geda-gaf-1.8.2/0000775000175000017500000000000012220655773010171 500000000000000geda-gaf-1.8.2/version.h.in0000664000175000017500000000045112050461155012342 00000000000000/* Date part of package version string. */ /* #undef PACKAGE_DATE_VERSION */ /* Dotted part of package version string. */ /* #undef PACKAGE_DOTTED_VERSION */ /* Current git commit. */ /* #undef PACKAGE_GIT_COMMIT */ /* Current 'git describe' version string. */ /* #undef PACKAGE_GIT_VERSION */ geda-gaf-1.8.2/config.h.in0000664000175000017500000003475312220655746012150 00000000000000/* config.h.in. Generated from configure.ac by autoheader. */ /* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP systems. This function is required for `alloca.c' support on those systems. */ #undef CRAY_STACKSEG_END /* Define to 1 if using `alloca.c'. */ #undef C_ALLOCA /* Define to 1 if translation of program messages to the user's native language is requested. */ #undef ENABLE_NLS /* Define to gEDA/gaf shared data directory. Only libgeda should use this - apps should use s_path_sys_data() */ #undef GEDADATADIR /* Define to gEDA/gaf rc directory if different from GEDADATADIR. Only libgeda should use this - apps should use s_path_sys_config() */ #undef GEDARCDIR /* Define to 1 if GLib assertions should be disabled. */ #undef G_DISABLE_ASSERT /* Define to 1 if you have `alloca', as a function or macro. */ #undef HAVE_ALLOCA /* Define to 1 if you have and it should be used (not on Ultrix). */ #undef HAVE_ALLOCA_H /* Define to 1 if you have the `argz_count' function. */ #undef HAVE_ARGZ_COUNT /* Define to 1 if you have the header file. */ #undef HAVE_ARGZ_H /* Define to 1 if you have the `argz_next' function. */ #undef HAVE_ARGZ_NEXT /* Define to 1 if you have the `argz_stringify' function. */ #undef HAVE_ARGZ_STRINGIFY /* Define to 1 if you have the `asprintf' function. */ #undef HAVE_ASPRINTF /* Define to 1 if the compiler understands __builtin_expect. */ #undef HAVE_BUILTIN_EXPECT /* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework. */ #undef HAVE_CFLOCALECOPYCURRENT /* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework. */ #undef HAVE_CFPREFERENCESCOPYAPPVALUE /* Define to 1 if you have the `chown' function. */ #undef HAVE_CHOWN /* Define if the GNU dcgettext() function is already present or preinstalled. */ #undef HAVE_DCGETTEXT /* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_FEOF_UNLOCKED /* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_FGETS_UNLOCKED /* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_GETC_UNLOCKED /* Define to 1 if you have the declaration of `_snprintf', and to 0 if you don't. */ #undef HAVE_DECL__SNPRINTF /* Define to 1 if you have the declaration of `_snwprintf', and to 0 if you don't. */ #undef HAVE_DECL__SNWPRINTF /* Define to 1 if you have the header file. */ #undef HAVE_DLFCN_H /* Define to 1 if you have the header file. */ #undef HAVE_ERRNO_H /* Define to 1 if you have the header file. */ #undef HAVE_FCNTL_H /* Define to 1 if you have the `fwprintf' function. */ #undef HAVE_FWPRINTF /* Define to 1 if you have the `getcwd' function. */ #undef HAVE_GETCWD /* Define to 1 if you have the `getegid' function. */ #undef HAVE_GETEGID /* Define to 1 if you have the `geteuid' function. */ #undef HAVE_GETEUID /* Define to 1 if you have the `getgid' function. */ #undef HAVE_GETGID /* Define to 1 if you have the `getlogin' function. */ #undef HAVE_GETLOGIN /* Define to 1 if you have the header file. */ #undef HAVE_GETOPT_H /* Define to 1 if you have the `getopt_long' function. */ #undef HAVE_GETOPT_LONG /* Define to 1 if you have the `getpagesize' function. */ #undef HAVE_GETPAGESIZE /* Define if the GNU gettext() function is already present or preinstalled. */ #undef HAVE_GETTEXT /* Define to 1 if you have the `getuid' function. */ #undef HAVE_GETUID /* Define if you have the iconv() function. */ #undef HAVE_ICONV /* Define if you have the 'intmax_t' type in or . */ #undef HAVE_INTMAX_T /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H /* Define if exists, doesn't clash with , and declares uintmax_t. */ #undef HAVE_INTTYPES_H_WITH_UINTMAX /* Define if you have and nl_langinfo(CODESET). */ #undef HAVE_LANGINFO_CODESET /* Define if your file defines LC_MESSAGES. */ #undef HAVE_LC_MESSAGES /* Define to 1 if you have the `m' library (-lm). */ #undef HAVE_LIBM /* Define to 1 if libstroke is available */ #undef HAVE_LIBSTROKE /* Define to 1 if you have the header file. */ #undef HAVE_LIMITS_H /* Define to 1 if you have the header file. */ #undef HAVE_LOCALE_H /* Define if you have the 'long double' type. */ #undef HAVE_LONG_DOUBLE /* Define to 1 if the system has the type `long long int'. */ #undef HAVE_LONG_LONG_INT /* If your math library has lrint in it, define this */ #undef HAVE_LRINT /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H /* Define to 1 if you have the `mempcpy' function. */ #undef HAVE_MEMPCPY /* Define to 1 if you have a working `mmap' system call. */ #undef HAVE_MMAP /* Define to 1 if you have the `munmap' function. */ #undef HAVE_MUNMAP /* Define if you have and it defines the NL_LOCALE_NAME macro if _GNU_SOURCE is defined. */ #undef HAVE_NL_LOCALE_NAME /* Define if your printf() function supports format strings with positions. */ #undef HAVE_POSIX_PRINTF /* Define if the defines PTHREAD_MUTEX_RECURSIVE. */ #undef HAVE_PTHREAD_MUTEX_RECURSIVE /* Define if the POSIX multithreading library has read/write locks. */ #undef HAVE_PTHREAD_RWLOCK /* Define to 1 if you have the `putenv' function. */ #undef HAVE_PUTENV /* Define to 1 if scm_display_error expects a frame as first argument. */ #undef HAVE_SCM_DISPLAY_ERROR_FRAME /* Define to 1 if scm_display_error expects a stack as first argument. */ #undef HAVE_SCM_DISPLAY_ERROR_STACK /* Define to 1 if you have the `scm_from_utf8_string' function. */ #undef HAVE_SCM_FROM_UTF8_STRING /* Define to 1 if you have the `scm_from_utf8_stringn' function. */ #undef HAVE_SCM_FROM_UTF8_STRINGN /* Define to 1 if you have the `scm_from_utf8_symbol' function. */ #undef HAVE_SCM_FROM_UTF8_SYMBOL /* Define to 1 if you have the `scm_from_utf8_symboln' function. */ #undef HAVE_SCM_FROM_UTF8_SYMBOLN /* Define to 1 if you have the `scm_to_utf8_string' function. */ #undef HAVE_SCM_TO_UTF8_STRING /* Define to 1 if you have the `scm_to_utf8_stringn' function. */ #undef HAVE_SCM_TO_UTF8_STRINGN /* Define to 1 if you have the `setenv' function. */ #undef HAVE_SETENV /* Define to 1 if you have the `setlocale' function. */ #undef HAVE_SETLOCALE /* Define to 1 if you have the `snprintf' function. */ #undef HAVE_SNPRINTF /* Define to 1 if you have the header file. */ #undef HAVE_STDDEF_H /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H /* Define if exists, doesn't clash with , and declares uintmax_t. */ #undef HAVE_STDINT_H_WITH_UINTMAX /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the `stpcpy' function. */ #undef HAVE_STPCPY /* Define to 1 if you have the `strcasecmp' function. */ #undef HAVE_STRCASECMP /* Define to 1 if you have the `strdup' function. */ #undef HAVE_STRDUP /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H /* Define to 1 if you have the `strtoul' function. */ #undef HAVE_STRTOUL /* Define to 1 if you have the header file. */ #undef HAVE_SYS_PARAM_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if you have that is POSIX.1 compatible. */ #undef HAVE_SYS_WAIT_H /* Define to 1 if you have the `tsearch' function. */ #undef HAVE_TSEARCH /* Define if you have the 'uintmax_t' type in or . */ #undef HAVE_UINTMAX_T /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H /* Define if you have the 'unsigned long long' type. */ #undef HAVE_UNSIGNED_LONG_LONG /* Define to 1 if the system has the type `unsigned long long int'. */ #undef HAVE_UNSIGNED_LONG_LONG_INT /* Define to 1 or 0, depending whether the compiler supports simple visibility declarations. */ #undef HAVE_VISIBILITY /* Define if you have the 'wchar_t' type. */ #undef HAVE_WCHAR_T /* Define to 1 if you have the `wcslen' function. */ #undef HAVE_WCSLEN /* Define if you have the 'wint_t' type. */ #undef HAVE_WINT_T /* Define to 1 if you have the `__fsetlocking' function. */ #undef HAVE___FSETLOCKING /* Define as const if the declaration of iconv() needs const. */ #undef ICONV_CONST /* Define if integer division by zero raises signal SIGFPE. */ #undef INTDIV0_RAISES_SIGFPE /* "Name of libgeda's gettext domain." */ #undef LIBGEDA_GETTEXT_DOMAIN /* Define to the sub-directory in which libtool stores uninstalled libraries. */ #undef LT_OBJDIR /* Define to 1 if assertions should be disabled. */ #undef NDEBUG /* Define to 1 if your C compiler doesn't accept -c and -o together. */ #undef NO_MINUS_C_MINUS_O /* Define to 1 if on Mac OS X Carbon. */ #undef OS_CARBON /* Define to 1 if on Cygwin. */ #undef OS_CYGWIN /* Define to 1 if on Linux. */ #undef OS_LINUX /* Define to 1 if on Windows. */ #undef OS_WIN32 /* Define to 1 if on native Windows. */ #undef OS_WIN32_NATIVE /* Name of package */ #undef PACKAGE /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the home page for this package. */ #undef PACKAGE_URL /* Define to the version of this package. */ #undef PACKAGE_VERSION /* Define if exists and defines unusable PRI* macros. */ #undef PRI_MACROS_BROKEN /* Define if the pthread_in_use() detection is hard. */ #undef PTHREAD_IN_USE_DETECTION_HARD /* Command to launch default application for a URI. */ #undef SHOW_URI_COMMAND /* Define to 1 if GIO should be used to launch a default application for a URI. */ #undef SHOW_URI_GIO /* Define as the maximum value of type 'size_t', if the system doesn't define it. */ #undef SIZE_MAX /* If using the C implementation of alloca, define if you know the direction of stack growth for your system; otherwise it will be automatically deduced at runtime. STACK_DIRECTION > 0 => grows toward higher addresses STACK_DIRECTION < 0 => grows toward lower addresses STACK_DIRECTION = 0 => direction of growth unknown */ #undef STACK_DIRECTION /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* Define if the POSIX multithreading library can be used. */ #undef USE_POSIX_THREADS /* Define if references to the POSIX multithreading library should be made weak. */ #undef USE_POSIX_THREADS_WEAK /* Define if the GNU Pth multithreading library can be used. */ #undef USE_PTH_THREADS /* Define if references to the GNU Pth multithreading library should be made weak. */ #undef USE_PTH_THREADS_WEAK /* Define if the old Solaris multithreading library can be used. */ #undef USE_SOLARIS_THREADS /* Define if references to the old Solaris multithreading library should be made weak. */ #undef USE_SOLARIS_THREADS_WEAK /* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # undef _ALL_SOURCE #endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # undef _GNU_SOURCE #endif /* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # undef _POSIX_PTHREAD_SEMANTICS #endif /* Enable extensions on HP NonStop. */ #ifndef _TANDEM_SOURCE # undef _TANDEM_SOURCE #endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # undef __EXTENSIONS__ #endif /* Define if the Win32 multithreading API can be used. */ #undef USE_WIN32_THREADS /* Version number of package */ #undef VERSION /* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a `char[]'. */ #undef YYTEXT_POINTER /* Define to 1 if on MINIX. */ #undef _MINIX /* Define to 2 if the system does not provide POSIX.1 features except with this defined. */ #undef _POSIX_1_SOURCE /* Define to 1 if you need to in order for `stat' and other things to work. */ #undef _POSIX_SOURCE /* Define to `__inline__' or `__inline' if that's what the C compiler calls it, or to nothing if 'inline' is not supported under any name. */ #ifndef __cplusplus #undef inline #endif /* Define as the type of the result of subtracting two pointers, if the system doesn't define it. */ #undef ptrdiff_t /* Define to `unsigned int' if does not define. */ #undef size_t /* Define to unsigned long or unsigned long long if and don't define. */ #undef uintmax_t #define __libc_lock_t gl_lock_t #define __libc_lock_define gl_lock_define #define __libc_lock_define_initialized gl_lock_define_initialized #define __libc_lock_init gl_lock_init #define __libc_lock_lock gl_lock_lock #define __libc_lock_unlock gl_lock_unlock #define __libc_lock_recursive_t gl_recursive_lock_t #define __libc_lock_define_recursive gl_recursive_lock_define #define __libc_lock_define_initialized_recursive gl_recursive_lock_define_initialized #define __libc_lock_init_recursive gl_recursive_lock_init #define __libc_lock_lock_recursive gl_recursive_lock_lock #define __libc_lock_unlock_recursive gl_recursive_lock_unlock #define glthread_in_use libintl_thread_in_use #define glthread_lock_init libintl_lock_init #define glthread_lock_lock libintl_lock_lock #define glthread_lock_unlock libintl_lock_unlock #define glthread_lock_destroy libintl_lock_destroy #define glthread_rwlock_init libintl_rwlock_init #define glthread_rwlock_rdlock libintl_rwlock_rdlock #define glthread_rwlock_wrlock libintl_rwlock_wrlock #define glthread_rwlock_unlock libintl_rwlock_unlock #define glthread_rwlock_destroy libintl_rwlock_destroy #define glthread_recursive_lock_init libintl_recursive_lock_init #define glthread_recursive_lock_lock libintl_recursive_lock_lock #define glthread_recursive_lock_unlock libintl_recursive_lock_unlock #define glthread_recursive_lock_destroy libintl_recursive_lock_destroy #define glthread_once libintl_once #define glthread_once_call libintl_once_call #define glthread_once_singlethreaded libintl_once_singlethreaded geda-gaf-1.8.2/missing.h0000664000175000017500000000255412063576065011742 00000000000000 /* This file contains preprocessor macros which provide substitutes * for missing functions or other definitions based on the results of * configure. */ /* We need to be able to pass UTF-8 strings to and from libguile. The * most forward-compatible way to do this is to explicitly use the * "utf8" API for doing so, but this API is only available from Guile * 2.0 onwards. * * In Guile 2.0 there is a similar "locale" API which encodes/decodes * strings differently based on the locale, so we need to avoid it in * case the user decides to set a non-UTF-8 locale. However, the * "locale" API *is* present in Guile 1.8, in which it doesn't attempt * to encode/decode the strings its passed, so we can use it as a * direct replacement for the "utf8" API. * * Confused yet? */ #ifndef HAVE_SCM_FROM_UTF8_STRINGN # define scm_from_utf8_stringn scm_from_locale_stringn #endif #ifndef HAVE_SCM_FROM_UTF8_STRING # define scm_from_utf8_string(x) scm_from_utf8_stringn ((x), -1) #endif #ifndef HAVE_SCM_TO_UTF8_STRINGN # define scm_to_utf8_stringn scm_to_locale_stringn #endif #ifndef HAVE_SCM_TO_UTF8_STRING # define scm_to_utf8_string(x) scm_to_utf8_stringn ((x), NULL) #endif #ifndef HAVE_SCM_FROM_UTF8_SYMBOLN # define scm_from_utf8_symboln scm_from_locale_symboln #endif #ifndef HAVE_SCM_FROM_UTF8_SYMBOL # define scm_from_utf8_symbol scm_from_locale_symbol #endif geda-gaf-1.8.2/intl/0000775000175000017500000000000012220655747011140 500000000000000geda-gaf-1.8.2/intl/plural-exp.h0000664000175000017500000001000112050467633013306 00000000000000/* Expression parsing and evaluation for plural form selection. Copyright (C) 2000-2003, 2005 Free Software Foundation, Inc. Written by Ulrich Drepper , 2000. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _PLURAL_EXP_H #define _PLURAL_EXP_H #ifndef internal_function # define internal_function #endif #ifndef attribute_hidden # define attribute_hidden #endif /* This is the representation of the expressions to determine the plural form. */ struct expression { int nargs; /* Number of arguments. */ enum operator { /* Without arguments: */ var, /* The variable "n". */ num, /* Decimal number. */ /* Unary operators: */ lnot, /* Logical NOT. */ /* Binary operators: */ mult, /* Multiplication. */ divide, /* Division. */ module, /* Modulo operation. */ plus, /* Addition. */ minus, /* Subtraction. */ less_than, /* Comparison. */ greater_than, /* Comparison. */ less_or_equal, /* Comparison. */ greater_or_equal, /* Comparison. */ equal, /* Comparison for equality. */ not_equal, /* Comparison for inequality. */ land, /* Logical AND. */ lor, /* Logical OR. */ /* Ternary operators: */ qmop /* Question mark operator. */ } operation; union { unsigned long int num; /* Number value for `num'. */ struct expression *args[3]; /* Up to three arguments. */ } val; }; /* This is the data structure to pass information to the parser and get the result in a thread-safe way. */ struct parse_args { const char *cp; struct expression *res; }; /* Names for the libintl functions are a problem. This source code is used 1. in the GNU C Library library, 2. in the GNU libintl library, 3. in the GNU gettext tools. The function names in each situation must be different, to allow for binary incompatible changes in 'struct expression'. Furthermore, 1. in the GNU C Library library, the names have a __ prefix, 2.+3. in the GNU libintl library and in the GNU gettext tools, the names must follow ANSI C and not start with __. So we have to distinguish the three cases. */ #ifdef _LIBC # define FREE_EXPRESSION __gettext_free_exp # define PLURAL_PARSE __gettextparse # define GERMANIC_PLURAL __gettext_germanic_plural # define EXTRACT_PLURAL_EXPRESSION __gettext_extract_plural #elif defined (IN_LIBINTL) # define FREE_EXPRESSION libintl_gettext_free_exp # define PLURAL_PARSE libintl_gettextparse # define GERMANIC_PLURAL libintl_gettext_germanic_plural # define EXTRACT_PLURAL_EXPRESSION libintl_gettext_extract_plural #else # define FREE_EXPRESSION free_plural_expression # define PLURAL_PARSE parse_plural_expression # define GERMANIC_PLURAL germanic_plural # define EXTRACT_PLURAL_EXPRESSION extract_plural_expression #endif extern void FREE_EXPRESSION (struct expression *exp) internal_function; extern int PLURAL_PARSE (void *arg); extern struct expression GERMANIC_PLURAL attribute_hidden; extern void EXTRACT_PLURAL_EXPRESSION (const char *nullentry, struct expression **pluralp, unsigned long int *npluralsp) internal_function; #if !defined (_LIBC) && !defined (IN_LIBINTL) && !defined (IN_LIBGLOCALE) extern unsigned long int plural_eval (struct expression *pexp, unsigned long int n); #endif #endif /* _PLURAL_EXP_H */ geda-gaf-1.8.2/intl/gettext.c0000664000175000017500000000355412050467633012713 00000000000000/* Implementation of gettext(3) function. Copyright (C) 1995, 1997, 2000-2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifdef HAVE_CONFIG_H # include #endif #ifdef _LIBC # define __need_NULL # include #else # include /* Just for NULL. */ #endif #include "gettextP.h" #ifdef _LIBC # include #else # include "libgnuintl.h" #endif /* @@ end of prolog @@ */ /* Names for the libintl functions are a problem. They must not clash with existing names and they should follow ANSI C. But this source code is also used in GNU C Library where the names have a __ prefix. So we have to make a difference here. */ #ifdef _LIBC # define GETTEXT __gettext # define DCGETTEXT INTUSE(__dcgettext) #else # define GETTEXT libintl_gettext # define DCGETTEXT libintl_dcgettext #endif /* Look up MSGID in the current default message catalog for the current LC_MESSAGES locale. If not found, returns MSGID itself (the default text). */ char * GETTEXT (const char *msgid) { return DCGETTEXT (NULL, msgid, LC_MESSAGES); } #ifdef _LIBC /* Alias for function name in GNU C Library. */ weak_alias (__gettext, gettext); #endif geda-gaf-1.8.2/intl/VERSION0000664000175000017500000000004612050467633012124 00000000000000GNU gettext library from gettext-0.16 geda-gaf-1.8.2/intl/dcigettext.c0000664000175000017500000013232612050467633013373 00000000000000/* Implementation of the internal dcigettext function. Copyright (C) 1995-1999, 2000-2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* Tell glibc's to provide a prototype for mempcpy(). This must come before because may include , and once has been included, it's too late. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif #ifdef HAVE_CONFIG_H # include #endif /* NL_LOCALE_NAME does not work in glibc-2.4. Ignore it. */ #undef HAVE_NL_LOCALE_NAME #include #ifdef __GNUC__ # define alloca __builtin_alloca # define HAVE_ALLOCA 1 #else # ifdef _MSC_VER # include # define alloca _alloca # else # if defined HAVE_ALLOCA_H || defined _LIBC # include # else # ifdef _AIX #pragma alloca # else # ifndef alloca char *alloca (); # endif # endif # endif # endif #endif #include #ifndef errno extern int errno; #endif #ifndef __set_errno # define __set_errno(val) errno = (val) #endif #include #include #include #if defined HAVE_UNISTD_H || defined _LIBC # include #endif #include #ifdef _LIBC /* Guess whether integer division by zero raises signal SIGFPE. Set to 1 only if you know for sure. In case of doubt, set to 0. */ # if defined __alpha__ || defined __arm__ || defined __i386__ \ || defined __m68k__ || defined __s390__ # define INTDIV0_RAISES_SIGFPE 1 # else # define INTDIV0_RAISES_SIGFPE 0 # endif #endif #if !INTDIV0_RAISES_SIGFPE # include #endif #if defined HAVE_SYS_PARAM_H || defined _LIBC # include #endif #if !defined _LIBC && HAVE_NL_LOCALE_NAME # include #endif #include "gettextP.h" #include "plural-exp.h" #ifdef _LIBC # include #else # ifdef IN_LIBGLOCALE # include # endif # include "libgnuintl.h" #endif #include "hash-string.h" /* Handle multi-threaded applications. */ #ifdef _LIBC # include # define gl_rwlock_define_initialized __libc_rwlock_define_initialized # define gl_rwlock_rdlock __libc_rwlock_rdlock # define gl_rwlock_wrlock __libc_rwlock_wrlock # define gl_rwlock_unlock __libc_rwlock_unlock #else # include "lock.h" #endif /* Alignment of types. */ #if defined __GNUC__ && __GNUC__ >= 2 # define alignof(TYPE) __alignof__ (TYPE) #else # define alignof(TYPE) \ ((int) &((struct { char dummy1; TYPE dummy2; } *) 0)->dummy2) #endif /* The internal variables in the standalone libintl.a must have different names than the internal variables in GNU libc, otherwise programs using libintl.a cannot be linked statically. */ #if !defined _LIBC # define _nl_default_default_domain libintl_nl_default_default_domain # define _nl_current_default_domain libintl_nl_current_default_domain # define _nl_default_dirname libintl_nl_default_dirname # define _nl_domain_bindings libintl_nl_domain_bindings #endif /* Some compilers, like SunOS4 cc, don't have offsetof in . */ #ifndef offsetof # define offsetof(type,ident) ((size_t)&(((type*)0)->ident)) #endif /* @@ end of prolog @@ */ #ifdef _LIBC /* Rename the non ANSI C functions. This is required by the standard because some ANSI C functions will require linking with this object file and the name space must not be polluted. */ # define getcwd __getcwd # ifndef stpcpy # define stpcpy __stpcpy # endif # define tfind __tfind #else # if !defined HAVE_GETCWD char *getwd (); # define getcwd(buf, max) getwd (buf) # else # if VMS # define getcwd(buf, max) (getcwd) (buf, max, 0) # else char *getcwd (); # endif # endif # ifndef HAVE_STPCPY static char *stpcpy (char *dest, const char *src); # endif # ifndef HAVE_MEMPCPY static void *mempcpy (void *dest, const void *src, size_t n); # endif #endif /* Amount to increase buffer size by in each try. */ #define PATH_INCR 32 /* The following is from pathmax.h. */ /* Non-POSIX BSD systems might have gcc's limits.h, which doesn't define PATH_MAX but might cause redefinition warnings when sys/param.h is later included (as on MORE/BSD 4.3). */ #if defined _POSIX_VERSION || (defined HAVE_LIMITS_H && !defined __GNUC__) # include #endif #ifndef _POSIX_PATH_MAX # define _POSIX_PATH_MAX 255 #endif #if !defined PATH_MAX && defined _PC_PATH_MAX # define PATH_MAX (pathconf ("/", _PC_PATH_MAX) < 1 ? 1024 : pathconf ("/", _PC_PATH_MAX)) #endif /* Don't include sys/param.h if it already has been. */ #if defined HAVE_SYS_PARAM_H && !defined PATH_MAX && !defined MAXPATHLEN # include #endif #if !defined PATH_MAX && defined MAXPATHLEN # define PATH_MAX MAXPATHLEN #endif #ifndef PATH_MAX # define PATH_MAX _POSIX_PATH_MAX #endif /* Pathname support. ISSLASH(C) tests whether C is a directory separator character. IS_ABSOLUTE_PATH(P) tests whether P is an absolute path. If it is not, it may be concatenated to a directory pathname. IS_PATH_WITH_DIR(P) tests whether P contains a directory specification. */ #if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__ /* Win32, Cygwin, OS/2, DOS */ # define ISSLASH(C) ((C) == '/' || (C) == '\\') # define HAS_DEVICE(P) \ ((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \ && (P)[1] == ':') # define IS_ABSOLUTE_PATH(P) (ISSLASH ((P)[0]) || HAS_DEVICE (P)) # define IS_PATH_WITH_DIR(P) \ (strchr (P, '/') != NULL || strchr (P, '\\') != NULL || HAS_DEVICE (P)) #else /* Unix */ # define ISSLASH(C) ((C) == '/') # define IS_ABSOLUTE_PATH(P) ISSLASH ((P)[0]) # define IS_PATH_WITH_DIR(P) (strchr (P, '/') != NULL) #endif /* Whether to support different locales in different threads. */ #if defined _LIBC || HAVE_NL_LOCALE_NAME || (HAVE_STRUCT___LOCALE_STRUCT___NAMES && defined USE_IN_GETTEXT_TESTS) || defined IN_LIBGLOCALE # define HAVE_PER_THREAD_LOCALE #endif /* This is the type used for the search tree where known translations are stored. */ struct known_translation_t { /* Domain in which to search. */ const char *domainname; /* The category. */ int category; #ifdef HAVE_PER_THREAD_LOCALE /* Name of the relevant locale category, or "" for the global locale. */ const char *localename; #endif #ifdef IN_LIBGLOCALE /* The character encoding. */ const char *encoding; #endif /* State of the catalog counter at the point the string was found. */ int counter; /* Catalog where the string was found. */ struct loaded_l10nfile *domain; /* And finally the translation. */ const char *translation; size_t translation_length; /* Pointer to the string in question. */ char msgid[ZERO]; }; /* Root of the search tree with known translations. We can use this only if the system provides the `tsearch' function family. */ #if defined HAVE_TSEARCH || defined _LIBC # include gl_rwlock_define_initialized (static, tree_lock) static void *root; # ifdef _LIBC # define tsearch __tsearch # endif /* Function to compare two entries in the table of known translations. */ static int transcmp (const void *p1, const void *p2) { const struct known_translation_t *s1; const struct known_translation_t *s2; int result; s1 = (const struct known_translation_t *) p1; s2 = (const struct known_translation_t *) p2; result = strcmp (s1->msgid, s2->msgid); if (result == 0) { result = strcmp (s1->domainname, s2->domainname); if (result == 0) { #ifdef HAVE_PER_THREAD_LOCALE result = strcmp (s1->localename, s2->localename); if (result == 0) #endif { #ifdef IN_LIBGLOCALE result = strcmp (s1->encoding, s2->encoding); if (result == 0) #endif /* We compare the category last (though this is the cheapest operation) since it is hopefully always the same (namely LC_MESSAGES). */ result = s1->category - s2->category; } } } return result; } #endif /* Name of the default domain used for gettext(3) prior any call to textdomain(3). The default value for this is "messages". */ const char _nl_default_default_domain[] attribute_hidden = "messages"; #ifndef IN_LIBGLOCALE /* Value used as the default domain for gettext(3). */ const char *_nl_current_default_domain attribute_hidden = _nl_default_default_domain; #endif /* Contains the default location of the message catalogs. */ #if defined __EMX__ extern const char _nl_default_dirname[]; #else # ifdef _LIBC extern const char _nl_default_dirname[]; libc_hidden_proto (_nl_default_dirname) # endif const char _nl_default_dirname[] = LOCALEDIR; # ifdef _LIBC libc_hidden_data_def (_nl_default_dirname) # endif #endif #ifndef IN_LIBGLOCALE /* List with bindings of specific domains created by bindtextdomain() calls. */ struct binding *_nl_domain_bindings; #endif /* Prototypes for local functions. */ static char *plural_lookup (struct loaded_l10nfile *domain, unsigned long int n, const char *translation, size_t translation_len) internal_function; #ifdef IN_LIBGLOCALE static const char *guess_category_value (int category, const char *categoryname, const char *localename) internal_function; #else static const char *guess_category_value (int category, const char *categoryname) internal_function; #endif #ifdef _LIBC # include "../locale/localeinfo.h" # define category_to_name(category) \ _nl_category_names.str + _nl_category_name_idxs[category] #else static const char *category_to_name (int category) internal_function; #endif #if (defined _LIBC || HAVE_ICONV) && !defined IN_LIBGLOCALE static const char *get_output_charset (struct binding *domainbinding) internal_function; #endif /* For those loosing systems which don't have `alloca' we have to add some additional code emulating it. */ #ifdef HAVE_ALLOCA /* Nothing has to be done. */ # define freea(p) /* nothing */ # define ADD_BLOCK(list, address) /* nothing */ # define FREE_BLOCKS(list) /* nothing */ #else struct block_list { void *address; struct block_list *next; }; # define ADD_BLOCK(list, addr) \ do { \ struct block_list *newp = (struct block_list *) malloc (sizeof (*newp)); \ /* If we cannot get a free block we cannot add the new element to \ the list. */ \ if (newp != NULL) { \ newp->address = (addr); \ newp->next = (list); \ (list) = newp; \ } \ } while (0) # define FREE_BLOCKS(list) \ do { \ while (list != NULL) { \ struct block_list *old = list; \ list = list->next; \ free (old->address); \ free (old); \ } \ } while (0) # undef alloca # define alloca(size) (malloc (size)) # define freea(p) free (p) #endif /* have alloca */ #ifdef _LIBC /* List of blocks allocated for translations. */ typedef struct transmem_list { struct transmem_list *next; char data[ZERO]; } transmem_block_t; static struct transmem_list *transmem_list; #else typedef unsigned char transmem_block_t; #endif /* Names for the libintl functions are a problem. They must not clash with existing names and they should follow ANSI C. But this source code is also used in GNU C Library where the names have a __ prefix. So we have to make a difference here. */ #ifdef _LIBC # define DCIGETTEXT __dcigettext #else # define DCIGETTEXT libintl_dcigettext #endif /* Lock variable to protect the global data in the gettext implementation. */ gl_rwlock_define_initialized (, _nl_state_lock attribute_hidden) /* Checking whether the binaries runs SUID must be done and glibc provides easier methods therefore we make a difference here. */ #ifdef _LIBC # define ENABLE_SECURE __libc_enable_secure # define DETERMINE_SECURE #else # ifndef HAVE_GETUID # define getuid() 0 # endif # ifndef HAVE_GETGID # define getgid() 0 # endif # ifndef HAVE_GETEUID # define geteuid() getuid() # endif # ifndef HAVE_GETEGID # define getegid() getgid() # endif static int enable_secure; # define ENABLE_SECURE (enable_secure == 1) # define DETERMINE_SECURE \ if (enable_secure == 0) \ { \ if (getuid () != geteuid () || getgid () != getegid ()) \ enable_secure = 1; \ else \ enable_secure = -1; \ } #endif /* Get the function to evaluate the plural expression. */ #include "eval-plural.h" /* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY locale and, if PLURAL is nonzero, search over string depending on the plural form determined by N. */ #ifdef IN_LIBGLOCALE char * gl_dcigettext (const char *domainname, const char *msgid1, const char *msgid2, int plural, unsigned long int n, int category, const char *localename, const char *encoding) #else char * DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2, int plural, unsigned long int n, int category) #endif { #ifndef HAVE_ALLOCA struct block_list *block_list = NULL; #endif struct loaded_l10nfile *domain; struct binding *binding; const char *categoryname; const char *categoryvalue; const char *dirname; char *xdomainname; char *single_locale; char *retval; size_t retlen; int saved_errno; #if defined HAVE_TSEARCH || defined _LIBC struct known_translation_t *search; struct known_translation_t **foundp = NULL; size_t msgid_len; # if defined HAVE_PER_THREAD_LOCALE && !defined IN_LIBGLOCALE const char *localename; # endif #endif size_t domainname_len; /* If no real MSGID is given return NULL. */ if (msgid1 == NULL) return NULL; #ifdef _LIBC if (category < 0 || category >= __LC_LAST || category == LC_ALL) /* Bogus. */ return (plural == 0 ? (char *) msgid1 /* Use the Germanic plural rule. */ : n == 1 ? (char *) msgid1 : (char *) msgid2); #endif gl_rwlock_rdlock (_nl_state_lock); /* If DOMAINNAME is NULL, we are interested in the default domain. If CATEGORY is not LC_MESSAGES this might not make much sense but the definition left this undefined. */ if (domainname == NULL) domainname = _nl_current_default_domain; /* OS/2 specific: backward compatibility with older libintl versions */ #ifdef LC_MESSAGES_COMPAT if (category == LC_MESSAGES_COMPAT) category = LC_MESSAGES; #endif #if defined HAVE_TSEARCH || defined _LIBC msgid_len = strlen (msgid1) + 1; /* Try to find the translation among those which we found at some time. */ search = (struct known_translation_t *) alloca (offsetof (struct known_translation_t, msgid) + msgid_len); memcpy (search->msgid, msgid1, msgid_len); search->domainname = domainname; search->category = category; # ifdef HAVE_PER_THREAD_LOCALE # ifndef IN_LIBGLOCALE # ifdef _LIBC localename = __current_locale_name (category); # else # if HAVE_NL_LOCALE_NAME /* NL_LOCALE_NAME is public glibc API introduced in glibc-2.4. */ localename = nl_langinfo (NL_LOCALE_NAME (category)); # else # if HAVE_STRUCT___LOCALE_STRUCT___NAMES && defined USE_IN_GETTEXT_TESTS /* The __names field is not public glibc API and must therefore not be used in code that is installed in public locations. */ { locale_t thread_locale = uselocale (NULL); if (thread_locale != LC_GLOBAL_LOCALE) localename = thread_locale->__names[category]; else localename = ""; } # endif # endif # endif # endif search->localename = localename; # ifdef IN_LIBGLOCALE search->encoding = encoding; # endif # endif /* Since tfind/tsearch manage a balanced tree, concurrent tfind and tsearch calls can be fatal. */ gl_rwlock_rdlock (tree_lock); foundp = (struct known_translation_t **) tfind (search, &root, transcmp); gl_rwlock_unlock (tree_lock); freea (search); if (foundp != NULL && (*foundp)->counter == _nl_msg_cat_cntr) { /* Now deal with plural. */ if (plural) retval = plural_lookup ((*foundp)->domain, n, (*foundp)->translation, (*foundp)->translation_length); else retval = (char *) (*foundp)->translation; gl_rwlock_unlock (_nl_state_lock); return retval; } #endif /* Preserve the `errno' value. */ saved_errno = errno; /* See whether this is a SUID binary or not. */ DETERMINE_SECURE; /* First find matching binding. */ #ifdef IN_LIBGLOCALE /* We can use a trivial binding, since _nl_find_msg will ignore it anyway, and _nl_load_domain and _nl_find_domain just pass it through. */ binding = NULL; dirname = bindtextdomain (domainname, NULL); #else for (binding = _nl_domain_bindings; binding != NULL; binding = binding->next) { int compare = strcmp (domainname, binding->domainname); if (compare == 0) /* We found it! */ break; if (compare < 0) { /* It is not in the list. */ binding = NULL; break; } } if (binding == NULL) dirname = _nl_default_dirname; else { dirname = binding->dirname; #endif if (!IS_ABSOLUTE_PATH (dirname)) { /* We have a relative path. Make it absolute now. */ size_t dirname_len = strlen (dirname) + 1; size_t path_max; char *resolved_dirname; char *ret; path_max = (unsigned int) PATH_MAX; path_max += 2; /* The getcwd docs say to do this. */ for (;;) { resolved_dirname = (char *) alloca (path_max + dirname_len); ADD_BLOCK (block_list, tmp_dirname); __set_errno (0); ret = getcwd (resolved_dirname, path_max); if (ret != NULL || errno != ERANGE) break; path_max += path_max / 2; path_max += PATH_INCR; } if (ret == NULL) /* We cannot get the current working directory. Don't signal an error but simply return the default string. */ goto return_untranslated; stpcpy (stpcpy (strchr (resolved_dirname, '\0'), "/"), dirname); dirname = resolved_dirname; } #ifndef IN_LIBGLOCALE } #endif /* Now determine the symbolic name of CATEGORY and its value. */ categoryname = category_to_name (category); #ifdef IN_LIBGLOCALE categoryvalue = guess_category_value (category, categoryname, localename); #else categoryvalue = guess_category_value (category, categoryname); #endif domainname_len = strlen (domainname); xdomainname = (char *) alloca (strlen (categoryname) + domainname_len + 5); ADD_BLOCK (block_list, xdomainname); stpcpy (mempcpy (stpcpy (stpcpy (xdomainname, categoryname), "/"), domainname, domainname_len), ".mo"); /* Creating working area. */ single_locale = (char *) alloca (strlen (categoryvalue) + 1); ADD_BLOCK (block_list, single_locale); /* Search for the given string. This is a loop because we perhaps got an ordered list of languages to consider for the translation. */ while (1) { /* Make CATEGORYVALUE point to the next element of the list. */ while (categoryvalue[0] != '\0' && categoryvalue[0] == ':') ++categoryvalue; if (categoryvalue[0] == '\0') { /* The whole contents of CATEGORYVALUE has been searched but no valid entry has been found. We solve this situation by implicitly appending a "C" entry, i.e. no translation will take place. */ single_locale[0] = 'C'; single_locale[1] = '\0'; } else { char *cp = single_locale; while (categoryvalue[0] != '\0' && categoryvalue[0] != ':') *cp++ = *categoryvalue++; *cp = '\0'; /* When this is a SUID binary we must not allow accessing files outside the dedicated directories. */ if (ENABLE_SECURE && IS_PATH_WITH_DIR (single_locale)) /* Ingore this entry. */ continue; } /* If the current locale value is C (or POSIX) we don't load a domain. Return the MSGID. */ if (strcmp (single_locale, "C") == 0 || strcmp (single_locale, "POSIX") == 0) break; /* Find structure describing the message catalog matching the DOMAINNAME and CATEGORY. */ domain = _nl_find_domain (dirname, single_locale, xdomainname, binding); if (domain != NULL) { #if defined IN_LIBGLOCALE retval = _nl_find_msg (domain, binding, encoding, msgid1, &retlen); #else retval = _nl_find_msg (domain, binding, msgid1, 1, &retlen); #endif if (retval == NULL) { int cnt; for (cnt = 0; domain->successor[cnt] != NULL; ++cnt) { #if defined IN_LIBGLOCALE retval = _nl_find_msg (domain->successor[cnt], binding, encoding, msgid1, &retlen); #else retval = _nl_find_msg (domain->successor[cnt], binding, msgid1, 1, &retlen); #endif if (retval != NULL) { domain = domain->successor[cnt]; break; } } } /* Returning -1 means that some resource problem exists (likely memory) and that the strings could not be converted. Return the original strings. */ if (__builtin_expect (retval == (char *) -1, 0)) break; if (retval != NULL) { /* Found the translation of MSGID1 in domain DOMAIN: starting at RETVAL, RETLEN bytes. */ FREE_BLOCKS (block_list); #if defined HAVE_TSEARCH || defined _LIBC if (foundp == NULL) { /* Create a new entry and add it to the search tree. */ size_t size; struct known_translation_t *newp; size = offsetof (struct known_translation_t, msgid) + msgid_len + domainname_len + 1; # ifdef HAVE_PER_THREAD_LOCALE size += strlen (localename) + 1; # endif newp = (struct known_translation_t *) malloc (size); if (newp != NULL) { char *new_domainname; # ifdef HAVE_PER_THREAD_LOCALE char *new_localename; # endif new_domainname = mempcpy (newp->msgid, msgid1, msgid_len); memcpy (new_domainname, domainname, domainname_len + 1); # ifdef HAVE_PER_THREAD_LOCALE new_localename = new_domainname + domainname_len + 1; strcpy (new_localename, localename); # endif newp->domainname = new_domainname; newp->category = category; # ifdef HAVE_PER_THREAD_LOCALE newp->localename = new_localename; # endif # ifdef IN_LIBGLOCALE newp->encoding = encoding; # endif newp->counter = _nl_msg_cat_cntr; newp->domain = domain; newp->translation = retval; newp->translation_length = retlen; gl_rwlock_wrlock (tree_lock); /* Insert the entry in the search tree. */ foundp = (struct known_translation_t **) tsearch (newp, &root, transcmp); gl_rwlock_unlock (tree_lock); if (foundp == NULL || __builtin_expect (*foundp != newp, 0)) /* The insert failed. */ free (newp); } } else { /* We can update the existing entry. */ (*foundp)->counter = _nl_msg_cat_cntr; (*foundp)->domain = domain; (*foundp)->translation = retval; (*foundp)->translation_length = retlen; } #endif __set_errno (saved_errno); /* Now deal with plural. */ if (plural) retval = plural_lookup (domain, n, retval, retlen); gl_rwlock_unlock (_nl_state_lock); return retval; } } } return_untranslated: /* Return the untranslated MSGID. */ FREE_BLOCKS (block_list); gl_rwlock_unlock (_nl_state_lock); #ifndef _LIBC if (!ENABLE_SECURE) { extern void _nl_log_untranslated (const char *logfilename, const char *domainname, const char *msgid1, const char *msgid2, int plural); const char *logfilename = getenv ("GETTEXT_LOG_UNTRANSLATED"); if (logfilename != NULL && logfilename[0] != '\0') _nl_log_untranslated (logfilename, domainname, msgid1, msgid2, plural); } #endif __set_errno (saved_errno); return (plural == 0 ? (char *) msgid1 /* Use the Germanic plural rule. */ : n == 1 ? (char *) msgid1 : (char *) msgid2); } /* Look up the translation of msgid within DOMAIN_FILE and DOMAINBINDING. Return it if found. Return NULL if not found or in case of a conversion failure (problem in the particular message catalog). Return (char *) -1 in case of a memory allocation failure during conversion (only if ENCODING != NULL resp. CONVERT == true). */ char * internal_function #ifdef IN_LIBGLOCALE _nl_find_msg (struct loaded_l10nfile *domain_file, struct binding *domainbinding, const char *encoding, const char *msgid, size_t *lengthp) #else _nl_find_msg (struct loaded_l10nfile *domain_file, struct binding *domainbinding, const char *msgid, int convert, size_t *lengthp) #endif { struct loaded_domain *domain; nls_uint32 nstrings; size_t act; char *result; size_t resultlen; if (domain_file->decided <= 0) _nl_load_domain (domain_file, domainbinding); if (domain_file->data == NULL) return NULL; domain = (struct loaded_domain *) domain_file->data; nstrings = domain->nstrings; /* Locate the MSGID and its translation. */ if (domain->hash_tab != NULL) { /* Use the hashing table. */ nls_uint32 len = strlen (msgid); nls_uint32 hash_val = __hash_string (msgid); nls_uint32 idx = hash_val % domain->hash_size; nls_uint32 incr = 1 + (hash_val % (domain->hash_size - 2)); while (1) { nls_uint32 nstr = W (domain->must_swap_hash_tab, domain->hash_tab[idx]); if (nstr == 0) /* Hash table entry is empty. */ return NULL; nstr--; /* Compare msgid with the original string at index nstr. We compare the lengths with >=, not ==, because plural entries are represented by strings with an embedded NUL. */ if (nstr < nstrings ? W (domain->must_swap, domain->orig_tab[nstr].length) >= len && (strcmp (msgid, domain->data + W (domain->must_swap, domain->orig_tab[nstr].offset)) == 0) : domain->orig_sysdep_tab[nstr - nstrings].length > len && (strcmp (msgid, domain->orig_sysdep_tab[nstr - nstrings].pointer) == 0)) { act = nstr; goto found; } if (idx >= domain->hash_size - incr) idx -= domain->hash_size - incr; else idx += incr; } /* NOTREACHED */ } else { /* Try the default method: binary search in the sorted array of messages. */ size_t top, bottom; bottom = 0; top = nstrings; while (bottom < top) { int cmp_val; act = (bottom + top) / 2; cmp_val = strcmp (msgid, (domain->data + W (domain->must_swap, domain->orig_tab[act].offset))); if (cmp_val < 0) top = act; else if (cmp_val > 0) bottom = act + 1; else goto found; } /* No translation was found. */ return NULL; } found: /* The translation was found at index ACT. If we have to convert the string to use a different character set, this is the time. */ if (act < nstrings) { result = (char *) (domain->data + W (domain->must_swap, domain->trans_tab[act].offset)); resultlen = W (domain->must_swap, domain->trans_tab[act].length) + 1; } else { result = (char *) domain->trans_sysdep_tab[act - nstrings].pointer; resultlen = domain->trans_sysdep_tab[act - nstrings].length; } #if defined _LIBC || HAVE_ICONV # ifdef IN_LIBGLOCALE if (encoding != NULL) # else if (convert) # endif { /* We are supposed to do a conversion. */ # ifndef IN_LIBGLOCALE const char *encoding = get_output_charset (domainbinding); # endif /* Search whether a table with converted translations for this encoding has already been allocated. */ size_t nconversions = domain->nconversions; struct converted_domain *convd = NULL; size_t i; for (i = nconversions; i > 0; ) { i--; if (strcmp (domain->conversions[i].encoding, encoding) == 0) { convd = &domain->conversions[i]; break; } } if (convd == NULL) { /* Allocate a table for the converted translations for this encoding. */ struct converted_domain *new_conversions = (struct converted_domain *) (domain->conversions != NULL ? realloc (domain->conversions, (nconversions + 1) * sizeof (struct converted_domain)) : malloc ((nconversions + 1) * sizeof (struct converted_domain))); if (__builtin_expect (new_conversions == NULL, 0)) /* Nothing we can do, no more memory. We cannot use the translation because it might be encoded incorrectly. */ return (char *) -1; domain->conversions = new_conversions; /* Copy the 'encoding' string to permanent storage. */ encoding = strdup (encoding); if (__builtin_expect (encoding == NULL, 0)) /* Nothing we can do, no more memory. We cannot use the translation because it might be encoded incorrectly. */ return (char *) -1; convd = &new_conversions[nconversions]; convd->encoding = encoding; /* Find out about the character set the file is encoded with. This can be found (in textual form) in the entry "". If this entry does not exist or if this does not contain the 'charset=' information, we will assume the charset matches the one the current locale and we don't have to perform any conversion. */ # ifdef _LIBC convd->conv = (__gconv_t) -1; # else # if HAVE_ICONV convd->conv = (iconv_t) -1; # endif # endif { char *nullentry; size_t nullentrylen; /* Get the header entry. This is a recursion, but it doesn't reallocate domain->conversions because we pass encoding = NULL or convert = 0, respectively. */ nullentry = # ifdef IN_LIBGLOCALE _nl_find_msg (domain_file, domainbinding, NULL, "", &nullentrylen); # else _nl_find_msg (domain_file, domainbinding, "", 0, &nullentrylen); # endif if (nullentry != NULL) { const char *charsetstr; charsetstr = strstr (nullentry, "charset="); if (charsetstr != NULL) { size_t len; char *charset; const char *outcharset; charsetstr += strlen ("charset="); len = strcspn (charsetstr, " \t\n"); charset = (char *) alloca (len + 1); # if defined _LIBC || HAVE_MEMPCPY *((char *) mempcpy (charset, charsetstr, len)) = '\0'; # else memcpy (charset, charsetstr, len); charset[len] = '\0'; # endif outcharset = encoding; # ifdef _LIBC /* We always want to use transliteration. */ outcharset = norm_add_slashes (outcharset, "TRANSLIT"); charset = norm_add_slashes (charset, ""); int r = __gconv_open (outcharset, charset, &convd->conv, GCONV_AVOID_NOCONV); if (__builtin_expect (r != __GCONV_OK, 0)) { /* If the output encoding is the same there is nothing to do. Otherwise do not use the translation at all. */ if (__builtin_expect (r != __GCONV_NOCONV, 1)) return NULL; convd->conv = (__gconv_t) -1; } # else # if HAVE_ICONV /* When using GNU libc >= 2.2 or GNU libiconv >= 1.5, we want to use transliteration. */ # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) || __GLIBC__ > 2 \ || _LIBICONV_VERSION >= 0x0105 if (strchr (outcharset, '/') == NULL) { char *tmp; len = strlen (outcharset); tmp = (char *) alloca (len + 10 + 1); memcpy (tmp, outcharset, len); memcpy (tmp + len, "//TRANSLIT", 10 + 1); outcharset = tmp; convd->conv = iconv_open (outcharset, charset); freea (outcharset); } else # endif convd->conv = iconv_open (outcharset, charset); # endif # endif freea (charset); } } } convd->conv_tab = NULL; /* Here domain->conversions is still == new_conversions. */ domain->nconversions++; } if ( # ifdef _LIBC convd->conv != (__gconv_t) -1 # else # if HAVE_ICONV convd->conv != (iconv_t) -1 # endif # endif ) { /* We are supposed to do a conversion. First allocate an appropriate table with the same structure as the table of translations in the file, where we can put the pointers to the converted strings in. There is a slight complication with plural entries. They are represented by consecutive NUL terminated strings. We handle this case by converting RESULTLEN bytes, including NULs. */ if (convd->conv_tab == NULL && ((convd->conv_tab = (char **) calloc (nstrings + domain->n_sysdep_strings, sizeof (char *))) == NULL)) /* Mark that we didn't succeed allocating a table. */ convd->conv_tab = (char **) -1; if (__builtin_expect (convd->conv_tab == (char **) -1, 0)) /* Nothing we can do, no more memory. We cannot use the translation because it might be encoded incorrectly. */ return (char *) -1; if (convd->conv_tab[act] == NULL) { /* We haven't used this string so far, so it is not translated yet. Do this now. */ /* We use a bit more efficient memory handling. We allocate always larger blocks which get used over time. This is faster than many small allocations. */ __libc_lock_define_initialized (static, lock) # define INITIAL_BLOCK_SIZE 4080 static unsigned char *freemem; static size_t freemem_size; const unsigned char *inbuf; unsigned char *outbuf; int malloc_count; # ifndef _LIBC transmem_block_t *transmem_list = NULL; # endif __libc_lock_lock (lock); inbuf = (const unsigned char *) result; outbuf = freemem + sizeof (size_t); malloc_count = 0; while (1) { transmem_block_t *newmem; # ifdef _LIBC size_t non_reversible; int res; if (freemem_size < sizeof (size_t)) goto resize_freemem; res = __gconv (convd->conv, &inbuf, inbuf + resultlen, &outbuf, outbuf + freemem_size - sizeof (size_t), &non_reversible); if (res == __GCONV_OK || res == __GCONV_EMPTY_INPUT) break; if (res != __GCONV_FULL_OUTPUT) { /* We should not use the translation at all, it is incorrectly encoded. */ __libc_lock_unlock (lock); return NULL; } inbuf = (const unsigned char *) result; # else # if HAVE_ICONV const char *inptr = (const char *) inbuf; size_t inleft = resultlen; char *outptr = (char *) outbuf; size_t outleft; if (freemem_size < sizeof (size_t)) goto resize_freemem; outleft = freemem_size - sizeof (size_t); if (iconv (convd->conv, (ICONV_CONST char **) &inptr, &inleft, &outptr, &outleft) != (size_t) (-1)) { outbuf = (unsigned char *) outptr; break; } if (errno != E2BIG) { __libc_lock_unlock (lock); return NULL; } # endif # endif resize_freemem: /* We must allocate a new buffer or resize the old one. */ if (malloc_count > 0) { ++malloc_count; freemem_size = malloc_count * INITIAL_BLOCK_SIZE; newmem = (transmem_block_t *) realloc (transmem_list, freemem_size); # ifdef _LIBC if (newmem != NULL) transmem_list = transmem_list->next; else { struct transmem_list *old = transmem_list; transmem_list = transmem_list->next; free (old); } # endif } else { malloc_count = 1; freemem_size = INITIAL_BLOCK_SIZE; newmem = (transmem_block_t *) malloc (freemem_size); } if (__builtin_expect (newmem == NULL, 0)) { freemem = NULL; freemem_size = 0; __libc_lock_unlock (lock); return (char *) -1; } # ifdef _LIBC /* Add the block to the list of blocks we have to free at some point. */ newmem->next = transmem_list; transmem_list = newmem; freemem = (unsigned char *) newmem->data; freemem_size -= offsetof (struct transmem_list, data); # else transmem_list = newmem; freemem = newmem; # endif outbuf = freemem + sizeof (size_t); } /* We have now in our buffer a converted string. Put this into the table of conversions. */ *(size_t *) freemem = outbuf - freemem - sizeof (size_t); convd->conv_tab[act] = (char *) freemem; /* Shrink freemem, but keep it aligned. */ freemem_size -= outbuf - freemem; freemem = outbuf; freemem += freemem_size & (alignof (size_t) - 1); freemem_size = freemem_size & ~ (alignof (size_t) - 1); __libc_lock_unlock (lock); } /* Now convd->conv_tab[act] contains the translation of all the plural variants. */ result = convd->conv_tab[act] + sizeof (size_t); resultlen = *(size_t *) convd->conv_tab[act]; } } /* The result string is converted. */ #endif /* _LIBC || HAVE_ICONV */ *lengthp = resultlen; return result; } /* Look up a plural variant. */ static char * internal_function plural_lookup (struct loaded_l10nfile *domain, unsigned long int n, const char *translation, size_t translation_len) { struct loaded_domain *domaindata = (struct loaded_domain *) domain->data; unsigned long int index; const char *p; index = plural_eval (domaindata->plural, n); if (index >= domaindata->nplurals) /* This should never happen. It means the plural expression and the given maximum value do not match. */ index = 0; /* Skip INDEX strings at TRANSLATION. */ p = translation; while (index-- > 0) { #ifdef _LIBC p = __rawmemchr (p, '\0'); #else p = strchr (p, '\0'); #endif /* And skip over the NUL byte. */ p++; if (p >= translation + translation_len) /* This should never happen. It means the plural expression evaluated to a value larger than the number of variants available for MSGID1. */ return (char *) translation; } return (char *) p; } #ifndef _LIBC /* Return string representation of locale CATEGORY. */ static const char * internal_function category_to_name (int category) { const char *retval; switch (category) { #ifdef LC_COLLATE case LC_COLLATE: retval = "LC_COLLATE"; break; #endif #ifdef LC_CTYPE case LC_CTYPE: retval = "LC_CTYPE"; break; #endif #ifdef LC_MONETARY case LC_MONETARY: retval = "LC_MONETARY"; break; #endif #ifdef LC_NUMERIC case LC_NUMERIC: retval = "LC_NUMERIC"; break; #endif #ifdef LC_TIME case LC_TIME: retval = "LC_TIME"; break; #endif #ifdef LC_MESSAGES case LC_MESSAGES: retval = "LC_MESSAGES"; break; #endif #ifdef LC_RESPONSE case LC_RESPONSE: retval = "LC_RESPONSE"; break; #endif #ifdef LC_ALL case LC_ALL: /* This might not make sense but is perhaps better than any other value. */ retval = "LC_ALL"; break; #endif default: /* If you have a better idea for a default value let me know. */ retval = "LC_XXX"; } return retval; } #endif /* Guess value of current locale from value of the environment variables or system-dependent defaults. */ static const char * internal_function #ifdef IN_LIBGLOCALE guess_category_value (int category, const char *categoryname, const char *locale) #else guess_category_value (int category, const char *categoryname) #endif { const char *language; #ifndef IN_LIBGLOCALE const char *locale; # ifndef _LIBC const char *language_default; int locale_defaulted; # endif #endif /* We use the settings in the following order: 1. The value of the environment variable 'LANGUAGE'. This is a GNU extension. Its value can be a colon-separated list of locale names. 2. The value of the environment variable 'LC_ALL', 'LC_xxx', or 'LANG'. More precisely, the first among these that is set to a non-empty value. This is how POSIX specifies it. The value is a single locale name. 3. A system-dependent preference list of languages. Its value can be a colon-separated list of locale names. 4. A system-dependent default locale name. This way: - System-dependent settings can be overridden by environment variables. - If the system provides both a list of languages and a default locale, the former is used. */ #ifndef IN_LIBGLOCALE /* Fetch the locale name, through the POSIX method of looking to `LC_ALL', `LC_xxx', and `LANG'. On some systems this can be done by the `setlocale' function itself. */ # ifdef _LIBC locale = __current_locale_name (category); # else # if HAVE_STRUCT___LOCALE_STRUCT___NAMES && defined USE_IN_GETTEXT_TESTS /* The __names field is not public glibc API and must therefore not be used in code that is installed in public locations. */ locale_t thread_locale = uselocale (NULL); if (thread_locale != LC_GLOBAL_LOCALE) { locale = thread_locale->__names[category]; locale_defaulted = 0; } else # endif { locale = _nl_locale_name_posix (category, categoryname); locale_defaulted = 0; if (locale == NULL) { locale = _nl_locale_name_default (); locale_defaulted = 1; } } # endif #endif /* Ignore LANGUAGE and its system-dependent analogon if the locale is set to "C" because 1. "C" locale usually uses the ASCII encoding, and most international messages use non-ASCII characters. These characters get displayed as question marks (if using glibc's iconv()) or as invalid 8-bit characters (because other iconv()s refuse to convert most non-ASCII characters to ASCII). In any case, the output is ugly. 2. The precise output of some programs in the "C" locale is specified by POSIX and should not depend on environment variables like "LANGUAGE" or system-dependent information. We allow such programs to use gettext(). */ if (strcmp (locale, "C") == 0) return locale; /* The highest priority value is the value of the 'LANGUAGE' environment variable. */ language = getenv ("LANGUAGE"); if (language != NULL && language[0] != '\0') return language; #if !defined IN_LIBGLOCALE && !defined _LIBC /* The next priority value is the locale name, if not defaulted. */ if (locale_defaulted) { /* The next priority value is the default language preferences list. */ language_default = _nl_language_preferences_default (); if (language_default != NULL) return language_default; } /* The least priority value is the locale name, if defaulted. */ #endif return locale; } #if (defined _LIBC || HAVE_ICONV) && !defined IN_LIBGLOCALE /* Returns the output charset. */ static const char * internal_function get_output_charset (struct binding *domainbinding) { /* The output charset should normally be determined by the locale. But sometimes the locale is not used or not correctly set up, so we provide a possibility for the user to override this: the OUTPUT_CHARSET environment variable. Moreover, the value specified through bind_textdomain_codeset overrides both. */ if (domainbinding != NULL && domainbinding->codeset != NULL) return domainbinding->codeset; else { /* For speed reasons, we look at the value of OUTPUT_CHARSET only once. This is a user variable that is not supposed to change during a program run. */ static char *output_charset_cache; static int output_charset_cached; if (!output_charset_cached) { const char *value = getenv ("OUTPUT_CHARSET"); if (value != NULL && value[0] != '\0') { size_t len = strlen (value) + 1; char *value_copy = (char *) malloc (len); if (value_copy != NULL) memcpy (value_copy, value, len); output_charset_cache = value_copy; } output_charset_cached = 1; } if (output_charset_cache != NULL) return output_charset_cache; else { # ifdef _LIBC return _NL_CURRENT (LC_CTYPE, CODESET); # else # if HAVE_ICONV extern const char *locale_charset (void); return locale_charset (); # endif # endif } } } #endif /* @@ begin of epilog @@ */ /* We don't want libintl.a to depend on any other library. So we avoid the non-standard function stpcpy. In GNU C Library this function is available, though. Also allow the symbol HAVE_STPCPY to be defined. */ #if !_LIBC && !HAVE_STPCPY static char * stpcpy (char *dest, const char *src) { while ((*dest++ = *src++) != '\0') /* Do nothing. */ ; return dest - 1; } #endif #if !_LIBC && !HAVE_MEMPCPY static void * mempcpy (void *dest, const void *src, size_t n) { return (void *) ((char *) memcpy (dest, src, n) + n); } #endif #ifdef _LIBC /* If we want to free all resources we have to do some work at program's end. */ libc_freeres_fn (free_mem) { void *old; while (_nl_domain_bindings != NULL) { struct binding *oldp = _nl_domain_bindings; _nl_domain_bindings = _nl_domain_bindings->next; if (oldp->dirname != _nl_default_dirname) /* Yes, this is a pointer comparison. */ free (oldp->dirname); free (oldp->codeset); free (oldp); } if (_nl_current_default_domain != _nl_default_default_domain) /* Yes, again a pointer comparison. */ free ((char *) _nl_current_default_domain); /* Remove the search tree with the known translations. */ __tdestroy (root, free); root = NULL; while (transmem_list != NULL) { old = transmem_list; transmem_list = transmem_list->next; free (old); } } #endif geda-gaf-1.8.2/intl/printf-parse.c0000664000175000017500000003033012050467633013631 00000000000000/* Formatted output to strings. Copyright (C) 1999-2000, 2002-2003, 2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include /* Specification. */ #if WIDE_CHAR_VERSION # include "wprintf-parse.h" #else # include "printf-parse.h" #endif /* Get size_t, NULL. */ #include /* Get intmax_t. */ #if HAVE_STDINT_H_WITH_UINTMAX # include #endif #if HAVE_INTTYPES_H_WITH_UINTMAX # include #endif /* malloc(), realloc(), free(). */ #include /* Checked size_t computations. */ #include "xsize.h" #if WIDE_CHAR_VERSION # define PRINTF_PARSE wprintf_parse # define CHAR_T wchar_t # define DIRECTIVE wchar_t_directive # define DIRECTIVES wchar_t_directives #else # define PRINTF_PARSE printf_parse # define CHAR_T char # define DIRECTIVE char_directive # define DIRECTIVES char_directives #endif #ifdef STATIC STATIC #endif int PRINTF_PARSE (const CHAR_T *format, DIRECTIVES *d, arguments *a) { const CHAR_T *cp = format; /* pointer into format */ size_t arg_posn = 0; /* number of regular arguments consumed */ size_t d_allocated; /* allocated elements of d->dir */ size_t a_allocated; /* allocated elements of a->arg */ size_t max_width_length = 0; size_t max_precision_length = 0; d->count = 0; d_allocated = 1; d->dir = malloc (d_allocated * sizeof (DIRECTIVE)); if (d->dir == NULL) /* Out of memory. */ return -1; a->count = 0; a_allocated = 0; a->arg = NULL; #define REGISTER_ARG(_index_,_type_) \ { \ size_t n = (_index_); \ if (n >= a_allocated) \ { \ size_t memory_size; \ argument *memory; \ \ a_allocated = xtimes (a_allocated, 2); \ if (a_allocated <= n) \ a_allocated = xsum (n, 1); \ memory_size = xtimes (a_allocated, sizeof (argument)); \ if (size_overflow_p (memory_size)) \ /* Overflow, would lead to out of memory. */ \ goto error; \ memory = (a->arg \ ? realloc (a->arg, memory_size) \ : malloc (memory_size)); \ if (memory == NULL) \ /* Out of memory. */ \ goto error; \ a->arg = memory; \ } \ while (a->count <= n) \ a->arg[a->count++].type = TYPE_NONE; \ if (a->arg[n].type == TYPE_NONE) \ a->arg[n].type = (_type_); \ else if (a->arg[n].type != (_type_)) \ /* Ambiguous type for positional argument. */ \ goto error; \ } while (*cp != '\0') { CHAR_T c = *cp++; if (c == '%') { size_t arg_index = ARG_NONE; DIRECTIVE *dp = &d->dir[d->count];/* pointer to next directive */ /* Initialize the next directive. */ dp->dir_start = cp - 1; dp->flags = 0; dp->width_start = NULL; dp->width_end = NULL; dp->width_arg_index = ARG_NONE; dp->precision_start = NULL; dp->precision_end = NULL; dp->precision_arg_index = ARG_NONE; dp->arg_index = ARG_NONE; /* Test for positional argument. */ if (*cp >= '0' && *cp <= '9') { const CHAR_T *np; for (np = cp; *np >= '0' && *np <= '9'; np++) ; if (*np == '$') { size_t n = 0; for (np = cp; *np >= '0' && *np <= '9'; np++) n = xsum (xtimes (n, 10), *np - '0'); if (n == 0) /* Positional argument 0. */ goto error; if (size_overflow_p (n)) /* n too large, would lead to out of memory later. */ goto error; arg_index = n - 1; cp = np + 1; } } /* Read the flags. */ for (;;) { if (*cp == '\'') { dp->flags |= FLAG_GROUP; cp++; } else if (*cp == '-') { dp->flags |= FLAG_LEFT; cp++; } else if (*cp == '+') { dp->flags |= FLAG_SHOWSIGN; cp++; } else if (*cp == ' ') { dp->flags |= FLAG_SPACE; cp++; } else if (*cp == '#') { dp->flags |= FLAG_ALT; cp++; } else if (*cp == '0') { dp->flags |= FLAG_ZERO; cp++; } else break; } /* Parse the field width. */ if (*cp == '*') { dp->width_start = cp; cp++; dp->width_end = cp; if (max_width_length < 1) max_width_length = 1; /* Test for positional argument. */ if (*cp >= '0' && *cp <= '9') { const CHAR_T *np; for (np = cp; *np >= '0' && *np <= '9'; np++) ; if (*np == '$') { size_t n = 0; for (np = cp; *np >= '0' && *np <= '9'; np++) n = xsum (xtimes (n, 10), *np - '0'); if (n == 0) /* Positional argument 0. */ goto error; if (size_overflow_p (n)) /* n too large, would lead to out of memory later. */ goto error; dp->width_arg_index = n - 1; cp = np + 1; } } if (dp->width_arg_index == ARG_NONE) { dp->width_arg_index = arg_posn++; if (dp->width_arg_index == ARG_NONE) /* arg_posn wrapped around. */ goto error; } REGISTER_ARG (dp->width_arg_index, TYPE_INT); } else if (*cp >= '0' && *cp <= '9') { size_t width_length; dp->width_start = cp; for (; *cp >= '0' && *cp <= '9'; cp++) ; dp->width_end = cp; width_length = dp->width_end - dp->width_start; if (max_width_length < width_length) max_width_length = width_length; } /* Parse the precision. */ if (*cp == '.') { cp++; if (*cp == '*') { dp->precision_start = cp - 1; cp++; dp->precision_end = cp; if (max_precision_length < 2) max_precision_length = 2; /* Test for positional argument. */ if (*cp >= '0' && *cp <= '9') { const CHAR_T *np; for (np = cp; *np >= '0' && *np <= '9'; np++) ; if (*np == '$') { size_t n = 0; for (np = cp; *np >= '0' && *np <= '9'; np++) n = xsum (xtimes (n, 10), *np - '0'); if (n == 0) /* Positional argument 0. */ goto error; if (size_overflow_p (n)) /* n too large, would lead to out of memory later. */ goto error; dp->precision_arg_index = n - 1; cp = np + 1; } } if (dp->precision_arg_index == ARG_NONE) { dp->precision_arg_index = arg_posn++; if (dp->precision_arg_index == ARG_NONE) /* arg_posn wrapped around. */ goto error; } REGISTER_ARG (dp->precision_arg_index, TYPE_INT); } else { size_t precision_length; dp->precision_start = cp - 1; for (; *cp >= '0' && *cp <= '9'; cp++) ; dp->precision_end = cp; precision_length = dp->precision_end - dp->precision_start; if (max_precision_length < precision_length) max_precision_length = precision_length; } } { arg_type type; /* Parse argument type/size specifiers. */ { int flags = 0; for (;;) { if (*cp == 'h') { flags |= (1 << (flags & 1)); cp++; } else if (*cp == 'L') { flags |= 4; cp++; } else if (*cp == 'l') { flags += 8; cp++; } #ifdef HAVE_INTMAX_T else if (*cp == 'j') { if (sizeof (intmax_t) > sizeof (long)) { /* intmax_t = long long */ flags += 16; } else if (sizeof (intmax_t) > sizeof (int)) { /* intmax_t = long */ flags += 8; } cp++; } #endif else if (*cp == 'z' || *cp == 'Z') { /* 'z' is standardized in ISO C 99, but glibc uses 'Z' because the warning facility in gcc-2.95.2 understands only 'Z' (see gcc-2.95.2/gcc/c-common.c:1784). */ if (sizeof (size_t) > sizeof (long)) { /* size_t = long long */ flags += 16; } else if (sizeof (size_t) > sizeof (int)) { /* size_t = long */ flags += 8; } cp++; } else if (*cp == 't') { if (sizeof (ptrdiff_t) > sizeof (long)) { /* ptrdiff_t = long long */ flags += 16; } else if (sizeof (ptrdiff_t) > sizeof (int)) { /* ptrdiff_t = long */ flags += 8; } cp++; } else break; } /* Read the conversion character. */ c = *cp++; switch (c) { case 'd': case 'i': #ifdef HAVE_LONG_LONG_INT /* If 'long long' exists and is larger than 'long': */ if (flags >= 16 || (flags & 4)) type = TYPE_LONGLONGINT; else #endif /* If 'long long' exists and is the same as 'long', we parse "lld" into TYPE_LONGINT. */ if (flags >= 8) type = TYPE_LONGINT; else if (flags & 2) type = TYPE_SCHAR; else if (flags & 1) type = TYPE_SHORT; else type = TYPE_INT; break; case 'o': case 'u': case 'x': case 'X': #ifdef HAVE_LONG_LONG_INT /* If 'long long' exists and is larger than 'long': */ if (flags >= 16 || (flags & 4)) type = TYPE_ULONGLONGINT; else #endif /* If 'unsigned long long' exists and is the same as 'unsigned long', we parse "llu" into TYPE_ULONGINT. */ if (flags >= 8) type = TYPE_ULONGINT; else if (flags & 2) type = TYPE_UCHAR; else if (flags & 1) type = TYPE_USHORT; else type = TYPE_UINT; break; case 'f': case 'F': case 'e': case 'E': case 'g': case 'G': case 'a': case 'A': #ifdef HAVE_LONG_DOUBLE if (flags >= 16 || (flags & 4)) type = TYPE_LONGDOUBLE; else #endif type = TYPE_DOUBLE; break; case 'c': if (flags >= 8) #ifdef HAVE_WINT_T type = TYPE_WIDE_CHAR; #else goto error; #endif else type = TYPE_CHAR; break; #ifdef HAVE_WINT_T case 'C': type = TYPE_WIDE_CHAR; c = 'c'; break; #endif case 's': if (flags >= 8) #ifdef HAVE_WCHAR_T type = TYPE_WIDE_STRING; #else goto error; #endif else type = TYPE_STRING; break; #ifdef HAVE_WCHAR_T case 'S': type = TYPE_WIDE_STRING; c = 's'; break; #endif case 'p': type = TYPE_POINTER; break; case 'n': #ifdef HAVE_LONG_LONG_INT /* If 'long long' exists and is larger than 'long': */ if (flags >= 16 || (flags & 4)) type = TYPE_COUNT_LONGLONGINT_POINTER; else #endif /* If 'long long' exists and is the same as 'long', we parse "lln" into TYPE_COUNT_LONGINT_POINTER. */ if (flags >= 8) type = TYPE_COUNT_LONGINT_POINTER; else if (flags & 2) type = TYPE_COUNT_SCHAR_POINTER; else if (flags & 1) type = TYPE_COUNT_SHORT_POINTER; else type = TYPE_COUNT_INT_POINTER; break; case '%': type = TYPE_NONE; break; default: /* Unknown conversion character. */ goto error; } } if (type != TYPE_NONE) { dp->arg_index = arg_index; if (dp->arg_index == ARG_NONE) { dp->arg_index = arg_posn++; if (dp->arg_index == ARG_NONE) /* arg_posn wrapped around. */ goto error; } REGISTER_ARG (dp->arg_index, type); } dp->conversion = c; dp->dir_end = cp; } d->count++; if (d->count >= d_allocated) { size_t memory_size; DIRECTIVE *memory; d_allocated = xtimes (d_allocated, 2); memory_size = xtimes (d_allocated, sizeof (DIRECTIVE)); if (size_overflow_p (memory_size)) /* Overflow, would lead to out of memory. */ goto error; memory = realloc (d->dir, memory_size); if (memory == NULL) /* Out of memory. */ goto error; d->dir = memory; } } } d->dir[d->count].dir_start = cp; d->max_width_length = max_width_length; d->max_precision_length = max_precision_length; return 0; error: if (a->arg) free (a->arg); if (d->dir) free (d->dir); return -1; } #undef DIRECTIVES #undef DIRECTIVE #undef CHAR_T #undef PRINTF_PARSE geda-gaf-1.8.2/intl/intl-exports.c0000664000175000017500000000273312050467633013675 00000000000000/* List of exported symbols of libintl on Cygwin. Copyright (C) 2006 Free Software Foundation, Inc. Written by Bruno Haible , 2006. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* IMP(x) is a symbol that contains the address of x. */ #define IMP(x) _imp__##x /* Ensure that the variable x is exported from the library, and that a pseudo-variable IMP(x) is available. */ #define VARIABLE(x) \ /* Export x without redefining x. This code was found by compiling a \ snippet: \ extern __declspec(dllexport) int x; int x = 42; */ \ asm (".section .drectve\n"); \ asm (".ascii \" -export:" #x ",data\"\n"); \ asm (".data\n"); \ /* Allocate a pseudo-variable IMP(x). */ \ extern int x; \ void * IMP(x) = &x; VARIABLE(libintl_version) geda-gaf-1.8.2/intl/vasnwprintf.h0000664000175000017500000000330612050467634013611 00000000000000/* vswprintf with automatic memory allocation. Copyright (C) 2002-2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _VASNWPRINTF_H #define _VASNWPRINTF_H /* Get va_list. */ #include /* Get wchar_t, size_t. */ #include #ifdef __cplusplus extern "C" { #endif /* Write formatted output to a string dynamically allocated with malloc(). You can pass a preallocated buffer for the result in RESULTBUF and its size in *LENGTHP; otherwise you pass RESULTBUF = NULL. If successful, return the address of the string (this may be = RESULTBUF if no dynamic memory allocation was necessary) and set *LENGTHP to the number of resulting bytes, excluding the trailing NUL. Upon error, set errno and return NULL. */ extern wchar_t * asnwprintf (wchar_t *resultbuf, size_t *lengthp, const wchar_t *format, ...); extern wchar_t * vasnwprintf (wchar_t *resultbuf, size_t *lengthp, const wchar_t *format, va_list args); #ifdef __cplusplus } #endif #endif /* _VASNWPRINTF_H */ geda-gaf-1.8.2/intl/printf.c0000664000175000017500000002170312050467634012526 00000000000000/* Formatted output to strings, using POSIX/XSI format strings with positions. Copyright (C) 2003, 2006 Free Software Foundation, Inc. Written by Bruno Haible , 2003. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifdef HAVE_CONFIG_H # include #endif #ifdef __GNUC__ # define alloca __builtin_alloca # define HAVE_ALLOCA 1 #else # ifdef _MSC_VER # include # define alloca _alloca # else # if defined HAVE_ALLOCA_H || defined _LIBC # include # else # ifdef _AIX #pragma alloca # else # ifndef alloca char *alloca (); # endif # endif # endif # endif #endif #include #if !HAVE_POSIX_PRINTF #include #include #include #include /* Some systems, like OSF/1 4.0 and Woe32, don't have EOVERFLOW. */ #ifndef EOVERFLOW # define EOVERFLOW E2BIG #endif /* When building a DLL, we must export some functions. Note that because the functions are only defined for binary backward compatibility, we don't need to use __declspec(dllimport) in any case. */ #if defined _MSC_VER && BUILDING_DLL # define DLL_EXPORTED __declspec(dllexport) #else # define DLL_EXPORTED #endif #define STATIC static /* This needs to be consistent with libgnuintl.h.in. */ #if defined __NetBSD__ || defined __CYGWIN__ || defined __MINGW32__ /* Don't break __attribute__((format(printf,M,N))). This redefinition is only possible because the libc in NetBSD, Cygwin, mingw does not have a function __printf__. */ # define libintl_printf __printf__ #endif /* Define auxiliary functions declared in "printf-args.h". */ #include "printf-args.c" /* Define auxiliary functions declared in "printf-parse.h". */ #include "printf-parse.c" /* Define functions declared in "vasnprintf.h". */ #define vasnprintf libintl_vasnprintf #include "vasnprintf.c" #if 0 /* not needed */ #define asnprintf libintl_asnprintf #include "asnprintf.c" #endif DLL_EXPORTED int libintl_vfprintf (FILE *stream, const char *format, va_list args) { if (strchr (format, '$') == NULL) return vfprintf (stream, format, args); else { size_t length; char *result = libintl_vasnprintf (NULL, &length, format, args); int retval = -1; if (result != NULL) { size_t written = fwrite (result, 1, length, stream); free (result); if (written == length) { if (length > INT_MAX) errno = EOVERFLOW; else retval = length; } } return retval; } } DLL_EXPORTED int libintl_fprintf (FILE *stream, const char *format, ...) { va_list args; int retval; va_start (args, format); retval = libintl_vfprintf (stream, format, args); va_end (args); return retval; } DLL_EXPORTED int libintl_vprintf (const char *format, va_list args) { return libintl_vfprintf (stdout, format, args); } DLL_EXPORTED int libintl_printf (const char *format, ...) { va_list args; int retval; va_start (args, format); retval = libintl_vprintf (format, args); va_end (args); return retval; } DLL_EXPORTED int libintl_vsprintf (char *resultbuf, const char *format, va_list args) { if (strchr (format, '$') == NULL) return vsprintf (resultbuf, format, args); else { size_t length = (size_t) ~0 / (4 * sizeof (char)); char *result = libintl_vasnprintf (resultbuf, &length, format, args); if (result != resultbuf) { free (result); return -1; } if (length > INT_MAX) { errno = EOVERFLOW; return -1; } else return length; } } DLL_EXPORTED int libintl_sprintf (char *resultbuf, const char *format, ...) { va_list args; int retval; va_start (args, format); retval = libintl_vsprintf (resultbuf, format, args); va_end (args); return retval; } #if HAVE_SNPRINTF # if HAVE_DECL__SNPRINTF /* Windows. */ # define system_vsnprintf _vsnprintf # else /* Unix. */ # define system_vsnprintf vsnprintf # endif DLL_EXPORTED int libintl_vsnprintf (char *resultbuf, size_t length, const char *format, va_list args) { if (strchr (format, '$') == NULL) return system_vsnprintf (resultbuf, length, format, args); else { size_t maxlength = length; char *result = libintl_vasnprintf (resultbuf, &length, format, args); if (result != resultbuf) { if (maxlength > 0) { size_t pruned_length = (length < maxlength ? length : maxlength - 1); memcpy (resultbuf, result, pruned_length); resultbuf[pruned_length] = '\0'; } free (result); } if (length > INT_MAX) { errno = EOVERFLOW; return -1; } else return length; } } DLL_EXPORTED int libintl_snprintf (char *resultbuf, size_t length, const char *format, ...) { va_list args; int retval; va_start (args, format); retval = libintl_vsnprintf (resultbuf, length, format, args); va_end (args); return retval; } #endif #if HAVE_ASPRINTF DLL_EXPORTED int libintl_vasprintf (char **resultp, const char *format, va_list args) { size_t length; char *result = libintl_vasnprintf (NULL, &length, format, args); if (result == NULL) return -1; if (length > INT_MAX) { free (result); errno = EOVERFLOW; return -1; } *resultp = result; return length; } DLL_EXPORTED int libintl_asprintf (char **resultp, const char *format, ...) { va_list args; int retval; va_start (args, format); retval = libintl_vasprintf (resultp, format, args); va_end (args); return retval; } #endif #if HAVE_FWPRINTF #include #define WIDE_CHAR_VERSION 1 /* Define auxiliary functions declared in "wprintf-parse.h". */ #include "printf-parse.c" /* Define functions declared in "vasnprintf.h". */ #define vasnwprintf libintl_vasnwprintf #include "vasnprintf.c" #if 0 /* not needed */ #define asnwprintf libintl_asnwprintf #include "asnprintf.c" #endif # if HAVE_DECL__SNWPRINTF /* Windows. */ # define system_vswprintf _vsnwprintf # else /* Unix. */ # define system_vswprintf vswprintf # endif DLL_EXPORTED int libintl_vfwprintf (FILE *stream, const wchar_t *format, va_list args) { if (wcschr (format, '$') == NULL) return vfwprintf (stream, format, args); else { size_t length; wchar_t *result = libintl_vasnwprintf (NULL, &length, format, args); int retval = -1; if (result != NULL) { size_t i; for (i = 0; i < length; i++) if (fputwc (result[i], stream) == WEOF) break; free (result); if (i == length) { if (length > INT_MAX) errno = EOVERFLOW; else retval = length; } } return retval; } } DLL_EXPORTED int libintl_fwprintf (FILE *stream, const wchar_t *format, ...) { va_list args; int retval; va_start (args, format); retval = libintl_vfwprintf (stream, format, args); va_end (args); return retval; } DLL_EXPORTED int libintl_vwprintf (const wchar_t *format, va_list args) { return libintl_vfwprintf (stdout, format, args); } DLL_EXPORTED int libintl_wprintf (const wchar_t *format, ...) { va_list args; int retval; va_start (args, format); retval = libintl_vwprintf (format, args); va_end (args); return retval; } DLL_EXPORTED int libintl_vswprintf (wchar_t *resultbuf, size_t length, const wchar_t *format, va_list args) { if (wcschr (format, '$') == NULL) return system_vswprintf (resultbuf, length, format, args); else { size_t maxlength = length; wchar_t *result = libintl_vasnwprintf (resultbuf, &length, format, args); if (result != resultbuf) { if (maxlength > 0) { size_t pruned_length = (length < maxlength ? length : maxlength - 1); memcpy (resultbuf, result, pruned_length * sizeof (wchar_t)); resultbuf[pruned_length] = 0; } free (result); /* Unlike vsnprintf, which has to return the number of character that would have been produced if the resultbuf had been sufficiently large, the vswprintf function has to return a negative value if the resultbuf was not sufficiently large. */ if (length >= maxlength) return -1; } if (length > INT_MAX) { errno = EOVERFLOW; return -1; } else return length; } } DLL_EXPORTED int libintl_swprintf (wchar_t *resultbuf, size_t length, const wchar_t *format, ...) { va_list args; int retval; va_start (args, format); retval = libintl_vswprintf (resultbuf, length, format, args); va_end (args); return retval; } #endif #endif geda-gaf-1.8.2/intl/gettextP.h0000664000175000017500000001664312050467633013043 00000000000000/* Header describing internals of libintl library. Copyright (C) 1995-1999, 2000-2005 Free Software Foundation, Inc. Written by Ulrich Drepper , 1995. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _GETTEXTP_H #define _GETTEXTP_H #include /* Get size_t. */ #ifdef _LIBC # include "../iconv/gconv_int.h" #else # if HAVE_ICONV # include # endif #endif #ifdef _LIBC extern char *__gettext (const char *__msgid); extern char *__dgettext (const char *__domainname, const char *__msgid); extern char *__dcgettext (const char *__domainname, const char *__msgid, int __category); extern char *__ngettext (const char *__msgid1, const char *__msgid2, unsigned long int __n); extern char *__dngettext (const char *__domainname, const char *__msgid1, const char *__msgid2, unsigned long int n); extern char *__dcngettext (const char *__domainname, const char *__msgid1, const char *__msgid2, unsigned long int __n, int __category); extern char *__dcigettext (const char *__domainname, const char *__msgid1, const char *__msgid2, int __plural, unsigned long int __n, int __category); extern char *__textdomain (const char *__domainname); extern char *__bindtextdomain (const char *__domainname, const char *__dirname); extern char *__bind_textdomain_codeset (const char *__domainname, const char *__codeset); extern void _nl_finddomain_subfreeres (void) attribute_hidden; extern void _nl_unload_domain (struct loaded_domain *__domain) internal_function attribute_hidden; #else /* Declare the exported libintl_* functions, in a way that allows us to call them under their real name. */ # undef _INTL_REDIRECT_INLINE # undef _INTL_REDIRECT_MACROS # define _INTL_REDIRECT_MACROS # include "libgnuintl.h" # ifdef IN_LIBGLOCALE extern char *gl_dcigettext (const char *__domainname, const char *__msgid1, const char *__msgid2, int __plural, unsigned long int __n, int __category, const char *__localename, const char *__encoding); # else extern char *libintl_dcigettext (const char *__domainname, const char *__msgid1, const char *__msgid2, int __plural, unsigned long int __n, int __category); # endif #endif #include "loadinfo.h" #include "gmo.h" /* Get nls_uint32. */ /* @@ end of prolog @@ */ #ifndef internal_function # define internal_function #endif #ifndef attribute_hidden # define attribute_hidden #endif /* Tell the compiler when a conditional or integer expression is almost always true or almost always false. */ #ifndef HAVE_BUILTIN_EXPECT # define __builtin_expect(expr, val) (expr) #endif #ifndef W # define W(flag, data) ((flag) ? SWAP (data) : (data)) #endif #ifdef _LIBC # include # define SWAP(i) bswap_32 (i) #else static inline nls_uint32 SWAP (i) nls_uint32 i; { return (i << 24) | ((i & 0xff00) << 8) | ((i >> 8) & 0xff00) | (i >> 24); } #endif /* In-memory representation of system dependent string. */ struct sysdep_string_desc { /* Length of addressed string, including the trailing NUL. */ size_t length; /* Pointer to addressed string. */ const char *pointer; }; /* Cache of translated strings after charset conversion. Note: The strings are converted to the target encoding only on an as-needed basis. */ struct converted_domain { /* The target encoding name. */ const char *encoding; /* The descriptor for conversion from the message catalog's encoding to this target encoding. */ #ifdef _LIBC __gconv_t conv; #else # if HAVE_ICONV iconv_t conv; # endif #endif /* The table of translated strings after charset conversion. */ char **conv_tab; }; /* The representation of an opened message catalog. */ struct loaded_domain { /* Pointer to memory containing the .mo file. */ const char *data; /* 1 if the memory is mmap()ed, 0 if the memory is malloc()ed. */ int use_mmap; /* Size of mmap()ed memory. */ size_t mmap_size; /* 1 if the .mo file uses a different endianness than this machine. */ int must_swap; /* Pointer to additional malloc()ed memory. */ void *malloced; /* Number of static strings pairs. */ nls_uint32 nstrings; /* Pointer to descriptors of original strings in the file. */ const struct string_desc *orig_tab; /* Pointer to descriptors of translated strings in the file. */ const struct string_desc *trans_tab; /* Number of system dependent strings pairs. */ nls_uint32 n_sysdep_strings; /* Pointer to descriptors of original sysdep strings. */ const struct sysdep_string_desc *orig_sysdep_tab; /* Pointer to descriptors of translated sysdep strings. */ const struct sysdep_string_desc *trans_sysdep_tab; /* Size of hash table. */ nls_uint32 hash_size; /* Pointer to hash table. */ const nls_uint32 *hash_tab; /* 1 if the hash table uses a different endianness than this machine. */ int must_swap_hash_tab; /* Cache of charset conversions of the translated strings. */ struct converted_domain *conversions; size_t nconversions; struct expression *plural; unsigned long int nplurals; }; /* We want to allocate a string at the end of the struct. But ISO C doesn't allow zero sized arrays. */ #ifdef __GNUC__ # define ZERO 0 #else # define ZERO 1 #endif /* A set of settings bound to a message domain. Used to store settings from bindtextdomain() and bind_textdomain_codeset(). */ struct binding { struct binding *next; char *dirname; char *codeset; char domainname[ZERO]; }; /* A counter which is incremented each time some previous translations become invalid. This variable is part of the external ABI of the GNU libintl. */ #ifdef IN_LIBGLOCALE # include extern LIBGLOCALE_DLL_EXPORTED int _nl_msg_cat_cntr; #else extern LIBINTL_DLL_EXPORTED int _nl_msg_cat_cntr; #endif #ifndef _LIBC const char *_nl_language_preferences_default (void); const char *_nl_locale_name_posix (int category, const char *categoryname); const char *_nl_locale_name_default (void); const char *_nl_locale_name (int category, const char *categoryname); #endif struct loaded_l10nfile *_nl_find_domain (const char *__dirname, char *__locale, const char *__domainname, struct binding *__domainbinding) internal_function; void _nl_load_domain (struct loaded_l10nfile *__domain, struct binding *__domainbinding) internal_function; #ifdef IN_LIBGLOCALE char *_nl_find_msg (struct loaded_l10nfile *domain_file, struct binding *domainbinding, const char *encoding, const char *msgid, size_t *lengthp) internal_function; #else char *_nl_find_msg (struct loaded_l10nfile *domain_file, struct binding *domainbinding, const char *msgid, int convert, size_t *lengthp) internal_function; #endif /* @@ begin of epilog @@ */ #endif /* gettextP.h */ geda-gaf-1.8.2/intl/ngettext.c0000664000175000017500000000367412050467633013074 00000000000000/* Implementation of ngettext(3) function. Copyright (C) 1995, 1997, 2000-2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifdef HAVE_CONFIG_H # include #endif #ifdef _LIBC # define __need_NULL # include #else # include /* Just for NULL. */ #endif #include "gettextP.h" #ifdef _LIBC # include #else # include "libgnuintl.h" #endif #include /* @@ end of prolog @@ */ /* Names for the libintl functions are a problem. They must not clash with existing names and they should follow ANSI C. But this source code is also used in GNU C Library where the names have a __ prefix. So we have to make a difference here. */ #ifdef _LIBC # define NGETTEXT __ngettext # define DCNGETTEXT __dcngettext #else # define NGETTEXT libintl_ngettext # define DCNGETTEXT libintl_dcngettext #endif /* Look up MSGID in the current default message catalog for the current LC_MESSAGES locale. If not found, returns MSGID itself (the default text). */ char * NGETTEXT (const char *msgid1, const char *msgid2, unsigned long int n) { return DCNGETTEXT (NULL, msgid1, msgid2, n, LC_MESSAGES); } #ifdef _LIBC /* Alias for function name in GNU C Library. */ weak_alias (__ngettext, ngettext); #endif geda-gaf-1.8.2/intl/lock.c0000664000175000017500000005413012050467633012153 00000000000000/* Locking in multithreaded situations. Copyright (C) 2005-2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* Written by Bruno Haible , 2005. Based on GCC's gthr-posix.h, gthr-posix95.h, gthr-solaris.h, gthr-win32.h. */ #include #include "lock.h" /* ========================================================================= */ #if USE_POSIX_THREADS /* Use the POSIX threads library. */ # if PTHREAD_IN_USE_DETECTION_HARD /* The function to be executed by a dummy thread. */ static void * dummy_thread_func (void *arg) { return arg; } int glthread_in_use (void) { static int tested; static int result; /* 1: linked with -lpthread, 0: only with libc */ if (!tested) { pthread_t thread; if (pthread_create (&thread, NULL, dummy_thread_func, NULL) != 0) /* Thread creation failed. */ result = 0; else { /* Thread creation works. */ void *retval; if (pthread_join (thread, &retval) != 0) abort (); result = 1; } tested = 1; } return result; } # endif /* -------------------------- gl_lock_t datatype -------------------------- */ /* ------------------------- gl_rwlock_t datatype ------------------------- */ # if HAVE_PTHREAD_RWLOCK # if !defined PTHREAD_RWLOCK_INITIALIZER void glthread_rwlock_init (gl_rwlock_t *lock) { if (pthread_rwlock_init (&lock->rwlock, NULL) != 0) abort (); lock->initialized = 1; } void glthread_rwlock_rdlock (gl_rwlock_t *lock) { if (!lock->initialized) { if (pthread_mutex_lock (&lock->guard) != 0) abort (); if (!lock->initialized) glthread_rwlock_init (lock); if (pthread_mutex_unlock (&lock->guard) != 0) abort (); } if (pthread_rwlock_rdlock (&lock->rwlock) != 0) abort (); } void glthread_rwlock_wrlock (gl_rwlock_t *lock) { if (!lock->initialized) { if (pthread_mutex_lock (&lock->guard) != 0) abort (); if (!lock->initialized) glthread_rwlock_init (lock); if (pthread_mutex_unlock (&lock->guard) != 0) abort (); } if (pthread_rwlock_wrlock (&lock->rwlock) != 0) abort (); } void glthread_rwlock_unlock (gl_rwlock_t *lock) { if (!lock->initialized) abort (); if (pthread_rwlock_unlock (&lock->rwlock) != 0) abort (); } void glthread_rwlock_destroy (gl_rwlock_t *lock) { if (!lock->initialized) abort (); if (pthread_rwlock_destroy (&lock->rwlock) != 0) abort (); lock->initialized = 0; } # endif # else void glthread_rwlock_init (gl_rwlock_t *lock) { if (pthread_mutex_init (&lock->lock, NULL) != 0) abort (); if (pthread_cond_init (&lock->waiting_readers, NULL) != 0) abort (); if (pthread_cond_init (&lock->waiting_writers, NULL) != 0) abort (); lock->waiting_writers_count = 0; lock->runcount = 0; } void glthread_rwlock_rdlock (gl_rwlock_t *lock) { if (pthread_mutex_lock (&lock->lock) != 0) abort (); /* Test whether only readers are currently running, and whether the runcount field will not overflow. */ /* POSIX says: "It is implementation-defined whether the calling thread acquires the lock when a writer does not hold the lock and there are writers blocked on the lock." Let's say, no: give the writers a higher priority. */ while (!(lock->runcount + 1 > 0 && lock->waiting_writers_count == 0)) { /* This thread has to wait for a while. Enqueue it among the waiting_readers. */ if (pthread_cond_wait (&lock->waiting_readers, &lock->lock) != 0) abort (); } lock->runcount++; if (pthread_mutex_unlock (&lock->lock) != 0) abort (); } void glthread_rwlock_wrlock (gl_rwlock_t *lock) { if (pthread_mutex_lock (&lock->lock) != 0) abort (); /* Test whether no readers or writers are currently running. */ while (!(lock->runcount == 0)) { /* This thread has to wait for a while. Enqueue it among the waiting_writers. */ lock->waiting_writers_count++; if (pthread_cond_wait (&lock->waiting_writers, &lock->lock) != 0) abort (); lock->waiting_writers_count--; } lock->runcount--; /* runcount becomes -1 */ if (pthread_mutex_unlock (&lock->lock) != 0) abort (); } void glthread_rwlock_unlock (gl_rwlock_t *lock) { if (pthread_mutex_lock (&lock->lock) != 0) abort (); if (lock->runcount < 0) { /* Drop a writer lock. */ if (!(lock->runcount == -1)) abort (); lock->runcount = 0; } else { /* Drop a reader lock. */ if (!(lock->runcount > 0)) abort (); lock->runcount--; } if (lock->runcount == 0) { /* POSIX recommends that "write locks shall take precedence over read locks", to avoid "writer starvation". */ if (lock->waiting_writers_count > 0) { /* Wake up one of the waiting writers. */ if (pthread_cond_signal (&lock->waiting_writers) != 0) abort (); } else { /* Wake up all waiting readers. */ if (pthread_cond_broadcast (&lock->waiting_readers) != 0) abort (); } } if (pthread_mutex_unlock (&lock->lock) != 0) abort (); } void glthread_rwlock_destroy (gl_rwlock_t *lock) { if (pthread_mutex_destroy (&lock->lock) != 0) abort (); if (pthread_cond_destroy (&lock->waiting_readers) != 0) abort (); if (pthread_cond_destroy (&lock->waiting_writers) != 0) abort (); } # endif /* --------------------- gl_recursive_lock_t datatype --------------------- */ # if HAVE_PTHREAD_MUTEX_RECURSIVE # if !(defined PTHREAD_RECURSIVE_MUTEX_INITIALIZER || defined PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) void glthread_recursive_lock_init (gl_recursive_lock_t *lock) { pthread_mutexattr_t attributes; if (pthread_mutexattr_init (&attributes) != 0) abort (); if (pthread_mutexattr_settype (&attributes, PTHREAD_MUTEX_RECURSIVE) != 0) abort (); if (pthread_mutex_init (&lock->recmutex, &attributes) != 0) abort (); if (pthread_mutexattr_destroy (&attributes) != 0) abort (); lock->initialized = 1; } void glthread_recursive_lock_lock (gl_recursive_lock_t *lock) { if (!lock->initialized) { if (pthread_mutex_lock (&lock->guard) != 0) abort (); if (!lock->initialized) glthread_recursive_lock_init (lock); if (pthread_mutex_unlock (&lock->guard) != 0) abort (); } if (pthread_mutex_lock (&lock->recmutex) != 0) abort (); } void glthread_recursive_lock_unlock (gl_recursive_lock_t *lock) { if (!lock->initialized) abort (); if (pthread_mutex_unlock (&lock->recmutex) != 0) abort (); } void glthread_recursive_lock_destroy (gl_recursive_lock_t *lock) { if (!lock->initialized) abort (); if (pthread_mutex_destroy (&lock->recmutex) != 0) abort (); lock->initialized = 0; } # endif # else void glthread_recursive_lock_init (gl_recursive_lock_t *lock) { if (pthread_mutex_init (&lock->mutex, NULL) != 0) abort (); lock->owner = (pthread_t) 0; lock->depth = 0; } void glthread_recursive_lock_lock (gl_recursive_lock_t *lock) { pthread_t self = pthread_self (); if (lock->owner != self) { if (pthread_mutex_lock (&lock->mutex) != 0) abort (); lock->owner = self; } if (++(lock->depth) == 0) /* wraparound? */ abort (); } void glthread_recursive_lock_unlock (gl_recursive_lock_t *lock) { if (lock->owner != pthread_self ()) abort (); if (lock->depth == 0) abort (); if (--(lock->depth) == 0) { lock->owner = (pthread_t) 0; if (pthread_mutex_unlock (&lock->mutex) != 0) abort (); } } void glthread_recursive_lock_destroy (gl_recursive_lock_t *lock) { if (lock->owner != (pthread_t) 0) abort (); if (pthread_mutex_destroy (&lock->mutex) != 0) abort (); } # endif /* -------------------------- gl_once_t datatype -------------------------- */ static const pthread_once_t fresh_once = PTHREAD_ONCE_INIT; int glthread_once_singlethreaded (pthread_once_t *once_control) { /* We don't know whether pthread_once_t is an integer type, a floating-point type, a pointer type, or a structure type. */ char *firstbyte = (char *)once_control; if (*firstbyte == *(const char *)&fresh_once) { /* First time use of once_control. Invert the first byte. */ *firstbyte = ~ *(const char *)&fresh_once; return 1; } else return 0; } #endif /* ========================================================================= */ #if USE_PTH_THREADS /* Use the GNU Pth threads library. */ /* -------------------------- gl_lock_t datatype -------------------------- */ /* ------------------------- gl_rwlock_t datatype ------------------------- */ /* --------------------- gl_recursive_lock_t datatype --------------------- */ /* -------------------------- gl_once_t datatype -------------------------- */ void glthread_once_call (void *arg) { void (**gl_once_temp_addr) (void) = (void (**) (void)) arg; void (*initfunction) (void) = *gl_once_temp_addr; initfunction (); } int glthread_once_singlethreaded (pth_once_t *once_control) { /* We know that pth_once_t is an integer type. */ if (*once_control == PTH_ONCE_INIT) { /* First time use of once_control. Invert the marker. */ *once_control = ~ PTH_ONCE_INIT; return 1; } else return 0; } #endif /* ========================================================================= */ #if USE_SOLARIS_THREADS /* Use the old Solaris threads library. */ /* -------------------------- gl_lock_t datatype -------------------------- */ /* ------------------------- gl_rwlock_t datatype ------------------------- */ /* --------------------- gl_recursive_lock_t datatype --------------------- */ void glthread_recursive_lock_init (gl_recursive_lock_t *lock) { if (mutex_init (&lock->mutex, USYNC_THREAD, NULL) != 0) abort (); lock->owner = (thread_t) 0; lock->depth = 0; } void glthread_recursive_lock_lock (gl_recursive_lock_t *lock) { thread_t self = thr_self (); if (lock->owner != self) { if (mutex_lock (&lock->mutex) != 0) abort (); lock->owner = self; } if (++(lock->depth) == 0) /* wraparound? */ abort (); } void glthread_recursive_lock_unlock (gl_recursive_lock_t *lock) { if (lock->owner != thr_self ()) abort (); if (lock->depth == 0) abort (); if (--(lock->depth) == 0) { lock->owner = (thread_t) 0; if (mutex_unlock (&lock->mutex) != 0) abort (); } } void glthread_recursive_lock_destroy (gl_recursive_lock_t *lock) { if (lock->owner != (thread_t) 0) abort (); if (mutex_destroy (&lock->mutex) != 0) abort (); } /* -------------------------- gl_once_t datatype -------------------------- */ void glthread_once (gl_once_t *once_control, void (*initfunction) (void)) { if (!once_control->inited) { /* Use the mutex to guarantee that if another thread is already calling the initfunction, this thread waits until it's finished. */ if (mutex_lock (&once_control->mutex) != 0) abort (); if (!once_control->inited) { once_control->inited = 1; initfunction (); } if (mutex_unlock (&once_control->mutex) != 0) abort (); } } int glthread_once_singlethreaded (gl_once_t *once_control) { /* We know that gl_once_t contains an integer type. */ if (!once_control->inited) { /* First time use of once_control. Invert the marker. */ once_control->inited = ~ 0; return 1; } else return 0; } #endif /* ========================================================================= */ #if USE_WIN32_THREADS /* -------------------------- gl_lock_t datatype -------------------------- */ void glthread_lock_init (gl_lock_t *lock) { InitializeCriticalSection (&lock->lock); lock->guard.done = 1; } void glthread_lock_lock (gl_lock_t *lock) { if (!lock->guard.done) { if (InterlockedIncrement (&lock->guard.started) == 0) /* This thread is the first one to need this lock. Initialize it. */ glthread_lock_init (lock); else /* Yield the CPU while waiting for another thread to finish initializing this lock. */ while (!lock->guard.done) Sleep (0); } EnterCriticalSection (&lock->lock); } void glthread_lock_unlock (gl_lock_t *lock) { if (!lock->guard.done) abort (); LeaveCriticalSection (&lock->lock); } void glthread_lock_destroy (gl_lock_t *lock) { if (!lock->guard.done) abort (); DeleteCriticalSection (&lock->lock); lock->guard.done = 0; } /* ------------------------- gl_rwlock_t datatype ------------------------- */ static inline void gl_waitqueue_init (gl_waitqueue_t *wq) { wq->array = NULL; wq->count = 0; wq->alloc = 0; wq->offset = 0; } /* Enqueues the current thread, represented by an event, in a wait queue. Returns INVALID_HANDLE_VALUE if an allocation failure occurs. */ static HANDLE gl_waitqueue_add (gl_waitqueue_t *wq) { HANDLE event; unsigned int index; if (wq->count == wq->alloc) { unsigned int new_alloc = 2 * wq->alloc + 1; HANDLE *new_array = (HANDLE *) realloc (wq->array, new_alloc * sizeof (HANDLE)); if (new_array == NULL) /* No more memory. */ return INVALID_HANDLE_VALUE; /* Now is a good opportunity to rotate the array so that its contents starts at offset 0. */ if (wq->offset > 0) { unsigned int old_count = wq->count; unsigned int old_alloc = wq->alloc; unsigned int old_offset = wq->offset; unsigned int i; if (old_offset + old_count > old_alloc) { unsigned int limit = old_offset + old_count - old_alloc; for (i = 0; i < limit; i++) new_array[old_alloc + i] = new_array[i]; } for (i = 0; i < old_count; i++) new_array[i] = new_array[old_offset + i]; wq->offset = 0; } wq->array = new_array; wq->alloc = new_alloc; } event = CreateEvent (NULL, TRUE, FALSE, NULL); if (event == INVALID_HANDLE_VALUE) /* No way to allocate an event. */ return INVALID_HANDLE_VALUE; index = wq->offset + wq->count; if (index >= wq->alloc) index -= wq->alloc; wq->array[index] = event; wq->count++; return event; } /* Notifies the first thread from a wait queue and dequeues it. */ static inline void gl_waitqueue_notify_first (gl_waitqueue_t *wq) { SetEvent (wq->array[wq->offset + 0]); wq->offset++; wq->count--; if (wq->count == 0 || wq->offset == wq->alloc) wq->offset = 0; } /* Notifies all threads from a wait queue and dequeues them all. */ static inline void gl_waitqueue_notify_all (gl_waitqueue_t *wq) { unsigned int i; for (i = 0; i < wq->count; i++) { unsigned int index = wq->offset + i; if (index >= wq->alloc) index -= wq->alloc; SetEvent (wq->array[index]); } wq->count = 0; wq->offset = 0; } void glthread_rwlock_init (gl_rwlock_t *lock) { InitializeCriticalSection (&lock->lock); gl_waitqueue_init (&lock->waiting_readers); gl_waitqueue_init (&lock->waiting_writers); lock->runcount = 0; lock->guard.done = 1; } void glthread_rwlock_rdlock (gl_rwlock_t *lock) { if (!lock->guard.done) { if (InterlockedIncrement (&lock->guard.started) == 0) /* This thread is the first one to need this lock. Initialize it. */ glthread_rwlock_init (lock); else /* Yield the CPU while waiting for another thread to finish initializing this lock. */ while (!lock->guard.done) Sleep (0); } EnterCriticalSection (&lock->lock); /* Test whether only readers are currently running, and whether the runcount field will not overflow. */ if (!(lock->runcount + 1 > 0)) { /* This thread has to wait for a while. Enqueue it among the waiting_readers. */ HANDLE event = gl_waitqueue_add (&lock->waiting_readers); if (event != INVALID_HANDLE_VALUE) { DWORD result; LeaveCriticalSection (&lock->lock); /* Wait until another thread signals this event. */ result = WaitForSingleObject (event, INFINITE); if (result == WAIT_FAILED || result == WAIT_TIMEOUT) abort (); CloseHandle (event); /* The thread which signalled the event already did the bookkeeping: removed us from the waiting_readers, incremented lock->runcount. */ if (!(lock->runcount > 0)) abort (); return; } else { /* Allocation failure. Weird. */ do { LeaveCriticalSection (&lock->lock); Sleep (1); EnterCriticalSection (&lock->lock); } while (!(lock->runcount + 1 > 0)); } } lock->runcount++; LeaveCriticalSection (&lock->lock); } void glthread_rwlock_wrlock (gl_rwlock_t *lock) { if (!lock->guard.done) { if (InterlockedIncrement (&lock->guard.started) == 0) /* This thread is the first one to need this lock. Initialize it. */ glthread_rwlock_init (lock); else /* Yield the CPU while waiting for another thread to finish initializing this lock. */ while (!lock->guard.done) Sleep (0); } EnterCriticalSection (&lock->lock); /* Test whether no readers or writers are currently running. */ if (!(lock->runcount == 0)) { /* This thread has to wait for a while. Enqueue it among the waiting_writers. */ HANDLE event = gl_waitqueue_add (&lock->waiting_writers); if (event != INVALID_HANDLE_VALUE) { DWORD result; LeaveCriticalSection (&lock->lock); /* Wait until another thread signals this event. */ result = WaitForSingleObject (event, INFINITE); if (result == WAIT_FAILED || result == WAIT_TIMEOUT) abort (); CloseHandle (event); /* The thread which signalled the event already did the bookkeeping: removed us from the waiting_writers, set lock->runcount = -1. */ if (!(lock->runcount == -1)) abort (); return; } else { /* Allocation failure. Weird. */ do { LeaveCriticalSection (&lock->lock); Sleep (1); EnterCriticalSection (&lock->lock); } while (!(lock->runcount == 0)); } } lock->runcount--; /* runcount becomes -1 */ LeaveCriticalSection (&lock->lock); } void glthread_rwlock_unlock (gl_rwlock_t *lock) { if (!lock->guard.done) abort (); EnterCriticalSection (&lock->lock); if (lock->runcount < 0) { /* Drop a writer lock. */ if (!(lock->runcount == -1)) abort (); lock->runcount = 0; } else { /* Drop a reader lock. */ if (!(lock->runcount > 0)) abort (); lock->runcount--; } if (lock->runcount == 0) { /* POSIX recommends that "write locks shall take precedence over read locks", to avoid "writer starvation". */ if (lock->waiting_writers.count > 0) { /* Wake up one of the waiting writers. */ lock->runcount--; gl_waitqueue_notify_first (&lock->waiting_writers); } else { /* Wake up all waiting readers. */ lock->runcount += lock->waiting_readers.count; gl_waitqueue_notify_all (&lock->waiting_readers); } } LeaveCriticalSection (&lock->lock); } void glthread_rwlock_destroy (gl_rwlock_t *lock) { if (!lock->guard.done) abort (); if (lock->runcount != 0) abort (); DeleteCriticalSection (&lock->lock); if (lock->waiting_readers.array != NULL) free (lock->waiting_readers.array); if (lock->waiting_writers.array != NULL) free (lock->waiting_writers.array); lock->guard.done = 0; } /* --------------------- gl_recursive_lock_t datatype --------------------- */ void glthread_recursive_lock_init (gl_recursive_lock_t *lock) { lock->owner = 0; lock->depth = 0; InitializeCriticalSection (&lock->lock); lock->guard.done = 1; } void glthread_recursive_lock_lock (gl_recursive_lock_t *lock) { if (!lock->guard.done) { if (InterlockedIncrement (&lock->guard.started) == 0) /* This thread is the first one to need this lock. Initialize it. */ glthread_recursive_lock_init (lock); else /* Yield the CPU while waiting for another thread to finish initializing this lock. */ while (!lock->guard.done) Sleep (0); } { DWORD self = GetCurrentThreadId (); if (lock->owner != self) { EnterCriticalSection (&lock->lock); lock->owner = self; } if (++(lock->depth) == 0) /* wraparound? */ abort (); } } void glthread_recursive_lock_unlock (gl_recursive_lock_t *lock) { if (lock->owner != GetCurrentThreadId ()) abort (); if (lock->depth == 0) abort (); if (--(lock->depth) == 0) { lock->owner = 0; LeaveCriticalSection (&lock->lock); } } void glthread_recursive_lock_destroy (gl_recursive_lock_t *lock) { if (lock->owner != 0) abort (); DeleteCriticalSection (&lock->lock); lock->guard.done = 0; } /* -------------------------- gl_once_t datatype -------------------------- */ void glthread_once (gl_once_t *once_control, void (*initfunction) (void)) { if (once_control->inited <= 0) { if (InterlockedIncrement (&once_control->started) == 0) { /* This thread is the first one to come to this once_control. */ InitializeCriticalSection (&once_control->lock); EnterCriticalSection (&once_control->lock); once_control->inited = 0; initfunction (); once_control->inited = 1; LeaveCriticalSection (&once_control->lock); } else { /* Undo last operation. */ InterlockedDecrement (&once_control->started); /* Some other thread has already started the initialization. Yield the CPU while waiting for the other thread to finish initializing and taking the lock. */ while (once_control->inited < 0) Sleep (0); if (once_control->inited <= 0) { /* Take the lock. This blocks until the other thread has finished calling the initfunction. */ EnterCriticalSection (&once_control->lock); LeaveCriticalSection (&once_control->lock); if (!(once_control->inited > 0)) abort (); } } } } #endif /* ========================================================================= */ geda-gaf-1.8.2/intl/loadinfo.h0000664000175000017500000001211312050467633013016 00000000000000/* Copyright (C) 1996-1999, 2000-2003, 2005-2006 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1996. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _LOADINFO_H #define _LOADINFO_H 1 /* Declarations of locale dependent catalog lookup functions. Implemented in localealias.c Possibly replace a locale name by another. explodename.c Split a locale name into its various fields. l10nflist.c Generate a list of filenames of possible message catalogs. finddomain.c Find and open the relevant message catalogs. The main function _nl_find_domain() in finddomain.c is declared in gettextP.h. */ #ifndef internal_function # define internal_function #endif #ifndef LIBINTL_DLL_EXPORTED # define LIBINTL_DLL_EXPORTED #endif /* Tell the compiler when a conditional or integer expression is almost always true or almost always false. */ #ifndef HAVE_BUILTIN_EXPECT # define __builtin_expect(expr, val) (expr) #endif /* Separator in PATH like lists of pathnames. */ #if ((defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__) || defined __EMX__ || defined __DJGPP__ /* Win32, OS/2, DOS */ # define PATH_SEPARATOR ';' #else /* Unix */ # define PATH_SEPARATOR ':' #endif /* Encoding of locale name parts. */ #define XPG_NORM_CODESET 1 #define XPG_CODESET 2 #define XPG_TERRITORY 4 #define XPG_MODIFIER 8 struct loaded_l10nfile { const char *filename; int decided; const void *data; struct loaded_l10nfile *next; struct loaded_l10nfile *successor[1]; }; /* Normalize codeset name. There is no standard for the codeset names. Normalization allows the user to use any of the common names. The return value is dynamically allocated and has to be freed by the caller. */ extern const char *_nl_normalize_codeset (const char *codeset, size_t name_len); /* Lookup a locale dependent file. *L10NFILE_LIST denotes a pool of lookup results of locale dependent files of the same kind, sorted in decreasing order of ->filename. DIRLIST and DIRLIST_LEN are an argz list of directories in which to look, containing at least one directory (i.e. DIRLIST_LEN > 0). MASK, LANGUAGE, TERRITORY, CODESET, NORMALIZED_CODESET, MODIFIER are the pieces of the locale name, as produced by _nl_explode_name(). FILENAME is the filename suffix. The return value is the lookup result, either found in *L10NFILE_LIST, or - if DO_ALLOCATE is nonzero - freshly allocated, or possibly NULL. If the return value is non-NULL, it is added to *L10NFILE_LIST, and its ->next field denotes the chaining inside *L10NFILE_LIST, and furthermore its ->successor[] field contains a list of other lookup results from which this lookup result inherits. */ extern struct loaded_l10nfile * _nl_make_l10nflist (struct loaded_l10nfile **l10nfile_list, const char *dirlist, size_t dirlist_len, int mask, const char *language, const char *territory, const char *codeset, const char *normalized_codeset, const char *modifier, const char *filename, int do_allocate); /* Lookup the real locale name for a locale alias NAME, or NULL if NAME is not a locale alias (but possibly a real locale name). The return value is statically allocated and must not be freed. */ /* Part of the libintl ABI only for the sake of the gettext.m4 macro. */ extern LIBINTL_DLL_EXPORTED const char *_nl_expand_alias (const char *name); /* Split a locale name NAME into its pieces: language, modifier, territory, codeset. NAME gets destructively modified: NUL bytes are inserted here and there. *LANGUAGE gets assigned NAME. Each of *MODIFIER, *TERRITORY, *CODESET gets assigned either a pointer into the old NAME string, or NULL. *NORMALIZED_CODESET gets assigned the expanded *CODESET, if it is different from *CODESET; this one is dynamically allocated and has to be freed by the caller. The return value is a bitmask, where each bit corresponds to one filled-in value: XPG_MODIFIER for *MODIFIER, XPG_TERRITORY for *TERRITORY, XPG_CODESET for *CODESET, XPG_NORM_CODESET for *NORMALIZED_CODESET. */ extern int _nl_explode_name (char *name, const char **language, const char **modifier, const char **territory, const char **codeset, const char **normalized_codeset); #endif /* loadinfo.h */ geda-gaf-1.8.2/intl/localcharset.c0000664000175000017500000003031412050467633013665 00000000000000/* Determine a canonical name for the current locale's character encoding. Copyright (C) 2000-2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* Written by Bruno Haible . */ #include /* Specification. */ #include "localcharset.h" #include #include #include #include #if defined _WIN32 || defined __WIN32__ # define WIN32_NATIVE #endif #if defined __EMX__ /* Assume EMX program runs on OS/2, even if compiled under DOS. */ # define OS2 #endif #if !defined WIN32_NATIVE # if HAVE_LANGINFO_CODESET # include # else # if 0 /* see comment below */ # include # endif # endif # ifdef __CYGWIN__ # define WIN32_LEAN_AND_MEAN # include # endif #elif defined WIN32_NATIVE # define WIN32_LEAN_AND_MEAN # include #endif #if defined OS2 # define INCL_DOS # include #endif #if ENABLE_RELOCATABLE # include "relocatable.h" #else # define relocate(pathname) (pathname) #endif /* Get LIBDIR. */ #ifndef LIBDIR # include "configmake.h" #endif #if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__ /* Win32, Cygwin, OS/2, DOS */ # define ISSLASH(C) ((C) == '/' || (C) == '\\') #endif #ifndef DIRECTORY_SEPARATOR # define DIRECTORY_SEPARATOR '/' #endif #ifndef ISSLASH # define ISSLASH(C) ((C) == DIRECTORY_SEPARATOR) #endif #if HAVE_DECL_GETC_UNLOCKED # undef getc # define getc getc_unlocked #endif /* The following static variable is declared 'volatile' to avoid a possible multithread problem in the function get_charset_aliases. If we are running in a threaded environment, and if two threads initialize 'charset_aliases' simultaneously, both will produce the same value, and everything will be ok if the two assignments to 'charset_aliases' are atomic. But I don't know what will happen if the two assignments mix. */ #if __STDC__ != 1 # define volatile /* empty */ #endif /* Pointer to the contents of the charset.alias file, if it has already been read, else NULL. Its format is: ALIAS_1 '\0' CANONICAL_1 '\0' ... ALIAS_n '\0' CANONICAL_n '\0' '\0' */ static const char * volatile charset_aliases; /* Return a pointer to the contents of the charset.alias file. */ static const char * get_charset_aliases (void) { const char *cp; cp = charset_aliases; if (cp == NULL) { #if !(defined VMS || defined WIN32_NATIVE || defined __CYGWIN__) FILE *fp; const char *dir; const char *base = "charset.alias"; char *file_name; /* Make it possible to override the charset.alias location. This is necessary for running the testsuite before "make install". */ dir = getenv ("CHARSETALIASDIR"); if (dir == NULL || dir[0] == '\0') dir = relocate (LIBDIR); /* Concatenate dir and base into freshly allocated file_name. */ { size_t dir_len = strlen (dir); size_t base_len = strlen (base); int add_slash = (dir_len > 0 && !ISSLASH (dir[dir_len - 1])); file_name = (char *) malloc (dir_len + add_slash + base_len + 1); if (file_name != NULL) { memcpy (file_name, dir, dir_len); if (add_slash) file_name[dir_len] = DIRECTORY_SEPARATOR; memcpy (file_name + dir_len + add_slash, base, base_len + 1); } } if (file_name == NULL || (fp = fopen (file_name, "r")) == NULL) /* Out of memory or file not found, treat it as empty. */ cp = ""; else { /* Parse the file's contents. */ char *res_ptr = NULL; size_t res_size = 0; for (;;) { int c; char buf1[50+1]; char buf2[50+1]; size_t l1, l2; char *old_res_ptr; c = getc (fp); if (c == EOF) break; if (c == '\n' || c == ' ' || c == '\t') continue; if (c == '#') { /* Skip comment, to end of line. */ do c = getc (fp); while (!(c == EOF || c == '\n')); if (c == EOF) break; continue; } ungetc (c, fp); if (fscanf (fp, "%50s %50s", buf1, buf2) < 2) break; l1 = strlen (buf1); l2 = strlen (buf2); old_res_ptr = res_ptr; if (res_size == 0) { res_size = l1 + 1 + l2 + 1; res_ptr = (char *) malloc (res_size + 1); } else { res_size += l1 + 1 + l2 + 1; res_ptr = (char *) realloc (res_ptr, res_size + 1); } if (res_ptr == NULL) { /* Out of memory. */ res_size = 0; if (old_res_ptr != NULL) free (old_res_ptr); break; } strcpy (res_ptr + res_size - (l2 + 1) - (l1 + 1), buf1); strcpy (res_ptr + res_size - (l2 + 1), buf2); } fclose (fp); if (res_size == 0) cp = ""; else { *(res_ptr + res_size) = '\0'; cp = res_ptr; } } if (file_name != NULL) free (file_name); #else # if defined VMS /* To avoid the troubles of an extra file charset.alias_vms in the sources of many GNU packages, simply inline the aliases here. */ /* The list of encodings is taken from the OpenVMS 7.3-1 documentation "Compaq C Run-Time Library Reference Manual for OpenVMS systems" section 10.7 "Handling Different Character Sets". */ cp = "ISO8859-1" "\0" "ISO-8859-1" "\0" "ISO8859-2" "\0" "ISO-8859-2" "\0" "ISO8859-5" "\0" "ISO-8859-5" "\0" "ISO8859-7" "\0" "ISO-8859-7" "\0" "ISO8859-8" "\0" "ISO-8859-8" "\0" "ISO8859-9" "\0" "ISO-8859-9" "\0" /* Japanese */ "eucJP" "\0" "EUC-JP" "\0" "SJIS" "\0" "SHIFT_JIS" "\0" "DECKANJI" "\0" "DEC-KANJI" "\0" "SDECKANJI" "\0" "EUC-JP" "\0" /* Chinese */ "eucTW" "\0" "EUC-TW" "\0" "DECHANYU" "\0" "DEC-HANYU" "\0" "DECHANZI" "\0" "GB2312" "\0" /* Korean */ "DECKOREAN" "\0" "EUC-KR" "\0"; # endif # if defined WIN32_NATIVE || defined __CYGWIN__ /* To avoid the troubles of installing a separate file in the same directory as the DLL and of retrieving the DLL's directory at runtime, simply inline the aliases here. */ cp = "CP936" "\0" "GBK" "\0" "CP1361" "\0" "JOHAB" "\0" "CP20127" "\0" "ASCII" "\0" "CP20866" "\0" "KOI8-R" "\0" "CP20936" "\0" "GB2312" "\0" "CP21866" "\0" "KOI8-RU" "\0" "CP28591" "\0" "ISO-8859-1" "\0" "CP28592" "\0" "ISO-8859-2" "\0" "CP28593" "\0" "ISO-8859-3" "\0" "CP28594" "\0" "ISO-8859-4" "\0" "CP28595" "\0" "ISO-8859-5" "\0" "CP28596" "\0" "ISO-8859-6" "\0" "CP28597" "\0" "ISO-8859-7" "\0" "CP28598" "\0" "ISO-8859-8" "\0" "CP28599" "\0" "ISO-8859-9" "\0" "CP28605" "\0" "ISO-8859-15" "\0" "CP38598" "\0" "ISO-8859-8" "\0" "CP51932" "\0" "EUC-JP" "\0" "CP51936" "\0" "GB2312" "\0" "CP51949" "\0" "EUC-KR" "\0" "CP51950" "\0" "EUC-TW" "\0" "CP54936" "\0" "GB18030" "\0" "CP65001" "\0" "UTF-8" "\0"; # endif #endif charset_aliases = cp; } return cp; } /* Determine the current locale's character encoding, and canonicalize it into one of the canonical names listed in config.charset. The result must not be freed; it is statically allocated. If the canonical name cannot be determined, the result is a non-canonical name. */ #ifdef STATIC STATIC #endif const char * locale_charset (void) { const char *codeset; const char *aliases; #if !(defined WIN32_NATIVE || defined OS2) # if HAVE_LANGINFO_CODESET /* Most systems support nl_langinfo (CODESET) nowadays. */ codeset = nl_langinfo (CODESET); # ifdef __CYGWIN__ /* Cygwin 2006 does not have locales. nl_langinfo (CODESET) always returns "US-ASCII". As long as this is not fixed, return the suffix of the locale name from the environment variables (if present) or the codepage as a number. */ if (codeset != NULL && strcmp (codeset, "US-ASCII") == 0) { const char *locale; static char buf[2 + 10 + 1]; locale = getenv ("LC_ALL"); if (locale == NULL || locale[0] == '\0') { locale = getenv ("LC_CTYPE"); if (locale == NULL || locale[0] == '\0') locale = getenv ("LANG"); } if (locale != NULL && locale[0] != '\0') { /* If the locale name contains an encoding after the dot, return it. */ const char *dot = strchr (locale, '.'); if (dot != NULL) { const char *modifier; dot++; /* Look for the possible @... trailer and remove it, if any. */ modifier = strchr (dot, '@'); if (modifier == NULL) return dot; if (modifier - dot < sizeof (buf)) { memcpy (buf, dot, modifier - dot); buf [modifier - dot] = '\0'; return buf; } } } /* Woe32 has a function returning the locale's codepage as a number. */ sprintf (buf, "CP%u", GetACP ()); codeset = buf; } # endif # else /* On old systems which lack it, use setlocale or getenv. */ const char *locale = NULL; /* But most old systems don't have a complete set of locales. Some (like SunOS 4 or DJGPP) have only the C locale. Therefore we don't use setlocale here; it would return "C" when it doesn't support the locale name the user has set. */ # if 0 locale = setlocale (LC_CTYPE, NULL); # endif if (locale == NULL || locale[0] == '\0') { locale = getenv ("LC_ALL"); if (locale == NULL || locale[0] == '\0') { locale = getenv ("LC_CTYPE"); if (locale == NULL || locale[0] == '\0') locale = getenv ("LANG"); } } /* On some old systems, one used to set locale = "iso8859_1". On others, you set it to "language_COUNTRY.charset". In any case, we resolve it through the charset.alias file. */ codeset = locale; # endif #elif defined WIN32_NATIVE static char buf[2 + 10 + 1]; /* Woe32 has a function returning the locale's codepage as a number. */ sprintf (buf, "CP%u", GetACP ()); codeset = buf; #elif defined OS2 const char *locale; static char buf[2 + 10 + 1]; ULONG cp[3]; ULONG cplen; /* Allow user to override the codeset, as set in the operating system, with standard language environment variables. */ locale = getenv ("LC_ALL"); if (locale == NULL || locale[0] == '\0') { locale = getenv ("LC_CTYPE"); if (locale == NULL || locale[0] == '\0') locale = getenv ("LANG"); } if (locale != NULL && locale[0] != '\0') { /* If the locale name contains an encoding after the dot, return it. */ const char *dot = strchr (locale, '.'); if (dot != NULL) { const char *modifier; dot++; /* Look for the possible @... trailer and remove it, if any. */ modifier = strchr (dot, '@'); if (modifier == NULL) return dot; if (modifier - dot < sizeof (buf)) { memcpy (buf, dot, modifier - dot); buf [modifier - dot] = '\0'; return buf; } } /* Resolve through the charset.alias file. */ codeset = locale; } else { /* OS/2 has a function returning the locale's codepage as a number. */ if (DosQueryCp (sizeof (cp), cp, &cplen)) codeset = ""; else { sprintf (buf, "CP%u", cp[0]); codeset = buf; } } #endif if (codeset == NULL) /* The canonical name cannot be determined. */ codeset = ""; /* Resolve alias. */ for (aliases = get_charset_aliases (); *aliases != '\0'; aliases += strlen (aliases) + 1, aliases += strlen (aliases) + 1) if (strcmp (codeset, aliases) == 0 || (aliases[0] == '*' && aliases[1] == '\0')) { codeset = aliases + strlen (aliases) + 1; break; } /* Don't return an empty string. GNU libc and GNU libiconv interpret the empty string as denoting "the locale's character encoding", thus GNU libiconv would call this function a second time. */ if (codeset[0] == '\0') codeset = "ASCII"; return codeset; } geda-gaf-1.8.2/intl/version.c0000664000175000017500000000173112050467634012710 00000000000000/* libintl library version. Copyright (C) 2005 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifdef HAVE_CONFIG_H # include #endif #include "libgnuintl.h" /* Version number: (major<<16) + (minor<<8) + subminor */ int libintl_version = LIBINTL_VERSION; geda-gaf-1.8.2/intl/wprintf-parse.h0000664000175000017500000000426312050467634014034 00000000000000/* Parse printf format string. Copyright (C) 1999, 2002-2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _WPRINTF_PARSE_H #define _WPRINTF_PARSE_H #include "printf-args.h" /* Flags */ #define FLAG_GROUP 1 /* ' flag */ #define FLAG_LEFT 2 /* - flag */ #define FLAG_SHOWSIGN 4 /* + flag */ #define FLAG_SPACE 8 /* space flag */ #define FLAG_ALT 16 /* # flag */ #define FLAG_ZERO 32 /* arg_index value indicating that no argument is consumed. */ #define ARG_NONE (~(size_t)0) /* A parsed directive. */ typedef struct { const wchar_t* dir_start; const wchar_t* dir_end; int flags; const wchar_t* width_start; const wchar_t* width_end; size_t width_arg_index; const wchar_t* precision_start; const wchar_t* precision_end; size_t precision_arg_index; wchar_t conversion; /* d i o u x X f e E g G c s p n U % but not C S */ size_t arg_index; } wchar_t_directive; /* A parsed format string. */ typedef struct { size_t count; wchar_t_directive *dir; size_t max_width_length; size_t max_precision_length; } wchar_t_directives; /* Parses the format string. Fills in the number N of directives, and fills in directives[0], ..., directives[N-1], and sets directives[N].dir_start to the end of the format string. Also fills in the arg_type fields of the arguments and the needed count of arguments. */ #ifdef STATIC STATIC #else extern #endif int wprintf_parse (const wchar_t *format, wchar_t_directives *d, arguments *a); #endif /* _WPRINTF_PARSE_H */ geda-gaf-1.8.2/intl/finddomain.c0000664000175000017500000001355412050467633013340 00000000000000/* Handle list of needed message catalogs Copyright (C) 1995-1999, 2000-2001, 2003-2006 Free Software Foundation, Inc. Written by Ulrich Drepper , 1995. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include #if defined HAVE_UNISTD_H || defined _LIBC # include #endif #include "gettextP.h" #ifdef _LIBC # include #else # include "libgnuintl.h" #endif /* Handle multi-threaded applications. */ #ifdef _LIBC # include # define gl_rwlock_define_initialized __libc_rwlock_define_initialized # define gl_rwlock_rdlock __libc_rwlock_rdlock # define gl_rwlock_wrlock __libc_rwlock_wrlock # define gl_rwlock_unlock __libc_rwlock_unlock #else # include "lock.h" #endif /* @@ end of prolog @@ */ /* List of already loaded domains. */ static struct loaded_l10nfile *_nl_loaded_domains; /* Return a data structure describing the message catalog described by the DOMAINNAME and CATEGORY parameters with respect to the currently established bindings. */ struct loaded_l10nfile * internal_function _nl_find_domain (const char *dirname, char *locale, const char *domainname, struct binding *domainbinding) { struct loaded_l10nfile *retval; const char *language; const char *modifier; const char *territory; const char *codeset; const char *normalized_codeset; const char *alias_value; int mask; /* LOCALE can consist of up to four recognized parts for the XPG syntax: language[_territory][.codeset][@modifier] Beside the first part all of them are allowed to be missing. If the full specified locale is not found, the less specific one are looked for. The various parts will be stripped off according to the following order: (1) codeset (2) normalized codeset (3) territory (4) modifier */ /* We need to protect modifying the _NL_LOADED_DOMAINS data. */ gl_rwlock_define_initialized (static, lock); gl_rwlock_rdlock (lock); /* If we have already tested for this locale entry there has to be one data set in the list of loaded domains. */ retval = _nl_make_l10nflist (&_nl_loaded_domains, dirname, strlen (dirname) + 1, 0, locale, NULL, NULL, NULL, NULL, domainname, 0); gl_rwlock_unlock (lock); if (retval != NULL) { /* We know something about this locale. */ int cnt; if (retval->decided <= 0) _nl_load_domain (retval, domainbinding); if (retval->data != NULL) return retval; for (cnt = 0; retval->successor[cnt] != NULL; ++cnt) { if (retval->successor[cnt]->decided <= 0) _nl_load_domain (retval->successor[cnt], domainbinding); if (retval->successor[cnt]->data != NULL) break; } return retval; /* NOTREACHED */ } /* See whether the locale value is an alias. If yes its value *overwrites* the alias name. No test for the original value is done. */ alias_value = _nl_expand_alias (locale); if (alias_value != NULL) { #if defined _LIBC || defined HAVE_STRDUP locale = strdup (alias_value); if (locale == NULL) return NULL; #else size_t len = strlen (alias_value) + 1; locale = (char *) malloc (len); if (locale == NULL) return NULL; memcpy (locale, alias_value, len); #endif } /* Now we determine the single parts of the locale name. First look for the language. Termination symbols are `_', '.', and `@'. */ mask = _nl_explode_name (locale, &language, &modifier, &territory, &codeset, &normalized_codeset); /* We need to protect modifying the _NL_LOADED_DOMAINS data. */ gl_rwlock_wrlock (lock); /* Create all possible locale entries which might be interested in generalization. */ retval = _nl_make_l10nflist (&_nl_loaded_domains, dirname, strlen (dirname) + 1, mask, language, territory, codeset, normalized_codeset, modifier, domainname, 1); gl_rwlock_unlock (lock); if (retval == NULL) /* This means we are out of core. */ return NULL; if (retval->decided <= 0) _nl_load_domain (retval, domainbinding); if (retval->data == NULL) { int cnt; for (cnt = 0; retval->successor[cnt] != NULL; ++cnt) { if (retval->successor[cnt]->decided <= 0) _nl_load_domain (retval->successor[cnt], domainbinding); if (retval->successor[cnt]->data != NULL) break; } } /* The room for an alias was dynamically allocated. Free it now. */ if (alias_value != NULL) free (locale); /* The space for normalized_codeset is dynamically allocated. Free it. */ if (mask & XPG_NORM_CODESET) free ((void *) normalized_codeset); return retval; } #ifdef _LIBC /* This is called from iconv/gconv_db.c's free_mem, as locales must be freed before freeing gconv steps arrays. */ void __libc_freeres_fn_section _nl_finddomain_subfreeres () { struct loaded_l10nfile *runp = _nl_loaded_domains; while (runp != NULL) { struct loaded_l10nfile *here = runp; if (runp->data != NULL) _nl_unload_domain ((struct loaded_domain *) runp->data); runp = runp->next; free ((char *) here->filename); free (here); } } #endif geda-gaf-1.8.2/intl/lock.h0000664000175000017500000007523312050467633012167 00000000000000/* Locking in multithreaded situations. Copyright (C) 2005-2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* Written by Bruno Haible , 2005. Based on GCC's gthr-posix.h, gthr-posix95.h, gthr-solaris.h, gthr-win32.h. */ /* This file contains locking primitives for use with a given thread library. It does not contain primitives for creating threads or for other synchronization primitives. Normal (non-recursive) locks: Type: gl_lock_t Declaration: gl_lock_define(extern, name) Initializer: gl_lock_define_initialized(, name) Initialization: gl_lock_init (name); Taking the lock: gl_lock_lock (name); Releasing the lock: gl_lock_unlock (name); De-initialization: gl_lock_destroy (name); Read-Write (non-recursive) locks: Type: gl_rwlock_t Declaration: gl_rwlock_define(extern, name) Initializer: gl_rwlock_define_initialized(, name) Initialization: gl_rwlock_init (name); Taking the lock: gl_rwlock_rdlock (name); gl_rwlock_wrlock (name); Releasing the lock: gl_rwlock_unlock (name); De-initialization: gl_rwlock_destroy (name); Recursive locks: Type: gl_recursive_lock_t Declaration: gl_recursive_lock_define(extern, name) Initializer: gl_recursive_lock_define_initialized(, name) Initialization: gl_recursive_lock_init (name); Taking the lock: gl_recursive_lock_lock (name); Releasing the lock: gl_recursive_lock_unlock (name); De-initialization: gl_recursive_lock_destroy (name); Once-only execution: Type: gl_once_t Initializer: gl_once_define(extern, name) Execution: gl_once (name, initfunction); */ #ifndef _LOCK_H #define _LOCK_H /* ========================================================================= */ #if USE_POSIX_THREADS /* Use the POSIX threads library. */ # include # include # ifdef __cplusplus extern "C" { # endif # if PTHREAD_IN_USE_DETECTION_HARD /* The pthread_in_use() detection needs to be done at runtime. */ # define pthread_in_use() \ glthread_in_use () extern int glthread_in_use (void); # endif # if USE_POSIX_THREADS_WEAK /* Use weak references to the POSIX threads library. */ /* Weak references avoid dragging in external libraries if the other parts of the program don't use them. Here we use them, because we don't want every program that uses libintl to depend on libpthread. This assumes that libpthread would not be loaded after libintl; i.e. if libintl is loaded first, by an executable that does not depend on libpthread, and then a module is dynamically loaded that depends on libpthread, libintl will not be multithread-safe. */ /* The way to test at runtime whether libpthread is present is to test whether a function pointer's value, such as &pthread_mutex_init, is non-NULL. However, some versions of GCC have a bug through which, in PIC mode, &foo != NULL always evaluates to true if there is a direct call to foo(...) in the same function. To avoid this, we test the address of a function in libpthread that we don't use. */ # pragma weak pthread_mutex_init # pragma weak pthread_mutex_lock # pragma weak pthread_mutex_unlock # pragma weak pthread_mutex_destroy # pragma weak pthread_rwlock_init # pragma weak pthread_rwlock_rdlock # pragma weak pthread_rwlock_wrlock # pragma weak pthread_rwlock_unlock # pragma weak pthread_rwlock_destroy # pragma weak pthread_once # pragma weak pthread_cond_init # pragma weak pthread_cond_wait # pragma weak pthread_cond_signal # pragma weak pthread_cond_broadcast # pragma weak pthread_cond_destroy # pragma weak pthread_mutexattr_init # pragma weak pthread_mutexattr_settype # pragma weak pthread_mutexattr_destroy # ifndef pthread_self # pragma weak pthread_self # endif # if !PTHREAD_IN_USE_DETECTION_HARD # pragma weak pthread_cancel # define pthread_in_use() (pthread_cancel != NULL) # endif # else # if !PTHREAD_IN_USE_DETECTION_HARD # define pthread_in_use() 1 # endif # endif /* -------------------------- gl_lock_t datatype -------------------------- */ typedef pthread_mutex_t gl_lock_t; # define gl_lock_define(STORAGECLASS, NAME) \ STORAGECLASS pthread_mutex_t NAME; # define gl_lock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS pthread_mutex_t NAME = gl_lock_initializer; # define gl_lock_initializer \ PTHREAD_MUTEX_INITIALIZER # define gl_lock_init(NAME) \ if (pthread_in_use () && pthread_mutex_init (&NAME, NULL) != 0) abort () # define gl_lock_lock(NAME) \ if (pthread_in_use () && pthread_mutex_lock (&NAME) != 0) abort () # define gl_lock_unlock(NAME) \ if (pthread_in_use () && pthread_mutex_unlock (&NAME) != 0) abort () # define gl_lock_destroy(NAME) \ if (pthread_in_use () && pthread_mutex_destroy (&NAME) != 0) abort () /* ------------------------- gl_rwlock_t datatype ------------------------- */ # if HAVE_PTHREAD_RWLOCK # ifdef PTHREAD_RWLOCK_INITIALIZER typedef pthread_rwlock_t gl_rwlock_t; # define gl_rwlock_define(STORAGECLASS, NAME) \ STORAGECLASS pthread_rwlock_t NAME; # define gl_rwlock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS pthread_rwlock_t NAME = gl_rwlock_initializer; # define gl_rwlock_initializer \ PTHREAD_RWLOCK_INITIALIZER # define gl_rwlock_init(NAME) \ if (pthread_in_use () && pthread_rwlock_init (&NAME, NULL) != 0) abort () # define gl_rwlock_rdlock(NAME) \ if (pthread_in_use () && pthread_rwlock_rdlock (&NAME) != 0) abort () # define gl_rwlock_wrlock(NAME) \ if (pthread_in_use () && pthread_rwlock_wrlock (&NAME) != 0) abort () # define gl_rwlock_unlock(NAME) \ if (pthread_in_use () && pthread_rwlock_unlock (&NAME) != 0) abort () # define gl_rwlock_destroy(NAME) \ if (pthread_in_use () && pthread_rwlock_destroy (&NAME) != 0) abort () # else typedef struct { int initialized; pthread_mutex_t guard; /* protects the initialization */ pthread_rwlock_t rwlock; /* read-write lock */ } gl_rwlock_t; # define gl_rwlock_define(STORAGECLASS, NAME) \ STORAGECLASS gl_rwlock_t NAME; # define gl_rwlock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS gl_rwlock_t NAME = gl_rwlock_initializer; # define gl_rwlock_initializer \ { 0, PTHREAD_MUTEX_INITIALIZER } # define gl_rwlock_init(NAME) \ if (pthread_in_use ()) glthread_rwlock_init (&NAME) # define gl_rwlock_rdlock(NAME) \ if (pthread_in_use ()) glthread_rwlock_rdlock (&NAME) # define gl_rwlock_wrlock(NAME) \ if (pthread_in_use ()) glthread_rwlock_wrlock (&NAME) # define gl_rwlock_unlock(NAME) \ if (pthread_in_use ()) glthread_rwlock_unlock (&NAME) # define gl_rwlock_destroy(NAME) \ if (pthread_in_use ()) glthread_rwlock_destroy (&NAME) extern void glthread_rwlock_init (gl_rwlock_t *lock); extern void glthread_rwlock_rdlock (gl_rwlock_t *lock); extern void glthread_rwlock_wrlock (gl_rwlock_t *lock); extern void glthread_rwlock_unlock (gl_rwlock_t *lock); extern void glthread_rwlock_destroy (gl_rwlock_t *lock); # endif # else typedef struct { pthread_mutex_t lock; /* protects the remaining fields */ pthread_cond_t waiting_readers; /* waiting readers */ pthread_cond_t waiting_writers; /* waiting writers */ unsigned int waiting_writers_count; /* number of waiting writers */ int runcount; /* number of readers running, or -1 when a writer runs */ } gl_rwlock_t; # define gl_rwlock_define(STORAGECLASS, NAME) \ STORAGECLASS gl_rwlock_t NAME; # define gl_rwlock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS gl_rwlock_t NAME = gl_rwlock_initializer; # define gl_rwlock_initializer \ { PTHREAD_MUTEX_INITIALIZER, PTHREAD_COND_INITIALIZER, PTHREAD_COND_INITIALIZER, 0, 0 } # define gl_rwlock_init(NAME) \ if (pthread_in_use ()) glthread_rwlock_init (&NAME) # define gl_rwlock_rdlock(NAME) \ if (pthread_in_use ()) glthread_rwlock_rdlock (&NAME) # define gl_rwlock_wrlock(NAME) \ if (pthread_in_use ()) glthread_rwlock_wrlock (&NAME) # define gl_rwlock_unlock(NAME) \ if (pthread_in_use ()) glthread_rwlock_unlock (&NAME) # define gl_rwlock_destroy(NAME) \ if (pthread_in_use ()) glthread_rwlock_destroy (&NAME) extern void glthread_rwlock_init (gl_rwlock_t *lock); extern void glthread_rwlock_rdlock (gl_rwlock_t *lock); extern void glthread_rwlock_wrlock (gl_rwlock_t *lock); extern void glthread_rwlock_unlock (gl_rwlock_t *lock); extern void glthread_rwlock_destroy (gl_rwlock_t *lock); # endif /* --------------------- gl_recursive_lock_t datatype --------------------- */ # if HAVE_PTHREAD_MUTEX_RECURSIVE # if defined PTHREAD_RECURSIVE_MUTEX_INITIALIZER || defined PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP typedef pthread_mutex_t gl_recursive_lock_t; # define gl_recursive_lock_define(STORAGECLASS, NAME) \ STORAGECLASS pthread_mutex_t NAME; # define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS pthread_mutex_t NAME = gl_recursive_lock_initializer; # ifdef PTHREAD_RECURSIVE_MUTEX_INITIALIZER # define gl_recursive_lock_initializer \ PTHREAD_RECURSIVE_MUTEX_INITIALIZER # else # define gl_recursive_lock_initializer \ PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP # endif # define gl_recursive_lock_init(NAME) \ if (pthread_in_use () && pthread_mutex_init (&NAME, NULL) != 0) abort () # define gl_recursive_lock_lock(NAME) \ if (pthread_in_use () && pthread_mutex_lock (&NAME) != 0) abort () # define gl_recursive_lock_unlock(NAME) \ if (pthread_in_use () && pthread_mutex_unlock (&NAME) != 0) abort () # define gl_recursive_lock_destroy(NAME) \ if (pthread_in_use () && pthread_mutex_destroy (&NAME) != 0) abort () # else typedef struct { pthread_mutex_t recmutex; /* recursive mutex */ pthread_mutex_t guard; /* protects the initialization */ int initialized; } gl_recursive_lock_t; # define gl_recursive_lock_define(STORAGECLASS, NAME) \ STORAGECLASS gl_recursive_lock_t NAME; # define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS gl_recursive_lock_t NAME = gl_recursive_lock_initializer; # define gl_recursive_lock_initializer \ { PTHREAD_MUTEX_INITIALIZER, PTHREAD_MUTEX_INITIALIZER, 0 } # define gl_recursive_lock_init(NAME) \ if (pthread_in_use ()) glthread_recursive_lock_init (&NAME) # define gl_recursive_lock_lock(NAME) \ if (pthread_in_use ()) glthread_recursive_lock_lock (&NAME) # define gl_recursive_lock_unlock(NAME) \ if (pthread_in_use ()) glthread_recursive_lock_unlock (&NAME) # define gl_recursive_lock_destroy(NAME) \ if (pthread_in_use ()) glthread_recursive_lock_destroy (&NAME) extern void glthread_recursive_lock_init (gl_recursive_lock_t *lock); extern void glthread_recursive_lock_lock (gl_recursive_lock_t *lock); extern void glthread_recursive_lock_unlock (gl_recursive_lock_t *lock); extern void glthread_recursive_lock_destroy (gl_recursive_lock_t *lock); # endif # else /* Old versions of POSIX threads on Solaris did not have recursive locks. We have to implement them ourselves. */ typedef struct { pthread_mutex_t mutex; pthread_t owner; unsigned long depth; } gl_recursive_lock_t; # define gl_recursive_lock_define(STORAGECLASS, NAME) \ STORAGECLASS gl_recursive_lock_t NAME; # define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS gl_recursive_lock_t NAME = gl_recursive_lock_initializer; # define gl_recursive_lock_initializer \ { PTHREAD_MUTEX_INITIALIZER, (pthread_t) 0, 0 } # define gl_recursive_lock_init(NAME) \ if (pthread_in_use ()) glthread_recursive_lock_init (&NAME) # define gl_recursive_lock_lock(NAME) \ if (pthread_in_use ()) glthread_recursive_lock_lock (&NAME) # define gl_recursive_lock_unlock(NAME) \ if (pthread_in_use ()) glthread_recursive_lock_unlock (&NAME) # define gl_recursive_lock_destroy(NAME) \ if (pthread_in_use ()) glthread_recursive_lock_destroy (&NAME) extern void glthread_recursive_lock_init (gl_recursive_lock_t *lock); extern void glthread_recursive_lock_lock (gl_recursive_lock_t *lock); extern void glthread_recursive_lock_unlock (gl_recursive_lock_t *lock); extern void glthread_recursive_lock_destroy (gl_recursive_lock_t *lock); # endif /* -------------------------- gl_once_t datatype -------------------------- */ typedef pthread_once_t gl_once_t; # define gl_once_define(STORAGECLASS, NAME) \ STORAGECLASS pthread_once_t NAME = PTHREAD_ONCE_INIT; # define gl_once(NAME, INITFUNCTION) \ do \ { \ if (pthread_in_use ()) \ { \ if (pthread_once (&NAME, INITFUNCTION) != 0) \ abort (); \ } \ else \ { \ if (glthread_once_singlethreaded (&NAME)) \ INITFUNCTION (); \ } \ } \ while (0) extern int glthread_once_singlethreaded (pthread_once_t *once_control); # ifdef __cplusplus } # endif #endif /* ========================================================================= */ #if USE_PTH_THREADS /* Use the GNU Pth threads library. */ # include # include # ifdef __cplusplus extern "C" { # endif # if USE_PTH_THREADS_WEAK /* Use weak references to the GNU Pth threads library. */ # pragma weak pth_mutex_init # pragma weak pth_mutex_acquire # pragma weak pth_mutex_release # pragma weak pth_rwlock_init # pragma weak pth_rwlock_acquire # pragma weak pth_rwlock_release # pragma weak pth_once # pragma weak pth_cancel # define pth_in_use() (pth_cancel != NULL) # else # define pth_in_use() 1 # endif /* -------------------------- gl_lock_t datatype -------------------------- */ typedef pth_mutex_t gl_lock_t; # define gl_lock_define(STORAGECLASS, NAME) \ STORAGECLASS pth_mutex_t NAME; # define gl_lock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS pth_mutex_t NAME = gl_lock_initializer; # define gl_lock_initializer \ PTH_MUTEX_INIT # define gl_lock_init(NAME) \ if (pth_in_use() && !pth_mutex_init (&NAME)) abort () # define gl_lock_lock(NAME) \ if (pth_in_use() && !pth_mutex_acquire (&NAME, 0, NULL)) abort () # define gl_lock_unlock(NAME) \ if (pth_in_use() && !pth_mutex_release (&NAME)) abort () # define gl_lock_destroy(NAME) \ (void)(&NAME) /* ------------------------- gl_rwlock_t datatype ------------------------- */ typedef pth_rwlock_t gl_rwlock_t; # define gl_rwlock_define(STORAGECLASS, NAME) \ STORAGECLASS pth_rwlock_t NAME; # define gl_rwlock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS pth_rwlock_t NAME = gl_rwlock_initializer; # define gl_rwlock_initializer \ PTH_RWLOCK_INIT # define gl_rwlock_init(NAME) \ if (pth_in_use() && !pth_rwlock_init (&NAME)) abort () # define gl_rwlock_rdlock(NAME) \ if (pth_in_use() && !pth_rwlock_acquire (&NAME, PTH_RWLOCK_RD, 0, NULL)) abort () # define gl_rwlock_wrlock(NAME) \ if (pth_in_use() && !pth_rwlock_acquire (&NAME, PTH_RWLOCK_RW, 0, NULL)) abort () # define gl_rwlock_unlock(NAME) \ if (pth_in_use() && !pth_rwlock_release (&NAME)) abort () # define gl_rwlock_destroy(NAME) \ (void)(&NAME) /* --------------------- gl_recursive_lock_t datatype --------------------- */ /* In Pth, mutexes are recursive by default. */ typedef pth_mutex_t gl_recursive_lock_t; # define gl_recursive_lock_define(STORAGECLASS, NAME) \ STORAGECLASS pth_mutex_t NAME; # define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS pth_mutex_t NAME = gl_recursive_lock_initializer; # define gl_recursive_lock_initializer \ PTH_MUTEX_INIT # define gl_recursive_lock_init(NAME) \ if (pth_in_use() && !pth_mutex_init (&NAME)) abort () # define gl_recursive_lock_lock(NAME) \ if (pth_in_use() && !pth_mutex_acquire (&NAME, 0, NULL)) abort () # define gl_recursive_lock_unlock(NAME) \ if (pth_in_use() && !pth_mutex_release (&NAME)) abort () # define gl_recursive_lock_destroy(NAME) \ (void)(&NAME) /* -------------------------- gl_once_t datatype -------------------------- */ typedef pth_once_t gl_once_t; # define gl_once_define(STORAGECLASS, NAME) \ STORAGECLASS pth_once_t NAME = PTH_ONCE_INIT; # define gl_once(NAME, INITFUNCTION) \ do \ { \ if (pth_in_use ()) \ { \ void (*gl_once_temp) (void) = INITFUNCTION; \ if (!pth_once (&NAME, glthread_once_call, &gl_once_temp)) \ abort (); \ } \ else \ { \ if (glthread_once_singlethreaded (&NAME)) \ INITFUNCTION (); \ } \ } \ while (0) extern void glthread_once_call (void *arg); extern int glthread_once_singlethreaded (pth_once_t *once_control); # ifdef __cplusplus } # endif #endif /* ========================================================================= */ #if USE_SOLARIS_THREADS /* Use the old Solaris threads library. */ # include # include # include # ifdef __cplusplus extern "C" { # endif # if USE_SOLARIS_THREADS_WEAK /* Use weak references to the old Solaris threads library. */ # pragma weak mutex_init # pragma weak mutex_lock # pragma weak mutex_unlock # pragma weak mutex_destroy # pragma weak rwlock_init # pragma weak rw_rdlock # pragma weak rw_wrlock # pragma weak rw_unlock # pragma weak rwlock_destroy # pragma weak thr_self # pragma weak thr_suspend # define thread_in_use() (thr_suspend != NULL) # else # define thread_in_use() 1 # endif /* -------------------------- gl_lock_t datatype -------------------------- */ typedef mutex_t gl_lock_t; # define gl_lock_define(STORAGECLASS, NAME) \ STORAGECLASS mutex_t NAME; # define gl_lock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS mutex_t NAME = gl_lock_initializer; # define gl_lock_initializer \ DEFAULTMUTEX # define gl_lock_init(NAME) \ if (thread_in_use () && mutex_init (&NAME, USYNC_THREAD, NULL) != 0) abort () # define gl_lock_lock(NAME) \ if (thread_in_use () && mutex_lock (&NAME) != 0) abort () # define gl_lock_unlock(NAME) \ if (thread_in_use () && mutex_unlock (&NAME) != 0) abort () # define gl_lock_destroy(NAME) \ if (thread_in_use () && mutex_destroy (&NAME) != 0) abort () /* ------------------------- gl_rwlock_t datatype ------------------------- */ typedef rwlock_t gl_rwlock_t; # define gl_rwlock_define(STORAGECLASS, NAME) \ STORAGECLASS rwlock_t NAME; # define gl_rwlock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS rwlock_t NAME = gl_rwlock_initializer; # define gl_rwlock_initializer \ DEFAULTRWLOCK # define gl_rwlock_init(NAME) \ if (thread_in_use () && rwlock_init (&NAME, USYNC_THREAD, NULL) != 0) abort () # define gl_rwlock_rdlock(NAME) \ if (thread_in_use () && rw_rdlock (&NAME) != 0) abort () # define gl_rwlock_wrlock(NAME) \ if (thread_in_use () && rw_wrlock (&NAME) != 0) abort () # define gl_rwlock_unlock(NAME) \ if (thread_in_use () && rw_unlock (&NAME) != 0) abort () # define gl_rwlock_destroy(NAME) \ if (thread_in_use () && rwlock_destroy (&NAME) != 0) abort () /* --------------------- gl_recursive_lock_t datatype --------------------- */ /* Old Solaris threads did not have recursive locks. We have to implement them ourselves. */ typedef struct { mutex_t mutex; thread_t owner; unsigned long depth; } gl_recursive_lock_t; # define gl_recursive_lock_define(STORAGECLASS, NAME) \ STORAGECLASS gl_recursive_lock_t NAME; # define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS gl_recursive_lock_t NAME = gl_recursive_lock_initializer; # define gl_recursive_lock_initializer \ { DEFAULTMUTEX, (thread_t) 0, 0 } # define gl_recursive_lock_init(NAME) \ if (thread_in_use ()) glthread_recursive_lock_init (&NAME) # define gl_recursive_lock_lock(NAME) \ if (thread_in_use ()) glthread_recursive_lock_lock (&NAME) # define gl_recursive_lock_unlock(NAME) \ if (thread_in_use ()) glthread_recursive_lock_unlock (&NAME) # define gl_recursive_lock_destroy(NAME) \ if (thread_in_use ()) glthread_recursive_lock_destroy (&NAME) extern void glthread_recursive_lock_init (gl_recursive_lock_t *lock); extern void glthread_recursive_lock_lock (gl_recursive_lock_t *lock); extern void glthread_recursive_lock_unlock (gl_recursive_lock_t *lock); extern void glthread_recursive_lock_destroy (gl_recursive_lock_t *lock); /* -------------------------- gl_once_t datatype -------------------------- */ typedef struct { volatile int inited; mutex_t mutex; } gl_once_t; # define gl_once_define(STORAGECLASS, NAME) \ STORAGECLASS gl_once_t NAME = { 0, DEFAULTMUTEX }; # define gl_once(NAME, INITFUNCTION) \ do \ { \ if (thread_in_use ()) \ { \ glthread_once (&NAME, INITFUNCTION); \ } \ else \ { \ if (glthread_once_singlethreaded (&NAME)) \ INITFUNCTION (); \ } \ } \ while (0) extern void glthread_once (gl_once_t *once_control, void (*initfunction) (void)); extern int glthread_once_singlethreaded (gl_once_t *once_control); # ifdef __cplusplus } # endif #endif /* ========================================================================= */ #if USE_WIN32_THREADS # include # ifdef __cplusplus extern "C" { # endif /* We can use CRITICAL_SECTION directly, rather than the Win32 Event, Mutex, Semaphore types, because - we need only to synchronize inside a single process (address space), not inter-process locking, - we don't need to support trylock operations. (TryEnterCriticalSection does not work on Windows 95/98/ME. Packages that need trylock usually define their own mutex type.) */ /* There is no way to statically initialize a CRITICAL_SECTION. It needs to be done lazily, once only. For this we need spinlocks. */ typedef struct { volatile int done; volatile long started; } gl_spinlock_t; /* -------------------------- gl_lock_t datatype -------------------------- */ typedef struct { gl_spinlock_t guard; /* protects the initialization */ CRITICAL_SECTION lock; } gl_lock_t; # define gl_lock_define(STORAGECLASS, NAME) \ STORAGECLASS gl_lock_t NAME; # define gl_lock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS gl_lock_t NAME = gl_lock_initializer; # define gl_lock_initializer \ { { 0, -1 } } # define gl_lock_init(NAME) \ glthread_lock_init (&NAME) # define gl_lock_lock(NAME) \ glthread_lock_lock (&NAME) # define gl_lock_unlock(NAME) \ glthread_lock_unlock (&NAME) # define gl_lock_destroy(NAME) \ glthread_lock_destroy (&NAME) extern void glthread_lock_init (gl_lock_t *lock); extern void glthread_lock_lock (gl_lock_t *lock); extern void glthread_lock_unlock (gl_lock_t *lock); extern void glthread_lock_destroy (gl_lock_t *lock); /* ------------------------- gl_rwlock_t datatype ------------------------- */ /* It is impossible to implement read-write locks using plain locks, without introducing an extra thread dedicated to managing read-write locks. Therefore here we need to use the low-level Event type. */ typedef struct { HANDLE *array; /* array of waiting threads, each represented by an event */ unsigned int count; /* number of waiting threads */ unsigned int alloc; /* length of allocated array */ unsigned int offset; /* index of first waiting thread in array */ } gl_waitqueue_t; typedef struct { gl_spinlock_t guard; /* protects the initialization */ CRITICAL_SECTION lock; /* protects the remaining fields */ gl_waitqueue_t waiting_readers; /* waiting readers */ gl_waitqueue_t waiting_writers; /* waiting writers */ int runcount; /* number of readers running, or -1 when a writer runs */ } gl_rwlock_t; # define gl_rwlock_define(STORAGECLASS, NAME) \ STORAGECLASS gl_rwlock_t NAME; # define gl_rwlock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS gl_rwlock_t NAME = gl_rwlock_initializer; # define gl_rwlock_initializer \ { { 0, -1 } } # define gl_rwlock_init(NAME) \ glthread_rwlock_init (&NAME) # define gl_rwlock_rdlock(NAME) \ glthread_rwlock_rdlock (&NAME) # define gl_rwlock_wrlock(NAME) \ glthread_rwlock_wrlock (&NAME) # define gl_rwlock_unlock(NAME) \ glthread_rwlock_unlock (&NAME) # define gl_rwlock_destroy(NAME) \ glthread_rwlock_destroy (&NAME) extern void glthread_rwlock_init (gl_rwlock_t *lock); extern void glthread_rwlock_rdlock (gl_rwlock_t *lock); extern void glthread_rwlock_wrlock (gl_rwlock_t *lock); extern void glthread_rwlock_unlock (gl_rwlock_t *lock); extern void glthread_rwlock_destroy (gl_rwlock_t *lock); /* --------------------- gl_recursive_lock_t datatype --------------------- */ /* The Win32 documentation says that CRITICAL_SECTION already implements a recursive lock. But we need not rely on it: It's easy to implement a recursive lock without this assumption. */ typedef struct { gl_spinlock_t guard; /* protects the initialization */ DWORD owner; unsigned long depth; CRITICAL_SECTION lock; } gl_recursive_lock_t; # define gl_recursive_lock_define(STORAGECLASS, NAME) \ STORAGECLASS gl_recursive_lock_t NAME; # define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS gl_recursive_lock_t NAME = gl_recursive_lock_initializer; # define gl_recursive_lock_initializer \ { { 0, -1 }, 0, 0 } # define gl_recursive_lock_init(NAME) \ glthread_recursive_lock_init (&NAME) # define gl_recursive_lock_lock(NAME) \ glthread_recursive_lock_lock (&NAME) # define gl_recursive_lock_unlock(NAME) \ glthread_recursive_lock_unlock (&NAME) # define gl_recursive_lock_destroy(NAME) \ glthread_recursive_lock_destroy (&NAME) extern void glthread_recursive_lock_init (gl_recursive_lock_t *lock); extern void glthread_recursive_lock_lock (gl_recursive_lock_t *lock); extern void glthread_recursive_lock_unlock (gl_recursive_lock_t *lock); extern void glthread_recursive_lock_destroy (gl_recursive_lock_t *lock); /* -------------------------- gl_once_t datatype -------------------------- */ typedef struct { volatile int inited; volatile long started; CRITICAL_SECTION lock; } gl_once_t; # define gl_once_define(STORAGECLASS, NAME) \ STORAGECLASS gl_once_t NAME = { -1, -1 }; # define gl_once(NAME, INITFUNCTION) \ glthread_once (&NAME, INITFUNCTION) extern void glthread_once (gl_once_t *once_control, void (*initfunction) (void)); # ifdef __cplusplus } # endif #endif /* ========================================================================= */ #if !(USE_POSIX_THREADS || USE_PTH_THREADS || USE_SOLARIS_THREADS || USE_WIN32_THREADS) /* Provide dummy implementation if threads are not supported. */ /* -------------------------- gl_lock_t datatype -------------------------- */ typedef int gl_lock_t; # define gl_lock_define(STORAGECLASS, NAME) # define gl_lock_define_initialized(STORAGECLASS, NAME) # define gl_lock_init(NAME) # define gl_lock_lock(NAME) # define gl_lock_unlock(NAME) /* ------------------------- gl_rwlock_t datatype ------------------------- */ typedef int gl_rwlock_t; # define gl_rwlock_define(STORAGECLASS, NAME) # define gl_rwlock_define_initialized(STORAGECLASS, NAME) # define gl_rwlock_init(NAME) # define gl_rwlock_rdlock(NAME) # define gl_rwlock_wrlock(NAME) # define gl_rwlock_unlock(NAME) /* --------------------- gl_recursive_lock_t datatype --------------------- */ typedef int gl_recursive_lock_t; # define gl_recursive_lock_define(STORAGECLASS, NAME) # define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) # define gl_recursive_lock_init(NAME) # define gl_recursive_lock_lock(NAME) # define gl_recursive_lock_unlock(NAME) /* -------------------------- gl_once_t datatype -------------------------- */ typedef int gl_once_t; # define gl_once_define(STORAGECLASS, NAME) \ STORAGECLASS gl_once_t NAME = 0; # define gl_once(NAME, INITFUNCTION) \ do \ { \ if (NAME == 0) \ { \ NAME = ~ 0; \ INITFUNCTION (); \ } \ } \ while (0) #endif /* ========================================================================= */ #endif /* _LOCK_H */ geda-gaf-1.8.2/intl/langprefs.c0000664000175000017500000000737512050467633013215 00000000000000/* Determine the user's language preferences. Copyright (C) 2004-2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* Written by Bruno Haible . */ #ifdef HAVE_CONFIG_H # include #endif #include #if HAVE_CFPREFERENCESCOPYAPPVALUE # include # include # include # include # include extern void _nl_locale_name_canonicalize (char *name); #endif /* Determine the user's language preferences, as a colon separated list of locale names in XPG syntax language[_territory][.codeset][@modifier] The result must not be freed; it is statically allocated. The LANGUAGE environment variable does not need to be considered; it is already taken into account by the caller. */ const char * _nl_language_preferences_default (void) { #if HAVE_CFPREFERENCESCOPYAPPVALUE /* MacOS X 10.2 or newer */ { /* Cache the preferences list, since CoreFoundation calls are expensive. */ static const char *cached_languages; static int cache_initialized; if (!cache_initialized) { CFTypeRef preferences = CFPreferencesCopyAppValue (CFSTR ("AppleLanguages"), kCFPreferencesCurrentApplication); if (preferences != NULL && CFGetTypeID (preferences) == CFArrayGetTypeID ()) { CFArrayRef prefArray = (CFArrayRef)preferences; int n = CFArrayGetCount (prefArray); char buf[256]; size_t size = 0; int i; for (i = 0; i < n; i++) { CFTypeRef element = CFArrayGetValueAtIndex (prefArray, i); if (element != NULL && CFGetTypeID (element) == CFStringGetTypeID () && CFStringGetCString ((CFStringRef)element, buf, sizeof (buf), kCFStringEncodingASCII)) { _nl_locale_name_canonicalize (buf); size += strlen (buf) + 1; /* Most GNU programs use msgids in English and don't ship an en.mo message catalog. Therefore when we see "en" in the preferences list, arrange for gettext() to return the msgid, and ignore all further elements of the preferences list. */ if (strcmp (buf, "en") == 0) break; } else break; } if (size > 0) { char *languages = (char *) malloc (size); if (languages != NULL) { char *p = languages; for (i = 0; i < n; i++) { CFTypeRef element = CFArrayGetValueAtIndex (prefArray, i); if (element != NULL && CFGetTypeID (element) == CFStringGetTypeID () && CFStringGetCString ((CFStringRef)element, buf, sizeof (buf), kCFStringEncodingASCII)) { _nl_locale_name_canonicalize (buf); strcpy (p, buf); p += strlen (buf); *p++ = ':'; if (strcmp (buf, "en") == 0) break; } else break; } *--p = '\0'; cached_languages = languages; } } } cache_initialized = 1; } if (cached_languages != NULL) return cached_languages; } #endif return NULL; } geda-gaf-1.8.2/intl/printf-args.h0000664000175000017500000000553412050467633013470 00000000000000/* Decomposed printf argument list. Copyright (C) 1999, 2002-2003, 2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _PRINTF_ARGS_H #define _PRINTF_ARGS_H /* Get size_t. */ #include /* Get wchar_t. */ #ifdef HAVE_WCHAR_T # include #endif /* Get wint_t. */ #ifdef HAVE_WINT_T # include #endif /* Get va_list. */ #include /* Argument types */ typedef enum { TYPE_NONE, TYPE_SCHAR, TYPE_UCHAR, TYPE_SHORT, TYPE_USHORT, TYPE_INT, TYPE_UINT, TYPE_LONGINT, TYPE_ULONGINT, #ifdef HAVE_LONG_LONG_INT TYPE_LONGLONGINT, TYPE_ULONGLONGINT, #endif TYPE_DOUBLE, #ifdef HAVE_LONG_DOUBLE TYPE_LONGDOUBLE, #endif TYPE_CHAR, #ifdef HAVE_WINT_T TYPE_WIDE_CHAR, #endif TYPE_STRING, #ifdef HAVE_WCHAR_T TYPE_WIDE_STRING, #endif TYPE_POINTER, TYPE_COUNT_SCHAR_POINTER, TYPE_COUNT_SHORT_POINTER, TYPE_COUNT_INT_POINTER, TYPE_COUNT_LONGINT_POINTER #ifdef HAVE_LONG_LONG_INT , TYPE_COUNT_LONGLONGINT_POINTER #endif } arg_type; /* Polymorphic argument */ typedef struct { arg_type type; union { signed char a_schar; unsigned char a_uchar; short a_short; unsigned short a_ushort; int a_int; unsigned int a_uint; long int a_longint; unsigned long int a_ulongint; #ifdef HAVE_LONG_LONG_INT long long int a_longlongint; unsigned long long int a_ulonglongint; #endif float a_float; double a_double; #ifdef HAVE_LONG_DOUBLE long double a_longdouble; #endif int a_char; #ifdef HAVE_WINT_T wint_t a_wide_char; #endif const char* a_string; #ifdef HAVE_WCHAR_T const wchar_t* a_wide_string; #endif void* a_pointer; signed char * a_count_schar_pointer; short * a_count_short_pointer; int * a_count_int_pointer; long int * a_count_longint_pointer; #ifdef HAVE_LONG_LONG_INT long long int * a_count_longlongint_pointer; #endif } a; } argument; typedef struct { size_t count; argument *arg; } arguments; /* Fetch the arguments, putting them into a. */ #ifdef STATIC STATIC #else extern #endif int printf_fetchargs (va_list args, arguments *a); #endif /* _PRINTF_ARGS_H */ geda-gaf-1.8.2/intl/ref-del.sin0000664000175000017500000000203012050467634013101 00000000000000# Remove this package from a list of references stored in a text file. # # Copyright (C) 2000 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify it # under the terms of the GNU Library General Public License as published # by the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, # USA. # # Written by Bruno Haible . # /^# Packages using this file: / { s/# Packages using this file:// s/ @PACKAGE@ / / s/^/# Packages using this file:/ } geda-gaf-1.8.2/intl/plural.y0000664000175000017500000001646112050467633012555 00000000000000%{ /* Expression parsing for plural form selection. Copyright (C) 2000-2001, 2003, 2005 Free Software Foundation, Inc. Written by Ulrich Drepper , 2000. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* For bison < 2.0, the bison generated parser uses alloca. AIX 3 forces us to put this declaration at the beginning of the file. The declaration in bison's skeleton file comes too late. This must come before because may include arbitrary system headers. This can go away once the AM_INTL_SUBDIR macro requires bison >= 2.0. */ #if defined _AIX && !defined __GNUC__ #pragma alloca #endif #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include "plural-exp.h" /* The main function generated by the parser is called __gettextparse, but we want it to be called PLURAL_PARSE. */ #ifndef _LIBC # define __gettextparse PLURAL_PARSE #endif #define YYLEX_PARAM &((struct parse_args *) arg)->cp #define YYPARSE_PARAM arg %} %pure_parser %expect 7 %union { unsigned long int num; enum operator op; struct expression *exp; } %{ /* Prototypes for local functions. */ static int yylex (YYSTYPE *lval, const char **pexp); static void yyerror (const char *str); /* Allocation of expressions. */ static struct expression * new_exp (int nargs, enum operator op, struct expression * const *args) { int i; struct expression *newp; /* If any of the argument could not be malloc'ed, just return NULL. */ for (i = nargs - 1; i >= 0; i--) if (args[i] == NULL) goto fail; /* Allocate a new expression. */ newp = (struct expression *) malloc (sizeof (*newp)); if (newp != NULL) { newp->nargs = nargs; newp->operation = op; for (i = nargs - 1; i >= 0; i--) newp->val.args[i] = args[i]; return newp; } fail: for (i = nargs - 1; i >= 0; i--) FREE_EXPRESSION (args[i]); return NULL; } static inline struct expression * new_exp_0 (enum operator op) { return new_exp (0, op, NULL); } static inline struct expression * new_exp_1 (enum operator op, struct expression *right) { struct expression *args[1]; args[0] = right; return new_exp (1, op, args); } static struct expression * new_exp_2 (enum operator op, struct expression *left, struct expression *right) { struct expression *args[2]; args[0] = left; args[1] = right; return new_exp (2, op, args); } static inline struct expression * new_exp_3 (enum operator op, struct expression *bexp, struct expression *tbranch, struct expression *fbranch) { struct expression *args[3]; args[0] = bexp; args[1] = tbranch; args[2] = fbranch; return new_exp (3, op, args); } %} /* This declares that all operators have the same associativity and the precedence order as in C. See [Harbison, Steele: C, A Reference Manual]. There is no unary minus and no bitwise operators. Operators with the same syntactic behaviour have been merged into a single token, to save space in the array generated by bison. */ %right '?' /* ? */ %left '|' /* || */ %left '&' /* && */ %left EQUOP2 /* == != */ %left CMPOP2 /* < > <= >= */ %left ADDOP2 /* + - */ %left MULOP2 /* * / % */ %right '!' /* ! */ %token EQUOP2 CMPOP2 ADDOP2 MULOP2 %token NUMBER %type exp %% start: exp { if ($1 == NULL) YYABORT; ((struct parse_args *) arg)->res = $1; } ; exp: exp '?' exp ':' exp { $$ = new_exp_3 (qmop, $1, $3, $5); } | exp '|' exp { $$ = new_exp_2 (lor, $1, $3); } | exp '&' exp { $$ = new_exp_2 (land, $1, $3); } | exp EQUOP2 exp { $$ = new_exp_2 ($2, $1, $3); } | exp CMPOP2 exp { $$ = new_exp_2 ($2, $1, $3); } | exp ADDOP2 exp { $$ = new_exp_2 ($2, $1, $3); } | exp MULOP2 exp { $$ = new_exp_2 ($2, $1, $3); } | '!' exp { $$ = new_exp_1 (lnot, $2); } | 'n' { $$ = new_exp_0 (var); } | NUMBER { if (($$ = new_exp_0 (num)) != NULL) $$->val.num = $1; } | '(' exp ')' { $$ = $2; } ; %% void internal_function FREE_EXPRESSION (struct expression *exp) { if (exp == NULL) return; /* Handle the recursive case. */ switch (exp->nargs) { case 3: FREE_EXPRESSION (exp->val.args[2]); /* FALLTHROUGH */ case 2: FREE_EXPRESSION (exp->val.args[1]); /* FALLTHROUGH */ case 1: FREE_EXPRESSION (exp->val.args[0]); /* FALLTHROUGH */ default: break; } free (exp); } static int yylex (YYSTYPE *lval, const char **pexp) { const char *exp = *pexp; int result; while (1) { if (exp[0] == '\0') { *pexp = exp; return YYEOF; } if (exp[0] != ' ' && exp[0] != '\t') break; ++exp; } result = *exp++; switch (result) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': { unsigned long int n = result - '0'; while (exp[0] >= '0' && exp[0] <= '9') { n *= 10; n += exp[0] - '0'; ++exp; } lval->num = n; result = NUMBER; } break; case '=': if (exp[0] == '=') { ++exp; lval->op = equal; result = EQUOP2; } else result = YYERRCODE; break; case '!': if (exp[0] == '=') { ++exp; lval->op = not_equal; result = EQUOP2; } break; case '&': case '|': if (exp[0] == result) ++exp; else result = YYERRCODE; break; case '<': if (exp[0] == '=') { ++exp; lval->op = less_or_equal; } else lval->op = less_than; result = CMPOP2; break; case '>': if (exp[0] == '=') { ++exp; lval->op = greater_or_equal; } else lval->op = greater_than; result = CMPOP2; break; case '*': lval->op = mult; result = MULOP2; break; case '/': lval->op = divide; result = MULOP2; break; case '%': lval->op = module; result = MULOP2; break; case '+': lval->op = plus; result = ADDOP2; break; case '-': lval->op = minus; result = ADDOP2; break; case 'n': case '?': case ':': case '(': case ')': /* Nothing, just return the character. */ break; case ';': case '\n': case '\0': /* Be safe and let the user call this function again. */ --exp; result = YYEOF; break; default: result = YYERRCODE; #if YYDEBUG != 0 --exp; #endif break; } *pexp = exp; return result; } static void yyerror (const char *str) { /* Do nothing. We don't print error messages here. */ } geda-gaf-1.8.2/intl/Makefile.in0000664000175000017500000004553112050467633013131 00000000000000# Makefile for directory with message catalog handling library of GNU gettext # Copyright (C) 1995-1998, 2000-2006 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify it # under the terms of the GNU Library General Public License as published # by the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, # USA. PACKAGE = @PACKAGE@ VERSION = @VERSION@ SHELL = /bin/sh srcdir = @srcdir@ top_srcdir = @top_srcdir@ top_builddir = .. # The VPATH variables allows builds with $builddir != $srcdir, assuming a # 'make' program that supports VPATH (such as GNU make). This line is removed # by autoconf automatically when "$(srcdir)" = ".". # In this directory, the VPATH handling is particular: # 1. If INTL_LIBTOOL_SUFFIX_PREFIX is 'l' (indicating a build with libtool), # the .c -> .lo rules carefully use $(srcdir), so that VPATH can be omitted. # 2. If PACKAGE = gettext-tools, VPATH _must_ be omitted, because otherwise # 'make' does the wrong thing if GNU gettext was configured with # "./configure --srcdir=`pwd`", namely it gets confused by the .lo and .la # files it finds in srcdir = ../../gettext-runtime/intl. VPATH = $(srcdir) prefix = @prefix@ exec_prefix = @exec_prefix@ transform = @program_transform_name@ libdir = @libdir@ includedir = @includedir@ datarootdir = @datarootdir@ datadir = @datadir@ localedir = $(datadir)/locale gettextsrcdir = $(datadir)/gettext/intl aliaspath = $(localedir) subdir = intl INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ # We use $(mkdir_p). # In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as # "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions, # @install_sh@ does not start with $(SHELL), so we add it. # In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined # either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake # versions, $(mkinstalldirs) and $(install_sh) are unused. mkinstalldirs = $(SHELL) @install_sh@ -d install_sh = $(SHELL) @install_sh@ MKDIR_P = @MKDIR_P@ mkdir_p = @mkdir_p@ l = @INTL_LIBTOOL_SUFFIX_PREFIX@ AR = ar CC = @CC@ LIBTOOL = @LIBTOOL@ RANLIB = @RANLIB@ YACC = @INTLBISON@ -y -d YFLAGS = --name-prefix=__gettext # -DBUILDING_LIBINTL: Change expansion of LIBINTL_DLL_EXPORTED macro. # -DBUILDING_DLL: Change expansion of RELOCATABLE_DLL_EXPORTED macro. DEFS = -DLOCALEDIR=\"$(localedir)\" -DLOCALE_ALIAS_PATH=\"$(aliaspath)\" \ -DLIBDIR=\"$(libdir)\" -DBUILDING_LIBINTL -DBUILDING_DLL -DIN_LIBINTL \ -DENABLE_RELOCATABLE=1 -DIN_LIBRARY -DINSTALLDIR=\"$(libdir)\" -DNO_XMALLOC \ -Dset_relocation_prefix=libintl_set_relocation_prefix \ -Drelocate=libintl_relocate \ -DDEPENDS_ON_LIBICONV=1 @DEFS@ CPPFLAGS = @CPPFLAGS@ CFLAGS = @CFLAGS@ @CFLAG_VISIBILITY@ LDFLAGS = @LDFLAGS@ $(LDFLAGS_@WOE32DLL@) LDFLAGS_yes = -Wl,--export-all-symbols LDFLAGS_no = LIBS = @LIBS@ COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) HEADERS = \ gmo.h \ gettextP.h \ hash-string.h \ loadinfo.h \ plural-exp.h \ eval-plural.h \ localcharset.h \ lock.h \ relocatable.h \ xsize.h \ printf-args.h printf-args.c \ printf-parse.h wprintf-parse.h printf-parse.c \ vasnprintf.h vasnwprintf.h vasnprintf.c \ os2compat.h \ libgnuintl.h.in SOURCES = \ bindtextdom.c \ dcgettext.c \ dgettext.c \ gettext.c \ finddomain.c \ hash-string.c \ loadmsgcat.c \ localealias.c \ textdomain.c \ l10nflist.c \ explodename.c \ dcigettext.c \ dcngettext.c \ dngettext.c \ ngettext.c \ plural.y \ plural-exp.c \ localcharset.c \ lock.c \ relocatable.c \ langprefs.c \ localename.c \ log.c \ printf.c \ version.c \ osdep.c \ os2compat.c \ intl-exports.c \ intl-compat.c OBJECTS = \ bindtextdom.$lo \ dcgettext.$lo \ dgettext.$lo \ gettext.$lo \ finddomain.$lo \ hash-string.$lo \ loadmsgcat.$lo \ localealias.$lo \ textdomain.$lo \ l10nflist.$lo \ explodename.$lo \ dcigettext.$lo \ dcngettext.$lo \ dngettext.$lo \ ngettext.$lo \ plural.$lo \ plural-exp.$lo \ localcharset.$lo \ lock.$lo \ relocatable.$lo \ langprefs.$lo \ localename.$lo \ log.$lo \ printf.$lo \ version.$lo \ osdep.$lo \ intl-compat.$lo DISTFILES.common = Makefile.in \ config.charset locale.alias ref-add.sin ref-del.sin export.h \ $(HEADERS) $(SOURCES) DISTFILES.generated = plural.c DISTFILES.normal = VERSION DISTFILES.gettext = COPYING.LIB-2.0 COPYING.LIB-2.1 libintl.glibc README.woe32 DISTFILES.obsolete = xopen-msg.sed linux-msg.sed po2tbl.sed.in cat-compat.c \ COPYING.LIB-2 gettext.h libgettext.h plural-eval.c libgnuintl.h \ libgnuintl.h_vms Makefile.vms libgnuintl.h.msvc-static \ libgnuintl.h.msvc-shared Makefile.msvc all: all-@USE_INCLUDED_LIBINTL@ all-yes: libintl.$la libintl.h charset.alias ref-add.sed ref-del.sed all-no: all-no-@BUILD_INCLUDED_LIBINTL@ all-no-yes: libgnuintl.$la all-no-no: libintl.a libgnuintl.a: $(OBJECTS) rm -f $@ $(AR) cru $@ $(OBJECTS) $(RANLIB) $@ libintl.la libgnuintl.la: $(OBJECTS) $(LIBTOOL) --mode=link \ $(CC) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) $(LDFLAGS) -o $@ \ $(OBJECTS) @LTLIBICONV@ @INTL_MACOSX_LIBS@ $(LIBS) @LTLIBTHREAD@ -lc \ -version-info $(LTV_CURRENT):$(LTV_REVISION):$(LTV_AGE) \ -rpath $(libdir) \ -no-undefined # Libtool's library version information for libintl. # Before making a gettext release, the gettext maintainer must change this # according to the libtool documentation, section "Library interface versions". # Maintainers of other packages that include the intl directory must *not* # change these values. LTV_CURRENT=8 LTV_REVISION=1 LTV_AGE=0 .SUFFIXES: .SUFFIXES: .c .y .o .lo .sin .sed .c.o: $(COMPILE) $< .y.c: $(YACC) $(YFLAGS) --output $@ $< rm -f $*.h bindtextdom.lo: $(srcdir)/bindtextdom.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/bindtextdom.c dcgettext.lo: $(srcdir)/dcgettext.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dcgettext.c dgettext.lo: $(srcdir)/dgettext.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dgettext.c gettext.lo: $(srcdir)/gettext.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/gettext.c finddomain.lo: $(srcdir)/finddomain.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/finddomain.c hash-string.lo: $(srcdir)/hash-string.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/hash-string.c loadmsgcat.lo: $(srcdir)/loadmsgcat.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/loadmsgcat.c localealias.lo: $(srcdir)/localealias.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/localealias.c textdomain.lo: $(srcdir)/textdomain.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/textdomain.c l10nflist.lo: $(srcdir)/l10nflist.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/l10nflist.c explodename.lo: $(srcdir)/explodename.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/explodename.c dcigettext.lo: $(srcdir)/dcigettext.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dcigettext.c dcngettext.lo: $(srcdir)/dcngettext.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dcngettext.c dngettext.lo: $(srcdir)/dngettext.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dngettext.c ngettext.lo: $(srcdir)/ngettext.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/ngettext.c plural.lo: $(srcdir)/plural.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/plural.c plural-exp.lo: $(srcdir)/plural-exp.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/plural-exp.c localcharset.lo: $(srcdir)/localcharset.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/localcharset.c lock.lo: $(srcdir)/lock.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/lock.c relocatable.lo: $(srcdir)/relocatable.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/relocatable.c langprefs.lo: $(srcdir)/langprefs.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/langprefs.c localename.lo: $(srcdir)/localename.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/localename.c log.lo: $(srcdir)/log.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/log.c printf.lo: $(srcdir)/printf.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/printf.c version.lo: $(srcdir)/version.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/version.c osdep.lo: $(srcdir)/osdep.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/osdep.c intl-compat.lo: $(srcdir)/intl-compat.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/intl-compat.c ref-add.sed: $(srcdir)/ref-add.sin sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $(srcdir)/ref-add.sin > t-ref-add.sed mv t-ref-add.sed ref-add.sed ref-del.sed: $(srcdir)/ref-del.sin sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $(srcdir)/ref-del.sin > t-ref-del.sed mv t-ref-del.sed ref-del.sed INCLUDES = -I. -I$(srcdir) -I.. libgnuintl.h: $(srcdir)/libgnuintl.h.in sed -e '/IN_LIBGLOCALE/d' \ -e 's,@''HAVE_POSIX_PRINTF''@,@HAVE_POSIX_PRINTF@,g' \ -e 's,@''HAVE_ASPRINTF''@,@HAVE_ASPRINTF@,g' \ -e 's,@''HAVE_SNPRINTF''@,@HAVE_SNPRINTF@,g' \ -e 's,@''HAVE_WPRINTF''@,@HAVE_WPRINTF@,g' \ < $(srcdir)/libgnuintl.h.in \ | if test '@WOE32DLL@' = yes; then \ sed -e 's/extern \([^()]*\);/extern __declspec (dllimport) \1;/'; \ else \ cat; \ fi \ | sed -e 's/extern \([^"]\)/extern LIBINTL_DLL_EXPORTED \1/' \ -e "/#define _LIBINTL_H/r $(srcdir)/export.h" \ | sed -e 's,@''HAVE_VISIBILITY''@,@HAVE_VISIBILITY@,g' \ > libgnuintl.h libintl.h: $(srcdir)/libgnuintl.h.in sed -e '/IN_LIBGLOCALE/d' \ -e 's,@''HAVE_POSIX_PRINTF''@,@HAVE_POSIX_PRINTF@,g' \ -e 's,@''HAVE_ASPRINTF''@,@HAVE_ASPRINTF@,g' \ -e 's,@''HAVE_SNPRINTF''@,@HAVE_SNPRINTF@,g' \ -e 's,@''HAVE_WPRINTF''@,@HAVE_WPRINTF@,g' \ < $(srcdir)/libgnuintl.h.in > libintl.h charset.alias: $(srcdir)/config.charset $(SHELL) $(srcdir)/config.charset '@host@' > t-$@ mv t-$@ $@ check: all # We must not install the libintl.h/libintl.a files if we are on a # system which has the GNU gettext() function in its C library or in a # separate library. # If you want to use the one which comes with this version of the # package, you have to use `configure --with-included-gettext'. install: install-exec install-data install-exec: all if { test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; } \ && test '@USE_INCLUDED_LIBINTL@' = yes; then \ $(mkdir_p) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir); \ $(INSTALL_DATA) libintl.h $(DESTDIR)$(includedir)/libintl.h; \ $(LIBTOOL) --mode=install \ $(INSTALL_DATA) libintl.$la $(DESTDIR)$(libdir)/libintl.$la; \ if test "@RELOCATABLE@" = yes; then \ dependencies=`sed -n -e 's,^dependency_libs=\(.*\),\1,p' < $(DESTDIR)$(libdir)/libintl.la | sed -e "s,^',," -e "s,'\$$,,"`; \ if test -n "$$dependencies"; then \ rm -f $(DESTDIR)$(libdir)/libintl.la; \ fi; \ fi; \ else \ : ; \ fi if test "$(PACKAGE)" = "gettext-tools" \ && test '@USE_INCLUDED_LIBINTL@' = no \ && test @GLIBC2@ != no; then \ $(mkdir_p) $(DESTDIR)$(libdir); \ $(LIBTOOL) --mode=install \ $(INSTALL_DATA) libgnuintl.$la $(DESTDIR)$(libdir)/libgnuintl.$la; \ rm -f $(DESTDIR)$(libdir)/preloadable_libintl.so; \ $(INSTALL_DATA) $(DESTDIR)$(libdir)/libgnuintl.so $(DESTDIR)$(libdir)/preloadable_libintl.so; \ $(LIBTOOL) --mode=uninstall \ rm -f $(DESTDIR)$(libdir)/libgnuintl.$la; \ else \ : ; \ fi if test '@USE_INCLUDED_LIBINTL@' = yes; then \ test @GLIBC21@ != no || $(mkdir_p) $(DESTDIR)$(libdir); \ temp=$(DESTDIR)$(libdir)/t-charset.alias; \ dest=$(DESTDIR)$(libdir)/charset.alias; \ if test -f $(DESTDIR)$(libdir)/charset.alias; then \ orig=$(DESTDIR)$(libdir)/charset.alias; \ sed -f ref-add.sed $$orig > $$temp; \ $(INSTALL_DATA) $$temp $$dest; \ rm -f $$temp; \ else \ if test @GLIBC21@ = no; then \ orig=charset.alias; \ sed -f ref-add.sed $$orig > $$temp; \ $(INSTALL_DATA) $$temp $$dest; \ rm -f $$temp; \ fi; \ fi; \ $(mkdir_p) $(DESTDIR)$(localedir); \ test -f $(DESTDIR)$(localedir)/locale.alias \ && orig=$(DESTDIR)$(localedir)/locale.alias \ || orig=$(srcdir)/locale.alias; \ temp=$(DESTDIR)$(localedir)/t-locale.alias; \ dest=$(DESTDIR)$(localedir)/locale.alias; \ sed -f ref-add.sed $$orig > $$temp; \ $(INSTALL_DATA) $$temp $$dest; \ rm -f $$temp; \ else \ : ; \ fi install-data: all if test "$(PACKAGE)" = "gettext-tools"; then \ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ $(INSTALL_DATA) VERSION $(DESTDIR)$(gettextsrcdir)/VERSION; \ $(INSTALL_DATA) ChangeLog.inst $(DESTDIR)$(gettextsrcdir)/ChangeLog; \ dists="COPYING.LIB-2.0 COPYING.LIB-2.1 $(DISTFILES.common)"; \ for file in $$dists; do \ $(INSTALL_DATA) $(srcdir)/$$file \ $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ chmod a+x $(DESTDIR)$(gettextsrcdir)/config.charset; \ dists="$(DISTFILES.generated)"; \ for file in $$dists; do \ if test -f $$file; then dir=.; else dir=$(srcdir); fi; \ $(INSTALL_DATA) $$dir/$$file \ $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ dists="$(DISTFILES.obsolete)"; \ for file in $$dists; do \ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ else \ : ; \ fi install-strip: install installdirs: if { test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; } \ && test '@USE_INCLUDED_LIBINTL@' = yes; then \ $(mkdir_p) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir); \ else \ : ; \ fi if test "$(PACKAGE)" = "gettext-tools" \ && test '@USE_INCLUDED_LIBINTL@' = no \ && test @GLIBC2@ != no; then \ $(mkdir_p) $(DESTDIR)$(libdir); \ else \ : ; \ fi if test '@USE_INCLUDED_LIBINTL@' = yes; then \ test @GLIBC21@ != no || $(mkdir_p) $(DESTDIR)$(libdir); \ $(mkdir_p) $(DESTDIR)$(localedir); \ else \ : ; \ fi if test "$(PACKAGE)" = "gettext-tools"; then \ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ else \ : ; \ fi # Define this as empty until I found a useful application. installcheck: uninstall: if { test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; } \ && test '@USE_INCLUDED_LIBINTL@' = yes; then \ rm -f $(DESTDIR)$(includedir)/libintl.h; \ $(LIBTOOL) --mode=uninstall \ rm -f $(DESTDIR)$(libdir)/libintl.$la; \ else \ : ; \ fi if test "$(PACKAGE)" = "gettext-tools" \ && test '@USE_INCLUDED_LIBINTL@' = no \ && test @GLIBC2@ != no; then \ rm -f $(DESTDIR)$(libdir)/preloadable_libintl.so; \ else \ : ; \ fi if test '@USE_INCLUDED_LIBINTL@' = yes; then \ if test -f $(DESTDIR)$(libdir)/charset.alias; then \ temp=$(DESTDIR)$(libdir)/t-charset.alias; \ dest=$(DESTDIR)$(libdir)/charset.alias; \ sed -f ref-del.sed $$dest > $$temp; \ if grep '^# Packages using this file: $$' $$temp > /dev/null; then \ rm -f $$dest; \ else \ $(INSTALL_DATA) $$temp $$dest; \ fi; \ rm -f $$temp; \ fi; \ if test -f $(DESTDIR)$(localedir)/locale.alias; then \ temp=$(DESTDIR)$(localedir)/t-locale.alias; \ dest=$(DESTDIR)$(localedir)/locale.alias; \ sed -f ref-del.sed $$dest > $$temp; \ if grep '^# Packages using this file: $$' $$temp > /dev/null; then \ rm -f $$dest; \ else \ $(INSTALL_DATA) $$temp $$dest; \ fi; \ rm -f $$temp; \ fi; \ else \ : ; \ fi if test "$(PACKAGE)" = "gettext-tools"; then \ for file in VERSION ChangeLog COPYING.LIB-2.0 COPYING.LIB-2.1 $(DISTFILES.common) $(DISTFILES.generated); do \ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ else \ : ; \ fi info dvi ps pdf html: $(OBJECTS): ../config.h libgnuintl.h bindtextdom.$lo dcgettext.$lo dcigettext.$lo dcngettext.$lo dgettext.$lo dngettext.$lo finddomain.$lo gettext.$lo intl-compat.$lo loadmsgcat.$lo localealias.$lo ngettext.$lo textdomain.$lo: $(srcdir)/gettextP.h $(srcdir)/gmo.h $(srcdir)/loadinfo.h hash-string.$lo dcigettext.$lo loadmsgcat.$lo: $(srcdir)/hash-string.h explodename.$lo l10nflist.$lo: $(srcdir)/loadinfo.h dcigettext.$lo loadmsgcat.$lo plural.$lo plural-exp.$lo: $(srcdir)/plural-exp.h dcigettext.$lo: $(srcdir)/eval-plural.h localcharset.$lo: $(srcdir)/localcharset.h bindtextdom.$lo dcigettext.$lo finddomain.$lo loadmsgcat.$lo localealias.$lo lock.$lo log.$lo: $(srcdir)/lock.h localealias.$lo localcharset.$lo relocatable.$lo: $(srcdir)/relocatable.h printf.$lo: $(srcdir)/printf-args.h $(srcdir)/printf-args.c $(srcdir)/printf-parse.h $(srcdir)/wprintf-parse.h $(srcdir)/xsize.h $(srcdir)/printf-parse.c $(srcdir)/vasnprintf.h $(srcdir)/vasnwprintf.h $(srcdir)/vasnprintf.c # A bison-2.1 generated plural.c includes if ENABLE_NLS. PLURAL_DEPS_yes = libintl.h PLURAL_DEPS_no = plural.$lo: $(PLURAL_DEPS_@USE_INCLUDED_LIBINTL@) tags: TAGS TAGS: $(HEADERS) $(SOURCES) here=`pwd`; cd $(srcdir) && etags -o $$here/TAGS $(HEADERS) $(SOURCES) ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) here=`pwd`; cd $(srcdir) && ctags -o $$here/CTAGS $(HEADERS) $(SOURCES) id: ID ID: $(HEADERS) $(SOURCES) here=`pwd`; cd $(srcdir) && mkid -f$$here/ID $(HEADERS) $(SOURCES) mostlyclean: rm -f *.a *.la *.o *.obj *.lo core core.* rm -f libgnuintl.h libintl.h charset.alias ref-add.sed ref-del.sed rm -f -r .libs _libs clean: mostlyclean distclean: clean rm -f Makefile ID TAGS if test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; then \ rm -f ChangeLog.inst $(DISTFILES.normal); \ else \ : ; \ fi maintainer-clean: distclean @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." # GNU gettext needs not contain the file `VERSION' but contains some # other files which should not be distributed in other packages. distdir = ../$(PACKAGE)-$(VERSION)/$(subdir) dist distdir: Makefile if test "$(PACKAGE)" = "gettext-tools"; then \ : ; \ else \ if test "$(PACKAGE)" = "gettext-runtime"; then \ additional="$(DISTFILES.gettext)"; \ else \ additional="$(DISTFILES.normal)"; \ fi; \ $(MAKE) $(DISTFILES.common) $(DISTFILES.generated) $$additional; \ for file in ChangeLog $(DISTFILES.common) $(DISTFILES.generated) $$additional; do \ if test -f $$file; then dir=.; else dir=$(srcdir); fi; \ cp -p $$dir/$$file $(distdir) || test $$file = Makefile.in || exit 1; \ done; \ fi Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) && $(SHELL) ./config.status # This would be more efficient, but doesn't work any more with autoconf-2.57, # when AC_CONFIG_FILES([intl/Makefile:somedir/Makefile.in]) is used. # cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ # Tell versions [3.59,3.63) of GNU make not to export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/intl/explodename.c0000664000175000017500000000644612050467633013533 00000000000000/* Copyright (C) 1995-1998, 2000-2001, 2003, 2005 Free Software Foundation, Inc. Contributed by Ulrich Drepper , 1995. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include "loadinfo.h" /* On some strange systems still no definition of NULL is found. Sigh! */ #ifndef NULL # if defined __STDC__ && __STDC__ # define NULL ((void *) 0) # else # define NULL 0 # endif #endif /* @@ end of prolog @@ */ /* Split a locale name NAME into a leading language part and all the rest. Return a pointer to the first character after the language, i.e. to the first byte of the rest. */ static char *_nl_find_language (const char *name); static char * _nl_find_language (const char *name) { while (name[0] != '\0' && name[0] != '_' && name[0] != '@' && name[0] != '.') ++name; return (char *) name; } int _nl_explode_name (char *name, const char **language, const char **modifier, const char **territory, const char **codeset, const char **normalized_codeset) { char *cp; int mask; *modifier = NULL; *territory = NULL; *codeset = NULL; *normalized_codeset = NULL; /* Now we determine the single parts of the locale name. First look for the language. Termination symbols are `_', '.', and `@'. */ mask = 0; *language = cp = name; cp = _nl_find_language (*language); if (*language == cp) /* This does not make sense: language has to be specified. Use this entry as it is without exploding. Perhaps it is an alias. */ cp = strchr (*language, '\0'); else { if (cp[0] == '_') { /* Next is the territory. */ cp[0] = '\0'; *territory = ++cp; while (cp[0] != '\0' && cp[0] != '.' && cp[0] != '@') ++cp; mask |= XPG_TERRITORY; } if (cp[0] == '.') { /* Next is the codeset. */ cp[0] = '\0'; *codeset = ++cp; while (cp[0] != '\0' && cp[0] != '@') ++cp; mask |= XPG_CODESET; if (*codeset != cp && (*codeset)[0] != '\0') { *normalized_codeset = _nl_normalize_codeset (*codeset, cp - *codeset); if (strcmp (*codeset, *normalized_codeset) == 0) free ((char *) *normalized_codeset); else mask |= XPG_NORM_CODESET; } } } if (cp[0] == '@') { /* Next is the modifier. */ cp[0] = '\0'; *modifier = ++cp; if (cp[0] != '\0') mask |= XPG_MODIFIER; } if (*territory != NULL && (*territory)[0] == '\0') mask &= ~XPG_TERRITORY; if (*codeset != NULL && (*codeset)[0] == '\0') mask &= ~XPG_CODESET; return mask; } geda-gaf-1.8.2/intl/l10nflist.c0000664000175000017500000002557212050467633013047 00000000000000/* Copyright (C) 1995-1999, 2000-2006 Free Software Foundation, Inc. Contributed by Ulrich Drepper , 1995. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* Tell glibc's to provide a prototype for stpcpy(). This must come before because may include , and once has been included, it's too late. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif #ifdef HAVE_CONFIG_H # include #endif #include #if defined _LIBC || defined HAVE_ARGZ_H # include #endif #include #include #include #include "loadinfo.h" /* On some strange systems still no definition of NULL is found. Sigh! */ #ifndef NULL # if defined __STDC__ && __STDC__ # define NULL ((void *) 0) # else # define NULL 0 # endif #endif /* @@ end of prolog @@ */ #ifdef _LIBC /* Rename the non ANSI C functions. This is required by the standard because some ANSI C functions will require linking with this object file and the name space must not be polluted. */ # ifndef stpcpy # define stpcpy(dest, src) __stpcpy(dest, src) # endif #else # ifndef HAVE_STPCPY static char *stpcpy (char *dest, const char *src); # endif #endif /* Pathname support. ISSLASH(C) tests whether C is a directory separator character. IS_ABSOLUTE_PATH(P) tests whether P is an absolute path. If it is not, it may be concatenated to a directory pathname. */ #if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__ /* Win32, Cygwin, OS/2, DOS */ # define ISSLASH(C) ((C) == '/' || (C) == '\\') # define HAS_DEVICE(P) \ ((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \ && (P)[1] == ':') # define IS_ABSOLUTE_PATH(P) (ISSLASH ((P)[0]) || HAS_DEVICE (P)) #else /* Unix */ # define ISSLASH(C) ((C) == '/') # define IS_ABSOLUTE_PATH(P) ISSLASH ((P)[0]) #endif /* Define function which are usually not available. */ #ifdef _LIBC # define __argz_count(argz, len) INTUSE(__argz_count) (argz, len) #elif defined HAVE_ARGZ_COUNT # undef __argz_count # define __argz_count argz_count #else /* Returns the number of strings in ARGZ. */ static size_t argz_count__ (const char *argz, size_t len) { size_t count = 0; while (len > 0) { size_t part_len = strlen (argz); argz += part_len + 1; len -= part_len + 1; count++; } return count; } # undef __argz_count # define __argz_count(argz, len) argz_count__ (argz, len) #endif /* !_LIBC && !HAVE_ARGZ_COUNT */ #ifdef _LIBC # define __argz_stringify(argz, len, sep) \ INTUSE(__argz_stringify) (argz, len, sep) #elif defined HAVE_ARGZ_STRINGIFY # undef __argz_stringify # define __argz_stringify argz_stringify #else /* Make '\0' separated arg vector ARGZ printable by converting all the '\0's except the last into the character SEP. */ static void argz_stringify__ (char *argz, size_t len, int sep) { while (len > 0) { size_t part_len = strlen (argz); argz += part_len; len -= part_len + 1; if (len > 0) *argz++ = sep; } } # undef __argz_stringify # define __argz_stringify(argz, len, sep) argz_stringify__ (argz, len, sep) #endif /* !_LIBC && !HAVE_ARGZ_STRINGIFY */ #ifdef _LIBC #elif defined HAVE_ARGZ_NEXT # undef __argz_next # define __argz_next argz_next #else static char * argz_next__ (char *argz, size_t argz_len, const char *entry) { if (entry) { if (entry < argz + argz_len) entry = strchr (entry, '\0') + 1; return entry >= argz + argz_len ? NULL : (char *) entry; } else if (argz_len > 0) return argz; else return 0; } # undef __argz_next # define __argz_next(argz, len, entry) argz_next__ (argz, len, entry) #endif /* !_LIBC && !HAVE_ARGZ_NEXT */ /* Return number of bits set in X. */ static inline int pop (int x) { /* We assume that no more than 16 bits are used. */ x = ((x & ~0x5555) >> 1) + (x & 0x5555); x = ((x & ~0x3333) >> 2) + (x & 0x3333); x = ((x >> 4) + x) & 0x0f0f; x = ((x >> 8) + x) & 0xff; return x; } struct loaded_l10nfile * _nl_make_l10nflist (struct loaded_l10nfile **l10nfile_list, const char *dirlist, size_t dirlist_len, int mask, const char *language, const char *territory, const char *codeset, const char *normalized_codeset, const char *modifier, const char *filename, int do_allocate) { char *abs_filename; struct loaded_l10nfile **lastp; struct loaded_l10nfile *retval; char *cp; size_t dirlist_count; size_t entries; int cnt; /* If LANGUAGE contains an absolute directory specification, we ignore DIRLIST. */ if (IS_ABSOLUTE_PATH (language)) dirlist_len = 0; /* Allocate room for the full file name. */ abs_filename = (char *) malloc (dirlist_len + strlen (language) + ((mask & XPG_TERRITORY) != 0 ? strlen (territory) + 1 : 0) + ((mask & XPG_CODESET) != 0 ? strlen (codeset) + 1 : 0) + ((mask & XPG_NORM_CODESET) != 0 ? strlen (normalized_codeset) + 1 : 0) + ((mask & XPG_MODIFIER) != 0 ? strlen (modifier) + 1 : 0) + 1 + strlen (filename) + 1); if (abs_filename == NULL) return NULL; /* Construct file name. */ cp = abs_filename; if (dirlist_len > 0) { memcpy (cp, dirlist, dirlist_len); __argz_stringify (cp, dirlist_len, PATH_SEPARATOR); cp += dirlist_len; cp[-1] = '/'; } cp = stpcpy (cp, language); if ((mask & XPG_TERRITORY) != 0) { *cp++ = '_'; cp = stpcpy (cp, territory); } if ((mask & XPG_CODESET) != 0) { *cp++ = '.'; cp = stpcpy (cp, codeset); } if ((mask & XPG_NORM_CODESET) != 0) { *cp++ = '.'; cp = stpcpy (cp, normalized_codeset); } if ((mask & XPG_MODIFIER) != 0) { *cp++ = '@'; cp = stpcpy (cp, modifier); } *cp++ = '/'; stpcpy (cp, filename); /* Look in list of already loaded domains whether it is already available. */ lastp = l10nfile_list; for (retval = *l10nfile_list; retval != NULL; retval = retval->next) if (retval->filename != NULL) { int compare = strcmp (retval->filename, abs_filename); if (compare == 0) /* We found it! */ break; if (compare < 0) { /* It's not in the list. */ retval = NULL; break; } lastp = &retval->next; } if (retval != NULL || do_allocate == 0) { free (abs_filename); return retval; } dirlist_count = (dirlist_len > 0 ? __argz_count (dirlist, dirlist_len) : 1); /* Allocate a new loaded_l10nfile. */ retval = (struct loaded_l10nfile *) malloc (sizeof (*retval) + (((dirlist_count << pop (mask)) + (dirlist_count > 1 ? 1 : 0)) * sizeof (struct loaded_l10nfile *))); if (retval == NULL) { free (abs_filename); return NULL; } retval->filename = abs_filename; /* We set retval->data to NULL here; it is filled in later. Setting retval->decided to 1 here means that retval does not correspond to a real file (dirlist_count > 1) or is not worth looking up (if an unnormalized codeset was specified). */ retval->decided = (dirlist_count > 1 || ((mask & XPG_CODESET) != 0 && (mask & XPG_NORM_CODESET) != 0)); retval->data = NULL; retval->next = *lastp; *lastp = retval; entries = 0; /* Recurse to fill the inheritance list of RETVAL. If the DIRLIST is a real list (i.e. DIRLIST_COUNT > 1), the RETVAL entry does not correspond to a real file; retval->filename contains colons. In this case we loop across all elements of DIRLIST and across all bit patterns dominated by MASK. If the DIRLIST is a single directory or entirely redundant (i.e. DIRLIST_COUNT == 1), we loop across all bit patterns dominated by MASK, excluding MASK itself. In either case, we loop down from MASK to 0. This has the effect that the extra bits in the locale name are dropped in this order: first the modifier, then the territory, then the codeset, then the normalized_codeset. */ for (cnt = dirlist_count > 1 ? mask : mask - 1; cnt >= 0; --cnt) if ((cnt & ~mask) == 0 && !((cnt & XPG_CODESET) != 0 && (cnt & XPG_NORM_CODESET) != 0)) { if (dirlist_count > 1) { /* Iterate over all elements of the DIRLIST. */ char *dir = NULL; while ((dir = __argz_next ((char *) dirlist, dirlist_len, dir)) != NULL) retval->successor[entries++] = _nl_make_l10nflist (l10nfile_list, dir, strlen (dir) + 1, cnt, language, territory, codeset, normalized_codeset, modifier, filename, 1); } else retval->successor[entries++] = _nl_make_l10nflist (l10nfile_list, dirlist, dirlist_len, cnt, language, territory, codeset, normalized_codeset, modifier, filename, 1); } retval->successor[entries] = NULL; return retval; } /* Normalize codeset name. There is no standard for the codeset names. Normalization allows the user to use any of the common names. The return value is dynamically allocated and has to be freed by the caller. */ const char * _nl_normalize_codeset (const char *codeset, size_t name_len) { int len = 0; int only_digit = 1; char *retval; char *wp; size_t cnt; for (cnt = 0; cnt < name_len; ++cnt) if (isalnum ((unsigned char) codeset[cnt])) { ++len; if (isalpha ((unsigned char) codeset[cnt])) only_digit = 0; } retval = (char *) malloc ((only_digit ? 3 : 0) + len + 1); if (retval != NULL) { if (only_digit) wp = stpcpy (retval, "iso"); else wp = retval; for (cnt = 0; cnt < name_len; ++cnt) if (isalpha ((unsigned char) codeset[cnt])) *wp++ = tolower ((unsigned char) codeset[cnt]); else if (isdigit ((unsigned char) codeset[cnt])) *wp++ = codeset[cnt]; *wp = '\0'; } return (const char *) retval; } /* @@ begin of epilog @@ */ /* We don't want libintl.a to depend on any other library. So we avoid the non-standard function stpcpy. In GNU C Library this function is available, though. Also allow the symbol HAVE_STPCPY to be defined. */ #if !_LIBC && !HAVE_STPCPY static char * stpcpy (char *dest, const char *src) { while ((*dest++ = *src++) != '\0') /* Do nothing. */ ; return dest - 1; } #endif geda-gaf-1.8.2/intl/dgettext.c0000664000175000017500000000337112050467633013054 00000000000000/* Implementation of the dgettext(3) function. Copyright (C) 1995-1997, 2000-2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifdef HAVE_CONFIG_H # include #endif #include "gettextP.h" #include #ifdef _LIBC # include #else # include "libgnuintl.h" #endif /* @@ end of prolog @@ */ /* Names for the libintl functions are a problem. They must not clash with existing names and they should follow ANSI C. But this source code is also used in GNU C Library where the names have a __ prefix. So we have to make a difference here. */ #ifdef _LIBC # define DGETTEXT __dgettext # define DCGETTEXT INTUSE(__dcgettext) #else # define DGETTEXT libintl_dgettext # define DCGETTEXT libintl_dcgettext #endif /* Look up MSGID in the DOMAINNAME message catalog of the current LC_MESSAGES locale. */ char * DGETTEXT (const char *domainname, const char *msgid) { return DCGETTEXT (domainname, msgid, LC_MESSAGES); } #ifdef _LIBC /* Alias for function name in GNU C Library. */ weak_alias (__dgettext, dgettext); #endif geda-gaf-1.8.2/intl/vasnprintf.h0000664000175000017500000000544312050467634013426 00000000000000/* vsprintf with automatic memory allocation. Copyright (C) 2002-2004 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _VASNPRINTF_H #define _VASNPRINTF_H /* Get va_list. */ #include /* Get size_t. */ #include #ifndef __attribute__ /* This feature is available in gcc versions 2.5 and later. */ # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || __STRICT_ANSI__ # define __attribute__(Spec) /* empty */ # endif /* The __-protected variants of `format' and `printf' attributes are accepted by gcc versions 2.6.4 (effectively 2.7) and later. */ # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7) # define __format__ format # define __printf__ printf # endif #endif #ifdef __cplusplus extern "C" { #endif /* Write formatted output to a string dynamically allocated with malloc(). You can pass a preallocated buffer for the result in RESULTBUF and its size in *LENGTHP; otherwise you pass RESULTBUF = NULL. If successful, return the address of the string (this may be = RESULTBUF if no dynamic memory allocation was necessary) and set *LENGTHP to the number of resulting bytes, excluding the trailing NUL. Upon error, set errno and return NULL. When dynamic memory allocation occurs, the preallocated buffer is left alone (with possibly modified contents). This makes it possible to use a statically allocated or stack-allocated buffer, like this: char buf[100]; size_t len = sizeof (buf); char *output = vasnprintf (buf, &len, format, args); if (output == NULL) ... error handling ...; else { ... use the output string ...; if (output != buf) free (output); } */ extern char * asnprintf (char *resultbuf, size_t *lengthp, const char *format, ...) __attribute__ ((__format__ (__printf__, 3, 4))); extern char * vasnprintf (char *resultbuf, size_t *lengthp, const char *format, va_list args) __attribute__ ((__format__ (__printf__, 3, 0))); #ifdef __cplusplus } #endif #endif /* _VASNPRINTF_H */ geda-gaf-1.8.2/intl/printf-parse.h0000664000175000017500000000421312050467634013640 00000000000000/* Parse printf format string. Copyright (C) 1999, 2002-2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _PRINTF_PARSE_H #define _PRINTF_PARSE_H #include "printf-args.h" /* Flags */ #define FLAG_GROUP 1 /* ' flag */ #define FLAG_LEFT 2 /* - flag */ #define FLAG_SHOWSIGN 4 /* + flag */ #define FLAG_SPACE 8 /* space flag */ #define FLAG_ALT 16 /* # flag */ #define FLAG_ZERO 32 /* arg_index value indicating that no argument is consumed. */ #define ARG_NONE (~(size_t)0) /* A parsed directive. */ typedef struct { const char* dir_start; const char* dir_end; int flags; const char* width_start; const char* width_end; size_t width_arg_index; const char* precision_start; const char* precision_end; size_t precision_arg_index; char conversion; /* d i o u x X f e E g G c s p n U % but not C S */ size_t arg_index; } char_directive; /* A parsed format string. */ typedef struct { size_t count; char_directive *dir; size_t max_width_length; size_t max_precision_length; } char_directives; /* Parses the format string. Fills in the number N of directives, and fills in directives[0], ..., directives[N-1], and sets directives[N].dir_start to the end of the format string. Also fills in the arg_type fields of the arguments and the needed count of arguments. */ #ifdef STATIC STATIC #else extern #endif int printf_parse (const char *format, char_directives *d, arguments *a); #endif /* _PRINTF_PARSE_H */ geda-gaf-1.8.2/intl/ref-add.sin0000664000175000017500000000210512050467634013070 00000000000000# Add this package to a list of references stored in a text file. # # Copyright (C) 2000 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify it # under the terms of the GNU Library General Public License as published # by the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, # USA. # # Written by Bruno Haible . # /^# Packages using this file: / { s/# Packages using this file:// ta :a s/ @PACKAGE@ / @PACKAGE@ / tb s/ $/ @PACKAGE@ / :b s/^/# Packages using this file:/ } geda-gaf-1.8.2/intl/ChangeLog0000664000175000017500000000010712050467633012624 000000000000002006-10-26 GNU * Version 0.16 released. geda-gaf-1.8.2/intl/vasnprintf.c0000664000175000017500000005355012050467634013423 00000000000000/* vsprintf with automatic memory allocation. Copyright (C) 1999, 2002-2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* Tell glibc's to provide a prototype for snprintf(). This must come before because may include , and once has been included, it's too late. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif #include #ifndef IN_LIBINTL # include #endif /* Specification. */ #if WIDE_CHAR_VERSION # include "vasnwprintf.h" #else # include "vasnprintf.h" #endif #include /* snprintf(), sprintf() */ #include /* abort(), malloc(), realloc(), free() */ #include /* memcpy(), strlen() */ #include /* errno */ #include /* CHAR_BIT */ #include /* DBL_MAX_EXP, LDBL_MAX_EXP */ #if WIDE_CHAR_VERSION # include "wprintf-parse.h" #else # include "printf-parse.h" #endif /* Checked size_t computations. */ #include "xsize.h" #ifdef HAVE_WCHAR_T # ifdef HAVE_WCSLEN # define local_wcslen wcslen # else /* Solaris 2.5.1 has wcslen() in a separate library libw.so. To avoid a dependency towards this library, here is a local substitute. Define this substitute only once, even if this file is included twice in the same compilation unit. */ # ifndef local_wcslen_defined # define local_wcslen_defined 1 static size_t local_wcslen (const wchar_t *s) { const wchar_t *ptr; for (ptr = s; *ptr != (wchar_t) 0; ptr++) ; return ptr - s; } # endif # endif #endif #if WIDE_CHAR_VERSION # define VASNPRINTF vasnwprintf # define CHAR_T wchar_t # define DIRECTIVE wchar_t_directive # define DIRECTIVES wchar_t_directives # define PRINTF_PARSE wprintf_parse # define USE_SNPRINTF 1 # if HAVE_DECL__SNWPRINTF /* On Windows, the function swprintf() has a different signature than on Unix; we use the _snwprintf() function instead. */ # define SNPRINTF _snwprintf # else /* Unix. */ # define SNPRINTF swprintf # endif #else # define VASNPRINTF vasnprintf # define CHAR_T char # define DIRECTIVE char_directive # define DIRECTIVES char_directives # define PRINTF_PARSE printf_parse # define USE_SNPRINTF (HAVE_DECL__SNPRINTF || HAVE_SNPRINTF) # if HAVE_DECL__SNPRINTF /* Windows. */ # define SNPRINTF _snprintf # else /* Unix. */ # define SNPRINTF snprintf # endif #endif CHAR_T * VASNPRINTF (CHAR_T *resultbuf, size_t *lengthp, const CHAR_T *format, va_list args) { DIRECTIVES d; arguments a; if (PRINTF_PARSE (format, &d, &a) < 0) { errno = EINVAL; return NULL; } #define CLEANUP() \ free (d.dir); \ if (a.arg) \ free (a.arg); if (printf_fetchargs (args, &a) < 0) { CLEANUP (); errno = EINVAL; return NULL; } { size_t buf_neededlength; CHAR_T *buf; CHAR_T *buf_malloced; const CHAR_T *cp; size_t i; DIRECTIVE *dp; /* Output string accumulator. */ CHAR_T *result; size_t allocated; size_t length; /* Allocate a small buffer that will hold a directive passed to sprintf or snprintf. */ buf_neededlength = xsum4 (7, d.max_width_length, d.max_precision_length, 6); #if HAVE_ALLOCA if (buf_neededlength < 4000 / sizeof (CHAR_T)) { buf = (CHAR_T *) alloca (buf_neededlength * sizeof (CHAR_T)); buf_malloced = NULL; } else #endif { size_t buf_memsize = xtimes (buf_neededlength, sizeof (CHAR_T)); if (size_overflow_p (buf_memsize)) goto out_of_memory_1; buf = (CHAR_T *) malloc (buf_memsize); if (buf == NULL) goto out_of_memory_1; buf_malloced = buf; } if (resultbuf != NULL) { result = resultbuf; allocated = *lengthp; } else { result = NULL; allocated = 0; } length = 0; /* Invariants: result is either == resultbuf or == NULL or malloc-allocated. If length > 0, then result != NULL. */ /* Ensures that allocated >= needed. Aborts through a jump to out_of_memory if needed is SIZE_MAX or otherwise too big. */ #define ENSURE_ALLOCATION(needed) \ if ((needed) > allocated) \ { \ size_t memory_size; \ CHAR_T *memory; \ \ allocated = (allocated > 0 ? xtimes (allocated, 2) : 12); \ if ((needed) > allocated) \ allocated = (needed); \ memory_size = xtimes (allocated, sizeof (CHAR_T)); \ if (size_overflow_p (memory_size)) \ goto out_of_memory; \ if (result == resultbuf || result == NULL) \ memory = (CHAR_T *) malloc (memory_size); \ else \ memory = (CHAR_T *) realloc (result, memory_size); \ if (memory == NULL) \ goto out_of_memory; \ if (result == resultbuf && length > 0) \ memcpy (memory, result, length * sizeof (CHAR_T)); \ result = memory; \ } for (cp = format, i = 0, dp = &d.dir[0]; ; cp = dp->dir_end, i++, dp++) { if (cp != dp->dir_start) { size_t n = dp->dir_start - cp; size_t augmented_length = xsum (length, n); ENSURE_ALLOCATION (augmented_length); memcpy (result + length, cp, n * sizeof (CHAR_T)); length = augmented_length; } if (i == d.count) break; /* Execute a single directive. */ if (dp->conversion == '%') { size_t augmented_length; if (!(dp->arg_index == ARG_NONE)) abort (); augmented_length = xsum (length, 1); ENSURE_ALLOCATION (augmented_length); result[length] = '%'; length = augmented_length; } else { if (!(dp->arg_index != ARG_NONE)) abort (); if (dp->conversion == 'n') { switch (a.arg[dp->arg_index].type) { case TYPE_COUNT_SCHAR_POINTER: *a.arg[dp->arg_index].a.a_count_schar_pointer = length; break; case TYPE_COUNT_SHORT_POINTER: *a.arg[dp->arg_index].a.a_count_short_pointer = length; break; case TYPE_COUNT_INT_POINTER: *a.arg[dp->arg_index].a.a_count_int_pointer = length; break; case TYPE_COUNT_LONGINT_POINTER: *a.arg[dp->arg_index].a.a_count_longint_pointer = length; break; #ifdef HAVE_LONG_LONG_INT case TYPE_COUNT_LONGLONGINT_POINTER: *a.arg[dp->arg_index].a.a_count_longlongint_pointer = length; break; #endif default: abort (); } } else { arg_type type = a.arg[dp->arg_index].type; CHAR_T *p; unsigned int prefix_count; int prefixes[2]; #if !USE_SNPRINTF size_t tmp_length; CHAR_T tmpbuf[700]; CHAR_T *tmp; /* Allocate a temporary buffer of sufficient size for calling sprintf. */ { size_t width; size_t precision; width = 0; if (dp->width_start != dp->width_end) { if (dp->width_arg_index != ARG_NONE) { int arg; if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) abort (); arg = a.arg[dp->width_arg_index].a.a_int; width = (arg < 0 ? (unsigned int) (-arg) : arg); } else { const CHAR_T *digitp = dp->width_start; do width = xsum (xtimes (width, 10), *digitp++ - '0'); while (digitp != dp->width_end); } } precision = 6; if (dp->precision_start != dp->precision_end) { if (dp->precision_arg_index != ARG_NONE) { int arg; if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) abort (); arg = a.arg[dp->precision_arg_index].a.a_int; precision = (arg < 0 ? 0 : arg); } else { const CHAR_T *digitp = dp->precision_start + 1; precision = 0; while (digitp != dp->precision_end) precision = xsum (xtimes (precision, 10), *digitp++ - '0'); } } switch (dp->conversion) { case 'd': case 'i': case 'u': # ifdef HAVE_LONG_LONG_INT if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT) tmp_length = (unsigned int) (sizeof (unsigned long long) * CHAR_BIT * 0.30103 /* binary -> decimal */ ) + 1; /* turn floor into ceil */ else # endif if (type == TYPE_LONGINT || type == TYPE_ULONGINT) tmp_length = (unsigned int) (sizeof (unsigned long) * CHAR_BIT * 0.30103 /* binary -> decimal */ ) + 1; /* turn floor into ceil */ else tmp_length = (unsigned int) (sizeof (unsigned int) * CHAR_BIT * 0.30103 /* binary -> decimal */ ) + 1; /* turn floor into ceil */ if (tmp_length < precision) tmp_length = precision; /* Multiply by 2, as an estimate for FLAG_GROUP. */ tmp_length = xsum (tmp_length, tmp_length); /* Add 1, to account for a leading sign. */ tmp_length = xsum (tmp_length, 1); break; case 'o': # ifdef HAVE_LONG_LONG_INT if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT) tmp_length = (unsigned int) (sizeof (unsigned long long) * CHAR_BIT * 0.333334 /* binary -> octal */ ) + 1; /* turn floor into ceil */ else # endif if (type == TYPE_LONGINT || type == TYPE_ULONGINT) tmp_length = (unsigned int) (sizeof (unsigned long) * CHAR_BIT * 0.333334 /* binary -> octal */ ) + 1; /* turn floor into ceil */ else tmp_length = (unsigned int) (sizeof (unsigned int) * CHAR_BIT * 0.333334 /* binary -> octal */ ) + 1; /* turn floor into ceil */ if (tmp_length < precision) tmp_length = precision; /* Add 1, to account for a leading sign. */ tmp_length = xsum (tmp_length, 1); break; case 'x': case 'X': # ifdef HAVE_LONG_LONG_INT if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT) tmp_length = (unsigned int) (sizeof (unsigned long long) * CHAR_BIT * 0.25 /* binary -> hexadecimal */ ) + 1; /* turn floor into ceil */ else # endif if (type == TYPE_LONGINT || type == TYPE_ULONGINT) tmp_length = (unsigned int) (sizeof (unsigned long) * CHAR_BIT * 0.25 /* binary -> hexadecimal */ ) + 1; /* turn floor into ceil */ else tmp_length = (unsigned int) (sizeof (unsigned int) * CHAR_BIT * 0.25 /* binary -> hexadecimal */ ) + 1; /* turn floor into ceil */ if (tmp_length < precision) tmp_length = precision; /* Add 2, to account for a leading sign or alternate form. */ tmp_length = xsum (tmp_length, 2); break; case 'f': case 'F': # ifdef HAVE_LONG_DOUBLE if (type == TYPE_LONGDOUBLE) tmp_length = (unsigned int) (LDBL_MAX_EXP * 0.30103 /* binary -> decimal */ * 2 /* estimate for FLAG_GROUP */ ) + 1 /* turn floor into ceil */ + 10; /* sign, decimal point etc. */ else # endif tmp_length = (unsigned int) (DBL_MAX_EXP * 0.30103 /* binary -> decimal */ * 2 /* estimate for FLAG_GROUP */ ) + 1 /* turn floor into ceil */ + 10; /* sign, decimal point etc. */ tmp_length = xsum (tmp_length, precision); break; case 'e': case 'E': case 'g': case 'G': case 'a': case 'A': tmp_length = 12; /* sign, decimal point, exponent etc. */ tmp_length = xsum (tmp_length, precision); break; case 'c': # if defined HAVE_WINT_T && !WIDE_CHAR_VERSION if (type == TYPE_WIDE_CHAR) tmp_length = MB_CUR_MAX; else # endif tmp_length = 1; break; case 's': # ifdef HAVE_WCHAR_T if (type == TYPE_WIDE_STRING) { tmp_length = local_wcslen (a.arg[dp->arg_index].a.a_wide_string); # if !WIDE_CHAR_VERSION tmp_length = xtimes (tmp_length, MB_CUR_MAX); # endif } else # endif tmp_length = strlen (a.arg[dp->arg_index].a.a_string); break; case 'p': tmp_length = (unsigned int) (sizeof (void *) * CHAR_BIT * 0.25 /* binary -> hexadecimal */ ) + 1 /* turn floor into ceil */ + 2; /* account for leading 0x */ break; default: abort (); } if (tmp_length < width) tmp_length = width; tmp_length = xsum (tmp_length, 1); /* account for trailing NUL */ } if (tmp_length <= sizeof (tmpbuf) / sizeof (CHAR_T)) tmp = tmpbuf; else { size_t tmp_memsize = xtimes (tmp_length, sizeof (CHAR_T)); if (size_overflow_p (tmp_memsize)) /* Overflow, would lead to out of memory. */ goto out_of_memory; tmp = (CHAR_T *) malloc (tmp_memsize); if (tmp == NULL) /* Out of memory. */ goto out_of_memory; } #endif /* Construct the format string for calling snprintf or sprintf. */ p = buf; *p++ = '%'; if (dp->flags & FLAG_GROUP) *p++ = '\''; if (dp->flags & FLAG_LEFT) *p++ = '-'; if (dp->flags & FLAG_SHOWSIGN) *p++ = '+'; if (dp->flags & FLAG_SPACE) *p++ = ' '; if (dp->flags & FLAG_ALT) *p++ = '#'; if (dp->flags & FLAG_ZERO) *p++ = '0'; if (dp->width_start != dp->width_end) { size_t n = dp->width_end - dp->width_start; memcpy (p, dp->width_start, n * sizeof (CHAR_T)); p += n; } if (dp->precision_start != dp->precision_end) { size_t n = dp->precision_end - dp->precision_start; memcpy (p, dp->precision_start, n * sizeof (CHAR_T)); p += n; } switch (type) { #ifdef HAVE_LONG_LONG_INT case TYPE_LONGLONGINT: case TYPE_ULONGLONGINT: *p++ = 'l'; /*FALLTHROUGH*/ #endif case TYPE_LONGINT: case TYPE_ULONGINT: #ifdef HAVE_WINT_T case TYPE_WIDE_CHAR: #endif #ifdef HAVE_WCHAR_T case TYPE_WIDE_STRING: #endif *p++ = 'l'; break; #ifdef HAVE_LONG_DOUBLE case TYPE_LONGDOUBLE: *p++ = 'L'; break; #endif default: break; } *p = dp->conversion; #if USE_SNPRINTF p[1] = '%'; p[2] = 'n'; p[3] = '\0'; #else p[1] = '\0'; #endif /* Construct the arguments for calling snprintf or sprintf. */ prefix_count = 0; if (dp->width_arg_index != ARG_NONE) { if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) abort (); prefixes[prefix_count++] = a.arg[dp->width_arg_index].a.a_int; } if (dp->precision_arg_index != ARG_NONE) { if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) abort (); prefixes[prefix_count++] = a.arg[dp->precision_arg_index].a.a_int; } #if USE_SNPRINTF /* Prepare checking whether snprintf returns the count via %n. */ ENSURE_ALLOCATION (xsum (length, 1)); result[length] = '\0'; #endif for (;;) { size_t maxlen; int count; int retcount; maxlen = allocated - length; count = -1; retcount = 0; #if USE_SNPRINTF # define SNPRINTF_BUF(arg) \ switch (prefix_count) \ { \ case 0: \ retcount = SNPRINTF (result + length, maxlen, buf, \ arg, &count); \ break; \ case 1: \ retcount = SNPRINTF (result + length, maxlen, buf, \ prefixes[0], arg, &count); \ break; \ case 2: \ retcount = SNPRINTF (result + length, maxlen, buf, \ prefixes[0], prefixes[1], arg, \ &count); \ break; \ default: \ abort (); \ } #else # define SNPRINTF_BUF(arg) \ switch (prefix_count) \ { \ case 0: \ count = sprintf (tmp, buf, arg); \ break; \ case 1: \ count = sprintf (tmp, buf, prefixes[0], arg); \ break; \ case 2: \ count = sprintf (tmp, buf, prefixes[0], prefixes[1],\ arg); \ break; \ default: \ abort (); \ } #endif switch (type) { case TYPE_SCHAR: { int arg = a.arg[dp->arg_index].a.a_schar; SNPRINTF_BUF (arg); } break; case TYPE_UCHAR: { unsigned int arg = a.arg[dp->arg_index].a.a_uchar; SNPRINTF_BUF (arg); } break; case TYPE_SHORT: { int arg = a.arg[dp->arg_index].a.a_short; SNPRINTF_BUF (arg); } break; case TYPE_USHORT: { unsigned int arg = a.arg[dp->arg_index].a.a_ushort; SNPRINTF_BUF (arg); } break; case TYPE_INT: { int arg = a.arg[dp->arg_index].a.a_int; SNPRINTF_BUF (arg); } break; case TYPE_UINT: { unsigned int arg = a.arg[dp->arg_index].a.a_uint; SNPRINTF_BUF (arg); } break; case TYPE_LONGINT: { long int arg = a.arg[dp->arg_index].a.a_longint; SNPRINTF_BUF (arg); } break; case TYPE_ULONGINT: { unsigned long int arg = a.arg[dp->arg_index].a.a_ulongint; SNPRINTF_BUF (arg); } break; #ifdef HAVE_LONG_LONG_INT case TYPE_LONGLONGINT: { long long int arg = a.arg[dp->arg_index].a.a_longlongint; SNPRINTF_BUF (arg); } break; case TYPE_ULONGLONGINT: { unsigned long long int arg = a.arg[dp->arg_index].a.a_ulonglongint; SNPRINTF_BUF (arg); } break; #endif case TYPE_DOUBLE: { double arg = a.arg[dp->arg_index].a.a_double; SNPRINTF_BUF (arg); } break; #ifdef HAVE_LONG_DOUBLE case TYPE_LONGDOUBLE: { long double arg = a.arg[dp->arg_index].a.a_longdouble; SNPRINTF_BUF (arg); } break; #endif case TYPE_CHAR: { int arg = a.arg[dp->arg_index].a.a_char; SNPRINTF_BUF (arg); } break; #ifdef HAVE_WINT_T case TYPE_WIDE_CHAR: { wint_t arg = a.arg[dp->arg_index].a.a_wide_char; SNPRINTF_BUF (arg); } break; #endif case TYPE_STRING: { const char *arg = a.arg[dp->arg_index].a.a_string; SNPRINTF_BUF (arg); } break; #ifdef HAVE_WCHAR_T case TYPE_WIDE_STRING: { const wchar_t *arg = a.arg[dp->arg_index].a.a_wide_string; SNPRINTF_BUF (arg); } break; #endif case TYPE_POINTER: { void *arg = a.arg[dp->arg_index].a.a_pointer; SNPRINTF_BUF (arg); } break; default: abort (); } #if USE_SNPRINTF /* Portability: Not all implementations of snprintf() are ISO C 99 compliant. Determine the number of bytes that snprintf() has produced or would have produced. */ if (count >= 0) { /* Verify that snprintf() has NUL-terminated its result. */ if (count < maxlen && result[length + count] != '\0') abort (); /* Portability hack. */ if (retcount > count) count = retcount; } else { /* snprintf() doesn't understand the '%n' directive. */ if (p[1] != '\0') { /* Don't use the '%n' directive; instead, look at the snprintf() return value. */ p[1] = '\0'; continue; } else { /* Look at the snprintf() return value. */ if (retcount < 0) { /* HP-UX 10.20 snprintf() is doubly deficient: It doesn't understand the '%n' directive, *and* it returns -1 (rather than the length that would have been required) when the buffer is too small. */ size_t bigger_need = xsum (xtimes (allocated, 2), 12); ENSURE_ALLOCATION (bigger_need); continue; } else count = retcount; } } #endif /* Attempt to handle failure. */ if (count < 0) { if (!(result == resultbuf || result == NULL)) free (result); if (buf_malloced != NULL) free (buf_malloced); CLEANUP (); errno = EINVAL; return NULL; } #if !USE_SNPRINTF if (count >= tmp_length) /* tmp_length was incorrectly calculated - fix the code above! */ abort (); #endif /* Make room for the result. */ if (count >= maxlen) { /* Need at least count bytes. But allocate proportionally, to avoid looping eternally if snprintf() reports a too small count. */ size_t n = xmax (xsum (length, count), xtimes (allocated, 2)); ENSURE_ALLOCATION (n); #if USE_SNPRINTF continue; #endif } #if USE_SNPRINTF /* The snprintf() result did fit. */ #else /* Append the sprintf() result. */ memcpy (result + length, tmp, count * sizeof (CHAR_T)); if (tmp != tmpbuf) free (tmp); #endif length += count; break; } } } } /* Add the final NUL. */ ENSURE_ALLOCATION (xsum (length, 1)); result[length] = '\0'; if (result != resultbuf && length + 1 < allocated) { /* Shrink the allocated memory if possible. */ CHAR_T *memory; memory = (CHAR_T *) realloc (result, (length + 1) * sizeof (CHAR_T)); if (memory != NULL) result = memory; } if (buf_malloced != NULL) free (buf_malloced); CLEANUP (); *lengthp = length; /* Note that we can produce a big string of a length > INT_MAX. POSIX says that snprintf() fails with errno = EOVERFLOW in this case, but that's only because snprintf() returns an 'int'. This function does not have this limitation. */ return result; out_of_memory: if (!(result == resultbuf || result == NULL)) free (result); if (buf_malloced != NULL) free (buf_malloced); out_of_memory_1: CLEANUP (); errno = ENOMEM; return NULL; } } #undef SNPRINTF #undef USE_SNPRINTF #undef PRINTF_PARSE #undef DIRECTIVES #undef DIRECTIVE #undef CHAR_T #undef VASNPRINTF geda-gaf-1.8.2/intl/loadmsgcat.c0000664000175000017500000010247012050467633013342 00000000000000/* Load needed message catalogs. Copyright (C) 1995-1999, 2000-2005 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* Tell glibc's to provide a prototype for mempcpy(). This must come before because may include , and once has been included, it's too late. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include #include #ifdef __GNUC__ # undef alloca # define alloca __builtin_alloca # define HAVE_ALLOCA 1 #else # ifdef _MSC_VER # include # define alloca _alloca # else # if defined HAVE_ALLOCA_H || defined _LIBC # include # else # ifdef _AIX #pragma alloca # else # ifndef alloca char *alloca (); # endif # endif # endif # endif #endif #include #include #if defined HAVE_UNISTD_H || defined _LIBC # include #endif #ifdef _LIBC # include # include #endif #if (defined HAVE_MMAP && defined HAVE_MUNMAP && !defined DISALLOW_MMAP) \ || (defined _LIBC && defined _POSIX_MAPPED_FILES) # include # undef HAVE_MMAP # define HAVE_MMAP 1 #else # undef HAVE_MMAP #endif #if defined HAVE_STDINT_H_WITH_UINTMAX || defined _LIBC # include #endif #if defined HAVE_INTTYPES_H || defined _LIBC # include #endif #include "gmo.h" #include "gettextP.h" #include "hash-string.h" #include "plural-exp.h" #ifdef _LIBC # include "../locale/localeinfo.h" # include #endif /* Handle multi-threaded applications. */ #ifdef _LIBC # include #else # include "lock.h" #endif /* Provide fallback values for macros that ought to be defined in . Note that our fallback values need not be literal strings, because we don't use them with preprocessor string concatenation. */ #if !defined PRId8 || PRI_MACROS_BROKEN # undef PRId8 # define PRId8 "d" #endif #if !defined PRIi8 || PRI_MACROS_BROKEN # undef PRIi8 # define PRIi8 "i" #endif #if !defined PRIo8 || PRI_MACROS_BROKEN # undef PRIo8 # define PRIo8 "o" #endif #if !defined PRIu8 || PRI_MACROS_BROKEN # undef PRIu8 # define PRIu8 "u" #endif #if !defined PRIx8 || PRI_MACROS_BROKEN # undef PRIx8 # define PRIx8 "x" #endif #if !defined PRIX8 || PRI_MACROS_BROKEN # undef PRIX8 # define PRIX8 "X" #endif #if !defined PRId16 || PRI_MACROS_BROKEN # undef PRId16 # define PRId16 "d" #endif #if !defined PRIi16 || PRI_MACROS_BROKEN # undef PRIi16 # define PRIi16 "i" #endif #if !defined PRIo16 || PRI_MACROS_BROKEN # undef PRIo16 # define PRIo16 "o" #endif #if !defined PRIu16 || PRI_MACROS_BROKEN # undef PRIu16 # define PRIu16 "u" #endif #if !defined PRIx16 || PRI_MACROS_BROKEN # undef PRIx16 # define PRIx16 "x" #endif #if !defined PRIX16 || PRI_MACROS_BROKEN # undef PRIX16 # define PRIX16 "X" #endif #if !defined PRId32 || PRI_MACROS_BROKEN # undef PRId32 # define PRId32 "d" #endif #if !defined PRIi32 || PRI_MACROS_BROKEN # undef PRIi32 # define PRIi32 "i" #endif #if !defined PRIo32 || PRI_MACROS_BROKEN # undef PRIo32 # define PRIo32 "o" #endif #if !defined PRIu32 || PRI_MACROS_BROKEN # undef PRIu32 # define PRIu32 "u" #endif #if !defined PRIx32 || PRI_MACROS_BROKEN # undef PRIx32 # define PRIx32 "x" #endif #if !defined PRIX32 || PRI_MACROS_BROKEN # undef PRIX32 # define PRIX32 "X" #endif #if !defined PRId64 || PRI_MACROS_BROKEN # undef PRId64 # define PRId64 (sizeof (long) == 8 ? "ld" : "lld") #endif #if !defined PRIi64 || PRI_MACROS_BROKEN # undef PRIi64 # define PRIi64 (sizeof (long) == 8 ? "li" : "lli") #endif #if !defined PRIo64 || PRI_MACROS_BROKEN # undef PRIo64 # define PRIo64 (sizeof (long) == 8 ? "lo" : "llo") #endif #if !defined PRIu64 || PRI_MACROS_BROKEN # undef PRIu64 # define PRIu64 (sizeof (long) == 8 ? "lu" : "llu") #endif #if !defined PRIx64 || PRI_MACROS_BROKEN # undef PRIx64 # define PRIx64 (sizeof (long) == 8 ? "lx" : "llx") #endif #if !defined PRIX64 || PRI_MACROS_BROKEN # undef PRIX64 # define PRIX64 (sizeof (long) == 8 ? "lX" : "llX") #endif #if !defined PRIdLEAST8 || PRI_MACROS_BROKEN # undef PRIdLEAST8 # define PRIdLEAST8 "d" #endif #if !defined PRIiLEAST8 || PRI_MACROS_BROKEN # undef PRIiLEAST8 # define PRIiLEAST8 "i" #endif #if !defined PRIoLEAST8 || PRI_MACROS_BROKEN # undef PRIoLEAST8 # define PRIoLEAST8 "o" #endif #if !defined PRIuLEAST8 || PRI_MACROS_BROKEN # undef PRIuLEAST8 # define PRIuLEAST8 "u" #endif #if !defined PRIxLEAST8 || PRI_MACROS_BROKEN # undef PRIxLEAST8 # define PRIxLEAST8 "x" #endif #if !defined PRIXLEAST8 || PRI_MACROS_BROKEN # undef PRIXLEAST8 # define PRIXLEAST8 "X" #endif #if !defined PRIdLEAST16 || PRI_MACROS_BROKEN # undef PRIdLEAST16 # define PRIdLEAST16 "d" #endif #if !defined PRIiLEAST16 || PRI_MACROS_BROKEN # undef PRIiLEAST16 # define PRIiLEAST16 "i" #endif #if !defined PRIoLEAST16 || PRI_MACROS_BROKEN # undef PRIoLEAST16 # define PRIoLEAST16 "o" #endif #if !defined PRIuLEAST16 || PRI_MACROS_BROKEN # undef PRIuLEAST16 # define PRIuLEAST16 "u" #endif #if !defined PRIxLEAST16 || PRI_MACROS_BROKEN # undef PRIxLEAST16 # define PRIxLEAST16 "x" #endif #if !defined PRIXLEAST16 || PRI_MACROS_BROKEN # undef PRIXLEAST16 # define PRIXLEAST16 "X" #endif #if !defined PRIdLEAST32 || PRI_MACROS_BROKEN # undef PRIdLEAST32 # define PRIdLEAST32 "d" #endif #if !defined PRIiLEAST32 || PRI_MACROS_BROKEN # undef PRIiLEAST32 # define PRIiLEAST32 "i" #endif #if !defined PRIoLEAST32 || PRI_MACROS_BROKEN # undef PRIoLEAST32 # define PRIoLEAST32 "o" #endif #if !defined PRIuLEAST32 || PRI_MACROS_BROKEN # undef PRIuLEAST32 # define PRIuLEAST32 "u" #endif #if !defined PRIxLEAST32 || PRI_MACROS_BROKEN # undef PRIxLEAST32 # define PRIxLEAST32 "x" #endif #if !defined PRIXLEAST32 || PRI_MACROS_BROKEN # undef PRIXLEAST32 # define PRIXLEAST32 "X" #endif #if !defined PRIdLEAST64 || PRI_MACROS_BROKEN # undef PRIdLEAST64 # define PRIdLEAST64 PRId64 #endif #if !defined PRIiLEAST64 || PRI_MACROS_BROKEN # undef PRIiLEAST64 # define PRIiLEAST64 PRIi64 #endif #if !defined PRIoLEAST64 || PRI_MACROS_BROKEN # undef PRIoLEAST64 # define PRIoLEAST64 PRIo64 #endif #if !defined PRIuLEAST64 || PRI_MACROS_BROKEN # undef PRIuLEAST64 # define PRIuLEAST64 PRIu64 #endif #if !defined PRIxLEAST64 || PRI_MACROS_BROKEN # undef PRIxLEAST64 # define PRIxLEAST64 PRIx64 #endif #if !defined PRIXLEAST64 || PRI_MACROS_BROKEN # undef PRIXLEAST64 # define PRIXLEAST64 PRIX64 #endif #if !defined PRIdFAST8 || PRI_MACROS_BROKEN # undef PRIdFAST8 # define PRIdFAST8 "d" #endif #if !defined PRIiFAST8 || PRI_MACROS_BROKEN # undef PRIiFAST8 # define PRIiFAST8 "i" #endif #if !defined PRIoFAST8 || PRI_MACROS_BROKEN # undef PRIoFAST8 # define PRIoFAST8 "o" #endif #if !defined PRIuFAST8 || PRI_MACROS_BROKEN # undef PRIuFAST8 # define PRIuFAST8 "u" #endif #if !defined PRIxFAST8 || PRI_MACROS_BROKEN # undef PRIxFAST8 # define PRIxFAST8 "x" #endif #if !defined PRIXFAST8 || PRI_MACROS_BROKEN # undef PRIXFAST8 # define PRIXFAST8 "X" #endif #if !defined PRIdFAST16 || PRI_MACROS_BROKEN # undef PRIdFAST16 # define PRIdFAST16 "d" #endif #if !defined PRIiFAST16 || PRI_MACROS_BROKEN # undef PRIiFAST16 # define PRIiFAST16 "i" #endif #if !defined PRIoFAST16 || PRI_MACROS_BROKEN # undef PRIoFAST16 # define PRIoFAST16 "o" #endif #if !defined PRIuFAST16 || PRI_MACROS_BROKEN # undef PRIuFAST16 # define PRIuFAST16 "u" #endif #if !defined PRIxFAST16 || PRI_MACROS_BROKEN # undef PRIxFAST16 # define PRIxFAST16 "x" #endif #if !defined PRIXFAST16 || PRI_MACROS_BROKEN # undef PRIXFAST16 # define PRIXFAST16 "X" #endif #if !defined PRIdFAST32 || PRI_MACROS_BROKEN # undef PRIdFAST32 # define PRIdFAST32 "d" #endif #if !defined PRIiFAST32 || PRI_MACROS_BROKEN # undef PRIiFAST32 # define PRIiFAST32 "i" #endif #if !defined PRIoFAST32 || PRI_MACROS_BROKEN # undef PRIoFAST32 # define PRIoFAST32 "o" #endif #if !defined PRIuFAST32 || PRI_MACROS_BROKEN # undef PRIuFAST32 # define PRIuFAST32 "u" #endif #if !defined PRIxFAST32 || PRI_MACROS_BROKEN # undef PRIxFAST32 # define PRIxFAST32 "x" #endif #if !defined PRIXFAST32 || PRI_MACROS_BROKEN # undef PRIXFAST32 # define PRIXFAST32 "X" #endif #if !defined PRIdFAST64 || PRI_MACROS_BROKEN # undef PRIdFAST64 # define PRIdFAST64 PRId64 #endif #if !defined PRIiFAST64 || PRI_MACROS_BROKEN # undef PRIiFAST64 # define PRIiFAST64 PRIi64 #endif #if !defined PRIoFAST64 || PRI_MACROS_BROKEN # undef PRIoFAST64 # define PRIoFAST64 PRIo64 #endif #if !defined PRIuFAST64 || PRI_MACROS_BROKEN # undef PRIuFAST64 # define PRIuFAST64 PRIu64 #endif #if !defined PRIxFAST64 || PRI_MACROS_BROKEN # undef PRIxFAST64 # define PRIxFAST64 PRIx64 #endif #if !defined PRIXFAST64 || PRI_MACROS_BROKEN # undef PRIXFAST64 # define PRIXFAST64 PRIX64 #endif #if !defined PRIdMAX || PRI_MACROS_BROKEN # undef PRIdMAX # define PRIdMAX (sizeof (uintmax_t) == sizeof (long) ? "ld" : "lld") #endif #if !defined PRIiMAX || PRI_MACROS_BROKEN # undef PRIiMAX # define PRIiMAX (sizeof (uintmax_t) == sizeof (long) ? "li" : "lli") #endif #if !defined PRIoMAX || PRI_MACROS_BROKEN # undef PRIoMAX # define PRIoMAX (sizeof (uintmax_t) == sizeof (long) ? "lo" : "llo") #endif #if !defined PRIuMAX || PRI_MACROS_BROKEN # undef PRIuMAX # define PRIuMAX (sizeof (uintmax_t) == sizeof (long) ? "lu" : "llu") #endif #if !defined PRIxMAX || PRI_MACROS_BROKEN # undef PRIxMAX # define PRIxMAX (sizeof (uintmax_t) == sizeof (long) ? "lx" : "llx") #endif #if !defined PRIXMAX || PRI_MACROS_BROKEN # undef PRIXMAX # define PRIXMAX (sizeof (uintmax_t) == sizeof (long) ? "lX" : "llX") #endif #if !defined PRIdPTR || PRI_MACROS_BROKEN # undef PRIdPTR # define PRIdPTR \ (sizeof (void *) == sizeof (long) ? "ld" : \ sizeof (void *) == sizeof (int) ? "d" : \ "lld") #endif #if !defined PRIiPTR || PRI_MACROS_BROKEN # undef PRIiPTR # define PRIiPTR \ (sizeof (void *) == sizeof (long) ? "li" : \ sizeof (void *) == sizeof (int) ? "i" : \ "lli") #endif #if !defined PRIoPTR || PRI_MACROS_BROKEN # undef PRIoPTR # define PRIoPTR \ (sizeof (void *) == sizeof (long) ? "lo" : \ sizeof (void *) == sizeof (int) ? "o" : \ "llo") #endif #if !defined PRIuPTR || PRI_MACROS_BROKEN # undef PRIuPTR # define PRIuPTR \ (sizeof (void *) == sizeof (long) ? "lu" : \ sizeof (void *) == sizeof (int) ? "u" : \ "llu") #endif #if !defined PRIxPTR || PRI_MACROS_BROKEN # undef PRIxPTR # define PRIxPTR \ (sizeof (void *) == sizeof (long) ? "lx" : \ sizeof (void *) == sizeof (int) ? "x" : \ "llx") #endif #if !defined PRIXPTR || PRI_MACROS_BROKEN # undef PRIXPTR # define PRIXPTR \ (sizeof (void *) == sizeof (long) ? "lX" : \ sizeof (void *) == sizeof (int) ? "X" : \ "llX") #endif /* @@ end of prolog @@ */ #ifdef _LIBC /* Rename the non ISO C functions. This is required by the standard because some ISO C functions will require linking with this object file and the name space must not be polluted. */ # define open(name, flags) open_not_cancel_2 (name, flags) # define close(fd) close_not_cancel_no_status (fd) # define read(fd, buf, n) read_not_cancel (fd, buf, n) # define mmap(addr, len, prot, flags, fd, offset) \ __mmap (addr, len, prot, flags, fd, offset) # define munmap(addr, len) __munmap (addr, len) #endif /* For those losing systems which don't have `alloca' we have to add some additional code emulating it. */ #ifdef HAVE_ALLOCA # define freea(p) /* nothing */ #else # define alloca(n) malloc (n) # define freea(p) free (p) #endif /* For systems that distinguish between text and binary I/O. O_BINARY is usually declared in . */ #if !defined O_BINARY && defined _O_BINARY /* For MSC-compatible compilers. */ # define O_BINARY _O_BINARY # define O_TEXT _O_TEXT #endif #ifdef __BEOS__ /* BeOS 5 has O_BINARY and O_TEXT, but they have no effect. */ # undef O_BINARY # undef O_TEXT #endif /* On reasonable systems, binary I/O is the default. */ #ifndef O_BINARY # define O_BINARY 0 #endif /* We need a sign, whether a new catalog was loaded, which can be associated with all translations. This is important if the translations are cached by one of GCC's features. */ int _nl_msg_cat_cntr; /* Expand a system dependent string segment. Return NULL if unsupported. */ static const char * get_sysdep_segment_value (const char *name) { /* Test for an ISO C 99 section 7.8.1 format string directive. Syntax: P R I { d | i | o | u | x | X } { { | LEAST | FAST } { 8 | 16 | 32 | 64 } | MAX | PTR } */ /* We don't use a table of 14 times 6 'const char *' strings here, because data relocations cost startup time. */ if (name[0] == 'P' && name[1] == 'R' && name[2] == 'I') { if (name[3] == 'd' || name[3] == 'i' || name[3] == 'o' || name[3] == 'u' || name[3] == 'x' || name[3] == 'X') { if (name[4] == '8' && name[5] == '\0') { if (name[3] == 'd') return PRId8; if (name[3] == 'i') return PRIi8; if (name[3] == 'o') return PRIo8; if (name[3] == 'u') return PRIu8; if (name[3] == 'x') return PRIx8; if (name[3] == 'X') return PRIX8; abort (); } if (name[4] == '1' && name[5] == '6' && name[6] == '\0') { if (name[3] == 'd') return PRId16; if (name[3] == 'i') return PRIi16; if (name[3] == 'o') return PRIo16; if (name[3] == 'u') return PRIu16; if (name[3] == 'x') return PRIx16; if (name[3] == 'X') return PRIX16; abort (); } if (name[4] == '3' && name[5] == '2' && name[6] == '\0') { if (name[3] == 'd') return PRId32; if (name[3] == 'i') return PRIi32; if (name[3] == 'o') return PRIo32; if (name[3] == 'u') return PRIu32; if (name[3] == 'x') return PRIx32; if (name[3] == 'X') return PRIX32; abort (); } if (name[4] == '6' && name[5] == '4' && name[6] == '\0') { if (name[3] == 'd') return PRId64; if (name[3] == 'i') return PRIi64; if (name[3] == 'o') return PRIo64; if (name[3] == 'u') return PRIu64; if (name[3] == 'x') return PRIx64; if (name[3] == 'X') return PRIX64; abort (); } if (name[4] == 'L' && name[5] == 'E' && name[6] == 'A' && name[7] == 'S' && name[8] == 'T') { if (name[9] == '8' && name[10] == '\0') { if (name[3] == 'd') return PRIdLEAST8; if (name[3] == 'i') return PRIiLEAST8; if (name[3] == 'o') return PRIoLEAST8; if (name[3] == 'u') return PRIuLEAST8; if (name[3] == 'x') return PRIxLEAST8; if (name[3] == 'X') return PRIXLEAST8; abort (); } if (name[9] == '1' && name[10] == '6' && name[11] == '\0') { if (name[3] == 'd') return PRIdLEAST16; if (name[3] == 'i') return PRIiLEAST16; if (name[3] == 'o') return PRIoLEAST16; if (name[3] == 'u') return PRIuLEAST16; if (name[3] == 'x') return PRIxLEAST16; if (name[3] == 'X') return PRIXLEAST16; abort (); } if (name[9] == '3' && name[10] == '2' && name[11] == '\0') { if (name[3] == 'd') return PRIdLEAST32; if (name[3] == 'i') return PRIiLEAST32; if (name[3] == 'o') return PRIoLEAST32; if (name[3] == 'u') return PRIuLEAST32; if (name[3] == 'x') return PRIxLEAST32; if (name[3] == 'X') return PRIXLEAST32; abort (); } if (name[9] == '6' && name[10] == '4' && name[11] == '\0') { if (name[3] == 'd') return PRIdLEAST64; if (name[3] == 'i') return PRIiLEAST64; if (name[3] == 'o') return PRIoLEAST64; if (name[3] == 'u') return PRIuLEAST64; if (name[3] == 'x') return PRIxLEAST64; if (name[3] == 'X') return PRIXLEAST64; abort (); } } if (name[4] == 'F' && name[5] == 'A' && name[6] == 'S' && name[7] == 'T') { if (name[8] == '8' && name[9] == '\0') { if (name[3] == 'd') return PRIdFAST8; if (name[3] == 'i') return PRIiFAST8; if (name[3] == 'o') return PRIoFAST8; if (name[3] == 'u') return PRIuFAST8; if (name[3] == 'x') return PRIxFAST8; if (name[3] == 'X') return PRIXFAST8; abort (); } if (name[8] == '1' && name[9] == '6' && name[10] == '\0') { if (name[3] == 'd') return PRIdFAST16; if (name[3] == 'i') return PRIiFAST16; if (name[3] == 'o') return PRIoFAST16; if (name[3] == 'u') return PRIuFAST16; if (name[3] == 'x') return PRIxFAST16; if (name[3] == 'X') return PRIXFAST16; abort (); } if (name[8] == '3' && name[9] == '2' && name[10] == '\0') { if (name[3] == 'd') return PRIdFAST32; if (name[3] == 'i') return PRIiFAST32; if (name[3] == 'o') return PRIoFAST32; if (name[3] == 'u') return PRIuFAST32; if (name[3] == 'x') return PRIxFAST32; if (name[3] == 'X') return PRIXFAST32; abort (); } if (name[8] == '6' && name[9] == '4' && name[10] == '\0') { if (name[3] == 'd') return PRIdFAST64; if (name[3] == 'i') return PRIiFAST64; if (name[3] == 'o') return PRIoFAST64; if (name[3] == 'u') return PRIuFAST64; if (name[3] == 'x') return PRIxFAST64; if (name[3] == 'X') return PRIXFAST64; abort (); } } if (name[4] == 'M' && name[5] == 'A' && name[6] == 'X' && name[7] == '\0') { if (name[3] == 'd') return PRIdMAX; if (name[3] == 'i') return PRIiMAX; if (name[3] == 'o') return PRIoMAX; if (name[3] == 'u') return PRIuMAX; if (name[3] == 'x') return PRIxMAX; if (name[3] == 'X') return PRIXMAX; abort (); } if (name[4] == 'P' && name[5] == 'T' && name[6] == 'R' && name[7] == '\0') { if (name[3] == 'd') return PRIdPTR; if (name[3] == 'i') return PRIiPTR; if (name[3] == 'o') return PRIoPTR; if (name[3] == 'u') return PRIuPTR; if (name[3] == 'x') return PRIxPTR; if (name[3] == 'X') return PRIXPTR; abort (); } } } /* Test for a glibc specific printf() format directive flag. */ if (name[0] == 'I' && name[1] == '\0') { #if defined _LIBC || __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) /* The 'I' flag, in numeric format directives, replaces ASCII digits with the 'outdigits' defined in the LC_CTYPE locale facet. This is used for Farsi (Persian) and maybe Arabic. */ return "I"; #else return ""; #endif } /* Other system dependent strings are not valid. */ return NULL; } /* Load the message catalogs specified by FILENAME. If it is no valid message catalog do nothing. */ void internal_function _nl_load_domain (struct loaded_l10nfile *domain_file, struct binding *domainbinding) { __libc_lock_define_initialized_recursive (static, lock) int fd = -1; size_t size; #ifdef _LIBC struct stat64 st; #else struct stat st; #endif struct mo_file_header *data = (struct mo_file_header *) -1; int use_mmap = 0; struct loaded_domain *domain; int revision; const char *nullentry; size_t nullentrylen; __libc_lock_lock_recursive (lock); if (domain_file->decided != 0) { /* There are two possibilities: + this is the same thread calling again during this initialization via _nl_find_msg. We have initialized everything this call needs. + this is another thread which tried to initialize this object. Not necessary anymore since if the lock is available this is finished. */ goto done; } domain_file->decided = -1; domain_file->data = NULL; /* Note that it would be useless to store domainbinding in domain_file because domainbinding might be == NULL now but != NULL later (after a call to bind_textdomain_codeset). */ /* If the record does not represent a valid locale the FILENAME might be NULL. This can happen when according to the given specification the locale file name is different for XPG and CEN syntax. */ if (domain_file->filename == NULL) goto out; /* Try to open the addressed file. */ fd = open (domain_file->filename, O_RDONLY | O_BINARY); if (fd == -1) goto out; /* We must know about the size of the file. */ if ( #ifdef _LIBC __builtin_expect (fstat64 (fd, &st) != 0, 0) #else __builtin_expect (fstat (fd, &st) != 0, 0) #endif || __builtin_expect ((size = (size_t) st.st_size) != st.st_size, 0) || __builtin_expect (size < sizeof (struct mo_file_header), 0)) /* Something went wrong. */ goto out; #ifdef HAVE_MMAP /* Now we are ready to load the file. If mmap() is available we try this first. If not available or it failed we try to load it. */ data = (struct mo_file_header *) mmap (NULL, size, PROT_READ, MAP_PRIVATE, fd, 0); if (__builtin_expect (data != (struct mo_file_header *) -1, 1)) { /* mmap() call was successful. */ close (fd); fd = -1; use_mmap = 1; } #endif /* If the data is not yet available (i.e. mmap'ed) we try to load it manually. */ if (data == (struct mo_file_header *) -1) { size_t to_read; char *read_ptr; data = (struct mo_file_header *) malloc (size); if (data == NULL) goto out; to_read = size; read_ptr = (char *) data; do { long int nb = (long int) read (fd, read_ptr, to_read); if (nb <= 0) { #ifdef EINTR if (nb == -1 && errno == EINTR) continue; #endif goto out; } read_ptr += nb; to_read -= nb; } while (to_read > 0); close (fd); fd = -1; } /* Using the magic number we can test whether it really is a message catalog file. */ if (__builtin_expect (data->magic != _MAGIC && data->magic != _MAGIC_SWAPPED, 0)) { /* The magic number is wrong: not a message catalog file. */ #ifdef HAVE_MMAP if (use_mmap) munmap ((caddr_t) data, size); else #endif free (data); goto out; } domain = (struct loaded_domain *) malloc (sizeof (struct loaded_domain)); if (domain == NULL) goto out; domain_file->data = domain; domain->data = (char *) data; domain->use_mmap = use_mmap; domain->mmap_size = size; domain->must_swap = data->magic != _MAGIC; domain->malloced = NULL; /* Fill in the information about the available tables. */ revision = W (domain->must_swap, data->revision); /* We support only the major revisions 0 and 1. */ switch (revision >> 16) { case 0: case 1: domain->nstrings = W (domain->must_swap, data->nstrings); domain->orig_tab = (const struct string_desc *) ((char *) data + W (domain->must_swap, data->orig_tab_offset)); domain->trans_tab = (const struct string_desc *) ((char *) data + W (domain->must_swap, data->trans_tab_offset)); domain->hash_size = W (domain->must_swap, data->hash_tab_size); domain->hash_tab = (domain->hash_size > 2 ? (const nls_uint32 *) ((char *) data + W (domain->must_swap, data->hash_tab_offset)) : NULL); domain->must_swap_hash_tab = domain->must_swap; /* Now dispatch on the minor revision. */ switch (revision & 0xffff) { case 0: domain->n_sysdep_strings = 0; domain->orig_sysdep_tab = NULL; domain->trans_sysdep_tab = NULL; break; case 1: default: { nls_uint32 n_sysdep_strings; if (domain->hash_tab == NULL) /* This is invalid. These minor revisions need a hash table. */ goto invalid; n_sysdep_strings = W (domain->must_swap, data->n_sysdep_strings); if (n_sysdep_strings > 0) { nls_uint32 n_sysdep_segments; const struct sysdep_segment *sysdep_segments; const char **sysdep_segment_values; const nls_uint32 *orig_sysdep_tab; const nls_uint32 *trans_sysdep_tab; nls_uint32 n_inmem_sysdep_strings; size_t memneed; char *mem; struct sysdep_string_desc *inmem_orig_sysdep_tab; struct sysdep_string_desc *inmem_trans_sysdep_tab; nls_uint32 *inmem_hash_tab; unsigned int i, j; /* Get the values of the system dependent segments. */ n_sysdep_segments = W (domain->must_swap, data->n_sysdep_segments); sysdep_segments = (const struct sysdep_segment *) ((char *) data + W (domain->must_swap, data->sysdep_segments_offset)); sysdep_segment_values = alloca (n_sysdep_segments * sizeof (const char *)); for (i = 0; i < n_sysdep_segments; i++) { const char *name = (char *) data + W (domain->must_swap, sysdep_segments[i].offset); nls_uint32 namelen = W (domain->must_swap, sysdep_segments[i].length); if (!(namelen > 0 && name[namelen - 1] == '\0')) { freea (sysdep_segment_values); goto invalid; } sysdep_segment_values[i] = get_sysdep_segment_value (name); } orig_sysdep_tab = (const nls_uint32 *) ((char *) data + W (domain->must_swap, data->orig_sysdep_tab_offset)); trans_sysdep_tab = (const nls_uint32 *) ((char *) data + W (domain->must_swap, data->trans_sysdep_tab_offset)); /* Compute the amount of additional memory needed for the system dependent strings and the augmented hash table. At the same time, also drop string pairs which refer to an undefined system dependent segment. */ n_inmem_sysdep_strings = 0; memneed = domain->hash_size * sizeof (nls_uint32); for (i = 0; i < n_sysdep_strings; i++) { int valid = 1; size_t needs[2]; for (j = 0; j < 2; j++) { const struct sysdep_string *sysdep_string = (const struct sysdep_string *) ((char *) data + W (domain->must_swap, j == 0 ? orig_sysdep_tab[i] : trans_sysdep_tab[i])); size_t need = 0; const struct segment_pair *p = sysdep_string->segments; if (W (domain->must_swap, p->sysdepref) != SEGMENTS_END) for (p = sysdep_string->segments;; p++) { nls_uint32 sysdepref; need += W (domain->must_swap, p->segsize); sysdepref = W (domain->must_swap, p->sysdepref); if (sysdepref == SEGMENTS_END) break; if (sysdepref >= n_sysdep_segments) { /* Invalid. */ freea (sysdep_segment_values); goto invalid; } if (sysdep_segment_values[sysdepref] == NULL) { /* This particular string pair is invalid. */ valid = 0; break; } need += strlen (sysdep_segment_values[sysdepref]); } needs[j] = need; if (!valid) break; } if (valid) { n_inmem_sysdep_strings++; memneed += needs[0] + needs[1]; } } memneed += 2 * n_inmem_sysdep_strings * sizeof (struct sysdep_string_desc); if (n_inmem_sysdep_strings > 0) { unsigned int k; /* Allocate additional memory. */ mem = (char *) malloc (memneed); if (mem == NULL) goto invalid; domain->malloced = mem; inmem_orig_sysdep_tab = (struct sysdep_string_desc *) mem; mem += n_inmem_sysdep_strings * sizeof (struct sysdep_string_desc); inmem_trans_sysdep_tab = (struct sysdep_string_desc *) mem; mem += n_inmem_sysdep_strings * sizeof (struct sysdep_string_desc); inmem_hash_tab = (nls_uint32 *) mem; mem += domain->hash_size * sizeof (nls_uint32); /* Compute the system dependent strings. */ k = 0; for (i = 0; i < n_sysdep_strings; i++) { int valid = 1; for (j = 0; j < 2; j++) { const struct sysdep_string *sysdep_string = (const struct sysdep_string *) ((char *) data + W (domain->must_swap, j == 0 ? orig_sysdep_tab[i] : trans_sysdep_tab[i])); const struct segment_pair *p = sysdep_string->segments; if (W (domain->must_swap, p->sysdepref) != SEGMENTS_END) for (p = sysdep_string->segments;; p++) { nls_uint32 sysdepref; sysdepref = W (domain->must_swap, p->sysdepref); if (sysdepref == SEGMENTS_END) break; if (sysdep_segment_values[sysdepref] == NULL) { /* This particular string pair is invalid. */ valid = 0; break; } } if (!valid) break; } if (valid) { for (j = 0; j < 2; j++) { const struct sysdep_string *sysdep_string = (const struct sysdep_string *) ((char *) data + W (domain->must_swap, j == 0 ? orig_sysdep_tab[i] : trans_sysdep_tab[i])); const char *static_segments = (char *) data + W (domain->must_swap, sysdep_string->offset); const struct segment_pair *p = sysdep_string->segments; /* Concatenate the segments, and fill inmem_orig_sysdep_tab[k] (for j == 0) and inmem_trans_sysdep_tab[k] (for j == 1). */ struct sysdep_string_desc *inmem_tab_entry = (j == 0 ? inmem_orig_sysdep_tab : inmem_trans_sysdep_tab) + k; if (W (domain->must_swap, p->sysdepref) == SEGMENTS_END) { /* Only one static segment. */ inmem_tab_entry->length = W (domain->must_swap, p->segsize); inmem_tab_entry->pointer = static_segments; } else { inmem_tab_entry->pointer = mem; for (p = sysdep_string->segments;; p++) { nls_uint32 segsize = W (domain->must_swap, p->segsize); nls_uint32 sysdepref = W (domain->must_swap, p->sysdepref); size_t n; if (segsize > 0) { memcpy (mem, static_segments, segsize); mem += segsize; static_segments += segsize; } if (sysdepref == SEGMENTS_END) break; n = strlen (sysdep_segment_values[sysdepref]); memcpy (mem, sysdep_segment_values[sysdepref], n); mem += n; } inmem_tab_entry->length = mem - inmem_tab_entry->pointer; } } k++; } } if (k != n_inmem_sysdep_strings) abort (); /* Compute the augmented hash table. */ for (i = 0; i < domain->hash_size; i++) inmem_hash_tab[i] = W (domain->must_swap_hash_tab, domain->hash_tab[i]); for (i = 0; i < n_inmem_sysdep_strings; i++) { const char *msgid = inmem_orig_sysdep_tab[i].pointer; nls_uint32 hash_val = __hash_string (msgid); nls_uint32 idx = hash_val % domain->hash_size; nls_uint32 incr = 1 + (hash_val % (domain->hash_size - 2)); for (;;) { if (inmem_hash_tab[idx] == 0) { /* Hash table entry is empty. Use it. */ inmem_hash_tab[idx] = 1 + domain->nstrings + i; break; } if (idx >= domain->hash_size - incr) idx -= domain->hash_size - incr; else idx += incr; } } domain->n_sysdep_strings = n_inmem_sysdep_strings; domain->orig_sysdep_tab = inmem_orig_sysdep_tab; domain->trans_sysdep_tab = inmem_trans_sysdep_tab; domain->hash_tab = inmem_hash_tab; domain->must_swap_hash_tab = 0; } else { domain->n_sysdep_strings = 0; domain->orig_sysdep_tab = NULL; domain->trans_sysdep_tab = NULL; } freea (sysdep_segment_values); } else { domain->n_sysdep_strings = 0; domain->orig_sysdep_tab = NULL; domain->trans_sysdep_tab = NULL; } } break; } break; default: /* This is an invalid revision. */ invalid: /* This is an invalid .mo file. */ if (domain->malloced) free (domain->malloced); #ifdef HAVE_MMAP if (use_mmap) munmap ((caddr_t) data, size); else #endif free (data); free (domain); domain_file->data = NULL; goto out; } /* No caches of converted translations so far. */ domain->conversions = NULL; domain->nconversions = 0; /* Get the header entry and look for a plural specification. */ #ifdef IN_LIBGLOCALE nullentry = _nl_find_msg (domain_file, domainbinding, NULL, "", &nullentrylen); #else nullentry = _nl_find_msg (domain_file, domainbinding, "", 0, &nullentrylen); #endif EXTRACT_PLURAL_EXPRESSION (nullentry, &domain->plural, &domain->nplurals); out: if (fd != -1) close (fd); domain_file->decided = 1; done: __libc_lock_unlock_recursive (lock); } #ifdef _LIBC void internal_function __libc_freeres_fn_section _nl_unload_domain (struct loaded_domain *domain) { size_t i; if (domain->plural != &__gettext_germanic_plural) __gettext_free_exp (domain->plural); for (i = 0; i < domain->nconversions; i++) { struct converted_domain *convd = &domain->conversions[i]; free (convd->encoding); if (convd->conv_tab != NULL && convd->conv_tab != (char **) -1) free (convd->conv_tab); if (convd->conv != (__gconv_t) -1) __gconv_close (convd->conv); } if (domain->conversions != NULL) free (domain->conversions); if (domain->malloced) free (domain->malloced); # ifdef _POSIX_MAPPED_FILES if (domain->use_mmap) munmap ((caddr_t) domain->data, domain->mmap_size); else # endif /* _POSIX_MAPPED_FILES */ free ((void *) domain->data); free (domain); } #endif geda-gaf-1.8.2/intl/os2compat.h0000664000175000017500000000302612050467633013135 00000000000000/* OS/2 compatibility defines. This file is intended to be included from config.h Copyright (C) 2001-2002 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* When included from os2compat.h we need all the original definitions */ #ifndef OS2_AWARE #undef LIBDIR #define LIBDIR _nlos2_libdir extern char *_nlos2_libdir; #undef LOCALEDIR #define LOCALEDIR _nlos2_localedir extern char *_nlos2_localedir; #undef LOCALE_ALIAS_PATH #define LOCALE_ALIAS_PATH _nlos2_localealiaspath extern char *_nlos2_localealiaspath; #endif #undef HAVE_STRCASECMP #define HAVE_STRCASECMP 1 #define strcasecmp stricmp #define strncasecmp strnicmp /* We have our own getenv() which works even if library is compiled as DLL */ #define getenv _nl_getenv /* Older versions of gettext used -1 as the value of LC_MESSAGES */ #define LC_MESSAGES_COMPAT (-1) geda-gaf-1.8.2/intl/eval-plural.h0000664000175000017500000000532612050467633013457 00000000000000/* Plural expression evaluation. Copyright (C) 2000-2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef STATIC #define STATIC static #endif /* Evaluate the plural expression and return an index value. */ STATIC unsigned long int internal_function plural_eval (struct expression *pexp, unsigned long int n) { switch (pexp->nargs) { case 0: switch (pexp->operation) { case var: return n; case num: return pexp->val.num; default: break; } /* NOTREACHED */ break; case 1: { /* pexp->operation must be lnot. */ unsigned long int arg = plural_eval (pexp->val.args[0], n); return ! arg; } case 2: { unsigned long int leftarg = plural_eval (pexp->val.args[0], n); if (pexp->operation == lor) return leftarg || plural_eval (pexp->val.args[1], n); else if (pexp->operation == land) return leftarg && plural_eval (pexp->val.args[1], n); else { unsigned long int rightarg = plural_eval (pexp->val.args[1], n); switch (pexp->operation) { case mult: return leftarg * rightarg; case divide: #if !INTDIV0_RAISES_SIGFPE if (rightarg == 0) raise (SIGFPE); #endif return leftarg / rightarg; case module: #if !INTDIV0_RAISES_SIGFPE if (rightarg == 0) raise (SIGFPE); #endif return leftarg % rightarg; case plus: return leftarg + rightarg; case minus: return leftarg - rightarg; case less_than: return leftarg < rightarg; case greater_than: return leftarg > rightarg; case less_or_equal: return leftarg <= rightarg; case greater_or_equal: return leftarg >= rightarg; case equal: return leftarg == rightarg; case not_equal: return leftarg != rightarg; default: break; } } /* NOTREACHED */ break; } case 3: { /* pexp->operation must be qmop. */ unsigned long int boolarg = plural_eval (pexp->val.args[0], n); return plural_eval (pexp->val.args[boolarg ? 1 : 2], n); } } /* NOTREACHED */ return 0; } geda-gaf-1.8.2/intl/xsize.h0000664000175000017500000000672612050467634012403 00000000000000/* xsize.h -- Checked size_t computations. Copyright (C) 2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _XSIZE_H #define _XSIZE_H /* Get size_t. */ #include /* Get SIZE_MAX. */ #include #if HAVE_STDINT_H # include #endif /* The size of memory objects is often computed through expressions of type size_t. Example: void* p = malloc (header_size + n * element_size). These computations can lead to overflow. When this happens, malloc() returns a piece of memory that is way too small, and the program then crashes while attempting to fill the memory. To avoid this, the functions and macros in this file check for overflow. The convention is that SIZE_MAX represents overflow. malloc (SIZE_MAX) is not guaranteed to fail -- think of a malloc implementation that uses mmap --, it's recommended to use size_overflow_p() or size_in_bounds_p() before invoking malloc(). The example thus becomes: size_t size = xsum (header_size, xtimes (n, element_size)); void *p = (size_in_bounds_p (size) ? malloc (size) : NULL); */ /* Convert an arbitrary value >= 0 to type size_t. */ #define xcast_size_t(N) \ ((N) <= SIZE_MAX ? (size_t) (N) : SIZE_MAX) /* Sum of two sizes, with overflow check. */ static inline size_t #if __GNUC__ >= 3 __attribute__ ((__pure__)) #endif xsum (size_t size1, size_t size2) { size_t sum = size1 + size2; return (sum >= size1 ? sum : SIZE_MAX); } /* Sum of three sizes, with overflow check. */ static inline size_t #if __GNUC__ >= 3 __attribute__ ((__pure__)) #endif xsum3 (size_t size1, size_t size2, size_t size3) { return xsum (xsum (size1, size2), size3); } /* Sum of four sizes, with overflow check. */ static inline size_t #if __GNUC__ >= 3 __attribute__ ((__pure__)) #endif xsum4 (size_t size1, size_t size2, size_t size3, size_t size4) { return xsum (xsum (xsum (size1, size2), size3), size4); } /* Maximum of two sizes, with overflow check. */ static inline size_t #if __GNUC__ >= 3 __attribute__ ((__pure__)) #endif xmax (size_t size1, size_t size2) { /* No explicit check is needed here, because for any n: max (SIZE_MAX, n) == SIZE_MAX and max (n, SIZE_MAX) == SIZE_MAX. */ return (size1 >= size2 ? size1 : size2); } /* Multiplication of a count with an element size, with overflow check. The count must be >= 0 and the element size must be > 0. This is a macro, not an inline function, so that it works correctly even when N is of a wider tupe and N > SIZE_MAX. */ #define xtimes(N, ELSIZE) \ ((N) <= SIZE_MAX / (ELSIZE) ? (size_t) (N) * (ELSIZE) : SIZE_MAX) /* Check for overflow. */ #define size_overflow_p(SIZE) \ ((SIZE) == SIZE_MAX) /* Check against overflow. */ #define size_in_bounds_p(SIZE) \ ((SIZE) != SIZE_MAX) #endif /* _XSIZE_H */ geda-gaf-1.8.2/intl/dcngettext.c0000664000175000017500000000347412050467633013401 00000000000000/* Implementation of the dcngettext(3) function. Copyright (C) 1995-1999, 2000-2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifdef HAVE_CONFIG_H # include #endif #include "gettextP.h" #ifdef _LIBC # include #else # include "libgnuintl.h" #endif /* @@ end of prolog @@ */ /* Names for the libintl functions are a problem. They must not clash with existing names and they should follow ANSI C. But this source code is also used in GNU C Library where the names have a __ prefix. So we have to make a difference here. */ #ifdef _LIBC # define DCNGETTEXT __dcngettext # define DCIGETTEXT __dcigettext #else # define DCNGETTEXT libintl_dcngettext # define DCIGETTEXT libintl_dcigettext #endif /* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY locale. */ char * DCNGETTEXT (const char *domainname, const char *msgid1, const char *msgid2, unsigned long int n, int category) { return DCIGETTEXT (domainname, msgid1, msgid2, 1, n, category); } #ifdef _LIBC /* Alias for function name in GNU C Library. */ weak_alias (__dcngettext, dcngettext); #endif geda-gaf-1.8.2/intl/dcgettext.c0000664000175000017500000000342112050467633013213 00000000000000/* Implementation of the dcgettext(3) function. Copyright (C) 1995-1999, 2000-2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifdef HAVE_CONFIG_H # include #endif #include "gettextP.h" #ifdef _LIBC # include #else # include "libgnuintl.h" #endif /* @@ end of prolog @@ */ /* Names for the libintl functions are a problem. They must not clash with existing names and they should follow ANSI C. But this source code is also used in GNU C Library where the names have a __ prefix. So we have to make a difference here. */ #ifdef _LIBC # define DCGETTEXT __dcgettext # define DCIGETTEXT __dcigettext #else # define DCGETTEXT libintl_dcgettext # define DCIGETTEXT libintl_dcigettext #endif /* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY locale. */ char * DCGETTEXT (const char *domainname, const char *msgid, int category) { return DCIGETTEXT (domainname, msgid, NULL, 0, 0, category); } #ifdef _LIBC /* Alias for function name in GNU C Library. */ INTDEF(__dcgettext) weak_alias (__dcgettext, dcgettext); #endif geda-gaf-1.8.2/intl/hash-string.h0000664000175000017500000000256612050467633013465 00000000000000/* Description of GNU message catalog format: string hashing function. Copyright (C) 1995, 1997-1998, 2000-2003, 2005 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* @@ end of prolog @@ */ /* We assume to have `unsigned long int' value with at least 32 bits. */ #define HASHWORDBITS 32 #ifndef _LIBC # ifdef IN_LIBINTL # define __hash_string libintl_hash_string # else # define __hash_string hash_string # endif #endif /* Defines the so called `hashpjw' function by P.J. Weinberger [see Aho/Sethi/Ullman, COMPILERS: Principles, Techniques and Tools, 1986, 1987 Bell Telephone Laboratories, Inc.] */ extern unsigned long int __hash_string (const char *str_param); geda-gaf-1.8.2/intl/dngettext.c0000664000175000017500000000354612050467633013236 00000000000000/* Implementation of the dngettext(3) function. Copyright (C) 1995-1997, 2000-2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifdef HAVE_CONFIG_H # include #endif #include "gettextP.h" #include #ifdef _LIBC # include #else # include "libgnuintl.h" #endif /* @@ end of prolog @@ */ /* Names for the libintl functions are a problem. They must not clash with existing names and they should follow ANSI C. But this source code is also used in GNU C Library where the names have a __ prefix. So we have to make a difference here. */ #ifdef _LIBC # define DNGETTEXT __dngettext # define DCNGETTEXT __dcngettext #else # define DNGETTEXT libintl_dngettext # define DCNGETTEXT libintl_dcngettext #endif /* Look up MSGID in the DOMAINNAME message catalog of the current LC_MESSAGES locale and skip message according to the plural form. */ char * DNGETTEXT (const char *domainname, const char *msgid1, const char *msgid2, unsigned long int n) { return DCNGETTEXT (domainname, msgid1, msgid2, n, LC_MESSAGES); } #ifdef _LIBC /* Alias for function name in GNU C Library. */ weak_alias (__dngettext, dngettext); #endif geda-gaf-1.8.2/intl/libgnuintl.h.in0000664000175000017500000003412712050467633014010 00000000000000/* Message catalogs for internationalization. Copyright (C) 1995-1997, 2000-2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _LIBINTL_H #define _LIBINTL_H 1 #include /* The LC_MESSAGES locale category is the category used by the functions gettext() and dgettext(). It is specified in POSIX, but not in ANSI C. On systems that don't define it, use an arbitrary value instead. On Solaris, defines __LOCALE_H (or _LOCALE_H in Solaris 2.5) then includes (i.e. this file!) and then only defines LC_MESSAGES. To avoid a redefinition warning, don't define LC_MESSAGES in this case. */ #if !defined LC_MESSAGES && !(defined __LOCALE_H || (defined _LOCALE_H && defined __sun)) # define LC_MESSAGES 1729 #endif /* We define an additional symbol to signal that we use the GNU implementation of gettext. */ #define __USE_GNU_GETTEXT 1 /* Provide information about the supported file formats. Returns the maximum minor revision number supported for a given major revision. */ #define __GNU_GETTEXT_SUPPORTED_REVISION(major) \ ((major) == 0 || (major) == 1 ? 1 : -1) /* Resolve a platform specific conflict on DJGPP. GNU gettext takes precedence over _conio_gettext. */ #ifdef __DJGPP__ # undef gettext #endif #ifdef __cplusplus extern "C" { #endif /* Version number: (major<<16) + (minor<<8) + subminor */ #define LIBINTL_VERSION 0x001000 extern int libintl_version; /* We redirect the functions to those prefixed with "libintl_". This is necessary, because some systems define gettext/textdomain/... in the C library (namely, Solaris 2.4 and newer, and GNU libc 2.0 and newer). If we used the unprefixed names, there would be cases where the definition in the C library would override the one in the libintl.so shared library. Recall that on ELF systems, the symbols are looked up in the following order: 1. in the executable, 2. in the shared libraries specified on the link command line, in order, 3. in the dependencies of the shared libraries specified on the link command line, 4. in the dlopen()ed shared libraries, in the order in which they were dlopen()ed. The definition in the C library would override the one in libintl.so if either * -lc is given on the link command line and -lintl isn't, or * -lc is given on the link command line before -lintl, or * libintl.so is a dependency of a dlopen()ed shared library but not linked to the executable at link time. Since Solaris gettext() behaves differently than GNU gettext(), this would be unacceptable. The redirection happens by default through macros in C, so that &gettext is independent of the compilation unit, but through inline functions in C++, in order not to interfere with the name mangling of class fields or class methods called 'gettext'. */ /* The user can define _INTL_REDIRECT_INLINE or _INTL_REDIRECT_MACROS. If he doesn't, we choose the method. A third possible method is _INTL_REDIRECT_ASM, supported only by GCC. */ #if !(defined _INTL_REDIRECT_INLINE || defined _INTL_REDIRECT_MACROS) # if __GNUC__ >= 2 && !(__APPLE_CC__ > 1) && !defined __MINGW32__ && !(__GNUC__ == 2 && defined _AIX) && (defined __STDC__ || defined __cplusplus) # define _INTL_REDIRECT_ASM # else # ifdef __cplusplus # define _INTL_REDIRECT_INLINE # else # define _INTL_REDIRECT_MACROS # endif # endif #endif /* Auxiliary macros. */ #ifdef _INTL_REDIRECT_ASM # define _INTL_ASM(cname) __asm__ (_INTL_ASMNAME (__USER_LABEL_PREFIX__, #cname)) # define _INTL_ASMNAME(prefix,cnamestring) _INTL_STRINGIFY (prefix) cnamestring # define _INTL_STRINGIFY(prefix) #prefix #else # define _INTL_ASM(cname) #endif /* _INTL_MAY_RETURN_STRING_ARG(n) declares that the given function may return its n-th argument literally. This enables GCC to warn for example about printf (gettext ("foo %y")). */ #if __GNUC__ >= 3 && !(__APPLE_CC__ > 1 && defined __cplusplus) # define _INTL_MAY_RETURN_STRING_ARG(n) __attribute__ ((__format_arg__ (n))) #else # define _INTL_MAY_RETURN_STRING_ARG(n) #endif /* Look up MSGID in the current default message catalog for the current LC_MESSAGES locale. If not found, returns MSGID itself (the default text). */ #ifdef _INTL_REDIRECT_INLINE extern char *libintl_gettext (const char *__msgid) _INTL_MAY_RETURN_STRING_ARG (1); static inline char *gettext (const char *__msgid) { return libintl_gettext (__msgid); } #else #ifdef _INTL_REDIRECT_MACROS # define gettext libintl_gettext #endif extern char *gettext (const char *__msgid) _INTL_ASM (libintl_gettext) _INTL_MAY_RETURN_STRING_ARG (1); #endif /* Look up MSGID in the DOMAINNAME message catalog for the current LC_MESSAGES locale. */ #ifdef _INTL_REDIRECT_INLINE extern char *libintl_dgettext (const char *__domainname, const char *__msgid) _INTL_MAY_RETURN_STRING_ARG (2); static inline char *dgettext (const char *__domainname, const char *__msgid) { return libintl_dgettext (__domainname, __msgid); } #else #ifdef _INTL_REDIRECT_MACROS # define dgettext libintl_dgettext #endif extern char *dgettext (const char *__domainname, const char *__msgid) _INTL_ASM (libintl_dgettext) _INTL_MAY_RETURN_STRING_ARG (2); #endif /* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY locale. */ #ifdef _INTL_REDIRECT_INLINE extern char *libintl_dcgettext (const char *__domainname, const char *__msgid, int __category) _INTL_MAY_RETURN_STRING_ARG (2); static inline char *dcgettext (const char *__domainname, const char *__msgid, int __category) { return libintl_dcgettext (__domainname, __msgid, __category); } #else #ifdef _INTL_REDIRECT_MACROS # define dcgettext libintl_dcgettext #endif extern char *dcgettext (const char *__domainname, const char *__msgid, int __category) _INTL_ASM (libintl_dcgettext) _INTL_MAY_RETURN_STRING_ARG (2); #endif /* Similar to `gettext' but select the plural form corresponding to the number N. */ #ifdef _INTL_REDIRECT_INLINE extern char *libintl_ngettext (const char *__msgid1, const char *__msgid2, unsigned long int __n) _INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2); static inline char *ngettext (const char *__msgid1, const char *__msgid2, unsigned long int __n) { return libintl_ngettext (__msgid1, __msgid2, __n); } #else #ifdef _INTL_REDIRECT_MACROS # define ngettext libintl_ngettext #endif extern char *ngettext (const char *__msgid1, const char *__msgid2, unsigned long int __n) _INTL_ASM (libintl_ngettext) _INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2); #endif /* Similar to `dgettext' but select the plural form corresponding to the number N. */ #ifdef _INTL_REDIRECT_INLINE extern char *libintl_dngettext (const char *__domainname, const char *__msgid1, const char *__msgid2, unsigned long int __n) _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); static inline char *dngettext (const char *__domainname, const char *__msgid1, const char *__msgid2, unsigned long int __n) { return libintl_dngettext (__domainname, __msgid1, __msgid2, __n); } #else #ifdef _INTL_REDIRECT_MACROS # define dngettext libintl_dngettext #endif extern char *dngettext (const char *__domainname, const char *__msgid1, const char *__msgid2, unsigned long int __n) _INTL_ASM (libintl_dngettext) _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); #endif /* Similar to `dcgettext' but select the plural form corresponding to the number N. */ #ifdef _INTL_REDIRECT_INLINE extern char *libintl_dcngettext (const char *__domainname, const char *__msgid1, const char *__msgid2, unsigned long int __n, int __category) _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); static inline char *dcngettext (const char *__domainname, const char *__msgid1, const char *__msgid2, unsigned long int __n, int __category) { return libintl_dcngettext (__domainname, __msgid1, __msgid2, __n, __category); } #else #ifdef _INTL_REDIRECT_MACROS # define dcngettext libintl_dcngettext #endif extern char *dcngettext (const char *__domainname, const char *__msgid1, const char *__msgid2, unsigned long int __n, int __category) _INTL_ASM (libintl_dcngettext) _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); #endif #ifndef IN_LIBGLOCALE /* Set the current default message catalog to DOMAINNAME. If DOMAINNAME is null, return the current default. If DOMAINNAME is "", reset to the default of "messages". */ #ifdef _INTL_REDIRECT_INLINE extern char *libintl_textdomain (const char *__domainname); static inline char *textdomain (const char *__domainname) { return libintl_textdomain (__domainname); } #else #ifdef _INTL_REDIRECT_MACROS # define textdomain libintl_textdomain #endif extern char *textdomain (const char *__domainname) _INTL_ASM (libintl_textdomain); #endif /* Specify that the DOMAINNAME message catalog will be found in DIRNAME rather than in the system locale data base. */ #ifdef _INTL_REDIRECT_INLINE extern char *libintl_bindtextdomain (const char *__domainname, const char *__dirname); static inline char *bindtextdomain (const char *__domainname, const char *__dirname) { return libintl_bindtextdomain (__domainname, __dirname); } #else #ifdef _INTL_REDIRECT_MACROS # define bindtextdomain libintl_bindtextdomain #endif extern char *bindtextdomain (const char *__domainname, const char *__dirname) _INTL_ASM (libintl_bindtextdomain); #endif /* Specify the character encoding in which the messages from the DOMAINNAME message catalog will be returned. */ #ifdef _INTL_REDIRECT_INLINE extern char *libintl_bind_textdomain_codeset (const char *__domainname, const char *__codeset); static inline char *bind_textdomain_codeset (const char *__domainname, const char *__codeset) { return libintl_bind_textdomain_codeset (__domainname, __codeset); } #else #ifdef _INTL_REDIRECT_MACROS # define bind_textdomain_codeset libintl_bind_textdomain_codeset #endif extern char *bind_textdomain_codeset (const char *__domainname, const char *__codeset) _INTL_ASM (libintl_bind_textdomain_codeset); #endif #endif /* IN_LIBGLOCALE */ /* Support for format strings with positions in *printf(), following the POSIX/XSI specification. Note: These replacements for the *printf() functions are visible only in source files that #include or #include "gettext.h". Packages that use *printf() in source files that don't refer to _() or gettext() but for which the format string could be the return value of _() or gettext() need to add this #include. Oh well. */ #if !@HAVE_POSIX_PRINTF@ #include #include /* Get va_list. */ #if __STDC__ || defined __cplusplus || defined _MSC_VER # include #else # include #endif #undef fprintf #define fprintf libintl_fprintf extern int fprintf (FILE *, const char *, ...); #undef vfprintf #define vfprintf libintl_vfprintf extern int vfprintf (FILE *, const char *, va_list); #undef printf #if defined __NetBSD__ || defined __CYGWIN__ || defined __MINGW32__ /* Don't break __attribute__((format(printf,M,N))). This redefinition is only possible because the libc in NetBSD, Cygwin, mingw does not have a function __printf__. */ # define libintl_printf __printf__ #endif #define printf libintl_printf extern int printf (const char *, ...); #undef vprintf #define vprintf libintl_vprintf extern int vprintf (const char *, va_list); #undef sprintf #define sprintf libintl_sprintf extern int sprintf (char *, const char *, ...); #undef vsprintf #define vsprintf libintl_vsprintf extern int vsprintf (char *, const char *, va_list); #if @HAVE_SNPRINTF@ #undef snprintf #define snprintf libintl_snprintf extern int snprintf (char *, size_t, const char *, ...); #undef vsnprintf #define vsnprintf libintl_vsnprintf extern int vsnprintf (char *, size_t, const char *, va_list); #endif #if @HAVE_ASPRINTF@ #undef asprintf #define asprintf libintl_asprintf extern int asprintf (char **, const char *, ...); #undef vasprintf #define vasprintf libintl_vasprintf extern int vasprintf (char **, const char *, va_list); #endif #if @HAVE_WPRINTF@ #undef fwprintf #define fwprintf libintl_fwprintf extern int fwprintf (FILE *, const wchar_t *, ...); #undef vfwprintf #define vfwprintf libintl_vfwprintf extern int vfwprintf (FILE *, const wchar_t *, va_list); #undef wprintf #define wprintf libintl_wprintf extern int wprintf (const wchar_t *, ...); #undef vwprintf #define vwprintf libintl_vwprintf extern int vwprintf (const wchar_t *, va_list); #undef swprintf #define swprintf libintl_swprintf extern int swprintf (wchar_t *, size_t, const wchar_t *, ...); #undef vswprintf #define vswprintf libintl_vswprintf extern int vswprintf (wchar_t *, size_t, const wchar_t *, va_list); #endif #endif /* Support for relocatable packages. */ /* Sets the original and the current installation prefix of the package. Relocation simply replaces a pathname starting with the original prefix by the corresponding pathname with the current prefix instead. Both prefixes should be directory names without trailing slash (i.e. use "" instead of "/"). */ #define libintl_set_relocation_prefix libintl_set_relocation_prefix extern void libintl_set_relocation_prefix (const char *orig_prefix, const char *curr_prefix); #ifdef __cplusplus } #endif #endif /* libintl.h */ geda-gaf-1.8.2/intl/gmo.h0000664000175000017500000001135112050467633012010 00000000000000/* Description of GNU message catalog format: general file layout. Copyright (C) 1995, 1997, 2000-2002, 2004 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _GETTEXT_H #define _GETTEXT_H 1 #include /* @@ end of prolog @@ */ /* The magic number of the GNU message catalog format. */ #define _MAGIC 0x950412de #define _MAGIC_SWAPPED 0xde120495 /* Revision number of the currently used .mo (binary) file format. */ #define MO_REVISION_NUMBER 0 #define MO_REVISION_NUMBER_WITH_SYSDEP_I 1 /* The following contortions are an attempt to use the C preprocessor to determine an unsigned integral type that is 32 bits wide. An alternative approach is to use autoconf's AC_CHECK_SIZEOF macro, but as of version autoconf-2.13, the AC_CHECK_SIZEOF macro doesn't work when cross-compiling. */ #if __STDC__ # define UINT_MAX_32_BITS 4294967295U #else # define UINT_MAX_32_BITS 0xFFFFFFFF #endif /* If UINT_MAX isn't defined, assume it's a 32-bit type. This should be valid for all systems GNU cares about because that doesn't include 16-bit systems, and only modern systems (that certainly have ) have 64+-bit integral types. */ #ifndef UINT_MAX # define UINT_MAX UINT_MAX_32_BITS #endif #if UINT_MAX == UINT_MAX_32_BITS typedef unsigned nls_uint32; #else # if USHRT_MAX == UINT_MAX_32_BITS typedef unsigned short nls_uint32; # else # if ULONG_MAX == UINT_MAX_32_BITS typedef unsigned long nls_uint32; # else /* The following line is intended to throw an error. Using #error is not portable enough. */ "Cannot determine unsigned 32-bit data type." # endif # endif #endif /* Header for binary .mo file format. */ struct mo_file_header { /* The magic number. */ nls_uint32 magic; /* The revision number of the file format. */ nls_uint32 revision; /* The following are only used in .mo files with major revision 0 or 1. */ /* The number of strings pairs. */ nls_uint32 nstrings; /* Offset of table with start offsets of original strings. */ nls_uint32 orig_tab_offset; /* Offset of table with start offsets of translated strings. */ nls_uint32 trans_tab_offset; /* Size of hash table. */ nls_uint32 hash_tab_size; /* Offset of first hash table entry. */ nls_uint32 hash_tab_offset; /* The following are only used in .mo files with minor revision >= 1. */ /* The number of system dependent segments. */ nls_uint32 n_sysdep_segments; /* Offset of table describing system dependent segments. */ nls_uint32 sysdep_segments_offset; /* The number of system dependent strings pairs. */ nls_uint32 n_sysdep_strings; /* Offset of table with start offsets of original sysdep strings. */ nls_uint32 orig_sysdep_tab_offset; /* Offset of table with start offsets of translated sysdep strings. */ nls_uint32 trans_sysdep_tab_offset; }; /* Descriptor for static string contained in the binary .mo file. */ struct string_desc { /* Length of addressed string, not including the trailing NUL. */ nls_uint32 length; /* Offset of string in file. */ nls_uint32 offset; }; /* The following are only used in .mo files with minor revision >= 1. */ /* Descriptor for system dependent string segment. */ struct sysdep_segment { /* Length of addressed string, including the trailing NUL. */ nls_uint32 length; /* Offset of string in file. */ nls_uint32 offset; }; /* Descriptor for system dependent string. */ struct sysdep_string { /* Offset of static string segments in file. */ nls_uint32 offset; /* Alternating sequence of static and system dependent segments. The last segment is a static segment, including the trailing NUL. */ struct segment_pair { /* Size of static segment. */ nls_uint32 segsize; /* Reference to system dependent string segment, or ~0 at the end. */ nls_uint32 sysdepref; } segments[1]; }; /* Marker for the end of the segments[] array. This has the value 0xFFFFFFFF, regardless whether 'int' is 16 bit, 32 bit, or 64 bit. */ #define SEGMENTS_END ((nls_uint32) ~0) /* @@ begin of epilog @@ */ #endif /* gettext.h */ geda-gaf-1.8.2/intl/plural-exp.c0000664000175000017500000000766112050467633013323 00000000000000/* Expression parsing for plural form selection. Copyright (C) 2000-2001, 2003, 2005 Free Software Foundation, Inc. Written by Ulrich Drepper , 2000. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include "plural-exp.h" #if (defined __GNUC__ && !(__APPLE_CC__ > 1)) \ || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L) /* These structs are the constant expression for the germanic plural form determination. It represents the expression "n != 1". */ static const struct expression plvar = { .nargs = 0, .operation = var, }; static const struct expression plone = { .nargs = 0, .operation = num, .val = { .num = 1 } }; struct expression GERMANIC_PLURAL = { .nargs = 2, .operation = not_equal, .val = { .args = { [0] = (struct expression *) &plvar, [1] = (struct expression *) &plone } } }; # define INIT_GERMANIC_PLURAL() #else /* For compilers without support for ISO C 99 struct/union initializers: Initialization at run-time. */ static struct expression plvar; static struct expression plone; struct expression GERMANIC_PLURAL; static void init_germanic_plural () { if (plone.val.num == 0) { plvar.nargs = 0; plvar.operation = var; plone.nargs = 0; plone.operation = num; plone.val.num = 1; GERMANIC_PLURAL.nargs = 2; GERMANIC_PLURAL.operation = not_equal; GERMANIC_PLURAL.val.args[0] = &plvar; GERMANIC_PLURAL.val.args[1] = &plone; } } # define INIT_GERMANIC_PLURAL() init_germanic_plural () #endif void internal_function EXTRACT_PLURAL_EXPRESSION (const char *nullentry, struct expression **pluralp, unsigned long int *npluralsp) { if (nullentry != NULL) { const char *plural; const char *nplurals; plural = strstr (nullentry, "plural="); nplurals = strstr (nullentry, "nplurals="); if (plural == NULL || nplurals == NULL) goto no_plural; else { char *endp; unsigned long int n; struct parse_args args; /* First get the number. */ nplurals += 9; while (*nplurals != '\0' && isspace ((unsigned char) *nplurals)) ++nplurals; if (!(*nplurals >= '0' && *nplurals <= '9')) goto no_plural; #if defined HAVE_STRTOUL || defined _LIBC n = strtoul (nplurals, &endp, 10); #else for (endp = nplurals, n = 0; *endp >= '0' && *endp <= '9'; endp++) n = n * 10 + (*endp - '0'); #endif if (nplurals == endp) goto no_plural; *npluralsp = n; /* Due to the restrictions bison imposes onto the interface of the scanner function we have to put the input string and the result passed up from the parser into the same structure which address is passed down to the parser. */ plural += 7; args.cp = plural; if (PLURAL_PARSE (&args) != 0) goto no_plural; *pluralp = args.res; } } else { /* By default we are using the Germanic form: singular form only for `one', the plural form otherwise. Yes, this is also what English is using since English is a Germanic language. */ no_plural: INIT_GERMANIC_PLURAL (); *pluralp = &GERMANIC_PLURAL; *npluralsp = 2; } } geda-gaf-1.8.2/intl/localcharset.h0000664000175000017500000000256312050467633013677 00000000000000/* Determine a canonical name for the current locale's character encoding. Copyright (C) 2000-2003 Free Software Foundation, Inc. This file is part of the GNU CHARSET Library. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _LOCALCHARSET_H #define _LOCALCHARSET_H #ifdef __cplusplus extern "C" { #endif /* Determine the current locale's character encoding, and canonicalize it into one of the canonical names listed in config.charset. The result must not be freed; it is statically allocated. If the canonical name cannot be determined, the result is a non-canonical name. */ extern const char * locale_charset (void); #ifdef __cplusplus } #endif #endif /* _LOCALCHARSET_H */ geda-gaf-1.8.2/intl/localealias.c0000664000175000017500000002447112050467633013501 00000000000000/* Handle aliases for locale names. Copyright (C) 1995-1999, 2000-2001, 2003, 2005 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* Tell glibc's to provide a prototype for mempcpy(). This must come before because may include , and once has been included, it's too late. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif #ifdef HAVE_CONFIG_H # include #endif #include #include #if defined _LIBC || defined HAVE___FSETLOCKING # include #endif #include #ifdef __GNUC__ # undef alloca # define alloca __builtin_alloca # define HAVE_ALLOCA 1 #else # ifdef _MSC_VER # include # define alloca _alloca # else # if defined HAVE_ALLOCA_H || defined _LIBC # include # else # ifdef _AIX #pragma alloca # else # ifndef alloca char *alloca (); # endif # endif # endif # endif #endif #include #include #include "gettextP.h" #if ENABLE_RELOCATABLE # include "relocatable.h" #else # define relocate(pathname) (pathname) #endif /* @@ end of prolog @@ */ #ifdef _LIBC /* Rename the non ANSI C functions. This is required by the standard because some ANSI C functions will require linking with this object file and the name space must not be polluted. */ # define strcasecmp __strcasecmp # ifndef mempcpy # define mempcpy __mempcpy # endif # define HAVE_MEMPCPY 1 # define HAVE___FSETLOCKING 1 #endif /* Handle multi-threaded applications. */ #ifdef _LIBC # include #else # include "lock.h" #endif #ifndef internal_function # define internal_function #endif /* Some optimizations for glibc. */ #ifdef _LIBC # define FEOF(fp) feof_unlocked (fp) # define FGETS(buf, n, fp) fgets_unlocked (buf, n, fp) #else # define FEOF(fp) feof (fp) # define FGETS(buf, n, fp) fgets (buf, n, fp) #endif /* For those losing systems which don't have `alloca' we have to add some additional code emulating it. */ #ifdef HAVE_ALLOCA # define freea(p) /* nothing */ #else # define alloca(n) malloc (n) # define freea(p) free (p) #endif #if defined _LIBC_REENTRANT || HAVE_DECL_FGETS_UNLOCKED # undef fgets # define fgets(buf, len, s) fgets_unlocked (buf, len, s) #endif #if defined _LIBC_REENTRANT || HAVE_DECL_FEOF_UNLOCKED # undef feof # define feof(s) feof_unlocked (s) #endif __libc_lock_define_initialized (static, lock) struct alias_map { const char *alias; const char *value; }; #ifndef _LIBC # define libc_freeres_ptr(decl) decl #endif libc_freeres_ptr (static char *string_space); static size_t string_space_act; static size_t string_space_max; libc_freeres_ptr (static struct alias_map *map); static size_t nmap; static size_t maxmap; /* Prototypes for local functions. */ static size_t read_alias_file (const char *fname, int fname_len) internal_function; static int extend_alias_table (void); static int alias_compare (const struct alias_map *map1, const struct alias_map *map2); const char * _nl_expand_alias (const char *name) { static const char *locale_alias_path; struct alias_map *retval; const char *result = NULL; size_t added; __libc_lock_lock (lock); if (locale_alias_path == NULL) locale_alias_path = LOCALE_ALIAS_PATH; do { struct alias_map item; item.alias = name; if (nmap > 0) retval = (struct alias_map *) bsearch (&item, map, nmap, sizeof (struct alias_map), (int (*) (const void *, const void *) ) alias_compare); else retval = NULL; /* We really found an alias. Return the value. */ if (retval != NULL) { result = retval->value; break; } /* Perhaps we can find another alias file. */ added = 0; while (added == 0 && locale_alias_path[0] != '\0') { const char *start; while (locale_alias_path[0] == PATH_SEPARATOR) ++locale_alias_path; start = locale_alias_path; while (locale_alias_path[0] != '\0' && locale_alias_path[0] != PATH_SEPARATOR) ++locale_alias_path; if (start < locale_alias_path) added = read_alias_file (start, locale_alias_path - start); } } while (added != 0); __libc_lock_unlock (lock); return result; } static size_t internal_function read_alias_file (const char *fname, int fname_len) { FILE *fp; char *full_fname; size_t added; static const char aliasfile[] = "/locale.alias"; full_fname = (char *) alloca (fname_len + sizeof aliasfile); #ifdef HAVE_MEMPCPY mempcpy (mempcpy (full_fname, fname, fname_len), aliasfile, sizeof aliasfile); #else memcpy (full_fname, fname, fname_len); memcpy (&full_fname[fname_len], aliasfile, sizeof aliasfile); #endif #ifdef _LIBC /* Note the file is opened with cancellation in the I/O functions disabled. */ fp = fopen (relocate (full_fname), "rc"); #else fp = fopen (relocate (full_fname), "r"); #endif freea (full_fname); if (fp == NULL) return 0; #ifdef HAVE___FSETLOCKING /* No threads present. */ __fsetlocking (fp, FSETLOCKING_BYCALLER); #endif added = 0; while (!FEOF (fp)) { /* It is a reasonable approach to use a fix buffer here because a) we are only interested in the first two fields b) these fields must be usable as file names and so must not be that long We avoid a multi-kilobyte buffer here since this would use up stack space which we might not have if the program ran out of memory. */ char buf[400]; char *alias; char *value; char *cp; int complete_line; if (FGETS (buf, sizeof buf, fp) == NULL) /* EOF reached. */ break; /* Determine whether the line is complete. */ complete_line = strchr (buf, '\n') != NULL; cp = buf; /* Ignore leading white space. */ while (isspace ((unsigned char) cp[0])) ++cp; /* A leading '#' signals a comment line. */ if (cp[0] != '\0' && cp[0] != '#') { alias = cp++; while (cp[0] != '\0' && !isspace ((unsigned char) cp[0])) ++cp; /* Terminate alias name. */ if (cp[0] != '\0') *cp++ = '\0'; /* Now look for the beginning of the value. */ while (isspace ((unsigned char) cp[0])) ++cp; if (cp[0] != '\0') { value = cp++; while (cp[0] != '\0' && !isspace ((unsigned char) cp[0])) ++cp; /* Terminate value. */ if (cp[0] == '\n') { /* This has to be done to make the following test for the end of line possible. We are looking for the terminating '\n' which do not overwrite here. */ *cp++ = '\0'; *cp = '\n'; } else if (cp[0] != '\0') *cp++ = '\0'; #ifdef IN_LIBGLOCALE /* glibc's locale.alias contains entries for ja_JP and ko_KR that make it impossible to use a Japanese or Korean UTF-8 locale under the name "ja_JP" or "ko_KR". Ignore these entries. */ if (strchr (alias, '_') == NULL) #endif { size_t alias_len; size_t value_len; if (nmap >= maxmap) if (__builtin_expect (extend_alias_table (), 0)) goto out; alias_len = strlen (alias) + 1; value_len = strlen (value) + 1; if (string_space_act + alias_len + value_len > string_space_max) { /* Increase size of memory pool. */ size_t new_size = (string_space_max + (alias_len + value_len > 1024 ? alias_len + value_len : 1024)); char *new_pool = (char *) realloc (string_space, new_size); if (new_pool == NULL) goto out; if (__builtin_expect (string_space != new_pool, 0)) { size_t i; for (i = 0; i < nmap; i++) { map[i].alias += new_pool - string_space; map[i].value += new_pool - string_space; } } string_space = new_pool; string_space_max = new_size; } map[nmap].alias = memcpy (&string_space[string_space_act], alias, alias_len); string_space_act += alias_len; map[nmap].value = memcpy (&string_space[string_space_act], value, value_len); string_space_act += value_len; ++nmap; ++added; } } } /* Possibly not the whole line fits into the buffer. Ignore the rest of the line. */ if (! complete_line) do if (FGETS (buf, sizeof buf, fp) == NULL) /* Make sure the inner loop will be left. The outer loop will exit at the `feof' test. */ break; while (strchr (buf, '\n') == NULL); } out: /* Should we test for ferror()? I think we have to silently ignore errors. --drepper */ fclose (fp); if (added > 0) qsort (map, nmap, sizeof (struct alias_map), (int (*) (const void *, const void *)) alias_compare); return added; } static int extend_alias_table () { size_t new_size; struct alias_map *new_map; new_size = maxmap == 0 ? 100 : 2 * maxmap; new_map = (struct alias_map *) realloc (map, (new_size * sizeof (struct alias_map))); if (new_map == NULL) /* Simply don't extend: we don't have any more core. */ return -1; map = new_map; maxmap = new_size; return 0; } static int alias_compare (const struct alias_map *map1, const struct alias_map *map2) { #if defined _LIBC || defined HAVE_STRCASECMP return strcasecmp (map1->alias, map2->alias); #else const unsigned char *p1 = (const unsigned char *) map1->alias; const unsigned char *p2 = (const unsigned char *) map2->alias; unsigned char c1, c2; if (p1 == p2) return 0; do { /* I know this seems to be odd but the tolower() function in some systems libc cannot handle nonalpha characters. */ c1 = isupper (*p1) ? tolower (*p1) : *p1; c2 = isupper (*p2) ? tolower (*p2) : *p2; if (c1 == '\0') break; ++p1; ++p2; } while (c1 == c2); return c1 - c2; #endif } geda-gaf-1.8.2/intl/plural.c0000664000175000017500000011073412204100303012500 00000000000000/* A Bison parser, made from plural.y by GNU bison 1.35. */ #define YYBISON 1 /* Identify Bison output. */ #define yyparse __gettextparse #define yylex __gettextlex #define yyerror __gettexterror #define yylval __gettextlval #define yychar __gettextchar #define yydebug __gettextdebug #define yynerrs __gettextnerrs # define EQUOP2 257 # define CMPOP2 258 # define ADDOP2 259 # define MULOP2 260 # define NUMBER 261 #line 1 "plural.y" /* Expression parsing for plural form selection. Copyright (C) 2000-2001, 2003, 2005 Free Software Foundation, Inc. Written by Ulrich Drepper , 2000. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* For bison < 2.0, the bison generated parser uses alloca. AIX 3 forces us to put this declaration at the beginning of the file. The declaration in bison's skeleton file comes too late. This must come before because may include arbitrary system headers. This can go away once the AM_INTL_SUBDIR macro requires bison >= 2.0. */ #if defined _AIX && !defined __GNUC__ #pragma alloca #endif #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include "plural-exp.h" /* The main function generated by the parser is called __gettextparse, but we want it to be called PLURAL_PARSE. */ #ifndef _LIBC # define __gettextparse PLURAL_PARSE #endif #define YYLEX_PARAM &((struct parse_args *) arg)->cp #define YYPARSE_PARAM arg #line 51 "plural.y" #ifndef YYSTYPE typedef union { unsigned long int num; enum operator op; struct expression *exp; } yystype; # define YYSTYPE yystype # define YYSTYPE_IS_TRIVIAL 1 #endif #line 57 "plural.y" /* Prototypes for local functions. */ static int yylex (YYSTYPE *lval, const char **pexp); static void yyerror (const char *str); /* Allocation of expressions. */ static struct expression * new_exp (int nargs, enum operator op, struct expression * const *args) { int i; struct expression *newp; /* If any of the argument could not be malloc'ed, just return NULL. */ for (i = nargs - 1; i >= 0; i--) if (args[i] == NULL) goto fail; /* Allocate a new expression. */ newp = (struct expression *) malloc (sizeof (*newp)); if (newp != NULL) { newp->nargs = nargs; newp->operation = op; for (i = nargs - 1; i >= 0; i--) newp->val.args[i] = args[i]; return newp; } fail: for (i = nargs - 1; i >= 0; i--) FREE_EXPRESSION (args[i]); return NULL; } static inline struct expression * new_exp_0 (enum operator op) { return new_exp (0, op, NULL); } static inline struct expression * new_exp_1 (enum operator op, struct expression *right) { struct expression *args[1]; args[0] = right; return new_exp (1, op, args); } static struct expression * new_exp_2 (enum operator op, struct expression *left, struct expression *right) { struct expression *args[2]; args[0] = left; args[1] = right; return new_exp (2, op, args); } static inline struct expression * new_exp_3 (enum operator op, struct expression *bexp, struct expression *tbranch, struct expression *fbranch) { struct expression *args[3]; args[0] = bexp; args[1] = tbranch; args[2] = fbranch; return new_exp (3, op, args); } #ifndef YYDEBUG # define YYDEBUG 0 #endif #define YYFINAL 27 #define YYFLAG -32768 #define YYNTBASE 16 /* YYTRANSLATE(YYLEX) -- Bison token number corresponding to YYLEX. */ #define YYTRANSLATE(x) ((unsigned)(x) <= 261 ? yytranslate[x] : 18) /* YYTRANSLATE[YYLEX] -- Bison token number corresponding to YYLEX. */ static const char yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 10, 2, 2, 2, 2, 5, 2, 14, 15, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 12, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 13, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 6, 7, 8, 9, 11 }; #if YYDEBUG static const short yyprhs[] = { 0, 0, 2, 8, 12, 16, 20, 24, 28, 32, 35, 37, 39 }; static const short yyrhs[] = { 17, 0, 17, 3, 17, 12, 17, 0, 17, 4, 17, 0, 17, 5, 17, 0, 17, 6, 17, 0, 17, 7, 17, 0, 17, 8, 17, 0, 17, 9, 17, 0, 10, 17, 0, 13, 0, 11, 0, 14, 17, 15, 0 }; #endif #if YYDEBUG /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const short yyrline[] = { 0, 152, 160, 164, 168, 172, 176, 180, 184, 188, 192, 196, 201 }; #endif #if (YYDEBUG) || defined YYERROR_VERBOSE /* YYTNAME[TOKEN_NUM] -- String name of the token TOKEN_NUM. */ static const char *const yytname[] = { "$", "error", "$undefined.", "'?'", "'|'", "'&'", "EQUOP2", "CMPOP2", "ADDOP2", "MULOP2", "'!'", "NUMBER", "':'", "'n'", "'('", "')'", "start", "exp", 0 }; #endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const short yyr1[] = { 0, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ static const short yyr2[] = { 0, 1, 5, 3, 3, 3, 3, 3, 3, 2, 1, 1, 3 }; /* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE doesn't specify something else to do. Zero means the default is an error. */ static const short yydefact[] = { 0, 0, 11, 10, 0, 1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 3, 4, 5, 6, 7, 8, 0, 2, 0, 0, 0 }; static const short yydefgoto[] = { 25, 5 }; static const short yypact[] = { -9, -9,-32768,-32768, -9, 34,-32768, 11, -9, -9, -9, -9, -9, -9, -9,-32768, 24, 39, 43, 16, 26, -3,-32768, -9, 34, 21, 53,-32768 }; static const short yypgoto[] = { -32768, -1 }; #define YYLAST 53 static const short yytable[] = { 6, 1, 2, 7, 3, 4, 14, 16, 17, 18, 19, 20, 21, 22, 8, 9, 10, 11, 12, 13, 14, 26, 24, 12, 13, 14, 15, 8, 9, 10, 11, 12, 13, 14, 13, 14, 23, 8, 9, 10, 11, 12, 13, 14, 10, 11, 12, 13, 14, 11, 12, 13, 14, 27 }; static const short yycheck[] = { 1, 10, 11, 4, 13, 14, 9, 8, 9, 10, 11, 12, 13, 14, 3, 4, 5, 6, 7, 8, 9, 0, 23, 7, 8, 9, 15, 3, 4, 5, 6, 7, 8, 9, 8, 9, 12, 3, 4, 5, 6, 7, 8, 9, 5, 6, 7, 8, 9, 6, 7, 8, 9, 0 }; #define YYPURE 1 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */ #line 3 "bison.simple" /* Skeleton output parser for bison, Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* As a special exception, when this file is copied by Bison into a Bison output file, you may use that output file without restriction. This special exception was added by the Free Software Foundation in version 1.24 of Bison. */ /* This is the parser code that is written into each bison parser when the %semantic_parser declaration is not specified in the grammar. It was written by Richard Stallman by simplifying the hairy parser used when %semantic_parser is specified. */ /* All symbols defined below should begin with yy or YY, to avoid infringing on user name space. This should be done even for local variables, as they might otherwise be expanded by user macros. There are some unavoidable exceptions within include files to define necessary library symbols; they are noted "INFRINGES ON USER NAME SPACE" below. */ #if ! defined (yyoverflow) || defined (YYERROR_VERBOSE) /* The parser invokes alloca or malloc; define the necessary symbols. */ # if YYSTACK_USE_ALLOCA # define YYSTACK_ALLOC alloca # else # ifndef YYSTACK_USE_ALLOCA # if defined (alloca) || defined (_ALLOCA_H) # define YYSTACK_ALLOC alloca # else # ifdef __GNUC__ # define YYSTACK_ALLOC __builtin_alloca # endif # endif # endif # endif # ifdef YYSTACK_ALLOC /* Pacify GCC's `empty if-body' warning. */ # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) # else # if defined (__STDC__) || defined (__cplusplus) # include /* INFRINGES ON USER NAME SPACE */ # define YYSIZE_T size_t # endif # define YYSTACK_ALLOC malloc # define YYSTACK_FREE free # endif #endif /* ! defined (yyoverflow) || defined (YYERROR_VERBOSE) */ #if (! defined (yyoverflow) \ && (! defined (__cplusplus) \ || (YYLTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) /* A type that is properly aligned for any stack member. */ union yyalloc { short yyss; YYSTYPE yyvs; # if YYLSP_NEEDED YYLTYPE yyls; # endif }; /* The size of the maximum gap between one aligned stack and the next. */ # define YYSTACK_GAP_MAX (sizeof (union yyalloc) - 1) /* The size of an array large to enough to hold all stacks, each with N elements. */ # if YYLSP_NEEDED # define YYSTACK_BYTES(N) \ ((N) * (sizeof (short) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \ + 2 * YYSTACK_GAP_MAX) # else # define YYSTACK_BYTES(N) \ ((N) * (sizeof (short) + sizeof (YYSTYPE)) \ + YYSTACK_GAP_MAX) # endif /* Copy COUNT objects from FROM to TO. The source and destination do not overlap. */ # ifndef YYCOPY # if 1 < __GNUC__ # define YYCOPY(To, From, Count) \ __builtin_memcpy (To, From, (Count) * sizeof (*(From))) # else # define YYCOPY(To, From, Count) \ do \ { \ register YYSIZE_T yyi; \ for (yyi = 0; yyi < (Count); yyi++) \ (To)[yyi] = (From)[yyi]; \ } \ while (0) # endif # endif /* Relocate STACK from its old location to the new one. The local variables YYSIZE and YYSTACKSIZE give the old and new number of elements in the stack, and YYPTR gives the new location of the stack. Advance YYPTR to a properly aligned location for the next stack. */ # define YYSTACK_RELOCATE(Stack) \ do \ { \ YYSIZE_T yynewbytes; \ YYCOPY (&yyptr->Stack, Stack, yysize); \ Stack = &yyptr->Stack; \ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAX; \ yyptr += yynewbytes / sizeof (*yyptr); \ } \ while (0) #endif #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) # define YYSIZE_T __SIZE_TYPE__ #endif #if ! defined (YYSIZE_T) && defined (size_t) # define YYSIZE_T size_t #endif #if ! defined (YYSIZE_T) # if defined (__STDC__) || defined (__cplusplus) # include /* INFRINGES ON USER NAME SPACE */ # define YYSIZE_T size_t # endif #endif #if ! defined (YYSIZE_T) # define YYSIZE_T unsigned int #endif #define yyerrok (yyerrstatus = 0) #define yyclearin (yychar = YYEMPTY) #define YYEMPTY -2 #define YYEOF 0 #define YYACCEPT goto yyacceptlab #define YYABORT goto yyabortlab #define YYERROR goto yyerrlab1 /* Like YYERROR except do call yyerror. This remains here temporarily to ease the transition to the new meaning of YYERROR, for GCC. Once GCC version 2 has supplanted version 1, this can go. */ #define YYFAIL goto yyerrlab #define YYRECOVERING() (!!yyerrstatus) #define YYBACKUP(Token, Value) \ do \ if (yychar == YYEMPTY && yylen == 1) \ { \ yychar = (Token); \ yylval = (Value); \ yychar1 = YYTRANSLATE (yychar); \ YYPOPSTACK; \ goto yybackup; \ } \ else \ { \ yyerror ("syntax error: cannot back up"); \ YYERROR; \ } \ while (0) #define YYTERROR 1 #define YYERRCODE 256 /* YYLLOC_DEFAULT -- Compute the default location (before the actions are run). When YYLLOC_DEFAULT is run, CURRENT is set the location of the first token. By default, to implement support for ranges, extend its range to the last symbol. */ #ifndef YYLLOC_DEFAULT # define YYLLOC_DEFAULT(Current, Rhs, N) \ Current.last_line = Rhs[N].last_line; \ Current.last_column = Rhs[N].last_column; #endif /* YYLEX -- calling `yylex' with the right arguments. */ #if YYPURE # if YYLSP_NEEDED # ifdef YYLEX_PARAM # define YYLEX yylex (&yylval, &yylloc, YYLEX_PARAM) # else # define YYLEX yylex (&yylval, &yylloc) # endif # else /* !YYLSP_NEEDED */ # ifdef YYLEX_PARAM # define YYLEX yylex (&yylval, YYLEX_PARAM) # else # define YYLEX yylex (&yylval) # endif # endif /* !YYLSP_NEEDED */ #else /* !YYPURE */ # define YYLEX yylex () #endif /* !YYPURE */ /* Enable debugging if requested. */ #if YYDEBUG # ifndef YYFPRINTF # include /* INFRINGES ON USER NAME SPACE */ # define YYFPRINTF fprintf # endif # define YYDPRINTF(Args) \ do { \ if (yydebug) \ YYFPRINTF Args; \ } while (0) /* Nonzero means print parse trace. It is left uninitialized so that multiple parsers can coexist. */ int yydebug; #else /* !YYDEBUG */ # define YYDPRINTF(Args) #endif /* !YYDEBUG */ /* YYINITDEPTH -- initial size of the parser's stacks. */ #ifndef YYINITDEPTH # define YYINITDEPTH 200 #endif /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only if the built-in stack extension method is used). Do not make this value too large; the results are undefined if SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH) evaluated with infinite-precision integer arithmetic. */ #if YYMAXDEPTH == 0 # undef YYMAXDEPTH #endif #ifndef YYMAXDEPTH # define YYMAXDEPTH 10000 #endif #ifdef YYERROR_VERBOSE # ifndef yystrlen # if defined (__GLIBC__) && defined (_STRING_H) # define yystrlen strlen # else /* Return the length of YYSTR. */ static YYSIZE_T # if defined (__STDC__) || defined (__cplusplus) yystrlen (const char *yystr) # else yystrlen (yystr) const char *yystr; # endif { register const char *yys = yystr; while (*yys++ != '\0') continue; return yys - yystr - 1; } # endif # endif # ifndef yystpcpy # if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE) # define yystpcpy stpcpy # else /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in YYDEST. */ static char * # if defined (__STDC__) || defined (__cplusplus) yystpcpy (char *yydest, const char *yysrc) # else yystpcpy (yydest, yysrc) char *yydest; const char *yysrc; # endif { register char *yyd = yydest; register const char *yys = yysrc; while ((*yyd++ = *yys++) != '\0') continue; return yyd - 1; } # endif # endif #endif #line 315 "bison.simple" /* The user can define YYPARSE_PARAM as the name of an argument to be passed into yyparse. The argument should have type void *. It should actually point to an object. Grammar actions can access the variable by casting it to the proper pointer type. */ #ifdef YYPARSE_PARAM # if defined (__STDC__) || defined (__cplusplus) # define YYPARSE_PARAM_ARG void *YYPARSE_PARAM # define YYPARSE_PARAM_DECL # else # define YYPARSE_PARAM_ARG YYPARSE_PARAM # define YYPARSE_PARAM_DECL void *YYPARSE_PARAM; # endif #else /* !YYPARSE_PARAM */ # define YYPARSE_PARAM_ARG # define YYPARSE_PARAM_DECL #endif /* !YYPARSE_PARAM */ /* Prevent warning if -Wstrict-prototypes. */ #ifdef __GNUC__ # ifdef YYPARSE_PARAM int yyparse (void *); # else int yyparse (void); # endif #endif /* YY_DECL_VARIABLES -- depending whether we use a pure parser, variables are global, or local to YYPARSE. */ #define YY_DECL_NON_LSP_VARIABLES \ /* The lookahead symbol. */ \ int yychar; \ \ /* The semantic value of the lookahead symbol. */ \ YYSTYPE yylval; \ \ /* Number of parse errors so far. */ \ int yynerrs; #if YYLSP_NEEDED # define YY_DECL_VARIABLES \ YY_DECL_NON_LSP_VARIABLES \ \ /* Location data for the lookahead symbol. */ \ YYLTYPE yylloc; #else # define YY_DECL_VARIABLES \ YY_DECL_NON_LSP_VARIABLES #endif /* If nonreentrant, generate the variables here. */ #if !YYPURE YY_DECL_VARIABLES #endif /* !YYPURE */ int yyparse (YYPARSE_PARAM_ARG) YYPARSE_PARAM_DECL { /* If reentrant, generate the variables here. */ #if YYPURE YY_DECL_VARIABLES #endif /* !YYPURE */ register int yystate; register int yyn; int yyresult; /* Number of tokens to shift before error messages enabled. */ int yyerrstatus; /* Lookahead token as an internal (translated) token number. */ int yychar1 = 0; /* Three stacks and their tools: `yyss': related to states, `yyvs': related to semantic values, `yyls': related to locations. Refer to the stacks thru separate pointers, to allow yyoverflow to reallocate them elsewhere. */ /* The state stack. */ short yyssa[YYINITDEPTH]; short *yyss = yyssa; register short *yyssp; /* The semantic value stack. */ YYSTYPE yyvsa[YYINITDEPTH]; YYSTYPE *yyvs = yyvsa; register YYSTYPE *yyvsp; #if YYLSP_NEEDED /* The location stack. */ YYLTYPE yylsa[YYINITDEPTH]; YYLTYPE *yyls = yylsa; YYLTYPE *yylsp; #endif #if YYLSP_NEEDED # define YYPOPSTACK (yyvsp--, yyssp--, yylsp--) #else # define YYPOPSTACK (yyvsp--, yyssp--) #endif YYSIZE_T yystacksize = YYINITDEPTH; /* The variables used to return semantic value and location from the action routines. */ YYSTYPE yyval; #if YYLSP_NEEDED YYLTYPE yyloc; #endif /* When reducing, the number of symbols on the RHS of the reduced rule. */ int yylen; YYDPRINTF ((stderr, "Starting parse\n")); yystate = 0; yyerrstatus = 0; yynerrs = 0; yychar = YYEMPTY; /* Cause a token to be read. */ /* Initialize stack pointers. Waste one element of value and location stack so that they stay on the same level as the state stack. The wasted elements are never initialized. */ yyssp = yyss; yyvsp = yyvs; #if YYLSP_NEEDED yylsp = yyls; #endif goto yysetstate; /*------------------------------------------------------------. | yynewstate -- Push a new state, which is found in yystate. | `------------------------------------------------------------*/ yynewstate: /* In all cases, when you get here, the value and location stacks have just been pushed. so pushing a state here evens the stacks. */ yyssp++; yysetstate: *yyssp = yystate; if (yyssp >= yyss + yystacksize - 1) { /* Get the current used size of the three stacks, in elements. */ YYSIZE_T yysize = yyssp - yyss + 1; #ifdef yyoverflow { /* Give user a chance to reallocate the stack. Use copies of these so that the &'s don't force the real ones into memory. */ YYSTYPE *yyvs1 = yyvs; short *yyss1 = yyss; /* Each stack pointer address is followed by the size of the data in use in that stack, in bytes. */ # if YYLSP_NEEDED YYLTYPE *yyls1 = yyls; /* This used to be a conditional around just the two extra args, but that might be undefined if yyoverflow is a macro. */ yyoverflow ("parser stack overflow", &yyss1, yysize * sizeof (*yyssp), &yyvs1, yysize * sizeof (*yyvsp), &yyls1, yysize * sizeof (*yylsp), &yystacksize); yyls = yyls1; # else yyoverflow ("parser stack overflow", &yyss1, yysize * sizeof (*yyssp), &yyvs1, yysize * sizeof (*yyvsp), &yystacksize); # endif yyss = yyss1; yyvs = yyvs1; } #else /* no yyoverflow */ # ifndef YYSTACK_RELOCATE goto yyoverflowlab; # else /* Extend the stack our own way. */ if (yystacksize >= YYMAXDEPTH) goto yyoverflowlab; yystacksize *= 2; if (yystacksize > YYMAXDEPTH) yystacksize = YYMAXDEPTH; { short *yyss1 = yyss; union yyalloc *yyptr = (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); if (! yyptr) goto yyoverflowlab; YYSTACK_RELOCATE (yyss); YYSTACK_RELOCATE (yyvs); # if YYLSP_NEEDED YYSTACK_RELOCATE (yyls); # endif # undef YYSTACK_RELOCATE if (yyss1 != yyssa) YYSTACK_FREE (yyss1); } # endif #endif /* no yyoverflow */ yyssp = yyss + yysize - 1; yyvsp = yyvs + yysize - 1; #if YYLSP_NEEDED yylsp = yyls + yysize - 1; #endif YYDPRINTF ((stderr, "Stack size increased to %lu\n", (unsigned long int) yystacksize)); if (yyssp >= yyss + yystacksize - 1) YYABORT; } YYDPRINTF ((stderr, "Entering state %d\n", yystate)); goto yybackup; /*-----------. | yybackup. | `-----------*/ yybackup: /* Do appropriate processing given the current state. */ /* Read a lookahead token if we need one and don't already have one. */ /* yyresume: */ /* First try to decide what to do without reference to lookahead token. */ yyn = yypact[yystate]; if (yyn == YYFLAG) goto yydefault; /* Not known => get a lookahead token if don't already have one. */ /* yychar is either YYEMPTY or YYEOF or a valid token in external form. */ if (yychar == YYEMPTY) { YYDPRINTF ((stderr, "Reading a token: ")); yychar = YYLEX; } /* Convert token to internal form (in yychar1) for indexing tables with */ if (yychar <= 0) /* This means end of input. */ { yychar1 = 0; yychar = YYEOF; /* Don't call YYLEX any more */ YYDPRINTF ((stderr, "Now at end of input.\n")); } else { yychar1 = YYTRANSLATE (yychar); #if YYDEBUG /* We have to keep this `#if YYDEBUG', since we use variables which are defined only if `YYDEBUG' is set. */ if (yydebug) { YYFPRINTF (stderr, "Next token is %d (%s", yychar, yytname[yychar1]); /* Give the individual parser a way to print the precise meaning of a token, for further debugging info. */ # ifdef YYPRINT YYPRINT (stderr, yychar, yylval); # endif YYFPRINTF (stderr, ")\n"); } #endif } yyn += yychar1; if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1) goto yydefault; yyn = yytable[yyn]; /* yyn is what to do for this token type in this state. Negative => reduce, -yyn is rule number. Positive => shift, yyn is new state. New state is final state => don't bother to shift, just return success. 0, or most negative number => error. */ if (yyn < 0) { if (yyn == YYFLAG) goto yyerrlab; yyn = -yyn; goto yyreduce; } else if (yyn == 0) goto yyerrlab; if (yyn == YYFINAL) YYACCEPT; /* Shift the lookahead token. */ YYDPRINTF ((stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1])); /* Discard the token being shifted unless it is eof. */ if (yychar != YYEOF) yychar = YYEMPTY; *++yyvsp = yylval; #if YYLSP_NEEDED *++yylsp = yylloc; #endif /* Count tokens shifted since error; after three, turn off error status. */ if (yyerrstatus) yyerrstatus--; yystate = yyn; goto yynewstate; /*-----------------------------------------------------------. | yydefault -- do the default action for the current state. | `-----------------------------------------------------------*/ yydefault: yyn = yydefact[yystate]; if (yyn == 0) goto yyerrlab; goto yyreduce; /*-----------------------------. | yyreduce -- Do a reduction. | `-----------------------------*/ yyreduce: /* yyn is the number of a rule to reduce with. */ yylen = yyr2[yyn]; /* If YYLEN is nonzero, implement the default value of the action: `$$ = $1'. Otherwise, the following line sets YYVAL to the semantic value of the lookahead token. This behavior is undocumented and Bison users should not rely upon it. Assigning to YYVAL unconditionally makes the parser a bit smaller, and it avoids a GCC warning that YYVAL may be used uninitialized. */ yyval = yyvsp[1-yylen]; #if YYLSP_NEEDED /* Similarly for the default location. Let the user run additional commands if for instance locations are ranges. */ yyloc = yylsp[1-yylen]; YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen); #endif #if YYDEBUG /* We have to keep this `#if YYDEBUG', since we use variables which are defined only if `YYDEBUG' is set. */ if (yydebug) { int yyi; YYFPRINTF (stderr, "Reducing via rule %d (line %d), ", yyn, yyrline[yyn]); /* Print the symbols being reduced, and their result. */ for (yyi = yyprhs[yyn]; yyrhs[yyi] > 0; yyi++) YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]); YYFPRINTF (stderr, " -> %s\n", yytname[yyr1[yyn]]); } #endif switch (yyn) { case 1: #line 153 "plural.y" { if (yyvsp[0].exp == NULL) YYABORT; ((struct parse_args *) arg)->res = yyvsp[0].exp; } break; case 2: #line 161 "plural.y" { yyval.exp = new_exp_3 (qmop, yyvsp[-4].exp, yyvsp[-2].exp, yyvsp[0].exp); } break; case 3: #line 165 "plural.y" { yyval.exp = new_exp_2 (lor, yyvsp[-2].exp, yyvsp[0].exp); } break; case 4: #line 169 "plural.y" { yyval.exp = new_exp_2 (land, yyvsp[-2].exp, yyvsp[0].exp); } break; case 5: #line 173 "plural.y" { yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp); } break; case 6: #line 177 "plural.y" { yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp); } break; case 7: #line 181 "plural.y" { yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp); } break; case 8: #line 185 "plural.y" { yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp); } break; case 9: #line 189 "plural.y" { yyval.exp = new_exp_1 (lnot, yyvsp[0].exp); } break; case 10: #line 193 "plural.y" { yyval.exp = new_exp_0 (var); } break; case 11: #line 197 "plural.y" { if ((yyval.exp = new_exp_0 (num)) != NULL) yyval.exp->val.num = yyvsp[0].num; } break; case 12: #line 202 "plural.y" { yyval.exp = yyvsp[-1].exp; } break; } #line 705 "bison.simple" yyvsp -= yylen; yyssp -= yylen; #if YYLSP_NEEDED yylsp -= yylen; #endif #if YYDEBUG if (yydebug) { short *yyssp1 = yyss - 1; YYFPRINTF (stderr, "state stack now"); while (yyssp1 != yyssp) YYFPRINTF (stderr, " %d", *++yyssp1); YYFPRINTF (stderr, "\n"); } #endif *++yyvsp = yyval; #if YYLSP_NEEDED *++yylsp = yyloc; #endif /* Now `shift' the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule number reduced by. */ yyn = yyr1[yyn]; yystate = yypgoto[yyn - YYNTBASE] + *yyssp; if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp) yystate = yytable[yystate]; else yystate = yydefgoto[yyn - YYNTBASE]; goto yynewstate; /*------------------------------------. | yyerrlab -- here on detecting error | `------------------------------------*/ yyerrlab: /* If not already recovering from an error, report this error. */ if (!yyerrstatus) { ++yynerrs; #ifdef YYERROR_VERBOSE yyn = yypact[yystate]; if (yyn > YYFLAG && yyn < YYLAST) { YYSIZE_T yysize = 0; char *yymsg; int yyx, yycount; yycount = 0; /* Start YYX at -YYN if negative to avoid negative indexes in YYCHECK. */ for (yyx = yyn < 0 ? -yyn : 0; yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++) if (yycheck[yyx + yyn] == yyx) yysize += yystrlen (yytname[yyx]) + 15, yycount++; yysize += yystrlen ("parse error, unexpected ") + 1; yysize += yystrlen (yytname[YYTRANSLATE (yychar)]); yymsg = (char *) YYSTACK_ALLOC (yysize); if (yymsg != 0) { char *yyp = yystpcpy (yymsg, "parse error, unexpected "); yyp = yystpcpy (yyp, yytname[YYTRANSLATE (yychar)]); if (yycount < 5) { yycount = 0; for (yyx = yyn < 0 ? -yyn : 0; yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++) if (yycheck[yyx + yyn] == yyx) { const char *yyq = ! yycount ? ", expecting " : " or "; yyp = yystpcpy (yyp, yyq); yyp = yystpcpy (yyp, yytname[yyx]); yycount++; } } yyerror (yymsg); YYSTACK_FREE (yymsg); } else yyerror ("parse error; also virtual memory exhausted"); } else #endif /* defined (YYERROR_VERBOSE) */ yyerror ("parse error"); } goto yyerrlab1; /*--------------------------------------------------. | yyerrlab1 -- error raised explicitly by an action | `--------------------------------------------------*/ yyerrlab1: if (yyerrstatus == 3) { /* If just tried and failed to reuse lookahead token after an error, discard it. */ /* return failure if at end of input */ if (yychar == YYEOF) YYABORT; YYDPRINTF ((stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1])); yychar = YYEMPTY; } /* Else will try to reuse lookahead token after shifting the error token. */ yyerrstatus = 3; /* Each real token shifted decrements this */ goto yyerrhandle; /*-------------------------------------------------------------------. | yyerrdefault -- current state does not do anything special for the | | error token. | `-------------------------------------------------------------------*/ yyerrdefault: #if 0 /* This is wrong; only states that explicitly want error tokens should shift them. */ /* If its default is to accept any token, ok. Otherwise pop it. */ yyn = yydefact[yystate]; if (yyn) goto yydefault; #endif /*---------------------------------------------------------------. | yyerrpop -- pop the current state because it cannot handle the | | error token | `---------------------------------------------------------------*/ yyerrpop: if (yyssp == yyss) YYABORT; yyvsp--; yystate = *--yyssp; #if YYLSP_NEEDED yylsp--; #endif #if YYDEBUG if (yydebug) { short *yyssp1 = yyss - 1; YYFPRINTF (stderr, "Error: state stack now"); while (yyssp1 != yyssp) YYFPRINTF (stderr, " %d", *++yyssp1); YYFPRINTF (stderr, "\n"); } #endif /*--------------. | yyerrhandle. | `--------------*/ yyerrhandle: yyn = yypact[yystate]; if (yyn == YYFLAG) goto yyerrdefault; yyn += YYTERROR; if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR) goto yyerrdefault; yyn = yytable[yyn]; if (yyn < 0) { if (yyn == YYFLAG) goto yyerrpop; yyn = -yyn; goto yyreduce; } else if (yyn == 0) goto yyerrpop; if (yyn == YYFINAL) YYACCEPT; YYDPRINTF ((stderr, "Shifting error token, ")); *++yyvsp = yylval; #if YYLSP_NEEDED *++yylsp = yylloc; #endif yystate = yyn; goto yynewstate; /*-------------------------------------. | yyacceptlab -- YYACCEPT comes here. | `-------------------------------------*/ yyacceptlab: yyresult = 0; goto yyreturn; /*-----------------------------------. | yyabortlab -- YYABORT comes here. | `-----------------------------------*/ yyabortlab: yyresult = 1; goto yyreturn; /*---------------------------------------------. | yyoverflowab -- parser overflow comes here. | `---------------------------------------------*/ yyoverflowlab: yyerror ("parser stack overflow"); yyresult = 2; /* Fall through. */ yyreturn: #ifndef yyoverflow if (yyss != yyssa) YYSTACK_FREE (yyss); #endif return yyresult; } #line 207 "plural.y" void internal_function FREE_EXPRESSION (struct expression *exp) { if (exp == NULL) return; /* Handle the recursive case. */ switch (exp->nargs) { case 3: FREE_EXPRESSION (exp->val.args[2]); /* FALLTHROUGH */ case 2: FREE_EXPRESSION (exp->val.args[1]); /* FALLTHROUGH */ case 1: FREE_EXPRESSION (exp->val.args[0]); /* FALLTHROUGH */ default: break; } free (exp); } static int yylex (YYSTYPE *lval, const char **pexp) { const char *exp = *pexp; int result; while (1) { if (exp[0] == '\0') { *pexp = exp; return YYEOF; } if (exp[0] != ' ' && exp[0] != '\t') break; ++exp; } result = *exp++; switch (result) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': { unsigned long int n = result - '0'; while (exp[0] >= '0' && exp[0] <= '9') { n *= 10; n += exp[0] - '0'; ++exp; } lval->num = n; result = NUMBER; } break; case '=': if (exp[0] == '=') { ++exp; lval->op = equal; result = EQUOP2; } else result = YYERRCODE; break; case '!': if (exp[0] == '=') { ++exp; lval->op = not_equal; result = EQUOP2; } break; case '&': case '|': if (exp[0] == result) ++exp; else result = YYERRCODE; break; case '<': if (exp[0] == '=') { ++exp; lval->op = less_or_equal; } else lval->op = less_than; result = CMPOP2; break; case '>': if (exp[0] == '=') { ++exp; lval->op = greater_or_equal; } else lval->op = greater_than; result = CMPOP2; break; case '*': lval->op = mult; result = MULOP2; break; case '/': lval->op = divide; result = MULOP2; break; case '%': lval->op = module; result = MULOP2; break; case '+': lval->op = plus; result = ADDOP2; break; case '-': lval->op = minus; result = ADDOP2; break; case 'n': case '?': case ':': case '(': case ')': /* Nothing, just return the character. */ break; case ';': case '\n': case '\0': /* Be safe and let the user call this function again. */ --exp; result = YYEOF; break; default: result = YYERRCODE; #if YYDEBUG != 0 --exp; #endif break; } *pexp = exp; return result; } static void yyerror (const char *str) { /* Do nothing. We don't print error messages here. */ } geda-gaf-1.8.2/intl/config.charset0000775000175000017500000004702612050467633013710 00000000000000#! /bin/sh # Output a system dependent table of character encoding aliases. # # Copyright (C) 2000-2004, 2006 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify it # under the terms of the GNU Library General Public License as published # by the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, # USA. # # The table consists of lines of the form # ALIAS CANONICAL # # ALIAS is the (system dependent) result of "nl_langinfo (CODESET)". # ALIAS is compared in a case sensitive way. # # CANONICAL is the GNU canonical name for this character encoding. # It must be an encoding supported by libiconv. Support by GNU libc is # also desirable. CANONICAL is case insensitive. Usually an upper case # MIME charset name is preferred. # The current list of GNU canonical charset names is as follows. # # name MIME? used by which systems # ASCII, ANSI_X3.4-1968 glibc solaris freebsd netbsd darwin # ISO-8859-1 Y glibc aix hpux irix osf solaris freebsd netbsd darwin # ISO-8859-2 Y glibc aix hpux irix osf solaris freebsd netbsd darwin # ISO-8859-3 Y glibc solaris # ISO-8859-4 Y osf solaris freebsd netbsd darwin # ISO-8859-5 Y glibc aix hpux irix osf solaris freebsd netbsd darwin # ISO-8859-6 Y glibc aix hpux solaris # ISO-8859-7 Y glibc aix hpux irix osf solaris netbsd darwin # ISO-8859-8 Y glibc aix hpux osf solaris # ISO-8859-9 Y glibc aix hpux irix osf solaris darwin # ISO-8859-13 glibc netbsd darwin # ISO-8859-14 glibc # ISO-8859-15 glibc aix osf solaris freebsd darwin # KOI8-R Y glibc solaris freebsd netbsd darwin # KOI8-U Y glibc freebsd netbsd darwin # KOI8-T glibc # CP437 dos # CP775 dos # CP850 aix osf dos # CP852 dos # CP855 dos # CP856 aix # CP857 dos # CP861 dos # CP862 dos # CP864 dos # CP865 dos # CP866 freebsd netbsd darwin dos # CP869 dos # CP874 woe32 dos # CP922 aix # CP932 aix woe32 dos # CP943 aix # CP949 osf woe32 dos # CP950 woe32 dos # CP1046 aix # CP1124 aix # CP1125 dos # CP1129 aix # CP1250 woe32 # CP1251 glibc solaris netbsd darwin woe32 # CP1252 aix woe32 # CP1253 woe32 # CP1254 woe32 # CP1255 glibc woe32 # CP1256 woe32 # CP1257 woe32 # GB2312 Y glibc aix hpux irix solaris freebsd netbsd darwin # EUC-JP Y glibc aix hpux irix osf solaris freebsd netbsd darwin # EUC-KR Y glibc aix hpux irix osf solaris freebsd netbsd darwin # EUC-TW glibc aix hpux irix osf solaris netbsd # BIG5 Y glibc aix hpux osf solaris freebsd netbsd darwin # BIG5-HKSCS glibc solaris # GBK glibc aix osf solaris woe32 dos # GB18030 glibc solaris netbsd # SHIFT_JIS Y hpux osf solaris freebsd netbsd darwin # JOHAB glibc solaris woe32 # TIS-620 glibc aix hpux osf solaris # VISCII Y glibc # TCVN5712-1 glibc # GEORGIAN-PS glibc # HP-ROMAN8 hpux # HP-ARABIC8 hpux # HP-GREEK8 hpux # HP-HEBREW8 hpux # HP-TURKISH8 hpux # HP-KANA8 hpux # DEC-KANJI osf # DEC-HANYU osf # UTF-8 Y glibc aix hpux osf solaris netbsd darwin # # Note: Names which are not marked as being a MIME name should not be used in # Internet protocols for information interchange (mail, news, etc.). # # Note: ASCII and ANSI_X3.4-1968 are synonymous canonical names. Applications # must understand both names and treat them as equivalent. # # The first argument passed to this file is the canonical host specification, # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM host="$1" os=`echo "$host" | sed -e 's/^[^-]*-[^-]*-\(.*\)$/\1/'` echo "# This file contains a table of character encoding aliases," echo "# suitable for operating system '${os}'." echo "# It was automatically generated from config.charset." # List of references, updated during installation: echo "# Packages using this file: " case "$os" in linux-gnulibc1*) # Linux libc5 doesn't have nl_langinfo(CODESET); therefore # localcharset.c falls back to using the full locale name # from the environment variables. echo "C ASCII" echo "POSIX ASCII" for l in af af_ZA ca ca_ES da da_DK de de_AT de_BE de_CH de_DE de_LU \ en en_AU en_BW en_CA en_DK en_GB en_IE en_NZ en_US en_ZA \ en_ZW es es_AR es_BO es_CL es_CO es_DO es_EC es_ES es_GT \ es_HN es_MX es_PA es_PE es_PY es_SV es_US es_UY es_VE et \ et_EE eu eu_ES fi fi_FI fo fo_FO fr fr_BE fr_CA fr_CH fr_FR \ fr_LU ga ga_IE gl gl_ES id id_ID in in_ID is is_IS it it_CH \ it_IT kl kl_GL nl nl_BE nl_NL no no_NO pt pt_BR pt_PT sv \ sv_FI sv_SE; do echo "$l ISO-8859-1" echo "$l.iso-8859-1 ISO-8859-1" echo "$l.iso-8859-15 ISO-8859-15" echo "$l.iso-8859-15@euro ISO-8859-15" echo "$l@euro ISO-8859-15" echo "$l.cp-437 CP437" echo "$l.cp-850 CP850" echo "$l.cp-1252 CP1252" echo "$l.cp-1252@euro CP1252" #echo "$l.atari-st ATARI-ST" # not a commonly used encoding echo "$l.utf-8 UTF-8" echo "$l.utf-8@euro UTF-8" done for l in cs cs_CZ hr hr_HR hu hu_HU pl pl_PL ro ro_RO sk sk_SK sl \ sl_SI sr sr_CS sr_YU; do echo "$l ISO-8859-2" echo "$l.iso-8859-2 ISO-8859-2" echo "$l.cp-852 CP852" echo "$l.cp-1250 CP1250" echo "$l.utf-8 UTF-8" done for l in mk mk_MK ru ru_RU; do echo "$l ISO-8859-5" echo "$l.iso-8859-5 ISO-8859-5" echo "$l.koi8-r KOI8-R" echo "$l.cp-866 CP866" echo "$l.cp-1251 CP1251" echo "$l.utf-8 UTF-8" done for l in ar ar_SA; do echo "$l ISO-8859-6" echo "$l.iso-8859-6 ISO-8859-6" echo "$l.cp-864 CP864" #echo "$l.cp-868 CP868" # not a commonly used encoding echo "$l.cp-1256 CP1256" echo "$l.utf-8 UTF-8" done for l in el el_GR gr gr_GR; do echo "$l ISO-8859-7" echo "$l.iso-8859-7 ISO-8859-7" echo "$l.cp-869 CP869" echo "$l.cp-1253 CP1253" echo "$l.cp-1253@euro CP1253" echo "$l.utf-8 UTF-8" echo "$l.utf-8@euro UTF-8" done for l in he he_IL iw iw_IL; do echo "$l ISO-8859-8" echo "$l.iso-8859-8 ISO-8859-8" echo "$l.cp-862 CP862" echo "$l.cp-1255 CP1255" echo "$l.utf-8 UTF-8" done for l in tr tr_TR; do echo "$l ISO-8859-9" echo "$l.iso-8859-9 ISO-8859-9" echo "$l.cp-857 CP857" echo "$l.cp-1254 CP1254" echo "$l.utf-8 UTF-8" done for l in lt lt_LT lv lv_LV; do #echo "$l BALTIC" # not a commonly used encoding, wrong encoding name echo "$l ISO-8859-13" done for l in ru_UA uk uk_UA; do echo "$l KOI8-U" done for l in zh zh_CN; do #echo "$l GB_2312-80" # not a commonly used encoding, wrong encoding name echo "$l GB2312" done for l in ja ja_JP ja_JP.EUC; do echo "$l EUC-JP" done for l in ko ko_KR; do echo "$l EUC-KR" done for l in th th_TH; do echo "$l TIS-620" done for l in fa fa_IR; do #echo "$l ISIRI-3342" # a broken encoding echo "$l.utf-8 UTF-8" done ;; linux* | *-gnu*) # With glibc-2.1 or newer, we don't need any canonicalization, # because glibc has iconv and both glibc and libiconv support all # GNU canonical names directly. Therefore, the Makefile does not # need to install the alias file at all. # The following applies only to glibc-2.0.x and older libcs. echo "ISO_646.IRV:1983 ASCII" ;; aix*) echo "ISO8859-1 ISO-8859-1" echo "ISO8859-2 ISO-8859-2" echo "ISO8859-5 ISO-8859-5" echo "ISO8859-6 ISO-8859-6" echo "ISO8859-7 ISO-8859-7" echo "ISO8859-8 ISO-8859-8" echo "ISO8859-9 ISO-8859-9" echo "ISO8859-15 ISO-8859-15" echo "IBM-850 CP850" echo "IBM-856 CP856" echo "IBM-921 ISO-8859-13" echo "IBM-922 CP922" echo "IBM-932 CP932" echo "IBM-943 CP943" echo "IBM-1046 CP1046" echo "IBM-1124 CP1124" echo "IBM-1129 CP1129" echo "IBM-1252 CP1252" echo "IBM-eucCN GB2312" echo "IBM-eucJP EUC-JP" echo "IBM-eucKR EUC-KR" echo "IBM-eucTW EUC-TW" echo "big5 BIG5" echo "GBK GBK" echo "TIS-620 TIS-620" echo "UTF-8 UTF-8" ;; hpux*) echo "iso88591 ISO-8859-1" echo "iso88592 ISO-8859-2" echo "iso88595 ISO-8859-5" echo "iso88596 ISO-8859-6" echo "iso88597 ISO-8859-7" echo "iso88598 ISO-8859-8" echo "iso88599 ISO-8859-9" echo "iso885915 ISO-8859-15" echo "roman8 HP-ROMAN8" echo "arabic8 HP-ARABIC8" echo "greek8 HP-GREEK8" echo "hebrew8 HP-HEBREW8" echo "turkish8 HP-TURKISH8" echo "kana8 HP-KANA8" echo "tis620 TIS-620" echo "big5 BIG5" echo "eucJP EUC-JP" echo "eucKR EUC-KR" echo "eucTW EUC-TW" echo "hp15CN GB2312" #echo "ccdc ?" # what is this? echo "SJIS SHIFT_JIS" echo "utf8 UTF-8" ;; irix*) echo "ISO8859-1 ISO-8859-1" echo "ISO8859-2 ISO-8859-2" echo "ISO8859-5 ISO-8859-5" echo "ISO8859-7 ISO-8859-7" echo "ISO8859-9 ISO-8859-9" echo "eucCN GB2312" echo "eucJP EUC-JP" echo "eucKR EUC-KR" echo "eucTW EUC-TW" ;; osf*) echo "ISO8859-1 ISO-8859-1" echo "ISO8859-2 ISO-8859-2" echo "ISO8859-4 ISO-8859-4" echo "ISO8859-5 ISO-8859-5" echo "ISO8859-7 ISO-8859-7" echo "ISO8859-8 ISO-8859-8" echo "ISO8859-9 ISO-8859-9" echo "ISO8859-15 ISO-8859-15" echo "cp850 CP850" echo "big5 BIG5" echo "dechanyu DEC-HANYU" echo "dechanzi GB2312" echo "deckanji DEC-KANJI" echo "deckorean EUC-KR" echo "eucJP EUC-JP" echo "eucKR EUC-KR" echo "eucTW EUC-TW" echo "GBK GBK" echo "KSC5601 CP949" echo "sdeckanji EUC-JP" echo "SJIS SHIFT_JIS" echo "TACTIS TIS-620" echo "UTF-8 UTF-8" ;; solaris*) echo "646 ASCII" echo "ISO8859-1 ISO-8859-1" echo "ISO8859-2 ISO-8859-2" echo "ISO8859-3 ISO-8859-3" echo "ISO8859-4 ISO-8859-4" echo "ISO8859-5 ISO-8859-5" echo "ISO8859-6 ISO-8859-6" echo "ISO8859-7 ISO-8859-7" echo "ISO8859-8 ISO-8859-8" echo "ISO8859-9 ISO-8859-9" echo "ISO8859-15 ISO-8859-15" echo "koi8-r KOI8-R" echo "ansi-1251 CP1251" echo "BIG5 BIG5" echo "Big5-HKSCS BIG5-HKSCS" echo "gb2312 GB2312" echo "GBK GBK" echo "GB18030 GB18030" echo "cns11643 EUC-TW" echo "5601 EUC-KR" echo "ko_KR.johap92 JOHAB" echo "eucJP EUC-JP" echo "PCK SHIFT_JIS" echo "TIS620.2533 TIS-620" #echo "sun_eu_greek ?" # what is this? echo "UTF-8 UTF-8" ;; freebsd* | os2*) # FreeBSD 4.2 doesn't have nl_langinfo(CODESET); therefore # localcharset.c falls back to using the full locale name # from the environment variables. # Likewise for OS/2. OS/2 has XFree86 just like FreeBSD. Just # reuse FreeBSD's locale data for OS/2. echo "C ASCII" echo "US-ASCII ASCII" for l in la_LN lt_LN; do echo "$l.ASCII ASCII" done for l in da_DK de_AT de_CH de_DE en_AU en_CA en_GB en_US es_ES \ fi_FI fr_BE fr_CA fr_CH fr_FR is_IS it_CH it_IT la_LN \ lt_LN nl_BE nl_NL no_NO pt_PT sv_SE; do echo "$l.ISO_8859-1 ISO-8859-1" echo "$l.DIS_8859-15 ISO-8859-15" done for l in cs_CZ hr_HR hu_HU la_LN lt_LN pl_PL sl_SI; do echo "$l.ISO_8859-2 ISO-8859-2" done for l in la_LN lt_LT; do echo "$l.ISO_8859-4 ISO-8859-4" done for l in ru_RU ru_SU; do echo "$l.KOI8-R KOI8-R" echo "$l.ISO_8859-5 ISO-8859-5" echo "$l.CP866 CP866" done echo "uk_UA.KOI8-U KOI8-U" echo "zh_TW.BIG5 BIG5" echo "zh_TW.Big5 BIG5" echo "zh_CN.EUC GB2312" echo "ja_JP.EUC EUC-JP" echo "ja_JP.SJIS SHIFT_JIS" echo "ja_JP.Shift_JIS SHIFT_JIS" echo "ko_KR.EUC EUC-KR" ;; netbsd*) echo "646 ASCII" echo "ISO8859-1 ISO-8859-1" echo "ISO8859-2 ISO-8859-2" echo "ISO8859-4 ISO-8859-4" echo "ISO8859-5 ISO-8859-5" echo "ISO8859-7 ISO-8859-7" echo "ISO8859-13 ISO-8859-13" echo "ISO8859-15 ISO-8859-15" echo "eucCN GB2312" echo "eucJP EUC-JP" echo "eucKR EUC-KR" echo "eucTW EUC-TW" echo "BIG5 BIG5" echo "SJIS SHIFT_JIS" ;; darwin[56]*) # Darwin 6.8 doesn't have nl_langinfo(CODESET); therefore # localcharset.c falls back to using the full locale name # from the environment variables. echo "C ASCII" for l in en_AU en_CA en_GB en_US la_LN; do echo "$l.US-ASCII ASCII" done for l in da_DK de_AT de_CH de_DE en_AU en_CA en_GB en_US es_ES \ fi_FI fr_BE fr_CA fr_CH fr_FR is_IS it_CH it_IT nl_BE \ nl_NL no_NO pt_PT sv_SE; do echo "$l ISO-8859-1" echo "$l.ISO8859-1 ISO-8859-1" echo "$l.ISO8859-15 ISO-8859-15" done for l in la_LN; do echo "$l.ISO8859-1 ISO-8859-1" echo "$l.ISO8859-15 ISO-8859-15" done for l in cs_CZ hr_HR hu_HU la_LN pl_PL sl_SI; do echo "$l.ISO8859-2 ISO-8859-2" done for l in la_LN lt_LT; do echo "$l.ISO8859-4 ISO-8859-4" done for l in ru_RU; do echo "$l.KOI8-R KOI8-R" echo "$l.ISO8859-5 ISO-8859-5" echo "$l.CP866 CP866" done for l in bg_BG; do echo "$l.CP1251 CP1251" done echo "uk_UA.KOI8-U KOI8-U" echo "zh_TW.BIG5 BIG5" echo "zh_TW.Big5 BIG5" echo "zh_CN.EUC GB2312" echo "ja_JP.EUC EUC-JP" echo "ja_JP.SJIS SHIFT_JIS" echo "ko_KR.EUC EUC-KR" ;; darwin*) # Darwin 7.5 has nl_langinfo(CODESET), but it is useless: # - It returns the empty string when LANG is set to a locale of the # form ll_CC, although ll_CC/LC_CTYPE is a symlink to an UTF-8 # LC_CTYPE file. # - The environment variables LANG, LC_CTYPE, LC_ALL are not set by # the system; nl_langinfo(CODESET) returns "US-ASCII" in this case. # - The documentation says: # "... all code that calls BSD system routines should ensure # that the const *char parameters of these routines are in UTF-8 # encoding. All BSD system functions expect their string # parameters to be in UTF-8 encoding and nothing else." # It also says # "An additional caveat is that string parameters for files, # paths, and other file-system entities must be in canonical # UTF-8. In a canonical UTF-8 Unicode string, all decomposable # characters are decomposed ..." # but this is not true: You can pass non-decomposed UTF-8 strings # to file system functions, and it is the OS which will convert # them to decomposed UTF-8 before accessing the file system. # - The Apple Terminal application displays UTF-8 by default. # - However, other applications are free to use different encodings: # - xterm uses ISO-8859-1 by default. # - TextEdit uses MacRoman by default. # We prefer UTF-8 over decomposed UTF-8-MAC because one should # minimize the use of decomposed Unicode. Unfortunately, through the # Darwin file system, decomposed UTF-8 strings are leaked into user # space nevertheless. echo "* UTF-8" ;; beos*) # BeOS has a single locale, and it has UTF-8 encoding. echo "* UTF-8" ;; msdosdjgpp*) # DJGPP 2.03 doesn't have nl_langinfo(CODESET); therefore # localcharset.c falls back to using the full locale name # from the environment variables. echo "#" echo "# The encodings given here may not all be correct." echo "# If you find that the encoding given for your language and" echo "# country is not the one your DOS machine actually uses, just" echo "# correct it in this file, and send a mail to" echo "# Juan Manuel Guerrero " echo "# and Bruno Haible ." echo "#" echo "C ASCII" # ISO-8859-1 languages echo "ca CP850" echo "ca_ES CP850" echo "da CP865" # not CP850 ?? echo "da_DK CP865" # not CP850 ?? echo "de CP850" echo "de_AT CP850" echo "de_CH CP850" echo "de_DE CP850" echo "en CP850" echo "en_AU CP850" # not CP437 ?? echo "en_CA CP850" echo "en_GB CP850" echo "en_NZ CP437" echo "en_US CP437" echo "en_ZA CP850" # not CP437 ?? echo "es CP850" echo "es_AR CP850" echo "es_BO CP850" echo "es_CL CP850" echo "es_CO CP850" echo "es_CR CP850" echo "es_CU CP850" echo "es_DO CP850" echo "es_EC CP850" echo "es_ES CP850" echo "es_GT CP850" echo "es_HN CP850" echo "es_MX CP850" echo "es_NI CP850" echo "es_PA CP850" echo "es_PY CP850" echo "es_PE CP850" echo "es_SV CP850" echo "es_UY CP850" echo "es_VE CP850" echo "et CP850" echo "et_EE CP850" echo "eu CP850" echo "eu_ES CP850" echo "fi CP850" echo "fi_FI CP850" echo "fr CP850" echo "fr_BE CP850" echo "fr_CA CP850" echo "fr_CH CP850" echo "fr_FR CP850" echo "ga CP850" echo "ga_IE CP850" echo "gd CP850" echo "gd_GB CP850" echo "gl CP850" echo "gl_ES CP850" echo "id CP850" # not CP437 ?? echo "id_ID CP850" # not CP437 ?? echo "is CP861" # not CP850 ?? echo "is_IS CP861" # not CP850 ?? echo "it CP850" echo "it_CH CP850" echo "it_IT CP850" echo "lt CP775" echo "lt_LT CP775" echo "lv CP775" echo "lv_LV CP775" echo "nb CP865" # not CP850 ?? echo "nb_NO CP865" # not CP850 ?? echo "nl CP850" echo "nl_BE CP850" echo "nl_NL CP850" echo "nn CP865" # not CP850 ?? echo "nn_NO CP865" # not CP850 ?? echo "no CP865" # not CP850 ?? echo "no_NO CP865" # not CP850 ?? echo "pt CP850" echo "pt_BR CP850" echo "pt_PT CP850" echo "sv CP850" echo "sv_SE CP850" # ISO-8859-2 languages echo "cs CP852" echo "cs_CZ CP852" echo "hr CP852" echo "hr_HR CP852" echo "hu CP852" echo "hu_HU CP852" echo "pl CP852" echo "pl_PL CP852" echo "ro CP852" echo "ro_RO CP852" echo "sk CP852" echo "sk_SK CP852" echo "sl CP852" echo "sl_SI CP852" echo "sq CP852" echo "sq_AL CP852" echo "sr CP852" # CP852 or CP866 or CP855 ?? echo "sr_CS CP852" # CP852 or CP866 or CP855 ?? echo "sr_YU CP852" # CP852 or CP866 or CP855 ?? # ISO-8859-3 languages echo "mt CP850" echo "mt_MT CP850" # ISO-8859-5 languages echo "be CP866" echo "be_BE CP866" echo "bg CP866" # not CP855 ?? echo "bg_BG CP866" # not CP855 ?? echo "mk CP866" # not CP855 ?? echo "mk_MK CP866" # not CP855 ?? echo "ru CP866" echo "ru_RU CP866" echo "uk CP1125" echo "uk_UA CP1125" # ISO-8859-6 languages echo "ar CP864" echo "ar_AE CP864" echo "ar_DZ CP864" echo "ar_EG CP864" echo "ar_IQ CP864" echo "ar_IR CP864" echo "ar_JO CP864" echo "ar_KW CP864" echo "ar_MA CP864" echo "ar_OM CP864" echo "ar_QA CP864" echo "ar_SA CP864" echo "ar_SY CP864" # ISO-8859-7 languages echo "el CP869" echo "el_GR CP869" # ISO-8859-8 languages echo "he CP862" echo "he_IL CP862" # ISO-8859-9 languages echo "tr CP857" echo "tr_TR CP857" # Japanese echo "ja CP932" echo "ja_JP CP932" # Chinese echo "zh_CN GBK" echo "zh_TW CP950" # not CP938 ?? # Korean echo "kr CP949" # not CP934 ?? echo "kr_KR CP949" # not CP934 ?? # Thai echo "th CP874" echo "th_TH CP874" # Other echo "eo CP850" echo "eo_EO CP850" ;; esac geda-gaf-1.8.2/intl/bindtextdom.c0000664000175000017500000002251012050467633013541 00000000000000/* Implementation of the bindtextdomain(3) function Copyright (C) 1995-1998, 2000-2003, 2005-2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include "gettextP.h" #ifdef _LIBC # include #else # include "libgnuintl.h" #endif /* Handle multi-threaded applications. */ #ifdef _LIBC # include # define gl_rwlock_define __libc_rwlock_define # define gl_rwlock_wrlock __libc_rwlock_wrlock # define gl_rwlock_unlock __libc_rwlock_unlock #else # include "lock.h" #endif /* The internal variables in the standalone libintl.a must have different names than the internal variables in GNU libc, otherwise programs using libintl.a cannot be linked statically. */ #if !defined _LIBC # define _nl_default_dirname libintl_nl_default_dirname # define _nl_domain_bindings libintl_nl_domain_bindings #endif /* Some compilers, like SunOS4 cc, don't have offsetof in . */ #ifndef offsetof # define offsetof(type,ident) ((size_t)&(((type*)0)->ident)) #endif /* @@ end of prolog @@ */ /* Contains the default location of the message catalogs. */ extern const char _nl_default_dirname[]; #ifdef _LIBC libc_hidden_proto (_nl_default_dirname) #endif /* List with bindings of specific domains. */ extern struct binding *_nl_domain_bindings; /* Lock variable to protect the global data in the gettext implementation. */ gl_rwlock_define (extern, _nl_state_lock attribute_hidden) /* Names for the libintl functions are a problem. They must not clash with existing names and they should follow ANSI C. But this source code is also used in GNU C Library where the names have a __ prefix. So we have to make a difference here. */ #ifdef _LIBC # define BINDTEXTDOMAIN __bindtextdomain # define BIND_TEXTDOMAIN_CODESET __bind_textdomain_codeset # ifndef strdup # define strdup(str) __strdup (str) # endif #else # define BINDTEXTDOMAIN libintl_bindtextdomain # define BIND_TEXTDOMAIN_CODESET libintl_bind_textdomain_codeset #endif /* Specifies the directory name *DIRNAMEP and the output codeset *CODESETP to be used for the DOMAINNAME message catalog. If *DIRNAMEP or *CODESETP is NULL, the corresponding attribute is not modified, only the current value is returned. If DIRNAMEP or CODESETP is NULL, the corresponding attribute is neither modified nor returned. */ static void set_binding_values (const char *domainname, const char **dirnamep, const char **codesetp) { struct binding *binding; int modified; /* Some sanity checks. */ if (domainname == NULL || domainname[0] == '\0') { if (dirnamep) *dirnamep = NULL; if (codesetp) *codesetp = NULL; return; } gl_rwlock_wrlock (_nl_state_lock); modified = 0; for (binding = _nl_domain_bindings; binding != NULL; binding = binding->next) { int compare = strcmp (domainname, binding->domainname); if (compare == 0) /* We found it! */ break; if (compare < 0) { /* It is not in the list. */ binding = NULL; break; } } if (binding != NULL) { if (dirnamep) { const char *dirname = *dirnamep; if (dirname == NULL) /* The current binding has be to returned. */ *dirnamep = binding->dirname; else { /* The domain is already bound. If the new value and the old one are equal we simply do nothing. Otherwise replace the old binding. */ char *result = binding->dirname; if (strcmp (dirname, result) != 0) { if (strcmp (dirname, _nl_default_dirname) == 0) result = (char *) _nl_default_dirname; else { #if defined _LIBC || defined HAVE_STRDUP result = strdup (dirname); #else size_t len = strlen (dirname) + 1; result = (char *) malloc (len); if (__builtin_expect (result != NULL, 1)) memcpy (result, dirname, len); #endif } if (__builtin_expect (result != NULL, 1)) { if (binding->dirname != _nl_default_dirname) free (binding->dirname); binding->dirname = result; modified = 1; } } *dirnamep = result; } } if (codesetp) { const char *codeset = *codesetp; if (codeset == NULL) /* The current binding has be to returned. */ *codesetp = binding->codeset; else { /* The domain is already bound. If the new value and the old one are equal we simply do nothing. Otherwise replace the old binding. */ char *result = binding->codeset; if (result == NULL || strcmp (codeset, result) != 0) { #if defined _LIBC || defined HAVE_STRDUP result = strdup (codeset); #else size_t len = strlen (codeset) + 1; result = (char *) malloc (len); if (__builtin_expect (result != NULL, 1)) memcpy (result, codeset, len); #endif if (__builtin_expect (result != NULL, 1)) { if (binding->codeset != NULL) free (binding->codeset); binding->codeset = result; modified = 1; } } *codesetp = result; } } } else if ((dirnamep == NULL || *dirnamep == NULL) && (codesetp == NULL || *codesetp == NULL)) { /* Simply return the default values. */ if (dirnamep) *dirnamep = _nl_default_dirname; if (codesetp) *codesetp = NULL; } else { /* We have to create a new binding. */ size_t len = strlen (domainname) + 1; struct binding *new_binding = (struct binding *) malloc (offsetof (struct binding, domainname) + len); if (__builtin_expect (new_binding == NULL, 0)) goto failed; memcpy (new_binding->domainname, domainname, len); if (dirnamep) { const char *dirname = *dirnamep; if (dirname == NULL) /* The default value. */ dirname = _nl_default_dirname; else { if (strcmp (dirname, _nl_default_dirname) == 0) dirname = _nl_default_dirname; else { char *result; #if defined _LIBC || defined HAVE_STRDUP result = strdup (dirname); if (__builtin_expect (result == NULL, 0)) goto failed_dirname; #else size_t len = strlen (dirname) + 1; result = (char *) malloc (len); if (__builtin_expect (result == NULL, 0)) goto failed_dirname; memcpy (result, dirname, len); #endif dirname = result; } } *dirnamep = dirname; new_binding->dirname = (char *) dirname; } else /* The default value. */ new_binding->dirname = (char *) _nl_default_dirname; if (codesetp) { const char *codeset = *codesetp; if (codeset != NULL) { char *result; #if defined _LIBC || defined HAVE_STRDUP result = strdup (codeset); if (__builtin_expect (result == NULL, 0)) goto failed_codeset; #else size_t len = strlen (codeset) + 1; result = (char *) malloc (len); if (__builtin_expect (result == NULL, 0)) goto failed_codeset; memcpy (result, codeset, len); #endif codeset = result; } *codesetp = codeset; new_binding->codeset = (char *) codeset; } else new_binding->codeset = NULL; /* Now enqueue it. */ if (_nl_domain_bindings == NULL || strcmp (domainname, _nl_domain_bindings->domainname) < 0) { new_binding->next = _nl_domain_bindings; _nl_domain_bindings = new_binding; } else { binding = _nl_domain_bindings; while (binding->next != NULL && strcmp (domainname, binding->next->domainname) > 0) binding = binding->next; new_binding->next = binding->next; binding->next = new_binding; } modified = 1; /* Here we deal with memory allocation failures. */ if (0) { failed_codeset: if (new_binding->dirname != _nl_default_dirname) free (new_binding->dirname); failed_dirname: free (new_binding); failed: if (dirnamep) *dirnamep = NULL; if (codesetp) *codesetp = NULL; } } /* If we modified any binding, we flush the caches. */ if (modified) ++_nl_msg_cat_cntr; gl_rwlock_unlock (_nl_state_lock); } /* Specify that the DOMAINNAME message catalog will be found in DIRNAME rather than in the system locale data base. */ char * BINDTEXTDOMAIN (const char *domainname, const char *dirname) { set_binding_values (domainname, &dirname, NULL); return (char *) dirname; } /* Specify the character encoding in which the messages from the DOMAINNAME message catalog will be returned. */ char * BIND_TEXTDOMAIN_CODESET (const char *domainname, const char *codeset) { set_binding_values (domainname, NULL, &codeset); return (char *) codeset; } #ifdef _LIBC /* Aliases for function names in GNU C Library. */ weak_alias (__bindtextdomain, bindtextdomain); weak_alias (__bind_textdomain_codeset, bind_textdomain_codeset); #endif geda-gaf-1.8.2/intl/intl-compat.c0000664000175000017500000000662412050467633013457 00000000000000/* intl-compat.c - Stub functions to call gettext functions from GNU gettext Library. Copyright (C) 1995, 2000-2003, 2005 Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifdef HAVE_CONFIG_H # include #endif #include "gettextP.h" /* @@ end of prolog @@ */ /* This file redirects the gettext functions (without prefix) to those defined in the included GNU libintl library (with "libintl_" prefix). It is compiled into libintl in order to make the AM_GNU_GETTEXT test of gettext <= 0.11.2 work with the libintl library >= 0.11.3 which has the redirections primarily in the include file. It is also compiled into libgnuintl so that libgnuintl.so can be used as LD_PRELOADable library on glibc systems, to provide the extra features that the functions in the libc don't have (namely, logging). */ #undef gettext #undef dgettext #undef dcgettext #undef ngettext #undef dngettext #undef dcngettext #undef textdomain #undef bindtextdomain #undef bind_textdomain_codeset /* When building a DLL, we must export some functions. Note that because the functions are only defined for binary backward compatibility, we don't need to use __declspec(dllimport) in any case. */ #if HAVE_VISIBILITY && BUILDING_DLL # define DLL_EXPORTED __attribute__((__visibility__("default"))) #elif defined _MSC_VER && BUILDING_DLL # define DLL_EXPORTED __declspec(dllexport) #else # define DLL_EXPORTED #endif DLL_EXPORTED char * gettext (const char *msgid) { return libintl_gettext (msgid); } DLL_EXPORTED char * dgettext (const char *domainname, const char *msgid) { return libintl_dgettext (domainname, msgid); } DLL_EXPORTED char * dcgettext (const char *domainname, const char *msgid, int category) { return libintl_dcgettext (domainname, msgid, category); } DLL_EXPORTED char * ngettext (const char *msgid1, const char *msgid2, unsigned long int n) { return libintl_ngettext (msgid1, msgid2, n); } DLL_EXPORTED char * dngettext (const char *domainname, const char *msgid1, const char *msgid2, unsigned long int n) { return libintl_dngettext (domainname, msgid1, msgid2, n); } DLL_EXPORTED char * dcngettext (const char *domainname, const char *msgid1, const char *msgid2, unsigned long int n, int category) { return libintl_dcngettext (domainname, msgid1, msgid2, n, category); } DLL_EXPORTED char * textdomain (const char *domainname) { return libintl_textdomain (domainname); } DLL_EXPORTED char * bindtextdomain (const char *domainname, const char *dirname) { return libintl_bindtextdomain (domainname, dirname); } DLL_EXPORTED char * bind_textdomain_codeset (const char *domainname, const char *codeset) { return libintl_bind_textdomain_codeset (domainname, codeset); } geda-gaf-1.8.2/intl/log.c0000664000175000017500000000623112050467633012003 00000000000000/* Log file output. Copyright (C) 2003, 2005 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* Written by Bruno Haible . */ #ifdef HAVE_CONFIG_H # include #endif #include #include #include /* Handle multi-threaded applications. */ #ifdef _LIBC # include #else # include "lock.h" #endif /* Print an ASCII string with quotes and escape sequences where needed. */ static void print_escaped (FILE *stream, const char *str) { putc ('"', stream); for (; *str != '\0'; str++) if (*str == '\n') { fputs ("\\n\"", stream); if (str[1] == '\0') return; fputs ("\n\"", stream); } else { if (*str == '"' || *str == '\\') putc ('\\', stream); putc (*str, stream); } putc ('"', stream); } static char *last_logfilename = NULL; static FILE *last_logfile = NULL; __libc_lock_define_initialized (static, lock) static inline void _nl_log_untranslated_locked (const char *logfilename, const char *domainname, const char *msgid1, const char *msgid2, int plural) { FILE *logfile; /* Can we reuse the last opened logfile? */ if (last_logfilename == NULL || strcmp (logfilename, last_logfilename) != 0) { /* Close the last used logfile. */ if (last_logfilename != NULL) { if (last_logfile != NULL) { fclose (last_logfile); last_logfile = NULL; } free (last_logfilename); last_logfilename = NULL; } /* Open the logfile. */ last_logfilename = (char *) malloc (strlen (logfilename) + 1); if (last_logfilename == NULL) return; strcpy (last_logfilename, logfilename); last_logfile = fopen (logfilename, "a"); if (last_logfile == NULL) return; } logfile = last_logfile; fprintf (logfile, "domain "); print_escaped (logfile, domainname); fprintf (logfile, "\nmsgid "); print_escaped (logfile, msgid1); if (plural) { fprintf (logfile, "\nmsgid_plural "); print_escaped (logfile, msgid2); fprintf (logfile, "\nmsgstr[0] \"\"\n"); } else fprintf (logfile, "\nmsgstr \"\"\n"); putc ('\n', logfile); } /* Add to the log file an entry denoting a failed translation. */ void _nl_log_untranslated (const char *logfilename, const char *domainname, const char *msgid1, const char *msgid2, int plural) { __libc_lock_lock (lock); _nl_log_untranslated_locked (logfilename, domainname, msgid1, msgid2, plural); __libc_lock_unlock (lock); } geda-gaf-1.8.2/intl/printf-args.c0000664000175000017500000001011012050467633013445 00000000000000/* Decomposed printf argument list. Copyright (C) 1999, 2002-2003, 2005-2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include /* Specification. */ #include "printf-args.h" #ifdef STATIC STATIC #endif int printf_fetchargs (va_list args, arguments *a) { size_t i; argument *ap; for (i = 0, ap = &a->arg[0]; i < a->count; i++, ap++) switch (ap->type) { case TYPE_SCHAR: ap->a.a_schar = va_arg (args, /*signed char*/ int); break; case TYPE_UCHAR: ap->a.a_uchar = va_arg (args, /*unsigned char*/ int); break; case TYPE_SHORT: ap->a.a_short = va_arg (args, /*short*/ int); break; case TYPE_USHORT: ap->a.a_ushort = va_arg (args, /*unsigned short*/ int); break; case TYPE_INT: ap->a.a_int = va_arg (args, int); break; case TYPE_UINT: ap->a.a_uint = va_arg (args, unsigned int); break; case TYPE_LONGINT: ap->a.a_longint = va_arg (args, long int); break; case TYPE_ULONGINT: ap->a.a_ulongint = va_arg (args, unsigned long int); break; #ifdef HAVE_LONG_LONG_INT case TYPE_LONGLONGINT: ap->a.a_longlongint = va_arg (args, long long int); break; case TYPE_ULONGLONGINT: ap->a.a_ulonglongint = va_arg (args, unsigned long long int); break; #endif case TYPE_DOUBLE: ap->a.a_double = va_arg (args, double); break; #ifdef HAVE_LONG_DOUBLE case TYPE_LONGDOUBLE: ap->a.a_longdouble = va_arg (args, long double); break; #endif case TYPE_CHAR: ap->a.a_char = va_arg (args, int); break; #ifdef HAVE_WINT_T case TYPE_WIDE_CHAR: /* Although ISO C 99 7.24.1.(2) says that wint_t is "unchanged by default argument promotions", this is not the case in mingw32, where wint_t is 'unsigned short'. */ ap->a.a_wide_char = (sizeof (wint_t) < sizeof (int) ? va_arg (args, int) : va_arg (args, wint_t)); break; #endif case TYPE_STRING: ap->a.a_string = va_arg (args, const char *); /* A null pointer is an invalid argument for "%s", but in practice it occurs quite frequently in printf statements that produce debug output. Use a fallback in this case. */ if (ap->a.a_string == NULL) ap->a.a_string = "(NULL)"; break; #ifdef HAVE_WCHAR_T case TYPE_WIDE_STRING: ap->a.a_wide_string = va_arg (args, const wchar_t *); /* A null pointer is an invalid argument for "%ls", but in practice it occurs quite frequently in printf statements that produce debug output. Use a fallback in this case. */ if (ap->a.a_wide_string == NULL) { static const wchar_t wide_null_string[] = { (wchar_t)'(', (wchar_t)'N', (wchar_t)'U', (wchar_t)'L', (wchar_t)'L', (wchar_t)')', (wchar_t)0 }; ap->a.a_wide_string = wide_null_string; } break; #endif case TYPE_POINTER: ap->a.a_pointer = va_arg (args, void *); break; case TYPE_COUNT_SCHAR_POINTER: ap->a.a_count_schar_pointer = va_arg (args, signed char *); break; case TYPE_COUNT_SHORT_POINTER: ap->a.a_count_short_pointer = va_arg (args, short *); break; case TYPE_COUNT_INT_POINTER: ap->a.a_count_int_pointer = va_arg (args, int *); break; case TYPE_COUNT_LONGINT_POINTER: ap->a.a_count_longint_pointer = va_arg (args, long int *); break; #ifdef HAVE_LONG_LONG_INT case TYPE_COUNT_LONGLONGINT_POINTER: ap->a.a_count_longlongint_pointer = va_arg (args, long long int *); break; #endif default: /* Unknown type. */ return -1; } return 0; } geda-gaf-1.8.2/intl/relocatable.c0000664000175000017500000003353412050467634013506 00000000000000/* Provide relocatable packages. Copyright (C) 2003-2006 Free Software Foundation, Inc. Written by Bruno Haible , 2003. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* Tell glibc's to provide a prototype for getline(). This must come before because may include , and once has been included, it's too late. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif #include /* Specification. */ #include "relocatable.h" #if ENABLE_RELOCATABLE #include #include #include #include #ifdef NO_XMALLOC # define xmalloc malloc #else # include "xalloc.h" #endif #if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ # define WIN32_LEAN_AND_MEAN # include #endif #if DEPENDS_ON_LIBCHARSET # include #endif #if DEPENDS_ON_LIBICONV && HAVE_ICONV # include #endif #if DEPENDS_ON_LIBINTL && ENABLE_NLS # include #endif /* Faked cheap 'bool'. */ #undef bool #undef false #undef true #define bool int #define false 0 #define true 1 /* Pathname support. ISSLASH(C) tests whether C is a directory separator character. IS_PATH_WITH_DIR(P) tests whether P contains a directory specification. */ #if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__ /* Win32, Cygwin, OS/2, DOS */ # define ISSLASH(C) ((C) == '/' || (C) == '\\') # define HAS_DEVICE(P) \ ((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \ && (P)[1] == ':') # define IS_PATH_WITH_DIR(P) \ (strchr (P, '/') != NULL || strchr (P, '\\') != NULL || HAS_DEVICE (P)) # define FILE_SYSTEM_PREFIX_LEN(P) (HAS_DEVICE (P) ? 2 : 0) #else /* Unix */ # define ISSLASH(C) ((C) == '/') # define IS_PATH_WITH_DIR(P) (strchr (P, '/') != NULL) # define FILE_SYSTEM_PREFIX_LEN(P) 0 #endif /* Original installation prefix. */ static char *orig_prefix; static size_t orig_prefix_len; /* Current installation prefix. */ static char *curr_prefix; static size_t curr_prefix_len; /* These prefixes do not end in a slash. Anything that will be concatenated to them must start with a slash. */ /* Sets the original and the current installation prefix of this module. Relocation simply replaces a pathname starting with the original prefix by the corresponding pathname with the current prefix instead. Both prefixes should be directory names without trailing slash (i.e. use "" instead of "/"). */ static void set_this_relocation_prefix (const char *orig_prefix_arg, const char *curr_prefix_arg) { if (orig_prefix_arg != NULL && curr_prefix_arg != NULL /* Optimization: if orig_prefix and curr_prefix are equal, the relocation is a nop. */ && strcmp (orig_prefix_arg, curr_prefix_arg) != 0) { /* Duplicate the argument strings. */ char *memory; orig_prefix_len = strlen (orig_prefix_arg); curr_prefix_len = strlen (curr_prefix_arg); memory = (char *) xmalloc (orig_prefix_len + 1 + curr_prefix_len + 1); #ifdef NO_XMALLOC if (memory != NULL) #endif { memcpy (memory, orig_prefix_arg, orig_prefix_len + 1); orig_prefix = memory; memory += orig_prefix_len + 1; memcpy (memory, curr_prefix_arg, curr_prefix_len + 1); curr_prefix = memory; return; } } orig_prefix = NULL; curr_prefix = NULL; /* Don't worry about wasted memory here - this function is usually only called once. */ } /* Sets the original and the current installation prefix of the package. Relocation simply replaces a pathname starting with the original prefix by the corresponding pathname with the current prefix instead. Both prefixes should be directory names without trailing slash (i.e. use "" instead of "/"). */ void set_relocation_prefix (const char *orig_prefix_arg, const char *curr_prefix_arg) { set_this_relocation_prefix (orig_prefix_arg, curr_prefix_arg); /* Now notify all dependent libraries. */ #if DEPENDS_ON_LIBCHARSET libcharset_set_relocation_prefix (orig_prefix_arg, curr_prefix_arg); #endif #if DEPENDS_ON_LIBICONV && HAVE_ICONV && _LIBICONV_VERSION >= 0x0109 libiconv_set_relocation_prefix (orig_prefix_arg, curr_prefix_arg); #endif #if DEPENDS_ON_LIBINTL && ENABLE_NLS && defined libintl_set_relocation_prefix libintl_set_relocation_prefix (orig_prefix_arg, curr_prefix_arg); #endif } #if !defined IN_LIBRARY || (defined PIC && defined INSTALLDIR) /* Convenience function: Computes the current installation prefix, based on the original installation prefix, the original installation directory of a particular file, and the current pathname of this file. Returns NULL upon failure. */ #ifdef IN_LIBRARY #define compute_curr_prefix local_compute_curr_prefix static #endif const char * compute_curr_prefix (const char *orig_installprefix, const char *orig_installdir, const char *curr_pathname) { const char *curr_installdir; const char *rel_installdir; if (curr_pathname == NULL) return NULL; /* Determine the relative installation directory, relative to the prefix. This is simply the difference between orig_installprefix and orig_installdir. */ if (strncmp (orig_installprefix, orig_installdir, strlen (orig_installprefix)) != 0) /* Shouldn't happen - nothing should be installed outside $(prefix). */ return NULL; rel_installdir = orig_installdir + strlen (orig_installprefix); /* Determine the current installation directory. */ { const char *p_base = curr_pathname + FILE_SYSTEM_PREFIX_LEN (curr_pathname); const char *p = curr_pathname + strlen (curr_pathname); char *q; while (p > p_base) { p--; if (ISSLASH (*p)) break; } q = (char *) xmalloc (p - curr_pathname + 1); #ifdef NO_XMALLOC if (q == NULL) return NULL; #endif memcpy (q, curr_pathname, p - curr_pathname); q[p - curr_pathname] = '\0'; curr_installdir = q; } /* Compute the current installation prefix by removing the trailing rel_installdir from it. */ { const char *rp = rel_installdir + strlen (rel_installdir); const char *cp = curr_installdir + strlen (curr_installdir); const char *cp_base = curr_installdir + FILE_SYSTEM_PREFIX_LEN (curr_installdir); while (rp > rel_installdir && cp > cp_base) { bool same = false; const char *rpi = rp; const char *cpi = cp; while (rpi > rel_installdir && cpi > cp_base) { rpi--; cpi--; if (ISSLASH (*rpi) || ISSLASH (*cpi)) { if (ISSLASH (*rpi) && ISSLASH (*cpi)) same = true; break; } /* Do case-insensitive comparison if the filesystem is always or often case-insensitive. It's better to accept the comparison if the difference is only in case, rather than to fail. */ #if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__ /* Win32, Cygwin, OS/2, DOS - case insignificant filesystem */ if ((*rpi >= 'a' && *rpi <= 'z' ? *rpi - 'a' + 'A' : *rpi) != (*cpi >= 'a' && *cpi <= 'z' ? *cpi - 'a' + 'A' : *cpi)) break; #else if (*rpi != *cpi) break; #endif } if (!same) break; /* The last pathname component was the same. opi and cpi now point to the slash before it. */ rp = rpi; cp = cpi; } if (rp > rel_installdir) /* Unexpected: The curr_installdir does not end with rel_installdir. */ return NULL; { size_t curr_prefix_len = cp - curr_installdir; char *curr_prefix; curr_prefix = (char *) xmalloc (curr_prefix_len + 1); #ifdef NO_XMALLOC if (curr_prefix == NULL) return NULL; #endif memcpy (curr_prefix, curr_installdir, curr_prefix_len); curr_prefix[curr_prefix_len] = '\0'; return curr_prefix; } } } #endif /* !IN_LIBRARY || PIC */ #if defined PIC && defined INSTALLDIR /* Full pathname of shared library, or NULL. */ static char *shared_library_fullname; #if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ /* Determine the full pathname of the shared library when it is loaded. */ BOOL WINAPI DllMain (HINSTANCE module_handle, DWORD event, LPVOID reserved) { (void) reserved; if (event == DLL_PROCESS_ATTACH) { /* The DLL is being loaded into an application's address range. */ static char location[MAX_PATH]; if (!GetModuleFileName (module_handle, location, sizeof (location))) /* Shouldn't happen. */ return FALSE; if (!IS_PATH_WITH_DIR (location)) /* Shouldn't happen. */ return FALSE; { #if defined __CYGWIN__ /* On Cygwin, we need to convert paths coming from Win32 system calls to the Unix-like slashified notation. */ static char location_as_posix_path[2 * MAX_PATH]; /* There's no error return defined for cygwin_conv_to_posix_path. See cygwin-api/func-cygwin-conv-to-posix-path.html. Does it overflow the buffer of expected size MAX_PATH or does it truncate the path? I don't know. Let's catch both. */ cygwin_conv_to_posix_path (location, location_as_posix_path); location_as_posix_path[MAX_PATH - 1] = '\0'; if (strlen (location_as_posix_path) >= MAX_PATH - 1) /* A sign of buffer overflow or path truncation. */ return FALSE; shared_library_fullname = strdup (location_as_posix_path); #else shared_library_fullname = strdup (location); #endif } } return TRUE; } #else /* Unix except Cygwin */ static void find_shared_library_fullname () { #if defined __linux__ && __GLIBC__ >= 2 /* Linux has /proc/self/maps. glibc 2 has the getline() function. */ FILE *fp; /* Open the current process' maps file. It describes one VMA per line. */ fp = fopen ("/proc/self/maps", "r"); if (fp) { unsigned long address = (unsigned long) &find_shared_library_fullname; for (;;) { unsigned long start, end; int c; if (fscanf (fp, "%lx-%lx", &start, &end) != 2) break; if (address >= start && address <= end - 1) { /* Found it. Now see if this line contains a filename. */ while (c = getc (fp), c != EOF && c != '\n' && c != '/') continue; if (c == '/') { size_t size; int len; ungetc (c, fp); shared_library_fullname = NULL; size = 0; len = getline (&shared_library_fullname, &size, fp); if (len >= 0) { /* Success: filled shared_library_fullname. */ if (len > 0 && shared_library_fullname[len - 1] == '\n') shared_library_fullname[len - 1] = '\0'; } } break; } while (c = getc (fp), c != EOF && c != '\n') continue; } fclose (fp); } #endif } #endif /* (WIN32 or Cygwin) / (Unix except Cygwin) */ /* Return the full pathname of the current shared library. Return NULL if unknown. Guaranteed to work only on Linux, Cygwin and Woe32. */ static char * get_shared_library_fullname () { #if !(defined _WIN32 || defined __WIN32__ || defined __CYGWIN__) static bool tried_find_shared_library_fullname; if (!tried_find_shared_library_fullname) { find_shared_library_fullname (); tried_find_shared_library_fullname = true; } #endif return shared_library_fullname; } #endif /* PIC */ /* Returns the pathname, relocated according to the current installation directory. */ const char * relocate (const char *pathname) { #if defined PIC && defined INSTALLDIR static int initialized; /* Initialization code for a shared library. */ if (!initialized) { /* At this point, orig_prefix and curr_prefix likely have already been set through the main program's set_program_name_and_installdir function. This is sufficient in the case that the library has initially been installed in the same orig_prefix. But we can do better, to also cover the cases that 1. it has been installed in a different prefix before being moved to orig_prefix and (later) to curr_prefix, 2. unlike the program, it has not moved away from orig_prefix. */ const char *orig_installprefix = INSTALLPREFIX; const char *orig_installdir = INSTALLDIR; const char *curr_prefix_better; curr_prefix_better = compute_curr_prefix (orig_installprefix, orig_installdir, get_shared_library_fullname ()); if (curr_prefix_better == NULL) curr_prefix_better = curr_prefix; set_relocation_prefix (orig_installprefix, curr_prefix_better); initialized = 1; } #endif /* Note: It is not necessary to perform case insensitive comparison here, even for DOS-like filesystems, because the pathname argument was typically created from the same Makefile variable as orig_prefix came from. */ if (orig_prefix != NULL && curr_prefix != NULL && strncmp (pathname, orig_prefix, orig_prefix_len) == 0) { if (pathname[orig_prefix_len] == '\0') /* pathname equals orig_prefix. */ return curr_prefix; if (ISSLASH (pathname[orig_prefix_len])) { /* pathname starts with orig_prefix. */ const char *pathname_tail = &pathname[orig_prefix_len]; char *result = (char *) xmalloc (curr_prefix_len + strlen (pathname_tail) + 1); #ifdef NO_XMALLOC if (result != NULL) #endif { memcpy (result, curr_prefix, curr_prefix_len); strcpy (result + curr_prefix_len, pathname_tail); return result; } } } /* Nothing to relocate. */ return pathname; } #endif geda-gaf-1.8.2/intl/os2compat.c0000664000175000017500000000550712050467633013136 00000000000000/* OS/2 compatibility functions. Copyright (C) 2001-2002 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #define OS2_AWARE #ifdef HAVE_CONFIG_H #include #endif #include #include #include /* A version of getenv() that works from DLLs */ extern unsigned long DosScanEnv (const unsigned char *pszName, unsigned char **ppszValue); char * _nl_getenv (const char *name) { unsigned char *value; if (DosScanEnv (name, &value)) return NULL; else return value; } /* A fixed size buffer. */ char libintl_nl_default_dirname[MAXPATHLEN+1]; char *_nlos2_libdir = NULL; char *_nlos2_localealiaspath = NULL; char *_nlos2_localedir = NULL; static __attribute__((constructor)) void nlos2_initialize () { char *root = getenv ("UNIXROOT"); char *gnulocaledir = getenv ("GNULOCALEDIR"); _nlos2_libdir = gnulocaledir; if (!_nlos2_libdir) { if (root) { size_t sl = strlen (root); _nlos2_libdir = (char *) malloc (sl + strlen (LIBDIR) + 1); memcpy (_nlos2_libdir, root, sl); memcpy (_nlos2_libdir + sl, LIBDIR, strlen (LIBDIR) + 1); } else _nlos2_libdir = LIBDIR; } _nlos2_localealiaspath = gnulocaledir; if (!_nlos2_localealiaspath) { if (root) { size_t sl = strlen (root); _nlos2_localealiaspath = (char *) malloc (sl + strlen (LOCALE_ALIAS_PATH) + 1); memcpy (_nlos2_localealiaspath, root, sl); memcpy (_nlos2_localealiaspath + sl, LOCALE_ALIAS_PATH, strlen (LOCALE_ALIAS_PATH) + 1); } else _nlos2_localealiaspath = LOCALE_ALIAS_PATH; } _nlos2_localedir = gnulocaledir; if (!_nlos2_localedir) { if (root) { size_t sl = strlen (root); _nlos2_localedir = (char *) malloc (sl + strlen (LOCALEDIR) + 1); memcpy (_nlos2_localedir, root, sl); memcpy (_nlos2_localedir + sl, LOCALEDIR, strlen (LOCALEDIR) + 1); } else _nlos2_localedir = LOCALEDIR; } if (strlen (_nlos2_localedir) <= MAXPATHLEN) strcpy (libintl_nl_default_dirname, _nlos2_localedir); } geda-gaf-1.8.2/intl/export.h0000664000175000017500000000023512050467633012546 00000000000000 #if @HAVE_VISIBILITY@ && BUILDING_LIBINTL #define LIBINTL_DLL_EXPORTED __attribute__((__visibility__("default"))) #else #define LIBINTL_DLL_EXPORTED #endif geda-gaf-1.8.2/intl/localename.c0000664000175000017500000012433212050467633013325 00000000000000/* Determine the current selected locale. Copyright (C) 1995-1999, 2000-2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* Written by Ulrich Drepper , 1995. */ /* Win32 code written by Tor Lillqvist . */ /* MacOS X code written by Bruno Haible . */ #ifdef HAVE_CONFIG_H # include #endif #include #include #if HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE # include # include # if HAVE_CFLOCALECOPYCURRENT # include # elif HAVE_CFPREFERENCESCOPYAPPVALUE # include # endif #endif #if defined _WIN32 || defined __WIN32__ # define WIN32_NATIVE #endif #ifdef WIN32_NATIVE # define WIN32_LEAN_AND_MEAN # include /* List of language codes, sorted by value: 0x01 LANG_ARABIC 0x02 LANG_BULGARIAN 0x03 LANG_CATALAN 0x04 LANG_CHINESE 0x05 LANG_CZECH 0x06 LANG_DANISH 0x07 LANG_GERMAN 0x08 LANG_GREEK 0x09 LANG_ENGLISH 0x0a LANG_SPANISH 0x0b LANG_FINNISH 0x0c LANG_FRENCH 0x0d LANG_HEBREW 0x0e LANG_HUNGARIAN 0x0f LANG_ICELANDIC 0x10 LANG_ITALIAN 0x11 LANG_JAPANESE 0x12 LANG_KOREAN 0x13 LANG_DUTCH 0x14 LANG_NORWEGIAN 0x15 LANG_POLISH 0x16 LANG_PORTUGUESE 0x17 LANG_RHAETO_ROMANCE 0x18 LANG_ROMANIAN 0x19 LANG_RUSSIAN 0x1a LANG_CROATIAN == LANG_SERBIAN 0x1b LANG_SLOVAK 0x1c LANG_ALBANIAN 0x1d LANG_SWEDISH 0x1e LANG_THAI 0x1f LANG_TURKISH 0x20 LANG_URDU 0x21 LANG_INDONESIAN 0x22 LANG_UKRAINIAN 0x23 LANG_BELARUSIAN 0x24 LANG_SLOVENIAN 0x25 LANG_ESTONIAN 0x26 LANG_LATVIAN 0x27 LANG_LITHUANIAN 0x28 LANG_TAJIK 0x29 LANG_FARSI 0x2a LANG_VIETNAMESE 0x2b LANG_ARMENIAN 0x2c LANG_AZERI 0x2d LANG_BASQUE 0x2e LANG_SORBIAN 0x2f LANG_MACEDONIAN 0x30 LANG_SUTU 0x31 LANG_TSONGA 0x32 LANG_TSWANA 0x33 LANG_VENDA 0x34 LANG_XHOSA 0x35 LANG_ZULU 0x36 LANG_AFRIKAANS 0x37 LANG_GEORGIAN 0x38 LANG_FAEROESE 0x39 LANG_HINDI 0x3a LANG_MALTESE 0x3b LANG_SAAMI 0x3c LANG_GAELIC 0x3d LANG_YIDDISH 0x3e LANG_MALAY 0x3f LANG_KAZAK 0x40 LANG_KYRGYZ 0x41 LANG_SWAHILI 0x42 LANG_TURKMEN 0x43 LANG_UZBEK 0x44 LANG_TATAR 0x45 LANG_BENGALI 0x46 LANG_PUNJABI 0x47 LANG_GUJARATI 0x48 LANG_ORIYA 0x49 LANG_TAMIL 0x4a LANG_TELUGU 0x4b LANG_KANNADA 0x4c LANG_MALAYALAM 0x4d LANG_ASSAMESE 0x4e LANG_MARATHI 0x4f LANG_SANSKRIT 0x50 LANG_MONGOLIAN 0x51 LANG_TIBETAN 0x52 LANG_WELSH 0x53 LANG_CAMBODIAN 0x54 LANG_LAO 0x55 LANG_BURMESE 0x56 LANG_GALICIAN 0x57 LANG_KONKANI 0x58 LANG_MANIPURI 0x59 LANG_SINDHI 0x5a LANG_SYRIAC 0x5b LANG_SINHALESE 0x5c LANG_CHEROKEE 0x5d LANG_INUKTITUT 0x5e LANG_AMHARIC 0x5f LANG_TAMAZIGHT 0x60 LANG_KASHMIRI 0x61 LANG_NEPALI 0x62 LANG_FRISIAN 0x63 LANG_PASHTO 0x64 LANG_TAGALOG 0x65 LANG_DIVEHI 0x66 LANG_EDO 0x67 LANG_FULFULDE 0x68 LANG_HAUSA 0x69 LANG_IBIBIO 0x6a LANG_YORUBA 0x70 LANG_IGBO 0x71 LANG_KANURI 0x72 LANG_OROMO 0x73 LANG_TIGRINYA 0x74 LANG_GUARANI 0x75 LANG_HAWAIIAN 0x76 LANG_LATIN 0x77 LANG_SOMALI 0x78 LANG_YI 0x79 LANG_PAPIAMENTU */ /* Mingw headers don't have latest language and sublanguage codes. */ # ifndef LANG_AFRIKAANS # define LANG_AFRIKAANS 0x36 # endif # ifndef LANG_ALBANIAN # define LANG_ALBANIAN 0x1c # endif # ifndef LANG_AMHARIC # define LANG_AMHARIC 0x5e # endif # ifndef LANG_ARABIC # define LANG_ARABIC 0x01 # endif # ifndef LANG_ARMENIAN # define LANG_ARMENIAN 0x2b # endif # ifndef LANG_ASSAMESE # define LANG_ASSAMESE 0x4d # endif # ifndef LANG_AZERI # define LANG_AZERI 0x2c # endif # ifndef LANG_BASQUE # define LANG_BASQUE 0x2d # endif # ifndef LANG_BELARUSIAN # define LANG_BELARUSIAN 0x23 # endif # ifndef LANG_BENGALI # define LANG_BENGALI 0x45 # endif # ifndef LANG_BURMESE # define LANG_BURMESE 0x55 # endif # ifndef LANG_CAMBODIAN # define LANG_CAMBODIAN 0x53 # endif # ifndef LANG_CATALAN # define LANG_CATALAN 0x03 # endif # ifndef LANG_CHEROKEE # define LANG_CHEROKEE 0x5c # endif # ifndef LANG_DIVEHI # define LANG_DIVEHI 0x65 # endif # ifndef LANG_EDO # define LANG_EDO 0x66 # endif # ifndef LANG_ESTONIAN # define LANG_ESTONIAN 0x25 # endif # ifndef LANG_FAEROESE # define LANG_FAEROESE 0x38 # endif # ifndef LANG_FARSI # define LANG_FARSI 0x29 # endif # ifndef LANG_FRISIAN # define LANG_FRISIAN 0x62 # endif # ifndef LANG_FULFULDE # define LANG_FULFULDE 0x67 # endif # ifndef LANG_GAELIC # define LANG_GAELIC 0x3c # endif # ifndef LANG_GALICIAN # define LANG_GALICIAN 0x56 # endif # ifndef LANG_GEORGIAN # define LANG_GEORGIAN 0x37 # endif # ifndef LANG_GUARANI # define LANG_GUARANI 0x74 # endif # ifndef LANG_GUJARATI # define LANG_GUJARATI 0x47 # endif # ifndef LANG_HAUSA # define LANG_HAUSA 0x68 # endif # ifndef LANG_HAWAIIAN # define LANG_HAWAIIAN 0x75 # endif # ifndef LANG_HEBREW # define LANG_HEBREW 0x0d # endif # ifndef LANG_HINDI # define LANG_HINDI 0x39 # endif # ifndef LANG_IBIBIO # define LANG_IBIBIO 0x69 # endif # ifndef LANG_IGBO # define LANG_IGBO 0x70 # endif # ifndef LANG_INDONESIAN # define LANG_INDONESIAN 0x21 # endif # ifndef LANG_INUKTITUT # define LANG_INUKTITUT 0x5d # endif # ifndef LANG_KANNADA # define LANG_KANNADA 0x4b # endif # ifndef LANG_KANURI # define LANG_KANURI 0x71 # endif # ifndef LANG_KASHMIRI # define LANG_KASHMIRI 0x60 # endif # ifndef LANG_KAZAK # define LANG_KAZAK 0x3f # endif # ifndef LANG_KONKANI # define LANG_KONKANI 0x57 # endif # ifndef LANG_KYRGYZ # define LANG_KYRGYZ 0x40 # endif # ifndef LANG_LAO # define LANG_LAO 0x54 # endif # ifndef LANG_LATIN # define LANG_LATIN 0x76 # endif # ifndef LANG_LATVIAN # define LANG_LATVIAN 0x26 # endif # ifndef LANG_LITHUANIAN # define LANG_LITHUANIAN 0x27 # endif # ifndef LANG_MACEDONIAN # define LANG_MACEDONIAN 0x2f # endif # ifndef LANG_MALAY # define LANG_MALAY 0x3e # endif # ifndef LANG_MALAYALAM # define LANG_MALAYALAM 0x4c # endif # ifndef LANG_MALTESE # define LANG_MALTESE 0x3a # endif # ifndef LANG_MANIPURI # define LANG_MANIPURI 0x58 # endif # ifndef LANG_MARATHI # define LANG_MARATHI 0x4e # endif # ifndef LANG_MONGOLIAN # define LANG_MONGOLIAN 0x50 # endif # ifndef LANG_NEPALI # define LANG_NEPALI 0x61 # endif # ifndef LANG_ORIYA # define LANG_ORIYA 0x48 # endif # ifndef LANG_OROMO # define LANG_OROMO 0x72 # endif # ifndef LANG_PAPIAMENTU # define LANG_PAPIAMENTU 0x79 # endif # ifndef LANG_PASHTO # define LANG_PASHTO 0x63 # endif # ifndef LANG_PUNJABI # define LANG_PUNJABI 0x46 # endif # ifndef LANG_RHAETO_ROMANCE # define LANG_RHAETO_ROMANCE 0x17 # endif # ifndef LANG_SAAMI # define LANG_SAAMI 0x3b # endif # ifndef LANG_SANSKRIT # define LANG_SANSKRIT 0x4f # endif # ifndef LANG_SERBIAN # define LANG_SERBIAN 0x1a # endif # ifndef LANG_SINDHI # define LANG_SINDHI 0x59 # endif # ifndef LANG_SINHALESE # define LANG_SINHALESE 0x5b # endif # ifndef LANG_SLOVAK # define LANG_SLOVAK 0x1b # endif # ifndef LANG_SOMALI # define LANG_SOMALI 0x77 # endif # ifndef LANG_SORBIAN # define LANG_SORBIAN 0x2e # endif # ifndef LANG_SUTU # define LANG_SUTU 0x30 # endif # ifndef LANG_SWAHILI # define LANG_SWAHILI 0x41 # endif # ifndef LANG_SYRIAC # define LANG_SYRIAC 0x5a # endif # ifndef LANG_TAGALOG # define LANG_TAGALOG 0x64 # endif # ifndef LANG_TAJIK # define LANG_TAJIK 0x28 # endif # ifndef LANG_TAMAZIGHT # define LANG_TAMAZIGHT 0x5f # endif # ifndef LANG_TAMIL # define LANG_TAMIL 0x49 # endif # ifndef LANG_TATAR # define LANG_TATAR 0x44 # endif # ifndef LANG_TELUGU # define LANG_TELUGU 0x4a # endif # ifndef LANG_THAI # define LANG_THAI 0x1e # endif # ifndef LANG_TIBETAN # define LANG_TIBETAN 0x51 # endif # ifndef LANG_TIGRINYA # define LANG_TIGRINYA 0x73 # endif # ifndef LANG_TSONGA # define LANG_TSONGA 0x31 # endif # ifndef LANG_TSWANA # define LANG_TSWANA 0x32 # endif # ifndef LANG_TURKMEN # define LANG_TURKMEN 0x42 # endif # ifndef LANG_UKRAINIAN # define LANG_UKRAINIAN 0x22 # endif # ifndef LANG_URDU # define LANG_URDU 0x20 # endif # ifndef LANG_UZBEK # define LANG_UZBEK 0x43 # endif # ifndef LANG_VENDA # define LANG_VENDA 0x33 # endif # ifndef LANG_VIETNAMESE # define LANG_VIETNAMESE 0x2a # endif # ifndef LANG_WELSH # define LANG_WELSH 0x52 # endif # ifndef LANG_XHOSA # define LANG_XHOSA 0x34 # endif # ifndef LANG_YI # define LANG_YI 0x78 # endif # ifndef LANG_YIDDISH # define LANG_YIDDISH 0x3d # endif # ifndef LANG_YORUBA # define LANG_YORUBA 0x6a # endif # ifndef LANG_ZULU # define LANG_ZULU 0x35 # endif # ifndef SUBLANG_ARABIC_SAUDI_ARABIA # define SUBLANG_ARABIC_SAUDI_ARABIA 0x01 # endif # ifndef SUBLANG_ARABIC_IRAQ # define SUBLANG_ARABIC_IRAQ 0x02 # endif # ifndef SUBLANG_ARABIC_EGYPT # define SUBLANG_ARABIC_EGYPT 0x03 # endif # ifndef SUBLANG_ARABIC_LIBYA # define SUBLANG_ARABIC_LIBYA 0x04 # endif # ifndef SUBLANG_ARABIC_ALGERIA # define SUBLANG_ARABIC_ALGERIA 0x05 # endif # ifndef SUBLANG_ARABIC_MOROCCO # define SUBLANG_ARABIC_MOROCCO 0x06 # endif # ifndef SUBLANG_ARABIC_TUNISIA # define SUBLANG_ARABIC_TUNISIA 0x07 # endif # ifndef SUBLANG_ARABIC_OMAN # define SUBLANG_ARABIC_OMAN 0x08 # endif # ifndef SUBLANG_ARABIC_YEMEN # define SUBLANG_ARABIC_YEMEN 0x09 # endif # ifndef SUBLANG_ARABIC_SYRIA # define SUBLANG_ARABIC_SYRIA 0x0a # endif # ifndef SUBLANG_ARABIC_JORDAN # define SUBLANG_ARABIC_JORDAN 0x0b # endif # ifndef SUBLANG_ARABIC_LEBANON # define SUBLANG_ARABIC_LEBANON 0x0c # endif # ifndef SUBLANG_ARABIC_KUWAIT # define SUBLANG_ARABIC_KUWAIT 0x0d # endif # ifndef SUBLANG_ARABIC_UAE # define SUBLANG_ARABIC_UAE 0x0e # endif # ifndef SUBLANG_ARABIC_BAHRAIN # define SUBLANG_ARABIC_BAHRAIN 0x0f # endif # ifndef SUBLANG_ARABIC_QATAR # define SUBLANG_ARABIC_QATAR 0x10 # endif # ifndef SUBLANG_AZERI_LATIN # define SUBLANG_AZERI_LATIN 0x01 # endif # ifndef SUBLANG_AZERI_CYRILLIC # define SUBLANG_AZERI_CYRILLIC 0x02 # endif # ifndef SUBLANG_BENGALI_INDIA # define SUBLANG_BENGALI_INDIA 0x00 # endif # ifndef SUBLANG_BENGALI_BANGLADESH # define SUBLANG_BENGALI_BANGLADESH 0x01 # endif # ifndef SUBLANG_CHINESE_MACAU # define SUBLANG_CHINESE_MACAU 0x05 # endif # ifndef SUBLANG_ENGLISH_SOUTH_AFRICA # define SUBLANG_ENGLISH_SOUTH_AFRICA 0x07 # endif # ifndef SUBLANG_ENGLISH_JAMAICA # define SUBLANG_ENGLISH_JAMAICA 0x08 # endif # ifndef SUBLANG_ENGLISH_CARIBBEAN # define SUBLANG_ENGLISH_CARIBBEAN 0x09 # endif # ifndef SUBLANG_ENGLISH_BELIZE # define SUBLANG_ENGLISH_BELIZE 0x0a # endif # ifndef SUBLANG_ENGLISH_TRINIDAD # define SUBLANG_ENGLISH_TRINIDAD 0x0b # endif # ifndef SUBLANG_ENGLISH_ZIMBABWE # define SUBLANG_ENGLISH_ZIMBABWE 0x0c # endif # ifndef SUBLANG_ENGLISH_PHILIPPINES # define SUBLANG_ENGLISH_PHILIPPINES 0x0d # endif # ifndef SUBLANG_ENGLISH_INDONESIA # define SUBLANG_ENGLISH_INDONESIA 0x0e # endif # ifndef SUBLANG_ENGLISH_HONGKONG # define SUBLANG_ENGLISH_HONGKONG 0x0f # endif # ifndef SUBLANG_ENGLISH_INDIA # define SUBLANG_ENGLISH_INDIA 0x10 # endif # ifndef SUBLANG_ENGLISH_MALAYSIA # define SUBLANG_ENGLISH_MALAYSIA 0x11 # endif # ifndef SUBLANG_ENGLISH_SINGAPORE # define SUBLANG_ENGLISH_SINGAPORE 0x12 # endif # ifndef SUBLANG_FRENCH_LUXEMBOURG # define SUBLANG_FRENCH_LUXEMBOURG 0x05 # endif # ifndef SUBLANG_FRENCH_MONACO # define SUBLANG_FRENCH_MONACO 0x06 # endif # ifndef SUBLANG_FRENCH_WESTINDIES # define SUBLANG_FRENCH_WESTINDIES 0x07 # endif # ifndef SUBLANG_FRENCH_REUNION # define SUBLANG_FRENCH_REUNION 0x08 # endif # ifndef SUBLANG_FRENCH_CONGO # define SUBLANG_FRENCH_CONGO 0x09 # endif # ifndef SUBLANG_FRENCH_SENEGAL # define SUBLANG_FRENCH_SENEGAL 0x0a # endif # ifndef SUBLANG_FRENCH_CAMEROON # define SUBLANG_FRENCH_CAMEROON 0x0b # endif # ifndef SUBLANG_FRENCH_COTEDIVOIRE # define SUBLANG_FRENCH_COTEDIVOIRE 0x0c # endif # ifndef SUBLANG_FRENCH_MALI # define SUBLANG_FRENCH_MALI 0x0d # endif # ifndef SUBLANG_FRENCH_MOROCCO # define SUBLANG_FRENCH_MOROCCO 0x0e # endif # ifndef SUBLANG_FRENCH_HAITI # define SUBLANG_FRENCH_HAITI 0x0f # endif # ifndef SUBLANG_GERMAN_LUXEMBOURG # define SUBLANG_GERMAN_LUXEMBOURG 0x04 # endif # ifndef SUBLANG_GERMAN_LIECHTENSTEIN # define SUBLANG_GERMAN_LIECHTENSTEIN 0x05 # endif # ifndef SUBLANG_KASHMIRI_INDIA # define SUBLANG_KASHMIRI_INDIA 0x02 # endif # ifndef SUBLANG_MALAY_MALAYSIA # define SUBLANG_MALAY_MALAYSIA 0x01 # endif # ifndef SUBLANG_MALAY_BRUNEI_DARUSSALAM # define SUBLANG_MALAY_BRUNEI_DARUSSALAM 0x02 # endif # ifndef SUBLANG_NEPALI_INDIA # define SUBLANG_NEPALI_INDIA 0x02 # endif # ifndef SUBLANG_PUNJABI_INDIA # define SUBLANG_PUNJABI_INDIA 0x00 # endif # ifndef SUBLANG_PUNJABI_PAKISTAN # define SUBLANG_PUNJABI_PAKISTAN 0x01 # endif # ifndef SUBLANG_ROMANIAN_ROMANIA # define SUBLANG_ROMANIAN_ROMANIA 0x00 # endif # ifndef SUBLANG_ROMANIAN_MOLDOVA # define SUBLANG_ROMANIAN_MOLDOVA 0x01 # endif # ifndef SUBLANG_SERBIAN_LATIN # define SUBLANG_SERBIAN_LATIN 0x02 # endif # ifndef SUBLANG_SERBIAN_CYRILLIC # define SUBLANG_SERBIAN_CYRILLIC 0x03 # endif # ifndef SUBLANG_SINDHI_INDIA # define SUBLANG_SINDHI_INDIA 0x00 # endif # ifndef SUBLANG_SINDHI_PAKISTAN # define SUBLANG_SINDHI_PAKISTAN 0x01 # endif # ifndef SUBLANG_SPANISH_GUATEMALA # define SUBLANG_SPANISH_GUATEMALA 0x04 # endif # ifndef SUBLANG_SPANISH_COSTA_RICA # define SUBLANG_SPANISH_COSTA_RICA 0x05 # endif # ifndef SUBLANG_SPANISH_PANAMA # define SUBLANG_SPANISH_PANAMA 0x06 # endif # ifndef SUBLANG_SPANISH_DOMINICAN_REPUBLIC # define SUBLANG_SPANISH_DOMINICAN_REPUBLIC 0x07 # endif # ifndef SUBLANG_SPANISH_VENEZUELA # define SUBLANG_SPANISH_VENEZUELA 0x08 # endif # ifndef SUBLANG_SPANISH_COLOMBIA # define SUBLANG_SPANISH_COLOMBIA 0x09 # endif # ifndef SUBLANG_SPANISH_PERU # define SUBLANG_SPANISH_PERU 0x0a # endif # ifndef SUBLANG_SPANISH_ARGENTINA # define SUBLANG_SPANISH_ARGENTINA 0x0b # endif # ifndef SUBLANG_SPANISH_ECUADOR # define SUBLANG_SPANISH_ECUADOR 0x0c # endif # ifndef SUBLANG_SPANISH_CHILE # define SUBLANG_SPANISH_CHILE 0x0d # endif # ifndef SUBLANG_SPANISH_URUGUAY # define SUBLANG_SPANISH_URUGUAY 0x0e # endif # ifndef SUBLANG_SPANISH_PARAGUAY # define SUBLANG_SPANISH_PARAGUAY 0x0f # endif # ifndef SUBLANG_SPANISH_BOLIVIA # define SUBLANG_SPANISH_BOLIVIA 0x10 # endif # ifndef SUBLANG_SPANISH_EL_SALVADOR # define SUBLANG_SPANISH_EL_SALVADOR 0x11 # endif # ifndef SUBLANG_SPANISH_HONDURAS # define SUBLANG_SPANISH_HONDURAS 0x12 # endif # ifndef SUBLANG_SPANISH_NICARAGUA # define SUBLANG_SPANISH_NICARAGUA 0x13 # endif # ifndef SUBLANG_SPANISH_PUERTO_RICO # define SUBLANG_SPANISH_PUERTO_RICO 0x14 # endif # ifndef SUBLANG_SWEDISH_FINLAND # define SUBLANG_SWEDISH_FINLAND 0x02 # endif # ifndef SUBLANG_TAMAZIGHT_ARABIC # define SUBLANG_TAMAZIGHT_ARABIC 0x01 # endif # ifndef SUBLANG_TAMAZIGHT_LATIN # define SUBLANG_TAMAZIGHT_LATIN 0x02 # endif # ifndef SUBLANG_TIGRINYA_ETHIOPIA # define SUBLANG_TIGRINYA_ETHIOPIA 0x00 # endif # ifndef SUBLANG_TIGRINYA_ERITREA # define SUBLANG_TIGRINYA_ERITREA 0x01 # endif # ifndef SUBLANG_URDU_PAKISTAN # define SUBLANG_URDU_PAKISTAN 0x01 # endif # ifndef SUBLANG_URDU_INDIA # define SUBLANG_URDU_INDIA 0x02 # endif # ifndef SUBLANG_UZBEK_LATIN # define SUBLANG_UZBEK_LATIN 0x01 # endif # ifndef SUBLANG_UZBEK_CYRILLIC # define SUBLANG_UZBEK_CYRILLIC 0x02 # endif #endif # if HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE /* MacOS X 10.2 or newer */ /* Canonicalize a MacOS X locale name to a Unix locale name. NAME is a sufficiently large buffer. On input, it contains the MacOS X locale name. On output, it contains the Unix locale name. */ void _nl_locale_name_canonicalize (char *name) { /* This conversion is based on a posting by Deborah GoldSmith on 2005-03-08, http://lists.apple.com/archives/carbon-dev/2005/Mar/msg00293.html */ /* Convert legacy (NeXTstep inherited) English names to Unix (ISO 639 and ISO 3166) names. Prior to MacOS X 10.3, there is no API for doing this. Therefore we do it ourselves, using a table based on the results of the MacOS X 10.3.8 function CFLocaleCreateCanonicalLocaleIdentifierFromString(). */ typedef struct { const char legacy[21+1]; const char unixy[5+1]; } legacy_entry; static const legacy_entry legacy_table[] = { { "Afrikaans", "af" }, { "Albanian", "sq" }, { "Amharic", "am" }, { "Arabic", "ar" }, { "Armenian", "hy" }, { "Assamese", "as" }, { "Aymara", "ay" }, { "Azerbaijani", "az" }, { "Basque", "eu" }, { "Belarusian", "be" }, { "Belorussian", "be" }, { "Bengali", "bn" }, { "Brazilian Portugese", "pt_BR" }, { "Brazilian Portuguese", "pt_BR" }, { "Breton", "br" }, { "Bulgarian", "bg" }, { "Burmese", "my" }, { "Byelorussian", "be" }, { "Catalan", "ca" }, { "Chewa", "ny" }, { "Chichewa", "ny" }, { "Chinese", "zh" }, { "Chinese, Simplified", "zh_CN" }, { "Chinese, Traditional", "zh_TW" }, { "Chinese, Tradtional", "zh_TW" }, { "Croatian", "hr" }, { "Czech", "cs" }, { "Danish", "da" }, { "Dutch", "nl" }, { "Dzongkha", "dz" }, { "English", "en" }, { "Esperanto", "eo" }, { "Estonian", "et" }, { "Faroese", "fo" }, { "Farsi", "fa" }, { "Finnish", "fi" }, { "Flemish", "nl_BE" }, { "French", "fr" }, { "Galician", "gl" }, { "Gallegan", "gl" }, { "Georgian", "ka" }, { "German", "de" }, { "Greek", "el" }, { "Greenlandic", "kl" }, { "Guarani", "gn" }, { "Gujarati", "gu" }, { "Hawaiian", "haw" }, /* Yes, "haw", not "cpe". */ { "Hebrew", "he" }, { "Hindi", "hi" }, { "Hungarian", "hu" }, { "Icelandic", "is" }, { "Indonesian", "id" }, { "Inuktitut", "iu" }, { "Irish", "ga" }, { "Italian", "it" }, { "Japanese", "ja" }, { "Javanese", "jv" }, { "Kalaallisut", "kl" }, { "Kannada", "kn" }, { "Kashmiri", "ks" }, { "Kazakh", "kk" }, { "Khmer", "km" }, { "Kinyarwanda", "rw" }, { "Kirghiz", "ky" }, { "Korean", "ko" }, { "Kurdish", "ku" }, { "Latin", "la" }, { "Latvian", "lv" }, { "Lithuanian", "lt" }, { "Macedonian", "mk" }, { "Malagasy", "mg" }, { "Malay", "ms" }, { "Malayalam", "ml" }, { "Maltese", "mt" }, { "Manx", "gv" }, { "Marathi", "mr" }, { "Moldavian", "mo" }, { "Mongolian", "mn" }, { "Nepali", "ne" }, { "Norwegian", "nb" }, /* Yes, "nb", not the obsolete "no". */ { "Nyanja", "ny" }, { "Nynorsk", "nn" }, { "Oriya", "or" }, { "Oromo", "om" }, { "Panjabi", "pa" }, { "Pashto", "ps" }, { "Persian", "fa" }, { "Polish", "pl" }, { "Portuguese", "pt" }, { "Portuguese, Brazilian", "pt_BR" }, { "Punjabi", "pa" }, { "Pushto", "ps" }, { "Quechua", "qu" }, { "Romanian", "ro" }, { "Ruanda", "rw" }, { "Rundi", "rn" }, { "Russian", "ru" }, { "Sami", "se_NO" }, /* Not just "se". */ { "Sanskrit", "sa" }, { "Scottish", "gd" }, { "Serbian", "sr" }, { "Simplified Chinese", "zh_CN" }, { "Sindhi", "sd" }, { "Sinhalese", "si" }, { "Slovak", "sk" }, { "Slovenian", "sl" }, { "Somali", "so" }, { "Spanish", "es" }, { "Sundanese", "su" }, { "Swahili", "sw" }, { "Swedish", "sv" }, { "Tagalog", "tl" }, { "Tajik", "tg" }, { "Tajiki", "tg" }, { "Tamil", "ta" }, { "Tatar", "tt" }, { "Telugu", "te" }, { "Thai", "th" }, { "Tibetan", "bo" }, { "Tigrinya", "ti" }, { "Tongan", "to" }, { "Traditional Chinese", "zh_TW" }, { "Turkish", "tr" }, { "Turkmen", "tk" }, { "Uighur", "ug" }, { "Ukrainian", "uk" }, { "Urdu", "ur" }, { "Uzbek", "uz" }, { "Vietnamese", "vi" }, { "Welsh", "cy" }, { "Yiddish", "yi" } }; /* Convert new-style locale names with language tags (ISO 639 and ISO 15924) to Unix (ISO 639 and ISO 3166) names. */ typedef struct { const char langtag[7+1]; const char unixy[12+1]; } langtag_entry; static const langtag_entry langtag_table[] = { /* MacOS X has "az-Arab", "az-Cyrl", "az-Latn". The default script for az on Unix is Latin. */ { "az-Latn", "az" }, /* MacOS X has "ga-dots". Does not yet exist on Unix. */ { "ga-dots", "ga" }, /* MacOS X has "kk-Cyrl". Does not yet exist on Unix. */ /* MacOS X has "mn-Cyrl", "mn-Mong". The default script for mn on Unix is Cyrillic. */ { "mn-Cyrl", "mn" }, /* MacOS X has "ms-Arab", "ms-Latn". The default script for ms on Unix is Latin. */ { "ms-Latn", "ms" }, /* MacOS X has "tg-Cyrl". The default script for tg on Unix is Cyrillic. */ { "tg-Cyrl", "tg" }, /* MacOS X has "tk-Cyrl". Does not yet exist on Unix. */ /* MacOS X has "tt-Cyrl". The default script for tt on Unix is Cyrillic. */ { "tt-Cyrl", "tt" }, /* MacOS X has "zh-Hans", "zh-Hant". Country codes are used to distinguish these on Unix. */ { "zh-Hans", "zh_CN" }, { "zh-Hant", "zh_TW" } }; /* Convert script names (ISO 15924) to Unix conventions. See http://www.unicode.org/iso15924/iso15924-codes.html */ typedef struct { const char script[4+1]; const char unixy[9+1]; } script_entry; static const script_entry script_table[] = { { "Arab", "arabic" }, { "Cyrl", "cyrillic" }, { "Mong", "mongolian" } }; /* Step 1: Convert using legacy_table. */ if (name[0] >= 'A' && name[0] <= 'Z') { unsigned int i1, i2; i1 = 0; i2 = sizeof (legacy_table) / sizeof (legacy_entry); while (i2 - i1 > 1) { /* At this point we know that if name occurs in legacy_table, its index must be >= i1 and < i2. */ unsigned int i = (i1 + i2) >> 1; const legacy_entry *p = &legacy_table[i]; if (strcmp (name, p->legacy) < 0) i2 = i; else i1 = i; } if (strcmp (name, legacy_table[i1].legacy) == 0) { strcpy (name, legacy_table[i1].unixy); return; } } /* Step 2: Convert using langtag_table and script_table. */ if (strlen (name) == 7 && name[2] == '-') { unsigned int i1, i2; i1 = 0; i2 = sizeof (langtag_table) / sizeof (langtag_entry); while (i2 - i1 > 1) { /* At this point we know that if name occurs in langtag_table, its index must be >= i1 and < i2. */ unsigned int i = (i1 + i2) >> 1; const langtag_entry *p = &langtag_table[i]; if (strcmp (name, p->langtag) < 0) i2 = i; else i1 = i; } if (strcmp (name, langtag_table[i1].langtag) == 0) { strcpy (name, langtag_table[i1].unixy); return; } i1 = 0; i2 = sizeof (script_table) / sizeof (script_entry); while (i2 - i1 > 1) { /* At this point we know that if (name + 3) occurs in script_table, its index must be >= i1 and < i2. */ unsigned int i = (i1 + i2) >> 1; const script_entry *p = &script_table[i]; if (strcmp (name + 3, p->script) < 0) i2 = i; else i1 = i; } if (strcmp (name + 3, script_table[i1].script) == 0) { name[2] = '@'; strcpy (name + 3, script_table[i1].unixy); return; } } /* Step 3: Convert new-style dash to Unix underscore. */ { char *p; for (p = name; *p != '\0'; p++) if (*p == '-') *p = '_'; } } #endif /* XPG3 defines the result of 'setlocale (category, NULL)' as: "Directs 'setlocale()' to query 'category' and return the current setting of 'local'." However it does not specify the exact format. Neither do SUSV2 and ISO C 99. So we can use this feature only on selected systems (e.g. those using GNU C Library). */ #if defined _LIBC || (defined __GLIBC__ && __GLIBC__ >= 2) # define HAVE_LOCALE_NULL #endif /* Determine the current locale's name, and canonicalize it into XPG syntax language[_territory][.codeset][@modifier] The codeset part in the result is not reliable; the locale_charset() should be used for codeset information instead. The result must not be freed; it is statically allocated. */ const char * _nl_locale_name_posix (int category, const char *categoryname) { /* Use the POSIX methods of looking to 'LC_ALL', 'LC_xxx', and 'LANG'. On some systems this can be done by the 'setlocale' function itself. */ #if defined HAVE_SETLOCALE && defined HAVE_LC_MESSAGES && defined HAVE_LOCALE_NULL return setlocale (category, NULL); #else const char *retval; /* Setting of LC_ALL overrides all other. */ retval = getenv ("LC_ALL"); if (retval != NULL && retval[0] != '\0') return retval; /* Next comes the name of the desired category. */ retval = getenv (categoryname); if (retval != NULL && retval[0] != '\0') return retval; /* Last possibility is the LANG environment variable. */ retval = getenv ("LANG"); if (retval != NULL && retval[0] != '\0') return retval; return NULL; #endif } const char * _nl_locale_name_default (void) { /* POSIX:2001 says: "All implementations shall define a locale as the default locale, to be invoked when no environment variables are set, or set to the empty string. This default locale can be the POSIX locale or any other implementation-defined locale. Some implementations may provide facilities for local installation administrators to set the default locale, customizing it for each location. POSIX:2001 does not require such a facility. */ #if !(HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE || defined(WIN32_NATIVE)) /* The system does not have a way of setting the locale, other than the POSIX specified environment variables. We use C as default locale. */ return "C"; #else /* Return an XPG style locale name language[_territory][@modifier]. Don't even bother determining the codeset; it's not useful in this context, because message catalogs are not specific to a single codeset. */ # if HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE /* MacOS X 10.2 or newer */ { /* Cache the locale name, since CoreFoundation calls are expensive. */ static const char *cached_localename; if (cached_localename == NULL) { char namebuf[256]; # if HAVE_CFLOCALECOPYCURRENT /* MacOS X 10.3 or newer */ CFLocaleRef locale = CFLocaleCopyCurrent (); CFStringRef name = CFLocaleGetIdentifier (locale); if (CFStringGetCString (name, namebuf, sizeof(namebuf), kCFStringEncodingASCII)) { _nl_locale_name_canonicalize (namebuf); cached_localename = strdup (namebuf); } CFRelease (locale); # elif HAVE_CFPREFERENCESCOPYAPPVALUE /* MacOS X 10.2 or newer */ CFTypeRef value = CFPreferencesCopyAppValue (CFSTR ("AppleLocale"), kCFPreferencesCurrentApplication); if (value != NULL && CFGetTypeID (value) == CFStringGetTypeID () && CFStringGetCString ((CFStringRef)value, namebuf, sizeof(namebuf), kCFStringEncodingASCII)) { _nl_locale_name_canonicalize (namebuf); cached_localename = strdup (namebuf); } # endif if (cached_localename == NULL) cached_localename = "C"; } return cached_localename; } # endif # if defined(WIN32_NATIVE) /* WIN32, not Cygwin */ { LCID lcid; LANGID langid; int primary, sub; /* Use native Win32 API locale ID. */ lcid = GetThreadLocale (); /* Strip off the sorting rules, keep only the language part. */ langid = LANGIDFROMLCID (lcid); /* Split into language and territory part. */ primary = PRIMARYLANGID (langid); sub = SUBLANGID (langid); /* Dispatch on language. See also http://www.unicode.org/unicode/onlinedat/languages.html . For details about languages, see http://www.ethnologue.com/ . */ switch (primary) { case LANG_AFRIKAANS: return "af_ZA"; case LANG_ALBANIAN: return "sq_AL"; case LANG_AMHARIC: return "am_ET"; case LANG_ARABIC: switch (sub) { case SUBLANG_ARABIC_SAUDI_ARABIA: return "ar_SA"; case SUBLANG_ARABIC_IRAQ: return "ar_IQ"; case SUBLANG_ARABIC_EGYPT: return "ar_EG"; case SUBLANG_ARABIC_LIBYA: return "ar_LY"; case SUBLANG_ARABIC_ALGERIA: return "ar_DZ"; case SUBLANG_ARABIC_MOROCCO: return "ar_MA"; case SUBLANG_ARABIC_TUNISIA: return "ar_TN"; case SUBLANG_ARABIC_OMAN: return "ar_OM"; case SUBLANG_ARABIC_YEMEN: return "ar_YE"; case SUBLANG_ARABIC_SYRIA: return "ar_SY"; case SUBLANG_ARABIC_JORDAN: return "ar_JO"; case SUBLANG_ARABIC_LEBANON: return "ar_LB"; case SUBLANG_ARABIC_KUWAIT: return "ar_KW"; case SUBLANG_ARABIC_UAE: return "ar_AE"; case SUBLANG_ARABIC_BAHRAIN: return "ar_BH"; case SUBLANG_ARABIC_QATAR: return "ar_QA"; } return "ar"; case LANG_ARMENIAN: return "hy_AM"; case LANG_ASSAMESE: return "as_IN"; case LANG_AZERI: switch (sub) { /* FIXME: Adjust this when Azerbaijani locales appear on Unix. */ case SUBLANG_AZERI_LATIN: return "az_AZ@latin"; case SUBLANG_AZERI_CYRILLIC: return "az_AZ@cyrillic"; } return "az"; case LANG_BASQUE: switch (sub) { case SUBLANG_DEFAULT: return "eu_ES"; } return "eu"; /* Ambiguous: could be "eu_ES" or "eu_FR". */ case LANG_BELARUSIAN: return "be_BY"; case LANG_BENGALI: switch (sub) { case SUBLANG_BENGALI_INDIA: return "bn_IN"; case SUBLANG_BENGALI_BANGLADESH: return "bn_BD"; } return "bn"; case LANG_BULGARIAN: return "bg_BG"; case LANG_BURMESE: return "my_MM"; case LANG_CAMBODIAN: return "km_KH"; case LANG_CATALAN: return "ca_ES"; case LANG_CHEROKEE: return "chr_US"; case LANG_CHINESE: switch (sub) { case SUBLANG_CHINESE_TRADITIONAL: return "zh_TW"; case SUBLANG_CHINESE_SIMPLIFIED: return "zh_CN"; case SUBLANG_CHINESE_HONGKONG: return "zh_HK"; case SUBLANG_CHINESE_SINGAPORE: return "zh_SG"; case SUBLANG_CHINESE_MACAU: return "zh_MO"; } return "zh"; case LANG_CROATIAN: /* LANG_CROATIAN == LANG_SERBIAN * What used to be called Serbo-Croatian * should really now be two separate * languages because of political reasons. * (Says tml, who knows nothing about Serbian * or Croatian.) * (I can feel those flames coming already.) */ switch (sub) { case SUBLANG_DEFAULT: return "hr_HR"; case SUBLANG_SERBIAN_LATIN: return "sr_CS"; case SUBLANG_SERBIAN_CYRILLIC: return "sr_CS@cyrillic"; } return "hr"; case LANG_CZECH: return "cs_CZ"; case LANG_DANISH: return "da_DK"; case LANG_DIVEHI: return "dv_MV"; case LANG_DUTCH: switch (sub) { case SUBLANG_DUTCH: return "nl_NL"; case SUBLANG_DUTCH_BELGIAN: /* FLEMISH, VLAAMS */ return "nl_BE"; } return "nl"; case LANG_EDO: return "bin_NG"; case LANG_ENGLISH: switch (sub) { /* SUBLANG_ENGLISH_US == SUBLANG_DEFAULT. Heh. I thought * English was the language spoken in England. * Oh well. */ case SUBLANG_ENGLISH_US: return "en_US"; case SUBLANG_ENGLISH_UK: return "en_GB"; case SUBLANG_ENGLISH_AUS: return "en_AU"; case SUBLANG_ENGLISH_CAN: return "en_CA"; case SUBLANG_ENGLISH_NZ: return "en_NZ"; case SUBLANG_ENGLISH_EIRE: return "en_IE"; case SUBLANG_ENGLISH_SOUTH_AFRICA: return "en_ZA"; case SUBLANG_ENGLISH_JAMAICA: return "en_JM"; case SUBLANG_ENGLISH_CARIBBEAN: return "en_GD"; /* Grenada? */ case SUBLANG_ENGLISH_BELIZE: return "en_BZ"; case SUBLANG_ENGLISH_TRINIDAD: return "en_TT"; case SUBLANG_ENGLISH_ZIMBABWE: return "en_ZW"; case SUBLANG_ENGLISH_PHILIPPINES: return "en_PH"; case SUBLANG_ENGLISH_INDONESIA: return "en_ID"; case SUBLANG_ENGLISH_HONGKONG: return "en_HK"; case SUBLANG_ENGLISH_INDIA: return "en_IN"; case SUBLANG_ENGLISH_MALAYSIA: return "en_MY"; case SUBLANG_ENGLISH_SINGAPORE: return "en_SG"; } return "en"; case LANG_ESTONIAN: return "et_EE"; case LANG_FAEROESE: return "fo_FO"; case LANG_FARSI: return "fa_IR"; case LANG_FINNISH: return "fi_FI"; case LANG_FRENCH: switch (sub) { case SUBLANG_FRENCH: return "fr_FR"; case SUBLANG_FRENCH_BELGIAN: /* WALLOON */ return "fr_BE"; case SUBLANG_FRENCH_CANADIAN: return "fr_CA"; case SUBLANG_FRENCH_SWISS: return "fr_CH"; case SUBLANG_FRENCH_LUXEMBOURG: return "fr_LU"; case SUBLANG_FRENCH_MONACO: return "fr_MC"; case SUBLANG_FRENCH_WESTINDIES: return "fr"; /* Caribbean? */ case SUBLANG_FRENCH_REUNION: return "fr_RE"; case SUBLANG_FRENCH_CONGO: return "fr_CG"; case SUBLANG_FRENCH_SENEGAL: return "fr_SN"; case SUBLANG_FRENCH_CAMEROON: return "fr_CM"; case SUBLANG_FRENCH_COTEDIVOIRE: return "fr_CI"; case SUBLANG_FRENCH_MALI: return "fr_ML"; case SUBLANG_FRENCH_MOROCCO: return "fr_MA"; case SUBLANG_FRENCH_HAITI: return "fr_HT"; } return "fr"; case LANG_FRISIAN: return "fy_NL"; case LANG_FULFULDE: /* Spoken in Nigeria, Guinea, Senegal, Mali, Niger, Cameroon, Benin. */ return "ff_NG"; case LANG_GAELIC: switch (sub) { case 0x01: /* SCOTTISH */ return "gd_GB"; case 0x02: /* IRISH */ return "ga_IE"; } return "C"; case LANG_GALICIAN: return "gl_ES"; case LANG_GEORGIAN: return "ka_GE"; case LANG_GERMAN: switch (sub) { case SUBLANG_GERMAN: return "de_DE"; case SUBLANG_GERMAN_SWISS: return "de_CH"; case SUBLANG_GERMAN_AUSTRIAN: return "de_AT"; case SUBLANG_GERMAN_LUXEMBOURG: return "de_LU"; case SUBLANG_GERMAN_LIECHTENSTEIN: return "de_LI"; } return "de"; case LANG_GREEK: return "el_GR"; case LANG_GUARANI: return "gn_PY"; case LANG_GUJARATI: return "gu_IN"; case LANG_HAUSA: return "ha_NG"; case LANG_HAWAIIAN: /* FIXME: Do they mean Hawaiian ("haw_US", 1000 speakers) or Hawaii Creole English ("cpe_US", 600000 speakers)? */ return "cpe_US"; case LANG_HEBREW: return "he_IL"; case LANG_HINDI: return "hi_IN"; case LANG_HUNGARIAN: return "hu_HU"; case LANG_IBIBIO: return "nic_NG"; case LANG_ICELANDIC: return "is_IS"; case LANG_IGBO: return "ig_NG"; case LANG_INDONESIAN: return "id_ID"; case LANG_INUKTITUT: return "iu_CA"; case LANG_ITALIAN: switch (sub) { case SUBLANG_ITALIAN: return "it_IT"; case SUBLANG_ITALIAN_SWISS: return "it_CH"; } return "it"; case LANG_JAPANESE: return "ja_JP"; case LANG_KANNADA: return "kn_IN"; case LANG_KANURI: return "kr_NG"; case LANG_KASHMIRI: switch (sub) { case SUBLANG_DEFAULT: return "ks_PK"; case SUBLANG_KASHMIRI_INDIA: return "ks_IN"; } return "ks"; case LANG_KAZAK: return "kk_KZ"; case LANG_KONKANI: /* FIXME: Adjust this when such locales appear on Unix. */ return "kok_IN"; case LANG_KOREAN: return "ko_KR"; case LANG_KYRGYZ: return "ky_KG"; case LANG_LAO: return "lo_LA"; case LANG_LATIN: return "la_VA"; case LANG_LATVIAN: return "lv_LV"; case LANG_LITHUANIAN: return "lt_LT"; case LANG_MACEDONIAN: return "mk_MK"; case LANG_MALAY: switch (sub) { case SUBLANG_MALAY_MALAYSIA: return "ms_MY"; case SUBLANG_MALAY_BRUNEI_DARUSSALAM: return "ms_BN"; } return "ms"; case LANG_MALAYALAM: return "ml_IN"; case LANG_MALTESE: return "mt_MT"; case LANG_MANIPURI: /* FIXME: Adjust this when such locales appear on Unix. */ return "mni_IN"; case LANG_MARATHI: return "mr_IN"; case LANG_MONGOLIAN: switch (sub) { case SUBLANG_DEFAULT: return "mn_MN"; } return "mn"; /* Ambiguous: could be "mn_CN" or "mn_MN". */ case LANG_NEPALI: switch (sub) { case SUBLANG_DEFAULT: return "ne_NP"; case SUBLANG_NEPALI_INDIA: return "ne_IN"; } return "ne"; case LANG_NORWEGIAN: switch (sub) { case SUBLANG_NORWEGIAN_BOKMAL: return "nb_NO"; case SUBLANG_NORWEGIAN_NYNORSK: return "nn_NO"; } return "no"; case LANG_ORIYA: return "or_IN"; case LANG_OROMO: return "om_ET"; case LANG_PAPIAMENTU: return "pap_AN"; case LANG_PASHTO: return "ps"; /* Ambiguous: could be "ps_PK" or "ps_AF". */ case LANG_POLISH: return "pl_PL"; case LANG_PORTUGUESE: switch (sub) { case SUBLANG_PORTUGUESE: return "pt_PT"; /* Hmm. SUBLANG_PORTUGUESE_BRAZILIAN == SUBLANG_DEFAULT. Same phenomenon as SUBLANG_ENGLISH_US == SUBLANG_DEFAULT. */ case SUBLANG_PORTUGUESE_BRAZILIAN: return "pt_BR"; } return "pt"; case LANG_PUNJABI: switch (sub) { case SUBLANG_PUNJABI_INDIA: return "pa_IN"; /* Gurmukhi script */ case SUBLANG_PUNJABI_PAKISTAN: return "pa_PK"; /* Arabic script */ } return "pa"; case LANG_RHAETO_ROMANCE: return "rm_CH"; case LANG_ROMANIAN: switch (sub) { case SUBLANG_ROMANIAN_ROMANIA: return "ro_RO"; case SUBLANG_ROMANIAN_MOLDOVA: return "ro_MD"; } return "ro"; case LANG_RUSSIAN: switch (sub) { case SUBLANG_DEFAULT: return "ru_RU"; } return "ru"; /* Ambiguous: could be "ru_RU" or "ru_UA" or "ru_MD". */ case LANG_SAAMI: /* actually Northern Sami */ return "se_NO"; case LANG_SANSKRIT: return "sa_IN"; case LANG_SINDHI: switch (sub) { case SUBLANG_SINDHI_INDIA: return "sd_IN"; case SUBLANG_SINDHI_PAKISTAN: return "sd_PK"; } return "sd"; case LANG_SINHALESE: return "si_LK"; case LANG_SLOVAK: return "sk_SK"; case LANG_SLOVENIAN: return "sl_SI"; case LANG_SOMALI: return "so_SO"; case LANG_SORBIAN: /* FIXME: Adjust this when such locales appear on Unix. */ return "wen_DE"; case LANG_SPANISH: switch (sub) { case SUBLANG_SPANISH: return "es_ES"; case SUBLANG_SPANISH_MEXICAN: return "es_MX"; case SUBLANG_SPANISH_MODERN: return "es_ES@modern"; /* not seen on Unix */ case SUBLANG_SPANISH_GUATEMALA: return "es_GT"; case SUBLANG_SPANISH_COSTA_RICA: return "es_CR"; case SUBLANG_SPANISH_PANAMA: return "es_PA"; case SUBLANG_SPANISH_DOMINICAN_REPUBLIC: return "es_DO"; case SUBLANG_SPANISH_VENEZUELA: return "es_VE"; case SUBLANG_SPANISH_COLOMBIA: return "es_CO"; case SUBLANG_SPANISH_PERU: return "es_PE"; case SUBLANG_SPANISH_ARGENTINA: return "es_AR"; case SUBLANG_SPANISH_ECUADOR: return "es_EC"; case SUBLANG_SPANISH_CHILE: return "es_CL"; case SUBLANG_SPANISH_URUGUAY: return "es_UY"; case SUBLANG_SPANISH_PARAGUAY: return "es_PY"; case SUBLANG_SPANISH_BOLIVIA: return "es_BO"; case SUBLANG_SPANISH_EL_SALVADOR: return "es_SV"; case SUBLANG_SPANISH_HONDURAS: return "es_HN"; case SUBLANG_SPANISH_NICARAGUA: return "es_NI"; case SUBLANG_SPANISH_PUERTO_RICO: return "es_PR"; } return "es"; case LANG_SUTU: return "bnt_TZ"; /* or "st_LS" or "nso_ZA"? */ case LANG_SWAHILI: return "sw_KE"; case LANG_SWEDISH: switch (sub) { case SUBLANG_DEFAULT: return "sv_SE"; case SUBLANG_SWEDISH_FINLAND: return "sv_FI"; } return "sv"; case LANG_SYRIAC: return "syr_TR"; /* An extinct language. */ case LANG_TAGALOG: return "tl_PH"; case LANG_TAJIK: return "tg_TJ"; case LANG_TAMAZIGHT: switch (sub) { /* FIXME: Adjust this when Tamazight locales appear on Unix. */ case SUBLANG_TAMAZIGHT_ARABIC: return "ber_MA@arabic"; case SUBLANG_TAMAZIGHT_LATIN: return "ber_MA@latin"; } return "ber_MA"; case LANG_TAMIL: switch (sub) { case SUBLANG_DEFAULT: return "ta_IN"; } return "ta"; /* Ambiguous: could be "ta_IN" or "ta_LK" or "ta_SG". */ case LANG_TATAR: return "tt_RU"; case LANG_TELUGU: return "te_IN"; case LANG_THAI: return "th_TH"; case LANG_TIBETAN: return "bo_CN"; case LANG_TIGRINYA: switch (sub) { case SUBLANG_TIGRINYA_ETHIOPIA: return "ti_ET"; case SUBLANG_TIGRINYA_ERITREA: return "ti_ER"; } return "ti"; case LANG_TSONGA: return "ts_ZA"; case LANG_TSWANA: return "tn_BW"; case LANG_TURKISH: return "tr_TR"; case LANG_TURKMEN: return "tk_TM"; case LANG_UKRAINIAN: return "uk_UA"; case LANG_URDU: switch (sub) { case SUBLANG_URDU_PAKISTAN: return "ur_PK"; case SUBLANG_URDU_INDIA: return "ur_IN"; } return "ur"; case LANG_UZBEK: switch (sub) { case SUBLANG_UZBEK_LATIN: return "uz_UZ"; case SUBLANG_UZBEK_CYRILLIC: return "uz_UZ@cyrillic"; } return "uz"; case LANG_VENDA: return "ve_ZA"; case LANG_VIETNAMESE: return "vi_VN"; case LANG_WELSH: return "cy_GB"; case LANG_XHOSA: return "xh_ZA"; case LANG_YI: return "sit_CN"; case LANG_YIDDISH: return "yi_IL"; case LANG_YORUBA: return "yo_NG"; case LANG_ZULU: return "zu_ZA"; default: return "C"; } } # endif #endif } const char * _nl_locale_name (int category, const char *categoryname) { const char *retval; retval = _nl_locale_name_posix (category, categoryname); if (retval != NULL) return retval; return _nl_locale_name_default (); } geda-gaf-1.8.2/intl/hash-string.c0000664000175000017500000000315112050467633013447 00000000000000/* Implements a string hashing function. Copyright (C) 1995, 1997, 1998, 2000, 2003 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifdef HAVE_CONFIG_H # include #endif /* Specification. */ #include "hash-string.h" /* Defines the so called `hashpjw' function by P.J. Weinberger [see Aho/Sethi/Ullman, COMPILERS: Principles, Techniques and Tools, 1986, 1987 Bell Telephone Laboratories, Inc.] */ unsigned long int __hash_string (const char *str_param) { unsigned long int hval, g; const char *str = str_param; /* Compute the hash value for the given string. */ hval = 0; while (*str != '\0') { hval <<= 4; hval += (unsigned char) *str++; g = hval & ((unsigned long int) 0xf << (HASHWORDBITS - 4)); if (g != 0) { hval ^= g >> (HASHWORDBITS - 8); hval ^= g; } } return hval; } geda-gaf-1.8.2/intl/locale.alias0000664000175000017500000000512612050467633013332 00000000000000# Locale name alias data base. # Copyright (C) 1996-2001,2003 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify it # under the terms of the GNU Library General Public License as published # by the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, # USA. # The format of this file is the same as for the corresponding file of # the X Window System, which normally can be found in # /usr/lib/X11/locale/locale.alias # A single line contains two fields: an alias and a substitution value. # All entries are case independent. # Note: This file is far from being complete. If you have a value for # your own site which you think might be useful for others too, share # it with the rest of us. Send it using the `glibcbug' script to # bugs@gnu.org. # Packages using this file: bokmal nb_NO.ISO-8859-1 bokml nb_NO.ISO-8859-1 catalan ca_ES.ISO-8859-1 croatian hr_HR.ISO-8859-2 czech cs_CZ.ISO-8859-2 danish da_DK.ISO-8859-1 dansk da_DK.ISO-8859-1 deutsch de_DE.ISO-8859-1 dutch nl_NL.ISO-8859-1 eesti et_EE.ISO-8859-1 estonian et_EE.ISO-8859-1 finnish fi_FI.ISO-8859-1 franais fr_FR.ISO-8859-1 french fr_FR.ISO-8859-1 galego gl_ES.ISO-8859-1 galician gl_ES.ISO-8859-1 german de_DE.ISO-8859-1 greek el_GR.ISO-8859-7 hebrew he_IL.ISO-8859-8 hrvatski hr_HR.ISO-8859-2 hungarian hu_HU.ISO-8859-2 icelandic is_IS.ISO-8859-1 italian it_IT.ISO-8859-1 japanese ja_JP.eucJP japanese.euc ja_JP.eucJP ja_JP ja_JP.eucJP ja_JP.ujis ja_JP.eucJP japanese.sjis ja_JP.SJIS korean ko_KR.eucKR korean.euc ko_KR.eucKR ko_KR ko_KR.eucKR lithuanian lt_LT.ISO-8859-13 no_NO nb_NO.ISO-8859-1 no_NO.ISO-8859-1 nb_NO.ISO-8859-1 norwegian nb_NO.ISO-8859-1 nynorsk nn_NO.ISO-8859-1 polish pl_PL.ISO-8859-2 portuguese pt_PT.ISO-8859-1 romanian ro_RO.ISO-8859-2 russian ru_RU.ISO-8859-5 slovak sk_SK.ISO-8859-2 slovene sl_SI.ISO-8859-2 slovenian sl_SI.ISO-8859-2 spanish es_ES.ISO-8859-1 swedish sv_SE.ISO-8859-1 thai th_TH.TIS-620 turkish tr_TR.ISO-8859-9 geda-gaf-1.8.2/intl/relocatable.h0000664000175000017500000000543212050467634013507 00000000000000/* Provide relocatable packages. Copyright (C) 2003, 2005 Free Software Foundation, Inc. Written by Bruno Haible , 2003. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _RELOCATABLE_H #define _RELOCATABLE_H #ifdef __cplusplus extern "C" { #endif /* This can be enabled through the configure --enable-relocatable option. */ #if ENABLE_RELOCATABLE /* When building a DLL, we must export some functions. Note that because this is a private .h file, we don't need to use __declspec(dllimport) in any case. */ #if HAVE_VISIBILITY && BUILDING_DLL # define RELOCATABLE_DLL_EXPORTED __attribute__((__visibility__("default"))) #elif defined _MSC_VER && BUILDING_DLL # define RELOCATABLE_DLL_EXPORTED __declspec(dllexport) #else # define RELOCATABLE_DLL_EXPORTED #endif /* Sets the original and the current installation prefix of the package. Relocation simply replaces a pathname starting with the original prefix by the corresponding pathname with the current prefix instead. Both prefixes should be directory names without trailing slash (i.e. use "" instead of "/"). */ extern RELOCATABLE_DLL_EXPORTED void set_relocation_prefix (const char *orig_prefix, const char *curr_prefix); /* Returns the pathname, relocated according to the current installation directory. */ extern const char * relocate (const char *pathname); /* Memory management: relocate() leaks memory, because it has to construct a fresh pathname. If this is a problem because your program calls relocate() frequently, think about caching the result. */ /* Convenience function: Computes the current installation prefix, based on the original installation prefix, the original installation directory of a particular file, and the current pathname of this file. Returns NULL upon failure. */ extern const char * compute_curr_prefix (const char *orig_installprefix, const char *orig_installdir, const char *curr_pathname); #else /* By default, we use the hardwired pathnames. */ #define relocate(pathname) (pathname) #endif #ifdef __cplusplus } #endif #endif /* _RELOCATABLE_H */ geda-gaf-1.8.2/intl/textdomain.c0000664000175000017500000001062712050467634013403 00000000000000/* Implementation of the textdomain(3) function. Copyright (C) 1995-1998, 2000-2003, 2005-2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifdef HAVE_CONFIG_H # include #endif #include #include #include "gettextP.h" #ifdef _LIBC # include #else # include "libgnuintl.h" #endif /* Handle multi-threaded applications. */ #ifdef _LIBC # include # define gl_rwlock_define __libc_rwlock_define # define gl_rwlock_wrlock __libc_rwlock_wrlock # define gl_rwlock_unlock __libc_rwlock_unlock #else # include "lock.h" #endif /* The internal variables in the standalone libintl.a must have different names than the internal variables in GNU libc, otherwise programs using libintl.a cannot be linked statically. */ #if !defined _LIBC # define _nl_default_default_domain libintl_nl_default_default_domain # define _nl_current_default_domain libintl_nl_current_default_domain #endif /* @@ end of prolog @@ */ /* Name of the default text domain. */ extern const char _nl_default_default_domain[] attribute_hidden; /* Default text domain in which entries for gettext(3) are to be found. */ extern const char *_nl_current_default_domain attribute_hidden; /* Names for the libintl functions are a problem. They must not clash with existing names and they should follow ANSI C. But this source code is also used in GNU C Library where the names have a __ prefix. So we have to make a difference here. */ #ifdef _LIBC # define TEXTDOMAIN __textdomain # ifndef strdup # define strdup(str) __strdup (str) # endif #else # define TEXTDOMAIN libintl_textdomain #endif /* Lock variable to protect the global data in the gettext implementation. */ gl_rwlock_define (extern, _nl_state_lock attribute_hidden) /* Set the current default message catalog to DOMAINNAME. If DOMAINNAME is null, return the current default. If DOMAINNAME is "", reset to the default of "messages". */ char * TEXTDOMAIN (const char *domainname) { char *new_domain; char *old_domain; /* A NULL pointer requests the current setting. */ if (domainname == NULL) return (char *) _nl_current_default_domain; gl_rwlock_wrlock (_nl_state_lock); old_domain = (char *) _nl_current_default_domain; /* If domain name is the null string set to default domain "messages". */ if (domainname[0] == '\0' || strcmp (domainname, _nl_default_default_domain) == 0) { _nl_current_default_domain = _nl_default_default_domain; new_domain = (char *) _nl_current_default_domain; } else if (strcmp (domainname, old_domain) == 0) /* This can happen and people will use it to signal that some environment variable changed. */ new_domain = old_domain; else { /* If the following malloc fails `_nl_current_default_domain' will be NULL. This value will be returned and so signals we are out of core. */ #if defined _LIBC || defined HAVE_STRDUP new_domain = strdup (domainname); #else size_t len = strlen (domainname) + 1; new_domain = (char *) malloc (len); if (new_domain != NULL) memcpy (new_domain, domainname, len); #endif if (new_domain != NULL) _nl_current_default_domain = new_domain; } /* We use this possibility to signal a change of the loaded catalogs since this is most likely the case and there is no other easy we to do it. Do it only when the call was successful. */ if (new_domain != NULL) { ++_nl_msg_cat_cntr; if (old_domain != new_domain && old_domain != _nl_default_default_domain) free (old_domain); } gl_rwlock_unlock (_nl_state_lock); return new_domain; } #ifdef _LIBC /* Alias for function name in GNU C Library. */ weak_alias (__textdomain, textdomain); #endif geda-gaf-1.8.2/intl/osdep.c0000664000175000017500000000174112050467633012335 00000000000000/* OS dependent parts of libintl. Copyright (C) 2001-2002, 2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #if defined __CYGWIN__ # include "intl-exports.c" #elif defined __EMX__ # include "os2compat.c" #else /* Avoid AIX compiler warning. */ typedef int dummy; #endif geda-gaf-1.8.2/Makefile.am0000664000175000017500000000511312220647257012143 00000000000000if ENABLE_GATTRIB GATTRIB_DIR=gattrib endif SUBDIRS = intl libgeda gschem ${GATTRIB_DIR} gsymcheck gnetlist utils symbols docs \ examples ACLOCAL_AMFLAGS = -I m4 # We need to ensure that `make distcheck' *doesn't* find a git # repository! # # We also should be able to successfully build & install without # groff. false=/bin/sh -c '! :' DISTCHECK_CONFIGURE_FLAGS = \ GIT="$(false)" \ GROFF="$(false)" \ --disable-update-xdg-database BUILT_SOURCES = version.h EXTRA_DIST = autogen.sh version.h version.h.in missing.h HACKING \ COPYING.LGPL # Generate version.h. This works by looking at any git repository that # is present in the source directory (detected at configure time). If # there is a git repository, the HEAD commitid is checked every time # the package is built to see if it has changed. If so, version.h is # regenerated. If there isn't a git repository, version.h is just # assumed to be present (since the generated version.h is distributed # in the source tarball). if HAVE_GIT_REPO version.h: stamp-git $(top_builddir)/configure $(srcdir)/version.h.in @if test ! -f version.h; then \ rm -f stamp-git; \ $(MAKE) $(AM_MAKEFLAGS) stamp-git; \ else :; fi @date_ver=$(DATE_VERSION); dotted_ver=$(DOTTED_VERSION); \ git_commit=`cd $(srcdir) && $(GIT) rev-parse HEAD`; \ git_ver=`cd $(srcdir) && $(GIT) describe HEAD`; \ sed -e"s:^.*\(PACKAGE_DATE_VERSION\).*$$:#define \1 \"$$date_ver\":" \ -e"s:^.*\(PACKAGE_DOTTED_VERSION\).*$$:#define \1 \"$$dotted_ver\":" \ -e"s:^.*\(PACKAGE_GIT_VERSION\).*$$:#define \1 \"$$git_ver\":" \ -e"s:^.*\(PACKAGE_GIT_COMMIT\).*$$:#define \1 \"$$git_commit\":" \ < $(srcdir)/version.h.in > version.h.new; \ if diff version.h version.h.new > /dev/null 2>&1; then \ echo "version.h is unchanged"; \ rm version.h.new; \ else \ echo "Recreating version.h"; \ mv version.h.new version.h; \ fi stamp-git: @last_version=`if test -f stamp-git; then cat stamp-git; else :; fi`; \ now_version=`cd $(srcdir) && $(GIT) rev-parse HEAD`; \ if test "X$$now_version" != "X$$last_version"; then \ echo $$now_version > stamp-git; \ echo "Now at git commit $$now_version..."; \ fi .PHONY: stamp-git endif HAVE_GIT_REPO doxygen: if ENABLE_DOXYGEN @for subdir in gattrib/docs gschem/docs gnetlist/docs \ libgeda/docs gsymcheck/docs utils/docs ; do \ (cd $$subdir; $(MAKE) doxygen) || exit 1; \ done else @echo 'configure was not run with the --enable-doxygen switch.' @echo 'The documentation cannot be built from the sources.' endif DISTCLEANFILES = stamp-git MAINTAINERCLEANFILES=Makefile.in aclocal.m4 config.h.in configure geda-gaf-1.8.2/examples/0000775000175000017500000000000012220655773012007 500000000000000geda-gaf-1.8.2/examples/Makefile.am0000664000175000017500000000075212050461155013755 00000000000000 SUBDIRS = gTAG lightning_detector RF_Amp TwoStageAmp exampledir = $(docdir)/examples/ example_DATA = README EXTRA_DIST = ChangeLog ChangeLog-1.0 $(example_DATA) if HAVE_GIT_REPO ChangeLog: $(top_builddir)/stamp-git (cd $(srcdir) && $(GIT) log --pretty=medium $(CHANGELOG_BASE).. -- .) > $@ endif HAVE_GIT_REPO MOSTLYCLEANFILES = *.log core FILE *~ CLEANFILES = *.log core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in ChangeLog geda-gaf-1.8.2/examples/ChangeLog-1.00000664000175000017500000001213512050461155013765 000000000000002007-05-25 Ales Hvezda * configure.ac: Updated version to 20070526 in prep for the next release. 2007-02-18 Stuart Brorson * TwoStageAmp/models/Makefile.am, TwoStageAmp/Makefile.am, TwoStageAmp/configure.ac: Fixed automake stuff so the 2N3904 model would be installed. 2007-02-16 Ales Hvezda * configure.ac: Bumped package version to 20070216. * RF_Amp/MSA-2643.sch, RF_Amp/Q1.sch, RF_Amp/Q2.sch, TwoStageAmp/TwoStageAmp.sch, gTAG/gTAG-jtagio.sch, gTAG/gTAG-psu.sch, gTAG/gTAG-ucont.sch, gTAG/gTAG.sch, lightning_detector/lightning.sch: Updated schematics to get rid of symbol warnings. 2007-2-10 Stuart Brorson * RF_Amp/MSA-2643.sch: Removed source attribute from transistors since spice-sdb didn't like hierarchy. 2007-2-10 Stuart Brorson * TwoStageAmp/: Various fixes to bit-rot problems. 2006-10-20 Ales Hvezda * configure.ac: Bumped package version to 20061020. 2006-09-24 Ales Hvezda * AUTHORS: Updated file pointing people at gschem's AUTHOR file as the complete list of authors. Merged all listed files in this file into gschem's file. 2006-09-06 Ales Hvezda * configure.ac: Updated program version to 20060906. 2006-08-30 Werner Hoch * configure.ac: fixed installation error. Install into docdir * */Makefile.am: changed for the installation 2006-08-21 Ales Hvezda * README: Updated the README a little to be ready for the next release. 2006-08-19 Ales Hvezda * configure.ac: Bumped version number to 20060821 in prep for the next gEDA/gaf release. 2006-01-16 Ales Hvezda * configure.ac: Bumped package version to 20060123 * README: Updated for the new year and release. 2005-08-19 Ales Hvezda * configure.ac: Bumped the package version to 20050820 which will be a real snapshot. 2005-08-14 Ales Hvezda * configure.ac: Updated package version to 20050814. This is a temporary version and not a real release number. 2005-03-08 Ales Hvezda * configure.ac: Bumped version to 20050313 2005-01-18 Stuart Brorson * RF_Amp/MSA-2643.sch: Added "source" attributes to Q1, Q2 to enable full use of hierarchy when examining schematic. * RF_Amp/gafrc: Added pointer to source-library for hierarchical schematic browsing support. 2004-12-28 Ales Hvezda * RF_Amp/gafrc TwoStageAmp/gafrc lightning_detector/gafrc: Added new rc to the directories and removed all other extra rc files 2004-12-27 Ales Hvezda * configure.ac: Updated version to 20041228 2004-07-03 Ales Hvezda * configure.ac: Updated version to 20040710 2004-01-11 Ales Hvezda * configure.ac: Updated version to 20040111 2003-12-31 Ales Hvezda * configure.ac: Bumped version to 20031231 2003-11-09 Ales Hvezda * install-sh missing mkinstalldirs: Removed these files from the CVS repository. * autogen.sh: Added new script to recreate all the necessary auto* files. 2003-10-18 Ales Hvezda * */*.sch: Updated all example schematics * */gschlasrc: Added in all subdirs * configure.ac: Updated version to something more recent, but this version is not an official release. 2003-10-04 Ales Hvezda * configure.ac: Updated version to something more recent, but this version is not an official release. 2003-08-31 Ales Hvezda * *.sch/*.sym: Updated all sch/sym files to 20030901 2003-08-24 Ales Hvezda * configure.ac: Added a configuration complete message just to be consistent. 2003-07-20 Ales Hvezda * configure.ac: Renamed from configure.in * configure.ac: Minor tweeks to get this file up to snuff. * *.in, *.h, etc: Removed a bunch of old unneeded auto* files. 2003-05-25 Ales Hvezda * lightning_detector/: Added sch/pcb example by Terry Porter. * RF_Amp/: Added hierarchical spice example by Stuart Brorson * TwoStageAmp/: Added another spice example by Stuart Brorson * Makefile.am, configure.in: Added above directories * Added a bunch of .cvsignore files 2003-05-22 Ales Hvezda * configure.in: Updated version 2003-02-20 Ales Hvezda (ahvezda@seul.org) * gTAG/commonrc: Changed how the current directory variable is set (used "'s instead of '). 2003-01-11 Ales Hvezda (ahvezda@seul.org) * Created configure.in and friends. Added all files into cvs. * Added gTAG to examples. * The files contained in this directory will be the example files for gEDA/gaf. geda-gaf-1.8.2/examples/README0000664000175000017500000000475012204066537012611 00000000000000 gEDA GPL Electronic Design Automation ------------------------------------------------------------------------------ README for examples This directory contains design examples done with gEDA/gaf. All designs in this examples directory are covered by the GPL or equivalent license. - Examples gTAG - USB to JTAG interface ----------------------------- Author: Stefan Petersen Copyright (C) 2001-2003 Stefan Petersen License: GPL gTAG is an interface to connect your USB port of computer to talk to your circuits which talks JTAG. See gTAG/README and gTAG/ChangeLog for more information. gTAG shows off how to do hierarchical schematics in gEDA/gaf. lightning_detector - A lightning detector ----------------------------- Author: Terry Porter Copyright (C) 2003 Terry Porter License: GPL This unit flashes a lamp, the brightness proportional to the range/power of lightning. lightning detector shows off how to use gEDA/gaf and PCB. Also includes the start of a bom creator which reads sch files directly. RF_Amp - schematics and associated materials for a SPICE model of Agilent's MSA-2643 bipolar amp. ----------------------------- Author: Stuart Brorson Copyright (C) 2003 Stuart Brorson This project exemplifies construction of a hierarchical SPICE simulation using gEDA. You may have edit some paths to get the examples to netlist. TwoStageAmp - A Two stage amplifier SPICE playpen ----------------------------- Author: Stuart Brorson Copyright (C) 2003 Stuart Brorson This example shows how to do gEDA SPICE netlisting with SPICE models, includes, and directives. You may have edit some paths to get the examples to netlist. - License gEDA/gaf (which includes libgeda, gschem, gnetlist, geda, setup, gsymcheck, gschcheck, gpcb, utils, docs, examples, all associated files, the component symbols, and all the file formats) is placed under the GNU Public License (GPL) version 2.0. See the various COPYING files for more information. Programs and associated files are: Copyright 1998-2006 by Ales Hvezda and the respective original authors (which are listed on the respective files) All designs are copyright their respective authors. - gEDA Internet resources Homepage: http://www.geda-project.org Mailing lists: http://wiki.geda-project.org/geda:mailinglists For any questions related to gEDA/gaf, please subscribe and post to the "geda-user" mailing list. geda-gaf-1.8.2/examples/Makefile.in0000664000175000017500000006134712220655721014000 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = examples DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ChangeLog \ README ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(exampledir)" DATA = $(example_DATA) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = gTAG lightning_detector RF_Amp TwoStageAmp exampledir = $(docdir)/examples/ example_DATA = README EXTRA_DIST = ChangeLog ChangeLog-1.0 $(example_DATA) MOSTLYCLEANFILES = *.log core FILE *~ CLEANFILES = *.log core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in ChangeLog all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu examples/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-exampleDATA: $(example_DATA) @$(NORMAL_INSTALL) @list='$(example_DATA)'; test -n "$(exampledir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(exampledir)'"; \ $(MKDIR_P) "$(DESTDIR)$(exampledir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(exampledir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(exampledir)" || exit $$?; \ done uninstall-exampleDATA: @$(NORMAL_UNINSTALL) @list='$(example_DATA)'; test -n "$(exampledir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(exampledir)'; $(am__uninstall_files_from_dir) # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile $(DATA) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(exampledir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-exampleDATA install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-exampleDATA .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic clean-libtool cscopelist-am ctags \ ctags-am distclean distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exampleDATA install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am uninstall-exampleDATA @HAVE_GIT_REPO_TRUE@ChangeLog: $(top_builddir)/stamp-git @HAVE_GIT_REPO_TRUE@ (cd $(srcdir) && $(GIT) log --pretty=medium $(CHANGELOG_BASE).. -- .) > $@ # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/examples/ChangeLog0000664000175000017500000004044112220655773013504 00000000000000commit f7fab3715f984c374f41d7c2d74fc2802bbb4e7a Author: Gareth Edwards Date: Wed Nov 14 22:58:12 2012 +0000 Replace references to geda.seul.org with up-to-date URLs. Update lots of links to seul.org to www.geda-project.org, wiki.geda-project.org, gedasymbols.org and www.gnu.org as appropriate. commit 11f91c04a33ed79eb4ed51f30027127ddc2d9bf4 Author: Peter TB Brett Date: Mon Dec 12 21:36:40 2011 +0000 examples: Update TwoStageAmp.sch Commit d5d1a98f0e95 removed special handling for attributes with the value "?" in the spice-sdb gnetlist backend. However, the TwoStageAmp example had an embedded copy of spice-directive-1.sym with a "file=?" attribute. Reported-by: Vladimir Zhbanov commit 0e506ebd5d5cc87a7f373b83b24f2ad3c90fd18b Author: Peter TB Brett Date: Mon Dec 12 14:13:22 2011 +0000 Remove per-tool INSTALL files. Only one top-level INSTALL file is needed, and that is provided by automake. commit 502ab80495c45e092eca6052edd6cf8e7ff55429 Merge: 27f7a52 e1c3ba4 Author: Peter TB Brett Date: Thu Jan 13 19:59:35 2011 +0000 Merge branch 'stable-1.6' Conflicts: NEWS libgeda/include/prototype_priv.h libgeda/src/gdk-pixbuf-hacks.c libgeda/src/o_basic.c libgeda/src/o_complex_basic.c utils/src/gsch2pcb.c commit 8a3a0bb070d1b288fceac2fcdd7b317a8f77a464 Author: Peter TB Brett Date: Fri Jan 7 22:00:09 2011 +0000 Update FSF address in copyright headers. The FSF have now moved to 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Our GPL and LPGL copyright headers need to updated to reflect this. Only files remaining with old address are wiki files (although the wiki has now been updated) and PostScript files. commit 70349cdffe0aa25b9da909b5cc03abe421cfe81c Author: Peter Clifton Date: Sat Oct 17 03:39:49 2009 +0100 examples: Use filled paths to make some symbols look nicer I've been using the lightning detector example to make screen-shots, so I'm committing the symbol changes I made for those. commit 98fc06c271432b9f59ca49865b8ca9dbe844b9de Author: Ales Hvezda Date: Sat Aug 8 00:44:40 2009 -0400 More Makefile.am cleanup Details on this commit: * Removed even more trace of the old prototype mechanism from the Makefiles. * Removed the cleanup of configure scripts which are no longer there (or for that matter were never in the same directory as some of these Makefiles). * Removal of some files from the *CLEANFILES rules which never existed. * Line length tweaks and fixes commit a4a8c19bb3389548d641a0874a77c77f623ad7a5 Author: Ales Hvezda Date: Fri Aug 7 23:02:01 2009 -0400 Makefile.am cleanup (removal of ChangeLog and Makefile.in files) Details on this commit: * Now that we are no longer storing machine generated ChangeLogs inside the git repository, make maintainer-clean should remove the machine generated ChangeLogs. This way nobody accidently edits the ChangeLog. Only 7 ChangeLogs are left after a make maintainer-clean (intl, po, and one toplevel ChangeLog). * Some directories were missing the removal of Makefile.in when make maintainer-clean is run. Only 3 Makefile.in files remain now after make maintainer-clean (only in the intl directories). * Removed $Id$ tags from some of the Makefiles since we are no longer using CVS. * Removed some unnecessary ChangeLogs from ever being created (from example/gTAG gschem/scripts, and symbol/font). Note 1: There are still some machine generated files still hanging around, but I'm going to leave those alone for now as the .gitignore mechanism properly masks those. Note 2: Made sure that all files that are to be removed in the *CLEANFILES lists comes before the #*# otherwise they will be ignored. commit 1a3b04db4b811a853b9d2d7c5c57038f2146f919 Author: Ales Hvezda Date: Fri Aug 7 21:21:22 2009 -0400 Added a bunch of files that should be included in any distribution The only file which I might want to not distribute is update-version.sh, which technically is a developer/maintainer only file, but for now I'll include it. Also libgeda/docs/images isn't integrated into the build properly yet, so it will not be in the distribution for now. commit fc2b205314545d92ea2a7e8f40a7a4c7d5af893d Author: Peter TB Brett Date: Thu Aug 6 17:15:29 2009 +0100 Don't store git-generated ChangeLog files in repository. Don't store ChangeLog files in the git repository and have to remember to update them each time a release is made. Instead, get `make dist' to create the ChangeLogs for you if a git repository is detected. Note: make distcheck does not pass in this commit. commit 77d96e9154d9cfc81b25353ef99b8f8f42999bfb Author: Peter TB Brett Date: Thu Aug 6 14:35:12 2009 +0100 Add top-level NEWS file. This contains important user-visible changes. It should be kept up-to-date, in order to make writing release notes easier. commit 433c672579aabb282999377139c9242b319ba044 Author: Peter TB Brett Date: Thu Aug 6 12:38:31 2009 +0100 Only need a single `AUTHORS' file. Move the gschem one to the toplevel (adding several missing names on the way), and remove most of the others. The `AUTHORS' files in the `symbols' and `utils' directories are retained, because they contain some useful information. Note: make distcheck does not pass in this commit. commit ed7134fd403b9f1dc0a75d50e4e7bcfb2fd95cb8 Author: Peter TB Brett Date: Thu Aug 6 11:19:57 2009 +0100 Only need one copy of GPLv2. Also, update to latest version of GPLv2 (from http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt). This corrects the FSF contact address, along with some minor formatting modernisations. Note: make distcheck does not pass in this commit. commit b3e125c3d814f1b4461a85ed2230aac517784477 Author: Peter TB Brett Date: Thu Aug 6 10:55:49 2009 +0100 Add examples to unified build system. Note: make distcheck does not pass in this commit. commit e55e9e247eb33c4a5be56687b4610c6649ef74d7 Author: Peter TB Brett Date: Tue Aug 4 22:06:16 2009 +0100 Remove existing build infrastructure. This simply strips out all configure, m4 and autogen scripts from the whole repository, including the toplevel Makefile. This commit does not compile (what a surprise)! commit 67aeb9b999d29080118a7af899ad1de362ccd2b8 Author: Peter Clifton Date: Mon Jun 8 23:31:22 2009 +0100 Fix autogen.sh scripts to look for AC_CONFIG_HEADER to run autoheader Since commit #9a7c363c572d32a30fa1522cd7d14b21c2958ca8, the configure scripts in gEDA use AC_CONFIG_HEADER, not AM_CONFIG_HEADER Fixes build problems noted by various users. Identified by Dan McMahill. commit ab590ab70cddfe6a0954d56a31c0ebd1f0bc7691 Author: Ales Hvezda Date: Sat Mar 28 15:55:19 2009 -0400 Updated ChangeLogs one more time for 1.5.2 commit 546d4dbe0124d3f9421116b9e5a8889cccf97b84 Author: Ales Hvezda Date: Sat Mar 28 15:22:19 2009 -0400 Updated all ChangeLogs Updated the ChangeLogs by running: ./update-changelogs.sh 1.0-20070526..master in the toplevel directory commit 859abe69912ba99ca27bb58c378284e9eec56259 Author: Ales Hvezda Date: Sat Mar 28 15:13:59 2009 -0400 Updated all versions to 1.5.2 20090328 36:0:0 Updated by running: ./update-versions.sh 1.5.2 20090328 36:0:0 commit df3e8c492a78348cd9e7862ef31ab51e2cbaa38b Author: Stuart Brorson Date: Sat Dec 27 15:04:50 2008 -0500 Remove hard-coded file path from example netlist. commit 19f1f215bfa62f164a8bbc4bdf6f7afd042a6107 Author: Peter Clifton Date: Tue Dec 23 00:29:29 2008 +0000 examples: Correct non unix file-endings on a few files commit 3c49636e1a9e9e703fab4c6aafc69affb4fd2bab Author: Ales Hvezda Date: Sun Dec 21 16:23:26 2008 -0500 Updated ChangeLogs one more time. commit 2f3e07a1fa7fd92ab163d2cd966efd98ab306512 Author: Ales Hvezda Date: Sun Dec 21 14:40:21 2008 -0500 Updated ChangeLogs again in prep for the 1.5.1 release commit 76d02f7f935d930d8093bd49b7eb0836d3b1aa6e Author: Ales Hvezda Date: Sun Dec 21 14:06:17 2008 -0500 Updated all ChangeLogs in prep for the 1.5.1 release. The update was done by running: ./update-changelogs.sh 1.0-20070526..master commit 680e08085d44c9876bdadef0ca7ef25b474c2006 Author: Ales Hvezda Date: Sun Dec 21 13:39:29 2008 -0500 Updated all versions to 1.5.1 20081221 35:0:0 Updated by running: ./update-versions.sh 1.5.1 20081221 35:0:0 commit 8479d01b6a4a819ae105659a9b9f1e6ab2d85136 Author: Ales Hvezda Date: Sun Jul 6 22:03:02 2008 -0400 Updated all ChangeLogs by running ./update-changelogs.sh 1.0-20070526..master commit 7ae9572f269c8b973bb4a38014e28dbc10cdcb32 Author: Ales Hvezda Date: Sun Jul 6 08:38:24 2008 -0400 Bumped versions to 1.5.0/20080706/34:0:0 for the next development release commit af0d9f2e8825f7d23c691deec0e70f1eaaac0e38 Author: Ales Hvezda Date: Wed Mar 5 05:27:41 2008 -0500 Updated version to 1.5.0 to mark the start of the next development cycle commit b202ee510fb90cedd038ce5ec41cc6de453dbeea Author: Ales Hvezda Date: Sun Jan 27 11:47:13 2008 -0500 Updated ChangeLogs for the 1.4.0 release commit 3d43c5d642ebe12a69380e8accf5533d338ee5e5 Author: Ales Hvezda Date: Sat Jan 26 20:07:45 2008 -0500 Bumped versions to 1.4.0/20080127/33:0:0 for the next stable release commit d2047bc2a06e6534ff32464d36f8a95aec11b9d7 Author: Ales Hvezda Date: Fri Jan 11 01:11:12 2008 -0500 Updated all ChangeLogs for this release (1.3.1) commit 1314f9a1aa89f85b27318a2af8d565614e1b8510 Author: Peter Clifton Date: Fri Jan 11 01:57:31 2008 +0000 Fix some footprint= refdes in the gTAG example commit a2e742c2f1c3f827af39f3665b0c2dfb37744d7f Author: Ales Hvezda Date: Thu Jan 10 00:52:16 2008 -0500 Argh, forgot to update the Makefile.am for the gTAG fixes. This change also belongs to 3fbc908cb6e3be4fb79d32c641cfb15b4765183f and 34d9611f5c27c3617541705edb1fb380ca161 commit 3fbc908cb6e3be4fb79d32c641cfb15b4765183f Author: Ales Hvezda Date: Thu Jan 10 00:36:02 2008 -0500 Additional changes need to make gTAG example to work correctly Oops, changes should have been part of 34d9611f5c27c3617541705edb1fb380ca161d53 commit 34d9611f5c27c3617541705edb1fb380ca161d53 Author: Ales Hvezda Date: Thu Jan 10 00:33:03 2008 -0500 Fixed up the gTAG example to load correctly from different directory When running gschem from a different directory than the gTAG example directory, the schematics would not load up correctly because a gafrc was not found (with all the component/source library paths). commit b2380c0f70344117be7045a5fc1483698fdf4358 Author: Ales Hvezda Date: Sat Jan 5 20:57:51 2008 -0500 Bumped versions to 1.3.1/20080110/32:0:0 for the next development snapshot Note, libgeda's so did not change at this time. commit 2f7e3ae60480743a8268d392272d05bd77dd75c8 Author: Ales Hvezda Date: Mon Dec 31 20:43:08 2007 -0500 Updated all ChangeLogs for the past development release (1.3.0) This step was supposed to happen before the 1.3.0 tarballs were released. These changes will be picked up in a subsequent release. commit ba474af87840a0d49e04a00de96b7df2944c09bd Author: Ales Hvezda Date: Sat Dec 29 09:57:43 2007 -0500 Bumped versions to 1.3.0/20071229/32:0:0 for the next development snapshot commit 3b040cf8d60a8fbe45f6e7c5f3d71a3dea119357 Author: Peter Clifton Date: Wed Dec 19 17:48:57 2007 +0000 Add intltoolize to the build infrastructure Provide intltoolize infrastructure for translating .desktop and MIME XML files. Run gettextize after intltoolize if required, so that the infrastructure for providing libintl on a non GNU system still works. commit 6056ef48272778419d39e0233f395bfd60019ab9 Author: Ales Hvezda Date: Sun Aug 19 22:40:19 2007 -0400 Update ChangeLogs using: ./update-changelogs.sh 1.0-20070526..master commit 92b3b65d0cec286b0ce59fc43cc07dcb60c39fa1 Author: Ales Hvezda Date: Sat Aug 18 16:14:30 2007 -0400 Bumped versions to 1.1.2/20070818/30:2:0 for the next development snapshot commit 19b6b06461a906399126803d4c46a5a42d1cc784 Author: Stuart Brorson Date: Sun Aug 5 05:30:58 2007 -0400 Updated files to fix problems noted by Chitlesh. Fixed files to fix following problems with Fedora: * DOS style line endings on a couple lines (WTF???) * Removed absolute paths present in example file. commit e978b9098c7567ad3b9c834a5e4914de3bc039ec Author: Ales Hvezda Date: Sun Jul 8 18:18:39 2007 -0400 Updated ChangeLogs using ./update-changelogs.sh 1.0-20070526..master commit d7e8f5abc35644e90bfabf84396023cab09f2968 Author: Ales Hvezda Date: Sun Jul 8 16:18:57 2007 -0400 Updated configure.ac[.in] and Makefile versions in prep for a release. The update was done by running ./update-versions.sh 1.1.1 20070708 30:1 at the toplevel. libgeda's shared library version is now 30:1:0 commit 3f3505662fe4bb8c585aea0ea965296bd923956c Author: Carlos Nieves Onega Date: Sun Jul 8 21:16:17 2007 +0200 Added *~ to .gitignore files. commit dd995d808b9f4440db48d2daa2473a9d9cfd88ef Author: Ales Hvezda Date: Thu Jul 5 01:36:31 2007 -0400 Updated ChangeLogs using ./update-changelogs.sh 1.0-20070526..master commit 099c49e5689afda4b8a5221dde73f9fdf1972ce7 Author: Ales Hvezda Date: Thu Jul 5 00:11:45 2007 -0400 Updated all version strings to 1.1.0 and 20070705 commit dc7b8c53f4bc94626634887e46167a367a91f707 Author: Ales Hvezda Date: Wed Jul 4 23:32:15 2007 -0400 Changed gEDA/gaf's version mechanism to use new dotted X.Y.Z convention Added DOTTED_VERSION and DATE_VERSION variables to all configure.ac[.in] files. Changed all version related output to be DOTTED_VERSION.DATE_VERSION. Updated the configure.ac[.in] files to have consistent top sections. Updated code and various scheme files to use the new DOTTED_VERSION and DATE_VERSION variables available via config.h. Stopped using PREPEND_VERSION_STRING as the mechanism for doing the dotted versions (not intended for that use). Updated update-versions.sh script to set the version in all the configure.ac[.in] files and the toplevel Makefile. Went through all the g_rc.c files and make the handling of rc file mismatch handling consistent. commit edff766e8b15c311505810241528026f722e30b6 Author: Peter TB Brett Date: Sat Jun 23 18:19:11 2007 +0100 Make sure various files are installed. Several new files were not being distributed. This patch addresses the problem by adding files to EXTRA_DIST in automake input files. commit e57c37a66edc1c4d4e4d7160001749df51b96c4b Author: Peter Clifton Date: Sat Jun 23 18:17:29 2007 +0100 Move all .cvsignore files to .gitignore files commit 065595ccd8b5e77616c29a37742357cfab0ae7f7 Author: Peter TB Brett Date: Sat Jun 23 16:11:44 2007 +0100 Changes to ChangeLog usage. With actual changes this time. Old-style changelogs as of gaf 1.0 (release of 26th June 2007) are moved to ChangeLog-1.0; new (blank) ChangeLogs replace them. A script has been added to the gaf top level to allow maintainers to update all the ChangeLog files immediately prior to making out a release. geda-gaf-1.8.2/examples/TwoStageAmp/0000775000175000017500000000000012220655773014202 500000000000000geda-gaf-1.8.2/examples/TwoStageAmp/Makefile.am0000664000175000017500000000053512050461155016147 00000000000000exampledir = $(docdir)/examples/TwoStageAmp/ nobase_example_DATA = \ Simulation.cmd TwoStageAmp.sch spice.netlist gafrc \ models/2N3904.mod \ sym/transistor.sym EXTRA_DIST = $(nobase_example_DATA) MOSTLYCLEANFILES = gschem.log *~ CLEANFILES = gschem.log *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = gschem.log *~ Makefile.in geda-gaf-1.8.2/examples/TwoStageAmp/TwoStageAmp.sch0000664000175000017500000001416412063576065017023 00000000000000v 20070216 1 C 31900 49200 1 0 0 transistor.sym { T 32800 49700 5 10 1 1 0 0 1 refdes=Q1 T 32800 49900 5 10 1 1 0 0 1 model-name=2N3904 T 32800 49900 5 10 0 0 0 0 1 device=NPN_TRANSISTOR } C 28100 49600 1 0 0 resistor-1.sym { T 28300 49900 5 10 1 1 0 0 1 refdes=R5 T 28400 49400 5 10 1 1 0 0 1 value=10 T 28400 50000 5 10 0 0 0 0 1 device=RESISTOR } C 31100 49900 1 90 0 resistor-1.sym { T 31400 50700 5 10 1 1 180 0 1 refdes=R1 T 31200 50200 5 10 1 1 0 0 1 value=28K T 31400 50300 5 10 0 0 0 0 1 device=RESISTOR } C 31600 48200 1 90 0 resistor-1.sym { T 31900 48900 5 10 1 1 180 0 1 refdes=R2 T 31600 48200 5 10 1 1 0 0 1 value=2K T 31900 48600 5 10 0 0 0 0 1 device=RESISTOR } C 32600 47900 1 90 0 resistor-1.sym { T 33000 48600 5 10 1 1 180 0 1 refdes=RE1 T 32600 47900 5 10 1 1 0 0 1 value=100 T 32900 48300 5 10 0 0 0 0 1 device=RESISTOR } C 38000 54600 1 90 0 resistor-1.sym { T 38400 55300 5 10 1 1 180 0 1 refdes=RC2 T 38000 54600 5 10 1 1 0 0 1 value=1K T 38300 55000 5 10 0 0 0 0 1 device=RESISTOR } C 40800 52200 1 90 0 resistor-1.sym { T 41100 53100 5 10 1 1 180 0 1 refdes=RL T 40800 52200 5 10 1 1 0 0 1 value=100K T 41100 52600 5 10 0 0 0 0 1 device=RESISTOR } N 32500 49200 32500 48800 4 C 39300 53900 1 0 0 capacitor-1.sym { T 39500 54400 5 10 1 1 0 0 1 refdes=Cout T 39500 53700 5 10 1 1 0 0 1 value=2.2uF T 39500 54600 5 10 0 0 0 0 1 device=CAPACITOR T 39500 54800 5 10 0 0 0 0 1 symversion=0.1 } C 33700 47900 1 90 0 capacitor-1.sym { T 34100 48600 5 10 1 1 180 0 1 refdes=CE1 T 33700 47900 5 10 1 1 0 0 1 value=1pF T 33900 48600 5 10 0 0 0 0 1 device=CAPACITOR T 33900 48800 5 10 0 0 0 0 1 symversion=0.1 } N 33500 48800 33500 49100 4 N 39300 54100 37900 54100 4 { T 38000 53800 5 10 1 1 0 0 1 netname=VColl2 } N 40700 54100 40700 53100 4 C 31400 47400 1 0 0 gnd-1.sym C 32400 47400 1 0 0 gnd-1.sym C 33400 47400 1 0 0 gnd-1.sym C 40600 51200 1 0 0 gnd-1.sym C 27200 48300 1 0 0 vsin-1.sym { T 27900 48950 5 10 1 1 0 0 1 refdes=Vinput T 26800 48150 5 10 1 1 0 0 1 value=DC 1.6V AC 10MV SIN(0 1MV 1KHZ) T 27900 49150 5 10 0 0 0 0 1 device=vsin T 27900 49350 5 10 0 0 0 0 1 footprint=none } C 40700 48700 1 0 0 vdc-1.sym { T 41400 49350 5 10 1 1 0 0 1 refdes=VCC T 41400 49150 5 10 1 1 0 0 1 value=DC 15V T 41400 49550 5 10 0 0 0 0 1 device=VOLTAGE_SOURCE T 41400 49750 5 10 0 0 0 0 1 footprint=none } C 40800 50100 1 0 0 vcc-1.sym C 37700 55700 1 0 0 vcc-1.sym N 37900 55700 37900 55500 4 N 41000 50100 41000 49900 4 C 40900 48200 1 0 0 gnd-1.sym C 27400 47600 1 0 0 gnd-1.sym N 27500 48300 27500 47900 4 N 27500 49700 27500 49500 4 N 31500 48200 31500 47700 4 N 32500 47900 32500 47700 4 N 33500 47900 33500 47700 4 N 40700 52200 40700 51500 4 N 41000 48700 41000 48500 4 N 40200 54100 41300 54100 4 { T 41500 54100 5 10 1 1 0 0 1 netname=Vout } C 26000 46000 0 0 0 title-B.sym C 26500 55500 1 0 0 spice-model-1.sym { T 26600 56100 5 10 1 1 0 0 1 refdes=A1 T 27800 55800 5 10 1 1 0 0 1 model-name=2N3904 T 27000 55600 5 10 1 1 0 0 1 file=./models/2N3904.mod T 26600 56200 5 10 0 1 0 0 1 device=model } C 26500 54600 1 0 0 spice-include-1.sym { T 26600 55000 5 10 1 1 0 0 1 refdes=A2 T 27000 54700 5 10 1 1 0 0 1 file=./Simulation.cmd T 26600 54900 5 10 0 1 0 0 1 device=include } C 26500 53700 1 0 0 spice-directive-1.sym { T 26600 54100 5 10 1 1 0 0 1 refdes=A3 T 26600 53800 5 10 1 1 0 0 1 value=.options TEMP=25 T 26600 54000 5 10 0 1 0 0 1 device=directive T 26600 53800 5 10 1 1 0 0 1 file=unknown } N 27000 49700 28100 49700 4 { T 26700 49700 5 10 1 1 0 0 1 netname=Vin } N 31000 49900 31000 49700 4 N 31500 49100 31500 49700 4 C 29400 49500 1 0 0 capacitor-1.sym { T 29600 50000 5 10 1 1 0 0 1 refdes=C1 T 29500 49300 5 10 1 1 0 0 1 value=2.2uF T 29600 50200 5 10 0 0 0 0 1 device=CAPACITOR T 29600 50400 5 10 0 0 0 0 1 symversion=0.1 } N 29000 49700 29400 49700 4 C 37300 52600 1 0 0 transistor.sym { T 38200 53100 5 10 1 1 0 0 1 refdes=Q2 T 38200 52700 5 10 1 1 0 0 1 model-name=2N3904 T 38200 53300 5 10 0 0 0 0 1 device=NPN_TRANSISTOR } C 37800 48900 1 0 0 gnd-1.sym N 37900 53600 37900 54600 4 C 30800 51000 1 0 0 vcc-1.sym N 31000 50800 31000 51000 4 T 36100 46800 9 20 1 0 0 0 1 Two stage amplifier SPICE playpen T 40000 46100 9 10 1 0 0 0 1 Stuart Brorson -- sdb@cloud9.net C 32600 53500 1 90 0 resistor-1.sym { T 32900 54400 5 10 1 1 180 0 1 refdes=RC1 T 32600 53500 5 10 1 1 0 0 1 value=3.3K T 32900 53900 5 10 0 0 0 0 1 device=RESISTOR } C 38000 49500 1 90 0 resistor-1.sym { T 38500 50300 5 10 1 1 180 0 1 refdes=RE2 T 38000 49500 5 10 1 1 0 0 1 value=100 T 38300 49900 5 10 0 0 0 0 1 device=RESISTOR } N 37900 49200 37900 49500 4 N 37900 50400 37900 52600 4 N 32500 50200 32500 53500 4 C 32300 54800 1 0 0 vcc-1.sym N 32500 54400 32500 54800 4 N 30300 49700 31900 49700 4 { T 30700 49500 5 10 1 1 0 0 1 netname=Vbase1 } C 39200 49500 1 90 0 capacitor-1.sym { T 39600 50200 5 10 1 1 180 0 1 refdes=CE2 T 39200 49500 5 10 1 1 0 0 1 value=1pF T 39400 50200 5 10 0 0 0 0 1 device=CAPACITOR T 39400 50400 5 10 0 0 0 0 1 symversion=0.1 } C 38900 48900 1 0 0 gnd-1.sym N 39000 49500 39000 49200 4 N 39000 50400 39000 51000 4 N 39000 51000 37900 51000 4 { T 38000 51100 5 10 1 1 0 0 1 netname=Vem2 } N 32500 49100 33500 49100 4 { T 32700 49200 5 10 1 1 0 0 1 netname=Vem1 } C 33300 53000 1 0 0 resistor-1.sym { T 33500 53300 5 10 1 1 0 0 1 refdes=R8 T 33500 52700 5 10 1 1 0 0 1 value=1 T 33600 53400 5 10 0 0 0 0 1 device=RESISTOR } N 35900 53100 37300 53100 4 { T 36800 52900 5 10 1 1 0 0 1 netname=Vbase2 } N 32500 53100 33300 53100 4 { T 32600 52900 5 10 1 1 0 0 1 netname=Vcoll1 } C 36700 54700 1 90 0 resistor-1.sym { T 37000 55500 5 10 1 1 180 0 1 refdes=R3 T 36800 55000 5 10 1 1 0 0 1 value=28K T 37000 55100 5 10 0 0 0 0 1 device=RESISTOR } C 36400 51600 1 90 0 resistor-1.sym { T 36700 52300 5 10 1 1 180 0 1 refdes=R4 T 36400 51600 5 10 1 1 0 0 1 value=2.8K T 36700 52000 5 10 0 0 0 0 1 device=RESISTOR } C 36200 50800 1 0 0 gnd-1.sym N 36300 51600 36300 51100 4 N 36300 52500 36300 53100 4 C 36400 55800 1 0 0 vcc-1.sym N 36600 55600 36600 55800 4 C 35000 52900 1 0 0 capacitor-1.sym { T 35200 53400 5 10 1 1 0 0 1 refdes=C2 T 35100 52700 5 10 1 1 0 0 1 value=2.2uF T 35200 53600 5 10 0 0 0 0 1 device=CAPACITOR T 35200 53800 5 10 0 0 0 0 1 symversion=0.1 } N 35000 53100 34200 53100 4 N 36600 53100 36600 54700 4 geda-gaf-1.8.2/examples/TwoStageAmp/gafrc0000664000175000017500000000003412050461155015112 00000000000000(component-library "./sym") geda-gaf-1.8.2/examples/TwoStageAmp/Makefile.in0000664000175000017500000004526312220655722016173 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = examples/TwoStageAmp DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(exampledir)" DATA = $(nobase_example_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ exampledir = $(docdir)/examples/TwoStageAmp/ nobase_example_DATA = \ Simulation.cmd TwoStageAmp.sch spice.netlist gafrc \ models/2N3904.mod \ sym/transistor.sym EXTRA_DIST = $(nobase_example_DATA) MOSTLYCLEANFILES = gschem.log *~ CLEANFILES = gschem.log *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = gschem.log *~ Makefile.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/TwoStageAmp/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu examples/TwoStageAmp/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-nobase_exampleDATA: $(nobase_example_DATA) @$(NORMAL_INSTALL) @list='$(nobase_example_DATA)'; test -n "$(exampledir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(exampledir)'"; \ $(MKDIR_P) "$(DESTDIR)$(exampledir)" || exit 1; \ fi; \ $(am__nobase_list) | while read dir files; do \ xfiles=; for file in $$files; do \ if test -f "$$file"; then xfiles="$$xfiles $$file"; \ else xfiles="$$xfiles $(srcdir)/$$file"; fi; done; \ test -z "$$xfiles" || { \ test "x$$dir" = x. || { \ echo " $(MKDIR_P) '$(DESTDIR)$(exampledir)/$$dir'"; \ $(MKDIR_P) "$(DESTDIR)$(exampledir)/$$dir"; }; \ echo " $(INSTALL_DATA) $$xfiles '$(DESTDIR)$(exampledir)/$$dir'"; \ $(INSTALL_DATA) $$xfiles "$(DESTDIR)$(exampledir)/$$dir" || exit $$?; }; \ done uninstall-nobase_exampleDATA: @$(NORMAL_UNINSTALL) @list='$(nobase_example_DATA)'; test -n "$(exampledir)" || list=; \ $(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \ dir='$(DESTDIR)$(exampledir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(exampledir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-nobase_exampleDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-nobase_exampleDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-nobase_exampleDATA install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am uninstall-nobase_exampleDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/examples/TwoStageAmp/models/0000775000175000017500000000000012220655773015465 500000000000000geda-gaf-1.8.2/examples/TwoStageAmp/models/2N3904.mod0000664000175000017500000000061012050461155016670 00000000000000.model 2N3904 NPN(Is=6.734f Xti=3 Eg=1.11 Vaf=74.03 Bf=416.4 Ne=1.259 + Ise=6.734f Ikf=66.78m Xtb=1.5 Br=.7371 Nc=2 Isc=0 Ikr=0 Rc=1 + Cjc=3.638p Mjc=.3085 Vjc=.75 Fc=.5 Cje=4.493p Mje=.2593 Vje=.75 + Tr=239.5n Tf=301.2p Itf=.4 Vtf=4 Xtf=2 Rb=10) * Fairchild pid=23 case=TO92 * 88-09-08 bam creation geda-gaf-1.8.2/examples/TwoStageAmp/Simulation.cmd0000664000175000017500000000010712050461155016717 00000000000000.OP .AC DEC 20 1Hz 100MegHz * .DC Vinput 0 5 .01 * .DC Vinput 1 2 .01 geda-gaf-1.8.2/examples/TwoStageAmp/spice.netlist0000664000175000017500000000145312050461155016622 00000000000000* Spice file generated by gnetlist * spice-SDB version by SDB -- provides advanced * spice netlisting capability. * Documentation at http://www.brorson.com/gEDA/SPICE/ C2 2 Vbase2 2.2uF R4 0 Vbase2 2.8K R3 Vbase2 Vcc 28K R8 Vcoll1 2 1 CE2 0 Vem2 1pF RE2 0 Vem2 100 RC1 Vcoll1 Vcc 3.3K Q2 VColl2 Vbase2 Vem2 2N3904 C1 1 Vbase1 2.2uF .TEMP 0 25 100 .INCLUDE ./Simulation.cmd .model 2N3904 NPN(IS=1E-14 VAF=100 + Bf=300 IKF=0.4 XTB=1.5 BR=4 + CJC=4E-12 CJE=8E-12 RB=20 RC=0.1 RE=0.1 + TR=250E-9 TF=350E-12 ITF=1 VTF=2 XTF=3 Vceo=40 Icrating=200m mfg=Philips) VCC Vcc 0 DC 15V Vinput Vin 0 DC 1.6V AC 10MV SIN(0 1MV 1KHZ) CE1 0 Vem1 1pF Cout VColl2 Vout 2.2uF RL 0 Vout 100K RC2 VColl2 Vcc 1K RE1 0 Vem1 100 R2 0 Vbase1 2K R1 Vbase1 Vcc 28K R5 Vin 1 10 Q1 Vcoll1 Vbase1 Vem1 2N3904 .END geda-gaf-1.8.2/examples/TwoStageAmp/sym/0000775000175000017500000000000012220655773015012 500000000000000geda-gaf-1.8.2/examples/TwoStageAmp/sym/transistor.sym0000664000175000017500000000126612050461155017667 00000000000000v 20031011 1 P 600 1000 600 800 1 0 0 { T 500 850 5 6 1 1 0 0 1 pinnumber=3 T 500 850 5 6 0 0 0 0 1 pinseq=1 } P 600 200 600 0 1 0 1 { T 500 50 5 6 1 1 0 0 1 pinnumber=1 T 500 50 5 6 0 0 0 0 1 pinseq=3 } V 500 501 316 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 900 700 5 10 0 0 0 0 1 device=NPN_TRANSISTOR L 600 200 400 400 3 0 0 0 -1 -1 L 600 800 400 600 3 0 0 0 -1 -1 L 400 700 400 300 3 0 0 0 -1 -1 P 0 500 184 500 1 0 0 { T 100 550 5 6 1 1 0 0 1 pinnumber=2 T 100 550 5 6 0 0 0 0 1 pinseq=2 } L 400 500 184 500 3 0 0 0 -1 -1 L 600 200 564 272 3 0 0 0 -1 -1 L 600 200 528 236 3 0 0 0 -1 -1 L 528 236 564 272 3 0 0 0 -1 -1 T 900 500 8 10 1 1 0 0 1 refdes=Q? T 900 300 9 10 1 0 0 0 1 Generic_Transistor geda-gaf-1.8.2/examples/gTAG/0000775000175000017500000000000012220655773012571 500000000000000geda-gaf-1.8.2/examples/gTAG/crdist.sh0000775000175000017500000000057212050461155014332 00000000000000#!/bin/sh DATETAG=`date '+%Y%m%d'` DISTFILE=gTAG-sch-${DATETAG} rm -f gTAG-sch-*.tar.gz gTAG.bom gTAG.pcb gnetlist -g bom -o gTAG.bom gTAG.sch gnetlist -g PCB -o gTAG-pcb.net gTAG.sch cd .. tar cf gTAG/${DISTFILE}.tar gTAG/*.sym gTAG/*.sch gTAG/*rc gTAG/*.ps gTAG/gTAG.bom gTAG/gTAG-pcb.net gTAG/README gTAG/COPYING gTAG/ChangeLog gTAG/crdist.sh cd gTAG gzip ${DISTFILE}.tar geda-gaf-1.8.2/examples/gTAG/7414-1.sym0000664000175000017500000000167112050461155013773 00000000000000v 20031011 1 L 300 200 300 800 3 0 0 0 -1 -1 L 300 800 800 500 3 0 0 0 -1 -1 L 800 500 300 200 3 0 0 0 -1 -1 V 850 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 500 300 500 1 0 0 { T 100 600 5 10 1 1 0 0 1 pinnumber=1 T 100 600 5 10 0 0 0 0 1 pinseq=1 } P 1200 500 900 500 1 0 0 { T 1000 600 5 10 1 1 0 0 1 pinnumber=2 T 1000 600 5 10 0 0 0 0 1 pinseq=2 } T 500 800 8 10 0 1 0 0 1 slot=1 T 700 200 5 10 0 1 0 0 1 numslots=6 T 300 0 9 10 1 1 0 0 1 device=7414 L 390 560 390 360 3 0 0 0 -1 -1 L 390 360 450 400 3 0 0 0 -1 -1 L 390 560 450 600 3 0 0 0 -1 -1 L 390 360 330 320 3 0 0 0 -1 -1 L 450 400 450 600 3 0 0 0 -1 -1 L 450 600 520 640 3 0 0 0 -1 -1 T 880 800 8 10 0 1 0 0 1 slotdef=1:1,2 T 870 650 5 10 0 1 0 0 1 slotdef=2:3,4 T 880 510 5 10 0 1 0 0 1 slotdef=3:5,6 T 880 350 5 10 0 1 0 0 1 slotdef=4:9,8 T 840 190 5 10 0 1 0 0 1 slotdef=5:11,10 T 830 20 5 10 0 1 0 0 1 slotdef=6:13,12 T 800 800 8 10 1 1 0 0 1 refdes=U? T 300 1400 9 10 0 0 0 0 1 pins=14 geda-gaf-1.8.2/examples/gTAG/Makefile.am0000664000175000017500000000117612050461155014540 00000000000000exampledir = $(docdir)/examples/gTAG/ example_DATA = 7414-1.sym attribs gafrc copyleft.sym crdist.sh \ cy7c64603-52nc.sym gTAG-consio.ps gTAG-consio.sch \ gTAG-consio.sym gTAG-jtagio.ps gTAG-jtagio.sch \ gTAG-jtagio.sym gTAG-pcb.net gTAG-psu.ps gTAG-psu.sch \ gTAG-psu.sym gTAG-ucont.ps gTAG-ucont.sch gTAG-ucont.sym \ gTAG.bom gTAG.ps gTAG.sch gnetlistrc max882.sym sn75240pw.sym \ README EXTRA_DIST = ChangeLog-1.0 $(example_DATA) MOSTLYCLEANFILES = gschem.log *~ CLEANFILES = gschem.log *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = gschem.log *~ Makefile.in geda-gaf-1.8.2/examples/gTAG/gTAG-psu.sch0000664000175000017500000000753212050461155014574 00000000000000v 20080110 1 C 48300 42000 0 0 0 title-A2.sym C 54700 52300 1 0 0 in-1.sym { T 54700 52600 5 10 1 1 0 0 1 refdes=usb_power T 54700 52600 5 10 0 0 0 0 1 device=INPUT } C 54700 51600 1 0 0 in-1.sym { T 54700 51900 5 10 1 1 0 0 1 refdes=jtag_power T 54700 51900 5 10 0 0 0 0 1 device=INPUT } C 61000 51000 1 0 0 max882.sym { T 62500 53200 5 10 1 1 0 0 1 refdes=U30 T 61800 52200 5 10 0 1 0 0 1 device=MAX882 T 61900 51800 5 10 0 1 0 0 1 footprint=SO8 } C 64100 51900 1 0 0 3.3V-plus-1.sym C 61800 49200 1 0 0 gnd-1.sym C 63300 51400 1 270 0 capacitor-2.sym { T 63800 51000 5 10 1 1 0 0 1 refdes=C32 T 63600 50700 5 10 1 1 0 0 1 value=2.2u T 63300 51400 5 10 0 1 0 0 1 footprint=sm1206 T 63500 52100 5 10 0 0 0 0 1 device=POLARIZED_CAPACITOR T 63500 52300 5 10 0 0 0 0 1 symversion=0.1 } C 58700 51300 1 270 0 capacitor-2.sym { T 59200 50900 5 10 1 1 0 0 1 refdes=C31 T 59000 50600 5 10 1 1 0 0 1 value=2.2u T 58700 51300 5 10 0 1 0 0 1 footprint=sm1206 T 58900 52000 5 10 0 0 0 0 1 device=POLARIZED_CAPACITOR T 58900 52200 5 10 0 0 0 0 1 symversion=0.1 } N 63100 51800 64300 51800 4 N 64300 51800 64300 51900 4 N 63500 51800 63500 51400 4 N 58900 51300 58900 52400 4 N 58000 50000 63500 50000 4 N 63500 50000 63500 50500 4 N 58900 50000 58900 50400 4 N 61600 51000 61600 50000 4 N 62100 51000 62100 50000 4 N 61900 49500 61900 50000 4 C 55800 52300 1 0 0 resistor-2.sym { T 56000 52600 5 10 1 1 0 0 1 refdes=R30 T 56200 52100 5 10 1 1 0 0 1 value=0 T 56500 52600 5 10 0 1 0 0 1 footprint=sm0805 T 56200 52650 5 10 0 0 0 0 1 device=RESISTOR } C 55800 51600 1 0 0 resistor-2.sym { T 56000 51900 5 10 1 1 0 0 1 refdes=R31 T 56200 51400 5 10 1 1 0 0 1 value=0 T 56400 51900 5 10 0 1 0 0 1 footprint=sm0805 T 56200 51950 5 10 0 0 0 0 1 device=RESISTOR } N 61000 52400 56700 52400 4 N 61000 52800 60000 52800 4 N 55800 51700 55300 51700 4 N 55800 52400 55300 52400 4 C 57800 51300 1 270 0 capacitor-1.sym { T 58300 50900 5 10 1 1 0 0 1 refdes=C30 T 58100 50600 5 10 1 1 0 0 1 value=100n T 57800 51300 5 10 0 1 0 0 1 footprint=sm1206 T 58000 52000 5 10 0 0 0 0 1 device=CAPACITOR T 58000 52200 5 10 0 0 0 0 1 symversion=0.1 } N 58000 50000 58000 50400 4 N 58000 51300 58000 52400 4 N 57000 52400 57000 51700 4 N 57000 51700 56700 51700 4 T 65700 42900 9 20 1 0 0 0 1 gTAG - Power Supply Unit T 64600 42400 9 10 1 0 0 0 1 gTAG-psu.sch T 64600 42100 9 10 1 0 0 0 1 4 T 66100 42100 9 10 1 0 0 0 1 5 T 68600 42400 9 10 1 0 0 0 1 $Revision$ T 68600 42100 9 10 1 0 0 0 1 Stefan Petersen (spe@stacken.kth.se) N 62300 51000 62300 50000 4 C 48600 42200 1 0 0 copyleft.sym { T 50900 45400 5 10 0 0 0 0 1 device=none } C 60100 50300 1 90 0 resistor-2.sym { T 60200 50800 5 10 1 1 0 0 1 refdes=R33 T 60200 50500 5 10 1 1 0 0 1 value=39k T 60000 50700 5 10 0 1 0 0 1 footprint=sm0805 T 60500 50650 5 10 0 0 0 0 1 device=RESISTOR } C 60100 51400 1 90 0 resistor-2.sym { T 60200 51900 5 10 1 1 0 0 1 refdes=R32 T 60200 51600 5 10 1 1 0 0 1 value=100k T 60200 51800 5 10 0 1 0 0 1 footprint=sm0805 T 60500 51750 5 10 0 0 0 0 1 device=RESISTOR } N 61000 51700 60800 51700 4 N 60800 51700 60800 51300 4 N 60800 51300 60000 51300 4 N 60000 51200 60000 51400 4 N 60000 50300 60000 50000 4 N 60000 52300 60000 52400 4 N 60000 52400 60000 52800 4 C 64200 52600 1 90 0 resistor-2.sym { T 64300 53200 5 10 1 1 0 0 1 refdes=R34 T 64300 52800 5 10 1 1 0 0 1 value=10k T 64200 52900 5 10 0 1 0 0 1 footprint=sm0805 T 64600 52950 5 10 0 0 0 0 1 device=RESISTOR } C 65000 52300 1 0 0 out-1.sym { T 65000 52600 5 10 1 1 0 0 1 refdes=pon_reset# T 65000 52600 5 10 0 0 0 0 1 device=OUTPUT } C 63900 53700 1 0 0 3.3V-plus-1.sym N 63100 52400 65000 52400 4 N 64100 52600 64100 52400 4 N 64100 53500 64100 53700 4 T 58400 49400 9 10 1 0 0 0 1 "low-bat" voltage is calculated T 58400 49200 9 10 1 0 0 0 1 according to the following formula: T 58400 48800 9 10 1 0 0 0 1 Vlo = Vlbi*((R32+R33)/R33), where Vlbi is 1.2V T 58400 48400 9 10 1 0 0 0 1 Here: Vlo = 1.2*139/39 = 4.3V geda-gaf-1.8.2/examples/gTAG/gTAG-ucont.ps0000664000175000017500000025017312050461155014763 00000000000000%! /inch {72 mul} def /mils { 1000 div inch } def /setcoords { 8269 mils 0 translate 90 rotate 0.449193 0.449193 scale } def /box { exch dup 0 rlineto exch 0 exch rlineto neg 0 rlineto closepath stroke } def /fbox { exch dup 0 rlineto exch 0 exch rlineto neg 0 rlineto closepath fill } def setcoords 2 setlinecap % Translate origin to the right place... -42399 mils -37546 mils translate gsave gsave gsave newpath 43700 mils 38500 mils moveto 67000 mils 38500 mils lineto stroke grestore gsave newpath 67000 mils 38500 mils moveto 67000 mils 55000 mils lineto stroke grestore gsave newpath 67000 mils 55000 mils moveto 43700 mils 55000 mils lineto stroke grestore gsave newpath 43700 mils 55000 mils moveto 43700 mils 38500 mils lineto stroke grestore grestore gsave newpath 62900 mils 39100 mils moveto 62900 mils 38500 mils lineto stroke grestore gsave /Helvetica findfont 11.200000 scalefont setfont 59500 mils 38900 mils moveto (FILE:) show grestore gsave /Helvetica findfont 11.200000 scalefont setfont 63000 mils 38900 mils moveto (REVISION:) show grestore gsave /Helvetica findfont 11.200000 scalefont setfont 63000 mils 38600 mils moveto (DRAWN BY: ) show grestore gsave /Helvetica findfont 11.200000 scalefont setfont 59500 mils 38600 mils moveto (PAGE) show grestore gsave /Helvetica findfont 11.200000 scalefont setfont 61200 mils 38600 mils moveto (OF) show grestore gsave /Helvetica findfont 11.200000 scalefont setfont 59500 mils 39200 mils moveto (TITLE) show grestore gsave gsave newpath 59400 mils 38500 mils moveto 67000 mils 38500 mils lineto stroke grestore gsave newpath 67000 mils 38500 mils moveto 67000 mils 39900 mils lineto stroke grestore gsave newpath 67000 mils 39900 mils moveto 59400 mils 39900 mils lineto stroke grestore gsave newpath 59400 mils 39900 mils moveto 59400 mils 38500 mils lineto stroke grestore grestore gsave newpath 59400 mils 39100 mils moveto 67000 mils 39100 mils lineto stroke grestore grestore gsave newpath 1.5 setlinewidth 47000 mils 42700 mils moveto 47300 mils 42700 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 11.200000 scalefont setfont 47050 mils 42750 mils moveto (5) show grestore newpath 1.5 setlinewidth 46000 mils 43300 mils moveto 46300 mils 43300 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 11.200000 scalefont setfont 46200 mils 43350 mils moveto (1) show grestore gsave /Helvetica findfont 11.200000 scalefont setfont 46400 mils 43300 mils moveto (A0) show grestore gsave /Helvetica findfont 11.200000 scalefont setfont 46400 mils 43100 mils moveto (A1) show grestore gsave /Helvetica findfont 11.200000 scalefont setfont 46400 mils 42900 mils moveto (A2) show grestore gsave /Helvetica findfont 11.200000 scalefont setfont 46700 mils 42700 mils moveto (SDA) show grestore newpath 1.5 setlinewidth 46000 mils 42900 mils moveto 46300 mils 42900 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 11.200000 scalefont setfont 46150 mils 42950 mils moveto (3) show grestore newpath 1.5 setlinewidth 47000 mils 42900 mils moveto 47300 mils 42900 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 11.200000 scalefont setfont 47050 mils 42950 mils moveto (6) show grestore gsave /Helvetica findfont 11.200000 scalefont setfont 46750 mils 43100 mils moveto (n/c) show grestore newpath 1.5 setlinewidth 46000 mils 43100 mils moveto 46300 mils 43100 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 11.200000 scalefont setfont 46150 mils 43150 mils moveto (2) show grestore newpath 1.5 setlinewidth 47000 mils 43100 mils moveto 47300 mils 43100 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 11.200000 scalefont setfont 47050 mils 43150 mils moveto (7) show grestore gsave /Helvetica findfont 11.200000 scalefont setfont 46300 mils 43550 mils moveto (24Cxx) show grestore gsave gsave newpath 46300 mils 42600 mils moveto 47000 mils 42600 mils lineto stroke grestore gsave newpath 47000 mils 42600 mils moveto 47000 mils 43500 mils lineto stroke grestore gsave newpath 47000 mils 43500 mils moveto 46300 mils 43500 mils lineto stroke grestore gsave newpath 46300 mils 43500 mils moveto 46300 mils 42600 mils lineto stroke grestore grestore gsave /Helvetica findfont 11.200000 scalefont setfont 46700 mils 42900 mils moveto (SCL) show grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 47000 mils 43600 mils moveto (U2) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 46300 mils 42300 mils moveto (net=+3.3V:8) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 46300 mils 42100 mils moveto (net=GND:4) show grestore gsave newpath 1.5 setlinewidth 55000 mils 53300 mils moveto 55200 mils 53300 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 55050 mils 53350 mils moveto (1) show grestore newpath 1.5 setlinewidth 55500 mils 53300 mils moveto 55700 mils 53300 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 55550 mils 53350 mils moveto (2) show grestore gsave gsave newpath 55250 mils 53200 mils moveto 55450 mils 53200 mils lineto stroke grestore gsave newpath 55450 mils 53200 mils moveto 55450 mils 53400 mils lineto stroke grestore gsave newpath 55450 mils 53400 mils moveto 55250 mils 53400 mils lineto stroke grestore gsave newpath 55250 mils 53400 mils moveto 55250 mils 53200 mils lineto stroke grestore grestore gsave newpath 55200 mils 53440 mils moveto 55200 mils 53160 mils lineto stroke grestore gsave newpath 55500 mils 53440 mils moveto 55500 mils 53160 mils lineto stroke grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 55200 mils 53500 mils moveto (X1) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 55100 mils 53000 mils moveto (12MHz) show grestore gsave newpath 1.5 setlinewidth 55800 mils 54200 mils moveto 55650 mils 54200 mils lineto stroke 1 setlinewidth newpath 1.5 setlinewidth 54900 mils 54200 mils moveto 55052 mils 54200 mils lineto stroke 1 setlinewidth gsave gsave newpath 55050 mils 54100 mils moveto 55650 mils 54100 mils lineto stroke grestore gsave newpath 55650 mils 54100 mils moveto 55650 mils 54300 mils lineto stroke grestore gsave newpath 55650 mils 54300 mils moveto 55050 mils 54300 mils lineto stroke grestore gsave newpath 55050 mils 54300 mils moveto 55050 mils 54100 mils lineto stroke grestore grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 55100 mils 54400 mils moveto (R17) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 55200 mils 53900 mils moveto (1M) show grestore gsave newpath 1.5 setlinewidth 53900 mils 54200 mils moveto 54100 mils 54200 mils lineto stroke 1 setlinewidth newpath 1.5 setlinewidth 54800 mils 54200 mils moveto 54600 mils 54200 mils lineto stroke 1 setlinewidth gsave newpath 54300 mils 54400 mils moveto 54300 mils 54000 mils lineto stroke grestore gsave newpath 54400 mils 54400 mils moveto 54400 mils 54000 mils lineto stroke grestore gsave newpath 54600 mils 54200 mils moveto 54400 mils 54200 mils lineto stroke grestore gsave newpath 54300 mils 54200 mils moveto 54100 mils 54200 mils lineto stroke grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 54100 mils 54500 mils moveto (C4) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 54200 mils 53800 mils moveto (30p) show grestore gsave newpath 1.5 setlinewidth 55900 mils 54200 mils moveto 56100 mils 54200 mils lineto stroke 1 setlinewidth newpath 1.5 setlinewidth 56800 mils 54200 mils moveto 56600 mils 54200 mils lineto stroke 1 setlinewidth gsave newpath 56300 mils 54400 mils moveto 56300 mils 54000 mils lineto stroke grestore gsave newpath 56400 mils 54400 mils moveto 56400 mils 54000 mils lineto stroke grestore gsave newpath 56600 mils 54200 mils moveto 56400 mils 54200 mils lineto stroke grestore gsave newpath 56300 mils 54200 mils moveto 56100 mils 54200 mils lineto stroke grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 56100 mils 54500 mils moveto (C5) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 56200 mils 53800 mils moveto (30p) show grestore gsave newpath 1.5 setlinewidth 55800 mils 54200 mils moveto 55900 mils 54200 mils lineto stroke newpath 55800 mils 54200 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 54800 mils 54200 mils moveto 54900 mils 54200 mils lineto stroke newpath 54900 mils 54200 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 55000 mils 53300 mils moveto 54900 mils 53300 mils lineto stroke newpath 54900 mils 53300 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 55700 mils 53300 mils moveto 55800 mils 53300 mils lineto stroke newpath 55800 mils 53300 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 56900 mils 53900 mils moveto 56900 mils 54100 mils lineto stroke 1 setlinewidth gsave newpath 56800 mils 53900 mils moveto 57000 mils 53900 mils lineto stroke grestore gsave newpath 56855 mils 53850 mils moveto 56945 mils 53850 mils lineto stroke grestore gsave newpath 56880 mils 53810 mils moveto 56920 mils 53810 mils lineto stroke grestore grestore gsave newpath 1.5 setlinewidth 53800 mils 53900 mils moveto 53800 mils 54100 mils lineto stroke 1 setlinewidth gsave newpath 53700 mils 53900 mils moveto 53900 mils 53900 mils lineto stroke grestore gsave newpath 53755 mils 53850 mils moveto 53845 mils 53850 mils lineto stroke grestore gsave newpath 53780 mils 53810 mils moveto 53820 mils 53810 mils lineto stroke grestore grestore gsave newpath 1.5 setlinewidth 54900 mils 52800 mils moveto 54900 mils 54200 mils lineto stroke newpath 54900 mils 54200 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 55800 mils 52800 mils moveto 55800 mils 54200 mils lineto stroke newpath 55800 mils 54200 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 53800 mils 54100 mils moveto 53800 mils 54200 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 53800 mils 54200 mils moveto 53900 mils 54200 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 56800 mils 54200 mils moveto 56900 mils 54200 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 56900 mils 54200 mils moveto 56900 mils 54100 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 51400 mils 39400 mils moveto 51400 mils 39600 mils lineto stroke 1 setlinewidth gsave newpath 51300 mils 39400 mils moveto 51500 mils 39400 mils lineto stroke grestore gsave newpath 51355 mils 39350 mils moveto 51445 mils 39350 mils lineto stroke grestore gsave newpath 51380 mils 39310 mils moveto 51420 mils 39310 mils lineto stroke grestore grestore gsave newpath 1.5 setlinewidth 59000 mils 39900 mils moveto 59000 mils 40100 mils lineto stroke 1 setlinewidth gsave newpath 58850 mils 40100 mils moveto 59150 mils 40100 mils lineto stroke grestore gsave /Helvetica findfont 11.200000 scalefont setfont 58875 mils 40150 mils moveto (+3.3V) show grestore grestore gsave newpath 1.5 setlinewidth 58100 mils 39200 mils moveto 57950 mils 39200 mils lineto stroke 1 setlinewidth newpath 1.5 setlinewidth 57200 mils 39200 mils moveto 57352 mils 39200 mils lineto stroke 1 setlinewidth gsave gsave newpath 57350 mils 39100 mils moveto 57950 mils 39100 mils lineto stroke grestore gsave newpath 57950 mils 39100 mils moveto 57950 mils 39300 mils lineto stroke grestore gsave newpath 57950 mils 39300 mils moveto 57350 mils 39300 mils lineto stroke grestore gsave newpath 57350 mils 39300 mils moveto 57350 mils 39100 mils lineto stroke grestore grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 57400 mils 39400 mils moveto (R13) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 57500 mils 38900 mils moveto (10k) show grestore gsave newpath 1.5 setlinewidth 55600 mils 40300 mils moveto 55600 mils 39900 mils lineto stroke newpath 55600 mils 39900 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 51400 mils 39600 mils moveto 51400 mils 40300 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 52100 mils 39900 mils moveto 52100 mils 40300 mils lineto stroke newpath 52100 mils 39900 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 52500 mils 39900 mils moveto 52500 mils 40300 mils lineto stroke newpath 52500 mils 39900 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 52900 mils 39900 mils moveto 52900 mils 40300 mils lineto stroke newpath 52900 mils 39900 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 53300 mils 39900 mils moveto 53300 mils 40300 mils lineto stroke newpath 53300 mils 39900 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 53700 mils 39900 mils moveto 53700 mils 40300 mils lineto stroke newpath 53700 mils 39900 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 54100 mils 39900 mils moveto 54100 mils 40300 mils lineto stroke newpath 54100 mils 39900 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 54800 mils 39900 mils moveto 54800 mils 40300 mils lineto stroke newpath 54800 mils 39900 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 55200 mils 39900 mils moveto 55200 mils 40300 mils lineto stroke newpath 55200 mils 39900 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 56000 mils 40300 mils moveto 56000 mils 39200 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 56800 mils 40300 mils moveto 56800 mils 39900 mils lineto stroke newpath 56800 mils 39900 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 58100 mils 39200 mils moveto 59000 mils 39200 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 59000 mils 39200 mils moveto 59000 mils 39900 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 45900 mils 49400 mils moveto 46100 mils 49400 mils lineto stroke 1 setlinewidth gsave newpath 45600 mils 49400 mils moveto 45500 mils 49500 mils lineto stroke grestore gsave newpath 45600 mils 49400 mils moveto 45500 mils 49300 mils lineto stroke grestore gsave newpath 45900 mils 49400 mils moveto 45600 mils 49400 mils lineto stroke grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 45500 mils 49600 mils moveto (usb_io+) show grestore gsave newpath 1.5 setlinewidth 45900 mils 50200 mils moveto 46100 mils 50200 mils lineto stroke 1 setlinewidth gsave newpath 45600 mils 50200 mils moveto 45500 mils 50300 mils lineto stroke grestore gsave newpath 45600 mils 50200 mils moveto 45500 mils 50100 mils lineto stroke grestore gsave newpath 45900 mils 50200 mils moveto 45600 mils 50200 mils lineto stroke grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 45500 mils 50400 mils moveto (usb_io-) show grestore gsave newpath 1.5 setlinewidth 47600 mils 51000 mils moveto 47450 mils 51000 mils lineto stroke 1 setlinewidth newpath 1.5 setlinewidth 46700 mils 51000 mils moveto 46852 mils 51000 mils lineto stroke 1 setlinewidth gsave gsave newpath 46850 mils 50900 mils moveto 47450 mils 50900 mils lineto stroke grestore gsave newpath 47450 mils 50900 mils moveto 47450 mils 51100 mils lineto stroke grestore gsave newpath 47450 mils 51100 mils moveto 46850 mils 51100 mils lineto stroke grestore gsave newpath 46850 mils 51100 mils moveto 46850 mils 50900 mils lineto stroke grestore grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 46900 mils 51200 mils moveto (R2) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 47000 mils 50700 mils moveto (1.5k) show grestore gsave newpath 1.5 setlinewidth 47600 mils 51000 mils moveto 50400 mils 51000 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 52600 mils 53000 mils moveto 52600 mils 53200 mils lineto stroke 1 setlinewidth gsave newpath 52450 mils 53200 mils moveto 52750 mils 53200 mils lineto stroke grestore gsave /Helvetica findfont 11.200000 scalefont setfont 52475 mils 53250 mils moveto (+3.3V) show grestore grestore gsave newpath 1.5 setlinewidth 52600 mils 52800 mils moveto 52600 mils 53000 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 52600 mils 52900 mils moveto 53800 mils 52900 mils lineto stroke newpath 52600 mils 52900 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 53800 mils 52900 mils moveto 53800 mils 52800 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 53400 mils 52800 mils moveto 53400 mils 52900 mils lineto stroke newpath 53400 mils 52900 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 53000 mils 52800 mils moveto 53000 mils 52900 mils lineto stroke newpath 53000 mils 52900 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 48500 mils 44100 mils moveto 48500 mils 43950 mils lineto stroke 1 setlinewidth newpath 1.5 setlinewidth 48500 mils 43200 mils moveto 48500 mils 43352 mils lineto stroke 1 setlinewidth gsave gsave newpath 48400 mils 43350 mils moveto 48600 mils 43350 mils lineto stroke grestore gsave newpath 48600 mils 43350 mils moveto 48600 mils 43950 mils lineto stroke grestore gsave newpath 48600 mils 43950 mils moveto 48400 mils 43950 mils lineto stroke grestore gsave newpath 48400 mils 43950 mils moveto 48400 mils 43350 mils lineto stroke grestore grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 48300 mils 43400 mils moveto 90 rotate (R12) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 48800 mils 43500 mils moveto 90 rotate (1k) show grestore gsave newpath 1.5 setlinewidth 47700 mils 44100 mils moveto 47700 mils 43950 mils lineto stroke 1 setlinewidth newpath 1.5 setlinewidth 47700 mils 43200 mils moveto 47700 mils 43352 mils lineto stroke 1 setlinewidth gsave gsave newpath 47600 mils 43350 mils moveto 47800 mils 43350 mils lineto stroke grestore gsave newpath 47800 mils 43350 mils moveto 47800 mils 43950 mils lineto stroke grestore gsave newpath 47800 mils 43950 mils moveto 47600 mils 43950 mils lineto stroke grestore gsave newpath 47600 mils 43950 mils moveto 47600 mils 43350 mils lineto stroke grestore grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 47500 mils 43400 mils moveto 90 rotate (R11) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 48000 mils 43500 mils moveto 90 rotate (1k) show grestore gsave newpath 1.5 setlinewidth 48100 mils 44500 mils moveto 48100 mils 44700 mils lineto stroke 1 setlinewidth gsave newpath 47950 mils 44700 mils moveto 48250 mils 44700 mils lineto stroke grestore gsave /Helvetica findfont 11.200000 scalefont setfont 47975 mils 44750 mils moveto (+3.3V) show grestore grestore gsave newpath 1.5 setlinewidth 47700 mils 44100 mils moveto 47700 mils 44300 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 47700 mils 44300 mils moveto 48500 mils 44300 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 48500 mils 44300 mils moveto 48500 mils 44100 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 48100 mils 44500 mils moveto 48100 mils 44300 mils lineto stroke newpath 48100 mils 44300 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 47300 mils 42900 mils moveto 49400 mils 42900 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 47700 mils 43200 mils moveto 47700 mils 42900 mils lineto stroke newpath 47700 mils 42900 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 48500 mils 43200 mils moveto 48500 mils 42700 mils lineto stroke newpath 48500 mils 42700 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 49400 mils 42900 mils moveto 49400 mils 43200 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 49400 mils 43200 mils moveto 50400 mils 43200 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 49600 mils 42700 mils moveto 49600 mils 42800 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 49600 mils 42800 mils moveto 50400 mils 42800 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 45900 mils 42500 mils moveto 45900 mils 42700 mils lineto stroke 1 setlinewidth gsave newpath 45800 mils 42500 mils moveto 46000 mils 42500 mils lineto stroke grestore gsave newpath 45855 mils 42450 mils moveto 45945 mils 42450 mils lineto stroke grestore gsave newpath 45880 mils 42410 mils moveto 45920 mils 42410 mils lineto stroke grestore grestore gsave newpath 1.5 setlinewidth 46000 mils 43100 mils moveto 45900 mils 43100 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 45900 mils 43100 mils moveto 45900 mils 42700 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 46000 mils 42900 mils moveto 45900 mils 42900 mils lineto stroke newpath 45900 mils 42900 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 47300 mils 45400 mils moveto 47300 mils 45250 mils lineto stroke 1 setlinewidth newpath 1.5 setlinewidth 47300 mils 44500 mils moveto 47300 mils 44652 mils lineto stroke 1 setlinewidth gsave gsave newpath 47200 mils 44650 mils moveto 47400 mils 44650 mils lineto stroke grestore gsave newpath 47400 mils 44650 mils moveto 47400 mils 45250 mils lineto stroke grestore gsave newpath 47400 mils 45250 mils moveto 47200 mils 45250 mils lineto stroke grestore gsave newpath 47200 mils 45250 mils moveto 47200 mils 44650 mils lineto stroke grestore grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 47100 mils 44700 mils moveto 90 rotate (R6) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 47600 mils 44900 mils moveto 90 rotate (0) show grestore gsave newpath 1.5 setlinewidth 49200 mils 45100 mils moveto 49200 mils 45300 mils lineto stroke 1 setlinewidth gsave newpath 49050 mils 45300 mils moveto 49350 mils 45300 mils lineto stroke grestore gsave /Helvetica findfont 11.200000 scalefont setfont 49075 mils 45350 mils moveto (+3.3V) show grestore grestore gsave newpath 1.5 setlinewidth 58800 mils 52900 mils moveto 58800 mils 52750 mils lineto stroke 1 setlinewidth newpath 1.5 setlinewidth 58800 mils 52000 mils moveto 58800 mils 52152 mils lineto stroke 1 setlinewidth gsave gsave newpath 58700 mils 52150 mils moveto 58900 mils 52150 mils lineto stroke grestore gsave newpath 58900 mils 52150 mils moveto 58900 mils 52750 mils lineto stroke grestore gsave newpath 58900 mils 52750 mils moveto 58700 mils 52750 mils lineto stroke grestore gsave newpath 58700 mils 52750 mils moveto 58700 mils 52150 mils lineto stroke grestore grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 58600 mils 52200 mils moveto 90 rotate (R15) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 59100 mils 52300 mils moveto 90 rotate (10k) show grestore gsave newpath 1.5 setlinewidth 58800 mils 53100 mils moveto 58800 mils 53300 mils lineto stroke 1 setlinewidth gsave newpath 58650 mils 53300 mils moveto 58950 mils 53300 mils lineto stroke grestore gsave /Helvetica findfont 11.200000 scalefont setfont 58675 mils 53350 mils moveto (+3.3V) show grestore grestore gsave newpath 1.5 setlinewidth 58100 mils 51300 mils moveto 59600 mils 51300 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 58100 mils 50900 mils moveto 58800 mils 50900 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 47600 mils 49400 mils moveto 47450 mils 49400 mils lineto stroke 1 setlinewidth newpath 1.5 setlinewidth 46700 mils 49400 mils moveto 46852 mils 49400 mils lineto stroke 1 setlinewidth gsave gsave newpath 46850 mils 49300 mils moveto 47450 mils 49300 mils lineto stroke grestore gsave newpath 47450 mils 49300 mils moveto 47450 mils 49500 mils lineto stroke grestore gsave newpath 47450 mils 49500 mils moveto 46850 mils 49500 mils lineto stroke grestore gsave newpath 46850 mils 49500 mils moveto 46850 mils 49300 mils lineto stroke grestore grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 46900 mils 49600 mils moveto (R4) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 47000 mils 49100 mils moveto (22) show grestore gsave newpath 1.5 setlinewidth 47600 mils 50200 mils moveto 47450 mils 50200 mils lineto stroke 1 setlinewidth newpath 1.5 setlinewidth 46700 mils 50200 mils moveto 46852 mils 50200 mils lineto stroke 1 setlinewidth gsave gsave newpath 46850 mils 50100 mils moveto 47450 mils 50100 mils lineto stroke grestore gsave newpath 47450 mils 50100 mils moveto 47450 mils 50300 mils lineto stroke grestore gsave newpath 47450 mils 50300 mils moveto 46850 mils 50300 mils lineto stroke grestore gsave newpath 46850 mils 50300 mils moveto 46850 mils 50100 mils lineto stroke grestore grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 46900 mils 50400 mils moveto (R3) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 47000 mils 49900 mils moveto (22) show grestore gsave newpath 1.5 setlinewidth 46100 mils 49400 mils moveto 46700 mils 49400 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 46100 mils 50200 mils moveto 46700 mils 50200 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 47600 mils 50200 mils moveto 47900 mils 50200 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 47900 mils 50200 mils moveto 47900 mils 50000 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 47900 mils 50000 mils moveto 50400 mils 50000 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 47600 mils 49400 mils moveto 47900 mils 49400 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 47900 mils 49400 mils moveto 47900 mils 49600 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 47900 mils 49600 mils moveto 50400 mils 49600 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 46700 mils 51000 mils moveto 46500 mils 51000 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 46500 mils 51000 mils moveto 46500 mils 49400 mils lineto stroke newpath 46500 mils 49400 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 59400 mils 45800 mils moveto 58100 mils 45800 mils lineto stroke newpath 59400 mils 45800 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 58100 mils 45400 mils moveto 59800 mils 45400 mils lineto stroke newpath 59800 mils 45400 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 60200 mils 45000 mils moveto 58100 mils 45000 mils lineto stroke newpath 60200 mils 45000 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 60600 mils 44600 mils moveto 58100 mils 44600 mils lineto stroke newpath 60600 mils 44600 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 58100 mils 44200 mils moveto 61000 mils 44200 mils lineto stroke newpath 61000 mils 44200 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 61400 mils 43800 mils moveto 58100 mils 43800 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 58100 mils 43400 mils moveto 61800 mils 43400 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 62200 mils 43000 mils moveto 58100 mils 43000 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 59800 mils 47800 mils moveto 58100 mils 47800 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 58100 mils 48200 mils moveto 60200 mils 48200 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 58100 mils 48600 mils moveto 60600 mils 48600 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 58100 mils 49000 mils moveto 61000 mils 49000 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 58100 mils 49400 mils moveto 61400 mils 49400 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 58100 mils 49800 mils moveto 61800 mils 49800 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 62200 mils 50200 mils moveto 58100 mils 50200 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 47300 mils 46700 mils moveto 47300 mils 46550 mils lineto stroke 1 setlinewidth newpath 1.5 setlinewidth 47300 mils 45800 mils moveto 47300 mils 45952 mils lineto stroke 1 setlinewidth gsave gsave newpath 47200 mils 45950 mils moveto 47400 mils 45950 mils lineto stroke grestore gsave newpath 47400 mils 45950 mils moveto 47400 mils 46550 mils lineto stroke grestore gsave newpath 47400 mils 46550 mils moveto 47200 mils 46550 mils lineto stroke grestore gsave newpath 47200 mils 46550 mils moveto 47200 mils 45950 mils lineto stroke grestore grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 47100 mils 46000 mils moveto 90 rotate (R5) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 47600 mils 46200 mils moveto 90 rotate (0) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 47500 mils 46000 mils moveto (do not mount) show grestore gsave newpath 1.5 setlinewidth 50200 mils 45000 mils moveto 50050 mils 45000 mils lineto stroke 1 setlinewidth newpath 1.5 setlinewidth 49300 mils 45000 mils moveto 49452 mils 45000 mils lineto stroke 1 setlinewidth gsave gsave newpath 49450 mils 44900 mils moveto 50050 mils 44900 mils lineto stroke grestore gsave newpath 50050 mils 44900 mils moveto 50050 mils 45100 mils lineto stroke grestore gsave newpath 50050 mils 45100 mils moveto 49450 mils 45100 mils lineto stroke grestore gsave newpath 49450 mils 45100 mils moveto 49450 mils 44900 mils lineto stroke grestore grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 49500 mils 45200 mils moveto (R7) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 49600 mils 44700 mils moveto (10k) show grestore gsave newpath 1.5 setlinewidth 50200 mils 43800 mils moveto 50050 mils 43800 mils lineto stroke 1 setlinewidth newpath 1.5 setlinewidth 49300 mils 43800 mils moveto 49452 mils 43800 mils lineto stroke 1 setlinewidth gsave gsave newpath 49450 mils 43700 mils moveto 50050 mils 43700 mils lineto stroke grestore gsave newpath 50050 mils 43700 mils moveto 50050 mils 43900 mils lineto stroke grestore gsave newpath 50050 mils 43900 mils moveto 49450 mils 43900 mils lineto stroke grestore gsave newpath 49450 mils 43900 mils moveto 49450 mils 43700 mils lineto stroke grestore grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 49500 mils 44000 mils moveto (R8) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 49600 mils 43500 mils moveto (10k) show grestore gsave newpath 1.5 setlinewidth 49700 mils 52200 mils moveto 49700 mils 52400 mils lineto stroke 1 setlinewidth newpath 1.5 setlinewidth 49700 mils 53100 mils moveto 49700 mils 52900 mils lineto stroke 1 setlinewidth gsave newpath 49500 mils 52600 mils moveto 49900 mils 52600 mils lineto stroke grestore gsave newpath 49500 mils 52700 mils moveto 49900 mils 52700 mils lineto stroke grestore gsave newpath 49700 mils 52900 mils moveto 49700 mils 52700 mils lineto stroke grestore gsave newpath 49700 mils 52600 mils moveto 49700 mils 52400 mils lineto stroke grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 49400 mils 52500 mils moveto 90 rotate (C3) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 50100 mils 52400 mils moveto 90 rotate (100n) show grestore gsave newpath 1.5 setlinewidth 48700 mils 53100 mils moveto 48700 mils 52900 mils lineto stroke 1 setlinewidth newpath 1.5 setlinewidth 48700 mils 52200 mils moveto 48700 mils 52400 mils lineto stroke 1 setlinewidth gsave newpath 48900 mils 52700 mils moveto 48500 mils 52700 mils lineto stroke grestore gsave newpath 48700 mils 52400 mils moveto 48700 mils 52600 mils lineto stroke grestore gsave newpath 48700 mils 52700 mils moveto 48700 mils 52900 mils lineto stroke grestore gsave 1 mils setlinewidth newpath 48700 mils 51900 mils 700 mils 75 105 arc stroke grestore gsave newpath 48900 mils 52811 mils moveto 48800 mils 52811 mils lineto stroke grestore gsave newpath 48849 mils 52760 mils moveto 48849 mils 52860 mils lineto stroke grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 48400 mils 52500 mils moveto 90 rotate (C2) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 49100 mils 52500 mils moveto 90 rotate (2.2u) show grestore gsave newpath 1.5 setlinewidth 50400 mils 51600 mils moveto 50300 mils 51600 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 50300 mils 51600 mils moveto 50300 mils 53600 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 50300 mils 53600 mils moveto 50300 mils 53800 mils lineto stroke 1 setlinewidth gsave newpath 50150 mils 53800 mils moveto 50450 mils 53800 mils lineto stroke grestore gsave /Helvetica findfont 11.200000 scalefont setfont 50175 mils 53850 mils moveto (+3.3V) show grestore grestore gsave newpath 1.5 setlinewidth 50300 mils 53400 mils moveto 48700 mils 53400 mils lineto stroke newpath 50300 mils 53400 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 48700 mils 53400 mils moveto 48700 mils 53100 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 49700 mils 53100 mils moveto 49700 mils 53400 mils lineto stroke newpath 49700 mils 53400 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 48700 mils 52200 mils moveto 48700 mils 52100 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 48700 mils 52100 mils moveto 49700 mils 52100 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 49700 mils 52100 mils moveto 49700 mils 52200 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 49200 mils 52000 mils moveto 49200 mils 52100 mils lineto stroke newpath 49200 mils 52100 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 47500 mils 53000 mils moveto 48000 mils 53000 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 48000 mils 53000 mils moveto 48000 mils 50600 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 48000 mils 50600 mils moveto 50400 mils 50600 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 49200 mils 51800 mils moveto 49200 mils 52000 mils lineto stroke 1 setlinewidth gsave newpath 49100 mils 51800 mils moveto 49300 mils 51800 mils lineto stroke grestore gsave newpath 49155 mils 51750 mils moveto 49245 mils 51750 mils lineto stroke grestore gsave newpath 49180 mils 51710 mils moveto 49220 mils 51710 mils lineto stroke grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 63900 mils 38900 mils moveto ($Revision$) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 63900 mils 38600 mils moveto (Stefan Petersen \(spe@stacken.kth.se\)) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 61600 mils 38600 mils moveto (5) show grestore gsave /Helvetica findfont 28.000000 scalefont setfont 61400 mils 39400 mils moveto (gTAG - uController) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 60000 mils 38600 mils moveto (2) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 60000 mils 38900 mils moveto (gTAG-ucont.sch) show grestore gsave gsave /Helvetica findfont 14.000000 scalefont setfont 50800 mils 51600 mils moveto (AVCC) show grestore gsave gsave newpath 50700 mils 40600 mils moveto 57800 mils 40600 mils lineto stroke grestore gsave newpath 57800 mils 40600 mils moveto 57800 mils 52500 mils lineto stroke grestore gsave newpath 57800 mils 52500 mils moveto 50700 mils 52500 mils lineto stroke grestore gsave newpath 50700 mils 52500 mils moveto 50700 mils 40600 mils lineto stroke grestore grestore newpath 1.5 setlinewidth 50700 mils 51600 mils moveto 50400 mils 51600 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 50500 mils 51600 mils moveto (5) show grestore newpath 1.5 setlinewidth 50700 mils 51000 mils moveto 50400 mils 51000 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 50600 mils (18) stringwidth pop -1 mul add 51100 mils moveto (18) show grestore newpath 1.5 setlinewidth 50700 mils 50000 mils moveto 50400 mils 50000 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 50600 mils (24) stringwidth pop -1 mul add 50100 mils moveto (24) show grestore newpath 1.5 setlinewidth 50700 mils 50600 mils moveto 50400 mils 50600 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 50600 mils (28) stringwidth pop -1 mul add 50700 mils moveto (28) show grestore newpath 1.5 setlinewidth 50700 mils 49600 mils moveto 50400 mils 49600 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 50600 mils (25) stringwidth pop -1 mul add 49700 mils moveto (25) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 50800 mils 45600 mils moveto (XCLKSEL) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 50800 mils 45000 mils moveto (XCLK) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 50800 mils 44400 mils moveto (CLKOUT) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 50800 mils 43800 mils moveto (WAKEUP#) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 50800 mils 43200 mils moveto (SCL) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 50800 mils 42800 mils moveto (SDA) show grestore newpath 1.5 setlinewidth 50700 mils 45600 mils moveto 50400 mils 45600 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 50600 mils (16) stringwidth pop -1 mul add 45700 mils moveto (16) show grestore newpath 1.5 setlinewidth 50700 mils 45000 mils moveto 50400 mils 45000 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 50600 mils (38) stringwidth pop -1 mul add 45100 mils moveto (38) show grestore newpath 1.5 setlinewidth 50700 mils 43200 mils moveto 50400 mils 43200 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 50600 mils (2) stringwidth pop -1 mul add 43300 mils moveto (2) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 50800 mils 51000 mils moveto (DISCON#) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 50800 mils 50600 mils moveto (RESET#) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 50800 mils 50000 mils moveto (USBD-) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 50800 mils 49600 mils moveto (USBD+) show grestore newpath 1.5 setlinewidth 50700 mils 44400 mils moveto 50400 mils 44400 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 50600 mils (12) stringwidth pop -1 mul add 44500 mils moveto (12) show grestore newpath 1.5 setlinewidth 50700 mils 43800 mils moveto 50400 mils 43800 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 50600 mils (4) stringwidth pop -1 mul add 43900 mils moveto (4) show grestore newpath 1.5 setlinewidth 50700 mils 42800 mils moveto 50400 mils 42800 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 50600 mils (3) stringwidth pop -1 mul add 42900 mils moveto (3) show grestore newpath 1.5 setlinewidth 58100 mils 50200 mils moveto 57800 mils 50200 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 57900 mils 50300 mils moveto (29) show grestore newpath 1.5 setlinewidth 58100 mils 49800 mils moveto 57800 mils 49800 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 57900 mils 49900 mils moveto (30) show grestore newpath 1.5 setlinewidth 58100 mils 49400 mils moveto 57800 mils 49400 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 57900 mils 49500 mils moveto (31) show grestore newpath 1.5 setlinewidth 58100 mils 49000 mils moveto 57800 mils 49000 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 57900 mils 49100 mils moveto (32) show grestore newpath 1.5 setlinewidth 58100 mils 48600 mils moveto 57800 mils 48600 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 57900 mils 48700 mils moveto (33) show grestore newpath 1.5 setlinewidth 58100 mils 48200 mils moveto 57800 mils 48200 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 57900 mils 48300 mils moveto (34) show grestore newpath 1.5 setlinewidth 58100 mils 47800 mils moveto 57800 mils 47800 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 57900 mils 47900 mils moveto (35) show grestore newpath 1.5 setlinewidth 58100 mils 47400 mils moveto 57800 mils 47400 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 57900 mils 47500 mils moveto (36) show grestore newpath 1.5 setlinewidth 58100 mils 45800 mils moveto 57800 mils 45800 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 57900 mils 45900 mils moveto (43) show grestore newpath 1.5 setlinewidth 58100 mils 45400 mils moveto 57800 mils 45400 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 57900 mils 45500 mils moveto (44) show grestore newpath 1.5 setlinewidth 58100 mils 45000 mils moveto 57800 mils 45000 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 57900 mils 45100 mils moveto (45) show grestore newpath 1.5 setlinewidth 58100 mils 44600 mils moveto 57800 mils 44600 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 57900 mils 44700 mils moveto (46) show grestore newpath 1.5 setlinewidth 58100 mils 44200 mils moveto 57800 mils 44200 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 57900 mils 44300 mils moveto (48) show grestore newpath 1.5 setlinewidth 58100 mils 43800 mils moveto 57800 mils 43800 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 57900 mils 43900 mils moveto (49) show grestore newpath 1.5 setlinewidth 58100 mils 43400 mils moveto 57800 mils 43400 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 57900 mils 43500 mils moveto (50) show grestore newpath 1.5 setlinewidth 58100 mils 43000 mils moveto 57800 mils 43000 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 57900 mils 43100 mils moveto (51) show grestore newpath 1.5 setlinewidth 58100 mils 51700 mils moveto 57800 mils 51700 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 57900 mils 51800 mils moveto (42) show grestore newpath 1.5 setlinewidth 58100 mils 51300 mils moveto 57800 mils 51300 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 57900 mils 51400 mils moveto (10) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 57700 mils (PB0) stringwidth pop -1 mul add 50200 mils moveto (PB0) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 57700 mils (PB1) stringwidth pop -1 mul add 49800 mils moveto (PB1) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 57700 mils (PB2) stringwidth pop -1 mul add 49400 mils moveto (PB2) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 57700 mils (PB3) stringwidth pop -1 mul add 49000 mils moveto (PB3) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 57700 mils (PB4) stringwidth pop -1 mul add 48600 mils moveto (PB4) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 57700 mils (PB5) stringwidth pop -1 mul add 48200 mils moveto (PB5) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 57700 mils (PB6) stringwidth pop -1 mul add 47800 mils moveto (PB6) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 57700 mils (PB7) stringwidth pop -1 mul add 47400 mils moveto (PB7) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 57700 mils (PC1) stringwidth pop -1 mul add 45400 mils moveto (PC1) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 57700 mils (PC2) stringwidth pop -1 mul add 45000 mils moveto (PC2) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 57700 mils (PC3) stringwidth pop -1 mul add 44600 mils moveto (PC3) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 57700 mils (PC4) stringwidth pop -1 mul add 44200 mils moveto (PC4) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 57700 mils (PC5) stringwidth pop -1 mul add 43800 mils moveto (PC5) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 57700 mils (PC6) stringwidth pop -1 mul add 43400 mils moveto (PC6) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 57700 mils (PC7) stringwidth pop -1 mul add 43000 mils moveto (PC7) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 57700 mils (PC0) stringwidth pop -1 mul add 45800 mils moveto (PC0) show grestore newpath 1.5 setlinewidth 58100 mils 50900 mils moveto 57800 mils 50900 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 57900 mils 51000 mils moveto (11) show grestore newpath 1.5 setlinewidth 58100 mils 42400 mils moveto 57800 mils 42400 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 57900 mils 42500 mils moveto (41) show grestore newpath 1.5 setlinewidth 58100 mils 42000 mils moveto 57800 mils 42000 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 57900 mils 42100 mils moveto (37) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 57700 mils (RDY2) stringwidth pop -1 mul add 51700 mils moveto (RDY2) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 57700 mils (PA4/RDY4) stringwidth pop -1 mul add 51300 mils moveto (PA4/RDY4) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 57700 mils (PA5/RDY5) stringwidth pop -1 mul add 50900 mils moveto (PA5/RDY5) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 57700 mils (CTL0) stringwidth pop -1 mul add 42400 mils moveto (CTL0) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 57700 mils (CTL2) stringwidth pop -1 mul add 42000 mils moveto (CTL2) show grestore gsave /Helvetica findfont 42.000000 scalefont setfont 54100 mils (CY7C64603-52NC) stringwidth pop .5 mul -1 mul add 47000 mils 30.000000 .5 mul -1 mul add moveto (CY7C64603-52NC) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 54800 mils 40700 mils moveto 90 rotate (RESERVED1) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 55200 mils 40700 mils moveto 90 rotate (RESERVED2) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 55600 mils 40700 mils moveto 90 rotate (RESERVED3) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 56000 mils 40700 mils moveto 90 rotate (RESERVED4) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 56400 mils 40700 mils moveto 90 rotate (RESERVED5) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 56800 mils 40700 mils moveto 90 rotate (RESERVED6) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 57200 mils 40700 mils moveto 90 rotate (RESERVED7) show grestore newpath 1.5 setlinewidth 56800 mils 40600 mils moveto 56800 mils 40300 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 56700 mils 40500 mils (22) stringwidth pop 1 mul sub moveto 90 rotate (22) show grestore newpath 1.5 setlinewidth 57200 mils 40600 mils moveto 57200 mils 40300 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 57100 mils 40500 mils (23) stringwidth pop 1 mul sub moveto 90 rotate (23) show grestore newpath 1.5 setlinewidth 56400 mils 40600 mils moveto 56400 mils 40300 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 56300 mils 40500 mils (20) stringwidth pop 1 mul sub moveto 90 rotate (20) show grestore newpath 1.5 setlinewidth 56000 mils 40600 mils moveto 56000 mils 40300 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 55900 mils 40500 mils (19) stringwidth pop 1 mul sub moveto 90 rotate (19) show grestore newpath 1.5 setlinewidth 55600 mils 40600 mils moveto 55600 mils 40300 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 55500 mils 40500 mils (17) stringwidth pop 1 mul sub moveto 90 rotate (17) show grestore newpath 1.5 setlinewidth 55200 mils 40600 mils moveto 55200 mils 40300 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 55100 mils 40500 mils (15) stringwidth pop 1 mul sub moveto 90 rotate (15) show grestore newpath 1.5 setlinewidth 54800 mils 40600 mils moveto 54800 mils 40300 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 54700 mils 40500 mils (9) stringwidth pop 1 mul sub moveto 90 rotate (9) show grestore newpath 1.5 setlinewidth 54100 mils 40600 mils moveto 54100 mils 40300 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 54000 mils 40500 mils (52) stringwidth pop 1 mul sub moveto 90 rotate (52) show grestore newpath 1.5 setlinewidth 53700 mils 40600 mils moveto 53700 mils 40300 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 53600 mils 40500 mils (47) stringwidth pop 1 mul sub moveto 90 rotate (47) show grestore newpath 1.5 setlinewidth 53300 mils 40600 mils moveto 53300 mils 40300 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 53200 mils 40500 mils (39) stringwidth pop 1 mul sub moveto 90 rotate (39) show grestore newpath 1.5 setlinewidth 52900 mils 40600 mils moveto 52900 mils 40300 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 52800 mils 40500 mils (26) stringwidth pop 1 mul sub moveto 90 rotate (26) show grestore newpath 1.5 setlinewidth 52500 mils 40600 mils moveto 52500 mils 40300 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 52400 mils 40500 mils (21) stringwidth pop 1 mul sub moveto 90 rotate (21) show grestore newpath 1.5 setlinewidth 52100 mils 40600 mils moveto 52100 mils 40300 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 52000 mils 40500 mils (13) stringwidth pop 1 mul sub moveto 90 rotate (13) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 52100 mils 40700 mils moveto 90 rotate (GND1) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 52500 mils 40700 mils moveto 90 rotate (GND2) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 52900 mils 40700 mils moveto 90 rotate (GND3) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 53300 mils 40700 mils moveto 90 rotate (GND4) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 53700 mils 40700 mils moveto 90 rotate (GND5) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 54100 mils 40700 mils moveto 90 rotate (GND6) show grestore newpath 1.5 setlinewidth 51400 mils 40600 mils moveto 51400 mils 40300 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 51300 mils 40500 mils (8) stringwidth pop 1 mul sub moveto 90 rotate (8) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 51400 mils 40700 mils moveto 90 rotate (AGND) show grestore newpath 1.5 setlinewidth 52600 mils 52500 mils moveto 52600 mils 52800 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 52500 mils 52600 mils moveto 90 rotate (1) show grestore newpath 1.5 setlinewidth 53000 mils 52500 mils moveto 53000 mils 52800 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 52900 mils 52600 mils moveto 90 rotate (14) show grestore newpath 1.5 setlinewidth 53400 mils 52500 mils moveto 53400 mils 52800 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 53300 mils 52600 mils moveto 90 rotate (27) show grestore newpath 1.5 setlinewidth 54900 mils 52500 mils moveto 54900 mils 52800 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 54800 mils 52600 mils moveto 90 rotate (7) show grestore newpath 1.5 setlinewidth 55800 mils 52500 mils moveto 55800 mils 52800 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 55700 mils 52600 mils moveto 90 rotate (6) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 54900 mils 52400 mils (XOUT) stringwidth pop 1 mul sub moveto 90 rotate (XOUT) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 55800 mils 52400 mils (XIN) stringwidth pop 1 mul sub moveto 90 rotate (XIN) show grestore newpath 1.5 setlinewidth 53800 mils 52500 mils moveto 53800 mils 52800 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 53700 mils 52600 mils moveto 90 rotate (40) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 52600 mils 52400 mils (VCC1) stringwidth pop 1 mul sub moveto 90 rotate (VCC1) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 53000 mils 52400 mils (VCC2) stringwidth pop 1 mul sub moveto 90 rotate (VCC2) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 53400 mils 52400 mils (VCC3) stringwidth pop 1 mul sub moveto 90 rotate (VCC3) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 53800 mils 52400 mils (VCC4) stringwidth pop 1 mul sub moveto 90 rotate (VCC4) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 52400 mils 46400 mils moveto (INCOMPLETE SYMBOL) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 52400 mils 46100 mils moveto (Missing is:) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 52400 mils 45900 mils moveto (* label on pins) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 52400 mils 45600 mils moveto (Errors are:) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 52400 mils 45400 mils moveto (* Wrong pin number size) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 52400 mils 45200 mils moveto (* Distance from pin to pin number \(currently 100 pt\)) show grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 50700 mils 52600 mils moveto (U1) show grestore gsave newpath 1.5 setlinewidth 54100 mils 39900 mils moveto 51400 mils 39900 mils lineto stroke newpath 54100 mils 39900 mils 3 0 360 arc fill newpath 51400 mils 39900 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 57200 mils 40300 mils moveto 57200 mils 39900 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 55600 mils 39900 mils moveto 54100 mils 39900 mils lineto stroke newpath 55600 mils 39900 mils 3 0 360 arc fill newpath 54100 mils 39900 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 57200 mils 39900 mils moveto 55600 mils 39900 mils lineto stroke newpath 55600 mils 39900 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 56000 mils 39200 mils moveto 57200 mils 39200 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 63600 mils 44200 mils moveto 63400 mils 44200 mils lineto stroke 1 setlinewidth gsave newpath 63900 mils 44200 mils moveto 64000 mils 44300 mils lineto stroke grestore gsave newpath 63900 mils 44200 mils moveto 64000 mils 44100 mils lineto stroke grestore gsave newpath 63600 mils 44200 mils moveto 63900 mils 44200 mils lineto stroke grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 63800 mils (tdo_ttl) stringwidth pop -1 mul add 44300 mils moveto (tdo_ttl) show grestore gsave newpath 1.5 setlinewidth 63400 mils 45800 mils moveto 63600 mils 45800 mils lineto stroke 1 setlinewidth gsave newpath 63600 mils 45800 mils moveto 64000 mils 45800 mils lineto stroke grestore gsave newpath 64000 mils 45800 mils moveto 63900 mils 45900 mils lineto stroke grestore gsave newpath 64000 mils 45800 mils moveto 63900 mils 45700 mils lineto stroke grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 63400 mils 45900 mils moveto (tdi_ttl) show grestore gsave newpath 1.5 setlinewidth 63400 mils 45400 mils moveto 63600 mils 45400 mils lineto stroke 1 setlinewidth gsave newpath 63600 mils 45400 mils moveto 64000 mils 45400 mils lineto stroke grestore gsave newpath 64000 mils 45400 mils moveto 63900 mils 45500 mils lineto stroke grestore gsave newpath 64000 mils 45400 mils moveto 63900 mils 45300 mils lineto stroke grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 63300 mils 45500 mils moveto (tms_ttl) show grestore gsave newpath 1.5 setlinewidth 63400 mils 45000 mils moveto 63600 mils 45000 mils lineto stroke 1 setlinewidth gsave newpath 63600 mils 45000 mils moveto 64000 mils 45000 mils lineto stroke grestore gsave newpath 64000 mils 45000 mils moveto 63900 mils 45100 mils lineto stroke grestore gsave newpath 64000 mils 45000 mils moveto 63900 mils 44900 mils lineto stroke grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 63300 mils 45100 mils moveto (tck_ttl) show grestore gsave newpath 1.5 setlinewidth 63400 mils 44600 mils moveto 63600 mils 44600 mils lineto stroke 1 setlinewidth gsave newpath 63600 mils 44600 mils moveto 64000 mils 44600 mils lineto stroke grestore gsave newpath 64000 mils 44600 mils moveto 63900 mils 44700 mils lineto stroke grestore gsave newpath 64000 mils 44600 mils moveto 63900 mils 44500 mils lineto stroke grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 63300 mils 44700 mils moveto (trst_ttl) show grestore gsave newpath 1.5 setlinewidth 59600 mils 53100 mils moveto 59600 mils 53300 mils lineto stroke 1 setlinewidth gsave newpath 59450 mils 53300 mils moveto 59750 mils 53300 mils lineto stroke grestore gsave /Helvetica findfont 11.200000 scalefont setfont 59475 mils 53350 mils moveto (+3.3V) show grestore grestore gsave newpath 1.5 setlinewidth 59600 mils 52900 mils moveto 59600 mils 52750 mils lineto stroke 1 setlinewidth newpath 1.5 setlinewidth 59600 mils 52000 mils moveto 59600 mils 52152 mils lineto stroke 1 setlinewidth gsave gsave newpath 59500 mils 52150 mils moveto 59700 mils 52150 mils lineto stroke grestore gsave newpath 59700 mils 52150 mils moveto 59700 mils 52750 mils lineto stroke grestore gsave newpath 59700 mils 52750 mils moveto 59500 mils 52750 mils lineto stroke grestore gsave newpath 59500 mils 52750 mils moveto 59500 mils 52150 mils lineto stroke grestore grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 59400 mils 52200 mils moveto 90 rotate (R16) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 59900 mils 52300 mils moveto 90 rotate (10k) show grestore gsave newpath 1.5 setlinewidth 58100 mils 51700 mils moveto 60800 mils 51700 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 61700 mils 51700 mils moveto 61550 mils 51700 mils lineto stroke 1 setlinewidth newpath 1.5 setlinewidth 60800 mils 51700 mils moveto 60952 mils 51700 mils lineto stroke 1 setlinewidth gsave gsave newpath 60950 mils 51600 mils moveto 61550 mils 51600 mils lineto stroke grestore gsave newpath 61550 mils 51600 mils moveto 61550 mils 51800 mils lineto stroke grestore gsave newpath 61550 mils 51800 mils moveto 60950 mils 51800 mils lineto stroke grestore gsave newpath 60950 mils 51800 mils moveto 60950 mils 51600 mils lineto stroke grestore grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 61000 mils 51900 mils moveto (R14) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 61100 mils 51400 mils moveto (10k) show grestore gsave newpath 1.5 setlinewidth 59600 mils 51300 mils moveto 59600 mils 52000 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 58800 mils 50900 mils moveto 58800 mils 52000 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 58800 mils 53100 mils moveto 58800 mils 52900 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 59600 mils 53100 mils moveto 59600 mils 52900 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 50400 mils 45600 mils moveto 47300 mils 45600 mils lineto stroke newpath 47300 mils 45600 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 47300 mils 46800 mils moveto 47300 mils 47000 mils lineto stroke 1 setlinewidth gsave newpath 47150 mils 47000 mils moveto 47450 mils 47000 mils lineto stroke grestore gsave /Helvetica findfont 11.200000 scalefont setfont 47175 mils 47050 mils moveto (+3.3V) show grestore grestore gsave newpath 1.5 setlinewidth 47300 mils 44200 mils moveto 47300 mils 44400 mils lineto stroke 1 setlinewidth gsave newpath 47200 mils 44200 mils moveto 47400 mils 44200 mils lineto stroke grestore gsave newpath 47255 mils 44150 mils moveto 47345 mils 44150 mils lineto stroke grestore gsave newpath 47280 mils 44110 mils moveto 47320 mils 44110 mils lineto stroke grestore grestore gsave newpath 1.5 setlinewidth 50200 mils 45000 mils moveto 50400 mils 45000 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 50200 mils 43800 mils moveto 50400 mils 43800 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 49200 mils 45100 mils moveto 49200 mils 43800 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 49200 mils 43800 mils moveto 49300 mils 43800 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 49300 mils 45000 mils moveto 49200 mils 45000 mils lineto stroke newpath 49200 mils 45000 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 47300 mils 45400 mils moveto 47300 mils 45800 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 47300 mils 46800 mils moveto 47300 mils 46700 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 47300 mils 44500 mils moveto 47300 mils 44400 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 45000 mils 43100 mils moveto 45000 mils 42950 mils lineto stroke 1 setlinewidth newpath 1.5 setlinewidth 45000 mils 42200 mils moveto 45000 mils 42352 mils lineto stroke 1 setlinewidth gsave gsave newpath 44900 mils 42350 mils moveto 45100 mils 42350 mils lineto stroke grestore gsave newpath 45100 mils 42350 mils moveto 45100 mils 42950 mils lineto stroke grestore gsave newpath 45100 mils 42950 mils moveto 44900 mils 42950 mils lineto stroke grestore gsave newpath 44900 mils 42950 mils moveto 44900 mils 42350 mils lineto stroke grestore grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 44800 mils 42400 mils moveto 90 rotate (R10) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 45300 mils 42600 mils moveto 90 rotate (0) show grestore gsave newpath 1.5 setlinewidth 45000 mils 44400 mils moveto 45000 mils 44250 mils lineto stroke 1 setlinewidth newpath 1.5 setlinewidth 45000 mils 43500 mils moveto 45000 mils 43652 mils lineto stroke 1 setlinewidth gsave gsave newpath 44900 mils 43650 mils moveto 45100 mils 43650 mils lineto stroke grestore gsave newpath 45100 mils 43650 mils moveto 45100 mils 44250 mils lineto stroke grestore gsave newpath 45100 mils 44250 mils moveto 44900 mils 44250 mils lineto stroke grestore gsave newpath 44900 mils 44250 mils moveto 44900 mils 43650 mils lineto stroke grestore grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 44800 mils 43700 mils moveto 90 rotate (R9) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 45300 mils 43900 mils moveto 90 rotate (0) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 45200 mils 43700 mils moveto (do not mount) show grestore gsave newpath 1.5 setlinewidth 45000 mils 44500 mils moveto 45000 mils 44700 mils lineto stroke 1 setlinewidth gsave newpath 44850 mils 44700 mils moveto 45150 mils 44700 mils lineto stroke grestore gsave /Helvetica findfont 11.200000 scalefont setfont 44875 mils 44750 mils moveto (+3.3V) show grestore grestore gsave newpath 1.5 setlinewidth 45000 mils 41900 mils moveto 45000 mils 42100 mils lineto stroke 1 setlinewidth gsave newpath 44900 mils 41900 mils moveto 45100 mils 41900 mils lineto stroke grestore gsave newpath 44955 mils 41850 mils moveto 45045 mils 41850 mils lineto stroke grestore gsave newpath 44980 mils 41810 mils moveto 45020 mils 41810 mils lineto stroke grestore grestore gsave newpath 1.5 setlinewidth 45000 mils 43100 mils moveto 45000 mils 43500 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 45000 mils 44500 mils moveto 45000 mils 44400 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 45000 mils 42200 mils moveto 45000 mils 42100 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 46000 mils 43300 mils moveto 45000 mils 43300 mils lineto stroke newpath 45000 mils 43300 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 63400 mils 45800 mils moveto 59400 mils 45800 mils lineto stroke newpath 59400 mils 45800 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 63400 mils 45400 mils moveto 59800 mils 45400 mils lineto stroke newpath 59800 mils 45400 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 63400 mils 45000 mils moveto 60200 mils 45000 mils lineto stroke newpath 60200 mils 45000 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 63400 mils 44600 mils moveto 60600 mils 44600 mils lineto stroke newpath 60600 mils 44600 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 63400 mils 44200 mils moveto 61000 mils 44200 mils lineto stroke newpath 61000 mils 44200 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 58100 mils 47400 mils moveto 59400 mils 47400 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 59800 mils 45900 mils moveto 59800 mils 46200 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 11.200000 scalefont setfont 59750 mils 46000 mils moveto 90 rotate (2) show grestore newpath 1.5 setlinewidth 60200 mils 45900 mils moveto 60200 mils 46200 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 11.200000 scalefont setfont 60150 mils 46000 mils moveto 90 rotate (3) show grestore newpath 1.5 setlinewidth 60600 mils 45900 mils moveto 60600 mils 46200 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 11.200000 scalefont setfont 60550 mils 46000 mils moveto 90 rotate (4) show grestore newpath 1.5 setlinewidth 59400 mils 45900 mils moveto 59400 mils 46200 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 11.200000 scalefont setfont 59350 mils 46050 mils moveto 90 rotate (1) show grestore newpath 1.5 setlinewidth 61000 mils 45900 mils moveto 61000 mils 46200 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 11.200000 scalefont setfont 60950 mils 46000 mils moveto 90 rotate (5) show grestore gsave newpath 60000 mils 46200 mils moveto 60000 mils 47000 mils lineto stroke grestore gsave newpath 60400 mils 46200 mils moveto 60400 mils 47000 mils lineto stroke grestore gsave newpath 59600 mils 46200 mils moveto 59600 mils 47000 mils lineto stroke grestore gsave newpath 60800 mils 46200 mils moveto 60800 mils 47000 mils lineto stroke grestore newpath 1.5 setlinewidth 63000 mils 45900 mils moveto 63000 mils 46200 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 11.200000 scalefont setfont 62950 mils 46000 mils moveto 90 rotate (10) show grestore newpath 1.5 setlinewidth 62600 mils 45900 mils moveto 62600 mils 46200 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 11.200000 scalefont setfont 62550 mils 46000 mils moveto 90 rotate (9) show grestore newpath 1.5 setlinewidth 62200 mils 45900 mils moveto 62200 mils 46200 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 11.200000 scalefont setfont 62150 mils 46000 mils moveto 90 rotate (8) show grestore newpath 1.5 setlinewidth 61800 mils 45900 mils moveto 61800 mils 46200 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 11.200000 scalefont setfont 61750 mils 46000 mils moveto 90 rotate (7) show grestore newpath 1.5 setlinewidth 61400 mils 45900 mils moveto 61400 mils 46200 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 11.200000 scalefont setfont 61350 mils 46000 mils moveto 90 rotate (6) show grestore newpath 1.5 setlinewidth 60200 mils 47000 mils moveto 60200 mils 47300 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 11.200000 scalefont setfont 60150 mils 47150 mils moveto 90 rotate (18) show grestore newpath 1.5 setlinewidth 59400 mils 47000 mils moveto 59400 mils 47300 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 11.200000 scalefont setfont 59350 mils 47150 mils moveto 90 rotate (20) show grestore newpath 1.5 setlinewidth 60600 mils 47000 mils moveto 60600 mils 47300 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 11.200000 scalefont setfont 60550 mils 47150 mils moveto 90 rotate (17) show grestore newpath 1.5 setlinewidth 59800 mils 47000 mils moveto 59800 mils 47300 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 11.200000 scalefont setfont 59750 mils 47150 mils moveto 90 rotate (19) show grestore newpath 1.5 setlinewidth 61000 mils 47000 mils moveto 61000 mils 47300 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 11.200000 scalefont setfont 60950 mils 47150 mils moveto 90 rotate (16) show grestore gsave newpath 62000 mils 46200 mils moveto 62000 mils 47000 mils lineto stroke grestore gsave newpath 62400 mils 46200 mils moveto 62400 mils 47000 mils lineto stroke grestore gsave newpath 61600 mils 46200 mils moveto 61600 mils 47000 mils lineto stroke grestore gsave newpath 62800 mils 46200 mils moveto 62800 mils 47000 mils lineto stroke grestore newpath 1.5 setlinewidth 61400 mils 47000 mils moveto 61400 mils 47300 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 11.200000 scalefont setfont 61350 mils 47150 mils moveto 90 rotate (15) show grestore newpath 1.5 setlinewidth 61800 mils 47000 mils moveto 61800 mils 47300 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 11.200000 scalefont setfont 61750 mils 47150 mils moveto 90 rotate (14) show grestore newpath 1.5 setlinewidth 62200 mils 47000 mils moveto 62200 mils 47300 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 11.200000 scalefont setfont 62150 mils 47150 mils moveto 90 rotate (13) show grestore newpath 1.5 setlinewidth 62600 mils 47000 mils moveto 62600 mils 47300 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 11.200000 scalefont setfont 62550 mils 47150 mils moveto 90 rotate (12) show grestore newpath 1.5 setlinewidth 63000 mils 47000 mils moveto 63000 mils 47300 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 11.200000 scalefont setfont 62950 mils 47150 mils moveto 90 rotate (11) show grestore gsave gsave newpath 59200 mils 46200 mils moveto 63200 mils 46200 mils lineto stroke grestore gsave newpath 63200 mils 46200 mils moveto 63200 mils 47000 mils lineto stroke grestore gsave newpath 63200 mils 47000 mils moveto 59200 mils 47000 mils lineto stroke grestore gsave newpath 59200 mils 47000 mils moveto 59200 mils 46200 mils lineto stroke grestore grestore gsave newpath 61200 mils 46200 mils moveto 61200 mils 47000 mils lineto stroke grestore gsave newpath 59200 mils 46600 mils moveto 63200 mils 46600 mils lineto stroke grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 59100 mils 46300 mils moveto 90 rotate (CONN1) show grestore gsave newpath 1.5 setlinewidth 59400 mils 45800 mils moveto 59400 mils 45900 mils lineto stroke newpath 59400 mils 45800 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 59800 mils 45400 mils moveto 59800 mils 45900 mils lineto stroke newpath 59800 mils 45400 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 60200 mils 45000 mils moveto 60200 mils 45900 mils lineto stroke newpath 60200 mils 45000 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 60600 mils 44600 mils moveto 60600 mils 45900 mils lineto stroke newpath 60600 mils 44600 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 61000 mils 44200 mils moveto 61000 mils 45900 mils lineto stroke newpath 61000 mils 44200 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 61400 mils 43800 mils moveto 61400 mils 45900 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 61800 mils 43400 mils moveto 61800 mils 45900 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 62200 mils 43000 mils moveto 62200 mils 45900 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 59400 mils 47400 mils moveto 59400 mils 47300 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 59800 mils 47800 mils moveto 59800 mils 47300 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 60200 mils 48200 mils moveto 60200 mils 47300 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 60600 mils 48600 mils moveto 60600 mils 47300 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 61000 mils 49000 mils moveto 61000 mils 47300 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 61400 mils 47300 mils moveto 61400 mils 49400 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 61800 mils 49800 mils moveto 61800 mils 47300 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 62200 mils 50200 mils moveto 62200 mils 47300 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 62000 mils 51400 mils moveto 62000 mils 51600 mils lineto stroke 1 setlinewidth gsave newpath 61900 mils 51400 mils moveto 62100 mils 51400 mils lineto stroke grestore gsave newpath 61955 mils 51350 mils moveto 62045 mils 51350 mils lineto stroke grestore gsave newpath 61980 mils 51310 mils moveto 62020 mils 51310 mils lineto stroke grestore grestore gsave newpath 1.5 setlinewidth 58100 mils 42400 mils moveto 62600 mils 42400 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 62600 mils 42400 mils moveto 62600 mils 45900 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 58100 mils 42000 mils moveto 63000 mils 42000 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 63000 mils 42000 mils moveto 63000 mils 45900 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 62600 mils 47700 mils moveto 62600 mils 47900 mils lineto stroke 1 setlinewidth gsave newpath 62450 mils 47900 mils moveto 62750 mils 47900 mils lineto stroke grestore gsave /Helvetica findfont 11.200000 scalefont setfont 62475 mils 47950 mils moveto (+3.3V) show grestore grestore gsave newpath 1.5 setlinewidth 63600 mils 47100 mils moveto 63600 mils 47300 mils lineto stroke 1 setlinewidth gsave newpath 63500 mils 47100 mils moveto 63700 mils 47100 mils lineto stroke grestore gsave newpath 63555 mils 47050 mils moveto 63645 mils 47050 mils lineto stroke grestore gsave newpath 63580 mils 47010 mils moveto 63620 mils 47010 mils lineto stroke grestore grestore gsave newpath 1.5 setlinewidth 63000 mils 47300 mils moveto 63000 mils 47500 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 63600 mils 47300 mils moveto 63600 mils 47500 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 63600 mils 47500 mils moveto 63000 mils 47500 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 62600 mils 47700 mils moveto 62600 mils 47300 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 61700 mils 51700 mils moveto 62000 mils 51700 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 62000 mils 51700 mils moveto 62000 mils 51600 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 63000 mils 52700 mils moveto 63000 mils 52900 mils lineto stroke 1 setlinewidth newpath 1.5 setlinewidth 63000 mils 53600 mils moveto 63000 mils 53400 mils lineto stroke 1 setlinewidth gsave newpath 62800 mils 53100 mils moveto 63200 mils 53100 mils lineto stroke grestore gsave newpath 62800 mils 53200 mils moveto 63200 mils 53200 mils lineto stroke grestore gsave newpath 63000 mils 53400 mils moveto 63000 mils 53200 mils lineto stroke grestore gsave newpath 63000 mils 53100 mils moveto 63000 mils 52900 mils lineto stroke grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 62700 mils 52900 mils moveto 90 rotate (C6) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 63400 mils 52900 mils moveto 90 rotate (100n) show grestore gsave newpath 1.5 setlinewidth 64000 mils 52700 mils moveto 64000 mils 52900 mils lineto stroke 1 setlinewidth newpath 1.5 setlinewidth 64000 mils 53600 mils moveto 64000 mils 53400 mils lineto stroke 1 setlinewidth gsave newpath 63800 mils 53100 mils moveto 64200 mils 53100 mils lineto stroke grestore gsave newpath 63800 mils 53200 mils moveto 64200 mils 53200 mils lineto stroke grestore gsave newpath 64000 mils 53400 mils moveto 64000 mils 53200 mils lineto stroke grestore gsave newpath 64000 mils 53100 mils moveto 64000 mils 52900 mils lineto stroke grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 63700 mils 52900 mils moveto 90 rotate (C7) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 64400 mils 52900 mils moveto 90 rotate (100n) show grestore gsave newpath 1.5 setlinewidth 65000 mils 52700 mils moveto 65000 mils 52900 mils lineto stroke 1 setlinewidth newpath 1.5 setlinewidth 65000 mils 53600 mils moveto 65000 mils 53400 mils lineto stroke 1 setlinewidth gsave newpath 64800 mils 53100 mils moveto 65200 mils 53100 mils lineto stroke grestore gsave newpath 64800 mils 53200 mils moveto 65200 mils 53200 mils lineto stroke grestore gsave newpath 65000 mils 53400 mils moveto 65000 mils 53200 mils lineto stroke grestore gsave newpath 65000 mils 53100 mils moveto 65000 mils 52900 mils lineto stroke grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 64700 mils 52900 mils moveto 90 rotate (C8) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 65400 mils 52900 mils moveto 90 rotate (100n) show grestore gsave newpath 1.5 setlinewidth 66000 mils 52700 mils moveto 66000 mils 52900 mils lineto stroke 1 setlinewidth newpath 1.5 setlinewidth 66000 mils 53600 mils moveto 66000 mils 53400 mils lineto stroke 1 setlinewidth gsave newpath 65800 mils 53100 mils moveto 66200 mils 53100 mils lineto stroke grestore gsave newpath 65800 mils 53200 mils moveto 66200 mils 53200 mils lineto stroke grestore gsave newpath 66000 mils 53400 mils moveto 66000 mils 53200 mils lineto stroke grestore gsave newpath 66000 mils 53100 mils moveto 66000 mils 52900 mils lineto stroke grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 65700 mils 52900 mils moveto 90 rotate (C9) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 66400 mils 52900 mils moveto 90 rotate (100n) show grestore gsave newpath 1.5 setlinewidth 63000 mils 54000 mils moveto 63000 mils 54200 mils lineto stroke 1 setlinewidth gsave newpath 62850 mils 54200 mils moveto 63150 mils 54200 mils lineto stroke grestore gsave /Helvetica findfont 11.200000 scalefont setfont 62875 mils 54250 mils moveto (+3.3V) show grestore grestore gsave newpath 1.5 setlinewidth 63000 mils 52100 mils moveto 63000 mils 52300 mils lineto stroke 1 setlinewidth gsave newpath 62900 mils 52100 mils moveto 63100 mils 52100 mils lineto stroke grestore gsave newpath 62955 mils 52050 mils moveto 63045 mils 52050 mils lineto stroke grestore gsave newpath 62980 mils 52010 mils moveto 63020 mils 52010 mils lineto stroke grestore grestore gsave newpath 1.5 setlinewidth 63000 mils 52500 mils moveto 66000 mils 52500 mils lineto stroke newpath 63000 mils 52500 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 66000 mils 52500 mils moveto 66000 mils 52700 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 63000 mils 53800 mils moveto 66000 mils 53800 mils lineto stroke newpath 63000 mils 53800 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 66000 mils 53800 mils moveto 66000 mils 53600 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 63000 mils 54000 mils moveto 63000 mils 53800 mils lineto stroke newpath 63000 mils 53800 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 63000 mils 53800 mils moveto 63000 mils 53600 mils lineto stroke newpath 63000 mils 53800 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 63000 mils 52300 mils moveto 63000 mils 52500 mils lineto stroke newpath 63000 mils 52500 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 63000 mils 52500 mils moveto 63000 mils 52700 mils lineto stroke newpath 63000 mils 52500 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 64000 mils 52500 mils moveto 64000 mils 52700 mils lineto stroke newpath 64000 mils 52500 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 65000 mils 52500 mils moveto 65000 mils 52700 mils lineto stroke newpath 65000 mils 52500 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 64000 mils 53600 mils moveto 64000 mils 53800 mils lineto stroke newpath 64000 mils 53800 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 65000 mils 53600 mils moveto 65000 mils 53800 mils lineto stroke newpath 65000 mils 53800 mils 3 0 360 arc fill grestore gsave /Helvetica findfont 21.000000 scalefont setfont 62400 mils 51600 mils moveto (Place one near each VCC pin for U1) show grestore gsave gsave /Helvetica findfont 14.000000 scalefont setfont 44000 mils 41000 mils moveto (This schematic is free software; you can redistribute it and/or modify) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 44000 mils 40800 mils moveto ( it under the terms of the GNU General Public License as published by) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 44000 mils 40600 mils moveto (the Free Software Foundation; either version 2 of the License, or) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 44000 mils 40400 mils moveto (\(at your option\) any later version.) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 44000 mils 40100 mils moveto (This schematic is distributed in the hope that it will be useful,) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 44000 mils 39900 mils moveto (but WITHOUT ANY WARRANTY; without even the implied warranty of) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 44000 mils 39700 mils moveto (MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 44000 mils 39400 mils moveto (GNU General Public License for more details.) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 44000 mils 39200 mils moveto (You should have received a copy of the GNU General Public License) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 44000 mils 39000 mils moveto (along with this program; if not, write to the Free Software) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 44000 mils 38800 mils moveto (Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 44000 mils 41400 mils moveto (\(C\) 2001 Stefan Petersen \(spe@stacken.kth.se\)) show grestore grestore gsave newpath 1.5 setlinewidth 47400 mils 42700 mils moveto 47600 mils 42700 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 11.200000 scalefont setfont 47550 mils 42750 mils moveto 90 rotate (2) show grestore newpath 1.5 setlinewidth 48400 mils 42700 mils moveto 48200 mils 42700 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 11.200000 scalefont setfont 48350 mils 42750 mils moveto 90 rotate (1) show grestore gsave newpath 47700 mils 42700 mils 50 mils 0 360 arc stroke grestore gsave newpath 48100 mils 42700 mils 50 mils 0 360 arc stroke grestore gsave gsave newpath 47600 mils 42600 mils moveto 48200 mils 42600 mils lineto stroke grestore gsave newpath 48200 mils 42600 mils moveto 48200 mils 42800 mils lineto stroke grestore gsave newpath 48200 mils 42800 mils moveto 47600 mils 42800 mils lineto stroke grestore gsave newpath 47600 mils 42800 mils moveto 47600 mils 42600 mils lineto stroke grestore grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 47800 mils 42400 mils moveto (J1) show grestore gsave newpath 1.5 setlinewidth 47400 mils 42700 mils moveto 47300 mils 42700 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 48400 mils 42700 mils moveto 48500 mils 42700 mils lineto stroke newpath 48500 mils 42700 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 48500 mils 42700 mils moveto 49600 mils 42700 mils lineto stroke newpath 48500 mils 42700 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 47300 mils 53000 mils moveto 47500 mils 53000 mils lineto stroke 1 setlinewidth gsave newpath 47000 mils 53000 mils moveto 46900 mils 53100 mils lineto stroke grestore gsave newpath 47000 mils 53000 mils moveto 46900 mils 52900 mils lineto stroke grestore gsave newpath 47300 mils 53000 mils moveto 47000 mils 53000 mils lineto stroke grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 46900 mils 53200 mils moveto (reset#) show grestore showpage geda-gaf-1.8.2/examples/gTAG/sn75240pw.sym0000664000175000017500000000236012050461155014623 00000000000000v 20031011 1 B 300 200 1300 1500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1600 1500 1900 1500 1 0 1 { T 1700 1500 5 10 1 1 0 0 1 pinnumber=8 T 1700 1500 5 10 0 0 0 0 1 pinseq=8 } P 1600 1200 1900 1200 1 0 1 { T 1700 1200 5 10 1 1 0 0 1 pinnumber=7 T 1700 1200 5 10 0 0 0 0 1 pinseq=7 } P 1600 800 1900 800 1 0 1 { T 1700 800 5 10 1 1 0 0 1 pinnumber=6 T 1700 800 5 10 0 0 0 0 1 pinseq=6 } P 1600 400 1900 400 1 0 1 { T 1700 400 5 10 1 1 0 0 1 pinnumber=5 T 1700 400 5 10 0 0 0 0 1 pinseq=5 } P 0 1500 300 1500 1 0 0 { T 200 1500 5 10 1 1 0 0 1 pinnumber=1 T 200 1500 5 10 0 0 0 0 1 pinseq=1 } P 0 1200 300 1200 1 0 0 { T 200 1200 5 10 1 1 0 0 1 pinnumber=2 T 200 1200 5 10 0 0 0 0 1 pinseq=2 } P 0 800 300 800 1 0 0 { T 200 800 5 10 1 1 0 0 1 pinnumber=3 T 200 800 5 10 0 0 0 0 1 pinseq=3 } P 0 400 300 400 1 0 0 { T 200 400 5 10 1 1 0 0 1 pinnumber=4 T 200 400 5 10 0 0 0 0 1 pinseq=4 } T 400 1500 9 10 1 0 0 0 1 GND T 400 800 9 10 1 0 0 0 1 GND T 1500 400 9 10 1 0 0 6 1 GND T 1500 1200 9 10 1 0 0 6 1 GND T 1500 1500 9 10 1 0 0 6 1 A T 1500 800 9 10 1 0 0 6 1 B T 400 1200 9 10 1 0 0 0 1 C T 400 400 9 10 1 0 0 0 1 D T 400 0 9 10 1 0 0 0 1 SN75240PW T 300 1800 8 10 1 1 0 0 1 refdes=U? T 400 1000 8 10 0 1 0 0 1 device=SN75240PW T 700 1000 8 10 0 1 0 0 1 footprint=SO8 geda-gaf-1.8.2/examples/gTAG/gTAG-psu.ps0000664000175000017500000005243012050461155014436 00000000000000%! /inch {72 mul} def /mils { 1000 div inch } def /setcoords { 8269 mils 0 translate 90 rotate 0.447283 0.447283 scale } def /box { exch dup 0 rlineto exch 0 exch rlineto neg 0 rlineto closepath stroke } def /fbox { exch dup 0 rlineto exch 0 exch rlineto neg 0 rlineto closepath fill } def setcoords 2 setlinecap % Translate origin to the right place... -46994 mils -41007 mils translate gsave gsave gsave newpath 48300 mils 42000 mils moveto 71600 mils 42000 mils lineto stroke grestore gsave newpath 71600 mils 42000 mils moveto 71600 mils 58500 mils lineto stroke grestore gsave newpath 71600 mils 58500 mils moveto 48300 mils 58500 mils lineto stroke grestore gsave newpath 48300 mils 58500 mils moveto 48300 mils 42000 mils lineto stroke grestore grestore gsave newpath 67500 mils 42600 mils moveto 67500 mils 42000 mils lineto stroke grestore gsave /Helvetica findfont 11.200000 scalefont setfont 64100 mils 42400 mils moveto (FILE:) show grestore gsave /Helvetica findfont 11.200000 scalefont setfont 67600 mils 42400 mils moveto (REVISION:) show grestore gsave /Helvetica findfont 11.200000 scalefont setfont 67600 mils 42100 mils moveto (DRAWN BY: ) show grestore gsave /Helvetica findfont 11.200000 scalefont setfont 64100 mils 42100 mils moveto (PAGE) show grestore gsave /Helvetica findfont 11.200000 scalefont setfont 65800 mils 42100 mils moveto (OF) show grestore gsave /Helvetica findfont 11.200000 scalefont setfont 64100 mils 42700 mils moveto (TITLE) show grestore gsave gsave newpath 64000 mils 42000 mils moveto 71600 mils 42000 mils lineto stroke grestore gsave newpath 71600 mils 42000 mils moveto 71600 mils 43400 mils lineto stroke grestore gsave newpath 71600 mils 43400 mils moveto 64000 mils 43400 mils lineto stroke grestore gsave newpath 64000 mils 43400 mils moveto 64000 mils 42000 mils lineto stroke grestore grestore gsave newpath 64000 mils 42600 mils moveto 71600 mils 42600 mils lineto stroke grestore grestore gsave newpath 1.5 setlinewidth 55100 mils 52400 mils moveto 55300 mils 52400 mils lineto stroke 1 setlinewidth gsave newpath 54800 mils 52400 mils moveto 54700 mils 52500 mils lineto stroke grestore gsave newpath 54800 mils 52400 mils moveto 54700 mils 52300 mils lineto stroke grestore gsave newpath 55100 mils 52400 mils moveto 54800 mils 52400 mils lineto stroke grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 54700 mils 52600 mils moveto (usb_power) show grestore gsave newpath 1.5 setlinewidth 55100 mils 51700 mils moveto 55300 mils 51700 mils lineto stroke 1 setlinewidth gsave newpath 54800 mils 51700 mils moveto 54700 mils 51800 mils lineto stroke grestore gsave newpath 54800 mils 51700 mils moveto 54700 mils 51600 mils lineto stroke grestore gsave newpath 55100 mils 51700 mils moveto 54800 mils 51700 mils lineto stroke grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 54700 mils 51900 mils moveto (jtag_power) show grestore gsave gsave gsave newpath 61300 mils 51300 mils moveto 62800 mils 51300 mils lineto stroke grestore gsave newpath 62800 mils 51300 mils moveto 62800 mils 53100 mils lineto stroke grestore gsave newpath 62800 mils 53100 mils moveto 61300 mils 53100 mils lineto stroke grestore gsave newpath 61300 mils 53100 mils moveto 61300 mils 51300 mils lineto stroke grestore grestore newpath 1.5 setlinewidth 61300 mils 52400 mils moveto 61000 mils 52400 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 61200 mils 52400 mils moveto (5) show grestore newpath 1.5 setlinewidth 61300 mils 51700 mils moveto 61000 mils 51700 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 61200 mils 51700 mils moveto (8) show grestore newpath 1.5 setlinewidth 61300 mils 52800 mils moveto 61000 mils 52800 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 61200 mils 52800 mils moveto (7) show grestore newpath 1.5 setlinewidth 63100 mils 51800 mils moveto 62800 mils 51800 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 62900 mils 51800 mils moveto (4) show grestore newpath 1.5 setlinewidth 61600 mils 51300 mils moveto 61600 mils 51000 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 61600 mils 51100 mils moveto (2) show grestore newpath 1.5 setlinewidth 62100 mils 51300 mils moveto 62100 mils 51000 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 62100 mils 51100 mils moveto (3) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 62700 mils (OUT) stringwidth pop -1 mul add 51800 mils 10.000000 .5 mul -1 mul add moveto (OUT) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 61400 mils 52400 mils 10.000000 .5 mul -1 mul add moveto (IN) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 61400 mils 51700 mils 10.000000 .5 mul -1 mul add moveto (LBI) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 61600 mils (SET) stringwidth pop .5 mul -1 mul add 51400 mils moveto (SET) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 62200 mils (GND) stringwidth pop .5 mul -1 mul add 51400 mils moveto (GND) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 61400 mils 52800 mils 10.000000 .5 mul -1 mul add moveto (STBY#) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 61300 mils 53200 mils moveto (MAX882) show grestore newpath 1.5 setlinewidth 62300 mils 51300 mils moveto 62300 mils 51000 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 62300 mils 51100 mils moveto (6) show grestore newpath 1.5 setlinewidth 63100 mils 52400 mils moveto 62800 mils 52400 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 62900 mils 52400 mils moveto (1) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 62700 mils (LBO) stringwidth pop -1 mul add 52400 mils 10.000000 .5 mul -1 mul add moveto (LBO) show grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 62500 mils 53200 mils moveto (U30) show grestore gsave newpath 1.5 setlinewidth 64300 mils 51900 mils moveto 64300 mils 52100 mils lineto stroke 1 setlinewidth gsave newpath 64150 mils 52100 mils moveto 64450 mils 52100 mils lineto stroke grestore gsave /Helvetica findfont 11.200000 scalefont setfont 64175 mils 52150 mils moveto (+3.3V) show grestore grestore gsave newpath 1.5 setlinewidth 61900 mils 49300 mils moveto 61900 mils 49500 mils lineto stroke 1 setlinewidth gsave newpath 61800 mils 49300 mils moveto 62000 mils 49300 mils lineto stroke grestore gsave newpath 61855 mils 49250 mils moveto 61945 mils 49250 mils lineto stroke grestore gsave newpath 61880 mils 49210 mils moveto 61920 mils 49210 mils lineto stroke grestore grestore gsave newpath 1.5 setlinewidth 63500 mils 51400 mils moveto 63500 mils 51200 mils lineto stroke 1 setlinewidth newpath 1.5 setlinewidth 63500 mils 50500 mils moveto 63500 mils 50700 mils lineto stroke 1 setlinewidth gsave newpath 63700 mils 51000 mils moveto 63300 mils 51000 mils lineto stroke grestore gsave newpath 63500 mils 50700 mils moveto 63500 mils 50900 mils lineto stroke grestore gsave newpath 63500 mils 51000 mils moveto 63500 mils 51200 mils lineto stroke grestore gsave 1 mils setlinewidth newpath 63500 mils 50200 mils 700 mils 75 105 arc stroke grestore gsave newpath 63700 mils 51111 mils moveto 63600 mils 51111 mils lineto stroke grestore gsave newpath 63649 mils 51060 mils moveto 63649 mils 51160 mils lineto stroke grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 63800 mils 51000 mils moveto (C32) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 63600 mils 50700 mils moveto (2.2u) show grestore gsave newpath 1.5 setlinewidth 58900 mils 51300 mils moveto 58900 mils 51100 mils lineto stroke 1 setlinewidth newpath 1.5 setlinewidth 58900 mils 50400 mils moveto 58900 mils 50600 mils lineto stroke 1 setlinewidth gsave newpath 59100 mils 50900 mils moveto 58700 mils 50900 mils lineto stroke grestore gsave newpath 58900 mils 50600 mils moveto 58900 mils 50800 mils lineto stroke grestore gsave newpath 58900 mils 50900 mils moveto 58900 mils 51100 mils lineto stroke grestore gsave 1 mils setlinewidth newpath 58900 mils 50100 mils 700 mils 75 105 arc stroke grestore gsave newpath 59100 mils 51011 mils moveto 59000 mils 51011 mils lineto stroke grestore gsave newpath 59049 mils 50960 mils moveto 59049 mils 51060 mils lineto stroke grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 59200 mils 50900 mils moveto (C31) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 59000 mils 50600 mils moveto (2.2u) show grestore gsave newpath 1.5 setlinewidth 63100 mils 51800 mils moveto 64300 mils 51800 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 64300 mils 51800 mils moveto 64300 mils 51900 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 63500 mils 51800 mils moveto 63500 mils 51400 mils lineto stroke newpath 63500 mils 51800 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 58900 mils 51300 mils moveto 58900 mils 52400 mils lineto stroke newpath 58900 mils 52400 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 58000 mils 50000 mils moveto 63500 mils 50000 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 63500 mils 50000 mils moveto 63500 mils 50500 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 58900 mils 50000 mils moveto 58900 mils 50400 mils lineto stroke newpath 58900 mils 50000 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 61600 mils 51000 mils moveto 61600 mils 50000 mils lineto stroke newpath 61600 mils 50000 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 62100 mils 51000 mils moveto 62100 mils 50000 mils lineto stroke newpath 62100 mils 50000 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 61900 mils 49500 mils moveto 61900 mils 50000 mils lineto stroke newpath 61900 mils 50000 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 56700 mils 52400 mils moveto 56550 mils 52400 mils lineto stroke 1 setlinewidth newpath 1.5 setlinewidth 55800 mils 52400 mils moveto 55952 mils 52400 mils lineto stroke 1 setlinewidth gsave gsave newpath 55950 mils 52300 mils moveto 56550 mils 52300 mils lineto stroke grestore gsave newpath 56550 mils 52300 mils moveto 56550 mils 52500 mils lineto stroke grestore gsave newpath 56550 mils 52500 mils moveto 55950 mils 52500 mils lineto stroke grestore gsave newpath 55950 mils 52500 mils moveto 55950 mils 52300 mils lineto stroke grestore grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 56000 mils 52600 mils moveto (R30) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 56200 mils 52100 mils moveto (0) show grestore gsave newpath 1.5 setlinewidth 56700 mils 51700 mils moveto 56550 mils 51700 mils lineto stroke 1 setlinewidth newpath 1.5 setlinewidth 55800 mils 51700 mils moveto 55952 mils 51700 mils lineto stroke 1 setlinewidth gsave gsave newpath 55950 mils 51600 mils moveto 56550 mils 51600 mils lineto stroke grestore gsave newpath 56550 mils 51600 mils moveto 56550 mils 51800 mils lineto stroke grestore gsave newpath 56550 mils 51800 mils moveto 55950 mils 51800 mils lineto stroke grestore gsave newpath 55950 mils 51800 mils moveto 55950 mils 51600 mils lineto stroke grestore grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 56000 mils 51900 mils moveto (R31) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 56200 mils 51400 mils moveto (0) show grestore gsave newpath 1.5 setlinewidth 61000 mils 52400 mils moveto 56700 mils 52400 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 61000 mils 52800 mils moveto 60000 mils 52800 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 55800 mils 51700 mils moveto 55300 mils 51700 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 55800 mils 52400 mils moveto 55300 mils 52400 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 58000 mils 51300 mils moveto 58000 mils 51100 mils lineto stroke 1 setlinewidth newpath 1.5 setlinewidth 58000 mils 50400 mils moveto 58000 mils 50600 mils lineto stroke 1 setlinewidth gsave newpath 58200 mils 50900 mils moveto 57800 mils 50900 mils lineto stroke grestore gsave newpath 58200 mils 50800 mils moveto 57800 mils 50800 mils lineto stroke grestore gsave newpath 58000 mils 50600 mils moveto 58000 mils 50800 mils lineto stroke grestore gsave newpath 58000 mils 50900 mils moveto 58000 mils 51100 mils lineto stroke grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 58300 mils 50900 mils moveto (C30) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 58100 mils 50600 mils moveto (100n) show grestore gsave newpath 1.5 setlinewidth 58000 mils 50000 mils moveto 58000 mils 50400 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 58000 mils 51300 mils moveto 58000 mils 52400 mils lineto stroke newpath 58000 mils 52400 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 57000 mils 52400 mils moveto 57000 mils 51700 mils lineto stroke newpath 57000 mils 52400 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 57000 mils 51700 mils moveto 56700 mils 51700 mils lineto stroke grestore gsave /Helvetica findfont 28.000000 scalefont setfont 65700 mils 42900 mils moveto (gTAG - Power Supply Unit) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 64600 mils 42400 mils moveto (gTAG-psu.sch) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 64600 mils 42100 mils moveto (4) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 66100 mils 42100 mils moveto (5) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 68600 mils 42400 mils moveto ($Revision$) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 68600 mils 42100 mils moveto (Stefan Petersen \(spe@stacken.kth.se\)) show grestore gsave newpath 1.5 setlinewidth 62300 mils 51000 mils moveto 62300 mils 50000 mils lineto stroke newpath 62300 mils 50000 mils 3 0 360 arc fill grestore gsave gsave /Helvetica findfont 14.000000 scalefont setfont 48600 mils 44500 mils moveto (This schematic is free software; you can redistribute it and/or modify) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 48600 mils 44300 mils moveto ( it under the terms of the GNU General Public License as published by) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 48600 mils 44100 mils moveto (the Free Software Foundation; either version 2 of the License, or) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 48600 mils 43900 mils moveto (\(at your option\) any later version.) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 48600 mils 43600 mils moveto (This schematic is distributed in the hope that it will be useful,) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 48600 mils 43400 mils moveto (but WITHOUT ANY WARRANTY; without even the implied warranty of) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 48600 mils 43200 mils moveto (MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 48600 mils 42900 mils moveto (GNU General Public License for more details.) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 48600 mils 42700 mils moveto (You should have received a copy of the GNU General Public License) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 48600 mils 42500 mils moveto (along with this program; if not, write to the Free Software) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 48600 mils 42300 mils moveto (Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 48600 mils 44900 mils moveto (\(C\) 2001 Stefan Petersen \(spe@stacken.kth.se\)) show grestore grestore gsave newpath 1.5 setlinewidth 60000 mils 51200 mils moveto 60000 mils 51050 mils lineto stroke 1 setlinewidth newpath 1.5 setlinewidth 60000 mils 50300 mils moveto 60000 mils 50452 mils lineto stroke 1 setlinewidth gsave gsave newpath 59900 mils 50450 mils moveto 60100 mils 50450 mils lineto stroke grestore gsave newpath 60100 mils 50450 mils moveto 60100 mils 51050 mils lineto stroke grestore gsave newpath 60100 mils 51050 mils moveto 59900 mils 51050 mils lineto stroke grestore gsave newpath 59900 mils 51050 mils moveto 59900 mils 50450 mils lineto stroke grestore grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 60200 mils 50800 mils moveto (R33) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 60200 mils 50500 mils moveto (39k) show grestore gsave newpath 1.5 setlinewidth 60000 mils 52300 mils moveto 60000 mils 52150 mils lineto stroke 1 setlinewidth newpath 1.5 setlinewidth 60000 mils 51400 mils moveto 60000 mils 51552 mils lineto stroke 1 setlinewidth gsave gsave newpath 59900 mils 51550 mils moveto 60100 mils 51550 mils lineto stroke grestore gsave newpath 60100 mils 51550 mils moveto 60100 mils 52150 mils lineto stroke grestore gsave newpath 60100 mils 52150 mils moveto 59900 mils 52150 mils lineto stroke grestore gsave newpath 59900 mils 52150 mils moveto 59900 mils 51550 mils lineto stroke grestore grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 60200 mils 51900 mils moveto (R32) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 60200 mils 51600 mils moveto (100k) show grestore gsave newpath 1.5 setlinewidth 61000 mils 51700 mils moveto 60800 mils 51700 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 60800 mils 51700 mils moveto 60800 mils 51300 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 60800 mils 51300 mils moveto 60000 mils 51300 mils lineto stroke newpath 60000 mils 51300 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 60000 mils 51400 mils moveto 60000 mils 51300 mils lineto stroke newpath 60000 mils 51300 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 60000 mils 51300 mils moveto 60000 mils 51200 mils lineto stroke newpath 60000 mils 51300 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 60000 mils 50300 mils moveto 60000 mils 50000 mils lineto stroke newpath 60000 mils 50000 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 60000 mils 52300 mils moveto 60000 mils 52400 mils lineto stroke newpath 60000 mils 52400 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 60000 mils 52400 mils moveto 60000 mils 52800 mils lineto stroke newpath 60000 mils 52400 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 64100 mils 53500 mils moveto 64100 mils 53350 mils lineto stroke 1 setlinewidth newpath 1.5 setlinewidth 64100 mils 52600 mils moveto 64100 mils 52752 mils lineto stroke 1 setlinewidth gsave gsave newpath 64000 mils 52750 mils moveto 64200 mils 52750 mils lineto stroke grestore gsave newpath 64200 mils 52750 mils moveto 64200 mils 53350 mils lineto stroke grestore gsave newpath 64200 mils 53350 mils moveto 64000 mils 53350 mils lineto stroke grestore gsave newpath 64000 mils 53350 mils moveto 64000 mils 52750 mils lineto stroke grestore grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 64300 mils 53200 mils moveto (R34) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 64300 mils 52800 mils moveto (10k) show grestore gsave newpath 1.5 setlinewidth 65000 mils 52400 mils moveto 65200 mils 52400 mils lineto stroke 1 setlinewidth gsave newpath 65200 mils 52400 mils moveto 65600 mils 52400 mils lineto stroke grestore gsave newpath 65600 mils 52400 mils moveto 65500 mils 52500 mils lineto stroke grestore gsave newpath 65600 mils 52400 mils moveto 65500 mils 52300 mils lineto stroke grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 65000 mils 52600 mils moveto (pon_reset#) show grestore gsave newpath 1.5 setlinewidth 64100 mils 53700 mils moveto 64100 mils 53900 mils lineto stroke 1 setlinewidth gsave newpath 63950 mils 53900 mils moveto 64250 mils 53900 mils lineto stroke grestore gsave /Helvetica findfont 11.200000 scalefont setfont 63975 mils 53950 mils moveto (+3.3V) show grestore grestore gsave newpath 1.5 setlinewidth 63100 mils 52400 mils moveto 65000 mils 52400 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 64100 mils 52600 mils moveto 64100 mils 52400 mils lineto stroke newpath 64100 mils 52400 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 64100 mils 53500 mils moveto 64100 mils 53700 mils lineto stroke grestore gsave /Helvetica findfont 14.000000 scalefont setfont 58400 mils 49400 mils moveto ("low-bat" voltage is calculated) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 58400 mils 49200 mils moveto (according to the following formula:) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 58400 mils 48800 mils moveto (Vlo = Vlbi*\(\(R32+R33\)/R33\), where Vlbi is 1.2V) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 58400 mils 48400 mils moveto (Here: Vlo = 1.2*139/39 = 4.3V) show grestore showpage geda-gaf-1.8.2/examples/gTAG/ChangeLog-1.00000664000175000017500000000235112050461155014546 000000000000002003-05-22 Ales Hvezda (ahvezda@seul.org) * Updated all sym/sch files to the latest gEDA/gaf version. 2003-01-11 Ales Hvezda (ahvezda@seul.org) * Updated all files to the current gEDA/gaf file formats. * Corrected CONN1 offset problem. * Re-ran gnetlist and recreated netlist and bom. * Added attribs file for bom generation. * Added gschlasrc file. * Removed COPYING (as it is now one directory higher) * Added Makefile.am and added all the files into SEUL gEDA cvs. 2001-02-12 Stefan Petersen (spe@stacken.kth.se) * Added proper power-on-reset from the MAX882 to the u-controller after suggestion from Luis Miguel Brugarolas . R1 and C1 removed. Added is R33, R32 and R34. U30 is changed. 2001-02-11 Stefan Petersen (spe@stacken.kth.se) * Added the lines (hierarchy-netname-mangle "disabled") (hierarchy-uref-mangle "disabled") to gnetlistrc so PCB likes the PCB netlist gnetlist generates. 2001-02-08 Stefan Petersen (spe@stacken.kth.se) * Added C20 after suggestion from Andrew Dyer. * Changed distribution script so the generated PCB netlist is called gTAG-pcb.net due to possible name clash with PCB layout. * Added R20-R23 after suggestion from Andrew Dyer. geda-gaf-1.8.2/examples/gTAG/gTAG-consio.sch0000664000175000017500000000256112050461155015254 00000000000000v 20031011 1 C 46600 40200 0 0 0 title-A2.sym C 57100 48400 1 0 1 out-1.sym { T 57100 48700 5 10 1 1 0 6 1 refdes=usb_io+ } C 57100 49200 1 0 1 out-1.sym { T 57100 49500 5 10 1 1 0 6 1 refdes=usb_io- } C 57900 50600 1 0 0 gnd-1.sym C 56100 50900 1 0 0 connector4-1.sym { T 56100 52300 5 10 1 1 0 0 1 refdes=CONN2 T 56000 50700 5 10 0 1 0 0 1 footprint=conn_usb } C 59400 51900 1 0 0 out-1.sym { T 59400 52200 5 10 1 1 0 0 1 refdes=usb_power } N 57800 51400 58700 51400 4 N 58700 48500 58700 51400 4 N 57800 51700 59000 51700 4 N 57800 52000 59400 52000 4 N 57800 51100 58000 51100 4 N 58000 51100 58000 50900 4 T 52700 51500 9 25 1 0 0 0 1 USB connector C 59900 48100 1 0 0 sn75240pw.sym { T 60200 49900 5 10 1 1 0 0 1 refdes=U40 } C 59600 48000 1 0 0 gnd-1.sym C 61900 48000 1 0 0 gnd-1.sym N 59900 49600 59700 49600 4 N 59700 49600 59700 48300 4 N 59900 48900 59700 48900 4 N 62000 48300 62000 49300 4 N 61800 49300 62000 49300 4 N 61800 48500 62000 48500 4 N 59000 51700 59000 49300 4 N 58700 48500 59900 48500 4 N 59000 49300 59900 49300 4 N 59000 49300 57100 49300 4 N 58700 48500 57100 48500 4 T 64300 41100 9 20 1 0 0 0 1 gTAG - console IO T 64400 40300 9 10 1 0 0 0 1 5 T 63000 40300 9 10 1 0 0 0 1 3 T 63000 40600 9 10 1 0 0 0 1 gTAG-consio.sch T 66800 40300 9 10 1 0 0 0 1 Stefan Petersen (spe@stacken.kth.se) T 66800 40600 9 10 1 0 0 0 1 $Revision$ C 46900 40400 1 0 0 copyleft.sym geda-gaf-1.8.2/examples/gTAG/attribs0000664000175000017500000000004012050461155014064 00000000000000refdes device footprint geda-gaf-1.8.2/examples/gTAG/copyleft.sym0000664000175000017500000000211712050461155015057 00000000000000v 20031011 1 T 0 2300 9 10 1 0 0 0 1 This schematic is free software; you can redistribute it and/or modify T 0 2100 9 10 1 0 0 0 1 it under the terms of the GNU General Public License as published by T 0 1900 9 10 1 0 0 0 1 the Free Software Foundation; either version 2 of the License, or T 0 1700 9 10 1 0 0 0 1 (at your option) any later version. T 0 1400 9 10 1 0 0 0 1 This schematic is distributed in the hope that it will be useful, T 0 1200 9 10 1 0 0 0 1 but WITHOUT ANY WARRANTY; without even the implied warranty of T 0 1000 9 10 1 0 0 0 1 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the T 0 700 9 10 1 0 0 0 1 GNU General Public License for more details. T 0 500 9 10 1 0 0 0 1 You should have received a copy of the GNU General Public License T 0 300 9 10 1 0 0 0 1 along with this program; if not, write to the Free Software T 0 100 9 10 1 0 0 0 1 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA T 0 2700 9 10 1 0 0 0 1 (C) 2001 Stefan Petersen (spe@stacken.kth.se) T 2300 3400 8 10 0 0 0 0 1 graphical=1 T 2300 3200 8 10 0 0 0 0 1 device=none geda-gaf-1.8.2/examples/gTAG/README0000664000175000017500000000326612204066537013374 00000000000000 gTAG - USB to JTAG interface ============================ This is the README file for the schematic of gTAG. Short description ----------------- gTAG is an interface to connect your USB port of computer to talk to your circuits which talks JTAG. Copyright --------- These schematics is (C) by Stefan Petersen (spe@stacken.kth.se) and released under GPL (see the attached file COPYING). GPL is mainly written for software, ie intellectual property in electronic form. By making this schematic an intellectual property in electronic form gTAG schematics can be covered by GPL. How? ---- These schematics are made with gschem and netlists are then generated with gnetlist. Both gschem and gnetlist are part of gEDA (http://www.geda-project.org/). Files ----- The distribution of the schematics of gTAG should consist of: * README - this file. * COPYING - GPL copyright notice. * crdist.sh - shell script used to generate the tar.gz. * ChangeLog - tries to scribble down what has changed between versions. * Four component symbols: - 7414-1.sym - Original 7414 from gschem without power attributes. - max882.sym - 5-to-3.3 V converter. - cy7c64603-52nc.sym - USB microcontroller from Cypress. - sn75240pw.sym - Surge supressor for USB - copyleft.sym - Symbol with GPL text for all schematics. * Five schematics with four symbols: - gTAG.sch.sch - Toplevel schematic for gTAG - gTAG-jtagio.[sym/sch] - gTAG-ucont.[sym/sch] - gTAG-consio.[sym/sch] - gTAG-psu.[sym/sch] * gEDA rc-files for this project: - commonrc - contains common declarations for both gschem and gnetlist - gnetlistrc - gnetlist specific and and calls commonrc - gschemrc - gschem specific and and calls commonrc geda-gaf-1.8.2/examples/gTAG/max882.sym0000664000175000017500000000231612050461155014262 00000000000000v 20031011 1 B 300 300 1500 1800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 300 1400 0 1400 1 0 1 { T 200 1400 5 10 1 1 0 0 1 pinnumber=5 T 200 1200 5 10 0 1 0 0 1 pinseq=2 } P 300 700 0 700 1 0 1 { T 200 700 5 10 1 1 0 0 1 pinnumber=8 T 200 500 5 10 0 1 0 0 1 pinseq=3 } P 300 1800 0 1800 1 0 1 { T 200 1800 5 10 1 1 0 0 1 pinnumber=7 T 200 1600 5 10 0 1 0 0 1 pinseq=1 } P 2100 800 1800 800 1 0 0 { T 1900 800 5 10 1 1 0 0 1 pinnumber=4 T 1900 600 5 10 0 1 0 0 1 pinseq=7 } P 600 300 600 0 1 0 1 { T 600 100 5 10 1 1 0 0 1 pinnumber=2 T 400 100 5 10 0 1 0 0 1 pinseq=4 } P 1100 300 1100 0 1 0 1 { T 1100 100 5 10 1 1 0 0 1 pinnumber=3 T 900 100 5 10 0 1 0 0 1 pinseq=5 } T 1700 800 9 10 1 0 0 7 1 OUT T 400 1400 9 10 1 0 0 1 1 IN T 400 700 9 10 1 0 0 1 1 LBI T 600 400 9 10 1 0 0 3 1 SET T 1200 400 9 10 1 0 0 3 1 GND T 400 1800 9 10 1 0 0 1 1 STBY# T 300 2200 9 10 1 0 0 0 1 MAX882 T 1500 2200 8 10 1 1 0 0 1 refdes=U? T 800 1200 8 10 0 1 0 0 1 device=MAX882 T 900 800 8 10 0 1 0 0 1 footprint=SO8 P 1300 300 1300 0 1 0 1 { T 1300 100 5 10 1 1 0 0 1 pinnumber=6 T 1500 100 5 10 0 1 0 0 1 pinseq=6 } P 2100 1400 1800 1400 1 0 0 { T 1900 1400 5 10 1 1 0 0 1 pinnumber=1 T 1900 1200 5 10 0 1 0 0 1 pinseq=8 } T 1700 1400 9 10 1 0 0 7 1 LBO geda-gaf-1.8.2/examples/gTAG/gnetlistrc0000664000175000017500000000016212050461155014577 00000000000000(hierarchy-netattrib-mangle "disabled") (hierarchy-netname-mangle "disabled") (hierarchy-uref-mangle "disabled") geda-gaf-1.8.2/examples/gTAG/gTAG-jtagio.ps0000664000175000017500000010026612050461155015105 00000000000000%! /inch {72 mul} def /mils { 1000 div inch } def /setcoords { 8269 mils 0 translate 90 rotate 0.449193 0.449193 scale } def /box { exch dup 0 rlineto exch 0 exch rlineto neg 0 rlineto closepath stroke } def /fbox { exch dup 0 rlineto exch 0 exch rlineto neg 0 rlineto closepath fill } def setcoords 2 setlinecap % Translate origin to the right place... -38899 mils -41946 mils translate gsave gsave gsave newpath 40200 mils 42900 mils moveto 63500 mils 42900 mils lineto stroke grestore gsave newpath 63500 mils 42900 mils moveto 63500 mils 59400 mils lineto stroke grestore gsave newpath 63500 mils 59400 mils moveto 40200 mils 59400 mils lineto stroke grestore gsave newpath 40200 mils 59400 mils moveto 40200 mils 42900 mils lineto stroke grestore grestore gsave newpath 59400 mils 43500 mils moveto 59400 mils 42900 mils lineto stroke grestore gsave /Helvetica findfont 11.200000 scalefont setfont 56000 mils 43300 mils moveto (FILE:) show grestore gsave /Helvetica findfont 11.200000 scalefont setfont 59500 mils 43300 mils moveto (REVISION:) show grestore gsave /Helvetica findfont 11.200000 scalefont setfont 59500 mils 43000 mils moveto (DRAWN BY: ) show grestore gsave /Helvetica findfont 11.200000 scalefont setfont 56000 mils 43000 mils moveto (PAGE) show grestore gsave /Helvetica findfont 11.200000 scalefont setfont 57700 mils 43000 mils moveto (OF) show grestore gsave /Helvetica findfont 11.200000 scalefont setfont 56000 mils 43600 mils moveto (TITLE) show grestore gsave gsave newpath 55900 mils 42900 mils moveto 63500 mils 42900 mils lineto stroke grestore gsave newpath 63500 mils 42900 mils moveto 63500 mils 44300 mils lineto stroke grestore gsave newpath 63500 mils 44300 mils moveto 55900 mils 44300 mils lineto stroke grestore gsave newpath 55900 mils 44300 mils moveto 55900 mils 42900 mils lineto stroke grestore grestore gsave newpath 55900 mils 43500 mils moveto 63500 mils 43500 mils lineto stroke grestore grestore gsave newpath 1.5 setlinewidth 44000 mils 53400 mils moveto 44200 mils 53400 mils lineto stroke 1 setlinewidth gsave newpath 43700 mils 53400 mils moveto 43600 mils 53500 mils lineto stroke grestore gsave newpath 43700 mils 53400 mils moveto 43600 mils 53300 mils lineto stroke grestore gsave newpath 44000 mils 53400 mils moveto 43700 mils 53400 mils lineto stroke grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 43600 mils 53600 mils moveto (tdo_ttl) show grestore gsave newpath 1.5 setlinewidth 44000 mils 51600 mils moveto 44200 mils 51600 mils lineto stroke 1 setlinewidth gsave newpath 43700 mils 51600 mils moveto 43600 mils 51700 mils lineto stroke grestore gsave newpath 43700 mils 51600 mils moveto 43600 mils 51500 mils lineto stroke grestore gsave newpath 44000 mils 51600 mils moveto 43700 mils 51600 mils lineto stroke grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 43600 mils 51800 mils moveto (tms_ttl) show grestore gsave newpath 1.5 setlinewidth 44000 mils 49900 mils moveto 44200 mils 49900 mils lineto stroke 1 setlinewidth gsave newpath 43700 mils 49900 mils moveto 43600 mils 50000 mils lineto stroke grestore gsave newpath 43700 mils 49900 mils moveto 43600 mils 49800 mils lineto stroke grestore gsave newpath 44000 mils 49900 mils moveto 43700 mils 49900 mils lineto stroke grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 43600 mils 50100 mils moveto (tck_ttl) show grestore gsave newpath 1.5 setlinewidth 44000 mils 48200 mils moveto 44200 mils 48200 mils lineto stroke 1 setlinewidth gsave newpath 43700 mils 48200 mils moveto 43600 mils 48300 mils lineto stroke grestore gsave newpath 43700 mils 48200 mils moveto 43600 mils 48100 mils lineto stroke grestore gsave newpath 44000 mils 48200 mils moveto 43700 mils 48200 mils lineto stroke grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 43600 mils 48400 mils moveto (trst_ttl) show grestore gsave newpath 1.5 setlinewidth 44000 mils 55800 mils moveto 44200 mils 55800 mils lineto stroke 1 setlinewidth gsave newpath 43700 mils 55800 mils moveto 43600 mils 55900 mils lineto stroke grestore gsave newpath 43700 mils 55800 mils moveto 43600 mils 55700 mils lineto stroke grestore gsave newpath 44000 mils 55800 mils moveto 43700 mils 55800 mils lineto stroke grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 43600 mils 56000 mils moveto (jtag_power) show grestore gsave gsave newpath 46100 mils 54700 mils moveto 46100 mils 55300 mils lineto stroke grestore gsave newpath 46100 mils 55300 mils moveto 45600 mils 55000 mils lineto stroke grestore gsave newpath 45600 mils 55000 mils moveto 46100 mils 54700 mils lineto stroke grestore gsave newpath 45550 mils 55000 mils 50 mils 0 360 arc stroke grestore newpath 1.5 setlinewidth 46400 mils 55000 mils moveto 46100 mils 55000 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 46300 mils (1) stringwidth pop -1 mul add 55100 mils moveto (1) show grestore newpath 1.5 setlinewidth 45200 mils 55000 mils moveto 45500 mils 55000 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 45400 mils (2) stringwidth pop -1 mul add 55100 mils moveto (2) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 46100 mils (7414) stringwidth pop -1 mul add 54500 mils moveto (7414) show grestore gsave newpath 46010 mils 55060 mils moveto 46010 mils 54860 mils lineto stroke grestore gsave newpath 46010 mils 54860 mils moveto 45950 mils 54900 mils lineto stroke grestore gsave newpath 46010 mils 55060 mils moveto 45950 mils 55100 mils lineto stroke grestore gsave newpath 46010 mils 54860 mils moveto 46070 mils 54820 mils lineto stroke grestore gsave newpath 45950 mils 54900 mils moveto 45950 mils 55100 mils lineto stroke grestore gsave newpath 45950 mils 55100 mils moveto 45880 mils 55140 mils lineto stroke grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 45600 mils (U20) stringwidth pop -1 mul add 55300 mils moveto (U20) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 45300 mils (1) stringwidth pop -1 mul add 54500 mils moveto (1) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 45000 mils 54300 mils moveto (net=jtag_power:14) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 45200 mils 54000 mils moveto (net=GND:7) show grestore gsave gsave newpath 45500 mils 53100 mils moveto 45500 mils 53700 mils lineto stroke grestore gsave newpath 45500 mils 53700 mils moveto 46000 mils 53400 mils lineto stroke grestore gsave newpath 46000 mils 53400 mils moveto 45500 mils 53100 mils lineto stroke grestore gsave newpath 46050 mils 53400 mils 50 mils 0 360 arc stroke grestore newpath 1.5 setlinewidth 45200 mils 53400 mils moveto 45500 mils 53400 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 45300 mils 53500 mils moveto (3) show grestore newpath 1.5 setlinewidth 46400 mils 53400 mils moveto 46100 mils 53400 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 46200 mils 53500 mils moveto (4) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 45500 mils 52900 mils moveto (7414) show grestore gsave newpath 45590 mils 53460 mils moveto 45590 mils 53260 mils lineto stroke grestore gsave newpath 45590 mils 53260 mils moveto 45650 mils 53300 mils lineto stroke grestore gsave newpath 45590 mils 53460 mils moveto 45650 mils 53500 mils lineto stroke grestore gsave newpath 45590 mils 53260 mils moveto 45530 mils 53220 mils lineto stroke grestore gsave newpath 45650 mils 53300 mils moveto 45650 mils 53500 mils lineto stroke grestore gsave newpath 45650 mils 53500 mils moveto 45720 mils 53540 mils lineto stroke grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 46000 mils 53700 mils moveto (U20) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 45200 mils 52900 mils moveto (2) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 45000 mils 52600 mils moveto (net=jtag_power:14) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 45200 mils 52300 mils moveto (net=GND:7) show grestore gsave gsave newpath 45500 mils 51300 mils moveto 45500 mils 51900 mils lineto stroke grestore gsave newpath 45500 mils 51900 mils moveto 46000 mils 51600 mils lineto stroke grestore gsave newpath 46000 mils 51600 mils moveto 45500 mils 51300 mils lineto stroke grestore gsave newpath 46050 mils 51600 mils 50 mils 0 360 arc stroke grestore newpath 1.5 setlinewidth 45200 mils 51600 mils moveto 45500 mils 51600 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 45300 mils 51700 mils moveto (5) show grestore newpath 1.5 setlinewidth 46400 mils 51600 mils moveto 46100 mils 51600 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 46200 mils 51700 mils moveto (6) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 45500 mils 51100 mils moveto (7414) show grestore gsave newpath 45590 mils 51660 mils moveto 45590 mils 51460 mils lineto stroke grestore gsave newpath 45590 mils 51460 mils moveto 45650 mils 51500 mils lineto stroke grestore gsave newpath 45590 mils 51660 mils moveto 45650 mils 51700 mils lineto stroke grestore gsave newpath 45590 mils 51460 mils moveto 45530 mils 51420 mils lineto stroke grestore gsave newpath 45650 mils 51500 mils moveto 45650 mils 51700 mils lineto stroke grestore gsave newpath 45650 mils 51700 mils moveto 45720 mils 51740 mils lineto stroke grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 46000 mils 51900 mils moveto (U20) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 45200 mils 51100 mils moveto (3) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 45000 mils 50800 mils moveto (net=jtag_power:14) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 45200 mils 50500 mils moveto (net=GND:7) show grestore gsave gsave newpath 45500 mils 49600 mils moveto 45500 mils 50200 mils lineto stroke grestore gsave newpath 45500 mils 50200 mils moveto 46000 mils 49900 mils lineto stroke grestore gsave newpath 46000 mils 49900 mils moveto 45500 mils 49600 mils lineto stroke grestore gsave newpath 46050 mils 49900 mils 50 mils 0 360 arc stroke grestore newpath 1.5 setlinewidth 45200 mils 49900 mils moveto 45500 mils 49900 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 45300 mils 50000 mils moveto (9) show grestore newpath 1.5 setlinewidth 46400 mils 49900 mils moveto 46100 mils 49900 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 46200 mils 50000 mils moveto (8) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 45500 mils 49400 mils moveto (7414) show grestore gsave newpath 45590 mils 49960 mils moveto 45590 mils 49760 mils lineto stroke grestore gsave newpath 45590 mils 49760 mils moveto 45650 mils 49800 mils lineto stroke grestore gsave newpath 45590 mils 49960 mils moveto 45650 mils 50000 mils lineto stroke grestore gsave newpath 45590 mils 49760 mils moveto 45530 mils 49720 mils lineto stroke grestore gsave newpath 45650 mils 49800 mils moveto 45650 mils 50000 mils lineto stroke grestore gsave newpath 45650 mils 50000 mils moveto 45720 mils 50040 mils lineto stroke grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 46000 mils 50200 mils moveto (U20) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 45200 mils 49400 mils moveto (4) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 45000 mils 49100 mils moveto (net=jtag_power:14) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 45200 mils 48800 mils moveto (net=GND:7) show grestore gsave gsave newpath 45500 mils 47900 mils moveto 45500 mils 48500 mils lineto stroke grestore gsave newpath 45500 mils 48500 mils moveto 46000 mils 48200 mils lineto stroke grestore gsave newpath 46000 mils 48200 mils moveto 45500 mils 47900 mils lineto stroke grestore gsave newpath 46050 mils 48200 mils 50 mils 0 360 arc stroke grestore newpath 1.5 setlinewidth 45200 mils 48200 mils moveto 45500 mils 48200 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 45300 mils 48300 mils moveto (11) show grestore newpath 1.5 setlinewidth 46400 mils 48200 mils moveto 46100 mils 48200 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 46200 mils 48300 mils moveto (10) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 45500 mils 47700 mils moveto (7414) show grestore gsave newpath 45590 mils 48260 mils moveto 45590 mils 48060 mils lineto stroke grestore gsave newpath 45590 mils 48060 mils moveto 45650 mils 48100 mils lineto stroke grestore gsave newpath 45590 mils 48260 mils moveto 45650 mils 48300 mils lineto stroke grestore gsave newpath 45590 mils 48060 mils moveto 45530 mils 48020 mils lineto stroke grestore gsave newpath 45650 mils 48100 mils moveto 45650 mils 48300 mils lineto stroke grestore gsave newpath 45650 mils 48300 mils moveto 45720 mils 48340 mils lineto stroke grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 46000 mils 48500 mils moveto (U20) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 45200 mils 47700 mils moveto (5) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 45000 mils 47500 mils moveto (net=jtag_power:14) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 45200 mils 47200 mils moveto (net=GND:7) show grestore gsave newpath 1.5 setlinewidth 44200 mils 55000 mils moveto 44000 mils 55000 mils lineto stroke 1 setlinewidth gsave newpath 44000 mils 55000 mils moveto 43600 mils 55000 mils lineto stroke grestore gsave newpath 43600 mils 55000 mils moveto 43700 mils 55100 mils lineto stroke grestore gsave newpath 43600 mils 55000 mils moveto 43700 mils 54900 mils lineto stroke grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 44200 mils (tdi_ttl) stringwidth pop -1 mul add 55200 mils moveto (tdi_ttl) show grestore gsave newpath 1.5 setlinewidth 55700 mils 52200 mils moveto 55400 mils 52200 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 11.200000 scalefont setfont 56850 mils (2) stringwidth pop -1 mul add 52150 mils moveto (2) show grestore newpath 1.5 setlinewidth 55700 mils 51600 mils moveto 55400 mils 51600 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 11.200000 scalefont setfont 56850 mils (4) stringwidth pop -1 mul add 51550 mils moveto (4) show grestore newpath 1.5 setlinewidth 55700 mils 51000 mils moveto 55400 mils 51000 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 11.200000 scalefont setfont 56850 mils (6) stringwidth pop -1 mul add 50950 mils moveto (6) show grestore newpath 1.5 setlinewidth 55700 mils 50400 mils moveto 55400 mils 50400 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 11.200000 scalefont setfont 56850 mils (8) stringwidth pop -1 mul add 50350 mils moveto (8) show grestore newpath 1.5 setlinewidth 55700 mils 52500 mils moveto 55400 mils 52500 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 11.200000 scalefont setfont 56850 mils (1) stringwidth pop -1 mul add 52450 mils moveto (1) show grestore newpath 1.5 setlinewidth 55700 mils 51900 mils moveto 55400 mils 51900 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 11.200000 scalefont setfont 56850 mils (3) stringwidth pop -1 mul add 51850 mils moveto (3) show grestore newpath 1.5 setlinewidth 55700 mils 51300 mils moveto 55400 mils 51300 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 11.200000 scalefont setfont 56850 mils (5) stringwidth pop -1 mul add 51250 mils moveto (5) show grestore newpath 1.5 setlinewidth 55700 mils 50700 mils moveto 55400 mils 50700 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 11.200000 scalefont setfont 56850 mils (7) stringwidth pop -1 mul add 50650 mils moveto (7) show grestore gsave newpath 55700 mils 52500 mils moveto 56600 mils 52500 mils lineto stroke grestore gsave newpath 55700 mils 52200 mils moveto 56600 mils 52200 mils lineto stroke grestore gsave newpath 55700 mils 51900 mils moveto 56600 mils 51900 mils lineto stroke grestore gsave newpath 55700 mils 51600 mils moveto 56600 mils 51600 mils lineto stroke grestore gsave newpath 55700 mils 51300 mils moveto 56600 mils 51300 mils lineto stroke grestore gsave newpath 55700 mils 51000 mils moveto 56600 mils 51000 mils lineto stroke grestore gsave newpath 55700 mils 50700 mils moveto 56600 mils 50700 mils lineto stroke grestore gsave newpath 55700 mils 50400 mils moveto 56600 mils 50400 mils lineto stroke grestore gsave gsave newpath 56600 mils 50200 mils moveto 57100 mils 50200 mils lineto stroke grestore gsave newpath 57100 mils 50200 mils moveto 57100 mils 52700 mils lineto stroke grestore gsave newpath 57100 mils 52700 mils moveto 56600 mils 52700 mils lineto stroke grestore gsave newpath 56600 mils 52700 mils moveto 56600 mils 50200 mils lineto stroke grestore grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 57000 mils (CONN4) stringwidth pop -1 mul add 52800 mils moveto (CONN4) show grestore gsave newpath 1.5 setlinewidth 46400 mils 51600 mils moveto 55400 mils 51600 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 46400 mils 53400 mils moveto 47200 mils 53400 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 47200 mils 53400 mils moveto 47200 mils 51900 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 47200 mils 51900 mils moveto 55400 mils 51900 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 46400 mils 55000 mils moveto 47800 mils 55000 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 47800 mils 55000 mils moveto 47800 mils 52200 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 47800 mils 52200 mils moveto 55400 mils 52200 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 55400 mils 51300 mils moveto 47200 mils 51300 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 47200 mils 51300 mils moveto 47200 mils 49900 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 47200 mils 49900 mils moveto 46400 mils 49900 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 55400 mils 51000 mils moveto 47800 mils 51000 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 47800 mils 51000 mils moveto 47800 mils 48200 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 47800 mils 48200 mils moveto 46400 mils 48200 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 48400 mils 50000 mils moveto 48400 mils 50200 mils lineto stroke 1 setlinewidth gsave newpath 48300 mils 50000 mils moveto 48500 mils 50000 mils lineto stroke grestore gsave newpath 48355 mils 49950 mils moveto 48445 mils 49950 mils lineto stroke grestore gsave newpath 48380 mils 49910 mils moveto 48420 mils 49910 mils lineto stroke grestore grestore gsave newpath 1.5 setlinewidth 55400 mils 50700 mils moveto 48400 mils 50700 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 48400 mils 50700 mils moveto 48400 mils 50200 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 55400 mils 52500 mils moveto 48400 mils 52500 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 48400 mils 52500 mils moveto 48400 mils 55800 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 48400 mils 55800 mils moveto 44200 mils 55800 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 44200 mils 55000 mils moveto 45200 mils 55000 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 44200 mils 53400 mils moveto 45200 mils 53400 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 44200 mils 51600 mils moveto 45200 mils 51600 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 44200 mils 49900 mils moveto 45200 mils 49900 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 44200 mils 48200 mils moveto 45200 mils 48200 mils lineto stroke grestore gsave /Helvetica findfont 14.000000 scalefont setfont 55000 mils 50300 mils moveto (N.C) show grestore gsave /Helvetica findfont 28.000000 scalefont setfont 58000 mils 43800 mils moveto (gTAG - JTAG IO ) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 56600 mils 43300 mils moveto (gTAG-jtagio.sch) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 56600 mils 43000 mils moveto (5) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 58000 mils 43000 mils moveto (5) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 60400 mils 43300 mils moveto ($Revision$) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 60400 mils 43000 mils moveto (Stefan Petersen \(spe@stacken.kth.se\)) show grestore gsave /Helvetica findfont 35.000000 scalefont setfont 57400 mils 51700 mils moveto (JTAG connector) show grestore gsave gsave /Helvetica findfont 14.000000 scalefont setfont 40500 mils 45400 mils moveto (This schematic is free software; you can redistribute it and/or modify) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 40500 mils 45200 mils moveto ( it under the terms of the GNU General Public License as published by) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 40500 mils 45000 mils moveto (the Free Software Foundation; either version 2 of the License, or) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 40500 mils 44800 mils moveto (\(at your option\) any later version.) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 40500 mils 44500 mils moveto (This schematic is distributed in the hope that it will be useful,) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 40500 mils 44300 mils moveto (but WITHOUT ANY WARRANTY; without even the implied warranty of) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 40500 mils 44100 mils moveto (MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 40500 mils 43800 mils moveto (GNU General Public License for more details.) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 40500 mils 43600 mils moveto (You should have received a copy of the GNU General Public License) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 40500 mils 43400 mils moveto (along with this program; if not, write to the Free Software) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 40500 mils 43200 mils moveto (Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 40500 mils 45800 mils moveto (\(C\) 2001 Stefan Petersen \(spe@stacken.kth.se\)) show grestore grestore gsave newpath 1.5 setlinewidth 59000 mils 56300 mils moveto 59000 mils 56500 mils lineto stroke 1 setlinewidth newpath 1.5 setlinewidth 59000 mils 57200 mils moveto 59000 mils 57000 mils lineto stroke 1 setlinewidth gsave newpath 58800 mils 56700 mils moveto 59200 mils 56700 mils lineto stroke grestore gsave newpath 58800 mils 56800 mils moveto 59200 mils 56800 mils lineto stroke grestore gsave newpath 59000 mils 57000 mils moveto 59000 mils 56800 mils lineto stroke grestore gsave newpath 59000 mils 56700 mils moveto 59000 mils 56500 mils lineto stroke grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 58700 mils 56500 mils moveto 90 rotate (C20) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 59400 mils 56500 mils moveto 90 rotate (100n) show grestore gsave newpath 1.5 setlinewidth 59000 mils 57200 mils moveto 59000 mils 57600 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 59000 mils 55900 mils moveto 59000 mils 56300 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 59000 mils 55700 mils moveto 59000 mils 55900 mils lineto stroke 1 setlinewidth gsave newpath 58900 mils 55700 mils moveto 59100 mils 55700 mils lineto stroke grestore gsave newpath 58955 mils 55650 mils moveto 59045 mils 55650 mils lineto stroke grestore gsave newpath 58980 mils 55610 mils moveto 59020 mils 55610 mils lineto stroke grestore grestore gsave /Helvetica findfont 21.000000 scalefont setfont 57200 mils 55200 mils moveto (Place near the VCC pin for U20) show grestore gsave newpath 1.5 setlinewidth 59000 mils 57600 mils moveto 59000 mils 57800 mils lineto stroke 1 setlinewidth gsave newpath 58850 mils 57800 mils moveto 59150 mils 57800 mils lineto stroke grestore gsave /Helvetica findfont 11.200000 scalefont setfont 58875 mils 57850 mils moveto (+5V) show grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 59100 mils 57600 mils moveto (jtag_power:1) show grestore gsave newpath 1.5 setlinewidth 49400 mils 53700 mils moveto 49400 mils 53550 mils lineto stroke 1 setlinewidth newpath 1.5 setlinewidth 49400 mils 52800 mils moveto 49400 mils 52952 mils lineto stroke 1 setlinewidth gsave gsave newpath 49300 mils 52950 mils moveto 49500 mils 52950 mils lineto stroke grestore gsave newpath 49500 mils 52950 mils moveto 49500 mils 53550 mils lineto stroke grestore gsave newpath 49500 mils 53550 mils moveto 49300 mils 53550 mils lineto stroke grestore gsave newpath 49300 mils 53550 mils moveto 49300 mils 52950 mils lineto stroke grestore grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 49200 mils 53000 mils moveto 90 rotate (R20) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 49700 mils 53100 mils moveto 90 rotate (10k) show grestore gsave newpath 1.5 setlinewidth 50700 mils 53700 mils moveto 50700 mils 53550 mils lineto stroke 1 setlinewidth newpath 1.5 setlinewidth 50700 mils 52800 mils moveto 50700 mils 52952 mils lineto stroke 1 setlinewidth gsave gsave newpath 50600 mils 52950 mils moveto 50800 mils 52950 mils lineto stroke grestore gsave newpath 50800 mils 52950 mils moveto 50800 mils 53550 mils lineto stroke grestore gsave newpath 50800 mils 53550 mils moveto 50600 mils 53550 mils lineto stroke grestore gsave newpath 50600 mils 53550 mils moveto 50600 mils 52950 mils lineto stroke grestore grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 50500 mils 53000 mils moveto 90 rotate (R21) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 51000 mils 53100 mils moveto 90 rotate (10k) show grestore gsave newpath 1.5 setlinewidth 52000 mils 53700 mils moveto 52000 mils 53550 mils lineto stroke 1 setlinewidth newpath 1.5 setlinewidth 52000 mils 52800 mils moveto 52000 mils 52952 mils lineto stroke 1 setlinewidth gsave gsave newpath 51900 mils 52950 mils moveto 52100 mils 52950 mils lineto stroke grestore gsave newpath 52100 mils 52950 mils moveto 52100 mils 53550 mils lineto stroke grestore gsave newpath 52100 mils 53550 mils moveto 51900 mils 53550 mils lineto stroke grestore gsave newpath 51900 mils 53550 mils moveto 51900 mils 52950 mils lineto stroke grestore grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 51800 mils 53000 mils moveto 90 rotate (R22) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 52300 mils 53100 mils moveto 90 rotate (10k) show grestore gsave newpath 1.5 setlinewidth 53400 mils 53700 mils moveto 53400 mils 53550 mils lineto stroke 1 setlinewidth newpath 1.5 setlinewidth 53400 mils 52800 mils moveto 53400 mils 52952 mils lineto stroke 1 setlinewidth gsave gsave newpath 53300 mils 52950 mils moveto 53500 mils 52950 mils lineto stroke grestore gsave newpath 53500 mils 52950 mils moveto 53500 mils 53550 mils lineto stroke grestore gsave newpath 53500 mils 53550 mils moveto 53300 mils 53550 mils lineto stroke grestore gsave newpath 53300 mils 53550 mils moveto 53300 mils 52950 mils lineto stroke grestore grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 53200 mils 53000 mils moveto 90 rotate (R23) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 53700 mils 53100 mils moveto 90 rotate (10k) show grestore gsave newpath 1.5 setlinewidth 49400 mils 52800 mils moveto 49400 mils 51000 mils lineto stroke newpath 49400 mils 51000 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 50700 mils 52800 mils moveto 50700 mils 51300 mils lineto stroke newpath 50700 mils 51300 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 52000 mils 52800 mils moveto 52000 mils 51600 mils lineto stroke newpath 52000 mils 51600 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 53400 mils 52800 mils moveto 53400 mils 51900 mils lineto stroke newpath 53400 mils 51900 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 54800 mils 53700 mils moveto 54800 mils 53550 mils lineto stroke 1 setlinewidth newpath 1.5 setlinewidth 54800 mils 52800 mils moveto 54800 mils 52952 mils lineto stroke 1 setlinewidth gsave gsave newpath 54700 mils 52950 mils moveto 54900 mils 52950 mils lineto stroke grestore gsave newpath 54900 mils 52950 mils moveto 54900 mils 53550 mils lineto stroke grestore gsave newpath 54900 mils 53550 mils moveto 54700 mils 53550 mils lineto stroke grestore gsave newpath 54700 mils 53550 mils moveto 54700 mils 52950 mils lineto stroke grestore grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 54600 mils 53000 mils moveto 90 rotate (R24) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 55100 mils 53100 mils moveto 90 rotate (10k) show grestore gsave newpath 1.5 setlinewidth 54800 mils 52800 mils moveto 54800 mils 52200 mils lineto stroke newpath 54800 mils 52200 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 49400 mils 53900 mils moveto 49400 mils 54100 mils lineto stroke 1 setlinewidth gsave newpath 49250 mils 54100 mils moveto 49550 mils 54100 mils lineto stroke grestore gsave /Helvetica findfont 11.200000 scalefont setfont 49275 mils 54150 mils moveto (+5V) show grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 49500 mils 53900 mils moveto (jtag_power:1) show grestore gsave newpath 1.5 setlinewidth 50700 mils 53900 mils moveto 50700 mils 54100 mils lineto stroke 1 setlinewidth gsave newpath 50550 mils 54100 mils moveto 50850 mils 54100 mils lineto stroke grestore gsave /Helvetica findfont 11.200000 scalefont setfont 50575 mils 54150 mils moveto (+5V) show grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 50800 mils 53900 mils moveto (jtag_power:1) show grestore gsave newpath 1.5 setlinewidth 52000 mils 53900 mils moveto 52000 mils 54100 mils lineto stroke 1 setlinewidth gsave newpath 51850 mils 54100 mils moveto 52150 mils 54100 mils lineto stroke grestore gsave /Helvetica findfont 11.200000 scalefont setfont 51875 mils 54150 mils moveto (+5V) show grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 52100 mils 53900 mils moveto (jtag_power:1) show grestore gsave newpath 1.5 setlinewidth 53400 mils 53900 mils moveto 53400 mils 54100 mils lineto stroke 1 setlinewidth gsave newpath 53250 mils 54100 mils moveto 53550 mils 54100 mils lineto stroke grestore gsave /Helvetica findfont 11.200000 scalefont setfont 53275 mils 54150 mils moveto (+5V) show grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 53500 mils 53900 mils moveto (jtag_power:1) show grestore gsave newpath 1.5 setlinewidth 54800 mils 53900 mils moveto 54800 mils 54100 mils lineto stroke 1 setlinewidth gsave newpath 54650 mils 54100 mils moveto 54950 mils 54100 mils lineto stroke grestore gsave /Helvetica findfont 11.200000 scalefont setfont 54675 mils 54150 mils moveto (+5V) show grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 54900 mils 53900 mils moveto (jtag_power:1) show grestore gsave newpath 1.5 setlinewidth 49400 mils 53900 mils moveto 49400 mils 53700 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 50700 mils 53900 mils moveto 50700 mils 53700 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 52000 mils 53900 mils moveto 52000 mils 53700 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 53400 mils 53900 mils moveto 53400 mils 53700 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 54800 mils 53900 mils moveto 54800 mils 53700 mils lineto stroke grestore showpage geda-gaf-1.8.2/examples/gTAG/gafrc0000664000175000017500000000005612050461155013505 00000000000000(component-library ".") (source-library ".") geda-gaf-1.8.2/examples/gTAG/Makefile.in0000664000175000017500000004522012220655722014553 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = examples/gTAG DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am README ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(exampledir)" DATA = $(example_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ exampledir = $(docdir)/examples/gTAG/ example_DATA = 7414-1.sym attribs gafrc copyleft.sym crdist.sh \ cy7c64603-52nc.sym gTAG-consio.ps gTAG-consio.sch \ gTAG-consio.sym gTAG-jtagio.ps gTAG-jtagio.sch \ gTAG-jtagio.sym gTAG-pcb.net gTAG-psu.ps gTAG-psu.sch \ gTAG-psu.sym gTAG-ucont.ps gTAG-ucont.sch gTAG-ucont.sym \ gTAG.bom gTAG.ps gTAG.sch gnetlistrc max882.sym sn75240pw.sym \ README EXTRA_DIST = ChangeLog-1.0 $(example_DATA) MOSTLYCLEANFILES = gschem.log *~ CLEANFILES = gschem.log *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = gschem.log *~ Makefile.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/gTAG/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu examples/gTAG/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-exampleDATA: $(example_DATA) @$(NORMAL_INSTALL) @list='$(example_DATA)'; test -n "$(exampledir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(exampledir)'"; \ $(MKDIR_P) "$(DESTDIR)$(exampledir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(exampledir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(exampledir)" || exit $$?; \ done uninstall-exampleDATA: @$(NORMAL_UNINSTALL) @list='$(example_DATA)'; test -n "$(exampledir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(exampledir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(exampledir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-exampleDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-exampleDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exampleDATA install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am uninstall-exampleDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/examples/gTAG/gTAG.ps0000664000175000017500000003602112050461155013627 00000000000000%! /inch {72 mul} def /mils { 1000 div inch } def /setcoords { 8269 mils 0 translate 90 rotate 0.449193 0.449193 scale } def /box { exch dup 0 rlineto exch 0 exch rlineto neg 0 rlineto closepath stroke } def /fbox { exch dup 0 rlineto exch 0 exch rlineto neg 0 rlineto closepath fill } def setcoords 2 setlinecap % Translate origin to the right place... -42999 mils -50546 mils translate gsave gsave gsave newpath 44300 mils 51500 mils moveto 67600 mils 51500 mils lineto stroke grestore gsave newpath 67600 mils 51500 mils moveto 67600 mils 68000 mils lineto stroke grestore gsave newpath 67600 mils 68000 mils moveto 44300 mils 68000 mils lineto stroke grestore gsave newpath 44300 mils 68000 mils moveto 44300 mils 51500 mils lineto stroke grestore grestore gsave newpath 63500 mils 52100 mils moveto 63500 mils 51500 mils lineto stroke grestore gsave /Helvetica findfont 11.200000 scalefont setfont 60100 mils 51900 mils moveto (FILE:) show grestore gsave /Helvetica findfont 11.200000 scalefont setfont 63600 mils 51900 mils moveto (REVISION:) show grestore gsave /Helvetica findfont 11.200000 scalefont setfont 63600 mils 51600 mils moveto (DRAWN BY: ) show grestore gsave /Helvetica findfont 11.200000 scalefont setfont 60100 mils 51600 mils moveto (PAGE) show grestore gsave /Helvetica findfont 11.200000 scalefont setfont 61800 mils 51600 mils moveto (OF) show grestore gsave /Helvetica findfont 11.200000 scalefont setfont 60100 mils 52200 mils moveto (TITLE) show grestore gsave gsave newpath 60000 mils 51500 mils moveto 67600 mils 51500 mils lineto stroke grestore gsave newpath 67600 mils 51500 mils moveto 67600 mils 52900 mils lineto stroke grestore gsave newpath 67600 mils 52900 mils moveto 60000 mils 52900 mils lineto stroke grestore gsave newpath 60000 mils 52900 mils moveto 60000 mils 51500 mils lineto stroke grestore grestore gsave newpath 60000 mils 52100 mils moveto 67600 mils 52100 mils lineto stroke grestore grestore gsave newpath 1.5 setlinewidth 52800 mils 59800 mils moveto 54100 mils 59800 mils lineto stroke grestore gsave /Helvetica findfont 14.000000 scalefont setfont 53300 mils 59900 mils moveto (tdi_ttl) show grestore gsave newpath 1.5 setlinewidth 52800 mils 59400 mils moveto 54100 mils 59400 mils lineto stroke grestore gsave /Helvetica findfont 14.000000 scalefont setfont 53300 mils 59500 mils moveto (tdo_ttl) show grestore gsave newpath 1.5 setlinewidth 52800 mils 59000 mils moveto 54100 mils 59000 mils lineto stroke grestore gsave /Helvetica findfont 14.000000 scalefont setfont 53300 mils 59100 mils moveto (tms_ttl) show grestore gsave newpath 1.5 setlinewidth 52800 mils 58600 mils moveto 54100 mils 58600 mils lineto stroke grestore gsave /Helvetica findfont 14.000000 scalefont setfont 53300 mils 58700 mils moveto (tck_ttl) show grestore gsave newpath 1.5 setlinewidth 52800 mils 58200 mils moveto 54100 mils 58200 mils lineto stroke grestore gsave /Helvetica findfont 14.000000 scalefont setfont 53300 mils 58300 mils moveto (trst_ttl) show grestore gsave newpath 1.5 setlinewidth 53900 mils 62300 mils moveto 51200 mils 62300 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 51200 mils 62300 mils moveto 51200 mils 60300 mils lineto stroke grestore gsave /Helvetica findfont 14.000000 scalefont setfont 50200 mils 61200 mils moveto (jtag_power) show grestore gsave newpath 1.5 setlinewidth 57100 mils 62300 mils moveto 60100 mils 62300 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 60100 mils 62300 mils moveto 60100 mils 60300 mils lineto stroke grestore gsave /Helvetica findfont 14.000000 scalefont setfont 60200 mils 61200 mils moveto (usb_power) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 51100 mils 57400 mils moveto (JTAG \(IEEE1149.1\) consist of tdi, tdo, tck, tms, \(trst\)) show grestore gsave newpath 1.5 setlinewidth 57300 mils 59100 mils moveto 58600 mils 59100 mils lineto stroke grestore gsave /Helvetica findfont 14.000000 scalefont setfont 57500 mils 59200 mils moveto (usb_io+) show grestore gsave newpath 1.5 setlinewidth 57300 mils 58800 mils moveto 58600 mils 58800 mils lineto stroke grestore gsave /Helvetica findfont 14.000000 scalefont setfont 57500 mils 58900 mils moveto (usb_io-) show grestore gsave gsave gsave newpath 54400 mils 58000 mils moveto 57000 mils 58000 mils lineto stroke grestore gsave newpath 57000 mils 58000 mils moveto 57000 mils 60000 mils lineto stroke grestore gsave newpath 57000 mils 60000 mils moveto 54400 mils 60000 mils lineto stroke grestore gsave newpath 54400 mils 60000 mils moveto 54400 mils 58000 mils lineto stroke grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 55600 mils (gTAG-ucont) stringwidth pop .5 mul -1 mul add 59000 mils 10.000000 .5 mul -1 mul add moveto (gTAG-ucont) show grestore newpath 1.5 setlinewidth 54400 mils 59800 mils moveto 54100 mils 59800 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 54400 mils 59800 mils moveto (tdi_ttl) show grestore newpath 1.5 setlinewidth 54400 mils 59400 mils moveto 54100 mils 59400 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 54400 mils 59400 mils moveto (tdo_ttl) show grestore newpath 1.5 setlinewidth 54400 mils 59000 mils moveto 54100 mils 59000 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 54400 mils 59000 mils moveto (tms_ttl) show grestore newpath 1.5 setlinewidth 54400 mils 58600 mils moveto 54100 mils 58600 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 54400 mils 58600 mils moveto (tck_ttl) show grestore newpath 1.5 setlinewidth 54400 mils 58200 mils moveto 54100 mils 58200 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 54400 mils 58200 mils moveto (trst_ttl) show grestore newpath 1.5 setlinewidth 57000 mils 59100 mils moveto 57300 mils 59100 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 56900 mils (usb_io+) stringwidth pop -1 mul add 59100 mils moveto (usb_io+) show grestore newpath 1.5 setlinewidth 57000 mils 58800 mils moveto 57300 mils 58800 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 56900 mils (usb_io-) stringwidth pop -1 mul add 58800 mils moveto (usb_io-) show grestore newpath 1.5 setlinewidth 57000 mils 59800 mils moveto 57300 mils 59800 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 56900 mils (reset#) stringwidth pop -1 mul add 59800 mils moveto (reset#) show grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 54400 mils 60100 mils moveto (S1) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 54900 mils 57800 mils moveto (gTAG-ucont.sch) show grestore gsave gsave gsave newpath 49900 mils 58000 mils moveto 52500 mils 58000 mils lineto stroke grestore gsave newpath 52500 mils 58000 mils moveto 52500 mils 60000 mils lineto stroke grestore gsave newpath 52500 mils 60000 mils moveto 49900 mils 60000 mils lineto stroke grestore gsave newpath 49900 mils 60000 mils moveto 49900 mils 58000 mils lineto stroke grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 51200 mils (gTAG-jtagio) stringwidth pop .5 mul -1 mul add 59000 mils 10.000000 .5 mul -1 mul add moveto (gTAG-jtagio) show grestore newpath 1.5 setlinewidth 52800 mils 59800 mils moveto 52500 mils 59800 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 52400 mils (tdi_ttl) stringwidth pop -1 mul add 59800 mils moveto (tdi_ttl) show grestore newpath 1.5 setlinewidth 52800 mils 59400 mils moveto 52500 mils 59400 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 52400 mils (tdo_ttl) stringwidth pop -1 mul add 59400 mils moveto (tdo_ttl) show grestore newpath 1.5 setlinewidth 52800 mils 59000 mils moveto 52500 mils 59000 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 52400 mils (tms_ttl) stringwidth pop -1 mul add 59000 mils moveto (tms_ttl) show grestore newpath 1.5 setlinewidth 52800 mils 58600 mils moveto 52500 mils 58600 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 52400 mils (tck_ttl) stringwidth pop -1 mul add 58600 mils moveto (tck_ttl) show grestore newpath 1.5 setlinewidth 52800 mils 58200 mils moveto 52500 mils 58200 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 52400 mils (trst_ttl) stringwidth pop -1 mul add 58200 mils moveto (trst_ttl) show grestore newpath 1.5 setlinewidth 51200 mils 60000 mils moveto 51200 mils 60300 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 50800 mils 59800 mils moveto (jtag_power) show grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 49900 mils 60100 mils moveto (S2) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 50500 mils 57800 mils moveto (gTAG-jtagio.sch) show grestore gsave gsave gsave newpath 58900 mils 58000 mils moveto 61500 mils 58000 mils lineto stroke grestore gsave newpath 61500 mils 58000 mils moveto 61500 mils 60000 mils lineto stroke grestore gsave newpath 61500 mils 60000 mils moveto 58900 mils 60000 mils lineto stroke grestore gsave newpath 58900 mils 60000 mils moveto 58900 mils 58000 mils lineto stroke grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 60100 mils (gTAG-consio) stringwidth pop .5 mul -1 mul add 59000 mils 10.000000 .5 mul -1 mul add moveto (gTAG-consio) show grestore newpath 1.5 setlinewidth 58600 mils 59100 mils moveto 58900 mils 59100 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 59000 mils 59100 mils moveto (usb_io+) show grestore newpath 1.5 setlinewidth 58600 mils 58800 mils moveto 58900 mils 58800 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 59000 mils 58800 mils moveto (usb_io-) show grestore newpath 1.5 setlinewidth 60100 mils 60000 mils moveto 60100 mils 60300 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 59600 mils 59800 mils moveto (usb_power) show grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 58900 mils 60100 mils moveto (S3) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 59600 mils 57800 mils moveto (gTAG-consio.sch) show grestore gsave gsave gsave newpath 54200 mils 61700 mils moveto 56800 mils 61700 mils lineto stroke grestore gsave newpath 56800 mils 61700 mils moveto 56800 mils 63500 mils lineto stroke grestore gsave newpath 56800 mils 63500 mils moveto 54200 mils 63500 mils lineto stroke grestore gsave newpath 54200 mils 63500 mils moveto 54200 mils 61700 mils lineto stroke grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 55400 mils (gTAG-psu) stringwidth pop .5 mul -1 mul add 62700 mils 10.000000 .5 mul -1 mul add moveto (gTAG-psu) show grestore newpath 1.5 setlinewidth 54200 mils 62300 mils moveto 53900 mils 62300 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 54300 mils 62300 mils moveto (jtag_power) show grestore newpath 1.5 setlinewidth 56800 mils 62300 mils moveto 57100 mils 62300 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 56700 mils (usb_power) stringwidth pop -1 mul add 62300 mils moveto (usb_power) show grestore newpath 1.5 setlinewidth 56800 mils 61900 mils moveto 57100 mils 61900 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 56700 mils (pon_reset#) stringwidth pop -1 mul add 61900 mils moveto (pon_reset#) show grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 54200 mils 63600 mils moveto (S4) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 54800 mils 61500 mils moveto (gTAG-psu.sch) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 62200 mils 51600 mils moveto (5) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 60700 mils 51600 mils moveto (1) show grestore gsave /Helvetica findfont 70.000000 scalefont setfont 48500 mils 65200 mils moveto (gTAG - usb to jtag interface) show grestore gsave /Helvetica findfont 28.000000 scalefont setfont 61500 mils 52400 mils moveto (gTAG - top level) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 60700 mils 51900 mils moveto (gTAG.sch) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 64500 mils 51600 mils moveto (Stefan Petersen \(spe@stacken.kth.se\)) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 64500 mils 51900 mils moveto ($Revision$) show grestore gsave gsave /Helvetica findfont 14.000000 scalefont setfont 44600 mils 54000 mils moveto (This schematic is free software; you can redistribute it and/or modify) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 44600 mils 53800 mils moveto ( it under the terms of the GNU General Public License as published by) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 44600 mils 53600 mils moveto (the Free Software Foundation; either version 2 of the License, or) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 44600 mils 53400 mils moveto (\(at your option\) any later version.) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 44600 mils 53100 mils moveto (This schematic is distributed in the hope that it will be useful,) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 44600 mils 52900 mils moveto (but WITHOUT ANY WARRANTY; without even the implied warranty of) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 44600 mils 52700 mils moveto (MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 44600 mils 52400 mils moveto (GNU General Public License for more details.) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 44600 mils 52200 mils moveto (You should have received a copy of the GNU General Public License) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 44600 mils 52000 mils moveto (along with this program; if not, write to the Free Software) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 44600 mils 51800 mils moveto (Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 44600 mils 54400 mils moveto (\(C\) 2001 Stefan Petersen \(spe@stacken.kth.se\)) show grestore grestore gsave newpath 1.5 setlinewidth 57300 mils 59800 mils moveto 57400 mils 59800 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 57400 mils 59800 mils moveto 57400 mils 61900 mils lineto stroke grestore gsave /Helvetica findfont 14.000000 scalefont setfont 57500 mils 60900 mils moveto (pon_reset#) show grestore gsave newpath 1.5 setlinewidth 57400 mils 61900 mils moveto 57100 mils 61900 mils lineto stroke grestore showpage geda-gaf-1.8.2/examples/gTAG/gTAG-ucont.sch0000664000175000017500000003047112050461155015113 00000000000000v 20080110 1 C 43700 38500 0 0 0 title-A2.sym C 46000 42600 1 0 0 24Cxx-1.sym { T 47000 43600 5 10 1 1 0 0 1 refdes=U2 T 46400 43700 5 10 0 1 0 0 1 footprint=SO8 T 46300 42300 5 10 1 0 0 0 1 net=+3.3V:8 T 46300 42100 5 10 1 0 0 0 1 net=GND:4 T 46300 43750 5 10 0 0 0 0 1 device=24Cxx } C 55000 53200 1 0 0 crystal-1.sym { T 55200 53500 5 10 1 1 0 0 1 refdes=X1 T 55100 53000 5 10 1 1 0 0 1 value=12MHz T 55000 52800 5 10 0 1 0 0 1 footprint=CRYSTAL 300 T 55200 53700 5 10 0 0 0 0 1 device=CRYSTAL T 55200 53900 5 10 0 0 0 0 1 symversion=0.1 } C 54900 54100 1 0 0 resistor-2.sym { T 55100 54400 5 10 1 1 0 0 1 refdes=R17 T 55200 53900 5 10 1 1 0 0 1 value=1M T 55100 53700 5 10 0 1 0 0 1 footprint=sm0805 T 55300 54450 5 10 0 0 0 0 1 device=RESISTOR } C 53900 54000 1 0 0 capacitor-1.sym { T 54100 54500 5 10 1 1 0 0 1 refdes=C4 T 54200 53800 5 10 1 1 0 0 1 value=30p T 54000 53600 5 10 0 1 0 0 1 footprint=sm1206 T 54100 54700 5 10 0 0 0 0 1 device=CAPACITOR T 54100 54900 5 10 0 0 0 0 1 symversion=0.1 } C 55900 54000 1 0 0 capacitor-1.sym { T 56100 54500 5 10 1 1 0 0 1 refdes=C5 T 56200 53800 5 10 1 1 0 0 1 value=30p T 56000 53600 5 10 0 1 0 0 1 footprint=sm1206 T 56100 54700 5 10 0 0 0 0 1 device=CAPACITOR T 56100 54900 5 10 0 0 0 0 1 symversion=0.1 } N 55800 54200 55900 54200 4 N 54800 54200 54900 54200 4 N 55000 53300 54900 53300 4 N 55700 53300 55800 53300 4 C 56800 53800 1 0 0 gnd-1.sym C 53700 53800 1 0 0 gnd-1.sym N 54900 52800 54900 54200 4 N 55800 52800 55800 54200 4 N 53800 54100 53800 54200 4 N 53800 54200 53900 54200 4 N 56800 54200 56900 54200 4 N 56900 54200 56900 54100 4 C 51300 39300 1 0 0 gnd-1.sym C 58800 39900 1 0 0 3.3V-plus-1.sym C 57200 39100 1 0 0 resistor-2.sym { T 57400 39400 5 10 1 1 0 0 1 refdes=R13 T 57500 38900 5 10 1 1 0 0 1 value=10k T 57800 39400 5 10 0 1 0 0 1 footprint=sm0805 T 57600 39450 5 10 0 0 0 0 1 device=RESISTOR } N 55600 40300 55600 39900 4 N 51400 39600 51400 40300 4 N 52100 39900 52100 40300 4 N 52500 39900 52500 40300 4 N 52900 39900 52900 40300 4 N 53300 39900 53300 40300 4 N 53700 39900 53700 40300 4 N 54100 39900 54100 40300 4 N 54800 39900 54800 40300 4 N 55200 39900 55200 40300 4 N 56000 40300 56000 39200 4 N 56800 40300 56800 39900 4 N 58100 39200 59000 39200 4 N 59000 39200 59000 39900 4 C 45500 49300 1 0 0 in-1.sym { T 45500 49600 5 10 1 1 0 0 1 refdes=usb_io+ T 45500 49600 5 10 0 0 0 0 1 device=INPUT } C 45500 50100 1 0 0 in-1.sym { T 45500 50400 5 10 1 1 0 0 1 refdes=usb_io- T 45500 50400 5 10 0 0 0 0 1 device=INPUT } C 46700 50900 1 0 0 resistor-2.sym { T 46900 51200 5 10 1 1 0 0 1 refdes=R2 T 47000 50700 5 10 1 1 0 0 1 value=1.5k T 47300 51200 5 10 0 1 0 0 1 footprint=sm0805 T 47100 51250 5 10 0 0 0 0 1 device=RESISTOR } N 47600 51000 50400 51000 4 C 52400 53000 1 0 0 3.3V-plus-1.sym N 52600 52800 52600 53000 4 N 52600 52900 53800 52900 4 N 53800 52900 53800 52800 4 N 53400 52800 53400 52900 4 N 53000 52800 53000 52900 4 C 48600 43200 1 90 0 resistor-2.sym { T 48300 43400 5 10 1 1 90 0 1 refdes=R12 T 48800 43500 5 10 1 1 90 0 1 value=1k T 48600 43200 5 10 0 1 0 0 1 footprint=sm0805 T 49000 43550 5 10 0 0 0 0 1 device=RESISTOR } C 47800 43200 1 90 0 resistor-2.sym { T 47500 43400 5 10 1 1 90 0 1 refdes=R11 T 48000 43500 5 10 1 1 90 0 1 value=1k T 47800 43200 5 10 0 1 0 0 1 footprint=sm0805 T 48200 43550 5 10 0 0 0 0 1 device=RESISTOR } C 47900 44500 1 0 0 3.3V-plus-1.sym N 47700 44100 47700 44300 4 N 47700 44300 48500 44300 4 N 48500 44300 48500 44100 4 N 48100 44500 48100 44300 4 N 47300 42900 49400 42900 4 N 47700 43200 47700 42900 4 N 48500 43200 48500 42700 4 N 49400 42900 49400 43200 4 N 49400 43200 50400 43200 4 N 49600 42700 49600 42800 4 N 49600 42800 50400 42800 4 C 45800 42400 1 0 0 gnd-1.sym N 46000 43100 45900 43100 4 N 45900 43100 45900 42700 4 N 46000 42900 45900 42900 4 C 47400 44500 1 90 0 resistor-2.sym { T 47100 44700 5 10 1 1 90 0 1 refdes=R6 T 47600 44900 5 10 1 1 90 0 1 value=0 T 47500 45100 5 10 0 1 0 0 1 footprint=sm0805 T 47800 44850 5 10 0 0 0 0 1 device=RESISTOR } C 49000 45100 1 0 0 3.3V-plus-1.sym C 58900 52000 1 90 0 resistor-2.sym { T 58600 52200 5 10 1 1 90 0 1 refdes=R15 T 59100 52300 5 10 1 1 90 0 1 value=10k T 58900 52000 5 10 0 1 0 0 1 footprint=sm0805 T 59300 52350 5 10 0 0 0 0 1 device=RESISTOR } C 58600 53100 1 0 0 3.3V-plus-1.sym N 58100 51300 59600 51300 4 N 58100 50900 58800 50900 4 C 46700 49300 1 0 0 resistor-2.sym { T 46900 49600 5 10 1 1 0 0 1 refdes=R4 T 47000 49100 5 10 1 1 0 0 1 value=22 T 47300 49600 5 10 0 1 0 0 1 footprint=sm0805 T 47100 49650 5 10 0 0 0 0 1 device=RESISTOR } C 46700 50100 1 0 0 resistor-2.sym { T 46900 50400 5 10 1 1 0 0 1 refdes=R3 T 47000 49900 5 10 1 1 0 0 1 value=22 T 47300 50400 5 10 0 1 0 0 1 footprint=sm0805 T 47100 50450 5 10 0 0 0 0 1 device=RESISTOR } N 46100 49400 46700 49400 4 N 46100 50200 46700 50200 4 N 47600 50200 47900 50200 4 N 47900 50200 47900 50000 4 N 47900 50000 50400 50000 4 N 47600 49400 47900 49400 4 N 47900 49400 47900 49600 4 N 47900 49600 50400 49600 4 N 46700 51000 46500 51000 4 N 46500 51000 46500 49400 4 N 58100 45800 63400 45800 4 N 58100 45400 63400 45400 4 N 58100 45000 63400 45000 4 N 58100 44600 63400 44600 4 N 58100 44200 63400 44200 4 N 61400 43800 58100 43800 4 N 58100 43400 61800 43400 4 N 62200 43000 58100 43000 4 N 59800 47800 58100 47800 4 N 58100 48200 60200 48200 4 N 58100 48600 60600 48600 4 N 58100 49000 61000 49000 4 N 58100 49400 61400 49400 4 N 58100 49800 61800 49800 4 N 62200 50200 58100 50200 4 C 47400 45800 1 90 0 resistor-2.sym { T 47100 46000 5 10 1 1 90 0 1 refdes=R5 T 47600 46200 5 10 1 1 90 0 1 value=0 T 47500 46000 5 10 1 1 0 0 1 comment=do not mount T 47600 46400 5 10 0 1 0 0 1 footprint=sm0805 T 47800 46150 5 10 0 0 0 0 1 device=RESISTOR } C 49300 44900 1 0 0 resistor-2.sym { T 49500 45200 5 10 1 1 0 0 1 refdes=R7 T 49600 44700 5 10 1 1 0 0 1 value=10k T 49800 45200 5 10 0 1 0 0 1 footprint=sm0805 T 49700 45250 5 10 0 0 0 0 1 device=RESISTOR } C 49300 43700 1 0 0 resistor-2.sym { T 49500 44000 5 10 1 1 0 0 1 refdes=R8 T 49600 43500 5 10 1 1 0 0 1 value=10k T 49800 44000 5 10 0 1 0 0 1 footprint=sm0805 T 49700 44050 5 10 0 0 0 0 1 device=RESISTOR } C 49900 52200 1 90 0 capacitor-1.sym { T 49400 52500 5 10 1 1 90 0 1 refdes=C3 T 50100 52400 5 10 1 1 90 0 1 value=100n T 49400 51900 5 10 0 1 0 0 1 footprint=sm1206 T 50100 52900 5 10 0 0 0 0 1 device=CAPACITOR T 50100 53100 5 10 0 0 0 0 1 symversion=0.1 } C 48500 53100 1 270 0 capacitor-2.sym { T 48400 52500 5 10 1 1 90 0 1 refdes=C2 T 49100 52500 5 10 1 1 90 0 1 value=2.2u T 48300 51900 5 10 0 1 0 0 1 footprint=sm1206 T 48700 53800 5 10 0 0 0 0 1 device=POLARIZED_CAPACITOR T 48700 54000 5 10 0 0 0 0 1 symversion=0.1 } N 50400 51600 50300 51600 4 N 50300 51600 50300 53600 4 C 50100 53600 1 0 0 3.3V-plus-1.sym N 50300 53400 48700 53400 4 N 48700 53400 48700 53100 4 N 49700 53100 49700 53400 4 N 48700 52200 48700 52100 4 N 48700 52100 49700 52100 4 N 49700 52100 49700 52200 4 N 49200 52000 49200 52100 4 N 47500 53000 48000 53000 4 N 48000 53000 48000 50600 4 N 48000 50600 50400 50600 4 C 49100 51700 1 0 0 gnd-1.sym T 63900 38900 9 10 1 0 0 0 1 $Revision$ T 63900 38600 9 10 1 0 0 0 1 Stefan Petersen (spe@stacken.kth.se) T 61600 38600 9 10 1 0 0 0 1 5 T 61400 39400 9 20 1 0 0 0 1 gTAG - uController T 60000 38600 9 10 1 0 0 0 1 2 T 60000 38900 9 10 1 0 0 0 1 gTAG-ucont.sch C 50300 41100 1 0 0 cy7c64603-52nc.sym { T 50700 52600 5 10 1 1 0 0 1 refdes=U1 T 53900 47600 5 10 0 1 0 0 1 footprint=cy7c64603 } N 51400 39900 57200 39900 4 N 57200 40300 57200 39900 4 N 56000 39200 57200 39200 4 C 64000 44100 1 0 1 in-1.sym { T 63800 44300 5 10 1 1 0 6 1 refdes=tdo_ttl T 64000 44400 5 10 0 0 0 0 1 device=INPUT } C 63400 45700 1 0 0 out-1.sym { T 63400 45900 5 10 1 1 0 0 1 refdes=tdi_ttl T 63400 46000 5 10 0 0 0 0 1 device=OUTPUT } C 63400 45300 1 0 0 out-1.sym { T 63300 45500 5 10 1 1 0 0 1 refdes=tms_ttl T 63400 45600 5 10 0 0 0 0 1 device=OUTPUT } C 63400 44900 1 0 0 out-1.sym { T 63300 45100 5 10 1 1 0 0 1 refdes=tck_ttl T 63400 45200 5 10 0 0 0 0 1 device=OUTPUT } C 63400 44500 1 0 0 out-1.sym { T 63300 44700 5 10 1 1 0 0 1 refdes=trst_ttl T 63400 44800 5 10 0 0 0 0 1 device=OUTPUT } C 59400 53100 1 0 0 3.3V-plus-1.sym C 59700 52000 1 90 0 resistor-2.sym { T 59400 52200 5 10 1 1 90 0 1 refdes=R16 T 59900 52300 5 10 1 1 90 0 1 value=10k T 59700 52000 5 10 0 1 0 0 1 footprint=sm0805 T 60100 52350 5 10 0 0 0 0 1 device=RESISTOR } N 58100 51700 60800 51700 4 C 60800 51600 1 0 0 resistor-2.sym { T 61000 51900 5 10 1 1 0 0 1 refdes=R14 T 61100 51400 5 10 1 1 0 0 1 value=10k T 60800 51600 5 10 0 1 270 0 1 footprint=sm0805 T 61200 51950 5 10 0 0 0 0 1 device=RESISTOR } N 59600 51300 59600 52000 4 N 58800 50900 58800 52000 4 N 58800 53100 58800 52900 4 N 59600 53100 59600 52900 4 N 50400 45600 47300 45600 4 C 47100 46800 1 0 0 3.3V-plus-1.sym C 47200 44100 1 0 0 gnd-1.sym N 50200 45000 50400 45000 4 N 50200 43800 50400 43800 4 N 49200 45100 49200 43800 4 N 49200 43800 49300 43800 4 N 49300 45000 49200 45000 4 N 47300 45400 47300 45800 4 N 47300 46800 47300 46700 4 N 47300 44500 47300 44400 4 C 45100 42200 1 90 0 resistor-2.sym { T 44800 42400 5 10 1 1 90 0 1 refdes=R10 T 45300 42600 5 10 1 1 90 0 1 value=0 T 45200 42800 5 10 0 1 0 0 1 footprint=sm0805 T 45500 42550 5 10 0 0 0 0 1 device=RESISTOR } C 45100 43500 1 90 0 resistor-2.sym { T 44800 43700 5 10 1 1 90 0 1 refdes=R9 T 45300 43900 5 10 1 1 90 0 1 value=0 T 45200 43700 5 10 1 1 0 0 1 comment=do not mount T 45200 44100 5 10 0 1 0 0 1 footprint=sm0805 T 45500 43850 5 10 0 0 0 0 1 device=RESISTOR } C 44800 44500 1 0 0 3.3V-plus-1.sym C 44900 41800 1 0 0 gnd-1.sym N 45000 43100 45000 43500 4 N 45000 44500 45000 44400 4 N 45000 42200 45000 42100 4 N 46000 43300 45000 43300 4 N 58100 47400 59400 47400 4 N 59400 45800 59400 45900 4 N 59800 45400 59800 45900 4 N 60200 45000 60200 45900 4 N 60600 44600 60600 45900 4 N 61000 44200 61000 45900 4 N 61400 43800 61400 45900 4 N 61800 43400 61800 45900 4 N 62200 43000 62200 45900 4 N 59400 47400 59400 47300 4 N 59800 47800 59800 47300 4 N 60200 48200 60200 47300 4 N 60600 48600 60600 47300 4 N 61000 49000 61000 47300 4 N 61400 47300 61400 49400 4 N 61800 49800 61800 47300 4 N 62200 50200 62200 47300 4 C 61900 51300 1 0 0 gnd-1.sym N 58100 42400 62600 42400 4 N 62600 42400 62600 45900 4 N 58100 42000 63000 42000 4 N 63000 42000 63000 45900 4 C 62400 47700 1 0 0 3.3V-plus-1.sym C 63500 47000 1 0 0 gnd-1.sym N 63000 47300 63000 47500 4 N 63600 47300 63600 47500 4 N 63600 47500 63000 47500 4 N 62600 47700 62600 47300 4 N 61700 51700 62000 51700 4 N 62000 51700 62000 51600 4 C 63200 52700 1 90 0 capacitor-1.sym { T 62700 52900 5 10 1 1 90 0 1 refdes=C6 T 63400 52900 5 10 1 1 90 0 1 value=100n T 62200 52600 5 10 0 1 0 0 1 footprint=sm1206 T 63400 53400 5 10 0 0 0 0 1 device=CAPACITOR T 63400 53600 5 10 0 0 0 0 1 symversion=0.1 } C 64200 52700 1 90 0 capacitor-1.sym { T 63700 52900 5 10 1 1 90 0 1 refdes=C7 T 64400 52900 5 10 1 1 90 0 1 value=100n T 63300 52600 5 10 0 1 0 0 1 footprint=sm1206 T 64400 53400 5 10 0 0 0 0 1 device=CAPACITOR T 64400 53600 5 10 0 0 0 0 1 symversion=0.1 } C 65200 52700 1 90 0 capacitor-1.sym { T 64700 52900 5 10 1 1 90 0 1 refdes=C8 T 65400 52900 5 10 1 1 90 0 1 value=100n T 64300 52600 5 10 0 1 0 0 1 footprint=sm1206 T 65400 53400 5 10 0 0 0 0 1 device=CAPACITOR T 65400 53600 5 10 0 0 0 0 1 symversion=0.1 } C 66200 52700 1 90 0 capacitor-1.sym { T 65700 52900 5 10 1 1 90 0 1 refdes=C9 T 66400 52900 5 10 1 1 90 0 1 value=100n T 65300 52600 5 10 0 1 0 0 1 footprint=sm1206 T 66400 53400 5 10 0 0 0 0 1 device=CAPACITOR T 66400 53600 5 10 0 0 0 0 1 symversion=0.1 } C 62800 54000 1 0 0 3.3V-plus-1.sym C 62900 52000 1 0 0 gnd-1.sym N 63000 52500 66000 52500 4 N 66000 52500 66000 52700 4 N 63000 53800 66000 53800 4 N 66000 53800 66000 53600 4 N 63000 53600 63000 54000 4 N 63000 52300 63000 52700 4 N 64000 52500 64000 52700 4 N 65000 52500 65000 52700 4 N 64000 53600 64000 53800 4 N 65000 53600 65000 53800 4 T 62400 51600 9 15 1 0 0 0 1 Place one near each VCC pin for U1 C 44000 38700 1 0 0 copyleft.sym { T 46300 41900 5 10 0 0 0 0 1 device=none } C 48400 42600 1 90 0 jumper-1.sym { T 47800 42400 5 10 1 1 0 0 1 refdes=J1 T 47600 42300 5 10 0 1 0 0 1 footprint=JUMPER2 T 48700 43100 5 8 0 0 0 0 1 device=JUMPER } N 47400 42700 47300 42700 4 N 48400 42700 49600 42700 4 C 46900 52900 1 0 0 in-1.sym { T 46900 53200 5 10 1 1 0 0 1 refdes=reset# T 46900 53200 5 10 0 0 0 0 1 device=INPUT } C 63200 45900 1 90 0 header20-1.sym { T 59100 46300 5 10 1 1 90 0 1 refdes=CONN1 T 63300 46700 5 10 0 1 0 0 1 footprint=CONNECTOR 10 2 T 63400 45650 5 10 0 1 0 0 1 device=HEADER20 } geda-gaf-1.8.2/examples/gTAG/gTAG-psu.sym0000664000175000017500000000114412050461155014620 00000000000000v 20031011 1 B 300 0 2600 1800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1500 1000 9 10 1 0 0 4 1 gTAG-psu P 300 600 0 600 1 0 1 { T 400 600 5 10 1 1 0 0 1 pinlabel=jtag_power T 200 600 5 10 0 1 0 0 1 pinnumber=1 T 200 600 5 10 0 0 0 0 1 pinseq=1 } P 2900 600 3200 600 1 0 1 { T 2900 600 5 10 0 1 0 0 1 pinnumber=2 T 2900 600 5 10 0 0 0 0 1 pinseq=2 T 2800 600 5 10 1 1 0 6 1 pinlabel=usb_power } T 300 1900 8 10 1 1 0 0 1 refdes=S? T 1100 1400 8 10 0 1 0 0 1 device=none P 2900 200 3200 200 1 0 1 { T 2900 200 5 10 0 1 0 0 1 pinnumber=3 T 2900 200 5 10 0 0 0 0 1 pinseq=3 T 2800 200 5 10 1 1 0 6 1 pinlabel=pon_reset# } geda-gaf-1.8.2/examples/gTAG/gTAG.sch0000664000175000017500000000405212050461155013761 00000000000000v 20070216 1 C 44300 51500 0 0 0 title-A2.sym N 52800 59800 54100 59800 4 { T 53300 59900 5 10 1 1 0 0 1 netname=tdi_ttl } N 52800 59400 54100 59400 4 { T 53300 59500 5 10 1 1 0 0 1 netname=tdo_ttl } N 52800 59000 54100 59000 4 { T 53300 59100 5 10 1 1 0 0 1 netname=tms_ttl } N 52800 58600 54100 58600 4 { T 53300 58700 5 10 1 1 0 0 1 netname=tck_ttl } N 52800 58200 54100 58200 4 { T 53300 58300 5 10 1 1 0 0 1 netname=trst_ttl } N 53900 62300 51200 62300 4 N 51200 62300 51200 60300 4 { T 50200 61200 5 10 1 1 0 0 1 netname=jtag_power } N 57100 62300 60100 62300 4 N 60100 62300 60100 60300 4 { T 60200 61200 5 10 1 1 0 0 1 netname=usb_power } T 51100 57400 9 10 1 0 0 0 1 JTAG (IEEE1149.1) consist of tdi, tdo, tck, tms, (trst) N 57300 59100 58600 59100 4 { T 57500 59200 5 10 1 1 0 0 1 netname=usb_io+ } N 57300 58800 58600 58800 4 { T 57500 58900 5 10 1 1 0 0 1 netname=usb_io- } C 54100 58000 1 0 0 gTAG-ucont.sym { T 54400 60100 5 10 1 1 0 0 1 refdes=S1 T 54900 57800 5 10 1 1 0 0 1 source=gTAG-ucont.sch T 55400 59200 5 10 0 1 0 0 1 device=none } C 49900 58000 1 0 0 gTAG-jtagio.sym { T 49900 60100 5 10 1 1 0 0 1 refdes=S2 T 50500 57800 5 10 1 1 0 0 1 source=gTAG-jtagio.sch T 50500 59400 5 10 0 1 0 0 1 device=none } C 58600 58000 1 0 0 gTAG-consio.sym { T 58900 60100 5 10 1 1 0 0 1 refdes=S3 T 59600 57800 5 10 1 1 0 0 1 source=gTAG-consio.sch T 59900 59400 5 10 0 1 0 0 1 device=none } C 53900 61700 1 0 0 gTAG-psu.sym { T 54200 63600 5 10 1 1 0 0 1 refdes=S4 T 54800 61500 5 10 1 1 0 0 1 source=gTAG-psu.sch T 55000 63100 5 10 0 1 0 0 1 device=none } T 62200 51600 9 10 1 0 0 0 1 5 T 60700 51600 9 10 1 0 0 0 1 1 T 48500 65200 9 50 1 0 0 0 1 gTAG - usb to jtag interface T 61500 52400 9 20 1 0 0 0 1 gTAG - top level T 60700 51900 9 10 1 0 0 0 1 gTAG.sch T 64500 51600 9 10 1 0 0 0 1 Stefan Petersen (spe@stacken.kth.se) T 64500 51900 9 10 1 0 0 0 1 $Revision$ C 44600 51700 1 0 0 copyleft.sym { T 46900 54900 5 10 0 0 0 0 1 device=none } N 57300 59800 57400 59800 4 N 57400 59800 57400 61900 4 { T 57500 60900 5 10 1 1 0 0 1 netname=pon_reset# } N 57400 61900 57100 61900 4 geda-gaf-1.8.2/examples/gTAG/gTAG-consio.ps0000664000175000017500000003441012050461155015117 00000000000000%! /inch {72 mul} def /mils { 1000 div inch } def /setcoords { 8269 mils 0 translate 90 rotate 0.449193 0.449193 scale } def /box { exch dup 0 rlineto exch 0 exch rlineto neg 0 rlineto closepath stroke } def /fbox { exch dup 0 rlineto exch 0 exch rlineto neg 0 rlineto closepath fill } def setcoords 2 setlinecap % Translate origin to the right place... -45299 mils -39246 mils translate gsave gsave gsave newpath 46600 mils 40200 mils moveto 69900 mils 40200 mils lineto stroke grestore gsave newpath 69900 mils 40200 mils moveto 69900 mils 56700 mils lineto stroke grestore gsave newpath 69900 mils 56700 mils moveto 46600 mils 56700 mils lineto stroke grestore gsave newpath 46600 mils 56700 mils moveto 46600 mils 40200 mils lineto stroke grestore grestore gsave newpath 65800 mils 40800 mils moveto 65800 mils 40200 mils lineto stroke grestore gsave /Helvetica findfont 11.200000 scalefont setfont 62400 mils 40600 mils moveto (FILE:) show grestore gsave /Helvetica findfont 11.200000 scalefont setfont 65900 mils 40600 mils moveto (REVISION:) show grestore gsave /Helvetica findfont 11.200000 scalefont setfont 65900 mils 40300 mils moveto (DRAWN BY: ) show grestore gsave /Helvetica findfont 11.200000 scalefont setfont 62400 mils 40300 mils moveto (PAGE) show grestore gsave /Helvetica findfont 11.200000 scalefont setfont 64100 mils 40300 mils moveto (OF) show grestore gsave /Helvetica findfont 11.200000 scalefont setfont 62400 mils 40900 mils moveto (TITLE) show grestore gsave gsave newpath 62300 mils 40200 mils moveto 69900 mils 40200 mils lineto stroke grestore gsave newpath 69900 mils 40200 mils moveto 69900 mils 41600 mils lineto stroke grestore gsave newpath 69900 mils 41600 mils moveto 62300 mils 41600 mils lineto stroke grestore gsave newpath 62300 mils 41600 mils moveto 62300 mils 40200 mils lineto stroke grestore grestore gsave newpath 62300 mils 40800 mils moveto 69900 mils 40800 mils lineto stroke grestore grestore gsave newpath 1.5 setlinewidth 57100 mils 48500 mils moveto 56900 mils 48500 mils lineto stroke 1 setlinewidth gsave newpath 56900 mils 48500 mils moveto 56500 mils 48500 mils lineto stroke grestore gsave newpath 56500 mils 48500 mils moveto 56600 mils 48600 mils lineto stroke grestore gsave newpath 56500 mils 48500 mils moveto 56600 mils 48400 mils lineto stroke grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 57100 mils (usb_io+) stringwidth pop -1 mul add 48700 mils moveto (usb_io+) show grestore gsave newpath 1.5 setlinewidth 57100 mils 49300 mils moveto 56900 mils 49300 mils lineto stroke 1 setlinewidth gsave newpath 56900 mils 49300 mils moveto 56500 mils 49300 mils lineto stroke grestore gsave newpath 56500 mils 49300 mils moveto 56600 mils 49400 mils lineto stroke grestore gsave newpath 56500 mils 49300 mils moveto 56600 mils 49200 mils lineto stroke grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 57100 mils (usb_io-) stringwidth pop -1 mul add 49500 mils moveto (usb_io-) show grestore gsave newpath 1.5 setlinewidth 58000 mils 50700 mils moveto 58000 mils 50900 mils lineto stroke 1 setlinewidth gsave newpath 57900 mils 50700 mils moveto 58100 mils 50700 mils lineto stroke grestore gsave newpath 57955 mils 50650 mils moveto 58045 mils 50650 mils lineto stroke grestore gsave newpath 57980 mils 50610 mils moveto 58020 mils 50610 mils lineto stroke grestore grestore gsave newpath 1.5 setlinewidth 57500 mils 51400 mils moveto 57800 mils 51400 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 11.200000 scalefont setfont 56350 mils 51350 mils moveto (3) show grestore newpath 1.5 setlinewidth 57500 mils 51700 mils moveto 57800 mils 51700 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 11.200000 scalefont setfont 56350 mils 51650 mils moveto (2) show grestore newpath 1.5 setlinewidth 57500 mils 51100 mils moveto 57800 mils 51100 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 11.200000 scalefont setfont 56350 mils 51050 mils moveto (4) show grestore gsave newpath 57500 mils 51700 mils moveto 56600 mils 51700 mils lineto stroke grestore gsave newpath 57500 mils 51400 mils moveto 56600 mils 51400 mils lineto stroke grestore gsave newpath 57500 mils 51100 mils moveto 56600 mils 51100 mils lineto stroke grestore newpath 1.5 setlinewidth 57500 mils 52000 mils moveto 57800 mils 52000 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 11.200000 scalefont setfont 56350 mils 51950 mils moveto (1) show grestore gsave newpath 57500 mils 52000 mils moveto 56600 mils 52000 mils lineto stroke grestore gsave gsave newpath 56100 mils 50900 mils moveto 56600 mils 50900 mils lineto stroke grestore gsave newpath 56600 mils 50900 mils moveto 56600 mils 52200 mils lineto stroke grestore gsave newpath 56600 mils 52200 mils moveto 56100 mils 52200 mils lineto stroke grestore gsave newpath 56100 mils 52200 mils moveto 56100 mils 50900 mils lineto stroke grestore grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 56100 mils 52300 mils moveto (CONN2) show grestore gsave newpath 1.5 setlinewidth 59400 mils 52000 mils moveto 59600 mils 52000 mils lineto stroke 1 setlinewidth gsave newpath 59600 mils 52000 mils moveto 60000 mils 52000 mils lineto stroke grestore gsave newpath 60000 mils 52000 mils moveto 59900 mils 52100 mils lineto stroke grestore gsave newpath 60000 mils 52000 mils moveto 59900 mils 51900 mils lineto stroke grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 59400 mils 52200 mils moveto (usb_power) show grestore gsave newpath 1.5 setlinewidth 57800 mils 51400 mils moveto 58700 mils 51400 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 58700 mils 48500 mils moveto 58700 mils 51400 mils lineto stroke newpath 58700 mils 48500 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 57800 mils 51700 mils moveto 59000 mils 51700 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 57800 mils 52000 mils moveto 59400 mils 52000 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 57800 mils 51100 mils moveto 58000 mils 51100 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 58000 mils 51100 mils moveto 58000 mils 50900 mils lineto stroke grestore gsave /Helvetica findfont 35.000000 scalefont setfont 52700 mils 51500 mils moveto (USB connector) show grestore gsave gsave gsave newpath 60200 mils 48300 mils moveto 61500 mils 48300 mils lineto stroke grestore gsave newpath 61500 mils 48300 mils moveto 61500 mils 49800 mils lineto stroke grestore gsave newpath 61500 mils 49800 mils moveto 60200 mils 49800 mils lineto stroke grestore gsave newpath 60200 mils 49800 mils moveto 60200 mils 48300 mils lineto stroke grestore grestore newpath 1.5 setlinewidth 61500 mils 49600 mils moveto 61800 mils 49600 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 61600 mils 49600 mils moveto (8) show grestore newpath 1.5 setlinewidth 61500 mils 49300 mils moveto 61800 mils 49300 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 61600 mils 49300 mils moveto (7) show grestore newpath 1.5 setlinewidth 61500 mils 48900 mils moveto 61800 mils 48900 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 61600 mils 48900 mils moveto (6) show grestore newpath 1.5 setlinewidth 61500 mils 48500 mils moveto 61800 mils 48500 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 61600 mils 48500 mils moveto (5) show grestore newpath 1.5 setlinewidth 59900 mils 49600 mils moveto 60200 mils 49600 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 60100 mils 49600 mils moveto (1) show grestore newpath 1.5 setlinewidth 59900 mils 49300 mils moveto 60200 mils 49300 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 60100 mils 49300 mils moveto (2) show grestore newpath 1.5 setlinewidth 59900 mils 48900 mils moveto 60200 mils 48900 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 60100 mils 48900 mils moveto (3) show grestore newpath 1.5 setlinewidth 59900 mils 48500 mils moveto 60200 mils 48500 mils lineto stroke 1 setlinewidth gsave /Helvetica findfont 14.000000 scalefont setfont 60100 mils 48500 mils moveto (4) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 60300 mils 49600 mils moveto (GND) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 60300 mils 48900 mils moveto (GND) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 61400 mils (GND) stringwidth pop -1 mul add 48500 mils moveto (GND) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 61400 mils (GND) stringwidth pop -1 mul add 49300 mils moveto (GND) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 61400 mils (A) stringwidth pop -1 mul add 49600 mils moveto (A) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 61400 mils (B) stringwidth pop -1 mul add 48900 mils moveto (B) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 60300 mils 49300 mils moveto (C) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 60300 mils 48500 mils moveto (D) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 60300 mils 48100 mils moveto (SN75240PW) show grestore grestore gsave /Helvetica findfont 14.000000 scalefont setfont 60200 mils 49900 mils moveto (U40) show grestore gsave newpath 1.5 setlinewidth 59700 mils 48100 mils moveto 59700 mils 48300 mils lineto stroke 1 setlinewidth gsave newpath 59600 mils 48100 mils moveto 59800 mils 48100 mils lineto stroke grestore gsave newpath 59655 mils 48050 mils moveto 59745 mils 48050 mils lineto stroke grestore gsave newpath 59680 mils 48010 mils moveto 59720 mils 48010 mils lineto stroke grestore grestore gsave newpath 1.5 setlinewidth 62000 mils 48100 mils moveto 62000 mils 48300 mils lineto stroke 1 setlinewidth gsave newpath 61900 mils 48100 mils moveto 62100 mils 48100 mils lineto stroke grestore gsave newpath 61955 mils 48050 mils moveto 62045 mils 48050 mils lineto stroke grestore gsave newpath 61980 mils 48010 mils moveto 62020 mils 48010 mils lineto stroke grestore grestore gsave newpath 1.5 setlinewidth 59900 mils 49600 mils moveto 59700 mils 49600 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 59700 mils 49600 mils moveto 59700 mils 48300 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 59900 mils 48900 mils moveto 59700 mils 48900 mils lineto stroke newpath 59700 mils 48900 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 62000 mils 48300 mils moveto 62000 mils 49300 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 61800 mils 49300 mils moveto 62000 mils 49300 mils lineto stroke grestore gsave newpath 1.5 setlinewidth 61800 mils 48500 mils moveto 62000 mils 48500 mils lineto stroke newpath 62000 mils 48500 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 59000 mils 51700 mils moveto 59000 mils 49300 mils lineto stroke newpath 59000 mils 49300 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 58700 mils 48500 mils moveto 59900 mils 48500 mils lineto stroke newpath 58700 mils 48500 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 59000 mils 49300 mils moveto 59900 mils 49300 mils lineto stroke newpath 59000 mils 49300 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 59000 mils 49300 mils moveto 57100 mils 49300 mils lineto stroke newpath 59000 mils 49300 mils 3 0 360 arc fill grestore gsave newpath 1.5 setlinewidth 58700 mils 48500 mils moveto 57100 mils 48500 mils lineto stroke newpath 58700 mils 48500 mils 3 0 360 arc fill grestore gsave /Helvetica findfont 28.000000 scalefont setfont 64300 mils 41100 mils moveto (gTAG - console IO) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 64400 mils 40300 mils moveto (5) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 63000 mils 40300 mils moveto (3) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 63000 mils 40600 mils moveto (gTAG-consio.sch) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 66800 mils 40300 mils moveto (Stefan Petersen \(spe@stacken.kth.se\)) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 66800 mils 40600 mils moveto ($Revision$) show grestore gsave gsave /Helvetica findfont 14.000000 scalefont setfont 46900 mils 42700 mils moveto (This schematic is free software; you can redistribute it and/or modify) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 46900 mils 42500 mils moveto ( it under the terms of the GNU General Public License as published by) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 46900 mils 42300 mils moveto (the Free Software Foundation; either version 2 of the License, or) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 46900 mils 42100 mils moveto (\(at your option\) any later version.) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 46900 mils 41800 mils moveto (This schematic is distributed in the hope that it will be useful,) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 46900 mils 41600 mils moveto (but WITHOUT ANY WARRANTY; without even the implied warranty of) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 46900 mils 41400 mils moveto (MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 46900 mils 41100 mils moveto (GNU General Public License for more details.) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 46900 mils 40900 mils moveto (You should have received a copy of the GNU General Public License) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 46900 mils 40700 mils moveto (along with this program; if not, write to the Free Software) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 46900 mils 40500 mils moveto (Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA) show grestore gsave /Helvetica findfont 14.000000 scalefont setfont 46900 mils 43100 mils moveto (\(C\) 2001 Stefan Petersen \(spe@stacken.kth.se\)) show grestore grestore showpage geda-gaf-1.8.2/examples/gTAG/gTAG.bom0000664000175000017500000000232212050461155013757 00000000000000package refdes device footprint R34 R34 RESISTOR sm0805 R32 R32 RESISTOR sm0805 R33 R33 RESISTOR sm0805 C30 C30 CAPACITOR sm1206 R31 R31 RESISTOR sm0805 R30 R30 RESISTOR sm0805 C31 C31 POLARIZED_CAPACITOR sm1206p C32 C32 POLARIZED_CAPACITOR sm1206p U30 U30 MAX882 SO8 U40 U40 SN75240PW SO8 CONN2 CONN2 CONNECTOR_4 conn_usb R23 R23 RESISTOR sm0805 R22 R22 RESISTOR sm0805 R21 R21 RESISTOR sm0805 R20 R20 RESISTOR sm0805 C20 C20 CAPACITOR sm1206 CONN4 CONN4 CONNECTOR_8 conn_jtag U20 U20 7414 so14 CONN1 CONN1 HEADER20 connector20 J1 J1 JUMPER jumper2 C9 C9 CAPACITOR sm1206 C8 C8 CAPACITOR sm1206 C7 C7 CAPACITOR sm1206 C6 C6 CAPACITOR sm1206 R9 R9 RESISTOR sm0805 R10 R10 RESISTOR sm0805 R14 R14 RESISTOR sm0805 R16 R16 RESISTOR sm0805 U1 U1 cy7c64603-52nc cy7c64603_qfp C2 C2 POLARIZED_CAPACITOR sm1206p C3 C3 CAPACITOR sm1206 R8 R8 RESISTOR sm0805 R7 R7 RESISTOR sm0805 R5 R5 RESISTOR sm0805 R3 R3 RESISTOR sm0805 R4 R4 RESISTOR sm0805 R15 R15 RESISTOR sm0805 R6 R6 RESISTOR sm0805 R11 R11 RESISTOR sm0805 R12 R12 RESISTOR sm0805 R2 R2 RESISTOR sm0805 R13 R13 RESISTOR sm0805 C5 C5 CAPACITOR sm1206 C4 C4 CAPACITOR sm1206 R17 R17 RESISTOR sm0805 X1 X1 CRYSTAL xtal300 U2 U2 24Cxx so8 geda-gaf-1.8.2/examples/gTAG/gTAG-ucont.sym0000664000175000017500000000246512050461155015150 00000000000000v 20031011 1 B 300 0 2600 2000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1500 1000 9 10 1 0 0 4 1 gTAG-ucont P 300 1800 0 1800 1 0 1 { T 200 1800 5 10 0 1 0 0 1 pinnumber=1 T 200 1800 5 10 0 0 0 0 1 pinseq=1 T 300 1800 5 10 1 1 0 0 1 pinlabel=tdi_ttl } P 300 1400 0 1400 1 0 1 { T 200 1400 5 10 0 1 0 0 1 pinnumber=2 T 200 1400 5 10 0 0 0 0 1 pinseq=2 T 300 1400 5 10 1 1 0 0 1 pinlabel=tdo_ttl } P 300 1000 0 1000 1 0 1 { T 200 1000 5 10 0 1 0 0 1 pinnumber=3 T 200 1000 5 10 0 0 0 0 1 pinseq=3 T 300 1000 5 10 1 1 0 0 1 pinlabel=tms_ttl } P 300 600 0 600 1 0 1 { T 200 600 5 10 0 1 0 0 1 pinnumber=4 T 200 600 5 10 0 0 0 0 1 pinseq=4 T 300 600 5 10 1 1 0 0 1 pinlabel=tck_ttl } P 300 200 0 200 1 0 1 { T 200 200 5 10 0 1 0 0 1 pinnumber=5 T 200 200 5 10 0 0 0 0 1 pinseq=5 T 300 200 5 10 1 1 0 0 1 pinlabel=trst_ttl } P 2900 1100 3200 1100 1 0 1 { T 2900 1100 5 10 0 1 0 0 1 pinnumber=6 T 2900 1100 5 10 0 0 0 0 1 pinseq=6 T 2800 1100 5 10 1 1 0 6 1 pinlabel=usb_io+ } P 2900 800 3200 800 1 0 1 { T 2900 800 5 10 0 1 0 0 1 pinnumber=7 T 2900 800 5 10 0 0 0 0 1 pinseq=7 T 2800 800 5 10 1 1 0 6 1 pinlabel=usb_io- } T 300 2100 8 10 1 1 0 0 1 refdes=S? P 2900 1800 3200 1800 1 0 1 { T 2900 1800 5 10 0 1 0 0 1 pinnumber=8 T 2900 1800 5 10 0 0 0 0 1 pinseq=8 T 2800 1800 5 10 1 1 0 6 1 pinlabel=reset# } T 1300 1200 8 10 0 1 0 0 1 device=none geda-gaf-1.8.2/examples/gTAG/gTAG-consio.sym0000664000175000017500000000113412050461155015302 00000000000000v 20031011 1 B 300 0 2600 2000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1500 1000 9 10 1 0 0 4 1 gTAG-consio P 0 1100 300 1100 1 0 0 { T 400 1100 5 10 1 1 0 0 1 pinlabel=usb_io+ T 0 1100 5 10 0 1 0 0 1 pinnumber=1 T 0 1100 5 10 0 0 0 0 1 pinseq=1 } P 0 800 300 800 1 0 0 { T 0 800 5 10 0 1 0 0 1 pinnumber=2 T 0 800 5 10 0 0 0 0 1 pinseq=2 T 400 800 5 10 1 1 0 0 1 pinlabel=usb_io- } P 1500 2000 1500 2300 1 0 1 { T 1000 1800 5 10 1 1 0 0 1 pinlabel=usb_power T 1500 2000 5 10 0 1 0 0 1 pinnumber=3 T 1500 2000 5 10 0 0 0 0 1 pinseq=3 } T 300 2100 8 10 1 1 0 0 1 refdes=S? T 1300 1400 8 10 0 1 0 0 1 device=none geda-gaf-1.8.2/examples/gTAG/cy7c64603-52nc.sym0000664000175000017500000001741412050461155015255 00000000000000v 20031011 1 T 500 10500 9 10 1 0 0 0 1 AVCC B 400 -500 7100 11900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 { T 2400 7300 5 10 0 0 0 0 1 device=cy7c64603-52nc } P 400 10500 100 10500 1 0 1 { T 200 10500 5 10 1 1 0 0 1 pinnumber=5 T 200 10500 5 10 0 0 0 0 1 pinseq=5 } P 400 9900 100 9900 1 0 1 { T 300 10000 5 10 1 1 0 6 1 pinnumber=18 T 300 10000 5 10 0 0 0 6 1 pinseq=18 } P 400 8900 100 8900 1 0 1 { T 300 9000 5 10 1 1 0 6 1 pinnumber=24 T 300 9000 5 10 0 0 0 6 1 pinseq=24 } P 400 9500 100 9500 1 0 1 { T 300 9600 5 10 1 1 0 6 1 pinnumber=28 T 300 9600 5 10 0 0 0 6 1 pinseq=28 } P 400 8500 100 8500 1 0 1 { T 300 8600 5 10 1 1 0 6 1 pinnumber=25 T 300 8600 5 10 0 0 0 6 1 pinseq=25 } T 500 4500 9 10 1 0 0 0 1 XCLKSEL T 500 3900 9 10 1 0 0 0 1 XCLK T 500 3300 9 10 1 0 0 0 1 CLKOUT T 500 2700 9 10 1 0 0 0 1 WAKEUP# T 500 2100 9 10 1 0 0 0 1 SCL T 500 1700 9 10 1 0 0 0 1 SDA P 400 4500 100 4500 1 0 1 { T 300 4600 5 10 1 1 0 6 1 pinnumber=16 T 300 4600 5 10 0 0 0 6 1 pinseq=16 } P 400 3900 100 3900 1 0 1 { T 300 4000 5 10 1 1 0 6 1 pinnumber=38 T 300 4000 5 10 0 0 0 6 1 pinseq=38 } P 400 2100 100 2100 1 0 1 { T 300 2200 5 10 1 1 0 6 1 pinnumber=2 T 300 2200 5 10 0 0 0 6 1 pinseq=2 } T 500 9900 9 10 1 0 0 0 1 DISCON# T 500 9500 9 10 1 0 0 0 1 RESET# T 500 8900 9 10 1 0 0 0 1 USBD- T 500 8500 9 10 1 0 0 0 1 USBD+ P 400 3300 100 3300 1 0 1 { T 300 3400 5 10 1 1 0 6 1 pinnumber=12 T 300 3400 5 10 0 0 0 6 1 pinseq=12 } P 400 2700 100 2700 1 0 1 { T 300 2800 5 10 1 1 0 6 1 pinnumber=4 T 300 2800 5 10 0 0 0 6 1 pinseq=4 } P 400 1700 100 1700 1 0 1 { T 300 1800 5 10 1 1 0 6 1 pinnumber=3 T 300 1800 5 10 0 0 0 6 1 pinseq=3 } P 7800 9100 7500 9100 1 0 0 { T 7600 9200 5 10 1 1 0 0 1 pinnumber=29 T 7600 9200 5 10 0 0 0 0 1 pinseq=29 } P 7800 8700 7500 8700 1 0 0 { T 7600 8800 5 10 1 1 0 0 1 pinnumber=30 T 7600 8800 5 10 0 0 0 0 1 pinseq=30 } P 7800 8300 7500 8300 1 0 0 { T 7600 8400 5 10 1 1 0 0 1 pinnumber=31 T 7600 8400 5 10 0 0 0 0 1 pinseq=31 } P 7800 7900 7500 7900 1 0 0 { T 7600 8000 5 10 1 1 0 0 1 pinnumber=32 T 7600 8000 5 10 0 0 0 0 1 pinseq=32 } P 7800 7500 7500 7500 1 0 0 { T 7600 7600 5 10 1 1 0 0 1 pinnumber=33 T 7600 7600 5 10 0 0 0 0 1 pinseq=33 } P 7800 7100 7500 7100 1 0 0 { T 7600 7200 5 10 1 1 0 0 1 pinnumber=34 T 7600 7200 5 10 0 0 0 0 1 pinseq=34 } P 7800 6700 7500 6700 1 0 0 { T 7600 6800 5 10 1 1 0 0 1 pinnumber=35 T 7600 6800 5 10 0 0 0 0 1 pinseq=35 } P 7800 6300 7500 6300 1 0 0 { T 7600 6400 5 10 1 1 0 0 1 pinnumber=36 T 7600 6400 5 10 0 0 0 0 1 pinseq=36 } P 7800 4700 7500 4700 1 0 0 { T 7600 4800 5 10 1 1 0 0 1 pinnumber=43 T 7600 4800 5 10 0 0 0 0 1 pinseq=43 } P 7800 4300 7500 4300 1 0 0 { T 7600 4400 5 10 1 1 0 0 1 pinnumber=44 T 7600 4400 5 10 0 0 0 0 1 pinseq=44 } P 7800 3900 7500 3900 1 0 0 { T 7600 4000 5 10 1 1 0 0 1 pinnumber=45 T 7600 4000 5 10 0 0 0 0 1 pinseq=45 } P 7800 3500 7500 3500 1 0 0 { T 7600 3600 5 10 1 1 0 0 1 pinnumber=46 T 7600 3600 5 10 0 0 0 0 1 pinseq=46 } P 7800 3100 7500 3100 1 0 0 { T 7600 3200 5 10 1 1 0 0 1 pinnumber=48 T 7600 3200 5 10 0 0 0 0 1 pinseq=48 } P 7800 2700 7500 2700 1 0 0 { T 7600 2800 5 10 1 1 0 0 1 pinnumber=49 T 7600 2800 5 10 0 0 0 0 1 pinseq=49 } P 7800 2300 7500 2300 1 0 0 { T 7600 2400 5 10 1 1 0 0 1 pinnumber=50 T 7600 2400 5 10 0 0 0 0 1 pinseq=50 } P 7800 1900 7500 1900 1 0 0 { T 7600 2000 5 10 1 1 0 0 1 pinnumber=51 T 7600 2000 5 10 0 0 0 0 1 pinseq=51 } P 7800 10600 7500 10600 1 0 0 { T 7600 10700 5 10 1 1 0 0 1 pinnumber=42 T 7600 10700 5 10 0 0 0 0 1 pinseq=42 } P 7800 10200 7500 10200 1 0 0 { T 7600 10300 5 10 1 1 0 0 1 pinnumber=10 T 7600 10300 5 10 0 0 0 0 1 pinseq=10 } T 7400 9100 9 10 1 0 0 6 1 PB0 T 7400 8700 9 10 1 0 0 6 1 PB1 T 7400 8300 9 10 1 0 0 6 1 PB2 T 7400 7900 9 10 1 0 0 6 1 PB3 T 7400 7500 9 10 1 0 0 6 1 PB4 T 7400 7100 9 10 1 0 0 6 1 PB5 T 7400 6700 9 10 1 0 0 6 1 PB6 T 7400 6300 9 10 1 0 0 6 1 PB7 T 7400 4300 9 10 1 0 0 6 1 PC1 T 7400 3900 9 10 1 0 0 6 1 PC2 T 7400 3500 9 10 1 0 0 6 1 PC3 T 7400 3100 9 10 1 0 0 6 1 PC4 T 7400 2700 9 10 1 0 0 6 1 PC5 T 7400 2300 9 10 1 0 0 6 1 PC6 T 7400 1900 9 10 1 0 0 6 1 PC7 T 7400 4700 9 10 1 0 0 6 1 PC0 P 7800 9800 7500 9800 1 0 0 { T 7600 9900 5 10 1 1 0 0 1 pinnumber=11 T 7600 9900 5 10 0 0 0 0 1 pinseq=11 } P 7800 1300 7500 1300 1 0 0 { T 7600 1400 5 10 1 1 0 0 1 pinnumber=41 T 7600 1400 5 10 0 0 0 0 1 pinseq=41 } P 7800 900 7500 900 1 0 0 { T 7600 1000 5 10 1 1 0 0 1 pinnumber=37 T 7600 1000 5 10 0 0 0 0 1 pinseq=37 } T 7400 10600 9 10 1 0 0 6 1 RDY2 T 7400 10200 9 10 1 0 0 6 1 PA4/RDY4 T 7400 9800 9 10 1 0 0 6 1 PA5/RDY5 T 7400 1300 9 10 1 0 0 6 1 CTL0 T 7400 900 9 10 1 0 0 6 1 CTL2 T 3800 5900 9 30 1 0 0 4 1 CY7C64603-52NC T 400 11500 8 10 1 1 0 0 1 refdes=U? T 4500 -400 9 10 1 0 90 0 1 RESERVED1 T 4900 -400 9 10 1 0 90 0 1 RESERVED2 T 5300 -400 9 10 1 0 90 0 1 RESERVED3 T 5700 -400 9 10 1 0 90 0 1 RESERVED4 T 6100 -400 9 10 1 0 90 0 1 RESERVED5 T 6500 -400 9 10 1 0 90 0 1 RESERVED6 T 6900 -400 9 10 1 0 90 0 1 RESERVED7 P 6500 -500 6500 -800 1 0 1 { T 6400 -600 5 10 1 1 90 6 1 pinnumber=22 T 6400 -600 5 10 0 0 90 6 1 pinseq=22 } P 6900 -500 6900 -800 1 0 1 { T 6800 -600 5 10 1 1 90 6 1 pinnumber=23 T 6800 -600 5 10 0 0 90 6 1 pinseq=23 } P 6100 -500 6100 -800 1 0 1 { T 6000 -600 5 10 1 1 90 6 1 pinnumber=20 T 6000 -600 5 10 0 0 90 6 1 pinseq=20 } P 5700 -500 5700 -800 1 0 1 { T 5600 -600 5 10 1 1 90 6 1 pinnumber=19 T 5600 -600 5 10 0 0 90 6 1 pinseq=19 } P 5300 -500 5300 -800 1 0 1 { T 5200 -600 5 10 1 1 90 6 1 pinnumber=17 T 5200 -600 5 10 0 0 90 6 1 pinseq=17 } P 4900 -500 4900 -800 1 0 1 { T 4800 -600 5 10 1 1 90 6 1 pinnumber=15 T 4800 -600 5 10 0 0 90 6 1 pinseq=15 } P 4500 -500 4500 -800 1 0 1 { T 4400 -600 5 10 1 1 90 6 1 pinnumber=9 T 4400 -600 5 10 0 0 90 6 1 pinseq=9 } P 3800 -500 3800 -800 1 0 1 { T 3700 -600 5 10 1 1 90 6 1 pinnumber=52 T 3700 -600 5 10 0 0 90 6 1 pinseq=52 } P 3400 -500 3400 -800 1 0 1 { T 3300 -600 5 10 1 1 90 6 1 pinnumber=47 T 3300 -600 5 10 0 0 90 6 1 pinseq=47 } P 3000 -500 3000 -800 1 0 1 { T 2900 -600 5 10 1 1 90 6 1 pinnumber=39 T 2900 -600 5 10 0 0 90 6 1 pinseq=39 } P 2600 -500 2600 -800 1 0 1 { T 2500 -600 5 10 1 1 90 6 1 pinnumber=26 T 2500 -600 5 10 0 0 90 6 1 pinseq=26 } P 2200 -500 2200 -800 1 0 1 { T 2100 -600 5 10 1 1 90 6 1 pinnumber=21 T 2100 -600 5 10 0 0 90 6 1 pinseq=21 } P 1800 -500 1800 -800 1 0 1 { T 1700 -600 5 10 1 1 90 6 1 pinnumber=13 T 1700 -600 5 10 0 0 90 6 1 pinseq=13 } T 1800 -400 9 10 1 0 90 0 1 GND1 T 2200 -400 9 10 1 0 90 0 1 GND2 T 2600 -400 9 10 1 0 90 0 1 GND3 T 3000 -400 9 10 1 0 90 0 1 GND4 T 3400 -400 9 10 1 0 90 0 1 GND5 T 3800 -400 9 10 1 0 90 0 1 GND6 P 1100 -500 1100 -800 1 0 1 { T 1000 -600 5 10 1 1 90 6 1 pinnumber=8 T 1000 -600 5 10 0 0 90 6 1 pinseq=8 } T 1100 -400 9 10 1 0 90 0 1 AGND P 2300 11400 2300 11700 1 0 1 { T 2200 11500 5 10 1 1 90 0 1 pinnumber=1 T 2200 11500 5 10 0 0 90 0 1 pinseq=1 } P 2700 11400 2700 11700 1 0 1 { T 2600 11500 5 10 1 1 90 0 1 pinnumber=14 T 2600 11500 5 10 0 0 90 0 1 pinseq=14 } P 3100 11400 3100 11700 1 0 1 { T 3000 11500 5 10 1 1 90 0 1 pinnumber=27 T 3000 11500 5 10 0 0 90 0 1 pinseq=27 } P 4600 11400 4600 11700 1 0 1 { T 4500 11500 5 10 1 1 90 0 1 pinnumber=7 T 4500 11500 5 10 0 0 90 0 1 pinseq=7 } P 5500 11400 5500 11700 1 0 1 { T 5400 11500 5 10 1 1 90 0 1 pinnumber=6 T 5400 11500 5 10 0 0 90 0 1 pinseq=6 } T 4600 11300 9 10 1 0 90 6 1 XOUT T 5500 11300 9 10 1 0 90 6 1 XIN P 3500 11400 3500 11700 1 0 1 { T 3400 11500 5 10 1 1 90 0 1 pinnumber=40 T 3400 11500 5 10 0 0 90 0 1 pinseq=40 } T 2300 11300 9 10 1 0 90 6 1 VCC1 T 2700 11300 9 10 1 0 90 6 1 VCC2 T 3100 11300 9 10 1 0 90 6 1 VCC3 T 3500 11300 9 10 1 0 90 6 1 VCC4 T 2100 5300 9 10 1 0 0 0 1 INCOMPLETE SYMBOL T 2100 5000 9 10 1 0 0 0 1 Missing is: T 2100 4800 9 10 1 0 0 0 1 * label on pins T 2100 4500 9 10 1 0 0 0 1 Errors are: T 2100 4300 9 10 1 0 0 0 1 * Wrong pin number size T 2100 4100 9 10 1 0 0 0 1 * Distance from pin to pin number (currently 100 pt) T 3600 6500 8 10 0 1 0 0 1 footprint=cy7c64603_qfp geda-gaf-1.8.2/examples/gTAG/gTAG-jtagio.sym0000664000175000017500000000205612050461155015271 00000000000000v 20031011 1 B 0 0 2600 2000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1300 1000 9 10 1 0 0 4 1 gTAG-jtagio P 2900 1800 2600 1800 1 0 0 { T 2500 1800 5 10 1 1 0 6 1 pinlabel=tdi_ttl T 2600 1800 5 10 0 1 0 0 1 pinnumber=1 T 2600 1800 5 10 0 0 0 0 1 pinseq=1 } P 2900 1400 2600 1400 1 0 0 { T 2500 1400 5 10 1 1 0 6 1 pinlabel=tdo_ttl T 2600 1400 5 10 0 1 0 0 1 pinnumber=2 T 2600 1400 5 10 0 0 0 0 1 pinseq=2 } P 2900 1000 2600 1000 1 0 0 { T 2500 1000 5 10 1 1 0 6 1 pinlabel=tms_ttl T 2600 1000 5 10 0 1 0 0 1 pinnumber=3 T 2600 1000 5 10 0 0 0 0 1 pinseq=3 } P 2900 600 2600 600 1 0 0 { T 2500 600 5 10 1 1 0 6 1 pinlabel=tck_ttl T 2600 600 5 10 0 1 0 0 1 pinnumber=4 T 2600 600 5 10 0 0 0 0 1 pinseq=4 } P 2900 200 2600 200 1 0 0 { T 2500 200 5 10 1 1 0 6 1 pinlabel=trst_ttl T 2600 200 5 10 0 1 0 0 1 pinnumber=5 T 2600 200 5 10 0 0 0 0 1 pinseq=5 } P 1300 2000 1300 2300 1 0 1 { T 1300 2000 5 10 0 1 0 0 1 pinnumber=6 T 1300 2000 5 10 0 0 0 0 1 pinseq=6 T 900 1800 5 10 1 1 0 0 1 pinlabel=jtag_power } T 0 2100 8 10 1 1 0 0 1 refdes=S? T 600 1400 8 10 0 1 0 0 1 device=none geda-gaf-1.8.2/examples/gTAG/gTAG-pcb.net0000664000175000017500000000343712050461155014542 00000000000000unnamed_net55 R33-2 R32-1 U30-8 unnamed_net54 U30-7 R32-2 R31-2 C30-1 R30-2 C31-1 U30-5 usb_power R30-1 CONN2-1 unnamed_net48 CONN4-6 U20-10 unnamed_net47 CONN4-5 U20-8 unnamed_net46 CONN4-4 U20-6 unnamed_net45 CONN4-3 U20-4 unnamed_net43 CONN4-2 U20-1 jtag_power R31-1 R23-2 R22-2 R21-2 R20-2 C20-2 U20-14 CONN4-1 unnamed_net37 CONN1-10 U1-37 unnamed_net36 CONN1-9 U1-41 unnamed_net35 R16-1 U1-10 unnamed_net34 R14-1 U1-42 unnamed_net33 CONN1-8 U1-51 unnamed_net32 CONN1-7 U1-50 unnamed_net31 CONN1-6 U1-49 unnamed_net25 CONN1-20 U1-36 unnamed_net24 CONN1-19 U1-35 unnamed_net23 CONN1-18 U1-34 unnamed_net22 CONN1-17 U1-33 unnamed_net21 CONN1-16 U1-32 unnamed_net20 CONN1-15 U1-31 unnamed_net19 CONN1-14 U1-30 unnamed_net18 CONN1-13 U1-29 unnamed_net16 U1-4 R8-2 unnamed_net15 U1-38 R7-2 unnamed_net14 U1-24 R3-2 unnamed_net13 U1-25 R4-2 unnamed_net12 U1-11 R15-1 unnamed_net11 U1-16 R5-1 R6-2 unnamed_net10 J1-1 U1-3 R12-1 unnamed_net9 U1-18 R2-2 unnamed_net6 U1-19 R13-1 unnamed_net5 U1-6 C5-1 R17-2 X1-2 unnamed_net4 U1-7 C4-2 R17-1 X1-1 +3.3V R34-2 C32-1 U30-4 CONN1-12 C8-2 C7-2 C9-2 C6-2 R9-2 R16-2 U1-14 U1-27 U1-40 U1-1 C2-1 U1-5 C3-2 R8-1 R7-1 R5-2 R15-2 R11-2 R12-2 R13-2 U2-8 unnamed_net3 U1-2 R11-1 U2-6 GND R33-1 U30-6 C30-2 U30-3 C31-2 C32-2 U30-2 U40-3 U40-1 U40-5 U40-7 CONN2-4 C20-1 CONN4-7 U20-7 CONN1-11 C8-1 C7-1 C9-1 C6-1 R10-1 R14-2 U1-23 U1-15 U1-9 U1-52 U1-47 U1-39 U1-26 U1-21 U1-13 U1-8 U1-17 \ U1-22 C2-2 C3-1 R6-1 C5-2 C4-1 U2-4 U2-2 U2-3 unnamed_net2 R9-1 R10-2 U2-1 unnamed_net1 J1-2 U2-5 pon_reset# R34-1 U30-1 U1-28 usb_io- U40-2 CONN2-2 R3-1 usb_io+ U40-4 CONN2-3 R2-1 R4-1 trst_ttl R20-1 U20-11 CONN1-4 U1-46 tck_ttl R21-1 U20-9 CONN1-3 U1-45 tms_ttl R22-1 U20-5 CONN1-2 U1-44 tdo_ttl R23-1 U20-3 CONN1-5 U1-48 tdi_ttl U20-2 CONN1-1 U1-43 geda-gaf-1.8.2/examples/gTAG/gTAG-jtagio.sch0000664000175000017500000001233412050461155015236 00000000000000v 20080110 1 C 40200 42900 0 0 0 title-A2.sym C 45400 53600 1 0 0 in-1.sym { T 45400 53900 5 10 1 1 0 0 1 refdes=tdo_ttl T 45400 53900 5 10 0 0 0 0 1 device=INPUT } C 45400 51800 1 0 0 in-1.sym { T 45400 52100 5 10 1 1 0 0 1 refdes=tms_ttl T 45400 52100 5 10 0 0 0 0 1 device=INPUT } C 45400 50100 1 0 0 in-1.sym { T 45400 50400 5 10 1 1 0 0 1 refdes=tck_ttl T 45400 50400 5 10 0 0 0 0 1 device=INPUT } C 45400 48400 1 0 0 in-1.sym { T 45400 48700 5 10 1 1 0 0 1 refdes=trst_ttl T 45400 48700 5 10 0 0 0 0 1 device=INPUT } C 45400 56000 1 0 0 in-1.sym { T 45400 56300 5 10 1 1 0 0 1 refdes=jtag_power T 45400 56300 5 10 0 0 0 0 1 device=INPUT } C 54200 54800 1 0 1 7414-1.sym { T 53400 55600 5 10 1 1 0 6 1 refdes=U20 T 53100 54800 5 10 1 1 0 6 1 slot=1 T 52800 54600 5 10 1 0 0 0 1 net=jtag_power:14 T 53000 54300 5 10 1 0 0 0 1 net=GND:7 T 53600 55600 5 10 0 1 0 0 1 footprint=SO14 T 54500 54800 5 10 1 1 0 0 1 device=7414 } C 53000 53200 1 0 0 7414-1.sym { T 53800 54000 5 10 1 1 0 0 1 refdes=U20 T 53000 53200 5 10 1 1 0 0 1 slot=2 T 52800 52900 5 10 1 0 0 0 1 net=jtag_power:14 T 53000 52600 5 10 1 0 0 0 1 net=GND:7 T 53100 54000 5 10 0 1 0 0 1 footprint=so14 T 53300 53200 5 10 1 1 0 0 1 device=7414 } C 53000 51400 1 0 0 7414-1.sym { T 53800 52200 5 10 1 1 0 0 1 refdes=U20 T 53000 51400 5 10 1 1 0 0 1 slot=3 T 52800 51100 5 10 1 0 0 0 1 net=jtag_power:14 T 53000 50800 5 10 1 0 0 0 1 net=GND:7 T 53200 52200 5 10 0 1 0 0 1 footprint=so14 T 53300 51400 5 10 1 1 0 0 1 device=7414 } C 53000 49700 1 0 0 7414-1.sym { T 53800 50500 5 10 1 1 0 0 1 refdes=U20 T 53000 49700 5 10 1 1 0 0 1 slot=4 T 52800 49400 5 10 1 0 0 0 1 net=jtag_power:14 T 53000 49100 5 10 1 0 0 0 1 net=GND:7 T 53300 50500 5 10 0 1 0 0 1 footprint=so14 T 53300 49700 5 10 1 1 0 0 1 device=7414 } C 53000 48000 1 0 0 7414-1.sym { T 53800 48800 5 10 1 1 0 0 1 refdes=U20 T 53000 48000 5 10 1 1 0 0 1 slot=5 T 52800 47800 5 10 1 0 0 0 1 net=jtag_power:14 T 53000 47500 5 10 1 0 0 0 1 net=GND:7 T 53200 48800 5 10 0 1 0 0 1 footprint=so14 T 53300 48000 5 10 1 1 0 0 1 device=7414 } C 46000 55200 1 0 1 out-1.sym { T 46000 55500 5 10 1 1 0 6 1 refdes=tdi_ttl T 46000 55500 5 10 0 0 0 0 1 device=OUTPUT } C 58600 50500 1 0 1 connector8-1.sym { T 58500 53100 5 10 1 1 0 6 1 refdes=CONN4 T 58700 53100 5 10 0 1 0 0 1 footprint=conn_jtag T 58700 53700 5 10 0 0 0 0 1 device=CONNECTOR_8 } N 54200 51900 56900 51900 4 N 54200 53700 55000 53700 4 N 55000 53700 55000 52200 4 N 55000 52200 56900 52200 4 N 54200 55300 55600 55300 4 N 55600 55300 55600 52500 4 N 55600 52500 56900 52500 4 N 56900 51600 55000 51600 4 N 55000 51600 55000 50200 4 N 55000 50200 54200 50200 4 N 56900 51300 55600 51300 4 N 55600 51300 55600 48500 4 N 55600 48500 54200 48500 4 C 56100 50200 1 0 0 gnd-1.sym N 56900 51000 56200 51000 4 N 56200 51000 56200 50500 4 N 56900 52800 56200 52800 4 N 56200 52800 56200 56100 4 N 56200 56100 46000 56100 4 N 46000 55300 53000 55300 4 N 46000 53700 53000 53700 4 N 46000 51900 53000 51900 4 N 46000 50200 53000 50200 4 N 46000 48500 53000 48500 4 T 56500 50500 9 10 1 0 0 0 1 N.C T 58000 43800 9 20 1 0 0 0 1 gTAG - JTAG IO T 56600 43300 9 10 1 0 0 0 1 gTAG-jtagio.sch T 56600 43000 9 10 1 0 0 0 1 5 T 58000 43000 9 10 1 0 0 0 1 5 T 60400 43300 9 10 1 0 0 0 1 $Revision$ T 60400 43000 9 10 1 0 0 0 1 Stefan Petersen (spe@stacken.kth.se) T 58900 52000 9 25 1 0 0 0 1 JTAG connector C 40500 43100 1 0 0 copyleft.sym { T 42800 46300 5 10 0 0 0 0 1 device=none } C 59200 56300 1 90 0 capacitor-1.sym { T 58700 56500 5 10 1 1 90 0 1 refdes=C20 T 59400 56500 5 10 1 1 90 0 1 value=100n T 58200 56200 5 10 0 1 0 0 1 footprint=sm1206 T 59400 57000 5 10 0 0 0 0 1 device=CAPACITOR T 59400 57200 5 10 0 0 0 0 1 symversion=0.1 } N 59000 57200 59000 57600 4 N 59000 55900 59000 56300 4 C 58900 55600 1 0 0 gnd-1.sym T 57200 55200 9 15 1 0 0 0 1 Place near the VCC pin for U20 C 58800 57600 1 0 0 5V-plus-1.sym { T 59100 57600 5 10 1 1 0 0 1 net=jtag_power:1 } C 47500 56700 1 90 0 resistor-2.sym { T 47200 56900 5 10 1 1 90 0 1 refdes=R20 T 47700 57000 5 10 1 1 90 0 1 value=10k T 47400 56900 5 10 0 1 0 0 1 footprint=sm0805 T 47900 57050 5 10 0 0 0 0 1 device=RESISTOR } C 48800 56700 1 90 0 resistor-2.sym { T 48500 56900 5 10 1 1 90 0 1 refdes=R21 T 49000 57000 5 10 1 1 90 0 1 value=10k T 48700 57100 5 10 0 1 0 0 1 footprint=sm0805 T 49200 57050 5 10 0 0 0 0 1 device=RESISTOR } C 50100 56700 1 90 0 resistor-2.sym { T 49800 56900 5 10 1 1 90 0 1 refdes=R22 T 50300 57000 5 10 1 1 90 0 1 value=10k T 50100 57100 5 10 0 1 0 0 1 footprint=sm0805 T 50500 57050 5 10 0 0 0 0 1 device=RESISTOR } C 51500 56700 1 90 0 resistor-2.sym { T 51200 56900 5 10 1 1 90 0 1 refdes=R23 T 51700 57000 5 10 1 1 90 0 1 value=10k T 51400 57200 5 10 0 1 0 0 1 footprint=sm0805 T 51900 57050 5 10 0 0 0 0 1 device=RESISTOR } N 47400 56700 47400 48500 4 N 48700 56700 48700 50200 4 N 50000 56700 50000 51900 4 N 51400 56700 51400 53700 4 C 47200 57800 1 0 0 5V-plus-1.sym { T 47500 57800 5 10 1 1 0 0 1 net=jtag_power:1 } C 48500 57800 1 0 0 5V-plus-1.sym { T 48800 57800 5 10 1 1 0 0 1 net=jtag_power:1 } C 49800 57800 1 0 0 5V-plus-1.sym { T 50100 57800 5 10 1 1 0 0 1 net=jtag_power:1 } C 51200 57800 1 0 0 5V-plus-1.sym { T 51500 57800 5 10 1 1 0 0 1 net=jtag_power:1 } N 47400 57800 47400 57600 4 N 48700 57800 48700 57600 4 N 50000 57800 50000 57600 4 N 51400 57800 51400 57600 4 geda-gaf-1.8.2/examples/RF_Amp/0000775000175000017500000000000012220655773013113 500000000000000geda-gaf-1.8.2/examples/RF_Amp/Makefile.am0000664000175000017500000000054312050461155015057 00000000000000 SUBDIRS = model sym exampledir = $(docdir)/examples/RF_Amp/ example_DATA = 5980-2396E.pdf MSA-2643.cir MSA-2643.sch \ Q1.cir Q1.sch Q2.cir Q2.sch README Simulation.cmd gafrc EXTRA_DIST = $(example_DATA) MOSTLYCLEANFILES = gschem.log *~ CLEANFILES = gschem.log *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = gschem.log *~ Makefile.in geda-gaf-1.8.2/examples/RF_Amp/MSA-2643.cir0000664000175000017500000001101712050461155014534 00000000000000* gnetlist -v -g spice-sdb -o MSA-2643.cir MSA-2643.sch ********************************************************* * Spice file generated by gnetlist * * spice-sdb version 2.10.2007 by SDB -- * * provides advanced spice netlisting capability. * * Documentation at http://www.brorson.com/gEDA/SPICE/ * ********************************************************* *vvvvvvvv Included SPICE model from Q1.cir vvvvvvvv ******************************* * Begin .SUBCKT model * * spice-sdb ver 2.10.2007 * ******************************* .SUBCKT Q1_MSA26F 5 4 6 *vvvvvvvv Included SPICE model from model/DiodeM1_Q1.mod vvvvvvvv * This is a diode model used in the Agilent MSA-26 model * documented in 5980-2496E.pdf. * Model entered 3.31.2003 by SDB .model DIODEM1_Q1 D(IS=1.405e-17 N=1 CJO=2.281e-14 + VJ=0.729 M=0.44 FC=0.8 TNOM=21) *^^^^^^^^ End of included SPICE model from model/DiodeM1_Q1.mod ^^^^^^^^ * *vvvvvvvv Included SPICE model from model/DiodeM2_Q1.mod vvvvvvvv * This is a diode model used in the Agilent MSA-26 model * documented in 5980-2496E.pdf. * Model entered 3.31.2003 by SDB .model DIODEM2_Q1 D(IS=1e-24 N=1.0029 CJO=2.452e-14 + VJ=0.8971 M=0.2292 FC=0.8 TNOM=21) *^^^^^^^^ End of included SPICE model from model/DiodeM2_Q1.mod ^^^^^^^^ * *vvvvvvvv Included SPICE model from model/BJTM1_Q1.mod vvvvvvvv * This is the BJT model used in the Agilent MSA-26 model * documented in 5980-2496E.pdf. * Model entered 3.31.2003 by SDB .model BJTM1_Q1 NPN(Bf=1e6 IKF=5.895e-1 ISE=2.838e-19 NE=1.006 + VAF=44 NF=1 TF=5.37e-12 XTF=20 VTF=0.8 ITF=2.218e-1 PTF=22 + XTB=0.7 BR=1 IKR=1.1e-2 NC=2 VAR=3.37 NR=1.005 TR=4e-9 + EG=1.17 IS=4.475e-18 XTI=3 TNOM=21 CJC=2.921e-14 + VJC=0.6775 MJC=0.3319 XCJC=4.398e-1 FC=0.8 CJE=7.546e-14 + VJE=0.9907 MJE=0.5063 RB=9.301 IRB=8.18e-5 RBM=0.1 KF=1.643e-23) *^^^^^^^^ End of included SPICE model from model/BJTM1_Q1.mod ^^^^^^^^ * *============== Begin SPICE netlist of main design ============ Rbx 4 3 3.723 Rcx 1 6 6.386 Ceox 5 3 6.01e-15F Q1 1 3 2 BJTM1_Q1 Re 5 2 2.158 D2 3 2 DIODEM2_Q1 D1 4 1 DIODEM1_Q1 Ccox 4 1 1.851e-14F .ends Q1_MSA26F ******************************* *^^^^^^^^ End of included SPICE model from Q1.cir ^^^^^^^^ * *vvvvvvvv Included SPICE model from Q2.cir vvvvvvvv ******************************* * Begin .SUBCKT model * * spice-sdb ver 2.10.2007 * ******************************* .SUBCKT Q2_MSA26F 5 4 6 *vvvvvvvv Included SPICE model from model/DiodeM1_Q2.mod vvvvvvvv * This is a diode model used in the Agilent MSA-26 model * documented in 5980-2496E.pdf. * Model entered 3.30.2003 by SDB .model DIODEM1_Q2 D(IS=5.62e-17 N=1 CJO=9.676e-14 + VJ=0.729 M=0.44 FC=0.8 TNOM=21) *^^^^^^^^ End of included SPICE model from model/DiodeM1_Q2.mod ^^^^^^^^ * *vvvvvvvv Included SPICE model from model/DiodeM2_Q2.mod vvvvvvvv * This is a diode model used in the Agilent MSA-26 model * documented in 5980-2496E.pdf. * Model entered 3.30.2003 by SDB .model DIODEM2_Q2 D(IS=1e-24 N=1.0029 CJO=9.023e-14 + VJ=0.8971 M=2.292e-1 FC=0.8 TNOM=21) *^^^^^^^^ End of included SPICE model from model/DiodeM2_Q2.mod ^^^^^^^^ * *vvvvvvvv Included SPICE model from model/BJTM1_Q2.mod vvvvvvvv * This is the BJT model used in the Agilent MSA-26 model * documented in 5980-2496E.pdf. * Model entered 3.30.2003 by SDB .model BJTM1_Q2 NPN(Bf=1e6 IKF=5.895e-1 ISE=2.838e-19 NE=1.006 + VAF=44 NF=1 TF=5.37e-12 XTF=20 VTF=0.8 ITF=8.872e-1 PTF=22 + XTB=0.7 BR=1 IKR=4.4e-2 NC=2 VAR=3.37 NR=1.005 TR=4e-9 + EG=1.17 IS=1.79e-17 XTI=3 TNOM=21 CJC=3.717e-14 + VJC=0.6775 MJC=0.3319 XCJC=4.398e-1 FC=0.8 CJE=3.217e-13 + VJE=0.9907 MJE=0.5063 RB=2.325 IRB=3.272e-4 RBM=2.5e-2 KF=1.026e-24) *^^^^^^^^ End of included SPICE model from model/BJTM1_Q2.mod ^^^^^^^^ * *============== Begin SPICE netlist of main design ============ Rbx 4 3 0.463 Q2 1 3 2 BJTM1_Q2 Rcx 1 6 1.716 Ceox 5 3 2.417e-14F Re 5 2 0.443 D2 3 2 DIODEM2_Q2 D1 4 1 DIODEM1_Q2 Ccox 4 1 6.598e-14F .ends Q2_MSA26F ******************************* *^^^^^^^^ End of included SPICE model from Q2.cir ^^^^^^^^ * *============== Begin SPICE netlist of main design ============ L4 0 3 0.386nH Cout 7 Vout 47pF Vpwr 6 0 DC 5V Cpara2 0 7 0.155pF R4 3 5 5 Cpara1 0 9 0.158pF R3 3 4 250 L1 9 2 0.833nH .INCLUDE ./Simulation.cmd R2 3 2 660 X2 1 4 5 Q2_MSA26F R1 2 1 560 X1 1 2 4 Q1_MSA26F Cin Vin 9 47pF C1 3 5 4pF L7 1 7 0.407nH Lc 8 7 22nH Vin Vsource 0 dc 0 ac 1 L6 3 0 0.313nH Rc 6 8 50 RL 0 Vout 50 Rth_in Vsource Vin 50 .end geda-gaf-1.8.2/examples/RF_Amp/5980-2396E.pdf0000664000175000017500000050160012050461155014631 00000000000000 59802396e.pdfPDF CAROzԵCL%PDF-1.2 % 2 0 obj << /Length 12147 /Filter /FlateDecode >> stream H\Wr9>[k1Mj*SeMAVI-U g~Xu*Iǡbݗ.la_r؟^ׇ6n7T ~"uh}]^=,e>ԇ|ؽ4QHey~z|>,ߗ}|9֐M%9C7v;c% яFX^%2Q"Vg574N*Dq%1ZCx1GfσƁt ؅@puA,I$$'/c#bpH-ddƒQOuIO~@ q3eTI%^r9ѯRj {֐M5%8 lM%^G;kR)9WzU܌YY+I$PEG;j=%!PX-"ƕۊm~+ CV 7 Fp.h,Zq3u%0˅EbcBC{/G*D<3x+hauS:`8ʛw,A~)a>EvrGc!3p7yPnMNd3 [U*:f]ΫN0 7EdrkX\ %pY C $x =_i70 7s6^Il6qQ7,jfmY.uv+ k\atn 뺋 [b}BMNCyJ+I#g}1F4dox:%eXv ձRd/4Zut>[Qe68Zmi5kL1-pWwY0(|lRV>ڤ2V`=wci+ >z&-#h5:xA(Y4dx|ON[q/:NtbLmRT$yNk j"i'[ԨA81<():Tyz1G_$ z uUcAu ,A{8`imBo`~OS|Tz3B-6u8þTn}E Jѕ HWux4Ó}>)nZ&*?d_C!mb_P׾wY7lS C>hx:FևM[/Ҟ͒\/UȔQ` IqzPpsxC ʥr_qq`FX]#Sb@nflB m}4ĀކRVHAqZAI pd:&:S(u KgЫ\Iiwiu 4UЂ㱦U@G:L@:!$~4>Me-}g*ZlxX 3]qlp ʨwzT M){X`/$dKFiͲգFiMk`:IZePlk ߶C7a# (Cfd٠4B7.SɱKY7`i% McZłV-cZoآAF+Z/X,q2flѢ 1(q:JwLYL,:uC urCPq;P7ks8jQPsDVQ-'xc<0-5|5x|yPhDE rٳbAfzٲm R|z:4_kd_MBCr&rJvxtQnхZ=M~rRO ׯ}Ta_ԏeS=6?6㨾mK~s?۝|{u<^9awy]fHՎrgy\NOr:eTgYlvYj *GrQy@m9~QWOk>(',l>~O Ǜioxxv}`ݷqu]E6%yMM#,"88ZzW?\,^wG*?qCKD,x'>}475M)_g7A.s=3XAU4 hs _)0ᄂ> Mws ;Z#37HbtxQ"`'ؐ;i2gM+R'%/~5 8l4E,`gǪv?hcS׾;(}?+V-"~;r_'MD zQE}LV)*C@kcGe);r YC2/2&D9* 'ඓɜ&sJz GY3bDDN!eA m?'.v<5H9{W &ë?^)NP0@ 1hͧ'z4aKh_]6k7gJ@)I03igM$h2|GkMDAZ^ Ak$7B' ]UVOJRC'F Ni:`;Rc|A!"^\vc+!de,g 6\-:{ L|dh!#ZcV !CRu),58-ĉYL7kF rKjQp'Q6[k]r!k!MQ\Y-3ѐIzV-TB]+9[)L{hCөC.-lϾuw؁Y$) "kl*w6OQUoo`@q]a PO2)OHύKF$7:UQf9"3Zd!Б- #r ;Foȡ*!3гS-7TCf&>GFS]52!3#ް DgJD펧f4lI6ҘB#O#dTNzY;$4 w c41Ҳ!,-g8꥕14`i&VHA \VaRvpIl28 QƷpsBS% ENjN ֣13&h\3ƽ*ڊP :`T呻f\u5 hxĀ4@gT@:2M N 6n0 mNvS*0,(y!l KkFrp:ԡ2U &e uhhC %QF9 m==z:*j(d])˭JAYsah]oremVd>^ ?d7@Hd^CR9"RY>O؇C-3+ڌuͷ_SxҀ<d0ff聻5kov]2)_{^$U}p9IdSS}QeF!0\[3ЀzQn0V Z/KOv.(LZ A5&1]JiV0rN`rS`:ۙOa͸F?tȇ/sr랁) +C˳hiW6ڔԐj]&s-2#,'02t4"{D +R&cJdUUYhΓwU3*z( -@mv-)b =tnmu} ޾P1!-u[ä]9۱غC14 p>`(>^]~=e$%EG Q{h/L}Қ裤H\`[ HG"})x^O7ێHyjZQr,덼 p)Ӗ`x #=xio<K((L[6 jgLy"L+g' %UHC dN57@U"/b<7SgK4eZ^&M[o WC!`V#Ni "Z?HO재Pӿ&fUb#?bK+%VbL}}JysCmw)h`rl1IZsUj?\xYGdx?]aJ48Cxp}S_) [[P…=P~u\ )kcX|e PJi"zt|`Ex}&.= m' {q6?37$k?&(g/92|1HkkASH=w B{gu%Tퟟ 6u}uϛ)8tw " u)=~-e})}1=Cyu1&ui&7xN>GV*fh=1LKSW |TuqKtnUu[??,Eoa|zN.SxR\ ӣ,*;.jWXF04 FX4JMto B>-8{9+Ưs':?8}J lvi'JKo2 -_-HCP%4daEŽGNur$> &M_k9vk|ք[v'm /؀CFSشC%[- A¹aX!Vmb^ož[oQ}(v`ڤo V:_#w*I`!'Q <ޮ<؛dodo>޴ ޏ6:F߄d\o2zгM_ZFo?K7ޡ9|{l6+FSClsrY[8lNqF儭gqrq;?;׷"8sO|#+ -"EwAa^>d-OF@ hQW9u&)S|~Et>U9J)6r.U 3X="x´3GLނ)e>?,@9 mGJ$=|,7peo [NF ĵe- SkW;91d=7dE#*?DZ| C櫀l=z.8ȅ-}9dqXƮ-{@Gn:3|ZJk7@z݀@ #p>ۡ~^sՂ` MQpwX^>~nDFN)gP^Znc> dG6́n)$L`;&eY);ъ v~n8<ؽvNuwlu(D{S: ȗܬHue]VT%qVw}=,/.l>&B." MB .^%^[?6?$3//)ԫɾޗ~`.y]unVWP㳼IwnԮ` Fd)ҏl[ tpKy̰96=`m .զzmOxMקjv}c0@NfvJÑ^4V ""$V$:3^mm&7?̣\7}غbmݸæj ,=$3#<ć␜x96L~Jƻ@|#)pK"9 HQ1!_gZ'w aH53~a y;=B"`oIQf6FxUٸ@Q/5,v4ejZ_z~ s *FP j}68@]~?!Y x`?zYc[lz,v~* Š}bpoKdۻՄ4W8W]Srv#g @vy sn[έ= ZA<Ae+qWO7(wIC 0_5ނSrlJ>keA ]TGctvZS/XY\Qvzb {;NqL"[H"j]@#@Ku".vd&Pv\ݠjǿe\lV(>> oղ63Upj u;qaEY=]1WkpI|pJeڸHM7n59n)$$ |a.hM]EQ5E!kS f.7Vݜ tu[%us Y2Qx-x%JЕ< S.ce/&A (9pP?La f;}:ggu3X\i=S :.rq"ģNb9$ )l u,,P.Aw?$D .t wn)|<sy RjSgsـvE5'%b6)vIͲ1 S{!D5VI`+:)O٭6jNqFF LN{tda(UW,41T\쬎7bAu%A,pLY캑T- R!IhEC\ Cl[XG:z*Ú uEEC٭&*[ kQVV2]KŐ@!A`Tusuf9K0U7YXӝ 8Ů,$͟lkI 2`Չ:67ELE:4"G8%I2WkG7-ab.t"vSV(t6d֡:\IRqX1k/XJSg9)a Ц:#(@fm֠㖛 #cMYd|`8C S1"ѵ9h9NOYR/^m+Ư|c UGSO5jAMk:<&ud}ٌF+gextC?%}6$#u o+iJP%<91ڄSז@d+ckZ풯%͐՘>DJ4gUc6AMBl/ۜTP%>sulݚ"qՔ%QBӂRx\Y/T(eҦ1!_@qfRk !mV}B'm Z⪫;Y#*Ȯ⦫}Ǜիhcݱ]̗o|Z{x8vۧP07Z-{eHe}?=n~~s͇izjy1PԀ{nqܟN颬vYW_Zlwg^>/|]_?<v=e u7Umyh~}|?|8E𼥿z{t@xY]X6xIU#ӛ\Xۋ>^ޘ/{s}rl/HJz_2<Gͻ'*tc{l_I1~ף~#7\Y[<_2M&#ZE6s}ZtZLA-yZjEš̺ &mD%Ĝ`0?mآ F}=^2eo7तK61,W7{:-pɢTQ4 ={hY>Zx]B(Ft T%& (-^lD vRAv,Uփ풣b1D:xK)m:JXtn/`6 IaX#g?qfe)\Vt|Rn8v %&wذ,mgKBР $9Cې/'Zfxп!#-_h4KTg t*'xn}HC9 1.S OKs$8Jc M>ynb7L$ He2F[akX@&DpGgi_' ':By&d8f_ ~wu Мso?} EԳ\TlBݒJlL6z;$|3U-)ۢ+*7"nyez!CzxN65XLl`h{D`D&F.3^K.$)>RN?N4NShRRϤԘoޞtIin^~{ a' Fa~K7HvQrB #AiXeQRA@ 1%U؁Պ%ϴJ-"*~Hp2}Ѽ7B J̉*gLu/%1 rLmO*lzm54rVn< CkgL)7g~(cZs_n?2或)S4[c6*ܓ7ɸ ON'^Z*^EBtN5}e;OjlṖzR5+t1Ԡ 7efhN@?R8uJsV93}QX;[2o?t]C]P ˶H+WaP;Ly 6g șKZIP ڮIPԽ͚أfv}q36Xh dR7rA׹Za'6ӒovZWKꑣ endstream endobj 3 0 obj << /ProcSet [/PDF /Text ] /Font << /F5 4 0 R /F7 5 0 R /F9 6 0 R /F10 7 0 R >> /ExtGState << /GS2 8 0 R /GS3 9 0 R >> /ColorSpace << /CS1 10 0 R >> >> endobj 10 0 obj [/Separation /PANTONE#20Process#20Black#20CVC /DeviceCMYK 12 0 R] endobj 14 0 obj << /Length 2798 /Filter /FlateDecode >> stream HWnHC?;73$;NXiQTD*[KY`Mu9Uurvrn# %BG\e9k?f'Wd?3/`CyqNwłk)ȋZ\ߋr_iSl3)EFM$],}F.W D\IK 4b: ˣضk|$]N!2]XFb8 LD˛j=_0 .ݥe o/ "i!>xβH6i0գ0}^!}yG 0&+A/o*'g.4EbdBf:&R SЮ}(rh߅a)h4)wQG{3A.6Uɻ!ߑb WqQwM"6dC\#+P~/r1R&b_)ZlH~MlXShDsCP[fڊ-' I7 t3̻g&Dj8;An۶@ld<m 7U͒ɢBJFߺcW/jyvNoowHM/K=sVZ}^d۝R5#Y{|m!3:q5KŮo2ӌ4CWqo 4Fݿ;K{<*|9>yg?w==#Վ̧TgOk#RQ| ǔBs&7On@޻sRi gd_g7D`|{0ɀ}cw[B@}E 1RDh'WͮXm*n;>bs5 Q V~185 RIv8(zsT"ɸ"uGƀ BK-RxFsd\scoGƵLWa AG}3*"䓮 AuCVn/7dq I^ɇnjR.rd㔻 CJA{p 'x̀Y lKb.7G٠0^/^Ֆ>c[:RGIP KHh^n(:{, ;7 .X*xࡅ@^[ćԴZ7p80LLodlx?1 3fPBJ@LhmpA-@HǁVǴ "Vy~ElC!#wE Su_.KƐBz$!B4Q&qL. Hw}ՊQj(_|dKE tT#u J=jvmO+{#Me$Ɋq9Gtվ9JrMW ɔisZ!slUy kXfHb5!ڵXMUq^ <|7789o1 N=w`jk05 )FCS$fsC;xF%Έw'HLZfٜczhqQ-?; ssV[j/RT,ɧcPX)c~O'ɑ)| -|1|,C-aİ@t@X n[̖.#ow joo݅ {0.Qt%Si6殧4?Bh8dȳ9&#Tهl锑ZO"˹4/.m`P[ӊ凓f y %Vk xJ7lϏ7CL106-]sX5evWi].Iu "*{XE[XfhNw['ZSh)\cJܤ5k4}ԤI7ᬸˀ]炜uJ܃#Go]Xp@ ]@9Y2D=&7yCH}Nܗn)JZ%7gFriS2U u %JxS!v{D ;vs,]U].:yygY_U1J8E,:a#r!6%t[~fdr&aytp/ծ0 SԼHV,HH,TJC+:|7&"^%#\ |yV]:[|[)m$ iid4f1PaJD Fa@%jsc+B.Qci$ _/N#7uF%) hvw}'Jm 6,f^@x \.5+"U"xXtc*%.dCi)bާP&׹d\}_ګ endstream endobj 15 0 obj << /ProcSet [/PDF /Text ] /Font << /F5 4 0 R /F7 5 0 R /F10 7 0 R /F11 16 0 R >> /ExtGState << /GS2 8 0 R /GS3 9 0 R /GS4 17 0 R >> >> endobj 19 0 obj << /Length 6612 /Filter /FlateDecode >> stream HWێUL#$`ɖ%F ~@F8 |}֪}9Ù@pE"g)WZգ2tAONq= WgXnG{GC)׹T, t>~hEǿW/?(n^]|W18ҦSKb Df:hH8e=4WۃTCSb) ))n^mˆfš(S62ElL<ǚ=KdF z_>cjjKbꔐ Ǘthhn}=wfNʬ뿼5Y$nO޿\drIQnsBrT<_;_.I/2'kK[(Z\>ɾ4]B#"%㜖"[+b&+l/0N-B|k3k`X`' `P%ݽ&"W'ⲵ\pw-eT;%." ,(x\z FL 2[[7*=a|!Vw>x~n %"迻ANxies?^%t!`Te]pLW\lKȭ8D Yu5025c_am!7T@C$7t=( ?<ݐ&7Kc~Dଫg\xp<=g/m6ݪaȎD%!v=wk="5װtsƟP[Mw7Z KwvfG.}u6R(J݂ϐ PiBδƹ@$$,(Hz192@B A8I'%; -rƢގx"IxPaH-(xN cx82X@'D!\+23,JP+0zdVzZìG>By &AC+R\54)2 @A;Œi<YA J3R+̸nc@rc\GY: \1138 (1;]~˅(rjo6Qɖ6eҢTN'kޱ.}..=xw=iGk1\w(l+ϥ+ N.׆-ؼ []mg 2s}3TgN>w:n<ĽS/޼s=vV)88WROOǦLl$4 Qpq w|ǿ. >XdN4{O|ɷˇlk {͔4䚉HTP! \G./n ./V j[VCr>t} %)0DNUP.PaΒwZs,/ӟ{E9|Y8珪dbJ4q~֕ 775s2j |,bKme.K&r:G  6\,˖ 2p ;ZV݆݇e0SBdX6ݰ=X@t"D~,D3_i뗭_<ˈM|a);[5S[/Df̆zFKWd[~Nx#q \+j]\wȇV:!3b]d< eyT s@)?b1S瓌Bc7sXdRx0vUEߛ>b:0Tr(@KHA+rD ZDl0e.ޢ0;US珙[6&$HIh#Ѩ*lYP̖hʻBg1mvKΌ9y਴O0}8m`kmiv_bqG:tNF {)r}j9 ܽjY ? e.}(ò<`PHY,mI`i#X6Ac܏We?Qr+;3N|`E|"ăMl:n9/pux5enX8I)tp j_%οWƫ7Tc:QqQBeyX|oSf?N3leQD'w[`m`0,W텥#@,97*k $YU!}c)cW}&B1ᬌ}|u0ov};PuDUcN:dlJņ+kU>)}qc %WlYhV5O6ٔt JlL`C6QK(YCXf&1 W~zs"e# lܤyG!IZK_2e5ekc * BK[`YR44eВ.]&H?b' 6mwzLk7R:^U/K1?D%DA(9]lxR>!?`}C|VK~eaWOo >1R]{z#:bŤM%L؃C5AGYە!mM[U !Q&jlj-f!'5xx7;qoUэ.ndgii}Alwgin<˷@tq6|dn)[v*2k ! tIoמoH5d߀$SIjY8EH#6@R);Ѩf`2= z[ *n! >E؆Ljj.{n2Hx#oy ?$Js>` uyn C1խ{ WlV]{؎Bsֱ8Pǖ0jv]^G43P,RuY|XIXxjȃ+b_^YQ({FgzO-m!QtK%, wiߝE^1ضR2_""E 'O.Bz䑾1Z4V݄h\׷>P2NT~W6#(&m4b;o[lU B6wr1mn}}rFSĠ#+hϰ@4"R)*?kdA>6Iu3/iǘ6n}vir6Pyȯ49#qn_?O>~ M$ޘ(D$ԍuZq٦mPVEpAtض/Cl#BvFC4~ڵO mEjBˑjҍ'8\:W[Om!~jڨECU4|M(-T_5E;UuIYVEe Oݠ_?:65 vb[cFTYO0Gv|S;`j<SaJ=ٛ_ LouM@a. <}~4oO%XA{/~'!X )I%)LW_1 {`)[.uC0ze0 4$'-KpҮw攚*g}/Tn\r:f{nOkl7DaZ;D}G%^[y:Oٞ[畄h?Xdҗxɻ~P:mլykkZQxO-F[d項EGEV//Жh-% -gseڔ2g6&^ T^i'4}qvWe+ E4 ]Z3qاɸ$IS3!зvTQm{S)M=oH5"Kx$k׶*\}{m}Le+Ke.>]YŚޱ$uy3AH1ݼ.?jd֖$5Jk$( u){Oi8ij-ѷ5FߍhPHjQP &7?pL2!vϔgD ܯ*rgP{[\)]މ΂ܚj%K>0fK|5[df5I'-<5)fo[CeY~cć+2?$}P{jezlntɡёPQ+N`M4=-)3fa,9'{PbM2aB;hix5W=Pl%lVQ{̣顈eD&zꜿtźL:s6=aaݦ#;?FiO,OnQ @`%CgBg"YmA ]s+ݧ/deap "sCm/U -6bAY»kO@j/r.n7_P\ Gɝ"/pU)]IG۷e o{)N٧59lAGn 3rX FV92؟fcAZTcf0װ8d?:+.KfdYFQ0##V&\Kkx6@\_#4no In'B`&*Gȶsmx,I4ehP[x/Zt/iKoM~VqT19 hS=#;tն5&0F(ߵ}M.u.{ry#}(K$TLFt%FgcJY&k4MmSURTjκK\22eXPe%D+d.!+E`]VUz+G >&}sbbCZѽٺuEUarh&޴Ղ;cuid[gp-F[ck]<rA&PCŊ5԰[)\X@AhʣbL],qdl4QتyES9?X _ڱkXo?* 1nWH@?!p-\eHElb OSx夝% 픩Ȝ]#*:MuR'Q VHcQ6U\O(VﵴQat ߏGr_Ufb9s@ੳ}p=eI~Mi"SWa}(<8yc$ĢJR\N_#hfmɹm!l Km qSH*U^'5w=6yKrXtAh$!C1)swBq tyBpd_y@)9ʣ3!]62IUVY!EQ e3x5 5#$H` endstream endobj 20 0 obj << /ProcSet [/PDF /Text ] /Font << /F5 4 0 R /F7 5 0 R /F10 7 0 R /F12 21 0 R >> /ExtGState << /GS2 8 0 R /GS3 9 0 R >> >> endobj 23 0 obj << /Length 8111 /Filter /FlateDecode >> stream HWn~\ḫ/)2&A )A%'rS3;K #BvmN=>| zuI%\訡žM/5RK9T:.Hd1E ;F<ELElsyA#$KotAy5)eL9'!U1IZ[PzC;(.r4e |uO=7Ǐ\P4WOM2$*02_|xhW?_`jf$Y;oox,%kO|tbՖոQ8Wo9>膁vE%R0|cdIR>Tdc!!ADN2`pUC]V>HD$xa= /MY%xQ^ b Zv CA*32rO{E_cBE ݜpj&G 9n6l21Y\J&*ONfSA w2Uh@R ɱXO)W]".=xvX߅0J? +cҰ]uxq,eY_&ė=tmj!mLZ%|g6&oǻId؄":ߝT$^eg$-&$£ O|QXrn[1:gux 7,CH*^" _םa}!~!cRϏ;}-&Me=_RxA}z3#A31h"0Nid IqUp`. `7 Q; $\CLP0QuufܡKdZk  d˨˶.;&dՍ@/2R$"O dtԮh⭑FX MI"LL'T#h/L՟n-3ŪM{XHDIiV1KL"kcXj8Hw"5gT_iZd1uZdNhbeg?X5mF4=Աfz8:BQrs3c"E\{[B4Љ gH.Z˄Z6zⓦrh>jS˷>T׳F8ס6`-P2ֆbWzCb KZzڣ\N dlќBP̤(KGA: tij$.:UIqv wMda}4rvlaeۆRSu7> 琤9P4V%d,L2:-t}7chLHeZ`g*:x{UVSrIA lJNVvL{8͕]{+7 *(~X9f Gׯgm"l1 gS)`D Hlx:&&N,%( ޜ@BShή9mQVo@(:iT[TL:@:7̺h`77 a!GMt>Ԍb vdQF5jK#mj6qI$NuhiZ̎&YZAX !f:&iG\iPc[D2lC-VM&lFG=b IyWZQ|(ﯞ^˵d)}&h&0!GS D0Ӿd5`=^ًD)mS3N{`O ʪjkEB]k8go3/gw^Ѣe}&qa[P5Tim[\ΔcHub[n'y'JuIENBS'q]t]CÝkcs0} %xz1/@h#&]ܲ$LaŃy##L&f,g7)p%LGw/KDhcBw'L7lMI*+h}I^tg S)CaftzCL#Aa|L@fQ"iGH ;D̬ +XSAoa0Ty(3T94bjbAy)U4JdOdtt[*@#%0V`|5E 5#P+W FxfSX"XdzYigR Vz!0z ʣNIU/ `][TA Y3vPBǢd;d;%.we#sVvJxvo%B'Ũ]ImZo޳[_MJ2ub`O1ؾ&w w? Ķa(6! 6(͐`+l;0kUX NORjaP1I]59/C1?]gJ1[Fl_z+za0X|H1AXHl<+Zkq\"p\uspo0i(0ؖpԎ`ho RPҐ![x "V#zpL/r"_IF> |W"ʅ_ nm` _0@Y`WL &yl11Ѩ.k۟>G\p%?~?.}J-t*#k. ! o/'Zp})|lIA+’>9 pͫ6PfK!x)v㾮_>o(Ϡn_ `ey3YF|͏T XJYTK&\ ' n{q0X56g;L@I1eP52u:ӾyB~= ݗOP~o"$|'&1S;Pkor1A\q@r&xæ][|vjY,(cj[%$4Ƨv&)3. `PX()dzx?Yd6ĝ(da7 ;G T4d؀ A 3gn8Y3djqp~Ҵari{C:ϔt"4&y8ɩ+5elmMn}$ ˔)j]ט =;G@%͡g/AM%f]`IXF edO DŽMo|-|b_pPax`jIO+u/%BE$VD֕9*7:LIXv@_~"*Spx&vXuٴ#=sxy`) (4`ktӐBdגZ#:3R#&Rjj (PST`?Er(Pנ+%4pŊ0₼p"+ 1NK~ԢɐHAWU9q0eJ:~"0і}L>"ۙ03^{_9%li0%a0%avK>qީ=Z!#冄--Q´KGe8]%̴ƌ(w$ iGB| 40})Z€0k0kM/?bEG1k2XKBx,lt3~5jI n{X rRRDw`{RA&95%@;%r$Ex*ۢ*#7&bzӚHцJ'D#P8;x'"rϴyb@8 "S:a)ҹ(PN]zrx|Ez0a?dB㠚vpXqGZbD>EE/$LPUDcȇ 382:îjٸ027/PJ֪^@TJ~¦Rk]^P6 γ@ AYKCST&ET5 RfhG\ss'`B֚wƸH gxڋͳj]iH.Zq-`>#({keFzGAQFr̙ qԉF]zKsb*oe|#8y W.e=i&U+s# X>tvNpbf<۫m{&)Nɉn;Ꮬ?11ޫ|W_ w> /ExtGState << /GS2 8 0 R /GS3 9 0 R >> >> endobj 26 0 obj << /Length 1678 /Filter /FlateDecode >> stream Hێ6KIE6i(BJ|}P␖E, sv9{13?֔3eKr7/${<{f >If}<,i*>޽YH[]UslݭovzDB}K•&`_'JU`-3#Yr@+]&͸cेuѽ|*U+L6L@[];; =V}P\cWʚLb60G%<axj<̕UK1_h^BJnyn J>r%p)J6/ZY y륮ΠO3ZhtL!`G$ 2 H^౸V$xd! <.# <~[;>ݸ D  shwxbP–T:-I*.R*UY"%J Iޖ.g$:#1 euaU;LI9 SVD$d0D"bBAL mO(iU`3u@) /r): O iLsoBJT! b#0bO'2)@R HHΕxTT׸ @eG2R[9ѹ1EER ϵHv$v7b6@Ox(qԳ2iaH.QORZL.&ES$lUh6e^\uQ$?HUH$GIl$DQDDP@Y,Z\*KX\bgĸ\PՀ2cPթL^a"}532e s !!"S+KdJnU]dx,XҤ>c1KE,)7WȫW'P4dOj tkٯv৅zXڰe$7vOۦޔ nK#8<7> /ExtGState << /GS2 8 0 R /GS4 17 0 R >> >> endobj 29 0 obj << /Length 3169 /Filter /FlateDecode >> stream Hr6Kjk|تdw&ɔReٹJĖY^WDњMM՘"ƇOˋ>;&Bp5LNj|Ho},WEc_m;ɬi/[ib˅ ϛUȮW07{seSDp׉kxtl.qDw0Hvx@ڛ}dҤH<̃JMeN4j~ ck5;&||dڰ/I쏇a|N x>97m?o\檿'eMs'8X !Kx cܷ<#Ԑy+7 ĢB9|V٠|m\z:W/M+!³s#M3hSYF4VD111 Yx9}V8|ЅCejE⎀$'FA W!= m# :b"kOQa*YKIHRMJ[ɢ,ȨrTAI.+c;^S~BW$"3$yVME iX "T6>"h H!1t176J OdYA $Ht~x患!M@KtđKtdc+S Nx%VBSbDehU Q]̞ѦQ8|deUB P s^1AH 92VnFP4Nbk5Q$E٨JT~ /&̒LbH.$HJ*hEESX(^DǸy5ņ 5T}*U1|&ϸY=dB(7?|#_En,D %?Oo򍟿[4,_(iXtae o\ 9WX%%VkKt::$y& [g&jd)k℣s|wg?&)T”sn $*3 'GOFkb(>TQD4p!'%]b\\([ ]qI^w<_J$XT [66{suuFemܔX*{Ke^ax' T1Bu0_Xп5mYϞ6<a6Xla3ֱc_l? acv6,.@Cz\3lau89q'"5vTh2V<㔻auYw=Z<(oӳ[Eؑv-Ll=ޮ3yT 8_s>|1Męa^6JvF o:>nGVXvVZ 8m1cB$w{ zxJ(7 sAf{C\Bާ1)'TARͫVZpy?SQߟ똚(•+_'U2Q\ ń pG¸(4w~VB?:iD1|8oL@Fbk>2S@̂NY0HY\U'Ķʈ lmFŏ!9- ]^2rǶNYĂXJ g[g-():ȉ['JN,h~^IͧJXDɩ^INX0M^E}V0Hh=97m?o\檿'eMs'8X !Kx cܷTW3JBqSqb;+AGb)rX"cc)S3*CQ}ʫ5%UGTZUqȊz:]8J  & cTubMWrJERk:tm5&qށg"KB,TLBUP{i,Td;5+K2suyqH un$ָ8Ifz҉Inlgs/|$ 'rĦNR.T*0[J]Ig[U+A &BU H {:="Rg+Sn%VBQQtVTV{*Pu@Į]Z 8" )Rt[G'H5+ZSZrbqE(:l #PAfb瓆Q.$J&Y1_dIgEWD"TiCp:QB L8rW%’UQܶRW,b)/,O=%z!c> (c|ń3+@*=31,ĢK KECb)th=?R}>@"w$ Ыx9S@0&qlʘ#\e=}GY%uL gf($!26;ls(+-u(Y}{ E(;'H<>{"2&Uuv/#'Iyl1/zTtUl,&ՄwH"%^Y *jB$]|+r*6RHI 2d8ǸXlz8>iRm y7r%~}ʩ jؽn It=-d䳞H3vtcP\?bWIA=N1Uxr6*r 'tPPJLOEiN\c84e(xI:J;_SWMs^dxhfU'啂/55!!PR)0^aLwOAlz!Wцsm_r endstream endobj 30 0 obj << /ProcSet [/PDF /Text ] /Font << /F5 4 0 R /F7 5 0 R /F11 16 0 R >> /ExtGState << /GS2 8 0 R /GS4 17 0 R >> >> endobj 32 0 obj << /Length 4463 /Filter /FlateDecode >> stream HWٮUĺ eH(}.DWYzؽπ,bի^]Uns~FOI qjSϛ^/67v?C朓Y)3%;`͜T,hcsѓg/wD03j6~x'wA`gţg;P(9:? 9_iV\>zBq͍'W[MA9Ec٪Y4群'BbzǷztg( ءCaԜEv宖9 @Pf 7Y#؊pt)[Oתk.W'.C;pYæyRdÅTͺ__ƦqPؓ/0 g|.畟ݥk?lWcM~pK"PMӃ7qݱ@pnN7qIMգ[fǫ}wkptpkZ 5?|"&up@Fo\ ^_>T|$_.& 1𷞯/sx=$M`V<]Lڻ;K{s;wSϠ;13tS>ĥKsK1ų7d/al>LR8aí=BR=br(NSQ1; |y8c2\&wF ڨ)y}Cر"]r'=7N҉$99{>~q˄;®)4cLU^^ry v6ϝf?/4[wwʺ/gmw|o_~mrP[5?8mtH& ,6sbOY k rA k!xr 7,x"n`Xr™ 7rmnoT% û,s"b;Uqql< lH CU:7!+xܐvCbM^vM!%1!16&/>GQz<$^m#ٯ.֥M saS/s'|ݡM@?0lzY|:ZwhyuQt:|yhBkb"n CS*{RH#lCrw55(jȝ$=NfQ hEEhAXZ4Յz<\:}Se4Q聈U{!GvD)g1zbWb\n`j[_W>i+OlOi<I y#T:$G,?5yBE]~pD|Gbi>10O 8%)zG#w`r` ?Ҏ-&ի dY]IHX~Jb :"/ȖB'5а}B3c^i`S4tx3+|6JEeaZm ܜ^h"<`e0q:O_AS{+ `SljM`S+x5”"c[LSGZŀD-S$EM۳qLN mm@fyꅲZj0z*/.~mF&C& x!H8ϧM;K,1:6P}TeƢ #,r55У\B"ectGO>5yɭkjn |(m[G3 4yQ5=У\!js~uJѦjbpKB|ErfW׹^=CT=lz;jQvdvtޢQd70[/сfk.va]fWMmEXcє(:ٮn ?Vbs|4}JUU* e#XzfٹsF\ƱHIJlzؔb 4/js!iP/q,2YQv‚Q4oxdV6LB7lg 3 P C%\jV!x)7`)hh;9=e)[ G +c Uj05fĻř~5ɇq7VoW'^<;׋9\-/\lfysv^z1pgsqyyx;=kLqn=>oפʦo~*J[ ̸Ȧ.%R kNid\a# j&4FI4 *I1- ^zB<_] lޮN~?;O2F;>%U~")s>=B~_C*J\ȍBQrxzd~K쮳Ύ8C_].j8/)b<L`ЙFrwC?YFԈ6Dd *|҂'C߼A~-zJ (ʹVNv0s<)P%u.xđ'1<y*Hx^UaDG -c#fk;7kw).Sz C(CG<h@GUR:nf¿h5b5" ˙_zF28)SѲTC憮&h)C^<*гPJsB54'Q\bHc;yNNXP6$4o"zrks!B48(6zZмxC gTi?Nu q5!yK hMՄR9BCkq@ k>^z$PymQB#`F s+vP= 3c+Kx<щ[܈ߪGPLcP_BȹPJsB4(z!ZOWdhuTCs\mhh\~`@A TiupPopx@3ƧzDc&WM + _G?'jkL%9ne4ȹJsB4!,ĘJ/ iD2Y'Q0/ S}ٷo`)%x *\4y0 EҔLD)S&Y(`#^ sIgܐoՔB(:@ e鞡`S9H`R%hO {Ai' 礝)PRFԋ“9?+e)ВC)CR0圶W0H ;d#DKE/W?;s:>ph־y{nN`! endstream endobj 33 0 obj << /ProcSet [/PDF /Text ] /Font << /F5 4 0 R /F7 5 0 R /F13 34 0 R >> /ExtGState << /GS2 8 0 R /GS3 9 0 R >> >> endobj 36 0 obj << /Length 4541 /Filter /FlateDecode >> stream HWnGzL~dɐi`0@Rfd3쌲%{&A3$"YQJ̗Zbnz\|i^fd~Mf{$ĭhηAX*1ӱ5Nlf ZoMT'qyf1L%ԍ3y~eд(g i uót\̡"Z֢K Y$_ۄ/BM|ͪ >z&?!D"DƵ6!9H976: ] UM\δ{{n*gC-cQ:.2j"Qgc8 y[_q3n' |6JAȀfW 1}6?|L C\72*pî瀔Xg$piHR %42Ũ!h3q"uS3Ar&V7 )H蛂9*p8K<*˒ I ҷ' 2~j8$> ^k4О,29&T(HNE7=eOh?SZjk`]!!;S{>ʖڷΘ1O*{Ilj@fT?(5JI =0B!SsL$,6"4VڌLuH" Ӛ `:TH@/Jc0S 8%H00T\&=rUXre|vD`RGѹ}CvAbsc|#g¬6q&>ۈ{2OZ5\:i^3La߽><V ;)+Svs_7PCyj0[Lfwe<Z3%VHQP}#2;k~v{-+lxyڕY|PЃ Qك|6T-[Y|{-?/b~Dqjo٫yHG @$Q˸ڪa\`jr-@/Dm%䓵(4AIQ%;PTҊW$IN]WXhj}t{2ý J"J%pZթu0mlX`Bv1bHBEmoc>W-544l:A[KU4g9Y.xnuqN 3OPJFLn pFT`qv5HiTš8rd wI'1C y:ME$R$oc{eq7э$aSzf0϶REM3JHCB_>Z 2U;0e2͠%`M#+!Zb1Y54CQ.pGS$1,8QD^P@}E:E/gwb]vv~QRXvY'~1)tP։~X,6wbGRDf#3VӬsӖ:{85GiEndݿ|2|;4D0N^8&@8C{dp1e(>n/1vOe_]tmz6}7O}5T ڃ7M];[n6_w4 ><;S|" |K1\_—~{22<)+LK;~ZWWuX ޖ ~R2s VJKMhջu=n뾫
    d_9˯*SM#i7Zףi80AqEO'2ACQ=GWb&1k(F | QaZu~9i!rs wRmk&^ֳes.AS# endstream endobj 37 0 obj << /ProcSet [/PDF /Text ] /Font << /F5 4 0 R /F7 5 0 R /F13 34 0 R >> /ExtGState << /GS2 8 0 R /GS3 9 0 R /GS4 17 0 R >> /ColorSpace << /CS2 38 0 R >> >> endobj 38 0 obj [/Separation /All /DeviceGray 39 0 R] endobj 41 0 obj << /Length 5197 /Filter /FlateDecode >> stream HWے C?Re7yyc[-yZ#N>}#53IjBٮ~y3ζOLŢ`i ɶ_> v?B\oÆr6Օ,X.8daIɔ}~=聬$lc[EXyj/_`XVq}nbu&"]=~Kby3EQdeشMwj:krd@W4;Q*&7Nktw-m.TIempjNs[SSsUu~ftr-ޮ?5]2%X.g6_z#ToN2aӱ^?41!jSն'8gX1S\]5bBNZwFK=]MzD:a7՞nYF5zlӑP[$:XЧ<.SJĥ!M4+F):FEj7z٠K;c@Ky(rjk>hKo2ʦe4>9[6=st RjmLz/2ްڵN24WSU'6>>0[v~Dp}cz@)]~hVܛdOS ;UmcӂMȷf-*t|f̊0|;`. 0n%L9VZ"'e+AGq CzAdRL_%(B-NoI&D91>g]eb{%;9ǎԈ1L+wعnG"R QۧTMѦC%7y@: -3 wn+{fP bJ9À5]/bex{4T`U5KWv (%B;.L-zyX:%i0&0Tg&/=a0?:]G;m[2c 4WRKRlHuwܰGK&\.;xW񵐬J ʡȕZ0AO~#&F]`N᜚_)"HCsG i GJPd xf) " $1v.48 AAÒEQ DG(1_^@ N7$$4Q8NIOWp H()i4ČS^bQlkۿkwm*WEg; qpOO3Hכ YxB zD88٘ e6;i58 <g @NҼw+01D/ЛY 8[MjuCS^xŜ=bE. i>k0[\iYIkz(T.ϸ~AE} k]9Z)!oXpBYr|*Ҳ׃w"ٽk>hA5 Hh*'  q@7%HĨ Rff;m|nэD_"y\x/'R솇ߌWnHC?ʋ3u 6 C24E[P|SMR2$HRuuu]N": C{dlfKP5,09hK%@(g tl0^(&Fr|5 b 0-^_-b}M3L٤܉eoB$K[bo@qEޤc6 IʂWqրq|/g" HAlXKܲnh]c s׊/aXgb> C e x6g$&ZGZ/@ lo LK^(AX\áF(JfRYҮ$h7a y6 aꒉv2 ԧI ce cq^&* *1E։10Ԣ [i \}XF"tH@Ru<-_:LiuxUJQbف|&qX?Z}z.VO#Av|uskNCVzW[= A=i~x`FX5 CuM=پR(\ -W/i[v6{kMkvjc?iߨl5_憽msᦈ]89VjRvT^h|{8}))x;8&VV/QaS⨲1AٓxF"ɵP'[Q<24BtM @FK5!y\#@t]3@,*`1*Axl0K֧ګT(d&V.\&3!Jb P!^o $C2SJ!47HM/[N 8a%.8:ɡ9Y8:K-% P 8΀FvyI!i|$XFK#ْ2q2 &)aA2gKsqY(&Y0>YEx8$yF)a0QPU@%%TAsMbp70 a葌Dt#pX泄+^,X)w:*ABfI=aR&3SHf EV%ŁS~֫IՄWݥ +.ҫ&5jO?3!@5],)ah-T\H̕G)0pƊ̼FD퓓Di9gsEiY zh FȜP@2ѫ Hhx(0o *Ξg>Z 31nACqsT{Ђv{_vvXܲ3o/֓7o={,nQǡawͨñcTm?W]݈ak9U:M=5,486E5;/v;=P+(r){8VX{Wl6],~Ufq%^ByuZrtl7H%I"0q wµ[ɕ~Cp<6m>0T # >jw&WUet3ڃm+Ī}Fg&΢lz?l=4ckac:nPU_7KiG yqU>DF1G?[Yu/!qr&Up ~z96ΩjhBX}u#QFUB~C6#L{]MsZu詝 Ҡ]XD(ɞUC_ qhr OœioAdb~|P`CdAlc~BM˻7\GvzRst[Mٱ>썹6~`Lm 565r{nжCG_,93Y3̰04[nU/4s۪f8j9hYm㉺CP~&BLҝg\۪ooN(ϻWP| IuU} Y䂭6\DyUG^+d[^f ï#zl練ja.P9]#>[>Au 3V7Ά9%> /ExtGState << /GS2 8 0 R /GS3 9 0 R >> >> endobj 45 0 obj << /Length 5013 /Filter /FlateDecode >> stream HWێ6F)}nwysnZ۶5W}=}賳}ۙ4vLq]o]QU&;)a~;;zRpP)4]9f6ZDbAq]L&; }Hl~΀d ټk>8ڵ#7|nx9)ضMPF#t0ѵ9nH ~3Uj:ɨnm;wxgm/&_L0͟涉;УÈv`NsIlbDod|ge7`8nDIPzQqkD1;RɍLc^ԑXyٌ(p+"#m30Ip5cd%+qpŕYub2y4nɄ~G)]d# W MQȠ}i(85; 5L7kR:Ũ1,IUè43 ۴׏юq(`JL( 5upItC[' 4Y$Nv>Tr>G5D*zU8H,C T4C\sȼBFvL;XGոylƱGK8`4@27I.M+ gWD @1Y0jrճb .ZRp$DSh,p U˪ j"Qj=kH_I> h4Th0C%2nCkFKy Oܣ*&#N}%c2!4aNFC!m?tn5%hDkyx<w!T:32Ji2P)F@"j`M<%A AHdfkbWq^"jAEWw&О9PYXSAB4A"5 r.BrEttڤ v?p6Hd HG|Eآ-ָWW "V%$DpĕJh%#ηQs[_݂cX!dTEF$ތW+(8;{ 5EH55zEEQi!) ||בsBi L,ӑ6}G;(f 6tEN[uHU NS%NSq!Id.c;x\FHAPt^] a'QUּad!Jl½/ZqMWکj0T SL3/,.Mc0K| W-O]˷XmJQYMFV"$%m|Ek*wK $nľp.Xتib⚀QmF=5W580ƹu8D -ZY %A#?KK@W9L.lu kBc%[C ԰(c:G%19`A䜣"x\;0V9\S A)ͨ1t<q{/|@)grM 2\蜣Wl2p췗쎏O@vټ_s|o>.Gsy~z:-e9힗!p7㷃Yb̢5?Or6y? 0=|{?_pY8̻ϻLJ{K ̯|<{1s_CGLBt%XQjPd_QLT#cRi|쾬 %s+Ǜ ڒ*}sF<ΗlZi'g*P.ԁnswo+:~E Rq;2nyY"WVB>.|9.0! '5O؊2o3$eˈŌWA}uano3@63ޚqn-G4y!K5_ӖؙuZ-WnFl Ē3ÇZh6iG'pʆh %"m;/EȊf=]C};PLvGNQWTm?+uF9cGOÌ=r_xt+5+Y[.&4 z{@Mzݡ(: pQ"Gb@=&C٫c5ڔ^MPX8<_OCK׬ :9|(1~pbFބI"{l)1ceN;]vC8EP\'a0xSU)^{@7ށeXD3Vh酊V-Ic6~Usc|-5t ((E4am6gXb1sGa6CJ[7J#VtXtp1R1e S !Tu- 53%r6ΔG 3 |h{i[-iPAP[ n@v> Ñ̈"Ą1\^' ):jͰg6%$<+*!jBKeƔ)9(>d`(?T/R"UE"'˃J}uޔCI찥zU-vzx3@I~*1 )䱝e~bBA_+Iͻ㳴6) JDڕK?GKy&THKxI;u9r#N ϧ LnpISHMR=Zvc^AUbC etXt5ؾ`봙E;`>(@Vsν&A9v4ɱ{wJb{]Hn'ڃ >i"1fRVmI76,fr FyfG/A-b?z)wTp_I0i'TBomy+UA`,WwF4Hգ[d R P؛\܂Ů}{TXڈݦ65s¢1.vCw_l^s{EB\ceˆ gDq_΂˜7eu40~]#hLt'aƳdO} QN|\ص zl6ju+][ÕCG4ɔFC߂G&PtXX3;}s݃t\~8,J| <[gVo[ Cke>"mE4o?Hv_YWH]2_"4T\ x \nB^,K( \KgJA+/KIoI6}g?uB8\tBszdu=`öDU,4kvIq\0xT؟P O:x-)` /%ME˂m^CY4%+_ETx.Y<3 YidQ?z\7Bᆧ8"$yi$G s$$sn[EdR~Aa-bG,[KKdNs9N-\LQ/&brOc[i$ybKR+_cpY/w\\xU_. ,PU <.[UH. ŧ vcx endstream endobj 46 0 obj << /ProcSet [/PDF /Text ] /Font << /F5 4 0 R /F7 5 0 R /F9 6 0 R /F11 16 0 R /F17 47 0 R >> /ExtGState << /GS2 8 0 R /GS3 9 0 R /GS4 17 0 R >> >> endobj 49 0 obj << /Length 10384 /Filter /FlateDecode >> stream HWrte;")bCEihB}D 4:} ͬx*^-R6R\ˋwYw[qxX|YuqqD|4N hnsI\eLݧ# hZ%ZΩZ{mTJ@SiAY'q3=j;vE$QX8߆𤌩s?H3˃L2ifгF(ChQ`""bhY}|cFĂOaS4DH1ڰiEtDAؙ0V j㌲34+0`ki-y+]Wc a05n+f8l#Z|!0G3SF @Ѵ2P"2g3lSD0u!IضF$W{(O/q^Q{M;1֕x2d"lH~g(zjk j4"!8U Bl5SP1 HĞ0[, p9 fc4݀hW 5omqPFx 15M,a$EKEzimʙ+j>,e;R&,Gy ,ƅXB@[(؝rr"45tӺK"{j{8v: ٲ'sg2Fpc@reni7EI,9@ 2MW9C'C@{cTb3f8'},Y쓫#dS ʹXP؊,!ٸ'zvUqnQ҉[5©n+*yVFg UB! (6zwMӗѝ(tq%㢛$iև @LPn9.,)^0*h/Է>WfĪD[XX)LR'~PAU/ C\ZsLg|rtl.)tf& &ӹe6"˫ *Qv`VgEi*6əmv\7nD9 wkk <57is%/d)u\܊ !,ԧz'Źwי$`dMUR.I^іd a w'l rKz ZT,9BҾH2V)\ԋUa(Rgh5QS1$Շ^ ?$-ó[Q&v \b%9Gt \4;ع5 5;8#oR Ƞ)kt-.N$9"zzE%mmB/( FzUG_oidmOQ]Ӆl{9lh8_ew7Wƣdk~^_e~8k?iN_w긿{tXrqCHK,f.T& 2q%PҤ3 <|tIY\cݚ+ђ9P+P$3IMB8iS,N&eْ(>S7n <6O%۷1S&HA*9HCBSL* h*Z.NܒH U8I ;KSJDb]C) !,tԽ]h)ԙ0;Gs %AmgPNF3Rzվ r\mH'B{PfOV9fw>O;TR_ww~(4z/u>Ogy}qpW;ɡ?tih~N'7O_wQl -ۇo]mm8 |/d_%l63^ԶFny$9N\2yNk4LGs?fM\'4ni/O[s~}{mStz|:q4G|y?s|W9M9Kap<w03o=. a3s]͇tx0lǸ+ $]D7 p{m/([}4x53_SFim-=O'yG~wȕx{p7"8p ~\\x`^eL; L)UcNa`W+S|نcCݟ4 Kmߓ '_ޥ/ +9g!nȪq%18Lscj6Wü7"&>tnOzڼE"1Nr܎n6㟃Uۜ/SLDw⏧4"!`"\BEB3jZKsq""&Dk4 b2FGJ n83i>m$ bgI`yʝt{;m&2A㔑1=¥~ a8ku/i10V.]nvPy3<2hOHo$ob!ok_E 1N(@ܫjzeRMG0#YH̫nטm(hk_d(_}ZZ^\Gع02 YL߻8!G@Q.tA Doϝl'IhZBw)gFvG#un9P~^0l1džbR>5o`s{]uO0s9l "Zs 7ZhܭJ rFM7WK@%m_H5ߊx:{--fLg\qUK.)0Ɖ52k EĽ eTdw<-J4X~[0p2c)ffԯ~ LJa[k//W$ho^foY h`(V!֍8J&vr}7~ƣ(3sxX5ޑϥo7n":`.YE%+7 Xrp ̺/Ng]( [c8(,Ewmx9yq% θ6i* Y6x BPL..(l^ݼ.hhurH(5+4h9jN /3PL..(Ẕ9Ѳ½=ZWM UV ^PZmBfbE } @tqA!r59f].i35ARNh ZziJ= ("QuZ jBĜ$`} L@ԆBQ]B#GH2mPC/@/ZBU F7\A/.ܨ.#'PVg)'riEp=!$Yl0mFYg䂜 !’9DhX$9ed䂜 !`#ð)5+F^aY+P9m":RP N$w6? 丂^asX̌Xhy,vDeF91@t\-(5my"vDLPC'":dl=*aеGtE쉊@9"[XD]OŮ('rD׈@i#c+*dz%T-XˤIIVG;px}”%eWy5ͺݝVr,nA^A n-@C7ֿ>n+txb&նFnDG*+F*ڪ-{"8_sD+֖,hi5,f34AXVglj ՏHb: 2$78'v͒CK `֟Q!bkₐƺѬpGI]~LZGxfq|U 9.$5֕_ A6!丘Kn ;[_ai lSDTR-l"Y.XEb5Z"TP\]J#iUZ9$,envq$'#k[$ۻpLv5]?Q|vdIŔf_"DEʯe0|i;t7^M/gտ7T]Qa!lȯ0jz:Q{ qaHm^WoNJ~6|yŠ*FZoz^_%TӞ|]f{Yʳ$/ >oa)N)Y-ӥ.'~L=n7+eayh~K.[i%`ݩ| LAKr4QP?p¿ոD8@y5532geWMڪiCv[NވF؈@*0u%94̓m]h'0#5&T2}>煰Br4at3̚*#=V;cߟ_+xh3bqsx]>U7WwMz~–PbP+NLP|r{Yl_.LFmS?Cհ˅ǁ Hor#޾kL /Y %7l\\7 b@$ t=Ȳ[dznjeiatނ6֡;[u$1끙,/$n!Atz ]m(XZ2n%|-jkId1hS[Q̻XHZĈikaS::F]G3pDylsxH(ҀGc*VKhm4 mfT> /ExtGState << /GS2 8 0 R /GS3 9 0 R /GS4 17 0 R >> >> endobj 55 0 obj << /Length 5147 /Filter /FlateDecode >> stream HWr~Ol)yCbWj=(E~붇n!HSuȺ53N1{?lܑ4;_]fXUtKvö;}6Bm&(9 {Џn#1-Oٔ"Ss sp1i/JYo-~y" (JPje [.sLq[>]4/ZUsfK[e}aHIDE? mO^g&-gcW$°UB{췕15imeʶM!l*cn K -p8As,M:Qf2$,J1;jneo&) $ 4EV"ۢBYcٴ(@h+ i" fD?7҇SG Y̛|&;[3@z}Β Ҭ ~ u?yE=go""2 0W4/$U;LTvA3Sy)&r !Z/ѷGp2A;.UƔBY p3B<Fhǀ"'n]:wTS66q`nR'&qa4V'X4D P+P6%),p L؇"mM`* Ʒ HdKB9gm6 tBɡhg'qHYp:et5W$L\J2ųkv\ٕ 2((t6<) ՓY6و ٺN#(i(bPECQ'ҷLu2G0$f($&P@<?݃rAp|>N2%dfB8z#8,_@np4ԥEC,9+Q=A tcK`aȔM$LTD&>kA (V~KPEE rKj0te (ڎɅ2^˹L1:M1$?9bSR1ycT+ uժ~hC,JŰB[~&k+e:miW"ޥXڸB\p'ci>K^ǻ_HG ĠilQ^:C:C[i9Z' $L:L®tǢeфT@AqJ- '[#tw"-S 2KG丈>W ;hXB AJdV|3}{~gc'K@zsӺ Pn6#8Ԟж Hj64 W` ,Gl .$҂)7qN~ú7LO? mgfFa|"n&A2U!VL͌B! 2&v&$H)4Lo=(P k5gѸiVXE,۸ !sfNJݝ(x(~Ɠk3ZRG88uJG?R=a'}uU_wzvgX,߽]nODHc`;zYY-ŷ'm.~$)6, ǧPMP`v4uA)~ dL@z\^#-ei-$(+eR"SXJ" Cq y)"IF@ʹ@w&=&B!PYa*%W$p.1:BJ?g#+mn|pH$8WI!8x">^]^O.?~|C*eJ7W F\"7cpu}k7oͭL qj ]cfxpCXhKB]R(%;u@Eʹ+T@gWhOR!#9n k/OS4&bvNE ,i#PɮdQ(2/`B% l-VS9q3&Q]$d&곐L HS0IYCNpfgZH?FTCa υ&QBJHd0Y"T [U#ʕ0`e@ 2Al w/!X|ȭBW,!TZ:gaj CP⾩VS@􀠑.w8tmH֎`}^|ϷZ `}rDfyבRoW`Vnn(0mT\\[Pd=5=ٚS؋;s; mI(x   LuS 0DNBzvOM; pJ#eT'@$l 63lZ+<%A)0OPP? UpLz,Z8E2B쨤}Nkwos.GM/O 296yEEy(2.ōİݝݣ j Bf]L,&29׵&Wzݷ~P93#n82*F8` E,&s2AO9sd/яF⽴M;nGGߗ=>dzp>XgeyJ> /ExtGState << /GS2 8 0 R /GS3 9 0 R /GS4 17 0 R >> >> endobj 58 0 obj << /Length 5991 /Filter /FlateDecode >> stream HWnC @}#٧$;3$yZ6w%!){_Sռ,ݭ꺞:ULHq_D?Jmi;{[%U' ޔH/Б S"uq{<~'/^ٷb_7h|ӊ$+zmD}e}|n?ՋM; aOQBE[U]q#x}ʧ^l; sWhύ?S7ڇlX<TG:$L{<_I(8էMYZ_7`] K G/_= JE$vNс .?Yh\s,7ڮgF1k߹|]<7/>KTLJ@oW㝀eucv:> w$׾?gkk!HSĶ>vP}[H2,P @}0׃O{%wJL FT&Qt,>+i8Y6*5D[\K$?D_2-7! 9aeϨ-7RX+aB>zX S|_*u&N`KYf;-m:77 TOyBў:!L9(j)B4} 8sS@=y4#W0 y'ަνCꚋ*Ղξ1Cit7׊JcD+yJ^ݾ8/"`Z #~?'bVǖ%I֋( YWJX*bn\,e e@&{q>NJY mbrPYlpeMilB# U9gqoRXt8CXбȻD !0 s]Ǒ @& 7Zh"ep kwd:TgȽVI+! r B:p G'H6y(ZH} f\3BKJ9^d 7Ȼkd#2K2(v0Ryx@(#w%hD7^V3:hz~ ;.cx) |vaAZk&b "\|.1 qFPN,tI-d,J6iC2 Ph3XeP?A37ZrԊA9}F{8>8t.Z2pf2W = 8R3*&<7`4XxZ}H\o:Vl$Ԍ7gx\ix@HRGIޓM[)2m5'!:6o7Z 7tjQABƀ&lxJE NbȈ.fMa+L gTy놶sF$Enfē&V#ϙG ֠R97)bTR9KpSnbwʲd40)58ЗZ`Sjsont8t)u@"lDxCl # ;@]R9N$|'VLa _7>r@h>z06kƃO|dCu"7/Uu1Xx͋PIݼɰ~֯hjŶ9ۘ :B3F BK'U_Hv3]t <2vQx:zM?8-u&`%NF}2{s2֨};0 7FǩIj-p0B(&y2;5j:mVw7GV`m'Obt\pvzAVo'53(H-1i%Hu nRq@΢zaVOЏmڦMj;sf3^k۝n~|yV«7];HagN \ ̖~q0HWavn,c>_bI0Ӫ}u>yaxqHj nQa׻nޟ ؛937povnx'u%,.F~L/ ѕ*n;*0Hy @pxBpiϻzrC#vC(9Ώ;ov,P~"-ku;2b۫XW0\}A yW2aJ2HkYu{yR1<%qnmBzb<#;?/61z|=Zrwj30Ң <' PN*Jt I1Ƃ9M.jIvyIt Ұ- y M*2RpnG\:گ&b!sT1 xp0>rQgO;]Wo 4+S@ra&IZlܗ:߀㆗^RKwg>f`iy (嬪j/yUV\8 Dvjo\u@J4Vt!Lӫ²v݀Y9nDDipf'%i0%q*Q1$^bXJXrC}CeTˊ J FŃ샮y]Ako/!OJ -( dy[=^_ė4@*e?RUR$w,8-FժB(u>Ic 4Bd<Ŋu$ܭ,6.K|KAZ_|a";1Rg| );LRH̲hJ1PBk^, UyS!!Nęx%`]R"֙XAྕ)qF $Q(e݈%CO-;!p"' [ kwbX;D!qb8Vrifp2 4RnTy,@EgCDJ .'8&~v JTRTF㜤_]ߍ+,H at8NrU넓W'y+xp=5@􋄹}2yBs"HtUR.k\ $&mЬQvKp*)jdfXS p]sgi8,rxނGyo7"z$:U]^XISwVY' q' @E-kp:3St.Qf$ʌmu85H.ogu,rxB@yEf^!}u~='!.Ƒ^eIYV W`}c Nq$;T4H2/BiJ]SIAR>J*޳Hnu#3^r" :B򦒚>`Zqzs 6U ʔZ1HhQ!ڒ&?2:Sn( Rc; [>`n~[JDDLQog7Fj{GOިiqin 7n~Zl*ڇl=\zj8Q9 >IZS]H}cq 5q)!6 endstream endobj 59 0 obj << /ProcSet [/PDF /Text ] /Font << /F5 4 0 R /F7 5 0 R /F9 6 0 R /F10 7 0 R /F11 16 0 R /F12 21 0 R /F17 47 0 R /F19 51 0 R >> /ExtGState << /GS2 8 0 R /GS3 9 0 R >> >> endobj 61 0 obj << /Length 4031 /Filter /FlateDecode >> stream HtWr~^u31]IN;S$ĄU>(L]|X^~BJIALa\XF~uӃJfRBZ({E^ 2 ?Wv-mm٭DۉU+7Q ݡ!;RܨLbC/VGb+o{&H]w;wؕñޓIźngObI,ptsl8$tGY"!E^cf%@7>s9rv2]Ÿ 5l6 8NAv~cƇ It@8]CzQPWn Konn]VQ~ec"][ž Qn&w8Il7bsW WuWa}_@JcCz:'g8D .b)c)&, eq׈i'@mݵs/A>UNlb5tm?C]~+?LىsՋ0Wu_mnCE'02|s 'DO5bC mYD݋}<*f /ԖEUuD .hQsSp4zT(¸DrdO 1 MP=%mML_ۺ"FՔgwl!v ?.O 뛐)%˟Rhy*e.jqδ"G܋8!8Vʼ,f4^TWGVnE3VdSoQSGfFӀgE8h3cN3z8tHWohp?MB%`)l徘8+,_hVs ִ 8EVRɜ}5xZBB'PaL9+^ Qaq$o:+rϴS`vZ%fb1qT!8qqsZ54ئr2Σ 6eit B԰5Cq8E* jA6\Ё*4Lb kd{а55&ڲWUik@W3áUA9!'uwR=1Ť5ʌsڇ䓅eNR@g( L[Ʋ ڄKIu='I t.{Tg6NS- ̙%J ksL,ѩIm8h"ŨH [>O fCS,٧#XH7h@N[&eH˹TMJ.IHtz2pN-$g`C8H#*(ELzґ䑗%8 8y6#y*ǘrѨZ "k$5h#F/Wѩd3 x3 gtę|8Y8xa9[J5xjr^J/;=`5=`}{;0~Gc}ya#QA弑<.PYرUtdi$X=h+U|7ea,v)gvuY7f jXN yk 6ҚB vSXzouj6XVWcj,9ԏMB]q3O A hwYġk!~4v*EZgA;jZgq?ah'#ǾǡԱ'yv1c֫1}u„B司F`>[,~?% %J#H~v&g۵(w^ױKX#=/ot.v/>xnpx{{NunYbo|ۭYh 3p_! ,\o5 x8v1A*L޵k)x blƿ+H'h~y@ŇGswq9,ze,ua뿎0<ֶ'.4߿9k_[cՔ>YI߼O~É7, ._ˇre ';q}3$GQ`2ľ(:y|pu.Hv7dqyGvۑdomI_nZ?2?xoDn?~yx'sbp4)cN̉=~nO|kBzO:B66,x_yQ<ް2>m10"RmuLPTK.3[I3M]8 Y4ǵ}{z():d" Åh"um@1r ԗп#D|Ymd*%jE4؀V|dc-&԰%t IG4yfMVDE+fRU86&V$PwV$OjX\Pz+, ~LDES[a;U F3AXMvK,- sZQ A+4XA[+ؐ|z¤M$J4,;AqmR_qU<^]vEV{EؠחW/\\{#p]pЭZ@޻_W`!kKɎ[L^WfF7xbOݲ$m3pIO~]B5+믷Psr?LR݁r[z|?')\K r]qzN#ZyK>bG9&PJ'JGCg۳$$X)o+YBn+h,Fv?;f9M9؃2Y1r&|v7atCaOq ?;q |ָ f< 0C AE $Ͼt)DҜ 0A^ٗn!z&0]LMIG{ni.Ma 鞛a!K3Ly w $eޥ]Iif 1!9a6Wڰlfnf 3,I̘a0y2*lQ!N+\|V 2Z<鮵̐ͲC>kv3[M*jniZQO endstream endobj 62 0 obj << /ProcSet [/PDF /Text ] /Font << /F5 4 0 R /F7 5 0 R /F9 6 0 R /F11 16 0 R /F12 21 0 R /F15 43 0 R /F22 63 0 R >> /ExtGState << /GS2 8 0 R /GS3 9 0 R >> >> endobj 65 0 obj << /Length 4382 /Filter /FlateDecode >> stream HWn]a)JCA ?."DH("Bi4ϭk2h+fazx:5\dzUte‹oۇQGߔ9L^Z̎˿C(*pTmvH߿n)1'cQLQ>#U1Ƅ#'t:d|9\1gp,Ƴ?23( %.\"ԂEg ?Vx;wHoT:G >oxzt#W=Mx#L_\<VdႸ>>cLP!yKr[TZ(k qK&DS ꐙѮDq݁~e* 솵aZq(q~ @HP-"%ـsHtdÛ~(:NWaSl/p2Ψk 'g~E&}!K}(5X]F^Pu/t: ! ^l66%9E#H䋸QBb6C@t`y$!'CvdD8ve3WtGPD Gh~D;UMuhFjR%h':Bimjݦ˜Gr0G0m.8Bo[jP̆$(о5R@h ..4ylGx$@xP$mp!iȣ{W)\W)bJ$S礲ʣ5'z@viH^l*ӀY4dO:^בVx#4hw&Hy(Zk_GxR֨ѻ44fY!кX; YhPwh8+MCjTRD>x&⑩n% yK+ <$(\s:24g0 s0g ÜLsriN?n E…ъί4js@647IoyWf̯ŜLs:20#Ӝts00#|1#6`K~! Ƞa٦,yQ@-1 (#(hjA:MGMS"bԚ.`4!O+MGڊ{ψF+}Bi 0/dD )\/oί~9/"ĜLN 2@^ *pId- 4&Q\h`gY4yeQXFbD;k'a3n\xbsx~MR0 x[(e;ygEAvS$<(hB683+ z.-dRB=. d@txi,TscJȰH]$!5FbMm֯e#(H*Q2DD blm Ahnυ- bMڐjkP>b"mjX)T|XqׁaS?m 9NDSN0[2RY畦!.'Ky":'\̼̋(.'hņdP)C`:1+ȤB nS@LD.o ON{%#]ka|V~k$=y$6;E@Uz;^: 6шO+Ea~ O+yMNѤ>^y<}ZB=f62 ٙ{!3͢Kod$CX#C#wfv \4N*+vcg[u^߽{36z{nK?70tS*L{) g(T{D#V*BcϪׅk_ZDT"j?Q4솦0QyC*!4NT4My^՘ß$d¥_a+ ;;jCmͫKVJQNE9WFvsO걙I{%lxU;nD3gZ>|j :`8^wSTNmyvKx[ ]9Oh+EoZUZ5ybޫj0|#ZAI߿jm_#ʼgI9 KɁi0E~zKIbotuO?90x!Z5$?{fgSLX^΅F!e)BdLom )MpyRfpcթy 2%SyL@POcyCϧ@c)`LO7y&wt[j }=륬gm-]Ϝi~0R1f)VE޶\JtPE8}9k3>R8tzes^@>N\}=w-z(?o8~u}usj._F5~W >5wi;N>?m0YCS`>`1i}uRdmB60п%DD帗"4- ٩݇:4_LWv렵[?7ʃx* Ա  J+{ps}N[YX V/{+T3.F|׬fvhןzs\"zBZmq(`Uy endstream endobj 66 0 obj << /ProcSet [/PDF /Text ] /Font << /F5 4 0 R /F7 5 0 R /F11 16 0 R /F17 47 0 R >> /ExtGState << /GS2 8 0 R /GS3 9 0 R /GS4 17 0 R >> >> endobj 68 0 obj << /Length 18076 /Filter /FlateDecode >> stream HlWˎ$ : (|ݑ+2fǾx ^uxꚑ12J2H-﷋Gؾl)n?m#n|çK]R!洵Qh.M\)'R-tm!ƾ\NMÉ]*$:%L<4݄n'^.<96Bcι;Vˆٱ(؀trc _v c˄ñe'a#b REh+20RFQ&lLpZ=Dx5`a^`u%,ZxB4.N!JJY*(&[tW*Enf2cP,l*|z$s*3A+FaT0Os $iy ib#ƌ96D1y7(RʗHED,4!a{34X |2*'^5M810b xO)D,l#a `l3N"CC}6'&*FHDO@Bmt-1^pfx"Kt7eG0! 7YhM\/@YMQSP {<)8Pc@ E9wktHDlt $pdq(_aQz'-@$GMIH+]$YTZP4N< XqǁD`!¶\6RX @_ ؘT`slz*NhhiX֏4 *{0SٟUA %igZU\3lj]ΉߓĦJ Nglp\@$ IA hG(Ɓ"cKCP˒cQ#"Ì_ +~uI)LnRքVY>/fI&NVSňN52-DDVڼ΄7ԫOPc{["I>a6.D5rrqAng7ڱH`qr 7yA{29Z}ѷK2+Z_Rbїtj,I.߲s*tNRz1αgr;]:k ЄYd 7 nL[Et\>kϨ]'9.4eU$zZ;+ ZYO`=o&AtEX5:`E%$7ɦg?u}|_ #}Y־E߸@43QxLo6K`&lSbI֛tYt95q(l0D_z7ي}jsב*;,E8V[UNk(zNZ!I6uUh;}e݈9|كG]E˨'ijr c8M Kxd:HF6[z 9,2 "UuR91֨ķZ58g֘8Ep\5w)ڀT=oo~dY]t#񳄱<ߎ97ryۧǧ?:%?]xz|翐Ax$? )_.~_uki}ai ':܆{7?>=>Y1!*+6|A[_:5R_E/,PMr5YC*p$xm<8i;3`_~|-cZkJE2K+f8Wu2uz8.k'#{ Gshlw&Sly-;]/FYx唀()|h@!ߺD'~93]jVWęvO/dfG為Μżqvsn2'^KEDT=骉J]ѽ&KZVIM"h1hcM"Y3PꍘW4Q!L$ڵJqLGG~ ^am%`*I.jfam 1Ce$e7GsګdNw0uJ^CdcJ`;qU|xv~t8zW4d4n$m&Ÿ|f4ZmC@+7ig}ΰN U猳rnq<[o#"×y ȇPL=PYT*_d\Ek$pUq;Y'@q\u<^S\f._{=OƧNGuf!a~X.@93^@&e'GG~/poŷ8%LȲB+z/\Smh/vKTTkK[Ty5{ g'cfMM 8^wz\a%?9϶,IF3$7$ 6 ]Rhr@vQ",2]m%}i s E8Mqd~=5,ۭfTRJ50!sF QeTxjB܀PE{L^Qzpb)*d $rQb!5hv=Bȹ,NGU0n] T0_dQe#yxsiG g4@oUXͷê(Ǻ+|^!f([(\7{%PQRglSPv악dc¹~#~[}0 Ym=lbxf}W>pp#~&L:Gr;a(sPl\̑3@ρ#3щFGM1[bɔ&;&a,$ޏhɴcg$zMbـ^}BhxLTC2M@4&&EuٽQ]U>NIylг!Ik]TNa=#Nuw;|oz (i+OKur3zur69"~(WfR@K>x(\0t ϊ.YhRFR?É BoKEdatS5v}ڳñԨ˾*|cuESPwva(]OYAxg #AtCGGbMPjDd+cA!R?]׾D;hZS|vOg\ԉfQ vk(`w& ع(QBG'[Q1m߿RmK<"PBP yP|9.UT1Cl/UCjR}T%ϗ+\>r)W<"+ U {ckWQ̗+\֏+H"m@+CxBCz+c\A\Pn.U :KBR\Y?@>?Ch86yZMTYT$/ pW9pAwca(ڃ]?S /Rö]2 (S&7^)d &r_Lgbɀq;&Eo2cfC aIbds;ɲCj Lvh~l \q~}VM@af}v*Lge}O?^d9%.i8EL۔s9_cFtFC("$+[-] "^vzYH.ّl Q^+gg ݉+qDFy;v2 ]&(YWޙ;CԠ\*L]G98Ɲ0T)=Cmi:MQN( [E'nCbIGp3>djO(C5zqucCڅ.Np ߖ-Y.ޟq.k=˨AYƛZ.Imj[殿܍^9Ƃ1EOFT{WmR leMa!$\e¶])v/=Y)PͦW&IErla2V0p6 F;֡6FVPNڻq Z9!d]Boh;-(КYkԝ Aub?G ]sId5T,Y; l8NgWfo&+ؓBvMݱˁ=0`L2-8k-G܈^J._'Rsz 9I̓BKB"e$R"=I9O3PEI% DsR# (YLNv (H؆p(EsPaǻYyB5hCQwKBb6 {X),Ph3bƅƢ9XfJ7Wˎ$ >nus0w[u6As|hT)Q$X1; XN=&9"L{j!}sx=vөu%vN}8ć3ț4Gd0BaGx̓DLY 4pIJ\$TK0:׀j g$ϸ+?zU +SavIUalwWd$DlmwdYaO~o ĝ>\H9XTV,T2[/00;0Zp/P')f+{:\88]je*XV rZX@Y6+L0 '/YFg`wrs\L.ykZuɴ5L-}jiiaeiP+~зY;* Z6 ڜXbv<$a.Qtee=aiH}(! Pğ8$b`/dp)|$>; ]ۻ,Yz$[P=b,q=BOHҳx_T|ǰ=&Щ@c8}׿m'^|KPRfoYہV}a*ldg[T;8؆)mcrm~1cS`%^/vڶ##mGXUr%SeI"kckÆK&zL]0H OmmmDMPj |漂 fDһL.>to7Έ@Jq[*QT쁸Q[f%n{Y.qz7 ٟbjxհpWn޾ @M|rBTeupA,'JXAӵ$+`^WqS5Ո6Ժ\_*QTZx@|hwM܏YpO7ܤ6{&m\E%3`.0Ԍ2`Qиֆ(jTZds]QH$0NR̘ Ƹ1MJU;G /!{<\]"s0%26r[;bLd LΞ$IO/ޯվ'/*s, .`t@?.]{@MB "a0q}F->6_~@ _BYNhci#FvHyUZjGנˠ(]HBaGfڑ}ܢx% 7aj`•"۸N%;U; !Y"C9r`36XdL\.7Ǡrxk]5A, 3= y4yCRj3Wn%qȑ5ޕHז/^bwDvUuL%aVX@LvVf=2#".2A=kk.{zұvzWD<F0fơ-=}06ܾ\Vx@7mDzˈ-XTS@A`nL3Ǜ8VYl:Ƽj? dveLmDH[ЉǝITa.[d14bP:/’[$1V-YIL7Uɛ>,;l=O @ڄݠnY0St2YV$VPi[DJ3Yd$_IM c6Oޏ`#\U-BF10Ѱв 9IOiSrlVxuA7VѾ1yUcssUEz{ `GbHm4 | "%&<#q!a}|A|e:EN|cNf`YZ^#8-j[:%#-*VEO:*F P(Y1-r?"q)w j9F./NoOhb4lA8\rHCN'VBԉ)!Չ钼NgO?xPjCGaؚ:-3KsE,5Lf,Lű t88 zQlK-Ⱥr\L8jN|UB"H}DH9m6W(}nҐ>ë{n @A JO/_?^XCV7*W}`V`uj e39.Sy3*]#aDn]ZĐ<`&"5 y_gA>»eXF)&OTM ,,bY,[eϫy~JJt-*)W0ʃ D6[ws:<eEJ2gfxwehx8OA_![-tR[At$g8S_.)qdC=&ʶ8AtYeے7L ~Ѿ9\_nW䴂dۋV'IwU}BR_#j:)KgWXxZ&iw),O $,W͜H)Jါr\ )K /AbV&,ʘ9懋N<7D-+PB;X@ &+¤ Ů&60|҄IE1sINԌ[O (cuI2L84̯1`lsrG6=-YtJTu$@s$I*ᢙzIXu'Z^azkcx9kcy43L4. <<9n8dXNF9 ɀ~ C8a qv\qD@88B60Qtv";1Zm!OIYhuUfHatMBhD]:( ̩, /`J@dI'}j_sڷ]@@ >e76۬;u'+^\?<vE;*lJn$'mhTUf%uLU4?x%=TN˸ð8~J@悃;{FG:\5k]} άrZb{^lI.niٮ:"^,w0lf1`B4 [p% 9'3ѺwfC8?p$޼c(t-lF}qJݯ^o~ C-?<~zyxG&WTF/"׬*Wh.|Oa;^Dq۷o/?_n>=\ڡ875;vj׻ynH6onz_>}~~|K۟ewnʝ6-q]ڣn7V:=^*Iaݞ gպE0:}8MԀZzM8tX26\?Hg\ */JyS uxT 1toWV09n0*Đ:O&Vb\4nety\[nwuO&U+3Ƒ2JiDT -Mx`St9v:zA^_e(u5O6hΡIrگ]D\Z1R a~>% ^p~n~DΎ뒟5;4 E~I w ~M =ƃf(v#JX t:cCUZxGD&HZB$Sg]߫Ĉc`M>^e'1oE0j@9qE3=mR`Flɍ8d8e\DaI}a<#.@qSf&PY;uu᮸Za\T9;Eؤ]h* ZɉA3y6.6to|(M=XH֯98͉ϟ]dsFq%̩uB]\1[ ,;<䆐[vbř"v,D{s"5DE[ I&ڞ I^p̀lz7,eNba ) "eLpMDk+`b|9MxqBf,y OϬǔ`"1!^1#(9hAZ B-s}(+#BcD8Sb2"dY9e(~ =n&BVA@>"Z?2^ǚG.K"?iC \AE^\eE#:kYS+(Nwy2(At&K~:QS~_G:j 0uA29% %J'Ar$j +wuT%.oG),-}hA[51jprEdDoA b[X:.pnv(@Knhց]@Pbo˺Zwnс:1=yASt8=9!*1zV3HM0 yZ ; 4:MÈ$2 51F7R O=6\S_arɦb\:̝:wme%cmPO?^'~,M$;2v]`O@cSb b`&W/`Ks Lm|B8|@uYQK܉U6וau3u1:W,yycY6*&3 :5z)n;R!Q3 mq[bn9k"UdLᜯE1F 4 tJ9~w {vkt=0yaz_J#^N\bf18$">TbNZ ѱ ,~wǛTF$yL0<*1$\\wYNn h*Oo c:e : f\ N'hЈRWbWO")8vRTyBIlAOaF.5OI@Yv NIa•Qw] \w+*,$)}0@H! ڥDBB⠓'u0Duo&i8,eACJ6i4~hV0L|t1344$.}l%fmi>"TŹ5 8=w@Ͱ_+;S$󱺱gɯ̸>|9ƝqW#DD0򄞒._p 2h*dO@-I[1 8/И;\qR oCw[ z!P(8gb'jS]Ix} 'T"OפNtId~e0!:c`/Ak: JFb x'A"Ō4qksI6zsXWs*qKUX c EܳzҲQӳȢ4$2`᫦C"•؉CsB!0ڑ(\/8Qq]!` py2&N$Tmo_Dz-CUnǧe=n٠}@[xȐqEӅ#yf=ٮ#Inh|X &7iOGW8Y3zu'X8H y6^ ;!|Bv" 7}3|"߇ޏ [ޫ %I3=vec:*fH84%A0$* %eƇjٮm+ u;X5P%0S}+ֻ:=ld =<`65Ŀh]gׂ 7 8v}tpI&:=o6k̷!LSD=Ν[ːѸr@хw>v_;l\< O蘀\s8|eK6Ob\V%@rGpkⱠn읩s[u,99u;3@V]S%8x!85Nz#J @USaDBP1/v7aMY [ vv'!X#͵?r H{ VSmw3ܽP[~\ܽY㝻r Mދmɸ;Bހ g-ț'9.k0}rER%;8;qUS5 v$`.ui9d'i qimܷK%,߀a )@ 0Doq..z,Y7F84r$t #A黬\) >?Dm}re*RiW|]:u,i];)8edy Z4 ʞAxνBj F ZqQ4N&h;n=L4ptKNI|Cm9s%V"9q\jRmaܰr/+`ExvN rΑb=^^1]iw #ׂDBzKj]V/pb:qtd:Zv\[ab\øailed\V&z3qu=uG a;0ր3]@6;5֚a–k+hgwhS'{}/%셽℥ì:Y6H.xzT/8jbrvjϓEax 2m/Pf݋@{gi- uw^s; :he , Pgepnܴ=Wr^!czH[@<(t!PצqaF[D R&m-ĥ\Ɩv @n:ڔ=;L幠M| eu g,>b [Z3L|Ξk0МcԯR$|L74\7$1>Kǟ _snb|5V wPRIs+vo0ǒEqn{kȮ+bﮟ[ϟ Zϭ1s..hk?#Tgu;GLɪ'82^p}=\Wɵ$10&>OԀ$[^2>;Ay@= }5c+XfbgAđ5D<9$ RԐ$jm%.NFa ca?wX:l|~~͍"Tת2:Iyf1o $?Qj%=fi8JЂIfq` @g,AWu T})A$?oQ͐w@AպU&D.=hg&mg{tQ5YnrJof>Z@C&˘u*2Z $.l4:X;9A7:^JE] k/fkn~Hѵ(~h~z4;2<,_ s@n :"Dқ{HrD%:~j@+Vl[ԳVɱR a\B @~t<N (Մfޥ/X[ΥmDK@_B-L`|dYSt}{UeԖb-*4{f(D>ӽ塾vIև[#mO$~k\͠2nnAՃinYʟ qJ endstream endobj 69 0 obj << /ProcSet [/PDF /Text ] /Font << /F5 4 0 R /F9 6 0 R /F12 21 0 R /F17 47 0 R /F19 51 0 R /F23 70 0 R >> /ExtGState << /GS2 8 0 R /GS3 9 0 R >> /ColorSpace << /CS3 71 0 R >> >> endobj 71 0 obj [/Separation /30#2000#20#20#20Black /DeviceCMYK 12 0 R] endobj 72 0 obj << /Type /Halftone /HalftoneType 1 /Frequency 133 /Angle 45 /SpotFunction /Round >> endobj 8 0 obj << /Type /ExtGState /SA false /OP true /HT 72 0 R >> endobj 9 0 obj << /Type /ExtGState /SA true /OP false /HT 72 0 R >> endobj 17 0 obj << /Type /ExtGState /SA false /OP false /HT 72 0 R >> endobj 12 0 obj << /FunctionType 0 /Domain [0 1] /Range [0 1 0 1 0 1 0 1] /BitsPerSample 8 /Size [256] /Length 397 /Filter /FlateDecode >> stream H, ٶm۶϶m۶l۶m3k5i4 bP4 cXF4bT4c\&4MbR4McZә f4bV4c^-bQY-cYY VbUYkY:ֵm`C&6maK[6`G;.vaO{>@9!uHG91uD'9)NuӝLg99u]B%.u\JW5uF7Vt^=Qy=Yy ^Uy]y>}S}[~Wo endstream endobj 39 0 obj << /FunctionType 0 /Domain [0 1] /Range [0 1] /BitsPerSample 8 /Size [256] /Length 271 /Filter /FlateDecode >> stream H~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!   {; endstream endobj 73 0 obj << /Type /FontDescriptor /Ascent 722 /CapHeight 722 /Descent -217 /Flags 262176 /FontBBox [-83 -250 1000 969] /FontName /Univers-CondensedBold /ItalicAngle 0 /StemV 141 /XHeight 505 >> endobj 74 0 obj << /Type /FontDescriptor /Ascent 722 /CapHeight 722 /Descent -191 /Flags 32 /FontBBox [-166 -250 1000 989] /FontName /Univers-Condensed /ItalicAngle 0 /StemV 82 /XHeight 505 >> endobj 75 0 obj << /Type /FontDescriptor /Ascent 688 /CapHeight 688 /Descent -182 /Flags 34 /FontBBox [-167 -210 1000 927] /FontName /Century-Book /ItalicAngle 0 /StemV 88 /XHeight 470 >> endobj 76 0 obj << /Type /FontDescriptor /Ascent 722 /CapHeight 723 /Descent -194 /Flags 262176 /FontBBox [-167 -250 995 938] /FontName /Univers-Bold /ItalicAngle 0 /StemV 155 /XHeight 505 >> endobj 77 0 obj << /Type /FontDescriptor /Ascent 678 /CapHeight 688 /Descent -178 /Flags 98 /FontBBox [-212 -212 1003 915] /FontName /Century-BookItalic /ItalicAngle -16 /StemV 98 /XHeight 482 >> endobj 78 0 obj << /Type /FontDescriptor /Ascent 682 /CapHeight 688 /Descent -174 /Flags 262178 /FontBBox [-167 -220 1134 936] /FontName /Century-Bold /ItalicAngle 0 /StemV 146 /XHeight 470 >> endobj 4 0 obj << /Type /Font /Subtype /Type1 /Name /F5 /FirstChar 32 /LastChar 255 /Widths [222 333 333 444 444 778 667 250 278 278 444 500 222 333 222 278 444 444 444 444 444 444 444 444 444 444 222 222 500 500 500 444 795 611 611 556 611 500 444 611 611 278 500 556 444 833 667 611 556 611 556 556 500 611 556 889 556 556 500 278 250 278 500 500 278 500 500 500 500 500 278 500 500 278 278 500 278 722 500 500 500 500 333 444 278 500 444 778 500 444 389 274 250 274 500 222 611 611 556 500 667 611 611 500 500 500 500 500 500 500 500 500 500 500 278 278 278 278 500 500 500 500 500 500 500 500 500 500 444 400 444 444 444 420 550 556 830 830 860 278 278 0 833 611 0 500 0 0 444 500 0 0 0 0 0 300 300 0 778 500 444 333 500 0 444 0 0 444 444 1000 0 611 611 611 833 778 500 1000 444 444 222 222 500 0 444 556 167 444 222 222 500 500 444 222 222 444 1000 611 500 611 500 500 278 278 278 278 611 611 0 611 611 611 611 278 278 278 278 278 278 278 278 445 278 278 ] /Encoding 79 0 R /BaseFont /Univers-CondensedBold /FontDescriptor 73 0 R >> endobj 5 0 obj << /Type /Font /Subtype /Type1 /Name /F7 /FirstChar 32 /LastChar 255 /Widths [222 333 250 444 444 778 667 250 278 278 444 500 222 333 222 278 444 444 444 444 444 444 444 444 444 444 222 222 500 500 500 444 788 611 611 556 611 500 444 611 611 278 500 556 444 833 667 611 556 611 556 556 500 611 556 889 556 500 500 278 278 278 500 500 278 500 500 500 500 500 278 500 500 222 222 444 222 722 500 500 500 500 333 444 278 500 444 722 444 444 389 274 250 274 500 222 611 611 556 500 667 611 611 500 500 500 500 500 500 500 500 500 500 500 222 222 222 222 500 500 500 500 500 500 500 500 500 500 444 400 444 444 444 333 440 556 800 800 825 278 278 0 833 611 0 500 0 0 444 500 0 0 0 0 0 300 300 0 778 500 444 333 500 0 444 0 0 444 444 1000 0 611 611 611 833 778 500 1000 444 444 222 222 500 0 444 500 167 444 222 222 500 500 444 222 222 444 889 611 500 611 500 500 278 278 278 278 611 611 0 611 611 611 611 222 278 278 278 278 278 278 278 444 278 278 ] /Encoding 79 0 R /BaseFont /Univers-Condensed /FontDescriptor 74 0 R >> endobj 6 0 obj << /Type /Font /Subtype /Type1 /Name /F9 /FirstChar 32 /LastChar 255 /Widths [250 278 333 500 500 667 722 222 389 389 444 600 250 278 250 278 500 500 500 500 500 500 500 500 500 500 250 250 600 600 600 444 800 667 667 667 722 667 611 722 722 333 444 667 556 833 722 722 611 722 667 556 611 722 611 889 667 611 556 333 278 333 600 500 278 500 556 500 556 500 333 500 556 278 278 556 278 833 556 556 556 500 389 444 333 556 500 778 556 500 444 333 222 333 600 250 667 667 667 667 722 722 722 500 500 500 500 500 500 500 500 500 500 500 278 278 278 278 556 556 556 556 556 556 556 556 556 556 500 400 500 500 500 500 600 611 800 800 990 278 278 0 944 722 0 600 0 0 500 556 0 0 0 0 0 300 334 0 778 556 444 278 600 0 500 0 0 500 500 1000 0 667 667 722 1000 889 500 1000 389 389 222 222 600 0 500 611 167 500 278 278 556 556 500 250 222 389 944 667 667 667 667 667 333 333 333 333 722 722 0 722 722 722 722 278 278 278 278 278 278 278 278 278 278 278 ] /Encoding 79 0 R /BaseFont /Century-Book /FontDescriptor 75 0 R >> endobj 7 0 obj << /Type /Font /Subtype /Type1 /Name /F10 /FirstChar 32 /LastChar 255 /Widths [222 333 333 444 444 778 667 250 278 278 444 500 222 333 222 278 444 444 444 444 444 444 444 444 444 444 222 222 500 500 500 444 795 611 611 556 611 500 444 611 611 278 500 556 444 833 667 611 556 611 556 556 500 611 556 889 556 556 500 278 250 278 500 500 278 500 500 500 500 500 278 500 500 278 278 500 278 722 500 500 500 500 333 444 278 500 444 778 500 444 389 274 250 274 500 222 611 611 556 500 667 611 611 500 500 500 500 500 500 500 500 500 500 500 278 278 278 278 500 500 500 500 500 500 500 500 500 500 444 400 444 444 444 420 550 556 830 830 860 278 278 222 833 611 222 500 222 222 444 500 222 222 222 222 222 300 300 222 778 500 444 333 500 222 444 222 222 444 444 1000 222 611 611 611 833 778 500 1000 444 444 222 222 500 222 444 556 167 444 222 222 500 500 444 222 222 444 1000 611 500 611 500 500 278 278 278 278 611 611 222 611 611 611 611 278 278 278 278 278 278 278 278 445 278 278 ] /Encoding /MacRomanEncoding /BaseFont /Univers-CondensedBold /FontDescriptor 73 0 R >> endobj 16 0 obj << /Type /Font /Subtype /Type1 /Name /F11 /BaseFont /Symbol >> endobj 21 0 obj << /Type /Font /Subtype /Type1 /Name /F12 /Encoding 80 0 R /BaseFont /Symbol >> endobj 34 0 obj << /Type /Font /Subtype /Type1 /Name /F13 /FirstChar 32 /LastChar 255 /Widths [222 333 250 444 444 778 667 250 278 278 444 500 222 333 222 278 444 444 444 444 444 444 444 444 444 444 222 222 500 500 500 444 788 611 611 556 611 500 444 611 611 278 500 556 444 833 667 611 556 611 556 556 500 611 556 889 556 500 500 278 278 278 500 500 278 500 500 500 500 500 278 500 500 222 222 444 222 722 500 500 500 500 333 444 278 500 444 722 444 444 389 274 250 274 500 222 611 611 556 500 667 611 611 500 500 500 500 500 500 500 500 500 500 500 222 222 222 222 500 500 500 500 500 500 500 500 500 500 444 400 444 444 444 333 440 556 800 800 825 278 278 222 833 611 222 500 222 222 444 500 222 222 222 222 222 300 300 222 778 500 444 333 500 222 444 222 222 444 444 1000 222 611 611 611 833 778 500 1000 444 444 222 222 500 222 444 500 167 444 222 222 500 500 444 222 222 444 889 611 500 611 500 500 278 278 278 278 611 611 222 611 611 611 611 222 278 278 278 278 278 278 278 444 278 278 ] /Encoding /MacRomanEncoding /BaseFont /Univers-Condensed /FontDescriptor 74 0 R >> endobj 43 0 obj << /Type /Font /Subtype /Type1 /Name /F15 /FirstChar 32 /LastChar 255 /Widths [278 389 474 556 556 889 778 238 333 333 556 584 278 333 278 444 556 556 556 556 556 556 556 556 556 556 278 278 584 584 584 500 975 722 667 667 722 611 556 778 722 278 556 667 556 944 778 778 611 778 667 667 611 778 722 1000 722 667 611 333 278 333 584 500 278 556 611 500 611 556 333 611 611 278 278 556 278 944 611 611 611 611 389 500 389 611 556 889 556 556 500 333 278 333 584 278 722 722 667 611 778 778 778 556 556 556 556 556 556 500 556 556 556 556 278 278 278 278 611 611 611 611 611 611 611 611 611 611 556 400 556 556 556 350 556 667 800 800 1000 278 278 278 1000 778 278 584 278 278 556 611 278 278 278 278 278 334 367 278 889 611 500 389 584 278 556 278 278 556 556 1000 278 722 722 778 1000 944 500 1000 556 556 278 278 584 278 556 667 167 556 278 278 611 611 556 278 278 556 1000 722 611 722 611 611 278 278 278 278 778 778 278 778 778 778 778 278 278 278 278 278 278 278 278 556 278 278 ] /Encoding /MacRomanEncoding /BaseFont /Univers-Bold /FontDescriptor 76 0 R >> endobj 47 0 obj << /Type /Font /Subtype /Type1 /Name /F17 /Encoding /MacRomanEncoding /BaseFont /Helvetica-Bold >> endobj 51 0 obj << /Type /Font /Subtype /Type1 /Name /F19 /FirstChar 32 /LastChar 255 /Widths [278 333 333 556 556 667 778 222 444 444 444 600 278 333 278 278 556 556 556 556 556 556 556 556 556 556 278 278 600 600 600 500 800 667 667 667 722 667 611 722 778 389 500 722 611 833 722 722 611 722 667 556 611 722 611 833 667 611 611 444 278 444 600 500 352 556 500 444 556 444 333 500 556 389 333 500 278 889 611 500 556 500 444 444 333 611 500 778 556 556 500 444 222 444 600 278 667 667 667 667 722 722 722 556 556 556 556 556 556 444 444 444 444 444 389 389 389 389 611 500 500 500 500 500 611 611 611 611 500 400 556 556 500 500 600 611 800 800 990 352 352 0 944 722 0 600 0 0 556 611 0 0 0 0 0 334 300 0 722 500 500 333 600 0 556 0 0 500 500 1000 0 667 667 722 944 778 500 1000 389 389 222 222 600 0 556 611 167 556 333 333 556 556 500 278 222 389 944 667 667 667 667 667 389 389 389 389 722 722 0 722 722 722 722 389 352 352 352 352 352 352 352 352 352 352 ] /Encoding 79 0 R /BaseFont /Century-BookItalic /FontDescriptor 77 0 R >> endobj 63 0 obj << /Type /Font /Subtype /Type1 /Name /F22 /FirstChar 32 /LastChar 255 /Widths [287 333 333 574 574 889 833 222 500 500 519 600 287 333 287 278 574 574 574 574 574 574 574 574 574 574 287 287 600 600 600 500 800 741 704 741 759 722 667 778 778 426 574 759 630 907 759 778 648 778 704 630 685 722 630 926 722 630 611 370 278 370 600 500 333 556 593 500 593 556 389 537 593 333 352 611 333 852 611 593 593 593 463 481 426 611 537 778 611 537 500 370 222 370 600 287 741 741 741 722 759 778 722 556 556 556 556 556 556 500 556 556 556 556 333 333 333 333 611 593 593 593 593 593 611 611 611 611 500 400 574 574 500 500 620 648 800 800 1000 333 333 0 944 778 0 600 0 0 574 611 0 0 0 0 0 334 356 0 815 593 500 333 600 0 574 0 0 500 500 1000 0 741 741 778 1000 870 500 1000 537 537 278 278 600 0 537 630 167 574 333 333 685 685 500 287 278 537 1111 741 722 741 722 722 426 426 426 426 778 778 0 778 722 722 722 333 333 333 333 333 333 333 333 333 333 333 ] /Encoding 79 0 R /BaseFont /Century-Bold /FontDescriptor 78 0 R >> endobj 70 0 obj << /Type /Font /Subtype /Type1 /Name /F23 /Encoding 79 0 R /BaseFont /Times-Roman >> endobj 79 0 obj << /Type /Encoding /Differences [ 39/quotesingle 96/grave 128/Adieresis/Aring/Ccedilla/Eacute/Ntilde/Odieresis /Udieresis/aacute/agrave/acircumflex/adieresis/atilde/aring/ccedilla /eacute/egrave/ecircumflex/edieresis/iacute/igrave/icircumflex/idieresis /ntilde/oacute/ograve/ocircumflex/odieresis/otilde/uacute/ugrave /ucircumflex/udieresis/dagger/degree 164/section/bullet/paragraph/germandbls /registered/copyright/trademark/acute/dieresis/notequal/AE/Oslash /infinity/plusminus/lessequal/greaterequal/yen/mu/partialdiff/summation /product/pi/integral/ordfeminine/ordmasculine/Omega/ae/oslash /questiondown/exclamdown/logicalnot/radical/florin/approxequal/Delta/guillemotleft /guillemotright/ellipsis/blank/Agrave/Atilde/Otilde/OE/oe /endash/emdash/quotedblleft/quotedblright/quoteleft/quoteright/divide/lozenge /ydieresis/Ydieresis/fraction/currency/guilsinglleft/guilsinglright/fi/fl /daggerdbl/periodcentered/quotesinglbase/quotedblbase/perthousand/Acircumflex/Ecircumflex/Aacute /Edieresis/Egrave/Iacute/Icircumflex/Idieresis/Igrave/Oacute/Ocircumflex /apple/Ograve/Uacute/Ucircumflex/Ugrave 246/circumflex/tilde/macron /breve/dotaccent/ring/cedilla/hungarumlaut/ogonek/caron ] >> endobj 80 0 obj << /Type /Encoding /Differences [ 161/degree 173/notequal 176/infinity 178/lessequal 181/mu 183/summation/product/pi /integral 189/Omega 195/radical 197/approxequal/Delta 214/divide/lozenge 240/apple ] >> endobj 1 0 obj << /Type /Page /Parent 11 0 R /Resources 3 0 R /Contents 2 0 R >> endobj 13 0 obj << /Type /Page /Parent 11 0 R /Resources 15 0 R /Contents 14 0 R >> endobj 18 0 obj << /Type /Page /Parent 11 0 R /Resources 20 0 R /Contents 19 0 R >> endobj 22 0 obj << /Type /Page /Parent 11 0 R /Resources 24 0 R /Contents 23 0 R >> endobj 25 0 obj << /Type /Page /Parent 11 0 R /Resources 27 0 R /Contents 26 0 R >> endobj 28 0 obj << /Type /Page /Parent 11 0 R /Resources 30 0 R /Contents 29 0 R >> endobj 31 0 obj << /Type /Page /Parent 11 0 R /Resources 33 0 R /Contents 32 0 R >> endobj 35 0 obj << /Type /Page /Parent 11 0 R /Resources 37 0 R /Contents 36 0 R >> endobj 40 0 obj << /Type /Page /Parent 11 0 R /Resources 42 0 R /Contents 41 0 R >> endobj 44 0 obj << /Type /Page /Parent 11 0 R /Resources 46 0 R /Contents 45 0 R >> endobj 48 0 obj << /Type /Page /Parent 53 0 R /Resources 50 0 R /Contents 49 0 R >> endobj 54 0 obj << /Type /Page /Parent 53 0 R /Resources 56 0 R /Contents 55 0 R >> endobj 57 0 obj << /Type /Page /Parent 53 0 R /Resources 59 0 R /Contents 58 0 R >> endobj 60 0 obj << /Type /Page /Parent 53 0 R /Resources 62 0 R /Contents 61 0 R >> endobj 64 0 obj << /Type /Page /Parent 53 0 R /Resources 66 0 R /Contents 65 0 R >> endobj 67 0 obj << /Type /Page /Parent 53 0 R /Resources 69 0 R /Contents 68 0 R >> endobj 11 0 obj << /Type /Pages /Kids [1 0 R 13 0 R 18 0 R 22 0 R 25 0 R 28 0 R 31 0 R 35 0 R 40 0 R 44 0 R] /Count 10 /Parent 52 0 R >> endobj 53 0 obj << /Type /Pages /Kids [48 0 R 54 0 R 57 0 R 60 0 R 64 0 R 67 0 R] /Count 6 /Parent 52 0 R >> endobj 52 0 obj << /Type /Pages /Kids [11 0 R 53 0 R ] /Count 16 /MediaBox [0 0 612 792] >> endobj 81 0 obj << /Type /Catalog /Pages 52 0 R >> endobj 82 0 obj << /CreationDate (D:20000831211435) /Producer (Acrobat Distiller 3.01 for Power Macintosh) /Author () /Creator (PageMaker 6.5) /Title (MSA-2643 D/S) >> endobj xref 0 83 0000000000 65535 f 0000118485 00000 n 0000000016 00000 n 0000012237 00000 n 0000108151 00000 n 0000109203 00000 n 0000110250 00000 n 0000111293 00000 n 0000105812 00000 n 0000105880 00000 n 0000012403 00000 n 0000119826 00000 n 0000106018 00000 n 0000118566 00000 n 0000012485 00000 n 0000015357 00000 n 0000112389 00000 n 0000105948 00000 n 0000118650 00000 n 0000015508 00000 n 0000022194 00000 n 0000112468 00000 n 0000118734 00000 n 0000022333 00000 n 0000030518 00000 n 0000118818 00000 n 0000030645 00000 n 0000032397 00000 n 0000118902 00000 n 0000032526 00000 n 0000035769 00000 n 0000118986 00000 n 0000035898 00000 n 0000040435 00000 n 0000112564 00000 n 0000119070 00000 n 0000040563 00000 n 0000045178 00000 n 0000045348 00000 n 0000106572 00000 n 0000119154 00000 n 0000045402 00000 n 0000050673 00000 n 0000113656 00000 n 0000119238 00000 n 0000050823 00000 n 0000055910 00000 n 0000114748 00000 n 0000119322 00000 n 0000056072 00000 n 0000066531 00000 n 0000114863 00000 n 0000120072 00000 n 0000119963 00000 n 0000119406 00000 n 0000066740 00000 n 0000071961 00000 n 0000119490 00000 n 0000072158 00000 n 0000078223 00000 n 0000119574 00000 n 0000078408 00000 n 0000082513 00000 n 0000115913 00000 n 0000119658 00000 n 0000082687 00000 n 0000087143 00000 n 0000119742 00000 n 0000087295 00000 n 0000105446 00000 n 0000116960 00000 n 0000105640 00000 n 0000105712 00000 n 0000106988 00000 n 0000107189 00000 n 0000107382 00000 n 0000107570 00000 n 0000107762 00000 n 0000107958 00000 n 0000117061 00000 n 0000118264 00000 n 0000120164 00000 n 0000120215 00000 n trailer << /Size 83 /Root 81 0 R /Info 82 0 R /ID [<8a9329952da4e30bd73861b272559893><8a9329952da4e30bd73861b272559893>] >> startxref 120383 %%EOF 1 0 obj << /Type /Page /Parent 11 0 R /Resources 3 0 R /Contents 2 0 R /AA << /O 83 0 R >> >> endobj 81 0 obj << /Type /Catalog /Pages 52 0 R /Outlines 84 0 R >> endobj 82 0 obj << /CreationDate (D:20000831211435) /Producer (Acrobat Distiller 3.01 for Power Macintosh) /Author () /Creator (PageMaker 6.5) /Title (MSA-2643 D/S) /ModDate (D:20000907074905) >> endobj 83 0 obj << /S /Named /N /ShowBookmarks >> endobj 84 0 obj << /Count 41 /Type /Outlines /First 86 0 R /Last 86 0 R >> endobj 85 0 obj << /S /GoTo /D [ 1 0 R /XYZ -27 797 1 ] >> endobj 86 0 obj << /Title (MSA-2643) /Parent 84 0 R /A 85 0 R /First 88 0 R /Last 116 0 R /Count 40 >> endobj 87 0 obj << /S /GoTo /D [ 1 0 R /XYZ -27 797 1 ] >> endobj 88 0 obj << /Title (Description) /A 87 0 R /Parent 86 0 R /Next 90 0 R >> endobj 89 0 obj << /S /GoTo /D [ 1 0 R /XYZ -27 589 1 ] >> endobj 90 0 obj << /Title (Typical Biasing Configuration) /Next 92 0 R /Prev 88 0 R /Parent 86 0 R /A 89 0 R >> endobj 91 0 obj << /S /GoTo /D [ 1 0 R /XYZ -27 589 1 ] >> endobj 92 0 obj << /Title (Features) /Next 94 0 R /Prev 90 0 R /Parent 86 0 R /A 91 0 R >> endobj 93 0 obj << /S /GoTo /D [ 1 0 R /XYZ -27 589 1 ] >> endobj 94 0 obj << /Title (Specifications) /Next 96 0 R /Prev 92 0 R /Parent 86 0 R /A 93 0 R >> endobj 95 0 obj << /S /GoTo /D [ 1 0 R /XYZ -27 701 1 ] >> endobj 96 0 obj << /Title (Applications) /Next 98 0 R /Prev 94 0 R /Parent 86 0 R /A 95 0 R >> endobj 97 0 obj << /S /GoTo /D [ 1 0 R /XYZ -27 701 1 ] >> endobj 98 0 obj << /Title (Surface Mount Package) /Next 100 0 R /Prev 96 0 R /Parent 86 0 R /A 97 0 R >> endobj 99 0 obj << /S /GoTo /D [ 1 0 R /XYZ -27 701 1 ] >> endobj 100 0 obj << /Title (Pin Connections and Package Marking) /Next 102 0 R /Prev 98 0 R /Parent 86 0 R /A 99 0 R >> endobj 101 0 obj << /S /GoTo /D [ 13 0 R /XYZ -5 797 1 ] >> endobj 102 0 obj << /Title (Absolute Maximum Ratings) /Next 104 0 R /Prev 100 0 R /Parent 86 0 R /A 101 0 R >> endobj 103 0 obj << /S /GoTo /D [ 13 0 R /XYZ -5 797 1 ] >> endobj 104 0 obj << /Title (Electrical Specifications) /Next 106 0 R /Prev 102 0 R /Parent 86 0 R /A 103 0 R >> endobj 105 0 obj << /S /GoTo /D [ 18 0 R /XYZ -5 797 1 ] >> endobj 106 0 obj << /Title (Typical Performance) /Next 108 0 R /Prev 104 0 R /Parent 86 0 R /A 105 0 R >> endobj 107 0 obj << /S /GoTo /D [ 25 0 R /XYZ -5 797 1 ] >> endobj 108 0 obj << /Title (Typical Scattering Parameters) /Next 110 0 R /Prev 106 0 R /Parent 86 0 R /A 107 0 R >> endobj 109 0 obj << /S /GoTo /D [ 31 0 R /XYZ -5 797 1 ] >> endobj 110 0 obj << /Title (ADS Model) /Next 112 0 R /Prev 108 0 R /Parent 86 0 R /A 109 0 R >> endobj 111 0 obj << /S /GoTo /D [ 35 0 R /XYZ -5 797 1 ] >> endobj 112 0 obj << /Title (Q1 MSA-26 Transistor Model) /Next 114 0 R /Prev 110 0 R /Parent 86 0 R /A 111 0 R >> endobj 113 0 obj << /S /GoTo /D [ 35 0 R /XYZ -5 797 1 ] >> endobj 114 0 obj << /Title (Q2 MSA-26 Transistor Model) /Next 116 0 R /Prev 112 0 R /Parent 86 0 R /A 113 0 R >> endobj 115 0 obj << /S /GoTo /D [ 40 0 R /XYZ -5 797 1 ] >> endobj 116 0 obj << /Title (MSA-2643 RFIC Amplifier) /Prev 114 0 R /Parent 86 0 R /A 115 0 R /First 118 0 R /Last 166 0 R /Count 25 >> endobj 117 0 obj << /S /GoTo /D [ 40 0 R /XYZ -5 797 1 ] >> endobj 118 0 obj << /Title (Description) /A 117 0 R /Parent 116 0 R /Next 120 0 R >> endobj 119 0 obj << /S /GoTo /D [ 40 0 R /XYZ -5 797 1 ] >> endobj 120 0 obj << /Title (Application Guidelines) /Next 122 0 R /Prev 118 0 R /Parent 116 0 R /A 119 0 R >> endobj 121 0 obj << /S /GoTo /D [ 40 0 R /XYZ -5 797 1 ] >> endobj 122 0 obj << /Title (RF Input and Output) /Next 124 0 R /Prev 120 0 R /Parent 116 0 R /A 121 0 R >> endobj 123 0 obj << /S /GoTo /D [ 40 0 R /XYZ -5 573 1 ] >> endobj 124 0 obj << /Title (DC Bias) /Next 126 0 R /Prev 122 0 R /Parent 116 0 R /A 123 0 R >> endobj 125 0 obj << /S /GoTo /D [ 40 0 R /XYZ -5 797 1 ] >> endobj 126 0 obj << /Title (PCB Layout) /Next 128 0 R /Prev 124 0 R /Parent 116 0 R /A 125 0 R >> endobj 127 0 obj << /S /GoTo /D [ 40 0 R /XYZ -5 797 1 ] >> endobj 128 0 obj << /Title (PCB Materials) /Next 130 0 R /Prev 126 0 R /Parent 116 0 R /A 127 0 R >> endobj 129 0 obj << /S /GoTo /D [ 40 0 R /XYZ -5 797 1 ] >> endobj 130 0 obj << /Title (Applications Example) /Next 132 0 R /Prev 128 0 R /Parent 116 0 R /A 129 0 R >> endobj 131 0 obj << /S /GoTo /D [ 44 0 R /XYZ -5 535 1 ] >> endobj 132 0 obj << /Title (Notes on Rc Selection) /Next 134 0 R /Prev 130 0 R /Parent 116 0 R /A 131 0 R >> endobj 133 0 obj << /S /GoTo /D [ 48 0 R /XYZ -5 535 1 ] >> endobj 134 0 obj << /Title (1.9 GHz Design) /Next 136 0 R /Prev 132 0 R /Parent 116 0 R /A 133 0 R >> endobj 135 0 obj << /S /GoTo /D [ 48 0 R /XYZ -5 797 1 ] >> endobj 136 0 obj << /Title (Performance of MSA-2643 1.9 GHz Amplifier) /Next 138 0 R /Prev 134 0 R /Parent 116 0 R /A 135 0 R >> endobj 137 0 obj << /S /GoTo /D [ 54 0 R /XYZ -5 797 1 ] >> endobj 138 0 obj << /Title (900 MHz Design) /Next 140 0 R /Prev 136 0 R /Parent 116 0 R /A 137 0 R >> endobj 139 0 obj << /S /GoTo /D [ 54 0 R /XYZ -5 797 1 ] >> endobj 140 0 obj << /Title (Performance of MSA-2643 900 MHz Amplifier) /Next 142 0 R /Prev 138 0 R /Parent 116 0 R /A 139 0 R >> endobj 141 0 obj << /S /GoTo /D [ 54 0 R /XYZ -5 621 1 ] >> endobj 142 0 obj << /Title (Designs for Other Frequencies) /Next 144 0 R /Prev 140 0 R /Parent 116 0 R /A 141 0 R >> endobj 143 0 obj << /S /GoTo /D [ 54 0 R /XYZ -5 797 1 ] >> endobj 144 0 obj << /Title (Notes on RF Grounding) /Next 146 0 R /Prev 142 0 R /Parent 116 0 R /A 143 0 R >> endobj 145 0 obj << /S /GoTo /D [ 54 0 R /XYZ -5 797 1 ] >> endobj 146 0 obj << /Title (A Final Note on Performance) /Next 148 0 R /Prev 144 0 R /Parent 116 0 R /A 145 0 R >> endobj 147 0 obj << /S /GoTo /D [ 54 0 R /XYZ -5 797 1 ] >> endobj 148 0 obj << /Title (Statistical Parameters) /Next 150 0 R /Prev 146 0 R /Parent 116 0 R /A 147 0 R >> endobj 149 0 obj << /S /GoTo /D [ 57 0 R /XYZ -5 535 1 ] >> endobj 150 0 obj << /Title (Phase Reference Planes) /Next 152 0 R /Prev 148 0 R /Parent 116 0 R /A 149 0 R >> endobj 151 0 obj << /S /GoTo /D [ 57 0 R /XYZ -5 797 1 ] >> endobj 152 0 obj << /Title (SMT Assembly) /Next 154 0 R /Prev 150 0 R /Parent 116 0 R /A 151 0 R >> endobj 153 0 obj << /S /GoTo /D [ 60 0 R /XYZ -5 797 1 ] >> endobj 154 0 obj << /Title (Electrostatic Sensitivity) /Next 156 0 R /Prev 152 0 R /Parent 116 0 R /A 153 0 R >> endobj 155 0 obj << /S /GoTo /D [ 60 0 R /XYZ -5 797 1 ] >> endobj 156 0 obj << /Title (References) /Next 158 0 R /Prev 154 0 R /Parent 116 0 R /A 155 0 R >> endobj 157 0 obj << /S /GoTo /D [ 60 0 R /XYZ -5 797 1 ] >> endobj 158 0 obj << /Title (Application Notes) /Next 160 0 R /Prev 156 0 R /Parent 116 0 R /A 157 0 R >> endobj 159 0 obj << /S /GoTo /D [ 64 0 R /XYZ -5 797 1 ] >> endobj 160 0 obj << /Title (Ordering Information) /Next 162 0 R /Prev 158 0 R /Parent 116 0 R /A 159 0 R >> endobj 161 0 obj << /S /GoTo /D [ 64 0 R /XYZ -5 797 1 ] >> endobj 162 0 obj << /Title (Package Dimensions) /Next 164 0 R /Prev 160 0 R /Parent 116 0 R /A 161 0 R >> endobj 163 0 obj << /S /GoTo /D [ 67 0 R /XYZ -5 797 1 ] >> endobj 164 0 obj << /Title (Device Orientation) /Next 166 0 R /Prev 162 0 R /Parent 116 0 R /A 163 0 R >> endobj 165 0 obj << /S /GoTo /D [ 67 0 R /XYZ -5 797 1 ] >> endobj 166 0 obj << /Title (Tape Dimensions) /Prev 164 0 R /Parent 116 0 R /A 165 0 R >> endobj xref 0 2 0000000000 65535 f 0000122200 00000 n 81 86 0000122308 00000 n 0000122381 00000 n 0000122579 00000 n 0000122633 00000 n 0000122714 00000 n 0000122777 00000 n 0000122887 00000 n 0000122950 00000 n 0000123036 00000 n 0000123099 00000 n 0000123217 00000 n 0000123280 00000 n 0000123377 00000 n 0000123440 00000 n 0000123543 00000 n 0000123606 00000 n 0000123707 00000 n 0000123770 00000 n 0000123881 00000 n 0000123944 00000 n 0000124070 00000 n 0000124134 00000 n 0000124251 00000 n 0000124315 00000 n 0000124433 00000 n 0000124497 00000 n 0000124609 00000 n 0000124673 00000 n 0000124795 00000 n 0000124859 00000 n 0000124961 00000 n 0000125025 00000 n 0000125144 00000 n 0000125208 00000 n 0000125327 00000 n 0000125391 00000 n 0000125534 00000 n 0000125598 00000 n 0000125688 00000 n 0000125752 00000 n 0000125868 00000 n 0000125932 00000 n 0000126045 00000 n 0000126109 00000 n 0000126210 00000 n 0000126274 00000 n 0000126378 00000 n 0000126442 00000 n 0000126549 00000 n 0000126613 00000 n 0000126727 00000 n 0000126791 00000 n 0000126906 00000 n 0000126970 00000 n 0000127078 00000 n 0000127142 00000 n 0000127277 00000 n 0000127341 00000 n 0000127449 00000 n 0000127513 00000 n 0000127648 00000 n 0000127712 00000 n 0000127835 00000 n 0000127899 00000 n 0000128014 00000 n 0000128078 00000 n 0000128199 00000 n 0000128263 00000 n 0000128379 00000 n 0000128443 00000 n 0000128559 00000 n 0000128623 00000 n 0000128729 00000 n 0000128793 00000 n 0000128912 00000 n 0000128976 00000 n 0000129080 00000 n 0000129144 00000 n 0000129255 00000 n 0000129319 00000 n 0000129433 00000 n 0000129497 00000 n 0000129609 00000 n 0000129673 00000 n 0000129785 00000 n 0000129849 00000 n trailer << /Size 167 /Info 82 0 R /Root 81 0 R /Prev 120383 /ID[<8a9329952da4e30bd73861b272559893><9db0675b1afa23be5d7d43d2e2530608>] >> startxref 129943 %%EOF 82 0 obj << /CreationDate (D:20000831211435) /Producer (Acrobat Distiller 3.01 for Power Macintosh) /Author () /Creator (PageMaker 6.5) /Title (MSA-2643 D/S) /ModDate (D:20000907075923) >> endobj 84 0 obj << /Count 41 /Type /Outlines /First 86 0 R /Last 86 0 R >> endobj 86 0 obj << /Title (MSA-2643) /Parent 84 0 R /A 85 0 R /First 88 0 R /Last 116 0 R /Count 40 >> endobj 88 0 obj << /Title (Description) /A 167 0 R /Next 90 0 R /Parent 86 0 R >> endobj 90 0 obj << /Title (Typical Biasing Configuration) /Next 92 0 R /Prev 88 0 R /Parent 86 0 R /A 168 0 R >> endobj 92 0 obj << /Title (Features) /Next 94 0 R /Prev 90 0 R /Parent 86 0 R /A 169 0 R >> endobj 94 0 obj << /Title (Specifications) /Next 96 0 R /Prev 92 0 R /Parent 86 0 R /A 170 0 R >> endobj 96 0 obj << /Title (Applications) /Next 98 0 R /Prev 94 0 R /Parent 86 0 R /A 171 0 R >> endobj 98 0 obj << /Title (Surface Mount Package) /Next 100 0 R /Prev 96 0 R /Parent 86 0 R /A 172 0 R >> endobj 100 0 obj << /Title (Pin Connections and Package Marking) /Next 102 0 R /Prev 98 0 R /Parent 86 0 R /A 173 0 R >> endobj 102 0 obj << /Title (Absolute Maximum Ratings) /Next 104 0 R /Prev 100 0 R /Parent 86 0 R /A 174 0 R >> endobj 104 0 obj << /Title (Electrical Specifications) /Next 106 0 R /Prev 102 0 R /Parent 86 0 R /A 175 0 R >> endobj 106 0 obj << /Title (Typical Performance) /Next 108 0 R /Prev 104 0 R /Parent 86 0 R /A 176 0 R >> endobj 108 0 obj << /Title (Typical Scattering Parameters) /Next 110 0 R /Prev 106 0 R /Parent 86 0 R /A 177 0 R >> endobj 110 0 obj << /Title (ADS Model) /Next 112 0 R /Prev 108 0 R /Parent 86 0 R /A 178 0 R >> endobj 112 0 obj << /Title (Q1 MSA-26 Transistor Model) /Next 114 0 R /Prev 110 0 R /Parent 86 0 R /A 179 0 R >> endobj 114 0 obj << /Title (Q2 MSA-26 Transistor Model) /Next 116 0 R /Prev 112 0 R /Parent 86 0 R /A 180 0 R >> endobj 118 0 obj << /Title (Description) /A 181 0 R /Parent 116 0 R /Next 120 0 R >> endobj 120 0 obj << /Title (Application Guidelines) /Next 122 0 R /Prev 118 0 R /Parent 116 0 R /A 182 0 R >> endobj 122 0 obj << /Title (RF Input and Output) /Next 124 0 R /Prev 120 0 R /Parent 116 0 R /A 183 0 R >> endobj 124 0 obj << /Title (DC Bias) /Next 126 0 R /Prev 122 0 R /Parent 116 0 R /A 184 0 R >> endobj 126 0 obj << /Title (PCB Layout) /Next 128 0 R /Prev 124 0 R /Parent 116 0 R /A 185 0 R >> endobj 128 0 obj << /Title (PCB Materials) /Next 130 0 R /Prev 126 0 R /Parent 116 0 R /A 186 0 R >> endobj 130 0 obj << /Title (Applications Example) /Next 132 0 R /Prev 128 0 R /Parent 116 0 R /A 187 0 R >> endobj 132 0 obj << /Title (Notes on Rc Selection) /Next 134 0 R /Prev 130 0 R /Parent 116 0 R /A 188 0 R >> endobj 134 0 obj << /Title (1.9 GHz Design) /Next 136 0 R /Prev 132 0 R /Parent 116 0 R /A 189 0 R >> endobj 136 0 obj << /Title (Performance of MSA-2643 1.9 GHz Amplifier) /Next 138 0 R /Prev 134 0 R /Parent 116 0 R /A 190 0 R >> endobj 138 0 obj << /Title (900 MHz Design) /Next 140 0 R /Prev 136 0 R /Parent 116 0 R /A 191 0 R >> endobj 140 0 obj << /Title (Performance of MSA-2643 900 MHz Amplifier) /Next 142 0 R /Prev 138 0 R /Parent 116 0 R /A 192 0 R >> endobj 142 0 obj << /Title (Designs for Other Frequencies) /Next 144 0 R /Prev 140 0 R /Parent 116 0 R /A 193 0 R >> endobj 144 0 obj << /Title (Notes on RF Grounding) /Next 146 0 R /Prev 142 0 R /Parent 116 0 R /A 194 0 R >> endobj 146 0 obj << /Title (A Final Note on Performance) /Next 148 0 R /Prev 144 0 R /Parent 116 0 R /A 195 0 R >> endobj 148 0 obj << /Title (Statistical Parameters) /Next 150 0 R /Prev 146 0 R /Parent 116 0 R /A 196 0 R >> endobj 150 0 obj << /Title (Phase Reference Planes) /Next 152 0 R /Prev 148 0 R /Parent 116 0 R /A 197 0 R >> endobj 152 0 obj << /Title (SMT Assembly) /Next 154 0 R /Prev 150 0 R /Parent 116 0 R /A 198 0 R >> endobj 154 0 obj << /Title (Electrostatic Sensitivity) /Next 156 0 R /Prev 152 0 R /Parent 116 0 R /A 199 0 R >> endobj 156 0 obj << /Title (References) /Next 158 0 R /Prev 154 0 R /Parent 116 0 R /A 200 0 R >> endobj 158 0 obj << /Title (Application Notes) /Next 160 0 R /Prev 156 0 R /Parent 116 0 R /A 201 0 R >> endobj 160 0 obj << /Title (Ordering Information) /Next 162 0 R /Prev 158 0 R /Parent 116 0 R /A 202 0 R >> endobj 162 0 obj << /Title (Package Dimensions) /Next 164 0 R /Prev 160 0 R /Parent 116 0 R /A 203 0 R >> endobj 164 0 obj << /Title (Device Orientation) /Next 166 0 R /Prev 162 0 R /Parent 116 0 R /A 204 0 R >> endobj 166 0 obj << /Title (Tape Dimensions) /Prev 164 0 R /Parent 116 0 R /A 205 0 R >> endobj 167 0 obj << /S /GoTo /D [ 1 0 R /XYZ 52 614 1.14 ] >> endobj 168 0 obj << /S /GoTo /D [ 1 0 R /XYZ 52 614 1.14 ] >> endobj 169 0 obj << /S /GoTo /D [ 1 0 R /XYZ 52 614 1.14 ] >> endobj 170 0 obj << /S /GoTo /D [ 1 0 R /XYZ 52 614 1.14 ] >> endobj 171 0 obj << /S /GoTo /D [ 1 0 R /XYZ 52 614 1.14 ] >> endobj 172 0 obj << /S /GoTo /D [ 1 0 R /XYZ 52 614 1.14 ] >> endobj 173 0 obj << /S /GoTo /D [ 1 0 R /XYZ 52 614 1.14 ] >> endobj 174 0 obj << /S /GoTo /D [ 13 0 R /XYZ 52 768 1.14 ] >> endobj 175 0 obj << /S /GoTo /D [ 13 0 R /XYZ 52 768 1.14 ] >> endobj 176 0 obj << /S /GoTo /D [ 18 0 R /XYZ 52 754 1.14 ] >> endobj 177 0 obj << /S /GoTo /D [ 25 0 R /XYZ 52 754 1.14 ] >> endobj 178 0 obj << /S /GoTo /D [ 31 0 R /XYZ 63 743 1.4 ] >> endobj 179 0 obj << /S /GoTo /D [ 35 0 R /XYZ 63 750 1.5 ] >> endobj 180 0 obj << /S /GoTo /D [ 35 0 R /XYZ 63 387 1.5 ] >> endobj 181 0 obj << /S /GoTo /D [ 40 0 R /XYZ 48 753 1.14 ] >> endobj 182 0 obj << /S /GoTo /D [ 40 0 R /XYZ 48 515 1.14 ] >> endobj 183 0 obj << /S /GoTo /D [ 40 0 R /XYZ 48 515 1.14 ] >> endobj 184 0 obj << /S /GoTo /D [ 40 0 R /XYZ 48 515 1.14 ] >> endobj 185 0 obj << /S /GoTo /D [ 40 0 R /XYZ 48 515 1.14 ] >> endobj 186 0 obj << /S /GoTo /D [ 40 0 R /XYZ 48 515 1.14 ] >> endobj 187 0 obj << /S /GoTo /D [ 40 0 R /XYZ 48 515 1.14 ] >> endobj 188 0 obj << /S /GoTo /D [ 44 0 R /XYZ 48 516 1.14 ] >> endobj 189 0 obj << /S /GoTo /D [ 48 0 R /XYZ 48 553 1.14 ] >> endobj 190 0 obj << /S /GoTo /D [ 48 0 R /XYZ 48 553 1.14 ] >> endobj 191 0 obj << /S /GoTo /D [ 54 0 R /XYZ 48 754 1.14 ] >> endobj 192 0 obj << /S /GoTo /D [ 54 0 R /XYZ 48 642 1.14 ] >> endobj 193 0 obj << /S /GoTo /D [ 54 0 R /XYZ 48 642 1.14 ] >> endobj 194 0 obj << /S /GoTo /D [ 54 0 R /XYZ 48 754 1.14 ] >> endobj 195 0 obj << /S /GoTo /D [ 54 0 R /XYZ 48 670 1.14 ] >> endobj 196 0 obj << /S /GoTo /D [ 54 0 R /XYZ 48 670 1.14 ] >> endobj 197 0 obj << /S /GoTo /D [ 57 0 R /XYZ 48 516 1.14 ] >> endobj 198 0 obj << /S /GoTo /D [ 57 0 R /XYZ 48 614 1.14 ] >> endobj 199 0 obj << /S /GoTo /D [ 60 0 R /XYZ 48 754 1.14 ] >> endobj 200 0 obj << /S /GoTo /D [ 60 0 R /XYZ 48 754 1.14 ] >> endobj 201 0 obj << /S /GoTo /D [ 60 0 R /XYZ 48 754 1.14 ] >> endobj 202 0 obj << /S /GoTo /D [ 64 0 R /XYZ 48 754 1.14 ] >> endobj 203 0 obj << /S /GoTo /D [ 64 0 R /XYZ 48 628 1.14 ] >> endobj 204 0 obj << /S /GoTo /D [ 67 0 R /XYZ 48 754 1.14 ] >> endobj 205 0 obj << /S /GoTo /D [ 67 0 R /XYZ 48 572 1.14 ] >> endobj xref 0 1 0000000000 65535 f 82 1 0000131883 00000 n 84 1 0000132081 00000 n 86 1 0000132162 00000 n 88 1 0000132272 00000 n 90 1 0000132359 00000 n 92 1 0000132478 00000 n 94 1 0000132576 00000 n 96 1 0000132680 00000 n 98 1 0000132782 00000 n 100 1 0000132894 00000 n 102 1 0000133021 00000 n 104 1 0000133138 00000 n 106 1 0000133256 00000 n 108 1 0000133368 00000 n 110 1 0000133490 00000 n 112 1 0000133592 00000 n 114 1 0000133711 00000 n 118 1 0000133830 00000 n 120 1 0000133920 00000 n 122 1 0000134036 00000 n 124 1 0000134149 00000 n 126 1 0000134250 00000 n 128 1 0000134354 00000 n 130 1 0000134461 00000 n 132 1 0000134575 00000 n 134 1 0000134690 00000 n 136 1 0000134798 00000 n 138 1 0000134933 00000 n 140 1 0000135041 00000 n 142 1 0000135176 00000 n 144 1 0000135299 00000 n 146 1 0000135414 00000 n 148 1 0000135535 00000 n 150 1 0000135651 00000 n 152 1 0000135767 00000 n 154 1 0000135873 00000 n 156 1 0000135992 00000 n 158 1 0000136096 00000 n 160 1 0000136207 00000 n 162 1 0000136321 00000 n 164 1 0000136433 00000 n 166 40 0000136545 00000 n 0000136639 00000 n 0000136705 00000 n 0000136771 00000 n 0000136837 00000 n 0000136903 00000 n 0000136969 00000 n 0000137035 00000 n 0000137101 00000 n 0000137168 00000 n 0000137235 00000 n 0000137302 00000 n 0000137369 00000 n 0000137435 00000 n 0000137501 00000 n 0000137567 00000 n 0000137634 00000 n 0000137701 00000 n 0000137768 00000 n 0000137835 00000 n 0000137902 00000 n 0000137969 00000 n 0000138036 00000 n 0000138103 00000 n 0000138170 00000 n 0000138237 00000 n 0000138304 00000 n 0000138371 00000 n 0000138438 00000 n 0000138505 00000 n 0000138572 00000 n 0000138639 00000 n 0000138706 00000 n 0000138773 00000 n 0000138840 00000 n 0000138907 00000 n 0000138974 00000 n 0000139041 00000 n 0000139108 00000 n 0000139175 00000 n trailer << /Size 206 /Info 82 0 R /Root 81 0 R /Prev 129943 /ID[<8a9329952da4e30bd73861b272559893><3943dfbcd0829c7920d6b4c57c5a96b0>] >> startxref 139242 %%EOF 4 0 obj << /Type /Font /Subtype /Type1 /Name /F5 /FirstChar 32 /LastChar 255 /Widths [ 222 333 333 444 444 778 667 250 278 278 444 500 222 333 222 278 444 444 444 444 444 444 444 444 444 444 222 222 500 500 500 444 795 611 611 556 611 500 444 611 611 278 500 556 444 833 667 611 556 611 556 556 500 611 556 889 556 556 500 278 250 278 500 500 278 500 500 500 500 500 278 500 500 278 278 500 278 722 500 500 500 500 333 444 278 500 444 778 500 444 389 274 250 274 500 222 611 611 556 500 667 611 611 500 500 500 500 500 500 500 500 500 500 500 278 278 278 278 500 500 500 500 500 500 500 500 500 500 444 400 444 444 444 420 550 556 830 830 860 278 278 0 833 611 0 500 0 0 444 500 0 0 0 0 0 300 300 0 778 500 444 333 500 0 444 0 0 444 444 1000 0 611 611 611 833 778 500 1000 444 444 222 222 500 0 444 556 167 444 222 222 500 500 444 222 222 444 1000 611 500 611 500 500 278 278 278 278 611 611 0 611 611 611 611 278 278 278 278 278 278 278 278 445 278 278 ] /Encoding 79 0 R /BaseFont /Univers-CondensedBold /FontDescriptor 73 0 R >> endobj 6 0 obj << /Type /Font /Subtype /Type1 /Name /F9 /FirstChar 32 /LastChar 255 /Widths [ 250 278 333 500 500 667 722 222 389 389 444 600 250 278 250 278 500 500 500 500 500 500 500 500 500 500 250 250 600 600 600 444 800 667 667 667 722 667 611 722 722 333 444 667 556 833 722 722 611 722 667 556 611 722 611 889 667 611 556 333 278 333 600 500 278 500 556 500 556 500 333 500 556 278 278 556 278 833 556 556 556 500 389 444 333 556 500 778 556 500 444 333 222 333 600 250 667 667 667 667 722 722 722 500 500 500 500 500 500 500 500 500 500 500 278 278 278 278 556 556 556 556 556 556 556 556 556 556 500 400 500 500 500 500 600 611 800 800 990 278 278 0 944 722 0 600 0 0 500 556 0 0 0 0 0 300 334 0 778 556 444 278 600 0 500 0 0 500 500 1000 0 667 667 722 1000 889 500 1000 389 389 222 222 600 0 500 611 167 500 278 278 556 556 500 250 222 389 944 667 667 667 667 667 333 333 333 333 722 722 0 722 722 722 722 278 278 278 278 278 278 278 278 278 278 278 ] /Encoding 79 0 R /BaseFont /Century-Book /FontDescriptor 75 0 R >> endobj 51 0 obj << /Type /Font /Subtype /Type1 /Name /F19 /FirstChar 32 /LastChar 255 /Widths [ 278 333 333 556 556 667 778 222 444 444 444 600 278 333 278 278 556 556 556 556 556 556 556 556 556 556 278 278 600 600 600 500 800 667 667 667 722 667 611 722 778 389 500 722 611 833 722 722 611 722 667 556 611 722 611 833 667 611 611 444 278 444 600 500 352 556 500 444 556 444 333 500 556 389 333 500 278 889 611 500 556 500 444 444 333 611 500 778 556 556 500 444 222 444 600 278 667 667 667 667 722 722 722 556 556 556 556 556 556 444 444 444 444 444 389 389 389 389 611 500 500 500 500 500 611 611 611 611 500 400 556 556 500 500 600 611 800 800 990 352 352 0 944 722 0 600 0 0 556 611 0 0 0 0 0 334 300 0 722 500 500 333 600 0 556 0 0 500 500 1000 0 667 667 722 944 778 500 1000 389 389 222 222 600 0 556 611 167 556 333 333 556 556 500 278 222 389 944 667 667 667 667 667 389 389 389 389 722 722 0 722 722 722 722 389 352 352 352 352 352 352 352 352 352 352 ] /Encoding 79 0 R /BaseFont /Century-BookItalic /FontDescriptor 77 0 R >> endobj 67 0 obj << /Type /Page /Parent 53 0 R /Resources 208 0 R /Contents 207 0 R >> endobj 82 0 obj << /CreationDate (D:20000831211435) /Producer (Acrobat Distiller 3.01 for Power Macintosh) /Author () /Creator (PageMaker 6.5) /Title (MSA-2643 D/S) /ModDate (D:20000913113633) >> endobj 206 0 obj << /Type /Page >> endobj 207 0 obj << /Length 18057 /Filter /FlateDecode >> stream HlWˎ$ : (|ݑ+2fǾx ^uxꚑ12J2H-﷋Gؾl)n?m#n|çK]R!洵Qh.M\)'R-tm!ƾ\NMÉ]*$:%L<4݄n'^.<96Bcι;Vˆٱ(؀trc _v c˄ñe'a#b REh+20RFQ&lLpZ=Dx5`a^`u%,ZxB4.N!JJY*(&[tW*Enf2cP,l*|z$s*3A+FaT0Os $iy ib#ƌ96D1y7(RʗHED,4!a{34X |2*'^5M810b xO)D,l#a `l3N"CC}6'&*FHDO@Bmt-1^pfx"Kt7eG0! 7YhM\/@YMQSP {<)8Pc@ E9wktHDlt $pdq(_aQz'-@$GMIH+]$YTZP4N< XqǁD`!¶\6RX @_ ؘT`slz*NhhiX֏4 *{0SٟUA %igZU\3lj]ΉߓĦJ Nglp\@$ IA hG(Ɓ"cKCP˒cQ#"Ì_ +~uI)LnRքVY>/fI&NVSňN52-DDVڼ΄7ԫOPc{["I>a6.D5rrqAng7ڱH`qr 7yA{29Z}ѷK2+Z_Rbїtj,I.߲s*tNRz1αgr;]:k ЄYd 7 nL[Et\>kϨ]'9.4eU$zZ;+ ZYO`=o&AtEX5:`E%$7ɦg?u}|_ #}Y־E߸@43QxLo6K`&lSbI֛tYt95q(l0D_z7ي}jsב*;,E8V[UNk(zNZ!I6uUh;}e݈9|كG]E˨'ijr c8M Kxd:HF6[z 9,2 "UuR91֨ķZ58g֘8Ep\5w)ڀT=oo~dY]t#񳄱<ߎ97ryۧǧ?:%?]xz|翐Ax$? )_.~_uki}ai ':܆{7?>=>Y1!*+6|A[_:5R_E/,PMr5YC*p$xm<8i;3`_~|-cZkJE2K+f8Wu2uz8.k'#{ Gshlw&Sly-;]/FYx唀()|h@!ߺD'~93]jVWęvO/dfG為Μżqvsn2'^KEDT=骉J]ѽ&KZVIM"h1hcM"Y3PꍘW4Q!L$ڵJqLGG~ ^am%`*I.jfam 1Ce$e7GsګdNw0uJ^CdcJ`;qU|xv~t8zW4d4n$m&Ÿ|f4ZmC@+7ig}ΰN U猳rnq<[o#"×y ȇPL=PYT*_d\Ek$pUq;Y'@q\u<^S\f._{=OƧNGuf!a~X.@93^@&e'GG~/poŷ8%LȲB+z/\Smh/vKTTkK[Ty5{ g'cfMM 8^wz\a%?9϶,IF3$7$ 6 ]Rhr@vQ",2]m%}i s E8Mqd~=5,ۭfTRJ50!sF QeTxjB܀PE{L^Qzpb)*d $rQb!5hv=Bȹ,NGU0n] T0_dQe#yxsiG g4@oUXͷê(Ǻ+|^!f([(\7{%PQRglSPv악dc¹~#~[}0 Ym=lbxf}W>pp#~&L:Gr;a(sPl\̑3@ρ#3щFGM1[bɔ&;&a,$ޏhɴcg$zMbـ^}BhxLTC2M@4&&EuٽQ]U>NIylг!Ik]TNa=#Nuw;|oz (i+OKur3zur69"~(WfR@K>x(\0t ϊ.YhRFR?É BoKEdatS5v}ڳñԨ˾*|cuESPwva(]OYAxg #AtCGGbMPjDd+cA!R?]׾D;hZS|vOg\ԉfQ vk(`w& ع(QBG'[Q1m߿RmK<"PBP yP|9.UT1Cl/UCjR}T%ϗ+\>r)W<"+ U {ckWQ̗+\֏+H"m@+CxBCz+c\A\Pn.U :KBR\Y?@>?Ch86yZMTYT$/ pW9pAwca(ڃ]?S /Rö]2 (S&7^)d &r_Lgbɀq;&Eo2cfC aIbds;ɲCj Lvh~l \q~}VM@af}v*Lge}O?^d9%.i8EL۔s9_cFtFC("$+[-] "^vzYH.ّl Q^+gg ݉+qDFy;v2 ]&(YWޙ;CԠ\*L]G98Ɲ0T)=Cmi:MQN( [E'nCbIGp3>djO(C5zqucCڅ.Np ߖ-Y.ޟq.k=˨AYƛZ.Imj[殿܍^9Ƃ1EOFT{WmR leMa!$\e¶])v/=Y)PͦW&IErla2V0p6 F;֡6FVPNڻq Z9!d]Boh;-(КYkԝ Aub?G ]sId5T,Y; l8NgWfo&+ؓBvMݱˁ=0`L2-8k-G܈^J._'Rsz 9I̓BKB"e$R"=I9O3PEI% DsR# (YLNv (H؆p(EsPaǻYyB5hCQwKBb6 {X),Ph3bƅƢ9XfJ7Wˎ$ >nus0w[u6As|hT)Q$X1; XN=&9"L{j!}sx=vөu%vN}8ć3ț4Gd0BaGx̓DLY 4pIJ\$TK0:׀j g$ϸ+?zU +SavIUalwWd$DlmwdYaO~o ĝ>\H9XTV,T2[/00;0Zp/P')f+{:\88]je*XV rZX@Y6+L0 '/YFg`wrs\L.ykZuɴ5L-}jiiaeiP+~зY;* Z6 ڜXbv<$a.Qtee=aiH}(! Pğ8$b`/dp)|$>; ]ۻ,Yz$[P=b,q=BOHҳx_T|ǰ=&Щ@c8}׿m'^|KPRfoYہV}a*ldg[T;8؆)mcrm~1cS`%^/vڶ##mGXUr%SeI"kckÆK&zL]0H OmmmDMPj |漂 fDһL.>to7Έ@Jq[*QT쁸Q[f%n{Y.qz7 ٟbjxհpWn޾ @M|rBTeupA,'JXAӵ$+`^WqS5Ո6Ժ\_*QTZx@|hwM܏YpO7ܤ6{&m\E%3`.0Ԍ2`Qиֆ(jTZds]QH$0NR̘ Ƹ1MJU;G /!{<\]"s0%26r[;bLd LΞ$IO/ޯվ'/*s, .`t@?.]{@MB "a0q}F->6_~@ _BYNhci#FvHyUZjGנˠ(]HBaGfڑ}ܢx% 7aj`•"۸N%;U; !Y"C9r`36XdL\.7Ǡrxk]5A, 3= y4yCRj3Wn%qȑ5ޕHז/^bwDvUuL%aVX@LvVf=2#".2A=kk.{zұvzWD<F0fơ-=}06ܾ\Vx@7mDzˈ-XTS@A`nL3Ǜ8VYl:Ƽj? dveLmDH[ЉǝITa.[d14bP:/’[$1V-YIL7Uɛ>,;l=O @ڄݠnY0St2YV$VPi[DJ3Yd$_IM c6Oޏ`#\U-BF10Ѱв 9IOiSrlVxuA7VѾ1yUcssUEz{ `GbHm4 | "%&<#q!a}|A|e:EN|cNf`YZ^#8-j[:%#-*VEO:*F P(Y1-r?"q)w j9F./NoOhb4lA8\rHCN'VBԉ)!Չ钼NgO?xPjCGaؚ:-3KsE,5Lf,Lű t88 zQlK-Ⱥr\L8jN|UB"H}DH9m6W(}nҐ>ë{n @A JO/_?^XCV7*W}`V`uj e39.Sy3*]#aDn]ZĐ<`&"5 y_gA>»eXF)&OTM ,,bY,[eϫy~JJt-*)W0ʃ D6[ws:<eEJ2gfxwehx8OA_![-tR[At$g8S_.)qdC=&ʶ8AtYeے7L ~Ѿ9\_nW䴂dۋV'IwU}BR_#j:)KgWXxZ&iw),O $,W͜H)Jါr\ )K /AbV&,ʘ9懋N<7D-+PB;X@ &+¤ Ů&60|҄IE1sINԌ[O (cuI2L84̯1`lsrG6=-YtJTu$@s$I*ᢙzIXu'Z^azkcx9kcy43L4. <<9n8dXNF9 ɀ~ C8a qv\qD@88B60Qtv";1Zm!OIYhuUfHatMBhD]:( ̩, /`J@dI'}j_sڷ]@@ >e76۬;u'+^\?<vE;*lJn$'mhTUf%uLU4?x%=TN˸ð8~J@悃;{FG:\5k]} άrZb{^lI.niٮJr"Z]zKK6`0pmm7=d_LC8?p$޼c(t-lF}yJ_?<>=<_4 eaM%r\["Ӈϔ_7?|xy D;^T;pfRݿo_m{{َϟFx3˯N~wn/O|,3wS$>ڇ}׮G7w Ґ-x{$yYu{>{(C;W=%t#7!:B@bE|D|cqbpM "qA0jw"Lwxsd:=Q&ĨsS`]anXadOUC[Xև #K|E ˋR2U@%kbDHgZ-&N>&zYGHU+V>T<G(1R)<4!QcO(Gy}mձP?٠k;'7ehGvcje 0J={B7Qv +z;ze]8;K~x4l%5. *O550i-G4\7C/?:ºO,Jժ~%hwyƕ[3 vrEpXo6Th^VzjBzlٮ';6"gF}ֲuxpp\Wfn1&cph{vx&ytt7,eNb[氄^2xn&L@T01>R&<8!3<sgVcJ0b ڈ [qIs>1"ͩA1y2k2A?J7H t! _aKB\i/nc#% ´! \W"/2g~"`5^!Wf>ѥ^JE*_ |YʰVU:I_+zw_ʈC}㚀G mvbl]F=15*S &]Ƃ pW"D:s%;d=;a5<0=/陋HP'c}b*1'AXuY;M*#x\C&kC.;,fn'7BZ4L'7ڱfattO 'Fb4QyhD+iDt;V)*мurs!v$NP󠧰h#$YYD,o;`\RN'0Y(.D~ݻkztMb>l OJ܉NgTmRhY!!qIAדN:wQ7bw{ʏd!%CG4Q?n4+ZxUo>z: TپGItC 4*\tNqBrB pf؏镝AԃX3WFfri>Jθ+"" yBOIQj8o煈y~f4ObH'-e vDc h̝@\.zĸGwGNڡ;^ -A(A35c).$>qƆiVBkR':Q$O2Ȳ[ XGzB5L|ׂ#ꕗ L!uYw>Ϣ41(>'N CΟ e 1dNj EBe%#1YQĠ[bEjݵ$z Xϋ9b9L*1ʢYYzSiYpIYvZ|dQ?U!Q lJE9!H i urS@υX~Rp*mF[ۗld6s)~Y-ThX2>Mh³={$/gst䦯eB=xdg]%G0LoҞk2qfNpݷ|)>+=-#w$ꂆpIGLϰ]=} ŧYMG w>h qf-|惥Zfk $bVC$oVy yG:$obsEu9w;vq7unv 'w/'{woxnn o~b[2.N7l=c Izy; ~\FԻ`NΎ}fՔgMzF4|E]DvuIǂqxfir۱;R 7 >r{)o P+/ [\%K.穑&#\ IgfHP.+q3r!;k:E[DGJT@"uשNKZhuN;{Y^0)>%5SE-jזYwpt':!7:zfgC|;fwg{ms/f텃Q?;c/}/!oiMk b4ZNv@O#! /]+Dӟ.kFy[tmN眀FI{kga? ?ZT`7쾻KD2" n5g:'$sdmϥ0Wi}L@Z6{]aȵ P50ҿZi׽)NC?YvVX5ׇ0n}s[+p6ŵn3z^Ljtp] GOi؎k+8̼5LW5MAfX ڙI#^1~iOEӵ(%D|տrɣTYnG%#b=c}#t( M!1ނzDA6F vDp!*!*:i!"p"k \Z99\PI9lv.: VsCk?(NAM[FXW𚡠=‰T0 FhISK޴Z%$C{,d0C29Miyj8 ('֝w]"@wi%_mݞ ) i0di8ܚt%?¡5UFcY}-Xy'đK|~ˉcR/]_hm7PXAC$Q"úB~n}=UWs>߷M¡B o\Bp7Zd+w öB݌u̕_f{2muh ҡBu XGxrB; U0^iz ߶j쥰aJ#KA~p*lVMIT74vmzL maݵ-wR4[OA! = DN1j/] ?k]kEhL!Pߦ큽׽Α44 Tᦽ: _TI~=%s^f.9Zb0U7r!X[6'Əu˽PNhS@ߡ+q篼1X1F!=Q~_,KP"fz["uqe39Q*' ,e &,  40 Xkd| w!L:߷`2G MEYruK3`p( 0`XTn vo{ah8a0kNֿ K0 E?zzĦگu;8Ʋ<dp%^L Y"ОGhxZKmiݴ=WN=x;8C;&m{.ˀ++mYu3\97;7mn|c^7Ǭ>f*vԵi{\wغdp^\)X+j% A 57>R]L4^(۽AgKl1o 4%كiv,Gd-~k[ٔ4o'\obC'3.HwŴc-X&*qE:a+֯Yɰ3gr1疓/ZL4%hA$dHN[ov3@]h#EkɄZ{>픠NM[Qt@AնUْi]"ts6ʅg{tU5ynrJOc`+څ=y=4M1NrYnmGG0G jvʥK I4$$GT=ӋG=o`Q.`=! Qy>,4dN 5G7ɋQ-!tŭܻܐ-bw4 5. j}! km.B5LٷW-Z]ZLSLg|9B䞑3L0SK">!b9hŮr5鋺ӻE:vXܺ?? S endstream endobj 208 0 obj << /ProcSet [ /PDF /Text ] /Font << /F5 4 0 R /F9 6 0 R /F12 21 0 R /F17 47 0 R /F19 51 0 R >> /ExtGState << /GS2 213 0 R /GS3 211 0 R >> /ColorSpace << /CS3 209 0 R >> >> endobj 209 0 obj [ /Separation /30#2000#20#20#20Black /DeviceCMYK 210 0 R ] endobj 210 0 obj << /FunctionType 0 /Domain [ 0 1 ] /Range [ 0 1 0 1 0 1 0 1 ] /BitsPerSample 8 /Size [ 256 ] /Length 397 /Filter /FlateDecode >> stream H, ٶm۶϶m۶l۶m3k5i4 bP4 cXF4bT4c\&4MbR4McZә f4bV4c^-bQY-cYY VbUYkY:ֵm`C&6maK[6`G;.vaO{>@9!uHG91uD'9)NuӝLg99u]B%.u\JW5uF7Vt^=Qy=Yy ^Uy]y>}S}[~Wo endstream endobj 211 0 obj << /Type /ExtGState /SA true /OP false /HT 212 0 R >> endobj 212 0 obj << /Type /Halftone /HalftoneType 1 /Frequency 133 /Angle 45 /SpotFunction /Round >> endobj 213 0 obj << /Type /ExtGState /SA false /OP true /HT 212 0 R >> endobj xref 0 1 0000000069 65535 f 4 1 0000141341 00000 n 6 1 0000142404 00000 n 51 1 0000143458 00000 n 67 3 0000144519 00000 n 0000000000 00001 f 0000000068 00001 f 82 1 0000144611 00000 n 206 8 0000144809 00000 n 0000144848 00000 n 0000162982 00000 n 0000163177 00000 n 0000163255 00000 n 0000163818 00000 n 0000163895 00000 n 0000164003 00000 n trailer << /Size 214 /Info 82 0 R /Root 81 0 R /Prev 139242 /ID[<8a9329952da4e30bd73861b272559893>] >> startxref 164080 %%EOF geda-gaf-1.8.2/examples/RF_Amp/README0000664000175000017500000000764712050461155013717 00000000000000This README created 3.31.2003 --------------------- Contents of directories ----------------------- This directory holds the schematics and associated materials for a SPICE model of Agilent's MSA-2643 bipolar amp. The model was obtained from Agilent's datasheet 5980-2396E. The directory structure is as follows: RF_Amp (base directory) MSA-2643.sch -- schematic of stuff inside device package (as shown in p. 7 of datasheet. Note that I have not included the transmission lines in this schematic because no value of Z was included in the data sheet. (Yes, it's probably 50 ohms, but including them was a sideshow compared to my main intent: build a hierarchical model of an RF circuit.) MSA-2643.cir -- netlisted circuit ready for SPICE simulation. Q1.sch -- schematic model of Q1 MSA-26 transistor shown on p. 8 of datasheet. Q1.cir -- netlisted circuit holding .SUBCKT model of Q1. Q2.sch -- schematic model of Q2 MSA-26 transistor shown on p. 8 of datasheet. Q2.cir -- netlisted circuit holding .SUBCKT model of Q2. README -- this file. Simulation.cmd -- a file holding SPICE analysis commands which is read at simulation time by the SPICE simulator. 5980-2396E.pdf -- Agilent datasheet about the MSA-2643. ./model/ BJTM1_Q1.mod -- text-based SPICE model of BJT1 used in Q1 .SUBCKT DiodeM1_Q1.mod -- text-based SPICE model of diode M1 used in Q1 .SUBCKT DiodeM2_Q1.mod -- SPICE model of diode M2 used in Q1 .SUBCKT DiodeM3_Q1.mod -- SPICE model of diode M3 used in Q1 .SUBCKT (similar files for Q2 models. . . .) These models were obtained from parameters give in p. 8 of the datasheet. ./sym/ BJT_Model.sym spice-subcircuit-IO-1.sym spice-subcircuit-LL-1.sym Q_Model.sym -- symbol pointing to lower level models placed on upper level schematic. ------------ Usage of hierarchical spice models --------------------- This project exemplifies construction of a hierarchical SPICE simulation using gEDA. The project is built in the following way: 1. Use a text editor to create .mod files containing SPICE models of the transistors and diodes on p. 8 of the datasheet. 2. Create Q1 and Q2 transistor model schematics using gschem. Place the .SUBCKT SPICE block on the schematic to alert the netlister that the schematic is a lower level .SUBCKT for incorporation into other schematics. Place spice-IO pads on the schematic to instantiate the IOs. Make sure to number the spice-IO pads in the same order as you wish them to appear in the .SUBCKT line in the .cir. 3. Generate the .SUBCKT netlist by saying: gnetlist -g spice-sdb -o Q1.cir Q1.sch gnetlist -g spice-sdb -o Q2.cir Q2.sch 4. Create a symbol for Q1.cir and Q2.cir which will be dropped onto the higher lever schematic. Name the symbol Q_Model.sym. Set the symbol "DEVICE" attribute = NPN_TRANSISTOR_subcircuit. This causes the netlister to use "write-default-component" to write out the SPICE line for the component. Make sure that the "REFDES" attribute is X? and not Q? -- this enables the .SUBCKT file to be attached to the device. 5. Create the higher layer schematic MSA-2643.sch. Place two copies of Q_Model.sym onto the schematic, corresponding to Q1 and Q2. Make Q1 point to its model by setting the following attributes: model-name: Q1_MSA26F file: Q1.cir Do the same for Q2. 6. Create the rest of the higher layer schematic the usual way. Make sure to place a spice-include block on the schematic and point it to "Simulation.cmd". Place any analysis commands (e.g. .DC, .AC, .TRAN, etc.) into the file "Simulation.cmd". 7. Netlist the higher layer design: gnetlist -g spice-sdb -o MSA-2643.cir MSA-2643.sch 8. The circuit may be simulated by any desired SPICE simulation and analysis package, e.g. LTSpice. -------------------- Contact ---------------------------- Documentation and other materials relevant to SPICE simulation under gEDA lives at http://www.brorson.com/gEDA/SPICE For inquiries or bug reports, please contact me: Stuart Brorson mailto:sdb@cloud9.net geda-gaf-1.8.2/examples/RF_Amp/Q2.sch0000664000175000017500000000613512050461155014007 00000000000000v 20070216 1 C 65400 52000 1 0 0 BJT_Model.sym { T 66300 52500 5 10 1 1 0 0 1 refdes=Q2 T 65400 52000 5 10 0 1 0 0 1 model-name=BJTM1_Q2 T 66200 52000 5 10 1 1 0 0 1 file=model/BJTM1_Q2.mod T 66300 52700 5 10 0 0 0 0 1 device=NPN_TRANSISTOR } C 63400 53800 1 0 0 diode-1.sym { T 63700 54300 5 10 1 1 0 0 1 refdes=D1 T 63400 53800 5 10 0 1 0 0 1 model-name=DIODEM1_Q2 T 62500 53600 5 10 1 1 0 0 1 file=model/DiodeM1_Q2.mod T 63800 54400 5 10 0 0 0 0 1 device=DIODE } C 64300 52000 1 270 0 diode-1.sym { T 64700 51800 5 10 1 1 0 0 1 refdes=D2 T 64300 52000 5 10 0 1 0 0 1 model-name=DIODEM2_Q2 T 63600 51000 5 10 1 1 0 0 1 file=model/DiodeM2_Q2.mod T 64700 52600 5 10 0 0 0 0 1 device=DIODE } C 63400 55100 1 0 0 capacitor-1.sym { T 63600 55600 5 10 1 1 0 0 1 refdes=Ccox T 63400 54900 5 10 1 1 0 0 1 value=6.598e-14F T 63600 55800 5 10 0 0 0 0 1 device=CAPACITOR T 63600 56000 5 10 0 0 0 0 1 symversion=0.1 } C 63200 50600 1 90 0 capacitor-1.sym { T 62800 51400 5 10 1 1 180 0 1 refdes=Ceox T 61900 50600 5 10 1 1 0 0 1 value=2.417e-14F T 63400 51300 5 10 0 0 0 0 1 device=CAPACITOR T 63400 51500 5 10 0 0 0 0 1 symversion=0.1 } C 61700 52400 1 0 0 resistor-1.sym { T 61600 52700 5 10 1 1 0 0 1 refdes=Rbx T 62200 52700 5 10 1 1 0 0 1 value=0.463 T 61500 52200 5 10 1 1 0 0 1 model=TC1=0.14e-2 T 62000 52800 5 10 0 0 0 0 1 device=RESISTOR } C 66100 55900 1 90 0 resistor-1.sym { T 66500 56700 5 10 1 1 180 0 1 refdes=Rcx T 66300 56200 5 10 1 1 0 0 1 value=1.716 T 66200 55900 5 10 1 1 0 0 1 model=TC1=0.113e-2 T 66400 56300 5 10 0 0 0 0 1 device=RESISTOR } C 66100 49800 1 90 0 resistor-1.sym { T 66400 50600 5 10 1 1 180 0 1 refdes=Re T 66100 49800 5 10 1 1 0 0 1 value=0.443 T 66400 50200 5 10 0 0 0 0 1 device=RESISTOR } N 64500 52500 64500 52000 4 N 63000 52500 63000 51500 4 N 66000 52000 66000 50700 4 N 64500 51100 64500 50900 4 N 64500 50900 66000 50900 4 N 63000 50600 63000 49500 4 N 63000 49500 66000 49500 4 N 66000 49000 66000 49800 4 N 62600 52500 65400 52500 4 N 60300 52500 61700 52500 4 N 61300 54000 63400 54000 4 N 66000 55900 66000 53000 4 N 64300 54000 66000 54000 4 N 64300 55300 66000 55300 4 N 63400 55300 61300 55300 4 N 61300 52500 61300 55300 4 N 66000 56800 66000 57400 4 C 66300 57200 1 90 0 spice-subcircuit-IO-1.sym { T 66050 58050 5 10 1 1 90 0 1 refdes=P3 T 67200 57600 5 10 0 1 0 0 1 device=spice-IO } C 60500 52800 1 180 0 spice-subcircuit-IO-1.sym { T 59650 52550 5 10 1 1 180 0 1 refdes=P2 T 61400 53200 5 10 0 1 0 0 1 device=spice-IO } C 65700 49200 1 270 0 spice-subcircuit-IO-1.sym { T 65950 48350 5 10 1 1 270 0 1 refdes=P1 T 66600 49600 5 10 0 1 0 0 1 device=spice-IO } C 68100 55300 1 0 0 spice-subcircuit-LL-1.sym { T 68200 55700 5 10 1 1 0 0 1 refdes=A1 T 68200 55400 5 10 1 1 0 0 1 model-name=Q2_MSA26F T 68200 55600 5 10 0 1 0 0 1 device=spice-subcircuit-LL } C 58500 47800 0 0 0 title-B.sym T 68700 48700 9 20 1 0 0 0 1 Spice .SUBCKT for Q2_MSA26F T 72500 48100 9 10 1 0 0 0 1 SDB -- 3.31.2003 T 67900 50800 9 10 1 0 0 0 1 This is part of the model for the MSA-2643 T 67900 50500 9 10 1 0 0 0 1 -- a silicon bipolar amp from Agilent. T 67900 50200 9 10 1 0 0 0 1 The model is detailed in Agilent's app note 5980-2396E geda-gaf-1.8.2/examples/RF_Amp/gafrc0000664000175000017500000000012412050461155014023 00000000000000(component-library "./sym") (component-library-search "./sym") (source-library ".") geda-gaf-1.8.2/examples/RF_Amp/Q2.cir0000664000175000017500000000336012050461155014004 00000000000000******************************* * Begin .SUBCKT model * * spice-sdb ver 2.10.2007 * ******************************* .SUBCKT Q2_MSA26F 5 4 6 *vvvvvvvv Included SPICE model from model/DiodeM1_Q2.mod vvvvvvvv * This is a diode model used in the Agilent MSA-26 model * documented in 5980-2496E.pdf. * Model entered 3.30.2003 by SDB .model DIODEM1_Q2 D(IS=5.62e-17 N=1 CJO=9.676e-14 + VJ=0.729 M=0.44 FC=0.8 TNOM=21) *^^^^^^^^ End of included SPICE model from model/DiodeM1_Q2.mod ^^^^^^^^ * *vvvvvvvv Included SPICE model from model/DiodeM2_Q2.mod vvvvvvvv * This is a diode model used in the Agilent MSA-26 model * documented in 5980-2496E.pdf. * Model entered 3.30.2003 by SDB .model DIODEM2_Q2 D(IS=1e-24 N=1.0029 CJO=9.023e-14 + VJ=0.8971 M=2.292e-1 FC=0.8 TNOM=21) *^^^^^^^^ End of included SPICE model from model/DiodeM2_Q2.mod ^^^^^^^^ * *vvvvvvvv Included SPICE model from model/BJTM1_Q2.mod vvvvvvvv * This is the BJT model used in the Agilent MSA-26 model * documented in 5980-2496E.pdf. * Model entered 3.30.2003 by SDB .model BJTM1_Q2 NPN(Bf=1e6 IKF=5.895e-1 ISE=2.838e-19 NE=1.006 + VAF=44 NF=1 TF=5.37e-12 XTF=20 VTF=0.8 ITF=8.872e-1 PTF=22 + XTB=0.7 BR=1 IKR=4.4e-2 NC=2 VAR=3.37 NR=1.005 TR=4e-9 + EG=1.17 IS=1.79e-17 XTI=3 TNOM=21 CJC=3.717e-14 + VJC=0.6775 MJC=0.3319 XCJC=4.398e-1 FC=0.8 CJE=3.217e-13 + VJE=0.9907 MJE=0.5063 RB=2.325 IRB=3.272e-4 RBM=2.5e-2 KF=1.026e-24) *^^^^^^^^ End of included SPICE model from model/BJTM1_Q2.mod ^^^^^^^^ * *============== Begin SPICE netlist of main design ============ Rbx 4 3 0.463 Q2 1 3 2 BJTM1_Q2 Rcx 1 6 1.716 Ceox 5 3 2.417e-14F Re 5 2 0.443 D2 3 2 DIODEM2_Q2 D1 4 1 DIODEM1_Q2 Ccox 4 1 6.598e-14F .ends Q2_MSA26F ******************************* geda-gaf-1.8.2/examples/RF_Amp/Makefile.in0000664000175000017500000006114512220655721015100 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = examples/RF_Amp DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am README ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(exampledir)" DATA = $(example_DATA) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = model sym exampledir = $(docdir)/examples/RF_Amp/ example_DATA = 5980-2396E.pdf MSA-2643.cir MSA-2643.sch \ Q1.cir Q1.sch Q2.cir Q2.sch README Simulation.cmd gafrc EXTRA_DIST = $(example_DATA) MOSTLYCLEANFILES = gschem.log *~ CLEANFILES = gschem.log *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = gschem.log *~ Makefile.in all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/RF_Amp/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu examples/RF_Amp/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-exampleDATA: $(example_DATA) @$(NORMAL_INSTALL) @list='$(example_DATA)'; test -n "$(exampledir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(exampledir)'"; \ $(MKDIR_P) "$(DESTDIR)$(exampledir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(exampledir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(exampledir)" || exit $$?; \ done uninstall-exampleDATA: @$(NORMAL_UNINSTALL) @list='$(example_DATA)'; test -n "$(exampledir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(exampledir)'; $(am__uninstall_files_from_dir) # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile $(DATA) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(exampledir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-exampleDATA install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-exampleDATA .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic clean-libtool cscopelist-am ctags \ ctags-am distclean distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exampleDATA install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am uninstall-exampleDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/examples/RF_Amp/Q1.sch0000664000175000017500000000613412050461155014005 00000000000000v 20070216 1 C 65400 52000 1 0 0 BJT_Model.sym { T 66300 52500 5 10 1 1 0 0 1 refdes=Q1 T 65400 52000 5 10 0 1 0 0 1 model-name=BJTM1_Q1 T 66200 52000 5 10 1 1 0 0 1 file=model/BJTM1_Q1.mod T 66300 52700 5 10 0 0 0 0 1 device=NPN_TRANSISTOR } C 63400 53800 1 0 0 diode-1.sym { T 63700 54300 5 10 1 1 0 0 1 refdes=D1 T 63400 53800 5 10 0 1 0 0 1 model-name=DIODEM1_Q1 T 62500 53600 5 10 1 1 0 0 1 file=model/DiodeM1_Q1.mod T 63800 54400 5 10 0 0 0 0 1 device=DIODE } C 64300 52000 1 270 0 diode-1.sym { T 64700 51800 5 10 1 1 0 0 1 refdes=D2 T 64300 52000 5 10 0 1 0 0 1 model-name=DIODEM2_Q1 T 63600 51000 5 10 1 1 0 0 1 file=model/DiodeM2_Q1.mod T 64700 52600 5 10 0 0 0 0 1 device=DIODE } C 63400 55100 1 0 0 capacitor-1.sym { T 63600 55600 5 10 1 1 0 0 1 refdes=Ccox T 63400 54900 5 10 1 1 0 0 1 value=1.851e-14F T 63600 55800 5 10 0 0 0 0 1 device=CAPACITOR T 63600 56000 5 10 0 0 0 0 1 symversion=0.1 } C 63200 50600 1 90 0 capacitor-1.sym { T 62800 51400 5 10 1 1 180 0 1 refdes=Ceox T 61900 50600 5 10 1 1 0 0 1 value=6.01e-15F T 63400 51300 5 10 0 0 0 0 1 device=CAPACITOR T 63400 51500 5 10 0 0 0 0 1 symversion=0.1 } C 61700 52400 1 0 0 resistor-1.sym { T 61600 52700 5 10 1 1 0 0 1 refdes=Rbx T 62200 52700 5 10 1 1 0 0 1 value=3.723 T 61500 52200 5 10 1 1 0 0 1 model=TC1=0.14e-2 T 62000 52800 5 10 0 0 0 0 1 device=RESISTOR } C 66100 55900 1 90 0 resistor-1.sym { T 66500 56700 5 10 1 1 180 0 1 refdes=Rcx T 66300 56200 5 10 1 1 0 0 1 value=6.386 T 66200 55900 5 10 1 1 0 0 1 model=TC1=0.113e-2 T 66400 56300 5 10 0 0 0 0 1 device=RESISTOR } C 66100 49800 1 90 0 resistor-1.sym { T 66400 50600 5 10 1 1 180 0 1 refdes=Re T 66100 49800 5 10 1 1 0 0 1 value=2.158 T 66400 50200 5 10 0 0 0 0 1 device=RESISTOR } N 64500 52500 64500 52000 4 N 63000 52500 63000 51500 4 N 66000 52000 66000 50700 4 N 64500 51100 64500 50900 4 N 64500 50900 66000 50900 4 N 63000 50600 63000 49500 4 N 63000 49500 66000 49500 4 N 66000 49000 66000 49800 4 N 62600 52500 65400 52500 4 N 60300 52500 61700 52500 4 N 61300 54000 63400 54000 4 N 66000 55900 66000 53000 4 N 64300 54000 66000 54000 4 N 64300 55300 66000 55300 4 N 63400 55300 61300 55300 4 N 61300 52500 61300 55300 4 N 66000 56800 66000 57400 4 C 66300 57200 1 90 0 spice-subcircuit-IO-1.sym { T 66050 58050 5 10 1 1 90 0 1 refdes=P3 T 67200 57600 5 10 0 1 0 0 1 device=spice-IO } C 60500 52800 1 180 0 spice-subcircuit-IO-1.sym { T 59650 52550 5 10 1 1 180 0 1 refdes=P2 T 61400 53200 5 10 0 1 0 0 1 device=spice-IO } C 65700 49200 1 270 0 spice-subcircuit-IO-1.sym { T 65950 48350 5 10 1 1 270 0 1 refdes=P1 T 66600 49600 5 10 0 1 0 0 1 device=spice-IO } C 68100 55300 1 0 0 spice-subcircuit-LL-1.sym { T 68200 55700 5 10 1 1 0 0 1 refdes=A1 T 68200 55400 5 10 1 1 0 0 1 model-name=Q1_MSA26F T 68200 55600 5 10 0 1 0 0 1 device=spice-subcircuit-LL } C 58500 47800 0 0 0 title-B.sym T 68700 48700 9 20 1 0 0 0 1 Spice .SUBCKT for Q1_MSA26F T 72500 48100 9 10 1 0 0 0 1 SDB -- 3.31.2003 T 67900 50800 9 10 1 0 0 0 1 This is part of the model for the MSA-2643 T 67900 50500 9 10 1 0 0 0 1 -- a silicon bipolar amp from Agilent. T 67900 50200 9 10 1 0 0 0 1 The model is detailed in Agilent's app note 5980-2396E geda-gaf-1.8.2/examples/RF_Amp/Simulation.cmd0000664000175000017500000000010612050461155015627 00000000000000* .OP .AC DEC 20 1MegHz 100GHz * .DC I1 0 5mA .001mA * .TRAN 0ns 20ns geda-gaf-1.8.2/examples/RF_Amp/MSA-2643.sch0000664000175000017500000001367012050461155014543 00000000000000v 20070216 1 C 32300 54900 1 90 0 resistor-1.sym { T 32600 55700 5 10 1 1 180 0 1 refdes=R1 T 32300 54900 5 10 1 1 0 0 1 value=560 T 32600 55300 5 10 0 0 0 0 1 device=RESISTOR } C 32300 52600 1 90 0 resistor-1.sym { T 32600 53300 5 10 1 1 180 0 1 refdes=R2 T 32300 52600 5 10 1 1 0 0 1 value=660 T 32600 53000 5 10 0 0 0 0 1 device=RESISTOR } C 33900 52200 1 90 0 resistor-1.sym { T 34200 52900 5 10 1 1 180 0 1 refdes=R3 T 33900 52200 5 10 1 1 0 0 1 value=250 T 34200 52600 5 10 0 0 0 0 1 device=RESISTOR } C 36800 51600 1 90 0 resistor-1.sym { T 36500 52300 5 10 1 1 180 0 1 refdes=R4 T 36300 51800 5 10 1 1 0 0 1 value=5 T 37100 52000 5 10 0 0 0 0 1 device=RESISTOR } C 33000 53700 1 0 0 Q_Model.sym { T 34100 54500 5 10 1 1 0 0 1 refdes=X1 T 34500 54400 5 10 1 1 0 0 1 model-name=Q1_MSA26F T 34500 54200 5 10 1 1 0 0 1 file=Q1.cir T 33900 54400 5 10 0 0 0 0 1 device=NPN_TRANSISTOR_subcircuit } C 35900 52900 1 0 0 Q_Model.sym { T 37000 53700 5 10 1 1 0 0 1 refdes=X2 T 37400 53600 5 10 1 1 0 0 1 model-name=Q2_MSA26F T 37400 53400 5 10 1 1 0 0 1 file=Q2.cir T 36800 53600 5 10 0 0 0 0 1 device=NPN_TRANSISTOR_subcircuit } N 32200 54900 32200 53500 4 N 33100 54400 32200 54400 4 N 33800 53800 33800 53100 4 N 36000 53600 33800 53600 4 N 36700 52500 36700 53000 4 N 32200 55800 32200 56400 4 N 36700 54200 36700 56400 4 N 33800 55000 33800 56400 4 N 36700 51600 36700 51400 4 N 32200 51400 32200 52600 4 N 33800 52200 33800 51400 4 C 39900 50800 1 0 0 gnd-1.sym C 37700 51600 1 90 0 capacitor-1.sym { T 37900 52500 5 10 1 1 180 0 1 refdes=C1 T 37800 51900 5 10 1 1 0 0 1 value=4pF T 37900 52300 5 10 0 0 0 0 1 device=CAPACITOR T 37900 52500 5 10 0 0 0 0 1 symversion=0.1 } N 37500 52500 37500 52700 4 N 37500 52700 36700 52700 4 N 37500 51600 37500 51400 4 C 40500 51300 1 0 0 vdc-1.sym { T 41200 51950 5 10 1 1 0 0 1 refdes=Vpwr T 41200 51750 5 10 1 1 0 0 1 value=DC 5V T 41200 52150 5 10 0 0 0 0 1 device=VOLTAGE_SOURCE T 41200 52350 5 10 0 0 0 0 1 footprint=none } C 27200 52300 1 0 0 vac-1.sym { T 27900 52950 5 10 1 1 0 0 1 refdes=Vin T 27900 52750 5 10 1 1 0 0 1 value=dc 0 ac 1 T 27900 53150 5 10 0 0 0 0 1 device=vac T 27900 53350 5 10 0 0 0 0 1 footprint=none } C 27700 54000 1 0 0 resistor-1.sym { T 27900 54300 5 10 1 1 0 0 1 refdes=Rth_in T 28000 53800 5 10 1 1 0 0 1 value=50 T 28000 54400 5 10 0 0 0 0 1 device=RESISTOR } C 42300 53900 1 90 0 resistor-1.sym { T 42600 54700 5 10 1 1 180 0 1 refdes=RL T 42300 53900 5 10 1 1 0 0 1 value=50 T 42600 54300 5 10 0 0 0 0 1 device=RESISTOR } N 27700 54100 27500 54100 4 N 27500 54100 27500 53500 4 { T 26800 54100 5 10 1 1 0 0 1 netname=Vsource } C 27400 51700 1 0 0 gnd-1.sym N 27500 52000 27500 52300 4 C 40700 50500 1 0 0 gnd-1.sym N 40800 51300 40800 50800 4 C 40900 54600 1 90 0 inductor-1.sym { T 41100 55300 5 10 1 1 180 0 1 refdes=Lc T 40900 54600 5 10 1 1 0 0 1 value=22nH T 41100 55100 5 10 0 0 0 0 1 device=INDUCTOR T 41100 55300 5 10 0 0 0 0 1 symversion=0.1 } C 42100 53300 1 0 0 gnd-1.sym N 42200 53600 42200 53900 4 C 40900 53000 1 90 0 resistor-1.sym { T 41200 53800 5 10 1 1 180 0 1 refdes=Rc T 40900 53000 5 10 1 1 0 0 1 value=50 T 41200 53400 5 10 0 0 0 0 1 device=RESISTOR } C 41100 56200 1 0 0 capacitor-1.sym { T 41300 56700 5 10 1 1 0 0 1 refdes=Cout T 41300 56000 5 10 1 1 0 0 1 value=47pF T 41300 56900 5 10 0 0 0 0 1 device=CAPACITOR T 41300 57100 5 10 0 0 0 0 1 symversion=0.1 } C 29000 53900 1 0 0 capacitor-1.sym { T 29200 54400 5 10 1 1 0 0 1 refdes=Cin T 29100 53700 5 10 1 1 0 0 1 value=47pF T 29200 54600 5 10 0 0 0 0 1 device=CAPACITOR T 29200 54800 5 10 0 0 0 0 1 symversion=0.1 } N 28600 54100 29000 54100 4 { T 28600 53800 5 10 1 1 0 0 1 netname=Vin } N 42000 56400 42500 56400 4 { T 42700 56400 5 10 1 1 0 0 1 netname=Vout } N 42200 54800 42200 56400 4 N 32200 56400 37600 56400 4 N 40800 55500 40800 56400 4 N 40800 54600 40800 53900 4 N 40800 53000 40800 52500 4 C 26500 48200 0 0 0 title-B.sym C 27400 57600 1 0 0 spice-include-1.sym { T 27500 58000 5 10 1 1 0 0 1 refdes=A1 T 27900 57700 5 10 1 1 0 0 1 file=./Simulation.cmd T 27500 57900 5 10 0 1 0 0 1 device=include } L 30000 57200 30000 50500 3 0 0 0 -1 -1 L 39500 57200 39500 50500 3 0 0 0 -1 -1 L 30000 57200 39500 57200 3 0 0 0 -1 -1 L 30000 50500 39500 50500 3 0 0 0 -1 -1 T 30200 56900 9 10 1 0 0 0 1 Components inside green box are inside the device package C 30900 51300 1 0 0 inductor-1.sym { T 31100 51600 5 10 1 1 0 0 1 refdes=L4 T 30900 51200 5 10 1 1 0 0 1 value=0.386nH T 31100 51800 5 10 0 0 0 0 1 device=INDUCTOR T 31100 52000 5 10 0 0 0 0 1 symversion=0.1 } C 38000 51300 1 0 0 inductor-1.sym { T 38200 51600 5 10 1 1 0 0 1 refdes=L6 T 38000 51200 5 10 1 1 0 0 1 value=0.313nH T 38200 51800 5 10 0 0 0 0 1 device=INDUCTOR T 38200 52000 5 10 0 0 0 0 1 symversion=0.1 } C 30900 54000 1 0 0 inductor-1.sym { T 31100 54300 5 10 1 1 0 0 1 refdes=L1 T 30900 53900 5 10 1 1 0 0 1 value=0.833nH T 31100 54500 5 10 0 0 0 0 1 device=INDUCTOR T 31100 54700 5 10 0 0 0 0 1 symversion=0.1 } C 37600 56300 1 0 0 inductor-1.sym { T 37900 56600 5 10 1 1 0 0 1 refdes=L7 T 37700 56200 5 10 1 1 0 0 1 value=0.407nH T 37800 56800 5 10 0 0 0 0 1 device=INDUCTOR T 37800 57000 5 10 0 0 0 0 1 symversion=0.1 } N 31800 54100 32200 54100 4 N 29900 54100 30900 54100 4 N 38500 56400 41100 56400 4 C 29400 50800 1 0 0 gnd-1.sym N 29500 51100 29500 51400 4 N 29500 51400 30900 51400 4 N 31800 51400 38000 51400 4 N 38900 51400 40000 51400 4 N 40000 51400 40000 51100 4 C 30600 52300 1 90 0 capacitor-1.sym { T 31200 53100 5 10 1 1 180 0 1 refdes=Cpara1 T 30600 52300 5 10 1 1 0 0 1 value=0.158pF T 30800 53000 5 10 0 0 0 0 1 device=CAPACITOR T 30800 53200 5 10 0 0 0 0 1 symversion=0.1 } C 39300 52400 1 90 0 capacitor-1.sym { T 39000 53200 5 10 1 1 180 0 1 refdes=Cpara2 T 38400 52500 5 10 1 1 0 0 1 value=0.155pF T 39500 53100 5 10 0 0 0 0 1 device=CAPACITOR T 39500 53300 5 10 0 0 0 0 1 symversion=0.1 } N 39100 53300 39100 56400 4 N 39100 52400 39100 51400 4 N 30400 53200 30400 54100 4 N 30400 52300 30400 51400 4 T 36700 49100 9 20 1 0 0 0 1 SPICE model of Agilent MSA-2643 T 40600 48500 9 10 1 0 0 0 1 SDB -- 3.31.2003 geda-gaf-1.8.2/examples/RF_Amp/Q1.cir0000664000175000017500000000335312050461155014005 00000000000000******************************* * Begin .SUBCKT model * * spice-sdb ver 2.10.2007 * ******************************* .SUBCKT Q1_MSA26F 5 4 6 *vvvvvvvv Included SPICE model from model/DiodeM1_Q1.mod vvvvvvvv * This is a diode model used in the Agilent MSA-26 model * documented in 5980-2496E.pdf. * Model entered 3.31.2003 by SDB .model DIODEM1_Q1 D(IS=1.405e-17 N=1 CJO=2.281e-14 + VJ=0.729 M=0.44 FC=0.8 TNOM=21) *^^^^^^^^ End of included SPICE model from model/DiodeM1_Q1.mod ^^^^^^^^ * *vvvvvvvv Included SPICE model from model/DiodeM2_Q1.mod vvvvvvvv * This is a diode model used in the Agilent MSA-26 model * documented in 5980-2496E.pdf. * Model entered 3.31.2003 by SDB .model DIODEM2_Q1 D(IS=1e-24 N=1.0029 CJO=2.452e-14 + VJ=0.8971 M=0.2292 FC=0.8 TNOM=21) *^^^^^^^^ End of included SPICE model from model/DiodeM2_Q1.mod ^^^^^^^^ * *vvvvvvvv Included SPICE model from model/BJTM1_Q1.mod vvvvvvvv * This is the BJT model used in the Agilent MSA-26 model * documented in 5980-2496E.pdf. * Model entered 3.31.2003 by SDB .model BJTM1_Q1 NPN(Bf=1e6 IKF=5.895e-1 ISE=2.838e-19 NE=1.006 + VAF=44 NF=1 TF=5.37e-12 XTF=20 VTF=0.8 ITF=2.218e-1 PTF=22 + XTB=0.7 BR=1 IKR=1.1e-2 NC=2 VAR=3.37 NR=1.005 TR=4e-9 + EG=1.17 IS=4.475e-18 XTI=3 TNOM=21 CJC=2.921e-14 + VJC=0.6775 MJC=0.3319 XCJC=4.398e-1 FC=0.8 CJE=7.546e-14 + VJE=0.9907 MJE=0.5063 RB=9.301 IRB=8.18e-5 RBM=0.1 KF=1.643e-23) *^^^^^^^^ End of included SPICE model from model/BJTM1_Q1.mod ^^^^^^^^ * *============== Begin SPICE netlist of main design ============ Rbx 4 3 3.723 Rcx 1 6 6.386 Ceox 5 3 6.01e-15F Q1 1 3 2 BJTM1_Q1 Re 5 2 2.158 D2 3 2 DIODEM2_Q1 D1 4 1 DIODEM1_Q1 Ccox 4 1 1.851e-14F .ends Q1_MSA26F ******************************* geda-gaf-1.8.2/examples/RF_Amp/model/0000775000175000017500000000000012220655773014213 500000000000000geda-gaf-1.8.2/examples/RF_Amp/model/DiodeM3_Q1.mod0000664000175000017500000000032412050461155016406 00000000000000* This is a diode model used in the Agilent MSA-26 model * documented in 5980-2496E.pdf. * Model entered 3.31.2003 by SDB .model DIODEM3_Q1 D(IS=1e-24 RS=2.173e2 CJO=8.822e-14 + VJ=0.6 M=0.42 FC=0.8 TNOM=21) geda-gaf-1.8.2/examples/RF_Amp/model/BJTM1_Q2.mod0000664000175000017500000000075312050461155016006 00000000000000* This is the BJT model used in the Agilent MSA-26 model * documented in 5980-2496E.pdf. * Model entered 3.30.2003 by SDB .model BJTM1_Q2 NPN(Bf=1e6 IKF=5.895e-1 ISE=2.838e-19 NE=1.006 + VAF=44 NF=1 TF=5.37e-12 XTF=20 VTF=0.8 ITF=8.872e-1 PTF=22 + XTB=0.7 BR=1 IKR=4.4e-2 NC=2 VAR=3.37 NR=1.005 TR=4e-9 + EG=1.17 IS=1.79e-17 XTI=3 TNOM=21 CJC=3.717e-14 + VJC=0.6775 MJC=0.3319 XCJC=4.398e-1 FC=0.8 CJE=3.217e-13 + VJE=0.9907 MJE=0.5063 RB=2.325 IRB=3.272e-4 RBM=2.5e-2 KF=1.026e-24) geda-gaf-1.8.2/examples/RF_Amp/model/Makefile.am0000664000175000017500000000056312050461155016161 00000000000000exampledir = $(docdir)/examples/RF_Amp/model/ example_DATA = BJTM1_Q1.mod BJTM1_Q2.mod DiodeM1_Q1.mod DiodeM1_Q2.mod \ DiodeM2_Q1.mod DiodeM2_Q2.mod DiodeM3_Q1.mod DiodeM3_Q2.mod EXTRA_DIST = $(example_DATA) MOSTLYCLEANFILES = gschem.log *~ CLEANFILES = gschem.log *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = gschem.log *~ Makefile.in geda-gaf-1.8.2/examples/RF_Amp/model/DiodeM2_Q1.mod0000664000175000017500000000032712050461155016410 00000000000000* This is a diode model used in the Agilent MSA-26 model * documented in 5980-2496E.pdf. * Model entered 3.31.2003 by SDB .model DIODEM2_Q1 D(IS=1e-24 N=1.0029 CJO=2.452e-14 + VJ=0.8971 M=0.2292 FC=0.8 TNOM=21) geda-gaf-1.8.2/examples/RF_Amp/model/DiodeM1_Q1.mod0000664000175000017500000000032312050461155016403 00000000000000* This is a diode model used in the Agilent MSA-26 model * documented in 5980-2496E.pdf. * Model entered 3.31.2003 by SDB .model DIODEM1_Q1 D(IS=1.405e-17 N=1 CJO=2.281e-14 + VJ=0.729 M=0.44 FC=0.8 TNOM=21) geda-gaf-1.8.2/examples/RF_Amp/model/DiodeM1_Q2.mod0000664000175000017500000000032212050461155016403 00000000000000* This is a diode model used in the Agilent MSA-26 model * documented in 5980-2496E.pdf. * Model entered 3.30.2003 by SDB .model DIODEM1_Q2 D(IS=5.62e-17 N=1 CJO=9.676e-14 + VJ=0.729 M=0.44 FC=0.8 TNOM=21) geda-gaf-1.8.2/examples/RF_Amp/model/Makefile.in0000664000175000017500000004462512220655721016204 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = examples/RF_Amp/model DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(exampledir)" DATA = $(example_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ exampledir = $(docdir)/examples/RF_Amp/model/ example_DATA = BJTM1_Q1.mod BJTM1_Q2.mod DiodeM1_Q1.mod DiodeM1_Q2.mod \ DiodeM2_Q1.mod DiodeM2_Q2.mod DiodeM3_Q1.mod DiodeM3_Q2.mod EXTRA_DIST = $(example_DATA) MOSTLYCLEANFILES = gschem.log *~ CLEANFILES = gschem.log *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = gschem.log *~ Makefile.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/RF_Amp/model/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu examples/RF_Amp/model/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-exampleDATA: $(example_DATA) @$(NORMAL_INSTALL) @list='$(example_DATA)'; test -n "$(exampledir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(exampledir)'"; \ $(MKDIR_P) "$(DESTDIR)$(exampledir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(exampledir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(exampledir)" || exit $$?; \ done uninstall-exampleDATA: @$(NORMAL_UNINSTALL) @list='$(example_DATA)'; test -n "$(exampledir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(exampledir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(exampledir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-exampleDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-exampleDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exampleDATA install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am uninstall-exampleDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/examples/RF_Amp/model/BJTM1_Q1.mod0000664000175000017500000000075012050461155016002 00000000000000* This is the BJT model used in the Agilent MSA-26 model * documented in 5980-2496E.pdf. * Model entered 3.31.2003 by SDB .model BJTM1_Q1 NPN(Bf=1e6 IKF=5.895e-1 ISE=2.838e-19 NE=1.006 + VAF=44 NF=1 TF=5.37e-12 XTF=20 VTF=0.8 ITF=2.218e-1 PTF=22 + XTB=0.7 BR=1 IKR=1.1e-2 NC=2 VAR=3.37 NR=1.005 TR=4e-9 + EG=1.17 IS=4.475e-18 XTI=3 TNOM=21 CJC=2.921e-14 + VJC=0.6775 MJC=0.3319 XCJC=4.398e-1 FC=0.8 CJE=7.546e-14 + VJE=0.9907 MJE=0.5063 RB=9.301 IRB=8.18e-5 RBM=0.1 KF=1.643e-23) geda-gaf-1.8.2/examples/RF_Amp/model/DiodeM3_Q2.mod0000664000175000017500000000033012050461155016404 00000000000000* This is a diode model used in the Agilent MSA-26 model * documented in 5980-2496E.pdf. * Model entered 3.30.2003 by SDB .model DIODEM3_Q2 D(IS=5.62e-17 RS=1.695e-2 CJO=1.906e-14 + VJ=0.6 M=0.42 FC=0.8 TNOM=21) geda-gaf-1.8.2/examples/RF_Amp/model/DiodeM2_Q2.mod0000664000175000017500000000033112050461155016404 00000000000000* This is a diode model used in the Agilent MSA-26 model * documented in 5980-2496E.pdf. * Model entered 3.30.2003 by SDB .model DIODEM2_Q2 D(IS=1e-24 N=1.0029 CJO=9.023e-14 + VJ=0.8971 M=2.292e-1 FC=0.8 TNOM=21) geda-gaf-1.8.2/examples/RF_Amp/sym/0000775000175000017500000000000012220655773013723 500000000000000geda-gaf-1.8.2/examples/RF_Amp/sym/Makefile.am0000664000175000017500000000050312050461155015663 00000000000000exampledir = $(docdir)/examples/RF_Amp/sym/ example_DATA = BJT_Model.sym Q_Model.sym spice-subcircuit-IO-1.sym \ spice-subcircuit-LL-1.sym EXTRA_DIST = $(example_DATA) MOSTLYCLEANFILES = gschem.log *~ CLEANFILES = gschem.log *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = gschem.log *~ Makefile.in geda-gaf-1.8.2/examples/RF_Amp/sym/Q_Model.sym0000664000175000017500000000171612050461155015710 00000000000000v 20031011 1 P 800 1300 800 1100 1 0 0 { T 700 1250 5 6 1 1 0 0 1 pinnumber=3 T 700 1150 5 6 0 0 0 0 1 pinseq=1 } P 800 300 800 100 1 0 1 { T 700 50 5 6 1 1 0 0 1 pinnumber=1 T 700 150 5 6 0 0 0 0 1 pinseq=3 } V 700 701 316 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 900 700 5 10 0 0 0 0 1 device=NPN_TRANSISTOR_subcircuit L 800 400 600 600 3 0 0 0 -1 -1 L 800 1000 600 800 3 0 0 0 -1 -1 L 600 900 600 500 3 0 0 0 -1 -1 P 100 700 284 700 1 0 0 { T 100 750 5 6 1 1 0 0 1 pinnumber=2 T 200 750 5 6 0 0 0 0 1 pinseq=2 } L 600 700 384 700 3 0 0 0 -1 -1 L 800 400 764 472 3 0 0 0 -1 -1 L 800 400 728 436 3 0 0 0 -1 -1 L 728 436 764 472 3 0 0 0 -1 -1 T 1050 900 8 10 1 1 0 0 1 refdes=X? L 300 1100 1400 1100 3 0 0 0 -1 -1 L 300 300 1400 300 3 0 0 0 -1 -1 L 1400 1100 1400 300 3 0 0 0 -1 -1 L 300 1100 300 300 3 0 0 0 -1 -1 L 800 1000 800 1100 3 0 0 0 -1 -1 L 400 700 300 700 3 0 0 0 -1 -1 L 800 400 800 300 3 0 0 0 -1 -1 T 1000 350 9 5 1 0 0 0 1 .SUBCKT T 1000 450 9 5 1 0 0 0 1 Transistor geda-gaf-1.8.2/examples/RF_Amp/sym/BJT_Model.sym0000664000175000017500000000125512050461155016125 00000000000000v 20031011 1 P 600 1000 600 800 1 0 0 { T 500 850 5 6 1 1 0 0 1 pinnumber=3 T 500 850 5 6 0 0 0 0 1 pinseq=1 } P 600 200 600 0 1 0 1 { T 500 50 5 6 1 1 0 0 1 pinnumber=1 T 500 50 5 6 0 0 0 0 1 pinseq=3 } V 500 501 316 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 900 700 5 10 0 0 0 0 1 device=NPN_TRANSISTOR L 600 200 400 400 3 0 0 0 -1 -1 L 600 800 400 600 3 0 0 0 -1 -1 L 400 700 400 300 3 0 0 0 -1 -1 P 0 500 184 500 1 0 0 { T 100 550 5 6 1 1 0 0 1 pinnumber=2 T 100 550 5 6 0 0 0 0 1 pinseq=2 } L 400 500 184 500 3 0 0 0 -1 -1 L 600 200 564 272 3 0 0 0 -1 -1 L 600 200 528 236 3 0 0 0 -1 -1 L 528 236 564 272 3 0 0 0 -1 -1 T 900 500 8 10 1 1 0 0 1 refdes=Q? T 900 300 9 10 1 0 0 0 1 BJT_Model geda-gaf-1.8.2/examples/RF_Amp/sym/Makefile.in0000664000175000017500000004453712220655722015717 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = examples/RF_Amp/sym DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(exampledir)" DATA = $(example_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ exampledir = $(docdir)/examples/RF_Amp/sym/ example_DATA = BJT_Model.sym Q_Model.sym spice-subcircuit-IO-1.sym \ spice-subcircuit-LL-1.sym EXTRA_DIST = $(example_DATA) MOSTLYCLEANFILES = gschem.log *~ CLEANFILES = gschem.log *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = gschem.log *~ Makefile.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/RF_Amp/sym/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu examples/RF_Amp/sym/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-exampleDATA: $(example_DATA) @$(NORMAL_INSTALL) @list='$(example_DATA)'; test -n "$(exampledir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(exampledir)'"; \ $(MKDIR_P) "$(DESTDIR)$(exampledir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(exampledir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(exampledir)" || exit $$?; \ done uninstall-exampleDATA: @$(NORMAL_UNINSTALL) @list='$(example_DATA)'; test -n "$(exampledir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(exampledir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(exampledir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-exampleDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-exampleDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exampleDATA install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am uninstall-exampleDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/examples/RF_Amp/sym/spice-subcircuit-LL-1.sym0000664000175000017500000000034112050461155020301 00000000000000v 20031011 1 B 0 300 2200 300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 100 300 9 10 0 1 0 0 1 device=spice-subcircuit-LL T 100 400 9 10 1 1 0 0 1 refdes=A? T 600 400 9 10 1 0 0 0 1 SPICE .SUBCKT T 100 100 8 10 1 1 0 0 1 model-name=? geda-gaf-1.8.2/examples/RF_Amp/sym/spice-subcircuit-IO-1.sym0000664000175000017500000000064212050461155020305 00000000000000v 20031011 1 P 400 300 200 300 1 0 1 { T 100 200 5 10 0 0 0 0 1 pinseq=1 T 100 200 5 10 0 0 0 0 1 pinnumber=1 } T 900 400 8 10 0 1 0 0 1 device=spice-IO T 850 250 8 10 1 1 0 0 1 refdes=P? L 500 400 400 300 3 0 0 0 -1 -1 L 500 200 400 300 3 0 0 0 -1 -1 L 500 400 700 400 3 0 0 0 -1 -1 T 188 97 9 6 1 0 0 0 1 .SUBCKT IO Pin L 500 200 700 200 3 0 0 0 -1 -1 L 800 300 700 400 3 0 0 0 -1 -1 L 800 300 700 200 3 0 0 0 -1 -1 geda-gaf-1.8.2/examples/lightning_detector/0000775000175000017500000000000012220655773015663 500000000000000geda-gaf-1.8.2/examples/lightning_detector/Makefile.am0000664000175000017500000000057412050461155017633 00000000000000exampledir = $(docdir)/examples/lightning_detector/ nobase_example_DATA = \ bom bom.readme lightning.net lightning.pcb lightning.sch \ lightning.sch.bom gafrc \ sym/2N4401.sym sym/2N4403.sym EXTRA_DIST = $(nobase_example_DATA) MOSTLYCLEANFILES = gschem.log *~ CLEANFILES = gschem.log *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = gschem.log *~ Makefile.in geda-gaf-1.8.2/examples/lightning_detector/bom.readme0000664000175000017500000000130212050461155017521 00000000000000# An awful hack, not yet finished, written by Terry Porter # January 2001, released under the terms of the GPL, please see the file "COPYING", # included. # I'm learning Python as I go, and I'm a hardware guy with no formal # programming experience, just a little basic C knowledge, and it shows. # Requires Python installed on your system. # Is designed to work *only* with schematic capture files produced by # gschem. # Usage: "./bom schematic.sch" # this will produce "schematic.sch.bom" # Bugs: If a part has no value it won't be listed. # How does it work ? Bom just searches the gschem sch file for "uref" # and value, saves them to a temp file then sorts them. geda-gaf-1.8.2/examples/lightning_detector/bom0000775000175000017500000000221212050461155016271 00000000000000#!/usr/bin/python import fileinput import re import commands tempfile=open('workfile', 'w') uref = "component" value = "value" text = "anything" word_length = 0 for line in fileinput.input(): text = line if re.search("uref=",text): word_length = len(text) - 1 #remove newline uref = text[5:word_length] #get component uref if re.search("value=",text): word_length = len(text) - 1 #remove newline value = text[6:word_length] #get component value #print uref, #print "-------", #print value tempfile.write(uref) tempfile.write(' ---------- ') tempfile.write(value) tempfile.write("\n") tempfile.close() print fileinput.filename() x = open('workfile','r') pp=fileinput.filename() bom=open(pp +'.bom','w') bom.write("Bill of Materials for "+ fileinput.filename() + '\n') bom.write("\n") bom.write("Component Value\n") a = x.readlines() a.sort() for tuple in a: bom.write(tuple) bom.close() x.close() bom = open(pp + '.bom','r') for line in bom.readlines(): print line, commands.getoutput('rm workfile') #remove workfile geda-gaf-1.8.2/examples/lightning_detector/lightning.pcb0000664000175000017500000006721712050461155020257 00000000000000# release: pcb 1.7.1.ALPHA # date: Sun Jul 22 15:22:22 2001 # user: tp (Terry Porter,,,) # host: gronk.porter.net PCB("" 6047 4000) Grid(25 0 0 0) Cursor(400 0 2) Flags(0x000000c0) Groups("1,s:2,c:3:4:5:6:7:8") Styles("Signal,10,40,20:Power,25,60,35:Fat,40,60,35:Skinny,8,36,20") Symbol(' ' 18) ( ) Symbol('!' 12) ( SymbolLine(0 35 0 40 8) SymbolLine(0 0 0 25 8) ) Symbol('"' 12) ( SymbolLine(0 0 0 10 8) SymbolLine(10 0 10 10 8) ) Symbol('#' 12) ( SymbolLine(0 25 20 25 8) SymbolLine(0 15 20 15 8) SymbolLine(15 10 15 30 8) SymbolLine(5 10 5 30 8) ) Symbol('$' 12) ( SymbolLine(15 5 20 10 8) SymbolLine(5 5 15 5 8) SymbolLine(0 10 5 5 8) SymbolLine(0 10 0 15 8) SymbolLine(0 15 5 20 8) SymbolLine(5 20 15 20 8) SymbolLine(15 20 20 25 8) SymbolLine(20 25 20 30 8) SymbolLine(15 35 20 30 8) SymbolLine(5 35 15 35 8) SymbolLine(0 30 5 35 8) SymbolLine(10 0 10 40 8) ) Symbol('%' 12) ( SymbolLine(0 5 0 10 8) SymbolLine(0 5 5 0 8) SymbolLine(5 0 10 0 8) SymbolLine(10 0 15 5 8) SymbolLine(15 5 15 10 8) SymbolLine(10 15 15 10 8) SymbolLine(5 15 10 15 8) SymbolLine(0 10 5 15 8) SymbolLine(0 40 40 0 8) SymbolLine(35 40 40 35 8) SymbolLine(40 30 40 35 8) SymbolLine(35 25 40 30 8) SymbolLine(30 25 35 25 8) SymbolLine(25 30 30 25 8) SymbolLine(25 30 25 35 8) SymbolLine(25 35 30 40 8) SymbolLine(30 40 35 40 8) ) Symbol('&' 12) ( SymbolLine(0 35 5 40 8) SymbolLine(0 5 0 15 8) SymbolLine(0 5 5 0 8) SymbolLine(0 25 15 10 8) SymbolLine(5 40 10 40 8) SymbolLine(10 40 20 30 8) SymbolLine(0 15 25 40 8) SymbolLine(5 0 10 0 8) SymbolLine(10 0 15 5 8) SymbolLine(15 5 15 10 8) SymbolLine(0 25 0 35 8) ) Symbol(''' 12) ( SymbolLine(0 10 10 0 8) ) Symbol('(' 12) ( SymbolLine(0 35 5 40 8) SymbolLine(0 5 5 0 8) SymbolLine(0 5 0 35 8) ) Symbol(')' 12) ( SymbolLine(0 0 5 5 8) SymbolLine(5 5 5 35 8) SymbolLine(0 40 5 35 8) ) Symbol('*' 12) ( SymbolLine(0 10 20 30 8) SymbolLine(0 30 20 10 8) SymbolLine(0 20 20 20 8) SymbolLine(10 10 10 30 8) ) Symbol('+' 12) ( SymbolLine(0 20 20 20 8) SymbolLine(10 10 10 30 8) ) Symbol(',' 12) ( SymbolLine(0 50 10 40 8) ) Symbol('-' 12) ( SymbolLine(0 20 20 20 8) ) Symbol('.' 12) ( SymbolLine(0 40 5 40 8) ) Symbol('/' 12) ( SymbolLine(0 35 30 5 8) ) Symbol('0' 12) ( SymbolLine(0 35 5 40 8) SymbolLine(0 5 0 35 8) SymbolLine(0 5 5 0 8) SymbolLine(5 0 15 0 8) SymbolLine(15 0 20 5 8) SymbolLine(20 5 20 35 8) SymbolLine(15 40 20 35 8) SymbolLine(5 40 15 40 8) SymbolLine(0 30 20 10 8) ) Symbol('1' 12) ( SymbolLine(5 40 15 40 8) SymbolLine(10 0 10 40 8) SymbolLine(0 10 10 0 8) ) Symbol('2' 12) ( SymbolLine(0 5 5 0 8) SymbolLine(5 0 20 0 8) SymbolLine(20 0 25 5 8) SymbolLine(25 5 25 15 8) SymbolLine(0 40 25 15 8) SymbolLine(0 40 25 40 8) ) Symbol('3' 12) ( SymbolLine(0 5 5 0 8) SymbolLine(5 0 15 0 8) SymbolLine(15 0 20 5 8) SymbolLine(20 5 20 35 8) SymbolLine(15 40 20 35 8) SymbolLine(5 40 15 40 8) SymbolLine(0 35 5 40 8) SymbolLine(5 20 20 20 8) ) Symbol('4' 12) ( SymbolLine(0 20 20 0 8) SymbolLine(0 20 25 20 8) SymbolLine(20 0 20 40 8) ) Symbol('5' 12) ( SymbolLine(0 0 20 0 8) SymbolLine(0 0 0 20 8) SymbolLine(0 20 5 15 8) SymbolLine(5 15 15 15 8) SymbolLine(15 15 20 20 8) SymbolLine(20 20 20 35 8) SymbolLine(15 40 20 35 8) SymbolLine(5 40 15 40 8) SymbolLine(0 35 5 40 8) ) Symbol('6' 12) ( SymbolLine(15 0 20 5 8) SymbolLine(5 0 15 0 8) SymbolLine(0 5 5 0 8) SymbolLine(0 5 0 35 8) SymbolLine(0 35 5 40 8) SymbolLine(15 20 20 25 8) SymbolLine(0 20 15 20 8) SymbolLine(5 40 15 40 8) SymbolLine(15 40 20 35 8) SymbolLine(20 25 20 35 8) ) Symbol('7' 12) ( SymbolLine(0 40 25 15 8) SymbolLine(25 0 25 15 8) SymbolLine(0 0 25 0 8) ) Symbol('8' 12) ( SymbolLine(0 35 5 40 8) SymbolLine(0 25 0 35 8) SymbolLine(0 25 5 20 8) SymbolLine(5 20 15 20 8) SymbolLine(15 20 20 25 8) SymbolLine(20 25 20 35 8) SymbolLine(15 40 20 35 8) SymbolLine(5 40 15 40 8) SymbolLine(0 15 5 20 8) SymbolLine(0 5 0 15 8) SymbolLine(0 5 5 0 8) SymbolLine(5 0 15 0 8) SymbolLine(15 0 20 5 8) SymbolLine(20 5 20 15 8) SymbolLine(15 20 20 15 8) ) Symbol('9' 12) ( SymbolLine(0 40 20 20 8) SymbolLine(20 5 20 20 8) SymbolLine(15 0 20 5 8) SymbolLine(5 0 15 0 8) SymbolLine(0 5 5 0 8) SymbolLine(0 5 0 15 8) SymbolLine(0 15 5 20 8) SymbolLine(5 20 20 20 8) ) Symbol(':' 12) ( SymbolLine(0 15 5 15 8) SymbolLine(0 25 5 25 8) ) Symbol(';' 12) ( SymbolLine(0 40 10 30 8) SymbolLine(10 15 10 20 8) ) Symbol('<' 12) ( SymbolLine(0 20 10 10 8) SymbolLine(0 20 10 30 8) ) Symbol('=' 12) ( SymbolLine(0 15 20 15 8) SymbolLine(0 25 20 25 8) ) Symbol('>' 12) ( SymbolLine(0 10 10 20 8) SymbolLine(0 30 10 20 8) ) Symbol('?' 12) ( SymbolLine(10 20 10 25 8) SymbolLine(10 35 10 40 8) SymbolLine(0 5 0 10 8) SymbolLine(0 5 5 0 8) SymbolLine(5 0 15 0 8) SymbolLine(15 0 20 5 8) SymbolLine(20 5 20 10 8) SymbolLine(10 20 20 10 8) ) Symbol('A' 12) ( SymbolLine(0 5 0 40 8) SymbolLine(0 5 5 0 8) SymbolLine(5 0 20 0 8) SymbolLine(20 0 25 5 8) SymbolLine(25 5 25 40 8) SymbolLine(0 20 25 20 8) ) Symbol('B' 12) ( SymbolLine(0 40 20 40 8) SymbolLine(20 40 25 35 8) SymbolLine(25 25 25 35 8) SymbolLine(20 20 25 25 8) SymbolLine(5 20 20 20 8) SymbolLine(5 0 5 40 8) SymbolLine(0 0 20 0 8) SymbolLine(20 0 25 5 8) SymbolLine(25 5 25 15 8) SymbolLine(20 20 25 15 8) ) Symbol('C' 12) ( SymbolLine(5 40 20 40 8) SymbolLine(0 35 5 40 8) SymbolLine(0 5 0 35 8) SymbolLine(0 5 5 0 8) SymbolLine(5 0 20 0 8) ) Symbol('D' 12) ( SymbolLine(5 0 5 40 8) SymbolLine(20 0 25 5 8) SymbolLine(25 5 25 35 8) SymbolLine(20 40 25 35 8) SymbolLine(0 40 20 40 8) SymbolLine(0 0 20 0 8) ) Symbol('E' 12) ( SymbolLine(0 20 15 20 8) SymbolLine(0 40 20 40 8) SymbolLine(0 0 0 40 8) SymbolLine(0 0 20 0 8) ) Symbol('F' 12) ( SymbolLine(0 0 0 40 8) SymbolLine(0 0 20 0 8) SymbolLine(0 20 15 20 8) ) Symbol('G' 12) ( SymbolLine(20 0 25 5 8) SymbolLine(5 0 20 0 8) SymbolLine(0 5 5 0 8) SymbolLine(0 5 0 35 8) SymbolLine(0 35 5 40 8) SymbolLine(5 40 20 40 8) SymbolLine(20 40 25 35 8) SymbolLine(25 25 25 35 8) SymbolLine(20 20 25 25 8) SymbolLine(10 20 20 20 8) ) Symbol('H' 12) ( SymbolLine(0 0 0 40 8) SymbolLine(25 0 25 40 8) SymbolLine(0 20 25 20 8) ) Symbol('I' 12) ( SymbolLine(0 0 10 0 8) SymbolLine(5 0 5 40 8) SymbolLine(0 40 10 40 8) ) Symbol('J' 12) ( SymbolLine(0 0 15 0 8) SymbolLine(15 0 15 35 8) SymbolLine(10 40 15 35 8) SymbolLine(5 40 10 40 8) SymbolLine(0 35 5 40 8) ) Symbol('K' 12) ( SymbolLine(0 0 0 40 8) SymbolLine(0 20 20 0 8) SymbolLine(0 20 20 40 8) ) Symbol('L' 12) ( SymbolLine(0 0 0 40 8) SymbolLine(0 40 20 40 8) ) Symbol('M' 12) ( SymbolLine(0 0 0 40 8) SymbolLine(0 0 15 15 8) SymbolLine(15 15 30 0 8) SymbolLine(30 0 30 40 8) ) Symbol('N' 12) ( SymbolLine(0 0 0 40 8) SymbolLine(0 0 0 5 8) SymbolLine(0 5 25 30 8) SymbolLine(25 0 25 40 8) ) Symbol('O' 12) ( SymbolLine(0 5 0 35 8) SymbolLine(0 5 5 0 8) SymbolLine(5 0 15 0 8) SymbolLine(15 0 20 5 8) SymbolLine(20 5 20 35 8) SymbolLine(15 40 20 35 8) SymbolLine(5 40 15 40 8) SymbolLine(0 35 5 40 8) ) Symbol('P' 12) ( SymbolLine(5 0 5 40 8) SymbolLine(0 0 20 0 8) SymbolLine(20 0 25 5 8) SymbolLine(25 5 25 15 8) SymbolLine(20 20 25 15 8) SymbolLine(5 20 20 20 8) ) Symbol('Q' 12) ( SymbolLine(0 5 0 35 8) SymbolLine(0 5 5 0 8) SymbolLine(5 0 15 0 8) SymbolLine(15 0 20 5 8) SymbolLine(20 5 20 35 8) SymbolLine(15 40 20 35 8) SymbolLine(5 40 15 40 8) SymbolLine(0 35 5 40 8) SymbolLine(10 30 20 40 8) ) Symbol('R' 12) ( SymbolLine(0 0 20 0 8) SymbolLine(20 0 25 5 8) SymbolLine(25 5 25 15 8) SymbolLine(20 20 25 15 8) SymbolLine(5 20 20 20 8) SymbolLine(5 0 5 40 8) SymbolLine(5 20 25 40 8) ) Symbol('S' 12) ( SymbolLine(20 0 25 5 8) SymbolLine(5 0 20 0 8) SymbolLine(0 5 5 0 8) SymbolLine(0 5 0 15 8) SymbolLine(0 15 5 20 8) SymbolLine(5 20 20 20 8) SymbolLine(20 20 25 25 8) SymbolLine(25 25 25 35 8) SymbolLine(20 40 25 35 8) SymbolLine(5 40 20 40 8) SymbolLine(0 35 5 40 8) ) Symbol('T' 12) ( SymbolLine(0 0 20 0 8) SymbolLine(10 0 10 40 8) ) Symbol('U' 12) ( SymbolLine(0 0 0 35 8) SymbolLine(0 35 5 40 8) SymbolLine(5 40 15 40 8) SymbolLine(15 40 20 35 8) SymbolLine(20 0 20 35 8) ) Symbol('V' 12) ( SymbolLine(0 0 0 30 8) SymbolLine(0 30 10 40 8) SymbolLine(10 40 20 30 8) SymbolLine(20 0 20 30 8) ) Symbol('W' 12) ( SymbolLine(0 0 0 40 8) SymbolLine(0 40 15 25 8) SymbolLine(15 25 30 40 8) SymbolLine(30 0 30 40 8) ) Symbol('X' 12) ( SymbolLine(0 0 0 5 8) SymbolLine(0 5 25 30 8) SymbolLine(25 30 25 40 8) SymbolLine(0 30 0 40 8) SymbolLine(0 30 25 5 8) SymbolLine(25 0 25 5 8) ) Symbol('Y' 12) ( SymbolLine(0 0 0 5 8) SymbolLine(0 5 10 15 8) SymbolLine(10 15 20 5 8) SymbolLine(20 0 20 5 8) SymbolLine(10 15 10 40 8) ) Symbol('Z' 12) ( SymbolLine(0 0 25 0 8) SymbolLine(25 0 25 5 8) SymbolLine(0 30 25 5 8) SymbolLine(0 30 0 40 8) SymbolLine(0 40 25 40 8) ) Symbol('[' 12) ( SymbolLine(0 0 5 0 8) SymbolLine(0 0 0 40 8) SymbolLine(0 40 5 40 8) ) Symbol('\' 12) ( SymbolLine(0 5 30 35 8) ) Symbol(']' 12) ( SymbolLine(0 0 5 0 8) SymbolLine(5 0 5 40 8) SymbolLine(0 40 5 40 8) ) Symbol('^' 12) ( SymbolLine(0 5 5 0 8) SymbolLine(5 0 10 5 8) ) Symbol('_' 12) ( SymbolLine(0 40 20 40 8) ) Symbol('a' 12) ( SymbolLine(15 20 20 25 8) SymbolLine(5 20 15 20 8) SymbolLine(0 25 5 20 8) SymbolLine(0 25 0 35 8) SymbolLine(0 35 5 40 8) SymbolLine(20 20 20 35 8) SymbolLine(20 35 25 40 8) SymbolLine(5 40 15 40 8) SymbolLine(15 40 20 35 8) ) Symbol('b' 12) ( SymbolLine(0 0 0 40 8) SymbolLine(0 35 5 40 8) SymbolLine(5 40 15 40 8) SymbolLine(15 40 20 35 8) SymbolLine(20 25 20 35 8) SymbolLine(15 20 20 25 8) SymbolLine(5 20 15 20 8) SymbolLine(0 25 5 20 8) ) Symbol('c' 12) ( SymbolLine(5 20 20 20 8) SymbolLine(0 25 5 20 8) SymbolLine(0 25 0 35 8) SymbolLine(0 35 5 40 8) SymbolLine(5 40 20 40 8) ) Symbol('d' 12) ( SymbolLine(20 0 20 40 8) SymbolLine(15 40 20 35 8) SymbolLine(5 40 15 40 8) SymbolLine(0 35 5 40 8) SymbolLine(0 25 0 35 8) SymbolLine(0 25 5 20 8) SymbolLine(5 20 15 20 8) SymbolLine(15 20 20 25 8) ) Symbol('e' 12) ( SymbolLine(5 40 20 40 8) SymbolLine(0 35 5 40 8) SymbolLine(0 25 0 35 8) SymbolLine(0 25 5 20 8) SymbolLine(5 20 15 20 8) SymbolLine(15 20 20 25 8) SymbolLine(0 30 20 30 8) SymbolLine(20 30 20 25 8) ) Symbol('f' 10) ( SymbolLine(5 5 5 40 8) SymbolLine(5 5 10 0 8) SymbolLine(10 0 15 0 8) SymbolLine(0 20 10 20 8) ) Symbol('g' 12) ( SymbolLine(15 20 20 25 8) SymbolLine(5 20 15 20 8) SymbolLine(0 25 5 20 8) SymbolLine(0 25 0 35 8) SymbolLine(0 35 5 40 8) SymbolLine(5 40 15 40 8) SymbolLine(15 40 20 35 8) SymbolLine(0 50 5 55 8) SymbolLine(5 55 15 55 8) SymbolLine(15 55 20 50 8) SymbolLine(20 20 20 50 8) ) Symbol('h' 12) ( SymbolLine(0 0 0 40 8) SymbolLine(0 25 5 20 8) SymbolLine(5 20 15 20 8) SymbolLine(15 20 20 25 8) SymbolLine(20 25 20 40 8) ) Symbol('i' 10) ( SymbolLine(0 10 0 15 8) SymbolLine(0 25 0 40 8) ) Symbol('j' 10) ( SymbolLine(5 10 5 15 8) SymbolLine(5 25 5 50 8) SymbolLine(0 55 5 50 8) ) Symbol('k' 12) ( SymbolLine(0 0 0 40 8) SymbolLine(0 25 15 40 8) SymbolLine(0 25 10 15 8) ) Symbol('l' 10) ( SymbolLine(0 0 0 35 8) SymbolLine(0 35 5 40 8) ) Symbol('m' 12) ( SymbolLine(5 25 5 40 8) SymbolLine(5 25 10 20 8) SymbolLine(10 20 15 20 8) SymbolLine(15 20 20 25 8) SymbolLine(20 25 20 40 8) SymbolLine(20 25 25 20 8) SymbolLine(25 20 30 20 8) SymbolLine(30 20 35 25 8) SymbolLine(35 25 35 40 8) SymbolLine(0 20 5 25 8) ) Symbol('n' 12) ( SymbolLine(5 25 5 40 8) SymbolLine(5 25 10 20 8) SymbolLine(10 20 15 20 8) SymbolLine(15 20 20 25 8) SymbolLine(20 25 20 40 8) SymbolLine(0 20 5 25 8) ) Symbol('o' 12) ( SymbolLine(0 25 0 35 8) SymbolLine(0 25 5 20 8) SymbolLine(5 20 15 20 8) SymbolLine(15 20 20 25 8) SymbolLine(20 25 20 35 8) SymbolLine(15 40 20 35 8) SymbolLine(5 40 15 40 8) SymbolLine(0 35 5 40 8) ) Symbol('p' 12) ( SymbolLine(5 25 5 55 8) SymbolLine(0 20 5 25 8) SymbolLine(5 25 10 20 8) SymbolLine(10 20 20 20 8) SymbolLine(20 20 25 25 8) SymbolLine(25 25 25 35 8) SymbolLine(20 40 25 35 8) SymbolLine(10 40 20 40 8) SymbolLine(5 35 10 40 8) ) Symbol('q' 12) ( SymbolLine(20 25 20 55 8) SymbolLine(15 20 20 25 8) SymbolLine(5 20 15 20 8) SymbolLine(0 25 5 20 8) SymbolLine(0 25 0 35 8) SymbolLine(0 35 5 40 8) SymbolLine(5 40 15 40 8) SymbolLine(15 40 20 35 8) ) Symbol('r' 12) ( SymbolLine(5 25 5 40 8) SymbolLine(5 25 10 20 8) SymbolLine(10 20 20 20 8) SymbolLine(0 20 5 25 8) ) Symbol('s' 12) ( SymbolLine(5 40 20 40 8) SymbolLine(20 40 25 35 8) SymbolLine(20 30 25 35 8) SymbolLine(5 30 20 30 8) SymbolLine(0 25 5 30 8) SymbolLine(0 25 5 20 8) SymbolLine(5 20 20 20 8) SymbolLine(20 20 25 25 8) SymbolLine(0 35 5 40 8) ) Symbol('t' 10) ( SymbolLine(5 0 5 35 8) SymbolLine(5 35 10 40 8) SymbolLine(0 15 10 15 8) ) Symbol('u' 12) ( SymbolLine(0 20 0 35 8) SymbolLine(0 35 5 40 8) SymbolLine(5 40 15 40 8) SymbolLine(15 40 20 35 8) SymbolLine(20 20 20 35 8) ) Symbol('v' 12) ( SymbolLine(0 20 0 30 8) SymbolLine(0 30 10 40 8) SymbolLine(10 40 20 30 8) SymbolLine(20 20 20 30 8) ) Symbol('w' 12) ( SymbolLine(0 20 0 35 8) SymbolLine(0 35 5 40 8) SymbolLine(5 40 10 40 8) SymbolLine(10 40 15 35 8) SymbolLine(15 20 15 35 8) SymbolLine(15 35 20 40 8) SymbolLine(20 40 25 40 8) SymbolLine(25 40 30 35 8) SymbolLine(30 20 30 35 8) ) Symbol('x' 12) ( SymbolLine(0 20 20 40 8) SymbolLine(0 40 20 20 8) ) Symbol('y' 12) ( SymbolLine(0 20 0 35 8) SymbolLine(0 35 5 40 8) SymbolLine(20 20 20 50 8) SymbolLine(15 55 20 50 8) SymbolLine(5 55 15 55 8) SymbolLine(0 50 5 55 8) SymbolLine(5 40 15 40 8) SymbolLine(15 40 20 35 8) ) Symbol('z' 12) ( SymbolLine(0 20 20 20 8) SymbolLine(0 40 20 20 8) SymbolLine(0 40 20 40 8) ) Symbol('{' 12) ( SymbolLine(5 5 10 0 8) SymbolLine(5 5 5 15 8) SymbolLine(0 20 5 15 8) SymbolLine(0 20 5 25 8) SymbolLine(5 25 5 35 8) SymbolLine(5 35 10 40 8) ) Symbol('|' 12) ( SymbolLine(0 0 0 40 8) ) Symbol('}' 12) ( SymbolLine(0 0 5 5 8) SymbolLine(5 5 5 15 8) SymbolLine(5 15 10 20 8) SymbolLine(5 25 10 20 8) SymbolLine(5 25 5 35 8) SymbolLine(0 40 5 35 8) ) Symbol('~' 12) ( SymbolLine(0 25 5 20 8) SymbolLine(5 20 10 20 8) SymbolLine(10 20 15 25 8) SymbolLine(15 25 20 25 8) SymbolLine(20 25 25 20 8) ) Via(170 1820 310 30 28 "" 0x01000002) Via(170 170 310 30 28 "" 0x01000002) Via(2820 170 310 30 28 "" 0x01000002) Via(2820 1820 310 30 28 "" 0x01000002) Via(155 3825 310 30 28 "" 0x00000002) Via(155 2175 310 30 28 "" 0x00000002) Via(2805 2175 310 30 28 "" 0x00000002) Via(2805 3825 310 30 28 "" 0x00000002) Via(3170 1820 310 30 28 "" 0x00000002) Via(5820 3825 310 30 28 "" 0x00000002) Via(5820 170 310 30 28 "" 0x00000002) Via(5820 1820 310 30 28 "" 0x00000002) Via(3170 3825 310 30 28 "" 0x00000002) Via(3170 2175 310 30 28 "" 0x00000002) Via(5820 2175 310 30 28 "" 0x00000002) Via(3165 170 310 30 28 "" 0x00000002) Element(0x00000000 "capacitor_axial" "C6" "600" 1850 1550 10 -5 0 100 0x00000000) ( Pin(-150 0 80 30 110 20 "1" "1" 0x01000101) Pin(450 0 80 30 110 20 "2" "2" 0x01010001) ElementLine (0 50 0 -50 10) ElementLine (300 50 0 50 10) ElementLine (300 -50 300 50 10) ElementLine (0 -50 300 -50 10) ElementLine (300 0 450 0 10) ElementLine (-150 0 0 0 10) ) Element(0x00000000 "resistor_axial" "R7" "500" 1100 900 80 -25 0 100 0x00000000) ( Pin(-125 0 75 30 80 20 "1" "1" 0x01000101) Pin(375 0 85 30 80 20 "2" "2" 0x01000001) ElementLine (0 41 0 -41 10) ElementLine (250 41 0 41 10) ElementLine (250 -41 250 41 10) ElementLine (0 -41 250 -41 10) ElementLine (250 0 375 0 10) ElementLine (-125 0 0 0 10) ) Element(0x00000000 "" "bat(0v)" "" 2300 1835 -120 -190 0 100 0x00000000) ( Pin(0 0 205 30 235 28 "1" "1" 0x01010001) ElementLine (-105 100 -105 -100 10) ElementLine (100 100 -105 100 10) ElementLine (100 -100 100 100 10) ElementLine (75 -100 100 -100 10) ElementLine (-100 -100 80 -100 10) ) Element(0x00000000 "" "lamp(2)" "" 160 675 -105 145 0 100 0x00000000) ( Pin(0 0 205 30 235 28 "1" "1" 0x01000001) ElementLine (-105 100 -105 -100 10) ElementLine (100 100 -105 100 10) ElementLine (100 -100 100 100 10) ElementLine (75 -100 100 -100 10) ElementLine (-100 -100 80 -100 10) ) Element(0x00000000 "capacitor_axial" "C3" "600" 1800 1325 -225 -25 0 100 0x00000000) ( Pin(150 0 80 30 110 20 "1" "1" 0x01000101) Pin(-450 0 90 30 110 20 "2" "2" 0x01000001) ElementLine (0 -50 0 50 10) ElementLine (-300 -50 0 -50 10) ElementLine (-300 50 -300 -50 10) ElementLine (0 50 -300 50 10) ElementLine (-300 0 -450 0 10) ElementLine (150 0 0 0 10) ) Element(0x00000000 "resistor_axial" "R5" "500" 500 1125 -30 -125 0 100 0x00000000) ( Pin(0 125 75 30 80 20 "1" "1" 0x01000101) Pin(0 -375 85 30 80 20 "2" "2" 0x01000001) ElementLine (41 0 -41 0 10) ElementLine (41 -250 41 0 10) ElementLine (-41 -250 41 -250 10) ElementLine (-41 0 -41 -250 10) ElementLine (0 -250 0 -375 10) ElementLine (0 125 0 0 10) ) Element(0x00000000 "capacitor_axial" "C2" "600" 2325 675 -190 -30 0 100 0x00000000) ( Pin(150 0 80 30 110 20 "1" "1" 0x01000101) Pin(-450 0 100 30 110 20 "2" "2" 0x01000001) ElementLine (0 -50 0 50 10) ElementLine (-300 -50 0 -50 10) ElementLine (-300 50 -300 -50 10) ElementLine (0 50 -300 50 10) ElementLine (-300 0 -450 0 10) ElementLine (150 0 0 0 10) ) Element(0x00000000 "capacitor_axial" "L1" "800" 1800 280 165 -30 0 100 0x00000000) ( Pin(-200 0 80 30 110 20 "1" "1" 0x01010101) Pin(600 0 90 30 110 20 "2" "2" 0x01000001) ElementLine (0 66 0 -66 10) ElementLine (400 66 0 66 10) ElementLine (400 -66 400 66 10) ElementLine (0 -66 400 -66 10) ElementLine (400 0 600 0 10) ElementLine (-200 0 0 0 10) ) Element(0x00000000 "resistor_axial" "R1" "500" 2000 850 50 -25 0 100 0x00000000) ( Pin(-125 0 95 30 80 20 "1" "1" 0x01000001) Pin(375 0 100 30 80 20 "2" "2" 0x01000101) ElementLine (0 41 0 -41 10) ElementLine (250 41 0 41 10) ElementLine (250 -41 250 41 10) ElementLine (0 -41 250 -41 10) ElementLine (250 0 375 0 10) ElementLine (-125 0 0 0 10) ) Element(0x00000000 "resistor_axial" "R3" "500" 1150 1325 -35 15 0 100 0x00000000) ( Pin(0 -125 75 30 80 20 "1" "1" 0x01000101) Pin(0 375 85 30 80 20 "2" "2" 0x01000001) ElementLine (-41 0 41 0 10) ElementLine (-41 250 -41 0 10) ElementLine (41 250 -41 250 10) ElementLine (41 0 41 250 10) ElementLine (0 250 0 375 10) ElementLine (0 -125 0 0 10) ) Element(0x00000000 "general purpose NPN transistor" "Q3" "2N3904" 550 500 70 -135 0 100 0x00000000) ( Pin(0 0 80 30 110 20 "E" "1" 0x01000101) Pin(100 0 80 30 110 20 "B" "2" 0x01000001) Pin(200 0 80 30 110 20 "C" "3" 0x01000001) ElementLine (30 -70 170 -70 10) ElementArc (100 0 100 100 315 270 10) ) Element(0x00000000 "capacitor_axial" "C4" "600" 1000 1075 60 -25 0 100 0x00000000) ( Pin(-150 0 80 30 110 20 "1" "1" 0x01000101) Pin(450 0 80 30 110 20 "2" "2" 0x01000001) ElementLine (0 50 0 -50 10) ElementLine (300 50 0 50 10) ElementLine (300 -50 300 50 10) ElementLine (0 -50 300 -50 10) ElementLine (300 0 450 0 10) ElementLine (-150 0 0 0 10) ) Element(0x00000000 "general purpose NPN transistor" "Q1" "2N3904" 1125 275 60 -150 0 100 0x00000000) ( Pin(0 0 80 30 110 20 "E" "1" 0x01000101) Pin(100 0 80 30 110 20 "B" "2" 0x01000001) Pin(200 0 80 30 110 20 "C" "3" 0x01010001) ElementLine (30 -70 170 -70 10) ElementArc (100 0 100 100 315 270 10) ) Element(0x00000000 "capacitor_axial" "C5" "600" 875 750 10 -5 0 100 0x00000000) ( Pin(-150 0 80 30 110 20 "1" "1" 0x01000101) Pin(450 0 80 30 110 20 "2" "2" 0x01000001) ElementLine (0 50 0 -50 10) ElementLine (300 50 0 50 10) ElementLine (300 -50 300 50 10) ElementLine (0 -50 300 -50 10) ElementLine (300 0 450 0 10) ElementLine (-150 0 0 0 10) ) Element(0x00000000 "diode" "D1" "500" 675 1400 -30 -310 0 100 0x00000000) ( Pin(0 0 80 30 110 20 "1" "1" 0x01000101) Pin(0 -500 100 30 110 20 "2" "2" 0x01000001) ElementLine (-83 -166 83 -166 10) ElementLine (83 -334 0 -166 10) ElementLine (-83 -334 83 -334 10) ElementLine (0 -166 -83 -334 10) ElementLine (0 -334 0 -500 10) ElementLine (0 0 0 -166 10) ) Element(0x00000000 "resistor_axial" "R2" "500" 1825 1050 125 -25 0 100 0x00000000) ( Pin(-125 0 100 30 80 20 "1" "1" 0x01000001) Pin(375 0 85 30 80 20 "2" "2" 0x01000101) ElementLine (0 41 0 -41 10) ElementLine (250 41 0 41 10) ElementLine (250 -41 250 41 10) ElementLine (0 -41 250 -41 10) ElementLine (250 0 375 0 10) ElementLine (-125 0 0 0 10) ) Element(0x00000000 "capacitor_axial" "L2" "800" 2635 705 -35 200 0 100 0x00000000) ( Pin(0 -200 80 30 110 20 "1" "1" 0x01000101) Pin(0 600 100 30 110 20 "2" "2" 0x01000001) ElementLine (-66 0 66 0 10) ElementLine (-66 400 -66 0 10) ElementLine (66 400 -66 400 10) ElementLine (66 0 66 400 10) ElementLine (0 400 0 600 10) ElementLine (0 -200 0 0 10) ) Element(0x00000000 "general purpose NPN transistor" "Q4" "2N3904" 775 275 70 -140 0 100 0x00000000) ( Pin(0 0 80 30 110 20 "E" "1" 0x01000101) Pin(100 0 80 30 110 20 "B" "2" 0x01000001) Pin(200 0 80 30 110 20 "C" "3" 0x01010001) ElementLine (30 -70 170 -70 10) ElementArc (100 0 100 100 315 270 10) ) Element(0x00000000 "resistor_axial" "R6" "500" 1325 630 -175 -20 0 100 0x00000000) ( Pin(125 0 75 30 80 20 "1" "1" 0x01010101) Pin(-375 0 85 30 80 20 "2" "2" 0x01000001) ElementLine (0 -41 0 41 10) ElementLine (-250 -41 0 -41 10) ElementLine (-250 41 -250 -41 10) ElementLine (0 41 -250 41 10) ElementLine (-250 0 -375 0 10) ElementLine (125 0 0 0 10) ) Element(0x00000000 "" "A1" "" 2845 1300 -20 -195 0 100 0x00000000) ( Pin(0 0 205 30 235 28 "1" "1" 0x01000001) ElementLine (-105 100 -105 -100 10) ElementLine (100 100 -105 100 10) ElementLine (100 -100 100 100 10) ElementLine (75 -100 100 -100 10) ElementLine (-100 -100 80 -100 10) ) Element(0x00000000 "" "R4" "" 925 1550 -200 0 0 100 0x00000000) ( Pin(50 45 75 30 105 35 "2" "1" 0x01000001) Pin(50 -55 75 30 105 35 "3" "2" 0x01000001) Pin(-50 -5 75 30 105 35 "1" "3" 0x01000001) ElementLine (90 85 -85 85 10) ElementLine (90 -100 90 85 10) ElementLine (85 -95 90 -100 10) ElementLine (-85 -95 85 -95 10) ElementLine (-85 80 -85 -95 10) ) Element(0x00000000 "" "bat(+3v)" "" 1700 1840 125 -40 0 100 0x00000000) ( Pin(0 0 205 30 235 28 "1" "1" 0x01000001) ElementLine (-105 100 -105 -100 10) ElementLine (100 100 -105 100 10) ElementLine (100 -100 100 100 10) ElementLine (75 -100 100 -100 10) ElementLine (-100 -100 80 -100 10) ) Element(0x00000000 "capacitor_axial" "C1" "600" 2325 505 -200 -25 0 100 0x00000000) ( Pin(150 0 80 30 110 20 "1" "1" 0x01000101) Pin(-450 0 100 30 110 20 "2" "2" 0x01010001) ElementLine (0 -50 0 50 10) ElementLine (-300 -50 0 -50 10) ElementLine (-300 50 -300 -50 10) ElementLine (0 50 -300 50 10) ElementLine (-300 0 -450 0 10) ElementLine (150 0 0 0 10) ) Element(0x00000000 "" "lamp(1)" "" 155 1120 -105 155 0 100 0x00000000) ( Pin(0 0 205 30 235 28 "1" "1" 0x01000001) ElementLine (-105 100 -105 -100 10) ElementLine (100 100 -105 100 10) ElementLine (100 -100 100 100 10) ElementLine (75 -100 100 -100 10) ElementLine (-100 -100 80 -100 10) ) Element(0x00000000 "general purpose NPN transistor" "Q2" "2N3904" 350 1525 85 -145 0 100 0x00000000) ( Pin(0 0 80 30 110 20 "E" "1" 0x01000101) Pin(100 0 80 30 110 20 "B" "2" 0x01000001) Pin(200 0 80 30 110 20 "C" "3" 0x01000001) ElementLine (30 -70 170 -70 10) ElementArc (100 0 100 100 315 270 10) ) Layer(1 "solder") ( Line(1375 1075 1325 1025 40 30 0x00000020) Line(1450 1075 1375 1075 40 30 0x00000020) Line(850 1125 850 1075 40 30 0x00000020) Line(975 900 975 1475 40 30 0x00000020) Line(875 275 875 450 40 30 0x00000020) Line(1150 1450 1150 1700 40 30 0x00000020) Line(1275 1325 1150 1450 40 30 0x00000020) Line(1350 1325 1275 1325 40 30 0x00000020) Line(500 1250 350 1400 40 30 0x00000020) Line(1000 750 1325 750 40 30 0x00000020) Line(950 700 1000 750 40 30 0x00000020) Line(950 525 950 700 40 30 0x00000020) Line(1325 1025 1150 1200 40 30 0x00000020) Line(1325 750 1325 1025 40 30 0x00000020) Line(850 1125 550 1425 40 30 0x00000020) Line(600 650 600 725 40 30 0x00000020) Line(725 750 500 750 40 30 0x00000020) Line(180 1120 390 910 40 30 0x00000020) Line(950 1475 875 1550 40 30 0x00000020) Line(1875 675 1875 700 40 30 0x00000020) Line(2050 850 2375 850 40 30 0x00000020) Line(2475 505 2645 505 40 30 0x00000020) Line(450 1675 475 1700 40 30 0x00000020) Line(395 905 390 900 40 30 0x00000020) Line(1225 355 1275 405 40 30 0x00000020) Line(1525 500 1875 850 40 30 0x00000020) Line(1700 1670 1700 1830 40 30 0x00000020) Line(1875 675 2050 850 40 30 0x00000020) Line(2400 355 2475 430 40 30 0x00000020) Line(1125 380 1250 505 40 30 0x00000020) Line(1700 1050 1700 1275 40 30 0x00000020) Line(1700 1205 1700 1430 40 30 0x00000020) Line(675 1400 675 1325 40 30 0x00000020) Line(2645 505 2650 510 40 30 0x00000020) Line(1875 680 1600 405 40 30 0x00000020) Line(1150 1700 475 1700 40 30 0x00000020) Line(350 1400 350 1525 40 30 0x00000020) Line(550 1425 550 1525 40 30 0x00000020) Line(390 910 390 650 40 30 0x00000020) Line(560 275 790 275 40 30 0x00000020) Line(2200 1050 1875 1050 40 30 0x00000020) Line(1550 900 1700 1050 40 30 0x00000020) Line(1275 405 1600 405 40 30 0x00000020) Line(1700 1405 1700 1680 40 30 0x00000020) Line(875 455 950 530 40 30 0x00000020) Line(2830 1310 2850 1290 40 30 0x00000020) Line(2400 280 2400 355 40 30 0x00000020) Line(2635 1310 2830 1310 40 30 0x00000020) Line(155 665 540 280 40 30 0x00000020) Line(825 505 875 455 40 30 0x00000020) Line(1225 280 1225 355 40 30 0x00000020) Line(1250 505 1525 505 40 30 0x00000020) Line(650 605 600 655 40 30 0x00000020) Line(975 900 400 900 40 30 0x00000020) Line(2475 430 2475 680 40 30 0x00000020) Line(750 505 825 505 40 30 0x00000020) Line(150 1120 180 1120 40 30 0x00000020) Line(155 670 155 665 40 30 0x00000020) Line(1875 1250 1950 1325 40 30 0x00000020) Line(650 505 650 605 40 30 0x00000020) Line(975 1600 975 1675 40 30 0x00000020) Line(975 1475 950 1475 40 30 0x00000020) Line(390 650 540 500 40 30 0x00000020) Line(1475 900 1550 900 40 30 0x00000020) Line(1125 280 1125 380 40 30 0x00000020) Line(450 1525 450 1675 40 30 0x00000020) Line(1875 850 1875 1250 40 30 0x00000020) Text(4230 3915 2 100 "T J PORTER ELECTRONICS" 0x00000080) Text(4230 1910 2 100 "T J PORTER ELECTRONICS" 0x00000080) Text(1215 3915 2 100 "T J PORTER ELECTRONICS" 0x00000080) Text(1230 1910 2 100 "T J PORTER ELECTRONICS" 0x00000080) Polygon(0x00000010) ( (20 1980) (470 1980) (470 1870) (1260 1870) (1260 1980) (2970 1980) (2970 10) (20 10) ) ) Layer(2 "component") ( ) Layer(3 "GND") ( ) Layer(4 "power") ( ) Layer(5 "signal1") ( ) Layer(6 "signal2") ( ) Layer(7 "unused") ( ) Layer(8 "unused") ( ) Layer(9 "silk") ( ) Layer(10 "silk") ( ) NetList() ( Net("unnamed_net1" "(unknown)") ( Connect("L1-2") Connect("L2-1") Connect("C2-1") Connect("C1-1") ) Net("unnamed_net2" "(unknown)") ( Connect("L1-1") Connect("R6-1") Connect("C1-2") Connect("bat(0v)-1") Connect("Q1-3") Connect("Q4-3") Connect("C6-2") ) Net("unnamed_net3" "(unknown)") ( Connect("L2-2") Connect("A1-1") ) Net("unnamed_net4" "(unknown)") ( Connect("C2-2") Connect("R1-2") Connect("Q1-2") ) Net("unnamed_net5" "(unknown)") ( Connect("C3-1") Connect("R2-2") Connect("R1-1") Connect("Q1-1") ) Net("unnamed_net6" "(unknown)") ( Connect("C3-2") Connect("R3-2") Connect("R4-1") Connect("Q2-2") ) Net("unnamed_net7" "(unknown)") ( Connect("C4-1") Connect("Q2-3") Connect("D1-1") ) Net("unnamed_net8" "(unknown)") ( Connect("C4-2") Connect("R3-1") Connect("R6-2") Connect("Q3-3") Connect("C5-2") Connect("Q4-2") ) Net("unnamed_net9" "(unknown)") ( Connect("C5-1") Connect("R5-2") Connect("Q3-2") ) Net("unnamed_net10" "(unknown)") ( Connect("R2-1") Connect("bat(+3v)-1") Connect("R7-2") Connect("C6-1") ) Net("unnamed_net11" "(unknown)") ( Connect("R7-1") Connect("lamp(1)-1") Connect("Q3-1") Connect("R4-3") Connect("R4-2") Connect("D1-2") ) Net("unnamed_net12" "(unknown)") ( Connect("R5-1") Connect("Q2-1") ) Net("unnamed_net13" "(unknown)") ( Connect("lamp(2)-1") Connect("Q4-1") ) ) geda-gaf-1.8.2/examples/lightning_detector/gafrc0000664000175000017500000000003412050461155016573 00000000000000(component-library "./sym") geda-gaf-1.8.2/examples/lightning_detector/Makefile.in0000664000175000017500000004534712220655722017657 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = examples/lightning_detector DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(exampledir)" DATA = $(nobase_example_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ exampledir = $(docdir)/examples/lightning_detector/ nobase_example_DATA = \ bom bom.readme lightning.net lightning.pcb lightning.sch \ lightning.sch.bom gafrc \ sym/2N4401.sym sym/2N4403.sym EXTRA_DIST = $(nobase_example_DATA) MOSTLYCLEANFILES = gschem.log *~ CLEANFILES = gschem.log *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = gschem.log *~ Makefile.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/lightning_detector/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu examples/lightning_detector/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-nobase_exampleDATA: $(nobase_example_DATA) @$(NORMAL_INSTALL) @list='$(nobase_example_DATA)'; test -n "$(exampledir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(exampledir)'"; \ $(MKDIR_P) "$(DESTDIR)$(exampledir)" || exit 1; \ fi; \ $(am__nobase_list) | while read dir files; do \ xfiles=; for file in $$files; do \ if test -f "$$file"; then xfiles="$$xfiles $$file"; \ else xfiles="$$xfiles $(srcdir)/$$file"; fi; done; \ test -z "$$xfiles" || { \ test "x$$dir" = x. || { \ echo " $(MKDIR_P) '$(DESTDIR)$(exampledir)/$$dir'"; \ $(MKDIR_P) "$(DESTDIR)$(exampledir)/$$dir"; }; \ echo " $(INSTALL_DATA) $$xfiles '$(DESTDIR)$(exampledir)/$$dir'"; \ $(INSTALL_DATA) $$xfiles "$(DESTDIR)$(exampledir)/$$dir" || exit $$?; }; \ done uninstall-nobase_exampleDATA: @$(NORMAL_UNINSTALL) @list='$(nobase_example_DATA)'; test -n "$(exampledir)" || list=; \ $(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \ dir='$(DESTDIR)$(exampledir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(exampledir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-nobase_exampleDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-nobase_exampleDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-nobase_exampleDATA install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am uninstall-nobase_exampleDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/examples/lightning_detector/lightning.sch.bom0000664000175000017500000000070012050461155021024 00000000000000Bill of Materials for lightning.sch Component Value A1 ---------- 1uF C1 ---------- 680pf C2 ---------- 0.01uF C3 ---------- .01uF C3 ---------- 100uF C4 ---------- .005uF D1 ---------- 1N914 L1 ---------- 10mH L2 ---------- 10mH Q1 ---------- 2N4401 Q2 ---------- 2N4403 Q3 ---------- 2N4401 Q4 ---------- 2N4401 R1 ---------- 180k R2 ---------- 3.9k R3 ---------- 22k R4 ---------- 20k R5 ---------- 2.2K R6 ---------- 2.7k R7 ---------- 47R geda-gaf-1.8.2/examples/lightning_detector/lightning.sch0000664000175000017500000001274412050461155020263 00000000000000v 20070216 1 C 53100 60600 1 90 0 inductor-1.sym { T 52800 61000 5 10 1 1 180 0 1 refdes=L1 T 52600 59800 5 10 1 1 0 0 1 value=10mH T 53300 61100 5 10 0 0 0 0 1 device=INDUCTOR T 53300 61300 5 10 0 0 0 0 1 symversion=0.1 } C 53100 63100 1 90 0 inductor-1.sym { T 52800 63500 5 10 1 1 180 0 1 refdes=L2 T 53100 63800 5 10 1 1 0 0 1 value=10mH T 53300 63600 5 10 0 0 0 0 1 device=INDUCTOR T 53300 63800 5 10 0 0 0 0 1 symversion=0.1 } C 52500 58200 0 0 0 title-A4.sym T 57400 59000 9 10 1 0 0 0 1 LIGHTNING DETECTOR T 61100 58300 9 12 1 0 0 0 1 techman@dingoblue.net.au T 61000 58600 9 10 1 0 0 0 1 1.00 T 57200 58600 9 10 1 0 0 0 1 lightning.sch C 53500 61400 1 0 0 capacitor-2.sym { T 53700 61900 5 10 1 1 0 0 1 refdes=C2 T 53700 61200 5 10 1 1 0 0 1 value=0.01uF T 53700 62100 5 10 0 0 0 0 1 device=POLARIZED_CAPACITOR T 53700 62300 5 10 0 0 0 0 1 symversion=0.1 } C 53300 61100 1 270 0 capacitor-2.sym { T 53800 60600 5 10 1 1 0 0 1 refdes=C1 T 53600 60300 5 10 1 1 0 0 1 value=680pf T 53500 61800 5 10 0 0 0 0 1 device=POLARIZED_CAPACITOR T 53500 62000 5 10 0 0 0 0 1 symversion=0.1 } C 55600 62800 1 0 0 capacitor-2.sym { T 55800 63300 5 10 1 1 0 0 1 refdes=C3 T 55700 62600 5 10 1 1 0 0 1 value=.01uF T 55800 63500 5 10 0 0 0 0 1 device=POLARIZED_CAPACITOR T 55800 63700 5 10 0 0 0 0 1 symversion=0.1 } C 57800 62100 1 270 0 capacitor-2.sym { T 57400 61300 5 10 1 1 0 0 1 value=100uF T 57600 61800 5 10 1 1 0 0 1 refdes=C4 T 58000 62800 5 10 0 0 0 0 1 device=POLARIZED_CAPACITOR T 58000 63000 5 10 0 0 0 0 1 symversion=0.1 } C 59200 62100 1 270 0 capacitor-2.sym { T 58600 61300 5 10 1 1 0 0 1 value=.005uF T 58800 61600 5 10 1 1 0 0 1 refdes=C5 T 59400 62800 5 10 0 0 0 0 1 device=POLARIZED_CAPACITOR T 59400 63000 5 10 0 0 0 0 1 symversion=0.1 } C 54300 63300 1 270 0 resistor-1.sym { T 54000 63200 5 10 1 1 0 0 1 refdes=R1 T 53800 62900 5 10 1 1 0 0 1 value=180k T 54600 63700 5 10 0 0 0 0 1 device=RESISTOR } C 55100 64800 1 270 0 resistor-1.sym { T 55400 64500 5 10 1 1 0 0 1 refdes=R2 T 55400 64200 5 10 1 1 0 0 1 value=3.9k T 55400 65200 5 10 0 0 0 0 1 device=RESISTOR } C 61600 64900 1 90 0 resistor-1.sym { T 61900 65400 5 10 1 1 180 0 1 refdes=R7 T 61700 65000 5 10 1 1 0 0 1 value=47R T 61900 65300 5 10 0 0 0 0 1 device=RESISTOR } C 56600 61600 1 90 0 resistor-1.sym { T 56800 61800 5 10 1 1 180 0 1 refdes=R3 T 56600 61400 5 10 1 1 0 0 1 value=22k T 56900 62000 5 10 0 0 0 0 1 device=RESISTOR } C 58200 62400 1 0 0 resistor-1.sym { T 58400 62900 5 10 1 1 0 0 1 refdes=R5 T 58400 62700 5 10 1 1 0 0 1 value=2.2K T 58500 62800 5 10 0 0 0 0 1 device=RESISTOR } C 60300 60000 1 90 0 resistor-1.sym { T 59900 60600 5 10 1 1 180 0 1 refdes=R6 T 59700 60200 5 10 1 1 0 0 1 value=2.7k T 60600 60400 5 10 0 0 0 0 1 device=RESISTOR } C 56600 63600 1 90 0 resistor-variable-1.sym { T 56900 64100 5 10 1 1 180 0 1 refdes=R4 T 56600 63600 5 10 1 1 0 0 1 value=20k T 57400 64500 5 10 0 0 0 0 1 device=VARIABLE_RESISTOR } N 53000 63100 53000 61500 4 N 53000 60600 53000 60000 4 N 53500 61100 53500 61600 4 N 53500 60200 53500 60000 4 N 53500 61600 53000 61600 4 N 54400 61600 54500 61600 4 N 55200 63900 55200 62100 4 C 61900 62900 1 0 0 out-1.sym { T 62600 63000 5 10 1 1 0 0 1 refdes=lamp(1) T 61900 63200 5 10 0 0 0 0 1 device=OUTPUT } C 61900 61900 1 0 0 out-1.sym { T 62600 62000 5 10 1 1 0 0 1 refdes=lamp(2) T 61900 62200 5 10 0 0 0 0 1 device=OUTPUT } C 62600 66100 1 180 0 in-1.sym { T 62800 66000 5 10 1 1 0 0 1 refdes=bat(+3v) T 62600 66400 5 10 0 0 0 0 1 device=INPUT } C 62600 60100 1 180 0 in-1.sym { T 62800 60000 5 10 1 1 0 0 1 refdes=bat(0v) T 62600 60400 5 10 0 0 0 0 1 device=INPUT } C 52900 65300 1 270 0 in-1.sym { T 52900 65500 5 10 1 1 0 0 1 refdes=A1 T 52900 65600 5 10 0 0 0 0 1 device=INPUT } N 53000 64700 53000 64000 4 N 62000 60000 53000 60000 4 N 55200 61100 55200 60000 4 N 55200 60000 60200 60000 4 N 54400 63500 54400 63300 4 N 54400 62400 54400 61600 4 N 61700 60500 61700 60000 4 N 62000 66000 55200 66000 4 N 55200 66000 55200 64800 4 N 61500 65800 61500 66000 4 N 61500 63000 61500 64900 4 N 61500 63000 61900 63000 4 N 54400 63500 55200 63500 4 N 61000 61000 56500 61000 4 N 56500 61000 56500 61600 4 N 60200 60900 60200 61000 4 N 60200 62000 60200 61000 4 N 60200 63000 60200 64800 4 N 55200 63000 55600 63000 4 N 56500 62500 56500 63600 4 N 56000 64100 56000 64800 4 N 56000 64800 61500 64800 4 N 58200 62500 57500 62500 4 N 61900 62000 61700 62000 4 N 61700 62000 61700 61500 4 N 59400 62500 59400 62100 4 N 59400 61200 59400 61000 4 N 57500 63500 58000 63500 4 N 58000 63500 58000 62100 4 N 58000 61200 58000 61000 4 C 60600 64100 1 270 0 capacitor-2.sym { T 60900 63000 5 10 1 1 0 0 1 value=1uF T 60900 63300 5 10 1 1 0 0 1 refdes=C6 T 60800 64800 5 10 0 0 0 0 1 device=POLARIZED_CAPACITOR T 60800 65000 5 10 0 0 0 0 1 symversion=0.1 } N 60800 64100 60800 66000 4 N 60800 63200 60800 60000 4 N 59100 62500 59500 62500 4 N 56500 63000 56800 63000 4 N 56500 64500 56500 64800 4 N 57500 64700 57500 64800 4 N 57500 63500 57500 63800 4 C 57300 64700 1 270 0 diode-1.sym { T 57800 64300 5 10 1 1 0 0 1 refdes=D1 T 57800 64100 5 10 1 1 0 0 1 value=1N914 T 57700 65300 5 10 0 0 0 0 1 device=DIODE } C 54500 61100 1 0 0 2N4401.sym { T 55500 61900 5 10 1 1 0 0 1 refdes=Q1 T 55500 61600 5 10 1 1 0 0 1 value=2N4401 } C 56800 63500 1 180 1 2N4403.sym { T 56800 62500 5 10 1 1 0 0 1 refdes=Q2 T 56800 62300 5 10 1 1 0 0 1 value=2N4403 } C 59500 62000 1 0 0 2N4401.sym { T 59300 63000 5 10 1 1 0 0 1 value=2N4401 T 59500 63300 5 10 1 1 0 0 1 refdes=Q3 } C 61000 60500 1 0 0 2N4401.sym { T 62100 61100 5 10 1 1 0 0 1 refdes=Q4 T 62000 60900 5 10 1 1 0 0 1 value=2N4401 } geda-gaf-1.8.2/examples/lightning_detector/lightning.net0000664000175000017500000000071112050461155020263 00000000000000unnamed_net13 Q4-1 lamp(2)-1 unnamed_net12 Q2-1 R5-1 unnamed_net11 D1-2 R4-2 R4-3 Q3-1 lamp(1)-1 R7-1 unnamed_net10 C6-1 R7-2 bat(+3v)-1 R2-1 unnamed_net9 Q3-2 R5-2 C5-1 unnamed_net8 Q4-2 C5-2 Q3-3 R6-2 R3-1 C4-2 unnamed_net7 D1-1 Q2-3 C4-1 unnamed_net6 Q2-2 R4-1 R3-2 C3-2 unnamed_net5 Q1-1 R1-1 R2-2 C3-1 unnamed_net4 Q1-2 R1-2 C2-2 unnamed_net3 A1-1 L2-2 unnamed_net2 C6-2 Q4-3 Q1-3 bat(0v)-1 C1-2 R6-1 L1-1 unnamed_net1 C1-1 C2-1 L2-1 L1-2 geda-gaf-1.8.2/examples/lightning_detector/sym/0000775000175000017500000000000012220655773016473 500000000000000geda-gaf-1.8.2/examples/lightning_detector/sym/2N4403.sym0000664000175000017500000000104012063576065017733 00000000000000v 20091004 2 V 600 500 300 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 700 700 700 1000 1 0 1 { T 750 800 5 10 0 0 0 0 1 pinnumber=1 T 750 800 5 10 0 0 0 0 1 pinseq=1 } P 700 300 700 0 1 0 1 { T 750 50 5 10 0 0 0 0 1 pinnumber=3 T 750 50 5 10 0 0 0 0 1 pinseq=3 } P 0 500 300 500 1 0 0 { T 150 550 5 10 0 0 0 0 1 pinnumber=2 T 150 550 5 10 0 0 0 0 1 pinseq=2 } L 300 500 500 500 3 0 0 0 -1 -1 L 500 700 500 300 3 0 0 0 -1 -1 L 700 700 500 550 3 0 0 0 -1 -1 L 500 450 700 300 3 0 0 0 -1 -1 H 3 0 0 0 -1 -1 1 -1 -1 -1 -1 -1 4 M 680,350 L 600,375 L 650,300 z geda-gaf-1.8.2/examples/lightning_detector/sym/2N4401.sym0000664000175000017500000000104012063576065017731 00000000000000v 20091004 2 V 600 500 300 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 700 700 700 1000 1 0 1 { T 750 800 5 10 0 0 0 0 1 pinnumber=1 T 750 800 5 10 0 2 0 0 1 pinseq=1 } P 700 300 700 0 1 0 1 { T 750 50 5 10 0 0 0 0 1 pinnumber=3 T 750 50 5 10 0 0 0 0 1 pinseq=3 } P 0 500 300 500 1 0 0 { T 150 550 5 10 0 0 0 0 1 pinnumber=2 T 150 550 5 10 0 0 0 0 1 pinseq=2 } L 300 500 500 500 3 0 0 0 -1 -1 L 500 700 500 300 3 0 0 0 -1 -1 L 700 700 500 550 3 0 0 0 -1 -1 L 500 450 700 300 3 0 0 0 -1 -1 H 3 0 0 0 -1 -1 1 -1 -1 -1 -1 -1 4 M 620,325 L 700,300 L 650,375 z geda-gaf-1.8.2/COPYING0000664000175000017500000004310312050461155011133 00000000000000 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. geda-gaf-1.8.2/libgeda/0000775000175000017500000000000012220655750011553 500000000000000geda-gaf-1.8.2/libgeda/src/0000775000175000017500000000000012220655750012342 500000000000000geda-gaf-1.8.2/libgeda/src/s_clib.c0000664000175000017500000012674212207374140013671 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! \file s_clib.c * \brief The component library system * * clib stands for component library. * * The component library is made up of a number of * component sources, each of which in turn makes available a * number of component symbols. Each source may be either a * directory on disk containing symbol files, a command in the system * PATH which can generate gEDA symbol data (e.g. from a database), * or a Scheme function which can do likewise. A component source is * represented by a #CLibSource instance. * * The component library system manages component sources and * symbols, and abstracts the interface to the underlying storage. * * To initialise the component library, s_clib_init() is called. To * clean up when it is no longer needed, s_clib_free() should be * called. * * A directory which contains one or more symbol files in gEDA * format may be used as a component source. Each symbol file should * have a filename ending in ".sym" (case insensitive). A * component source based on a directory can be added using * s_clib_add_directory(). Symbol files with filenames starting with * a period "." are ignored. * * An executable program in the system search path may be used as a * component source, and it must conform with the specification given * on page \ref libcmds. A component source based on a command may * be added using s_clib_add_command(). * * Scheme functions may be used as a component source; for more * information, please see page \ref libscms. A component source * based on Scheme functions may be added using s_clib_add_scm(). * * Each symbol is identified by its \b name, which is stored in the * saved schematic file. The name must be a valid for storage in a * gEDA schematic file as the "basename" of a "component" object. * For symbols from directory sources, the filename of the symbol is * taken as the symbol name. For a command source, the name may be * any permissible string. Guidelines to follow: * * -# Do not begin a symbol name with "EMBEDDED" * -# Do not use whitespace, or any of the characters "/:!*?". * -# Try to use unique names. * * The component database may be queried using s_clib_search(). A * null-terminated buffer containing symbol data (suitable for * loading using o_read_buffer()) may be obtained using * s_clib_symbol_get_data(). If an exact symbol name is known, the * symbol data may be requested directly using * s_clib_symbol_get_data_by_name(). * * * \section libcmds Library Commands * * A program or set of programs can be used as a component source. The procedure used to add such a source from a gEDA rc file is: * * * (component-library-command listcmd getcmd name) * * * This is implemented by g_rc_component_library_command(), which is * a wrapper for s_clib_add_command(). * * The list command will be executed with no further arguments, and * should output a list of available symbol names on stdout. The get * command will have a symbol name appended to it as the final * argument, and should output gEDA symbol data on stdout. * * If the command cannot successfully complete, it should exit with * non-zero exit status. Anything it has output on stdout will be * ignored, and any stderr output displayed to the user. * * \section libscms Library Scheme Procedures * * A set of Scheme procedures can be used as a component source. The * procedure used to add such a source from a gEDA rc file is: * * * (component-library-funcs listfunc getfunc name) * * * This is implemented by g_rc_component_library_funcs(), which is a * wrapper for s_clib_add_scm(). * * \b listfunc and \b getfunc must both be Guile procedures. \b * listfunc takes no arguments, and returns a list of symbol * names. \b getfunc takes a symbol name as an argument, and returns * gEDA symbol data in a string, or \b \#f if not known. */ #include #include #include #include #ifdef HAVE_STRING_H #include #endif #ifdef HAVE_LIBDMALLOC #include #endif #ifdef HAVE_SYS_WAIT_H #include #else #define WIFSIGNALED(x) 0 #define WTERMSIG(x) 0 #define WIFEXITED(x) 1 #define WEXITSTATUS(x) 0 #endif #include #include "libgeda_priv.h" /* Constant definitions * =================== */ /*! All symbols in directory sources end with this string. Must be * lowercase. */ #define SYM_FILENAME_FILTER ".sym" /*! Library command mode used to fetch list of symbols */ #define CLIB_LIST_CMD "list" /*! Library command mode used to fetch symbol data */ #define CLIB_DATA_CMD "get" /*! Maximum number of symbol cache entries */ #define CLIB_MAX_SYMBOL_CACHE 128 /*! When symbol cache gets full, remove down to this level */ #define CLIB_MIN_SYMBOL_CACHE 96 /* Type definitions * ================ */ /*! Valid types of component source */ enum CLibSourceType { CLIB_NONE = 0, /*! Directory source */ CLIB_DIR, /*! Command source */ CLIB_CMD, /*! Guile function source */ CLIB_SCM, }; /*! Stores data about a particular component source */ struct _CLibSource { /*! Type of source */ enum CLibSourceType type; /*! Name of source */ gchar *name; /*! Available symbols (#CLibSymbol) */ GList *symbols; /*! Path to directory */ gchar *directory; /*! Command & arguments for listing symbols */ gchar *list_cmd; /*! Command & arguments for retrieving symbol data */ gchar *get_cmd; /*! Scheme function for listing symbols */ SCM list_fn; /*! Scheme function for retrieving symbol data */ SCM get_fn; }; /*! Stores data about a particular symbol */ struct _CLibSymbol { /*! The source this symbol is available from */ CLibSource *source; /*! The name of this symbol */ gchar *name; }; /*! Symbol data cache entry */ typedef struct _CacheEntry CacheEntry; struct _CacheEntry { /*! Pointer to symbol */ CLibSymbol *ptr; /*! Symbol data */ gchar *data; /*! Last access */ time_t accessed; }; /* Static variables * ================ */ /*! Holds the list of all known component sources */ static GList *clib_sources = NULL; /*! Caches results of s_clib_search(). The key of the hashtable is a * string describing the search that was carried out, and the value * is a list of symbol pointers. */ static GHashTable *clib_search_cache = NULL; /*! Caches symbol data. The key of the hashtable is a symbol pointer, * and the value is a #CacheEntry structure containing the data and * the time it was last used. */ static GHashTable *clib_symbol_cache = NULL; /* Local static functions * ====================== */ static void free_symbol (gpointer data, gpointer user_data); static void free_symbol_cache_entry (gpointer data); static void free_source (gpointer data, gpointer user_data); static gint compare_source_name (gconstpointer a, gconstpointer b); static gint compare_symbol_name (gconstpointer a, gconstpointer b); static void cache_find_oldest (gpointer key, gpointer value, gpointer user_data); static gchar *run_source_command (const gchar *command); static CLibSymbol *source_has_symbol (const CLibSource *source, const gchar *name); static gchar *uniquify_source_name (const gchar *name); static void refresh_directory (CLibSource *source); static void refresh_command (CLibSource *source); static void refresh_scm (CLibSource *source); static gchar *get_data_directory (const CLibSymbol *symbol); static gchar *get_data_command (const CLibSymbol *symbol); static gchar *get_data_scm (const CLibSymbol *symbol); /*! \brief Initialise the component library. * \par Function Description * Resets and initialises the component library. * * \warning This function must be called before any other functions * from s_clib.c. */ void s_clib_init () { if (clib_sources != NULL) { s_clib_free (); } if (clib_search_cache != NULL) { s_clib_flush_search_cache(); } else { clib_search_cache = g_hash_table_new_full ((GHashFunc) g_str_hash, (GEqualFunc)g_str_equal, (GDestroyNotify) g_free, (GDestroyNotify) g_list_free); } if (clib_symbol_cache != NULL) { s_clib_flush_symbol_cache(); } else { clib_symbol_cache = g_hash_table_new_full ((GHashFunc) g_direct_hash, (GEqualFunc) g_direct_equal, NULL, (GDestroyNotify) free_symbol_cache_entry); } } /*! \brief Iterator callback for freeing a symbol. * \par Function Description * Private function used only in s_clib.c. */ static void free_symbol (gpointer data, gpointer user_data) { CLibSymbol *symbol = data; if (symbol != NULL) { if (symbol->source != NULL) { symbol->source = NULL; } if (symbol->name != NULL) { g_free (symbol->name); symbol->name = NULL; } g_free(symbol); } } /*! \brief Iterator callback for freeing a symbol cache entry. * \par Function Description * Private function used only in s_clib.c. */ static void free_symbol_cache_entry (gpointer data) { CacheEntry *entry = data; g_return_if_fail (entry != NULL); g_free (entry->data); g_free (entry); } /*! \brief Iterator callback for freeing a source. * \par Function Description * Private function used only in s_clib.c. */ static void free_source (gpointer data, gpointer user_data) { CLibSource *source = data; if (source != NULL) { if (source->name != NULL) { g_free (source->name); source->name = NULL; } if (source->symbols != NULL) { g_list_foreach (source->symbols, (GFunc) free_symbol, NULL); g_list_free (source->symbols); source->symbols = NULL; } if (source->directory != NULL) { g_free (source->directory); source->directory = NULL; } if (source->list_cmd != NULL) { g_free (source->list_cmd); source->list_cmd = NULL; } if (source->get_cmd != NULL) { g_free (source->get_cmd); source->get_cmd = NULL; } if (source->type == CLIB_SCM) { scm_gc_unprotect_object (source->list_fn); scm_gc_unprotect_object (source->get_fn); } } } /*! \brief Free all memory used by the component library. * \par Function Description * Should be called at program exit to clean up any remaining data * being used by the component library system. */ void s_clib_free () { if (clib_sources != NULL) { g_list_foreach (clib_sources, (GFunc) free_source, NULL); g_list_free (clib_sources); clib_sources = NULL; } } /*! \brief Compare two component sources by name. * \par Function Description * Compare two component sources by name, case-insensitively. * Typically used when calling g_list_sort(). Private function used * only in s_clib.c. Argument order is as strcasecmp(). * * \param a First source to compare * \param b Second source to compare * * \return As strcasecmp(). */ static gint compare_source_name (gconstpointer a, gconstpointer b) { const CLibSource *src1 = a; const CLibSource *src2 = b; g_return_val_if_fail ((src1 != NULL), 0); g_return_val_if_fail ((src2 != NULL), 0); g_return_val_if_fail ((src1->name != NULL), 0); g_return_val_if_fail ((src2->name != NULL), 0); return strcasecmp(src1->name, src2->name); } /*! \brief Compare two component symbols by name. * \par Function Description * Compare two component symbols by name, case-insensitively. * Typically used when calling g_list_sort(). Private function used * only in s_clib.c. Argument order is as strcasecmp(). * * \param a First symbol to compare * \param b Second symbol to compare * * \return As strcasecmp(). */ static gint compare_symbol_name (gconstpointer a, gconstpointer b) { const CLibSymbol *sym1 = a; const CLibSymbol *sym2 = b; g_return_val_if_fail ((sym1 != NULL), 0); g_return_val_if_fail ((sym2 != NULL), 0); g_return_val_if_fail ((sym1->name != NULL), 0); g_return_val_if_fail ((sym2->name != NULL), 0); return strcasecmp(sym1->name, sym2->name); } /*! \brief Iterator callback for finding oldest symbol cache entry * \par Function Description * Private function used only in s_clib.c. */ static void cache_find_oldest (gpointer key, gpointer value, gpointer user_data) { CacheEntry *current = value; CacheEntry **oldest = user_data; if (current->accessed < (*oldest)->accessed) { *oldest = current; } } /*! \brief Execute a library command. * \par Function Description * Execute a library command, returning the standard output, or \b * NULL if the command fails for some reason. The system \b PATH is * used to find the program to execute. * The command can write messages to the standard error output. They * are forwarded to the libgeda logging mechanism. * * Private function used only in s_clib.c. * * \todo This is probably generally useful. * * \param command Command string to execute. * \return The program's output, or \b NULL on failure. */ static gchar *run_source_command (const gchar *command) { gchar *standard_output = NULL; gchar *standard_error = NULL; gint exit_status; GError *e = NULL; gboolean success = FALSE; g_return_val_if_fail((command != NULL), NULL); g_spawn_command_line_sync (command, &standard_output, &standard_error, &exit_status, &e); if (e != NULL) { s_log_message (_("Library command failed [%s]: %s\n"), command, e->message); g_error_free (e); } else if (WIFSIGNALED(exit_status)) { s_log_message (_("Library command failed [%s]: Uncaught signal %i.\n"), command, WTERMSIG(exit_status)); } else if (WIFEXITED(exit_status) && WEXITSTATUS(exit_status)) { s_log_message (_("Library command failed [%s]\n"), command); s_log_message(_("Error output was:\n%s\n"), standard_error); } else { success = TRUE; } /* forward library command messages */ if (success && standard_error != NULL) s_log_message ("%s", standard_error); g_free (standard_error); if (success) return standard_output; g_free (standard_output); return NULL; } /*! \brief Get a list of available component sources. * \par Function Description * Gets the current list of sources. * \warning The GList returned should be freed when no longer * needed. The returned value is not guaranteed to remain valid over * calls to s_clib_add_directory() or s_clib_add_command(). * \return A \b GList of CLibSource. */ GList *s_clib_get_sources (const gboolean sorted) { GList *l = g_list_copy(clib_sources); if (sorted) { l = g_list_sort (l, (GCompareFunc) compare_source_name); } return l; } /*! \brief Find any symbols within a source with a given name. * \par Function Description * Iterates through the symbol list of the given source, checking if * there is already a symbol with the given name. If there is * such a symbol, it is returned. * * \param source The source to check. * \param name The symbol name to look for. * \return The matching symbol, or \b NULL if no match was found. */ static CLibSymbol *source_has_symbol (const CLibSource *source, const gchar *name) { GList *symlist; CLibSymbol *symbol; for (symlist = g_list_first(source->symbols); symlist != NULL; symlist = g_list_next(symlist)) { symbol = (CLibSymbol *) symlist->data; if (strcmp (symbol->name, name) == 0) return symbol; } return NULL; } /*! \brief Make sure a source name is unique. * \par Function Description * Checks if a source already exists with the given \a name. If one * does, appends a number to the source name. If \a name is not * already in use, returns it as is. The return value is always a * newly-allocated string, and should be freed. * it. */ static gchar *uniquify_source_name (const gchar *name) { gchar *newname = NULL; gint i = 0; if (s_clib_get_source_by_name (name) == NULL) { return g_strdup (name); } do { g_free (newname); i++; newname = g_strdup_printf ("%s<%i>", name, i); } while (s_clib_get_source_by_name (newname) != NULL); s_log_message (_("Library name [%s] already in use. Using [%s].\n"), name, newname); return newname; } /*! \brief Rescan a directory for symbols. * \par Function Description * Rescans a directory for symbols. * * \todo Does this need to do something more sane with subdirectories * than just skipping them silently? * * Private function used only in s_clib.c. */ static void refresh_directory (CLibSource *source) { CLibSymbol *symbol; GDir *dir; const gchar *entry; gchar *low_entry; gchar *fullpath; gboolean isfile; GError *e = NULL; g_return_if_fail (source != NULL); g_return_if_fail (source->type == CLIB_DIR); /* Clear the current symbol list */ g_list_foreach (source->symbols, (GFunc) free_symbol, NULL); g_list_free (source->symbols); source->symbols = NULL; /* Open the directory for reading. */ dir = g_dir_open (source->directory, 0, &e); if (e != NULL) { s_log_message (_("Failed to open directory [%s]: %s\n"), source->directory, e->message); g_error_free (e); return; } while ((entry = g_dir_read_name (dir)) != NULL) { /* skip ".", ".." & hidden files */ if (entry[0] == '.') continue; /* skip subdirectories (for now) */ fullpath = g_build_filename (source->directory, entry, NULL); isfile = g_file_test (fullpath, G_FILE_TEST_IS_REGULAR); g_free (fullpath); if (!isfile) continue; /* skip filenames that we already know about. */ if (source_has_symbol (source, entry) != NULL) continue; /* skip filenames which don't have the right suffix. */ low_entry = g_utf8_strdown (entry, -1); if (!g_str_has_suffix (low_entry, SYM_FILENAME_FILTER)) { g_free (low_entry); continue; } g_free (low_entry); /* Create and add new symbol record */ symbol = g_new0 (CLibSymbol, 1); symbol->source = source; symbol->name = g_strdup(entry); /* Prepend because it's faster and it doesn't matter what order we * add them. */ source->symbols = g_list_prepend (source->symbols, symbol); } entry = NULL; g_dir_close (dir); /* Now sort the list of symbols by name. */ source->symbols = g_list_sort (source->symbols, (GCompareFunc) compare_symbol_name); s_clib_flush_search_cache(); s_clib_flush_symbol_cache(); } /*! \brief Re-poll a library command for symbols. * \par Function Description * Runs a library command, requesting a list of available symbols, * and updates the source with the new list. * * Private function used only in s_clib.c. */ static void refresh_command (CLibSource *source) { gchar *cmdout; TextBuffer *tb; const gchar *line; CLibSymbol *symbol; gchar *name; g_return_if_fail (source != NULL); g_return_if_fail (source->type == CLIB_CMD); /* Clear the current symbol list */ g_list_foreach (source->symbols, (GFunc) free_symbol, NULL); g_list_free (source->symbols); source->symbols = NULL; /* Run the command to get the list of symbols */ cmdout = run_source_command (source->list_cmd); if (cmdout == NULL) return; /* Use a TextBuffer to help reading out the lines of the output */ tb = s_textbuffer_new (cmdout, -1); while (1) { line = s_textbuffer_next_line (tb); if (line == NULL) break; if (line[0] == '.') continue; /* TODO is this sane? */ name = remove_nl(g_strdup(line)); /* skip symbols already known about */ if (source_has_symbol (source, name) != NULL) { g_free (name); continue; } symbol = g_new0 (CLibSymbol, 1); symbol->source = source; symbol->name = name; /* Prepend because it's faster and it doesn't matter what order we * add them. */ source->symbols = g_list_prepend (source->symbols, symbol); } s_textbuffer_free (tb); g_free (cmdout); /* Sort all symbols by name. */ source->symbols = g_list_sort (source->symbols, (GCompareFunc) compare_symbol_name); s_clib_flush_search_cache(); s_clib_flush_symbol_cache(); } /*! \brief Re-poll a scheme procedure for symbols. * \par Function Description * Calls a Scheme procedure to obtain a list of available symbols, * and updates the source with the new list * * Private function used only in s_clib.c. */ static void refresh_scm (CLibSource *source) { SCM symlist; SCM symname; CLibSymbol *symbol; char *tmp; g_return_if_fail (source != NULL); g_return_if_fail (source->type == CLIB_SCM); /* Clear the current symbol list */ g_list_foreach (source->symbols, (GFunc) free_symbol, NULL); g_list_free (source->symbols); source->symbols = NULL; symlist = scm_call_0 (source->list_fn); if (SCM_NCONSP (symlist) && (symlist != SCM_EOL)) { s_log_message (_("Failed to scan library [%s]: Scheme function returned non-list\n"), source->name); return; } while (symlist != SCM_EOL) { symname = SCM_CAR (symlist); if (!scm_is_string (symname)) { s_log_message (_("Non-string symbol name while scanning library [%s]\n"), source->name); } else { symbol = g_new0 (CLibSymbol, 1); symbol->source = source; /* Need to make sure that the correct free() function is called * on strings allocated by Guile. */ tmp = scm_to_utf8_string (symname); symbol->name = g_strdup(tmp); free (tmp); /* Prepend because it's faster and it doesn't matter what order we * add them. */ source->symbols = g_list_prepend (source->symbols, symbol); } symlist = SCM_CDR (symlist); } /* Now sort the list of symbols by name. */ source->symbols = g_list_sort (source->symbols, (GCompareFunc) compare_symbol_name); s_clib_flush_search_cache(); s_clib_flush_symbol_cache(); } /*! \brief Rescan all available component libraries. * \par Function Description * Resets the list of symbols available from each source, and * repopulates it from scratch. Useful e.g. for checking for new * symbols. * * \bug Disabled for now because it would break cached CLibSymbols used * all over the place (e.g. in #st_object). */ void s_clib_refresh () { GList *sourcelist; CLibSource *source; for (sourcelist = clib_sources; sourcelist != NULL; sourcelist = g_list_next(sourcelist)) { source = (CLibSource *) sourcelist->data; switch (source->type) { case CLIB_DIR: refresh_directory(source); break; case CLIB_CMD: refresh_command (source); break; case CLIB_SCM: refresh_scm (source); break; default: g_critical("s_clib_refresh: source %p has bad source type %i\n", source, (gint) source->type); break; } } } /*! \brief Get a named component source. * \par Function Description * Iterates through the known component sources, checking if there is * a source with the given \a name. * * \param name The source name to look for. * * \return The matching source, or \b NULL if no match was found. */ const CLibSource *s_clib_get_source_by_name (const gchar *name) { GList *sourcelist; CLibSource *source; for (sourcelist = clib_sources; sourcelist != NULL; sourcelist = g_list_next(sourcelist)) { source = (CLibSource *) sourcelist->data; if (strcmp (source->name, name) == 0) { return source; } } return NULL; } /*! \brief Add a directory of symbol files to the library * \par Function Description * Adds a directory containing symbol files to the library. Only * files ending with #SYM_FILENAME_FILTER are considered to be symbol * files. A \a name may be specified for the source; if \a name is * \b NULL, the basename of the directory as returned by * g_path_get_basename() is used. * * \param directory The path of the directory to add. * \param name A descriptive name for the directory. * \return The #CLibSource associated with the directory. */ const CLibSource *s_clib_add_directory (const gchar *directory, const gchar *name) { CLibSource *source; gchar *intname, *realname; if (directory == NULL) { return NULL; } if (name == NULL) { intname = g_path_get_basename (directory); realname = uniquify_source_name (intname); g_free (intname); } else { realname = uniquify_source_name (name); } source = g_new0 (CLibSource, 1); source->type = CLIB_DIR; source->directory = g_strdup (directory); source->name = realname; refresh_directory (source); /* Sources added later get scanned earlier */ clib_sources = g_list_prepend (clib_sources, source); return source; } /*! \brief Add symbol-generating commands to the library * \par Function Description * Adds a set of commands which can generate symbols to the * library. \a list_cmd and \a get_cmd should be strings consisting * of an executable name followed by any arguments required. * Executables are resolved using the current PATH. See page \ref * libcmds for more information on library commands. * * \param list_cmd The executable & arguments used to list available * symbols. * \param get_cmd The executable & arguments used to retrieve symbol * data. * \param name A descriptive name for the component source. * \return The CLibSource associated with the component source. */ const CLibSource *s_clib_add_command (const gchar *list_cmd, const gchar *get_cmd, const gchar *name) { CLibSource *source; gchar *realname; if (name == NULL) { s_log_message (_("Cannot add library: name not specified\n")); return NULL; } realname = uniquify_source_name (name); if (list_cmd == NULL || get_cmd == NULL) { s_log_message (_("Cannot add library [%s]: both 'list' and " "'get' commands must be specified.\n"), realname); } source = g_new0 (CLibSource, 1); source->type = CLIB_CMD; source->name = realname; source->list_cmd = g_strdup (list_cmd); source->get_cmd = g_strdup (get_cmd); refresh_command (source); /* Sources added later get sacnned earlier */ clib_sources = g_list_prepend (clib_sources, source); return source; } /*! \brief Add symbol-generating Scheme procedures to the library. * \par Function Description * Adds a source to the library based on Scheme procedures. See page * \ref libscms for more information. Two procedures are required: \a * listfunc must return a Scheme list of symbol names, and \a getfunc * must return a string containing symbol data when passed a symbol * name. * * \param listfunc A Scheme function returning a list of symbols. * \param getfunc A Scheme function returning symbol data. * \param name A descriptive name for the component source. * * \return The new CLibSource. */ const CLibSource *s_clib_add_scm (SCM listfunc, SCM getfunc, const gchar *name) { CLibSource *source; gchar *realname; if (name == NULL) { s_log_message (_("Cannot add library: name not specified\n")); return NULL; } realname = uniquify_source_name (name); if (scm_is_false (scm_procedure_p (listfunc)) && scm_is_false (scm_procedure_p (getfunc))) { s_log_message (_("Cannot add Scheme-library [%s]: callbacks must be closures\n"), realname); return NULL; } source = g_new0 (CLibSource, 1); source->type = CLIB_SCM; source->name = realname; source->list_fn = scm_gc_protect_object (listfunc); source->get_fn = scm_gc_protect_object (getfunc); refresh_scm (source); clib_sources = g_list_prepend (clib_sources, source); return source; } /*! \brief Get the name of a source. * \par Function Description * Get the name of a source for use e.g. in displaying a GUI. * * \param source Source to be examined. * \return Name of source. */ const gchar *s_clib_source_get_name (const CLibSource *source) { if (source == NULL) return NULL; return source->name; } /*! \brief Get a list of symbols available from a given source. * \par Function Description * Get a \b GList containing all of the symbols available from \a * source. * * \warning The returned \b GList will not be consistent over a call to * s_clib_refresh(). It should be freed when no longer needed. * * \param source Source to be examined. * \return A \b GList of #CLibSymbol. */ GList *s_clib_source_get_symbols (const CLibSource *source) { if (source == NULL) return NULL; return g_list_copy(source->symbols); } /*! \brief Get the name of a symbol. * \par Function Description * Get the name of a symbol. The symbol name uniquely identifies it * to libgeda. * * \param symbol Symbol to be examined. * \return Name of symbol. */ const gchar *s_clib_symbol_get_name (const CLibSymbol *symbol) { if (symbol == NULL) return NULL; return symbol->name; } /*! \brief Get a filename for editing a symbol. * \par Function Description * Get the filename of the file a symbol was loaded from, if possible * (e.g. to allow loading for user editing). * * \warning The returned string should be freed when no longer * needed. * * \todo This is hack until there is a way to edit documents in * gschem which do not have a file in the filesystem associated with * them. * * \deprecated This function is a temporary workaround. * * \param symbol Symbol to be examined. * \return Filename of symbol. */ gchar *s_clib_symbol_get_filename (const CLibSymbol *symbol) { if (symbol == NULL) return NULL; if (symbol->source->type != CLIB_DIR) return NULL; return g_build_filename(symbol->source->directory, symbol->name, NULL); } /*! \brief Get the source to which a symbol belongs. * \par Function Description * Get the source which a symbol is associated. * * \param symbol Symbol to be examined. * \return Source which owns symbol. */ const CLibSource *s_clib_symbol_get_source (const CLibSymbol *symbol) { if (symbol == NULL) return NULL; return symbol->source; } /*! \brief Get symbol data from a directory source. * \par Function Description * Get symbol data from a directory data source. The return value * should be free()'d when no longer needed. * * Private function used only in s_clib.c. * * \param symbol Symbol to get data for. * \return Allocated buffer containing symbol data. */ static gchar *get_data_directory (const CLibSymbol *symbol) { gchar *filename = NULL; gchar *data = NULL; GError *e = NULL; g_return_val_if_fail ((symbol != NULL), NULL); g_return_val_if_fail ((symbol->source->type == CLIB_DIR), NULL); filename = g_build_filename(symbol->source->directory, symbol->name, NULL); g_file_get_contents (filename, &data, NULL, &e); if (e != NULL) { s_log_message (_("Failed to load symbol from file [%s]: %s\n"), filename, e->message); g_error_free (e); } g_free (filename); return data; } /*! \brief Get symbol data from a library command. * \par Function Description * Get symbol data from a library command. The return value should * be free()'d when no longer needed. * * Private function used only in s_clib.c. * * \param symbol Symbol to get data for. * \return Allocated buffer containing symbol data. */ static gchar *get_data_command (const CLibSymbol *symbol) { gchar *command; gchar *result; g_return_val_if_fail ((symbol != NULL), NULL); g_return_val_if_fail ((symbol->source->type == CLIB_CMD), NULL); command = g_strdup_printf ("%s %s", symbol->source->get_cmd, symbol->name); result = run_source_command ( command ); g_free (command); return result; } /*! \brief Get symbol data from a Scheme-based component source. * \par Function Description * Get symbol data from a Scheme-based component source. The return * value should be free()'d when no longer needed. * * Private function used only in s_clib.c. * * \param symbol Symbol to get data for. * \return Allocated buffer containing symbol data. */ static gchar *get_data_scm (const CLibSymbol *symbol) { SCM symdata; char *tmp; gchar *result; g_return_val_if_fail ((symbol != NULL), NULL); g_return_val_if_fail ((symbol->source->type == CLIB_SCM), NULL); symdata = scm_call_1 (symbol->source->get_fn, scm_from_utf8_string (symbol->name)); if (!scm_is_string (symdata)) { s_log_message (_("Failed to load symbol data [%s] from source [%s]\n"), symbol->name, symbol->source->name); return NULL; } /* Need to make sure that the correct free() function is called * on strings allocated by Guile. */ tmp = scm_to_utf8_string (symdata); result = g_strdup(tmp); free (tmp); return result; } /*! \brief Get symbol data. * \par Function Description * Get the unparsed gEDA-format data corresponding to a symbol from * the symbol's data source. The return value should be free()'d * when no longer needed. * * On failure, returns \b NULL (the error will be logged). * * \param symbol Symbol to get data for. * \return Allocated buffer containing symbol data. */ gchar *s_clib_symbol_get_data (const CLibSymbol *symbol) { CacheEntry *cached; gchar *data; gpointer symptr; gint n; g_return_val_if_fail ((symbol != NULL), NULL); g_return_val_if_fail ((symbol->source != NULL), NULL); /* Trickery to bypass effects of const */ symptr = (gpointer) symbol; /* First, try the cache. */ cached = g_hash_table_lookup (clib_symbol_cache, symptr); if (cached != NULL) { cached->accessed = time(NULL); return g_strdup(cached->data); } /* If the symbol wasn't found in the cache, get it directly. */ switch (symbol->source->type) { case CLIB_DIR: data = get_data_directory (symbol); break; case CLIB_CMD: data = get_data_command (symbol); break; case CLIB_SCM: data = get_data_scm (symbol); break; default: g_critical("s_clib_symbol_get_data: source %p has bad source type %i\n", symbol->source, (gint) symbol->source->type); return NULL; } if (data == NULL) return NULL; /* Cache the symbol data */ cached = g_new (CacheEntry, 1); cached->ptr = (CLibSymbol *) symptr; cached->data = g_strdup (data); cached->accessed = time (NULL); g_hash_table_insert (clib_symbol_cache, symptr, cached); /* Clean out the cache if it's too full */ n = g_hash_table_size (clib_symbol_cache); if (n > CLIB_MAX_SYMBOL_CACHE) { for ( ; n > CLIB_MIN_SYMBOL_CACHE; n--) { g_hash_table_foreach (clib_symbol_cache, (GHFunc) cache_find_oldest, &cached); g_hash_table_remove (clib_symbol_cache, cached->ptr); } } return data; } /*! \brief Find all symbols matching a pattern. * * \par Function Description * Searches the library, returning all symbols whose * names match \a pattern. * * Two search modes are available: \b CLIB_EXACT, where \a pattern is * compared to the symbol name using strcmp(), and \b CLIB_GLOB, * where \a pattern is assumed to be a glob pattern (see the GLib * documentation for details of the glob syntax applicable). * * \warning The #CLibSymbol instances in the \b GList returned belong * to the component library, and should be considered constants; they * should not be manipulated or free()'d. On the other hand, the \b * GList returned must be freed with \b g_list_free() when no longer * needed. Note that the values returned will be invalidated by a * call to s_clib_free() or s_clib_refresh(). * * \param pattern The pattern to match against. * \param mode The search mode to use. * \return A \b GList of matching #CLibSymbol structures. */ GList *s_clib_search (const gchar *pattern, const CLibSearchMode mode) { GList *sourcelist; GList *symlist; GList *result = NULL; CLibSource *source; CLibSymbol *symbol; GPatternSpec *globpattern = NULL; gchar *key; gchar keytype; if (pattern == NULL) return NULL; /* Use different cache keys depending on what sort of search is being done */ switch (mode) { case CLIB_GLOB: keytype = 'g'; break; case CLIB_EXACT: keytype = 's'; break; default: g_critical ("s_clib_search: Bad search mode %i\n", mode); return NULL; } key = g_strdup_printf("%c%s", keytype, pattern); /* Check to see if the query is already in the cache */ result = (GList *) g_hash_table_lookup (clib_search_cache, key); if (result != NULL) { g_free (key); return g_list_copy (result); } if (mode == CLIB_GLOB) { globpattern = g_pattern_spec_new(pattern); } for (sourcelist = clib_sources; sourcelist != NULL; sourcelist = g_list_next(sourcelist)) { source = (CLibSource *) sourcelist->data; for (symlist = source->symbols; symlist != NULL; symlist = g_list_next(symlist)) { symbol = (CLibSymbol *) symlist->data; switch (mode) { case CLIB_EXACT: if (strcmp (pattern, symbol->name) == 0) { result = g_list_prepend (result, symbol); } break; case CLIB_GLOB: if (g_pattern_match_string (globpattern, symbol->name)) { result = g_list_prepend (result, symbol); } break; } } } result = g_list_reverse (result); if (globpattern != NULL) { g_pattern_spec_free (globpattern); } g_hash_table_insert (clib_search_cache, key, g_list_copy (result)); /* __don't__ free key here, it's stored by the hash table! */ return result; } /*! \brief Flush the symbol name lookup cache. * \par Function Description * Clears the hashtable which caches the results of s_clib_search(). * You shouldn't ever need to call this, as all functions which * invalidate the cache are supposed to make sure it's flushed. */ void s_clib_flush_search_cache () { g_hash_table_remove_all (clib_search_cache); /* Introduced in glib 2.12 */ } /*! \brief Flush the symbol data cache. * \par Function Description * Clears the hashtable which caches the results of s_clib_symbol_get_data(). * You shouldn't ever need to call this, as all functions which * invalidate the cache are supposed to make sure it's flushed. */ void s_clib_flush_symbol_cache () { g_hash_table_remove_all (clib_symbol_cache); /* Introduced in glib 2.12 */ } /*! \brief Invalidate all cached data about a symbol. * \par Function Description * Removes all cached symbol data for \a symbol. * * \param symbol Symbol to flush cached data for. */ void s_clib_symbol_invalidate_data (const CLibSymbol *symbol) { g_hash_table_remove (clib_symbol_cache, (gpointer) symbol); } /*! \brief Get symbol structure for a given symbol name. * \par Function Description * Return the first symbol found with the given \a name. If more * than one matching symbol is found or no matches are found at all, * emits a log message warning the user. * * \param name The symbol name to match against. * \return The first matching symbol, or NULL if none found. */ const CLibSymbol *s_clib_get_symbol_by_name (const gchar *name) { GList *symlist = NULL; const CLibSymbol *retval; symlist = s_clib_search (name, CLIB_EXACT); if (symlist == NULL) { s_log_message (_("Component [%s] was not found in the component library\n"), name); return NULL; } if (g_list_next (symlist) != NULL) { /* More than one symbol */ s_log_message (_("More than one component found with name [%s]\n"), name); } retval = (CLibSymbol *) symlist->data; g_list_free (symlist); return retval; } /*! \brief Get symbol data for a given symbol name. * \par Function Description * Return the data for the first symbol found with the given name. * This is a helper function for the schematic load system, as it * will always want to load symbols given only their name. * * On failure, returns \b NULL (the error will be logged). * * \param name The symbol name to match against. * \return Allocated buffer containing symbol data. */ gchar *s_clib_symbol_get_data_by_name (const gchar *name) { const CLibSymbol *symbol; symbol = s_clib_get_symbol_by_name (name); if (symbol == NULL) return NULL; return s_clib_symbol_get_data (symbol); } /*! \brief Get a list of symbols used. * \par Function Description * * Scan a #TOPLEVEL structure's object list looking for symbols, and * return them in a list. * * \warning The #CLibSymbol instances in the \b GList returned belong * to the component library, and should be considered constants; they * should not be manipulated or free()'d. On the other hand, the \b * GList returned must be freed with \b g_list_free() when no longer * needed. Note that the values returned will be invalidated by a * call to s_clib_free() or s_clib_refresh(). * * \bug Only includes components which are not embedded, but they * should (probably) also appear in the list. * * \param toplevel #TOPLEVEL structure to scan. * \return GList of symbols. */ GList *s_toplevel_get_symbols (const TOPLEVEL *toplevel) { GList *result = NULL; GList *iter = NULL; OBJECT *o = NULL; PAGE *page; GList *symlist = NULL; CLibSymbol *sym = NULL; const GList *p_iter; const GList *o_iter; g_return_val_if_fail ((toplevel != NULL), NULL); for ( p_iter = geda_list_get_glist( toplevel->pages ); p_iter != NULL; p_iter = g_list_next( p_iter )) { page = (PAGE *)p_iter->data; for (o_iter = s_page_objects (page); o_iter != NULL; o_iter = g_list_next (o_iter)) { o = (OBJECT *)o_iter->data; if (o->type != OBJ_COMPLEX) continue; if (o->complex_basename == NULL) continue; /* Since we're not looking at embedded symbols, the first * component with the given name will be the one we need. * N.b. we don't use s_clib_get_symbol_by_name() because it's * spammeh. */ symlist = s_clib_search (o->complex_basename, CLIB_EXACT); if (symlist == NULL) continue; sym = (CLibSymbol *) symlist->data; g_list_free (symlist); /* We do the list insertion by evilly comparing pointers. This * is okay, because we always take the first symbol with the * given name, and symbol pointers don't change while this * function is running (we hope). Note that this creates a * sorted list.*/ for (iter = result; iter != NULL; iter = g_list_next(iter)) { if (iter->data == sym) { break; /* Already in list */ } if (compare_symbol_name (iter->data, sym) > 0) { /* not in list yet, and gone past point where it should go */ result = g_list_insert_before (result, iter, sym); break; } } if (iter == NULL) { /* not in list yet, and at end of list */ result = g_list_append (result, sym); } } } return result; } geda-gaf-1.8.2/libgeda/src/m_line.c0000664000175000017500000000543012207374140013667 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! \file m_line.c * * \brief Low-level mathmatical functions for lines */ #include #include #include #include "libgeda_priv.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \brief Calculates the distance between the given point and the closest * point on the given line segment. * * If the closest point on the line resides beyond the line segment's * end point, this function returns the distance from the given point to the * closest end point. * * If the line represents a single point (the endpoints are the same), this * function calcualtes the distance to that point. * * \param [in] line The LINE object. * \param [in] x The x coordinate of the given point. * \param [in] y The y coordinate of the given point. * \return The shortest distance from the object to the point. With an * invalid parameter, this function returns G_MAXDOUBLE. */ double m_line_shortest_distance (LINE *line, int x, int y) { double cx, cy; double dx, dy; double dx0, dy0; double lx0, ly0; double ldx, ldy; double t; g_return_val_if_fail (line != NULL, G_MAXDOUBLE); lx0 = (double)line->x[0]; ly0 = (double)line->y[0]; ldx = (double)(line->x[1] - line->x[0]); ldy = (double)(line->y[1] - line->y[0]); if (ldx == 0 && ldy == 0) { /* if line is a point, just calculate distance to the point */ dx = x - lx0; dy = y - ly0; } else { /* calculate parametric value of perpendicular intersection */ dx0 = ldx * (x - lx0); dy0 = ldy * (y - ly0); t = (dx0 + dy0) / (ldx * ldx + ldy * ldy); /* constrain the parametric value to a point on the line */ t = max (t, 0); t = min (t, 1); /* calculate closest point on the line */ cx = t * ldx + lx0; cy = t * ldy + ly0; /* calculate distance to closest point */ dx = x - cx; dy = y - cy; } return sqrt ((dx * dx) + (dy * dy)); } geda-gaf-1.8.2/libgeda/src/s_cue.c0000664000175000017500000002007312220647257013531 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #ifdef HAVE_STDLIB_H #include #endif #include #include "libgeda_priv.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void s_cue_postscript_fillbox(TOPLEVEL * toplevel, FILE * fp, int x, int y) { int offset; int offset2; /* hard coded values */ offset = CUE_BOX_SIZE; offset2 = offset*2; f_print_set_color(toplevel, fp, NET_ENDPOINT_COLOR); fprintf(fp, "%d %d %d %d fbox\n", offset2, offset2, x-offset, y-offset); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void s_cue_postscript_junction (TOPLEVEL * toplevel, FILE * fp, int x, int y, int bus_involved) { int offset2; if (bus_involved) { offset2 = JUNCTION_CUE_SIZE_BUS; } else { offset2 = JUNCTION_CUE_SIZE_NET; } f_print_set_color(toplevel, fp, JUNCTION_COLOR); fprintf(fp, "newpath\n"); fprintf(fp, "%d %d\n", x, y); fprintf(fp, "%d\n", offset2 / 2); fprintf(fp, "0 360 arc\n"); fprintf(fp, "fill\n"); } /*! \brief Draw an arrow at the end of a net. */ void s_cue_postscript_arrow (TOPLEVEL *toplevel, FILE *fp, int x, int y, int dx, int dy) { int offset = CUE_BOX_SIZE; f_print_set_color (toplevel, fp, JUNCTION_COLOR); fprintf (fp, "gsave\n"); /* We compute a transformation so that the arrowhead is aligned with * the net segment. */ double len = hypot (dx, dy); if (len != 0) { double c = dx / len; double s = dy / len; fprintf (fp, "[ %.2f %.2f %.2f %.2f %d %d ] concat\n", c, -s, s, c, x, y); } else { fprintf (fp, "%d %d translate\n", x, y); /* Translate to centre point of the arrow */ } /* Now draw a simple arrowhead */ fprintf (fp, "newpath\n"); fprintf (fp, "%d %d moveto\n", -offset, -offset); fprintf (fp, "%d %d lineto\n", -offset, offset); fprintf (fp, "%d %d lineto\n", offset, 0); fprintf (fp, "closepath\n" "fill\n" "grestore\n"); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void s_cue_output_all (TOPLEVEL * toplevel, const GList *obj_list, FILE * fp, int type) { OBJECT *o_current; const GList *iter; iter = obj_list; while (iter != NULL) { o_current = (OBJECT *)iter->data; switch (o_current->type) { case (OBJ_NET): case (OBJ_BUS): case (OBJ_PIN): s_cue_output_single(toplevel, o_current, fp, type); break; case (OBJ_COMPLEX): case (OBJ_PLACEHOLDER): s_cue_output_all(toplevel, o_current->complex->prim_objs, fp, type); break; } iter = g_list_next (iter); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void s_cue_output_lowlevel(TOPLEVEL * toplevel, OBJECT * object, int whichone, FILE * fp, int output_type) { int x, y; GList *cl_current; CONN *conn; int type, count = 0; int done = FALSE; int bus_involved = FALSE; x = object->line->x[whichone]; y = object->line->y[whichone]; type = CONN_ENDPOINT; if (object->type == OBJ_BUS || (object->type == OBJ_PIN && object->pin_type == PIN_TYPE_BUS)) bus_involved = TRUE; cl_current = object->conn_list; while (cl_current != NULL && !done) { conn = (CONN *) cl_current->data; if (conn->x == x && conn->y == y) { if (conn->other_object && (conn->other_object->type == OBJ_BUS || (conn->other_object->type == OBJ_PIN && conn->other_object->pin_type == PIN_TYPE_BUS))) bus_involved=TRUE; switch (conn->type) { case (CONN_ENDPOINT): count++; break; case (CONN_MIDPOINT): type = CONN_MIDPOINT; done = TRUE; count = 0; break; } } cl_current = g_list_next(cl_current); } #if DEBUG printf("type: %d count: %d\n", type, count); #endif switch (type) { case (CONN_ENDPOINT): if (object->type == OBJ_NET || object->type == OBJ_PIN) { if (count < 1) { /* Didn't find anything connected there */ if ((object->type == OBJ_NET) && o_net_is_fully_connected (toplevel, object)) { /* Probably connected, so draw friendly arrowhead. The * additional parameters are needed to allow the arrowhead * to be pointed in the direction of the net. */ if (output_type == POSTSCRIPT) { s_cue_postscript_arrow (toplevel, fp, x, y, object->line->x[whichone] - object->line->x[!whichone], object->line->y[whichone] - object->line->y[!whichone]); } } else { s_cue_postscript_fillbox (toplevel, fp, x, y); } } else if (count >= 2) { if (output_type == POSTSCRIPT) s_cue_postscript_junction (toplevel, fp, x, y, bus_involved); } } break; case (CONN_MIDPOINT): if (output_type == POSTSCRIPT) s_cue_postscript_junction (toplevel, fp, x, y, bus_involved); break; } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void s_cue_output_lowlevel_midpoints(TOPLEVEL * toplevel, OBJECT * object, FILE * fp, int output_type) { int x, y; GList *cl_current; CONN *conn; int bus_involved = FALSE; if (object->type == OBJ_BUS) bus_involved = TRUE; cl_current = object->conn_list; while (cl_current != NULL) { conn = (CONN *) cl_current->data; switch (conn->type) { case (CONN_MIDPOINT): x = conn->x; y = conn->y; if (conn->other_object && conn->other_object->type == OBJ_BUS) bus_involved = TRUE; if (output_type == POSTSCRIPT) { s_cue_postscript_junction (toplevel, fp, x, y, bus_involved); } break; } cl_current = g_list_next(cl_current); } } /*! \brief Output cues for a single object * * \par Function Description * Cues are drawn on pins, nets and buses. * Two types of cues are drawn: * - endpoint cues (identifying unconnected ends of objects) * - junction cues (identifying net/pin/bus junctions) * * \param [in] toplevel The TOPLEVEL object * \param [in] object The OBJECT to output cues for * \param [in] fp The file handle to output to * \param [in] type The type of output being produced */ void s_cue_output_single(TOPLEVEL * toplevel, OBJECT * object, FILE * fp, int type) { g_return_if_fail (object != NULL); switch (object->type) { case (OBJ_NET): s_cue_output_lowlevel(toplevel, object, 0, fp, type); s_cue_output_lowlevel(toplevel, object, 1, fp, type); break; case (OBJ_BUS): s_cue_output_lowlevel(toplevel, object, 0, fp, type); s_cue_output_lowlevel(toplevel, object, 1, fp, type); break; case (OBJ_PIN): s_cue_output_lowlevel(toplevel, object, object->whichend, fp, type); break; default: return; } s_cue_output_lowlevel_midpoints(toplevel, object, fp, type); } geda-gaf-1.8.2/libgeda/src/s_weakref.c0000664000175000017500000001204712207374140014374 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA */ #include #include "libgeda_priv.h" /*! * \file s_weakref.c * \brief Utility functions for weak references and pointers. * * \warning Do not write code which relies on the order in which weak * reference callback functions are notified. */ struct WeakRef { void (*notify_func)(void *, void *); void *user_data; }; /*! \brief Notify weak reference watchers that a structure is dead. * \par Function Description * For each entry in \a weak_refs, call notify function with the dead * pointer \a dead_ptr and the entry's specified user data, and free * \a weak_refs. Should be called during destruction of an structure * that allows weak references. * * \param [in] dead_ptr Pointer to structure being destroyed. * \param [in,out] weak_refs List of registered weak references. */ void s_weakref_notify (void *dead_ptr, GList *weak_refs) { GList *iter; struct WeakRef *entry; for (iter = weak_refs; iter != NULL; iter = g_list_next (iter)) { entry = (struct WeakRef *) iter->data; if (entry != NULL && entry->notify_func != NULL) { entry->notify_func (dead_ptr, entry->user_data); } g_free (entry); } g_list_free (weak_refs); } /*! \brief Add a weak reference watcher to a weak ref list. * \par Function Description * Adds the weak reference callback \a notify_func to the weak * reference list \a weak_refs, returning the new head of \a * weak_refs. \a notify_func will be called with two arguments: a * pointer to the object being destroyed, and the \a user_data. * * \param [in,out] weak_refs List of registered weak references. * \param [in] notify_func Weak reference notify function. * \param [in] user_data Data to be passed to \a notify_func. * * \return new head of \a weak_refs list. */ GList * s_weakref_add (GList *weak_refs, void (*notify_func)(void *, void *), void *user_data) { struct WeakRef *entry = g_malloc0 (sizeof (struct WeakRef)); entry->notify_func = notify_func; entry->user_data = user_data; return g_list_prepend (weak_refs, entry); } /*! \brief Remove a weak reference watcher from a weak ref list. * \par Function Description * Removes a weak reference callback from the weak reference list \a * weak_refs, returning the new head of \a weak_refs. * * \param [in,out] weak_refs List of registered weak references. * \param [in] notify_func Notify function to search for. * \param [in] user_data User data to search for. * * \return new head of \a weak_refs list. */ GList * s_weakref_remove (GList *weak_refs, void (*notify_func)(void *, void *), void *user_data) { GList *iter; struct WeakRef *entry; for (iter = weak_refs; iter != NULL; iter = g_list_next (iter)) { entry = iter->data; if ((entry != NULL) && (entry->notify_func == notify_func) && (entry->user_data == user_data)) { g_free (entry); iter->data = NULL; } } return g_list_remove_all (weak_refs, NULL); } static void weak_ptr_notify_func (void *dead_ptr, void *user_data) { void **weak_pointer_loc = (void **) user_data; if (weak_pointer_loc != NULL) { *weak_pointer_loc = NULL; } } /*! \brief Add a weak pointer to a weak ref list. * \par Function Description * Adds a weak reference for \a weak_pointer_loc to the weak reference * list \a weak_refs, returning the new head of \a weak_refs. * * \param [in,out] weak_refs List of registered weak references. * \param [in] weak_pointer_loc Memory address of a pointer. * * \return new head of \a weak_refs list. */ GList * s_weakref_add_ptr (GList *weak_refs, void **weak_pointer_loc) { return s_weakref_add (weak_refs, weak_ptr_notify_func, weak_pointer_loc); } /*! \brief Remove a weak pointer from a weak ref list. * \par Function Description * Removes the weak reference for \a weak_pointer_loc from the weak * reference list \a weak_refs, returning the new head of \a * weak_refs. * * \param [in,out] weak_refs List of registered weak references. * \param [in] weak_pointer_loc Memory address of a pointer. * * \return new head of \a weak_refs list. */ GList * s_weakref_remove_ptr (GList *weak_refs, void **weak_pointer_loc) { return s_weakref_remove (weak_refs, weak_ptr_notify_func, weak_pointer_loc); } geda-gaf-1.8.2/libgeda/src/scheme_complex.c0000664000175000017500000003316312220647257015432 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library - Scheme API * Copyright (C) 2010 Peter Brett * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA */ /*! * \file scheme_complex.c * \brief Scheme API complex object manipulation procedures. */ #include #include "libgeda_priv.h" #include "libgedaguile_priv.h" /*! \brief Create a new complex object. * \par Function Description * Creates a new, empty complex object, with the given \a basename and * with all other parameters set to default values. It is initially set * to be embedded. * * \note Scheme API: Implements the %make-complex procedure in the * (geda core complex) module. * * \return a newly-created complex object. */ SCM_DEFINE (make_complex, "%make-complex", 1, 0, 0, (SCM basename_s), "Create a new complex object.") { SCM_ASSERT (scm_is_string (basename_s), basename_s, SCM_ARG1, s_make_complex); char *tmp = scm_to_utf8_string (basename_s); OBJECT *obj = o_complex_new_embedded (edascm_c_current_toplevel (), OBJ_COMPLEX, DEFAULT_COLOR, 0, 0, 0, FALSE, tmp, TRUE); free (tmp); SCM result = edascm_from_object (obj); /* At the moment, the only pointer to the object is owned by the * smob. */ edascm_c_set_gc (result, TRUE); return result; } /*! \brief Instantiate a complex object from the component library. * \par Function Description * Searches the component library for a component with the given \a * basename. If found, creates a new complex object by instantiating * that library component. It is initially set to be unembedded. If * no match is found for \a basename in the library, returns * SCM_BOOL_F. * * \note Scheme API: Implements the %make-complex/library procedure in * the (geda core complex) module. * * \param basename component name to search for in the component * library. * \return a newly-created complex object. */ SCM_DEFINE (make_complex_library, "%make-complex/library", 1, 0, 0, (SCM basename_s), "Instantiate a complex object from the component library.") { SCM_ASSERT (scm_is_string (basename_s), basename_s, SCM_ARG1, s_make_complex_library); char *basename = scm_to_utf8_string (basename_s); scm_dynwind_begin (0); scm_dynwind_unwind_handler (free, basename, SCM_F_WIND_EXPLICITLY); SCM result = SCM_BOOL_F; const CLibSymbol *clib = s_clib_get_symbol_by_name (basename); if (clib != NULL) { OBJECT *obj = o_complex_new (edascm_c_current_toplevel (), OBJ_COMPLEX, DEFAULT_COLOR, 0, 0, 0, FALSE, clib, basename, TRUE); result = edascm_from_object (obj); /* At the moment, the only pointer to the object is owned by the * smob. */ edascm_c_set_gc (result, TRUE); } scm_dynwind_end (); return result; } /*! \brief Set complex object parameters. * \par Function Description * Modifies the complex object \a complex_s by setting its parameters * to new values. * * \note Scheme API: Implements the %set-complex! procedure in the * (geda core complex) module. * * \param complex_s the complex object to modify. * \param x_s the new x-coordinate of the complex object. * \param y_s the new y-coordinate of the complex object. * \param angle_s the new rotation angle. * \param mirror_s whether the complex object should be mirrored. * \param locked_s whether the complex object should be locked. * * \return the modified \a complex_s. */ SCM_DEFINE (set_complex_x, "%set-complex!", 6, 0, 0, (SCM complex_s, SCM x_s, SCM y_s, SCM angle_s, SCM mirror_s, SCM locked_s), "Set complex object parameters") { SCM_ASSERT (edascm_is_object_type (complex_s, OBJ_COMPLEX), complex_s, SCM_ARG1, s_set_complex_x); SCM_ASSERT (scm_is_integer (x_s), x_s, SCM_ARG2, s_set_complex_x); SCM_ASSERT (scm_is_integer (y_s), y_s, SCM_ARG3, s_set_complex_x); SCM_ASSERT (scm_is_integer (angle_s), angle_s, SCM_ARG4, s_set_complex_x); TOPLEVEL *toplevel = edascm_c_current_toplevel (); OBJECT *obj = edascm_to_object (complex_s); /* Angle */ int angle = scm_to_int (angle_s); switch (angle) { case 0: case 90: case 180: case 270: /* These are all fine. */ break; default: /* Otherwise, not fine. */ scm_misc_error (s_set_complex_x, _("Invalid complex angle ~A. Must be 0, 90, 180, or 270 degrees"), scm_list_1 (angle_s)); } o_emit_pre_change_notify (toplevel, obj); int x = scm_to_int (x_s); int y = scm_to_int (y_s); o_translate_world (toplevel, x - obj->complex->x, y - obj->complex->y, obj); obj->complex->angle = angle; obj->complex->mirror = scm_is_true (mirror_s); obj->selectable = scm_is_false (locked_s); o_complex_recalc (toplevel, obj); /* We need to do this explicitly... */ o_emit_change_notify (toplevel, obj); o_page_changed (toplevel, obj); return complex_s; } /*! \brief Get complex object parameters. * \par Function Description * Retrieves the parameters of a complex object. The return value is a * list of parameters: * * -# Basename * -# Base x-coordinate. * -# Base y-coordinate. * -# Rotation angle. * -# Whether object is mirrored. * -# Whether object is locked. * * \note Scheme API: Implements the %complex-info procedure in the * (geda core complex) module. * * \param complex_s the complex object to inspect. * \return a list of complex object parameters. */ SCM_DEFINE (complex_info, "%complex-info", 1, 0, 0, (SCM complex_s), "Get complex object parameters.") { SCM_ASSERT (edascm_is_object_type (complex_s, OBJ_COMPLEX), complex_s, SCM_ARG1, s_complex_info); OBJECT *obj = edascm_to_object (complex_s); return scm_list_n (scm_from_utf8_string (obj->complex_basename), scm_from_int (obj->complex->x), scm_from_int (obj->complex->y), scm_from_int (obj->complex->angle), obj->complex->mirror ? SCM_BOOL_T : SCM_BOOL_F, obj->selectable ? SCM_BOOL_F : SCM_BOOL_T, SCM_UNDEFINED); } /*! \brief Get the contents of a complex object. * \par Function Description * Retrieves a list of the primitive objects that make up a complex object. * * \note Scheme API: Implements the %complex-contents procedure in the * (geda core complex) module. * * \param complex_s a complex object. * \return a list of primitive objects. */ SCM_DEFINE (complex_contents, "%complex-contents", 1, 0, 0, (SCM complex_s), "Get complex object contents.") { SCM_ASSERT (edascm_is_object_type (complex_s, OBJ_COMPLEX), complex_s, SCM_ARG1, s_complex_contents); OBJECT *obj = edascm_to_object (complex_s); return edascm_from_object_glist (obj->complex->prim_objs); } /*! \brief Add a primitive object to a complex object. * \par Function Description * Adds \a obj_s to \a complex_s. If \a obj_s is already attached to * another complex object or to a #PAGE, or if \a obj_s is itself a * complex object, throws a Scheme error. If \a obj_s is already * attached to \a complex_s, does nothing. * * \note Scheme API: Implements the %complex-append! procedure of the * (geda core complex) module. * * \param complex_s complex object to modify. * \param obj_s primitive object to add. * \return \a obj_s. */ SCM_DEFINE (complex_append_x, "%complex-append!", 2, 0, 0, (SCM complex_s, SCM obj_s), "Add a primitive object to a complex object") { /* Ensure that the arguments have the correct types. */ SCM_ASSERT (edascm_is_object_type (complex_s, OBJ_COMPLEX), complex_s, SCM_ARG1, s_complex_append_x); SCM_ASSERT ((EDASCM_OBJECTP (obj_s) && !edascm_is_object_type (obj_s, OBJ_COMPLEX) && !edascm_is_object_type (obj_s, OBJ_PLACEHOLDER)), obj_s, SCM_ARG2, s_complex_append_x); TOPLEVEL *toplevel = edascm_c_current_toplevel (); OBJECT *parent = edascm_to_object (complex_s); OBJECT *child = edascm_to_object (obj_s); /* Check that object is not already attached to a page or a different complex. */ if ((o_get_page (toplevel, child) != NULL) || ((child->parent != NULL) && (child->parent != parent))) { scm_error (edascm_object_state_sym, s_complex_append_x, _("Object ~A is already attached to something"), scm_list_1 (obj_s), SCM_EOL); } if (child->parent == parent) return obj_s; /* Object cleanup now managed by C code. */ edascm_c_set_gc (obj_s, 0); /* Don't need to emit change notifications for the child because * it's guaranteed not to be present in a page at this point. */ o_emit_pre_change_notify (toplevel, parent); parent->complex->prim_objs = g_list_append (parent->complex->prim_objs, child); child->parent = parent; o_complex_recalc (toplevel, parent); /* We may need to update connections */ s_tile_update_object (toplevel, child); s_conn_update_object (toplevel, child); o_emit_change_notify (toplevel, parent); o_page_changed (toplevel, parent); return complex_s; } /*! \brief Remove a primitive object from a complex object. * \par Function Description * Removes \a obj_s from \a complex_s. If \a obj_s is attached to a * #PAGE or to a complex object other than \a complex_s, throws a * Scheme error. If \a obj_s is unattached, does nothing. * * \note Scheme API: Implements the %complex-remove! procedure of the * (geda core complex) module. * * \param complex_s complex object to modify. * \param obj_s primitive object to remove. * \return \a obj_s. */ SCM_DEFINE (complex_remove_x, "%complex-remove!", 2, 0, 0, (SCM complex_s, SCM obj_s), "Remove a primitive object from a complex object") { /* Ensure that the arguments have the correct types. */ SCM_ASSERT (edascm_is_object_type (complex_s, OBJ_COMPLEX), complex_s, SCM_ARG1, s_complex_remove_x); SCM_ASSERT (EDASCM_OBJECTP (obj_s), obj_s, SCM_ARG2, s_complex_remove_x); TOPLEVEL *toplevel = edascm_c_current_toplevel (); OBJECT *parent = edascm_to_object (complex_s); OBJECT *child = edascm_to_object (obj_s); PAGE *child_page = o_get_page (toplevel, child); /* Check that object is not attached to a different complex. */ if ((child->parent != NULL) && (child->parent != parent)) { scm_error (edascm_object_state_sym, s_complex_remove_x, _("Object ~A is attached to a different complex"), scm_list_1 (obj_s), SCM_EOL); } /* Check that object is not attached to a page. */ if ((child->parent == NULL) && (child_page != NULL)) { scm_error (edascm_object_state_sym, s_complex_remove_x, _("Object ~A is attached to a page"), scm_list_1 (obj_s), SCM_EOL); } /* Check that object is not attached as an attribute. */ if (child->attached_to != NULL) { scm_error (edascm_object_state_sym, s_complex_remove_x, _("Object ~A is attached as an attribute"), scm_list_1 (obj_s), SCM_EOL); } /* Check that object doesn't have attributes. */ if (child->attribs != NULL) { scm_error (edascm_object_state_sym, s_complex_remove_x, _("Object ~A has attributes"), scm_list_1 (obj_s), SCM_EOL); } if (child->parent == NULL) return obj_s; /* Don't need to emit change notifications for the child because * only the parent will remain in the page. */ o_emit_pre_change_notify (toplevel, parent); parent->complex->prim_objs = g_list_remove_all (parent->complex->prim_objs, child); child->parent = NULL; /* We may need to update connections */ s_tile_remove_object (child); s_conn_remove_object (toplevel, child); o_emit_change_notify (toplevel, parent); o_page_changed (toplevel, parent); /* Object cleanup now managed by Guile. */ edascm_c_set_gc (obj_s, 1); return complex_s; } /*! * \brief Create the (geda core complex) Scheme module. * \par Function Description * Defines procedures in the (geda core complex) module. The module can * be accessed using (use-modules (geda core complex)). */ static void init_module_geda_core_complex () { /* Register the functions and symbols */ #include "scheme_complex.x" /* Add them to the module's public definitions. */ scm_c_export (s_make_complex, s_make_complex_library, s_set_complex_x, s_complex_info, s_complex_contents, s_complex_append_x, s_complex_remove_x, NULL); } /*! * \brief Initialise the basic gEDA complex object manipulation procedures. * \par Function Description * Registers some Scheme procedures for working with complex #OBJECT * smobs. Should only be called by scheme_api_init(). */ void edascm_init_complex () { /* Define the (geda core object) module */ scm_c_define_module ("geda core complex", init_module_geda_core_complex, NULL); } geda-gaf-1.8.2/libgeda/src/o_arc_basic.c0000664000175000017500000012013312220647257014655 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! \file o_arc_basic.c * \brief functions for the arc object */ #include #include #include #include "libgeda_priv.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \brief * \par Function Description * The function creates a new OBJECT of type arc. * * The arc is defined by its center in parameters x and y. * The radius parameter specifies the radius of the arc. The start * angle is given by start_angle and the end angle by end_angle. * The line and fill type of the created arc are set to default. * * All dimensions are in world unit, except start_angle and * end_angle in degrees. * * A new object of type OBJECT is allocated. Its type and color * are initilized. The description of the arc characteristics * are stored in a new ARC structure. * * Now fixed for world coordinates. * * \param [in] toplevel The TOPLEVEL object. * \param [in] type * \param [in] color * \param [in] x * \param [in] y * \param [in] radius * \param [in] start_angle * \param [in] end_angle * \return */ OBJECT *o_arc_new(TOPLEVEL *toplevel, char type, int color, int x, int y, int radius, int start_angle, int end_angle) { OBJECT *new_node; new_node = s_basic_new_object(type, "arc"); new_node->color = color; new_node->arc = (ARC *) g_malloc(sizeof(ARC)); /*! \note * The ARC structure is initialized with the parameters. * A default initialization is performed for the line and * fill type to avoid misunderstanding. * * The functions relative to the use of the object are sets. */ /* World coordinates */ new_node->arc->x = x; new_node->arc->y = y; new_node->arc->width = 2 * radius; new_node->arc->height = 2 * radius; /* must check the sign of start_angle, end_angle ... */ if(end_angle < 0) { start_angle = start_angle + end_angle; end_angle = -end_angle; } if(start_angle < 0) start_angle = 360 + start_angle; new_node->arc->start_angle = start_angle; new_node->arc->end_angle = end_angle; /* Default init */ o_set_line_options(toplevel, new_node, END_NONE, TYPE_SOLID, 0, -1, -1); o_set_fill_options(toplevel, new_node, FILLING_HOLLOW, -1, -1, -1, -1, -1); o_arc_recalc(toplevel, new_node); /* new_node->graphical = arc; eventually */ return new_node; } /*! \brief * \par Function Description * This function creates a new object representing an arc. * * The values of the o_current pointed OBJECT are then copied to the new object. * * The arc, the line options are initialized whereas the fill options are * initialized to passive values - as an arc can not be filled. * * \param [in] toplevel The TOPLEVEL object * \param [in] o_current * \return The new OBJECT */ OBJECT *o_arc_copy(TOPLEVEL *toplevel, OBJECT *o_current) { OBJECT *new_obj; new_obj = o_arc_new (toplevel, OBJ_ARC, o_current->color, o_current->arc->x, o_current->arc->y, o_current->arc->width / 2, o_current->arc->start_angle, o_current->arc->end_angle); o_set_line_options(toplevel, new_obj, o_current->line_end, o_current->line_type, o_current->line_width, o_current->line_length, o_current->line_space); o_set_fill_options(toplevel, new_obj, FILLING_HOLLOW, -1, -1, -1, -1, -1); return new_obj; } /*! \brief * \par Function Description * This function modifies the internal values of the arc object * *object according to the whichone parameter. * * The new values are given by x and/or y. Their meaning depends on the value of whichone. * * If whichone is equal to #ARC_CENTER, the (x,y) point is taken as the new center * of the arc in world unit. * * If whichone is equal to #ARC_RADIUS, the x parameter is taken to be the radius * of the arc in world unit. The y parameter is ignored. * * If whichone is equal to #ARC_START_ANGLE, the x parameter is the starting angle of the arc. * x is in degrees. y is ignored. * * If whichone is equal to #ARC_END_ANGLE, the x parameter is the ending angle of the arc. * x is in degrees. y is ignored. * * \param [in] toplevel The TOPLEVEL object. * \param [in,out] object * \param [in] x * \param [in] y * \param [in] whichone */ void o_arc_modify(TOPLEVEL *toplevel, OBJECT *object, int x, int y, int whichone) { o_emit_pre_change_notify (toplevel, object); switch(whichone) { case ARC_CENTER: /* modify the center of arc object */ object->arc->x = x; object->arc->y = y; break; case ARC_RADIUS: /* modify the radius of arc object */ object->arc->width = 2 * x; object->arc->height = 2 * x; break; case ARC_START_ANGLE: /* modify the start angle of the arc object */ object->arc->start_angle = x; break; case ARC_END_ANGLE: /* modify the end angle of the arc object */ object->arc->end_angle = x; break; default: break; } /* update the screen coords and the bounding box */ o_arc_recalc(toplevel, object); o_emit_change_notify (toplevel, object); } /*! \brief * \par Function Description * This function reads a formatted text buffer describing an arc * in the gEDA file format and initializes the corresponding object. * * Depending on the version of the file format the data extraction is * performed differently : currently pre-20000704 and 20000704 on one * hand and post-20000704 file format version on the other hand are supported. * The version is specified in string pointed by fileformat_ver. * * To get information on the various file formats have a * look to the fileformats.html document. * * The object is initialized with the functions #o_set_line_options() and #o_set_fill_options(). * The second one is only used to put initialize unused values for an arc as an arc can not be filled. * * The arc is allocated initialized with the function #o_arc_new(). * * A negative or null radius is not allowed. * * \param [in] toplevel The TOPLEVEL object. * \param [in] buf * \param [in] release_ver * \param [in] fileformat_ver * \return The ARC OBJECT that was created, or NULL on error. */ OBJECT *o_arc_read (TOPLEVEL *toplevel, const char buf[], unsigned int release_ver, unsigned int fileformat_ver, GError **err) { OBJECT *new_obj; char type; int x1, y1; int radius; int start_angle, end_angle; int color; int arc_width, arc_length, arc_space; int arc_type; int arc_end; /*! \note * Depending on the version of the file format used to describe this arc, * the buffer is parsed differently. The unknown parameters of the less * restrictive - the oldest - file format are set to common values */ if(release_ver <= VERSION_20000704) { if (sscanf(buf, "%c %d %d %d %d %d %d", &type, &x1, &y1, &radius, &start_angle, &end_angle, &color) != 7) { g_set_error (err, EDA_ERROR, EDA_ERROR_PARSE, _("Failed to parse arc object")); return NULL; } arc_width = 0; arc_end = END_NONE; arc_type = TYPE_SOLID; arc_space = -1; arc_length= -1; } else { if (sscanf(buf, "%c %d %d %d %d %d %d %d %d %d %d %d", &type, &x1, &y1, &radius, &start_angle, &end_angle, &color, &arc_width, &arc_end, &arc_type, &arc_length, &arc_space) != 12) { g_set_error (err, EDA_ERROR, EDA_ERROR_PARSE, _("Failed to parse arc object")); return NULL; } } /* Error check */ if (radius <= 0) { s_log_message (_("Found a zero radius arc [ %c %d, %d, %d, %d, %d, %d ]\n"), type, x1, y1, radius, start_angle, end_angle, color); radius = 0; } if (color < 0 || color > MAX_COLORS) { s_log_message(_("Found an invalid color [ %s ]\n"), buf); s_log_message(_("Setting color to default color\n")); color = DEFAULT_COLOR; } /* Allocation and initialization */ new_obj = o_arc_new(toplevel, OBJ_ARC, color, x1, y1, radius, start_angle, end_angle); o_set_line_options(toplevel, new_obj, arc_end, arc_type, arc_width, arc_length, arc_space); o_set_fill_options(toplevel, new_obj, FILLING_HOLLOW, -1, -1, -1, -1, -1); return new_obj; } /*! \brief create the string representation of an arc object * \par Function Description * This function formats a string in the buffer *buf to describe * the arc object *object. * A pointer to the new allocated and formated string is returned. * The string must be freed at some point. * * \param [in] toplevel * \param [in] object * \return the string representation of the arc object */ char *o_arc_save(TOPLEVEL *toplevel, OBJECT *object) { int x, y, radius, start_angle, end_angle; int arc_width, arc_length, arc_space; char *buf; OBJECT_END arc_end; OBJECT_TYPE arc_type; /* radius, center and angles of the arc */ radius = object->arc->width / 2; x = object->arc->x; y = object->arc->y; start_angle = object->arc->start_angle; end_angle = object->arc->end_angle; /* line type parameters */ arc_width = object->line_width; arc_end = object->line_end; arc_type = object->line_type; arc_length = object->line_length; arc_space = object->line_space; /* Describe a circle with post-20000704 file format */ buf = g_strdup_printf("%c %d %d %d %d %d %d %d %d %d %d %d", object->type, x, y, radius, start_angle, end_angle, object->color, arc_width, arc_end, arc_type, arc_length, arc_space); return(buf); } /*! \brief * \par Function Description * This function applies a translation of (dx,dy) * to the arc described in *object. dx and dy are in world unit. * * \param [in] toplevel The TOPLEVEL object. * \param [in] dx * \param [in] dy * \param [in] object */ void o_arc_translate_world(TOPLEVEL *toplevel, int dx, int dy, OBJECT *object) { if (object == NULL) { return; } /* Do world coords */ object->arc->x = object->arc->x + dx; object->arc->y = object->arc->y + dy; /* Recalculate screen coords from new world coords */ o_arc_recalc(toplevel, object); } /*! \brief * \par Function Description * This function rotates the world coordinates of an arc of an angle * specified by angle. The center of the rotation is given by * (world_centerx,world_centery). * * The arc is translated in order to put the center of the rotation * on the origin. The center of the arc is then rotated of the angle * specified by angle. The start angle of the arc is incremented by angle. * * The arc is finally back translated to its previous location on the page. * * world_centerx and world_centery are in world units, angle is in degrees. * * \param [in] toplevel The TOPLEVEL object. * \param [in] world_centerx * \param [in] world_centery * \param [in] angle * \param [in] object */ void o_arc_rotate_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, int angle, OBJECT *object) { int x, y, newx, newy; /* translate object to origin */ object->arc->x -= world_centerx; object->arc->y -= world_centery; /* get center, and rotate center */ x = object->arc->x; y = object->arc->y; if(angle % 90 == 0) { rotate_point_90(x, y, angle % 360, &newx, &newy); } else { rotate_point(x, y, angle % 360, &newx, &newy); } object->arc->x = newx; object->arc->y = newy; /* apply rotation to angles */ object->arc->start_angle = (object->arc->start_angle + angle) % 360; /* end_angle is unchanged as it is the sweep of the arc */ /* object->arc->end_angle = (object->arc->end_angle); */ /* translate object to its previous place */ object->arc->x += world_centerx; object->arc->y += world_centery; /* update the screen coords and the bounding box */ o_arc_recalc(toplevel, object); } /*! \brief Mirror the WORLD coordinates of an ARC. * \par Function Description * This function mirrors the world coordinates of an arc. * The symetry axis is given by the vertical line going through the point (world_centerx,world_centery). * * The arc is translated in order to put the point (world_centerx,world_centery) * on the origin. The center of the arc is then mirrored. The start angle of the arc * and the sweep of the arc are also mirrored. * * The arc is finally back translated to its previous location on the page. * * \param [in] toplevel The TOPLEVEL object. * \param [in] world_centerx * \param [in] world_centery * \param [in] object */ void o_arc_mirror_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, OBJECT *object) { /* translate object to origin */ object->arc->x -= world_centerx; object->arc->y -= world_centery; /* get center, and mirror it (vertical mirror) */ object->arc->x = -object->arc->x; object->arc->y = object->arc->y; /* apply mirror to angles (vertical mirror) */ object->arc->start_angle = (180 - object->arc->start_angle) % 360; /* start_angle *MUST* be positive */ if(object->arc->start_angle < 0) object->arc->start_angle += 360; object->arc->end_angle = -object->arc->end_angle; /* translate object back to its previous position */ object->arc->x += world_centerx; object->arc->y += world_centery; /* update the screen coords and bounding box */ o_arc_recalc(toplevel, object); } /*! \brief * \par Function Description * This function recalculates internal parameters in screen units * of an object containing an arc. The object is given as parameters o_current. * The calculation is done according to the zoom factor detailed in the toplevel * pointed structure. * It also recalculates the OBJECT specific fields and the bounding box of the arc. * * The bounding box - in world units - is recalculated with the world_get_arc_bounds() function. * * \param [in] toplevel The TOPLEVEL object. * \param [in] o_current */ void o_arc_recalc(TOPLEVEL *toplevel, OBJECT *o_current) { int left, right, top, bottom; if (o_current->arc == NULL) { return; } /* recalculates the bounding box */ world_get_arc_bounds(toplevel, o_current, &left, &top, &right, &bottom); o_current->w_left = left; o_current->w_top = top; o_current->w_right = right; o_current->w_bottom = bottom; o_current->w_bounds_valid = TRUE; } /*! \brief * \par Function Description * This function calculates the smallest rectangle the arc can be drawn into. * The OBJECT pointed by object is assumed to be an arc. * The left, top, right and bottom pointed integers define * this rectangle at the end of the function. It is expressed in world units. * The process is divided into two steps : the first step is to calculate the * coordinates of the two ends of the arc and the coordinates of the center. * They forms a first rectangle but (depending on the start angle and the * sweep of the arc) not the right. * * \param [in] toplevel The TOPLEVEL object. * \param [in] object * \param [out] left * \param [out] top * \param [out] right * \param [out] bottom */ void world_get_arc_bounds(TOPLEVEL *toplevel, OBJECT *object, int *left, int *top, int *right, int *bottom) { int x1, y1, x2, y2, x3, y3; int radius, start_angle, end_angle; int i, angle; int halfwidth; halfwidth = object->line_width / 2; radius = object->arc->width / 2; start_angle = object->arc->start_angle; end_angle = object->arc->end_angle; x1 = object->arc->x; y1 = object->arc->y; x2 = x1 + radius * cos(start_angle * M_PI / 180); y2 = y1 + radius * sin(start_angle * M_PI / 180); x3 = x1 + radius * cos((start_angle + end_angle) * M_PI / 180); y3 = y1 + radius * sin((start_angle + end_angle) * M_PI / 180); *left = (x1 < x2) ? ((x1 < x3) ? x1 : x3) : ((x2 < x3) ? x2 : x3); *right = (x1 > x2) ? ((x1 > x3) ? x1 : x3) : ((x2 > x3) ? x2 : x3); *bottom = (y1 > y2) ? ((y1 > y3) ? y1 : y3) : ((y2 > y3) ? y2 : y3); *top = (y1 < y2) ? ((y1 < y3) ? y1 : y3) : ((y2 < y3) ? y2 : y3); /*! \note * The previous rectangle is extended to the final one * by checking whether the arc is over a main axis (vertical or horizontal). * If so, the rectangle is extended in these directions. * * In the mirror mode, the sweep angle is negativ. To get a * CCW arc before this calculation we have to move the * start angle to the end angle and reverse the sweep angle. */ if (end_angle < 0) { start_angle = (start_angle + end_angle + 360) % 360; end_angle = -end_angle; } angle = ((int) (start_angle / 90)) * 90; for(i = 0; i < 4; i++) { angle = angle + 90; if(angle < start_angle + end_angle) { if(angle % 360 == 0) *right = x1 + radius; if(angle % 360 == 90) *bottom = y1 + radius; if(angle % 360 == 180) *left = x1 - radius; if(angle % 360 == 270) *top = y1 - radius; } else { break; } } /* This isn't strictly correct, but a 1st order approximation */ *left -= halfwidth; *top -= halfwidth; *right += halfwidth; *bottom += halfwidth; } /*! \brief get the position of the center point * \par Function Description * This function gets the position of the center point of an arc object. * * \param [in] toplevel The toplevel environment. * \param [out] x pointer to the x-position * \param [out] y pointer to the y-position * \param [in] object The object to get the position. * \return TRUE if successfully determined the position, FALSE otherwise */ gboolean o_arc_get_position (TOPLEVEL *toplevel, gint *x, gint *y, OBJECT *object) { *x = object->arc->x; *y = object->arc->y; return TRUE; } /*! \brief * \par Function Description * This function writes in a postscript file the arc described by * the o_current pointed object. * The postscript resulting file is described by the fp file pointer. * * Parameters of the arc are extracted from object pointed by o_current * and formatted to suit future calls to specialized arc printing functions. * * \param [in] toplevel The TOPLEVEL object. * \param [in] fp The postscript document to print to. * \param [in] o_current * \param [in] origin_x * \param [in] origin_y */ void o_arc_print(TOPLEVEL *toplevel, FILE *fp, OBJECT *o_current, int origin_x, int origin_y) { int x, y, radius, start_angle, end_angle; int color; int arc_width, space, length; void (*outl_func)() = NULL; if (o_current == NULL) { printf("got null in o_arc_print\n"); return; } x = o_current->arc->x; y = o_current->arc->y; radius = o_current->arc->width / 2; start_angle = o_current->arc->start_angle; end_angle = o_current->arc->end_angle; color = o_current->color; /*! \note * Depending on the type of the line for this particular arc, the * appropriate function is chosen among #o_arc_print_solid(), * #o_arc_print_dotted(), #o_arc_print_dashed(), #o_arc_print_center() and #o_arc_print_phantom(). * * The needed parameters for each of these types are extracted from the o_current object. * Depending on the type, unused parameters are set to -1. * * In the eventuality of a length and/or space null, the arc is printed solid to avoid and * endless loop produced by other functions. */ #if 0 /* was causing arcs which are solid to be much thinner compared to */ /* lines, boxes, also of zero width */ if (o_current->line_width > 0) { arc_width = o_current->line_width; } else { arc_width = 1; } #endif arc_width = o_current->line_width; /* Added instead of above */ if(arc_width <=2) { if(toplevel->line_style == THICK) { arc_width=LINE_WIDTH; } else { arc_width=2; } } length = o_current->line_length; space = o_current->line_space; switch(o_current->line_type) { case(TYPE_SOLID): length = -1; space = -1; outl_func = o_arc_print_solid; break; case(TYPE_DOTTED): length = -1; outl_func = o_arc_print_dotted; break; case(TYPE_DASHED): outl_func = o_arc_print_dashed; break; case(TYPE_CENTER): outl_func = o_arc_print_center; break; case(TYPE_PHANTOM): outl_func = o_arc_print_phantom; break; case(TYPE_ERASE): /* Unused for now, print it solid */ length = -1; space = -1; outl_func = o_arc_print_solid; break; } if((space == 0) || (length == 0)) { length = -1; space = -1; outl_func = o_arc_print_solid; } (*outl_func)(toplevel, fp, x - origin_x, y - origin_x, radius, start_angle, end_angle, color, arc_width, length, space, origin_x, origin_y); } /*! \brief * \par Function Description * This function prints an arc when a solid line type is required. * The arc is defined by its center in x and y, its radius * in radius and the start and end angles of the arc on the circle. * The postscript file is defined by the file pointer fp. * * The parameters length and space are ignored * whereas arc_width specifies the width of the printed line. * * All dimensions are in mils, except angle1 and angle2 in degrees. * * \param [in] toplevel The TOPLEVEL object. * \param [in] fp FILE pointer to postscript document. * \param [in] x * \param [in] y * \param [in] radius * \param [in] angle1 * \param [in] angle2 * \param [in] color * \param [in] arc_width * \param [in] length * \param [in] space * \param [in] origin_x * \param [in] origin_y */ void o_arc_print_solid(TOPLEVEL *toplevel, FILE *fp, int x, int y, int radius, int angle1, int angle2, int color, int arc_width, int length, int space, int origin_x, int origin_y) { f_print_set_color(toplevel, fp, color); /* inverting angle2 if < 0 and changing angle1 accordingly */ if (angle2 < 0) { angle1 = angle1 + angle2; angle2 = -angle2; } fprintf(fp, "%d %d %d %d %d %d darc\n", x,y, radius, angle1, angle1 + angle2, arc_width); } /*! \brief * \par Function Description * This function prints an arc when a dotted line type is required. * The arc is defined by its center in x and y, its * radius in radius and the start and end angles of the arc on the circle. * The postscript file is defined by the file pointer fp. * The parameter length is ignored whereas arc_width specifies * the diameter of the dots of the printed line and space the distance * between two dots. * * A negative value for space leads to an endless loop. * * All dimensions are in mils, except angle1 and angle2 in degrees. * * The function sets the color the line will be printed with. * * \param [in] toplevel The TOPLEVEL object. * \param [in] fp FILE pointer to postscript document. * \param [in] x * \param [in] y * \param [in] radius * \param [in] angle1 * \param [in] angle2 * \param [in] color * \param [in] arc_width * \param [in] length * \param [in] space * \param [in] origin_x * \param [in] origin_y */ void o_arc_print_dotted(TOPLEVEL *toplevel, FILE *fp, int x, int y, int radius, int angle1, int angle2, int color, int arc_width, int length, int space, int origin_x, int origin_y) { int da, d; f_print_set_color(toplevel, fp, color); /*! \note * Depending on the radius of the arc, the space parameter is * changed into a small angle da. * Starting from angle1 - the start angle - the dots are printed * along the arc by increments of this new angle. * * As da is rounded as an integer, it can take a null value which * will make the function enter an endless loop. In such a case, the arc * is printed solid. The da variable should never be negative * except if space is negative. */ /* Inverting angle2 if < 0 and changing angle1 accordingly */ /* the loop test assume that da > 0 */ if (angle2 < 0) { angle1 = angle1 + angle2; angle2 = -angle2; } da = (int) ((space * 180) / (M_PI * ((double) radius))); /* If da or db too small for arc to be displayed as dotted, draw a solid arc */ if (da <= 0) { o_arc_print_solid(toplevel, fp, x, y, radius, angle1, angle2, color, arc_width, length, space, origin_x, origin_y); return; } fprintf(fp,"["); d = angle1; while (d < (angle2 + angle1)) { /*xa = ((double) x) + ((double) radius) * cos(d * M_PI / 180); ya = ((double) y) + ((double) radius) * sin(d * M_PI / 180); */ fprintf(fp,"[%d] ",d); d = d + da; } fprintf(fp,"] %d %d %d %d dashedarc %% dotted\n", x,y, radius, arc_width); } /*! \brief * \par Function Description * This function prints an arc when a dashed line type is required. * The arc is defined by its center in x and y, its radius * in radius and the start and end angles of the arc on the circle. * The postscript file is defined by the file pointer fp. * The parameter arc_width specifies the diameter of the dots of the printed line. * * A negative value for space or length leads to an endless loop. * * All dimensions are in mils, except angle1 and angle2 in degrees. * * The function sets the color the line will be printed with. * * \param [in] toplevel The TOPLEVEL object. * \param [in] fp FILE pointer to postscript document. * \param [in] x * \param [in] y * \param [in] radius * \param [in] angle1 * \param [in] angle2 * \param [in] color * \param [in] arc_width * \param [in] length * \param [in] space * \param [in] origin_x * \param [in] origin_y */ void o_arc_print_dashed(TOPLEVEL *toplevel, FILE *fp, int x, int y, int radius, int angle1, int angle2, int color, int arc_width, int length, int space, int origin_x, int origin_y) { int da, db, a1, d; f_print_set_color(toplevel, fp, color); /*! \note * Depending on the radius of the arc, the space (resp. length) * parameter is changed into a small angle da (resp. db). * Starting from angle1 - the start angle - the dashes are printed * along the arc by increments of these new angles. * * As da (resp. db) is rounded as an integer, it can take a * null value which will make the function enter an endless loop. In such a case, * the arc is printed solid. The da (resp. db) variable should never * be negative except if space (resp. length) is negative. * * It prints as many dashes of length length as possible. */ /* Inverting angle2 if < 0 and changing angle1 accordingly */ /* the loop test assume that da > 0 */ if (angle2 < 0) { angle1 = angle1 + angle2; angle2 = -angle2; } da = (int) ((length * 180) / (M_PI * ((double) radius))); db = (int) ((space * 180) / (M_PI * ((double) radius))); /* If da or db too small for arc to be displayed as dotted, draw a solid arc */ if ((da <= 0) || (db <= 0)) { o_arc_print_solid(toplevel, fp, x, y, radius, angle1, angle2, color, arc_width, length, space, origin_x, origin_y); return; } fprintf(fp,"["); d = angle1; while ((d + da + db) < (angle1 + angle2)) { a1 = d; d = d + da; fprintf(fp,"[%d %d] ", a1, a1+da); d = d + db; } /*! \note * When the above condition is no more satisfied, then it is not * possible to print a dash of length length and the following space. * However it may be possible to print the complete dash or a shorter one. */ if ((d + da) < (angle1 + angle2)) { a1 = d; } else { a1 = d; } fprintf(fp,"[%d %d] ", a1, a1+da); fprintf(fp,"] %d %d %d %d dashedarc %% dashed\n", x,y, radius, arc_width); } /*! \brief * \par Function Description * This function prints an arc when a centered line type is required. * The arc is defined by its center in x and y, its radius in * radius and the start and end angles of the arc on the circle. * The postscript file is defined by the file pointer fp. * The parameter arc_width specifies the diameter of the dots and the width of the dashes of the printed line. * * A negative value for space or length leads to an endless loop. * * All dimensions are in mils, except angle1 and angle2 in degrees. * * The function sets the color in which the line will be printed with. * * \param [in] toplevel The TOPLEVEL object. * \param [in] fp FILE pointer to postscript document. * \param [in] x * \param [in] y * \param [in] radius * \param [in] angle1 * \param [in] angle2 * \param [in] color * \param [in] arc_width * \param [in] length * \param [in] space * \param [in] origin_x * \param [in] origin_y */ void o_arc_print_center(TOPLEVEL *toplevel, FILE *fp, int x, int y, int radius, int angle1, int angle2, int color, int arc_width, int length, int space, int origin_x, int origin_y) { int da, db, a1, d; f_print_set_color(toplevel, fp, color); /*! \note * Depending on the radius of the arc, the space (resp. length) * parameter is changed into a small angle da (resp. db). * Starting from angle1 - the start angle - the dashes are printed * along the arc by increments of these new angles. * * As da (resp. db) is rounded as an integer, it can take a null * value which will make the function enter an endless loop. In such a case, * the arc is printed solid. The da (resp. db) variable should never * be negative except if space (resp. length) is negative. * * It prints as many sets of dash-dot as possible. */ /* Inverting angle2 if < 0 and changing angle1 accordingly */ /* the loop test assume that da > 0 */ if (angle2 < 0) { angle1 = angle1 + angle2; angle2 = -angle2; } da = (int) ((length * 180) / (M_PI * ((double) radius))); db = (int) ((space * 180) / (M_PI * ((double) radius))); /* If da or db too small to be displayed, draw an arc */ if ((da <= 0) || (db <= 0)) { o_arc_print_solid(toplevel, fp, x, y, radius, angle1, angle2, color, arc_width, length, space, origin_x, origin_y); return; } fprintf(fp, "["); d = angle1; while ((d + da + 2 * db) < (angle1 + angle2)) { a1 = d; d = d + da; fprintf(fp,"[%d %d] ",(int) a1, (int) a1 + da); d = d + db; /* xa = ((double) x) + ((double) radius) * cos(d * (M_PI / 180)); ya = ((double) y) + ((double) radius) * sin(d * (M_PI / 180)); */ fprintf(fp,"[%d] ",d); d = d + db; } /*! \note * When the above condition is no more satisfied, then it is not * possible to print a dash of length length. However two cases are possible : *
    *
    *
    it is possible to print the dash and the dot *
    *
    it is possible to print the dash or a part of the original dash *
    */ if ((d + da) < (angle1 + angle2)) { a1 = d; d = d + da; } else { a1 = d; d = d + da; } fprintf(fp,"[%d %d] ",(int) a1, (int) a1 + da); if ((d + db) < (angle1 + angle2)) { /* xa = ((double) x) + ((double) radius) * cos(d * (M_PI / 180)); ya = ((double) y) + ((double) radius) * sin(d * (M_PI / 180)); */ fprintf(fp,"[%d] ",d); } fprintf(fp,"] %d %d %d %d dashedarc %% center\n", x,y, radius, arc_width); } /*! \note * A dot is represented by a filled circle. Position of the circle is (xa, ya) * and its radius is the arc_width parameter. */ /*! \brief * \par Function Description * This function prints an arc when a phantom line type is required. * The arc is defined by its center in x and y, its radius * in radius and the start and end angles of the arc on the circle. * The postscript file is defined by the file pointer fp. * The parameter arc_width specifies the diameter of the dots and the width of the dashes of the printed line. * * A negative value for space or length leads to an endless loop. * * All dimensions are in mils, except angle1 and angle2 in degrees. * * The function sets the color in which the line will be printed with. * * \param [in] toplevel The TOPLEVEL object. * \param [in] fp FILE pointer to postscript document. * \param [in] x * \param [in] y * \param [in] radius * \param [in] angle1 * \param [in] angle2 * \param [in] color * \param [in] arc_width * \param [in] length * \param [in] space * \param [in] origin_x * \param [in] origin_y */ void o_arc_print_phantom(TOPLEVEL *toplevel, FILE *fp, int x, int y, int radius, int angle1, int angle2, int color, int arc_width, int length, int space, int origin_x, int origin_y) { int da, db, a1, d; f_print_set_color(toplevel, fp, color); /*! \note * Depending on the radius of the arc, the space (resp. length) * parameter is changed into a small angle da (resp. db). * Starting from angle1 - the start angle - the dashes are printed * along the arc by increments of these new angles. * * As da (resp. db) is rounded as an integer, it can take a * null value which will make the function enter an endless loop. In such * a case, the arc is printed solid. The da (resp. db) variable * should never be negative except if space (resp. length) is negative. * * It prints as many sets of dash-dot-dot as possible. */ /* Inverting angle2 if < 0 and changing angle1 accordingly */ /* the loop test assume that da > 0 */ if (angle2 < 0) { angle1 = angle1 + angle2; angle2 = -angle2; } da = (int) ((length * 180) / (((double) radius) * M_PI)); db = (int) ((space * 180) / (((double) radius) * M_PI)); /* If da or db too small for arc to be displayed as dotted, draw a solid arc */ if ((da <= 0) || (db <= 0)) { o_arc_print_solid(toplevel, fp, x, y, radius, angle1, angle2, color, arc_width, length, space, origin_x, origin_y); return; } fprintf(fp,"["); d = angle1; while ((d + da + 3 * db) < (angle1 + angle2)) { a1 = d; d = d + da; fprintf(fp,"[%d %d] ",(int) a1, (int) a1 + da); d = d + db; /* xa = ((double) x) + ((double) radius) * cos(d * (M_PI / 180)); ya = ((double) y) + ((double) radius) * sin(d * (M_PI / 180)); */ fprintf(fp,"[%d] ",d); d = d + db; /* xa = ((double) x) + ((double) radius) * cos(d * (M_PI / 180)); ya = ((double) y) + ((double) radius) * sin(d * (M_PI / 180)); */ fprintf(fp,"[%d] ",d); d = d + db; } /*! \note * When the above condition is no more satisfied, then it is not * possible to print a dash of length length. * However three cases are possible : *
    *
    *
    it is possible to print a dash and a dot and a dot *
    *
    it is possible to print a dash and a dot *
    *
    it is possible to print the dash or a part of the original dash *
    */ if ((d + da) < (angle1 + angle2)) { a1 = d; d = d + da; } else { a1 = d; d = d + da; } fprintf(fp,"[%d %d] ",(int) a1, (int) a1 + da); if ((d + db) < (angle1 + angle2)) { d = d + db; /* xa = ((double) x) + ((double) radius) * cos(d * (M_PI / 180)); ya = ((double) y) + ((double) radius) * sin(d * (M_PI / 180)); */ fprintf(fp,"[%d] ",d); } if ((d + db) < (angle1 + angle2)) { d = d + db; /* xa = ((double) x) + ((double) radius) * cos(d * (M_PI / 180)); ya = ((double) y) + ((double) radius) * sin(d * (M_PI / 180)); */ fprintf(fp,"[%d] ",d); } fprintf(fp,"] %d %d %d %d dashedarc %% phantom\n", x,y, radius, arc_width); } /*! \brief Calculates the distance between the given point and the closest * point on the perimeter of the arc. * * \param [in] object The arc OBJECT. * \param [in] x The x coordinate of the given point. * \param [in] y The y coordinate of the given point. * \param [in] force_solid If true, force treating the object as solid. * \return The shortest distance from the object to the point. With an * invalid parameter, this function returns G_MAXDOUBLE. */ double o_arc_shortest_distance (OBJECT *object, int x, int y, int force_solid) { double shortest_distance; double radius; g_return_val_if_fail (object->arc != NULL, G_MAXDOUBLE); radius = ((double)object->arc->width) / 2.0; if (o_arc_within_sweep (object->arc, x, y)) { double distance_to_center; double dx; double dy; dx = ((double)x) - ((double)object->arc->x); dy = ((double)y) - ((double)object->arc->y); distance_to_center = sqrt ((dx * dx) + (dy * dy)); shortest_distance = fabs (distance_to_center - radius); } else { double angle; double distance_to_end0; double distance_to_end1; double dx, dy; angle = G_PI * ((double)object->arc->start_angle) / 180; dx = ((double)x) - radius * cos (angle) - ((double)object->arc->x); dy = ((double)y) - radius * sin (angle) - ((double)object->arc->y); distance_to_end0 = sqrt ((dx * dx) + (dy * dy)); angle += G_PI * ((double)object->arc->end_angle) / 180; dx = ((double)x) - radius * cos (angle) - ((double)object->arc->x); dy = ((double)y) - radius * sin (angle) - ((double)object->arc->y); distance_to_end1 = sqrt ((dx * dx) + (dy * dy)); shortest_distance = min (distance_to_end0, distance_to_end1); } return shortest_distance; } /*! \brief Determines if a point lies within the sweep of the arc. * * \param [in] arc The arc of object * \param [in] x The x coordinate of the given point. * \param [in] y The y coordinate of the given point. * \return TRUE if the point lies within the sweep of the arc. * FALSE if the point lies outside the sweep of the arc. With an * invalid parameter, this function returns FALSE. */ gboolean o_arc_within_sweep(ARC *arc, gint x, gint y) { gdouble a0; gdouble a1; gdouble angle; gdouble dx; gdouble dy; if (arc == NULL) { g_critical("o_arc_within_sweep(): arc == NULL\n"); return FALSE; } dx = ((gdouble) x) - ((gdouble) arc->x); dy = ((gdouble) y) - ((gdouble) arc->y); angle = 180 * atan2(dy, dx) / G_PI; if (arc->end_angle > 0) { a0 = arc->start_angle; a1 = arc->start_angle + arc->end_angle; } else { a0 = arc->start_angle + arc->end_angle + 360; a1 = arc->start_angle + 360; } while (angle < a0) { angle+=360; } return (angle < a1); } geda-gaf-1.8.2/libgeda/src/o_picture.c0000664000175000017500000012075512220647257014434 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! \file o_picture.c * \brief functions for the picture object */ #include #include #ifdef HAVE_STRING_H #include #endif #include #include #include #include "libgeda_priv.h" /*! \brief Create picture OBJECT from character string. * \par Function Description * Parses \a first_line and subsequent lines from \a tb, and returns * a newly-created picture #OBJECT. * * \param [in] toplevel The TOPLEVEL object. * \param [in] first_line Character string with picture description. * \param [in] tb Text buffer to load embedded data from. * \param [in] release_ver libgeda release version number. * \param [in] fileformat_ver libgeda file format version number. * \return A pointer to the new picture object, or NULL on error. */ OBJECT *o_picture_read (TOPLEVEL *toplevel, const char *first_line, TextBuffer *tb, unsigned int release_ver, unsigned int fileformat_ver, GError **err) { OBJECT *new_obj; int x1, y1; int width, height, angle; int mirrored, embedded; int num_conv; gchar type; const gchar *line = NULL; gchar *filename; gchar *file_content = NULL; guint file_length = 0; num_conv = sscanf(first_line, "%c %d %d %d %d %d %d %d\n", &type, &x1, &y1, &width, &height, &angle, &mirrored, &embedded); if (num_conv != 8) { g_set_error(err, EDA_ERROR, EDA_ERROR_PARSE, _("Failed to parse picture definition")); return NULL; } if (width == 0 || height == 0) { s_log_message(_("Found a zero width/height picture [ %c %d %d %d %d ]\n"), type, x1, y1, width, height); } if ( (mirrored > 1) || (mirrored < 0)) { s_log_message(_("Found a picture with a wrong 'mirrored' parameter: %d.\n"), mirrored); s_log_message(_("Setting mirrored to 0\n")); mirrored = 0; } if ( (embedded > 1) || (embedded < 0)) { s_log_message(_("Found a picture with a wrong 'embedded' parameter: %d.\n"), embedded); s_log_message(_("Setting embedded to 0\n")); embedded = 0; } switch(angle) { case(0): case(90): case(180): case(270): break; default: s_log_message(_("Found an unsupported picture angle [ %d ]\n"), angle); s_log_message(_("Setting angle to 0\n")); angle=0; break; } filename = g_strdup(s_textbuffer_next_line(tb)); filename = remove_last_nl(filename); /* Handle empty filenames */ if (strlen (filename) == 0) { s_log_message (_("Found an image with no filename.")); g_free (filename); filename = NULL; } if (embedded == 1) { GString *encoded_picture=g_string_new(""); char finished = 0; /* Read the encoded picture */ do { line = s_textbuffer_next_line(tb); if (line == NULL) break; if (g_strcasecmp(line, ".\n") != 0) { encoded_picture = g_string_append (encoded_picture, line); } else { finished = 1; } } while (finished == 0); /* Decode the picture */ if (encoded_picture != NULL) { file_content = s_encoding_base64_decode(encoded_picture->str, encoded_picture->len, &file_length); g_string_free (encoded_picture, TRUE); } if (file_content == NULL) { s_log_message (_("Failed to load image from embedded data [%s]: %s\n"), filename, _("Base64 decoding failed.")); s_log_message (_("Falling back to file loading. Picture unembedded.\n")); embedded = 0; } } /* create the picture */ /* The picture is described by its upper left and lower right corner */ new_obj = o_picture_new (toplevel, file_content, file_length, filename, type, x1, y1+height, x1+width, y1, angle, mirrored, embedded); g_free (file_content); g_free (filename); return new_obj; } /*! \brief Create a character string representation of a picture OBJECT. * \par Function Description * This function formats a string in the buffer *buff to describe * the picture object *object. * * \param [in] toplevel a TOPLEVEL structure * \param [in] object Picture OBJECT to create string from. * \return A pointer to the picture OBJECT character string. * * \note * Caller must g_free returned character string. * */ char *o_picture_save(TOPLEVEL *toplevel, OBJECT *object) { int width, height, x1, y1; gchar *encoded_picture=NULL; gchar *out=NULL; guint encoded_picture_length; const gchar *filename = NULL; /* calculate the width and height of the box */ width = abs(object->picture->lower_x - object->picture->upper_x); height = abs(object->picture->upper_y - object->picture->lower_y); /* calculate the lower left corner of the box */ x1 = object->picture->upper_x; y1 = object->picture->upper_y - height; /* move the origin to 0, 0*/ #if DEBUG printf("picture: %d %d %d %d\n", x1, y1, width, height); #endif /* Encode the picture if it's embedded */ if (o_picture_is_embedded (toplevel, object)) { encoded_picture = s_encoding_base64_encode( (char *)object->picture->file_content, object->picture->file_length, &encoded_picture_length, TRUE); if (encoded_picture == NULL) { s_log_message(_("ERROR: o_picture_save: unable to encode the picture.\n")); } } /* Cope with null filename */ filename = o_picture_get_filename (toplevel, object); if (filename == NULL) filename = ""; if (o_picture_is_embedded (toplevel, object) && encoded_picture != NULL) { out = g_strdup_printf("%c %d %d %d %d %d %c %c\n%s\n%s\n%s", object->type, x1, y1, width, height, object->picture->angle, /* Convert the (0,1) chars to ASCII */ (object->picture->mirrored)+0x30, '1', filename, encoded_picture, "."); } else { out = g_strdup_printf("%c %d %d %d %d %d %c %c\n%s", object->type, x1, y1, width, height, object->picture->angle, /* Convert the (0,1) chars to ASCII */ (object->picture->mirrored)+0x30, '0', filename); } g_free(encoded_picture); return(out); } /*! \brief Create a picture object. * \par Function Description * This function creates a new object representing a picture. * * The picture is described by its upper left corner (\a x1, \a y1) * and its lower right corner (\a x2, \ay2). The \a type parameter * must be equal to #OBJ_PICTURE. * * If \a file_content is non-NULL, it must be a pointer to a buffer * containing raw image data. If loading data from \a file_content * is unsuccessful, and \a filename is non-NULL, an image will * attempt to be loaded from \a filename. Otherwise, the picture * object will be initially empty. * * \param [in] toplevel The TOPLEVEL object. * \param [in] file_content Raw data of the image file, or NULL. * \param [in] file_length Length of raw data buffer * \param [in] filename File name backing this picture, or NULL. * \param [in] type Must be OBJ_PICTURE. * \param [in] x1 Upper x coordinate. * \param [in] y1 Upper y coordinate. * \param [in] x2 Lower x coordinate. * \param [in] y2 Lower y coordinate. * \param [in] angle Picture rotation angle. * \param [in] mirrored Whether the image should be mirrored or not. * \param [in] embedded Whether the embedded flag should be set or not. * \return A pointer to a new picture #OBJECT. */ OBJECT *o_picture_new (TOPLEVEL *toplevel, const gchar *file_content, gsize file_length, const gchar *filename, char type, int x1, int y1, int x2, int y2, int angle, int mirrored, int embedded) { OBJECT *new_node; PICTURE *picture; /* create the object */ new_node = s_basic_new_object(type, "picture"); picture = (PICTURE *) g_malloc0 (sizeof(PICTURE)); new_node->picture = picture; /* describe the picture with its upper left and lower right corner */ picture->upper_x = (x1 > x2) ? x2 : x1; picture->upper_y = (y1 > y2) ? y1 : y2; picture->lower_x = (x1 > x2) ? x1 : x2; picture->lower_y = (y1 > y2) ? y2 : y1; picture->pixbuf = NULL; picture->file_content = NULL; picture->file_length = 0; picture->ratio = abs ((double) (x1 - x2) / (y1 - y2)); picture->filename = g_strdup (filename); picture->angle = angle; picture->mirrored = mirrored; picture->embedded = embedded; if (file_content != NULL) { GError *error = NULL; if (!o_picture_set_from_buffer (toplevel, new_node, filename, file_content, file_length, &error)) { s_log_message (_("Failed to load buffer image [%s]: %s\n"), filename, error->message); g_error_free (error); /* Force the data into the object anyway, so as to prevent data * loss of embedded images. */ picture->file_content = g_memdup (file_content, file_length); picture->file_length = file_length; } } if (picture->pixbuf == NULL && filename != NULL) { GError *error = NULL; if (!o_picture_set_from_file (toplevel, new_node, filename, &error)) { s_log_message (_("Failed to load image from [%s]: %s\n"), filename, error->message); g_error_free (error); } } /* compute the bounding picture */ o_picture_recalc(toplevel, new_node); return new_node; } /*! \brief Recalculate picture bounding box. * \par Function Description * This function recalculates the bounding box of the o_current * parameter picture object. * * \param [in] toplevel The TOPLEVEL object. * \param [in,out] o_current Picture OBJECT to be recalculated. */ void o_picture_recalc(TOPLEVEL *toplevel, OBJECT *o_current) { int left, top, right, bottom; if (o_current->picture == NULL) { return; } /* update the bounding picture - world units */ world_get_picture_bounds(toplevel, o_current, &left, &top, &right, &bottom); o_current->w_left = left; o_current->w_top = top; o_current->w_right = right; o_current->w_bottom = bottom; o_current->w_bounds_valid = TRUE; } /*! \brief Get picture bounding rectangle in WORLD coordinates. * \par Function Description * This function sets the left, top, right and * bottom parameters to the boundings of the picture object * described in *picture in WORLD units. * * \param [in] toplevel The TOPLEVEL object. * \param [in] object Picture OBJECT to read coordinates from. * \param [out] left Left picture coordinate in WORLD units. * \param [out] top Top picture coordinate in WORLD units. * \param [out] right Right picture coordinate in WORLD units. * \param [out] bottom Bottom picture coordinate in WORLD units. */ void world_get_picture_bounds(TOPLEVEL *toplevel, OBJECT *object, int *left, int *top, int *right, int *bottom) { *left = min(object->picture->upper_x, object->picture->lower_x); *top = min(object->picture->upper_y, object->picture->lower_y); *right = max(object->picture->upper_x, object->picture->lower_x); *bottom = max(object->picture->upper_y, object->picture->lower_y); } /*! \brief get the position of the left bottom point * \par Function Description * This function gets the position of the bottom left point of a picture object. * * \param [in] toplevel The toplevel environment. * \param [out] x pointer to the x-position * \param [out] y pointer to the y-position * \param [in] object The object to get the position. * \return TRUE if successfully determined the position, FALSE otherwise */ gboolean o_picture_get_position (TOPLEVEL *toplevel, gint *x, gint *y, OBJECT *object) { *x = min(object->picture->lower_x, object->picture->upper_x); *y = min(object->picture->lower_y, object->picture->upper_y); return TRUE; } /*! \brief Get the width/height ratio of an image. * \par Function Description * Returns the width/height ratio of picture \a object, taking the * image rotation into account. * * \param toplevel The current #TOPLEVEL. * \param object Picture #OBJECT to inspect. * \return width/height ratio for \a object. */ double o_picture_get_ratio (TOPLEVEL *toplevel, OBJECT *object) { g_return_val_if_fail (object != NULL, 1); g_return_val_if_fail (object->picture != NULL, 1); /* The effective ratio varies depending on the rotation of the * image. */ switch (object->picture->angle) { case 0: case 180: return object->picture->ratio; case 90: case 270: return 1.0 / object->picture->ratio; default: g_critical (_("Picture %p has invalid angle %i\n"), object, object->picture->angle); } return 0; } /*! \brief Modify the description of a picture OBJECT. * \par Function Description * This function modifies the coordinates of one of the four corner of * the picture. The new coordinates of the corner identified by * whichone are given by x and y in world unit. * * The coordinates of the corner is modified in the world coordinate system. * Screen coordinates and boundings are then updated. * * \param [in] toplevel The TOPLEVEL object. * \param [in,out] object Picture OBJECT to modify. * \param [in] x New x coordinate. * \param [in] y New y coordinate. * \param [in] whichone Which picture parameter to modify. * * whichone can have the following values: *
    *
    *
    PICTURE_UPPER_LEFT *
    *
    PICTURE_LOWER_LEFT *
    *
    PICTURE_UPPER_RIGHT *
    *
    PICTURE_LOWER_RIGHT *
    */ void o_picture_modify(TOPLEVEL *toplevel, OBJECT *object, int x, int y, int whichone) { int tmp; double ratio = o_picture_get_ratio (toplevel, object); o_emit_pre_change_notify (toplevel, object); /* change the position of the selected corner */ switch(whichone) { case PICTURE_UPPER_LEFT: object->picture->upper_x = x; tmp = abs(object->picture->upper_x - object->picture->lower_x) / ratio; if (y < object->picture->lower_y) { tmp = -tmp; } object->picture->upper_y = object->picture->lower_y + tmp; break; case PICTURE_LOWER_LEFT: object->picture->upper_x = x; tmp = abs(object->picture->upper_x - object->picture->lower_x) / ratio; if (y > object->picture->upper_y) { tmp = -tmp; } object->picture->lower_y = object->picture->upper_y - tmp; break; case PICTURE_UPPER_RIGHT: object->picture->lower_x = x; tmp = abs(object->picture->upper_x - object->picture->lower_x) / ratio; if (y < object->picture->lower_y) { tmp = -tmp; } object->picture->upper_y = object->picture->lower_y + tmp; break; case PICTURE_LOWER_RIGHT: object->picture->lower_x = x; tmp = abs(object->picture->upper_x - object->picture->lower_x) / ratio; if (y > object->picture->upper_y) { tmp = -tmp; } object->picture->lower_y = object->picture->upper_y - tmp; break; default: return; } /* need to update the upper left and lower right corners */ if(object->picture->upper_x > object->picture->lower_x) { tmp = object->picture->upper_x; object->picture->upper_x = object->picture->lower_x; object->picture->lower_x = tmp; } if(object->picture->upper_y < object->picture->lower_y) { tmp = object->picture->upper_y; object->picture->upper_y = object->picture->lower_y; object->picture->lower_y = tmp; } /* recalculate the screen coords and the boundings */ o_picture_recalc(toplevel, object); o_emit_change_notify (toplevel, object); } /*! \brief Modify a picture object's coordinates. * \par Function Description * Modifies the coordinates of all four corners of a picture \a * object. The picture is adjusted to fit the rectangle enclosed by * the points (\a x1, \a y1) and (\a x2, \a y2), and scaled as large * as possible to still fit within that rectangle. * * \param [in] toplevel current #TOPLEVEL. * \param [in,out] object picture #OBJECT to be modified. * \param [in] x1 x coordinate of first corner of box. * \param [in] y1 y coordinate of first corner of box. * \param [in] x2 x coordinate of second corner of box. * \param [in] y2 y coordinate of second corner of box. */ void o_picture_modify_all (TOPLEVEL *toplevel, OBJECT *object, int x1, int y1, int x2, int y2) { o_emit_pre_change_notify (toplevel, object); /* Normalise the requested rectangle. */ object->picture->lower_x = (x1 > x2) ? x1 : x2; object->picture->lower_y = (y1 > y2) ? y2 : y1; object->picture->upper_x = (x1 > x2) ? x2 : x1; object->picture->upper_y = (y1 > y2) ? y1 : y2; /* recalculate the world coords and bounds */ o_box_recalc(toplevel, object); o_emit_change_notify (toplevel, object); } /*! \brief Rotate picture OBJECT using WORLD coordinates. * \par Function Description * This function rotates the picture described by *object around * the (world_centerx, world_centery) point by angle * degrees. * The center of rotation is in world units. * * \param [in] toplevel The TOPLEVEL object. * \param [in] world_centerx Rotation center x coordinate in * WORLD units. * \param [in] world_centery Rotation center y coordinate in * WORLD units. * \param [in] angle Rotation angle in degrees (See note below). * \param [in,out] object Picture OBJECT to rotate. */ void o_picture_rotate_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, int angle, OBJECT *object) { int newx1, newy1; int newx2, newy2; /* Only 90 degree multiple and positive angles are allowed. */ /* angle must be positive */ if(angle < 0) angle = -angle; /* angle must be a 90 multiple or no rotation performed */ if((angle % 90) != 0) return; object->picture->angle = ( object->picture->angle + angle ) % 360; /* The center of rotation (world_centerx, world_centery) is * translated to the origin. The rotation of the upper left and lower * right corner are then performed. Finally, the rotated picture is * translated back to its previous location. */ /* translate object to origin */ object->picture->upper_x -= world_centerx; object->picture->upper_y -= world_centery; object->picture->lower_x -= world_centerx; object->picture->lower_y -= world_centery; /* rotate the upper left corner of the picture */ rotate_point_90(object->picture->upper_x, object->picture->upper_y, angle, &newx1, &newy1); /* rotate the lower left corner of the picture */ rotate_point_90(object->picture->lower_x, object->picture->lower_y, angle, &newx2, &newy2); /* reorder the corners after rotation */ object->picture->upper_x = min(newx1,newx2); object->picture->upper_y = max(newy1,newy2); object->picture->lower_x = max(newx1,newx2); object->picture->lower_y = min(newy1,newy2); /* translate object back to normal position */ object->picture->upper_x += world_centerx; object->picture->upper_y += world_centery; object->picture->lower_x += world_centerx; object->picture->lower_y += world_centery; /* recalc boundings and screen coords */ o_picture_recalc(toplevel, object); } /*! \brief Mirror a picture using WORLD coordinates. * \par Function Description * This function mirrors the picture from the point * (world_centerx,world_centery) in world unit. * * The picture is first translated to the origin, then mirrored and * finally translated back at its previous position. * * \param [in] toplevel The TOPLEVEL object. * \param [in] world_centerx Origin x coordinate in WORLD units. * \param [in] world_centery Origin y coordinate in WORLD units. * \param [in,out] object Picture OBJECT to mirror. */ void o_picture_mirror_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, OBJECT *object) { int newx1, newy1; int newx2, newy2; /* Set info in object. Sometimes it's necessary to change the * rotation angle as well as the mirror flag. */ object->picture->mirrored = !object->picture->mirrored; switch (object->picture->angle) { case 90: object->picture->angle = 270; break; case 270: object->picture->angle = 90; break; } /* translate object to origin */ object->picture->upper_x -= world_centerx; object->picture->upper_y -= world_centery; object->picture->lower_x -= world_centerx; object->picture->lower_y -= world_centery; /* mirror the corners */ newx1 = -object->picture->upper_x; newy1 = object->picture->upper_y; newx2 = -object->picture->lower_x; newy2 = object->picture->lower_y; /* reorder the corners */ object->picture->upper_x = min(newx1,newx2); object->picture->upper_y = max(newy1,newy2); object->picture->lower_x = max(newx1,newx2); object->picture->lower_y = min(newy1,newy2); /* translate back in position */ object->picture->upper_x += world_centerx; object->picture->upper_y += world_centery; object->picture->lower_x += world_centerx; object->picture->lower_y += world_centery; /* recalc boundings and screen coords */ o_picture_recalc(toplevel, object); } /*! \brief Translate a picture position in WORLD coordinates by a delta. * \par Function Description * This function applies a translation of (x1,y1) to the picture * described by *object. x1 and y1 are in world units. * * \param [in] toplevel The TOPLEVEL object. * \param [in] dx x distance to move. * \param [in] dy y distance to move. * \param [in,out] object Picture OBJECT to translate. */ void o_picture_translate_world(TOPLEVEL *toplevel, int dx, int dy, OBJECT *object) { /* Do world coords */ object->picture->upper_x = object->picture->upper_x + dx; object->picture->upper_y = object->picture->upper_y + dy; object->picture->lower_x = object->picture->lower_x + dx; object->picture->lower_y = object->picture->lower_y + dy; /* recalc the screen coords and the bounding picture */ o_picture_recalc(toplevel, object); } /*! \brief Create a copy of a picture. * \par Function Description * This function creates a verbatim copy of the object pointed by * o_current describing a picture. * * \param [in] toplevel The TOPLEVEL object. * \param [in] object Picture OBJECT to copy. * \return The new OBJECT */ OBJECT *o_picture_copy(TOPLEVEL *toplevel, OBJECT *object) { OBJECT *new_node; PICTURE *picture; /* create the object */ new_node = s_basic_new_object(object->type, "picture"); picture = g_malloc(sizeof(PICTURE)); new_node->picture = picture; new_node->color = object->color; new_node->selectable = object->selectable; /* describe the picture with its upper left and lower right corner */ picture->upper_x = object->picture->upper_x; picture->upper_y = object->picture->upper_y; picture->lower_x = object->picture->lower_x; picture->lower_y = object->picture->lower_y; if (object->picture->file_content != NULL) { picture->file_content = g_memdup (object->picture->file_content, object->picture->file_length); } else { picture->file_content = NULL; } picture->file_length = object->picture->file_length; picture->filename = g_strdup (object->picture->filename); picture->ratio = object->picture->ratio; picture->angle = object->picture->angle; picture->mirrored = object->picture->mirrored; picture->embedded = object->picture->embedded; /* Get the picture data */ picture->pixbuf = o_picture_get_pixbuf (toplevel, object); /* compute the bounding picture */ o_picture_recalc(toplevel, new_node); return new_node; } /*! \brief Get RGB data from image. * \par Function Description * This function returns the RGB data of the given image. * Function taken from the DIA source code (http://www.gnome.org/projects/dia) * and licensed under the GNU GPL version 2. * * \param [in] image GdkPixbuf image to read RGB data from. * \return Array of rgb data from image. * * \note * Caller must g_free returned guint8 array. */ static guint8 * o_picture_rgb_data(GdkPixbuf *image) { int width = gdk_pixbuf_get_width(image); int height = gdk_pixbuf_get_height(image); int rowstride = gdk_pixbuf_get_rowstride(image); int size = height*rowstride; guint8 *rgb_pixels = g_malloc(size); if (gdk_pixbuf_get_has_alpha(image)) { guint8 *pixels = gdk_pixbuf_get_pixels(image); int i, j; for (i = 0; i < height; i++) { for (j = 0; j < width; j++) { rgb_pixels[i*rowstride+j*3] = pixels[i*rowstride+j*4]; rgb_pixels[i*rowstride+j*3+1] = pixels[i*rowstride+j*4+1]; rgb_pixels[i*rowstride+j*3+2] = pixels[i*rowstride+j*4+2]; } } return rgb_pixels; } else { guint8 *pixels = gdk_pixbuf_get_pixels(image); g_memmove(rgb_pixels, pixels, height*rowstride); return rgb_pixels; } } /*! \brief Get mask data from image. * \par Function Description * This function returns the mask data of the given image. * Function taken from the DIA source code (http://www.gnome.org/projects/dia) * and licensed under the GNU GPL version 2. * * \param [in] image GdkPixbuf image to get mask data from. * \return Array of mask data from image. * * \note * Caller must g_free returned guint8 array. */ static guint8 * o_picture_mask_data(GdkPixbuf *image) { guint8 *pixels; guint8 *mask; int i, size; if (!gdk_pixbuf_get_has_alpha(image)) { return NULL; } pixels = gdk_pixbuf_get_pixels(image); size = gdk_pixbuf_get_width(image)* gdk_pixbuf_get_height(image); mask = g_malloc(size); /* Pick every fourth byte (the alpha channel) into mask */ for (i = 0; i < size; i++) mask[i] = pixels[i*4+3]; return mask; } /*! \brief Print picture to Postscript document. * \par Function Description * This function prints a picture object. The picture is defined by the * coordinates of its upper left corner in (x,y) and its width * and height given by the width and height parameters. * * If the picture object was unable to be loaded, prints a crossed * box of the same dimensions. * * The Postscript document is defined by the file pointer fp. * Function based on the DIA source code (http://www.gnome.org/projects/dia) * and licensed under the GNU GPL version 2. * * All dimensions are in mils. * * \param [in] toplevel The TOPLEVEL object. * \param [in] fp FILE pointer to Postscript document. * \param [in] o_current Picture OBJECT to write to document. * \param [in] origin_x Page x coordinate to place picture OBJECT. * \param [in] origin_y Page y coordinate to place picture OBJECT. */ void o_picture_print(TOPLEVEL *toplevel, FILE *fp, OBJECT *o_current, int origin_x, int origin_y) { int x1, y1, x, y; int height, width; GdkPixbuf* image = o_picture_get_pixbuf (toplevel, o_current); int img_width, img_height, img_rowstride; guint8 *rgb_data; guint8 *mask_data; /* calculate the width and height of the box */ width = abs(o_current->picture->lower_x - o_current->picture->upper_x); height = abs(o_current->picture->upper_y - o_current->picture->lower_y); /* calculate the origin of the box */ x1 = o_current->picture->upper_x; y1 = o_current->picture->upper_y; /* If the image failed to load, try to get hold of the fallback * pixbuf. */ if (image == NULL) image = o_picture_get_fallback_pixbuf (toplevel); /* If the image failed to load, draw a box in the default color with a * cross in it. */ if (image == NULL) { int line_width = (toplevel->line_style == THICK) ? LINE_WIDTH : 2; o_box_print_solid (toplevel, fp, x1, y1, width, height, DEFAULT_COLOR, line_width, -1, -1, -1, -1); o_line_print_solid (toplevel, fp, x1, y1, x1+width, y1-height, DEFAULT_COLOR, line_width, -1, -1, -1, -1); o_line_print_solid (toplevel, fp, x1+width, y1, x1, y1-height, DEFAULT_COLOR, line_width, -1, -1, -1, -1); return; } img_width = gdk_pixbuf_get_width(image); img_rowstride = gdk_pixbuf_get_rowstride(image); img_height = gdk_pixbuf_get_height(image); rgb_data = o_picture_rgb_data(image); mask_data = o_picture_mask_data(image); fprintf(fp, "gsave\n"); /* color output only */ fprintf(fp, "/pix %i string def\n", img_width * 3); fprintf(fp, "%i %i 8\n", img_width, img_height); fprintf(fp, "%i %i translate\n", x1, y1); fprintf(fp, "%i %i scale\n", width, height); fprintf(fp, "[%i 0 0 -%i 0 0]\n", img_width, img_height); fprintf(fp, "{currentfile pix readhexstring pop}\n"); fprintf(fp, "false 3 colorimage\n"); fprintf(fp, "\n"); if (mask_data) { for (y = 0; y < img_height; y++) { for (x = 0; x < img_width; x++) { int i = y*img_rowstride+x*3; int m = y*img_width+x; fprintf(fp, "%02x", 255-(mask_data[m]*(255-rgb_data[i])/255)); fprintf(fp, "%02x", 255-(mask_data[m]*(255-rgb_data[i+1])/255)); fprintf(fp, "%02x", 255-(mask_data[m]*(255-rgb_data[i+2])/255)); } fprintf(fp, "\n"); } } else { for (y = 0; y < img_height; y++) { for (x = 0; x < img_width; x++) { int i = y*img_rowstride+x*3; fprintf(fp, "%02x", (int)(rgb_data[i])); fprintf(fp, "%02x", (int)(rgb_data[i+1])); fprintf(fp, "%02x", (int)(rgb_data[i+2])); } fprintf(fp, "\n"); } } fprintf(fp, "grestore\n"); fprintf(fp, "\n"); g_object_unref (image); g_free(rgb_data); g_free(mask_data); } /*! \brief Embed the image file associated with a picture * \par Function Description * Verify that a picture has valid data associated with it, and if so, * mark it to be embedded. * * \param [in] toplevel The TOPLEVEL object. * \param [in] object The picture OBJECT to embed */ void o_picture_embed (TOPLEVEL *toplevel, OBJECT *object) { const gchar *filename = o_picture_get_filename (toplevel, object); gchar *basename; if (o_picture_is_embedded (toplevel, object)) return; if (object->picture->file_content == NULL) { s_log_message (_("Picture [%s] has no image data.\n"), filename); s_log_message (_("Falling back to file loading. Picture is still unembedded.\n")); object->picture->embedded = 0; return; } object->picture->embedded = 1; basename = g_path_get_basename (filename); s_log_message (_("Picture [%s] has been embedded\n"), basename); g_free (basename); } /*! \brief Unembed a picture, reloading the image from disk * \par Function Description * Verify that the file associated with \a object exists on disk and * is usable, and if so, reload the picture and mark it as unembedded. * * \param [in] toplevel The TOPLEVEL object. * \param [in] object The picture OBJECT to unembed */ void o_picture_unembed (TOPLEVEL *toplevel, OBJECT *object) { GError *err = NULL; const gchar *filename = o_picture_get_filename (toplevel, object); gchar *basename; if (!o_picture_is_embedded (toplevel, object)) return; o_picture_set_from_file (toplevel, object, filename, &err); if (err != NULL) { s_log_message (_("Failed to load image from file [%s]: %s\n"), filename, err->message); s_log_message (_("Picture is still embedded.\n")); g_error_free (err); return; } object->picture->embedded = 0; basename = g_path_get_basename(filename); s_log_message (_("Picture [%s] has been unembedded\n"), basename); g_free(basename); } /*! \brief Calculates the distance between the given point and the closest * point in the picture. * * Interrior points within the picture return a distance of zero. * * \param [in] object The picture OBJECT. * \param [in] x The x coordinate of the given point. * \param [in] y The y coordinate of the given point. * \param [in] force_solid If true, force treating the object as solid. * \return The shortest distance from the object to the point. With an * invalid parameter, this function returns G_MAXDOUBLE. */ double o_picture_shortest_distance (OBJECT *object, int x, int y, int force_solid) { double dx, dy; double x1, y1, x2, y2; g_return_val_if_fail (object->picture != NULL, G_MAXDOUBLE); x1 = (double)min (object->picture->upper_x, object->picture->lower_x); y1 = (double)min (object->picture->upper_y, object->picture->lower_y); x2 = (double)max (object->picture->upper_x, object->picture->lower_x); y2 = (double)max (object->picture->upper_y, object->picture->lower_y); dx = min (((double)x) - x1, x2 - ((double)x)); dy = min (((double)y) - y1, y2 - ((double)y)); dx = min (dx, 0); dy = min (dy, 0); return sqrt ((dx * dx) + (dy * dy)); } /*! \brief Test whether a picture object is embedded. * \par Function Description * Returns TRUE if the picture \a object will have its data embedded * in a schematic or symbol file; returns FALSE if its data will be * obtained from a separate file. * * \param toplevel The current #TOPLEVEL. * \param object The picture #OBJECT to inspect. * \return TRUE if \a object is embedded. */ gboolean o_picture_is_embedded (TOPLEVEL *toplevel, OBJECT *object) { g_return_val_if_fail (object != NULL, FALSE); g_return_val_if_fail (object->picture != NULL, FALSE); return object->picture->embedded; } /*! \brief Get a pixel buffer for a picture object. * \par Function Description * Returns a #GdkPixbuf for the picture object \a object, or NULL if * the picture could not be loaded. * * The returned value should have its reference count decremented with * g_object_unref() when no longer needed. * * \param toplevel The current #TOPLEVEL. * \param object The picture #OBJECT to inspect. * \return A #GdkPixbuf for the picture. */ GdkPixbuf * o_picture_get_pixbuf (TOPLEVEL *toplevel, OBJECT *object) { g_return_val_if_fail (object != NULL, NULL); g_return_val_if_fail (object->picture != NULL, NULL); if (object->picture->pixbuf != NULL) { return g_object_ref (object->picture->pixbuf); } else { return NULL; } } /*! \brief Get the raw image data from a picture object. * \par Function Description * Returns the raw image file data underlying the picture \a object, * or NULL if the picture could not be loaded. * * \param toplevel The current #TOPLEVEL. * \param object The picture #OBJECT to inspect. * \param len Location to store buffer length. * \return A read-only buffer of raw image data. */ const char * o_picture_get_data (TOPLEVEL *toplevel, OBJECT *object, size_t *len) { g_return_val_if_fail (object != NULL, NULL); g_return_val_if_fail (object->picture != NULL, NULL); *len = object->picture->file_length; return object->picture->file_content; } /*! \brief Set a picture object's contents from a buffer. * \par Function Description * Sets the contents of the picture \a object by reading image data * from a buffer. The buffer should be in on-disk format. * * \param toplevel The current #TOPLEVEL. * \param object The picture #OBJECT to modify. * \param filename The new filename for the picture. * \param data The new image data buffer. * \param len The size of the data buffer. * \param error Location to return error information. * \return TRUE on success, FALSE on failure. */ gboolean o_picture_set_from_buffer (TOPLEVEL *toplevel, OBJECT *object, const gchar *filename, const gchar *data, size_t len, GError **error) { GdkPixbuf *pixbuf; GInputStream *stream; gchar *tmp; g_return_val_if_fail (toplevel != NULL, FALSE); g_return_val_if_fail (object != NULL, FALSE); g_return_val_if_fail (object->picture != NULL, FALSE); g_return_val_if_fail (data != NULL, FALSE); /* Check that we can actually load the data before making any * changes to the object. */ stream = G_INPUT_STREAM (g_memory_input_stream_new_from_data (data, len, NULL)); pixbuf = gdk_pixbuf_new_from_stream (stream, NULL, error); g_object_unref (stream); if (pixbuf == NULL) return FALSE; o_emit_pre_change_notify (toplevel, object); if (object->picture->pixbuf != NULL) { g_object_unref (object->picture->pixbuf); } object->picture->pixbuf = pixbuf; object->picture->ratio = ((double) gdk_pixbuf_get_width(pixbuf) / gdk_pixbuf_get_height(pixbuf)); tmp = g_strdup (filename); g_free (object->picture->filename); object->picture->filename = tmp; gchar *buf = g_realloc (object->picture->file_content, len); /* It's possible that these buffers might overlap, because the * library user hates us. */ memmove (buf, data, len); object->picture->file_content = buf; object->picture->file_length = len; o_emit_change_notify (toplevel, object); return TRUE; } /*! \brief Set a picture object's contents from a file. * \par Function Description * Sets the contents of the picture \a object by reading image data * from a file. * * \param toplevel The current #TOPLEVEL. * \param object The picture #OBJECT to modify. * \param filename The filename to load image data from. * \param error Location to return error information. * \return TRUE on success, FALSE on failure. */ gboolean o_picture_set_from_file (TOPLEVEL *toplevel, OBJECT *object, const gchar *filename, GError **error) { gchar *buf; size_t len; gboolean status; g_return_val_if_fail (filename != NULL, FALSE); if (!g_file_get_contents (filename, &buf, &len, error)) { return FALSE; } status = o_picture_set_from_buffer (toplevel, object, filename, buf, len, error); g_free (buf); return status; } /*! \brief Get a picture's corresponding filename. * \par Function Description * Returns the filename associated with the picture \a object. * * \param toplevel The current #TOPLEVEL. * \param object The picture #OBJECT to inspect. * \return the filename associated with \a object. */ const gchar * o_picture_get_filename (TOPLEVEL *toplevel, OBJECT *object) { g_return_val_if_fail (object != NULL, NULL); g_return_val_if_fail (object->picture != NULL, NULL); return object->picture->filename; } /*! \brief Get fallback pixbuf for displaying pictures. * \par Function Description * Returns a pixbuf containing the fallback image to be used if a * picture object fails to load. The returned pixbuf should be freed * with g_object_unref() when no longer needed. * * \return a #GdkPixbuf containing a warning image. */ GdkPixbuf * o_picture_get_fallback_pixbuf (TOPLEVEL *toplevel) { static GdkPixbuf *pixbuf = NULL; static gboolean failed = FALSE; if (pixbuf == NULL && !failed) { gchar *filename; GError *error = NULL; filename = g_build_filename (toplevel->bitmap_directory, "gschem-warning.png", NULL); pixbuf = gdk_pixbuf_new_from_file (filename, &error); if (pixbuf == NULL) { g_warning ( _("Failed to load fallback image %s: %s.\n"), filename, error->message); g_error_free (error); failed = TRUE; } g_free (filename); } if (failed) return NULL; g_assert (GDK_IS_PIXBUF (pixbuf)); return g_object_ref (pixbuf); } geda-gaf-1.8.2/libgeda/src/g_register.c0000664000175000017500000000711212220647257014564 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #include #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_UNISTD_H #include #endif #include "libgeda_priv.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \brief */ struct gsubr_t { char* name; int req; int opt; int rst; SCM (*fnc)(); }; /*! \brief */ static struct gsubr_t libgeda_funcs[] = { { "eval-protected", 1, 1, 0, g_scm_eval_protected }, { "eval-string-protected", 1, 0, 0, g_scm_eval_string_protected }, { "component-library", 1, 1, 0, g_rc_component_library }, { "component-library-command", 3, 0, 0, g_rc_component_library_command }, { "component-library-funcs", 3, 0, 0, g_rc_component_library_funcs }, { "source-library", 1, 0, 0, g_rc_source_library }, { "source-library-search", 1, 0, 0, g_rc_source_library_search }, { "world-size", 3, 0, 0, g_rc_world_size }, { "reset-component-library", 0, 0, 0, g_rc_reset_component_library }, { "reset-source-library", 0, 0, 0, g_rc_reset_source_library }, { "untitled-name", 1, 0, 0, g_rc_untitled_name }, { "scheme-directory", 1, 0, 0, g_rc_scheme_directory }, { "bitmap-directory", 1, 0, 0, g_rc_bitmap_directory }, { "bus-ripper-symname", 1, 0, 0, g_rc_bus_ripper_symname }, { "postscript-prolog", 1, 0, 0, g_rc_postscript_prolog }, { "attribute-promotion", 1, 0, 0, g_rc_attribute_promotion }, { "promote-invisible", 1, 0, 0, g_rc_promote_invisible }, { "keep-invisible", 1, 0, 0, g_rc_keep_invisible }, { "always-promote-attributes",1, 0, 0, g_rc_always_promote_attributes }, { "make-backup-files", 1, 0, 0, g_rc_make_backup_files }, { "print-color-map", 0, 1, 0, g_rc_print_color_map }, { "rc-filename", 0, 0, 0, g_rc_rc_filename }, { NULL, 0, 0, 0, NULL } }; /*! \brief Register all libgeda functions with scheme. * \par Function Description * Creates g_subr_t objects to make g_rc_* functions that are defined * in g_rc.c visible to Scheme. */ void g_register_libgeda_funcs (void) { struct gsubr_t *tmp = libgeda_funcs; while (tmp->name != NULL) { scm_c_define_gsubr (tmp->name, tmp->req, tmp->opt, tmp->rst, tmp->fnc); tmp++; } } /*! \brief Register some libgeda directories with Scheme. * \par Function Description * Ensures that the default gEDA Scheme directory is added to the * Guile load path. */ void g_register_libgeda_dirs (void) { char *scheme_dir; scheme_dir = g_build_filename (s_path_sys_data (), "scheme", NULL); g_rc_scheme_directory (scm_from_utf8_string (scheme_dir)); g_free (scheme_dir); } geda-gaf-1.8.2/libgeda/src/o_selection.c0000664000175000017500000001044212207374140014726 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #ifdef HAVE_STDLIB_H #include #endif #include "libgeda_priv.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \brief Returns a pointer to a new SELECTION object. * \par Returns a pointer to a new SELECTION object. * \return pointer to the new SELECTION object. */ SELECTION *o_selection_new( void ) { return (SELECTION*)geda_list_new(); } /*! \brief Selects the given object and adds it to the selection list * \par Selects the given object and does the needed work to make the * object visually selected. * Skip objects that are already selected. * * \param [in] toplevel The TOPLEVEL object * \param [in] selection Pointer to the selection list * \param [in] o_selected Object to select. */ void o_selection_add (TOPLEVEL *toplevel, SELECTION *selection, OBJECT *o_selected) { if (o_selected->selected == FALSE) { o_selection_select (toplevel, o_selected); geda_list_add( (GedaList *)selection, o_selected ); } } /*! \brief Removes the given object from the selection list * \par Removes the given object from the selection list and does the * needed work to make the object visually unselected. * It's ok to call this function with an object which is not necessarily * selected. * * \param [in] toplevel The TOPLEVEL object * \param [in] selection Pointer to the selection list * \param [in] o_selected Object to unselect and remove from the list. */ void o_selection_remove (TOPLEVEL *toplevel, SELECTION *selection, OBJECT *o_selected) { if (o_selected == NULL) { fprintf(stderr, "Got NULL for o_selected in o_selection_remove\n"); return; } if (g_list_find( geda_list_get_glist( selection ), o_selected ) != NULL) { o_selection_unselect (toplevel, o_selected); geda_list_remove( (GedaList *)selection, o_selected ); } } /*! \brief Prints the given selection list. * \par Prints the given selection list. * \param [in] selection Pointer to selection list to print. * */ void o_selection_print_all(const SELECTION *selection) { const GList *s_current; s_current = geda_list_get_glist( selection ); printf("START printing selection ********************\n"); while(s_current != NULL) { if (s_current->data) { printf("Selected object: %d\n", ((OBJECT *)s_current->data)->sid ); } s_current = g_list_next( s_current ); } printf("DONE printing selection ********************\n"); printf("\n"); } /*! \brief Selects the given object. * \par Sets the select flag, saves the color, and then selects the * given object * * \param [in] toplevel The TOPLEVEL object * \param [in] object Object to select. */ void o_selection_select(TOPLEVEL *toplevel, OBJECT *object) { if (object->selected == TRUE) return; o_emit_pre_change_notify (toplevel, object); object->selected = TRUE; o_emit_change_notify (toplevel, object); } /*! \brief Unselects the given object. * \par Unsets the select flag, restores the original color of the * given object. * This function should not be called by anybody outside of this file. * * \param [in] toplevel The TOPLEVEL object * \param [in] object Object to unselect. */ void o_selection_unselect (TOPLEVEL *toplevel, OBJECT *object) { if (object->selected == FALSE) return; o_emit_pre_change_notify (toplevel, object); object->selected = FALSE; o_emit_change_notify (toplevel, object); } geda-gaf-1.8.2/libgeda/src/Makefile.am0000664000175000017500000000445512220647257014331 00000000000000 # Build a libtool library for installation in libdir. lib_LTLIBRARIES = libgeda.la BUILT_SOURCES = \ scheme_init.x \ scheme_smob.x \ scheme_toplevel.x \ scheme_object.x \ scheme_complex.x \ scheme_page.x \ scheme_attrib.x \ scheme_os.x \ scheme_deprecated.x scheme_api_sources = \ scheme_init.c \ scheme_smob.c \ scheme_toplevel.c \ scheme_object.c \ scheme_complex.c \ scheme_os.c \ scheme_page.c \ scheme_attrib.c \ scheme_deprecated.c libgeda_la_SOURCES = \ $(scheme_api_sources) \ a_basic.c \ edaerrors.c \ f_basic.c \ f_print.c \ g_basic.c \ geda_list.c \ g_rc.c \ g_register.c \ i_vars.c \ libgeda.c \ m_basic.c \ m_bounds.c \ m_box.c \ m_circle.c \ m_hatch.c \ m_line.c \ m_polygon.c \ m_transform.c \ o_arc_basic.c \ o_attrib.c \ o_basic.c \ o_box_basic.c \ o_bus_basic.c \ o_circle_basic.c \ o_complex_basic.c \ o_embed.c \ o_line_basic.c \ o_list.c \ o_net_basic.c \ o_path_basic.c \ o_picture.c \ o_pin_basic.c \ o_selection.c \ o_text_basic.c \ s_attrib.c \ s_basic.c \ s_clib.c \ s_color.c \ s_conn.c \ s_cue.c \ s_encoding.c \ s_hierarchy.c \ s_log.c \ s_menu.c \ s_page.c \ s_papersizes.c \ s_path.c \ s_slib.c \ s_slot.c \ s_textbuffer.c \ s_tile.c \ s_toplevel.c \ s_undo.c \ s_weakref.c \ u_basic.c libgeda_la_CPPFLAGS = -DLOCALEDIR=\"$(localedir)\" $(DATADIR_DEFS) \ -I$(srcdir)/../include -I$(srcdir)/../include/libgeda -I$(top_srcdir) libgeda_la_CFLAGS = \ $(GCC_CFLAGS) $(MINGW_CFLAGS) $(GUILE_CFLAGS) $(GLIB_CFLAGS) \ $(GDK_PIXBUF_CFLAGS) libgeda_la_LDFLAGS = -version-info $(LIBGEDA_SHLIB_VERSION) \ $(WINDOWS_LIBTOOL_FLAGS) $(MINGW_LDFLAGS) $(GUILE_LIBS) \ $(GLIB_LIBS) $(GDK_PIXBUF_LIBS) LIBTOOL=@LIBTOOL@ --silent # This is used to generate boilerplate for defining Scheme functions # in C. SUFFIXES = .x snarf_cpp_opts = $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(libgeda_la_CPPFLAGS) $(AM_CFLAGS) $(libgeda_la_CFLAGS) .c.x: CPP="$(CPP)" $(GUILE_SNARF) -o $@ $< $(snarf_cpp_opts) MOSTLYCLEANFILES = *.log core FILE *~ CLEANFILES = *.log core FILE *~ $(BUILT_SOURCES) DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in # Unfortunately, in order to test libtool thoroughly, we need access # to its private directory. objdir = `sed -n -e 's/^objdir=\"\(.*\)\"$$/\1/p' ./libtool` geda-gaf-1.8.2/libgeda/src/s_papersizes.c0000664000175000017500000000710112220647257015137 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_STRING_H #include #endif #include "libgeda_priv.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \brief */ struct st_papersizes_names { char *papersize_name; int width, height; }; /*! \brief */ static int papersizes_index=0; /*! \brief */ #define MAX_PAGESIZES 60 /*! \brief * and eventually make this unlimited * hack hack */ static struct st_papersizes_names papersizes[MAX_PAGESIZES]; /*! \todo Finish function documentation!!! * \brief * \par Function Description * width and height in portrait mode */ int s_papersizes_add_entry(char *new_papersize, int width, int height) { if (new_papersize == NULL) { return(-1); } if (papersizes_index >= MAX_PAGESIZES) { return(-1); } papersizes[papersizes_index].papersize_name = g_strdup (new_papersize); papersizes[papersizes_index].width = width; papersizes[papersizes_index].height = height; papersizes_index++; return(papersizes_index); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void s_papersizes_print() { int i; for (i = 0; i < papersizes_index; i++) { printf("%s\n", papersizes[i].papersize_name); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * true for uniqueness, zero for duplication */ int s_papersizes_uniq(char *name) { int i; for (i = 0; i < papersizes_index; i++) { if (strcmp(papersizes[i].papersize_name, name) == 0) { return(0); } } return(1); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void s_papersizes_free() { int i; for (i = 0; i < papersizes_index; i++) { g_free(papersizes[i].papersize_name); } papersizes_index=0; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void s_papersizes_init() { int i; for (i = 0; i < MAX_PAGESIZES; i++) { papersizes[i].papersize_name = NULL; } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ char *s_papersizes_get(int counter) { if (counter < papersizes_index) { return(papersizes[counter].papersize_name); } return(NULL); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void s_papersizes_get_size(char *string, int *width, int *height) { int i; for (i = 0; i < papersizes_index; i++) { if (strcmp(papersizes[i].papersize_name, string) == 0) { *width = papersizes[i].width; *height = papersizes[i].height; return; } } *width = 0; *height = 0; } geda-gaf-1.8.2/libgeda/src/geda_list.c0000664000175000017500000001446012207374140014362 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2000 Ales Hvezda * Copyright (C) 2007-2010 Peter Clifton * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! \file geda_list.c * \brief list derived from GList with GObject properties * * This GedaList with the GObject properties can use the signaling * mechanisms of GObject now. */ #include #include #include "geda_list.h" #ifdef HAVE_LIBDMALLOC #include #endif enum { CHANGED, LAST_SIGNAL }; static guint geda_list_signals[ LAST_SIGNAL ] = { 0 }; static GObjectClass *geda_list_parent_class = NULL; /*! \brief GType instance initialiser for GedaList * * \par Function Description * GType instance initialiser for GedaList. * * \param [in] instance The GedaList we are initialising. * \param [in] g_class The class of the type the instance is created for. */ static void geda_list_instance_init( GTypeInstance *instance, gpointer g_class ) { GedaList *list = (GedaList *)instance; /* Strictly un-necessary, as the memory is zero'd after allocation */ list->glist = NULL; } /*! \brief GObject finalise handler * * \par Function Description * Just before the GedaList GObject is finalized, free our * allocated data, and then chain up to the parent's finalize handler. * * \param [in] object The GObject being finalized. */ static void geda_list_finalize( GObject *object ) { GedaList *list = GEDA_LIST( object ); g_list_free( list->glist ); G_OBJECT_CLASS( geda_list_parent_class )->finalize( object ); } /*! \brief GType class initialiser for GedaList * * \par Function Description * GType class initialiser for GedaList. We override our parents * virtual class methods as needed and register our GObject signals. * * \param [in] g_class The GedaList we are initialising * \param [in] g_class_data (unused) */ static void geda_list_class_init( gpointer g_class, gpointer g_class_data ) { GedaListClass *klass = GEDA_LIST_CLASS( g_class ); GObjectClass *gobject_class = G_OBJECT_CLASS( klass ); geda_list_parent_class = g_type_class_peek_parent( klass ); gobject_class->finalize = geda_list_finalize; geda_list_signals[ CHANGED ] = g_signal_new ("changed", G_OBJECT_CLASS_TYPE( gobject_class ), 0 /*signal_flags */, 0 /*class_offset */, NULL, /* accumulator */ NULL, /* accu_data */ g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0 /* n_params */ ); } /*! \brief Function to retrieve GedaList's GType identifier. * * \par Function Description * Function to retrieve GedaList's GType identifier. * Upon first call, this registers the GedaList in the GType system. * Subsequently it returns the saved value from its first execution. * * \return the GType identifier associated with GedaList. */ GType geda_list_get_type(void) { static GType type = 0; if (type == 0) { static const GTypeInfo info = { sizeof (GedaListClass), NULL, /* base_init */ NULL, /* base_finalize */ geda_list_class_init, /* class_init */ NULL, /* class_finalize */ NULL, /* class_data */ sizeof (GedaList), 0, /* n_preallocs */ geda_list_instance_init /* instance_init */ }; type = g_type_register_static (G_TYPE_OBJECT, "GedaList", &info, 0); } return type; } /*! \brief Returns a pointer to a new GedaList object. * * \par Function Description * Returns a pointer to a new GedaList object. * * \return pointer to the new GedaList object. */ GedaList *geda_list_new( void ) { return g_object_new( GEDA_TYPE_LIST, NULL ); } /*! \brief Adds the given item to the GedaList * * \par Function Description * Adds the given item to the GedaList * * \param [in] list Pointer to the GedaList * \param [in] item item to add to the GedaList. */ void geda_list_add( GedaList *list, gpointer item ) { list->glist = g_list_append(list->glist, item ); g_signal_emit( list, geda_list_signals[ CHANGED ], 0 ); } /*! \brief Adds the given glist of items to the GedaList * * \par Function Description * Adds the given glist of items to the GedaList * A copy is made, so the original GList is not modified. * * \param [in] list Pointer to the GedaList * \param [in] items GList of items to add to the GedaList. */ void geda_list_add_glist( GedaList *list, GList *items ) { GList *glist_copy = g_list_copy( items ); list->glist = g_list_concat(list->glist, glist_copy ); g_signal_emit( list, geda_list_signals[ CHANGED ], 0 ); } /*! \brief Removes the given item from the GedaList * * \par Function Description * Removes the given item from the GedaList. * It's ok to call this function with an item which * is not necessarily in the list. * * \param [in] list Pointer to the GedaList * \param [in] item to remove from the GedaList. */ void geda_list_remove( GedaList *list, gpointer item ) { if (g_list_find(list->glist, item) == NULL) return; list->glist = g_list_remove(list->glist, item); g_signal_emit( list, geda_list_signals[ CHANGED ], 0 ); } /*! \brief Removes all the items in the given GedaList. * * \par Function Description * Removes all items in the given GedaList. * * \param [in] list Pointer to the GedaList */ void geda_list_remove_all( GedaList *list ) { g_list_free(list->glist); list->glist = NULL; g_signal_emit( list, geda_list_signals[ CHANGED ], 0 ); } geda-gaf-1.8.2/libgeda/src/o_bus_basic.c0000664000175000017500000003644212220647257014712 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! \file o_bus_basic.c * \brief functions for the bus object */ #include #include #include #include "libgeda_priv.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \brief get the position of the first bus point * \par Function Description * This function gets the position of the first point of a bus object. * * \param [in] toplevel The toplevel environment. * \param [out] x pointer to the x-position * \param [out] y pointer to the y-position * \param [in] object The object to get the position. * \return TRUE if successfully determined the position, FALSE otherwise */ gboolean o_bus_get_position (TOPLEVEL *toplevel, gint *x, gint *y, OBJECT *object) { return o_line_get_position(toplevel, x, y, object); } /*! \brief calculate and return the boundaries of a bus object * \par Function Description * This function calculates the object boudaries of a bus \a object. * * \param [in] toplevel The TOPLEVEL object. * \param [in] object a bus object * \param [out] left the left world coord * \param [out] top the top world coord * \param [out] right the right world coord * \param [out] bottom the bottom world coord */ void world_get_bus_bounds(TOPLEVEL *toplevel, OBJECT *object, int *left, int *top, int *right, int *bottom) { world_get_line_bounds( toplevel, object, left, top, right, bottom ); } /*! \brief create a new bus object * \par Function Description * This function creates and returns a new bus object. * * \param [in] toplevel The TOPLEVEL object. * \param [in] type The OBJECT type (usually OBJ_BUS) * \param [in] color The color of the bus * \param [in] x1 x-coord of the first point * \param [in] y1 y-coord of the first point * \param [in] x2 x-coord of the second point * \param [in] y2 y-coord of the second point * \param [in] bus_ripper_direction direction of the bus rippers * \return A new bus OBJECT */ OBJECT *o_bus_new(TOPLEVEL *toplevel, char type, int color, int x1, int y1, int x2, int y2, int bus_ripper_direction) { OBJECT *new_node; new_node = s_basic_new_object(type, "bus"); new_node->color = color; new_node->line = (LINE *) g_malloc(sizeof(LINE)); /* check for null */ new_node->line->x[0] = x1; new_node->line->y[0] = y1; new_node->line->x[1] = x2; new_node->line->y[1] = y2; new_node->line_width = BUS_WIDTH; new_node->bus_ripper_direction = bus_ripper_direction; o_bus_recalc (toplevel, new_node); return new_node; } /*! \brief recalc the visual properties of a bus object * \par Function Description * This function updates the visual coords of the \a o_current object. * * \param [in] toplevel The TOPLEVEL object. * \param [in] o_current a bus object. */ void o_bus_recalc(TOPLEVEL *toplevel, OBJECT *o_current) { int left, right, top, bottom; if (o_current == NULL) { return; } if (o_current->line == NULL) { return; } world_get_bus_bounds(toplevel, o_current, &left, &top, &right, &bottom); o_current->w_left = left; o_current->w_top = top; o_current->w_right = right; o_current->w_bottom = bottom; o_current->w_bounds_valid = TRUE; } /*! \brief read a bus object from a char buffer * \par Function Description * This function reads a bus object from the buffer \a buf. * If the bus object was read successfully, a new bus object is * allocated and appended to the \a object_list. * * \param [in] toplevel The TOPLEVEL object * \param [in] buf a text buffer (usually a line of a schematic file) * \param [in] release_ver The release number gEDA * \param [in] fileformat_ver a integer value of the file format * \return The object list, or NULL on error. */ OBJECT *o_bus_read (TOPLEVEL *toplevel, const char buf[], unsigned int release_ver, unsigned int fileformat_ver, GError **err) { OBJECT *new_obj; char type; int x1, y1; int x2, y2; int color; int ripper_dir; if (release_ver <= VERSION_20020825) { if (sscanf (buf, "%c %d %d %d %d %d\n", &type, &x1, &y1, &x2, &y2, &color) != 6) { g_set_error(err, EDA_ERROR, EDA_ERROR_PARSE, _("Failed to parse bus object")); return NULL; } ripper_dir = 0; } else { if (sscanf (buf, "%c %d %d %d %d %d %d\n", &type, &x1, &y1, &x2, &y2, &color, &ripper_dir) != 7) { g_set_error(err, EDA_ERROR, EDA_ERROR_PARSE, _("Failed to parse bus object")); return NULL; } } if (x1 == x2 && y1 == y2) { s_log_message (_("Found a zero length bus [ %c %d %d %d %d %d ]\n"), type, x1, y1, x2, y2, color); } if (toplevel->override_bus_color != -1) { color = toplevel->override_bus_color; } if (color < 0 || color > MAX_COLORS) { s_log_message (_("Found an invalid color [ %s ]\n"), buf); s_log_message (_("Setting color to default color\n")); color = DEFAULT_COLOR; } if (ripper_dir < -1 || ripper_dir > 1) { s_log_message (_("Found an invalid bus ripper direction [ %s ]\n"), buf); s_log_message (_("Resetting direction to neutral (no direction)\n")); ripper_dir = 0; } new_obj = o_bus_new (toplevel, type, color, x1, y1, x2, y2, ripper_dir); return new_obj; } /*! \brief Create a string representation of the bus object * \par Function Description * This function takes a bus \a object and return a string * according to the file format definition. * * \param [in] toplevel a TOPLEVEL structure * \param [in] object a bus OBJECT * \return the string representation of the bus OBJECT */ char *o_bus_save(TOPLEVEL *toplevel, OBJECT *object) { int x1, x2, y1, y2; char *buf; x1 = object->line->x[0]; y1 = object->line->y[0]; x2 = object->line->x[1]; y2 = object->line->y[1]; buf = g_strdup_printf("%c %d %d %d %d %d %d", object->type, x1, y1, x2, y2, object->color, object->bus_ripper_direction); return(buf); } /*! \brief move a bus object * \par Function Description * This function changes the position of a bus \a object. * * \param [in] toplevel The TOPLEVEL object * \param [in] dx The x-distance to move the object * \param [in] dy The y-distance to move the object * \param [in] object The bus OBJECT to be moved */ void o_bus_translate_world(TOPLEVEL *toplevel, int dx, int dy, OBJECT *object) { /* Update world coords */ object->line->x[0] = object->line->x[0] + dx; object->line->y[0] = object->line->y[0] + dy; object->line->x[1] = object->line->x[1] + dx; object->line->y[1] = object->line->y[1] + dy; /* Update bounding box */ o_bus_recalc (toplevel, object); s_tile_update_object(toplevel, object); } /*! \brief create a copy of a bus object * \par Function Description * This function creates a copy of the bus object \a o_current. * * \param [in] toplevel The TOPLEVEL object * \param [in] o_current The object that is copied * \return a new bus object */ OBJECT *o_bus_copy(TOPLEVEL *toplevel, OBJECT *o_current) { OBJECT *new_obj; /* make sure you fix this in pin and bus as well */ /* still doesn't work... you need to pass in the new values */ /* or don't update and update later */ /* I think for now I'll disable the update and manually update */ new_obj = o_bus_new (toplevel, OBJ_BUS, o_current->color, o_current->line->x[0], o_current->line->y[0], o_current->line->x[1], o_current->line->y[1], o_current->bus_ripper_direction); return new_obj; } /*! \brief postscript print command for a bus object * \par Function Description * This function writes the postscript command of the bus object \a o_current * into the FILE \a fp points to. * * \param [in] toplevel The TOPLEVEL object * \param [in] fp pointer to a FILE structure * \param [in] o_current The OBJECT to print * \param [in] origin_x x-coord of the postscript origin * \param [in] origin_y y-coord of the postscript origin */ void o_bus_print(TOPLEVEL *toplevel, FILE *fp, OBJECT *o_current, int origin_x, int origin_y) { int bus_width; int x1, y1; int x2, y2; if (o_current == NULL) { printf("got null in o_bus_print\n"); return; } f_print_set_color(toplevel, fp, o_current->color); bus_width = 2; if (toplevel->bus_style == THICK) { bus_width = BUS_WIDTH; } x1 = o_current->line->x[0]-origin_x, y1 = o_current->line->y[0]-origin_y; x2 = o_current->line->x[1]-origin_x, y2 = o_current->line->y[1]-origin_y; fprintf(fp, "%d %d %d %d %d line\n", x1,y1,x2,y2,bus_width); } /*! \brief rotate a bus object around a centerpoint * \par Function Description * This function rotates a bus \a object around the point * (\a world_centerx, \a world_centery). * * \param [in] toplevel The TOPLEVEL object * \param [in] world_centerx x-coord of the rotation center * \param [in] world_centery y-coord of the rotation center * \param [in] angle The angle to rotat the bus object * \param [in] object The bus object * \note only steps of 90 degrees are allowed for the \a angle */ void o_bus_rotate_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, int angle, OBJECT *object) { int newx, newy; if (angle == 0) return; /* translate object to origin */ o_bus_translate_world(toplevel, -world_centerx, -world_centery, object); rotate_point_90(object->line->x[0], object->line->y[0], angle, &newx, &newy); object->line->x[0] = newx; object->line->y[0] = newy; rotate_point_90(object->line->x[1], object->line->y[1], angle, &newx, &newy); object->line->x[1] = newx; object->line->y[1] = newy; o_bus_translate_world(toplevel, world_centerx, world_centery, object); } /*! \brief mirror a bus object horizontaly at a centerpoint * \par Function Description * This function mirrors a bus \a object horizontaly at the point * (\a world_centerx, \a world_centery). * * \param [in] toplevel The TOPLEVEL object * \param [in] world_centerx x-coord of the mirror position * \param [in] world_centery y-coord of the mirror position * \param [in] object The bus object */ void o_bus_mirror_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, OBJECT *object) { /* translate object to origin */ o_bus_translate_world(toplevel, -world_centerx, -world_centery, object); object->line->x[0] = -object->line->x[0]; object->line->x[1] = -object->line->x[1]; o_bus_translate_world(toplevel, world_centerx, world_centery, object); } /*! \brief calculate the orientation of a bus object * \par Function Description * This function calculates the orientation of a bus object. * * \param [in] object The bus object * \return The orientation: HORIZONTAL, VERTICAL or NEITHER */ int o_bus_orientation(OBJECT *object) { if (object->line->y[0] == object->line->y[1]) { return(HORIZONTAL); } if (object->line->x[0] == object->line->x[1]) { return(VERTICAL); } return(NEITHER); } /* \brief * \par Function Description * This function does the actual work of making one bus segment out of two * connected segments. * The second object (del_object) is the object that should be deleted. * * \todo This function is currently not used. Check it before using it */ static void o_bus_consolidate_lowlevel (OBJECT *object, OBJECT *del_object, int orient) { int temp1, temp2; int final1, final2; int changed=0; GList *a_iter; OBJECT *a_current; #if DEBUG printf("o %d %d %d %d\n", object->line->x[0], object->line->y[0], object->line->x[1], object->line->y[1]); printf("d %d %d %d %d\n", del_object->line->x[0], del_object->line->y[0], del_object->line->x[1], del_object->line->y[1]); #endif if (orient == HORIZONTAL) { temp1 = min(object->line->x[0], del_object->line->x[0]); temp2 = min(object->line->x[1], del_object->line->x[1]); final1 = min(temp1, temp2); temp1 = max(object->line->x[0], del_object->line->x[0]); temp2 = max(object->line->x[1], del_object->line->x[1]); final2 = max(temp1, temp2); object->line->x[0] = final1; object->line->x[1] = final2; changed=1; } if (orient == VERTICAL) { temp1 = min(object->line->y[0], del_object->line->y[0]); temp2 = min(object->line->y[1], del_object->line->y[1]); final1 = min(temp1, temp2); temp1 = max(object->line->y[0], del_object->line->y[0]); temp2 = max(object->line->y[1], del_object->line->y[1]); final2 = max(temp1, temp2); object->line->y[0] = final1; object->line->y[1] = final2; changed=1; } #if DEBUG printf("fo %d %d %d %d\n", object->line->x[0], object->line->y[0], object->line->x[1], object->line->y[1]); #endif /* Move any attributes from the deleted object*/ if (changed && del_object->attribs != NULL) { /* Reassign the attached_to pointer on attributes from the del object */ a_iter = del_object->attribs; while (a_iter != NULL) { a_current = a_iter->data; a_current->attached_to = object; a_iter = g_list_next (a_iter); } object->attribs = g_list_concat (object->attribs, del_object->attribs); /* Don't free del_object->attribs as it's relinked into object's list */ del_object->attribs = NULL; } } /* \brief * \par Function Description * * \todo Not Implemented Yet */ static int o_bus_consolidate_segments (TOPLEVEL *toplevel, OBJECT *object) { return(0); } /* \brief * \par Function Description * * \todo Not Implemented Yet */ void o_bus_consolidate(TOPLEVEL *toplevel) { } /*! \brief modify one point of a bus object * \par Function Description * This function modifies one point of a bus \a object. The point * is specified by the \a whichone variable and the new coordinate * is (\a x, \a y). * * \param toplevel The TOPLEVEL object * \param object The bus OBJECT to modify * \param x new x-coord of the bus point * \param y new y-coord of the bus point * \param whichone bus point to modify */ void o_bus_modify(TOPLEVEL *toplevel, OBJECT *object, int x, int y, int whichone) { object->line->x[whichone] = x; object->line->y[whichone] = y; o_bus_recalc (toplevel, object); s_tile_update_object(toplevel, object); } geda-gaf-1.8.2/libgeda/src/f_basic.c0000664000175000017500000005474112220647257014032 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! \file f_basic.c * \brief file related functions */ #include #include #ifdef HAVE_UNISTD_H #include #endif #include #include #include #include #ifdef HAVE_ERRNO_H #include #endif #include #include #ifdef HAVE_STRING_H #include #endif # if defined (_WIN32) # define WIN32_LEAN_AND_MEAN # include /* for GetFullPathName */ # endif #include "libgeda_priv.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \brief Get the autosave filename for a file * \par Function description * Returns the expected autosave filename for the \a filename passed. * * \warning The result should be freed when no longer needed. * * \param [in] filename The filename to create an autosave filename for. * \return A newly allocated string buffer. */ gchar *f_get_autosave_filename (const gchar *filename) { gchar *result, *basename, *new_basename, *dirname; basename = g_path_get_basename(filename); dirname = g_path_get_dirname(filename); new_basename = g_strdup_printf(AUTOSAVE_BACKUP_FILENAME_STRING, basename); result = g_build_filename(dirname, new_basename, NULL); g_free(basename); g_free(new_basename); g_free(dirname); return result; } /*! \brief Check if a file has an active autosave file * \par Function Description * Checks whether an autosave file exists for the \a filename passed * which has a modification time newer than the file itself. If the * check fails, sets \a err with the reason. N.b. if the autosave * file exists but it was not possible to get its modification time, * returns TRUE. * * \param [in] filename File to check * \param [in,out] err #GError structure for error reporting, or * NULL to disable error reporting * * \returns TRUE if autosave active, FALSE otherwise */ gboolean f_has_active_autosave (const gchar *filename, GError **err) { gboolean result = FALSE; gchar *auto_filename; gint file_err = 0; gint auto_err = 0; GFileError g_errcode = 0; struct stat file_stat, auto_stat; auto_filename = f_get_autosave_filename (filename); if (stat (filename, &file_stat) != 0) { file_err = errno; } if (stat (auto_filename, &auto_stat) != 0) { auto_err = errno; } /* A valid use of goto! (checks for raptors) */ if (auto_err & ENOENT) { /* The autosave file does not exist. */ result = FALSE; goto check_autosave_finish; } if (auto_err) { g_errcode = g_file_error_from_errno (auto_err); g_set_error (err, G_FILE_ERROR, g_errcode, _("Failed to stat [%s]: %s"), auto_filename, g_strerror (auto_err)); result = TRUE; goto check_autosave_finish; } if (file_err & ENOENT) { /* The autosave file exists, but the actual file does not. */ result = TRUE; goto check_autosave_finish; } if (file_err) { g_errcode = g_file_error_from_errno (file_err); g_set_error (err, G_FILE_ERROR, g_errcode, _("Failed to stat [%s]: %s"), auto_filename, g_strerror (file_err)); result = TRUE; goto check_autosave_finish; } /* If we got this far, both files exist and we have managed to get * their stat info. */ if (difftime (file_stat.st_mtime, auto_stat.st_mtime) < 0) { result = TRUE; } check_autosave_finish: g_free (auto_filename); return result; } /*! \brief Opens the schematic file. * \par Function Description * Opens the schematic file by calling f_open_flags() with the * F_OPEN_RC and F_OPEN_CHECK_BACKUP flags. * * \param [in,out] toplevel The TOPLEVEL object to load the schematic into. * \param [in] filename A character string containing the file name * to open. * \param [in,out] err #GError structure for error reporting, or * NULL to disable error reporting * * \return 0 on failure, 1 on success. */ int f_open(TOPLEVEL *toplevel, PAGE *page, const gchar *filename, GError **err) { return f_open_flags (toplevel, page, filename, F_OPEN_RC | F_OPEN_CHECK_BACKUP, err); } /*! \brief Opens the schematic file with fine-grained control over behaviour. * \par Function Description * Opens the schematic file and carries out a number of actions * depending on the \a flags set. If #F_OPEN_RC is set, executes * configuration files found in the target directory. If * #F_OPEN_CHECK_BACKUP is set, warns user if a backup is found for * the file being loaded, and possibly prompts user for whether to * load the backup instead. If #F_OPEN_RESTORE_CWD is set, does not * change the working directory to that of the file being loaded. * * \param [in,out] toplevel The TOPLEVEL object to load the schematic into. * \param [in] filename A character string containing the file name * to open. * \param [in] flags Combination of #FOpenFlags values. * \param [in,out] err #GError structure for error reporting, or * NULL to disable error reporting * * \return 0 on failure, 1 on success. */ int f_open_flags(TOPLEVEL *toplevel, PAGE *page, const gchar *filename, const gint flags, GError **err) { int opened=FALSE; char *full_filename = NULL; char *full_rcfilename = NULL; char *file_directory = NULL; char *saved_cwd = NULL; char *backup_filename = NULL; char load_backup_file = 0; GError *tmp_err = NULL; /* has the head been freed yet? */ /* probably not hack PAGE */ set_window(toplevel, page, toplevel->init_left, toplevel->init_right, toplevel->init_top, toplevel->init_bottom); /* Cache the cwd so we can restore it later. */ if (flags & F_OPEN_RESTORE_CWD) { saved_cwd = g_get_current_dir(); } /* get full, absolute path to file */ full_filename = f_normalize_filename (filename, &tmp_err); if (full_filename == NULL) { g_set_error (err, G_FILE_ERROR, tmp_err->code, _("Cannot find file %s: %s"), filename, tmp_err->message); g_error_free(tmp_err); return 0; } /* write full, absolute filename into page->page_filename */ g_free(page->page_filename); page->page_filename = g_strdup(full_filename); /* Before we open the page, let's load the corresponding gafrc. */ /* First cd into file's directory. */ file_directory = g_dirname (full_filename); if (file_directory) { if (chdir (file_directory)) { /* Error occurred with chdir */ #warning FIXME: What do we do? } } /* Now open RC and process file */ if (flags & F_OPEN_RC) { full_rcfilename = g_build_filename (file_directory, "gafrc", NULL); g_rc_parse_file (toplevel, full_rcfilename, &tmp_err); if (tmp_err != NULL) { /* Config files are allowed to be missing or skipped; check for * this. */ if (!g_error_matches (tmp_err, G_FILE_ERROR, G_FILE_ERROR_NOENT) && !g_error_matches (tmp_err, EDA_ERROR, EDA_ERROR_RC_TWICE)) { s_log_message ("%s\n", tmp_err->message); } g_error_free (tmp_err); tmp_err = NULL; } } g_free (file_directory); if (flags & F_OPEN_CHECK_BACKUP) { /* Check if there is a newer autosave backup file */ GString *message; gboolean active_backup = f_has_active_autosave (full_filename, &tmp_err); backup_filename = f_get_autosave_filename (full_filename); if (tmp_err != NULL) g_warning ("%s\n", tmp_err->message); if (active_backup) { message = g_string_new (""); g_string_append_printf(message, _("\nWARNING: Found an autosave backup file:\n %s.\n\n"), backup_filename); if (tmp_err != NULL) { g_string_append(message, _("I could not guess if it is newer, so you have to do it manually.\n")); } else { g_string_append(message, _("The backup copy is newer than the schematic, so it seems you should load it instead of the original file.\n")); } g_string_append (message, _("Gschem usually makes backup copies automatically, and this situation happens when it crashed or it was forced to exit abruptly.\n")); if (toplevel->load_newer_backup_func == NULL) { g_warning ("%s", message->str); g_warning (_("\nRun gschem and correct the situation.\n\n")); } else { /* Ask the user if load the backup or the original file */ if (toplevel->load_newer_backup_func (toplevel->load_newer_backup_data, message)) { /* Load the backup file */ load_backup_file = 1; } } g_string_free (message, TRUE); } if (tmp_err != NULL) g_error_free (tmp_err); } /* Now that we have set the current directory and read * the RC file, it's time to read in the file. */ if (load_backup_file == 1) { /* Load the backup file */ s_page_append_list (toplevel, page, o_read (toplevel, NULL, backup_filename, &tmp_err)); } else { /* Load the original file */ s_page_append_list (toplevel, page, o_read (toplevel, NULL, full_filename, &tmp_err)); } if (tmp_err == NULL) opened = TRUE; else g_propagate_error (err, tmp_err); if (load_backup_file == 0) { /* If it's not the backup file */ page->CHANGED=0; /* added 4/7/98 */ } else { /* We are loading the backup file, so gschem should ask the user if save it or not when closing the page. */ page->CHANGED=1; } g_free(full_filename); g_free(full_rcfilename); g_free (backup_filename); /* Reset the directory to the value it had when f_open was * called. */ if (flags & F_OPEN_RESTORE_CWD) { if (chdir (saved_cwd)) { /* Error occurred with chdir */ #warning FIXME: What do we do? } g_free(saved_cwd); } return opened; } /*! \brief Closes the schematic file * \par Function Description * Does nothing * * \param [in,out] toplevel The TOPLEVEL object with schematic to be closed. */ void f_close(TOPLEVEL *toplevel) { } /*! \brief Save the schematic file * \par Function Description * This function saves the current schematic file in the toplevel object. * * \bug g_access introduces a race condition in certain cases, but * solves bug #698565 in the normal use-case * * \param [in,out] toplevel The TOPLEVEL object containing the schematic. * \param [in] filename The file name to save the schematic to. * \param [in,out] err #GError structure for error reporting, or * NULL to disable error reporting * \return 1 on success, 0 on failure. */ int f_save(TOPLEVEL *toplevel, PAGE *page, const char *filename, GError **err) { gchar *backup_filename; gchar *real_filename; gchar *only_filename; gchar *dirname; mode_t saved_umask, mask; struct stat st; GError *tmp_err = NULL; /* Get the real filename and file permissions */ real_filename = follow_symlinks (filename, &tmp_err); if (real_filename == NULL) { g_set_error (err, tmp_err->domain, tmp_err->code, _("Can't get the real filename of %s: %s"), filename, tmp_err->message); return 0; } /* Check to see if filename is writable */ if (g_file_test(filename, G_FILE_TEST_EXISTS) && g_access(filename, W_OK) != 0) { g_set_error (err, G_FILE_ERROR, G_FILE_ERROR_PERM, _("File %s is read-only"), filename); return 0; } /* Get the directory in which the real filename lives */ dirname = g_path_get_dirname (real_filename); only_filename = g_path_get_basename(real_filename); /* Do a backup if it's not an undo file backup and it was never saved. * Only do a backup if backup files are enabled */ if (page->saved_since_first_loaded == 0 && toplevel->make_backup_files == TRUE) { if ( (g_file_test (real_filename, G_FILE_TEST_EXISTS)) && (!g_file_test(real_filename, G_FILE_TEST_IS_DIR)) ) { backup_filename = g_strdup_printf("%s%c%s~", dirname, G_DIR_SEPARATOR, only_filename); /* Make the backup file read-write before saving a new one */ if ( g_file_test (backup_filename, G_FILE_TEST_EXISTS) && (! g_file_test (backup_filename, G_FILE_TEST_IS_DIR))) { if (chmod(backup_filename, S_IREAD|S_IWRITE) != 0) { s_log_message (_("Could NOT set previous backup file [%s] read-write\n"), backup_filename); } } if (rename(real_filename, backup_filename) != 0) { s_log_message (_("Can't save backup file: %s."), backup_filename); } else { /* Make the backup file readonly so a 'rm *' command will ask the user before deleting it */ saved_umask = umask(0); mask = (S_IWRITE|S_IWGRP|S_IEXEC|S_IXGRP|S_IXOTH); mask = (~mask)&0777; mask &= ((~saved_umask) & 0777); if (chmod(backup_filename, mask) != 0) { s_log_message (_("Could NOT set backup file [%s] readonly\n"), backup_filename); } umask(saved_umask); } g_free(backup_filename); } } /* If there is not an existing file with that name, compute the * permissions and uid/gid that we will use for the newly-created file. */ if (stat (real_filename, &st) != 0) { struct stat dir_st; int result; /* Use default permissions */ saved_umask = umask(0); st.st_mode = 0666 & ~saved_umask; umask(saved_umask); #ifdef HAVE_CHOWN st.st_uid = getuid (); result = stat (dirname, &dir_st); if (result == 0 && (dir_st.st_mode & S_ISGID)) st.st_gid = dir_st.st_gid; else st.st_gid = getgid (); #endif /* HAVE_CHOWN */ } g_free (dirname); g_free (only_filename); if (o_save (toplevel, s_page_objects (page), real_filename, &tmp_err)) { page->saved_since_first_loaded = 1; /* Reset the last saved timer */ g_get_current_time (&page->last_load_or_save_time); page->ops_since_last_backup = 0; page->do_autosave_backup = 0; /* Restore permissions. */ chmod (real_filename, st.st_mode); #ifdef HAVE_CHOWN if (chown (real_filename, st.st_uid, st.st_gid)) { /* Error occured with chown */ #warning FIXME: What do we do? } #endif g_free (real_filename); return 1; } else { g_set_error (err, tmp_err->domain, tmp_err->code, _("Could NOT save file: %s"), tmp_err->message); g_clear_error (&tmp_err); g_free (real_filename); return 0; } } /*! \brief Builds an absolute pathname. * \par Function Description * This function derives an absolute pathname for the pathname * pointed to by \a name with '.' and '..' resolved. It does not * resolve symbolic links. * * It returns NULL and sets the \a error (if not NULL) if it failed * to build the pathname or the pathname does not exists. * * \note * The code for this function is derived from the realpath() of * the GNU C Library (Copyright (C) 1996-2002, 2004, 2005, 2006 Free * Software Foundation, Inc. / LGPL 2.1 or later). * * The part for the resolution of symbolic links has been discarded * and it has been adapted for glib and for use on Windows. * * \param [in] name A character string containing the pathname * to resolve. * \param [in,out] error Return location for a GError, or NULL. * \return A newly-allocated string with the resolved absolute * pathname on success, NULL otherwise. */ gchar *f_normalize_filename (const gchar *name, GError **error) { #if defined (_WIN32) char buf[MAX_PATH]; #else GString *rpath; const char *start, *end; #endif if (name == NULL) { g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_INVAL, "%s", g_strerror (EINVAL)); return NULL; } if (*name == '\0') { g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_NOENT, "%s", g_strerror (ENOENT)); return NULL; } #if defined (_WIN32) /* Windows method (modified) from libiberty's lrealpath.c, GPL V2+ * * We assume we don't have symlinks and just canonicalize to a * Windows absolute path. GetFullPathName converts ../ and ./ in * relative paths to absolute paths, filling in current drive if * one is not given or using the current directory of a specified * drive (eg, "E:foo"). It also converts all forward slashes to * back slashes. */ DWORD len = GetFullPathName (name, MAX_PATH, buf, NULL); gchar *result; if (len == 0 || len > MAX_PATH - 1) { result = g_strdup (name); } else { /* The file system is case-preserving but case-insensitive, * canonicalize to lowercase, using the codepage associated * with the process locale. */ CharLowerBuff (buf, len); result = g_strdup (buf); } /* Test that the file actually exists, and fail if it doesn't. We * do this to be consistent with the behaviour on POSIX * platforms. */ if (!g_file_test (result, G_FILE_TEST_EXISTS)) { g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_NOENT, "%s", g_strerror (ENOENT)); g_free (result); return NULL; } return result; #else #define ROOT_MARKER_LEN 1 rpath = g_string_sized_new (strlen (name)); /* if relative path, prepend current dir */ if (!g_path_is_absolute (name)) { gchar *cwd = g_get_current_dir (); g_string_append (rpath, cwd); g_free (cwd); if (!G_IS_DIR_SEPARATOR (rpath->str[rpath->len - 1])) { g_string_append_c (rpath, G_DIR_SEPARATOR); } } else { g_string_append_len (rpath, name, ROOT_MARKER_LEN); /* move to first path separator */ name += ROOT_MARKER_LEN - 1; } for (start = end = name; *start != '\0'; start = end) { /* skip sequence of multiple path-separators */ while (G_IS_DIR_SEPARATOR (*start)) { ++start; } /* find end of path component */ for (end = start; *end != '\0' && !G_IS_DIR_SEPARATOR (*end); ++end); if (end - start == 0) { break; } else if (end - start == 1 && start[0] == '.') { /* nothing */; } else if (end - start == 2 && start[0] == '.' && start[1] == '.') { /* back up to previous component, ignore if at root already. */ if (rpath->len > ROOT_MARKER_LEN) { while (!G_IS_DIR_SEPARATOR (rpath->str[(--rpath->len) - 1])); g_string_set_size (rpath, rpath->len); } } else { /* path component, copy to new path */ if (!G_IS_DIR_SEPARATOR (rpath->str[rpath->len - 1])) { g_string_append_c (rpath, G_DIR_SEPARATOR); } g_string_append_len (rpath, start, end - start); if (!g_file_test (rpath->str, G_FILE_TEST_EXISTS)) { g_set_error (error,G_FILE_ERROR, G_FILE_ERROR_NOENT, "%s", g_strerror (ENOENT)); goto error; } else if (!g_file_test (rpath->str, G_FILE_TEST_IS_DIR) && *end != '\0') { g_set_error (error,G_FILE_ERROR, G_FILE_ERROR_NOTDIR, "%s", g_strerror (ENOTDIR)); goto error; } } } if (G_IS_DIR_SEPARATOR (rpath->str[rpath->len - 1]) && rpath->len > ROOT_MARKER_LEN) { g_string_set_size (rpath, rpath->len - 1); } return g_string_free (rpath, FALSE); error: g_string_free (rpath, TRUE); return NULL; #undef ROOT_MARKER_LEN #endif } /*! \brief Follow symlinks until a real file is found * \par Function Description * Does readlink() recursively until we find a real filename. * * \param [in] filename The filename to search for. * \param [in,out] err #GError structure for error reporting, * or NULL to disable error reporting. * \return The newly-allocated path to real file on success, NULL * otherwise. * * \note Originally taken from gedit's source code. */ char *follow_symlinks (const gchar *filename, GError **err) { gchar *followed_filename = NULL; gint link_count = 0; GError *tmp_err = NULL; if (filename == NULL) { g_set_error (err, G_FILE_ERROR, G_FILE_ERROR_INVAL, "%s", g_strerror (EINVAL)); return NULL; } if (strlen (filename) + 1 > MAXPATHLEN) { g_set_error (err, G_FILE_ERROR, G_FILE_ERROR_NAMETOOLONG, "%s", g_strerror (ENAMETOOLONG)); return NULL; } followed_filename = g_strdup (filename); #ifdef __MINGW32__ /* MinGW does not have symlinks */ return followed_filename; #else while (link_count < MAX_LINK_LEVEL) { struct stat st; gchar *linkname = NULL; if (lstat (followed_filename, &st) != 0) { /* We could not access the file, so perhaps it does not * exist. Return this as a real name so that we can * attempt to create the file. */ return followed_filename; } if (!S_ISLNK (st.st_mode)) { /* It's not a link, so we've found what we're looking for! */ return followed_filename; } link_count++; linkname = g_file_read_link (followed_filename, &tmp_err); if (linkname == NULL) { g_propagate_error(err, tmp_err); g_free (followed_filename); return NULL; } /* If the linkname is not an absolute path name, append * it to the directory name of the followed filename. E.g. * we may have /foo/bar/baz.lnk -> eek.txt, which really * is /foo/bar/eek.txt. */ if (!g_path_is_absolute(linkname)) { gchar *dirname = NULL; gchar *tmp = NULL; dirname = g_path_get_dirname(followed_filename); tmp = g_build_filename (dirname, linkname, NULL); g_free (followed_filename); g_free (dirname); g_free (linkname); followed_filename = tmp; } else { g_free (followed_filename); followed_filename = linkname; } } /* Too many symlinks */ g_set_error (err, G_FILE_ERROR, G_FILE_ERROR_LOOP, _("%s: %s"), g_strerror (EMLINK), followed_filename); g_free (followed_filename); return NULL; #endif /* __MINGW32__ */ } geda-gaf-1.8.2/libgeda/src/s_slib.c0000664000175000017500000003110712220647257013706 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! slib stands for source (project/schematic/hdl/model source) library */ #include #include #include #include #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_STRING_H #include #endif #include #include "libgeda_priv.h" #ifdef HAVE_LIBDMALLOC #include #endif /* need to test everything at boundary conditions (exceed cache size etc...) */ /*! \brief */ struct st_slib { char *dir_name; }; /*! \brief */ static int slib_index=0; /*! \brief */ #define MAX_SLIBS 128 /*! \brief * and eventually make this unlimited * hack hack */ static struct st_slib slib[MAX_SLIBS]; /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ int s_slib_add_entry(char *new_path) { if (new_path == NULL) { return(-1); } if (slib_index >= MAX_SLIBS) { return(-1); } slib[slib_index].dir_name = g_strdup (new_path); slib_index++; return(slib_index); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \return 1 if directory is found, zero otherwise. */ int s_slib_search_for_dirname(char *dir_name) { int i; for (i = 0; i < slib_index; i++) { if (strcmp(slib[i].dir_name, dir_name) == 0) { return(1); } } return(0); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \warning * Caller must g_free returned pointer. */ char *s_slib_search_dirs(const char *basename) { int i; DIR *ptr=NULL; struct dirent *dptr; char *slib_path=NULL; /* search slib paths backwards */ for (i = slib_index-1 ; i >= 0; i--) { /* for (i = 0 ; i < slib_index; i++) {*/ #if DEBUG printf("searching: %d %s\n", i, slib[i].dir_name); #endif ptr = opendir(slib[i].dir_name); g_return_val_if_fail ((ptr != NULL), NULL); dptr = readdir(ptr); while(dptr != NULL) { /* Do a substring comp for a match */ if (strstr(dptr->d_name, basename) != NULL) { slib_path = g_strdup (slib[i].dir_name); if (ptr) { closedir(ptr); ptr = NULL; } return(slib_path); } dptr = readdir(ptr); } if (ptr) { closedir(ptr); ptr = NULL; } } return(NULL); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \warning * Caller must g_free returned pointer. */ char *s_slib_search_lowlevel(const char *basename) { char *slib_path=NULL; char *full_path=NULL; slib_path = s_slib_search_dirs(basename); if (slib_path) { /* return type */ s_log_message(_("Found [%s]\n"), basename); /* s_log_message("Found [%s] in [%s]\n", basename, slib_path);*/ full_path = g_build_filename (slib_path, basename, NULL); g_free(slib_path); return(full_path); } else { s_log_message(_("Could not find [%s] in any SourceLibrary\n"), basename); return(NULL); } } /*! \todo Finish function documentation!!! * \brief Get the base file name from a raw file name string. * \par Function Description * This function takes a raw file name and returns a processed file name. * It takes the raw file name and copies everything up to the first period * and removes any _# (where # is any number of digits. * * \param [in] rawname Character string with the raw file name to parse. * \return The base file name in a character string. * * \warning * Caller must g_free returned pointer. */ char *s_slib_getbasename(const char *rawname) { char *return_filename; int i; int done=0; int lastchar; int valid=0; int len; int seen_underscore=0; if (!rawname) return(NULL); len = strlen(rawname)+1; return_filename = (char *) g_malloc(sizeof(char)*len); i = 0; /* first get everything up to the leading dot */ while(rawname[i] != '\0' && rawname[i] != '.') { return_filename[i] = rawname[i]; i++; } return_filename[i] = '\0'; /* skip null terminator */ i--; lastchar=i; /* this is a quick and dirty state machine to */ /* go back and strip off any _#'s */ /* if there is a better way let me know */ while (i >= 0 && !done) { /* first we need to check to see if we have seen the first '_' */ /* if we have then we already removing chars, continue with that */ if ( seen_underscore ) { if (return_filename[i] == '_') { done = 1; } return_filename[i] = '\0'; } else { /* we are still searching for the first underscore */ /* first make sure char is a number */ if (isdigit((int) return_filename[i])) { valid=1; } else if (return_filename[i] == '_' && valid) { /* yes it is okay to delete the chars */ seen_underscore=1; /* incremented, since it is then */ /* decremented */ i = lastchar+1; } else { valid = 0; done = 1; } } i--; } /* be sure to g_free this somewhere */ return(return_filename); } /*! \todo Finish function documentation!!! * \brief Search SLIB for a particular file name. * \par Function Description * This function will search the SLIB for a particular file name starting * at a location specified by the flag parameter. * * \param [in] filename Character string with file name to search for. * \param [in] flag Specifies search start location. (See below...) * * The flag parameter can be one of the following values: *
    *
    SLIB_SEARCH_START
    Starts a new search for a source file. *
    SLIB_SEARCH_NEXT
    Returns the next instance of the file if * one exists. *
    SLIB_SEARCH_DONE
    Finish searching. *
    * * Filename is the raw symbol/whatever file name. This function does all the * required stripping (up to the first period). * * \warning * Caller must g_free returned pointer. */ char *s_slib_search(const char *filename, int flag) { char *processed_name=NULL; char *new_filename=NULL; char *string=NULL; static int count; switch(flag) { case(SLIB_SEARCH_START): count = 0; string=NULL; break; case(SLIB_SEARCH_NEXT): count++; /* be sure to g_free processed_name */ processed_name = s_slib_getbasename(filename); #if DEBUG printf("proced: %s\n", processed_name); #endif /* for now only look for .sch's */ /* this needs to be *MUCH* more flexible */ /* number_suffix is large enough ? */ new_filename = g_strdup_printf ("%s_%d.sch", processed_name, count); string = s_slib_search_lowlevel(new_filename); g_free(new_filename); break; case(SLIB_SEARCH_DONE): count = 0; string=NULL; break; } g_free(processed_name); /* don't forget to g_free this string */ return(string); } /*! \todo Finish function documentation!!! * \brief Search SLIB for a particular file name. * \par Function Description * This function will search the SLIB for a particular file name starting * at a location specified by the flag parameter. * * \param [in] filename Character string with file name to search for. * * Filename is the raw symbol/whatever file name. This function only looks * for the file name as is and does no other changes to it. * * \warning * Caller must g_free returned pointer. */ char *s_slib_search_single(const char *filename) { char *string=NULL; string = s_slib_search_lowlevel(filename); /* don't forget to g_free this string */ return(string); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void s_slib_free() { int i; for (i = 0; i < slib_index; i++) { g_free(slib[i].dir_name); } slib_index=0; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void s_slib_init() { int i; for (i = 0; i < MAX_SLIBS; i++) { slib[i].dir_name = NULL; } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \warning * Caller must not free the returned pointer. */ /* returns slibs */ char *s_slib_getdir(int index) { if (slib[index].dir_name != NULL) return(slib[index].dir_name); else return(NULL); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \param [in] directory Character string with directory to get files from. * \param [in] flag Search control flag. (See below...) * \return A file name if one is found, NULL otherwise. * * \warning * Caller must g_free returned pointer. * * The flag parameter can be one of the following values: *
    *
    OPEN_DIR
    Opens the directory and returns NULL. *
    READ_DIR
    Returns the next non "." entry. *
    CLOSE_DIR
    Closes the directory. *
    * \bug This is TOTTALLY BROKEN! * statics are not allowed anymore * \warning * this function is not reentrant */ char *s_slib_getfiles(char *directory, int flag) { static DIR *ptr; static struct dirent *dptr; static char *whole_dir[256]; /* make this dynamic hack */ static int count=0; static int current=0; int j; switch(flag) { case(CLOSE_DIR): if (ptr) { closedir(ptr); } ptr = NULL; for (j = 0 ; j < count ;j++) { g_free(whole_dir[j]); } count = current = 0 ; return(NULL); break; /* open the directory and return first element (after if) */ case(OPEN_DIR): if (ptr) { closedir(ptr); } ptr = NULL; for (j = 0 ; j < count ;j++) { g_free(whole_dir[j]); } count = current = 0 ; ptr = opendir(directory); /* hack check for existance */ if (ptr == NULL) return(NULL); /* now read the entire directory */ dptr = readdir(ptr); while (dptr != NULL) { /* skip .'s */ while (dptr != NULL) { if (dptr->d_name[0] == '.') { dptr = readdir(ptr); } else { break; } } if (dptr == NULL) { break; } /* hack */ if (count < 256) { whole_dir[count] = g_strdup (dptr->d_name); count++; } else { g_error ("uggg. too many files in s_slib_getfiles!\n"); } dptr = readdir(ptr); } return(NULL); break; case(READ_DIR): if (whole_dir[current] && current < count) { return(whole_dir[current++]); } else { return(NULL); } break; default: return(NULL); } #if DEBUG for (j = 0;j < count; j++) { printf("string: %s\n", whole_dir[j]); } #endif } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void s_slib_print(void) { int i; for (i = 0; i < slib_index; i++) { printf("%s\n", slib[i].dir_name); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ int s_slib_uniq(char *path) { if (s_slib_search_for_dirname(path)) { #if DEBUG printf("found\n"); #endif return(0); } else { #if DEBUG printf("NOT found\n"); #endif return(1); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void s_slib_print_dirs(void) { int i; char *string; char *file; i = 0; string = s_slib_getdir(i); while(string != NULL) { s_slib_getfiles(string, OPEN_DIR); printf("Opened %s\n", string); file = (char *) s_slib_getfiles(string, READ_DIR); while(file != NULL) { printf("file: %s\n", file); file = (char *) s_slib_getfiles(string, READ_DIR); } printf("Closed %s\n", string); s_slib_getfiles(string, CLOSE_DIR); i++; string = s_slib_getdir(i); } } geda-gaf-1.8.2/libgeda/src/s_basic.c0000664000175000017500000004571112220647257014044 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_STRING_H #include #endif #include "libgeda_priv.h" #ifdef HAVE_LIBDMALLOC #include #endif #ifdef G_OS_WIN32 # define STRICT # include # undef STRICT # ifndef GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS # define GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT 2 # define GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS 4 # endif #endif /*! this is modified here and in o_list.c */ int global_sid=0; /*! \brief Initialize an already-allocated object. * \par Function Description * Initializes the members of the OBJECT structure. * * \param [in] new_node A pointer to an allocated OBJECT * \param [in] type The object type; one of the OBJ_* constants. * \param [in] name A prefix for the object's session-unique name. * \return A pointer to the initialized object. */ OBJECT *s_basic_init_object(OBJECT *new_node, int type, char const *name) { /* setup sid */ new_node->sid = global_sid++; new_node->type = type; /* Setup the name */ new_node->name = g_strdup_printf("%s.%d", name, new_node->sid); /* Don't associate with a page, initially */ new_node->page = NULL; /* Setup the bounding box */ new_node->w_top = 0; new_node->w_left = 0; new_node->w_right = 0; new_node->w_bottom = 0; new_node->w_bounds_valid = FALSE; /* Setup line/circle structs */ new_node->line = NULL; new_node->path = NULL; new_node->circle = NULL; new_node->arc = NULL; new_node->box = NULL; new_node->picture = NULL; new_node->text = NULL; new_node->complex = NULL; new_node->tiles = NULL; new_node->conn_list = NULL; new_node->complex_basename = NULL; new_node->parent = NULL; /* Setup the color */ new_node->color = DEFAULT_COLOR; new_node->dont_redraw = FALSE; new_node->selectable = TRUE; new_node->selected = FALSE; new_node->locked_color = -1; new_node->bus_ripper_direction = 0; new_node->line_end = END_NONE; new_node->line_type = TYPE_SOLID; new_node->line_width = 0; new_node->line_space = 0; new_node->line_length = 0; new_node->fill_width = 0; new_node->fill_angle1 = 0; new_node->fill_angle2 = 0; new_node->fill_pitch1 = 0; new_node->fill_pitch2 = 0; new_node->attribs = NULL; new_node->attached_to = NULL; new_node->copied_to = NULL; new_node->show_name_value = SHOW_NAME_VALUE; new_node->visibility = VISIBLE; new_node->pin_type = PIN_TYPE_NET; new_node->whichend = -1; new_node->net_num_connected = 0; new_node->valid_num_connected = FALSE; new_node->weak_refs = NULL; new_node->attrib_notify_freeze_count = 0; new_node->attrib_notify_pending = 0; new_node->conn_notify_freeze_count = 0; new_node->conn_notify_pending = 0; return(new_node); } /*! \brief Helper to allocate and initialise an object. * * \par Function Description * Allocates memory for an OBJECT and then calls s_basic_init_object() on it. * * \param [in] type The sub-type of the object to create; one of the OBJ_* constants. * \param [in] prefix The name prefix for the session-unique object name. * \return A pointer to the fully constructed OBJECT. */ OBJECT *s_basic_new_object(int type, char const *prefix) { return s_basic_init_object(g_malloc(sizeof (OBJECT)), type, prefix); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void print_struct_forw (GList *list) { OBJECT *o_current=NULL; GList *iter; iter = list; printf("TRYING to PRINT\n"); while (iter != NULL) { o_current = (OBJECT *)iter->data; printf("Name: %s\n", o_current->name); printf("Type: %d\n", o_current->type); printf("Sid: %d\n", o_current->sid); if (o_current->type == OBJ_COMPLEX || o_current->type == OBJ_PLACEHOLDER) { print_struct_forw(o_current->complex->prim_objs); } o_attrib_print (o_current->attribs); printf("----\n"); iter = g_list_next (iter); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void print_struct(OBJECT *ptr) { OBJECT *o_current=NULL; o_current = ptr; if (o_current != NULL) { printf("Name: %s\n", o_current->name); printf("Type: %d\n", o_current->type); printf("Sid: %d\n", o_current->sid); if (o_current->line != NULL) { printf("Line points.x1: %d\n", o_current->line->x[0]); printf("Line points.y1: %d\n", o_current->line->y[0]); printf("Line points.x2: %d\n", o_current->line->x[1]); printf("Line points.y2: %d\n", o_current->line->y[1]); } o_attrib_print (o_current->attribs); printf("----\n"); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void s_delete_object(TOPLEVEL *toplevel, OBJECT *o_current) { if (o_current != NULL) { /* If currently attached to a page, remove it from the page */ if (o_current->page != NULL) { s_page_remove (toplevel, o_current->page, o_current); } s_conn_remove_object (toplevel, o_current); if (o_current->attached_to != NULL) { /* do the actual remove */ o_attrib_remove(toplevel, &o_current->attached_to->attribs, o_current); } /* Don't bother with hooks for this dying object, * leak the freeze count, so the object dies frozen. */ o_attrib_freeze_hooks (toplevel, o_current); o_attrib_detach_all (toplevel, o_current); if (o_current->line) { /* printf("sdeleting line\n");*/ g_free(o_current->line); } o_current->line = NULL; if (o_current->path) { g_free(o_current->path); } o_current->path = NULL; /* printf("sdeleting circle\n");*/ g_free(o_current->circle); o_current->circle = NULL; /* printf("sdeleting arc\n");*/ g_free(o_current->arc); o_current->arc = NULL; /* printf("sdeleting box\n");*/ g_free(o_current->box); o_current->box = NULL; if (o_current->picture) { /* printf("sdeleting picture\n");*/ g_free(o_current->picture->file_content); if (o_current->picture->pixbuf) g_object_unref (o_current->picture->pixbuf); g_free(o_current->picture->filename); g_free(o_current->picture); } o_current->picture = NULL; if (o_current->text) { /*printf("sdeleting text->string\n");*/ g_free(o_current->text->string); o_current->text->string = NULL; g_free(o_current->text->disp_string); /* printf("sdeleting text\n");*/ g_free(o_current->text); } o_current->text = NULL; /* printf("sdeleting name\n");*/ g_free(o_current->name); o_current->name = NULL; /* printf("sdeleting complex_basename\n");*/ g_free(o_current->complex_basename); o_current->complex_basename = NULL; if (o_current->complex) { if (o_current->complex->prim_objs) { /* printf("sdeleting complex->primitive_objects\n");*/ s_delete_object_glist (toplevel, o_current->complex->prim_objs); o_current->complex->prim_objs = NULL; } g_free(o_current->complex); o_current->complex = NULL; } s_weakref_notify (o_current, o_current->weak_refs); g_free(o_current); /* assuming it is not null */ o_current=NULL; /* misc clean up */ } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ /* deletes everything include the GList */ void s_delete_object_glist(TOPLEVEL *toplevel, GList *list) { OBJECT *o_current=NULL; GList *ptr; ptr = g_list_last(list); /* do the delete backwards */ while(ptr != NULL) { o_current = (OBJECT *) ptr->data; s_delete_object(toplevel, o_current); ptr = g_list_previous (ptr); } g_list_free(list); } /*! \brief Add a weak reference watcher to an OBJECT. * \par Function Description * Adds the weak reference callback \a notify_func to \a object. When * \a object is destroyed, \a notify_func will be called with two * arguments: the \a object, and the \a user_data. * * \sa s_object_weak_unref * * \param [in,out] object Object to weak-reference. * \param [in] notify_func Weak reference notify function. * \param [in] user_data Data to be passed to \a notify_func. */ void s_object_weak_ref (OBJECT *object, void (*notify_func)(void *, void *), void *user_data) { g_return_if_fail (object != NULL); object->weak_refs = s_weakref_add (object->weak_refs, notify_func, user_data); } /*! \brief Remove a weak reference watcher from an OBJECT. * \par Function Description * Removes the weak reference callback \a notify_func from \a object. * * \sa s_object_weak_ref() * * \param [in,out] object Object to weak-reference. * \param [in] notify_func Notify function to search for. * \param [in] user_data Data to to search for. */ void s_object_weak_unref (OBJECT *object, void (*notify_func)(void *, void *), void *user_data) { g_return_if_fail (object != NULL); object->weak_refs = s_weakref_remove (object->weak_refs, notify_func, user_data); } /*! \brief Add a weak pointer to an OBJECT. * \par Function Description * Adds the weak pointer at \a weak_pointer_loc to \a object. The * value of \a weak_pointer_loc will be set to NULL when \a object is * destroyed. * * \sa s_object_remove_weak_ptr * * \param [in,out] object Object to weak-reference. * \param [in] weak_pointer_loc Memory address of a pointer. */ void s_object_add_weak_ptr (OBJECT *object, void *weak_pointer_loc) { g_return_if_fail (object != NULL); object->weak_refs = s_weakref_add_ptr (object->weak_refs, weak_pointer_loc); } /*! \brief Remove a weak pointer from an OBJECT. * \par Function Description * Removes the weak pointer at \a weak_pointer_loc from \a object. * * \sa s_object_add_weak_ptr() * * \param [in,out] object Object to weak-reference. * \param [in] weak_pointer_loc Memory address of a pointer. */ void s_object_remove_weak_ptr (OBJECT *object, void *weak_pointer_loc) { g_return_if_fail (object != NULL); object->weak_refs = s_weakref_remove_ptr (object->weak_refs, weak_pointer_loc); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ /* used by o_text_read */ char *remove_nl(char *string) { int i; if (!string) return NULL; i = 0; while(string[i] != '\0' && string[i] != '\n' && string[i] != '\r') { i++; } string[i] = '\0'; return(string); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ /* used by o_text_read */ char *remove_last_nl(char *string) { int len; if (!string) return NULL; len = strlen(string); if (string[len-1] == '\n' || string[len-1] == '\r') string[len-1] = '\0'; return(string); } /*! \brief Expand environment variables in string. * \par Function Description * This function returns the passed string with environment variables * expanded. * * The invocations of environment variable MUST be in the form * '${variable_name}', '$variable_name' is not valid here. Environment * variable names consists solely of letters, digits and '_'. It is * possible to escape a '$' character in the string by repeating it * twice. * * It outputs error messages to console and leaves the malformed and * bad variable names in the returned string. * * \param [in] string The string with variables to expand. * \return A newly-allocated string with variables expanded or NULL * if input string was NULL. */ gchar* s_expand_env_variables (const gchar *string) { GString *gstring; gint i; if (string == NULL) { return NULL; } gstring = g_string_sized_new (strlen (string)); i = 0; while (TRUE) { gint start; start = i; /* look for end of string or possible variable name start */ while (string[i] != '\0' && string[i] != '$') i++; g_string_append_len (gstring, string + start, i - start); if (string[i] == '\0') { /* end of string, return built string */ return g_string_free (gstring, FALSE); } i++; switch (string[i]) { case ('{'): /* look for the end of the variable name */ start = i; while (string[i] != '\0' && string[i] != '}') i++; if (string[i] == '\0') { /* problem: no closing '}' to variable */ fprintf (stderr, "Found malformed environment variable in '%s'\n", string); g_string_append (gstring, "$"); g_string_append_len (gstring, string + start, i - start + 1); } else { gint j; /* discard "${" */ start = start + 1; /* test characters of variable name */ for (j = start; j < i && (g_ascii_isalnum (string[j]) || string[j] == '_'); j++); if (i != j) { /* illegal character detected in variable name */ fprintf (stderr, "Found bad character [%c] in variable name.\n", string[j]); g_string_append (gstring, "${"); g_string_append_len (gstring, string + start, i - start + 1); } else { /* extract variable name from string and expand it */ gchar *variable_name = g_strndup (string + start, i - start); const gchar *env = g_getenv (variable_name); g_free (variable_name); g_string_append (gstring, (env == NULL) ? "" : env); } i++; } break; case ('$'): /* an escaped '$' */ g_string_append_c (gstring, string[i++]); break; default: /* an isolated '$', put it in output */ g_string_append_c (gstring, '$'); } } /* never reached */ return NULL; } /* -------------------------------------------------- */ #ifdef G_OS_WIN32 /* Get a module handle for the libgeda DLL. * * Adapted from GLib, originally licensed under LGPLv2+. */ static gpointer libgeda_module_handle () { typedef BOOL (WINAPI *t_GetModuleHandleExA) (DWORD, LPCTSTR, HMODULE *); static t_GetModuleHandleExA p_GetModuleHandleExA = NULL; static gconstpointer address = (void (*)(void)) &libgeda_module_handle; static HMODULE hmodule = NULL; if (hmodule != NULL) return (gpointer) hmodule; if (p_GetModuleHandleExA == NULL) { p_GetModuleHandleExA = (t_GetModuleHandleExA) GetProcAddress (GetModuleHandle ("kernel32.dll"), "GetModuleHandleExA"); } if (p_GetModuleHandleExA == NULL || !(*p_GetModuleHandleExA) (GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT | GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS, address, &hmodule)) { MEMORY_BASIC_INFORMATION mbi; VirtualQuery (address, &mbi, sizeof (mbi)); hmodule = (HMODULE) mbi.AllocationBase; } return (gpointer) hmodule; } #endif /* G_OS_WIN32 */ /*! \brief Get the directory with the gEDA system data. * \par Function description * Returns the path to be searched for gEDA data shared between all * users. If the GEDADATA environment variable is set, returns its * value; otherwise, uses a compiled-in path. * * On Windows, the compiled in path is *not* used, as it might not * match the path where the user has installed gEDA. * * \warning The returned string is owned by libgeda and should not be * modified or free'd. * * \todo On UNIX platforms we should follow the XDG Base Directory * Specification. * * \return the gEDA shared data path, or NULL if none could be found. */ const char *s_path_sys_data () { static const char *p = NULL; /* If GEDADATA is set in the environment, use that path */ if (p == NULL) { p = g_getenv ("GEDADATA"); } if (p == NULL) { # if defined (G_OS_WIN32) /* On Windows, guess the path from the location of the libgeda * DLL. */ gchar *d = g_win32_get_package_installation_directory_of_module (libgeda_module_handle ()); p = g_build_filename (d, "share", "gEDA", NULL); g_free (d); # else /* On other platforms, use the compiled-in path */ p = GEDADATADIR; # endif g_setenv ("GEDADATA", p, FALSE); } return p; } /*! \brief Get the directory with the gEDA system configuration. * \par Function description * Returns the path to be searched for gEDA configuration shared * between all users. If the GEDADATARC environment variable is set, * returns its value; otherwise, uses a compiled-in path. Finally * fallback to using the system data path. * * \warning The returned string is owned by libgeda and should not be * modified or free'd. * * \todo On UNIX platforms we should follow the XDG Base Directory * Specification. * * \return the gEDA shared config path, or NULL if none could be * found. */ const char *s_path_sys_config () { static const char *p = NULL; /* If GEDADATARC is set in the environment, use that path */ if (p == NULL) { p = g_getenv ("GEDADATARC"); } if (p == NULL) { #if defined (GEDARCDIR) && !defined(_WIN32) /* If available, use the rc directory set during configure. */ p = GEDARCDIR; #else /* Otherwise, just use the data directory */ p = s_path_sys_data (); #endif } if (p != NULL) g_setenv("GEDADATARC", p, FALSE); return p; } /*! \brief Get the directory with the gEDA user configuration. * \par Function description * Returns the path to be searched for the current user's gEDA * configuration. Currently defaults to a directory ".gEDA" in the * user's home directory. * * \warning The returned string is owned by libgeda and should not be * modified or free'd. * * \todo On Windows, we should use APPDATA. * * \todo On UNIX platforms we should follow the XDG Base Directory * Specification. */ const char *s_path_user_config () { static const char *p = NULL; if (p == NULL) { const char *home = g_getenv ("HOME"); if (home == NULL) home = g_get_home_dir (); p = g_build_filename(home, ".gEDA", NULL); } return p; } geda-gaf-1.8.2/libgeda/src/scheme_os.c0000664000175000017500000000557412220647257014411 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA */ /*! * \file scheme_os.c * \brief Scheme API functions for misc. OS-related stuff. */ #include #include #include SCM_SYMBOL (carbon_sym , "carbon"); SCM_SYMBOL (cygwin_sym , "cygwin"); SCM_SYMBOL (linux_sym , "linux"); SCM_SYMBOL (win32_sym , "win32"); SCM_SYMBOL (win32_native_sym , "win32-native"); /*! \brief Get host operating system information. * \par Function Description * Returns a list of symbols describing the operating system. The * symbols may include: * * - win32 -- Windows * - win32-native -- Windows, not via Cygwin * - cygwin -- Cygwin * - carbon -- Mac OS X Carbon * - linux -- Linux * * \return a list of symbols. */ SCM_DEFINE (platform, "%platform", 0, 0, 0, (), "Return a list of symbols describing the host platform.") { SCM result = SCM_EOL; # if defined (OS_CARBON) result = scm_cons (carbon_sym, result); # endif # if defined (OS_CYGWIN) result = scm_cons (cygwin_sym, result); # endif # if defined (OS_LINUX) result = scm_cons (linux_sym, result); # endif # if defined (OS_WIN32) result = scm_cons (win32_sym, result); # endif # if defined (OS_WIN32_NATIVE) result = scm_cons (win32_native_sym, result); # endif return result; } /*! * \brief Create the (geda core os) Scheme module. * \par Function Description * Defines procedures in the (geda core os) module. The module can * be accessed using (use-modules (geda core os)). */ static void init_module_geda_core_os () { /* Register the functions and symbols */ #include "scheme_os.x" /* Add them to the module's public definitions. */ scm_c_export (s_platform, NULL); } /*! * \brief Initialise the host platform support procedures. * \par Function Description * Registers some Scheme procedures that provide cross-platform * support. Should only be called by scheme_api_init(). */ void edascm_init_os () { /* Define the (geda core os) module */ scm_c_define_module ("geda core os", init_module_geda_core_os, NULL); } geda-gaf-1.8.2/libgeda/src/o_net_basic.c0000664000175000017500000005727112220647257014712 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #include "libgeda_priv.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \file o_net_basic.c * \brief functions for the net object */ /*! \brief get the position of the first net point * \par Function Description * This function gets the position of the first point of a net object. * * \param [in] toplevel The toplevel environment. * \param [out] x pointer to the x-position * \param [out] y pointer to the y-position * \param [in] object The object to get the position. * \return TRUE if successfully determined the position, FALSE otherwise */ gboolean o_net_get_position (TOPLEVEL *toplevel, gint *x, gint *y, OBJECT *object) { return o_line_get_position(toplevel, x, y, object); } /*! \brief calculate and return the boundaries of a net object * \par Function Description * This function calculates the object boudaries of a net \a object. * * \param [in] toplevel The TOPLEVEL object. * \param [in] object a net object * \param [out] left the left world coord * \param [out] top the top world coord * \param [out] right the right world coord * \param [out] bottom the bottom world coord */ void world_get_net_bounds(TOPLEVEL *toplevel, OBJECT *object, int *left, int *top, int *right, int *bottom) { world_get_line_bounds( toplevel, object, left, top, right, bottom ); } /*! \brief create a new net object * \par Function Description * This function creates and returns a new net object. * * \param [in] toplevel The TOPLEVEL object. * \param [in] type The OBJECT type (usually OBJ_NET) * \param [in] color The color of the net * \param [in] x1 x-coord of the first point * \param [in] y1 y-coord of the first point * \param [in] x2 x-coord of the second point * \param [in] y2 y-coord of the second point * \return A new net OBJECT */ OBJECT *o_net_new(TOPLEVEL *toplevel, char type, int color, int x1, int y1, int x2, int y2) { OBJECT *new_node; new_node = s_basic_new_object(type, "net"); new_node->color = color; new_node->line = (LINE *) g_malloc(sizeof(LINE)); /* check for null */ new_node->line->x[0] = x1; new_node->line->y[0] = y1; new_node->line->x[1] = x2; new_node->line->y[1] = y2; new_node->line_width = NET_WIDTH; o_net_recalc (toplevel, new_node); return new_node; } /*! \brief recalc the visual properties of a net object * \par Function Description * This function updates the visual coords of the \a o_current object. * * \param [in] toplevel The TOPLEVEL object. * \param [in] o_current a net object. * */ void o_net_recalc(TOPLEVEL *toplevel, OBJECT *o_current) { int left, right, top, bottom; if (o_current == NULL) { return; } if (o_current->line == NULL) { return; } world_get_net_bounds(toplevel, o_current, &left, &top, &right, &bottom); o_current->w_left = left; o_current->w_top = top; o_current->w_right = right; o_current->w_bottom = bottom; o_current->w_bounds_valid = TRUE; } /*! \brief read a net object from a char buffer * \par Function Description * This function reads a net object from the buffer \a buf. * If the netobject was read successfully, a new net object is * allocated and appended to the \a object_list. * * \param [in] toplevel The TOPLEVEL object * \param [in] buf a text buffer (usually a line of a schematic file) * \param [in] release_ver The release number gEDA * \param [in] fileformat_ver a integer value of the file format * \return The object list, or NULL on error. * */ OBJECT *o_net_read (TOPLEVEL *toplevel, const char buf[], unsigned int release_ver, unsigned int fileformat_ver, GError **err) { OBJECT *new_obj; char type; int x1, y1; int x2, y2; int color; if (sscanf (buf, "%c %d %d %d %d %d\n", &type, &x1, &y1, &x2, &y2, &color) != 6) { g_set_error(err, EDA_ERROR, EDA_ERROR_PARSE, _("Failed to parse net object")); return NULL; } if (x1 == x2 && y1 == y2) { s_log_message (_("Found a zero length net [ %c %d %d %d %d %d ]\n"), type, x1, y1, x2, y2, color); } if (toplevel->override_net_color != -1) { color = toplevel->override_net_color; } if (color < 0 || color > MAX_COLORS) { s_log_message (_("Found an invalid color [ %s ]\n"), buf); s_log_message (_("Setting color to default color\n")); color = DEFAULT_COLOR; } new_obj = o_net_new (toplevel, type, color, x1, y1, x2, y2); return new_obj; } /*! \brief Create a string representation of the net object * \par Function Description * This function takes a net \a object and return a string * according to the file format definition. * * \param [in] toplevel a TOPLEVEL structure * \param [in] object a net OBJECT * \return the string representation of the net OBJECT */ char *o_net_save(TOPLEVEL *toplevel, OBJECT *object) { int x1, x2, y1, y2; char *buf; x1 = object->line->x[0]; y1 = object->line->y[0]; x2 = object->line->x[1]; y2 = object->line->y[1]; buf = g_strdup_printf("%c %d %d %d %d %d", object->type, x1, y1, x2, y2, object->color); return (buf); } /*! \brief move a net object * \par Function Description * This function changes the position of a net \a object. * * \param [in] toplevel The TOPLEVEL object * \param [in] dx The x-distance to move the object * \param [in] dy The y-distance to move the object * \param [in] object The net OBJECT to be moved * */ void o_net_translate_world(TOPLEVEL *toplevel, int dx, int dy, OBJECT *object) { /* Update world coords */ object->line->x[0] = object->line->x[0] + dx; object->line->y[0] = object->line->y[0] + dy; object->line->x[1] = object->line->x[1] + dx; object->line->y[1] = object->line->y[1] + dy; /* Update bounding box */ o_net_recalc (toplevel, object); s_tile_update_object(toplevel, object); } /*! \brief create a copy of a net object * \par Function Description * This function creates a copy of the net object \a o_current. * * \param [in] toplevel The TOPLEVEL object * \param [in] o_current The object that is copied * \return a new net object */ OBJECT *o_net_copy(TOPLEVEL *toplevel, OBJECT *o_current) { OBJECT *new_obj; /* make sure you fix this in pin and bus as well */ /* still doesn't work... you need to pass in the new values */ /* or don't update and update later */ /* I think for now I'll disable the update and manually update */ new_obj = o_net_new (toplevel, OBJ_NET, o_current->color, o_current->line->x[0], o_current->line->y[0], o_current->line->x[1], o_current->line->y[1]); return new_obj; } /*! \brief postscript print command for a net object * \par Function Description * This function writes the postscript command of the net object \a o_current * into the FILE \a fp points to. * * \param [in] toplevel The TOPLEVEL object * \param [in] fp pointer to a FILE structure * \param [in] o_current The OBJECT to print * \param [in] origin_x x-coord of the postscript origin * \param [in] origin_y y-coord of the postscript origin */ void o_net_print(TOPLEVEL *toplevel, FILE *fp, OBJECT *o_current, int origin_x, int origin_y) { int net_width; int x1, y1; int x2, y2; if (o_current == NULL) { printf("got null in o_net_print\n"); return; } f_print_set_color(toplevel, fp, o_current->color); net_width = 2; if (toplevel->net_style == THICK) { net_width = NET_WIDTH; } x1 = o_current->line->x[0] - origin_x, y1 = o_current->line->y[0] - origin_y; x2 = o_current->line->x[1] - origin_x, y2 = o_current->line->y[1] - origin_y; fprintf(fp, "%d %d %d %d %d line\n", x1,y1,x2,y2,net_width); } /*! \brief rotate a net object around a centerpoint * \par Function Description * This function rotates a net \a object around the point * (\a world_centerx, \a world_centery). * * \param [in] toplevel The TOPLEVEL object * \param [in] world_centerx x-coord of the rotation center * \param [in] world_centery y-coord of the rotation center * \param [in] angle The angle to rotat the net object * \param [in] object The net object * \note only steps of 90 degrees are allowed for the \a angle */ void o_net_rotate_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, int angle, OBJECT *object) { int newx, newy; if (angle == 0) return; /* translate object to origin */ o_net_translate_world(toplevel, -world_centerx, -world_centery, object); rotate_point_90(object->line->x[0], object->line->y[0], angle, &newx, &newy); object->line->x[0] = newx; object->line->y[0] = newy; rotate_point_90(object->line->x[1], object->line->y[1], angle, &newx, &newy); object->line->x[1] = newx; object->line->y[1] = newy; o_net_translate_world(toplevel, world_centerx, world_centery, object); } /*! \brief mirror a net object horizontaly at a centerpoint * \par Function Description * This function mirrors a net \a object horizontaly at the point * (\a world_centerx, \a world_centery). * * \param [in] toplevel The TOPLEVEL object * \param [in] world_centerx x-coord of the mirror position * \param [in] world_centery y-coord of the mirror position * \param [in] object The net object */ void o_net_mirror_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, OBJECT *object) { /* translate object to origin */ o_net_translate_world(toplevel, -world_centerx, -world_centery, object); object->line->x[0] = -object->line->x[0]; object->line->x[1] = -object->line->x[1]; o_net_translate_world(toplevel, world_centerx, world_centery, object); } /*! \brief calculate the orientation of a net object * \par Function Description * This function calculates the orientation of a net object. * * \param [in] object The net object * \return The orientation: HORIZONTAL, VERTICAL or NEITHER */ int o_net_orientation(OBJECT *object) { if (object->line->y[0] == object->line->y[1]) { return (HORIZONTAL); } if (object->line->x[0] == object->line->x[1]) { return (VERTICAL); } return (NEITHER); } /*! \brief merge two net object * \par Function Description * This function does the actual work of making one net segment out of two * connected segments. The first net segment is extended to the lenght of * both objects. * The second object (\a del_object) is the object that should be deleted. * * \param [in] object A net object to extend * \param [in] del_object A net object to be merged into \a object * \param [in] orient The orientation of both net objects * * \note The first net \a object gets the attributes of the second net * \a del_object if the two nets are merged together. */ static void o_net_consolidate_lowlevel (OBJECT *object, OBJECT *del_object, int orient) { int temp1, temp2; int final1, final2; int changed = 0; GList *a_iter; OBJECT *a_current; #if DEBUG printf("o %d %d %d %d\n", object->line->x[0], object->line->y[0], object->line->x[1], object->line->y[1]); printf("d %d %d %d %d\n", del_object->line->x[0], del_object->line->y[0], del_object->line->x[1], del_object->line->y[1]); #endif if (orient == HORIZONTAL) { temp1 = min(object->line->x[0], del_object->line->x[0]); temp2 = min(object->line->x[1], del_object->line->x[1]); final1 = min(temp1, temp2); temp1 = max(object->line->x[0], del_object->line->x[0]); temp2 = max(object->line->x[1], del_object->line->x[1]); final2 = max(temp1, temp2); object->line->x[0] = final1; object->line->x[1] = final2; changed = 1; } if (orient == VERTICAL) { temp1 = min(object->line->y[0], del_object->line->y[0]); temp2 = min(object->line->y[1], del_object->line->y[1]); final1 = min(temp1, temp2); temp1 = max(object->line->y[0], del_object->line->y[0]); temp2 = max(object->line->y[1], del_object->line->y[1]); final2 = max(temp1, temp2); object->line->y[0] = final1; object->line->y[1] = final2; changed = 1; } #if DEBUG printf("fo %d %d %d %d\n", object->line->x[0], object->line->y[0], object->line->x[1], object->line->y[1]); #endif /* Move any attributes from the deleted object*/ if (changed && del_object->attribs != NULL) { /* Reassign the attached_to pointer on attributes from the del object */ a_iter = del_object->attribs; while (a_iter != NULL) { a_current = a_iter->data; a_current->attached_to = object; a_iter = g_list_next (a_iter); } object->attribs = g_list_concat (object->attribs, del_object->attribs); /* Don't free del_object->attribs as it's relinked into object's list */ del_object->attribs = NULL; } } /*! \brief Check if there's a midpoint connection at (x,y) * \par Function Description * This function checks if the \a object is connected to another net * between it's endpoints. Net segment's only can be merged if there * is no midpoint connection. * * \param object a net OBJECT to check * \param x x-coord of the connection location * \param y y-coord of the connection location * \return TRUE if there's no midpoint connection, else return FALSE */ static int o_net_consolidate_nomidpoint (OBJECT *object, int x, int y) { GList *c_current; CONN *conn; c_current = object->conn_list; while(c_current != NULL) { conn = (CONN *) c_current->data; if (conn->other_object) { if (conn->other_object->sid != object->sid && conn->x == x && conn->y == y && conn->type == CONN_MIDPOINT) { #if DEBUG printf("Found one! %s\n", conn->other_object->name); #endif return(FALSE); } } c_current = g_list_next(c_current); } return(TRUE); } /*! \brief try to consolidate a net object * \par Function Description * This function tries to consolidate a net with any other object * that is connected to the current \a object. * * \param toplevel The TOPLEVEL object * \param object The object to consolidate * \return 0 if no consolidation was possible, -1 otherwise * */ static int o_net_consolidate_segments (TOPLEVEL *toplevel, OBJECT *object) { int object_orient; int other_orient; GList *c_current; CONN *conn; OBJECT *other_object; PAGE *page; int changed = 0; g_return_val_if_fail ((toplevel != NULL), 0); g_return_val_if_fail ((object != NULL), 0); g_return_val_if_fail ((object->type == OBJ_NET), 0); /* It's meaningless to do anything here if the object isn't in a page. */ page = o_get_page (toplevel, object); g_return_val_if_fail ((page != NULL), 0); object_orient = o_net_orientation(object); c_current = object->conn_list; while(c_current != NULL) { conn = (CONN *) c_current->data; other_object = conn->other_object; /* only look at end points which have a valid end on the other side */ if (other_object != NULL && conn->type == CONN_ENDPOINT && conn->other_whichone != -1 && conn->whichone != -1 && o_net_consolidate_nomidpoint(object, conn->x, conn->y) ) { if (other_object->type == OBJ_NET) { other_orient = o_net_orientation(other_object); /* - both objects have the same orientation (either vert or horiz) */ /* - it's not the same object */ if (object_orient == other_orient && object->sid != other_object->sid && other_orient != NEITHER) { #if DEBUG printf("consolidating %s to %s\n", object->name, other_object->name); #endif o_net_consolidate_lowlevel(object, other_object, other_orient); changed++; if (other_object->selected == TRUE ) { o_selection_remove (toplevel, page->selection_list, other_object); /* If we're consolidating with a selected object, * ensure we select the resulting object. */ if (object->selected == FALSE) { o_selection_add (toplevel, page->selection_list, object); } } s_delete_object (toplevel, other_object); o_net_recalc(toplevel, object); s_tile_update_object(toplevel, object); s_conn_update_object (toplevel, object); return(-1); } } } c_current = g_list_next (c_current); } return(0); } /*! \brief consolidate all net objects * \par Function Description * This function consolidates all net objects in a page until no more * consolidations are possible. * * \param toplevel The TOPLEVEL object. * \param page The PAGE to consolidate nets in. */ void o_net_consolidate(TOPLEVEL *toplevel, PAGE *page) { OBJECT *o_current; const GList *iter; int status = 0; g_return_if_fail (toplevel != NULL); g_return_if_fail (page != NULL); iter = s_page_objects (page); while (iter != NULL) { o_current = (OBJECT *)iter->data; if (o_current->type == OBJ_NET) { status = o_net_consolidate_segments(toplevel, o_current); } if (status == -1) { iter = s_page_objects (page); status = 0; } else { iter = g_list_next (iter); } } } /*! \brief modify one point of a net object * \par Function Description * This function modifies one point of a net \a object. The point * is specified by the \a whichone variable and the new coordinate * is (\a x, \a y). * * \param toplevel The TOPLEVEL object * \param object The net OBJECT to modify * \param x new x-coord of the net point * \param y new y-coord of the net point * \param whichone net point to modify * */ void o_net_modify(TOPLEVEL *toplevel, OBJECT *object, int x, int y, int whichone) { object->line->x[whichone] = x; object->line->y[whichone] = y; o_net_recalc (toplevel, object); s_tile_update_object(toplevel, object); } /*! \brief Refresh & cache number of connected entities. * * \par Function Description * Traverse all network segments reachable from this net and count * total number of unique entities connected to all net segments. * * For the purpose of this function, an entity is: * - pin * - bus * - attached netname attribute * * Computed number of entities is afterwards stored in all traversed * net segments. * * The algorithm does not handle corner cases, ie two bus segments * belonging to the same bus will be counted twice. * * \param [in] toplevel The TOPLEVEL object * \param [in] o_current The NET OBJECT to check connectivity of */ void o_net_refresh_conn_cache(TOPLEVEL *toplevel, OBJECT *o_current) { gint num_conns = 0; GHashTable *visited; GHashTableIter iter; GList *stack = NULL; OBJECT *obj; gpointer key; g_return_if_fail (toplevel); g_return_if_fail (o_current); g_return_if_fail (o_current->type == OBJ_NET); /* Keep track of visited nets, pins and buses in the hash table. * This way we short-circuit the search and avoid loops. */ visited = g_hash_table_new (NULL, NULL); /* * Add the starting net to the hash so: * 1. it is not traversed twice * 2. it is updated at the end if no connections are found */ g_hash_table_insert (visited, o_current, o_current); /* Check if a netname= is attached to the starting net segment */ if (NULL != o_attrib_search_object_attribs_by_name (o_current, "netname", 0)) { num_conns += 1; } /* Keep track of connections to search at each net segment in a stack. * Each stack entry points to an entry in obj->conn_list. * Pop the stack when we have no more connections to check. * Push next entry on the stack if we encounter a net segment. */ /* Initialise the stack for the starting net segment. */ stack = g_list_prepend (stack, o_current->conn_list); while (stack != NULL) { /* At start of the loop, take a new connection from the stack. */ GList *conn_list = (GList*) stack->data; CONN *conn; if (conn_list == NULL) { /* No more connections to check at this level. Pop the stack. */ stack = g_list_delete_link (stack, stack); continue; } /* Extract the next connected object and advance the connection list. */ conn = (CONN*) conn_list->data; stack->data = (gpointer) g_list_next (conn_list); if (conn == NULL) /* should not happen */ continue; obj = conn->other_object; if (obj == NULL) /* should not happen */ continue; /* Act upon the object that is connected to the segment. */ switch (obj->type) { case OBJ_PIN: case OBJ_BUS: if (NULL == g_hash_table_lookup (visited, obj)) { g_hash_table_insert (visited, obj, obj); num_conns += 1; } break; case OBJ_NET: if (NULL == g_hash_table_lookup (visited, obj)) { g_hash_table_insert (visited, obj, obj); /* Check if a netname= is attached to this net segment */ if (NULL != o_attrib_search_object_attribs_by_name (obj, "netname", 0)) { num_conns += 1; } /* Push new list of connections to check onto the stack */ stack = g_list_prepend (stack, obj->conn_list); } break; default: break; } } /* Cache value of num_conns in all visited objects */ g_hash_table_iter_init (&iter, visited); while (g_hash_table_iter_next (&iter, &key, NULL)) { obj = (OBJECT*) key; if (obj->type == OBJ_NET) { obj->net_num_connected = num_conns; obj->valid_num_connected = TRUE; } } g_hash_table_destroy (visited); g_list_free (stack); } /*! \brief Check if net is fully connected. * * \par Function Description * Net is fully connected when it connects at least * two separate entities. * * \sa o_net_refresh_conn_cache * * \param [in] toplevel The TOPLEVEL object * \param [in] o_current The OBJECT to check connectivity of * \return TRUE if net is fully connected, FALSE otherwise */ gboolean o_net_is_fully_connected (TOPLEVEL *toplevel, OBJECT *o_current) { g_return_val_if_fail (toplevel, FALSE); g_return_val_if_fail (o_current, FALSE); g_return_val_if_fail (o_current->type == OBJ_NET, FALSE); if (!o_current->valid_num_connected) o_net_refresh_conn_cache (toplevel, o_current); g_return_val_if_fail (o_current->valid_num_connected, FALSE); return o_current->net_num_connected > 1 ? TRUE : FALSE; } geda-gaf-1.8.2/libgeda/src/o_line_basic.c0000664000175000017500000011036512220647257015045 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! \file o_line_basic.c * \brief functions for the line object */ #include #include #include #include "libgeda_priv.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \brief Create and add line OBJECT to list. * \par Function Description * This function creates a new object representing a line. * * The line is described by its two ends - x1,y1 and * x2,y2. * The type parameter must be equal to #OBJ_LINE. * The color parameter corresponds to the color the box * will be drawn with. * * The #OBJECT structure is allocated with the #s_basic_new_object() * function. The structure describing the line is allocated and * initialized with the parameters given to the function. * * Both the line type and the filling type are set to default * values : solid line type with a width of 0, and no filling. * It can be changed after with the #o_set_line_options() and * #o_set_fill_options(). * * \param [in] toplevel The TOPLEVEL object. * \param [in] type Must be OBJ_LINE. * \param [in] color Circle line color. * \param [in] x1 Upper x coordinate. * \param [in] y1 Upper y coordinate. * \param [in] x2 Lower x coordinate. * \param [in] y2 Lower y coordinate. * \return A pointer to the new end of the object list. */ OBJECT *o_line_new(TOPLEVEL *toplevel, char type, int color, int x1, int y1, int x2, int y2) { OBJECT *new_node; /* create the object */ new_node = s_basic_new_object(type, "line"); new_node->color = color; new_node->line = (LINE *) g_malloc(sizeof(LINE)); /* describe the line with its two ends */ new_node->line->x[0] = x1; new_node->line->y[0] = y1; new_node->line->x[1] = x2; new_node->line->y[1] = y2; /* line type and filling initialized to default */ o_set_line_options(toplevel, new_node, END_NONE, TYPE_SOLID, 0, -1, -1); o_set_fill_options(toplevel, new_node, FILLING_HOLLOW, -1, -1, -1, -1, -1); /* compute bounding box */ o_line_recalc(toplevel, new_node); return new_node; } /*! \brief Create a copy of a line. * \par Function Description * This function creates a verbatim copy of the * object pointed by o_current describing a line. * * \param [in] toplevel The TOPLEVEL object. * \param [in] o_current Line OBJECT to copy. * \return The new OBJECT */ OBJECT *o_line_copy(TOPLEVEL *toplevel, OBJECT *o_current) { OBJECT *new_obj; /* A new line object is created with #o_line_new(). * Values for its fields are default and need to be modified. */ new_obj = o_line_new (toplevel, OBJ_LINE, o_current->color, o_current->line->x[0], o_current->line->y[0], o_current->line->x[1], o_current->line->y[1]); /* * The coordinates of the ends of the new line are set with the ones * of the original line. The two lines have the sale line type and * filling options. * * The bounding box are computed with * #o_line_recalc(). */ /* copy the line type and filling options */ o_set_line_options(toplevel, new_obj, o_current->line_end, o_current->line_type, o_current->line_width, o_current->line_length, o_current->line_space); o_set_fill_options(toplevel, new_obj, o_current->fill_type, o_current->fill_width, o_current->fill_pitch1, o_current->fill_angle1, o_current->fill_pitch2, o_current->fill_angle2); /* calc the bounding box */ o_line_recalc(toplevel, o_current); /* new_obj->attribute = 0;*/ /* return the new tail of the object list */ return new_obj; } /*! \brief Modify the description of a line OBJECT. * \par Function Description * This function modifies the coordinates of one of the two ends of * the line described by *object. The new coordinates of this end, * identified by whichone, are given by x and y * in world unit. * * The coordinates of the end of line is modified in the world * coordinate system. Screen coordinates and boundings are then updated. * * \param [in] toplevel The TOPLEVEL object. * \param [in,out] object Line OBJECT to modify. * \param [in] x New x coordinate. * \param [in] y New y coordinate. * \param [in] whichone Which line parameter to modify. * * whichone can have the following values: *
    *
    *
    LINE_END1 *
    *
    LINE_END2 *
    */ void o_line_modify(TOPLEVEL *toplevel, OBJECT *object, int x, int y, int whichone) { o_emit_pre_change_notify (toplevel, object); /* change one of the end of the line */ switch (whichone) { case LINE_END1: object->line->x[0] = x; object->line->y[0] = y; break; case LINE_END2: object->line->x[1] = x; object->line->y[1] = y; break; default: return; } /* recalculate the bounding box */ o_line_recalc(toplevel, object); o_emit_change_notify (toplevel, object); } /*! \brief Create line OBJECT from character string. * \par Function Description * This function creates a line OBJECT from the character string * *buf the description of a box. * * The function returns a pointer on the new last element, that is * the added line object. * * Depending on *version, the correct file format is considered. * Currently two file format revisions are supported : *
    *
    *
    the file format used until 20010704 release. *
    *
    the file format used for the releases after 20010704. *
    * * \param [in] toplevel The TOPLEVEL object. * \param [in] buf Character string with line description. * \param [in] release_ver libgeda release version number. * \param [in] fileformat_ver libgeda file format version number. * \return A pointer to the new line object, or NULL on error. */ OBJECT *o_line_read (TOPLEVEL *toplevel, const char buf[], unsigned int release_ver, unsigned int fileformat_ver, GError ** err) { OBJECT *new_obj; char type; int x1, y1; int x2, y2; int line_width, line_space, line_length; int line_end; int line_type; int color; if (release_ver <= VERSION_20000704) { /* * The old geda file format, i.e. releases 20000704 and older, does * not handle the line type and the filling - here filling is irrelevant. * They are set to default. */ if (sscanf (buf, "%c %d %d %d %d %d\n", &type, &x1, &y1, &x2, &y2, &color) != 6) { g_set_error(err, EDA_ERROR, EDA_ERROR_PARSE, _("Failed to parse line object")); return NULL; } line_width = 0; line_end = END_NONE; line_type = TYPE_SOLID; line_length= -1; line_space = -1; } else { /* * The current line format to describe a line is a space separated * list of characters and numbers in plain ASCII on a single line. * The meaning of each item is described in the file format documentation. */ if (sscanf (buf, "%c %d %d %d %d %d %d %d %d %d %d\n", &type, &x1, &y1, &x2, &y2, &color, &line_width, &line_end, &line_type, &line_length, &line_space) != 11) { g_set_error(err, EDA_ERROR, EDA_ERROR_PARSE, _("Failed to parse line object")); return NULL; } } /* * Null length line are not allowed. If such a line is detected a * message is issued. * * It also checks is the required color is valid. */ if (x1 == x2 && y1 == y2) { s_log_message (_("Found a zero length line [ %c %d %d %d %d %d ]\n"), type, x1, y1, x2, y2, color); } if (color < 0 || color > MAX_COLORS) { s_log_message (_("Found an invalid color [ %s ]\n"), buf); s_log_message (_("Setting color to default color\n")); color = DEFAULT_COLOR; } /* * A line is internally described by its two ends. A new object is * allocated, initialized and added to the list of objects. Its line * type is set according to the values of the fields on the line. */ /* create and add the line to the list */ new_obj = o_line_new (toplevel, type, color, x1, y1, x2, y2); /* set its line options */ o_set_line_options (toplevel, new_obj, line_end, line_type, line_width, line_length, line_space); /* filling is irrelevant for line, just set to default */ o_set_fill_options (toplevel, new_obj, FILLING_HOLLOW, -1, -1, -1, -1, -1); return new_obj; } /*! \brief Create a character string representation of a line OBJECT. * \par Function Description * The function formats a string in the buffer *buff to describe * the box object *object. * It follows the post-20000704 release file format that handle the * line type and fill options - filling is irrelevant here. * * \param [in] toplevel a TOPLEVEL structure. * \param [in] object Line OBJECT to create string from. * \return A pointer to the line OBJECT character string. * * \note * Caller must g_free returned character string. * */ char *o_line_save(TOPLEVEL *toplevel, OBJECT *object) { int x1, x2, y1, y2; int line_width, line_space, line_length; char *buf; OBJECT_END line_end; OBJECT_TYPE line_type; /* get the two ends */ x1 = object->line->x[0]; y1 = object->line->y[0]; x2 = object->line->x[1]; y2 = object->line->y[1]; /* description of the line type */ line_width = object->line_width; line_end = object->line_end; line_type = object->line_type; line_length= object->line_length; line_space = object->line_space; buf = g_strdup_printf("%c %d %d %d %d %d %d %d %d %d %d", object->type, x1, y1, x2, y2, object->color, line_width, line_end, line_type, line_length, line_space); return(buf); } /*! \brief Translate a line position in WORLD coordinates by a delta. * \par Function Description * This function applies a translation of (x1,y1) to the line * described by *object. x1 and y1 are in world unit. * * \param [in] toplevel The TOPLEVEL object. * \param [in] dx x distance to move. * \param [in] dy y distance to move. * \param [in,out] object Line OBJECT to translate. */ void o_line_translate_world(TOPLEVEL *toplevel, int dx, int dy, OBJECT *object) { /* Update world coords */ object->line->x[0] = object->line->x[0] + dx; object->line->y[0] = object->line->y[0] + dy; object->line->x[1] = object->line->x[1] + dx; object->line->y[1] = object->line->y[1] + dy; /* Update bounding box */ o_line_recalc (toplevel, object); } /*! \brief Rotate Line OBJECT using WORLD coordinates. * \par Function Description * This function rotates the line described by * *object around the (world_centerx,world_centery) * point by angle degrees. * The center of rotation is in world units. * * \param [in] toplevel The TOPLEVEL object. * \param [in] world_centerx Rotation center x coordinate in WORLD units. * \param [in] world_centery Rotation center y coordinate in WORLD units. * \param [in] angle Rotation angle in degrees (See note below). * \param [in,out] object Line OBJECT to rotate. */ void o_line_rotate_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, int angle, OBJECT *object) { int newx, newy; if (angle == 0) return; /* angle must be positive */ if(angle < 0) angle = -angle; /* angle must be 90 multiple or no rotation performed */ if((angle % 90) != 0) return; /* * The center of rotation (world_centerx,world_centery) * is translated to the origin. The rotation of the two ends of * the line is performed. FInally, the rotated line is translated * back to its previous location. */ /* translate object to origin */ o_line_translate_world(toplevel, -world_centerx, -world_centery, object); /* rotate line end 1 */ rotate_point_90(object->line->x[0], object->line->y[0], angle, &newx, &newy); object->line->x[0] = newx; object->line->y[0] = newy; /* rotate line end 2 */ rotate_point_90(object->line->x[1], object->line->y[1], angle, &newx, &newy); object->line->x[1] = newx; object->line->y[1] = newy; /* translate object back to normal position */ o_line_translate_world(toplevel, world_centerx, world_centery, object); } /*! \brief Mirror a line using WORLD coordinates. * \par Function Description * This function mirrors the line from the point * (world_centerx,world_centery) in world unit. * * The line if first translated to the origin, then mirrored * and finally translated back at its previous position. * * \param [in] toplevel The TOPLEVEL object. * \param [in] world_centerx Origin x coordinate in WORLD units. * \param [in] world_centery Origin y coordinate in WORLD units. * \param [in,out] object Line OBJECT to mirror. */ void o_line_mirror_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, OBJECT *object) { /* translate object to origin */ o_line_translate_world(toplevel, -world_centerx, -world_centery, object); /* mirror the line ends */ object->line->x[0] = -object->line->x[0]; object->line->x[1] = -object->line->x[1]; /* translate back in position */ o_line_translate_world(toplevel, world_centerx, world_centery, object); } /*! \brief Recalculate line coordinates in SCREEN units. * \par Function Description * This function recalculate the bounding box of the o_current * * \param [in] toplevel The TOPLEVEL object. * \param [in,out] o_current Line OBJECT to be recalculated. */ void o_line_recalc(TOPLEVEL *toplevel, OBJECT *o_current) { int left, right, top, bottom; if (o_current->line == NULL) { return; } /* update the bounding box - screen unit */ world_get_line_bounds(toplevel, o_current, &left, &top, &right, &bottom); o_current->w_left = left; o_current->w_top = top; o_current->w_right = right; o_current->w_bottom = bottom; o_current->w_bounds_valid = TRUE; } /*! \brief Get line bounding rectangle in WORLD coordinates. * \par Function Description * This function sets the left, top, right and * bottom parameters to the boundings of the line object described * in *line in world units. * * \param [in] toplevel The TOPLEVEL object. * \param [in] object Line OBJECT to read coordinates from. * \param [out] left Left line coordinate in WORLD units. * \param [out] top Top line coordinate in WORLD units. * \param [out] right Right line coordinate in WORLD units. * \param [out] bottom Bottom line coordinate in WORLD units. */ void world_get_line_bounds(TOPLEVEL *toplevel, OBJECT *object, int *left, int *top, int *right, int *bottom) { int halfwidth; halfwidth = object->line_width / 2; *left = min( object->line->x[0], object->line->x[1] ); *top = min( object->line->y[0], object->line->y[1] ); *right = max( object->line->x[0], object->line->x[1] ); *bottom = max( object->line->y[0], object->line->y[1] ); /* This isn't strictly correct, but a 1st order approximation */ *left -= halfwidth; *top -= halfwidth; *right += halfwidth; *bottom += halfwidth; } /*! \brief get the position of the first line point * \par Function Description * This function gets the position of the first point of a line object. * * \param [in] toplevel The toplevel environment. * \param [out] x pointer to the x-position * \param [out] y pointer to the y-position * \param [in] object The object to get the position. * \return TRUE if successfully determined the position, FALSE otherwise */ gboolean o_line_get_position (TOPLEVEL *toplevel, gint *x, gint *y, OBJECT *object) { *x = object->line->x[0]; *y = object->line->y[0]; return TRUE; } /*! \brief Print line to Postscript document. * \par Function Description * This function prints the line described by the o_current * parameter to a Postscript document. * The Postscript document is described by the fp file pointer. * * Parameters of the line are extracted from object pointed by * o_current. * * \param [in] toplevel The TOPLEVEL object. * \param [in] fp FILE pointer to Postscript document. * \param [in] o_current Line OBJECT to write to document. * \param [in] origin_x Page x coordinate to place line OBJECT. * \param [in] origin_y Page y coordinate to place line OBJECT. */ void o_line_print(TOPLEVEL *toplevel, FILE *fp, OBJECT *o_current, int origin_x, int origin_y) { int x1, y1, x2, y2; int color; int line_width, length, space; void (*outl_func)() = NULL; if (o_current == NULL) { printf("got null in o_line_print\n"); return; } x1 = o_current->line->x[0]; y1 = o_current->line->y[0]; x2 = o_current->line->x[1]; y2 = o_current->line->y[1]; color = o_current->color; /* * Depending on the type of the line for this particular line, the * appropriate function is chosen among * #o_line_print_solid(), #o_line_print_dotted()#, #o_line_print_dashed(), * #o_line_print_center() and #o_line_print_phantom(). * * The needed parameters for each of these types are extracted from the * o_current object. Depending on the type, unused parameters are * set to -1. * * In the eventuality of a length and/or space null, the line is printed * solid to avoid and endless loop produced by other functions. */ line_width = o_current->line_width; if(line_width <=2) { if(toplevel->line_style == THICK) { line_width=LINE_WIDTH; } else { line_width=2; } } length = o_current->line_length; space = o_current->line_space; switch(o_current->line_type) { case(TYPE_SOLID): length = -1; space = -1; outl_func = o_line_print_solid; break; case(TYPE_DOTTED): length = -1; outl_func = o_line_print_dotted; break; case(TYPE_DASHED): outl_func = o_line_print_dashed; break; case(TYPE_CENTER): outl_func = o_line_print_center; break; case(TYPE_PHANTOM): outl_func = o_line_print_phantom; break; case(TYPE_ERASE): /* Unused for now, print it solid */ length = -1; space = -1; outl_func = o_line_print_solid; break; } if((length == 0) || (space == 0)) { length = -1; space = -1; outl_func = o_line_print_solid; } (*outl_func)(toplevel, fp, x1 - origin_x, y1 - origin_y, x2 - origin_x, y2 - origin_y, color, line_width, length, space, origin_x, origin_y); } /*! \brief Print a solid line to Postscript document. * \par Function Description * This function prints a line when a solid line type is required. * The line is defined by the coordinates of its two ends in * (x1,y1) and (x2,y2). * The Postscript document is defined by the file pointer fp. * The parameters length and space are ignored whereas * line_width specifies the width of the printed line. * * \param [in] toplevel The TOPLEVEL object. * \param [in] fp FILE pointer to Postscript document. * \param [in] x1 Upper x coordinate. * \param [in] y1 Upper y coordinate. * \param [in] x2 Lower x coordinate. * \param [in] y2 Lower y coordinate. * \param [in] color Line color. * \param [in] line_width Width of line. * \param [in] length (unused). * \param [in] space (unused). * \param [in] origin_x Page x coordinate to place line OBJECT. * \param [in] origin_y Page y coordinate to place line OBJECT. */ void o_line_print_solid(TOPLEVEL *toplevel, FILE *fp, int x1, int y1, int x2, int y2, int color, int line_width, int length, int space, int origin_x, int origin_y) { f_print_set_color(toplevel, fp, color); fprintf(fp,"%d %d %d %d %d line\n", x1,y1,x2,y2, line_width); } /*! \brief Print a dotted line to Postscript document. * \par Function Description * This function prints a line when a dotted line type is required. * The line is defined by the coordinates of its two ends in * (x1,y1) and (x2,y2). * The Postscript document is defined by the file pointer fp. * The parameter length is ignored whereas line_width * specifies the diameter of the dots and space the distance * between two dots. * * A negative value for space leads to an endless loop. * * All dimensions are in mils. * * The function sets the color in which the line will be printed with. * * \param [in] toplevel The TOPLEVEL object. * \param [in] fp FILE pointer to Postscript document. * \param [in] x1 Upper x coordinate. * \param [in] y1 Upper y coordinate. * \param [in] x2 Lower x coordinate. * \param [in] y2 Lower y coordinate. * \param [in] color Line color. * \param [in] line_width Width of line. * \param [in] length (unused). * \param [in] space Space between dots. * \param [in] origin_x Page x coordinate to place line OBJECT. * \param [in] origin_y Page y coordinate to place line OBJECT. */ void o_line_print_dotted(TOPLEVEL *toplevel, FILE *fp, int x1, int y1, int x2, int y2, int color, int line_width, int length, int space, int origin_x, int origin_y) { double dx, dy, l, d; double dx1, dy1; double xa, ya; f_print_set_color(toplevel, fp, color); /* The dotted line command takes an array of dots so print out the * beginnings of the array */ fprintf(fp,"["); /* is the width relevant for a dot (circle) ? */ /* f_print_set_line_width(fp, line_width); */ /* * Depending on the slope of the line the space parameter is * projected on each of the two directions x and y resulting * in dx1 and dy1. Starting from one end by increments * of space the dots are printed. * * A dot is represented by a filled circle. Position of the * circle is (xa, ya) and its radius is the line_width * parameter. */ dx = (double) (x2 - x1); dy = (double) (y2 - y1); l = sqrt((dx * dx) + (dy * dy)); dx1 = (dx * space) / l; dy1 = (dy * space) / l; d = 0; xa = x1; ya = y1; while(d < l) { fprintf(fp,"[%d %d] ", (int)xa, (int)ya); d = d + space; xa = xa + dx1; ya = ya + dy1; } fprintf(fp,"] %d dashed\n",line_width); } /*! \brief Print a dashed line to Postscript document. * \par Function Description * This function prints a line when a dashed line type is required. * The line is defined by the coordinates of its two ends in * (x1,y1) and (x2,y2). * The postscript file is defined by the file pointer fp. * * A negative value for space or length leads to an * endless loop. * * All dimensions are in mils. * * The function sets the color in which the line will be printed and * the width of the line - that is the width of the dashes. * * \param [in] toplevel The TOPLEVEL object. * \param [in] fp FILE pointer to Postscript document. * \param [in] x1 Upper x coordinate. * \param [in] y1 Upper y coordinate. * \param [in] x2 Lower x coordinate. * \param [in] y2 Lower y coordinate. * \param [in] color Line color. * \param [in] line_width Width of line. * \param [in] length Length of a dash. * \param [in] space Space between dashes. * \param [in] origin_x Page x coordinate to place line OBJECT. * \param [in] origin_y Page y coordinate to place line OBJECT. */ void o_line_print_dashed(TOPLEVEL *toplevel, FILE *fp, int x1, int y1, int x2, int y2, int color, int line_width, int length, int space, int origin_x, int origin_y) { double dx, dy, l, d; double dx1, dy1, dx2, dy2; double xa, ya, xb, yb; f_print_set_color(toplevel, fp, color); /* the dashed line function takes an array of start-finish pairs * output the beginnings of the array now */ fprintf(fp,"["); /* * Depending on the slope of the line the length (resp. space) * parameter is projected on each of the two directions x and y * resulting in dx1 and dy1 (resp. dx2 and dy2). * Starting from one end and incrementing alternatively by space * and length the dashes are printed. * * It prints as many dashes of length length as possible. */ dx = (double) (x2 - x1); dy = (double) (y2 - y1); l = sqrt((dx * dx) + (dy * dy)); dx1 = (dx * length) / l; dy1 = (dy * length) / l; dx2 = (dx * space) / l; dy2 = (dy * space) / l; d = 0; xa = x1; ya = y1; while((d + length + space) < l) { d = d + length; xb = xa + dx1; yb = ya + dy1; fprintf(fp, "[%d %d %d %d] ", (int) xa, (int) ya, (int) xb, (int) yb); d = d + space; xa = xb + dx2; ya = yb + dy2; } /* * When the above condition is no more satisfied, then it is not possible * to print a dash of length length. However it may be possible to * print the complete dash or a shorter one. */ if((d + length) < l) { d = d + length; xb = xa + dx1; yb = ya + dy1; } else { xb = x2; yb = y2; } fprintf(fp, "[%d %d %d %d] ", (int) xa, (int) ya, (int) xb, (int) yb); fprintf(fp,"] %d dashed\n", line_width); } /*! \brief Print a centered line type line to Postscript document. * \par Function Description * This function prints a line when a centered line type is required. * The line is defined by the coordinates of its two ends in * (x1,y1) and (x2,y2). * The Postscript document is defined by the file pointer fp. * * A negative value for space or length leads to an * endless loop. * * All dimensions are in mils. * * The function sets the color in which the line will be printed and the * width of the line - that is the width of the dashes and the diameter * of the dots. * * \param [in] toplevel The TOPLEVEL object. * \param [in] fp FILE pointer to Postscript document. * \param [in] x1 Upper x coordinate. * \param [in] y1 Upper y coordinate. * \param [in] x2 Lower x coordinate. * \param [in] y2 Lower y coordinate. * \param [in] color Line color. * \param [in] line_width Width of line. * \param [in] length Length of a dash. * \param [in] space Space between dashes. * \param [in] origin_x Page x coordinate to place line OBJECT. * \param [in] origin_y Page y coordinate to place line OBJECT. */ void o_line_print_center(TOPLEVEL *toplevel, FILE *fp, int x1, int y1, int x2, int y2, int color, int line_width, int length, int space, int origin_x, int origin_y) { double dx, dy, l, d; double dx1, dy1, dx2, dy2; double xa, ya, xb, yb; f_print_set_color(toplevel, fp, color); fprintf(fp, "["); /* * Depending on the slope of the line the length (resp. space) * parameter is projected on each of the two directions x and y resulting * in dx1 and dy1 (resp. dx2 and dy2). * Starting from one end and incrementing alternatively by space * and length the dashes and dots are printed. * * It prints as many sets of dash and dot as possible. */ dx = (double) (x2 - x1); dy = (double) (y2 - y1); l = sqrt((dx * dx) + (dy * dy)); dx1 = (dx * length) / l; dy1 = (dy * length) / l; dx2 = (dx * space) / l; dy2 = (dy * space) / l; d = 0; xa = x1; ya = y1; while((d + length + 2 * space) < l) { d = d + length; xb = xa + dx1; yb = ya + dy1; fprintf(fp, "[%d %d %d %d] ", (int) xa, (int) ya, (int) xb, (int) yb); d = d + space; xa = xb + dx2; ya = yb + dy2; fprintf(fp,"[%d %d] ",(int) xa, (int) ya); d = d + space; xa = xa + dx2; ya = ya + dy2; } /* * When the above condition is no more satisfied, then it is not possible * to print a dash of length length. * However two cases are possible : *
    *
    *
    it is possible to print the dash and the dot. *
    *
    it is possible to print the dash or a part * of the original dash. *
    */ if((d + length + space) < l) { d = d + length; xb = xa + dx1; yb = ya + dy1; fprintf(fp, "[%d %d %d %d] ", (int) xa, (int) ya, (int) xb, (int) yb); d = d + space; xa = xb + dx2; ya = yb + dy2; fprintf(fp,"[%d %d] ",(int) xa, (int) ya); } else { if(d + length < l) { xb = xa + dx1; yb = ya + dy1; } else { xb = x2; yb = y2; } fprintf(fp, "[%d %d %d %d] ", (int) xa, (int) ya, (int) xb, (int) yb); } fprintf(fp,"] %d dashed\n", line_width); /* * A dot is represented by a filled circle. Position of the circle is * (xa, ya) and its radius by the line_width parameter. */ } /*! \brief Print a phantom line type line to Postscript document. * \par Function Description * This function prints a line when a phantom line type is required. * The line is defined by the coordinates of its two ends in * (x1,y1) and (x2,y2). * The Postscript document is defined by the file pointer fp. * * A negative value for space or length leads to an * endless loop. * * All dimensions are in mils. * * The function sets the color in which the line will be printed and the * width of the line - that is the width of the dashes and the diameter * of the dots. * * \param [in] toplevel The TOPLEVEL object. * \param [in] fp FILE pointer to Postscript document. * \param [in] x1 Upper x coordinate. * \param [in] y1 Upper y coordinate. * \param [in] x2 Lower x coordinate. * \param [in] y2 Lower y coordinate. * \param [in] color Line color. * \param [in] line_width Width of line. * \param [in] length Length of a dash. * \param [in] space Space between dashes. * \param [in] origin_x Page x coordinate to place line OBJECT. * \param [in] origin_y Page y coordinate to place line OBJECT. */ void o_line_print_phantom(TOPLEVEL *toplevel, FILE *fp, int x1, int y1, int x2, int y2, int color, int line_width, int length, int space, int origin_x, int origin_y) { double dx, dy, l, d; double dx1, dy1, dx2, dy2; double xa, ya, xb, yb; f_print_set_color(toplevel, fp, color); fprintf(fp,"["); /* * Depending on the slope of the line the length (resp. space) * parameter is projected on each of the two directions x and y resulting * in dx1 and dy1 (resp. dx2 and dy2). * Starting from one end and incrementing alternatively by space * and length the dashes and dots are printed. * * It prints as many sets of dash-dot-dot as possible. */ dx = (double) (x2 - x1); dy = (double) (y2 - y1); l = sqrt((dx * dx) + (dy * dy)); dx1 = (dx * length) / l; dy1 = (dy * length) / l; dx2 = (dx * space) / l; dy2 = (dy * space) / l; d = 0; xa = x1; ya = y1; while((d + length + 3 * space) < l) { d = d + length; xb = xa + dx1; yb = ya + dy1; fprintf(fp,"[%d %d %d %d] ", (int) xa, (int)ya, (int) xb, (int)yb); d = d + space; xa = xb + dx2; ya = yb + dy2; fprintf(fp,"[%d %d] ",(int) xa, (int) ya); d = d + space; xa = xa + dx2; ya = ya + dy2; fprintf(fp,"[%d %d] ",(int) xa, (int) ya); d = d + space; xa = xa + dx2; ya = ya + dy2; } /* * When the above condition is no more satisfied, then it is not possible * to print a complete set of dash-dot-dot. * However three cases are possible : *
    *
    *
    it is possible to print a dash and a dot and a dot. *
    *
    it is possible to print a dash and a dot. *
    *
    it is possible to print the dash or a part * of the original dash. *
    */ if((d + length + 2 * space) < l) { d = d + length; xb = xa + dx1; yb = ya + dy1; fprintf(fp,"[%d %d %d %d] ", (int) xa, (int)ya, (int) xb, (int)yb); d = d + space; xa = xb + dx2; ya = yb + dy2; fprintf(fp,"[%d %d] ",(int) xa, (int)ya); d = d + space; xa = xb + dx2; ya = yb + dy2; fprintf(fp,"[%d %d] ",(int) xa, (int)ya); } else { if(d + length + space < l) { d = d + length; xb = xa + dx1; yb = ya + dy1; fprintf(fp,"[%d %d %d %d] ", (int) xa, (int)ya, (int) xb, (int)yb); d = d + space; xa = xb + dx2; ya = yb + dy2; fprintf(fp,"[%d %d] ",(int) xa, (int)ya); } else { if(d + length < l) { xb = xa + dx1; yb = ya + dy1; } else { xb = x2; yb = y2; } fprintf(fp,"[%d %d %d %d] ", (int) xa, (int)ya, (int) xb, (int)yb); } } fprintf(fp,"] %d dashed\n", line_width); } /*! \brief * \par Function Description * * \param [in] toplevel The TOPLEVEL object. * \param [in] x_scale * \param [in] y_scale * \param [in] object */ void o_line_scale_world(TOPLEVEL *toplevel, int x_scale, int y_scale, OBJECT *object) { /* scale the line world coords */ object->line->x[0] = object->line->x[0] * x_scale; object->line->y[0] = object->line->y[0] * y_scale; object->line->x[1] = object->line->x[1] * x_scale; object->line->y[1] = object->line->y[1] * y_scale; /* update boundingbox */ o_line_recalc(toplevel, object); } /*! \brief calculate the lenght of a line object * \par Function Description * This function calculates the length of a line object * * \param [in] object a line OBJECT * \return The length of the line */ double o_line_length(OBJECT *object) { double length; double dx, dy; if (!object->line) { return 0.0; } dx = object->line->x[0]-object->line->x[1]; dy = object->line->y[0]-object->line->y[1]; length = sqrt((dx*dx) + (dy*dy)); return(length); } /*! \brief Calculates the distance between the given point and the closest * point on the given line segment. * * If the closest point on the line resides beyond the line segment's * end point, this function returns the distance from the given point to the * closest end point. * * If the line represents a single point (the endpoints are the same), this * function calcualtes the distance to that point. * * \param [in] object The line OBJECT. * \param [in] x The x coordinate of the given point. * \param [in] y The y coordinate of the given point. * \param [in] force_solid If true, force treating the object as solid. * \return The shortest distance from the object to the point. With an * invalid parameter, this function returns G_MAXDOUBLE. */ double o_line_shortest_distance (OBJECT *object, int x, int y, int force_solid) { return m_line_shortest_distance (object->line, x, y); } geda-gaf-1.8.2/libgeda/src/i_vars.c0000664000175000017500000000764212220647257013725 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include "libgeda_priv.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \def INIT_STR(w, name, str) */ #define INIT_STR(w, name, str) { \ g_free((w)->name); \ (w)->name = g_strdup(((default_ ## name) != NULL) ? \ (default_ ## name) : (str)); \ } /* \note * Kazu Hirata on July 16, 1999 - Added these absolute * defaults used when default_... is NULL. */ #define DEFAULT_UNTITLED_NAME "untitled" #define DEFAULT_BITMAP_DIRECTORY "../lib/bitmaps" #define DEFAULT_BUS_RIPPER_SYMNAME "busripper-1.sym" #define DEFAULT_POSTSCRIPT_PROLOG "prolog.ps" int default_init_right = WIDTH_C; int default_init_bottom = HEIGHT_C; char *default_untitled_name = NULL; char *default_bitmap_directory = NULL; char *default_bus_ripper_symname = NULL; char *default_postscript_prolog = NULL; GList *default_always_promote_attributes = NULL; int default_attribute_promotion = TRUE; int default_promote_invisible = FALSE; int default_keep_invisible = TRUE; int default_make_backup_files = TRUE; /*! \brief Initialize variables in TOPLEVEL object * \par Function Description * This function will initialize variables to default values. * * \param [out] toplevel The TOPLEVEL object to be updated. * */ void i_vars_libgeda_set(TOPLEVEL *toplevel) { GList *iter; toplevel->init_right = default_init_right; toplevel->init_bottom = default_init_bottom; toplevel->attribute_promotion = default_attribute_promotion; toplevel->promote_invisible = default_promote_invisible; toplevel->keep_invisible = default_keep_invisible; toplevel->make_backup_files = default_make_backup_files; /* copy the always_promote_attributes list from the default */ g_list_foreach(toplevel->always_promote_attributes, (GFunc) g_free, NULL); g_list_free(toplevel->always_promote_attributes); toplevel->always_promote_attributes = g_list_copy(default_always_promote_attributes); for (iter = toplevel->always_promote_attributes; iter != NULL; iter = g_list_next(iter)) iter->data = g_strdup(iter->data); /* you cannot free the default* strings here since new windows */ /* need them */ INIT_STR(toplevel, untitled_name , DEFAULT_UNTITLED_NAME ); INIT_STR(toplevel, bitmap_directory, DEFAULT_BITMAP_DIRECTORY); INIT_STR(toplevel, bus_ripper_symname, DEFAULT_BUS_RIPPER_SYMNAME); INIT_STR(toplevel, postscript_prolog, DEFAULT_POSTSCRIPT_PROLOG); } /*! \brief Free default names * \par Function Description * This function will free all of the default variables for libgeda. * */ void i_vars_libgeda_freenames() { g_free(default_untitled_name); g_free(default_bitmap_directory); g_free(default_bus_ripper_symname); g_free(default_postscript_prolog); g_list_foreach(default_always_promote_attributes, (GFunc) g_free, NULL); g_list_free(default_always_promote_attributes); default_always_promote_attributes = NULL; } geda-gaf-1.8.2/libgeda/src/s_toplevel.c0000664000175000017500000002111412220647257014604 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998, 1999, 2000 Kazu Hirata / Ales Hvezda * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #ifdef HAVE_STRING_H #include #endif #ifdef HAVE_STDLIB_H #include #endif #include "libgeda_priv.h" #ifdef HAVE_LIBDMALLOC #include #endif static GList *new_toplevel_hooks = NULL; typedef struct { NewToplevelFunc func; void *data; } NewToplevelHook; void s_toplevel_append_new_hook (NewToplevelFunc func, void *data) { NewToplevelHook *new_hook; new_hook = g_new0 (NewToplevelHook, 1); new_hook->func = func; new_hook->data = data; new_toplevel_hooks = g_list_append (new_toplevel_hooks, new_hook); } static void call_new_toplevel_hook (gpointer hook, gpointer toplevel) { NewToplevelHook *h = (NewToplevelHook*) hook; TOPLEVEL *t = (TOPLEVEL*) toplevel; h->func (t, h->data); } /*! * \brief Create a TOPLEVEL object * \par Function Description * Create and return an empty TOPLEVEL object with sensible defaults * for its properties. * * \returns the newly created TOPLEVEL. * * \todo rethink block below that is set in gschem but used in libgeda. */ TOPLEVEL *s_toplevel_new (void) { TOPLEVEL *toplevel; toplevel = (TOPLEVEL*)g_new (TOPLEVEL, 1); toplevel->RC_list = NULL; toplevel->untitled_name = NULL; toplevel->bitmap_directory = NULL; toplevel->init_left = 0; toplevel->init_top = 0; /* init_right and _bottom are set before this function is called */ toplevel->width = 1; toplevel->height = 1; toplevel->override_color = -1; toplevel->pages = geda_list_new(); toplevel->page_current = NULL; toplevel->show_hidden_text = 0; toplevel->major_changed_refdes = NULL; /* BLOCK SET IN GSCHEM, BUT USED IN LIBGEDA - NEEDS A RETHINK */ toplevel->background_color = 0; toplevel->override_net_color = -1; toplevel->override_bus_color = -1; toplevel->override_pin_color = -1; toplevel->pin_style = 0; toplevel->net_style = 0; toplevel->bus_style = 0; toplevel->line_style = 0; /* END BLOCK - ALTHOUGH THERE ARE MORE CASES! */ toplevel->object_clipping = 0; toplevel->print_orientation = 0; toplevel->image_color = FALSE; toplevel->print_color = FALSE; toplevel->print_color_background = 0; toplevel->setpagedevice_orientation = FALSE; toplevel->setpagedevice_pagesize = FALSE; toplevel->postscript_prolog = NULL; toplevel->net_consolidate = FALSE; /* The following is an attempt at getting (deterministic) defaults */ /* for the following variables */ toplevel->attribute_promotion = FALSE; toplevel->promote_invisible = FALSE; toplevel->keep_invisible = FALSE; toplevel->make_backup_files = TRUE; toplevel->print_output_type = 0; toplevel->print_output_capstyle = BUTT_CAP; toplevel->paper_width = 0; toplevel->paper_height = 0; toplevel->bus_ripper_symname = NULL; toplevel->force_boundingbox = FALSE; toplevel->always_promote_attributes = NULL; toplevel->net_naming_priority = 0; toplevel->hierarchy_traversal = 0; toplevel->hierarchy_uref_mangle = 0; toplevel->hierarchy_netname_mangle = 0; toplevel->hierarchy_netattrib_mangle = 0; toplevel->hierarchy_uref_separator = NULL; toplevel->hierarchy_netname_separator = NULL; toplevel->hierarchy_netattrib_separator = NULL; toplevel->hierarchy_netattrib_order = 0; toplevel->hierarchy_netname_order = 0; toplevel->hierarchy_uref_order = 0; toplevel->unnamed_netname = NULL; toplevel->unnamed_busname = NULL; toplevel->rendered_text_bounds_func = NULL; toplevel->rendered_text_bounds_data = NULL; toplevel->change_notify_funcs = NULL; toplevel->attribs_changed_hooks = NULL; toplevel->conns_changed_hooks = NULL; toplevel->load_newer_backup_func = NULL; toplevel->load_newer_backup_data = NULL; /* Auto-save interval */ toplevel->auto_save_interval = 0; toplevel->auto_save_timeout = 0; toplevel->weak_refs = NULL; /* Call hooks */ g_list_foreach (new_toplevel_hooks, call_new_toplevel_hook, toplevel); return toplevel; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void s_toplevel_delete (TOPLEVEL *toplevel) { GList *iter; if (toplevel->auto_save_timeout != 0) { /* Assume this works */ g_source_remove (toplevel->auto_save_timeout); } g_free (toplevel->untitled_name); g_free (toplevel->bitmap_directory); g_free (toplevel->bus_ripper_symname); /* free all fonts */ /* if you close a window, then you free the font set... */ /* this is probably a bad idea... */ /* The font set can ONLY be freed when exiting!!! */ /* o_text_freeallfonts (toplevel); */ /* delete all pages */ s_page_delete_list (toplevel); /* Delete the page list */ g_object_unref(toplevel->pages); /* Remove all change notification handlers */ for (iter = toplevel->change_notify_funcs; iter != NULL; iter = g_list_next (iter)) { g_free (iter->data); } g_list_free (toplevel->change_notify_funcs); s_weakref_notify (toplevel, toplevel->weak_refs); g_free (toplevel); } /*! \brief Add a weak reference watcher to an TOPLEVEL. * \par Function Description * Adds the weak reference callback \a notify_func to \a toplevel. When * \a toplevel is destroyed, \a notify_func will be called with two * arguments: the \a toplevel, and the \a user_data. * * \sa s_toplevel_weak_unref * * \param [in,out] toplevel Toplevel to weak-reference. * \param [in] notify_func Weak reference notify function. * \param [in] user_data Data to be passed to \a notify_func. */ void s_toplevel_weak_ref (TOPLEVEL *toplevel, void (*notify_func)(void *, void *), void *user_data) { g_return_if_fail (toplevel != NULL); toplevel->weak_refs = s_weakref_add (toplevel->weak_refs, notify_func, user_data); } /*! \brief Remove a weak reference watcher from an TOPLEVEL. * \par Function Description * Removes the weak reference callback \a notify_func from \a toplevel. * * \sa s_toplevel_weak_ref() * * \param [in,out] toplevel Toplevel to weak-reference. * \param [in] notify_func Notify function to search for. * \param [in] user_data Data to to search for. */ void s_toplevel_weak_unref (TOPLEVEL *toplevel, void (*notify_func)(void *, void *), void *user_data) { g_return_if_fail (toplevel != NULL); toplevel->weak_refs = s_weakref_remove (toplevel->weak_refs, notify_func, user_data); } /*! \brief Add a weak pointer to an TOPLEVEL. * \par Function Description * Adds the weak pointer at \a weak_pointer_loc to \a toplevel. The * value of \a weak_pointer_loc will be set to NULL when \a toplevel is * destroyed. * * \sa s_toplevel_remove_weak_ptr * * \param [in,out] toplevel Toplevel to weak-reference. * \param [in] weak_pointer_loc Memory address of a pointer. */ void s_toplevel_add_weak_ptr (TOPLEVEL *toplevel, void *weak_pointer_loc) { g_return_if_fail (toplevel != NULL); toplevel->weak_refs = s_weakref_add_ptr (toplevel->weak_refs, weak_pointer_loc); } /*! \brief Remove a weak pointer from an TOPLEVEL. * \par Function Description * Removes the weak pointer at \a weak_pointer_loc from \a toplevel. * * \sa s_toplevel_add_weak_ptr() * * \param [in,out] toplevel Toplevel to weak-reference. * \param [in] weak_pointer_loc Memory address of a pointer. */ void s_toplevel_remove_weak_ptr (TOPLEVEL *toplevel, void *weak_pointer_loc) { g_return_if_fail (toplevel != NULL); toplevel->weak_refs = s_weakref_remove_ptr (toplevel->weak_refs, weak_pointer_loc); } geda-gaf-1.8.2/libgeda/src/o_path_basic.c0000664000175000017500000010763612220647257015061 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #include #include "libgeda_priv.h" #ifdef HAVE_LIBDMALLOC #include #endif typedef void (*DRAW_FUNC) (TOPLEVEL *toplevel, FILE *fp, PATH *path, int line_width, int length, int space, int origin_x, int origin_y); typedef void (*FILL_FUNC) (TOPLEVEL *toplevel, FILE *fp, PATH *path, int fill_width, int angle1, int pitch1, int angle2, int pitch2, int origin_x, int origin_y); /*! \brief Create and add path OBJECT to list. * \par Function Description * This function creates a new object representing a path. * This object is added to the end of the list object_list * pointed object belongs to. * The path is described by its two ends - x1,y1 and * x2,y2. * The type parameter must be equal to #OBJ_PATH. * The color parameter corresponds to the color the path * will be drawn with. * * The #OBJECT structure is allocated with the * #s_basic_init_object() function. The structure describing * the path is allocated and initialized with the parameters given * to the function. * * Both the path type and the filling type are set to default * values : solid path type with a width of 0, and no filling. * It can be changed after with the #o_set_line_options() and * #o_set_fill_options(). * * The object is added to the end of the list described by the * object_list parameter by the #s_basic_link_object(). * * \param [in] toplevel The TOPLEVEL object. * \param [in] type Must be OBJ_PATH. * \param [in] color The path color. * \param [in] path_string The string representation of the path * \return A pointer to the new end of the object list. */ OBJECT *o_path_new (TOPLEVEL *toplevel, char type, int color, const char *path_string) { OBJECT *new_node; /* create the object */ new_node = s_basic_new_object (type, "path"); new_node->color = color; new_node->path = s_path_parse (path_string); /* path type and filling initialized to default */ o_set_line_options (toplevel, new_node, END_NONE, TYPE_SOLID, 0, -1, -1); o_set_fill_options (toplevel, new_node, FILLING_HOLLOW, -1, -1, -1, -1, -1); /* compute bounding box */ o_path_recalc (toplevel, new_node); return new_node; } /*! \brief Create a copy of a path. * \par Function Description * This function creates a verbatim copy of the * object pointed by o_current describing a path. The new object * is added at the end of the list following the list_tail * parameter. * * \param [in] toplevel The TOPLEVEL object. * \param [in] o_current Line OBJECT to copy. * \return A new pointer to the end of the object list. */ OBJECT *o_path_copy (TOPLEVEL *toplevel, OBJECT *o_current) { OBJECT *new_obj; char *path_string; path_string = s_path_string_from_path (o_current->path); new_obj = o_path_new (toplevel, OBJ_PATH, o_current->color, path_string); g_free (path_string); /* copy the path type and filling options */ o_set_line_options (toplevel, new_obj, o_current->line_end, o_current->line_type, o_current->line_width, o_current->line_length, o_current->line_space); o_set_fill_options (toplevel, new_obj, o_current->fill_type, o_current->fill_width, o_current->fill_pitch1, o_current->fill_angle1, o_current->fill_pitch2, o_current->fill_angle2); /* calc the bounding box */ o_path_recalc (toplevel, o_current); /* return the new tail of the object list */ return new_obj; } /*! \brief Create path OBJECT from character string. * \par Function Description * This function creates a path OBJECT from the character string * *buf and a number of lines following that describing the * path, read from *tb. * * Depending on *version, the correct file format is considered. * Currently two file format revisions are supported : *
    *
    *
    the file format used until 20010704 release. *
    *
    the file format used for the releases after 20010704. *
    * * \param [in] toplevel The TOPLEVEL object. * \param [in] first_line Character string with path description. * \param [in] tb Text buffer containing the path string. * \param [in] release_ver libgeda release version number. * \param [in] fileformat_ver libgeda file format version number. * \return A pointer to the new path object, or NULL on error; */ OBJECT *o_path_read (TOPLEVEL *toplevel, const char *first_line, TextBuffer *tb, unsigned int release_ver, unsigned int fileformat_ver, GError **err) { OBJECT *new_obj; char type; int color; int line_width, line_space, line_length; int line_end; int line_type; int fill_type, fill_width, angle1, pitch1, angle2, pitch2; int num_lines = 0; int i; char *string; GString *pathstr; /* * The current path format to describe a line is a space separated * list of characters and numbers in plain ASCII on a single path. * The meaning of each item is described in the file format documentation. */ /* Allocate enough space */ if (sscanf (first_line, "%c %d %d %d %d %d %d %d %d %d %d %d %d %d\n", &type, &color, &line_width, &line_end, &line_type, &line_length, &line_space, &fill_type, &fill_width, &angle1, &pitch1, &angle2, &pitch2, &num_lines) != 14) { g_set_error(err, EDA_ERROR, EDA_ERROR_PARSE, _("Failed to parse path object")); return NULL; } /* * Checks if the required color is valid. */ if (color < 0 || color > MAX_COLORS) { s_log_message (_("Found an invalid color [ %s ]\n"), first_line); s_log_message (_("Setting color to default color\n")); color = DEFAULT_COLOR; } /* * A path is internally described by its two ends. A new object is * allocated, initialized and added to the list of objects. Its path * type is set according to the values of the fields on the path. */ pathstr = g_string_new (""); for (i = 0; i < num_lines; i++) { const gchar *line; line = s_textbuffer_next_line (tb); if (line == NULL) { g_set_error (err, EDA_ERROR, EDA_ERROR_PARSE, _("Unexpected end-of-file when reading path")); return NULL; } pathstr = g_string_append (pathstr, line); } /* retrieve the character string from the GString */ string = g_string_free (pathstr, FALSE); string = remove_last_nl (string); /* create a new path */ new_obj = o_path_new (toplevel, type, color, string); g_free (string); /* set its line options */ o_set_line_options (toplevel, new_obj, line_end, line_type, line_width, line_length, line_space); /* set its fill options */ o_set_fill_options (toplevel, new_obj, fill_type, fill_width, pitch1, angle1, pitch2, angle2); return new_obj; } /*! \brief Create a character string representation of a path OBJECT. * \par Function Description * The function formats a string in the buffer *buff to describe * the path object *object. * * \param [in] toplevel a TOPLEVEL structure * \param [in] object path OBJECT to create string from. * \return A pointer to the path OBJECT character string. * * \note * Caller must g_free returned character string. * */ char *o_path_save (TOPLEVEL *toplevel, OBJECT *object) { int line_width, line_space, line_length; char *buf; int num_lines; OBJECT_END line_end; OBJECT_TYPE line_type; OBJECT_FILLING fill_type; int fill_width, angle1, pitch1, angle2, pitch2; char *path_string; /* description of the line type */ line_width = object->line_width; line_end = object->line_end; line_type = object->line_type; line_length = object->line_length; line_space = object->line_space; /* filling parameters */ fill_type = object->fill_type; fill_width = object->fill_width; angle1 = object->fill_angle1; pitch1 = object->fill_pitch1; angle2 = object->fill_angle2; pitch2 = object->fill_pitch2; path_string = s_path_string_from_path (object->path); num_lines = o_text_num_lines (path_string); buf = g_strdup_printf ("%c %d %d %d %d %d %d %d %d %d %d %d %d %d\n%s", object->type, object->color, line_width, line_end, line_type, line_length, line_space, fill_type, fill_width, angle1, pitch1, angle2, pitch2, num_lines, path_string); g_free (path_string); return buf; } /*! \brief Modify controol point location * * \par Function Description * This function modifies a control point location of the path object * *object. The control point being modified is selected according to * the whichone parameter. * * The new position is given by x and y. * * \param [in] toplevel The TOPLEVEL object. * \param [in,out] object The path OBJECT * \param [in] x New x coordinate for the control point * \param [in] y New y coordinate for the control point * \param [in] whichone Which control point is being modified */ void o_path_modify (TOPLEVEL *toplevel, OBJECT *object, int x, int y, int whichone) { int i; int grip_no = 0; PATH_SECTION *section; o_emit_pre_change_notify (toplevel, object); for (i = 0; i < object->path->num_sections; i++) { section = &object->path->sections[i]; switch (section->code) { case PATH_CURVETO: /* Two control point grips */ if (whichone == grip_no++) { section->x1 = x; section->y1 = y; } if (whichone == grip_no++) { section->x2 = x; section->y2 = y; } /* Fall through */ case PATH_MOVETO: case PATH_MOVETO_OPEN: case PATH_LINETO: /* Destination point grip */ if (whichone == grip_no++) { section->x3 = x; section->y3 = y; } break; case PATH_END: break; } } /* Update bounding box */ o_path_recalc (toplevel, object); o_emit_change_notify (toplevel, object); } /*! \brief Translate a path position in WORLD coordinates by a delta. * \par Function Description * This function applies a translation of (x1,y1) to the path * described by *object. x1 and y1 are in world unit. * * \param [in] toplevel The TOPLEVEL object. * \param [in] dx x distance to move. * \param [in] dy y distance to move. * \param [in,out] object Line OBJECT to translate. */ void o_path_translate_world (TOPLEVEL *toplevel, int dx, int dy, OBJECT *object) { PATH_SECTION *section; int i; for (i = 0; i < object->path->num_sections; i++) { section = &object->path->sections[i]; switch (section->code) { case PATH_CURVETO: section->x1 += dx; section->y1 += dy; section->x2 += dx; section->y2 += dy; /* Fall through */ case PATH_MOVETO: case PATH_MOVETO_OPEN: case PATH_LINETO: section->x3 += dx; section->y3 += dy; break; case PATH_END: break; } } /* Update bounding box */ o_path_recalc (toplevel, object); } /*! \brief Rotate Line OBJECT using WORLD coordinates. * \par Function Description * This function rotates the path described by * *object around the (world_centerx,world_centery) * point by angle degrees. * The center of rotation is in world units. * * \param [in] toplevel The TOPLEVEL object. * \param [in] world_centerx Rotation center x coordinate in WORLD units. * \param [in] world_centery Rotation center y coordinate in WORLD units. * \param [in] angle Rotation angle in degrees (See note below). * \param [in,out] object Line OBJECT to rotate. */ void o_path_rotate_world (TOPLEVEL *toplevel, int world_centerx, int world_centery, int angle, OBJECT *object) { PATH_SECTION *section; int i; for (i = 0; i < object->path->num_sections; i++) { section = &object->path->sections[i]; switch (section->code) { case PATH_CURVETO: /* Two control point grips */ section->x1 -= world_centerx; section->y1 -= world_centery; section->x2 -= world_centerx; section->y2 -= world_centery; rotate_point_90 (section->x1, section->y1, angle, §ion->x1, §ion->y1); rotate_point_90 (section->x2, section->y2, angle, §ion->x2, §ion->y2); section->x1 += world_centerx; section->y1 += world_centery; section->x2 += world_centerx; section->y2 += world_centery; /* Fall through */ case PATH_MOVETO: case PATH_MOVETO_OPEN: case PATH_LINETO: /* Destination point grip */ section->x3 -= world_centerx; section->y3 -= world_centery; rotate_point_90 (section->x3, section->y3, angle, §ion->x3, §ion->y3); section->x3 += world_centerx; section->y3 += world_centery; break; case PATH_END: break; } } o_path_recalc (toplevel, object); } /*! \brief Mirror a path using WORLD coordinates. * \par Function Description * This function mirrors the path from the point * (world_centerx,world_centery) in world unit. * * \param [in] toplevel The TOPLEVEL object. * \param [in] world_centerx Origin x coordinate in WORLD units. * \param [in] world_centery Origin y coordinate in WORLD units. * \param [in,out] object Line OBJECT to mirror. */ void o_path_mirror_world (TOPLEVEL *toplevel, int world_centerx, int world_centery, OBJECT *object) { PATH_SECTION *section; int i; for (i = 0; i < object->path->num_sections; i++) { section = &object->path->sections[i]; switch (section->code) { case PATH_CURVETO: /* Two control point grips */ section->x1 = 2 * world_centerx - section->x1; section->x2 = 2 * world_centerx - section->x2; /* Fall through */ case PATH_MOVETO: case PATH_MOVETO_OPEN: case PATH_LINETO: /* Destination point grip */ section->x3 = 2 * world_centerx - section->x3; break; case PATH_END: break; } } o_path_recalc (toplevel, object); } /*! \brief Recalculate path coordinates in SCREEN units. * \par Function Description * This function recalculate the bounding box of the o_current * * \param [in] toplevel The TOPLEVEL object. * \param [in,out] o_current Line OBJECT to be recalculated. */ void o_path_recalc (TOPLEVEL *toplevel, OBJECT *o_current) { int left = 0, right = 0, top = 0, bottom = 0; g_return_if_fail (o_current->path != NULL); /* Update the bounding box */ if (o_current->path->num_sections > 0) { world_get_path_bounds (toplevel, o_current, &left, &top, &right, &bottom); o_current->w_left = left; o_current->w_top = top; o_current->w_right = right; o_current->w_bottom = bottom; o_current->w_bounds_valid = TRUE; } else { o_current->w_bounds_valid = FALSE; } } /*! \brief Get path bounding rectangle in WORLD coordinates. * \par Function Description * This function sets the left, top, right and * bottom parameters to the boundings of the path object described * in *path in world units. * * \note Bounding box for bezier curves is loose because we just consider * the convex hull of the curve control and end-points. * * \param [in] toplevel The TOPLEVEL object. * \param [in] object Line OBJECT to read coordinates from. * \param [out] left Left path coordinate in WORLD units. * \param [out] top Top path coordinate in WORLD units. * \param [out] right Right path coordinate in WORLD units. * \param [out] bottom Bottom path coordinate in WORLD units. */ void world_get_path_bounds (TOPLEVEL *toplevel, OBJECT *object, int *left, int *top, int *right, int *bottom) { PATH_SECTION *section; int halfwidth; int i; int found_bound = FALSE; /* Find the bounds of the path region */ for (i = 0; i < object->path->num_sections; i++) { section = &object->path->sections[i]; switch (section->code) { case PATH_CURVETO: /* Bezier curves with this construction of control points will lie * within the convex hull of the control and curve end points */ *left = (found_bound) ? MIN (*left, section->x1) : section->x1; *top = (found_bound) ? MIN (*top, section->y1) : section->y1; *right = (found_bound) ? MAX (*right, section->x1) : section->x1; *bottom = (found_bound) ? MAX (*bottom, section->y1) : section->y1; found_bound = TRUE; *left = MIN (*left, section->x2); *top = MIN (*top, section->y2); *right = MAX (*right, section->x2); *bottom = MAX (*bottom, section->y2); /* Fall through */ case PATH_MOVETO: case PATH_MOVETO_OPEN: case PATH_LINETO: *left = (found_bound) ? MIN (*left, section->x3) : section->x3; *top = (found_bound) ? MIN (*top, section->y3) : section->y3; *right = (found_bound) ? MAX (*right, section->x3) : section->x3; *bottom = (found_bound) ? MAX (*bottom, section->y3) : section->y3; found_bound = TRUE; break; case PATH_END: break; } } if (found_bound) { /* This isn't strictly correct, but a 1st order approximation */ halfwidth = object->line_width / 2; *left -= halfwidth; *top -= halfwidth; *right += halfwidth; *bottom += halfwidth; } } /*! \brief get the position of the first path point * \par Function Description * This function gets the position of the first point of an path object. * * \param [in] toplevel The toplevel environment. * \param [out] x pointer to the x-position * \param [out] y pointer to the y-position * \param [in] object The object to get the position. * \return TRUE if successfully determined the position, FALSE otherwise */ gboolean o_path_get_position (TOPLEVEL *toplevel, gint *x, gint *y, OBJECT *object) { if (object->path->num_sections == 0) return FALSE; *x = object->path->sections[0].x3; *y = object->path->sections[0].y3; return TRUE; } /*! \brief Print a solid PATH to Postscript document. * \par Function Description * This function prints the outline of a path when a solid line type is * required. The postscript file is defined by the file pointer fp. * The parameters length and space are ignored. * * All dimensions are in mils. * * \param [in] toplevel The TOPLEVEL object. * \param [in] fp FILE pointer to Postscript document. * \param [in] path The PATH object ot print * \param [in] line_width PATH Line width. * \param [in] length Dashed line length. * \param [in] space Amount of space between dashes. * \param [in] origin_x Page x coordinate to place PATH OBJECT. * \param [in] origin_y Page y coordinate to place PATH OBJECT. */ static void o_path_print_solid (TOPLEVEL *toplevel, FILE *fp, PATH *path, int line_width, int length, int space, int origin_x, int origin_y) { int i; for (i = 0; i < path->num_sections; i++) { PATH_SECTION *section = &path->sections[i]; if (i > 0) fprintf (fp, " "); switch (section->code) { case PATH_MOVETO: fprintf (fp, "closepath"); /* Fall through */ case PATH_MOVETO_OPEN: fprintf (fp, "%i %i moveto", section->x3 - origin_x, section->y3 - origin_y); break; case PATH_CURVETO: fprintf (fp, "%i %i %i %i %i %i curveto", section->x1 - origin_x, section->y1 - origin_y, section->x2 - origin_x, section->y2 - origin_y, section->x3 - origin_x, section->y3 - origin_y); break; case PATH_LINETO: fprintf (fp, "%i %i lineto", section->x3 - origin_x, section->y3 - origin_y); break; case PATH_END: fprintf (fp, "closepath"); break; } } fprintf (fp, " stroke\n"); } /*! \brief Print a dotted PATH to Postscript document. * \par Function Description * This function prints the outline of a path when a dotted line type is * required. The postscript file is defined by the file pointer fp. * The parameter length is ignored. * * All dimensions are in mils. * * \param [in] toplevel The TOPLEVEL object * \param [in] fp FILE pointer to Postscript document * \param [in] path The PATH object to print * \param [in] line_width PATH Line width * \param [in] length Dashed line length * \param [in] space Amount of space between dashes * \param [in] origin_x Page x coordinate to place PATH OBJECT * \param [in] origin_y Page y coordinate to place PATH OBJECT */ static void o_path_print_dotted (TOPLEVEL *toplevel, FILE *fp, PATH *path, int line_width, int length, int space, int origin_x, int origin_y) { o_path_print_solid (toplevel, fp, path, line_width, length, space, origin_x, origin_y); } /*! \brief Print a dashed PATH to Postscript document. * \par Function Description * This function prints the outline of a path when a dashed line type is * required. The postscript file is defined by the file pointer fp. * * All dimensions are in mils. * * \param [in] toplevel The TOPLEVEL object. * \param [in] fp FILE pointer to Postscript document. * \param [in] path The PATH object to print. * \param [in] line_width PATH Line width. * \param [in] length Dashed line length. * \param [in] space Amount of space between dashes. * \param [in] origin_x Page x coordinate to place PATH OBJECT. * \param [in] origin_y Page y coordinate to place PATH OBJECT. */ static void o_path_print_dashed (TOPLEVEL *toplevel, FILE *fp, PATH *path, int line_width, int length, int space, int origin_x, int origin_y) { o_path_print_solid (toplevel, fp, path, line_width, length, space, origin_x, origin_y); } /*! \brief Print centered line type PATH to Postscript document. * \par Function Description * This function prints the outline of a path when a centered line type is * required. The postscript file is defined by the file pointer fp. * * All dimensions are in mils. * * \param [in] toplevel The TOPLEVEL object * \param [in] fp FILE pointer to Postscript document * \param [in] path The PATH object to print * \param [in] line_width PATH Line width * \param [in] length Dashed line length * \param [in] space Amount of space between dashes * \param [in] origin_x Page x coordinate to place PATH OBJECT * \param [in] origin_y Page y coordinate to place PATH OBJECT */ static void o_path_print_center (TOPLEVEL *toplevel, FILE *fp, PATH *path, int line_width, int length, int space, int origin_x, int origin_y) { o_path_print_solid (toplevel, fp, path, line_width, length, space, origin_x, origin_y); } /*! \brief Print phantom line type PATH to Postscript document. * \par Function Description * This function prints the outline of a path when a phantom line type is * required. The postscript file is defined by the file pointer fp. * * All dimensions are in mils. * * \param [in] toplevel The TOPLEVEL object * \param [in] fp FILE pointer to Postscript document * \param [in] path The PATH object to print * \param [in] line_width PATH Line width * \param [in] length Dashed line length * \param [in] space Amount of space between dashes * \param [in] origin_x Page x coordinate to place PATH OBJECT * \param [in] origin_y Page y coordinate to place PATH OBJECT */ static void o_path_print_phantom (TOPLEVEL *toplevel, FILE *fp, PATH *path, int line_width, int length, int space, int origin_x, int origin_y) { o_path_print_solid (toplevel, fp, path, line_width, length, space, origin_x, origin_y); } /*! \brief Print a solid pattern PATH to Postscript document. * \par Function Description * The function prints a filled path with a solid pattern. No outline is * printed. The postscript file is defined by the file pointer fp. * fill_width, angle1 and pitch1, angle2 and pitch2 * parameters are ignored in this functions but kept for compatibility * with other fill functions. * * All dimensions are in mils. * * \param [in] toplevel The TOPLEVEL object * \param [in] fp FILE pointer to Postscript document * \param [in] path The PATH object to print * \param [in] fill_width PATH fill width (unused) * \param [in] angle1 (unused) * \param [in] pitch1 (unused) * \param [in] angle2 (unused) * \param [in] pitch2 (unused) * \param [in] origin_x Page x coordinate to place PATH OBJECT * \param [in] origin_y Page y coordinate to place PATH OBJECT */ static void o_path_print_filled (TOPLEVEL *toplevel, FILE *fp, PATH *path, int fill_width, int angle1, int pitch1, int angle2, int pitch2, int origin_x, int origin_y) { int i; for (i = 0; i < path->num_sections; i++) { PATH_SECTION *section = &path->sections[i]; if (i > 0) fprintf (fp, " "); switch (section->code) { case PATH_MOVETO: fprintf (fp, "closepath"); /* Fall through */ case PATH_MOVETO_OPEN: fprintf (fp, "%i %i moveto", section->x3 - origin_x, section->y3 - origin_y); break; case PATH_CURVETO: fprintf (fp, "%i %i %i %i %i %i curveto", section->x1 - origin_x, section->y1 - origin_y, section->x2 - origin_x, section->y2 - origin_y, section->x3 - origin_x, section->y3 - origin_y); break; case PATH_LINETO: fprintf (fp, "%i %i lineto", section->x3 - origin_x, section->y3 - origin_y); break; case PATH_END: fprintf (fp, "closepath"); break; } } fprintf (fp, " fill\n"); } /*! \brief Print a hatch pattern PATH to Postscript document. * \par Function Description * The function prints a hatched path. No outline is printed. * The postscript file is defined by the file pointer fp. * fill_width, angle1, pitch1 parameters define the way the path * has to be hatched. * angle2 and pitch2 parameters are unused but kept for compatibility * with other fill functions. * * Negative or zero values for pitch1 are not allowed. * * All dimensions are in mils. * * \param [in] toplevel The TOPLEVEL object * \param [in] fp FILE pointer to Postscript document * \param [in] path The PATH object to print * \param [in] fill_width PATH fill width * \param [in] angle1 Angle of hatch pattern * \param [in] pitch1 Pitch of hatch pattern * \param [in] angle2 (unused) * \param [in] pitch2 (unused) * \param [in] origin_x Page x coordinate to place PATH OBJECT * \param [in] origin_y Page y coordinate to place PATH OBJECT */ static void o_path_print_hatch (TOPLEVEL *toplevel, FILE *fp, PATH *path, int fill_width, int angle1, int pitch1, int angle2, int pitch2, int origin_x, int origin_y) { int i; GArray *lines; g_return_if_fail (toplevel != NULL); g_return_if_fail (fp != NULL); /* Avoid printing line widths too small */ if (fill_width <= 1) fill_width = 2; lines = g_array_new (FALSE, FALSE, sizeof(LINE)); m_hatch_path (path, angle1, pitch1, lines); for (i=0; i < lines->len; i++) { LINE *line = &g_array_index (lines, LINE, i); fprintf (fp,"%d %d %d %d %d line\n", line->x[0], line->y[0], line->x[1], line->y[1], fill_width); } g_array_free (lines, TRUE); } /*! \brief Print a mesh pattern PATH to Postscript document. * \par Function Description * This function prints a meshed path. No outline is printed. * The postscript file is defined by the file pointer fp. * * Negative or zero values for pitch1 and/or pitch2 are * not allowed. * * All dimensions are in mils. * * \param [in] toplevel The TOPLEVEL object * \param [in] fp FILE pointer to Postscript document * \param [in] path The PATH object to print * \param [in] fill_width PATH fill width * \param [in] angle1 1st angle for mesh pattern * \param [in] pitch1 1st pitch for mesh pattern * \param [in] angle2 2nd angle for mesh pattern * \param [in] pitch2 2nd pitch for mesh pattern * \param [in] origin_x Page x coordinate to place PATH OBJECT * \param [in] origin_y Page y coordinate to place PATH OBJECT */ static void o_path_print_mesh (TOPLEVEL *toplevel, FILE *fp, PATH *path, int fill_width, int angle1, int pitch1, int angle2, int pitch2, int origin_x, int origin_y) { o_path_print_hatch (toplevel, fp, path, fill_width, angle1, pitch1, -1, -1, origin_x, origin_y); o_path_print_hatch (toplevel, fp, path, fill_width, angle2, pitch2, -1, -1, origin_x, origin_y); } /*! \brief Print PATH to Postscript document. * \par Function Description * This function prints the path described by the o_current * parameter to a Postscript document. * The Postscript document is descibed by the file pointer fp. * * \param [in] toplevel The TOPLEVEL object. * \param [in] fp FILE pointer to Postscript document. * \param [in] o_current PATH OBJECT to write to document. * \param [in] origin_x Page x coordinate to place PATH OBJECT. * \param [in] origin_y Page y coordinate to place PATH OBJECT. */ void o_path_print(TOPLEVEL *toplevel, FILE *fp, OBJECT *o_current, int origin_x, int origin_y) { int line_width, length, space; int fill_width, angle1, pitch1, angle2, pitch2; DRAW_FUNC outl_func = NULL; FILL_FUNC fill_func = NULL; /*! \note * Depending on the type of the line for this particular path, the * appropriate function is chosen among #o_path_print_solid(), * #o_path_print_dotted(), #o_path_print_dashed(), * #o_path_print_center() and #o_path_print_phantom(). * * The needed parameters for each of these type is extracted from the * o_current object. Depending on the type, unused parameters are * set to -1. * * In the eventuality of a length and/or space null, the line is printed * solid to avoid and endless loop produced by other functions in such a * case. */ line_width = o_current->line_width; if (line_width <= 2) { if (toplevel->line_style == THICK) { line_width = LINE_WIDTH; } else { line_width=2; } } length = o_current->line_length; space = o_current->line_space; switch(o_current->line_type) { case TYPE_SOLID: length = -1; space = -1; outl_func = o_path_print_solid; break; case TYPE_DOTTED: length = -1; outl_func = o_path_print_dotted; break; case TYPE_DASHED: outl_func = o_path_print_dashed; break; case TYPE_CENTER: outl_func = o_path_print_center; break; case TYPE_PHANTOM: outl_func = o_path_print_phantom; break; case TYPE_ERASE: /* Unused for now, print it solid */ length = -1; space = -1; outl_func = o_path_print_solid; break; } if((length == 0) || (space == 0)) { length = -1; space = -1; outl_func = o_path_print_solid; } f_print_set_color (toplevel, fp, o_current->color); f_print_set_line_width (fp, line_width); (*outl_func) (toplevel, fp, o_current->path, line_width, length, space, origin_x, origin_y); /*! \note * If the filling type of the path is not HOLLOW, the appropriate * function is chosen among #o_path_print_filled(), #o_path_print_mesh() * and #o_path_print_hatch(). The corresponding parameters are extracted * from the o_current object and corrected afterward. * * The case where pitch1 and pitch2 are null or negative is * avoided as it leads to an endless loop in most of the called functions. * In such a case, the path is printed filled. Unused parameters for each of * these functions are set to -1 or any passive value. */ if(o_current->fill_type != FILLING_HOLLOW) { fill_width = o_current->fill_width; angle1 = o_current->fill_angle1; pitch1 = o_current->fill_pitch1; angle2 = o_current->fill_angle2; pitch2 = o_current->fill_pitch2; switch(o_current->fill_type) { case FILLING_FILL: angle1 = -1; pitch1 = 1; angle2 = -1; pitch2 = 1; fill_width = -1; fill_func = o_path_print_filled; break; case FILLING_MESH: fill_func = o_path_print_mesh; break; case FILLING_HATCH: angle2 = -1; pitch2 = 1; fill_func = o_path_print_hatch; break; case FILLING_VOID: /* Unused for now, print it filled */ angle1 = -1; pitch1 = 1; angle2 = -1; pitch2 = 1; fill_width = -1; fill_func = o_path_print_filled; break; case FILLING_HOLLOW: /* nop */ break; } if((pitch1 <= 0) || (pitch2 <= 0)) { angle1 = -1; pitch1 = 1; angle2 = -1; pitch2 = 1; fill_func = o_path_print_filled; } (*fill_func) (toplevel, fp, o_current->path, fill_width, angle1, pitch1, angle2, pitch2, origin_x, origin_y); } } /*! \brief Calculates the distance between the given point and the closest * point on the given path segment. * * \param [in] object The path OBJECT. * \param [in] x The x coordinate of the given point. * \param [in] y The y coordinate of the given point. * \param [in] force_solid If true, force treating the object as solid. * \return The shortest distance from the object to the point. With an * invalid parameter, this function returns G_MAXDOUBLE. */ double o_path_shortest_distance (OBJECT *object, int x, int y, int force_solid) { int solid; solid = force_solid || object->fill_type != FILLING_HOLLOW; return s_path_shortest_distance (object->path, x, y, solid); } geda-gaf-1.8.2/libgeda/src/o_box_basic.c0000664000175000017500000013166212220647257014711 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! \file o_box_basic.c * \brief functions for the box object */ #include #include #include #include "libgeda_priv.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \brief Create a BOX OBJECT * \par Function Description * This function creates a new object representing a box. * * The box is described by its upper left corner - x1, y1 - and * its lower right corner - x2, y2. * The type parameter must be equal to OBJ_BOX. The color * corresponds to the color the box will be drawn with. * The OBJECT structure is allocated with the #s_basic_new_object() * function. The structure describing the box is allocated and initialized * with the parameters given to the function. * * Both the line type and the filling type are set to default values : solid * line type with a width of 0, and no filling. It can be changed after * with the #o_set_line_options() and #o_set_fill_options(). * * \param [in] toplevel The TOPLEVEL object. * \param [in] type Box type. * \param [in] color Box border color. * \param [in] x1 Upper x coordinate. * \param [in] y1 Upper y coordinate. * \param [in] x2 Lower x coordinate. * \param [in] y2 Lower y coordinate. * \return The new OBJECT */ OBJECT *o_box_new(TOPLEVEL *toplevel, char type, int color, int x1, int y1, int x2, int y2) { OBJECT *new_node; BOX *box; /* create the object */ new_node = s_basic_new_object(type, "box"); new_node->color = color; box = (BOX *) g_malloc(sizeof(BOX)); new_node->box = box; /* describe the box with its upper left and lower right corner */ box->upper_x = x1; box->upper_y = y1; box->lower_x = x2; box->lower_y = y2; /* line type and filling initialized to default */ o_set_line_options(toplevel, new_node, END_NONE, TYPE_SOLID, 0, -1, -1); o_set_fill_options(toplevel, new_node, FILLING_HOLLOW, -1, -1, -1, -1, -1); /* compute the bounding box */ o_box_recalc(toplevel, new_node); return new_node; } /*! \brief Copy a box to a list. * \par Function Description * The function #o_box_copy() creates a verbatim copy of the object * pointed by o_current describing a box. * * \param [in] toplevel The TOPLEVEL object. * \param [in] o_current BOX OBJECT to copy. * \return The new OBJECT */ OBJECT *o_box_copy(TOPLEVEL *toplevel, OBJECT *o_current) { OBJECT *new_obj; /* A new box object is created with #o_box_new(). * Values for its fields are default and need to be modified. */ new_obj = o_box_new (toplevel, OBJ_BOX, o_current->color, 0, 0, 0, 0); /* * The dimensions of the new box are set with the ones of the original box. * The two boxes have the same line type and the same filling options. * * The coordinates and the values in world unit are computed with * #o_box_recalc(). */ new_obj->box->upper_x = o_current->box->upper_x; new_obj->box->upper_y = o_current->box->upper_y; new_obj->box->lower_x = o_current->box->lower_x; new_obj->box->lower_y = o_current->box->lower_y; o_set_line_options(toplevel, new_obj, o_current->line_end, o_current->line_type, o_current->line_width, o_current->line_length, o_current->line_space); o_set_fill_options(toplevel, new_obj, o_current->fill_type, o_current->fill_width, o_current->fill_pitch1, o_current->fill_angle1, o_current->fill_pitch2, o_current->fill_angle2); o_box_recalc(toplevel, new_obj); /* new_obj->attribute = 0;*/ return new_obj; } /*! \brief Modify a BOX OBJECT's coordinates. * \par Function Description * Modifies the coordinates of all four corners of \a box, by setting * the box to the rectangle enclosed by the points (\a x1, \a y1) and * (\a x2, \a y2). * * \param [in] toplevel current #TOPLEVEL. * \param [in,out] object box #OBJECT to be modified. * \param [in] x1 x coordinate of first corner of box. * \param [in] y1 y coordinate of first corner of box. * \param [in] x2 x coordinate of second corner of box. * \param [in] y2 y coordinate of second corner of box, */ void o_box_modify_all (TOPLEVEL *toplevel, OBJECT *object, int x1, int y1, int x2, int y2) { o_emit_pre_change_notify (toplevel, object); object->box->lower_x = (x1 > x2) ? x1 : x2; object->box->lower_y = (y1 > y2) ? y2 : y1; object->box->upper_x = (x1 > x2) ? x2 : x1; object->box->upper_y = (y1 > y2) ? y1 : y2; /* recalculate the world coords and bounds */ o_box_recalc(toplevel, object); o_emit_change_notify (toplevel, object); } /*! \brief Modify a BOX OBJECT's coordinates. * \par Function Description * This function modifies the coordinates of one of the four corner of * the box. The new coordinates of the corner identified by whichone * are given by x and y in world unit. * * The coordinates of the corner is modified in the world coordinate system. * Screen coordinates and boundings are then updated. * * \param [in] toplevel The TOPLEVEL object. * \param [in,out] object BOX OBJECT to be modified. * \param [in] x x coordinate. * \param [in] y y coordinate. * \param [in] whichone coordinate to change. * * \note * whichone can take the following values: *
    *
    *
    BOX_UPPER_LEFT *
    *
    BOX_LOWER_LEFT *
    *
    BOX_UPPER_RIGHT *
    *
    BOX_LOWER_RIGHT *
    */ void o_box_modify(TOPLEVEL *toplevel, OBJECT *object, int x, int y, int whichone) { int tmp; o_emit_pre_change_notify (toplevel, object); /* change the position of the selected corner */ switch(whichone) { case BOX_UPPER_LEFT: object->box->upper_x = x; object->box->upper_y = y; break; case BOX_LOWER_LEFT: object->box->upper_x = x; object->box->lower_y = y; break; case BOX_UPPER_RIGHT: object->box->lower_x = x; object->box->upper_y = y; break; case BOX_LOWER_RIGHT: object->box->lower_x = x; object->box->lower_y = y; break; default: return; } /* need to update the upper left and lower right corners */ if(object->box->upper_x > object->box->lower_x) { tmp = object->box->upper_x; object->box->upper_x = object->box->lower_x; object->box->lower_x = tmp; } if(object->box->upper_y < object->box->lower_y) { tmp = object->box->upper_y; object->box->upper_y = object->box->lower_y; object->box->lower_y = tmp; } /* recalculate the world coords and the boundings */ o_box_recalc(toplevel, object); o_emit_change_notify (toplevel, object); } /*! \brief Create a box from a character string. * \par Function Description * This function gets the description of a box from the *buf character * string. * * Depending on *version, the correct file format is considered. * Currently two file format revisions are supported : *
    *
    *
    the file format used until 20000704 release *
    *
    the file format used for the releases after 2000704. *
    * * \param [in] toplevel The TOPLEVEL object. * \param [in] buf Character string with box description. * \param [in] release_ver libgeda release version number. * \param [in] fileformat_ver libgeda file format version number. * \return The BOX OBJECT that was created, or NULL on error. */ OBJECT *o_box_read (TOPLEVEL *toplevel, const char buf[], unsigned int release_ver, unsigned int fileformat_ver, GError **err) { OBJECT *new_obj; char type; int x1, y1; int width, height; int d_x1, d_y1; int d_x2, d_y2; int color; int box_width, box_space, box_length; int fill_width, angle1, pitch1, angle2, pitch2; int box_end; int box_type; int box_filling; if (release_ver <= VERSION_20000704) { /*! \note * The old geda file format, i.e. releases 20000704 and older, does not * handle the line type and the filling of the box object. They are set * to default. */ if (sscanf (buf, "%c %d %d %d %d %d\n", &type, &x1, &y1, &width, &height, &color) != 6) { g_set_error(err, EDA_ERROR, EDA_ERROR_PARSE, _("Failed to parse box object")); return NULL; } box_width = 0; box_end = END_NONE; box_type = TYPE_SOLID; box_length = -1; box_space = -1; box_filling = FILLING_HOLLOW; fill_width = 0; angle1 = -1; pitch1 = -1; angle2 = -1; pitch2 = -1; } else { /*! \note * The current line format to describe a box is a space separated list of * characters and numbers in plain ASCII on a single line. The meaning of * each item is described in the file format documentation. */ if (sscanf (buf, "%c %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d\n", &type, &x1, &y1, &width, &height, &color, &box_width, &box_end, &box_type, &box_length, &box_space, &box_filling, &fill_width, &angle1, &pitch1, &angle2, &pitch2) != 17) { g_set_error(err, EDA_ERROR, EDA_ERROR_PARSE, _("Failed to parse box object")); return NULL; } } if (width == 0 || height == 0) { s_log_message (_("Found a zero width/height box [ %c %d %d %d %d %d ]\n"), type, x1, y1, width, height, color); } if (color < 0 || color > MAX_COLORS) { s_log_message (_("Found an invalid color [ %s ]\n"), buf); s_log_message (_("Setting color to default color\n")); color = DEFAULT_COLOR; } /*! \note * A box is internally described by its lower right and upper left corner * whereas the line describe it with the lower left corner and the width * and height. * * A new object is allocated, initialized and added to the object list. * Its filling and line type are set according to the values of the field * on the line. */ /* upper left corner of the box */ d_x1 = x1; d_y1 = y1 + height; /* move box origin to top left */ /* lower right corner of the box */ d_x2 = x1 + width; /* end points of the box */ d_y2 = y1; /* create a new box */ new_obj = o_box_new (toplevel, type, color, d_x1, d_y1, d_x2, d_y2); /* set its line options */ o_set_line_options (toplevel, new_obj, box_end, box_type, box_width, box_length, box_space); /* set its fill options */ o_set_fill_options (toplevel, new_obj, box_filling, fill_width, pitch1, angle1, pitch2, angle2); return new_obj; } /*! \brief Create a character string representation of a BOX. * \par Function Description * This function formats a string in the buffer *buff to describe the * box object *object. * It follows the post-20000704 release file format that handle the line type * and fill options. * * \param [in] toplevel The TOPLEVEL structure. * \param [in] object The BOX OBJECT to create string from. * \return A pointer to the BOX character string. * * \warning * Caller must g_free returned character string. */ char *o_box_save(TOPLEVEL *toplevel, OBJECT *object) { int x1, y1; int width, height; int box_width, box_space, box_length; int fill_width, angle1, pitch1, angle2, pitch2; OBJECT_END box_end; OBJECT_TYPE box_type; OBJECT_FILLING box_fill; char *buf; /*! \note * A box is internally represented by its lower right and upper left corner * whereas it is described in the file format as its lower left corner and * its width and height. */ /* calculate the width and height of the box */ width = abs(object->box->lower_x - object->box->upper_x); height = abs(object->box->upper_y - object->box->lower_y); /* calculate the lower left corner of the box */ x1 = object->box->upper_x; y1 = object->box->upper_y - height; /* move the origin to 0, 0*/ #if DEBUG printf("box: %d %d %d %d\n", x1, y1, width, height); #endif /* description of the line type for the outline */ box_end = object->line_end; box_width = object->line_width; box_type = object->line_type; box_length = object->line_length; box_space = object->line_space; /* description of the filling of the box */ box_fill = object->fill_type; fill_width = object->fill_width; angle1 = object->fill_angle1; pitch1 = object->fill_pitch1; angle2 = object->fill_angle2; pitch2 = object->fill_pitch2; buf = g_strdup_printf("%c %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d", object->type, x1, y1, width, height, object->color, box_width, box_end, box_type, box_length, box_space, box_fill, fill_width, angle1, pitch1, angle2, pitch2); return(buf); } /*! \brief Translate a BOX position in WORLD coordinates by a delta. * \par Function Description * This function applies a translation of (x1,y1) to the box * described by *object. x1 and y1 are in world unit. * * \param [in] toplevel The TOPLEVEL object. * \param [in] dx x distance to move. * \param [in] dy y distance to move. * \param [in,out] object BOX OBJECT to translate. */ void o_box_translate_world(TOPLEVEL *toplevel, int dx, int dy, OBJECT *object) { /* Do world coords */ object->box->upper_x = object->box->upper_x + dx; object->box->upper_y = object->box->upper_y + dy; object->box->lower_x = object->box->lower_x + dx; object->box->lower_y = object->box->lower_y + dy; /* recalc the screen coords and the bounding box */ o_box_recalc(toplevel, object); } /*! \brief Rotate BOX OBJECT using WORLD coordinates. * \par Function Description * The function #o_box_rotate_world() rotate the box described by * *object around the (world_centerx, world_centery) point by * angle degrees. * The center of rotation is in world unit. * * \param [in] toplevel The TOPLEVEL object. * \param [in] world_centerx Rotation center x coordinate in WORLD units. * \param [in] world_centery Rotation center y coordinate in WORLD units. * \param [in] angle Rotation angle in degrees (See note below). * \param [in,out] object BOX OBJECT to rotate. * */ void o_box_rotate_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, int angle, OBJECT *object) { int newx1, newy1; int newx2, newy2; /*! \note * Only 90 degree multiple and positive angles are allowed. */ /* angle must be positive */ if(angle < 0) angle = -angle; /* angle must be a 90 multiple or no rotation performed */ if((angle % 90) != 0) return; /*! \note * The center of rotation (world_centerx, world_centery) is * translated to the origin. The rotation of the upper left and lower right * corner are then performed. Finally, the rotated box is translated back * to its previous location. */ /* translate object to origin */ object->box->upper_x -= world_centerx; object->box->upper_y -= world_centery; object->box->lower_x -= world_centerx; object->box->lower_y -= world_centery; /* rotate the upper left corner of the box */ rotate_point_90(object->box->upper_x, object->box->upper_y, angle, &newx1, &newy1); /* rotate the lower left corner of the box */ rotate_point_90(object->box->lower_x, object->box->lower_y, angle, &newx2, &newy2); /* reorder the corners after rotation */ object->box->upper_x = min(newx1,newx2); object->box->upper_y = max(newy1,newy2); object->box->lower_x = max(newx1,newx2); object->box->lower_y = min(newy1,newy2); /* translate object back to normal position */ object->box->upper_x += world_centerx; object->box->upper_y += world_centery; object->box->lower_x += world_centerx; object->box->lower_y += world_centery; /* recalc boundings and world coords */ o_box_recalc(toplevel, object); } /*! \brief Mirror BOX using WORLD coordinates. * \par Function Description * This function mirrors the box from the point * (world_centerx,world_centery) in world unit. * * The box is first translated to the origin, then mirrored and finally * translated back at its previous position. * * \param [in] toplevel The TOPLEVEL object. * \param [in] world_centerx Origin x coordinate in WORLD units. * \param [in] world_centery Origin y coordinate in WORLD units. * \param [in,out] object BOX OBJECT to mirror. */ void o_box_mirror_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, OBJECT *object) { int newx1, newy1; int newx2, newy2; /* translate object to origin */ object->box->upper_x -= world_centerx; object->box->upper_y -= world_centery; object->box->lower_x -= world_centerx; object->box->lower_y -= world_centery; /* mirror the corners */ newx1 = -object->box->upper_x; newy1 = object->box->upper_y; newx2 = -object->box->lower_x; newy2 = object->box->lower_y; /* reorder the corners */ object->box->upper_x = min(newx1,newx2); object->box->upper_y = max(newy1,newy2); object->box->lower_x = max(newx1,newx2); object->box->lower_y = min(newy1,newy2); /* translate back in position */ object->box->upper_x += world_centerx; object->box->upper_y += world_centery; object->box->lower_x += world_centerx; object->box->lower_y += world_centery; /* recalc boundings and world coords */ o_box_recalc(toplevel, object); } /*! \brief Recalculate BOX coordinates in WORLD units. * \par Function Description * This function recalculates the box coordinates and its * bounding are recalculated as well. * * \param [in] toplevel The TOPLEVEL object. * \param [in,out] o_current BOX OBJECT to be recalculated. */ void o_box_recalc(TOPLEVEL *toplevel, OBJECT *o_current) { int left, top, right, bottom; if (o_current->box == NULL) { return; } /* update the bounding box - world unit */ world_get_box_bounds(toplevel, o_current, &left, &top, &right, &bottom); o_current->w_left = left; o_current->w_top = top; o_current->w_right = right; o_current->w_bottom = bottom; o_current->w_bounds_valid = TRUE; } /*! \brief Get BOX bounding rectangle in WORLD coordinates. * \par Function Description * This function sets the left, top, right and bottom * parameters to the boundings of the box object described in *box * in world units. * * \param [in] toplevel The TOPLEVEL object. * \param [in] object BOX OBJECT to read coordinates from. * \param [out] left Left box coordinate in WORLD units. * \param [out] top Top box coordinate in WORLD units. * \param [out] right Right box coordinate in WORLD units. * \param [out] bottom Bottom box coordinate in WORLD units. */ void world_get_box_bounds(TOPLEVEL *toplevel, OBJECT *object, int *left, int *top, int *right, int *bottom) { int halfwidth; halfwidth = object->line_width / 2; *left = min(object->box->upper_x, object->box->lower_x); *top = min(object->box->upper_y, object->box->lower_y); *right = max(object->box->upper_x, object->box->lower_x); *bottom = max(object->box->upper_y, object->box->lower_y); /* This isn't strictly correct, but a 1st order approximation */ *left -= halfwidth; *top -= halfwidth; *right += halfwidth; *bottom += halfwidth; } /*! \brief get the position of the left bottom point * \par Function Description * This function gets the position of the bottom left point of a box object. * * \param [in] toplevel The toplevel environment. * \param [out] x pointer to the x-position * \param [out] y pointer to the y-position * \param [in] object The object to get the position. * \return TRUE if successfully determined the position, FALSE otherwise */ gboolean o_box_get_position (TOPLEVEL *toplevel, gint *x, gint *y, OBJECT *object) { *x = min(object->box->lower_x, object->box->upper_x); *y = min(object->box->lower_y, object->box->upper_y); return TRUE; } /*! \brief Print BOX to Postscript document. * \par Function Description * This function prints the box described by the o_current * parameter to a Postscript document. It takes into account its line * type and fill type. * The Postscript document is descibed by the file pointer fp. * * The validity of the o_current parameter is verified : a null pointer * causes an error message and a return. * * The description of the box is extracted from * the o_current parameter : * the coordinates of the box - upper left corner and width and * height of the box -, its line type, its fill type. * * The outline and the inside of the box are successively handled by two * differend sets of functions. * * \param [in] toplevel The TOPLEVEL object. * \param [in] fp FILE pointer to Postscript document. * \param [in] o_current BOX OBJECT to write to document. * \param [in] origin_x Page x coordinate to place BOX OBJECT. * \param [in] origin_y Page y coordinate to place BOX OBJECT. */ void o_box_print(TOPLEVEL *toplevel, FILE *fp, OBJECT *o_current, int origin_x, int origin_y) { int x, y, width, height; int color; int line_width, length, space; int fill_width, angle1, pitch1, angle2, pitch2; void (*outl_func)() = NULL; void (*fill_func)() = NULL; if (o_current == NULL) { printf("got null in o_box_print\n"); return; } x = o_current->box->upper_x; y = o_current->box->upper_y; width = abs(o_current->box->lower_x - o_current->box->upper_x); height = abs(o_current->box->lower_y - o_current->box->upper_y); color = o_current->color; /*! \note * Depending on the type of the line for this particular box, the * appropriate function is chosen among #o_box_print_solid(), * #o_box_print_dotted(), #o_box_print_dashed(), * #o_box_print_center() and #o_box_print_phantom(). * * The needed parameters for each of these type is extracted from the * o_current object. Depending on the type, unused parameters are * set to -1. * * In the eventuality of a length and/or space null, the line is printed * solid to avoid and endless loop produced by other functions in such a * case. */ line_width = o_current->line_width; if(line_width <=2) { if(toplevel->line_style == THICK) { line_width=LINE_WIDTH; } else { line_width=2; } } length = o_current->line_length; space = o_current->line_space; switch(o_current->line_type) { case(TYPE_SOLID): length = -1; space = -1; outl_func = o_box_print_solid; break; case(TYPE_DOTTED): length = -1; outl_func = o_box_print_dotted; break; case(TYPE_DASHED): outl_func = o_box_print_dashed; break; case(TYPE_CENTER): outl_func = o_box_print_center; break; case(TYPE_PHANTOM): outl_func = o_box_print_phantom; break; case(TYPE_ERASE): /* Unused for now, print it solid */ length = -1; space = -1; outl_func = o_box_print_solid; break; } if((length == 0) || (space == 0)) { length = -1; space = -1; outl_func = o_box_print_solid; } (*outl_func)(toplevel, fp, x, y, width, height, color, line_width, length, space, origin_x, origin_y); /*! \note * If the filling type of the box is not HOLLOW, the appropriate * function is chosen among #o_box_print_filled(), #o_box_print_mesh() * and #o_box_print_hatch(). The corresponding parameters are extracted * from the o_current object and corrected afterward. * * The case where pitch1 and pitch2 are null or negative is * avoided as it leads to an endless loop in most of the called functions. * In such a case, the box is printed filled. Unused parameters for each of * these functions are set to -1 or any passive value. */ if(o_current->fill_type != FILLING_HOLLOW) { fill_width = o_current->fill_width; angle1 = o_current->fill_angle1; pitch1 = o_current->fill_pitch1; angle2 = o_current->fill_angle2; pitch2 = o_current->fill_pitch2; switch(o_current->fill_type) { case(FILLING_FILL): angle1 = -1; pitch1 = 1; angle2 = -1; pitch2 = 1; fill_width = -1; fill_func = o_box_print_filled; break; case(FILLING_MESH): fill_func = o_box_print_mesh; break; case(FILLING_HATCH): angle2 = -1; pitch2 = 1; fill_func = o_box_print_hatch; break; case(FILLING_VOID): /* Unused for now, print it filled */ angle1 = -1; pitch1 = 1; angle2 = -1; pitch2 = 1; fill_width = -1; fill_func = o_box_print_filled; break; case(FILLING_HOLLOW): /* nop */ break; } if((pitch1 <= 0) || (pitch2 <= 0)) { angle1 = -1; pitch1 = 1; angle2 = -1; pitch2 = 1; fill_func = o_box_print_filled; } (*fill_func)(toplevel, fp, x, y, width, height, color, fill_width, angle1, pitch1, angle2, pitch2, origin_x, origin_y); } } /*! \brief Print a solid BOX to Postscript document. * \par Function Description * This function prints the outline of a box when a solid line type is * required. The box is defined by the coordinates of its upper left corner * in (x,y) and its width and height given by the width and * height parameters. * The postscript file is defined by the file pointer fp. * The parameters length and space are ignored. * * It uses the function #o_line_print_solid() to print the outline. * It performs four calls to this function, one for each of its side. * * All dimensions are in mils. * * \param [in] toplevel The TOPLEVEL object. * \param [in] fp FILE pointer to Postscript document. * \param [in] x Upper x coordinate of BOX. * \param [in] y Upper y coordinate of BOX. * \param [in] width Width of BOX. * \param [in] height Height of BOX. * \param [in] color BOX color. * \param [in] line_width BOX Line width. * \param [in] length Dashed line length. * \param [in] space Amount of space between dashes. * \param [in] origin_x Page x coordinate to place BOX OBJECT. * \param [in] origin_y Page y coordinate to place BOX OBJECT. */ void o_box_print_solid(TOPLEVEL *toplevel, FILE *fp, int x, int y, int width, int height, int color, int line_width, int length, int space, int origin_x, int origin_y) { int x1, y1; f_print_set_color(toplevel, fp, color); x1 = x; y1 = y - height; /* move the origin to 0, 0*/ o_line_print_solid(toplevel, fp, x1, y1, x1 + width, y1, color, line_width, length, space, origin_x, origin_y); o_line_print_solid(toplevel, fp, x1 + width, y1, x1 + width, y1 + height, color, line_width, length, space, origin_x, origin_y); o_line_print_solid(toplevel, fp, x1 + width, y1 + height, x1, y1 + height, color, line_width, length, space, origin_x, origin_y); o_line_print_solid(toplevel, fp, x1, y1 + height, x1, y1, color, line_width, length, space, origin_x, origin_y); } /*! \brief Print a dotted BOX to Postscript document. * \par Function Description * This function prints the outline of a box when a dotted line type is * required. The box is defined by the coordinates of its upper left corner * in (x,y) and its width and height given by the width and * height parameters. * The postscript file is defined by the file pointer fp. * The parameters length is ignored. * * It uses the function #o_line_print_dotted() to print the outline. * It performs four calls to this function, one for each of its side. * * All dimensions are in mils. * * \param [in] toplevel The TOPLEVEL object. * \param [in] fp FILE pointer to Postscript document. * \param [in] x Upper x coordinate of BOX. * \param [in] y Upper y coordinate of BOX. * \param [in] width Width of BOX. * \param [in] height Height of BOX. * \param [in] color BOX color. * \param [in] line_width BOX Line width. * \param [in] length Dashed line length. * \param [in] space Amount of space between dashes. * \param [in] origin_x Page x coordinate to place BOX OBJECT. * \param [in] origin_y Page y coordinate to place BOX OBJECT. */ void o_box_print_dotted(TOPLEVEL *toplevel, FILE *fp, int x, int y, int width, int height, int color, int line_width, int length, int space, int origin_x, int origin_y) { int x1, y1; f_print_set_color(toplevel, fp, color); x1 = x; y1 = y - height; /* move the origin to 0, 0*/ o_line_print_dotted(toplevel, fp, x1, y1, x1 + width, y1, color, line_width, length, space, origin_x, origin_y); o_line_print_dotted(toplevel, fp, x1 + width, y1, x1 + width, y1 + height, color, line_width, length, space, origin_x, origin_y); o_line_print_dotted(toplevel, fp, x1 + width, y1 + height, x1, y1 + height, color, line_width, length, space, origin_x, origin_y); o_line_print_dotted(toplevel, fp, x1, y1 + height, x1, y1, color, line_width, length, space, origin_x, origin_y); } /*! \brief Print a dashed BOX to Postscript document. * \par Function Description * This function prints the outline of a box when a dashed line type is * required. The box is defined by the coordinates of its upper left corner * in (x,y) and its width and height given by the width and * height parameters. * The postscript file is defined by the file pointer fp. * * It uses the function #o_line_print_dashed() to print the outline. * It performs four calls to this function, one for each of its side. * * All dimensions are in mils. * * \param [in] toplevel The TOPLEVEL object. * \param [in] fp FILE pointer to Postscript document. * \param [in] x Upper x coordinate of BOX. * \param [in] y Upper y coordinate of BOX. * \param [in] width Width of BOX. * \param [in] height Height of BOX. * \param [in] color BOX color. * \param [in] line_width BOX Line width. * \param [in] length Dashed line length. * \param [in] space Amount of space between dashes. * \param [in] origin_x Page x coordinate to place BOX OBJECT. * \param [in] origin_y Page y coordinate to place BOX OBJECT. */ void o_box_print_dashed(TOPLEVEL *toplevel, FILE *fp, int x, int y, int width, int height, int color, int line_width, int length, int space, int origin_x, int origin_y) { int x1, y1; f_print_set_color(toplevel, fp, color); x1 = x; y1 = y - height; /* move the origin to 0, 0*/ o_line_print_dashed(toplevel, fp, x1, y1, x1 + width, y1, color, line_width, length, space, origin_x, origin_y); o_line_print_dashed(toplevel, fp, x1 + width, y1, x1 + width, y1 + height, color, line_width, length, space, origin_x, origin_y); o_line_print_dashed(toplevel, fp, x1 + width, y1 + height, x1, y1 + height, color, line_width, length, space, origin_x, origin_y); o_line_print_dashed(toplevel, fp, x1, y1 + height, x1, y1, color, line_width, length, space, origin_x, origin_y); } /*! \brief Print centered line type BOX to Postscript document. * \par Function Description * This function prints the outline of a box when a centered line type is * required. The box is defined by the coordinates of its upper left corner * in (x,y) and its width and height given by the width and * height parameters. * The postscript file is defined by the file pointer fp. * * It uses the function #o_line_print_center() to print the outline. * It performs four calls to this function, one for each of its side. * * All dimensions are in mils. * * \param [in] toplevel The TOPLEVEL object. * \param [in] fp FILE pointer to Postscript document. * \param [in] x Upper x coordinate of BOX. * \param [in] y Upper y coordinate of BOX. * \param [in] width Width of BOX. * \param [in] height Height of BOX. * \param [in] color BOX color. * \param [in] line_width BOX Line width. * \param [in] length Dashed line length. * \param [in] space Amount of space between dashes. * \param [in] origin_x Page x coordinate to place BOX OBJECT. * \param [in] origin_y Page y coordinate to place BOX OBJECT. */ void o_box_print_center(TOPLEVEL *toplevel, FILE *fp, int x, int y, int width, int height, int color, int line_width, int length, int space, int origin_x, int origin_y) { int x1, y1; f_print_set_color(toplevel, fp, color); x1 = x; y1 = y - height; /* move the origin to 0, 0*/ o_line_print_center(toplevel, fp, x1, y1, x1 + width, y1, color, line_width, length, space, origin_x, origin_y); o_line_print_center(toplevel, fp, x1 + width, y1, x1 + width, y1 + height, color, line_width, length, space, origin_x, origin_y); o_line_print_center(toplevel, fp, x1 + width, y1 + height, x1, y1 + height, color, line_width, length, space, origin_x, origin_y); o_line_print_center(toplevel, fp, x1, y1 + height, x1, y1, color, line_width, length, space, origin_x, origin_y); } /*! \brief Print phantom line type BOX to Postscript document. * \par Function Description * This function prints the outline of a box when a phantom line type is * required. The box is defined by the coordinates of its upper left corner * in (x,y) and its width and height given by the width and * height parameters. * The postscript file is defined by the file pointer fp. * * It uses the function #o_line_print_phantom() to print the outline. * It performs four calls to this function, one for each of its side. * * All dimensions are in mils. * * \param [in] toplevel The TOPLEVEL object. * \param [in] fp FILE pointer to Postscript document. * \param [in] x Upper x coordinate of BOX. * \param [in] y Upper y coordinate of BOX. * \param [in] width Width of BOX. * \param [in] height Height of BOX. * \param [in] color BOX color. * \param [in] line_width BOX Line width. * \param [in] length Dashed line length. * \param [in] space Amount of space between dashes. * \param [in] origin_x Page x coordinate to place BOX OBJECT. * \param [in] origin_y Page y coordinate to place BOX OBJECT. */ void o_box_print_phantom(TOPLEVEL *toplevel, FILE *fp, int x, int y, int width, int height, int color, int line_width, int length, int space, int origin_x, int origin_y) { int x1, y1; f_print_set_color(toplevel, fp, color); x1 = x; y1 = y - height; /* move the origin to 0, 0*/ o_line_print_phantom(toplevel, fp, x1, y1, x1 + width, y1, color, line_width, length, space, origin_x, origin_y); o_line_print_phantom(toplevel, fp, x1 + width, y1, x1 + width, y1 + height, color, line_width, length, space, origin_x, origin_y); o_line_print_phantom(toplevel, fp, x1 + width, y1 + height, x1, y1 + height, color, line_width, length, space, origin_x, origin_y); o_line_print_phantom(toplevel, fp, x1, y1 + height, x1, y1, color, line_width, length, space, origin_x, origin_y); } /*! \brief Print a solid pattern BOX to Postscript document. * \par Function Description * The function prints a filled box with a solid pattern. No outline is * printed. * The box is defined by the coordinates of its upper left corner in * (x,y) and its width and height given by the width and * height parameters. The postscript file is defined by the file * pointer fp. * fill_width, angle1 and pitch1, angle2 and pitch2 * parameters are ignored in this functions but kept for compatibility * with other fill functions. * * It uses the fbox postscript function defined in the prolog to * specify a filled box. * * All dimensions are in mils. * * \param [in] toplevel The TOPLEVEL object. * \param [in] fp FILE pointer to Postscript document. * \param [in] x Upper x coordinate of BOX. * \param [in] y Upper y coordinate of BOX. * \param [in] width Width of BOX. * \param [in] height Height of BOX. * \param [in] color BOX color. * \param [in] fill_width BOX fill width. (unused). * \param [in] angle1 (unused). * \param [in] pitch1 (unused). * \param [in] angle2 (unused). * \param [in] pitch2 (unused). * \param [in] origin_x Page x coordinate to place BOX OBJECT. * \param [in] origin_y Page y coordinate to place BOX OBJECT. */ void o_box_print_filled(TOPLEVEL *toplevel, FILE *fp, int x, int y, int width, int height, int color, int fill_width, int angle1, int pitch1, int angle2, int pitch2, int origin_x, int origin_y) { int x1, y1; f_print_set_color(toplevel, fp, color); x1 = x; y1 = y-height; /* move the origin to 0, 0*/ fprintf(fp, "%d %d %d %d fbox\n", width, height, x1-origin_x, y1-origin_y); } /*! \brief Print a mesh pattern BOX to Postscript document. * \par Function Description * This function prints a meshed box. No outline is printed. The box is * defined by the coordinates of its upper left corner in (x,y) and * its width and height given by the width and height parameters. * The postscript file is defined by the file pointer fp. * * The inside mesh is achieved by two successive call to the * #o_box_print_hatch() function, given angle1 and pitch1 the first * time and angle2 and pitch2 the second time. * * Negative or null values for pitch1 and/or pitch2 are not allowed * as it leads to an endless loop in #o_box_print_hatch(). * * All dimensions are in mils. * * \param [in] toplevel The TOPLEVEL object. * \param [in] fp FILE pointer to Postscript document. * \param [in] x Upper x coordinate of BOX. * \param [in] y Upper y coordinate of BOX. * \param [in] width Width of BOX. * \param [in] height Height of BOX. * \param [in] color BOX color. * \param [in] fill_width BOX fill width. * \param [in] angle1 1st angle for mesh pattern. * \param [in] pitch1 1st pitch for mesh pattern. * \param [in] angle2 2nd angle for mesh pattern. * \param [in] pitch2 2nd pitch for mesh pattern. * \param [in] origin_x Page x coordinate to place BOX OBJECT. * \param [in] origin_y Page y coordinate to place BOX OBJECT. */ void o_box_print_mesh(TOPLEVEL *toplevel, FILE *fp, int x, int y, int width, int height, int color, int fill_width, int angle1, int pitch1, int angle2, int pitch2, int origin_x, int origin_y) { o_box_print_hatch(toplevel, fp, x, y, width, height, color, fill_width, angle1, pitch1, -1, -1, origin_x, origin_y); o_box_print_hatch(toplevel, fp, x, y, width, height, color, fill_width, angle2, pitch2, -1, -1, origin_x, origin_y); } /*! \brief Print a hatch pattern BOX to Postscript document. * \par Function Description * The function prints a hatched box. No outline is printed. The box is * defined by the coordinates of its upper left corner in (x,y) and * its width and height given by the width and height parameters. * The postscript file is defined by the file pointer fp. * fill_width, angle1, pitch1 parameters define the way the box * has to be hatched. * angle2 and pitch2 parameters are unused but kept for compatibility * with other fill functions. * * Negative or null values for pitch1 are not allowed as it leads to an * endless loop. * * All dimensions are in mils. * * \param [in] toplevel The TOPLEVEL object. * \param [in] fp FILE pointer to Postscript document. * \param [in] x Upper x coordinate of BOX. * \param [in] y Upper y coordinate of BOX. * \param [in] width Width of BOX. * \param [in] height Height of BOX. * \param [in] color BOX color. * \param [in] fill_width BOX fill width. * \param [in] angle1 Angle of hatch pattern. * \param [in] pitch1 Pitch of hatch pattern. * \param [in] angle2 (unused). * \param [in] pitch2 (unused). * \param [in] origin_x Page x coordinate to place BOX OBJECT. * \param [in] origin_y Page y coordinate to place BOX OBJECT. */ void o_box_print_hatch(TOPLEVEL *toplevel, FILE *fp, int x, int y, int width, int height, int color, int fill_width, int angle1, int pitch1, int angle2, int pitch2, int origin_x, int origin_y) { BOX box; gint index; GArray *lines; g_return_if_fail(toplevel != NULL); g_return_if_fail(fp != NULL); f_print_set_color(toplevel, fp, color); /* Avoid printing line widths too small */ if (fill_width <= 1) fill_width = 2; lines = g_array_new(FALSE, FALSE, sizeof(LINE)); box.upper_x = x; box.upper_y = y; box.lower_x = x + width; box.lower_y = y - height; /* Hmmm... */ m_hatch_box(&box, angle1, pitch1, lines); for(index=0; indexlen; index++) { LINE *line = &g_array_index(lines, LINE, index); fprintf(fp,"%d %d %d %d %d line\n", line->x[0], line->y[0], line->x[1], line->y[1], fill_width); } g_array_free(lines, TRUE); } /*! \brief Calculates the distance between the given point and the closest * point on the perimeter of the box. * * \param [in] object The box OBJECT. * \param [in] x The x coordinate of the given point. * \param [in] y The y coordinate of the given point. * \param [in] force_solid If true, force treating the object as solid. * \return The shortest distance from the object to the point. With an * invalid parameter, this function returns G_MAXDOUBLE. */ double o_box_shortest_distance (OBJECT *object, int x, int y, int force_solid) { int solid; g_return_val_if_fail (object->box != NULL, G_MAXDOUBLE); solid = force_solid || object->fill_type != FILLING_HOLLOW; return m_box_shortest_distance (object->box, x, y, solid); } geda-gaf-1.8.2/libgeda/src/scheme_smob.c0000664000175000017500000003261612220647257014725 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library - Scheme API * Copyright (C) 2010-2012 Peter Brett * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA */ /*! * \file scheme_smob.c * \brief Scheme representations of gEDA C structures * * In order for Scheme code to be able to manipulate libgeda data * structures, it is convenient for it to be able to get handles to * several of the different C structures that libgeda uses, in * particular #TOPLEVEL, #PAGE and #OBJECT. * * A particular issue is that, in principle, Guile can stash a * variable somewhere and only try and access it much later, possibly * after the underlying C structure has already been freed. * * In order to avoid this situation causing a segmentation fault, weak * references are used. In the case of #PAGE and #TOPLEVEL handles, * the usage is quite straightforward; Scheme code can never create or * destroy a #TOPLEVEL; and although a #PAGE can be created by Scheme * code, it must explicitly be destroyed if the Scheme code doesn't * want the #PAGE to hang around after it returns. * * #OBJECT handles are a more complex case. It's possible that Scheme * code may legitimately want to create an #OBJECT and do something * with it (or, similarly, pull an #OBJECT out of a #PAGE), without * needing to carefully keep track of the #OBJECT to avoid dropping it * on the floor. In that case, users should be able to rely on the * garbage collector. * * For that reason, an #OBJECT is marked to be destroyed by * garbage-collection in two cases: * * -# If they have been created by Scheme code, but not yet added to a * PAGE. * -# If they have been removed from a #PAGE by Scheme code, but not * yet re-added to a #PAGE. * * \sa weakref.c */ #include #include "libgeda_priv.h" #include "libgedaguile_priv.h" scm_t_bits geda_smob_tag; /*! \brief Weak reference notify function for gEDA smobs. * \par Function Description * Clears a gEDA smob's pointer when the target object is destroyed. */ static void smob_weakref_notify (void *target, void *smob) { SCM s = (SCM) smob; SCM_SET_SMOB_DATA (s, NULL); } /*! \brief Weak reference notify function for double-length gEDA smobs. * \par Function Description * Clears a gEDA smob's second pointer when the target object is * destroyed. * * \see edascm_from_object(). */ static void smob_weakref2_notify (void *target, void *smob) { SCM s = (SCM) smob; SCM_SET_SMOB_DATA_2 (s, NULL); } /*! \brief Free a gEDA smob. * \par Function Description * Finalizes a gEDA smob for deletion, removing the weak reference. * * Used internally to Guile. */ static size_t smob_free (SCM smob) { void *data; /* If the weak reference has already been cleared, do nothing */ if (!EDASCM_SMOB_VALIDP(smob)) return 0; data = (void *) SCM_SMOB_DATA (smob); /* Otherwise, clear the weak reference */ switch (EDASCM_SMOB_TYPE (smob)) { case GEDA_SMOB_TOPLEVEL: s_toplevel_weak_unref ((TOPLEVEL *) data, smob_weakref_notify, smob); break; case GEDA_SMOB_PAGE: s_page_weak_unref ((PAGE *) data, smob_weakref_notify, smob); break; case GEDA_SMOB_OBJECT: /* See edascm_from_object() for an explanation of why OBJECT * smobs store a TOPLEVEL in the second data word */ s_object_weak_unref ((OBJECT *) data, smob_weakref_notify, smob); s_toplevel_weak_unref ((TOPLEVEL *) SCM_SMOB_DATA_2 (smob), smob_weakref2_notify, smob); break; default: /* This should REALLY definitely never be run */ g_critical ("%s: received bad smob flags.", __FUNCTION__); } /* If the smob is marked as garbage-collectable, destroy its * contents. * * Because PAGEs and TOPLEVELs should never be garbage collected, * emit critical warnings if the GC tries to free them. */ if (EDASCM_SMOB_GCP (smob)) { switch (EDASCM_SMOB_TYPE (smob)) { case GEDA_SMOB_TOPLEVEL: g_critical ("%s: Blocked garbage-collection of TOPLEVEL %p", __FUNCTION__, data); break; case GEDA_SMOB_PAGE: g_critical ("%s: Blocked garbage-collection of PAGE %p", __FUNCTION__, data); break; case GEDA_SMOB_OBJECT: /* See edascm_from_object() for an explanation of why OBJECT * smobs store a TOPLEVEL in the second data word */ s_delete_object ((TOPLEVEL *) SCM_SMOB_DATA_2 (smob), (OBJECT *) data); break; default: /* This should REALLY definitely never be run */ g_critical ("%s: received bad smob flags.", __FUNCTION__); } } return 0; } /*! \brief Print a representation of a gEDA smob. * \par Function Description * Outputs a string representing the gEDA \a smob to a Scheme output * \a port. The format used is "#", where TYPE is * a string describing the C structure represented by the gEDA smob. * * Used internally to Guile. */ static int smob_print (SCM smob, SCM port, scm_print_state *pstate) { gchar *hexstring; scm_puts ("#", port); /* Non-zero means success */ return 1; } /*! \brief Check gEDA smobs for equality. * \par Function description * Returns SCM_BOOL_T if \a obj1 represents the same gEDA structure as * \a obj2 does. Otherwise, returns SCM_BOOL_F. * * Used internally to Guile. */ static SCM smob_equalp (SCM obj1, SCM obj2) { EDASCM_ASSERT_SMOB_VALID (obj1); EDASCM_ASSERT_SMOB_VALID (obj2); if (SCM_SMOB_DATA (obj1) == SCM_SMOB_DATA (obj2)) { return SCM_BOOL_T; } else { return SCM_BOOL_F; } } /*! \brief Get the smob for a TOPLEVEL. * \ingroup guile_c_iface * \par Function Description * Create a new smob representing \a toplevel. * * \param toplevel #TOPLEVEL to create a smob for. * \return a smob representing \a toplevel. */ SCM edascm_from_toplevel (TOPLEVEL *toplevel) { SCM smob; SCM_NEWSMOB (smob, geda_smob_tag, toplevel); SCM_SET_SMOB_FLAGS (smob, GEDA_SMOB_TOPLEVEL); /* Set weak reference */ s_toplevel_weak_ref (toplevel, smob_weakref_notify, smob); return smob; } /*! \brief Get a smob for a page. * \ingroup guile_c_iface * \par Function Description * Create a new smob representing \a page. * * \param page #PAGE to create a smob for. * \return a smob representing \a page. */ SCM edascm_from_page (PAGE *page) { SCM smob; SCM_NEWSMOB (smob, geda_smob_tag, page); SCM_SET_SMOB_FLAGS (smob, GEDA_SMOB_PAGE); /* Set weak reference */ s_page_weak_ref (page, smob_weakref_notify, smob); return smob; } /*! \brief Get a page from a smob. * \ingroup guile_c_iface * \par Function Description * Return the #PAGE represented by \a smob. * * \param [in] smob Guile value to retrieve #PAGE from. * \return the #PAGE represented by \a smob. */ PAGE * edascm_to_page (SCM smob) { #ifndef NDEBUG SCM_ASSERT (EDASCM_PAGEP (smob), smob, SCM_ARG1, "edascm_to_page"); #endif EDASCM_ASSERT_SMOB_VALID (smob); return (PAGE *) SCM_SMOB_DATA (smob); } /*! \brief Get a smob for a schematic object. * \ingroup guile_c_iface * \par Function Description * Create a new smob representing \a object. * * \warning The returned smob is initially marked as owned by the C * code. If it should be permitted to be garbage-collected, you * should set the garbage-collectable flag by calling: * * \code * SCM x = edascm_from_object (object); * edascm_c_set_gc (x, 1); * \endcode * * \note We currently have to bake a TOPLEVEL pointer into the smob, * so that if the object becomes garbage-collectable we can obtain a * TOPLEVEL to use for deleting the smob without accessing the * TOPLEVEL fluid and potentially causing a race condition (see bug * 909358). * * \param object #OBJECT to create a smob for. * \return a smob representing \a object. */ SCM edascm_from_object (OBJECT *object) { SCM smob; TOPLEVEL *toplevel = edascm_c_current_toplevel (); SCM_NEWSMOB2 (smob, geda_smob_tag, object, toplevel); SCM_SET_SMOB_FLAGS (smob, GEDA_SMOB_OBJECT); /* Set weak references */ s_object_weak_ref (object, smob_weakref_notify, smob); s_toplevel_weak_ref (toplevel, smob_weakref2_notify, smob); return smob; } /*! \brief Get a schematic object from a smob. * \ingroup guile_c_iface * \par Function Description * Return the #OBJECT represented by \a smob. * * \param [in] smob Guile value to retrieve #OBJECT from. * \return the #OBJECT represented by \a smob. */ OBJECT * edascm_to_object (SCM smob) { #ifndef NDEBUG SCM_ASSERT (EDASCM_OBJECTP (smob), smob, SCM_ARG1, "edascm_to_object"); #endif EDASCM_ASSERT_SMOB_VALID (smob); return (OBJECT *) SCM_SMOB_DATA (smob); } /*! \brief Set whether a gEDA object may be garbage collected. * \ingroup guile_c_iface * \par Function Description * If \a gc is non-zero, allow the structure represented by \a smob to * be destroyed when \a smob is garbage-collected. * * \param [in,out] smob Smob for which to set garbage-collection * permission. * \param [in] gc If non-zero, permit garbage collection. */ void edascm_c_set_gc (SCM smob, int gc) { EDASCM_ASSERT_SMOB_VALID (smob); EDASCM_SMOB_SET_GC (smob, gc); } /*! \brief Test whether a smob is a #OBJECT instance * \ingroup guile_c_iface * \par Function Description * If \a smob is a #OBJECT instance, returns non-zero. Otherwise, * returns zero. * * \param [in] smob Guile value to test. * * \return non-zero iff \a smob is a #OBJECT instance. */ int edascm_is_object (SCM smob) { return EDASCM_OBJECTP (smob); } /*! \brief Test whether a smob is a #PAGE instance * \ingroup guile_c_iface * \par Function Description * If \a smob is a #PAGE instance, returns non-zero. Otherwise, * returns zero. * * \param [in] smob Guile value to test. * * \return non-zero iff \a smob is a #PAGE instance. */ int edascm_is_page (SCM smob) { return EDASCM_PAGEP (smob); } /*! \brief Test whether a smob is a #PAGE instance. * \par Function Description * If \a page_smob is a #PAGE instance, returns \b SCM_BOOL_T; * otherwise returns \b SCM_BOOL_F. * * \note Scheme API: Implements the %page? procedure in the (geda * core smob) module. * * \param [in] page_smob Guile value to test. * * \return SCM_BOOL_T iff \a page_smob is a #PAGE instance. */ SCM_DEFINE (page_p, "%page?", 1, 0, 0, (SCM page_smob), "Test whether the value is a gEDA PAGE instance.") { return (EDASCM_PAGEP (page_smob) ? SCM_BOOL_T : SCM_BOOL_F); } /*! \brief Test whether a smob is an #OBJECT instance. * \par Function Description * If \a object_smob is an #OBJECT instance, returns \b SCM_BOOL_T; * otherwise returns \b SCM_BOOL_F. * * \note Scheme API: Implements the %object? procedure in the (geda * core smob) module. * * \param [in] object_smob Guile value to test. * * \return SCM_BOOL_T iff \a object_smob is an #OBJECT instance. */ SCM_DEFINE (object_p, "%object?", 1, 0, 0, (SCM object_smob), "Test whether the value is a gEDA OBJECT instance.") { return (EDASCM_OBJECTP (object_smob) ? SCM_BOOL_T : SCM_BOOL_F); } /*! * \brief Create the (geda core smob) Scheme module. * \par Function Description * Defines procedures in the (geda core smob) module. The module can * be accessed using (use-modules (geda core smob)). */ static void init_module_geda_core_smob () { /* Register the functions. */ #include "scheme_smob.x" /* Add them to the module's public definitions. */ scm_c_export (s_page_p, s_object_p, NULL); } /*! * \brief Initialise the basic gEDA smob types. * \par Function Description * Registers the gEDA core smob types and some procedures acting on * them. gEDA only uses a single Guile smob, and uses the flags field * to multiplex the several different underlying C structures that may * be represented by that smob. Should only be called by * edascm_init(). */ void edascm_init_smob () { /* Register gEDA smob type */ geda_smob_tag = scm_make_smob_type ("geda", 0); scm_set_smob_free (geda_smob_tag, smob_free); scm_set_smob_print (geda_smob_tag, smob_print); scm_set_smob_equalp (geda_smob_tag, smob_equalp); /* Define the (geda core smob) module */ scm_c_define_module ("geda core smob", init_module_geda_core_smob, NULL); } geda-gaf-1.8.2/libgeda/src/s_tile.c0000664000175000017500000003400312207374140013701 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #ifdef HAVE_STDLIB_H #include #endif #include #include #include "libgeda_priv.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \file s_tile.c * \brief Splits a page into tiles * * With the tiles a page (st_page) is splitted into several smaller areas. * The number of tiles is defined by MAX_TILES_X and MAX_TILES_Y. * * Each TILE (st_tile) can contain zero to many OBJECTS * (st_object) and each OBJECT can be in one or more TILES. * * The usage of tiles makes it easier to find geometrical connections between * the line objects (OBJ_NET, OBJ_PIN, OBJ_BUS). * * \image html s_tile_overview.png * \image latex s_tile_overview.pdf "Tile overview" width=14cm */ /*! \brief initialize the array of tiles * \par Function Description * This function splits the page size into tiles and initializes * every tile. * \param toplevel TOPLEVEL structure * \param p_current The page that gets the tiles. */ void s_tile_init(TOPLEVEL * toplevel, PAGE * p_current) { int i, j; TILE *t_current; int x_size = toplevel->init_right / MAX_TILES_X; int y_size = toplevel->init_bottom / MAX_TILES_Y; int x_sum = 0; int y_sum = 0; #if DEBUG printf("X, Y: %d %d\n", x_size, y_size); #endif for (j = 0; j < MAX_TILES_Y; j++) { for (i = 0; i < MAX_TILES_X; i++) { t_current = &p_current->world_tiles[i][j]; t_current->objects = NULL; t_current->left = x_sum; t_current->right = x_sum + x_size; t_current->top = y_sum; t_current->bottom = y_sum + y_size; x_sum = x_sum + x_size; } x_sum = 0; y_sum = y_sum + y_size; } #if DEBUG for (j = 0; j < MAX_TILES_Y; j++) { for (i = 0; i < MAX_TILES_X; i++) { t_current = &p_current->world_tiles[i][j]; printf("\n%d %d\n", i, j); printf("----------------\n"); printf("left %d top %d\n", t_current->left, t_current->top); printf("right %d bottom %d\n", t_current->right, t_current->bottom); } } #endif } /*! \brief add a line object to the tiles * \par Function Description * This function takes a single line object and adds it to * every tile that is touched by the line. * It also adds all tiles that are touched by the object to * the objects tile list. * \param toplevel The TOPLEVEL structure * \param object The line OBJECT to add */ static void s_tile_add_line_object (TOPLEVEL *toplevel, OBJECT *object) { TILE *t_current; PAGE *p_current; GList *found; int i, j; int v, w; double x1, y1, x2, y2; double bottom; double m, b; double x_size, y_size; double x, y; int start, end; #if DEBUG printf("name: %s\n", object->name); #endif g_return_if_fail (object != NULL); g_return_if_fail (object->line != NULL); p_current = o_get_page (toplevel, object); if (p_current == NULL) { return; } x_size = (double) toplevel->init_right / (double) MAX_TILES_X; y_size = (double) toplevel->init_bottom / (double) MAX_TILES_Y; x1 = (int) (object->line->x[0] / x_size); x2 = (int) (object->line->x[1] / x_size); y1 = (int) (object->line->y[0] / y_size); y2 = (int) (object->line->y[1] / y_size); bottom = x2 - x1; if (bottom != 0.0) { m = (double) (y2 - y1) / bottom; b = y1 - m * x1; start = min((int) x1, (int) x2); end = max((int) x1, (int) x2); for (i = start; i <= end; i++) { x = i; y = m * x + b; if (floor(y) != ceil(y)) { v = (int) x; w = (int) floor(y); if (v < 0 || w < 0 || v > MAX_TILES_X-1 || w > MAX_TILES_Y-1) { return; } /* g_assert(v < MAX_TILES_X && w < MAX_TILES_Y && v >= 0 && w >= 0); */ t_current = &p_current->world_tiles[v][w]; found = g_list_find(t_current->objects, object); if (!found) { /*printf("%d %d\n", v, w);*/ t_current->objects = g_list_append(t_current->objects, object); object->tiles = g_list_append(object->tiles, t_current); } v = (int) x; w = (int) ceil(y); if (v < 0 || w < 0 || v > MAX_TILES_X-1 || w > MAX_TILES_Y-1) { return; } /*g_assert(v < MAX_TILES_X && w < MAX_TILES_Y && v >= 0 && w >= 0);*/ t_current = &p_current->world_tiles[v][w]; found = g_list_find(t_current->objects, object); if (!found) { /*printf("%d %d\n", v, w);*/ t_current->objects = g_list_append(t_current->objects, object); object->tiles = g_list_append(object->tiles, t_current); } } else { v = (int) x; w = (int) floor(y); if (v < 0 || w < 0 || v > MAX_TILES_X-1 || w > MAX_TILES_Y-1) { return; } /*g_assert(v < MAX_TILES_X && w < MAX_TILES_Y && v >= 0 && w >= 0);*/ t_current = &p_current->world_tiles[v][w]; found = g_list_find(t_current->objects, object); if (!found) { /*printf("%d %d\n", v, w);*/ t_current->objects = g_list_append(t_current->objects, object); object->tiles = g_list_append(object->tiles, t_current); } } } if (m != 0.0) { start = min((int) y1, (int) y2); end = max((int) y1, (int) y2); for (j = start; j <= end; j++) { y = j; x = (y - b) / m; if (floor(x) != ceil(x)) { w = (int) y; v = (int) floor(x); if (v < 0 || w < 0 || v > MAX_TILES_X-1 || w > MAX_TILES_Y-1) { return; } /*g_assert(v < MAX_TILES_X && w < MAX_TILES_Y && v >= 0 && w >= 0);*/ t_current = &p_current->world_tiles[v][w]; found = g_list_find(t_current->objects, object); if (!found) { /*printf("%d %d\n", v, w);*/ t_current->objects = g_list_append(t_current->objects, object); object->tiles = g_list_append(object->tiles, t_current); } w = (int) y; v = (int) ceil(x); if (v < 0 || w < 0 || v > MAX_TILES_X-1 || w > MAX_TILES_Y-1) { return; } /* g_assert(v < MAX_TILES_X && w < MAX_TILES_Y && v >= 0 && w >= 0);*/ t_current = &p_current->world_tiles[v][w]; found = g_list_find(t_current->objects, object); if (!found) { /*printf("%d %d\n", v, w);*/ t_current->objects = g_list_append(t_current->objects, object); object->tiles = g_list_append(object->tiles, t_current); } } else { w = (int) y; v = (int) floor(x); if (v < 0 || w < 0 || v > MAX_TILES_X-1 || w > MAX_TILES_Y-1) { return; } /*g_assert(v < MAX_TILES_X && w < MAX_TILES_Y && v >= 0 && w >= 0);*/ t_current = &p_current->world_tiles[v][w]; found = g_list_find(t_current->objects, object); if (!found) { /*printf("%d %d\n", v, w);*/ t_current->objects = g_list_append(t_current->objects, object); object->tiles = g_list_append(object->tiles, t_current); } } } } } else { start = min((int) y1, (int) y2); end = max((int) y1, (int) y2); for (j = start; j <= end; j++) { y = j; x = x1; v = (int) x; w = (int) y; if (v < 0 || w < 0 || v > MAX_TILES_X-1 || w > MAX_TILES_Y-1) { return; } /*g_assert(v < MAX_TILES_X && w < MAX_TILES_Y && v >= 0 && w >= 0);*/ t_current = &p_current->world_tiles[v][w]; found = g_list_find(t_current->objects, object); if (!found) { /*printf("%d %d\n", v, w);*/ t_current->objects = g_list_append(t_current->objects, object); object->tiles = g_list_append(object->tiles, t_current); } } } } /*! \brief add an object to the tile ssytem * \par Function Description * This function takes dispatches the object to the correct * function, depending on its type. * * \param toplevel The TOPLEVEL structure * \param object The line OBJECT to add */ void s_tile_add_object (TOPLEVEL *toplevel, OBJECT *object) { GList *iter; switch (object->type) { case OBJ_NET: case OBJ_PIN: case OBJ_BUS: s_tile_add_line_object (toplevel, object); break; case OBJ_COMPLEX: case OBJ_PLACEHOLDER: for (iter = object->complex->prim_objs; iter != NULL; iter = g_list_next (iter)) { s_tile_add_object (toplevel, iter->data); } } } /*! \brief remove an object from the tiles * \par Function Description * This function remose an object from all tiles that are refered by the object. * It also removes the object from each tile that contained the object. * \param object The object to remove */ void s_tile_remove_object(OBJECT *object) { GList *iter; GList *tl_current; /* Correctly deal with compound objects */ if (object->type == OBJ_COMPLEX || object->type == OBJ_PLACEHOLDER) { for (iter = object->complex->prim_objs; iter != NULL; iter = g_list_next (iter)) { s_tile_remove_object (iter->data); } } for (tl_current = object->tiles; tl_current != NULL; tl_current = g_list_next (tl_current)) { TILE *t_current = (TILE*)tl_current->data; /* remove object from the list of objects for this tile */ t_current->objects = g_list_remove(t_current->objects, object); } /* reset the list of tiles for this object appears in */ g_list_free(object->tiles); object->tiles = NULL; } /*! \brief update the tile informations of an object * \par Function Description * This function updates the tile informations of an object. * This function can be used if an object has been moved on the page * \param toplevel The TOPLEVEL structure * \param object The OBJECT to update */ void s_tile_update_object(TOPLEVEL * toplevel, OBJECT * object) { s_tile_remove_object (object); s_tile_add_object (toplevel, object); } /*! \brief get a list of object lists of all tiles inside a region * \par Function Description * This functions collects all object lists of the tiles that are touched * by the given rectangle (x1,y1), (x2,y2). * \note The caller has to g_list_free() the returned list. */ GList* s_tile_get_objectlists(TOPLEVEL *toplevel, PAGE *p_current, int world_x1, int world_y1, int world_x2, int world_y2) { TILE *t_current; int x1, x2, y1, y2, x, y; double x_size, y_size; GList *objectlists = NULL; x_size = (double) toplevel->init_right / (double) MAX_TILES_X; y_size = (double) toplevel->init_bottom / (double) MAX_TILES_Y; x1 = (int) (world_x1 / x_size); x2 = (int) (world_x2 / x_size); y1 = (int) (world_y1 / y_size); y2 = (int) (world_y2 / y_size); /* limit all tile ranges to [0, MAX_TILES-1] (paranoid error checking) */ x1= max(x1, 0); x1 = min(x1, MAX_TILES_X-1); x2= max(x2, 0); x2 = min(x2, MAX_TILES_X-1); y1= max(y1, 0); y1 = min(y1, MAX_TILES_Y-1); y2= max(y2, 0); y2 = min(y2, MAX_TILES_Y-1); /* Check and correct the order of the coordinates */ if (x1 > x2) { x = x1; x1 = x2; x2 = x; } if (y1 > y2) { y = y1; y1 = y2; y2 = y; } /* finally, collect all object lists from the tiles */ for (x = x1; x <= x2; x++) { for (y = y1; y <= y2; y++) { t_current = &p_current->world_tiles[x][y]; objectlists = g_list_append(objectlists, t_current->objects); } } return objectlists; } /*! \brief print all objects for each tile * \par Function Description * Debugging function to print all object names that are inside * the tiles. */ void s_tile_print(TOPLEVEL * toplevel, PAGE *page) { TILE *t_current; GList *temp; OBJECT *o_current; int i, j; for (j = 0; j < MAX_TILES_Y; j++) { for (i = 0; i < MAX_TILES_X; i++) { printf("\nTile %d %d\n", i, j); t_current = &page->world_tiles[i][j]; temp = t_current->objects; while (temp) { o_current = (OBJECT *) temp->data; printf("%s\n", o_current->name); temp = g_list_next(temp); } printf("------------------\n"); } } } /*! \brief free all object links from the tiles * \par Function Description * This function removes all objects from the tiles of the given \a page. * * \param [in] p_current The PAGE to clean up the tiles * \note In theory, calling this function is not required. If all objects * have been removed from a page, all object lists of the tiles should be empty. */ void s_tile_free_all(PAGE * p_current) { int i, j; TILE *t_current; for (j = 0; j < MAX_TILES_Y; j++) { for (i = 0; i < MAX_TILES_X; i++) { t_current = &p_current->world_tiles[i][j]; if (g_list_length(t_current->objects) != 0) { fprintf(stderr, "OOPS! t_current->objects had something in it when it was freed!\n"); fprintf(stderr, "Length: %d\n", g_list_length(t_current->objects)); } g_list_free(t_current->objects); } } } geda-gaf-1.8.2/libgeda/src/scheme_page.c0000664000175000017500000003571412220647257014703 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library - Scheme API * Copyright (C) 2010 Peter Brett * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA */ /*! * \file scheme_page.c * \brief Scheme API page manipulation procedures. */ #include #include "libgeda_priv.h" #include "libgedaguile_priv.h" SCM_SYMBOL (edascm_string_format_sym , "string-format"); /*! \brief Get a of open pages. * \par Function Description * Retrieves a Scheme list of currently-opened pages. * * \note Scheme API: Implements the %active-pages procedure of the * (geda core page) module. * * \return a Scheme list of #PAGE smobs. */ SCM_DEFINE (active_pages, "%active-pages", 0, 0, 0, (), "Retrieve a list of currently-opened pages") { TOPLEVEL *toplevel = edascm_c_current_toplevel (); SCM lst = SCM_EOL; SCM rlst; GList *page_list = geda_list_get_glist (toplevel->pages); while (page_list != NULL) { lst = scm_cons (edascm_from_page (page_list->data), lst); page_list = g_list_next (page_list); } rlst = scm_reverse (lst); scm_remember_upto_here_1 (lst); return rlst; } /*! \brief Create a new page. * \par Function Description * Creates and initialises a new #PAGE structure associated with the * filename \a filename_s. Note that this does not check that a file * exists with that name, or attempt to load any data from it. * * \note Scheme API: Implements the %new-page procedure of the (geda * core page) module. * * \return a newly-created #PAGE smob. */ SCM_DEFINE (new_page, "%new-page", 1, 0, 0, (SCM filename_s), "Create a new page") { TOPLEVEL *toplevel = edascm_c_current_toplevel (); char *filename; PAGE *page; /* Ensure that the argument is a string */ SCM_ASSERT (scm_is_string (filename_s), filename_s, SCM_ARG1, s_new_page); filename = scm_to_utf8_string (filename_s); page = s_page_new (toplevel, filename); g_free (filename); return edascm_from_page (page); } /*! \brief Close a page * \par Function Description * Destroys the #PAGE structure \a page_s, freeing all of its * resources. Attempting to use \a page_s after calling this function * will cause an error. * * \note Scheme API: Implements the %close-page procedure of the (geda * core page) module. * * \param page_s The page to close. * \return SCM_UNDEFINED. */ SCM_DEFINE (close_page_x, "%close-page!", 1, 0, 0, (SCM page_s), "Close a page.") { /* Ensure that the argument is a page smob */ SCM_ASSERT (EDASCM_PAGEP (page_s), page_s, SCM_ARG1, s_close_page_x); TOPLEVEL *toplevel = edascm_c_current_toplevel (); PAGE *page = edascm_to_page (page_s); s_page_delete (toplevel, page); return SCM_UNDEFINED; } /*! \brief Get the filename associated with a page. * \par Function Description * Retrieves the filename associated with the #PAGE smob \a page_s. * * \note Scheme API: Implements the %page-filename procedure of the * (geda core page) module. * * \return a Scheme string containing the page filename. */ SCM_DEFINE (page_filename, "%page-filename", 1, 0, 0, (SCM page_s), "Get a page's associated filename") { PAGE *page; /* Ensure that the argument is a page smob */ SCM_ASSERT (EDASCM_PAGEP (page_s), page_s, SCM_ARG1, s_page_filename); page = edascm_to_page (page_s); return scm_from_utf8_string (page->page_filename); } /*! \brief Change the filename associated with a page. * \par Function Description * Sets the filename associated with the #PAGE smob \a page_s. * * \note Scheme API: Implements the %set-page-filename! procedure of * the (geda core page) module. * * \param page_s page to set filename for. * \param filename_s new filename for \a page. * \return \a page. */ SCM_DEFINE (set_page_filename_x, "%set-page-filename!", 2, 0, 0, (SCM page_s, SCM filename_s), "Set a page's associated filename") { SCM_ASSERT (EDASCM_PAGEP (page_s), page_s, SCM_ARG1, s_set_page_filename_x); SCM_ASSERT (scm_is_string (filename_s), filename_s, SCM_ARG2, s_set_page_filename_x); PAGE *page = edascm_to_page (page_s); char *new_fn = scm_to_utf8_string (filename_s); if (page->page_filename != NULL) { g_free (page->page_filename); } page->page_filename = g_strdup (new_fn); free (new_fn); return page_s; } /*! \brief Get a list of objects in a page. * \par Function Description * Retrieves the contents of a the #PAGE smob \a page_s as a Scheme * list of #OBJECT smobs. * * \note Scheme API: Implements the %page-contents procedure of the * (geda core page) module. * * \return a list of #OBJECT smobs. */ SCM_DEFINE (page_contents, "%page-contents", 1, 0, 0, (SCM page_s), "Get a page's contents.") { PAGE *page; /* Ensure that the argument is a page smob */ SCM_ASSERT (EDASCM_PAGEP (page_s), page_s, SCM_ARG1, s_page_contents); page = edascm_to_page (page_s); return edascm_from_object_glist (s_page_objects (page)); } /*! \brief Get the page an object belongs to. * \par Function Description * Returns a smob for the #PAGE that \a obj_s belongs to. If \a obj_s * does not belong to a #PAGE, returns SCM_BOOL_F. * * \note Scheme API: Implements the %object-page procedure in the * (geda core page) module. * * \param [in] obj_s an #OBJECT smob. * \return a #PAGE smob or SCM_BOOL_F. */ SCM_DEFINE (object_page, "%object-page", 1, 0, 0, (SCM obj_s), "Get the page that an object smob belongs to") { SCM_ASSERT (EDASCM_OBJECTP (obj_s), obj_s, SCM_ARG1, s_object_page); PAGE *page = o_get_page (edascm_c_current_toplevel (), edascm_to_object (obj_s)); if (page != NULL) { return edascm_from_page (page); } else { return SCM_BOOL_F; } } /*! \brief Add an object to a page. * \par Function Description * Adds \a obj_s to \a page_s. If \a obj_s is already attached to a * #PAGE or to a complex #OBJECT, throws a Scheme error. * * \note Scheme API: Implements the %page-append! procedure of the * (geda core page) module. * * \return \a page_s. */ SCM_DEFINE (page_append_x, "%page-append!", 2, 0, 0, (SCM page_s, SCM obj_s), "Add an object to a page.") { /* Ensure that the arguments have the correct types. */ SCM_ASSERT (EDASCM_PAGEP (page_s), page_s, SCM_ARG1, s_page_append_x); SCM_ASSERT (EDASCM_OBJECTP (obj_s), obj_s, SCM_ARG2, s_page_append_x); PAGE *page = edascm_to_page (page_s); OBJECT *obj = edascm_to_object (obj_s); TOPLEVEL *toplevel = edascm_c_current_toplevel (); /* Check that the object isn't already attached to something. */ PAGE *curr_page = o_get_page (toplevel, obj); if (((curr_page != NULL) && (curr_page != page)) || (obj->parent != NULL)) { scm_error (edascm_object_state_sym, s_page_append_x, _("Object ~A is already attached to something"), scm_list_1 (obj_s), SCM_EOL); } if (curr_page == page) return obj_s; /* Object cleanup now managed by C code. */ edascm_c_set_gc (obj_s, 0); o_emit_pre_change_notify (toplevel, obj); s_page_append (edascm_c_current_toplevel (), page, obj); o_emit_change_notify (toplevel, obj); page->CHANGED = 1; /* Ugh. */ return page_s; } /*! \brief Remove an object from a page. * \par Function Description * Removes \a obj_s from \a page_s. If \a obj_s is attached to a * #PAGE other than \a page_s, or to a complex #OBJECT, throws a * Scheme error. If \a obj_s is not attached to a page, does nothing. * * \note Scheme API: Implements the %page-remove! procedure of the * (geda core page) module. * * \return \a page_s. */ SCM_DEFINE (page_remove_x, "%page-remove!", 2, 0, 0, (SCM page_s, SCM obj_s), "Remove an object from a page.") { /* Ensure that the arguments have the correct types. */ SCM_ASSERT (EDASCM_PAGEP (page_s), page_s, SCM_ARG1, s_page_remove_x); SCM_ASSERT (EDASCM_OBJECTP (obj_s), obj_s, SCM_ARG2, s_page_remove_x); PAGE *page = edascm_to_page (page_s); OBJECT *obj = edascm_to_object (obj_s); TOPLEVEL *toplevel = edascm_c_current_toplevel (); /* Check that the object is not attached to something else. */ PAGE *curr_page = o_get_page (toplevel, obj); if ((curr_page != NULL && curr_page != page) || (obj->parent != NULL)) { scm_error (edascm_object_state_sym, s_page_remove_x, _("Object ~A is attached to a complex or different page"), scm_list_1 (obj_s), SCM_EOL); } /* Check that object is not attached as an attribute. */ if (obj->attached_to != NULL) { scm_error (edascm_object_state_sym, s_page_remove_x, _("Object ~A is attached as an attribute"), scm_list_1 (obj_s), SCM_EOL); } /* Check that object doesn't have attributes. */ if (obj->attribs != NULL) { scm_error (edascm_object_state_sym, s_page_remove_x, _("Object ~A has attributes"), scm_list_1 (obj_s), SCM_EOL); } if (curr_page == NULL) return obj_s; o_emit_pre_change_notify (toplevel, obj); s_page_remove (toplevel, page, obj); page->CHANGED = 1; /* Ugh. */ /* If the object is currently selected, unselect it. */ o_selection_remove (toplevel, page->selection_list, obj); o_emit_change_notify (toplevel, obj); /* Object cleanup now managed by Guile. */ edascm_c_set_gc (obj_s, 1); return page_s; } /*! \brief Check whether a page has been flagged as changed. * \par Function Description * Returns SCM_BOOL_T if \a page_s has been flagged as having been * modified. * * \note Scheme API: Implements the %page-dirty? procedure of the * (geda core page) module. * * \param page_s page to inspect. * \return SCM_BOOL_T if page is dirtied, otherwise SCM_BOOL_F. */ SCM_DEFINE (page_dirty, "%page-dirty?", 1, 0, 0, (SCM page_s), "Check whether a page has been flagged as changed.") { /* Ensure that the argument is a page smob */ SCM_ASSERT (EDASCM_PAGEP (page_s), page_s, SCM_ARG1, s_page_dirty); PAGE *page = edascm_to_page (page_s); return page->CHANGED ? SCM_BOOL_T : SCM_BOOL_F; } /*! \brief Set a page's changed flag. * \par Function Description * If \a flag_s is true, flag \a page_s as having been modified. * Otherwise, clears the change flag. * * \note Scheme API: Implements the %set-page-dirty! procedure of the * (geda core page) module. * * \param page_s page to modify. * \param flag_s new flag setting. * \return \a page_s */ SCM_DEFINE (set_page_dirty_x, "%set-page-dirty!", 2, 0, 0, (SCM page_s, SCM flag_s), "Set whether a page is flagged as changed.") { /* Ensure that the argument is a page smob */ SCM_ASSERT (EDASCM_PAGEP (page_s), page_s, SCM_ARG1, s_set_page_dirty_x); PAGE *page = edascm_to_page (page_s); page->CHANGED = scm_is_true (flag_s); return page_s; } /*! \brief Create a string representation of a page. * \par Function Description * Returns a string representation of the contents of \a page_s. * * \note Scheme API: Implements the %page->string procedure of the * (geda core page) module. * * \param page_s page to convert to a string. * \return a string representation of \a page_s. */ SCM_DEFINE (page_to_string, "%page->string", 1, 0, 0, (SCM page_s), "Create a string representation of a page.") { /* Ensure that the argument is a page smob */ SCM_ASSERT (EDASCM_PAGEP (page_s), page_s, SCM_ARG1, s_page_to_string); PAGE *page = edascm_to_page (page_s); TOPLEVEL *toplevel = edascm_c_current_toplevel (); gchar *buf = o_save_buffer (toplevel, s_page_objects (page)); scm_dynwind_begin (0); scm_dynwind_unwind_handler (g_free, buf, SCM_F_WIND_EXPLICITLY); SCM result = scm_from_utf8_string (buf); scm_dynwind_end (); return result; } /*! \brief Create a page from a string representation. * \par Function Description * Returns a page with filename \a filename_s created by parsing \a * str_s. Throws an error if \a str_s contains invalid gEDA file * format syntax. * * \note Scheme API: Implements the %string->page procedure of the * (geda core page) module. * * \param filename_s Filename for new page. * \param str_s String to parse to create page. * \return a new page created by parsing \a str_s. */ SCM_DEFINE (string_to_page, "%string->page", 2, 0, 0, (SCM filename_s, SCM str_s), "Create a new page from a string.") { /* Ensure that the arguments are strings */ SCM_ASSERT (scm_is_string (filename_s), filename_s, SCM_ARG1, s_string_to_page); SCM_ASSERT (scm_is_string (str_s), str_s, SCM_ARG2, s_string_to_page); TOPLEVEL *toplevel = edascm_c_current_toplevel (); char *filename = scm_to_utf8_string (filename_s); PAGE *page = s_page_new (toplevel, filename); free (filename); size_t len; GError * err = NULL; char *str = scm_to_utf8_stringn (str_s, &len); GList *objects = o_read_buffer (toplevel, NULL, str, len, page->page_filename, &err); free (str); if (err) { SCM error_message = scm_from_utf8_string (err->message); g_error_free(err); scm_error (edascm_string_format_sym, s_string_to_page, _("Parse error: ~s"), scm_list_1 (error_message), SCM_EOL); } s_page_append_list (toplevel, page, objects); return edascm_from_page (page); } /*! * \brief Create the (geda core page) Scheme module. * \par Function Description * Defines procedures in the (geda core page) module. The module can * be accessed using (use-modules (geda core page)). */ static void init_module_geda_core_page () { /* Register the functions */ #include "scheme_page.x" /* Add them to the module's public definitions. */ scm_c_export (s_active_pages, s_new_page, s_close_page_x, s_page_filename, s_set_page_filename_x, s_page_contents, s_object_page, s_page_append_x, s_page_remove_x, s_page_dirty, s_set_page_dirty_x, s_page_to_string, s_string_to_page, NULL); } /*! * \brief Initialise the basic gEDA page manipulation procedures. * \par Function Description * Registers some Scheme procedures for working with #PAGE * smobs. Should only be called by scheme_api_init(). */ void edascm_init_page () { /* Define the (geda core page) module */ scm_c_define_module ("geda core page", init_module_geda_core_page, NULL); } geda-gaf-1.8.2/libgeda/src/Makefile.in0000664000175000017500000031020212220655725014327 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = libgeda/src DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(top_srcdir)/build-tools/depcomp ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(libdir)" LTLIBRARIES = $(lib_LTLIBRARIES) libgeda_la_LIBADD = am__objects_1 = libgeda_la-scheme_init.lo libgeda_la-scheme_smob.lo \ libgeda_la-scheme_toplevel.lo libgeda_la-scheme_object.lo \ libgeda_la-scheme_complex.lo libgeda_la-scheme_os.lo \ libgeda_la-scheme_page.lo libgeda_la-scheme_attrib.lo \ libgeda_la-scheme_deprecated.lo am_libgeda_la_OBJECTS = $(am__objects_1) libgeda_la-a_basic.lo \ libgeda_la-edaerrors.lo libgeda_la-f_basic.lo \ libgeda_la-f_print.lo libgeda_la-g_basic.lo \ libgeda_la-geda_list.lo libgeda_la-g_rc.lo \ libgeda_la-g_register.lo libgeda_la-i_vars.lo \ libgeda_la-libgeda.lo libgeda_la-m_basic.lo \ libgeda_la-m_bounds.lo libgeda_la-m_box.lo \ libgeda_la-m_circle.lo libgeda_la-m_hatch.lo \ libgeda_la-m_line.lo libgeda_la-m_polygon.lo \ libgeda_la-m_transform.lo libgeda_la-o_arc_basic.lo \ libgeda_la-o_attrib.lo libgeda_la-o_basic.lo \ libgeda_la-o_box_basic.lo libgeda_la-o_bus_basic.lo \ libgeda_la-o_circle_basic.lo libgeda_la-o_complex_basic.lo \ libgeda_la-o_embed.lo libgeda_la-o_line_basic.lo \ libgeda_la-o_list.lo libgeda_la-o_net_basic.lo \ libgeda_la-o_path_basic.lo libgeda_la-o_picture.lo \ libgeda_la-o_pin_basic.lo libgeda_la-o_selection.lo \ libgeda_la-o_text_basic.lo libgeda_la-s_attrib.lo \ libgeda_la-s_basic.lo libgeda_la-s_clib.lo \ libgeda_la-s_color.lo libgeda_la-s_conn.lo libgeda_la-s_cue.lo \ libgeda_la-s_encoding.lo libgeda_la-s_hierarchy.lo \ libgeda_la-s_log.lo libgeda_la-s_menu.lo libgeda_la-s_page.lo \ libgeda_la-s_papersizes.lo libgeda_la-s_path.lo \ libgeda_la-s_slib.lo libgeda_la-s_slot.lo \ libgeda_la-s_textbuffer.lo libgeda_la-s_tile.lo \ libgeda_la-s_toplevel.lo libgeda_la-s_undo.lo \ libgeda_la-s_weakref.lo libgeda_la-u_basic.lo libgeda_la_OBJECTS = $(am_libgeda_la_OBJECTS) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent am__v_lt_1 = libgeda_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libgeda_la_CFLAGS) \ $(CFLAGS) $(libgeda_la_LDFLAGS) $(LDFLAGS) -o $@ AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/build-tools/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = $(libgeda_la_SOURCES) DIST_SOURCES = $(libgeda_la_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ --silent LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ # Build a libtool library for installation in libdir. lib_LTLIBRARIES = libgeda.la BUILT_SOURCES = \ scheme_init.x \ scheme_smob.x \ scheme_toplevel.x \ scheme_object.x \ scheme_complex.x \ scheme_page.x \ scheme_attrib.x \ scheme_os.x \ scheme_deprecated.x scheme_api_sources = \ scheme_init.c \ scheme_smob.c \ scheme_toplevel.c \ scheme_object.c \ scheme_complex.c \ scheme_os.c \ scheme_page.c \ scheme_attrib.c \ scheme_deprecated.c libgeda_la_SOURCES = \ $(scheme_api_sources) \ a_basic.c \ edaerrors.c \ f_basic.c \ f_print.c \ g_basic.c \ geda_list.c \ g_rc.c \ g_register.c \ i_vars.c \ libgeda.c \ m_basic.c \ m_bounds.c \ m_box.c \ m_circle.c \ m_hatch.c \ m_line.c \ m_polygon.c \ m_transform.c \ o_arc_basic.c \ o_attrib.c \ o_basic.c \ o_box_basic.c \ o_bus_basic.c \ o_circle_basic.c \ o_complex_basic.c \ o_embed.c \ o_line_basic.c \ o_list.c \ o_net_basic.c \ o_path_basic.c \ o_picture.c \ o_pin_basic.c \ o_selection.c \ o_text_basic.c \ s_attrib.c \ s_basic.c \ s_clib.c \ s_color.c \ s_conn.c \ s_cue.c \ s_encoding.c \ s_hierarchy.c \ s_log.c \ s_menu.c \ s_page.c \ s_papersizes.c \ s_path.c \ s_slib.c \ s_slot.c \ s_textbuffer.c \ s_tile.c \ s_toplevel.c \ s_undo.c \ s_weakref.c \ u_basic.c libgeda_la_CPPFLAGS = -DLOCALEDIR=\"$(localedir)\" $(DATADIR_DEFS) \ -I$(srcdir)/../include -I$(srcdir)/../include/libgeda -I$(top_srcdir) libgeda_la_CFLAGS = \ $(GCC_CFLAGS) $(MINGW_CFLAGS) $(GUILE_CFLAGS) $(GLIB_CFLAGS) \ $(GDK_PIXBUF_CFLAGS) libgeda_la_LDFLAGS = -version-info $(LIBGEDA_SHLIB_VERSION) \ $(WINDOWS_LIBTOOL_FLAGS) $(MINGW_LDFLAGS) $(GUILE_LIBS) \ $(GLIB_LIBS) $(GDK_PIXBUF_LIBS) # This is used to generate boilerplate for defining Scheme functions # in C. SUFFIXES = .x snarf_cpp_opts = $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(libgeda_la_CPPFLAGS) $(AM_CFLAGS) $(libgeda_la_CFLAGS) MOSTLYCLEANFILES = *.log core FILE *~ CLEANFILES = *.log core FILE *~ $(BUILT_SOURCES) DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in # Unfortunately, in order to test libtool thoroughly, we need access # to its private directory. objdir = `sed -n -e 's/^objdir=\"\(.*\)\"$$/\1/p' ./libtool` all: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) all-am .SUFFIXES: .SUFFIXES: .x .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libgeda/src/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu libgeda/src/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-libLTLIBRARIES: $(lib_LTLIBRARIES) @$(NORMAL_INSTALL) @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ list2=; for p in $$list; do \ if test -f $$p; then \ list2="$$list2 $$p"; \ else :; fi; \ done; \ test -z "$$list2" || { \ echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ } uninstall-libLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ for p in $$list; do \ $(am__strip_dir) \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ done clean-libLTLIBRARIES: -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) @list='$(lib_LTLIBRARIES)'; \ locs=`for p in $$list; do echo $$p; done | \ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ sort -u`; \ test -z "$$locs" || { \ echo rm -f $${locs}; \ rm -f $${locs}; \ } libgeda.la: $(libgeda_la_OBJECTS) $(libgeda_la_DEPENDENCIES) $(EXTRA_libgeda_la_DEPENDENCIES) $(AM_V_CCLD)$(libgeda_la_LINK) -rpath $(libdir) $(libgeda_la_OBJECTS) $(libgeda_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-a_basic.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-edaerrors.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-f_basic.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-f_print.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-g_basic.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-g_rc.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-g_register.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-geda_list.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-i_vars.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-libgeda.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-m_basic.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-m_bounds.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-m_box.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-m_circle.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-m_hatch.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-m_line.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-m_polygon.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-m_transform.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-o_arc_basic.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-o_attrib.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-o_basic.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-o_box_basic.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-o_bus_basic.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-o_circle_basic.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-o_complex_basic.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-o_embed.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-o_line_basic.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-o_list.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-o_net_basic.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-o_path_basic.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-o_picture.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-o_pin_basic.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-o_selection.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-o_text_basic.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-s_attrib.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-s_basic.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-s_clib.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-s_color.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-s_conn.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-s_cue.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-s_encoding.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-s_hierarchy.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-s_log.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-s_menu.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-s_page.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-s_papersizes.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-s_path.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-s_slib.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-s_slot.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-s_textbuffer.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-s_tile.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-s_toplevel.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-s_undo.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-s_weakref.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-scheme_attrib.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-scheme_complex.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-scheme_deprecated.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-scheme_init.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-scheme_object.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-scheme_os.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-scheme_page.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-scheme_smob.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-scheme_toplevel.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgeda_la-u_basic.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< libgeda_la-scheme_init.lo: scheme_init.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-scheme_init.lo -MD -MP -MF $(DEPDIR)/libgeda_la-scheme_init.Tpo -c -o libgeda_la-scheme_init.lo `test -f 'scheme_init.c' || echo '$(srcdir)/'`scheme_init.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-scheme_init.Tpo $(DEPDIR)/libgeda_la-scheme_init.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='scheme_init.c' object='libgeda_la-scheme_init.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-scheme_init.lo `test -f 'scheme_init.c' || echo '$(srcdir)/'`scheme_init.c libgeda_la-scheme_smob.lo: scheme_smob.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-scheme_smob.lo -MD -MP -MF $(DEPDIR)/libgeda_la-scheme_smob.Tpo -c -o libgeda_la-scheme_smob.lo `test -f 'scheme_smob.c' || echo '$(srcdir)/'`scheme_smob.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-scheme_smob.Tpo $(DEPDIR)/libgeda_la-scheme_smob.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='scheme_smob.c' object='libgeda_la-scheme_smob.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-scheme_smob.lo `test -f 'scheme_smob.c' || echo '$(srcdir)/'`scheme_smob.c libgeda_la-scheme_toplevel.lo: scheme_toplevel.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-scheme_toplevel.lo -MD -MP -MF $(DEPDIR)/libgeda_la-scheme_toplevel.Tpo -c -o libgeda_la-scheme_toplevel.lo `test -f 'scheme_toplevel.c' || echo '$(srcdir)/'`scheme_toplevel.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-scheme_toplevel.Tpo $(DEPDIR)/libgeda_la-scheme_toplevel.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='scheme_toplevel.c' object='libgeda_la-scheme_toplevel.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-scheme_toplevel.lo `test -f 'scheme_toplevel.c' || echo '$(srcdir)/'`scheme_toplevel.c libgeda_la-scheme_object.lo: scheme_object.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-scheme_object.lo -MD -MP -MF $(DEPDIR)/libgeda_la-scheme_object.Tpo -c -o libgeda_la-scheme_object.lo `test -f 'scheme_object.c' || echo '$(srcdir)/'`scheme_object.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-scheme_object.Tpo $(DEPDIR)/libgeda_la-scheme_object.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='scheme_object.c' object='libgeda_la-scheme_object.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-scheme_object.lo `test -f 'scheme_object.c' || echo '$(srcdir)/'`scheme_object.c libgeda_la-scheme_complex.lo: scheme_complex.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-scheme_complex.lo -MD -MP -MF $(DEPDIR)/libgeda_la-scheme_complex.Tpo -c -o libgeda_la-scheme_complex.lo `test -f 'scheme_complex.c' || echo '$(srcdir)/'`scheme_complex.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-scheme_complex.Tpo $(DEPDIR)/libgeda_la-scheme_complex.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='scheme_complex.c' object='libgeda_la-scheme_complex.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-scheme_complex.lo `test -f 'scheme_complex.c' || echo '$(srcdir)/'`scheme_complex.c libgeda_la-scheme_os.lo: scheme_os.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-scheme_os.lo -MD -MP -MF $(DEPDIR)/libgeda_la-scheme_os.Tpo -c -o libgeda_la-scheme_os.lo `test -f 'scheme_os.c' || echo '$(srcdir)/'`scheme_os.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-scheme_os.Tpo $(DEPDIR)/libgeda_la-scheme_os.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='scheme_os.c' object='libgeda_la-scheme_os.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-scheme_os.lo `test -f 'scheme_os.c' || echo '$(srcdir)/'`scheme_os.c libgeda_la-scheme_page.lo: scheme_page.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-scheme_page.lo -MD -MP -MF $(DEPDIR)/libgeda_la-scheme_page.Tpo -c -o libgeda_la-scheme_page.lo `test -f 'scheme_page.c' || echo '$(srcdir)/'`scheme_page.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-scheme_page.Tpo $(DEPDIR)/libgeda_la-scheme_page.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='scheme_page.c' object='libgeda_la-scheme_page.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-scheme_page.lo `test -f 'scheme_page.c' || echo '$(srcdir)/'`scheme_page.c libgeda_la-scheme_attrib.lo: scheme_attrib.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-scheme_attrib.lo -MD -MP -MF $(DEPDIR)/libgeda_la-scheme_attrib.Tpo -c -o libgeda_la-scheme_attrib.lo `test -f 'scheme_attrib.c' || echo '$(srcdir)/'`scheme_attrib.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-scheme_attrib.Tpo $(DEPDIR)/libgeda_la-scheme_attrib.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='scheme_attrib.c' object='libgeda_la-scheme_attrib.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-scheme_attrib.lo `test -f 'scheme_attrib.c' || echo '$(srcdir)/'`scheme_attrib.c libgeda_la-scheme_deprecated.lo: scheme_deprecated.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-scheme_deprecated.lo -MD -MP -MF $(DEPDIR)/libgeda_la-scheme_deprecated.Tpo -c -o libgeda_la-scheme_deprecated.lo `test -f 'scheme_deprecated.c' || echo '$(srcdir)/'`scheme_deprecated.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-scheme_deprecated.Tpo $(DEPDIR)/libgeda_la-scheme_deprecated.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='scheme_deprecated.c' object='libgeda_la-scheme_deprecated.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-scheme_deprecated.lo `test -f 'scheme_deprecated.c' || echo '$(srcdir)/'`scheme_deprecated.c libgeda_la-a_basic.lo: a_basic.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-a_basic.lo -MD -MP -MF $(DEPDIR)/libgeda_la-a_basic.Tpo -c -o libgeda_la-a_basic.lo `test -f 'a_basic.c' || echo '$(srcdir)/'`a_basic.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-a_basic.Tpo $(DEPDIR)/libgeda_la-a_basic.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='a_basic.c' object='libgeda_la-a_basic.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-a_basic.lo `test -f 'a_basic.c' || echo '$(srcdir)/'`a_basic.c libgeda_la-edaerrors.lo: edaerrors.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-edaerrors.lo -MD -MP -MF $(DEPDIR)/libgeda_la-edaerrors.Tpo -c -o libgeda_la-edaerrors.lo `test -f 'edaerrors.c' || echo '$(srcdir)/'`edaerrors.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-edaerrors.Tpo $(DEPDIR)/libgeda_la-edaerrors.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='edaerrors.c' object='libgeda_la-edaerrors.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-edaerrors.lo `test -f 'edaerrors.c' || echo '$(srcdir)/'`edaerrors.c libgeda_la-f_basic.lo: f_basic.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-f_basic.lo -MD -MP -MF $(DEPDIR)/libgeda_la-f_basic.Tpo -c -o libgeda_la-f_basic.lo `test -f 'f_basic.c' || echo '$(srcdir)/'`f_basic.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-f_basic.Tpo $(DEPDIR)/libgeda_la-f_basic.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='f_basic.c' object='libgeda_la-f_basic.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-f_basic.lo `test -f 'f_basic.c' || echo '$(srcdir)/'`f_basic.c libgeda_la-f_print.lo: f_print.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-f_print.lo -MD -MP -MF $(DEPDIR)/libgeda_la-f_print.Tpo -c -o libgeda_la-f_print.lo `test -f 'f_print.c' || echo '$(srcdir)/'`f_print.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-f_print.Tpo $(DEPDIR)/libgeda_la-f_print.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='f_print.c' object='libgeda_la-f_print.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-f_print.lo `test -f 'f_print.c' || echo '$(srcdir)/'`f_print.c libgeda_la-g_basic.lo: g_basic.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-g_basic.lo -MD -MP -MF $(DEPDIR)/libgeda_la-g_basic.Tpo -c -o libgeda_la-g_basic.lo `test -f 'g_basic.c' || echo '$(srcdir)/'`g_basic.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-g_basic.Tpo $(DEPDIR)/libgeda_la-g_basic.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='g_basic.c' object='libgeda_la-g_basic.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-g_basic.lo `test -f 'g_basic.c' || echo '$(srcdir)/'`g_basic.c libgeda_la-geda_list.lo: geda_list.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-geda_list.lo -MD -MP -MF $(DEPDIR)/libgeda_la-geda_list.Tpo -c -o libgeda_la-geda_list.lo `test -f 'geda_list.c' || echo '$(srcdir)/'`geda_list.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-geda_list.Tpo $(DEPDIR)/libgeda_la-geda_list.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='geda_list.c' object='libgeda_la-geda_list.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-geda_list.lo `test -f 'geda_list.c' || echo '$(srcdir)/'`geda_list.c libgeda_la-g_rc.lo: g_rc.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-g_rc.lo -MD -MP -MF $(DEPDIR)/libgeda_la-g_rc.Tpo -c -o libgeda_la-g_rc.lo `test -f 'g_rc.c' || echo '$(srcdir)/'`g_rc.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-g_rc.Tpo $(DEPDIR)/libgeda_la-g_rc.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='g_rc.c' object='libgeda_la-g_rc.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-g_rc.lo `test -f 'g_rc.c' || echo '$(srcdir)/'`g_rc.c libgeda_la-g_register.lo: g_register.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-g_register.lo -MD -MP -MF $(DEPDIR)/libgeda_la-g_register.Tpo -c -o libgeda_la-g_register.lo `test -f 'g_register.c' || echo '$(srcdir)/'`g_register.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-g_register.Tpo $(DEPDIR)/libgeda_la-g_register.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='g_register.c' object='libgeda_la-g_register.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-g_register.lo `test -f 'g_register.c' || echo '$(srcdir)/'`g_register.c libgeda_la-i_vars.lo: i_vars.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-i_vars.lo -MD -MP -MF $(DEPDIR)/libgeda_la-i_vars.Tpo -c -o libgeda_la-i_vars.lo `test -f 'i_vars.c' || echo '$(srcdir)/'`i_vars.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-i_vars.Tpo $(DEPDIR)/libgeda_la-i_vars.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='i_vars.c' object='libgeda_la-i_vars.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-i_vars.lo `test -f 'i_vars.c' || echo '$(srcdir)/'`i_vars.c libgeda_la-libgeda.lo: libgeda.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-libgeda.lo -MD -MP -MF $(DEPDIR)/libgeda_la-libgeda.Tpo -c -o libgeda_la-libgeda.lo `test -f 'libgeda.c' || echo '$(srcdir)/'`libgeda.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-libgeda.Tpo $(DEPDIR)/libgeda_la-libgeda.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libgeda.c' object='libgeda_la-libgeda.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-libgeda.lo `test -f 'libgeda.c' || echo '$(srcdir)/'`libgeda.c libgeda_la-m_basic.lo: m_basic.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-m_basic.lo -MD -MP -MF $(DEPDIR)/libgeda_la-m_basic.Tpo -c -o libgeda_la-m_basic.lo `test -f 'm_basic.c' || echo '$(srcdir)/'`m_basic.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-m_basic.Tpo $(DEPDIR)/libgeda_la-m_basic.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='m_basic.c' object='libgeda_la-m_basic.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-m_basic.lo `test -f 'm_basic.c' || echo '$(srcdir)/'`m_basic.c libgeda_la-m_bounds.lo: m_bounds.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-m_bounds.lo -MD -MP -MF $(DEPDIR)/libgeda_la-m_bounds.Tpo -c -o libgeda_la-m_bounds.lo `test -f 'm_bounds.c' || echo '$(srcdir)/'`m_bounds.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-m_bounds.Tpo $(DEPDIR)/libgeda_la-m_bounds.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='m_bounds.c' object='libgeda_la-m_bounds.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-m_bounds.lo `test -f 'm_bounds.c' || echo '$(srcdir)/'`m_bounds.c libgeda_la-m_box.lo: m_box.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-m_box.lo -MD -MP -MF $(DEPDIR)/libgeda_la-m_box.Tpo -c -o libgeda_la-m_box.lo `test -f 'm_box.c' || echo '$(srcdir)/'`m_box.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-m_box.Tpo $(DEPDIR)/libgeda_la-m_box.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='m_box.c' object='libgeda_la-m_box.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-m_box.lo `test -f 'm_box.c' || echo '$(srcdir)/'`m_box.c libgeda_la-m_circle.lo: m_circle.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-m_circle.lo -MD -MP -MF $(DEPDIR)/libgeda_la-m_circle.Tpo -c -o libgeda_la-m_circle.lo `test -f 'm_circle.c' || echo '$(srcdir)/'`m_circle.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-m_circle.Tpo $(DEPDIR)/libgeda_la-m_circle.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='m_circle.c' object='libgeda_la-m_circle.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-m_circle.lo `test -f 'm_circle.c' || echo '$(srcdir)/'`m_circle.c libgeda_la-m_hatch.lo: m_hatch.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-m_hatch.lo -MD -MP -MF $(DEPDIR)/libgeda_la-m_hatch.Tpo -c -o libgeda_la-m_hatch.lo `test -f 'm_hatch.c' || echo '$(srcdir)/'`m_hatch.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-m_hatch.Tpo $(DEPDIR)/libgeda_la-m_hatch.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='m_hatch.c' object='libgeda_la-m_hatch.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-m_hatch.lo `test -f 'm_hatch.c' || echo '$(srcdir)/'`m_hatch.c libgeda_la-m_line.lo: m_line.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-m_line.lo -MD -MP -MF $(DEPDIR)/libgeda_la-m_line.Tpo -c -o libgeda_la-m_line.lo `test -f 'm_line.c' || echo '$(srcdir)/'`m_line.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-m_line.Tpo $(DEPDIR)/libgeda_la-m_line.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='m_line.c' object='libgeda_la-m_line.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-m_line.lo `test -f 'm_line.c' || echo '$(srcdir)/'`m_line.c libgeda_la-m_polygon.lo: m_polygon.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-m_polygon.lo -MD -MP -MF $(DEPDIR)/libgeda_la-m_polygon.Tpo -c -o libgeda_la-m_polygon.lo `test -f 'm_polygon.c' || echo '$(srcdir)/'`m_polygon.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-m_polygon.Tpo $(DEPDIR)/libgeda_la-m_polygon.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='m_polygon.c' object='libgeda_la-m_polygon.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-m_polygon.lo `test -f 'm_polygon.c' || echo '$(srcdir)/'`m_polygon.c libgeda_la-m_transform.lo: m_transform.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-m_transform.lo -MD -MP -MF $(DEPDIR)/libgeda_la-m_transform.Tpo -c -o libgeda_la-m_transform.lo `test -f 'm_transform.c' || echo '$(srcdir)/'`m_transform.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-m_transform.Tpo $(DEPDIR)/libgeda_la-m_transform.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='m_transform.c' object='libgeda_la-m_transform.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-m_transform.lo `test -f 'm_transform.c' || echo '$(srcdir)/'`m_transform.c libgeda_la-o_arc_basic.lo: o_arc_basic.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-o_arc_basic.lo -MD -MP -MF $(DEPDIR)/libgeda_la-o_arc_basic.Tpo -c -o libgeda_la-o_arc_basic.lo `test -f 'o_arc_basic.c' || echo '$(srcdir)/'`o_arc_basic.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-o_arc_basic.Tpo $(DEPDIR)/libgeda_la-o_arc_basic.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_arc_basic.c' object='libgeda_la-o_arc_basic.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-o_arc_basic.lo `test -f 'o_arc_basic.c' || echo '$(srcdir)/'`o_arc_basic.c libgeda_la-o_attrib.lo: o_attrib.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-o_attrib.lo -MD -MP -MF $(DEPDIR)/libgeda_la-o_attrib.Tpo -c -o libgeda_la-o_attrib.lo `test -f 'o_attrib.c' || echo '$(srcdir)/'`o_attrib.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-o_attrib.Tpo $(DEPDIR)/libgeda_la-o_attrib.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_attrib.c' object='libgeda_la-o_attrib.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-o_attrib.lo `test -f 'o_attrib.c' || echo '$(srcdir)/'`o_attrib.c libgeda_la-o_basic.lo: o_basic.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-o_basic.lo -MD -MP -MF $(DEPDIR)/libgeda_la-o_basic.Tpo -c -o libgeda_la-o_basic.lo `test -f 'o_basic.c' || echo '$(srcdir)/'`o_basic.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-o_basic.Tpo $(DEPDIR)/libgeda_la-o_basic.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_basic.c' object='libgeda_la-o_basic.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-o_basic.lo `test -f 'o_basic.c' || echo '$(srcdir)/'`o_basic.c libgeda_la-o_box_basic.lo: o_box_basic.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-o_box_basic.lo -MD -MP -MF $(DEPDIR)/libgeda_la-o_box_basic.Tpo -c -o libgeda_la-o_box_basic.lo `test -f 'o_box_basic.c' || echo '$(srcdir)/'`o_box_basic.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-o_box_basic.Tpo $(DEPDIR)/libgeda_la-o_box_basic.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_box_basic.c' object='libgeda_la-o_box_basic.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-o_box_basic.lo `test -f 'o_box_basic.c' || echo '$(srcdir)/'`o_box_basic.c libgeda_la-o_bus_basic.lo: o_bus_basic.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-o_bus_basic.lo -MD -MP -MF $(DEPDIR)/libgeda_la-o_bus_basic.Tpo -c -o libgeda_la-o_bus_basic.lo `test -f 'o_bus_basic.c' || echo '$(srcdir)/'`o_bus_basic.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-o_bus_basic.Tpo $(DEPDIR)/libgeda_la-o_bus_basic.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_bus_basic.c' object='libgeda_la-o_bus_basic.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-o_bus_basic.lo `test -f 'o_bus_basic.c' || echo '$(srcdir)/'`o_bus_basic.c libgeda_la-o_circle_basic.lo: o_circle_basic.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-o_circle_basic.lo -MD -MP -MF $(DEPDIR)/libgeda_la-o_circle_basic.Tpo -c -o libgeda_la-o_circle_basic.lo `test -f 'o_circle_basic.c' || echo '$(srcdir)/'`o_circle_basic.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-o_circle_basic.Tpo $(DEPDIR)/libgeda_la-o_circle_basic.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_circle_basic.c' object='libgeda_la-o_circle_basic.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-o_circle_basic.lo `test -f 'o_circle_basic.c' || echo '$(srcdir)/'`o_circle_basic.c libgeda_la-o_complex_basic.lo: o_complex_basic.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-o_complex_basic.lo -MD -MP -MF $(DEPDIR)/libgeda_la-o_complex_basic.Tpo -c -o libgeda_la-o_complex_basic.lo `test -f 'o_complex_basic.c' || echo '$(srcdir)/'`o_complex_basic.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-o_complex_basic.Tpo $(DEPDIR)/libgeda_la-o_complex_basic.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_complex_basic.c' object='libgeda_la-o_complex_basic.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-o_complex_basic.lo `test -f 'o_complex_basic.c' || echo '$(srcdir)/'`o_complex_basic.c libgeda_la-o_embed.lo: o_embed.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-o_embed.lo -MD -MP -MF $(DEPDIR)/libgeda_la-o_embed.Tpo -c -o libgeda_la-o_embed.lo `test -f 'o_embed.c' || echo '$(srcdir)/'`o_embed.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-o_embed.Tpo $(DEPDIR)/libgeda_la-o_embed.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_embed.c' object='libgeda_la-o_embed.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-o_embed.lo `test -f 'o_embed.c' || echo '$(srcdir)/'`o_embed.c libgeda_la-o_line_basic.lo: o_line_basic.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-o_line_basic.lo -MD -MP -MF $(DEPDIR)/libgeda_la-o_line_basic.Tpo -c -o libgeda_la-o_line_basic.lo `test -f 'o_line_basic.c' || echo '$(srcdir)/'`o_line_basic.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-o_line_basic.Tpo $(DEPDIR)/libgeda_la-o_line_basic.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_line_basic.c' object='libgeda_la-o_line_basic.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-o_line_basic.lo `test -f 'o_line_basic.c' || echo '$(srcdir)/'`o_line_basic.c libgeda_la-o_list.lo: o_list.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-o_list.lo -MD -MP -MF $(DEPDIR)/libgeda_la-o_list.Tpo -c -o libgeda_la-o_list.lo `test -f 'o_list.c' || echo '$(srcdir)/'`o_list.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-o_list.Tpo $(DEPDIR)/libgeda_la-o_list.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_list.c' object='libgeda_la-o_list.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-o_list.lo `test -f 'o_list.c' || echo '$(srcdir)/'`o_list.c libgeda_la-o_net_basic.lo: o_net_basic.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-o_net_basic.lo -MD -MP -MF $(DEPDIR)/libgeda_la-o_net_basic.Tpo -c -o libgeda_la-o_net_basic.lo `test -f 'o_net_basic.c' || echo '$(srcdir)/'`o_net_basic.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-o_net_basic.Tpo $(DEPDIR)/libgeda_la-o_net_basic.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_net_basic.c' object='libgeda_la-o_net_basic.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-o_net_basic.lo `test -f 'o_net_basic.c' || echo '$(srcdir)/'`o_net_basic.c libgeda_la-o_path_basic.lo: o_path_basic.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-o_path_basic.lo -MD -MP -MF $(DEPDIR)/libgeda_la-o_path_basic.Tpo -c -o libgeda_la-o_path_basic.lo `test -f 'o_path_basic.c' || echo '$(srcdir)/'`o_path_basic.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-o_path_basic.Tpo $(DEPDIR)/libgeda_la-o_path_basic.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_path_basic.c' object='libgeda_la-o_path_basic.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-o_path_basic.lo `test -f 'o_path_basic.c' || echo '$(srcdir)/'`o_path_basic.c libgeda_la-o_picture.lo: o_picture.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-o_picture.lo -MD -MP -MF $(DEPDIR)/libgeda_la-o_picture.Tpo -c -o libgeda_la-o_picture.lo `test -f 'o_picture.c' || echo '$(srcdir)/'`o_picture.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-o_picture.Tpo $(DEPDIR)/libgeda_la-o_picture.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_picture.c' object='libgeda_la-o_picture.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-o_picture.lo `test -f 'o_picture.c' || echo '$(srcdir)/'`o_picture.c libgeda_la-o_pin_basic.lo: o_pin_basic.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-o_pin_basic.lo -MD -MP -MF $(DEPDIR)/libgeda_la-o_pin_basic.Tpo -c -o libgeda_la-o_pin_basic.lo `test -f 'o_pin_basic.c' || echo '$(srcdir)/'`o_pin_basic.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-o_pin_basic.Tpo $(DEPDIR)/libgeda_la-o_pin_basic.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_pin_basic.c' object='libgeda_la-o_pin_basic.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-o_pin_basic.lo `test -f 'o_pin_basic.c' || echo '$(srcdir)/'`o_pin_basic.c libgeda_la-o_selection.lo: o_selection.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-o_selection.lo -MD -MP -MF $(DEPDIR)/libgeda_la-o_selection.Tpo -c -o libgeda_la-o_selection.lo `test -f 'o_selection.c' || echo '$(srcdir)/'`o_selection.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-o_selection.Tpo $(DEPDIR)/libgeda_la-o_selection.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_selection.c' object='libgeda_la-o_selection.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-o_selection.lo `test -f 'o_selection.c' || echo '$(srcdir)/'`o_selection.c libgeda_la-o_text_basic.lo: o_text_basic.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-o_text_basic.lo -MD -MP -MF $(DEPDIR)/libgeda_la-o_text_basic.Tpo -c -o libgeda_la-o_text_basic.lo `test -f 'o_text_basic.c' || echo '$(srcdir)/'`o_text_basic.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-o_text_basic.Tpo $(DEPDIR)/libgeda_la-o_text_basic.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_text_basic.c' object='libgeda_la-o_text_basic.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-o_text_basic.lo `test -f 'o_text_basic.c' || echo '$(srcdir)/'`o_text_basic.c libgeda_la-s_attrib.lo: s_attrib.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-s_attrib.lo -MD -MP -MF $(DEPDIR)/libgeda_la-s_attrib.Tpo -c -o libgeda_la-s_attrib.lo `test -f 's_attrib.c' || echo '$(srcdir)/'`s_attrib.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-s_attrib.Tpo $(DEPDIR)/libgeda_la-s_attrib.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_attrib.c' object='libgeda_la-s_attrib.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-s_attrib.lo `test -f 's_attrib.c' || echo '$(srcdir)/'`s_attrib.c libgeda_la-s_basic.lo: s_basic.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-s_basic.lo -MD -MP -MF $(DEPDIR)/libgeda_la-s_basic.Tpo -c -o libgeda_la-s_basic.lo `test -f 's_basic.c' || echo '$(srcdir)/'`s_basic.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-s_basic.Tpo $(DEPDIR)/libgeda_la-s_basic.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_basic.c' object='libgeda_la-s_basic.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-s_basic.lo `test -f 's_basic.c' || echo '$(srcdir)/'`s_basic.c libgeda_la-s_clib.lo: s_clib.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-s_clib.lo -MD -MP -MF $(DEPDIR)/libgeda_la-s_clib.Tpo -c -o libgeda_la-s_clib.lo `test -f 's_clib.c' || echo '$(srcdir)/'`s_clib.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-s_clib.Tpo $(DEPDIR)/libgeda_la-s_clib.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_clib.c' object='libgeda_la-s_clib.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-s_clib.lo `test -f 's_clib.c' || echo '$(srcdir)/'`s_clib.c libgeda_la-s_color.lo: s_color.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-s_color.lo -MD -MP -MF $(DEPDIR)/libgeda_la-s_color.Tpo -c -o libgeda_la-s_color.lo `test -f 's_color.c' || echo '$(srcdir)/'`s_color.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-s_color.Tpo $(DEPDIR)/libgeda_la-s_color.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_color.c' object='libgeda_la-s_color.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-s_color.lo `test -f 's_color.c' || echo '$(srcdir)/'`s_color.c libgeda_la-s_conn.lo: s_conn.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-s_conn.lo -MD -MP -MF $(DEPDIR)/libgeda_la-s_conn.Tpo -c -o libgeda_la-s_conn.lo `test -f 's_conn.c' || echo '$(srcdir)/'`s_conn.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-s_conn.Tpo $(DEPDIR)/libgeda_la-s_conn.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_conn.c' object='libgeda_la-s_conn.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-s_conn.lo `test -f 's_conn.c' || echo '$(srcdir)/'`s_conn.c libgeda_la-s_cue.lo: s_cue.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-s_cue.lo -MD -MP -MF $(DEPDIR)/libgeda_la-s_cue.Tpo -c -o libgeda_la-s_cue.lo `test -f 's_cue.c' || echo '$(srcdir)/'`s_cue.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-s_cue.Tpo $(DEPDIR)/libgeda_la-s_cue.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_cue.c' object='libgeda_la-s_cue.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-s_cue.lo `test -f 's_cue.c' || echo '$(srcdir)/'`s_cue.c libgeda_la-s_encoding.lo: s_encoding.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-s_encoding.lo -MD -MP -MF $(DEPDIR)/libgeda_la-s_encoding.Tpo -c -o libgeda_la-s_encoding.lo `test -f 's_encoding.c' || echo '$(srcdir)/'`s_encoding.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-s_encoding.Tpo $(DEPDIR)/libgeda_la-s_encoding.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_encoding.c' object='libgeda_la-s_encoding.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-s_encoding.lo `test -f 's_encoding.c' || echo '$(srcdir)/'`s_encoding.c libgeda_la-s_hierarchy.lo: s_hierarchy.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-s_hierarchy.lo -MD -MP -MF $(DEPDIR)/libgeda_la-s_hierarchy.Tpo -c -o libgeda_la-s_hierarchy.lo `test -f 's_hierarchy.c' || echo '$(srcdir)/'`s_hierarchy.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-s_hierarchy.Tpo $(DEPDIR)/libgeda_la-s_hierarchy.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_hierarchy.c' object='libgeda_la-s_hierarchy.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-s_hierarchy.lo `test -f 's_hierarchy.c' || echo '$(srcdir)/'`s_hierarchy.c libgeda_la-s_log.lo: s_log.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-s_log.lo -MD -MP -MF $(DEPDIR)/libgeda_la-s_log.Tpo -c -o libgeda_la-s_log.lo `test -f 's_log.c' || echo '$(srcdir)/'`s_log.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-s_log.Tpo $(DEPDIR)/libgeda_la-s_log.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_log.c' object='libgeda_la-s_log.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-s_log.lo `test -f 's_log.c' || echo '$(srcdir)/'`s_log.c libgeda_la-s_menu.lo: s_menu.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-s_menu.lo -MD -MP -MF $(DEPDIR)/libgeda_la-s_menu.Tpo -c -o libgeda_la-s_menu.lo `test -f 's_menu.c' || echo '$(srcdir)/'`s_menu.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-s_menu.Tpo $(DEPDIR)/libgeda_la-s_menu.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_menu.c' object='libgeda_la-s_menu.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-s_menu.lo `test -f 's_menu.c' || echo '$(srcdir)/'`s_menu.c libgeda_la-s_page.lo: s_page.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-s_page.lo -MD -MP -MF $(DEPDIR)/libgeda_la-s_page.Tpo -c -o libgeda_la-s_page.lo `test -f 's_page.c' || echo '$(srcdir)/'`s_page.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-s_page.Tpo $(DEPDIR)/libgeda_la-s_page.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_page.c' object='libgeda_la-s_page.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-s_page.lo `test -f 's_page.c' || echo '$(srcdir)/'`s_page.c libgeda_la-s_papersizes.lo: s_papersizes.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-s_papersizes.lo -MD -MP -MF $(DEPDIR)/libgeda_la-s_papersizes.Tpo -c -o libgeda_la-s_papersizes.lo `test -f 's_papersizes.c' || echo '$(srcdir)/'`s_papersizes.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-s_papersizes.Tpo $(DEPDIR)/libgeda_la-s_papersizes.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_papersizes.c' object='libgeda_la-s_papersizes.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-s_papersizes.lo `test -f 's_papersizes.c' || echo '$(srcdir)/'`s_papersizes.c libgeda_la-s_path.lo: s_path.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-s_path.lo -MD -MP -MF $(DEPDIR)/libgeda_la-s_path.Tpo -c -o libgeda_la-s_path.lo `test -f 's_path.c' || echo '$(srcdir)/'`s_path.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-s_path.Tpo $(DEPDIR)/libgeda_la-s_path.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_path.c' object='libgeda_la-s_path.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-s_path.lo `test -f 's_path.c' || echo '$(srcdir)/'`s_path.c libgeda_la-s_slib.lo: s_slib.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-s_slib.lo -MD -MP -MF $(DEPDIR)/libgeda_la-s_slib.Tpo -c -o libgeda_la-s_slib.lo `test -f 's_slib.c' || echo '$(srcdir)/'`s_slib.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-s_slib.Tpo $(DEPDIR)/libgeda_la-s_slib.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_slib.c' object='libgeda_la-s_slib.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-s_slib.lo `test -f 's_slib.c' || echo '$(srcdir)/'`s_slib.c libgeda_la-s_slot.lo: s_slot.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-s_slot.lo -MD -MP -MF $(DEPDIR)/libgeda_la-s_slot.Tpo -c -o libgeda_la-s_slot.lo `test -f 's_slot.c' || echo '$(srcdir)/'`s_slot.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-s_slot.Tpo $(DEPDIR)/libgeda_la-s_slot.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_slot.c' object='libgeda_la-s_slot.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-s_slot.lo `test -f 's_slot.c' || echo '$(srcdir)/'`s_slot.c libgeda_la-s_textbuffer.lo: s_textbuffer.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-s_textbuffer.lo -MD -MP -MF $(DEPDIR)/libgeda_la-s_textbuffer.Tpo -c -o libgeda_la-s_textbuffer.lo `test -f 's_textbuffer.c' || echo '$(srcdir)/'`s_textbuffer.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-s_textbuffer.Tpo $(DEPDIR)/libgeda_la-s_textbuffer.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_textbuffer.c' object='libgeda_la-s_textbuffer.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-s_textbuffer.lo `test -f 's_textbuffer.c' || echo '$(srcdir)/'`s_textbuffer.c libgeda_la-s_tile.lo: s_tile.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-s_tile.lo -MD -MP -MF $(DEPDIR)/libgeda_la-s_tile.Tpo -c -o libgeda_la-s_tile.lo `test -f 's_tile.c' || echo '$(srcdir)/'`s_tile.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-s_tile.Tpo $(DEPDIR)/libgeda_la-s_tile.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_tile.c' object='libgeda_la-s_tile.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-s_tile.lo `test -f 's_tile.c' || echo '$(srcdir)/'`s_tile.c libgeda_la-s_toplevel.lo: s_toplevel.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-s_toplevel.lo -MD -MP -MF $(DEPDIR)/libgeda_la-s_toplevel.Tpo -c -o libgeda_la-s_toplevel.lo `test -f 's_toplevel.c' || echo '$(srcdir)/'`s_toplevel.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-s_toplevel.Tpo $(DEPDIR)/libgeda_la-s_toplevel.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_toplevel.c' object='libgeda_la-s_toplevel.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-s_toplevel.lo `test -f 's_toplevel.c' || echo '$(srcdir)/'`s_toplevel.c libgeda_la-s_undo.lo: s_undo.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-s_undo.lo -MD -MP -MF $(DEPDIR)/libgeda_la-s_undo.Tpo -c -o libgeda_la-s_undo.lo `test -f 's_undo.c' || echo '$(srcdir)/'`s_undo.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-s_undo.Tpo $(DEPDIR)/libgeda_la-s_undo.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_undo.c' object='libgeda_la-s_undo.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-s_undo.lo `test -f 's_undo.c' || echo '$(srcdir)/'`s_undo.c libgeda_la-s_weakref.lo: s_weakref.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-s_weakref.lo -MD -MP -MF $(DEPDIR)/libgeda_la-s_weakref.Tpo -c -o libgeda_la-s_weakref.lo `test -f 's_weakref.c' || echo '$(srcdir)/'`s_weakref.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-s_weakref.Tpo $(DEPDIR)/libgeda_la-s_weakref.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_weakref.c' object='libgeda_la-s_weakref.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-s_weakref.lo `test -f 's_weakref.c' || echo '$(srcdir)/'`s_weakref.c libgeda_la-u_basic.lo: u_basic.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -MT libgeda_la-u_basic.lo -MD -MP -MF $(DEPDIR)/libgeda_la-u_basic.Tpo -c -o libgeda_la-u_basic.lo `test -f 'u_basic.c' || echo '$(srcdir)/'`u_basic.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgeda_la-u_basic.Tpo $(DEPDIR)/libgeda_la-u_basic.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='u_basic.c' object='libgeda_la-u_basic.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgeda_la_CPPFLAGS) $(CPPFLAGS) $(libgeda_la_CFLAGS) $(CFLAGS) -c -o libgeda_la-u_basic.lo `test -f 'u_basic.c' || echo '$(srcdir)/'`u_basic.c mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) check-am all-am: Makefile $(LTLIBRARIES) installdirs: for dir in "$(DESTDIR)$(libdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-libLTLIBRARIES install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-libLTLIBRARIES .MAKE: all check install install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ clean-libLTLIBRARIES clean-libtool cscopelist-am ctags \ ctags-am distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-libLTLIBRARIES install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am uninstall-libLTLIBRARIES .c.x: CPP="$(CPP)" $(GUILE_SNARF) -o $@ $< $(snarf_cpp_opts) # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/libgeda/src/m_basic.c0000664000175000017500000001256412207374140014027 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #include "libgeda_priv.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \brief Set the contraints for the current page. * \par Function Description * This function will set the current page constraints. * * \param [in] toplevel The TOPLEVEL object. * \param [in,out] page The PAGE object to set constraints on. * \param [in] xmin The minimum x coordinate for the page. * \param [in] xmax The maximum x coordinate for the page. * \param [in] ymin The minimum y coordinate for the page. * \param [in] ymax The maximum y coordinate for the page. */ void set_window(TOPLEVEL *toplevel, PAGE *page, int xmin, int xmax, int ymin, int ymax) { double fs,f0,f1; double fw0,fw1,fw; page->left = xmin; page->right = xmax; page->top = ymin; page->bottom = ymax; /* now do the constant setups */ /* pix_x */ f0 = page->left; f1 = page->right; fs = toplevel->width; page->to_screen_x_constant = fs / (f1 - f0); /* pix_y */ f0 = page->top; f1 = page->bottom; fs = toplevel->height; page->to_screen_y_constant = fs / (f1 - f0); /* mil_x */ fw1 = page->right; fw0 = page->left; fw = toplevel->width; page->to_world_x_constant = (fw1 - fw0) / fw; /* mil_y */ fw1 = page->bottom; fw0 = page->top; fw = toplevel->height; page->to_world_y_constant = (fw1 - fw0) / fw; } /*! \brief Rotate a point by an arbitrary angle. * \par Function Description * This function will rotate a point coordinate by an arbitrary angle * and return the new coordinate in the newx and newy parameters. * * \param [in] x Input point x coordinate. * \param [in] y Input point y coordinate. * \param [in] angle Angle to rotate in degrees. * \param [out] newx Output point x coordinate. * \param [out] newy Output point y coordinate. */ void rotate_point(int x, int y, int angle, int *newx, int *newy) { double costheta, sintheta; double rad; rad = angle*M_PI/180; costheta = cos(rad); sintheta = sin(rad); *newx = x * costheta - y * sintheta; *newy = x * sintheta + y * costheta; } /*! \brief Rotate point in 90 degree increments only. * \par Function Description * This function takes a point coordinate and rotates it by * 90 degrees at a time. The new point coordinate is returned * in newx and newy. * * \param [in] x Input point x coordinate. * \param [in] y Input point y coordinate. * \param [in] angle Angle to rotate by (90 degree increments only). * \param [out] newx Output point x coordinate. * \param [out] newy Output point y coordinate. */ void rotate_point_90(int x, int y, int angle, int *newx, int *newy) { double costheta=1; double sintheta=0; /* I could have used sine/cosine for this, but I want absolute * accuracy */ switch(angle) { case(0): *newx = x; *newy = y; return; break; case(90): costheta = 0; sintheta = 1; break; case(180): costheta = -1; sintheta = 0; break; case(270): costheta = 0; sintheta = -1; break; } *newx = x * costheta - y * sintheta; *newy = x * sintheta + y * costheta; } /*! \brief Convert Paper size to World coordinates. * \par Function Description * This function takes the paper size and converts it to * world coordinates. It supports landscape with a fixed aspect ratio. * * \param [in] width Paper width. (units?) * \param [in] height Paper height. (units?) * \param [in] border Paper border size. (units?) * \param [out] right Right world coordinate. (units?) * \param [out] bottom Bottom world coordinate. (units?) * * \todo Support more modes than just landscape only mode. */ void PAPERSIZEtoWORLD(int width, int height, int border, int *right, int *bottom) { float aspect; aspect = (float) width / (float) height; #if DEBUG printf("%f\n", aspect); #endif if (aspect < 1.333333333) { /* is this lrint really needed? */ #ifdef HAVE_LRINT *right = lrint (width+border + ((height+border)*1.33333333 - (width+border))); #else *right = (int) width+border + ((height+border)*1.33333333 - (width+border)); #endif *bottom = height+border; } else { *right = (int) width+border; *bottom = (int) height+border + ((width+border)/1.33333333 - (height+border)); } #if DEBUG aspect = (float) *right / (float) *bottom; printf("%f\n", aspect); #endif } geda-gaf-1.8.2/libgeda/src/o_embed.c0000664000175000017500000000744112220647257014031 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! \file o_embed.c * \brief functions to embed and unembed symbols */ #include #include #include "libgeda_priv.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \brief embed an object into a schematic * \par Function Description * This functions embeds an object \a o_current into a * libgeda. Currently complex objects are just marked to * be embedded later. Picture objects are embedded immediatly. * * \param toplevel The TOPLEVEL object * \param o_current The OBJECT to embed */ void o_embed(TOPLEVEL *toplevel, OBJECT *o_current) { PAGE *page = o_get_page_compat (toplevel, o_current); int page_modified = 0; /* check o_current is a complex and is not already embedded */ if (o_current->type == OBJ_COMPLEX && !o_complex_is_embedded (o_current)) { /* set the embedded flag */ o_current->complex_embedded = TRUE; s_log_message (_("Component [%s] has been embedded\n"), o_current->complex_basename); page_modified = 1; } /* If it's a picture and it's not embedded */ if ( (o_current->type == OBJ_PICTURE) && !o_picture_is_embedded (toplevel, o_current) ) { o_picture_embed (toplevel, o_current); page_modified = 1; } if (page_modified && page != NULL) { /* page content has been modified */ page->CHANGED = 1; } } /*! \brief unembed an object from a schematic * \par Function Description * This functions unembeds an object \a o_current from a * libgeda structure. Complex objects are just marked to * be not embedded. Picture objects are unembeded immediatly. * * \param toplevel The TOPLEVEL object * \param o_current The OBJECT to unembed */ void o_unembed(TOPLEVEL *toplevel, OBJECT *o_current) { const CLibSymbol *sym; PAGE *page = o_get_page_compat (toplevel, o_current); int page_modified = 0; /* check o_current is an embedded complex */ if (o_current->type == OBJ_COMPLEX && o_complex_is_embedded (o_current)) { /* search for the symbol in the library */ sym = s_clib_get_symbol_by_name (o_current->complex_basename); if (sym == NULL) { /* symbol not found in the symbol library: signal an error */ s_log_message (_("Could not find component [%s], while trying to " "unembed. Component is still embedded\n"), o_current->complex_basename); } else { /* clear the embedded flag */ o_current->complex_embedded = FALSE; s_log_message (_("Component [%s] has been successfully unembedded\n"), o_current->complex_basename); page_modified = 1; } } /* If it's a picture and it's embedded */ if ( (o_current->type == OBJ_PICTURE) && o_picture_is_embedded (toplevel, o_current)) { o_picture_unembed (toplevel, o_current); page_modified = 1; } if (page_modified && page != NULL) { page->CHANGED = 1; } } geda-gaf-1.8.2/libgeda/src/scheme_toplevel.c0000664000175000017500000001023412220647257015607 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library - Scheme API * Copyright (C) 2010-2012 Peter Brett * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA */ /*! * \file scheme_toplevel.c * \brief Scheme API procedures for working with the TOPLEVEL. */ #include #include "libgeda_priv.h" #include "libgedaguile_priv.h" SCM scheme_toplevel_fluid = SCM_UNDEFINED; /*! * \brief Set the #TOPLEVEL fluid in the current dynamic context. * \ingroup guile_c_iface * \par Function Description * This function must be used inside a pair of calls to * scm_dynwind_begin() and scm_dynwind_end(). During the dynwind * context, the #TOPLEVEL fluid is set to \a toplevel. * * \note This is a part of the public C interface to the Scheme API. */ void edascm_dynwind_toplevel (TOPLEVEL *toplevel) { SCM s_toplevel = edascm_from_toplevel (toplevel); scm_dynwind_fluid (scheme_toplevel_fluid, s_toplevel); } /*! * \brief Get the value of the #TOPLEVEL fluid. * \par Function Description * Return the value of the #TOPLEVEL fluid in the current dynamic * context. */ SCM_DEFINE (edascm_current_toplevel, "%current-toplevel", 0, 0, 0, (), "Get the TOPLEVEL for the current dynamic context.") { return scm_fluid_ref (scheme_toplevel_fluid); } /*! * \brief Get the value of the #TOPLEVEL fluid. * \ingroup guile_c_iface * \par Function Description * Return the value of the #TOPLEVEL fluid in the current dynamic * context. * * \note This is a part of the public C interface to the Scheme API. */ TOPLEVEL * edascm_c_current_toplevel () { SCM s_toplevel = edascm_current_toplevel (); EDASCM_ASSERT_SMOB_VALID(s_toplevel); return (TOPLEVEL *) SCM_SMOB_DATA (s_toplevel); } /*! * \brief Set the current #TOPLEVEL temporarily. * \par Function Description * Set the #TOPLEVEL fluid to \a toplevel and call \a thunk. */ SCM_DEFINE (edascm_with_toplevel, "%with-toplevel", 2, 0, 0, (SCM toplevel, SCM thunk), "Call `thunk', setting the TOPLEVEL fluid to `toplevel'.") { return scm_with_fluid (scheme_toplevel_fluid, toplevel, thunk); } /*! * \brief Set the current #TOPLEVEL temporarily. * \ingroup guile_c_iface * \par Function Description * Set the #TOPLEVEL fluid to \a toplevel and call \a func with \a * user_data. */ SCM edascm_c_with_toplevel (TOPLEVEL *toplevel, SCM (*func)(void *), void *user_data) { SCM s_toplevel = edascm_from_toplevel (toplevel); return scm_c_with_fluid (scheme_toplevel_fluid, s_toplevel, func, user_data); } /*! * \brief Create the (geda core toplevel) Scheme module * \par Function Description * Defines procedures in the (geda core toplevel) module. The module * can be accessed using (use-modules (geda core toplevel)). */ static void init_module_geda_core_toplevel () { /* Register the functions */ #include "scheme_toplevel.x" /* Add them to the module's public definitions. */ scm_c_export (s_edascm_with_toplevel, s_edascm_current_toplevel, NULL); } /*! * \brief Initialise the TOPLEVEL manipulation procedures. * \par Function Description * Registers some Scheme procedures for working with #TOPLEVEL smobs * and creates the #TOPLEVEL fluid. Should only be called by * scheme_api_init(). */ void edascm_init_toplevel () { scheme_toplevel_fluid = scm_permanent_object (scm_make_fluid ()); /* Define the (geda core toplevel) module */ scm_c_define_module ("geda core toplevel", init_module_geda_core_toplevel, NULL); } geda-gaf-1.8.2/libgeda/src/m_circle.c0000664000175000017500000000442412207374140014203 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! \file m_circle.c * * \brief Low-level mathmatical functions for circles */ #include #include #include #include "libgeda_priv.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \brief Calculates the distance between the given point and the closest * point on the perimeter or interior of the circle. * * \param [in] circle The circle. * \param [in] x The x coordinate of the given point. * \param [in] y The y coordinate of the given point. * \param [in] solid TRUE if the circle should be treated as solid, FALSE if * the circle should be treated as hollow. * \return The shortest distance from the circle to the point. With a solid * shape, this function returns a distance of zero for interior points. With * an invalid parameter, this function returns G_MAXDOUBLE. */ double m_circle_shortest_distance (CIRCLE *circle, int x, int y, int solid) { double shortest_distance; double distance_to_center; double dx, dy; g_return_val_if_fail (circle != NULL, G_MAXDOUBLE); dx = ((double)x) - ((double)circle->center_x); dy = ((double)y) - ((double)circle->center_y); distance_to_center = sqrt ((dx * dx) + (dy * dy)); if (solid) { shortest_distance = max (distance_to_center - circle->radius, 0); } else { shortest_distance = fabs (distance_to_center - circle->radius); } return shortest_distance; } geda-gaf-1.8.2/libgeda/src/s_log.c0000664000175000017500000001711512207374140013532 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_UNISTD_H #include #endif #ifdef HAVE_FCNTL_H #include #endif #ifdef HAVE_ERRNO_H #include #endif #ifdef HAVE_STRING_H #include #endif #include "libgeda_priv.h" #include #ifdef HAVE_LIBDMALLOC #include #endif /*! Default setting for log update callback function. */ void (*x_log_update_func)() = NULL; /*! Default setting for log enable. */ int do_logging = TRUE; #define CATCH_LOG_LEVELS (G_LOG_LEVEL_MASK ^ \ (G_LOG_LEVEL_DEBUG | G_LOG_LEVEL_INFO)) #define PRINT_LOG_LEVELS (CATCH_LOG_LEVELS ^ \ (G_LOG_LEVEL_WARNING | G_LOG_LEVEL_MESSAGE)) #define LOG_OPEN_ATTEMPTS 5 static void s_log_handler (const gchar *log_domain, GLogLevelFlags log_level, const gchar *message, gpointer user_data); static int logfile_fd = -1; static guint log_handler_id; /*! \brief Initialize libgeda logging feature. * \par Function Description * This function opens the file filename to log to and registers the * handler to redirect log message to this file. * * \param [in] prefix Character string with file name prefix to log to. */ void s_log_init (const gchar *prefix) { /* FIXME we assume that the prefix is in the filesystem encoding. */ time_t nowt; struct tm *nowtm; gchar *full_prefix = NULL; size_t full_prefix_len = 0; gchar *dir_path = NULL; gchar *filename = NULL; int s, i; int last_exist_logn = 0; GDir *logdir = NULL; if (logfile_fd != -1) { g_critical ("s_log_init: Log already initialised.\n"); return; } if (do_logging == FALSE) { return; } time (&nowt); nowtm = gmtime (&nowt); /* create "real" prefix -- this has the form "--" */ full_prefix = g_strdup_printf ("%s-%04i%02i%02i-", prefix, nowtm->tm_year + 1900, nowtm->tm_mon + 1, nowtm->tm_mday); full_prefix_len = strlen (full_prefix); /* Find/create the directory where we're going to put the logs. * FIXME should this be configured somehow? * * Then run through it finding the "biggest" existing filename with * a matching prefix & date. */ dir_path = g_build_filename (s_path_user_config (), "logs", NULL); /* Try to create the directory. */ s = g_mkdir_with_parents (dir_path, 0777/*octal*/); if (s != 0) { /* It's okay to use the logging functions from here, because * there's already a default handler. */ g_warning ("Could not create log directory %s: %s\n", dir_path, strerror (errno)); g_free (dir_path); g_free (full_prefix); return; } logdir = g_dir_open (dir_path, 0, NULL); while (TRUE) { const gchar *file = g_dir_read_name (logdir); int n; if (file == NULL) break; if (strncmp (full_prefix, file, full_prefix_len)) continue; s = sscanf (file + full_prefix_len, "%i", &n); if (s != 1) continue; if (n > last_exist_logn) last_exist_logn = n; } /* Now try and create a new file. When we fail, increment the number. */ i = 0; while (logfile_fd == -1 && (LOG_OPEN_ATTEMPTS > i++)) { filename = g_strdup_printf ("%s%s%s%i.log", dir_path, G_DIR_SEPARATOR_S, full_prefix, ++last_exist_logn); logfile_fd = open (filename, O_RDWR|O_CREAT|O_EXCL, 0600); if (logfile_fd == -1 && (errno != EEXIST)) break; } if (logfile_fd != -1) { /* install the log handler */ log_handler_id = g_log_set_handler (NULL, CATCH_LOG_LEVELS, s_log_handler, NULL); } else { /* It's okay to use the logging functions from here, because * there's already a default handler. */ if (errno == EEXIST) { g_warning ("Could not create unique log filename in %s\n", dir_path); } else { g_warning ("Could not create log file in %s: %s\n", dir_path, strerror (errno)); } } g_free (filename); g_free (dir_path); g_free (full_prefix); } /*! \brief Terminates the logging of messages. * \par Function Description * This function deregisters the handler for redirection to the log file * and closes it. */ void s_log_close (void) { do_logging = FALSE; /* subsequent messages are lost after the close */ if (logfile_fd == -1) { return; } /* remove the handler */ g_log_remove_handler (NULL, log_handler_id); /* close the file */ if (logfile_fd != -1) { close (logfile_fd); logfile_fd = -1; } } /*! \brief Reads the current log file and returns its contents. * \par Function Description * This function reads the current log file and returns its contents. * * \return Character string with current log's contents. * */ gchar *s_log_read (void) { gboolean tmp; #define BUFSIZE 200 gchar buf[BUFSIZE]; GString *contents; gint len; if (logfile_fd == -1) { return NULL; } tmp = do_logging; do_logging = FALSE; /* rewind the file */ lseek(logfile_fd, 0, SEEK_SET); /* read its contents and build a string */ contents = g_string_new (""); while ((len = read (logfile_fd, &buf, BUFSIZE)) != 0) { contents = g_string_append_len (contents, buf, len); } do_logging = tmp; return g_string_free (contents, FALSE); } /*! \brief Write a message to the current log file. * \par Function Description * Writes message to the current log file whose file descriptor * is logfile_fd. * * It also sends message to the optional function x_log_update * for further use. * * \param [in] log_domain (unused). * \param [in] log_level (unused). * \param [in] message Character string containing message to * write to log. * \param [in] user_data (unused). * */ static void s_log_handler (const gchar *log_domain, GLogLevelFlags log_level, const gchar *message, gpointer user_data) { int status; if (do_logging == FALSE) { return; } g_return_if_fail (logfile_fd != -1); status = write (logfile_fd, message, strlen (message)); if (status == -1) { fprintf(stderr, "Could not write message to log file\n"); } if ((status == -1) || (log_level & PRINT_LOG_LEVELS)) { /* If messages are serious or writing to file failed, call the * default handler to write to the console. */ g_log_default_handler (log_domain, log_level, message, NULL); } if (x_log_update_func) { (*x_log_update_func) (log_domain, log_level, message); } } geda-gaf-1.8.2/libgeda/src/scheme_object.c0000664000175000017500000022437512220647257015240 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library - Scheme API * Copyright (C) 2010-2012 Peter Brett * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA */ /*! * \file scheme_object.c * \brief Scheme API object manipulation procedures. */ #include #include "libgeda_priv.h" #include "libgedaguile_priv.h" SCM_SYMBOL (wrong_type_arg_sym , "wrong-type-arg"); SCM_SYMBOL (line_sym , "line"); SCM_SYMBOL (net_sym , "net"); SCM_SYMBOL (bus_sym , "bus"); SCM_SYMBOL (box_sym , "box"); SCM_SYMBOL (picture_sym , "picture"); SCM_SYMBOL (circle_sym , "circle"); SCM_SYMBOL (complex_sym , "complex"); SCM_SYMBOL (text_sym , "text"); SCM_SYMBOL (path_sym , "path"); SCM_SYMBOL (pin_sym , "pin"); SCM_SYMBOL (arc_sym , "arc"); SCM_SYMBOL (lower_left_sym , "lower-left"); SCM_SYMBOL (middle_left_sym , "middle-left"); SCM_SYMBOL (upper_left_sym , "upper-left"); SCM_SYMBOL (lower_center_sym , "lower-center"); SCM_SYMBOL (middle_center_sym , "middle-center"); SCM_SYMBOL (upper_center_sym , "upper-center"); SCM_SYMBOL (lower_right_sym , "lower-right"); SCM_SYMBOL (middle_right_sym , "middle-right"); SCM_SYMBOL (upper_right_sym , "upper-right"); SCM_SYMBOL (name_sym , "name"); SCM_SYMBOL (value_sym , "value"); SCM_SYMBOL (both_sym , "both"); SCM_SYMBOL (none_sym, "none"); SCM_SYMBOL (square_sym , "square"); SCM_SYMBOL (round_sym , "round"); SCM_SYMBOL (solid_sym , "solid"); SCM_SYMBOL (dotted_sym , "dotted"); SCM_SYMBOL (dashed_sym , "dashed"); SCM_SYMBOL (center_sym , "center"); SCM_SYMBOL (phantom_sym , "phantom"); SCM_SYMBOL (hollow_sym , "hollow"); SCM_SYMBOL (mesh_sym , "mesh"); SCM_SYMBOL (hatch_sym , "hatch"); SCM_SYMBOL (moveto_sym , "moveto"); SCM_SYMBOL (lineto_sym , "lineto"); SCM_SYMBOL (curveto_sym , "curveto"); SCM_SYMBOL (closepath_sym , "closepath"); void o_page_changed (TOPLEVEL *t, OBJECT *o) { PAGE *p = o_get_page (t, o); if (p != NULL) p->CHANGED = TRUE; } /*! \brief Convert a Scheme object list to a GList. * \par Function Description * Takes a Scheme list of #OBJECT smobs, and returns a GList * containing the objects. If \a objs is not a list of #OBJECT smobs, * throws a Scheme error. * * \warning If the #OBJECT structures in the GList are to be stored by * C code and later free()'d directly, the smobs must be marked as * unsafe for garbage collection (by calling edascm_c_set_gc()). * * \param [in] objs a Scheme list of #OBJECT smobs. * \param [in] subr the name of the Scheme subroutine (used for error * messages). * \return a #GList of #OBJECT. */ GList * edascm_to_object_glist (SCM objs, const char *subr) { GList *result = NULL; SCM lst; SCM_ASSERT (scm_is_true (scm_list_p (objs)), objs, SCM_ARGn, subr); scm_dynwind_begin (0); scm_dynwind_unwind_handler ((void (*)(void *))g_list_free, result, 0); for (lst = objs; lst != SCM_EOL; lst = SCM_CDR (lst)) { SCM smob = SCM_CAR (lst); result = g_list_prepend (result, (gpointer) edascm_to_object (smob)); } scm_remember_upto_here_1 (lst); scm_dynwind_end (); return g_list_reverse (result); } /*! \brief Convert a GList of objects into a Scheme list. * \par Function Description * Takes a GList of #OBJECT and returns a Scheme list of corresponding * object smobs. * * \warning If the #OBJECT structures are to be subsequently managed * only by Scheme, the smobs in the returned list must be marked as * safe for garbage collection (by calling edascm_c_set_gc()). * * \param [in] objs a #GList of #OBJECT instances. * \return a Scheme list of smobs corresponding to each #OBJECT. */ SCM edascm_from_object_glist (const GList *objs) { SCM lst = SCM_EOL; SCM rlst; GList *iter = (GList *) objs; while (iter != NULL) { lst = scm_cons (edascm_from_object (iter->data), lst); iter = g_list_next (iter); } rlst = scm_reverse (lst); scm_remember_upto_here_1 (lst); return rlst; } /*! \brief Test if an object smob is of a particular type. * \par Function Description * Checks if \a smob contains an #OBJECT of the given \a type. This is * intended to be used by C-based Scheme procedures for working with * particular object types. * * \param [in] smob Scheme value to check type for. * \param [in] type Type to check against (e.g. OBJ_LINE). * \return non-zero if \a smob is an #OBJECT smob of \a type. */ int edascm_is_object_type (SCM smob, int type) { if (!EDASCM_OBJECTP(smob)) return 0; OBJECT *obj = edascm_to_object (smob); return (obj->type == type); } /*! \brief Copy an object. * \par Function Description * Returns a copy of the #OBJECT contained in smob \a obj_s as a new * smob. * * \note Scheme API: Implements the %copy-object procedure in the * (geda core object) module. * * \param [in] obj_s an #OBJECT smob. * \return a new #OBJECT smob containing a copy of the #OBJECT in \a obj_s. */ SCM_DEFINE (copy_object, "%copy-object", 1, 0, 0, (SCM obj_s), "Copy an object.") { SCM result; SCM_ASSERT (EDASCM_OBJECTP (obj_s), obj_s, SCM_ARG1, s_copy_object); TOPLEVEL *toplevel = edascm_c_current_toplevel (); OBJECT *obj = edascm_to_object (obj_s); result = edascm_from_object (o_object_copy (toplevel, obj)); /* At the moment, the only pointer to the object is owned by the * smob. */ edascm_c_set_gc (result, TRUE); return result; } /*! \brief Get the type of an object. * \par Function Description * Returns a symbol describing the type of the #OBJECT smob \a obj_s. * * \note Scheme API: Implements the %object-type procedure in the * (geda core object) module. * * \param [in] obj_s an #OBJECT smob. * \return a Scheme symbol representing the object type. */ SCM_DEFINE (object_type, "%object-type", 1, 0, 0, (SCM obj_s), "Get an object smob's type") { SCM result; SCM_ASSERT (EDASCM_OBJECTP (obj_s), obj_s, SCM_ARG1, s_object_type); OBJECT *obj = edascm_to_object (obj_s); switch (obj->type) { case OBJ_LINE: result = line_sym; break; case OBJ_NET: result = net_sym; break; case OBJ_BUS: result = bus_sym; break; case OBJ_BOX: result = box_sym; break; case OBJ_PICTURE: result = picture_sym; break; case OBJ_CIRCLE: result = circle_sym; break; case OBJ_PLACEHOLDER: case OBJ_COMPLEX: result = complex_sym; break; case OBJ_TEXT: result = text_sym; break; case OBJ_PATH: result = path_sym; break; case OBJ_PIN: result = pin_sym; break; case OBJ_ARC: result = arc_sym; break; default: scm_misc_error (s_object_type, _("Object ~A has bad type '~A'"), scm_list_2 (obj_s, scm_integer_to_char (scm_from_int (obj->type)))); } return result; } /*! \brief Get the bounds of a list of objects * \par Function Description * Returns the bounds of the objects in the variable-length argument * list \a rst_s. The bounds are returned as a pair structure of the * form: * * \code * ((left . top) . (right . bottom)) * \endcode * * If \a rst_s is empty, or none of the objects has any bounds * (e.g. because they are all empty components and/or text strings), * returns SCM_BOOL_F. * * \warning This function always returns the actual bounds of the * objects, not the visible bounds. * * \note Scheme API: Implements the %object-bounds procedure in the * (geda core object) module. The procedure takes any number of * #OBJECT smobs as arguments. * * \param [in] rst_s Variable-length list of #OBJECT arguments. * \return bounds of objects or SCM_BOOL_F. */ SCM_DEFINE (object_bounds, "%object-bounds", 0, 0, 1, (SCM rst_s), "Get the bounds of a list of objects") { TOPLEVEL *toplevel = edascm_c_current_toplevel (); GList *obj_list = edascm_to_object_glist (rst_s, s_object_bounds); int success, left, top, right, bottom; if (toplevel->show_hidden_text) { success = world_get_object_glist_bounds (toplevel, obj_list, &left, &top, &right, &bottom); } else { toplevel->show_hidden_text = TRUE; o_recalc_object_glist (toplevel, obj_list); success = world_get_object_glist_bounds (toplevel, obj_list, &left, &top, &right, &bottom); toplevel->show_hidden_text = FALSE; o_recalc_object_glist (toplevel, obj_list); } SCM result = SCM_BOOL_F; if (success) { result = scm_cons (scm_cons (scm_from_int (min(left, right)), scm_from_int (max(top, bottom))), scm_cons (scm_from_int (max(left, right)), scm_from_int (min(top, bottom)))); } scm_remember_upto_here_1 (rst_s); return result; } /*! \brief Get the stroke properties of an object. * \par Function Description * Returns the stroke settings of the object \a obj_s. If \a obj_s is * not a line, box, circle, arc, or path, throws a Scheme error. The * return value is a list of parameters: * * -# stroke width * -# cap style (a symbol: none, square or round) * -# dash style (a symbol: solid, dotted, dashed, center or phantom) * -# up to two dash parameters, depending on dash style: * -# For solid lines, no parameters. * -# For dotted lines, dot spacing. * -# For other styles, dot/dash spacing and dash length. * * \note Scheme API: Implements the %object-stroke procedure in the * (geda core object) module. * * \param obj_s object to get stroke settings for. * \return a list of stroke parameters. */ SCM_DEFINE (object_stroke, "%object-stroke", 1, 0, 0, (SCM obj_s), "Get the stroke properties of an object.") { SCM_ASSERT ((edascm_is_object_type (obj_s, OBJ_LINE) || edascm_is_object_type (obj_s, OBJ_BOX) || edascm_is_object_type (obj_s, OBJ_CIRCLE) || edascm_is_object_type (obj_s, OBJ_ARC) || edascm_is_object_type (obj_s, OBJ_PATH)), obj_s, SCM_ARG1, s_object_stroke); OBJECT *obj = edascm_to_object (obj_s); int end, type, width, length, space; o_get_line_options (obj, (OBJECT_END *) &end, (OBJECT_TYPE *) &type, &width, &length, &space); SCM width_s = scm_from_int (width); SCM length_s = scm_from_int (length); SCM space_s = scm_from_int (space); SCM cap_s; switch (end) { case END_NONE: cap_s = none_sym; break; case END_SQUARE: cap_s = square_sym; break; case END_ROUND: cap_s = round_sym; break; default: scm_misc_error (s_object_stroke, _("Object ~A has invalid stroke cap style ~A"), scm_list_2 (obj_s, scm_from_int (end))); } SCM dash_s; switch (type) { case TYPE_SOLID: dash_s = solid_sym; break; case TYPE_DOTTED: dash_s = dotted_sym; break; case TYPE_DASHED: dash_s = dashed_sym; break; case TYPE_CENTER: dash_s = center_sym; break; case TYPE_PHANTOM: dash_s = phantom_sym; break; default: scm_misc_error (s_object_stroke, _("Object ~A has invalid stroke dash style ~A"), scm_list_2 (obj_s, scm_from_int (type))); } switch (type) { case TYPE_DASHED: case TYPE_CENTER: case TYPE_PHANTOM: return scm_list_5 (width_s, cap_s, dash_s, space_s, length_s); case TYPE_DOTTED: return scm_list_4 (width_s, cap_s, dash_s, space_s); default: return scm_list_3 (width_s, cap_s, dash_s); } } /*! \brief Set the stroke properties of an object. * \par Function Description * Updates the stroke settings of the object \a obj_s. If \a obj_s is * not a line, box, circle, arc, or path, throws a Scheme error. The * optional parameters \a space_s and \a length_s can be set to * SCM_UNDEFINED if not required by the dash style \a dash_s. * * \note Scheme API: Implements the %object-stroke procedure in the * (geda core object) module. * * \param obj_s object to set stroke settings for. * \param width_s new stroke width for \a obj_s. * \param cap_s new stroke cap style for \a obj_s. * \param dash_s new dash style for \a obj_s. * \param space_s dot/dash spacing for dash styles other than solid. * \param length_s dash length for dash styles other than solid or * dotted. * \return \a obj_s. */ SCM_DEFINE (set_object_stroke_x, "%set-object-stroke!", 4, 2, 0, (SCM obj_s, SCM width_s, SCM cap_s, SCM dash_s, SCM space_s, SCM length_s), "Set the stroke properties of an object.") { SCM_ASSERT ((edascm_is_object_type (obj_s, OBJ_LINE) || edascm_is_object_type (obj_s, OBJ_BOX) || edascm_is_object_type (obj_s, OBJ_CIRCLE) || edascm_is_object_type (obj_s, OBJ_ARC) || edascm_is_object_type (obj_s, OBJ_PATH)), obj_s, SCM_ARG1, s_set_object_stroke_x); TOPLEVEL *toplevel = edascm_c_current_toplevel (); OBJECT *obj = edascm_to_object (obj_s); int cap, type, width, length = -1, space = -1; SCM_ASSERT (scm_is_integer (width_s), width_s, SCM_ARG2, s_set_object_stroke_x); SCM_ASSERT (scm_is_symbol (cap_s), cap_s, SCM_ARG3, s_set_object_stroke_x); SCM_ASSERT (scm_is_symbol (dash_s), dash_s, SCM_ARG4, s_set_object_stroke_x); width = scm_to_int (width_s); if (cap_s == none_sym) { cap = END_NONE; } else if (cap_s == square_sym) { cap = END_SQUARE; } else if (cap_s == round_sym) { cap = END_ROUND; } else { scm_misc_error (s_set_object_stroke_x, _("Invalid stroke cap style ~A."), scm_list_1 (cap_s)); } if (dash_s == solid_sym) { type = TYPE_SOLID; } else if (dash_s == dotted_sym) { type = TYPE_DOTTED; } else if (dash_s == dashed_sym) { type = TYPE_DASHED; } else if (dash_s == center_sym) { type = TYPE_CENTER; } else if (dash_s == phantom_sym) { type = TYPE_PHANTOM; } else { scm_misc_error (s_set_object_stroke_x, _("Invalid stroke dash style ~A."), scm_list_1 (dash_s)); } switch (type) { case TYPE_DASHED: case TYPE_CENTER: case TYPE_PHANTOM: if (length_s == SCM_UNDEFINED) { scm_misc_error (s_set_object_stroke_x, _("Missing dash length parameter for dash style ~A."), scm_list_1 (length_s)); } SCM_ASSERT (scm_is_integer (length_s), length_s, SCM_ARG6, s_set_object_stroke_x); length = scm_to_int (length_s); /* This case intentionally falls through */ case TYPE_DOTTED: if (space_s == SCM_UNDEFINED) { scm_misc_error (s_set_object_stroke_x, _("Missing dot/dash space parameter for dash style ~A."), scm_list_1 (space_s)); } SCM_ASSERT (scm_is_integer (space_s), space_s, SCM_ARG5, s_set_object_stroke_x); space = scm_to_int (space_s); /* This case intentionally falls through */ } o_set_line_options (toplevel, obj, cap, type, width, length, space); o_page_changed (toplevel, obj); return obj_s; } /*! \brief Get the fill properties of an object. * \par Function Description * Returns the fill settings of the object \a obj_s. If \a obj_s is * not a box, circle, or path, throws a Scheme error. The return * value is a list of parameters: * * -# fill style (a symbol: hollow, solid, mesh or hatch) * -# up to five fill parameters, depending on fill style: * -# none for hollow or solid fills * -# line width, line angle, and line spacing for hatch fills. * -# line width, first angle and spacing, and second angle and * spacing for mesh fills. * * \note Scheme API: Implements the %object-fill procedure in the * (geda core object) module. * * \param obj_s object to get fill settings for. * \return a list of fill parameters. */ SCM_DEFINE (object_fill, "%object-fill", 1, 0, 0, (SCM obj_s), "Get the fill properties of an object.") { SCM_ASSERT ((edascm_is_object_type (obj_s, OBJ_BOX) || edascm_is_object_type (obj_s, OBJ_CIRCLE) || edascm_is_object_type (obj_s, OBJ_PATH)), obj_s, SCM_ARG1, s_object_fill); OBJECT *obj = edascm_to_object (obj_s); int type, width, pitch1, angle1, pitch2, angle2; o_get_fill_options (obj, (OBJECT_FILLING *) &type, &width, &pitch1, &angle1, &pitch2, &angle2); SCM width_s = scm_from_int (width); SCM pitch1_s = scm_from_int (pitch1); SCM angle1_s = scm_from_int (angle1); SCM pitch2_s = scm_from_int (pitch2); SCM angle2_s = scm_from_int (angle2); SCM type_s; switch (type) { case FILLING_HOLLOW: type_s = hollow_sym; break; case FILLING_FILL: type_s = solid_sym; break; case FILLING_MESH: type_s = mesh_sym; break; case FILLING_HATCH: type_s = hatch_sym; break; default: scm_misc_error (s_object_fill, _("Object ~A has invalid fill style ~A"), scm_list_2 (obj_s, scm_from_int (type))); } switch (type) { case FILLING_MESH: return scm_list_n (type_s, width_s, pitch1_s, angle1_s, pitch2_s, angle2_s, SCM_UNDEFINED); case FILLING_HATCH: return scm_list_4 (type_s, width_s, pitch1_s, angle1_s); default: return scm_list_1 (type_s); } } /*! \brief Set the fill properties of an object. * \par Function Description * Updates the fill settings of the object \a obj_s. If \a obj_s is * not a box, circle, or path, throws a Scheme error. The optional * parameters \a width_s, \a angle1_s, \a space1_s, \a angle2_s and * space2_s * * \note Scheme API: Implements the %object-fill procedure in the * (geda core object) module. * * \param obj_s object to set fill settings for. * \return \a obj_s. */ SCM_DEFINE (set_object_fill_x, "%set-object-fill!", 2, 5, 0, (SCM obj_s, SCM type_s, SCM width_s, SCM space1_s, SCM angle1_s, SCM space2_s, SCM angle2_s), "Set the fill properties of an object.") { SCM_ASSERT ((edascm_is_object_type (obj_s, OBJ_BOX) || edascm_is_object_type (obj_s, OBJ_CIRCLE) || edascm_is_object_type (obj_s, OBJ_PATH)), obj_s, SCM_ARG1, s_set_object_fill_x); TOPLEVEL *toplevel = edascm_c_current_toplevel (); OBJECT *obj = edascm_to_object (obj_s); int type, width = -1, angle1 = -1, space1 = -1, angle2 = -1, space2 = -1; if (type_s == hollow_sym) { type = FILLING_HOLLOW; } else if (type_s == solid_sym) { type = FILLING_FILL; } else if (type_s == hatch_sym) { type = FILLING_HATCH; } else if (type_s == mesh_sym) { type = FILLING_MESH; } else { scm_misc_error (s_set_object_fill_x, _("Invalid fill style ~A."), scm_list_1 (type_s)); } switch (type) { case FILLING_MESH: if (space2_s == SCM_UNDEFINED) { scm_misc_error (s_set_object_fill_x, _("Missing second space parameter for fill style ~A."), scm_list_1 (space2_s)); } SCM_ASSERT (scm_is_integer (space2_s), space2_s, SCM_ARG6, s_set_object_fill_x); space2 = scm_to_int (space2_s); if (angle2_s == SCM_UNDEFINED) { scm_misc_error (s_set_object_fill_x, _("Missing second angle parameter for fill style ~A."), scm_list_1 (angle2_s)); } SCM_ASSERT (scm_is_integer (angle2_s), angle2_s, SCM_ARG7, s_set_object_fill_x); angle2 = scm_to_int (angle2_s); /* This case intentionally falls through */ case FILLING_HATCH: if (width_s == SCM_UNDEFINED) { scm_misc_error (s_set_object_fill_x, _("Missing stroke width parameter for fill style ~A."), scm_list_1 (width_s)); } SCM_ASSERT (scm_is_integer (width_s), width_s, SCM_ARG3, s_set_object_fill_x); width = scm_to_int (width_s); if (space1_s == SCM_UNDEFINED) { scm_misc_error (s_set_object_fill_x, _("Missing space parameter for fill style ~A."), scm_list_1 (space1_s)); } SCM_ASSERT (scm_is_integer (space1_s), space1_s, SCM_ARG4, s_set_object_fill_x); space1 = scm_to_int (space1_s); if (angle1_s == SCM_UNDEFINED) { scm_misc_error (s_set_object_fill_x, _("Missing angle parameter for fill style ~A."), scm_list_1 (angle1_s)); } SCM_ASSERT (scm_is_integer (angle1_s), angle1_s, SCM_ARG5, s_set_object_fill_x); angle1 = scm_to_int (angle1_s); /* This case intentionally falls through */ } o_set_fill_options (toplevel, obj, type, width, space1, angle1, space2, angle2); o_page_changed (toplevel, obj); return obj_s; } /*! \brief Get the color of an object. * \par Function Description * Returns the colormap index of the color used to draw the #OBJECT * smob \a obj_s. Note that the color may not be meaningful for some * object types. * * \note Scheme API: Implements the %object-color procedure in the * (geda core object) module. * * \param [in] obj_s #OBJECT smob to inspect. * \return The colormap index used by \a obj_s. */ SCM_DEFINE (object_color, "%object-color", 1, 0, 0, (SCM obj_s), "Get the color of an object.") { SCM_ASSERT (EDASCM_OBJECTP (obj_s), obj_s, SCM_ARG1, s_object_color); OBJECT *obj = edascm_to_object (obj_s); return scm_from_int (obj->color); } /*! \brief Set the color of an object. * \par Function Description * Set the colormap index of the color used to draw the #OBJECT smob * \a obj_s to \a color_s. Note that the color may not be meaningful * for some object types. * * \note Scheme API: Implements the %set-object-color! procedure in * the (geda core object) module. * * \param obj_s #OBJECT smob to modify. * \param color_s new colormap index to use for \a obj_s. * \return the modified \a obj_s. */ SCM_DEFINE (set_object_color_x, "%set-object-color!", 2, 0, 0, (SCM obj_s, SCM color_s), "Set the color of an object.") { SCM_ASSERT (EDASCM_OBJECTP (obj_s), obj_s, SCM_ARG1, s_set_object_color_x); SCM_ASSERT (scm_is_integer (color_s), color_s, SCM_ARG2, s_set_object_color_x); TOPLEVEL *toplevel = edascm_c_current_toplevel (); OBJECT *obj = edascm_to_object (obj_s); o_set_color (toplevel, obj, scm_to_int (color_s)); o_page_changed (toplevel, obj); return obj_s; } /*! \brief Create a new line. * \par Function Description * Creates a new line object, with all its parameters set to default * values. * * \note Scheme API: Implements the %make-line procedure in the (geda * core object) module. * * \return a newly-created line object. */ SCM_DEFINE (make_line, "%make-line", 0, 0, 0, (), "Create a new line object.") { OBJECT *obj = o_line_new (edascm_c_current_toplevel (), OBJ_LINE, DEFAULT_COLOR, 0, 0, 0, 0); SCM result = edascm_from_object (obj); /* At the moment, the only pointer to the object is owned by the * smob. */ edascm_c_set_gc (result, TRUE); return result; } /*! \brief Set line parameters. * \par Function Description * Modifies a line object by setting its parameters to new values. * * \note Scheme API: Implements the %set-line! procedure in the (geda * core object) module. * * This function also works on net, bus and pin objects. For pins, * the start is the connectable point on the pin. * * \param line_s the line object to modify. * \param x1_s the new x-coordinate of the start of the line. * \param y1_s the new y-coordinate of the start of the line. * \param x2_s the new x-coordinate of the end of the line. * \param y2_s the new y-coordinate of the end of the line. * \param color the colormap index of the color to be used for * drawing the line. * * \return the modified line object. */ SCM_DEFINE (set_line_x, "%set-line!", 6, 0, 0, (SCM line_s, SCM x1_s, SCM y1_s, SCM x2_s, SCM y2_s, SCM color_s), "Set line parameters.") { SCM_ASSERT ((edascm_is_object_type (line_s, OBJ_LINE) || edascm_is_object_type (line_s, OBJ_NET) || edascm_is_object_type (line_s, OBJ_BUS) || edascm_is_object_type (line_s, OBJ_PIN)), line_s, SCM_ARG1, s_set_line_x); SCM_ASSERT (scm_is_integer (x1_s), x1_s, SCM_ARG2, s_set_line_x); SCM_ASSERT (scm_is_integer (y1_s), y1_s, SCM_ARG3, s_set_line_x); SCM_ASSERT (scm_is_integer (x2_s), x2_s, SCM_ARG4, s_set_line_x); SCM_ASSERT (scm_is_integer (y2_s), y2_s, SCM_ARG5, s_set_line_x); SCM_ASSERT (scm_is_integer (color_s), color_s, SCM_ARG6, s_set_line_x); TOPLEVEL *toplevel = edascm_c_current_toplevel (); OBJECT *obj = edascm_to_object (line_s); int x1 = scm_to_int (x1_s); int y1 = scm_to_int (y1_s); int x2 = scm_to_int (x2_s); int y2 = scm_to_int (y2_s); /* We may need to update connectivity. */ s_conn_remove_object (toplevel, obj); switch (obj->type) { case OBJ_LINE: o_line_modify (toplevel, obj, x1, y1, LINE_END1); o_line_modify (toplevel, obj, x2, y2, LINE_END2); break; case OBJ_NET: o_net_modify (toplevel, obj, x1, y1, 0); o_net_modify (toplevel, obj, x2, y2, 1); break; case OBJ_BUS: o_bus_modify (toplevel, obj, x1, y1, 0); o_bus_modify (toplevel, obj, x2, y2, 1); break; case OBJ_PIN: /* Swap ends according to pin's whichend flag. */ o_pin_modify (toplevel, obj, x1, y1, obj->whichend ? 1 : 0); o_pin_modify (toplevel, obj, x2, y2, obj->whichend ? 0 : 1); break; default: return line_s; } o_set_color (toplevel, obj, scm_to_int (color_s)); /* We may need to update connectivity. */ s_tile_update_object (toplevel, obj); s_conn_update_object (toplevel, obj); o_page_changed (toplevel, obj); return line_s; } /*! \brief Get line parameters. * \par Function Description * Retrieves the parameters of a line object. The return value is a * list of parameters: * * -# X-coordinate of start of line * -# Y-coordinate of start of line * -# X-coordinate of end of line * -# Y-coordinate of end of line * -# Colormap index of color to be used for drawing the line * * This function also works on net, bus and pin objects. For pins, * the start is the connectable point on the pin. * * \param line_s the line object to inspect. * \return a list of line parameters. */ SCM_DEFINE (line_info, "%line-info", 1, 0, 0, (SCM line_s), "Get line parameters.") { SCM_ASSERT ((edascm_is_object_type (line_s, OBJ_LINE) || edascm_is_object_type (line_s, OBJ_NET) || edascm_is_object_type (line_s, OBJ_BUS) || edascm_is_object_type (line_s, OBJ_PIN)), line_s, SCM_ARG1, s_line_info); OBJECT *obj = edascm_to_object (line_s); SCM x1 = scm_from_int (obj->line->x[0]); SCM y1 = scm_from_int (obj->line->y[0]); SCM x2 = scm_from_int (obj->line->x[1]); SCM y2 = scm_from_int (obj->line->y[1]); SCM color = scm_from_int (obj->color); /* Swap ends according to pin's whichend flag. */ if ((obj->type == OBJ_PIN) && obj->whichend) { SCM s; s = x1; x1 = x2; x2 = s; s = y1; y1 = y2; y2 = s; } return scm_list_n (x1, y1, x2, y2, color, SCM_UNDEFINED); } /*! \brief Create a new net. * \par Function Description * Creates a new net object, with all its parameters set to default * values. * * \note Scheme API: Implements the %make-net procedure in the (geda * core object) module. * * \return a newly-created net object. */ SCM_DEFINE (make_net, "%make-net", 0, 0, 0, (), "Create a new net object.") { OBJECT *obj; SCM result; obj = o_net_new (edascm_c_current_toplevel (), OBJ_NET, NET_COLOR, 0, 0, 0, 0); result = edascm_from_object (obj); /* At the moment, the only pointer to the object is owned by the * smob. */ edascm_c_set_gc (result, 1); return result; } /*! \brief Create a new bus. * \par Function Description * Creates a new bus object, with all its parameters set to default * values. * * \note Scheme API: Implements the %make-bus procedure in the (geda * core object) module. * * \todo Do we need a way to get/set bus ripper direction? * * \return a newly-created bus object. */ SCM_DEFINE (make_bus, "%make-bus", 0, 0, 0, (), "Create a new bus object.") { OBJECT *obj; SCM result; obj = o_bus_new (edascm_c_current_toplevel (), OBJ_BUS, BUS_COLOR, 0, 0, 0, 0, 0); /* Bus ripper direction */ result = edascm_from_object (obj); /* At the moment, the only pointer to the object is owned by the * smob. */ edascm_c_set_gc (result, 1); return result; } /*! \brief Create a new pin. * \par Function description * Creates a new pin object, with all parameters set to default * values. type_s is a Scheme symbol indicating whether the pin * should be a "net" pin or a "bus" pin. * * \note Scheme API: Implements the %make-pin procedure in the (geda * core object) module. * * \return a newly-created pin object. */ SCM_DEFINE (make_pin, "%make-pin", 1, 0, 0, (SCM type_s), "Create a new pin object.") { SCM_ASSERT (scm_is_symbol (type_s), type_s, SCM_ARG1, s_make_pin); int type; if (type_s == net_sym) { type = PIN_TYPE_NET; } else if (type_s == bus_sym) { type = PIN_TYPE_BUS; } else { scm_misc_error (s_make_pin, _("Invalid pin type ~A, must be 'net or 'bus"), scm_list_1 (type_s)); } OBJECT *obj = o_pin_new (edascm_c_current_toplevel (), OBJ_PIN, PIN_COLOR, 0, 0, 0, 0, type, 0); SCM result = edascm_from_object (obj); /* At the moment, the only pointer to the object is owned by the * smob. */ edascm_c_set_gc (result, 1); return result; } /*! \brief Get the type of a pin object. * \par Function Description * Returns a symbol describing the pin type of the pin object \a * pin_s. * * \note Scheme API: Implements the %make-pin procedure in the (geda * core object) module. * * \return the symbol 'pin or 'bus. */ SCM_DEFINE (pin_type, "%pin-type", 1, 0, 0, (SCM pin_s), "Get the type of a pin object.") { SCM_ASSERT (edascm_is_object_type (pin_s, OBJ_PIN), pin_s, SCM_ARG1, s_pin_type); OBJECT *obj = edascm_to_object (pin_s); SCM result; switch (obj->pin_type) { case PIN_TYPE_NET: result = net_sym; break; case PIN_TYPE_BUS: result = bus_sym; break; default: scm_misc_error (s_make_pin, _("Object ~A has invalid pin type."), scm_list_1 (pin_s)); } return result; } /*! \brief Create a new box. * \par Function Description * Creates a new box object, with all its parameters set to default * values. * * \note Scheme API: Implements the %make-box procedure in the (geda * core object) module. * * \return a newly-created box object. */ SCM_DEFINE (make_box, "%make-box", 0, 0, 0, (), "Create a new box object.") { OBJECT *obj = o_box_new (edascm_c_current_toplevel (), OBJ_BOX, DEFAULT_COLOR, 0, 0, 0, 0); SCM result = edascm_from_object (obj); /* At the moment, the only pointer to the object is owned by the * smob. */ edascm_c_set_gc (result, 1); return result; } /*! \brief Set box parameters. * \par Function Description * Modifies a box object by setting its parameters to new values. * * \note Scheme API: Implements the %set-box! procedure in the (geda * core object) module. * * \param box_s the box object to modify. * \param x1_s the new x-coordinate of the top left of the box. * \param y1_s the new y-coordinate of the top left of the box. * \param x2_s the new x-coordinate of the bottom right of the box. * \param y2_s the new y-coordinate of the bottom right of the box. * \param color the colormap index of the color to be used for * drawing the box. * * \return the modified box object. */ SCM_DEFINE (set_box_x, "%set-box!", 6, 0, 0, (SCM box_s, SCM x1_s, SCM y1_s, SCM x2_s, SCM y2_s, SCM color_s), "Set box parameters.") { SCM_ASSERT (edascm_is_object_type (box_s, OBJ_BOX), box_s, SCM_ARG1, s_set_box_x); SCM_ASSERT (scm_is_integer (x1_s), x1_s, SCM_ARG2, s_set_box_x); SCM_ASSERT (scm_is_integer (y1_s), y1_s, SCM_ARG3, s_set_box_x); SCM_ASSERT (scm_is_integer (x2_s), x2_s, SCM_ARG4, s_set_box_x); SCM_ASSERT (scm_is_integer (y2_s), y2_s, SCM_ARG5, s_set_box_x); SCM_ASSERT (scm_is_integer (color_s), color_s, SCM_ARG6, s_set_box_x); TOPLEVEL *toplevel = edascm_c_current_toplevel (); OBJECT *obj = edascm_to_object (box_s); o_box_modify_all (toplevel, obj, scm_to_int (x1_s), scm_to_int (y1_s), scm_to_int (x2_s), scm_to_int (y2_s)); o_set_color (toplevel, obj, scm_to_int (color_s)); o_page_changed (toplevel, obj); return box_s; } /*! \brief Get box parameters. * \par Function Description * Retrieves the parameters of a box object. The return value is a * list of parameters: * * -# X-coordinate of top left of box * -# Y-coordinate of top left of box * -# X-coordinate of bottom right of box * -# Y-coordinate of bottom right of box * -# Colormap index of color to be used for drawing the box * * \param box_s the box object to inspect. * \return a list of box parameters. */ SCM_DEFINE (box_info, "%box-info", 1, 0, 0, (SCM box_s), "Get box parameters.") { SCM_ASSERT (edascm_is_object_type (box_s, OBJ_BOX), box_s, SCM_ARG1, s_box_info); OBJECT *obj = edascm_to_object (box_s); return scm_list_n (scm_from_int (obj->box->upper_x), scm_from_int (obj->box->upper_y), scm_from_int (obj->box->lower_x), scm_from_int (obj->box->lower_y), scm_from_int (obj->color), SCM_UNDEFINED); } /*! \brief Create a new circle. * \par Function Description * Creates a new circle object, with all its parameters set to default * values. * * \note Scheme API: Implements the %make-circle procedure in the * (geda core object) module. * * \return a newly-created circle object. */ SCM_DEFINE (make_circle, "%make-circle", 0, 0, 0, (), "Create a new circle object.") { OBJECT *obj = o_circle_new (edascm_c_current_toplevel (), OBJ_CIRCLE, DEFAULT_COLOR, 0, 0, 1); SCM result = edascm_from_object (obj); /* At the moment, the only pointer to the object is owned by the * smob. */ edascm_c_set_gc (result, 1); return result; } /*! \brief Set circle parameters. * \par Function Description * Modifies a circle object by setting its parameters to new values. * * \note Scheme API: Implements the %set-circle! procedure in the * (geda core object) module. * * \param circle_s the circle object to modify. * \param x_s the new x-coordinate of the center of the circle. * \param y_s the new y-coordinate of the center of the circle. * \param r_s the new radius of the circle. * \param color the colormap index of the color to be used for * drawing the circle. * * \return the modified circle object. */ SCM_DEFINE (set_circle_x, "%set-circle!", 5, 0, 0, (SCM circle_s, SCM x_s, SCM y_s, SCM r_s, SCM color_s), "Set circle parameters") { SCM_ASSERT (edascm_is_object_type (circle_s, OBJ_CIRCLE), circle_s, SCM_ARG1, s_set_circle_x); SCM_ASSERT (scm_is_integer (x_s), x_s, SCM_ARG2, s_set_circle_x); SCM_ASSERT (scm_is_integer (y_s), y_s, SCM_ARG3, s_set_circle_x); SCM_ASSERT (scm_is_integer (r_s), r_s, SCM_ARG4, s_set_circle_x); SCM_ASSERT (scm_is_integer (color_s), color_s, SCM_ARG5, s_set_circle_x); TOPLEVEL *toplevel = edascm_c_current_toplevel (); OBJECT *obj = edascm_to_object (circle_s); o_circle_modify (toplevel, obj, scm_to_int(x_s), scm_to_int(y_s), CIRCLE_CENTER); o_circle_modify (toplevel, obj, scm_to_int(r_s), 0, CIRCLE_RADIUS); o_set_color (toplevel, obj, scm_to_int (color_s)); o_page_changed (toplevel, obj); return circle_s; } /*! \brief Get circle parameters. * \par Function Description * Retrieves the parameters of a circle object. The return value is a * list of parameters: * * -# X-coordinate of center of circle * -# Y-coordinate of center of circle * -# Radius of circle * -# Colormap index of color to be used for drawing the circle * * \param circle_s the circle object to inspect. * \return a list of circle parameters. */ SCM_DEFINE (circle_info, "%circle-info", 1, 0, 0, (SCM circle_s), "Get circle parameters.") { SCM_ASSERT (edascm_is_object_type (circle_s, OBJ_CIRCLE), circle_s, SCM_ARG1, s_circle_info); OBJECT *obj = edascm_to_object (circle_s); return scm_list_n (scm_from_int (obj->circle->center_x), scm_from_int (obj->circle->center_y), scm_from_int (obj->circle->radius), scm_from_int (obj->color), SCM_UNDEFINED); } /*! \brief Create a new arc. * \par Function Description * Creates a new arc object, with all its parameters set to default * values. * * \note Scheme API: Implements the %make-arc procedure in the * (geda core object) module. * * \return a newly-created arc object. */ SCM_DEFINE (make_arc, "%make-arc", 0, 0, 0, (), "Create a new arc object.") { OBJECT *obj = o_arc_new (edascm_c_current_toplevel (), OBJ_ARC, DEFAULT_COLOR, 0, 0, 1, 0, 0); SCM result = edascm_from_object (obj); /* At the moment, the only pointer to the object is owned by the * smob. */ edascm_c_set_gc (result, 1); return result; } /*! \brief Set arc parameters. * \par Function Description * Modifies a arc object by setting its parameters to new values. * * \note Scheme API: Implements the %set-arc! procedure in the * (geda core object) module. * * \param arc_s the arc object to modify. * \param x_s the new x-coordinate of the center of the arc. * \param y_s the new y-coordinate of the center of the arc. * \param r_s the new radius of the arc. * \param start_angle_s the start angle of the arc. * \param end_angle_s the start angle of the arc. * \param color_s the colormap index of the color to be used for * drawing the arc. * * \return the modified arc object. */ SCM_DEFINE (set_arc_x, "%set-arc!", 7, 0, 0, (SCM arc_s, SCM x_s, SCM y_s, SCM r_s, SCM start_angle_s, SCM end_angle_s, SCM color_s), "Set arc parameters") { SCM_ASSERT (edascm_is_object_type (arc_s, OBJ_ARC), arc_s, SCM_ARG1, s_set_arc_x); SCM_ASSERT (scm_is_integer (x_s), x_s, SCM_ARG2, s_set_arc_x); SCM_ASSERT (scm_is_integer (y_s), y_s, SCM_ARG3, s_set_arc_x); SCM_ASSERT (scm_is_integer (r_s), r_s, SCM_ARG4, s_set_arc_x); SCM_ASSERT (scm_is_integer (color_s), color_s, SCM_ARG7, s_set_arc_x); SCM_ASSERT (scm_is_integer (start_angle_s), start_angle_s, SCM_ARG5, s_set_arc_x); SCM_ASSERT (scm_is_integer (end_angle_s), end_angle_s, SCM_ARG6, s_set_arc_x); TOPLEVEL *toplevel = edascm_c_current_toplevel (); OBJECT *obj = edascm_to_object (arc_s); o_arc_modify (toplevel, obj, scm_to_int(x_s), scm_to_int(y_s), ARC_CENTER); o_arc_modify (toplevel, obj, scm_to_int(r_s), 0, ARC_RADIUS); o_arc_modify (toplevel, obj, scm_to_int(start_angle_s), 0, ARC_START_ANGLE); o_arc_modify (toplevel, obj, scm_to_int(end_angle_s), 0, ARC_END_ANGLE); o_set_color (toplevel, obj, scm_to_int (color_s)); o_page_changed (toplevel, obj); return arc_s; } /*! \brief Get arc parameters. * \par Function Description * Retrieves the parameters of a arc object. The return value is a * list of parameters: * * -# X-coordinate of center of arc * -# Y-coordinate of center of arc * -# Radius of arc * -# Start angle of arc * -# End angle of arc * -# Colormap index of color to be used for drawing the arc * * \note Scheme API: Implements the %arc-info procedure in the * (geda core object) module. * * \param arc_s the arc object to inspect. * \return a list of arc parameters. */ SCM_DEFINE (arc_info, "%arc-info", 1, 0, 0, (SCM arc_s), "Get arc parameters.") { SCM_ASSERT (edascm_is_object_type (arc_s, OBJ_ARC), arc_s, SCM_ARG1, s_arc_info); OBJECT *obj = edascm_to_object (arc_s); return scm_list_n (scm_from_int (obj->arc->x), scm_from_int (obj->arc->y), scm_from_int (obj->arc->width / 2), scm_from_int (obj->arc->start_angle), scm_from_int (obj->arc->end_angle), scm_from_int (obj->color), SCM_UNDEFINED); } /*! \brief Create a new text item. * \par Function Description * Creates a new text object, with all its parameters set to default * values. * * \note Scheme API: Implements the %make-text procedure in the * (geda core object) module. * * \return a newly-created text object. */ SCM_DEFINE (make_text, "%make-text", 0, 0, 0, (), "Create a new text object.") { OBJECT *obj = o_text_new (edascm_c_current_toplevel (), OBJ_TEXT, DEFAULT_COLOR, 0, 0, LOWER_LEFT, 0, "", 10, VISIBLE, SHOW_NAME_VALUE); SCM result = edascm_from_object (obj); /* At the moment, the only pointer to the object is owned by the * smob. */ edascm_c_set_gc (result, 1); return result; } /*! \brief Set text parameters. * \par Function Description * Modifies a text object by setting its parameters to new values. * * The alignment \a align_s should be a symbol of the form "x-y" where * x can be one of "lower", "middle", or "upper", and y can be one of * "left", "center" or "right". \a show_s determines which parts of an * attribute-formatted string should be shown, and should be one of * the symbols "name", "value" or "both". * * \note Scheme API: Implements the %set-text! procedure in the * (geda core object) module. * * \param text_s the text object to modify. * \param x_s the new x-coordinate of the anchor of the text. * \param y_s the new y-coordinate of the anchor of the text. * \param align_s the new alignment of the text on the anchor. * \param angle_s the angle the text in degrees (0, 90, 180 or 270). * \param string_s the new string to display. * \param size_s the new text size. * \param visible_s the new text visibility (SCM_BOOL_T or SCM_BOOL_F). * \param show_s the new attribute part visibility setting. * \param color_s the colormap index of the color to be used for * drawing the text. * * \return the modified text object. */ SCM_DEFINE (set_text_x, "%set-text!", 10, 0, 0, (SCM text_s, SCM x_s, SCM y_s, SCM align_s, SCM angle_s, SCM string_s, SCM size_s, SCM visible_s, SCM show_s, SCM color_s), "Set text parameters") { SCM_ASSERT (edascm_is_object_type (text_s, OBJ_TEXT), text_s, SCM_ARG1, s_set_text_x); SCM_ASSERT (scm_is_integer (x_s), x_s, SCM_ARG2, s_set_text_x); SCM_ASSERT (scm_is_integer (y_s), y_s, SCM_ARG3, s_set_text_x); SCM_ASSERT (scm_is_symbol (align_s), align_s, SCM_ARG4, s_set_text_x); SCM_ASSERT (scm_is_integer (angle_s), angle_s, SCM_ARG5, s_set_text_x); SCM_ASSERT (scm_is_string (string_s), string_s, SCM_ARG6, s_set_text_x); SCM_ASSERT (scm_is_integer (size_s), size_s, SCM_ARG7, s_set_text_x); SCM_ASSERT (scm_is_symbol (show_s), show_s, 9, s_set_text_x); SCM_ASSERT (scm_is_integer (color_s), color_s, 10, s_set_text_x); TOPLEVEL *toplevel = edascm_c_current_toplevel (); OBJECT *obj = edascm_to_object (text_s); /* Alignment. Sadly we can't switch on pointers. :-( */ int align; if (align_s == lower_left_sym) { align = LOWER_LEFT; } else if (align_s == middle_left_sym) { align = MIDDLE_LEFT; } else if (align_s == upper_left_sym) { align = UPPER_LEFT; } else if (align_s == lower_center_sym) { align = LOWER_MIDDLE; } else if (align_s == middle_center_sym) { align = MIDDLE_MIDDLE; } else if (align_s == upper_center_sym) { align = UPPER_MIDDLE; } else if (align_s == lower_right_sym) { align = LOWER_RIGHT; } else if (align_s == middle_right_sym) { align = MIDDLE_RIGHT; } else if (align_s == upper_right_sym) { align = UPPER_RIGHT; } else { scm_misc_error (s_set_text_x, _("Invalid text alignment ~A."), scm_list_1 (align_s)); } /* Angle */ int angle = scm_to_int (angle_s); switch (angle) { case 0: case 90: case 180: case 270: /* These are all fine. */ break; default: /* Otherwise, not fine. */ scm_misc_error (s_set_text_x, _("Invalid text angle ~A. Must be 0, 90, 180, or 270 degrees"), scm_list_1 (angle_s)); } /* Visibility */ int visibility; if (scm_is_false (visible_s)) { visibility = INVISIBLE; } else { visibility = VISIBLE; } /* Name/value visibility */ int show; if (show_s == name_sym) { show = SHOW_NAME; } else if (show_s == value_sym) { show = SHOW_VALUE; } else if (show_s == both_sym) { show = SHOW_NAME_VALUE; } else { scm_misc_error (s_set_text_x, _("Invalid text name/value visibility ~A."), scm_list_1 (show_s)); } /* Actually make changes */ o_emit_pre_change_notify (toplevel, obj); obj->text->x = scm_to_int (x_s); obj->text->y = scm_to_int (y_s); obj->text->alignment = align; obj->text->angle = angle; obj->text->size = scm_to_int (size_s); obj->visibility = visibility; obj->show_name_value = show; o_emit_change_notify (toplevel, obj); char *tmp = scm_to_utf8_string (string_s); o_text_set_string (toplevel, obj, tmp); free (tmp); o_text_recreate (toplevel, obj); /* Color */ o_set_color (toplevel, obj, scm_to_int (color_s)); o_page_changed (toplevel, obj); return text_s; } /*! \brief Get text parameters. * \par Function Description * Retrieves the parameters of a text object. The return value is a * list of parameters: * * -# X-coordinate of anchor of text * -# Y-coordinate of anchor of text * -# Alignment of text * -# Angle of text * -# The string contained in the text object * -# Size of text * -# Text visibility * -# Which part(s) of an text attribute are shown * -# Colormap index of color to be used for drawing the text * * \note Scheme API: Implements the %text-info procedure in the * (geda core object) module. * * \param text_s the text object to inspect. * \return a list of text parameters. */ SCM_DEFINE (text_info, "%text-info", 1, 0, 0, (SCM text_s), "Get text parameters.") { SCM_ASSERT (edascm_is_object_type (text_s, OBJ_TEXT), text_s, SCM_ARG1, s_text_info); TOPLEVEL *toplevel = edascm_c_current_toplevel (); OBJECT *obj = edascm_to_object (text_s); SCM align_s, visible_s, show_s; switch (obj->text->alignment) { case LOWER_LEFT: align_s = lower_left_sym; break; case MIDDLE_LEFT: align_s = middle_left_sym; break; case UPPER_LEFT: align_s = upper_left_sym; break; case LOWER_MIDDLE: align_s = lower_center_sym; break; case MIDDLE_MIDDLE: align_s = middle_center_sym; break; case UPPER_MIDDLE: align_s = upper_center_sym; break; case LOWER_RIGHT: align_s = lower_right_sym; break; case MIDDLE_RIGHT: align_s = middle_right_sym; break; case UPPER_RIGHT: align_s = upper_right_sym; break; default: scm_misc_error (s_text_info, _("Text object ~A has invalid text alignment ~A"), scm_list_2 (text_s, scm_from_int (obj->text->alignment))); } switch (obj->visibility) { case VISIBLE: visible_s = SCM_BOOL_T; break; case INVISIBLE: visible_s = SCM_BOOL_F; break; default: scm_misc_error (s_text_info, _("Text object ~A has invalid visibility ~A"), scm_list_2 (text_s, scm_from_int (obj->visibility))); } switch (obj->show_name_value) { case SHOW_NAME: show_s = name_sym; break; case SHOW_VALUE: show_s = value_sym; break; case SHOW_NAME_VALUE: show_s = both_sym; break; default: scm_misc_error (s_text_info, _("Text object ~A has invalid text attribute visibility ~A"), scm_list_2 (text_s, scm_from_int (obj->show_name_value))); } return scm_list_n (scm_from_int (obj->text->x), scm_from_int (obj->text->y), align_s, scm_from_int (obj->text->angle), scm_from_utf8_string (o_text_get_string (toplevel, obj)), scm_from_int (obj->text->size), visible_s, show_s, scm_from_int (obj->color), SCM_UNDEFINED); } /*! \brief Get objects that are connected to an object. * \par Function Description * Returns a list of all objects directly connected to \a obj_s. If * \a obj_s is not included in a page, throws a Scheme error. If \a * obj_s is not a pin, net, bus, or complex object, returns the empty * list. * * \note Scheme API: Implements the %object-connections procedure of * the (geda core object) module. * * \param obj_s #OBJECT smob for object to get connections for. * \return a list of #OBJECT smobs. */ SCM_DEFINE (object_connections, "%object-connections", 1, 0, 0, (SCM obj_s), "Get objects that are connected to an object.") { /* Ensure that the argument is an object smob */ SCM_ASSERT (edascm_is_object (obj_s), obj_s, SCM_ARG1, s_object_connections); TOPLEVEL *toplevel = edascm_c_current_toplevel (); OBJECT *obj = edascm_to_object (obj_s); if (o_get_page (toplevel, obj) == NULL) { scm_error (edascm_object_state_sym, s_object_connections, _("Object ~A is not included in a page."), scm_list_1 (obj_s), SCM_EOL); } GList *lst = s_conn_return_others (NULL, obj); SCM result = edascm_from_object_glist (lst); g_list_free (lst); return result; } /*! \brief Get the complex object that contains an object. * \par Function Description * Returns the complex object that contains the object \a obj_s. If * \a obj_s is not part of a component, returns SCM_BOOL_F. * * \note Scheme API: Implements the %object-complex procedure of the * (geda core object) module. * * \param obj_s #OBJECT smob for object to get component of. * \return the #OBJECT smob of the containing component, or SCM_BOOL_F. */ SCM_DEFINE (object_complex, "%object-complex", 1, 0, 0, (SCM obj_s), "Get containing complex object of an object.") { /* Ensure that the argument is an object smob */ SCM_ASSERT (edascm_is_object (obj_s), obj_s, SCM_ARG1, s_object_complex); TOPLEVEL *toplevel = edascm_c_current_toplevel (); OBJECT *obj = edascm_to_object (obj_s); OBJECT *parent = o_get_parent (toplevel, obj); if (parent == NULL) return SCM_BOOL_F; return edascm_from_object (parent); } /*! \brief Make a new, empty path object. * \par Function Description * Creates a new, empty path object with default color, stroke and * fill options. * * \note Scheme API: Implements the %make-path procedure in the (geda * core object) module. * * \return a newly-created path object. */ SCM_DEFINE (make_path, "%make-path", 0, 0, 0, (), "Create a new path object") { OBJECT *obj = o_path_new (edascm_c_current_toplevel (), OBJ_PATH, DEFAULT_COLOR, ""); SCM result = edascm_from_object (obj); /* At the moment, the only pointer to the object is owned by the * smob. */ edascm_c_set_gc (result, TRUE); return result; } /*! \brief Get the number of elements in a path. * \par Function Description * Retrieves the number of path elements in the path object \a obj_s. * * \note Scheme API: Implements the %path-length procedure in the * (geda core object) module. * * \param obj_s #OBJECT smob for path object to inspect. * \return The number of path elements in \a obj_s. */ SCM_DEFINE (path_length, "%path-length", 1, 0, 0, (SCM obj_s), "Get number of elements in a path object.") { /* Ensure that the argument is a path object */ SCM_ASSERT (edascm_is_object_type (obj_s, OBJ_PATH), obj_s, SCM_ARG1, s_path_length); OBJECT *obj = edascm_to_object (obj_s); return scm_from_int (obj->path->num_sections); } /*! \brief Get one of the elements from a path. * \par Function Description * Retrieves a path element at index \a index_s from the path object * \a obj_s. If \a index_s is not a valid index, raises a Scheme * "out-of-range" error. * * The return value is a list. The first element in the list is a * symbol indicating the type of path element ("moveto", "lineto", * "curveto" or "closepath"), and the remainder of the list contains * zero or more control point coordinates, depending on the type of * path element. Each element is evaluated relative to the current * path position. * * - moveto: x and y coordinates of position to step to. * - lineto: x and y coordinates of straight line endpoint. * - curveto: coordinates of first Bezier control point; coordinates * of second control point; and coordinates of curve endpoint. * - closepath: No coordinate parameters. * * All coordinates are absolute. * * \note Scheme API: Implements the %path-ref procedure in the (geda * core object) module. * * \param obj_s #OBJECT smob of path object to get element from. * \param index_s Index of element to retrieve from \a obj_s * \return A list containing the requested path element data. */ SCM_DEFINE (path_ref, "%path-ref", 2, 0, 0, (SCM obj_s, SCM index_s), "Get a path element from a path object.") { /* Ensure that the arguments are a path object and integer */ SCM_ASSERT (edascm_is_object_type (obj_s, OBJ_PATH), obj_s, SCM_ARG1, s_path_ref); SCM_ASSERT (scm_is_integer (index_s), index_s, SCM_ARG2, s_path_ref); OBJECT *obj = edascm_to_object (obj_s); int idx = scm_to_int (index_s); /* Check index is valid for path */ if ((idx < 0) || (idx >= obj->path->num_sections)) { scm_out_of_range (s_path_ref, index_s); } PATH_SECTION *section = &obj->path->sections[idx]; switch (section->code) { case PATH_MOVETO: case PATH_MOVETO_OPEN: return scm_list_3 (moveto_sym, scm_from_int (section->x3), scm_from_int (section->y3)); case PATH_LINETO: return scm_list_3 (lineto_sym, scm_from_int (section->x3), scm_from_int (section->y3)); case PATH_CURVETO: return scm_list_n (curveto_sym, scm_from_int (section->x1), scm_from_int (section->y1), scm_from_int (section->x2), scm_from_int (section->y2), scm_from_int (section->x3), scm_from_int (section->y3), SCM_UNDEFINED); case PATH_END: return scm_list_1 (closepath_sym); default: scm_misc_error (s_path_ref, _("Path object ~A has invalid element type ~A at index ~A"), scm_list_3 (obj_s, scm_from_int (section->code), index_s)); } } /*! \brief Remove an element from a path. * \par Function Description * Removes the path element at index \a index_s from the path object * \a obj_s. If \a index_s is not a valid index, raises a Scheme * "out-of-range" error. * * \note Scheme API: Implements the %path-remove! procedure in the * (geda core object) module. * * \param obj_s #OBJECT smob of path object to remove element from. * \param index_s Index of element to remove from \a obj_s. * \return \a obj_s. */ SCM_DEFINE (path_remove_x, "%path-remove!", 2, 0, 0, (SCM obj_s, SCM index_s), "Remove a path element from a path object.") { /* Ensure that the arguments are a path object and integer */ SCM_ASSERT (edascm_is_object_type (obj_s, OBJ_PATH), obj_s, SCM_ARG1, s_path_ref); SCM_ASSERT (scm_is_integer (index_s), index_s, SCM_ARG2, s_path_ref); TOPLEVEL *toplevel = edascm_c_current_toplevel (); OBJECT *obj = edascm_to_object (obj_s); int idx = scm_to_int (index_s); if ((idx < 0) || (idx >= obj->path->num_sections)) { /* Index is valid for path */ scm_out_of_range (s_path_ref, index_s); } o_emit_pre_change_notify (toplevel, obj); if (idx + 1 == obj->path->num_sections) { /* Section is last in path */ obj->path->num_sections--; } else { /* Remove section at index by moving all sections above index one * location down. */ memmove (&obj->path->sections[idx], &obj->path->sections[idx+1], sizeof (PATH_SECTION) * (obj->path->num_sections - idx - 1)); obj->path->num_sections--; } o_emit_change_notify (toplevel, obj); o_page_changed (toplevel, obj); return obj_s; } /*! \brief Insert an element into a path. * \par Function Description * Inserts a path element into the path object \a obj_s at index \a * index_s. The type of element to be inserted is specified by the * symbol \a type_s, and the remaining optional integer arguments * provide as many absolute coordinate pairs as are required by that * element type: * * - "closepath" elements require no coordinate arguments; * - "moveto" and "lineto" elements require one coordinate pair, for * the endpoint; * - "curveto" elements require the coordinates of the first control * point, coordinates of the second control point, and coordinates * of the endpoint. * * If the index is negative, or is greater than or equal to the number * of elements currently in the path, the new element will be appended * to the path. * * \note Scheme API: Implements the %path-insert! procedure of the * (geda core object) module. * * \param obj_s #OBJECT smob for the path object to modify. * \param index_s Index at which to insert new element. * \param type_s Symbol indicating what type of element to insert. * \param x1_s X-coordinate of first coordinate pair. * \param y1_s Y-coordinate of first coordinate pair. * \param x2_s X-coordinate of second coordinate pair. * \param y2_s Y-coordinate of second coordinate pair. * \param x3_s X-coordinate of third coordinate pair. * \param y3_s Y-coordinate of third coordinate pair. * \return \a obj_s. */ SCM_DEFINE (path_insert_x, "%path-insert", 3, 6, 0, (SCM obj_s, SCM index_s, SCM type_s, SCM x1_s, SCM y1_s, SCM x2_s, SCM y2_s, SCM x3_s, SCM y3_s), "Insert a path element into a path object.") { SCM_ASSERT (edascm_is_object_type (obj_s, OBJ_PATH), obj_s, SCM_ARG1, s_path_insert_x); SCM_ASSERT (scm_is_integer (index_s), index_s, SCM_ARG2, s_path_insert_x); SCM_ASSERT (scm_is_symbol (type_s), type_s, SCM_ARG3, s_path_insert_x); TOPLEVEL *toplevel = edascm_c_current_toplevel (); OBJECT *obj = edascm_to_object (obj_s); PATH *path = obj->path; PATH_SECTION section = {0, 0, 0, 0, 0, 0, 0}; /* Check & extract path element type. */ if (type_s == closepath_sym) { section.code = PATH_END; } else if (type_s == moveto_sym) { section.code = PATH_MOVETO; } else if (type_s == lineto_sym) { section.code = PATH_LINETO; } else if (type_s == curveto_sym) { section.code = PATH_CURVETO; } else { scm_misc_error (s_path_insert_x, _("Invalid path element type ~A."), scm_list_1 (type_s)); } /* Check the right number of coordinates have been provided. */ switch (section.code) { case PATH_CURVETO: SCM_ASSERT (scm_is_integer (x1_s), x1_s, SCM_ARG4, s_path_insert_x); section.x1 = scm_to_int (x1_s); SCM_ASSERT (scm_is_integer (y1_s), y1_s, SCM_ARG5, s_path_insert_x); section.y1 = scm_to_int (y1_s); SCM_ASSERT (scm_is_integer (x2_s), x2_s, SCM_ARG6, s_path_insert_x); section.x2 = scm_to_int (x2_s); SCM_ASSERT (scm_is_integer (y2_s), y2_s, SCM_ARG7, s_path_insert_x); section.y2 = scm_to_int (y2_s); SCM_ASSERT (scm_is_integer (x3_s), x3_s, 8, s_path_insert_x); section.x3 = scm_to_int (x3_s); SCM_ASSERT (scm_is_integer (y3_s), y3_s, 9, s_path_insert_x); section.y3 = scm_to_int (y3_s); break; case PATH_MOVETO: case PATH_MOVETO_OPEN: case PATH_LINETO: SCM_ASSERT (scm_is_integer (x1_s), x1_s, SCM_ARG4, s_path_insert_x); section.x3 = scm_to_int (x1_s); SCM_ASSERT (scm_is_integer (y1_s), y1_s, SCM_ARG5, s_path_insert_x); section.y3 = scm_to_int (y1_s); break; case PATH_END: break; } /* Start making changes */ o_emit_pre_change_notify (toplevel, obj); /* Make sure there's enough space for the new element */ if (path->num_sections == path->num_sections_max) { path->sections = g_realloc (path->sections, (path->num_sections_max <<= 1) * sizeof (PATH_SECTION)); } /* Move path contents to make a gap in the right place. */ int idx = scm_to_int (index_s); if ((idx < 0) || (idx > path->num_sections)) { idx = path->num_sections; } else { memmove (&path->sections[idx+1], &path->sections[idx], sizeof (PATH_SECTION) * (path->num_sections - idx)); } path->num_sections++; path->sections[idx] = section; o_emit_change_notify (toplevel, obj); o_page_changed (toplevel, obj); return obj_s; } /*! \brief Create a new, empty picture object. * \par Function Description * Creates a new picture object with no filename, no image data and * all other parameters set to default values. It is initially set to * be embedded. * * \note Scheme API: Implements the %make-picture procedure in the * (geda core object) module. * * \return a newly-created picture object. */ SCM_DEFINE (make_picture, "%make-picture", 0, 0, 0, (), "Create a new picture object") { OBJECT *obj = o_picture_new (edascm_c_current_toplevel (), NULL, 0, NULL, OBJ_PICTURE, 0, 0, 0, 0, 0, FALSE, TRUE); SCM result = edascm_from_object (obj); /* At the moment, the only pointer to the object is owned by the * smob. */ edascm_c_set_gc (result, 1); return result; } /*! \brief Get picture object parameters. * \par Function Description * Retrieves the parameters of a picture object. The return value is * a list of parameters: * * -# Filename of picture. * -# X-coordinate of top left of picture. * -# Y-coordinate of top left of picture. * -# X-coordinate of bottom right of picture. * -# Y-coordinate of bottom right of picture. * -# Rotation angle. * -# Whether object is mirrored. * * \note Scheme API: Implements the %picture-info procedure in the * (geda core object) module. * * \param obj_s the picture object to inspect. * \return a list of picture object parameters. */ SCM_DEFINE (picture_info, "%picture-info", 1, 0, 0, (SCM obj_s), "Get picture object parameters") { SCM_ASSERT (edascm_is_object_type (obj_s, OBJ_PICTURE), obj_s, SCM_ARG1, s_picture_info); TOPLEVEL *toplevel = edascm_c_current_toplevel (); OBJECT *obj = edascm_to_object (obj_s); const gchar *filename = o_picture_get_filename (toplevel, obj); SCM filename_s = SCM_BOOL_F; if (filename != NULL) { filename_s = scm_from_utf8_string (filename); } return scm_list_n (filename_s, scm_from_int (obj->picture->upper_x), scm_from_int (obj->picture->upper_y), scm_from_int (obj->picture->lower_x), scm_from_int (obj->picture->lower_y), scm_from_int (obj->picture->angle), (obj->picture->mirrored ? SCM_BOOL_T : SCM_BOOL_F), SCM_UNDEFINED); } /* \brief Set picture object parameters. * \par Function Description * Sets the parameters of the picture object \a obj_s. * * \note Scheme API: Implements the %set-picture! procedure in the * (geda core object) module. * * \param obj_s the picture object to modify * \param x1_s the new x-coordinate of the top left of the picture. * \param y1_s the new y-coordinate of the top left of the picture. * \param x2_s the new x-coordinate of the bottom right of the picture. * \param y2_s the new y-coordinate of the bottom right of the picture. * \param angle_s the new rotation angle. * \param mirror_s whether the picture object should be mirrored. * \return the modify \a obj_s. */ SCM_DEFINE (set_picture_x, "%set-picture!", 7, 0, 0, (SCM obj_s, SCM x1_s, SCM y1_s, SCM x2_s, SCM y2_s, SCM angle_s, SCM mirror_s), "Set picture object parameters") { SCM_ASSERT (edascm_is_object_type (obj_s, OBJ_PICTURE), obj_s, SCM_ARG1, s_set_picture_x); SCM_ASSERT (scm_is_integer (x1_s), x1_s, SCM_ARG2, s_set_picture_x); SCM_ASSERT (scm_is_integer (y1_s), x1_s, SCM_ARG3, s_set_picture_x); SCM_ASSERT (scm_is_integer (x2_s), x1_s, SCM_ARG4, s_set_picture_x); SCM_ASSERT (scm_is_integer (y2_s), x1_s, SCM_ARG5, s_set_picture_x); SCM_ASSERT (scm_is_integer (angle_s), angle_s, SCM_ARG6, s_set_picture_x); TOPLEVEL *toplevel = edascm_c_current_toplevel (); OBJECT *obj = edascm_to_object (obj_s); /* Angle */ int angle = scm_to_int (angle_s); switch (angle) { case 0: case 90: case 180: case 270: /* These are all fine. */ break; default: /* Otherwise, not fine. */ scm_misc_error (s_set_picture_x, _("Invalid picture angle ~A. Must be 0, 90, 180, or 270 degrees"), scm_list_1 (angle_s)); } o_emit_pre_change_notify (toplevel, obj); obj->picture->angle = scm_to_int (angle_s); obj->picture->mirrored = scm_is_true (mirror_s); o_picture_modify_all (toplevel, obj, scm_to_int (x1_s), scm_to_int (y1_s), scm_to_int (x2_s), scm_to_int (y2_s)); o_emit_change_notify (toplevel, obj); return obj_s; } /*! \brief Set a picture object's data from a vector. * \par Function Description * Sets the image data for the picture object \a obj_s from the vector * \a data_s, and set its \a filename. If the contents of \a data_s * could not be successfully loaded as an image, raises an error. The * contents of \a data_s should be image data encoded in on-disk * format. * * \note Scheme API: Implements the %set-picture-data/vector! * procedure in the (geda core object) module. * * \param obj_s The picture object to modify. * \param data_s Vector containing encoded image data. * \param filename_s New filename for \a obj_s. * \return \a obj_s. */ SCM_DEFINE (set_picture_data_vector_x, "%set-picture-data/vector!", 3, 0, 0, (SCM obj_s, SCM data_s, SCM filename_s), "Set a picture object's data from a vector.") { SCM vec_s = scm_any_to_s8vector (data_s); /* Check argument types */ SCM_ASSERT (edascm_is_object_type (obj_s, OBJ_PICTURE), obj_s, SCM_ARG1, s_set_picture_data_vector_x); SCM_ASSERT (scm_is_true (scm_s8vector_p (vec_s)), data_s, SCM_ARG2, s_set_picture_data_vector_x); SCM_ASSERT (scm_is_string (filename_s), filename_s, SCM_ARG3, s_set_picture_data_vector_x); scm_dynwind_begin (0); /* Convert vector to contiguous buffer */ scm_t_array_handle handle; size_t len; ssize_t inc; const scm_t_int8 *elt = scm_s8vector_elements (vec_s, &handle, &len, &inc); gchar *buf = g_malloc (len); int i; scm_dynwind_unwind_handler (g_free, buf, SCM_F_WIND_EXPLICITLY); for (i = 0; i < len; i++, elt += inc) { buf[i] = (gchar) *elt; } scm_array_handle_release (&handle); gboolean status; GError *error = NULL; TOPLEVEL *toplevel = edascm_c_current_toplevel (); OBJECT *obj = edascm_to_object (obj_s); gchar *filename = scm_to_utf8_string (filename_s); scm_dynwind_unwind_handler (g_free, filename, SCM_F_WIND_EXPLICITLY); status = o_picture_set_from_buffer (toplevel, obj, filename, buf, len, &error); if (!status) { scm_dynwind_unwind_handler ((void (*)(void *)) g_error_free, error, SCM_F_WIND_EXPLICITLY); scm_misc_error (s_set_picture_data_vector_x, "Failed to set picture image data from vector: ~S", scm_list_1 (scm_from_utf8_string (error->message))); } o_page_changed (toplevel, obj); scm_dynwind_end (); return obj_s; } /*! \brief Translate an object. * \par Function Description * Translates \a obj_s by \a dx_s in the x-axis and \a dy_s in the * y-axis. * * \note Scheme API: Implements the %translate-object! procedure of the * (geda core object) module. * * \param obj_s #OBJECT smob for object to translate. * \param dx_s Integer distance to translate along x-axis. * \param dy_s Integer distance to translate along y-axis. * \return \a obj_s. */ SCM_DEFINE (translate_object_x, "%translate-object!", 3, 0, 0, (SCM obj_s, SCM dx_s, SCM dy_s), "Translate an object.") { /* Check argument types */ SCM_ASSERT (edascm_is_object (obj_s), obj_s, SCM_ARG1, s_translate_object_x); SCM_ASSERT (scm_is_integer (dx_s), dx_s, SCM_ARG2, s_translate_object_x); SCM_ASSERT (scm_is_integer (dy_s), dy_s, SCM_ARG3, s_translate_object_x); TOPLEVEL *toplevel = edascm_c_current_toplevel (); OBJECT *obj = edascm_to_object (obj_s); int dx = scm_to_int (dx_s); int dy = scm_to_int (dy_s); o_emit_pre_change_notify (toplevel, obj); o_translate_world (toplevel, dx, dy, obj); o_emit_change_notify (toplevel, obj); o_page_changed (toplevel, obj); return obj_s; } /*! \brief Rotate an object. * \par Function Description * Rotates \a obj_s anti-clockwise by \a angle_s about the point * specified by \a x_s and \a y_s. \a angle_s must be an integer * multiple of 90 degrees. * * \note Scheme API: Implements the %rotate-object! procedure of the * (geda core object) module. * * \param obj_s #OBJECT smob for object to translate. * \param x_s x-coordinate of centre of rotation. * \param y_s y-coordinate of centre of rotation. * \param angle_s Angle to rotate by. * \return \a obj_s. */ SCM_DEFINE (rotate_object_x, "%rotate-object!", 4, 0, 0, (SCM obj_s, SCM x_s, SCM y_s, SCM angle_s), "Rotate an object.") { /* Check argument types */ SCM_ASSERT (edascm_is_object (obj_s), obj_s, SCM_ARG1, s_rotate_object_x); SCM_ASSERT (scm_is_integer (x_s), x_s, SCM_ARG2, s_rotate_object_x); SCM_ASSERT (scm_is_integer (y_s), y_s, SCM_ARG3, s_rotate_object_x); SCM_ASSERT (scm_is_integer (angle_s), angle_s, SCM_ARG4, s_rotate_object_x); TOPLEVEL *toplevel = edascm_c_current_toplevel (); OBJECT *obj = edascm_to_object (obj_s); int x = scm_to_int (x_s); int y = scm_to_int (y_s); int angle = scm_to_int (angle_s); /* FIXME Work around horribly broken libgeda behaviour. Some * libgeda functions treat a rotation of -90 degrees as a rotation * of +90 degrees, etc., which is not sane. */ while (angle < 0) angle += 360; while (angle >= 360) angle -= 360; SCM_ASSERT (angle % 90 == 0, angle_s, SCM_ARG4, s_rotate_object_x); o_emit_pre_change_notify (toplevel, obj); o_rotate_world (toplevel, x, y, angle, obj); o_emit_change_notify (toplevel, obj); o_page_changed (toplevel, obj); return obj_s; } /*! \brief Mirror an object. * \par Function Description * Mirrors \a obj_s in the line x = \a x_s. * * \note Scheme API: Implements the %mirror-object! procedure of the * (geda core object) module. * * \param obj_s #OBJECT smob for object to translate. * \param x_s x-coordinate of centre of rotation. * \return \a obj_s. */ SCM_DEFINE (mirror_object_x, "%mirror-object!", 2, 0, 0, (SCM obj_s, SCM x_s), "Mirror an object.") { /* Check argument types */ SCM_ASSERT (edascm_is_object (obj_s), obj_s, SCM_ARG1, s_mirror_object_x); SCM_ASSERT (scm_is_integer (x_s), x_s, SCM_ARG2, s_mirror_object_x); TOPLEVEL *toplevel = edascm_c_current_toplevel (); OBJECT *obj = edascm_to_object (obj_s); int x = scm_to_int (x_s); o_emit_pre_change_notify (toplevel, obj); o_mirror_world (toplevel, x, 0, obj); o_emit_change_notify (toplevel, obj); o_page_changed (toplevel, obj); return obj_s; } /*! * \brief Create the (geda core object) Scheme module. * \par Function Description * Defines procedures in the (geda core object) module. The module can * be accessed using (use-modules (geda core object)). */ static void init_module_geda_core_object () { /* Register the functions and symbols */ #include "scheme_object.x" /* Add them to the module's public definitions. */ scm_c_export (s_object_type, s_copy_object, s_object_bounds, s_object_stroke, s_set_object_stroke_x, s_object_fill, s_set_object_fill_x, s_object_color, s_set_object_color_x, s_make_line, s_make_net, s_make_bus, s_make_pin, s_pin_type, s_set_line_x, s_line_info, s_make_box, s_set_box_x, s_box_info, s_make_circle, s_set_circle_x, s_circle_info, s_make_arc, s_set_arc_x, s_arc_info, s_make_text, s_set_text_x, s_text_info, s_object_connections, s_object_complex, s_make_path, s_path_length, s_path_ref, s_path_remove_x, s_path_insert_x, s_make_picture, s_picture_info, s_set_picture_x, s_set_picture_data_vector_x, s_translate_object_x, s_rotate_object_x, s_mirror_object_x, NULL); } /*! * \brief Initialise the basic gEDA object manipulation procedures. * \par Function Description * Registers some Scheme procedures for working with #OBJECT * smobs. Should only be called by scheme_api_init(). */ void edascm_init_object () { /* Define the (geda core object) module */ scm_c_define_module ("geda core object", init_module_geda_core_object, NULL); } geda-gaf-1.8.2/libgeda/src/g_basic.c0000664000175000017500000002216612220647257014027 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #include #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_UNISTD_H #include #endif #ifdef HAVE_STRING_H #include #endif #include "libgeda_priv.h" #include "libgedaguile.h" #ifdef HAVE_LIBDMALLOC #include #endif static void process_error_stack (SCM s_stack, SCM s_key, SCM s_args, GError **err); /* Pre-unwind handler called in the context in which the exception was * thrown. */ static SCM protected_pre_unwind_handler (void *data, SCM key, SCM args) { /* Capture the stack trace */ *((SCM *) data) = scm_make_stack (SCM_BOOL_T, SCM_EOL); return SCM_BOOL_T; } /* Post-unwind handler called in the context of the catch expression. * This actually does the work of parsing the stack and generating log * messages. */ static SCM protected_post_unwind_handler (void *data, SCM key, SCM args) { /* The stack was captured pre-unwind */ SCM s_stack = *(SCM *) data; process_error_stack (s_stack, key, args, NULL); return SCM_BOOL_F; } /* Actually carries out evaluation for protected eval */ static SCM protected_body_eval (void *data) { SCM args = *((SCM *)data); return scm_eval (scm_car (args), scm_cadr (args)); } /*! \brief Evaluate a Scheme expression safely. * \par Function Description * * Often a libgeda program (or libgeda itself) will need to call out * to Scheme code, for example to load a Scheme configuration file. * If an error or exception caused by such code goes uncaught, it * locks up the Scheme interpreter, stopping any further Scheme code * from being run until the program is restarted. * * This function is equivalent to scm_eval (), with the important * difference that any errors or exceptions caused by the evaluated * expression \a exp are caught and reported via the libgeda logging * mechanism. If an error occurs during evaluation, this function * returns SCM_BOOL_F. If \a module_or_state is undefined, uses the * current interaction environment. * * \param exp Expression to evaluate * \param module_or_state Environment in which to evaluate \a exp * * \returns Evaluation results or SCM_BOOL_F if exception caught. */ SCM g_scm_eval_protected (SCM exp, SCM module_or_state) { SCM stack = SCM_BOOL_T; SCM body_data; SCM result; if (module_or_state == SCM_UNDEFINED) { body_data = scm_list_2 (exp, scm_interaction_environment ()); } else { body_data = scm_list_2 (exp, module_or_state); } result = scm_c_catch (SCM_BOOL_T, protected_body_eval, /* catch body */ &body_data, /* body data */ protected_post_unwind_handler, /* post handler */ &stack, /* post data */ protected_pre_unwind_handler, /* pre handler */ &stack /* pre data */ ); scm_remember_upto_here_2 (body_data, stack); return result; } /*! \brief Evaluate a C string as a Scheme expression safely * \par Function Description * * Evaluates a C string like scm_c_eval_string(). Simple wrapper for * g_scm_eval_string_protected(). * * \param str String to evaluate. * * \returns Evaluation results or SCM_BOOL_F if exception caught. */ SCM g_scm_c_eval_string_protected (const gchar *str) { SCM s_str; g_return_val_if_fail ((str != NULL), SCM_BOOL_F); s_str = scm_from_utf8_string (str); return g_scm_eval_string_protected (s_str); } /*! \brief Evaluate a string as a Scheme expression safely * \par Function Description * * Evaluates a string similarly to scm_eval_string(), but catching * any errors or exceptions and reporting them via the libgeda * logging mechanism. * * See also g_scm_eval_protected() and g_scm_c_eval_string_protected(). * * \param str String to evaluate. * * \returns Evaluation results or SCM_BOOL_F if exception caught. */ SCM g_scm_eval_string_protected (SCM str) { SCM expr = scm_list_2 (scm_from_utf8_symbol ("eval-string"), str); return g_scm_eval_protected (expr, SCM_UNDEFINED); } /* Data to be passed to g_read_file()'s worker functions. */ struct g_read_file_data_t { SCM stack; SCM filename; GError *err; }; /* Body function for g_read_file(). Simply loads the specified * file. */ SCM g_read_file__body (struct g_read_file_data_t *data) { return scm_primitive_load (data->filename); } /* Post-unwind handler for g_read_file(). Processes the stack captured * in the pre-unwind handler. */ SCM g_read_file__post_handler (struct g_read_file_data_t *data, SCM key, SCM args) { process_error_stack (data->stack, key, args, &data->err); return SCM_BOOL_F; } /* Pre-unwind handler for g_read_file(). Captures the Guile stack for * processing in the post-unwind handler. */ SCM g_read_file__pre_handler (struct g_read_file_data_t *data, SCM key, SCM args) { data->stack = scm_make_stack (SCM_BOOL_T, SCM_EOL); return SCM_BOOL_F; } /*! \brief Load a Scheme file, catching and logging errors. * \par Function Description * Loads \a filename, catching any uncaught errors and logging them. * * \bug Most other functions in the libgeda API return TRUE on success * and FALSE on failure. g_read_file() shouldn't be an exception. * * \param toplevel The TOPLEVEL structure. * \param filename The file name of the Scheme file to load. * \param err Return location for errors, or NULL. * \return TRUE on success, FALSE on failure. */ gboolean g_read_file(TOPLEVEL *toplevel, const gchar *filename, GError **err) { struct g_read_file_data_t data; g_return_val_if_fail ((filename != NULL), FALSE); data.stack = SCM_BOOL_F; data.filename = scm_from_utf8_string (filename); data.err = NULL; scm_dynwind_begin (SCM_F_DYNWIND_REWINDABLE); edascm_dynwind_toplevel (toplevel); scm_c_catch (SCM_BOOL_T, (scm_t_catch_body) g_read_file__body, &data, (scm_t_catch_handler) g_read_file__post_handler, &data, (scm_t_catch_handler) g_read_file__pre_handler, &data); scm_dynwind_end (); /* If no error occurred, indicate success. */ if (data.err == NULL) return TRUE; g_propagate_error (err, data.err); return FALSE; } /*! \brief Process a Scheme error into the log and/or a GError * \par Function Description * Process a captured Guile exception with the given \a s_key and \a * s_args, and optionally the stack trace \a s_stack. The stack trace * and source location are logged, and if a GError return location \a * err is provided, it is populated with an informative error message. */ static void process_error_stack (SCM s_stack, SCM s_key, SCM s_args, GError **err) { char *long_message; char *short_message; SCM s_port, s_subr, s_message, s_message_args, s_rest, s_location; /* Split s_args up */ s_rest = s_args; s_subr = scm_car (s_rest); s_rest = scm_cdr (s_rest); s_message = scm_car (s_rest); s_rest = scm_cdr (s_rest); s_message_args = scm_car (s_rest); s_rest = scm_cdr (s_rest); /* Capture short error message */ s_port = scm_open_output_string (); scm_display_error_message (s_message, s_message_args, s_port); short_message = scm_to_utf8_string (scm_get_output_string (s_port)); scm_close_output_port (s_port); /* Capture long error message (including possible backtrace) */ s_port = scm_open_output_string (); if (scm_is_true (scm_stack_p (s_stack))) { scm_puts (_("\nBacktrace:\n"), s_port); scm_display_backtrace (s_stack, s_port, SCM_BOOL_F, SCM_BOOL_F); scm_puts ("\n", s_port); } s_location = SCM_BOOL_F; #ifdef HAVE_SCM_DISPLAY_ERROR_STACK s_location = s_stack; #endif /* HAVE_SCM_DISPLAY_ERROR_STACK */ #ifdef HAVE_SCM_DISPLAY_ERROR_FRAME s_location = scm_is_true (s_stack) ? scm_stack_ref (s_stack, SCM_INUM0) : SCM_BOOL_F; #endif /* HAVE_SCM_DISPLAY_ERROR_FRAME */ scm_display_error (s_location, s_port, s_subr, s_message, s_message_args, s_rest); long_message = scm_to_utf8_string (scm_get_output_string (s_port)); scm_close_output_port (s_port); /* Send long message to log */ s_log_message ("%s", long_message); /* Populate any GError */ g_set_error (err, EDA_ERROR, EDA_ERROR_SCHEME, "%s", short_message); } geda-gaf-1.8.2/libgeda/src/m_hatch.c0000664000175000017500000002676712207374140014047 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #include typedef struct st_sweep_event SWEEP_EVENT; typedef struct st_sweep_status SWEEP_STATUS; struct st_sweep_status { gint x; /* current x coordinate */ gint y1; /* ending y coordinate */ gdouble m1; /* inverse slope: y/x */ gdouble b1; /* x intercept */ }; struct st_sweep_event { gint y0; /* starting y coordinate */ SWEEP_STATUS status; }; static gint calculate_initial_sweep(gint pitch, gint min_y, gint max_y); static gint compare_events(gconstpointer a, gconstpointer b); static gint compare_status(gconstpointer a, gconstpointer b); /*! \brief Calculate the initial y cooridinate of the hatch sweep line * * This function centers the hatch lines across the extents of the shape being * hatched. This caclulation provides symmetrical hatch lines inside * symmetrical shapes, such as circles and squares. This mechanism may not * provide as nice of an appearance in asymmetrical shapes. * * \param pitch [in] The perpendicular distance between hatch lines. * \param min_y [in] The minimum y coordinate of the object being hatched. * \param max_y [in] The maximum y coordinate of the object being hatched. * \return The initital y coordinate of the sweep line. */ static gint calculate_initial_sweep(gint pitch, gint min_y, gint max_y) { gint delta = max_y - min_y; return min_y + ((delta - ((delta - pitch) / pitch * pitch)) / 2); } /*! \brief Compares two sweep events * * Compares two sweep events for ordering the event queue. The prototype * and behavior are consistant with GCompareFunc. * * \param a [in] The first sweep event. * \param b [in] The second sweep event. * \return A negative value if the first is less than the second, zero if the * first equals the second, and a positive value if the first is greater than * the second. */ static gint compare_events(gconstpointer a, gconstpointer b) { SWEEP_EVENT *event_a = (SWEEP_EVENT*) a; SWEEP_EVENT *event_b = (SWEEP_EVENT*) b; return (event_a->y0 - event_b->y0); } /*! \brief Compares two sweep status structs * * Compares two sweep status for ordering the sweep status. The prototype * and behavior are consistant with GCompareFunc. * * \param a [in] The first sweep status. * \param b [in] The second sweep status. * \return A negative value if the first is less than the second, zero if the * first equals the second, and a positive value if the first is greater than * the second. */ static gint compare_status(gconstpointer a, gconstpointer b) { SWEEP_STATUS *status_a = (SWEEP_STATUS*) a; SWEEP_STATUS *status_b = (SWEEP_STATUS*) b; return (status_b->x - status_a->x); } /*! \brief Calculates line segments to hatch a box shape * * This function appends new line segments to the lines GArray. For creating * a hatch pattern, the GArray must be cleared before calling this function. * For creating cross hatch patterns, this function can be called multiple * times with a different angle or pitch while passing the same lines GArray. * * \param box [in] The box shape to hatch. * \param angle [in] The angle of the hatch lines with respect to the x axis. * \param pitch [in] The distance between hatch lines * \param lines [inout] A GArray of LINE to contain the new hatch line * segments. This function appends new line segments to the GArray and leaves * existing GArray contents unchanged. */ void m_hatch_box(BOX *box, gint angle, gint pitch, GArray *lines) { GArray *corners; sPOINT point; g_return_if_fail(box!=NULL); g_return_if_fail(lines!=NULL); corners = g_array_sized_new(FALSE, FALSE, sizeof(sPOINT), 4); point.x = box->upper_x; point.y = box->upper_y; g_array_append_val(corners, point); point.x = box->lower_x; point.y = box->upper_y; g_array_append_val(corners, point); point.x = box->lower_x; point.y = box->lower_y; g_array_append_val(corners, point); point.x = box->upper_x; point.y = box->lower_y; g_array_append_val(corners, point); m_hatch_polygon(corners, angle, pitch, lines); g_array_free(corners, TRUE); } /*! \brief Calculates line segments to hatch a circle. * * This function appends new line segments to the lines GArray. For creating * a hatch pattern, the GArray must be cleared before calling this function. * For creating cross hatch patterns, this function can be called multiple * times with a different angle or pitch while passing the same lines GArray. * * \param circle [in] The circle shape to hatch. * \param angle [in] The angle of the hatch lines with respect to the x axis. * \param pitch [in] The distance between hatch lines * \param lines [inout] A GArray of LINE to contain the new hatch line * segments. This function appends new line segments to the GArray and leaves * existing GArray contents unchanged. */ void m_hatch_circle(CIRCLE *circle, gint angle, gint pitch, GArray *lines) { gint radius; gint sweep_y; TRANSFORM transform; g_return_if_fail(circle!=NULL); g_return_if_fail(lines!=NULL); m_transform_init(&transform); m_transform_rotate(&transform, angle); m_transform_scale(&transform, 0.01); m_transform_translate(&transform, circle->center_x, circle->center_y ); radius = 100 * circle->radius; sweep_y = calculate_initial_sweep(100 * pitch, -radius, radius); while ( sweep_y < radius ) { LINE line; gint x = round(sqrt(pow(radius,2) - pow(sweep_y,2))); line.x[0] = -x; line.y[0] = sweep_y; line.x[1] = x; line.y[1] = sweep_y; m_transform_line(&transform, &line); g_array_append_val(lines, line); sweep_y += 100 * pitch; } } /*! \brief Calculates line segments to hatch a path. * * This function appends new line segments to the lines GArray. For creating * a hatch pattern, the GArray must be cleared before calling this function. * For creating cross hatch patterns, this function can be called multiple * times with a different angle or pitch while passing the same lines GArray. * * \param path [in] The path shape to hatch. * \param angle [in] The angle of the hatch lines with respect to the x axis. * \param pitch [in] The distance between hatch lines * \param lines [inout] A GArray of LINE to contain the new hatch line * segments. This function appends new line segments to the GArray and leaves * existing GArray contents unchanged. */ void m_hatch_path (PATH *path, gint angle, gint pitch, GArray *lines) { GArray *points; g_return_if_fail (path != NULL); g_return_if_fail (lines != NULL); points = g_array_new (FALSE, FALSE, sizeof (sPOINT)); s_path_to_polygon (path, points); m_hatch_polygon (points, angle, pitch, lines); g_array_free (points, TRUE); } /*! \brief Calculates line segments to hatch an arbitrary polygon. * * This function appends new line segments to the lines GArray. For creating * a hatch pattern, the GArray must be cleared before calling this function. * For creating cross hatch patterns, this function can be called multiple * times with a different angle or pitch while passing the same lines GArray. * * \param points [in] The endpoints of the arbitrary closed polygon to hatch. * \param angle [in] The angle of the hatch lines with respect to the x axis. * \param pitch [in] The distance between hatch lines. This value must be * greater than zero. * \param lines [inout] A GArray of LINE to contain the new hatch line * segments. This function appends new line segments to the GArray and leaves * existing GArray contents unchanged. */ void m_hatch_polygon(GArray *points, gint angle, gint pitch, GArray *lines) { BOUNDS bounds; GArray *events; TRANSFORM inverse; GArray *points2; GArray *status; gint sweep_y; TRANSFORM transform; g_return_if_fail(points!=NULL); g_return_if_fail(pitch>0); g_return_if_fail(lines!=NULL); events = g_array_new(FALSE, FALSE, sizeof(SWEEP_EVENT)); points2 = g_array_sized_new(FALSE, FALSE, sizeof(sPOINT), points->len); status = g_array_new(FALSE, FALSE, sizeof(SWEEP_STATUS)); m_transform_init(&transform); m_transform_scale(&transform, 10); m_transform_rotate(&transform, -angle); m_transform_invert(&transform, &inverse); g_array_append_vals(points2, points->data, points->len); m_transform_points(&transform, points2); /* build list of sweep events */ if ( points2->len > 1 ) { gint index; sPOINT *p0 = &g_array_index(points2, sPOINT, points2->len-1); for (index=0; indexlen; index++) { sPOINT *p1 = &g_array_index(points2, sPOINT, index); if ( p0->y != p1->y ) { SWEEP_EVENT event; event.y0 = min(p0->y, p1->y); event.status.y1 = max(p0->y, p1->y); event.status.m1 = (gdouble)( p1->x - p0->x ) / (gdouble)( p1->y - p0->y ); event.status.b1 = p0->x - event.status.m1 * p0->y; g_array_append_val(events, event); } p0 = p1; } } /* sort sweep events in ascending order by starting y coordinate */ g_array_sort(events, compare_events); m_bounds_of_points(&bounds, (sPOINT*)points2->data, points2->len); sweep_y = calculate_initial_sweep(10 * pitch, bounds.min_y, bounds.max_y); while ( events->len > 0 || status->len > 0 ) { gint index; /* add new segments that intersect the sweep line */ index = 0; while ( index < events->len ) { SWEEP_EVENT *event = &g_array_index(events, SWEEP_EVENT, index); if ( sweep_y >= event->y0 ) { SWEEP_STATUS st = event->status; g_array_append_val(status, st); g_array_remove_index(events, index); } else { index++; } } /* remove status no longer intersecting sweep line */ index = status->len; while ( index-- > 0 ) { if ( sweep_y >= g_array_index(status, SWEEP_STATUS, index).y1 ) { g_array_remove_index_fast(status, index); } } /* (re)calculate x coordinates at sweep line */ for (index=0; indexlen; index++) { SWEEP_STATUS *st = &g_array_index(status, SWEEP_STATUS, index); st->x = st->m1 * sweep_y + st->b1; } /* sort the sweep status in ascending order by x coordinate */ g_array_sort(status, compare_status); /* draw hatch segments */ index = 0; while ( index+1 < status->len ) { LINE line; line.x[0] = g_array_index(status, SWEEP_STATUS, index ).x; line.y[0] = sweep_y; line.x[1] = g_array_index(status, SWEEP_STATUS, index+1 ).x; line.y[1] = sweep_y; m_transform_line(&inverse, &line); g_array_append_val(lines, line); index += 2; } sweep_y += 10 * pitch; } g_array_free(events, TRUE); g_array_free(points2, TRUE); g_array_free(status, TRUE); } geda-gaf-1.8.2/libgeda/src/g_rc.c0000664000175000017500000007067212220647257013357 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! \file g_rc.c * \brief Parse configuration files. * * Contains functions to open, parse and manage gEDA configuration * (RC) files. */ #include #include #include #include #include #include #ifdef HAVE_STRING_H #include #endif #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_UNISTD_H #include #endif #include "libgeda_priv.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ int vstbl_lookup_str(const vstbl_entry *table, int size, const char *str) { int i; for(i = 0; i < size; i++) { if(strcmp(table[i].m_str, str) == 0) { break; } } return i; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ int vstbl_get_val(const vstbl_entry *table, int index) { return table[index].m_val; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_mode_general(SCM scmmode, const char *rc_name, int *mode_var, const vstbl_entry *table, int table_size) { SCM ret; int index; char *mode; SCM_ASSERT (scm_is_string (scmmode), scmmode, SCM_ARG1, rc_name); mode = scm_to_utf8_string (scmmode); index = vstbl_lookup_str(table, table_size, mode); /* no match? */ if(index == table_size) { fprintf(stderr, "Invalid mode [%s] passed to %s\n", mode, rc_name); ret = SCM_BOOL_F; } else { *mode_var = vstbl_get_val(table, index); ret = SCM_BOOL_T; } free (mode); return ret; } /*! \brief Load a system configuration file. * \par Function Description * Attempts to load the system configuration file with basename \a * rcname. The string "system-" is prefixed to \a rcname. If \a * rcname is NULL, the default value of "gafrc" is used. * * \param toplevel The current #TOPLEVEL structure. * \param rcfile The basename of the configuration file to load, or NULL. * \param err Return location for errors, or NULL. * \return TRUE on success, FALSE on failure. */ gboolean g_rc_parse_system (TOPLEVEL *toplevel, const gchar *rcname, GError **err) { gchar *sysname = NULL; gboolean status; /* Default to gafrc */ rcname = (rcname != NULL) ? rcname : "gafrc"; sysname = g_strdup_printf ("system-%s", rcname); status = g_rc_parse_local (toplevel, sysname, s_path_sys_config (), err); g_free (sysname); return status; } /*! \brief Load a user configuration file. * \par Function Description * Attempts to load the user configuration file with basename \a * rcname. If \a rcname is NULL, the default value of "gafrc" is * used. * * \param toplevel The current #TOPLEVEL structure. * \param rcfile The basename of the configuration file to load, or NULL. * \param err Return location for errors, or NULL. * \return TRUE on success, FALSE on failure. */ gboolean g_rc_parse_user (TOPLEVEL *toplevel, const gchar *rcname, GError **err) { /* Default to gafrc */ rcname = (rcname != NULL) ? rcname : "gafrc"; return g_rc_parse_local (toplevel, rcname, s_path_user_config (), err); } /*! \brief Load a local configuration file. * \par Function Description * Attempts to load the configuration file with basename \a rcname * corresponding to \a path, reporting errors via \a err. If \a path * is a directory, looks for a file named \a rcname in that * directory. Otherwise, looks for a file named \a rcname in the same * directory as \a path. If \a path is NULL, looks in the current * directory. If \a rcname is NULL, the default value of "gafrc" is * used. * * \param toplevel The current #TOPLEVEL structure. * \param rcname The basename of the configuration file to load, or NULL. * \param path The path to load a configuration file for, or NULL. * \param err Return location for errors, or NULL. * \return TRUE on success, FALSE on failure. */ gboolean g_rc_parse_local (TOPLEVEL *toplevel, const gchar *rcname, const gchar *path, GError **err) { gchar *dir = NULL; gchar *rcfile = NULL; gboolean status; g_return_val_if_fail ((toplevel != NULL), FALSE); /* Default to gafrc */ rcname = (rcname != NULL) ? rcname : "gafrc"; /* Default to cwd */ path = (path != NULL) ? path : "."; /* If path isn't a directory, get the dirname. */ if (g_file_test (path, G_FILE_TEST_IS_DIR)) { dir = g_strdup (path); } else { dir = g_path_get_dirname (path); } rcfile = g_build_filename (dir, rcname, NULL); status = g_rc_parse_file (toplevel, rcfile, err); g_free (dir); g_free (rcfile); return status; } /*! \brief Mark a configuration file as read. * \par Function Description * If the config file \a filename has not already been loaded, mark it * as loaded and return TRUE, storing \a filename in \a toplevel (\a * filename should not subsequently be freed). Otherwise, return * FALSE, and set \a err appropriately. * * \note Should only be called by g_rc_parse_file(). * * \param toplevel The current #TOPLEVEL structure. * \param filename The config file name to test. * \param err Return location for errors, or NULL. * \return TRUE if \a filename not already loaded, FALSE otherwise. */ static gboolean g_rc_try_mark_read (TOPLEVEL *toplevel, gchar *filename, GError **err) { GList *found = NULL; g_return_val_if_fail ((toplevel != NULL), FALSE); g_return_val_if_fail ((filename != NULL), FALSE); /* Test if marked read already */ found = g_list_find_custom (toplevel->RC_list, filename, (GCompareFunc) strcmp); if (found != NULL) { g_set_error (err, EDA_ERROR, EDA_ERROR_RC_TWICE, _("Config file already loaded")); return FALSE; } toplevel->RC_list = g_list_append (toplevel->RC_list, filename); /* N.b. don't free name_norm here; it's stored in the TOPLEVEL. */ return TRUE; } /*! \brief Load a configuration file. * \par Function Description * Load the configuration file \a rcfile, reporting errors via \a err. * * \param toplevel The current #TOPLEVEL structure. * \param rcfile The filename of the configuration file to load. * \param err Return location for errors, or NULL; * \return TRUE on success, FALSE on failure. */ gboolean g_rc_parse_file (TOPLEVEL *toplevel, const gchar *rcfile, GError **err) { gchar *name_norm = NULL; GError *tmp_err = NULL; g_return_val_if_fail ((toplevel != NULL), FALSE); g_return_val_if_fail ((rcfile != NULL), FALSE); /* Normalise filename */ name_norm = f_normalize_filename (rcfile, &tmp_err); if (name_norm == NULL) goto parse_file_error; /* Attempt to load the rc file, if it hasn't been loaded already. * If g_rc_try_mark_read() succeeds, it stores name_norm in * toplevel, so we *don't* free it. */ if (g_rc_try_mark_read (toplevel, name_norm, &tmp_err) && g_read_file (toplevel, name_norm, &tmp_err)) { s_log_message (_("Parsed config from [%s]\n"), name_norm); return TRUE; } parse_file_error: /* Copy tmp_err into err, with a prefixed message. */ /*! \todo We should upgrade to GLib >= 2.16 and use * g_propagate_prefixed_error(). */ if (err == NULL) { g_error_free (tmp_err); } else { gchar *orig_msg = tmp_err->message; tmp_err->message = g_strdup_printf (_("Unable to parse config from [%s]: %s"), (name_norm != NULL) ? name_norm : rcfile, orig_msg); g_free (orig_msg); *err = tmp_err; } g_free (name_norm); return FALSE; } static void g_rc_parse__process_error (GError **err, const gchar *pname) { char *pbase; /* Take no chances; if err was not set for some reason, bail out. */ if (*err == NULL) { const gchar *msgl = _("ERROR: An unknown error occurred while parsing configuration files."); s_log_message ("%s\n", msgl); fprintf(stderr, "%s\n", msgl); } else { /* Config files are allowed to be missing or skipped; check for * this. */ if (g_error_matches (*err, G_FILE_ERROR, G_FILE_ERROR_NOENT) || g_error_matches (*err, EDA_ERROR, EDA_ERROR_RC_TWICE)) { return; } s_log_message (_("ERROR: %s\n"), (*err)->message); fprintf (stderr, _("ERROR: %s\n"), (*err)->message); } /* g_path_get_basename() allocates memory, but we don't care * because we're about to exit. */ pbase = g_path_get_basename (pname); fprintf (stderr, _("ERROR: The %s log may contain more information.\n"), pbase); exit (1); } /*! \brief General RC file parsing function. * \par Function Description * Calls g_rc_parse_handler() with the default error handler. If any * error other than ENOENT occurs while parsing a configuration file, * prints an informative message and calls exit(1). * * \bug libgeda shouldn't call exit() - this function calls * g_rc_parse__process_error(), which does. * * \warning Since this function may not return, it should only be used * on application startup or when there is no chance of data loss from * an unexpected exit(). * * \param [in] toplevel The current #TOPLEVEL structure. * \param [in] pname The name of the application (usually argv[0]). * \param [in] rcname Config file basename, or NULL. * \param [in] rcfile Specific config file path, or NULL. */ void g_rc_parse (TOPLEVEL *toplevel, const gchar *pname, const gchar *rcname, const gchar *rcfile) { g_rc_parse_handler (toplevel, rcname, rcfile, (ConfigParseErrorFunc) g_rc_parse__process_error, (void *) pname); } /*! \brief General RC file parsing function. * \par Function Description * Attempt to load system, user and local (current working directory) * configuration files, first with the default "gafrc" basename and * then with the basename \a rcname, if \a rcname is not NULL. * Additionally, attempt to load configuration from \a rcfile if \a * rcfile is not NULL. * * If an error occurs, calls \a handler with the provided \a user_data * and a GError. * * \see g_rc_parse(). * * \param toplevel The current #TOPLEVEL structure. * \param rcname Config file basename, or NULL. * \param rcfile Specific config file path, or NULL. * \param handler Handler function for config parse errors. * \param user_data Data to be passed to \a handler. */ void g_rc_parse_handler (TOPLEVEL *toplevel, const gchar *rcname, const gchar *rcfile, ConfigParseErrorFunc handler, void *user_data) { GError *err = NULL; #ifdef HANDLER_DISPATCH # error HANDLER_DISPATCH already defined #endif #define HANDLER_DISPATCH \ do { if (err == NULL) break; handler (&err, user_data); \ g_error_free (err); err = NULL; } while (0) /* Load configuration files in order. */ /* First gafrc files. */ g_rc_parse_system (toplevel, NULL, &err); HANDLER_DISPATCH; g_rc_parse_user (toplevel, NULL, &err); HANDLER_DISPATCH; g_rc_parse_local (toplevel, NULL, NULL, &err); HANDLER_DISPATCH; /* Next application-specific rcname. */ if (rcname != NULL) { g_rc_parse_system (toplevel, rcname, &err); HANDLER_DISPATCH; g_rc_parse_user (toplevel, rcname, &err); HANDLER_DISPATCH; g_rc_parse_local (toplevel, rcname, NULL, &err); HANDLER_DISPATCH; } /* Finally, optional additional config file. */ if (rcfile != NULL) { g_rc_parse_file (toplevel, rcfile, &err); HANDLER_DISPATCH; } #undef HANDLER_DISPATCH } /*! \brief * \par Function Description * * \param [in] path * \param [in] name Optional descriptive name for library directory. * \return SCM_BOOL_T on success, SCM_BOOL_F otherwise. */ SCM g_rc_component_library(SCM path, SCM name) { gchar *string; char *temp; char *namestr = NULL; SCM_ASSERT (scm_is_string (path), path, SCM_ARG1, "component-library"); scm_dynwind_begin (0); if (name != SCM_UNDEFINED) { SCM_ASSERT (scm_is_string (name), name, SCM_ARG2, "component-library"); namestr = scm_to_utf8_string (name); scm_dynwind_free(namestr); } /* take care of any shell variables */ temp = scm_to_utf8_string (path); string = s_expand_env_variables (temp); scm_dynwind_unwind_handler (g_free, string, SCM_F_WIND_EXPLICITLY); free (temp); /* invalid path? */ if (!g_file_test (string, G_FILE_TEST_IS_DIR)) { fprintf(stderr, "Invalid path [%s] passed to component-library\n", string); scm_dynwind_end(); return SCM_BOOL_F; } if (g_path_is_absolute (string)) { s_clib_add_directory (string, namestr); } else { gchar *cwd = g_get_current_dir (); gchar *temp; temp = g_build_filename (cwd, string, NULL); s_clib_add_directory (temp, namestr); g_free(temp); g_free(cwd); } scm_dynwind_end(); return SCM_BOOL_T; } /*! \brief Guile callback for adding library commands. * \par Function Description * Callback function for the "component-library-command" Guile * function, which can be used in the rc files to add a command to * the component library. * * \param [in] listcmd command to get a list of symbols * \param [in] getcmd command to get a symbol from the library * \param [in] name Optional descriptive name for component source. * \return SCM_BOOL_T on success, SCM_BOOL_F otherwise. */ SCM g_rc_component_library_command (SCM listcmd, SCM getcmd, SCM name) { const CLibSource *src; gchar *lcmdstr, *gcmdstr; char *tmp_str, *namestr; SCM_ASSERT (scm_is_string (listcmd), listcmd, SCM_ARG1, "component-library-command"); SCM_ASSERT (scm_is_string (getcmd), getcmd, SCM_ARG2, "component-library-command"); SCM_ASSERT (scm_is_string (name), name, SCM_ARG3, "component-library-command"); scm_dynwind_begin(0); /* take care of any shell variables */ /*! \bug this may be a security risk! */ tmp_str = scm_to_utf8_string (listcmd); lcmdstr = s_expand_env_variables (tmp_str); scm_dynwind_unwind_handler (g_free, lcmdstr, SCM_F_WIND_EXPLICITLY); free (tmp_str); /* this should stay as free (allocated from guile) */ /* take care of any shell variables */ /*! \bug this may be a security risk! */ tmp_str = scm_to_utf8_string (getcmd); gcmdstr = s_expand_env_variables (tmp_str); scm_dynwind_unwind_handler (g_free, gcmdstr, SCM_F_WIND_EXPLICITLY); free (tmp_str); /* this should stay as free (allocated from guile) */ namestr = scm_to_utf8_string (name); src = s_clib_add_command (lcmdstr, gcmdstr, namestr); free (namestr); /* this should stay as free (allocated from guile) */ scm_dynwind_end(); if (src != NULL) return SCM_BOOL_T; return SCM_BOOL_F; } /*! \brief Guile callback for adding library functions. * \par Function Description * Callback function for the "component-library-funcs" Guile * function, which can be used in the rc files to add a set of Guile * procedures for listing and generating symbols. * * \param [in] listfunc A Scheme procedure which takes no arguments * and returns a Scheme list of component names. * \param [in] getfunc A Scheme procedure which takes a component * name as an argument and returns a symbol * encoded in a string in gEDA format, or the \b * \#f if the component name is unknown. * \param [in] name A descriptive name for this component source. * * \returns SCM_BOOL_T on success, SCM_BOOL_F otherwise. */ SCM g_rc_component_library_funcs (SCM listfunc, SCM getfunc, SCM name) { char *namestr; SCM result = SCM_BOOL_F; SCM_ASSERT (scm_is_true (scm_procedure_p (listfunc)), listfunc, SCM_ARG1, "component-library-funcs"); SCM_ASSERT (scm_is_true (scm_procedure_p (getfunc)), getfunc, SCM_ARG2, "component-library-funcs"); SCM_ASSERT (scm_is_string (name), name, SCM_ARG3, "component-library-funcs"); namestr = scm_to_utf8_string (name); if (s_clib_add_scm (listfunc, getfunc, namestr) != NULL) { result = SCM_BOOL_T; } free (namestr); return result; } /*! \todo Finish function description!!! * \brief * \par Function Description * * \param [in] path * \return SCM_BOOL_T on success, SCM_BOOL_F otherwise. */ SCM g_rc_source_library(SCM path) { gchar *string; char *temp; SCM_ASSERT (scm_is_string (path), path, SCM_ARG1, "source-library"); /* take care of any shell variables */ temp = scm_to_utf8_string (path); string = s_expand_env_variables (temp); free (temp); /* invalid path? */ if (!g_file_test (string, G_FILE_TEST_IS_DIR)) { fprintf (stderr, "Invalid path [%s] passed to source-library\n", string); g_free(string); return SCM_BOOL_F; } if (g_path_is_absolute (string)) { s_slib_add_entry (string); } else { gchar *cwd = g_get_current_dir (); gchar *temp; temp = g_build_filename (cwd, string, NULL); s_slib_add_entry (temp); g_free(temp); g_free(cwd); } g_free(string); return SCM_BOOL_T; } /*! \todo Finish function description!!! * \brief * \par Function Description * * \param [in] path * \return SCM_BOOL_T on success, SCM_BOOL_F otherwise. */ SCM g_rc_source_library_search(SCM path) { gchar *string; char *temp; GDir *dir; const gchar *entry; SCM_ASSERT (scm_is_string (path), path, SCM_ARG1, "source-library-search"); /* take care of any shell variables */ temp = scm_to_utf8_string (path); string = s_expand_env_variables (temp); free (temp); /* invalid path? */ if (!g_file_test (string, G_FILE_TEST_IS_DIR)) { fprintf (stderr, "Invalid path [%s] passed to source-library-search\n", string); g_free(string); return SCM_BOOL_F; } dir = g_dir_open (string, 0, NULL); if (dir == NULL) { fprintf (stderr, "Invalid path [%s] passed to source-library-search\n", string); g_free(string); return SCM_BOOL_F; } while ((entry = g_dir_read_name (dir))) { /* don't do . and .. and special case font */ if ((g_strcasecmp (entry, ".") != 0) && (g_strcasecmp (entry, "..") != 0) && (g_strcasecmp (entry, "font") != 0)) { gchar *fullpath = g_build_filename (string, entry, NULL); if (g_file_test (fullpath, G_FILE_TEST_IS_DIR)) { if (s_slib_uniq (fullpath)) { if (g_path_is_absolute (fullpath)) { s_slib_add_entry (fullpath); } else { gchar *cwd = g_get_current_dir (); gchar *temp; temp = g_build_filename (cwd, fullpath, NULL); s_slib_add_entry (temp); g_free(temp); g_free(cwd); } } } g_free(fullpath); } } g_free(string); g_dir_close(dir); return SCM_BOOL_T; } /*! * \brief Get the name of the RC filename being evaluated. * \par Function Description * * Creates a Guile stack object, extracts the topmost frame from that * stack and gets the sourcefile name. * * \returns If the interpreter can resolve the filename, returns a * Scheme object with the full path to the RC file, otherwise #f */ SCM g_rc_rc_filename() { SCM stack, frame, source; stack = scm_make_stack (SCM_BOOL_T, SCM_EOL); if (scm_is_false (stack)) { return SCM_BOOL_F; } frame = scm_stack_ref (stack, scm_from_int(0)); if (scm_is_false (frame)) { return SCM_BOOL_F; } source = scm_frame_source (frame); if (scm_is_false (source)) { return SCM_BOOL_F; } return scm_source_property (source, scm_sym_filename); } /*! \todo Finish function description!!! * \brief * \par Function Description * * \param [in] width * \param [in] height * \param [in] border * \return SCM_BOOL_T always. */ SCM g_rc_world_size(SCM width, SCM height, SCM border) #define FUNC_NAME "world-size" { int i_width, i_height, i_border; int init_right, init_bottom; SCM_ASSERT (SCM_NIMP (width) && SCM_REALP (width), width, SCM_ARG1, FUNC_NAME); SCM_ASSERT (SCM_NIMP (height) && SCM_REALP (height), height, SCM_ARG2, FUNC_NAME); SCM_ASSERT (SCM_NIMP (border) && SCM_REALP (border), border, SCM_ARG3, FUNC_NAME); /* yes this is legit, we are casing the resulting double to an int */ i_width = (int) (scm_to_double (width) * MILS_PER_INCH); i_height = (int) (scm_to_double (height) * MILS_PER_INCH); i_border = (int) (scm_to_double (border) * MILS_PER_INCH); PAPERSIZEtoWORLD(i_width, i_height, i_border, &init_right, &init_bottom); #if DEBUG printf("%d %d\n", i_width, i_height); printf("%d %d\n", init_right, init_bottom); #endif default_init_right = init_right; default_init_bottom = init_bottom; return SCM_BOOL_T; } #undef FUNC_NAME /*! \todo Finish function description!!! * \brief * \par Function Description * * \param [in] name * \return SCM_BOOL_T always. */ SCM g_rc_untitled_name(SCM name) { char *temp; SCM_ASSERT (scm_is_string (name), name, SCM_ARG1, "untitled-name"); g_free(default_untitled_name); temp = scm_to_utf8_string (name); default_untitled_name = g_strdup (temp); free (temp); return SCM_BOOL_T; } /*! \brief Add a directory to the Guile load path. * \par Function Description * Prepends \a s_path to the Guile system '%load-path', after * expanding environment variables. * * \param [in] s_path Path to be added. * \return SCM_BOOL_T. */ SCM g_rc_scheme_directory(SCM s_path) { char *temp; gchar *expanded; SCM s_load_path_var; SCM s_load_path; SCM_ASSERT (scm_is_string (s_path), s_path, SCM_ARG1, "scheme-directory"); /* take care of any shell variables */ temp = scm_to_utf8_string (s_path); expanded = s_expand_env_variables (temp); s_path = scm_from_utf8_string (expanded); free (temp); g_free (expanded); s_load_path_var = scm_c_lookup ("%load-path"); s_load_path = scm_variable_ref (s_load_path_var); scm_variable_set_x (s_load_path_var, scm_cons (s_path, s_load_path)); scm_remember_upto_here_2 (s_load_path_var, s_load_path); scm_remember_upto_here_1 (s_path); return SCM_BOOL_T; } /*! \todo Finish function description!!! * \brief * \par Function Description * * \param [in] path * \return SCM_BOOL_T on success, SCM_BOOL_F otherwise. */ SCM g_rc_bitmap_directory(SCM path) { gchar *string; char *temp; SCM_ASSERT (scm_is_string (path), path, SCM_ARG1, "bitmap-directory"); /* take care of any shell variables */ temp = scm_to_utf8_string (path); string = s_expand_env_variables (temp); free (temp); /* invalid path? */ if (!g_file_test (string, G_FILE_TEST_IS_DIR)) { fprintf (stderr, "Invalid path [%s] passed to bitmap-directory\n", string); g_free(string); return SCM_BOOL_F; } g_free(default_bitmap_directory); default_bitmap_directory = string; return SCM_BOOL_T; } /*! \todo Finish function description!!! * \brief * \par Function Description * * \param [in] scmsymname * \return SCM_BOOL_T always. */ SCM g_rc_bus_ripper_symname(SCM scmsymname) { char *temp; SCM_ASSERT (scm_is_string (scmsymname), scmsymname, SCM_ARG1, "bus-ripper-symname"); g_free(default_bus_ripper_symname); temp = scm_to_utf8_string (scmsymname); default_bus_ripper_symname = g_strdup (temp); free (temp); return SCM_BOOL_T; } /*! \todo Finish function description!!! * \brief * \par Function Description * * \param [in] scmsymname * \return SCM_BOOL_T always. */ SCM g_rc_postscript_prolog(SCM scmsymname) { char *temp; SCM_ASSERT (scm_is_string (scmsymname), scmsymname, SCM_ARG1, "postsript-prolog"); g_free(default_postscript_prolog); /* take care of any shell variables */ temp = scm_to_utf8_string (scmsymname); default_postscript_prolog = s_expand_env_variables (temp); free (temp); return SCM_BOOL_T; } /*! \todo Finish function description!!! * \brief * \par Function Description * * \return SCM_BOOL_T always. */ SCM g_rc_reset_component_library(void) { s_clib_init(); return SCM_BOOL_T; } /*! \todo Finish function description!!! * \brief * \par Function Description * * \return SCM_BOOL_T always. */ SCM g_rc_reset_source_library(void) { s_slib_free(); s_slib_init(); return SCM_BOOL_T; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_attribute_promotion(SCM mode) { static const vstbl_entry mode_table[] = { {TRUE , "enabled" }, {FALSE, "disabled"}, }; RETURN_G_RC_MODE("attribute-promotion", default_attribute_promotion, 2); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_promote_invisible(SCM mode) { static const vstbl_entry mode_table[] = { {TRUE , "enabled" }, {FALSE, "disabled"}, }; RETURN_G_RC_MODE("promote-invisible", default_promote_invisible, 2); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_keep_invisible(SCM mode) { static const vstbl_entry mode_table[] = { {TRUE , "enabled" }, {FALSE, "disabled"}, }; RETURN_G_RC_MODE("keep-invisible", default_keep_invisible, 2); } /*! \todo Finish function description!!! * \brief * \par Function Description * * \param [in] attrlist * \return SCM_BOOL_T always. */ SCM g_rc_always_promote_attributes(SCM attrlist) { GList *list=NULL; int length, i; gchar *attr; gchar **attr2; g_list_foreach(default_always_promote_attributes, (GFunc)g_free, NULL); g_list_free(default_always_promote_attributes); if (scm_is_string (attrlist)) { char *temp; s_log_message(_("WARNING: using a string for 'always-promote-attributes'" " is deprecated. Use a list of strings instead\n")); /* convert the space separated strings into a GList */ temp = scm_to_utf8_string (attrlist); attr2 = g_strsplit(temp," ", 0); free (temp); for (i=0; attr2[i] != NULL; i++) { if (strlen(attr2[i]) > 0) { list = g_list_prepend(list, g_strdup(attr2[i])); } } g_strfreev(attr2); } else { SCM_ASSERT(scm_list_p(attrlist), attrlist, SCM_ARG1, "always-promote-attributes"); length = scm_ilength(attrlist); /* convert the scm list into a GList */ for (i=0; i < length; i++) { char *temp; SCM_ASSERT(scm_is_string(scm_list_ref(attrlist, scm_from_int(i))), scm_list_ref(attrlist, scm_from_int(i)), SCM_ARG1, "always-promote-attribute: list element is not a string"); temp = scm_to_utf8_string (scm_list_ref (attrlist, scm_from_int (i))); attr = g_strdup(temp); free (temp); list = g_list_prepend(list, attr); } } default_always_promote_attributes = g_list_reverse(list); return SCM_BOOL_T; } /*! \brief Enable the creation of backup files when saving * \par Function Description * If enabled then a backup file, of the form 'example.sch~', is created when * saving a file. * * \param [in] mode String. 'enabled' or 'disabled' * \return Bool. False if mode is not a valid value; true if it is. * */ SCM g_rc_make_backup_files(SCM mode) { static const vstbl_entry mode_table[] = { {TRUE , "enabled" }, {FALSE, "disabled"}, }; RETURN_G_RC_MODE("make-backup-files", default_make_backup_files, 2); } extern COLOR print_colors[MAX_COLORS]; SCM g_rc_print_color_map (SCM scm_map) { if (scm_map == SCM_UNDEFINED) { return s_color_map_to_scm (print_colors); } SCM_ASSERT (scm_is_true (scm_list_p (scm_map)), scm_map, SCM_ARG1, "print-color-map"); s_color_map_from_scm (print_colors, scm_map, "print-color-map"); return SCM_BOOL_T; } geda-gaf-1.8.2/libgeda/src/o_list.c0000664000175000017500000001711112207374140013714 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #ifdef HAVE_STRING_H #include #endif #include "libgeda_priv.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! global which is used in o_list_copy_all */ extern int global_sid; /*! \todo Finish documentation!!!! * \brief * \par Function Description * returns head !!!!!!!!!!!!!!!!!!! * look at above.. this returns what was passed in!!!! * copies selected to list_head (!! returns new list) * * \param [in] toplevel The TOPLEVEL object. * \param [in] selected * \return OBJECT pointer. */ OBJECT *o_object_copy (TOPLEVEL *toplevel, OBJECT *selected) { OBJECT *new_obj; g_return_val_if_fail (toplevel != NULL, NULL); g_return_val_if_fail (selected != NULL, NULL); switch(selected->type) { case(OBJ_LINE): new_obj = o_line_copy (toplevel, selected); break; case(OBJ_NET): new_obj = o_net_copy (toplevel, selected); break; case(OBJ_BUS): new_obj = o_bus_copy (toplevel, selected); break; case(OBJ_BOX): new_obj = o_box_copy (toplevel, selected); break; case(OBJ_PICTURE): new_obj = o_picture_copy (toplevel, selected); break; case(OBJ_CIRCLE): new_obj = o_circle_copy (toplevel, selected); break; case(OBJ_COMPLEX): case(OBJ_PLACEHOLDER): new_obj = o_complex_copy (toplevel, selected); break; case(OBJ_TEXT): new_obj = o_text_copy (toplevel, selected); break; case(OBJ_PATH): new_obj = o_path_copy (toplevel, selected); break; case(OBJ_PIN): new_obj = o_pin_copy (toplevel, selected); break; case(OBJ_ARC): new_obj = o_arc_copy (toplevel, selected); break; default: g_critical ("o_list_copy_to: object %p has bad type '%c'\n", selected, selected->type); return NULL; } /* Store a reference in the copied object to where it was copied. * Used to retain associations when copying attributes */ selected->copied_to = new_obj; /* make sure sid is the same! */ if (selected) { new_obj->sid = selected->sid; } return new_obj; } /*! \todo Finish function description!!! * \brief * \par Function Description * you need to pass in a head_node for dest_list_head * flag is either NORMAL_FLAG or SELECTION_FLAG * this function copies the objects in the src GList src_list * to the destination GList dest_list * this routine assumes that objects in src_list are selected * objects are unselected before they are copied and then reselected * this is necessary to preserve the color info * * \param [in] toplevel The TOPLEVEL object. * \param [in] src_list The GList to copy from. * \param [in] dest_list The GList to copy to. * \return the dest_list GList with objects appended to it. */ GList *o_glist_copy_all (TOPLEVEL *toplevel, const GList *src_list, GList *dest_list) { const GList *src; GList *dest; OBJECT *src_object, *dst_object; int selected_save; src = src_list; /* Reverse any existing items, as we will prepend, then reverse at the end */ dest = g_list_reverse (dest_list); if (src == NULL) { return(NULL); } /* first do all NON text items */ while(src != NULL) { src_object = (OBJECT *) src->data; /* unselect the object before the copy */ selected_save = src_object->selected; if (selected_save) o_selection_unselect (toplevel, src_object); if (src_object->type != OBJ_TEXT) { dst_object = o_object_copy (toplevel, src_object); dst_object->sid = global_sid++; dest = g_list_prepend (dest, dst_object); } /* reselect it */ if (selected_save) o_selection_select (toplevel, src_object); src = g_list_next(src); } src = src_list; /* then do all text items */ while(src != NULL) { src_object = (OBJECT *) src->data; /* unselect the object before the copy */ selected_save = src_object->selected; if (selected_save) o_selection_unselect (toplevel, src_object); if (src_object->type == OBJ_TEXT) { dst_object = o_object_copy (toplevel, src_object); dst_object->sid = global_sid++; dest = g_list_prepend (dest, dst_object); if (src_object->attached_to != NULL && src_object->attached_to->copied_to != NULL) { o_attrib_attach(toplevel, dst_object, src_object->attached_to->copied_to, FALSE); /* handle slot= attribute, it's a special case */ if (g_ascii_strncasecmp (dst_object->text->string, "slot=", 5) == 0) s_slot_update_object (toplevel, src_object->attached_to->copied_to); } } /* reselect it */ if (selected_save) o_selection_select (toplevel, src_object); src = g_list_next(src); } /* Clean up dangling copied_to pointers */ src = src_list; while(src != NULL) { src_object = src->data; src_object->copied_to = NULL; src = g_list_next (src); } /* Reverse the list to be in the correct order */ dest = g_list_reverse (dest); return(dest); } /*! \todo Finish function description!!! * \brief * \par Function Description */ void o_glist_translate_world(TOPLEVEL *toplevel, int dx, int dy, const GList *list) { const GList *iter = list; OBJECT *o_current; while ( iter != NULL ) { o_current = (OBJECT *)iter->data; o_translate_world(toplevel, dx, dy, o_current); iter = g_list_next (iter); } } /*! \todo Finish function description!!! * \brief * \par Function Description */ void o_glist_rotate_world (TOPLEVEL *toplevel, int x, int y, int angle, const GList *list) { const GList *iter = list; OBJECT *o_current; while ( iter != NULL ) { o_current = (OBJECT *)iter->data; o_rotate_world (toplevel, x, y, angle, o_current); iter = g_list_next (iter); } } /*! \todo Finish function description!!! * \brief * \par Function Description */ void o_glist_mirror_world (TOPLEVEL *toplevel, int x, int y, const GList *list) { const GList *iter = list; OBJECT *o_current; while ( iter != NULL ) { o_current = (OBJECT *)iter->data; o_mirror_world (toplevel, x, y, o_current); iter = g_list_next (iter); } } /*! \brief Change the color of a list of objects * * \par Function Description * This function changes the the new color of a list of objects * * \param [in] toplevel The TOPLEVEL structure. * \param [in] list The list of OBJECTs to change color. * \param [in] color The new color. */ void o_glist_set_color (TOPLEVEL *toplevel, const GList *list, int color) { const GList *iter; for (iter = list; iter != NULL; iter = g_list_next (iter)) o_set_color (toplevel, iter->data, color); } geda-gaf-1.8.2/libgeda/src/m_bounds.c0000664000175000017500000000424012207374140014230 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include /*! \brief Initialize a bounds by setting it to empty * * \param bounds [in] The bounds to set to empty. This parameter must not * be NULL. */ void m_bounds_init(BOUNDS *bounds) { bounds->min_x = G_MAXINT; bounds->min_y = G_MAXINT; bounds->max_x = G_MININT; bounds->max_y = G_MININT; } /*! \brief Calculate the bounds of a set of points * * For an empty set of points, this function returns an empty bounds. * * \param bounds [out] The bounds of the given set of points. The bounds * does not need to be initialized before calling this function, but this * parameter must not be NULL. * \param points [in] The given set of points. If the count is greater than * zero, this parameter must not be NULL. * \param count [in] The number of points in the set. */ void m_bounds_of_points(BOUNDS *bounds, sPOINT points[], gint count) { gint index; m_bounds_init(bounds); for (index=0; indexmin_x) { bounds->min_x = x; } if (y < bounds->min_y) { bounds->min_y = y; } if (x > bounds->max_x) { bounds->max_x = x; } if (y > bounds->max_y) { bounds->max_y = y; } } } geda-gaf-1.8.2/libgeda/src/s_slot.c0000664000175000017500000001464312207374140013735 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! \file s_slot.c * \brief utility functions for slotted components */ #include #include #ifdef HAVE_STRING_H #include #endif #include #include "libgeda_priv.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! Basic string splitting delimiters */ #define DELIMITERS ",; " /*! \brief Search for slot attribute. * \par Function Description * Search for slot attribute. * * The returned value will only come from an attached attribute. * * \param [in] object OBJECT list to search. * \param [in] return_found attached slot attribute if found, NULL otherwise. * \return Character string with attribute value, NULL otherwise. * * \warning * Caller must g_free returned character string */ char *s_slot_search_slot (OBJECT *object, OBJECT **return_found) { GList *attributes; OBJECT *attrib; char *value = NULL; attributes = o_attrib_return_attribs (object); attrib = o_attrib_find_attrib_by_name (attributes, "slot", 0); g_list_free (attributes); if (attrib != NULL) o_attrib_get_name_value (attrib, NULL, &value); if (return_found) *return_found = attrib; return value; } /*! \brief Search for slotdef attribute. * \par Function Description * Search for slotdef attribute. * * \param [in] object The OBJECT list to search. * \param [in] slotnumber The slot number to search for. * \return Character string with attribute value, NULL otherwise. * * \warning * Caller must g_free returned character string. */ static char *s_slot_search_slotdef (OBJECT *object, int slotnumber) { int counter = 0; char *slotdef; char *search_for; search_for = g_strdup_printf ("%d:", slotnumber); while (1) { slotdef = o_attrib_search_object_attribs_by_name (object, "slotdef", counter++); if (slotdef == NULL || strncmp (slotdef, search_for, strlen (search_for)) == 0) break; g_free (slotdef); } g_free (search_for); return slotdef; } /*! \brief Update all slot attributes in an object. * \par Function Description * Update pinnumber attributes in a graphic object. * The interesting case is where the object is an * instantiation of a slotted part. This means that * s_slot_update_object iterates through all pins * found on object and sets the pinnumber= attrib * on each. This doesn't matter for non-slotted * parts, but on slotted parts, this is what sets the * pinnumber= attribute on slots 2, 3, 4.... * * \param [in] toplevel The TOPLEVEL object. * \param [in,out] object The OBJECT to update. */ void s_slot_update_object (TOPLEVEL *toplevel, OBJECT *object) { OBJECT *o_pin_object; OBJECT *o_pinnum_attrib; GList *attributes; char *string; char *slotdef; char *pinseq; int slot; int slot_string; int pin_counter; /* Internal pin counter private to this fcn. */ char* current_pin; /* text from slotdef= to be made into pinnumber= */ char* cptr; /* char pointer pointing to pinnumbers in slotdef=#:#,#,# string */ /* For this particular graphic object (component instantiation) */ /* get the slot number as a string */ string = o_attrib_search_object_attribs_by_name (object, "slot", 0); if (string == NULL) { /* Did not find slot= attribute. * This happens if there is no attached slot attribute, and * there is no default slot= attribute inside the symbol. * Assume slot=1. */ slot = 1; slot_string = 0; } else { slot_string = 1; slot = atoi (string); g_free (string); } /* OK, now that we have the slot number, use it to get the */ /* corresponding slotdef=#:#,#,# string. */ slotdef = s_slot_search_slotdef (object, slot); if (slotdef == NULL) { if (slot_string) /* only an error if there's a slot string */ s_log_message (_("Did not find slotdef=#:#,#,#... attribute\n")); return; } if (!strstr (slotdef, ":")) { /* Didn't find proper slotdef=#:... put warning into log */ s_log_message (_("Improper slotdef syntax: missing \":\".\n")); g_free (slotdef); return; } /* skip over slotdef number */ /* slotdef is in the form #:#,#,# */ /* this code skips first #: */ cptr = slotdef; while (*cptr != '\0' && *cptr != ':') { cptr++; } cptr++; /* skip colon */ if (*cptr == '\0') { s_log_message (_("Did not find proper slotdef=#:#,#,#... attribute\n")); g_free (slotdef); return; } /* loop on all pins found in slotdef= attribute */ pin_counter = 1; /* internal pin_counter */ /* get current pinnumber= from slotdef= attrib */ current_pin = strtok (cptr, DELIMITERS); while (current_pin != NULL) { /* get pin on this component with pinseq == pin_counter */ pinseq = g_strdup_printf ("%d", pin_counter); o_pin_object = o_complex_find_pin_by_attribute (object, "pinseq", pinseq); g_free (pinseq); if (o_pin_object != NULL) { /* Now rename pinnumber= attrib on this part with value found */ /* in slotdef attribute */ attributes = o_attrib_return_attribs (o_pin_object); o_pinnum_attrib = o_attrib_find_attrib_by_name (attributes, "pinnumber", 0); g_list_free (attributes); if (o_pinnum_attrib != NULL) { o_text_set_string (toplevel, o_pinnum_attrib, g_strdup_printf ("pinnumber=%s", current_pin)); } pin_counter++; } else { s_log_message (_("component missing pinseq= attribute\n")); } current_pin = strtok (NULL, DELIMITERS); } g_free (slotdef); } geda-gaf-1.8.2/libgeda/src/s_conn.c0000664000175000017500000005605512220647257013723 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #ifdef HAVE_STDLIB_H #include #endif #include "libgeda_priv.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \file s_conn.c * \brief The connection system * * The connection system stores and tracks the connections between * connected OBJECTS. The connected OBJECTS are either * pins, nets and busses. * * Each connection object with the type st_conn represents a * single unidirectional relation to another object. * * The following figure with two nets and a pin shows the relations * between connections and OBJECTS: * * \image html s_conn_overview.png * \image latex s_conn_overview.pdf "Connection overview" width=14cm */ /*! \brief create a new connection object * \par Function Description * create a single st_conn object and initialize it with the * given parameters. * * \return The new connection object */ CONN *s_conn_return_new(OBJECT * other_object, int type, int x, int y, int whichone, int other_whichone) { CONN *new_conn; new_conn = (CONN *) g_malloc(sizeof(CONN)); #if DEBUG printf("** creating: %s %d %d\n", other_object->name, x, y); #endif new_conn->other_object = other_object; new_conn->type = type; new_conn->x = x; new_conn->y = y; new_conn->whichone = whichone; new_conn->other_whichone = other_whichone; return (new_conn); } /*! \brief check if a connection is uniq in a list * \par Function Description * This function checks if there's no identical connection * in the list of connections. * \param conn_list list of connection objects * \param input_conn single connection object. * \return TRUE if the CONN structure is unique, FALSE otherwise. */ int s_conn_uniq(GList * conn_list, CONN * input_conn) { GList *c_current; CONN *conn; c_current = conn_list; while (c_current != NULL) { conn = (CONN *) c_current->data; if (conn->other_object == input_conn->other_object && conn->x == input_conn->x && conn->y == input_conn->y && conn->type == input_conn->type) { return (FALSE); } c_current = g_list_next(c_current); } return (TRUE); } /*! \brief remove a object from the connection list of another object * \par Function Description * This function removes the OBJECT to_remove from the connection * list of the OBJECT other_object. * \param toplevel (currently not used) * \param other_object OBJECT from that the to_remove OBJECT needs to be removed * \param to_remove OBJECT to remove * \return TRUE if a connection has been deleted, FALSE otherwise */ int s_conn_remove_other (TOPLEVEL *toplevel, OBJECT *other_object, OBJECT *to_remove) { GList *c_current = NULL; CONN *conn = NULL; o_emit_pre_change_notify (toplevel, other_object); c_current = other_object->conn_list; while (c_current != NULL) { conn = (CONN *) c_current->data; if (conn->other_object == to_remove) { other_object->conn_list = g_list_remove(other_object->conn_list, conn); #if DEBUG printf("Found other_object in remove_other\n"); printf("Freeing other: %s %d %d\n", conn->other_object->name, conn->x, conn->y); #endif /* Do not write modify c_current like this, since this will cause */ /* very nasty data corruption and upset glib's memory slice */ /* allocator. */ /* c_current->data = NULL; Do not comment in */ g_free(conn); #if 0 /* this does not work right */ if (other_object->type == OBJ_BUS && other_object->conn_list == NULL) { other_object->bus_ripper_direction = 0; } #endif s_conn_emit_conns_changed (toplevel, other_object); return (TRUE); } c_current = g_list_next(c_current); } o_emit_change_notify (toplevel, other_object); return (FALSE); } /*! \brief removes a GList of OBJECTs from the connection system * * \par Function Description * This function removes all connections from and to the OBJECTS * of the given GList. * * \param toplevel (currently not used) * \param obj_list GList of OBJECTs to unconnected from all other objects */ static void s_conn_remove_glist (TOPLEVEL *toplevel, GList *obj_list) { OBJECT *o_current; GList *iter; for (iter = obj_list; iter != NULL; iter = g_list_next (iter)) { o_current = iter->data; s_conn_remove_object (toplevel, o_current); } } /*! \brief remove an OBJECT from the connection system * \par Function Description * This function removes all connections from and to the OBJECT * to_remove. * \param toplevel (currently not used) * \param to_remove OBJECT to unconnected from all other objects */ void s_conn_remove_object (TOPLEVEL *toplevel, OBJECT *to_remove) { GList *c_iter; CONN *conn; switch (to_remove->type) { case OBJ_PIN: case OBJ_NET: case OBJ_BUS: for (c_iter = to_remove->conn_list; c_iter != NULL; c_iter = g_list_next (c_iter)) { conn = c_iter->data; s_conn_freeze_hooks (toplevel, conn->other_object); /* keep calling this till it returns false (all refs removed) */ /* there is NO body to this while loop */ while (s_conn_remove_other (toplevel, conn->other_object, to_remove)); c_iter->data = NULL; s_conn_thaw_hooks (toplevel, conn->other_object); g_free (conn); } g_list_free (to_remove->conn_list); to_remove->conn_list = NULL; break; case OBJ_COMPLEX: case OBJ_PLACEHOLDER: s_conn_remove_glist (toplevel, to_remove->complex->prim_objs); break; } s_conn_emit_conns_changed (toplevel, to_remove); } /*! \brief Checks if a point is a midpoint of an OBJECT * \par Function Description * Checks if the point (x,y) is on the OBJECT * and between it's endpoints. * \return TRUE if the point is a midpoint of the OBJECT. FALSE * if the point is not a midpoinit or if the OBJECT is not a * NET a PIN or a BUS or if the OBJECT * has neither horizontal nor vertical orientation. */ OBJECT *s_conn_check_midpoint(OBJECT *o_current, int x, int y) { int min_x, min_y, max_x, max_y; switch(o_current->type) { case(OBJ_NET): case(OBJ_PIN): case(OBJ_BUS): min_y = min(o_current->line->y[0], o_current->line->y[1]); max_y = max(o_current->line->y[0], o_current->line->y[1]); /* vertical */ if ( (o_current->line->x[0] == x) && (y > min_y) && (y < max_y) && (o_current->line->x[0] == o_current->line->x[1]) ) { #if DEBUG printf("Found vertical point\n"); #endif return(o_current); } min_x = min(o_current->line->x[0], o_current->line->x[1]); max_x = max(o_current->line->x[0], o_current->line->x[1]); /* horizontal */ if ( (o_current->line->y[0] == y) && (x > min_x) && (x < max_x) && (o_current->line->y[0] == o_current->line->y[1]) ) { #if DEBUG printf("Found horizontal point\n"); #endif return(o_current); } break; } return(NULL); } /*! \brief adds a GList of OBJECTs to the connection system * * \par Function Description * This function adds all connections from and to the OBJECTS * of the given GList. * * \param toplevel (currently not used) * \param obj_list GList of OBJECTs to add into the connection system */ void s_conn_update_glist (TOPLEVEL *toplevel, GList *obj_list) { OBJECT *o_current; GList *iter; for (iter = obj_list; iter != NULL; iter = g_list_next (iter)) { o_current = iter->data; s_conn_update_object (toplevel, o_current); } } /*! \brief Checks if an object is bus, or a bus pin * * \par Function Description * Checks if an object is a bus or a bus pin * * \param object The OBJECT to test * \return TRUE if the objects is a bis, or bus pin */ static int is_bus_related (OBJECT *object) { return (object->type == OBJ_BUS || (object->type == OBJ_PIN && object->pin_type == PIN_TYPE_BUS)); } /*! \brief Checks if two objects are of compatible types to be connected * * \par Function Description * Checks if two objects are legal to be connected together * * \param object1 First OBJECT * \param object2 Second OBJECT * \return TRUE if the objects are compatible, FALSE if not */ static int check_direct_compat (OBJECT *object1, OBJECT *object2) { return (is_bus_related (object1) == is_bus_related (object2)); } static void add_connection (TOPLEVEL *toplevel, OBJECT *object, OBJECT *other_object, int type, int x, int y, int whichone, int other_whichone) { /* Describe the connection */ CONN *new_conn = s_conn_return_new (other_object, type, x, y, whichone, other_whichone); /* Do uniqness check */ if (s_conn_uniq (object->conn_list, new_conn)) { object->conn_list = g_list_append (object->conn_list, new_conn); s_conn_emit_conns_changed (toplevel, object); s_conn_emit_conns_changed (toplevel, other_object); } else { g_free (new_conn); } } /*! \brief add a line OBJECT to the connection system * \par Function Description * This function searches for all geometrical conections of the OBJECT * object to all other connectable objects. It adds connections * to the object and from all other * objects to this one. * \param toplevel (currently not used) * \param object OBJECT to add into the connection system */ static void s_conn_update_line_object (TOPLEVEL *toplevel, OBJECT *object) { TILE *t_current; GList *tl_current; GList *object_list; OBJECT *other_object; OBJECT *found; int j, k; OBJECT *complex, *other_complex; complex = o_get_parent (toplevel, object); s_conn_freeze_hooks (toplevel, object); /* loop over all tiles which object appears in */ for (tl_current = object->tiles; tl_current != NULL; tl_current = g_list_next (tl_current)) { t_current = tl_current->data; for (object_list = t_current->objects; object_list != NULL; object_list = g_list_next (object_list)) { other_object = object_list->data; if (object == other_object) continue; other_complex = o_get_parent (toplevel, other_object); /* An object inside a symbol can only be connected up to another * object if they are (a) both inside the same object, or (b) * the object inside a symbol is a pin. */ /* 1. Both objects are inside a symbol */ if (complex && other_complex) { /* If inside different symbols, both must be pins to connect. */ if (complex != other_complex && (object->type != OBJ_PIN || other_object->type != OBJ_PIN)) { continue; } /* 2. Updating object is inside a symbol, but other object is not. */ } else if (complex && !other_complex) { if (object->type != OBJ_PIN) continue; /* 3. Updating object not inside symbol, but other object is. */ } else if (!complex && other_complex) { if (other_object->type != OBJ_PIN) continue; } s_conn_freeze_hooks (toplevel, other_object); /* Here is where you check the end points */ /* Check both end points of the other object */ for (k = 0; k < 2; k++) { /* If the other object is a pin, only check the correct end */ if (other_object->type == OBJ_PIN && other_object->whichend != k) continue; /* Check both end points of the object */ for (j = 0; j < 2; j++) { /* If the object is a pin, only check the correct end */ if (object->type == OBJ_PIN && object->whichend != j) continue; /* Check for coincidence and compatability between the objects being tested. */ if (object->line->x[j] == other_object->line->x[k] && object->line->y[j] == other_object->line->y[k] && check_direct_compat (object, other_object)) { o_emit_pre_change_notify (toplevel, other_object); add_connection (toplevel, object, other_object, CONN_ENDPOINT, other_object->line->x[k], other_object->line->y[k], j, k); add_connection (toplevel, other_object, object, CONN_ENDPOINT, object->line->x[j], object->line->y[j], k, j); o_emit_change_notify (toplevel, other_object); } } } /* Check both end points of the object against midpoints of the other */ for (k = 0; k < 2; k++) { /* If the object is a pin, only check the correct end */ if (object->type == OBJ_PIN && object->whichend != k) continue; /* check for midpoint of other object, k endpoint of current obj*/ found = s_conn_check_midpoint (other_object, object->line->x[k], object->line->y[k]); /* Pins are not allowed midpoint connections onto them. */ /* Allow nets to connect to the middle of buses. */ /* Allow compatible objects to connect. */ if (found && other_object->type != OBJ_PIN && ((object->type == OBJ_NET && other_object->type == OBJ_BUS) || check_direct_compat (object, other_object))) { add_connection (toplevel, object, other_object, CONN_MIDPOINT, object->line->x[k], object->line->y[k], k, -1); add_connection (toplevel, other_object, object, CONN_MIDPOINT, object->line->x[k], object->line->y[k], -1, k); } } /* Check both end points of the other object against midpoints of the first */ for (k = 0; k < 2; k++) { /* If the other object is a pin, only check the correct end */ if (other_object->type == OBJ_PIN && other_object->whichend != k) continue; /* do object's endpoints cross the middle of other_object? */ /* check for midpoint of other object, k endpoint of current obj*/ found = s_conn_check_midpoint (object, other_object->line->x[k], other_object->line->y[k]); /* Pins are not allowed midpoint connections onto them. */ /* Allow nets to connect to the middle of buses. */ /* Allow compatible objects to connect. */ if (found && object->type != OBJ_PIN && ((object->type == OBJ_BUS && other_object->type == OBJ_NET) || check_direct_compat (object, other_object))) { add_connection (toplevel, object, other_object, CONN_MIDPOINT, other_object->line->x[k], other_object->line->y[k], -1, k); add_connection (toplevel, other_object, object, CONN_MIDPOINT, other_object->line->x[k], other_object->line->y[k], k, -1); } } s_conn_thaw_hooks (toplevel, other_object); } } #if DEBUG s_conn_print(object->conn_list); #endif s_conn_thaw_hooks (toplevel, object); } /*! \brief add an OBJECT to the connection system * * \par Function Description * This function searches for all geometrical conections of the OBJECT * object to all other connectable objects. It adds connections * to the object and from all other objects to this one. * * \param toplevel (currently not used) * \param object OBJECT to add into the connection system */ void s_conn_update_object (TOPLEVEL *toplevel, OBJECT *object) { switch (object->type) { case OBJ_PIN: case OBJ_NET: case OBJ_BUS: s_conn_update_line_object (toplevel, object); break; case OBJ_COMPLEX: case OBJ_PLACEHOLDER: s_conn_update_glist (toplevel, object->complex->prim_objs); break; } } /*! \brief print all connections of a connection list * \par Function Description * This is a debugging function to print a List of connections. * \param conn_list GList of connection objects */ void s_conn_print(GList * conn_list) { CONN *conn; GList *cl_current; printf("\nStarting s_conn_print\n"); cl_current = conn_list; while (cl_current != NULL) { conn = (CONN *) cl_current->data; printf("-----------------------------------\n"); printf("other object: %s\n", conn->other_object->name); printf("type: %d\n", conn->type); printf("x: %d y: %d\n", conn->x, conn->y); printf("whichone: %d\n", conn->whichone); printf("other_whichone: %d\n", conn->other_whichone); printf("-----------------------------------\n"); cl_current = g_list_next(cl_current); } } /*! \brief Search for net in existing connections. * \par Function Description * This method searches the connection list for the first matching * connection with the given x, y, and whichone endpoint. * * \param [in] new_net Net OBJECT to compare to. * \param [in] whichone The connection number to check. * \param [in] conn_list List of existing connections to compare * new_net to. * \return TRUE if a matching connection is found, FALSE otherwise. */ int s_conn_net_search(OBJECT* new_net, int whichone, GList * conn_list) { CONN *conn; GList *cl_current; cl_current = conn_list; while (cl_current != NULL) { conn = (CONN *) cl_current->data; if (conn != NULL && conn->whichone == whichone && conn->x == new_net->line->x[whichone] && conn->y == new_net->line->y[whichone]) { return TRUE; } cl_current = g_list_next(cl_current); } return FALSE; } /*! \brief get a list of all objects connected to a list of OBJECTs. * * \par Function Description * This function gets all other_object from the connection * list of the OBJECTs in the pased list. * * \param [in] input_list GList of OBJECT's or NULL * \param [in] obj_list The GList of OBJECT to get connections from * \return A GList of objects * * \warning * Caller must g_list_free returned GList pointer. * Do not free individual data items in list. */ static GList *s_conn_return_glist_others (GList *input_list, GList *obj_list) { GList *return_list; GList *iter; OBJECT *o_current; return_list = input_list; for (iter = obj_list; iter != NULL; iter = g_list_next (iter)) { o_current = iter->data; return_list = s_conn_return_others (return_list, o_current); } return return_list; } /*! \brief get a list of all objects connected to this one * * \par Function Description * This function gets all other_object from the connection list of the current object. * COMPLEX objects are entered, and their prim_objs processed. If an input_list * is given, the other objects are appended to that list. * * \param [in] input_list GList of OBJECT's * \param [in] object OBJECT to get other OBJECTs from * \return A GList of OBJECTs * * \warning * Caller must g_list_free returned GList pointer. * Do not free individual data items in list. */ GList *s_conn_return_others(GList *input_list, OBJECT *object) { GList *c_iter; GList *return_list; return_list = input_list; switch (object->type) { case OBJ_PIN: case OBJ_NET: case OBJ_BUS: for (c_iter = object->conn_list; c_iter != NULL; c_iter = g_list_next (c_iter)) { CONN *conn = c_iter->data; if (conn->other_object && conn->other_object != object) { return_list = g_list_append(return_list, conn->other_object); } } break; case OBJ_COMPLEX: case OBJ_PLACEHOLDER: return_list = s_conn_return_glist_others (return_list, object->complex->prim_objs); break; } return return_list; } typedef struct { ConnsChangedFunc func; void *data; } ConnsChangedHook; void s_conn_append_conns_changed_hook (TOPLEVEL *toplevel, ConnsChangedFunc func, void *data) { ConnsChangedHook *new_hook; new_hook = g_new0 (ConnsChangedHook, 1); new_hook->func = func; new_hook->data = data; toplevel->conns_changed_hooks = g_list_append (toplevel->conns_changed_hooks, new_hook); } static void call_conns_changed_hook (gpointer data, gpointer user_data) { ConnsChangedHook *hook = data; OBJECT *object = user_data; hook->func (hook->data, object); } void s_conn_emit_conns_changed (TOPLEVEL *toplevel, OBJECT *object) { if (object->conn_notify_freeze_count > 0) { object->conn_notify_pending = 1; return; } object->conn_notify_pending = 0; g_list_foreach (toplevel->conns_changed_hooks, call_conns_changed_hook, object); } void s_conn_freeze_hooks (TOPLEVEL *toplevel, OBJECT *object) { object->conn_notify_freeze_count += 1; } void s_conn_thaw_hooks (TOPLEVEL *toplevel, OBJECT *object) { g_return_if_fail (object->conn_notify_freeze_count > 0); object->conn_notify_freeze_count -= 1; if (object->conn_notify_freeze_count == 0 && object->conn_notify_pending) s_conn_emit_conns_changed (toplevel, object); } static void refresh_connectivity_cache (TOPLEVEL *toplevel, OBJECT *object) { if (object->type == OBJ_NET) { /* FIXME: suboptimal to refresh cache every time */ /* better approach would invalidate cache without refresh */ /* refresh would be done on redraw of pin cues */ o_net_refresh_conn_cache (toplevel, object); } } static void s_conn_init_toplevel (TOPLEVEL *toplevel) { /* Connect the hooks for tracking net connectivity here */ s_conn_append_conns_changed_hook (toplevel, (ConnsChangedFunc) refresh_connectivity_cache, toplevel); o_attrib_append_attribs_changed_hook (toplevel, (AttribsChangedFunc) refresh_connectivity_cache, toplevel); } void s_conn_init (void) { s_toplevel_append_new_hook ((NewToplevelFunc) s_conn_init_toplevel, NULL); } geda-gaf-1.8.2/libgeda/src/edaerrors.c0000664000175000017500000000214012207374140014405 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's Library * Copyright (C) 2011 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA */ #include #include /* Used by EDA_ERROR. Returns a GQuark used to identify GErrors * originating in libgeda. Should not be called directly. */ GQuark eda_error_quark (void) { return g_quark_from_static_string ("eda-error-quark"); } geda-gaf-1.8.2/libgeda/src/o_circle_basic.c0000664000175000017500000011533712220647257015363 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! \file o_circle_basic.c * \brief functions for the circle object */ #include #include #include #include "libgeda_priv.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \brief calculate the distance between two points * \par Function Description * This function calculates the distance between two points. * The two points are defined by the (\a x1, \a y1) and (\a x2, \a y2) * parameters. * \param [in] x1 x-value of the first point * \param [in] y1 y-value of the first point * \param [in] x2 x-value of the second point * \param [in] y2 y-value of the second point * \return the distance * \todo Move this function to a different place */ int dist(int x1, int y1, int x2, int y2) { return sqrt(pow(x1-x2,2)+pow(y1-y2,2)); } /*! \brief Create and add circle OBJECT to list. * \par Function Description * This function creates a new object representing a circle. * * The circle is described by its center (x,y) and its radius * radius. * The type parameter must be equal to OBJ_CIRCLE. The color * corresponds to the color the box will be drawn with. * * The OBJECT structure is allocated with the #s_basic_new_object() * function. The structure describing the circle is allocated and initialized * with the parameters given to the function. * * Both the line type and the filling type are set to default values : solid * line type with a width of 0, and no filling. It can be changed after * with #o_set_line_options() and #o_set_fill_options(). * * \param [in] toplevel The TOPLEVEL object. * \param [in] type Must be OBJ_CIRCLE. * \param [in] color Circle line color. * \param [in] x Center x coordinate. * \param [in] y Center y coordinate. * \param [in] radius Radius of new circle. * \return A pointer to the new end of the object list. */ OBJECT *o_circle_new(TOPLEVEL *toplevel, char type, int color, int x, int y, int radius) { OBJECT *new_node; /* create the object */ new_node = s_basic_new_object(type, "circle"); new_node->color = color; new_node->circle = (CIRCLE *) g_malloc(sizeof(CIRCLE)); /* describe the circle with its center and radius */ new_node->circle->center_x = x; new_node->circle->center_y = y; new_node->circle->radius = radius; /* line type and filling initialized to default */ o_set_line_options(toplevel, new_node, END_NONE, TYPE_SOLID, 0, -1, -1); o_set_fill_options(toplevel, new_node, FILLING_HOLLOW, -1, -1, -1, -1, -1); /* compute the bounding box coords */ o_circle_recalc(toplevel, new_node); return new_node; } /*! \brief Create a copy of a circle. * \par Function Description * The function #o_circle_copy() creates a verbatim copy of the object * pointed by o_current describing a circle. * * \param [in] toplevel The TOPLEVEL object. * \param [in] o_current Circle OBJECT to copy. * \return The new OBJECT */ OBJECT *o_circle_copy(TOPLEVEL *toplevel, OBJECT *o_current) { OBJECT *new_obj; /* A new circle object is created with #o_circle_new(). * Values for its fields are default and need to be modified. */ new_obj = o_circle_new (toplevel, OBJ_CIRCLE, o_current->color, 0, 0, 0); /* * The parameters of the new circle are set with the ones of the original * circle. The two circle have the same line type and the same filling * options. * * The bounding box coordinates are computed with * #o_circle_recalc(). */ /* modify */ new_obj->circle->center_x = o_current->circle->center_x; new_obj->circle->center_y = o_current->circle->center_y; new_obj->circle->radius = o_current->circle->radius; o_set_line_options(toplevel, new_obj, o_current->line_end, o_current->line_type, o_current->line_width, o_current->line_length, o_current->line_space); o_set_fill_options(toplevel, new_obj, o_current->fill_type, o_current->fill_width, o_current->fill_pitch1, o_current->fill_angle1, o_current->fill_pitch2, o_current->fill_angle2); o_circle_recalc(toplevel, new_obj); /* new_obj->attribute = 0;*/ return new_obj; } /*! \brief Modify the description of a circle OBJECT. * \par Function Description * This function modifies the description of the circle object *object * depending on whichone that give the meaning of the x and y * parameters. * * If whichone is equal to CIRCLE_CENTER, the new center of the * circle is given by (x,y) where x and y are in world units. * * If whichone is equal to CIRCLE_RADIUS, the radius is given by * x - in world units. y is ignored. * * The bounding box of the circle object is updated after the modification of its * parameters. * * \param [in] toplevel The TOPLEVEL object. * \param [in,out] object Circle OBJECT to modify. * \param [in] x New center x coordinate, or radius value. * \param [in] y New center y coordinate. * Unused if radius is being modified. * \param [in] whichone Which circle parameter to modify. * * whichone can have the following values: *
    *
    *
    CIRCLE_CENTER *
    *
    CIRCLE_RADIUS *
    */ void o_circle_modify(TOPLEVEL *toplevel, OBJECT *object, int x, int y, int whichone) { o_emit_pre_change_notify (toplevel, object); switch(whichone) { case CIRCLE_CENTER: /* modify the center of the circle */ object->circle->center_x = x; object->circle->center_y = y; break; case CIRCLE_RADIUS: /* modify the radius of the circle */ if (x == 0) { s_log_message(_("Null radius circles are not allowed\n")); return; } object->circle->radius = x; break; default: break; } /* recalculate the boundings */ o_circle_recalc(toplevel, object); o_emit_change_notify (toplevel, object); } /*! \brief Create circle OBJECT from character string. * \par Function Description * The #o_circle_read() function gets from the character string *buff the * description of a circle. * * Depending on *version, the right file format is considered. * Currently two file format revisions are supported : *
    *
    *
    the file format used until 2000704 release. *
    *
    the file format used for the releases after 20000704. *
    * * \param [in] toplevel The TOPLEVEL object. * \param [in] buf Character string with circle description. * \param [in] release_ver libgeda release version number. * \param [in] fileformat_ver libgeda file format version number. * \return A pointer to the new circle object, or NULL on error. */ OBJECT *o_circle_read (TOPLEVEL *toplevel, const char buf[], unsigned int release_ver, unsigned int fileformat_ver, GError ** err) { OBJECT *new_obj; char type; int x1, y1; int radius; int color; int circle_width, circle_space, circle_length; int fill_width, angle1, pitch1, angle2, pitch2; int circle_end; int circle_type; int circle_fill; if(release_ver <= VERSION_20000704) { /* * The old geda file format, i.e. releases 20000704 and older, does not * handle the line type and the filling of the box object. They are set * to default. */ if (sscanf(buf, "%c %d %d %d %d\n", &type, &x1, &y1, &radius, &color) != 5) { g_set_error(err, EDA_ERROR, EDA_ERROR_PARSE, _("Failed to parse circle object")); return NULL; } circle_width = 0; circle_end = END_NONE; circle_type = TYPE_SOLID; circle_length= -1; circle_space = -1; circle_fill = FILLING_HOLLOW; fill_width = 0; angle1 = -1; pitch1 = -1; angle2 = -1; pitch2 = -1; } else { /* * The current line format to describe a circle is a space separated * list of characters and numbers in plain ASCII on a single line. The * meaning of each item is described in the file format documentation. */ if (sscanf(buf, "%c %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d\n", &type, &x1, &y1, &radius, &color, &circle_width, &circle_end, &circle_type, &circle_length, &circle_space, &circle_fill, &fill_width, &angle1, &pitch1, &angle2, &pitch2) != 16) { g_set_error(err, EDA_ERROR, EDA_ERROR_PARSE, _("Failed to parse circle object")); return NULL; } } if (radius <= 0) { s_log_message(_("Found a zero or negative radius circle [ %c %d %d %d %d ]\n"), type, x1, y1, radius, color); s_log_message (_("Setting radius to 0\n")); radius = 0; } if (color < 0 || color > MAX_COLORS) { s_log_message(_("Found an invalid color [ %s ]\n"), buf); s_log_message(_("Setting color to default color\n")); color = DEFAULT_COLOR; } /* * A circle is internally described by its center and its radius. * * A new object is allocated, initialized and added to the object list. * Its filling and line type are set according to the values of the field * on the line. */ new_obj = o_circle_new(toplevel, type, color, x1, y1, radius); o_set_line_options(toplevel, new_obj, circle_end, circle_type, circle_width, circle_length, circle_space); o_set_fill_options(toplevel, new_obj, circle_fill, fill_width, pitch1, angle1, pitch2, angle2); return new_obj; } /*! \brief Create a character string representation of a circle OBJECT. * \par Function Description * This function formats a string in the buffer *buff to describe the * circle object *object. * It follows the post-20000704 release file format that handle the line * type and fill options. * * \param [in] toplevel a TOPLEVEL structure. * \param [in] object Circle OBJECT to create string from. * \return A pointer to the circle OBJECT character string. * * \note * Caller must g_free returned character string. * */ char *o_circle_save(TOPLEVEL *toplevel, OBJECT *object) { int x,y; int radius; int circle_width, circle_space, circle_length; int fill_width, angle1, pitch1, angle2, pitch2; char *buf; OBJECT_END circle_end; OBJECT_TYPE circle_type; OBJECT_FILLING circle_fill; /* circle center and radius */ x = object->circle->center_x; y = object->circle->center_y; radius = object->circle->radius; /* line type parameters */ circle_width = object->line_width; circle_end = object->line_end; circle_type = object->line_type; circle_length= object->line_length; circle_space = object->line_space; /* filling parameters */ circle_fill = object->fill_type; fill_width = object->fill_width; angle1 = object->fill_angle1; pitch1 = object->fill_pitch1; angle2 = object->fill_angle2; pitch2 = object->fill_pitch2; buf = g_strdup_printf("%c %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d", object->type, x, y, radius, object->color, circle_width, circle_end, circle_type, circle_length, circle_space, circle_fill, fill_width, angle1, pitch1, angle2, pitch2); return(buf); } /*! \brief Translate a circle position in WORLD coordinates by a delta. * \par Function Description * This function applies a translation of (x1,y1) to the circle * described by *object. x1 and y1 are in world unit. * * \param [in] toplevel The TOPLEVEL object. * \param [in] dx x distance to move. * \param [in] dy y distance to move. * \param [in,out] object Circle OBJECT to translate. */ void o_circle_translate_world(TOPLEVEL *toplevel, int dx, int dy, OBJECT *object) { /* Do world coords */ object->circle->center_x = object->circle->center_x + dx; object->circle->center_y = object->circle->center_y + dy; /* recalc the screen coords and the bounding box */ o_circle_recalc(toplevel, object); } /*! \brief Rotate Circle OBJECT using WORLD coordinates. * \par Function Description * The function #o_circle_rotate_world() rotate the circle described by * *object around the (world_centerx,world_centery) point by * angle angle degrees. * The center of rotation is in world unit. * * \param [in] toplevel The TOPLEVEL object. * \param [in] world_centerx Rotation center x coordinate in WORLD units. * \param [in] world_centery Rotation center y coordinate in WORLD units. * \param [in] angle Rotation angle in degrees (See note below). * \param [in,out] object Circle OBJECT to rotate. */ void o_circle_rotate_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, int angle, OBJECT *object) { int newx, newy; int x, y; /* Only 90 degree multiple and positive angles are allowed. */ /* angle must be positive */ if(angle < 0) angle = -angle; /* angle must be a 90 multiple or no rotation performed */ if((angle % 90) != 0) return; /* * The center of rotation (world_centerx,world_centery) is * translated to the origin. The rotation of the center around the origin * is then performed. Finally, the rotated circle is translated back to * its previous location. */ /* translate object to origin */ object->circle->center_x -= world_centerx; object->circle->center_y -= world_centery; /* rotate the center of the circle around the origin */ x = object->circle->center_x; y = object->circle->center_y; rotate_point_90(x, y, angle, &newx, &newy); object->circle->center_x = newx; object->circle->center_y = newy; /* translate back in position */ object->circle->center_x += world_centerx; object->circle->center_y += world_centery; o_circle_recalc(toplevel, object); } /*! \brief Mirror circle using WORLD coordinates. * \par Function Description * This function recalculates the screen coords of the o_current pointed * circle object from its world coords. * * The circle coordinates and its bounding are recalculated as well as the * OBJECT specific (line width, filling ...). * * \param [in] toplevel The TOPLEVEL object. * \param [in] world_centerx Origin x coordinate in WORLD units. * \param [in] world_centery Origin y coordinate in WORLD units. * \param [in,out] object Circle OBJECT to mirror. */ void o_circle_mirror_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, OBJECT *object) { /* translate object to origin */ object->circle->center_x -= world_centerx; object->circle->center_y -= world_centery; /* mirror the center of the circle */ object->circle->center_x = -object->circle->center_x; object->circle->center_y = object->circle->center_y; /* translate back in position */ object->circle->center_x += world_centerx; object->circle->center_y += world_centery; /* recalc boundings and screen coords */ o_circle_recalc(toplevel, object); } /*! \brief Recalculate circle coordinates in SCREEN units. * \par Function Description * This function recalculates the screen coords of the o_current pointed * circle object from its world coords. * * The circle coordinates and its bounding are recalculated as well as the * OBJECT specific (line width, filling ...). * * \param [in] toplevel The TOPLEVEL object. * \param [in,out] o_current Circle OBJECT to be recalculated. */ void o_circle_recalc(TOPLEVEL *toplevel, OBJECT *o_current) { int left, right, top, bottom; if (o_current->circle == NULL) { return; } /* update the bounding box - world unit */ world_get_circle_bounds(toplevel, o_current, &left, &top, &right, &bottom); o_current->w_left = left; o_current->w_top = top; o_current->w_right = right; o_current->w_bottom = bottom; o_current->w_bounds_valid = TRUE; } /*! \brief Get circle bounding rectangle in WORLD coordinates. * \par Function Description * This function sets the left, top, right and bottom * parameters to the boundings of the circle object described in *circle * in world units. * * \param [in] toplevel The TOPLEVEL object. * \param [in] object Circle OBJECT to read coordinates from. * \param [out] left Left circle coordinate in WORLD units. * \param [out] top Top circle coordinate in WORLD units. * \param [out] right Right circle coordinate in WORLD units. * \param [out] bottom Bottom circle coordinate in WORLD units. */ void world_get_circle_bounds(TOPLEVEL *toplevel, OBJECT *object, int *left, int *top, int *right, int *bottom) { int halfwidth; halfwidth = object->line_width / 2; *left = object->circle->center_x - object->circle->radius; *top = object->circle->center_y - object->circle->radius; *right = object->circle->center_x + object->circle->radius; *bottom = object->circle->center_y + object->circle->radius; /* This isn't strictly correct, but a 1st order approximation */ *left -= halfwidth; *top -= halfwidth; *right += halfwidth; *bottom += halfwidth; } /*! \brief get the position of the center point * \par Function Description * This function gets the position of the center point of a circle object. * * \param [in] toplevel The toplevel environment. * \param [out] x pointer to the x-position * \param [out] y pointer to the y-position * \param [in] object The object to get the position. * \return TRUE if successfully determined the position, FALSE otherwise */ gboolean o_circle_get_position (TOPLEVEL *toplevel, gint *x, gint *y, OBJECT *object) { *x = object->circle->center_x; *y = object->circle->center_y; return TRUE; } /*! \brief Print circle to Postscript document. * \par Function Description * This function prints the circle described by the o_current * parameter to a Postscript document. It takes into account its line type * and fill type. * The Postscript document is descibed by the file pointer fp. * * The validity of the o_current pointer is checked : * a null pointer causes an error message and a return. * * The description of the circle is extracted from the o_current * parameter : the coordinates of the center of the circle, its radius, * its line type, its fill type. * * The outline and the inside of the circle are successively handled by * two differend sets of functions. * * \param [in] toplevel The TOPLEVEL object. * \param [in] fp FILE pointer to Postscript document. * \param [in] o_current Circle OBJECT to write to document. * \param [in] origin_x Page x coordinate to place circle OBJECT. * \param [in] origin_y Page y coordinate to place circle OBJECT. */ void o_circle_print(TOPLEVEL *toplevel, FILE *fp, OBJECT *o_current, int origin_x, int origin_y) { int x, y, radius; int color; int circle_width, length, space; int fill_width, angle1, pitch1, angle2, pitch2; void (*outl_func)() = NULL; void (*fill_func)() = NULL; if (o_current == NULL) { printf("got null in o_circle_print\n"); return; } x = o_current->circle->center_x; y = o_current->circle->center_y; radius = o_current->circle->radius; color = o_current->color; /* * Depending on the type of the line for this particular circle, the * appropriate function is chosen among #o_circle_print_solid(), * #o_circle_print_dotted(), #o_circle_print_dashed(), * #o_circle_print_center() and #o_circle_print_phantom(). * * The needed parameters for each of these type is extracted from the * o_current object. Depending on the type, unused parameters are * set to -1. * * In the eventuality of a length and/or space null, the line is * printed solid to avoid and endless loop produced by other functions * in such a case. */ circle_width = o_current->line_width; if(circle_width <=2) { if(toplevel->line_style == THICK) { circle_width=LINE_WIDTH; } else { circle_width=2; } } length = o_current->line_length; space = o_current->line_space; switch(o_current->line_type) { case(TYPE_SOLID): length = -1; space = -1; outl_func = o_circle_print_solid; break; case(TYPE_DOTTED): length = -1; outl_func = o_circle_print_dotted; break; case(TYPE_DASHED): outl_func = o_circle_print_dashed; break; case(TYPE_CENTER): outl_func = o_circle_print_center; break; case(TYPE_PHANTOM): outl_func = o_circle_print_phantom; break; case(TYPE_ERASE): /* Unused for now print it solid */ length = -1; space = -1; outl_func = o_circle_print_solid; break; } if((length == 0) || (space == 0)) { length = -1; space = -1; outl_func = o_circle_print_solid; } (*outl_func)(toplevel, fp, x - origin_x, y - origin_y, radius, color, circle_width, length, space, origin_x, origin_y); /* * If the filling type of the circle is not HOLLOW, the appropriate * function is chosen among #o_circle_print_filled(), #o_circle_print_mesh() * and #o_circle_print_hatch(). The corresponding parameters are extracted * from the o_current object and corrected afterward. * * The case where pitch1 and pitch2 are null or negative is * avoided as it leads to an endless loop in most of the called functions. * In such a case, the circle is printed filled. Unused parameters for * each of these functions are set to -1 or any passive value. */ if(o_current->fill_type != FILLING_HOLLOW) { fill_width = o_current->fill_width; angle1 = o_current->fill_angle1; pitch1 = o_current->fill_pitch1; angle2 = o_current->fill_angle2; pitch2 = o_current->fill_pitch2; switch(o_current->fill_type) { case(FILLING_FILL): angle1 = -1; pitch1 = 1; angle2 = -1; pitch2 = 1; fill_width = -1; fill_func = o_circle_print_filled; break; case(FILLING_MESH): fill_func = o_circle_print_mesh; break; case(FILLING_HATCH): angle2 = -1; pitch2 = 1; fill_func = o_circle_print_hatch; break; case(FILLING_VOID): /* Unused for now, print it filled */ angle1 = -1; pitch1 = 1; angle2 = -1; pitch2 = 1; fill_width = -1; fill_func = o_circle_print_filled; break; case(FILLING_HOLLOW): /* nop */ break; } if((pitch1 <= 0) || (pitch2 <= 0)) { angle1 = -1; pitch1 = 1; angle2 = -1; pitch2 = 1; fill_func = o_circle_print_filled; } (*fill_func)(toplevel, fp, x, y, radius, color, fill_width, angle1, pitch1, angle2, pitch2, origin_x, origin_y); } } /*! \brief Print a solid circle to Postscript document. * \par Function Description * This function prints the outline of a circle when a solid line type * is required. The circle is defined by its center in (x, y) * and its radius in radius. It is printed with the color given * in color. * The parameters length and space are ignored. * * It uses the function #o_arc_print_solid() to print the outline. * Therefore it acts as an interface between the way a circle is defined * and the way an arc is defined. * * All dimensions are in mils. * * \param [in] toplevel The TOPLEVEL object. * \param [in] fp FILE pointer to Postscript document. * \param [in] x Center x coordinate of circle. * \param [in] y Center y coordinate of circle. * \param [in] radius Circle radius. * \param [in] color Circle color. * \param [in] circle_width Width of circle. * \param [in] length (unused). * \param [in] space (unused). * \param [in] origin_x Page x coordinate to place circle OBJECT. * \param [in] origin_y Page y coordinate to place circle OBJECT. */ void o_circle_print_solid(TOPLEVEL *toplevel, FILE *fp, int x, int y, int radius, int color, int circle_width, int length, int space, int origin_x, int origin_y) { o_arc_print_solid(toplevel, fp, x, y, radius, 0, FULL_CIRCLE / 64, color, circle_width, -1, -1, origin_x, origin_y); } /*! \brief Print a dotted circle to Postscript document. * \par Function Description * This function prints the outline of a circle when a dotted line * type is required. The circle is defined by its center * in (x, y) and its radius in radius. It is printed * with the color given in color. * The parameter length is ignored. * * It uses the function #o_arc_print_dotted() to print the outline. * Therefore it acts as an interface between the way a circle is * defined and the way an arc is defined. * * All dimensions are in mils. * * \param [in] toplevel The TOPLEVEL object. * \param [in] fp FILE pointer to Postscript document. * \param [in] x Center x coordinate of circle. * \param [in] y Center y coordinate of circle. * \param [in] radius Circle radius. * \param [in] color Circle color. * \param [in] circle_width Width of circle. * \param [in] length (unused). * \param [in] space Space between dots. * \param [in] origin_x Page x coordinate to place circle OBJECT. * \param [in] origin_y Page y coordinate to place circle OBJECT. */ void o_circle_print_dotted(TOPLEVEL *toplevel, FILE *fp, int x, int y, int radius, int color, int circle_width, int length, int space, int origin_x, int origin_y) { o_arc_print_dotted(toplevel, fp, x, y, radius, 0, FULL_CIRCLE / 64, color, circle_width, -1, space, origin_x, origin_y); } /*! \brief Print a dashed circle to Postscript document. * \par Function Description * This function prints the outline of a circle when a dashed line type * is required. The circle is defined by its center in * (x, y) and its radius in radius. It is printed with the * color given in color. * * It uses the function #o_arc_print_dashed() to print the outline. * Therefore it acts as an interface between the way a circle is * defined and the way an arc is defined. * * All dimensions are in mils. * * \param [in] toplevel The TOPLEVEL object. * \param [in] fp FILE pointer to Postscript document. * \param [in] x Center x coordinate of circle. * \param [in] y Center y coordinate of circle. * \param [in] radius Circle radius. * \param [in] color Circle color. * \param [in] circle_width Width of circle. * \param [in] length Length of dashed lines. * \param [in] space Space between dashes. * \param [in] origin_x Page x coordinate to place circle OBJECT. * \param [in] origin_y Page y coordinate to place circle OBJECT. */ void o_circle_print_dashed(TOPLEVEL *toplevel, FILE *fp, int x, int y, int radius, int color, int circle_width, int length, int space, int origin_x, int origin_y) { o_arc_print_dashed(toplevel, fp, x, y, radius, 0, FULL_CIRCLE / 64, color, circle_width, length, space, origin_x, origin_y); } /*! \brief Print a centered line type circle to Postscript document. * \par Function Description * This function prints the outline of a circle when a centered line * type is required. The circle is defined by its center in * (x, y) and its radius in radius. It is printed with the * color given in color. * * It uses the function #o_arc_print_center() to print the outline. * Therefore it acts as an interface between the way a circle is * defined and the way an arc is defined. * * All dimensions are in mils. * * \param [in] toplevel The TOPLEVEL object. * \param [in] fp FILE pointer to Postscript document. * \param [in] x Center x coordinate of circle. * \param [in] y Center y coordinate of circle. * \param [in] radius Circle radius. * \param [in] color Circle color. * \param [in] circle_width Width of circle. * \param [in] length Length of dashed lines. * \param [in] space Space between dashes. * \param [in] origin_x Page x coordinate to place circle OBJECT. * \param [in] origin_y Page y coordinate to place circle OBJECT. */ void o_circle_print_center(TOPLEVEL *toplevel, FILE *fp, int x, int y, int radius, int color, int circle_width, int length, int space, int origin_x, int origin_y) { o_arc_print_center(toplevel, fp, x, y, radius, 0, FULL_CIRCLE / 64, color, circle_width, length, space, origin_x, origin_y); } /*! \brief Print a phantom line type circle to Postscript document. * \par Function Description * This function prints the outline of a circle when a phantom line type * is required. The circle is defined by its center in * (x, y) and its radius in radius. It is printed with the * color given in color. * * It uses the function #o_arc_print_phantom() to print the outline. * Therefore it acts as an interface between the way a circle is defined * and the way an arc is defined. * * All dimensions are in mils. * * \param [in] toplevel The TOPLEVEL object. * \param [in] fp FILE pointer to Postscript document. * \param [in] x Center x coordinate of circle. * \param [in] y Center y coordinate of circle. * \param [in] radius Circle radius. * \param [in] color Circle color. * \param [in] circle_width Width of circle. * \param [in] length Length of dashed lines. * \param [in] space Space between dashes. * \param [in] origin_x Page x coordinate to place circle OBJECT. * \param [in] origin_y Page y coordinate to place circle OBJECT. */ void o_circle_print_phantom(TOPLEVEL *toplevel, FILE *fp, int x, int y, int radius, int color, int circle_width, int length, int space, int origin_x, int origin_y) { o_arc_print_phantom(toplevel, fp, x, y, radius, 0, FULL_CIRCLE / 64, color, circle_width, length, space, origin_x, origin_y); } /*! \brief Print a solid pattern circle to Postscript document. * \par Function Description * The function prints a filled circle with a solid pattern. * No outline is printed. * The circle is defined by the coordinates of its center in * (x,y) and its radius given by the radius parameter. * The postscript file is defined by the file pointer fp. * fill_width, angle1 and pitch1, angle2 * and pitch2 parameters are ignored in this functions but * kept for compatibility with other fill functions. * * All dimensions are in mils (except angle1 and angle2 in degree). * * \param [in] toplevel The TOPLEVEL object. * \param [in] fp FILE pointer to Postscript document. * \param [in] x Center x coordinate of circle. * \param [in] y Center y coordinate of circle. * \param [in] radius Radius of circle. * \param [in] color Circle color. * \param [in] fill_width Circle fill width. (unused). * \param [in] angle1 (unused). * \param [in] pitch1 (unused). * \param [in] angle2 (unused). * \param [in] pitch2 (unused). * \param [in] origin_x Page x coordinate to place circle OBJECT. * \param [in] origin_y Page y coordinate to place circle OBJECT. */ void o_circle_print_filled(TOPLEVEL *toplevel, FILE *fp, int x, int y, int radius, int color, int fill_width, int angle1, int pitch1, int angle2, int pitch2, int origin_x, int origin_y) { f_print_set_color(toplevel, fp, color); fprintf(fp, "%d %d %d dot\n", x-origin_x, y-origin_y, radius); } /*! \brief Print a mesh pattern circle to Postscript document. * \par Function Description * This function prints a meshed circle. No outline is printed. * The circle is defined by the coordinates of its center in * (x,y) and its radius by the radius parameter. * The Postscript document is defined by the file pointer fp. * * The inside mesh is achieved by two successive call to the * #o_circle_print_hatch() function, given angle1 and pitch1 * the first time and angle2 and pitch2 the second time. * * Negative or null values for pitch1 and/or pitch2 are * not allowed as it leads to an endless loop in #o_circle_print_hatch(). * * All dimensions are in mils (except angle1 and angle2 in degree). * * \param [in] toplevel The TOPLEVEL object. * \param [in] fp FILE pointer to Postscript document. * \param [in] x Center x coordinate of circle. * \param [in] y Center y coordinate of circle. * \param [in] radius Radius of circle. * \param [in] color Circle color. * \param [in] fill_width Circle fill width. * \param [in] angle1 1st angle for mesh pattern. * \param [in] pitch1 1st pitch for mesh pattern. * \param [in] angle2 2nd angle for mesh pattern. * \param [in] pitch2 2nd pitch for mesh pattern. * \param [in] origin_x Page x coordinate to place circle OBJECT. * \param [in] origin_y Page y coordinate to place circle OBJECT. */ void o_circle_print_mesh(TOPLEVEL *toplevel, FILE *fp, int x, int y, int radius, int color, int fill_width, int angle1, int pitch1, int angle2, int pitch2, int origin_x, int origin_y) { o_circle_print_hatch(toplevel, fp, x, y, radius, color, fill_width, angle1, pitch1, -1, -1, origin_x, origin_y); o_circle_print_hatch(toplevel, fp, x, y, radius, color, fill_width, angle2, pitch2, -1, -1, origin_x, origin_y); } /*! \brief Print a hatch pattern circle to Postscript document. * \par Function Description * The function prints a hatched circle. No outline is printed. * The circle is defined by the coordinates of its center in * (x,y) and its radius by the radius parameter. * The Postscript document is defined by the file pointer fp. * angle2 and pitch2 parameters are ignored in this * functions but kept for compatibility with other fill functions. * * The only attribute of line here is its width from the parameter width. * * Negative or null values for pitch1 is not allowed as it * leads to an endless loop. * * All dimensions are in mils (except angle1 is in degrees). * * \param [in] toplevel The TOPLEVEL object. * \param [in] fp FILE pointer to Postscript document. * \param [in] x Center x coordinate of circle. * \param [in] y Center y coordinate of circle. * \param [in] radius Radius of circle. * \param [in] color Circle color. * \param [in] fill_width Circle fill width. * \param [in] angle1 Angle for hatch pattern. * \param [in] pitch1 Pitch for hatch pattern. * \param [in] angle2 (unused). * \param [in] pitch2 (unused). * \param [in] origin_x Page x coordinate to place circle OBJECT. * \param [in] origin_y Page y coordinate to place circle OBJECT. */ void o_circle_print_hatch(TOPLEVEL *toplevel, FILE *fp, int x, int y, int radius, int color, int fill_width, int angle1, int pitch1, int angle2, int pitch2, int origin_x, int origin_y) { CIRCLE circle; gint index; GArray *lines; g_return_if_fail(toplevel != NULL); g_return_if_fail(fp != NULL); f_print_set_color(toplevel, fp, color); /* Avoid printing line widths too small */ if (fill_width <= 1) fill_width = 2; lines = g_array_new(FALSE, FALSE, sizeof(LINE)); circle.center_x = x; circle.center_y = y; circle.radius = radius; m_hatch_circle(&circle, angle1, pitch1, lines); for(index=0; indexlen; index++) { LINE *line = &g_array_index(lines, LINE, index); fprintf(fp,"%d %d %d %d %d line\n", line->x[0], line->y[0], line->x[1], line->y[1], fill_width); } g_array_free(lines, TRUE); } /*! \brief Calculates the distance between the given point and the closest * point on the perimeter of the circle. * * \param [in] object The circle OBJECT. * \param [in] x The x coordinate of the given point. * \param [in] y The y coordinate of the given point. * \param [in] force_solid If true, force treating the object as solid. * \return The shortest distance from the object to the point. With an * invalid parameter, this function returns G_MAXDOUBLE. */ double o_circle_shortest_distance (OBJECT *object, int x, int y, int force_solid) { int solid; g_return_val_if_fail (object->circle != NULL, G_MAXDOUBLE); solid = force_solid || object->fill_type != FILLING_HOLLOW; return m_circle_shortest_distance (object->circle, x, y, solid); } geda-gaf-1.8.2/libgeda/src/s_attrib.c0000664000175000017500000000556212207374140014241 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_STRING_H #include #endif #include "libgeda_priv.h" #ifdef HAVE_LIBDMALLOC #include #endif #define MAX_ATTRIBS 128 /*! \brief */ struct st_attrib_names { char *attrib_name; }; /*! \brief */ static int attrib_index=0; /*! \brief */ /* and eventually make this unlimited */ /* hack hack */ static struct st_attrib_names attrib[MAX_ATTRIBS]; /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ int s_attrib_add_entry(char *new_attrib) { if (new_attrib == NULL) { return(-1); } if (attrib_index >= MAX_ATTRIBS) { return(-1); } attrib[attrib_index].attrib_name = g_strdup (new_attrib); attrib_index++; return(attrib_index); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void s_attrib_print() { int i; for (i = 0; i < attrib_index; i++) { printf("%s\n", attrib[i].attrib_name); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ /* true for uniqueness, zero for duplication */ int s_attrib_uniq(char *name) { int i; for (i = 0; i < attrib_index; i++) { if (strcmp(attrib[i].attrib_name, name) == 0) { return(0); } } return(1); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void s_attrib_free() { int i; for (i = 0; i < attrib_index; i++) { g_free(attrib[i].attrib_name); } attrib_index=0; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void s_attrib_init() { int i; for (i = 0; i < MAX_ATTRIBS; i++) { attrib[i].attrib_name = NULL; } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ char *s_attrib_get(int counter) { if (counter < attrib_index) { return(attrib[counter].attrib_name); } return(NULL); } geda-gaf-1.8.2/libgeda/src/scheme_init.c0000664000175000017500000000354512220647257014727 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library - Scheme API * Copyright (C) 2010-2012 Peter Brett * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA */ /*! * \file scheme_init.c * \brief Scheme API initialisation */ #include #include "libgeda_priv.h" #include "libgedaguile_priv.h" /*! Non-zero if the Scheme API has been initialised. */ static int init_called = 0; SCM_GLOBAL_SYMBOL (edascm_object_state_sym, "object-state"); /*! \brief Scheme API initialisation worker function. * \par Function Description * Called by edascm_init() with current thread in Guile mode. */ static void * edascm_init_impl (void *data) { #include "scheme_init.x" edascm_init_smob (); edascm_init_toplevel (); edascm_init_object (); edascm_init_complex (); edascm_init_page (); edascm_init_attrib (); edascm_init_os (); edascm_init_deprecated (); return NULL; } /*! \brief Initialise the Scheme API. * \ingroup guile_c_iface * \par Function Description * Registers all modules, procedures and variables exported by the * libgeda Scheme API. */ void edascm_init () { if (init_called) return; init_called = 1; scm_with_guile (edascm_init_impl, NULL); } geda-gaf-1.8.2/libgeda/src/s_page.c0000664000175000017500000005413312210655246013671 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! \file s_page.c * \brief The page system * * libgeda can handle multiple schematic or symbol pages. libgeda keeps * track of the currently opened pages with a managed _GedaList. * The currently used page is refered with an extra pointer. * * Each page carries a list of the objects that are on the page. * The first and the last element are referenced by the head and tail * pointers. * * \image html s_page_overview.png * \image latex s_page_overview.pdf "page overview" width=14cm */ #include #include #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_UNISTD_H #include #endif #ifdef HAVE_STRING_H #include #endif #include #include #include #include "libgeda_priv.h" #ifdef HAVE_LIBDMALLOC #include #endif static gint global_pid = 0; /* Called just before removing an OBJECT from a PAGE. */ static void object_added (TOPLEVEL *toplevel, PAGE *page, OBJECT *object) { /* Set up object parent pointer */ #ifndef NDEBUG if (object->page != NULL) { g_critical ("Object %p already has parent page %p!", object, object->page); } #endif object->page = page; /* Add object to tile system. */ s_tile_add_object (toplevel, object); /* Update object connection tracking */ s_conn_update_object (toplevel, object); o_emit_change_notify (toplevel, object); } /* Called just before removing an OBJECT from a PAGE. */ static void pre_object_removed (TOPLEVEL *toplevel, PAGE *page, OBJECT *object) { o_emit_pre_change_notify (toplevel, object); /* Clear object parent pointer */ #ifndef NDEBUG if (object->page == NULL) { g_critical ("Object %p has NULL parent page!", object); } #endif object->page = NULL; /* Clear page's object_lastplace pointer if set */ if (page->object_lastplace == object) { page->object_lastplace = NULL; } /* Remove object from connection system */ s_conn_remove_object (toplevel, object); /* Remove object from tile system */ s_tile_remove_object (object); } /*! \brief create a new page object * \par Function Description * Creates a new page and add it to toplevel's list of pages. * * It initializes the #PAGE structure and set its page_filename * to filename. toplevel's current page is not changed by * this function. */ PAGE *s_page_new (TOPLEVEL *toplevel, const gchar *filename) { PAGE *page; /* Now create a blank page */ page = (PAGE*)g_new0 (PAGE, 1); page->pid = global_pid++; page->CHANGED = 0; /* big assumption here that page_filename isn't null */ if (g_path_is_absolute (filename)) { page->page_filename = g_strdup (filename); } else { gchar *pwd = g_get_current_dir (); page->page_filename = g_build_filename (pwd, filename, NULL); g_free (pwd); } g_assert (toplevel->init_bottom != 0); page->coord_aspectratio = ( ((float) toplevel->init_right) / ((float) toplevel->init_bottom)); page->up = -2; page->page_control = 0; /* Init tile array */ s_tile_init (toplevel, page); /* Init the object list */ page->_object_list = NULL; /* new selection mechanism */ page->selection_list = o_selection_new(); page->place_list = NULL; /* init undo struct pointers */ s_undo_init(page); page->object_lastplace = NULL; page->weak_refs = NULL; set_window (toplevel, page, toplevel->init_left, toplevel->init_right, toplevel->init_top, toplevel->init_bottom); /* Backup variables */ g_get_current_time (&page->last_load_or_save_time); page->ops_since_last_backup = 0; page->saved_since_first_loaded = 0; page->do_autosave_backup = 0; /* now append page to page list of toplevel */ geda_list_add( toplevel->pages, page ); return page; } /*! \brief delete a page and it's contents * \par Function Description * Deletes a single page page from toplevel's list of pages. * * See #s_page_delete_list() to delete all pages of a toplevel * * If the current page of toplevel is given as parameter page, * the function sets the field page_current of the TOPLEVEL * struct to NULL. */ void s_page_delete (TOPLEVEL *toplevel, PAGE *page) { PAGE *tmp; gchar *backup_filename; gchar *real_filename; /* We need to temporarily make the page being deleted current because * various functions called below (some indirectly) assume they are * deleting objects from the current page. * * These functions are known to include: * s_delete_object () */ /* save page_current and switch to page */ if (page == toplevel->page_current) { tmp = NULL; } else { tmp = toplevel->page_current; s_page_goto (toplevel, page); } /* Get the real filename and file permissions */ real_filename = follow_symlinks (page->page_filename, NULL); if (real_filename == NULL) { s_log_message (_("s_page_delete: Can't get the real filename of %s."), page->page_filename); } else { backup_filename = f_get_autosave_filename (real_filename); /* Delete the backup file */ if ( (g_file_test (backup_filename, G_FILE_TEST_EXISTS)) && (!g_file_test(backup_filename, G_FILE_TEST_IS_DIR)) ) { if (unlink(backup_filename) != 0) { s_log_message(_("s_page_delete: Unable to delete backup file %s."), backup_filename); } } g_free (backup_filename); } g_free(real_filename); /* Free the selection object */ g_object_unref( page->selection_list ); /* then delete objects of page */ s_page_delete_objects (toplevel, page); /* Free the objects in the place list. */ s_delete_object_glist (toplevel, page->place_list); page->place_list = NULL; #if DEBUG printf("Freeing page: %s\n", page->page_filename); s_tile_print(toplevel, page); #endif s_tile_free_all (page); /* free current page undo structs */ s_undo_free_all (toplevel, page); /* ouch, deal with parents going away and the children still around */ page->up = -2; g_free (page->page_filename); geda_list_remove( toplevel->pages, page ); #if DEBUG s_tile_print (toplevel, page); #endif s_weakref_notify (page, page->weak_refs); g_free (page); /* restore page_current */ if (tmp != NULL) { s_page_goto (toplevel, tmp); } else { /* page was page_current */ toplevel->page_current = NULL; /* page_current must be updated by calling function */ } } /*! \brief Deletes the list of pages of toplevel. * \par Function Description * Deletes the list of pages of toplevel. * This function should only be called when you are finishing up. * * \param toplevel The TOPLEVEL object. */ void s_page_delete_list(TOPLEVEL *toplevel) { GList *list_copy, *iter; PAGE *page; /* s_page_delete removes items from the page list, so make a copy */ list_copy = g_list_copy (geda_list_get_glist (toplevel->pages)); for (iter = list_copy; iter != NULL; iter = g_list_next (iter)) { page = (PAGE *)iter->data; s_page_delete (toplevel, page); } g_list_free (list_copy); /* reset toplevel fields */ toplevel->page_current = NULL; } /*! \brief Add a weak reference watcher to an PAGE. * \par Function Description * Adds the weak reference callback \a notify_func to \a page. When * \a page is destroyed, \a notify_func will be called with two * arguments: the \a page, and the \a user_data. * * \sa s_page_weak_unref * * \param [in,out] page Page to weak-reference. * \param [in] notify_func Weak reference notify function. * \param [in] user_data Data to be passed to \a notify_func. */ void s_page_weak_ref (PAGE *page, void (*notify_func)(void *, void *), void *user_data) { g_return_if_fail (page != NULL); page->weak_refs = s_weakref_add (page->weak_refs, notify_func, user_data); } /*! \brief Remove a weak reference watcher from an PAGE. * \par Function Description * Removes the weak reference callback \a notify_func from \a page. * * \sa s_page_weak_ref() * * \param [in,out] page Page to weak-reference. * \param [in] notify_func Notify function to search for. * \param [in] user_data Data to to search for. */ void s_page_weak_unref (PAGE *page, void (*notify_func)(void *, void *), void *user_data) { g_return_if_fail (page != NULL); page->weak_refs = s_weakref_remove (page->weak_refs, notify_func, user_data); } /*! \brief Add a weak pointer to an PAGE. * \par Function Description * Adds the weak pointer at \a weak_pointer_loc to \a page. The * value of \a weak_pointer_loc will be set to NULL when \a page is * destroyed. * * \sa s_page_remove_weak_ptr * * \param [in,out] page Page to weak-reference. * \param [in] weak_pointer_loc Memory address of a pointer. */ void s_page_add_weak_ptr (PAGE *page, void *weak_pointer_loc) { g_return_if_fail (page != NULL); page->weak_refs = s_weakref_add_ptr (page->weak_refs, weak_pointer_loc); } /*! \brief Remove a weak pointer from an PAGE. * \par Function Description * Removes the weak pointer at \a weak_pointer_loc from \a page. * * \sa s_page_add_weak_ptr() * * \param [in,out] page Page to weak-reference. * \param [in] weak_pointer_loc Memory address of a pointer. */ void s_page_remove_weak_ptr (PAGE *page, void *weak_pointer_loc) { g_return_if_fail (page != NULL); page->weak_refs = s_weakref_remove_ptr (page->weak_refs, weak_pointer_loc); } /*! \brief changes the current page in toplevel * \par Function Description * Changes the current page in \a toplevel to the page \a p_new. * * \param toplevel The TOPLEVEL object * \param p_new The PAGE to go to */ void s_page_goto (TOPLEVEL *toplevel, PAGE *p_new) { gchar *dirname; toplevel->page_current = p_new; dirname = g_dirname (p_new->page_filename); if (chdir (dirname)) { /* An error occured with chdir */ #warning FIXME: What do we do? } g_free (dirname); } /*! \brief Search for pages by filename. * \par Function Description * Searches in \a toplevel's list of pages for a page with a filename * equal to \a filename. * * \param toplevel The TOPLEVEL object * \param filename The filename string to search for * * \return PAGE pointer to a matching page, NULL otherwise. */ PAGE *s_page_search (TOPLEVEL *toplevel, const gchar *filename) { const GList *iter; PAGE *page; for ( iter = geda_list_get_glist( toplevel->pages ); iter != NULL; iter = g_list_next( iter ) ) { page = (PAGE *)iter->data; if ( g_strcasecmp( page->page_filename, filename ) == 0 ) return page; } return NULL; } /*! \brief Search for a page given its page id in a page list. * \par Function Description * This functions returns the page that have the page id \a pid in * the list of pages starting at \a page_list, or NULL if there is no * such page. * * \param [in] list The list of page to search the page in. * \param [in] pid The ID of the page to find. * \returns A pointer on the page found or NULL if not found. */ PAGE *s_page_search_by_page_id (GedaPageList *list, int pid) { const GList *iter; for ( iter = geda_list_get_glist (list); iter != NULL; iter = g_list_next (iter) ) { PAGE *page = (PAGE *)iter->data; if (page->pid == pid) { return page; } } return NULL; } /*! \brief Print full TOPLEVEL structure. * \par Function Description * This function prints the internal structure of toplevel's * list of pages. * * \param [in] toplevel The TOPLEVEL object to print. */ void s_page_print_all (TOPLEVEL *toplevel) { const GList *iter; PAGE *page; for ( iter = geda_list_get_glist( toplevel->pages ); iter != NULL; iter = g_list_next( iter ) ) { page = (PAGE *)iter->data; printf ("FILENAME: %s\n", page->page_filename); print_struct_forw (page->_object_list); } } /*! \brief Saves all the pages of a TOPLEVEL object. * \par Function Description * Saves all the pages in the toplevel parameter. * * \param [in] toplevel The TOPLEVEL to save pages from. * \return The number of failed tries to save a page. */ gint s_page_save_all (TOPLEVEL *toplevel) { const GList *iter; PAGE *p_current; gint status = 0; for ( iter = geda_list_get_glist( toplevel->pages ); iter != NULL; iter = g_list_next( iter ) ) { p_current = (PAGE *)iter->data; if (f_save (toplevel, p_current, p_current->page_filename, NULL)) { s_log_message (_("Saved [%s]\n"), p_current->page_filename); /* reset the CHANGED flag of p_current */ p_current->CHANGED = 0; } else { s_log_message (_("Could NOT save [%s]\n"), p_current->page_filename); /* increase the error counter */ status++; } } return status; } /*! \brief Check if CHANGED flag is set for any page in list. * \par Function Description * This function checks the CHANGED flag for all pages in the list * object. * * \param [in] list GedaPageList to check CHANGED flag in. * \return 1 if any page has the CHANGED flag set, 0 otherwise. */ gboolean s_page_check_changed (GedaPageList *list) { const GList *iter; PAGE *p_current; for ( iter = geda_list_get_glist( list ); iter != NULL; iter = g_list_next( iter ) ) { p_current = (PAGE *)iter->data; if (p_current->CHANGED) { return TRUE; } } return FALSE; } /*! \brief Reset the CHANGED flag of all pages. * \par Function Description * This function resets the CHANGED flag of each page following \a head. * * \param [in,out] list PAGE list to set CHANGED flags in. */ void s_page_clear_changed (GedaPageList *list) { const GList *iter; PAGE *p_current; for ( iter = geda_list_get_glist( list ); iter != NULL; iter = g_list_next( iter ) ) { p_current = (PAGE *)iter->data; p_current->CHANGED = 0; } } /*! \brief Autosave initialization function. * \par Function Description * This function sets up the autosave callback function. * * \param [in] toplevel The TOPLEVEL object. */ void s_page_autosave_init(TOPLEVEL *toplevel) { if (toplevel->auto_save_interval != 0) { /* 1000 converts seconds into milliseconds */ toplevel->auto_save_timeout = g_timeout_add(toplevel->auto_save_interval*1000, (GSourceFunc) s_page_autosave, toplevel); } } /*! \brief Autosave callback function. * \par Function Description * This function is a callback of the glib g_timeout functions. * It is called every "interval" milliseconds and it sets a flag to save * a backup copy of the opened pages. * * \param [in] toplevel The TOPLEVEL object. * \return The length in milliseconds to set for next interval. */ gint s_page_autosave (TOPLEVEL *toplevel) { const GList *iter; PAGE *p_current; if (toplevel == NULL) { return 0; } /* Do nothing if the interval is 0 */ if (toplevel->auto_save_interval == 0) { return toplevel->auto_save_interval; } /* Should we just disable the autosave timeout returning 0 or just wait for more pages to be added? */ if ( toplevel->pages == NULL) return toplevel->auto_save_interval; for ( iter = geda_list_get_glist( toplevel->pages ); iter != NULL; iter = g_list_next( iter ) ) { p_current = (PAGE *)iter->data; if (p_current->ops_since_last_backup != 0) { /* Real autosave is done in o_undo_savestate */ p_current->do_autosave_backup = 1; } } return toplevel->auto_save_interval; } /*! \brief Append an OBJECT to the PAGE * * \par Function Description * Links the passed OBJECT to the end of the PAGE's * linked list of objects. * * \param [in] toplevel The TOPLEVEL object. * \param [in] page The PAGE the object is being added to. * \param [in] object The OBJECT being added to the page. */ void s_page_append (TOPLEVEL *toplevel, PAGE *page, OBJECT *object) { page->_object_list = g_list_append (page->_object_list, object); object_added (toplevel, page, object); } /*! \brief Append a GList of OBJECTs to the PAGE * * \par Function Description * Links the passed OBJECT GList to the end of the PAGE's * object_list. * * \param [in] toplevel The TOPLEVEL object. * \param [in] page The PAGE the objects are being added to. * \param [in] obj_list The OBJECT list being added to the page. */ void s_page_append_list (TOPLEVEL *toplevel, PAGE *page, GList *obj_list) { GList *iter; page->_object_list = g_list_concat (page->_object_list, obj_list); for (iter = obj_list; iter != NULL; iter = g_list_next (iter)) { object_added (toplevel, page, iter->data); } } /*! \brief Remove an OBJECT from the PAGE * * \par Function Description * Removes the passed OBJECT from the PAGE's * linked list of objects. * * \param [in] toplevel The TOPLEVEL object. * \param [in] page The PAGE the object is being removed from. * \param [in] object The OBJECT being removed from the page. */ void s_page_remove (TOPLEVEL *toplevel, PAGE *page, OBJECT *object) { pre_object_removed (toplevel, page, object); page->_object_list = g_list_remove (page->_object_list, object); } /*! \brief Replace an OBJECT in a PAGE, in the same list position. * * \par Function Description * Removes \a object1 from \a page's linked list of objects, and puts * \a object2 in the position thus vacated. If \a object1 is not in \a * page, object2 is appended to \a page. * * \param [in] toplevel The TOPLEVEL object. * \param [in] page The PAGE to be modified. * \param [in] object1 The OBJECT being removed from the page. * \param [in] object2 The OBJECT being added to the page. */ void s_page_replace (TOPLEVEL *toplevel, PAGE *page, OBJECT *object1, OBJECT *object2) { GList *iter = g_list_find (page->_object_list, object1); /* If object1 not found, append object2 */ if (iter == NULL) { s_page_append (toplevel, page, object2); return; } pre_object_removed (toplevel, page, object1); iter->data = object2; object_added (toplevel, page, object2); } /*! \brief Remove and free all OBJECTs from the PAGE * * \par Function Description * Removes and frees all OBJECTs from the PAGE. * * \param [in] toplevel The TOPLEVEL object. * \param [in] page The PAGE being cleared. */ void s_page_delete_objects (TOPLEVEL *toplevel, PAGE *page) { GList *objects = page->_object_list; GList *iter; for (iter = objects; iter != NULL; iter = g_list_next (iter)) { pre_object_removed (toplevel, page, iter->data); } page->_object_list = NULL; s_delete_object_glist (toplevel, objects); } /*! \brief Return a GList of OBJECTs on the PAGE * * \par Function Description * An accessor for the PAGE's GList of objects. * * NB: This GList is owned by the PAGE, and must not be * free'd or modified by the caller. * * \param [in] page The PAGE to get objects on. * \returns a const pointer to the PAGE's GList of objects */ const GList *s_page_objects (PAGE *page) { return page->_object_list; } /*! \brief Find the objects in a given region * * \par Function Description * Finds the objects which are inside, or intersect * the passed box shaped region. * * \param [in] toplevel The TOPLEVEL object. * \param [in] page The PAGE to find objects on. * \param [in] min_x The smaller X coordinate of the region. * \param [in] min_y The smaller Y coordinate of the region. * \param [in] max_x The larger X coordinate of the region. * \param [in] max_y The larger Y coordinate of the region. * \return The GList of OBJECTs in the region. */ GList *s_page_objects_in_region (TOPLEVEL *toplevel, PAGE *page, int min_x, int min_y, int max_x, int max_y) { BOX rect; rect.lower_x = min_x; rect.lower_y = min_y; rect.upper_x = max_x; rect.upper_y = max_y; return s_page_objects_in_regions (toplevel, page, &rect, 1); } /*! \brief Find the objects in a given region * * \par Function Description * Finds the objects which are inside, or intersect * the passed box shaped region. * * \param [in] toplevel The TOPLEVEL object. * \param [in] page The PAGE to find objects on. * \param [in] rects The BOX regions to check. * \param [in] n_rects The number of regions. * \return The GList of OBJECTs in the region. */ GList *s_page_objects_in_regions (TOPLEVEL *toplevel, PAGE *page, BOX *rects, int n_rects) { GList *iter; GList *list = NULL; int i; for (iter = page->_object_list; iter != NULL; iter = g_list_next (iter)) { OBJECT *object = iter->data; int left, top, right, bottom; int visible; visible = world_get_single_object_bounds (toplevel, object, &left, &top, &right, &bottom); if (visible) { for (i = 0; i < n_rects; i++) { if (right >= rects[i].lower_x && left <= rects[i].upper_x && top <= rects[i].upper_y && bottom >= rects[i].lower_y) { list = g_list_prepend (list, object); break; } } } } list = g_list_reverse (list); return list; } geda-gaf-1.8.2/libgeda/src/o_complex_basic.c0000664000175000017500000011442512220647257015566 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! \file o_complex_basic.c * \brief Functions for complex objects * * Complex objects are collections of primary objects. */ #include #include #include #ifdef HAVE_STRING_H #include #endif #ifdef HAVE_UNISTD_H #include #endif #include "libgeda_priv.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \brief Return the bounds of the given object. * \par Given an object, calculate the bounds coordinates. * \param [in] toplevel The toplevel structure. * \param [in] o_current The object to look the bounds for. * \param [out] rleft pointer to the left coordinate of the object. * \param [out] rtop pointer to the top coordinate of the object. * \param [out] rright pointer to the right coordinate of the object. * \param [out] rbottom pointer to the bottom coordinate of the object. * \return If any bounds were found for the object * \retval 0 No bound was found * \retval 1 Bound was found */ int world_get_single_object_bounds(TOPLEVEL *toplevel, OBJECT *o_current, int *rleft, int *rtop, int *rright, int *rbottom) { if (o_current != NULL) { switch(o_current->type) { case(OBJ_TEXT): /* only do bounding boxes for visible or doing show_hidden_text*/ /* you might lose some attrs though */ if (! (o_is_visible (toplevel, o_current) || toplevel->show_hidden_text)) { return 0; } /* This case falls through intentionally */ case(OBJ_LINE): case(OBJ_NET): case(OBJ_BUS): case(OBJ_BOX): case(OBJ_PICTURE): case(OBJ_CIRCLE): case(OBJ_PATH): case(OBJ_PIN): case(OBJ_ARC): case(OBJ_COMPLEX): case(OBJ_PLACEHOLDER): if (!o_current->w_bounds_valid) { o_recalc_single_object (toplevel, o_current); if (!o_current->w_bounds_valid) { return 0; } } *rleft = o_current->w_left; *rtop = o_current->w_top; *rright = o_current->w_right; *rbottom = o_current->w_bottom; return 1; default: break; } } return 0; } /*! \brief Return the bounds of the given GList of objects. * \par Given a list of objects, calcule the bounds coordinates. * \param [in] toplevel The TOPLEVEL structure. * \param [in] head The list of objects to look the bounds for. * \param [out] left pointer to the left coordinate of the object. * \param [out] top pointer to the top coordinate of the object. * \param [out] right pointer to the right coordinate of the object. * \param [out] bottom pointer to the bottom coordinate of the object. * \return If any bounds were found for the list of objects * \retval 0 No bounds were found * \retval 1 Bound was found */ int world_get_object_glist_bounds(TOPLEVEL *toplevel, const GList *head, int *left, int *top, int *right, int *bottom) { const GList *s_current=NULL; OBJECT *o_current=NULL; int rleft, rtop, rright, rbottom; int found = 0; s_current = head; /* Find the first object with bounds, and set the bounds variables, then expand as necessary */ while ( s_current != NULL ) { o_current = (OBJECT *) s_current->data; /* Sanity check */ g_return_val_if_fail ((o_current != NULL), found); if ( world_get_single_object_bounds( toplevel, o_current, &rleft, &rtop, &rright, &rbottom) ) { if ( found ) { *left = min( *left, rleft ); *top = min( *top, rtop ); *right = max( *right, rright ); *bottom = max( *bottom, rbottom ); } else { *left = rleft; *top = rtop; *right = rright; *bottom = rbottom; found = 1; } } s_current = g_list_next (s_current); } return found; } /*! \brief Queries the bounds of a complex object. * \par Function Description * This function returns the bounding box of the complex object * object. * * \param [in] toplevel The toplevel environment. * \param [in] complex The complex object. * \param [out] left The leftmost edge of the bounding box (in * world units). * \param [out] top The upper edge of the bounding box (in * world units). * \param [out] right The rightmost edge of the bounding box (in * world units). * \param [out] bottom The bottom edge of the bounding box (in * screen units). */ void world_get_complex_bounds(TOPLEVEL *toplevel, OBJECT *complex, int *left, int *top, int *right, int *bottom) { g_return_if_fail (complex != NULL && (complex->type == OBJ_COMPLEX || complex->type == OBJ_PLACEHOLDER) && complex->complex != NULL); world_get_object_glist_bounds (toplevel, complex->complex->prim_objs, left, top, right, bottom); } /*! \brief get the position of the complex base point * \par Function Description * This function gets the position of the base point of a complex object. * * \param [in] toplevel The toplevel environment. * \param [out] x pointer to the x-position * \param [out] y pointer to the y-position * \param [in] object The object to get the position. * \return TRUE if successfully determined the position, FALSE otherwise */ gboolean o_complex_get_position (TOPLEVEL *toplevel, gint *x, gint *y, OBJECT *object) { *x = object->complex->x; *y = object->complex->y; return TRUE; } /*! \brief check whether an object is a attributes * \par Function Description * This function checks if an object should be promoted. * An attribute object is promotable if it's promoted by default, or the user * has configered it to promote an attribute. * * \param [in] toplevel The TOPLEVEL object * \param [in] object The attribute object to check * \return TRUE if the object is a eligible attribute, FALSE otherwise */ static int o_complex_is_eligible_attribute (TOPLEVEL *toplevel, OBJECT *object) { char *name = NULL; int promotableAttribute = FALSE; /* always promote symversion= attribute, even if it is invisible */ if (strncmp(object->text->string, "symversion=", 11) == 0) return TRUE; /* check list against attributes which can be promoted */ if (toplevel->always_promote_attributes != NULL) { if (o_attrib_get_name_value (object, &name, NULL)) { if (g_list_find_custom(toplevel->always_promote_attributes, name, (GCompareFunc) strcmp) != NULL) { /* Name of the attribute was in the always promote attributes list */ promotableAttribute = TRUE; } g_free(name); if (promotableAttribute) return TRUE; } } /* object is invisible and we do not want to promote invisible text */ if ((!o_is_visible (toplevel, object)) && (toplevel->promote_invisible == FALSE)) return FALSE; /* attribute not eligible for promotion */ /* yup, attribute can be promoted */ return TRUE; } /*! \brief get the embedded state of an complex object * \par Function Description * Checks and returns the status of the complex object. * * \param o_current The object to check * \return 1 if embedded, 0 otherwise */ int o_complex_is_embedded(OBJECT *o_current) { g_return_val_if_fail(o_current != NULL, 0); if(o_current->complex == NULL) return 0; if (o_current->complex_embedded) { return 1; } else { return 0; } } /*! \brief Get attributes eligible for promotion from inside a complex * * \par Function Description * Returns a GList of OBJECTs which are eligible for promotion from * within the passed complex OBJECT. * * If detach is TRUE, the function removes these attribute objects * from the prim_objs of the complex. If detach is FALSE, the * OBJECTs are left in place. * * \param [in] toplevel The toplevel environment. * \param [in] object The complex object being modified. * \param [in] detach Should the attributes be detached? * \returns A linked list of OBJECTs to promote. */ GList *o_complex_get_promotable (TOPLEVEL *toplevel, OBJECT *object, int detach) { GList *promoted = NULL; GList *attribs; GList *iter; OBJECT *tmp; if (!toplevel->attribute_promotion) /* controlled through rc file */ return NULL; attribs = o_attrib_find_floating_attribs (object->complex->prim_objs); for (iter = attribs; iter != NULL; iter = g_list_next (iter)) { tmp = iter->data; /* Is it an attribute we want to promote? */ if (!o_complex_is_eligible_attribute(toplevel, tmp)) continue; if (detach) { tmp->parent = NULL; object->complex->prim_objs = g_list_remove (object->complex->prim_objs, tmp); } promoted = g_list_prepend (promoted, tmp); } g_list_free (attribs); promoted = g_list_reverse (promoted); return promoted; } /*! \brief Promote attributes from a complex OBJECT * \par Function Description * Selects promotable attributes from \a object, and returns a new * #GList containing them (suitable for appending to a #PAGE). * * \param [in] toplevel The #TOPLEVEL environment. * \param [in] object The complex #OBJECT to promote from. * \return A #GList of promoted attributes. */ GList *o_complex_promote_attribs (TOPLEVEL *toplevel, OBJECT *object) { GList *promoted = NULL; GList *promotable = NULL; GList *iter = NULL; promotable = o_complex_get_promotable (toplevel, object, FALSE); /* Run through the attributes deciding if we want to keep them (in * which case we copy them and make them invisible) or if we want to * remove them. */ if (toplevel->keep_invisible) { for (iter = promotable; iter != NULL; iter = g_list_next (iter)) { OBJECT *o_kept = (OBJECT *) iter->data; OBJECT *o_copy = o_object_copy (toplevel, o_kept); o_set_visibility (toplevel, o_kept, INVISIBLE); o_copy->parent = NULL; promoted = g_list_prepend (promoted, o_copy); } promoted = g_list_reverse (promoted); } else { for (iter = promotable; iter != NULL; iter = g_list_next (iter)) { OBJECT *o_removed = (OBJECT *) iter->data; o_removed->parent = NULL; object->complex->prim_objs = g_list_remove (object->complex->prim_objs, o_removed); } promoted = promotable; /* Invalidate the object's bounds since we may have * stolen objects from inside it. */ o_bounds_invalidate (toplevel, object); } /* Attach promoted attributes to the original complex object */ o_attrib_attach_list (toplevel, promoted, object, TRUE); return promoted; } /*! \brief Delete or hide promotable from the passed OBJECT * * \par Function Description * Deletes or hides promotable attributes from the passed OBJECT. * This is used when loading symbols during the load of a schematic from * disk. The schematic will already contain local copies of symbol's * promotable objects, so we delete or hide the symbol's copies. * * Deletion / hiding is dependant on the setting of * toplevel->keep_invisible. If true, attributes eligible for * promotion are kept in memory but flagged as invisible. * * \param [in] toplevel The toplevel environment. * \param [in] object The complex object being altered. */ static void o_complex_remove_promotable_attribs (TOPLEVEL *toplevel, OBJECT *object) { GList *promotable, *iter; promotable = o_complex_get_promotable (toplevel, object, FALSE); if (promotable == NULL) return; for (iter = promotable; iter != NULL; iter = g_list_next (iter)) { OBJECT *a_object = iter->data; if (toplevel->keep_invisible == TRUE) { /* Hide promotable attributes */ o_set_visibility (toplevel, a_object, INVISIBLE); } else { /* Delete promotable attributes */ object->complex->prim_objs = g_list_remove (object->complex->prim_objs, a_object); s_delete_object (toplevel, a_object); } } o_bounds_invalidate (toplevel, object); g_list_free (promotable); } static void create_placeholder(TOPLEVEL * toplevel, OBJECT * new_node, int x, int y) { OBJECT *new_prim_obj; char *not_found_text = NULL; int left, right, top, bottom; int x_offset, y_offset; /* Put placeholder into object list. Changed by SDB on * 1.19.2005 to fix problem that symbols were silently * deleted by gattrib when RC files were messed up. */ new_node->type = OBJ_PLACEHOLDER; /* Mark the origin of the missing component */ new_prim_obj = o_line_new(toplevel, OBJ_LINE, DETACHED_ATTRIBUTE_COLOR, x - 50, y, x + 50, y); new_node->complex->prim_objs = g_list_prepend (new_node->complex->prim_objs, new_prim_obj); new_prim_obj = o_line_new(toplevel, OBJ_LINE, DETACHED_ATTRIBUTE_COLOR, x, y + 50, x, y - 50); new_node->complex->prim_objs = g_list_prepend (new_node->complex->prim_objs, new_prim_obj); /* Add some useful text */ not_found_text = g_strdup_printf (_("Component not found:\n %s"), new_node->complex_basename); new_prim_obj = o_text_new(toplevel, OBJ_TEXT, DETACHED_ATTRIBUTE_COLOR, x + NOT_FOUND_TEXT_X, y + NOT_FOUND_TEXT_Y, LOWER_LEFT, 0, not_found_text, 8, VISIBLE, SHOW_NAME_VALUE); new_node->complex->prim_objs = g_list_prepend (new_node->complex->prim_objs, new_prim_obj); g_free(not_found_text); /* figure out where to put the hazard triangle */ world_get_text_bounds (toplevel, new_prim_obj, &left, &top, &right, &bottom); x_offset = (right - left) / 4; y_offset = bottom - top + 100; /* 100 is just an additional offset */ /* add hazard triangle */ new_prim_obj = o_line_new(toplevel, OBJ_LINE, DETACHED_ATTRIBUTE_COLOR, x + NOT_FOUND_TEXT_X + x_offset, y + NOT_FOUND_TEXT_Y + y_offset, x + NOT_FOUND_TEXT_X + x_offset + 600, y + NOT_FOUND_TEXT_Y + y_offset); o_set_line_options(toplevel, new_prim_obj, END_ROUND, TYPE_SOLID, 50, -1, -1); new_node->complex->prim_objs = g_list_prepend (new_node->complex->prim_objs, new_prim_obj); new_prim_obj = o_line_new(toplevel, OBJ_LINE, DETACHED_ATTRIBUTE_COLOR, x + NOT_FOUND_TEXT_X + x_offset, y + NOT_FOUND_TEXT_Y + y_offset, x + NOT_FOUND_TEXT_X + x_offset + 300, y + NOT_FOUND_TEXT_Y + y_offset + 500); o_set_line_options(toplevel, new_prim_obj, END_ROUND, TYPE_SOLID, 50, -1, -1); new_node->complex->prim_objs = g_list_prepend (new_node->complex->prim_objs, new_prim_obj); new_prim_obj = o_line_new(toplevel, OBJ_LINE, DETACHED_ATTRIBUTE_COLOR, x + NOT_FOUND_TEXT_X + x_offset + 300, y + NOT_FOUND_TEXT_Y + y_offset + 500, x + NOT_FOUND_TEXT_X + x_offset + 600, y + NOT_FOUND_TEXT_Y + y_offset); o_set_line_options(toplevel, new_prim_obj, END_ROUND, TYPE_SOLID, 50, -1, -1); new_node->complex->prim_objs = g_list_prepend (new_node->complex->prim_objs, new_prim_obj); new_prim_obj = o_text_new(toplevel, OBJ_TEXT, DETACHED_ATTRIBUTE_COLOR, x + NOT_FOUND_TEXT_X + x_offset + 270, y + NOT_FOUND_TEXT_Y + y_offset + 90, LOWER_LEFT, 0, "!", 18, VISIBLE, SHOW_NAME_VALUE); new_node->complex->prim_objs = g_list_prepend (new_node->complex->prim_objs, new_prim_obj); new_node->complex->prim_objs = g_list_reverse(new_node->complex->prim_objs); } /* Done */ /*! \brief * \par Function Description * */ OBJECT *o_complex_new(TOPLEVEL *toplevel, char type, int color, int x, int y, int angle, int mirror, const CLibSymbol *clib, const gchar *basename, int selectable) { OBJECT *new_node=NULL; GList *iter; gchar *buffer = NULL; new_node = s_basic_new_object(type, "complex"); if (clib != NULL) { new_node->complex_basename = g_strdup (s_clib_symbol_get_name (clib)); } else { new_node->complex_basename = g_strdup (basename); } new_node->complex_embedded = FALSE; new_node->color = color; new_node->selectable = selectable; new_node->complex = (COMPLEX *) g_malloc(sizeof(COMPLEX)); new_node->complex->prim_objs = NULL; new_node->complex->angle = angle; new_node->complex->mirror = mirror; new_node->complex->x = x; new_node->complex->y = y; /* get the symbol data */ if (clib != NULL) { buffer = s_clib_symbol_get_data (clib); } if (clib == NULL || buffer == NULL) create_placeholder(toplevel, new_node, x, y); else { GError * err = NULL; /* add connections till translated */ new_node->complex->prim_objs = o_read_buffer (toplevel, NULL, buffer, -1, new_node->complex_basename, &err); if (err) { g_error_free(err); /* If reading fails, replace with placeholder object */ create_placeholder(toplevel, new_node, x, y); } else { if (mirror) { o_glist_mirror_world (toplevel, 0, 0, new_node->complex->prim_objs); } o_glist_rotate_world (toplevel, 0, 0, angle, new_node->complex->prim_objs); o_glist_translate_world (toplevel, x, y, new_node->complex->prim_objs); } g_free (buffer); } /* set the parent field now */ for (iter = new_node->complex->prim_objs; iter != NULL; iter = g_list_next (iter)) { OBJECT *tmp = iter->data; tmp->parent = new_node; } o_complex_recalc(toplevel, new_node); return new_node; } /*! \brief create a new embedded object * \par Function Description * This function creates a new embedded object. * * \param [in] toplevel The TOPLEVEL object * \param [in] type The type of the object (usually OBJ_COMLEX) * \param [in] color The color of the object * \param [in] x The x location of the complex object * \param [in] y The y location of the complex object * \param [in] angle The rotation angle * \param [in] mirror The mirror status * \param [in] basename The basic name the embedded was created of * \param [in] selectable whether the object can be selected with the mouse * \return a new complex object */ OBJECT *o_complex_new_embedded(TOPLEVEL *toplevel, char type, int color, int x, int y, int angle, int mirror, const gchar *basename, int selectable) { OBJECT *new_node=NULL; new_node = s_basic_new_object(type, "complex"); new_node->complex = (COMPLEX *) g_malloc(sizeof(COMPLEX)); new_node->complex->x = x; new_node->complex->y = y; new_node->complex->angle = angle; new_node->complex->mirror = mirror; new_node->complex_basename = g_strdup(basename); new_node->complex_embedded = TRUE; new_node->color = color; new_node->selectable = selectable; new_node->complex->prim_objs = NULL; /* don't have to translate/rotate/mirror here at all since the */ /* object is in place */ return new_node; } /*! \brief update the visual boundaries of the complex object * \par Function Description * This function updates the boundaries of the object \a o_current. * * \param [in] toplevel The TOPLEVEL object * \param [in] o_current The OBJECT to update */ void o_complex_recalc(TOPLEVEL *toplevel, OBJECT *o_current) { int left, right, top, bottom; /* realc routine Add this somewhere */ /* libhack */ /* o_recalc(toplevel, o_current->complex);*/ if ((!o_current) || (o_current->type != OBJ_COMPLEX && o_current->type != OBJ_PLACEHOLDER)) return; if (o_current->complex->prim_objs == NULL) return; world_get_complex_bounds(toplevel, o_current, &left, &top, &right, &bottom); o_current->w_left = left; o_current->w_top = top; o_current->w_right = right; o_current->w_bottom = bottom; o_current->w_bounds_valid = TRUE; } /*! \brief read a complex object from a char buffer * \par Function Description * This function reads a complex object from the buffer \a buf. * If the complex object was read successfully, a new object is * allocated and appended to the \a object_list. * * \param [in] toplevel The TOPLEVEL object * \param [in] buf a text buffer (usually a line of a schematic file) * \param [in] release_ver The release number gEDA * \param [in] fileformat_ver a integer value of the file format * \return The object list, or NULL on error. */ OBJECT *o_complex_read (TOPLEVEL *toplevel, const char buf[], unsigned int release_ver, unsigned int fileformat_ver, GError **err) { OBJECT *new_obj; char type; int x1, y1; int angle; char *basename = g_malloc (1 + strlen (buf)); int selectable; int mirror; if (sscanf(buf, "%c %d %d %d %d %d %s\n", &type, &x1, &y1, &selectable, &angle, &mirror, basename) != 7) { g_set_error(err, EDA_ERROR, EDA_ERROR_PARSE, _("Failed to parse complex object")); return NULL; } switch(angle) { case(0): case(90): case(180): case(270): break; default: s_log_message(_("Found a component with an invalid rotation [ %c %d %d %d %d %d %s ]\n"), type, x1, y1, selectable, angle, mirror, basename); s_log_message (_("Setting angle to 0\n")); angle = 0; } switch(mirror) { case(0): case(1): break; default: s_log_message(_("Found a component with an invalid mirror flag [ %c %d %d %d %d %d %s ]\n"), type, x1, y1, selectable, angle, mirror, basename); s_log_message (_("Setting mirror to 0\n")); mirror = 0; } if (strncmp(basename, "EMBEDDED", 8) == 0) { new_obj = o_complex_new_embedded(toplevel, type, DEFAULT_COLOR, x1, y1, angle, mirror, basename + 8, selectable); } else { const CLibSymbol *clib = s_clib_get_symbol_by_name (basename); new_obj = o_complex_new(toplevel, type, DEFAULT_COLOR, x1, y1, angle, mirror, clib, basename, selectable); /* Delete or hide attributes eligible for promotion inside the complex */ if (new_obj) o_complex_remove_promotable_attribs (toplevel, new_obj); } g_free (basename); return new_obj; } /*! \brief Create a string representation of the complex object * \par Function Description * This function takes a complex \a object and return a string * according to the file format definition. * * \param [in] toplevel a TOPLEVEL structure * \param [in] object a complex OBJECT * \return the string representation of the complex OBJECT */ char *o_complex_save(TOPLEVEL *toplevel, OBJECT *object) { int selectable; char *buf = NULL; char *basename; g_return_val_if_fail (object != NULL, NULL); selectable = (object->selectable) ? 1 : 0; if ((object->type == OBJ_COMPLEX) || (object->type == OBJ_PLACEHOLDER)) { basename = g_strdup_printf ("%s%s", object->complex_embedded ? "EMBEDDED" : "", object->complex_basename); /* We force the object type to be output as OBJ_COMPLEX for both * these object types. */ buf = g_strdup_printf("%c %d %d %d %d %d %s", OBJ_COMPLEX, object->complex->x, object->complex->y, selectable, object->complex->angle, object->complex->mirror, basename); g_free (basename); } return(buf); } /*! \brief move a complex object * \par Function Description * This function changes the position of a complex \a object. * * \param [in] toplevel The TOPLEVEL object * \param [in] dx The x-distance to move the object * \param [in] dy The y-distance to move the object * \param [in] object The complex OBJECT to be moved */ void o_complex_translate_world(TOPLEVEL *toplevel, int dx, int dy, OBJECT *object) { g_return_if_fail (object != NULL && (object->type == OBJ_COMPLEX || object->type == OBJ_PLACEHOLDER)); object->complex->x = object->complex->x + dx; object->complex->y = object->complex->y + dy; o_glist_translate_world (toplevel, dx, dy, object->complex->prim_objs); o_complex_recalc (toplevel, object); } /*! \brief Create a copy of a COMPLEX object * \par Function Description * This function creates a copy of the complex object \a o_current. * * \param [in] toplevel The TOPLEVEL object * \param [in] o_current The object that is copied * \return a new COMPLEX object */ OBJECT *o_complex_copy(TOPLEVEL *toplevel, OBJECT *o_current) { OBJECT *o_new; GList *iter; g_return_val_if_fail(o_current != NULL, NULL); o_new = s_basic_new_object(o_current->type, "complex"); o_new->color = o_current->color; o_new->selectable = o_current->selectable; o_new->complex_basename = g_strdup(o_current->complex_basename); o_new->complex_embedded = o_current->complex_embedded; o_new->complex = g_malloc0(sizeof(COMPLEX)); o_new->complex->x = o_current->complex->x; o_new->complex->y = o_current->complex->y; o_new->complex->angle = o_current->complex->angle; o_new->complex->mirror = o_current->complex->mirror; /* Copy contents and set the parent pointers on the copied objects. */ o_new->complex->prim_objs = o_glist_copy_all (toplevel, o_current->complex->prim_objs, NULL); for (iter = o_new->complex->prim_objs; iter != NULL; iter = g_list_next (iter)) { ((OBJECT*) iter->data)->parent = o_new; } /* Recalculate bounds */ o_complex_recalc(toplevel, o_new); /* Delete or hide attributes eligible for promotion inside the complex */ o_complex_remove_promotable_attribs (toplevel, o_new); s_slot_update_object (toplevel, o_new); /* deal with stuff that has changed */ /* here you need to create a list of attributes which need to be * connected to the new list, probably make an attribute list and * fill it with sid's of the attributes */ return o_new; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_complex_rotate_world(TOPLEVEL *toplevel, int centerx, int centery, int angle, OBJECT *object) { int x, y; int newx, newy; g_return_if_fail (object!=NULL); g_return_if_fail ((object->type == OBJ_COMPLEX) || (object->type == OBJ_PLACEHOLDER)); x = object->complex->x + (-centerx); y = object->complex->y + (-centery); rotate_point_90(x, y, angle, &newx, &newy); x = newx + (centerx); y = newy + (centery); o_complex_translate_world(toplevel, -object->complex->x, -object->complex->y, object); o_glist_rotate_world (toplevel, 0, 0, angle, object->complex->prim_objs); object->complex->x = 0; object->complex->y = 0; o_complex_translate_world(toplevel, x, y, object); object->complex->angle = ( object->complex->angle + angle ) % 360; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_complex_mirror_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, OBJECT *object) { int x, y; g_return_if_fail( object != NULL ); g_return_if_fail( (object->type == OBJ_COMPLEX || object->type == OBJ_PLACEHOLDER) ); g_return_if_fail( object->complex != NULL ); x = 2 * world_centerx - object->complex->x; y = object->complex->y; o_complex_translate_world(toplevel, -object->complex->x, -object->complex->y, object); o_glist_mirror_world (toplevel, 0, 0, object->complex->prim_objs); switch(object->complex->angle) { case(90): object->complex->angle = 270; break; case(270): object->complex->angle = 90; break; } object->complex->mirror = !object->complex->mirror; o_complex_translate_world(toplevel, x, y, object); } /*! \brief Find a pin with a particular attribute. * \par Function Description * Search for a pin inside the given complex which has an attribute * matching those passed. * * \param [in] object complex OBJECT whos pins to search. * \param [in] name the attribute name to search for. * \param [in] wanted_value the attribute value to search for. * \return The pin OBJECT with the given attribute, NULL otherwise. */ OBJECT *o_complex_find_pin_by_attribute (OBJECT *object, char *name, char *wanted_value) { GList *iter; OBJECT *o_current; char *value; int found; g_return_val_if_fail (object != NULL, NULL); g_return_val_if_fail (object->type == OBJ_COMPLEX || object->type == OBJ_PLACEHOLDER, NULL); for (iter = object->complex->prim_objs; iter != NULL; iter = g_list_next (iter)) { o_current = iter->data; if (o_current->type != OBJ_PIN) continue; value = o_attrib_search_object_attribs_by_name (o_current, name, 0); found = (value != NULL && strcmp (value, wanted_value) == 0); g_free (value); if (found) return o_current; } return NULL; } /*! \brief check the symversion of a complex object * \par Function Description * This function compares the symversion of a symbol with it's * earlier saved symversion in a schematic. * Major symversion changes are added to the toplevel object * (toplevel->major_changed_refdes), minor changes are reported * to the messaging system. * * \param toplevel The TOPLEVEL object * \param object The complex OBJECT */ void o_complex_check_symversion(TOPLEVEL* toplevel, OBJECT* object) { char *inside = NULL; char *outside = NULL; char *refdes = NULL; double inside_value = -1.0; double outside_value = -1.0; char *err_check = NULL; int inside_present = FALSE; int outside_present = FALSE; double inside_major, inside_minor; double outside_major, outside_minor; g_return_if_fail (object != NULL); g_return_if_fail ((object->type == OBJ_COMPLEX || object->type == OBJ_PLACEHOLDER)); g_return_if_fail (object->complex != NULL); /* first look on the inside for the symversion= attribute */ inside = o_attrib_search_inherited_attribs_by_name (object, "symversion", 0); /* now look for the symversion= attached to object */ outside = o_attrib_search_attached_attribs_by_name (object, "symversion", 0); /* get the uref for future use */ refdes = o_attrib_search_object_attribs_by_name(object, "refdes", 0); if (!refdes) { refdes = g_strdup ("unknown"); } if (inside) { inside_value = strtod(inside, &err_check); if (inside_value == 0 && inside == err_check) { if (inside) { s_log_message(_("WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse symbol file symversion=%s\n"), refdes, inside); } else { s_log_message(_("WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse symbol file symversion=\n"), refdes); } goto done; } inside_present = TRUE; } else { inside_present = FALSE; /* attribute not inside */ } if (outside) { outside_value = strtod(outside, &err_check); if (outside_value == 0 && outside == err_check) { s_log_message(_("WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse attached symversion=%s\n"), refdes, outside); goto done; } outside_present = TRUE; } else { outside_present = FALSE; /* attribute not outside */ } #if DEBUG printf("%s:\n\tinside: %.1f outside: %.1f\n\n", object->name, inside_value, outside_value); #endif /* symversion= is not present anywhere */ if (!inside_present && !outside_present) { /* symbol is legacy and versioned okay */ goto done; } /* No symversion inside, but a version is outside, this is a weird case */ if (!inside_present && outside_present) { s_log_message(_("WARNING: Symbol version oddity on refdes %s:\n" "\tsymversion=%s attached to instantiated symbol, " "but no symversion= inside symbol file\n"), refdes, outside); goto done; } /* inside & not outside is a valid case, means symbol in library is newer */ /* also if inside_value is greater than outside_value, then symbol in */ /* library is newer */ if ((inside_present && !outside_present) || ((inside_present && outside_present) && (inside_value > outside_value))) { s_log_message(_("WARNING: Symbol version mismatch on refdes %s (%s):\n" "\tSymbol in library is newer than " "instantiated symbol\n"), refdes, object->complex_basename); /* break up the version values into major.minor numbers */ inside_major = floor(inside_value); inside_minor = inside_value - inside_major; if (outside_present) { outside_major = floor(outside_value); outside_minor = outside_value - outside_major; } else { /* symversion was not attached to the symbol, set all to zero */ outside_major = 0.0; outside_minor = 0.0; outside_value = 0.0; } #if DEBUG printf("i: %f %f %f\n", inside_value, inside_major, inside_minor); printf("o: %f %f %f\n", outside_value, outside_major, outside_minor); #endif if (inside_major > outside_major) { char* refdes_copy; s_log_message(_("\tMAJOR VERSION CHANGE (file %.3f, " "instantiated %.3f, %s)!\n"), inside_value, outside_value, refdes); /* add the refdes to the major_changed_refdes GList */ /* make sure refdes_copy is freed somewhere */ refdes_copy = g_strconcat (refdes, " (", object->complex_basename, ")", NULL); toplevel->major_changed_refdes = g_list_append(toplevel->major_changed_refdes, refdes_copy); /* don't bother checking minor changes if there are major ones*/ goto done; } if (inside_minor > outside_minor) { s_log_message(_("\tMinor version change (file %.3f, " "instantiated %.3f)\n"), inside_value, outside_value); } goto done; } /* outside value is greater than inside value, this is weird case */ if ((inside_present && outside_present) && (outside_value > inside_value)) { s_log_message(_("WARNING: Symbol version oddity on refdes %s:\n" "\tInstantiated symbol is newer than " "symbol in library\n"), refdes); goto done; } /* if inside_value and outside_value match, then symbol versions are okay */ done: g_free(inside); g_free(outside); g_free(refdes); } /*! \brief Calculates the distance between the given point and the closest * point on an object within the complex object. * * \note When querying the distance to our child objects, we always * force treating them as solid filled. * We ignore the force_solid argument to this function. * * \param [in] object The complex OBJECT. * \param [in] x The x coordinate of the given point. * \param [in] y The y coordinate of the given point. * \param [in] force_solid If true, force treating the object as solid. * \return The shortest distance from the object to the point. If the * distance cannot be calculated, this function returns a really large * number (G_MAXDOUBLE). With an invalid parameter, this function returns * G_MAXDOUBLE. */ double o_complex_shortest_distance (OBJECT *object, int x, int y, int force_solid) { double shortest_distance = G_MAXDOUBLE; double distance; int found_line_bounds = 0; BOX line_bounds; GList *iter; g_return_val_if_fail (object->complex != NULL, G_MAXDOUBLE); for (iter = object->complex->prim_objs; iter != NULL; iter= g_list_next (iter)) { OBJECT *obj = iter->data; /* Collect the bounds of any lines and arcs in the symbol */ if ((obj->type == OBJ_LINE || obj->type == OBJ_ARC) && obj->w_bounds_valid) { if (found_line_bounds) { line_bounds.lower_x = min (line_bounds.lower_x, obj->w_left); line_bounds.lower_y = min (line_bounds.lower_y, obj->w_top); line_bounds.upper_x = max (line_bounds.upper_x, obj->w_right); line_bounds.upper_y = max (line_bounds.upper_y, obj->w_bottom); } else { line_bounds.lower_x = obj->w_left; line_bounds.lower_y = obj->w_top; line_bounds.upper_x = obj->w_right; line_bounds.upper_y = obj->w_bottom; found_line_bounds = 1; } } else { distance = o_shortest_distance_full (obj, x, y, TRUE); shortest_distance = min (shortest_distance, distance); } if (shortest_distance == 0.0) return shortest_distance; } if (found_line_bounds) { distance = m_box_shortest_distance (&line_bounds, x, y, TRUE); shortest_distance = min (shortest_distance, distance); } return shortest_distance; } geda-gaf-1.8.2/libgeda/src/scheme_attrib.c0000664000175000017500000002434112220647257015246 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library - Scheme API * Copyright (C) 2010-2011 Peter Brett * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA */ /*! * \file scheme_attrib.c * \brief Scheme API attribute manipulation procedures. */ #include #include "libgeda_priv.h" #include "libgedaguile_priv.h" SCM_SYMBOL (attribute_format_sym, "attribute-format"); /*! \brief Parse an attribute text object into name and value strings. * \par Function Description * Tries to parse the underlying string of the text object \a text_s * into name and value strings. If successful, returns a pair of the * form (name . value). Otherwise, raises an * attribute-format error. * * \note Scheme API: Implements the %attrib-parse procedure of the * (geda core attrib) module. * * \param text_s text object to attempt to split. * \return name/value pair, or SCM_BOOL_F. */ SCM_DEFINE (parse_attrib, "%parse-attrib", 1, 0, 0, (SCM text_s), "Parse attribute name and value from text object.") { gchar *name = NULL; gchar *value = NULL; SCM result = SCM_BOOL_F; SCM_ASSERT (edascm_is_object_type (text_s, OBJ_TEXT), text_s, SCM_ARG1, s_parse_attrib); TOPLEVEL *toplevel = edascm_c_current_toplevel (); OBJECT *text = edascm_to_object (text_s); scm_dynwind_begin (0); scm_dynwind_unwind_handler (g_free, name, SCM_F_WIND_EXPLICITLY); scm_dynwind_unwind_handler (g_free, value, SCM_F_WIND_EXPLICITLY); if (o_attrib_get_name_value (text, &name, &value)) { result = scm_cons (scm_from_utf8_string (name), scm_from_utf8_string (value)); } else { scm_error (attribute_format_sym, s_parse_attrib, _("~A is not a valid attribute: invalid string '~A'."), scm_list_2 (text_s, scm_from_utf8_string (o_text_get_string (toplevel, text))), SCM_EOL); } scm_dynwind_end (); return result; } /*! \brief Get a list of an object's attributes. * \par Function Description * Retrieves the attributes of the smob \a obj_s as a Scheme list of * #OBJECT smobs. * * \note Scheme API: Implements the %object-attribs procedure of the * (geda core attrib) module. * * \param obj_s object to get attributes for. * \return a list of #OBJECT smobs. */ SCM_DEFINE (object_attribs, "%object-attribs", 1, 0, 0, (SCM obj_s), "Get an object's attributes.") { /* Ensure that the argument is an object */ SCM_ASSERT (EDASCM_OBJECTP (obj_s), obj_s, SCM_ARG1, s_object_attribs); OBJECT *obj = edascm_to_object (obj_s); return edascm_from_object_glist (obj->attribs); } /*! \brief Get the object that an attribute is attached to. * \par Function Description * Returns the #OBJECT smob that \a attrib_s is attached to. If \a * attrib_s is not attached as an attribute, returns SCM_BOOL_F. * * \note Scheme API: Implements the %attrib-attachment procedure of * the (geda core attrib) module. * * \param attrib_s the object to get attribute attachment for. * \return the object to which \a attrib_s is attached, or SCM_BOOL_F. */ SCM_DEFINE (attrib_attachment, "%attrib-attachment", 1, 0, 0, (SCM attrib_s), "Get the object that an attribute is attached to.") { /* Ensure that the argument is an object */ SCM_ASSERT (EDASCM_OBJECTP (attrib_s), attrib_s, SCM_ARG1, s_attrib_attachment); OBJECT *obj = edascm_to_object (attrib_s); if (obj->attached_to == NULL) { return SCM_BOOL_F; } else { return edascm_from_object (obj->attached_to); } } /*! \brief Attach an attribute to an object. * \par Function Description * Attach \a attrib_s to \a obj_s. The following conditions must be * satisfied: * * - Neither \a obj_s nor \a attrib_s may be already attached as an * attribute. * - Both \a obj_s and \a attrib_s must be part of the same page * and/or complex object. (They can't be "loose" objects). * - \a attrib_s must be a text object. * * These restrictions are intentionally harsher than those of the C * API, and are required in order to ensure that the Scheme API is * safe. * * If \a attrib_s is already attached to \a obj_s, does nothing * successfully. * * \note Scheme API: Implements the %attach-attrib! procedure of * the (geda core attrib) module. * * \param obj_s the object to which to attach an attribute. * \param attrib_s the attribute to attach. * \return \a obj_s. */ SCM_DEFINE (attach_attrib_x, "%attach-attrib!", 2, 0, 0, (SCM obj_s, SCM attrib_s), "Attach an attribute to an object.") { SCM_ASSERT (EDASCM_OBJECTP (obj_s), obj_s, SCM_ARG1, s_attach_attrib_x); SCM_ASSERT (edascm_is_object_type (attrib_s, OBJ_TEXT), attrib_s, SCM_ARG2, s_attach_attrib_x); TOPLEVEL *toplevel = edascm_c_current_toplevel (); OBJECT *obj = edascm_to_object (obj_s); OBJECT *attrib = edascm_to_object (attrib_s); /* Check that attachment doesn't already exist */ if (attrib->attached_to == obj) return obj_s; /* Check that both are in the same page and/or complex object */ if ((obj->parent != attrib->parent) || (o_get_page (toplevel, obj) != o_get_page (toplevel, attrib)) || ((obj->parent == NULL) && (o_get_page (toplevel, obj) == NULL))) { scm_error (edascm_object_state_sym, s_attach_attrib_x, _("Objects ~A and ~A are not part of the same page and/or complex object"), scm_list_2 (obj_s, attrib_s), SCM_EOL); } /* Check that neither is already an attached attribute */ if (obj->attached_to != NULL) { scm_error (edascm_object_state_sym, s_attach_attrib_x, _("Object ~A is already attached as an attribute"), scm_list_1 (obj_s), SCM_EOL); } if (attrib->attached_to != NULL) { scm_error (edascm_object_state_sym, s_attach_attrib_x, _("Object ~A is already attached as an attribute"), scm_list_1 (attrib_s), SCM_EOL); } /* Carry out the attachment */ o_emit_pre_change_notify (toplevel, attrib); o_attrib_attach (toplevel, attrib, obj, TRUE); o_emit_change_notify (toplevel, attrib); o_page_changed (toplevel, obj); scm_remember_upto_here_1 (attrib_s); return obj_s; } /*! \brief Detach an attribute from an object. * \par Function Description * Detach \a attrib_s from \a obj_s. If \a attrib_s is not attached * as an attribute, does nothing silently. If \a attrib_s is attached * as an attribute of an object other than \a obj_s, throws a Scheme * error. * * \note Scheme API: Implements the %detach-attrib! procedure of * the (geda core attrib) module. * * \param obj_s the object from which to detach an attribute. * \param attrib_s the attribute to detach. * \return \a attrib_s. */ SCM_DEFINE (detach_attrib_x, "%detach-attrib!", 2, 0, 0, (SCM obj_s, SCM attrib_s), "Detach an attribute to an object.") { SCM_ASSERT (EDASCM_OBJECTP (obj_s), obj_s, SCM_ARG1, s_detach_attrib_x); SCM_ASSERT (edascm_is_object_type (attrib_s, OBJ_TEXT), attrib_s, SCM_ARG2, s_detach_attrib_x); TOPLEVEL *toplevel = edascm_c_current_toplevel (); OBJECT *obj = edascm_to_object (obj_s); OBJECT *attrib = edascm_to_object (attrib_s); /* If attrib isn't attached, do nothing */ if (attrib->attached_to == NULL) { return obj_s; } /* Check that attrib isn't attached elsewhere */ if (attrib->attached_to != obj) { scm_error (edascm_object_state_sym, s_detach_attrib_x, _("Object ~A is attribute of wrong object"), scm_list_1 (attrib_s), SCM_EOL); } /* Detach object */ o_emit_pre_change_notify (toplevel, attrib); o_attrib_remove (toplevel, &obj->attribs, attrib); o_set_color (toplevel, attrib, DETACHED_ATTRIBUTE_COLOR); o_emit_change_notify (toplevel, attrib); o_page_changed (toplevel, obj); scm_remember_upto_here_1 (attrib_s); return obj_s; } /*! \brief Get a complex object's promotable attribs. * \par Function Description * Returns the promotable attributes of \a complex_s, according to the * current gEDA configuration. * * \param complex_s the complex object for which to get promotable * attributes. * \return a list of promotable attributes. */ SCM_DEFINE (promotable_attribs, "%promotable-attribs", 1, 0, 0, (SCM complex_s), "Get a component's promotable attributes") { SCM_ASSERT (edascm_is_object_type (complex_s, OBJ_COMPLEX), complex_s, SCM_ARG1, s_promotable_attribs); TOPLEVEL *toplevel = edascm_c_current_toplevel (); OBJECT *obj = edascm_to_object (complex_s); GList *lst = o_complex_get_promotable (toplevel, obj, FALSE); return edascm_from_object_glist (lst); } /*! * \brief Create the (geda core attrib) Scheme module. * \par Function Description * Defines procedures in the (geda core attrib) module. The module can * be accessed using (use-modules (geda core attrib)). */ static void init_module_geda_core_attrib () { /* Register the functions */ #include "scheme_attrib.x" /* Add them to the module's public definitions. */ scm_c_export (s_parse_attrib, s_object_attribs, s_attrib_attachment, s_attach_attrib_x, s_detach_attrib_x, s_promotable_attribs, NULL); } /*! * \brief Initialise the basic gEDA attribute manipulation procedures. * \par Function Description * Registers some Scheme procedures for working with * attributes. Should only be called by scheme_api_init(). */ void edascm_init_attrib () { /* Define the (geda core attrib) module */ scm_c_define_module ("geda core attrib", init_module_geda_core_attrib, NULL); } geda-gaf-1.8.2/libgeda/src/o_attrib.c0000664000175000017500000005604012220647257014241 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! \file o_attrib.c * \brief utility functions for attributes * * Attributes are normal text objects. An attribute is a text object * that has a text string that is delimited by an equal "=" character. * The part before the equal character is called name the * part of the string behind the equal character is called value * * Attributes are attached to OBJECTs (st_object). Each attribute has * a reference to the object it is attached to. Each object that has * attributes has a list of pionters to its attributes. * * \image html o_attrib_overview.png * \image latex o_attrib_overview.pdf "attribute overview" width=14cm * * \note * Be sure in o_copy o_move o_delete you maintain the attributes * delete is a bare, because you will have to unattach the other end * and in o_save o_read as well * and in o_select when selecting objects, select the attributes */ #include #include #include #ifdef HAVE_STRING_H #include #endif #include #include "libgeda_priv.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \brief Add an attribute to an existing attribute list. * \par Function Description * Add an attribute to an existing attribute list. * * \param [in] toplevel The TOPLEVEL object. * \param [in] object The OBJECT we're adding the attribute to. * \param [in] item The item you want to add as an attribute. * \return nothing. */ void o_attrib_add(TOPLEVEL *toplevel, OBJECT *object, OBJECT *item) { /* Add link from item to attrib listing */ item->attached_to = object; object->attribs = g_list_append (object->attribs, item); o_attrib_emit_attribs_changed (toplevel, object); } /*! \brief Check whether a attrib is attached to another object * \par Function Description * This function checks whether the object \a attrib is attached to * the \a object. * * \param [in] toplevel The TOPLEVEL object. * \param [in] attrib The attribute to be checket. * \param [in] object The object where you want to add item as an attribute. * \return TRUE if attrib is an attribute of object, FALSE otherwise */ gboolean o_attrib_is_attached (TOPLEVEL *toplevel, OBJECT *attrib, OBJECT *object) { if (attrib == NULL || object == NULL) return FALSE; if (attrib->attached_to == object) return TRUE; return FALSE; } /*! \brief Attach existing attribute to an object. * \par Function Description * Attach existing attribute to an object. * * \param [in] toplevel The TOPLEVEL object. * \param [in] attrib The attribute to be added. * \param [out] object The object where you want to add item as an attribute. * \param [in] set_color Whether or not we should set the new attribute's color. */ void o_attrib_attach (TOPLEVEL *toplevel, OBJECT *attrib, OBJECT *object, int set_color) { g_return_if_fail (attrib != NULL); g_return_if_fail (object != NULL); /* is the object already part of the list ? */ if (g_list_find (object->attribs, attrib)) { g_warning ("Attribute [%s] already attached\n", attrib->text->string); return; } if (attrib->type != OBJ_TEXT) { g_warning (_("Attempt to attach non text item as an attribute!\n")); return; } if (attrib->attached_to != NULL) { g_warning (_("Attempt to attach attribute [%s] to more than one object\n"), attrib->text->string); return; } o_attrib_add (toplevel, object, attrib); if (set_color) o_set_color (toplevel, attrib, ATTRIBUTE_COLOR); } /*! \brief Attach list of existing attributes to an object. * \par Function Description * Attach list of existing attributes to an object. * * \param [in] toplevel The TOPLEVEL object. * \param [in] attr_list The list of attributes to be added. * \param [out] object The object where you want to add item as an attribute. * \param [in] set_color Whether or not we should set the new attribute's color. */ void o_attrib_attach_list (TOPLEVEL *toplevel, GList *attr_list, OBJECT *object, int set_color) { GList *iter; for (iter = attr_list; iter != NULL; iter = g_list_next (iter)) o_attrib_attach (toplevel, iter->data, object, set_color); } /*! \brief Detach all attribute items in a list. * \par Function Description * Detach all attributes from an object. * * \param [in] toplevel The TOPLEVEL object. * \param [in,out] object The object whos attributes to detach. */ void o_attrib_detach_all(TOPLEVEL *toplevel, OBJECT *object) { OBJECT *a_current; GList *a_iter; o_attrib_freeze_hooks (toplevel, object); for (a_iter = object->attribs; a_iter != NULL; a_iter = g_list_next (a_iter)) { a_current = a_iter->data; a_current->attached_to = NULL; o_set_color (toplevel, a_current, DETACHED_ATTRIBUTE_COLOR); o_attrib_emit_attribs_changed (toplevel, object); } g_list_free (object->attribs); object->attribs = NULL; o_attrib_thaw_hooks (toplevel, object); } /*! \brief Print all attributes to a Postscript document. * \par Function Description * Print all attributes to a Postscript document. * * \param [in] attributes List of attributes to print. */ void o_attrib_print(GList *attributes) { OBJECT *a_current; GList *a_iter; a_iter = attributes; while (a_iter != NULL) { a_current = a_iter->data; printf("Attribute points to: %s\n", a_current->name); if (a_current->text) { printf("\tText is: %s\n", a_current->text->string); } a_iter = g_list_next (a_iter); } } /*! \todo Finish function. * \brief Remove an attribute item from an attribute list. * \par Function Description * This function removes the given attribute from an attribute list. * This function should be used when detaching an attribute. * * \param [in] toplevel The TOPLEVEL object. * \param [in] list The attribute list to remove attribute from. * \param [in] remove The OBJECT to remove from list. */ void o_attrib_remove(TOPLEVEL *toplevel, GList **list, OBJECT *remove) { OBJECT *attached_to; g_return_if_fail (remove != NULL); attached_to = remove->attached_to; remove->attached_to = NULL; *list = g_list_remove (*list, remove); o_attrib_emit_attribs_changed (toplevel, attached_to); } /*! \brief Read attributes from a buffer. * \par Function Description * Read attributes from a TextBuffer. * * \param [in] toplevel The TOPLEVEL object. * \param [in] object_to_get_attribs Object which gets these attribs. * \param [in] tb The text buffer to read from. * \param [in] release_ver libgeda release version number. * \param [in] fileformat_ver file format version number. * \return GList of attributes read, or NULL on error. */ GList *o_read_attribs (TOPLEVEL *toplevel, OBJECT *object_to_get_attribs, TextBuffer *tb, unsigned int release_ver, unsigned int fileformat_ver, GError ** err) { GList *object_list = NULL; OBJECT *new_obj; const char *line = NULL; char objtype; int ATTACH=FALSE; while (1) { line = s_textbuffer_next_line (tb); if (line == NULL) break; sscanf(line, "%c", &objtype); switch (objtype) { case(OBJ_LINE): if ((new_obj = o_line_read (toplevel, line, release_ver, fileformat_ver, err)) == NULL) goto error; object_list = g_list_prepend (object_list, new_obj); break; case(OBJ_NET): if ((new_obj = o_net_read (toplevel, line, release_ver, fileformat_ver, err)) == NULL) goto error; object_list = g_list_prepend (object_list, new_obj); break; case(OBJ_BUS): if ((new_obj = o_bus_read (toplevel, line, release_ver, fileformat_ver, err)) == NULL) goto error; object_list = g_list_prepend (object_list, new_obj); break; case(OBJ_BOX): if ((new_obj = o_box_read (toplevel, line, release_ver, fileformat_ver, err)) == NULL) goto error; object_list = g_list_prepend (object_list, new_obj); break; case(OBJ_CIRCLE): if ((new_obj = o_circle_read (toplevel, line, release_ver, fileformat_ver, err)) == NULL) goto error; object_list = g_list_prepend (object_list, new_obj); break; case(OBJ_COMPLEX): case(OBJ_PLACEHOLDER): if ((new_obj = o_complex_read (toplevel, line, release_ver, fileformat_ver, err)) == NULL) goto error; object_list = g_list_prepend (object_list, new_obj); break; case(OBJ_PATH): new_obj = o_path_read (toplevel, line, tb, release_ver, fileformat_ver, err); if (new_obj == NULL) goto error; object_list = g_list_prepend (object_list, new_obj); break; case(OBJ_PIN): if ((new_obj = o_pin_read (toplevel, line, release_ver, fileformat_ver, err)) == NULL) goto error; object_list = g_list_prepend (object_list, new_obj); break; case(OBJ_ARC): if ((new_obj = o_arc_read (toplevel, line, release_ver, fileformat_ver, err)) == NULL) goto error; object_list = g_list_prepend (object_list, new_obj); break; case(OBJ_TEXT): new_obj = o_text_read (toplevel, line, tb, release_ver, fileformat_ver, err); if (new_obj == NULL) goto error; object_list = g_list_prepend (object_list, new_obj); ATTACH=TRUE; break; case(ENDATTACH_ATTR): return object_list; break; } if (ATTACH) { o_attrib_attach (toplevel, new_obj, object_to_get_attribs, FALSE); ATTACH=FALSE; } else { g_set_error(err, EDA_ERROR, EDA_ERROR_PARSE, _("Tried to attach a non-text item as an attribute")); goto error; } } /* The attribute list wasn't terminated, so it's a parse error! */ g_set_error (err, EDA_ERROR, EDA_ERROR_PARSE, _("Unexpected end-of-file in attribute list")); error: s_delete_object_glist(toplevel, object_list); return NULL; } /*! \brief Get name and value from an attribute 'name=value' string. * \par Function Description * This function parses the character string \a string expected to be * an attribute string of the form 'name=value'. * * It returns TRUE if it has been able to parse the string into the * name and value parts of an attribute. Otherwise it returns FALSE, * in that case \a *name_ptr and \a *value_ptr are set to NULL. * * \a name_ptr and/or \a value_ptr can be NULL. * If not NULL, the caller must g_free these returned strings. * * \note * If you get an invalid attribute (improper) with a name and no * value, then it is NOT an attribute. Also, there cannot be any * spaces beside the equals sign * * \param [in] string String to split into name/value pair. * \param [out] name_ptr The return location for the name, or NULL. * \param [out] value_ptr The return location for the value, or NULL. * \return TRUE on success, FALSE otherwise. */ gboolean o_attrib_string_get_name_value (const gchar *string, gchar **name_ptr, gchar **value_ptr) { gchar *ptr, *prev_char, *next_char; if (name_ptr != NULL) *name_ptr = NULL; if (value_ptr != NULL) *value_ptr = NULL; g_return_val_if_fail (string != NULL, FALSE); ptr = g_utf8_strchr (string, -1, g_utf8_get_char ("=")); if (ptr == NULL) { return FALSE; } prev_char = g_utf8_find_prev_char (string, ptr); next_char = g_utf8_find_next_char (ptr, NULL); if (prev_char == NULL || *prev_char == ' ' || next_char == NULL || *next_char == ' ' || *next_char == '\0' ) { return FALSE; } if (name_ptr != NULL) { *name_ptr = g_strndup (string, (ptr - string)); } if (value_ptr != NULL) { *value_ptr = g_strdup (next_char); } return TRUE; } /*! \brief Get name and value from an attribute OBJECT * \par Function Description * See o_attrib_string_get_name_value() for more details * * \param [in] attrib The attribute OBJECT whos name/value to return. * \param [out] name_ptr The return location for the name, or NULL. * \param [out] value_ptr The return location for the value, or NULL. * \return TRUE on success, FALSE otherwise. */ gboolean o_attrib_get_name_value (OBJECT *attrib, gchar **name_ptr, gchar **value_ptr) { g_return_val_if_fail (attrib->type == OBJ_TEXT, FALSE); return o_attrib_string_get_name_value (attrib->text->string, name_ptr, value_ptr); } /*! \brief Find all floating attributes in the given object list. * \par Function Description * Find all floating attributes in the given object list. * * \param [in] list GList of OBJECTs to search for floating attributes. * \return GList of floating attributes from the input list * * \warning * Caller must g_list_free returned list. */ GList *o_attrib_find_floating_attribs (const GList *list) { GList *floating_attributes = NULL; const GList *iter; OBJECT *o_current; for (iter = list; iter != NULL; iter = g_list_next (iter)) { o_current = iter->data; /* Skip non text objects, attached attributes and text which doesn't * constitute a valid attributes (e.g. general text placed on the page) */ if (o_current->type == OBJ_TEXT && o_current->attached_to == NULL && o_attrib_get_name_value (o_current, NULL, NULL)) { floating_attributes = g_list_prepend (floating_attributes, o_current); } } return g_list_reverse (floating_attributes); } /*! \brief Find an attribute in a list. * \par Function Description * Search for attribute by name. * * Counter is the n'th occurance of the attribute, and starts searching * from zero. Zero is the first occurance of an attribute. * * \param [in] list GList of attributes to search. * \param [in] name Character string with attribute name to search for. * \param [in] count Which occurance to return. * \return The n'th attribute object in the given list with the given name. */ OBJECT *o_attrib_find_attrib_by_name (const GList *list, char *name, int count) { OBJECT *a_current; const GList *iter; char *found_name; int internal_counter = 0; for (iter = list; iter != NULL; iter = g_list_next (iter)) { a_current = iter->data; g_return_val_if_fail (a_current->type == OBJ_TEXT, NULL); if (!o_attrib_get_name_value (a_current, &found_name, NULL)) continue; if (strcmp (name, found_name) == 0) { if (internal_counter == count) { g_free (found_name); return a_current; } internal_counter++; } g_free (found_name); } return NULL; } /*! \brief Search attribute list by name. * \par Function Description * Search for attribute by name. * * Counter is the n'th occurance of the attribute, and starts searching * from zero. Zero is the first occurance of an attribute. * * \param [in] list GList of attributes to search. * \param [in] name Character string with attribute name to search for. * \param [in] counter Which occurance to return. * \return Character string with attribute value, NULL otherwise. */ static char *o_attrib_search_attrib_list_by_name (const GList *list, char *name, int counter) { OBJECT *attrib; char *value = NULL; attrib = o_attrib_find_attrib_by_name (list, name, counter); if (attrib != NULL) o_attrib_get_name_value (attrib, NULL, &value); return value; } /*! \brief Search floating attribute by name. * \par Function Description * Search for attribute by name. * * Counter is the n'th occurance of the attribute, and starts searching * from zero. Zero is the first occurance of an attribute. * * \param [in] list GList of OBJECTs to search for floating attributes. * \param [in] name Character string with attribute name to search for. * \param [in] counter Which occurance to return. * \return Character string with attribute value, NULL otherwise. * * \warning * Caller must g_free returned character string. */ char *o_attrib_search_floating_attribs_by_name (const GList *list, char *name, int counter) { char *result; GList *attributes; attributes = o_attrib_find_floating_attribs (list); result = o_attrib_search_attrib_list_by_name (attributes, name, counter); g_list_free (attributes); return result; } /*! \brief Search attached attributes by name. * \par Function Description * Search for attribute by name. * * Counter is the n'th occurance of the attribute, and starts searching * from zero. Zero is the first occurance of an attribute. * * \param [in] object The OBJECT whos attached attributes to search. * \param [in] name Character string with attribute name to search for. * \param [in] counter Which occurance to return. * \return Character string with attribute value, NULL otherwise. * * \warning * Caller must g_free returned character string. */ char *o_attrib_search_attached_attribs_by_name (OBJECT *object, char *name, int counter) { return o_attrib_search_attrib_list_by_name (object->attribs, name, counter); } /*! \brief Search inherited attribute by name. * \par Function Description * Search for attribute by name. * * Counter is the n'th occurance of the attribute, and starts searching * from zero. Zero is the first occurance of an attribute. * * \param [in] object The OBJECT whos inherited attributes to search. * \param [in] name Character string with attribute name to search for. * \param [in] counter Which occurance to return. * \return Character string with attribute value, NULL otherwise. * * \warning * Caller must g_free returned character string. */ char *o_attrib_search_inherited_attribs_by_name (OBJECT *object, char *name, int counter) { g_return_val_if_fail (object->type == OBJ_COMPLEX || object->type == OBJ_PLACEHOLDER, NULL); return o_attrib_search_floating_attribs_by_name (object->complex->prim_objs, name, counter); } /*! \brief Search attributes of object by name. * \par Function Description * Search for attribute by name. * * Counter is the n'th occurance of the attribute, and starts searching * from zero. Zero is the first occurance of an attribute. * * \param [in] object OBJECT who's attributes to search. * \param [in] name Character string with attribute name to search for. * \param [in] counter Which occurance to return. * \return Character string with attribute value, NULL otherwise. * * \warning * Caller must g_free returned character string. */ char *o_attrib_search_object_attribs_by_name (OBJECT *object, char *name, int counter) { char *result; GList *attributes; attributes = o_attrib_return_attribs (object); result = o_attrib_search_attrib_list_by_name (attributes, name, counter); g_list_free (attributes); return result; } /*! \brief Get all attached attributes of the specified OBJECT. * \par Function Description * This function returns all attributes of the specified object. * * The returned GList should be freed using the #g_list_free(). * * This function aggregates the attached and inherited attributes * belonging to a given OBJECT. (inherited attributes are those * which live as toplevel un-attached attributes inside in a * complex OBJECT's prim_objs). * * \param [in] object OBJECT whos attributes to return. * \return A GList of attributes belinging to the passed object. */ GList * o_attrib_return_attribs (OBJECT *object) { GList *attribs = NULL; GList *inherited_attribs; OBJECT *a_current; GList *a_iter; g_return_val_if_fail (object != NULL, NULL); /* Directly attached attributes */ for (a_iter = object->attribs; a_iter != NULL; a_iter = g_list_next (a_iter)) { a_current = a_iter->data; if (a_current->type != OBJ_TEXT) continue; /* Don't add invalid attributes to the list */ if (!o_attrib_get_name_value (a_current, NULL, NULL)) continue; attribs = g_list_prepend (attribs, a_current); } attribs = g_list_reverse (attribs); /* Inherited attributes (inside complex objects) */ if (object->type == OBJ_COMPLEX || object->type == OBJ_PLACEHOLDER) { inherited_attribs = o_attrib_find_floating_attribs (object->complex->prim_objs); attribs = g_list_concat (attribs, inherited_attribs); } return attribs; } /*! \brief Query whether a given attribute OBJECT is "inherited" * \par Function Description * This function returns TRUE if the given attribute OBJECT is a * toplevel un-attached attribute inside a complex's prim_objs. * * \param [in] attrib OBJECT who's status to query. * \return TRUE if the given attribute is inside a symbol */ int o_attrib_is_inherited (OBJECT *attrib) { return (attrib->attached_to == NULL && attrib->parent != NULL); } typedef struct { AttribsChangedFunc func; void *data; } AttribsChangedHook; void o_attrib_append_attribs_changed_hook (TOPLEVEL *toplevel, AttribsChangedFunc func, void *data) { AttribsChangedHook *new_hook; new_hook = g_new0 (AttribsChangedHook, 1); new_hook->func = func; new_hook->data = data; toplevel->attribs_changed_hooks = g_list_append (toplevel->attribs_changed_hooks, new_hook); } static void call_attribs_changed_hook (gpointer data, gpointer user_data) { AttribsChangedHook *hook = data; OBJECT *object = user_data; hook->func (hook->data, object); } void o_attrib_emit_attribs_changed (TOPLEVEL *toplevel, OBJECT *object) { if (object->attrib_notify_freeze_count > 0) { object->attrib_notify_pending = 1; return; } // printf ("The attributes of object %p have changed\n", object); object->attrib_notify_pending = 0; g_list_foreach (toplevel->attribs_changed_hooks, call_attribs_changed_hook, object); } void o_attrib_freeze_hooks (TOPLEVEL *toplevel, OBJECT *object) { object->attrib_notify_freeze_count ++; } void o_attrib_thaw_hooks (TOPLEVEL *toplevel, OBJECT *object) { g_return_if_fail (object->attrib_notify_freeze_count > 0); object->attrib_notify_freeze_count --; if (object->attrib_notify_freeze_count == 0 && object->attrib_notify_pending) o_attrib_emit_attribs_changed (toplevel, object); } geda-gaf-1.8.2/libgeda/src/f_print.c0000664000175000017500000062115212220647257014101 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! \file f_print.c * \brief functions to write postscript files */ #include #include #include #include #include #include #include "libgeda_priv.h" /*! \brief Hashtable storing mapping between character and * postscript glyph name */ GHashTable *unicode_char_to_glyph = NULL; static int f_print_get_unicode_chars (TOPLEVEL * toplevel, const GList *obj_list, int count, gunichar * table); static void f_print_unicode_map(FILE * fp, int count, gunichar * table); /*! \brief Prints the line width in mils to a postscript document. * \par Function Description * This function writes the line width in mils to the specified * postscript document. * * \param [in] fp The postscript document to write to. * \param [in] width The width of the line in mils to set. */ void f_print_set_line_width(FILE *fp, int width) { if (width > 0) { fprintf(fp, "%d setlinewidth\n", width); } } /*! \brief Prints the color to a postscript document * \par Function Description * This function converts the color number passed to a string * and prints it to the postscript document provided. * * \param [in] toplevel The current #TOPLEVEL structure. * \param [in] fp The postscript document to print the color to. * \param [in] color Integer color to convert and print. * * \returns 1 if the colour is enabled, 0 if disabled. */ int f_print_set_color(TOPLEVEL *toplevel, FILE *fp, int color) { gchar *string; if (!toplevel->print_color || (toplevel->last_ps_color == color)) return 1; string = s_color_ps_string(color); if (string) { fprintf(fp, "%s setrgbcolor\n", string); } else { toplevel->last_ps_color = -1; return 0; } g_free (string); toplevel->last_ps_color = color; return 1; } /*! \brief Prints the header to a postscript document. * \par Function Description * This function will print a document preamble and header * for a postscript document. * * \param [in] toplevel The TOPLEVEL object. * \param [in] page The page to create document for. * \param [in] fp The postscript document to write to. * \param [in] paper_size_x The width of the document on paper in inches. * \param [in] paper_size_y The height of the document on paper in inches. * \param [in] eps whether to create a eps of a ps document * \return 0 on success, -1 on failure. */ int f_print_header(TOPLEVEL *toplevel, PAGE *page, FILE *fp, int paper_size_x, int paper_size_y, int eps) { char *buf = NULL; FILE *prolog = NULL; size_t bytes; int llx,lly,urx,ury; time_t current_time,time_rc; /* Compute bounding box */ llx=0; /* So, right now, the box starts at (0,0) */ lly=0; urx=((float)paper_size_y * 72.0)/1000; ury=((float)paper_size_x * 72.0)/1000; /* Get Time of day for creation date */ time_rc = time(¤t_time); if(time_rc == (time_t)-1) { s_log_message(_("Unable to get time of day in f_print_header()\n")); current_time=0; /* Just set it to 1970... */ } /* Output the DSC comments at the beginning of the document */ if (eps) fprintf(fp, "%%!PS-Adobe-3.0 EPSF-3.0\n"); else fprintf(fp, "%%!PS-Adobe-3.0\n"); fprintf(fp, "%%%%Creator: gEDA gschem %s\n" "%%%%CreationDate: %s" "%%%%Title: %s\n" #ifdef HAVE_GETLOGIN "%%%%Author: %s\n" #endif "%%%%BoundingBox: %d %d %d %d\n" "%%%%Orientation: %s\n" "%%%%Pages: 1\n" "%%%%EndComments\n" "%%%%BeginProlog\n", PACKAGE_GIT_VERSION, ctime(¤t_time), page->page_filename, #ifdef HAVE_GETLOGIN getlogin(), #endif llx, lly, urx, ury, ((toplevel->print_orientation == LANDSCAPE) ? "Landscape" : "Portrait") ); /* Fetch and insert the Postscript prolog from disk here */ /* Allocate a buffer to use during copy */ #define PROLOG_BUFFER_SIZE 8192 /* Don't check this (succeeds or aborts) */ buf = g_malloc(PROLOG_BUFFER_SIZE); /* Open the prolog file */ prolog = fopen(toplevel->postscript_prolog,"r"); if(prolog == NULL) { s_log_message(_("Unable to open the prolog file `%s' for reading " "in f_print_header()\n"), toplevel->postscript_prolog); goto f_print_header_fail; } /* Loop while reading file into buffer and dump it * back out to the supplied file handle */ do { bytes = fread(buf, 1, PROLOG_BUFFER_SIZE, prolog); if(ferror(prolog)) break; if (fwrite(buf, 1, bytes, fp) != bytes) { /* An error occurred with fwrite */ #warning FIXME: What do we do? } } while(!feof(prolog) && !ferror(prolog) && !ferror(fp)); if(ferror(prolog)) { s_log_message(_("Error during reading of the prolog file `%s' " "in f_print_header()\n"), toplevel->postscript_prolog); goto f_print_header_fail; } if(ferror(fp)) { s_log_message(_("Error during writing of the output postscript file " "in f_print_header()\n")); goto f_print_header_fail; } g_free(buf); /* If we got to here, the buffer was allocated. */ fprintf(fp,"%%%%EndProlog\n" "%%%%Page: 1 1\n"); /* Just name it `page 1' for now */ fclose (prolog); return 0; f_print_header_fail: s_log_message (_("Giving up on printing\n")); if (prolog != NULL) { fclose (prolog); } g_free (buf); /* g_free() succeeds if argument is NULL */ return -1; } /*! \brief Prints the footer to a postscript document * \par Function Description * This function will print a document footer and end * a postscript document. * * \param [in] fp The postscript document to write footer to. */ void f_print_footer(FILE *fp) { fprintf(fp,"showpage\n" "%%%%End\n"); } /*! \brief Print all objects from the toplevel TOPLEVEL object. * \par Function Description * This function will parse the head parameter for all objects * and write the to the postscript document. * * \param [in] toplevel The current TOPLEVEL object. * \param [in] fp The postscript document to print to. * \param [in] obj_list List of objects to be printed. * \param [in] start_x X origin on page to start printing objects. * \param [in] start_y Y origin on page to start printing objects. * \param [in] scale Scale factor for object output. * \param [in] unicode_count Number of items in unicode table. * \param [in] unicode_table Table of unicode items. * \return void */ void f_print_objects (TOPLEVEL *toplevel, FILE *fp, const GList *obj_list, int start_x, int start_y, float scale, int unicode_count, gunichar *unicode_table) { OBJECT *o_current=NULL; int origin_x, origin_y; int save_last_ps_color; const GList *iter; origin_x = start_x; origin_y = start_y; if (obj_list == NULL) { return; } /* Apply a translation to move the origin to where we want it */ if (origin_x != 0 || origin_y != 0) { fprintf(fp, "%d %d translate\n", -origin_x, -origin_y); } /* no longer change the coords, the postscript translate takes care * of this */ origin_x = 0; origin_y = 0; iter = obj_list; while ( iter != NULL ) { o_current = (OBJECT *)iter->data; switch (o_current->type) { case(OBJ_LINE): o_line_print(toplevel, fp, o_current, origin_x, origin_y); break; case(OBJ_NET): o_net_print(toplevel, fp, o_current, origin_x, origin_y); break; case(OBJ_BUS): o_bus_print(toplevel, fp, o_current, origin_x, origin_y); break; case(OBJ_BOX): o_box_print(toplevel, fp, o_current, origin_x, origin_y); break; case(OBJ_CIRCLE): o_circle_print(toplevel, fp, o_current, origin_x, origin_y); break; case(OBJ_COMPLEX): case(OBJ_PLACEHOLDER): /* new object -- 1.20.2005 SDB */ save_last_ps_color = toplevel->last_ps_color; fprintf(fp, "gsave\n"); f_print_objects(toplevel, fp, o_current->complex->prim_objs, origin_x, origin_y, scale, unicode_count, unicode_table); fprintf(fp, "grestore\n"); toplevel->last_ps_color = save_last_ps_color; break; case(OBJ_TEXT): if (o_is_visible (toplevel, o_current)) { /* Output text */ save_last_ps_color = toplevel->last_ps_color; fprintf(fp, "gsave\n"); o_text_print(toplevel, fp, o_current, origin_x, origin_y, unicode_count, unicode_table); fprintf(fp, "grestore\n"); toplevel->last_ps_color = save_last_ps_color; } break; case(OBJ_PATH): o_path_print(toplevel, fp, o_current, origin_x, origin_y); break; case(OBJ_PIN): o_pin_print(toplevel, fp, o_current, origin_x, origin_y); break; case(OBJ_ARC): o_arc_print(toplevel, fp, o_current, origin_x, origin_y); break; case(OBJ_PICTURE): o_picture_print(toplevel, fp, o_current, origin_x, origin_y); break; default: g_return_if_reached (); break; } iter = g_list_next (iter); } s_cue_output_all (toplevel, obj_list, fp, POSTSCRIPT); return; } /*! \brief Print the current TOPLEVEL object to a file as a postscript * document. * * \par Function Description * * \param [in] toplevel The TOPLEVEL object. * \param [in] page The PAGE to print. * \param [in] filename The file name of the output postscript document. * \return 0 on success, -1 on failure. */ int f_print_file (TOPLEVEL *toplevel, PAGE *page, const char *filename) { FILE *fp; int result; /* dots are breaking my filename selection hack hack !!!! */ fp = fopen(filename, "wb"); /* Use "wb" for safety on e.g. Win32 */ /* check to see if it worked */ if (fp == NULL) { s_log_message(_("Could not open [%s] for printing\n"), filename); return -1; } result = f_print_stream(toplevel, page, fp); if (result != 0) { /* If there was an error in f_print_stream, then unlink the output file. */ unlink(filename); } fclose (fp); return result; } /*! \brief Opens a pipe to the specified command and prints the * current TOPLEVEL object to the pipe as a postscript document. * * \par Function Description * * \param [in] toplevel The TOPLEVEL object. * \param [in] page The PAGE to print. * \param [in] command The command to print to. * \return 0 on success, -1 on failure. */ int f_print_command (TOPLEVEL *toplevel, PAGE *page, const char *command) { FILE *fp; int result; fp = popen (command, "w"); /* check to see if it worked */ if (fp == NULL) { s_log_message(_("Could not execute command [%s] for printing\n"), command); return -1; } result = f_print_stream (toplevel, page, fp); pclose (fp); return result; } /*! \brief Print the current TOPLEVEL object to a stream as a * postscript document. * \par Function Description * * \param [in] toplevel The TOPLEVEL object to print. * \param [in] fp A pointer to an open IO stream * \return 0 on success, -1 on failure. */ int f_print_stream(TOPLEVEL *toplevel, PAGE *page, FILE *fp) { int origin_x, origin_y, bottom, right; int margin_x, margin_y; int dx,dy; float scale; int unicode_count; gunichar unicode_table [128]; /* to contain the list of unicode characters that need mapping */ int eps; /* Unicode support */ f_print_initialize_glyph_table(); /* Fill up unicode map */ /* Find all the unicode characters */ unicode_count = f_print_get_unicode_chars (toplevel, s_page_objects (page), 0, unicode_table); /* printf("%d %d\n", toplevel->paper_width, toplevel->paper_height);*/ world_get_object_glist_bounds (toplevel, s_page_objects (page), &origin_x, &origin_y, &right, &bottom); /* Calculate scale factor that will make the image fit on the page */ dx = 0; dy = 0; margin_x = 0; margin_y = 0; switch (toplevel->print_output_type) { case EXTENTS: dx = right - origin_x; dy = bottom - origin_y; /* Add a 10% margin */ margin_x = dx/10; margin_y = dy/10; dx = dx + margin_x; dy = dy + margin_y; break; case WINDOW: dx = page->right - page->left; dy = page->bottom - page->top; origin_x = page->left; origin_y = page->top; right = page->right; bottom = page->bottom; break; case EXTENTS_NOMARGINS: dx = right - origin_x; dy = bottom - origin_y; break; default: break; } if(toplevel->paper_width == 0) { eps = 1; if(toplevel->print_orientation == LANDSCAPE) { toplevel->paper_width = dx; toplevel->paper_height = dy; } else { /* portrait */ toplevel->paper_width = dy; toplevel->paper_height = dx; } } else eps = 0; scale = 0.0; if(toplevel->print_orientation == LANDSCAPE) { /* First attempt to fit in x direction. */ scale = toplevel->paper_width / (float)dx; if((toplevel->paper_height / (float)dy) < scale ) { /* Else fit with y direction */ scale = (toplevel->paper_height / (float)dy); } } else { /* portrait */ /* First attempt to fit in y direction. */ scale = toplevel->paper_width / (float) dy; if((toplevel->paper_height / (float)dx) < scale ) { /* Else fit with x direction */ scale = (toplevel->paper_height / (float)dx); } } #if 0 /* Debug */ printf("dx: %d dy:%d, origin_x:%d origin_y:%d, right:%d bottom:%d\n", dx,dy,origin_x,origin_y,right,bottom); printf("scale:%f\n",scale); #endif /* Output the header */ if (f_print_header(toplevel, page, fp, toplevel->paper_width, toplevel->paper_height, eps) != 0) { /* There was an error in f_print_header */ return -1; } /* Output font re-encoding */ if (unicode_count) { f_print_unicode_map(fp, unicode_count, unicode_table); /* output font re-encodeing command, use our re-encoding */ fprintf(fp,"/gEDAFont UTFencoding /Helvetica RE\n"); } else { /* Otherwise, use LATIN1 extended encoding from prolog */ fprintf(fp,"/gEDAFont ISOLatin1Extended /Helvetica RE\n"); } /* XXX - Do page orientation selection */ /* if (toplevel->setpagedevice_orientation) { */ /* if (toplevel->print_orientation == LANDSCAPE) { */ /* fprintf(fp, "%c%c /Orientation 1 %c%c setpagedevice\n\n", '<', '<', */ /* '>', '>'); */ /* } else { */ /* fprintf(fp, "%c%c /Orientation 0 %c%c setpagedevice\n\n", '<', '<', */ /* '>', '>'); */ /* } */ /* } */ /* the height and width are in the right order here, since they were * specified in landscape order in the system-gschemrc file. * \074 is '<', \076 is '>' */ if (toplevel->setpagedevice_pagesize) { fprintf(fp, "\074\074 /PageSize [%d %d] \076\076 setpagedevice\n", (toplevel->paper_height * 72) / MILS_PER_INCH, (toplevel->paper_width * 72) / MILS_PER_INCH); } /* Set line end style */ if (toplevel->print_output_capstyle == BUTT_CAP) { fprintf(fp, "0 setlinecap\n"); } else if (toplevel->print_output_capstyle == SQUARE_CAP) { fprintf(fp, "2 setlinecap\n"); } else if (toplevel->print_output_capstyle == ROUND_CAP) { fprintf(fp, "1 setlinecap\n"); } /* Apply mils to postscript native units scaling to CTM */ fprintf(fp,"%f %f scale\n", 72.0 / 1000.0 , 72.0 / 1000.0); /* Now the output is defined in terms of mils */ /* Draw a box with the background colour covering the whole page */ if (toplevel->print_color && f_print_set_color(toplevel, fp, toplevel->print_color_background)) { fprintf (fp, "%d %d 0 0 fbox\n", toplevel->paper_height, toplevel->paper_width); } /* Now rotate and translate the graphics to fit onto the desired * page with the orientation we want. Center it too */ if(toplevel->print_orientation == LANDSCAPE) { fprintf(fp, "%d %d translate 90 rotate\n", (int)((toplevel->paper_height + ( dy-margin_y) * scale)/2.0), (int)((toplevel->paper_width + (-dx+margin_x) * scale)/2.0)); } else { /* portrait */ fprintf(fp,"%d %d translate\n", (int)((toplevel->paper_height + (-dx + margin_x) * scale)/2.0), (int)((toplevel->paper_width + (-dy + margin_y) * scale)/2.0)); } /* Now apply final mils to output scaling factor */ fprintf(fp,"%f %f scale\n", scale, scale); /* Print the objects */ f_print_objects (toplevel, fp, s_page_objects (page), origin_x, origin_y, scale, unicode_count, unicode_table); f_print_footer(fp); return(0); } /*! \brief Sets the current TOPLEVEL object output type * \par Function Description * Sets the current TOPLEVEL object output type. * * \param [in,out] toplevel The TOPLEVEL object to set output type in. * \param [in] type The print type to set. */ void f_print_set_type(TOPLEVEL *toplevel, int type) { toplevel->print_output_type = type; } /*! \brief Converts all text strings to unicode format. * \par Function Description * Converts all text strings to unicode format. * * \param [in,out] toplevel The output TOPLEVEL element to store converted * strings in. * \param [in] obj_list The object containing strings for conversion. * \param [in] count The number of elements in the unicode table. * \param [in] table The unicode table. * \return count on success, 0 otherwise. */ static int f_print_get_unicode_chars (TOPLEVEL *toplevel, const GList *obj_list, int count, gunichar *table) { OBJECT *o_current = NULL; gchar *aux; gunichar current_char; int i, found; const GList *iter; iter = obj_list; while (iter != NULL) { o_current = (OBJECT *)iter->data; switch (o_current->type) { case (OBJ_COMPLEX): case (OBJ_PLACEHOLDER): count = f_print_get_unicode_chars(toplevel, o_current->complex->prim_objs, count, table); break; case (OBJ_TEXT): if (o_is_visible (toplevel, o_current)) { aux = o_current->text->string; while (aux && ((gunichar) (*aux) != 0)) { current_char = g_utf8_get_char_validated(aux, -1); if (current_char >= 127) { found = 0; i = 0; while (i < count) { if (table[i] == current_char) found = 1; i++; } if (!found) { if (count < 128) table[count++] = current_char; else s_log_message(_("Too many UTF-8 characters, cannot print\n")); } } aux = g_utf8_find_next_char(aux, NULL); } } break; default: break; } iter = g_list_next (iter); } return (count); } /*! \brief Prints unicode map to postscript document. * \par Function Description * Prints unicode map to postscript document. * * \param [in] fp The postscript document to write unicode map to. * \param [in] count Size of unicode map table. * \param [in] table The unicode map to write. */ static void f_print_unicode_map(FILE * fp, int count, gunichar * table) { unsigned int i; int line_count; char *glyph_map[256]; /* To contain the postscript remapping */ /* update the glyph map, undefine everything */ for(i=0; i<256; i++) glyph_map[i]="/.notdef"; /* Now fill in the active characters */ for (i=0; i<128; i++) { /* Copy in the regular latin chars */ glyph_map[i] = g_hash_table_lookup (unicode_char_to_glyph, GUINT_TO_POINTER (i)); } /* Finish by using up the rest of the spares */ for (i=128; i<(count+128); i++) { if(i < (count+128)) { glyph_map[i] = g_hash_table_lookup (unicode_char_to_glyph, GUINT_TO_POINTER (table[i-128])); } } fprintf(fp, "%%%%BeginResource: encoding UTFencoding\n"); fprintf(fp, "/UTFencoding [\n"); /* Output the re-encoding vector, prettily */ line_count = 0; for (i=0; i<256; i++) { line_count += fprintf(fp, "%s ", glyph_map[i]); if(line_count > 60) { line_count = 0; fprintf(fp, "\n"); } } fprintf(fp, "] def\n"); fprintf(fp, "%%%%EndResource\n"); } /*! \brief */ static struct glyph_list { gpointer key; gpointer name; } glyphs[] = { { GUINT_TO_POINTER (0x0000), "/.notdef" }, { GUINT_TO_POINTER (0x0001), "/controlSTX" }, { GUINT_TO_POINTER (0x0002), "/controlSOT" }, { GUINT_TO_POINTER (0x0003), "/controlETX" }, { GUINT_TO_POINTER (0x0004), "/controlEOT" }, { GUINT_TO_POINTER (0x0005), "/controlENQ" }, { GUINT_TO_POINTER (0x0006), "/controlACK" }, { GUINT_TO_POINTER (0x0007), "/controlBEL" }, { GUINT_TO_POINTER (0x0008), "/controlBS" }, { GUINT_TO_POINTER (0x0009), "/controlHT" }, { GUINT_TO_POINTER (0x000A), "/controlLF" }, { GUINT_TO_POINTER (0x000B), "/controlVT" }, { GUINT_TO_POINTER (0x000C), "/controlFF" }, { GUINT_TO_POINTER (0x000D), "/controlCR" }, { GUINT_TO_POINTER (0x000E), "/controlSO" }, { GUINT_TO_POINTER (0x000F), "/controlSI" }, { GUINT_TO_POINTER (0x0010), "/controlDLE" }, { GUINT_TO_POINTER (0x0011), "/controlDC1" }, { GUINT_TO_POINTER (0x0012), "/controlDC2" }, { GUINT_TO_POINTER (0x0013), "/controlDC3" }, { GUINT_TO_POINTER (0x0014), "/controlDC4" }, { GUINT_TO_POINTER (0x0015), "/controlNAK" }, { GUINT_TO_POINTER (0x0016), "/controlSYN" }, { GUINT_TO_POINTER (0x0017), "/controlETB" }, { GUINT_TO_POINTER (0x0018), "/controlCAN" }, { GUINT_TO_POINTER (0x0019), "/controlEM" }, { GUINT_TO_POINTER (0x001A), "/controlSUB" }, { GUINT_TO_POINTER (0x001B), "/controlESC" }, { GUINT_TO_POINTER (0x001C), "/controlFS" }, { GUINT_TO_POINTER (0x001D), "/controlGS" }, { GUINT_TO_POINTER (0x001E), "/controlRS" }, { GUINT_TO_POINTER (0x001F), "/controlUS" }, { GUINT_TO_POINTER (0x0020), "/space" }, { GUINT_TO_POINTER (0x0021), "/exclam" }, { GUINT_TO_POINTER (0x0022), "/quotedbl" }, { GUINT_TO_POINTER (0x0023), "/numbersign" }, { GUINT_TO_POINTER (0x0024), "/dollar" }, { GUINT_TO_POINTER (0x0025), "/percent" }, { GUINT_TO_POINTER (0x0026), "/ampersand" }, { GUINT_TO_POINTER (0x0027), "/quotesingle" }, { GUINT_TO_POINTER (0x0028), "/parenleft" }, { GUINT_TO_POINTER (0x0029), "/parenright" }, { GUINT_TO_POINTER (0x002A), "/asterisk" }, { GUINT_TO_POINTER (0x002B), "/plus" }, { GUINT_TO_POINTER (0x002C), "/comma" }, { GUINT_TO_POINTER (0x002D), "/hyphen" }, { GUINT_TO_POINTER (0x002E), "/period" }, { GUINT_TO_POINTER (0x002F), "/slash" }, { GUINT_TO_POINTER (0x0030), "/zero" }, { GUINT_TO_POINTER (0x0031), "/one" }, { GUINT_TO_POINTER (0x0032), "/two" }, { GUINT_TO_POINTER (0x0033), "/three" }, { GUINT_TO_POINTER (0x0034), "/four" }, { GUINT_TO_POINTER (0x0035), "/five" }, { GUINT_TO_POINTER (0x0036), "/six" }, { GUINT_TO_POINTER (0x0037), "/seven" }, { GUINT_TO_POINTER (0x0038), "/eight" }, { GUINT_TO_POINTER (0x0039), "/nine" }, { GUINT_TO_POINTER (0x003A), "/colon" }, { GUINT_TO_POINTER (0x003B), "/semicolon" }, { GUINT_TO_POINTER (0x003C), "/less" }, { GUINT_TO_POINTER (0x003D), "/equal" }, { GUINT_TO_POINTER (0x003E), "/greater" }, { GUINT_TO_POINTER (0x003F), "/question" }, { GUINT_TO_POINTER (0x0040), "/at" }, { GUINT_TO_POINTER (0x0041), "/A" }, { GUINT_TO_POINTER (0x0042), "/B" }, { GUINT_TO_POINTER (0x0043), "/C" }, { GUINT_TO_POINTER (0x0044), "/D" }, { GUINT_TO_POINTER (0x0045), "/E" }, { GUINT_TO_POINTER (0x0046), "/F" }, { GUINT_TO_POINTER (0x0047), "/G" }, { GUINT_TO_POINTER (0x0048), "/H" }, { GUINT_TO_POINTER (0x0049), "/I" }, { GUINT_TO_POINTER (0x004A), "/J" }, { GUINT_TO_POINTER (0x004B), "/K" }, { GUINT_TO_POINTER (0x004C), "/L" }, { GUINT_TO_POINTER (0x004D), "/M" }, { GUINT_TO_POINTER (0x004E), "/N" }, { GUINT_TO_POINTER (0x004F), "/O" }, { GUINT_TO_POINTER (0x0050), "/P" }, { GUINT_TO_POINTER (0x0051), "/Q" }, { GUINT_TO_POINTER (0x0052), "/R" }, { GUINT_TO_POINTER (0x0053), "/S" }, { GUINT_TO_POINTER (0x0054), "/T" }, { GUINT_TO_POINTER (0x0055), "/U" }, { GUINT_TO_POINTER (0x0056), "/V" }, { GUINT_TO_POINTER (0x0057), "/W" }, { GUINT_TO_POINTER (0x0058), "/X" }, { GUINT_TO_POINTER (0x0059), "/Y" }, { GUINT_TO_POINTER (0x005A), "/Z" }, { GUINT_TO_POINTER (0x005B), "/bracketleft" }, { GUINT_TO_POINTER (0x005C), "/backslash" }, { GUINT_TO_POINTER (0x005D), "/bracketright" }, { GUINT_TO_POINTER (0x005E), "/asciicircum" }, { GUINT_TO_POINTER (0x005F), "/underscore" }, { GUINT_TO_POINTER (0x0060), "/grave" }, { GUINT_TO_POINTER (0x0061), "/a" }, { GUINT_TO_POINTER (0x0062), "/b" }, { GUINT_TO_POINTER (0x0063), "/c" }, { GUINT_TO_POINTER (0x0064), "/d" }, { GUINT_TO_POINTER (0x0065), "/e" }, { GUINT_TO_POINTER (0x0066), "/f" }, { GUINT_TO_POINTER (0x0067), "/g" }, { GUINT_TO_POINTER (0x0068), "/h" }, { GUINT_TO_POINTER (0x0069), "/i" }, { GUINT_TO_POINTER (0x006A), "/j" }, { GUINT_TO_POINTER (0x006B), "/k" }, { GUINT_TO_POINTER (0x006C), "/l" }, { GUINT_TO_POINTER (0x006D), "/m" }, { GUINT_TO_POINTER (0x006E), "/n" }, { GUINT_TO_POINTER (0x006F), "/o" }, { GUINT_TO_POINTER (0x0070), "/p" }, { GUINT_TO_POINTER (0x0071), "/q" }, { GUINT_TO_POINTER (0x0072), "/r" }, { GUINT_TO_POINTER (0x0073), "/s" }, { GUINT_TO_POINTER (0x0074), "/t" }, { GUINT_TO_POINTER (0x0075), "/u" }, { GUINT_TO_POINTER (0x0076), "/v" }, { GUINT_TO_POINTER (0x0077), "/w" }, { GUINT_TO_POINTER (0x0078), "/x" }, { GUINT_TO_POINTER (0x0079), "/y" }, { GUINT_TO_POINTER (0x007A), "/z" }, { GUINT_TO_POINTER (0x007B), "/braceleft" }, { GUINT_TO_POINTER (0x007C), "/bar" }, { GUINT_TO_POINTER (0x007D), "/braceright" }, { GUINT_TO_POINTER (0x007E), "/asciitilde" }, { GUINT_TO_POINTER (0x007F), "/controlDEL" }, { GUINT_TO_POINTER (0x00A0), "/nonbreakingspace" }, { GUINT_TO_POINTER (0x00A1), "/exclamdown" }, { GUINT_TO_POINTER (0x00A2), "/cent" }, { GUINT_TO_POINTER (0x00A3), "/sterling" }, { GUINT_TO_POINTER (0x00A4), "/currency" }, { GUINT_TO_POINTER (0x00A5), "/yen" }, { GUINT_TO_POINTER (0x00A6), "/brokenbar" }, { GUINT_TO_POINTER (0x00A7), "/section" }, { GUINT_TO_POINTER (0x00A8), "/dieresis" }, { GUINT_TO_POINTER (0x00A9), "/copyright" }, { GUINT_TO_POINTER (0x00AA), "/ordfeminine" }, { GUINT_TO_POINTER (0x00AB), "/guillemotleft" }, { GUINT_TO_POINTER (0x00AC), "/logicalnot" }, { GUINT_TO_POINTER (0x00AD), "/softhyphen" }, { GUINT_TO_POINTER (0x00AE), "/registered" }, { GUINT_TO_POINTER (0x00AF), "/macron" }, { GUINT_TO_POINTER (0x00B0), "/degree" }, { GUINT_TO_POINTER (0x00B1), "/plusminus" }, { GUINT_TO_POINTER (0x00B2), "/twosuperior" }, { GUINT_TO_POINTER (0x00B3), "/threesuperior" }, { GUINT_TO_POINTER (0x00B4), "/acute" }, { GUINT_TO_POINTER (0x00B5), "/mu" }, { GUINT_TO_POINTER (0x00B6), "/paragraph" }, { GUINT_TO_POINTER (0x00B7), "/periodcentered" }, { GUINT_TO_POINTER (0x00B8), "/cedilla" }, { GUINT_TO_POINTER (0x00B9), "/onesuperior" }, { GUINT_TO_POINTER (0x00BA), "/ordmasculine" }, { GUINT_TO_POINTER (0x00BB), "/guillemotright" }, { GUINT_TO_POINTER (0x00BC), "/onequarter" }, { GUINT_TO_POINTER (0x00BD), "/onehalf" }, { GUINT_TO_POINTER (0x00BE), "/threequarters" }, { GUINT_TO_POINTER (0x00BF), "/questiondown" }, { GUINT_TO_POINTER (0x00C0), "/Agrave" }, { GUINT_TO_POINTER (0x00C1), "/Aacute" }, { GUINT_TO_POINTER (0x00C2), "/Acircumflex" }, { GUINT_TO_POINTER (0x00C3), "/Atilde" }, { GUINT_TO_POINTER (0x00C4), "/Adieresis" }, { GUINT_TO_POINTER (0x00C5), "/Aring" }, { GUINT_TO_POINTER (0x00C6), "/AE" }, { GUINT_TO_POINTER (0x00C7), "/Ccedilla" }, { GUINT_TO_POINTER (0x00C8), "/Egrave" }, { GUINT_TO_POINTER (0x00C9), "/Eacute" }, { GUINT_TO_POINTER (0x00CA), "/Ecircumflex" }, { GUINT_TO_POINTER (0x00CB), "/Edieresis" }, { GUINT_TO_POINTER (0x00CC), "/Igrave" }, { GUINT_TO_POINTER (0x00CD), "/Iacute" }, { GUINT_TO_POINTER (0x00CE), "/Icircumflex" }, { GUINT_TO_POINTER (0x00CF), "/Idieresis" }, { GUINT_TO_POINTER (0x00D0), "/Eth" }, { GUINT_TO_POINTER (0x00D1), "/Ntilde" }, { GUINT_TO_POINTER (0x00D2), "/Ograve" }, { GUINT_TO_POINTER (0x00D3), "/Oacute" }, { GUINT_TO_POINTER (0x00D4), "/Ocircumflex" }, { GUINT_TO_POINTER (0x00D5), "/Otilde" }, { GUINT_TO_POINTER (0x00D6), "/Odieresis" }, { GUINT_TO_POINTER (0x00D7), "/multiply" }, { GUINT_TO_POINTER (0x00D8), "/Oslash" }, { GUINT_TO_POINTER (0x00D9), "/Ugrave" }, { GUINT_TO_POINTER (0x00DA), "/Uacute" }, { GUINT_TO_POINTER (0x00DB), "/Ucircumflex" }, { GUINT_TO_POINTER (0x00DC), "/Udieresis" }, { GUINT_TO_POINTER (0x00DD), "/Yacute" }, { GUINT_TO_POINTER (0x00DE), "/Thorn" }, { GUINT_TO_POINTER (0x00DF), "/germandbls" }, { GUINT_TO_POINTER (0x00E0), "/agrave" }, { GUINT_TO_POINTER (0x00E1), "/aacute" }, { GUINT_TO_POINTER (0x00E2), "/acircumflex" }, { GUINT_TO_POINTER (0x00E3), "/atilde" }, { GUINT_TO_POINTER (0x00E4), "/adieresis" }, { GUINT_TO_POINTER (0x00E5), "/aring" }, { GUINT_TO_POINTER (0x00E6), "/ae" }, { GUINT_TO_POINTER (0x00E7), "/ccedilla" }, { GUINT_TO_POINTER (0x00E8), "/egrave" }, { GUINT_TO_POINTER (0x00E9), "/eacute" }, { GUINT_TO_POINTER (0x00EA), "/ecircumflex" }, { GUINT_TO_POINTER (0x00EB), "/edieresis" }, { GUINT_TO_POINTER (0x00EC), "/igrave" }, { GUINT_TO_POINTER (0x00ED), "/iacute" }, { GUINT_TO_POINTER (0x00EE), "/icircumflex" }, { GUINT_TO_POINTER (0x00EF), "/idieresis" }, { GUINT_TO_POINTER (0x00F0), "/eth" }, { GUINT_TO_POINTER (0x00F1), "/ntilde" }, { GUINT_TO_POINTER (0x00F2), "/ograve" }, { GUINT_TO_POINTER (0x00F3), "/oacute" }, { GUINT_TO_POINTER (0x00F4), "/ocircumflex" }, { GUINT_TO_POINTER (0x00F5), "/otilde" }, { GUINT_TO_POINTER (0x00F6), "/odieresis" }, { GUINT_TO_POINTER (0x00F7), "/divide" }, { GUINT_TO_POINTER (0x00F8), "/oslash" }, { GUINT_TO_POINTER (0x00F9), "/ugrave" }, { GUINT_TO_POINTER (0x00FA), "/uacute" }, { GUINT_TO_POINTER (0x00FB), "/ucircumflex" }, { GUINT_TO_POINTER (0x00FC), "/udieresis" }, { GUINT_TO_POINTER (0x00FD), "/yacute" }, { GUINT_TO_POINTER (0x00FE), "/thorn" }, { GUINT_TO_POINTER (0x00FF), "/ydieresis" }, { GUINT_TO_POINTER (0x0100), "/Amacron" }, { GUINT_TO_POINTER (0x0101), "/amacron" }, { GUINT_TO_POINTER (0x0102), "/Abreve" }, { GUINT_TO_POINTER (0x0103), "/abreve" }, { GUINT_TO_POINTER (0x0104), "/Aogonek" }, { GUINT_TO_POINTER (0x0105), "/aogonek" }, { GUINT_TO_POINTER (0x0106), "/Cacute" }, { GUINT_TO_POINTER (0x0107), "/cacute" }, { GUINT_TO_POINTER (0x0108), "/Ccircumflex" }, { GUINT_TO_POINTER (0x0109), "/ccircumflex" }, { GUINT_TO_POINTER (0x010A), "/Cdotaccent" }, { GUINT_TO_POINTER (0x010B), "/cdotaccent" }, { GUINT_TO_POINTER (0x010C), "/Ccaron" }, { GUINT_TO_POINTER (0x010D), "/ccaron" }, { GUINT_TO_POINTER (0x010E), "/Dcaron" }, { GUINT_TO_POINTER (0x010F), "/dcaron" }, { GUINT_TO_POINTER (0x0110), "/Dcroat" }, { GUINT_TO_POINTER (0x0111), "/dcroat" }, { GUINT_TO_POINTER (0x0112), "/Emacron" }, { GUINT_TO_POINTER (0x0113), "/emacron" }, { GUINT_TO_POINTER (0x0114), "/Ebreve" }, { GUINT_TO_POINTER (0x0115), "/ebreve" }, { GUINT_TO_POINTER (0x0116), "/Edotaccent" }, { GUINT_TO_POINTER (0x0117), "/edotaccent" }, { GUINT_TO_POINTER (0x0118), "/Eogonek" }, { GUINT_TO_POINTER (0x0119), "/eogonek" }, { GUINT_TO_POINTER (0x011A), "/Ecaron" }, { GUINT_TO_POINTER (0x011B), "/ecaron" }, { GUINT_TO_POINTER (0x011C), "/Gcircumflex" }, { GUINT_TO_POINTER (0x011D), "/gcircumflex" }, { GUINT_TO_POINTER (0x011E), "/Gbreve" }, { GUINT_TO_POINTER (0x011F), "/gbreve" }, { GUINT_TO_POINTER (0x0120), "/Gdotaccent" }, { GUINT_TO_POINTER (0x0121), "/gdotaccent" }, { GUINT_TO_POINTER (0x0122), "/Gcommaaccent" }, { GUINT_TO_POINTER (0x0123), "/gcommaaccent" }, { GUINT_TO_POINTER (0x0124), "/Hcircumflex" }, { GUINT_TO_POINTER (0x0125), "/hcircumflex" }, { GUINT_TO_POINTER (0x0126), "/Hbar" }, { GUINT_TO_POINTER (0x0127), "/hbar" }, { GUINT_TO_POINTER (0x0128), "/Itilde" }, { GUINT_TO_POINTER (0x0129), "/itilde" }, { GUINT_TO_POINTER (0x012A), "/Imacron" }, { GUINT_TO_POINTER (0x012B), "/imacron" }, { GUINT_TO_POINTER (0x012C), "/Ibreve" }, { GUINT_TO_POINTER (0x012D), "/ibreve" }, { GUINT_TO_POINTER (0x012E), "/Iogonek" }, { GUINT_TO_POINTER (0x012F), "/iogonek" }, { GUINT_TO_POINTER (0x0130), "/Idotaccent" }, { GUINT_TO_POINTER (0x0131), "/dotlessi" }, { GUINT_TO_POINTER (0x0132), "/IJ" }, { GUINT_TO_POINTER (0x0133), "/ij" }, { GUINT_TO_POINTER (0x0134), "/Jcircumflex" }, { GUINT_TO_POINTER (0x0135), "/jcircumflex" }, { GUINT_TO_POINTER (0x0136), "/Kcommaaccent" }, { GUINT_TO_POINTER (0x0137), "/kcommaaccent" }, { GUINT_TO_POINTER (0x0138), "/kgreenlandic" }, { GUINT_TO_POINTER (0x0139), "/Lacute" }, { GUINT_TO_POINTER (0x013A), "/lacute" }, { GUINT_TO_POINTER (0x013B), "/Lcommaaccent" }, { GUINT_TO_POINTER (0x013C), "/lcommaaccent" }, { GUINT_TO_POINTER (0x013D), "/Lcaron" }, { GUINT_TO_POINTER (0x013E), "/lcaron" }, { GUINT_TO_POINTER (0x013F), "/Ldot" }, { GUINT_TO_POINTER (0x0140), "/ldot" }, { GUINT_TO_POINTER (0x0141), "/Lslash" }, { GUINT_TO_POINTER (0x0142), "/lslash" }, { GUINT_TO_POINTER (0x0143), "/Nacute" }, { GUINT_TO_POINTER (0x0144), "/nacute" }, { GUINT_TO_POINTER (0x0145), "/Ncommaaccent" }, { GUINT_TO_POINTER (0x0146), "/ncommaaccent" }, { GUINT_TO_POINTER (0x0147), "/Ncaron" }, { GUINT_TO_POINTER (0x0148), "/ncaron" }, { GUINT_TO_POINTER (0x0149), "/napostrophe" }, { GUINT_TO_POINTER (0x014A), "/Eng" }, { GUINT_TO_POINTER (0x014B), "/eng" }, { GUINT_TO_POINTER (0x014C), "/Omacron" }, { GUINT_TO_POINTER (0x014D), "/omacron" }, { GUINT_TO_POINTER (0x014E), "/Obreve" }, { GUINT_TO_POINTER (0x014F), "/obreve" }, { GUINT_TO_POINTER (0x0150), "/Ohungarumlaut" }, { GUINT_TO_POINTER (0x0151), "/ohungarumlaut" }, { GUINT_TO_POINTER (0x0152), "/OE" }, { GUINT_TO_POINTER (0x0153), "/oe" }, { GUINT_TO_POINTER (0x0154), "/Racute" }, { GUINT_TO_POINTER (0x0155), "/racute" }, { GUINT_TO_POINTER (0x0156), "/Rcommaaccent" }, { GUINT_TO_POINTER (0x0157), "/rcommaaccent" }, { GUINT_TO_POINTER (0x0158), "/Rcaron" }, { GUINT_TO_POINTER (0x0159), "/rcaron" }, { GUINT_TO_POINTER (0x015A), "/Sacute" }, { GUINT_TO_POINTER (0x015B), "/sacute" }, { GUINT_TO_POINTER (0x015C), "/Scircumflex" }, { GUINT_TO_POINTER (0x015D), "/scircumflex" }, { GUINT_TO_POINTER (0x015E), "/Scedilla" }, { GUINT_TO_POINTER (0x015F), "/scedilla" }, { GUINT_TO_POINTER (0x0160), "/Scaron" }, { GUINT_TO_POINTER (0x0161), "/scaron" }, { GUINT_TO_POINTER (0x0162), "/Tcommaaccent" }, { GUINT_TO_POINTER (0x0163), "/tcommaaccent" }, { GUINT_TO_POINTER (0x0164), "/Tcaron" }, { GUINT_TO_POINTER (0x0165), "/tcaron" }, { GUINT_TO_POINTER (0x0166), "/Tbar" }, { GUINT_TO_POINTER (0x0167), "/tbar" }, { GUINT_TO_POINTER (0x0168), "/Utilde" }, { GUINT_TO_POINTER (0x0169), "/utilde" }, { GUINT_TO_POINTER (0x016A), "/Umacron" }, { GUINT_TO_POINTER (0x016B), "/umacron" }, { GUINT_TO_POINTER (0x016C), "/Ubreve" }, { GUINT_TO_POINTER (0x016D), "/ubreve" }, { GUINT_TO_POINTER (0x016E), "/Uring" }, { GUINT_TO_POINTER (0x016F), "/uring" }, { GUINT_TO_POINTER (0x0170), "/Uhungarumlaut" }, { GUINT_TO_POINTER (0x0171), "/uhungarumlaut" }, { GUINT_TO_POINTER (0x0172), "/Uogonek" }, { GUINT_TO_POINTER (0x0173), "/uogonek" }, { GUINT_TO_POINTER (0x0174), "/Wcircumflex" }, { GUINT_TO_POINTER (0x0175), "/wcircumflex" }, { GUINT_TO_POINTER (0x0176), "/Ycircumflex" }, { GUINT_TO_POINTER (0x0177), "/ycircumflex" }, { GUINT_TO_POINTER (0x0178), "/Ydieresis" }, { GUINT_TO_POINTER (0x0179), "/Zacute" }, { GUINT_TO_POINTER (0x017A), "/zacute" }, { GUINT_TO_POINTER (0x017B), "/Zdotaccent" }, { GUINT_TO_POINTER (0x017C), "/zdotaccent" }, { GUINT_TO_POINTER (0x017D), "/Zcaron" }, { GUINT_TO_POINTER (0x017E), "/zcaron" }, { GUINT_TO_POINTER (0x017F), "/longs" }, { GUINT_TO_POINTER (0x0180), "/bstroke" }, { GUINT_TO_POINTER (0x0181), "/Bhook" }, { GUINT_TO_POINTER (0x0182), "/Btopbar" }, { GUINT_TO_POINTER (0x0183), "/btopbar" }, { GUINT_TO_POINTER (0x0184), "/Tonesix" }, { GUINT_TO_POINTER (0x0185), "/tonesix" }, { GUINT_TO_POINTER (0x0186), "/Oopen" }, { GUINT_TO_POINTER (0x0187), "/Chook" }, { GUINT_TO_POINTER (0x0188), "/chook" }, { GUINT_TO_POINTER (0x0189), "/Dafrican" }, { GUINT_TO_POINTER (0x018A), "/Dhook" }, { GUINT_TO_POINTER (0x018B), "/Dtopbar" }, { GUINT_TO_POINTER (0x018C), "/dtopbar" }, { GUINT_TO_POINTER (0x018D), "/deltaturned" }, { GUINT_TO_POINTER (0x018E), "/Ereversed" }, { GUINT_TO_POINTER (0x018F), "/Schwa" }, { GUINT_TO_POINTER (0x0190), "/Eopen" }, { GUINT_TO_POINTER (0x0191), "/Fhook" }, { GUINT_TO_POINTER (0x0192), "/florin" }, { GUINT_TO_POINTER (0x0193), "/Ghook" }, { GUINT_TO_POINTER (0x0194), "/Gammaafrican" }, { GUINT_TO_POINTER (0x0195), "/hv" }, { GUINT_TO_POINTER (0x0196), "/Iotaafrican" }, { GUINT_TO_POINTER (0x0197), "/Istroke" }, { GUINT_TO_POINTER (0x0198), "/Khook" }, { GUINT_TO_POINTER (0x0199), "/khook" }, { GUINT_TO_POINTER (0x019A), "/lbar" }, { GUINT_TO_POINTER (0x019B), "/lambdastroke" }, { GUINT_TO_POINTER (0x019C), "/Mturned" }, { GUINT_TO_POINTER (0x019D), "/Nhookleft" }, { GUINT_TO_POINTER (0x019E), "/nlegrightlong" }, { GUINT_TO_POINTER (0x019F), "/Ocenteredtilde" }, { GUINT_TO_POINTER (0x01A0), "/Ohorn" }, { GUINT_TO_POINTER (0x01A1), "/ohorn" }, { GUINT_TO_POINTER (0x01A2), "/Oi" }, { GUINT_TO_POINTER (0x01A3), "/oi" }, { GUINT_TO_POINTER (0x01A4), "/Phook" }, { GUINT_TO_POINTER (0x01A5), "/phook" }, { GUINT_TO_POINTER (0x01A6), "/yr" }, { GUINT_TO_POINTER (0x01A7), "/Tonetwo" }, { GUINT_TO_POINTER (0x01A8), "/tonetwo" }, { GUINT_TO_POINTER (0x01A9), "/Esh" }, { GUINT_TO_POINTER (0x01AA), "/eshreversedloop" }, { GUINT_TO_POINTER (0x01AB), "/tpalatalhook" }, { GUINT_TO_POINTER (0x01AC), "/Thook" }, { GUINT_TO_POINTER (0x01AD), "/thook" }, { GUINT_TO_POINTER (0x01AE), "/Tretroflexhook" }, { GUINT_TO_POINTER (0x01AF), "/Uhorn" }, { GUINT_TO_POINTER (0x01B0), "/uhorn" }, { GUINT_TO_POINTER (0x01B1), "/Upsilonafrican" }, { GUINT_TO_POINTER (0x01B2), "/Vhook" }, { GUINT_TO_POINTER (0x01B3), "/Yhook" }, { GUINT_TO_POINTER (0x01B4), "/yhook" }, { GUINT_TO_POINTER (0x01B5), "/Zstroke" }, { GUINT_TO_POINTER (0x01B6), "/zstroke" }, { GUINT_TO_POINTER (0x01B7), "/Ezh" }, { GUINT_TO_POINTER (0x01B8), "/Ezhreversed" }, { GUINT_TO_POINTER (0x01B9), "/ezhreversed" }, { GUINT_TO_POINTER (0x01BA), "/ezhtail" }, { GUINT_TO_POINTER (0x01BB), "/twostroke" }, { GUINT_TO_POINTER (0x01BC), "/Tonefive" }, { GUINT_TO_POINTER (0x01BD), "/tonefive" }, { GUINT_TO_POINTER (0x01BE), "/glottalinvertedstroke" }, { GUINT_TO_POINTER (0x01BF), "/wynn" }, { GUINT_TO_POINTER (0x01C0), "/clickdental" }, { GUINT_TO_POINTER (0x01C1), "/clicklateral" }, { GUINT_TO_POINTER (0x01C2), "/clickalveolar" }, { GUINT_TO_POINTER (0x01C3), "/clickretroflex" }, { GUINT_TO_POINTER (0x01C4), "/DZcaron" }, { GUINT_TO_POINTER (0x01C5), "/Dzcaron" }, { GUINT_TO_POINTER (0x01C6), "/dzcaron" }, { GUINT_TO_POINTER (0x01C7), "/LJ" }, { GUINT_TO_POINTER (0x01C8), "/Lj" }, { GUINT_TO_POINTER (0x01C9), "/lj" }, { GUINT_TO_POINTER (0x01CA), "/NJ" }, { GUINT_TO_POINTER (0x01CB), "/Nj" }, { GUINT_TO_POINTER (0x01CC), "/nj" }, { GUINT_TO_POINTER (0x01CD), "/Acaron" }, { GUINT_TO_POINTER (0x01CE), "/acaron" }, { GUINT_TO_POINTER (0x01CF), "/Icaron" }, { GUINT_TO_POINTER (0x01D0), "/icaron" }, { GUINT_TO_POINTER (0x01D1), "/Ocaron" }, { GUINT_TO_POINTER (0x01D2), "/ocaron" }, { GUINT_TO_POINTER (0x01D3), "/Ucaron" }, { GUINT_TO_POINTER (0x01D4), "/ucaron" }, { GUINT_TO_POINTER (0x01D5), "/Udieresismacron" }, { GUINT_TO_POINTER (0x01D6), "/udieresismacron" }, { GUINT_TO_POINTER (0x01D7), "/Udieresisacute" }, { GUINT_TO_POINTER (0x01D8), "/udieresisacute" }, { GUINT_TO_POINTER (0x01D9), "/Udieresiscaron" }, { GUINT_TO_POINTER (0x01DA), "/udieresiscaron" }, { GUINT_TO_POINTER (0x01DB), "/Udieresisgrave" }, { GUINT_TO_POINTER (0x01DC), "/udieresisgrave" }, { GUINT_TO_POINTER (0x01DD), "/eturned" }, { GUINT_TO_POINTER (0x01DE), "/Adieresismacron" }, { GUINT_TO_POINTER (0x01DF), "/adieresismacron" }, { GUINT_TO_POINTER (0x01E0), "/Adotmacron" }, { GUINT_TO_POINTER (0x01E1), "/adotmacron" }, { GUINT_TO_POINTER (0x01E2), "/AEmacron" }, { GUINT_TO_POINTER (0x01E3), "/aemacron" }, { GUINT_TO_POINTER (0x01E4), "/Gstroke" }, { GUINT_TO_POINTER (0x01E5), "/gstroke" }, { GUINT_TO_POINTER (0x01E6), "/Gcaron" }, { GUINT_TO_POINTER (0x01E7), "/gcaron" }, { GUINT_TO_POINTER (0x01E8), "/Kcaron" }, { GUINT_TO_POINTER (0x01E9), "/kcaron" }, { GUINT_TO_POINTER (0x01EA), "/Oogonek" }, { GUINT_TO_POINTER (0x01EB), "/oogonek" }, { GUINT_TO_POINTER (0x01EC), "/Oogonekmacron" }, { GUINT_TO_POINTER (0x01ED), "/oogonekmacron" }, { GUINT_TO_POINTER (0x01EE), "/Ezhcaron" }, { GUINT_TO_POINTER (0x01EF), "/ezhcaron" }, { GUINT_TO_POINTER (0x01F0), "/jcaron" }, { GUINT_TO_POINTER (0x01F1), "/DZ" }, { GUINT_TO_POINTER (0x01F2), "/Dz" }, { GUINT_TO_POINTER (0x01F3), "/dz" }, { GUINT_TO_POINTER (0x01F4), "/Gacute" }, { GUINT_TO_POINTER (0x01F5), "/gacute" }, { GUINT_TO_POINTER (0x01FA), "/Aringacute" }, { GUINT_TO_POINTER (0x01FB), "/aringacute" }, { GUINT_TO_POINTER (0x01FC), "/AEacute" }, { GUINT_TO_POINTER (0x01FD), "/aeacute" }, { GUINT_TO_POINTER (0x01FE), "/Oslashacute" }, { GUINT_TO_POINTER (0x01FF), "/oslashacute" }, { GUINT_TO_POINTER (0x0200), "/Adblgrave" }, { GUINT_TO_POINTER (0x0201), "/adblgrave" }, { GUINT_TO_POINTER (0x0202), "/Ainvertedbreve" }, { GUINT_TO_POINTER (0x0203), "/ainvertedbreve" }, { GUINT_TO_POINTER (0x0204), "/Edblgrave" }, { GUINT_TO_POINTER (0x0205), "/edblgrave" }, { GUINT_TO_POINTER (0x0206), "/Einvertedbreve" }, { GUINT_TO_POINTER (0x0207), "/einvertedbreve" }, { GUINT_TO_POINTER (0x0208), "/Idblgrave" }, { GUINT_TO_POINTER (0x0209), "/idblgrave" }, { GUINT_TO_POINTER (0x020A), "/Iinvertedbreve" }, { GUINT_TO_POINTER (0x020B), "/iinvertedbreve" }, { GUINT_TO_POINTER (0x020C), "/Odblgrave" }, { GUINT_TO_POINTER (0x020D), "/odblgrave" }, { GUINT_TO_POINTER (0x020E), "/Oinvertedbreve" }, { GUINT_TO_POINTER (0x020F), "/oinvertedbreve" }, { GUINT_TO_POINTER (0x0210), "/Rdblgrave" }, { GUINT_TO_POINTER (0x0211), "/rdblgrave" }, { GUINT_TO_POINTER (0x0212), "/Rinvertedbreve" }, { GUINT_TO_POINTER (0x0213), "/rinvertedbreve" }, { GUINT_TO_POINTER (0x0214), "/Udblgrave" }, { GUINT_TO_POINTER (0x0215), "/udblgrave" }, { GUINT_TO_POINTER (0x0216), "/Uinvertedbreve" }, { GUINT_TO_POINTER (0x0217), "/uinvertedbreve" }, { GUINT_TO_POINTER (0x0218), "/Scommaaccent" }, { GUINT_TO_POINTER (0x0219), "/scommaaccent" }, { GUINT_TO_POINTER (0x0250), "/aturned" }, { GUINT_TO_POINTER (0x0251), "/ascript" }, { GUINT_TO_POINTER (0x0252), "/ascriptturned" }, { GUINT_TO_POINTER (0x0253), "/bhook" }, { GUINT_TO_POINTER (0x0254), "/oopen" }, { GUINT_TO_POINTER (0x0255), "/ccurl" }, { GUINT_TO_POINTER (0x0256), "/dtail" }, { GUINT_TO_POINTER (0x0257), "/dhook" }, { GUINT_TO_POINTER (0x0258), "/ereversed" }, { GUINT_TO_POINTER (0x0259), "/schwa" }, { GUINT_TO_POINTER (0x025A), "/schwahook" }, { GUINT_TO_POINTER (0x025B), "/eopen" }, { GUINT_TO_POINTER (0x025C), "/eopenreversed" }, { GUINT_TO_POINTER (0x025D), "/eopenreversedhook" }, { GUINT_TO_POINTER (0x025E), "/eopenreversedclosed" }, { GUINT_TO_POINTER (0x025F), "/jdotlessstroke" }, { GUINT_TO_POINTER (0x0260), "/ghook" }, { GUINT_TO_POINTER (0x0261), "/gscript" }, { GUINT_TO_POINTER (0x0263), "/gammalatinsmall" }, { GUINT_TO_POINTER (0x0264), "/ramshorn" }, { GUINT_TO_POINTER (0x0265), "/hturned" }, { GUINT_TO_POINTER (0x0266), "/hhook" }, { GUINT_TO_POINTER (0x0267), "/henghook" }, { GUINT_TO_POINTER (0x0268), "/istroke" }, { GUINT_TO_POINTER (0x0269), "/iotalatin" }, { GUINT_TO_POINTER (0x026B), "/lmiddletilde" }, { GUINT_TO_POINTER (0x026C), "/lbelt" }, { GUINT_TO_POINTER (0x026D), "/lhookretroflex" }, { GUINT_TO_POINTER (0x026E), "/lezh" }, { GUINT_TO_POINTER (0x026F), "/mturned" }, { GUINT_TO_POINTER (0x0270), "/mlonglegturned" }, { GUINT_TO_POINTER (0x0271), "/mhook" }, { GUINT_TO_POINTER (0x0272), "/nhookleft" }, { GUINT_TO_POINTER (0x0273), "/nhookretroflex" }, { GUINT_TO_POINTER (0x0275), "/obarred" }, { GUINT_TO_POINTER (0x0277), "/omegalatinclosed" }, { GUINT_TO_POINTER (0x0278), "/philatin" }, { GUINT_TO_POINTER (0x0279), "/rturned" }, { GUINT_TO_POINTER (0x027A), "/rlonglegturned" }, { GUINT_TO_POINTER (0x027B), "/rhookturned" }, { GUINT_TO_POINTER (0x027C), "/rlongleg" }, { GUINT_TO_POINTER (0x027D), "/rhook" }, { GUINT_TO_POINTER (0x027E), "/rfishhook" }, { GUINT_TO_POINTER (0x027F), "/rfishhookreversed" }, { GUINT_TO_POINTER (0x0281), "/Rsmallinverted" }, { GUINT_TO_POINTER (0x0282), "/shook" }, { GUINT_TO_POINTER (0x0283), "/esh" }, { GUINT_TO_POINTER (0x0284), "/dotlessjstrokehook" }, { GUINT_TO_POINTER (0x0285), "/eshsquatreversed" }, { GUINT_TO_POINTER (0x0286), "/eshcurl" }, { GUINT_TO_POINTER (0x0287), "/tturned" }, { GUINT_TO_POINTER (0x0288), "/tretroflexhook" }, { GUINT_TO_POINTER (0x0289), "/ubar" }, { GUINT_TO_POINTER (0x028A), "/upsilonlatin" }, { GUINT_TO_POINTER (0x028B), "/vhook" }, { GUINT_TO_POINTER (0x028C), "/vturned" }, { GUINT_TO_POINTER (0x028D), "/wturned" }, { GUINT_TO_POINTER (0x028E), "/yturned" }, { GUINT_TO_POINTER (0x0290), "/zretroflexhook" }, { GUINT_TO_POINTER (0x0291), "/zcurl" }, { GUINT_TO_POINTER (0x0292), "/ezh" }, { GUINT_TO_POINTER (0x0293), "/ezhcurl" }, { GUINT_TO_POINTER (0x0294), "/glottalstop" }, { GUINT_TO_POINTER (0x0295), "/glottalstopreversed" }, { GUINT_TO_POINTER (0x0296), "/glottalstopinverted" }, { GUINT_TO_POINTER (0x0297), "/cstretched" }, { GUINT_TO_POINTER (0x0298), "/bilabialclick" }, { GUINT_TO_POINTER (0x029A), "/eopenclosed" }, { GUINT_TO_POINTER (0x029B), "/Gsmallhook" }, { GUINT_TO_POINTER (0x029D), "/jcrossedtail" }, { GUINT_TO_POINTER (0x029E), "/kturned" }, { GUINT_TO_POINTER (0x02A0), "/qhook" }, { GUINT_TO_POINTER (0x02A1), "/glottalstopstroke" }, { GUINT_TO_POINTER (0x02A2), "/glottalstopstrokereversed" }, { GUINT_TO_POINTER (0x02A3), "/dzaltone" }, { GUINT_TO_POINTER (0x02A4), "/dezh" }, { GUINT_TO_POINTER (0x02A5), "/dzcurl" }, { GUINT_TO_POINTER (0x02A6), "/ts" }, { GUINT_TO_POINTER (0x02A7), "/tesh" }, { GUINT_TO_POINTER (0x02A8), "/tccurl" }, { GUINT_TO_POINTER (0x02B0), "/hsuperior" }, { GUINT_TO_POINTER (0x02B1), "/hhooksuperior" }, { GUINT_TO_POINTER (0x02B2), "/jsuperior" }, { GUINT_TO_POINTER (0x02B4), "/rturnedsuperior" }, { GUINT_TO_POINTER (0x02B5), "/rhookturnedsuperior" }, { GUINT_TO_POINTER (0x02B6), "/Rsmallinvertedsuperior" }, { GUINT_TO_POINTER (0x02B7), "/wsuperior" }, { GUINT_TO_POINTER (0x02B8), "/ysuperior" }, { GUINT_TO_POINTER (0x02B9), "/primemod" }, { GUINT_TO_POINTER (0x02BA), "/dblprimemod" }, { GUINT_TO_POINTER (0x02BB), "/commaturnedmod" }, { GUINT_TO_POINTER (0x02BC), "/afii57929" }, { GUINT_TO_POINTER (0x02BD), "/afii64937" }, { GUINT_TO_POINTER (0x02BE), "/ringhalfright" }, { GUINT_TO_POINTER (0x02BF), "/ringhalfleft" }, { GUINT_TO_POINTER (0x02C0), "/glottalstopmod" }, { GUINT_TO_POINTER (0x02C1), "/glottalstopreversedmod" }, { GUINT_TO_POINTER (0x02C2), "/arrowheadleftmod" }, { GUINT_TO_POINTER (0x02C3), "/arrowheadrightmod" }, { GUINT_TO_POINTER (0x02C4), "/arrowheadupmod" }, { GUINT_TO_POINTER (0x02C5), "/arrowheaddownmod" }, { GUINT_TO_POINTER (0x02C6), "/circumflex" }, { GUINT_TO_POINTER (0x02C7), "/caron" }, { GUINT_TO_POINTER (0x02C8), "/verticallinemod" }, { GUINT_TO_POINTER (0x02C9), "/firsttonechinese" }, { GUINT_TO_POINTER (0x02CA), "/secondtonechinese" }, { GUINT_TO_POINTER (0x02CB), "/fourthtonechinese" }, { GUINT_TO_POINTER (0x02CC), "/verticallinelowmod" }, { GUINT_TO_POINTER (0x02CD), "/macronlowmod" }, { GUINT_TO_POINTER (0x02CE), "/gravelowmod" }, { GUINT_TO_POINTER (0x02CF), "/acutelowmod" }, { GUINT_TO_POINTER (0x02D0), "/colontriangularmod" }, { GUINT_TO_POINTER (0x02D1), "/colontriangularhalfmod" }, { GUINT_TO_POINTER (0x02D2), "/ringhalfrightcentered" }, { GUINT_TO_POINTER (0x02D3), "/ringhalfleftcentered" }, { GUINT_TO_POINTER (0x02D4), "/uptackmod" }, { GUINT_TO_POINTER (0x02D5), "/downtackmod" }, { GUINT_TO_POINTER (0x02D6), "/plusmod" }, { GUINT_TO_POINTER (0x02D7), "/minusmod" }, { GUINT_TO_POINTER (0x02D8), "/breve" }, { GUINT_TO_POINTER (0x02D9), "/dotaccent" }, { GUINT_TO_POINTER (0x02DA), "/ring" }, { GUINT_TO_POINTER (0x02DB), "/ogonek" }, { GUINT_TO_POINTER (0x02DC), "/tilde" }, { GUINT_TO_POINTER (0x02DD), "/hungarumlaut" }, { GUINT_TO_POINTER (0x02DE), "/rhotichookmod" }, { GUINT_TO_POINTER (0x02E0), "/gammasuperior" }, { GUINT_TO_POINTER (0x02E3), "/xsuperior" }, { GUINT_TO_POINTER (0x02E4), "/glottalstopreversedsuperior" }, { GUINT_TO_POINTER (0x02E5), "/tonebarextrahighmod" }, { GUINT_TO_POINTER (0x02E6), "/tonebarhighmod" }, { GUINT_TO_POINTER (0x02E7), "/tonebarmidmod" }, { GUINT_TO_POINTER (0x02E8), "/tonebarlowmod" }, { GUINT_TO_POINTER (0x02E9), "/tonebarextralowmod" }, { GUINT_TO_POINTER (0x0300), "/gravecomb" }, { GUINT_TO_POINTER (0x0301), "/acutecomb" }, { GUINT_TO_POINTER (0x0302), "/circumflexcmb" }, { GUINT_TO_POINTER (0x0303), "/tildecomb" }, { GUINT_TO_POINTER (0x0304), "/macroncmb" }, { GUINT_TO_POINTER (0x0305), "/overlinecmb" }, { GUINT_TO_POINTER (0x0306), "/brevecmb" }, { GUINT_TO_POINTER (0x0307), "/dotaccentcmb" }, { GUINT_TO_POINTER (0x0308), "/dieresiscmb" }, { GUINT_TO_POINTER (0x0309), "/hookabovecomb" }, { GUINT_TO_POINTER (0x030A), "/ringcmb" }, { GUINT_TO_POINTER (0x030B), "/hungarumlautcmb" }, { GUINT_TO_POINTER (0x030C), "/caroncmb" }, { GUINT_TO_POINTER (0x030D), "/verticallineabovecmb" }, { GUINT_TO_POINTER (0x030E), "/dblverticallineabovecmb" }, { GUINT_TO_POINTER (0x030F), "/dblgravecmb" }, { GUINT_TO_POINTER (0x0310), "/candrabinducmb" }, { GUINT_TO_POINTER (0x0311), "/breveinvertedcmb" }, { GUINT_TO_POINTER (0x0312), "/commaturnedabovecmb" }, { GUINT_TO_POINTER (0x0313), "/commaabovecmb" }, { GUINT_TO_POINTER (0x0314), "/commareversedabovecmb" }, { GUINT_TO_POINTER (0x0315), "/commaaboverightcmb" }, { GUINT_TO_POINTER (0x0316), "/gravebelowcmb" }, { GUINT_TO_POINTER (0x0317), "/acutebelowcmb" }, { GUINT_TO_POINTER (0x0318), "/lefttackbelowcmb" }, { GUINT_TO_POINTER (0x0319), "/righttackbelowcmb" }, { GUINT_TO_POINTER (0x031A), "/leftangleabovecmb" }, { GUINT_TO_POINTER (0x031B), "/horncmb" }, { GUINT_TO_POINTER (0x031C), "/ringhalfleftbelowcmb" }, { GUINT_TO_POINTER (0x031D), "/uptackbelowcmb" }, { GUINT_TO_POINTER (0x031E), "/downtackbelowcmb" }, { GUINT_TO_POINTER (0x031F), "/plusbelowcmb" }, { GUINT_TO_POINTER (0x0320), "/minusbelowcmb" }, { GUINT_TO_POINTER (0x0321), "/hookpalatalizedbelowcmb" }, { GUINT_TO_POINTER (0x0322), "/hookretroflexbelowcmb" }, { GUINT_TO_POINTER (0x0323), "/dotbelowcomb" }, { GUINT_TO_POINTER (0x0324), "/dieresisbelowcmb" }, { GUINT_TO_POINTER (0x0325), "/ringbelowcmb" }, { GUINT_TO_POINTER (0x0327), "/cedillacmb" }, { GUINT_TO_POINTER (0x0328), "/ogonekcmb" }, { GUINT_TO_POINTER (0x0329), "/verticallinebelowcmb" }, { GUINT_TO_POINTER (0x032A), "/bridgebelowcmb" }, { GUINT_TO_POINTER (0x032B), "/dblarchinvertedbelowcmb" }, { GUINT_TO_POINTER (0x032C), "/caronbelowcmb" }, { GUINT_TO_POINTER (0x032D), "/circumflexbelowcmb" }, { GUINT_TO_POINTER (0x032E), "/brevebelowcmb" }, { GUINT_TO_POINTER (0x032F), "/breveinvertedbelowcmb" }, { GUINT_TO_POINTER (0x0330), "/tildebelowcmb" }, { GUINT_TO_POINTER (0x0331), "/macronbelowcmb" }, { GUINT_TO_POINTER (0x0332), "/lowlinecmb" }, { GUINT_TO_POINTER (0x0333), "/dbllowlinecmb" }, { GUINT_TO_POINTER (0x0334), "/tildeoverlaycmb" }, { GUINT_TO_POINTER (0x0335), "/strokeshortoverlaycmb" }, { GUINT_TO_POINTER (0x0336), "/strokelongoverlaycmb" }, { GUINT_TO_POINTER (0x0337), "/solidusshortoverlaycmb" }, { GUINT_TO_POINTER (0x0338), "/soliduslongoverlaycmb" }, { GUINT_TO_POINTER (0x0339), "/ringhalfrightbelowcmb" }, { GUINT_TO_POINTER (0x033A), "/bridgeinvertedbelowcmb" }, { GUINT_TO_POINTER (0x033B), "/squarebelowcmb" }, { GUINT_TO_POINTER (0x033C), "/seagullbelowcmb" }, { GUINT_TO_POINTER (0x033D), "/xabovecmb" }, { GUINT_TO_POINTER (0x033E), "/tildeverticalcmb" }, { GUINT_TO_POINTER (0x033F), "/dbloverlinecmb" }, { GUINT_TO_POINTER (0x0340), "/gravetonecmb" }, { GUINT_TO_POINTER (0x0341), "/acutetonecmb" }, { GUINT_TO_POINTER (0x0342), "/perispomenigreekcmb" }, { GUINT_TO_POINTER (0x0343), "/koroniscmb" }, { GUINT_TO_POINTER (0x0344), "/dialytikatonoscmb" }, { GUINT_TO_POINTER (0x0345), "/ypogegrammenigreekcmb" }, { GUINT_TO_POINTER (0x0360), "/tildedoublecmb" }, { GUINT_TO_POINTER (0x0361), "/breveinverteddoublecmb" }, { GUINT_TO_POINTER (0x0374), "/numeralsigngreek" }, { GUINT_TO_POINTER (0x0375), "/numeralsignlowergreek" }, { GUINT_TO_POINTER (0x037A), "/ypogegrammeni" }, { GUINT_TO_POINTER (0x037E), "/questiongreek" }, { GUINT_TO_POINTER (0x0384), "/tonos" }, { GUINT_TO_POINTER (0x0385), "/dieresistonos" }, { GUINT_TO_POINTER (0x0386), "/Alphatonos" }, { GUINT_TO_POINTER (0x0387), "/anoteleia" }, { GUINT_TO_POINTER (0x0388), "/Epsilontonos" }, { GUINT_TO_POINTER (0x0389), "/Etatonos" }, { GUINT_TO_POINTER (0x038A), "/Iotatonos" }, { GUINT_TO_POINTER (0x038C), "/Omicrontonos" }, { GUINT_TO_POINTER (0x038E), "/Upsilontonos" }, { GUINT_TO_POINTER (0x038F), "/Omegatonos" }, { GUINT_TO_POINTER (0x0390), "/iotadieresistonos" }, { GUINT_TO_POINTER (0x0391), "/Alpha" }, { GUINT_TO_POINTER (0x0392), "/Beta" }, { GUINT_TO_POINTER (0x0393), "/Gamma" }, { GUINT_TO_POINTER (0x0394), "/Deltagreek" }, { GUINT_TO_POINTER (0x0395), "/Epsilon" }, { GUINT_TO_POINTER (0x0396), "/Zeta" }, { GUINT_TO_POINTER (0x0397), "/Eta" }, { GUINT_TO_POINTER (0x0398), "/Theta" }, { GUINT_TO_POINTER (0x0399), "/Iota" }, { GUINT_TO_POINTER (0x039A), "/Kappa" }, { GUINT_TO_POINTER (0x039B), "/Lambda" }, { GUINT_TO_POINTER (0x039C), "/Mu" }, { GUINT_TO_POINTER (0x039D), "/Nu" }, { GUINT_TO_POINTER (0x039E), "/Xi" }, { GUINT_TO_POINTER (0x039F), "/Omicron" }, { GUINT_TO_POINTER (0x03A0), "/Pi" }, { GUINT_TO_POINTER (0x03A1), "/Rho" }, { GUINT_TO_POINTER (0x03A3), "/Sigma" }, { GUINT_TO_POINTER (0x03A4), "/Tau" }, { GUINT_TO_POINTER (0x03A5), "/Upsilon" }, { GUINT_TO_POINTER (0x03A6), "/Phi" }, { GUINT_TO_POINTER (0x03A7), "/Chi" }, { GUINT_TO_POINTER (0x03A8), "/Psi" }, { GUINT_TO_POINTER (0x03A9), "/Omegagreek" }, { GUINT_TO_POINTER (0x03AA), "/Iotadieresis" }, { GUINT_TO_POINTER (0x03AB), "/Upsilondieresis" }, { GUINT_TO_POINTER (0x03AC), "/alphatonos" }, { GUINT_TO_POINTER (0x03AD), "/epsilontonos" }, { GUINT_TO_POINTER (0x03AE), "/etatonos" }, { GUINT_TO_POINTER (0x03AF), "/iotatonos" }, { GUINT_TO_POINTER (0x03B0), "/upsilondieresistonos" }, { GUINT_TO_POINTER (0x03B1), "/alpha" }, { GUINT_TO_POINTER (0x03B2), "/beta" }, { GUINT_TO_POINTER (0x03B3), "/gamma" }, { GUINT_TO_POINTER (0x03B4), "/delta" }, { GUINT_TO_POINTER (0x03B5), "/epsilon" }, { GUINT_TO_POINTER (0x03B6), "/zeta" }, { GUINT_TO_POINTER (0x03B7), "/eta" }, { GUINT_TO_POINTER (0x03B8), "/theta" }, { GUINT_TO_POINTER (0x03B9), "/iota" }, { GUINT_TO_POINTER (0x03BA), "/kappa" }, { GUINT_TO_POINTER (0x03BB), "/lambda" }, { GUINT_TO_POINTER (0x03BC), "/mugreek" }, { GUINT_TO_POINTER (0x03BD), "/nu" }, { GUINT_TO_POINTER (0x03BE), "/xi" }, { GUINT_TO_POINTER (0x03BF), "/omicron" }, { GUINT_TO_POINTER (0x03C0), "/pi" }, { GUINT_TO_POINTER (0x03C1), "/rho" }, { GUINT_TO_POINTER (0x03C2), "/sigma1" }, { GUINT_TO_POINTER (0x03C3), "/sigma" }, { GUINT_TO_POINTER (0x03C4), "/tau" }, { GUINT_TO_POINTER (0x03C5), "/upsilon" }, { GUINT_TO_POINTER (0x03C6), "/phi" }, { GUINT_TO_POINTER (0x03C7), "/chi" }, { GUINT_TO_POINTER (0x03C8), "/psi" }, { GUINT_TO_POINTER (0x03C9), "/omega" }, { GUINT_TO_POINTER (0x03CA), "/iotadieresis" }, { GUINT_TO_POINTER (0x03CB), "/upsilondieresis" }, { GUINT_TO_POINTER (0x03CC), "/omicrontonos" }, { GUINT_TO_POINTER (0x03CD), "/upsilontonos" }, { GUINT_TO_POINTER (0x03CE), "/omegatonos" }, { GUINT_TO_POINTER (0x03D0), "/betasymbolgreek" }, { GUINT_TO_POINTER (0x03D1), "/theta1" }, { GUINT_TO_POINTER (0x03D2), "/Upsilon1" }, { GUINT_TO_POINTER (0x03D3), "/Upsilonacutehooksymbolgreek" }, { GUINT_TO_POINTER (0x03D4), "/Upsilondieresishooksymbolgreek" }, { GUINT_TO_POINTER (0x03D5), "/phi1" }, { GUINT_TO_POINTER (0x03D6), "/omega1" }, { GUINT_TO_POINTER (0x03DA), "/Stigmagreek" }, { GUINT_TO_POINTER (0x03DC), "/Digammagreek" }, { GUINT_TO_POINTER (0x03DE), "/Koppagreek" }, { GUINT_TO_POINTER (0x03E0), "/Sampigreek" }, { GUINT_TO_POINTER (0x03E2), "/Sheicoptic" }, { GUINT_TO_POINTER (0x03E3), "/sheicoptic" }, { GUINT_TO_POINTER (0x03E4), "/Feicoptic" }, { GUINT_TO_POINTER (0x03E5), "/feicoptic" }, { GUINT_TO_POINTER (0x03E6), "/Kheicoptic" }, { GUINT_TO_POINTER (0x03E7), "/kheicoptic" }, { GUINT_TO_POINTER (0x03E8), "/Horicoptic" }, { GUINT_TO_POINTER (0x03E9), "/horicoptic" }, { GUINT_TO_POINTER (0x03EA), "/Gangiacoptic" }, { GUINT_TO_POINTER (0x03EB), "/gangiacoptic" }, { GUINT_TO_POINTER (0x03EC), "/Shimacoptic" }, { GUINT_TO_POINTER (0x03ED), "/shimacoptic" }, { GUINT_TO_POINTER (0x03EE), "/Deicoptic" }, { GUINT_TO_POINTER (0x03EF), "/deicoptic" }, { GUINT_TO_POINTER (0x03F0), "/kappasymbolgreek" }, { GUINT_TO_POINTER (0x03F1), "/rhosymbolgreek" }, { GUINT_TO_POINTER (0x03F2), "/sigmalunatesymbolgreek" }, { GUINT_TO_POINTER (0x03F3), "/yotgreek" }, { GUINT_TO_POINTER (0x0401), "/afii10023" }, { GUINT_TO_POINTER (0x0402), "/afii10051" }, { GUINT_TO_POINTER (0x0403), "/afii10052" }, { GUINT_TO_POINTER (0x0404), "/afii10053" }, { GUINT_TO_POINTER (0x0405), "/afii10054" }, { GUINT_TO_POINTER (0x0406), "/afii10055" }, { GUINT_TO_POINTER (0x0407), "/afii10056" }, { GUINT_TO_POINTER (0x0408), "/afii10057" }, { GUINT_TO_POINTER (0x0409), "/afii10058" }, { GUINT_TO_POINTER (0x040A), "/afii10059" }, { GUINT_TO_POINTER (0x040B), "/afii10060" }, { GUINT_TO_POINTER (0x040C), "/afii10061" }, { GUINT_TO_POINTER (0x040E), "/afii10062" }, { GUINT_TO_POINTER (0x040F), "/afii10145" }, { GUINT_TO_POINTER (0x0410), "/afii10017" }, { GUINT_TO_POINTER (0x0411), "/afii10018" }, { GUINT_TO_POINTER (0x0412), "/afii10019" }, { GUINT_TO_POINTER (0x0413), "/afii10020" }, { GUINT_TO_POINTER (0x0414), "/afii10021" }, { GUINT_TO_POINTER (0x0415), "/afii10022" }, { GUINT_TO_POINTER (0x0416), "/afii10024" }, { GUINT_TO_POINTER (0x0417), "/afii10025" }, { GUINT_TO_POINTER (0x0418), "/afii10026" }, { GUINT_TO_POINTER (0x0419), "/afii10027" }, { GUINT_TO_POINTER (0x041A), "/afii10028" }, { GUINT_TO_POINTER (0x041B), "/afii10029" }, { GUINT_TO_POINTER (0x041C), "/afii10030" }, { GUINT_TO_POINTER (0x041D), "/afii10031" }, { GUINT_TO_POINTER (0x041E), "/afii10032" }, { GUINT_TO_POINTER (0x041F), "/afii10033" }, { GUINT_TO_POINTER (0x0420), "/afii10034" }, { GUINT_TO_POINTER (0x0421), "/afii10035" }, { GUINT_TO_POINTER (0x0422), "/afii10036" }, { GUINT_TO_POINTER (0x0423), "/afii10037" }, { GUINT_TO_POINTER (0x0424), "/afii10038" }, { GUINT_TO_POINTER (0x0425), "/afii10039" }, { GUINT_TO_POINTER (0x0426), "/afii10040" }, { GUINT_TO_POINTER (0x0427), "/afii10041" }, { GUINT_TO_POINTER (0x0428), "/afii10042" }, { GUINT_TO_POINTER (0x0429), "/afii10043" }, { GUINT_TO_POINTER (0x042A), "/afii10044" }, { GUINT_TO_POINTER (0x042B), "/afii10045" }, { GUINT_TO_POINTER (0x042C), "/afii10046" }, { GUINT_TO_POINTER (0x042D), "/afii10047" }, { GUINT_TO_POINTER (0x042E), "/afii10048" }, { GUINT_TO_POINTER (0x042F), "/afii10049" }, { GUINT_TO_POINTER (0x0430), "/afii10065" }, { GUINT_TO_POINTER (0x0431), "/afii10066" }, { GUINT_TO_POINTER (0x0432), "/afii10067" }, { GUINT_TO_POINTER (0x0433), "/afii10068" }, { GUINT_TO_POINTER (0x0434), "/afii10069" }, { GUINT_TO_POINTER (0x0435), "/afii10070" }, { GUINT_TO_POINTER (0x0436), "/afii10072" }, { GUINT_TO_POINTER (0x0437), "/afii10073" }, { GUINT_TO_POINTER (0x0438), "/afii10074" }, { GUINT_TO_POINTER (0x0439), "/afii10075" }, { GUINT_TO_POINTER (0x043A), "/afii10076" }, { GUINT_TO_POINTER (0x043B), "/afii10077" }, { GUINT_TO_POINTER (0x043C), "/afii10078" }, { GUINT_TO_POINTER (0x043D), "/afii10079" }, { GUINT_TO_POINTER (0x043E), "/afii10080" }, { GUINT_TO_POINTER (0x043F), "/afii10081" }, { GUINT_TO_POINTER (0x0440), "/afii10082" }, { GUINT_TO_POINTER (0x0441), "/afii10083" }, { GUINT_TO_POINTER (0x0442), "/afii10084" }, { GUINT_TO_POINTER (0x0443), "/afii10085" }, { GUINT_TO_POINTER (0x0444), "/afii10086" }, { GUINT_TO_POINTER (0x0445), "/afii10087" }, { GUINT_TO_POINTER (0x0446), "/afii10088" }, { GUINT_TO_POINTER (0x0447), "/afii10089" }, { GUINT_TO_POINTER (0x0448), "/afii10090" }, { GUINT_TO_POINTER (0x0449), "/afii10091" }, { GUINT_TO_POINTER (0x044A), "/afii10092" }, { GUINT_TO_POINTER (0x044B), "/afii10093" }, { GUINT_TO_POINTER (0x044C), "/afii10094" }, { GUINT_TO_POINTER (0x044D), "/afii10095" }, { GUINT_TO_POINTER (0x044E), "/afii10096" }, { GUINT_TO_POINTER (0x044F), "/afii10097" }, { GUINT_TO_POINTER (0x0451), "/afii10071" }, { GUINT_TO_POINTER (0x0452), "/afii10099" }, { GUINT_TO_POINTER (0x0453), "/afii10100" }, { GUINT_TO_POINTER (0x0454), "/afii10101" }, { GUINT_TO_POINTER (0x0455), "/afii10102" }, { GUINT_TO_POINTER (0x0456), "/afii10103" }, { GUINT_TO_POINTER (0x0457), "/afii10104" }, { GUINT_TO_POINTER (0x0458), "/afii10105" }, { GUINT_TO_POINTER (0x0459), "/afii10106" }, { GUINT_TO_POINTER (0x045A), "/afii10107" }, { GUINT_TO_POINTER (0x045B), "/afii10108" }, { GUINT_TO_POINTER (0x045C), "/afii10109" }, { GUINT_TO_POINTER (0x045E), "/afii10110" }, { GUINT_TO_POINTER (0x045F), "/afii10193" }, { GUINT_TO_POINTER (0x0460), "/Omegacyrillic" }, { GUINT_TO_POINTER (0x0461), "/omegacyrillic" }, { GUINT_TO_POINTER (0x0462), "/afii10146" }, { GUINT_TO_POINTER (0x0463), "/afii10194" }, { GUINT_TO_POINTER (0x0464), "/Eiotifiedcyrillic" }, { GUINT_TO_POINTER (0x0465), "/eiotifiedcyrillic" }, { GUINT_TO_POINTER (0x0466), "/Yuslittlecyrillic" }, { GUINT_TO_POINTER (0x0467), "/yuslittlecyrillic" }, { GUINT_TO_POINTER (0x0468), "/Yuslittleiotifiedcyrillic" }, { GUINT_TO_POINTER (0x0469), "/yuslittleiotifiedcyrillic" }, { GUINT_TO_POINTER (0x046A), "/Yusbigcyrillic" }, { GUINT_TO_POINTER (0x046B), "/yusbigcyrillic" }, { GUINT_TO_POINTER (0x046C), "/Yusbigiotifiedcyrillic" }, { GUINT_TO_POINTER (0x046D), "/yusbigiotifiedcyrillic" }, { GUINT_TO_POINTER (0x046E), "/Ksicyrillic" }, { GUINT_TO_POINTER (0x046F), "/ksicyrillic" }, { GUINT_TO_POINTER (0x0470), "/Psicyrillic" }, { GUINT_TO_POINTER (0x0471), "/psicyrillic" }, { GUINT_TO_POINTER (0x0472), "/afii10147" }, { GUINT_TO_POINTER (0x0473), "/afii10195" }, { GUINT_TO_POINTER (0x0474), "/afii10148" }, { GUINT_TO_POINTER (0x0475), "/afii10196" }, { GUINT_TO_POINTER (0x0476), "/Izhitsadblgravecyrillic" }, { GUINT_TO_POINTER (0x0477), "/izhitsadblgravecyrillic" }, { GUINT_TO_POINTER (0x0478), "/Ukcyrillic" }, { GUINT_TO_POINTER (0x0479), "/ukcyrillic" }, { GUINT_TO_POINTER (0x047A), "/Omegaroundcyrillic" }, { GUINT_TO_POINTER (0x047B), "/omegaroundcyrillic" }, { GUINT_TO_POINTER (0x047C), "/Omegatitlocyrillic" }, { GUINT_TO_POINTER (0x047D), "/omegatitlocyrillic" }, { GUINT_TO_POINTER (0x047E), "/Otcyrillic" }, { GUINT_TO_POINTER (0x047F), "/otcyrillic" }, { GUINT_TO_POINTER (0x0480), "/Koppacyrillic" }, { GUINT_TO_POINTER (0x0481), "/koppacyrillic" }, { GUINT_TO_POINTER (0x0482), "/thousandcyrillic" }, { GUINT_TO_POINTER (0x0483), "/titlocyrilliccmb" }, { GUINT_TO_POINTER (0x0484), "/palatalizationcyrilliccmb" }, { GUINT_TO_POINTER (0x0485), "/dasiapneumatacyrilliccmb" }, { GUINT_TO_POINTER (0x0486), "/psilipneumatacyrilliccmb" }, { GUINT_TO_POINTER (0x0490), "/afii10050" }, { GUINT_TO_POINTER (0x0491), "/afii10098" }, { GUINT_TO_POINTER (0x0492), "/Ghestrokecyrillic" }, { GUINT_TO_POINTER (0x0493), "/ghestrokecyrillic" }, { GUINT_TO_POINTER (0x0494), "/Ghemiddlehookcyrillic" }, { GUINT_TO_POINTER (0x0495), "/ghemiddlehookcyrillic" }, { GUINT_TO_POINTER (0x0496), "/Zhedescendercyrillic" }, { GUINT_TO_POINTER (0x0497), "/zhedescendercyrillic" }, { GUINT_TO_POINTER (0x0498), "/Zedescendercyrillic" }, { GUINT_TO_POINTER (0x0499), "/zedescendercyrillic" }, { GUINT_TO_POINTER (0x049A), "/Kadescendercyrillic" }, { GUINT_TO_POINTER (0x049B), "/kadescendercyrillic" }, { GUINT_TO_POINTER (0x049C), "/Kaverticalstrokecyrillic" }, { GUINT_TO_POINTER (0x049D), "/kaverticalstrokecyrillic" }, { GUINT_TO_POINTER (0x049E), "/Kastrokecyrillic" }, { GUINT_TO_POINTER (0x049F), "/kastrokecyrillic" }, { GUINT_TO_POINTER (0x04A0), "/Kabashkircyrillic" }, { GUINT_TO_POINTER (0x04A1), "/kabashkircyrillic" }, { GUINT_TO_POINTER (0x04A2), "/Endescendercyrillic" }, { GUINT_TO_POINTER (0x04A3), "/endescendercyrillic" }, { GUINT_TO_POINTER (0x04A4), "/Enghecyrillic" }, { GUINT_TO_POINTER (0x04A5), "/enghecyrillic" }, { GUINT_TO_POINTER (0x04A6), "/Pemiddlehookcyrillic" }, { GUINT_TO_POINTER (0x04A7), "/pemiddlehookcyrillic" }, { GUINT_TO_POINTER (0x04A8), "/Haabkhasiancyrillic" }, { GUINT_TO_POINTER (0x04A9), "/haabkhasiancyrillic" }, { GUINT_TO_POINTER (0x04AA), "/Esdescendercyrillic" }, { GUINT_TO_POINTER (0x04AB), "/esdescendercyrillic" }, { GUINT_TO_POINTER (0x04AC), "/Tedescendercyrillic" }, { GUINT_TO_POINTER (0x04AD), "/tedescendercyrillic" }, { GUINT_TO_POINTER (0x04AE), "/Ustraightcyrillic" }, { GUINT_TO_POINTER (0x04AF), "/ustraightcyrillic" }, { GUINT_TO_POINTER (0x04B0), "/Ustraightstrokecyrillic" }, { GUINT_TO_POINTER (0x04B1), "/ustraightstrokecyrillic" }, { GUINT_TO_POINTER (0x04B2), "/Hadescendercyrillic" }, { GUINT_TO_POINTER (0x04B3), "/hadescendercyrillic" }, { GUINT_TO_POINTER (0x04B4), "/Tetsecyrillic" }, { GUINT_TO_POINTER (0x04B5), "/tetsecyrillic" }, { GUINT_TO_POINTER (0x04B6), "/Chedescendercyrillic" }, { GUINT_TO_POINTER (0x04B7), "/chedescendercyrillic" }, { GUINT_TO_POINTER (0x04B8), "/Cheverticalstrokecyrillic" }, { GUINT_TO_POINTER (0x04B9), "/cheverticalstrokecyrillic" }, { GUINT_TO_POINTER (0x04BA), "/Shhacyrillic" }, { GUINT_TO_POINTER (0x04BB), "/shhacyrillic" }, { GUINT_TO_POINTER (0x04BC), "/Cheabkhasiancyrillic" }, { GUINT_TO_POINTER (0x04BD), "/cheabkhasiancyrillic" }, { GUINT_TO_POINTER (0x04BE), "/Chedescenderabkhasiancyrillic" }, { GUINT_TO_POINTER (0x04BF), "/chedescenderabkhasiancyrillic" }, { GUINT_TO_POINTER (0x04C0), "/palochkacyrillic" }, { GUINT_TO_POINTER (0x04C1), "/Zhebrevecyrillic" }, { GUINT_TO_POINTER (0x04C2), "/zhebrevecyrillic" }, { GUINT_TO_POINTER (0x04C3), "/Kahookcyrillic" }, { GUINT_TO_POINTER (0x04C4), "/kahookcyrillic" }, { GUINT_TO_POINTER (0x04C7), "/Enhookcyrillic" }, { GUINT_TO_POINTER (0x04C8), "/enhookcyrillic" }, { GUINT_TO_POINTER (0x04CB), "/Chekhakassiancyrillic" }, { GUINT_TO_POINTER (0x04CC), "/chekhakassiancyrillic" }, { GUINT_TO_POINTER (0x04D0), "/Abrevecyrillic" }, { GUINT_TO_POINTER (0x04D1), "/abrevecyrillic" }, { GUINT_TO_POINTER (0x04D2), "/Adieresiscyrillic" }, { GUINT_TO_POINTER (0x04D3), "/adieresiscyrillic" }, { GUINT_TO_POINTER (0x04D4), "/Aiecyrillic" }, { GUINT_TO_POINTER (0x04D5), "/aiecyrillic" }, { GUINT_TO_POINTER (0x04D6), "/Iebrevecyrillic" }, { GUINT_TO_POINTER (0x04D7), "/iebrevecyrillic" }, { GUINT_TO_POINTER (0x04D8), "/Schwacyrillic" }, { GUINT_TO_POINTER (0x04D9), "/afii10846" }, { GUINT_TO_POINTER (0x04DA), "/Schwadieresiscyrillic" }, { GUINT_TO_POINTER (0x04DB), "/schwadieresiscyrillic" }, { GUINT_TO_POINTER (0x04DC), "/Zhedieresiscyrillic" }, { GUINT_TO_POINTER (0x04DD), "/zhedieresiscyrillic" }, { GUINT_TO_POINTER (0x04DE), "/Zedieresiscyrillic" }, { GUINT_TO_POINTER (0x04DF), "/zedieresiscyrillic" }, { GUINT_TO_POINTER (0x04E0), "/Dzeabkhasiancyrillic" }, { GUINT_TO_POINTER (0x04E1), "/dzeabkhasiancyrillic" }, { GUINT_TO_POINTER (0x04E2), "/Imacroncyrillic" }, { GUINT_TO_POINTER (0x04E3), "/imacroncyrillic" }, { GUINT_TO_POINTER (0x04E4), "/Idieresiscyrillic" }, { GUINT_TO_POINTER (0x04E5), "/idieresiscyrillic" }, { GUINT_TO_POINTER (0x04E6), "/Odieresiscyrillic" }, { GUINT_TO_POINTER (0x04E7), "/odieresiscyrillic" }, { GUINT_TO_POINTER (0x04E8), "/Obarredcyrillic" }, { GUINT_TO_POINTER (0x04E9), "/obarredcyrillic" }, { GUINT_TO_POINTER (0x04EA), "/Obarreddieresiscyrillic" }, { GUINT_TO_POINTER (0x04EB), "/obarreddieresiscyrillic" }, { GUINT_TO_POINTER (0x04EE), "/Umacroncyrillic" }, { GUINT_TO_POINTER (0x04EF), "/umacroncyrillic" }, { GUINT_TO_POINTER (0x04F0), "/Udieresiscyrillic" }, { GUINT_TO_POINTER (0x04F1), "/udieresiscyrillic" }, { GUINT_TO_POINTER (0x04F2), "/Uhungarumlautcyrillic" }, { GUINT_TO_POINTER (0x04F3), "/uhungarumlautcyrillic" }, { GUINT_TO_POINTER (0x04F4), "/Chedieresiscyrillic" }, { GUINT_TO_POINTER (0x04F5), "/chedieresiscyrillic" }, { GUINT_TO_POINTER (0x04F8), "/Yerudieresiscyrillic" }, { GUINT_TO_POINTER (0x04F9), "/yerudieresiscyrillic" }, { GUINT_TO_POINTER (0x0531), "/Aybarmenian" }, { GUINT_TO_POINTER (0x0532), "/Benarmenian" }, { GUINT_TO_POINTER (0x0533), "/Gimarmenian" }, { GUINT_TO_POINTER (0x0534), "/Daarmenian" }, { GUINT_TO_POINTER (0x0535), "/Echarmenian" }, { GUINT_TO_POINTER (0x0536), "/Zaarmenian" }, { GUINT_TO_POINTER (0x0537), "/Eharmenian" }, { GUINT_TO_POINTER (0x0538), "/Etarmenian" }, { GUINT_TO_POINTER (0x0539), "/Toarmenian" }, { GUINT_TO_POINTER (0x053A), "/Zhearmenian" }, { GUINT_TO_POINTER (0x053B), "/Iniarmenian" }, { GUINT_TO_POINTER (0x053C), "/Liwnarmenian" }, { GUINT_TO_POINTER (0x053D), "/Xeharmenian" }, { GUINT_TO_POINTER (0x053E), "/Caarmenian" }, { GUINT_TO_POINTER (0x053F), "/Kenarmenian" }, { GUINT_TO_POINTER (0x0540), "/Hoarmenian" }, { GUINT_TO_POINTER (0x0541), "/Jaarmenian" }, { GUINT_TO_POINTER (0x0542), "/Ghadarmenian" }, { GUINT_TO_POINTER (0x0543), "/Cheharmenian" }, { GUINT_TO_POINTER (0x0544), "/Menarmenian" }, { GUINT_TO_POINTER (0x0545), "/Yiarmenian" }, { GUINT_TO_POINTER (0x0546), "/Nowarmenian" }, { GUINT_TO_POINTER (0x0547), "/Shaarmenian" }, { GUINT_TO_POINTER (0x0548), "/Voarmenian" }, { GUINT_TO_POINTER (0x0549), "/Chaarmenian" }, { GUINT_TO_POINTER (0x054A), "/Peharmenian" }, { GUINT_TO_POINTER (0x054B), "/Jheharmenian" }, { GUINT_TO_POINTER (0x054C), "/Raarmenian" }, { GUINT_TO_POINTER (0x054D), "/Seharmenian" }, { GUINT_TO_POINTER (0x054E), "/Vewarmenian" }, { GUINT_TO_POINTER (0x054F), "/Tiwnarmenian" }, { GUINT_TO_POINTER (0x0550), "/Reharmenian" }, { GUINT_TO_POINTER (0x0551), "/Coarmenian" }, { GUINT_TO_POINTER (0x0552), "/Yiwnarmenian" }, { GUINT_TO_POINTER (0x0553), "/Piwrarmenian" }, { GUINT_TO_POINTER (0x0554), "/Keharmenian" }, { GUINT_TO_POINTER (0x0555), "/Oharmenian" }, { GUINT_TO_POINTER (0x0556), "/Feharmenian" }, { GUINT_TO_POINTER (0x0559), "/ringhalfleftarmenian" }, { GUINT_TO_POINTER (0x055A), "/apostrophearmenian" }, { GUINT_TO_POINTER (0x055B), "/emphasismarkarmenian" }, { GUINT_TO_POINTER (0x055C), "/exclamarmenian" }, { GUINT_TO_POINTER (0x055D), "/commaarmenian" }, { GUINT_TO_POINTER (0x055E), "/questionarmenian" }, { GUINT_TO_POINTER (0x055F), "/abbreviationmarkarmenian" }, { GUINT_TO_POINTER (0x0561), "/aybarmenian" }, { GUINT_TO_POINTER (0x0562), "/benarmenian" }, { GUINT_TO_POINTER (0x0563), "/gimarmenian" }, { GUINT_TO_POINTER (0x0564), "/daarmenian" }, { GUINT_TO_POINTER (0x0565), "/echarmenian" }, { GUINT_TO_POINTER (0x0566), "/zaarmenian" }, { GUINT_TO_POINTER (0x0567), "/eharmenian" }, { GUINT_TO_POINTER (0x0568), "/etarmenian" }, { GUINT_TO_POINTER (0x0569), "/toarmenian" }, { GUINT_TO_POINTER (0x056A), "/zhearmenian" }, { GUINT_TO_POINTER (0x056B), "/iniarmenian" }, { GUINT_TO_POINTER (0x056C), "/liwnarmenian" }, { GUINT_TO_POINTER (0x056D), "/xeharmenian" }, { GUINT_TO_POINTER (0x056E), "/caarmenian" }, { GUINT_TO_POINTER (0x056F), "/kenarmenian" }, { GUINT_TO_POINTER (0x0570), "/hoarmenian" }, { GUINT_TO_POINTER (0x0571), "/jaarmenian" }, { GUINT_TO_POINTER (0x0572), "/ghadarmenian" }, { GUINT_TO_POINTER (0x0573), "/cheharmenian" }, { GUINT_TO_POINTER (0x0574), "/menarmenian" }, { GUINT_TO_POINTER (0x0575), "/yiarmenian" }, { GUINT_TO_POINTER (0x0576), "/nowarmenian" }, { GUINT_TO_POINTER (0x0577), "/shaarmenian" }, { GUINT_TO_POINTER (0x0578), "/voarmenian" }, { GUINT_TO_POINTER (0x0579), "/chaarmenian" }, { GUINT_TO_POINTER (0x057A), "/peharmenian" }, { GUINT_TO_POINTER (0x057B), "/jheharmenian" }, { GUINT_TO_POINTER (0x057C), "/raarmenian" }, { GUINT_TO_POINTER (0x057D), "/seharmenian" }, { GUINT_TO_POINTER (0x057E), "/vewarmenian" }, { GUINT_TO_POINTER (0x057F), "/tiwnarmenian" }, { GUINT_TO_POINTER (0x0580), "/reharmenian" }, { GUINT_TO_POINTER (0x0581), "/coarmenian" }, { GUINT_TO_POINTER (0x0582), "/yiwnarmenian" }, { GUINT_TO_POINTER (0x0583), "/piwrarmenian" }, { GUINT_TO_POINTER (0x0584), "/keharmenian" }, { GUINT_TO_POINTER (0x0585), "/oharmenian" }, { GUINT_TO_POINTER (0x0586), "/feharmenian" }, { GUINT_TO_POINTER (0x0587), "/echyiwnarmenian" }, { GUINT_TO_POINTER (0x0589), "/periodarmenian" }, { GUINT_TO_POINTER (0x0591), "/etnahtahebrew" }, { GUINT_TO_POINTER (0x0592), "/segoltahebrew" }, { GUINT_TO_POINTER (0x0593), "/shalshelethebrew" }, { GUINT_TO_POINTER (0x0594), "/zaqefqatanhebrew" }, { GUINT_TO_POINTER (0x0595), "/zaqefgadolhebrew" }, { GUINT_TO_POINTER (0x0596), "/tipehahebrew" }, { GUINT_TO_POINTER (0x0597), "/reviahebrew" }, { GUINT_TO_POINTER (0x0598), "/zarqahebrew" }, { GUINT_TO_POINTER (0x0599), "/pashtahebrew" }, { GUINT_TO_POINTER (0x059A), "/yetivhebrew" }, { GUINT_TO_POINTER (0x059B), "/tevirhebrew" }, { GUINT_TO_POINTER (0x059C), "/gereshaccenthebrew" }, { GUINT_TO_POINTER (0x059D), "/gereshmuqdamhebrew" }, { GUINT_TO_POINTER (0x059E), "/gershayimaccenthebrew" }, { GUINT_TO_POINTER (0x059F), "/qarneyparahebrew" }, { GUINT_TO_POINTER (0x05A0), "/telishagedolahebrew" }, { GUINT_TO_POINTER (0x05A1), "/pazerhebrew" }, { GUINT_TO_POINTER (0x05A3), "/munahhebrew" }, { GUINT_TO_POINTER (0x05A4), "/mahapakhhebrew" }, { GUINT_TO_POINTER (0x05A5), "/merkhahebrew" }, { GUINT_TO_POINTER (0x05A6), "/merkhakefulahebrew" }, { GUINT_TO_POINTER (0x05A7), "/dargahebrew" }, { GUINT_TO_POINTER (0x05A8), "/qadmahebrew" }, { GUINT_TO_POINTER (0x05A9), "/telishaqetanahebrew" }, { GUINT_TO_POINTER (0x05AA), "/yerahbenyomohebrew" }, { GUINT_TO_POINTER (0x05AB), "/olehebrew" }, { GUINT_TO_POINTER (0x05AC), "/iluyhebrew" }, { GUINT_TO_POINTER (0x05AD), "/dehihebrew" }, { GUINT_TO_POINTER (0x05AE), "/zinorhebrew" }, { GUINT_TO_POINTER (0x05AF), "/masoracirclehebrew" }, { GUINT_TO_POINTER (0x05B0), "/afii57799" }, { GUINT_TO_POINTER (0x05B1), "/afii57801" }, { GUINT_TO_POINTER (0x05B2), "/afii57800" }, { GUINT_TO_POINTER (0x05B3), "/afii57802" }, { GUINT_TO_POINTER (0x05B4), "/afii57793" }, { GUINT_TO_POINTER (0x05B5), "/afii57794" }, { GUINT_TO_POINTER (0x05B6), "/afii57795" }, { GUINT_TO_POINTER (0x05B7), "/afii57798" }, { GUINT_TO_POINTER (0x05B8), "/afii57797" }, { GUINT_TO_POINTER (0x05B9), "/afii57806" }, { GUINT_TO_POINTER (0x05BB), "/afii57796" }, { GUINT_TO_POINTER (0x05BC), "/afii57807" }, { GUINT_TO_POINTER (0x05BD), "/afii57839" }, { GUINT_TO_POINTER (0x05BE), "/afii57645" }, { GUINT_TO_POINTER (0x05BF), "/afii57841" }, { GUINT_TO_POINTER (0x05C0), "/afii57842" }, { GUINT_TO_POINTER (0x05C1), "/afii57804" }, { GUINT_TO_POINTER (0x05C2), "/afii57803" }, { GUINT_TO_POINTER (0x05C3), "/afii57658" }, { GUINT_TO_POINTER (0x05C4), "/upperdothebrew" }, { GUINT_TO_POINTER (0x05D0), "/afii57664" }, { GUINT_TO_POINTER (0x05D1), "/afii57665" }, { GUINT_TO_POINTER (0x05D2), "/afii57666" }, { GUINT_TO_POINTER (0x05D3), "/afii57667" }, { GUINT_TO_POINTER (0x05D4), "/afii57668" }, { GUINT_TO_POINTER (0x05D5), "/afii57669" }, { GUINT_TO_POINTER (0x05D6), "/afii57670" }, { GUINT_TO_POINTER (0x05D7), "/afii57671" }, { GUINT_TO_POINTER (0x05D8), "/afii57672" }, { GUINT_TO_POINTER (0x05D9), "/afii57673" }, { GUINT_TO_POINTER (0x05DA), "/afii57674" }, { GUINT_TO_POINTER (0x05DB), "/afii57675" }, { GUINT_TO_POINTER (0x05DC), "/afii57676" }, { GUINT_TO_POINTER (0x05DD), "/afii57677" }, { GUINT_TO_POINTER (0x05DE), "/afii57678" }, { GUINT_TO_POINTER (0x05DF), "/afii57679" }, { GUINT_TO_POINTER (0x05E0), "/afii57680" }, { GUINT_TO_POINTER (0x05E1), "/afii57681" }, { GUINT_TO_POINTER (0x05E2), "/afii57682" }, { GUINT_TO_POINTER (0x05E3), "/afii57683" }, { GUINT_TO_POINTER (0x05E4), "/afii57684" }, { GUINT_TO_POINTER (0x05E5), "/afii57685" }, { GUINT_TO_POINTER (0x05E6), "/afii57686" }, { GUINT_TO_POINTER (0x05E7), "/afii57687" }, { GUINT_TO_POINTER (0x05E8), "/afii57688" }, { GUINT_TO_POINTER (0x05E9), "/afii57689" }, { GUINT_TO_POINTER (0x05EA), "/afii57690" }, { GUINT_TO_POINTER (0x05F0), "/afii57716" }, { GUINT_TO_POINTER (0x05F1), "/afii57717" }, { GUINT_TO_POINTER (0x05F2), "/afii57718" }, { GUINT_TO_POINTER (0x05F3), "/gereshhebrew" }, { GUINT_TO_POINTER (0x05F4), "/gershayimhebrew" }, { GUINT_TO_POINTER (0x060C), "/afii57388" }, { GUINT_TO_POINTER (0x061B), "/afii57403" }, { GUINT_TO_POINTER (0x061F), "/afii57407" }, { GUINT_TO_POINTER (0x0621), "/afii57409" }, { GUINT_TO_POINTER (0x0622), "/afii57410" }, { GUINT_TO_POINTER (0x0623), "/afii57411" }, { GUINT_TO_POINTER (0x0624), "/afii57412" }, { GUINT_TO_POINTER (0x0625), "/afii57413" }, { GUINT_TO_POINTER (0x0626), "/afii57414" }, { GUINT_TO_POINTER (0x0627), "/afii57415" }, { GUINT_TO_POINTER (0x0628), "/afii57416" }, { GUINT_TO_POINTER (0x0629), "/afii57417" }, { GUINT_TO_POINTER (0x062A), "/afii57418" }, { GUINT_TO_POINTER (0x062B), "/afii57419" }, { GUINT_TO_POINTER (0x062C), "/afii57420" }, { GUINT_TO_POINTER (0x062D), "/afii57421" }, { GUINT_TO_POINTER (0x062E), "/afii57422" }, { GUINT_TO_POINTER (0x062F), "/afii57423" }, { GUINT_TO_POINTER (0x0630), "/afii57424" }, { GUINT_TO_POINTER (0x0631), "/afii57425" }, { GUINT_TO_POINTER (0x0632), "/afii57426" }, { GUINT_TO_POINTER (0x0633), "/afii57427" }, { GUINT_TO_POINTER (0x0634), "/afii57428" }, { GUINT_TO_POINTER (0x0635), "/afii57429" }, { GUINT_TO_POINTER (0x0636), "/afii57430" }, { GUINT_TO_POINTER (0x0637), "/afii57431" }, { GUINT_TO_POINTER (0x0638), "/afii57432" }, { GUINT_TO_POINTER (0x0639), "/afii57433" }, { GUINT_TO_POINTER (0x063A), "/afii57434" }, { GUINT_TO_POINTER (0x0640), "/afii57440" }, { GUINT_TO_POINTER (0x0641), "/afii57441" }, { GUINT_TO_POINTER (0x0642), "/afii57442" }, { GUINT_TO_POINTER (0x0643), "/afii57443" }, { GUINT_TO_POINTER (0x0644), "/afii57444" }, { GUINT_TO_POINTER (0x0645), "/afii57445" }, { GUINT_TO_POINTER (0x0646), "/afii57446" }, { GUINT_TO_POINTER (0x0647), "/afii57470" }, { GUINT_TO_POINTER (0x0648), "/afii57448" }, { GUINT_TO_POINTER (0x0649), "/afii57449" }, { GUINT_TO_POINTER (0x064A), "/afii57450" }, { GUINT_TO_POINTER (0x064B), "/afii57451" }, { GUINT_TO_POINTER (0x064C), "/afii57452" }, { GUINT_TO_POINTER (0x064D), "/afii57453" }, { GUINT_TO_POINTER (0x064E), "/afii57454" }, { GUINT_TO_POINTER (0x064F), "/afii57455" }, { GUINT_TO_POINTER (0x0650), "/afii57456" }, { GUINT_TO_POINTER (0x0651), "/afii57457" }, { GUINT_TO_POINTER (0x0652), "/afii57458" }, { GUINT_TO_POINTER (0x0660), "/afii57392" }, { GUINT_TO_POINTER (0x0661), "/afii57393" }, { GUINT_TO_POINTER (0x0662), "/afii57394" }, { GUINT_TO_POINTER (0x0663), "/afii57395" }, { GUINT_TO_POINTER (0x0664), "/afii57396" }, { GUINT_TO_POINTER (0x0665), "/afii57397" }, { GUINT_TO_POINTER (0x0666), "/afii57398" }, { GUINT_TO_POINTER (0x0667), "/afii57399" }, { GUINT_TO_POINTER (0x0668), "/afii57400" }, { GUINT_TO_POINTER (0x0669), "/afii57401" }, { GUINT_TO_POINTER (0x066A), "/afii57381" }, { GUINT_TO_POINTER (0x066B), "/decimalseparatorarabic" }, { GUINT_TO_POINTER (0x066C), "/thousandsseparatorarabic" }, { GUINT_TO_POINTER (0x066D), "/afii63167" }, { GUINT_TO_POINTER (0x0679), "/afii57511" }, { GUINT_TO_POINTER (0x067E), "/afii57506" }, { GUINT_TO_POINTER (0x0686), "/afii57507" }, { GUINT_TO_POINTER (0x0688), "/afii57512" }, { GUINT_TO_POINTER (0x0691), "/afii57513" }, { GUINT_TO_POINTER (0x0698), "/afii57508" }, { GUINT_TO_POINTER (0x06A4), "/afii57505" }, { GUINT_TO_POINTER (0x06AF), "/afii57509" }, { GUINT_TO_POINTER (0x06BA), "/afii57514" }, { GUINT_TO_POINTER (0x06C1), "/haaltonearabic" }, { GUINT_TO_POINTER (0x06D1), "/yehthreedotsbelowarabic" }, { GUINT_TO_POINTER (0x06D2), "/afii57519" }, { GUINT_TO_POINTER (0x06D5), "/afii57534" }, { GUINT_TO_POINTER (0x06F0), "/zeropersian" }, { GUINT_TO_POINTER (0x06F1), "/onepersian" }, { GUINT_TO_POINTER (0x06F2), "/twopersian" }, { GUINT_TO_POINTER (0x06F3), "/threepersian" }, { GUINT_TO_POINTER (0x06F4), "/fourpersian" }, { GUINT_TO_POINTER (0x06F5), "/fivepersian" }, { GUINT_TO_POINTER (0x06F6), "/sixpersian" }, { GUINT_TO_POINTER (0x06F7), "/sevenpersian" }, { GUINT_TO_POINTER (0x06F8), "/eightpersian" }, { GUINT_TO_POINTER (0x06F9), "/ninepersian" }, { GUINT_TO_POINTER (0x0901), "/candrabindudeva" }, { GUINT_TO_POINTER (0x0902), "/anusvaradeva" }, { GUINT_TO_POINTER (0x0903), "/visargadeva" }, { GUINT_TO_POINTER (0x0905), "/adeva" }, { GUINT_TO_POINTER (0x0906), "/aadeva" }, { GUINT_TO_POINTER (0x0907), "/ideva" }, { GUINT_TO_POINTER (0x0908), "/iideva" }, { GUINT_TO_POINTER (0x0909), "/udeva" }, { GUINT_TO_POINTER (0x090A), "/uudeva" }, { GUINT_TO_POINTER (0x090B), "/rvocalicdeva" }, { GUINT_TO_POINTER (0x090C), "/lvocalicdeva" }, { GUINT_TO_POINTER (0x090D), "/ecandradeva" }, { GUINT_TO_POINTER (0x090E), "/eshortdeva" }, { GUINT_TO_POINTER (0x090F), "/edeva" }, { GUINT_TO_POINTER (0x0910), "/aideva" }, { GUINT_TO_POINTER (0x0911), "/ocandradeva" }, { GUINT_TO_POINTER (0x0912), "/oshortdeva" }, { GUINT_TO_POINTER (0x0913), "/odeva" }, { GUINT_TO_POINTER (0x0914), "/audeva" }, { GUINT_TO_POINTER (0x0915), "/kadeva" }, { GUINT_TO_POINTER (0x0916), "/khadeva" }, { GUINT_TO_POINTER (0x0917), "/gadeva" }, { GUINT_TO_POINTER (0x0918), "/ghadeva" }, { GUINT_TO_POINTER (0x0919), "/ngadeva" }, { GUINT_TO_POINTER (0x091A), "/cadeva" }, { GUINT_TO_POINTER (0x091B), "/chadeva" }, { GUINT_TO_POINTER (0x091C), "/jadeva" }, { GUINT_TO_POINTER (0x091D), "/jhadeva" }, { GUINT_TO_POINTER (0x091E), "/nyadeva" }, { GUINT_TO_POINTER (0x091F), "/ttadeva" }, { GUINT_TO_POINTER (0x0920), "/tthadeva" }, { GUINT_TO_POINTER (0x0921), "/ddadeva" }, { GUINT_TO_POINTER (0x0922), "/ddhadeva" }, { GUINT_TO_POINTER (0x0923), "/nnadeva" }, { GUINT_TO_POINTER (0x0924), "/tadeva" }, { GUINT_TO_POINTER (0x0925), "/thadeva" }, { GUINT_TO_POINTER (0x0926), "/dadeva" }, { GUINT_TO_POINTER (0x0927), "/dhadeva" }, { GUINT_TO_POINTER (0x0928), "/nadeva" }, { GUINT_TO_POINTER (0x0929), "/nnnadeva" }, { GUINT_TO_POINTER (0x092A), "/padeva" }, { GUINT_TO_POINTER (0x092B), "/phadeva" }, { GUINT_TO_POINTER (0x092C), "/badeva" }, { GUINT_TO_POINTER (0x092D), "/bhadeva" }, { GUINT_TO_POINTER (0x092E), "/madeva" }, { GUINT_TO_POINTER (0x092F), "/yadeva" }, { GUINT_TO_POINTER (0x0930), "/radeva" }, { GUINT_TO_POINTER (0x0931), "/rradeva" }, { GUINT_TO_POINTER (0x0932), "/ladeva" }, { GUINT_TO_POINTER (0x0933), "/lladeva" }, { GUINT_TO_POINTER (0x0934), "/llladeva" }, { GUINT_TO_POINTER (0x0935), "/vadeva" }, { GUINT_TO_POINTER (0x0936), "/shadeva" }, { GUINT_TO_POINTER (0x0937), "/ssadeva" }, { GUINT_TO_POINTER (0x0938), "/sadeva" }, { GUINT_TO_POINTER (0x0939), "/hadeva" }, { GUINT_TO_POINTER (0x093C), "/nuktadeva" }, { GUINT_TO_POINTER (0x093D), "/avagrahadeva" }, { GUINT_TO_POINTER (0x093E), "/aavowelsigndeva" }, { GUINT_TO_POINTER (0x093F), "/ivowelsigndeva" }, { GUINT_TO_POINTER (0x0940), "/iivowelsigndeva" }, { GUINT_TO_POINTER (0x0941), "/uvowelsigndeva" }, { GUINT_TO_POINTER (0x0942), "/uuvowelsigndeva" }, { GUINT_TO_POINTER (0x0943), "/rvocalicvowelsigndeva" }, { GUINT_TO_POINTER (0x0944), "/rrvocalicvowelsigndeva" }, { GUINT_TO_POINTER (0x0945), "/ecandravowelsigndeva" }, { GUINT_TO_POINTER (0x0946), "/eshortvowelsigndeva" }, { GUINT_TO_POINTER (0x0947), "/evowelsigndeva" }, { GUINT_TO_POINTER (0x0948), "/aivowelsigndeva" }, { GUINT_TO_POINTER (0x0949), "/ocandravowelsigndeva" }, { GUINT_TO_POINTER (0x094A), "/oshortvowelsigndeva" }, { GUINT_TO_POINTER (0x094B), "/ovowelsigndeva" }, { GUINT_TO_POINTER (0x094C), "/auvowelsigndeva" }, { GUINT_TO_POINTER (0x094D), "/viramadeva" }, { GUINT_TO_POINTER (0x0950), "/omdeva" }, { GUINT_TO_POINTER (0x0951), "/udattadeva" }, { GUINT_TO_POINTER (0x0952), "/anudattadeva" }, { GUINT_TO_POINTER (0x0953), "/gravedeva" }, { GUINT_TO_POINTER (0x0954), "/acutedeva" }, { GUINT_TO_POINTER (0x0958), "/qadeva" }, { GUINT_TO_POINTER (0x0959), "/khhadeva" }, { GUINT_TO_POINTER (0x095A), "/ghhadeva" }, { GUINT_TO_POINTER (0x095B), "/zadeva" }, { GUINT_TO_POINTER (0x095C), "/dddhadeva" }, { GUINT_TO_POINTER (0x095D), "/rhadeva" }, { GUINT_TO_POINTER (0x095E), "/fadeva" }, { GUINT_TO_POINTER (0x095F), "/yyadeva" }, { GUINT_TO_POINTER (0x0960), "/rrvocalicdeva" }, { GUINT_TO_POINTER (0x0961), "/llvocalicdeva" }, { GUINT_TO_POINTER (0x0962), "/lvocalicvowelsigndeva" }, { GUINT_TO_POINTER (0x0963), "/llvocalicvowelsigndeva" }, { GUINT_TO_POINTER (0x0964), "/danda" }, { GUINT_TO_POINTER (0x0965), "/dbldanda" }, { GUINT_TO_POINTER (0x0966), "/zerodeva" }, { GUINT_TO_POINTER (0x0967), "/onedeva" }, { GUINT_TO_POINTER (0x0968), "/twodeva" }, { GUINT_TO_POINTER (0x0969), "/threedeva" }, { GUINT_TO_POINTER (0x096A), "/fourdeva" }, { GUINT_TO_POINTER (0x096B), "/fivedeva" }, { GUINT_TO_POINTER (0x096C), "/sixdeva" }, { GUINT_TO_POINTER (0x096D), "/sevendeva" }, { GUINT_TO_POINTER (0x096E), "/eightdeva" }, { GUINT_TO_POINTER (0x096F), "/ninedeva" }, { GUINT_TO_POINTER (0x0970), "/abbreviationsigndeva" }, { GUINT_TO_POINTER (0x0981), "/candrabindubengali" }, { GUINT_TO_POINTER (0x0982), "/anusvarabengali" }, { GUINT_TO_POINTER (0x0983), "/visargabengali" }, { GUINT_TO_POINTER (0x0985), "/abengali" }, { GUINT_TO_POINTER (0x0986), "/aabengali" }, { GUINT_TO_POINTER (0x0987), "/ibengali" }, { GUINT_TO_POINTER (0x0988), "/iibengali" }, { GUINT_TO_POINTER (0x0989), "/ubengali" }, { GUINT_TO_POINTER (0x098A), "/uubengali" }, { GUINT_TO_POINTER (0x098B), "/rvocalicbengali" }, { GUINT_TO_POINTER (0x098C), "/lvocalicbengali" }, { GUINT_TO_POINTER (0x098F), "/ebengali" }, { GUINT_TO_POINTER (0x0990), "/aibengali" }, { GUINT_TO_POINTER (0x0993), "/obengali" }, { GUINT_TO_POINTER (0x0994), "/aubengali" }, { GUINT_TO_POINTER (0x0995), "/kabengali" }, { GUINT_TO_POINTER (0x0996), "/khabengali" }, { GUINT_TO_POINTER (0x0997), "/gabengali" }, { GUINT_TO_POINTER (0x0998), "/ghabengali" }, { GUINT_TO_POINTER (0x0999), "/ngabengali" }, { GUINT_TO_POINTER (0x099A), "/cabengali" }, { GUINT_TO_POINTER (0x099B), "/chabengali" }, { GUINT_TO_POINTER (0x099C), "/jabengali" }, { GUINT_TO_POINTER (0x099D), "/jhabengali" }, { GUINT_TO_POINTER (0x099E), "/nyabengali" }, { GUINT_TO_POINTER (0x099F), "/ttabengali" }, { GUINT_TO_POINTER (0x09A0), "/tthabengali" }, { GUINT_TO_POINTER (0x09A1), "/ddabengali" }, { GUINT_TO_POINTER (0x09A2), "/ddhabengali" }, { GUINT_TO_POINTER (0x09A3), "/nnabengali" }, { GUINT_TO_POINTER (0x09A4), "/tabengali" }, { GUINT_TO_POINTER (0x09A5), "/thabengali" }, { GUINT_TO_POINTER (0x09A6), "/dabengali" }, { GUINT_TO_POINTER (0x09A7), "/dhabengali" }, { GUINT_TO_POINTER (0x09A8), "/nabengali" }, { GUINT_TO_POINTER (0x09AA), "/pabengali" }, { GUINT_TO_POINTER (0x09AB), "/phabengali" }, { GUINT_TO_POINTER (0x09AC), "/babengali" }, { GUINT_TO_POINTER (0x09AD), "/bhabengali" }, { GUINT_TO_POINTER (0x09AE), "/mabengali" }, { GUINT_TO_POINTER (0x09AF), "/yabengali" }, { GUINT_TO_POINTER (0x09B0), "/rabengali" }, { GUINT_TO_POINTER (0x09B2), "/labengali" }, { GUINT_TO_POINTER (0x09B6), "/shabengali" }, { GUINT_TO_POINTER (0x09B7), "/ssabengali" }, { GUINT_TO_POINTER (0x09B8), "/sabengali" }, { GUINT_TO_POINTER (0x09B9), "/habengali" }, { GUINT_TO_POINTER (0x09BC), "/nuktabengali" }, { GUINT_TO_POINTER (0x09BE), "/aavowelsignbengali" }, { GUINT_TO_POINTER (0x09BF), "/ivowelsignbengali" }, { GUINT_TO_POINTER (0x09C0), "/iivowelsignbengali" }, { GUINT_TO_POINTER (0x09C1), "/uvowelsignbengali" }, { GUINT_TO_POINTER (0x09C2), "/uuvowelsignbengali" }, { GUINT_TO_POINTER (0x09C3), "/rvocalicvowelsignbengali" }, { GUINT_TO_POINTER (0x09C4), "/rrvocalicvowelsignbengali" }, { GUINT_TO_POINTER (0x09C7), "/evowelsignbengali" }, { GUINT_TO_POINTER (0x09C8), "/aivowelsignbengali" }, { GUINT_TO_POINTER (0x09CB), "/ovowelsignbengali" }, { GUINT_TO_POINTER (0x09CC), "/auvowelsignbengali" }, { GUINT_TO_POINTER (0x09CD), "/viramabengali" }, { GUINT_TO_POINTER (0x09D7), "/aulengthmarkbengali" }, { GUINT_TO_POINTER (0x09DC), "/rrabengali" }, { GUINT_TO_POINTER (0x09DD), "/rhabengali" }, { GUINT_TO_POINTER (0x09DF), "/yyabengali" }, { GUINT_TO_POINTER (0x09E0), "/rrvocalicbengali" }, { GUINT_TO_POINTER (0x09E1), "/llvocalicbengali" }, { GUINT_TO_POINTER (0x09E2), "/lvocalicvowelsignbengali" }, { GUINT_TO_POINTER (0x09E3), "/llvocalicvowelsignbengali" }, { GUINT_TO_POINTER (0x09E6), "/zerobengali" }, { GUINT_TO_POINTER (0x09E7), "/onebengali" }, { GUINT_TO_POINTER (0x09E8), "/twobengali" }, { GUINT_TO_POINTER (0x09E9), "/threebengali" }, { GUINT_TO_POINTER (0x09EA), "/fourbengali" }, { GUINT_TO_POINTER (0x09EB), "/fivebengali" }, { GUINT_TO_POINTER (0x09EC), "/sixbengali" }, { GUINT_TO_POINTER (0x09ED), "/sevenbengali" }, { GUINT_TO_POINTER (0x09EE), "/eightbengali" }, { GUINT_TO_POINTER (0x09EF), "/ninebengali" }, { GUINT_TO_POINTER (0x09F0), "/ramiddlediagonalbengali" }, { GUINT_TO_POINTER (0x09F1), "/ralowerdiagonalbengali" }, { GUINT_TO_POINTER (0x09F2), "/rupeemarkbengali" }, { GUINT_TO_POINTER (0x09F3), "/rupeesignbengali" }, { GUINT_TO_POINTER (0x09F4), "/onenumeratorbengali" }, { GUINT_TO_POINTER (0x09F5), "/twonumeratorbengali" }, { GUINT_TO_POINTER (0x09F6), "/threenumeratorbengali" }, { GUINT_TO_POINTER (0x09F7), "/fournumeratorbengali" }, { GUINT_TO_POINTER (0x09F8), "/denominatorminusonenumeratorbengali" }, { GUINT_TO_POINTER (0x09F9), "/sixteencurrencydenominatorbengali" }, { GUINT_TO_POINTER (0x09FA), "/issharbengali" }, { GUINT_TO_POINTER (0x0A02), "/bindigurmukhi" }, { GUINT_TO_POINTER (0x0A05), "/agurmukhi" }, { GUINT_TO_POINTER (0x0A06), "/aagurmukhi" }, { GUINT_TO_POINTER (0x0A07), "/igurmukhi" }, { GUINT_TO_POINTER (0x0A08), "/iigurmukhi" }, { GUINT_TO_POINTER (0x0A09), "/ugurmukhi" }, { GUINT_TO_POINTER (0x0A0A), "/uugurmukhi" }, { GUINT_TO_POINTER (0x0A0F), "/eegurmukhi" }, { GUINT_TO_POINTER (0x0A10), "/aigurmukhi" }, { GUINT_TO_POINTER (0x0A13), "/oogurmukhi" }, { GUINT_TO_POINTER (0x0A14), "/augurmukhi" }, { GUINT_TO_POINTER (0x0A15), "/kagurmukhi" }, { GUINT_TO_POINTER (0x0A16), "/khagurmukhi" }, { GUINT_TO_POINTER (0x0A17), "/gagurmukhi" }, { GUINT_TO_POINTER (0x0A18), "/ghagurmukhi" }, { GUINT_TO_POINTER (0x0A19), "/ngagurmukhi" }, { GUINT_TO_POINTER (0x0A1A), "/cagurmukhi" }, { GUINT_TO_POINTER (0x0A1B), "/chagurmukhi" }, { GUINT_TO_POINTER (0x0A1C), "/jagurmukhi" }, { GUINT_TO_POINTER (0x0A1D), "/jhagurmukhi" }, { GUINT_TO_POINTER (0x0A1E), "/nyagurmukhi" }, { GUINT_TO_POINTER (0x0A1F), "/ttagurmukhi" }, { GUINT_TO_POINTER (0x0A20), "/tthagurmukhi" }, { GUINT_TO_POINTER (0x0A21), "/ddagurmukhi" }, { GUINT_TO_POINTER (0x0A22), "/ddhagurmukhi" }, { GUINT_TO_POINTER (0x0A23), "/nnagurmukhi" }, { GUINT_TO_POINTER (0x0A24), "/tagurmukhi" }, { GUINT_TO_POINTER (0x0A25), "/thagurmukhi" }, { GUINT_TO_POINTER (0x0A26), "/dagurmukhi" }, { GUINT_TO_POINTER (0x0A27), "/dhagurmukhi" }, { GUINT_TO_POINTER (0x0A28), "/nagurmukhi" }, { GUINT_TO_POINTER (0x0A2A), "/pagurmukhi" }, { GUINT_TO_POINTER (0x0A2B), "/phagurmukhi" }, { GUINT_TO_POINTER (0x0A2C), "/bagurmukhi" }, { GUINT_TO_POINTER (0x0A2D), "/bhagurmukhi" }, { GUINT_TO_POINTER (0x0A2E), "/magurmukhi" }, { GUINT_TO_POINTER (0x0A2F), "/yagurmukhi" }, { GUINT_TO_POINTER (0x0A30), "/ragurmukhi" }, { GUINT_TO_POINTER (0x0A32), "/lagurmukhi" }, { GUINT_TO_POINTER (0x0A35), "/vagurmukhi" }, { GUINT_TO_POINTER (0x0A36), "/shagurmukhi" }, { GUINT_TO_POINTER (0x0A38), "/sagurmukhi" }, { GUINT_TO_POINTER (0x0A39), "/hagurmukhi" }, { GUINT_TO_POINTER (0x0A3C), "/nuktagurmukhi" }, { GUINT_TO_POINTER (0x0A3E), "/aamatragurmukhi" }, { GUINT_TO_POINTER (0x0A3F), "/imatragurmukhi" }, { GUINT_TO_POINTER (0x0A40), "/iimatragurmukhi" }, { GUINT_TO_POINTER (0x0A41), "/umatragurmukhi" }, { GUINT_TO_POINTER (0x0A42), "/uumatragurmukhi" }, { GUINT_TO_POINTER (0x0A47), "/eematragurmukhi" }, { GUINT_TO_POINTER (0x0A48), "/aimatragurmukhi" }, { GUINT_TO_POINTER (0x0A4B), "/oomatragurmukhi" }, { GUINT_TO_POINTER (0x0A4C), "/aumatragurmukhi" }, { GUINT_TO_POINTER (0x0A4D), "/halantgurmukhi" }, { GUINT_TO_POINTER (0x0A59), "/khhagurmukhi" }, { GUINT_TO_POINTER (0x0A5A), "/ghhagurmukhi" }, { GUINT_TO_POINTER (0x0A5B), "/zagurmukhi" }, { GUINT_TO_POINTER (0x0A5C), "/rragurmukhi" }, { GUINT_TO_POINTER (0x0A5E), "/fagurmukhi" }, { GUINT_TO_POINTER (0x0A66), "/zerogurmukhi" }, { GUINT_TO_POINTER (0x0A67), "/onegurmukhi" }, { GUINT_TO_POINTER (0x0A68), "/twogurmukhi" }, { GUINT_TO_POINTER (0x0A69), "/threegurmukhi" }, { GUINT_TO_POINTER (0x0A6A), "/fourgurmukhi" }, { GUINT_TO_POINTER (0x0A6B), "/fivegurmukhi" }, { GUINT_TO_POINTER (0x0A6C), "/sixgurmukhi" }, { GUINT_TO_POINTER (0x0A6D), "/sevengurmukhi" }, { GUINT_TO_POINTER (0x0A6E), "/eightgurmukhi" }, { GUINT_TO_POINTER (0x0A6F), "/ninegurmukhi" }, { GUINT_TO_POINTER (0x0A70), "/tippigurmukhi" }, { GUINT_TO_POINTER (0x0A71), "/addakgurmukhi" }, { GUINT_TO_POINTER (0x0A72), "/irigurmukhi" }, { GUINT_TO_POINTER (0x0A73), "/uragurmukhi" }, { GUINT_TO_POINTER (0x0A74), "/ekonkargurmukhi" }, { GUINT_TO_POINTER (0x0A81), "/candrabindugujarati" }, { GUINT_TO_POINTER (0x0A82), "/anusvaragujarati" }, { GUINT_TO_POINTER (0x0A83), "/visargagujarati" }, { GUINT_TO_POINTER (0x0A85), "/agujarati" }, { GUINT_TO_POINTER (0x0A86), "/aagujarati" }, { GUINT_TO_POINTER (0x0A87), "/igujarati" }, { GUINT_TO_POINTER (0x0A88), "/iigujarati" }, { GUINT_TO_POINTER (0x0A89), "/ugujarati" }, { GUINT_TO_POINTER (0x0A8A), "/uugujarati" }, { GUINT_TO_POINTER (0x0A8B), "/rvocalicgujarati" }, { GUINT_TO_POINTER (0x0A8D), "/ecandragujarati" }, { GUINT_TO_POINTER (0x0A8F), "/egujarati" }, { GUINT_TO_POINTER (0x0A90), "/aigujarati" }, { GUINT_TO_POINTER (0x0A91), "/ocandragujarati" }, { GUINT_TO_POINTER (0x0A93), "/ogujarati" }, { GUINT_TO_POINTER (0x0A94), "/augujarati" }, { GUINT_TO_POINTER (0x0A95), "/kagujarati" }, { GUINT_TO_POINTER (0x0A96), "/khagujarati" }, { GUINT_TO_POINTER (0x0A97), "/gagujarati" }, { GUINT_TO_POINTER (0x0A98), "/ghagujarati" }, { GUINT_TO_POINTER (0x0A99), "/ngagujarati" }, { GUINT_TO_POINTER (0x0A9A), "/cagujarati" }, { GUINT_TO_POINTER (0x0A9B), "/chagujarati" }, { GUINT_TO_POINTER (0x0A9C), "/jagujarati" }, { GUINT_TO_POINTER (0x0A9D), "/jhagujarati" }, { GUINT_TO_POINTER (0x0A9E), "/nyagujarati" }, { GUINT_TO_POINTER (0x0A9F), "/ttagujarati" }, { GUINT_TO_POINTER (0x0AA0), "/tthagujarati" }, { GUINT_TO_POINTER (0x0AA1), "/ddagujarati" }, { GUINT_TO_POINTER (0x0AA2), "/ddhagujarati" }, { GUINT_TO_POINTER (0x0AA3), "/nnagujarati" }, { GUINT_TO_POINTER (0x0AA4), "/tagujarati" }, { GUINT_TO_POINTER (0x0AA5), "/thagujarati" }, { GUINT_TO_POINTER (0x0AA6), "/dagujarati" }, { GUINT_TO_POINTER (0x0AA7), "/dhagujarati" }, { GUINT_TO_POINTER (0x0AA8), "/nagujarati" }, { GUINT_TO_POINTER (0x0AAA), "/pagujarati" }, { GUINT_TO_POINTER (0x0AAB), "/phagujarati" }, { GUINT_TO_POINTER (0x0AAC), "/bagujarati" }, { GUINT_TO_POINTER (0x0AAD), "/bhagujarati" }, { GUINT_TO_POINTER (0x0AAE), "/magujarati" }, { GUINT_TO_POINTER (0x0AAF), "/yagujarati" }, { GUINT_TO_POINTER (0x0AB0), "/ragujarati" }, { GUINT_TO_POINTER (0x0AB2), "/lagujarati" }, { GUINT_TO_POINTER (0x0AB3), "/llagujarati" }, { GUINT_TO_POINTER (0x0AB5), "/vagujarati" }, { GUINT_TO_POINTER (0x0AB6), "/shagujarati" }, { GUINT_TO_POINTER (0x0AB7), "/ssagujarati" }, { GUINT_TO_POINTER (0x0AB8), "/sagujarati" }, { GUINT_TO_POINTER (0x0AB9), "/hagujarati" }, { GUINT_TO_POINTER (0x0ABC), "/nuktagujarati" }, { GUINT_TO_POINTER (0x0ABE), "/aavowelsigngujarati" }, { GUINT_TO_POINTER (0x0ABF), "/ivowelsigngujarati" }, { GUINT_TO_POINTER (0x0AC0), "/iivowelsigngujarati" }, { GUINT_TO_POINTER (0x0AC1), "/uvowelsigngujarati" }, { GUINT_TO_POINTER (0x0AC2), "/uuvowelsigngujarati" }, { GUINT_TO_POINTER (0x0AC3), "/rvocalicvowelsigngujarati" }, { GUINT_TO_POINTER (0x0AC4), "/rrvocalicvowelsigngujarati" }, { GUINT_TO_POINTER (0x0AC5), "/ecandravowelsigngujarati" }, { GUINT_TO_POINTER (0x0AC7), "/evowelsigngujarati" }, { GUINT_TO_POINTER (0x0AC8), "/aivowelsigngujarati" }, { GUINT_TO_POINTER (0x0AC9), "/ocandravowelsigngujarati" }, { GUINT_TO_POINTER (0x0ACB), "/ovowelsigngujarati" }, { GUINT_TO_POINTER (0x0ACC), "/auvowelsigngujarati" }, { GUINT_TO_POINTER (0x0ACD), "/viramagujarati" }, { GUINT_TO_POINTER (0x0AD0), "/omgujarati" }, { GUINT_TO_POINTER (0x0AE0), "/rrvocalicgujarati" }, { GUINT_TO_POINTER (0x0AE6), "/zerogujarati" }, { GUINT_TO_POINTER (0x0AE7), "/onegujarati" }, { GUINT_TO_POINTER (0x0AE8), "/twogujarati" }, { GUINT_TO_POINTER (0x0AE9), "/threegujarati" }, { GUINT_TO_POINTER (0x0AEA), "/fourgujarati" }, { GUINT_TO_POINTER (0x0AEB), "/fivegujarati" }, { GUINT_TO_POINTER (0x0AEC), "/sixgujarati" }, { GUINT_TO_POINTER (0x0AED), "/sevengujarati" }, { GUINT_TO_POINTER (0x0AEE), "/eightgujarati" }, { GUINT_TO_POINTER (0x0AEF), "/ninegujarati" }, { GUINT_TO_POINTER (0x0E01), "/kokaithai" }, { GUINT_TO_POINTER (0x0E02), "/khokhaithai" }, { GUINT_TO_POINTER (0x0E03), "/khokhuatthai" }, { GUINT_TO_POINTER (0x0E04), "/khokhwaithai" }, { GUINT_TO_POINTER (0x0E05), "/khokhonthai" }, { GUINT_TO_POINTER (0x0E06), "/khorakhangthai" }, { GUINT_TO_POINTER (0x0E07), "/ngonguthai" }, { GUINT_TO_POINTER (0x0E08), "/chochanthai" }, { GUINT_TO_POINTER (0x0E09), "/chochingthai" }, { GUINT_TO_POINTER (0x0E0A), "/chochangthai" }, { GUINT_TO_POINTER (0x0E0B), "/sosothai" }, { GUINT_TO_POINTER (0x0E0C), "/chochoethai" }, { GUINT_TO_POINTER (0x0E0D), "/yoyingthai" }, { GUINT_TO_POINTER (0x0E0E), "/dochadathai" }, { GUINT_TO_POINTER (0x0E0F), "/topatakthai" }, { GUINT_TO_POINTER (0x0E10), "/thothanthai" }, { GUINT_TO_POINTER (0x0E11), "/thonangmonthothai" }, { GUINT_TO_POINTER (0x0E12), "/thophuthaothai" }, { GUINT_TO_POINTER (0x0E13), "/nonenthai" }, { GUINT_TO_POINTER (0x0E14), "/dodekthai" }, { GUINT_TO_POINTER (0x0E15), "/totaothai" }, { GUINT_TO_POINTER (0x0E16), "/thothungthai" }, { GUINT_TO_POINTER (0x0E17), "/thothahanthai" }, { GUINT_TO_POINTER (0x0E18), "/thothongthai" }, { GUINT_TO_POINTER (0x0E19), "/nonuthai" }, { GUINT_TO_POINTER (0x0E1A), "/bobaimaithai" }, { GUINT_TO_POINTER (0x0E1B), "/poplathai" }, { GUINT_TO_POINTER (0x0E1C), "/phophungthai" }, { GUINT_TO_POINTER (0x0E1D), "/fofathai" }, { GUINT_TO_POINTER (0x0E1E), "/phophanthai" }, { GUINT_TO_POINTER (0x0E1F), "/fofanthai" }, { GUINT_TO_POINTER (0x0E20), "/phosamphaothai" }, { GUINT_TO_POINTER (0x0E21), "/momathai" }, { GUINT_TO_POINTER (0x0E22), "/yoyakthai" }, { GUINT_TO_POINTER (0x0E23), "/roruathai" }, { GUINT_TO_POINTER (0x0E24), "/ruthai" }, { GUINT_TO_POINTER (0x0E25), "/lolingthai" }, { GUINT_TO_POINTER (0x0E26), "/luthai" }, { GUINT_TO_POINTER (0x0E27), "/wowaenthai" }, { GUINT_TO_POINTER (0x0E28), "/sosalathai" }, { GUINT_TO_POINTER (0x0E29), "/sorusithai" }, { GUINT_TO_POINTER (0x0E2A), "/sosuathai" }, { GUINT_TO_POINTER (0x0E2B), "/hohipthai" }, { GUINT_TO_POINTER (0x0E2C), "/lochulathai" }, { GUINT_TO_POINTER (0x0E2D), "/oangthai" }, { GUINT_TO_POINTER (0x0E2E), "/honokhukthai" }, { GUINT_TO_POINTER (0x0E2F), "/paiyannoithai" }, { GUINT_TO_POINTER (0x0E30), "/saraathai" }, { GUINT_TO_POINTER (0x0E31), "/maihanakatthai" }, { GUINT_TO_POINTER (0x0E32), "/saraaathai" }, { GUINT_TO_POINTER (0x0E33), "/saraamthai" }, { GUINT_TO_POINTER (0x0E34), "/saraithai" }, { GUINT_TO_POINTER (0x0E35), "/saraiithai" }, { GUINT_TO_POINTER (0x0E36), "/sarauethai" }, { GUINT_TO_POINTER (0x0E37), "/saraueethai" }, { GUINT_TO_POINTER (0x0E38), "/sarauthai" }, { GUINT_TO_POINTER (0x0E39), "/sarauuthai" }, { GUINT_TO_POINTER (0x0E3A), "/phinthuthai" }, { GUINT_TO_POINTER (0x0E3F), "/bahtthai" }, { GUINT_TO_POINTER (0x0E40), "/saraethai" }, { GUINT_TO_POINTER (0x0E41), "/saraaethai" }, { GUINT_TO_POINTER (0x0E42), "/saraothai" }, { GUINT_TO_POINTER (0x0E43), "/saraaimaimuanthai" }, { GUINT_TO_POINTER (0x0E44), "/saraaimaimalaithai" }, { GUINT_TO_POINTER (0x0E45), "/lakkhangyaothai" }, { GUINT_TO_POINTER (0x0E46), "/maiyamokthai" }, { GUINT_TO_POINTER (0x0E47), "/maitaikhuthai" }, { GUINT_TO_POINTER (0x0E48), "/maiekthai" }, { GUINT_TO_POINTER (0x0E49), "/maithothai" }, { GUINT_TO_POINTER (0x0E4A), "/maitrithai" }, { GUINT_TO_POINTER (0x0E4B), "/maichattawathai" }, { GUINT_TO_POINTER (0x0E4C), "/thanthakhatthai" }, { GUINT_TO_POINTER (0x0E4D), "/nikhahitthai" }, { GUINT_TO_POINTER (0x0E4E), "/yamakkanthai" }, { GUINT_TO_POINTER (0x0E4F), "/fongmanthai" }, { GUINT_TO_POINTER (0x0E50), "/zerothai" }, { GUINT_TO_POINTER (0x0E51), "/onethai" }, { GUINT_TO_POINTER (0x0E52), "/twothai" }, { GUINT_TO_POINTER (0x0E53), "/threethai" }, { GUINT_TO_POINTER (0x0E54), "/fourthai" }, { GUINT_TO_POINTER (0x0E55), "/fivethai" }, { GUINT_TO_POINTER (0x0E56), "/sixthai" }, { GUINT_TO_POINTER (0x0E57), "/seventhai" }, { GUINT_TO_POINTER (0x0E58), "/eightthai" }, { GUINT_TO_POINTER (0x0E59), "/ninethai" }, { GUINT_TO_POINTER (0x0E5A), "/angkhankhuthai" }, { GUINT_TO_POINTER (0x0E5B), "/khomutthai" }, { GUINT_TO_POINTER (0x1E00), "/Aringbelow" }, { GUINT_TO_POINTER (0x1E01), "/aringbelow" }, { GUINT_TO_POINTER (0x1E02), "/Bdotaccent" }, { GUINT_TO_POINTER (0x1E03), "/bdotaccent" }, { GUINT_TO_POINTER (0x1E04), "/Bdotbelow" }, { GUINT_TO_POINTER (0x1E05), "/bdotbelow" }, { GUINT_TO_POINTER (0x1E06), "/Blinebelow" }, { GUINT_TO_POINTER (0x1E07), "/blinebelow" }, { GUINT_TO_POINTER (0x1E08), "/Ccedillaacute" }, { GUINT_TO_POINTER (0x1E09), "/ccedillaacute" }, { GUINT_TO_POINTER (0x1E0A), "/Ddotaccent" }, { GUINT_TO_POINTER (0x1E0B), "/ddotaccent" }, { GUINT_TO_POINTER (0x1E0C), "/Ddotbelow" }, { GUINT_TO_POINTER (0x1E0D), "/ddotbelow" }, { GUINT_TO_POINTER (0x1E0E), "/Dlinebelow" }, { GUINT_TO_POINTER (0x1E0F), "/dlinebelow" }, { GUINT_TO_POINTER (0x1E10), "/Dcedilla" }, { GUINT_TO_POINTER (0x1E11), "/dcedilla" }, { GUINT_TO_POINTER (0x1E12), "/Dcircumflexbelow" }, { GUINT_TO_POINTER (0x1E13), "/dcircumflexbelow" }, { GUINT_TO_POINTER (0x1E14), "/Emacrongrave" }, { GUINT_TO_POINTER (0x1E15), "/emacrongrave" }, { GUINT_TO_POINTER (0x1E16), "/Emacronacute" }, { GUINT_TO_POINTER (0x1E17), "/emacronacute" }, { GUINT_TO_POINTER (0x1E18), "/Ecircumflexbelow" }, { GUINT_TO_POINTER (0x1E19), "/ecircumflexbelow" }, { GUINT_TO_POINTER (0x1E1A), "/Etildebelow" }, { GUINT_TO_POINTER (0x1E1B), "/etildebelow" }, { GUINT_TO_POINTER (0x1E1C), "/Ecedillabreve" }, { GUINT_TO_POINTER (0x1E1D), "/ecedillabreve" }, { GUINT_TO_POINTER (0x1E1E), "/Fdotaccent" }, { GUINT_TO_POINTER (0x1E1F), "/fdotaccent" }, { GUINT_TO_POINTER (0x1E20), "/Gmacron" }, { GUINT_TO_POINTER (0x1E21), "/gmacron" }, { GUINT_TO_POINTER (0x1E22), "/Hdotaccent" }, { GUINT_TO_POINTER (0x1E23), "/hdotaccent" }, { GUINT_TO_POINTER (0x1E24), "/Hdotbelow" }, { GUINT_TO_POINTER (0x1E25), "/hdotbelow" }, { GUINT_TO_POINTER (0x1E26), "/Hdieresis" }, { GUINT_TO_POINTER (0x1E27), "/hdieresis" }, { GUINT_TO_POINTER (0x1E28), "/Hcedilla" }, { GUINT_TO_POINTER (0x1E29), "/hcedilla" }, { GUINT_TO_POINTER (0x1E2A), "/Hbrevebelow" }, { GUINT_TO_POINTER (0x1E2B), "/hbrevebelow" }, { GUINT_TO_POINTER (0x1E2C), "/Itildebelow" }, { GUINT_TO_POINTER (0x1E2D), "/itildebelow" }, { GUINT_TO_POINTER (0x1E2E), "/Idieresisacute" }, { GUINT_TO_POINTER (0x1E2F), "/idieresisacute" }, { GUINT_TO_POINTER (0x1E30), "/Kacute" }, { GUINT_TO_POINTER (0x1E31), "/kacute" }, { GUINT_TO_POINTER (0x1E32), "/Kdotbelow" }, { GUINT_TO_POINTER (0x1E33), "/kdotbelow" }, { GUINT_TO_POINTER (0x1E34), "/Klinebelow" }, { GUINT_TO_POINTER (0x1E35), "/klinebelow" }, { GUINT_TO_POINTER (0x1E36), "/Ldotbelow" }, { GUINT_TO_POINTER (0x1E37), "/ldotbelow" }, { GUINT_TO_POINTER (0x1E38), "/Ldotbelowmacron" }, { GUINT_TO_POINTER (0x1E39), "/ldotbelowmacron" }, { GUINT_TO_POINTER (0x1E3A), "/Llinebelow" }, { GUINT_TO_POINTER (0x1E3B), "/llinebelow" }, { GUINT_TO_POINTER (0x1E3C), "/Lcircumflexbelow" }, { GUINT_TO_POINTER (0x1E3D), "/lcircumflexbelow" }, { GUINT_TO_POINTER (0x1E3E), "/Macute" }, { GUINT_TO_POINTER (0x1E3F), "/macute" }, { GUINT_TO_POINTER (0x1E40), "/Mdotaccent" }, { GUINT_TO_POINTER (0x1E41), "/mdotaccent" }, { GUINT_TO_POINTER (0x1E42), "/Mdotbelow" }, { GUINT_TO_POINTER (0x1E43), "/mdotbelow" }, { GUINT_TO_POINTER (0x1E44), "/Ndotaccent" }, { GUINT_TO_POINTER (0x1E45), "/ndotaccent" }, { GUINT_TO_POINTER (0x1E46), "/Ndotbelow" }, { GUINT_TO_POINTER (0x1E47), "/ndotbelow" }, { GUINT_TO_POINTER (0x1E48), "/Nlinebelow" }, { GUINT_TO_POINTER (0x1E49), "/nlinebelow" }, { GUINT_TO_POINTER (0x1E4A), "/Ncircumflexbelow" }, { GUINT_TO_POINTER (0x1E4B), "/ncircumflexbelow" }, { GUINT_TO_POINTER (0x1E4C), "/Otildeacute" }, { GUINT_TO_POINTER (0x1E4D), "/otildeacute" }, { GUINT_TO_POINTER (0x1E4E), "/Otildedieresis" }, { GUINT_TO_POINTER (0x1E4F), "/otildedieresis" }, { GUINT_TO_POINTER (0x1E50), "/Omacrongrave" }, { GUINT_TO_POINTER (0x1E51), "/omacrongrave" }, { GUINT_TO_POINTER (0x1E52), "/Omacronacute" }, { GUINT_TO_POINTER (0x1E53), "/omacronacute" }, { GUINT_TO_POINTER (0x1E54), "/Pacute" }, { GUINT_TO_POINTER (0x1E55), "/pacute" }, { GUINT_TO_POINTER (0x1E56), "/Pdotaccent" }, { GUINT_TO_POINTER (0x1E57), "/pdotaccent" }, { GUINT_TO_POINTER (0x1E58), "/Rdotaccent" }, { GUINT_TO_POINTER (0x1E59), "/rdotaccent" }, { GUINT_TO_POINTER (0x1E5A), "/Rdotbelow" }, { GUINT_TO_POINTER (0x1E5B), "/rdotbelow" }, { GUINT_TO_POINTER (0x1E5C), "/Rdotbelowmacron" }, { GUINT_TO_POINTER (0x1E5D), "/rdotbelowmacron" }, { GUINT_TO_POINTER (0x1E5E), "/Rlinebelow" }, { GUINT_TO_POINTER (0x1E5F), "/rlinebelow" }, { GUINT_TO_POINTER (0x1E60), "/Sdotaccent" }, { GUINT_TO_POINTER (0x1E61), "/sdotaccent" }, { GUINT_TO_POINTER (0x1E62), "/Sdotbelow" }, { GUINT_TO_POINTER (0x1E63), "/sdotbelow" }, { GUINT_TO_POINTER (0x1E64), "/Sacutedotaccent" }, { GUINT_TO_POINTER (0x1E65), "/sacutedotaccent" }, { GUINT_TO_POINTER (0x1E66), "/Scarondotaccent" }, { GUINT_TO_POINTER (0x1E67), "/scarondotaccent" }, { GUINT_TO_POINTER (0x1E68), "/Sdotbelowdotaccent" }, { GUINT_TO_POINTER (0x1E69), "/sdotbelowdotaccent" }, { GUINT_TO_POINTER (0x1E6A), "/Tdotaccent" }, { GUINT_TO_POINTER (0x1E6B), "/tdotaccent" }, { GUINT_TO_POINTER (0x1E6C), "/Tdotbelow" }, { GUINT_TO_POINTER (0x1E6D), "/tdotbelow" }, { GUINT_TO_POINTER (0x1E6E), "/Tlinebelow" }, { GUINT_TO_POINTER (0x1E6F), "/tlinebelow" }, { GUINT_TO_POINTER (0x1E70), "/Tcircumflexbelow" }, { GUINT_TO_POINTER (0x1E71), "/tcircumflexbelow" }, { GUINT_TO_POINTER (0x1E72), "/Udieresisbelow" }, { GUINT_TO_POINTER (0x1E73), "/udieresisbelow" }, { GUINT_TO_POINTER (0x1E74), "/Utildebelow" }, { GUINT_TO_POINTER (0x1E75), "/utildebelow" }, { GUINT_TO_POINTER (0x1E76), "/Ucircumflexbelow" }, { GUINT_TO_POINTER (0x1E77), "/ucircumflexbelow" }, { GUINT_TO_POINTER (0x1E78), "/Utildeacute" }, { GUINT_TO_POINTER (0x1E79), "/utildeacute" }, { GUINT_TO_POINTER (0x1E7A), "/Umacrondieresis" }, { GUINT_TO_POINTER (0x1E7B), "/umacrondieresis" }, { GUINT_TO_POINTER (0x1E7C), "/Vtilde" }, { GUINT_TO_POINTER (0x1E7D), "/vtilde" }, { GUINT_TO_POINTER (0x1E7E), "/Vdotbelow" }, { GUINT_TO_POINTER (0x1E7F), "/vdotbelow" }, { GUINT_TO_POINTER (0x1E80), "/Wgrave" }, { GUINT_TO_POINTER (0x1E81), "/wgrave" }, { GUINT_TO_POINTER (0x1E82), "/Wacute" }, { GUINT_TO_POINTER (0x1E83), "/wacute" }, { GUINT_TO_POINTER (0x1E84), "/Wdieresis" }, { GUINT_TO_POINTER (0x1E85), "/wdieresis" }, { GUINT_TO_POINTER (0x1E86), "/Wdotaccent" }, { GUINT_TO_POINTER (0x1E87), "/wdotaccent" }, { GUINT_TO_POINTER (0x1E88), "/Wdotbelow" }, { GUINT_TO_POINTER (0x1E89), "/wdotbelow" }, { GUINT_TO_POINTER (0x1E8A), "/Xdotaccent" }, { GUINT_TO_POINTER (0x1E8B), "/xdotaccent" }, { GUINT_TO_POINTER (0x1E8C), "/Xdieresis" }, { GUINT_TO_POINTER (0x1E8D), "/xdieresis" }, { GUINT_TO_POINTER (0x1E8E), "/Ydotaccent" }, { GUINT_TO_POINTER (0x1E8F), "/ydotaccent" }, { GUINT_TO_POINTER (0x1E90), "/Zcircumflex" }, { GUINT_TO_POINTER (0x1E91), "/zcircumflex" }, { GUINT_TO_POINTER (0x1E92), "/Zdotbelow" }, { GUINT_TO_POINTER (0x1E93), "/zdotbelow" }, { GUINT_TO_POINTER (0x1E94), "/Zlinebelow" }, { GUINT_TO_POINTER (0x1E95), "/zlinebelow" }, { GUINT_TO_POINTER (0x1E96), "/hlinebelow" }, { GUINT_TO_POINTER (0x1E97), "/tdieresis" }, { GUINT_TO_POINTER (0x1E98), "/wring" }, { GUINT_TO_POINTER (0x1E99), "/yring" }, { GUINT_TO_POINTER (0x1E9A), "/arighthalfring" }, { GUINT_TO_POINTER (0x1E9B), "/slongdotaccent" }, { GUINT_TO_POINTER (0x1EA0), "/Adotbelow" }, { GUINT_TO_POINTER (0x1EA1), "/adotbelow" }, { GUINT_TO_POINTER (0x1EA2), "/Ahookabove" }, { GUINT_TO_POINTER (0x1EA3), "/ahookabove" }, { GUINT_TO_POINTER (0x1EA4), "/Acircumflexacute" }, { GUINT_TO_POINTER (0x1EA5), "/acircumflexacute" }, { GUINT_TO_POINTER (0x1EA6), "/Acircumflexgrave" }, { GUINT_TO_POINTER (0x1EA7), "/acircumflexgrave" }, { GUINT_TO_POINTER (0x1EA8), "/Acircumflexhookabove" }, { GUINT_TO_POINTER (0x1EA9), "/acircumflexhookabove" }, { GUINT_TO_POINTER (0x1EAA), "/Acircumflextilde" }, { GUINT_TO_POINTER (0x1EAB), "/acircumflextilde" }, { GUINT_TO_POINTER (0x1EAC), "/Acircumflexdotbelow" }, { GUINT_TO_POINTER (0x1EAD), "/acircumflexdotbelow" }, { GUINT_TO_POINTER (0x1EAE), "/Abreveacute" }, { GUINT_TO_POINTER (0x1EAF), "/abreveacute" }, { GUINT_TO_POINTER (0x1EB0), "/Abrevegrave" }, { GUINT_TO_POINTER (0x1EB1), "/abrevegrave" }, { GUINT_TO_POINTER (0x1EB2), "/Abrevehookabove" }, { GUINT_TO_POINTER (0x1EB3), "/abrevehookabove" }, { GUINT_TO_POINTER (0x1EB4), "/Abrevetilde" }, { GUINT_TO_POINTER (0x1EB5), "/abrevetilde" }, { GUINT_TO_POINTER (0x1EB6), "/Abrevedotbelow" }, { GUINT_TO_POINTER (0x1EB7), "/abrevedotbelow" }, { GUINT_TO_POINTER (0x1EB8), "/Edotbelow" }, { GUINT_TO_POINTER (0x1EB9), "/edotbelow" }, { GUINT_TO_POINTER (0x1EBA), "/Ehookabove" }, { GUINT_TO_POINTER (0x1EBB), "/ehookabove" }, { GUINT_TO_POINTER (0x1EBC), "/Etilde" }, { GUINT_TO_POINTER (0x1EBD), "/etilde" }, { GUINT_TO_POINTER (0x1EBE), "/Ecircumflexacute" }, { GUINT_TO_POINTER (0x1EBF), "/ecircumflexacute" }, { GUINT_TO_POINTER (0x1EC0), "/Ecircumflexgrave" }, { GUINT_TO_POINTER (0x1EC1), "/ecircumflexgrave" }, { GUINT_TO_POINTER (0x1EC2), "/Ecircumflexhookabove" }, { GUINT_TO_POINTER (0x1EC3), "/ecircumflexhookabove" }, { GUINT_TO_POINTER (0x1EC4), "/Ecircumflextilde" }, { GUINT_TO_POINTER (0x1EC5), "/ecircumflextilde" }, { GUINT_TO_POINTER (0x1EC6), "/Ecircumflexdotbelow" }, { GUINT_TO_POINTER (0x1EC7), "/ecircumflexdotbelow" }, { GUINT_TO_POINTER (0x1EC8), "/Ihookabove" }, { GUINT_TO_POINTER (0x1EC9), "/ihookabove" }, { GUINT_TO_POINTER (0x1ECA), "/Idotbelow" }, { GUINT_TO_POINTER (0x1ECB), "/idotbelow" }, { GUINT_TO_POINTER (0x1ECC), "/Odotbelow" }, { GUINT_TO_POINTER (0x1ECD), "/odotbelow" }, { GUINT_TO_POINTER (0x1ECE), "/Ohookabove" }, { GUINT_TO_POINTER (0x1ECF), "/ohookabove" }, { GUINT_TO_POINTER (0x1ED0), "/Ocircumflexacute" }, { GUINT_TO_POINTER (0x1ED1), "/ocircumflexacute" }, { GUINT_TO_POINTER (0x1ED2), "/Ocircumflexgrave" }, { GUINT_TO_POINTER (0x1ED3), "/ocircumflexgrave" }, { GUINT_TO_POINTER (0x1ED4), "/Ocircumflexhookabove" }, { GUINT_TO_POINTER (0x1ED5), "/ocircumflexhookabove" }, { GUINT_TO_POINTER (0x1ED6), "/Ocircumflextilde" }, { GUINT_TO_POINTER (0x1ED7), "/ocircumflextilde" }, { GUINT_TO_POINTER (0x1ED8), "/Ocircumflexdotbelow" }, { GUINT_TO_POINTER (0x1ED9), "/ocircumflexdotbelow" }, { GUINT_TO_POINTER (0x1EDA), "/Ohornacute" }, { GUINT_TO_POINTER (0x1EDB), "/ohornacute" }, { GUINT_TO_POINTER (0x1EDC), "/Ohorngrave" }, { GUINT_TO_POINTER (0x1EDD), "/ohorngrave" }, { GUINT_TO_POINTER (0x1EDE), "/Ohornhookabove" }, { GUINT_TO_POINTER (0x1EDF), "/ohornhookabove" }, { GUINT_TO_POINTER (0x1EE0), "/Ohorntilde" }, { GUINT_TO_POINTER (0x1EE1), "/ohorntilde" }, { GUINT_TO_POINTER (0x1EE2), "/Ohorndotbelow" }, { GUINT_TO_POINTER (0x1EE3), "/ohorndotbelow" }, { GUINT_TO_POINTER (0x1EE4), "/Udotbelow" }, { GUINT_TO_POINTER (0x1EE5), "/udotbelow" }, { GUINT_TO_POINTER (0x1EE6), "/Uhookabove" }, { GUINT_TO_POINTER (0x1EE7), "/uhookabove" }, { GUINT_TO_POINTER (0x1EE8), "/Uhornacute" }, { GUINT_TO_POINTER (0x1EE9), "/uhornacute" }, { GUINT_TO_POINTER (0x1EEA), "/Uhorngrave" }, { GUINT_TO_POINTER (0x1EEB), "/uhorngrave" }, { GUINT_TO_POINTER (0x1EEC), "/Uhornhookabove" }, { GUINT_TO_POINTER (0x1EED), "/uhornhookabove" }, { GUINT_TO_POINTER (0x1EEE), "/Uhorntilde" }, { GUINT_TO_POINTER (0x1EEF), "/uhorntilde" }, { GUINT_TO_POINTER (0x1EF0), "/Uhorndotbelow" }, { GUINT_TO_POINTER (0x1EF1), "/uhorndotbelow" }, { GUINT_TO_POINTER (0x1EF2), "/Ygrave" }, { GUINT_TO_POINTER (0x1EF3), "/ygrave" }, { GUINT_TO_POINTER (0x1EF4), "/Ydotbelow" }, { GUINT_TO_POINTER (0x1EF5), "/ydotbelow" }, { GUINT_TO_POINTER (0x1EF6), "/Yhookabove" }, { GUINT_TO_POINTER (0x1EF7), "/yhookabove" }, { GUINT_TO_POINTER (0x1EF8), "/Ytilde" }, { GUINT_TO_POINTER (0x1EF9), "/ytilde" }, { GUINT_TO_POINTER (0x2002), "/enspace" }, { GUINT_TO_POINTER (0x200B), "/zerowidthspace" }, { GUINT_TO_POINTER (0x200C), "/afii61664" }, { GUINT_TO_POINTER (0x200D), "/afii301" }, { GUINT_TO_POINTER (0x200E), "/afii299" }, { GUINT_TO_POINTER (0x200F), "/afii300" }, { GUINT_TO_POINTER (0x2010), "/hyphentwo" }, { GUINT_TO_POINTER (0x2012), "/figuredash" }, { GUINT_TO_POINTER (0x2013), "/endash" }, { GUINT_TO_POINTER (0x2014), "/emdash" }, { GUINT_TO_POINTER (0x2015), "/afii00208" }, { GUINT_TO_POINTER (0x2016), "/dblverticalbar" }, { GUINT_TO_POINTER (0x2017), "/underscoredbl" }, { GUINT_TO_POINTER (0x2018), "/quoteleft" }, { GUINT_TO_POINTER (0x2019), "/quoteright" }, { GUINT_TO_POINTER (0x201A), "/quotesinglbase" }, { GUINT_TO_POINTER (0x201B), "/quotereversed" }, { GUINT_TO_POINTER (0x201C), "/quotedblleft" }, { GUINT_TO_POINTER (0x201D), "/quotedblright" }, { GUINT_TO_POINTER (0x201E), "/quotedblbase" }, { GUINT_TO_POINTER (0x2020), "/dagger" }, { GUINT_TO_POINTER (0x2021), "/daggerdbl" }, { GUINT_TO_POINTER (0x2022), "/bullet" }, { GUINT_TO_POINTER (0x2024), "/onedotenleader" }, { GUINT_TO_POINTER (0x2025), "/twodotenleader" }, { GUINT_TO_POINTER (0x2026), "/ellipsis" }, { GUINT_TO_POINTER (0x202C), "/afii61573" }, { GUINT_TO_POINTER (0x202D), "/afii61574" }, { GUINT_TO_POINTER (0x202E), "/afii61575" }, { GUINT_TO_POINTER (0x2030), "/perthousand" }, { GUINT_TO_POINTER (0x2032), "/minute" }, { GUINT_TO_POINTER (0x2033), "/second" }, { GUINT_TO_POINTER (0x2035), "/primereversed" }, { GUINT_TO_POINTER (0x2039), "/guilsinglleft" }, { GUINT_TO_POINTER (0x203A), "/guilsinglright" }, { GUINT_TO_POINTER (0x203B), "/referencemark" }, { GUINT_TO_POINTER (0x203C), "/exclamdbl" }, { GUINT_TO_POINTER (0x203E), "/overline" }, { GUINT_TO_POINTER (0x2042), "/asterism" }, { GUINT_TO_POINTER (0x2044), "/fraction" }, { GUINT_TO_POINTER (0x2070), "/zerosuperior" }, { GUINT_TO_POINTER (0x2074), "/foursuperior" }, { GUINT_TO_POINTER (0x2075), "/fivesuperior" }, { GUINT_TO_POINTER (0x2076), "/sixsuperior" }, { GUINT_TO_POINTER (0x2077), "/sevensuperior" }, { GUINT_TO_POINTER (0x2078), "/eightsuperior" }, { GUINT_TO_POINTER (0x2079), "/ninesuperior" }, { GUINT_TO_POINTER (0x207A), "/plussuperior" }, { GUINT_TO_POINTER (0x207C), "/equalsuperior" }, { GUINT_TO_POINTER (0x207D), "/parenleftsuperior" }, { GUINT_TO_POINTER (0x207E), "/parenrightsuperior" }, { GUINT_TO_POINTER (0x207F), "/nsuperior" }, { GUINT_TO_POINTER (0x2080), "/zeroinferior" }, { GUINT_TO_POINTER (0x2081), "/oneinferior" }, { GUINT_TO_POINTER (0x2082), "/twoinferior" }, { GUINT_TO_POINTER (0x2083), "/threeinferior" }, { GUINT_TO_POINTER (0x2084), "/fourinferior" }, { GUINT_TO_POINTER (0x2085), "/fiveinferior" }, { GUINT_TO_POINTER (0x2086), "/sixinferior" }, { GUINT_TO_POINTER (0x2087), "/seveninferior" }, { GUINT_TO_POINTER (0x2088), "/eightinferior" }, { GUINT_TO_POINTER (0x2089), "/nineinferior" }, { GUINT_TO_POINTER (0x208D), "/parenleftinferior" }, { GUINT_TO_POINTER (0x208E), "/parenrightinferior" }, { GUINT_TO_POINTER (0x20A1), "/colonmonetary" }, { GUINT_TO_POINTER (0x20A2), "/cruzeiro" }, { GUINT_TO_POINTER (0x20A3), "/franc" }, { GUINT_TO_POINTER (0x20A4), "/lira" }, { GUINT_TO_POINTER (0x20A7), "/peseta" }, { GUINT_TO_POINTER (0x20A9), "/won" }, { GUINT_TO_POINTER (0x20AA), "/afii57636" }, { GUINT_TO_POINTER (0x20AB), "/dong" }, { GUINT_TO_POINTER (0x20AC), "/Euro" }, { GUINT_TO_POINTER (0x2103), "/centigrade" }, { GUINT_TO_POINTER (0x2105), "/afii61248" }, { GUINT_TO_POINTER (0x2109), "/fahrenheit" }, { GUINT_TO_POINTER (0x2111), "/Ifraktur" }, { GUINT_TO_POINTER (0x2113), "/afii61289" }, { GUINT_TO_POINTER (0x2116), "/afii61352" }, { GUINT_TO_POINTER (0x2118), "/weierstrass" }, { GUINT_TO_POINTER (0x211C), "/Rfraktur" }, { GUINT_TO_POINTER (0x211E), "/prescription" }, { GUINT_TO_POINTER (0x2121), "/telephone" }, { GUINT_TO_POINTER (0x2122), "/trademark" }, { GUINT_TO_POINTER (0x2126), "/Omega" }, { GUINT_TO_POINTER (0x212B), "/angstrom" }, { GUINT_TO_POINTER (0x212E), "/estimated" }, { GUINT_TO_POINTER (0x2135), "/aleph" }, { GUINT_TO_POINTER (0x2153), "/onethird" }, { GUINT_TO_POINTER (0x2154), "/twothirds" }, { GUINT_TO_POINTER (0x215B), "/oneeighth" }, { GUINT_TO_POINTER (0x215C), "/threeeighths" }, { GUINT_TO_POINTER (0x215D), "/fiveeighths" }, { GUINT_TO_POINTER (0x215E), "/seveneighths" }, { GUINT_TO_POINTER (0x2160), "/Oneroman" }, { GUINT_TO_POINTER (0x2161), "/Tworoman" }, { GUINT_TO_POINTER (0x2162), "/Threeroman" }, { GUINT_TO_POINTER (0x2163), "/Fourroman" }, { GUINT_TO_POINTER (0x2164), "/Fiveroman" }, { GUINT_TO_POINTER (0x2165), "/Sixroman" }, { GUINT_TO_POINTER (0x2166), "/Sevenroman" }, { GUINT_TO_POINTER (0x2167), "/Eightroman" }, { GUINT_TO_POINTER (0x2168), "/Nineroman" }, { GUINT_TO_POINTER (0x2169), "/Tenroman" }, { GUINT_TO_POINTER (0x216A), "/Elevenroman" }, { GUINT_TO_POINTER (0x216B), "/Twelveroman" }, { GUINT_TO_POINTER (0x2170), "/oneroman" }, { GUINT_TO_POINTER (0x2171), "/tworoman" }, { GUINT_TO_POINTER (0x2172), "/threeroman" }, { GUINT_TO_POINTER (0x2173), "/fourroman" }, { GUINT_TO_POINTER (0x2174), "/fiveroman" }, { GUINT_TO_POINTER (0x2175), "/sixroman" }, { GUINT_TO_POINTER (0x2176), "/sevenroman" }, { GUINT_TO_POINTER (0x2177), "/eightroman" }, { GUINT_TO_POINTER (0x2178), "/nineroman" }, { GUINT_TO_POINTER (0x2179), "/tenroman" }, { GUINT_TO_POINTER (0x217A), "/elevenroman" }, { GUINT_TO_POINTER (0x217B), "/twelveroman" }, { GUINT_TO_POINTER (0x2190), "/arrowleft" }, { GUINT_TO_POINTER (0x2191), "/arrowup" }, { GUINT_TO_POINTER (0x2192), "/arrowright" }, { GUINT_TO_POINTER (0x2193), "/arrowdown" }, { GUINT_TO_POINTER (0x2194), "/arrowboth" }, { GUINT_TO_POINTER (0x2195), "/arrowupdn" }, { GUINT_TO_POINTER (0x2196), "/arrowupleft" }, { GUINT_TO_POINTER (0x2197), "/arrowupright" }, { GUINT_TO_POINTER (0x2198), "/arrowdownright" }, { GUINT_TO_POINTER (0x2199), "/arrowdownleft" }, { GUINT_TO_POINTER (0x21A8), "/arrowupdnbse" }, { GUINT_TO_POINTER (0x21B5), "/carriagereturn" }, { GUINT_TO_POINTER (0x21BC), "/harpoonleftbarbup" }, { GUINT_TO_POINTER (0x21C0), "/harpoonrightbarbup" }, { GUINT_TO_POINTER (0x21C4), "/arrowrightoverleft" }, { GUINT_TO_POINTER (0x21C5), "/arrowupleftofdown" }, { GUINT_TO_POINTER (0x21C6), "/arrowleftoverright" }, { GUINT_TO_POINTER (0x21CD), "/arrowleftdblstroke" }, { GUINT_TO_POINTER (0x21CF), "/arrowrightdblstroke" }, { GUINT_TO_POINTER (0x21D0), "/arrowdblleft" }, { GUINT_TO_POINTER (0x21D1), "/arrowdblup" }, { GUINT_TO_POINTER (0x21D2), "/arrowdblright" }, { GUINT_TO_POINTER (0x21D3), "/arrowdbldown" }, { GUINT_TO_POINTER (0x21D4), "/arrowdblboth" }, { GUINT_TO_POINTER (0x21DE), "/pageup" }, { GUINT_TO_POINTER (0x21DF), "/pagedown" }, { GUINT_TO_POINTER (0x21E0), "/arrowdashleft" }, { GUINT_TO_POINTER (0x21E1), "/arrowdashup" }, { GUINT_TO_POINTER (0x21E2), "/arrowdashright" }, { GUINT_TO_POINTER (0x21E3), "/arrowdashdown" }, { GUINT_TO_POINTER (0x21E4), "/arrowtableft" }, { GUINT_TO_POINTER (0x21E5), "/arrowtabright" }, { GUINT_TO_POINTER (0x21E6), "/arrowleftwhite" }, { GUINT_TO_POINTER (0x21E7), "/arrowupwhite" }, { GUINT_TO_POINTER (0x21E8), "/arrowrightwhite" }, { GUINT_TO_POINTER (0x21E9), "/arrowdownwhite" }, { GUINT_TO_POINTER (0x21EA), "/capslock" }, { GUINT_TO_POINTER (0x2200), "/universal" }, { GUINT_TO_POINTER (0x2202), "/partialdiff" }, { GUINT_TO_POINTER (0x2203), "/existential" }, { GUINT_TO_POINTER (0x2205), "/emptyset" }, { GUINT_TO_POINTER (0x2206), "/Delta" }, { GUINT_TO_POINTER (0x2207), "/gradient" }, { GUINT_TO_POINTER (0x2208), "/element" }, { GUINT_TO_POINTER (0x2209), "/notelement" }, { GUINT_TO_POINTER (0x220B), "/suchthat" }, { GUINT_TO_POINTER (0x220C), "/notcontains" }, { GUINT_TO_POINTER (0x220F), "/product" }, { GUINT_TO_POINTER (0x2211), "/summation" }, { GUINT_TO_POINTER (0x2212), "/minus" }, { GUINT_TO_POINTER (0x2213), "/minusplus" }, { GUINT_TO_POINTER (0x2215), "/divisionslash" }, { GUINT_TO_POINTER (0x2217), "/asteriskmath" }, { GUINT_TO_POINTER (0x2219), "/bulletoperator" }, { GUINT_TO_POINTER (0x221A), "/radical" }, { GUINT_TO_POINTER (0x221D), "/proportional" }, { GUINT_TO_POINTER (0x221E), "/infinity" }, { GUINT_TO_POINTER (0x221F), "/orthogonal" }, { GUINT_TO_POINTER (0x2220), "/angle" }, { GUINT_TO_POINTER (0x2223), "/divides" }, { GUINT_TO_POINTER (0x2225), "/parallel" }, { GUINT_TO_POINTER (0x2226), "/notparallel" }, { GUINT_TO_POINTER (0x2227), "/logicaland" }, { GUINT_TO_POINTER (0x2228), "/logicalor" }, { GUINT_TO_POINTER (0x2229), "/intersection" }, { GUINT_TO_POINTER (0x222A), "/union" }, { GUINT_TO_POINTER (0x222B), "/integral" }, { GUINT_TO_POINTER (0x222C), "/dblintegral" }, { GUINT_TO_POINTER (0x222E), "/contourintegral" }, { GUINT_TO_POINTER (0x2234), "/therefore" }, { GUINT_TO_POINTER (0x2235), "/because" }, { GUINT_TO_POINTER (0x2236), "/ratio" }, { GUINT_TO_POINTER (0x2237), "/proportion" }, { GUINT_TO_POINTER (0x223C), "/similar" }, { GUINT_TO_POINTER (0x223D), "/reversedtilde" }, { GUINT_TO_POINTER (0x2243), "/asymptoticallyequal" }, { GUINT_TO_POINTER (0x2245), "/congruent" }, { GUINT_TO_POINTER (0x2248), "/approxequal" }, { GUINT_TO_POINTER (0x224C), "/allequal" }, { GUINT_TO_POINTER (0x2250), "/approaches" }, { GUINT_TO_POINTER (0x2251), "/geometricallyequal" }, { GUINT_TO_POINTER (0x2252), "/approxequalorimage" }, { GUINT_TO_POINTER (0x2253), "/imageorapproximatelyequal" }, { GUINT_TO_POINTER (0x2260), "/notequal" }, { GUINT_TO_POINTER (0x2261), "/equivalence" }, { GUINT_TO_POINTER (0x2262), "/notidentical" }, { GUINT_TO_POINTER (0x2264), "/lessequal" }, { GUINT_TO_POINTER (0x2265), "/greaterequal" }, { GUINT_TO_POINTER (0x2266), "/lessoverequal" }, { GUINT_TO_POINTER (0x2267), "/greateroverequal" }, { GUINT_TO_POINTER (0x226A), "/muchless" }, { GUINT_TO_POINTER (0x226B), "/muchgreater" }, { GUINT_TO_POINTER (0x226E), "/notless" }, { GUINT_TO_POINTER (0x226F), "/notgreater" }, { GUINT_TO_POINTER (0x2270), "/notlessnorequal" }, { GUINT_TO_POINTER (0x2271), "/notgreaternorequal" }, { GUINT_TO_POINTER (0x2272), "/lessorequivalent" }, { GUINT_TO_POINTER (0x2273), "/greaterorequivalent" }, { GUINT_TO_POINTER (0x2276), "/lessorgreater" }, { GUINT_TO_POINTER (0x2277), "/greaterorless" }, { GUINT_TO_POINTER (0x2279), "/notgreaternorless" }, { GUINT_TO_POINTER (0x227A), "/precedes" }, { GUINT_TO_POINTER (0x227B), "/succeeds" }, { GUINT_TO_POINTER (0x2280), "/notprecedes" }, { GUINT_TO_POINTER (0x2281), "/notsucceeds" }, { GUINT_TO_POINTER (0x2282), "/propersubset" }, { GUINT_TO_POINTER (0x2283), "/propersuperset" }, { GUINT_TO_POINTER (0x2284), "/notsubset" }, { GUINT_TO_POINTER (0x2285), "/notsuperset" }, { GUINT_TO_POINTER (0x2286), "/reflexsubset" }, { GUINT_TO_POINTER (0x2287), "/reflexsuperset" }, { GUINT_TO_POINTER (0x228A), "/subsetnotequal" }, { GUINT_TO_POINTER (0x228B), "/supersetnotequal" }, { GUINT_TO_POINTER (0x2295), "/circleplus" }, { GUINT_TO_POINTER (0x2296), "/minuscircle" }, { GUINT_TO_POINTER (0x2297), "/circlemultiply" }, { GUINT_TO_POINTER (0x2299), "/circleot" }, { GUINT_TO_POINTER (0x22A3), "/tackleft" }, { GUINT_TO_POINTER (0x22A4), "/tackdown" }, { GUINT_TO_POINTER (0x22A5), "/perpendicular" }, { GUINT_TO_POINTER (0x22BF), "/righttriangle" }, { GUINT_TO_POINTER (0x22C5), "/dotmath" }, { GUINT_TO_POINTER (0x22CE), "/curlyor" }, { GUINT_TO_POINTER (0x22CF), "/curlyand" }, { GUINT_TO_POINTER (0x22DA), "/lessequalorgreater" }, { GUINT_TO_POINTER (0x22DB), "/greaterequalorless" }, { GUINT_TO_POINTER (0x22EE), "/ellipsisvertical" }, { GUINT_TO_POINTER (0x2302), "/house" }, { GUINT_TO_POINTER (0x2303), "/control" }, { GUINT_TO_POINTER (0x2305), "/projective" }, { GUINT_TO_POINTER (0x2310), "/revlogicalnot" }, { GUINT_TO_POINTER (0x2312), "/arc" }, { GUINT_TO_POINTER (0x2318), "/propellor" }, { GUINT_TO_POINTER (0x2320), "/integraltp" }, { GUINT_TO_POINTER (0x2321), "/integralbt" }, { GUINT_TO_POINTER (0x2325), "/option" }, { GUINT_TO_POINTER (0x2326), "/deleteright" }, { GUINT_TO_POINTER (0x2327), "/clear" }, { GUINT_TO_POINTER (0x2329), "/angleleft" }, { GUINT_TO_POINTER (0x232A), "/angleright" }, { GUINT_TO_POINTER (0x232B), "/deleteleft" }, { GUINT_TO_POINTER (0x2423), "/blank" }, { GUINT_TO_POINTER (0x2460), "/onecircle" }, { GUINT_TO_POINTER (0x2461), "/twocircle" }, { GUINT_TO_POINTER (0x2462), "/threecircle" }, { GUINT_TO_POINTER (0x2463), "/fourcircle" }, { GUINT_TO_POINTER (0x2464), "/fivecircle" }, { GUINT_TO_POINTER (0x2465), "/sixcircle" }, { GUINT_TO_POINTER (0x2466), "/sevencircle" }, { GUINT_TO_POINTER (0x2467), "/eightcircle" }, { GUINT_TO_POINTER (0x2468), "/ninecircle" }, { GUINT_TO_POINTER (0x2469), "/tencircle" }, { GUINT_TO_POINTER (0x246A), "/elevencircle" }, { GUINT_TO_POINTER (0x246B), "/twelvecircle" }, { GUINT_TO_POINTER (0x246C), "/thirteencircle" }, { GUINT_TO_POINTER (0x246D), "/fourteencircle" }, { GUINT_TO_POINTER (0x246E), "/fifteencircle" }, { GUINT_TO_POINTER (0x246F), "/sixteencircle" }, { GUINT_TO_POINTER (0x2470), "/seventeencircle" }, { GUINT_TO_POINTER (0x2471), "/eighteencircle" }, { GUINT_TO_POINTER (0x2472), "/nineteencircle" }, { GUINT_TO_POINTER (0x2473), "/twentycircle" }, { GUINT_TO_POINTER (0x2474), "/oneparen" }, { GUINT_TO_POINTER (0x2475), "/twoparen" }, { GUINT_TO_POINTER (0x2476), "/threeparen" }, { GUINT_TO_POINTER (0x2477), "/fourparen" }, { GUINT_TO_POINTER (0x2478), "/fiveparen" }, { GUINT_TO_POINTER (0x2479), "/sixparen" }, { GUINT_TO_POINTER (0x247A), "/sevenparen" }, { GUINT_TO_POINTER (0x247B), "/eightparen" }, { GUINT_TO_POINTER (0x247C), "/nineparen" }, { GUINT_TO_POINTER (0x247D), "/tenparen" }, { GUINT_TO_POINTER (0x247E), "/elevenparen" }, { GUINT_TO_POINTER (0x247F), "/twelveparen" }, { GUINT_TO_POINTER (0x2480), "/thirteenparen" }, { GUINT_TO_POINTER (0x2481), "/fourteenparen" }, { GUINT_TO_POINTER (0x2482), "/fifteenparen" }, { GUINT_TO_POINTER (0x2483), "/sixteenparen" }, { GUINT_TO_POINTER (0x2484), "/seventeenparen" }, { GUINT_TO_POINTER (0x2485), "/eighteenparen" }, { GUINT_TO_POINTER (0x2486), "/nineteenparen" }, { GUINT_TO_POINTER (0x2487), "/twentyparen" }, { GUINT_TO_POINTER (0x2488), "/oneperiod" }, { GUINT_TO_POINTER (0x2489), "/twoperiod" }, { GUINT_TO_POINTER (0x248A), "/threeperiod" }, { GUINT_TO_POINTER (0x248B), "/fourperiod" }, { GUINT_TO_POINTER (0x248C), "/fiveperiod" }, { GUINT_TO_POINTER (0x248D), "/sixperiod" }, { GUINT_TO_POINTER (0x248E), "/sevenperiod" }, { GUINT_TO_POINTER (0x248F), "/eightperiod" }, { GUINT_TO_POINTER (0x2490), "/nineperiod" }, { GUINT_TO_POINTER (0x2491), "/tenperiod" }, { GUINT_TO_POINTER (0x2492), "/elevenperiod" }, { GUINT_TO_POINTER (0x2493), "/twelveperiod" }, { GUINT_TO_POINTER (0x2494), "/thirteenperiod" }, { GUINT_TO_POINTER (0x2495), "/fourteenperiod" }, { GUINT_TO_POINTER (0x2496), "/fifteenperiod" }, { GUINT_TO_POINTER (0x2497), "/sixteenperiod" }, { GUINT_TO_POINTER (0x2498), "/seventeenperiod" }, { GUINT_TO_POINTER (0x2499), "/eighteenperiod" }, { GUINT_TO_POINTER (0x249A), "/nineteenperiod" }, { GUINT_TO_POINTER (0x249B), "/twentyperiod" }, { GUINT_TO_POINTER (0x249C), "/aparen" }, { GUINT_TO_POINTER (0x249D), "/bparen" }, { GUINT_TO_POINTER (0x249E), "/cparen" }, { GUINT_TO_POINTER (0x249F), "/dparen" }, { GUINT_TO_POINTER (0x24A0), "/eparen" }, { GUINT_TO_POINTER (0x24A1), "/fparen" }, { GUINT_TO_POINTER (0x24A2), "/gparen" }, { GUINT_TO_POINTER (0x24A3), "/hparen" }, { GUINT_TO_POINTER (0x24A4), "/iparen" }, { GUINT_TO_POINTER (0x24A5), "/jparen" }, { GUINT_TO_POINTER (0x24A6), "/kparen" }, { GUINT_TO_POINTER (0x24A7), "/lparen" }, { GUINT_TO_POINTER (0x24A8), "/mparen" }, { GUINT_TO_POINTER (0x24A9), "/nparen" }, { GUINT_TO_POINTER (0x24AA), "/oparen" }, { GUINT_TO_POINTER (0x24AB), "/pparen" }, { GUINT_TO_POINTER (0x24AC), "/qparen" }, { GUINT_TO_POINTER (0x24AD), "/rparen" }, { GUINT_TO_POINTER (0x24AE), "/sparen" }, { GUINT_TO_POINTER (0x24AF), "/tparen" }, { GUINT_TO_POINTER (0x24B0), "/uparen" }, { GUINT_TO_POINTER (0x24B1), "/vparen" }, { GUINT_TO_POINTER (0x24B2), "/wparen" }, { GUINT_TO_POINTER (0x24B3), "/xparen" }, { GUINT_TO_POINTER (0x24B4), "/yparen" }, { GUINT_TO_POINTER (0x24B5), "/zparen" }, { GUINT_TO_POINTER (0x24B6), "/Acircle" }, { GUINT_TO_POINTER (0x24B7), "/Bcircle" }, { GUINT_TO_POINTER (0x24B8), "/Ccircle" }, { GUINT_TO_POINTER (0x24B9), "/Dcircle" }, { GUINT_TO_POINTER (0x24BA), "/Ecircle" }, { GUINT_TO_POINTER (0x24BB), "/Fcircle" }, { GUINT_TO_POINTER (0x24BC), "/Gcircle" }, { GUINT_TO_POINTER (0x24BD), "/Hcircle" }, { GUINT_TO_POINTER (0x24BE), "/Icircle" }, { GUINT_TO_POINTER (0x24BF), "/Jcircle" }, { GUINT_TO_POINTER (0x24C0), "/Kcircle" }, { GUINT_TO_POINTER (0x24C1), "/Lcircle" }, { GUINT_TO_POINTER (0x24C2), "/Mcircle" }, { GUINT_TO_POINTER (0x24C3), "/Ncircle" }, { GUINT_TO_POINTER (0x24C4), "/Ocircle" }, { GUINT_TO_POINTER (0x24C5), "/Pcircle" }, { GUINT_TO_POINTER (0x24C6), "/Qcircle" }, { GUINT_TO_POINTER (0x24C7), "/Rcircle" }, { GUINT_TO_POINTER (0x24C8), "/Scircle" }, { GUINT_TO_POINTER (0x24C9), "/Tcircle" }, { GUINT_TO_POINTER (0x24CA), "/Ucircle" }, { GUINT_TO_POINTER (0x24CB), "/Vcircle" }, { GUINT_TO_POINTER (0x24CC), "/Wcircle" }, { GUINT_TO_POINTER (0x24CD), "/Xcircle" }, { GUINT_TO_POINTER (0x24CE), "/Ycircle" }, { GUINT_TO_POINTER (0x24CF), "/Zcircle" }, { GUINT_TO_POINTER (0x24D0), "/acircle" }, { GUINT_TO_POINTER (0x24D1), "/bcircle" }, { GUINT_TO_POINTER (0x24D2), "/ccircle" }, { GUINT_TO_POINTER (0x24D3), "/dcircle" }, { GUINT_TO_POINTER (0x24D4), "/ecircle" }, { GUINT_TO_POINTER (0x24D5), "/fcircle" }, { GUINT_TO_POINTER (0x24D6), "/gcircle" }, { GUINT_TO_POINTER (0x24D7), "/hcircle" }, { GUINT_TO_POINTER (0x24D8), "/icircle" }, { GUINT_TO_POINTER (0x24D9), "/jcircle" }, { GUINT_TO_POINTER (0x24DA), "/kcircle" }, { GUINT_TO_POINTER (0x24DB), "/lcircle" }, { GUINT_TO_POINTER (0x24DC), "/mcircle" }, { GUINT_TO_POINTER (0x24DD), "/ncircle" }, { GUINT_TO_POINTER (0x24DE), "/ocircle" }, { GUINT_TO_POINTER (0x24DF), "/pcircle" }, { GUINT_TO_POINTER (0x24E0), "/qcircle" }, { GUINT_TO_POINTER (0x24E1), "/rcircle" }, { GUINT_TO_POINTER (0x24E2), "/scircle" }, { GUINT_TO_POINTER (0x24E3), "/tcircle" }, { GUINT_TO_POINTER (0x24E4), "/ucircle" }, { GUINT_TO_POINTER (0x24E5), "/vcircle" }, { GUINT_TO_POINTER (0x24E6), "/wcircle" }, { GUINT_TO_POINTER (0x24E7), "/xcircle" }, { GUINT_TO_POINTER (0x24E8), "/ycircle" }, { GUINT_TO_POINTER (0x24E9), "/zcircle" }, { GUINT_TO_POINTER (0x2500), "/SF100000" }, { GUINT_TO_POINTER (0x2502), "/SF110000" }, { GUINT_TO_POINTER (0x250C), "/SF010000" }, { GUINT_TO_POINTER (0x2510), "/SF030000" }, { GUINT_TO_POINTER (0x2514), "/SF020000" }, { GUINT_TO_POINTER (0x2518), "/SF040000" }, { GUINT_TO_POINTER (0x251C), "/SF080000" }, { GUINT_TO_POINTER (0x2524), "/SF090000" }, { GUINT_TO_POINTER (0x252C), "/SF060000" }, { GUINT_TO_POINTER (0x2534), "/SF070000" }, { GUINT_TO_POINTER (0x253C), "/SF050000" }, { GUINT_TO_POINTER (0x2550), "/SF430000" }, { GUINT_TO_POINTER (0x2551), "/SF240000" }, { GUINT_TO_POINTER (0x2552), "/SF510000" }, { GUINT_TO_POINTER (0x2553), "/SF520000" }, { GUINT_TO_POINTER (0x2554), "/SF390000" }, { GUINT_TO_POINTER (0x2555), "/SF220000" }, { GUINT_TO_POINTER (0x2556), "/SF210000" }, { GUINT_TO_POINTER (0x2557), "/SF250000" }, { GUINT_TO_POINTER (0x2558), "/SF500000" }, { GUINT_TO_POINTER (0x2559), "/SF490000" }, { GUINT_TO_POINTER (0x255A), "/SF380000" }, { GUINT_TO_POINTER (0x255B), "/SF280000" }, { GUINT_TO_POINTER (0x255C), "/SF270000" }, { GUINT_TO_POINTER (0x255D), "/SF260000" }, { GUINT_TO_POINTER (0x255E), "/SF360000" }, { GUINT_TO_POINTER (0x255F), "/SF370000" }, { GUINT_TO_POINTER (0x2560), "/SF420000" }, { GUINT_TO_POINTER (0x2561), "/SF190000" }, { GUINT_TO_POINTER (0x2562), "/SF200000" }, { GUINT_TO_POINTER (0x2563), "/SF230000" }, { GUINT_TO_POINTER (0x2564), "/SF470000" }, { GUINT_TO_POINTER (0x2565), "/SF480000" }, { GUINT_TO_POINTER (0x2566), "/SF410000" }, { GUINT_TO_POINTER (0x2567), "/SF450000" }, { GUINT_TO_POINTER (0x2568), "/SF460000" }, { GUINT_TO_POINTER (0x2569), "/SF400000" }, { GUINT_TO_POINTER (0x256A), "/SF540000" }, { GUINT_TO_POINTER (0x256B), "/SF530000" }, { GUINT_TO_POINTER (0x256C), "/SF440000" }, { GUINT_TO_POINTER (0x2580), "/upblock" }, { GUINT_TO_POINTER (0x2584), "/dnblock" }, { GUINT_TO_POINTER (0x2588), "/block" }, { GUINT_TO_POINTER (0x258C), "/lfblock" }, { GUINT_TO_POINTER (0x2590), "/rtblock" }, { GUINT_TO_POINTER (0x2591), "/ltshade" }, { GUINT_TO_POINTER (0x2592), "/shade" }, { GUINT_TO_POINTER (0x2593), "/dkshade" }, { GUINT_TO_POINTER (0x25A0), "/filledbox" }, { GUINT_TO_POINTER (0x25A1), "/H22073" }, { GUINT_TO_POINTER (0x25A3), "/squarewhitewithsmallblack" }, { GUINT_TO_POINTER (0x25A4), "/squarehorizontalfill" }, { GUINT_TO_POINTER (0x25A5), "/squareverticalfill" }, { GUINT_TO_POINTER (0x25A6), "/squareorthogonalcrosshatchfill" }, { GUINT_TO_POINTER (0x25A7), "/squareupperlefttolowerrightfill" }, { GUINT_TO_POINTER (0x25A8), "/squareupperrighttolowerleftfill" }, { GUINT_TO_POINTER (0x25A9), "/squarediagonalcrosshatchfill" }, { GUINT_TO_POINTER (0x25AA), "/H18543" }, { GUINT_TO_POINTER (0x25AB), "/H18551" }, { GUINT_TO_POINTER (0x25AC), "/filledrect" }, { GUINT_TO_POINTER (0x25B2), "/triagup" }, { GUINT_TO_POINTER (0x25B3), "/whiteuppointingtriangle" }, { GUINT_TO_POINTER (0x25B4), "/blackuppointingsmalltriangle" }, { GUINT_TO_POINTER (0x25B5), "/whiteuppointingsmalltriangle" }, { GUINT_TO_POINTER (0x25B6), "/blackrightpointingtriangle" }, { GUINT_TO_POINTER (0x25B7), "/whiterightpointingtriangle" }, { GUINT_TO_POINTER (0x25B9), "/whiterightpointingsmalltriangle" }, { GUINT_TO_POINTER (0x25BA), "/triagrt" }, { GUINT_TO_POINTER (0x25BC), "/triagdn" }, { GUINT_TO_POINTER (0x25BD), "/whitedownpointingtriangle" }, { GUINT_TO_POINTER (0x25BF), "/whitedownpointingsmalltriangle" }, { GUINT_TO_POINTER (0x25C0), "/blackleftpointingtriangle" }, { GUINT_TO_POINTER (0x25C1), "/whiteleftpointingtriangle" }, { GUINT_TO_POINTER (0x25C3), "/whiteleftpointingsmalltriangle" }, { GUINT_TO_POINTER (0x25C4), "/triaglf" }, { GUINT_TO_POINTER (0x25C6), "/blackdiamond" }, { GUINT_TO_POINTER (0x25C7), "/whitediamond" }, { GUINT_TO_POINTER (0x25C8), "/whitediamondcontainingblacksmalldiamond" }, { GUINT_TO_POINTER (0x25C9), "/fisheye" }, { GUINT_TO_POINTER (0x25CA), "/lozenge" }, { GUINT_TO_POINTER (0x25CB), "/circle" }, { GUINT_TO_POINTER (0x25CC), "/dottedcircle" }, { GUINT_TO_POINTER (0x25CE), "/bullseye" }, { GUINT_TO_POINTER (0x25CF), "/H18533" }, { GUINT_TO_POINTER (0x25D0), "/circlewithlefthalfblack" }, { GUINT_TO_POINTER (0x25D1), "/circlewithrighthalfblack" }, { GUINT_TO_POINTER (0x25D8), "/invbullet" }, { GUINT_TO_POINTER (0x25D9), "/invcircle" }, { GUINT_TO_POINTER (0x25E2), "/blacklowerrighttriangle" }, { GUINT_TO_POINTER (0x25E3), "/blacklowerlefttriangle" }, { GUINT_TO_POINTER (0x25E4), "/blackupperlefttriangle" }, { GUINT_TO_POINTER (0x25E5), "/blackupperrighttriangle" }, { GUINT_TO_POINTER (0x25E6), "/openbullet" }, { GUINT_TO_POINTER (0x25EF), "/largecircle" }, { GUINT_TO_POINTER (0x2605), "/blackstar" }, { GUINT_TO_POINTER (0x2606), "/whitestar" }, { GUINT_TO_POINTER (0x260E), "/telephoneblack" }, { GUINT_TO_POINTER (0x260F), "/whitetelephone" }, { GUINT_TO_POINTER (0x261C), "/pointingindexleftwhite" }, { GUINT_TO_POINTER (0x261D), "/pointingindexupwhite" }, { GUINT_TO_POINTER (0x261E), "/pointingindexrightwhite" }, { GUINT_TO_POINTER (0x261F), "/pointingindexdownwhite" }, { GUINT_TO_POINTER (0x262F), "/yinyang" }, { GUINT_TO_POINTER (0x263A), "/smileface" }, { GUINT_TO_POINTER (0x263B), "/invsmileface" }, { GUINT_TO_POINTER (0x263C), "/sun" }, { GUINT_TO_POINTER (0x2640), "/female" }, { GUINT_TO_POINTER (0x2641), "/earth" }, { GUINT_TO_POINTER (0x2642), "/male" }, { GUINT_TO_POINTER (0x2660), "/spade" }, { GUINT_TO_POINTER (0x2661), "/heartsuitwhite" }, { GUINT_TO_POINTER (0x2662), "/diamondsuitwhite" }, { GUINT_TO_POINTER (0x2663), "/club" }, { GUINT_TO_POINTER (0x2664), "/spadesuitwhite" }, { GUINT_TO_POINTER (0x2665), "/heart" }, { GUINT_TO_POINTER (0x2666), "/diamond" }, { GUINT_TO_POINTER (0x2667), "/clubsuitwhite" }, { GUINT_TO_POINTER (0x2668), "/hotsprings" }, { GUINT_TO_POINTER (0x2669), "/quarternote" }, { GUINT_TO_POINTER (0x266A), "/musicalnote" }, { GUINT_TO_POINTER (0x266B), "/musicalnotedbl" }, { GUINT_TO_POINTER (0x266C), "/beamedsixteenthnotes" }, { GUINT_TO_POINTER (0x266D), "/musicflatsign" }, { GUINT_TO_POINTER (0x266F), "/musicsharpsign" }, { GUINT_TO_POINTER (0x2713), "/checkmark" }, { GUINT_TO_POINTER (0x278A), "/onecircleinversesansserif" }, { GUINT_TO_POINTER (0x278B), "/twocircleinversesansserif" }, { GUINT_TO_POINTER (0x278C), "/threecircleinversesansserif" }, { GUINT_TO_POINTER (0x278D), "/fourcircleinversesansserif" }, { GUINT_TO_POINTER (0x278E), "/fivecircleinversesansserif" }, { GUINT_TO_POINTER (0x278F), "/sixcircleinversesansserif" }, { GUINT_TO_POINTER (0x2790), "/sevencircleinversesansserif" }, { GUINT_TO_POINTER (0x2791), "/eightcircleinversesansserif" }, { GUINT_TO_POINTER (0x2792), "/ninecircleinversesansserif" }, { GUINT_TO_POINTER (0x279E), "/arrowrightheavy" }, { GUINT_TO_POINTER (0x3000), "/ideographicspace" }, { GUINT_TO_POINTER (0x3001), "/ideographiccomma" }, { GUINT_TO_POINTER (0x3002), "/ideographicperiod" }, { GUINT_TO_POINTER (0x3003), "/dittomark" }, { GUINT_TO_POINTER (0x3004), "/jis" }, { GUINT_TO_POINTER (0x3005), "/ideographiciterationmark" }, { GUINT_TO_POINTER (0x3006), "/ideographicclose" }, { GUINT_TO_POINTER (0x3007), "/ideographiczero" }, { GUINT_TO_POINTER (0x3008), "/anglebracketleft" }, { GUINT_TO_POINTER (0x3009), "/anglebracketright" }, { GUINT_TO_POINTER (0x300A), "/dblanglebracketleft" }, { GUINT_TO_POINTER (0x300B), "/dblanglebracketright" }, { GUINT_TO_POINTER (0x300C), "/cornerbracketleft" }, { GUINT_TO_POINTER (0x300D), "/cornerbracketright" }, { GUINT_TO_POINTER (0x300E), "/whitecornerbracketleft" }, { GUINT_TO_POINTER (0x300F), "/whitecornerbracketright" }, { GUINT_TO_POINTER (0x3010), "/blacklenticularbracketleft" }, { GUINT_TO_POINTER (0x3011), "/blacklenticularbracketright" }, { GUINT_TO_POINTER (0x3012), "/postalmark" }, { GUINT_TO_POINTER (0x3013), "/getamark" }, { GUINT_TO_POINTER (0x3014), "/tortoiseshellbracketleft" }, { GUINT_TO_POINTER (0x3015), "/tortoiseshellbracketright" }, { GUINT_TO_POINTER (0x3016), "/whitelenticularbracketleft" }, { GUINT_TO_POINTER (0x3017), "/whitelenticularbracketright" }, { GUINT_TO_POINTER (0x3018), "/whitetortoiseshellbracketleft" }, { GUINT_TO_POINTER (0x3019), "/whitetortoiseshellbracketright" }, { GUINT_TO_POINTER (0x301C), "/wavedash" }, { GUINT_TO_POINTER (0x301D), "/quotedblprimereversed" }, { GUINT_TO_POINTER (0x301E), "/quotedblprime" }, { GUINT_TO_POINTER (0x3020), "/postalmarkface" }, { GUINT_TO_POINTER (0x3021), "/onehangzhou" }, { GUINT_TO_POINTER (0x3022), "/twohangzhou" }, { GUINT_TO_POINTER (0x3023), "/threehangzhou" }, { GUINT_TO_POINTER (0x3024), "/fourhangzhou" }, { GUINT_TO_POINTER (0x3025), "/fivehangzhou" }, { GUINT_TO_POINTER (0x3026), "/sixhangzhou" }, { GUINT_TO_POINTER (0x3027), "/sevenhangzhou" }, { GUINT_TO_POINTER (0x3028), "/eighthangzhou" }, { GUINT_TO_POINTER (0x3029), "/ninehangzhou" }, { GUINT_TO_POINTER (0x3036), "/circlepostalmark" }, { GUINT_TO_POINTER (0x3041), "/asmallhiragana" }, { GUINT_TO_POINTER (0x3042), "/ahiragana" }, { GUINT_TO_POINTER (0x3043), "/ismallhiragana" }, { GUINT_TO_POINTER (0x3044), "/ihiragana" }, { GUINT_TO_POINTER (0x3045), "/usmallhiragana" }, { GUINT_TO_POINTER (0x3046), "/uhiragana" }, { GUINT_TO_POINTER (0x3047), "/esmallhiragana" }, { GUINT_TO_POINTER (0x3048), "/ehiragana" }, { GUINT_TO_POINTER (0x3049), "/osmallhiragana" }, { GUINT_TO_POINTER (0x304A), "/ohiragana" }, { GUINT_TO_POINTER (0x304B), "/kahiragana" }, { GUINT_TO_POINTER (0x304C), "/gahiragana" }, { GUINT_TO_POINTER (0x304D), "/kihiragana" }, { GUINT_TO_POINTER (0x304E), "/gihiragana" }, { GUINT_TO_POINTER (0x304F), "/kuhiragana" }, { GUINT_TO_POINTER (0x3050), "/guhiragana" }, { GUINT_TO_POINTER (0x3051), "/kehiragana" }, { GUINT_TO_POINTER (0x3052), "/gehiragana" }, { GUINT_TO_POINTER (0x3053), "/kohiragana" }, { GUINT_TO_POINTER (0x3054), "/gohiragana" }, { GUINT_TO_POINTER (0x3055), "/sahiragana" }, { GUINT_TO_POINTER (0x3056), "/zahiragana" }, { GUINT_TO_POINTER (0x3057), "/sihiragana" }, { GUINT_TO_POINTER (0x3058), "/zihiragana" }, { GUINT_TO_POINTER (0x3059), "/suhiragana" }, { GUINT_TO_POINTER (0x305A), "/zuhiragana" }, { GUINT_TO_POINTER (0x305B), "/sehiragana" }, { GUINT_TO_POINTER (0x305C), "/zehiragana" }, { GUINT_TO_POINTER (0x305D), "/sohiragana" }, { GUINT_TO_POINTER (0x305E), "/zohiragana" }, { GUINT_TO_POINTER (0x305F), "/tahiragana" }, { GUINT_TO_POINTER (0x3060), "/dahiragana" }, { GUINT_TO_POINTER (0x3061), "/tihiragana" }, { GUINT_TO_POINTER (0x3062), "/dihiragana" }, { GUINT_TO_POINTER (0x3063), "/tusmallhiragana" }, { GUINT_TO_POINTER (0x3064), "/tuhiragana" }, { GUINT_TO_POINTER (0x3065), "/duhiragana" }, { GUINT_TO_POINTER (0x3066), "/tehiragana" }, { GUINT_TO_POINTER (0x3067), "/dehiragana" }, { GUINT_TO_POINTER (0x3068), "/tohiragana" }, { GUINT_TO_POINTER (0x3069), "/dohiragana" }, { GUINT_TO_POINTER (0x306A), "/nahiragana" }, { GUINT_TO_POINTER (0x306B), "/nihiragana" }, { GUINT_TO_POINTER (0x306C), "/nuhiragana" }, { GUINT_TO_POINTER (0x306D), "/nehiragana" }, { GUINT_TO_POINTER (0x306E), "/nohiragana" }, { GUINT_TO_POINTER (0x306F), "/hahiragana" }, { GUINT_TO_POINTER (0x3070), "/bahiragana" }, { GUINT_TO_POINTER (0x3071), "/pahiragana" }, { GUINT_TO_POINTER (0x3072), "/hihiragana" }, { GUINT_TO_POINTER (0x3073), "/bihiragana" }, { GUINT_TO_POINTER (0x3074), "/pihiragana" }, { GUINT_TO_POINTER (0x3075), "/huhiragana" }, { GUINT_TO_POINTER (0x3076), "/buhiragana" }, { GUINT_TO_POINTER (0x3077), "/puhiragana" }, { GUINT_TO_POINTER (0x3078), "/hehiragana" }, { GUINT_TO_POINTER (0x3079), "/behiragana" }, { GUINT_TO_POINTER (0x307A), "/pehiragana" }, { GUINT_TO_POINTER (0x307B), "/hohiragana" }, { GUINT_TO_POINTER (0x307C), "/bohiragana" }, { GUINT_TO_POINTER (0x307D), "/pohiragana" }, { GUINT_TO_POINTER (0x307E), "/mahiragana" }, { GUINT_TO_POINTER (0x307F), "/mihiragana" }, { GUINT_TO_POINTER (0x3080), "/muhiragana" }, { GUINT_TO_POINTER (0x3081), "/mehiragana" }, { GUINT_TO_POINTER (0x3082), "/mohiragana" }, { GUINT_TO_POINTER (0x3083), "/yasmallhiragana" }, { GUINT_TO_POINTER (0x3084), "/yahiragana" }, { GUINT_TO_POINTER (0x3085), "/yusmallhiragana" }, { GUINT_TO_POINTER (0x3086), "/yuhiragana" }, { GUINT_TO_POINTER (0x3087), "/yosmallhiragana" }, { GUINT_TO_POINTER (0x3088), "/yohiragana" }, { GUINT_TO_POINTER (0x3089), "/rahiragana" }, { GUINT_TO_POINTER (0x308A), "/rihiragana" }, { GUINT_TO_POINTER (0x308B), "/ruhiragana" }, { GUINT_TO_POINTER (0x308C), "/rehiragana" }, { GUINT_TO_POINTER (0x308D), "/rohiragana" }, { GUINT_TO_POINTER (0x308E), "/wasmallhiragana" }, { GUINT_TO_POINTER (0x308F), "/wahiragana" }, { GUINT_TO_POINTER (0x3090), "/wihiragana" }, { GUINT_TO_POINTER (0x3091), "/wehiragana" }, { GUINT_TO_POINTER (0x3092), "/wohiragana" }, { GUINT_TO_POINTER (0x3093), "/nhiragana" }, { GUINT_TO_POINTER (0x3094), "/vuhiragana" }, { GUINT_TO_POINTER (0x309B), "/voicedmarkkana" }, { GUINT_TO_POINTER (0x309C), "/semivoicedmarkkana" }, { GUINT_TO_POINTER (0x309D), "/iterationhiragana" }, { GUINT_TO_POINTER (0x309E), "/voicediterationhiragana" }, { GUINT_TO_POINTER (0x30A1), "/asmallkatakana" }, { GUINT_TO_POINTER (0x30A2), "/akatakana" }, { GUINT_TO_POINTER (0x30A3), "/ismallkatakana" }, { GUINT_TO_POINTER (0x30A4), "/ikatakana" }, { GUINT_TO_POINTER (0x30A5), "/usmallkatakana" }, { GUINT_TO_POINTER (0x30A6), "/ukatakana" }, { GUINT_TO_POINTER (0x30A7), "/esmallkatakana" }, { GUINT_TO_POINTER (0x30A8), "/ekatakana" }, { GUINT_TO_POINTER (0x30A9), "/osmallkatakana" }, { GUINT_TO_POINTER (0x30AA), "/okatakana" }, { GUINT_TO_POINTER (0x30AB), "/kakatakana" }, { GUINT_TO_POINTER (0x30AC), "/gakatakana" }, { GUINT_TO_POINTER (0x30AD), "/kikatakana" }, { GUINT_TO_POINTER (0x30AE), "/gikatakana" }, { GUINT_TO_POINTER (0x30AF), "/kukatakana" }, { GUINT_TO_POINTER (0x30B0), "/gukatakana" }, { GUINT_TO_POINTER (0x30B1), "/kekatakana" }, { GUINT_TO_POINTER (0x30B2), "/gekatakana" }, { GUINT_TO_POINTER (0x30B3), "/kokatakana" }, { GUINT_TO_POINTER (0x30B4), "/gokatakana" }, { GUINT_TO_POINTER (0x30B5), "/sakatakana" }, { GUINT_TO_POINTER (0x30B6), "/zakatakana" }, { GUINT_TO_POINTER (0x30B7), "/sikatakana" }, { GUINT_TO_POINTER (0x30B8), "/zikatakana" }, { GUINT_TO_POINTER (0x30B9), "/sukatakana" }, { GUINT_TO_POINTER (0x30BA), "/zukatakana" }, { GUINT_TO_POINTER (0x30BB), "/sekatakana" }, { GUINT_TO_POINTER (0x30BC), "/zekatakana" }, { GUINT_TO_POINTER (0x30BD), "/sokatakana" }, { GUINT_TO_POINTER (0x30BE), "/zokatakana" }, { GUINT_TO_POINTER (0x30BF), "/takatakana" }, { GUINT_TO_POINTER (0x30C0), "/dakatakana" }, { GUINT_TO_POINTER (0x30C1), "/tikatakana" }, { GUINT_TO_POINTER (0x30C2), "/dikatakana" }, { GUINT_TO_POINTER (0x30C3), "/tusmallkatakana" }, { GUINT_TO_POINTER (0x30C4), "/tukatakana" }, { GUINT_TO_POINTER (0x30C5), "/dukatakana" }, { GUINT_TO_POINTER (0x30C6), "/tekatakana" }, { GUINT_TO_POINTER (0x30C7), "/dekatakana" }, { GUINT_TO_POINTER (0x30C8), "/tokatakana" }, { GUINT_TO_POINTER (0x30C9), "/dokatakana" }, { GUINT_TO_POINTER (0x30CA), "/nakatakana" }, { GUINT_TO_POINTER (0x30CB), "/nikatakana" }, { GUINT_TO_POINTER (0x30CC), "/nukatakana" }, { GUINT_TO_POINTER (0x30CD), "/nekatakana" }, { GUINT_TO_POINTER (0x30CE), "/nokatakana" }, { GUINT_TO_POINTER (0x30CF), "/hakatakana" }, { GUINT_TO_POINTER (0x30D0), "/bakatakana" }, { GUINT_TO_POINTER (0x30D1), "/pakatakana" }, { GUINT_TO_POINTER (0x30D2), "/hikatakana" }, { GUINT_TO_POINTER (0x30D3), "/bikatakana" }, { GUINT_TO_POINTER (0x30D4), "/pikatakana" }, { GUINT_TO_POINTER (0x30D5), "/hukatakana" }, { GUINT_TO_POINTER (0x30D6), "/bukatakana" }, { GUINT_TO_POINTER (0x30D7), "/pukatakana" }, { GUINT_TO_POINTER (0x30D8), "/hekatakana" }, { GUINT_TO_POINTER (0x30D9), "/bekatakana" }, { GUINT_TO_POINTER (0x30DA), "/pekatakana" }, { GUINT_TO_POINTER (0x30DB), "/hokatakana" }, { GUINT_TO_POINTER (0x30DC), "/bokatakana" }, { GUINT_TO_POINTER (0x30DD), "/pokatakana" }, { GUINT_TO_POINTER (0x30DE), "/makatakana" }, { GUINT_TO_POINTER (0x30DF), "/mikatakana" }, { GUINT_TO_POINTER (0x30E0), "/mukatakana" }, { GUINT_TO_POINTER (0x30E1), "/mekatakana" }, { GUINT_TO_POINTER (0x30E2), "/mokatakana" }, { GUINT_TO_POINTER (0x30E3), "/yasmallkatakana" }, { GUINT_TO_POINTER (0x30E4), "/yakatakana" }, { GUINT_TO_POINTER (0x30E5), "/yusmallkatakana" }, { GUINT_TO_POINTER (0x30E6), "/yukatakana" }, { GUINT_TO_POINTER (0x30E7), "/yosmallkatakana" }, { GUINT_TO_POINTER (0x30E8), "/yokatakana" }, { GUINT_TO_POINTER (0x30E9), "/rakatakana" }, { GUINT_TO_POINTER (0x30EA), "/rikatakana" }, { GUINT_TO_POINTER (0x30EB), "/rukatakana" }, { GUINT_TO_POINTER (0x30EC), "/rekatakana" }, { GUINT_TO_POINTER (0x30ED), "/rokatakana" }, { GUINT_TO_POINTER (0x30EE), "/wasmallkatakana" }, { GUINT_TO_POINTER (0x30EF), "/wakatakana" }, { GUINT_TO_POINTER (0x30F0), "/wikatakana" }, { GUINT_TO_POINTER (0x30F1), "/wekatakana" }, { GUINT_TO_POINTER (0x30F2), "/wokatakana" }, { GUINT_TO_POINTER (0x30F3), "/nkatakana" }, { GUINT_TO_POINTER (0x30F4), "/vukatakana" }, { GUINT_TO_POINTER (0x30F5), "/kasmallkatakana" }, { GUINT_TO_POINTER (0x30F6), "/kesmallkatakana" }, { GUINT_TO_POINTER (0x30F7), "/vakatakana" }, { GUINT_TO_POINTER (0x30F8), "/vikatakana" }, { GUINT_TO_POINTER (0x30F9), "/vekatakana" }, { GUINT_TO_POINTER (0x30FA), "/vokatakana" }, { GUINT_TO_POINTER (0x30FB), "/dotkatakana" }, { GUINT_TO_POINTER (0x30FC), "/prolongedkana" }, { GUINT_TO_POINTER (0x30FD), "/iterationkatakana" }, { GUINT_TO_POINTER (0x30FE), "/voicediterationkatakana" }, { GUINT_TO_POINTER (0x3105), "/bbopomofo" }, { GUINT_TO_POINTER (0x3106), "/pbopomofo" }, { GUINT_TO_POINTER (0x3107), "/mbopomofo" }, { GUINT_TO_POINTER (0x3108), "/fbopomofo" }, { GUINT_TO_POINTER (0x3109), "/dbopomofo" }, { GUINT_TO_POINTER (0x310A), "/tbopomofo" }, { GUINT_TO_POINTER (0x310B), "/nbopomofo" }, { GUINT_TO_POINTER (0x310C), "/lbopomofo" }, { GUINT_TO_POINTER (0x310D), "/gbopomofo" }, { GUINT_TO_POINTER (0x310E), "/kbopomofo" }, { GUINT_TO_POINTER (0x310F), "/hbopomofo" }, { GUINT_TO_POINTER (0x3110), "/jbopomofo" }, { GUINT_TO_POINTER (0x3111), "/qbopomofo" }, { GUINT_TO_POINTER (0x3112), "/xbopomofo" }, { GUINT_TO_POINTER (0x3113), "/zhbopomofo" }, { GUINT_TO_POINTER (0x3114), "/chbopomofo" }, { GUINT_TO_POINTER (0x3115), "/shbopomofo" }, { GUINT_TO_POINTER (0x3116), "/rbopomofo" }, { GUINT_TO_POINTER (0x3117), "/zbopomofo" }, { GUINT_TO_POINTER (0x3118), "/cbopomofo" }, { GUINT_TO_POINTER (0x3119), "/sbopomofo" }, { GUINT_TO_POINTER (0x311A), "/abopomofo" }, { GUINT_TO_POINTER (0x311B), "/obopomofo" }, { GUINT_TO_POINTER (0x311C), "/ebopomofo" }, { GUINT_TO_POINTER (0x311D), "/ehbopomofo" }, { GUINT_TO_POINTER (0x311E), "/aibopomofo" }, { GUINT_TO_POINTER (0x311F), "/eibopomofo" }, { GUINT_TO_POINTER (0x3120), "/aubopomofo" }, { GUINT_TO_POINTER (0x3121), "/oubopomofo" }, { GUINT_TO_POINTER (0x3122), "/anbopomofo" }, { GUINT_TO_POINTER (0x3123), "/enbopomofo" }, { GUINT_TO_POINTER (0x3124), "/angbopomofo" }, { GUINT_TO_POINTER (0x3125), "/engbopomofo" }, { GUINT_TO_POINTER (0x3126), "/erbopomofo" }, { GUINT_TO_POINTER (0x3127), "/ibopomofo" }, { GUINT_TO_POINTER (0x3128), "/ubopomofo" }, { GUINT_TO_POINTER (0x3129), "/iubopomofo" }, { GUINT_TO_POINTER (0x3131), "/kiyeokkorean" }, { GUINT_TO_POINTER (0x3132), "/ssangkiyeokkorean" }, { GUINT_TO_POINTER (0x3133), "/kiyeoksioskorean" }, { GUINT_TO_POINTER (0x3134), "/nieunkorean" }, { GUINT_TO_POINTER (0x3135), "/nieuncieuckorean" }, { GUINT_TO_POINTER (0x3136), "/nieunhieuhkorean" }, { GUINT_TO_POINTER (0x3137), "/tikeutkorean" }, { GUINT_TO_POINTER (0x3138), "/ssangtikeutkorean" }, { GUINT_TO_POINTER (0x3139), "/rieulkorean" }, { GUINT_TO_POINTER (0x313A), "/rieulkiyeokkorean" }, { GUINT_TO_POINTER (0x313B), "/rieulmieumkorean" }, { GUINT_TO_POINTER (0x313C), "/rieulpieupkorean" }, { GUINT_TO_POINTER (0x313D), "/rieulsioskorean" }, { GUINT_TO_POINTER (0x313E), "/rieulthieuthkorean" }, { GUINT_TO_POINTER (0x313F), "/rieulphieuphkorean" }, { GUINT_TO_POINTER (0x3140), "/rieulhieuhkorean" }, { GUINT_TO_POINTER (0x3141), "/mieumkorean" }, { GUINT_TO_POINTER (0x3142), "/pieupkorean" }, { GUINT_TO_POINTER (0x3143), "/ssangpieupkorean" }, { GUINT_TO_POINTER (0x3144), "/pieupsioskorean" }, { GUINT_TO_POINTER (0x3145), "/sioskorean" }, { GUINT_TO_POINTER (0x3146), "/ssangsioskorean" }, { GUINT_TO_POINTER (0x3147), "/ieungkorean" }, { GUINT_TO_POINTER (0x3148), "/cieuckorean" }, { GUINT_TO_POINTER (0x3149), "/ssangcieuckorean" }, { GUINT_TO_POINTER (0x314A), "/chieuchkorean" }, { GUINT_TO_POINTER (0x314B), "/khieukhkorean" }, { GUINT_TO_POINTER (0x314C), "/thieuthkorean" }, { GUINT_TO_POINTER (0x314D), "/phieuphkorean" }, { GUINT_TO_POINTER (0x314E), "/hieuhkorean" }, { GUINT_TO_POINTER (0x314F), "/akorean" }, { GUINT_TO_POINTER (0x3150), "/aekorean" }, { GUINT_TO_POINTER (0x3151), "/yakorean" }, { GUINT_TO_POINTER (0x3152), "/yaekorean" }, { GUINT_TO_POINTER (0x3153), "/eokorean" }, { GUINT_TO_POINTER (0x3154), "/ekorean" }, { GUINT_TO_POINTER (0x3155), "/yeokorean" }, { GUINT_TO_POINTER (0x3156), "/yekorean" }, { GUINT_TO_POINTER (0x3157), "/okorean" }, { GUINT_TO_POINTER (0x3158), "/wakorean" }, { GUINT_TO_POINTER (0x3159), "/waekorean" }, { GUINT_TO_POINTER (0x315A), "/oekorean" }, { GUINT_TO_POINTER (0x315B), "/yokorean" }, { GUINT_TO_POINTER (0x315C), "/ukorean" }, { GUINT_TO_POINTER (0x315D), "/weokorean" }, { GUINT_TO_POINTER (0x315E), "/wekorean" }, { GUINT_TO_POINTER (0x315F), "/wikorean" }, { GUINT_TO_POINTER (0x3160), "/yukorean" }, { GUINT_TO_POINTER (0x3161), "/eukorean" }, { GUINT_TO_POINTER (0x3162), "/yikorean" }, { GUINT_TO_POINTER (0x3163), "/ikorean" }, { GUINT_TO_POINTER (0x3164), "/hangulfiller" }, { GUINT_TO_POINTER (0x3165), "/ssangnieunkorean" }, { GUINT_TO_POINTER (0x3166), "/nieuntikeutkorean" }, { GUINT_TO_POINTER (0x3167), "/nieunsioskorean" }, { GUINT_TO_POINTER (0x3168), "/nieunpansioskorean" }, { GUINT_TO_POINTER (0x3169), "/rieulkiyeoksioskorean" }, { GUINT_TO_POINTER (0x316A), "/rieultikeutkorean" }, { GUINT_TO_POINTER (0x316B), "/rieulpieupsioskorean" }, { GUINT_TO_POINTER (0x316C), "/rieulpansioskorean" }, { GUINT_TO_POINTER (0x316D), "/rieulyeorinhieuhkorean" }, { GUINT_TO_POINTER (0x316E), "/mieumpieupkorean" }, { GUINT_TO_POINTER (0x316F), "/mieumsioskorean" }, { GUINT_TO_POINTER (0x3170), "/mieumpansioskorean" }, { GUINT_TO_POINTER (0x3171), "/kapyeounmieumkorean" }, { GUINT_TO_POINTER (0x3172), "/pieupkiyeokkorean" }, { GUINT_TO_POINTER (0x3173), "/pieuptikeutkorean" }, { GUINT_TO_POINTER (0x3174), "/pieupsioskiyeokkorean" }, { GUINT_TO_POINTER (0x3175), "/pieupsiostikeutkorean" }, { GUINT_TO_POINTER (0x3176), "/pieupcieuckorean" }, { GUINT_TO_POINTER (0x3177), "/pieupthieuthkorean" }, { GUINT_TO_POINTER (0x3178), "/kapyeounpieupkorean" }, { GUINT_TO_POINTER (0x3179), "/kapyeounssangpieupkorean" }, { GUINT_TO_POINTER (0x317A), "/sioskiyeokkorean" }, { GUINT_TO_POINTER (0x317B), "/siosnieunkorean" }, { GUINT_TO_POINTER (0x317C), "/siostikeutkorean" }, { GUINT_TO_POINTER (0x317D), "/siospieupkorean" }, { GUINT_TO_POINTER (0x317E), "/sioscieuckorean" }, { GUINT_TO_POINTER (0x317F), "/pansioskorean" }, { GUINT_TO_POINTER (0x3180), "/ssangieungkorean" }, { GUINT_TO_POINTER (0x3181), "/yesieungkorean" }, { GUINT_TO_POINTER (0x3182), "/yesieungsioskorean" }, { GUINT_TO_POINTER (0x3183), "/yesieungpansioskorean" }, { GUINT_TO_POINTER (0x3184), "/kapyeounphieuphkorean" }, { GUINT_TO_POINTER (0x3185), "/ssanghieuhkorean" }, { GUINT_TO_POINTER (0x3186), "/yeorinhieuhkorean" }, { GUINT_TO_POINTER (0x3187), "/yoyakorean" }, { GUINT_TO_POINTER (0x3188), "/yoyaekorean" }, { GUINT_TO_POINTER (0x3189), "/yoikorean" }, { GUINT_TO_POINTER (0x318A), "/yuyeokorean" }, { GUINT_TO_POINTER (0x318B), "/yuyekorean" }, { GUINT_TO_POINTER (0x318C), "/yuikorean" }, { GUINT_TO_POINTER (0x318D), "/araeakorean" }, { GUINT_TO_POINTER (0x318E), "/araeaekorean" }, { GUINT_TO_POINTER (0x3200), "/kiyeokparenkorean" }, { GUINT_TO_POINTER (0x3201), "/nieunparenkorean" }, { GUINT_TO_POINTER (0x3202), "/tikeutparenkorean" }, { GUINT_TO_POINTER (0x3203), "/rieulparenkorean" }, { GUINT_TO_POINTER (0x3204), "/mieumparenkorean" }, { GUINT_TO_POINTER (0x3205), "/pieupparenkorean" }, { GUINT_TO_POINTER (0x3206), "/siosparenkorean" }, { GUINT_TO_POINTER (0x3207), "/ieungparenkorean" }, { GUINT_TO_POINTER (0x3208), "/cieucparenkorean" }, { GUINT_TO_POINTER (0x3209), "/chieuchparenkorean" }, { GUINT_TO_POINTER (0x320A), "/khieukhparenkorean" }, { GUINT_TO_POINTER (0x320B), "/thieuthparenkorean" }, { GUINT_TO_POINTER (0x320C), "/phieuphparenkorean" }, { GUINT_TO_POINTER (0x320D), "/hieuhparenkorean" }, { GUINT_TO_POINTER (0x320E), "/kiyeokaparenkorean" }, { GUINT_TO_POINTER (0x320F), "/nieunaparenkorean" }, { GUINT_TO_POINTER (0x3210), "/tikeutaparenkorean" }, { GUINT_TO_POINTER (0x3211), "/rieulaparenkorean" }, { GUINT_TO_POINTER (0x3212), "/mieumaparenkorean" }, { GUINT_TO_POINTER (0x3213), "/pieupaparenkorean" }, { GUINT_TO_POINTER (0x3214), "/siosaparenkorean" }, { GUINT_TO_POINTER (0x3215), "/ieungaparenkorean" }, { GUINT_TO_POINTER (0x3216), "/cieucaparenkorean" }, { GUINT_TO_POINTER (0x3217), "/chieuchaparenkorean" }, { GUINT_TO_POINTER (0x3218), "/khieukhaparenkorean" }, { GUINT_TO_POINTER (0x3219), "/thieuthaparenkorean" }, { GUINT_TO_POINTER (0x321A), "/phieuphaparenkorean" }, { GUINT_TO_POINTER (0x321B), "/hieuhaparenkorean" }, { GUINT_TO_POINTER (0x321C), "/cieucuparenkorean" }, { GUINT_TO_POINTER (0x3220), "/oneideographicparen" }, { GUINT_TO_POINTER (0x3221), "/twoideographicparen" }, { GUINT_TO_POINTER (0x3222), "/threeideographicparen" }, { GUINT_TO_POINTER (0x3223), "/fourideographicparen" }, { GUINT_TO_POINTER (0x3224), "/fiveideographicparen" }, { GUINT_TO_POINTER (0x3225), "/sixideographicparen" }, { GUINT_TO_POINTER (0x3226), "/sevenideographicparen" }, { GUINT_TO_POINTER (0x3227), "/eightideographicparen" }, { GUINT_TO_POINTER (0x3228), "/nineideographicparen" }, { GUINT_TO_POINTER (0x3229), "/tenideographicparen" }, { GUINT_TO_POINTER (0x322A), "/ideographicmoonparen" }, { GUINT_TO_POINTER (0x322B), "/ideographicfireparen" }, { GUINT_TO_POINTER (0x322C), "/ideographicwaterparen" }, { GUINT_TO_POINTER (0x322D), "/ideographicwoodparen" }, { GUINT_TO_POINTER (0x322E), "/ideographicmetalparen" }, { GUINT_TO_POINTER (0x322F), "/ideographicearthparen" }, { GUINT_TO_POINTER (0x3230), "/ideographicsunparen" }, { GUINT_TO_POINTER (0x3231), "/ideographicstockparen" }, { GUINT_TO_POINTER (0x3232), "/ideographichaveparen" }, { GUINT_TO_POINTER (0x3233), "/ideographicsocietyparen" }, { GUINT_TO_POINTER (0x3234), "/ideographicnameparen" }, { GUINT_TO_POINTER (0x3235), "/ideographicspecialparen" }, { GUINT_TO_POINTER (0x3236), "/ideographicfinancialparen" }, { GUINT_TO_POINTER (0x3237), "/ideographiccongratulationparen" }, { GUINT_TO_POINTER (0x3238), "/ideographiclaborparen" }, { GUINT_TO_POINTER (0x3239), "/ideographicrepresentparen" }, { GUINT_TO_POINTER (0x323A), "/ideographiccallparen" }, { GUINT_TO_POINTER (0x323B), "/ideographicstudyparen" }, { GUINT_TO_POINTER (0x323C), "/ideographicsuperviseparen" }, { GUINT_TO_POINTER (0x323D), "/ideographicenterpriseparen" }, { GUINT_TO_POINTER (0x323E), "/ideographicresourceparen" }, { GUINT_TO_POINTER (0x323F), "/ideographicallianceparen" }, { GUINT_TO_POINTER (0x3240), "/ideographicfestivalparen" }, { GUINT_TO_POINTER (0x3242), "/ideographicselfparen" }, { GUINT_TO_POINTER (0x3243), "/ideographicreachparen" }, { GUINT_TO_POINTER (0x3260), "/kiyeokcirclekorean" }, { GUINT_TO_POINTER (0x3261), "/nieuncirclekorean" }, { GUINT_TO_POINTER (0x3262), "/tikeutcirclekorean" }, { GUINT_TO_POINTER (0x3263), "/rieulcirclekorean" }, { GUINT_TO_POINTER (0x3264), "/mieumcirclekorean" }, { GUINT_TO_POINTER (0x3265), "/pieupcirclekorean" }, { GUINT_TO_POINTER (0x3266), "/sioscirclekorean" }, { GUINT_TO_POINTER (0x3267), "/ieungcirclekorean" }, { GUINT_TO_POINTER (0x3268), "/cieuccirclekorean" }, { GUINT_TO_POINTER (0x3269), "/chieuchcirclekorean" }, { GUINT_TO_POINTER (0x326A), "/khieukhcirclekorean" }, { GUINT_TO_POINTER (0x326B), "/thieuthcirclekorean" }, { GUINT_TO_POINTER (0x326C), "/phieuphcirclekorean" }, { GUINT_TO_POINTER (0x326D), "/hieuhcirclekorean" }, { GUINT_TO_POINTER (0x326E), "/kiyeokacirclekorean" }, { GUINT_TO_POINTER (0x326F), "/nieunacirclekorean" }, { GUINT_TO_POINTER (0x3270), "/tikeutacirclekorean" }, { GUINT_TO_POINTER (0x3271), "/rieulacirclekorean" }, { GUINT_TO_POINTER (0x3272), "/mieumacirclekorean" }, { GUINT_TO_POINTER (0x3273), "/pieupacirclekorean" }, { GUINT_TO_POINTER (0x3274), "/siosacirclekorean" }, { GUINT_TO_POINTER (0x3275), "/ieungacirclekorean" }, { GUINT_TO_POINTER (0x3276), "/cieucacirclekorean" }, { GUINT_TO_POINTER (0x3277), "/chieuchacirclekorean" }, { GUINT_TO_POINTER (0x3278), "/khieukhacirclekorean" }, { GUINT_TO_POINTER (0x3279), "/thieuthacirclekorean" }, { GUINT_TO_POINTER (0x327A), "/phieuphacirclekorean" }, { GUINT_TO_POINTER (0x327B), "/hieuhacirclekorean" }, { GUINT_TO_POINTER (0x327F), "/koreanstandardsymbol" }, { GUINT_TO_POINTER (0x328A), "/ideographmooncircle" }, { GUINT_TO_POINTER (0x328B), "/ideographfirecircle" }, { GUINT_TO_POINTER (0x328C), "/ideographwatercircle" }, { GUINT_TO_POINTER (0x328D), "/ideographwoodcircle" }, { GUINT_TO_POINTER (0x328E), "/ideographmetalcircle" }, { GUINT_TO_POINTER (0x328F), "/ideographearthcircle" }, { GUINT_TO_POINTER (0x3290), "/ideographsuncircle" }, { GUINT_TO_POINTER (0x3294), "/ideographnamecircle" }, { GUINT_TO_POINTER (0x3296), "/ideographicfinancialcircle" }, { GUINT_TO_POINTER (0x3298), "/ideographiclaborcircle" }, { GUINT_TO_POINTER (0x3299), "/ideographicsecretcircle" }, { GUINT_TO_POINTER (0x329D), "/ideographicexcellentcircle" }, { GUINT_TO_POINTER (0x329E), "/ideographicprintcircle" }, { GUINT_TO_POINTER (0x32A3), "/ideographiccorrectcircle" }, { GUINT_TO_POINTER (0x32A4), "/ideographichighcircle" }, { GUINT_TO_POINTER (0x32A5), "/ideographiccentrecircle" }, { GUINT_TO_POINTER (0x32A6), "/ideographiclowcircle" }, { GUINT_TO_POINTER (0x32A7), "/ideographicleftcircle" }, { GUINT_TO_POINTER (0x32A8), "/ideographicrightcircle" }, { GUINT_TO_POINTER (0x32A9), "/ideographicmedicinecircle" }, { GUINT_TO_POINTER (0x3300), "/apaatosquare" }, { GUINT_TO_POINTER (0x3303), "/aarusquare" }, { GUINT_TO_POINTER (0x3305), "/intisquare" }, { GUINT_TO_POINTER (0x330D), "/karoriisquare" }, { GUINT_TO_POINTER (0x3314), "/kirosquare" }, { GUINT_TO_POINTER (0x3315), "/kiroguramusquare" }, { GUINT_TO_POINTER (0x3316), "/kiromeetorusquare" }, { GUINT_TO_POINTER (0x3318), "/guramusquare" }, { GUINT_TO_POINTER (0x331E), "/kooposquare" }, { GUINT_TO_POINTER (0x3322), "/sentisquare" }, { GUINT_TO_POINTER (0x3323), "/sentosquare" }, { GUINT_TO_POINTER (0x3326), "/dorusquare" }, { GUINT_TO_POINTER (0x3327), "/tonsquare" }, { GUINT_TO_POINTER (0x332A), "/haitusquare" }, { GUINT_TO_POINTER (0x332B), "/paasentosquare" }, { GUINT_TO_POINTER (0x3331), "/birusquare" }, { GUINT_TO_POINTER (0x3333), "/huiitosquare" }, { GUINT_TO_POINTER (0x3336), "/hekutaarusquare" }, { GUINT_TO_POINTER (0x3339), "/herutusquare" }, { GUINT_TO_POINTER (0x333B), "/peezisquare" }, { GUINT_TO_POINTER (0x3342), "/hoonsquare" }, { GUINT_TO_POINTER (0x3347), "/mansyonsquare" }, { GUINT_TO_POINTER (0x3349), "/mirisquare" }, { GUINT_TO_POINTER (0x334A), "/miribaarusquare" }, { GUINT_TO_POINTER (0x334D), "/meetorusquare" }, { GUINT_TO_POINTER (0x334E), "/yaadosquare" }, { GUINT_TO_POINTER (0x3351), "/rittorusquare" }, { GUINT_TO_POINTER (0x3357), "/wattosquare" }, { GUINT_TO_POINTER (0x337B), "/heiseierasquare" }, { GUINT_TO_POINTER (0x337C), "/syouwaerasquare" }, { GUINT_TO_POINTER (0x337D), "/taisyouerasquare" }, { GUINT_TO_POINTER (0x337E), "/meizierasquare" }, { GUINT_TO_POINTER (0x337F), "/corporationsquare" }, { GUINT_TO_POINTER (0x3380), "/paampssquare" }, { GUINT_TO_POINTER (0x3381), "/nasquare" }, { GUINT_TO_POINTER (0x3382), "/muasquare" }, { GUINT_TO_POINTER (0x3383), "/masquare" }, { GUINT_TO_POINTER (0x3384), "/kasquare" }, { GUINT_TO_POINTER (0x3385), "/KBsquare" }, { GUINT_TO_POINTER (0x3386), "/MBsquare" }, { GUINT_TO_POINTER (0x3387), "/GBsquare" }, { GUINT_TO_POINTER (0x3388), "/calsquare" }, { GUINT_TO_POINTER (0x3389), "/kcalsquare" }, { GUINT_TO_POINTER (0x338A), "/pfsquare" }, { GUINT_TO_POINTER (0x338B), "/nfsquare" }, { GUINT_TO_POINTER (0x338C), "/mufsquare" }, { GUINT_TO_POINTER (0x338D), "/mugsquare" }, { GUINT_TO_POINTER (0x338E), "/squaremg" }, { GUINT_TO_POINTER (0x338F), "/squarekg" }, { GUINT_TO_POINTER (0x3390), "/Hzsquare" }, { GUINT_TO_POINTER (0x3391), "/khzsquare" }, { GUINT_TO_POINTER (0x3392), "/mhzsquare" }, { GUINT_TO_POINTER (0x3393), "/ghzsquare" }, { GUINT_TO_POINTER (0x3394), "/thzsquare" }, { GUINT_TO_POINTER (0x3395), "/mulsquare" }, { GUINT_TO_POINTER (0x3396), "/mlsquare" }, { GUINT_TO_POINTER (0x3397), "/dlsquare" }, { GUINT_TO_POINTER (0x3398), "/klsquare" }, { GUINT_TO_POINTER (0x3399), "/fmsquare" }, { GUINT_TO_POINTER (0x339A), "/nmsquare" }, { GUINT_TO_POINTER (0x339B), "/mumsquare" }, { GUINT_TO_POINTER (0x339C), "/squaremm" }, { GUINT_TO_POINTER (0x339D), "/squarecm" }, { GUINT_TO_POINTER (0x339E), "/squarekm" }, { GUINT_TO_POINTER (0x339F), "/mmsquaredsquare" }, { GUINT_TO_POINTER (0x33A0), "/cmsquaredsquare" }, { GUINT_TO_POINTER (0x33A1), "/squaremsquared" }, { GUINT_TO_POINTER (0x33A2), "/kmsquaredsquare" }, { GUINT_TO_POINTER (0x33A3), "/mmcubedsquare" }, { GUINT_TO_POINTER (0x33A4), "/cmcubedsquare" }, { GUINT_TO_POINTER (0x33A5), "/mcubedsquare" }, { GUINT_TO_POINTER (0x33A6), "/kmcubedsquare" }, { GUINT_TO_POINTER (0x33A7), "/moverssquare" }, { GUINT_TO_POINTER (0x33A8), "/moverssquaredsquare" }, { GUINT_TO_POINTER (0x33A9), "/pasquare" }, { GUINT_TO_POINTER (0x33AA), "/kpasquare" }, { GUINT_TO_POINTER (0x33AB), "/mpasquare" }, { GUINT_TO_POINTER (0x33AC), "/gpasquare" }, { GUINT_TO_POINTER (0x33AD), "/radsquare" }, { GUINT_TO_POINTER (0x33AE), "/radoverssquare" }, { GUINT_TO_POINTER (0x33AF), "/radoverssquaredsquare" }, { GUINT_TO_POINTER (0x33B0), "/pssquare" }, { GUINT_TO_POINTER (0x33B1), "/nssquare" }, { GUINT_TO_POINTER (0x33B2), "/mussquare" }, { GUINT_TO_POINTER (0x33B3), "/mssquare" }, { GUINT_TO_POINTER (0x33B4), "/pvsquare" }, { GUINT_TO_POINTER (0x33B5), "/nvsquare" }, { GUINT_TO_POINTER (0x33B6), "/muvsquare" }, { GUINT_TO_POINTER (0x33B7), "/mvsquare" }, { GUINT_TO_POINTER (0x33B8), "/kvsquare" }, { GUINT_TO_POINTER (0x33B9), "/mvmegasquare" }, { GUINT_TO_POINTER (0x33BA), "/pwsquare" }, { GUINT_TO_POINTER (0x33BB), "/nwsquare" }, { GUINT_TO_POINTER (0x33BC), "/muwsquare" }, { GUINT_TO_POINTER (0x33BD), "/mwsquare" }, { GUINT_TO_POINTER (0x33BE), "/kwsquare" }, { GUINT_TO_POINTER (0x33BF), "/mwmegasquare" }, { GUINT_TO_POINTER (0x33C0), "/kohmsquare" }, { GUINT_TO_POINTER (0x33C1), "/mohmsquare" }, { GUINT_TO_POINTER (0x33C2), "/amsquare" }, { GUINT_TO_POINTER (0x33C3), "/bqsquare" }, { GUINT_TO_POINTER (0x33C4), "/squarecc" }, { GUINT_TO_POINTER (0x33C5), "/cdsquare" }, { GUINT_TO_POINTER (0x33C6), "/coverkgsquare" }, { GUINT_TO_POINTER (0x33C7), "/cosquare" }, { GUINT_TO_POINTER (0x33C8), "/dbsquare" }, { GUINT_TO_POINTER (0x33C9), "/gysquare" }, { GUINT_TO_POINTER (0x33CA), "/hasquare" }, { GUINT_TO_POINTER (0x33CB), "/HPsquare" }, { GUINT_TO_POINTER (0x33CD), "/KKsquare" }, { GUINT_TO_POINTER (0x33CE), "/squarekmcapital" }, { GUINT_TO_POINTER (0x33CF), "/ktsquare" }, { GUINT_TO_POINTER (0x33D0), "/lmsquare" }, { GUINT_TO_POINTER (0x33D1), "/squareln" }, { GUINT_TO_POINTER (0x33D2), "/squarelog" }, { GUINT_TO_POINTER (0x33D3), "/lxsquare" }, { GUINT_TO_POINTER (0x33D4), "/mbsquare" }, { GUINT_TO_POINTER (0x33D5), "/squaremil" }, { GUINT_TO_POINTER (0x33D6), "/molsquare" }, { GUINT_TO_POINTER (0x33D8), "/pmsquare" }, { GUINT_TO_POINTER (0x33DB), "/srsquare" }, { GUINT_TO_POINTER (0x33DC), "/svsquare" }, { GUINT_TO_POINTER (0x33DD), "/wbsquare" }, { GUINT_TO_POINTER (0x5344), "/twentyhangzhou" }, { GUINT_TO_POINTER (0xF6BE), "/dotlessj" }, { GUINT_TO_POINTER (0xF6BF), "/LL" }, { GUINT_TO_POINTER (0xF6C0), "/ll" }, { GUINT_TO_POINTER (0xF6C3), "/commaaccent" }, { GUINT_TO_POINTER (0xF6C4), "/afii10063" }, { GUINT_TO_POINTER (0xF6C5), "/afii10064" }, { GUINT_TO_POINTER (0xF6C6), "/afii10192" }, { GUINT_TO_POINTER (0xF6C7), "/afii10831" }, { GUINT_TO_POINTER (0xF6C8), "/afii10832" }, { GUINT_TO_POINTER (0xF6C9), "/Acute" }, { GUINT_TO_POINTER (0xF6CA), "/Caron" }, { GUINT_TO_POINTER (0xF6CB), "/Dieresis" }, { GUINT_TO_POINTER (0xF6CC), "/DieresisAcute" }, { GUINT_TO_POINTER (0xF6CD), "/DieresisGrave" }, { GUINT_TO_POINTER (0xF6CE), "/Grave" }, { GUINT_TO_POINTER (0xF6CF), "/Hungarumlaut" }, { GUINT_TO_POINTER (0xF6D0), "/Macron" }, { GUINT_TO_POINTER (0xF6D1), "/cyrBreve" }, { GUINT_TO_POINTER (0xF6D2), "/cyrFlex" }, { GUINT_TO_POINTER (0xF6D3), "/dblGrave" }, { GUINT_TO_POINTER (0xF6D4), "/cyrbreve" }, { GUINT_TO_POINTER (0xF6D5), "/cyrflex" }, { GUINT_TO_POINTER (0xF6D6), "/dblgrave" }, { GUINT_TO_POINTER (0xF6D7), "/dieresisacute" }, { GUINT_TO_POINTER (0xF6D8), "/dieresisgrave" }, { GUINT_TO_POINTER (0xF6D9), "/copyrightserif" }, { GUINT_TO_POINTER (0xF6DA), "/registerserif" }, { GUINT_TO_POINTER (0xF6DB), "/trademarkserif" }, { GUINT_TO_POINTER (0xF6DC), "/onefitted" }, { GUINT_TO_POINTER (0xF6DD), "/rupiah" }, { GUINT_TO_POINTER (0xF6DE), "/threequartersemdash" }, { GUINT_TO_POINTER (0xF6DF), "/centinferior" }, { GUINT_TO_POINTER (0xF6E0), "/centsuperior" }, { GUINT_TO_POINTER (0xF6E1), "/commainferior" }, { GUINT_TO_POINTER (0xF6E2), "/commasuperior" }, { GUINT_TO_POINTER (0xF6E3), "/dollarinferior" }, { GUINT_TO_POINTER (0xF6E4), "/dollarsuperior" }, { GUINT_TO_POINTER (0xF6E5), "/hypheninferior" }, { GUINT_TO_POINTER (0xF6E6), "/hyphensuperior" }, { GUINT_TO_POINTER (0xF6E7), "/periodinferior" }, { GUINT_TO_POINTER (0xF6E8), "/periodsuperior" }, { GUINT_TO_POINTER (0xF6E9), "/asuperior" }, { GUINT_TO_POINTER (0xF6EA), "/bsuperior" }, { GUINT_TO_POINTER (0xF6EB), "/dsuperior" }, { GUINT_TO_POINTER (0xF6EC), "/esuperior" }, { GUINT_TO_POINTER (0xF6ED), "/isuperior" }, { GUINT_TO_POINTER (0xF6EE), "/lsuperior" }, { GUINT_TO_POINTER (0xF6EF), "/msuperior" }, { GUINT_TO_POINTER (0xF6F0), "/osuperior" }, { GUINT_TO_POINTER (0xF6F1), "/rsuperior" }, { GUINT_TO_POINTER (0xF6F2), "/ssuperior" }, { GUINT_TO_POINTER (0xF6F3), "/tsuperior" }, { GUINT_TO_POINTER (0xF6F4), "/Brevesmall" }, { GUINT_TO_POINTER (0xF6F5), "/Caronsmall" }, { GUINT_TO_POINTER (0xF6F6), "/Circumflexsmall" }, { GUINT_TO_POINTER (0xF6F7), "/Dotaccentsmall" }, { GUINT_TO_POINTER (0xF6F8), "/Hungarumlautsmall" }, { GUINT_TO_POINTER (0xF6F9), "/Lslashsmall" }, { GUINT_TO_POINTER (0xF6FA), "/OEsmall" }, { GUINT_TO_POINTER (0xF6FB), "/Ogoneksmall" }, { GUINT_TO_POINTER (0xF6FC), "/Ringsmall" }, { GUINT_TO_POINTER (0xF6FD), "/Scaronsmall" }, { GUINT_TO_POINTER (0xF6FE), "/Tildesmall" }, { GUINT_TO_POINTER (0xF6FF), "/Zcaronsmall" }, { GUINT_TO_POINTER (0xF721), "/exclamsmall" }, { GUINT_TO_POINTER (0xF724), "/dollaroldstyle" }, { GUINT_TO_POINTER (0xF726), "/ampersandsmall" }, { GUINT_TO_POINTER (0xF730), "/zerooldstyle" }, { GUINT_TO_POINTER (0xF731), "/oneoldstyle" }, { GUINT_TO_POINTER (0xF732), "/twooldstyle" }, { GUINT_TO_POINTER (0xF733), "/threeoldstyle" }, { GUINT_TO_POINTER (0xF734), "/fouroldstyle" }, { GUINT_TO_POINTER (0xF735), "/fiveoldstyle" }, { GUINT_TO_POINTER (0xF736), "/sixoldstyle" }, { GUINT_TO_POINTER (0xF737), "/sevenoldstyle" }, { GUINT_TO_POINTER (0xF738), "/eightoldstyle" }, { GUINT_TO_POINTER (0xF739), "/nineoldstyle" }, { GUINT_TO_POINTER (0xF73F), "/questionsmall" }, { GUINT_TO_POINTER (0xF760), "/Gravesmall" }, { GUINT_TO_POINTER (0xF761), "/Asmall" }, { GUINT_TO_POINTER (0xF762), "/Bsmall" }, { GUINT_TO_POINTER (0xF763), "/Csmall" }, { GUINT_TO_POINTER (0xF764), "/Dsmall" }, { GUINT_TO_POINTER (0xF765), "/Esmall" }, { GUINT_TO_POINTER (0xF766), "/Fsmall" }, { GUINT_TO_POINTER (0xF767), "/Gsmall" }, { GUINT_TO_POINTER (0xF768), "/Hsmall" }, { GUINT_TO_POINTER (0xF769), "/Ismall" }, { GUINT_TO_POINTER (0xF76A), "/Jsmall" }, { GUINT_TO_POINTER (0xF76B), "/Ksmall" }, { GUINT_TO_POINTER (0xF76C), "/Lsmall" }, { GUINT_TO_POINTER (0xF76D), "/Msmall" }, { GUINT_TO_POINTER (0xF76E), "/Nsmall" }, { GUINT_TO_POINTER (0xF76F), "/Osmall" }, { GUINT_TO_POINTER (0xF770), "/Psmall" }, { GUINT_TO_POINTER (0xF771), "/Qsmall" }, { GUINT_TO_POINTER (0xF772), "/Rsmall" }, { GUINT_TO_POINTER (0xF773), "/Ssmall" }, { GUINT_TO_POINTER (0xF774), "/Tsmall" }, { GUINT_TO_POINTER (0xF775), "/Usmall" }, { GUINT_TO_POINTER (0xF776), "/Vsmall" }, { GUINT_TO_POINTER (0xF777), "/Wsmall" }, { GUINT_TO_POINTER (0xF778), "/Xsmall" }, { GUINT_TO_POINTER (0xF779), "/Ysmall" }, { GUINT_TO_POINTER (0xF77A), "/Zsmall" }, { GUINT_TO_POINTER (0xF7A1), "/exclamdownsmall" }, { GUINT_TO_POINTER (0xF7A2), "/centoldstyle" }, { GUINT_TO_POINTER (0xF7A8), "/Dieresissmall" }, { GUINT_TO_POINTER (0xF7AF), "/Macronsmall" }, { GUINT_TO_POINTER (0xF7B4), "/Acutesmall" }, { GUINT_TO_POINTER (0xF7B8), "/Cedillasmall" }, { GUINT_TO_POINTER (0xF7BF), "/questiondownsmall" }, { GUINT_TO_POINTER (0xF7E0), "/Agravesmall" }, { GUINT_TO_POINTER (0xF7E1), "/Aacutesmall" }, { GUINT_TO_POINTER (0xF7E2), "/Acircumflexsmall" }, { GUINT_TO_POINTER (0xF7E3), "/Atildesmall" }, { GUINT_TO_POINTER (0xF7E4), "/Adieresissmall" }, { GUINT_TO_POINTER (0xF7E5), "/Aringsmall" }, { GUINT_TO_POINTER (0xF7E6), "/AEsmall" }, { GUINT_TO_POINTER (0xF7E7), "/Ccedillasmall" }, { GUINT_TO_POINTER (0xF7E8), "/Egravesmall" }, { GUINT_TO_POINTER (0xF7E9), "/Eacutesmall" }, { GUINT_TO_POINTER (0xF7EA), "/Ecircumflexsmall" }, { GUINT_TO_POINTER (0xF7EB), "/Edieresissmall" }, { GUINT_TO_POINTER (0xF7EC), "/Igravesmall" }, { GUINT_TO_POINTER (0xF7ED), "/Iacutesmall" }, { GUINT_TO_POINTER (0xF7EE), "/Icircumflexsmall" }, { GUINT_TO_POINTER (0xF7EF), "/Idieresissmall" }, { GUINT_TO_POINTER (0xF7F0), "/Ethsmall" }, { GUINT_TO_POINTER (0xF7F1), "/Ntildesmall" }, { GUINT_TO_POINTER (0xF7F2), "/Ogravesmall" }, { GUINT_TO_POINTER (0xF7F3), "/Oacutesmall" }, { GUINT_TO_POINTER (0xF7F4), "/Ocircumflexsmall" }, { GUINT_TO_POINTER (0xF7F5), "/Otildesmall" }, { GUINT_TO_POINTER (0xF7F6), "/Odieresissmall" }, { GUINT_TO_POINTER (0xF7F8), "/Oslashsmall" }, { GUINT_TO_POINTER (0xF7F9), "/Ugravesmall" }, { GUINT_TO_POINTER (0xF7FA), "/Uacutesmall" }, { GUINT_TO_POINTER (0xF7FB), "/Ucircumflexsmall" }, { GUINT_TO_POINTER (0xF7FC), "/Udieresissmall" }, { GUINT_TO_POINTER (0xF7FD), "/Yacutesmall" }, { GUINT_TO_POINTER (0xF7FE), "/Thornsmall" }, { GUINT_TO_POINTER (0xF7FF), "/Ydieresissmall" }, { GUINT_TO_POINTER (0xF884), "/maihanakatleftthai" }, { GUINT_TO_POINTER (0xF885), "/saraileftthai" }, { GUINT_TO_POINTER (0xF886), "/saraiileftthai" }, { GUINT_TO_POINTER (0xF887), "/saraueleftthai" }, { GUINT_TO_POINTER (0xF888), "/saraueeleftthai" }, { GUINT_TO_POINTER (0xF889), "/maitaikhuleftthai" }, { GUINT_TO_POINTER (0xF88A), "/maiekupperleftthai" }, { GUINT_TO_POINTER (0xF88B), "/maieklowrightthai" }, { GUINT_TO_POINTER (0xF88C), "/maieklowleftthai" }, { GUINT_TO_POINTER (0xF88D), "/maithoupperleftthai" }, { GUINT_TO_POINTER (0xF88E), "/maitholowrightthai" }, { GUINT_TO_POINTER (0xF88F), "/maitholowleftthai" }, { GUINT_TO_POINTER (0xF890), "/maitriupperleftthai" }, { GUINT_TO_POINTER (0xF891), "/maitrilowrightthai" }, { GUINT_TO_POINTER (0xF892), "/maitrilowleftthai" }, { GUINT_TO_POINTER (0xF893), "/maichattawaupperleftthai" }, { GUINT_TO_POINTER (0xF894), "/maichattawalowrightthai" }, { GUINT_TO_POINTER (0xF895), "/maichattawalowleftthai" }, { GUINT_TO_POINTER (0xF896), "/thanthakhatupperleftthai" }, { GUINT_TO_POINTER (0xF897), "/thanthakhatlowrightthai" }, { GUINT_TO_POINTER (0xF898), "/thanthakhatlowleftthai" }, { GUINT_TO_POINTER (0xF899), "/nikhahitleftthai" }, { GUINT_TO_POINTER (0xF8E5), "/radicalex" }, { GUINT_TO_POINTER (0xF8E6), "/arrowvertex" }, { GUINT_TO_POINTER (0xF8E7), "/arrowhorizex" }, { GUINT_TO_POINTER (0xF8E8), "/registersans" }, { GUINT_TO_POINTER (0xF8E9), "/copyrightsans" }, { GUINT_TO_POINTER (0xF8EA), "/trademarksans" }, { GUINT_TO_POINTER (0xF8EB), "/parenlefttp" }, { GUINT_TO_POINTER (0xF8EC), "/parenleftex" }, { GUINT_TO_POINTER (0xF8ED), "/parenleftbt" }, { GUINT_TO_POINTER (0xF8EE), "/bracketlefttp" }, { GUINT_TO_POINTER (0xF8EF), "/bracketleftex" }, { GUINT_TO_POINTER (0xF8F0), "/bracketleftbt" }, { GUINT_TO_POINTER (0xF8F1), "/bracelefttp" }, { GUINT_TO_POINTER (0xF8F2), "/braceleftmid" }, { GUINT_TO_POINTER (0xF8F3), "/braceleftbt" }, { GUINT_TO_POINTER (0xF8F4), "/braceex" }, { GUINT_TO_POINTER (0xF8F5), "/integralex" }, { GUINT_TO_POINTER (0xF8F6), "/parenrighttp" }, { GUINT_TO_POINTER (0xF8F7), "/parenrightex" }, { GUINT_TO_POINTER (0xF8F8), "/parenrightbt" }, { GUINT_TO_POINTER (0xF8F9), "/bracketrighttp" }, { GUINT_TO_POINTER (0xF8FA), "/bracketrightex" }, { GUINT_TO_POINTER (0xF8FB), "/bracketrightbt" }, { GUINT_TO_POINTER (0xF8FC), "/bracerighttp" }, { GUINT_TO_POINTER (0xF8FD), "/bracerightmid" }, { GUINT_TO_POINTER (0xF8FE), "/bracerightbt" }, { GUINT_TO_POINTER (0xF8FF), "/apple" }, { GUINT_TO_POINTER (0xFB00), "/ff" }, { GUINT_TO_POINTER (0xFB01), "/fi" }, { GUINT_TO_POINTER (0xFB02), "/fl" }, { GUINT_TO_POINTER (0xFB03), "/ffi" }, { GUINT_TO_POINTER (0xFB04), "/ffl" }, { GUINT_TO_POINTER (0xFB1F), "/afii57705" }, { GUINT_TO_POINTER (0xFB20), "/ayinaltonehebrew" }, { GUINT_TO_POINTER (0xFB2A), "/afii57694" }, { GUINT_TO_POINTER (0xFB2B), "/afii57695" }, { GUINT_TO_POINTER (0xFB2C), "/shindageshshindot" }, { GUINT_TO_POINTER (0xFB2D), "/shindageshsindot" }, { GUINT_TO_POINTER (0xFB2E), "/alefpatahhebrew" }, { GUINT_TO_POINTER (0xFB2F), "/alefqamatshebrew" }, { GUINT_TO_POINTER (0xFB30), "/alefdageshhebrew" }, { GUINT_TO_POINTER (0xFB31), "/betdagesh" }, { GUINT_TO_POINTER (0xFB32), "/gimeldagesh" }, { GUINT_TO_POINTER (0xFB33), "/daletdagesh" }, { GUINT_TO_POINTER (0xFB34), "/hedagesh" }, { GUINT_TO_POINTER (0xFB35), "/afii57723" }, { GUINT_TO_POINTER (0xFB36), "/zayindagesh" }, { GUINT_TO_POINTER (0xFB38), "/tetdagesh" }, { GUINT_TO_POINTER (0xFB39), "/yoddagesh" }, { GUINT_TO_POINTER (0xFB3A), "/finalkafdagesh" }, { GUINT_TO_POINTER (0xFB3B), "/kafdagesh" }, { GUINT_TO_POINTER (0xFB3C), "/lameddagesh" }, { GUINT_TO_POINTER (0xFB3E), "/memdagesh" }, { GUINT_TO_POINTER (0xFB40), "/nundagesh" }, { GUINT_TO_POINTER (0xFB41), "/samekhdagesh" }, { GUINT_TO_POINTER (0xFB43), "/pefinaldageshhebrew" }, { GUINT_TO_POINTER (0xFB44), "/pedagesh" }, { GUINT_TO_POINTER (0xFB46), "/tsadidagesh" }, { GUINT_TO_POINTER (0xFB47), "/qofdagesh" }, { GUINT_TO_POINTER (0xFB48), "/reshdageshhebrew" }, { GUINT_TO_POINTER (0xFB49), "/shindagesh" }, { GUINT_TO_POINTER (0xFB4A), "/tavdagesh" }, { GUINT_TO_POINTER (0xFB4B), "/afii57700" }, { GUINT_TO_POINTER (0xFB4C), "/betrafehebrew" }, { GUINT_TO_POINTER (0xFB4D), "/kafrafehebrew" }, { GUINT_TO_POINTER (0xFB4E), "/perafehebrew" }, { GUINT_TO_POINTER (0xFB4F), "/aleflamedhebrew" }, { GUINT_TO_POINTER (0xFB57), "/pehfinalarabic" }, { GUINT_TO_POINTER (0xFB58), "/pehinitialarabic" }, { GUINT_TO_POINTER (0xFB59), "/pehmedialarabic" }, { GUINT_TO_POINTER (0xFB67), "/ttehfinalarabic" }, { GUINT_TO_POINTER (0xFB68), "/ttehinitialarabic" }, { GUINT_TO_POINTER (0xFB69), "/ttehmedialarabic" }, { GUINT_TO_POINTER (0xFB6B), "/vehfinalarabic" }, { GUINT_TO_POINTER (0xFB6C), "/vehinitialarabic" }, { GUINT_TO_POINTER (0xFB6D), "/vehmedialarabic" }, { GUINT_TO_POINTER (0xFB7B), "/tchehfinalarabic" }, { GUINT_TO_POINTER (0xFB7C), "/tchehinitialarabic" }, { GUINT_TO_POINTER (0xFB7D), "/tchehmedialarabic" }, { GUINT_TO_POINTER (0xFB89), "/ddalfinalarabic" }, { GUINT_TO_POINTER (0xFB8B), "/jehfinalarabic" }, { GUINT_TO_POINTER (0xFB8D), "/rrehfinalarabic" }, { GUINT_TO_POINTER (0xFB93), "/gaffinalarabic" }, { GUINT_TO_POINTER (0xFB94), "/gafinitialarabic" }, { GUINT_TO_POINTER (0xFB95), "/gafmedialarabic" }, { GUINT_TO_POINTER (0xFB9F), "/noonghunnafinalarabic" }, { GUINT_TO_POINTER (0xFBA4), "/hehhamzaaboveisolatedarabic" }, { GUINT_TO_POINTER (0xFBA5), "/hehhamzaabovefinalarabic" }, { GUINT_TO_POINTER (0xFBA7), "/hehfinalaltonearabic" }, { GUINT_TO_POINTER (0xFBA8), "/hehinitialaltonearabic" }, { GUINT_TO_POINTER (0xFBA9), "/hehmedialaltonearabic" }, { GUINT_TO_POINTER (0xFBAF), "/yehbarreefinalarabic" }, { GUINT_TO_POINTER (0xFC08), "/behmeemisolatedarabic" }, { GUINT_TO_POINTER (0xFC0B), "/tehjeemisolatedarabic" }, { GUINT_TO_POINTER (0xFC0C), "/tehhahisolatedarabic" }, { GUINT_TO_POINTER (0xFC0E), "/tehmeemisolatedarabic" }, { GUINT_TO_POINTER (0xFC48), "/meemmeemisolatedarabic" }, { GUINT_TO_POINTER (0xFC4B), "/noonjeemisolatedarabic" }, { GUINT_TO_POINTER (0xFC4E), "/noonmeemisolatedarabic" }, { GUINT_TO_POINTER (0xFC58), "/yehmeemisolatedarabic" }, { GUINT_TO_POINTER (0xFC5E), "/shaddadammatanarabic" }, { GUINT_TO_POINTER (0xFC5F), "/shaddakasratanarabic" }, { GUINT_TO_POINTER (0xFC60), "/shaddafathaarabic" }, { GUINT_TO_POINTER (0xFC61), "/shaddadammaarabic" }, { GUINT_TO_POINTER (0xFC62), "/shaddakasraarabic" }, { GUINT_TO_POINTER (0xFC6D), "/behnoonfinalarabic" }, { GUINT_TO_POINTER (0xFC73), "/tehnoonfinalarabic" }, { GUINT_TO_POINTER (0xFC8D), "/noonnoonfinalarabic" }, { GUINT_TO_POINTER (0xFC94), "/yehnoonfinalarabic" }, { GUINT_TO_POINTER (0xFC9F), "/behmeeminitialarabic" }, { GUINT_TO_POINTER (0xFCA1), "/tehjeeminitialarabic" }, { GUINT_TO_POINTER (0xFCA2), "/tehhahinitialarabic" }, { GUINT_TO_POINTER (0xFCA4), "/tehmeeminitialarabic" }, { GUINT_TO_POINTER (0xFCC9), "/lamjeeminitialarabic" }, { GUINT_TO_POINTER (0xFCCA), "/lamhahinitialarabic" }, { GUINT_TO_POINTER (0xFCCB), "/lamkhahinitialarabic" }, { GUINT_TO_POINTER (0xFCCC), "/lammeeminitialarabic" }, { GUINT_TO_POINTER (0xFCD1), "/meemmeeminitialarabic" }, { GUINT_TO_POINTER (0xFCD2), "/noonjeeminitialarabic" }, { GUINT_TO_POINTER (0xFCD5), "/noonmeeminitialarabic" }, { GUINT_TO_POINTER (0xFCDD), "/yehmeeminitialarabic" }, { GUINT_TO_POINTER (0xFD3E), "/parenleftaltonearabic" }, { GUINT_TO_POINTER (0xFD3F), "/parenrightaltonearabic" }, { GUINT_TO_POINTER (0xFD88), "/lammeemhahinitialarabic" }, { GUINT_TO_POINTER (0xFDF2), "/lamlamhehisolatedarabic" }, { GUINT_TO_POINTER (0xFDFA), "/sallallahoualayhewasallamarabic" }, { GUINT_TO_POINTER (0xFE30), "/twodotleadervertical" }, { GUINT_TO_POINTER (0xFE31), "/emdashvertical" }, { GUINT_TO_POINTER (0xFE32), "/endashvertical" }, { GUINT_TO_POINTER (0xFE33), "/underscorevertical" }, { GUINT_TO_POINTER (0xFE34), "/wavyunderscorevertical" }, { GUINT_TO_POINTER (0xFE35), "/parenleftvertical" }, { GUINT_TO_POINTER (0xFE36), "/parenrightvertical" }, { GUINT_TO_POINTER (0xFE37), "/braceleftvertical" }, { GUINT_TO_POINTER (0xFE38), "/bracerightvertical" }, { GUINT_TO_POINTER (0xFE39), "/tortoiseshellbracketleftvertical" }, { GUINT_TO_POINTER (0xFE3A), "/tortoiseshellbracketrightvertical" }, { GUINT_TO_POINTER (0xFE3B), "/blacklenticularbracketleftvertical" }, { GUINT_TO_POINTER (0xFE3C), "/blacklenticularbracketrightvertical" }, { GUINT_TO_POINTER (0xFE3D), "/dblanglebracketleftvertical" }, { GUINT_TO_POINTER (0xFE3E), "/dblanglebracketrightvertical" }, { GUINT_TO_POINTER (0xFE3F), "/anglebracketleftvertical" }, { GUINT_TO_POINTER (0xFE40), "/anglebracketrightvertical" }, { GUINT_TO_POINTER (0xFE41), "/cornerbracketleftvertical" }, { GUINT_TO_POINTER (0xFE42), "/cornerbracketrightvertical" }, { GUINT_TO_POINTER (0xFE43), "/whitecornerbracketleftvertical" }, { GUINT_TO_POINTER (0xFE44), "/whitecornerbracketrightvertical" }, { GUINT_TO_POINTER (0xFE49), "/overlinedashed" }, { GUINT_TO_POINTER (0xFE4A), "/overlinecenterline" }, { GUINT_TO_POINTER (0xFE4B), "/overlinewavy" }, { GUINT_TO_POINTER (0xFE4C), "/overlinedblwavy" }, { GUINT_TO_POINTER (0xFE4D), "/lowlinedashed" }, { GUINT_TO_POINTER (0xFE4E), "/lowlinecenterline" }, { GUINT_TO_POINTER (0xFE4F), "/underscorewavy" }, { GUINT_TO_POINTER (0xFE50), "/commasmall" }, { GUINT_TO_POINTER (0xFE52), "/periodsmall" }, { GUINT_TO_POINTER (0xFE54), "/semicolonsmall" }, { GUINT_TO_POINTER (0xFE55), "/colonsmall" }, { GUINT_TO_POINTER (0xFE59), "/parenleftsmall" }, { GUINT_TO_POINTER (0xFE5A), "/parenrightsmall" }, { GUINT_TO_POINTER (0xFE5B), "/braceleftsmall" }, { GUINT_TO_POINTER (0xFE5C), "/bracerightsmall" }, { GUINT_TO_POINTER (0xFE5D), "/tortoiseshellbracketleftsmall" }, { GUINT_TO_POINTER (0xFE5E), "/tortoiseshellbracketrightsmall" }, { GUINT_TO_POINTER (0xFE5F), "/numbersignsmall" }, { GUINT_TO_POINTER (0xFE61), "/asterisksmall" }, { GUINT_TO_POINTER (0xFE62), "/plussmall" }, { GUINT_TO_POINTER (0xFE63), "/hyphensmall" }, { GUINT_TO_POINTER (0xFE64), "/lesssmall" }, { GUINT_TO_POINTER (0xFE65), "/greatersmall" }, { GUINT_TO_POINTER (0xFE66), "/equalsmall" }, { GUINT_TO_POINTER (0xFE69), "/dollarsmall" }, { GUINT_TO_POINTER (0xFE6A), "/percentsmall" }, { GUINT_TO_POINTER (0xFE6B), "/atsmall" }, { GUINT_TO_POINTER (0xFE82), "/alefmaddaabovefinalarabic" }, { GUINT_TO_POINTER (0xFE84), "/alefhamzaabovefinalarabic" }, { GUINT_TO_POINTER (0xFE86), "/wawhamzaabovefinalarabic" }, { GUINT_TO_POINTER (0xFE88), "/alefhamzabelowfinalarabic" }, { GUINT_TO_POINTER (0xFE8A), "/yehhamzaabovefinalarabic" }, { GUINT_TO_POINTER (0xFE8B), "/yehhamzaaboveinitialarabic" }, { GUINT_TO_POINTER (0xFE8C), "/yehhamzaabovemedialarabic" }, { GUINT_TO_POINTER (0xFE8E), "/aleffinalarabic" }, { GUINT_TO_POINTER (0xFE90), "/behfinalarabic" }, { GUINT_TO_POINTER (0xFE91), "/behinitialarabic" }, { GUINT_TO_POINTER (0xFE92), "/behmedialarabic" }, { GUINT_TO_POINTER (0xFE94), "/tehmarbutafinalarabic" }, { GUINT_TO_POINTER (0xFE96), "/tehfinalarabic" }, { GUINT_TO_POINTER (0xFE97), "/tehinitialarabic" }, { GUINT_TO_POINTER (0xFE98), "/tehmedialarabic" }, { GUINT_TO_POINTER (0xFE9A), "/thehfinalarabic" }, { GUINT_TO_POINTER (0xFE9B), "/thehinitialarabic" }, { GUINT_TO_POINTER (0xFE9C), "/thehmedialarabic" }, { GUINT_TO_POINTER (0xFE9E), "/jeemfinalarabic" }, { GUINT_TO_POINTER (0xFE9F), "/jeeminitialarabic" }, { GUINT_TO_POINTER (0xFEA0), "/jeemmedialarabic" }, { GUINT_TO_POINTER (0xFEA2), "/hahfinalarabic" }, { GUINT_TO_POINTER (0xFEA3), "/hahinitialarabic" }, { GUINT_TO_POINTER (0xFEA4), "/hahmedialarabic" }, { GUINT_TO_POINTER (0xFEA6), "/khahfinalarabic" }, { GUINT_TO_POINTER (0xFEA7), "/khahinitialarabic" }, { GUINT_TO_POINTER (0xFEA8), "/khahmedialarabic" }, { GUINT_TO_POINTER (0xFEAA), "/dalfinalarabic" }, { GUINT_TO_POINTER (0xFEAC), "/thalfinalarabic" }, { GUINT_TO_POINTER (0xFEAE), "/rehfinalarabic" }, { GUINT_TO_POINTER (0xFEB0), "/zainfinalarabic" }, { GUINT_TO_POINTER (0xFEB2), "/seenfinalarabic" }, { GUINT_TO_POINTER (0xFEB3), "/seeninitialarabic" }, { GUINT_TO_POINTER (0xFEB4), "/seenmedialarabic" }, { GUINT_TO_POINTER (0xFEB6), "/sheenfinalarabic" }, { GUINT_TO_POINTER (0xFEB7), "/sheeninitialarabic" }, { GUINT_TO_POINTER (0xFEB8), "/sheenmedialarabic" }, { GUINT_TO_POINTER (0xFEBA), "/sadfinalarabic" }, { GUINT_TO_POINTER (0xFEBB), "/sadinitialarabic" }, { GUINT_TO_POINTER (0xFEBC), "/sadmedialarabic" }, { GUINT_TO_POINTER (0xFEBE), "/dadfinalarabic" }, { GUINT_TO_POINTER (0xFEBF), "/dadinitialarabic" }, { GUINT_TO_POINTER (0xFEC0), "/dadmedialarabic" }, { GUINT_TO_POINTER (0xFEC2), "/tahfinalarabic" }, { GUINT_TO_POINTER (0xFEC3), "/tahinitialarabic" }, { GUINT_TO_POINTER (0xFEC4), "/tahmedialarabic" }, { GUINT_TO_POINTER (0xFEC6), "/zahfinalarabic" }, { GUINT_TO_POINTER (0xFEC7), "/zahinitialarabic" }, { GUINT_TO_POINTER (0xFEC8), "/zahmedialarabic" }, { GUINT_TO_POINTER (0xFECA), "/ainfinalarabic" }, { GUINT_TO_POINTER (0xFECB), "/aininitialarabic" }, { GUINT_TO_POINTER (0xFECC), "/ainmedialarabic" }, { GUINT_TO_POINTER (0xFECE), "/ghainfinalarabic" }, { GUINT_TO_POINTER (0xFECF), "/ghaininitialarabic" }, { GUINT_TO_POINTER (0xFED0), "/ghainmedialarabic" }, { GUINT_TO_POINTER (0xFED2), "/fehfinalarabic" }, { GUINT_TO_POINTER (0xFED3), "/fehinitialarabic" }, { GUINT_TO_POINTER (0xFED4), "/fehmedialarabic" }, { GUINT_TO_POINTER (0xFED6), "/qaffinalarabic" }, { GUINT_TO_POINTER (0xFED7), "/qafinitialarabic" }, { GUINT_TO_POINTER (0xFED8), "/qafmedialarabic" }, { GUINT_TO_POINTER (0xFEDA), "/kaffinalarabic" }, { GUINT_TO_POINTER (0xFEDB), "/kafinitialarabic" }, { GUINT_TO_POINTER (0xFEDC), "/kafmedialarabic" }, { GUINT_TO_POINTER (0xFEDE), "/lamfinalarabic" }, { GUINT_TO_POINTER (0xFEDF), "/laminitialarabic" }, { GUINT_TO_POINTER (0xFEE0), "/lammedialarabic" }, { GUINT_TO_POINTER (0xFEE2), "/meemfinalarabic" }, { GUINT_TO_POINTER (0xFEE3), "/meeminitialarabic" }, { GUINT_TO_POINTER (0xFEE4), "/meemmedialarabic" }, { GUINT_TO_POINTER (0xFEE6), "/noonfinalarabic" }, { GUINT_TO_POINTER (0xFEE7), "/nooninitialarabic" }, { GUINT_TO_POINTER (0xFEE8), "/noonmedialarabic" }, { GUINT_TO_POINTER (0xFEEA), "/hehfinalarabic" }, { GUINT_TO_POINTER (0xFEEB), "/hehinitialarabic" }, { GUINT_TO_POINTER (0xFEEC), "/hehmedialarabic" }, { GUINT_TO_POINTER (0xFEEE), "/wawfinalarabic" }, { GUINT_TO_POINTER (0xFEF0), "/alefmaksurafinalarabic" }, { GUINT_TO_POINTER (0xFEF2), "/yehfinalarabic" }, { GUINT_TO_POINTER (0xFEF3), "/yehinitialarabic" }, { GUINT_TO_POINTER (0xFEF4), "/yehmedialarabic" }, { GUINT_TO_POINTER (0xFEF5), "/lamalefmaddaaboveisolatedarabic" }, { GUINT_TO_POINTER (0xFEF6), "/lamalefmaddaabovefinalarabic" }, { GUINT_TO_POINTER (0xFEF7), "/lamalefhamzaaboveisolatedarabic" }, { GUINT_TO_POINTER (0xFEF8), "/lamalefhamzaabovefinalarabic" }, { GUINT_TO_POINTER (0xFEF9), "/lamalefhamzabelowisolatedarabic" }, { GUINT_TO_POINTER (0xFEFA), "/lamalefhamzabelowfinalarabic" }, { GUINT_TO_POINTER (0xFEFB), "/lamalefisolatedarabic" }, { GUINT_TO_POINTER (0xFEFC), "/lamaleffinalarabic" }, { GUINT_TO_POINTER (0xFEFF), "/zerowidthjoiner" }, { GUINT_TO_POINTER (0xFF01), "/exclammonospace" }, { GUINT_TO_POINTER (0xFF02), "/quotedblmonospace" }, { GUINT_TO_POINTER (0xFF03), "/numbersignmonospace" }, { GUINT_TO_POINTER (0xFF04), "/dollarmonospace" }, { GUINT_TO_POINTER (0xFF05), "/percentmonospace" }, { GUINT_TO_POINTER (0xFF06), "/ampersandmonospace" }, { GUINT_TO_POINTER (0xFF07), "/quotesinglemonospace" }, { GUINT_TO_POINTER (0xFF08), "/parenleftmonospace" }, { GUINT_TO_POINTER (0xFF09), "/parenrightmonospace" }, { GUINT_TO_POINTER (0xFF0A), "/asteriskmonospace" }, { GUINT_TO_POINTER (0xFF0B), "/plusmonospace" }, { GUINT_TO_POINTER (0xFF0C), "/commamonospace" }, { GUINT_TO_POINTER (0xFF0D), "/hyphenmonospace" }, { GUINT_TO_POINTER (0xFF0E), "/periodmonospace" }, { GUINT_TO_POINTER (0xFF0F), "/slashmonospace" }, { GUINT_TO_POINTER (0xFF10), "/zeromonospace" }, { GUINT_TO_POINTER (0xFF11), "/onemonospace" }, { GUINT_TO_POINTER (0xFF12), "/twomonospace" }, { GUINT_TO_POINTER (0xFF13), "/threemonospace" }, { GUINT_TO_POINTER (0xFF14), "/fourmonospace" }, { GUINT_TO_POINTER (0xFF15), "/fivemonospace" }, { GUINT_TO_POINTER (0xFF16), "/sixmonospace" }, { GUINT_TO_POINTER (0xFF17), "/sevenmonospace" }, { GUINT_TO_POINTER (0xFF18), "/eightmonospace" }, { GUINT_TO_POINTER (0xFF19), "/ninemonospace" }, { GUINT_TO_POINTER (0xFF1A), "/colonmonospace" }, { GUINT_TO_POINTER (0xFF1B), "/semicolonmonospace" }, { GUINT_TO_POINTER (0xFF1C), "/lessmonospace" }, { GUINT_TO_POINTER (0xFF1D), "/equalmonospace" }, { GUINT_TO_POINTER (0xFF1E), "/greatermonospace" }, { GUINT_TO_POINTER (0xFF1F), "/questionmonospace" }, { GUINT_TO_POINTER (0xFF20), "/atmonospace" }, { GUINT_TO_POINTER (0xFF21), "/Amonospace" }, { GUINT_TO_POINTER (0xFF22), "/Bmonospace" }, { GUINT_TO_POINTER (0xFF23), "/Cmonospace" }, { GUINT_TO_POINTER (0xFF24), "/Dmonospace" }, { GUINT_TO_POINTER (0xFF25), "/Emonospace" }, { GUINT_TO_POINTER (0xFF26), "/Fmonospace" }, { GUINT_TO_POINTER (0xFF27), "/Gmonospace" }, { GUINT_TO_POINTER (0xFF28), "/Hmonospace" }, { GUINT_TO_POINTER (0xFF29), "/Imonospace" }, { GUINT_TO_POINTER (0xFF2A), "/Jmonospace" }, { GUINT_TO_POINTER (0xFF2B), "/Kmonospace" }, { GUINT_TO_POINTER (0xFF2C), "/Lmonospace" }, { GUINT_TO_POINTER (0xFF2D), "/Mmonospace" }, { GUINT_TO_POINTER (0xFF2E), "/Nmonospace" }, { GUINT_TO_POINTER (0xFF2F), "/Omonospace" }, { GUINT_TO_POINTER (0xFF30), "/Pmonospace" }, { GUINT_TO_POINTER (0xFF31), "/Qmonospace" }, { GUINT_TO_POINTER (0xFF32), "/Rmonospace" }, { GUINT_TO_POINTER (0xFF33), "/Smonospace" }, { GUINT_TO_POINTER (0xFF34), "/Tmonospace" }, { GUINT_TO_POINTER (0xFF35), "/Umonospace" }, { GUINT_TO_POINTER (0xFF36), "/Vmonospace" }, { GUINT_TO_POINTER (0xFF37), "/Wmonospace" }, { GUINT_TO_POINTER (0xFF38), "/Xmonospace" }, { GUINT_TO_POINTER (0xFF39), "/Ymonospace" }, { GUINT_TO_POINTER (0xFF3A), "/Zmonospace" }, { GUINT_TO_POINTER (0xFF3B), "/bracketleftmonospace" }, { GUINT_TO_POINTER (0xFF3C), "/backslashmonospace" }, { GUINT_TO_POINTER (0xFF3D), "/bracketrightmonospace" }, { GUINT_TO_POINTER (0xFF3E), "/asciicircummonospace" }, { GUINT_TO_POINTER (0xFF3F), "/underscoremonospace" }, { GUINT_TO_POINTER (0xFF40), "/gravemonospace" }, { GUINT_TO_POINTER (0xFF41), "/amonospace" }, { GUINT_TO_POINTER (0xFF42), "/bmonospace" }, { GUINT_TO_POINTER (0xFF43), "/cmonospace" }, { GUINT_TO_POINTER (0xFF44), "/dmonospace" }, { GUINT_TO_POINTER (0xFF45), "/emonospace" }, { GUINT_TO_POINTER (0xFF46), "/fmonospace" }, { GUINT_TO_POINTER (0xFF47), "/gmonospace" }, { GUINT_TO_POINTER (0xFF48), "/hmonospace" }, { GUINT_TO_POINTER (0xFF49), "/imonospace" }, { GUINT_TO_POINTER (0xFF4A), "/jmonospace" }, { GUINT_TO_POINTER (0xFF4B), "/kmonospace" }, { GUINT_TO_POINTER (0xFF4C), "/lmonospace" }, { GUINT_TO_POINTER (0xFF4D), "/mmonospace" }, { GUINT_TO_POINTER (0xFF4E), "/nmonospace" }, { GUINT_TO_POINTER (0xFF4F), "/omonospace" }, { GUINT_TO_POINTER (0xFF50), "/pmonospace" }, { GUINT_TO_POINTER (0xFF51), "/qmonospace" }, { GUINT_TO_POINTER (0xFF52), "/rmonospace" }, { GUINT_TO_POINTER (0xFF53), "/smonospace" }, { GUINT_TO_POINTER (0xFF54), "/tmonospace" }, { GUINT_TO_POINTER (0xFF55), "/umonospace" }, { GUINT_TO_POINTER (0xFF56), "/vmonospace" }, { GUINT_TO_POINTER (0xFF57), "/wmonospace" }, { GUINT_TO_POINTER (0xFF58), "/xmonospace" }, { GUINT_TO_POINTER (0xFF59), "/ymonospace" }, { GUINT_TO_POINTER (0xFF5A), "/zmonospace" }, { GUINT_TO_POINTER (0xFF5B), "/braceleftmonospace" }, { GUINT_TO_POINTER (0xFF5C), "/barmonospace" }, { GUINT_TO_POINTER (0xFF5D), "/bracerightmonospace" }, { GUINT_TO_POINTER (0xFF5E), "/asciitildemonospace" }, { GUINT_TO_POINTER (0xFF61), "/periodhalfwidth" }, { GUINT_TO_POINTER (0xFF62), "/cornerbracketlefthalfwidth" }, { GUINT_TO_POINTER (0xFF63), "/cornerbracketrighthalfwidth" }, { GUINT_TO_POINTER (0xFF64), "/ideographiccommaleft" }, { GUINT_TO_POINTER (0xFF65), "/middledotkatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF66), "/wokatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF67), "/asmallkatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF68), "/ismallkatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF69), "/usmallkatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF6A), "/esmallkatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF6B), "/osmallkatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF6C), "/yasmallkatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF6D), "/yusmallkatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF6E), "/yosmallkatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF6F), "/tusmallkatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF70), "/katahiraprolongmarkhalfwidth" }, { GUINT_TO_POINTER (0xFF71), "/akatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF72), "/ikatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF73), "/ukatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF74), "/ekatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF75), "/okatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF76), "/kakatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF77), "/kikatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF78), "/kukatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF79), "/kekatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF7A), "/kokatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF7B), "/sakatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF7C), "/sikatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF7D), "/sukatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF7E), "/sekatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF7F), "/sokatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF80), "/takatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF81), "/tikatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF82), "/tukatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF83), "/tekatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF84), "/tokatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF85), "/nakatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF86), "/nikatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF87), "/nukatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF88), "/nekatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF89), "/nokatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF8A), "/hakatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF8B), "/hikatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF8C), "/hukatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF8D), "/hekatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF8E), "/hokatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF8F), "/makatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF90), "/mikatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF91), "/mukatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF92), "/mekatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF93), "/mokatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF94), "/yakatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF95), "/yukatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF96), "/yokatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF97), "/rakatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF98), "/rikatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF99), "/rukatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF9A), "/rekatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF9B), "/rokatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF9C), "/wakatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF9D), "/nkatakanahalfwidth" }, { GUINT_TO_POINTER (0xFF9E), "/voicedmarkkanahalfwidth" }, { GUINT_TO_POINTER (0xFF9F), "/semivoicedmarkkanahalfwidth" }, { GUINT_TO_POINTER (0xFFE0), "/centmonospace" }, { GUINT_TO_POINTER (0xFFE1), "/sterlingmonospace" }, { GUINT_TO_POINTER (0xFFE3), "/macronmonospace" }, { GUINT_TO_POINTER (0xFFE5), "/yenmonospace" }, { GUINT_TO_POINTER (0xFFE6), "/wonmonospace" }, { NULL, NULL } }; /*! \brief Initializes the glyph translation table. * \par Function Description * Initializes the glyph translation table * * \return 0 */ int f_print_initialize_glyph_table(void) { struct glyph_list *g; /* Is the hash already intialized? */ if(unicode_char_to_glyph != NULL) return 0; /* No, allocate hash table */ unicode_char_to_glyph = g_hash_table_new_full (g_direct_hash, g_direct_equal, NULL, NULL); /* insert all the entries, from glyph name mapping table */ for(g = glyphs; g->name != NULL; g++) { g_hash_table_insert(unicode_char_to_glyph, g->key, g->name); } return 0; } geda-gaf-1.8.2/libgeda/src/s_encoding.c0000664000175000017500000002312212207374140014532 00000000000000/*! \verbatim *********************************************************************** * _ _ __ _ _ * __ _ _ __ ___| |_ | |__ __ _ ___ ___ / /_ | || | * / _` | '_ \ / _ \ __| | '_ \ / _` / __|/ _ \ '_ \| || |_ * | (_| | | | | __/ |_ | |_) | (_| \__ \ __/ (_) |__ _| * \__, |_| |_|\___|\__| |_.__/ \__,_|___/\___|\___/ |_| * |___/ * * created by Alfred Reibenschuh , * under the "GNU Library General Public License" (see below). * *********************************************************************** * * Copyright (C) 2003 Free Software Foundation * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02111-1301 USA. * *********************************************************************** \endverbatim * * Taken from gnet's sources * Modified the name of the functions and some variables */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include #include #ifdef HAVE_STRING_H #include #endif static gchar s_encoding_Base64[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; #define s_encoding_Pad64 '=' static guchar s_encoding_Base64_rank[256] = { 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, /* 0x00-0x0f */ 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, /* 0x10-0x1f */ 255,255,255,255,255,255,255,255,255,255,255, 62,255,255,255, 63, /* 0x20-0x2f */ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,255,255,255,255,255,255, /* 0x30-0x3f */ 255, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, /* 0x40-0x4f */ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,255,255,255,255,255, /* 0x50-0x5f */ 255, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, /* 0x60-0x6f */ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,255,255,255,255,255, /* 0x70-0x7f */ 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, /* 0x80-0x8f */ 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, /* 0x90-0x9f */ 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, /* 0xa0-0xaf */ 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, /* 0xb0-0xbf */ 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, /* 0xc0-0xcf */ 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, /* 0xd0-0xdf */ 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, /* 0xe0-0xef */ 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, /* 0xf0-0xff */ }; /*! \brief Convert a buffer from binary to base64 representation. * \par Function Description * Convert a buffer from binary to base64 representation. Set * strict to TRUE to insert a newline every 72th character. This is * required by RFC 2045, but some applications don't require this. * * \param [in] src Source buffer. * \param [in] srclen Length of source buffer. * \param [out] dstlenp Length of buffer returned * (including the terminating \\0). * \param [in] strict Insert new lines as required by RFC 2045. * \return Caller owned buffer containing base64 representation. */ gchar* s_encoding_base64_encode (gchar* src, guint srclen, guint* dstlenp, gboolean strict) { gchar* dst; guint dstpos; guchar input[3]; guchar output[4]; guint ocnt; guint i; if (srclen == 0) return NULL; /* FIX: Or return ""? */ /* Calculate required length of dst. 4 bytes of dst are needed for every 3 bytes of src. */ *dstlenp = (((srclen + 2) / 3) * 4)+5; if (strict) *dstlenp += (*dstlenp / 72); /* Handle trailing \n */ dst = g_new(gchar, *dstlenp ); /* bulk encoding */ dstpos = 0; ocnt = 0; while (srclen >= 3) { /* Convert 3 bytes of src to 4 bytes of output output[0] = input[0] 7:2 output[1] = input[0] 1:0 input[1] 7:4 output[2] = input[1] 3:0 input[2] 7:6 output[3] = input[1] 5:0 */ input[0] = *src++; input[1] = *src++; input[2] = *src++; srclen -= 3; output[0] = (input[0] >> 2); output[1] = ((input[0] & 0x03) << 4) + (input[1] >> 4); output[2] = ((input[1] & 0x0f) << 2) + (input[2] >> 6); output[3] = (input[2] & 0x3f); g_assert ((dstpos + 4) < *dstlenp); /* Map output to the Base64 alphabet */ dst[dstpos++] = s_encoding_Base64[(guint) output[0]]; dst[dstpos++] = s_encoding_Base64[(guint) output[1]]; dst[dstpos++] = s_encoding_Base64[(guint) output[2]]; dst[dstpos++] = s_encoding_Base64[(guint) output[3]]; /* Add a newline if strict and */ if (strict) if ((++ocnt % (72/4)) == 0) dst[dstpos++] = '\n'; } /* Now worry about padding with remaining 1 or 2 bytes */ if (srclen != 0) { input[0] = input[1] = input[2] = '\0'; for (i = 0; i < srclen; i++) input[i] = *src++; output[0] = (input[0] >> 2); output[1] = ((input[0] & 0x03) << 4) + (input[1] >> 4); output[2] = ((input[1] & 0x0f) << 2) + (input[2] >> 6); g_assert ((dstpos + 4) < *dstlenp); dst[dstpos++] = s_encoding_Base64[(guint) output[0]]; dst[dstpos++] = s_encoding_Base64[(guint) output[1]]; if (srclen == 1) dst[dstpos++] = s_encoding_Pad64; else dst[dstpos++] = s_encoding_Base64[(guint) output[2]]; dst[dstpos++] = s_encoding_Pad64; } g_assert (dstpos <= *dstlenp); dst[dstpos] = '\0'; *dstlenp = dstpos + 1; return dst; } /*! \brief Convert a buffer from base64 to binary representation. * \par Function Description * Convert a buffer from base64 to binary representation. This * function is liberal in what it will accept. It ignores non-base64 * symbols. * * \param [in] src Source buffer. * \param [in] srclen Length of the source buffer. * \param [out] dstlenp Pointer to length of the destination buffer * \return Caller-owned buffer with binary representation. * The integer pointed to by dstlenp is set to the length * of that buffer. */ gchar *s_encoding_base64_decode (gchar* src, guint srclen, guint* dstlenp) { gchar* dst; guint dstidx, state, ch = 0; gchar res; guchar pos; if (srclen == 0) srclen = strlen(src); state = 0; dstidx = 0; res = 0; dst = g_new(gchar, srclen+1); *dstlenp = srclen+1; while (srclen > 0) { srclen--; ch = *src++; if (ch == s_encoding_Pad64) break; if (s_encoding_Base64_rank[ch]==255) /* Skip any non-base64 anywhere */ continue; pos = s_encoding_Base64_rank[ch]; switch (state) { case 0: dst[dstidx] = (pos << 2); state = 1; break; case 1: dst[dstidx] |= (pos >> 4); res = ((pos & 0x0f) << 4); dstidx++; state = 2; break; case 2: dst[dstidx] = res | (pos >> 2); res = (pos & 0x03) << 6; dstidx++; state = 3; break; case 3: dst[dstidx] = res | pos; dstidx++; state = 0; break; default: break; } } /* * We are done decoding Base-64 chars. Let's see if we ended * on a byte boundary, and/or with erroneous trailing characters. */ if (ch == s_encoding_Pad64) /* We got a pad char. */ { switch (state) { case 0: /* Invalid = in first position */ case 1: /* Invalid = in second position */ return NULL; case 2: /* Valid, means one byte of info */ /* Skip any number of spaces. */ while (srclen > 0) { srclen--; ch = *src++; if (ch == s_encoding_Pad64) break; if (s_encoding_Base64_rank[ch] != 255) break; } /* Make sure there is another trailing = sign. */ if (ch != s_encoding_Pad64) { g_free(dst); *dstlenp = 0; return NULL; } /* FALLTHROUGH */ case 3: /* Valid, means two bytes of info */ /* * We know this char is an =. Is there anything but * whitespace after it? */ while (srclen > 0) { srclen--; ch = *src++; if (s_encoding_Base64_rank[ch] != 255) { g_free(dst); *dstlenp = 0; return NULL; } } /* * Now make sure for cases 2 and 3 that the "extra" * bits that slopped past the last full byte were * zeros. If we don't check them, they become a * subliminal channel. */ if (res != 0) { g_free(dst); *dstlenp = 0; return NULL; } default: break; } } else { /* * We ended by seeing the end of the string. Make sure we * have no partial bytes lying around. */ if (state != 0) { g_free(dst); *dstlenp = 0; return NULL; } } dst[dstidx]=0; *dstlenp = dstidx; return dst; } geda-gaf-1.8.2/libgeda/src/o_pin_basic.c0000664000175000017500000004300412220647257014677 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #include "libgeda_priv.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \file o_pin_basic.c * \brief functions for the pin object */ /*! \brief calculate and return the boundaries of a pin object * \par Function Description * This function calculates the object boudaries of a pin \a object. * * \param [in] toplevel The TOPLEVEL object. * \param [in] object a pin object * \param [out] left the left world coord * \param [out] top the top world coord * \param [out] right the right world coord * \param [out] bottom the bottom world coord */ void world_get_pin_bounds(TOPLEVEL *toplevel, OBJECT *object, int *left, int *top, int *right, int *bottom) { world_get_line_bounds( toplevel, object, left, top, right, bottom ); } /*! \brief get the position of a whichend of the pin object * \par Function Description * This function gets the position of the whichend side of a pin object. * * \param [in] toplevel The toplevel environment. * \param [out] x pointer to the x-position * \param [out] y pointer to the y-position * \param [in] object The object to get the position. * \return TRUE if successfully determined the position, FALSE otherwise */ gboolean o_pin_get_position (TOPLEVEL *toplevel, gint *x, gint *y, OBJECT *object) { *x = object->line->x[object->whichend]; *y = object->line->y[object->whichend]; return TRUE; } /*! \brief create a new pin object * \par Function Description * This function creates and returns a new pin object. * * \param [in] toplevel The TOPLEVEL object. * \param [in] type The OBJECT type (usually OBJ_PIN) * \param [in] color The color of the pin * \param [in] x1 x-coord of the first point * \param [in] y1 y-coord of the first point * \param [in] x2 x-coord of the second point * \param [in] y2 y-coord of the second point * \param [in] pin_type type of pin (PIN_TYPE_NET or PIN_TYPE_BUS) * \param [in] whichend The connectable end of the pin * \return A new pin OBJECT */ OBJECT *o_pin_new(TOPLEVEL *toplevel, char type, int color, int x1, int y1, int x2, int y2, int pin_type, int whichend) { OBJECT *new_node; new_node = s_basic_new_object(type, "pin"); new_node->color = color; new_node->line = (LINE *) g_malloc(sizeof(LINE)); new_node->line->x[0] = x1; new_node->line->y[0] = y1; new_node->line->x[1] = x2; new_node->line->y[1] = y2; o_pin_set_type (toplevel, new_node, pin_type); o_pin_recalc (toplevel, new_node); new_node->whichend = whichend; return new_node; } /*! \brief recalc the visual properties of a pin object * \par Function Description * This function updates the visual coords of the \a o_current object. * * \param [in] toplevel The TOPLEVEL object. * \param [in] o_current a pin object. * */ void o_pin_recalc(TOPLEVEL *toplevel, OBJECT *o_current) { int left, right, top, bottom; if (o_current->line == NULL) { return; } world_get_pin_bounds(toplevel, o_current, &left, &top, &right, &bottom); o_current->w_left = left; o_current->w_top = top; o_current->w_right = right; o_current->w_bottom = bottom; o_current->w_bounds_valid = TRUE; } /*! \brief read a pin object from a char buffer * \par Function Description * This function reads a pin object from the buffer \a buf. * If the pin object was read successfully, a new pin object is * allocated and appended to the \a object_list. * * \param [in] toplevel The TOPLEVEL object * \param [in] buf a text buffer (usually a line of a schematic file) * \param [in] release_ver The release number gEDA * \param [in] fileformat_ver a integer value of the file format * \return The object list, or NULL on error. */ OBJECT *o_pin_read (TOPLEVEL *toplevel, const char buf[], unsigned int release_ver, unsigned int fileformat_ver, GError **err) { OBJECT *new_obj; char type; int x1, y1; int x2, y2; int color; int pin_type; int whichend; if (release_ver <= VERSION_20020825) { if (sscanf (buf, "%c %d %d %d %d %d\n", &type, &x1, &y1, &x2, &y2, &color) != 6) { g_set_error(err, EDA_ERROR, EDA_ERROR_PARSE, _("Failed to parse pin object")); return NULL; } pin_type = PIN_TYPE_NET; whichend = -1; } else { if (sscanf (buf, "%c %d %d %d %d %d %d %d\n", &type, &x1, &y1, &x2, &y2, &color, &pin_type, &whichend) != 8) { g_set_error(err, EDA_ERROR, EDA_ERROR_PARSE, _("Failed to parse pin object")); return NULL; } } if (whichend == -1) { s_log_message (_("Found a pin which did not have the whichone field set.\n" "Verify and correct manually.\n")); } else if (whichend < -1 || whichend > 1) { s_log_message (_("Found an invalid whichend on a pin (reseting to zero): %d\n"), whichend); whichend = 0; } if (color < 0 || color > MAX_COLORS) { s_log_message (_("Found an invalid color [ %s ]\n"), buf); s_log_message (_("Setting color to default color\n")); color = DEFAULT_COLOR; } if (toplevel->override_pin_color != -1) { color = toplevel->override_pin_color; } new_obj = o_pin_new (toplevel, type, color, x1, y1, x2, y2, pin_type, whichend); return new_obj; } /*! \brief Create a string representation of the pin object * \par Function Description * This function takes a pin \a object and return a string * according to the file format definition. * * \param [in] toplevel a TOPLEVEL structure * \param [in] object a pin OBJECT * \return the string representation of the pin OBJECT */ char *o_pin_save(TOPLEVEL *toplevel, OBJECT *object) { int x1, x2, y1, y2; int pin_type, whichend; char *buf; x1 = object->line->x[0]; y1 = object->line->y[0]; x2 = object->line->x[1]; y2 = object->line->y[1]; pin_type = object->pin_type; whichend = object->whichend; buf = g_strdup_printf("%c %d %d %d %d %d %d %d", object->type, x1, y1, x2, y2, object->color, pin_type, whichend); return(buf); } /*! \brief move a pin object * \par Function Description * This function changes the position of a pin \a object. * * \param [in] toplevel The TOPLEVEL object * \param [in] dx The x-distance to move the object * \param [in] dy The y-distance to move the object * \param [in] object The pin OBJECT to be moved */ void o_pin_translate_world(TOPLEVEL *toplevel, int dx, int dy, OBJECT *object) { /* Update world coords */ object->line->x[0] = object->line->x[0] + dx; object->line->y[0] = object->line->y[0] + dy; object->line->x[1] = object->line->x[1] + dx; object->line->y[1] = object->line->y[1] + dy; /* Update bounding box */ o_pin_recalc (toplevel, object); s_tile_update_object(toplevel, object); } /*! \brief create a copy of a pin object * \par Function Description * This function creates a copy of the pin object \a o_current. * * \param [in] toplevel The TOPLEVEL object * \param [in] o_current The object that is copied * \return a new pin object */ OBJECT *o_pin_copy(TOPLEVEL *toplevel, OBJECT *o_current) { OBJECT *new_obj; new_obj = o_pin_new (toplevel, OBJ_PIN, o_current->color, o_current->line->x[0], o_current->line->y[0], o_current->line->x[1], o_current->line->y[1], o_current->pin_type, o_current->whichend); return new_obj; } /*! \brief postscript print command for a pin object * \par Function Description * This function writes the postscript command of the pin object \a o_current * into the FILE \a fp points to. * * \param [in] toplevel The TOPLEVEL object * \param [in] fp pointer to a FILE structure * \param [in] o_current The OBJECT to print * \param [in] origin_x x-coord of the postscript origin * \param [in] origin_y y-coord of the postscript origin */ void o_pin_print(TOPLEVEL *toplevel, FILE *fp, OBJECT *o_current, int origin_x, int origin_y) { int pin_width; int x1, y1; int x2, y2; if (o_current == NULL) { printf("got null in o_pin_print\n"); return; } f_print_set_color(toplevel, fp, o_current->color); x1 = o_current->line->x[0] - origin_x; y1 = o_current->line->y[0] - origin_y; x2 = o_current->line->x[1] - origin_x; y2 = o_current->line->y[1] - origin_y; pin_width = 2; if(toplevel->pin_style == THICK) { pin_width = o_current->line_width; } fprintf(fp, "%d %d %d %d %d line\n",x1,y1,x2,y2,pin_width); } /*! \brief rotate a pin object around a centerpoint * \par Function Description * This function rotates a pin \a object around the point * (\a world_centerx, \a world_centery). * * \param [in] toplevel The TOPLEVEL object * \param [in] world_centerx x-coord of the rotation center * \param [in] world_centery y-coord of the rotation center * \param [in] angle The angle to rotat the pin object * \param [in] object The pin object * \note only steps of 90 degrees are allowed for the \a angle */ void o_pin_rotate_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, int angle, OBJECT *object) { int newx, newy; if (angle == 0) return; /* translate object to origin */ o_pin_translate_world(toplevel, -world_centerx, -world_centery, object); rotate_point_90(object->line->x[0], object->line->y[0], angle, &newx, &newy); object->line->x[0] = newx; object->line->y[0] = newy; rotate_point_90(object->line->x[1], object->line->y[1], angle, &newx, &newy); object->line->x[1] = newx; object->line->y[1] = newy; o_pin_translate_world(toplevel, world_centerx, world_centery, object); } /*! \brief mirror a pin object horizontaly at a centerpoint * \par Function Description * This function mirrors a pin \a object horizontaly at the point * (\a world_centerx, \a world_centery). * * \param [in] toplevel The TOPLEVEL object * \param [in] world_centerx x-coord of the mirror position * \param [in] world_centery y-coord of the mirror position * \param [in] object The pin object */ void o_pin_mirror_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, OBJECT *object) { /* translate object to origin */ o_pin_translate_world(toplevel, -world_centerx, -world_centery, object); object->line->x[0] = -object->line->x[0]; object->line->x[1] = -object->line->x[1]; o_pin_translate_world(toplevel, world_centerx, world_centery, object); } /*! \brief modify one point of a pin object * \par Function Description * This function modifies one point of a pin \a object. The point * is specified by the \a whichone variable and the new coordinate * is (\a x, \a y). * * \param toplevel The TOPLEVEL object * \param object The pin OBJECT to modify * \param x new x-coord of the pin point * \param y new y-coord of the pin point * \param whichone pin point to modify * */ void o_pin_modify(TOPLEVEL *toplevel, OBJECT *object, int x, int y, int whichone) { object->line->x[whichone] = x; object->line->y[whichone] = y; o_pin_recalc (toplevel, object); s_tile_update_object(toplevel, object); } /*! \brief guess the whichend of pins of object list * \par Function Description * This function determines the whichend of the pins in the \a object_list. * In older libgeda file format versions there was no information about the * active end of pins. * This function calculates the bounding box of all pins in the object list. * The side of the pins that are closer to the boundary of the box are * set as active ends of the pins. * * \param toplevel The TOPLEVEL object * \param object_list list of OBJECTs * \param num_pins pin count in the object list * */ void o_pin_update_whichend(TOPLEVEL *toplevel, GList *object_list, int num_pins) { OBJECT *o_current; GList *iter; int top = 0, left = 0; int right = 0, bottom = 0; int d1, d2, d3, d4; int min0, min1; int min0_whichend, min1_whichend; int rleft, rtop, rright, rbottom; int found; if (object_list && num_pins) { if (num_pins == 1 || toplevel->force_boundingbox) { world_get_object_glist_bounds (toplevel, object_list, &left, &top, &right, &bottom); } else { found = 0; /* only look at the pins to calculate bounds of the symbol */ iter = object_list; while (iter != NULL) { o_current = (OBJECT *)iter->data; if (o_current->type == OBJ_PIN) { rleft = o_current->w_left; rtop = o_current->w_top; rright = o_current->w_right; rbottom = o_current->w_bottom; if ( found ) { left = min( left, rleft ); top = min( top, rtop ); right = max( right, rright ); bottom = max( bottom, rbottom ); } else { left = rleft; top = rtop; right = rright; bottom = rbottom; found = 1; } } iter = g_list_next (iter); } } } else { return; } iter = object_list; while (iter != NULL) { o_current = (OBJECT *)iter->data; /* Determine which end of the pin is on or nearest the boundary */ if (o_current->type == OBJ_PIN && o_current->whichend == -1) { if (o_current->line->y[0] == o_current->line->y[1]) { /* horizontal */ if (o_current->line->x[0] == left) { o_current->whichend = 0; } else if (o_current->line->x[1] == left) { o_current->whichend = 1; } else if (o_current->line->x[0] == right) { o_current->whichend = 0; } else if (o_current->line->x[1] == right) { o_current->whichend = 1; } else { d1 = abs(o_current->line->x[0] - left); d2 = abs(o_current->line->x[1] - left); d3 = abs(o_current->line->x[0] - right); d4 = abs(o_current->line->x[1] - right); if (d1 <= d2) { min0 = d1; min0_whichend = 0; } else { min0 = d2; min0_whichend = 1; } if (d3 <= d4) { min1 = d3; min1_whichend = 0; } else { min1 = d4; min1_whichend = 1; } if (min0 <= min1) { o_current->whichend = min0_whichend; } else { o_current->whichend = min1_whichend; } } } else if (o_current->line->x[0] == o_current->line->x[1]) { /* vertical */ if (o_current->line->y[0] == top) { o_current->whichend = 0; } else if (o_current->line->y[1] == top) { o_current->whichend = 1; } else if (o_current->line->x[0] == bottom) { o_current->whichend = 0; } else if (o_current->line->x[1] == bottom) { o_current->whichend = 1; } else { d1 = abs(o_current->line->y[0] - top); d2 = abs(o_current->line->y[1] - top); d3 = abs(o_current->line->y[0] - bottom); d4 = abs(o_current->line->y[1] - bottom); if (d1 <= d2) { min0 = d1; min0_whichend = 0; } else { min0 = d2; min0_whichend = 1; } if (d3 <= d4) { min1 = d3; min1_whichend = 0; } else { min1 = d4; min1_whichend = 1; } if (min0 <= min1) { o_current->whichend = min0_whichend; } else { o_current->whichend = min1_whichend; } } } } iter = g_list_next (iter); } } /*! \brief Sets the type, and corresponding width of a pin * * \par Function Description * Sets the pin's type and width to a particular style. * * \param [in] toplevel The TOPLEVEL object * \param [in] o_current The pin OBJECT being modified * \param [in] pin_type The new type of this pin */ void o_pin_set_type (TOPLEVEL *toplevel, OBJECT *o_current, int pin_type) { o_emit_pre_change_notify (toplevel, o_current); switch (pin_type) { default: g_critical ("o_pin_set_type: Got invalid pin type %i\n", pin_type); /* Fall through */ case PIN_TYPE_NET: o_current->line_width = PIN_WIDTH_NET; o_current->pin_type = PIN_TYPE_NET; break; case PIN_TYPE_BUS: o_current->line_width = PIN_WIDTH_BUS; o_current->pin_type = PIN_TYPE_BUS; break; } o_emit_change_notify (toplevel, o_current); } geda-gaf-1.8.2/libgeda/src/m_polygon.c0000664000175000017500000001316312207374140014431 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #include /*! \brief Appends a bezier curve to the polygon * * \param points [inout] The vertices of the polygon. This parameter must not * be NULL. * \param bezier [in] The bezier curve to append. * \param segments [in] The number of segments to subdivide the bezier curve into. */ void m_polygon_append_bezier (GArray *points, BEZIER *bezier, int segments) { m_polygon_append_point (points, bezier->x[0], bezier->y[0]); if (segments > 1) { int i; double a = 3 / (double) segments; double b = 6 / pow (segments, 2); double c = 6 / pow (segments, 3); double x = bezier->x[0]; double xd = a * (bezier->x[1] - bezier->x[0]); double xdd = b * (bezier->x[0] - 2 * bezier->x[1] + bezier->x[2]); double xddd = c * (3 * (bezier->x[1] - bezier->x[2]) + bezier->x[3] - bezier->x[0]); double xdd_div2 = xdd / 2; double xddd_div2 = xddd / 2; double xddd_div6 = xddd / 6; double y = bezier->y[0]; double yd = a * (bezier->y[1] - bezier->y[0]); double ydd = b * (bezier->y[0] - 2 * bezier->y[1] + bezier->y[2]); double yddd = c * (3 * (bezier->y[1] - bezier->y[2]) + bezier->y[3] - bezier->y[0]); double ydd_div2 = ydd / 2; double yddd_div2 = yddd / 2; double yddd_div6 = yddd / 6; for (i=1; i < segments; i++) { x += xd + xdd_div2 + xddd_div6; xd += xdd + xddd_div2; xdd += xddd; xdd_div2 += xddd_div2; y += yd + ydd_div2 + yddd_div6; yd += ydd + yddd_div2; ydd += yddd; ydd_div2 += yddd_div2; m_polygon_append_point (points, round (x), round (y)); } } m_polygon_append_point (points, bezier->x[3], bezier->y[3]); } /*! \brief Appends a point to the list of vertices in a polygon * * \param points [inout] The vertices of the polygon. This parameter must not * be NULL. * \param x [in] The x coordinate of the point to append. * \param y [in] The y coordinate of the point to append. */ void m_polygon_append_point (GArray *points, int x, int y) { sPOINT point = { x, y }; point.x = x; point.y = y; if (points->len == 0 || memcmp (&g_array_index (points, sPOINT, points->len - 1), &point, sizeof (sPOINT)) != 0) { g_array_append_val (points, point); } } /*! \brief Determines if a point lies inside a polygon * * TODO Untested * * \param points [in] The vertices of the polygon. This function assumes the * list of points represents a closed polygon. If the first and last point do * not match, the line segment between them is implied. This parameter must * not be NULL. * \param x [in] The x coordinate of the given point. * \param y [in] The y coordinate of the given point. * \returns TRUE if the point lies inside the polygon, FALSE if the point lies * outside the polygon. */ gboolean m_polygon_interior_point (GArray *points, int x, int y) { int count = 0; if (points->len > 0) { int i; sPOINT p1 = g_array_index (points, sPOINT, points->len - 1); for (i=0; i < points->len; i++) { sPOINT p0 = p1; double xi; p1 = g_array_index (points, sPOINT, i); if (y < p0.y && y < p1.y) continue; if (y >= p0.y && y >= p1.y) continue; xi = ((double) (p1.x - p0.x)) * (y - p0.y) / (p1.y - p0.y) + p0.x; if (x < xi) count++; } } return (count % 2) == 1; /* odd */ } /*! \brief Calculates the distance between the given point and the closest * point on the perimeter of the polygon. * * \param [in] points The polygon, where polygon != NULL. * \param [in] x The x coordinate of the given point. * \param [in] y The y coordinate of the given point. * \param [in] closed If TRUE, the function treats the polygon as a closed * shape, creating a line between the first and last points, if needed. If * the first and last points are equal, or inherintly closed, this parameter * does not matter. * \return The shortest distance from the polygon to the point. With an * invalid parameter, this function returns G_MAXDOUBLE. */ double m_polygon_shortest_distance (GArray *points, int x, int y, gboolean closed) { gdouble shortest = G_MAXDOUBLE; if (points->len > 0) { int i = 0; sPOINT point; if (closed) { point = g_array_index (points, sPOINT, points->len - 1); } else { point = g_array_index (points, sPOINT, i++); } while (i < points->len) { double distance; LINE line; line.x[0] = point.x; line.y[0] = point.y; point = g_array_index (points, sPOINT, i++); line.x[1] = point.x; line.y[1] = point.y; distance = m_line_shortest_distance (&line, x, y); shortest = min (shortest, distance); } } return shortest; } geda-gaf-1.8.2/libgeda/src/o_basic.c0000664000175000017500000006617112220647257014043 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! \file o_basic.c * \brief functions for the basic object type * * This file contains the code used to handle OBJECTs (st_object). * The object is the basic type of all elements stored in schematic * and symbol files. * * The object be extended to become concrete objects like a line, * a pin, text, a circle or a picture. These extentions are substructures * in the object struct. * The subobjects are picture (st_picture), path (st_path), arcs (st_arc), * a line (st_line), box (st_box), circle (st_circle), text (st_text) and * a complex type (st_complex). * * Pins, nets and busses are just a kind of a line. * * The complex object can carry many primary objects. If the complex * object is a symbol, then the complex symbol contains all the pins, * the text and the graphics. * * \image html o_object_relations.png * \image latex o_object_relations.pdf "object relations" width=14cm */ #include #include /* instrumentation code */ #if 0 #include #include #endif #include "libgeda_priv.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \brief Check if point is inside a region * \par Function Description * This function takes a rectangular region and a point. It will check * if the point is located in the region or not. * * \param [in] xmin Smaller x coordinate of the region. * \param [in] ymin Smaller y coordinate of the region. * \param [in] xmax Larger x coordinate of the region. * \param [in] ymax Larger y coordinate of the region. * \param [in] x x coordinate of the point to check. * \param [in] y y coordinate of the point to check. * \return 1 if the point is inside the region, 0 otherwise. */ int inside_region(int xmin, int ymin, int xmax, int ymax, int x, int y) { return ((x >= xmin && x <= xmax && y >= ymin && y <= ymax) ? 1 : 0); } /*! \brief Recalculate position of the given object. * \par Function Description * This function will take an object and recalculate its * position on the screen. * * \param [in] toplevel The TOPLEVEL object. * \param [in,out] o_current OBJECT to recalculate. * */ void o_recalc_single_object(TOPLEVEL *toplevel, OBJECT *o_current) { if (o_current != NULL) { switch(o_current->type) { case(OBJ_LINE): o_line_recalc(toplevel, o_current); break; case(OBJ_NET): o_net_recalc(toplevel, o_current); break; case(OBJ_BUS): o_bus_recalc(toplevel, o_current); break; case(OBJ_BOX): o_box_recalc(toplevel, o_current); break; case(OBJ_PATH): o_path_recalc(toplevel, o_current); break; case(OBJ_PICTURE): o_picture_recalc(toplevel, o_current); break; case(OBJ_CIRCLE): o_circle_recalc(toplevel, o_current); break; case(OBJ_COMPLEX): case(OBJ_PLACEHOLDER): o_complex_recalc(toplevel, o_current); break; case(OBJ_PIN): o_pin_recalc(toplevel, o_current); break; case(OBJ_ARC): o_arc_recalc(toplevel, o_current); break; case(OBJ_TEXT): o_text_recalc(toplevel, o_current); break; } } } /*! \brief Recalculate position of a list (GList) of objects. * \par Function Description * This function will take a list (GList) of objects and recalculate their * positions on the screen. * * \param [in] toplevel The TOPLEVEL object. * \param [in,out] object_glist OBJECT list to recalculate. * */ void o_recalc_object_glist(TOPLEVEL *toplevel, GList *object_glist) { GList *list = object_glist; OBJECT *o_current; while (list != NULL) { o_current = (OBJECT *) list->data; o_recalc_single_object(toplevel, o_current); list = g_list_next(list); } } /*! \brief Set an #OBJECT's line options. * \par Function Description * This function allows a line's end, type, width, length and space to be set. * See #OBJECT_END and #OBJECT_TYPE for information on valid * object end and type values. * * \param [in] toplevel The TOPLEVEL object. * \param [in,out] o_current OBJECT to set line options on. * \param [in] end An OBJECT_END. * \param [in] type An OBJECT_TYPE. * \param [in] width Line width. * \param [in] length Line length. * \param [in] space Spacing between dashes/dots. Cannot be negative. * * \todo Make space an unsigned int and check for a max value instead. * If a max value is not required, then it would simplify the code. */ void o_set_line_options(TOPLEVEL *toplevel, OBJECT *o_current, OBJECT_END end, OBJECT_TYPE type, int width, int length, int space) { if(o_current == NULL) { return; } /* do some error checking / correcting */ switch(type) { case(TYPE_DOTTED): if (space < 1) { space = 100; s_log_message (_("Invalid space specified, setting to 100\n")); } break; case(TYPE_DASHED): case(TYPE_CENTER): case(TYPE_PHANTOM): if (length < 1) { length = 100; s_log_message (_("Invalid length specified, setting to 100\n")); } if (space < 1) { space = 100; s_log_message (_("Invalid space specified, setting to 100\n")); } break; default: break; } o_emit_pre_change_notify (toplevel, o_current); o_current->line_width = width; o_current->line_end = end; o_current->line_type = type; o_current->line_length = length; o_current->line_space = space; /* Recalculate the object's bounding box */ o_recalc_single_object( toplevel, o_current ); o_emit_change_notify (toplevel, o_current); } /*! \brief get #OBJECT's line properties. * \par Function Description * This function get's the #OBJECT's line options. * See #OBJECT_END and #OBJECT_TYPE for information on valid * object end and type values. * * \param [in] object OBJECT to read the properties * \param [out] end An OBJECT_END. * \param [out] type An OBJECT_TYPE. * \param [out] width Line width. * \param [out] length Line length. * \param [out] space Spacing between dashes/dots. * \return TRUE on succes, FALSE otherwise * */ gboolean o_get_line_options(OBJECT *object, OBJECT_END *end, OBJECT_TYPE *type, int *width, int *length, int *space) { if (object->type != OBJ_LINE && object->type != OBJ_ARC && object->type != OBJ_BOX && object->type != OBJ_CIRCLE && object->type != OBJ_PATH) return FALSE; *end = object->line_end; *type = object->line_type; *width = object->line_width; *length = object->line_length; *space = object->line_space; return TRUE; } /*! \brief Set #OBJECT's fill options. * \par Function Description * This function allows an #OBJECT's fill options to be configured. * See #OBJECT_FILLING for information on valid fill types. * * \param [in] toplevel The TOPLEVEL object. * \param [in,out] o_current OBJECT to be updated. * \param [in] type OBJECT_FILLING type. * \param [in] width fill width. * \param [in] pitch1 cross hatch line distance * \param [in] angle1 cross hatch angle * \param [in] pitch2 cross hatch line distance * \param [in] angle2 cross hatch angle * */ void o_set_fill_options(TOPLEVEL *toplevel, OBJECT *o_current, OBJECT_FILLING type, int width, int pitch1, int angle1, int pitch2, int angle2) { if(o_current == NULL) { return; } o_emit_pre_change_notify (toplevel, o_current); o_current->fill_type = type; o_current->fill_width = width; o_current->fill_pitch1 = pitch1; o_current->fill_angle1 = angle1; o_current->fill_pitch2 = pitch2; o_current->fill_angle2 = angle2; o_emit_change_notify (toplevel, o_current); } /*! \brief get #OBJECT's fill properties. * \par Function Description * This function get's the #OBJECT's fill options. * See #OBJECT_FILLING for information on valid fill types. * * \param [in] object OBJECT to read the properties * \param [out] type OBJECT_FILLING type * \param [out] width fill width. * \param [out] pitch1 cross hatch line distance * \param [out] angle1 cross hatch angle * \param [out] pitch2 cross hatch line distance * \param [out] angle2 cross hatch angle * \return TRUE on succes, FALSE otherwise * */ gboolean o_get_fill_options(OBJECT *object, OBJECT_FILLING *type, int *width, int *pitch1, int *angle1, int *pitch2, int *angle2) { if (object->type != OBJ_BOX && object->type != OBJ_CIRCLE && object->type != OBJ_PATH) return FALSE; *type = object->fill_type; *width = object->fill_width; *pitch1 = object->fill_pitch1; *angle1 = object->fill_angle1; *pitch2 = object->fill_pitch2; *angle2 = object->fill_angle2; return TRUE; } /*! \brief get the base position of an object * \par Function Description * This function gets the position of an object in world coordinates. * * \param [in] toplevel The toplevel environment. * \param [out] x pointer to the x-position * \param [out] y pointer to the y-position * \param [in] object The object to get the position. * \return TRUE if successfully determined the position, FALSE otherwise */ gboolean o_get_position (TOPLEVEL *toplevel, gint *x, gint *y, OBJECT *object) { gboolean (*func) (TOPLEVEL*, int*, int*, OBJECT*) = NULL; switch (object->type) { case OBJ_LINE: func = o_line_get_position; break; case OBJ_NET: func = o_net_get_position; break; case OBJ_BUS: func = o_bus_get_position; break; case OBJ_BOX: func = o_box_get_position; break; case OBJ_PICTURE: func = o_picture_get_position; break; case OBJ_CIRCLE: func = o_circle_get_position; break; case OBJ_PLACEHOLDER: case OBJ_COMPLEX: func = o_complex_get_position; break; case OBJ_TEXT: func = o_text_get_position; break; case OBJ_PATH: func = o_path_get_position; break; case OBJ_PIN: func = o_pin_get_position; break; case OBJ_ARC: func = o_arc_get_position; break; default: g_critical ("o_get_position: object %p has bad type '%c'\n", object, object->type); } if (func != NULL) { return (*func) (toplevel, x, y, object); } return FALSE; } /*! \brief Translates an object in world coordinates * \par Function Description * This function translates the object object by * dx and dy. * * \param [in] toplevel The toplevel environment. * \param [in] dx Amount to horizontally translate object * \param [in] dy Amount to vertically translate object * \param [in] object The object to translate. */ void o_translate_world (TOPLEVEL *toplevel, gint dx, gint dy, OBJECT *object) { void (*func) (TOPLEVEL*, int, int, OBJECT*) = NULL; switch (object->type) { case OBJ_LINE: func = o_line_translate_world; break; case OBJ_NET: func = o_net_translate_world; break; case OBJ_BUS: func = o_bus_translate_world; break; case OBJ_BOX: func = o_box_translate_world; break; case OBJ_PICTURE: func = o_picture_translate_world; break; case OBJ_CIRCLE: func = o_circle_translate_world; break; case OBJ_PLACEHOLDER: case OBJ_COMPLEX: func = o_complex_translate_world; break; case OBJ_TEXT: func = o_text_translate_world; break; case OBJ_PATH: func = o_path_translate_world; break; case OBJ_PIN: func = o_pin_translate_world; break; case OBJ_ARC: func = o_arc_translate_world; break; default: g_critical ("o_translate_world: object %p has bad type '%c'\n", object, object->type); } if (func != NULL) { (*func) (toplevel, dx, dy, object); } } /*! \brief Rotates an object in world coordinates * \par Function Description * This function rotates the object object about the coordinates * world_centerx and world_centery, by angledegrees. * * \param [in] toplevel The toplevel environment. * \param [in] world_centerx X coordinate of rotation center (world coords) * \param [in] world_centery Y coordinate of rotation center (world coords) * \param [in] angle Angle of rotation (degrees) * \param [in] object The object to rotate. */ void o_rotate_world (TOPLEVEL *toplevel, int world_centerx, int world_centery, int angle, OBJECT *object) { void (*func) (TOPLEVEL*, int, int, int, OBJECT*) = NULL; switch (object->type) { case OBJ_LINE: func = o_line_rotate_world; break; case OBJ_NET: func = o_net_rotate_world; break; case OBJ_BUS: func = o_bus_rotate_world; break; case OBJ_BOX: func = o_box_rotate_world; break; case OBJ_PICTURE: func = o_picture_rotate_world; break; case OBJ_CIRCLE: func = o_circle_rotate_world; break; case OBJ_PLACEHOLDER: case OBJ_COMPLEX: func = o_complex_rotate_world; break; case OBJ_TEXT: func = o_text_rotate_world; break; case OBJ_PATH: func = o_path_rotate_world; break; case OBJ_PIN: func = o_pin_rotate_world; break; case OBJ_ARC: func = o_arc_rotate_world; break; default: g_critical ("o_rotate_world: object %p has bad type '%c'\n", object, object->type); } if (func != NULL) { (*func) (toplevel, world_centerx, world_centery, angle, object); } } /*! \brief Mirrors an object in world coordinates * \par Function Description * This function mirrors an object about the point * (world_centerx,world_centery) in world units. * * \param [in] toplevel The TOPLEVEL object. * \param [in] world_centerx Origin x coordinate in WORLD units. * \param [in] world_centery Origin y coordinate in WORLD units. * \param [in,out] object The OBJECT to mirror. */ void o_mirror_world (TOPLEVEL *toplevel, int world_centerx, int world_centery, OBJECT *object) { void (*func) (TOPLEVEL*, int, int, OBJECT*) = NULL; switch (object->type) { case OBJ_LINE: func = o_line_mirror_world; break; case OBJ_NET: func = o_net_mirror_world; break; case OBJ_BUS: func = o_bus_mirror_world; break; case OBJ_BOX: func = o_box_mirror_world; break; case OBJ_PICTURE: func = o_picture_mirror_world; break; case OBJ_CIRCLE: func = o_circle_mirror_world; break; case OBJ_PLACEHOLDER: case OBJ_COMPLEX: func = o_complex_mirror_world; break; case OBJ_TEXT: func = o_text_mirror_world; break; case OBJ_PATH: func = o_path_mirror_world; break; case OBJ_PIN: func = o_pin_mirror_world; break; case OBJ_ARC: func = o_arc_mirror_world; break; default: g_critical ("o_mirror_world: object %p has bad type '%c'\n", object, object->type); } if (func != NULL) { (*func) (toplevel, world_centerx, world_centery, object); } } /*! \brief Calculates the distance between the given point and the closest * point on the given object. * * \param [in] object The given object. * \param [in] x The x coordinate of the given point. * \param [in] y The y coordinate of the given point. * \return The shortest distance from the object to the point. If the * distance cannot be calculated, this function returns a really large * number (G_MAXDOUBLE). If an error occurs, this function returns * G_MAXDOUBLE. */ double o_shortest_distance (OBJECT *object, int x, int y) { return o_shortest_distance_full (object, x, y, FALSE); } /*! \brief Calculates the distance between the given point and the closest * point on the given object. Allows forcing objects to solid. * * \param [in] object The given object. * \param [in] x The x coordinate of the given point. * \param [in] y The y coordinate of the given point. * \param [in] force_solid If true, force treating the object as solid. * \return The shortest distance from the object to the point. If the * distance cannot be calculated, this function returns a really large * number (G_MAXDOUBLE). If an error occurs, this function returns * G_MAXDOUBLE. */ double o_shortest_distance_full (OBJECT *object, int x, int y, int force_solid) { double shortest_distance = G_MAXDOUBLE; double (*func) (OBJECT *, int, int, int) = NULL; g_return_val_if_fail (object != NULL, G_MAXDOUBLE); switch(object->type) { case OBJ_BUS: case OBJ_NET: case OBJ_PIN: case OBJ_LINE: func = o_line_shortest_distance; break; case OBJ_BOX: func = o_box_shortest_distance; break; case OBJ_PICTURE: func = o_picture_shortest_distance; break; case OBJ_CIRCLE: func = o_circle_shortest_distance; break; case OBJ_PLACEHOLDER: case OBJ_COMPLEX: func = o_complex_shortest_distance; break; case OBJ_TEXT: func = o_text_shortest_distance; break; case OBJ_PATH: func = o_path_shortest_distance; break; case OBJ_ARC: func = o_arc_shortest_distance; break; default: g_critical ("o_shortest_distance: object %p has bad type '%c'\n", object, object->type); } if (func != NULL) { shortest_distance = (*func) (object, x, y, force_solid); } return shortest_distance; } /*! \brief Mark an OBJECT's cached bounds as invalid * \par Function Description * Recursively marks the cached bounds of the given OBJECT and its * parents as having been invalidated and in need of an update. They * will be recalculated next time the OBJECT's bounds are requested * (e.g. via world_get_single_object_bounds() ). * \param [in] toplevel * \param [in] obj * * \todo Turn this into a macro? */ void o_bounds_invalidate(TOPLEVEL *toplevel, OBJECT *obj) { do { obj->w_bounds_valid = FALSE; } while ((obj = obj->parent) != NULL); } /*! \brief Change the color of an object * * \par Function Description * This function changes the color of an object. * * \param [in] toplevel The TOPLEVEL structure. * \param [in] object The OBJECT to change color. * \param [in] color The new color. */ void o_set_color (TOPLEVEL *toplevel, OBJECT *object, int color) { g_return_if_fail (object != NULL); object->color = color; if (object->type == OBJ_COMPLEX || object->type == OBJ_PLACEHOLDER) o_glist_set_color (toplevel, object->complex->prim_objs, color); } /*! \brief Get an object's parent PAGE. * * \par Function Description * Returns the PAGE structure which owns \a object. If \a object is * not currently associated with a PAGE, returns NULL. If \a object is * part of a compound object, recurses upward. * * \param [in] toplevel The TOPLEVEL structure. * \param [in] object The OBJECT for which to retrieve the parent PAGE. * \return The PAGE which owns \a object or NULL. * * \sa s_page_append_object() s_page_append() s_page_remove() */ PAGE * o_get_page (TOPLEVEL *toplevel, OBJECT *object) { if (object->parent != NULL) { return o_get_page (toplevel, object->parent); } return object->page; } /*! \brief Get an object's parent PAGE, or fall back to global current page. * * \par Function Description * If set, returns the PAGE structure which owns \a object. If \a * object does not have a parent page set, returns the global current * page from \a toplevel. If the object parent page is inconsistent * with the global current page, a critical-level error message is * emitted. * * \warning This function is primarily intended to assist in the * migration of code from using the TOPLEVEL current page to using the * o_get_page(). It should not be used in new code. * * \deprecated Use o_get_page() in new code. * * \param [in] toplevel The TOPLEVEL structure. * \param [in] object The OBJECT for which to retrieve the parent PAGE. * \return The PAGE which owns \a object, the global current PAGE, or NULL. */ PAGE * o_get_page_compat (TOPLEVEL *toplevel, OBJECT *object) { PAGE *page = o_get_page (toplevel, object); if (page != toplevel->page_current) { g_critical ("o_get_page_compat: OBJECT.page = %p, TOPLEVEL.page_current = %p", page, toplevel->page_current); return toplevel->page_current; } else { return page; } } /*! \brief Get an object's containing complex object. * * \par Function Description * If \a object is part of a complex #OBJECT, returns that * #OBJECT. Otherwise, returns NULL. * * \param [in] toplevel The TOPLEVEL structure. * \param [in] object The OBJECT for which to get the containing OBJECT. * \return The complex OBJECT which owns \a object, or NULL. */ OBJECT * o_get_parent (TOPLEVEL *toplevel, OBJECT *object) { g_return_val_if_fail ((object != NULL), NULL); if (object->parent != NULL) { return object->parent; } return NULL; } /* Structure for each entry in a TOPLEVEL's list of registered change * notification handlers */ struct change_notify_entry { ChangeNotifyFunc pre_change_func; ChangeNotifyFunc change_func; void *user_data; }; /*! \brief Add change notification handlers to a TOPLEVEL. * \par Function Description * Adds a set of change notification handlers to a #TOPLEVEL instance. * \a pre_change_func will be called just before an object is * modified, and \a change_func will be called just after an object is * modified, with the affected object and the given \a user_data. * * \param toplevel #TOPLEVEL structure to add handlers to. * \param pre_change_func Function to be called just before changes. * \param change_func Function to be called just after changes. * \param user_data User data to be passed to callback functions. */ void o_add_change_notify (TOPLEVEL *toplevel, ChangeNotifyFunc pre_change_func, ChangeNotifyFunc change_func, void *user_data) { struct change_notify_entry *entry = g_new0 (struct change_notify_entry, 1); entry->pre_change_func = pre_change_func; entry->change_func = change_func; entry->user_data = user_data; toplevel->change_notify_funcs = g_list_prepend (toplevel->change_notify_funcs, entry); } /*! \brief Remove change notification handlers from a TOPLEVEL. * \par Function Description * Removes a set of change notification handlers and their associated * \a user_data from \a toplevel. If no registered set of handlers * matches the given \a pre_change_func, \a change_func and \a * user_data, does nothing. * * \see o_add_change_notify() * * \param toplevel #TOPLEVEL structure to remove handlers from. * \param pre_change_func Function called just before changes. * \param change_func Function called just after changes. * \param user_data User data passed to callback functions. */ void o_remove_change_notify (TOPLEVEL *toplevel, ChangeNotifyFunc pre_change_func, ChangeNotifyFunc change_func, void *user_data) { GList *iter; for (iter = toplevel->change_notify_funcs; iter != NULL; iter = g_list_next (iter)) { struct change_notify_entry *entry = (struct change_notify_entry *) iter->data; if ((entry != NULL) && (entry->pre_change_func == pre_change_func) && (entry->change_func == change_func) && (entry->user_data == user_data)) { g_free (entry); iter->data = NULL; } } toplevel->change_notify_funcs = g_list_remove_all (toplevel->change_notify_funcs, NULL); } /*! \brief Emit an object pre-change notification. * \par Function Description * Calls each pre-change callback function registered with #TOPLEVEL * to notify listeners that \a object is about to be modified. All * libgeda functions that modify #OBJECT structures should call this * just before making a change to an #OBJECT. * * \param toplevel #TOPLEVEL structure to emit notifications from. * \param object #OBJECT structure to emit notifications for. */ void o_emit_pre_change_notify (TOPLEVEL *toplevel, OBJECT *object) { GList *iter; for (iter = toplevel->change_notify_funcs; iter != NULL; iter = g_list_next (iter)) { struct change_notify_entry *entry = (struct change_notify_entry *) iter->data; if ((entry != NULL) && (entry->pre_change_func != NULL)) { entry->pre_change_func (entry->user_data, object); } } } /*! \brief Emit an object change notification. * \par Function Description * Calls each change callback function registered with #TOPLEVEL to * notify listeners that \a object has just been modified. All * libgeda functions that modify #OBJECT structures should call this * just after making a change to an #OBJECT. * * \param toplevel #TOPLEVEL structure to emit notifications from. * \param object #OBJECT structure to emit notifications for. */ void o_emit_change_notify (TOPLEVEL *toplevel, OBJECT *object) { GList *iter; for (iter = toplevel->change_notify_funcs; iter != NULL; iter = g_list_next (iter)) { struct change_notify_entry *entry = (struct change_notify_entry *) iter->data; if ((entry != NULL) && (entry->change_func != NULL)) { entry->change_func (entry->user_data, object); } } } /*! \brief Query visibility of the object. * \par Function Description * Attribute getter for the visible field within the object. * * \param toplevel The TOPLEVEL structure * \param object The OBJECT structure to be queried * \return TRUE when VISIBLE, FALSE otherwise */ gboolean o_is_visible (TOPLEVEL *toplevel, OBJECT *object) { g_return_val_if_fail (object != NULL, FALSE); return object->visibility == VISIBLE; } /*! \brief Set visibility of the object. * \par Function Description * Set value of visibility field within the object. * If resulting visibility value is changed, * invalidate the bounds of the object and parent objects. * * \param toplevel The #TOPLEVEL structure * \param object The #OBJECT structure to be modified */ void o_set_visibility (TOPLEVEL *toplevel, OBJECT *object, int visibility) { g_return_if_fail (object != NULL); if (object->visibility != visibility) { object->visibility = visibility; o_bounds_invalidate (toplevel, object); } } geda-gaf-1.8.2/libgeda/src/u_basic.c0000664000175000017500000000504312207374140014031 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998, 1999, 2000 Kazu Hirata / Ales Hvezda * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #ifdef HAVE_STRING_H #include #endif #ifdef HAVE_STDLIB_H #include #endif #include "libgeda_priv.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ /* the delimiter is what is passed in or spaces */ /* count starts at zero */ char *u_basic_breakup_string(char *string, char delimiter, int count) { int i=0, j=0; int internal_counter=0; int done=FALSE; char *return_value; g_return_val_if_fail ((string != NULL), NULL); /* skip over any leading white space */ while(string[i] == ' ' && !string[i]) { i++; } /* Allocate space for temp string storage (+1 for null character) */ return_value = g_malloc(sizeof(char)*(strlen(string) + 1)); while(!done) { /* oops, ran out of string before we found what we were */ /* looking for */ if (i > strlen(string)) { g_free(return_value); return(NULL); } /* skip over any leading white space */ while(string[i] == ' ' && string[i] != '\0') { i++; } j = 0; /* Old forgiving parsing */ /* while(string[i] != ',' && string[i] != ';' && */ /* string[i] != ' ' && string[i] != '\0') {*/ while(string[i] != delimiter && string[i] != '\0') { return_value[j] = string[i]; i++; j++; } if (internal_counter == count) { done = TRUE; } else { internal_counter++; i++; /* skip the offending character */ } } return_value[j] = '\0'; return(return_value); } geda-gaf-1.8.2/libgeda/src/s_textbuffer.c0000664000175000017500000001177212220647257015141 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #ifdef HAVE_STRING_H #include #endif #ifdef HAVE_LIBDMALLOC #include #endif #include "libgeda_priv.h" struct _TextBuffer { const gchar *buffer; gsize size; gchar *line; gsize linesize; gsize offset; }; #define TEXT_BUFFER_LINE_SIZE 1024 /*! \brief Create a new managed text buffer. * * \par Function description * Allocates and initialises a new TextBuffer to manage the given data * buffer. * * If the size argument is negative, assumes that data is * null-terminated. * * \param data The address of the buffer to be managed. * \param size The length of the buffer. * \retval Pointer to a new TextBuffer struct. */ TextBuffer *s_textbuffer_new (const gchar *data, const gint size) { TextBuffer *result; gsize realsize; g_return_val_if_fail ((data != NULL), NULL); if (size < 0) realsize = strlen(data); else realsize = size; result = g_new0(TextBuffer, 1); result->buffer = data; result->size = realsize; result->linesize = TEXT_BUFFER_LINE_SIZE; result->line = g_malloc(result->linesize); return result; } /*! \brief Clean up a managed text buffer * * \par Function description * Cleans up all of the resources associated with a given TextBuffer. * * Should be called thus: * * \code * tb = s_textbuffer_free (tb); * \endcode */ TextBuffer *s_textbuffer_free (TextBuffer *tb) { if (tb == NULL) return NULL; g_free (tb->line); tb->line = NULL; g_free (tb); return NULL; } /*! \brief Fetch a number of characters from a text buffer * * \par Function description * Get some number of characters from a TextBuffer, starting at the * current position. If the end of the buffer has been reached (and * thus no more characters remain) returns null. If \a count is -1, * obtains all characters up to and including the next newline. * * A newline is detected as '\n', or '\r' together with its * immediately following '\n', or '\r', in that order. All newlines * are collapsed into a single '\n'. * * The returned character array should be considered highly volatile, * and is only valid until the next call to s_textbuffer_next() or * s_textbuffer_next_line(). * * \param tb TextBuffer to read from. * \param count Maximum number of characters to read. * \retval Character array, or NULL if no characters left. */ const gchar * s_textbuffer_next (TextBuffer *tb, const gssize count) { gboolean eol = FALSE; gchar c; gsize len; g_return_val_if_fail (tb != NULL, NULL); if (tb->offset >= tb->size) return NULL; const gchar *src = tb->buffer + tb->offset; gchar *dest = tb->line; const gchar *buf_end = tb->buffer + tb->size; while (1) { if (src >= buf_end) break; if (count >= 0 && dest - tb->line >= count) break; if (count < 0 && eol) break; /* Expand line buffer, if necessary, leaving space for a null */ len = dest - tb->line + 2; if (len >= tb->linesize) { tb->linesize += TEXT_BUFFER_LINE_SIZE; tb->line = g_realloc(tb->line, tb->linesize); } eol = FALSE; c = *src; if (c == '\n') { *dest = '\n'; eol = TRUE; } else if (c == '\r') { *dest = '\n'; eol = TRUE; /* Peek ahead to absorb a '\n' */ src++; if (src >= buf_end || *src != '\n') src--; } else { *dest = c; } src++; dest++; } *dest = 0; tb->offset = src - tb->buffer; return tb->line; } /*! \brief Fetch the next line from a text buffer * * \par Function description * Get the next line of characters from a TextBuffer, starting from * the current position. If the end of the buffer has been reached * (and thus no more characters remain) returns null. * * The returned character array should be considered highly volatile, * and is only valid until the next call to s_textbuffer_next() or * s_textbuffer_next_line(). * * \param tb TextBuffer to read from. * \retval Character array, or NULL if no characters left. */ const gchar * s_textbuffer_next_line (TextBuffer *tb) { return s_textbuffer_next (tb, -1); } geda-gaf-1.8.2/libgeda/src/s_menu.c0000664000175000017500000000607612216140010013704 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_STRING_H #include #endif #include "libgeda_priv.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \brief */ struct st_menu { char *menu_name; SCM menu_items; }; static int menu_index=0; #define MAX_MENUS 32 /* and eventually make this unlimited */ /* hack hack */ static struct st_menu menu[MAX_MENUS]; /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ int s_menu_return_num(void) { return(menu_index); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM s_menu_return_entry(int index, char **menu_name) { if (menu_name == NULL) { return SCM_BOOL_F; } if (index >= MAX_MENUS || index < 0) { *menu_name = NULL; return SCM_BOOL_F; } *menu_name = menu[index].menu_name; return(menu[index].menu_items); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ int s_menu_add_entry(char *new_menu, SCM menu_items) { if (new_menu == NULL) { return(-1); } if (menu_index >= MAX_MENUS) { return(-1); } menu[menu_index].menu_name = g_strdup (new_menu); scm_gc_protect_object (menu_items); menu[menu_index].menu_items = menu_items; menu_index++; return(menu_index); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void s_menu_print() { int i; for (i = 0; i < menu_index; i++) { printf("Name; %s\n", menu[i].menu_name); scm_display (menu[i].menu_items, scm_current_output_port ()); printf("\n"); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void s_menu_free() { int i; for (i = 0; i < menu_index; i++) { if (menu[i].menu_name) { g_free(menu[i].menu_name); menu[i].menu_name = NULL; scm_gc_unprotect_object (menu[i].menu_items); } } menu_index=0; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void s_menu_init() { int i; for (i = 0; i < MAX_MENUS; i++) { menu[i].menu_name = NULL; } } geda-gaf-1.8.2/libgeda/src/libgeda.c0000664000175000017500000000376012220647257014026 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998, 1999, 2000 Kazu Hirata / Ales Hvezda * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #ifdef HAVE_STRING_H #include #endif #ifdef HAVE_STRARG_H #include #endif #ifdef HAVE_STDLIB_H #include #endif #include "libgeda_priv.h" #include "libgeda/libgedaguile.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \brief Perform runtime initialization of libgeda library. * \par Function Description * This function is responsible for making sure that any runtime * initialization is done for all the libgeda routines. It should * be called before any other libgeda functions are called. * */ void libgeda_init(void) { #ifdef ENABLE_NLS /* Initialise gettext */ bindtextdomain (LIBGEDA_GETTEXT_DOMAIN, LOCALEDIR); bind_textdomain_codeset(LIBGEDA_GETTEXT_DOMAIN, "UTF-8"); #endif /* Initialise gobject */ g_type_init (); s_path_sys_data (); s_path_sys_config (); s_clib_init(); s_slib_init(); s_menu_init(); s_attrib_init(); s_color_init(); s_conn_init(); g_register_libgeda_funcs(); g_register_libgeda_dirs(); edascm_init (); } geda-gaf-1.8.2/libgeda/src/m_box.c0000664000175000017500000000505312207374140013531 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! \file m_box.c * * \brief Low-level mathmatical functions for boxes */ #include #include #include #include "libgeda_priv.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \brief Calculates the distance between the given point and the closest * point on the perimeter or interior of the box. * * \param [in] box The box. * \param [in] x The x coordinate of the given point. * \param [in] y The y coordinate of the given point. * \param [in] solid TRUE if the box should be treated as solid, FALSE if * the box should be treated as hollow. * \return The shortest distance from the box to the point. With a solid * shape, this function returns a distance of zero for interior points. With * an invalid parameter, this function returns G_MAXDOUBLE. */ double m_box_shortest_distance (BOX *box, int x, int y, int solid) { double shortest_distance; double x1, y1, x2, y2; double dx, dy; g_return_val_if_fail (box != NULL, G_MAXDOUBLE); x1 = (double) min (box->upper_x, box->lower_x); y1 = (double) min (box->upper_y, box->lower_y); x2 = (double) max (box->upper_x, box->lower_x); y2 = (double) max (box->upper_y, box->lower_y); dx = min (((double)x) - x1, x2 - ((double)x)); dy = min (((double)y) - y1, y2 - ((double)y)); if (solid) { dx = min (dx, 0); dy = min (dy, 0); } if (dx < 0) { if (dy < 0) { shortest_distance = sqrt ((dx * dx) + (dy * dy)); } else { shortest_distance = fabs (dx); } } else { if (dy < 0) { shortest_distance = fabs (dy); } else { shortest_distance = min (dx, dy); } } return shortest_distance; } geda-gaf-1.8.2/libgeda/src/o_text_basic.c0000664000175000017500000007622012220647257015103 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! \file o_text_basic.c * \brief functions for the text and fonts * * \par The font definitions * * Each letter of the font is defined in a single font symbol file. In * the font symbol file, the character width is defined in the second * line. The first line contains the file format version. * * All remaining lines are basic graphical lines. They build the * appearance of the character. * * \image html o_text_font_overview.png * \image latex o_text_font_overview.pdf "font overview" width=14cm * * The height of capital characters in the font files is 26. The size * of small letters is 16. The space below the zero line is used by * characters like g, p or q. The space above 26 * is used by diacritic marks like accents, breve, circumflex mostly in * european characters. * * \par The text definitions * * The text is stored and printed in several different representations. * * In the gEDA files the text is just a string. It is stored unmodified * in OBJECT->text->string. * * If the string is an attribute with an equal sign as delimiter between * an attribute name and an attribute value, then it is possible to * hide some parts of the text. The still visible part of an attribute * is stored in OBJECT->text->disp_string. * * \image html o_text_text_overview.png * \image latex o_text_text_overview.pdf "text overview" width=14cm * * To draw the text in gschem, the string is interpreted and converted * to a list of basic graphical objects. The basic line objects are * collected from the font character objects. */ #include #include #include #include #include #ifdef HAVE_STRING_H #include #endif #ifdef HAVE_UNISTD_H #include #endif #include "libgeda_priv.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \brief Scale factor between legacy gschem font units and postscript points. * * \par Description * gschem fonts are nominally specified in points, however there is a * difference in how the specified font size corresponds to the metrics of * the font when compared to typical typographic usage. * * The following factor was impirically determined to approximately match the * cap-height between the legacy gschem font, and fonts rendered using pango. */ #define GEDA_FONT_FACTOR 1.3 /*! \brief Scale factor font height and line-spacing (for print only) * * \par Description * Specifies the scale factor between the nominal font size and the inter- * line spacing used to render it when printing. */ #define PRINT_LINE_SPACING 1.12 /*! Size of a tab in characters */ int tab_in_chars = 8; /*! \brief update the visible part of a string * \par Function Description * If a string is an attribute, then it is possible to hide * the name or the value part of the attribute string. * This functions updates the text->disp_string according * to the object->show_name_value settings * * \param [in] object The OBJECT to update */ static void update_disp_string (OBJECT *object) { char *name = NULL; char *value = NULL; TEXT *text = object->text; g_free (text->disp_string); if (o_attrib_get_name_value (object, &name, &value)) { switch (object->show_name_value) { case (SHOW_NAME_VALUE): text->disp_string = g_strdup (text->string); break; case (SHOW_NAME): if (name[0] != '\0') { text->disp_string = g_strdup (name); } else { g_critical ("Got an improper attribute: %s\n", text->string); text->disp_string = g_strdup ("invalid"); } break; case (SHOW_VALUE): if (value[0] != '\0') { text->disp_string = g_strdup(value); } else { g_critical ("Got an improper attribute: %s\n", text->string); text->disp_string = g_strdup ("invalid"); } break; } /* free the strings allocated by o_attrib_get_name_value */ g_free(name); g_free(value); } else { text->disp_string = g_strdup (text->string); } } /*! \brief calculate and return the boundaries of a text object * \par Function Description * This function calculates the object boudaries of a text \a object. * * \param [in] toplevel The TOPLEVEL object. * \param [in] o_current a text object * \param [out] left the left world coord * \param [out] top the top world coord * \param [out] right the right world coord * \param [out] bottom the bottom world coord */ int world_get_text_bounds(TOPLEVEL *toplevel, OBJECT *o_current, int *left, int *top, int *right, int *bottom) { if (toplevel->rendered_text_bounds_func != NULL) { return toplevel->rendered_text_bounds_func (toplevel->rendered_text_bounds_data, o_current, left, top, right, bottom); } return FALSE; } /*! \brief get the position of a text object * \par Function Description * This function gets the position of the base point of a text object. * * \param [in] toplevel The toplevel environment. * \param [out] x pointer to the x-position * \param [out] y pointer to the y-position * \param [in] object The object to get the position. * \return TRUE if successfully determined the position, FALSE otherwise */ gboolean o_text_get_position (TOPLEVEL *toplevel, gint *x, gint *y, OBJECT *object) { *x = object->text->x; *y = object->text->y; return TRUE; } /*! \brief count the lines of a text string * \par Function Description * This function just counts the number of lines that are * in the \a string. * \param [in] string text string to count the lines * \return the number of lines */ int o_text_num_lines(const char *string) { int line_count = 0; const gchar *aux; gunichar current_char; if (string == NULL) { return 0; } /* if it's not null, then we have at least one line */ line_count++; /* Count how many \n are in the string */ aux = string; while (aux && ((gunichar) (*aux) != 0) ) { current_char = g_utf8_get_char_validated(aux, -1); if (current_char == '\n') line_count++; aux = g_utf8_find_next_char(aux, NULL); } return (line_count); } /*! \brief Creates a text OBJECT and the graphical objects representing it * \par Function Description * Create an OBJECT of type OBJ_TEXT. * * \param [in] toplevel The TOPLEVEL object. * \param [in] type OBJ_TEXT (TODO: why bother) * \param [in] color The color of the text. * \param [in] x World x coord of text. * \param [in] y World y coord of text. * \param [in] alignment How text bounding box aligns on (x, y). * \param [in] angle Angle at which text will appear. * \param [in] string The text (TODO: can be char const *)! * \param [in] size Text size. * \param [in] visibility VISIBLE or INVISIBLE. * \param [in] show_name_value SHOW_NAME_VALUE or friends. * \return Pointer to text OBJECT. * * \note * Caller is responsible for string; this function allocates its own copy. */ OBJECT *o_text_new(TOPLEVEL *toplevel, char type, int color, int x, int y, int alignment, int angle, const char *string, int size, int visibility, int show_name_value) { OBJECT *new_node=NULL; TEXT *text; if (string == NULL) { return(NULL); } new_node = s_basic_new_object(type, "text"); text = (TEXT *) g_malloc(sizeof(TEXT)); text->string = g_strdup (string); text->disp_string = NULL; /* We'll fix this up later */ text->length = strlen(string); text->size = size; text->alignment = alignment; text->x = x; text->y = y; text->angle = angle; new_node->text = text; new_node->color = color; o_set_visibility (toplevel, new_node, visibility); new_node->show_name_value = show_name_value; update_disp_string (new_node); /* Update bounding box */ new_node->w_bounds_valid = FALSE; return new_node; } /*! \brief update the visual boundaries of the text object * \par Function Description * This function updates the boundaries of the object \a o_current. * * \param [in] toplevel The TOPLEVEL object * \param [in] o_current The OBJECT to update */ void o_text_recalc(TOPLEVEL *toplevel, OBJECT *o_current) { int left, right, top, bottom; if ((!o_is_visible (toplevel, o_current)) && (!toplevel->show_hidden_text)) { return; } if ( !world_get_text_bounds(toplevel, o_current, &left, &top, &right, &bottom) ) return; o_current->w_left = left; o_current->w_top = top; o_current->w_right = right; o_current->w_bottom = bottom; o_current->w_bounds_valid = TRUE; } /*! \brief read a text object from a char buffer * \par Function Description * This function reads a text object from the textbuffer \a tb and * the text starting with the line \a firstline. * If the line object was read successfully, a new object is * create and appended to the \a object_list. * * \param [in] toplevel The TOPLEVEL object * \param [in] first_line the first line of the text * \param [in] tb a text buffer (usually a line of a schematic file) * \param [in] release_ver The release number gEDA * \param [in] fileformat_ver a integer value of the file format * \return The object list, or NULL on error. */ OBJECT *o_text_read (TOPLEVEL *toplevel, const char *first_line, TextBuffer *tb, unsigned int release_ver, unsigned int fileformat_ver, GError **err) { OBJECT *new_obj; char type; int x, y; int color; int size; int visibility; int show_name_value; int angle; int alignment; int num_lines = 0; int i; char* string = NULL; GString *textstr; if (fileformat_ver >= 1) { if (sscanf(first_line, "%c %d %d %d %d %d %d %d %d %d\n", &type, &x, &y, &color, &size, &visibility, &show_name_value, &angle, &alignment, &num_lines) != 10) { g_set_error(err, EDA_ERROR, EDA_ERROR_PARSE, _("Failed to parse text object")); return NULL; } } else if (release_ver < VERSION_20000220) { /* yes, above less than (not less than and equal) is correct. The format */ /* change occurred in 20000220 */ if (sscanf(first_line, "%c %d %d %d %d %d %d %d\n", &type, &x, &y, &color, &size, &visibility, &show_name_value, &angle) != 8) { g_set_error(err, EDA_ERROR, EDA_ERROR_PARSE, _("Failed to parse text object")); return NULL; } alignment = LOWER_LEFT; /* older versions didn't have this */ num_lines = 1; /* only support a single line */ } else { if (sscanf(first_line, "%c %d %d %d %d %d %d %d %d\n", &type, &x, &y, &color, &size, &visibility, &show_name_value, &angle, &alignment) != 9) { g_set_error (err, EDA_ERROR, EDA_ERROR_PARSE, _("Failed to parse text object")); return NULL; } num_lines = 1; /* only support a single line */ } if (size == 0) { s_log_message(_("Found a zero size text string [ %c %d %d %d %d %d %d %d %d ]\n"), type, x, y, color, size, visibility, show_name_value, angle, alignment); } switch(angle) { case(0): case(90): case(180): case(270): break; default: s_log_message(_("Found an unsupported text angle [ %c %d %d %d %d %d %d %d %d ]\n"), type, x, y, color, size, visibility, show_name_value, angle, alignment); s_log_message(_("Setting angle to 0\n")); angle=0; break; } switch(alignment) { case(LOWER_LEFT): case(MIDDLE_LEFT): case(UPPER_LEFT): case(LOWER_MIDDLE): case(MIDDLE_MIDDLE): case(UPPER_MIDDLE): case(LOWER_RIGHT): case(MIDDLE_RIGHT): case(UPPER_RIGHT): break; default: s_log_message(_("Found an unsupported text alignment [ %c %d %d %d %d %d %d %d %d ]\n"), type, x, y, color, size, visibility, show_name_value, angle, alignment); s_log_message(_("Setting alignment to LOWER_LEFT\n")); alignment = LOWER_LEFT; break; } if (color < 0 || color > MAX_COLORS) { s_log_message(_("Found an invalid color [ %s ]\n"), first_line); s_log_message(_("Setting color to default color\n")); color = DEFAULT_COLOR; } g_assert(num_lines && num_lines > 0); textstr = g_string_new (""); for (i = 0; i < num_lines; i++) { const gchar *line; line = s_textbuffer_next_line (tb); if (line == NULL) { g_string_free (textstr, TRUE); g_set_error(err, EDA_ERROR, EDA_ERROR_PARSE, _("Unexpected end-of-file after %d lines"), i); return NULL; } textstr = g_string_append (textstr, line); } /* retrieve the character string from the GString */ string = g_string_free (textstr, FALSE); string = remove_last_nl(string); /* convert the character string to UTF-8 if necessary */ if (!g_utf8_validate (string, -1, NULL)) { /* if it is not utf-8, it is ISO_8859-15 */ gchar *tmp = g_convert (string, strlen (string), "UTF-8", "ISO_8859-15", NULL, NULL, NULL); if (tmp == NULL) { fprintf (stderr, "Failed to convert text string to UTF-8: %s.\n", string); } else { /* successfully converted string, now use tmp as string */ g_free (string); string = tmp; } } new_obj = o_text_new(toplevel, type, color, x, y, alignment, angle, string, size, visibility, show_name_value); g_free(string); return new_obj; } /*! \brief Create a string representation of the text object * \par Function Description * This function takes a text \a object and return a string * according to the file format definition. * * \param [in] toplevel a TOPLEVEL structure * \param [in] object a text OBJECT * \return the string representation of the text OBJECT */ char *o_text_save(TOPLEVEL *toplevel, OBJECT *object) { int x, y; int size; char *string; char *buf; int num_lines; x = object->text->x; y = object->text->y; string = object->text->string; size = object->text->size; /* string can have multiple lines (seperated by \n's) */ num_lines = o_text_num_lines(string); buf = g_strdup_printf ("%c %d %d %d %d %d %d %d %d %d\n%s", object->type, x, y, object->color, size, o_is_visible (toplevel, object) ? VISIBLE : INVISIBLE, object->show_name_value, object->text->angle, object->text->alignment, num_lines, string); return(buf); } /*! \brief recreate the graphics of a text object * \par Function Description * This function updates the underlying primary of the text object * \a o_current. * * \param toplevel The TOPLEVEL object * \param o_current The text object to update */ void o_text_recreate(TOPLEVEL *toplevel, OBJECT *o_current) { o_emit_pre_change_notify (toplevel, o_current); update_disp_string (o_current); o_current->w_bounds_valid = FALSE; o_emit_change_notify (toplevel, o_current); } /*! \brief move a text object * \par Function Description * This function changes the position of a text object \a o_current. * * \param [in] toplevel The TOPLEVEL object * \param [in] dx The x-distance to move the object * \param [in] dy The y-distance to move the object * \param [in] o_current The text OBJECT to be moved */ void o_text_translate_world(TOPLEVEL *toplevel, int dx, int dy, OBJECT *o_current) { o_current->text->x = o_current->text->x + dx; o_current->text->y = o_current->text->y + dy; /* Update bounding box */ o_current->w_bounds_valid = FALSE; } /*! \brief create a copy of a text object * \par Function Description * This function creates a copy of the text object \a o_current. * * \param [in] toplevel The TOPLEVEL object * \param [in] o_current The object that is copied * \return a new text object */ OBJECT *o_text_copy(TOPLEVEL *toplevel, OBJECT *o_current) { OBJECT *new_obj; new_obj = o_text_new (toplevel, OBJ_TEXT, o_current->color, o_current->text->x, o_current->text->y, o_current->text->alignment, o_current->text->angle, o_current->text->string, o_current->text->size, o_is_visible (toplevel, o_current) ? VISIBLE : INVISIBLE, o_current->show_name_value); return new_obj; } /*! \brief write a text string to a postscript file * \par Function Description * This function writes the single \a string into the postscript file \a fp. * * \param [in] fp pointer to a FILE structure * \param [in] string The string to print * \param [in] unicode_count Number of items in the unicode table * \param [in] unicode_table Table of unicode items * * \todo investigate whether the TAB character is handled correctly */ void o_text_print_text_string(FILE *fp, char *string, int unicode_count, gunichar *unicode_table) { int j; gchar *aux; gunichar current_char, c; if (!string) { return; } aux = string; fprintf(fp, "("); while (aux && ((gunichar) (*aux) != 0)) { current_char = g_utf8_get_char_validated(aux, -1); if (current_char == '(' || current_char == ')' || current_char == '\\') { fprintf(fp, "\\"); } c = current_char; if (c >= 128) { current_char = '?'; if (unicode_count) { for (j = 0; j < unicode_count; j++) if (c == unicode_table[j]) { current_char = j + 128; break; } } } if (current_char == '\t') { /* Output eight spaces instead of the tab character */ fprintf(fp, " "); } else { fprintf(fp, "%c", current_char); } aux = g_utf8_find_next_char(aux, NULL); } fprintf(fp,") "); } /*! \brief print a text object into a postscript file * \par Function Description * This function writes the postscript representation of the text object * \a o_current into the the file \a fp. * \param [in] toplevel The TOPLEVEL object * \param [in] fp pointer to a FILE structure * \param [in] o_current The OBJECT to print * \param [in] origin_x x-coord of the postscript origin * \param [in] origin_y y-coord of the postscript origin * \param [in] unicode_count Number of items in the unicode table * \param [in] unicode_table Table of unicode items */ void o_text_print(TOPLEVEL *toplevel, FILE *fp, OBJECT *o_current, int origin_x, int origin_y, int unicode_count, gunichar *unicode_table) { int alignment; char *centering_control = NULL; char *p,*s; char *output_string = NULL; char *name = NULL; char *value = NULL; int x, y, angle, len; float font_size; if (!o_current->text->string) { return; } f_print_set_color(toplevel, fp, o_current->color); if (o_attrib_get_name_value (o_current, &name, &value)) { switch(o_current->show_name_value) { case(SHOW_NAME_VALUE): output_string = g_strdup(o_current->text->string); break; case(SHOW_NAME): if (name[0] != '\0') { output_string = g_strdup(name); } else { fprintf(stderr, "Got an improper attribute: %s\n", o_current->text->string); output_string = g_strdup("invalid"); } break; case(SHOW_VALUE): if (value[0] != '\0') { output_string = g_strdup(value); } else { /* you probably can remove this now... */ /* since improper attributes will never get here */ fprintf(stderr, "Got an improper attribute: %s\n", o_current->text->string); output_string = g_strdup("invalid"); } break; default: g_return_if_reached (); } } else { output_string = g_strdup(o_current->text->string); } /* Apply alignment map to apply when text is 180 degrees rotated. * We want the text on the printer to appear upside right, even * though mathematically it aught to be upside down. To make this * work, we will reset the angle to 0, when it's equal to 180 * degrees, then apply a transformation to the origin location as if * the text was rotated about that point. E.g. if the text origin * was at the lower left, and the text was rotated by 180 degrees, * it would be as if the origin was at the upper right. The same * reasoning has been applied to all 8 other text origins. * MIDDLE_MIDDLE maps to itself. */ alignment = o_current->text->alignment; angle = o_current->text->angle; if(angle == 180) { angle = 0; /* reset angle to 0 to make text upright */ switch(alignment) { case(LOWER_LEFT): alignment = UPPER_RIGHT; break; case(MIDDLE_LEFT): alignment = MIDDLE_RIGHT; break; case(UPPER_LEFT): alignment = LOWER_RIGHT; break; case(LOWER_MIDDLE): alignment = UPPER_MIDDLE; break; case(MIDDLE_MIDDLE): alignment = MIDDLE_MIDDLE; break; case(UPPER_MIDDLE): alignment = LOWER_MIDDLE; break; case(LOWER_RIGHT): alignment = UPPER_LEFT; break; case(MIDDLE_RIGHT): alignment = MIDDLE_LEFT; break; case(UPPER_RIGHT): alignment = LOWER_LEFT; break; } } /* Create an appropriate control string for the centering. */ switch(alignment) { /* hcenter rjustify vcenter vjustify */ case(LOWER_LEFT): centering_control = "false false false false"; break; case(MIDDLE_LEFT): centering_control = "false false true false"; break; case(UPPER_LEFT): centering_control = "false false false true"; break; case(LOWER_MIDDLE): centering_control = "true false false false"; break; case(MIDDLE_MIDDLE): centering_control = "true false true false"; break; case(UPPER_MIDDLE): centering_control = "true false false true"; break; case(LOWER_RIGHT): centering_control = "false true false false"; break; case(MIDDLE_RIGHT): centering_control = "false true true false"; break; case(UPPER_RIGHT): centering_control = "false true false true"; break; } font_size = o_text_get_font_size_in_points (toplevel, o_current) / 72.0 * 1000.0; fprintf(fp,"%s %f [",centering_control, font_size * PRINT_LINE_SPACING); /* split the line at each newline and print them */ p = output_string; /* Current point */ s = output_string; /* Start of the current string */ len = strlen(output_string)+1; while(len != 0) { /* Have we reached the end of a line? */ if((*p == '\n') || (*p == '\0')) { /* Yes, replace the newline with a NULL and output the string */ *p = '\0'; o_text_print_text_string(fp,s,unicode_count,unicode_table); /* Update output string start for next string */ s = p+1; /* One past the current character. */ } p++; /* Advance to next character */ len--; /* Keep track of how many characters left to process */ } /* Finish up with the rest of the text print command */ /* Collect pertinent info about the text location */ x = o_current->text->x; y = o_current->text->y; fprintf(fp,"] %d %d %d %f text\n",angle,x,y,font_size); g_free(output_string); g_free(name); g_free(value); } /*! \brief rotate a text object around a centerpoint * \par Function Description * This function rotates a text \a object around the point * (\a world_centerx, \a world_centery). * * \param [in] toplevel The TOPLEVEL object * \param [in] world_centerx x-coord of the rotation center * \param [in] world_centery y-coord of the rotation center * \param [in] angle The angle to rotate the text object * \param [in] object The text object * \note only steps of 90 degrees are allowed for the \a angle */ void o_text_rotate_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, int angle, OBJECT *object) { int x, y; int newx, newy; g_return_if_fail(object != NULL); g_return_if_fail(object->type == OBJ_TEXT); object->text->angle = ( object->text->angle + angle ) % 360; x = object->text->x + (-world_centerx); y = object->text->y + (-world_centery); rotate_point_90(x, y, angle, &newx, &newy); x = newx + (world_centerx); y = newy + (world_centery); o_text_translate_world(toplevel, x-object->text->x, y-object->text->y, object); o_text_recreate(toplevel, object); } /*! \brief mirror a text object horizontaly at a centerpoint * \par Function Description * This function mirrors a text \a object horizontaly at the point * (\a world_centerx, \a world_centery). * * \param [in] toplevel The TOPLEVEL object * \param [in] world_centerx x-coord of the mirror position * \param [in] world_centery y-coord of the mirror position * \param [in] object The text object */ void o_text_mirror_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, OBJECT *object) { int origx, origy; int x, y; origx = object->text->x; origy = object->text->y; x = origx + (-world_centerx); y = origy + (-world_centery); if ((object->text->angle%180)==0) { switch(object->text->alignment) { case(LOWER_LEFT): object->text->alignment=LOWER_RIGHT; break; case(MIDDLE_LEFT): object->text->alignment=MIDDLE_RIGHT; break; case(UPPER_LEFT): object->text->alignment=UPPER_RIGHT; break; case(LOWER_RIGHT): object->text->alignment=LOWER_LEFT; break; case(MIDDLE_RIGHT): object->text->alignment=MIDDLE_LEFT; break; case(UPPER_RIGHT): object->text->alignment=UPPER_LEFT; break; default: break; } } else { switch(object->text->alignment) { case(LOWER_LEFT): object->text->alignment=UPPER_LEFT; break; case(UPPER_LEFT): object->text->alignment=LOWER_LEFT; break; case(LOWER_RIGHT): object->text->alignment=UPPER_RIGHT; break; case(UPPER_RIGHT): object->text->alignment=LOWER_RIGHT; break; case(LOWER_MIDDLE): object->text->alignment=UPPER_MIDDLE; break; case(UPPER_MIDDLE): object->text->alignment=LOWER_MIDDLE; break; default: break; } } object->text->x = -x + (world_centerx); object->text->y = y + (world_centery); o_text_recreate(toplevel, object); } /*! \brief Calculates the distance between the given point and the closest * point on the text. * * This function will calculate the distance to the text regardless * if the text is visible or not. * * \param [in] object The text OBJECT. * \param [in] x The x coordinate of the given point. * \param [in] y The y coordinate of the given point. * \param [in] force_solid If true, force treating the object as solid. * \return The shortest distance from the object to the point. If the * distance cannot be calculated, this function returns a really large * number (G_MAXDOUBLE). With an invalid parameter, this funciton * returns G_MAXDOUBLE. */ double o_text_shortest_distance (OBJECT *object, int x, int y, int force_solid) { double dx, dy; g_return_val_if_fail (object->text != NULL, G_MAXDOUBLE); dx = min (x - object->w_left, object->w_right - x); dy = min (y - object->w_top, object->w_bottom - y); dx = min (dx, 0); dy = min (dy, 0); return sqrt ((dx * dx) + (dy * dy)); } /*! \brief Set the string displayed by a text object. * \par Function Description * Updates the text object with a new text string. * * \param [in] toplevel The TOPLEVEL object. * \param [in] obj The text object. * \param [in] new_string The new value. */ void o_text_set_string (TOPLEVEL *toplevel, OBJECT *obj, const gchar *new_string) { g_return_if_fail (toplevel != NULL); g_return_if_fail (obj != NULL); g_return_if_fail (obj->type == OBJ_TEXT); g_return_if_fail (obj->text != NULL); g_return_if_fail (new_string != NULL); g_free (obj->text->string); obj->text->string = g_strdup (new_string); o_text_recreate (toplevel, obj); if (obj->attached_to != NULL) o_attrib_emit_attribs_changed (toplevel, obj->attached_to); } /*! \brief Get the string displayed by a text object. * \par Function Description * Retrieve the text string from a text object. The returned string * should be treated as constant. * * \param [in] toplevel The TOPLEVEL object. * \param [in] obj The text object. * \return The text object's string, or NULL on failure. */ const gchar *o_text_get_string (TOPLEVEL *toplevel, OBJECT *obj) { g_return_val_if_fail (toplevel != NULL, NULL); g_return_val_if_fail (obj != NULL, NULL); g_return_val_if_fail (obj->type == OBJ_TEXT, NULL); g_return_val_if_fail (obj->text != NULL, NULL); return obj->text->string; } /*! \brief Set the font-renderer-specific bounds function. * \par Function Description * Set the function to be used to calculate text bounds for a given * #TOPLEVEL. * * \param [in] toplevel The TOPLEVEL object * \param [in] func Function to use. * \param [in] user_data User data to be passed to the function. */ void o_text_set_rendered_bounds_func (TOPLEVEL *toplevel, RenderedBoundsFunc func, void *user_data) { toplevel->rendered_text_bounds_func = func; toplevel->rendered_text_bounds_data = user_data; } /*! \brief Return font size of a text object in postscript points. * * \par Description * gEDA fonts are specified in a non-standard unit. This * function applies an appopriate scaling to return the * font size in postscript points. * * \param [in] toplevel The TOPLEVEL object * \param [in] object The text OBJECT whos font size to return * \return The font size converted to postscript points. */ double o_text_get_font_size_in_points (TOPLEVEL *toplevel, OBJECT *object) { g_return_val_if_fail (object->type == OBJ_TEXT, 0.); return object->text->size * GEDA_FONT_FACTOR; } geda-gaf-1.8.2/libgeda/src/s_path.c0000664000175000017500000005335512207374140013713 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * Code originally from librsvg 2.22.2 (LGPL) Copyright (C) 2000 Eazel, Inc. * * Author: Raph Levien * rsvg-path.c: Parse SVG path element data into bezier path. * rsvg-bpath-util.c: Data structure and convenience functions for * creating bezier paths. * * Adapted for gEDA by Peter Clifton * * THIS FILE IS LGPL LICENSED, gEDA AS A WHOLE IS GPL LICENSED * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * */ #include "config.h" #include #include #include #include #include #include "libgeda_priv.h" #define NUM_BEZIER_SEGMENTS 100 PATH *s_path_new (void) { PATH *path; path = g_new (PATH, 1); path->num_sections = 0; path->num_sections_max = 16; path->sections = g_new (PATH_SECTION, path->num_sections_max); return path; } PATH *s_path_new_from (PATH_SECTION *sections) { PATH *path; int i; g_return_val_if_fail (sections != NULL, NULL); for (i = 0; sections[i].code != PATH_END; i++); if (i <= 0) return s_path_new (); path = g_new (PATH, 1); path->num_sections = i; path->num_sections_max = i; path->sections = g_new (PATH_SECTION, i); memcpy (path->sections, sections, i * sizeof (PATH_SECTION)); return path; } void s_path_free (PATH * path) { g_return_if_fail (path != NULL); g_free (path->sections); g_free (path); } void s_path_moveto (PATH *path, double x, double y) { PATH_SECTION *sections; int num_sections; g_return_if_fail (path != NULL); /* if the last command was a moveto then change that last moveto instead of creating a new one */ sections = path->sections; num_sections = path->num_sections; if (num_sections > 0) if (sections[num_sections - 1].code == PATH_MOVETO_OPEN) { sections[num_sections - 1].x3 = x; sections[num_sections - 1].y3 = y; return; } num_sections = path->num_sections++; if (num_sections == path->num_sections_max) path->sections = g_realloc (path->sections, (path->num_sections_max <<= 1) * sizeof (PATH_SECTION)); sections = path->sections; sections[num_sections].code = PATH_MOVETO_OPEN; sections[num_sections].x3 = x; sections[num_sections].y3 = y; } void s_path_lineto (PATH *path, double x, double y) { PATH_SECTION *sections; int num_sections; g_return_if_fail (path != NULL); num_sections = path->num_sections++; if (num_sections == path->num_sections_max) path->sections = g_realloc (path->sections, (path->num_sections_max <<= 1) * sizeof (PATH_SECTION)); sections = path->sections; sections[num_sections].code = PATH_LINETO; sections[num_sections].x3 = x; sections[num_sections].y3 = y; } void s_path_curveto (PATH *path, double x1, double y1, double x2, double y2, double x3, double y3) { PATH_SECTION *sections; int num_sections; g_return_if_fail (path != NULL); num_sections = path->num_sections++; if (num_sections == path->num_sections_max) path->sections = g_realloc (path->sections, (path->num_sections_max <<= 1) * sizeof (PATH_SECTION)); sections = path->sections; sections[num_sections].code = PATH_CURVETO; sections[num_sections].x1 = x1; sections[num_sections].y1 = y1; sections[num_sections].x2 = x2; sections[num_sections].y2 = y2; sections[num_sections].x3 = x3; sections[num_sections].y3 = y3; } void s_path_art_finish (PATH * path) { int num_sections; g_return_if_fail (path != NULL); num_sections = path->num_sections++; if (num_sections == path->num_sections_max) path->sections = g_realloc (path->sections, (path->num_sections_max <<= 1) * sizeof (PATH_SECTION)); path->sections[num_sections].code = PATH_END; } /* This module parses an SVG style path element into a PATH. At present, there is no support for or any other contextual information from the SVG file. The API will need to change rather significantly to support these. Reference: SVG working draft 3 March 2000, section 8. */ typedef struct _RSVGParsePathCtx RSVGParsePathCtx; struct _RSVGParsePathCtx { PATH *path; double cpx, cpy; /* current point */ double rpx, rpy; /* reflection point (for 's' and 't' commands) */ double mpx, mpy; /* Last moved to point (for path closures) */ char cmd; /* current command (lowercase) */ int param; /* parameter number */ gboolean rel; /* true if relative coords */ double params[7]; /* parameters that have been parsed */ }; static void s_path_arc_segment (RSVGParsePathCtx * ctx, double xc, double yc, double th0, double th1, double rx, double ry, double x_axis_rotation) { double sin_th, cos_th; double a00, a01, a10, a11; double x1, y1, x2, y2, x3, y3; double t; double th_half; sin_th = sin (x_axis_rotation * (M_PI / 180.0)); cos_th = cos (x_axis_rotation * (M_PI / 180.0)); /* inverse transform compared with s_path_arc */ a00 = cos_th * rx; a01 = -sin_th * ry; a10 = sin_th * rx; a11 = cos_th * ry; th_half = 0.5 * (th1 - th0); t = (8.0 / 3.0) * sin (th_half * 0.5) * sin (th_half * 0.5) / sin (th_half); x1 = xc + cos (th0) - t * sin (th0); y1 = yc + sin (th0) + t * cos (th0); x3 = xc + cos (th1); y3 = yc + sin (th1); x2 = x3 + t * sin (th1); y2 = y3 - t * cos (th1); s_path_curveto (ctx->path, a00 * x1 + a01 * y1, a10 * x1 + a11 * y1, a00 * x2 + a01 * y2, a10 * x2 + a11 * y2, a00 * x3 + a01 * y3, a10 * x3 + a11 * y3); } /* * s_path_arc: Add an arc to the path context. * @ctx: Path context. * @rx: Radius in x direction (before rotation). * @ry: Radius in y direction (before rotation). * @x_axis_rotation: Rotation angle for axes. * @large_arc_flag: 0 for arc length <= 180, 1 for arc >= 180. * @sweep: 0 for "negative angle", 1 for "positive angle". * @x: New x coordinate. * @y: New y coordinate. * */ static void s_path_arc (RSVGParsePathCtx * ctx, double rx, double ry, double x_axis_rotation, int large_arc_flag, int sweep_flag, double x, double y) { double sin_th, cos_th; double a00, a01, a10, a11; double x0, y0, x1, y1, xc, yc; double d, sfactor, sfactor_sq; double th0, th1, th_arc; int i, n_segs; /* Check that neither radius is zero, since its isn't either geometrically or mathematically meaningful and will cause divide by zero and subsequent NaNs. We should really do some ranged check ie -0.001 < x < 000.1 rather can just a straight check again zero. */ if ((rx == 0.0) || (ry == 0.0)) return; sin_th = sin (x_axis_rotation * (M_PI / 180.0)); cos_th = cos (x_axis_rotation * (M_PI / 180.0)); a00 = cos_th / rx; a01 = sin_th / rx; a10 = -sin_th / ry; a11 = cos_th / ry; x0 = a00 * ctx->cpx + a01 * ctx->cpy; y0 = a10 * ctx->cpx + a11 * ctx->cpy; x1 = a00 * x + a01 * y; y1 = a10 * x + a11 * y; /* (x0, y0) is current point in transformed coordinate space. (x1, y1) is new point in transformed coordinate space. The arc fits a unit-radius circle in this space. */ d = (x1 - x0) * (x1 - x0) + (y1 - y0) * (y1 - y0); sfactor_sq = 1.0 / d - 0.25; if (sfactor_sq < 0) sfactor_sq = 0; sfactor = sqrt (sfactor_sq); if (sweep_flag == large_arc_flag) sfactor = -sfactor; xc = 0.5 * (x0 + x1) - sfactor * (y1 - y0); yc = 0.5 * (y0 + y1) + sfactor * (x1 - x0); /* (xc, yc) is center of the circle. */ th0 = atan2 (y0 - yc, x0 - xc); th1 = atan2 (y1 - yc, x1 - xc); th_arc = th1 - th0; if (th_arc < 0 && sweep_flag) th_arc += 2 * M_PI; else if (th_arc > 0 && !sweep_flag) th_arc -= 2 * M_PI; n_segs = ceil (fabs (th_arc / (M_PI * 0.5 + 0.001))); for (i = 0; i < n_segs; i++) s_path_arc_segment (ctx, xc, yc, th0 + i * th_arc / n_segs, th0 + (i + 1) * th_arc / n_segs, rx, ry, x_axis_rotation); ctx->cpx = x; ctx->cpy = y; } /* supply defaults for missing parameters, assuming relative coordinates are to be interpreted as x,y */ static void s_path_parse_default_xy (RSVGParsePathCtx * ctx, int n_params) { int i; if (ctx->rel) { for (i = ctx->param; i < n_params; i++) { if (i > 2) ctx->params[i] = ctx->params[i - 2]; else if (i == 1) ctx->params[i] = ctx->cpy; else if (i == 0) /* we shouldn't get here (usually ctx->param > 0 as precondition) */ ctx->params[i] = ctx->cpx; } } else { for (i = ctx->param; i < n_params; i++) ctx->params[i] = 0.0; } } static void s_path_parse_do_cmd (RSVGParsePathCtx * ctx, gboolean final) { double x1, y1, x2, y2, x3, y3; switch (ctx->cmd) { case 'm': /* moveto */ if (ctx->param == 2 || final) { s_path_parse_default_xy (ctx, 2); s_path_moveto (ctx->path, ctx->params[0], ctx->params[1]); ctx->mpx = ctx->cpx = ctx->rpx = ctx->params[0]; ctx->mpy = ctx->cpy = ctx->rpy = ctx->params[1]; ctx->param = 0; ctx->cmd = 'l'; /* implicit linetos after a moveto */ } break; case 'l': /* lineto */ if (ctx->param == 2 || final) { s_path_parse_default_xy (ctx, 2); s_path_lineto (ctx->path, ctx->params[0], ctx->params[1]); ctx->cpx = ctx->rpx = ctx->params[0]; ctx->cpy = ctx->rpy = ctx->params[1]; ctx->param = 0; } break; case 'c': /* curveto */ if (ctx->param == 6 || final) { s_path_parse_default_xy (ctx, 6); x1 = ctx->params[0]; y1 = ctx->params[1]; x2 = ctx->params[2]; y2 = ctx->params[3]; x3 = ctx->params[4]; y3 = ctx->params[5]; s_path_curveto (ctx->path, x1, y1, x2, y2, x3, y3); ctx->rpx = x2; ctx->rpy = y2; ctx->cpx = x3; ctx->cpy = y3; ctx->param = 0; } break; case 's': /* smooth curveto */ if (ctx->param == 4 || final) { s_path_parse_default_xy (ctx, 4); x1 = 2 * ctx->cpx - ctx->rpx; y1 = 2 * ctx->cpy - ctx->rpy; x2 = ctx->params[0]; y2 = ctx->params[1]; x3 = ctx->params[2]; y3 = ctx->params[3]; s_path_curveto (ctx->path, x1, y1, x2, y2, x3, y3); ctx->rpx = x2; ctx->rpy = y2; ctx->cpx = x3; ctx->cpy = y3; ctx->param = 0; } break; case 'h': /* horizontal lineto */ if (ctx->param == 1) { s_path_lineto (ctx->path, ctx->params[0], ctx->cpy); ctx->cpx = ctx->rpx = ctx->params[0]; ctx->param = 0; } break; case 'v': /* vertical lineto */ if (ctx->param == 1) { s_path_lineto (ctx->path, ctx->cpx, ctx->params[0]); ctx->cpy = ctx->rpy = ctx->params[0]; ctx->param = 0; } break; case 'q': /* quadratic bezier curveto */ /* non-normative reference: http://www.icce.rug.nl/erikjan/bluefuzz/beziers/beziers/beziers.html */ if (ctx->param == 4 || final) { s_path_parse_default_xy (ctx, 4); /* raise quadratic bezier to cubic */ x1 = (ctx->cpx + 2 * ctx->params[0]) * (1.0 / 3.0); y1 = (ctx->cpy + 2 * ctx->params[1]) * (1.0 / 3.0); x3 = ctx->params[2]; y3 = ctx->params[3]; x2 = (x3 + 2 * ctx->params[0]) * (1.0 / 3.0); y2 = (y3 + 2 * ctx->params[1]) * (1.0 / 3.0); s_path_curveto (ctx->path, x1, y1, x2, y2, x3, y3); ctx->rpx = ctx->params[0]; ctx->rpy = ctx->params[1]; ctx->cpx = x3; ctx->cpy = y3; ctx->param = 0; } break; case 't': /* Truetype quadratic bezier curveto */ if (ctx->param == 2 || final) { double xc, yc; /* quadratic control point */ xc = 2 * ctx->cpx - ctx->rpx; yc = 2 * ctx->cpy - ctx->rpy; /* generate a quadratic bezier with control point = xc, yc */ x1 = (ctx->cpx + 2 * xc) * (1.0 / 3.0); y1 = (ctx->cpy + 2 * yc) * (1.0 / 3.0); x3 = ctx->params[0]; y3 = ctx->params[1]; x2 = (x3 + 2 * xc) * (1.0 / 3.0); y2 = (y3 + 2 * yc) * (1.0 / 3.0); s_path_curveto (ctx->path, x1, y1, x2, y2, x3, y3); ctx->rpx = xc; ctx->rpy = yc; ctx->cpx = x3; ctx->cpy = y3; ctx->param = 0; } else if (final) { if (ctx->param > 2) { s_path_parse_default_xy (ctx, 4); /* raise quadratic bezier to cubic */ x1 = (ctx->cpx + 2 * ctx->params[0]) * (1.0 / 3.0); y1 = (ctx->cpy + 2 * ctx->params[1]) * (1.0 / 3.0); x3 = ctx->params[2]; y3 = ctx->params[3]; x2 = (x3 + 2 * ctx->params[0]) * (1.0 / 3.0); y2 = (y3 + 2 * ctx->params[1]) * (1.0 / 3.0); s_path_curveto (ctx->path, x1, y1, x2, y2, x3, y3); ctx->rpx = ctx->params[0]; ctx->rpy = ctx->params[1]; ctx->cpx = x3; ctx->cpy = y3; } else { s_path_parse_default_xy (ctx, 2); s_path_lineto (ctx->path, ctx->params[0], ctx->params[1]); ctx->cpx = ctx->rpx = ctx->params[0]; ctx->cpy = ctx->rpy = ctx->params[1]; } ctx->param = 0; } break; case 'a': if (ctx->param == 7 || final) { s_path_arc (ctx, ctx->params[0], ctx->params[1], ctx->params[2], ctx->params[3], ctx->params[4], ctx->params[5], ctx->params[6]); ctx->param = 0; } break; default: ctx->param = 0; } } static void s_path_parse_data (RSVGParsePathCtx * ctx, const char *data) { int i = 0; double val = 0; char c = 0; gboolean in_num = FALSE; gboolean in_frac = FALSE; gboolean in_exp = FALSE; gboolean exp_wait_sign = FALSE; int sign = 0; int exp = 0; int exp_sign = 0; double frac = 0.0; in_num = FALSE; for (i = 0;; i++) { c = data[i]; if (c >= '0' && c <= '9') { /* digit */ if (in_num) { if (in_exp) { exp = (exp * 10) + c - '0'; exp_wait_sign = FALSE; } else if (in_frac) val += (frac *= 0.1) * (c - '0'); else val = (val * 10) + c - '0'; } else { in_num = TRUE; in_frac = FALSE; in_exp = FALSE; exp = 0; exp_sign = 1; exp_wait_sign = FALSE; val = c - '0'; sign = 1; } } else if (c == '.') { if (!in_num) { in_num = TRUE; val = 0; } in_frac = TRUE; frac = 1; } else if ((c == 'E' || c == 'e') && in_num) { in_exp = TRUE; exp_wait_sign = TRUE; exp = 0; exp_sign = 1; } else if ((c == '+' || c == '-') && in_exp) { exp_sign = c == '+' ? 1 : -1; } else if (in_num) { /* end of number */ val *= sign * pow (10, exp_sign * exp); if (ctx->rel) { /* Handle relative coordinates. This switch statement attempts to determine _what_ the coords are relative to. This is underspecified in the 12 Apr working draft. */ switch (ctx->cmd) { case 'l': case 'm': case 'c': case 's': case 'q': case 't': #ifndef RSVGV_RELATIVE /* rule: even-numbered params are x-relative, odd-numbered are y-relative */ if ((ctx->param & 1) == 0) val += ctx->cpx; else if ((ctx->param & 1) == 1) val += ctx->cpy; break; #else /* rule: even-numbered params are x-relative, odd-numbered are y-relative */ if (ctx->param == 0 || (ctx->param % 2 == 0)) val += ctx->cpx; else val += ctx->cpy; break; #endif case 'a': /* rule: sixth and seventh are x and y, rest are not relative */ if (ctx->param == 5) val += ctx->cpx; else if (ctx->param == 6) val += ctx->cpy; break; case 'h': /* rule: x-relative */ val += ctx->cpx; break; case 'v': /* rule: y-relative */ val += ctx->cpy; break; } } ctx->params[ctx->param++] = val; s_path_parse_do_cmd (ctx, FALSE); in_num = FALSE; } if (c == '\0') break; else if ((c == '+' || c == '-') && !exp_wait_sign) { sign = c == '+' ? 1 : -1; val = 0; in_num = TRUE; in_frac = FALSE; in_exp = FALSE; exp = 0; exp_sign = 1; exp_wait_sign = FALSE; } else if (c == 'z' || c == 'Z') { if (ctx->param) s_path_parse_do_cmd (ctx, TRUE); /* s_path_closepath (ctx->path); */ /* s_path_lineto (ctx->path, ctx->mpx, ctx->mpy); */ s_path_art_finish (ctx->path); ctx->cpx = ctx->rpx = ctx->path->sections[ctx->path->num_sections - 1].x3; ctx->cpy = ctx->rpy = ctx->path->sections[ctx->path->num_sections - 1].y3; } else if (c >= 'A' && c <= 'Z' && c != 'E') { if (ctx->param) s_path_parse_do_cmd (ctx, TRUE); ctx->cmd = c + 'a' - 'A'; ctx->rel = FALSE; } else if (c >= 'a' && c <= 'z' && c != 'e') { if (ctx->param) s_path_parse_do_cmd (ctx, TRUE); ctx->cmd = c; ctx->rel = TRUE; } /* else c _should_ be whitespace or , */ } } PATH *s_path_parse (const char *path_str) { RSVGParsePathCtx ctx; ctx.path = s_path_new (); ctx.cpx = 0.0; ctx.cpy = 0.0; ctx.mpx = 0.0; ctx.mpy = 0.0; ctx.cmd = 0; ctx.param = 0; s_path_parse_data (&ctx, path_str); if (ctx.param) s_path_parse_do_cmd (&ctx, TRUE); return ctx.path; } char *s_path_string_from_path (const PATH *path) { PATH_SECTION *section; GString *path_string; int i; path_string = g_string_new (""); for (i = 0; i < path->num_sections; i++) { section = &path->sections[i]; if (i > 0) g_string_append_c (path_string, '\n'); switch (section->code) { case PATH_MOVETO: g_string_append_printf (path_string, "M %i,%i", section->x3, section->y3); break; case PATH_MOVETO_OPEN: g_string_append_printf (path_string, "M %i,%i", section->x3, section->y3); break; case PATH_CURVETO: g_string_append_printf (path_string, "C %i,%i %i,%i %i,%i", section->x1, section->y1, section->x2, section->y2, section->x3, section->y3); break; case PATH_LINETO: g_string_append_printf (path_string, "L %i,%i", section->x3, section->y3); break; case PATH_END: g_string_append_printf (path_string, "z"); break; } } return g_string_free (path_string, FALSE); } /*! \brief Converts a path to a polygon * * \param path [in] The path to convert to a polygon. This parameter must not * be NULL. * \param points [out] An array of the polygon's vertices. This parameter * must not be NULL. * \return TRUE if the path is closed, FALSE if it is open. */ int s_path_to_polygon (PATH *path, GArray *points) { int closed = FALSE; int i; sPOINT point = { 0, 0 }; if (points->len > 0) { g_array_remove_range (points, 0, points->len - 1); } for (i = 0; i < path->num_sections; i++) { BEZIER bezier; PATH_SECTION *section = &path->sections[i]; switch (section->code) { case PATH_CURVETO: bezier.x[0] = point.x; bezier.y[0] = point.y; bezier.x[1] = section->x1; bezier.y[1] = section->y1; bezier.x[2] = section->x2; bezier.y[2] = section->y2; point.x = bezier.x[3] = section->x3; point.y = bezier.y[3] = section->y3; m_polygon_append_bezier (points, &bezier, NUM_BEZIER_SEGMENTS); break; case PATH_MOVETO_OPEN: /* Unsupported, just fall through and draw a line */ /* Fall through */ case PATH_MOVETO: case PATH_LINETO: point.x = section->x3; point.y = section->y3; m_polygon_append_point (points, point.x, point.y); break; case PATH_END: closed = TRUE; break; } } return closed; } /*! \brief Calculates the distance between the given point and the closest * point on the given path segment. * * \param [in] path The path. * \param [in] x The x coordinate of the given point. * \param [in] y The y coordinate of the given point. * \param [in] solid TRUE if the path should be treated as solid, FALSE if * the path should be treated as hollow. * \return The shortest distance from the path to the point. With a solid * shape, this function returns a distance of zero for interior points. With * an invalid parameter, this function returns G_MAXDOUBLE. */ double s_path_shortest_distance (PATH *path, int x, int y, int solid) { double shortest_distance = G_MAXDOUBLE; int closed; GArray *points; points = g_array_new (FALSE, FALSE, sizeof (sPOINT)); closed = s_path_to_polygon (path, points); if (!solid) { shortest_distance = m_polygon_shortest_distance (points, x, y, closed); } else if (m_polygon_interior_point (points, x, y)) { shortest_distance = 0; } else { shortest_distance = m_polygon_shortest_distance (points, x, y, TRUE); } g_array_free (points, TRUE); return shortest_distance; } geda-gaf-1.8.2/libgeda/src/m_transform.c0000664000175000017500000001455412207374140014762 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include /*! \brief Combines two transformations * * Combines two matricies using matrix multiplication: a*b. * * \param result [out] The resulting transformation. If either operand is * NULL, the contents of the result remain unaltered. * \param a [in] The second operand. * \param b [in] The second operand. */ void m_transform_combine(TRANSFORM *result, TRANSFORM *a, TRANSFORM *b ) { g_return_if_fail(result!=NULL); g_return_if_fail(a!=NULL); g_return_if_fail(b!=NULL); result->m[0][0] = a->m[0][0] * b->m[0][0] + a->m[0][1] * b->m[1][0]; result->m[0][1] = a->m[0][0] * b->m[0][1] + a->m[0][1] * b->m[1][1]; result->m[0][2] = a->m[0][0] * b->m[0][2] + a->m[0][1] * b->m[1][2] + a->m[0][2]; result->m[1][0] = a->m[1][0] * b->m[0][0] + a->m[1][1] * b->m[1][0]; result->m[1][1] = a->m[1][0] * b->m[0][1] + a->m[1][1] * b->m[1][1]; result->m[1][2] = a->m[1][0] * b->m[0][2] + a->m[1][1] * b->m[1][2] + a->m[1][2]; } /*! \brief Initialize a transform with the identity matrix. * * \param transform [out] The transform to initialize with the identity matrix. */ void m_transform_init(TRANSFORM *transform) { g_return_if_fail(transform!=NULL); transform->m[0][0] = 1; transform->m[0][1] = 0; transform->m[0][2] = 0; transform->m[1][0] = 0; transform->m[1][1] = 1; transform->m[1][2] = 0; } /*! \brief Calculates the inverse transform * * \param transform [in] The given matrix * \param inverse [out] The inverse of the given matrix. */ void m_transform_invert(TRANSFORM *transform, TRANSFORM *inverse) { gdouble d; g_return_if_fail(transform!=NULL); g_return_if_fail(inverse!=NULL); d = transform->m[0][0]*transform->m[1][1] - transform->m[1][0]*transform->m[0][1]; inverse->m[0][0] = transform->m[1][1] / d; inverse->m[0][1] = -transform->m[0][1] / d; inverse->m[0][2] = ( transform->m[0][1]*transform->m[1][2] - transform->m[1][1]*transform->m[0][2] ) / d; inverse->m[1][0] = -transform->m[1][0] / d; inverse->m[1][1] = transform->m[0][0] / d; inverse->m[1][2] = -( transform->m[0][0]*transform->m[1][2] - transform->m[1][0]*transform->m[0][2] ) / d; } /*! \brief Transforms a line segment * * \param transform [in] The transform function. * \param line [inout] The line to transform. */ void m_transform_line(TRANSFORM *transform, LINE *line) { g_return_if_fail(transform!=NULL); g_return_if_fail(line!=NULL); m_transform_point(transform, &(line->x[0]), &(line->y[0])); m_transform_point(transform, &(line->x[1]), &(line->y[1])); } /*! \brief Transforms multiple line segments * * \param transform [in] The transform function. * \param lines [inout] The GArray of LINE to transform. */ void m_transform_lines(TRANSFORM *transform, GArray *lines) { gint index; g_return_if_fail(transform!=NULL); g_return_if_fail(lines!=NULL); for (index=0; indexlen; index++) { LINE *line = &g_array_index(lines, LINE, index); m_transform_line(transform, line); } } /*! \brief Transforms a point * * \param x [inout] The x coordinate to transform. * \param y [inout] The y coordinate to transform. * \param transform [in] The transform function. */ void m_transform_point(TRANSFORM *transform, gint *x, gint *y) { gdouble tx; gdouble ty; g_return_if_fail(transform!=NULL); g_return_if_fail(x!=NULL); g_return_if_fail(y!=NULL); tx = *x; ty = *y; *x = round(transform->m[0][0] * tx + transform->m[0][1] * ty + transform->m[0][2]); *y = round(transform->m[1][0] * tx + transform->m[1][1] * ty + transform->m[1][2]); } /*! \brief Transforms a polyline or polygon * * \param transform [in] The transform function. * \param points [inout] The GArray of sPOINT to transform. */ void m_transform_points(TRANSFORM *transform, GArray *points) { gint index; g_return_if_fail(transform!=NULL); g_return_if_fail(points!=NULL); for (index=0; indexlen; index++) { sPOINT *point = &g_array_index(points, sPOINT, index); m_transform_point(transform, &(point->x), &(point->y)); } } /*! \brief Adds a rotation to the transformation * * \param transform [inout] The given matrix * \param angle [in] The angle to rotate */ void m_transform_rotate(TRANSFORM *transform, gdouble angle) { gdouble r = G_PI*angle/180.0; gdouble c = cos(r); gdouble s = sin(r); TRANSFORM temp; g_return_if_fail(transform!=NULL); temp = *transform; transform->m[0][0] = temp.m[0][0] * c + temp.m[0][1] * s; transform->m[0][1] = temp.m[0][0] * -s + temp.m[0][1] * c; transform->m[1][0] = temp.m[1][0] * c + temp.m[1][1] * s; transform->m[1][1] = temp.m[1][0] * -s + temp.m[1][1] * c; } /*! \brief Adds a scaling to the transformation * * \param transform [inout] The given matrix * \param factor [in] The amount to scale the transform. This parameter must * not be zero, or the matrix becomes singular. */ void m_transform_scale(TRANSFORM *transform, gdouble factor) { g_return_if_fail(transform!=NULL); g_return_if_fail(factor!=0); transform->m[0][0] *= factor; transform->m[0][1] *= factor; transform->m[1][0] *= factor; transform->m[1][1] *= factor; } /*! \brief Adds a translation to the transformation * * \param transform [inout] The given matrix. * \param dx [in] The amount to translate on the x axis. * \param dy [in] The amount to translate on the y axis. */ void m_transform_translate(TRANSFORM *transform, gdouble dx, gdouble dy) { g_return_if_fail(transform!=NULL); transform->m[0][2] += dx; transform->m[1][2] += dy; } geda-gaf-1.8.2/libgeda/src/s_undo.c0000664000175000017500000001531412207374140013715 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_UNISTD_H #include #endif #include "libgeda_priv.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ UNDO *s_undo_return_tail(UNDO *head) { UNDO *u_current=NULL; UNDO *ret_struct=NULL; u_current = head; while ( u_current != NULL ) { /* goto end of list */ ret_struct = u_current; u_current = u_current->next; } return(ret_struct); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ UNDO *s_undo_return_head(UNDO *tail) { UNDO *u_current=NULL; UNDO *ret_struct=NULL; u_current = tail; while ( u_current != NULL ) { /* goto end of list */ ret_struct = u_current; u_current = u_current->prev; } return(ret_struct); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ UNDO *s_undo_new_head(void) { UNDO *u_new; u_new = (UNDO *) g_malloc(sizeof(UNDO)); u_new->type = -1; u_new->filename = NULL; u_new->object_list = NULL; u_new->left = u_new->right = u_new->top = u_new->bottom = -1; u_new->page_control = 0; u_new->up = -2; u_new->prev = NULL; u_new->next = NULL; return(u_new); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void s_undo_destroy_head(UNDO *u_head) { g_free(u_head); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ UNDO *s_undo_add (UNDO *head, int type, char *filename, GList *object_list, int left, int top, int right, int bottom, int page_control, int up) { UNDO *tail; UNDO *u_new; u_new = (UNDO *) g_malloc(sizeof(UNDO)); u_new->filename = g_strdup (filename); u_new->object_list = object_list; u_new->type = type; u_new->left = left; u_new->top = top; u_new->right = right; u_new->bottom = bottom; u_new->page_control = page_control; u_new->up = up; if (head == NULL) { u_new->prev = NULL; /* setup previous link */ u_new->next = NULL; return(u_new); } else { tail = s_undo_return_tail(head); u_new->prev = tail; /* setup previous link */ u_new->next = NULL; tail->next = u_new; return(tail->next); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void s_undo_print_all( UNDO *head ) { UNDO *u_current; u_current = head; printf("START printing undo ********************\n"); printf("BOTTOM\n"); while(u_current != NULL) { if (u_current->filename) printf("%s\n", u_current->filename); if (u_current->object_list) { print_struct_forw (u_current->object_list); } printf("\t%d %d %d %d\n", u_current->left, u_current->top, u_current->right, u_current->bottom); u_current = u_current->next; } printf("TOS\n"); printf("Number of levels: %d\n", s_undo_levels(head)); printf("DONE printing undo ********************\n"); printf("\n"); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void s_undo_destroy_all(TOPLEVEL *toplevel, UNDO *head) { UNDO *u_current; UNDO *u_prev; u_current = s_undo_return_tail(head); while (u_current != NULL) { u_prev = u_current->prev; g_free(u_current->filename); if (u_current->object_list) { s_delete_object_glist (toplevel, u_current->object_list); u_current->object_list = NULL; } g_free(u_current); u_current = u_prev; } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void s_undo_remove(TOPLEVEL *toplevel, UNDO *head, UNDO *u_tos) { UNDO *u_current; if (u_tos == NULL) { fprintf(stderr, "Got NULL for u_tos in s_undo_remove\n"); return; } u_current = head; while (u_current != NULL) { if (u_current == u_tos) { if (u_current->next) u_current->next->prev = u_current->prev; else u_current->next = NULL; if (u_current->prev) u_current->prev->next = u_current->next; else u_current->prev = NULL; g_free(u_current->filename); if (u_current->object_list) { s_delete_object_glist (toplevel, u_current->object_list); u_current->object_list = NULL; } g_free(u_current); return; } u_current = u_current->next; } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void s_undo_remove_rest(TOPLEVEL *toplevel, UNDO *head) { UNDO *u_current; UNDO *u_next; u_current = head; while (u_current != NULL) { u_next = u_current->next; if (u_current->filename) { unlink(u_current->filename); g_free(u_current->filename); } if (u_current->object_list) { s_delete_object_glist (toplevel, u_current->object_list); u_current->object_list = NULL; } g_free(u_current); u_current = u_next; } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ int s_undo_levels(UNDO *head) { UNDO *u_current; int count = 0; u_current = head; while (u_current != NULL) { if (u_current->filename || u_current->object_list) { count++; } u_current = u_current->next; } return(count); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void s_undo_init(PAGE *p_current) { p_current->undo_tos = p_current->undo_bottom = NULL; p_current->undo_current = NULL; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void s_undo_free_all(TOPLEVEL *toplevel, PAGE *p_current) { s_undo_destroy_all(toplevel, p_current->undo_bottom); p_current->undo_bottom = NULL; p_current->undo_tos = NULL; p_current->undo_current = NULL; } geda-gaf-1.8.2/libgeda/src/s_color.c0000664000175000017500000002247412220647257014102 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #include #ifdef HAVE_STRING_H #include #endif #include "libgeda_priv.h" #ifdef HAVE_LIBDMALLOC #include #endif COLOR print_colors[MAX_COLORS]; #define NOCOLOR {0xff, 0xff, 0xff, 0xff, FALSE} #define WHITE {0xff, 0xff, 0xff, 0xff, TRUE} #define GRAY {0x88, 0x88, 0x88, 0xff, TRUE} #define BLACK {0x00, 0x00, 0x00, 0xff, TRUE} #define ENDMAP {0x00, 0x00, 0x00, 0x00, FALSE} static COLOR default_colors[] = { WHITE, /* 0: background */ BLACK, /* 1: pin */ BLACK, /* 2: net-endpoint */ BLACK, /* 3: graphic */ BLACK, /* 4: net */ BLACK, /* 5: attribute */ BLACK, /* 6: logic-bubble */ BLACK, /* 7: dots-grid */ BLACK, /* 8: detached-attribute */ BLACK, /* 9: text */ BLACK, /* 10: bus */ GRAY, /* 11: select */ GRAY, /* 12: bounding-box */ GRAY, /* 13: zoom-box */ GRAY, /* 14: stroke */ BLACK, /* 15: lock */ NOCOLOR, /* 16: output-background */ NOCOLOR, /* 17: freestyle1 */ NOCOLOR, /* 18: freestyle2 */ NOCOLOR, /* 19: freestyle3 */ NOCOLOR, /* 20: freestyle4 */ BLACK, /* 21: junction */ GRAY, /* 22: mesh-grid-major */ NOCOLOR, /* 23: mesh-grid-minor */ ENDMAP }; /*! \brief Initialises the color subsystem * \par Function Description * At the moment, just initialises the print color map. */ void s_color_init(void) { s_color_map_defaults (print_colors); } /*! \brief Initialise a color map to B&W * \par Function Description * Initialises a color map to a simple default: black features on a * white background, with "special" colors as gray. * * \warning \a map must be have length of at least #MAX_COLORS. * * \param map Color map to initialise. */ void s_color_map_defaults (COLOR *map) { int i; gboolean reached_end = FALSE; COLOR c; for (i = 0; i < MAX_COLORS; i++) { if (reached_end) { map[i].enabled = FALSE; continue; } c = default_colors[i]; if (c.a == 0) { /* Check for end of default map */ reached_end = TRUE; i--; continue; } map[i] = c; } } /* \brief Decode a hexadecimal RGB or RGBA color code. * \par Function Description * Accepts a hexadecimal color code \a rgba of either the form #RRGGBB * or #RRGGBBAA, and parses it to extract the numerical color values, * placing them in the the #guchar pointers passed as arguments. If * the six-digit form is used, the alpha channel is set to full * opacity. If an error occurs during parsing, the return values are * set to solid white. * * Note that this function implements similar functionality to * gdk_color_parse(). However, for consistency, only this * function should be used to parse color strings from gEDA * configuration files, as gdk_color_parse() does not support the * alpha channel. * * \todo Use GError mechanism to give more specific error messages. * * \param [in] rgba Colour code to parse. * \param [out] r Location to store red value. * \param [out] g Location to store green value. * \param [out] b Location to store blue value. * * \returns #TRUE on success, #FALSE on failure. */ gboolean s_color_rgba_decode (const gchar *rgba, guint8 *r, guint8 *g, guint8 *b, guint8 *a) { gint len, i, ri, gi, bi, ai; gchar c; /* Default to solid white */ *r = 0xff; *g = 0xff; *b = 0xff; *a = 0xff; /* Check that the string is a valid length and starts with a '#' */ len = strlen (rgba); if ((len != 9 && len != 7) || rgba[0] != '#') return FALSE; /* Check we only have [0-9a-fA-F] */ for (i = 1; i < len; i++) { c = rgba[i]; if ((c < '0' || c > '9') && (c < 'a' || c > 'f') && (c < 'A' || c > 'F')) return FALSE; } /* Use sscanf to extract values */ c = sscanf (rgba + 1, "%2x%2x%2x", &ri, &gi, &bi); if (c != 3) return FALSE; *r = (guint8) ri; *g = (guint8) gi; *b = (guint8) bi; if (len == 9) { c = sscanf (rgba + 7, "%2x", &ai); if (c != 1) return FALSE; *a = (guint8) ai; } return TRUE; } /* \brief Encode a hexadecimal RGB or RGBA color code. * \par Function Description * Encodes four colour components into either the form #RRGGBB or * #RRGGBBAA. The shorter form is used when the alpha component is * 0xff. * * \param [in] r Red component. * \param [in] g Green component. * \param [in] b Blue component. * \returns A newly allocated string containing the encoded string. */ gchar * s_color_rgba_encode (guint8 r, guint8 g, guint8 b, guint8 a) { if (a < 0xff) return g_strdup_printf("#%02x%02x%02x%02x", (gint) r, (gint) g, (gint) b, (gint) a); else return g_strdup_printf("#%02x%02x%02x", (gint) r, (gint) g, (gint) b); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ gchar *s_color_ps_string(gint color) { COLOR c; if (color >= MAX_COLORS) { g_warning (_("Color index out of range")); return NULL; } c = print_colors[color]; if ((c.a == 0) || !c.enabled) { return NULL; } else { return g_strdup_printf ("%.3f %.3f %.3f", (gdouble) c.r/255.0, (gdouble) c.g/255.0, (gdouble) c.b/255.0); } } SCM s_color_map_to_scm (const COLOR *map) { SCM result = SCM_EOL; int i; for (i = MAX_COLORS - 1; i >= 0; i--) { SCM color_val = SCM_BOOL_F; if (map[i].enabled) { COLOR c = map[i]; gchar *rgba = s_color_rgba_encode (c.r, c.g, c.b, c.a); color_val = scm_from_utf8_string (rgba); g_free (rgba); } result = scm_cons (scm_list_2 (scm_from_int (i), color_val), result); } return result; } /*! * \warning This function should ONLY be called from Scheme procedures. */ void s_color_map_from_scm (COLOR *map, SCM lst, const char *scheme_proc_name) { SCM curr = lst; SCM wrong_type_arg_sym = scm_from_utf8_symbol ("wrong-type-arg"); SCM proc_name = scm_from_utf8_string (scheme_proc_name); while (curr != SCM_EOL) { int i; char *rgba; SCM s; COLOR c = {0x00, 0x00, 0x00, FALSE}; gboolean result; SCM entry = scm_car (curr); /* Check map entry has correct type */ if (!scm_is_true (scm_list_p (entry)) || (scm_to_int (scm_length (entry)) != 2)) { scm_error_scm (wrong_type_arg_sym, proc_name, scm_from_utf8_string (_("Color map entry must be a two-element list")), SCM_EOL, scm_list_1 (entry)); } /* Check color index has correct type, and extract it */ s = scm_car (entry); if (!scm_is_integer (s)) { scm_error_scm (wrong_type_arg_sym, proc_name, scm_from_utf8_string (_("Index in color map entry must be an integer")), SCM_EOL, scm_list_1 (s)); } i = scm_to_int (s); /* Check color index is within bounds. If it's out of bounds, it's * legal, but warn & ignore it. * * FIXME one day we will have dynamically-expanding colorspace. * One day. */ if ((i < 0) || (i >= MAX_COLORS)) { g_critical ("Color map index out of bounds: %i\n", i); goto color_map_next; } /* If color value is #F, disable color */ s = scm_cadr (entry); if (scm_is_false (s)) { map[i].enabled = FALSE; goto color_map_next; } /* Otherwise, we require a string */ s = scm_cadr (entry); if (!scm_is_string (s)) { scm_error_scm (wrong_type_arg_sym, proc_name, scm_from_utf8_string (_("Value in color map entry must be #f or a string")), SCM_EOL, scm_list_1 (s)); } rgba = scm_to_utf8_string (s); result = s_color_rgba_decode (rgba, &c.r, &c.g, &c.b, &c.a); /* FIXME should we generate a Guile error if there's a problem here? */ if (!result) { g_critical ("Invalid color map value: %s\n", rgba); } else { map[i] = c; map[i].enabled = TRUE; } color_map_next: /* Go to next element in map */ curr = scm_cdr (curr); } scm_remember_upto_here_2 (wrong_type_arg_sym, proc_name); } geda-gaf-1.8.2/libgeda/src/a_basic.c0000664000175000017500000004613112220647257014017 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! \file a_basic.c * \brief basic libgeda read and write functions */ #include #include #include #ifdef HAVE_STRING_H #include #endif #include "libgeda_priv.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \brief Get the file header string. * \par Function Description * This function simply returns the DATE_VERSION and * FILEFORMAT_VERSION formatted as a gEDA file header. * * \warning Do not free the returned string. */ const gchar *o_file_format_header() { static gchar *header = NULL; if (header == NULL) header = g_strdup_printf("v %s %u\n", PACKAGE_DATE_VERSION, FILEFORMAT_VERSION); return header; } /*! \brief "Save" a file into a string buffer * \par Function Description * This function saves a whole schematic into a buffer in libgeda * format. The buffer should be freed when no longer needed. * * \param [in] toplevel The current TOPLEVEL. * \param [in] object_list The head of a GList of OBJECTs to save. * \returns a buffer containing schematic data or NULL on failure. */ gchar *o_save_buffer (TOPLEVEL *toplevel, const GList *object_list) { GString *acc; gchar *buffer; if (toplevel == NULL) return NULL; acc = g_string_new (o_file_format_header()); buffer = o_save_objects (toplevel, object_list, FALSE); g_string_append (acc, buffer); g_free (buffer); return g_string_free (acc, FALSE); } /*! \brief Save a series of objects into a string buffer * \par Function Description * This function recursively saves a set of objects into a buffer in * libgeda format. User code should not normally call this function; * they should call o_save_buffer() instead. * * With save_attribs passed as FALSE, attribute objects are skipped over, * and saved separately - after the objects they are attached to. When * we recurse for saving out those attributes, the function must be called * with save_attribs passed as TRUE. * * \param [in] toplevel A TOPLEVEL structure. * \param [in] object_list The head of a GList of objects to save. * \param [in] save_attribs Should attribute objects encounterd be saved? * \returns a buffer containing schematic data or NULL on failure. */ gchar *o_save_objects (TOPLEVEL *toplevel, const GList *object_list, gboolean save_attribs) { OBJECT *o_current; const GList *iter; gchar *out; GString *acc; gboolean already_wrote = FALSE; acc = g_string_new(""); iter = object_list; while ( iter != NULL ) { o_current = (OBJECT *)iter->data; if (save_attribs || o_current->attached_to == NULL) { switch (o_current->type) { case(OBJ_LINE): out = o_line_save(toplevel, o_current); break; case(OBJ_NET): out = o_net_save(toplevel, o_current); break; case(OBJ_BUS): out = o_bus_save(toplevel, o_current); break; case(OBJ_BOX): out = o_box_save(toplevel, o_current); break; case(OBJ_CIRCLE): out = o_circle_save(toplevel, o_current); break; case(OBJ_COMPLEX): out = o_complex_save(toplevel, o_current); g_string_append_printf(acc, "%s\n", out); already_wrote = TRUE; g_free(out); /* need to free here because of the above flag */ if (o_complex_is_embedded(o_current)) { g_string_append(acc, "[\n"); out = o_save_objects(toplevel, o_current->complex->prim_objs, FALSE); g_string_append (acc, out); g_free(out); g_string_append(acc, "]\n"); } break; case(OBJ_PLACEHOLDER): /* new type by SDB 1.20.2005 */ out = o_complex_save(toplevel, o_current); break; case(OBJ_TEXT): out = o_text_save(toplevel, o_current); break; case(OBJ_PATH): out = o_path_save(toplevel, o_current); break; case(OBJ_PIN): out = o_pin_save(toplevel, o_current); break; case(OBJ_ARC): out = o_arc_save(toplevel, o_current); break; case(OBJ_PICTURE): out = o_picture_save(toplevel, o_current); break; default: /*! \todo Maybe we can continue instead of just failing * completely? In any case, failing gracefully is better * than killing the program, which is what this used to * do... */ g_critical (_("o_save_objects: object %p has unknown type '%c'\n"), o_current, o_current->type); /* Dump string built so far */ g_string_free (acc, TRUE); return NULL; } /* output the line */ if (!already_wrote) { g_string_append_printf(acc, "%s\n", out); g_free(out); } else { already_wrote = FALSE; } /* save any attributes */ if (o_current->attribs != NULL) { g_string_append (acc, "{\n"); out = o_save_objects (toplevel, o_current->attribs, TRUE); g_string_append (acc, out); g_free(out); g_string_append (acc, "}\n"); } } iter = g_list_next (iter); } return g_string_free (acc, FALSE); } /*! \brief Save a file * \par Function Description * This function saves the data in a libgeda format to a file * * \bug g_access introduces a race condition in certain cases, but * solves bug #698565 in the normal use-case * * \param [in] toplevel The current TOPLEVEL. * \param [in] object_list The head of a GList of OBJECTs to save. * \param [in] filename The filename to save the data to. * \param [in,out] err #GError structure for error reporting. * \return 1 on success, 0 on failure. */ int o_save (TOPLEVEL *toplevel, const GList *object_list, const char *filename, GError **err) { char *buffer; /* Check to see if real filename is writable; if file doesn't exists we assume all is well */ if (g_file_test(filename, G_FILE_TEST_EXISTS) && g_access(filename, W_OK) != 0) { g_set_error (err, G_FILE_ERROR, G_FILE_ERROR_PERM, _("File %s is read-only"), filename); return 0; } buffer = o_save_buffer (toplevel, object_list); if (!g_file_set_contents (filename, buffer, strlen(buffer), err)) { g_free (buffer); return 0; } g_free (buffer); return 1; } /*! \brief Read a memory buffer * \par Function Description * This function reads data in libgeda format from a memory buffer. * * If the size argument is negative, the buffer is assumed to be * null-terminated. * * The name argument is used for debugging, and should be set to a * meaningful string (e.g. the name of the file the data is from). * * \param [in,out] toplevel The current TOPLEVEL structure. * \param [in] object_list The object_list to read data to. * \param [in] buffer The memory buffer to read from. * \param [in] size The size of the buffer. * \param [in] name The name to describe the data with. * \return GList of objects if successful read, or NULL on error. */ GList *o_read_buffer (TOPLEVEL *toplevel, GList *object_list, char *buffer, const int size, const char *name, GError **err) { const char *line = NULL; TextBuffer *tb = NULL; char objtype; GList *object_list_save=NULL; OBJECT *new_obj=NULL; GList *new_attrs_list; GList *new_object_list = NULL; GList *iter; unsigned int release_ver = 0; unsigned int fileformat_ver = 0; unsigned int current_fileformat_ver = FILEFORMAT_VERSION; int found_pin = 0; OBJECT* last_complex = NULL; int itemsread = 0; int embedded_level = 0; g_return_val_if_fail ((buffer != NULL), NULL); tb = s_textbuffer_new (buffer, size); while (1) { line = s_textbuffer_next_line(tb); if (line == NULL) break; sscanf(line, "%c", &objtype); /* Do we need to check the symbol version? Yes, but only if */ /* 1) the last object read was a complex and */ /* 2) the next object isn't the start of attributes. */ /* If the next object is the start of attributes, then check the */ /* symbol version after the attributes have been read in, see the */ /* STARTATTACH_ATTR case */ if (last_complex && objtype != STARTATTACH_ATTR) { /* yes */ /* verify symbol version (not file format but rather contents) */ o_complex_check_symversion(toplevel, last_complex); last_complex = NULL; /* no longer need to check */ } switch (objtype) { case(OBJ_LINE): if ((new_obj = o_line_read (toplevel, line, release_ver, fileformat_ver, err)) == NULL) goto error; new_object_list = g_list_prepend (new_object_list, new_obj); break; case(OBJ_NET): if ((new_obj = o_net_read (toplevel, line, release_ver, fileformat_ver, err)) == NULL) goto error; new_object_list = g_list_prepend (new_object_list, new_obj); break; case(OBJ_BUS): if ((new_obj = o_bus_read (toplevel, line, release_ver, fileformat_ver, err)) == NULL) goto error; new_object_list = g_list_prepend (new_object_list, new_obj); break; case(OBJ_BOX): if ((new_obj = o_box_read (toplevel, line, release_ver, fileformat_ver, err)) == NULL) goto error; new_object_list = g_list_prepend (new_object_list, new_obj); break; case(OBJ_PICTURE): new_obj = o_picture_read (toplevel, line, tb, release_ver, fileformat_ver, err); if (new_obj == NULL) goto error; new_object_list = g_list_prepend (new_object_list, new_obj); break; case(OBJ_CIRCLE): if ((new_obj = o_circle_read (toplevel, line, release_ver, fileformat_ver, err)) == NULL) goto error; new_object_list = g_list_prepend (new_object_list, new_obj); break; case(OBJ_COMPLEX): case(OBJ_PLACEHOLDER): if ((new_obj = o_complex_read (toplevel, line, release_ver, fileformat_ver, err)) == NULL) goto error; new_object_list = g_list_prepend (new_object_list, new_obj); /* last_complex is used for verifying symversion attribute */ last_complex = new_obj; break; case(OBJ_TEXT): new_obj = o_text_read (toplevel, line, tb, release_ver, fileformat_ver, err); if (new_obj == NULL) goto error; new_object_list = g_list_prepend (new_object_list, new_obj); break; case(OBJ_PATH): new_obj = o_path_read (toplevel, line, tb, release_ver, fileformat_ver, err); if (new_obj == NULL) goto error; new_object_list = g_list_prepend (new_object_list, new_obj); break; case(OBJ_PIN): if ((new_obj = o_pin_read (toplevel, line, release_ver, fileformat_ver, err)) == NULL) goto error; new_object_list = g_list_prepend (new_object_list, new_obj); found_pin++; break; case(OBJ_ARC): if ((new_obj = o_arc_read (toplevel, line, release_ver, fileformat_ver, err)) == NULL) goto error; new_object_list = g_list_prepend (new_object_list, new_obj); break; case(STARTATTACH_ATTR): /* first is the fp */ /* 2nd is the object to get the attributes */ if (new_obj != NULL) { o_attrib_freeze_hooks (toplevel, new_obj); new_attrs_list = o_read_attribs (toplevel, new_obj, tb, release_ver, fileformat_ver, err); if (new_attrs_list == NULL) goto error; new_object_list = g_list_concat (new_attrs_list, new_object_list); o_attrib_thaw_hooks (toplevel, new_obj); /* by now we have finished reading all the attributes */ /* did we just finish attaching to a complex object? */ if (last_complex) { /* yes */ /* verify symbol version (not file format but rather contents) */ o_complex_check_symversion(toplevel, last_complex); last_complex = NULL; } /* slots only apply to complex objects */ if (new_obj != NULL && (new_obj->type == OBJ_COMPLEX || new_obj->type == OBJ_PLACEHOLDER)) { s_slot_update_object (toplevel, new_obj); } new_obj = NULL; } else { g_set_error (err, EDA_ERROR, EDA_ERROR_PARSE, _("Read unexpected attach " "symbol start marker in [%s] :\n>>\n%s<<\n"), name, line); goto error; } break; case(START_EMBEDDED): if (new_obj != NULL && (new_obj->type == OBJ_COMPLEX || new_obj->type == OBJ_PLACEHOLDER)) { object_list_save = new_object_list; new_object_list = new_obj->complex->prim_objs; embedded_level++; } else { g_set_error (err, EDA_ERROR, EDA_ERROR_PARSE, _("Read unexpected embedded " "symbol start marker in [%s] :\n>>\n%s<<\n"), name, line); goto error; } break; case(END_EMBEDDED): if (embedded_level>0) { /* don't do this since objects are already * stored/read translated * o_complex_translate_world (toplevel, new_object_list->x, * new_object_list->y, new_object_list->complex); */ new_object_list = g_list_reverse (new_object_list); new_obj = object_list_save->data; new_obj->complex->prim_objs = new_object_list; new_object_list = object_list_save; /* set the parent field now */ for (iter = new_obj->complex->prim_objs; iter != NULL; iter = g_list_next (iter)) { OBJECT *tmp = iter->data; tmp->parent = new_obj; } o_recalc_single_object (toplevel, new_obj); embedded_level--; } else { g_set_error (err, EDA_ERROR, EDA_ERROR_PARSE, _("Read unexpected embedded " "symbol end marker in [%s] :\n>>\n%s<<\n"), name, line); goto error; } break; case(ENDATTACH_ATTR): /* this case is never hit, since the } is consumed by o_read_attribs */ break; case(INFO_FONT): /* NOP */ break; case(COMMENT): /* do nothing */ break; case(VERSION_CHAR): itemsread = sscanf(line, "v %u %u\n", &release_ver, &fileformat_ver); if (itemsread == 0) { g_set_error (err, EDA_ERROR, EDA_ERROR_PARSE, "Failed to parse version from buffer."); goto error; } /* 20030921 was the last version which did not have a fileformat */ /* version. The below latter test should not happen, but it is here */ /* just in in case. */ if (release_ver <= VERSION_20030921 || itemsread == 1) { fileformat_ver = 0; } if (fileformat_ver == 0) { s_log_message(_("Read an old format sym/sch file!\n" "Please run g[sym|sch]update on:\n[%s]\n"), name); } break; default: g_set_error (err, EDA_ERROR, EDA_ERROR_PARSE, _("Read garbage in [%s] :\n>>\n%s<<\n"), name, line); new_obj = NULL; goto error; } } /* Was the very last thing we read a complex and has it not been checked */ /* yet? This would happen if the complex is at the very end of the file */ /* and had no attached attributes */ if (last_complex) { o_complex_check_symversion(toplevel, last_complex); last_complex = NULL; /* no longer need to check */ } if (found_pin) { if (release_ver <= VERSION_20020825) { o_pin_update_whichend (toplevel, new_object_list, found_pin); } } tb = s_textbuffer_free(tb); new_object_list = g_list_reverse(new_object_list); object_list = g_list_concat (object_list, new_object_list); return(object_list); error: s_delete_object_glist(toplevel, new_object_list); return NULL; } /*! \brief Read a file * \par Function Description * This function reads a file in libgeda format. * * \param [in,out] toplevel The current TOPLEVEL structure. * \param [in] object_list The object_list to read data to. * \param [in] filename The filename to read from. * \param [in,out] err #GError structure for error reporting, or * NULL to disable error reporting * \return object_list if successful read, or NULL on error. */ GList *o_read (TOPLEVEL *toplevel, GList *object_list, char *filename, GError **err) { char *buffer = NULL; size_t size; GList *result; /* Return NULL if error reporting is enabled and the return location * for an error isn't NULL. */ g_return_val_if_fail (err == NULL || *err == NULL, NULL); if (!g_file_get_contents(filename, &buffer, &size, err)) { return NULL; } /* Parse file contents */ result = o_read_buffer (toplevel, object_list, buffer, size, filename, err); g_free (buffer); return result; } /*! \brief Scale a set of lines. * \par Function Description * This function takes a list of lines and scales them * by the values of x_scale and y_scale. * * \param [in] toplevel The current TOPLEVEL object. * \param [in,out] list The list with lines to scale. * \param [in] x_scale The x scale value for the lines. * \param [in] y_scale The y scale value for the lines. * * \todo this really doesn't belong here. you need more of a core routine * first. yes.. this is the core routine, just strip out the drawing * stuff * move it to o_complex_scale */ void o_scale (TOPLEVEL *toplevel, GList *list, int x_scale, int y_scale) { OBJECT *o_current; GList *iter; /* this is okay if you just hit scale and have nothing selected */ if (list == NULL) { return; } iter = list; while (iter != NULL) { o_current = (OBJECT *)iter->data; switch(o_current->type) { case(OBJ_LINE): o_line_scale_world(toplevel, x_scale, y_scale, o_current); break; } iter = g_list_next (iter); } } geda-gaf-1.8.2/libgeda/src/scheme_deprecated.c0000664000175000017500000000707512220647257016066 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA */ /*! * \file scheme_deprecated.c * \brief Deprecated Scheme API functions */ #include #include "libgeda_priv.h" #include "libgedaguile_priv.h" /*! \brief Get the width of line used to draw an object * \par Function Description * Returns the line width used to draw an object. Deprecated because * it doesn't respect type restrictions, unlike the %object-stroke * function in (geda core object). * * \param obj_s the object to get line width for. * \return the line width. */ SCM_DEFINE (get_line_width, "%get-line-width", 1, 0, 0, (SCM obj_s), "Get the width of line used to draw an object") { SCM_ASSERT (EDASCM_OBJECTP (obj_s), obj_s, SCM_ARG1, s_get_line_width); OBJECT *object = edascm_to_object (obj_s); return scm_from_int(object->line_width); } /*! * \brief Create the (geda core deprecated) Scheme module. * \par Function Description * Defines procedures in the (geda core deprecated) module. The module can * be accessed using (use-modules (geda core deprecated)). */ static void init_module_geda_core_deprecated () { /* Register the functions */ #include "scheme_deprecated.x" /* Some other deprecated definitions */ scm_c_define("OBJ_LINE", SCM_MAKE_CHAR((unsigned char) OBJ_LINE)); scm_c_define("OBJ_BOX", SCM_MAKE_CHAR((unsigned char) OBJ_BOX)); scm_c_define("OBJ_PICTURE", SCM_MAKE_CHAR((unsigned char) OBJ_PICTURE)); scm_c_define("OBJ_CIRCLE", SCM_MAKE_CHAR((unsigned char) OBJ_CIRCLE)); scm_c_define("OBJ_NET", SCM_MAKE_CHAR((unsigned char) OBJ_NET)); scm_c_define("OBJ_BUS", SCM_MAKE_CHAR((unsigned char) OBJ_BUS)); scm_c_define("OBJ_COMPLEX", SCM_MAKE_CHAR((unsigned char) OBJ_COMPLEX)); scm_c_define("OBJ_TEXT", SCM_MAKE_CHAR((unsigned char) OBJ_TEXT)); scm_c_define("OBJ_PIN", SCM_MAKE_CHAR((unsigned char) OBJ_PIN)); scm_c_define("OBJ_ARC", SCM_MAKE_CHAR((unsigned char) OBJ_ARC)); scm_c_define("OBJ_PLACEHOLDER", SCM_MAKE_CHAR((unsigned char) OBJ_PLACEHOLDER)); scm_c_define("OBJ_PATH", SCM_MAKE_CHAR((unsigned char) OBJ_PATH)); /* Add them to the module's public definitions. */ scm_c_export (s_get_line_width, "OBJ_LINE", "OBJ_BOX", "OBJ_PICTURE", "OBJ_CIRCLE", "OBJ_NET", "OBJ_BUS", "OBJ_COMPLEX", "OBJ_TEXT", "OBJ_PIN", "OBJ_ARC", "OBJ_PATH", "OBJ_PLACEHOLDER", NULL); } /*! * \brief Initialise the basic gEDA page manipulation procedures. * \par Function Description * Registers some Scheme procedures for working with #PAGE * smobs. Should only be called by scheme_api_init(). */ void edascm_init_deprecated () { /* Define the (geda core page) module */ scm_c_define_module ("geda core deprecated", init_module_geda_core_deprecated, NULL); } geda-gaf-1.8.2/libgeda/src/s_hierarchy.c0000664000175000017500000002623512220647257014741 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #ifdef HAVE_STDLIB_H #include #endif #include "libgeda_priv.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \brief */ static int page_control_counter=0; /*! \todo Finish function documentation!!! * \brief Search for schematic associated source files and load them. * \par Function Description * This function searches the associated source file refered by the * filename and loads it. If the flag is set to * HIERARCHY_NORMAL_LOAD and the page is allready in the list of * pages it will return the pid of that page. * If the flag is set to HIERARCHY_FORCE_LOAD then this * function will load the page again with a new page id. The second case * is mainly used by gnetlist where pushed down schematics MUST be unique. * * \param [in] toplevel The TOPLEVEL object. * \param [in] filename Schematic file name. * \param [in] parent The parent page of the schematic. * \param [in] page_control * \param [in] flag * \return The page loaded, or NULL if failed. * * \note * This function goes and finds the associated source files and * loads all up * It only works for schematic files though * this is basically push * flag can either be HIERARCHY_NORMAL_LOAD or HIERARCHY_FORCE_LOAD * flag is mainly used by gnetlist where pushed down schematics MUST be unique */ PAGE * s_hierarchy_down_schematic_single(TOPLEVEL *toplevel, const gchar *filename, PAGE *parent, int page_control, int flag) { gchar *string; PAGE *found = NULL; PAGE *forbear; g_return_val_if_fail ((toplevel != NULL), NULL); g_return_val_if_fail ((filename != NULL), NULL); g_return_val_if_fail ((parent != NULL), NULL); string = s_slib_search_single(filename); if (string == NULL) { return NULL; } switch (flag) { case HIERARCHY_NORMAL_LOAD: { gchar *filename = f_normalize_filename (string, NULL); found = s_page_search (toplevel, filename); g_free (filename); if (found) { /* check whether this page is in the parents list */ for (forbear = parent; forbear != NULL && found->pid != forbear->pid && forbear->up >= 0; forbear = s_page_search_by_page_id (toplevel->pages, forbear->up)) ; /* void */ if (forbear != NULL && found->pid == forbear->pid) { s_log_message(_("hierarchy loop detected while visiting page:\n" " \"%s\"\n"), found->page_filename); return NULL; /* error signal */ } s_page_goto (toplevel, found); if (page_control != 0) { found->page_control = page_control; } found->up = parent->pid; g_free (string); return found; } found = s_page_new (toplevel, string); f_open (toplevel, found, found->page_filename, NULL); } break; case HIERARCHY_FORCE_LOAD: { found = s_page_new (toplevel, string); f_open (toplevel, found, found->page_filename, NULL); } break; default: g_return_val_if_reached (NULL); } if (page_control == 0) { page_control_counter++; found->page_control = page_control_counter; } else { found->page_control = page_control; } found->up = parent->pid; g_free (string); return found; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void s_hierarchy_down_symbol (TOPLEVEL *toplevel, const CLibSymbol *symbol, PAGE *parent) { PAGE *page; gchar *filename; filename = s_clib_symbol_get_filename (symbol); page = s_page_search (toplevel, filename); if (page) { /* change link to parent page since we * can come here from any parent and must * come back to the same page */ page->up = parent->pid; s_page_goto (toplevel, page); g_free (filename); return; } page = s_page_new (toplevel, filename); g_free(filename); s_page_goto (toplevel, page); f_open(toplevel, page, page->page_filename, NULL); page->up = parent->pid; page_control_counter++; page->page_control = page_control_counter; } /*! \brief Search for the parent page of a page in hierarchy. * \par Function Description * This function searches the parent page of page \a page in the * hierarchy. It checks all the pages in the list \a page_list. * * It returns a pointer on the page if found, NULL otherwise. * * \note * The page \a current_page must be in the list \a page_list. * * \param [in] page_list The list of pages in which to search. * \param [in] current_page The reference page for the search. * \returns A pointer on the page found or NULL if not found. */ PAGE * s_hierarchy_find_up_page (GedaPageList *page_list, PAGE *current_page) { if (current_page->up < 0) { s_log_message(_("There are no schematics above the current one!\n")); return NULL; } return s_page_search_by_page_id (page_list, current_page->up); } /*! \brief Find page hierarchy below a page. * \par Function Description * This function traverses the hierarchy tree of pages and returns a * flat list of pages that are below \a p_current. There are two \a * flags that can be used to control the way that the return value is * constructed: HIERARCHY_NODUPS returns a list without * duplicate pages, and HIERARCHY_POSTORDER traverses the * hierarchy tree and returns a postorder list instead of preorder. * * \param toplevel The TOPLEVEL structure. * \param p_current The PAGE to traverse hierarchy for. * \param flags Flags controlling form of return value. * \return A GList of PAGE pointers. * * \warning * Caller must destroy returned GList with g_list_free(). */ GList * s_hierarchy_traversepages (TOPLEVEL *toplevel, PAGE *p_current, gint flags) { OBJECT *o_current; PAGE *child_page; char *filename = NULL; static GList *pages = NULL; const GList *iter; g_return_val_if_fail ((toplevel != NULL), NULL); g_return_val_if_fail ((p_current != NULL), NULL); /* init static variables the first time*/ if (!(flags & HIERARCHY_INNERLOOP)) { pages = NULL; } /* preorder traversing */ if (!(flags & HIERARCHY_POSTORDER)) { /* check whether we already visited this page */ if ((flags & HIERARCHY_NODUPS) && (g_list_find (pages, p_current) != NULL)) { return pages; /* drop the page subtree */ } pages = g_list_append (pages, p_current); } /* walk throught the page objects and search for underlaying schematics */ for (iter = s_page_objects (p_current); iter != NULL ; iter = g_list_next (iter)) { o_current = (OBJECT *)iter->data; /* only complex things like symbols can contain attributes */ if (o_current->type != OBJ_COMPLEX) continue; filename = o_attrib_search_attached_attribs_by_name (o_current, "source", 0); /* if above is NULL, then look inside symbol */ if (filename == NULL) { filename = o_attrib_search_inherited_attribs_by_name (o_current, "source", 0); } if (filename == NULL) continue; /* we got a schematic source attribute lets load the page and dive into it */ child_page = s_hierarchy_down_schematic_single (toplevel, filename, p_current, 0, HIERARCHY_NORMAL_LOAD); if (child_page != NULL) { /* call the recursive function */ s_hierarchy_traversepages (toplevel, child_page, flags | HIERARCHY_INNERLOOP); } else { s_log_message (_("ERROR in s_hierarchy_traverse: " "schematic not found: %s\n"), filename); } g_free (filename); filename = NULL; } /* postorder traversing */ if (flags & HIERARCHY_POSTORDER) { /* check whether we already visited this page */ if ((flags & HIERARCHY_NODUPS) && (g_list_find (pages, p_current) != NULL)) { return pages; /* don't append it */ } pages = g_list_append (pages, p_current); } return pages; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \note * Test function which only prints the name of a page and it's number. */ gint s_hierarchy_print_page (PAGE *p_current, void * data) { printf("pagefilename: %s pageid: %d\n", p_current->page_filename, p_current->pid); return 0; } /*! \brief Search for a page preceding a given page in hierarchy. * \par Function Description * This function searches the previous sibling of page \a page in the * hierarchy. It checks all the pages preceding \a page in the list * \a page_list. * * It returns a pointer on the page if found, NULL otherwise. * * \note * The page \a current_page must be in the list \a page_list. * * \param [in] page_list The list of pages in which to search. * \param [in] current_page The reference page for the search. * \returns A pointer on the page found or NULL if not found. */ PAGE * s_hierarchy_find_prev_page (GedaPageList *page_list, PAGE *current_page) { const GList *iter; iter = g_list_find (geda_list_get_glist (page_list), current_page); for (iter = g_list_previous (iter); iter != NULL; iter = g_list_previous (iter)) { PAGE *page = (PAGE *)iter->data; if (page->page_control == current_page->page_control) { return page; } } return NULL; } /*! \brief Search for a page following a given page in hierarchy. * \par Function Description * This function searches the next sibling of page \a page in the * hierarchy. It checks all the pages following \a page in the list * \a page_list. * * It returns a pointer on the page if found, NULL otherwise. * * \note * The page \a current_page must be in the list \a page_list. * * \param [in] page_list The list of pages in which to search. * \param [in] current_page The reference page for the search. * \returns A pointer on the page found or NULL if not found. */ PAGE * s_hierarchy_find_next_page (GedaPageList *page_list, PAGE *current_page) { const GList *iter; iter = g_list_find (geda_list_get_glist (page_list), current_page); for (iter = g_list_next (iter); iter != NULL; iter = g_list_next (iter)) { PAGE *page = (PAGE *)iter->data; if (page->page_control == current_page->page_control) { return page; } } return NULL; } geda-gaf-1.8.2/libgeda/include/0000775000175000017500000000000012220655750013176 500000000000000geda-gaf-1.8.2/libgeda/include/libgedaguile_priv.h0000664000175000017500000001550112220647257016751 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library - Scheme API * Copyright (C) 2010-2012 Peter Brett * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA */ /*! \defgroup guile_c_iface gEDA Scheme API: C interface * \brief Interface to the gEDA Scheme API for programs written in C. * * This module contains a variety of functions for use in applications * that use libgeda and which need to make use of or extend the gEDA * Scheme API. * * To initialise the API, edascm_init() needs to be called before any * Scheme code is executed or any of the other functions listed in * this module are called. Normally, this will be called * automatically by libgeda_init(). * * The Scheme API requires a libgeda #TOPLEVEL context to be available * at any given time. The #TOPLEVEL can be set on a per-thread basis * using the edascm_dynwind_toplevel() or edascm_c_with_toplevel() * functions. For example: * * \code * static SCM worker (void *user_data) * { * // ...run Scheme code and/or call Scheme API C functions... * } * * void myfunc(TOPLEVEL *toplevel) * { * void *mydata; * * // ...set up mydata... // * * // Set current toplevel using edascm_c_with_toplevel() * edascm_c_with_toplevel (toplevel, worker, mydata); * * // Set current toplevel using dynamic wind * scm_dynwind_begin (0); * edascm_dynwind_toplevel (toplevel); * worker (mydata); * // ...run Scheme code and/or call Scheme API C functions... * scm_dynwind_end (); * } * \endcode * * For more information on dynamic wind, see the Guile Reference * Manual. * * The remaining functions in this module allow you to convert gEDA * #OBJECT and #PAGE structures to and from Scheme values ("smobs"). * * When an #OBJECT is created by Scheme code, it is permitted to be * garbage-collected if all references to it are lost; this is an * important part of allowing Scheme programmers to write efficient * code. However, because #OBJECT instances are not reference * counted, each Scheme object that contains an #OBJECT has a flag * that indicates whether it is wholly owned by Scheme or whether * there are any remaining references to it from C code. If you use * edascm_from_object() to create a Scheme value for an #OBJECT that * has no remaining references from other C structures, you should use * edascm_c_set_gc() to mark it as garbage-collectable. */ /*! * \file libgedaguile_priv.h * Scheme API private declarations and definitions. * \warning Don't include from libgeda_priv.h: should only be included * by Scheme API source files. */ #include #include void edascm_init_smob (); void edascm_init_toplevel (); void edascm_init_object (); void edascm_init_complex (); void edascm_init_page (); void edascm_init_attrib (); void edascm_init_os (); void edascm_init_deprecated (); /* ---------------------------------------- */ /* Macros and constants for working with the geda smob type. These are * for the convenience of the other C functions used by the Scheme * API. */ /*! The tag used to identify gEDA data structures in Scheme. */ extern scm_t_bits geda_smob_tag; /*! The flags used to determine which C structure a smob contains. */ enum geda_smob_flags { GEDA_SMOB_TOPLEVEL = 0, GEDA_SMOB_PAGE = 1, GEDA_SMOB_OBJECT = 2, GEDA_SMOB_TYPE_MASK = 0xf, GEDA_SMOB_GC_FLAG = 0x100, }; /*! Retrieve the type flags for a gEDA smob. */ #define EDASCM_SMOB_TYPE(x) (SCM_SMOB_FLAGS (x) & GEDA_SMOB_TYPE_MASK) /*! \brief Test the type of a gEDA smob. * \par Macro Description * Returns non-zero if \a x is a gEDA smob and the type flags of \a x * match \a type. */ #define EDASCM_SMOB_TYPEP(x, type) \ (SCM_SMOB_PREDICATE (geda_smob_tag, x) && (EDASCM_SMOB_TYPE (x) == type)) /*! \brief Test whether a gEDA smob is valid. * \par Macro Description * Returns non-zero if \a x is a gEDA smob and the pointer it contains * is valid. */ #define EDASCM_SMOB_VALIDP(x) \ (SCM_SMOB_PREDICATE (geda_smob_tag, x) && ((void *)SCM_SMOB_DATA (x) != NULL)) /*! \brief Assert that a gEDA smob is valid. * \par Macro Description * Throw an error if assertions are enabled and \a x is invalid. */ #ifdef NDEBUG # define EDASCM_ASSERT_SMOB_VALID(x) #else # define EDASCM_ASSERT_SMOB_VALID(x) \ do { if (!EDASCM_SMOB_VALIDP(x)) { \ scm_misc_error (NULL, "Found invalid gEDA smob ~S", scm_list_1 (x)); \ } } while (0) #endif /* Create a Guile value from a TOPLEVEL structure. */ SCM edascm_from_toplevel (TOPLEVEL *toplevel); /*! Tests whether a Scheme value is a TOPLEVEL smob. */ #define EDASCM_TOPLEVELP(x) EDASCM_SMOB_TYPEP(x, GEDA_SMOB_TOPLEVEL) /*! Tests whether a Scheme value is a PAGE smob. */ #define EDASCM_PAGEP(x) EDASCM_SMOB_TYPEP(x, GEDA_SMOB_PAGE) /*! Tests whether a Scheme value is an OBJECT smob. */ #define EDASCM_OBJECTP(x) EDASCM_SMOB_TYPEP(x, GEDA_SMOB_OBJECT) /*! * \brief Test whether a structure may be garbage-collected * \par Macro Description * Tests whether the C structure contained by the smob \a x is only * referenced by Scheme code, and thus can be free()'d when \a x is * garbage-collected. */ #define EDASCM_SMOB_GCP(x) \ (SCM_SMOB_PREDICATE (geda_smob_tag, x) && ((SCM_SMOB_FLAGS (x) & GEDA_SMOB_GC_FLAG) != 0)) /*! * \brief Set whether a structure may be garbage-collected * \par Macro Description * Set whether the structure contained by the smob \a x is only * referenced by Scheme code, and thus should be free()'d when \a x is * garbage-collected. * * \param x Smob to modify. * \param gc Non-zero if \a x should be garbage-collected. */ #define EDASCM_SMOB_SET_GC(x, gc) \ SCM_SET_SMOB_FLAGS (x, gc ? (SCM_SMOB_FLAGS (x) | GEDA_SMOB_GC_FLAG) \ : (SCM_SMOB_FLAGS (x) & ~GEDA_SMOB_GC_FLAG)) /* ---------------------------------------- */ GList *edascm_to_object_glist (SCM objs, const char *subr) G_GNUC_WARN_UNUSED_RESULT; SCM edascm_from_object_glist (const GList *objs); int edascm_is_object_type (SCM smob, int type); /*! \brief Flag an object's page as having been changed. */ extern inline void o_page_changed (TOPLEVEL *t, OBJECT *o); /* ---------------------------------------- */ extern SCM edascm_object_state_sym; geda-gaf-1.8.2/libgeda/include/Makefile.am0000664000175000017500000000125212220647257015155 00000000000000## Process this file with automake to produce Makefile.in libgedaincludedir = $(includedir)/libgeda libgedainclude_HEADERS = \ libgeda/colors.h \ libgeda/defines.h \ libgeda/edaerrors.h \ libgeda/funcs.h \ libgeda/geda_list.h \ libgeda/globals.h \ libgeda/libgeda.h \ libgeda/o_types.h \ libgeda/papersizes.h \ libgeda/prototype.h \ libgeda/libgedaguile.h \ libgeda/struct.h noinst_HEADERS = \ gettext_priv.h \ i_vars_priv.h \ libgeda_priv.h \ prototype_priv.h \ struct_priv.h \ libgedaguile_priv.h MOSTLYCLEANFILES = *.log core FILE *~ CLEANFILES = *.log core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in geda-gaf-1.8.2/libgeda/include/libgeda/0000775000175000017500000000000012220655750014565 500000000000000geda-gaf-1.8.2/libgeda/include/libgeda/libgeda.h0000664000175000017500000000241212220647257016247 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's Library * Copyright (C) 1998-2010 Ales Hvezda * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02111-1301 USA. */ #ifndef LIBGEDA_H #define LIBGEDA_H #include #include #include #include #include #include #include #include #include #include #include #include #include #include #endif geda-gaf-1.8.2/libgeda/include/libgeda/funcs.h0000664000175000017500000000004412207374140015766 00000000000000extern void (*x_log_update_func)(); geda-gaf-1.8.2/libgeda/include/libgeda/struct.h0000664000175000017500000004167212220647257016217 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's Library * Copyright (C) 1998-2010 Ales Hvezda * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02111-1301 USA. */ #ifndef STRUCT_H #define STRUCT_H #include /* Include needed to make GList work. */ /* Wrappers around a new list mechanism */ typedef struct _GedaList SELECTION; typedef struct _GedaList GedaPageList; /* gschem structures (gschem) */ typedef struct st_complex COMPLEX; typedef struct st_line LINE; typedef struct st_path_section PATH_SECTION; typedef struct st_path PATH; typedef struct st_circle CIRCLE; typedef struct st_arc ARC; typedef struct st_box BOX; typedef struct st_picture PICTURE; typedef struct st_text TEXT; typedef struct st_point sPOINT; typedef struct st_transform TRANSFORM; typedef struct st_bezier BEZIER; typedef struct st_object OBJECT; typedef struct st_page PAGE; typedef struct st_toplevel TOPLEVEL; typedef struct st_color COLOR; typedef struct st_undo UNDO; typedef struct st_tile TILE; typedef struct st_bounds BOUNDS; typedef struct st_conn CONN; typedef struct st_bus_ripper BUS_RIPPER; /* netlist structures (gnetlist) */ typedef struct st_netlist NETLIST; typedef struct st_cpinlist CPINLIST; typedef struct st_net NET; /* sch check structures (gschcheck) */ typedef struct st_schcheck SCHCHECK; typedef struct st_chkerrs CHKERRS; /* Managed text buffers */ typedef struct _TextBuffer TextBuffer; /* Component library objects */ typedef struct _CLibSource CLibSource; typedef struct _CLibSymbol CLibSymbol; /* Component library search modes */ typedef enum { CLIB_EXACT=0, CLIB_GLOB } CLibSearchMode; /* f_open behaviour flags. See documentation for f_open_flags() in f_basic.c. */ typedef enum { F_OPEN_RC = 1, F_OPEN_CHECK_BACKUP = 2, F_OPEN_RESTORE_CWD = 4, } FOpenFlags; /*! \brief line end style for an open line of an object */ typedef enum {END_NONE, END_SQUARE, END_ROUND} OBJECT_END; /*! \brief line style of lines, rect, circles, arcs */ typedef enum {TYPE_SOLID, TYPE_DOTTED, TYPE_DASHED, TYPE_CENTER, TYPE_PHANTOM, TYPE_ERASE} OBJECT_TYPE; /*! \brief fill style of objects like cirle, rect, path */ typedef enum {FILLING_HOLLOW, FILLING_FILL, FILLING_MESH, FILLING_HATCH, FILLING_VOID} OBJECT_FILLING; struct st_line { int x[2]; int y[2]; }; struct st_point { gint x; gint y; }; #define LINE_END1 0 #define LINE_END2 1 typedef enum { PATH_MOVETO, PATH_MOVETO_OPEN, PATH_CURVETO, PATH_LINETO, PATH_END } PATH_CODE; struct st_path_section { PATH_CODE code; int x1; int y1; int x2; int y2; int x3; int y3; }; struct st_path { PATH_SECTION *sections; /* Bezier path segments */ int num_sections; /* Number with data */ int num_sections_max; /* Number allocated */ }; struct st_arc { int x, y; /* world */ int width; int height; int start_angle; int end_angle; }; #define ARC_CENTER 0 #define ARC_RADIUS 1 #define ARC_START_ANGLE 2 #define ARC_END_ANGLE 3 struct st_bezier { int x[4]; int y[4]; }; struct st_box { /* upper is considered the origin */ int upper_x, upper_y; /* world */ int lower_x, lower_y; }; #define BOX_UPPER_LEFT 0 #define BOX_LOWER_RIGHT 1 #define BOX_UPPER_RIGHT 2 #define BOX_LOWER_LEFT 3 struct st_picture { GdkPixbuf *pixbuf; gchar *file_content; gsize file_length; double ratio; char *filename; int angle; char mirrored; char embedded; /* upper is considered the origin */ int upper_x, upper_y; /* world */ int lower_x, lower_y; }; #define PICTURE_UPPER_LEFT 0 #define PICTURE_LOWER_RIGHT 1 #define PICTURE_UPPER_RIGHT 2 #define PICTURE_LOWER_LEFT 3 struct st_text { int x, y; /* world origin */ char *string; /* text stuff */ char *disp_string; int length; int size; int alignment; int angle; }; struct st_complex { int x, y; /* world origin */ int angle; /* orientation, only multiples * of 90 degrees allowed */ /* in degrees */ int mirror; GList *prim_objs; /* Primitive objects */ /* objects which make up the */ /* complex */ }; struct st_circle { int center_x, center_y; /* world */ int radius; }; #define CIRCLE_CENTER 0 #define CIRCLE_RADIUS 1 struct st_object { int type; /* Basic information */ int sid; char *name; PAGE *page; /* Parent page */ int w_top; /* Bounding box information */ int w_left; /* in world coords */ int w_right; int w_bottom; gboolean w_bounds_valid; COMPLEX *complex; LINE *line; CIRCLE *circle; ARC *arc; BOX *box; TEXT *text; PICTURE *picture; PATH *path; GList *tiles; /* tiles */ GList *conn_list; /* List of connections */ /* to and from this object */ /* every graphical primitive have more or less the same options. */ /* depending on its nature a primitive is concerned with one or more */ /* of these fields. If not, value must be ignored. */ OBJECT_END line_end; OBJECT_TYPE line_type; int line_width; int line_space; int line_length; OBJECT_FILLING fill_type; int fill_width; int fill_angle1, fill_pitch1; int fill_angle2, fill_pitch2; gboolean complex_embedded; /* is embedded component? */ gchar *complex_basename; /* Component Library Symbol name */ OBJECT *parent; /* Parent object pointer */ int color; /* Which color */ int dont_redraw; /* Flag to skip redrawing */ int selectable; /* object selectable flag */ int selected; /* object selected flag */ int locked_color; /* Locked color (used to save */ /* the object's real color */ /* when the object is locked) */ /* controls which direction bus rippers go */ /* it is either 0 for un-inited, */ /* 1 for right, -1 for left (horizontal bus) */ /* 1 for up, -1 for down (vertial bus) */ int bus_ripper_direction; /* only valid on buses */ int font_text_size; /* used only with fonts defs */ GList *font_prim_objs; /* used only with fonts defs */ int whichend; /* for pins only, either 0 or 1 */ int pin_type; /* for pins only, either NET or BUS */ /* Tracking total number of entities connected by this net */ int net_num_connected; /* for nets only */ gboolean valid_num_connected; /* for nets only */ GList *attribs; /* attribute stuff */ int show_name_value; int visibility; OBJECT *attached_to; /* when object is an attribute */ OBJECT *copied_to; /* used when copying attributes */ GList *weak_refs; /* Weak references */ /* Attribute notification handling */ int attrib_notify_freeze_count; int attrib_notify_pending; /* Connection notification handling */ int conn_notify_freeze_count; int conn_notify_pending; }; /*! \brief Structure for connections between OBJECTs * * The st_conn structure contains a single connection * to another object. * The connection system in s_conn.c uses this struct */ struct st_conn { /*! \brief The "other" object connected to this one */ OBJECT *other_object; /*! \brief type of connection. Always in reference to how the "other" object is connected to the current one */ int type; /*! \brief x coord of the connection position */ int x; /*! \brief y coord of the connection position */ int y; /*! \brief which endpoint of the current object caused this connection */ int whichone; /*! \brief which endpoint of the "other" object caused this connection */ int other_whichone; }; /* this structure is used in gschem to add rippers when drawing nets */ /* it is never stored in any object, it is only temporary */ struct st_bus_ripper { int x[2]; int y[2]; }; struct st_bounds { gint min_x; gint min_y; gint max_x; gint max_y; }; /** A structure to store a 2D affine transform. * * The transforms get stored in a 3x3 matrix. Code assumes the bottom row to * remain constant at [0 0 1]. */ struct st_transform { gdouble m[2][3]; /* m[row][column] */ }; struct st_undo { /* one of these is used, depending on if you are doing in-memory */ /* or file based undo state saving */ char *filename; GList *object_list; /* either UNDO_ALL or UNDO_VIEWPORT_ONLY */ int type; /* viewport information */ int left, top, right, bottom; /* up and down the hierarchy */ int up; /* used to control which pages are viewable when moving around */ int page_control; UNDO *prev; UNDO *next; }; /*! \brief structure to split a page into tiles * * This structure is used to track objects that are inside * a smaller TILE of o a page. * See s_tile.c for further informations. */ struct st_tile { GList *objects; int top, left, right, bottom; }; struct st_page { int pid; GList *_object_list; SELECTION *selection_list; /* new selection mechanism */ GList *place_list; OBJECT *object_lastplace; /* the last found item */ char *page_filename; int CHANGED; /* changed flag */ /*int zoom_factor; no longer used*/ int left, right, top, bottom; /* World coord limits */ double coord_aspectratio; /* Real worldcoords ratio (?) */ float to_screen_x_constant; float to_screen_y_constant; float to_world_x_constant; float to_world_y_constant; TILE world_tiles[MAX_TILES_X][MAX_TILES_Y]; /* Undo/Redo Stacks and pointers */ /* needs to go into page mechanism actually */ UNDO *undo_bottom; UNDO *undo_current; UNDO *undo_tos; /* Top Of Stack */ /* up and down the hierarchy */ /* this holds the pid of the parent page */ int up; /* int down; not needed */ /* used to control which pages are viewable when moving around */ int page_control; /* backup variables */ GTimeVal last_load_or_save_time; char saved_since_first_loaded; gint ops_since_last_backup; gchar do_autosave_backup; GList *weak_refs; /* Weak references */ }; /*! \brief Type of callback function for calculating text bounds */ typedef int(*RenderedBoundsFunc)(void *, OBJECT *, int *, int *, int *, int *); /*! \brief Type of callback function for object damage notification */ typedef int(*ChangeNotifyFunc)(void *, OBJECT *); /*! \brief Type of callback function for notification when a new TOPLEVEL is created */ typedef void(*NewToplevelFunc)(TOPLEVEL *, void *); /*! \brief Type of callback function for notification when an object's attributes change */ typedef void(*AttribsChangedFunc)(void *, OBJECT *); /*! \brief Type of callback function for notification when an object's connections change */ typedef void(*ConnsChangedFunc)(void *, OBJECT *); /*! \brief Type of callback function for querying loading of backups */ typedef gboolean(*LoadBackupQueryFunc)(void *, GString *); struct st_toplevel { /* have to decided on component list stuff */ /* if it should go in here or not */ /* leave outside for now */ GList *RC_list; /* List of RC files which have been read in. */ char *untitled_name; /* untitled sch basename */ char *bitmap_directory; /* path of the bitmaps */ int init_left, init_right; /* Starting values for above */ int init_top, init_bottom; int width, height; /* height, width of window */ int override_color; /* used in doing selections */ int last_ps_color; /* used in print code */ /* page system */ PAGE *page_current; GedaPageList *pages; /* show_hidden_text is used to control which text is hidden in gschem */ int show_hidden_text; GList* major_changed_refdes; /* A list of all refdes's that have */ /* major symbol version changes */ /* backup variables */ int auto_save_interval; gint auto_save_timeout; /* BLOCK SET IN GSCHEM, BUT USED IN LIBGEDA - NEEDS A RETHINK */ int background_color; int override_net_color; int override_bus_color; int override_pin_color; int pin_style; int net_style; int bus_style; int line_style; /* END BLOCK - ALTHOUGH THERE ARE MORE CASES! */ /* controls whether objects are clipped */ int object_clipping; /* either landscape or portrait */ int print_orientation; /* either TRUE or FALSE (color or no color) */ int image_color; /* either TRUE or FALSE (color or no color) */ int print_color; /* color used color ouput for background */ int print_color_background; /* setpagedevice orientation option enable (TRUE or FALSE) */ int setpagedevice_orientation; /* setpagedevice pagesize option enable (TRUE or FALSE) */ int setpagedevice_pagesize; /* The name of the prolog file to paste into the Postscript output */ char *postscript_prolog; /* controls if the net consolidation code is used */ int net_consolidate; /*controls if attribute promotion happens */ int attribute_promotion; /* controls if invisible attribs are promoted */ int promote_invisible; /* controls if invisible attribs are kept and not deleted */ int keep_invisible; /* controls the generation of backup (~) files */ int make_backup_files; /* either window or limits */ int print_output_type; /* BUTT, ROUND, SQUARE caps */ int print_output_capstyle; /* landscape printing only */ int paper_width, paper_height; /* filename of the bus ripper component if set above */ char *bus_ripper_symname; /* controls if the whole bounding box is used in the auto whichend code */ int force_boundingbox; /* List of attributes to always promote */ GList *always_promote_attributes; /* gnetlist specific */ int net_naming_priority; int hierarchy_traversal; int hierarchy_uref_mangle; int hierarchy_netname_mangle; int hierarchy_netattrib_mangle; char *hierarchy_uref_separator; char *hierarchy_netname_separator; char *hierarchy_netattrib_separator; int hierarchy_netattrib_order; int hierarchy_netname_order; int hierarchy_uref_order; char *unnamed_netname; char *unnamed_busname; /* Callback function for calculating text bounds */ RenderedBoundsFunc rendered_text_bounds_func; void *rendered_text_bounds_data; /* Callback functions for object change notification */ GList *change_notify_funcs; /* Callback functions for object attribute change notification */ GList *attribs_changed_hooks; /* Callback functions for object connections change notification */ GList *conns_changed_hooks; /* Callback function for deciding whether to load a backup file. */ LoadBackupQueryFunc load_newer_backup_func; void *load_newer_backup_data; GList *weak_refs; /* Weak references */ }; /* structures below are for gnetlist */ /* for every component in the object database */ struct st_netlist { int nlid; char *component_uref; OBJECT *object_ptr; CPINLIST *cpins; char *hierarchy_tag; int composite_component; NETLIST *prev; NETLIST *next; }; /* for every pin on a component */ struct st_cpinlist { int plid; int type; /* PIN_TYPE_NET or PIN_TYPE_BUS */ char *pin_number; char *net_name; /* this is resolved at very end */ char *pin_label; NET *nets; CPINLIST *prev; CPINLIST *next; }; /* the net run connected to a pin */ struct st_net { int nid; int net_name_has_priority; char *net_name; char *pin_label; char *connected_to; /* new to replace above */ NET *prev; NET *next; }; /* By Jamil Khatib */ /* typedef struct st_chkerrs CHKERRS; */ /* Schem check struct */ struct st_schcheck { int no_errors; /* No of Errors */ int no_warnings; /* No of Warinings */ CHKERRS * sheet_errs; CHKERRS *float_nets; /* Header of the list of floating nets */ int net_errs; /* No of floating nets */ OBJECT *float_pins; /* Header of List of floating pins*/ int pin_errs; /* No of floating pins */ int net_names; /* No of mismatched net names */ }; struct st_chkerrs{ OBJECT * err_obj; CHKERRS * next; }; struct st_color { guint8 r, g, b, a; gboolean enabled; }; struct st_attrib_smob { TOPLEVEL *world; /* We need this when updating schematic */ OBJECT *attribute; }; struct st_object_smob { TOPLEVEL *world; /* We need this when updating schematic */ OBJECT *object; }; struct st_page_smob { TOPLEVEL *world; /* We need this when updating schematic */ PAGE *page; }; /* used by the rc loading mechanisms */ typedef struct { int m_val; char *m_str; } vstbl_entry; /* Used by g_rc_parse_handler() */ typedef void (*ConfigParseErrorFunc)(GError **, void *); #endif geda-gaf-1.8.2/libgeda/include/libgeda/papersizes.h0000664000175000017500000000220712220647257017047 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's Library * Copyright (C) 1998-2010 Ales Hvezda * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /* this file is no longer used */ #define MILS_PER 1000 #define BORDER 1000 /* if you change this one you must recalc correction factors */ /* perhaps we will do this in the code ! */ /* To calculate the correction factor for each: */ /* if calcaspect < required_aspect : */ /* Width_correction = (width+border) - (height+border)*1.3333 */ /* else */ /* Height_correction = ((width+border)/1.3333) - (height+border) */ #define WIDTH_A 11*MILS_PER+BORDER+667 #define HEIGHT_A 8.5*MILS_PER+BORDER #define WIDTH_B 17*MILS_PER+BORDER #define HEIGHT_B 11*MILS_PER+BORDER+1500 #define WIDTH_C 22*MILS_PER+BORDER+1000 #define HEIGHT_C 17*MILS_PER+BORDER #define WIDTH_D 34*MILS_PER+BORDER #define HEIGHT_D 22*MILS_PER+BORDER+3250 #define WIDTH_E 44*MILS_PER+BORDER+1667 #define HEIGHT_E 34*MILS_PER+BORDER geda-gaf-1.8.2/libgeda/include/libgeda/edaerrors.h0000664000175000017500000000243012220647257016646 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's Library * Copyright (C) 2011 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA */ G_BEGIN_DECLS /*! Domain for GErrors originating in libgeda. */ #define EDA_ERROR eda_error_quark () /*! Error numbers for errors originating in libgeda. */ typedef enum { EDA_ERROR_SCHEME, /* A Scheme error occurred */ EDA_ERROR_RC_TWICE, /* Attempted to read a configuration file twice */ EDA_ERROR_PARSE, /* A schematic file could not be parsed. */ EDA_ERROR_NUM_ERRORS, } EdaError; GQuark eda_error_quark (void); G_END_DECLS geda-gaf-1.8.2/libgeda/include/libgeda/defines.h0000664000175000017500000001425112220647257016301 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's Library * Copyright (C) 1998-2010 Ales Hvezda * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02111-1301 USA. */ /*! \file defines.h * \brief global libgeda definitions */ #ifndef _DEFINES_H_INCL #define _DEFINES_H_INCL /* Current schematic/symbol file format */ #define FILEFORMAT_VERSION 2 /* release version which had file format changes */ /* New file format changes after 20030921 use the above version */ /* and not these #defines anymore. */ #define VERSION_20000220 20000220 #define VERSION_20000704 20000704 #define VERSION_20020825 20020825 #define VERSION_20030921 20030921 /* 20030921 wasn't a real version, just a MinGW test version, but it is */ /* out there */ /* Set this string to something interesting to create a custom */ /* version of gEDA/gaf. This string is prepended to all messages that */ /* output the program's version output. You would set this if you are */ /* creating a specific custom version of gEDA/gaf. */ /* For example, if you set this string to "FIX-", the resulting output is: */ /* FIX-1.0.0.20060906. */ #define PREPEND_VERSION_STRING "" /* for color mechanism used in gschem */ #define MAX_COLORS 25 /* X's obsession with *64 */ #define FULL_CIRCLE 360*64 /* for show_name_value in st_objects */ #define SHOW_NAME_VALUE 0 #define SHOW_VALUE 1 #define SHOW_NAME 2 #define LEAVE_NAME_VALUE_ALONE -1 /* for visibility in st_objects */ #define INVISIBLE 0 #define VISIBLE 1 #define LEAVE_VISIBILITY_ALONE -1 /* For pin and net styles */ #define THIN 0 #define THICK 1 /* various thicknesses (in mils) */ #define LINE_WIDTH 10 #define NET_WIDTH 10 #define PIN_WIDTH_NET 10 #define BUS_WIDTH 30 #define PIN_WIDTH_BUS 30 /* various visual cue sizes (in mils) */ #define CUE_BOX_SIZE 30 #define JUNCTION_CUE_SIZE_NET 50 #define JUNCTION_CUE_SIZE_BUS 30 #define PIN_CUE_SIZE_NET 30 #define PIN_CUE_SIZE_BUS 50 /* For text location on component not found graphics */ #define NOT_FOUND_TEXT_X 100 #define NOT_FOUND_TEXT_Y 100 #undef max #define max(a,b) ((a) > (b) ? (a) : (b)) #undef min #define min(a,b) ((a) < (b) ? (a) : (b)) /* for s_clib_getfilename() */ #define OPEN_DIR 0 #define READ_DIR 1 #define CLOSE_DIR 2 #define SET_COUNT 3 /* for s_slib_search() */ #define SLIB_SEARCH_START 0 #define SLIB_SEARCH_NEXT 1 #define SLIB_SEARCH_DONE 2 /* for text alignment */ /* 2 -- 5 -- 8 */ /* | | | */ /* 1 -- 4 -- 7 */ /* | | | */ /* 0 -- 3 -- 6 */ #define LOWER_LEFT 0 #define MIDDLE_LEFT 1 #define UPPER_LEFT 2 #define LOWER_MIDDLE 3 #define MIDDLE_MIDDLE 4 #define UPPER_MIDDLE 5 #define LOWER_RIGHT 6 #define MIDDLE_RIGHT 7 #define UPPER_RIGHT 8 /* one character string used to calculate tab's width */ /* Warning: it MUST be a string. */ #define TAB_CHAR_MODEL "b" /* The conn modes for type */ #define CONN_NULL 0 #define CONN_ENDPOINT 1 #define CONN_MIDPOINT 2 /* used by world_tiles to set the size of the array */ #define MAX_TILES_X 10 #define MAX_TILES_Y 10 /* used for undo_savestate flag */ #define UNDO_ALL 0 #define UNDO_VIEWPORT_ONLY 1 /* These are for where status information goes */ #define LOG_WINDOW 0 #define STDOUT_TTY 1 #define BOTH_LOGWIN_STDOUT 2 /* list copying flags */ #define NORMAL_FLAG 0 #define SELECTION_FLAG 1 /* hierarchy loading flags */ #define HIERARCHY_NORMAL_LOAD 0 #define HIERARCHY_FORCE_LOAD 1 /* hierarchy traversing flags */ #define HIERARCHY_NODUPS (1<<0) #define HIERARCHY_POSTORDER (1<<1) #define HIERARCHY_INNERLOOP (1<<7) #define MILS_PER_INCH 1000 /* for text_output */ #define VECTOR_FONTS 0 #define PS_FONTS 1 /* for print dialog box */ #define EXTENTS 0 #define WINDOW 1 #define EXTENTS_NOMARGINS 2 /* for output-capstyle */ #define BUTT_CAP 0 #define ROUND_CAP 1 #define SQUARE_CAP 2 /* for print dialog box */ #define LANDSCAPE 0 #define PORTRAIT 1 /* for type to s_cue_output_all */ #define POSTSCRIPT 0 #define PNG 1 /* for o_net_orientation */ #define NEITHER 0 #define HORIZONTAL 1 #define VERTICAL 2 #define HORIZONTAL_ABOVE 3 #define HORIZONTAL_BELOW 4 #define VERTICAL_LEFT 5 #define VERTICAL_RIGHT 6 /* for pin_type */ #define PIN_TYPE_NET 0 #define PIN_TYPE_BUS 1 /* gnetlist: hierarchy_*_order */ #define APPEND 0 #define PREPEND 1 /* gnetlist: netlist_mode */ #define gEDA 0 #define SPICE 1 #define TANGO 2 /* gnetlist: net-naming-priority */ #define NETATTRIB_ATTRIBUTE 0 #define NETNAME_ATTRIBUTE 1 /* gschcheck: Error types */ #define NO_ERR 0 #define FLOAT_NET 1 #define FLOAT_PIN 2 #define DUP_NET_NAME 4 /* Max level of symlinks */ #define MAX_LINK_LEVEL 256 #if defined(__MINGW32__) && !defined(M_PI) #define M_PI 3.14159265358979323846 #endif /* Logs a normal message. */ #define s_log_message g_message /* Backup filename creation string */ #define AUTOSAVE_BACKUP_FILENAME_STRING "#%s#" /* These permission bits are absent on MinGW */ #ifndef S_IWGRP # define S_IWGRP 0 #endif #ifndef S_IWOTH # define S_IWOTH 0 #endif #ifndef S_IXGRP # define S_IXGRP 0 #endif #ifndef S_IXOTH # define S_IXOTH 0 #endif #ifndef S_IRWXG # define S_IRWXG 0 #endif /* Used by the rc loading mechanism */ #define RETURN_G_RC_MODE(rc, var, size) \ return g_rc_mode_general(mode, \ (rc), \ &(var), \ mode_table, \ size) #endif /* !_DEFINES_H_INCL */ geda-gaf-1.8.2/libgeda/include/libgeda/globals.h0000664000175000017500000000205012220647257016301 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 Ales Hvezda * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02111-1301 USA. */ /*! \file globals.h * \brief global libgeda variables */ #ifndef _GLOBALS_H_INCL #define _GLOBALS_H_INCL extern int do_logging; extern int logging_dest; /* Size of a tab in characters */ extern int tab_in_chars; #endif geda-gaf-1.8.2/libgeda/include/libgeda/colors.h0000664000175000017500000000417212220647257016166 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's Library * Copyright (C) 1998-2010 Ales Hvezda * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02111-1301 USA. */ /*! \file colors.h * \brief define some constants for the colors */ #ifndef _COLORS_H_INCL #define _COLORS_H_INCL #define BACKGROUND_COLOR 0 #define PIN_COLOR 1 #define NET_ENDPOINT_COLOR 2 #define GRAPHIC_COLOR 3 #define NET_COLOR 4 #define ATTRIBUTE_COLOR 5 #define LOGIC_BUBBLE_COLOR 6 #define DOTS_GRID_COLOR 7 #define DETACHED_ATTRIBUTE_COLOR 8 #define TEXT_COLOR 9 #define BUS_COLOR 10 #define SELECT_COLOR 11 #define BOUNDINGBOX_COLOR 12 #define ZOOM_BOX_COLOR 13 #define STROKE_COLOR 14 #define LOCK_COLOR 15 #define OUTPUT_BACKGROUND_COLOR 16 #define FREESTYLE1_COLOR 17 #define FREESTYLE2_COLOR 18 #define FREESTYLE3_COLOR 19 #define FREESTYLE4_COLOR 20 #define JUNCTION_COLOR 21 #define MESH_GRID_MAJOR_COLOR 22 #define MESH_GRID_MINOR_COLOR 23 #define OVERRIDE_NET_COLOR 4 #define OVERRIDE_PIN_COLOR 1 #define OVERRIDE_BUS_COLOR 10 #define DEFAULT_COLOR 3 #endif geda-gaf-1.8.2/libgeda/include/libgeda/libgedaguile.h0000664000175000017500000000406312220647257017301 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library - Scheme API * Copyright (C) 2010-2012 Peter Brett * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA */ /*! * \file libgedaguile.h * \ingroup guile_c_iface * Scheme API public declarations and definitions. * \warning Don't include from libgeda.h: should only be included * by source files that need to use the Scheme API. */ /* Initialise the Scheme API. */ void edascm_init (); /* Get the value of the #TOPLEVEL fluid. */ TOPLEVEL *edascm_c_current_toplevel (); /* Set the #TOPLEVEL fluid in the current dynamic context. */ void edascm_dynwind_toplevel (TOPLEVEL *toplevel); /* Set the current #TOPLEVEL temporarily. */ SCM edascm_c_with_toplevel (TOPLEVEL *toplevel, SCM (*func)(void *), void *user_data); /* Create a Guile value from a page structure. */ SCM edascm_from_page (PAGE *page); /* Create a Guile value from an object structure. */ SCM edascm_from_object (OBJECT *object); /* Retrieve a page structure from a Guile value. */ PAGE *edascm_to_page (SCM smob); /* Retrieve an object structure from a Guile value. */ OBJECT *edascm_to_object (SCM smob); /* Test if smob is a gEDA page. */ int edascm_is_page (SCM smob); /* Test if smob is a gEDA object. */ int edascm_is_object (SCM smob); /* Set whether a gEDA object may be garbage collected. */ void edascm_c_set_gc (SCM smob, int gc); geda-gaf-1.8.2/libgeda/include/libgeda/prototype.h0000664000175000017500000006233612220647257016740 00000000000000G_BEGIN_DECLS /* a_basic.c */ const gchar *o_file_format_header(); gchar *o_save_buffer (TOPLEVEL *toplevel, const GList *object_list); int o_save (TOPLEVEL *toplevel, const GList *object_list, const char *filename, GError **err); GList *o_read_buffer(TOPLEVEL *toplevel, GList *object_list, char *buffer, const int size, const char *name, GError **err); GList *o_read(TOPLEVEL *toplevel, GList *object_list, char *filename, GError **err); void o_scale(TOPLEVEL *toplevel, GList *list, int x_scale, int y_scale); /* f_basic.c */ gchar *f_get_autosave_filename (const gchar *filename); gboolean f_has_active_autosave (const gchar *filename, GError **err); int f_open(TOPLEVEL *toplevel, PAGE *page, const gchar *filename, GError **err); int f_open_flags(TOPLEVEL *toplevel, PAGE *page, const gchar *filename, const gint flags, GError **err); void f_close(TOPLEVEL *toplevel); int f_save(TOPLEVEL *toplevel, PAGE *page, const char *filename, GError **error); gchar *f_normalize_filename (const gchar *filename, GError **error); char *follow_symlinks (const gchar *filename, GError **error); /* f_print.c */ int f_print_file (TOPLEVEL *toplevel, PAGE *page, const char *filename); int f_print_command (TOPLEVEL *toplevel, PAGE *page, const char *command); int f_print_stream(TOPLEVEL *toplevel, PAGE *page, FILE *fp); void f_print_set_type(TOPLEVEL *toplevel, int type); /* g_basic.c */ SCM g_scm_eval_protected (SCM exp, SCM module_or_state); SCM g_scm_eval_string_protected (SCM str); SCM g_scm_c_eval_string_protected (const gchar *str); gboolean g_read_file(TOPLEVEL *toplevel, const gchar *filename, GError **err); /* g_rc.c */ SCM g_rc_mode_general(SCM scmmode, const char *rc_name, int *mode_var, const vstbl_entry *table, int table_size); gboolean g_rc_parse_system (TOPLEVEL *toplevel, const gchar *rcname, GError **err); gboolean g_rc_parse_user (TOPLEVEL *toplevel, const gchar *rcname, GError **err); gboolean g_rc_parse_local (TOPLEVEL *toplevel, const gchar *rcname, const gchar *path, GError **err); gboolean g_rc_parse_file (TOPLEVEL *toplevel, const gchar *rcfile, GError **err); void g_rc_parse(TOPLEVEL *toplevel, const gchar* pname, const gchar* rcname, const gchar* rcfile); void g_rc_parse_handler (TOPLEVEL *toplevel, const gchar *rcname, const gchar *rcfile, ConfigParseErrorFunc handler, void *user_data); SCM g_rc_rc_filename(); /* i_vars.c */ void i_vars_libgeda_set(TOPLEVEL *toplevel); void i_vars_libgeda_freenames(); /* libgeda.c */ void libgeda_init(void); /* m_basic.c */ void set_window(TOPLEVEL *toplevel, PAGE *page, int xmin, int xmax, int ymin, int ymax); void rotate_point(int x, int y, int angle, int *newx, int *newy); void rotate_point_90(int x, int y, int angle, int *newx, int *newy); void PAPERSIZEtoWORLD(int width, int height, int border, int *right, int *bottom); /* m_hatch.c */ void m_hatch_box(BOX *box, gint angle, gint pitch, GArray *lines); void m_hatch_circle(CIRCLE *circle, gint angle, gint pitch, GArray *lines); void m_hatch_path(PATH *path, gint angle, gint pitch, GArray *lines); /* m_polygon.c */ void m_polygon_append_bezier(GArray *points, BEZIER *bezier, int segments); void m_polygon_append_point(GArray *points, int x, int y); /* o_arc_basic.c */ OBJECT *o_arc_new(TOPLEVEL *toplevel, char type, int color, int x, int y, int radius, int start_angle, int end_angle); OBJECT *o_arc_copy(TOPLEVEL *toplevel, OBJECT *o_current); void o_arc_modify(TOPLEVEL *toplevel, OBJECT *object, int x, int y, int whichone); void o_arc_translate_world(TOPLEVEL *toplevel, int dx, int dy, OBJECT *object); void o_arc_rotate_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, int angle, OBJECT *object); void o_arc_mirror_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, OBJECT *object); /* o_attrib.c */ void o_attrib_add(TOPLEVEL *toplevel, OBJECT *object, OBJECT *item); gboolean o_attrib_is_attached (TOPLEVEL *toplevel, OBJECT *attrib, OBJECT *object); void o_attrib_attach(TOPLEVEL *toplevel, OBJECT *attrib, OBJECT *object, int set_color); void o_attrib_attach_list(TOPLEVEL *toplevel, GList *attr_list, OBJECT *object, int set_color); void o_attrib_detach_all(TOPLEVEL *toplevel, OBJECT *object); void o_attrib_print(GList *attributes); void o_attrib_remove(TOPLEVEL *toplevel, GList **list, OBJECT *remove); gboolean o_attrib_string_get_name_value (const gchar *string, gchar **name_ptr, gchar **value_ptr); gboolean o_attrib_get_name_value (OBJECT *attrib, gchar **name_ptr, gchar **value_ptr); GList *o_attrib_find_floating_attribs (const GList *list); char *o_attrib_search_floating_attribs_by_name (const GList *list, char *name, int counter); char *o_attrib_search_attached_attribs_by_name (OBJECT *object, char *name, int counter); char *o_attrib_search_inherited_attribs_by_name (OBJECT *object, char *name, int counter); char *o_attrib_search_object_attribs_by_name (OBJECT *object, char *name, int counter); GList *o_attrib_return_attribs(OBJECT *object); int o_attrib_is_inherited(OBJECT *attrib); void o_attrib_append_attribs_changed_hook(TOPLEVEL *toplevel, AttribsChangedFunc func, void *data); void o_attrib_emit_attribs_changed(TOPLEVEL *toplevel, OBJECT *object); void o_attrib_freeze_hooks(TOPLEVEL *toplevel, OBJECT *object); void o_attrib_thaw_hooks(TOPLEVEL *toplevel, OBJECT *object); /* o_basic.c */ int inside_region(int xmin, int ymin, int xmax, int ymax, int x, int y); void o_recalc_single_object(TOPLEVEL *toplevel, OBJECT *o_current); void o_recalc_object_glist(TOPLEVEL *toplevel, GList *object_glist); void o_set_line_options(TOPLEVEL *toplevel, OBJECT *o_current, OBJECT_END end, OBJECT_TYPE type, int width, int length, int space); gboolean o_get_line_options(OBJECT *object, OBJECT_END *end, OBJECT_TYPE *type, int *width, int *length, int *space); void o_set_fill_options(TOPLEVEL *toplevel, OBJECT *o_current, OBJECT_FILLING type, int width, int pitch1, int angle1, int pitch2, int angle2); gboolean o_get_fill_options(OBJECT *object, OBJECT_FILLING *type, int *width, int *pitch1, int *angle1, int *pitch2, int *angle2); gboolean o_get_position(TOPLEVEL *toplevel, gint *x, gint *y, OBJECT *object); void o_translate_world (TOPLEVEL *toplevel, gint dx, gint dy, OBJECT *object); void o_rotate_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, int angle, OBJECT *object); void o_mirror_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, OBJECT *object); double o_shortest_distance(OBJECT *object, int x, int y); void o_set_color(TOPLEVEL *toplevel, OBJECT *object, int color); PAGE *o_get_page (TOPLEVEL *toplevel, OBJECT *object); OBJECT *o_get_parent (TOPLEVEL *toplevel, OBJECT *object); void o_add_change_notify(TOPLEVEL *toplevel, ChangeNotifyFunc pre_change_func, ChangeNotifyFunc change_func, void *user_data); void o_remove_change_notify(TOPLEVEL *toplevel, ChangeNotifyFunc pre_change_func, ChangeNotifyFunc change_func, void *user_data); gboolean o_is_visible (TOPLEVEL *toplevel, OBJECT *object); void o_set_visibility (TOPLEVEL *toplevel, OBJECT *object, int visibility); /* o_box_basic.c */ OBJECT *o_box_new(TOPLEVEL *toplevel, char type, int color, int x1, int y1, int x2, int y2); OBJECT *o_box_copy(TOPLEVEL *toplevel, OBJECT *o_current); void o_box_modify_all (TOPLEVEL *toplevel, OBJECT *object, int x1, int y1, int x2, int y2); void o_box_modify(TOPLEVEL *toplevel, OBJECT *object, int x, int y, int whichone); void o_box_translate_world(TOPLEVEL *toplevel, int dx, int dy, OBJECT *object); void o_box_rotate_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, int angle, OBJECT *object); void o_box_mirror_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, OBJECT *object); /* o_bus_basic.c */ OBJECT *o_bus_new(TOPLEVEL *toplevel, char type, int color, int x1, int y1, int x2, int y2, int bus_ripper_direction); void o_bus_translate_world(TOPLEVEL *toplevel, int dx, int dy, OBJECT *object); OBJECT *o_bus_copy(TOPLEVEL *toplevel, OBJECT *o_current); void o_bus_rotate_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, int angle, OBJECT *object); void o_bus_mirror_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, OBJECT *object); int o_bus_orientation(OBJECT *object); void o_bus_consolidate(TOPLEVEL *toplevel); void o_bus_modify(TOPLEVEL *toplevel, OBJECT *object, int x, int y, int whichone); /* o_circle_basic.c */ int dist(int x1, int y1, int x2, int y2); OBJECT *o_circle_new(TOPLEVEL *toplevel, char type, int color, int x, int y, int radius); OBJECT *o_circle_copy(TOPLEVEL *toplevel, OBJECT *o_current); void o_circle_modify(TOPLEVEL *toplevel, OBJECT *object, int x, int y, int whichone); void o_circle_translate_world(TOPLEVEL *toplevel, int dx, int dy, OBJECT *object); void o_circle_rotate_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, int angle, OBJECT *object); void o_circle_mirror_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, OBJECT *object); /* o_complex_basic.c */ int world_get_single_object_bounds(TOPLEVEL *toplevel, OBJECT *o_current, int *rleft, int *rtop, int *rright, int *rbottom); int world_get_object_glist_bounds(TOPLEVEL *toplevel, const GList *o_list, int *left, int *top, int *right, int *bottom); int o_complex_is_embedded(OBJECT *o_current); GList *o_complex_promote_attribs (TOPLEVEL *toplevel, OBJECT *object); OBJECT *o_complex_new(TOPLEVEL *toplevel, char type, int color, int x, int y, int angle, int mirror, const CLibSymbol *clib_sym, const gchar *basename, int selectable); OBJECT *o_complex_new_embedded(TOPLEVEL *toplevel, char type, int color, int x, int y, int angle, int mirror, const gchar *basename, int selectable); void o_complex_set_filename(TOPLEVEL *toplevel, const char *basename); void o_complex_translate_world(TOPLEVEL *toplevel, int dx, int dy, OBJECT *object); OBJECT *o_complex_copy(TOPLEVEL *toplevel, OBJECT *o_current); void o_complex_rotate_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, int angle, OBJECT *object); void o_complex_mirror_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, OBJECT *object); OBJECT *o_complex_find_pin_by_attribute(OBJECT *object, char *name, char *wanted_value); void o_complex_check_symversion(TOPLEVEL* toplevel, OBJECT* object); /* o_embed.c */ void o_embed(TOPLEVEL *toplevel, OBJECT *o_current); void o_unembed(TOPLEVEL *toplevel, OBJECT *o_current); /* o_line_basic.c */ OBJECT *o_line_new(TOPLEVEL *toplevel, char type, int color, int x1, int y1, int x2, int y2); OBJECT *o_line_copy(TOPLEVEL *toplevel, OBJECT *o_current); void o_line_modify(TOPLEVEL *toplevel, OBJECT *object, int x, int y, int whichone); void o_line_translate_world(TOPLEVEL *toplevel, int dx, int dy, OBJECT *object); void o_line_rotate_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, int angle, OBJECT *object); void o_line_mirror_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, OBJECT *object); void o_line_scale_world(TOPLEVEL *toplevel, int x_scale, int y_scale, OBJECT *object); double o_line_length(OBJECT *object); /* o_list.c */ OBJECT *o_object_copy(TOPLEVEL *toplevel, OBJECT *selected); GList *o_glist_copy_all(TOPLEVEL *toplevel, const GList *src_list, GList *dest_list); void o_glist_translate_world(TOPLEVEL *toplevel, int dx, int dy, const GList *list); void o_glist_rotate_world(TOPLEVEL *toplevel, int x, int y, int angle, const GList *list); void o_glist_mirror_world(TOPLEVEL *toplevel, int x, int y, const GList *list); void o_glist_set_color(TOPLEVEL *toplevel, const GList *list, int color); /* o_net_basic.c */ OBJECT *o_net_new(TOPLEVEL *toplevel, char type, int color, int x1, int y1, int x2, int y2); void o_net_translate_world(TOPLEVEL *toplevel, int dx, int dy, OBJECT *object); OBJECT *o_net_copy(TOPLEVEL *toplevel, OBJECT *o_current); void o_net_rotate_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, int angle, OBJECT *object); void o_net_mirror_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, OBJECT *object); int o_net_orientation(OBJECT *object); void o_net_consolidate(TOPLEVEL *toplevel, PAGE *page); void o_net_modify(TOPLEVEL *toplevel, OBJECT *object, int x, int y, int whichone); void o_net_refresh_conn_cache(TOPLEVEL *toplevel, OBJECT *object); gboolean o_net_is_fully_connected(TOPLEVEL *toplevel, OBJECT *object); /* o_path_basic.c */ OBJECT *o_path_new(TOPLEVEL *toplevel, char type, int color, const char *path_string); OBJECT *o_path_copy(TOPLEVEL *toplevel, OBJECT *o_current); void o_path_modify(TOPLEVEL *toplevel, OBJECT *object, int x, int y, int whichone); void o_path_translate_world(TOPLEVEL *toplevel, int x, int y, OBJECT *object); void o_path_rotate_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, int angle, OBJECT *object); void o_path_mirror_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, OBJECT *object); /* o_picture.c */ OBJECT *o_picture_new(TOPLEVEL *toplevel, const gchar *file_content, gsize file_length, const gchar *filename, char type, int x1, int y1, int x2, int y2, int angle, int mirrored, int embedded) G_GNUC_WARN_UNUSED_RESULT; double o_picture_get_ratio (TOPLEVEL *toplevel, OBJECT *object); void o_picture_modify(TOPLEVEL *toplevel, OBJECT *object, int x, int y, int whichone); void o_picture_modify_all (TOPLEVEL *toplevel, OBJECT *object, int x1, int y1, int x2, int y2); void o_picture_rotate_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, int angle,OBJECT *object); void o_picture_mirror_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, OBJECT *object); void o_picture_translate_world(TOPLEVEL *toplevel, int dx, int dy, OBJECT *object); OBJECT *o_picture_copy(TOPLEVEL *toplevel, OBJECT *o_current) G_GNUC_WARN_UNUSED_RESULT; gboolean o_picture_is_embedded (TOPLEVEL *toplevel, OBJECT *object); GdkPixbuf *o_picture_get_pixbuf (TOPLEVEL *toplevel, OBJECT *object) G_GNUC_WARN_UNUSED_RESULT; const char *o_picture_get_data (TOPLEVEL *toplevel, OBJECT *object, size_t *len); gboolean o_picture_set_from_buffer (TOPLEVEL *toplevel, OBJECT *object, const gchar *filename, const gchar *data, size_t len, GError **error); gboolean o_picture_set_from_file (TOPLEVEL *toplevel, OBJECT *object, const gchar *filename, GError **error); const gchar *o_picture_get_filename (TOPLEVEL *toplevel, OBJECT *object); GdkPixbuf *o_picture_get_fallback_pixbuf (TOPLEVEL *toplevel) G_GNUC_WARN_UNUSED_RESULT; /* o_pin_basic.c */ OBJECT *o_pin_new(TOPLEVEL *toplevel, char type, int color, int x1, int y1, int x2, int y2, int pin_type, int whichend); void o_pin_translate_world(TOPLEVEL *toplevel, int dx, int dy, OBJECT *object); OBJECT *o_pin_copy(TOPLEVEL *toplevel, OBJECT *o_current); void o_pin_rotate_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, int angle, OBJECT *object); void o_pin_mirror_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, OBJECT *object); void o_pin_modify(TOPLEVEL *toplevel, OBJECT *object, int x, int y, int whichone); void o_pin_update_whichend(TOPLEVEL *toplevel, GList *object_list, int num_pins); void o_pin_set_type(TOPLEVEL *toplevel, OBJECT *o_current, int pin_type); /* o_selection.c */ SELECTION *o_selection_new( void ); void o_selection_add(TOPLEVEL *toplevel, SELECTION *selection, OBJECT *o_selected); void o_selection_print_all(const SELECTION *selection); void o_selection_remove(TOPLEVEL *toplevel, SELECTION *selection, OBJECT *o_selected); void o_selection_select(TOPLEVEL *toplevel, OBJECT *object) G_GNUC_DEPRECATED; void o_selection_unselect(TOPLEVEL *toplevel, OBJECT *object) G_GNUC_DEPRECATED; /* o_text_basic.c */ int o_text_num_lines(const char *string); OBJECT *o_text_new(TOPLEVEL *toplevel, char type, int color, int x, int y, int alignment, int angle, const char *string, int size, int visibility, int show_name_value); void o_text_recreate(TOPLEVEL *toplevel, OBJECT *o_current); void o_text_translate_world(TOPLEVEL *toplevel, int dx, int dy, OBJECT *o_current); OBJECT *o_text_copy(TOPLEVEL *toplevel, OBJECT *o_current); void o_text_rotate_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, int angle, OBJECT *object); void o_text_mirror_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, OBJECT *object); void o_text_set_string(TOPLEVEL *toplevel, OBJECT *obj, const gchar *new_string); const gchar *o_text_get_string(TOPLEVEL *toplevel, OBJECT *obj); void o_text_set_rendered_bounds_func (TOPLEVEL *toplevel, RenderedBoundsFunc func, void *user_data); double o_text_get_font_size_in_points(TOPLEVEL *toplevel, OBJECT *object); /* s_attrib.c */ int s_attrib_add_entry(char *new_attrib); void s_attrib_print(void); int s_attrib_uniq(char *name); void s_attrib_free(void); void s_attrib_init(void); char *s_attrib_get(int counter); /* s_basic.c */ OBJECT *s_basic_init_object(OBJECT *new_node, int type, char const *name); OBJECT *s_basic_new_object(int type, char const *prefix); void print_struct_forw(GList *list); void print_struct(OBJECT *ptr); void s_delete_object(TOPLEVEL *toplevel, OBJECT *o_current); void s_delete_object_glist(TOPLEVEL *toplevel, GList *list); void s_object_weak_ref (OBJECT *object, void (*notify_func)(void *, void *), void *user_data); void s_object_weak_unref (OBJECT *object, void (*notify_func)(void *, void *), void *user_data); void s_object_add_weak_ptr (OBJECT *object, void *weak_pointer_loc); void s_object_remove_weak_ptr (OBJECT *object, void *weak_pointer_loc); char *remove_nl(char *string); char *remove_last_nl(char *string); gchar *s_expand_env_variables (const gchar *string); const char *s_path_sys_data (); const char *s_path_sys_config (); const char *s_path_user_config (); /* s_clib.c */ void s_clib_free (void); GList *s_clib_get_sources (const gboolean sorted); const CLibSource *s_clib_get_source_by_name (const gchar *name); void s_clib_refresh (); const CLibSource *s_clib_add_directory (const gchar *directory, const gchar *name); const CLibSource *s_clib_add_command (const gchar *list_cmd, const gchar *get_cmd, const gchar *name); const CLibSource *s_clib_add_scm (SCM listfunc, SCM getfunc, const gchar *name); const gchar *s_clib_source_get_name (const CLibSource *source); GList *s_clib_source_get_symbols (const CLibSource *source); const gchar *s_clib_symbol_get_name (const CLibSymbol *symbol); gchar *s_clib_symbol_get_filename (const CLibSymbol *symbol); const CLibSource *s_clib_symbol_get_source (const CLibSymbol *symbol); gchar *s_clib_symbol_get_data (const CLibSymbol *symbol); GList *s_clib_search (const gchar *pattern, const CLibSearchMode mode); void s_clib_flush_search_cache (); void s_clib_flush_symbol_cache (); void s_clib_symbol_invalidate_data (const CLibSymbol *symbol); const CLibSymbol *s_clib_get_symbol_by_name (const gchar *name); gchar *s_clib_symbol_get_data_by_name (const gchar *name); GList *s_toplevel_get_symbols (const TOPLEVEL *toplevel); /* s_color.c */ void s_color_map_defaults (COLOR *map); gboolean s_color_rgba_decode (const gchar *rgba, guchar *r, guchar *g, guchar *b, guchar *a); gchar *s_color_rgba_encode (guint8 r, guint8 g, guint8 b, guint8 a); SCM s_color_map_to_scm (const COLOR *map); void s_color_map_from_scm (COLOR *map, SCM lst, const char *scheme_proc_name); /* s_conn.c */ void s_conn_remove_object(TOPLEVEL *toplevel, OBJECT *to_remove); void s_conn_update_object(TOPLEVEL *toplevel, OBJECT *object); int s_conn_net_search(OBJECT* new_net, int whichone, GList * conn_list); GList *s_conn_return_others(GList *input_list, OBJECT *object); void s_conn_append_conns_changed_hook(TOPLEVEL *toplevel, ConnsChangedFunc func, void *data); void s_conn_emit_conns_changed(TOPLEVEL *toplevel, OBJECT *object); void s_conn_freeze_hooks(TOPLEVEL *toplevel, OBJECT *object); void s_conn_thaw_hooks(TOPLEVEL *toplevel, OBJECT *object); /* s_cue.c */ void s_cue_postscript_fillbox(TOPLEVEL *toplevel, FILE *fp, int x, int y); void s_cue_postscript_junction (TOPLEVEL *toplevel, FILE *fp, int x, int y, int bus_involved); void s_cue_output_all(TOPLEVEL *toplevel, const GList *obj_list, FILE *fp, int type); void s_cue_output_lowlevel(TOPLEVEL *toplevel, OBJECT *object, int whichone, FILE *fp, int output_type); void s_cue_output_lowlevel_midpoints(TOPLEVEL *toplevel, OBJECT *object, FILE *fp, int output_type); void s_cue_output_single(TOPLEVEL *toplevel, OBJECT *object, FILE *fp, int type); /* s_hierarchy.c */ PAGE *s_hierarchy_down_schematic_single(TOPLEVEL *toplevel, const gchar *filename, PAGE *parent, int page_control, int flag); void s_hierarchy_down_symbol (TOPLEVEL *toplevel, const CLibSymbol *symbol, PAGE *parent); PAGE *s_hierarchy_find_up_page(GedaPageList *page_list, PAGE *current_page); GList* s_hierarchy_traversepages(TOPLEVEL *toplevel, PAGE *p_current, gint flags); gint s_hierarchy_print_page(PAGE *p_current, void * data); PAGE *s_hierarchy_find_prev_page(GedaPageList *page_list, PAGE *current_page); PAGE *s_hierarchy_find_next_page(GedaPageList *page_list, PAGE *current_page); /* s_log.c */ void s_log_init (const gchar *filename); void s_log_close (void); gchar *s_log_read (void); /* s_menu.c */ int s_menu_return_num(void); SCM s_menu_return_entry(int index, char **menu_name); int s_menu_add_entry(char *new_menu, SCM menu_items); void s_menu_print(void); void s_menu_free(void); void s_menu_init(void); /* s_page.c */ PAGE *s_page_new (TOPLEVEL *toplevel, const gchar *filename); void s_page_delete (TOPLEVEL *toplevel, PAGE *page); void s_page_delete_list(TOPLEVEL *toplevel); void s_page_weak_ref (PAGE *page, void (*notify_func)(void *, void *), void *user_data); void s_page_weak_unref (PAGE *page, void (*notify_func)(void *, void *), void *user_data); void s_page_add_weak_ptr (PAGE *page, void *weak_pointer_loc); void s_page_remove_weak_ptr (PAGE *page, void *weak_pointer_loc); void s_page_goto (TOPLEVEL *toplevel, PAGE *p_new); PAGE *s_page_search (TOPLEVEL *toplevel, const gchar *filename); PAGE *s_page_search_by_page_id (GedaPageList *list, int pid); void s_page_print_all (TOPLEVEL *toplevel); gint s_page_save_all (TOPLEVEL *toplevel); gboolean s_page_check_changed (GedaPageList *list); void s_page_clear_changed (GedaPageList *list); void s_page_autosave_init(TOPLEVEL *toplevel); gint s_page_autosave (TOPLEVEL *toplevel); void s_page_append (TOPLEVEL *toplevel, PAGE *page, OBJECT *object); void s_page_append_list (TOPLEVEL *toplevel, PAGE *page, GList *obj_list); void s_page_remove (TOPLEVEL *toplevel, PAGE *page, OBJECT *object); void s_page_replace (TOPLEVEL *toplevel, PAGE *page, OBJECT *object1, OBJECT *object2); void s_page_delete_objects (TOPLEVEL *toplevel, PAGE *page); const GList *s_page_objects (PAGE *page); GList *s_page_objects_in_region (TOPLEVEL *toplevel, PAGE *page, int min_x, int min_y, int max_x, int max_y); GList *s_page_objects_in_regions (TOPLEVEL *toplevel, PAGE *page, BOX *rects, int n_rects); /* s_papersizes.c */ int s_papersizes_add_entry(char *new_papersize, int width, int height); void s_papersizes_print(void); int s_papersizes_uniq(char *name); void s_papersizes_free(void); void s_papersizes_init(void); char *s_papersizes_get(int counter); void s_papersizes_get_size(char *string, int *width, int *height); /* s_path.c */ PATH *s_path_parse (const char *path_str); char *s_path_string_from_path (const PATH *path); /* s_toplevel.c */ void s_toplevel_append_new_hook (NewToplevelFunc func, void *user_data); TOPLEVEL *s_toplevel_new (void); void s_toplevel_delete (TOPLEVEL *toplevel); void s_toplevel_weak_ref (TOPLEVEL *toplevel, void (*notify_func)(void *, void *), void *user_data); void s_toplevel_weak_unref (TOPLEVEL *toplevel, void (*notify_func)(void *, void *), void *user_data); void s_toplevel_add_weak_ptr (TOPLEVEL *toplevel, void *weak_pointer_loc); void s_toplevel_remove_weak_ptr (TOPLEVEL *toplevel, void *weak_pointer_loc); /* s_slib.c */ int s_slib_add_entry(char *new_path); int s_slib_search_for_dirname(char *dir_name); char *s_slib_search_dirs(const char *basename); char *s_slib_search_lowlevel(const char *basename); char *s_slib_getbasename(const char *rawname); char *s_slib_search(const char *filename, int flag); char *s_slib_search_single(const char *filename); void s_slib_free(void); void s_slib_init(void); char *s_slib_getdir(int index); char *s_slib_getfiles(char *directory, int flag); void s_slib_print(void); int s_slib_uniq(char *path); void s_slib_print_dirs(void); /* s_slot.c */ char *s_slot_search_slot(OBJECT *object, OBJECT **return_found); void s_slot_update_object(TOPLEVEL *toplevel, OBJECT *object); /* s_tile.c */ void s_tile_update_object(TOPLEVEL *toplevel, OBJECT *object); GList *s_tile_get_objectlists(TOPLEVEL *toplevel, PAGE *p_current, int world_x1, int world_y1, int world_x2, int world_y2); /* s_undo.c */ UNDO *s_undo_return_tail(UNDO *head); UNDO *s_undo_return_head(UNDO *tail); UNDO *s_undo_new_head(void); void s_undo_destroy_head(UNDO *u_head); UNDO *s_undo_add(UNDO *head, int type, char *filename, GList *object_list, int left, int top, int right, int bottom, int page_control, int up); void s_undo_print_all(UNDO *head); void s_undo_destroy_all(TOPLEVEL *toplevel, UNDO *head); void s_undo_remove(TOPLEVEL *toplevel, UNDO *head, UNDO *u_tos); void s_undo_remove_rest(TOPLEVEL *toplevel, UNDO *head); int s_undo_levels(UNDO *head); void s_undo_init(PAGE *p_current); void s_undo_free_all(TOPLEVEL *toplevel, PAGE *p_current); /* u_basic.c */ char *u_basic_breakup_string(char *string, char delimiter, int count); G_END_DECLS geda-gaf-1.8.2/libgeda/include/libgeda/o_types.h0000664000175000017500000000307412210655251016337 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's Library * Copyright (C) 1998-2010 Ales Hvezda * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02111-1301 USA. */ #ifndef _O_TYPES_H_INCL #define _O_TYPES_H_INCL /* Object types */ #define OBJ_LINE 'L' #define OBJ_PATH 'H' #define OBJ_BOX 'B' #define OBJ_PICTURE 'G' #define OBJ_CIRCLE 'V' #define OBJ_NET 'N' #define OBJ_BUS 'U' #define OBJ_COMPLEX 'C' #define OBJ_TEXT 'T' #define OBJ_PIN 'P' #define OBJ_ARC 'A' #define OBJ_PLACEHOLDER 'X' /* added 1.19.2005 by SDB to prevent * deletion of unfound symbol files */ #define STARTATTACH_ATTR '{' #define ENDATTACH_ATTR '}' #define START_EMBEDDED '[' #define END_EMBEDDED ']' /* font stuff */ #define INFO_FONT 'F' #define VERSION_CHAR 'v' /* misc stuff */ #define COMMENT '#' #endif geda-gaf-1.8.2/libgeda/include/libgeda/geda_list.h0000664000175000017500000000445112207374140016611 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 2007-2010 Peter Clifton * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02111-1301 USA. */ #ifndef __GEDA_LIST_H__ #define __GEDA_LIST_H__ G_BEGIN_DECLS #define GEDA_TYPE_LIST (geda_list_get_type()) #define GEDA_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GEDA_TYPE_LIST, GedaList)) #define GEDA_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GEDA_TYPE_LIST, GedaListClass)) #define GEDA_IS_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GEDA_TYPE_LIST)) #define GEDA_IS_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GEDA_TYPE_LIST)) #define GEDA_LIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GEDA_TYPE_LIST, GedaListClass)) typedef struct _GedaList GedaList; typedef struct _GedaListClass GedaListClass; struct _GedaList { GObject parent; GList *glist; }; struct _GedaListClass { GObjectClass parent; }; GType geda_list_get_type (void); /* It would be nice to add const qualifiers to some of these, but GLib * is buggy in this respect, and doesn't have const where necessary. */ GedaList *geda_list_new( void ); void geda_list_add( GedaList *list, gpointer item ); void geda_list_add_glist( GedaList *list, GList *items ); void geda_list_remove( GedaList *list, gpointer item ); /*void geda_list_remove_glist( GedaList *list, GList *items ); */ /* Undemanded as yet */ void geda_list_remove_all( GedaList *list ); /*const GList *geda_list_get_glist( GedaList *list ); */ #define geda_list_get_glist(list) (list->glist) G_END_DECLS #endif /* __GEDA_LIST_H__ */ geda-gaf-1.8.2/libgeda/include/i_vars_priv.h0000664000175000017500000000065012220647257015616 00000000000000 extern int default_init_right; extern int default_init_bottom; extern char *default_untitled_name; extern char *default_bitmap_directory; extern char *default_bus_ripper_symname; extern char *default_postscript_prolog; extern GList *default_always_promote_attributes; extern int default_attribute_promotion; extern int default_promote_invisible; extern int default_keep_invisible; extern int default_make_backup_files; geda-gaf-1.8.2/libgeda/include/Makefile.in0000664000175000017500000005156312220655725015177 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = libgeda/include DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(libgedainclude_HEADERS) $(noinst_HEADERS) ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(libgedaincludedir)" HEADERS = $(libgedainclude_HEADERS) $(noinst_HEADERS) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ libgedaincludedir = $(includedir)/libgeda libgedainclude_HEADERS = \ libgeda/colors.h \ libgeda/defines.h \ libgeda/edaerrors.h \ libgeda/funcs.h \ libgeda/geda_list.h \ libgeda/globals.h \ libgeda/libgeda.h \ libgeda/o_types.h \ libgeda/papersizes.h \ libgeda/prototype.h \ libgeda/libgedaguile.h \ libgeda/struct.h noinst_HEADERS = \ gettext_priv.h \ i_vars_priv.h \ libgeda_priv.h \ prototype_priv.h \ struct_priv.h \ libgedaguile_priv.h MOSTLYCLEANFILES = *.log core FILE *~ CLEANFILES = *.log core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libgeda/include/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu libgeda/include/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-libgedaincludeHEADERS: $(libgedainclude_HEADERS) @$(NORMAL_INSTALL) @list='$(libgedainclude_HEADERS)'; test -n "$(libgedaincludedir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(libgedaincludedir)'"; \ $(MKDIR_P) "$(DESTDIR)$(libgedaincludedir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(libgedaincludedir)'"; \ $(INSTALL_HEADER) $$files "$(DESTDIR)$(libgedaincludedir)" || exit $$?; \ done uninstall-libgedaincludeHEADERS: @$(NORMAL_UNINSTALL) @list='$(libgedainclude_HEADERS)'; test -n "$(libgedaincludedir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(libgedaincludedir)'; $(am__uninstall_files_from_dir) ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(HEADERS) installdirs: for dir in "$(DESTDIR)$(libgedaincludedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-libgedaincludeHEADERS install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-libgedaincludeHEADERS .MAKE: install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ clean-libtool cscopelist-am ctags ctags-am distclean \ distclean-generic distclean-libtool distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-libgedaincludeHEADERS \ install-man install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags tags-am uninstall uninstall-am \ uninstall-libgedaincludeHEADERS # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/libgeda/include/libgeda_priv.h0000664000175000017500000000111012220647257015712 00000000000000/* System headers which libgeda headers rely on */ #include #include #include #include #include /* Public libgeda headers */ #include "defines.h" #include "struct.h" #include "globals.h" #include "o_types.h" #include "colors.h" #include "papersizes.h" #include "prototype.h" #include "funcs.h" #include "edaerrors.h" #include "geda_list.h" /* Private libgeda headers */ #include "struct_priv.h" #include "prototype_priv.h" #include "i_vars_priv.h" /* Gettext translation */ #include "gettext_priv.h" geda-gaf-1.8.2/libgeda/include/prototype_priv.h0000664000175000017500000004144512220647257016407 00000000000000/* a_basic.c */ gchar *o_save_objects(TOPLEVEL *toplevel, const GList *object_list, gboolean save_attribs); /* f_print.c */ void f_print_set_line_width(FILE *fp, int width); int f_print_set_color(TOPLEVEL *toplevel, FILE *fp, int color); int f_print_header(TOPLEVEL *toplevel, PAGE *page, FILE *fp, int paper_size_x, int paper_size_y, int eps); void f_print_footer(FILE *fp); void f_print_objects(TOPLEVEL *toplevel, FILE *fp, const GList *obj_list, int start_x, int start_y, float scale, int unicode_count, gunichar *unicode_table); int f_print_initialize_glyph_table(void); /* g_rc.c */ int vstbl_lookup_str(const vstbl_entry *table, int size, const char *str); int vstbl_get_val(const vstbl_entry *table, int index); SCM g_rc_component_library(SCM path, SCM name); SCM g_rc_component_library_command (SCM listcmd, SCM getcmd, SCM name); SCM g_rc_component_library_funcs (SCM listfunc, SCM getfunc, SCM name); SCM g_rc_source_library(SCM path); SCM g_rc_source_library_search(SCM path); SCM g_rc_world_size(SCM width, SCM height, SCM border); SCM g_rc_reset_component_library(void); SCM g_rc_reset_source_library(void); SCM g_rc_untitled_name(SCM name); SCM g_rc_bitmap_directory(SCM path); SCM g_rc_scheme_directory(SCM path); SCM g_rc_bus_ripper_symname(SCM scmsymname); SCM g_rc_postscript_prolog(SCM scmsymname); SCM g_rc_map_font_character_to_file(SCM character_param, SCM file_param); SCM g_rc_attribute_promotion(SCM mode); SCM g_rc_promote_invisible(SCM mode); SCM g_rc_keep_invisible(SCM mode); SCM g_rc_always_promote_attributes(SCM scmsymname); SCM g_rc_make_backup_files(SCM mode); SCM g_rc_print_color_map (SCM scm_map); /* g_register.c */ void g_register_libgeda_funcs(void); void g_register_libgeda_dirs (void); /* m_bounds.c */ void m_bounds_init(BOUNDS *bounds); void m_bounds_of_points(BOUNDS *bounds, sPOINT points[], gint count); /* m_box.c */ double m_box_shortest_distance (BOX *box, int x, int y, int solid); /* m_circle.c */ double m_circle_shortest_distance (CIRCLE *circle, int x, int y, int solid); /* m_hatch.c */ void m_hatch_polygon(GArray *points, gint angle, gint pitch, GArray *lines); /* m_line.c */ double m_line_shortest_distance (LINE *circle, int x, int y); /* m_polygon.c */ gboolean m_polygon_interior_point(GArray *points, int x, int y); double m_polygon_shortest_distance(GArray *points, int x, int y, gboolean closed); /* m_transform.c */ void m_transform_combine(TRANSFORM *result, TRANSFORM *a, TRANSFORM *b ); void m_transform_init(TRANSFORM *transform); void m_transform_invert(TRANSFORM *transform, TRANSFORM *inverse); void m_transform_line(TRANSFORM *transform, LINE *line ); void m_transform_lines(TRANSFORM *transform, GArray *lines); void m_transform_point(TRANSFORM *transform, gint *x, gint *y); void m_transform_points(TRANSFORM *transform, GArray *points); void m_transform_rotate(TRANSFORM *transform, gdouble angle); void m_transform_scale(TRANSFORM *transform, gdouble factor); void m_transform_translate(TRANSFORM *transform, gdouble dx, gdouble dy); /* o_arc_basic.c */ OBJECT *o_arc_read(TOPLEVEL *toplevel, const char buf[], unsigned int release_ver, unsigned int fileformat_ver, GError **err); char *o_arc_save(TOPLEVEL *toplevel, OBJECT *object); void o_arc_print(TOPLEVEL *toplevel, FILE *fp, OBJECT *o_current, int origin_x, int origin_y); void o_arc_print_solid(TOPLEVEL *toplevel, FILE *fp, int x, int y, int radius, int angle1, int angle2, int color, int arc_width, int length, int space, int origin_x, int origin_y); void o_arc_print_dotted(TOPLEVEL *toplevel, FILE *fp, int x, int y, int radius, int angle1, int angle2, int color, int arc_width, int length, int space, int origin_x, int origin_y); void o_arc_print_dashed(TOPLEVEL *toplevel, FILE *fp, int x, int y, int radius, int angle1, int angle2, int color, int arc_width, int length, int space, int origin_x, int origin_y); void o_arc_print_center(TOPLEVEL *toplevel, FILE *fp, int x, int y, int radius, int angle1, int angle2, int color, int arc_width, int length, int space, int origin_x, int origin_y); void o_arc_print_phantom(TOPLEVEL *toplevel, FILE *fp, int x, int y, int radius, int angle1, int angle2, int color, int arc_width, int length, int space, int origin_x, int origin_y); double o_arc_shortest_distance(OBJECT *object, int x, int y, int force_soild); gboolean o_arc_within_sweep(ARC *arc, gint x, gint y); void world_get_arc_bounds(TOPLEVEL *toplevel, OBJECT *object, int *left, int *top, int *right, int *bottom); gboolean o_arc_get_position(TOPLEVEL *toplevel, gint *x, gint *y, OBJECT *object); void o_arc_recalc(TOPLEVEL *toplevel, OBJECT *o_current); /* o_attrib.c */ GList *o_read_attribs(TOPLEVEL *toplevel, OBJECT *object_to_get_attribs, TextBuffer *tb, unsigned int release_ver, unsigned int fileformat_ver, GError **err); OBJECT *o_attrib_find_attrib_by_name(const GList *list, char *name, int count); /* o_basic.c */ void o_bounds_invalidate(TOPLEVEL *toplevel, OBJECT *object); double o_shortest_distance_full(OBJECT *object, int x, int y, int force_solid); PAGE *o_get_page_compat (TOPLEVEL *toplevel, OBJECT *object) G_GNUC_DEPRECATED; void o_emit_pre_change_notify(TOPLEVEL *toplevel, OBJECT *object); void o_emit_change_notify(TOPLEVEL *toplevel, OBJECT *object); /* o_box_basic.c */ OBJECT *o_box_read(TOPLEVEL *toplevel, const char buf[], unsigned int release_ver, unsigned int fileformat_ver, GError **err); char *o_box_save(TOPLEVEL *toplevel, OBJECT *object); void o_box_print(TOPLEVEL *toplevel, FILE *fp, OBJECT *o_current, int origin_x, int origin_y); void o_box_print_solid(TOPLEVEL *toplevel, FILE *fp, int x, int y, int width, int height, int color, int line_width, int length, int space, int origin_x, int origin_y); void o_box_print_dotted(TOPLEVEL *toplevel, FILE *fp, int x, int y, int width, int height, int color, int line_width, int length, int space, int origin_x, int origin_y); void o_box_print_dashed(TOPLEVEL *toplevel, FILE *fp, int x, int y, int width, int height, int color, int line_width, int length, int space, int origin_x, int origin_y); void o_box_print_center(TOPLEVEL *toplevel, FILE *fp, int x, int y, int width, int height, int color, int line_width, int length, int space, int origin_x, int origin_y); void o_box_print_phantom(TOPLEVEL *toplevel, FILE *fp, int x, int y, int width, int height, int color, int line_width, int length, int space, int origin_x, int origin_y); void o_box_print_filled(TOPLEVEL *toplevel, FILE *fp, int x, int y, int width, int height, int color, int fill_width, int angle1, int pitch1, int angle2, int pitch2, int origin_x, int origin_y); void o_box_print_mesh(TOPLEVEL *toplevel, FILE *fp, int x, int y, int width, int height, int color, int fill_width, int angle1, int pitch1, int angle2, int pitch2, int origin_x, int origin_y); void o_box_print_hatch(TOPLEVEL *toplevel, FILE *fp, int x, int y, int width, int height, int color, int fill_width, int angle1, int pitch1, int angle2, int pitch2, int origin_x, int origin_y); double o_box_shortest_distance(OBJECT *object, int x, int y, int force_soild); void world_get_box_bounds(TOPLEVEL *toplevel, OBJECT *object, int *left, int *top, int *right, int *bottom); gboolean o_box_get_position(TOPLEVEL *toplevel, gint *x, gint *y, OBJECT *object); void o_box_recalc(TOPLEVEL *toplevel, OBJECT *o_current); /* o_bus_basic.c */ OBJECT *o_bus_read(TOPLEVEL *toplevel, const char buf[], unsigned int release_ver, unsigned int fileformat_ver, GError **err); char *o_bus_save(TOPLEVEL *toplevel, OBJECT *object); void o_bus_print(TOPLEVEL *toplevel, FILE *fp, OBJECT *o_current, int origin_x, int origin_y); void world_get_bus_bounds(TOPLEVEL *toplevel, OBJECT *object, int *left, int *top, int *right, int *bottom); gboolean o_bus_get_position(TOPLEVEL *toplevel, gint *x, gint *y, OBJECT *object); void o_bus_recalc(TOPLEVEL *toplevel, OBJECT *o_current); /* o_circle_basic.c */ OBJECT *o_circle_read(TOPLEVEL *toplevel, const char buf[], unsigned int release_ver, unsigned int fileformat_ver, GError **err); char *o_circle_save(TOPLEVEL *toplevel, OBJECT *object); void o_circle_print(TOPLEVEL *toplevel, FILE *fp, OBJECT *o_current, int origin_x, int origin_y); void o_circle_print_solid(TOPLEVEL *toplevel, FILE *fp, int x, int y, int radius, int color, int circle_width, int length, int space, int origin_x, int origin_y); void o_circle_print_dotted(TOPLEVEL *toplevel, FILE *fp, int x, int y, int radius, int color, int circle_width, int length, int space, int origin_x, int origin_y); void o_circle_print_dashed(TOPLEVEL *toplevel, FILE *fp, int x, int y, int radius, int color, int circle_width, int length, int space, int origin_x, int origin_y); void o_circle_print_center(TOPLEVEL *toplevel, FILE *fp, int x, int y, int radius, int color, int circle_width, int length, int space, int origin_x, int origin_y); void o_circle_print_phantom(TOPLEVEL *toplevel, FILE *fp, int x, int y, int radius, int color, int circle_width, int length, int space, int origin_x, int origin_y); void o_circle_print_filled(TOPLEVEL *toplevel, FILE *fp, int x, int y, int radius, int color, int fill_width, int angle1, int pitch1, int angle2, int pitch2, int origin_x, int origin_y); void o_circle_print_mesh(TOPLEVEL *toplevel, FILE *fp, int x, int y, int radius, int color, int fill_width, int angle1, int pitch1, int angle2, int pitch2, int origin_x, int origin_y); void o_circle_print_hatch(TOPLEVEL *toplevel, FILE *fp, int x, int y, int radius, int color, int fill_width, int angle1, int pitch1, int angle2, int pitch2, int origin_x, int origin_y); double o_circle_shortest_distance(OBJECT *object, int x, int y, int force_soild); void world_get_circle_bounds(TOPLEVEL *toplevel, OBJECT *object, int *left, int *top, int *right, int *bottom); gboolean o_circle_get_position(TOPLEVEL *toplevel, gint *x, gint *y, OBJECT *object); void o_circle_recalc(TOPLEVEL *toplevel, OBJECT *o_current); /* o_complex_basic.c */ OBJECT *o_complex_read(TOPLEVEL *toplevel, const char buf[], unsigned int release_ver, unsigned int fileformat_ver, GError **err); char *o_complex_save(TOPLEVEL *toplevel, OBJECT *object); double o_complex_shortest_distance(OBJECT *object, int x, int y, int force_soild); void world_get_complex_bounds(TOPLEVEL *toplevel, OBJECT *complex, int *left, int *top, int *right, int *bottom); gboolean o_complex_get_position(TOPLEVEL *toplevel, gint *x, gint *y, OBJECT *object); void o_complex_recalc(TOPLEVEL *toplevel, OBJECT *o_current); GList *o_complex_get_promotable (TOPLEVEL *toplevel, OBJECT *object, int detach); /* o_line_basic.c */ OBJECT *o_line_read(TOPLEVEL *toplevel, const char buf[], unsigned int release_ver, unsigned int fileformat_ver, GError **err); char *o_line_save(TOPLEVEL *toplevel, OBJECT *object); void o_line_print(TOPLEVEL *toplevel, FILE *fp, OBJECT *o_current, int origin_x, int origin_y); void o_line_print_solid(TOPLEVEL *toplevel, FILE *fp, int x1, int y1, int x2, int y2, int color, int line_width, int length, int space, int origin_x, int origin_y); void o_line_print_dotted(TOPLEVEL *toplevel, FILE *fp, int x1, int y1, int x2, int y2, int color, int line_width, int length, int space, int origin_x, int origin_y); void o_line_print_dashed(TOPLEVEL *toplevel, FILE *fp, int x1, int y1, int x2, int y2, int color, int line_width, int length, int space, int origin_x, int origin_y); void o_line_print_center(TOPLEVEL *toplevel, FILE *fp, int x1, int y1, int x2, int y2, int color, int line_width, int length, int space, int origin_x, int origin_y); void o_line_print_phantom(TOPLEVEL *toplevel, FILE *fp, int x1, int y1, int x2, int y2, int color, int line_width, int length, int space, int origin_x, int origin_y); double o_line_shortest_distance(OBJECT *object, int x, int y, int force_soild); void world_get_line_bounds(TOPLEVEL *toplevel, OBJECT *object, int *left, int *top, int *right, int *bottom); gboolean o_line_get_position(TOPLEVEL *toplevel, gint *x, gint *y, OBJECT *object); void o_line_recalc(TOPLEVEL *toplevel, OBJECT *o_current); /* o_net_basic.c */ OBJECT *o_net_read(TOPLEVEL *toplevel, const char buf[], unsigned int release_ver, unsigned int fileformat_ver, GError **err); char *o_net_save(TOPLEVEL *toplevel, OBJECT *object); void o_net_print(TOPLEVEL *toplevel, FILE *fp, OBJECT *o_current, int origin_x, int origin_y); void world_get_net_bounds(TOPLEVEL *toplevel, OBJECT *object, int *left, int *top, int *right, int *bottom); gboolean o_net_get_position(TOPLEVEL *toplevel, gint *x, gint *y, OBJECT *object); void o_net_recalc(TOPLEVEL *toplevel, OBJECT *o_current); /* o_path_basic.c */ OBJECT *o_path_read(TOPLEVEL *toplevel, const char *first_line, TextBuffer *tb, unsigned int release_ver, unsigned int fileformat_ver, GError **err); char *o_path_save(TOPLEVEL *toplevel, OBJECT *object); void o_path_print(TOPLEVEL *toplevel, FILE *fp, OBJECT *o_current, int origin_x, int origin_y); double o_path_shortest_distance(OBJECT *object, int x, int y, int force_soild); void world_get_path_bounds(TOPLEVEL *toplevel, OBJECT *object, int *left, int *top, int *right, int *bottom); gboolean o_path_get_position(TOPLEVEL *toplevel, gint *x, gint *y, OBJECT *object); void o_path_recalc(TOPLEVEL *toplevel, OBJECT *o_current); /* o_picture.c */ OBJECT *o_picture_read(TOPLEVEL *toplevel, const char *first_line, TextBuffer *tb, unsigned int release_ver, unsigned int fileformat_ver, GError **err); char *o_picture_save(TOPLEVEL *toplevel, OBJECT *object); void o_picture_print(TOPLEVEL *toplevel, FILE *fp, OBJECT *o_current, int origin_x, int origin_y); double o_picture_shortest_distance(OBJECT *object, int x, int y, int force_soild); void world_get_picture_bounds(TOPLEVEL *toplevel, OBJECT *object, int *left, int *top, int *right, int *bottom); gboolean o_picture_get_position(TOPLEVEL *toplevel, gint *x, gint *y, OBJECT *object); void o_picture_recalc(TOPLEVEL *toplevel, OBJECT *o_current); void o_picture_embed(TOPLEVEL *toplevel, OBJECT *object); void o_picture_unembed(TOPLEVEL *toplevel, OBJECT *object); /* o_pin_basic.c */ OBJECT *o_pin_read(TOPLEVEL *toplevel, const char buf[], unsigned int release_ver, unsigned int fileformat_ver, GError **err); char *o_pin_save(TOPLEVEL *toplevel, OBJECT *object); void o_pin_print(TOPLEVEL *toplevel, FILE *fp, OBJECT *o_current, int origin_x, int origin_y); void world_get_pin_bounds(TOPLEVEL *toplevel, OBJECT *object, int *left, int *top, int *right, int *bottom); gboolean o_pin_get_position(TOPLEVEL *toplevel, gint *x, gint *y, OBJECT *object); void o_pin_recalc(TOPLEVEL *toplevel, OBJECT *o_current); /* o_text_basic.c */ OBJECT *o_text_read(TOPLEVEL *toplevel, const char *first_line, TextBuffer *tb, unsigned int release_ver, unsigned int fileformat_ver, GError **err); char *o_text_save(TOPLEVEL *toplevel, OBJECT *object); void o_text_print_text_string(FILE *fp, char *string, int unicode_count, gunichar *unicode_table); void o_text_print(TOPLEVEL *toplevel, FILE *fp, OBJECT *o_current, int origin_x, int origin_y, int unicode_count, gunichar *unicode_table); double o_text_shortest_distance(OBJECT *object, int x, int y, int force_soild); int world_get_text_bounds(TOPLEVEL *toplevel, OBJECT *o_current, int *left, int *top, int *right, int *bottom); gboolean o_text_get_position(TOPLEVEL *toplevel, gint *x, gint *y, OBJECT *object); void o_text_recalc(TOPLEVEL *toplevel, OBJECT *o_current); /* s_clib.c */ void s_clib_init (void); /* s_color.c */ void s_color_init(void); gchar *s_color_ps_string(gint color); /* s_conn.c */ CONN *s_conn_return_new(OBJECT *other_object, int type, int x, int y, int whichone, int other_whichone); int s_conn_uniq(GList *conn_list, CONN *input_conn); int s_conn_remove_other(TOPLEVEL *toplevel, OBJECT *other_object, OBJECT *to_remove); OBJECT *s_conn_check_midpoint(OBJECT *o_current, int x, int y); void s_conn_print(GList *conn_list); void s_conn_init(void); /* s_encoding.c */ gchar* s_encoding_base64_encode (gchar* src, guint srclen, guint* dstlenp, gboolean strict); gchar* s_encoding_base64_decode (gchar* src, guint srclen, guint* dstlenp); /* s_path.c */ int s_path_to_polygon(PATH *path, GArray *points); double s_path_shortest_distance (PATH *path, int x, int y, int solid); /* s_textbuffer.c */ TextBuffer *s_textbuffer_new (const gchar *data, const gint size); TextBuffer *s_textbuffer_free (TextBuffer *tb); const gchar *s_textbuffer_next (TextBuffer *tb, const gssize count); const gchar *s_textbuffer_next_line (TextBuffer *tb); /* s_tile.c */ void s_tile_init(TOPLEVEL *toplevel, PAGE *p_current); void s_tile_add_object(TOPLEVEL *toplevel, OBJECT *object); void s_tile_remove_object(OBJECT *object); void s_tile_print(TOPLEVEL *toplevel, PAGE *page); void s_tile_free_all(PAGE *p_current); /* s_weakref.c */ void s_weakref_notify (void *dead_ptr, GList *weak_refs); GList *s_weakref_add (GList *weak_refs, void (*notify_func)(void *, void *), void *user_data); GList *s_weakref_remove (GList *weak_refs, void (*notify_func)(void *, void *), void *user_data); GList *s_weakref_add_ptr (GList *weak_refs, void **weak_pointer_loc); GList *s_weakref_remove_ptr (GList *weak_refs, void **weak_pointer_loc); geda-gaf-1.8.2/libgeda/include/gettext_priv.h0000664000175000017500000000604612207374137016023 00000000000000/* Convenience header for conditional use of GNU . Copyright (C) 1995-1998, 2000-2002 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef _LIBGETTEXT_H #define _LIBGETTEXT_H 1 /* NLS can be disabled through the configure --disable-nls option. */ #if ENABLE_NLS /* Get declarations of GNU message catalog functions. */ # include #else /* Solaris /usr/include/locale.h includes /usr/include/libintl.h, which chokes if dcgettext is defined as a macro. So include it now, to make later inclusions of a NOP. We don't include as well because people using "gettext.h" will not include , and also including would fail on SunOS 4, whereas is OK. */ #if defined(__sun) # include #endif /* Disabled NLS. The casts to 'const char *' serve the purpose of producing warnings for invalid uses of the value returned from these functions. On pre-ANSI systems without 'const', the config.h file is supposed to contain "#define const". */ # define gettext(Msgid) ((const char *) (Msgid)) # define dgettext(Domainname, Msgid) ((const char *) (Msgid)) # define dcgettext(Domainname, Msgid, Category) ((const char *) (Msgid)) # define ngettext(Msgid1, Msgid2, N) \ ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2)) # define dngettext(Domainname, Msgid1, Msgid2, N) \ ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2)) # define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \ ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2)) # define textdomain(Domainname) ((const char *) (Domainname)) # define bindtextdomain(Domainname, Dirname) ((const char *) (Dirname)) # define bind_textdomain_codeset(Domainname, Codeset) ((const char *) (Codeset)) #endif /* A pseudo function call that serves as a marker for the automated extraction of messages, but does not call gettext(). The run-time translation is done at a different place in the code. The argument, String, should be a literal string. Concatenated strings and other string expressions won't work. The macro's expansion is not parenthesized, so that it is suitable as initializer for static 'char[]' or 'const char[]' variables. */ #define gettext_noop(String) String #define _(String) dgettext(LIBGEDA_GETTEXT_DOMAIN, String) #endif /* _LIBGETTEXT_H */ geda-gaf-1.8.2/libgeda/include/struct_priv.h0000664000175000017500000000175012207374140015652 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's Library * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02111-1301 USA. */ #ifndef STRUCT_PRIV_H #define STRUCT_PRIV_H #endif /* !STRUCT_PRIV_H */ geda-gaf-1.8.2/libgeda/lib/0000775000175000017500000000000012220655750012321 500000000000000geda-gaf-1.8.2/libgeda/lib/print-colormap-darkbg0000664000175000017500000000217712207374140016365 00000000000000; -*-Scheme-*- ; ; Dark background color map for printing ; ; ;'s are comments ; Keywords are case sensitive (Guile feature) ; Colors are not case sensitive ; ; Colors may be specified in "#RRGGBB" or "#RRGGBBAA" format. If the alpha ; value is not specified, full opacity is assumed. ; ; If a color is #f (not a string; Scheme 'false'), then objects of ; that color will never be drawn. (print-color-map '((background #f) (pin "#ffffff") (net-endpoint "#ff0000") (graphic "#00ff00") (net "#0000ff") (attribute "#ffff00") (logic-bubble "#00ffff") (grid #f) (detached-attribute "#ff0000") (text "#00ff00") (bus "#00ff00") (select #f) (bounding-box #f) (zoom-box #f) (stroke #f) (lock "#bebebe") (output-background "#000000") (junction "#ffff00") (freestyle1 #f) (freestyle2 #f) (freestyle3 #f) (freestyle4 #f) )) geda-gaf-1.8.2/libgeda/lib/Makefile.am0000664000175000017500000000034112207374140014267 00000000000000 rcdatadir = $(GEDARCDIR) dist_rcdata_DATA = system-gafrc print-colormap-lightbg print-colormap-darkbg MOSTLYCLEANFILES = *.log *~ CLEANFILES = *.log *~ DISTCLEANFILES = *.log *~ MAINTAINERCLEANFILES = *.log *~ Makefile.in geda-gaf-1.8.2/libgeda/lib/Makefile.in0000664000175000017500000004443412220655725014321 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = libgeda/lib DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(dist_rcdata_DATA) ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(rcdatadir)" DATA = $(dist_rcdata_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ rcdatadir = $(GEDARCDIR) dist_rcdata_DATA = system-gafrc print-colormap-lightbg print-colormap-darkbg MOSTLYCLEANFILES = *.log *~ CLEANFILES = *.log *~ DISTCLEANFILES = *.log *~ MAINTAINERCLEANFILES = *.log *~ Makefile.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libgeda/lib/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu libgeda/lib/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-dist_rcdataDATA: $(dist_rcdata_DATA) @$(NORMAL_INSTALL) @list='$(dist_rcdata_DATA)'; test -n "$(rcdatadir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(rcdatadir)'"; \ $(MKDIR_P) "$(DESTDIR)$(rcdatadir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(rcdatadir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(rcdatadir)" || exit $$?; \ done uninstall-dist_rcdataDATA: @$(NORMAL_UNINSTALL) @list='$(dist_rcdata_DATA)'; test -n "$(rcdatadir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(rcdatadir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(rcdatadir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dist_rcdataDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-dist_rcdataDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am \ install-dist_rcdataDATA install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am uninstall-dist_rcdataDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/libgeda/lib/print-colormap-lightbg0000664000175000017500000000220612207374140016544 00000000000000; -*-Scheme-*- ; ; Light background color map for gschem ; ; ;'s are comments ; Keywords are case sensitive (guile feature) ; Colors are not case sensitive ; ; Colors may be specified in "#RRGGBB" or "#RRGGBBAA" format. If the alpha ; value is not specified, full opacity is assumed. ; ; If a color is #f (not a string; Scheme 'false'), then objects of ; that color will never be drawn. (print-color-map '((background "#ffffff") (pin "#000000") (net-endpoint "#ff0000") (graphic "#008b00") (net "#0000ff") (attribute "#000000") (logic-bubble "#008b8b") (grid #f) (detached-attribute "#ff0000") (text "#008b00") (bus "#00ee00") (select #f) (bounding-box #f) (zoom-box #f) (stroke #f) (lock "#666666") (output-background "#ffffff") (junction "#a020f0") (freestyle1 #f) (freestyle2 #f) (freestyle3 #f) (freestyle4 #f) )) geda-gaf-1.8.2/libgeda/lib/system-gafrc0000664000175000017500000001027412220647257014577 00000000000000; -*-Scheme-*- ;;; ;;; Common init file for gaf ;;; ; The following global variables are defined by libgeda: ; ; path-sep -- system path separator ; geda-data-path -- path to gEDA system-wide data directory ; geda-rc-path -- path to gEDA system-wide config directory ;; Set some flags to aid in debugging rc files (cond-expand (guile-2 #t) (guile (debug-enable 'debug))) (debug-enable 'backtrace) (read-enable 'positions) ; The libgeda Scheme library provides a number of useful functions for ; writing Scheme code for embedding in gaf. (load-from-path "geda.scm") ;; Import deprecated Scheme functions (use-modules (geda deprecated)) ;; The directory containing various bitmaps (e.g. icons) (bitmap-directory (build-path geda-data-path "bitmap")) ; Set the name of the postscript prolog file that will be ; pasted into the postscript output after the DSC comments, but ; before the main script. (postscript-prolog (build-path geda-data-path "prolog.ps")) ; scheme-directory dir ; ; This keyword allows additional directories to be added to the list ; of directories which are used by gEDA to load Scheme code. ; Environment variables in 'dir' are expanded. By default, ; '${GEDADATA}/scheme' is in the load path, as are all of the standard ; Guile Scheme libraries. ;(scheme-directory "${HOME}/.gEDA/scheme") ; ; Start of attribute promotion keywords ; ; attribute-promotion string ; ; This keyword controls if attribute promotion occurs when you instanciate a ; component. Attribute promotion basically means that any floating attribute ; (unattached) which is inside a symbol gets "promoted" or attached to the ; newly inserted component. This only occurs when the component is ; instanciated. ; (attribute-promotion "enabled") ;(attribute-promotion "disabled") ; promote-invisible string ; ; If attribute-promotion is enabled, then this controls if invisible floating ; attributes are promoted (attached to the outside of the component) if the ; text string is invisible. There are cases where it is undesirable, so the ; default is disabled. ; ;(promote-invisible "enabled") (promote-invisible "disabled") ; keep-invisible string ; ; If both attribute-promotion and promote-invisible are enabled, then this ; controls if invisible floating attributes are kept around in memory and ; NOT deleted. Having this enabled will keeps component slotting working. ; If attribute-promotion and promote-invisible are enabled and this ; keyword is disabled, then component slotting will NOT work (and maybe ; other functions which depend on hidden attributes, since those attributes ; are deleted from memory). ; ;(keep-invisible "disabled") (keep-invisible "enabled") ; always-promote-attributes ; ; Set the list of attributes that are always promoted regardless of ; their visibility. The list should be a scm list of strings. The ; space separated attribute names are deprecated. ; ;(always-promote-attributes "footprint device value model-name") (always-promote-attributes '("footprint" "device" "value" "model-name")) ; ; End of attribute promotion keywords ; ; make-backup-files ; ; Enable the creation of backup files (name.sch~) when saving a schematic. ; It may be useful to disable this if your schematic is under version control ; as you can always recover any mistakes from the revision history. ;(make-backup-files "disabled") (make-backup-files "enabled") ;;;; Color maps ;; Load functions for handling color maps (load-from-path "color-map.scm") ;; Make the printing color map more user-friendly (color-map-make-friendly print-color-map) ;; Load up a color scheme for printing optimised for a dark background. ; Comment out the first line and comment in the second line for a ; white background. The dark background is the original look. ; (load (build-path geda-rc-path "print-colormap-darkbg")) ; dark background ;(load (build-path geda-rc-path "print-colormap-lightbg")) ; light background ;;;; Process configuration script directory ;; The directory containing any extra scheme files to load (define geda-confd-path (build-path geda-data-path "gafrc.d")) ;; Execute any scheme files found in the geda-confd-path directory. (load-scheme-dir geda-confd-path) geda-gaf-1.8.2/libgeda/Makefile.am0000664000175000017500000000127312220647257013535 00000000000000 SUBDIRS = po data docs include lib src shell scheme share EXTRA_DIST = HACKING BUGS ChangeLog ChangeLog-1.0 po/domain.mak.in pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = libgeda.pc libgeda-pc-install: libgeda.pc $(mkinstalldirs) $(DESTDIR)$(pkgconfigdir) $(INSTALL_DATA) libgeda.pc $(DESTDIR)$(pkgconfigdir) if HAVE_GIT_REPO ChangeLog: $(top_builddir)/stamp-git (cd $(srcdir) && $(GIT) log --pretty=medium $(CHANGELOG_BASE).. -- .) > $@ endif HAVE_GIT_REPO MOSTLYCLEANFILES = *.log core FILE *~ CLEANFILES = *.log core FILE *~ DISTCLEANFILES = *.log core FILE *~ libgeda.pc po/domain.mak MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in libgeda.pc ChangeLog geda-gaf-1.8.2/libgeda/BUGS0000664000175000017500000000037412207374137012164 00000000000000 Bugs (no particular order): ---------------------- See gschem/BUGS for a more complete bug list. Move libgeda bugs into this file. Deleting top level schematics before the childern is a bad idea. It's hard to reconnect them later. Fix this geda-gaf-1.8.2/libgeda/shell/0000775000175000017500000000000012220655750012662 500000000000000geda-gaf-1.8.2/libgeda/shell/Makefile.am0000664000175000017500000000144412220647257014644 00000000000000noinst_PROGRAMS = geda-shell BUILT_SOURCES = \ shell.x geda_shell_SOURCES = shell.c geda_shell_CPPFLAGS = \ -I$(srcdir)/../include -I$(top_srcdir) -I$(includedir) \ -I$(top_srcdir)/intl geda_shell_CFLAGS = \ $(GCC_CFLAGS) $(MINGW_CFLAGS) $(GUILE_CFLAGS) $(GLIB_CFLAGS) \ $(GDK_PIXBUF_CFLAGS) geda_shell_LDFLAGS = $(GLIB_LIBS) $(GUILE_LIBS) $(GDK_PIXBUF_LIBS) geda_shell_LDADD = ../src/libgeda.la @LIBINTL@ localedir = @datadir@/locale DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@ # This is used to generate boilerplate for defining Scheme functions # in C. SUFFIXES = .x snarf_cpp_opts = $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(geda_shell_CPPFLAGS) $(AM_CFLAGS) $(geda_shell_CFLAGS) .c.x: CPP="$(CPP)" $(GUILE_SNARF) -o $@ $< $(snarf_cpp_opts) CLEANFILES = $(BUILT_SOURCES) geda-gaf-1.8.2/libgeda/shell/Makefile.in0000664000175000017500000005755312220655725014670 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ noinst_PROGRAMS = geda-shell$(EXEEXT) subdir = libgeda/shell DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(top_srcdir)/build-tools/depcomp ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = PROGRAMS = $(noinst_PROGRAMS) am_geda_shell_OBJECTS = geda_shell-shell.$(OBJEXT) geda_shell_OBJECTS = $(am_geda_shell_OBJECTS) geda_shell_DEPENDENCIES = ../src/libgeda.la AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent am__v_lt_1 = geda_shell_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(geda_shell_CFLAGS) \ $(CFLAGS) $(geda_shell_LDFLAGS) $(LDFLAGS) -o $@ AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/build-tools/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = $(geda_shell_SOURCES) DIST_SOURCES = $(geda_shell_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @datadir@/locale localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ BUILT_SOURCES = \ shell.x geda_shell_SOURCES = shell.c geda_shell_CPPFLAGS = \ -I$(srcdir)/../include -I$(top_srcdir) -I$(includedir) \ -I$(top_srcdir)/intl geda_shell_CFLAGS = \ $(GCC_CFLAGS) $(MINGW_CFLAGS) $(GUILE_CFLAGS) $(GLIB_CFLAGS) \ $(GDK_PIXBUF_CFLAGS) geda_shell_LDFLAGS = $(GLIB_LIBS) $(GUILE_LIBS) $(GDK_PIXBUF_LIBS) geda_shell_LDADD = ../src/libgeda.la @LIBINTL@ # This is used to generate boilerplate for defining Scheme functions # in C. SUFFIXES = .x snarf_cpp_opts = $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(geda_shell_CPPFLAGS) $(AM_CFLAGS) $(geda_shell_CFLAGS) CLEANFILES = $(BUILT_SOURCES) all: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) all-am .SUFFIXES: .SUFFIXES: .x .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libgeda/shell/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu libgeda/shell/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstPROGRAMS: @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ echo " rm -f" $$list; \ rm -f $$list || exit $$?; \ test -n "$(EXEEXT)" || exit 0; \ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list geda-shell$(EXEEXT): $(geda_shell_OBJECTS) $(geda_shell_DEPENDENCIES) $(EXTRA_geda_shell_DEPENDENCIES) @rm -f geda-shell$(EXEEXT) $(AM_V_CCLD)$(geda_shell_LINK) $(geda_shell_OBJECTS) $(geda_shell_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/geda_shell-shell.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< geda_shell-shell.o: shell.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(geda_shell_CPPFLAGS) $(CPPFLAGS) $(geda_shell_CFLAGS) $(CFLAGS) -MT geda_shell-shell.o -MD -MP -MF $(DEPDIR)/geda_shell-shell.Tpo -c -o geda_shell-shell.o `test -f 'shell.c' || echo '$(srcdir)/'`shell.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/geda_shell-shell.Tpo $(DEPDIR)/geda_shell-shell.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='shell.c' object='geda_shell-shell.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(geda_shell_CPPFLAGS) $(CPPFLAGS) $(geda_shell_CFLAGS) $(CFLAGS) -c -o geda_shell-shell.o `test -f 'shell.c' || echo '$(srcdir)/'`shell.c geda_shell-shell.obj: shell.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(geda_shell_CPPFLAGS) $(CPPFLAGS) $(geda_shell_CFLAGS) $(CFLAGS) -MT geda_shell-shell.obj -MD -MP -MF $(DEPDIR)/geda_shell-shell.Tpo -c -o geda_shell-shell.obj `if test -f 'shell.c'; then $(CYGPATH_W) 'shell.c'; else $(CYGPATH_W) '$(srcdir)/shell.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/geda_shell-shell.Tpo $(DEPDIR)/geda_shell-shell.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='shell.c' object='geda_shell-shell.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(geda_shell_CPPFLAGS) $(CPPFLAGS) $(geda_shell_CFLAGS) $(CFLAGS) -c -o geda_shell-shell.obj `if test -f 'shell.c'; then $(CYGPATH_W) 'shell.c'; else $(CYGPATH_W) '$(srcdir)/shell.c'; fi` mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) check-am all-am: Makefile $(PROGRAMS) installdirs: install: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) clean: clean-am clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: all check install install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ clean-libtool clean-noinstPROGRAMS cscopelist-am ctags \ ctags-am distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am .c.x: CPP="$(CPP)" $(GUILE_SNARF) -o $@ $< $(snarf_cpp_opts) # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/libgeda/shell/shell.c0000664000175000017500000001621012220647257014060 00000000000000/* * geda-shell: Batch processing for gEDA * Copyright (C) 2010 Peter Brett * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /* A simple batch processing interface to libgeda based on a Scheme * REPL (Read-Eval-Print Loop). */ #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include #include #include #include #define GETOPT_OPTIONS "s:c:L:l:qhV" /* Print help info and exit with exit_status */ static void usage (int exit_status) { printf( "Usage: geda-shell OPTION ...\n" "\n" "Shell for interactive processing of gEDA data\n" "\n" " -s FILE load Scheme source code from FILE, and exit\n" " -c EXPR evaluate Scheme expression EXPR, and exit\n" " -- stop scanning arguments; run interactively\n" "\n" "The above switches stop argument processing, and pass all\n" "remaining arguments as the value of (command-line).\n" "\n" " -L DIRECTORY add DIRECTORY to the front of the module load path\n" " -l FILE load Scheme source code from FILE\n" " -q inhibit loading of gafrc files\n" " -h display this message and exit\n" " -V display version information and exit\n" "\n" "Please report bugs at \n" ); exit (exit_status); } /* Print version info and exit */ static void version () { printf( "gEDA %s (g%.7s)\n" "Copyright (C) 1998-2010 gEDA developers\n" "This is free software, and you are welcome to redistribute it under\n" "certain conditions. For details, see the file `COPYING', which is\n" "included in the gEDA distribution.\n" "There is NO WARRANTY, to the extent permitted by law.\n", PACKAGE_DOTTED_VERSION, PACKAGE_GIT_COMMIT); exit (0); } /* Some symbols we need */ SCM_SYMBOL (sym_load, "load"); SCM_SYMBOL (sym_eval_string, "eval-string"); SCM_SYMBOL (sym_set_x, "set!"); SCM_SYMBOL (sym_load_path, "%load-path"); SCM_SYMBOL (sym_cons, "cons"); SCM_SYMBOL (sym_use_modules, "use-modules"); SCM_SYMBOL (sym_ice_9, "ice-9"); SCM_SYMBOL (sym_readline, "readline"); SCM_SYMBOL (sym_activate_readline, "activate-readline"); SCM_SYMBOL (sym_top_repl, "top-repl"); SCM_SYMBOL (sym_quit, "quit"); SCM_SYMBOL (sym_begin, "begin"); static void shell_main (void *data, int argc, char **argv) { SCM setup_lst = SCM_EOL; /* We reverse! this before using it. */ SCM run_lst = SCM_EOL; /* We reverse! this before using it. */ int c; int interactive = 1; int inhibit_rc = 0; int status; TOPLEVEL *toplevel; #include "shell.x" /* Parse command-line arguments */ opterr = 0; while ((c = getopt (argc, argv, GETOPT_OPTIONS)) != -1) { switch (c) { case 's': /* Construct an application of LOAD to the script name */ run_lst = scm_cons (scm_list_2 (sym_load, scm_from_locale_string (optarg)), run_lst); interactive = 0; goto endoptloop; case 'c': /* We need to evaluate an expression */ run_lst = scm_cons (scm_list_2 (sym_eval_string, scm_from_locale_string (optarg)), run_lst); interactive = 0; goto endoptloop; case 'L': /* Add argument to %load-path */ setup_lst = scm_cons (scm_list_3 (sym_set_x, sym_load_path, scm_list_3 (sym_cons, scm_from_locale_string (optarg), sym_load_path)), setup_lst); break; case 'l': /* Same as -s, pretty much */ run_lst = scm_cons (scm_list_2 (sym_load, scm_from_locale_string (optarg)), run_lst); break; case 'q': inhibit_rc = 1; break; case 'h': usage (0); case 'V': version(); case '?': if ((optopt != ':') && (strchr (GETOPT_OPTIONS, optopt) != NULL)) { fprintf (stderr, "ERROR: -%c option requires an argument.\n\n", optopt); usage (1); } else if (isprint (optopt)) { fprintf (stderr, "ERROR: Unknown option -%c\n\n", optopt); usage (1); } else { fprintf (stderr, "ERROR: Unknown option character `\\x%x'.\n\n", optopt); usage (1); } default: g_assert_not_reached (); } } endoptloop: /* Set program arguments visible from Guile */ scm_set_program_arguments (argc - optind, argv + optind, "geda-shell"); /* If interactive mode, load readline and run top REPL. */ if (interactive) { run_lst = scm_cons (scm_list_2 (sym_use_modules, scm_list_2 (sym_ice_9, sym_readline)), run_lst); run_lst = scm_cons (scm_list_1 (sym_activate_readline), run_lst); run_lst = scm_cons (scm_list_1 (sym_top_repl), run_lst); /* Print GPL bumf if necessary */ if (isatty (1) && isatty (0)) { printf ( "gEDA " PACKAGE_GIT_VERSION "\n" "Copyright (C) 1998-2010 gEDA developers\n" "This is free software, and you are welcome to redistribute it under\n" "certain conditions. For details, see the file `COPYING', which is\n" "included in the gEDA distribution.\n" "There is NO WARRANTY, to the extent permitted by law.\n" ); } } else { run_lst = scm_cons (scm_list_1 (sym_quit), run_lst); } /* Reverse lists */ setup_lst = scm_reverse_x (setup_lst, SCM_UNDEFINED); run_lst = scm_reverse_x (run_lst, SCM_UNDEFINED); /* Initialise libgeda */ libgeda_init (); scm_dynwind_begin (0); toplevel = s_toplevel_new (); edascm_dynwind_toplevel (toplevel); /* First run the setup list */ if (setup_lst != SCM_EOL) { setup_lst = scm_cons (sym_begin, setup_lst); scm_eval_x (setup_lst, scm_current_module ()); } /* Now load rc files, if necessary */ if (!inhibit_rc) g_rc_parse (toplevel, argv[0], NULL, NULL); i_vars_libgeda_set (toplevel); /* Ugh */ /* Finally evaluate run list */ run_lst = scm_cons (sym_begin, run_lst); status = scm_exit_status (scm_eval_x (run_lst, scm_current_module ())); exit (status); scm_dynwind_end (); scm_remember_upto_here_2 (setup_lst, run_lst); } /* This just starts guile, which calls shell_main back */ int main (int argc, char **argv) { scm_boot_guile (argc, argv, shell_main, NULL); return 0; } geda-gaf-1.8.2/libgeda/ChangeLog-1.00000664000175000017500000044763312207374137013564 000000000000002007-05-25 Ales Hvezda * configure.ac: Updated version to 20070526 in prep for the next release. Also changed shared library's version number to 29:0:0. 2007-05-13 Ales Hvezda * src/o_text_basic.c: Fixed a memory leak reported by Peter Brett (found using valgrind). Thanks. 2007-04-28 Stuart Brorson * src/o_attrib.c, src/o_complex_basic.c, src/s_tile.c: made changes to o_attrib_slot_update and o_attrib_search_pinseq to enable searching slotted parts by pinseq. Added o_complex_count_pins as part of project. 2007-04-22 Peter Brett * src/o_box_basic.c: Fix some unused variable warnings in libgeda. In a recent patch libgd was disabled by default (i.e. HAS_LIBGD was unset by default). This exposed some variable declarations which should have been #ifdefed out, but weren't. Although most were later cleared up, some were missed. 2007-04-21 Mike Jarabek * src/f_print.c: - Added %%Orientation to DSC block in PS output, fixing SF#1680214. 2007-04-21 Carlos Nieves Onega * src/o_bus_basic.c, src/o_circle_basic.c, src/o_line_basic.c, src/o_pin_basic.c: - Put unused variables inside #ifdef HAS_LIBGD. - Reverted the patch below. Those variables are used when compiling with libgd. - Removed unused variables. * configure.ac: Don't enable libgd by default. This makes gdk-pixbuf the default library for png output. 2007-04-21 Peter Clifton * src/m_basic.c: Fix visibility test in visible(..) for the case when the object completely surrounds the screen clipping region. * src/o_circle_basic.c: Tidy up dist() function in o_circle_basic.c to be much more readable. 2007-04-17 Peter Clifton Merge changes from noscreen 2007-16-06 Peter Clifton * src/o_text_basic.c: Use o_text_recalc() to update bounds, as we don't want to duplicate code. Fixes a bug where the bounds were reset manually even with invisible text (causing uninitialised values to be stored in for the object's bounds). Fixed o_text_recalc() to silently return (rather than write uninitialised values) if no bound was found for the text object's prim_objects. 2007-12-06 Peter Clifton * src/f_image.c, src/f_print.c, src/g_smob.c, src/o_complex_basic.c, src/o_pin_basic.c: Replace incorrect use of world_get_complex_bounds() with world_get_object_list_bounds(). Changed o_complex_recalc() to (correctly) use world_complex_get_bounds(). Fixed up documentation in g_smob.c to reflect the current bounds code. 2007-04-06 Peter Clifton * src/a_basic.c: Fix bounds for embedded objects as they are loaded from file. This places a call to o_complex_recalc() in o_read(), which is not great from an encapsulation point of view, but is the neatest solution with the current method of loading embedded objects. 2007-03-26 Peter Clifton * include/prototype.h, src/o_arc_basic.c, src/o_basic.c, src/o_box_basic.c, src/o_bus_basic.c, src/o_circle_basic.c, src/o_line_basic.c, src/o_net_basic.c, src/o_picture.c, src/o_pin_basic.c: Pass OBJECT instead of derived type into world_get_..._bounds(). Modifed objects to include the drawn line width when calculating bounds. Set OBJECT->line_width to {NET|BUS|PIN}_WIDTH as appropriate in o_{net|bus|pin}_add(). Replaced copied code in world_get_{net|pin|bus}_bounds() with calls to world_get_line_bounds(). Added call to o_recalc_single_object() in o_set_line_options() to keep line width up-to-date with editing. * libgeda/include/struct.h, src/s_toplevel.c: Added variables to support (select-slack-pixels #) rc keyword. 2007-03-24 Peter Clifton * src/o_complex_basic.c: Convert world_get_complex_bounds() to be a wrapper around world_get_list_bounds(). Based upon a patch by Patrick Bernaud which did the same for get_complex_bounds(). * src/o_pin_basic.c: Re-write the bounds checking in o_pin_update_whichend() to be more robust * src/o_complex_basic.c: Modify world_get_single_object_bounds() to use cached bounds where possible. Text objects are special-cased to determine if they are visible. * src/o_complex_basic.c: Add call to o_complex_recalc() in o_complex_add() to cache bounds. 2007-02-25 Peter Clifton * include/prototype.h, src/o_arc_basic.c, src/o_box_basic.c, src/o_bus_basic.c, src/o_circle_basic.c, src/o_line_basic.c, src/o_net_basic.c, src/o_picture.c, src/o_pin_basic.c, src/o_text_basic.c: Removed get_..._bounds() functions. * include/prototype.h, src/o_arc_basic.c, src/o_box_basic.c, src/o_bus_basic.c, src/o_circle_basic.c, src/o_complex_basic.c, src/o_line_basic.c, src/o_net_basic.c, src/o_picture.c, src/o_pin_basic.c, src/o_text_basic.c: Switched over to caching world rather than screen coordinates * include/struch.h, src/s_basic.c: Removed screen coordinates from object datastructures, and renamed variables storing cached bounds with prefix w_ to differentiate their world coord usage. Changed s_basic.c to initialise all these variables to zero. * src/o_text_basic.c: Added call to o_text_recalc() to o_text_recreate(), since we should automatically keep all cached coordiantes up to date. * src/o_arc_basic.c, src/o_box_basic.c, src/o_bus_basic.c, src/o_circle_basic.c, src/o_complex_basic.c, src/o_line_basic.c, src/o_net_basic.c, src/o_picture.c, src/o_pin_basic.c: Tidied world_get_..._bounds() functions to use simple min() max() implementations where appropriate. Fixed world_get_arc_bounds() to have same semantics as the other functions, IE. top and bottom swapped to give bottom > top numerically. * src/o_arc_basic.c, src/o_box_basic.c, src/o_bus_basic.c, src/o_circle_basic.c, src/o_line_basic.c, src/o_net_basic.c, src/o_pin_basic.c: Modified PNG export routines to calculate coordinates directly from object world coords. 2007-04-06 Carlos Nieves Onega * src/g_smob.c: make g_get_object_type scheme function return a character instead of a string. * include/o_types.h, include/prototype.h, src/g_register.c, src/libgeda.c : Register the OBJ_* object type definitions as scheme character variables. 2007-04-05 Carlos Nieves Onega * include/prototype.h, src/g_smob.c: Added two new scheme functions: - g_calcule_new_attrib_bounds: calcule the new bounds of an attribute with the given parameters, _without_ modifying the attribute. - g_get_attrib_value_by_attrib_name: given an object and an attribute name, this function returns a list with the values of the attributes with the given name in that object. 2007-02-24 Peter Clifton Merge changes to date from noscreen branch. 2007-02-12 Peter Clifton * include/prototype.h, src/o_arc_basic.c, src/o_basic.c, src/o_box_basic.c, src/o_circle_basic.c, src/o_line_basic.c, src/o_picture.c: Removed o_object_recalc() and all calls to it now the data it calculates is no longer used. * src/m_basic.c: Remove implicit grid snapping in SCREENtoWOLRD() 2006-12-30 Peter Clifton * include/prototype.h, src/o_basic.c: Changed variable names and comments to function inside_region() to allow its use with world coordinates without apparently swapping top and bottom (which have different sense in screen and world coords. Now uses {x/y}{min/max}. 2006-12-27 Peter Clifton * include/prototype.h, src/o_arc_basic.c, src/o_box_basic.c, src/o_bus_basic.c, src/o_circle_basic.c, src/o_complex_basic.c, src/o_line_basic.c, src/o_net_basic.c, src/o_picture.c, src/o_pin_basic.c: Removed o_..._translate() functions which are unused. * include/prototype.h, src/o_arc_basic.c, src/o_box_basic.c, src/o_bus_basic.c, src/o_circle_basic.c, src/o_line_basic.c, src/o_net_basic.c, src/o_picture.c, src/o_pin_basic.c, src/o_text_basic.c: Removed o_..._rotate() functions unused since changing to world coordinates * include/prototype.h, src/o_arc_basic.c, src/o_box_basic.c, src/o_bus_basic.c, src/o_circle_basic.c, src/o_line_basic.c, src/o_net_basic.c, src/o_picture.c, src/o_pin_basic.c, src/o_text_basic.c: Removed o_..._mirror() functions unused since changing to world coordinates 2007-02-24 Werner Hoch * include/struct.h, src/s_page.c, src/s_toplevel.c: Removed unused fields in PAGE and TOPLEVEL as well as functions for old (GtkCList based) page manager. (Patch written by Patrick Bernaud) 2007-02-14 Carlos Nieves Onega * autogen.sh: Removed debug messages added on 2007-02-10. 2007-02-11 Werner Hoch * src/s_toplevel.c: added missing toplevel inits (tshowwindow, ...) 2007-02-10 Ales Hvezda * include/funcs.h: Removed quit_func since it is completely unused. * include/prototype.h, src/f_basic.c, src/o_arc_basic.c: Fixed a whole bunch of compiler warnings and work on [ 1620806 ] various probably bugs and comments about them * configure.ac: Bumped package version to 20070216. Also changed shared library's version number to 28:0:0 2007-02-10 Carlos Nieves Onega * src/f_print.c: Make f_print_header return an error return value if something goes wrong, and propagate it to the caller functions. Unlink the file created by f_print_file if there is an error in f_print_header. * autogen.sh: Added automake version number check. 2007-02-10 Mike Jarabek * include/struct.h, src/o_text_basic.c, src/s_toplevel.c: Added code to scale the output postscript font under user control. This is controlled via the postscript-font-scale rc keyword. 2007-02-10 Mike Jarabek * src/f_print.c: Applied Wojciech Kazubski's patch for offset printing orgins. Fixes bug #160757 2007-01-16 Ales Hvezda * src/o_arc_basic.c: Applied patch by Peter Clifton to fix the output of arcs when using libgd. * src/Makefile.am: Applied patch by Peter Clifton to add --silent to libtool. 2007-01-08 Ales Hvezda * include/prototype.h, src/Makefile.am, src/o_embed.c: Moved o_embed(...) and o_unembed(...) into o_embed.c so that gschlas can also call these useful functions (to support scriptable embedding and unembedding of components). * src/.cvsignore: Oops, remove obsolete *.c rule that was causing cvs to ignore new (but not added) C files. 2006-12-26 Carlos Nieves Onega * include/prototype.h, src/g_smob.c: Added a new scheme function: get-page-filename, returning the page filename of the given page. 2006-12-21 Peter Brett * include/prototype.h, src/o_selection.c: Update interface of o_selection_print_all() to match other o_selection_*() functions. Pass the GList by reference. * include/prototype.h: Comment o_selection_select() and o_selection_unselect() as deprecated (should only be used internally to libgeda). * include/prototype.h, src/o_net_basic.c, src/o_selection.c: Update interface of o_selection_add() to match o_selection_remove(). Pass the GList by reference so head can be updated. 2006-12-16 Ales Hvezda Merged Carlos' glist work via Peter Brett's patch sets to the trunk 2006-10-22 Carlos Nieves Onega * src/s_page.c: Don't free objects in the complex place list. It is only a reference to the objects in the page. 2006-10-21 Carlos Nieves Onega * include/prototype.h, include/struct.h, src/o_basic.c, src/o_complex_basic.c, src/o_list.c, src/o_net_basic.c, src/o_selection.c, src/s_basic.c, src/s_page.c, Convert the SELECTION list into a GList. Added new functions o_recalc_object_glist, get_object_glist_bounds to handle glists. * include/prototype.h, src/o_basic.c: Rename o_recalc to o_recalc_object_list, and make it to call a new function o_recalc_single_object, for each object in the list. * include/prototype.h, src/o_complex_basic.c, src/o_text_basic.c: Rename get_complex_bounds to get_object_list_bounds, and make it to call a new function get_single_object_bounds, for each object in the list. * src/o_complex_basic.c: Fixed logic level of some checks. * src/o_complex_basic.c: Added some sanity checks. 2006-12-16 Werner Hoch * include/struct.h: added widget pointers for the modal dialogs find text, show text, hide text 2006-12-13 Carlos Nieves Onega * include/prototype.h, src/g_smob.c: Added a new scheme function: get-object-type, returning the object type (object->type as a scheme string) of the given object. 2006-12-05 Carlos Nieves Onega * include/prototype.h, src/s_clib.c: Converted the clib_directories list into a double linked list and reversed the search order (last added directories first). * include/prototype.h, src/o_complex_basic.c: Added new function world_get_single_object_bounds to calculate the bounds of a single object, and make world_get_complex_bounds call it. * include/prototype.h, src/g_smob.c: Added new scheme function get-attrib-angle. It returns the angle of the given attribute. Also made a minor fix to the documentation of g_get_attrib_bounds. 2006-12-04 Ales Hvezda * src/s_toplevel.c: Added missing init of toplevel->line_style (all variables in the TOPLEVEL struct ure should be initalized). 2006-12-02 Mike Jarabek * include/defines.h include/struct.h: Added toplevel->line_style'. This new entry is a flag to set whether or not lines are drawn really thin on the output postscript or will only be drawn to the width of pins or nets. * src/o_arc_basic.c src/o_box_basic.c src/o_circle_basic.c libgeda/src/o_line_basic.c: Changes to the postscript output code to ensure that lines can't be drawn too thin. 2006-12-02 Ales Hvezda * src/o_bus_basic.c: Added missing call to s_tile_update_object for buses. This missing call could cause buses to not have correct connectivity when using grips. Pointed out by and patch by Peter Clifton. 2006-11-21 Werner Hoch * include/struct.h, src/s_toplevel.c: readded toplevel->filename_label to the toplevel structure, it's still required by gattib. fixes Bug [#1600448] 2006-11-19 Werner Hoch * include/struct.h, src/s_toplevel.c: moved schematic title from the status bar to the window title. Added grid settings to the status bar: replaced toplevel->filename_label with toplevel->grid_label 2006-11-01 Carlos Nieves Onega * include/prototype.h, src/g_smob.c: Added new "get-attribute-bounds" scheme function. 2006-10-20 Ales Hvezda * configure.ac: Bumped package version to 20061020. * configure.ac: Bumped shared library version to 27:0:0 2006-10-19 Patrick Bernaud * configure.ac: Cleaned up to remove remaining traces of noweb days. * noweb/.cvsignore: Removed file for directory to get pruned on checkout. * docs/libgedadoc.texi, docs/texinfo.tex: Removed unused files for old noweb documentation. * scripts/geda_totexi.in: * scripts/notangle_guile.in: * scripts/prepnoweb: Removed unused scripts for noweb. 2006-10-17 Patrick Bernaud * src/o_text_basic.c (o_text_create_string): Fixed overbar feature to work with UTF-8 characters (Bug#1578416). 2006-10-04 Carlos Nieves Onega * include/struct.h, src/s_toplevel.c: Removed the new variable to track wether the main window is maximized or not. It's no more necessary due to the patch from Patrick Bernaud. 2006-09-30 Carlos Nieves Onega * include/struct.h, src/s_toplevel.c: Added a new variable to track wether the main window is maximized or not. This is part of the bug #1527465 fix. 2006-09-30 Ales Hvezda * src/a_basic.c: Fixed a memory leak in o_save when saving complex objects. Not a large leak, but this function gets called all the time when recording undo info. Found using valgrind. * src/s_page.c: Added check to fix Bug#1562352 (Gattrib crashes doing file-save when no files open) 2006-09-28 Carlos Nieves Onega * include/prototype.h, include/struct.h, src/g_smob.c: Added new page smob. 2006-09-27 Carlos Nieves Onega * configure.ac : Applied patch #1564796 by Cesar Strauss, enabling Cygwin's compilation. Thanks. 2006-09-24 Ales Hvezda * AUTHORS: Updated file pointing people at gschem's AUTHOR file as the complete list of authors. Merged all listed files in this file into gschem's file. 2006-09-24 Ales Hvezda * configure.ac: Tweaked glib detection to not fail ./configure when gdlib is not installed. gdlib is an optional dependancy. 2006-09-24 03:57 Dan McMahill * configure.ac, libgeda.pc.in: Improve gdlib detection. Now instead of just dropping gd support if gdlib is not found, have configure error out with a message that tells the user what needs to be fixed or what feature will be missing if --disable-gd is used. Also add a variable to libgeda.pc.in so pkg-config can determine if libgeda was compiled with gdlib support. This makes determination of this by gschem more robust. 2006-09-23 Patrick Bernaud * include/defines.h: * include/struct.h: Removed unused constants and structures because of new file selection and component selection dialogs in gschem. * include/struct.h: Changed type of field 'preview' in st_filedialog to GtkWidget*. * src/s_toplevel.c (s_toplevel_new): Added missing init of rotated_inside. 2006-09-22 Carlos Nieves Onega * README, configure.ac, include/globals.h, src/f_image.c, src/o_arc_basic.c, src/o_box_basic.c, src/o_bus_basic.c, src/o_circle_basic.c, src/o_image.c, src/o_line_basic.c, src/o_net_basic.c, src/o_pin_basic.c, src/s_color.c, src/s_cue.c: Use gd 2.0.x library instead of libgdgeda. libgdgeda is not used anymore. Work based on a patch by Wojciech Kazubski (patch #1479983). 2006-09-06 Ales Hvezda * configure.ac: Updated program version to 20060906. * share/Makefile.am: Changed the install directory of prolog.ps to the DATA directory and not the RC directory since that is where system-gafrc is looking for it. This bug was found when --with-rcdir was used. This fix is related to Bug#1552338. * include/defines.h: Added CUSTOM_VERSION string #define. Normally this #define defines an empty string, but for those people who need to spin a custom version of gEDA/gaf (of course, following the licensing/distribution requirements of the GPL), they can set this to a string which is appended to printfs/output/dialog boxes where VERSION is used. 2006-09-04 Ales Hvezda * src/s_toplevel.c: Added code to s_toplevel_delete to check for and remove a GSource before it is deleted. Patch by Patrick Bernaud. Thanks! * src/s_page.c: Added s_page_autosave_init to setup the autosave callback (instead of doing it in i_vars_set) which was also be set in the preview toplevel (having the callback there is undesirable). * src/s_toplevel.c: Added the init of auto_save_timeout in s_toplevel_new(). Pointed out by PeterC and this make valgrind happy again. 2006-09-02 Patrick Bernaud * src/s_toplevel.c (s_toplevel_new): Added missing initialization of TOPLEVEL print_command. 2006-08-31 Ales Hvezda * configure.ac: Updated gtk+ tests to look for 2.4.x or greater. 2006-08-30 Werner Hoch * src/o_attrib.c: fix for Bug#1547138: Segfault on adding toplevel slot attribute to symbol 2006-08-29 Ales Hvezda * include/i_vars.h, include/prototype.h, include/struct.h, src/f_print.c, src/i_vars.c, src/s_toplevel.c: Applied first part of patch by Peter Brett to add a new print dialog to gschem. Patch#1530417. 2006-08-22 Ales Hvezda * src/Makefile.am: Removed old VPATH, since it is no longer needed and it is interfering with make distcheck * share/Makefile.am: Added prolog.ps to EXTRA_DIST to make distcheck happy (and it was missing from the dist in general). 2006-08-21 Ales Hvezda * README: Updated the README a little to be ready for the next release. 2006-08-19 Ales Hvezda * configure.ac: Bumped version number to 20060821 in prep for the next gEDA/gaf release. Also changed the so version of libgeda to 26:0:0 2006-08-06 Ales Hvezda * src/*.c: Applied Patch#1533798: Remove pre-GTK2 code from geda by Peter Brett. * src/a_basic.c: Applied Patch#1534089: libgeda: bugfix for segfault when loading corrupted file by Tomaz Solc. * include/struct.h, src/s_toplevel.c: Added keyboardpan_gain variable to TOPLEVEL 2006-07-24 Ales Hvezda * src/s_toplevel.c: Added initialization of missing variable (toplevel->prev). This caused a rare segmentation fault (Bug#1528080) 2006-07-23 Ales Hvezda * include/defines.h: Applied mouse pan patch by Peter Clifton. (Patch #1527361): Allow middle button panning in gschem * include/struct.h, src/s_toplevel.c: Added variables to support (mousepan-gain #) rc keyword. 2006-07-23 Mike Jarabek * src/o_text_basic.c: Fixed 180 degree rotated text so that it prints upside right unstead of upside down in the postscipt back end. 2006-07-15 Ales Hvezda * src/a_basic.c, src/f_basic.c, src/f_print.c, src/g_basic.c, src/g_rc.c, src/g_smob.c, src/i_vars.c, src/o_arc_basic.c, src/o_attrib.c, src/o_box_basic.c, src/o_bus_basic.c, src/o_circle_basic.c, src/o_complex_basic.c, src/o_line_basic.c, src/o_net_basic.c, src/o_picture.c, src/o_pin_basic.c, src/o_selection.c, src/o_text_basic.c, src/s_attrib.c, src/s_basic.c, src/s_color.c, src/s_conn.c, src/s_hierarchy.c, src/s_menu.c, src/s_papersizes.c, src/s_slib.c, src/s_stretch.c, src/s_tile.c, src/s_undo.c, src/u_basic.c: Converted all free, ?alloc, and strdup calls to use g_free, g_?alloc, and g_strdup. This is the first phase in fixing the slice crash under glib 2.10.x. * src/libgeda.c: Clarified putenv/free comment * src/o_attrib.c, src/o_complex_basic.c src/o_text_basic.c: Removed some residual noweb #lines and comments * src/s_conn.c: Finally figured out that setting a freed object's data field was causing lots of trouble for glib's slice allocator. * src/s_basic.c src/o_picture.c: Changed all g_free() calls on all pixbufs to be g_object_unref. This was causing crashes with glib 2.10.x. * src/o_attrib.c: Added todo to an if statement that causes an invalid read 2006-07-13 Ales Hvezda * libgeda.pc.in: Re-Fixed incorrect order of macros. Reverted back to the previous order, since the new order is clearly wrong on other platforms than FreeBSD. 2006-07-04 Ales Hvezda * Integrated noweb removal patch by Jason Childs. Changed default target in docs/Makefile.am to not build the docs by default; this is to speed up the build. * src/o_arc_basic.c, src/o_circle_basic.c, src/s_cue.c: Merged changes from the .nw files to the c files that Mike made related to removing mils from PS output. * src/g_rc.c, o_complex_basic.c: Merged changes from the .nw files to the .c files that I made just recently. * noweb/*.nw, Makefile.am: Removed all files 2006-07-04 Jason Childs * noweb/a_basic.nw, noweb/f_basic.nw, noweb/f_image.nw, noweb/f_print.nw, noweb/g_basic.nw, noweb/g_rc.nw, noweb/g_register.nw, noweb/g_smob.nw, noweb/gdk-pixbuf-hacks.nw, noweb/i_vars.nw, noweb/libgeda.nw, noweb/m_basic.nw, noweb/o_arc_basic.nw, noweb/o_attrib.nw, noweb/o_basic.nw, noweb/o_box_basic.nw, noweb/o_bus_basic.nw, noweb/o_circle_basic.nw, noweb/o_complex_basic.nw, noweb/o_image.nw, noweb/o_line_basic.nw, noweb/o_list.nw, noweb/o_net_basic.nw, noweb/o_picture.nw, noweb/o_pin_basic.nw, noweb/o_selection.nw, noweb/o_text_basic.nw, noweb/s_attrib.nw, noweb/s_basic.nw, noweb/s_clib.nw, noweb/s_color.nw, noweb/s_conn.nw, noweb/s_cue.nw, noweb/s_encoding.nw, noweb/s_hierarchy.nw, noweb/s_log.nw, noweb/s_menu.nw, noweb/s_page.nw, noweb/s_papersizes.nw, noweb/s_slib.nw, noweb/s_stretch.nw, noweb/s_tile.nw, noweb/s_toplevel.nw, noweb/s_undo.nw, noweb/u_basic.nw: Ported as real c source code file in the src directory. Deleted after porting all noweb comments into doxygen format in respective c source files. * noweb: Removed subdirectory. * src/Makefile.am: Updated to build from c source instead of noweb. Fixed distclean setup to not remove c source files. * docs/Makefile.am: Added support for Doxygen html and LaTex documents. Fixed distclean setup to not remove required Doxygen html files, and to remove html and latex subdirectories on clean. * Makefile.am: Removed noweb as a buildable subdirectory. * configure.ac: Removed checks for noweb and texi2html. Added check for Doxygen. 2006-07-04 Ales Hvezda * libgeda.pc.in: Fixed incorrect order of macros. Discovered by reading USENET's FreeBSD commit logs. :-) * noweb/g_rc.nw, o_complex_basic.nw: Minor bug fix to properly promotion code to properly promote only specified changes. 2006-07-03 Mike Jarabek * noweb/o_arc_basic.nw, noweb/o_circle_basic.nw, noweb/s_cue.nw: Removing of references to `mils' function in PS output. 2006-06-16 Werner Hoch * noweb/f_print.nw: Added code to check flag for vector vs. PS text output in text f_print_objects(). 2006-05-22 Mike Jarabek * share/prolog.ps: Added custom stringwidth function to printing routines that handles overbar characters. Added overbar drawing support. The overbar thickness is coded to be 10% of the font size. The height of the overbar is set to the font size. 2006-05-21 Werner Hoch * src/Makefile.am: Commented out the indentation of the C code, so gdb can return correct information when debugging. * noweb/s_page.nw: Added one more sanity check. * include/struct.h: Moved rotated_inside into the TOPLEVEL structure. 2006-05-20 Ales Hvezda * scripts/notangle_guile.in: Applied patch by Steve Brown to fix guile stack overflow * noweb/f_print.nw: Fixed missing @ which made notangle_guile a little happier. * include/i_vars.h, include/prototype.h, include/struct.h, noweb/g_rc.nw, noweb/g_register.nw, noweb/i_vars.nw, noweb/o_complex_basic.nw, noweb/s_toplevel.nw: Finally added code to support the rc keyword: always-promote-attributes. This string holds a list of attribute names that are always promoted. * src/Makefile.am: Changed the .nw.c: rule to redirect the generated C file to a temp file and then move it to the real one. This fixes the stale file problem when notangle fails. * noweb/s_toplevel.nw: Added missing variable init 2006-05-17 Mike Jarabek * Makefile.am, configure.ac Added share directory and rule to support share directory. * include/i_vars.h, include/prototype.h, include/struct.h Added struct variable to contain name of PostScript prolog file and changes to function prototypes. * noweb/f_print.nw New PostScript output functions. Unicode support. * noweb/g_rc.nw, noweb/g_register.nw, i_vars.nw New RC command to set the PostScript prolog file. * noweb/o_*.nw, noweb/s_cue.nw New PostScript output changes. Output code now 50% smaller * share/Makefile.am New makefile to install prolog. 2006-05-17 Carlos Nieves Onega * include/struct.h: Added variable which controls if the user can move objects just dragging them. 2006-04-22 Carlos Nieves Onega * noweb/o_complex_basic.nw: Allow rotation and mirroring of complex objects inside complex objects. 2006-04-14 Werner Hoch * noweb/f_basic.nw: added for f_open() compiler warning was: implicit declaration function of difftime() 2006-04-13 Werner Hoch * noweb/f_print.nw: added for f_print_header() 2006-04-09 Carlos Nieves Onega * noweb/o_text_basic.nw: Fixed the overbar misinterpretation of multiple escape slashed (bug 1458681). Thanks to Werner Hoch for reporting the bug. 2006-03-03 Carlos Nieves Onega * noweb/o_text_basic.nw: Finish the overbar if the ending overbar delimiter is omitted. Feature suggested by Enoch H. Wexler. Thanks. 2006-02-27 Carlos Nieves Onega * noweb/o_text_basic.nw: Added support for overbars. Delimiter character for the overbar is "\_" string (it should be at the beginning and at the end of the overbar). Support for overbars in Postscript code needs to be done. 2006-02-26 Mike Jarabek * noweb/f_print.nw: Added DSC comments and logic to f_print() so that page managers can make more intelligent choices about paper sizes. The code lies about the actual extents, and so does not completely obey the DSC rules. 2006-02-25 Carlos Nieves Onega * include/prototype.h, include/struct.h, noweb/g_smob.nw: Added new smob functions for OBJECT type. * include/prototype.h, noweb/s_color.nw: Added a new function returning the index of a given color name. 2006-02-25 Carlos Nieves Onega * noweb/f_basic.nw: Set the backup file readonly, so an 'rm *' command will ask the user if he really wants to delete the file. When loading an autosave backup file, set the page as changed. Thus, when the user closes the page, gschem will ask him wether to save it or not. 2006-01-22 Ales Hvezda * autogen.sh, m4/gettext.m4: Removed m4 files since they are installation specific 2006-01-16 Ales Hvezda * configure.ac: Bumped package version to 20060123 and also change the shared library's version to 25:0:0 * README: Updated for the new year and release. 2006-01-07 Stuart Brorson * autogen.sh, m4/gettext.m4: Included "-I m4" into aclocal to pick up gettext.m4 from local dir. 2006-01-04 Ales Hvezda * noweb/s_encoding.nw: Removed extra @'s since they are no longer required for either notangle_guile or notangle (noweb proper) and they were breaking the build for notangle_guile. Thank to Stuart and Matthias Wenzel for the fix. 2005-12-02 Carlos Nieves Onega * noweb/s_page.nw: Make the s_page_autosave function more failproof, checking all the pointers. This change, together with some gschem changes at the same date will fix some gschem crashes reported by David Carr. Thanks David! 2005-11-27 Carlos Nieves Onega * noweb/s_encoding.nw: Break some lines so notangle_guile doesn't get confused by noweb scape sequences. 2005-11-27 Carlos Nieves Onega * include/funcs.h, include/struct.h, noweb/f_basic.nw, noweb/s_page.nw: Added definition of the autosave backup filename string. Added check for a backup file when loading a schematic, and a function to call an app-dependant function to ask the user if the backup file should be loaded or not. 2005-11-18 Carlos Nieves Onega * include/struct.h, noweb/f_basic.nw, noweb/s_page.nw: Changed autosave code so the timer callback doesn't do the autosave backups. Now are made within o_undo_savestate, so backups will ONLY be saved when there was a change to the schematic and there was a timeout of the autosave timer. 2005-11-06 Ales Hvezda * include/prototype.h, noweb/s_conn.nw: Added search routine which is used in determining if a net segment (of the "L") connects to something else. 2005-10-30 Ales Hvezda * noweb/s_log.nw: Added an if to get rid of an assert from glib if the logfile_fd is not initialized. Bug reported by John Luciani. 2005-10-29 Carlos Nieves Onega * include/defines.h, include/prototype.h, include/struct.h, noweb/f_basic.nw, noweb/s_page.nw, noweb/s_toplevel.nw, noweb/s_undo.nw: Added support for backup copies and autosaving every "interval" seconds. 2005-10-15 Carlos Nieves Onega * noweb/f_image.nw: Print error if calling f_image_write without libgdgeda support. 2005-10-05 Werner Hoch * include/struct.h: added the net-drawing patch from David Carr it requires two additional coordinates in st_toplevel 2005-10-01 Carlos Nieves Onega * noweb/s_encoding.h: Fixed compiler warning. Thanks to Dan McMahill for pointing out the solution. 2005-09-30 Carlos Nieves Onega * include/struct.h, noweb/o_picture.nw: Added embedded variable to the picture struct and initialize it. * include/prototypes.h, noweb/Makefile.am, noweb/s_encoding.nw, src/Makefile.am: Added new file containing functions for base64 encoding/decoding. 2005-09-27 18:31 Dan McMahill * docs/libgedadoc.texi: add title to document to quiet the warnings. 2005-09-27 18:31 Dan McMahill * noweb/s_slib.nw: remove some compiler warnings (use of char as a subscript) 2005-09-19 Werner Hoch * noweb/f_print.nw: fixed color background box size in f_print_header 2005-08-19 Ales Hvezda * configure.ac: Bumped the package version to 20050820 which will be a real snapshot. 2005-08-14 Ales Hvezda * noweb/g_basic.nw: Applied patch by Carlos Azevedo which fully expands the path of an rc file, so that it can be found. * include/struct.h, noweb/s_toplevel.nw: Added add_attribute_offset rc variable to TOPLEVEL. * include/struct.h, noweb/s_toplevel.nw: Added grid_mode and grid_spacing rc variables to TOPLEVEL. * configure.ac: Updated package version to 20050814. This is a temporary version and not a real release number. 2005-06-26 Ales Hvezda * include/globals.h: Removed a completely bogus extern declaration. Reported by Wojciech Kazubski. Thanks. 2005-04-20 Carlos Nieves Onega * include/prototype.h, noweb/o_picture.nw, noweb/f_print.nw: Added support for printing pictures to postscript. 2005-03-14 Ales Hvezda * noweb/o_text_basic.nw: Removed an extra g_free which was corrupting the heap. Many thanks to Patrick for helping resolve this bug. 2005-03-13 Ales Hvezda * configure.ac: Removed all tests for gtk+ 1.2.x and fixed error message if gtk+ 2.2.x is not found. 2005-03-11 Patrick Bernaud * noweb/g_rc.nw (g_rc_map_font_character_to_file): Adapted for the new char-to-file hash table. * noweb/o_text_basic.nw: Improved memory use and global efficiency in the unicode support: hash tables now takes a gunichar as key. Also removed GTK 1.2 specific code. 2005-03-11 7:05 Sturt Brorson * noweb/s_toplevel.nw: Added initialization of toplevel_head->next in s_toplevel_init() to fix possible uninitialized jump in s_toplevel_new(). 2005-03-10 Patrick Bernaud * noweb/g_rc.nw (g_rc_map_font_character_to_file): Added validation of SCM parameters (SCM_ASSERT). 2005-03-09 Ales Hvezda * noweb/f_basic.nw, o_complex_basic.nw: Fixed compiler warnings about uninitialized variables 2005-03-08 Ales Hvezda * configure.ac: Bumped version to 20050313 * configure.ac: Bumped libgeda.so version to 23. 2005-03-05 Carlos Nieves Onega * noweb/g_rc.nw: Removed deprecated guile functions. 2005-03-05 Carlos Nieves Onega * noweb/g_rc.nw, noweb/g_register.nw, noweb/libgeda.nw, noweb/o_text_basic.nw, include/prototype.h, include/defines.h, noweb/s_toplevel.nw: Added Unicode support, character to font file mapping by hashtable, and font mapping definition using system-gafrc. 2005-02-28 Patrick Bernaud * scripts/notangle_guile.in: Improved script with changes suggested by Thien-Thi Nguyen. 2005-02-24 Patrick Bernaud * scripts/notangle_guile.in: New version. * configure.ac, scripts/Makefile.am: Adapted for renaming of script. * scripts/notangle_guile.scm.in: Renamed to notangle_guile.in. 2005-02-23 Ales Hvezda * configure.ac: Fixed a minor typo that was causing the linking of both glib 1.2.x and glib 2.x into the same executable. This caused gschem and friends to segfault upon startup. 2005-02-23 Carlos Nieves Onega * configure.ac, noweb/o_picture.nw: Added temporary GDK dependency. Fixed CLI compilation error when gdk_init was not found when linking. 2005-02-22 Carlos Nieves Onega * noweb/o_picture.nw: Fix character conversion. * noweb/o_picture.nw: Initialize GDK if it's a non-graphical app. 2005-02-21 05:38 Dan McMahill * configure.ac, src/Makefile.am: if we are using gcc, add -Wall 2005-02-21 03:58 Dan McMahill * autogen.sh: avoid using the '-path' primary to find(1) as it's an extension to posix.2 and is not supported on some operating systems such as solaris. Now we can autogen.sh on solaris 9. 2005-02-21 03:04 Dan McMahill * noweb/: f_image.nw, g_rc.nw, o_picture.nw, o_text_basic.nw: fix some format string/type mismatches, format string/# of arg mismatches, /* within comments, unused variables, and undeclared variable bugs. 2005-02-20 Patrick Bernaud * noweb/s_clib.nw: Added a missing include of defines.h required for s_log_message(). * include/defines.h (s_log_message): Added macro for message logging. * noweb/s_log.nw: Rewritten to use GLib's message logging. 2005-02-19 Carlos Nieves Onega * configure.ac, include/funcs.h, include/libgeda.h, include/o_types.h, include/prototype.h, include/struct.h, noweb/Makefile.am, noweb/a_basic.nw, noweb/f_image.nw, noweb/f_print.nw, noweb/gdk-pixbuf-hacks.nw, noweb/o_attrib.nw, noweb/o_basic.nw, noweb/o_complex_basic.nw, noweb/o_list.nw, noweb/o_picture.nw, noweb/s_basic.nw, noweb/s_toplevel.nw, src/Makefile.am: Added picture support. 2005-02-18 22:26 Dan McMahill * noweb/g_rc.nw: remove a static declaration to match prototype in prototype.h 2005-02-17 20:00 Stuart Brorson * noweb/g_rc.nw, noweb/libgeda.nw: Reverted to putenv after W. Hoch had problems with compiling g_setenv. 2005-02-14 22:32 Dan McMahill * noweb/o_complex_basic.nw: fix a couple of format string not matching # of arguments bugs 2005-02-14 22:32 Dan McMahill * noweb/f_basic.nw: remove an unused variable 2005-02-14 22:31 Dan McMahill * noweb/s_clib.nw: add some missing config.h inclusions 2005-02-14 22:30 Dan McMahill * noweb/a_basic.nw: fix a "/* in a comment" warning 2005-02-14 22:29 Dan McMahill * include/prototype.h: change prototypes in public header file to not be static 2005-02-14 02:17 Dan McMahill * include/defines.h, noweb/g_basic.nw, noweb/g_smob.nw: put back scm_makfrom0str(). It is scm_makfromstr() which was deprecated, scm_makfrom0str() is still ok. Suggested by Patrick Bernaud. 2005-02-13 Patrick Bernaud * noweb/s_page.nw (s_page_init_list): Removed useless initialization of page head fields. * docs/Makefile.am, src/Makefile.am, noweb/Makefile.am: * docs/libgedadoc.texi: Updated after removal of s_scratch. * noweb/s_scratch.nw: Removed. 2005-02-13 01:38 Dan McMahill * include/prototype.h, noweb/s_slib.nw: fix up const usage to be consistant. Gets rid of several gcc warnings. 2005-02-11 Patrick Bernaud * noweb/f_basic.nw, noweb/libgeda.nw, s_hierarchy.nw: Adapted for changes in toplevel and page APIs and function set_window. * noweb/m_basic.nw (set_window): New prototype: added pointer on page to work on as second parameter. * noweb/s_page.nw: Simplified API and refactoring. * src/Makefile.am, docs/Makefile.am, noweb/Makefile.am: Modified for addition of s_toplevel.nw and deletion of s_project.nw. * docs/libgedadoc.texi: Changed references to s_project in s_toplevel. * noweb/s_toplevel.nw: New file for handling of toplevel structures. * noweb/s_project.nw: Removed: replaced by s_toplevel.nw. * include/struct.h: Modified cwd field of toplevel for dynamic memory allocation. 2005-02-08 22:26 Dan McMahill * include/defines.h, noweb/g_basic.nw, noweb/g_smob.nw: replace deprecated guile functions with approved guile-1.6.6 ones 2005-02-04 Patrick Bernaud * include/prototype.h: * noweb/f_basic.nw, noweb/g_smob.nw, noweb/i_vars.nw: * noweb/libgeda.nw, noweb/o_attrib.nw, noweb/s_color.nw: * noweb/s_log.nw, noweb/s_menu.nw, noweb/s_page.nw: * noweb/s_undo.nw, noweb/u_basic.nw: Deleted functions u_basic_strdup() and u_basic_strdup_multiple(): use GLib functions instead. * noweb/o_complex_basic.nw, noweb/o_text_basic.nw: * noweb/s_log.nw, noweb/s_page.nw, noweb/s_slib.nw: * include/defines.h: Deleted *_SEPARATER_* macros: now rely on GLib for the determination of the directory separator. 2005-02-04 04:39 danmc * configure.ac, noweb/a_basic.nw, noweb/f_basic.nw, noweb/f_image.nw, noweb/f_print.nw, noweb/g_basic.nw, noweb/g_rc.nw, noweb/g_register.nw, noweb/g_smob.nw, noweb/i_vars.nw, noweb/libgeda.nw, noweb/m_basic.nw, noweb/o_arc_basic.nw, noweb/o_attrib.nw, noweb/o_basic.nw, noweb/o_box_basic.nw, noweb/o_bus_basic.nw, noweb/o_circle_basic.nw, noweb/o_complex_basic.nw, noweb/o_image.nw, noweb/o_line_basic.nw, noweb/o_list.nw, noweb/o_net_basic.nw, noweb/o_pin_basic.nw, noweb/o_selection.nw, noweb/o_text_basic.nw, noweb/s_attrib.nw, noweb/s_basic.nw, noweb/s_clib.nw, noweb/s_color.nw, noweb/s_conn.nw, noweb/s_cue.nw, noweb/s_hierarchy.nw, noweb/s_log.nw, noweb/s_menu.nw, noweb/s_page.nw, noweb/s_papersizes.nw, noweb/s_project.nw, noweb/s_scratch.nw, noweb/s_slib.nw, noweb/s_stretch.nw, noweb/s_tile.nw, noweb/s_undo.nw, noweb/u_basic.nw: - add dmalloc debugging support, enabled by --enable-dmalloc - add Electric Fence debugging support, enabled by --enable-efence Both are off by default 2005-02-03 23:04 danmc * include/prototype.h, noweb/a_basic.nw, noweb/f_basic.nw, noweb/f_image.nw, noweb/f_print.nw, noweb/g_basic.nw, noweb/o_image.nw, noweb/s_project.nw: - lots of clean up of 'const' usage. Seems to have squished all gcc warnings around const. Mostly this involved adding lots of missing const's. - also add a few missing prototypes and header files. - fix call to realpath (it was being given a pointer to a pointer rather than a pointer). 2005-02-03 03:54 danmc * include/prototype.h: add missing s_project_alloc prototype 2005-02-01 Patrick Bernaud * noweb/*.nw: * include/libgeda.h: Changed the includes of gh.h in include of libguile.h required by the scm interface of guile. * noweb/g_basic.nw, noweb/g_rc.nw: * noweb/g_register.nw, noweb/g_smob.nw: Switched to the new scm interface of guile. 2005-01-31 Patrick Bernaud * noweb/g_rc.nw: Fixed the escaping in format strings of messages. 2005-01-30 Patrick Bernaud * noweb/g_rc.nw: Code cleanup: added guile assertions, fixed some memory problems, make it use more of glib. * noweb/o_complex_basic.nw (o_complex_read): Fixed test after library search to avoid crash when the component is not found. 2005-01-29 Patrick Bernaud * noweb/g_rc.nw, noweb/o_complex_basic.nw: Adapted for new component library code. * noweb/s_clib.nw: Rewrote code for component library. 2005-01-28 Stuart Brorson * noweb/f_basic.nw, noweb/g_rc.nw, noweb/s_page.nw, noweb/s_project.nw: incorporated patch by Patrick Bernaud. 2005-01-27 Stuart Brorson * include/prototype.h, include/struct.h, noweb/f_basic.nw, noweb/g_rc.nw, noweb/s_page.nw, noweb/s_project.nw, noweb/u_basic.nw: Changes made to enable correct opening of schematics in foreign directories. New algorithm: 1. Take the filename the user wants to open. 2. Turn it into an absolute path, like /foo/bar/baz.sch 3. From the path, figure out the directory, /foo/bar 4. From this, create the absolute path to the local gafrc, /foo/bar/gafrc. 5. cd to /foo/bar 6. read /foo/bar/gafrc while sitting in the directory /foo/bar. This takes care of all the guile search path problems, like when people put things like (component-library "../common/symlib") or some such into their RC files. 7. After that, read the file itself. 8. Leave the directory set to this directory. 2005-01-23 Ales Hvezda * noweb/o_complex_basic.nw: Fixed a bug where sometimes missing rotated/mirror components will cause gschem to render the "missing component symbol" out in la la land. * noweb/o_complex_basic.nw: Changed the appearance of the hazard triangle to look a little better (angles rounded). Suggestion by Patrick. * noweb/a_basic.nw: Fixed another bug in the handling of symversion=. If the component was the last one in the file and had no attributes, then it was not getting checked. * noweb/o_complex_basic.nw: Further expanded when the placed holder component is created in o_complex_add(): when the component filename cannot be found. This hopefully fixes the bug that Peter reported: 1) running gschem file.sch, 2) renaming a symbol, 3) doing a page revert 4) place holder not being shown. 2005-01-22 Ales Hvezda * include/defines.h, noweb/a_basic.nw, f_image.nw, f_print.nw, o_attrib.nw, o_basic.nw, o_complex_basic.nw, o_list.nw, o_selection.nw, s_basic.nw, s_clib.nw, s_conn.nw, s_cue.nw: Slightly refactored and rearranged Stuart's OBJ_PLACEHOLDER code to make it a first class object within libgeda. Added a graphical representation and a few bits of code here and there to make it manipulatable in gschem. 2005-01-22 Carlos Nieves Onega * noweb/prototype.h, noweb/s_scratch.nw: Added function s_scratch_non_unique_string_fill. This can enable gnetlist to return a non-unique list of packages. In order to don't duplicate code, s_scratch_string_fill function now checks if the string is unique and calls s_scratch_non_unique_string_fill. 2005-01-19 Stuart Brorson * noweb/o_complex_basic.nw, include/o_types.h: Created OBJ_PLACEHOLDER to signal a complex found with no symbol file. Changed o_complex_read to put this placeholder into object_list instead of nuking complex. This is to mitigate problem where components were being removed if sym files weren't found. 2005-01-15 Stuart Brorson * noweb/s_log.nw, prototype.h: changed s_log_init to take const char as arg since it's always called with a quoted string. 2005-01-10 Ales Hvezda * noweb/a_basic.nw: Fixed the symbol version checking code to handle the case when no attribute are attached to component. The symbol version wasn't being checked in this case in the past. 2005-01-07 Patrick Bernaud * noweb/s_project.nw (s_project_setup_rest): Made it handle initialization of field current_clib. * include/struct.h: Changed field current_clib of st_toplevel to char*. * noweb/s_clib.nw (s_clib_getfiles): Modified prototype and simplified code: now returns a list of filenames to avoid limitation on number of files in directory. 2005-01-04 Patrick Bernaud * noweb/o_basic.nw (o_set_line_options): Moved in this function some error checking and correcting that previously was in gschem code. 2005-01-03 Ales Hvezda * include/struct.h, noweb/s_project.nw, noweb/f_print.nw: Implemented a threshold which controls when postscript outputted text is rendered using the vector font instead of the postscript font. This is a work around for the rather inaccurate multi-line postscript output. 2004-12-27 Ales Hvezda * configure.ac: Updated version to 20041228, update shared library version to 22 2004-07-06 Ales Hvezda * include/struct.h: Added major_changed_refdes GList to toplevel structure. * include/prototype.h: Added new function prototype for: o_complex_check_symversion * noweb/a_basic.nw: Added some code to make the call to o_complex_check_symversion when a symbol has been read from disk. * noweb/s_project.nw: Misc init code * noweb/o_complex_basic.nw: Added code to implement o_complex_check_symversion which is called whenever a symbol is loaded from disk. This function goes through and searches for the symversion= attribute both inside the symbol and attached to the instanciated symbol and checks to make sure nothing/something has changed. * noweb/o_complex_basic.nw: Rearranged o_complex_is_eligible_attribute a little to make it easier to force certain attributes (like the new symversion= attribute) to be always promoted (even if they are invisible). Misc whitespace cleanup too. * noweb/o_complex_basic.nw: Fixed a few spelling mistakes and changed version checking so that minor changes are not checked if there are major changes. 2004-07-03 Ales Hvezda * configure.ac: Added code to specify the rc directory via --with-rcdir. Also set GEDARCDIR for the newly added rc code. * include/Makefile.am, papersizes.h, libgeda.h: Added papersizes.h from gschem. * include/prototypes.h: Added a whole slew of new function prototypes for the new g_rc_* functions. * src/Makefile.am, noweb/Makefile.am, noweb/g_register.nw, g_rc.nw, i_vars.nw, include/i_vars.h: Moved a whole bunch of rc code into libgeda from the various programs. It is now possible to write libgeda dependent programs without having to duplicate a lot of rc code. * noweb/libgeda.nw: Added a bunch of init routines which the individual programs were calling into libgeda_init(). * configure.ac: Updated version to 20040710 and changed shared library version to 21:0:0 2004-05-23 Ales Hvezda * noweb/o_bus_basic.nw, o_net_basic.nw, s_cue.nw: Fixed the multi colored dot postscript problem reported by Gabriel Paubert. Removed some completely redundant postscript to set the color in the wrong spot. 2004-01-17 Ales Hvezda * config.h.in: Remove machine generated file. 2004-01-11 Ales Hvezda * configure.ac: Updated version to 20040111 * noweb/o_arc_basic.nw o_attrib.nw o_box_basic.nw o_bus_basic.nw o_circle_basic.nw o_line_basic.nw o_pin_basic.nw o_text_basic.nw: Fixed most -Wall warnings. * include/prototype.h: Added missing function (caught by -Wall in gschem) * noweb/o_pin_basic.nw: Had to remove the pin whichend reset I added on 2003-12-22, since it broke the auto pin whichend code (o_pin_update_whichend; which relies on whichend equaling -1 when the whichend is unknown). Fix the whichend for embedded components still needs to be dealt/fixed. This problem needs a release note. 2004-01-10 Ales Hvezda * noweb/o_text_basic.nw: Fixed the postscript printing of text when it is rotated 180 degrees. * noweb/o_text_basic.nw: Attempted to get the multi line text printing a little more accurate. Not quite there, still have a large error when the text consists of many lines. Work in progress. * include/defines.h: Changes LINE_SPACING to be a float. 2004-01-04 Ales Hvezda * noweb/o_text_basic.nw: Applied a patch by Carlos for the new spanish characters he contributed. 2003-12-31 Ales Hvezda * noweb/o_attrib.nw: Fixed a really nasty bug which only appeared when using glib 1.2.x. Appearently g_strsplit() does not split strings under glib 1.2.x vs glib 2.2.x in the same way. Put back some old code which works properly when using glib 1.2.x. Bug identified by Stuart. Thanks! * include/prototype.h: Added missing function prototypes. * configure.ac: Bumped version to 20031231 2003-12-30 Ales Hvezda * noweb/o_text_basic.nw, include/struct.h: Added displayed_width and displayed_height variables to the st_text structure. These variables represent the actual width and height of the displayed string. This info is needed when drawing the quick text rectangles. 2003-12-29 Ales Hvezda * noweb/o_text_basic.nw: Added multi line text postscript output. It works mostly, but there are still some unexplained inaccuracies. * noweb/o_pin_basic.nw: Further refined the fix to the embedded pins not having the right whichone set. * noweb/o_text_basic.nw: Partially applied a UTF patch by Carlos. This patch started adding unicode support to the internal font table. Since I cannot test this change right now, I have decided to not apply this patch completely. I did apply all the 1.5 to 2 changes as well as the memory leak plug. * noweb/o_text_basic.nw: Included in the above patch was the change to make the multi line spacing 2 instead of 1.5. I made this line spacing parameter a #define (in defines.h) to make changing it easier. Eventually this will have to become a rc files parameter. * noweb/o_attrib.nw: Applied another patch by Carlos to remove the restriction that attributes cannot be multi line text objects. 2003-12-22 Ales Hvezda * noweb/o_pin_basic.nw: In search of the "why aren't pins which are part of embedded components not connecting" bug, discovered that if an older schematic is read (with embedded components), the whichone variable wasn't being reset properly (missing <= ). 2003-11-20 Ales Hvezda * include/struct.h, noweb/s_project.nw: Added unnamed_netname variable to TOPLEVEL (and initialized to NULL). This is for gnetlist. 2003-11-09 Ales Hvezda * config.guess config.sub depcomp install-sh ltmain.sh missing mkinstalldirs: Removed machine generated files from CVS * Makefile.am: Added the above files to be cleaned during maintainer-clean * autogen.sh: Added script to create auto* generated files 2003-10-26 Ales Hvezda * noweb/o_text_basic.nw: Added some code to make sure that the TAB_CHAR_MODEL character is loaded (via o_text_load_font) before its text_size is used. 2003-10-22 Ales Hvezda * include/defines.h: Applied Carlos' latest tab improvement patch. Added TAB_CHAR_MODEL as a #define. TAB_CHAR_MODEL defines what character is used to decide how big the single space in the tab character is. * noweb/o_text_basic.nw: Also part of Carlos' latest tab improvement patch. Calculated the spacing for a tab using the TAB_CHAR_MODEL and adding an offset. 2003-10-19 Ales Hvezda * a_basic.nw, g_smob.nw, m_basic.nw, o_arc_basic.nw, o_attrib.nw, o_box_basic.nw, o_bus_basic.nw, o_circle_basic.nw, o_complex_basic.nw, o_line_basic.nw, o_net_basic.nw, o_pin_basic.nw, o_text_basic.nw, s_basic.nw, s_slib.nw: Applied Carlos Nieves Onega's multi-line text patch. Thank you Carlos! The next items are the all changes from Carlos' patch and my integration changes. The changes happened over a period of a few weeks, but were checked in on the above date. * noweb/a_basic.nw: Removed fixed size buffer from o_save_embedded() and o_save(). Also changed the function signature (removed buf) of all o_*_save functions. * noweb/a_basic.nw: Changed call to o_text_read to take file pointer. string(s) is now read inside o_text_read(). * noweb/a_basic.nw: Removed old string[...] variable. * noweb/a_basic.nw: Added missing free() in o_save_embedded(). * noweb/a_basic.nw: Simplified the update sym/sch message * noweb/g_smob.nw: Fixed up call to o_attrib_get_name_value (which now it's own memory allocation of the parameters). * noweb/g_smob.nw: Added if's around free's since o_attrib_get_name_value can return null in certain cases. * noweb/m_basic.nw: Removed unnecessary calculation from set_window() * noweb/o_arc_basic.nw: Changed signature of o_arc_save to just take an object pointer. * noweb/o_attrib.nw: Removed fixed size character buffer in o_read_attribs. * noweb/o_attrib.nw: Changed o_save_attribs to call new signature save functions. * noweb/o_attrib.nw: Changed o_attrib_get_name_value to return allocated character buffers (instead of having to pre-allocate them). This change had significant impact on lots of other code. If instability occurs, then look at all instances of o_attrib_get_name_value to make sure memory is allocated properly and freed. Name and value must be freed eventually. * noweb/o_attrib.nw: o_attrib_get_name_value() was rewritten to use g_strsplit to break up the string into name and value. * noweb/o_attrib.nw: o_attrib_search_name(), o_attrib_search_string_partial(), o_attrib_search_attrib_value(), o_attrib_search_attrib_name(), o_attrib_search_toplevel(), o_attrib_search_name_single(), o_attrib_search_name_single_count(): All modified to use the newly changed o_attrib_get_name_value(). * noweb/o_attrib.nw: Added a bunch of frees in certain places to prevent memory leaks. * noweb/o_attrib.nw: Rearranged o_attrib_get_name_value() so that a memory leak does not occur (check the input up front as possible before splitting the attribute) * noweb/o_attrib.nw: Added extra checks to prevent possible core dumps. * noweb/o_attrib.nw: Removed an extra malloc which was causing a memory leak. * noweb/o_attrib.nw: Changed the "Found an improper attribute: ..." message to be logged to the log file instead of stderr. * noweb/o_box_basic.nw: Changed signature of o_box_save to just take an object pointer. * noweb/o_bus_basic.nw: Changed signature of o_bus_save to just take an object pointer. * noweb/o_circle_basic.nw: Changed signature of o_circle_save to just take an object pointer. * noweb/o_complex_basic.nw: Removed fixed size character buffer from: o_complex_add(), o_complex_read(), o_complex_save(). Changed signature of o_complex_save to just take an object pointer. * noweb/o_line_basic.nw: Changed signature of o_line_save to just take an object pointer. * noweb/o_net_basic.nw: Changed signature of o_net_save to just take an object pointer. * noweb/o_pin_basic.nw: Changed signature of o_pin_save to just take an object pointer. * noweb/s_basic.nw: Add null check in nl_remove(). Added remove_last_nl(). * noweb/s_slib.nw: Removed fixed size character buffer. * noweb/o_text_basic.nw: Added o_text_num_lines() * noweb/o_text_basic.nw: In o_text_load_font removed fixed size character buffer. Added code to set the width of the new line character (a nop really) and set the width of characters that cannot be identified. * noweb/o_text_basic.nw: Rewrote o_text_height() and o_text_width() to handle multiple line text objects. o_text_height takes the input string (since it can be multiple lines long) as a parameter now. * noweb/o_text_basic.nw: Removed a size adjustment hack when calculating the width of a string. * noweb/o_text_basic.nw: Added code to o_text_create_string to handle multi-line text objects. Also added code to handle tab characters within text lines. * noweb/o_text_basic.nw: Added code to o_text_create_string to not add newline or tabs to the lowlevel text list * noweb/o_text_basic.nw: Removed fixed size character buffers in o_text_add(). Removed 1024 limit on text lines. Fixed up a call to o_attrib_get_name_value to use the new function signature. * noweb/o_text_basic.nw: Changed o_text_read() to take the file pointer as an argument. This function now reads in the multiple lines of text. Added code to handle the reading in of multi-line text items when the file format is 1. * noweb/o_text_basic.nw: Added log message when using gtk+ 1.2.x and a multi-line text item is read in. * noweb/o_text_basic.nw: In o_text_set_info_font(), added code to set the width of the special newline character correctly. * noweb/o_text_basic.nw: Added code to set the text width of character not found (loaded the ? char instead) * noweb/o_text_basic.nw: Changed signature of o_net_save to just take an object pointer. Changed file format to save the number of lines in the text item. * noweb/o_text_basic.nw: In o_text_recreate(), o_text_print(), o_text_mirror_old(), fixed the usage of o_attrib_get_name_value(). * noweb/o_text_basic.nw: Removed the w_current parameter from o_text_height() since it is not used. * noweb/g_smob.nw, o_attrib.nw, o_text_basic.nw: Added some checks to make sure valid pointers are freed (everywhere o_attrib_get_name_value) is called. * noweb/*.nw: misc code format cleanup * include/prototype.h: Changed string to file pointer to o_text_read() * include/defines.h: Added #define for max single line length. The text line can spawn multiple 1024 length lines, but a single line can only be 1024 characters long. * include/globals.h: Added tab_in_chars global variable. * noweb/o_attrib.nw: Removed old string[...] variable. * noweb/o_attrib.nw: Added code to make sure that attributes are only a single line. * noweb/o_box_basic.nw, noweb/o_circle_basic.nw: Removed all // comments (replaced them with C comments) 2003-10-18 Ales Hvezda * configure.ac: Updated version to something more recent, but this version is not an official release. 2003-10-05 Ales Hvezda * configure.ac: Oops, misspelled saved_CFLAGS and therefore libgeda wasn't being built with -O2 -g which probably caused the code to be rather un-optimal. Fixed. 2003-10-04 Ales Hvezda * configure.ac: Updated version to something more recent, but this version is not an official release. * noweb/a_basic.nw, o_arc_basic.nw, o_attrib.nw, o_box_basic.nw, o_bus_basic.nw, o_circle_basic.nw, o_complex_basic.nw, o_line_basic.nw, o_net_basic.nw, o_pin_basic.nw, o_text_basic.nw: Added the file format flag to the "v" file line. Also moved all version numbers into include/define.h. * noweb/o_text_basic.nw: Removed fudge factor from width calculation. * include/defines.h: Added version numbers, added #define for the current file format version (FILEFORMAT_VERSION). * include/prototype.h: Updated due to changed loading function signatures. * configure.ac: Incremented shared library to 20 2003-09-20 Ales Hvezda * configure.ac: Fixed MinGW cflags/ldflags * auto* files: Updated to autoconf 2.57 and automake 1.7.6 2003-08-31 Ales Hvezda * configure.ac: Changed AC_CONFIG_HEADER to AM_CONFIG_HEADER * configure.ac: Removed the use of GUILE_PROGS as it is not part of guile 1.4. Put in a manual check for guile-config. 2003-08-30 Ales Hvezda * configure.ac: Fixed the test for libgdgeda. It was failing if it was not installed; libgdgeda is optional and should not cause a configure to fail. 2003-08-24 Ales Hvezda * configure.ac: Improved a bunch of the external library tests for gtk+, guile. * configure.ac: Improved the configuration summary message. * configure.ac: Oops forgot to AC_SUBST the LIBTOOL_FLAGS variable, shared library was being build with the wrong version * configure.ac: Added --with-gtk12 flag so that users can force libgeda to use gtk+ 1.2 instead of gtk+ 2.2.x (if it is found) * configure.ac: Removed gtk+ and the X libraries from LIBGEDA_LDFLAGS variable so that programs that don't need gtk+ or X, don't link those libraries. gschem is the only program which should be linking gtk+ and X. 2003-07-01 Ales Hvezda * configure.ac and friends: Rewrote the configure scripts to be sane, much simpler, and up-to-date. * configure.in, acconfig.h, and others: Removed a whole bunch of obsolete files. * noweb/o_arc_basic.nw, o_box_basic.nw o_bus_basic.nw o_circle_basic.nw, o_line_basic.nw, o_net_basic.nw, o_pin_basic.nw: Obsoleted the HAS_LIBGDGEDA2 #define. libgdgeda 2.0.15 is now required. * libgeda.pc.in: Added new file which is used with pkg-config. libgeda now requires pkg-config to configure and the other tools will need pkg-config to link to libgeda. * libgeda-config.in: Remove this file in favor to using pkg-config. * Toplevel Makefile: Added PKG_CONFIG_PATH environment variable to the help message. This variable is now required. * *.in, *.h, etc: Removed a bunch of old unneeded auto* files. * Toplevel Makefile: Changed the libgeda-config-install to libgeda-pc-install (for the libgeda.pc file) * Toplevel Makefile: Removed all traces of gesym-config*, since this script is no longer used. 2003-06-30 Ales Hvezda * configure.in, Makefile.am's etc: Applied gtk+-2.x patch by Ye Ma * noweb/*.nw: A few tweaks to get the above to build. 2003-05-25 Ales Hvezda * noweb/o_arc_basic.nw, o_circle_basic.nw: Added missing break; to make compiler happy. * noweb/o_bus_basic.nw: Removed unused variable. * noweb/s_page.nw: Added missing string.h include. 2003-05-22 Ales Hvezda * configure.in: Updated version 2003-02-24 Ales Hvezda * src/Makefile.am: Bumped shared library version number to 18. 2003-02-23 Ales Hvezda * include/defines.h, noweb/f_print.nw: Applied Antonio's no margin printing patch (with minor modifications). Thanks. * include/defines.h, noweb/f_print.nw: Renamed "limits" to "extents" 2003-02-22 Ales Hvezda * noweb/s_clib.nw: Added a little more error checking to s_clib_add_entry(). 2003-02-18 Ales Hvezda * configure.in: Bumped version to 20030223 * config.h.in, configure.in, include/libgeda.h, noweb/g_basic.nw: Applied Steve Tell's guile 1.6.3 patch. Thanks. 2003-02-06 Ales Hvezda * configure.in: Applied Gabriel Paubert's warning reducing patch with a few minor mods. 2003-01-29 Ales Hvezda * configure.in: Changed -fnative-struct to -mms-bitfields for gcc 3.2 mingw compiler (older mingw compilers are no longer supported) 2003-01-07 Ales Hvezda * noweb/s_page.nw: Fixed debian Bug#175718: geda-gschem: schematic silently discarded by adding code into s_page_save_all(). 2002-12-29 Ales Hvezda * noweb/o_text_basic.nw: Fixed a minor typo by applying Egil's latest extended character patch (missing break; statement). 2002-12-23 Ales Hvezda * acconfig.h, config.h.in, configure.in.h: Added tests to look for the new libgdgeda 2.0.x * noweb/o_arc_basic.nw, o_box_basic.nw, o_bus_basic.nw, o_circle_basic.nw, o_line_basic.nw, o_net_basic.nw, o_pin_basic.nw: Added calls to the gd thickness function to render thick lines in the png output * noweb/s_basic.nw: Initialized a few members of st_object which should have been set to zero. 2002-12-22 Ales Hvezda * noweb/o_text_basic.nw: Applied Norwegian/Danish/German characters patch from Egil Kvaleberg 2002-12-15 Ales Hvezda * include/struct.h: Added menubar variable to TOPLEVEL 2002-11-30 Ales Hvezda * aclocal.m4: Removed file from cvs. 2002-11-04 Egil Kvaleberg * noweb/o_text_basic.nw: Changed comment for swedish/finnish characters since they cause (my version of nowaeve at least) to dump core. 2002-11-03 Ales Hvezda * noweb/a_basic.nw: Added code to print out a message when an old file is read in. * configure.in: Updated version to 20021103 (an official version) 2002-10-31 Ales Hvezda * Makefile.am: Added libgeda-config-install target 2002-10-28 Ales Hvezda * configure.in: Bumped version to 20021031 2002-10-27 Ales Hvezda * include/defines.h: Added a bunch of #defines for various widths and the visual cues * noweb/f_print.nw: Fixed bug: When generating color postscript, the size of the paper wasn't being dealt with at all (wrt to the background fill). * noweb/o_pin_basic.nw: Changed the hard coded value for pin width when outputing postscript to be 1) #defined and 2) properly computed. * noweb/o_net_basic.nw: Changed the hard coded value for net width when outputing postscript to be 1) #defined and 2) properly computed. * noweb/o_bus_basic.nw: Changed the hard coded value for bus width when outputing postscript to be 1) #defined and 2) properly computed. * noweb/o_arc_basic.nw: Fixed a long standing bug (since July 2002), where arc png output would be wrong. Turns out that the width and height of an arc are not always equal. Bug reported by Karel 'Clock' Kulhavy. * noweb/s_cues.nw: Changed the hard coded value for all cues sizes when outputing postscript to be 1) #defined and 2) properly computed. * configure and friends: Ran "autoreconf --force --install -v" to really upgrade to the newest version of the auto* tools. * include/struct.h: Added force_boundingbox rc variable. * noweb/s_project.nw: Added init code for above variable. * noweb/s_pin_basic.nw: Added code that if force_boundingbox variable is true, then use the entire bounding box in the pin auto whichend calculation (instead of default: just the pins). 2002-10-26 Ales Hvezda * include/struct.h: Added variables for the bus ripper support in gschem (to TOPLEVEL structure). * include/defines.h: Added #defines for the bus ripper support in gschem. * noweb/s_basic.nw: Added code to init some of the above added variables * noweb/o_bus_basic.nw: Added code to properly set the bus_ripper_direction variable when rotating nets. 2002-10-22 Ales Hvezda * include/struct.h: Added bus_ripper_direction variable to objects. Only valid for buses. * include/struct.h: Added st_bus_ripper structure. Used in the auto creation of bus rippers when connecting a net to a bus. * noweb/s_cue.nw: Changed code to draw the new smaller circles when connecting a net to a bus. * noweb/s_conn.nw: Added some restrictions on connections between nets / pins and buses. You cannot connect a pin to a bus period. You cannot connect a net to the end of a bus (only to the middle). * noweb/s_basic.nw: Init of the bus_ripper_direction variable, which holds a value (0 = no connection, -1, or 1) to decide which direction the rippers are drawn. * noweb/o_line_basic.nw: Added o_line_length (returns the length of a line). * noweb/o_bus_basic.nw: Added code to the read/save functions to read/save the bus_ripper_direction flag to disk. Also handled old versioned files (variable defaults to zero). * noweb/s_project.nw: Oops, missed override_bus_color in the init of the toplevel variable. Important since the color of buses was being set to zero by gschlas. 2002-10-19 Ales Hvezda * noweb/o_pin_basic.nw: Oops, broke the single pin case. Added code handle this case (basically do the original world bounding box if only one pin is found). Changed function to take this pin count as a paramater. * noweb/a_basic.nw: Passed the number of found pins to o_pin_update_whichend * configure.in, *.m4: Upgraded to automake 1.7.1 and autoconf 2.54 2002-10-17 Ales Hvezda * noweb/o_pin_basic.nw: Added some error checking for the whichend parameter on pins. * noweb/o_pin_basic.nw: Changed the get world bounding box call in o_pin_update_whichend to only look at pins instead of all graphics. This fixes a bug which Werner Hoch reported. 2002-09-25 Ales Hvezda * noweb/a_basic.nw: Minor performance tweek wrt the 20020825 pin compatiblity referenced below. 2002-09-22 Ales Hvezda * noweb/o_attrib.nw: Added a missing termination character to an error condition where an invalid attribute is found. A premptive fix for a possible core dump in gschem's multi attribute dialog box. * configure.in: Bumped version to 20020922, which is NOT a release. * include/struct.h: Added whichend and pin_type to the st_object structure. These are pin specific variables. * include/defines.h: Added #defines to support pin_type. Not in use yet. * noweb/o_pin_basic.nw: Added o_pin_update_whichend, which figures out which end is the active connection end point. It does not work on angled pins. * noweb/a_basic.nw: Added a call to o_pin_update_whichend (in o_read) which is called when an old symbol/schematic is read in to update the pin's which end variable. This code is only called if a pin is read in. * noweb/o_pin_basic.nw: Added code to read and write the new file pin fields (pin_type and whichend). libgeda will still read all the old formats just fine. * noweb/o_pin_basic.nw: Updated o_pin_add to take pin_type and whichend as parameters. * noweb/s_basic.nw: Inited pin_type and whichend in st_object. * noweb/s_conn.nw: Added code to control which end point of a pin can have a connection attached to it. This is control via the whichend variable. A 0 in whichend is the first end point, while a 1 is the second end point. You can now draw a net through a pin and libgeda will only register one connection (at the active end). 2002-09-16 Ales Hvezda * noweb/s_project.nw: Added new file. Basically the s_project.c that gnetlist used is now in libgeda. This will make writing utils which read in sch/sym files much easier. * src/Makefile.am: Bumped shared library version number to 17. * include/funcs.h: Added variable_set_func and quit_func to allow user programs to use the new s_project_* code. 2002-08-25 Ales Hvezda * include/struct.h: Added setpagedevice* rc file variables * noweb/f_print.nw: Added the code to implement the setpagedevice-* rc keywords. * noweb/*.nw: Cleaned up -Wall warnings 2002-07-14 Ales Hvezda * noweb/o_attrib.nw: Added a comment to a line which was using uref= which is now deprecated (replaced by refdes=) 2002-07-09 Ales Hvezda * noweb/o_text_basic.nw: Fixed the crash when you try to display the finnish/swedish characters 2002-07-07 Ales Hvezda * noweb/o_complex_basic.nw: Changed o_complex_return_pin_object() to look for things using the pinnumber= attribute (instead of pinseq) * include/defines.h: Renamed a few #defines to slowly migrate away from the word "label" 2002-07-06 Ales Hvezda * configure.in/Makefile.am: Upgraded to automake 1.6.2 2002-07-05 Ales Hvezda * noweb/o_complex_basic.nw: Removed an extra / when reading in embedded components * noweb/o_attrib.nw: Removed a log message which is not an error: ( Did not find slot= attribute ) * noweb/o_complex_basic.nw: Changed o_complex_return_pin_object to search using the pinseq attribute 2002-06-27 Ales Hvezda * noweb/o_attrib.nw: Added a o_attrib_print_reverse to help in debugging. * noweb/o_attrib.nw: Added a bit more output to o_attrib_print to help in debugging. 2002-06-22 Ales Hvezda * noweb/u_basic.nw: Changed u_basic_breakup_string to take a character as a delimiter. 2002-06-21 Ales Hvezda * include/struct.h: Moved all the gsymcheck structures to a gsymcheck specific file * noweb/o_attrib.nw: Completely removed two obsolete o_attrib_search_* functions 2002-06-20 Ales Hvezda * noweb/s_basic.nw: Added patch by Bryce Denney to remove \r in remove_nl(...). This was done to have clean interoperability between the unix and win32 ports. I don't know if the patch is sufficient to cleanup component (etc...) lines. Will have to test this for the next release. * noweb/o_attrib.nw: A few misc cleanups in various functions * noweb/o_attrib.nw: Added o_attrib_search_string_single to help support gnetlist backend fix work. Takes an object and a complete attribute and returns a pointer to the object. * noweb/o_attrib.nw: Added a null pointer check in o_attrib_return_parent(...) 2002-06-18 Ales Hvezda * noweb/o_attrib.nw: Drastic changes to the standard attributes. - pin#=# has been removed - slot#=# has been removed - pinseq=# added - pinnumber=# added - slot#=# removed - slotdef=#:#,#,#,# added - A bunch of functions renamed / removed - A few lame hacks removed These changes are the first of many that deal with how libgeda handles pin / slot attributes * noweb/Makefile.am: Incremented libgeda.so version number 2002-06-09 Ales Hvezda * noweb/u_basic.nw: Added u_basic_strip_trailing utility function 2002-05-27 Ales Hvezda * include/defines.h: Added OTHER_* seperater #defines. Mainly for mingw32 port. * configure.in: Added OTHERPATHSEP 2002-05-23 Ales Hvezda * include/libgeda.h: Removed the last reference to gdkx.h 2002-05-19 Ales Hvezda * include/struct.h: Added toolbars and handleboxes rc variables 2002-05-16 Ales Hvezda * include/struct.h: Added bitmap-directory rc variable 2002-05-12 Ales Hvezda * acinclude.m4: Removed file from repository * include/pcb_struct.h: Removed obsolete file * include/struct.h: Added warp_cursor rc variable and a bunch of comment cleanup 2002-04-08 Ales Hvezda * configure.in: Changed the function which is search for libpng. This was needed for the win32 port. 2002-04-03 Ales Hvezda * configure.in and friends: More work on getting the upgrade of autoconf, automake, and libtool to behave correctly. * configure.in: Added PATHSEP variable which holds the proper path separater depending on the platform. * lib/system-*.in: Work on getting rc files to use above variable. * noweb/o_text_basic.nw: Changed the name of the lower case symbols to include an _ to make systems like win32 (which have semi-case sensitive) file systems happy. 2002-04-01 Ales Hvezda * include/defines.h: Added a #if and a #define for M_PI * include/defines.h: Put in #defines for path separater for unix vs mingw * noweb/o_complex.nw: Used above path separater #defines in a few sprintf/u_strdup_multiple * noweb/o_text.nw: Used above path separater #defines in a few sprintf/u_strdup_multiple * noweb/s_log.nw: Used above path separater #defines in a few sprintf/u_strdup_multiple * noweb/s_page.nw: Used above path separater #defines in a few sprintf/u_strdup_multiple * noweb/s_clib.nw: Used above path separater #defines in a few sprintf/u_strdup_multiple * noweb/s_slib.nw: Used above path separater #defines in a few sprintf/u_strdup_multiple * configure.in and friends: Upgraded to autoconf 2.53, libtool 1.5, and automake 1.5. Lots of changes in various places for this upgrade. 2002-02-24 Ales Hvezda * configure.in, config.h.in: Added a few checks for some non-portable #includes * noweb/*.nw: Reworked the #include section to use the above checks. * configure.in: Added checks for mingw32 and disabled the cygwin port 2002-02-18 Ales Hvezda * src/Makefile.am: Andrew Dyer found a GUILE_* bug. Fixed. * configure.in: Removed all trace of GUILE_LIB and GUILE_INCLUDE 2001-02-09 Ales Hvezda * noweb/o_selection.nw: Added o_selection_return_num to return the number of selected objects * include/struct.h: Added show_hidden_text to toplevel structure * noweb/o_text_basic.nw: Went through and make sure that text is created properly if it is invisible and show_hidden_text is true * noweb/*.nw bunch of files: Make sure visibility is being dealt with correct wrt show_hidden_text * noweb/*.nw: Removed most -Wall warnings 2001-11-25 Patrick Bernaud * noweb/o_arc_basic.nw: Corrected a bug about arc mirroring due to the last changes (2001-11-21) : my fault. 2001-11-21 Patrick Bernaud * configure.in, Makefile.am: Added test to use notangle_guile.scm if notangle is not available. * docs/Makefile.am: Moved the documentation generation here. * docs/libgedadoc.texi: Renamed libgeda.texi to libgedadoc.texi to be similar with gschem and to avoid confusion with documentation of source file libgeda.c. * src/Makefile.am: Added a rule to produce prototype.h from noweb files and moved the documentation generation to docs/. * scripts/geda_totexi.in: Changed geda_totexi to geda_totexi.in to take benefit from the configure test on AWK. Backend updated to handle cross-references. * scripts/notangle_guile.scm.in: Added guile script to tangle noweb code without the whole noweb package installed. * noweb/o_{arc|box|circle|line}_basic.nw: Full documentation, code clean-up and use of the new identifiers for modification. * include/struct.h: Defined identifiers for particular points on each type of object. 2001-07-24 Ales Hvezda * noweb/o_bus_basic.c: Fixed a typo pointed out by Roger Williams. 2001-07-22 Ales Hvezda * noweb/s_attrib.nw, s_basic.nw, s_color.nw, s_log.nw, s_papersizes.nw: Added patch by Dan Mcmahill for 64-bit architectures. 2001-07-21 Ales Hvezda * src/Makefile.am: Bumped shared library version to 14 2001-07-20 Ales Hvezda * noweb/s_conn.c: Added s_conn_remove_complex to remove complex conn connections 2001-07-19 Ales Hvezda * configure.in: Bumped up version to 20010722 * configure.in: More updates to get cygwin to build right 2001-07-07 Ales Hvezda * noweb/s_menu.nw: Added new file to support dynamic menus in gschem (add file to all Makefile.am files too) 2001-07-06 Ales Hvezda * include/defines.h: Increased the maximum number of files and directories * configure.in: (and all other configure.in's) set the VERSION to 20010708. 2001-07-02 Ales Hvezda * configure.in: A little more work to get indent vs gindent to be detected correctly 2001-07-01 Ales Hvezda * configure.in: Now searching for gindent as well as indent * configure.in: Make sure configure scripts work with autoconf-2.50 (had to fix cygwin check), they do not yet work with 2.50 2001-06-24 Ales Hvezda * include/struct.h: Added rc variable and reformated the code 2001-06-21 Stefan Petersen * noweb/g_basic.nw: Improved error information when reading *rc and other minor clean ups. * include/prototype.h: Removed ORIG_g_read_file 2001-06-16 Ales Hvezda * src/Makefile.am: Further improvements on the noweb build mechansim * src/Makefile.am: Added the ability to build the docs * docs/Makefile.am: Added makefile * noweb/Makefile.am: Added makefile * scripts/Makefile.am: Added makefile 2001-06-10 Ales Hvezda * configure.in: Minor cleanup * src/Makefile.am: Added support for automatic dependency tracking wrt the noweb files (using VPATH) * noweb/libgeda.c: Changed the init code so that you do not have to have the GEDADATADIR variable set, but if it is, override the default 2001-06-07 Ales Hvezda * noweb/libgeda.c: Added an init function for the library which is responsible for make sure the require environment variable is set * noweb/Makefile: Added above file * src/Makefile.am: Added above file 2001-06-05 Ales Hvezda * noweb/Makefile: misc path changes * scripts/geda_totexi: renamed gawk to just plain awk 2001-06-03 Ales Hvezda * noweb/*: Added all the .nw files that were done by Patrick B. * Started the slow switch to noweb (almost there, just have to get the configure mechanism setup) * scripts/*: Added noweb -> texi backend script written by Patrick B. * src/*.c: Removed all *.c files from the repository 2001-03-18 Ales Hvezda * Removed all Makefile.in files and configure 2001-03-17 Ales Hvezda * Got make dist and make distcheck working (means all files which are in CVS are in some Makefile) * configure.in: Added DATADIR instead of PACKAGE 2001-03-16 Stefan Petersen * configure, configure.in: Didn't build properly if libgdgeda was placed in a not common place. 2001-03-11 Stefan Petersen * Makefile.am, Makefile.in, acconfig.h, config.h.in, configure, configure.in, include/Makefile.in, src/Makefile.am, src/Makefile.in: Removed all traces of libstroke et al and regenerated some files. * s_stroke.c : Removed 2001-03-07 Stefan Petersen * configure.in: Fixed minor bug introduced yesterday. 2001-03-06 Stefan Petersen * configure.in: Removed some hard coded libraries and rearranged how zlib, libpg and libgdgeda was scanned during configure. Patch and suggestion from Bruno Schwander. 2001-03-05 Stefan Petersen * src/libgeda/s_cue.c: added some missing HAS_LIBGDGEDA. 2001-03-04 Ales Hvezda * src/o_complex_basic.c: Re-enabled the bounding box calculation for arcs inside complex objects. This was possible because Patrick fixed the bounding box for arcs! * src/o_arc_basic.c: Fixed mirror / rotate code according to what Patrick suggested (all object manipulation occurs in world coord space). * src/Makefile.am: Bumped shared library version to 12 * configure.in: Updated version * src/o_complex_basic.c: Allowed the promotion of the device= attribute 2001-03-03 Ales Hvezda * configure.in: Fixed a few bugs dealing with the enabling and disabling of features via the command line (pointed out by Karel Kulhavy) * src/s_cue.c: Added file which contains the postscript and the image output routines for the cues * src/f_print.c: Added call to output the cues * src/f_image.c: Added call to output the cues * include/defines.h: Added #defines for cue output routines * src/o_arc_basic.c: Fixed the image output of arcs 2001-03-02 Ales Hvezda * src/o_arc_basic.c: Fixed a bug pointed out by Bruno Schwander (Arcs were to thin compared to thin lines/boxes) * src/o_circle_basic.c: Removed some line whitespace at the top of the file 2001-03-01 Ales Hvezda * src/*.c: Converted some // comments to /* */ * src/*.c: Cleaned up some -Wall warning messages 2001-02-25 Ales Hvezda * src/o_attrib.c: Added some if (... == NULL) checks to prevent some core dumps 2001-02-23 Ales Hvezda * src/s_hierarchy.c: Added code to either do a normal hierarchy load or force the load (for gnetlist and hierarchical traversal) * src/s_page.c: Added code to forcibly load a schematic page (s_page_new_lowlevel). Modified s_page_new to use this new routine. 2001-02-17 Ales Hvezda * include/struct.c: Removed more of the old connection code (which was #ifdef'ed out) * src/s_page.c: Commented in stretch_head, stretch_tail init code * src/s_page.c: Removed all trace of the old connection code (which was #ifdef'ed out) * src/s_stretch.c: Put this file back into the build * src/f_*.c: Removed all traces of the old connection code 2001-02-16 Ales Hvezda * src/o_net_basic.c: Oops, nets which caused midpoints were being consolidated away (bad), fixed this by checking first to make sure that that particular endpoint didn't cause any midpoints (if it did, don't consolidate the net) 2001-02-11 Ales Hvezda * src/o_net_basic.c, src/o_pin_basic.c: Moved the tile update call inside the ADDING_SEL if inside the *_add functions. * src/s_tile.c: Added a return if ADDING_SEL is true. * src/o_list.c: Made some changes in the various o_list_* functions regarding ADDING_SEL. Have to watch for any side effects * src/o_net_basic.c: Rewrote net consolidate code to work with the new connection system 2001-02-10 Ales Hvezda * src/o_complex_basic.c: Minor changes, call net functions for nets (not the line functions). All this needs to be cleaned up eventually * Started syncing with cvs repository 2001-02-08 Ales Hvezda * src/o_complex_basic.c: In one of the translate functions, removed a whole bunch of cruft. 2001-02-04 Ales Hvezda * src/o_complex_basic.c: Added a flag to save the state of ADDING_SEL (bad variable name, it really means that you want to delay doing any s_conn_update_* calls) * src/s_conn.c: Changed the *_return* functions to take in a list and then return it * src/s_tile.c: Changed update function to return if an invalid v, w tile index was ever calculated (this means that the objects is outside of the tile grid (which is okay mainly for rotation of objects) * src/s_page.c: Made sure page_current points to the current page being freed in s_page_free_all * src/s_tile.c: Changed s_tile_remove_object to take a page parameter (so that the objects get removed from the right page) 2001-02-03 Ales Hvezda * src/s_conn.c: Added s_conn_return_complex_others to support o_copy in gschem 2001-02-03 Patrick Bernaud * src/o_arc_basic.c: Added function o_arc_modify() 2000-01-30 Ales Hvezda * src/o_attrib.c: Added o_attrib_search_component which looks for an attribute both inside and outside of the component 2001-01-24 Patrick Bernaud * src/o_arc_basic.c: Modified the code for bounding box on arc, cleaned the translation/rotation functions, added function o_arc_recalc_world(), changed the meaning of arc fields * src/o_box_basic.c: Added functions to print the filling of a box * src/o_circle_basic.c : Added functions to print the filling of a circle 2001-01-23 Ales Hvezda * src/s_conn.c: Minor cleanups 2001-01-17 Ales Hvezda * src/s_conn.c: More work on getting this all done (worked on mid- point connections * src/s_tile.c: Minor update to the free all routine (more info) 2001-01-16 Ales Hvezda * src/s_conn.c: Bunch of changes to get new conn system finished 2000-01-15 Ales Hvezda * src/o_image.c: Fixed bug -- allow the background of pngs to take on a different value than black, bug pointed out by George Billios 2001-01-07 Ales Hvezda * include/struct.h: Added conn_list list as well as new version of st_conn * src/s_conn.c: Added new file which contains the routines to support the new connection scheme * src/o_net_basic.c: Added s_conn_update_object call to *net_add function * src/o_pin_basic.c: Added s_conn_update_object call to *pin_add function * src/o_bus_basic.c: Added s_conn_update_object call to *bus_add function * src/o_complex_basic.c: Had to add some flags to prevent the calc of connections for complex objects; the connection update needs to happen once all the prim_objs have been translated to their final resting spot * src/s_basic.c: Added calls and variable inits for new conn system * include/defines.h: Removed some old conn #defines, replaced them with new simplified ones 2001-01-05 Ales Hvezda * src/o_arc_basic.c: Fixed the PS printing of solid arcs if they are mirror (and/or rotated). Bug pointed out by Matt Ettus 2001-01-01 Ales Hvezda * src/*.c: Removed all trace of the conn_table, o_conn, s_nethash functions. This is in prep for the total rewrite * include/struct.h: Removed conn table and nethash table and also removed stretch structure for now. * src/s_tile.c: Added new file and function which divide up the world space into smaller tiles (will be used by the new conn system) * include/struct.h: Added world_tiles 2d array to page structure * include/struct.h: Added st_tile data structure * include/defines.h: Added MAX_TILES_X and MAX_TILES_Y #defines * src/s_page.c: Added s_tile_init to s_page_add * src/s_tile.c: More work on some of the routines to get objects into the right tiles * src/o_net_basic.c, o_pin_basic.c, o_bus_basic.c: Added call to s_tile_add_object when an object is added to object_head (or object_tail) * src/o_net_basic.c, o_pin_basic.c, o_bus_basic.c: Called copy routines with the right x,y values so that tiling code works right * src/o_net_basic.c, o_pin_basic.c, o_bus_basic.c: Added a bunch of calls to s_tile_update_object after the object is translate (moved around) * include/struct.h: Added to the object structure tile_locs which is a list of tile locations (in which tiles the object exists in) * src/s_basic.c: Added init code to deal with above list 2000-12-17 Ales Hvezda * src/Makefile.am: Bumped libgeda.so version to 11 2000-12-10 Ales Hvezda * include/struct.h: Removed zoom_factor variable * src/o_arc.c: Finally added code to implement the line type postscript output for arcs * src/o_circle.c: Also added code to implement the line type postscript output for circles (using arc code) * src/configure.in: Added back the lines (saved_cflags etc...) which caused debug output to be included in the build 2000-12-09 Ales Hvezda * src/m_basic.c: Put some code into WORLDtoSCREEN routines to bound coords to +/- 2^15 - 1 This is caused by 1) a less than perfect clipping routine and 2) the fact that X stores coords in signed shorts. This may effect portability to machines where this isn't the case. The original manifested itself by an endpoint (zoomed really really close) suddenly drawing itself incorrectly. The clipping routine I used doesn't handle horizontal lines at all. * src/s_nethash.c: #if DEBUG'ed out a printf * src/f_basic.c: Removed all trace of zoom_factor * src/s_page.c: Removed all trace of zoom_factor * src/m_basic.c: #if 0'd out unused return_zoom_number function 2000-12-07 Ales Hvezda * src/o_basic.c, o_conn.c: Started Removing DONT_* flags * include/defines.h: Added some pan related #defines 2000-12-03 Ales Hvezda * configure.in: Slightly rearranged things to make cygwin port happy * src/m_basic.c: Integrated changes by Werner Hoch, added round_5_2_1 function 2000-11-30 Ales Hvezda * src/s_nethash.c: Rewrote s_nethash_build to not use the internals of the hash table. New version uses a *_hash_foreach function. The original function was poorly written and violated library encapsulation (my bad). * src/o_circle.c: Removed unneeded variable * configure.in: Added -fnative-struct flag for CYGWIN port only * configure.in: Added --enable-debug flag to enable -g flag 2000-11-21 Ales Hvezda * include/struct.h: Added netconn_rubberband variable to st_toplevel structure 2000-11-16 Ales Hvezda * src/s_nethash.c: Added creation function (from gnetlist/src/s_traverse.c) * src/s_nethash.c: Renamed all functions to s_nethash_* * src/s_page.c: Put in the calls to destroy the nethash data structure when a page is deleted * src/s_nethash.c: Added s_nethash_delete_all function * include/struct.h: Added conn_list function to st_nethash * src/s_nethash.c: Added conn_list variable usage code * src/s_stretch.c: Added code to check the uniqueness of midpoint connections when they are added to the stretch structure 2000-11-12 Ales Hvezda * include/struct.h: Added st_stretch structure (and typdef) * src/s_stretch.c: Added file which will contain the low level data structure for stretching/rubberbanding when a move occurs * include/struct.h: Added stretch_head to page structure * src/s_page.c: Added the init of stretch_head * include/struct.h: Fixed the misspelling of separator 2000-11-04 Ales Hvezda * include/struct.h: Added some variables the undo structure to hold hierarchy state * src/s_undo.c: Put in code to use the above added variables * src/s_undo.c: Added the above variables to s_undo_add * src/u_basic.c: Oops, didn't allocate enough memory for a temp string in u_basic_breakup_string. Fixed. * src/u_basic.c: Minor correct to malloc 2000-11-02 Ales Hvezda * include/struct.h: Added some more gnetlist rc variables to toplevel struct * include/defines.h: Added some hierarchy_*_order #defines * src/o_attrib.c: Put in a very very lame lame lame hack in o_attrib_search_name_partial which should be taken out and shot. It better be removed when I fix the pin#=# problems 2000-10-31 Ales Hvezda * include/struct.h: Added some gnetlist rc variables to toplevel struct 2000-10-31 Stefan Petersen * src/f_basic.c: Fixed f_open to return 0 on failure to open a schematic and 1 on success. (Ales merged his changes to match this) 2000-10-26 Patrick Bernaud * src/o_basic.c, o_box_basic.c, o_circle_basic.c: New fill support and minor changes to line type support. 2000-10-22 Ales Hvezda * src/f_basic.c: Slightly changed Stefan's f_open change. Even if you cannot open a file, you should still setup the page. * include/struct.h: Added some fields in the gnetlist structs for the pinlabel * include/struct.h: Added more fields in the gnetlist structs for prefix / suffix strings (for hierarchy support) 2000-10-10 Stefan Petersen * src/f_basic.c: f_open returns an int; 0 on failure, 1 on success * include/prototype.h: f_open returns an int. 2000-10-07 Ales Hvezda * src/s_slib.c, src/s_clib.c: changed order for #include and removed a #if defined for CYGWIN32 * configure.in: Removed an really old GTK+ check which is no longer needed 2000-10-06 Ales Hvezda * src/o_line_basic.c: Removed all // comments * src/Makefile.am: Bumped libgeda so version to 10.0.0 2000-10-05 Ales Hvezda * src/o_circle_basic.c: Added o_circle_modify * src/*.c: Fixed most -Wall warnings * include/struct.h: Added some variables for new line type / width dialog box 2000-10-04 Ales Hvezda * include/struct.h: Added draw_grips variable to OBJECT structure * src/o_selection.c: Added code to set and unset draw_grips variable * src/s_basic.c: Added code to init draw_grips variable * include/defines.h: Added a few grip related #define's * src/o_line_basic.c: Added o_line_modify * src/o_net_basic.c: Made o_net_modify look like o_line_modify * src/o_pin_basic.c: Made o_pin_modify look like o_line_modify * src/o_bus_basic.c: Made o_bus_modify look like o_line_modify * src/o_box_basic.c: Added o_box_modify 2000-10-02 Ales Hvezda * src/o_box_basic.c: Further updated the file format per Patrick's instructions * src/o_circle_basic.c: Further updated the file format per Patrick's instructions * src/o_arc_basic.c: Found a instance where the wrong object was getting it's line type and file options set (in o_arc_copy.c) * src/o_basic.c: Renamed all d1 to length and d2 to space * src/f_print.c: Added f_print_set_line_width * src/o_*_basic.c: Make the appropriate call to above * src/o_line_basic.c: Added line type postscript output (solid, dotted, dashed, center, phantom) * src/o_box_basic.c: Added postscript output using line postscript output code * src/o_complex_basic.c: Found an bug where mirror flag was being set to -1 for embedded components (should have really been 0) 2000-09-26 Ales Hvezda * include/struct.h: Intergrated OBJECT structure changes by Patrick Bernaud * src/o_arc_basic.c: Intergrated changes to the arc primitive by Patrick Bernaud * src/o_box_basic.c: Intergrated changes to the box primitive by Patrick Bernaud * src/o_circle_basic.c: Intergrated changes to the circle primitive by Patrick Bernaud * src/o_line_basic.c: Intergrated changes to the line primitive by Patrick Bernaud * src/create_proto: Updated script to be a lot more general (but unfortunately had to add an ugly hack to get it to work) * src/o_attrib.c: Changed to * src/o_arc_basic.c: Moved some common code out of this file src/o_basic.c: Moved the above code into this file 2000-09-22 Ales Hvezda * src/o_net_basic.c: Martin found a core dump bug. Fixed. Wasn't being careful about derefencing a possible NULL pointer (added an if to check if NULL) 2000-09-14 Ales Hvezda * src/o_net_basic.c: In o_net_consolidate_segments, added a if expression to make sure you don't try consolidate non-ortho nets (pointed out by Patrick) 2000-08-28 Stefan Petersen * Fixed bug in configure.in. Probably a bug in autoconf. Now it should work to configure when libguile is dependent on other libs. 2000-08-26 Stefan Petersen * Cleaned up configure stuff and added guile.m4 to enhance guile configuration. 2000-08-22 Ales Hvezda * src/f_image.c: Oops found a core dumping bug which was introduced in this latest variable reorg (wrong structure passed f_image_write_objects) * src/f_print.c: Oops found a core dumping bug which was introduced in this latest variable reorg (wrong structure passed f_print_objects) 2000-08-22 Stefan Petersen * configure.in/configure: Made configure look for scm_make_smob_type in libguile. 2000-08-21 Ales Hvezda * src/o_text_basic.c: #if'ed 0 out o_text_translate (since it is unused) * include/struct.h: Put a complex pointer into the TEXT item * src/o_text.c: Changed all complex to use the above new pointer * src/o_text.c: Added o_text_recalc to work on the text complex pointer * src/s_basic.c: Added free of text->complex structure to s_delete * include/struct.h: Added COMPLEX structure/typedef (includes private complex pointer, x (and screen), y (and screen) mirror, and angle variables) * src/*.c: Removed all traces of the old complex pointer and changed them to use the new above pointer * include/struct.h: Renamed complex (inside COMPLEX *) to be called prim_objs instead of complex. Better name (I hope). * src/s_basic.c: Removed some dead code * src/o_text_basic.c: Removed some dead code * src/*.c: Temporarily called complex (COMPLEX *) complex2 (for easy search) * include/struct.h: Renamed text->complex to text->prim_objs 2000-08-20 Ales Hvezda * include/struct.h: Started the conversion from LINEPTS/CIRCLE to a more generic representation * include/struct.h: Added LINE, BOX, ARC structure/typedef * include/struct.h: Added void *graphical to OBJECT structure. which for now is commented out * src/o_arc_basic.c: Converted all line_points to arc * src/s_basic.c: Add ARC structure to various basic init / free functions * src/o_box_basic.c: Converted all line_points to box * src/s_basic.c: Add BOX structure to various basic init / free functions * src/o_complex_basic.c: Made sure you call get_box_bounds with the right (box) parameters * include/struct.h: Had to comment out all gpcb related structures (eventually these will be rewritten and put back into production) * include/struct.h: Moved all text parameters into TEXT structure * src/o_text_basic.c: Converted all graphical paramters to text * src/s_basic.c: Add TEXT structure to various basic init / free functions * src/g_smob.c: Changed text_string to text->string * src/o_attrib.c: Found a whole bunch of instances where an if was checking for a null, but in the same if that same item was being dereferenced (for another value). Bad. Fixed. * src/a_basic.c: Found another 2 instances of above, Fixed. * src/o_circle.c: Removed some dead code * src/s_basic.c: Add LINE structure to various basic init / free functions * src/o_complex_basic.c: Made sure you call get_line_bounds with the right (line) parameters * src/o_box_basic.c: Converted all line_points to line structure * src/o_net_basic.c: Converted all line_points to line structure * src/o_pin_basic.c: Converted all line_points to line structure * src/o_bus_basic.c: Converted all line_points to line structure * src/s_basic.c: Removed all traces of line_points * include/struct.h: Removed *line_points variable, structure, and typedef 2000-08-15 Stefan Petersen * Fixed bug causing seg fault during GC with new attribute smob. Changed mark function from scm_markcdr to 0. 2000-08-12 Stefan Petersen * src/Makefile.am: Makes VPATH building work. Patch by Roger Gammans. src/Makefile.in regenerated. 2000-08-12 Stefan Petersen * src/g_smob.c: Added. Contains attribute smob functions. * src/Makefile.am: Added above source file. -> all Makefile* and configure are regenerated. * include/struct.h: Added attribute smob definitio struct * include/prototype.h: Added prototypes for smob functions defined in src/g_smob.c 2000-07-04 Ales Hvezda * src/*.c: Updated copyright info in each file * src/*.c: Changed all GNU to GPL in the appropriate places * configure.in: Bumped version up to 20000704 * src/*.c: Removed all // comments * src/*.c: Removed all warnings * src/o_selection.c: Fixed some functions which were either supposed to return something (and were not) or functions which should not have been returning anything but were. * */*: Upgraded to libtool 1.3.5 * src/s_basic.c: Increased the memory size of the object name string (more digits) * src/u_basic.c: Removed #include , replaced it with #include 2000-06-27 Ales Hvezda * include/struct.c: Added type variable to UNDO structure * src/s_undo.c: Added code to deal with type variable * configure.in: Put in checks for gtk+ and glib 1.2.3 * src/Makefile.am: Bumped up shared library version to 9 * All gEDA directories/programs: Created distribution Makefile.in files * include/defines.h: Added #defines to support attrib_edit_dialog invocation flag 2000-06-26 Ales Hvezda * include/struct.h: Added object_head pointer to UNDO struct * src/s_undo.c: Added code to deal with above new pointer * src/s_undo.c: Had to change some of the s_undo_* functions to have the TOPLEVEL *w_current argument. Need to review and make sure this is really needed. * src/o_*_basic.c: Fixed all *_copy functions to copy the color of the object correctly (not the selection color) * src/o_*_basic.c: Also make sure all *_copy functions copy the saved_color variable * src/o_complex_basic.c: Fixed *_copy functions to preserve the selectability of complex objects * include/struct.h: Added undo-type to TOPLEVEL structure * src/o_list.c: OOPS! Found an ancient bug. Forgot to restore object_parent pointer if you passed in an empty list src list to the o_list_copy* functions (did the same for ADDING_SEL flag) /*************************************************************************/ /* NOT DONE */ src/*.c: Removed all the ADDING_SEL nonsense (code). include/struct.h: Removed the ADDING_SEL variable from the TOPLEVEL struct /* NOT DONE */ /*************************************************************************/ * include/defines.h: Added UNDO_ALL and UNDO_VIEWPORT_ONLY #defines 2000-06-23 Ales Hvezda * src/o_*_basic.c: Fixed o_*_save to properly save the object if it is selected * include/struct.h: Moved undo_* into the PAGE structure * src/s_page.c: Added necessary free and init in s_page_* for undo structs * include/struct.h: Added undo_levels and undo_control rc vars to TOPLEVEL structure 2000-06-22 Ales Hvezda * include/struct.h: Added first cut of UNDO structure/typedef * src/s_undo.c: Added new file which will hold low level undo code 2000-06-07 Ales Hvezda * src/o_attrib.c: Added Martin Benes' uref renaming patch. The one call to the function which does all the work was #if'ed out. o_attrib_update_urefMB has some side effects which makes it problematic to have in the mainstream release. 2000-06-04 Ales Hvezda * src/o_text_basic.c: Oops, found an old memory leak; made the assumption that text which was invisible had no text_head.?? and just set complex pointer to NULL, and hence created a leak. Plugged leak by freeing complex list completely before NULLing * src/o_net_basic.c: #if DEBUG'ed out some printf's which dealt with net consolidation 2000-06-03 Ales Hvezda * include/struct.c: Added continue_component_place variable to the TOPLEVEL structure 2000-06-01 Ales Hvezda * include/struct.h: Added promote_invisible variable to the TOPLEVEL structure * src/o_complex.c: Added code to act on above variable in the new attribute promotion code * include/struct.h: Added keep_invisible variable to the TOPLEVEL structure 2000-05-28 Ales Hvezda * include/struct.h: Added attribute_promotion to TOPLEVEL structure * src/o_complex_basic.c: Added Martin Benes' code to implement attribute promotion. * src/o_complex_basic.c: Renamed attach_attributes to attribute_promotion * src/o_complex_basic.c: Changed some 0's to FALSEs. * src/o_complex_basic.c: Added another test to o_complex_is_eligible_attribute, only visible floating text attributes will be promoted * src/o_list.c: Added Martin Benes' code changes 2000-05-27 Ales Hvezda * src/o_text.c: Replaced o_text_mirror and o_text_mirror_world by the much improved routines written by Martin Benes, these function properly handle the changing of the origin when mirroring text 2000-05-23 Ales Hvezda * include/struct.h: Added buffer_number to TOPLEVEL structure 2000-05-22 Ales Hvezda * src/o_complex.c: Added o_complex_unset_color_single and o_complex_set_color_single which unset/set the color on only one object * src/o_list.c: Added a return paramater to o_list_copy_to (return the new object which was copied) * src/o_list.c: Added o_list_copy_all_selection2 which copies the objects in a selection list into a plain object list * src/o_list.c: In o_list_copy_all_selection2 unselected the object first (all objects in the selection list should be selected) and then reselected it 2000-04-21 Ales Hvezda * src/o_*_basic.c: Added a check to make sure the color of all read in objects is valid 2000-04-16 Ales Hvezda * src/o_text.c: Added some more checking when reading in text items Specifically to check for invalid alignment fields * src/o_text.c: Added missing alignment field to some of the other warning messages in o_text_read * src/u_basic.c: Added u_basic_breakup_string * include/struct.h: Added raise_dialog_boxes to TOPLEVEL structure 2000-04-15 Ales Hvezda * src/o_complex.c: Renamed o_complex_return_pin to o_complex_return_nth_pin * src/o_complex.c: Created new o_complex_return_pin_object to support gnetlist's g_get_pin_attribute * src/create_proto: Updated prototype.h creation script to use gtk/glib paths from my machine (installed in /usr/local ...) * src/o_attrib.c: Added o_attrib_search_attrib_value to support o_complex_return_pin_object * src/o_attrib.c: Added o_attrib_search_attrib_name to support gnetlist's g_get_pin_attribute 2000-03-23 Ales Hvezda * src/o_net.c: Started fixing the broken code in o_net_consolidate* which was causing a core dump with the new selection code * src/o_net.c: Added some intelligence to o_net_consolidate_segments so that objects are properly selected when consolidation happens 2000-03-20 Ales Hvezda * include/struct.h: Added locked_color to OBJECT structure * src/s_basic.c: Inited locked_color to -1 * src/o_selection.c: Removed some old debugging info * src/a_basic.c: Removed dead code from o_scale * src/o_attrib.c: Removed some more dead code (old selection related) from o_attrib_* * src/o_complex.c: Misc code cleanup * src/s_color.c: Removed an obsolete comment 2000-03-16 Ales Hvezda * src/o_attrib.c: Got o_attrib_set_color to work with the new selection mechanism 2000-03-10 Ales Hvezda * include/struct.h: Added doing_pan variable to TOPLEVEL structure * include/struct.h: Added fast_mousepan variable to TOPLEVEL structure 2000-03-09 Ales Hvezda * src/o_attrib.c: Removed the first (of many) o_redraw_single's from the attrib free routine 2000-03-08 Ales Hvezda * src/o_attrib.c: Further cleaned up o_attrib_attach to only attach the single specified attribute item (instead of looping which is not correct anymore) * src/o_attrib.c: Got the color setting on attributes and non-attributes right * src/o_net_basic.c: Put some comments in the net consolidate functions since these functions are really broken with new selection mechanism 2000-03-06 Ales Hvezda * src/o_attrib.c: Got rid of some of the o_list_search's which are now not required anymore 2000-03-05 Ales Hvezda * src/o_text_basic.c: Got o_text_recreate to work right with new selection mechanism (set saved_color correctly) 2000-02-28 Ales Hvezda * src/o_complex.c: Added o_complex_set_saved_color_only which only sets the saved_color flag of a complex object * src/o_complex.c: Added some selection specific functions * src/x_event.c: Got middle button actions working again 2000-02-25 Ales Hvezda * include/struct.h: Added SELECTION typedef and structure * src/o_selection.c: Added new selection (data structure) code * include/defines.h: Changed NORMAL and SELECTION #defines to be NORMAL_FLAG and SELECTION_FLAG due to name clashes * include/struct.h: Added selected flag to OBJECT structure * src/o_complex.c: Simplified o_complex_set_color to have only the required parameters (object and the new color) (Also changed order) * src/o_complex.c: Found/Fixed a bug in o_complex_set_color * src/o_complex.c: Added o_complex_set_color_save which sets the color but also saves it for future use (used in selection mechanism) * src/o_complex.c: Added o_complex_unset_color which restores the color from the saved_color variable (used in selection mechanism). * src/o_selection.c: Added o_selection_return_first_object * src/o_selection.c: Added o_selection_return_nth_object (returns the nth object starting at zero being the first object) * include/struct.h: Removed selection_tail and selection_head so that gschem can be completely purged of the old selection mechanism 2000-02-19 Ales Hvezda * README/INSTALL: Updated files to reflect next release * src/*.c: Removed all // comments (changed to /* */) * src/*.c: Fixed all warnings (using -Wall -Werror) * src/o_attrib.c: Really enforced the no spaces beside the equals sign when checking if an attribute is valid or not * src/Makefile.am: Incremented libgeda.so version number 2000-02-17 Ales Hvezda * src/o_text_basic.c: More work on getting postscript output to work with new text alignment * include/struct.h: Added text_origin_marker flag in TOPLEVEL struct * include/struct.h: Added text_alignment flag in TOPLEVEL struct * src/o_text_basic.c: Changed the order of the T (text) item in schematic files (... angle alignment) 2000-02-16 Ales Hvezda * All configure.in files: Changed the version to 20000220 (to force a release) * include/struct.h: Added text_alignment flag to object structure * src/s_basic.c: Inited above flag to default value * src/s_basic.c: Removed old unused code * src/o_text_basic.c: Added the text alignment flag to the file format for reading in text items (old text format is still valid though) * src/o_text_basic.c: Added the text alignment flag to the file format (saving text times) * include/defines.h: Added text alignment #defines * src/a_basic.c: Change the default version number (to the current version) if the version tag is not found in a file read in by o_read * src/o_text_basic.c: Added o_text_height function to help readability of the up the code and get rid of awful hardcoded constants * src/o_text_basic.c: Added code to support text alignment flag as well as code to support rotation and mirroring of this new text * src/o_text_basic.c: Started getting postscript printing to work; not complete yet 2000-02-01 Ales Hvezda * src/s_hierarchy.c: Fixed some bugs so that detached pages (from the hierarchy) get properly reconnected when they are called for again 2000-01-31 Ales Hvezda * src/s_slib.c: Created s_slib_search_single which just search for the filename and does nothing else to the name. * src/s_hierarchy.c: Created s_hierarchy_down_schematic_single and transformed old call into s_hierarchy_down_schematic_multiple * src/o_attrib.c: Put in another check in o_attrib_free_returned to make sure found_objects is not null before it is dereferenced * include/struct.h: Added enforce_hierarchy to toplevel structure * include/struct.h: Added mawindow to toplevel structure (multi-attrib window) * include/struct.h: Added aewindow to toplevel structure (attrib-edit window) * include/struct.h: Added sewindow/seentry to toplevel structure (slot-edit) 2000-01-17 Ales Hvezda * include/struct.h: up and down pointers to the st_page structure * src/s_hierarchy.c: Added push/pop symbol/schematic functions * src/s_page.c: Added inits of up and down pointers in the st_page structure * include/struct.h: Added page_control variable (which contains an int which basically describes what hierarchy level you are at) * src/s_page.c: Make sure all the above new vars are properly inited 2000-01-04 Ales Hvezda * src/o_attrib.c: Fixed o_attrib_return_attribs so that it returns an array of objects instead of an array of strings 2000-01-03 Ales Hvezda * src/o_attrib.c: Added o_attrib_return_attribs which returns an array of all attached attributes given an object * HACKING: Added file which describes file prefix (for now) 1999-11-09 Ales Hvezda * src/s_clib.c: Fixed s_clib_getfiles to filter files based on the filter (new argument) passed in * src/s_slib.c: Fixed a debugging routine to call the right functions for slib 1999-10-23 Ales Hvezda * src/s_basic.c: Added some checks in the object malloc, just for robustness sake 1999-10-18 Ales Hvezda * src/f_print.c: Added some error checking to make sure you can open the postscript output file, otherwise log an error message. Pointed out by Mike Riendeau * src/f_print.c: Modified f_print() to return something indicating success or error 1999-10-17 Ales Hvezda * include/*.h: Added multiple controlling #ifdef's into all *.h files * include/libgeda.h: Created file which contains all the required include files in the right order 1999-10-11 Ales Hvezda * src/s_clib.c: Added the ability to set the count in s_clib_getfiles * include/struct.h: Added another search related var to FILEDIALOG * include/defines.h: Added SET_COUNT #define for s_clib_getfiles * include/struct.h: Added search_label gtk widget to FILEDIALOG struct * ../*/configure.in: Changed version number to today's date * src/Makefile.am: Incremented libgeda.so version number * src/o_attrib.c: Fixed -Wall warnings * src/s_clib.c: Fixed -Wall warnings * src/s_page.c: Fixed -Wall warnings * src/s_clib.c: Fixed s_clib_getfiles so that *only* files which .sym suffix get read in as valid symbol files * src/o_pin_basic.c: Added o_pin_modify() 1999-10-10 Ales Hvezda * include/defines.h: Added a few more defines to support SAVEAS_* and the new file dialog box * include/struct.h: Added a few type vars to the FILEDIALOG struct * src/s_log.c: Added cwd to s_log_init to deal with the chdirs that gschem now does * include/struct.h: Added a last search pointer (int) vars to the FILEDIALOG struct * src/s_clib.c: Added s_clib_return_num 1999-10-09 Ales Hvezda * src/s_page.c: Changed s_page_add: full path is now in page_filename * src/s_page.c: Added full path only if page_filename doesn't start with a '/' 1999-10-05 Ales Hvezda * include/defines.h: Added some FILEDIALOG #defines * include/struct.h: Added filter_type variable to FILEDIALOG struct 1999-10-03 Ales Hvezda * include/struct.h: Added filename_entry variable to FILEDIALOG struct * include/struct.h: Added preview rc variable to TOPLEVEL struct * include/struct.h: Added preview_control variable to FILEDIALOG struct * include/struct.h: Added directory_entries and file_entries to FILEDIALOG struct * include/defines.h: Added MAX_DIRS and MAX_FILES * Fixed all *.c files to #include defines.h before struct.h * include/struct.h: Added toplevel variable to FILEDIALOG struct 1999-10-02 Ales Hvezda * include/struct.h: Added TOPLEVEL preview variable to FILEDIALOG struct 1999-10-01 Ales Hvezda * include/struct.h: Added xfwindow array to TOPLEVEL structure * include/struct.h: Made the above array a structure * include/struct.h: Changed FILESEL struct to FILEDIALOG struct * src/g_basic.c: Added #include for define.h 1999-09-28 Ales Hvezda * src/o_attrib.c: Removed the ability to attach non-text items as attributes as a sch/sym is being read in (o_read_attribs) * src/o_attrib.c: Fixed a nasty bug where the color of text was being forced to the attribute color even if you didn't want that color (pointed out by Magnus) 9/19/99 Make sure libgeda works with guile-1.3.2a Added some code to o_text.c to look for char_.sym for lowercase characters when running CYGWIN32 Messed up above slightly, now fixed Did not return a success (zero) in s_color_request, now fixed Increased the number colors to 25 Fixed all warnings Increased the .so version of libgeda to 4 9/18/99 Fixed a bug in s_color_gdcolor_init, had the gd color alloc in the wrong place (before a pointer was set) 9/17/99 Added/changed a few variables the various structures in struct.h 9/16/99 Removed the restriction that sym/sch files have to be perfect. You now can have garbage in a sym/sch file and it won't exit, but instead warn the user and display what it read in. Added a bunch of tests into o_attrib_attach to prevent: - Attaching a non-text item as an attribute - Attaching an attribute to more than one object Improved the warning that is displayed when an attribute is already attached to an object Updated f_open and s_page_new to only open a schematic/symbol if it isn't opened already. 9/12/99 Added a flag in s_netlist structure for net naming priority 9/7/99 Added s_color.c Cleaned up code to reflect the new function names created by s_color.c Removed all lame function pointers now that the color stuff is part of libgeda Added st_color structure to struct.h Added o_attrib_search_name_single_count which is like the other search_name functions in that it allows you to pick the n'th occurance of an attribute but only searching the specified in object 9/6/99 Removed most color #defines from color.h, in prep for the new color system Temporarily broke color postscript printing Temporarily broke color image writing Put into colors.h the proper #defines for the new colors scheme Put a few user rc variables into the toplevel struct Fixed color postscript printing To do this, I had to create a ps_color_string global variable function pointer, so every gEDA program needs to define this if it has to be linked to libgeda Fixed a coredump bug which was caused by improper attributes (ie pin15= (and no value)) Fixed o_attrib_get_name_value so that improper attributes are NOT returned as proper attributes Started to fix the broken color image writing - Re-arranged the allocation of colors in o_image.c Got color image writing working again Unfortunately had to create another function pointer for x_color_gdcolor_init (ugg... I need to clean all this up...) 8/31/99 Renamed ntext to text (finally) Hopefully fixed the problem that gnetlist was having with embedded components ? 8/30/99 Fixed the bus visual cues postscript output to look better (by controlling the capstyle) Fixed the direction of horizontal bus visual cues in postscript output Renamed all ales to conn and ALES to CONN 8/29/99 Added bus_gc Added support to the postscript / image printing for the bus cues Got bus to look thicker when they are imaged. Still need to do the same to nets Fixed a postscript problem when you have thin nets enabled (everything would be thick... which is the exact opposite of what you would want) Removed a "this is totally broken" comment from o_complex_add_embedded (I think it works... but just in case...) Removed all warnings from the code 8/28/99 Fixed a minor bug: connect two nets to a bus to the same point, you would get an invalid cue, which isn't right (that's a valid bus midpoint connection). 8/27/99 Set the program version to 19990829 to force Ales to release on the 29th :) Updated all *.c and *.h files to have the right address for the FSF in the copyright/licence header Updated library so version 8/18/99 More work getting buses to work correctly, updates to o_ales (which will turn into o_conn eventually) Added #defines for output-capstyle Added code in f_print which does the work of the capstyle keyword More work in o_ales to get bus to work right. Added code which determines if a connection is valid or invalid NOT valid: pin to bus NOT valid: net to endpoint of bus 8/17/99 Started adding bus object Including creation of all basic functions Update toplevel structure (struct.h) Update of enumerated types of objects 8/12/99 Added o_net_modify to support the stretch command 8/11/99 Added o_attrib_search_toplevel which searches for toplevel attributes in all loaded pages. Fixed a fatal bug (core dump) in the o_net_consolidate_lowlevel function (as well as a possible memory leak) that deal with connecting nets together which both had attributes. Fixed another memory leak in o_net_consolidate_* Fixed configure.in to properly check for cygwin port and X11 libraries (for all other tools as well) 8/5/99 Added some stuff to configure.in for win32 builds Removed some bogus #includes from a bunch of files s_attrib.c, s_papersize.c, s_stroke.c Renamed private POINT structure to sPOINT (single POINT) in m_basic.c (it was conflicting with some includes in win32) Added some more #if conditions to the #include , only include this on UNIX platforms Added code in configure.in to ignore the requirement for X11 for cygwin 8/3/99 Added to TOPLEVEL the net_consolidate flag Upgraded to libtool 1.3.3 First attempt at getting net_consolidate to work with attached attributes Removed an extra return from o_attrib.c net-consolidate code is not 100% working today. 7/27/99 Added o_net_consolidate* functions which take net segments and if possible combine the nets into one single net. Added o_net_consolidate to f_open so that it runs whenever you open a schematic Added o_net_consolidate to f_save so that it runs whenever you save a schematic 7/25/99 Cleaned up g_read_file(). (by Kazu Hirata) 7/23/99 Added u_basic_strdup_multiple() to u_basic.c. (by Kazu Hirata) 7/21/99 More work on getting all objects to use new object init and link routines (rest of o_*_basic.c functions) Created u_basic.c for utitlity functions to which Kazu is adding Removed all traces of s_passing.c and s_passing.h (Yeah, no more p_* kludge) #if 0'ed out add_object, replaced by new object init and link routines Found all unknown p_* variables and removed them 7/16/99 Added s_basic_init_object which just creates an object and inits it with default values (this is part of the s_passing kludge removal) Added s_basic_link_object which links in the object into the passed in ptr linked list. Removed "int selected" from struct.h (was totally unused) Minor cosmetic changes in struct.h As a first test, converted o_ntext_basic.c to use new s_basic_init_object and s_basic_link_object 7/15/99 Added support for libgdgeda 1.6 (mainly means searching for libpng) Removed all traces of old libgdgeda 1.5 gif support Changed the check for zlib (uncompress is the function it searches for) 7/10/99 Started to improve the performance of the math functions (was doing to much math everytime I was calling pix_x/pix_y) Finished speed improvements in mil_x and mil_y Updated a few places where it's important to call set_window (part of the math speed improvements) Added some variables to struct.h to support gschem rc files Added displayed_text_len which holds the true string length of text which is displayed Added a check in o_ntext_read for unsupported text angles 7/6/99 Didn't really disable libgdgeda when using --disable-gdgeda Now fixed. 7/5/99 Fixed a minor typo when allocating a string "pin" instead of "slot" Hopefully got slotting to work with alphanumeric pins Removed all warnings Updated configure.in a bit Updated version number (in all other programs as well) Updated README file (in all other programs as well) 7/4/99 Fixed the headers in all files to be correct (GPL) 7/3/99 Removed some debug printfs from s_nethash.c Removed some obsolete data structure elements in the gnetlist part of struct.h Added code to warn user that a zero length object (line, net, pin etc...) was just read in 7/2/99 Fixed the ./configure stuff dealing with libgdgeda so that it works when libgdgeda isn't installed in a system directory 7/1/99 Changed all gd includes to gdgeda to distinguish my version of gd from the official one Changed HAS_LIBGD to HAS_LIBGDGEDA Added #ifdef HAS_LIBGDGEDA where appropriate Missed a few spots in adding above, found them all I hope 6/29/99 Added s_nethash.c which deals with the nethash table in gnetlist Added init of the nethash table to s_page.c 6/26/99 Fixed the output of 180 rotated text in the postscript output 6/25/99 Added the ability to generate black and white gifs Moved a o_redraw_all from libgeda into gschem where it belongs (f_image.c) Removed all traces of GTK_DEVEL 6/24/99 Got all the object primatives outputing to the image (including the rather painful arcs) Added the ability to change the image size Added a o_recalc function which recalcs, but doesn't draw the objects 6/23/99 Added o_image.c (which is code which uses the gd lib to output schematics to gifs) Added some entries in the TOPLEVEL structure to support the image printing Added f_print.c which includes all the toplevel code for writing an image Added support to configure and friends to make libgd an optional library 6/17/99 Added o_ales_search_object which goes through entire the ales_table and finds the n'th occurance of object Above may be removed and moved somewhere else (into gnetlist) 6/13/99 Removed s_delete_head from production Attempted to find the hidden attribute memory leak Found above memory leak and squashed. 6/10/99 Added the start of support for not creating text items which are hidden 6/9/99 Increased the number of symbols which can be in a directory to 1024 from (256) in s_clib.c (s_clib_getfiles) 6/1/99 Fixed a few minor things in s_page.c and s_basic.c (p_circle stuff) Put some checks to prevent the coredump condition described below Put some casts to make make happy (less warnings) 5/31/99 Fixed printing for nets visual cues Removed all traces of the old connection system Discovered a core dump condition in clib_cache_free (caused by reading in swedish/non-standard-ascii character font files, okay for now) Few minor touch up to s_clib.c, but not enough to solve above 5/29/99 Change the license for libgeda back to GPL (from LGPL) Put in another check in the o_ales_update_nets function to make sure we don't add duplicate objects into the ales_list's Added in code which allows for unattached toplevel attributes (o_attrib.c) 5/99 See ChangeLog in gschem for all the changes related to the new connection stuff All connection stuff is in o_ales.c (will be renamed to o_conn.c once things get a big more stable) 5/16/99 Removed ../libgeda/prototype.h from f_print.c Removed ../include/x_states.h and ../include/x_events.c Moved prototype.h to ../include (change all the source as well) Commented out most of ../include/globals.h 5/13/99 Increased the size of buffers and the reading in of attributes (o_attrib.c -- o_read_attribs) Increased the size of text strings (in o_ntext_basic.c) Fixed the appropriate string in s_passing.c (and s_passing.h) Fixed text_string allocation size in add_object (s_basic.c) The above changes should fix the bug reported by Thomas Dean 4/27/99 Minor comment fix in include/struct.h 4/20/99 Minor fprintf warning/error message touchups in s_clib.c 4/15/99 Added coord dialog variables to WINDOW structure 3/23/99 Added GtkWidget *abwindow to struct.h 3/19/99 Added expand_env_variables which takes a string and expands all shell enviroment variables. Fixed it so that when you do some attribute related activities the changed flag gets set Had to remove one of the above because just selecting something with attributes would cause the flag to be set... 3/9/99 Remove all // from all include/*.h files 3/2/99 Added missing #include to s_basic.c 3/1/99 Fixed the vsnprintf problem I thought I fixed. It's fixed now! Updated struct.h (new schcheck structure) 2/25/99 Added gsymcheck structures (include/struct.h) 2/12/99 Added code (#ifndef'ed) for vnsprintf to fix the Solaris 5.5.x problem (didn't have vnsprintf). The vnsprintf wrapper is from Timidity++-1.2.1, which is under the GPL v2.0 Minor bug fix to s_log_close (disable the logging of messages after you close the log file) Found a memory leak in s_clib_cache_free, the index used in the loop could wrap, so you might end up freeing only a portion of the entries 2/11/99 Searching through stroke structure fixed to be faster (does not search the whole array of structures) Implemented a return value of s_stroke_search_execute (TRUE if it finds a stroke, FALSE otherwise) Increased max number of strokes to 256 2/9/99 Increased buffer which is used for reading in schematics to 1024 characters Increased buffer which is used for saving schematics to 1024 characters Added s_stroke.c (place where strokes to action mapping is stored) 1/24/99 Fixed a fprintf format statement (%% instead of %) in f_print.c 1/23/99 Fixed printing problem created when I switched the rc reading order Added code to support portrait printing printing (in struct.h : print_orientation, defines.h - a few useful defines) Changed f_print_header, w_current is passed in now Worked some on getting portait mode right (instead of the _hack_ which it currently is) Changed the way the translating actual happens in the actual postscript (instead of changing the points in C, it's done with a translate), much cleaner. (be sure to remove all the dead code... maybe?) Got portrait printing working more or less. Still might be buggy though. Added support for color postscript printing (f_print_set_color) Fixed some bugs in the printing of colored nets (end/midpoints not being colored right) 1/17/99 More gtk+ 1.1.x compatibility work (in s_log.c) (minor #ifndef) Changed s_log_message to use vsnprintf instead of the g_v* functions since they were not behaving like I want them to. 1/9/99 Added gtk+ 1.1.x compatibility to libgeda g_vprintf -> g_strdup_vprintf (s_log.c) 12/30/98 Removed duplicate code from snap_grid function 12/15/98 Added clip_nochange and clip_change (really just copied and changed existing code). These routines either just tell if a line (object) should be clipped and/or the actual points are clipped. Added SCREENencode_halfspace and WORLDencode_halfspace which support above code Discovered that my clipping routine wasn't working completely right (slope was always zero) fixed now? 12/13/98 Fixed pin color being saved as -1 Added some checks in clip to make sure you don't divide by zero Assume the object is visible if you were going to divide by zero. 12/9/98 Added WORLDabs and SCREENabs, these function, don't return a points coordinates, but rather an absolute measure in either world or screen coordinates (such as a width of a line or the radius of a circle) Finally fixed o_ntext_print so that you can print out ('s and )'s. (should work on all postscript printers correctly) Changed the ps of text output so that it uses "show" instead of "true charpath fill" Cleaned up rest of circlefixme comments left over from yesterday 12/8/98 Added st_circle structure and CIRCLE typedef to include/struct.h Started changing o_circle_basic to use new structures above Changed s_basic to allocate and free above structures Added circle structure to s_passing.c/s_passing.h Added some if's in add_object for p_line_points and p_circle Went through and added p_circle=NULL to all the places that needed it Went through and fixed up all prototype errors associated with above change Discovered a major bug in o_complex_rotate_lowlevel, was trying to rotate a circle using a box routine (worked previously since circle/box used similar datastructs, now that's changed) Found the same sort of bug as above in o_complex_mirror_lowlevel. (trying to use box routine to mirror a circle) 12/6/98 Found another really long term bug in dist() (wrong value being set to temp var). I don't know how it worked with this bug. Found another long standing bug in circle, again not sure how things worked before, dumb luck. When saving, radius which was saved could have been zero due to how the circle is represented in memory (stupidly) 12/5/98 Found a nasty bug in the printing of X endpoint lines, was using offset variable instead of cross, also had the wrong variables in various places 12/3/98 Added Tom Javen's finnish / swedish libgeda patch to o_ntext_basic.c 11/27/98 Apparently I didn't fix the %! in f_print.c so now it's definately fixed 11/18/98 Removed some irrelavent/dead/wasteful code from m_basic.c (math routines) 11/15/98 Added code to center LIMITS printed schematics Added code to deal with space.sym (the right way) (when reading in the width specifier) Added backtick.sym to o_ntext_basic.c 11/6/98 Added sort routine to s_clib_getfiles (so that components are in alphabetical order when displayed) Added support to TOPLEVEL struct for print dialog box Added s_papersizes.c, place to hold paper sizes read from rc file Added print_output_type to TOPLEVEL structure 11/5/98 Added paper_width, paper_height to the TOPLEVEL structure Started work on generalizing the postscript printing (print to any papersize) Started work on being able to print out the current window 10/28/98 Cleaned up o_ntext_basic to get rid of special code for space character 10/25/98 Cleaned up all warnings (-Wall only) Added some error checking in a few misc places Added version information to o_save (o_save_write_header) Added version information reading to o_read Passed version info to all o_*_read functions (this was done so, because o_read is called recursively) 10/24/98 Added the ability to have comments in schematic files, but they are not saved... 10/22/98 Removed arc bounding code again... still not working right Added o_attrib_slot_update (update pins based on slot, given complex) Added o_attrib_search_slot_number (search for slot#) Added o_attrib_search_pin_number (search for pin#) Added o_attrib_slot_copy (copy pin information over to new complex) Added the o_attrib_slot_copy to o_complex_copy Found a memory leak in the above code, fixed (along with some other major/minor bugs) Got the first working version of the slotting done 10/18/98 Added o_attrib_search_slot Changed o_attrib_search_name_single to return the object where the attribute lives Added a bunch of o_attrib_search_name_* function to search for various standard attributes 10/17/98 Applied patch by Roger to add variable grid spacing 10/15/98 Attempt to fix the arc bounding code (doesn't quite work 100%) 10/12/98 Found a small bug in world_get_circle_bounds which was causing a_zoom_limits to set the wrong value if a circle was the largest object Finally fixed o_arc_add so that it takes world coords like all the other objects! Woo Hoo! 10/10/98 Added netlist structures to struct.h Added visited flag to object structure 10/9/98 Removed some really old #if 0 and did a small amount of code cleanup 10/8/98 Worked some more on the mirror code of complex objects Almost working except for text inside components which is unmirrored (that displays incorrectly) 10/6/98 Broke schematic format again with the addition of the mirror flag on complex objects Added code to implement above Changed the way the rotating of complex is done 10/5/98 Added o_line_mirror Found a nasty cpu sucker, in o_ntext_rotate, where you were doing the rotate effectively twice. Oops. Removed one line rotate while loop Added rest of o_*_mirror Worked on o_ntext_mirror Worked on o_complex_mirror Added all o_*_mirror_world Found/fixed a minor bug in the text rotate dealing with the mirror of attributes (mirroring wrong point when mirroring attributes) Discovered a case which broke arc printing (negative sweep angles), Hacked something together to fix it, but unknown if it's a complete solution Figured out how to finish up complex mirrors, but that will have to wait till tomorrow. 10/4/98 Worked on gettting printing working and flexible (f_print) Got text to be printed using native postscript fonts. The mapping between the stroked fonts and the real ones is really close, not perfect, but close. 10/1/98 Fixed all warnings (with -Wall) Found a place where temp_parent wasn't being used to temporarly hold object_parent (o_list.c _copy_all) Added README and COPYING 9/30/98 Added code to have text that is rotate 180 degrees be upright and readable (almost perfect, but still need to get it exactly looking right) (text with bars and text with subscripts doesn't rotate right, but that can be fixed in a better way) 9/29/98 Today starts the new release system: 19980929 Added o_attrib_copy_all (to copy attribute lists), useful when you rotate components (and the attribute list is discarded) Added o_attrib_reattach and o_attrib_set_color to help support the proper continuation of attached attributes to complexes when they are rotated 0.0.5 ------- 9/27/98 Fixed o_complex_*_rotate functions to actually work Modelled after the ntext ones Found a rotate bug in arc_world if you passed in a zero angle Made a similar change to all the rotate_world functions Found a new bug in arc_rotate_world, arc's were not being rotated correctly Moved the highly gschem specific o_complex_rotate into gschem/ Fixed the broken x_update_log call in s_log_message 9/26/98 Added o_*_rotate_world routines More attempts at getting complex's to read and rotate in correctly Added o_ntext_rotate_lowlevel (which properly rotates text based on angle) Fixed rotate_point_90 so that it can accept any angle in increments of 90 degrees. Wrote and Got o_ntext_rotate working (which rotates text when you hit the rotate button) 9/25/98 Added the angle argument to the complex type (this breaks all schematic files!!) (embedded components now totally broken) 9/23/98 Fixed snap_grid, so that it would work on negative inputs (doh!) Added rotate_point_90, a simplied more general func of rotate_point Might be removed in the future, but for now is guaranteed to work. Fixed o_line_rotate (better name) and to use above function Added all the o_*_rotate functions, most stubbed, only ones that work are the line related ones 9/17/98 New code for snapping to the grid (m_basic.c) 9/13/98 Added scheme_directory to the TOPLEVEL structure 9/12/98 Added return_zoom_number (m_basic.c) Added world_get_complex_bounds (o_complex_basic.c) Added o_complex_world_translate_toplevel (for object like components) which should be completely translated (o_complex_basic.c) Added world_get_ntext_bounds (o_ntext_basic.c) Fixed a bug in o_ntext_add where the bounding box of the text item was not being set (incorrect call to get_ntext_bounds) Fixed a bug in the translate_all deal with complex objects, wrong complex translate was being called (should have been _toplevel) 9/4/98 Switched to -version-info since it's more portable Moved o_basic (mostly) out of libgeda and into gschem Removed a lot of gschem specific functions out of libgeda Made some function pointers so that various functions can be revectored (very useful) 9/3/98 Create libgeda using libtool Forced library name to use -release instead of -version-info because library will change drastically for a while Started work on breaking (removing specifics) libgeda from gschem geda-gaf-1.8.2/libgeda/data/0000775000175000017500000000000012220655750012464 500000000000000geda-gaf-1.8.2/libgeda/data/application-x-geda-schematic-48.svg0000664000175000017500000007114212207374137020771 00000000000000 image/svg+xml gEDA circuit schematic Peter Clifton, Tomaz Solc, Jakub Steiner geda-gaf-1.8.2/libgeda/data/application-x-geda-gsch2pcb-project-22.png0000664000175000017500000000221412207374137022137 00000000000000PNG  IHDRĴl;sBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org< IDAT8oLU?<Ͻ ^n^abPd9"Rfmnҫm)TAa96C\idJ5DvċsN/sw뻝7<~#<@FȉJ jlxI\jVpgky:&OLvEE9[oitmq)قg8scHJI7ǭ޻{ %4YSąZqk^YZ/ Yx} iܾ}w$3'O?<% /hznZ4,)^QSS`Yb!BC֝;w@*fN|=s0sGԟ"I<1LH0ap,ˢjGmG{9ߒֳlpr%ϑ-K0M`0eYERb"))5Tώ]i %[b|gL%vC^^t^kk2g\oExP %jdbqJH;G[YS\.RSǐqs1Hp*ZXR_aHih' @ @Je+(_*7kf.{^̾dI5wf۹"LfSl rFpnH)#n=ǃF205Sl[¼x# i{ S)+Ym5eVz$Ms WJۿvij*~قp0s}=b6w5k߃RW|Kz{~TBDʳ,4K!:/ %4 $Y4^)Kư|ԑ `H)&2zUy χV~zYϵ/-}744F,7Rڷfک2g>x$֖ gPEQө$ IHgR>tP,eQx7Oq}rkn)[m`V"wǛEgs3_}@3`s!x)$K](\~ N?[YV9~XWxf?{Lnw`^'NVw|W."@UUz-,VksֱFFF.˲,U]V.lvJqx Lmٿu ~L%IENDB`geda-gaf-1.8.2/libgeda/data/Makefile.am0000664000175000017500000000345612207374137014452 00000000000000theme=hicolor xdgdatadir=@XDGDATADIR@ themedir=$(xdgdatadir)/icons/$(theme) mime_icons = \ application-x-geda-gsch2pcb-project \ application-x-geda-schematic \ application-x-geda-symbol mime_icon_files = \ $(mime_icons:%=%-16.png) \ $(mime_icons:%=%-22.png) \ $(mime_icons:%=%-24.png) \ $(mime_icons:%=%-32.png) \ $(mime_icons:%=%-48.png) \ $(mime_icons:%=%.svg) mime_icon_sources = \ $(mime_icons:%=%-16.svg) \ $(mime_icons:%=%-22.svg) \ $(mime_icons:%=%-32.svg) \ $(mime_icons:%=%-48.svg) theme_icons = \ $(mime_icon_files:%=mimetypes,%) mimedir = $(xdgdatadir)/mime xmldir = $(mimedir)/packages xml_in_files = libgeda.xml.in xml_DATA = $(xml_in_files:.xml.in=.xml) application_in_files = \ x-geda-gsch2pcb-project.desktop.in \ x-geda-schematic.desktop.in \ x-geda-symbol.desktop.in if ENABLE_KDE_DESKTOP_DATA kdedatadir=@KDEDATADIR@ mimelnkdir = $(kdedatadir)/mimelnk applicationdir = $(mimelnkdir)/application application_DATA = $(application_in_files:.desktop.in=.desktop) endif ENABLE_KDE_DESKTOP_DATA install_icon_exec = \ $(ICON_THEME_INSTALLER) \ -t $(theme) \ -s $(srcdir) \ -d "x$(DESTDIR)" \ -b $(themedir) \ -m "$(mkinstalldirs)" \ -x "$(INSTALL_DATA)" DOMAIN=$(LIBGEDA_GETTEXT_DOMAIN) @DESKTOP_I18N_LANGS_RULE@ @DESKTOP_I18N_DESKTOP_RULE@ @DESKTOP_I18N_XML_RULE@ install-data-local: $(install_icon_exec) -i $(theme_icons) install-data-hook: if ENABLE_UPDATE_XDG_DATABASE $(UPDATE_MIME_DATABASE) "$(DESTDIR)$(mimedir)" endif uninstall-hook: if ENABLE_UPDATE_XDG_DATABASE $(UPDATE_MIME_DATABASE) "$(DESTDIR)$(mimedir)" endif $(install_icon_exec) -u $(theme_icons) MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in DISTCLEANFILES = $(xml_DATA) $(application_DATA) EXTRA_DIST = $(mime_icon_files) $(mime_icon_sources) \ $(xml_in_files) $(application_in_files) geda-gaf-1.8.2/libgeda/data/application-x-geda-schematic-48.png0000664000175000017500000000311112207374137020745 00000000000000PNG  IHDR00WsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAThYKLTW}2@3A$R$b1iiAk ]*ˆD]M7ݸ򘁺VI]PYSMs{s;5%79w0&C5WŪ\cU@* XkhL__YQJ@q!OmUTU󭭭g@WD"PWWgolޝGGGJ0??,5??Ʌ iHRNmwQ%[lɛ.]:wLưxPYY ˲T*ѣGWLUܵkBPLt: CuiǏ=:>v!]GA&A8c 0MhT3M+W| :JI/+bvvblڴ P7o6Enr:c >{i-een>8c, KKKX\\}~eeeD",,(0ݻB, rw>huwUm.~R=k;uJ)}7Fe+sW+"8ݩ7م~w6`ji8JJJP/#GF>P :ⷻwuv MӠ*LtM@{G}En#;Qt$Bp{0F}O >U죻PgUz]""XWd8*@4ωh{ ;x[/"mTǡi鴔0iϻ[V~vEd-:04|7nxڴǀ-Z;Ow˲pg| ๘x[%kk@q "4N^l410x7n`-~^lz&{bn2<3%RxEOÑ_2/ormBŀ|*τI ;5b/`24dԢ"R/,1EBHznnx<~RV.f(OxΣ0ܝ0,X`-&lU@1e|mIENDB`geda-gaf-1.8.2/libgeda/data/libgeda.xml.in0000664000175000017500000000174012207374137015126 00000000000000 <_comment>gEDA circuit schematic <_comment>gEDA schematic symbol <_comment>gEDA gsch2pcb project geda-gaf-1.8.2/libgeda/data/application-x-geda-symbol-16.svg0000664000175000017500000004604112207374137020331 00000000000000 image/svg+xml gEDA schematic symbol Peter Clifton, Tomaz Solc, Jakub Steiner geda-gaf-1.8.2/libgeda/data/application-x-geda-gsch2pcb-project-24.png0000664000175000017500000000225712207374137022150 00000000000000PNG  IHDRw=sRGBbKGD pHYs B(xtIME $,U/IDATHǵ[lTUϙL0)6@ xS (iUh P`rZ:բ @Ā6PlRء엝_^q4([r!La_]ޓap!/416-%5-fN]>ӡ7q2}Ow]71=SLY@BR"Qw>8 u?#slsB8S-Nw}+ 9 56Dž&6mr7>~ &,p66NyyWqM]`@UR&WUU) !B`24=3}Z3ʑrƑ+ۨ=YAxb`"G_RRiC)E [FYߐ/ղTѿsK鐧ɔERQB|<_I(9XeCIqEYwm{}%/wVENN_n%//˭3cL:;E\`EgBZl@jgܞ)q8$' |`6haA|&mĎUa5MCJ%K(],|7mj6[nD ۶tdpz":z)%Rp֝ eqB7e&f~Ilk:d>dT\`B;I!oZvrfV'+XڳP$_*/XŇ?xiX o0dURY0)^8B~~IIHFTGLpX|&rucbi,.GJAUox0 md##*5fMOі<RvzW:bp_՝An0nDcg.n1wz1u%/*/GYYYkxC9 )iBQ~7Aj"SUh41eyt&efβcvrMk[k "\B9: R@˒ٴ|>1P{iO֛bIGB"=lJlm;62.865IBaW3U?ǣ[901 \+=a$ ^21PjAW5*;,N\ @\ image/svg+xml gEDA gsch2pcb project Peter Clifton, Tomaz Solc, Jakub Steiner geda-gaf-1.8.2/libgeda/data/application-x-geda-gsch2pcb-project-16.svg0000664000175000017500000012546312207374137022171 00000000000000 image/svg+xml gEDA gsch2pcb project Peter Clifton, Tomaz Solc, Jakub Steiner geda-gaf-1.8.2/libgeda/data/application-x-geda-schematic-32.png0000664000175000017500000000217212207374137020744 00000000000000PNG  IHDR szzsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDATXOu?Yni#&Z,]p_x0DmSBEhhI?@xE@,Ћ Q`l V|"AJH`#@g23 kғlw9Y!d?MW UJai9zX{{aRJVib& LU,㔩fwBP^^Nzz:BkMA<T PJ"jHٜ6CH(D @W9LbU~?B!M]RkELBa0 6771 CKKKXL&ޟ8V񓄇w=I؁ X1J8p hZFFFK+58V#7Fy*RRJ~c?7FdeeOvNJ9q$y(5Pqp7Xk/DUUEQ<HTɋ&Bv^P#j^~lָ0K̥W旛h-NW4$&" ;adqX*EI y}BY3*G_&?ToǷiB%!4Ms||;EubԚz`0DAaW`&VwLLLldtt(|!72NE@4~ٟWU]Q]^(սi|;=O|T @QvJƳ I)[z _ ;(1hx]׭sc\hBc= MuHPJfG&vggqLK Ӭ"BimLMMy2MՄ)4@.xfߓRܚ^Ɗ!)ćM`s/`Y1adɒ[L.ʴljSÛ3 |}4]q~C]_Uߩ=.G_pښta$4f9?kVf}MK)' (_JM'[2LG@F0 blzaF>a4DUYDr-Zt;S嗟s ӽ9AJPpج̬Lb*hؠatmOk.wiƽ&.dF$3 &ip–Hkf !<***XIk֫W̞V+ BckeCiUֈcXPVE?g-fiƈLuo_Y`n*?߄ dԺi80 ٳM~FFFm ܳ{rt: 4M.{=?񩍹"?PyU/9`<8ZA\||v3Gȹփ儜 ?*jd2˗/Oe,I,N4|pt:̚n!iHGkkf6m{}]#'pܽ-#ޓ~c#6]-d\ n.kɲt綂i8El9.L8?fw\?8Ē# ЀFvvڣG4Mhkk aB_-4ok^ǓcV~5Yc_1wPᵐpP>k+:p>>Ĕfpdq+V?WB,maaLuu5555ri.]D$aРJ(RT+ӣ^DGa69^ 9:le0o\m-Gf?^m6mBIjvR9y9#$/+WݒaL!Bqq1yyy|>jkkСCx^\.l BJqi @[*Nk!Ko5E ~mV2uիeee9E!rp:t֍3vXJKK477_.$_"AP6ZZY>__ن!/6!opg!=FX9g FtG 62 c Hhs ÎÞZۮQZ:*h0%iL9p~| 7RԒc`/>3|=?9GWw}?m4aɠi>c6A跾.V#)yرۍA;@݀*E` `2 goFdn뺮S__#z!PvWgddtKiӉDJvRoW\J/iE1|44K&9T\W‡1AuuuCnAKK ^CoO`(H8|(uKc{MPN(Oq?%l}DF0)W5;EQ(++=n6?FNFzVl{3 466:iiifcC zq-H<48ZDBBtTyx'Ox:X6&B\ߓK7)hk4-ἠg޸7q5w BƵnܰ&AݎɓU #=#eue0_ȅhtȓɍ$N&MbXbV̜úwV'=}/dr>0ln俥 /͟g@{ҒƍD"|k;da}VTIwMbx&b̵ #aEKi4@ k:0 ҡ)UT8gv:R XNq>Ǐ{Z F[6PPУK% URpQWW&U3_\pg9DQ=G]7p\ٳ疄l(ѥKD_.sPU@0a$jD"2338qb> <yՀ `I O&bN^}u^{|u Fu; B0IRFAh].~)eտ%PYYlX~zy~~6l0Rٽ{E jPYY)BB\0Zt/TIKi*IENDB`geda-gaf-1.8.2/libgeda/data/README0000664000175000017500000000235312207374137013271 00000000000000 gEDA GPL Electronic Design Automation ------------------------------------------------------------------------------ README for icon data This file describes where the various icons came from and their license. The schematic and symbol mimetype icons and registration data were contrinuted by Tomaz Solc, and subsequently modified by Peter Clifton, including creation of a gsch2pcb icon in a simlar style. The page outline is from the GNOME icon theme's text-x-generic icon by Jakub Steiner. The icons are licensed under the GPL2 license. Scalable versions: (128x128 canvas for the "hicolor" fallback theme). These were scaled up from the 48x48 pixel targeted version. application-x-geda-gsch2pcb-project.svg application-x-geda-schematic.svg application-x-geda-symbol.svg Pixel targeted varients: application-x-geda-gsch2pcb-project-{16,22,32,48}.svg application-x-geda-schematic-{16,22,32,48}.svg application-x-geda-symbol-{16,22,32,48}.svg PNG versions of the above icons were exported from Inkscape. The 24x24 pixel versions are copied from the 22x22 version, with a 1 pixel border added: application-x-geda-gsch2pcb-project-{16,22,24,32,48}.png application-x-geda-schematic-{16,22,24,32,48}.png application-x-geda-symbol-{16,22,24,32,48}.png geda-gaf-1.8.2/libgeda/data/application-x-geda-symbol-48.png0000664000175000017500000000370512207374137020323 00000000000000PNG  IHDR00WsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<BIDAThYoWx2ĉ8i4JZX 4K,-JJ}i_e_"UZ"Vâ&R`-),PJɥqx;qbϜ} sLH[Is?.9PJ8K `s!!!R ߎ|^$B)e|,ID/N>\.W$\`)ۣ(Xfㆆޚh1o@$ (jFyI.JeYB!4559~p8'\KPk^zӉl6@ E%`$Zey=0z`6 \yy1ܿ?Ar:ifXIr8XfDQ˲>\:~ѣ?x0 bw;4덂Y/cx$IlR,[ƍ9rСCW-N/*+"my^C0N':;;#9KPj;UQ^YCoo/V0fnC=!Ϟ; !) 3M:uE*B:La=;FZ P6p8vpq1cY]{tn|>U\FG~˫+/28No!-fʍ(5ˆ1-̬% e -Œ%ʥ.S#kQATRǂKAPOL&1r9x<x<^yn|-^@N} mdʼ\5R"Up\w 8]Mp4k8Z]؃5Yމv#!$ t7\ 3+9b䭻 K=lԢO5NASKBFbttT0O1/H}kaڅ&,++("jU]D*I,_y0x8+:^`2&[r.^m_~$I'lv$/o.y9ZS p^BÛgC$Qę T^'47,G 3fo`gs6`;_iŁŎďaއ <山y*B8)n[6o7P4Z=JL!F*B8\͛vBP,GyhT^Sz9 image/svg+xml gEDA gsch2pcb project Peter Clifton, Tomaz Solc, Jakub Steiner geda-gaf-1.8.2/libgeda/data/application-x-geda-schematic.svg0000664000175000017500000007217212207374137020544 00000000000000 image/svg+xml gEDA circuit schematic Peter Clifton, Tomaz Solc, Jakub Steiner geda-gaf-1.8.2/libgeda/data/Makefile.in0000664000175000017500000005164212220655725014463 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = libgeda/data DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am README ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(applicationdir)" "$(DESTDIR)$(xmldir)" DATA = $(application_DATA) $(xml_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ theme = hicolor xdgdatadir = @XDGDATADIR@ themedir = $(xdgdatadir)/icons/$(theme) mime_icons = \ application-x-geda-gsch2pcb-project \ application-x-geda-schematic \ application-x-geda-symbol mime_icon_files = \ $(mime_icons:%=%-16.png) \ $(mime_icons:%=%-22.png) \ $(mime_icons:%=%-24.png) \ $(mime_icons:%=%-32.png) \ $(mime_icons:%=%-48.png) \ $(mime_icons:%=%.svg) mime_icon_sources = \ $(mime_icons:%=%-16.svg) \ $(mime_icons:%=%-22.svg) \ $(mime_icons:%=%-32.svg) \ $(mime_icons:%=%-48.svg) theme_icons = \ $(mime_icon_files:%=mimetypes,%) mimedir = $(xdgdatadir)/mime xmldir = $(mimedir)/packages xml_in_files = libgeda.xml.in xml_DATA = $(xml_in_files:.xml.in=.xml) application_in_files = \ x-geda-gsch2pcb-project.desktop.in \ x-geda-schematic.desktop.in \ x-geda-symbol.desktop.in @ENABLE_KDE_DESKTOP_DATA_TRUE@kdedatadir = @KDEDATADIR@ @ENABLE_KDE_DESKTOP_DATA_TRUE@mimelnkdir = $(kdedatadir)/mimelnk @ENABLE_KDE_DESKTOP_DATA_TRUE@applicationdir = $(mimelnkdir)/application @ENABLE_KDE_DESKTOP_DATA_TRUE@application_DATA = $(application_in_files:.desktop.in=.desktop) install_icon_exec = \ $(ICON_THEME_INSTALLER) \ -t $(theme) \ -s $(srcdir) \ -d "x$(DESTDIR)" \ -b $(themedir) \ -m "$(mkinstalldirs)" \ -x "$(INSTALL_DATA)" DOMAIN = $(LIBGEDA_GETTEXT_DOMAIN) MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in DISTCLEANFILES = $(xml_DATA) $(application_DATA) EXTRA_DIST = $(mime_icon_files) $(mime_icon_sources) \ $(xml_in_files) $(application_in_files) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libgeda/data/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu libgeda/data/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-applicationDATA: $(application_DATA) @$(NORMAL_INSTALL) @list='$(application_DATA)'; test -n "$(applicationdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(applicationdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(applicationdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(applicationdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(applicationdir)" || exit $$?; \ done uninstall-applicationDATA: @$(NORMAL_UNINSTALL) @list='$(application_DATA)'; test -n "$(applicationdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(applicationdir)'; $(am__uninstall_files_from_dir) install-xmlDATA: $(xml_DATA) @$(NORMAL_INSTALL) @list='$(xml_DATA)'; test -n "$(xmldir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(xmldir)'"; \ $(MKDIR_P) "$(DESTDIR)$(xmldir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(xmldir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(xmldir)" || exit $$?; \ done uninstall-xmlDATA: @$(NORMAL_UNINSTALL) @list='$(xml_DATA)'; test -n "$(xmldir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(xmldir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(applicationdir)" "$(DESTDIR)$(xmldir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-applicationDATA install-data-local \ install-xmlDATA @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) install-data-hook install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-applicationDATA uninstall-xmlDATA @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) uninstall-hook .MAKE: install-am install-data-am install-strip uninstall-am .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-applicationDATA install-data \ install-data-am install-data-hook install-data-local \ install-dvi install-dvi-am install-exec install-exec-am \ install-html install-html-am install-info install-info-am \ install-man install-pdf install-pdf-am install-ps \ install-ps-am install-strip install-xmlDATA installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am uninstall-applicationDATA uninstall-hook \ uninstall-xmlDATA @DESKTOP_I18N_LANGS_RULE@ @DESKTOP_I18N_DESKTOP_RULE@ @DESKTOP_I18N_XML_RULE@ install-data-local: $(install_icon_exec) -i $(theme_icons) install-data-hook: @ENABLE_UPDATE_XDG_DATABASE_TRUE@ $(UPDATE_MIME_DATABASE) "$(DESTDIR)$(mimedir)" uninstall-hook: @ENABLE_UPDATE_XDG_DATABASE_TRUE@ $(UPDATE_MIME_DATABASE) "$(DESTDIR)$(mimedir)" $(install_icon_exec) -u $(theme_icons) # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/libgeda/data/application-x-geda-schematic-22.png0000664000175000017500000000141012207374137020735 00000000000000PNG  IHDRĴl;sBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAT8KTQ?͝l60MܖH;QM+!*> eԴڸY86P!)"pBMaޏLw޹={},8T@Wbӂb1[D;owcccv<~_P(H$Q,Y(XZZ²S1mVz{{㋋kWq:::F"\g XkY__ggg۶iiiTKSJ*D"("Lp.ZEss3a?joNM[)^ <0 \e T464#!˲8<<,+2Z&U47fCkfwwH q wBS8鳿*,u18rV?_(|7TIENDB`geda-gaf-1.8.2/libgeda/data/application-x-geda-symbol-48.svg0000664000175000017500000004635012207374137020341 00000000000000 image/svg+xml gEDA schematic symbol Peter Clifton, Tomaz Solc, Jakub Steiner geda-gaf-1.8.2/libgeda/data/application-x-geda-symbol-22.svg0000664000175000017500000004575212207374137020336 00000000000000 image/svg+xml gEDA schematic symbol Peter Clifton, Tomaz Solc, Jakub Steiner geda-gaf-1.8.2/libgeda/data/application-x-geda-symbol-32.png0000664000175000017500000000256612207374137020320 00000000000000PNG  IHDR szzsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDATXŗoSU?׵돻+.1NAPa [^CbPC%H$`c0tlm[۵ڟ['FOϹ}<gN}YUY`!;n˺5R(oO7oK h/&QY*%N)oL%BM1N~'p:ٶ^>=J֛y|13!sYt]g qr]];I=,,[5jvQ8/~nS* ȟ_^^ ٜR2} Oaplhݧ)2 Na$V.=^6ߘ'}O@-;%Jv1@Z{zB0::64MӞ]2rL pj3'NLéX޹U.z2?|b%[ 4-o q|~0W]rg$$g 66Km~p85XQI0c.t+e}+.Asj\kJpp:wLŊUj㴮r5cRE`֬lc73V`geSrnʝ_YҒIcNJ +9:\.\.EIYJ(,[JڄV)e슮$-ip8l6rssZX,rrrbCUUf3& EQ !PD8F!q* |tȑS4L!{zzS !,$Xy2;mR,oIENDB`geda-gaf-1.8.2/libgeda/data/application-x-geda-gsch2pcb-project-32.svg0000664000175000017500000023540112207374137022161 00000000000000 image/svg+xml gEDA gsch2pcb project Peter Clifton, Tomaz Solc, Jakub Steiner geda-gaf-1.8.2/libgeda/data/application-x-geda-symbol.svg0000664000175000017500000004702112207374137020104 00000000000000 image/svg+xml gEDA schematic symbol Peter Clifton, Tomaz Solc, Jakub Steiner geda-gaf-1.8.2/libgeda/data/application-x-geda-symbol-16.png0000664000175000017500000000110612207374137020307 00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAT8}nQsg$$ԆBM`Tm} VF7.Ę&ƥֶj+M ̽.NhIf=;?b0R,VT*:Q=HVp "t:Mr9 rY;ulc ł/Z% vCuGp;<{L@1gIq"Y6<ںcPݯqqyFƺ;I ]T:CS1bzp/1NwHǯߦ j6#Zk-l6EJd20 XSx՞IENDB`geda-gaf-1.8.2/libgeda/data/application-x-geda-schematic-22.svg0000664000175000017500000006327612207374137020772 00000000000000 image/svg+xml gEDA circuit schematic Peter Clifton, Tomaz Solc, Jakub Steiner geda-gaf-1.8.2/libgeda/data/application-x-geda-gsch2pcb-project-22.svg0000664000175000017500000035627312207374137022173 00000000000000 image/svg+xml gEDA gsch2pcb project Peter Clifton, Tomaz Solc, Jakub Steiner geda-gaf-1.8.2/libgeda/data/application-x-geda-schematic-16.svg0000664000175000017500000006075512207374137020774 00000000000000 image/svg+xml gEDA circuit schematic Peter Clifton, Tomaz Solc, Jakub Steiner geda-gaf-1.8.2/libgeda/data/application-x-geda-gsch2pcb-project-32.png0000664000175000017500000000425312207374137022145 00000000000000PNG  IHDR szzsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<(IDATX{PT?޻+, KXt H"ѦI4F1fG1d2I:[HP@ih"-d_ Y#va߻8e%M'w{~=߹ )%/wUꀩz3.>^5ozSA8x9@]EdFJf:ct;InWϿBtS\sYg -^~fQFT#ol1)&ݻj]cg}o%P^^~g~~bx€NkhI2jnn 1NY\dltwP{=R===tx4i& M[eE' WUp>u,eڰ2 Cd&SeR.K;QQQr !ԐRĤDTC7˛ȵή0[)%B!C;.XE79ܸ)!:GTeqs۷o˖-CEThjmˁ ̞5Xc\vSUUE||<=(ysNuRE#|Eسg^7D(<7}c8{۠U> tp.Q}#.:KޯP|Q< i7!L/ՠj*s̡F/gNcJO#=F!Ӌ9y3[ME&o7,7%Tf!DXS!mB*I]n.c`Z(J~|>ĉyXQDz9t<3 q=-4Ʉ=voz{?>өG))\ %9m$ BXUUf3MMM8Nz ^ ..x&P^)ep~{-#B0ɿ~,9qDc4ZJJJزe LrunY;# 0a"ӧ:.8(Eӊ0svax 0RJ[ϕ/{?5$h=a Os8Rxg-Kx$}5[ 8o&aH4TU F@Q*wQFt:)x8p*'p@Q߾g -\ U+V|>j~ʼ 0 zo oyL?i~?.u`r\TC>9 ջw0w|rs'Fcbo3Ec=#0IK3Z&5%W><+~+D8(mpE1{OitY3׏؞ɧYqz}Ī>CQפ)Ynf9~lZ/7?*rʎzShHoCkK.x~;L)!سo7tuwHӴ0?l0È*PU5\:eǟP!м^/6  ױcB D 9~#!=z4Oy\fVBBP8m&M;rzF<6 /`}#P[[;b8wmBR K,B,pJ)j-[I)'!===e iӦF999 |>Mׯ 8 PZZEKUUMZ/mذeݿ{ҜIENDB`geda-gaf-1.8.2/libgeda/data/application-x-geda-schematic-32.svg0000664000175000017500000006646512207374137020776 00000000000000 image/svg+xml gEDA circuit schematic Peter Clifton, Tomaz Solc, Jakub Steiner geda-gaf-1.8.2/libgeda/data/x-geda-symbol.desktop.in0000664000175000017500000000026512207374137017061 00000000000000[Desktop Entry] Encoding=UTF-8 _Comment=gEDA Schematic Symbol MimeType=application/x-geda-symbol Type=MimeType Icon=application-x-geda-symbol Patterns=*.sym X-KDE-IsAlso=text/plain geda-gaf-1.8.2/libgeda/data/x-geda-schematic.desktop.in0000664000175000017500000000027412207374137017514 00000000000000[Desktop Entry] Encoding=UTF-8 _Comment=gEDA Circuit Schematic MimeType=application/x-geda-schematic Type=MimeType Icon=application-x-geda-schematic Patterns=*.sch X-KDE-IsAlso=text/plain geda-gaf-1.8.2/libgeda/data/application-x-geda-schematic-16.png0000664000175000017500000000075512207374137020753 00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<jIDAT8jA;6yTH4O $! XX&,mC;vR읚Xcvy{Ǖ R.Sn !&Q꛹b0 $lm, J? R(X.gqfZeY "C8- fF}BZM1mJHHC}|~`kfBDQo|fD(ұ۾/k^4/.Ѻj[^13R0 qza&ȟ @?+jz,['ǧf:^VFEH)?&IeWQ: image/svg+xml gEDA schematic symbol Peter Clifton, Tomaz Solc, Jakub Steiner geda-gaf-1.8.2/libgeda/data/application-x-geda-symbol-24.png0000664000175000017500000000200612207374137020306 00000000000000PNG  IHDRw=sRGBbKGD pHYs B(xtIME  &IDATHǵOWwfp8c 58$H<'i$ JԆnvT\.@Ҕ *$$MRP:شEmPEʕF3sgιw\xC''@P(k _m Ȳ&IGƘaaat:w.]x7.l$#C|x46v'(g;T5}F4:G(¥7'ybiiC͇-bӧΐL&?Mhf5q+Ը=1ޱ+1uB4M37V`m:n۲+!O.ɲ,=N/ T*5&8r̞l>& Oz¿n!IENDB`geda-gaf-1.8.2/libgeda/data/application-x-geda-schematic-24.png0000664000175000017500000000142212207374137020742 00000000000000PNG  IHDRw=sRGBbKGD pHYs B(xtIME 8a|IDATHǵOQ?݊BU ZpD"QC򣰩R@АxBzXLh*$q0L'yyΛ̃(jc\td2P( #PmӗIH$4 cvrD"loo* *"t]gee4υ,:::///oLMM]Lݫd6ADa~!83LvQ(bYWwvv~^t Ϥ.hkkCӴ>רWՍXdbRp6M' gETmo\tŇhrF=,{!GObO˲X|=[1/:otDqlnިO7ƆF4iB>L4T^J\:on(!û: U@)14Mq^ͱ>$"7ޞfTy+ށu<#".hzz7=*5?qfTd2%ZZIe/`>KR +9=lN/--ݫ7YDS); (ѯ~:"IENDB`geda-gaf-1.8.2/libgeda/Makefile.in0000664000175000017500000006215012220655725013546 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = libgeda DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(srcdir)/libgeda.pc.in ChangeLog TODO ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = libgeda.pc CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(pkgconfigdir)" DATA = $(pkgconfig_DATA) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = po data docs include lib src shell scheme share EXTRA_DIST = HACKING BUGS ChangeLog ChangeLog-1.0 po/domain.mak.in pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = libgeda.pc MOSTLYCLEANFILES = *.log core FILE *~ CLEANFILES = *.log core FILE *~ DISTCLEANFILES = *.log core FILE *~ libgeda.pc po/domain.mak MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in libgeda.pc ChangeLog all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libgeda/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu libgeda/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): libgeda.pc: $(top_builddir)/config.status $(srcdir)/libgeda.pc.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-pkgconfigDATA: $(pkgconfig_DATA) @$(NORMAL_INSTALL) @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \ done uninstall-pkgconfigDATA: @$(NORMAL_UNINSTALL) @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir) # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile $(DATA) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(pkgconfigdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-pkgconfigDATA install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-pkgconfigDATA .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic clean-libtool cscopelist-am ctags \ ctags-am distclean distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-pkgconfigDATA install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am uninstall-pkgconfigDATA libgeda-pc-install: libgeda.pc $(mkinstalldirs) $(DESTDIR)$(pkgconfigdir) $(INSTALL_DATA) libgeda.pc $(DESTDIR)$(pkgconfigdir) @HAVE_GIT_REPO_TRUE@ChangeLog: $(top_builddir)/stamp-git @HAVE_GIT_REPO_TRUE@ (cd $(srcdir) && $(GIT) log --pretty=medium $(CHANGELOG_BASE).. -- .) > $@ # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/libgeda/scheme/0000775000175000017500000000000012220655750013017 500000000000000geda-gaf-1.8.2/libgeda/scheme/Makefile.am0000664000175000017500000000454412220654173015000 00000000000000 scmdatadir = $(GEDADATADIR)/scheme nobase_dist_scmdata_DATA = geda.scm color-map.scm \ geda/object.scm geda/page.scm geda/attrib.scm geda/deprecated.scm \ geda/os.scm nobase_scmdata_DATA = geda/core/gettext.scm # Unit test support. The unit tests are run using the geda-batch # program, with config loading disabled (-q) so that user config # already on the system can't interfere with the test process. GAF_SHELL = $(builddir)/../shell/geda-shell -q TEST_EXTENSIONS = .scm SCM_LOG_COMPILER = $(GAF_SHELL) AM_SCM_LOG_FLAGS = -L $(srcdir) -L $(builddir) \ -c '(use-modules (unit-test)) (load (list-ref (command-line) 1)) (exit (if (tests-passed?) 0 1))' TESTS = unit-tests/t0001-geda-conf-lib.scm \ unit-tests/t0100-object-line.scm \ unit-tests/t0101-object-box.scm \ unit-tests/t0102-object-circle.scm \ unit-tests/t0103-object-arc.scm\ unit-tests/t0104-object-text.scm \ unit-tests/t0105-object-complex.scm \ unit-tests/t0106-object-bounds.scm \ unit-tests/t0107-object-stroke-fill.scm \ unit-tests/t0108-object-connections.scm \ unit-tests/t0109-object-copy.scm \ unit-tests/t0110-object-transform.scm \ unit-tests/t0111-object-path.scm \ unit-tests/t0112-object-picture.scm \ unit-tests/t0200-page.scm \ unit-tests/t0201-page-dirty.scm \ unit-tests/t0202-page-string.scm \ unit-tests/t0203-page-string-syntax.scm \ unit-tests/t0204-page-parse-ordering.scm \ unit-tests/t0205-page-parse-unterminated-attribute-list.scm \ unit-tests/t0206-page-parse-garbage-attribute.scm \ unit-tests/t0207-page-parse-line-endings.scm \ unit-tests/t0208-page-parse-embed-no-complex.scm \ unit-tests/t0300-attribute.scm \ unit-tests/t0301-promotable-attributes.scm \ unit-tests/t0400-os.scm \ unit-tests/t0401-os-expand-env-variables.scm \ unit-tests/t1000-deprecated.scm XFAIL_TESTS = \ unit-tests/t0301-promotable-attributes.scm dist_noinst_DATA = geda/core/gettext.scm.in unit-test.scm $(TESTS) geda/core/gettext.scm: $(srcdir)/geda/core/gettext.scm.in Makefile @domain=$(LIBGEDA_GETTEXT_DOMAIN); \ $(MKDIR_P) geda/core; \ sed -e"s:[@]LIBGEDA_GETTEXT_DOMAIN@:$$domain:" < $< > $@.new; \ if cmp $@ $@.new > /dev/null 2>&1; then \ rm $@.new; echo "$@ is unchanged"; \ else \ echo "Recreating $@"; mv $@.new $@; \ fi MOSTLYCLEANFILES = *.log *~ CLEANFILES = *.log *~ geda/core/gettext.scm DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log *~ Makefile.in geda-gaf-1.8.2/libgeda/scheme/geda/0000775000175000017500000000000012220655750013717 500000000000000geda-gaf-1.8.2/libgeda/scheme/geda/os.scm0000664000175000017500000000514712220647257014776 00000000000000;; gEDA - GPL Electronic Design Automation ;; libgeda - gEDA's library - Scheme API ;; Copyright (C) 2011 Peter Brett ;; ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 2 of the License, or ;; (at your option) any later version. ;; ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; ;; You should have received a copy of the GNU General Public License ;; along with this program; if not, write to the Free Software ;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA ;; (define-module (geda os) ; Import C procedures and variables #:use-module (geda core os) #:use-module (srfi srfi-1) #:use-module (ice-9 regex)) (define-public platform %platform) (define-public (platform? x) (member x (platform))) (define-public separator-char (if (platform? 'win32-native) #\\ #\/)) (define-public separator (string separator-char)) (define-public path-separator-char (if (platform? 'win32-native) #\; #\:)) (define-public path-separator (string path-separator-char)) (define-public separator-char? (if (platform? 'win32-native) (let ((cls (char-set #\\ #\/))) (lambda (x) (char-set-contains? cls x))) (lambda (x) (eq? separator-char x)))) (define-public (sys-data-dirs) (list (getenv "GEDADATA"))) (define-public (sys-config-dirs) (list (getenv "GEDADATARC"))) (define-public (user-data-dir) (string-join (list (getenv "HOME") ".gEDA") separator)) (define-public user-config-dir user-data-dir) (define-public expand-env-variables ;; Only compile regular expression once (let ((rx (make-regexp "\\$\\{(\\w*)\\}"))) ;; This is the actual expand-env-variables function -- it's a ;; closure around rx. (lambda (str) ;; Returns result of expanding the environment variable name ;; found in match, or "". (define (match-getenv m) (or (getenv (match:substring m 1)) "")) ;; Carries out a single round of environment variable expansion ;; on str (define (expand-once str) (regexp-substitute/global #f rx str 'pre match-getenv 'post)) ;; Tail-recursively expands str until no more environment variables ;; can be expanded. (let ((result (expand-once str))) (if (string=? str result) result (expand-env-variables result)))))) geda-gaf-1.8.2/libgeda/scheme/geda/deprecated.scm0000664000175000017500000000741712207374140016450 00000000000000;; gEDA - GPL Electronic Design Automation ;; libgeda - gEDA's library - Scheme API ;; Copyright (C) 2010 Peter Brett ;; ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 2 of the License, or ;; (at your option) any later version. ;; ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; ;; You should have received a copy of the GNU General Public License ;; along with this program; if not, write to the Free Software ;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA ;; ;; This file contains deprecated Scheme API features, which should not ;; be used in new code. (define-module (geda deprecated) #:use-module (geda page) #:use-module (geda object) #:use-module (geda attrib) ;; Import C procedures #:use-module (geda core deprecated) #:re-export (OBJ_LINE OBJ_PATH OBJ_BOX OBJ_PICTURE OBJ_CIRCLE OBJ_NET OBJ_BUS OBJ_COMPLEX OBJ_TEXT OBJ_PIN OBJ_ARC) ) (define-public get-line-width %get-line-width) (define-public get-attribute-name-value parse-attrib) (define-public get-attribute-angle text-angle) (define-public (get-object-attributes object) (reverse! (object-attribs object))) (define-public (get-attrib-value-by-attrib-name object name) (reverse! (filter! string? (map (lambda (x) (let ((name-value (parse-attrib x))) (if (string=? name (car name-value)) (cdr name-value) #f))) (object-attribs object))))) (define-public (get-object-type object) (case (object-type object) ((arc) OBJ_ARC) ((box) OBJ_BOX) ((bus) OBJ_BUS) ((circle) OBJ_CIRCLE) ((complex) OBJ_COMPLEX) ((line) OBJ_LINE) ((net) OBJ_NET) ((path) OBJ_PATH) ((picture) OBJ_PICTURE) ((pin) OBJ_PIN) ((text) OBJ_TEXT) (else (error "Unknown object type ~A" (object-type object))))) (define-public get-page-filename page-filename) (define-public set-page-filename set-page-filename!) (define-public (get-attribute-bounds object) ;; object-bounds returns ((left . top) . (right . bottom)). ;; Put in form ((left . right) . (top . bottom)) (let* ((bounds (object-bounds object)) (top (cdr (car bounds))) (right (car (cdr bounds)))) (set-cdr! (car bounds) right) (set-car! (cdr bounds) top) bounds)) (define-public (calcule-new-attrib-bounds attrib align angle x y) (define align-table '(("Lower Left" . lower-left) ("Middle Left" . middle-left) ("Upper Left" . upper-left) ("Lower Middle" . lower-center) ("Middle Middle" . middle-center) ("Upper Middle" . upper-center) ("Lower Right" . lower-right) ("Middle Right" . middle-right) ("Upper Right" . upper-right))) (let* ((t (copy-object attrib)) (params (text-info t)) (location (car params))) (apply set-text! t (cons (if (= x -1) (car location) x) ; location (if (= y -1) (cdr location) y)) (or (assoc-ref align-table align) (text-align t)) ; alignment (if (= angle -1) (list-ref params 2) angle) ; angle (list-tail params 3)) ; other params ;; object-bounds returns ((left . top) . (right . bottom)). ;; Put in form ((left . right) . (bottom . top)) (let* ((bounds (object-bounds t)) (top (cdr (car bounds))) (bottom (cdr (cdr bounds))) (right (car (cdr bounds)))) (set-cdr! (car bounds) right) (set-car! (cdr bounds) bottom) (set-cdr! (cdr bounds) top) bounds))) geda-gaf-1.8.2/libgeda/scheme/geda/object.scm0000664000175000017500000002744712207374140015623 00000000000000;; gEDA - GPL Electronic Design Automation ;; libgeda - gEDA's library - Scheme API ;; Copyright (C) 2010-2011 Peter Brett ;; ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 2 of the License, or ;; (at your option) any later version. ;; ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; ;; You should have received a copy of the GNU General Public License ;; along with this program; if not, write to the Free Software ;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA ;; (define-module (geda object) ; Import C procedures #:use-module (geda core smob) #:use-module (geda core object) #:use-module (geda core complex) ; Optional arguments #:use-module (ice-9 optargs) #:use-module (srfi srfi-1)) (define-public object-type %object-type) (define-public object? %object?) (define-public (object-type? x type) (if (object? x) (eq? (object-type x) type) #f)) (define-public copy-object %copy-object) (define-public object-color %object-color) (define-public set-object-color! %set-object-color!) (define-public object-connections %object-connections) (define-public object-component %object-complex) ;;;; Lines (define-public (line? l) (object-type? l 'line)) (define*-public (set-line! l start end #:optional color) (%set-line! l (car start) (cdr start) (car end) (cdr end) (if (not color) (object-color l) color))) (define*-public (make-line start end #:optional color) (let ((l (%make-line))) (set-line! l start end color))) (define-public (line-info l) (let ((params (%line-info l))) (list (cons (list-ref params 0) (list-ref params 1)) (cons (list-ref params 2) (list-ref params 3)) (list-ref params 4)))) (define-public (line-start l) (list-ref (line-info l) 0)) (define-public (line-end l) (list-ref (line-info l) 1)) ;;;; Nets (define-public (net? l) (object-type? l 'net)) (define*-public (make-net start end #:optional color) (let ((l (%make-net))) (set-line! l start end color))) ;;;; Buses (define-public (bus? l) (object-type? l 'bus)) (define*-public (make-bus start end #:optional color) (let ((l (%make-bus))) (set-line! l start end color))) ;;;; Pins (define-public (pin? l) (object-type? l 'pin)) (define-public (net-pin? l) (and (pin? l) (equal? (%pin-type l) 'net))) (define-public (bus-pin? l) (and (pin? l) (equal? (%pin-type l) 'bus))) (define*-public (make-net-pin start end #:optional color) (let ((l (%make-pin 'net))) (set-line! l start end color))) (define*-public (make-bus-pin start end #:optional color) (let ((l (%make-pin 'bus))) (set-line! l start end color))) ;;;; Boxes (define-public (box? l) (object-type? l 'box)) (define*-public (set-box! b top-left bottom-right #:optional color) (%set-box! b (car top-left) (cdr top-left) (car bottom-right) (cdr bottom-right) (if (not color) (object-color b) color))) (define*-public (make-box top-left bottom-right #:optional color) (let ((l (%make-box))) (set-box! l top-left bottom-right color))) (define-public (box-info b) (let ((params (%box-info b))) (list (cons (list-ref params 0) (list-ref params 1)) (cons (list-ref params 2) (list-ref params 3)) (list-ref params 4)))) (define-public (box-top-left l) (list-ref (box-info l) 0)) (define-public (box-bottom-right l) (list-ref (box-info l) 1)) ;;;; Circles (define-public (circle? c) (object-type? c 'circle)) (define*-public (set-circle! c center radius #:optional color) (%set-circle! c (car center) (cdr center) radius (if (not color) (object-color c) color))) (define*-public (make-circle center radius #:optional color) (let ((c (%make-circle))) (set-circle! c center radius color))) (define-public (circle-info c) (let* ((params (%circle-info c)) (tail (cddr params))) (cons (cons (list-ref params 0) (list-ref params 1)) tail))) (define-public (circle-center c) (list-ref (circle-info c) 0)) (define-public (circle-radius c) (list-ref (circle-info c) 1)) ;;;; Arcs (define-public (arc? a) (object-type? a 'arc)) (define*-public (set-arc! a center radius start-angle end-angle #:optional color) (%set-arc! a (car center) (cdr center) radius start-angle end-angle (if (not color) (object-color a) color))) (define*-public (make-arc center radius start-angle end-angle #:optional color) (let ((c (%make-arc))) (set-arc! c center radius start-angle end-angle color))) (define-public (arc-info c) (let* ((params (%arc-info c)) (tail (cddr params))) (cons (cons (list-ref params 0) (list-ref params 1)) tail))) (define-public (arc-center a) (list-ref (arc-info a) 0)) (define-public (arc-radius a) (list-ref (arc-info a) 1)) (define-public (arc-start-angle a) (list-ref (arc-info a) 2)) (define-public (arc-end-angle a) (list-ref (arc-info a) 3)) ;;;; Paths (define-public (path? x) (object-type? x 'path)) (define*-public (make-path #:optional color) (let ((p (%make-path))) (and color (set-object-color! p color)) p)) (define-public path-length %path-length) (define-public (path-ref p idx) ;; This recursive function transforms the list of coordinates thus: ;; ;; (x y ...) --> ((x . y) ...) (define (transform-points lst acc) (if (null? lst) acc (transform-points (cddr lst) (append! acc (list (cons (car lst) (cadr lst))))))) (let ((element (%path-ref p idx))) (cons (car element) (transform-points (cdr element) '())))) (define-public path-remove! %path-remove!) (define-public (path-insert! p idx type . points) ;; This recursive function transforms the list of coordinates thus: ;; ;; ((x . y) ...) --> (x y ...) (define (transform-points lst acc) (if (null? lst) acc (transform-points (cdr lst) (append acc (list (caar lst) (cdar lst)))))) (apply %path-insert p idx type (transform-points points '()))) ;;;; Pictures (define-public (picture? x) (object-type? x 'picture)) (define-public (set-picture! p top-left bottom-right angle mirror) (%set-picture! p (car top-left) (cdr top-left) (car bottom-right) (cdr bottom-right) angle mirror)) (define-public (make-picture/vector vec filename . args) (let ((p (%make-picture))) (%set-picture-data/vector! p vec filename) (apply set-picture! p args))) (define-public (picture-info p) (let* ((params (%picture-info p)) (filename (car params)) (tail (cdr params))) (apply list filename (cons (list-ref tail 0) (list-ref tail 1)) (cons (list-ref tail 2) (list-ref tail 3)) (list-tail tail 4)))) (define-public (picture-filename p) (list-ref (picture-info p) 0)) (define-public (picture-top-left p) (list-ref (picture-info p) 1)) (define-public (picture-bottom-right p) (list-ref (picture-info p) 2)) (define-public (picture-angle p) (list-ref (picture-info p) 3)) (define-public (picture-mirror? p) (list-ref (picture-info p) 4)) ;;;; Text (define-public (text? t) (object-type? t 'text)) (define*-public (set-text! t anchor align angle string size visible show #:optional color) (%set-text! t (car anchor) (cdr anchor) align angle string size visible show (if (not color) (object-color t) color))) (define*-public (make-text . args) (let ((t (%make-text))) (apply set-text! t args))) (define-public (text-info t) (let* ((params (%text-info t)) (tail (cddr params))) (cons (cons (list-ref params 0) (list-ref params 1)) tail))) (define-public (text-anchor t) (list-ref (text-info t) 0)) (define-public (text-align t) (list-ref (text-info t) 1)) (define-public (text-angle t) (list-ref (text-info t) 2)) (define-public (text-string t) (list-ref (text-info t) 3)) (define-public (set-text-string! t str) (let ((i (text-info t))) (list-set! i 3 str) (apply set-text! t i))) (define-public (text-size t) (list-ref (text-info t) 4)) (define-public (text-visible? t) (list-ref (text-info t) 5)) (define-public (set-text-visibility! t visible) (let ((i (text-info t))) (list-set! i 5 (not (not visible))) (apply set-text! t i))) (define-public (text-attribute-mode t) (list-ref (text-info t) 6)) ;;;; Component objects (define-public (component? c) (object-type? c 'complex)) (define-public (set-component! c position angle mirror locked) (%set-complex! c (car position) (cdr position) angle mirror locked)) (define-public (make-component basename . args) (let ((c (%make-complex basename))) (apply set-component! c args))) (define-public (make-component/library basename . args) (let ((c (%make-complex/library basename))) (if c (apply set-component! c args) #f))) (define-public (component-info c) (let* ((params (%complex-info c)) (tail (list-tail params 3)) (position (list-tail params 1))) (set-car! position (cons (list-ref position 0) (list-ref position 1))) (set-cdr! position tail) params)) (define-public (component-basename c) (list-ref (component-info c) 0)) (define-public (component-position c) (list-ref (component-info c) 1)) (define-public (component-angle c) (list-ref (component-info c) 2)) (define-public (component-mirror? c) (list-ref (component-info c) 3)) (define-public (component-locked? c) (list-ref (component-info c) 4)) (define-public component-contents %complex-contents) (define-public (component-append! component . objects) (for-each (lambda (x) (%complex-append! component x)) objects) component) (define-public (component-remove! component . objects) (for-each (lambda (x) (%complex-remove! component x)) objects) component) ;;;; Fill and stroke (define-public object-stroke %object-stroke) (define-public set-object-stroke! %set-object-stroke!) (define-public (object-stroke-width obj) (list-ref (object-stroke obj) 0)) (define-public (object-stroke-cap obj) (list-ref (object-stroke obj) 1)) (define-public (object-stroke-dash obj) (list-tail (object-stroke obj) 2)) (define-public object-fill %object-fill) (define-public set-object-fill! %set-object-fill!) ;;;; Object bounds (define-public object-bounds %object-bounds) (define-public (fold-bounds . bounds) (fold (lambda (a b) (if (and a b) ;; calc bounds (cons (cons (min (caar a) (caar b)) ; left (max (cdar a) (cdar b))) ; top (cons (max (cadr a) (cadr b)) ; right (min (cddr a) (cddr b)))) ; bottom ;; return whichever isn't #f (or a b))) #f ;; default bounds)) ;;;; Object transformations (define-public (translate-objects! vector . objects) (for-each (lambda (x) (%translate-object! x (car vector) (cdr vector))) objects) objects) (define-public (rotate-objects! center angle . objects) (for-each (lambda (x) (%rotate-object! x (car center) (cdr center) angle)) objects) objects) (define-public (mirror-objects! x . objects) (for-each (lambda (obj) (%mirror-object! obj x)) objects) objects) geda-gaf-1.8.2/libgeda/scheme/geda/attrib.scm0000664000175000017500000000551212207374140015627 00000000000000;; gEDA - GPL Electronic Design Automation ;; libgeda - gEDA's library - Scheme API ;; Copyright (C) 2010-2011 Peter Brett ;; ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 2 of the License, or ;; (at your option) any later version. ;; ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; ;; You should have received a copy of the GNU General Public License ;; along with this program; if not, write to the Free Software ;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA ;; (define-module (geda attrib) ; Import C procedures #:use-module (geda core attrib) #:use-module (geda core gettext) #:use-module (geda object) #:use-module (geda page)) (define-public parse-attrib %parse-attrib) (define-public object-attribs %object-attribs) (define-public attrib-attachment %attrib-attachment) (define-public promotable-attribs %promotable-attribs) (define-public (attribute? a) (false-if-exception (and (parse-attrib a) #t))) (define-public (attrib-name a) (let ((v (parse-attrib a))) (if v (car v) v))) (define-public (attrib-value a) (let ((v (parse-attrib a))) (if v (cdr v) v))) (define-public (set-attrib-value! a val) (let ((name (attrib-name a))) (set-text-string! a (string-join (list name val) "=")))) (define-public (inherited-attribs object) (if (component? object) (filter! (lambda (x) (and (attribute? x) (not (attrib-attachment x)))) (component-contents object)) '())) (define-public (promote-attribs! object) (let ((p (or (object-page object) (scm-error 'object-state #f (_ "Object ~A is not part of a page") (list object) #f)))) (if (component? object) (map (lambda (x) (let ((y (copy-object x))) ;; Make original object invisible (set-text-visibility! x #f) ;; Append copy of the object to page (page-append! p y) ;; Attach it to object (attach-attribs! object y) ;; Return copy y)) (promotable-attribs object)) '()))) (define-public (attrib-inherited? attrib) (not (or (attrib-attachment attrib) (not (object-component attrib))))) (define-public (attach-attribs! obj . attribs) (for-each (lambda (x) (%attach-attrib! obj x)) attribs) obj) (define-public (detach-attribs! obj . attribs) (for-each (lambda (x) (%detach-attrib! obj x)) attribs) obj) geda-gaf-1.8.2/libgeda/scheme/geda/page.scm0000664000175000017500000000334512207374140015260 00000000000000;; gEDA - GPL Electronic Design Automation ;; libgeda - gEDA's library - Scheme API ;; Copyright (C) 2010 Peter Brett ;; ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 2 of the License, or ;; (at your option) any later version. ;; ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; ;; You should have received a copy of the GNU General Public License ;; along with this program; if not, write to the Free Software ;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA ;; (define-module (geda page) ; Import C procedures #:use-module (geda core smob) #:use-module (geda core page) #:use-module (ice-9 optargs)) (define-public object-page %object-page) (define-public page? %page?) (define-public active-pages %active-pages) (define-public make-page %new-page) (define-public close-page! %close-page!) (define-public page-filename %page-filename) (define-public set-page-filename! %set-page-filename!) (define-public page-contents %page-contents) (define-public page-dirty? %page-dirty?) (define-public page->string %page->string) (define-public string->page %string->page) (define-public (page-append! P . objects) (for-each (lambda (x) (%page-append! P x)) objects) P) (define-public (page-remove! P . objects) (for-each (lambda (x) (%page-remove! P x)) objects) P) (define*-public (set-page-dirty! page #:optional (state #t)) (%set-page-dirty! page state)) geda-gaf-1.8.2/libgeda/scheme/geda/core/0000775000175000017500000000000012220655750014647 500000000000000geda-gaf-1.8.2/libgeda/scheme/geda/core/gettext.scm.in0000664000175000017500000000210612207374140017357 00000000000000;; gEDA - GPL Electronic Design Automation ;; libgeda - gEDA's library - Scheme API ;; Copyright (C) 2010-2011 Peter Brett ;; ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 2 of the License, or ;; (at your option) any later version. ;; ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; ;; You should have received a copy of the GNU General Public License ;; along with this program; if not, write to the Free Software ;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA ;; ;; I18n for libgeda Scheme API. ;; ;; This module is for internal use only. (define-module (geda core gettext)) (define %libgeda-gettext-domain "@LIBGEDA_GETTEXT_DOMAIN@") (define-public (_ msg) (gettext msg %libgeda-gettext-domain)) geda-gaf-1.8.2/libgeda/scheme/Makefile.in0000664000175000017500000010356112220655725015014 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = libgeda/scheme DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(dist_noinst_DATA) $(nobase_dist_scmdata_DATA) \ $(top_srcdir)/build-tools/test-driver ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(scmdatadir)" "$(DESTDIR)$(scmdatadir)" DATA = $(dist_noinst_DATA) $(nobase_dist_scmdata_DATA) \ $(nobase_scmdata_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__tty_colors_dummy = \ mgn= red= grn= lgn= blu= brg= std=; \ am__color_tests=no am__tty_colors = { \ $(am__tty_colors_dummy); \ if test "X$(AM_COLOR_TESTS)" = Xno; then \ am__color_tests=no; \ elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ am__color_tests=yes; \ elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ am__color_tests=yes; \ fi; \ if test $$am__color_tests = yes; then \ red=''; \ grn=''; \ lgn=''; \ blu=''; \ mgn=''; \ brg=''; \ std=''; \ fi; \ } am__recheck_rx = ^[ ]*:recheck:[ ]* am__global_test_result_rx = ^[ ]*:global-test-result:[ ]* am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]* # A command that, given a newline-separated list of test names on the # standard input, print the name of the tests that are to be re-run # upon "make recheck". am__list_recheck_tests = $(AWK) '{ \ recheck = 1; \ while ((rc = (getline line < ($$0 ".trs"))) != 0) \ { \ if (rc < 0) \ { \ if ((getline line2 < ($$0 ".log")) < 0) \ recheck = 0; \ break; \ } \ else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \ { \ recheck = 0; \ break; \ } \ else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \ { \ break; \ } \ }; \ if (recheck) \ print $$0; \ close ($$0 ".trs"); \ close ($$0 ".log"); \ }' # A command that, given a newline-separated list of test names on the # standard input, create the global log from their .trs and .log files. am__create_global_log = $(AWK) ' \ function fatal(msg) \ { \ print "fatal: making $@: " msg | "cat >&2"; \ exit 1; \ } \ function rst_section(header) \ { \ print header; \ len = length(header); \ for (i = 1; i <= len; i = i + 1) \ printf "="; \ printf "\n\n"; \ } \ { \ copy_in_global_log = 1; \ global_test_result = "RUN"; \ while ((rc = (getline line < ($$0 ".trs"))) != 0) \ { \ if (rc < 0) \ fatal("failed to read from " $$0 ".trs"); \ if (line ~ /$(am__global_test_result_rx)/) \ { \ sub("$(am__global_test_result_rx)", "", line); \ sub("[ ]*$$", "", line); \ global_test_result = line; \ } \ else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \ copy_in_global_log = 0; \ }; \ if (copy_in_global_log) \ { \ rst_section(global_test_result ": " $$0); \ while ((rc = (getline line < ($$0 ".log"))) != 0) \ { \ if (rc < 0) \ fatal("failed to read from " $$0 ".log"); \ print line; \ }; \ printf "\n"; \ }; \ close ($$0 ".trs"); \ close ($$0 ".log"); \ }' # Restructured Text title. am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; } # Solaris 10 'make', and several other traditional 'make' implementations, # pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it # by disabling -e (using the XSI extension "set +e") if it's set. am__sh_e_setup = case $$- in *e*) set +e;; esac # Default flags passed to test drivers. am__common_driver_flags = \ --color-tests "$$am__color_tests" \ --enable-hard-errors "$$am__enable_hard_errors" \ --expect-failure "$$am__expect_failure" # To be inserted before the command running the test. Creates the # directory for the log if needed. Stores in $dir the directory # containing $f, in $tst the test, in $log the log. Executes the # developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and # passes TESTS_ENVIRONMENT. Set up options for the wrapper that # will run the test scripts (or their associated LOG_COMPILER, if # thy have one). am__check_pre = \ $(am__sh_e_setup); \ $(am__vpath_adj_setup) $(am__vpath_adj) \ $(am__tty_colors); \ srcdir=$(srcdir); export srcdir; \ case "$@" in \ */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \ *) am__odir=.;; \ esac; \ test "x$$am__odir" = x"." || test -d "$$am__odir" \ || $(MKDIR_P) "$$am__odir" || exit $$?; \ if test -f "./$$f"; then dir=./; \ elif test -f "$$f"; then dir=; \ else dir="$(srcdir)/"; fi; \ tst=$$dir$$f; log='$@'; \ if test -n '$(DISABLE_HARD_ERRORS)'; then \ am__enable_hard_errors=no; \ else \ am__enable_hard_errors=yes; \ fi; \ case " $(XFAIL_TESTS) " in \ *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ am__expect_failure=yes;; \ *) \ am__expect_failure=no;; \ esac; \ $(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) # A shell command to get the names of the tests scripts with any registered # extension removed (i.e., equivalently, the names of the test logs, with # the '.log' extension removed). The result is saved in the shell variable # '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly, # we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)", # since that might cause problem with VPATH rewrites for suffix-less tests. # See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'. am__set_TESTS_bases = \ bases='$(TEST_LOGS)'; \ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ bases=`echo $$bases` RECHECK_LOGS = $(TEST_LOGS) AM_RECURSIVE_TARGETS = check recheck TEST_SUITE_LOG = test-suite.log am__test_logs1 = $(TESTS:=.log) am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log) TEST_LOGS = $(am__test_logs2:.scm.log=.log) SCM_LOG_DRIVER = $(SHELL) $(top_srcdir)/build-tools/test-driver SCM_LOG_COMPILE = $(SCM_LOG_COMPILER) $(AM_SCM_LOG_FLAGS) \ $(SCM_LOG_FLAGS) am__set_b = \ case '$@' in \ */*) \ case '$*' in \ */*) b='$*';; \ *) b=`echo '$@' | sed 's/\.log$$//'`; \ esac;; \ *) \ b='$*';; \ esac DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ scmdatadir = $(GEDADATADIR)/scheme nobase_dist_scmdata_DATA = geda.scm color-map.scm \ geda/object.scm geda/page.scm geda/attrib.scm geda/deprecated.scm \ geda/os.scm nobase_scmdata_DATA = geda/core/gettext.scm # Unit test support. The unit tests are run using the geda-batch # program, with config loading disabled (-q) so that user config # already on the system can't interfere with the test process. GAF_SHELL = $(builddir)/../shell/geda-shell -q TEST_EXTENSIONS = .scm SCM_LOG_COMPILER = $(GAF_SHELL) AM_SCM_LOG_FLAGS = -L $(srcdir) -L $(builddir) \ -c '(use-modules (unit-test)) (load (list-ref (command-line) 1)) (exit (if (tests-passed?) 0 1))' TESTS = unit-tests/t0001-geda-conf-lib.scm \ unit-tests/t0100-object-line.scm \ unit-tests/t0101-object-box.scm \ unit-tests/t0102-object-circle.scm \ unit-tests/t0103-object-arc.scm\ unit-tests/t0104-object-text.scm \ unit-tests/t0105-object-complex.scm \ unit-tests/t0106-object-bounds.scm \ unit-tests/t0107-object-stroke-fill.scm \ unit-tests/t0108-object-connections.scm \ unit-tests/t0109-object-copy.scm \ unit-tests/t0110-object-transform.scm \ unit-tests/t0111-object-path.scm \ unit-tests/t0112-object-picture.scm \ unit-tests/t0200-page.scm \ unit-tests/t0201-page-dirty.scm \ unit-tests/t0202-page-string.scm \ unit-tests/t0203-page-string-syntax.scm \ unit-tests/t0204-page-parse-ordering.scm \ unit-tests/t0205-page-parse-unterminated-attribute-list.scm \ unit-tests/t0206-page-parse-garbage-attribute.scm \ unit-tests/t0207-page-parse-line-endings.scm \ unit-tests/t0208-page-parse-embed-no-complex.scm \ unit-tests/t0300-attribute.scm \ unit-tests/t0301-promotable-attributes.scm \ unit-tests/t0400-os.scm \ unit-tests/t0401-os-expand-env-variables.scm \ unit-tests/t1000-deprecated.scm XFAIL_TESTS = \ unit-tests/t0301-promotable-attributes.scm dist_noinst_DATA = geda/core/gettext.scm.in unit-test.scm $(TESTS) MOSTLYCLEANFILES = *.log *~ CLEANFILES = *.log *~ geda/core/gettext.scm DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log *~ Makefile.in all: all-am .SUFFIXES: .SUFFIXES: .log .scm .scm$(EXEEXT) .trs $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libgeda/scheme/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu libgeda/scheme/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-nobase_dist_scmdataDATA: $(nobase_dist_scmdata_DATA) @$(NORMAL_INSTALL) @list='$(nobase_dist_scmdata_DATA)'; test -n "$(scmdatadir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(scmdatadir)'"; \ $(MKDIR_P) "$(DESTDIR)$(scmdatadir)" || exit 1; \ fi; \ $(am__nobase_list) | while read dir files; do \ xfiles=; for file in $$files; do \ if test -f "$$file"; then xfiles="$$xfiles $$file"; \ else xfiles="$$xfiles $(srcdir)/$$file"; fi; done; \ test -z "$$xfiles" || { \ test "x$$dir" = x. || { \ echo " $(MKDIR_P) '$(DESTDIR)$(scmdatadir)/$$dir'"; \ $(MKDIR_P) "$(DESTDIR)$(scmdatadir)/$$dir"; }; \ echo " $(INSTALL_DATA) $$xfiles '$(DESTDIR)$(scmdatadir)/$$dir'"; \ $(INSTALL_DATA) $$xfiles "$(DESTDIR)$(scmdatadir)/$$dir" || exit $$?; }; \ done uninstall-nobase_dist_scmdataDATA: @$(NORMAL_UNINSTALL) @list='$(nobase_dist_scmdata_DATA)'; test -n "$(scmdatadir)" || list=; \ $(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \ dir='$(DESTDIR)$(scmdatadir)'; $(am__uninstall_files_from_dir) install-nobase_scmdataDATA: $(nobase_scmdata_DATA) @$(NORMAL_INSTALL) @list='$(nobase_scmdata_DATA)'; test -n "$(scmdatadir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(scmdatadir)'"; \ $(MKDIR_P) "$(DESTDIR)$(scmdatadir)" || exit 1; \ fi; \ $(am__nobase_list) | while read dir files; do \ xfiles=; for file in $$files; do \ if test -f "$$file"; then xfiles="$$xfiles $$file"; \ else xfiles="$$xfiles $(srcdir)/$$file"; fi; done; \ test -z "$$xfiles" || { \ test "x$$dir" = x. || { \ echo " $(MKDIR_P) '$(DESTDIR)$(scmdatadir)/$$dir'"; \ $(MKDIR_P) "$(DESTDIR)$(scmdatadir)/$$dir"; }; \ echo " $(INSTALL_DATA) $$xfiles '$(DESTDIR)$(scmdatadir)/$$dir'"; \ $(INSTALL_DATA) $$xfiles "$(DESTDIR)$(scmdatadir)/$$dir" || exit $$?; }; \ done uninstall-nobase_scmdataDATA: @$(NORMAL_UNINSTALL) @list='$(nobase_scmdata_DATA)'; test -n "$(scmdatadir)" || list=; \ $(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \ dir='$(DESTDIR)$(scmdatadir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: # Recover from deleted '.trs' file; this should ensure that # "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create # both 'foo.log' and 'foo.trs'. Break the recipe in two subshells # to avoid problems with "make -n". .log.trs: rm -f $< $@ $(MAKE) $(AM_MAKEFLAGS) $< # Leading 'am--fnord' is there to ensure the list of targets does not # expand to empty, as could happen e.g. with make check TESTS=''. am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) am--force-recheck: @: $(TEST_SUITE_LOG): $(TEST_LOGS) @$(am__set_TESTS_bases); \ am__f_ok () { test -f "$$1" && test -r "$$1"; }; \ redo_bases=`for i in $$bases; do \ am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \ done`; \ if test -n "$$redo_bases"; then \ redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \ redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \ if $(am__make_dryrun); then :; else \ rm -f $$redo_logs && rm -f $$redo_results || exit 1; \ fi; \ fi; \ if test -n "$$am__remaking_logs"; then \ echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ "recursion detected" >&2; \ else \ am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ fi; \ if $(am__make_dryrun); then :; else \ st=0; \ errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ for i in $$redo_bases; do \ test -f $$i.trs && test -r $$i.trs \ || { echo "$$errmsg $$i.trs" >&2; st=1; }; \ test -f $$i.log && test -r $$i.log \ || { echo "$$errmsg $$i.log" >&2; st=1; }; \ done; \ test $$st -eq 0 || exit 1; \ fi @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \ ws='[ ]'; \ results=`for b in $$bases; do echo $$b.trs; done`; \ test -n "$$results" || results=/dev/null; \ all=` grep "^$$ws*:test-result:" $$results | wc -l`; \ pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \ fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \ skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \ xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \ xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \ error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \ if test `expr $$fail + $$xpass + $$error` -eq 0; then \ success=true; \ else \ success=false; \ fi; \ br='==================='; br=$$br$$br$$br$$br; \ result_count () \ { \ if test x"$$1" = x"--maybe-color"; then \ maybe_colorize=yes; \ elif test x"$$1" = x"--no-color"; then \ maybe_colorize=no; \ else \ echo "$@: invalid 'result_count' usage" >&2; exit 4; \ fi; \ shift; \ desc=$$1 count=$$2; \ if test $$maybe_colorize = yes && test $$count -gt 0; then \ color_start=$$3 color_end=$$std; \ else \ color_start= color_end=; \ fi; \ echo "$${color_start}# $$desc $$count$${color_end}"; \ }; \ create_testsuite_report () \ { \ result_count $$1 "TOTAL:" $$all "$$brg"; \ result_count $$1 "PASS: " $$pass "$$grn"; \ result_count $$1 "SKIP: " $$skip "$$blu"; \ result_count $$1 "XFAIL:" $$xfail "$$lgn"; \ result_count $$1 "FAIL: " $$fail "$$red"; \ result_count $$1 "XPASS:" $$xpass "$$red"; \ result_count $$1 "ERROR:" $$error "$$mgn"; \ }; \ { \ echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ $(am__rst_title); \ create_testsuite_report --no-color; \ echo; \ echo ".. contents:: :depth: 2"; \ echo; \ for b in $$bases; do echo $$b; done \ | $(am__create_global_log); \ } >$(TEST_SUITE_LOG).tmp || exit 1; \ mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ if $$success; then \ col="$$grn"; \ else \ col="$$red"; \ test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ fi; \ echo "$${col}$$br$${std}"; \ echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ echo "$${col}$$br$${std}"; \ create_testsuite_report --maybe-color; \ echo "$$col$$br$$std"; \ if $$success; then :; else \ echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \ if test -n "$(PACKAGE_BUGREPORT)"; then \ echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \ fi; \ echo "$$col$$br$$std"; \ fi; \ $$success || exit 1 check-TESTS: @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) @set +e; $(am__set_TESTS_bases); \ log_list=`for i in $$bases; do echo $$i.log; done`; \ trs_list=`for i in $$bases; do echo $$i.trs; done`; \ log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ exit $$?; recheck: all @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) @set +e; $(am__set_TESTS_bases); \ bases=`for i in $$bases; do echo $$i; done \ | $(am__list_recheck_tests)` || exit 1; \ log_list=`for i in $$bases; do echo $$i.log; done`; \ log_list=`echo $$log_list`; \ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \ am__force_recheck=am--force-recheck \ TEST_LOGS="$$log_list"; \ exit $$? .scm.log: @p='$<'; \ $(am__set_b); \ $(am__check_pre) $(SCM_LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_SCM_LOG_DRIVER_FLAGS) $(SCM_LOG_DRIVER_FLAGS) -- $(SCM_LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) @am__EXEEXT_TRUE@.scm$(EXEEXT).log: @am__EXEEXT_TRUE@ @p='$<'; \ @am__EXEEXT_TRUE@ $(am__set_b); \ @am__EXEEXT_TRUE@ $(am__check_pre) $(SCM_LOG_DRIVER) --test-name "$$f" \ @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SCM_LOG_DRIVER_FLAGS) $(SCM_LOG_DRIVER_FLAGS) -- $(SCM_LOG_COMPILE) \ @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(scmdatadir)" "$(DESTDIR)$(scmdatadir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs) -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-nobase_dist_scmdataDATA \ install-nobase_scmdataDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-nobase_dist_scmdataDATA \ uninstall-nobase_scmdataDATA .MAKE: check-am install-am install-strip .PHONY: all all-am check check-TESTS check-am clean clean-generic \ clean-libtool cscopelist-am ctags-am distclean \ distclean-generic distclean-libtool distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-nobase_dist_scmdataDATA \ install-nobase_scmdataDATA install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am recheck tags-am \ uninstall uninstall-am uninstall-nobase_dist_scmdataDATA \ uninstall-nobase_scmdataDATA geda/core/gettext.scm: $(srcdir)/geda/core/gettext.scm.in Makefile @domain=$(LIBGEDA_GETTEXT_DOMAIN); \ $(MKDIR_P) geda/core; \ sed -e"s:[@]LIBGEDA_GETTEXT_DOMAIN@:$$domain:" < $< > $@.new; \ if cmp $@ $@.new > /dev/null 2>&1; then \ rm $@.new; echo "$@ is unchanged"; \ else \ echo "Recreating $@"; mv $@.new $@; \ fi # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/libgeda/scheme/unit-tests/0000775000175000017500000000000012220655750015136 500000000000000geda-gaf-1.8.2/libgeda/scheme/unit-tests/t0103-object-arc.scm0000664000175000017500000000241712207374140020340 00000000000000;; Test Scheme procedures related to arc objects. (use-modules (unit-test)) (use-modules (geda object)) (begin-test 'arcs (let* ((a (make-arc '(1 . 2) 3 45 90 21)) (b (copy-object a))) (assert-equal 'arc (object-type a)) (assert-true (arc? a)) (assert-true (arc? b)) (assert-equal '(1 . 2) (arc-center a)) (assert-equal 3 (arc-radius a)) (assert-equal 45 (arc-start-angle a)) (assert-equal 90 (arc-end-angle a)) (assert-equal (arc-center a) (arc-center b)) (assert-equal (arc-radius a) (arc-radius b)) (assert-equal (arc-start-angle a) (arc-start-angle b)) (assert-equal (arc-end-angle a) (arc-end-angle b)) (assert-equal 21 (object-color a)) (assert-equal (list (arc-center a) (arc-radius a) (arc-start-angle a) (arc-end-angle a) (object-color a)) (arc-info a)) (set-arc! a '(5 . 6) 7 180 270) (assert-equal '(5 . 6) (arc-center a)) (assert-equal 7 (arc-radius a)) (assert-equal 180 (arc-start-angle a)) (assert-equal 270 (arc-end-angle a)) (assert-equal 21 (object-color a)) (set-arc! a '(5 . 6) 7 180 270 22) (assert-equal 22 (object-color a)) (set-object-color! a 21) (assert-equal 21 (list-ref (arc-info a) 4)) )) geda-gaf-1.8.2/libgeda/scheme/unit-tests/t0109-object-copy.scm0000664000175000017500000000275412207374140020557 00000000000000;; Test object copying (use-modules (unit-test)) (use-modules (geda object)) (use-modules (geda page)) (use-modules (geda attrib)) (use-modules (srfi srfi-1)) ;; This test verifies that if an object is copied, any links to ;; containing pages, containing components are removed, and any ;; attribute attachments are broken. (begin-test 'copy-object-breaks-links (let ((P (make-page "/test/page/A")) (A (make-component "test component" '(0 . 0) 0 #t #f)) (p (make-net-pin '(0 . 0) '(100 . 0))) (x (make-text '(1 . 2) 'lower-left 0 "name=x" 10 #t 'both))) (page-append! P A x) (assert-equal P (object-page x)) (assert-equal #f (object-page (copy-object x))) (attach-attribs! A x) (assert-equal A (attrib-attachment x)) (assert-equal #f (attrib-attachment (copy-object x))) (detach-attribs! A x) (page-remove! P x) (component-append! A p x) (assert-equal A (object-component x)) (assert-equal #f (object-component (copy-object x))) (attach-attribs! p x) (assert-equal p (attrib-attachment x)) (assert-equal #f (attrib-attachment (copy-object x))))) ;; This test checks that copies of components are deep copies. (begin-test 'copy-object-deep-component (let* ((A (make-component "test component" '(0 . 0) 0 #t #f)) (p (make-net-pin '(0 . 0) '(100 . 0)))) (component-append! A p) (assert-equal (list p) (member p (component-contents A))) (assert-equal #f (member p (component-contents (copy-object A)))))) geda-gaf-1.8.2/libgeda/scheme/unit-tests/t0204-page-parse-ordering.scm0000664000175000017500000000152612207374140022164 00000000000000;; Test that when we load a schematic file, everything gets connected ;; in the correct order. (use-modules (unit-test) (geda page) (geda object) (geda attrib)) (define test-page "v 20111231 2 L 0 0 1000 0 3 0 0 0 -1 -1 N 0 500 1000 500 4 { T 0 700 5 10 1 0 0 0 1 attrib1=foo T 0 1000 5 10 1 0 0 0 1 attrib2=bar }") (begin-test 'parse-ordering-objects (let* ((A (string->page "test/page/A" test-page)) (lst (page-contents A))) (assert-true (line? (list-ref lst 0))) (assert-true (net? (list-ref lst 1))) (assert-true (text? (list-ref lst 2))) (assert-true (text? (list-ref lst 3))) (assert-equal "attrib1=foo" (text-string (list-ref lst 2))) (assert-equal "attrib2=bar" (text-string (list-ref lst 3))) (assert-equal (list-tail lst 2) (object-attribs (list-ref lst 1))))) geda-gaf-1.8.2/libgeda/scheme/unit-tests/t0202-page-string.scm0000664000175000017500000000303312207374140020542 00000000000000;; Test Scheme procedures related to converting pages to & from ;; strings. (use-modules (unit-test)) (use-modules (geda page)) (use-modules (geda object)) ;; This is a very roundabout test. We don't want to test string->page ;; at this point, and we don't want to hardcode any assumptions about ;; file format into this part of the testsuite, so we just make sure ;; that pages with identical contents have identical string ;; representation, and that pages with different contents have ;; different string representation. (begin-test 'page->string (let ((A (make-page "/test/page/A")) (B (make-page "/test/page/B")) (x (make-line '(0 . 0) '(1 . 1))) (y (make-line '(0 . 0) '(1 . 1)))) (page-append! A x) (page-append! B y) ;; Pages with identical content (assert-equal (page->string A) (page->string B)) ;; Pages with different content (set-line! y '(0 . 0) '(2 . 2)) (assert-true (not (equal? (page->string A) (page->string B)))) )) ;; We test string->page by round-tripping a page through a string back ;; to a page. Note that this test is deliberately designed to avoid ;; issues related to different gafrc read options. (begin-test 'string->page (let ((A (make-page "/test/page/A")) (x (make-line '(0 . 0) '(1 . 1)))) (page-append! A x) (let* ((B (string->page "/test/page/B" (page->string A)))) (assert-equal "/test/page/B" (page-filename B)) (assert-equal 1 (length (page-contents B))) (assert-equal (line-info x) (line-info (car (page-contents B))))))) geda-gaf-1.8.2/libgeda/scheme/unit-tests/t0107-object-stroke-fill.scm0000664000175000017500000000717212207374140022035 00000000000000;; Test Scheme procedures for object stroke properties. (use-modules (unit-test)) (use-modules (geda object)) (begin-test 'stroke (let ((a (make-line '(1 . 2) '(3 . 4)))) (assert-equal a (set-object-stroke! a 1 'none 'solid 'foo 'bar)) (assert-equal 1 (object-stroke-width a)) (assert-equal 'none (object-stroke-cap a)) (assert-equal '(solid) (object-stroke-dash a)) (assert-equal a (apply set-object-stroke! a (object-stroke a))) (set-object-stroke! a 1 'square 'dotted 2 'bar) (assert-equal 'square (object-stroke-cap a)) (assert-equal '(dotted 2) (object-stroke-dash a)) (assert-equal a (apply set-object-stroke! a (object-stroke a))) (set-object-stroke! a 1 'round 'dashed 3 4) (assert-equal 'round (object-stroke-cap a)) (assert-equal '(dashed 3 4) (object-stroke-dash a)) (assert-equal a (apply set-object-stroke! a (object-stroke a))) (set-object-stroke! a 1 'round 'center 5 6) (assert-equal '(center 5 6) (object-stroke-dash a)) (assert-equal a (apply set-object-stroke! a (object-stroke a))) (set-object-stroke! a 1 'round 'phantom 7 8) (assert-equal '(phantom 7 8) (object-stroke-dash a)) (assert-equal a (apply set-object-stroke! a (object-stroke a))) ;; Invalid symbol arguments (assert-thrown 'misc-error (set-object-stroke! a 1 'BAD-VALUE 'solid)) (assert-thrown 'misc-error (set-object-stroke! a 1 'none 'BAD-VALUE)) ;; Missing dash length/space arguments (assert-thrown 'misc-error (set-object-stroke! a 1 'none 'dashed 5)) (assert-thrown 'misc-error (set-object-stroke! a 1 'none 'dashed)) (assert-thrown 'misc-error (set-object-stroke! a 1 'none 'center 5)) (assert-thrown 'misc-error (set-object-stroke! a 1 'none 'center)) (assert-thrown 'misc-error (set-object-stroke! a 1 'none 'phantom 5)) (assert-thrown 'misc-error (set-object-stroke! a 1 'none 'phantom)) (assert-thrown 'misc-error (set-object-stroke! a 1 'none 'dotted)) )) (begin-test 'fill (let ((a (make-box '(1 . 2) '(3 . 4)))) (assert-equal a (set-object-fill! a 'hollow)) (assert-equal '(hollow) (object-fill a)) (assert-equal a (apply set-object-fill! a (object-fill a))) (assert-equal a (set-object-fill! a 'solid)) (assert-equal '(solid) (object-fill a)) (assert-equal a (apply set-object-fill! a (object-fill a))) (assert-equal a (set-object-fill! a 'hatch 1 2 3)) (assert-equal '(hatch 1 2 3) (object-fill a)) (assert-equal a (apply set-object-fill! a (object-fill a))) (assert-equal a (set-object-fill! a 'mesh 4 5 6 7 8)) (assert-equal '(mesh 4 5 6 7 8) (object-fill a)) (assert-equal a (apply set-object-fill! a (object-fill a))) ;; Invalid symbol arguments (assert-thrown 'misc-error (set-object-fill! a 'BAD-VALUE)) ;; Missing fill width/angle/space arguments (assert-thrown 'misc-error (set-object-fill! a 'hatch)) (assert-thrown 'misc-error (set-object-fill! a 'hatch 1)) (assert-thrown 'misc-error (set-object-fill! a 'hatch 1 2)) (assert-thrown 'misc-error (set-object-fill! a 'mesh)) (assert-thrown 'misc-error (set-object-fill! a 'mesh 1)) (assert-thrown 'misc-error (set-object-fill! a 'mesh 1 2)) (assert-thrown 'misc-error (set-object-fill! a 'mesh 1 2 3)) (assert-thrown 'misc-error (set-object-fill! a 'mesh 1 2 3 4)) )) geda-gaf-1.8.2/libgeda/scheme/unit-tests/t0207-page-parse-line-endings.scm0000664000175000017500000000172212207374140022730 00000000000000;; Test that when we load a schematic file, different line endings are ;; dealt with properly. (use-modules (unit-test) (geda page) (geda object) (geda attrib)) (define test-page-unix "v 20111231 2\nL 0 0 1000 0 3 0 0 0 -1 -1\nT 0 1000 5 10 1 0 0 0 1\nattrib2=bar") (define test-page-dos "v 20111231 2\r\nL 0 0 1000 0 3 0 0 0 -1 -1\r\nT 0 1000 5 10 1 0 0 0 1\r\nattrib2=bar") (define test-page-mac "v 20111231 2\rL 0 0 1000 0 3 0 0 0 -1 -1\rT 0 1000 5 10 1 0 0 0 1\rattrib2=bar") (define (test-func data) (let* ((A (string->page "test/page/A" data)) (lst (page-contents A))) (assert-true (line? (list-ref lst 0))) (assert-true (text? (list-ref lst 1))) (assert-equal "attrib2=bar" (text-string (list-ref lst 1))))) (begin-test 'parse-unix-line-endings (test-func test-page-unix)) (begin-test 'parse-dos-line-endings (test-func test-page-dos)) (begin-test 'parse-mac-line-endings (test-func test-page-mac)) geda-gaf-1.8.2/libgeda/scheme/unit-tests/t0206-page-parse-garbage-attribute.scm0000664000175000017500000000060012207374140023736 00000000000000;; Test that garbage in attribute lists causes a parse error. (use-modules (unit-test) (geda page) (geda object) (geda attrib)) (define test-page "v 20111231 2 N 0 500 1000 500 4 { T 0 700 5 10 1 0 0 0 1 attrib1=foo __GARBAGE__ ") (begin-test 'parse-garbage-attribute (assert-thrown 'string-format (string->page "/test/page/A" test-page))) geda-gaf-1.8.2/libgeda/scheme/unit-tests/t0111-object-path.scm0000664000175000017500000000345412207374140020530 00000000000000;; Test Scheme procedures related to path objects. (use-modules (unit-test)) (use-modules (geda object)) (begin-test 'paths (let* ((a (make-path)) (b (make-path 21))) (assert-equal 'path (object-type a)) (assert-true (path? a)) (assert-equal 0 (path-length a)) (assert-thrown 'out-of-range (path-ref a 0)) (assert-thrown 'out-of-range (path-remove! a 0)) (assert-equal #f (object-bounds a)) ; Most trivial path possible (assert-equal a (path-insert! a -1 'lineto '(0 . 0))) (assert-equal 1 (path-length a)) (assert-equal '(lineto (0 . 0)) (path-ref a 0)) (assert-equal '((0 . 0) . (0 . 0)) (object-bounds a)) ; Add a move to the start (assert-equal a (path-insert! a 0 'moveto '(1 . 0))) (assert-equal 2 (path-length a)) (assert-equal '(moveto (1 . 0)) (path-ref a 0)) (assert-equal '(lineto (0 . 0)) (path-ref a 1)) (assert-equal '((0 . 0) . (1 . 0)) (object-bounds a)) ; Remove the line (assert-equal a (path-remove! a 1)) (assert-equal 1 (path-length a)) (assert-thrown 'out-of-range (path-ref a 1)) (assert-thrown 'out-of-range (path-remove! a 1)) (assert-equal '((1 . 0) . (1 . 0)) (object-bounds a)) ; Add a line, a curve and a closepath. (assert-equal a (path-insert! a -1 'lineto '(1 . 2))) (assert-equal '(lineto (1 . 2)) (path-ref a 1)) (assert-equal a (path-insert! a -1 'curveto '(3 . 4) '(5 . 6) '(7 . 8))) (assert-equal '(curveto (3 . 4) (5 . 6) (7 . 8)) (path-ref a 2)) (assert-equal a (path-insert! a -1 'closepath)) (assert-equal '(closepath) (path-ref a 3)) (assert-equal a (path-remove! a 1)) ; Bad path element type (assert-thrown 'misc-error (path-insert! a -1 'BAD-VALUE)) ; Color (assert-equal 21 (object-color b)) )) geda-gaf-1.8.2/libgeda/scheme/unit-tests/t0001-geda-conf-lib.scm0000664000175000017500000000127112207374140020710 00000000000000;; Test Scheme procedures defined in geda.scm. Makes blatant ;; assumptions about the current directory. Oh well. (use-modules (unit-test)) (load-from-path "geda.scm") (begin-test 'build-path (assert-equal "prefix/suffix" (build-path "prefix" "suffix")) (assert-equal "/path/to/a/directory" (build-path "/path" "to" "a" "directory"))) (begin-test 'regular-file? (assert-true (regular-file? "Makefile")) (assert-true (not (regular-file? ".")))) (begin-test 'directory? (assert-true (directory? ".")) (assert-true (not (directory? "Makefile")))) (begin-test 'has-suffix? (assert-true (has-suffix? "unit-test.scm" ".scm")) (assert-true (not (has-suffix? "Makefile" ".scm")))) geda-gaf-1.8.2/libgeda/scheme/unit-tests/t0106-object-bounds.scm0000664000175000017500000000313112207374140021062 00000000000000;; Test Scheme procedures for working with object bounds. (use-modules (unit-test)) (use-modules (geda object)) (begin-test 'bounds (let ((x (make-box '(0 . 1) '(1 . 0))) (y (make-box '(2 . 3) '(3 . 2))) (t (make-text '(1 . 2) 'lower-left 0 "test text" 10 #t 'both)) (C (make-component "test component" '(0 . 0) 0 #t #f))) ;; No arguments (assert-equal #f (object-bounds)) ;; Single argument (assert-equal '((0 . 1) . (1 . 0)) (object-bounds x)) ;; Multiple arguments (assert-equal '((0 . 3) . (3 . 0)) (object-bounds x y)) ;; Unfortunately, libgeda has no text renderer, so text never has ;; any bounds. What a shame. (assert-true (not (object-bounds t))) ;; Empty components should have no bounds... (assert-equal '() (component-contents C)) (assert-true (not (object-bounds C))) ;; ... but they should get bounds when you add stuff to them. (component-append! C x) (assert-equal '((0 . 1) . (1 . 0)) (object-bounds x)) )) (begin-test 'fold-bounds (let ((x (make-box '(0 . 1) '(1 . 0))) (y (make-box '(2 . 3) '(3 . 2)))) ;; No arguments (assert-equal #f (fold-bounds #f)) ;; One argument (let ((a (object-bounds x))) (assert-equal a (fold-bounds a)) (assert-equal #f (fold-bounds #f))) ;; > 1 argument (let ((a (object-bounds x)) (b (object-bounds y))) (assert-equal '((0 . 3) . (3 . 0)) (fold-bounds a b)) (assert-equal a (fold-bounds #f a)) (assert-equal a (fold-bounds a #f)) (assert-equal #f (fold-bounds #f #f))))) geda-gaf-1.8.2/libgeda/scheme/unit-tests/t0203-page-string-syntax.scm0000664000175000017500000000040612207374140022070 00000000000000;; Test Scheme procedures related to converting pages to & from ;; strings. (use-modules (unit-test)) (use-modules (geda page)) (use-modules (geda object)) (begin-test 'string->page (assert-thrown 'string-format (string->page "/test/page/A" "__GARBAGE__"))) geda-gaf-1.8.2/libgeda/scheme/unit-tests/t1000-deprecated.scm0000664000175000017500000000535712207374140020432 00000000000000;; Test deprecated procedures from legacy Scheme API. (use-modules (unit-test)) (use-modules (geda deprecated)) (use-modules (geda object)) (use-modules (geda attrib)) (use-modules (geda page)) (begin-test 'get-attribute-name-value (let ((t (make-text '(1 . 2) 'lower-left 0 "name=value" 10 #t 'both))) (assert-equal '("name" . "value") (get-attribute-name-value t)))) (begin-test 'calcule-new-attrib-bounds ; Can't actually test this procedure in libgeda only, due to the ; absence of a function for calculating text bounds. #f) (begin-test 'get-attribute-bounds ; Can't actually test this procedure in libgeda only, due to the ; absence of a function for calculating text bounds. #f) (begin-test 'get-attribute-angle (let ((t0 (make-text '(1 . 2) 'lower-left 0 "name=value" 10 #t 'both)) (t90 (make-text '(1 . 2) 'lower-left 90 "name=value" 10 #t 'both))) (assert-equal 0 (get-attribute-angle t0)) (assert-equal 90 (get-attribute-angle t90)) )) (begin-test 'get-object-attributes (let ((C (make-component "testcomponent" '(0 . 0) 0 #f #f)) (p (make-net-pin '(0 . 0) '(100 . 0))) (x (make-text '(0 . 0) 'lower-left 0 "name=x" 10 #t 'both)) (y (make-text '(0 . 0) 'lower-left 0 "name=y" 10 #t 'both))) (for-each (lambda (o) (component-append! C o)) (list p x y)) (attach-attribs! p x y) (assert-equal (list y x) (get-object-attributes p)))) (begin-test 'get-attrib-value-by-attrib-name (let ((C (make-component "testcomponent" '(0 . 0) 0 #f #f)) (p (make-net-pin '(0 . 0) '(100 . 0))) (x (make-text '(0 . 0) 'lower-left 0 "name=x" 10 #t 'both)) (y (make-text '(0 . 0) 'lower-left 0 "name=y" 10 #t 'both)) (z (make-text '(0 . 0) 'lower-left 0 "bork=z" 10 #t 'both))) (for-each (lambda (o) (component-append! C o)) (list p x y z)) (attach-attribs! p x y z) (assert-equal (list "y" "x") (get-attrib-value-by-attrib-name p "name")))) (begin-test 'get-object-type (let ((C (make-component "testcomponent" '(0 . 0) 0 #f #f)) (p (make-net-pin '(0 . 0) '(100 . 0))) (t (make-text '(0 . 0) 'lower-left 0 "name=x" 10 #t 'both))) ; Obviously not exhaustive (assert-equal OBJ_COMPLEX (get-object-type C)) (assert-equal OBJ_PIN (get-object-type p)) (assert-equal OBJ_TEXT (get-object-type t)))) (begin-test 'get-line-width (let ((p (make-net-pin '(0 . 0) '(100 . 0)))) ; This will break if you change PIN_WIDTH_NET in defines.h (assert-equal 10 (get-line-width p)))) (define P (make-page "/test/page/A")) (begin-test 'get-page-filename (assert-equal "/test/page/A" (get-page-filename P))) (begin-test 'set-page-filename (set-page-filename P "/test/page/B") (assert-equal "/test/page/B" (page-filename P))) (close-page! P) geda-gaf-1.8.2/libgeda/scheme/unit-tests/t0300-attribute.scm0000664000175000017500000001525612207374140020336 00000000000000;; Test Scheme procedures related to attributes. (use-modules (unit-test)) (use-modules (geda attrib)) (use-modules (geda page)) (use-modules (geda object)) (begin-test 'parse-attrib (let ((good (make-text '(1 . 2) 'lower-left 0 "name=value" 10 #t 'both)) (bad (make-text '(1 . 2) 'lower-left 0 "name value" 10 #t 'both))) (assert-equal #t (attribute? good)) (assert-equal #f (attribute? bad)) (assert-equal "name" (attrib-name good)) (assert-equal "value" (attrib-value good)) (assert-equal (cons (attrib-name good) (attrib-value good)) (parse-attrib good)) (assert-thrown 'attribute-format (parse-attrib bad)) (assert-thrown 'attribute-format (attrib-name bad)) (assert-thrown 'attribute-format (attrib-value bad)) )) (begin-test 'attach-attrib (let ((C (make-component "testcomponent1" '(0 . 0) 0 #f #f)) (D (make-component "testcomponent2" '(0 . 0) 0 #f #f)) (p (make-net-pin '(0 . 0) '(100 . 0))) (q (make-net-pin '(0 . 0) '(100 . 0))) (x (make-text '(0 . 0) 'lower-left 0 "name=x" 10 #t 'both)) (y (make-text '(0 . 0) 'lower-left 0 "name=y" 10 #t 'both)) (z (make-text '(0 . 0) 'lower-left 0 "name=z" 10 #t 'both))) ;; Attach attribute outside component or page (assert-thrown 'object-state (attach-attribs! C x)) (assert-equal '() (object-attribs C)) (assert-true (not (attrib-attachment x))) ;; Populate components (component-append! C p q x y) (component-append! D z) ;; Attach attribute to object in same component (assert-equal p (attach-attribs! p x)) (assert-equal (list x) (object-attribs p)) (assert-equal p (attrib-attachment x)) ;; Attach attribute twice (assert-equal p (attach-attribs! p x)) (assert-equal (list x) (object-attribs p)) (assert-equal p (attrib-attachment x)) ;; Attach attribute which is already attached, within same ;; component (assert-thrown 'object-state (attach-attribs! q x)) ;; Attach attribute to attached attribute, within same component (assert-thrown 'object-state (attach-attribs! x y)) ;; Attach attribute to object in different component (assert-thrown 'object-state (attach-attribs! p z)) (assert-equal (list x) (object-attribs p)) (assert-true (not (attrib-attachment z))) ;; Attach internal attribute to containing component (assert-thrown 'object-state (attach-attribs! D z)) (assert-equal '() (object-attribs D)) (assert-true (not (attrib-attachment z))) ;; Attach attribute in component to floating object (assert-thrown 'object-state (attach-attribs! C z)) (assert-equal '() (object-attribs C)) (assert-true (not (attrib-attachment z))) ;; Attach floating attribute to object in component (component-remove! D z) (assert-thrown 'object-state (attach-attribs! p z)) (assert-equal (list x) (object-attribs p)) (assert-true (not (attrib-attachment z))) ;; Attach multiple attributes (assert-equal p (attach-attribs! p y)) (assert-equal (list x y) (object-attribs p)) (assert-equal p (attrib-attachment y)) )) (begin-test 'attach-attrib/page (let ((P (make-page "/test/page/A")) (Q (make-page "/test/page/A")) (p (make-net-pin '(0 . 0) '(100 . 0))) (x (make-text '(1 . 2) 'lower-left 0 "name=value" 10 #t 'both)) (y (make-text '(1 . 2) 'lower-left 0 "name=value" 10 #t 'both)) (z (make-text '(1 . 2) 'lower-left 0 "name=value" 10 #t 'both)) (C (make-component "test component" '(1 . 2) 0 #t #f))) (dynamic-wind ; Make sure pages are cleaned up (lambda () #f) (lambda () ; Populate pages (page-append! P x C) (component-append! C p y) (page-append! Q z) ; Attach attribute to component in same page (attach-attribs! C x) (assert-equal (list x) (object-attribs C)) (assert-equal C (attrib-attachment x)) ; Remove stuff from page (assert-thrown 'object-state (page-remove! P x)) (assert-thrown 'object-state (page-remove! P C)) ; Attach attribute to component in different page (assert-thrown 'object-state (attach-attribs! C z)) ; Attach attribute to pin in component in page (attach-attribs! p y) (assert-equal (list y) (object-attribs p)) (assert-equal p (attrib-attachment y)) ; Remove stuff from component in page (assert-thrown 'object-state (component-remove! C p)) (assert-thrown 'object-state (component-remove! C y)) ) (lambda () (close-page! P) (close-page! Q) )) )) (begin-test 'detach-attrib (let ((page (make-page "/test/page/1")) (pin1 (make-net-pin '(0 . 0) '(100 . 0))) (pin2 (make-net-pin '(0 . 100) '(100 . 100))) (x (make-text '(0 . 0) 'lower-left 0 "name=x" 10 #t 'both))) (page-append! page pin1 pin2 x) ;; Detach when already detached (assert-equal pin1 (detach-attribs! pin1 x)) (attach-attribs! pin1 x) (assert-thrown 'object-state (detach-attribs! pin2 x)) (assert-equal pin1 (detach-attribs! pin1 x)) (assert-equal '() (object-attribs pin1)) )) (begin-test 'inherited-attribs (let ((C (make-component "test component" '(1 . 2) 0 #t #f)) (p (make-net-pin '(0 . 0) '(100 . 0))) (x (make-text '(1 . 2) 'lower-left 0 "name=x" 10 #t 'both)) (y (make-text '(1 . 2) 'lower-left 0 "name=y" 10 #t 'both))) (assert-equal '() (inherited-attribs p)) (assert-equal '() (inherited-attribs C)) ;; Set up component (component-append! C p x y) (assert-equal (list x y) (inherited-attribs C)) (attach-attribs! p x) (assert-equal (list y) (inherited-attribs C)))) (begin-test 'attrib-inherited? (let* ((P (make-page "/test/page/1")) (A (make-component "test component" '(0 . 0) 0 #t #f)) (p (make-net-pin '(0 . 0) '(100 . 0))) (w (make-text '(1 . 2) 'lower-left 0 "name=x" 10 #t 'both)) (x (make-text '(1 . 2) 'lower-left 0 "name=x" 10 #t 'both)) (y (make-text '(1 . 2) 'lower-left 0 "name=y" 10 #t 'both)) (z (make-text '(1 . 2) 'lower-left 0 "name=z" 10 #t 'both))) (page-append! P A w x) (attach-attribs! A x) (component-append! A p y z) (attach-attribs! p y) (assert-true (not (attrib-inherited? w))) (assert-true (not (attrib-inherited? x))) (assert-true (not (attrib-inherited? y))) (assert-true (attrib-inherited? z)))) (begin-test 'set-attrib-value! (let ((a (make-text '(1 . 2) 'lower-left 0 "name=value" 10 #t 'both))) (set-attrib-value! a "foo") (assert-equal "name" (attrib-name a)) (assert-equal "foo" (attrib-value a)))) geda-gaf-1.8.2/libgeda/scheme/unit-tests/t0208-page-parse-embed-no-complex.scm0000664000175000017500000000060512207374140023507 00000000000000;; Test that loading a schematic file returns an error when an ;; embedded component data section is found without a corresponding ;; object. (use-modules (unit-test) (geda page)) (define test-page "v 20111231 2 [ L 0 0 1000 0 3 0 0 0 -1 -1 ] ") (begin-test 'parse-embedded-section-without-component (assert-thrown 'string-format (string->page "test/page/A" test-page))) geda-gaf-1.8.2/libgeda/scheme/unit-tests/t0205-page-parse-unterminated-attribute-list.scm0000664000175000017500000000057712207374140026032 00000000000000;; Test that unterminated attribute lists cause a parse error. (use-modules (unit-test) (geda page) (geda object) (geda attrib)) (define test-page "v 20111231 2 N 0 500 1000 500 4 { T 0 700 5 10 1 0 0 0 1 attrib1=foo ") (begin-test 'parse-unterminated-attribute-list (assert-thrown 'string-format (string->page "/test/page/A" test-page))) geda-gaf-1.8.2/libgeda/scheme/unit-tests/t0110-object-transform.scm0000664000175000017500000000605712207374140021610 00000000000000;; Test Scheme procedures for transforming objects (use-modules (unit-test)) (use-modules (geda object)) (begin-test 'translate-objects! (let ((C (make-component "test component" '(1 . 2) 0 #t #f)) (a (make-line '(1 . 2) '(3 . 4))) (b (make-line '(1 . 2) '(3 . 4)))) ;; Translate nothing (assert-equal '() (translate-objects! '(1 . 2))) ;; Translate a line (assert-equal (list a) (translate-objects! '(1 . 2) a)) (assert-equal '(2 . 4) (line-start a)) (assert-equal '(4 . 6) (line-end a)) ;; Translate a component (component-append! C b) (assert-equal (list C) (translate-objects! '(1 . 2) C)) (assert-equal '(2 . 4) (component-position C)) (assert-equal '(2 . 4) (line-start b)) (assert-equal '(4 . 6) (line-end b)) ;; Translate multiple objects (assert-equal (list a C) (translate-objects! '(-1 . -2) a C)) (assert-equal '(1 . 2) (line-start a)) (assert-equal '(3 . 4) (line-end a)) (assert-equal '(1 . 2) (component-position C)) (assert-equal '(1 . 2) (line-start b)) (assert-equal '(3 . 4) (line-end b)) )) (begin-test 'rotate-objects! (let ((C (make-component "test component" '(1 . 2) 0 #t #f)) (a (make-line '(1 . 2) '(3 . 4))) (b (make-line '(1 . 2) '(3 . 4)))) ;; Rotate nothing (assert-equal '() (rotate-objects! '(1 . 2) 90)) ;; Rotate a line (assert-equal (list a) (rotate-objects! '(1 . 2) 90 a)) (assert-equal '(1 . 2) (line-start a)) (assert-equal '(-1 . 4) (line-end a)) ;; Rotate a component (component-append! C b) (assert-equal (list C) (rotate-objects! '(1 . 2) -270 C)) (assert-equal '(1 . 2) (component-position C)) (assert-equal 90 (component-angle C)) (assert-equal '(1 . 2) (line-start b)) (assert-equal '(-1 . 4) (line-end b)) ;; Rotate multiple objects (assert-equal (list a C) (rotate-objects! '(1 . 2) -90 a C)) (assert-equal '(1 . 2) (line-start a)) (assert-equal '(3 . 4) (line-end a)) (assert-equal 0 (component-angle C)) (assert-equal '(1 . 2) (line-start b)) (assert-equal '(3 . 4) (line-end b)) )) (begin-test 'mirror-objects! (let ((C (make-component "test component" '(1 . 2) 0 #f #f)) (a (make-line '(1 . 2) '(3 . 4))) (b (make-line '(1 . 2) '(3 . 4)))) ;; Mirror nothing (assert-equal '() (mirror-objects! 2)) ;; Mirror a line (assert-equal (list a) (mirror-objects! 2 a)) (assert-equal '(3 . 2) (line-start a)) (assert-equal '(1 . 4) (line-end a)) ;; Mirror a component (component-append! C b) (assert-equal (list C) (mirror-objects! 2 C)) (assert-equal '(3 . 2) (component-position C)) (assert-true (component-mirror? C)) (assert-equal '(3 . 2) (line-start b)) (assert-equal '(1 . 4) (line-end b)) ;; Mirror multiple objects (assert-equal (list a C) (mirror-objects! 2 a C)) (assert-equal '(1 . 2) (line-start a)) (assert-equal '(3 . 4) (line-end a)) (assert-true (not (component-mirror? C))) (assert-equal '(1 . 2) (line-start b)) (assert-equal '(3 . 4) (line-end b)) )) geda-gaf-1.8.2/libgeda/scheme/unit-tests/t0105-object-complex.scm0000664000175000017500000001330012207374140021235 00000000000000;; Test Scheme procedures related to component objects. (use-modules (unit-test)) (use-modules (geda object)) (use-modules (geda page)) (use-modules (geda attrib)) (begin-test 'component (let ((a (make-component "test component" '(1 . 2) 0 #t #f))) (assert-equal 'complex (object-type a)) (assert-true (component? a)) (assert-equal "test component" (component-basename a)) (assert-equal '(1 . 2) (component-position a)) (assert-equal 0 (component-angle a)) (assert-true (component-mirror? a)) (assert-true (not (component-locked? a))) (assert-equal (list (component-basename a) (component-position a) (component-angle a) (component-mirror? a) (component-locked? a)) (component-info a)) (set-component! a '(3 . 4) 90 #f #t) (assert-equal '(3 . 4) (component-position a)) (assert-equal 90 (component-angle a)) (assert-true (not (component-mirror? a))) (assert-true (component-locked? a)) (assert-thrown 'misc-error (set-component! a '(3 . 4) 45 #f #t)))) (begin-test 'component-append (let ((A (make-component "test component" '(1 . 2) 0 #t #f)) (B (make-component "test component" '(1 . 2) 0 #t #f)) (x (make-line '(0 . 0) '(2 . 0))) (y (make-line '(0 . 0) '(0 . 2)))) (assert-equal '() (component-contents A)) (assert-equal A (component-append! A x)) (assert-equal (list x) (component-contents A)) (component-append! A x) (assert-equal (list x) (component-contents A)) (component-append! A y) (assert-equal (list x y) (component-contents A)) (assert-thrown 'object-state (component-append! B x)))) (begin-test 'component-remove (let ((A (make-component "test component" '(1 . 2) 0 #t #f)) (B (make-component "test component" '(1 . 2) 0 #t #f)) (x (make-line '(0 . 0) '(2 . 0))) (y (make-line '(0 . 0) '(0 . 2))) (z (make-line '(1 . 0) '(2 . 2)))) (component-append! A x) (assert-equal A (component-remove! A x)) (assert-equal '() (component-contents A)) (component-remove! A x) (component-remove! B x) (component-append! A x y) (component-remove! A x y) (assert-equal '() (component-contents A)) (component-append! A x y) (component-remove! A x) (assert-equal (list y) (component-contents A)) (assert-thrown 'object-state (component-remove! B y)))) (begin-test 'component-append/page (let ((P (make-page "/test/page/A")) (A (make-component "test component" '(1 . 2) 0 #t #f)) (x (make-line '(0 . 0) '(2 . 0))) (y (make-line '(0 . 0) '(0 . 2)))) (dynamic-wind (lambda () #t) (lambda () (page-append! P x) (assert-thrown 'object-state (component-append! A x)) (page-append! P A) (assert-thrown 'object-state (component-append! A x)) (component-append! A y) (assert-equal (list y) (component-contents A))) (lambda () (close-page! P))) )) (begin-test 'component-remove/page (let ((P (make-page "/test/page/A")) (A (make-component "test component" '(1 . 2) 0 #t #f)) (x (make-line '(0 . 0) '(2 . 0))) (y (make-line '(0 . 0) '(0 . 2)))) (dynamic-wind (lambda () #t) (lambda () ;; Test that if a primitive object is attached directly to ;; a page, attempting to remove it from a component ;; doesn't work. (page-append! P x) (assert-thrown 'object-state (component-remove! A x)) (page-append! P A) (assert-thrown 'object-state (component-remove! A x)) ;; Test that you can remove primitive objects from a ;; component that is attached to a page. (component-append! A y) (component-remove! A y) (assert-equal '() (component-contents A))) (lambda () (close-page! P))) )) (begin-test 'component-translate (let* ((A (make-component "test component" '(0 . 0) 0 #t #f)) (x (make-box '(0 . 2) '(2 . 0)))) (component-append! A x) (set-component! A '(1 . 1) 0 #t #f) (assert-equal '(1 . 3) (box-top-left x)) (assert-equal '(3 . 1) (box-bottom-right x)))) (begin-test 'component-remove-attrib (let ((comp (make-component "test component" '(1 . 2) 0 #t #f)) (pin (make-net-pin '(0 . 0) '(100 . 0))) (attrib (make-text '(0 . 0) 'lower-left 0 "name=x" 10 #t 'both))) (component-append! comp pin attrib) (attach-attribs! pin attrib) (assert-thrown 'object-state (component-remove! comp pin)) (assert-thrown 'object-state (component-remove! comp attrib)))) ;; Set up component library, making blatant assumptions about the ;; directory layout. (component-library (string-join (list (getenv "srcdir") "../../symbols/analog") "/") "Basic devices") (begin-test 'component/library (let ((A (make-component/library "resistor-1.sym" '(1 . 2) 0 #t #f)) (B (make-component/library "invalid-component-name" '(1 . 2) 0 #t #f))) (assert-true A) (assert-equal '(1 . 2) (component-position A)) (assert-equal 0 (component-angle A)) (assert-true (component-mirror? A)) (assert-true (not (component-locked? A))) (assert-equal "resistor-1.sym" (component-basename A)) (assert-true (not (null? (component-contents A)))) (assert-true (not B)))) ;; Clear component library again (reset-component-library) (begin-test 'object-component (let* ((A (make-component "test component" '(0 . 0) 0 #t #f)) (x (make-box '(0 . 2) '(2 . 0)))) (assert-equal #f (object-component x)) (component-append! A x) (assert-equal A (object-component x)))) geda-gaf-1.8.2/libgeda/scheme/unit-tests/t0301-promotable-attributes.scm0000664000175000017500000000223012207374140022650 00000000000000;; Test promotable-attributes function (use-modules (unit-test)) (use-modules (geda page)) (use-modules (geda object)) (use-modules (geda attrib)) ;; Unfortunately, we can't test this at the moment, because the ;; default list of promotable attribute names is empty. We suppress ;; config file loading when running the unit tests, and even though we ;; could call the (always-promote-attributes ...) config file ;; procedure, but it wouldn't do us any good because we can't call ;; i_vars_libgeda_set() from Scheme [1]. So instead, we just fail. ;; ;; [1] This is a good thing -- it shouldn't be necessary! (begin-test 'promotable-attributes (throw 'missing-unit-test "We can't test this at the moment")) (begin-test 'promote-attribs! (throw 'missing-unit-test "We can't test this at the moment")) (begin-test 'promote-attribs!/not-in-page (let ((p (make-net-pin '(0 . 0) '(100 . 0)))) (assert-thrown 'object-state (promote-attribs! p)))) (begin-test 'promote-attribs!/non-component (let ((P (make-page "/test/page/A")) (p (make-net-pin '(0 . 0) '(100 . 0)))) (page-append! P p) (assert-equal '() (promote-attribs! p)))) geda-gaf-1.8.2/libgeda/scheme/unit-tests/t0100-object-line.scm0000664000175000017500000001027712207374140020522 00000000000000;; Test Scheme procedures related to line objects. (use-modules (unit-test)) (use-modules (geda object)) (begin-test 'lines (let ((a (make-line '(1 . 2) '(3 . 4) 21)) (b (make-line '(1 . 2) '(3 . 4)))) (assert-equal 'line (object-type a)) (assert-true (line? a)) (assert-equal '(1 . 2) (line-start a)) (assert-equal '(3 . 4) (line-end a)) (assert-equal (line-start a) (line-start b)) (assert-equal (line-end a) (line-end b)) (assert-equal 21 (object-color a)) (assert-equal (list (line-start a) (line-end a) (object-color a)) (line-info a)) (set-line! a '(5 . 6) '(7 . 8)) (assert-equal '(5 . 6) (line-start a)) (assert-equal '(7 . 8) (line-end a)) (assert-equal 21 (object-color a)) (set-line! a '(5 . 6) '(7 . 8) 22) (assert-equal 22 (object-color a)) (set-object-color! a 21) (assert-equal 21 (list-ref (line-info a) 2)))) (make-net '(1 . 2) '(3 . 4)) (begin-test 'nets (let ((a (make-net '(1 . 2) '(3 . 4) 21)) (b (make-net '(1 . 2) '(3 . 4)))) (assert-equal 'net (object-type a)) (assert-true (net? a)) (assert-equal '(1 . 2) (line-start a)) (assert-equal '(3 . 4) (line-end a)) (assert-equal (line-start a) (line-start b)) (assert-equal (line-end a) (line-end b)) (assert-equal 21 (object-color a)) (assert-equal (list (line-start a) (line-end a) (object-color a)) (line-info a)) (set-line! a '(5 . 6) '(7 . 8)) (assert-equal '(5 . 6) (line-start a)) (assert-equal '(7 . 8) (line-end a)) (assert-equal 21 (object-color a)) (set-line! a '(5 . 6) '(7 . 8) 22) (assert-equal 22 (object-color a)) (set-object-color! a 21) (assert-equal 21 (list-ref (line-info a) 2)))) (begin-test 'buses (let ((a (make-bus '(1 . 2) '(3 . 4) 21)) (b (make-bus '(1 . 2) '(3 . 4)))) (assert-equal 'bus (object-type a)) (assert-true (bus? a)) (assert-equal '(1 . 2) (line-start a)) (assert-equal '(3 . 4) (line-end a)) (assert-equal (line-start a) (line-start b)) (assert-equal (line-end a) (line-end b)) (assert-equal 21 (object-color a)) (assert-equal (list (line-start a) (line-end a) (object-color a)) (line-info a)) (set-line! a '(5 . 6) '(7 . 8)) (assert-equal '(5 . 6) (line-start a)) (assert-equal '(7 . 8) (line-end a)) (assert-equal 21 (object-color a)) (set-line! a '(5 . 6) '(7 . 8) 22) (assert-equal 22 (object-color a)) (set-object-color! a 21) (assert-equal 21 (list-ref (line-info a) 2)))) (begin-test 'net-pins (let ((a (make-net-pin '(1 . 2) '(3 . 4) 21)) (b (make-net-pin '(1 . 2) '(3 . 4)))) (assert-equal 'pin (object-type a)) (assert-true (pin? a)) (assert-true (net-pin? a)) (assert-true (not (bus-pin? a))) (assert-equal '(1 . 2) (line-start a)) (assert-equal '(3 . 4) (line-end a)) (assert-equal (line-start a) (line-start b)) (assert-equal (line-end a) (line-end b)) (assert-equal 21 (object-color a)) (assert-equal (list (line-start a) (line-end a) (object-color a)) (line-info a)) (set-line! a '(5 . 6) '(7 . 8)) (assert-equal '(5 . 6) (line-start a)) (assert-equal '(7 . 8) (line-end a)) (assert-equal 21 (object-color a)) (set-line! a '(5 . 6) '(7 . 8) 22) (assert-equal 22 (object-color a)) (set-object-color! a 21) (assert-equal 21 (list-ref (line-info a) 2)))) (begin-test 'bus-pins (let ((a (make-bus-pin '(1 . 2) '(3 . 4) 21)) (b (make-bus-pin '(1 . 2) '(3 . 4)))) (assert-equal 'pin (object-type a)) (assert-true (pin? a)) (assert-true (bus-pin? a)) (assert-true (not (net-pin? a))) (assert-equal '(1 . 2) (line-start a)) (assert-equal '(3 . 4) (line-end a)) (assert-equal (line-start a) (line-start b)) (assert-equal (line-end a) (line-end b)) (assert-equal 21 (object-color a)) (assert-equal (list (line-start a) (line-end a) (object-color a)) (line-info a)) (set-line! a '(5 . 6) '(7 . 8)) (assert-equal '(5 . 6) (line-start a)) (assert-equal '(7 . 8) (line-end a)) (assert-equal 21 (object-color a)) (set-line! a '(5 . 6) '(7 . 8) 22) (assert-equal 22 (object-color a)) (set-object-color! a 21) (assert-equal 21 (list-ref (line-info a) 2)))) geda-gaf-1.8.2/libgeda/scheme/unit-tests/t0112-object-picture.scm0000664000175000017500000000440212207374140021242 00000000000000;; Test Scheme procedures related to picture objects. (use-modules (unit-test) (geda object)) (define test-image (map char->integer (string->list "/* XPM */ static char * test_image_xpm[] = { \"2 1 1 1\", \" c None\", \" \"}; "))) (begin-test 'pictures (let* ((a (make-picture/vector test-image "test_image.xpm" '(1 . 2) '(5 . 4) 0 #f)) (b (copy-object a))) (assert-equal 'picture (object-type a)) (assert-true (picture? a)) (assert-equal "test_image.xpm" (picture-filename a)) (assert-equal '(1 . 4) (picture-top-left a)) (assert-equal '(5 . 2) (picture-bottom-right a)) (assert-equal 0 (picture-angle a)) (assert-equal #f (picture-mirror? a)) (assert-equal (list (picture-filename a) (picture-top-left a) (picture-bottom-right a) (picture-angle a) (picture-mirror? a)) (picture-info a)) (assert-equal (picture-info a) (picture-info b)) ;; Check setting some parameters. We simulate a rotation by 90 ;; degrees anti-clockwise about (3,2). This doesn't test the image ;; dimensions snapping yet. (assert-equal a (set-picture! a '(2 . 0) '(4 . 4) 90 #t)) (assert-equal '(2 . 4) (picture-top-left a)) (assert-equal '(4 . 0) (picture-bottom-right a)) (assert-equal 90 (picture-angle a)) (assert-equal #t (picture-mirror? a)) ;; Check mirroring. (assert-equal (list a) (mirror-objects! 4 a)) (assert-equal '(4 . 4) (picture-top-left a)) (assert-equal '(6 . 0) (picture-bottom-right a)) (assert-equal 270 (picture-angle a)) (assert-equal #f (picture-mirror? a)) ;; Check rotating. (assert-equal (list a) (rotate-objects! '(5 . 2) 90 a)) (assert-equal '(3 . 3) (picture-top-left a)) (assert-equal '(7 . 1) (picture-bottom-right a)) (assert-equal 0 (picture-angle a)) (assert-equal #f (picture-mirror? a)) ;; Bad angle (assert-thrown 'misc-error (set-picture! a '(1 . 2) '(5 . 4) 45 #f)) ;; Bad data (assert-thrown 'misc-error (make-picture/vector (map char->integer (string->list "THIS IS NOT AN IMAGE")) "not_an_image" '(1 . 2) '(5 . 4) 0 #f)) )) geda-gaf-1.8.2/libgeda/scheme/unit-tests/t0101-object-box.scm0000664000175000017500000000220012207374140020347 00000000000000;; Test Scheme procedures related to box objects. (use-modules (unit-test)) (use-modules (geda object)) (begin-test 'boxes (let* ((a (make-box '(1 . 4) '(3 . 2) 21)) (b (copy-object a))) (assert-equal 'box (object-type a)) (assert-true (box? a)) (assert-true (box? b)) (assert-equal '(1 . 4) (box-top-left a)) (assert-equal '(3 . 2) (box-bottom-right a)) (assert-equal (box-top-left a) (box-top-left b)) (assert-equal (box-bottom-right a) (box-bottom-right b)) (assert-equal 21 (object-color a)) (assert-equal (list (box-top-left a) (box-bottom-right a) (object-color a)) (box-info a)) ; Check that set-box! swaps corners around correctly (set-box! a '(5 . 6) '(7 . 8)) (assert-equal '(5 . 8) (box-top-left a)) (assert-equal '(7 . 6) (box-bottom-right a)) (set-box! a '(7 . 6) '(5 . 8)) (assert-equal '(5 . 8) (box-top-left a)) (assert-equal '(7 . 6) (box-bottom-right a)) (assert-equal 21 (object-color a)) (set-box! a '(5 . 6) '(7 . 8) 22) (assert-equal 22 (object-color a)) (set-object-color! a 21) (assert-equal 21 (list-ref (box-info a) 2)) )) geda-gaf-1.8.2/libgeda/scheme/unit-tests/t0400-os.scm0000664000175000017500000000137312207374140016750 00000000000000; Test Scheme procedures for accessing host operating system ; information. (use-modules (unit-test) (geda os) (srfi srfi-1)) (begin-test 'platform (assert-true (every symbol? (platform)))) (begin-test 'separators (assert-true (char? separator-char)) (assert-true (string? separator)) (assert-equal 1 (string-length separator)) (assert-true (char? path-separator-char)) (assert-true (string? path-separator)) (assert-equal 1 (string-length path-separator)) (assert-true (separator-char? separator-char))) (begin-test 'directories (assert-true (every string? (sys-data-dirs))) (assert-true (every string? (sys-config-dirs))) (assert-true (string? (user-data-dir))) (assert-true (string? (user-config-dir)))) geda-gaf-1.8.2/libgeda/scheme/unit-tests/t0104-object-text.scm0000664000175000017500000000607312207374140020562 00000000000000;; Test Scheme procedures related to text objects. (use-modules (unit-test)) (use-modules (geda object)) (begin-test 'text (let ((a (make-text '(1 . 2) 'lower-left 0 "test text" 10 #t 'both 21)) (b (make-text '(1 . 2) 'lower-left 0 "test text" 10 #t 'both))) (assert-equal 'text (object-type a)) (assert-true (text? a)) (assert-true (text? b)) (assert-equal '(1 . 2) (text-anchor a)) (assert-equal 'lower-left (text-align a)) (assert-equal 0 (text-angle a)) (assert-equal "test text" (text-string a)) (assert-equal 10 (text-size a)) (assert-true (text-visible? a)) (assert-equal 'both (text-attribute-mode a)) (assert-equal 21 (object-color a)) (assert-equal (text-anchor a) (text-anchor b)) (assert-equal (text-align a) (text-align b)) (assert-equal (text-angle a) (text-angle b)) (assert-equal (text-string a) (text-string b)) (assert-equal (text-size a) (text-size b)) (assert-equal (text-visible? a) (text-visible? b)) (assert-equal (text-attribute-mode a) (text-attribute-mode b)) (assert-equal (list (text-anchor a) (text-align a) (text-angle a) (text-string a) (text-size a) (text-visible? a) (text-attribute-mode a) (object-color a)) (text-info a)) (set-text! a '(3 . 4) 'upper-right 180 "more text" 20 #f 'name) (assert-equal '(3 . 4) (text-anchor a)) (assert-equal 'upper-right (text-align a)) (assert-equal 180 (text-angle a)) (assert-equal "more text" (text-string a)) (assert-equal 20 (text-size a)) (assert-true (not (text-visible? a))) (assert-equal 'name (text-attribute-mode a)) (assert-equal 21 (object-color a)) (set-text! a '(3 . 4) 'upper-right 180 "more text" 20 #f 'name 22) (assert-equal 22 (object-color a)) (assert-thrown 'misc-error (set-text! a '(3 . 4) 'fnord 180 "more text" 20 #f 'name)) (assert-thrown 'misc-error (set-text! a '(3 . 4) 'upper-right 180 "more text" 20 #f 'fnord)) (assert-thrown 'misc-error (set-text! a '(3 . 4) 'upper-right 1 "more text" 20 #f 'name)) )) (begin-test 'set-text-visibility! (let ((a (make-text '(1 . 2) 'lower-left 0 "test text" 10 #t 'both 21)) (b (make-text '(1 . 2) 'lower-left 0 "test text" 10 #t 'both 21))) (assert-true (text-visible? a)) (set-text-visibility! a #f) (assert-true (not (text-visible? a))) (set-text-visibility! a #t) (assert-true (text-visible? a)) (assert-equal (text-info a) (text-info b)) (set-text-visibility! a 'bork) (assert-true (text-visible? a)) (assert-equal (text-info a) (text-info b)))) (begin-test 'set-text-string! (let ((a (make-text '(1 . 2) 'lower-left 0 "test text" 10 #t 'both 21)) (b (make-text '(1 . 2) 'lower-left 0 "test text" 10 #t 'both 21))) (assert-equal "test text" (text-string a)) (set-text-string! a "new test text") (assert-equal "new test text" (text-string a)) (set-text-string! a "test text") (assert-equal "test text" (text-string a)) (assert-equal (text-info a) (text-info b)))) geda-gaf-1.8.2/libgeda/scheme/unit-tests/t0200-page.scm0000664000175000017500000000502512207374140017237 00000000000000;; Test Scheme procedures related to pages. (use-modules (unit-test)) (use-modules (geda page)) (use-modules (geda object)) (use-modules (geda attrib)) (begin-test 'page (let ((page-a (make-page "/test/page/A")) (page-b (make-page "/test/page/B"))) (assert-true (page? page-a)) (assert-equal "/test/page/A" (page-filename page-a)) (assert-equal (list page-a page-b) (active-pages)) (assert-equal page-a (set-page-filename! page-a "/test/page/C")) (assert-equal "/test/page/C" (page-filename page-a)) (close-page! page-a) (assert-equal (list page-b) (active-pages)) (close-page! page-b))) (begin-test 'page-append (let ((A (make-page "/test/page/C")) (B (make-page "/test/page/D")) (x (make-line '(0 . 0) '(1 . 2))) (y (make-line '(0 . 1) '(2 . 2)))) (dynamic-wind ; Make sure pages are cleaned up (lambda () #f) (lambda () (assert-equal '() (page-contents A)) (assert-equal A (page-append! A x)) (assert-equal (list x) (page-contents A)) (assert-equal A (page-append! A x y)) (assert-equal (list x y) (page-contents A)) (assert-thrown 'object-state (page-append! B x)) (assert-thrown 'object-state (let* ((C (make-component "test component" '(1 . 2) 0 #t #f)) (z (make-line '(1 . 0) '(2 . 2)))) (component-append! C z) (page-append! A z)))) (lambda () (close-page! A) (close-page! B))))) (begin-test 'page-remove (let ((A (make-page "/test/page/E")) (B (make-page "/test/page/F")) (C (make-component "test component" '(1 . 2) 0 #t #f)) (x (make-line '(0 . 0) '(2 . 0))) (y (make-line '(0 . 0) '(0 . 2))) (z (make-line '(1 . 0) '(2 . 2)))) (dynamic-wind ; Make sure pages are cleaned up (lambda () #f) (lambda () (page-append! A x) (assert-equal A (page-remove! A x)) (assert-equal '() (page-contents A)) (assert-equal A (page-remove! A x)) (assert-equal B (page-remove! B x)) (page-append! A x y) (assert-equal A (page-remove! A x)) (assert-equal (list y) (page-contents A)) (assert-thrown 'object-state (page-remove! B y)) (component-append! C z) (assert-thrown 'object-state (page-remove! A z))) (lambda () (close-page! A) (close-page! B))))) geda-gaf-1.8.2/libgeda/scheme/unit-tests/t0401-os-expand-env-variables.scm0000664000175000017500000000423212207374140022757 00000000000000; -*-Scheme-*- ; This program is free software: you can redistribute it and/or modify ; it under the terms of the GNU General Public License as published by ; the Free Software Foundation, either version 2 of the License, or ; (at your option) any later version. ; ; This program is distributed in the hope that it will be useful, ; but WITHOUT ANY WARRANTY; without even the implied warranty of ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ; GNU General Public License for more details. ; ; You should have received a copy of the GNU General Public License ; along with this program. If not, see . ; ; ; Copyright (C) 2011 L.S.P. ; (use-modules (unit-test) (geda os)) (begin-test 'expand-env-variables (and ; Bad expression samples (setenv "USER" "myuser") (setenv "HOME" "myhome") (assert-equal "/a/${USER myhome }/b/c" (expand-env-variables "/a/${USER ${HOME} }/b/c")) (assert-equal "/a/${USER=myhome }/b/c" (expand-env-variables "/a/${USER=${HOME} }/b/c")) (assert-equal "/a/${USER=myhome}/b/c" (expand-env-variables "/a/${USER=${HOME}}/b/c")) (assert-equal "/a/${=USER=}/b/c" (expand-env-variables "/a/${=USER=}/b/c")) (assert-equal "/a//b/c" (expand-env-variables "/a/${}/b/c")) (assert-equal "/a/${-USER-}/b/c" (expand-env-variables "/a/${-USER-}/b/c")) ; Good expression samples (setenv "EXPAND_ENV_VARS_TEST" "abc") (setenv "VARS_TEST" "_VARS_TEST") (assert-equal "/a/abc/b/c" (expand-env-variables "/a/${EXPAND_ENV_VARS_TEST}/b/c")) (assert-equal "/a/abcabc/b/c" (expand-env-variables "/a/${EXPAND_ENV_VARS_TEST}${EXPAND_ENV_VARS_TEST}/b/c")) (assert-equal "/a/abc/abc/b/c" (expand-env-variables "/a/${EXPAND_ENV_VARS_TEST}/${EXPAND_ENV_VARS_TEST}/b/c")) ; Recursed expansion (assert-equal "/a/abc/abc/b/c" (expand-env-variables "/a/${EXPAND_ENV${VARS_TEST}}/${EXPAND_ENV_VARS_TEST}/b/c")) )) geda-gaf-1.8.2/libgeda/scheme/unit-tests/t0108-object-connections.scm0000664000175000017500000000661312207374140022124 00000000000000; Test Scheme procedures for getting connections. (use-modules (unit-test)) (use-modules (geda object)) (use-modules (geda page)) (define P (make-page "/test/page/A")) (begin-test 'object-connections (let ((C (make-component "test component" '(1 . 2) 0 #t #f)) (np (make-net-pin '(100 . 0) '(0 . 0))) (bp (make-bus-pin '(100 . 200) '(0 . 200))) (n1 (make-net '(100 . 0) '(100 . 100))) (n2 (make-net '(100 . 100) '(200 . 100))) (b1 (make-bus '(100 . 200) '(200 . 200))) (b2 (make-bus '(200 . 100) '(200 . 200)))) (assert-thrown 'object-state (object-connections np)) ;; Build component (component-append! C np bp) (assert-thrown 'object-state (object-connections np)) ;; Build page (page-append! P C n1 n2 b1 b2) ;; Test initial connections (assert-equal (list n1 b1) (object-connections C)) (assert-equal (list n1) (object-connections np)) (assert-equal (list np n2) (object-connections n1)) (assert-equal (list n1) (object-connections n2)) (assert-equal (list b1) (object-connections bp)) (assert-equal (list bp b2) (object-connections b1)) (assert-equal (list b1) (object-connections b2)) ;; Break some stuff (page-remove! P n1) (component-remove! C bp) ;; Test modified connections (assert-equal '() (object-connections np)) (assert-thrown 'object-state (object-connections n1)) (assert-equal '() (object-connections n2)) (assert-thrown 'object-state (object-connections bp)) (assert-equal (list b2) (object-connections b1)) (assert-equal (list b1) (object-connections b2)) ;; Change stuff back (page-append! P n1) (component-append! C bp) ;; Test modified connections (assert-equal (list n1 b1) (object-connections C)) (assert-equal (list n1) (object-connections np)) (assert-equal (list np n2) (object-connections n1)) (assert-equal (list n1) (object-connections n2)) (assert-equal (list b1) (object-connections bp)) (assert-equal (list b2 bp) (object-connections b1)) (assert-equal (list b1) (object-connections b2)) )) (close-page! P) (define Q (make-page "/test/page/B")) ;; Test what happens when you connect to a net (incorrectly) placed in ;; a component. ;; ;; The "right thing" is probably to be as permissive as possible. (begin-test 'net-in-component-connections (let ((C1 (make-component "test component" '(0 . 0) 0 #t #f)) (C2 (make-component "test component" '(0 . 0) 0 #t #f)) (p1 (make-net-pin '(100 . 0) '(0 . 0))) (p2 (make-net-pin '(100 . 0) '(200 . 0))) (n1 (make-net '(100 . 100) '(100 . 0))) (n2 (make-net '(100 . 100) '(0 . 100))) (n3 (make-net '(100 . 100) '(200 . 100))) (n4 (make-net '(100 . 100) '(100 . 200)))) (page-append! Q C1 C2) ;; Connections within the same component are fine (component-append! C1 n1 n2 p1) (assert-equal (list n1) (object-connections p1)) ;; Connections between objects in different components are only ;; permitted if both objects are pins. (component-append! C2 n3 p2) (assert-equal (list p1) (object-connections p2)) (assert-equal '() (object-connections n3)) ;; Connections between nets in the page and nets in components are ;; forbidden. (page-append! Q n4) (assert-equal '() (object-connections n4)))) (close-page! Q) geda-gaf-1.8.2/libgeda/scheme/unit-tests/t0102-object-circle.scm0000664000175000017500000000170612207374140021033 00000000000000;; Test Scheme procedures related to circle objects. (use-modules (unit-test)) (use-modules (geda object)) (begin-test 'circles (let* ((a (make-circle '(1 . 2) 3 21)) (b (copy-object a))) (assert-equal 'circle (object-type a)) (assert-true (circle? a)) (assert-true (circle? b)) (assert-equal '(1 . 2) (circle-center a)) (assert-equal 3 (circle-radius a)) (assert-equal (circle-center a) (circle-center b)) (assert-equal (circle-radius a) (circle-radius b)) (assert-equal 21 (object-color a)) (assert-equal (list (circle-center a) (circle-radius a) (object-color a)) (circle-info a)) (set-circle! a '(5 . 6) 7) (assert-equal '(5 . 6) (circle-center a)) (assert-equal 7 (circle-radius a)) (assert-equal 21 (object-color a)) (set-circle! a '(5 . 6) 7 22) (assert-equal 22 (object-color a)) (set-object-color! a 21) (assert-equal 21 (list-ref (circle-info a) 2)))) geda-gaf-1.8.2/libgeda/scheme/unit-tests/t0201-page-dirty.scm0000664000175000017500000001044212207374140020370 00000000000000;; Test Scheme procedures related to pages' changed flags. (use-modules (unit-test)) (use-modules (geda page)) (use-modules (geda object)) (use-modules (geda attrib)) (or (defined? 'define-syntax) (use-modules (ice-9 syncase))) ;; Utility macro to avoid boilerplate (define-syntax assert-dirties (syntax-rules () ((_ P . test-forms) (begin (begin . test-forms) (assert-true (page-dirty? P)) (set-page-dirty! P #f))))) (begin-test 'page-dirty (let ((P (make-page "/test/page/A")) (C (make-component "test component" '(1 . 2) 0 #t #f))) (dynamic-wind ; Make sure pages are cleaned up (lambda () #f) (lambda () (assert-true (not (page-dirty? P))) (set-page-dirty! P) (assert-true (page-dirty? P)) (set-page-dirty! P #f) (assert-true (not (page-dirty? P))) (assert-dirties P (set-page-dirty! P #t)) (assert-dirties P (page-append! P C)) (assert-dirties P (page-remove! P C))) (lambda () (close-page! P))))) (begin-test 'page-dirty-objects (let ((P (make-page "/test/page/A")) (l (make-line '(1 . 2) '(3 . 4))) (b (make-box '(1 . 4) '(3 . 2))) (c (make-circle '(1 . 2) 3)) (a (make-arc '(1 . 2) 3 45 90)) (t (make-text '(1 . 2) 'lower-left 0 "test text" 10 #t 'both)) (C (make-component "test component" '(1 . 2) 0 #t #f))) (dynamic-wind ; Make sure pages are cleaned up (lambda () #f) (lambda () ; Add everything to the page (assert-dirties P (for-each (lambda (x) (page-append! P x)) (list l b c a t C))) (assert-dirties P (apply set-line! l (line-info l))) (assert-dirties P (apply set-box! b (box-info b))) (assert-dirties P (apply set-circle! c (circle-info c))) (assert-dirties P (apply set-arc! a (arc-info a))) (assert-dirties P (apply set-text! t (text-info t))) (assert-dirties P (apply set-component! C (list-tail (component-info C) 1))) (assert-dirties P (apply set-object-stroke! l (object-stroke l))) (assert-dirties P (apply set-object-fill! b (object-fill b))) ; Remove primitives from page (assert-dirties P (for-each (lambda (x) (page-remove! P x)) (list l b c a t))) ; Add primitives to component (for-each (lambda (x) (assert-dirties P (component-append! C x))) (list l b c a t)) ; Modify primitives within component (assert-dirties P (apply set-line! l (line-info l))) (assert-dirties P (apply set-box! b (box-info b))) (assert-dirties P (apply set-circle! c (circle-info c))) (assert-dirties P (apply set-arc! a (arc-info a))) (assert-dirties P (apply set-text! t (text-info t))) (assert-dirties P (apply set-object-stroke! l (object-stroke l))) (assert-dirties P (apply set-object-fill! b (object-fill b))) ; Remove primitives from component (for-each (lambda (x) (assert-dirties P (component-remove! C x))) (list l b c a t))) (lambda () (for-each (lambda (x) (page-remove! P x)) (page-contents P)) (close-page! P))) )) (begin-test 'page-dirty-attribs (let ((P (make-page "/test/page/A")) (p (make-net-pin '(0 . 0) '(100 . 0))) (t (make-text '(1 . 2) 'lower-left 0 "name=value" 10 #t 'both)) (C (make-component "test component" '(1 . 2) 0 #t #f))) (dynamic-wind ; Make sure pages are cleaned up (lambda () #f) (lambda () ; Populate page (page-append! P t C) (component-append! C p) ; Attach attribute to component (assert-dirties P (attach-attribs! C t)) ; Detach attribute from component (assert-dirties P (detach-attribs! C t)) ; Move attribute into component (page-remove! P t) (component-append! C t) ; Attach attribute to pin (assert-dirties P (attach-attribs! p t)) ; Detach attribute from pin (assert-dirties P (detach-attribs! p t)) ) (lambda () (close-page! P))) )) geda-gaf-1.8.2/libgeda/scheme/geda.scm0000664000175000017500000000554312207374140014346 00000000000000; -*-Scheme-*- (use-modules (geda os) (ice-9 optargs) (ice-9 ftw)) (define path-sep separator) (define geda-data-path (car (sys-data-dirs))) (define geda-rc-path (car (sys-config-dirs))) (define (build-path first . rest) (if (null? rest) first (apply build-path (append (list (string-append first path-sep (car rest))) (cdr rest))))) ;; Returns #t if the given path is a regular file, otherwise #f. (define regular-file? (lambda (path) (eqv? (stat:type (stat path)) 'regular ) )) ;; Returns #t if the given path is a directory file, otherwise #f. (define directory? (lambda (path) (eqv? (stat:type (stat path)) 'directory ) )) ;; Returns #t if the given string ends with the given suffix, otherwise or #f. (define has-suffix? (lambda (str suf) (define len-str (string-length str)) (define len-suf (string-length suf)) (if (>= len-str len-suf) (string=? (substring str (- len-str len-suf) len-str) suf) #f ))) ;; Execute any scheme files found in the given directory. (define load-scheme-dir (lambda (scheme-dir) (if (and (file-exists? scheme-dir) (directory? scheme-dir) (access? scheme-dir R_OK)) (let ((dir (opendir scheme-dir))) (do ((entry (readdir dir) (readdir dir))) ((eof-object? entry)) (let ((path (build-path scheme-dir entry))) (if (and (regular-file? path) (has-suffix? path ".scm") (access? path R_OK)) (eval-protected `(load ,path)) #f ))) (closedir dir)) #f ))) ;; Add all symbol libraries found below DIR to be searched for ;; components, naming them with an optional PREFIX. (define* (component-library-search rootdir #:optional prefix) (let ((dht (make-hash-table 31))) ;; Build symbol directory list (ftw rootdir (lambda (filename statinfo flags) (cond ((eq? 'invalid-stat flags) (error "Invalid path ~S." filename)) ((or (eq? 'directory-not-readable flags) (eq? 'symlink flags)) (format #t "Warning: Cannot access ~S.\n" filename)) (else (and (eq? 'regular flags) (string-suffix-ci? ".sym" filename) (hashq-set! dht (string->symbol (dirname filename)) #t)))) #t)) ; Fill component library tree (for-each (lambda (dir) (let ((name (substring dir (string-length rootdir)))) (component-library dir (if prefix (string-append prefix name) name)))) (sort-list! (hash-map->list (lambda (key val) (symbol->string key)) dht) string>?)))) geda-gaf-1.8.2/libgeda/scheme/unit-test.scm0000664000175000017500000000757412207374140015410 00000000000000;; Minimal Scheme unit-test framework ;; Copyright (C) 2010 Peter Brett ;; ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 2 of the License, or ;; (at your option) any later version. ;; ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; ;; You should have received a copy of the GNU General Public License ;; along with this program; if not, write to the Free Software ;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ;; Example of usage ;; ---------------- ;; ;; The following program: ;; ;; (use-modules (unit-test)) ;; (begin-test 'SuccessfulTest ;; (assert-true #t) ;; (assert-equal 1 1)) ;; (assert-thrown 'misc-error (error "Blah ~A" "Blah")) ;; (begin-test 'FailTest ;; (assert-equal #t "string")) ;; (report-tests) ;; ;; Produces the output: ;; ;; PASS: SuccessfulTest ;; FAIL: FailTest ;; assert-equal: expected: #t got: "string" ;; Test summary ;; Passed: 1 ;; Failed: 1 ;; Skipped: 0 ;; (define-module (unit-test) #:use-module (ice-9 pretty-print) #:export (assert-true assert-equal %assert-thrown tests-passed? report-tests %begin-test) #:export-syntax (skip-test begin-test assert-thrown)) (or (defined? 'define-syntax) (use-modules (ice-9 syncase))) (define *failed-tests* '()) (define *passed-tests* '()) (define *skipped-tests* '()) (define (assert-true result) (if result #t (throw 'test-failed-exception (simple-format #f " assert-true: got: ~S" result)))) (define (assert-equal expected result) (if (equal? expected result) #t (throw 'test-failed-exception (simple-format #f " assert-equal: expected: ~S got: ~S" expected result)))) (define (%assert-thrown key thunk) (catch key (lambda () (thunk) (throw 'test-failed-exception (simple-format #f " assert-thrown: expected exception: ~S" key))) (lambda (key . args) #t))) (define (%begin-test name test-thunk) (gc) (let ((test-success #t) (test-fail-msg #f)) (catch #t test-thunk (lambda (key . args) (set! test-success #f) (set! test-fail-msg (if (eqv? key 'test-failed-exception) (car args) (format #f " unexpected exception: ~S" (cons key args)))))) (if test-success (begin (format #t "PASS: ~A\n" name) (set! *passed-tests* (cons name *passed-tests*))) (begin (format #t "FAIL: ~A\n" name) (and test-fail-msg (format #t "~A\n" test-fail-msg)) (set! *failed-tests* (cons name *failed-tests*)))))) (define-syntax begin-test (syntax-rules () ((_ name . test-forms) (%begin-test name (lambda () . test-forms))))) (define-syntax skip-test (syntax-rules () ((_ name . test-forms) (begin (format #t "SKIP: ~A\n" name) (set! *skipped-tests* (cons name *skipped-tests*)))))) (define-syntax assert-thrown (syntax-rules () ((_ key . test-forms) (%assert-thrown key (lambda () . test-forms))))) (define (tests-passed?) (null? *failed-tests*)) (define (report-tests) (display "Test summary")(newline) (display "Passed: ") (display (length *passed-tests*)) (newline) (display "Failed: ") (display (length *failed-tests*)) (newline) (display "Skipped: ") (display (length *skipped-tests*)) (newline)) geda-gaf-1.8.2/libgeda/scheme/color-map.scm0000664000175000017500000000424312207374140015333 00000000000000; -*-Scheme-*- ;; Map between color index numbers and symbolic color names (define %color-name-map '((background . 0) (pin . 1) (net-endpoint . 2) (graphic . 3) (net . 4) (attribute . 5) (logic-bubble . 6) (dots-grid . 7) (detached-attribute . 8) (text . 9) (bus . 10) (select . 11) (bounding-box . 12) (zoom-box . 13) (stroke . 14) (lock . 15) (output-background . 16) (freestyle1 . 17) (freestyle2 . 18) (freestyle3 . 19) (freestyle4 . 20) (junction . 21) (mesh-grid-major . 22) (mesh-grid-minor . 23) )) ;; Look up the internal system ID for a symbolic color (define (color-map-name-to-index val) (if (symbol? val) (apply + (map (lambda (x) (if (eqv? (car x) val) (cdr x) 0)) %color-name-map)) val)) ;; Look up the symbolic color for an internal system ID (define (color-map-name-from-index idx) (define (impl lst idx) (if (null? lst) idx ;; Fall back to the index if no symbol found (let ((entry (car lst))) (if (eq? idx (cdr entry)) (car entry) (impl (cdr lst) idx))))) (impl %color-name-map idx)) ;; Convert a color map to use system IDs (define (color-map-to-symbolic colormap) (map (lambda (entry) (list (color-map-name-from-index (car entry)) (cadr entry))) colormap)) ;; Convert a color map to use symbolic color names (define (color-map-from-symbolic colormap) (map (lambda (entry) (list (color-map-name-to-index (car entry)) (cadr entry))) colormap)) ;; Given a color map function (e.g. print-color-map), return an ;; equivalent function that uses symbolic colors. (define (color-map-friendlier-function map-function) (lambda rest (if (null? rest) (color-map-to-symbolic (map-function)) (map-function (apply color-map-from-symbolic rest))))) ;; Converts a standard color map function into one which understands ;; symbolic colors (define-macro (color-map-make-friendly func) `(define ,func (color-map-friendlier-function ,func))) geda-gaf-1.8.2/libgeda/ChangeLog0000664000175000017500000133343112220655747013263 00000000000000commit 1ae405d39a3822875d3dbc5f20f8152bf172bed7 Author: Peter TB Brett Date: Wed Sep 25 22:24:51 2013 +0100 Update translations. commit 9013d967a865f35c0f946e30c0f41073cc606e5f Author: Peter TB Brett Date: Wed Sep 25 22:30:23 2013 +0100 build-sys: Use parallel tests for Scheme API. (This makes the testsuite work again). (imported from commit 0f3c4785ec997b9c04bdfc695192811f6c5eba43) commit 64d99b7efd1494c2a441061cb2bbc4bbc57d6a46 Author: Peter TB Brett Date: Wed Sep 25 22:28:42 2013 +0100 build-sys: Use GUILE_PKG_NAME instead of GUILE_PKG. We previously stored the name of Guile's pkg-config module in a variable called GUILE_PKG. In recent releases of Guile 2.x, a GUILE_PKG autoconf macro has been added which conflicts with this. So we need to use a different variable name instead. (imported from commit 1c2f215ffa639f543a0ca1997c17cfbeffb76793) commit ed432e7e2ff1c38d2b04608b2d0287e137788c1e Author: Peter TB Brett Date: Sat Nov 24 22:06:09 2012 +0000 libgeda: Refuse to connect nets inside symbols with other nets. A libgeda crash bug was caused by the pathological use case of putting nets inside symbols. Since the file format does not specifically forbid this, libgeda must cope with this gracefully. Specifically, o_net_consolidate() was causing a crash when attempting to merge a net inside a symbol and a normal net. The underlying cause was found to be that the connection tracking system did not cope properly with encountering connectable objects other than pins inside symbols. Merely fixing the net consolidation algorithm exposed other bugs (for example, nets inside symbols should NOT rubberband!) This patch adds logic to s_conn_update_line_object() as follows: 1) If two objects are both not inside symbols, they may connect. 2) If two objects are inside the same complex, they may connect. 3) If an object is inside a complex, it must be a pin to connect to objects outside the complex. Closes-bug: lp-994361 (imported from commit c18a0826fcd43dc8471f98e3a092d3144fcb6918) commit 988e63ef358d7d44e447e08f4be58ac15f008d3e Author: Peter TB Brett Date: Fri Nov 23 21:32:49 2012 +0000 Update translations. commit 4e4079ff803cd8e8d3b25934a5308866432c9f68 Author: Eugene Mikhantiev Date: Wed Nov 21 22:06:05 2012 +0000 libgeda: Fix errors in hu.po Closes-bug: lp-1081594 (imported from commit 4cfce9a6cda682f8093a261a6bf65bf35e6799f7) commit 2f5799e3936040e186db0ebc9c5188e62a2706d8 Author: Peter TB Brett Date: Tue Nov 20 00:18:50 2012 +0000 commit bbb663612afa98c274279edbe167f86dd7b3f6d8 Author: Peter TB Brett Date: Sun Nov 18 16:03:31 2012 +0000 Final .po file update before release. commit 7c9f572ccf61966f4e97377f892dbe76df760194 Author: Peter TB Brett Date: Sun Nov 18 07:40:46 2012 +0000 scheme-api: Add unit test for connections to nets in symbols. Affects-bug: lp-994361 commit b05cebd0abac635d91d680e43c6291a4739f5e9f Author: Peter TB Brett Date: Sat Nov 17 21:38:44 2012 +0000 libgeda: Draw arrows on 'connected' dangling net ends. Follow-on patch from commit 1598b5884ba8, to add arrow endings on printed output. Affects-bug: lp-1014160 commit 928786d234aa95d368fe3cc8c62783cc5717dfe2 Author: Bert Timmerman Date: Sat Nov 17 09:17:24 2012 +0000 Fix bad keyword in PostScript headers. Signed-off-by: Bert Timmerman commit 91865f5d9ad9730ca62c75a29349b7ebd296ad74 Author: Peter TB Brett Date: Fri Nov 16 21:28:10 2012 +0000 libgeda: Fix potential NULL dereference in o_read_buffer(). In the case that a schematic file contained an embedded component section start symbol before any object definitions, a segfault would occur due to a NULL deference. Coverity-ID: 201783 Closes-bug: lp-1079586 commit e6cdf09ad9330c2066363809f7839f698ca2476b Author: Peter TB Brett Date: Thu Nov 15 23:22:20 2012 +0000 Hand-merge Dutch translations from master branch. Merge Dutch translation improvements made by Bert Timmerman in from the unstable branch (commits 4b17c888, f9bd70f6, and a164660f). commit f7fab3715f984c374f41d7c2d74fc2802bbb4e7a Author: Gareth Edwards Date: Wed Nov 14 22:58:12 2012 +0000 Replace references to geda.seul.org with up-to-date URLs. Update lots of links to seul.org to www.geda-project.org, wiki.geda-project.org, gedasymbols.org and www.gnu.org as appropriate. commit b53f5f835abcaa8f8ff4b32cb650cfbb2e2da38c Author: Gareth Edwards Date: Mon Mar 19 20:54:37 2012 +0000 libgeda: Remove redundant checks against NULL in s_encoding.c The variable dst can't be NULL (g_new() will terminate on error) so there is no reason to repeatedly check it against NULL. Remove the checks. Coverity-ID: 201596 Closes-bug: lp-959702 commit ce0a9ee83906859b632e19a4c16f9ec0fa1f3958 Author: Gareth Edwards Date: Fri Mar 16 21:18:32 2012 +0000 libgeda: fix dereference after NULL check Retest for NULL before making a member comparison. Coverity-ID: 201599 commit 9f3084edd1a6cf70bb6f4a6458d7caebce93a833 Author: Gareth Edwards Date: Mon Jul 2 22:13:32 2012 +0100 libgeda: only include top level glib header glib 2.0 does not permit the inclusion of glib/gmem.h, glib/gmessages.h etc. but only the top level glib.h file. Remove references in s_path.c to the sub-files and only include the top level file. Closes-bug: lp-934261 commit f0923997c5ea727f6b73afad23ee2f974ac6b6b0 Author: Gareth Edwards Date: Sun Mar 18 11:36:59 2012 +0000 Update FSF mailing address. Change all references to the FSF mailing address to the new Franklin Street location. Closes-bug: lp-934934 commit 92ea83ad1e12f6e5150f956a0c12586b6187c455 Author: Peter TB Brett Date: Wed Nov 14 17:08:57 2012 +0000 libgeda: Import translations from Launchpad N.b. Did not import DE, HU, PL, RU, or ZH_CN translations, as Launchpad translations were less fully-translated than translations already in tree. commit eee335e47010e24b309520c5d740ea542d9d60ce Author: Peter TB Brett Date: Sat Feb 11 23:08:57 2012 +0000 libgeda: Correct 'const const' in header file. Reported-by: Dan McMahill commit f7ee97307f4fbb95f76b57611260f8eb4142a6af Author: Peter TB Brett Date: Thu Feb 9 12:44:43 2012 +0000 libgeda: Remove dead code. Coverity-ID: 201570 commit 4aad1adbe2fe6da7b26013c97dd1359775008447 Author: Peter TB Brett Date: Thu Feb 9 12:19:22 2012 +0000 libgeda: Fix explicit NULL dereference. In s_hierarchy_down_schematic_single(), NULL may be dereferenced if an invalid flag argument is passed to the function. Adding a default branch to the switch statement should resolve this. Coverity-ID: 201600 commit ab3a3cbcbf3000579504ac454698ea34e0eaf9e1 Author: Peter TB Brett Date: Thu Feb 9 11:59:16 2012 +0000 libgeda: Fix explicit NULL dereference. When printing a text OBJECT with an invalid show_name_value field, o_text_print() could dereference NULL. Adding a default case to the switch statement should fix this. Coverity-ID: 201603 commit 02b5c2057d616cce6f70fceed72f7105a1fc2bef Author: Peter TB Brett Date: Thu Feb 9 11:49:05 2012 +0000 libgeda: Fix dereferences after NULL checks. In some cases, it is actually correct to *remove* the NULL checks, since the functions in question are internal libgeda implementations and can assume that the caller has sanity checked arguments. Coverity-ID: 201604 Coverity-ID: 201605 Coverity-ID: 201606 Coverity-ID: 201607 Coverity-ID: 201608 Coverity-ID: 201609 Coverity-ID: 201610 Coverity-ID: 201611 commit 7d75ec2492fba838f10f049966626189a7c1428d Author: Peter TB Brett Date: Thu Feb 9 11:39:42 2012 +0000 libgeda: Fix comparison of array with NULL. Comparing arrays to NULL has no effect. Coverity-ID: 201622 commit d5e24a5b478e74ce2a4d0220c882247f4ae4ad92 Author: Peter TB Brett Date: Thu Feb 9 11:38:11 2012 +0000 libgeda: Fix dereferences before NULL checks. Coverity-ID: 201630 Coverity-ID: 201629 commit 3a79b63d7b99b755ec42c6ec506181415eae321c Author: Peter TB Brett Date: Thu Feb 9 11:27:44 2012 +0000 libgeda: Fix buffer overrun in s_menu_return_entry(). Off-by-one error. Coverity-ID: 201626 commit c17cb9cd38af503e681fc673145e3f10e3cb5249 Author: Peter TB Brett Date: Thu Feb 9 11:27:38 2012 +0000 libgeda: Fix resource leak in f_print_header(). f_print_header() leaked a file pointer to the PostScript prolog file. Coverity-ID: 201627 commit 9dba58e5c846089e955b5fe992250d76e150831c Author: Peter TB Brett Date: Thu Feb 9 11:27:31 2012 +0000 libgeda: Fix uninitialised scalar variables. Coverity-ID: 201659 Coverity-ID: 201660 Coverity-ID: 201661 Coverity-ID: 201662 Coverity-ID: 201663 Coverity-ID: 201664 Coverity-ID: 201665 commit 05dbec381e6bf1cfba9bde7ce7039d5d3d098d13 Author: Vladimir Zhbanov Date: Tue Feb 7 16:33:48 2012 +0400 Fixed wrong behaviour during gschem navigation If you go down the same symbol during navigation from different places you always come back to the schematic where you've done this first. This patch fixes such a wrong behaviour. Closes-bug: lp-698543 commit bc18e318ca1314586fc8626fcb8bd1937c69c10d Author: Vladimir Zhbanov Date: Sun Jan 29 11:41:26 2012 +0400 libgeda: Fix incorrect Postscript output for missing pictures Closes-bug: lp-923257 commit fce53e03ceeb12966ce53ae9116ddd9333791a50 Author: Krzysztof Kościuszkiewicz Date: Thu Jan 19 00:02:21 2012 +0100 libgeda: rewrite s_cue_output_single (cherry picked from commit b3dfc6c7124810598042a78fe2800f36699769c3) commit 61447f19df1a6549dcc68fa66cd8bc1aa1e3ac1d Author: Krzysztof Kościuszkiewicz Date: Wed Jan 18 23:57:19 2012 +0100 libgeda: fix printing of junction cues Closes bug "disappearing dots in gschem" reported by Gabriel Paubert . Issue was introduced in commit 65c68f9. Additionally, now junction cues are also printed when 3 or more pins are connected (same behavior as for net segments). (cherry picked from commit f8a9c86e2e2fa7fa451cd504e62ebee6a3e73d2d) commit 7943b8a2c696265b334dbfa4dce1101e95754024 Author: Vladimir Zhbanov Date: Sun Jan 15 19:24:45 2012 +0400 Updated Russian translation commit 59eafeb48043ec092e7b33017698a4ed10b0f5f6 Author: Vladimir Zhbanov Date: Tue Jan 17 02:53:52 2012 +0400 libgeda,gschem: add three missing files to POTFILES.in Reported by Sergey Alyoshin commit 0b344aaa401513c5e9b075849358805ea8cb301d Author: Gareth Edwards Date: Thu Jan 12 20:28:17 2012 +0000 libgeda: fix potential memory leaks in Scheme API Add dynamic contexts and supporting unwind handlers to g_rc_component_library() and g_rc_component_library_command() functions. commit 230241f2ae70b1a1eb91fa3ce766b4e18e1eec54 Author: Peter TB Brett Date: Thu Jan 12 00:14:20 2012 +0000 libgeda: Fix incorrect variable type in o_net_refresh_conn_cache(). commit 321c005a6170b34fc9f3e9f6ab1e4ab931120f81 Author: Gareth Edwards Date: Wed Jan 11 07:37:47 2012 +0000 gschem: display gschemrc filename properly on version failure Add a new Scheme function "rc-filename" to libgeda to extract the filename of the Scheme file under evaluation, and use this in the "gschem-version" Scheme function in gschem to show which file is wrong. Closes-bug: lp-910663 commit 684211777ffcf0414887f814207da97dc37dd5fa Merge: 72be40e cbdd5af Author: Peter TB Brett Date: Wed Jan 11 20:06:11 2012 +0000 Merge branch 'entropy_reduction' of git://github.com/gareth8118/geda-gaf into for-stable-1.8 commit 933fe9c5c4b90998979cd2fafc12625e89c388d9 Author: Gareth Edwards Date: Thu Sep 1 06:47:22 2011 +0100 libgeda: Add doxygen definition to s_toplevel_new() commit cff8761501a0215ea2f152497d31760e1842f3d0 Author: Gareth Edwards Date: Wed Jan 4 19:11:09 2012 +0000 libgeda: Doxygen for g_rc.c. Add a brief doxygen comment for the g_rc.c file in the header. Also added explanatory not to bug tag for g_rc_parse(). commit 3671d4acdab78025b658cdba81f53c2ecec0208d Author: Peter TB Brett Date: Tue Jan 10 09:20:26 2012 +0000 Update translations. commit 31440e054a54001bf462f7da9d31bfc0f0063d3f Merge: c6db159 0884425 Author: Peter TB Brett Date: Mon Jan 9 20:13:41 2012 +0000 Merge branch 'bug-700448-load-error'. Eivind Kvedalen has provided some changes to libgeda and tools that provide better error detection when loading schematic and symbol files, and I have made a few improvements and bugfixes based on his branch. Closes-bug: lp-700448 Conflicts: libgeda/src/a_basic.c commit c6db15997c306c23c02dec9cc8f1e9a645f03fcb Author: Krzysztof Kościuszkiewicz Date: Mon Jan 9 02:26:35 2012 +0100 libgeda: check NULL pointers in o_net_refresh_conn_cache commit 2f30211e0b0ae7aaac0b57b50a73331e89402b4f Author: Peter TB Brett Date: Fri Jan 6 21:32:43 2012 +0000 libgeda: Fix possible access-after-free in o_picture_read(). commit f23d270aa84b07f2ce4336acc658eb9d070a8fbc Author: Peter TB Brett Date: Fri Jan 6 23:58:20 2012 +0000 libgeda: Messages in GErrors should not be newline-terminated. commit 8104930a0523c175987c35e80e33cd8dd4a4a97f Author: Peter TB Brett Date: Sat Jan 7 00:19:39 2012 +0000 libgeda: More robust line ending detection when parsing. Correctly handle '\r', '\n', and '\r\n' line endings. commit 2c5ec1261714ff0a1157582ef0daead543c1da65 Author: Peter TB Brett Date: Sat Jan 7 00:18:03 2012 +0000 libgeda: Remove s_textbuffer_seek(). It's never been used anyway. commit f0ac4bcbc0fe5ab0c32e45875003f1be35a7bc1c Author: Peter TB Brett Date: Sat Jan 7 00:00:20 2012 +0000 libgeda: Return a const string from s_textbuffer_next etc. Also constify everywhere that string is used. This helped identify several places to avoid unnecessary strdup()/free() pairs. commit 312cd9e728c04bf2e593a81a739a71443b420634 Author: Peter TB Brett Date: Fri Jan 6 23:37:54 2012 +0000 libgeda: Another unit test for load errors. commit 5480167063451e1c6cf5701f1b198d896c6adf65 Author: Peter TB Brett Date: Fri Jan 6 23:35:26 2012 +0000 libgeda: Report error on loading an unterminated attribute list. commit b8c34b0fda239294f449010c07e2077736b76c97 Author: Peter TB Brett Date: Fri Jan 6 23:48:30 2012 +0000 libgeda: Don't repeatedly reverse new attribute list. Add a unit test to make sure this is done correctly. commit 7b64ae90034cf9a1e655259e071cc9e236b00ff2 Author: Peter TB Brett Date: Fri Jan 6 23:48:30 2012 +0000 libgeda: Correct error code numbering for EDA_ERRORs. commit d978cfae017194ffe79a37c69c7fc1befb727199 Author: Peter TB Brett Date: Fri Jan 6 23:48:30 2012 +0000 libgeda: Fix attempt to free uninitialised pointer. commit 531a20a15301167d29012c44bfc2b1b0a837d7bb Author: Krzysztof Kościuszkiewicz Date: Tue May 3 23:18:29 2011 +0200 libgeda: use hooks to refresh conn cache Affects-bug: lp-707064 commit 81d2d6019ecb4ef0b9f109153cd1c9803e39045a Author: Krzysztof Kościuszkiewicz Date: Mon May 2 20:33:21 2011 +0200 libgeda: add hook for TOPLEVEL object creation Affects-bug: lp-707064 commit 0810ec21f6d50823664f872c735244fc29a6ed5b Author: Krzysztof Kościuszkiewicz Date: Sat Apr 30 01:11:18 2011 +0200 libgeda: add hooks for connection change notification Affects-bug: lp-707064 commit dafe58d7440161eadd4f524564fbe9e6e88ee65a Author: Peter Clifton Date: Sat May 1 13:47:23 2010 +0100 Attribute change hooks Affects-bug: lp-707064 commit 65c68f98cc4bf5d26a091abf336b2e00c7bbcabb Author: Krzysztof Kościuszkiewicz Date: Sun Mar 13 01:10:08 2011 +0100 libgeda: skip printing endpoint cues on fully connected nets Affects-bug: lp-707064 commit 042612a5cc35bfafbf0f862a6db78ec66cd022a7 Author: Krzysztof Kościuszkiewicz Date: Tue Mar 15 01:01:10 2011 +0100 libgeda: add functions to track net connectivity o_net_is_fully_connected can be used to check if the net is connected to at least two separate endpoints - endpoint being a pin, bus or a named net (through a netname attribute). o_net_refresh_conn_cache should be used to update cached state after connectivity change. For each net segment the number of connected enpoints is cached in new fields of OBJECT structure: net_num_connected and valid_num_connected. Affects-bug: lp-707064 commit c90c6a2728179785c4da5241e043cdcbcf197915 Author: Krzysztof Kosciuszkiewicz Date: Sun Jan 23 21:19:48 2011 +0100 libgeda: print unconnected pin ends as boxes Closes-bug: lp-706552 commit e09936bfe0b2db080cab5376088f24656b0e2ad7 Author: Eivind Kvedalen Date: Fri Jan 6 22:59:05 2012 +0100 Make sure attributes are stored internally in the same order as before, or else the gsymcheck tests will fail. commit 80845206868cb5d5b70357a5ca23f8da07151fc2 Author: Peter TB Brett Date: Thu Jan 5 17:30:15 2012 +0000 scheme-api: Correct prototype of edascm_init_impl(). Fixes bug introduced in commit 5cdf4de59028. commit c15feccddc359d1ac3e62ed3b2182c7cc3aa938a Author: Peter TB Brett Date: Thu Jan 5 15:39:37 2012 +0000 scheme-api: Improve doxygen docs for C API functions. commit 5cdf4de59028fad80072611a1194a4a8e224c363 Author: Peter TB Brett Date: Thu Jan 5 15:40:12 2012 +0000 scheme-api: Ensure init functions are called in Scheme mode. This patch makes sure that any libguile functions called by edascm_init() are called in Guile mode, even if for some reason edascm_init() is called from a thread that is not yet in Guile mode. commit 501d784118e135be1ead32b1233e64bc62e8d41e Author: Peter TB Brett Date: Tue Jan 3 21:50:55 2012 +0000 scheme-api: Fix path operations involving curves. Curve control points were not being processed correctly, meaning that it was not possible to insert a curve into a path. commit ded664073d4e32b087a55359e15a43c65a26a653 Author: Peter TB Brett Date: Tue Jan 3 20:59:19 2012 +0000 scheme-api: Improve testsuite coverage. commit 206b5f430917287d4d1d46acd5af32ab8ea34877 Author: Eivind Kvedalen Date: Tue Jan 3 00:31:13 2012 +0100 Updated error messages in o_picture_read, o_path_read, and o_text_read to follow style of other similar error messages. commit 46ffae4667dda3520b31b92370dcafe1e24017a0 Author: Eivind Kvedalen Date: Tue Jan 3 00:30:40 2012 +0100 Made edascm_string_format_sym local. commit 3ffd19131319cd74689dcb388e53cf12948c26d5 Author: Eivind Kvedalen Date: Tue Jan 3 00:27:12 2012 +0100 Updated unit tests for scheme api (string->page function). commit 64a7d0283c3c15e1b27077ee5a9c1ec209c0a807 Author: Eivind Kvedalen Date: Mon Jan 2 22:48:56 2012 +0100 Rebase fixes for o_picture.c. commit 2b025def49c1bfeedb0650b4c34d527fa29a5090 Author: Eivind Kvedalen Date: Wed Sep 7 20:49:20 2011 +0200 Changed invalid-string -> string-format commit b0541a1258d82b40b7b604a15d177780fd1b7cf9 Author: Eivind Kvedalen Date: Wed Sep 7 20:34:02 2011 +0200 Changed enum EDA_ERROR_READ -> EDA_ERROR_PARSE, and made replaced G_FILE_ERROR_FAILED by EDA_ERROR_READ in appropriate places. commit d1305adf92982b3a159707c940bafb8c293223fe Author: Eivind Kvedalen Date: Tue Jun 28 21:43:13 2011 +0200 Partial fix for bug #700448. NULL is returned from o_*_read and o_read_buffer functions if parsing of the input buffer fails. An error object is returned in these cases, describing in detail what error occured. gnetlist is updated to exit with status code 2 if the input file can't be read. gschem is updated to report errors when using o_read_buffer. TODO: * Prone to segfaults on bad input files (separate patch) commit 2844f086d7df446674b659451b9f63865f715b6c Author: Peter TB Brett Date: Sun Jan 1 12:16:05 2012 +0000 scheme-api: Correctly export libgeda gettext function. Makes promote-attribs! work again. commit 46bfb5cf26f33947a2efc7522dabd1107ce0afe4 Author: Ales Hvezda Date: Sat Dec 31 15:56:11 2011 -0500 Updated all po files in prep for a new release (1.7.2) commit ccb8478bc60b66797306b63db890348ccd0342fe Author: Bert Timmerman Date: Sat Dec 31 14:43:13 2011 +0100 libgeda: updated the Dutch translation. Signed-off-by: Bert Timmerman commit 0ef5b849452c0d9e93d00c4c5f12c01da1a4a747 Author: Vladimir Zhbanov Date: Sat Dec 31 09:26:06 2011 +0400 libgeda: Update Russian translation. commit f07ea6693e22aa8e8895fe3026eafe424c87a585 Author: Peter TB Brett Date: Wed Dec 28 17:34:30 2011 +0000 scheme-api: Properly clean up extra TOPLEVEL weakref in OBJECT smobs. Corrects mistake made in commit 78c8ee905dad. commit 78c8ee905dad0dbfde548debb2be5790d4b2fb71 Author: Peter TB Brett Date: Wed Dec 28 13:55:18 2011 +0000 scheme-api: Store a TOPLEVEL pointer in OBJECT smobs. When an OBJECT smob is created in Scheme code, and then goes out of scope without being added to a component or to a page, we need to be able to delete the object from the Guile garbage collector. This deletion occurs in a smob free function. To delete an OBJECT, we need to call s_object_delete(), which requires an additional TOPLEVEL argument. Previously, we have obtained a TOPLEVEL by using edascm_c_current_toplevel(). Unfortunately, this (indirectly) calls scm_fluid_ref(), which is not permitted to be called from a smob free function; if called in that context, it may cause a deadlock. This patch alters OBJECT smobs to be double-length smobs, with the current TOPLEVEL at the time the smob was created baked into the second data word. This avoids the need to use edascm_c_current_toplevel() when garbarge-collecting an OBJECT, but it's also somewhat hacky. :-( Closes-bug: lp-909358 commit df9c96cc352c7723e5ba64cad7835c3972433556 Author: Peter TB Brett Date: Sat Dec 24 01:00:56 2011 +0000 Update translation files. commit 07de7591c23c93efdb92012304dc7aaee1c66c04 Author: Peter TB Brett Date: Fri Dec 23 21:57:52 2011 +0000 libgeda: Improvements to 'component-library-search'. Luigi Palese has supplied an improved Scheme version of the 'component-library-search' function for searching a directory tree for symbol libraries. The new version: - Searches for directories recursively, rather than only searching the top level of the provided directory. - Only considers directories that actually contain symbol files as libraries. - Optionally adds a prefix to the library names shown in the gschem library window. (I have made some adjustments to Luigi's original version of the function). Closes-bug: lp-901222 commit 33fee83f110c86bf014bd4fb460bb38bae626a10 Author: Richard Barlow Date: Wed Dec 21 14:33:45 2011 +0000 Add option to allow creation of backups to be disabled When using a version control system the backup (example.sch~) files created by libgeda become annoying. They can be ignored by most VCSs however they still sit there and don't serve any purpose; any mistakes can be recovered from a previous version. This patch adds a configuration option "no-backup-files" which suppresses the creation of backup files. It is disabled by default so there is no change to the previous behaviour unless this option is activated. Closes-bug: lp-762894 commit c63deda32d9480e7b5b5597d3fb1fed8e6591805 Author: Peter TB Brett Date: Thu Dec 15 09:34:24 2011 +0000 libgeda: Fix null dereference when fallback image not loaded. In commit bccf15c104d6, a bug was introduced whereby libgeda dereferenced a NULL pointer. If a picture object's image cannot be loaded, libgeda attempts to load a fallback image, and on failure, accesses a GError to retrieve the error message. Unfortunately, the GError was not being passed to the image loading function, and was therefore uninitialised when it was dereferenced to obtain a message. Closes-bug: lp-904639 commit 4a1b54fdf119538e90f5b0dbc73a5a9d8ddc56da Author: Luigi S. Palese Date: Tue Dec 13 11:20:34 2011 +0100 scheme-api: Added expand-env-variables function to the os module. Reviewed-by: Peter TB Brett commit 4342002fa639bc2f18bc4f776920ea540c6d2de3 Author: Peter TB Brett Date: Mon Dec 12 18:58:03 2011 +0000 build-sys: Only look for Guile using pkg-config. This makes it possible for `pkg-config --libs libgeda' to give the correct output. commit cee0d8874a0a3a3e76e247f1ebd4f999d7a0d1b0 Author: Peter TB Brett Date: Mon Dec 12 18:45:15 2011 +0000 libgeda: List gio-2.0 as one of the pkg-config requirements. The new picture handling code uses GIO with GdkPixbuf to load images from memory buffers. We don't need to update the configure checks because we already require a version of GdkPixbuf that requires GIO. commit 0e506ebd5d5cc87a7f373b83b24f2ad3c90fd18b Author: Peter TB Brett Date: Mon Dec 12 14:13:22 2011 +0000 Remove per-tool INSTALL files. Only one top-level INSTALL file is needed, and that is provided by automake. commit 8d4c574efc3a081324ef92d16e6feb6720c86c33 Author: Peter TB Brett Date: Mon Dec 12 10:31:12 2011 +0000 scheme-api: Translate strings. Makes the messages emitted by Scheme API functions internationalizable. This required an update to the gnetlist testsuite to set the library path for built-but-not-installed Scheme modules. Closes-bug: lp-901013 commit 2f36675adb75051526074f5bed7d18481e8c8159 Author: Peter TB Brett Date: Sun Dec 11 20:04:24 2011 +0000 libgeda: Enable use from C++ programs. Use G_BEGIN_DECLS and G_END_DECLS to make sure function prototypes are declared with C linkage where appropriate. Closes-bug: lp-698708 commit 0b7b7616785d75eeda689ac9a33c9e99b4796d02 Author: Peter TB Brett Date: Sun Dec 11 00:20:06 2011 +0000 libgeda: Correct prototype for s_clib_symbol_invalidate_data(). Hurrah, rookie errors. commit ebfe6ae6a76b6a44a0bbe2d184bf99bfee7d97bf Author: Peter TB Brett Date: Sun Dec 11 00:11:59 2011 +0000 Add s_clib_symbol_invalidate_data(). This allows a symbol's data to be reloaded from disk without invalidating the full symbol data cache. Closes-bug: lp-698504 commit 70536e15af56db31075d72bef6db37b84098d698 Author: Peter TB Brett Date: Sat Dec 10 22:51:40 2011 +0000 scheme-api: Remove redundant checks in edascm_to_object_glist(). These checks are repeated by edascm_to_object(), which edascm_to_object_glist calls. commit 0fc87a9d985e8bd4f98f77d5130e2515c286518c Author: Peter TB Brett Date: Tue Jan 4 17:37:34 2011 +0000 libgeda: Remove some exit() calls and assertions. Try to avoid assertions in libgeda; instead, emit "critical"-level log messages and fail gently. This patch removes a bunch of assertions and calls to exit() from libgeda, in favour of trying to keep going even in the face of programmer errors. Affects-bug: lp-698851 commit cd203133272f0ef39629de5229eb54fdcf3178ae Author: Peter TB Brett Date: Tue Jan 4 17:34:19 2011 +0000 libgeda: Remove error_if_called(). This silly function is no longer used (fortunately). Affects-bug: lp-698851 commit 0f978cc519016ac1cbb56c772107e1f23c98c831 Author: Peter TB Brett Date: Tue Jan 4 17:25:51 2011 +0000 Remove exit_if_null(). Replace with g_return_if_fail(), g_return_val_if_fail(), etc. We shouldn't exit() from a shared library anyway. Also, this patch makes gschem *not* crash in a bunch of places where it doesn't really make sense to just give up. Affects-bug: lp-698851 commit 326a4eca0d36eed80a33b201bcbed4942046f61c Author: Peter TB Brett Date: Fri Dec 9 21:09:45 2011 +0000 scheme-api: Create and manipulate picture objects. Closes-bug: lp-898379 commit bccf15c104d64b33d33bb7167703469d75884a7e Author: Peter TB Brett Date: Fri Dec 9 23:52:19 2011 +0000 General fixes for pictures, picture rendering and picture operations. Streamlined the API for picture objects to make it harder to leave a picture object in an inconsistent state. This is a prerequisite patch to providing a Scheme API for working with picture objects. This patch also makes primitive transformations of pictures actually work, and fixes rendering of pictures in gschem, because the changes weren't really feasible to separate. commit e85e8c5843f23432cb03d4dd8c95fb34753f7801 Author: Peter TB Brett Date: Fri Dec 9 21:07:48 2011 +0000 libgeda: Add missing pre change notify to o_box_modify_all(). commit 648a418f99c337a185462525bbffa66b89786007 Author: Peter TB Brett Date: Thu Dec 8 20:25:42 2011 +0000 libgeda: Clean up unneeded stuff now we have (geda os) module. Also a rather out-of-date comment. commit ae070b080856b6eef1059ee50dede82cc4f0afe8 Author: Peter TB Brett Date: Thu Dec 8 17:23:10 2011 +0000 scheme-api: Add (geda os) module. Add the (geda os) module, which provides operating system information and services, including: - host operating system classification - gEDA standard paths - directory and search path separators commit eb1e773f3f95f99fcd6ac6d0d0ebc947102e60ab Author: Peter TB Brett Date: Thu Dec 8 17:23:10 2011 +0000 libgeda: Make sure paths are set up during initialisation. Until the s_path_*() functions are called, the GEDADATA and GEDADATARC environment variables may not be set. Make sure the environment variables are set up during library startup. commit ec03489e1057f10a35a0877c52034dee99f50bc6 Author: Peter TB Brett Date: Wed Nov 30 21:39:52 2011 +0000 libgeda: Make f_normalize_pathname() behave correctly on Windows. On POSIX systems, f_normalize_pathname() emits a G_FILE_ERROR_NOENT error if the file is missing. This patch makes it behave in the same way on Windows. This fixes some spurious "something went wrong in Scheme" error messages on Windows. Reported-by: DJ Delorie commit e4dcffe27047d7a72698c331cfcc835d564b7ef4 Author: Peter TB Brett Date: Mon Dec 5 12:19:12 2011 +0000 libgeda: Add "deprecated" attribute to deprecated functions. commit bad14b02ef17c9118b17cb3345165e0cbddb9405 Author: Peter TB Brett Date: Mon Dec 5 12:25:29 2011 +0000 scheme-api: Warn if edascm_to_object_glist() result is unused. commit 762a91e24ea91eeba8a67fab75071f9173bfaa6a Author: Peter TB Brett Date: Mon Dec 5 12:12:16 2011 +0000 scheme-api: Clear all new path section fields. Fixes some unitialised variable warnings. commit abc0f07300a726eef628c74e8250f4f115dae987 Author: Peter TB Brett Date: Mon Dec 5 11:47:46 2011 +0000 scheme-api: Add test for feeding back fill/stroke functions. commit 387394696a6d8191edd68f9aa2f208c736900d2f Author: Peter TB Brett Date: Mon Dec 5 11:47:21 2011 +0000 scheme-api: Modifying object fill/stroke should dirty page. commit 76e13d2452d7d45dbc10993fae7e0d5d17929ff1 Author: Peter TB Brett Date: Mon Dec 5 11:00:19 2011 +0000 scheme-api: Update some doxygen comments. commit 5244f978119e23709ea794f69d095dd07d798a56 Author: Peter TB Brett Date: Mon Dec 5 09:32:08 2011 +0000 scheme-api: edascm_c_set_gc() should be part of public API. The documentation for edascm_from_object() recommends using edascm_c_set_gc() -- since its essential for safe garbage collector behaviour -- so put edascm_c_set_gc() in the public Scheme API header file. commit 1ceef2c85bdbc454205d7330c86498381f167cc0 Author: Peter TB Brett Date: Sun Dec 4 22:22:53 2011 +0000 scheme-api: Add path manipulation functions. Closes-bug: lp-898377 commit 057cab0629c92ab9bd207e49e082183ba481dc2d Author: Peter TB Brett Date: Sun Dec 4 23:18:39 2011 +0000 libgeda: Empty paths should not have bounds. Paths containing no control points were returning uninitialised values as their bounds. Instead, they now have no bounds (like invisible text objects). commit dc65cd116b28138f28c7823c908740d8129042d6 Author: Peter TB Brett Date: Sun Dec 4 18:11:30 2011 +0000 libgeda: Fix some "set but not used" warnings. commit 34d46a6158050b232f29e61d0cae8ac1aacca2a6 Author: Peter TB Brett Date: Mon Nov 28 13:28:55 2011 +0000 libgeda: Don't enable debugging when using Guile 2. Guile 2 always has debugging enabled, and emits a warning if you attempt to enable it explicitly. This patch therefore reduces tools' verbosity on start-up. Thanks to Ludovic Courtès for explaining the fix. commit c9d4f6638bbc7ba84534c2460037f19915114a95 Author: Karl Hammar Date: Tue Jul 26 16:08:01 2011 +0200 Correct SCM_ASSERT() usage with incorrect SCM_ARGx. From guile documentation: -- Macro: void SCM_ASSERT (int TEST, SCM OBJ, unsigned int POSITION, const char *SUBR) ... -- Macro: int SCM_ARG1 ... -- Macro: int SCM_ARG7 One of the above values can be used for POSITION to indicate the number of the argument of SUBR which is being checked. ... Some SCM_ASSERT() calls have the wrong SCM_ARGx for its TEST and OBJ. Reviewed-by: Peter TB Brett commit 08f64a801c3af30ef54861f3549f3de6ea02b1b2 Author: Karl Hammar Date: Tue Jul 26 09:40:52 2011 +0100 libgeda: g_access() needs . Commit 22985618d999e1b54009b7a3e4f07b27b449f91d added g_access calls in libgeda/src/f_basic.c, which is implicit unless glib/gstdio.h is included. commit a2cdb3d2e2ed36be092f01a2c1c30de0eb095092 Author: Karl Hammar Date: Tue Jul 26 09:40:52 2011 +0100 libgeda: Call g_dir_close() for pointers created with g_dir_open(). In g_rc.c g_rc_component_library_search() g_rc_source_library_search() calls g_dir_open(), but they never free the result with g_dir_close(), giving us a memory leak. It seems to been this way since the first commit. commit 22985618d999e1b54009b7a3e4f07b27b449f91d Author: Peter TB Brett Date: Mon Jul 4 19:03:24 2011 +0100 libgeda: Make sure File->Save respects file permissions. Added g_access calls to f_save and o_save to abort saving if the destination file is read-only. Closes-bug: lp-698565 Reviewed-by: Peter TB Brett commit 19bf47f7ca84bb4a9a19460fff9bbbf378bc2dab Author: Krzysztof Kościuszkiewicz Date: Sun Jul 3 16:18:41 2011 +0200 scheme-api: use attach-attribs! in promote-attribs! commit d01b5fefe19ac2cd1ce5e84b0a3b866ca42033e3 Author: Krzysztof Kościuszkiewicz Date: Sun Jul 3 14:11:48 2011 +0200 scheme-api: fix promote-attribs! commit d01e46055593990e918d94e4b30609df989561b4 Author: Peter TB Brett Date: Tue Jun 28 06:25:03 2011 +0100 build-sys: guile-snarf should use host CPP. Fix cross-compilation by making sure that guile-snarf uses the same C preprocessor that will be later used for compilation. Reported-by: DJ Delorie commit dad94bf12c2ef120fae7a45a0020107815b84ef0 Author: Peter TB Brett Date: Mon Jun 27 22:34:07 2011 +0100 build-sys: Use `clean-local' target instead of overriding `clean'. commit 31fcff837375b3db8649f1f1854dd0daa98e901a Author: Peter TB Brett Date: Thu Jun 16 21:45:27 2011 +0100 scheme-api: Converting pages to/from strings. commit 71621e0f9d6ed201ac3968823b0b6b852fe3f070 Author: Peter TB Brett Date: Sat Jun 25 11:57:55 2011 +0100 scheme-api: Add mirror-objects! function. commit 01e9ab2b42bff0de6386706ba3eb11e7a7c6f5e9 Author: Peter TB Brett Date: Sat Jun 25 11:19:20 2011 +0100 scheme-api: Add rotate-objects! function. commit 208984c6815066a90c7d1d3583f271524344797e Author: Peter TB Brett Date: Sat Jun 25 10:14:03 2011 +0100 scheme-api: Add translate-objects! function. commit 3a47ea70adf7bae086b7d28455c2cacd707b434c Author: Peter TB Brett Date: Sat Jun 25 10:51:55 2011 +0100 scheme-api: Shuffle some unit tests around. It turns out we need more test numbers for low-level object-related functions, so shift some stuff about. commit 7c88e88e38bcd20f6ad3e46604f2b117b6fef0a6 Author: Peter TB Brett Date: Fri Jun 24 14:00:10 2011 +0100 scheme-api: Core API documentation (attributes). commit dd5b9c7c08307104ce360661f6e696ce87c77389 Author: Peter TB Brett Date: Fri Jun 24 08:08:44 2011 +0100 scheme-api: Core API documentation (component objects). commit 224e3edec54febcf055810e6d4220369e50f1ade Author: Peter TB Brett Date: Thu Jun 23 22:02:55 2011 +0100 scheme-api: Core API documentation (text objects). commit 1e9d73ec74c6abd2ddfcf18cccadc9c0c44ff7ff Author: Peter TB Brett Date: Thu Jun 23 21:07:17 2011 +0100 scheme-api: Core API documentation (picture and path objects). commit be7d5d316bbf944f9e0a618ddff795a073de9183 Author: Peter TB Brett Date: Thu Jun 23 19:47:20 2011 +0100 scheme-api: Core API documentation (circle objects). commit e7ed5291067d56419efe3764190d22fa7714937e Author: Peter TB Brett Date: Thu Jun 23 18:44:07 2011 +0100 scheme-api: Core API documentation (box objects). commit b1ca0b60c9218db51132272ffdf0c1815d29b80f Author: Peter TB Brett Date: Thu Jun 23 18:11:21 2011 +0100 scheme-api: Core API documentation (pin objects). commit 37338045adf382ecef00d5ee5f337c4da250b996 Author: Peter TB Brett Date: Thu Jun 23 13:07:59 2011 +0100 scheme-api: Core API documentation (line objects). commit fd1e63aefad0097b1f99cf6cdb31998efec5c407 Author: Peter TB Brett Date: Thu Jun 23 16:33:15 2011 +0100 scheme-api: Core API documentation (general objects). commit bcd036f9432335473d5ad64e18d83df669947eb3 Author: Peter TB Brett Date: Tue Jun 21 21:19:45 2011 +0100 scheme-api: Core API documentation (pages). commit 008ba78fc1a60641b620cabc9ecc198cd0a2225c Author: Peter TB Brett Date: Fri Jun 24 19:03:54 2011 +0100 scheme-api: Make promote-attribs! return '() for non-components. commit c0125211b863d0d54554c39abda8c76f7ad27fae Author: Peter TB Brett Date: Fri Jun 24 15:09:38 2011 +0100 scheme-api: Make %detach-attrib! succeed when not attached. %detach-attrib! claims to succeed when attempting to detach an attribute that's not attached to anything, but it lies. commit 1d97d6c9cad63a79bceaa9d599a757c01f1a60e7 Author: Peter TB Brett Date: Fri Jun 24 15:03:15 2011 +0100 scheme-api: Make %attach-attrib! succeed when already attached. Instead of raising an object-state exception when trying to create an attribute attachment that already exists, succeed silently. commit dce70c5e826e2958d02a5bf8089b7dd1eb3a519f Author: Peter TB Brett Date: Fri Jun 24 14:36:09 2011 +0100 scheme-api: Replace attach-attrib! and detach-attrib!. For consistency with the functions for adding and removing objects to pages and components, this patch makes the following changes: - Replace attach-attrib! with attach-attribs! which takes multiple attribute arguments. - Replace detach-attrib! with detach-attribs! which takes multiple attribute arguments. - Make attach-attrib! and detach-attrib! return the target object rather than the affected attributes. commit b5046514e8c4561de9a5a249624b23e003a2988a Author: Peter TB Brett Date: Fri Jun 24 14:14:32 2011 +0100 scheme-api: Make parse-attrib stricter about input. parse-attrib now raises an attribute-format exception if input is a text object but not in the correct format (i.e. it only returns on success). commit 8b9f6235d72ad5be0fca53613e7ca77802543d58 Author: Peter TB Brett Date: Fri Jun 24 14:08:12 2011 +0100 scheme-api: Make attribute? only return #t or #f. commit c6b89e3d030a6fa061598dd467f4bee9c147c28e Author: Peter TB Brett Date: Thu Jun 23 09:38:27 2011 +0100 scheme-api: Allow fold-bounds to take any number of arguments. Also add a unit test. commit daaf7d90949a3ac7cfe2914aedd1bb5c170c375b Author: Peter TB Brett Date: Thu Jun 23 09:14:20 2011 +0100 scheme-api: Allow %object-bounds to take no arguments. Allow %object-bounds to take an empty argument list and return #f. Since %object-bounds already returns #f in none of the object arguments has any bounds, it's consistent to return #f in no arguments are supplied. commit 7c759d21f74e89e41d08bbc871891554ec027607 Author: Peter TB Brett Date: Thu Jun 23 09:19:02 2011 +0100 scheme-api: %object-type should raise errors on bad type. If %object-type encounters an object with an invalid type field, %object-type should raise an error rather than logging a message and returning #f. Since we can't actually create an object with an invalid type field from the Scheme API, there's sadly no way of unit-testing this change. commit 9c540461df266e548684ab2f0bd3294605cf749e Merge: f7cc583 12260ba Author: Peter TB Brett Date: Sun Jun 19 18:16:48 2011 +0100 Merge changes from main unstable branch commit f7cc58369760991eda968571d5677e97ca2092cd Author: Peter TB Brett Date: Sun Jun 19 17:32:01 2011 +0100 scheme-api: Add the set-attrib-value! function. commit e6870ce5a1aac5f2da8d6bb53495d6a52967a538 Author: Peter TB Brett Date: Sun Jun 19 17:31:32 2011 +0100 scheme-api: Add the set-text-string! function. commit 7eb55e097bf26bef7a4c57753837ee69c5c3471e Author: Ales Hvezda Date: Sun Jun 19 10:33:58 2011 -0400 Updated all po files in prep for a release commit 22a146a4a8a221908ab531aafc1d901a3358c133 Author: Peter TB Brett Date: Sat Jun 18 11:35:16 2011 +0100 scheme-api: Document object-bounds and add fold-bounds. Fold-bounds is a function for combining two bounds as returned by the object-bounds function. commit 0a5ccba701c23e0dadee78e908e9f8f09c590340 Author: Peter TB Brett Date: Thu Jun 16 20:05:27 2011 +0100 scheme-api: Add some more tests for copy-object. Add two tests for copy-object: whether copying an object breaks page, component and attribute relationships, and whether copying a component is a deep copy. commit 292c930244a9616642ade8a3afd4cc740c61d368 Author: Peter TB Brett Date: Thu Jun 16 15:20:48 2011 +0100 scheme-api: Add attrib-inherited? function. commit db3b79c7659a7526acf726c457b1c2915254fc4b Author: Peter TB Brett Date: Thu Jun 16 15:09:40 2011 +0100 scheme-api: Add object-component function. Add a Scheme function for obtaining an object's containing component. commit e21e30af19f0c32743dc4663c19d5672ef3e518f Merge: 8c66dc1 a2caee6 Author: Peter TB Brett Date: Thu Jun 16 15:39:47 2011 +0100 Merge changes from main unstable branch commit a2caee658af54b32ac3ad88564d8a04822db2fff Author: Peter TB Brett Date: Thu Jun 16 15:36:29 2011 +0100 libgeda: Add o_get_parent() function. Add a function to retrieve an OBJECT's containing complex OBJECT, if present. commit 5cf897c1c107dc3d0b2e4ef82d1f15cbdeb76041 Author: Peter TB Brett Date: Tue Jun 14 00:10:36 2011 +0100 scheme-api: Use missing.h to pull in SCM<->C string funcs. commit c603a85e1cdd63f770a19fb23d2fab49c14b3d0b Author: Peter TB Brett Date: Sat Jun 11 13:41:53 2011 +0100 scheme-api: Add promote-attribs! function. Add a function to promote any promotable attributes from a component. commit cc1a3d0209a83aaa82404f41e42bb8a2c0c098b9 Author: Peter TB Brett Date: Sat Jun 11 14:02:57 2011 +0100 scheme-api: Add set-text-visibility! function. Helper function for toggling visibility of a text object. commit f5040254fe52ef181ff8bd205c33315b00e76c2c Author: Peter TB Brett Date: Sat Jun 11 18:15:02 2011 +0100 scheme-api: Correct error messages from %set-text! commit 623341482a94b2f92e662dd8e9ff8f6a218f42cc Author: Peter TB Brett Date: Sat Jun 11 21:43:57 2011 +0100 Use UTF-8 instead of locale Scheme string functions. See commit 09c6613f93b6. commit 91865253d6e4422b06648fe5b0334a5013a7d08a Merge: 4bccef2 09c6613 Author: Peter TB Brett Date: Sat Jun 11 21:42:48 2011 +0100 Merge changes from main unstable branch Conflicts: libgeda/src/g_register.c libgeda/src/g_smob.c commit 09c6613f93b65d3f9193e7dbc65bd696cf8a6b06 Author: Peter TB Brett Date: Sat Jun 11 20:35:37 2011 +0100 libgeda: Use UTF-8 instead of locale Scheme string functions. Note that there are several places where locale string functions are still used, because the input depends on the current locale (e.g. strings obtained from command-line options or from the filesystem). There are still a lot of places where we're still treating locale-dependent strings as UTF-8 strings (and probably vice-versa). Enough bugs for everybody to share! commit 259dc82a4115df0595b65542f8ab69add1946881 Author: Peter TB Brett Date: Fri Jun 10 17:28:20 2011 +0100 libgeda: Guess system paths from libgeda location on Win32. Improve guessing the location to look for the gEDA shared data directory on Windows by guessing based on the location of the libgeda DLL. Closes-bug: lp-795545 commit 4b8c6745629f7c316c7ff9f09e4a6301a8d20a74 Author: Peter TB Brett Date: Fri Jun 10 15:57:13 2011 +0100 libgeda: Fix crash on startup on Windows. If the GEDADATA environment variable was not set on Windows, libgeda was unable to determine the gEDA system data directory. It would then attempt to make a Scheme string from the resulting NULL pointer, causing a crash. This patch alters the behaviour on Windows. If GEDADATA is not set, libgeda now guesses that the system data directory is the current working directory. Unfortunately, this will still prevent most gEDA programs from working due to not being able to locate data files, but it will prevent an uninformative segfault on startup. Affects-bug: lp-795545 commit 1121d83a5450ad9040cabb7ef9a8cfb6c2a395f3 Author: Peter TB Brett Date: Fri Jun 10 13:46:15 2011 +0100 scheme-api: Only use (ice-9 syncase) if define-syntax missing. In Guile 2.0, syntax-case is built in by default and importing the (ice-9 syncase) module isn't required. commit cbdeedd05e825c0d11080392c16cd86a1968ba73 Author: Peter TB Brett Date: Fri Jun 10 13:30:05 2011 +0100 scheme-api: Change format of unit test output. If running a test caused output to stdout or stderr, it was interposed between the name of the test and the result. This patch makes the name and result of the test be printed together after the result has been determined, resulting in tidier output. commit 14eab2daf97f03ef7cdb26c2c3e8969f99b22a70 Author: Peter TB Brett Date: Thu Nov 11 19:33:28 2010 +0000 scheme-api: Add skip-test macro to unit-test.scm commit 2d1944bb44a2a6785f942e1d24999e64e7052f71 Author: Peter TB Brett Date: Fri Jun 10 10:46:11 2011 +0100 libgeda: Remove some unused variables. commit 0344623ea013e54a15735988b75508c07469d4d8 Author: Peter TB Brett Date: Thu Jun 9 17:19:59 2011 +0100 scheme-api: Make tests work with Guile 2.0. #:use-syntax doesn't work with Guile 2.0, apparently. commit e67d080a7c48dd1300c90c93d8b1723958244a2d Author: Peter TB Brett Date: Thu Jun 9 15:19:24 2011 +0100 libgeda: cleanfiles -> CLEANFILES Wrong case in automake input resulted in some generated files not being removed during `make clean'. commit 694ccbdec90765ca4cb9b2dbcb1bbe7cdfba2f0b Author: Peter TB Brett Date: Thu Jun 9 15:11:27 2011 +0100 scheme-api: OBJECT.sel_func doesn't exist any more. commit 1543eda1dbb823fd3052a3b831eae5b8316ed690 Merge: 19963e9 014b30b Author: Peter TB Brett Date: Thu Jun 9 15:06:46 2011 +0100 Merge changes from main unstable branch Conflicts: gschem/scheme/gschem.scm libgeda/include/prototype_priv.h libgeda/src/g_smob.c libgeda/src/o_basic.c commit 014b30b5f2475f89830fadd1eb4d8f9c2056e647 Author: Krzysztof Kościuszkiewicz Date: Sun Jun 5 22:11:35 2011 +0200 libgeda: smob free functions now return 0 In past guile required to return the size of deallocated memory. Since commit 1735a9e0378290382ec9d0db83c76d039b0c5c7c memory for the smobs is allocated from heap and not from guile memory pool. In such case (and to be compliant with recent guile versions) the free functions must return 0. commit d9e7c8f29bdef0913515649356f4b1d43a36fee6 Author: Peter TB Brett Date: Sat Jun 4 12:54:10 2011 +0100 libgeda: Silently skip missing/duplicate rc during schematic load. Affects-bug: lp-710587 commit 84949b85df8e8ac1475ae8555bcffe060624d254 Author: Peter TB Brett Date: Sat Jun 4 12:43:28 2011 +0100 Silently skip duplicate config files. Affects-bug: lp-710587 commit 83777ec203d9dfcf6a257a0c92e2fe2a3deeb552 Author: Peter TB Brett Date: Sat Jun 4 12:30:36 2011 +0100 Silently skip missing config files. Closes-bug: lp-710587 commit a8723507d0f62c784289cd9785ef12e2c412da8a Author: Peter TB Brett Date: Sat Jun 4 10:51:23 2011 +0100 libgeda: Fix error location information for scm_display_error(). commit f649a5ac09d943889ac49e8a8a68e2b627391c1a Author: Peter TB Brett Date: Fri Jun 3 22:11:44 2011 +0100 libgeda: Fix for running with Guile 2.x. scm_display_error() requires a stack as first argument in Guile 1.8.x, and a frame as first argument in Guile 2.0.x. Luckily, both versions accept #f instead. commit 680dba23bb571f50b4dc9c04eb3e89bf25817478 Author: Peter TB Brett Date: Fri Jun 3 16:33:11 2011 +0100 libgeda: Check argument type for g_attrib_is_inherited(). commit e925ef237bb68b060c761dd2f45bf2370fbfedf8 Author: Peter TB Brett Date: Fri Jun 3 16:28:33 2011 +0100 libgeda: Use SCM_SMOB_PREDICATE to check smob type. Simplify smob type checks by using SCM_SMOB_PREDICATE. This also removes the assumption that smob type tags are located in the car of the smob cell. commit f19235afb1c964570f00ce6b5b80441cc95253b5 Author: Peter TB Brett Date: Fri Jun 3 16:23:22 2011 +0100 libgeda: Use SCM_SMOB_DATA instead of SCM_CDR. SCM_CDR makes assumptions about the Guile SCM smob type's memory layout that aren't necessarily true for all versions of Guile. SCM_SMOB_DATA is the correct method for accessing the first word stored in a smob type. commit 1735a9e0378290382ec9d0db83c76d039b0c5c7c Author: Peter TB Brett Date: Fri Jun 3 16:09:22 2011 +0100 libgeda: Remove uses of deprecated scm_must_malloc. commit fb917f8b61f58b3cde5f1730b94c28c5992edea1 Author: Peter TB Brett Date: Fri Jun 3 15:58:31 2011 +0100 Remove uses of deprecated scm_makfrom0str. commit eb2eeee3626c6f127ba2790f708b03d06bb04122 Author: Peter TB Brett Date: Fri Jun 3 15:29:46 2011 +0100 Remove uses of deprecated scm_num2double. commit 0737c34e057ed008a6c342238d21041a5cb200b5 Author: Krzysztof Kościuszkiewicz Date: Wed May 25 01:52:13 2011 +0200 libgeda: add comparison function for page smob Page smobs are now compared using PAGE pointer equality. This allows to use page smobs as keys in assoc lists in Scheme. Affects-bug: lp-787637 commit 081767282d449c93c11e5f7ed91a88ad4ad4276c Author: Krzysztof Kościuszkiewicz Date: Thu May 26 01:17:55 2011 +0200 libgeda: add attrib-inherited? scheme procedure Affects-bug: lp-787637 commit 962d859870fc45f741df478b000cbb435d422b84 Author: Krzysztof Kościuszkiewicz Date: Sat May 21 01:13:10 2011 +0200 libgeda: update shared MIME info xml file For gschem versions released in 2010 and later, content of schematic and symbol files begins with string "v 201". commit 5fa030a92ea9dfe72b9f3adede046d27183c5e5a Author: Peter Clifton Date: Fri Apr 8 00:37:42 2011 +0100 libgeda: Allow support for not printing the background If the colour map background is set to #f, don't print anything. This is handy if you wish to composite the resulting pdf file with anything else, and don't want the opaque background. commit 980e933a85d180019152424023b879c39d7e4aff Author: Peter Clifton Date: Sat Mar 26 14:04:06 2011 +0000 gattrib: Preserve visibility of embedded component attributes gattrib was overriding the visibility of pin attributes to match the visibility of the pin. This was not noticed for non-embedded complex objects, as the edited pin attributes are not saved. For embedded components, they are. commit 06692019e4c66e948cad3414ef92f188e9a38c98 Author: Peter Clifton Date: Sat Mar 26 14:04:03 2011 +0000 libgeda: Fix primitive object load order of embedded objects We were missing a g_list_reverse() when assigning the loaded prim_objs. This is necessary as for performance, we prepend to the object glist when reading - then reverse the list as a final step. commit 0fffd6b16214cd05cba9de9e4d65d4e1ea2cf16a Author: Peter TB Brett Date: Mon Mar 21 19:53:29 2011 +0000 Remove draw funcs from libgeda. Removes all of the statically-registered draw functions from libgeda, as well as the draw_func field from the OBJECT structure. Makes o_redraw_single() dispatch to type-specific drawing functions directly. Refreshed by Peter Clifton commit 41ae0eaa4d3b23702510d3d51bbfe4821166bc06 Author: Peter Clifton Date: Mon Mar 21 19:52:18 2011 +0000 Remove unused OBJECT->action_func commit 82db4b3a104b722af13a24333f6f3f60c1f5549e Author: Peter Clifton Date: Mon Mar 21 19:49:37 2011 +0000 libgeda: Fix copying selectable flag in o_picture_copy() I dropped this from 7cc025db90267d5cb5b038e2cc39cb15544e0367 by accident. commit 7cc025db90267d5cb5b038e2cc39cb15544e0367 Author: Peter Clifton Date: Mon Mar 21 19:21:49 2011 +0000 Remove OBJECT->sel_func in favour of an OBJECT->selectable flag Only gschem called OBJECT->sel_func anyway, so lets avoid passing vfunc pointers everywhere as a flag. This has the added benefit of removing some dummy functions from gattrib and gschlas which were only present so the status of locked objects could be preserved across load/save. commit 0b49dd7aba9cbef87d765151adb728b781e4cf81 Author: Krzysztof Kościuszkiewicz Date: Sat Mar 12 16:13:21 2011 +0100 libgeda: report errors in f_save Affects-bug: lp-698566 commit d506039d41aea6ecd9e15e62e7b79de8cca284bd Author: Krzysztof Kościuszkiewicz Date: Sat Mar 12 16:07:34 2011 +0100 libgeda: add GError argument to f_save and o_save o_save and f_save now can report errors during file write using GLib GError mechanism, similar to f_open. Affects-bug: lp-698566 commit eee6b8c11a3bb73c5ea3dd21645c236205da0749 Author: Vladimir Zhbanov Date: Tue Feb 15 08:08:30 2011 +0300 libgeda: fix unicode font printing -- step three Step three: eliminate twin glyphs, that is such glyphs whose names specify the same unicode keys. (Leave only those glyph keys which are mapping to present in AGLv1.2 names. If such names are missing for an individual key in AGLv1.2 then leave only one key-name pair for each such the key.) Closes-bug: lp-720218 commit 65c0d6b84bab67df4f5772039b0dd651d4611717 Author: Vladimir Zhbanov Date: Mon Feb 14 14:16:40 2011 +0300 libgeda: fix unicode font printing -- step two Step two: eliminate wrong keys for hebrew and arabic. f_print.c is supposed to support "Adobe Glyph List version 2.0", but it interprets key sequences from that standard wrongly. It does not include "spacehackarabic" glyph name. That is no problem since there is glyph "space" with the same key 0020. It breaks up key sequences of two or more keys for one name for hebrew and arabic into separate pairs key-name and this is wrong. The table below summarizes differences between AGLv2.0 and f_print.c interpretation. | Glyph name | AGLv2.0 key |f_print.c key | ------------------------------------------------------------------- | spacehackarabic | 0020 | | | dalethatafpatah | 05B2 05D3 | 05B2 | | dalethatafpatah | | 05D3 | | dalethatafpatahhebrew | 05B2 05D3 | 05B2 | | dalethatafpatahhebrew | | 05D3 | | dalethatafsegol | 05B1 05D3 | 05B1 | | dalethatafsegol | | 05D3 | | dalethatafsegolhebrew | 05B1 05D3 | 05B1 | | dalethatafsegolhebrew | | 05D3 | | dalethiriq | 05B4 05D3 | 05B4 | | dalethiriq | | 05D3 | | dalethiriqhebrew | 05B4 05D3 | 05B4 | | dalethiriqhebrew | | 05D3 | | daletholam | 05B9 05D3 | 05B9 | | daletholam | | 05D3 | | daletholamhebrew | 05B9 05D3 | 05B9 | | daletholamhebrew | | 05D3 | | daletpatah | 05B7 05D3 | 05B7 | | daletpatah | | 05D3 | | daletpatahhebrew | 05B7 05D3 | 05B7 | | daletpatahhebrew | | 05D3 | | daletqamats | 05B8 05D3 | 05B8 | | daletqamats | | 05D3 | | daletqamatshebrew | 05B8 05D3 | 05B8 | | daletqamatshebrew | | 05D3 | | daletqubuts | 05BB 05D3 | 05BB | | daletqubuts | | 05D3 | | daletqubutshebrew | 05BB 05D3 | 05BB | | daletqubutshebrew | | 05D3 | | daletsegol | 05B6 05D3 | 05B6 | | daletsegol | | 05D3 | | daletsegolhebrew | 05B6 05D3 | 05B6 | | daletsegolhebrew | | 05D3 | | daletsheva | 05B0 05D3 | 05B0 | | daletsheva | | 05D3 | | daletshevahebrew | 05B0 05D3 | 05B0 | | daletshevahebrew | | 05D3 | | dalettsere | 05B5 05D3 | 05B5 | | dalettsere | | 05D3 | | dalettserehebrew | 05B5 05D3 | 05B5 | | dalettserehebrew | | 05D3 | | finalkafqamats | 05B8 05DA | 05B8 | | finalkafqamats | | 05DA | | finalkafqamatshebrew | 05B8 05DA | 05B8 | | finalkafqamatshebrew | | 05DA | | finalkafsheva | 05B0 05DA | 05B0 | | finalkafsheva | | 05DA | | finalkafshevahebrew | 05B0 05DA | 05B0 | | finalkafshevahebrew | | 05DA | | hamzadammaarabic | 064F 0621 | 064F | | hamzadammaarabic | | 0621 | | hamzadammatanarabic | 064C 0621 | 064C | | hamzadammatanarabic | | 0621 | | hamzafathaarabic | 064E 0621 | 064E | | hamzafathaarabic | | 0621 | | hamzafathatanarabic | 064B 0621 | 064B | | hamzafathatanarabic | | 0621 | | hamzalowkasraarabic | 0650 0621 | 0650 | | hamzalowkasraarabic | | 0621 | | hamzalowkasratanarabic | 064D 0621 | 064D | | hamzalowkasratanarabic | | 0621 | | hamzasukunarabic | 0652 0621 | 0652 | | hamzasukunarabic | | 0621 | | lamedholam | 05B9 05DC | 05B9 | | lamedholam | | 05DC | | lamedholamdagesh | 05BC 05DC 05B9 | 05BC | | lamedholamdagesh | | 05B9 | | lamedholamdagesh | | 05DC | | lamedholamdageshhebrew | 05BC 05DC 05B9 | 05BC | | lamedholamdageshhebrew | | 05B9 | | lamedholamdageshhebrew | | 05DC | | lamedholamhebrew | 05B9 05DC | 05B9 | | lamedholamhebrew | | 05DC | | lammeemjeeminitialarabic | FEA0 FEDF FEE4 | FEA0 | | lammeemjeeminitialarabic | | FEDF | | lammeemjeeminitialarabic | | FEE4 | | lammeemkhahinitialarabic | FEA8 FEDF FEE4 | FEA8 | | lammeemkhahinitialarabic | | FEDF | | lammeemkhahinitialarabic | | FEE4 | | noonhehinitialarabic | FEEC FEE7 | FEEC | | noonhehinitialarabic | | FEE7 | | qofhatafpatah | 05B2 05E7 | 05B2 | | qofhatafpatah | | 05E7 | | qofhatafpatahhebrew | 05B2 05E7 | 05B2 | | qofhatafpatahhebrew | | 05E7 | | qofhatafsegol | 05B1 05E7 | 05B1 | | qofhatafsegol | | 05E7 | | qofhatafsegolhebrew | 05B1 05E7 | 05B1 | | qofhatafsegolhebrew | | 05E7 | | qofhiriq | 05B4 05E7 | 05B4 | | qofhiriq | | 05E7 | | qofhiriqhebrew | 05B4 05E7 | 05B4 | | qofhiriqhebrew | | 05E7 | | qofholam | 05B9 05E7 | 05B9 | | qofholam | | 05E7 | | qofholamhebrew | 05B9 05E7 | 05B9 | | qofholamhebrew | | 05E7 | | qofpatah | 05B7 05E7 | 05B7 | | qofpatah | | 05E7 | | qofpatahhebrew | 05B7 05E7 | 05B7 | | qofpatahhebrew | | 05E7 | | qofqamats | 05B8 05E7 | 05B8 | | qofqamats | | 05E7 | | qofqamatshebrew | 05B8 05E7 | 05B8 | | qofqamatshebrew | | 05E7 | | qofqubuts | 05BB 05E7 | 05BB | | qofqubuts | | 05E7 | | qofqubutshebrew | 05BB 05E7 | 05BB | | qofqubutshebrew | | 05E7 | | qofsegol | 05B6 05E7 | 05B6 | | qofsegol | | 05E7 | | qofsegolhebrew | 05B6 05E7 | 05B6 | | qofsegolhebrew | | 05E7 | | qofsheva | 05B0 05E7 | 05B0 | | qofsheva | | 05E7 | | qofshevahebrew | 05B0 05E7 | 05B0 | | qofshevahebrew | | 05E7 | | qoftsere | 05B5 05E7 | 05B5 | | qoftsere | | 05E7 | | qoftserehebrew | 05B5 05E7 | 05B5 | | qoftserehebrew | | 05E7 | | rehyehaleflamarabic | 0644 0631 FEF3 FE8E | 0644 | | rehyehaleflamarabic | | 0631 | | rehyehaleflamarabic | | FE8E | | rehyehaleflamarabic | | FEF3 | | reshhatafpatah | 05B2 05E8 | 05B2 | | reshhatafpatah | | 05E8 | | reshhatafpatahhebrew | 05B2 05E8 | 05B2 | | reshhatafpatahhebrew | | 05E8 | | reshhatafsegol | 05B1 05E8 | 05B1 | | reshhatafsegol | | 05E8 | | reshhatafsegolhebrew | 05B1 05E8 | 05B1 | | reshhatafsegolhebrew | | 05E8 | | reshhiriq | 05B4 05E8 | 05B4 | | reshhiriq | | 05E8 | | reshhiriqhebrew | 05B4 05E8 | 05B4 | | reshhiriqhebrew | | 05E8 | | reshholam | 05B9 05E8 | 05B9 | | reshholam | | 05E8 | | reshholamhebrew | 05B9 05E8 | 05B9 | | reshholamhebrew | | 05E8 | | reshpatah | 05B7 05E8 | 05B7 | | reshpatah | | 05E8 | | reshpatahhebrew | 05B7 05E8 | 05B7 | | reshpatahhebrew | | 05E8 | | reshqamats | 05B8 05E8 | 05B8 | | reshqamats | | 05E8 | | reshqamatshebrew | 05B8 05E8 | 05B8 | | reshqamatshebrew | | 05E8 | | reshqubuts | 05BB 05E8 | 05BB | | reshqubuts | | 05E8 | | reshqubutshebrew | 05BB 05E8 | 05BB | | reshqubutshebrew | | 05E8 | | reshsegol | 05B6 05E8 | 05B6 | | reshsegol | | 05E8 | | reshsegolhebrew | 05B6 05E8 | 05B6 | | reshsegolhebrew | | 05E8 | | reshsheva | 05B0 05E8 | 05B0 | | reshsheva | | 05E8 | | reshshevahebrew | 05B0 05E8 | 05B0 | | reshshevahebrew | | 05E8 | | reshtsere | 05B5 05E8 | 05B5 | | reshtsere | | 05E8 | | reshtserehebrew | 05B5 05E8 | 05B5 | | reshtserehebrew | | 05E8 | | shaddafathatanarabic | 064B 0651 | 064B | | shaddafathatanarabic | | 0651 | | tchehmeeminitialarabic | FEE4 FB7C | FEE4 | | tchehmeeminitialarabic | | FB7C | So you can see that the glyph name "dalethatafpatah" maps to key pair 05B2 05D3, which is representation of two glyphs 05B2 ("hatafpatah") and 05D3 ("dalet"). f_print.c in such a case in addition to "hatafpatah" and "dalet" introduces two new incorrect mappings of "dalethatafpatah" to 05B2 and 05D3 respectively. Real mappings of each key in such key sequences according to AGLv2.0 are summarized in the table below. | key | Glyph name | ------------------------------------------------------------- | 05B0 | afii57799, sheva, sheva115, sheva15, sheva22, sheva2e, shevahebrew, shevanarrowhebrew, shevaquarterhebrew, shevawidehebrew | | 05B1 | afii57801, hatafsegol, hatafsegol17, hatafsegol24, hatafsegol30, hatafsegolhebrew, hatafsegolnarrowhebrew, hatafsegolquarterhebrew, hatafsegolwidehebrew | | 05B2 | afii57800, hatafpatah, hatafpatah16, hatafpatah23, hatafpatah2f, hatafpatahhebrew, hatafpatahnarrowhebrew, hatafpatahquarterhebrew, hatafpatahwidehebrew | | 05B4 | afii57793, hiriq, hiriq14, hiriq21, hiriq2d, hiriqhebrew, hiriqnarrowhebrew, hiriqquarterhebrew, hiriqwidehebrew | | 05B5 | afii57794, tsere, tsere12, tsere1e, tsere2b, tserehebrew, tserenarrowhebrew, tserequarterhebrew, tserewidehebrew | | 05B6 | afii57795, segol, segol13, segol1f, segol2c, segolhebrew, segolnarrowhebrew, segolquarterhebrew, segolwidehebrew | | 05B7 | afii57798, patah, patah11, patah1d, patah2a, patahhebrew, patahnarrowhebrew, patahquarterhebrew, patahwidehebrew | | 05B8 | afii57797, qamats, qamats10, qamats1a, qamats1c, qamats27, qamats29, qamats33, qamatsde, qamatshebrew, qamatsnarrowhebrew, qamatsqatanhebrew, qamatsqatannarrowhebrew, qamatsqatanquarterhebrew, qamatsqatanwidehebrew, qamatsquarterhebrew, qamatswidehebrew | | 05B9 | afii57806, holam, holam19, holam26, holam32, holamhebrew, holamnarrowhebrew, holamquarterhebrew, holamwidehebrew | | 05BB | afii57796, qubuts, qubuts18, qubuts25, qubuts31, qubutshebrew, qubutsnarrowhebrew, qubutsquarterhebrew, qubutswidehebrew | | 05BC | afii57807, dagesh, dageshhebrew | | 05D3 | afii57667, dalet, dalethebrew | | 05DA | afii57674, finalkaf, finalkafhebrew | | 05DC | afii57676, lamed, lamedhebrew | | 05E7 | afii57687, qof, qofhebrew | | 05E8 | afii57688, resh, reshhebrew | | 0621 | afii57409 hamzaarabic hamzalowarabic | | 0631 | afii57425 reharabic | | 0644 | afii57444 lamarabic | | 064B | afii57451 fathatanarabic | | 064C | afii57452 dammatanaltonearabic dammatanarabic | | 064D | afii57453 kasratanarabic | | 064E | afii57454 fathaarabic fathalowarabic | | 064F | afii57455 dammaarabic dammalowarabic | | 0650 | afii57456 kasraarabic | | 0651 | afii57457 shaddaarabic | | 0652 | afii57458 sukunarabic | | FB7C | tchehinitialarabic | | FE8E | aleffinalarabic | | FEA0 | jeemmedialarabic | | FEA8 | khahmedialarabic | | FEDF | laminitialarabic | | FEE4 | meemmedialarabic | | FEE7 | nooninitialarabic | | FEEC | hehmedialarabic | | FEF3 | alefmaksurainitialarabic | | FEF3 | yehinitialarabic | From the tables above you can see that glyphs for hebrew and arabic which are composite should be output exactly as key sequences of ordinary keys. This patch eliminates the wrong key mappings from f_print.c. Affects-bug: lp-720218 commit cf32c599c524b497737ebe1ab846311e32e852df Author: Vladimir Zhbanov Date: Mon Feb 7 12:36:28 2011 +0300 libgeda: fix unicode font printing -- step one Sorting out glyph_list struct according to gpointer keys. Affects-bug: lp-720218 commit a04342c3f3a2c95db6dc43eeff92cc7840c002c5 Author: Peter Clifton Date: Fri Jan 28 01:09:10 2011 +0000 libgeda: Attempt to speed up s_page_objects_in_regions () Move object bounds retrival outside of inner loop, as the bounds will not change whilst we iterate over the regions we are checking. commit c6f468849ffca1b1cc907d43a3ede1efcc82001c Author: Peter Clifton Date: Fri Jan 28 01:12:29 2011 +0000 libgeda: Don't unselect objects which are already unselected This should avoid doing work where it isn't needed. commit 3bc42a053d1a4e3588f6283ef611c5e5a873ea25 Author: Peter Clifton Date: Fri Jan 28 01:12:29 2011 +0000 libgeda: Remove "object already selected == TRUE" printf This was presumably debug code which should not have been commited. commit 9b9080e184607b3cb449a1ccb6082207ed39738f Author: Peter TB Brett Date: Thu Jan 20 16:45:48 2011 +0000 libgeda: Don't warn about finding zero length pins on load. There's no actual reason why zero length pins shouldn't be allowed; they work fine in gnetlist, and they show up okay in gschem. Closes-bug: lp-705397 commit b08d9d08ee4740884de97e87179a9809d6b3dba3 Author: Peter TB Brett Date: Tue Jan 18 21:05:47 2011 +0000 libgeda: Use new config parsing API for geda-shell. commit 9379c19a7563a02c271c8640fdb814ef0add5981 Merge: f9156f1 23383c5 Author: Peter TB Brett Date: Tue Jan 18 22:36:59 2011 +0000 Merge changes from main unstable branch Conflicts: gnetlist/src/gnetlist.c gschem/src/g_hook.c gschem/src/gschem.c libgeda/include/libgeda/prototype.h libgeda/src/g_basic.c libgeda/src/g_smob.c commit 157381108371cc25684293e935c36834bb98e0fd Author: Krzysztof Kosciuszkiewicz Date: Sat Jan 15 11:08:06 2011 +0100 libgeda: avoid double selection of objects In o_selection_add() check if object was already selected before selecting it again. Closes-bug: lp-703204 commit 2e2e2bf53458d6fea7e4c8dd7736818470fde248 Author: Ales Hvezda Date: Sun Jan 16 00:12:48 2011 -0500 Manually ran make update-po in order to prep for the make distcheck commit c5a0980c4cd20ffaa32d24635ff92ae99f17bec9 Author: Krzysztof Kosciuszkiewicz Date: Thu Jan 13 01:50:59 2011 +0100 libgeda: remove LEAVE_VISIBILITY_ALONE Closes-bug: lp-701431 Reviewed-by: Peter Clifton commit 4a9536ce1da2bc715d4d308fdb2ee2037a7efac3 Author: Krzysztof Kosciuszkiewicz Date: Thu Jan 13 01:40:43 2011 +0100 libgeda: use visibility getter in o_text_basic.c Affects-bug: lp-701431 Reviewed-by: Peter Clifton commit 43251b8588235a7594a07ff083fbd18e5501c6d1 Author: Krzysztof Kosciuszkiewicz Date: Thu Jan 13 01:39:57 2011 +0100 libgeda: add TOPLEVEL* argument to o_XXX_save Affects-bug: lp-701431 Reviewed-by: Peter Clifton commit 97c5273a7ec9792a852f5193455a4c19ba6b6035 Author: Krzysztof Kosciuszkiewicz Date: Tue Jan 11 21:46:29 2011 +0100 libgeda: export accessors for object visibility o_is_visible and o_set_visibility are now in exported interface. Affects-bug: lp-701431 Reviewed-by: Peter Clifton commit 0f664b4c54ca3c38f31e169c642268091ae392f7 Author: Peter TB Brett Date: Thu Jan 13 20:56:47 2011 +0000 libgeda: Fix potential buffer overflow. Closes-bug: lp-702209 commit 502ab80495c45e092eca6052edd6cf8e7ff55429 Merge: 27f7a52 e1c3ba4 Author: Peter TB Brett Date: Thu Jan 13 19:59:35 2011 +0000 Merge branch 'stable-1.6' Conflicts: NEWS libgeda/include/prototype_priv.h libgeda/src/gdk-pixbuf-hacks.c libgeda/src/o_basic.c libgeda/src/o_complex_basic.c utils/src/gsch2pcb.c commit 8b4f5fc4444c93e922e38e97b3cc9ddbaf1ec7c6 Author: Peter TB Brett Date: Wed Jan 12 17:03:45 2011 +0000 libgeda: Add g_rc_parse_handler(). Add an alternative to g_rc_parse() which accepts an optional error handler function. commit 7ca2b049dbcfb9f0eb8d3dd3fcf21cbd66c0ec95 Author: Peter TB Brett Date: Wed Jan 12 17:03:44 2011 +0000 Print message and exit if rc file load fails. Modifies g_rc_parse() to print useful messages to standard error and exit with non-zero status if an error other than ENOENT occurs while attempting to parse any configuration file. N.b. only copes with rc files loaded at startup; rc files loaded later (e.g. a gafrc auto-loaded while loading a schematic using gschem "File->Open") can't cause the application to die. Since this means that under some circumstances gschem and gattrib can appear to do nothing silently (e.g. when launched from via a .desktop file) subsequent patches need to make gschem and gattrib generate appropriate warning and/or error message dialogs. Affects-bug: lp-698578 commit f82c6d0e497d7d18905d65b8499f33f3e7e3e073 Author: Peter TB Brett Date: Wed Jan 12 17:03:44 2011 +0000 Upgrade g_read_file() to support GError. Allow g_read_file() to return error information in a GError if an error occurs while loading the requested rc file or Scheme script. commit d50f80399fc8de5bcc24723b87f9132324569fb9 Author: Peter TB Brett Date: Wed Jan 12 17:03:44 2011 +0000 Invert g_read_file() return values. Make g_read_file() return TRUE on success and FALSE on failure. It turns out that not only had the return value on success been incorrect for some time, there was only one use of g_read_file() that cared about the return value anyway. commit 90f0f24ea7cb4c1d3f10f43ea6df813aa71bcde7 Author: Peter TB Brett Date: Wed Jan 12 17:03:44 2011 +0000 libgeda: Whitespace changes to g_read_file(). Redo indentation in g_read_file(). commit 91e8f087d133320cafebd692a2ff0fe7f764fc4b Author: Peter TB Brett Date: Wed Jan 12 17:03:44 2011 +0000 libgeda: Add a function for turning a Guile error into a GError. Splits out the backtrace/error logging in g_basic.c into a static function that can also populate a GError with the error details, simplifying it greatly in the process by reusing libguile functions to do most of the hard work. commit 717b5819e626d0b051ae9ff6bfd657c918b6d338 Author: Peter TB Brett Date: Wed Jan 12 17:03:44 2011 +0000 libgeda: Rework config file parsing API. Implement a new libgeda API for loading config files, which has the following advantages: 1) All error reporting happens via GError, for more informative error messages. The EDA_ERROR_RC_TWICE error code is added to indicate that a config file has been prevented from being loaded twice. 2) It is possible to load local config files without chdir() into their directory, and to specify a target *file* to load corresponding local config for. 3) As many as possible of the bugs & corner cases that still need fixing have been documented. commit 34290684615f5cf562d3be4f15a3ed2280f99bf1 Author: Peter TB Brett Date: Wed Jan 12 17:03:43 2011 +0000 libgeda: Add a GError domain for libgeda errors. This patch defines the EDA_ERROR domain for GErrors, and is required in order to be able to return or handle libgeda-specific GErrors. It does not define any error codes yet. commit da0fbc2cc3317e6f5c995385f3986bb2e6689f1b Author: Peter TB Brett Date: Wed Jan 12 17:03:43 2011 +0000 libgeda: Simplify g_scm_eval_string_protected(). Instead of defining a body function and calling scm_c_catch() ourselves, build a Scheme expression and evaluate it using g_scm_eval_protected(). commit e1c3ba4c453716f3b0cb475a9cc358f34a4683d9 Author: Krzysztof Kosciuszkiewicz Date: Tue Jan 11 01:36:15 2011 +0100 libgeda: invalidate bounds in attribute promotion Call o_bounds_invalidate in o_complex_promote_attribs and in o_complex_remove_promotable_attribs. Reviewed-by: Peter TB Brett Reviewed-by: Peter Clifton Closes-bug: lp-700841 (cherry picked from commit 2d07ac4933633837fc394e5001a452c7db290d13) commit 28ee546a15e360ab1b870205437905abc876e82e Author: Krzysztof Kosciuszkiewicz Date: Tue Jan 11 08:37:07 2011 +0100 libgeda: getter for object visibility field Add method o_is_visible to query value of visibility field. Reviewed-by: Peter TB Brett Reviewed-by: Peter Clifton Affects-bug: lp-700841 Affects-bug: lp-701431 (cherry picked from commit 45cb94eff246e342a0331bf8b0c908fdccda1359) commit c538d2c97885876d695ff45a8457c8d74e872809 Author: Krzysztof Kosciuszkiewicz Date: Tue Jan 11 08:33:43 2011 +0100 libgeda: setter for object visibility field Add method o_set_visibility to change value of visibility field. If object visibility is changed, mark its cached bounds as invalid. Reviewed-by: Peter TB Brett Reviewed-by: Peter Clifton Affects-bug: lp-700841 Affects-bug: lp-701431 (cherry picked from commit 37f3c42bf3d509bde85dec3150bfdca0a3e81551) commit 06f09ecaee96c130825f238689aef530657f892f Author: Krzysztof Kosciuszkiewicz Date: Tue Jan 11 01:26:24 2011 +0100 libgeda: add recursion in o_bounds_invalidate Instead of invalidating cached bounds for single object, follow the hierarchy and invalidate cached bounds of all parents as well. Reviewed-by: Peter TB Brett Reviewed-by: Peter Clifton Affects-bug: lp-700841 (cherry picked from commit bb27719f730b078dc250196af40141ff7cac8636) commit 2d07ac4933633837fc394e5001a452c7db290d13 Author: Krzysztof Kosciuszkiewicz Date: Tue Jan 11 01:36:15 2011 +0100 libgeda: invalidate bounds in attribute promotion Call o_bounds_invalidate in o_complex_promote_attribs and in o_complex_remove_promotable_attribs. Reviewed-by: Peter TB Brett Reviewed-by: Peter Clifton Closes-bug: lp-700841 commit 45cb94eff246e342a0331bf8b0c908fdccda1359 Author: Krzysztof Kosciuszkiewicz Date: Tue Jan 11 08:37:07 2011 +0100 libgeda: getter for object visibility field Add method o_is_visible to query value of visibility field. Reviewed-by: Peter TB Brett Reviewed-by: Peter Clifton Affects-bug: lp-700841 Affects-bug: lp-701431 commit 37f3c42bf3d509bde85dec3150bfdca0a3e81551 Author: Krzysztof Kosciuszkiewicz Date: Tue Jan 11 08:33:43 2011 +0100 libgeda: setter for object visibility field Add method o_set_visibility to change value of visibility field. If object visibility is changed, mark its cached bounds as invalid. Reviewed-by: Peter TB Brett Reviewed-by: Peter Clifton Affects-bug: lp-700841 Affects-bug: lp-701431 commit bb27719f730b078dc250196af40141ff7cac8636 Author: Krzysztof Kosciuszkiewicz Date: Tue Jan 11 01:26:24 2011 +0100 libgeda: add recursion in o_bounds_invalidate Instead of invalidating cached bounds for single object, follow the hierarchy and invalidate cached bounds of all parents as well. Reviewed-by: Peter TB Brett Reviewed-by: Peter Clifton Affects-bug: lp-700841 commit 8a3a0bb070d1b288fceac2fcdd7b317a8f77a464 Author: Peter TB Brett Date: Fri Jan 7 22:00:09 2011 +0000 Update FSF address in copyright headers. The FSF have now moved to 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Our GPL and LPGL copyright headers need to updated to reflect this. Only files remaining with old address are wiki files (although the wiki has now been updated) and PostScript files. commit d8803215ea591b9349999c17c5a85aee7da473af Author: Peter TB Brett Date: Fri Jan 7 09:45:11 2011 +0000 Remove warnings when building with "--disable-nls". Closes-bug: lp-698450 commit 69e7af1d627a4ce4e307b33b509715821d830412 Author: Peter TB Brett Date: Wed Jan 5 23:43:22 2011 +0000 libgeda: Always add gEDA default Scheme directory to search path. Make sure that the default directory for gEDA Scheme files is added to the Guile %load-path during libgeda initialisation. This ensures that even if there is a problem loading system-gafrc (for some reason), gEDA Scheme code can still be found. Remove the current `scheme-directory' directive from system-gafrc, and replace it with a commented-out example of its use. commit 7a3e9f294d12732cd6fb043412c1bf92eaf5b268 Author: Peter TB Brett Date: Wed Jan 5 11:52:35 2011 +0000 Make `scheme-directory' rc function prepend to Guile load path. Guile already provides infrastructure for loading Scheme files from a library, so this patch makes gEDA use it properly. With this (fully backward-compatible) patch it's now possible to load Scheme files, including gnetlist backends, from more than one directory. Note: This commit makes the gnetlist test suite pass again. commit 8d708818425dea37690d739a5e9eaf26eb9cf46c Author: Patrick Bernaud Date: Tue Jan 4 15:37:48 2011 +0000 libgeda: Check attribute string before requesting name/value [3032626] commit 1e93f7bea2cbe0fa8887337c261093b55c31dd6d Author: Peter TB Brett Date: Mon Jan 3 23:07:25 2011 +0000 Revert "Remove some CVS keywords." This reverts commit f5ada1de1372bd3772b4f4bd33afa59803c1dade, which was pushed to the repository in error. commit f5ada1de1372bd3772b4f4bd33afa59803c1dade Author: Peter TB Brett Date: Tue Dec 21 12:37:10 2010 +0000 Remove some CVS keywords. commit f66597934bf8c88519396956637792533ba3a151 Author: Peter TB Brett Date: Sun Dec 12 08:14:06 2010 +0000 Don't use page_current in hierarchy traversal. With this patch, the only remaining functions in libgeda which care about the "current page" are: - o_get_page_compat() [deprecated] - s_page_goto() - s_page_delete() - s_page_delete_list() - s_toplevel_new() commit 4a2272be60b5e728a1e656dae1845f475fb44491 Author: Peter TB Brett Date: Sat Dec 11 21:30:04 2010 +0000 libgeda: Pre-refactor cosmetic changes. This patch cleans up whitespace in s_hierarchy.c, and changes some constructs of the form: for (x; y; z) { if (!foo) { if (!bar) { /* Lots of stuff */ } } } to: for (x; y; z) { if (foo) continue; if (bar) continue; /* Lots of stuff */ } commit 3d7719ca26bd4a77bce4f3ce3100c72d93d5e933 Author: Peter TB Brett Date: Sat Dec 11 11:36:11 2010 +0000 Add PAGE argument to o_net_consolidate(). commit b87d7edc2be45dab1e7cab8ec81cce2631377b4f Author: Peter TB Brett Date: Sat Dec 11 11:29:04 2010 +0000 libgeda: Remove some more uses of page_current. Removes some uses of TOPLEVEL.page_current which were missed in a33839adef1f. commit 0b94d2379a5bd5d14690f941690e0df761df13c9 Merge: 63cd6d7 a33839a Author: Peter TB Brett Date: Sun Dec 12 09:48:07 2010 +0000 Merge some changes from Peter Brett. Merge a series of more generally useful changes from Peter Brett's `guile-scheme-api' branch, most of which remove uses of TOPLEVEL.page_current from libgeda. commit 0db9dce07c52cb5f905c0c68d78b9d7656371c98 Author: Peter TB Brett Date: Wed Nov 17 11:59:02 2010 +0000 Revert po file changes in previous commit. This reverts most of the incorrectly-commited po file updates in commit 5cc5a1743e97. commit cb21936a1e620374a04c4f058458fa72f9933e67 Author: Peter TB Brett Date: Wed Nov 17 11:45:03 2010 +0000 Make 7-byte SHA-1 prefix using %.7s format specifier. commit 5cc5a1743e97218325285975bfb68e090d382143 Author: Peter TB Brett Date: Wed Nov 17 11:33:25 2010 +0000 gschem: Make 7-byte SHA-1 prefix using %.7s format specifier. This is slightly more elegant than using g_strndup(). Suggested-by: Patrick Bernaud commit b70513b5260d14e22dde1bc73c9f6c61dbbeb5ca Author: Peter TB Brett Date: Wed Nov 17 08:52:47 2010 +0000 Give geda-shell program -V argument to match gschem. commit 3940ee1a2704d07f7e6f9f2c71eb65346a709f46 Merge: 8c4d33a ee7e4a8 Author: Peter TB Brett Date: Tue Nov 16 22:23:15 2010 +0000 Merge changes from main unstable branch commit ee7e4a8e823dd362bc0dc998cc584ab6ea84bdcd Author: Peter TB Brett Date: Sat Nov 13 17:42:14 2010 +0000 Remove DONT_REDRAW flag. Because we now use the GTK/Cairo renderer for gschem, we use the GTK model for redrawing. In this model, objects are queued for redrawing by invalidating them, and at some point later all invalidated regions of the viewable area are drawn together. Due to this mechanism, the TOPLEVEL.DONT_REDRAW flag is redundant, as it as always set and then restored without visiting the GTK main loop, and thus no drawing would occur in that context anyway. This patch removes the now-useless TOPLEVEL.DONT_REDRAW flag entirely. commit 700d8c7bb6ed397185f4aee5e857979af07d2d96 Author: Peter TB Brett Date: Sat Nov 13 13:12:03 2010 +0000 libgeda: Allow registration of multiple change notify functions. A mechanism for getting notifications when OBJECTs are changed was added in commit 8b1faf85362b, but this only allowed one set of change handlers to be added to a TOPLEVEL. This patch allows the multiple sets of handlers to be registered, and also fleshes out the API documentation. commit a3433b6a4c088b8926f8768e20eff18d0dafea4b Author: Peter TB Brett Date: Thu Nov 11 19:33:28 2010 +0000 Remove most legacy libgeda Scheme types & functions. Removes most of the legacy Scheme types, functions and definitions from libgeda, replacing them with compatible equivalents based on the new Scheme API. The remaining Scheme functions are those for working with the component and source libraries, the various rc functions, and the eval-* functions, all of which need to be revisited at a later date. Also removes set-attribute-value! from gschem and reimplements in Scheme, since it was sole user of g_set_attrib_value_internal() and it was easier to replace than rewrite. commit a0adbfc6bbc79cb7ac9cc2dd1c894ad0cdc0b872 Author: Peter TB Brett Date: Thu Nov 11 19:33:28 2010 +0000 scheme-api: Add unit tests for legacy Scheme API. These will be used to verify that replacement functions based on new Scheme API are compatible with the originals. commit fc8bcac43b6f3dd611f6030ffe36465d67be379d Author: Peter TB Brett Date: Thu Nov 11 19:33:28 2010 +0000 scheme-api: Port legacy Scheme procedures in C to new smob system. Make all users of legacy Scheme smobs in libgeda use new Scheme smob system. This is a preliminary patch so that unit tests can be written to verify that functions ported to new API work the same way as the originals. commit a21ee2882d662a50418561f8de101d44bba7294c Author: Peter TB Brett Date: Thu Nov 11 19:33:28 2010 +0000 scheme-api: Show "(null)" instead of "0" when printing deleted smobs. commit 7f85f28e67c59dbccb0f2a321794b0ddbb3e578f Author: Peter TB Brett Date: Thu Nov 11 19:33:27 2010 +0000 Add e-mail address to copyright headers. commit 0a5c0a4f0d9e721bdf198c400db3cef607e72c33 Author: Peter TB Brett Date: Thu Nov 11 19:33:27 2010 +0000 scheme-api: Multiple arguments for component & page append/remove. It's a lot more convenient to write: (component-append! component x y z ...) than: (for-each (lambda (x) (component-append! C x)) (list x y z ...)) So this patch makes it possible. commit 6359f03b8615d707b122d84c6e73ae6bf99c097b Author: Peter TB Brett Date: Thu Nov 11 19:33:27 2010 +0000 scheme_api: Give modifying functions _x suffixes in C. When Scheme functions modify their arguments or have side-effects, they use a `!' at the end of the function name. In C, this is commonly represented with a _x suffix. This patch adopts that convention. commit 09ce403fef04ec9a77b611d248da20c375b1e100 Merge: c7d44a2 41ea61b Author: Peter TB Brett Date: Thu Nov 11 10:46:23 2010 +0000 Merge changes from main unstable branch commit 41ea61b2f156ec7b473863935410b5113aab1514 Author: Peter TB Brett Date: Thu Nov 11 10:43:55 2010 +0000 libgeda: Correctly clear weak references. Fix a really really stupid logic bug introduced in commit f8ddb85e74bb. commit c7d44a2507edb830e1592d9390cb32ad5fb658b4 Author: Peter TB Brett Date: Wed Nov 10 00:13:55 2010 +0000 scheme-api: Promote attributes from components. commit f8b371c8732f128c09fda366916f48d4a3ae8873 Author: Peter TB Brett Date: Tue Nov 9 17:09:12 2010 +0000 scheme-api: Get inherited attribs from components. commit c397394b68b27672d1af14d777eea35636b3b365 Author: Peter TB Brett Date: Wed Nov 10 09:30:02 2010 +0000 scheme-api: Make component/library test succeed for out-of-tree builds commit 780a175f4cff04a4f1b79332b6f604b7d95851ab Author: Peter TB Brett Date: Tue Nov 9 16:36:49 2010 +0000 scheme-api: Add missing unit test file. t0018-object-connections.scm was omitted from commit d8110db394f5. commit d8110db394f56139a4fb75c6447024a28fc12913 Author: Peter TB Brett Date: Tue Nov 9 11:57:01 2010 +0000 scheme-api: Find connected objects. Adds a Scheme C procedure for accessing objects that are immediately connected to an object. commit 7aff6e91ae4520072f4b0272a8fed56e27b82c0a Merge: e92b66a 03a529b Author: Peter TB Brett Date: Sun Nov 7 21:02:16 2010 +0000 Merge changes from main unstable branch commit e92b66a8f48a565ae2b8de8d13601b7f54e84bad Author: Peter TB Brett Date: Sun Nov 7 16:33:52 2010 +0000 scheme-api: Get and set object fill parameters. commit 709b2707e3ec79422f0485b6e381b5cbc351905e Author: Peter TB Brett Date: Sun Nov 7 16:32:00 2010 +0000 scheme-api: Simplify generation of unit test failure messages. Use (simple-format #f msg ...) instead of (with-output-to-string thunk) to generate unit test failure messages. commit 64fc02d71b235f5b1b5a5640f15d9cf3270672a6 Author: Peter TB Brett Date: Sun Nov 7 10:40:24 2010 +0000 desktop-i18n: Don't have misleading ".h" suffixes in .po files. commit 803ea8cd6ee3203559d99fbaa178a869c2046d38 Author: Peter TB Brett Date: Sun Nov 7 13:54:15 2010 +0000 Update po files, fixing Language and Language-Team strings. Updates all po files using update-po, making sure all po files have their Language string set, and set all Language-Team strings to geda-dev@seul.org. commit 5ee02960cb8cc90c6c6fd946c53cdf94b0b46b0e Author: Peter TB Brett Date: Sun Nov 7 12:11:03 2010 +0000 Make new C files translatable. Also marks an new error message in gschem as translatable. commit d1794e3a90d0774782d3ae37101db984db1038db Author: Peter TB Brett Date: Sat Nov 6 00:32:35 2010 +0000 scheme-api: Get and set object stroke parameters. commit 68ea0f2273be05499512a1b2a3e557e93c049724 Author: Peter TB Brett Date: Fri Nov 5 17:19:14 2010 +0000 scheme-api: Get object bounds. commit 51afd1e9f5ff6d09e9066e2cc0f7eefab3a79002 Author: Peter TB Brett Date: Fri Nov 5 16:45:15 2010 +0000 scheme-api: Change page filenames. commit bb9e4bcd4d3e5b9b598105f7f6f1aecae880783b Author: Peter TB Brett Date: Sat Nov 6 09:22:02 2010 +0000 Delete guile-snarf output files during distclean. commit 420c5126609f2f2f409cbfad50afd2949836fe6e Author: Peter TB Brett Date: Fri Nov 5 19:05:15 2010 +0000 libgeda: Calculate bounds correctly for empty components. commit 9042448ea44521adc53375fdfc3d50641da0565a Author: Peter TB Brett Date: Fri Nov 5 11:52:15 2010 +0000 scheme-api: Make object & attrib modifications dirty current page. commit b1056b243513171194ad2e68894d2f618eef6d76 Author: Peter TB Brett Date: Fri Nov 5 11:05:05 2010 +0000 scheme-api: Improve unit tests for attribute attachment/detachment. commit d72e2913f90edf2c02df614fa140c7d13c252362 Author: Peter TB Brett Date: Fri Nov 5 10:19:35 2010 +0000 scheme-api: Remove primitives from components that are in pages. The API currently erroneously throws an error when attempting to remove a primitive object from a component that is attached to a page. commit 6eb023e46dc54a0b702cc9d9616325bf4e25ead4 Author: Peter TB Brett Date: Fri Nov 5 09:01:26 2010 +0000 scheme-api: Inspect and modify a page's `CHANGED' flag. commit c759a14672a1ee047c8d27f2d9c39339c88da18e Author: Peter TB Brett Date: Fri Nov 5 08:00:19 2010 +0000 scheme-api: Closing pages. Since it's possible to create new pages from the Scheme API, it's also useful to be able to close them. This patch adds the close-page! function to the (geda page) module. It's necessary for gschem to provide a slightly different implementation of close-page! which allows for the GUI to be updated and for the user to be prompted to save changes. To do this, gschem uses Guile module reflection to change the binding of the close-page! function during startup. commit 5d9ca02072ba4309352e39d209f252142a96e0af Author: Peter TB Brett Date: Fri Nov 5 01:56:30 2010 +0000 scheme-api: Translate primitive objects in %complex-set! %complex-set! needs to translate the primitive objects that make up a complex when its position changes. commit ee046f0a7c277d65ecb9edad6de5aeac0b81ba52 Author: Peter TB Brett Date: Fri Nov 5 01:09:15 2010 +0000 scheme-api: Create components from the component library. commit 662b15fd2dfa47d48410bcd42c75b461ab5f21bd Author: Peter TB Brett Date: Thu Nov 4 12:30:42 2010 +0000 scheme-api: Attributes. Adds support for attributes. In order to make the API safe to use without memory corruption, there are significant restrictions on the context in which attribute attachments can be made. Most importantly, both target and attribute must be part of the same page, or of the same component, and objects which have attribute attachments cannot be removed from a page or component's contents. commit c8140254f0821bd28f84040939329aaf0e744a9a Author: Peter TB Brett Date: Thu Nov 4 20:34:19 2010 +0000 scheme-api: Basic page procedures. This patch implements support for creating and modifying schematic/symbol pages. It does not yet support file loading/saving, printing, or closing pages. commit 83e845d1ec88528eb94e58105bf62cb1f5742218 Author: Peter TB Brett Date: Thu Nov 4 07:31:46 2010 +0000 scheme-api: Complex objects. Support for working with complex objects. Because Guile supports complex numbers natively, using the word "complex" in function names etc. is confusing. In the public Scheme API the word "component" is used instead. This patch implements support for inspecting and modifying components, as well as for creating new, empty embedded components. It does not include support for creating components from files or from the component library. commit e70250b1f7776e40dcada0d2c0bc3d9d8bc9a8df Author: Peter TB Brett Date: Wed Nov 3 17:50:07 2010 +0000 scheme-api: Text objects. Basic support for text objects. commit 810d1982d5b9fcd5d73037292df0be090ce18d84 Author: Peter TB Brett Date: Wed Nov 3 17:19:06 2010 +0000 scheme-api: Path and picture objects. Just add some predicates for now. commit e461ca858a2d127c17bba84e17c31b626937ee00 Author: Peter TB Brett Date: Wed Nov 3 16:33:54 2010 +0000 scheme-api: Arc objects. commit 2d9bb54a420197facfe93712fa0e60c6ef35bdf9 Author: Peter TB Brett Date: Wed Nov 3 12:36:52 2010 +0000 scheme-api: Pin objects. Re-uses the line modification routines for working on pins. Note that the libgeda C API provides a flag for choosing which end of a pin should be connectable, but the Scheme API hides this flag, and from the point of view of Scheme code the connectable end of a pin is always the start. commit a0f0f9c672a5f8955aaf6c37ec509484d9b08714 Author: Peter TB Brett Date: Wed Nov 3 11:07:17 2010 +0000 scheme-api: Circle objects. commit 2010a33b32dacaf660145b44ad7e93c566a0e9df Author: Peter TB Brett Date: Tue Nov 2 10:27:26 2010 +0000 scheme-api: Box objects. commit f0d9875a2eee566cf75b340a98a9471d65fc8ad7 Author: Peter TB Brett Date: Wed Nov 3 12:00:33 2010 +0000 scheme-api: Line, net and bus objects. commit 91d3e917cd11d4c304c84f95431c08210b867a4c Author: Peter TB Brett Date: Tue Nov 2 10:27:26 2010 +0000 scheme-api: Get/set the color of objects, and copy them. commit 1acff2a3f952b291cbae4e293f9cf703b99645de Author: Peter TB Brett Date: Tue Nov 2 10:27:26 2010 +0000 scheme-api: Get the type of an object. Adds a function to the Scheme API for obtaining a symbol indicating the type of schematic object contained in a Scheme value. commit 4b52e3e739dca7b880f6909110b0225b2a7d6ea4 Author: Peter TB Brett Date: Thu Nov 4 11:52:15 2010 +0000 scheme-api: Convert Scheme object lists to GLists and vice versa. The libgeda C API makes extensive use of GLists (doubly-linked lists from GLib). Since the Scheme API will frequently need to convert back and forth between these and native Scheme cons-based singly-linked lists, provide some utility functions for doing this conversion. commit feefbf9f0746f23c3d388d075c7c5d9c38d91afc Author: Peter TB Brett Date: Tue Nov 2 10:27:23 2010 +0000 scheme-api: Test suite based on geda-shell program. Adds a test suite for libgeda's Scheme API. This is run using the geda-shell REPL. commit 4e1f04c285a0a66f56c027a38709d0b3ec205c65 Author: Peter TB Brett Date: Tue Nov 2 10:38:42 2010 +0000 libgeda: Add geda-shell program. Adds a minimal Scheme REPL program to libgeda. This is not installed, but is useful for debugging issues with libgeda's Scheme API. commit 4203e5e08b5341613ad6de08191f4feafb243687 Author: Peter TB Brett Date: Tue Nov 2 10:27:24 2010 +0000 scheme-api: Basic smob predicates. commit b235a037d0ce1c525195141d77fd7b8cae85e8be Author: Peter TB Brett Date: Thu Nov 4 18:26:55 2010 +0000 scheme-api: Basic smob definitions & TOPLEVEL fluid. Adds a new smob type for gEDA objects (TOPLEVEL, PAGE and OBJECT, at least initially), along with C functions for creating smobs. Weak references are used to ensure that smobs pointing to dead objects are invalidated. Additionally, defines a fluid which contains the current TOPLEVEL. This is used by the Scheme API to obtain the TOPLEVEL needed for calling much of the libgeda API. commit 0460b8f476066ee471b4f8a79176e3a1fbbbfc55 Author: Peter TB Brett Date: Thu Nov 4 09:25:57 2010 +0000 libgeda: Define non-NULL default for select_func. The code for loading/saving complex objects uses the nullity of OBJECT.sel_func to determine whether or not a complex object should be flagged as selectable or not. So that libgeda applications that do not define their own select_func can safely load, modify and save schematic files, it's necessary to have a non-NULL default select_func. commit 57f5e1eb96577f439840afb5c008ba739055d249 Author: Peter TB Brett Date: Tue Nov 2 10:27:23 2010 +0000 scheme-api: Build infrastructure in libgeda. commit a33839adef1f8c7239e5b291baef667b9046d91f Author: Peter TB Brett Date: Tue Nov 2 10:27:25 2010 +0000 libgeda: Get rid of some uses of page_current. Remove some uses of page_current from functions used only by libgeda. This will make it more painless to remove page_current completely. commit e883ed4bf0681db9e67da5e176d2caa6d8876f4c Author: Peter TB Brett Date: Tue Nov 2 10:27:24 2010 +0000 libgeda: Remove o_save_curr_page(). commit 3abdca2a4ee088184e976822c444069d67e20a20 Author: Peter TB Brett Date: Tue Nov 2 10:27:25 2010 +0000 libgeda: Add PAGE argument to file load/save functions. commit 4a3a3d9e4cc72fa94165306c5b8d411d47812d45 Author: Peter TB Brett Date: Tue Nov 2 10:27:24 2010 +0000 libgeda: Add PAGE argument to print functions. commit c26ed9d5b126f7e2b67285e465438aa9b5ee4ffd Author: Peter TB Brett Date: Tue Nov 2 10:27:23 2010 +0000 libgeda: Make g_read_file() take a TOPLEVEL argument. commit 019990c574e3806c566d18ad1548c76d979eb37f Author: Patrick Bernaud Date: Sun Oct 31 19:50:59 2010 +0000 libgeda: Check attribute string before requesting name/value [3032626] commit 9d129b1ed3f923f6357c4afd410e576782dc00e3 Author: Edward Hennessy Date: Sun Oct 10 18:24:56 2010 -0700 Added build directory variables to libgeda.pc.in. commit cfa5600cd838b791aecc6a1e86cb4f4bfd113195 Author: Peter TB Brett Date: Fri Mar 12 02:08:35 2010 +0000 libgeda: Remove f_save_close(). This function is not currently used, and relies on TOPLEVEL.page_current. commit 82edfe8fd716cbaeba6e979c6233f73801117b1c Author: Peter TB Brett Date: Fri Mar 12 02:08:34 2010 +0000 libgeda: Misc. doxygen fixes. commit 923116bc968ff32ed2c997afa596af59ce9752ce Author: Peter TB Brett Date: Sun Mar 7 23:16:03 2010 +0000 libgeda: Add PAGE argument to tile functions. With this patch, the tile system no longer uses TOPLEVEL.page_current anywhere. commit 2c445565d558f079e54f2508b35f734c58abab32 Author: Peter TB Brett Date: Sun Mar 7 23:16:03 2010 +0000 libgeda: Add o_box_modify_all(). o_box_modify() allows one corner of a box to be moved. Unfortunately, it swaps the internal coordinates of the BOX structure around in a way that could potentially cause unexpected behaviour. For instance, suppose you wish to modify a box as shown below: ^ ^ | | 4| 4| +-----+ | | | | 3| 3| | | | | | | 2| +--+ 2| +-----+ | | | | 1| | | 1| | | | | 0| +--+ 0| | | +---------------> +---------------> 0 1 2 3 4 0 1 2 3 4 (A) Original box (B) Desired box Calling o_box_modify() as follows will not work as expected: o_box_modify (toplevel, box, 2, 4, BOX_UPPER_LEFT); o_box_modify (toplevel, box, 4, 2, BOX_LOWER_RIGHT); It will instead result in the transformations below: ^ ^ | | 4| +--+ 4| +--------+ | | | | | | 3| | | 3| | | | | | | | | 2| | | 2| +--------+ | | | | 1| | | 1| | | | | 0| +--+ 0| | | +---------------> +---------------> 0 1 2 3 4 0 1 2 3 4 (C) After first call (D) After second call This is due to the fact o_box_modify() behaves as though the corner specified by the whichone argument had been dragged. This patch adds the o_box_modify_all() function, which allows all four corners of the box to be modified at once, avoiding the problems inherent in repeated o_box_modify() calls. commit 83530e16e28ebba72d7dc1f509d0005ea30c26f2 Author: Peter TB Brett Date: Sun Mar 7 23:16:03 2010 +0000 libgeda: Remove uses of deprecated SCM_STRING_CHARS. commit 9c42a66c0a985ef424f35ac93a289e82ef88b32b Author: Peter Clifton Date: Sun Mar 7 19:00:01 2010 +0000 Move STRETCH structure and s_stretch.c from libgeda to gschem This structure and related functions deal with rubberbanding nets during move operations. They are only used from within gschem, although there is of course setup and tear-down in libgeda. Move this all to gschem. This isn't a 1-1 move, since various headers and structures needed to be fixed up in the process. The stretch_list now lives in the GSCHEM_TOPLEVEL, not the PAGE, matching the fact that we don't allow action state to persist when a GSCHEM_TOPLEVEL changes active PAGE. A free of the stretch list is removed from s_page_delete(), but no equivalent is re-added in gschem. Action state is torn down when an action is cancelled, which is done before deleting any GSCHEM_TOPLEVEL. commit f8ddb85e74bbf05a6901365527d27d3e2914ccec Author: Peter TB Brett Date: Sun Mar 7 13:03:15 2010 +0000 libgeda: Add weak refs to OBJECT/PAGE/TOPLEVEL. Weak references are useful when you want to keep an eye on an object but not necessarily hang on to it when it comes to its useful life. This patch adds an internal libgeda API for using weak references. There are two types of weak references implemented by this patch: * full-powered weak references, where an arbitrary callback function can be registered on an object to be notified when an object is destroyed * weak pointers, which are set to NULL when the object is destroyed. This functionality will hopefully allow several pieces of housekeeping code in libgeda to be simplified. The API is designed to be as close as possible to the GObject weak ref API. See e.g. g_object_weak_ref(). commit 1126d3899e03492d5f2f41b244cd685e257792f6 Author: Peter TB Brett Date: Wed Mar 3 09:02:47 2010 +0000 libgeda: Add s_page_replace(). Add a function to replace one object in the PAGE object list with another while preserving its position in the list. commit b59058138ce5057b3520f70754a610a99fb440a7 Author: Peter Clifton Date: Wed Feb 24 16:33:08 2010 +0000 Use change notification to redraw objects when connectivity changes Emit change notifications in the connectivity tracking functions s_conn_remove_other() and s_conn_update_line_object(). This frees gschem from the somewhat complex task of tracking which objects were connected to a given object before and after a particular set of operations. This change leads to a significant simplification of many operations, and removes quantities of code from: o_pin_end() o_net_end() o_move_end() o_move_end_rubberband() o_move_end_lowlevel() o_mirror_world_update() o_rotate_world_update() o_grips_end_bus() o_grips_end_pin() o_grips_end_net() o_delete() commit cf6ea830c56a04ebb47e958dc1f8895dcc8f60e7 Author: Peter Clifton Date: Sun Feb 28 18:37:23 2010 +0000 Use change notification to redraw when a pin's type is modified Emit change notifications in o_pin_set_type(), and remove o_invalidate() calls where this function is used in gschem. commit 5e43eb790eee741c861862d27435fac0cca55df2 Author: Peter Clifton Date: Wed Mar 3 00:34:35 2010 +0000 Add change notification when objects are modified via o_*_modify() Emit change notification in the o_*_modify() functions, and remove some o_invalidate() calls where o_arc_modify() is also used in gschem's arc editing dialog. The o_*_modify() routines are also used in o_grips.c, where there is no explicit o_invalidate() call after them. o_grips_end() calls o_invalidate(), which is strictly un-necessary, but I've left it for clarity, as it comes after resetting the OBJECT's dont_redraw flag. commit 51461b59d30487e9c1c2dbf3beb6883bd66314e1 Author: Peter Clifton Date: Sun Feb 28 18:37:23 2010 +0000 Use change notification to redraw when an object's fill properties change Emit change notifications in o_set_fill_options(), and remove o_invalidate() calls where this function is used in gschem. commit ca60bcbdab636a6ee28a004d5ce802a57933e6bb Author: Peter Clifton Date: Sun Feb 28 18:37:22 2010 +0000 Use change notification to redraw when an object's line properties change Emit change notification in o_set_line_options(), and remove o_invalidate() calls where this function is used in gschem. commit 51c180d137513668925fe2f5834f8ec5cb1d4563 Author: Peter Clifton Date: Sun Feb 28 18:37:22 2010 +0000 Use change notifications to redraw objects with selection changes Emit change notifications when an OBJECT's selected flag is changed, and removes o_invalidate() calls where the selection is manipulated in gschem. commit 47ebe0bb0145d95946d05fa1fd8d9bab7bd08175 Author: Peter Clifton Date: Sun Feb 28 18:37:22 2010 +0000 Use change notifications for redraw when text is recreated Emit change notifications in the o_text_recreate() function, and remove o_invalidate() calls from gschem where o_text_recreate(), or other functions calling it are made. commit 5c14a649bd633950624dfda4128bd83ed77ef4bc Author: Peter Clifton Date: Sun Feb 28 18:37:21 2010 +0000 Use change notifications for objects added / removed from the page Adds emission of the change and pre-change notify events for adding and removing objects from the page respectively. Remove explicit invalidation calls after performing these actions in gschem. commit 0a93ef44cea25ec2bed559d8a05488fd3badd63c Author: Peter Clifton Date: Sun Feb 28 18:37:21 2010 +0000 libgeda: Process updates prior to removing an object from the page. Renames the private function object_removed to pre_object_removed, and moves its calls prior to removing the object from the page. For the existing updates, the order doesn't matter, however other things we might like to do per-object when removing them from the page, such as emitting notifications of what we're about to do, must be done before the object is actually removed. commit 8b1faf85362bb30c392e2b9ebc5d8ccb800b85f2 Author: Peter Clifton Date: Sun Feb 28 18:37:20 2010 +0000 libgeda: Add mechanism to call hook function when an object changes. Introduces two new functions wihin libgeda, o_emit_pre_change_notify() and o_emit_change_notify(), intended to be called prior to and after an object being modified, respectively. This mechanism is primarily intended as a means for libgeda to trigger on-screen updates when objects are changed, and as such - at present, only a single pair of call-backs can be registered (per TOPLEVEL). These call-backs are registered via the new public function o_set_change_notify_funcs(). The o_emit_pre_change_notify() function gives the GUI an opportunity to queue a redraw for the screen region where an object used to reside, prior to operations which change its bounding box, and similarly, the o_emit_change_notify() allows the GUI to trigger a redraw of the modified object. commit 9aa23d8ec9319639b505b30d8a7754af9311beca Author: Peter Clifton Date: Wed Feb 24 16:30:49 2010 +0000 libgeda: Better match on-screen text height when printing commit f1a4a40d964c7ea32404cd2ac888609ef89935a7 Author: Peter Clifton Date: Sun Feb 28 18:33:06 2010 +0000 libgeda: Remove unused gdk-pixbuf-hacks.c and prototypes These were unused since switching to cairo rendering of pictures. gdk_pixbuf_rotate(), gdk_pixbuf_add() and gdk_pixbuf_mirror_flip}() all bite the dust. commit 331b9111417cf6297fa8f188b81a67d2caf2b963 Author: Peter Clifton Date: Sat Feb 20 14:36:57 2010 +0000 libgeda: Re-indent o_line_modify() Keeps this NOP change separate from a more functional change one of my branches. commit fc0d1ec31bc40dce2a511efae25530c32533fb2e Author: Peter Clifton Date: Sat Feb 20 00:05:28 2010 +0000 libgeda: Remove unused variables from o_text_{new,recreate}() These were left-over from factoring out update_disp_string(). commit 351bdfd3b45c8283c5dd9b9e903edf648fa5df00 Author: Peter Clifton Date: Fri Feb 19 23:08:43 2010 +0000 Move o_text_recreate() call inside o_text_set_string() All callers of o_text_set_string() call o_text_recreate() to update the text object. o_text_set_string() should call it directly. Despite being a hold over from the old "prim_objs" based text rendering system, this function still does useful work preparing the string to be displayed on screen. commit e5aecb64ebaa24e9511a7f814aeffc2a334d563f Author: Peter TB Brett Date: Wed Feb 17 18:24:13 2010 +0000 Kill ADDING_SEL flag with FIRE! The TOPLEVEL.ADDING_SEL flag has long preyed upon intrepid programmers venturing into the labyrinthine and treacherous depths of the gEDA source code, introducing strange and hard-to-trace logic errors and segmentation faults to hinder them on their various quests to fix bugs and add features. But no more! The beast lies slain! No more will developers need to perform the dance of "flag save and restore" to placate the ravening beast! No more will they mutter strange incantations for hours as they seek to determine whether the flag should be set or unset! In serious terms: the flag was only used for controlling whether or not objects should be added to the tile system. By ensuring that objects are only added to or removed from the tile system when added to or removed from the tile's corresponding page, it's then possible to replace the flag check by checking whether the OBJECT is currently part of a PAGE. commit 76010e59b8a1495eaaaa12688b8e70c30827503f Author: Peter TB Brett Date: Wed Feb 17 17:41:48 2010 +0000 libgeda: Remove some uses of page_current. Change some places that use page_current to use o_get_page() or o_get_page_compat() instead. commit f8f053afef5a3e6302e9ec4ed9efcd8f1bf07886 Author: Peter TB Brett Date: Wed Feb 17 16:33:02 2010 +0000 libgeda: Link tile system contents to page contents. Instead of adding objects to tile system on object creation and removing them on object deletion, add and remove objects from tile system at the same time as they are added to/removed from a page. This makes more sense, since each page has a separate tile structure. And has the added advantage of getting rid of a place where the ADDING_SEL flag is needed! commit a25595e2e628c2dec91cc1b045fc18ec34b16fc2 Author: Peter TB Brett Date: Wed Feb 17 20:48:39 2010 +0000 libgeda: Hide some s_conn_* functions from public API. commit f21bae619b0df02e6024fb9dd23397d5698ed47e Author: Peter TB Brett Date: Wed Feb 17 16:24:02 2010 +0000 libgeda: Hide some s_tile_* functions from public API. commit e19d39a3125cb336da4d8fbbad51a23068e5da4d Author: Peter TB Brett Date: Wed Feb 17 12:18:58 2010 +0000 libgeda: Fix build. Commit 9b24bf40 introduces a stupid error. commit 42c4df51736485b164323304f59bcdb0f18fef61 Author: Peter TB Brett Date: Wed Feb 17 11:45:39 2010 +0000 libgeda: Clear PAGE.object_lastplace on OBJECT removal. Clear the current page's object_lastplace magic pointer (which actually should be in gschem somewhere) when removing an OBJECT from the page, instead of doing it on OBJECT deletion. commit 9b24bf40fd35e0954acaa89a1aa8f73ce4f3233a Author: Peter TB Brett Date: Wed Feb 17 11:45:39 2010 +0000 libgeda: Add parent PAGE pointer to OBJECT structure. There are numerous examples of libgeda & gschem code that assumes, when operating on an OBJECT, that it is part of the "current" PAGE as set in the TOPLEVEL structure. This has a number of disadvantages, including the need for regular frobbing of the ADDING_SEL flag and page_current pointers, but most importantly restricting the ability to work with more than one PAGE at once. Furthermore, it is not convenient or practical to add a PAGE argument to all functions that may eventually need to manipulate or update the current page based on changes to OBJECTs. Instead, this patch adds a parent PAGE pointer that is updated *only* when adding or removing an OBJECT to a PAGE. In order to ensure consistency in the case of compound objects, only the "top-level" compound object has its page pointer set; in general, *either* OBJECT.parent *or* OBJECT.page may be non-NULL. commit e85bf2f103667368768939dfc2c40484be8abf8f Merge: 0e5defe 93b0370 Author: Peter Clifton Date: Mon Feb 15 20:30:22 2010 +0000 Merge translations from the stable-1.6 branch NB: Translations were merged manually commit c31d9a1a90db32dd1e1d41f9d3d5ef5888424ba1 Author: Ales Hvezda Date: Sun Feb 14 17:09:45 2010 -0500 Updated copyright text/header in most source files. Updated all copyright text dates that should be updated for the new year. Fixed a bunch of GNU text typos (these should have been either GPL or gEDA). Removed some $Id$ tags which are no longer used/needed. Fixed a few file header that were just plain incorrect. (cherry picked from commit bd34cfde2450790b357e574281f9562adce64303) (from stable-1.6 branch) commit 5df2c5c6f400facb3f81963d6fb0332832cc9e6b Author: Peter Clifton Date: Mon Feb 15 19:26:10 2010 +0000 Make update-po commit bd34cfde2450790b357e574281f9562adce64303 Author: Ales Hvezda Date: Sun Feb 14 17:09:45 2010 -0500 Updated copyright text/header in most source files. Updated all copyright text dates that should be updated for the new year. Fixed a bunch of GNU text typos (these should have been either GPL or gEDA). Removed some $Id$ tags which are no longer used/needed. Fixed a few file header that were just plain incorrect. commit 93b0370c433f5eb6716ce537288803df4ff99549 Author: Ales Hvezda Date: Sun Feb 14 09:01:16 2010 -0500 First set of changes done by make update-po (ran by prelim make distcheck) commit dcfcb835d5dec2c0ec71526188bbd6c1b76a94ac Author: Peter Clifton Date: Sun Feb 14 13:03:47 2010 +0000 Import translations from Launchpad commit 4e91bc5e52699639cf78a9112b0422d2763a6346 Author: Peter Clifton Date: Fri Feb 12 18:00:44 2010 +0000 Update translations from Launchpad commit 6261b5ea22dfcff6aac6060f98dd7606b7cb4ed2 Author: Peter Clifton Date: Mon Feb 8 16:31:00 2010 +0000 Merge translations with those exported from launchpad commit 99c5e8ce7cb7d2f06d3da3c3b841b0d40c583583 Merge: 89ad783 d3b0112 Author: Peter Clifton Date: Sat Feb 6 21:36:08 2010 +0000 Manually merge translations from the stable-1.6 branch For newly translated languages, this was fairly simple, using msgmerge to update the stable-1.6 "$LANG.po" files with the current git HEAD translation template ".pot" files. For existing languages, I used msgcat to combine the two, allowing it to choose the "newer" translation - ie.. the one on the stable-1.6 branch if there were any conflicts. To assist, I used the following short script: \#!/bin/sh LINGUAS=`cat LINGUAS` TEMPLATE="geda-gschem.pot" NEW_DIR="stable-1.6" OLD_DIR="HEAD" for TR_LANG in $LINGUAS do echo "Attempting to merge for language ${TR_LANG}" if [ -e ${OLD_DIR}/${TR_LANG}.po ]; then echo -n "Old translation exists.. merging" msgcat --use-first ${NEW_DIR}/${TR_LANG}.po ${OLD_DIR}/${TR_LANG}.po -o merge_tmp.po msgmerge merge_tmp.po ${TEMPLATE} -o ${TR_LANG}.po else echo -n "Translation is new, updating" msgmerge ${NEW_DIR}/${TR_LANG}.po ${TEMPLATE} -o ${TR_LANG}.po fi done (Modified appropriately for each */po/ directory.) The current translations were placed in po/HEAD/ and the (newer) stable-1.6 translations were placed in po/stable-1.6/ The script requires the LINGUAS file to be updated to include all new languages before it is run. The resulting changes have been reviewed to ensure nothing massively broken happened during the merge, and committed as a merge to show the origin of the translations. commit 575bca9da7f38599c4c7b06b38d186ea0ad11f00 Author: Peter Clifton Date: Sat Feb 6 20:14:51 2010 +0000 libgeda: Update Arabic translation from latest Launchpad commit 7600ad3e08cc1160e08be7ec3611936a9c9db06a Author: Peter Clifton Date: Sat Feb 6 18:54:33 2010 +0000 libgeda: Import translations from Launchpad commit 7b97171ff386bb96e16dbd879aed45b8da908efe Author: Peter Clifton Date: Sun Jan 31 11:09:45 2010 +0000 Update en_GB translation commit fd66d4de4dd32b4d080a9cbd4f53f2a598269b63 Author: Peter Clifton Date: Sun Jan 31 11:08:04 2010 +0000 Update en_GB translation (actually do it this time!) commit 67f8e23339892fbcb958c2051e8fabe5345350fe Author: Peter Clifton Date: Sun Jan 31 10:27:32 2010 +0000 Run make update-po in all */po/ directories commit bf82ca8680254c7752fed304fb67716fcc0f6023 Author: Peter Clifton Date: Sun Jan 31 10:45:01 2010 +0000 Run make update-po in the */po/ directories commit cce79ff0e9cd2be1bdb9f9883317f5eadfa41c03 Author: Peter Brett Date: Sun Jan 31 10:01:03 2010 +0000 libgeda: Remove unused variable. commit ce53e956128a330f7c13e1953cad937b27027323 Author: Peter Brett Date: Sun Jan 31 10:01:02 2010 +0000 Move snap state tracking out of libgeda. Since snapping is only relevant to gschem, store snap state in the GSCHEM_TOPLEVEL structure. commit b50377f6c0438e49b9dff0a2be8dc01df51dfd55 Author: Peter Brett Date: Sat Jan 30 15:54:34 2010 +0000 Don't use %-style patterns in Makefiles. %-style patterns are a GNU make extension. commit 7cf778da5905cf4189eeb043c1b98cb0efa2b305 Author: Peter Brett Date: Sat Jan 30 15:54:28 2010 +0000 Add --from-code=UTF-8 to XGETTEXT_OPTIONS. Some of the translatable strings in the source code contain UTF-8 encoded characters. Without setting the --from-code argument appropriately, xgettext chokes on these strings, which can result in an infinitely-recursing build. Reported-by: Peter commit 1d3486d420ff603548697f4fcb553776d2cea62f Author: Peter Clifton Date: Sat Jan 30 15:34:47 2010 +0000 libgeda: Fix postscript output issue with unclosed paths Continues the fix from commit 012a3c3ddf55b0260b296476fa7d047af88818f7 Ensure we always have a space before the "fill" command in the output postscript. (cherry picked from commit 39209cd034abc4059e4cda6590be158dc366e787) commit 071e2a23a844003854688e981e43bc07c22bcd6b Author: Peter Clifton Date: Wed Jan 27 18:17:45 2010 +0000 libgeda: Fix postscript output issue with certain paths Ensure we always have a space before the "stroke" command. Reported-by: Donald Tillman (cherry picked from commit 012a3c3ddf55b0260b296476fa7d047af88818f7) commit 39209cd034abc4059e4cda6590be158dc366e787 Author: Peter Clifton Date: Sat Jan 30 15:34:47 2010 +0000 libgeda: Fix postscript output issue with unclosed paths Continues the fix from commit 012a3c3ddf55b0260b296476fa7d047af88818f7 Ensure we always have a space before the "fill" command in the output postscript. commit 03acdbfaadaa35d11cf510ea4651b47584178514 Author: Peter Brett Date: Sat Jan 30 13:37:17 2010 +0000 Clean up some left-over font directory cruft. commit 012a3c3ddf55b0260b296476fa7d047af88818f7 Author: Peter Clifton Date: Wed Jan 27 18:17:45 2010 +0000 libgeda: Fix postscript output issue with certain paths Ensure we always have a space before the "stroke" command. Reported-by: Donald Tillman commit f30b66a2d02592c907b1ac15270f34d8f62f1327 Author: Gareth Edwards Date: Fri Nov 20 22:17:52 2009 +0000 libgeda: clean up doxygen warnings [2899355] Some of the doxygen comments for libgeda have fallen into bitrot, particularly around parameter names and lists. This patch updates doxygen comments to fix almost all warnings generated in the libgeda doxygen run. commit 923a59b1f9c6399f9cb280da57d5eaa6edd26f74 Author: Werner Hoch Date: Fri Nov 20 06:58:54 2009 +0000 updated german translation for libgeda commit da2510c304cc6d62dba465c396a19fc91ed7b506 Author: Bert Timmerman Date: Fri Nov 20 06:58:53 2009 +0000 Updated the Dutch translations for libgeda. commit 858982a2a05ff3e128de3621f1d301ecd989f35c Author: Gareth Edwards Date: Fri Nov 20 06:39:59 2009 +0000 Changed message on failure to generate doxygen docs If --enable-doxygen was not a configure flag, change the error message on an attempt to build doxygen documentation to suggest the configure flag was the cause of the failure rather than the lack of a doxygen install itself. commit ea34de8e761f40b697fc4800375ab8c5ef642c60 Author: Gareth Edwards Date: Fri Nov 20 06:39:59 2009 +0000 Don't drop a file called "doxygen" Remove the file redirection that causes a file called "doxygen" to be created in the */docs/ directories if --enable-doxygen is *not* one of the configure flags. commit e1c4dab66eea9b253b3be4e006e4ab741b62024e Author: Jason Childs Date: Thu Nov 12 18:33:55 2009 +0000 libgeda: Use g_file_set_contents() to write files atomically. (One half of patch #2628677; crediting Jason because this part of the patch was applied unmodified. -- Peter) commit e9355f593ea77d83211f058f6a38b23b3a2a3243 Author: Gareth Edwards Date: Thu Nov 12 14:29:47 2009 +0000 libgeda doxygen: Corrected images make target [#2889717] The doxygen target under libgeda/docs was not calling the correct target in the images/ subdirectory at the start of the documentation build. Changed from 'make' to 'make images'. commit 015c118098009694068c481be704de2078e53e00 Author: Werner Hoch Date: Sat Oct 17 11:29:26 2009 +0200 updated german translation for libgeda commit 1928bfe038ce99bd83a725c439a56f2458f2172c Author: Bert Timmerman Date: Sat Oct 17 10:13:15 2009 +0200 Updated the Dutch translations for libgeda. commit d8740dadf4a78d240a4dc8255f72fd316579146e Author: Ales Hvezda Date: Sun Oct 4 21:58:54 2009 -0400 Commited a few more updates to the libgeda/po files (caused by make distcheck) commit a8d42b7de50639897c888646883ce88d819d2589 Author: Ales Hvezda Date: Sun Oct 4 21:11:20 2009 -0400 Ran make update-po in all po directories in prep for a new release commit 4f40000aff79919a3894de4e2e6e560e224220ce Author: Peter Clifton Date: Tue Sep 29 01:43:05 2009 +0100 libgeda: Move slot handling code to its own file, s_slot.c Separates special-case attribute handling from o_attrib.c Renamed functions: o_attrib_search_slot() -> s_slot_search_slot() o_attrib_slot_update() -> s_slot_update_object() libgeda private API: o_attrib_find_attrib_by_name() is no longer static to o_attrib.c commit 3e6e56f8840a5df6512e9305879d75afd9ece373 Author: Peter Clifton Date: Tue Sep 29 01:43:02 2009 +0100 Use o_text_set_string() to adjust attribute values Avoids re-writing the text->string member directly. commit 5ca5b9768cf70f3d0f905d784d0896c6b442c34f Author: Cesar Strauss Date: Wed Sep 23 19:29:07 2009 -0300 build-sys: Check and set Windows-specific flags. The Windows platform has a native gcc port (MinGW) and a POSIX compliant one (Cygwin). Both need specific flags to build correctly. The rules are: * On all Windows platforms, pass -no-undefined to libtool. This allows shared libraries (DLLs) to be built. * On MinGW, use the -mms-bitfields compiler flag. This increases compatibility with the MSVC compiler. * On MinGW, pass -mwindows when linking GUI-only applications. This avoids opening a text console when running from a shortcut. commit 2197f7740aeef021c75504e82ad3004bb6a8e1b0 Author: Peter Clifton Date: Mon Aug 31 19:38:11 2009 +0100 libgeda: Make some net consolidation routines private Don't export the functions which are only used within libgeda. commit f850ee37983f27d48d0173b003e8377f0bac3f63 Author: Peter Clifton Date: Mon Aug 31 19:38:10 2009 +0100 libgeda: Clarify code to re-select consolidated nets. Minor re-write to make the logic clearer. commit 394425f81b0653fc8efa9f5890217ee4fae631e0 Author: Peter Clifton Date: Mon Aug 31 19:38:10 2009 +0100 Don't consolidate nets when loading files. Nets should be consolidated when placed, not when the file is loaded. commit d388f5370c4b264df90e79a412968589706402c4 Author: Peter Clifton Date: Sun Aug 30 19:32:08 2009 +0100 libgeda: Fix linking against guile With the geda-guile.m4 check, guile's library and linker flags are held in the GUILE_LIBS variable, not GUILE_LDFLAGS. commit 4a4218692e089ef40e17acf045cb94849e8b6b3c Author: Peter Clifton Date: Sun Aug 30 19:30:01 2009 +0100 libgeda: Fix libtool versioning for libgeda.so We need to pass -version-info, not --version-info to libtool commit 52f809520c670690cb73b00b4207feb6860b073d Author: Ales Hvezda Date: Sat Aug 29 21:42:10 2009 -0400 Ran make update-po in all po directories in prep for the next release commit 6ead47c4df3fa6e8227523aa88282c7d4e678f46 Author: Ales Hvezda Date: Sat Aug 29 14:46:07 2009 -0400 More tweaks to the images Makefile to not build by default and do cleanup commit e890e7c806dbd5bcd311ad5cd201a7f5ec31dcec Author: Ales Hvezda Date: Sat Aug 29 12:52:27 2009 -0400 Added libgeda/docs/images to the build system Unfortunately automake complains when creating libgeda/docs/Makefile.in: `%'-style pattern rules are a GNU make extension It will be interesting to see if this causes anybody problems. commit 8db05013c0542a6e2f8931b9c2ba2318fe8b613f Author: Carlos Nieves Onega Date: Wed Aug 26 21:38:44 2009 +0200 Updated spanish translation for libgeda and gschem. commit 1ef5b2a3545e7ebc06025a460b0c9563663e789d Author: Carlos Nieves Onega Date: Sun Feb 1 13:38:36 2009 +0100 Add a new scheme function to set the page filename. Add a new scheme function set-page-filename to set the filename of a given page. commit 1b152740c10b5198d16a43a73f08ccbe90d37ccb Author: Ales Hvezda Date: Tue Aug 18 22:56:56 2009 -0400 Updated all po files by running make update-po in all the */po directories Run make update-po again might be necessary as we get closer to release time. commit e5ae12ec1091bd6e3c4067e395714efd3934b0c2 Author: Peter Clifton Date: Mon Aug 17 13:18:10 2009 +0100 Remove old text mechanism, including TEXT->prim_objs, symbols/font/* Now we have pango rendering, the old text mechanism and its glyph symbols are redundant and can be removed. commit f9e5481638f4ab3b86054d82ce10e10b008d9657 Author: Peter Clifton Date: Mon Aug 17 12:01:57 2009 +0100 Hard-code the gEDA font-size to postscript points scale factor. Replaces the (postscript-font-scale ...) option, and the scale factor hard-coded in gschem's pango text rendering routines. commit c394dc703ac479b4d095b65bdb67526ed6e7c1e0 Author: Peter TB Brett Date: Mon Aug 17 11:19:58 2009 +0100 Always use PostScript fonts in PostScript output. Removes the "output-text", "text-output" and "output-vector-threshold" config functions. commit 3191d47aa5f71847c876a35371a89cb38825e66b Author: Peter Clifton Date: Mon Aug 17 11:19:06 2009 +0100 gschem: Render images using cairo, not GDK commit ff6ea4955d0490d6436bc74d840325e76098304f Author: Peter TB Brett Date: Thu Aug 13 07:56:57 2009 +0100 build-sys: Don't use AC_HEADER_DIRENT. The Autoconf manual says that AC_HEADER_DIRENT is now unnecessary: This macro is obsolescent, as all current systems with directory libraries have `dirent.h'. New programs need not use this macro. This patch removes AC_HEADER_DIRENT and all checks for HAVE_DIRENT_H. It turned out that in most of the places where `dirent.h' was being #include'd it wasn't needed anyway. (Fix for a Cygwin build bug reported by Dan McMahill). commit a419f4f196ef6574940d082d88f46b95bbeb0ea9 Author: Peter TB Brett Date: Wed Aug 12 20:45:03 2009 +0100 libgeda: Make o_complex_promote_attribs() respect keep_invisible. [2460301] Placing components from the component selector should respect TOPLEVEL->keep_invisible when deciding how to deal with promoted attributes. commit ea46d8defce4390b9650e8d2a5035de4794673df Author: Peter TB Brett Date: Wed Aug 12 20:05:01 2009 +0100 libgeda: Make o_complex_copy() actually copy. [2460301] In the past, o_complex_copy() has instantiated a new COMPLEX by calling o_complex_new(), which reads in symbol data from the symbol library. A separate o_complex_copy_embedded() function performed a copy for embedded objects, by actually performing a deep copy of the COMPLEX to be copied. Also note that components being placed from the component selector are copied into place. This lead to a bug reported by Peter Clifton, whereby the contents of an embedded symbol could vary. - If placed normally and then embedded, the attributes promoted out of the COMPLEX prior to preparing to place were "resurrected" by the magical file-reading powers of o_complex_copy(), and these attributes were then kept when the symbol was embedded. - If placed as embedded, the attributes were *not* resurrected, meaning that the promotable attributes were *not* present in the embedded symbol. This patch modifies o_complex_copy() to explicitly carry out a deep copy of the object to be copied, removing the file-reading behaviour (this seems to be the Right Thing in this context). It also removes o_complex_copy_embedded(), since it is then superfluous. commit 358a39882c24bd916b90da7c34af5547c2a31b09 Author: Peter TB Brett Date: Sun Aug 9 15:50:47 2009 +0100 libgeda: Remove unused variable in o_text_load_font(). The prim_objs variable was added in 8af5fba2ec0248331ceb5d2746771e70b2813004, but its use was removed by c8628e4df819998e40d7954c5a5d41a2fbfbbb7d. commit a4a8c19bb3389548d641a0874a77c77f623ad7a5 Author: Ales Hvezda Date: Fri Aug 7 23:02:01 2009 -0400 Makefile.am cleanup (removal of ChangeLog and Makefile.in files) Details on this commit: * Now that we are no longer storing machine generated ChangeLogs inside the git repository, make maintainer-clean should remove the machine generated ChangeLogs. This way nobody accidently edits the ChangeLog. Only 7 ChangeLogs are left after a make maintainer-clean (intl, po, and one toplevel ChangeLog). * Some directories were missing the removal of Makefile.in when make maintainer-clean is run. Only 3 Makefile.in files remain now after make maintainer-clean (only in the intl directories). * Removed $Id$ tags from some of the Makefiles since we are no longer using CVS. * Removed some unnecessary ChangeLogs from ever being created (from example/gTAG gschem/scripts, and symbol/font). Note 1: There are still some machine generated files still hanging around, but I'm going to leave those alone for now as the .gitignore mechanism properly masks those. Note 2: Made sure that all files that are to be removed in the *CLEANFILES lists comes before the #*# otherwise they will be ignored. commit c8628e4df819998e40d7954c5a5d41a2fbfbbb7d Author: Peter TB Brett Date: Sat Aug 8 00:56:05 2009 +0100 libgeda: Fix font loading. Fixes a bug introduced in 8af5fba2ec0248331ceb5d2746771e70b2813004 which caused libgeda to not detect character widths correctly. This was subtle. A new font OBJECT must be created and added to the global character hashtable *before* o_read() is called to populate the OBJECT with its constituent lines. This is because when o_read() encounters the 'F' font parameter line, it calls o_text_set_info_font() to process it. o_text_set_info_font() in turn needs to be able to get at the font object for that character, which it looks for using the global hashtable. I have added some comments to the source code explaining this. commit fc2b205314545d92ea2a7e8f40a7a4c7d5af893d Author: Peter TB Brett Date: Thu Aug 6 17:15:29 2009 +0100 Don't store git-generated ChangeLog files in repository. Don't store ChangeLog files in the git repository and have to remember to update them each time a release is made. Instead, get `make dist' to create the ChangeLogs for you if a git repository is detected. Note: make distcheck does not pass in this commit. commit 77d96e9154d9cfc81b25353ef99b8f8f42999bfb Author: Peter TB Brett Date: Thu Aug 6 14:35:12 2009 +0100 Add top-level NEWS file. This contains important user-visible changes. It should be kept up-to-date, in order to make writing release notes easier. commit 09fcc6d689defb8f43bfc27aac87ee4ac34ce66a Author: Peter TB Brett Date: Thu Aug 6 12:33:07 2009 +0100 Update top-level README file. Well, actually rewrite it entirely. Note: make distcheck does not pass in this commit. commit 433c672579aabb282999377139c9242b319ba044 Author: Peter TB Brett Date: Thu Aug 6 12:38:31 2009 +0100 Only need a single `AUTHORS' file. Move the gschem one to the toplevel (adding several missing names on the way), and remove most of the others. The `AUTHORS' files in the `symbols' and `utils' directories are retained, because they contain some useful information. Note: make distcheck does not pass in this commit. commit ed7134fd403b9f1dc0a75d50e4e7bcfb2fd95cb8 Author: Peter TB Brett Date: Thu Aug 6 11:19:57 2009 +0100 Only need one copy of GPLv2. Also, update to latest version of GPLv2 (from http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt). This corrects the FSF contact address, along with some minor formatting modernisations. Note: make distcheck does not pass in this commit. commit 03943792b7606534fba0fd4e158dc6ff8d6adb97 Author: Peter TB Brett Date: Fri Aug 7 23:21:36 2009 +0100 Start implementing unified build system. Restructuring of build system, including new m4 macros and helper programs. Note: only libgeda can be built from this commit. Important differences from previous versions: - The tarball is now called gEDA-.tar.gz. - Documentation is now installed to ${docdir} - A `version.h' file is generated containing the package version strings, including the git commit SHA-1 and the descriptive string from `git describe'. `version.h' is distributed in the source tarball so that gEDA can be built without git. commit e55e9e247eb33c4a5be56687b4610c6649ef74d7 Author: Peter TB Brett Date: Tue Aug 4 22:06:16 2009 +0100 Remove existing build infrastructure. This simply strips out all configure, m4 and autogen scripts from the whole repository, including the toplevel Makefile. This commit does not compile (what a surprise)! commit 7f6a4497b66d7ae8e47089a6a09287d112ac2587 Author: Peter TB Brett Date: Fri Aug 7 09:19:19 2009 +0100 system-gafrc: Send font warning to stderr. This stops gnetlist stdout results from differing between the font being installed and not installed (and thus breaking preinstall tests). commit 8af5fba2ec0248331ceb5d2746771e70b2813004 Author: Peter TB Brett Date: Fri Aug 7 07:26:41 2009 +0100 libgeda: Cope better with not finding the font. Calling exit(-1) if the font doesn't appear to have been found is stupid and not the way that a library is supposed to do things. Instead, use a built-in question mark character '?' for any characters that can't be loaded (which, if the font is missing, is all of them). commit 9d7d8bd214f12506155ebb6ff516e107dbcc0b9c Author: Peter TB Brett Date: Mon Aug 3 22:40:44 2009 +0100 libgeda: Use lrint instead of rint. Using lrint avoids an integer->double->integer cast. commit 1f05fb8e7b857c2bba2fbcaa4893ecbedcc478a9 Author: Peter TB Brett Date: Tue Jul 28 22:08:43 2009 +0100 libgeda: Fix odd bug in o_save_buffer(). o_save_buffer() contains an interesting bug. Sometimes it calls o_net_consolidate(), which affects the current_page, but there is *no* guarantee that the object_list argument actually belongs to the current page -- and even if it did, there is no guarantee that the object_list argument would still be a valid pointer after consolidation! Whoops. This patch removes any potential o_net_consolidate() call from o_save_buffer(). commit df2be174a44a92c80e5e44bd3d83c69ce7508776 Author: Kai-Martin Knaak Date: Tue Jul 28 22:11:55 2009 +0100 libgeda: Improve comments in o_attrib.c. commit 2b16e530902c2c82e450f6b424eca7c0dbb598a2 Author: Peter TB Brett Date: Tue Jul 14 07:45:11 2009 +0100 libgeda: Fix component library doxygen. Turn the random pages generated at the toplevel into sections within the file documentation for `s_clib.c'. commit 87152abe9c217a34323a9166730cd12e5c7773ca Author: Peter TB Brett Date: Tue Jul 14 06:50:18 2009 +0100 libgeda: Get rid of some uses of SCM_STRING_CHARS. SCM_STRING_CHARS is deprecated in Guile 1.8.x. commit d66220b8d3085c7ab55bac419b125d9287c0520d Author: Peter TB Brett Date: Sun Jul 5 17:36:57 2009 +0100 Ignore yet more unnecessary m4 files installed by autopoint. commit 64cdf2bd7250e97749a308e19916c1d65c9a2c95 Author: Peter TB Brett Date: Thu Jun 18 18:09:56 2009 +0100 Use a static configure.ac and constant gettext version. commit ee7200f0f784699344e8ef8bb332e4a0486eeda4 Author: Peter TB Brett Date: Sun Jun 21 13:45:51 2009 +0100 libgeda: Don't use stdarg.h. A number of files in libgeda include stdarg.h, but none of them actually use it. commit 1a4c656b3aea2a0cd58b57f836e97b96078f0bb2 Author: Peter TB Brett Date: Sun Jun 21 13:35:21 2009 +0100 libgeda: Don't use libgen.h Since we now use GLib's functions to get the basename, basename(3) from libgen is no longer required. commit 74227a00faff800831eb04c31a04760216ebc12b Author: Peter TB Brett Date: Tue Jun 23 10:47:03 2009 +0100 libgeda: Fix some compiler warnings. Fixes some "may be used uninitialized" warnings. commit b166d053e62c01b3b6413e0c6df275a432ba9792 Author: Peter Clifton Date: Mon Jun 22 11:34:25 2009 +0100 Add new functions o_set_color() and o_glist_set_color() Replaces the inaccurately named o_complex_set_color() and o_complex_set_color_single(). Also replaces o_attrib_set_color(), which was static to libgeda/src/o_attrib.c commit 2dc3c8dad90b4b02a962929edf2b6ce5b75939aa Author: Peter Clifton Date: Mon Jun 22 10:53:23 2009 +0100 Remove OBJECT->saved_color field Rather than resetting the color of selected objects, we instead add a helper function, o_drawing_color(), which decides at drawing time what color an OBJECT should be drawn. o_drawing_color() checks if there are any color overrides in effect, and whether the OBJECT (or its parent, in the case of TEXT or COMPLEX prim_objs) is selected. Remove now unused functions: o_complex_set_color_save (); o_complex_unset_color (); o_complex_unset_color_single (); o_complex_set_saved_color_only (); commit 12052ab6b3e17d275ee63a08f03305fbfee4c93b Author: Peter Clifton Date: Mon Jun 22 10:50:36 2009 +0100 libgeda: Set the OBJECT->parent field on text prim_objs This allows us to keep track of the ownership of TEXT prim_objs. commit 5f52ce5d7f4be7ee1eb2246b896135d01fb320c0 Author: Peter Clifton Date: Mon Jun 22 10:50:36 2009 +0100 Rename OBJECT->complex_parent field to OBJECT->parent We might wish to track the ownership of text prim_objs as well as complex, so calling this field complex_parent is confusing. commit 97e51ad1c88349adc4e826de4b0da25d39cdd86d Author: Peter TB Brett Date: Thu Jun 18 08:54:11 2009 +0100 libgeda: Don't use intltool. intltool causes a number of problems at the moment. It's not tremendously portable, it hammers the gettext infrastructure heavily, and it has large incompatibilities between versions. Instead I've created a tool called desktop-i18n which does all of the things we currently use intltool for, without any dependencies except for a working shell & make. It's not as featureful as intltool, but it appears to do everything that is required. Thanks to Dan McMahill for testing and portability suggestions. commit 9626ff1a94e81c1da8738f21d8f88c2f1e1cbd16 Author: Peter TB Brett Date: Wed Jun 17 15:24:26 2009 +0100 libgeda: Ensure that buffer pointer is initialised to NULL. commit d0fdb127e16c46f85ceddca00bff1103ac075b68 Author: Peter TB Brett Date: Wed Jun 17 15:24:26 2009 +0100 Pass correct search path flags to aclocal. The autotools install several m4 files into the top-level m4 directories in each project. aclocal (and automake) need to be taught to look there before searching the system directories. commit 67aeb9b999d29080118a7af899ad1de362ccd2b8 Author: Peter Clifton Date: Mon Jun 8 23:31:22 2009 +0100 Fix autogen.sh scripts to look for AC_CONFIG_HEADER to run autoheader Since commit #9a7c363c572d32a30fa1522cd7d14b21c2958ca8, the configure scripts in gEDA use AC_CONFIG_HEADER, not AM_CONFIG_HEADER Fixes build problems noted by various users. Identified by Dan McMahill. commit 502e052f59ed28d8e6b4388be3d58097716839c1 Author: Peter Clifton Date: Mon Jun 8 20:29:15 2009 +0100 libgeda: Initialise counter in o_attrib_search_slotdef() Caught by Dan McMahill - thanks! I'm not sure why gcc -O2 -Wall didn't catch this. commit 65ab1fad22f6879f1a296ee5382f633870613c78 Author: Peter TB Brett Date: Mon Jun 8 11:09:56 2009 +0100 Remove support for GLib < 2.12.0. Requiring GLib 2.12.0 means that we no longer require *any* of the existing GLIB_CHECK_VERSION ifdef blocks. commit 61f488315da15d0be48acbe65ee9c1bf69c60e03 Author: Peter TB Brett Date: Mon Jun 8 10:57:32 2009 +0100 Require GLib 2.12.0 or newer. We now require GTK+ 2.10.0, and since that requires GLib 2.12.0, we can bump the GLib version we require up to match. Thanks to Peter Clifton for spotting this. commit 9a7c363c572d32a30fa1522cd7d14b21c2958ca8 Author: Peter TB Brett Date: Mon Jun 8 10:48:25 2009 +0100 Use AC_CONFIG_HEADER instead of AM_CONFIG_HEADER. This fixes an issue with config.h.in not being correctly regenerated with autoheader on changes to configure.ac. Thanks to Maciej Pijanka for working out the solution to this problem! commit 209e55a6a0ab33478cea41c154be64d7ec0620ea Author: Peter TB Brett Date: Sun Jun 7 19:34:30 2009 +0100 Require GTK+ 2.10 or newer. commit d5e06e6ee657f80d1cb8d82884122ac958e9d3a4 Author: Peter TB Brett Date: Sun Jun 7 19:34:30 2009 +0100 Remove Guile 1.6 support. commit b4862c3c120c8144f47393333e2e6bec2f302bc7 Author: Peter TB Brett Date: Sun Jun 7 19:34:29 2009 +0100 Require Guile 1.8.0 or newer. Guile 1.8 became the stable branch of Guile on 2006-02-12, over three *years* ago. All major distributions ship it, including Debian stable. Expecting its availability makes testing of new Scheme-based features much easier, as most gEDA developers normally write and test code against 1.8. Furthermore, it allows better advantage to be taken of 1.8-only features (such as improvements in debugging support), without requiring vast swathes of hard-to-maintain preprocessor trickery. commit a1f2394de855ee1d0cc2c931ed9aef86763eecbf Author: Peter Clifton Date: Sun Jun 7 11:48:32 2009 +0100 libgeda: Add to doxygen comments for APIs which had TOPLEVEL added Forgot to add these in commit #a9d64bf7db382ed3c6ac2b89e0434af80bc1e19c commit 4aa6cd61c253046806a5818bd6fd8be87296d634 Author: Peter Clifton Date: Sun Jun 7 01:41:46 2009 +0100 Pass the OBJECT having its attribs removed to o_attrib_detach_all() This function only worked correctly when passed an OBJECT.attribs GList, so it makes more sense to just pass the OBJECT whos attributes should be detached. The function can then set the OBEJCT.attribs to NULL, ensuring the OBJECT stays in a consistent state. commit a9d64bf7db382ed3c6ac2b89e0434af80bc1e19c Author: Peter Clifton Date: Sun Jun 7 01:40:11 2009 +0100 Add TOPLEVEL parameter to some libgeda APIs For consistency with other libgeda functions, and in order to allow these functions to call others which require the toplevel parameter. commit 047a3ecad3fe1bcd98c6eb209134772cd894fe6c Author: Peter Clifton Date: Sun Jun 7 01:40:10 2009 +0100 Remove o_attrib_search_numslots(), instead call the attribute API directly commit 9686b31bc86c7e57a26bad0c65e21b97ed713e5b Author: Peter Clifton Date: Sat Jun 6 10:38:58 2009 +0100 Make o_attrib_get_name_value() take an attrib OBJECT, not char * Rename the old function as exported API o_attrib_string_get_name_value(), so existing code (such as validating potential attribute strings) can still work unaltered. The new o_attrib_get_name_value() wraps o_attrib_string_get_name_value(). commit 7e0e339dc47211254ff5e968fa402f4735ef41fa Author: Peter Clifton Date: Sat Jun 6 01:47:57 2009 +0100 gschem,libgeda: Tidy up invocation of the slot dialog Avoid presenting the whole "slot=..." attribute text in the slot dialog, since the user only needs to see the value portion. We now use o_attrib_search_object_attribs_by_name() to retrieve the current slot for a component when bringing up the dialog. This means that if there is no slot= attribute attached, the default slot= value (if any) from the symbol will be returned automatically, and we don't need an explicit call to o_attrib_search_default_slot(). Remove the now unused function o_attrib_search_default_slot(). commit 6940a50d7e05a19cd75678190ae56aefdc4407e9 Author: Peter Clifton Date: Sat Jun 6 01:47:53 2009 +0100 Remove now unused functions from the old attribute API. Removed functions: o_attrib_search_attrib_value() o_attrib_search_attrib_name() o_attrib_search_name_single_count() commit 9bee7186e31a9852cebdd65b7952261df0c1749b Author: Peter Clifton Date: Sat Jun 6 01:47:49 2009 +0100 libgeda: Use new attrib API for o_attrib_search_slot() Deleted now unused function o_attrib_search_name_single() commit aa7b65e3a1cc59eadf247ed0fe74afeaeb7c5fe3 Author: Peter Clifton Date: Sat Jun 6 01:47:43 2009 +0100 Make use of the new API o_attrib_search_attached_attribs_by_name() commit c99db7713faaad225501710e58220e580bca58b1 Author: Peter Clifton Date: Sat Jun 6 01:44:34 2009 +0100 Make use of new API o_attrib_search_floating_attribs_by_name() Replaces the less specific API, o_attrib_search_name() previously used to search for floating attributes. Remove the now unused function o_attrib_search_name(). commit 04a22009e68284327bdb57bf7c31e5788b0bfc67 Author: Peter Clifton Date: Sat Jun 6 01:44:19 2009 +0100 Make use of new API o_attrib_search_inherited_attribs_by_name() Replaces the less specific API, o_attrib_search_name() previously used to search for floating attributes inside complex objects. commit 33b113b078e9647d7304b4c2caa04da1dd367e4f Author: Peter Clifton Date: Sat Jun 6 01:34:53 2009 +0100 Use o_attrib_search_object_attribs_by_name() where appropriate commit f6e0d43eb80615c5314c4caab7ba727a50f3bcde Author: Peter Clifton Date: Sat Jun 6 01:34:18 2009 +0100 libgeda: Use new attrib API for o_attrib_slot_update() Also tidy up the function a little. We now use o_attrib_search_object_attribs_by_name() to find the slot= attribute value of an OBJECT, so we automatically get the correct fallback to the symbol's embedded default slot= attribute value if the attached slot= attribute is missing. (This means a behavioral change in the uncommon case where the attached slot= attribute is missing, and the symbol specifies a default which is not slot=1) commit 52fc6981d5dc91cb08e3314d5b77bdb7505418ba Author: Peter Clifton Date: Sat Jun 6 01:32:34 2009 +0100 Remove o_attrib_search_string_list() and o_attrib_search_string_single() Reworked the one remaining caller of these functions to use o_complex_find_pin_by_attribute(), which utilises the newer APIs. commit 031e46d5d1b8071ebcde097b2a0f75984885a953 Author: Peter Clifton Date: Sat Jun 6 01:32:31 2009 +0100 Replace o_attrib_search_pinseq() with o_complex_find_pin_by_attribute() Calling o_complex_find_pin_by_attribute() with "pinseq" as its name argument, a char * wanted_value and a complex OBJECT (rather than its prim_objs) is functionally identical. commit 58859ac33ddd97e1cb7aa6eeaff832d3ed87c725 Author: Peter Clifton Date: Sat Jun 6 01:32:27 2009 +0100 Replace o_complex_return_pin() with new o_complex_find_pin_by_attribute() Implement a more generic version of o_complex_return_pin(). The old function takes a pinnumber as its argument, and finds a pin which has a matching "pinnumber=..." attribute. The new function takes an explicit attribute name argument as well as the value, so we can find pins by any attached attribute. This is useful so we can search by "pinseq=..." attributes as well. commit 9e375afb9c865705ed4eff3b982f1a1a3e8fc843 Author: Peter Clifton Date: Sat Jun 6 01:32:18 2009 +0100 Remove unused function o_complex_return_nth_pin() commit 2212036b0b38fb4c929d2abeaec638e4d483b91b Author: Peter Clifton Date: Sat Jun 6 01:30:45 2009 +0100 libgeda: Allow symbols to override the slotdef= attribute definitions This should pave the way to allow attachement of slotdef= attributes overriding those inside the symbol. NB: If this is done, pinnumber updates in gschem won't be triggered immediately, since they are only run when a slot= attribute changes. commit 3dc2a7150357119355212af164e38299df8e1649 Author: Peter Clifton Date: Sat Jun 6 01:29:20 2009 +0100 libgeda: Eliminate usage of, and remove o_attrib_search_string_partial() This function's one caller was using it to find an attribute containing "slotdef=X:", where X is the slot number being retrieved. o_attribute_search_string_partial() would look at the full name=value string of each text object in the given object list, looking for a substring match on the desired text. (In fact, we only want a match at the beginning of the string). The new implementation may be somewhat less efficient, since it queries all slotdef= attributes in turn, checking to see if the one returned is the desired value. The speed penalty should be impercievable though, and the new code better abstracts the implementation details of the attribute system. commit 8a2e32035cdac22ca6d355560bb9fdf935a99af8 Author: Peter Clifton Date: Sat Jun 6 01:29:17 2009 +0100 Move logic of function o_attrib_search_toplevel_all() to its one caller This function was only used in one place, and probably didn't deserve its own API in libgeda. The function it is called from is not used anyway, so could probably be removed completely at some point. (Although it forms part of the scheme API for gnetlist, comments above it suggest that it is "still highly temp and doesn't work right"). It is not requied by any known (shipped) gnetlist backends. commit f505ad65da209bd8d7e766d495466b904643e9b7 Author: Peter Clifton Date: Sat Jun 6 01:29:14 2009 +0100 Remove o_complex_get_toplevel_attribs() in favour of newer attrib API o_attrib_find_floating_attribs() is functionally identical. commit 88c205ea2ff69936aa5362a52d27471fbab87e6b Author: Peter Clifton Date: Sat Jun 6 01:29:02 2009 +0100 Remove o_attrib_search_toplevel() in favour of the newer API o_attrib_search_floating_attribs_by_name() is functionally identical commit ca55a937a7f865e851e8352e7c80005b1d94f36f Author: Peter Clifton Date: Sat Jun 6 01:28:47 2009 +0100 Remove o_attrib_search_component() in favour of the new API Calling o_attrib_search_object_attribs_by_name() with a count parameter of 0 is functionally identical. commit b1484835dce050c1bc67faf898622336a1f9cde3 Author: Peter Clifton Date: Sat Jun 6 01:09:16 2009 +0100 Introduce new attribute searching API This new API aims to be explicit as to the scope of its behaviour. Various of the existing APIs are very similarly named, yet will have subtly different behaviours when passed a list of OBJECTs, attribute OBJECTs, some general OBJECT, or an attribute OBJECT. Since the current APIs are confusing, the sensible course of action seems to be introducing a new simple API for searching a GList of attributes by name, then providing specialised wrappers which construct the appropriate list of attributes to search. To this end, inside libgeda/src/o_attrib.c, the following new functions are created: The generic search routine: static OBJECT *o_attrib_find_attrib_by_name () A helper which returns the value of the found attribute: static char *o_attrib_search_attrib_list_by_name () Exported API to search: floating attributes (on a page, or inside a symbol): char *o_attrib_search_floating_attribs_by_name () Attributes attached to an OBJECT: char *o_attrib_search_attached_attribs_by_name () Attributes inside an OBJECT (inherited): char *o_attrib_search_inherited_attribs_by_name () Attributes from an object - either attached, or from inside the symbol: char *o_attrib_search_object_attribs_by_name () The latter is in preparation to make more use of an aggregate attribute list for objects - rather than having each piece of code duplicate the logic to check both attached attributes, and those inside symbols. We also make o_attrib_find_floating_attribs() static, since it is only used inside o_attrib.c now. commit 02fde480e0d58300d9e7ee1cf0357fb96d14adbb Author: Peter Clifton Date: Sat Jun 6 01:09:16 2009 +0100 Add inherited attributes to the list returned by o_attrib_return_attribs() This starts to allow a common place where attributes from the symbol will be combined with attached attributes to form an aggregate attribute list. Currently, various pieces of code which deal with reading attributes will check the attached attributes of a symbol, then the inherited attributes explicitly. For cases where a simple combining rule exists, we can reduce such checks to a single lookup of the aggregate list. Atttributes such as "net=" and "source=" which often exist multiple times, possibly both as inherited and attahched attributes, present difficulties though. For now, just pile all inherited attributes at the end of the returned list. This means any code which wants to check for the first attribtue with a given name should do the "right thing", with attached attributes taking presidence over inherited ones. commit 5920b9ac846a1d0da2d76a3d72887489e7a93316 Author: Peter Clifton Date: Sat Jun 6 01:09:15 2009 +0100 libgeda: Improve doxygen comments for o_attrib_find_floating_attribs() commit c38b5069f3fee207c48281da49ac1c90cf5d508a Author: Peter Clifton Date: Fri Jun 5 16:04:32 2009 +0100 Fix crash with (keep-invisible "disabled") The deleted attribute objects were not being removed from the prim_objs list they belonged to. commit 79b00986fbc5d05328b57457ff16d83462bf6198 Author: Peter Clifton Date: Fri Jun 5 16:04:27 2009 +0100 libgeda: Make o_complex_remove_promotable_attribs() static This function is only used in o_complex_basic.c. commit 2379c5ded2a56d119dc731a63910cddd080a1c9e Author: Peter Clifton Date: Fri Jun 5 16:04:25 2009 +0100 libgeda: Make o_complex_get_promotable() static This function is only used in o_complex_basic.c commit 52bed9acb6ac46882d6d2ca431167cf1b00e53b4 Author: Peter Clifton Date: Fri Jun 5 14:57:31 2009 +0100 libgeda: Remove unused function o_complex_count_pins() commit 19d6f815561d0cf903a648bcc96fac67d76d5f96 Author: Peter Clifton Date: Sun May 31 17:25:50 2009 +0100 libgeda: Plug leak in o_attrib_return_attribs() (CODE!!) We don't need to retrieve the attribute's name whilst validating it, nor do we need to leave that name un-freed! commit 932c71ec1b93d9a7e2b833039c75ab987b4956e5 Author: Peter Clifton Date: Sun May 31 17:08:44 2009 +0100 libgeda: Remove unused o_attrib_slot_copy() function The one previous caller of o_attrib_slot_copy() has been reworked in the preceding patches. commit 8686ff1bb3e41a5c0ef785c6749d8491a7182758 Author: Peter Clifton Date: Sun May 31 17:07:45 2009 +0100 Call o_attrib_slot_update(), not o_attrib_slot_copy() in o_complex_copy() When the appropriate slot= attributes are re-attached to the complex, the slot will be updated. There is no point in pre-empting the pinnumber update by looking at the slot= attribute of the source complex. If the complex were copied, but its slot= attribute were not, the call could result in incorrect pinnumbers on the new object. We do want to run o_attrib_slot_update() though, just in case the symbol's internal slot= attribute would cause a pinnumber update. commit 3bf53bf950231cec429819246e46135faea74dde Author: Peter Clifton Date: Sun May 31 17:04:33 2009 +0100 libgeda: Add special case slot update when copying a slot= attribute This update is needed to ensure the pinnumbers on the complex are updated correctly if a slot= attribute is copied along with the symbol. This hasn't caused a problem since when copying the complex, the pinnumbers are reset to match that of the object being copied - looking at the slot= attribute of the complex being copied. If its slot= attribute is not copied along with the complex, the new complex will have the incorrect pin numbers. We need to make sure that when the slot= attribute is re-attached, it updates the pinnumbers properly - we can then remove the pinnumber update in o_complex_copy(). commit 85f601b363eac1541d06c47fd1a121b6ff1e2950 Author: Peter Clifton Date: Sun May 31 14:30:14 2009 +0100 libgeda: Add o_attrib_find_floating_attribs() This routine will return a GList of floating attributes in the passed OBJECT list. It will be useful to identify inherited attributes from inside a symbol. commit 824ad0acd7d27087690c8eaeb59a1f3806b64d58 Author: Peter Clifton Date: Sun May 31 14:30:12 2009 +0100 libgeda: Add test for whether a given attribute OBJECT is "inherited" An "inherited" attribute is a floating attribute which lives inside a complex object. Its OBJECT.attached_to member will be NULL, and its OBJECT.complex_parent will be non NULL. commit 57362274fcbe133d9fa545b761fc104310325d0f Author: Peter Clifton Date: Sun May 31 14:30:08 2009 +0100 Make o_attrib_return_attribs() return a GList, not an array This fits better with our GList centric view of list data. Also validate the attributes in o_attrib_return_attribs(), so we aren't passing potentially malformed attributes to our callers. commit 20164638241324a3ff92197cea9d8c2ae3dea0c3 Author: Peter Clifton Date: Sat May 30 23:46:15 2009 +0100 libgeda: Make o_attrib_search_{pinseq,slotdef}() static These functions are only used in o_attrib.c commit 3b41329b9750009a9ca7a832f69597c1946c4579 Author: Peter Clifton Date: Sat May 30 18:45:40 2009 +0100 libgeda: Tidy up o_attrib_search_default_slot() commit 7a7b553b395a78a9d53b64cc50d1077342999a75 Author: Peter Clifton Date: Sat May 30 18:45:38 2009 +0100 Remove unused "return_found" argument to o_attrib_search_numslots() commit 963ac330d97e843f6ec4580b64d9b36c51807783 Author: Peter Clifton Date: Sat May 30 18:34:17 2009 +0100 Rename o_attrib_free_all() to o_attrib_detach_all() This name better reflects the function's action. Add some notes to the doxygen comments about this function. Specifically, it must be called with some (OBJECT *)->attribs pointer, since the attributes which are detached would otherwise not be removed from the (OBJECT *)->attribs GList. commit 57fc7016a727134bb3a0655db817a980c24838d4 Author: Peter Clifton Date: Sat May 30 18:34:11 2009 +0100 libgeda: Remove the short function o_attrib_free(), inlining its code The only caller is o_attrib_free_all(), put the code there. Since it is no longer part of the public API, the NULL check can be removed. Also tidy up o_attrib_free_all() somewhat. commit bad2b34e1695f4ef74db35dabc7b39ea2ebc71bf Author: Peter Clifton Date: Sat May 30 18:34:04 2009 +0100 libgeda: Tidy up o_attrib_set_color() and use it to reduce code duplication Also make the function static, since it isn't used outside of o_attrib.c commit 419a531753294ee9ab039272d2ed147adf2b262e Author: Peter Clifton Date: Sat May 30 18:33:58 2009 +0100 libgeda: Remove o_attrib_search() function This function only had one caller, which has been modified. When attaching an attribute, we check if it is already attached. Previously this code used o_attrib_search() to check by object SID. Instead, we now just look for the OBJECT* pointer in the attribs list using g_list_find. commit ab590ab70cddfe6a0954d56a31c0ebd1f0bc7691 Author: Ales Hvezda Date: Sat Mar 28 15:55:19 2009 -0400 Updated ChangeLogs one more time for 1.5.2 commit 42236bdddb4f04de9facf246ce20fff6854d022a Author: Ales Hvezda Date: Sat Mar 28 15:48:56 2009 -0400 Added missing libgeda.dox so that it gets packaged up in the release tarballs commit 546d4dbe0124d3f9421116b9e5a8889cccf97b84 Author: Ales Hvezda Date: Sat Mar 28 15:22:19 2009 -0400 Updated all ChangeLogs Updated the ChangeLogs by running: ./update-changelogs.sh 1.0-20070526..master in the toplevel directory commit 859abe69912ba99ca27bb58c378284e9eec56259 Author: Ales Hvezda Date: Sat Mar 28 15:13:59 2009 -0400 Updated all versions to 1.5.2 20090328 36:0:0 Updated by running: ./update-versions.sh 1.5.2 20090328 36:0:0 commit b297d32b70c02bfe800b7bf4c434d1fd4447e2f5 Author: Ales Hvezda Date: Sat Mar 28 14:55:22 2009 -0400 Updated all po files by running make update-po commit c3081930ed224394f645de4bfb51e86fa3e15e65 Author: Peter Clifton Date: Fri Feb 20 23:26:12 2009 +0000 Remove obsolete references to libgd and libgdgeda commit 246acd46e591e542ac3f00f9064905ae0311b0ec Author: Peter TB Brett Date: Sat Jan 24 16:08:43 2009 +0000 Make o_save(), o_read() and friends take an object list argument. Sometimes we may want to save or read in a list of objects which isn't the current page. This adds a new function o_save_curr_page() which behaves the same as o_save() previously did. commit 4d83eae30b789deb8ab9235a89c191630ebf18be Author: Peter TB Brett Date: Wed Jan 21 21:17:01 2009 +0000 libgeda: Refactor load backup query callback. Passing user data allows the gschem callback to be called with a GSCHEM_TOPLEVEL instead of a TOPLEVEL. commit 44028f9c988a134748c8cea5e439983377ae3fd3 Author: Peter TB Brett Date: Wed Jan 21 21:16:59 2009 +0000 libgeda: Don't use compiled-in GEDADATA on Windows. On Windows, the compiled-in data path set with configure is unlikely to be the same as the path gEDA is actually installed to -- so don't use it. Instead, permit the s_path_*() funcs to return NULL. commit 3c0d85eae92d5764aa7dee2899c6a066c3470ee3 Author: Peter TB Brett Date: Wed Jan 21 14:11:39 2009 +0000 Write logs to $HOME/.gEDA/logs/. Rewrite s_log_init() to put log files in a centralised location. A user application (e.g. gnetlist) provides a prefix, and log file is opened at: $HOME/.gEDA/logs/--.log [1] The serial is found by the following procedure: 1. Read through the directory to find the highest existing . 2. Starting with that number, repeatedly attempt to open() incrementing files with O_CREAT|O_EXCL flags to guarantee that a new file is created. 3. If after LOG_OPEN_ATTEMPTS = 5 attempts a unique filename hasn't been found, fail. The logic *intentionally* does not fill in gaps in the sequence -- if I delete logs, I still want a new log to appear at the end of the list. [1] The actual location is a subdirectory "logs" of the user config directory, which may not be ~/.gEDA on all platforms. commit 7cc4a67795c9ee8dcb28edc6d71b895c5b4f1dc9 Author: Peter TB Brett Date: Wed Jan 21 14:10:41 2009 +0000 Refactor finding paths for config etc. This is intended to provide a centralised place for determining the paths more "smartly" in the future (e.g. for platforms with different conventions on where config should go). Only user-visible change should be that log messages when loading config files no longer hardcode "~/.gEDA". commit b5fbfa5f8734c215fb632a29699889b7decf910c Author: Peter TB Brett Date: Sun Jan 18 02:11:17 2009 +0000 libgeda: Do not use "Requires.private" in libgeda.pc We cannot use "Requires.private", as the behaviour is not consistent across distros due to an ongoing disagreement about what the semantics of "Requires.private" should be. In particular, Fedora's pkgconfig package has patches installed which break that functionality. Instead, use "Requires". commit fda82eb96e2c785efe91fd59d01f6e7e26b897ed Author: Peter TB Brett Date: Sun Jan 18 01:48:58 2009 +0000 Protect some strings passed to pkgconfig. Ensure that pkgconfig version requirement strings are protected from M4 expansion. commit bb074bdd2a30fd3b941be2683c905a99d330243a Author: Peter Clifton Date: Sat Jan 17 22:48:41 2009 +0000 libgeda: Fix printing of colours. To avoid emitting a colour change for each object printed, libgeda caches the last colour it wrote into a postscript file, and doesn't emit a new colour change command when the next object is the same colour. Drawing of complex and text objects are wrapped by a "gsave" and "grestore" pair, which resets the postscript interpreter's current colour, so we need to restore our variable tracking the last drawn colour after these groups. Fixes mis-drawn colours noted by DJ on the geda-user list. commit 28ee7866d44c74927401d362aceec4474bb5075c Author: Peter Clifton Date: Sat Jan 17 22:30:13 2009 +0000 libgeda: Use AC_LIBTOOL_WIN32_DLL to build DLL on Win32 platform. This (albiet deprecated) option is required to make a shared DLL on Win32. The non-deprecated syntax isn't compatible with older libtool, so lets use this for now. commit 333ccc55a1a1dc7c0c6ae92daefdfb83c54d511f Author: Ales Hvezda Date: Wed Jan 14 21:03:41 2009 -0500 Revert part of a commit that changed how libtool is initialized This commit reverts part of b47b0d1276a9535e3a66e4f8535f6c552849490f back to the original way of initializing libtool (using AM_PROG_LIBTOOL). The other changes in b47b0d1276a9535e3a66e4f8535f6c552849490f seem reasonable enough. commit a37263740000929363492726a069d92b161ab64c Author: Peter TB Brett Date: Wed Jan 14 00:37:54 2009 +0000 libgeda: Make colormap hex codec functions more portable. The 'hh' length modifier was added in "The Open Group Base Specifications Issue 6". (IEEE Std 1003.1, 2004 Edition). Testing on wine's implementation of msvcrt.dll has shown that this modifier isn't implemented, leading to memory corruption / misread colour maps. Commit message ammended by Peter Clifton. commit b47b0d1276a9535e3a66e4f8535f6c552849490f Author: Peter Clifton Date: Tue Jan 13 23:58:45 2009 +0000 libgeda: Ensure we build a shared DLL on MINGW32. Pass -no-undefined to libtool, and initalise in configure.ac.in with LT_INIT([win32-dll],[shared]). Tested not to affect Linux. commit 09e4b6a6c3fb7d9a95340f4de4a2b84193318f33 Author: Peter Clifton Date: Tue Jan 13 23:58:41 2009 +0000 libgeda: Define libraries necessary for statically linking libgeda Following removal of extraneous CFLAGS and LIBS from libgeda's pkg-config file, there are problems statically linking the library. We actually need to provide a list of required libraries to link with for static linking, and would ordinarily use Requires.private for that. Since guile 1.6 doesn't use pkg-config, avoid around the problem by adding guile's LIBS to libgeda.pc's Libs.private. commit 0cfeefc37856c30fc57f9ca803ffb1f7f11310e7 Author: Peter Clifton Date: Tue Jan 13 23:58:05 2009 +0000 libgeda, utils: Check for same glib version as rest of suite; 2.8.x commit aabcb89e83bfbe3f601a023f8c5aa4da725a3c17 Author: Peter Clifton Date: Sun Jan 11 00:28:15 2009 +0000 libgeda: Fix picture aspect ratios to compute width/height For some reason, libgeda was computing height / width, whilst gschem used width / height. commit 700d5c08aa33009128491007ff4d3f6e91ce0489 Author: Peter Clifton Date: Sat Jan 10 22:54:09 2009 +0000 libgeda: Move include files to be compatible with non-installed build By placing public libgeda include files in a directory libgeda/*, it is possible to point the rest of the suite's builds to include that directly. commit 02fa8f658d315796df7c6ab8790e5310e8548d37 Author: Peter Clifton Date: Sat Jan 10 22:29:21 2009 +0000 Remove explicit checks for X11 - we're not using X11 APIs directly commit 51c7b2770c01b851f4f7bd0624eed0533c69c376 Author: Peter Clifton Date: Sat Jan 10 21:35:58 2009 +0000 libgeda: Use "Requires.private" feature in pkg-config to avoid overlinking When libgeda declares that it requires gdk-pixbuf-2.0, using the Requires.private field allows the required CFLAGS to be passed on without forcing programs linking against libgeda to explicitly link with gdk-pixbuf This causes programs using libgeda to require a version of pkg-config >0.18 (although that hasn't been determined experimentally). This was released in 2005/2006, so ought to be fairly ubiqutous. commit 2742d7a50cbf126ea5a901e2f9faa6259263ae75 Author: Peter Clifton Date: Sat Jan 10 21:21:39 2009 +0000 libgeda: Avoid overlinking against libraies we don't actually use The only libraries we need to specify for libgeda is -lgeda, and an appropriate search path. For CFLAGS, we need to specify the path to libgeda's include files. We must also reference the libraries we depend upon being installed for our API / header files. This is currently guile and gdk-pixbuf. Since difrerent guile versions have different pkg-config files, this is not particulary simple to achieve. To avoid the problem, lets just not pass any guile CFLAGS on from libgeda's pkg-config file. Libgeda requires its callers to have correctly initialised guile, so imposing the requirement that guile's include files are available is not a great extra burden. (They must be available for the app to be calling the correct initalisation functions). commit bb9b1321c59714e432c1c6a196a39baf56a437f9 Author: Peter Clifton Date: Sat Jan 10 20:41:59 2009 +0000 libgeda: Don't depend upon GDK. We need gdk-pixbuf, which is separate. We don't need to call gdk_init() in o_picture.c, since gdk-pixbuf is not an internal part of GDK. Dropping the call to gdk_init() means it is now possible to run gnetlist on a schametic with images, without an X server available (for GDK build targetting X11). We only explicitly require GdkPixbuf for libgeda's external APIs. Move the #include before we include our local prototype.h and struct.h though, since gdk.h no longer pulls this in. commit fc660d554159c44e41a456fbb888fbe977666269 Author: Peter Clifton Date: Fri Jan 9 01:43:56 2009 +0000 libgeda/gschem: Try a smaller cue circle for net junctions commit 42a5bebc27f842b1955d9626f2521eea124259a0 Author: Peter Clifton Date: Fri Jan 9 01:04:14 2009 +0000 gnetlist: Teach netlist traversal code to understand buses (still disabled) Up until recently, the connection scanning code has rejected some, but not all buses. This means that it is unlikely graphical buses formed a useful part of anyone's design, since the netlist code in s_traverse_net() would not follow connections to another bus segment. The only possible bus-pin connectivity has ever been "pin-bus-pin", or "pin-bus-net-...". This behaviour appears to have been accidental, and would not have been easy for a user to take advantage of. The traversal code would not move on to a subsequent bus, but would, for example, allow a pin->bus->!bus connection, which could then connect onwards. The bus mixed up in this would for all intents and purposes behave as a net. The pin->bus validity bug was actually fixed in libgeda when adding support for bus pins. This commit formalises it further, since if support for netlisting bus pins were enabled it would otherwise still be possible to get a buspin-bus-net-... connection if you tried hard. Introduce type-checking between pins, nets and buses such that they can not netlist where the object types don't match. For buses, the code to name a connection based on "netname", "net" or "label" attributes is disabled - pending decision as to what constructs we wish to use for naming buses. Add a gnetlistrc setting (unnamed-busname ...) which sets the default naming (if the connection scanning code were run on bus pins). This commit lays some of the ground work for shared connection scanning code for determining the connectivity of buses and bus pins. commit efb5dba68395549c7e970f3506148194eb4b30c6 Author: Peter Clifton Date: Thu Jan 8 01:16:08 2009 +0000 libgeda: Use strlen rather than strnlen, which is a GNU extension. Helps buy us some portabilty. In the case changed, the string is going to be NULL terminted, so the length cap doesn't buy us anything. commit 330e6bc49a83a176c549644011d186dbc5e1d8b9 Author: Peter TB Brett Date: Wed Jan 7 13:47:27 2009 +0000 libgeda: Font-renderer-specific text bounds functions. When using arbitrary fonts, libgeda can't know the world extents of a TEXT object without reference to the font renderer. This patch adds a mechanism for applications (i.e. gschem) to register a callback to be used by libgeda for calculating the bounds of a TEXT object. commit 600c870c0486edfe0afae031a6857ccddfec7e08 Author: Werner Hoch Date: Wed Dec 31 13:59:23 2008 +0100 libgeda: access functions for filltype and linestyle Created the function o_get_fill_options and o_get_line_options to get the properties of an object. commit 95432ccffdbb39434981f87050433c00f40125da Author: Peter Clifton Date: Sun Jan 4 19:38:11 2009 +0000 gschem: Revert change in cue size "fixed" when introducing bus pins. The old behaviour was intentional.. smaller cues were in fact supposed to be used for buses, so that the dot was contained inside the bus graphic. Rename the variables defining the sizes to be clear about their purpose. commit ba15c06da1ec82e3ff063e211def6d8a983f1bde Author: Peter Clifton Date: Sun Jan 4 18:44:00 2009 +0000 libgeda: Fix hit-detection of arcs with negative end_angle commit 975fc0827bf61e3e88ec374d3440b0887c2d5ef2 Author: Peter Clifton Date: Sun Jan 4 18:43:27 2009 +0000 libgeda: Fix calculation of arc bounds for arc with 360 degree sweep commit 2874ca6c016115363ab9edb7809d5ca66509ca14 Author: Peter Clifton Date: Sat Jan 3 19:54:04 2009 +0000 Move world <-> screen coordinate transformation functions into gschem Convert them and their callers to use a GSCHEM_TOPLEVEL as an arguemnt rather than TOPLEVEL. This commit moves most of libgeda/src/m_basic.c to a new file, gschem/src/m_basic.c commit 4d79aa73981d6caa2c803250d1be266d7657f0c2 Author: Peter Clifton Date: Sat Jan 3 19:54:03 2009 +0000 Move o_line_visible() from libgeda into gschem This function relates to on-screen visibility, so should be in gschem. commit f37c893edfeb016e57aae5e92f48093608e5cdfb Author: Peter Clifton Date: Sat Jan 3 02:38:29 2009 +0000 gschem: Add interface to toggle a pin between net pin and bus pin types. This allows schematic diagrams of hierarchical connections to include buses. Since gnetlist does not currently support buses, this feature is useful only for diagrams, or when used with a custom netlister. Since we don't want to mislead users into thinking bus pins netlist, the option to set pin type is only present on the page's popup menu, and is marked "(graphical)". commit 7d01d4ae87fd329ffa3e93df9e286dd6e56e225c Author: Peter Clifton Date: Fri Jan 2 23:14:53 2009 +0000 libgeda: Fix bus/net to bus/net pin connectivity checking rules Previously, the type of pin was not checked when computing connections, and buses were disallowed from connecting to any type of pin. Refactor s_conn_update_line_object() to concicely check the following: Allow connections between matching pin types only. Allow connections between nets, other nets and net pins. Allow connections between nets and the mid-points of a bus. Allow connections between buses, other buses and bus pins. commit 998e8546754fe2ab41a57ce112c3966190c501df Author: Peter Clifton Date: Fri Jan 2 23:14:52 2009 +0000 gschem: Add support for rendering and adding pins with type PIN_TYPE_BUS Bus pins are rendered thicker, and with a bigger cue than standard pins of PIN_TYPE_NET. This commit also fixes a bug where the wrong sized cue circle was drawn for net-net interconnections. commit 08db7a435330db92db7ce99267ca6c624481e053 Author: Werner Hoch Date: Sat Dec 20 17:53:12 2008 +0100 libgeda: check whether a attribute is attached to an object Simple test function added. commit 48c35116377abd95e0914e6f28c00c9786392e70 Author: Werner Hoch Date: Sat Dec 20 17:49:31 2008 +0100 libgeda: functions to get the position of an object added a function o_get_position() to get the world position of an object. The returned position is dependant on the object type. For the box and picture object the lower left corner is used. For line, net, bus, path, the first point is used. For pin the whichend is used. For circle and arc the center is returned. Complex and text object return it's base coordinate. commit 2ee50f8ed4a738880d3ca04fd5a27c66b89bc743 Author: Werner Hoch Date: Sun Nov 16 12:50:17 2008 +0100 libgeda: new snap state and snap cleanups Switched toplevel->snap into a enum type and use the newly added states. removed unused and broken function on_snap(). Removed misc wrong comments about the snapping mechanism. commit 8a1b27af48d06ffe4fa2dc71a67810f7b4a71e32 Author: Peter Clifton Date: Fri Jan 2 14:17:31 2009 +0000 Update en_GB translations for libgeda and gschem commit 5d7b92b9f4cf9fb750c61b5b9124598692cbe6aa Author: Bert Timmerman Date: Fri Jan 2 14:13:28 2009 +0000 Updated the Dutch translations for libgeda. (Patched PO file updated on 2009-01-02 by Peter Clifton) commit d7b7b23721b4054172587c9961d4b87f47bee198 Author: Peter Clifton Date: Wed Dec 31 17:26:03 2008 +0000 libgeda: Remove non-private access of PAGE->object_list This allows us to keep better track of where the PAGE must be updated should we have any spatially keyed data-structures in the future. Rename PAGE->object_list PAGE->_object_list to try and discorage any use of it outside libgeda (ideally, outside s_page.c) in the future. commit ca6556ace0a06ec1dd697852f7a1f0ffb86bfb97 Author: Peter Clifton Date: Wed Dec 31 17:25:57 2008 +0000 Add "const" to some places where we deal with GLists of OBJECTs. These GLists themselves are not (and shouldn't be) modified, although the OBJECTs they point at may well be. commit 15ed098497ddac2bc671657c4d4347eb509f7449 Author: Peter Clifton Date: Wed Dec 31 17:25:50 2008 +0000 Refactor o_complex_promote_attribs() not to link the promoted objects. By returning the GList of promoted attributes, we allow the caller to use whatever specialised linking procedures are appropriate for the list they are linking to. For example, linking objects into the PAGE's object_list might in future require calling notification functions. commit 4971020530b55ac275cf30e48fd4c10cd6d8fb4c Author: Peter Clifton Date: Wed Dec 31 17:25:43 2008 +0000 libgeda: Add new API for adding a GList of objects to the page s_page_append_list (PAGE *page, GList *obj_list) will take the GList passed as an argument and append it to the page's object list. The passed GList is not copied, so the caller must not free it after calling this function. commit f013cb1d70d868093ad9aa3ae1e38a5c9079ecc9 Author: Peter Clifton Date: Thu Dec 25 22:08:49 2008 +0000 gschem: Add a code to draw a mesh grid with major / minor lines. Adds new configuration option (mesh-grid-display-threshold {pixels}) which configures the minimum line pitch rendered before switching off the minor, then subsequently major grid lines. (NB: This grid mode is currently not accessible.) commit 059f1be046494e1d1171953138f259b0af90409b Author: Peter Clifton Date: Thu Dec 25 21:25:16 2008 +0000 gschem: Separate out dotted grid drawing and tidy up the code somewhat. Creates a separate static function for drawing the dotted style of grid, and a switch function to pick which grid drawing routine is in use, which is currently just dotted grids or nothing. Adds doxygen documentation for the grid drawing functions. Renames the "grid-color" colour map index and other dotted grid specific config parameters to prepend "dots-". commit aa6e2f9f4eda4b6c3cd11eabd679c2a710b4f222 Author: Peter Clifton Date: Thu Dec 25 20:11:22 2008 +0000 libgeda: Fix mis-matched default colour map definition Reorder the mapping in color-map.scm into strictly numerical order, and annotate the default color maps with their index numbers so this kind of mistake is less likely to reoccur. commit 165de888d86506583241dab79573e81f2cf44dd7 Author: Peter Clifton Date: Thu Dec 25 15:46:09 2008 +0000 Remove GSCHEM_TOPLEVEL and TOPLEVEL indirection for fixed colour indices Colour indices such as grid_colour and select_color are not changed at run-time since (by definition) those graphic elements are always drawn with the sepcified index. Remove the indirection through GSCHEM_TOPLEVEL or TOPLEVEL, and use the appropriate index constant instead. The background_color indirection remains, since swapping this is used to override the background to white when exporting black and white image. commit 02c551b77e47fb0fbf2de3bfa62d43a095862a52 Author: Peter TB Brett Date: Tue Dec 23 09:30:01 2008 +0000 libgeda: Update Guile 1.6 compatibility headers. Add scm_cdr() to Guile 1.6 compatibility checks, and remove uses of scm_is_null(). commit 0029ee5696a4f8c0fd2a0edb64c0096792e24912 Author: Peter Clifton Date: Tue Dec 23 03:46:50 2008 +0000 Fix attribute colours for embedded objects [#2157598] Add an argument, "set_color" to o_attrib_attach[_list]() to specify whether the colour of the attribute should be reset to the default attribute colour when performing the attachment. We set this to true when promoting toplevel unattached attributes inside a symbol onto the schematic page, when the user explicitly attaches an attribute inside gschem. It is FALSE in other cases. In cases where we're creating new attributes, such as o_slot_end(), we specify the attribute colour we want to o_text_new(). Remove colour setting from o_attrib_add(), since there is no point having this code in two places. o_attrib_add() just deals with the datastructures now. commit eed07fa8c85fbeda15e974f186a69f546506fb12 Author: Peter TB Brett Date: Mon Dec 22 21:16:36 2008 +0000 libgeda: Only output PostScript color commands if color changes. commit 736c635ef2f5bfb822169a8c024ebb92cdd17cf0 Author: Peter TB Brett Date: Mon Dec 22 20:22:08 2008 +0000 libgeda: Fix dark background lock color. Drawing of locked objects was accidentally disabled. commit 5453f2680e45dd3f2ffde73f442ba18a6a180437 Author: Peter Clifton Date: Mon Dec 22 19:33:39 2008 +0000 libgeda: Don't pro-actively calculate text bounds, wait until needed. commit b43dd2d3dfa1f50c788c87215a3e080bdb4448ea Author: Peter Clifton Date: Mon Dec 22 19:33:33 2008 +0000 libgeda: Add missing case in o_recalc_single_object() for text OBJECTs commit 96ac0c7622c909604f925ae2a5e242a46ed0b53a Author: Peter Clifton Date: Mon Dec 22 19:33:25 2008 +0000 Use world_get_single_object_bounds() in s_page_get_objects_in_regions() This allows us to ensure the bounds are valid, and trigger a recalc as necessary. commit 56985b0d059fc0487f7b8245cad7b468e737f2fe Author: Peter Clifton Date: Mon Dec 22 19:33:18 2008 +0000 Change s_page_get_objects_in_region[s]() to take a TOPLEVEL parameter This is needed in case we have to re-calculate the bounds of any object. commit d63a40cef31791c8c5209f3695f14c3cdf29ba5d Author: Peter Clifton Date: Mon Dec 22 19:33:14 2008 +0000 libgeda: Fix selection of non-filled paths along their closing edge. If the path is closed, we want to be able to select along the closing line. commit e7fe069ae882f8c0d398cac1b426b8a7df6fff53 Author: Peter Clifton Date: Mon Dec 22 19:08:35 2008 +0000 libgeda: Fix s_color_rgba_decode() to default the alpha channel Fixes cases where the colour map doesn't specify an alpha. Signed-off-by: Peter TB Brett commit 2e4ec93e8689501983a891280d8b1869901113c9 Author: Peter TB Brett Date: Mon Dec 22 16:38:38 2008 +0000 Revert "Use light background color maps as the default." This reverts commit 01bd6420ecad411d804f4a1a3d41af67d901ce6a, and corrects the comments to refer to the dark background as the default. commit 04e17b33aea43f01079d2a0fd1ac9457062aa392 Author: Peter TB Brett Date: Mon Dec 22 15:43:55 2008 +0000 libgeda: Load confd files as last action in system-gafrc. Without loading the configuration files from the confd last in the system-gafrc, it is impossible to override e.g. attribute promotion settings from confd scripts. commit 01bd6420ecad411d804f4a1a3d41af67d901ce6a Author: Peter TB Brett Date: Mon Dec 22 15:43:17 2008 +0000 Use light background color maps as the default. The comments in the rc files have stated for a while that a light background is the default. Furthermore, all the cool CAD software uses light backgrounds these days. commit 619aea627a81a5621036b0a2949e774bb5cb2e6e Author: Peter TB Brett Date: Mon Dec 22 15:42:46 2008 +0000 Separate display and print color map config files. We should be able to print in color using libgeda without needing gschem. commit 12d9e2127329a880ed8532808635d3ffdbf46caa Author: Peter TB Brett Date: Mon Dec 22 15:29:51 2008 +0000 Remove display colormaps from libgeda. Libgeda doesn't need to know about the color maps used by gschem at all. Add a generic function for initialising a color map to a built-in default, and get gschem to use it for its main and outline maps. commit 9f5e54f022b73adb429633461ca88c81c394fd16 Author: Peter TB Brett Date: Mon Dec 22 15:29:51 2008 +0000 Remove (ab)use of "customary" colors. colors.h defines a number of color index index constants with color names (white, black, cyan, etc.) This is evil and bad, because the color map might actually be loaded with entirely different colors. This also adds a DEFAULT_COLOR macro, usable in most places the "evil" existing contacts are used. commit a8b55895fd6833fa36ef92c6bc7c82490ea3a294 Author: Peter TB Brett Date: Mon Dec 22 15:29:50 2008 +0000 Remove legacy color Guile functions and variables. Remove the color-mapping functions and variables obsoleted by the new system. commit 06449db86b91db91bf5d4551acc2794cf34c97f1 Author: Peter TB Brett Date: Mon Dec 22 15:29:47 2008 +0000 New Scheme colormap syntax. Add new color map functions for setting multiple colors at a time with a simple list-based structure. Use one per color map rather than one per color. Use a wrapper macro in Scheme to make it easier to construct Scheme color map structures by using symbols instead of indexes to specify map entries. commit af4756b843d6da32b8355a50bf3bb1f2bee0a539 Author: Peter TB Brett Date: Mon Dec 22 15:20:17 2008 +0000 Store colors as components rather than as strings. Rather than storing colors in libgeda as strings or GdkColor structures, store them as a set of four 8-bit unsigned integers. Since the GdkColor structure is renderer-specific, remove all trace of it from libgeda -- only gschem needs to know about it. commit 05c77c57cc78b0963e52a91e6f56e8005089690a Author: Peter TB Brett Date: Mon Dec 22 15:20:14 2008 +0000 Specify colors with RGB/RGBA hexadecimal notation only. Transparency (alpha channel) is used as follows for PostScript: if alpha is non-zero, objects are drawn fully opaque. If alpha is zero, objects are not drawn. The alpha channel is ignored for GDK drawing. commit e2d6f2bfb1c24d5dfaf193dfae4aaa7cf4d0f236 Author: Peter TB Brett Date: Mon Dec 22 00:36:27 2008 +0000 Add explicit 'enabled' field to COLOR structure. Colors are implicitly 'enabled' by having values specified in the configuration file. Up until now, whether a given color is enabled has been checked by checking if the color name strings are NULL. This patch adds an explicit 'enabled' field to the COLOR structure. It is set TRUE when s_color_request() is called for that color index. commit 3c49636e1a9e9e703fab4c6aafc69affb4fd2bab Author: Ales Hvezda Date: Sun Dec 21 16:23:26 2008 -0500 Updated ChangeLogs one more time. commit e97e63ac7955c34f6fbd820cbdea9ea9b90e9ec9 Author: Carlos Nieves Onega Date: Sun Dec 21 22:16:33 2008 +0100 Updated spanish translation for libgeda and gschem. commit 2f3e07a1fa7fd92ab163d2cd966efd98ab306512 Author: Ales Hvezda Date: Sun Dec 21 14:40:21 2008 -0500 Updated ChangeLogs again in prep for the 1.5.1 release commit 76d02f7f935d930d8093bd49b7eb0836d3b1aa6e Author: Ales Hvezda Date: Sun Dec 21 14:06:17 2008 -0500 Updated all ChangeLogs in prep for the 1.5.1 release. The update was done by running: ./update-changelogs.sh 1.0-20070526..master commit 84d3b0199bec40652b1381474f7f76d7b24a6ff7 Author: Ales Hvezda Date: Sun Dec 21 13:48:42 2008 -0500 Manually ran make update-po in all the po directories This is in prep for the upcomging 1.5.1 release. commit 680e08085d44c9876bdadef0ca7ef25b474c2006 Author: Ales Hvezda Date: Sun Dec 21 13:39:29 2008 -0500 Updated all versions to 1.5.1 20081221 35:0:0 Updated by running: ./update-versions.sh 1.5.1 20081221 35:0:0 commit c84879ae316698d0d1a85048cdc8417e71ec167e Author: Ales Hvezda Date: Sun Dec 21 11:35:25 2008 -0500 Added missing file (configure.ac) from maintainer-clean files configure.ac is generated from configure.ac.in and should not survive make maintainer-clean. commit 2c1c7ff82e5ba02c432eb9e1e9fe44ac97e5ecc7 Author: Ales Hvezda Date: Sun Dec 21 11:24:43 2008 -0500 Added libintl.rc to .gitignore to make git status less cluttered commit 7289597377b3a0efd00c29b5da08956b25dffafc Author: Werner Hoch Date: Sun Dec 21 12:32:57 2008 +0100 gschem/libgeda: updated german translation commit 9e9b1ab60ff8740f4039471efaa5435193d83c14 Author: Ales Hvezda Date: Sat Dec 20 18:12:46 2008 -0500 Manually ran make update-po in all the po directories make update-po was run in prep for an upcoming release. It will probably have to be run one more time before the final release is done. commit d8cc920d932f1557f3d93da6abd1d99e690f39ef Author: Peter TB Brett Date: Sat Dec 20 21:47:12 2008 +0000 gnetlist: Optimise connection traversal algorithm Increase performance for traversing schematic connections by optimising tracking of how many times objects have been visited. commit 6329c5a7bdae9573f01f92403e4645e79e66aab5 Author: Peter TB Brett Date: Sat Dec 20 14:41:05 2008 +0000 Update copyright header dates to 2008. (And I'll have to do this all again in a few days time). commit 978a127bf1f7174fd5146371d0cbbfc6a8f2baf8 Author: Peter Clifton Date: Sat Dec 20 08:25:06 2008 +0000 Avoid and remove OBJECT variable draw_grips We can infer the required logic from OBJECT->selected, and the resulting code is cleaner. commit 68f782583cc41b542dc237cb9173f64ffc01ce76 Author: Peter Clifton Date: Sat Dec 20 08:09:57 2008 +0000 gschem: Just redraw everything when we get an expose event Disable generation of our backing pixmap and remove o_invalidate_rect() calls from various drawing functions. The backingstore is straight to the screen, so there is no need to make that call (it causes a redraw loop). commit 67daa4d705d62d16133feb2d9a3a77cacb9b34de Author: Peter Clifton Date: Sat Dec 20 05:49:39 2008 +0000 Allow bounds of lines and arcs inside a COMPLEX to form a selectable box. This allows existing symbols, such as logic gates etc.. which have no outer box, nor yet make use of closed paths, to be easily selectable. commit 94602fdc724dd31527c3ceed2092ddeee1d954e0 Author: Edward Hennessy Date: Sat Dec 20 04:42:25 2008 +0000 Symbols now selectable by clicking inside their shapes. This patch changes the selection behavior by allowing symbols to be selected by clicking inside any contained shape. This behavior works for symbols with boxes, circles, and paths. Patch modified by Peter Clifton: Added m_line_shortest_distance(), (m_line.c) and make use of that in m_polygon_shortest_distance() rather than faking a line OBJECT. Change all o_*_shortest_distance() functions to take a parameter "force_solid" so we avoid having to use a specialised dispatch function to treat constituent primitive objects inside a COMPLEX as solid. commit d785f7cf34f581bbb18fbc73dced8e44bc28ab90 Author: Peter Clifton Date: Sat Dec 20 04:35:30 2008 +0000 libgeda: Simplify shortest distance test for text Since we're always treating the text bouning box as a solid area, some of the conditionals can be simplified, as in the picture case. commit 6e8f757d3aa23219bb0259064dbed5ffa64fb341 Author: Peter Clifton Date: Fri Dec 19 00:59:52 2008 +0000 Remove next/prev linking from the STRETCH structure. Use GLists instead. The PAGE now maintains a GList of STRETCH objects instead. This keeps the code a lot simpler and allows us to use more standard GList functions. commit 5ac7d324af0630fc8ad6f8692bcd80fe3d7b81d1 Author: Peter Clifton Date: Thu Dec 18 23:01:16 2008 +0000 libgeda: Fix memory leak in g_get_attrib_value_by_attrib_name() commit ba936e6bb6c321b7c9d433a8276d7cccd17c9889 Author: Peter Clifton Date: Thu Dec 18 22:52:42 2008 +0000 libgeda: Fix complex_parent for prim_objs of embedded objects When we read in the embedded objects for a complex, we need to set the complex_parent argument for each of them to point at the complex. This bug manifested in failed netlisting for embedded objects, and has been manifest since: commit f4dab83b1ca0e197f02f520a6ae525aeac5a252d gnetlist: Use the complex_parent property of an OBJECT, not the HEAD node. The omission which made this a latent bug was in: commit ec2e929742bb682be52d02818916b1f57c343e48 libgeda: Set complex_parent on all prim objects, not just their HEAD node commit 2aabf7fa7200f55b6bf3825cdf382af901484f0a Author: Gabriel Paubert Date: Wed Dec 17 14:31:12 2008 +0000 libgeda: Fix type parameter to s_basic_new_object, which should be an int The type parameter is stored as int in the OBJECT structure, so we should be careful that this function can accept any valid type number. commit 645ddeba66b2bb589e6d5097dc8ead13529fd26f Author: Peter Clifton Date: Wed Dec 17 01:34:14 2008 +0000 libgeda: Fix mistake leftover from cleaning up o_*_shortest_distance() m_polygon_shortest_distance() calls o_line_shortest_distance() (which I missed). It fills in geometry to a LINE structure, then calls the above function. Make up a fake OBJECT structure as well, since we changed it to take an OBEJCT * instead of a LINE *. commit 1a38d368b89110372d311ddcd22a515b88d87ca0 Author: Peter Clifton Date: Wed Dec 17 01:09:05 2008 +0000 libgeda: Select text using the OBJECT's bounding box, not prim_objs Makes selection of text objects much easier, and will be needed when we use an external text rendering API rather than our own internal font. commit abb681ddca37e729c3f17c48ca6d8d46e2f3dd2b Author: Peter Clifton Date: Wed Dec 17 00:29:41 2008 +0000 libgeda: Clean up o_*_shortest_distance() functions Make all functions take an OBJECT * as their first argument, rather than a BOX, CIRCLE etc.. This keeps the function signature uniform and allows the routines full access to the whole OBJECT state. Also use g_return_val_if_fail() as elsewhere in the code. Favour primitive types such as double and int, rather than gdouble and gint to be consistent with the majority of the gEDA codebase. commit 822d04bc29291979b91dd3222a27bbcb295e7b56 Author: Peter Clifton Date: Mon Dec 15 22:50:24 2008 +0000 Delete references to the non-existent object type OBJ_HEAD. (CODE!) Ok, cleaned up some whitespace as well.. couldn't resist. commit 07c7ea85f21c05b24513f1b087d839f098456408 Author: Peter Clifton Date: Sat Dec 13 17:56:36 2008 +0000 libgeda: Add function s_page_objects_in_region() s_page_objects_in_region() returns a GList of OBJECTs which are inside, or which intersect with the given region. commit c24af025cba433db83db48d4b614632b2d5a517c Author: Peter Clifton Date: Fri Dec 12 16:08:43 2008 +0000 Replace calls to s_conn_return_complex_others() with s_conn_return_others() Teach s_conn_return_others() to understand COMPLEX objects. commit 7f4ec05b6812bf412ad23da67b82c9378c57aa0c Author: Peter Clifton Date: Fri Dec 12 15:28:07 2008 +0000 Replace calls to s_conn_..._complex with a non-specialised version Renamed s_conn_remove() to s_conn_remove_object() s_conn_..._object() can then call s_conn_..._complex() as needed. commit 136efaf13287e97165bf511f146714ec94796d9a Author: Peter Clifton Date: Fri Dec 12 15:26:43 2008 +0000 Replace calls to s_tile_add_line_object() with a non-specialised version s_tile_add_object() can then call s_tile_add_line_object() as needed. commit 77541e1ec2efdc989b0a17864c1c0802080ff835 Author: Peter Clifton Date: Fri Dec 12 14:03:27 2008 +0000 Remove un-necessary copying of line end-points in o_..._copy() The end-points are already set when o_..._copy() calls o_..._new(). commit d2877ab739c26ed6330fdeac2711326442395640 Author: Peter Clifton Date: Fri Dec 12 13:29:55 2008 +0000 libgeda: Only add buses to the tile system if ADDING_SEL is FALSE No functional changes here, since s_tile_add_line_object() silently returns if ADDING_SEL is TRUE. To make the code similar to other OBEJCTs, don't call s_tile_add_line_object() in the first place. commit eca34fca24e6d29a1b42c95daee0602c452fecd6 Author: Peter Clifton Date: Thu Dec 11 22:26:56 2008 +0000 Revert "Remove unused "toplevel" argument to s_conn_* functions" This reverts commit b211658fcddb84828c437a65bf6bd73fcc4b1918. commit 28e12a770b23ffbe08c994cbd98d21a581b2cd2d Author: Peter Clifton Date: Thu Dec 11 21:44:24 2008 +0000 Add API s_page_delete_objects() to delete all OBJECTs on a page commit 921a39edd130ed3bbfe83d9c39c3a9085c405d9a Author: Peter Clifton Date: Thu Dec 11 21:21:03 2008 +0000 Remove function o_delete(), which just wraps o_delete_object() commit b211658fcddb84828c437a65bf6bd73fcc4b1918 Author: Peter Clifton Date: Thu Dec 11 20:40:15 2008 +0000 Remove unused "toplevel" argument to s_conn_* functions commit c13d8d0cee5f8d6695b5a8a6592a144bbacf86a2 Author: Peter Clifton Date: Thu Dec 11 14:23:55 2008 +0000 libgeda: Minor edit to prototype for o_attrib_return_attribs() Use the same variable name in the prototype and the code. commit 4c6af30bf52cfe9c25057eaca2cf3f2edd7e76c3 Author: Peter Clifton Date: Thu Dec 11 13:25:25 2008 +0000 libgeda: Tweak o_save_objects() so it can be used to save attributes This allows us to use o_save_objects() recursively for saving attributes, and remove o_save_attribs() which was otherwise almost identical. commit 955a025379dae2a1c39b31a4653e7daa335013ad Author: Peter Clifton Date: Thu Dec 11 13:25:15 2008 +0000 libgeda: Fixup doxygen comments for o_complex_get_toplevel_attribs() commit beeb987b7d7858bbc4956f8f2d9a5fd4a894a158 Author: Peter Clifton Date: Tue Dec 9 19:28:34 2008 +0000 libgeda: Check for NULL before updating slots after attaching attribs If reading a file which contains an illegal object type (which fails to read), then contains syntax attaching attributes to that object, we may attempt to update the slot on a NULL, or incorrect object. Updating slots on the wrong object is harmless, but causes a crash for NULL objects. Check for the NULL pointer before doing the update. Also check for NULL before handling embedded object data, and set new_obj to NULL when we read an invalid object. commit 38ce8aae73beec00d603e4cda0ca5eee738a3cb8 Author: Peter Clifton Date: Tue Dec 9 19:23:22 2008 +0000 libgeda: Abstract removing objects from the page with s_page_remove () commit 617797b5a47d370c4fee19110c826502b7e3082b Author: Peter Clifton Date: Tue Dec 9 16:19:09 2008 +0000 Remove linkage between OBJECTs and use GList for OBJECTs on the page This affords quite a lot of code clean-up, since we no longer have to maintain two versions of each operation which works on lists. commit 6e5b34f6b333158481c67a031353cb8a8b4ba7e3 Author: Peter Clifton Date: Tue Dec 9 13:56:19 2008 +0000 libgeda: Add doxygen comment for s_page_append() commit 33b897881891a4a7bce7fab0db73f4923d701cbd Author: Peter Clifton Date: Tue Dec 9 01:46:06 2008 +0000 libgeda: Fix build error in s_page_append() commit 9dd241d9f87ad78f27772e9490d3afa2a80621bf Author: Peter Clifton Date: Tue Dec 9 01:38:21 2008 +0000 libgeda: Add convenience function for adding objects to the page Adds s_page_append() which links the passed object to the end of the page's object list. commit d089b532b3b5ca2b5e155a23994ed35fb85ec4a5 Author: Peter Clifton Date: Mon Dec 8 18:42:41 2008 +0000 libgeda: Make box and circle hatching functions public Allows them to be used in the GUI for hatching these objects. commit 2f5b7e9d890953680caa4fa111c31a0be4123d97 Author: Peter Clifton Date: Mon Dec 8 17:16:20 2008 +0000 Adjust MINGW32 specific CFLAGS from the suite Console applications should not build with the -mwindows flag, otherwise output reach the console. Conversely, we should build the GUI apps, gschem and gattrib with -mwindows so they don't bring up a console window when running. commit 7648acbe63cf2b12e9afd3dbb4456cb4ee02512e Author: Peter Clifton Date: Mon Dec 8 16:44:42 2008 +0000 Make functions in m_polygon.c public commit 0542fb0af9756b35641b6683dc3301bda9e4d792 Author: Peter Clifton Date: Mon Dec 8 16:44:36 2008 +0000 Revert change which moved sPOINT into a private header file This structure is needed in gschem for interacting with the polygon routines in m_polygon.c commit c01757cd814e7c92cb4c64a6e134aa670b9750d1 Author: Peter Clifton Date: Mon Dec 8 16:29:11 2008 +0000 Add rendering code to draw hatched fill in paths commit 42b77331701214e518a9249e07b0e04c6c6d501b Author: Peter Clifton Date: Mon Dec 8 16:29:08 2008 +0000 Better path printing support Allow printing of hatched paths thanks to Ed Hennessy's code to hatch arbitrary polygons. commit 7ad1508b5dfa3a38f30176a72b288d5eb68f5050 Author: Edward Hennessy Date: Mon Dec 8 16:29:05 2008 +0000 Implemented distance selection mechaism for path objects This patch implements the distance calculation to path objects that may include both line segments and Bezier curves. Also, the distance from a point to a line (o_line_shortest_distance()) is enhanced to handle the case where both endpoints are equal. Minor formatting edits by Peter Clifton commit 53193798aec9d4f833126b3e7d7811511c8b2cf3 Author: Edward Hennessy Date: Mon Dec 8 16:23:40 2008 +0000 Path selection and hatching support Added utility functions for path selection and path hatching. Edited to s/POINT/sPOINT/ and other minor formatting mods by Peter Clifton commit 2155126bafe11b36ca5dfaa1a9c0a06a63f136ee Author: Peter Clifton Date: Mon Dec 8 16:18:23 2008 +0000 libgeda: Fix doxygen headers to start consistently Use the "Qt" style /*! */ rather than the JavaDoc style /** */ commit 0545db388236ea7a7aaa49d8911ad96481b4978e Author: Peter Clifton Date: Sun Dec 7 17:33:46 2008 +0000 Remove some old comments better explained in commit history Comments annotated with a dates and developers initials clutter the code with historical details people may be reluctant to remove. Not all of these are still relevant, and those which are should probably could be kept in such a way as not to suggest code ownership. The commit revision log is a better place for determining authorship. Fix some whitespace in surrounding areas where I couldn't resist. commit 27ce6d5531d9dac2bf6c1933df6ba6ff88c3d2ae Author: Peter Clifton Date: Sun Dec 7 17:13:04 2008 +0000 o_..._read(): Remove redundant variable assignemnt and tidy whitespace. commit ae116565a078a4f781ca5c32944d0b8193d1c3d2 Author: Peter Clifton Date: Sun Dec 7 16:59:02 2008 +0000 libgeda: Consistent tab/spaces and sort order in Makefile.am commit 31c00dd1779cfe122951c29b2632e2ad838d423a Author: Peter Clifton Date: Mon Nov 24 14:59:55 2008 +0000 libgeda: Don't prompt to run g{sch|sym}update on version 1 files These utilities were designed for upgrading files prior to the introduction of numbered versions, and running these utilities could be damaging to people's version 1 schematics. commit 3f607ec3eefd9477d277747be089ac94e5afbd57 Author: Peter Clifton Date: Mon Nov 24 01:35:02 2008 +0000 Use g_get_home_dir() if we can't find the HOME environment variable. NB: We can't just use g_get_home_dir() on its own without changing semantics. g_get_home_dir() prefers the home directory specified in the passwd file, over $HOME, so we try looking for the HOME env. variable first. BUT: some places in gEDA do just call g_get_home_dir() directly. Ideally we should tidy these up to be consistent at some point. commit 4e4ea9e5fae8436e6e830965fbb5f8b60f191d64 Author: Werner Hoch Date: Sun Nov 23 14:24:20 2008 +0100 doxygen: documentation for s_page, o_attrib and o_basic Added overview pictures for the page system the attribute object relation and some docs for the basic OBJECT. This commit aims to be an updated replacement for Stuarts great overview diagram: gEDA_Structures_20050108.pdf commit d2ab7cfcc4dd21e06a3d2e9ac6d756b7968c0b7a Author: Dan McMahill Date: Tue Nov 18 22:33:45 2008 -0500 Use the SHELL variable to locate a shell for icon-theme-installer /bin/sh on some systems like SunOS (solaris) is too broken but in those cases SHELL is typically set to a functioning shell like /bin/ksh. This repairs the install on "shell challenged" systems. commit 626cf786f28b1c8f5f7727f30576947de1e30509 Author: Werner Hoch Date: Thu Nov 13 23:17:00 2008 +0100 doxygen: libgeda text and and font documentation Added some more detailed description and pictures to the o_text_basic.c file. commit 1d9a97190ebf91c11ae29bbab69c4871033f92bb Author: Werner Hoch Date: Sun Nov 9 18:23:04 2008 +0100 libgeda: rewrote parts of o_text_create_string [#2247421] Fixed the text overbar issue if the negation line spans over more than one line: \_negation line with newline\_ Rewrote the logic of the function, splitted it into a state machine part and an exectution part. It's much easier now to follow the meaning of the code, now. commit 4cb7cfe82698bb20f0afc92bb354415143ec4a8c Author: Werner Hoch Date: Sun Nov 9 17:11:03 2008 +0100 libgeda: fixed text read function for fileformat version 2 Reading multiline text with file format 2 failed. This happend because the file format was checked for version 1. Let's check for a file format verion greater than 1 for the multiline text feature. The bug appears since the file format version bump in c2c94821ec6c9a83d0144adad7f6fa190f403af3 commit c2c94821ec6c9a83d0144adad7f6fa190f403af3 Author: Peter Clifton Date: Mon Nov 3 00:23:52 2008 +0000 Bump fileformat verison to 2 Since we've added path support, we need to bump the file-format version before any new release is made. commit beae647a1e0217dc5802084a6e00522a59ad5a28 Author: Peter Clifton Date: Sun Nov 2 20:20:32 2008 +0000 libgeda: Emit each segment of paths on separate lines This allows greater redability of the path output, and simpler diffs when a single control point changes. Update the stock symbols which had paths emitted on a single line. Both read-back fine, but its best that we ship symbols in a state where a load / save cycle would not change the formatting. commit b6f3379b8144b72492e3a9922939ba99ab4d4480 Author: Peter Clifton Date: Sun Nov 2 19:47:37 2008 +0000 libgeda: Attempt to fix f_nomalize_filename for win32 systems Patrick's re-written code for this made the assumption that the root portion of an absolute path in windows is 3 characters long, e.g. C:\. This is an invalid assumption to make. Unfortunatey, g_path_is_absolute() regards paths such as \foo as absolute, from which our code then assumed it could strip off the first 3 characters. There are also UNC paths such as \\server\share\ where the root portion is an arbitrary length, which would not be handled correctly. g_path_skip_root() is aware of these details, and could be used to pick out the root portion of a path accurately, but it doesn't help in all cases. We could use it to determine that we need to add a current drive-letter to a "semi-absolute" path without one, however there is also the case with a path such as "C:foo", where we would need to insert the CWD from a particular drive. Path -> Root ---- ---- \\srv\share\foo -> \\serv\bar\ (fine, path is absolute) C:\foo -> C:\ (fine, path is absolute) C:foo -> C: (?) (needs current directory from drive C) \foo -> \ (needs current working drive or UNC share) foo -> (needs current working drive and directory) Rather than trying to implement the logic to normalise paths on Windows, conditionally compile in usage of the Win32 API function GetFullPathName() when _WIN32 is defined. This implementation is slightly modified from the Windows portion of libiberty's lrealpath function. (GPL V2+). f_normalize_filename() now differs slightly in its sematics on Win32, as GetFullPathName() doesn't require or check that the file exists on disk. We could add this feature if it turns out to be required. commit 35c1fad3cfab34053fcd850e2a0208db54558baf Author: Werner Hoch Date: Sun Nov 2 14:59:14 2008 +0100 remove unused print functions from o_text_basic.c The following functions are obsolete: o_text_print_text_width, o_text_print_text_height o_text_print_text_height_full They are no longer used since the rework of the postscript code in the commit 1b6e818196f268a3ea1fca7135e413147a36ed6a by Mike Jarabek commit a0bd1fa71f376b01212f655bfdcd9da4fb046868 Author: Werner Hoch Date: Sun Nov 2 14:42:56 2008 +0100 doxygen: documentation for libgeda o_text_basic.c commit ad9d7ca705f1135a957d6e76244b164e94328ef1 Author: Werner Hoch Date: Sun Nov 2 11:13:32 2008 +0100 remove unused defines from o_text_basic.c ... and move some variables in front of all functions commit 2f30918c3ae433204df9149e6b494b32e2db8559 Author: Werner Hoch Date: Tue Oct 28 22:20:36 2008 +0100 doxygen: libgeda: fixed more warnings from the doxygen log added some documentation, too. commit f470af7a28afe423ded6171ea3c8a2b31ff56f43 Author: Peter Clifton Date: Sat Nov 1 20:47:41 2008 +0000 Revert applying -Werror to compiler flags when linking with GCC (CODE!!) Depending on the gcc version, the original developers might not see the warning until the software gets into the end user's hands (and tries building it with an older/newer version of gcc). Most warnings are not catastropic, but by using -Werror they are _all_ catastropic. If a developer wants to get rid of all warnings, they should either: 1) run make -s and see/fix all the warnings, and/or 2) modify the Makefile's themselves and add the -Werror flag temporarily. (Comments explaining rationale snipped out of an email from Ales). commit 2c2bfc91b4cff115df6528d375042096d8046664 Author: Peter Clifton Date: Sat Nov 1 16:09:26 2008 +0000 Placeholders for fixing some warn-unused bugs in libgeda commit 09eacbfb36e2b00758bce8d8add2f8f56cdcfdbb Author: Peter Clifton Date: Sat Nov 1 16:09:26 2008 +0000 Use -Werror when building with gcc compilers. Hopefully this will help to ensure compiler warnings get noticed and fixed by developers. commit f9f3eec945746a3f1ed6683fb861d21c4e8a2048 Author: Peter Clifton Date: Sat Nov 1 15:47:01 2008 +0000 libgeda: Remove obsolete bug comment from getcwd call. getcwd call was replaced with g_get_current_dir() call in commit cd70e88b8c7faa4beea8b13b846e92807a252e63 commit 01a544083a1161bfae9a976962823488e09b0ed7 Author: Peter TB Brett Date: Mon Oct 27 00:19:19 2008 +0000 libgeda: Split sPOINT definition into new struct_priv.h. sPOINT is unused outside libgeda itself, and is not a member of the public API, so hide its definition in a private header file. There are probably many other structure definitions which are also candidates for being moved into the newly-added struct_priv.h. commit 3741fec77dde128ad41921926a1f5c26f8b32d9f Author: Peter TB Brett Date: Mon Oct 27 00:19:16 2008 +0000 libgeda: Get rid of more unused color stuff. There are some completely unused externed declarations in libgeda relating to colors. Remove them. commit 9cf8c8ac92c43eb50f2639c576722a287e73017f Author: Peter Clifton Date: Sun Oct 26 20:07:12 2008 +0000 Rename POINT to sPOINT (as used in m_basic.c), to avoid clash on win32. commit f7b1d8d15b0e7679332f4ab3695676aba0f890fd Author: Werner Hoch Date: Sun Oct 26 18:06:10 2008 +0100 doxygen: misc fixes of doxygen warnings commit 8898cd06ea5e7faffe349fcf6cba4660f6557d18 Author: Werner Hoch Date: Sun Oct 26 17:35:13 2008 +0100 doxygen: documentation for libgeda o_complex_basic.c commit bbb3342a28c451bc40b7fa5406e5698ee3433dcb Author: Werner Hoch Date: Sun Oct 26 15:12:38 2008 +0100 libgeda: removed unused box macros in o_box_basic.c commit d4c19f00f07050376c4ddac731d7569983a1817d Author: Edward Hennessy Date: Sun Oct 26 10:45:54 2008 +0000 Changed postscript output functions to use generic hatch algorithms. Changed both box and circle postscript output functions to use the generic hatching algorithms. commit 69cf1b86ca4c8e4011efdbdaab3b4f858980714b Author: Edward Hennessy Date: Sun Oct 26 10:45:28 2008 +0000 Added functionality to hatch arbitrary polygons. Added functions to hatch arbitrary polygons. This patch also includes functions with similar signatures to hatch boxes and circles. This patch also includes geometric transformations, which is required by the hatching functions. commit 49536f111d55100ea12574a445264074fee321e3 Author: Peter Clifton Date: Sun Oct 26 10:42:58 2008 +0000 Add place-holders for printing paths with different line / fill styles Currently, paths are always drawn with a solid stroked outline, and only solid filling is implemented. commit bcaf9f8dafcd25335b61b2ea80d071bde720bbd1 Author: Cesar Strauss Date: Sun Oct 26 10:41:31 2008 +0000 Use pkg-config support for Guile if present. Using pkg-config allows easier cross-compilation, since the build process can use a pkg-config binary native to the build machine with .pc files for the host machine. commit 19765672b4293cae3cf7237a633f7741ce3e4883 Author: Cesar Strauss Date: Sun Oct 26 10:41:30 2008 +0000 libgeda: Conditionally include sys/wait.h depending on its presence. Some platforms (e.g. MinGW) do not have sys/wait.h. In those cases, define the WIFSIGNALED, WTERMSIG, WIFEXITED, WEXITSTATUS macros as constants, allowing us to use command backed symbol library sources, but with reduced error handling. commit d322f0919b078b4ae553224477678008915dfb0c Author: Cesar Strauss Date: Sun Oct 26 10:41:27 2008 +0000 Add configure test for platform's support of the getlogin() function. If the getlogin() function isn't present on the host platform (e.g. MinGW), don't emit the %%Author comment in libgeda's postscript output. commit dbd70154fa54654121c200946c161839b28c349f Author: Werner Hoch Date: Sat Oct 25 22:10:57 2008 +0200 doxygen: documentation for libgeda o_bus_basic.c ... and some file headers. commit 15c0ec6270423dc3be610fff89c6e922e0e6975a Author: Werner Hoch Date: Sat Oct 25 21:11:56 2008 +0200 libgeda: removed duplicate file format definition VERSION_20020825 was defined in o_basic, but it's allready defined in defines.h. commit e8324b367c8bb23536e72593192b53723d22c3d4 Author: Werner Hoch Date: Sat Oct 25 10:51:29 2008 +0200 doxygen: documentation for libgeda o_pin_basic.c commit 232b3fc9ddbfaa67bf2552c4cf6dc47a736fec3e Author: Werner Hoch Date: Thu Oct 23 21:48:33 2008 +0200 doxygen: documentation for libgeda o_net.c added function documentations to o_net.c small documentation fixes in s_tile.c commit 4043c6326d7d56e01cd878a81d1e86c0fcb774b8 Author: Werner Hoch Date: Fri Oct 10 10:33:02 2008 +0200 libgeda: apply GList usage of always-promote-attributes [#2072230] Changed all variables from char* to GList*. Changed initialisation of that variable. Use the GList in o_complex.c to check the list. commit a4144872c28b3d4f8d192aa31f10e77eed811542 Author: Werner Hoch Date: Fri Oct 10 08:59:42 2008 +0200 libgeda: always-promote-attributes: accept list and string [#2072230] The function g_rc_always_promote_attributes accepts list and strings now. The space separated attributes in a string are marked as deprecated. The user should use a scm list in future. commit 2e83bf2b37e093578088eef616e15ee361e85199 Author: Peter TB Brett Date: Sat Oct 25 20:01:50 2008 +0100 Remove legacy PNG color specifications. The configuration files provide a way of specifying colors for PNG output, but these are never used -- the PNG output just uses the same color map used for on-screen display. Remove the redundant specification and associated data structures completely. commit ee89ff1fbf0364843861c0797bb4f0d3a425e5fe Author: Peter TB Brett Date: Sat Oct 25 20:09:09 2008 +0100 libgeda: Remove COLOR.image_color and two unused functions. The image_color member of the COLOR struct is never used. Remove it. Similarly, the s_color_get_name() and s_color_image_int() are unused and therefore removed by this patch. commit bbe251bc64ed2db2976a26116d22a69fe678b9fd Author: Peter TB Brett Date: Sat Oct 25 18:57:16 2008 +0100 Get rid of s_color_get_index(). This function is very clearly the Wrong Thing, and could potentially result in incorrect color indices ending up in schematic files if two or more color map entries have the same value. This patch removes the function entirely, and modifies the Scheme code which uses it to simply pass color indices around instead. Note that the results of s_color_get_index() were never actually *used* in the existing code. commit 2a4fdb13021d0153e788fe3b2fc005f273dcdf4b Author: Peter TB Brett Date: Tue Oct 21 16:52:09 2008 +0100 Validate calls to scm_c_eval_string(). [2105219] Because the reporter's version of Guile is broken, a lovely garbage collector segfault occurs if a null string is passed to scm_c_eval_string(). For now, wrap all calls to scm_c_eval_string() with mutable arguments in g_scm_c_eval_string_protected(), and since the latter function seems to behave when passed a NULL string this bug should just go away. commit 67b4f6d41a25e4847f0f611512c1c44887a18d49 Author: Werner Hoch Date: Sat Oct 18 16:04:20 2008 +0200 libgeda: memory leak fixes in s_clib.c and o_text_basic.c commit cfd3bf75707dc8d031deb58d6edea3936384b027 Author: Werner Hoch Date: Sat Oct 18 11:14:42 2008 +0200 Makefile to convert svg images to png and pdf If inscape doesn't work, try convert. commit e10b58d0b01553a1c600ef3a9532d1615171ff78 Author: Werner Hoch Date: Sat Oct 18 10:44:46 2008 +0200 doxygen documentation of st_tile and s_tile.c added svg images for s_conn and s_tile commit 8731bb244e698f067ee18ad932240ba2b266a007 Author: Werner Hoch Date: Fri Oct 17 20:11:46 2008 +0200 doxygen comments for the connection system st_conn and s_conn.c commit 80ef18d6f79a12ba5a4d9269d0a77c0fa45217f4 Author: Werner Hoch Date: Tue Oct 14 19:36:03 2008 +0200 doxygen: fixed UTF-8 encoding error generating libgeda pdf docs failed because of some non-UTF-8 characters. commit f0a96de8b545dbd900e87db6abf54a0b6df830ab Author: Werner Hoch Date: Sat Oct 11 09:02:03 2008 +0200 .gitignore: log files and source tagging files added Added the files of the "global" source tagging program and the logfiles of the gEDA programs to .gitignore. commit 0a823197e4d511cc5fdfb38013808847781dd2f5 Author: Werner Hoch Date: Fri Oct 10 18:15:06 2008 +0200 libgeda: changed object adding flag for embeded symbols [#1692626] Copying embeded symbols in gschem had ghost connections. When copying objects into the place buffer, the ADDING_SEL flag has to be set. commit 92f154a486073fe0a0b224469d7e17a680985283 Author: Peter Clifton Date: Wed Oct 8 23:12:05 2008 +0100 Fix memory leak introduced in o_complex_get_promotable() Need to free the GList of attributes returned from o_complex_get_toplevel_attribs(). commit 9c79c0782ad64813a6a302f185299403853d1386 Author: Peter Clifton Date: Wed Oct 8 22:05:13 2008 +0100 Clean up o_complex_get_promotable and o_complex_is_eligible_attribute Use a helper function to get the list of toplevel attributes, then filter down. commit d8c1f320b40451a1a83b7c442c8dc376d3d0f4e1 Author: Werner Hoch Date: Wed Oct 8 22:01:10 2008 +0100 libgeda: function to get all unattached attributes New function o_complex_get_toplevel_attribs() that returns a GList of all text objects that are not attached to other objects like pins, nets. It will be use to get all attributes from a symbol. (Slightly modified due to merge conflict by Peter Clifton) commit bd149a6b4797272b362ecf48a7044f0bfbf0f4bf Author: Peter Clifton Date: Wed Oct 8 21:57:47 2008 +0100 Remove un-necessary "attribute" flag of OBJECT structure. Attributes can be detected just as well by looking at the OBJECT->attached_to pointer. commit 47bc5e1dcd9ed7e47c600567afe1862fa8c2a63d Author: Peter Clifton Date: Wed Oct 8 21:55:47 2008 +0100 libgeda: o_save_objects(): Don't make un-needed casts of return values Casting just hides real bugs. The return values, and the type being assigned are the same - no need to cast. commit 7188a0ad5b8ab28a5dd8c60141b5e5b36d1b0690 Author: Peter Clifton Date: Wed Oct 8 21:30:05 2008 +0100 When copying text in o_list_copy_to(), there is no need to set visibility. o_text_copy() copies the visibility of the object being copied, so the code following the call to o_text_copy() was a NOP: if (selected->attribute && selected->visibility == INVISIBLE) { new_obj->visibility = INVISIBLE; } commit 2b36577f5634ff99e919773c4e34aa2e39dbce51 Author: Ales Hvezda Date: Sun Sep 28 14:09:50 2008 -0400 Added code to do something more sane when trying to print tabs Previously if a tab character was encountered in a text string, the postscript output code would output a Y with a dot on top. This is clearly not a tab character. The patch adds explict handling of the tab character to output 8 spaces instead. Not perfect, but better behavior than before. commit fa9ee5f3a5776cda1df419457864c0e51d8585b4 Author: Peter Clifton Date: Sun Sep 28 18:58:53 2008 +0100 libgeda: Add scm_c_define for "OBJ_PATH" type for consistency. (CODE) This was missed when path support was introduced. commit 900274f0d6b08031f7cfc18a332da6b1939a44d1 Author: Peter Clifton Date: Sun Sep 28 18:40:55 2008 +0100 Fix non-literal format strings which cause compiler warnings. We should be careful to avoid passing arbitrary strings into functions which take printf style arguments. In that case, always use the construct ("%s", string) rather than passing string as the format argument. Some cases were fixed by using g_strdup instead of g_strdup_printf(), some simply replace printf() for puts(). commit 3f780a7f86e4c994c108146898419f4708e7fc48 Author: Peter Clifton Date: Sun Sep 28 18:40:54 2008 +0100 libgeda: Fix object fill breakage caused when making o_..._new() Ensure we call o_set_line_options() and o_set_fill_options() on the new object directly. In a couple of places, "object_list" was used, but the code in commit #2550db8e1d981ccab55b7f2ae6e9932198a53b59 meant that the new object wasn't yet linked into that list. commit d424abcf4e93934fd6268d9cb186f7415e0e83c2 Author: Ales Hvezda Date: Sun Sep 28 13:21:42 2008 -0400 Removed unused OBJ_ROUTE and OBJ_THRU_HOLE object types commit 635d287d3d0d41d431a88d7164c2de2b536c241a Author: Peter Clifton Date: Sun Sep 28 14:28:05 2008 +0100 Fix path printing to obey the (output-color "enabled|disabled") setting Bug noted by Ales during testing. Thanks! commit 53439f075b0be1edd2ae18e34f8a0f8f4d503e08 Author: Peter Clifton Date: Sun Sep 28 14:27:59 2008 +0100 Rename "path" object identifier in the fileformat from "p" to "H" All other OBJECT type identifiers are upper case, and for consistency, now patHs are too. NB: No releases have been made since path support was added, so this change is still permissable. commit b7f477143e79138c4d5d33e1dec1421b8419791c Author: Peter Clifton Date: Sun Sep 28 01:03:12 2008 +0100 Make o_..._copy () return the new OBJECT without linking it into any list. Allows cleaner use of objects where we might want to insert the copied object into a GList rather than a self-linked list of OBJECTs. commit 2550db8e1d981ccab55b7f2ae6e9932198a53b59 Author: Peter Clifton Date: Sun Sep 28 01:03:06 2008 +0100 Make o_..._add() into o_..._new() which don't link the new OBJECT. Allows cleaner use of objects where we might want to insert the object into a GList rather than a self-linked list of OBJECTs. commit 70e6c7c4e5c765a30137c0f93b4ec08fd5802030 Author: Peter Clifton Date: Sun Sep 28 01:02:59 2008 +0100 Add critical warning for unknown object types in o_list_copy_to () This makes the switch on object->type consistent with many of the other functions which use this construct. commit 46b923ea26b1732c757267e77c514d15912a1514 Author: Peter Clifton Date: Fri Sep 26 01:26:27 2008 +0100 Fixup copy-paste comments in o_path_basic.c commit 1fffc27a3b62cc32a70edcc1ee89ff458318c6bc Author: Peter Clifton Date: Fri Sep 26 00:57:52 2008 +0100 Add support for arbitrary paths (filled and unfilled) The data-structures and on-disk format (which utiliseSVG style path strings) support stright line and bezier curve segments. Paths can be closed or open, and store line style and fill information in common with other geda objects. The path string parser is based on (slightly modified) code from librsvg version 2.22.2 (LGPL). Code from rsvg-path.c and rsvg-bpath-util.c (Copyright (C) 2000 Eazel, Inc.) was combined to form libgeda/src/s_path.c. These have been modified to use gEDA defined path data structures. The rendering implementation is based upon a small porion of the function rsvg_cairo_render_path (..) from rsvg-cairo-draw.c The parser still retains support the full richness of SVG path strings, although all instructions are subsequently normalised on to move, line, bezier and "close path" records. This support retained for convenience when entering artwork (which can be copied from an SVG editor). When saved, normalised paths are written out. The current rendering and shortest-distance computations are limited to straight line segments. Bezier segments, where encountered are treated as a straight line between their two endpoints. commit 699f46d8a598c1cfa972f0ddf80e39d18c907ece Author: Peter Clifton Date: Fri Sep 26 00:57:37 2008 +0100 Fix f_print_set_line_width() to emit valid postscript Previously this function emitted "%d mils setlinewidth\n". The "mils" portion seems to be left over from previous printing code, as "mils" isn't defined to be anything in prolog.ps, nor in the headers we emit. Our units are scaled to mils, so we can just emit "%d setlinewidth\n". commit ec2e929742bb682be52d02818916b1f57c343e48 Author: Peter Clifton Date: Wed Sep 24 01:07:37 2008 +0100 libgeda: Set complex_parent on all prim objects, not just their HEAD node Allows a primitive object inside a COMPLEX to be linked back to the COMPLEX without traversing to the HEAD node of the prim_objs list. commit 45efb32383b15576cc98a95e1d93d44793e6f2e8 Author: Peter Clifton Date: Mon Sep 22 01:54:24 2008 +0100 Move calls to attribute promotion code from inside o_complex_add() Previously o_complex_add() would perform attribute promotion or delete / hide eligible attributes depending on the "attribute_promotion" argument passed to o_complex_add(). Break these into separate operations: 1. Get / add to OBJECT list, a single complex object with o_complex_add(). This object has its prim_objs exactly as the symbol exists on disk. 2. EITHER: Promote the eligible attribtues with o_complex_promote_attribs(). (For GList based processing use o_complex_get_promotable(), attach the returned objects as attribs and place in the appropriate GList.) OR: Delete / hide eligible attributes with o_complex_remove_promotable_attribs() All behaviour relating to attribute promotion should be identical after this commit. If not, it is a bug should be reported. (This includes the insertion order of the OBJECT and it's attributes into the object list). commit 806065ae428b105340fc6380918514bfe9746d86 Author: Peter Clifton Date: Wed Sep 17 19:34:14 2008 +0100 libgeda: Remove unused function o_list_search() commit 9993a0c13cc1b1aa5bb0c61a7355e89cd8f37fca Author: Peter Clifton Date: Wed Sep 17 19:33:03 2008 +0100 Remove un-necessary use of o_list_search() g_make_attrib_smob_list() and o_attrib_return_attribs() are passed the object they are operating on directly. There is no need to prove it can be found in the object list as well. commit 52fe25b3614b70a3ab059ecd1f980ddde447d108 Author: Peter Clifton Date: Wed Sep 17 19:32:53 2008 +0100 libgeda: Remove unused function o_list_delete() commit 0090ef6ff6e9adfc8ab48d7d7aa110dbab1bed79 Author: Peter Clifton Date: Wed Sep 17 19:25:00 2008 +0100 libgeda: Add convenience function o_attrib_attach_list() Calls o_attrib_attach() for each item in the passed GList commit 68e398b00526dacc4ce1d610af192d4a2977db4d Author: Peter Clifton Date: Wed Sep 17 19:24:59 2008 +0100 libgeda: Tidy / simplify o_glist_copy_all_to_glist() Since we no longer have to pass o_attrib_attach() a linked object list for it to find the attrib to attach, we don't have to link the objects up as we copy them, and can call o_glist_relink_objects() at the end. commit 1745bca0359488bb6f8bd06d84f7ae952e48d665 Author: Peter Clifton Date: Wed Sep 17 19:24:59 2008 +0100 Remove unused TOPLEVEL variable object_parent commit 7baf5c629eb620e7db9b3fa5837cc07bdfe29f4f Author: Peter Clifton Date: Thu Sep 11 21:36:35 2008 +0100 libgeda: Tidy o_attrib_attach() harder Remove searching in parent_list for the attribute we're about to attach. This check isn't needed, we were passed the attribute as an argument. Let the caller be responsible for making sure it is linked into the appropriate object list. commit 6b78047686ad919b90b8119250acde3f50bd3dc8 Author: Peter Clifton Date: Thu Sep 11 21:33:09 2008 +0100 libgeda: Remove assertion buffer != NULL in o_read(). buffer should never _be_ NULL since we catch errors from g_file_get_contents(), but if somehow it was, the error is caught more gracefully in o_read_buffer(). commit 78224abe91c881df499244aff2691432f0e61b55 Author: Peter Clifton Date: Thu Sep 11 21:31:30 2008 +0100 Change f_open_flags to only return FALSE when the return GError is set. Callers assuming the GError is set when we return FALSE may crash if we return FALSE without setting it. Such a crash was noticed with development code where o_read() returned NULL without setting the GError. In the current code, o_read() should never return FALSE without setting the GError, and those cases where it could potentially in the future are g_return_val_if_fail() constructs used to detect programming errors. Programming errors are NOT meant to be reported via the GError mechanism. Call o_read() with a temporary GError, so we can still return FALSE from f_open_flags() if we encounter a problem and the user has passed err = NULL, disabling detailed error reporting. Don't test for NULL returns from o_read(), continue as if the page loaded was empty. If o_read() were to return a GList in the future, these errors become indistinguishable from an empty list. Tests returning NULL should log appropriate error messages via g_return_val_if_fail(). Since we don't test it, don't assign the return value of o_read() to the page's object_tail. We already re-assign object_tail based on walking the linked list from its head anyway, so there is no need. commit eb77a42fd47ae8dfd8218fadca1eb1ab6fd6b8e0 Author: Peter Clifton Date: Tue Sep 9 01:23:03 2008 +0100 Fix error message given when file cannot be found. The codes used in the GError are not the same as those returned in errno. Construct our message using the string from the GError, rather than incorrectly using the GError's code with g_strerror. commit 0726171f20b716c9de69d0ae843b338d78ac22ad Author: Peter Clifton Date: Sun Sep 7 23:37:45 2008 +0100 Add comment in s_page_delete() regarding toplevel->page_current The page being deleted still has to be made current because of assumptions made in s_delete_object() commit 3f6f9afbb9eb6770520f785e094169d9f2b164dc Author: Peter Clifton Date: Sun Sep 7 23:37:45 2008 +0100 Re-add wanted portions of #95923f7de815ec58819eaf94ab9332d51a28fbb9 Simplify prototype of s_tile_remove_object(). Don't pass TOPLEVEL and PAGE arguments which aren't needed. commit e350d47b39bd358f55949e787511eab54b0048be Author: Peter Clifton Date: Sun Sep 7 23:37:45 2008 +0100 Revert commit #95923f7de815ec58819eaf94ab9332d51a28fbb9 This commit, "Simplify prototype of s_tile_remove_object()." removed code to make a page being deleted the current page. This change introduced a crash when closing gschem with multiple pages open. We shouldn't really need a page to be current to delete it's objects, but this is an underlying bug which should be fixed before this part of the patch is re-applied. commit b4ed5e92d203c7449b7d33e924a41b093e1de930 Author: Peter TB Brett Date: Tue Aug 26 12:55:07 2008 +0100 Remove duplicate definitions of do_logging. Also sets the default in libgeda to TRUE. commit 24ca3cf1c066ae4b21d4834ae0d0210fb7a78f91 Author: Peter Clifton Date: Mon Aug 25 02:02:30 2008 +0100 libgeda: Tidy implementation of o_attrib_attach() Various cleanup and restructuring of the code. Should be identical in functionality, but with an extra g_critical warning instead of a silent return in the case attrib is not found in parent_list. Changed printf to the console for g_warning or g_critical messages. Some of these cases where we can't attach an attribute probably ought to be caught in gschem, in which case we could make these warnings a higher severity, such as g_critical. commit e9a15f504113e61933fc8ffadc4941b976dabfbb Author: Peter Clifton Date: Mon Aug 25 01:03:55 2008 +0100 libgeda: Make o_list_search() emit warnings if passed NULL pointers commit 4c335d84aed6c972899de27c7d9d4249aec6761d Author: Peter Clifton Date: Sun Aug 24 22:27:29 2008 +0100 libgeda: Tidy implementation of o_complex_is_eligible_attribute() Don't pass promote_invisible as an argument, it can be retrieved from the TOPLEVEL * passed instead. Since we have one caller, remove the public prototype and make the function static in o_complex_basic.c commit a767fbe5a20ef936f98dc91deeb8349e37bb5b94 Author: Peter Clifton Date: Sun Aug 24 22:27:29 2008 +0100 libgeda: Add convenience function o_glist_relink_objects() This function is used to walk a GList of OBJECTs and ensure that their next / prev pointers chain up to the same objects as in the GList. Make use of this function to make o_complex_add() more readable. commit 50396f1fecc6f26fc9b8b62fd8e8abef88e4fdee Author: Peter Clifton Date: Sun Aug 24 22:27:29 2008 +0100 libgeda: Change "C" attribute promotion defaults to match shipped config commit c95bd0a1f21be899510e07af28d0190fc09dc469 Author: Peter Clifton Date: Sun Aug 24 22:27:29 2008 +0100 Remove unused #define DEFAULT_SERIES_NAME ... defines commit 1ffd8a568339d23a3fe6c17fbb698b455e288805 Author: Peter Clifton Date: Sun Aug 24 20:41:21 2008 +0100 libgeda: Fixup some comments about attribute promotion / hiding / removal commit c8fffac5b00946ae8d709e7947c62893615e1263 Author: Peter Clifton Date: Sun Aug 24 20:12:08 2008 +0100 Remove unused toplevel variable "series_name" commit 04d0eb73a3324d1383ba14bc3ab2834972e041b2 Author: Peter Clifton Date: Sun Aug 24 15:01:15 2008 +0100 Restore comment about returned strings in o_attrib_get_name_value() Restores a useful comment about string ownership which was removed in commit 872287f23b4880b01babed777efe7976783feab2. commit 17a95f57912f9ee5ac63044188054948e58332ca Author: Peter Clifton Date: Sun Aug 24 14:57:04 2008 +0100 Restore o_attrib_get_name_value() returning NULL strings on failure Revert removal of this behaviour in commit 872287f23b4880b01babed777efe7976783feab2. If passed a location to return strings, set the pointer to NULL before returning FALSE for an invalid attribute. It provides a potentially convenient means to catch the invalid attribute. commit 7de36c95b7b8d465024b2767466ed246e5591dc2 Author: Peter Clifton Date: Sun Aug 24 14:56:28 2008 +0100 Revert allowing attributes with empty value in o_attrib_get_name_value() Another un-wanted change in 872287f23b4880b01babed777efe7976783feab2. Attributes are not legal if they have an empty ("") value part. commit 70590a2312e2650f61a220980f9cf58bdad88987 Author: Peter Clifton Date: Sun Aug 24 14:47:05 2008 +0100 Revert "name = value" space handling in o_attrib_get_name_value() commit 872287f23b4880b01babed777efe7976783feab2 re-wrote this function using UTF-8 string manipulation functions, and changed a test for " " characters either side of the attribute's "=" to use g_unichar_isspace(). This g_unichar_isspace() also tests positive for tabs and newline characters, making previously legal attributes illegal after this commit. Revert usage of g_unichar_isspace() in favour of single byte tests. An important property of UTF8 encoding is that the 7-bit ASCII codes are not used within bytes of a multi-byte character. Given the start of a chacacter in UTF8, testing if the first byte compares to the 7-bit ASCII code we want is a sufficient test. commit 71607a1b433a12192039cb4a0edf62b95c63440c Author: Peter TB Brett Date: Tue Aug 19 19:23:05 2008 +0100 libgeda: Provide definition for do_logging. This allows libgeda to build on systems where shared libraries are not permitted to export symbols that are only resolved at link time. commit b215d134d1271c6a1723e406f1a0b67be8f59bc6 Author: Peter TB Brett Date: Sun Aug 17 02:36:35 2008 +0100 libgeda: Clean PostScript strings. Tools like PSTricks override the PostScript 'show' command to do magic. The existing text code only called 'show' for one character at a time, making such tools very hard to use. This patch draws the overbars for each line, and then calls show for the line as a whole. It also lets overbars be applied over multiple lines of text. commit 6e8e2e48d54fa3e121d540d86ba1aabf322d3d95 Author: Peter TB Brett Date: Sun Aug 17 02:36:35 2008 +0100 libgeda: Unbreak text accessors. Tests added in 4ad986d333e12980f92325d1a66884bc5b5388fe should have had opposite logic. commit 908ea935a7bb807927402eb8f5aa6c6a703e1792 Author: Peter Clifton Date: Sun Aug 17 01:34:11 2008 +0100 Add libgeda/po/POTFILES.skip for intl/plural.c Fixes make distcheck. commit 3ac41f06858892ececf94264b0f6b6cacfd168a5 Author: Peter TB Brett Date: Sat Aug 16 22:28:52 2008 +0100 libgeda: Add bounds validity flag. Adds a flag to OBJECT marking whether they are valid (i.e. whether they've been updated since the last operation which modified it). Each of the per-type recalc functions is updated to set the flag, although nothing clears it yet (this will be in a later patch). When world_get_single_object_bounds() is called, it checks the flag, and if not set it calls the appropriate recalc function. If the flag is -still- not set, it fails. commit 4ad986d333e12980f92325d1a66884bc5b5388fe Author: Peter TB Brett Date: Sat Aug 16 22:28:52 2008 +0100 libgeda: Use g_return_val_if_fail in text accessors. Almost as good, and improves readability. commit 1fa51c0ccf1cf09ba184493e9b9aa7670f0752a3 Author: Peter Clifton Date: Sat Aug 16 19:59:57 2008 +0100 o_complex_add: Remove un-needed save/restore of PAGE->object_tail (CODE!) (* FOR GOODNESS SAKE PETER, TRY TO COMMIT THE CODE WITH THE COMMIT!) toplevel->page_current->object_tail was saved and restored around symbol data loading and subsequent attribute promotion. The PAGE->object_tail is not altered during this block of code. This was experimentally verified during significant "real work" usage conducted with a g_assert() prior to the restore step. commit 1a1460c65a9d4e0aee35e39fff0f083c95bd380d Author: Peter Clifton Date: Sat Aug 16 19:18:24 2008 +0100 Remove the ATTRIB struct as it only contained one variable. The OBJECT.attribs GList now points directly at the text objects which hold and display the attribute name and value. commit df8478a9706694220919f3e3f6304a351a7eca68 Author: Peter TB Brett Date: Sat Aug 16 18:10:21 2008 +0100 libgeda: Add static update_disp_string() function. Adds update_disp_string() to o_text_basic.c, to reduce code duplication between o_text_recreate() and o_text_add(). commit e44826c49a0db40b0c5e981431fd005b6e8d9048 Author: Peter TB Brett Date: Sat Aug 16 18:08:31 2008 +0100 libgeda: Add field to TEXT for storing displayed string. Sometimes, the string to be displayed is different from the whole string contained by a TEXT object (for instance, when an attribute has either its name or value unshown). When using "real" fonts we don't want to fix this up each and every time the string is rendered, so it needs to be stashed somewhere. commit 89c9af836536c13d97fde7d8b408e084f4b0e1d5 Author: Peter TB Brett Date: Sat Aug 16 18:04:22 2008 +0100 libgeda: Add accessors to get/set a text object's string. In later commits, direct application accesses to the string in the TEXT structure will be removed. commit efedc62995467645feb5800485783c677730cc40 Author: Peter Clifton Date: Sat Aug 16 16:05:07 2008 +0100 libgeda: Remove deprecated include from o_picture.c (CODE!) commit 288d9e67af83f03534398319d0e8ad16fa631fb0 Author: Peter Clifton Date: Sat Aug 16 15:48:00 2008 +0100 Move gschem defines from libgeda into gschem/include/gschem_defines.h Whilst we're at it, remove some unused definitions. commit 51843b80f3ab5b2d5f0a3cb52bb09b9001ae80ae Author: Peter Clifton Date: Sat Aug 16 15:48:00 2008 +0100 libgeda: Delete unused #define's from libgeda/include/defines.h commit 692a7d38eac4800e355623fe9cbbbf4ffb7c412d Author: Peter Clifton Date: Sat Aug 16 15:47:59 2008 +0100 libgeda: Remove gtk header includes from libgeda.h and libgeda_priv.h Libgeda doesn't use Gtk, only a small spattering of Gdk. Improve cleanliness and compilation time by removing those header includes. commit 2e87904a34cd5ad58bc8a9511dd5915adf9df405 Author: Peter Clifton Date: Sat Aug 16 15:47:58 2008 +0100 libgeda: Rename gtk_[outline_]color variables gdk_... to their types Also added NULL initaliser for gdk_outline_color which was missing. commit 11a2692a1ab8bcee14178286fd719d1ec39e6b9a Author: Peter TB Brett Date: Sat Aug 16 15:24:16 2008 +0100 Draw func cleanup. Rather than having libgeda require other applications to provide the *_draw_func symbols, libgeda should provide them itself. Other applications should then override them as required near their call to libgeda_init(). commit 938cdb93795422fceb56ee3b88bffd1602f8cdf4 Author: Peter TB Brett Date: Sat Aug 16 14:09:03 2008 +0100 libgeda: Only update bounds in o_*_recalc() Some constructors & modification functions were updating directly rather than calling the appropriate recalc function to do it. commit 62a38eefd8d3d9f84d8aeb78e2a1e365080d819c Author: Peter TB Brett Date: Fri Aug 15 22:48:11 2008 +0100 Make some string arguments const. In a few places, strings are being passed into functions and no changes are made to them. Mark these arguments as const. commit b47f576ff69476362941eaa7ad592e6d98ec233f Author: Peter TB Brett Date: Fri Aug 15 18:46:20 2008 +0100 libgeda: Tidy up o_text_recreate() a bit. Mostly by adding a local variable with a pointer to the current OBJECT's TEXT struct. commit 675738b3b7a0c37e3511297040c3abc59619dd0c Author: Peter TB Brett Date: Thu Aug 14 23:27:12 2008 +0100 libgeda: Hide o_*_recalc() from public API. Applications which wish to force recalculation of an OBJECT's bounds should use o_recalc_single_object(). commit 8f1a084c1e26cc08cdab08a1c44e7e802cbdbec8 Author: Peter TB Brett Date: Thu Aug 14 23:27:12 2008 +0100 libgeda: Hide world_get_*_bounds() from public API. Applications which wish to retrieve an OBJECT's bounds should use world_get_single_object_bounds(). commit 3c4ccd08c2f08e37cd7b3894a073e2ae4787420a Author: Peter TB Brett Date: Thu Aug 14 23:27:11 2008 +0100 libgeda: Fix unused variable warning. Left over from 7fcd7db7e5b191a0d5024b129ee2c1cda64a82d7. commit 4c15bbcf06a1840b410f33645d658322c5a38253 Author: Peter TB Brett Date: Thu Aug 14 18:55:55 2008 +0100 Don't crash on zero snap grid spacing [2026598] If snap grid spacing is set to zero, behave the same as if snap is disabled. commit 7fcd7db7e5b191a0d5024b129ee2c1cda64a82d7 Author: Peter TB Brett Date: Thu Aug 14 07:16:54 2008 +0100 libgeda: More follow_symlinks() fixes. Make sure that follow_symlinks() plays nicely with files in the root directory, and also with relative paths to symlinks. commit cfefe89a2b974b9aaa7ff13cb054565c11045b34 Author: Peter TB Brett Date: Wed Aug 13 19:42:06 2008 +0100 libgeda: Make follow_symlinks() actually use its GError. commit 16a171a9e37c2234d83fb3c6800370be2dd50ed0 Author: Peter TB Brett Date: Wed Aug 13 17:14:44 2008 +0100 libgeda: Make sure GError properly freed in f_open_flags(). There was a corner case where a GError used internally to f_open_flags() wasn't getting freed correctly. commit 57815bd72e62999193641f301af9184c0d524cf6 Author: Peter TB Brett Date: Wed Aug 13 23:30:35 2008 +0100 Print command is a gschem setting. Move print command from TOPLEVEL to GSCHEM_TOPLEVEL, and move static defaults too. commit 46eda8a55b9197f7a24d5b04ff94cedc1abc74fe Author: Peter TB Brett Date: Wed Aug 13 23:06:03 2008 +0100 Name i_vars_... functions consistently. Apps should use i_vars_blah(), libgeda uses i_vars_libgeda_blah(). commit 7522ef33777ed3f6cec8dbe8b16620657c3edcce Author: Peter TB Brett Date: Wed Aug 13 19:53:05 2008 +0100 libgeda: Declare static variables privately. Libgeda shouldn't expose its static variables via its installed headers. commit 0db6ea2341ce7cc8c631df75c4d3c30390590b29 Author: Bernd Jendrissek Date: Wed Aug 13 01:55:59 2008 +0100 Split OBJECT allocation from its initialization. Split memory allocation for OBJECTs out of s_basic_init_object(). Add a new helper function s_basic_new_object() which allocates memory for the OBJECT structure, then calls s_basic_init_object(). These changes make it possible to embed an OBJECT structure within another struct, or to initialise an OBJECT in static memory. (Patch modified by Peter Clifton) commit 6cf89af1dc94790e8671a2c5d760a47a31d3a6eb Author: Bernd Jendrissek Date: Wed Aug 13 01:42:06 2008 +0100 o_*_translate_world(): Rename x1 and y1 parameters to dx and dy Makes the purpose of these variables more obvious. commit 02da9f9d11cc04eae292a868172033e3eb6c8147 Author: Bernd Jendrissek Date: Wed Aug 13 01:40:56 2008 +0100 o_{rotate,mirror}_world(): Make error message mention the right function. commit deca0be214ca709ffd2cedeb75919ffdb1dd232a Author: Bernd Jendrissek Date: Wed Aug 13 01:40:55 2008 +0100 s_delete(): Delete code with no effect. If a pointer is already NULL, there's no point setting it to NULL. commit 17c64b764cb42afc8d5b80a66361029655dd644b Author: Bernd Jendrissek Date: Tue Aug 12 23:36:35 2008 +0100 s_basic_init_object(): Set OBJECT type according to new parameter. commit ff25b0c07dcd59e23721cbf9d09ec2a9f41a935a Author: Bernd Jendrissek Date: Tue Aug 12 23:36:35 2008 +0100 s_basic_init_object(): Constify argument. commit 123f5742e323b35169479f0884a66b75104a53ff Author: Peter TB Brett Date: Tue Aug 12 23:14:50 2008 +0100 libgeda: Remove empty 'scripts' directory. libgeda's 'scripts' directory contains nothing (apart from a Makefile), so get rid of it. commit 4ef611b6e1cc6eb47538148ce1d196d495313969 Author: Edward Hennessy Date: Fri Jul 18 20:24:46 2008 -0700 Altered point selection mechanism to use distance instead of just a bounding box. This patch improves the mechanism used to select objects when using a single point. In addition to using the bounding box, this patch calculates the distance between the selection point and the object itself. This calculated distance provides a more accurate means to determine the actual object the user selected. Signed-off-by: Peter TB Brett commit 5d15eddd3e197b2cbc0bc00f9a4c02bc719aa014 Author: Peter Clifton Date: Tue Jul 29 03:42:48 2008 +0100 Clarify temporary assigment of TOPLEVEL->complex_parent in o_complex_add() Move the save/restore of the TOPLEVEL->complex_parent variable in o_complex_add to be closely placed around the call to o_read_buffer, the function affected by this assignemnt. In the previous locations, the scope of influence of adjusting this variable was not clear. commit c2b96c33851322c236d4582d6bc5d31a3485a7c1 Author: Peter Clifton Date: Tue Jul 29 03:29:24 2008 +0100 Remove some redundant instances where TOPLEVEL->object_parent was used. commit a90588ec6566f944756800f38f74a02f867dca87 Author: Peter Clifton Date: Tue Jul 29 03:18:39 2008 +0100 Remove the TOPLEVEL variable internal_symbol_name which is now redundant. Also removes functions which set and free'd this variable: o_complex_set_filename() o_complex_free_filename(). commit d1ff81f8d8a1d18781f8cb7c4476417947a61cec Author: Peter Clifton Date: Tue Jul 29 03:18:38 2008 +0100 Remove the TOPLEVEL variable current_attribute which is now redundant. Also removes functions which set and free'd this variable: o_attrib_set_string() o_attrib_free_current(). commit e931091e28f90e7bd0f755ee30665cc5b7461b74 Author: Peter Clifton Date: Tue Jul 29 03:00:59 2008 +0100 gschem: Combine code for operations which handle placement of OBJECTs. Replaces duplicated code related to component / text placement, copying / multi-copying objects and pasting from buffers with a common set of routines in the new file, gschem/src/o_place.c This refactoring lays the foundation to allow rotatation / mirroring whilst performing any kind of place action, without extensive duplicate code. All of the above operations now use a new PAGE variable, "place_list", rather than previous specialised variants complex_place_list, and attrib_place_list. Paste-buffer contents are copied into the place list, rather than placing directly from the paste-buffer, ensuring that any rotation / mirroring of the place-buffer does not change the paste-buffer. Helper functions, o_text_prepare_place() and o_complex_prepare_place() are added to load the place list with appropriate text, or a symbol. These are passed as arguments to the respective functions, avoiding the use of state stored in toplevel->current_attribute and toplevel->internal_symbol_name. commit cc5ea879b0ccfc7815b43b30ddfae13941aff4eb Author: Peter Clifton Date: Tue Jul 29 01:20:04 2008 +0100 Add OBJECT flag "dont_redraw", to skip drawing individual objects. This flag is to be useful when handling move operations which hide rubberbanded objects on the page whilst a temporary copy is manipulated on screen. commit 3e08939b12e6298029a9387299dcdf7a9d6db6a6 Author: Peter Clifton Date: Mon Jul 28 00:40:11 2008 +0100 o_glist_copy_all_to_glist(): Only deselect / reselect selected objects Objects are deselected prior to being copied, then re-selected. Check if the object being copied is selected before we try this, as we may want to copy unselected objects. commit 95923f7de815ec58819eaf94ab9332d51a28fbb9 Author: Patrick Bernaud Date: Fri Jul 25 17:52:39 2008 +0200 Simplify prototype of s_tile_remove_object(). commit ac56af89f55594a3739c16692bec4e5974848dc1 Author: Patrick Bernaud Date: Fri Jul 25 17:52:38 2008 +0200 Replace TILE_LOC structure with list of references to TILEs. Removed structure TILE_LOC: now objects have a list of references to TILE structures. commit 1cc266bbe45846030205aa8931cea40fe2dbdf3b Author: Patrick Bernaud Date: Fri Jul 25 17:52:37 2008 +0200 Rename s_tile_add_object() to s_tile_add_line_object() and simplify prototype. commit 7e4d443eea54c8fc19833aa67ae64ed1ffba0e80 Author: Patrick Bernaud Date: Fri Jul 25 17:52:36 2008 +0200 Rename s_tile_remove_object_all() to s_tile_remove_object(). commit e2278f9ed3c49d6226e3e721e55a940cbaed53f3 Author: Patrick Bernaud Date: Fri Jul 25 17:52:35 2008 +0200 Remove unused function s_tile_remove_object_all_crude(). commit 83de2270e9d0f159975e833e1fec213f952c7315 Author: Patrick Bernaud Date: Fri Jul 25 17:52:25 2008 +0200 Remove o_complex_delete(). Removed function as s_delete() does the same thing. commit b86ffc45f699781c220153e2390a54f8b823a930 Author: Patrick Bernaud Date: Fri Jul 11 16:03:16 2008 +0200 Refactor hierarchy function searching for parent page. Renamed s_hierarchy_up() to s_hierarchy_find_up_page() for consistency and modified it to return a pointer on the page found (as other hierarchy find functions) instead of changing the current page. Added description. And finally adapted gschem for this refactoring. commit 06dc1e65b688f88695e47dd38cd9022eb67bbb7c Author: Patrick Bernaud Date: Fri Jul 11 16:03:15 2008 +0200 Simplify prototype of functions for searching pages in hierarchy. Removed 3rd parameter to s_hierarchy_find_[next|prev]_page(): now explicitly search for sibling page of page in 2nd parameter. Also added description for functions. commit 6b15947087caebaa4c85805799362c169e09adba Author: Patrick Bernaud Date: Fri Jul 11 16:03:14 2008 +0200 Rename s_hierarchy_find_page() to s_page_search_by_page_id(). Moved s_hierarchy_find_page() to libgeda s_page.c and renamed to s_page_search_by_page_id(). Also added description. commit d5b7c5788b0498155b583c40caf7615347e88641 Author: Patrick Bernaud Date: Fri Jul 11 16:03:13 2008 +0200 Remove unused function s_hierarchy_down_schematic_multiple() from libgeda. commit 57a4fd272e10a68e05051a9ab9309e252e2103f7 Author: Patrick Bernaud Date: Fri Jul 11 16:03:12 2008 +0200 Purge AC_CHECK_FUNCS() in configure.ac in each package of unused functions. commit 8626a1ed43da05d1b7499c4816eb372f614c0cc5 Author: Patrick Bernaud Date: Fri Jul 11 16:03:11 2008 +0200 Remove unused function vsnprintf() from libgeda. commit c50ba14cea1d60e21d587164612b1866d8e58bba Author: Patrick Bernaud Date: Fri Jul 11 16:03:10 2008 +0200 Replace case conversion functions with GLib functions. Now use GLib case conversion functions, with the added benefit of UTF8 support, instead of libgeda string_tolower() and string_toupper(). Consequently these two functions have been removed. commit a083568359e721485ddeec74fc7a870dc51a9b58 Author: Patrick Bernaud Date: Fri Jul 11 16:03:09 2008 +0200 Remove unused color stuff from libgeda. Remove unused function colornametovalue(), and unused color related structure and macro from libgeda s_basic.c. commit 099ece1d2669a2455501b5ee706df3016653da8c Author: Patrick Bernaud Date: Fri Jul 11 16:03:07 2008 +0200 Cleanup verification of attribute string in libgeda. Modified the test on attribute string in libgeda o_complex_is_eligible_attribute() to use o_attrib_get_name_value(). commit 872287f23b4880b01babed777efe7976783feab2 Author: Patrick Bernaud Date: Fri Jul 11 16:03:05 2008 +0200 Cleanup of libgeda o_attrib_get_name_value(). Rewrote o_attrib_get_name_value(): it now has support for UTF-8 attribute strings ; plus it can return only the name or the value or both name and value. Finally adapted code wherever it can benefits this new feature. commit 9014bf8d0a429713b642912cddcc29e1c39b9068 Author: Patrick Bernaud Date: Fri Jul 11 16:03:04 2008 +0200 Remove unused function u_basic_count_char(). commit 25a40b882113ba6b710b58ad85e7cf7804d3a4ac Author: Patrick Bernaud Date: Fri Jul 11 16:03:02 2008 +0200 Remove unused functions u_basic_strip_trailing() and u_basic_has_trailing(). commit a76cf5cdda91c7070f4765107d3f8be89bbd05b6 Author: Patrick Bernaud Date: Fri Jul 11 16:03:01 2008 +0200 Remove unnecessary strippings of trailing directory separator. These strippings is no more necessary as GLib functions for building filenames (in particular g_build_filename()) takes care of any trailing directory separator for us. commit cd70e88b8c7faa4beea8b13b846e92807a252e63 Author: Patrick Bernaud Date: Fri Jul 11 16:03:00 2008 +0200 Replace getcwd() with g_get_current_dir(). commit 90b0ece453efc80490c6c277386f4f5f7bfdc4af Author: Patrick Bernaud Date: Fri Jul 11 16:02:59 2008 +0200 Simplify build of filenames with g_build_filename() (!). Modified code where possible to use preferably g_build_filename() instead of g_build_path(), or g_strconcat() and friends. commit 19d6d561eb5aea8e580d6ecf72d20bdfc3180ace Author: Patrick Bernaud Date: Fri Jul 11 16:02:58 2008 +0200 Remove unnecessary check following memory allocation with GLib g_malloc(). There is no need to check g_malloc() returned value as when the function fails to allocate memory, it terminates the application. commit a3513b7e6dc7bf6c36d95d4da86082beeb79831d Author: Patrick Bernaud Date: Fri Jul 11 16:02:57 2008 +0200 Replace standard string manipulations with GLib string utility functions. commit da1d2e7b304f9d832bdee9c8dfb9fe4604e19cc9 Author: Patrick Bernaud Date: Fri Jul 11 16:02:56 2008 +0200 Remove tests for NULL prior to freeing with g_free(). Testing if pointer on memory to free is not NULL is unnecessary since g_free() does the test itself. commit ac84ca9171138a0774b4314fd8d8ee148d109474 Author: Patrick Bernaud Date: Fri Jul 11 16:02:55 2008 +0200 Rewrite f_normalize_filename(). Modifies f_normalize_filename() to avoid using realpath() and resolving symlinks. It is derived from the GNU Lib C implementation of realpath() with glib GString and glib portable file-related functions. commit 2800c05634d2c66f586adc1dd0430b0d069686de Author: Patrick Bernaud Date: Fri Jul 11 16:02:54 2008 +0200 Rewrite s_expand_env_variables() with glib GString. commit c1b6775eb651c3e576eb50d9d676cf179e0b2b21 Author: Patrick Bernaud Date: Fri Jul 11 16:02:53 2008 +0200 Rename expand_env_variables() to s_expand_env_variables(). commit 8479d01b6a4a819ae105659a9b9f1e6ab2d85136 Author: Ales Hvezda Date: Sun Jul 6 22:03:02 2008 -0400 Updated all ChangeLogs by running ./update-changelogs.sh 1.0-20070526..master commit 8773525a45c1e33a2f020ac511f628e04ff373b9 Author: Ales Hvezda Date: Sun Jul 6 22:01:37 2008 -0400 Ran make update-po in all po directories (in prep for a new release) commit 8d5bf82866455f9a03ec311ba4b64f3ec48f7f4c Author: Ales Hvezda Date: Sun Jul 6 21:52:34 2008 -0400 Added file which was being "recommended" by running make distdir commit 97c1b01e1c95d2f8a334d916ffc60d35797782c2 Author: Ales Hvezda Date: Sun Jul 6 09:34:01 2008 -0400 Fixed up all icon-theme-installer files to work with non-bash Grabbed the latest icon-theme-installer files from the pcb repository since they have been fully patched to work with non-bash shells. On my ubuntu system, /bin/sh is linked to dash which prevented me from running the previous version of icon-theme-installer. This commit is related to a7e7a28613abe4705ec01011d0f4308ff024251b commit 7ae9572f269c8b973bb4a38014e28dbc10cdcb32 Author: Ales Hvezda Date: Sun Jul 6 08:38:24 2008 -0400 Bumped versions to 1.5.0/20080706/34:0:0 for the next development release commit e5d57e6811046c1899dd32d5c705accfe1857574 Author: Patrick Bernaud Date: Wed Jul 2 15:32:27 2008 +0200 Protects menu items from garbage collector. [#2001303] Fix for Bug #2001303, "segfault with local gschemrc". Protects the scheme menu_items in structure st_menu for the time the C code use them. commit 2c5dfb6823faeb76004c8b6afdcb2ed3cdf483c5 Author: Patrick Bernaud Date: Wed Jul 2 15:32:17 2008 +0200 Add support for mirror flag when adding embedded components. [#1977778] Fix for Bug #197778, "gschem: embed-unembed breaks with mirrored symbols". Adds a missing 'mirror' parameter to o_complex_add_embedded(). The mirror flag read from a schematic file for an embedded component was silently discarded. commit eb0846161bf916d68280bddf2d7dd244e0fe6002 Author: Patrick Bernaud Date: Wed Jul 2 15:32:07 2008 +0200 Improve the search for already opened page in s_hierarchy_down_schematic_single(). [#1909932] Fix for Bug #1909932, "gschem: page manager confused about hierarchy". When looking for a sub sheet in s_hierarchy_down_schematic_single(), the filename may not have been suitable for comparison to opened page filenames. It then failed to identify a sub sheet as already opened and opened it again. Adds normalization to filename prior to comparison. commit a7e7a28613abe4705ec01011d0f4308ff024251b Author: Carlos Nieves Onega Date: Sun Jun 29 19:00:10 2008 +0200 Changed shell from bash to sh in icon-theme-installer Changed shell from bash to sh in icon-theme-installer. This commit is still not tested in non-bash systems. Applied partially geda patch #1978537 (only bash to sh change, not removal of $INSTALL_DATA_EXEC check) from anonymous contributor and Dan McMahill's test case change in line 103 from: http://pcb.cvs.sourceforge.net/pcb/pcb/icon-theme-installer?r1=1.1&r2=1.2 commit 0a770cff6b42dd3ba80215482ee7c4f230b3cf0f Author: Werner Hoch Date: Sat Jun 14 19:41:03 2008 +0200 libgeda: fixed EOL handling for mixed windows/linux usage A file that is created on windows with windows EOL characters may not be read into gschem without errors on Linux. This fix strips off leading and trailing CR characters when reading a single line from the textbuffer. Bug reported by Thomas Arndt [#1993952] The bug was introduced with commit 40833189228f8edeff commit 199743d5ae8e89fa4065e544d998ebaeab1c1cd6 Author: Werner Hoch Date: Sun Jun 15 09:51:17 2008 +0200 libgeda: fix memory leak introduced with the last commit. The function g_path_get_basename returns a newly allocated string. This string has to be freed after usage. Thanks to Peter C. for the hint. commit eaa61c6968d3e17d0525cc476bf4c6d54ebd494d Author: Werner Hoch Date: Sat Jun 14 11:04:52 2008 +0200 libgeda: mingw fix for basename Replace the basename() function by the glib function g_path_get_basename(). Patch written by Thomas Arndt commit 3db78903fb7bd41a0f2d8b4022c2afa18055a54a Author: Peter Clifton Date: Sat May 10 01:49:22 2008 +0100 Calculate bounds of new object when copying an embedded complex. Adds call to o_complex_recalc() in o_complex_copy_embedded(). commit ffa5323869c37b16634f03f41896fb9df6e5f7ad Author: Werner Hoch Date: Sun Apr 20 22:30:25 2008 +0200 libgeda: removed fix_x, fix_y functions This functions are no longer uses after switching to world coords. commit b4aade65f2488b4a7fd74f34a90225c0da7ec9f3 Author: Peter Clifton Date: Fri Apr 18 14:11:07 2008 +0100 libgeda: Remove unused function i_vars_setnames commit af0d9f2e8825f7d23c691deec0e70f1eaaac0e38 Author: Ales Hvezda Date: Wed Mar 5 05:27:41 2008 -0500 Updated version to 1.5.0 to mark the start of the next development cycle commit ffd2298ca90e9e8616a2804c5708cb3d2ccb0a83 Merge: b62e017 1a49d46 Author: Werner Hoch Date: Sat Mar 1 09:43:53 2008 +0100 Merge branch 'magneticnet' commit d68fe1307f4f98aa51844bbf378d5d0a9467b8b2 Author: Werner Hoch Date: Sun Feb 24 10:24:13 2008 +0100 libgeda: bugfix for bounding box calculation of mirrored arcs A mirrored arc has a negative sweep angle (called end_angle). This wasn't properly catched in the bounding box calculation. Bug reported by Kai-Martin Knaak on geda-user mailing list. commit 855f29d44df73caef03ee49bd58f19897f31b69d Author: Werner Hoch Date: Fri Feb 22 21:46:21 2008 +0100 use tiles to find connections for magnetic net mode This commit changes the magnetic net code to use the tiles. This reduces the load when checking all the possible connections for every mouse movement. The patch adds a library function to get object lists which may contain objects in the region of the magnetic reach. In o_net.c the object iterator code has been changed to use the new library function. commit 4d441af32c63bb847ba62b4fb502fd1ed2d39c7c Author: Carlos Nieves Onega Date: Fri Feb 8 20:47:52 2008 +0100 Fix missing %s in two strings. Two strings missed %s. Thanks to Peter Clifton for reporting. commit 5757ce41ac1846814b0e96885942f2e011f2d3b7 Author: Peter Clifton Date: Fri Feb 1 13:06:15 2008 +0000 Rename translations to drop un-needed ISO-3166 country codes. From Debian bug #336796: Using a country part in a translation file is a discouraged practice except in very few cases (such as pt_BR). Using a fr_FR.po file instead of a fr.po file prevents users of fr_CA, fr_BE, fr_LU, fr_CH and all other existing and future locales for French to benefit from the French translation of the program. In general PO files should only be named after the ISO_639 code of the given language and should not use a country part with a ISO-3166 code. The only accepted expcetions to this are: -pt_BR for Brazilian Portuguese and pt alone for "standard Portuguese" -zh_CN for "Simplified Chinese" use in mailand China and Singapore -zh_TW for "Traditional Chinese" used in Taiwan commit 5768fbf65867a586c5f5eb2ac0dba573d1c9912e Author: Dan McMahill Date: Fri Feb 1 00:25:52 2008 +0000 Add missing libgen.h Add a check for libgen.h and if found, include it. This provides the basename() prototype. commit d848ac7f515187a536f10f9e246c1234f648d723 Author: Bert Timmerman Date: Wed Jan 30 22:25:46 2008 +0100 Applied Dutch libgeda translation patches from the mailing list commit 22396b286d50c454287ff94a3c3de414b3f9a08a Author: Werner Hoch Date: Sat Jan 26 19:27:15 2008 +0100 update the pinnumbers if a slot attribute is deleted Update the slots whenever a text line that is attached to an object gets deleted. The update checks the slotting even if there's no slot attribut. This catches the case when the user deletes a slot attribute and the current displayed pinnumbers are not the ones defined in the symbol. This commit fixes [#1880221] commit b202ee510fb90cedd038ce5ec41cc6de453dbeea Author: Ales Hvezda Date: Sun Jan 27 11:47:13 2008 -0500 Updated ChangeLogs for the 1.4.0 release commit 5e4ee69035885d76fba09aa453789be68481c69a Author: Ales Hvezda Date: Sun Jan 27 11:46:06 2008 -0500 Ran make update-po one more time before the 1.4.0 release commit 464f7c5fadc97f0ca5cd80ed343ec9f427938265 Author: Bert Timmerman Date: Sun Jan 27 10:54:27 2008 +0100 Applied Dutch libgeda translation patches from the mailing list commit 3d43c5d642ebe12a69380e8accf5533d338ee5e5 Author: Ales Hvezda Date: Sat Jan 26 20:07:45 2008 -0500 Bumped versions to 1.4.0/20080127/33:0:0 for the next stable release commit 9a4bbc16c5c0e408aabbc69c1c1cc10cb4b7675f Author: Ales Hvezda Date: Sat Jan 26 19:48:29 2008 -0500 Manually ran make update-po in all po dirs in prep for the 1.4.0 release commit 0f8f2cb351e6f594b8a00f2cd447562574f1c0d2 Author: Werner Hoch Date: Sat Jan 12 18:37:27 2008 +0100 forward status messages from the library command to the log The list and get command read data from stdout, thus the stderr can be used to catch the status messages from the library command. commit 082c6d6778d218aabd6df20a955d211335c2f43c Author: Werner Hoch Date: Sat Jan 12 18:08:53 2008 +0100 fixed error handling bug in run_source_command() [#1869941] WIFEXITED returns 1 if the command has exited normaly. Well an error is also a normal exit. A kill would be not be normal. Thus we need to check WIFEXITED and WEXITSTATUS. commit ec4b6287bbb4f709a7d3258a7474ec716933ca4b Author: Ales Hvezda Date: Fri Jan 11 01:23:39 2008 -0500 Manually ran make update-po in all po directories in prep for the 1.3.1 release commit d2047bc2a06e6534ff32464d36f8a95aec11b9d7 Author: Ales Hvezda Date: Fri Jan 11 01:11:12 2008 -0500 Updated all ChangeLogs for this release (1.3.1) commit 8502202774e3fd9abe63b24cc88ab1ec8491a3b9 Author: Ales Hvezda Date: Fri Jan 11 01:09:02 2008 -0500 Updated the revision of libgeda for the 1.3.1 release. 1.3.1 libgeda should be completely backwards compatible with 1.3.0 libgeda. commit 6ac1f25c4a2d88c1e5825aac74265cf442680954 Author: Peter Clifton Date: Fri Jan 11 04:44:32 2008 +0000 Fix invalid memory access with auto-save filename being used after free. Use the "full_filename" variable in f_open_flags() as a base for the auto-save filename. Previous code uses the passed in "filename" argument, however in some cases this argument points to memory which is free'd in f_open_flags() after determining "full_filename". commit 24c736f9502e1cbeac78c69310e9a900e334900a Author: Peter Clifton Date: Thu Jan 10 01:52:41 2008 +0000 Remove unused code to shift pinseq attributes when changing slots. Code was commented as it broke pinnumber= updating, and is no longer required now spice-sdb slot handling is fixed. commit 588809da98f738e6c64c2ec064f0dc2fb12dbd51 Author: Carlos Nieves Onega Date: Mon Jan 7 20:21:31 2008 +0100 Updated libgeda's spanish (Spain) translation. commit 1dc4ba8a72a5d6f596fd48088d42e755164e25b5 Author: Werner Hoch Date: Mon Jan 7 18:45:53 2008 +0100 updated german translation of libgeda commit d6e64f7b3b2ed73fda88462e3bfc5acebba3ac2b Author: Peter Clifton Date: Sun Jan 6 21:13:19 2008 +0000 libgeda: Mark more translatable strings with _() commit 1556ae85b049e89d77507a636dc42c726bcd328d Author: Peter Clifton Date: Sun Jan 6 21:00:40 2008 +0000 Set encoding for translations in libgeda to UTF-8 commit 048bd6f8e2fc1c5f5b01ff3f1cad3a7c9bf43f3e Author: Peter Clifton Date: Sun Jan 6 20:36:52 2008 +0000 Allow configuration of the scroll wheel's action to match GTK app. norms Adds configuration parameter (scroll-wheel ...) which takes either "classic" or "gtk" as a string argument. "classic" remains the default. Tidies x_event_scroll() to deal with the various options in a neater way. commit 0a6a005daec93dff34c41a53815d9ff10c1be20b Author: Ales Hvezda Date: Sun Jan 6 02:04:26 2008 -0500 Oops, added forgotten and important file to EXTRA_DIST commit 624c7a0c95509cda1a118503077979421c93bb0f Author: Ales Hvezda Date: Sat Jan 5 21:21:06 2008 -0500 Added libgeda*.pot files to ignore this machine generated file commit e800618afe70c93c3739d725172dfdba95386232 Author: Ales Hvezda Date: Sat Jan 5 21:14:51 2008 -0500 Manually ran make update-po in all directories commit b2380c0f70344117be7045a5fc1483698fdf4358 Author: Ales Hvezda Date: Sat Jan 5 20:57:51 2008 -0500 Bumped versions to 1.3.1/20080110/32:0:0 for the next development snapshot Note, libgeda's so did not change at this time. commit 6b36311d3be00d9b4901a876f5f4da4f892e3bce Author: Peter Clifton Date: Sat Jan 5 22:10:31 2008 +0000 Remove extraneous printf where they duplicate log messages. commit 9aca06cdb70c3fc9595beb82713eedd90a7e1d16 Author: Ales Hvezda Date: Fri Jan 4 12:57:58 2008 -0500 Added checks at the autogen.sh stage for missing m4 macros This commit adds a autoconf friendly m4 macro to check for undefined macros (originally written by Peter Brett). This macro is used in configure.ac.in to check for a few troublesome macros (guile, nls, gettext, intltool) that are usually missing because a required -dev package is not installed/missing. commit 72581a91da08c9d69593c24756144fc18940992e Author: Werner Hoch Date: Thu Jan 3 13:05:57 2008 +0100 libgeda: initial german translation de_DE translated all message strings added de_DE to the LINGUAS file commit 1697a90e5465dde296199745991e76df8f68c3be Author: Peter Clifton Date: Wed Jan 2 15:41:07 2008 +0000 Changed --with-xdgdir to --with-xdgdatadir for consistency commit c4c409c1cf46a55b74017872d15b6f48d51ce521 Author: Peter Clifton Date: Wed Jan 2 15:35:02 2008 +0000 Change --with-kdedir to --with-kdedatadir This allows greater similarity with the --with-xdgdir paths, by moving the "/share" portion of the KDE mime install paths out of the Makefile.am and into the "kdedatadir" expansion. commit ee47fc5fa6d418a54af62a55a78e508d95a0f913 Author: Peter Clifton Date: Wed Jan 2 02:46:14 2008 +0000 Change usage of ${datarootdir} to ${datadir} for autoconf compatibility. commit d81a0717852c1b6da5b99f6cf0dc93f6ddcdc87f Author: Ales Hvezda Date: Tue Jan 1 14:37:12 2008 -0500 Added configure.ac into libgeda's .gitignore file commit 1a1cbb29f5d1ff118fb91235463e57a48ba81054 Author: Ales Hvezda Date: Tue Jan 1 14:29:27 2008 -0500 Changed libgeda's configure mechanism to be similar to gschem's configure.ac.in In order to allow a wide range of gettext versions to be used, gschem has a configure hack that dynamically figures out the gettext version and creates configure.ac from configure.ac.in. This hack is now in libgeda with the additional improvement that if configure.ac.in changes, configure.ac and configure are automatically recreated. Added a special mode to autogen.sh (recreate_configure_only) to support this improvement. commit 5f3cde4f20975275cb38b52cd3155fda41201209 Author: Peter TB Brett Date: Tue Jan 1 17:24:18 2008 +0000 Fix configure checks for Guile (again). The previous patch missed changing the gschem configure script (generated from configure.ac.in), and got the logic wrong anyway. commit b9ffb4675fbca6e92a4f713c28486e74dcbbeef4 Author: Peter TB Brett Date: Tue Jan 1 15:42:13 2008 +0000 Fix configure checks for Guile. Quote variables to protect them and alter version test logic so that it doesn't think version 2.1 is older than 1.8. commit 2f7e3ae60480743a8268d392272d05bd77dd75c8 Author: Ales Hvezda Date: Mon Dec 31 20:43:08 2007 -0500 Updated all ChangeLogs for the past development release (1.3.0) This step was supposed to happen before the 1.3.0 tarballs were released. These changes will be picked up in a subsequent release. commit ac4f29f0711a3e612fa5d94d1e3d771852bf42bb Author: Peter TB Brett Date: Sun Dec 30 23:54:25 2007 +0000 libgeda: Unbreak g_scm_c_eval_string_protected() Fix bad macro definition introduced in commit 8575431a17efb7a753649ae16087dc8f203981ce by turning it into a proper function. commit 0525e60123ab47ff62c9c30f4a3159ca75bbb456 Author: Peter TB Brett Date: Sun Dec 30 20:15:19 2007 +0000 Add TAGS to some .gitignore files. commit 38c3ac02492a441782e030162cfacf745c1521ad Author: Bert Timmerman Date: Sat Dec 29 16:05:29 2007 +0100 Updated Dutch translation for libgeda. Minor changes on four translations. Changed the header of the file for a meaningfull description and copyright notice. commit ba474af87840a0d49e04a00de96b7df2944c09bd Author: Ales Hvezda Date: Sat Dec 29 09:57:43 2007 -0500 Bumped versions to 1.3.0/20071229/32:0:0 for the next development snapshot commit 5852e531717ba947b7acca39e50f71edd5921f06 Author: Ales Hvezda Date: Sat Dec 29 09:49:46 2007 -0500 Fix problem where changing slot= would not update pins Known to break spice-sdb's slotted component handling, however users are much more likely to encounter the former breakage. Original patch removed the offending code, but this patch just #if's it out for now. commit 7c82238f3b2433607f8af6c873af99a642f05409 Author: Ales Hvezda Date: Sat Dec 29 09:22:38 2007 -0500 Ran make update-po in all po directories in prep for a new release. commit fe7d974a8c2dd0a5b96bbd41b2691cfd5c8a7ecb Author: Peter Clifton Date: Sat Dec 29 11:25:17 2007 +0000 libgeda: Update English (British) translation. commit 27d11542d45423d0febb0f7ef95c8aaf2e96a7a1 Author: Ales Hvezda Date: Sat Dec 29 00:02:06 2007 -0500 Added new i18n files to .gitignore to be ignored commit 91726e0964602983e8f896be86aa056afc96baff Author: Peter Clifton Date: Sat Dec 29 01:41:14 2007 +0000 Change image embedding format to base64 encode the original files Previously, the format was a base64 encoding of serialised output from the gdk_pixbuf used to store the image internally. Due to another bug (now fixed) it is known that no official gEDA release could re-load the embedded images that it saved. This hopefully provides some justification as to why its OK to change the embedding format here. commit 70293381f5af9957afbd3e3fd0614d838738c7a7 Author: Peter Clifton Date: Sat Dec 29 01:37:02 2007 +0000 Compute picture aspect ratio in double arithmetic, not integer. Avoids a nasty bug where coordinates would overflow when attempting to grip-adjust the picture size due to this ratio being incorrect. commit bebdeefaf0f8421fa106151f36c63e7f3a69a17b Author: Carlos Nieves Onega Date: Fri Dec 28 19:14:36 2007 +0000 Add Spanish translation for libgeda commit d197bd400dd217aba91e9b72a9b1ce8bd4c387ec Author: Peter Clifton Date: Fri Dec 28 18:57:09 2007 +0000 Move picture embedding code from o_embed.c into o_picture.c commit 9eed09a311e2289740feb635f1344835a8f86cde Author: Peter Clifton Date: Wed Dec 26 21:35:02 2007 +0000 Fix spelling mistake in libgeda commit 03ac3e16fec8b35e8e1d453d6504bd963bf43149 Author: Peter Clifton Date: Wed Dec 26 00:37:18 2007 +0000 Fix make distcheck broken when adding KDE mime registration files Add .desktop.in files to EXTRA_DIST and the output to DISTCLEANFILES. commit 127cff28ce52f41ce0972e8109049ecb78b09cc3 Author: Peter Clifton Date: Tue Dec 25 23:09:28 2007 +0000 Add English (British) translations for libgeda and gschem commit dbb2a46a6ddba05cc5f71f735a6049b830eeda0d Author: Peter Clifton Date: Tue Dec 25 22:58:28 2007 +0000 Fix spelling mistake in libgeda commit 1aec0fd150a5a73d4bb7bbdd4b058e04819b9a21 Author: Bert Timmerman Date: Tue Dec 25 21:47:10 2007 +0000 Add Dutch translation for libgeda commit de9efa23180c88bfd2e0949a2e41f0d861b36486 Author: Bert Timmerman Date: Tue Dec 25 21:39:58 2007 +0000 Fix spelling mistake in libgeda commit 71c7d0b680117dfb51760f1523aa5293a56ea0d9 Author: Peter Clifton Date: Tue Dec 25 05:25:16 2007 +0000 Add .gitignore files in libgeda/m4/ and libgeda/intl/ commit 44310ac20e15d28122eed9f6f532dc68bcf3c26b Author: Peter Clifton Date: Tue Dec 25 05:23:12 2007 +0000 Fix .gitignore entries for generated KDE mime .desktop files commit b9f741e0906295754fa5e1301cf3079aee88ff55 Author: Peter Clifton Date: Tue Dec 25 05:12:40 2007 +0000 Remove intltool-*.in files during make maintainer-clean commit d7840241c1c8adba3ada978ac1f42b5b2f5b87bc Author: Peter TB Brett Date: Mon Dec 24 17:18:37 2007 +0000 libgeda: Use gettext to translate messages. commit 45f02d40b7654a787589707f087ab33aea581787 Author: Peter TB Brett Date: Mon Dec 24 12:25:53 2007 +0000 libgeda: Wrap translatable strings in dummy _() macro. commit 7589460bcbd8ba7683645b9b5aecd5e0b14ad6d2 Author: Peter Clifton Date: Sun Dec 23 23:31:38 2007 +0000 KDE mime registrations use title-case commit 5218cee423a077d46e2ba02b5697f9058944c2a8 Author: Peter Clifton Date: Sun Dec 23 23:29:46 2007 +0000 Fix typo in icon name for gsch2pcb project KDE mime registration commit 2cbbfb530707d215d81dd876afcc8e78beec646c Author: Peter Clifton Date: Sun Dec 23 23:08:57 2007 +0000 Add .desktop versions of MIME registrations for older KDE desktops Adds new ./configure option to libgeda, --with-kdedir=PATH. For system wide installs, this should be left to its default, ${prefix}. If installing in a home-directory, it should be set to /home//.kde commit a4b3077e848339d9db363d89b4714e09228b3297 Author: Peter TB Brett Date: Sun Dec 23 15:22:53 2007 +0000 libgeda: Load gafrc.d scripts with protected eval. Stops one bad gafrc.d script blocking system-gafrc from loading completely. commit cf220890a4f70ba16fbe3fc5c76e6e371720c5cb Author: Peter TB Brett Date: Sun Dec 23 15:22:53 2007 +0000 libgeda: Make protected evaluators available from Scheme. commit 8575431a17efb7a753649ae16087dc8f203981ce Author: Peter TB Brett Date: Sun Dec 23 15:22:53 2007 +0000 libgeda: Add protected string evaluation functions. Add a protected equivalents to scm_eval_string_in_module() and scm_c_eval_string(). commit 9b1b44f0268271fc167ba5040ab3086cd2901706 Author: Peter TB Brett Date: Sun Dec 23 15:22:53 2007 +0000 libgeda: Add g_scm_eval_protected() Add a function that allows evaluation of a Guile expression safely, catching any exceptions and logging error messages. Modify the rc file helper function g_read_file() to use this new infrastructure. commit eb82d0c6a2a3ae3eb6023375c4db10e0eaf9fb91 Author: Peter TB Brett Date: Sun Dec 23 15:22:53 2007 +0000 libgeda: Set Guile debug flags to aid debugging rc files commit f3be59545162de9a575cdb3d7bc9953377bdc74d Author: Peter TB Brett Date: Sun Dec 23 15:22:47 2007 +0000 libgeda: Use a dedicated header for Guile 1.6 compatibility. Also adds some more useful checks & definitions for 1.8 functions missing from 1.6. commit eaa1db9f3913126b157cdc283b34250d5497530f Author: Peter Clifton Date: Sun Dec 23 06:13:15 2007 +0000 Fix $(DESTDIR) prefix for MIME database update in libgeda commit 375e53fc26a8e6f8f13f3f188b50987290525467 Author: Peter Clifton Date: Sun Nov 18 22:55:34 2007 +0000 Add desktop mime integration and icons to libgeda The schematic and symbol mimetype icons and registration data were contrinuted by Tomaz Solc, and subsequently modified by Peter Clifton, including creation of a gsch2pcb icon in a simlar style. The page outline is from the GNOME icon theme's text-x-generic icon by Jakub Steiner. Uses the intltool framework to translate the mime registration file. commit fdfaaf2d4a7a92eaeb9b4a212a075c639bc9a022 Author: Peter Clifton Date: Sun Dec 23 05:30:21 2007 +0000 libgeda: Add missing noinst_HEADER prototype_priv.h to pass distcheck commit f1d4aeb308de9b805ff0b21d7e94b09bc01dc569 Author: Peter TB Brett Date: Sat Dec 22 21:01:35 2007 +0000 libgeda: Use goto to tidy some error handling in f_print.c commit 091c7484296176f9364ed5663e7a2db4b2920f4b Author: Peter TB Brett Date: Fri Dec 21 17:44:15 2007 +0000 libgeda: Split out private prototypes to new header file. Split out function declarations for functions intended for libgeda internal use only into a new prototype_priv.h. commit 52bb24c3868d14b12480037dc8f0b1450cc78d7f Author: Peter TB Brett Date: Fri Dec 21 17:26:30 2007 +0000 libgeda: Make sure that Guile smobs are initialised. Rather than initialising them in gschem, which is a WTF. commit 8fd1e724fbb7f9b2e109a829c700daf11521c08a Author: Peter TB Brett Date: Fri Dec 21 17:26:30 2007 +0000 libgeda: Now we assume GLib 2.4+, use g_setenv(). commit 39454be8d19bc73e3fb4b4a688a93ddc411d01c0 Author: Peter TB Brett Date: Fri Dec 21 17:26:29 2007 +0000 libgeda: Compile C files in alphabetical order. Purely because it looks nicer. commit 559caed6b573a19f287fb0f1b35e46726acf9631 Author: Peter TB Brett Date: Fri Dec 21 17:26:29 2007 +0000 libgeda: Add a private counterpart to libgeda.h for internal use Provide a single header file, libgeda_priv.h, which includes all libgeda headers and their dependency headers in the correct order. Change libgeda C files to include just this header rather than all the individual headers explicitly. This will make it easier to split out the libgeda headers into public and private declarations. commit 3b040cf8d60a8fbe45f6e7c5f3d71a3dea119357 Author: Peter Clifton Date: Wed Dec 19 17:48:57 2007 +0000 Add intltoolize to the build infrastructure Provide intltoolize infrastructure for translating .desktop and MIME XML files. Run gettextize after intltoolize if required, so that the infrastructure for providing libintl on a non GNU system still works. commit eae5c4643691bf4a675f6df0d31d671715089939 Author: Peter Clifton Date: Tue Dec 18 14:39:34 2007 +0000 Fix resolution of printed images to match that of the original data. commit a146b68dfbffe227f3ab89af2beefb7627e26daa Author: Peter TB Brett Date: Sat Dec 8 14:57:33 2007 +0000 libgeda: Clean g_assert() usage. g_assert() is a heavy-handed approach to sanity checking because it kills the user application on failure. It's better to use less-destructive methods. commit 405e7a33706d1e82d53c8d607aad11f9be8ad559 Author: Peter TB Brett Date: Fri Dec 7 21:48:43 2007 +0000 General log handler improvements - Handle all messages above "debug" level - Send all messages which are neither "message" nor "warning" levels to console using default log handler - Don't print to console from the gschem log handler commit 668ada22ec0f2a48adffcc62daacc6876108ee71 Author: Peter TB Brett Date: Fri Dec 7 21:48:17 2007 +0000 Pass all log info to x_log_update_func In order to enable applications to do interesting things with log messages, they need to have all of the log info (including severity and log domain). commit c8a8611f87b3031e5fe1abb1a8602401ed459c97 Author: Peter TB Brett Date: Thu Nov 29 16:55:39 2007 +0000 libgeda: define s_log_message -> g_message s_log_message was a verbatim copy of the definition of the g_message macro from GLib's gmessages.h. However, we're actually always going to include that header anyway -- this patch removes the unnecessary duplication of code. commit be301530f468e4d0057b3be68e218ac444c2d2be Author: Peter TB Brett Date: Fri Dec 7 17:20:55 2007 +0000 Make libgeda's f_open() & f_open_flags use GError. This patch actually *removes* error message output from file loading errors is some cases. This is for the sake of keeping the patch concise, and will be addressed in later patches. commit 9998632193573058a18c9dc96c7e9a3b1aa0dcc3 Author: Peter TB Brett Date: Fri Dec 7 17:19:57 2007 +0000 libgeda: Make o_read() use GError. commit 2d60c8fd165dbfd577199c2237d44e33655eb8c1 Author: Peter TB Brett Date: Thu Dec 6 21:08:32 2007 +0000 libgeda: Add f_has_active_autosave() Add a helper function for checking if a file has an unresolved autosave file. commit 3dc89aa9635b6eac150e837f24b51811c7504e88 Author: Peter TB Brett Date: Tue Dec 4 23:00:35 2007 +0000 libgeda: Add f_get_autosave_filename() Add helper function for getting the autosave filename for a given file. commit 53cbd813e6d601f86618aa083d656d7aeccb7705 Author: Peter TB Brett Date: Tue Dec 4 22:56:01 2007 +0000 clib: Speed up caching by using pointer rather than string keys. The initial version of the symbol cache used the symbol name as a string as the key, mostly because of the obnoxious 'const' keywords I had put in the definition of s_clib_symbol_get_data(). Having found a way around that, using a pointer to the symbol structure as the key is much faster as it avoids costly string comparisons and allocation of heap memory (as well as being slightly more elegant). commit 9d2d7b0042a75f0494a240ceb79e60173d2e55d7 Author: Peter TB Brett Date: Tue Dec 4 16:17:59 2007 +0000 Fix messages when parsing rc paths. Often, the full path to an rc file was being output twice in the log message given when parsing rc files. commit d3d40d46285c5d0e75be9052d9f23480f9e8bff5 Author: Peter TB Brett Date: Wed Nov 28 23:20:44 2007 +0000 clib: Cache symbol data between library refreshes Adds a cache for symbol data, which is flushed whenever the available component libraries are changed or rescanned. This should speed up large component copying operations. commit 3106000f091b02eb199826c0a0d74a1407f883b0 Author: Peter TB Brett Date: Thu Nov 29 12:58:17 2007 +0000 libgeda: Correct header guards for defines.h commit 0c2871d04305a0fcaf3b6b45a1317a491594a3f4 Author: Peter TB Brett Date: Thu Nov 29 01:29:18 2007 +0000 clib: Clarify naming for search cache commit 7a2ad70e9880b77957dd44d850ae85a08d615640 Author: Peter TB Brett Date: Thu Nov 29 01:29:18 2007 +0000 libgeda: Clean g_assert usage in s_clib.c commit 019d53dce27bdbbb9871510ce34bb995664290c2 Author: Peter Clifton Date: Wed Nov 28 17:24:27 2007 +0000 Simplify o_mirror_complex() coordinate calculation. No mathematical changes, just consolidate x and y coordinate expressions onto one line each, and avoid using temporary variables. commit 0312f7d113e616b0bb55880aa9d23a5197e821a5 Author: Peter Clifton Date: Wed Nov 28 17:24:27 2007 +0000 Fix bug introduced with refactoring of object mirroring API to libgeda. When reading a complex object from file, the mirror property of the complex is set to the desired value and later code then mirrors the prim_objs which make up the complex. o_complex_mirror_world() was used by mistake, where o_list_mirror_world() should have been used. This could be refactored so that complex creation uses higher level o_complex_{rotate,mirror}_world(), rather than setting the variables holding rotation / mirroring state, then manipulating the prim_objs. commit ad5dcb91b8299dfbcda2e7507d4a42a6b6c0e9b0 Author: Peter Clifton Date: Wed Nov 28 17:24:27 2007 +0000 Fix Bug #1838164. Initialise copied_to pointer in objects to NULL. Without explicitly initialising OBJECTs to have a copied_to pointer of NULL, copying a selection containing an attribute but not it's parent object could cause a segfault. The code checks to see where the parent object has been copied for correct attachemnt of the new attrib. If the parent object wasn't copied, this pointer should be NULL. commit 193e2d4b748bc88d504abfa5b3cfba2382193d02 Author: Peter TB Brett Date: Wed Nov 28 16:27:08 2007 +0000 libgeda: Don't use assert.h (use Glib's g_assert instead) commit d64878d06d87592e3fa4a0a478eacff5ea105253 Author: Peter TB Brett Date: Wed Nov 28 16:27:05 2007 +0000 libgeda: Correct func name in SCM_ASSERT call commit ae225157603f063747709fa3d639ed8cdf63f6b1 Merge: 1abfd25 43b5713 Author: Peter TB Brett Date: Tue Nov 27 07:53:37 2007 +0000 Merge with Cesar's mingw/pu branch Merge commit 'cesar/mingw/pu' into premerge commit 1abfd25bf917ee4e90ccdbbbe9921db6ff46c49f Author: Peter TB Brett Date: Sat Nov 24 08:34:13 2007 +0000 gschem: Fix NULL pointer risk in x_image.c [1802087] x_image_update_dialog_filename may attempt to deference a NULL pointer. commit 6831e3cbfbd23964ceb42f294075053899a9bcad Author: Peter TB Brett Date: Fri Nov 23 21:44:18 2007 +0000 libgeda: Update some component library doc comments. commit 8b490a404e682ac4f1e4cbd46e22c92f58b2ae76 Author: Tomaž Šolc Date: Fri Nov 23 21:42:50 2007 +0000 Compilation fixes for Mac OS X 10.5 [1832417] This patch contains changes to gEDA source tree that were necessary to compile on Mac OS X (10.5 Leopard, PPC). commit 537fc4784a25756d7c38b4fbbcc1059b41f5664b Author: Peter TB Brett Date: Fri Nov 23 21:42:47 2007 +0000 libgeda: Add the ability to save into a buffer. commit 493fef662fb68301ad786fcbf3cf5cdbcb1078d1 Author: Peter TB Brett Date: Fri Nov 23 21:42:37 2007 +0000 libgeda: Refactor file header string generation. Replace function for writing file header out to file with one which just returns a string containing the header. commit 0b0d1259692ffe36e3bbc617af78bbf8a1c8f716 Author: Peter Clifton Date: Sun Nov 18 21:34:57 2007 +0000 Improve object mirroring API in libgeda + gschem Implements the o_mirror_world() function which rotates any object, and o_{glist,list}_mirror_world() functions which mirror lists of objects. Moves o_complex_mirror_world() from gschem into libgeda, and modifies appropriate places in libgeda + gschem to use the new API. The old gschem function o_mirror_world() becomes o_mirror_world_update(), a convenience function calling o_glist_mirror_world() and ensuring all necessary drawing and connection updates are made. Removes the o_complex_mirror_lowlevel() function which is made redundant by the above changes. commit 21a8790b0540c374b00cfc45ad79ab474a4655b0 Author: Peter Clifton Date: Sun Nov 18 21:34:35 2007 +0000 Improve object rotation API in libgeda + gschem Implements the o_rotate_world() function which rotates any object, and o_{glist,list}_rotate_world() functions which rotate lists of objects. Moves o_complex_rotate_world() from gschem into libgeda, and modifies appropriate places in libgeda + gschem to use this new API. The gschem function o_rotate_90_world() is greatly simplified, becoming a convenience function calling o_glist_rotate_world() and ensuring all necessary drawing and connection updates are made. This function is renamed o_rotate_world_update(). Removes the o_{complex,text}_rotate_lowlevel() functions which are made redundant with the above changes. commit 8d60088eafd1a1447db10e14436e9bbc3a5a28ce Author: Cesar Strauss Date: Sun Nov 11 14:37:53 2007 -0200 MinGW does not have symlinks. commit 40c0582e39d6a7ed0a41e0e5deedc0bfd03bbddc Author: Cesar Strauss Date: Thu Nov 15 19:11:12 2007 -0200 Use forward slashes as path separators on MinGW. They are also acceptable as path separators on MinGW. commit 4698fd163892243b931fbd7795ad9443f5b2fe58 Author: Cesar Strauss Date: Sun Nov 11 13:38:26 2007 -0200 Remove uneeded MinGW-only libraries. commit ce2255f2633c9bb14dcd3813e019a84d8acce3a3 Author: Peter Clifton Date: Thu Oct 4 21:24:15 2007 +0100 Alter system-gafrc to process .scm files in $GEDA_DATA_DIR/gafrc.d/ This change allows each symbol package (e.g. geda-symbols) to install a scheme config file under this dir to load its contents. This allows additional symbol packages to be installed globally without needing to edit either geda-clib.scm or system-gafrc. Also moves the installation of geda-clib.scm into this directory. commit 23ead18086e59aab22945c37ff95f49e5747f277 Author: Peter Clifton Date: Wed Oct 17 04:50:39 2007 +0100 Remove the ATTRIB linked list in favour of a GList The ATTRIB.copied_to pointer is moved from the ATTRIB struct to reside in the source OBJECT being copied. The ATTRIB *attached_to pointer of an attribute's text OBJECT is changed to OBJECT *attached_to, pointing directly at the OBJECT to which that attribute is attached. This avoids the need to traverse the ATTRIB list and retrieve this pointer from the HEAD attribute node. (A HEAD node is not used in the GList of ATTRIBs). The ATTRIB structure now only contains one element, OBJECT *object. This points to the text OBJECT holding and displaying that attribute's "name=value". commit 88cdb643a1304cd283a2f2ad95993f237e81248b Author: Peter Clifton Date: Wed Oct 17 03:53:38 2007 +0100 Remove unused code from libgeda commit 903db04d2174415fcc6ec6c0e7321d914a25b259 Author: Peter Clifton Date: Tue Oct 9 22:28:54 2007 +0100 Tidy implementation of o_list_copy_all() to be more concise. commit f914d437f4a76df5ba28e80e7dab6f55996a8b59 Author: Peter Clifton Date: Tue Oct 9 22:05:21 2007 +0100 Split out gschem specific TOPLEVEL variables into a new GSCHEM_TOPLEVEL GSCHEM_TOPLEVEL has a TOPLEVEL *toplevel pointer as its first elelment, gschem uses this to call libgeda functions. (Almost) all gschem functions now take the GSCHEM_TOPLEVEL as their first argument. commit 3da83d39b58ab2cb642b93b798ec31be0a725d81 Author: Peter Clifton Date: Tue Oct 9 20:08:26 2007 +0100 Move o_redraw_single() from libgeda to gschem commit fe4375d7185c0d5f7cc8186c1a214981fb6d0edd Author: Peter Clifton Date: Tue Oct 9 20:08:26 2007 +0100 Move libgeda's o_selection_unselect_list() into gschem. The function calls o_redraw_single(), so should be in gschem. It is now named o_select_unselect_list(). commit fd28531b8e88ced997b0269fd31cdb23abf3936d Author: Peter Clifton Date: Tue Oct 9 20:08:23 2007 +0100 Fix a bug in o_attrib_search_name_single() were it might return NULL. If o_attrib_search_name_single() doesn't find an attribute attached to the passed OBJECT, it checks if the passed OBJECT is itsself an attribute. In this case, it would return NULL (the result from the preceeding search). The bug might not actually be triggered in normal usage, as most callers don't pass a variable to recieve the OBJECT pointer. commit 185958029cb58e26d37854c7580bef1b0869a7c9 Author: Peter Clifton Date: Thu Oct 4 19:42:01 2007 +0100 Use GLists to store OBJECTs in the "object_buffers[]" paste buffers. Replaces o_list_copy_all_selection2() with o_glist_copy_all_to_glist(). commit 38d3c48fd5a2ea57af5d772854393b39fd3b7e78 Author: Peter Clifton Date: Thu Oct 4 19:42:00 2007 +0100 Make attribute / text placing use a new attrib_place_list GList. commit d1e77cc6b87f6bd78cfc38630c292ac2c0f1f09b Author: Peter Clifton Date: Thu Oct 4 02:44:18 2007 +0100 Remove the redundant toplevel variables current_{show,visible}. These variables were previously used for an interactive method of attrib placement which has since been removed. The current_visible variable was also tested during non-attribute text placement, but to no effect. Whilst the file-format does technically allow invisible text, gschem's UI pesesnts no way to achieve it, so removing this variable does no harm. The ability to correctly load schematics with invisible text remains. commit 4595948e41b2d195eb78a820fc15d0d8596067a4 Author: Peter Clifton Date: Thu Oct 4 02:34:50 2007 +0100 Avoid accessing (GList)->{next|priv} directly to aid debugging. Instead use g_list_{next|previous}, allowing us to catch errors where changing from gEDA structures which had their own next and prev pointers. To debug, edit the glist.h include file from glib, renaming the next and prev elements in the GList structure and macros. Recompile gEDA to see any bad accesses such as those where the HEAD nodes were previously skipped. commit e84c1d4ba2ad15e18f94346389d2671eb49d0cf5 Author: Ales Hvezda Date: Tue Sep 11 22:37:55 2007 -0400 Fixed a whole bunch of gtk+ 2.4.x and misc issues building on an older box This is a fix for (Patch#) 1789290 libgeda-1.2.0 fprintf which supplied a similar patch which fixes the issues in libgeda/src/s_clib.c and libgeda/src/s_textbuffer.c. In the future, all releases will be built with gtk+ 2.4.x so that these sorts of problems do not get released. commit 201b6aecab7f3f0f86b6d89479e7c229d4e6fb30 Author: Peter Clifton Date: Sun Sep 9 12:51:00 2007 +0100 Remove unused TOPLEVEL variables display_{width,height} commit 2e3c06cbcdce8254f70162ecebd650980cf70ee9 Author: Peter Clifton Date: Sun Sep 9 00:18:34 2007 +0100 Remove the globally exported variable_set_func. Only gattrib provided a non-NULL export of this symbol, and such imports into libgeda prevent libgeda being dynamically linked on some platforms. To better match the other tools in the suite, gattrib's i_vars_set() and i_window_vars_set() functions were combined into a single i_vars_set(). commit 8952ec9bd4f4985fae8aadd6c4103b933464152a Author: Peter Clifton Date: Sun Sep 9 00:01:14 2007 +0100 Remove unused extern variables from libgeda, gnetlist and utils. commit f94d63a9a9f73e70b51c16b1e9f337bfa26b0de2 Author: Peter Clifton Date: Sat Sep 8 23:26:47 2007 +0100 Use o_translate_world() to tidy up o_complex_translate_world() Removed o_complex_world_translate_toplevel(), and changed all useage of o_complex_translate_world() for generic lists of objects to instead use the new o_list_translate_world(). o_glist_translate_world() is also added. commit 03896ea02c444e5889d98953f6a7f5988253cc40 Author: Peter Clifton Date: Sat Sep 8 23:24:33 2007 +0100 Add new function o_translate_world() which will translate any object. commit 36dc96b81aadceb9bb6e4c3d8b59939a2dc240e0 Author: Peter Clifton Date: Sat Sep 8 23:24:27 2007 +0100 Rename o_complex_world_translate() to o_complex_translate_world() The function name now matches the pattern for other objects types. commit 7018461cf5f5f011f3b59a711c4817752099a534 Author: Peter Clifton Date: Sat Sep 8 15:49:02 2007 +0100 Remove unused function o_attrib_search_special(). commit 5a1c7855c84f3d9b6a439e529b6c147f943e3b95 Author: Peter Clifton Date: Sat Sep 8 15:26:33 2007 +0100 Remove unused function o_attrib_count_toplevel(). commit b363eb966b6ec92cfc4337cef15cf04839a7939b Author: Peter Clifton Date: Sat Sep 8 15:26:32 2007 +0100 Remove empty functions o_attrib_{edit,select_draw,unselect_draw}(). commit d0d00ac3599befcfcf25ae498dc17f6cc241b7da Author: Peter Clifton Date: Sat Sep 8 13:13:38 2007 +0100 Remove auto-uref code which was #ifdef'd out. its no longer used. commit 8b6effd2eb18816e62b3a19a532d6c308ee3fdd2 Author: Peter Clifton Date: Sat Sep 8 00:30:49 2007 +0100 Remove unused OBJECT *object_selected from PAGE structure. commit 08ac872c975a587cf4125c6468c79c453661ee8f Author: Peter Clifton Date: Fri Sep 7 23:58:51 2007 +0100 Removed unused angle parameter to o_complex_rotate_lowlevel(). commit c66d009979f49bd7ac8ba0641a6974be9e6a82d5 Author: Peter Clifton Date: Fri Sep 7 23:57:38 2007 +0100 Removed unused angle parameter to o_text_rotate_world(). From an old unmerged patch by Patrick Bernaud. commit 1f336cc81195dadaffd4bbec17e8a40950b7935b Author: Peter Clifton Date: Wed Sep 5 18:47:23 2007 +0100 Simplify test to call gdk_init() in o_read_picture() Avoids testing a GtkWidget pointer in TOPLEVEL variable setup by gschem or gattrib. Instead, just ensure we call gdk_init() at least once. If gschem or gattrib already did, its not a problem as repeated calls aren't harmful. commit f60cb40a3c47595d1931540508e89643fdcece07 Author: Peter Clifton Date: Wed Sep 5 18:47:23 2007 +0100 Tidy o_picture_copy(), avoiding use of some TOPLEVEL variables commit 23953797984fda7cb62dceef38ac26da25c2dcd2 Author: Peter Clifton Date: Wed Sep 5 18:39:55 2007 +0100 Fix loading of embedded images. Various bugs in the base64 decoding function were preventing the correct decoding of the embedded image. In addition, it was possible for this code to access invalid memory - possibly leading to a crash. Additionally removes extra \n inserted between lines of the base64 input. commit bd101aa36356082f479e1bd4970ea93b01bbfa5d Author: Peter Clifton Date: Wed Sep 5 14:38:02 2007 +0100 Remove the un-needed TOPLEVEL variable: DONT_RECALC, and its usage. commit 5e9f49ed25bf87783207906daaf915714f43259c Author: Peter Clifton Date: Wed Sep 5 14:37:56 2007 +0100 Remove the redundant TOPLEVEL variable: DONT_RESIZE commit 863d3c63667dc1a106b21758f957d810ee6f5583 Author: Peter Clifton Date: Wed Sep 5 14:37:49 2007 +0100 Remove the redundant TOPLEVEL variable: DONT_DRAW_CONN commit bf3a364ed474ce6f5824a5f3fe94a3c17ce8bc28 Author: Peter Clifton Date: Wed Sep 5 14:37:41 2007 +0100 Remove unused variables from the TOPLEVEL structure commit 615d03958528afabaf94eb95199aa434d5c5d667 Author: Peter Clifton Date: Wed Sep 5 14:34:11 2007 +0100 Use o_attrib_print() in libgeda/src/s_basic.c avoiding code duplication. Printed output will be slightly different, but this is just debug code. commit 7f8f105c3fb9945ee02a4cf35a3cd762b0c6804c Author: Peter Clifton Date: Wed Sep 5 14:19:25 2007 +0100 Remove unused function o_attrib_reattach() commit f8680ea938936bfd59c1c0f699c437de870a09eb Author: Peter Clifton Date: Wed Sep 5 14:19:19 2007 +0100 Remove unused functions o_attrib_copy() and o_attrib_copy_all(). commit a0d45936373d8c5e2f887f1330cbbc3b691e13cb Author: Peter Clifton Date: Wed Sep 5 14:19:05 2007 +0100 Remove unused function o_attrib_test_detach() commit f376f300980a0a4734e00d4c776bb829f9c36b96 Author: Peter Clifton Date: Wed Sep 5 14:19:00 2007 +0100 Remove unused, empty function o_attrib_detach_all() commit e9ac00da9b2c75b3ccef3e729e43bb105d3e6e4a Author: Peter Clifton Date: Wed Sep 5 14:18:50 2007 +0100 Remove unused function o_attrib_print_reverse() commit 96495b7a87701b2ea8d7eb6b4da206d6c169a85c Author: Peter Clifton Date: Wed Sep 5 13:46:57 2007 +0100 Fix memory corruption and possible segfault copying attributes If an object (but not all its attributes) was selected and copied, dangling pointers were left in the un-copied attributes. A subsequent copy operation containing those missed attributes would attempt to reattach them to the copy of their parent. If this had been deleted in the mean time, memory corruption and a possible segfault would occur. Consolidates the duplicated code which sets the ATTRIB property "copied_to" into a helper function, o_attrib_list_copied_to(). This is also used to clean up after copy operations. commit 5b2cb25e06604a8d31dff974f323477a78f02f46 Author: Peter Clifton Date: Mon Sep 3 16:48:32 2007 +0100 Move o_picture_set_pixbuf() from libgeda to gschem commit 07d5a095c313e031b939d45f89afcd1c0ca9bc97 Author: Peter Clifton Date: Mon Sep 3 16:48:09 2007 +0100 Remove unused TOPLEVEL variable REMOVING_SEL. commit 70d8cc898e42b95a7ac463d9e879c959690fbd5c Author: Peter Clifton Date: Mon Sep 3 16:47:22 2007 +0100 Remove unused dialog pointers from TOPLEVEL commit 2854af88bf7d4d45cec1a8cc4046e0e3da5f1339 Author: Peter Clifton Date: Mon Sep 3 16:46:55 2007 +0100 Remove unneeded functions in libgeda/o_attrib.c Removes: o_attrib_set_show(TOPLEVEL *toplevel, int flag) o_attrib_set_visible(TOPLEVEL *toplevel, int flag) commit 093e83672310917f56b66a4f2189cb8e9baae903 Author: Peter Clifton Date: Mon Sep 3 16:46:20 2007 +0100 Remove un-needed redraw in o_scale() and generally tidied the function up commit 3e56c88e89c6b03c402a97d0a225302f6d000458 Author: Peter Clifton Date: Mon Sep 3 16:46:09 2007 +0100 Remove ineffective redraw in o_complex_world_translate() commit 9044d41a2305c97522bc70cfd7945f9d843482ae Author: Peter Clifton Date: Mon Sep 3 16:41:28 2007 +0100 Removes the linking between TOPLEVELs, instead uses a GList in gschem commit 4a24abed55b95bd50cb0351ca25c37f6758e8e89 Author: Peter Clifton Date: Mon Sep 3 16:38:53 2007 +0100 libgeda: Rename all w_current variables to toplevel commit 63ee20a80cd42e1af745f9a52cd1d632c1bc345a Author: Peter Clifton Date: Mon Sep 3 12:17:25 2007 +0100 Avoid using s_hierarchy_up() for traversal when we know where we're going. When trying to reach a specific parent we've come from before, we can use s_page_goto() and avoid the search through the page list. commit adca8b7d5897b11331c6a20392d22ad1e58ee572 Author: Peter Clifton Date: Mon Sep 3 12:15:43 2007 +0100 Replace the linked list of PAGEs with a GedaList (typecast to GedaPageList) commit 086908ed44c9abc6d5907888695933b59ead4684 Author: Ales Hvezda Date: Sun Sep 2 22:48:59 2007 -0400 Last minute updates to the READMEs for all projects Cherry picked from stable-1.2 branch, since these changes apply to master too. (cherry picked from commit 88fcb8d1bcdaa1436572d6a0ebe86f4df242a8d6) commit 6056ef48272778419d39e0233f395bfd60019ab9 Author: Ales Hvezda Date: Sun Aug 19 22:40:19 2007 -0400 Update ChangeLogs using: ./update-changelogs.sh 1.0-20070526..master commit 19aacfff985ee9b478c4c50dfeeb1a8af5957c3a Author: Ales Hvezda Date: Sat Aug 18 16:41:24 2007 -0400 Added undo-panzoom keyword to control if pan/zoom cmds are undoable The default is to still store the pan/zoom info when panning or zooming, but now the user has a choice. commit 92b3b65d0cec286b0ce59fc43cc07dcb60c39fa1 Author: Ales Hvezda Date: Sat Aug 18 16:14:30 2007 -0400 Bumped versions to 1.1.2/20070818/30:2:0 for the next development snapshot commit 4a505b751224b1e6cca84090ee088b4d690e8aa3 Author: Peter Clifton Date: Sat Aug 18 14:20:46 2007 -0400 Fix memory leak where GLists weren't free'd properly after use. commit 72c4db8aa20c22baa4243a0d27b3bb3f32f3ef64 Author: Ales Hvezda Date: Tue Aug 14 07:46:06 2007 -0400 Moved 3 rc promotion keywords from gschem into libgeda (fix for bug#1748143) All the promotion keywords were moved from gschem into libgeda to fix: [ 1748143 ] gschlas causes duplicate prompted attributes The primary cause of this bug was that the promotion variables within TOPLEVEL were not being setup by gschlas and so duplicate refdes attributes were showing up in the schematic. The three rc keywords that were moved are: (attribute-promotion ... ) (promote-invisible ... ) (keep-invisible ... ) commit 6482c39d6983f7505b49068466feaea6c06cb50f Author: Ales Hvezda Date: Fri Aug 10 21:57:30 2007 -0400 Fixed a nasty bug that was causing gsymcheck's make check to randomly fail commit 703151a94b0eece6b24b3b18ce2465eeae068814 Author: Peter Clifton Date: Thu Aug 9 12:36:17 2007 +0100 Remove old prototypes from various prototype.h where no function exists. commit 71600215311af0a98ed371ab750b09182de139a1 Author: Peter Clifton Date: Sat Aug 11 00:52:25 2007 +0100 Revert inadvertent commits: dbfe00a20de3f875e519ef60629b968977fc5db8 (commit) f1451161914a0ed0bb43123279906d82cb7d5b49 (commit) 2ad315fc0badd16a9614d1107b22c973908893d5 (commit) d8844bb48969aa45a05cbe6836fc96c198e88c19 (commit) ee1b64a1ae07eb99eae5d63307e9fe23f9604662 (commit) commit dbfe00a20de3f875e519ef60629b968977fc5db8 Author: Peter Clifton Date: Fri Aug 10 22:52:18 2007 +0100 Avoid using s_hierarchy_up() for traversal when we know where we're going. When trying to reach a specific parent we've come from before, we can use s_page_goto() and avoid the search through the page list. commit d8844bb48969aa45a05cbe6836fc96c198e88c19 Author: Peter Clifton Date: Fri Aug 10 21:26:10 2007 +0100 Replace the linked list of PAGEs with a GedaList (typecast to GedaPageList) commit 0f5c72daacfa7d78666769e4063122934861da5c Author: Peter Clifton Date: Sun Aug 5 22:36:56 2007 +0100 Alter guile 1.6 compat tests to work with older autoconf versions Don't use AC_DEFINE to define function like macros, instead use AC_CHECK_DECLS to set a HAVE_DECL_..., then use AH_VERBATIM to insert a test which defines a replacement if necessary. commit 5c098070b87709540345afb1b3b79d9db470ed53 Author: Peter Clifton Date: Thu Aug 2 22:09:52 2007 +0100 Fix configure checks enabling guile 1.6.x compatability routines. commit 512561395fb348a0fb71625edb4fe1ec96553c3f Author: Peter Clifton Date: Thu Aug 2 13:17:58 2007 +0100 Fix to allow automatic loading of untitled backup files commit aec624dc87dc204b399b0e070f8fcfce8e3edbc6 Author: Peter Clifton Date: Thu Aug 2 13:07:23 2007 +0100 Remove old code commented out in o_net_consolidate_segments() commit c31bd4adb677d671af8bdf5aed71f96a4995f9b1 Author: Peter Clifton Date: Tue Jul 31 20:03:51 2007 +0100 Changed configure.ac(.in) to allow guile-1.6 Introduces compatibility #defines where guile 1.8 funcs are missing in guile 1.6. Also adds missing configure.ac checks for guile in packages gattrib, gnetlist, gsymcheck and utils. commit a3facd9b5fc1a252ef18a7b5a3fca6b1c80cbb01 Author: Bernd Jendrisse Date: Sun Jul 29 10:20:11 2007 -0400 Added doxygen comment to o_text_add() commit 3d86fb3270138d59f0f443efb3cd4f6efb9f3990 Author: Bernd Jendrisse Date: Sun Jul 29 10:18:22 2007 -0400 Fixed transpositions, typos, and random spelling errors. commit af8d5893e54ef929851011911167bdb4df826431 Author: Bernd Jendrisse Date: Sun Jul 29 10:01:53 2007 -0400 Removed spurious whitespace from header file. commit ac47f97389af58e730dce5da19897cd0d3d152e3 Author: Peter Clifton Date: Fri Jul 27 23:44:23 2007 +0100 Fix unselect code to only update colors etc. when the object was selected. Fixes a regression introduced with the GedaList based selection code. When asked to remove an object from the selection, we must check its actually selected before calling o_selection_unselect() to re-color the object. commit 31f65059cf1ce5be9b8a0987d4538fed075a6805 Author: Peter Clifton Date: Wed Jul 25 02:09:15 2007 +0100 Fixed two calls to free() where g_free() should have been used. Updated Doxygen comments to note where memory should be freed with g_free() rather than free(). Commented three instances where free() is correct. commit 305c10f50464f02e32d84140db69f158da6e4c47 Author: Peter Clifton Date: Wed Jul 25 00:52:36 2007 +0100 Free strings from scm_to_locale_string() with free(), not g_free() NB: All other code in geda uses g_strdup (SCM_STRING_CHARS (...)) to convert strings from guile, so is not affected. commit f6e43346086f118dbae33e7cb650c4eef90ee3aa Author: Peter Clifton Date: Mon Jul 23 23:38:37 2007 +0100 Add call to g_type_init() in libgeda_init() as libgeda now uses GObject commit cb9c4ee19ca58158308a234782fdad6fb60257da Author: Peter Clifton Date: Thu Jul 19 15:09:56 2007 +0100 Change selection code to use a generic GedaList typecast to SELECTION. GedaList allows various parts of the program to keep track of changes to the selection via callbacks attached to the GedaList object. commit 10e79873064a096f8af4b0b6dcb9f957be0f6859 Author: Peter Clifton Date: Thu Jul 19 15:06:57 2007 +0100 Added new GedaList class derived from GObject This abstracts a GList with API for write access. Its main use is in list change notification, as it emits a "changed" g_signal when modified. Read only access to the underlying GList is provided by an accessor, currenly implemented as a macro. commit e978b9098c7567ad3b9c834a5e4914de3bc039ec Author: Ales Hvezda Date: Sun Jul 8 18:18:39 2007 -0400 Updated ChangeLogs using ./update-changelogs.sh 1.0-20070526..master commit d7e8f5abc35644e90bfabf84396023cab09f2968 Author: Ales Hvezda Date: Sun Jul 8 16:18:57 2007 -0400 Updated configure.ac[.in] and Makefile versions in prep for a release. The update was done by running ./update-versions.sh 1.1.1 20070708 30:1 at the toplevel. libgeda's shared library version is now 30:1:0 commit 3f3505662fe4bb8c585aea0ea965296bd923956c Author: Carlos Nieves Onega Date: Sun Jul 8 21:16:17 2007 +0200 Added *~ to .gitignore files. commit b6f9ed0ba8af7ed6e380bb6752bc553240f1b04c Author: Carlos Nieves Onega Date: Sun Jul 8 20:57:30 2007 +0200 Added string != NULL check in u_basic_breakup_string. The lack of this check can be the cause of a segfault (bug #1748153). Programs shouldn't pass NULL strings to this function. commit 841ecec5509d214e633a984124ab33f35d55021e Author: Carlos Nieves Onega Date: Fri Jul 6 23:35:59 2007 +0200 Added new scheme function: get-line-width . Added new scheme function, get-line-width, which returns the line width used to draw a given object. commit 22d475b9beb10be2aa27197d6ad59f728a1f034f Author: Peter TB Brett Date: Thu Jul 5 07:55:43 2007 +0100 libgeda: Handle multiple libraries with the same name nicely. If a component library is added which has the same name as an existing library, rewrites the name in the form "name". commit dd995d808b9f4440db48d2daa2473a9d9cfd88ef Author: Ales Hvezda Date: Thu Jul 5 01:36:31 2007 -0400 Updated ChangeLogs using ./update-changelogs.sh 1.0-20070526..master commit 0484a4d7c925af33d18f5d9bfdeca240b735a9bb Author: Ales Hvezda Date: Thu Jul 5 00:18:27 2007 -0400 Oops, incorrectly specified libgeda's shared library version. The format for this version is X:Y:Z and for the most part the major number just increments every release if there aren't any changes to any interfaces. For detailed information on how to change this number see: http://www.gnu.org/software/libtool/manual.html#Updating-version-info commit 099c49e5689afda4b8a5221dde73f9fdf1972ce7 Author: Ales Hvezda Date: Thu Jul 5 00:11:45 2007 -0400 Updated all version strings to 1.1.0 and 20070705 commit 87731dda219b0986fed0d1a7789e17678dd79d8c Author: Ales Hvezda Date: Wed Jul 4 23:55:07 2007 -0400 Removed AM_MAINTAINER_MODE from all configure.ac[.in] files. Maintainer mode is no longer needed or desired now that we are no longer using CVS. Hopefully this will prevent some of the odd problems that were observed during the last release when the Makefile's didn't get auto regenerated. commit e4e105b3309dcbc0b598318e1b24591dec39422a Author: Ales Hvezda Date: Wed Jul 4 23:52:58 2007 -0400 Provided an alternative implementation to glib 2.12.x only function commit dc7b8c53f4bc94626634887e46167a367a91f707 Author: Ales Hvezda Date: Wed Jul 4 23:32:15 2007 -0400 Changed gEDA/gaf's version mechanism to use new dotted X.Y.Z convention Added DOTTED_VERSION and DATE_VERSION variables to all configure.ac[.in] files. Changed all version related output to be DOTTED_VERSION.DATE_VERSION. Updated the configure.ac[.in] files to have consistent top sections. Updated code and various scheme files to use the new DOTTED_VERSION and DATE_VERSION variables available via config.h. Stopped using PREPEND_VERSION_STRING as the mechanism for doing the dotted versions (not intended for that use). Updated update-versions.sh script to set the version in all the configure.ac[.in] files and the toplevel Makefile. Went through all the g_rc.c files and make the handling of rc file mismatch handling consistent. commit dbf600e34e2284fe1ec59242d541334bc27d3d49 Author: Ales Hvezda Date: Wed Jul 4 16:51:32 2007 -0400 Implemented the ability to change the color of junctions (code for #1746675). The filled circles (at the junction of nets) and filled boxes (at the end of unconnected nets) were the same color and it was hard to tell the difference from a distance. This patch addes (junction-color ...) rc keyword and allows the user to change the junction color. The default color for the dark color scheme is yellow and the default color for the light color scheme is purple. commit ca4571b1a6a49c97feb8fc6cc8cb926acc287ece Author: Peter TB Brett Date: Wed Jul 4 18:03:53 2007 +0100 libgeda: s_clib_toplevel_get_symbol_names() is poorly named. s_clib_toplevel_get_symbol_names() returns symbols, not names of symbols, so rename it to s_clib_toplevel_get_symbols(). commit ab0fef1d36d05088f3891397103ebb15b3e3c2d0 Author: Peter TB Brett Date: Wed Jul 4 18:03:53 2007 +0100 libgeda: Make command-backed component sources more flexible. Allow different commands to be specified for 'list' and 'get' with custom command-line arguments. commit 62e7775f82d947efb1515ef8f9f776da88de62b4 Author: Peter TB Brett Date: Thu Jun 28 18:36:42 2007 +0100 libgeda: Add a newline to a component library log message commit c144221daf8ef133f39e14c76447a1b556c54853 Author: Peter TB Brett Date: Thu Jun 28 15:50:31 2007 +0100 libgeda: Add fine-grained control over f_open() behaviour. Add a function f_open_flags() which takes an extra argument which is a set of flags controlling actions taking while opening a file. f_open() wraps this with a default set of flags. Coincidentally, this also leads to a trivial fix for the file open dialog backup-message bug. commit 301614ec1f0e97de952f071d5f40f885ca7484ce Author: Peter TB Brett Date: Wed Jun 27 19:48:04 2007 +0100 libgeda: Add function which retrieves a list of symbols in use. Add the s_toplevel_get_symbol_names() function, which scans a TOPLEVEL structure to obtain a list of all symbols used in open schematics. commit c7f1e67533518517f310fd037c7e24cb248a4f23 Author: Peter TB Brett Date: Wed Jun 27 19:48:04 2007 +0100 libgeda: Make s_page_new() use g_new0() for a blank page. commit 57b2848a7e69d19e18ac03a1264cb55d41c65d0e Author: Ales Hvezda Date: Mon Jun 25 22:31:07 2007 -0400 Changed/updated the #define mechanism for creating custom gEDA/gaf versions. Previously this mechanism was used to create custom versions of gEDA/gaf. With the coming of stable and development versions of gEDA/gaf, this mechanism was changed so that end users can tell the difference between a stable release vs a development release (by looking at the version string). The CUSTOM_VERSION #define was changed PREPEND_VERSION_STRING and is now prepended to any strings that output the VERSION string. commit 0ed9cf080cfc8509cb29cbe4e976f86b2821c407 Author: Ales Hvezda Date: Sun Jun 24 23:48:51 2007 -0400 Updated copyright text/header in most source files. Updated all copyright text dates that have my name (Ales) associated with them. Added gEDA contributer copyright text where appropriate. Fixed a bunch of GNU text typos (these should have been either GPL or gEDA). Removed some $Id$ tags which are no longer used/needed. Fixed a few file header that were just plain incorrect. commit a4e956c6272ea982ec54327dcc5e3aa528ac8c99 Author: Ales Hvezda Date: Sun Jun 24 22:22:32 2007 -0400 Added *.o (all object files) to all src .gitignore files. commit 1c76ee9d84ea4fcdc924d992ecc3a828887eff4f Author: Ales Hvezda Date: Sun Jun 24 22:17:03 2007 -0400 Removed all trace of libgd usage and removed some old ps printing routines. All trace of libgd and HAS_LIBGD has been removed. Some obsoleted and commit 868d31c36736b1ceebdd9a7cea6d12d12ecf89a9 Author: Ales Hvezda Date: Sun Jun 24 15:46:46 2007 -0400 Removed libgd and indent tests from configure scripts. indent is no longer use since noweb was removed a long time ago. libgd is no longer used since libgeda/gschem uses mage export support in gdk. commit edff766e8b15c311505810241528026f722e30b6 Author: Peter TB Brett Date: Sat Jun 23 18:19:11 2007 +0100 Make sure various files are installed. Several new files were not being distributed. This patch addresses the problem by adding files to EXTRA_DIST in automake input files. commit e57c37a66edc1c4d4e4d7160001749df51b96c4b Author: Peter Clifton Date: Sat Jun 23 18:17:29 2007 +0100 Move all .cvsignore files to .gitignore files commit 065595ccd8b5e77616c29a37742357cfab0ae7f7 Author: Peter TB Brett Date: Sat Jun 23 16:11:44 2007 +0100 Changes to ChangeLog usage. With actual changes this time. Old-style changelogs as of gaf 1.0 (release of 26th June 2007) are moved to ChangeLog-1.0; new (blank) ChangeLogs replace them. A script has been added to the gaf top level to allow maintainers to update all the ChangeLog files immediately prior to making out a release. commit 1f1c7f4d9ab541454d39a4ec770f6e9bdd9bfa16 Author: Peter TB Brett Date: Sat Jun 23 14:01:30 2007 +0100 Re-enable s_clib_refresh(). Now that OBJECT and TOPLEVEL no longer store pointers to CLibSymbol structures, calling s_clib_refresh() is no longer likely to cause a segfault. commit 67038ed9bece3a1317757b58a982ed29af2831c6 Author: Peter TB Brett Date: Sat Jun 23 13:50:57 2007 +0100 Don't cache symbol pointers in persistent structures. Several persistent structures, including TOPLEVEL and OBJECT, cache pointers to CLibSymbols. This is bad, because it makes removing component sources or rescanning them likely to cause stale pointers around the place. With fast hashtable-cached searches in place, this is no longer necessary. This patch ensures that only symbol names are stored persistently. This patch also enables descending into embedded symbols using a component library lookup on the embedded symbol's name. commit 1c226a4ebe5f297460cccf8568b7d7b7b2179253 Author: Peter TB Brett Date: Sat Jun 23 13:32:45 2007 +0100 Factor out TOPLEVEL.current_clib. commit fe621022acfbe69688878b70d4c40883f8f2a3df Author: Peter TB Brett Date: Fri Jun 22 08:34:33 2007 +0100 Add s_clib_get_symbol_by_name(). Add a new function which returns the first exact match for a given symbol name, printing log messages if either there are more than one match or no matches are found at all. Also update s_clib_symbol_get_data_by_name() to use new function and remove o_complex_add_by_name() as more or less redundant. commit 01fd87d78aa26d3c29b4141878b5f48edab264ec Author: Peter TB Brett Date: Fri Jun 15 09:05:53 2007 +0100 Make comp. library search faster and more flexible Replace s_clib_glob() with s_clib_search(), which can operate in either exact matching or glob matching mode. Use a hashtable to cache the results of library searches. The hashtable is cleared every time it is invalidated (for instance if a component source is added or removed, or the component sources are rescanned). commit 9dde0233ebed32065511b567445f9f34d4b3bea1 Author: Peter TB Brett Date: Fri Jun 15 09:06:56 2007 +0100 Refactor system RC files Moved system-gafrc into the libgeda package, where it belongs. Removed all environment and configure substitutions. Created separate font and component library setup scripts in the symbols package, automatically loaded by system-gafrc if they exist. Updated system-gschemrc to use new infrastructure. commit 041fa3eedf71df34cdd04bad4c2cd5b08cff7232 Author: Peter TB Brett Date: Fri Jun 15 09:06:55 2007 +0100 Add infrastructure for installing Scheme files with libgeda. commit 10f0c8203b1fa9c87d09f1aeb4da28a0e5599ea8 Author: Peter TB Brett Date: Fri Jun 15 09:06:55 2007 +0100 Make libgeda define Guile variables for the gEDA data paths. Add three variables from libgeda to the Guile environment: geda-rc-path, geda-data-path, and path-sep. commit 2a2fa60eee536f48cc27c16f2577106e78250ed6 Author: Peter TB Brett Date: Sat Jun 9 20:30:14 2007 +0000 Fix gschem's sort-component-library option In the last release, the sort-component-library gschemrc option did nothing. This patch corrects the issue, by adding an argument to s_clib_get_sources which enables or disables sorting the list of component sources. commit eed0be648afd9bc421a8d0059de621df778c5fbe Author: Carlos Nieves Onega Date: Sat Jun 9 16:09:36 2007 +0000 Avoid writting '\r' to files on MinGW. Applied patch #1733826 from Cesar Strauss. Thanks. When using the "w" mode in fopen, MinGW translates LF into CR-LF. This creates havoc when reading the same file again, when sharing schematics files with other systems, and when placing them in a VCS. This can be avoided by using the "wb" mode. The "b" is ignored on all POSIX conforming systems, according to these sources: http://www.die.net/doc/linux/man/man3/fopen.3.html http://www.opengroup.org/onlinepubs/009695399/functions/fopen.html There are other ways, however. Adding #include int _fmode = _O_BINARY; on some source file should work as well. Another way is linking against the MinGW supplied binmode.o, which does exactly that. commit f1ba0fe139afec11f50fee01e92e5a727456bcce Author: Carlos Nieves Onega Date: Sat Jun 9 15:38:36 2007 +0000 Fix for lack of permission-related file attributes on MinGW. Applied patch #1733728, with some tweaks, from Cesar Strauss. Thanks. Define some file permissions as 0 if they are not defined. Don't use chown if it is not available. commit 419b4d152b0b2ae6546052ccb8d87ef26fa83752 Author: Carlos Nieves Onega Date: Sat Jun 9 14:59:01 2007 +0000 Added EPS support. Applied patch #1713747 (with minor tweaks) from Wojciech Kazubski adding support for EPS when writing an image. Thanks. commit ef0ca7042e49ed3f26ec61c71085378ab04fef6e Author: Ales Hvezda Date: Sat Jun 9 14:44:27 2007 +0000 Applied patch from Ivan Stankovic that displays entered characters in the status bar commit 3d58ffc27e6d915c4b1ebbd6f6b96d98d6126b7b Author: Peter TB Brett Date: Mon Jun 4 16:15:37 2007 +0000 Replace deprecated Guile functions & macros. Replace deprecated SCM_STRINGP, SCM_INUM, SXM_INUMP & SCM_MAKINUM with recommended equivalents for Guile 1.8. commit 66fb25858496cdf33e1456b835d68a16bb7ccdcd Author: Peter TB Brett Date: Sat Jun 2 16:33:34 2007 +0000 Improve Guile configure checks & remove 1.4 compat. code. Removes compatibility code for Guile 1.4, and makes configure scripts check for actual Guile version. commit cd3149619aac30cb158a13733c76fad9c98faaee Author: Peter TB Brett Date: Mon May 28 21:24:19 2007 +0000 Require Guile 1.8.x Guile 1.8.x is the current stable series, and 1.6.x is getting old. Require 1.8.x for libgeda. commit b3cacc6ddb4135c63057b1856a0693fd7f1043ba Author: Peter TB Brett Date: Mon May 28 08:13:50 2007 +0000 Component library documentation updates. Various changes to update & improve component library documentation. commit ac91166a7d5fe429d28e96cc7bc3adec724faa7e Author: Peter TB Brett Date: Mon May 28 07:59:41 2007 +0000 Match .sym suffix case-insensively when building component library. When building symbol lists for directory-based component sources, match the ".sym" filename suffix case-insensitively. Note that for backward- compatibility (and sanity on systems with case-sensitive filenames) searching for symbols does match symbols case-sensitively ("plug.SYM" will not satisfy a search for "plug.sym"). commit 361853bdb0e60db2ea121ec2dd49341ce0b4a2e7 Author: Peter TB Brett Date: Mon May 28 07:56:47 2007 +0000 Add component sources based on Scheme procedures. Add the ability to use a set of Scheme procedures which list and return component symbols as the backend of a component library. Adds the g_rc_component_library_funcs() and s_clib_add_scm() functions to libgeda, as well as the component-library-funcs rc file function. commit 51141f6de037902bef8870f473ae4ce3836b758e Author: Peter TB Brett Date: Mon May 28 07:53:25 2007 +0000 Change way that component source conflicts are checked. Allow the same component source to be added more than once, but only if it has a unique name. Also adds s_clib_get_source_by_name(). commit ef835e4c2be6f907c0f743a989be6a33f740071e Author: Peter TB Brett Date: Mon May 28 07:50:39 2007 +0000 Sort lists of component sources and symbols. Adds functions to compare sources and symbols by name case-insensitively, and makes the both s_clib_source_get_symbols() and s_clib_get_sources() return lists sorted by name. commit a0038f45b535b7a4e48d491e0a44bf222c790208 Author: Peter TB Brett Date: Mon May 28 07:48:31 2007 +0000 Add & update Scheme callbacks for new component library. Add the (component-library-command) function, and make (component-library) take an optional second argument for the directory's source name. commit 2a1ac73a53cdde48883d77ff6d90b51e5a19c561 Author: Peter TB Brett Date: Mon May 28 07:46:11 2007 +0000 Provide better names for component sources. Full pathnames aren't very user-friendly in the component browser, and sometimes the name you want for your component source isn't the same as the directory name. This patch provides an infrastructure for better source naming, while falling back to the "classic" behaviour if necessary. commit 32254c4c57c9f7450d31b61a98368e56769d33ab Author: Peter TB Brett Date: Mon May 28 07:37:49 2007 +0000 Implement new component library system in libgeda. A new component library model is needed to allow gschem etc. to work well with part database systems. This patch provides the necessary infrastructure in libgeda, without the frontend Guile commands required to make use of the new features. In particular, it abstracts the component library into the concepts of "Component Sources" and "Symbols", and allows external "Library Commands" to provide symbol data in addition to the traditional directory libraries. In order to allow the new system to work, there are major changes in all code which manipulates COMPLEX objects; in particular, the magic "EMBEDDED" string is now only used in the on-disc representation. commit 40833189228f8edeffce6eeb1bbdcdb1c0c64b2c Author: Peter TB Brett Date: Mon May 28 07:31:36 2007 +0000 Add new file omitted in previous commit. commit 022421c35c53cbfe4ea936cc1d31b192cfd34ab7 Author: Peter TB Brett Date: Mon May 28 07:30:31 2007 +0000 Make libgeda parse schematics from buffered data. In order to support more complex methods of acquiring symbol data, libgeda needs to be able to load schematics and symbols directly from a memory buffer as well as from files. commit 2f30fb34dbbeb61650d69737913e80daa75dc172 Author: Peter TB Brett Date: Mon May 28 07:27:23 2007 +0000 Add managed text buffers to libgeda. In order to facilitate loading symbols & schematics from memory without an extensive rewrite, this patch adds an API for reading memory arrays a bit like a file. Using memory streams & fgets would be nicer, but unfortunately memory streams are a GNU libc extension. geda-gaf-1.8.2/libgeda/po/0000775000175000017500000000000012220655750012171 500000000000000geda-gaf-1.8.2/libgeda/po/zh_CN.gmo0000664000175000017500000000200612220655642013614 00000000000000 d 0G]0s Zgv2 Found [%s] gEDA Circuit SchematicgEDA Gsch2pcb ProjectgEDA Schematic SymbolgEDA circuit schematicgEDA gsch2pcb projectgEDA schematic symbolo_save_objects: object %p has unknown type '%c' Project-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2010-02-06 22:10+0000 Last-Translator: 冯超 Language-Team: gEDA developers Language: zh_CN MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2010-02-14 12:56+0000 X-Generator: Launchpad (build Unknown) 找到 [%s] gEDA 电路图gEDA Gsch2pcb 项目gEDA 图表符号gEDA 电路图gEDA gsch2pcb 项目gEDA 图表符号o_save_objects: 物体 %p 包含未知类型 '%c' geda-gaf-1.8.2/libgeda/po/es.po0000664000175000017500000010013012220655642013053 00000000000000# Spanish/Spain translation of libgeda. # Copyright (C) 2007-2008 Carlos Nieves Ónega # This file is distributed under the same license as the libgeda package. # # # Carlos Nieves Ónega , 2007-2009. msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-02-20 00:09+0000\n" "Last-Translator: Carlos Nieves \n" "Language-Team: gEDA developers \n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: libgeda/data/libgeda.xml.in:3 msgid "gEDA circuit schematic" msgstr "Esquema de circuito gEDA" #: libgeda/data/libgeda.xml.in:4 msgid "gEDA schematic symbol" msgstr "Símbolo de esquema gEDA" #: libgeda/data/libgeda.xml.in:5 msgid "gEDA gsch2pcb project" msgstr "Proyecto de gEDA gsch2pcb" #: libgeda/data/x-geda-gsch2pcb-project.desktop.in:3 msgid "gEDA Gsch2pcb Project" msgstr "Proyecto gEDA Gsch2pcb" #: libgeda/data/x-geda-schematic.desktop.in:3 msgid "gEDA Circuit Schematic" msgstr "Esquema de circuito gEDA" #: libgeda/data/x-geda-symbol.desktop.in:3 msgid "gEDA Schematic Symbol" msgstr "Símbolo de esquema gEDA" #: libgeda/src/a_basic.c:182 #, c-format msgid "o_save_objects: object %p has unknown type '%c'\n" msgstr "o_save_objects: el objeto %p tiene un tipo '%c' desconocido\n" #: libgeda/src/a_basic.c:238 libgeda/src/f_basic.c:384 #, c-format msgid "File %s is read-only" msgstr "Fichero %s es de solo lectura" #: libgeda/src/a_basic.c:423 #, c-format msgid "" "Read unexpected attach symbol start marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" "Se ha encontrado un marcador de comienzo de símbolo embebido en un lugar " "inesperado en [%s]:\n" ">>\n" "%s<<\n" #: libgeda/src/a_basic.c:440 #, c-format msgid "" "Read unexpected embedded symbol start marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" "No se esperaba un marcador de comienzo de símbolo embebido en [%s]:\n" ">>\n" "%s<<\n" #: libgeda/src/a_basic.c:471 #, c-format msgid "" "Read unexpected embedded symbol end marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" "No se esperaba un marcador de final de símbolo embebido en [%s]:\n" ">>\n" "%s<<\n" #: libgeda/src/a_basic.c:506 #, c-format msgid "" "Read an old format sym/sch file!\n" "Please run g[sym|sch]update on:\n" "[%s]\n" msgstr "" "Leído un archivo de símbolo/esquema con un formato antiguo !\n" "Por favor ejecute: g[sym|sch]update en: \n" "[%s]\n" #: libgeda/src/a_basic.c:512 #, c-format msgid "" "Read garbage in [%s] :\n" ">>\n" "%s<<\n" msgstr "" "Se ha encontrado un contenido no válido en [%s] :\n" ">>\n" "%s<<\n" #: libgeda/src/f_basic.c:123 libgeda/src/f_basic.c:136 #, c-format msgid "Failed to stat [%s]: %s" msgstr "No se ha podido determinar [%s]: %s" #: libgeda/src/f_basic.c:221 #, c-format msgid "Cannot find file %s: %s" msgstr "No se puede encontrar el archivo %s: %s" #: libgeda/src/f_basic.c:269 #, c-format msgid "" "\n" "WARNING: Found an autosave backup file:\n" " %s.\n" "\n" msgstr "" "\n" "ADVERTENCIA: Se ha encontrado un archivo de copia de seguridad:\n" " %s.\n" "\n" #: libgeda/src/f_basic.c:271 msgid "I could not guess if it is newer, so you have to do it manually.\n" msgstr "" "No se ha podido averiguar si es más reciente, así que lo tendrá que hacer " "usted manualmente.\n" #: libgeda/src/f_basic.c:273 msgid "" "The backup copy is newer than the schematic, so it seems you should load it " "instead of the original file.\n" msgstr "" "La copia de seguridad es más reciente que el esquema. Parece que debería " "cargar la copia de seguridad en vez del archivo original.\n" #: libgeda/src/f_basic.c:275 msgid "" "Gschem usually makes backup copies automatically, and this situation happens " "when it crashed or it was forced to exit abruptly.\n" msgstr "" "Gschem normalmente realiza copias de seguridad automáticamente y esta " "situaciónocurre cuando ha fallado o se ha forzado una salida abrupta.\n" #: libgeda/src/f_basic.c:278 msgid "" "\n" "Run gschem and correct the situation.\n" "\n" msgstr "" "\n" "Ejecute gschem y corrija la situación.\n" "\n" #: libgeda/src/f_basic.c:374 #, c-format msgid "Can't get the real filename of %s: %s" msgstr "No se puede obtener el nombre de fichero real de %s: %s" #: libgeda/src/f_basic.c:405 #, c-format msgid "Could NOT set previous backup file [%s] read-write\n" msgstr "" "No se ha podido poner el archivo de copia de seguridad anterior [%s] en modo " "de lectura-escritura\n" #: libgeda/src/f_basic.c:411 #, c-format msgid "Can't save backup file: %s." msgstr "No se puede guardar la copia de seguridad: %s" #: libgeda/src/f_basic.c:421 #, c-format msgid "Could NOT set backup file [%s] readonly\n" msgstr "" "No se ha podido poner el archivo de copia de seguridad [%s] en modo de sólo " "lectura\n" #: libgeda/src/f_basic.c:480 #, c-format msgid "Could NOT save file: %s" msgstr "No se pudo guardar el fichero: %s" #: libgeda/src/f_basic.c:727 #, c-format msgid "%s: %s" msgstr "%s: %s" #: libgeda/src/f_print.c:123 msgid "Unable to get time of day in f_print_header()\n" msgstr "Imposible obtener la hora en f_print_header()\n" #: libgeda/src/f_print.c:165 #, c-format msgid "Unable to open the prolog file `%s' for reading in f_print_header()\n" msgstr "" "Imposible abrir el archivo de prólogo '%s' para lectura en f_print_header()\n" #: libgeda/src/f_print.c:182 #, c-format msgid "Error during reading of the prolog file `%s' in f_print_header()\n" msgstr "Error al leer el archivo de prólogo '%s' en f_print_header()\n" #: libgeda/src/f_print.c:188 msgid "" "Error during writing of the output postscript file in f_print_header()\n" msgstr "" "Error al escribir el archivo postscript de salida en f_print_header()\n" #: libgeda/src/f_print.c:202 msgid "Giving up on printing\n" msgstr "Se desiste continuar con la impresión\n" #: libgeda/src/f_print.c:375 #, c-format msgid "Could not open [%s] for printing\n" msgstr "No se puede abrir [%s] para impresión\n" #: libgeda/src/f_print.c:409 #, c-format msgid "Could not execute command [%s] for printing\n" msgstr "No se puede ejecutar el comando [%s] para impresión\n" #: libgeda/src/f_print.c:682 msgid "Too many UTF-8 characters, cannot print\n" msgstr "Demasiados caracteres UTF-8, no se puede imprimir\n" #: libgeda/src/g_basic.c:264 msgid "" "\n" "Backtrace:\n" msgstr "" "\n" "Backtrace:\n" #: libgeda/src/g_rc.c:233 msgid "Config file already loaded" msgstr "Fichero de Configuración ya está cargado" #: libgeda/src/g_rc.c:268 #, c-format msgid "Parsed config from [%s]\n" msgstr "Configuración estraída desde [%s]\n" #: libgeda/src/g_rc.c:281 #, c-format msgid "Unable to parse config from [%s]: %s" msgstr "No se pudo extraer configuración desde [%s]: %s" #: libgeda/src/g_rc.c:298 msgid "ERROR: An unknown error occurred while parsing configuration files." msgstr "" "ERROR: Un error desconocido ocurrió mientras se procesaban los ficheros de " "configuración." #: libgeda/src/g_rc.c:310 libgeda/src/g_rc.c:311 #, c-format msgid "ERROR: %s\n" msgstr "ERROR: %s\n" #: libgeda/src/g_rc.c:317 #, c-format msgid "ERROR: The %s log may contain more information.\n" msgstr "ERROR: El log %s puede contener más información.\n" #: libgeda/src/g_rc.c:978 msgid "" "WARNING: using a string for 'always-promote-attributes' is deprecated. Use a " "list of strings instead\n" msgstr "" "ADVERTENCIA: el uso de la cadena 'always-promote-attributes' está obsoleto. " "Se recomienda utilizar una lista de cadenas en su lugar\n" #: libgeda/src/o_arc_basic.c:256 libgeda/src/o_arc_basic.c:269 msgid "Failed to parse arc object" msgstr "Falló el procesamiento de objeto arco" #: libgeda/src/o_arc_basic.c:276 #, c-format msgid "Found a zero radius arc [ %c %d, %d, %d, %d, %d, %d ]\n" msgstr "" "Se ha encontrado un arco con radio cero [ %c %d, %d, %d, %d, %d, %d ]\n" #: libgeda/src/o_arc_basic.c:282 libgeda/src/o_box_basic.c:327 #: libgeda/src/o_bus_basic.c:182 libgeda/src/o_circle_basic.c:289 #: libgeda/src/o_line_basic.c:264 libgeda/src/o_net_basic.c:171 #: libgeda/src/o_path_basic.c:189 libgeda/src/o_pin_basic.c:183 #: libgeda/src/o_text_basic.c:425 #, c-format msgid "Found an invalid color [ %s ]\n" msgstr "Se ha encontrado un color no válido [%s]\n" #: libgeda/src/o_arc_basic.c:283 libgeda/src/o_box_basic.c:328 #: libgeda/src/o_bus_basic.c:183 libgeda/src/o_circle_basic.c:290 #: libgeda/src/o_line_basic.c:265 libgeda/src/o_net_basic.c:172 #: libgeda/src/o_path_basic.c:190 libgeda/src/o_pin_basic.c:184 #: libgeda/src/o_text_basic.c:426 msgid "Setting color to default color\n" msgstr "Asignando el color por defecto al color\n" #: libgeda/src/o_attrib.c:123 msgid "Attempt to attach non text item as an attribute!\n" msgstr "¡Se ha intentado añadir un objeto que no es texto como un attributo!\n" #: libgeda/src/o_attrib.c:128 #, c-format msgid "Attempt to attach attribute [%s] to more than one object\n" msgstr "Se ha intentado añadir el attributo [%s] a más de un objeto\n" #: libgeda/src/o_attrib.c:341 msgid "Tried to attach a non-text item as an attribute" msgstr "Se trató de ajuntar un item de texto inválido como atributo." #: libgeda/src/o_attrib.c:348 msgid "Unexpected end-of-file in attribute list" msgstr "Fin de Fichero inesperado en lista de atributos." #: libgeda/src/o_basic.c:196 libgeda/src/o_basic.c:208 msgid "Invalid space specified, setting to 100\n" msgstr "Se ha especificado un espaciado no válido, se corrige a 100\n" #: libgeda/src/o_basic.c:204 msgid "Invalid length specified, setting to 100\n" msgstr "Se ha especificado una longitud no válida, se corrige a 100\n" #: libgeda/src/o_box_basic.c:287 libgeda/src/o_box_basic.c:316 msgid "Failed to parse box object" msgstr "Falló el procesamiento de objeto caja" #: libgeda/src/o_box_basic.c:322 #, c-format msgid "Found a zero width/height box [ %c %d %d %d %d %d ]\n" msgstr "" "Se ha encontrado un rectángulo con altura o anchura cero [ %c %d %d %d %d " "%d ]\n" #: libgeda/src/o_bus_basic.c:160 libgeda/src/o_bus_basic.c:167 msgid "Failed to parse bus object" msgstr "Falló el procesamiento de objeto bus" #: libgeda/src/o_bus_basic.c:173 #, c-format msgid "Found a zero length bus [ %c %d %d %d %d %d ]\n" msgstr "Se ha encontrado un bus de longitud cero [ %c %d %d %d %d %d ]\n" #: libgeda/src/o_bus_basic.c:188 #, c-format msgid "Found an invalid bus ripper direction [ %s ]\n" msgstr "" "Se ha encontrado una dirección del símbolo de extracción de bus no válida " "[ %s ]\n" #: libgeda/src/o_bus_basic.c:189 msgid "Resetting direction to neutral (no direction)\n" msgstr "Cambiando la dirección al valor por defecto neutro (sin dirección)\n" #: libgeda/src/o_circle_basic.c:193 msgid "Null radius circles are not allowed\n" msgstr "No se permiten círculos con radio cero\n" #: libgeda/src/o_circle_basic.c:246 libgeda/src/o_circle_basic.c:275 msgid "Failed to parse circle object" msgstr "Falló el procesamiento de objeto círculo" #: libgeda/src/o_circle_basic.c:282 #, c-format msgid "Found a zero or negative radius circle [ %c %d %d %d %d ]\n" msgstr "Se encontró radio menor o igual a cero en círculo [ %c %d %d %d %d ]\n" #: libgeda/src/o_circle_basic.c:284 msgid "Setting radius to 0\n" msgstr "Asignando radio nulo.\n" #: libgeda/src/o_complex_basic.c:422 #, c-format msgid "" "Component not found:\n" " %s" msgstr "" "No se ha encontrado el componente:\n" " %s" #: libgeda/src/o_complex_basic.c:654 msgid "Failed to parse complex object" msgstr "Falló el procesamiento de objeto complejo" #: libgeda/src/o_complex_basic.c:667 #, c-format msgid "Found a component with an invalid rotation [ %c %d %d %d %d %d %s ]\n" msgstr "" "Se ha encontrado un componente con un ángulo de rotación no válido [ %c %d " "%d %d %d %d %s ]\n" #: libgeda/src/o_complex_basic.c:668 libgeda/src/o_picture.c:105 #: libgeda/src/o_text_basic.c:397 msgid "Setting angle to 0\n" msgstr "Cambiando el parámetro 'ángulo' a 0\n" #: libgeda/src/o_complex_basic.c:680 #, c-format msgid "" "Found a component with an invalid mirror flag [ %c %d %d %d %d %d %s ]\n" msgstr "" "Se ha encontrado un componente con un atributo de simetría no válido [ %c %d " "%d %d %d %d %s ]\n" #: libgeda/src/o_complex_basic.c:681 msgid "Setting mirror to 0\n" msgstr "Estableciendo espejo en 0\n" #: libgeda/src/o_complex_basic.c:994 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse symbol file symversion=%s\n" msgstr "" "ADVERTENCIA: Error al obtener la versión de símbolo en la referencia %s:\n" "\tNo se ha podido procesar el atributo de versión de archivo symversion=%s\n" #: libgeda/src/o_complex_basic.c:998 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse symbol file symversion=\n" msgstr "" "ADVERTENCIA: Error al obtener la versión de símbolo en la referencia %s:\n" "\tNo se ha podido procesar el atributo de versión de archivo symversion=\n" #: libgeda/src/o_complex_basic.c:1014 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse attached symversion=%s\n" msgstr "" "ADVERTENCIA: Error al obtener la versión de símbolo en la referencia %s:\n" "\tNo se ha podido procesar el atributo añadido symversion=%s\n" #: libgeda/src/o_complex_basic.c:1039 #, c-format msgid "" "WARNING: Symbol version oddity on refdes %s:\n" "\tsymversion=%s attached to instantiated symbol, but no symversion= inside " "symbol file\n" msgstr "" "ADVERTENCIA: Se ha encontrado algo extraño en la versión de símbolo de la " "referencia %s:\n" "\tse ha añadido el atributo symversion=%s a la instancia del símbolo, pero " "no hay ningún atributo symversion= dentro del archivo del símbolo\n" #: libgeda/src/o_complex_basic.c:1053 #, c-format msgid "" "WARNING: Symbol version mismatch on refdes %s (%s):\n" "\tSymbol in library is newer than instantiated symbol\n" msgstr "" "ADVERTENCIA: Las versiones de los símbolos no coinciden para la referencia " "%s (%s):\n" "\t El símbolo en la librería es más reciente que el instanciado en el " "esquema\n" #: libgeda/src/o_complex_basic.c:1081 #, c-format msgid "\tMAJOR VERSION CHANGE (file %.3f, instantiated %.3f, %s)!\n" msgstr "" "\t¡CAMBIO DE VERSIÓN IMPORTANTE (archivo %.3f, instanciado %.3f, %s)!\n" #: libgeda/src/o_complex_basic.c:1099 #, c-format msgid "\tMinor version change (file %.3f, instantiated %.3f)\n" msgstr "\tCambio menor en la versión (archivo %.3f, instanciado %.3f)\n" #: libgeda/src/o_complex_basic.c:1110 #, c-format msgid "" "WARNING: Symbol version oddity on refdes %s:\n" "\tInstantiated symbol is newer than symbol in library\n" msgstr "" "ADVERTENCIA: Se ha encontrado algo extraño en la versión de símbolo de la " "referencia %s:\n" "\tEl símbolo instanciado es más reciente que el símbolo en la librería\n" #: libgeda/src/o_embed.c:58 #, c-format msgid "Component [%s] has been embedded\n" msgstr "Se ha incrustado el componente [%s]\n" #: libgeda/src/o_embed.c:102 #, c-format msgid "" "Could not find component [%s], while trying to unembed. Component is still " "embedded\n" msgstr "" "No se puede encontrar el componente [%s], al intentar desincrustarlo.El " "componente permanece todavía incrustado\n" #: libgeda/src/o_embed.c:110 #, c-format msgid "Component [%s] has been successfully unembedded\n" msgstr "Se ha desincrustado satisfactoriamente el componente [%s]\n" #: libgeda/src/o_line_basic.c:229 libgeda/src/o_line_basic.c:247 msgid "Failed to parse line object" msgstr "Falló el procesamiento de objeto línea" #: libgeda/src/o_line_basic.c:259 #, c-format msgid "Found a zero length line [ %c %d %d %d %d %d ]\n" msgstr "Se ha encontrado una línea con longitud cero [ %c %d %d %d %d %d ]\n" #: libgeda/src/o_net_basic.c:156 msgid "Failed to parse net object" msgstr "Falló el procesamiento de objeto red" #: libgeda/src/o_net_basic.c:161 #, c-format msgid "Found a zero length net [ %c %d %d %d %d %d ]\n" msgstr "" "Se ha encontrado una conexión con longitud cero [ %c %d %d %d %d %d ]\n" #: libgeda/src/o_path_basic.c:181 msgid "Failed to parse path object" msgstr "Falló el procesamiento de objeto ruta" #: libgeda/src/o_path_basic.c:207 msgid "Unexpected end-of-file when reading path" msgstr "Fin de fichero inesperado mientras se leía la ruta" #: libgeda/src/o_picture.c:72 msgid "Failed to parse picture definition" msgstr "Falló el procesamiento de la definición de imagen" #: libgeda/src/o_picture.c:77 #, c-format msgid "Found a zero width/height picture [ %c %d %d %d %d ]\n" msgstr "" "Se ha encontrado una imagen con altura ó anchura cero [ %c %d %d %d %d ]\n" #: libgeda/src/o_picture.c:82 #, c-format msgid "Found a picture with a wrong 'mirrored' parameter: %d.\n" msgstr "" "Se encontró una imagen con un valor erróneo en el parámetro 'mirrored': %d\n" #: libgeda/src/o_picture.c:84 msgid "Setting mirrored to 0\n" msgstr "Cambiando el parámetro 'volteado' a 0\n" #: libgeda/src/o_picture.c:89 #, c-format msgid "Found a picture with a wrong 'embedded' parameter: %d.\n" msgstr "" "Se encontró una imagen con un valor erróneo en el parámetro 'embedded': %d\n" #: libgeda/src/o_picture.c:91 msgid "Setting embedded to 0\n" msgstr "Cambiando el parámetro 'incrustado' a 0\n" #: libgeda/src/o_picture.c:104 #, c-format msgid "Found an unsupported picture angle [ %d ]\n" msgstr "" "Se ha encontrado una imagen con un ángulo de rotación no válido [ %d ]\n" #: libgeda/src/o_picture.c:116 msgid "Found an image with no filename." msgstr "Se encontró una iagen sin nombre de archivo." #: libgeda/src/o_picture.c:147 #, c-format msgid "Failed to load image from embedded data [%s]: %s\n" msgstr "Error al cargar imagen desde los datos embebidos [%s]: %s\n" #: libgeda/src/o_picture.c:148 msgid "Base64 decoding failed." msgstr "Ha fallado la decodificación Base64" #: libgeda/src/o_picture.c:149 msgid "Falling back to file loading. Picture unembedded.\n" msgstr "Volviendo al modo de carga de archivo. Imagen desincrustada.\n" #: libgeda/src/o_picture.c:208 msgid "ERROR: o_picture_save: unable to encode the picture.\n" msgstr "ERROR: o_picture_save: imposible codificar la imagen.\n" #: libgeda/src/o_picture.c:308 #, c-format msgid "Failed to load buffer image [%s]: %s\n" msgstr "Falló la carga de imagen de buffer [%s]: %s\n" #: libgeda/src/o_picture.c:321 #, c-format msgid "Failed to load image from [%s]: %s\n" msgstr "Falló la carga de imagen desde [%s]: %s\n" #: libgeda/src/o_picture.c:427 #, c-format msgid "Picture %p has invalid angle %i\n" msgstr "Imagen %p tiene ángulo inválido: %i\n" #: libgeda/src/o_picture.c:957 #, c-format msgid "Picture [%s] has no image data.\n" msgstr "Imagen [%s] no tiene información de imagen.\n" #: libgeda/src/o_picture.c:958 msgid "Falling back to file loading. Picture is still unembedded.\n" msgstr "Volviendo a la carga de fichero. Imagen aún no está empotrada.\n" #: libgeda/src/o_picture.c:966 #, c-format msgid "Picture [%s] has been embedded\n" msgstr "Se ha incrustado la imagen [%s]\n" #: libgeda/src/o_picture.c:990 #, c-format msgid "Failed to load image from file [%s]: %s\n" msgstr "Error al cargar imagen desde el archivo [%s]: %s\n" #: libgeda/src/o_picture.c:992 msgid "Picture is still embedded.\n" msgstr "Imagen aún está empotrada.\n" #: libgeda/src/o_picture.c:1000 #, c-format msgid "Picture [%s] has been unembedded\n" msgstr "Se ha desincrustado la imagen [%s]\n" #: libgeda/src/o_picture.c:1236 #, c-format msgid "Failed to load fallback image %s: %s.\n" msgstr "Falló la carga de imagen de respaldo %s: %s.\n" #: libgeda/src/o_pin_basic.c:160 libgeda/src/o_pin_basic.c:168 msgid "Failed to parse pin object" msgstr "Falló el procesamiento de objeto pin" #: libgeda/src/o_pin_basic.c:174 msgid "" "Found a pin which did not have the whichone field set.\n" "Verify and correct manually.\n" msgstr "" "Se ha encontrado una pata que no tiene el campo 'whichone'.\n" "Por favor, compruébelo y corríjalo manualmente.\n" #: libgeda/src/o_pin_basic.c:177 #, c-format msgid "Found an invalid whichend on a pin (reseting to zero): %d\n" msgstr "" "Se ha encontrado un parámetro 'whichone' en una pata (y se cambia a 0): %d\n" #: libgeda/src/o_text_basic.c:356 libgeda/src/o_text_basic.c:366 #: libgeda/src/o_text_basic.c:376 msgid "Failed to parse text object" msgstr "Falló el procesamiento de objeto texto" #: libgeda/src/o_text_basic.c:383 #, c-format msgid "Found a zero size text string [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" "Se ha encontrado un texto con tamaño cero [ %c %d %d %d %d %d %d %d %d ]\n" #: libgeda/src/o_text_basic.c:395 #, c-format msgid "Found an unsupported text angle [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" "Se ha encontrado un texto con ángulo no válido [ %c %d %d %d %d %d %d %d " "%d ]\n" #: libgeda/src/o_text_basic.c:417 #, c-format msgid "Found an unsupported text alignment [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" "Se ha encontrado un texto con alineamiento no válido [ %c %d %d %d %d %d %d " "%d %d ]\n" #: libgeda/src/o_text_basic.c:419 msgid "Setting alignment to LOWER_LEFT\n" msgstr "Cambiando el alineamiento a 'Abajo a la izquierda'\n" #: libgeda/src/o_text_basic.c:440 #, c-format msgid "Unexpected end-of-file after %d lines" msgstr "Fin de fichero inesperado luego de %d líneas" #: libgeda/src/s_clib.c:465 #, c-format msgid "Library command failed [%s]: %s\n" msgstr "Un comando de librería ha fallado [%s]: %s\n" #: libgeda/src/s_clib.c:470 #, c-format msgid "Library command failed [%s]: Uncaught signal %i.\n" msgstr "Un comando de librería ha fallado [%s]: Señal no manejada %i.\n" #: libgeda/src/s_clib.c:474 #, c-format msgid "Library command failed [%s]\n" msgstr "Un comando de librería ha fallado [%s]\n" #: libgeda/src/s_clib.c:475 #, c-format msgid "" "Error output was:\n" "%s\n" msgstr "" "La salida de error fue:\n" "%s\n" #: libgeda/src/s_clib.c:561 #, c-format msgid "Library name [%s] already in use. Using [%s].\n" msgstr "" "Ya se está usando el nombre de la librería [%s]. Se usará [%s] en su lugar.\n" #: libgeda/src/s_clib.c:598 #, c-format msgid "Failed to open directory [%s]: %s\n" msgstr "Error al abrir la carpeta [%s]: %s\n" #: libgeda/src/s_clib.c:734 #, c-format msgid "Failed to scan library [%s]: Scheme function returned non-list\n" msgstr "" "Error al buscar en la librería [%s]: la función de Scheme devolvió algo que " "no es una lista\n" #: libgeda/src/s_clib.c:742 #, c-format msgid "Non-string symbol name while scanning library [%s]\n" msgstr "" "Se ha encontrado un nombre de símbolo que no es una cadena de texto al " "buscar en la librería [%s]\n" #: libgeda/src/s_clib.c:901 libgeda/src/s_clib.c:948 msgid "Cannot add library: name not specified\n" msgstr "No se puede añadir la librería: nombre sin especificar\n" #: libgeda/src/s_clib.c:908 #, c-format msgid "" "Cannot add library [%s]: both 'list' and 'get' commands must be specified.\n" msgstr "" "No se puede añadir la librería [%s]: se tienen que especificar los comandos " "'list' y 'get'.\n" #: libgeda/src/s_clib.c:956 #, c-format msgid "Cannot add Scheme-library [%s]: callbacks must be closures\n" msgstr "" "No se puede añadir la librería de Scheme [%s]: las funciones de llamada " "deben ser cierres (closures)\n" #: libgeda/src/s_clib.c:1083 #, c-format msgid "Failed to load symbol from file [%s]: %s\n" msgstr "Error al cargar símbolo desde el archivo [%s]: %s\n" #: libgeda/src/s_clib.c:1143 #, c-format msgid "Failed to load symbol data [%s] from source [%s]\n" msgstr "Error al cargar los datos del símbolo [%s] desde la fuente [%s]\n" #: libgeda/src/s_clib.c:1385 #, c-format msgid "Component [%s] was not found in the component library\n" msgstr "No se ha encontrado el componente [%s] en la librería de componentes\n" #: libgeda/src/s_clib.c:1391 #, c-format msgid "More than one component found with name [%s]\n" msgstr "Se ha encontrado más de un componente con el nombre [%s]\n" #: libgeda/src/s_color.c:207 msgid "Color index out of range" msgstr "Índice de color fuera de rango" #: libgeda/src/s_color.c:262 msgid "Color map entry must be a two-element list" msgstr "La entrada del mapa de colores debe ser una lista de dos elementos" #: libgeda/src/s_color.c:270 msgid "Index in color map entry must be an integer" msgstr "El índice en la entrada del mapa de colores debe ser un número entero" #: libgeda/src/s_color.c:296 msgid "Value in color map entry must be #f or a string" msgstr "El valor en la entrada del mapa de colores debe ser #f o una cadena" #: libgeda/src/s_hierarchy.c:94 #, c-format msgid "" "hierarchy loop detected while visiting page:\n" " \"%s\"\n" msgstr "" "Se ha detectado un bucle de jerarquía al cargar la página:\n" " \"%s\"\n" #: libgeda/src/s_hierarchy.c:194 msgid "There are no schematics above the current one!\n" msgstr "¡No hay más esquemas en un nivel de jerarquía superior al actual!\n" #: libgeda/src/s_hierarchy.c:274 #, c-format msgid "ERROR in s_hierarchy_traverse: schematic not found: %s\n" msgstr "ERROR: en s_hierarchy_traverse: no se encuentra el esquema %s\n" #: libgeda/src/s_page.c:213 #, c-format msgid "s_page_delete: Can't get the real filename of %s." msgstr "s_page_delete: No se puede encontrar el nombre real del archivo %s." #: libgeda/src/s_page.c:224 #, c-format msgid "s_page_delete: Unable to delete backup file %s." msgstr "" "s_page_delete: No se ha podido borrar el archivo de copia de seguridad %s." #: libgeda/src/s_page.c:499 #, c-format msgid "Saved [%s]\n" msgstr "Guardado [%s]\n" #: libgeda/src/s_page.c:505 #, c-format msgid "Could NOT save [%s]\n" msgstr "No se ha podido guardar [%s]\n" #: libgeda/src/s_slib.c:171 #, c-format msgid "Found [%s]\n" msgstr "Encontrado [%s]\n" #: libgeda/src/s_slib.c:181 #, c-format msgid "Could not find [%s] in any SourceLibrary\n" msgstr "No se ha podido encontrar [%s] en ninguna librería fuente\n" #: libgeda/src/s_slot.c:162 msgid "Did not find slotdef=#:#,#,#... attribute\n" msgstr "No se ha encontrado un atributo slotdef=#:#,#,#...\n" #: libgeda/src/s_slot.c:168 msgid "Improper slotdef syntax: missing \":\".\n" msgstr "Sintaxis de slotdef incorrecta: falta el carácter \":\".\n" #: libgeda/src/s_slot.c:183 msgid "Did not find proper slotdef=#:#,#,#... attribute\n" msgstr "No se ha encontrado un atributo válido slotdef=#:#,#,#...\n" #: libgeda/src/s_slot.c:213 msgid "component missing pinseq= attribute\n" msgstr "El componente no tiene el atributo pinseq\n" #: libgeda/src/scheme_attrib.c:67 msgid "~A is not a valid attribute: invalid string '~A'." msgstr "~A no es un atributo válido: cadena de caracteres inválida '~A'." #: libgeda/src/scheme_attrib.c:172 msgid "Objects ~A and ~A are not part of the same page and/or complex object" msgstr "Objetos ~A y ~A no son parte de la misma página y/o objeto complejo" #: libgeda/src/scheme_attrib.c:179 libgeda/src/scheme_attrib.c:184 msgid "Object ~A is already attached as an attribute" msgstr "Objeto ~A ya está adjunto como atributo" #: libgeda/src/scheme_attrib.c:233 msgid "Object ~A is attribute of wrong object" msgstr "Objeto ~A es atributo del objeto equivocado" #: libgeda/src/scheme_complex.c:148 msgid "Invalid complex angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" "Angulo complejo inv'alido ~A. Debe ser 0, 90, 180 ó 270 grados sexagesimales." #: libgeda/src/scheme_complex.c:265 libgeda/src/scheme_page.c:249 msgid "Object ~A is already attached to something" msgstr "Objeto ~A ya está adjunto a algo" #: libgeda/src/scheme_complex.c:325 msgid "Object ~A is attached to a different complex" msgstr "Objeto ~A está adjunto a un complejo diferente" #: libgeda/src/scheme_complex.c:332 msgid "Object ~A is attached to a page" msgstr "Objeto ~A está ajunto a la página" #: libgeda/src/scheme_complex.c:339 libgeda/src/scheme_page.c:301 msgid "Object ~A is attached as an attribute" msgstr "Objeto ~A est'a adjunto como un atributo" #: libgeda/src/scheme_complex.c:346 libgeda/src/scheme_page.c:308 msgid "Object ~A has attributes" msgstr "Objeto ~A tiene atributos" #: libgeda/src/scheme_object.c:232 msgid "Object ~A has bad type '~A'" msgstr "Objeto ~A tiene tipo equivocado '~A'" #: libgeda/src/scheme_object.c:346 msgid "Object ~A has invalid stroke cap style ~A" msgstr "El objeto ~A tiene un estilo de trazado de extremo no válido ~A." #: libgeda/src/scheme_object.c:359 msgid "Object ~A has invalid stroke dash style ~A" msgstr "El objeto ~A tiene un estilo de trazado discontinuo no válido ~A." #: libgeda/src/scheme_object.c:423 msgid "Invalid stroke cap style ~A." msgstr "Estilo de trazado de extremo no válido ~A." #: libgeda/src/scheme_object.c:434 msgid "Invalid stroke dash style ~A." msgstr "Estilo de trazado discontinuo no válido ~A." #: libgeda/src/scheme_object.c:444 msgid "Missing dash length parameter for dash style ~A." msgstr "" "No se ha especificado la longitud de espaciado para el estilo de " "interlineado ~A." #: libgeda/src/scheme_object.c:454 msgid "Missing dot/dash space parameter for dash style ~A." msgstr "" "No se ha especificado el parámetro de espaciado entre punto/línea para el " "estilo discontinuo ~A." #: libgeda/src/scheme_object.c:516 msgid "Object ~A has invalid fill style ~A" msgstr "El objeto ~A tiene un estilo de relleno no válido ~A" #: libgeda/src/scheme_object.c:565 msgid "Invalid fill style ~A." msgstr "Estilo de relleno no válido ~A." #: libgeda/src/scheme_object.c:573 msgid "Missing second space parameter for fill style ~A." msgstr "" "No se encuentra el parámetro de espaciado secundario para el estilo de " "relleno ~A." #: libgeda/src/scheme_object.c:582 msgid "Missing second angle parameter for fill style ~A." msgstr "" "No se encuentra el parámetro de ángulo secundario para el estilo de relleno " "~A." #: libgeda/src/scheme_object.c:592 msgid "Missing stroke width parameter for fill style ~A." msgstr "" "No se ha especificado el parámetro de grosor de trazado para el estilo de " "relleno ~A." #: libgeda/src/scheme_object.c:601 msgid "Missing space parameter for fill style ~A." msgstr "" "No se encuentra el parámetro de espaciado para el estilo de relleno ~A." #: libgeda/src/scheme_object.c:610 msgid "Missing angle parameter for fill style ~A." msgstr "No se encuentra el parámetro de ángulo para el estilo de relleno ~A." #: libgeda/src/scheme_object.c:909 msgid "Invalid pin type ~A, must be 'net or 'bus" msgstr "Tipo de pata ~A no válido, debe ser 'conexión o 'bus" #: libgeda/src/scheme_object.c:952 msgid "Object ~A has invalid pin type." msgstr "El objeto ~A tiene un tipo de pata no válido." #: libgeda/src/scheme_object.c:1347 msgid "Invalid text alignment ~A." msgstr "Alineación de texto inválida ~A" #: libgeda/src/scheme_object.c:1363 msgid "Invalid text angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "Ángulo de texto ~A no válido. Debe ser 0, 90, 180 ó 270 grados" #: libgeda/src/scheme_object.c:1382 msgid "Invalid text name/value visibility ~A." msgstr "Visibilidad de nombre/valor de texto inválida ~A" #: libgeda/src/scheme_object.c:1457 msgid "Text object ~A has invalid text alignment ~A" msgstr "El objeto de texto ~A tiene una alineación de texto inválida ~A" #: libgeda/src/scheme_object.c:1466 msgid "Text object ~A has invalid visibility ~A" msgstr "El objeto de texto ~A tiene una visibilidad ~A no válida" #: libgeda/src/scheme_object.c:1476 msgid "Text object ~A has invalid text attribute visibility ~A" msgstr "" "El objeto de texto ~A tiene una visibilidad de propiedad de texto ~A no " "válida" #: libgeda/src/scheme_object.c:1517 msgid "Object ~A is not included in a page." msgstr "El objeto ~A no está incluido en una página." #: libgeda/src/scheme_object.c:1670 msgid "Path object ~A has invalid element type ~A at index ~A" msgstr "" "El objeto de trazado ~A tiene un tipo de elemento ~A no válido en el índice " "~A" #: libgeda/src/scheme_object.c:1784 msgid "Invalid path element type ~A." msgstr "Tipo de elemento de trazado ~A no válido." #: libgeda/src/scheme_object.c:1957 msgid "Invalid picture angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "Ángulo de imagen ~A no válido. Debe ser 0, 90, 180 o 270 grados" #: libgeda/src/scheme_page.c:294 msgid "Object ~A is attached to a complex or different page" msgstr "El objeto ~A está asociado a un objeto complejo o página diferente" #: libgeda/src/scheme_page.c:442 msgid "Parse error: ~s" msgstr "Error de procesado: %s" #: libgeda/scheme/geda/attrib.scm:59 #, scheme-format msgid "Object ~A is not part of a page" msgstr "El objeto ~A no es parte de una página" geda-gaf-1.8.2/libgeda/po/LINGUAS0000664000175000017500000000011312207374140013125 00000000000000ar ca da de el en_GB es fr hu it nl pl pt pt_BR ru sr sv tr uk zh_CN zh_TW geda-gaf-1.8.2/libgeda/po/libgeda42.pot0000664000175000017500000005075312220651635014402 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR gEDA Developers # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" #: libgeda/data/libgeda.xml.in:3 msgid "gEDA circuit schematic" msgstr "" #: libgeda/data/libgeda.xml.in:4 msgid "gEDA schematic symbol" msgstr "" #: libgeda/data/libgeda.xml.in:5 msgid "gEDA gsch2pcb project" msgstr "" #: libgeda/data/x-geda-gsch2pcb-project.desktop.in:3 msgid "gEDA Gsch2pcb Project" msgstr "" #: libgeda/data/x-geda-schematic.desktop.in:3 msgid "gEDA Circuit Schematic" msgstr "" #: libgeda/data/x-geda-symbol.desktop.in:3 msgid "gEDA Schematic Symbol" msgstr "" #: libgeda/src/a_basic.c:182 #, c-format msgid "o_save_objects: object %p has unknown type '%c'\n" msgstr "" #: libgeda/src/a_basic.c:238 libgeda/src/f_basic.c:384 #, c-format msgid "File %s is read-only" msgstr "" #: libgeda/src/a_basic.c:423 #, c-format msgid "" "Read unexpected attach symbol start marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" #: libgeda/src/a_basic.c:440 #, c-format msgid "" "Read unexpected embedded symbol start marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" #: libgeda/src/a_basic.c:471 #, c-format msgid "" "Read unexpected embedded symbol end marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" #: libgeda/src/a_basic.c:506 #, c-format msgid "" "Read an old format sym/sch file!\n" "Please run g[sym|sch]update on:\n" "[%s]\n" msgstr "" #: libgeda/src/a_basic.c:512 #, c-format msgid "" "Read garbage in [%s] :\n" ">>\n" "%s<<\n" msgstr "" #: libgeda/src/f_basic.c:123 libgeda/src/f_basic.c:136 #, c-format msgid "Failed to stat [%s]: %s" msgstr "" #: libgeda/src/f_basic.c:221 #, c-format msgid "Cannot find file %s: %s" msgstr "" #: libgeda/src/f_basic.c:269 #, c-format msgid "" "\n" "WARNING: Found an autosave backup file:\n" " %s.\n" "\n" msgstr "" #: libgeda/src/f_basic.c:271 msgid "I could not guess if it is newer, so you have to do it manually.\n" msgstr "" #: libgeda/src/f_basic.c:273 msgid "" "The backup copy is newer than the schematic, so it seems you should load it " "instead of the original file.\n" msgstr "" #: libgeda/src/f_basic.c:275 msgid "" "Gschem usually makes backup copies automatically, and this situation happens " "when it crashed or it was forced to exit abruptly.\n" msgstr "" #: libgeda/src/f_basic.c:278 msgid "" "\n" "Run gschem and correct the situation.\n" "\n" msgstr "" #: libgeda/src/f_basic.c:374 #, c-format msgid "Can't get the real filename of %s: %s" msgstr "" #: libgeda/src/f_basic.c:405 #, c-format msgid "Could NOT set previous backup file [%s] read-write\n" msgstr "" #: libgeda/src/f_basic.c:411 #, c-format msgid "Can't save backup file: %s." msgstr "" #: libgeda/src/f_basic.c:421 #, c-format msgid "Could NOT set backup file [%s] readonly\n" msgstr "" #: libgeda/src/f_basic.c:480 #, c-format msgid "Could NOT save file: %s" msgstr "" #: libgeda/src/f_basic.c:727 #, c-format msgid "%s: %s" msgstr "" #: libgeda/src/f_print.c:123 msgid "Unable to get time of day in f_print_header()\n" msgstr "" #: libgeda/src/f_print.c:165 #, c-format msgid "Unable to open the prolog file `%s' for reading in f_print_header()\n" msgstr "" #: libgeda/src/f_print.c:182 #, c-format msgid "Error during reading of the prolog file `%s' in f_print_header()\n" msgstr "" #: libgeda/src/f_print.c:188 msgid "" "Error during writing of the output postscript file in f_print_header()\n" msgstr "" #: libgeda/src/f_print.c:202 msgid "Giving up on printing\n" msgstr "" #: libgeda/src/f_print.c:375 #, c-format msgid "Could not open [%s] for printing\n" msgstr "" #: libgeda/src/f_print.c:409 #, c-format msgid "Could not execute command [%s] for printing\n" msgstr "" #: libgeda/src/f_print.c:682 msgid "Too many UTF-8 characters, cannot print\n" msgstr "" #: libgeda/src/g_basic.c:264 msgid "" "\n" "Backtrace:\n" msgstr "" #: libgeda/src/g_rc.c:233 msgid "Config file already loaded" msgstr "" #: libgeda/src/g_rc.c:268 #, c-format msgid "Parsed config from [%s]\n" msgstr "" #: libgeda/src/g_rc.c:281 #, c-format msgid "Unable to parse config from [%s]: %s" msgstr "" #: libgeda/src/g_rc.c:298 msgid "ERROR: An unknown error occurred while parsing configuration files." msgstr "" #: libgeda/src/g_rc.c:310 libgeda/src/g_rc.c:311 #, c-format msgid "ERROR: %s\n" msgstr "" #: libgeda/src/g_rc.c:317 #, c-format msgid "ERROR: The %s log may contain more information.\n" msgstr "" #: libgeda/src/g_rc.c:978 msgid "" "WARNING: using a string for 'always-promote-attributes' is deprecated. Use a " "list of strings instead\n" msgstr "" #: libgeda/src/o_arc_basic.c:256 libgeda/src/o_arc_basic.c:269 msgid "Failed to parse arc object" msgstr "" #: libgeda/src/o_arc_basic.c:276 #, c-format msgid "Found a zero radius arc [ %c %d, %d, %d, %d, %d, %d ]\n" msgstr "" #: libgeda/src/o_arc_basic.c:282 libgeda/src/o_box_basic.c:327 #: libgeda/src/o_bus_basic.c:182 libgeda/src/o_circle_basic.c:289 #: libgeda/src/o_line_basic.c:264 libgeda/src/o_net_basic.c:171 #: libgeda/src/o_path_basic.c:189 libgeda/src/o_pin_basic.c:183 #: libgeda/src/o_text_basic.c:425 #, c-format msgid "Found an invalid color [ %s ]\n" msgstr "" #: libgeda/src/o_arc_basic.c:283 libgeda/src/o_box_basic.c:328 #: libgeda/src/o_bus_basic.c:183 libgeda/src/o_circle_basic.c:290 #: libgeda/src/o_line_basic.c:265 libgeda/src/o_net_basic.c:172 #: libgeda/src/o_path_basic.c:190 libgeda/src/o_pin_basic.c:184 #: libgeda/src/o_text_basic.c:426 msgid "Setting color to default color\n" msgstr "" #: libgeda/src/o_attrib.c:123 msgid "Attempt to attach non text item as an attribute!\n" msgstr "" #: libgeda/src/o_attrib.c:128 #, c-format msgid "Attempt to attach attribute [%s] to more than one object\n" msgstr "" #: libgeda/src/o_attrib.c:341 msgid "Tried to attach a non-text item as an attribute" msgstr "" #: libgeda/src/o_attrib.c:348 msgid "Unexpected end-of-file in attribute list" msgstr "" #: libgeda/src/o_basic.c:196 libgeda/src/o_basic.c:208 msgid "Invalid space specified, setting to 100\n" msgstr "" #: libgeda/src/o_basic.c:204 msgid "Invalid length specified, setting to 100\n" msgstr "" #: libgeda/src/o_box_basic.c:287 libgeda/src/o_box_basic.c:316 msgid "Failed to parse box object" msgstr "" #: libgeda/src/o_box_basic.c:322 #, c-format msgid "Found a zero width/height box [ %c %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_bus_basic.c:160 libgeda/src/o_bus_basic.c:167 msgid "Failed to parse bus object" msgstr "" #: libgeda/src/o_bus_basic.c:173 #, c-format msgid "Found a zero length bus [ %c %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_bus_basic.c:188 #, c-format msgid "Found an invalid bus ripper direction [ %s ]\n" msgstr "" #: libgeda/src/o_bus_basic.c:189 msgid "Resetting direction to neutral (no direction)\n" msgstr "" #: libgeda/src/o_circle_basic.c:193 msgid "Null radius circles are not allowed\n" msgstr "" #: libgeda/src/o_circle_basic.c:246 libgeda/src/o_circle_basic.c:275 msgid "Failed to parse circle object" msgstr "" #: libgeda/src/o_circle_basic.c:282 #, c-format msgid "Found a zero or negative radius circle [ %c %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_circle_basic.c:284 msgid "Setting radius to 0\n" msgstr "" #: libgeda/src/o_complex_basic.c:422 #, c-format msgid "" "Component not found:\n" " %s" msgstr "" #: libgeda/src/o_complex_basic.c:654 msgid "Failed to parse complex object" msgstr "" #: libgeda/src/o_complex_basic.c:667 #, c-format msgid "Found a component with an invalid rotation [ %c %d %d %d %d %d %s ]\n" msgstr "" #: libgeda/src/o_complex_basic.c:668 libgeda/src/o_picture.c:105 #: libgeda/src/o_text_basic.c:397 msgid "Setting angle to 0\n" msgstr "" #: libgeda/src/o_complex_basic.c:680 #, c-format msgid "" "Found a component with an invalid mirror flag [ %c %d %d %d %d %d %s ]\n" msgstr "" #: libgeda/src/o_complex_basic.c:681 msgid "Setting mirror to 0\n" msgstr "" #: libgeda/src/o_complex_basic.c:994 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse symbol file symversion=%s\n" msgstr "" #: libgeda/src/o_complex_basic.c:998 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse symbol file symversion=\n" msgstr "" #: libgeda/src/o_complex_basic.c:1014 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse attached symversion=%s\n" msgstr "" #: libgeda/src/o_complex_basic.c:1039 #, c-format msgid "" "WARNING: Symbol version oddity on refdes %s:\n" "\tsymversion=%s attached to instantiated symbol, but no symversion= inside " "symbol file\n" msgstr "" #: libgeda/src/o_complex_basic.c:1053 #, c-format msgid "" "WARNING: Symbol version mismatch on refdes %s (%s):\n" "\tSymbol in library is newer than instantiated symbol\n" msgstr "" #: libgeda/src/o_complex_basic.c:1081 #, c-format msgid "\tMAJOR VERSION CHANGE (file %.3f, instantiated %.3f, %s)!\n" msgstr "" #: libgeda/src/o_complex_basic.c:1099 #, c-format msgid "\tMinor version change (file %.3f, instantiated %.3f)\n" msgstr "" #: libgeda/src/o_complex_basic.c:1110 #, c-format msgid "" "WARNING: Symbol version oddity on refdes %s:\n" "\tInstantiated symbol is newer than symbol in library\n" msgstr "" #: libgeda/src/o_embed.c:58 #, c-format msgid "Component [%s] has been embedded\n" msgstr "" #: libgeda/src/o_embed.c:102 #, c-format msgid "" "Could not find component [%s], while trying to unembed. Component is still " "embedded\n" msgstr "" #: libgeda/src/o_embed.c:110 #, c-format msgid "Component [%s] has been successfully unembedded\n" msgstr "" #: libgeda/src/o_line_basic.c:229 libgeda/src/o_line_basic.c:247 msgid "Failed to parse line object" msgstr "" #: libgeda/src/o_line_basic.c:259 #, c-format msgid "Found a zero length line [ %c %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_net_basic.c:156 msgid "Failed to parse net object" msgstr "" #: libgeda/src/o_net_basic.c:161 #, c-format msgid "Found a zero length net [ %c %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_path_basic.c:181 msgid "Failed to parse path object" msgstr "" #: libgeda/src/o_path_basic.c:207 msgid "Unexpected end-of-file when reading path" msgstr "" #: libgeda/src/o_picture.c:72 msgid "Failed to parse picture definition" msgstr "" #: libgeda/src/o_picture.c:77 #, c-format msgid "Found a zero width/height picture [ %c %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_picture.c:82 #, c-format msgid "Found a picture with a wrong 'mirrored' parameter: %d.\n" msgstr "" #: libgeda/src/o_picture.c:84 msgid "Setting mirrored to 0\n" msgstr "" #: libgeda/src/o_picture.c:89 #, c-format msgid "Found a picture with a wrong 'embedded' parameter: %d.\n" msgstr "" #: libgeda/src/o_picture.c:91 msgid "Setting embedded to 0\n" msgstr "" #: libgeda/src/o_picture.c:104 #, c-format msgid "Found an unsupported picture angle [ %d ]\n" msgstr "" #: libgeda/src/o_picture.c:116 msgid "Found an image with no filename." msgstr "" #: libgeda/src/o_picture.c:147 #, c-format msgid "Failed to load image from embedded data [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:148 msgid "Base64 decoding failed." msgstr "" #: libgeda/src/o_picture.c:149 msgid "Falling back to file loading. Picture unembedded.\n" msgstr "" #: libgeda/src/o_picture.c:208 msgid "ERROR: o_picture_save: unable to encode the picture.\n" msgstr "" #: libgeda/src/o_picture.c:308 #, c-format msgid "Failed to load buffer image [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:321 #, c-format msgid "Failed to load image from [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:427 #, c-format msgid "Picture %p has invalid angle %i\n" msgstr "" #: libgeda/src/o_picture.c:957 #, c-format msgid "Picture [%s] has no image data.\n" msgstr "" #: libgeda/src/o_picture.c:958 msgid "Falling back to file loading. Picture is still unembedded.\n" msgstr "" #: libgeda/src/o_picture.c:966 #, c-format msgid "Picture [%s] has been embedded\n" msgstr "" #: libgeda/src/o_picture.c:990 #, c-format msgid "Failed to load image from file [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:992 msgid "Picture is still embedded.\n" msgstr "" #: libgeda/src/o_picture.c:1000 #, c-format msgid "Picture [%s] has been unembedded\n" msgstr "" #: libgeda/src/o_picture.c:1236 #, c-format msgid "Failed to load fallback image %s: %s.\n" msgstr "" #: libgeda/src/o_pin_basic.c:160 libgeda/src/o_pin_basic.c:168 msgid "Failed to parse pin object" msgstr "" #: libgeda/src/o_pin_basic.c:174 msgid "" "Found a pin which did not have the whichone field set.\n" "Verify and correct manually.\n" msgstr "" #: libgeda/src/o_pin_basic.c:177 #, c-format msgid "Found an invalid whichend on a pin (reseting to zero): %d\n" msgstr "" #: libgeda/src/o_text_basic.c:356 libgeda/src/o_text_basic.c:366 #: libgeda/src/o_text_basic.c:376 msgid "Failed to parse text object" msgstr "" #: libgeda/src/o_text_basic.c:383 #, c-format msgid "Found a zero size text string [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_text_basic.c:395 #, c-format msgid "Found an unsupported text angle [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_text_basic.c:417 #, c-format msgid "Found an unsupported text alignment [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_text_basic.c:419 msgid "Setting alignment to LOWER_LEFT\n" msgstr "" #: libgeda/src/o_text_basic.c:440 #, c-format msgid "Unexpected end-of-file after %d lines" msgstr "" #: libgeda/src/s_clib.c:465 #, c-format msgid "Library command failed [%s]: %s\n" msgstr "" #: libgeda/src/s_clib.c:470 #, c-format msgid "Library command failed [%s]: Uncaught signal %i.\n" msgstr "" #: libgeda/src/s_clib.c:474 #, c-format msgid "Library command failed [%s]\n" msgstr "" #: libgeda/src/s_clib.c:475 #, c-format msgid "" "Error output was:\n" "%s\n" msgstr "" #: libgeda/src/s_clib.c:561 #, c-format msgid "Library name [%s] already in use. Using [%s].\n" msgstr "" #: libgeda/src/s_clib.c:598 #, c-format msgid "Failed to open directory [%s]: %s\n" msgstr "" #: libgeda/src/s_clib.c:734 #, c-format msgid "Failed to scan library [%s]: Scheme function returned non-list\n" msgstr "" #: libgeda/src/s_clib.c:742 #, c-format msgid "Non-string symbol name while scanning library [%s]\n" msgstr "" #: libgeda/src/s_clib.c:901 libgeda/src/s_clib.c:948 msgid "Cannot add library: name not specified\n" msgstr "" #: libgeda/src/s_clib.c:908 #, c-format msgid "" "Cannot add library [%s]: both 'list' and 'get' commands must be specified.\n" msgstr "" #: libgeda/src/s_clib.c:956 #, c-format msgid "Cannot add Scheme-library [%s]: callbacks must be closures\n" msgstr "" #: libgeda/src/s_clib.c:1083 #, c-format msgid "Failed to load symbol from file [%s]: %s\n" msgstr "" #: libgeda/src/s_clib.c:1143 #, c-format msgid "Failed to load symbol data [%s] from source [%s]\n" msgstr "" #: libgeda/src/s_clib.c:1385 #, c-format msgid "Component [%s] was not found in the component library\n" msgstr "" #: libgeda/src/s_clib.c:1391 #, c-format msgid "More than one component found with name [%s]\n" msgstr "" #: libgeda/src/s_color.c:207 msgid "Color index out of range" msgstr "" #: libgeda/src/s_color.c:262 msgid "Color map entry must be a two-element list" msgstr "" #: libgeda/src/s_color.c:270 msgid "Index in color map entry must be an integer" msgstr "" #: libgeda/src/s_color.c:296 msgid "Value in color map entry must be #f or a string" msgstr "" #: libgeda/src/s_hierarchy.c:94 #, c-format msgid "" "hierarchy loop detected while visiting page:\n" " \"%s\"\n" msgstr "" #: libgeda/src/s_hierarchy.c:194 msgid "There are no schematics above the current one!\n" msgstr "" #: libgeda/src/s_hierarchy.c:274 #, c-format msgid "ERROR in s_hierarchy_traverse: schematic not found: %s\n" msgstr "" #: libgeda/src/s_page.c:213 #, c-format msgid "s_page_delete: Can't get the real filename of %s." msgstr "" #: libgeda/src/s_page.c:224 #, c-format msgid "s_page_delete: Unable to delete backup file %s." msgstr "" #: libgeda/src/s_page.c:499 #, c-format msgid "Saved [%s]\n" msgstr "" #: libgeda/src/s_page.c:505 #, c-format msgid "Could NOT save [%s]\n" msgstr "" #: libgeda/src/s_slib.c:171 #, c-format msgid "Found [%s]\n" msgstr "" #: libgeda/src/s_slib.c:181 #, c-format msgid "Could not find [%s] in any SourceLibrary\n" msgstr "" #: libgeda/src/s_slot.c:162 msgid "Did not find slotdef=#:#,#,#... attribute\n" msgstr "" #: libgeda/src/s_slot.c:168 msgid "Improper slotdef syntax: missing \":\".\n" msgstr "" #: libgeda/src/s_slot.c:183 msgid "Did not find proper slotdef=#:#,#,#... attribute\n" msgstr "" #: libgeda/src/s_slot.c:213 msgid "component missing pinseq= attribute\n" msgstr "" #: libgeda/src/scheme_attrib.c:67 msgid "~A is not a valid attribute: invalid string '~A'." msgstr "" #: libgeda/src/scheme_attrib.c:172 msgid "Objects ~A and ~A are not part of the same page and/or complex object" msgstr "" #: libgeda/src/scheme_attrib.c:179 libgeda/src/scheme_attrib.c:184 msgid "Object ~A is already attached as an attribute" msgstr "" #: libgeda/src/scheme_attrib.c:233 msgid "Object ~A is attribute of wrong object" msgstr "" #: libgeda/src/scheme_complex.c:148 msgid "Invalid complex angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_complex.c:265 libgeda/src/scheme_page.c:249 msgid "Object ~A is already attached to something" msgstr "" #: libgeda/src/scheme_complex.c:325 msgid "Object ~A is attached to a different complex" msgstr "" #: libgeda/src/scheme_complex.c:332 msgid "Object ~A is attached to a page" msgstr "" #: libgeda/src/scheme_complex.c:339 libgeda/src/scheme_page.c:301 msgid "Object ~A is attached as an attribute" msgstr "" #: libgeda/src/scheme_complex.c:346 libgeda/src/scheme_page.c:308 msgid "Object ~A has attributes" msgstr "" #: libgeda/src/scheme_object.c:232 msgid "Object ~A has bad type '~A'" msgstr "" #: libgeda/src/scheme_object.c:346 msgid "Object ~A has invalid stroke cap style ~A" msgstr "" #: libgeda/src/scheme_object.c:359 msgid "Object ~A has invalid stroke dash style ~A" msgstr "" #: libgeda/src/scheme_object.c:423 msgid "Invalid stroke cap style ~A." msgstr "" #: libgeda/src/scheme_object.c:434 msgid "Invalid stroke dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:444 msgid "Missing dash length parameter for dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:454 msgid "Missing dot/dash space parameter for dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:516 msgid "Object ~A has invalid fill style ~A" msgstr "" #: libgeda/src/scheme_object.c:565 msgid "Invalid fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:573 msgid "Missing second space parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:582 msgid "Missing second angle parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:592 msgid "Missing stroke width parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:601 msgid "Missing space parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:610 msgid "Missing angle parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:909 msgid "Invalid pin type ~A, must be 'net or 'bus" msgstr "" #: libgeda/src/scheme_object.c:952 msgid "Object ~A has invalid pin type." msgstr "" #: libgeda/src/scheme_object.c:1347 msgid "Invalid text alignment ~A." msgstr "" #: libgeda/src/scheme_object.c:1363 msgid "Invalid text angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_object.c:1382 msgid "Invalid text name/value visibility ~A." msgstr "" #: libgeda/src/scheme_object.c:1457 msgid "Text object ~A has invalid text alignment ~A" msgstr "" #: libgeda/src/scheme_object.c:1466 msgid "Text object ~A has invalid visibility ~A" msgstr "" #: libgeda/src/scheme_object.c:1476 msgid "Text object ~A has invalid text attribute visibility ~A" msgstr "" #: libgeda/src/scheme_object.c:1517 msgid "Object ~A is not included in a page." msgstr "" #: libgeda/src/scheme_object.c:1670 msgid "Path object ~A has invalid element type ~A at index ~A" msgstr "" #: libgeda/src/scheme_object.c:1784 msgid "Invalid path element type ~A." msgstr "" #: libgeda/src/scheme_object.c:1957 msgid "Invalid picture angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_page.c:294 msgid "Object ~A is attached to a complex or different page" msgstr "" #: libgeda/src/scheme_page.c:442 msgid "Parse error: ~s" msgstr "" #: libgeda/scheme/geda/attrib.scm:59 #, scheme-format msgid "Object ~A is not part of a page" msgstr "" geda-gaf-1.8.2/libgeda/po/es.gmo0000664000175000017500000005735212220655642013240 00000000000000 :5 :(G0p91%,R;nK'6*O!z068M(e3,)T!n1*7 %C00t5AGe%{&#1(1G)y"5Tp"?A;Y2 GD17v7T.;/j.:6=;4y5 -3:R*C?<SA&+=<i)< )B (l    9 &%!L! i!1!/!*!0"3H"1|"1"*"1 #-=#3k#$#####$)=$*g$-$*$%$4%,F%s%&%$%%E%E&U&6n& &&!& ')'FE''='='?((.h( ( (((()$);),P)7})()j)/I*(y*/*.*D+$F+%k+(+(+/+i,b},,Zd-[-].ey.$.//1/G/^/t/4/0/1//"01R00G.2>v2 2*2H263>=3G|3$373-!4gO4^495'P5x5B5$5:6F;6&6*66!6U7bj757;8q?8'8;839>I9 9[9396#:>Z:F::-:.*;)Y;:;1;A;32<#f<&<&<%<*<*)=(T=%}=&=3=%='$>_L>#>A>=?P?n?`?_?N@@N@n@?MADAGAGBFbBJBPBJEC-CUC*DL?DJDUDP-E'~EE`5F8FGFNG fG=G*GAG62H=iH+H,H!IA"I1dI(I,I@IO-JF}JQJbKQyKSKHLVhL:LdL(_MM$M5M.MA,NBnN(N!N(ND%O/jO#O+O.O'PDAPP$PPP&Q :Q#[Q-QQmQ;9RfuRJRM'SEuSS3S&S(%T)NTxT'TTATOU9dUUE$V2jV>V.VM W0YW-W0W3WCXaXYYZ$[[P\*\]]1]J]c]}]D]<]C^J\^B^G*}.Fsyg28o/Vc\L&rl5T'MDZQaj !(wW[1eNOAb9 _"BSz]{CY<@?7m U`f6>-;3i|XIdP u+ =xt$Hn#R4J~,E0vqK%k):^h p MAJOR VERSION CHANGE (file %.3f, instantiated %.3f, %s)! Minor version change (file %.3f, instantiated %.3f) Backtrace: Run gschem and correct the situation. WARNING: Found an autosave backup file: %s. %s: %sAttempt to attach attribute [%s] to more than one object Attempt to attach non text item as an attribute! Base64 decoding failed.Can't get the real filename of %s: %sCan't save backup file: %s.Cannot add Scheme-library [%s]: callbacks must be closures Cannot add library [%s]: both 'list' and 'get' commands must be specified. Cannot add library: name not specified Cannot find file %s: %sColor index out of rangeColor map entry must be a two-element listComponent [%s] has been embedded Component [%s] has been successfully unembedded Component [%s] was not found in the component library Component not found: %sConfig file already loadedCould NOT save [%s] Could NOT save file: %sCould NOT set backup file [%s] readonly Could NOT set previous backup file [%s] read-write Could not execute command [%s] for printing Could not find [%s] in any SourceLibrary Could not find component [%s], while trying to unembed. Component is still embedded Could not open [%s] for printing Did not find proper slotdef=#:#,#,#... attribute Did not find slotdef=#:#,#,#... attribute ERROR in s_hierarchy_traverse: schematic not found: %s ERROR: %s ERROR: An unknown error occurred while parsing configuration files.ERROR: The %s log may contain more information. ERROR: o_picture_save: unable to encode the picture. Error during reading of the prolog file `%s' in f_print_header() Error during writing of the output postscript file in f_print_header() Error output was: %s Failed to load buffer image [%s]: %s Failed to load fallback image %s: %s. Failed to load image from [%s]: %s Failed to load image from embedded data [%s]: %s Failed to load image from file [%s]: %s Failed to load symbol data [%s] from source [%s] Failed to load symbol from file [%s]: %s Failed to open directory [%s]: %s Failed to parse arc objectFailed to parse box objectFailed to parse bus objectFailed to parse circle objectFailed to parse complex objectFailed to parse line objectFailed to parse net objectFailed to parse path objectFailed to parse picture definitionFailed to parse pin objectFailed to parse text objectFailed to scan library [%s]: Scheme function returned non-list Failed to stat [%s]: %sFalling back to file loading. Picture is still unembedded. Falling back to file loading. Picture unembedded. File %s is read-onlyFound [%s] Found a component with an invalid mirror flag [ %c %d %d %d %d %d %s ] Found a component with an invalid rotation [ %c %d %d %d %d %d %s ] Found a picture with a wrong 'embedded' parameter: %d. Found a picture with a wrong 'mirrored' parameter: %d. Found a pin which did not have the whichone field set. Verify and correct manually. Found a zero length bus [ %c %d %d %d %d %d ] Found a zero length line [ %c %d %d %d %d %d ] Found a zero length net [ %c %d %d %d %d %d ] Found a zero or negative radius circle [ %c %d %d %d %d ] Found a zero radius arc [ %c %d, %d, %d, %d, %d, %d ] Found a zero size text string [ %c %d %d %d %d %d %d %d %d ] Found a zero width/height box [ %c %d %d %d %d %d ] Found a zero width/height picture [ %c %d %d %d %d ] Found an image with no filename.Found an invalid bus ripper direction [ %s ] Found an invalid color [ %s ] Found an invalid whichend on a pin (reseting to zero): %d Found an unsupported picture angle [ %d ] Found an unsupported text alignment [ %c %d %d %d %d %d %d %d %d ] Found an unsupported text angle [ %c %d %d %d %d %d %d %d %d ] Giving up on printing Gschem usually makes backup copies automatically, and this situation happens when it crashed or it was forced to exit abruptly. I could not guess if it is newer, so you have to do it manually. Improper slotdef syntax: missing ":". Index in color map entry must be an integerInvalid complex angle ~A. Must be 0, 90, 180, or 270 degreesInvalid fill style ~A.Invalid length specified, setting to 100 Invalid path element type ~A.Invalid picture angle ~A. Must be 0, 90, 180, or 270 degreesInvalid pin type ~A, must be 'net or 'busInvalid space specified, setting to 100 Invalid stroke cap style ~A.Invalid stroke dash style ~A.Invalid text alignment ~A.Invalid text angle ~A. Must be 0, 90, 180, or 270 degreesInvalid text name/value visibility ~A.Library command failed [%s] Library command failed [%s]: %s Library command failed [%s]: Uncaught signal %i. Library name [%s] already in use. Using [%s]. Missing angle parameter for fill style ~A.Missing dash length parameter for dash style ~A.Missing dot/dash space parameter for dash style ~A.Missing second angle parameter for fill style ~A.Missing second space parameter for fill style ~A.Missing space parameter for fill style ~A.Missing stroke width parameter for fill style ~A.More than one component found with name [%s] Non-string symbol name while scanning library [%s] Null radius circles are not allowed Object ~A has attributesObject ~A has bad type '~A'Object ~A has invalid fill style ~AObject ~A has invalid pin type.Object ~A has invalid stroke cap style ~AObject ~A has invalid stroke dash style ~AObject ~A is already attached as an attributeObject ~A is already attached to somethingObject ~A is attached as an attributeObject ~A is attached to a complex or different pageObject ~A is attached to a different complexObject ~A is attached to a pageObject ~A is attribute of wrong objectObject ~A is not included in a page.Object ~A is not part of a pageObjects ~A and ~A are not part of the same page and/or complex objectParse error: ~sParsed config from [%s] Path object ~A has invalid element type ~A at index ~APicture %p has invalid angle %i Picture [%s] has been embedded Picture [%s] has been unembedded Picture [%s] has no image data. Picture is still embedded. Read an old format sym/sch file! Please run g[sym|sch]update on: [%s] Read garbage in [%s] : >> %s<< Read unexpected attach symbol start marker in [%s] : >> %s<< Read unexpected embedded symbol end marker in [%s] : >> %s<< Read unexpected embedded symbol start marker in [%s] : >> %s<< Resetting direction to neutral (no direction) Saved [%s] Setting alignment to LOWER_LEFT Setting angle to 0 Setting color to default color Setting embedded to 0 Setting mirror to 0 Setting mirrored to 0 Setting radius to 0 Text object ~A has invalid text alignment ~AText object ~A has invalid text attribute visibility ~AText object ~A has invalid visibility ~AThe backup copy is newer than the schematic, so it seems you should load it instead of the original file. There are no schematics above the current one! Too many UTF-8 characters, cannot print Tried to attach a non-text item as an attributeUnable to get time of day in f_print_header() Unable to open the prolog file `%s' for reading in f_print_header() Unable to parse config from [%s]: %sUnexpected end-of-file after %d linesUnexpected end-of-file in attribute listUnexpected end-of-file when reading pathValue in color map entry must be #f or a stringWARNING: Symbol version mismatch on refdes %s (%s): Symbol in library is newer than instantiated symbol WARNING: Symbol version oddity on refdes %s: Instantiated symbol is newer than symbol in library WARNING: Symbol version oddity on refdes %s: symversion=%s attached to instantiated symbol, but no symversion= inside symbol file WARNING: Symbol version parse error on refdes %s: Could not parse attached symversion=%s WARNING: Symbol version parse error on refdes %s: Could not parse symbol file symversion= WARNING: Symbol version parse error on refdes %s: Could not parse symbol file symversion=%s WARNING: using a string for 'always-promote-attributes' is deprecated. Use a list of strings instead component missing pinseq= attribute gEDA Circuit SchematicgEDA Gsch2pcb ProjectgEDA Schematic SymbolgEDA circuit schematicgEDA gsch2pcb projectgEDA schematic symbolhierarchy loop detected while visiting page: "%s" o_save_objects: object %p has unknown type '%c' s_page_delete: Can't get the real filename of %s.s_page_delete: Unable to delete backup file %s.~A is not a valid attribute: invalid string '~A'.Project-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-02-20 00:09+0000 Last-Translator: Carlos Nieves Language-Team: gEDA developers Language: es MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) ¡CAMBIO DE VERSIÓN IMPORTANTE (archivo %.3f, instanciado %.3f, %s)! Cambio menor en la versión (archivo %.3f, instanciado %.3f) Backtrace: Ejecute gschem y corrija la situación. ADVERTENCIA: Se ha encontrado un archivo de copia de seguridad: %s. %s: %sSe ha intentado añadir el attributo [%s] a más de un objeto ¡Se ha intentado añadir un objeto que no es texto como un attributo! Ha fallado la decodificación Base64No se puede obtener el nombre de fichero real de %s: %sNo se puede guardar la copia de seguridad: %sNo se puede añadir la librería de Scheme [%s]: las funciones de llamada deben ser cierres (closures) No se puede añadir la librería [%s]: se tienen que especificar los comandos 'list' y 'get'. No se puede añadir la librería: nombre sin especificar No se puede encontrar el archivo %s: %sÍndice de color fuera de rangoLa entrada del mapa de colores debe ser una lista de dos elementosSe ha incrustado el componente [%s] Se ha desincrustado satisfactoriamente el componente [%s] No se ha encontrado el componente [%s] en la librería de componentes No se ha encontrado el componente: %sFichero de Configuración ya está cargadoNo se ha podido guardar [%s] No se pudo guardar el fichero: %sNo se ha podido poner el archivo de copia de seguridad [%s] en modo de sólo lectura No se ha podido poner el archivo de copia de seguridad anterior [%s] en modo de lectura-escritura No se puede ejecutar el comando [%s] para impresión No se ha podido encontrar [%s] en ninguna librería fuente No se puede encontrar el componente [%s], al intentar desincrustarlo.El componente permanece todavía incrustado No se puede abrir [%s] para impresión No se ha encontrado un atributo válido slotdef=#:#,#,#... No se ha encontrado un atributo slotdef=#:#,#,#... ERROR: en s_hierarchy_traverse: no se encuentra el esquema %s ERROR: %s ERROR: Un error desconocido ocurrió mientras se procesaban los ficheros de configuración.ERROR: El log %s puede contener más información. ERROR: o_picture_save: imposible codificar la imagen. Error al leer el archivo de prólogo '%s' en f_print_header() Error al escribir el archivo postscript de salida en f_print_header() La salida de error fue: %s Falló la carga de imagen de buffer [%s]: %s Falló la carga de imagen de respaldo %s: %s. Falló la carga de imagen desde [%s]: %s Error al cargar imagen desde los datos embebidos [%s]: %s Error al cargar imagen desde el archivo [%s]: %s Error al cargar los datos del símbolo [%s] desde la fuente [%s] Error al cargar símbolo desde el archivo [%s]: %s Error al abrir la carpeta [%s]: %s Falló el procesamiento de objeto arcoFalló el procesamiento de objeto cajaFalló el procesamiento de objeto busFalló el procesamiento de objeto círculoFalló el procesamiento de objeto complejoFalló el procesamiento de objeto líneaFalló el procesamiento de objeto redFalló el procesamiento de objeto rutaFalló el procesamiento de la definición de imagenFalló el procesamiento de objeto pinFalló el procesamiento de objeto textoError al buscar en la librería [%s]: la función de Scheme devolvió algo que no es una lista No se ha podido determinar [%s]: %sVolviendo a la carga de fichero. Imagen aún no está empotrada. Volviendo al modo de carga de archivo. Imagen desincrustada. Fichero %s es de solo lecturaEncontrado [%s] Se ha encontrado un componente con un atributo de simetría no válido [ %c %d %d %d %d %d %s ] Se ha encontrado un componente con un ángulo de rotación no válido [ %c %d %d %d %d %d %s ] Se encontró una imagen con un valor erróneo en el parámetro 'embedded': %d Se encontró una imagen con un valor erróneo en el parámetro 'mirrored': %d Se ha encontrado una pata que no tiene el campo 'whichone'. Por favor, compruébelo y corríjalo manualmente. Se ha encontrado un bus de longitud cero [ %c %d %d %d %d %d ] Se ha encontrado una línea con longitud cero [ %c %d %d %d %d %d ] Se ha encontrado una conexión con longitud cero [ %c %d %d %d %d %d ] Se encontró radio menor o igual a cero en círculo [ %c %d %d %d %d ] Se ha encontrado un arco con radio cero [ %c %d, %d, %d, %d, %d, %d ] Se ha encontrado un texto con tamaño cero [ %c %d %d %d %d %d %d %d %d ] Se ha encontrado un rectángulo con altura o anchura cero [ %c %d %d %d %d %d ] Se ha encontrado una imagen con altura ó anchura cero [ %c %d %d %d %d ] Se encontró una iagen sin nombre de archivo.Se ha encontrado una dirección del símbolo de extracción de bus no válida [ %s ] Se ha encontrado un color no válido [%s] Se ha encontrado un parámetro 'whichone' en una pata (y se cambia a 0): %d Se ha encontrado una imagen con un ángulo de rotación no válido [ %d ] Se ha encontrado un texto con alineamiento no válido [ %c %d %d %d %d %d %d %d %d ] Se ha encontrado un texto con ángulo no válido [ %c %d %d %d %d %d %d %d %d ] Se desiste continuar con la impresión Gschem normalmente realiza copias de seguridad automáticamente y esta situaciónocurre cuando ha fallado o se ha forzado una salida abrupta. No se ha podido averiguar si es más reciente, así que lo tendrá que hacer usted manualmente. Sintaxis de slotdef incorrecta: falta el carácter ":". El índice en la entrada del mapa de colores debe ser un número enteroAngulo complejo inv'alido ~A. Debe ser 0, 90, 180 ó 270 grados sexagesimales.Estilo de relleno no válido ~A.Se ha especificado una longitud no válida, se corrige a 100 Tipo de elemento de trazado ~A no válido.Ángulo de imagen ~A no válido. Debe ser 0, 90, 180 o 270 gradosTipo de pata ~A no válido, debe ser 'conexión o 'busSe ha especificado un espaciado no válido, se corrige a 100 Estilo de trazado de extremo no válido ~A.Estilo de trazado discontinuo no válido ~A.Alineación de texto inválida ~AÁngulo de texto ~A no válido. Debe ser 0, 90, 180 ó 270 gradosVisibilidad de nombre/valor de texto inválida ~AUn comando de librería ha fallado [%s] Un comando de librería ha fallado [%s]: %s Un comando de librería ha fallado [%s]: Señal no manejada %i. Ya se está usando el nombre de la librería [%s]. Se usará [%s] en su lugar. No se encuentra el parámetro de ángulo para el estilo de relleno ~A.No se ha especificado la longitud de espaciado para el estilo de interlineado ~A.No se ha especificado el parámetro de espaciado entre punto/línea para el estilo discontinuo ~A.No se encuentra el parámetro de ángulo secundario para el estilo de relleno ~A.No se encuentra el parámetro de espaciado secundario para el estilo de relleno ~A.No se encuentra el parámetro de espaciado para el estilo de relleno ~A.No se ha especificado el parámetro de grosor de trazado para el estilo de relleno ~A.Se ha encontrado más de un componente con el nombre [%s] Se ha encontrado un nombre de símbolo que no es una cadena de texto al buscar en la librería [%s] No se permiten círculos con radio cero Objeto ~A tiene atributosObjeto ~A tiene tipo equivocado '~A'El objeto ~A tiene un estilo de relleno no válido ~AEl objeto ~A tiene un tipo de pata no válido.El objeto ~A tiene un estilo de trazado de extremo no válido ~A.El objeto ~A tiene un estilo de trazado discontinuo no válido ~A.Objeto ~A ya está adjunto como atributoObjeto ~A ya está adjunto a algoObjeto ~A est'a adjunto como un atributoEl objeto ~A está asociado a un objeto complejo o página diferenteObjeto ~A está adjunto a un complejo diferenteObjeto ~A está ajunto a la páginaObjeto ~A es atributo del objeto equivocadoEl objeto ~A no está incluido en una página.El objeto ~A no es parte de una páginaObjetos ~A y ~A no son parte de la misma página y/o objeto complejoError de procesado: %sConfiguración estraída desde [%s] El objeto de trazado ~A tiene un tipo de elemento ~A no válido en el índice ~AImagen %p tiene ángulo inválido: %i Se ha incrustado la imagen [%s] Se ha desincrustado la imagen [%s] Imagen [%s] no tiene información de imagen. Imagen aún está empotrada. Leído un archivo de símbolo/esquema con un formato antiguo ! Por favor ejecute: g[sym|sch]update en: [%s] Se ha encontrado un contenido no válido en [%s] : >> %s<< Se ha encontrado un marcador de comienzo de símbolo embebido en un lugar inesperado en [%s]: >> %s<< No se esperaba un marcador de final de símbolo embebido en [%s]: >> %s<< No se esperaba un marcador de comienzo de símbolo embebido en [%s]: >> %s<< Cambiando la dirección al valor por defecto neutro (sin dirección) Guardado [%s] Cambiando el alineamiento a 'Abajo a la izquierda' Cambiando el parámetro 'ángulo' a 0 Asignando el color por defecto al color Cambiando el parámetro 'incrustado' a 0 Estableciendo espejo en 0 Cambiando el parámetro 'volteado' a 0 Asignando radio nulo. El objeto de texto ~A tiene una alineación de texto inválida ~AEl objeto de texto ~A tiene una visibilidad de propiedad de texto ~A no válidaEl objeto de texto ~A tiene una visibilidad ~A no válidaLa copia de seguridad es más reciente que el esquema. Parece que debería cargar la copia de seguridad en vez del archivo original. ¡No hay más esquemas en un nivel de jerarquía superior al actual! Demasiados caracteres UTF-8, no se puede imprimir Se trató de ajuntar un item de texto inválido como atributo.Imposible obtener la hora en f_print_header() Imposible abrir el archivo de prólogo '%s' para lectura en f_print_header() No se pudo extraer configuración desde [%s]: %sFin de fichero inesperado luego de %d líneasFin de Fichero inesperado en lista de atributos.Fin de fichero inesperado mientras se leía la rutaEl valor en la entrada del mapa de colores debe ser #f o una cadenaADVERTENCIA: Las versiones de los símbolos no coinciden para la referencia %s (%s): El símbolo en la librería es más reciente que el instanciado en el esquema ADVERTENCIA: Se ha encontrado algo extraño en la versión de símbolo de la referencia %s: El símbolo instanciado es más reciente que el símbolo en la librería ADVERTENCIA: Se ha encontrado algo extraño en la versión de símbolo de la referencia %s: se ha añadido el atributo symversion=%s a la instancia del símbolo, pero no hay ningún atributo symversion= dentro del archivo del símbolo ADVERTENCIA: Error al obtener la versión de símbolo en la referencia %s: No se ha podido procesar el atributo añadido symversion=%s ADVERTENCIA: Error al obtener la versión de símbolo en la referencia %s: No se ha podido procesar el atributo de versión de archivo symversion= ADVERTENCIA: Error al obtener la versión de símbolo en la referencia %s: No se ha podido procesar el atributo de versión de archivo symversion=%s ADVERTENCIA: el uso de la cadena 'always-promote-attributes' está obsoleto. Se recomienda utilizar una lista de cadenas en su lugar El componente no tiene el atributo pinseq Esquema de circuito gEDAProyecto gEDA Gsch2pcbSímbolo de esquema gEDAEsquema de circuito gEDAProyecto de gEDA gsch2pcbSímbolo de esquema gEDASe ha detectado un bucle de jerarquía al cargar la página: "%s" o_save_objects: el objeto %p tiene un tipo '%c' desconocido s_page_delete: No se puede encontrar el nombre real del archivo %s.s_page_delete: No se ha podido borrar el archivo de copia de seguridad %s.~A no es un atributo válido: cadena de caracteres inválida '~A'.geda-gaf-1.8.2/libgeda/po/ar.po0000664000175000017500000007052012220655642013057 00000000000000# Arabic translation for libgeda # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-01-31 12:11+0000\n" "Last-Translator: Peter TB Brett \n" "Language-Team: gEDA developers \n" "Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: libgeda/data/libgeda.xml.in:3 msgid "gEDA circuit schematic" msgstr "‏مخطّط دارة gEDA" #: libgeda/data/libgeda.xml.in:4 msgid "gEDA schematic symbol" msgstr "رمز مخطّط gEDA" #: libgeda/data/libgeda.xml.in:5 msgid "gEDA gsch2pcb project" msgstr "مشروع gEDA gsch2pcb" #: libgeda/data/x-geda-gsch2pcb-project.desktop.in:3 msgid "gEDA Gsch2pcb Project" msgstr "مشروع gEDA Gsch2pcb" #: libgeda/data/x-geda-schematic.desktop.in:3 msgid "gEDA Circuit Schematic" msgstr "مخطط دارة gEDA" #: libgeda/data/x-geda-symbol.desktop.in:3 msgid "gEDA Schematic Symbol" msgstr "رمز مخطّط gEDA" #: libgeda/src/a_basic.c:182 #, c-format msgid "o_save_objects: object %p has unknown type '%c'\n" msgstr "‏o_save_objects: يملك الكائن %p نوعا مجهولا '%c'\n" #: libgeda/src/a_basic.c:238 libgeda/src/f_basic.c:384 #, c-format msgid "File %s is read-only" msgstr "" #: libgeda/src/a_basic.c:423 #, c-format msgid "" "Read unexpected attach symbol start marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" #: libgeda/src/a_basic.c:440 #, c-format msgid "" "Read unexpected embedded symbol start marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" "قراءة علامة بداية غير متوقعة لرمز مضمّن في [%s] :\n" ">>\n" "%s<<\n" #: libgeda/src/a_basic.c:471 #, c-format msgid "" "Read unexpected embedded symbol end marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" "قراءة علامة نهاية غير متوقعة لرمز مضمن في [%s] :\n" ">>\n" "%s<<\n" #: libgeda/src/a_basic.c:506 #, c-format msgid "" "Read an old format sym/sch file!\n" "Please run g[sym|sch]update on:\n" "[%s]\n" msgstr "" "قراءة ملف تنسيق sym/sch قديم!\n" "الرجاء تشغيل g[sym|sch]update في:\n" "[%s]\n" #: libgeda/src/a_basic.c:512 #, c-format msgid "" "Read garbage in [%s] :\n" ">>\n" "%s<<\n" msgstr "" "قراءة القمامة في [%s] :\n" ">>\n" "%s<<\n" #: libgeda/src/f_basic.c:123 libgeda/src/f_basic.c:136 #, c-format msgid "Failed to stat [%s]: %s" msgstr "فشل إلى الحالة [%s]: %s" #: libgeda/src/f_basic.c:221 #, c-format msgid "Cannot find file %s: %s" msgstr "يتعذّر العثور على الملف ‪%s‬: %s" #: libgeda/src/f_basic.c:269 #, c-format msgid "" "\n" "WARNING: Found an autosave backup file:\n" " %s.\n" "\n" msgstr "" "\n" "\n" "تحذير: العثور على ملف نسخ احتياطي:\n" " %s.\n" "\n" #: libgeda/src/f_basic.c:271 msgid "I could not guess if it is newer, so you have to do it manually.\n" msgstr "لم أستطع تخمين ما إذا كان أحدث، لذلك عليك أن تفعل ذلك يدويا.\n" #: libgeda/src/f_basic.c:273 msgid "" "The backup copy is newer than the schematic, so it seems you should load it " "instead of the original file.\n" msgstr "" "النسخة الاحتياطية أحدث من المخطّط، لذلك على ما يبدو يجب عليك تحميله بدلا من " "الملف الأصلي.\n" #: libgeda/src/f_basic.c:275 msgid "" "Gschem usually makes backup copies automatically, and this situation happens " "when it crashed or it was forced to exit abruptly.\n" msgstr "" "عادة ما يعمل gschem نسخا احتياطية تلقائيا، وهذا الوضع يحدث عندما يتحطم أو " "يجبر على الخروج بشكل مفاجئ.\n" #: libgeda/src/f_basic.c:278 msgid "" "\n" "Run gschem and correct the situation.\n" "\n" msgstr "" "\n" "شغل gschem و صحح الوضع.\n" "\n" #: libgeda/src/f_basic.c:374 #, c-format msgid "Can't get the real filename of %s: %s" msgstr "" #: libgeda/src/f_basic.c:405 #, c-format msgid "Could NOT set previous backup file [%s] read-write\n" msgstr "تعذّر وضع الملف الاحتياطي السابق [‎%s‬] للقراءة والكتابة\n" #: libgeda/src/f_basic.c:411 #, c-format msgid "Can't save backup file: %s." msgstr "يتعذّر حفظ الملف الاحتياطي: %s." #: libgeda/src/f_basic.c:421 #, c-format msgid "Could NOT set backup file [%s] readonly\n" msgstr "تعذّر وضع الملف الاحتياطي [‎%s‬] للقراءة فقط\n" #: libgeda/src/f_basic.c:480 #, c-format msgid "Could NOT save file: %s" msgstr "" #: libgeda/src/f_basic.c:727 #, c-format msgid "%s: %s" msgstr "%s: %s" #: libgeda/src/f_print.c:123 msgid "Unable to get time of day in f_print_header()\n" msgstr "غير قادر الحصول على الوقت لليوم في ‪f_print_header()‬\n" #: libgeda/src/f_print.c:165 #, c-format msgid "Unable to open the prolog file `%s' for reading in f_print_header()\n" msgstr "غير قادر على فتح ملف prolog‏ '%s' للقراءة في ‪f_print_header()‬\n" #: libgeda/src/f_print.c:182 #, c-format msgid "Error during reading of the prolog file `%s' in f_print_header()\n" msgstr "حدث خطأ أثناء قراءة ملف prolog‏ '%s' في ‪f_print_header()‬\n" #: libgeda/src/f_print.c:188 msgid "" "Error during writing of the output postscript file in f_print_header()\n" msgstr "حدث خطأ أثناء كتابة ملف الإخراج بوستسكريبت في ‪f_print_header()‬\n" #: libgeda/src/f_print.c:202 msgid "Giving up on printing\n" msgstr "تخلي عن الطباعة\n" #: libgeda/src/f_print.c:375 #, c-format msgid "Could not open [%s] for printing\n" msgstr "تعذر فتح %s للطباعة\n" #: libgeda/src/f_print.c:409 #, c-format msgid "Could not execute command [%s] for printing\n" msgstr "تعذر تنفيذ الأمر [‪%s‬] للطباعة\n" #: libgeda/src/f_print.c:682 msgid "Too many UTF-8 characters, cannot print\n" msgstr "رموز UTF-8 كثيرة جدا، تتعذر الطباعة\n" #: libgeda/src/g_basic.c:264 msgid "" "\n" "Backtrace:\n" msgstr "" #: libgeda/src/g_rc.c:233 msgid "Config file already loaded" msgstr "" #: libgeda/src/g_rc.c:268 #, c-format msgid "Parsed config from [%s]\n" msgstr "" #: libgeda/src/g_rc.c:281 #, c-format msgid "Unable to parse config from [%s]: %s" msgstr "" #: libgeda/src/g_rc.c:298 msgid "ERROR: An unknown error occurred while parsing configuration files." msgstr "" #: libgeda/src/g_rc.c:310 libgeda/src/g_rc.c:311 #, c-format msgid "ERROR: %s\n" msgstr "" #: libgeda/src/g_rc.c:317 #, c-format msgid "ERROR: The %s log may contain more information.\n" msgstr "" #: libgeda/src/g_rc.c:978 msgid "" "WARNING: using a string for 'always-promote-attributes' is deprecated. Use a " "list of strings instead\n" msgstr "" "تحذير: تم تغيير استعمال سلسلة نصية من أجل 'always-promote-attributes'.بدلا " "من ذلك استعمل قائمة سلاسل نصية\n" #: libgeda/src/o_arc_basic.c:256 libgeda/src/o_arc_basic.c:269 msgid "Failed to parse arc object" msgstr "" #: libgeda/src/o_arc_basic.c:276 #, c-format msgid "Found a zero radius arc [ %c %d, %d, %d, %d, %d, %d ]\n" msgstr "عثر على قوس صفر الشعاع [ %c %d, %d, %d, %d, %d, %d ]\n" #: libgeda/src/o_arc_basic.c:282 libgeda/src/o_box_basic.c:327 #: libgeda/src/o_bus_basic.c:182 libgeda/src/o_circle_basic.c:289 #: libgeda/src/o_line_basic.c:264 libgeda/src/o_net_basic.c:171 #: libgeda/src/o_path_basic.c:189 libgeda/src/o_pin_basic.c:183 #: libgeda/src/o_text_basic.c:425 #, c-format msgid "Found an invalid color [ %s ]\n" msgstr "عثر على لون غير صالح [ %s ]\n" #: libgeda/src/o_arc_basic.c:283 libgeda/src/o_box_basic.c:328 #: libgeda/src/o_bus_basic.c:183 libgeda/src/o_circle_basic.c:290 #: libgeda/src/o_line_basic.c:265 libgeda/src/o_net_basic.c:172 #: libgeda/src/o_path_basic.c:190 libgeda/src/o_pin_basic.c:184 #: libgeda/src/o_text_basic.c:426 msgid "Setting color to default color\n" msgstr "تغيير لون إلى اللون الإفتراضي\n" #: libgeda/src/o_attrib.c:123 msgid "Attempt to attach non text item as an attribute!\n" msgstr "محاولة إرفاق عنصر غير نصي كسمة!\n" #: libgeda/src/o_attrib.c:128 #, c-format msgid "Attempt to attach attribute [%s] to more than one object\n" msgstr "محاولة إرفاق السمة [%s] لأكثر من كائن واحد\n" #: libgeda/src/o_attrib.c:341 msgid "Tried to attach a non-text item as an attribute" msgstr "" #: libgeda/src/o_attrib.c:348 msgid "Unexpected end-of-file in attribute list" msgstr "" #: libgeda/src/o_basic.c:196 libgeda/src/o_basic.c:208 msgid "Invalid space specified, setting to 100\n" msgstr "الفضاء المحدد غير صالح، تعيين 100\n" #: libgeda/src/o_basic.c:204 msgid "Invalid length specified, setting to 100\n" msgstr "الطول المحدد غير صالح، تعيين 100\n" #: libgeda/src/o_box_basic.c:287 libgeda/src/o_box_basic.c:316 msgid "Failed to parse box object" msgstr "" #: libgeda/src/o_box_basic.c:322 #, c-format msgid "Found a zero width/height box [ %c %d %d %d %d %d ]\n" msgstr "عثر على إطار صفر العرض/الارتفاع [ %c %d %d %d %d %d ]\n" #: libgeda/src/o_bus_basic.c:160 libgeda/src/o_bus_basic.c:167 msgid "Failed to parse bus object" msgstr "" #: libgeda/src/o_bus_basic.c:173 #, c-format msgid "Found a zero length bus [ %c %d %d %d %d %d ]\n" msgstr "عثر على ناقل صفر الطول [ %c %d %d %d %d %d ]\n" #: libgeda/src/o_bus_basic.c:188 #, c-format msgid "Found an invalid bus ripper direction [ %s ]\n" msgstr "عثر على اتجاه غير صالح لمموج الناقل [ %s ]\n" #: libgeda/src/o_bus_basic.c:189 msgid "Resetting direction to neutral (no direction)\n" msgstr "إعادة تعيين الاتجاه إلى محايد (دون اتجاه)\n" #: libgeda/src/o_circle_basic.c:193 msgid "Null radius circles are not allowed\n" msgstr "غير مسموح بدوائر ذات شعاع معدوم\n" #: libgeda/src/o_circle_basic.c:246 libgeda/src/o_circle_basic.c:275 msgid "Failed to parse circle object" msgstr "" #: libgeda/src/o_circle_basic.c:282 #, c-format msgid "Found a zero or negative radius circle [ %c %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_circle_basic.c:284 msgid "Setting radius to 0\n" msgstr "" #: libgeda/src/o_complex_basic.c:422 #, c-format msgid "" "Component not found:\n" " %s" msgstr "" "لم يعثر على مكون:\n" " %s" #: libgeda/src/o_complex_basic.c:654 msgid "Failed to parse complex object" msgstr "" #: libgeda/src/o_complex_basic.c:667 #, c-format msgid "Found a component with an invalid rotation [ %c %d %d %d %d %d %s ]\n" msgstr "عثر على مكون باستدارة غير صالحة [ %c %d %d %d %d %d %s ]\n" #: libgeda/src/o_complex_basic.c:668 libgeda/src/o_picture.c:105 #: libgeda/src/o_text_basic.c:397 msgid "Setting angle to 0\n" msgstr "تعيين 'زاوية' إلى 0\n" #: libgeda/src/o_complex_basic.c:680 #, c-format msgid "" "Found a component with an invalid mirror flag [ %c %d %d %d %d %d %s ]\n" msgstr "عثر على مكون بعلامة مرآة غير صالحة [ %c %d %d %d %d %d %s ]\n" #: libgeda/src/o_complex_basic.c:681 msgid "Setting mirror to 0\n" msgstr "" #: libgeda/src/o_complex_basic.c:994 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse symbol file symversion=%s\n" msgstr "" "تحذير: خطأ عند تحليل(إعراب) إصدار الرمز في refdes %s:\n" "‏\tتعذر تحليل ملف الرمز symversion=%s\n" #: libgeda/src/o_complex_basic.c:998 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse symbol file symversion=\n" msgstr "" "تحذير: خطأ عند تحليل(إعراب) إصدار الرمز في refdes %s:\n" "‏\tتعذر تحليل ملف الرمز symversion=\n" #: libgeda/src/o_complex_basic.c:1014 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse attached symversion=%s\n" msgstr "" "تحذير: خطأ عند تحليل(إعراب) إصدار الرمز في refdes %s:\n" "‏\tتعذر تحليل المرفق symversion=%s\n" #: libgeda/src/o_complex_basic.c:1039 #, c-format msgid "" "WARNING: Symbol version oddity on refdes %s:\n" "\tsymversion=%s attached to instantiated symbol, but no symversion= inside " "symbol file\n" msgstr "" "‏تحذير: غرابة إصدار الرمز في refdes %s:\n" "‏\t‏symversion=%s مرفق إلى رمز مماثل، و لكن لا symversion= ضمن ملف الرمز\n" #: libgeda/src/o_complex_basic.c:1053 #, c-format msgid "" "WARNING: Symbol version mismatch on refdes %s (%s):\n" "\tSymbol in library is newer than instantiated symbol\n" msgstr "" "تحذير: عدم تطابق رمز الإصدار في refdes %s (%s):\n" "‏\tالرمز في المكتبة أحدث من مثيله\n" #: libgeda/src/o_complex_basic.c:1081 #, c-format msgid "\tMAJOR VERSION CHANGE (file %.3f, instantiated %.3f, %s)!\n" msgstr "\t‏\tتغيير أساسي في الإصدار (الملف %.3f، المثيل %.3f، %s)!\n" #: libgeda/src/o_complex_basic.c:1099 #, c-format msgid "\tMinor version change (file %.3f, instantiated %.3f)\n" msgstr "\t‏\tتغيير ثانوي في الإصدار (الملف %.3f، المثيل %.3f)\n" #: libgeda/src/o_complex_basic.c:1110 #, c-format msgid "" "WARNING: Symbol version oddity on refdes %s:\n" "\tInstantiated symbol is newer than symbol in library\n" msgstr "" "تحذير: غرابة إصدار الرمز في refdes %s:\n" "‏\tالمثيل أحدث من الرمز في المكتبة\n" #: libgeda/src/o_embed.c:58 #, c-format msgid "Component [%s] has been embedded\n" msgstr "تم تضمين المكون [‪%s‬]\n" #: libgeda/src/o_embed.c:102 #, c-format msgid "" "Could not find component [%s], while trying to unembed. Component is still " "embedded\n" msgstr "" "تعذر العثور على المكون [%s]، عند محاولة إلغاء التضمين. لا يزال المكون مضمنا\n" #: libgeda/src/o_embed.c:110 #, c-format msgid "Component [%s] has been successfully unembedded\n" msgstr "ألغي تضمين المكون [%s] بنجاح\n" #: libgeda/src/o_line_basic.c:229 libgeda/src/o_line_basic.c:247 msgid "Failed to parse line object" msgstr "" #: libgeda/src/o_line_basic.c:259 #, c-format msgid "Found a zero length line [ %c %d %d %d %d %d ]\n" msgstr "عثر على خط صفر الطول [ %c %d %d %d %d %d ]\n" #: libgeda/src/o_net_basic.c:156 msgid "Failed to parse net object" msgstr "" #: libgeda/src/o_net_basic.c:161 #, c-format msgid "Found a zero length net [ %c %d %d %d %d %d ]\n" msgstr "عثر على شبكة صفر الطول [ %c %d %d %d %d %d ]\n" #: libgeda/src/o_path_basic.c:181 msgid "Failed to parse path object" msgstr "" #: libgeda/src/o_path_basic.c:207 msgid "Unexpected end-of-file when reading path" msgstr "" #: libgeda/src/o_picture.c:72 msgid "Failed to parse picture definition" msgstr "" #: libgeda/src/o_picture.c:77 #, c-format msgid "Found a zero width/height picture [ %c %d %d %d %d ]\n" msgstr "عثر على صورة صفر العرض/الارتفاع [ %c %d %d %d %d ]\n" #: libgeda/src/o_picture.c:82 #, c-format msgid "Found a picture with a wrong 'mirrored' parameter: %d.\n" msgstr "" #: libgeda/src/o_picture.c:84 msgid "Setting mirrored to 0\n" msgstr "تعيين 'معكوس' إلى 0\n" #: libgeda/src/o_picture.c:89 #, c-format msgid "Found a picture with a wrong 'embedded' parameter: %d.\n" msgstr "" #: libgeda/src/o_picture.c:91 msgid "Setting embedded to 0\n" msgstr "تعيين 'مضمّن' إلى 0\n" #: libgeda/src/o_picture.c:104 #, c-format msgid "Found an unsupported picture angle [ %d ]\n" msgstr "عثر على زاوية صورة غير مدعومة [ %d ]\n" #: libgeda/src/o_picture.c:116 msgid "Found an image with no filename." msgstr "" #: libgeda/src/o_picture.c:147 #, c-format msgid "Failed to load image from embedded data [%s]: %s\n" msgstr "‏تعذر تحميل الصورة من البيانات المضمنّة ‬‪[%s]‬:‪ %s‮\n" #: libgeda/src/o_picture.c:148 msgid "Base64 decoding failed." msgstr "فشل ترميز Base64." #: libgeda/src/o_picture.c:149 msgid "Falling back to file loading. Picture unembedded.\n" msgstr "التراجع لتحميل الملف. ألغي تضمين الصورة.\n" #: libgeda/src/o_picture.c:208 msgid "ERROR: o_picture_save: unable to encode the picture.\n" msgstr "خطأ: o_picture_save: غير قادر على ترميز الصورة.\n" #: libgeda/src/o_picture.c:308 #, c-format msgid "Failed to load buffer image [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:321 #, c-format msgid "Failed to load image from [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:427 #, c-format msgid "Picture %p has invalid angle %i\n" msgstr "" #: libgeda/src/o_picture.c:957 #, c-format msgid "Picture [%s] has no image data.\n" msgstr "" #: libgeda/src/o_picture.c:958 msgid "Falling back to file loading. Picture is still unembedded.\n" msgstr "" #: libgeda/src/o_picture.c:966 #, c-format msgid "Picture [%s] has been embedded\n" msgstr "تم تضمين الصورة [‪%s‬]\n" #: libgeda/src/o_picture.c:990 #, c-format msgid "Failed to load image from file [%s]: %s\n" msgstr "‏تعذر تحميل الصورة من الملف ‬‪[%s]‬:‪ %s‮\n" #: libgeda/src/o_picture.c:992 msgid "Picture is still embedded.\n" msgstr "" #: libgeda/src/o_picture.c:1000 #, c-format msgid "Picture [%s] has been unembedded\n" msgstr "تم إلغاء تضمين الصورة [‪%s‬]\n" #: libgeda/src/o_picture.c:1236 #, c-format msgid "Failed to load fallback image %s: %s.\n" msgstr "" #: libgeda/src/o_pin_basic.c:160 libgeda/src/o_pin_basic.c:168 msgid "Failed to parse pin object" msgstr "" #: libgeda/src/o_pin_basic.c:174 msgid "" "Found a pin which did not have the whichone field set.\n" "Verify and correct manually.\n" msgstr "" "عثر على دبوس ليس لديه حقل whichone (أيّ-واحد) معين.\n" "تحقق منه وصحيحه يدويا.\n" #: libgeda/src/o_pin_basic.c:177 #, c-format msgid "Found an invalid whichend on a pin (reseting to zero): %d\n" msgstr "" "عثر على whichend (أيّ-نهاية) غير صالح على دبوس (إعادة تعيين إلى الصفر): %d\n" #: libgeda/src/o_text_basic.c:356 libgeda/src/o_text_basic.c:366 #: libgeda/src/o_text_basic.c:376 msgid "Failed to parse text object" msgstr "" #: libgeda/src/o_text_basic.c:383 #, c-format msgid "Found a zero size text string [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "عثر على نص صفر الحجم [ %c %d %d %d %d %d %d %d %d ]\n" #: libgeda/src/o_text_basic.c:395 #, c-format msgid "Found an unsupported text angle [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "عثر على زاوية نص غير مدعومة [ %c %d %d %d %d %d %d %d %d ]\n" #: libgeda/src/o_text_basic.c:417 #, c-format msgid "Found an unsupported text alignment [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "عثر على محاذاة نص غير مدعومة [ %c %d %d %d %d %d %d %d %d ]\n" #: libgeda/src/o_text_basic.c:419 msgid "Setting alignment to LOWER_LEFT\n" msgstr "تعيين المحاذاة إلى LOWER_LEFT (اليسار-السفلي)\n" #: libgeda/src/o_text_basic.c:440 #, c-format msgid "Unexpected end-of-file after %d lines" msgstr "" #: libgeda/src/s_clib.c:465 #, c-format msgid "Library command failed [%s]: %s\n" msgstr "فشل أمر المكتبة [%s]: %s\n" #: libgeda/src/s_clib.c:470 #, c-format msgid "Library command failed [%s]: Uncaught signal %i.\n" msgstr "فشل أمر المكتبة [%s]: إشارة لم تمسك %i.\n" #: libgeda/src/s_clib.c:474 #, c-format msgid "Library command failed [%s]\n" msgstr "فشل أمر المكتبة [%s]\n" #: libgeda/src/s_clib.c:475 #, c-format msgid "" "Error output was:\n" "%s\n" msgstr "" "كان خطأ الإخراج:\n" "%s\n" #: libgeda/src/s_clib.c:561 #, c-format msgid "Library name [%s] already in use. Using [%s].\n" msgstr "اسم المكتبة [%s] قيد الاستخدام بالفعل.استعمال [%s].\n" #: libgeda/src/s_clib.c:598 #, c-format msgid "Failed to open directory [%s]: %s\n" msgstr "فشل في فتح الدليل [%s]: %s\n" #: libgeda/src/s_clib.c:734 #, c-format msgid "Failed to scan library [%s]: Scheme function returned non-list\n" msgstr "فشل في فحص المكتبة [%s]: أرجعت الدالة Scheme كائن آخر ليس قائمة\n" #: libgeda/src/s_clib.c:742 #, c-format msgid "Non-string symbol name while scanning library [%s]\n" msgstr "عثر على اسم رمز غير نصي أثناء تفحص المكتبة [%s]\n" #: libgeda/src/s_clib.c:901 libgeda/src/s_clib.c:948 msgid "Cannot add library: name not specified\n" msgstr "يتعذر إضافة المكتبة: لم يحدد الاسم\n" #: libgeda/src/s_clib.c:908 #, c-format msgid "" "Cannot add library [%s]: both 'list' and 'get' commands must be specified.\n" msgstr "" "يتعذر إضافة المكتبة [%s]: يجب تحديد الأوامر 'list' (قائمة) و 'get' (أحصل " "على).\n" #: libgeda/src/s_clib.c:956 #, c-format msgid "Cannot add Scheme-library [%s]: callbacks must be closures\n" msgstr "يتعذّر إضافة مكتبة Scheme [%s]: الرد يجب أن يكون الإغلاق.\n" #: libgeda/src/s_clib.c:1083 #, c-format msgid "Failed to load symbol from file [%s]: %s\n" msgstr "‏تعذر تحميل الرمز من الملف [%s]: %s\n" #: libgeda/src/s_clib.c:1143 #, c-format msgid "Failed to load symbol data [%s] from source [%s]\n" msgstr "تعذر تحميل بيانات الرمز [%s] من المصدر [%s]\n" #: libgeda/src/s_clib.c:1385 #, c-format msgid "Component [%s] was not found in the component library\n" msgstr "لم يعثر على المكون [%s] في المكتبة المكونات\n" #: libgeda/src/s_clib.c:1391 #, c-format msgid "More than one component found with name [%s]\n" msgstr "أكثر من مكون واحد عثر عليه باسم [%s]\n" #: libgeda/src/s_color.c:207 msgid "Color index out of range" msgstr "فهرس اللون خارج المجال" #: libgeda/src/s_color.c:262 msgid "Color map entry must be a two-element list" msgstr "يجب أن يكون إدخال خارطة اللون قائمة عنصرين" #: libgeda/src/s_color.c:270 msgid "Index in color map entry must be an integer" msgstr "يجب أن يكون الفهرس في إدخال خارطة اللون عددا صحيحا (integer)" #: libgeda/src/s_color.c:296 msgid "Value in color map entry must be #f or a string" msgstr "يجب أن تكون القيمة في إدخال خارطة اللون f# أو نص" #: libgeda/src/s_hierarchy.c:94 #, c-format msgid "" "hierarchy loop detected while visiting page:\n" " \"%s\"\n" msgstr "" "اكتشاف حلقة التسلسل الهرمي أثناء زيارة الصفحة:\n" " \"%s\"\n" #: libgeda/src/s_hierarchy.c:194 msgid "There are no schematics above the current one!\n" msgstr "لا توجد مخططات فوق المخطط الحالي!\n" #: libgeda/src/s_hierarchy.c:274 #, c-format msgid "ERROR in s_hierarchy_traverse: schematic not found: %s\n" msgstr "خطأ في s_hierarchy_traverse: لم يعثر على المخطط: %s\n" #: libgeda/src/s_page.c:213 #, c-format msgid "s_page_delete: Can't get the real filename of %s." msgstr "‏s_page_delete : يتعذر الحصول على الاسم الحقيقي للملف %s.‏" #: libgeda/src/s_page.c:224 #, c-format msgid "s_page_delete: Unable to delete backup file %s." msgstr "‏s_page_delete: غير قادرة على حذف الملف الاحتياطي %s." #: libgeda/src/s_page.c:499 #, c-format msgid "Saved [%s]\n" msgstr "‏حفظ [%s]\n" #: libgeda/src/s_page.c:505 #, c-format msgid "Could NOT save [%s]\n" msgstr "تعذّر حفظ [‎%s‬]\n" #: libgeda/src/s_slib.c:171 #, c-format msgid "Found [%s]\n" msgstr "عثر على [‎%s‬]\n" #: libgeda/src/s_slib.c:181 #, c-format msgid "Could not find [%s] in any SourceLibrary\n" msgstr "تعذر العثور على [%s] في أي مكتبة مصدر\n" #: libgeda/src/s_slot.c:162 msgid "Did not find slotdef=#:#,#,#... attribute\n" msgstr "" #: libgeda/src/s_slot.c:168 msgid "Improper slotdef syntax: missing \":\".\n" msgstr "" #: libgeda/src/s_slot.c:183 msgid "Did not find proper slotdef=#:#,#,#... attribute\n" msgstr "" #: libgeda/src/s_slot.c:213 msgid "component missing pinseq= attribute\n" msgstr "" #: libgeda/src/scheme_attrib.c:67 msgid "~A is not a valid attribute: invalid string '~A'." msgstr "" #: libgeda/src/scheme_attrib.c:172 msgid "Objects ~A and ~A are not part of the same page and/or complex object" msgstr "" #: libgeda/src/scheme_attrib.c:179 libgeda/src/scheme_attrib.c:184 msgid "Object ~A is already attached as an attribute" msgstr "" #: libgeda/src/scheme_attrib.c:233 msgid "Object ~A is attribute of wrong object" msgstr "" #: libgeda/src/scheme_complex.c:148 msgid "Invalid complex angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_complex.c:265 libgeda/src/scheme_page.c:249 msgid "Object ~A is already attached to something" msgstr "" #: libgeda/src/scheme_complex.c:325 msgid "Object ~A is attached to a different complex" msgstr "" #: libgeda/src/scheme_complex.c:332 msgid "Object ~A is attached to a page" msgstr "" #: libgeda/src/scheme_complex.c:339 libgeda/src/scheme_page.c:301 msgid "Object ~A is attached as an attribute" msgstr "" #: libgeda/src/scheme_complex.c:346 libgeda/src/scheme_page.c:308 msgid "Object ~A has attributes" msgstr "" #: libgeda/src/scheme_object.c:232 msgid "Object ~A has bad type '~A'" msgstr "" #: libgeda/src/scheme_object.c:346 msgid "Object ~A has invalid stroke cap style ~A" msgstr "" #: libgeda/src/scheme_object.c:359 msgid "Object ~A has invalid stroke dash style ~A" msgstr "" #: libgeda/src/scheme_object.c:423 msgid "Invalid stroke cap style ~A." msgstr "" #: libgeda/src/scheme_object.c:434 msgid "Invalid stroke dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:444 msgid "Missing dash length parameter for dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:454 msgid "Missing dot/dash space parameter for dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:516 msgid "Object ~A has invalid fill style ~A" msgstr "" #: libgeda/src/scheme_object.c:565 msgid "Invalid fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:573 msgid "Missing second space parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:582 msgid "Missing second angle parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:592 msgid "Missing stroke width parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:601 msgid "Missing space parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:610 msgid "Missing angle parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:909 msgid "Invalid pin type ~A, must be 'net or 'bus" msgstr "" #: libgeda/src/scheme_object.c:952 msgid "Object ~A has invalid pin type." msgstr "" #: libgeda/src/scheme_object.c:1347 msgid "Invalid text alignment ~A." msgstr "" #: libgeda/src/scheme_object.c:1363 msgid "Invalid text angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_object.c:1382 msgid "Invalid text name/value visibility ~A." msgstr "" #: libgeda/src/scheme_object.c:1457 msgid "Text object ~A has invalid text alignment ~A" msgstr "" #: libgeda/src/scheme_object.c:1466 msgid "Text object ~A has invalid visibility ~A" msgstr "" #: libgeda/src/scheme_object.c:1476 msgid "Text object ~A has invalid text attribute visibility ~A" msgstr "" #: libgeda/src/scheme_object.c:1517 msgid "Object ~A is not included in a page." msgstr "" #: libgeda/src/scheme_object.c:1670 msgid "Path object ~A has invalid element type ~A at index ~A" msgstr "" #: libgeda/src/scheme_object.c:1784 msgid "Invalid path element type ~A." msgstr "" #: libgeda/src/scheme_object.c:1957 msgid "Invalid picture angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_page.c:294 msgid "Object ~A is attached to a complex or different page" msgstr "" #: libgeda/src/scheme_page.c:442 msgid "Parse error: ~s" msgstr "" #: libgeda/scheme/geda/attrib.scm:59 #, scheme-format msgid "Object ~A is not part of a page" msgstr "" geda-gaf-1.8.2/libgeda/po/sr.po0000664000175000017500000007524712220655642013114 00000000000000# Serbian translation for geda # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-01-27 14:12+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Serbian \n" "Language: sr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: libgeda/data/libgeda.xml.in:3 msgid "gEDA circuit schematic" msgstr "гЕДА — шема електричних кола" #: libgeda/data/libgeda.xml.in:4 msgid "gEDA schematic symbol" msgstr "гЕДА — симбол шеме" #: libgeda/data/libgeda.xml.in:5 msgid "gEDA gsch2pcb project" msgstr "гЕДА — „gsch2pcb“ пројекат" #: libgeda/data/x-geda-gsch2pcb-project.desktop.in:3 msgid "gEDA Gsch2pcb Project" msgstr "гЕДА — „gsch2pcb“ пројекат" #: libgeda/data/x-geda-schematic.desktop.in:3 msgid "gEDA Circuit Schematic" msgstr "гЕДА — шема електричних кола" #: libgeda/data/x-geda-symbol.desktop.in:3 msgid "gEDA Schematic Symbol" msgstr "гЕДА — симбол шеме" #: libgeda/src/a_basic.c:182 #, c-format msgid "o_save_objects: object %p has unknown type '%c'\n" msgstr "о_сачувај_објекат: објекат „%p“ има непознату врсту „%c“\n" #: libgeda/src/a_basic.c:238 libgeda/src/f_basic.c:384 #, c-format msgid "File %s is read-only" msgstr "" #: libgeda/src/a_basic.c:423 #, c-format msgid "" "Read unexpected attach symbol start marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" #: libgeda/src/a_basic.c:440 #, c-format msgid "" "Read unexpected embedded symbol start marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" "Читам неочекивани почетни знак уграђеног симбола у (%s) :\n" ">>\n" "%s<<\n" #: libgeda/src/a_basic.c:471 #, c-format msgid "" "Read unexpected embedded symbol end marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" "Читам неочекивани крајњи знак уграђеног симбола у (%s) :\n" ">>\n" "%s<<\n" #: libgeda/src/a_basic.c:506 #, c-format msgid "" "Read an old format sym/sch file!\n" "Please run g[sym|sch]update on:\n" "[%s]\n" msgstr "" "Читам датотеку старог формата „sym/sch“!\n" "Молим покрените „g[sym|sch]update“ на:\n" "(%s)\n" #: libgeda/src/a_basic.c:512 #, c-format msgid "" "Read garbage in [%s] :\n" ">>\n" "%s<<\n" msgstr "" "Читам смеће у (%s) :\n" ">>\n" "%s<<\n" #: libgeda/src/f_basic.c:123 libgeda/src/f_basic.c:136 #, c-format msgid "Failed to stat [%s]: %s" msgstr "Нисам успео да направим статистику (%s): %s" #: libgeda/src/f_basic.c:221 #, c-format msgid "Cannot find file %s: %s" msgstr "Не могу да пронађем датотеку „%s“: %s" #: libgeda/src/f_basic.c:269 #, c-format msgid "" "\n" "WARNING: Found an autosave backup file:\n" " %s.\n" "\n" msgstr "" "\n" "УПОЗОРЕЊЕ: Нашао сам самосачувану резервну датотеку:\n" " %s.\n" "\n" #: libgeda/src/f_basic.c:271 msgid "I could not guess if it is newer, so you have to do it manually.\n" msgstr "" "Не могу да погодим да ли је новија, зато ви морате то да урадите ручно.\n" #: libgeda/src/f_basic.c:273 msgid "" "The backup copy is newer than the schematic, so it seems you should load it " "instead of the original file.\n" msgstr "" "Резервни примерак је новији од шеме, зато изгледа да треба да га учитате " "уместо оригиналне датотеке.\n" #: libgeda/src/f_basic.c:275 msgid "" "Gschem usually makes backup copies automatically, and this situation happens " "when it crashed or it was forced to exit abruptly.\n" msgstr "" "Гшема обично самостално прави резервне примерке, а до ове ситуације је дошло " "када се урушио или је био приморан да нагло изађе.\n" #: libgeda/src/f_basic.c:278 msgid "" "\n" "Run gschem and correct the situation.\n" "\n" msgstr "" "\n" "Покрените гшему и исправите ситуацију.\n" "\n" #: libgeda/src/f_basic.c:374 #, c-format msgid "Can't get the real filename of %s: %s" msgstr "" #: libgeda/src/f_basic.c:405 #, c-format msgid "Could NOT set previous backup file [%s] read-write\n" msgstr "НЕ могу да подесим читање-писање претходног резервног примерка (%s)\n" #: libgeda/src/f_basic.c:411 #, c-format msgid "Can't save backup file: %s." msgstr "Не могу да сачувам датотеку резервног примерка: %s." #: libgeda/src/f_basic.c:421 #, c-format msgid "Could NOT set backup file [%s] readonly\n" msgstr "НЕ могу да подесим само за читање датотеку резервног примерка (%s)\n" #: libgeda/src/f_basic.c:480 #, c-format msgid "Could NOT save file: %s" msgstr "" #: libgeda/src/f_basic.c:727 #, c-format msgid "%s: %s" msgstr "„%s“: %s" #: libgeda/src/f_print.c:123 msgid "Unable to get time of day in f_print_header()\n" msgstr "Не могу да добавим време дана у „f_print_header()“\n" #: libgeda/src/f_print.c:165 #, c-format msgid "Unable to open the prolog file `%s' for reading in f_print_header()\n" msgstr "" "Не могу да отворим пролог датотеку „%s“ за читање у „f_print_header()“\n" #: libgeda/src/f_print.c:182 #, c-format msgid "Error during reading of the prolog file `%s' in f_print_header()\n" msgstr "Грешка приликом читања пролог датотеке „%s“ у „f_print_header()“\n" #: libgeda/src/f_print.c:188 msgid "" "Error during writing of the output postscript file in f_print_header()\n" msgstr "" "Грешка приликом писања излазне постскрипт датотеке у „f_print_header()“\n" #: libgeda/src/f_print.c:202 msgid "Giving up on printing\n" msgstr "Одустајем од штампања\n" #: libgeda/src/f_print.c:375 #, c-format msgid "Could not open [%s] for printing\n" msgstr "Не могу да отворим (%s) за штампање\n" #: libgeda/src/f_print.c:409 #, c-format msgid "Could not execute command [%s] for printing\n" msgstr "Не могу да извршим наредбу (%s) за штампање\n" #: libgeda/src/f_print.c:682 msgid "Too many UTF-8 characters, cannot print\n" msgstr "Превише УТФ-8 знакова, не могу да штампам\n" #: libgeda/src/g_basic.c:264 msgid "" "\n" "Backtrace:\n" msgstr "" #: libgeda/src/g_rc.c:233 msgid "Config file already loaded" msgstr "" #: libgeda/src/g_rc.c:268 #, c-format msgid "Parsed config from [%s]\n" msgstr "" #: libgeda/src/g_rc.c:281 #, c-format msgid "Unable to parse config from [%s]: %s" msgstr "" #: libgeda/src/g_rc.c:298 msgid "ERROR: An unknown error occurred while parsing configuration files." msgstr "" #: libgeda/src/g_rc.c:310 libgeda/src/g_rc.c:311 #, c-format msgid "ERROR: %s\n" msgstr "" #: libgeda/src/g_rc.c:317 #, c-format msgid "ERROR: The %s log may contain more information.\n" msgstr "" #: libgeda/src/g_rc.c:978 msgid "" "WARNING: using a string for 'always-promote-attributes' is deprecated. Use a " "list of strings instead\n" msgstr "" "УПОЗОРЕЊЕ: Коришћење ниске за „увек-промовиши-особине“ је застарело. " "Користите уместо тога списак ниски\n" #: libgeda/src/o_arc_basic.c:256 libgeda/src/o_arc_basic.c:269 msgid "Failed to parse arc object" msgstr "" #: libgeda/src/o_arc_basic.c:276 #, c-format msgid "Found a zero radius arc [ %c %d, %d, %d, %d, %d, %d ]\n" msgstr "Пронашао сам лук нултог полупречника ( %c %d, %d, %d, %d, %d, %d )\n" #: libgeda/src/o_arc_basic.c:282 libgeda/src/o_box_basic.c:327 #: libgeda/src/o_bus_basic.c:182 libgeda/src/o_circle_basic.c:289 #: libgeda/src/o_line_basic.c:264 libgeda/src/o_net_basic.c:171 #: libgeda/src/o_path_basic.c:189 libgeda/src/o_pin_basic.c:183 #: libgeda/src/o_text_basic.c:425 #, c-format msgid "Found an invalid color [ %s ]\n" msgstr "Пронашао сам неисправну боју ( %s )\n" #: libgeda/src/o_arc_basic.c:283 libgeda/src/o_box_basic.c:328 #: libgeda/src/o_bus_basic.c:183 libgeda/src/o_circle_basic.c:290 #: libgeda/src/o_line_basic.c:265 libgeda/src/o_net_basic.c:172 #: libgeda/src/o_path_basic.c:190 libgeda/src/o_pin_basic.c:184 #: libgeda/src/o_text_basic.c:426 msgid "Setting color to default color\n" msgstr "Подешавам боју на основну боју\n" #: libgeda/src/o_attrib.c:123 msgid "Attempt to attach non text item as an attribute!\n" msgstr "Покушај да се приложи ставка која није текст као особина!\n" #: libgeda/src/o_attrib.c:128 #, c-format msgid "Attempt to attach attribute [%s] to more than one object\n" msgstr "Покушај да се приложи особина (%s) на више од једног објекта\n" #: libgeda/src/o_attrib.c:341 msgid "Tried to attach a non-text item as an attribute" msgstr "" #: libgeda/src/o_attrib.c:348 msgid "Unexpected end-of-file in attribute list" msgstr "" #: libgeda/src/o_basic.c:196 libgeda/src/o_basic.c:208 msgid "Invalid space specified, setting to 100\n" msgstr "Наведен је неисправан простор, подешавам на 100\n" #: libgeda/src/o_basic.c:204 msgid "Invalid length specified, setting to 100\n" msgstr "Наведена је неисправна дужина, подешавам на 100\n" #: libgeda/src/o_box_basic.c:287 libgeda/src/o_box_basic.c:316 msgid "Failed to parse box object" msgstr "" #: libgeda/src/o_box_basic.c:322 #, c-format msgid "Found a zero width/height box [ %c %d %d %d %d %d ]\n" msgstr "Пронашао сам поље нулте ширине/висине ( %c %d %d %d %d %d )\n" #: libgeda/src/o_bus_basic.c:160 libgeda/src/o_bus_basic.c:167 msgid "Failed to parse bus object" msgstr "" #: libgeda/src/o_bus_basic.c:173 #, c-format msgid "Found a zero length bus [ %c %d %d %d %d %d ]\n" msgstr "Пронашао сам магистралу нулте дужине ( %c %d %d %d %d %d )\n" #: libgeda/src/o_bus_basic.c:188 #, c-format msgid "Found an invalid bus ripper direction [ %s ]\n" msgstr "Пронашао сам неисправан смер извлачивача магистрале ( %s )\n" #: libgeda/src/o_bus_basic.c:189 msgid "Resetting direction to neutral (no direction)\n" msgstr "Враћам правац на неутралан (без правца)\n" #: libgeda/src/o_circle_basic.c:193 msgid "Null radius circles are not allowed\n" msgstr "Кругови нултог полупречника нису дозвољени\n" #: libgeda/src/o_circle_basic.c:246 libgeda/src/o_circle_basic.c:275 msgid "Failed to parse circle object" msgstr "" #: libgeda/src/o_circle_basic.c:282 #, c-format msgid "Found a zero or negative radius circle [ %c %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_circle_basic.c:284 msgid "Setting radius to 0\n" msgstr "" #: libgeda/src/o_complex_basic.c:422 #, c-format msgid "" "Component not found:\n" " %s" msgstr "" "Нисам пронашао компоненту:\n" " %s" #: libgeda/src/o_complex_basic.c:654 msgid "Failed to parse complex object" msgstr "" #: libgeda/src/o_complex_basic.c:667 #, c-format msgid "Found a component with an invalid rotation [ %c %d %d %d %d %d %s ]\n" msgstr "" "Пронашао сам компоненту са неисправном ротацијом ( %c %d %d %d %d %d %s )\n" #: libgeda/src/o_complex_basic.c:668 libgeda/src/o_picture.c:105 #: libgeda/src/o_text_basic.c:397 msgid "Setting angle to 0\n" msgstr "Подешавам угао на 0\n" #: libgeda/src/o_complex_basic.c:680 #, c-format msgid "" "Found a component with an invalid mirror flag [ %c %d %d %d %d %d %s ]\n" msgstr "" "Пронашао сам компоненту са неисправном заставицом огледала ( %c %d %d %d %d " "%d %s )\n" #: libgeda/src/o_complex_basic.c:681 msgid "Setting mirror to 0\n" msgstr "" #: libgeda/src/o_complex_basic.c:994 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse symbol file symversion=%s\n" msgstr "" "УПОЗОРЕЊЕ: Грешка при анализи издања симбола на рефдес-у „%s“:\n" "\t Не могу да анализирам датотеку издање_симбола=„%s“\n" #: libgeda/src/o_complex_basic.c:998 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse symbol file symversion=\n" msgstr "" "УПОЗОРЕЊЕ: Грешка при анализи издања симбола на рефдес-у „%s“:\n" "\t Не могу да анализирам датотеку издање_симбола=\n" #: libgeda/src/o_complex_basic.c:1014 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse attached symversion=%s\n" msgstr "" "УПОЗОРЕЊЕ: Грешка при анализи издања симбола на рефдес-у „%s“:\n" "\t Не могу да анализирам приложено издање_симбола=„%s“\n" #: libgeda/src/o_complex_basic.c:1039 #, c-format msgid "" "WARNING: Symbol version oddity on refdes %s:\n" "\tsymversion=%s attached to instantiated symbol, but no symversion= inside " "symbol file\n" msgstr "" "УПОЗОРЕЊЕ: Настраност издања симбола на рефдес-у „%s“:\n" "\t издање_симбола=%s је приложено инстанцном симболу, али нема " "издања_симбола= унутар датотеке симбола\n" #: libgeda/src/o_complex_basic.c:1053 #, c-format msgid "" "WARNING: Symbol version mismatch on refdes %s (%s):\n" "\tSymbol in library is newer than instantiated symbol\n" msgstr "" "УПОЗОРЕЊЕ: Неслагање издања симбола на рефдес-у „%s“ (%s):\n" "\t Симбол у библиотеци је новији од инстанцног симбола\n" #: libgeda/src/o_complex_basic.c:1081 #, c-format msgid "\tMAJOR VERSION CHANGE (file %.3f, instantiated %.3f, %s)!\n" msgstr "\tИЗМЕНА ГЛАВНОГ ИЗДАЊА (датотека „%.3f“, инстанцирана „%.3f“, %s)!\n" #: libgeda/src/o_complex_basic.c:1099 #, c-format msgid "\tMinor version change (file %.3f, instantiated %.3f)\n" msgstr "\tИзмена нижег издања (датотека „%.3f“, инстанцирано „%.3f“)\n" #: libgeda/src/o_complex_basic.c:1110 #, c-format msgid "" "WARNING: Symbol version oddity on refdes %s:\n" "\tInstantiated symbol is newer than symbol in library\n" msgstr "" "УПОЗОРЕЊЕ: Чудност издања симбола на рефдес-у „%s“:\n" "\t Инстанцирани симбол је новији од симбола у библиотеци\n" #: libgeda/src/o_embed.c:58 #, c-format msgid "Component [%s] has been embedded\n" msgstr "Компонента (%s) је уграђена\n" #: libgeda/src/o_embed.c:102 #, c-format msgid "" "Could not find component [%s], while trying to unembed. Component is still " "embedded\n" msgstr "" "Не могу да пронађем компоненту (%s), док покушавам да је избацим. Компонента " "је још увек уграђена.\n" #: libgeda/src/o_embed.c:110 #, c-format msgid "Component [%s] has been successfully unembedded\n" msgstr "Компонента (%s) је успешно избачена\n" #: libgeda/src/o_line_basic.c:229 libgeda/src/o_line_basic.c:247 msgid "Failed to parse line object" msgstr "" #: libgeda/src/o_line_basic.c:259 #, c-format msgid "Found a zero length line [ %c %d %d %d %d %d ]\n" msgstr "Пронашао сам линију нулте дужине ( %c %d %d %d %d %d )\n" #: libgeda/src/o_net_basic.c:156 msgid "Failed to parse net object" msgstr "" #: libgeda/src/o_net_basic.c:161 #, c-format msgid "Found a zero length net [ %c %d %d %d %d %d ]\n" msgstr "Пронашао сам мрежу нулте дужине ( %c %d %d %d %d %d )\n" #: libgeda/src/o_path_basic.c:181 msgid "Failed to parse path object" msgstr "" #: libgeda/src/o_path_basic.c:207 msgid "Unexpected end-of-file when reading path" msgstr "" #: libgeda/src/o_picture.c:72 msgid "Failed to parse picture definition" msgstr "" #: libgeda/src/o_picture.c:77 #, c-format msgid "Found a zero width/height picture [ %c %d %d %d %d ]\n" msgstr "Пронашао сам слику нулте ширине/висине ( %c %d %d %d %d )\n" #: libgeda/src/o_picture.c:82 #, c-format msgid "Found a picture with a wrong 'mirrored' parameter: %d.\n" msgstr "" #: libgeda/src/o_picture.c:84 msgid "Setting mirrored to 0\n" msgstr "Подешавам пресликано на 0\n" #: libgeda/src/o_picture.c:89 #, c-format msgid "Found a picture with a wrong 'embedded' parameter: %d.\n" msgstr "" #: libgeda/src/o_picture.c:91 msgid "Setting embedded to 0\n" msgstr "Подешавам уграђено на 0\n" #: libgeda/src/o_picture.c:104 #, c-format msgid "Found an unsupported picture angle [ %d ]\n" msgstr "Пронашао сам неподржан угао слике ( %d )\n" #: libgeda/src/o_picture.c:116 msgid "Found an image with no filename." msgstr "" #: libgeda/src/o_picture.c:147 #, c-format msgid "Failed to load image from embedded data [%s]: %s\n" msgstr "Нисам успео да учитам слику из уграђених података (%s): %s\n" #: libgeda/src/o_picture.c:148 msgid "Base64 decoding failed." msgstr "Није успело декодирање базе64." #: libgeda/src/o_picture.c:149 msgid "Falling back to file loading. Picture unembedded.\n" msgstr "Пребацујем се назад на учитавање слике. Слика је избачена.\n" #: libgeda/src/o_picture.c:208 msgid "ERROR: o_picture_save: unable to encode the picture.\n" msgstr "ГРЕШКА: о_сачувај_слику: не могу да шифрујем слику.\n" #: libgeda/src/o_picture.c:308 #, c-format msgid "Failed to load buffer image [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:321 #, c-format msgid "Failed to load image from [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:427 #, c-format msgid "Picture %p has invalid angle %i\n" msgstr "" #: libgeda/src/o_picture.c:957 #, c-format msgid "Picture [%s] has no image data.\n" msgstr "" #: libgeda/src/o_picture.c:958 msgid "Falling back to file loading. Picture is still unembedded.\n" msgstr "" #: libgeda/src/o_picture.c:966 #, c-format msgid "Picture [%s] has been embedded\n" msgstr "Слика (%s) је уграђена\n" #: libgeda/src/o_picture.c:990 #, c-format msgid "Failed to load image from file [%s]: %s\n" msgstr "Нисам успео да учитам слику из датотеке (%s): %s\n" #: libgeda/src/o_picture.c:992 msgid "Picture is still embedded.\n" msgstr "" #: libgeda/src/o_picture.c:1000 #, c-format msgid "Picture [%s] has been unembedded\n" msgstr "Слика (%s) је избачена\n" #: libgeda/src/o_picture.c:1236 #, c-format msgid "Failed to load fallback image %s: %s.\n" msgstr "" #: libgeda/src/o_pin_basic.c:160 libgeda/src/o_pin_basic.c:168 msgid "Failed to parse pin object" msgstr "" #: libgeda/src/o_pin_basic.c:174 msgid "" "Found a pin which did not have the whichone field set.\n" "Verify and correct manually.\n" msgstr "" "Пронашао сам ножицу која нема подешено поље „који“.\n" "Проверите и исправите ручно.\n" #: libgeda/src/o_pin_basic.c:177 #, c-format msgid "Found an invalid whichend on a pin (reseting to zero): %d\n" msgstr "Пронашао сам неисправан „који крај“ на ножици (враћам на нулу): %d\n" #: libgeda/src/o_text_basic.c:356 libgeda/src/o_text_basic.c:366 #: libgeda/src/o_text_basic.c:376 msgid "Failed to parse text object" msgstr "" #: libgeda/src/o_text_basic.c:383 #, c-format msgid "Found a zero size text string [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" "Пронашао сам ниску текста нулте величине ( %c %d %d %d %d %d %d %d %d )\n" #: libgeda/src/o_text_basic.c:395 #, c-format msgid "Found an unsupported text angle [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "Пронашао сам неподржани угао текста ( %c %d %d %d %d %d %d %d %d )\n" #: libgeda/src/o_text_basic.c:417 #, c-format msgid "Found an unsupported text alignment [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" "Пронашао сам неподржано поравнање текста ( %c %d %d %d %d %d %d %d %d )\n" #: libgeda/src/o_text_basic.c:419 msgid "Setting alignment to LOWER_LEFT\n" msgstr "Подешавам поравнање на НИЖЕ_ЛЕВО\n" #: libgeda/src/o_text_basic.c:440 #, c-format msgid "Unexpected end-of-file after %d lines" msgstr "" #: libgeda/src/s_clib.c:465 #, c-format msgid "Library command failed [%s]: %s\n" msgstr "Није успела наредба библиотеке (%s): %s\n" #: libgeda/src/s_clib.c:470 #, c-format msgid "Library command failed [%s]: Uncaught signal %i.\n" msgstr "Није успела наредба библиотеке (%s): Неухваћени сигнал „%i“.\n" #: libgeda/src/s_clib.c:474 #, c-format msgid "Library command failed [%s]\n" msgstr "Није успела наредба библиотеке (%s)\n" #: libgeda/src/s_clib.c:475 #, c-format msgid "" "Error output was:\n" "%s\n" msgstr "" "Излаз грешке беше:\n" "%s\n" #: libgeda/src/s_clib.c:561 #, c-format msgid "Library name [%s] already in use. Using [%s].\n" msgstr "Назив библиотеке (%s) је већ у употреби. Користим (%s).\n" #: libgeda/src/s_clib.c:598 #, c-format msgid "Failed to open directory [%s]: %s\n" msgstr "Нисам успео да отворим директоријум (%s): %s\n" #: libgeda/src/s_clib.c:734 #, c-format msgid "Failed to scan library [%s]: Scheme function returned non-list\n" msgstr "" "Нисам успео да прегледам библиотеку (%s): Функција шеме није вратила списак\n" #: libgeda/src/s_clib.c:742 #, c-format msgid "Non-string symbol name while scanning library [%s]\n" msgstr "Назив симбола не-ниске за време прегледања библиотеке (%s)\n" #: libgeda/src/s_clib.c:901 libgeda/src/s_clib.c:948 msgid "Cannot add library: name not specified\n" msgstr "Не могу да додам библиотеку: назив није наведен\n" #: libgeda/src/s_clib.c:908 #, c-format msgid "" "Cannot add library [%s]: both 'list' and 'get' commands must be specified.\n" msgstr "" "Не могу да додам библиотеку (%s): морају бити наведене наредбе и „списак“ и " "„добави“.\n" #: libgeda/src/s_clib.c:956 #, c-format msgid "Cannot add Scheme-library [%s]: callbacks must be closures\n" msgstr "" "Не могу да додам библиотеку шеме (%s): повратни позиви морају бити " "затварајући\n" #: libgeda/src/s_clib.c:1083 #, c-format msgid "Failed to load symbol from file [%s]: %s\n" msgstr "Нисам успео да учитам симбол из датотеке (%s): %s\n" #: libgeda/src/s_clib.c:1143 #, c-format msgid "Failed to load symbol data [%s] from source [%s]\n" msgstr "Нисам успео да учитам податак симбола (%s) из извора (%s)\n" #: libgeda/src/s_clib.c:1385 #, c-format msgid "Component [%s] was not found in the component library\n" msgstr "Нисам пронашао компоненту (%s) у библиотеци компоненти\n" #: libgeda/src/s_clib.c:1391 #, c-format msgid "More than one component found with name [%s]\n" msgstr "Пронашао сам више од једне компоненте са називом (%s)\n" #: libgeda/src/s_color.c:207 msgid "Color index out of range" msgstr "Индекс боје је изван опсега" #: libgeda/src/s_color.c:262 msgid "Color map entry must be a two-element list" msgstr "Унос мапе боје мора бити списак два елемента" #: libgeda/src/s_color.c:270 msgid "Index in color map entry must be an integer" msgstr "Индекс у уносу мапе боје мора бити цео број" #: libgeda/src/s_color.c:296 msgid "Value in color map entry must be #f or a string" msgstr "Вредност у уносу мапе боје мора бити „#f“ или ниска" #: libgeda/src/s_hierarchy.c:94 #, c-format msgid "" "hierarchy loop detected while visiting page:\n" " \"%s\"\n" msgstr "" "открио сам петљу хијерархије за време посећивања странице:\n" " „%s“\n" #: libgeda/src/s_hierarchy.c:194 msgid "There are no schematics above the current one!\n" msgstr "Нема других електричних шема осим ове!\n" #: libgeda/src/s_hierarchy.c:274 #, c-format msgid "ERROR in s_hierarchy_traverse: schematic not found: %s\n" msgstr "ГРЕШКА у „s_hierarchy_traverse“: шема није пронађена: %s\n" #: libgeda/src/s_page.c:213 #, c-format msgid "s_page_delete: Can't get the real filename of %s." msgstr "s_page_delete: Не могу да добавим прави назив датотеке „%s“." #: libgeda/src/s_page.c:224 #, c-format msgid "s_page_delete: Unable to delete backup file %s." msgstr "s_page_delete: Не могу да избришем датотеку резервног примерка „%s“." #: libgeda/src/s_page.c:499 #, c-format msgid "Saved [%s]\n" msgstr "Сачувао сам (%s)\n" #: libgeda/src/s_page.c:505 #, c-format msgid "Could NOT save [%s]\n" msgstr "НЕ МОГУ да сачувам (%s)\n" #: libgeda/src/s_slib.c:171 #, c-format msgid "Found [%s]\n" msgstr "Нашао сам (%s)\n" #: libgeda/src/s_slib.c:181 #, c-format msgid "Could not find [%s] in any SourceLibrary\n" msgstr "Не могу да пронађем (%s) у било којој Библиотеци извора\n" #: libgeda/src/s_slot.c:162 msgid "Did not find slotdef=#:#,#,#... attribute\n" msgstr "" #: libgeda/src/s_slot.c:168 msgid "Improper slotdef syntax: missing \":\".\n" msgstr "" #: libgeda/src/s_slot.c:183 msgid "Did not find proper slotdef=#:#,#,#... attribute\n" msgstr "" #: libgeda/src/s_slot.c:213 msgid "component missing pinseq= attribute\n" msgstr "" #: libgeda/src/scheme_attrib.c:67 msgid "~A is not a valid attribute: invalid string '~A'." msgstr "" #: libgeda/src/scheme_attrib.c:172 msgid "Objects ~A and ~A are not part of the same page and/or complex object" msgstr "" #: libgeda/src/scheme_attrib.c:179 libgeda/src/scheme_attrib.c:184 msgid "Object ~A is already attached as an attribute" msgstr "" #: libgeda/src/scheme_attrib.c:233 msgid "Object ~A is attribute of wrong object" msgstr "" #: libgeda/src/scheme_complex.c:148 msgid "Invalid complex angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_complex.c:265 libgeda/src/scheme_page.c:249 msgid "Object ~A is already attached to something" msgstr "" #: libgeda/src/scheme_complex.c:325 msgid "Object ~A is attached to a different complex" msgstr "" #: libgeda/src/scheme_complex.c:332 msgid "Object ~A is attached to a page" msgstr "" #: libgeda/src/scheme_complex.c:339 libgeda/src/scheme_page.c:301 msgid "Object ~A is attached as an attribute" msgstr "" #: libgeda/src/scheme_complex.c:346 libgeda/src/scheme_page.c:308 msgid "Object ~A has attributes" msgstr "" #: libgeda/src/scheme_object.c:232 msgid "Object ~A has bad type '~A'" msgstr "" #: libgeda/src/scheme_object.c:346 msgid "Object ~A has invalid stroke cap style ~A" msgstr "" #: libgeda/src/scheme_object.c:359 msgid "Object ~A has invalid stroke dash style ~A" msgstr "" #: libgeda/src/scheme_object.c:423 msgid "Invalid stroke cap style ~A." msgstr "" #: libgeda/src/scheme_object.c:434 msgid "Invalid stroke dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:444 msgid "Missing dash length parameter for dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:454 msgid "Missing dot/dash space parameter for dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:516 msgid "Object ~A has invalid fill style ~A" msgstr "" #: libgeda/src/scheme_object.c:565 msgid "Invalid fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:573 msgid "Missing second space parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:582 msgid "Missing second angle parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:592 msgid "Missing stroke width parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:601 msgid "Missing space parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:610 msgid "Missing angle parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:909 msgid "Invalid pin type ~A, must be 'net or 'bus" msgstr "" #: libgeda/src/scheme_object.c:952 msgid "Object ~A has invalid pin type." msgstr "" #: libgeda/src/scheme_object.c:1347 msgid "Invalid text alignment ~A." msgstr "" #: libgeda/src/scheme_object.c:1363 msgid "Invalid text angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_object.c:1382 msgid "Invalid text name/value visibility ~A." msgstr "" #: libgeda/src/scheme_object.c:1457 msgid "Text object ~A has invalid text alignment ~A" msgstr "" #: libgeda/src/scheme_object.c:1466 msgid "Text object ~A has invalid visibility ~A" msgstr "" #: libgeda/src/scheme_object.c:1476 msgid "Text object ~A has invalid text attribute visibility ~A" msgstr "" #: libgeda/src/scheme_object.c:1517 msgid "Object ~A is not included in a page." msgstr "" #: libgeda/src/scheme_object.c:1670 msgid "Path object ~A has invalid element type ~A at index ~A" msgstr "" #: libgeda/src/scheme_object.c:1784 msgid "Invalid path element type ~A." msgstr "" #: libgeda/src/scheme_object.c:1957 msgid "Invalid picture angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_page.c:294 msgid "Object ~A is attached to a complex or different page" msgstr "" #: libgeda/src/scheme_page.c:442 msgid "Parse error: ~s" msgstr "" #: libgeda/scheme/geda/attrib.scm:59 #, scheme-format msgid "Object ~A is not part of a page" msgstr "" geda-gaf-1.8.2/libgeda/po/uk.po0000664000175000017500000005651112220655642013100 00000000000000# Ukrainian translation for geda # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-01-27 14:12+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Ukrainian \n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: libgeda/data/libgeda.xml.in:3 msgid "gEDA circuit schematic" msgstr "" #: libgeda/data/libgeda.xml.in:4 msgid "gEDA schematic symbol" msgstr "" #: libgeda/data/libgeda.xml.in:5 msgid "gEDA gsch2pcb project" msgstr "" #: libgeda/data/x-geda-gsch2pcb-project.desktop.in:3 msgid "gEDA Gsch2pcb Project" msgstr "gEDA проект Gsch2pcb" #: libgeda/data/x-geda-schematic.desktop.in:3 msgid "gEDA Circuit Schematic" msgstr "" #: libgeda/data/x-geda-symbol.desktop.in:3 msgid "gEDA Schematic Symbol" msgstr "" #: libgeda/src/a_basic.c:182 #, c-format msgid "o_save_objects: object %p has unknown type '%c'\n" msgstr "o_save_objects: об’єкт %p має не визначений тип '%c'\n" #: libgeda/src/a_basic.c:238 libgeda/src/f_basic.c:384 #, c-format msgid "File %s is read-only" msgstr "" #: libgeda/src/a_basic.c:423 #, c-format msgid "" "Read unexpected attach symbol start marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" #: libgeda/src/a_basic.c:440 #, c-format msgid "" "Read unexpected embedded symbol start marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" #: libgeda/src/a_basic.c:471 #, c-format msgid "" "Read unexpected embedded symbol end marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" #: libgeda/src/a_basic.c:506 #, c-format msgid "" "Read an old format sym/sch file!\n" "Please run g[sym|sch]update on:\n" "[%s]\n" msgstr "" #: libgeda/src/a_basic.c:512 #, c-format msgid "" "Read garbage in [%s] :\n" ">>\n" "%s<<\n" msgstr "" #: libgeda/src/f_basic.c:123 libgeda/src/f_basic.c:136 #, c-format msgid "Failed to stat [%s]: %s" msgstr "" #: libgeda/src/f_basic.c:221 #, c-format msgid "Cannot find file %s: %s" msgstr "Не можу знайти файл %s: %s" #: libgeda/src/f_basic.c:269 #, c-format msgid "" "\n" "WARNING: Found an autosave backup file:\n" " %s.\n" "\n" msgstr "" "\n" "ЗАСТЕРЕЖЕННЯ: Знайдено автозбережений файл резервної копії:\n" " %s.\n" "\n" #: libgeda/src/f_basic.c:271 msgid "I could not guess if it is newer, so you have to do it manually.\n" msgstr "" "Не можу визначити чи він більш новий, тому Вам слід зробити це самостійно.\n" #: libgeda/src/f_basic.c:273 msgid "" "The backup copy is newer than the schematic, so it seems you should load it " "instead of the original file.\n" msgstr "" "Файл резерної копії новіший за файл схеми, здається Вам слід завантажити " "його замість оригіналу.\n" #: libgeda/src/f_basic.c:275 msgid "" "Gschem usually makes backup copies automatically, and this situation happens " "when it crashed or it was forced to exit abruptly.\n" msgstr "" "Gschem зазвичай автоматично створює резервні копії, а така ситуація " "трапляється при збої чи вимушеному несподіваному виході.\n" #: libgeda/src/f_basic.c:278 msgid "" "\n" "Run gschem and correct the situation.\n" "\n" msgstr "" "\n" "Запустіть gschem та виправте ситуацію.\n" "\n" #: libgeda/src/f_basic.c:374 #, c-format msgid "Can't get the real filename of %s: %s" msgstr "" #: libgeda/src/f_basic.c:405 #, c-format msgid "Could NOT set previous backup file [%s] read-write\n" msgstr "" #: libgeda/src/f_basic.c:411 #, c-format msgid "Can't save backup file: %s." msgstr "Не можу зберегти файл резервної копії: %s." #: libgeda/src/f_basic.c:421 #, c-format msgid "Could NOT set backup file [%s] readonly\n" msgstr "" "Не мжу встановити для файлу резерної копії [%s] режим тільки для читання\n" #: libgeda/src/f_basic.c:480 #, c-format msgid "Could NOT save file: %s" msgstr "" #: libgeda/src/f_basic.c:727 #, c-format msgid "%s: %s" msgstr "%s: %s" #: libgeda/src/f_print.c:123 msgid "Unable to get time of day in f_print_header()\n" msgstr "Не можу отримати годину в f_print_header()\n" #: libgeda/src/f_print.c:165 #, c-format msgid "Unable to open the prolog file `%s' for reading in f_print_header()\n" msgstr "Не можу відкрити prolog файл `%s' для читання в f_print_header()\n" #: libgeda/src/f_print.c:182 #, c-format msgid "Error during reading of the prolog file `%s' in f_print_header()\n" msgstr "Помилка читання prolog файлу `%s' в f_print_header()\n" #: libgeda/src/f_print.c:188 msgid "" "Error during writing of the output postscript file in f_print_header()\n" msgstr "Помилка під час запису postscript файлу в f_print_header()\n" #: libgeda/src/f_print.c:202 msgid "Giving up on printing\n" msgstr "Не можу роздрукувати\n" #: libgeda/src/f_print.c:375 #, c-format msgid "Could not open [%s] for printing\n" msgstr "Не можу відкрити [%s] щоб надрукувати\n" #: libgeda/src/f_print.c:409 #, c-format msgid "Could not execute command [%s] for printing\n" msgstr "Не можу виконати команду [%s] для друку\n" #: libgeda/src/f_print.c:682 msgid "Too many UTF-8 characters, cannot print\n" msgstr "Забагато UTF-8 символів, не можу відобразити\n" #: libgeda/src/g_basic.c:264 msgid "" "\n" "Backtrace:\n" msgstr "" #: libgeda/src/g_rc.c:233 msgid "Config file already loaded" msgstr "" #: libgeda/src/g_rc.c:268 #, c-format msgid "Parsed config from [%s]\n" msgstr "" #: libgeda/src/g_rc.c:281 #, c-format msgid "Unable to parse config from [%s]: %s" msgstr "" #: libgeda/src/g_rc.c:298 msgid "ERROR: An unknown error occurred while parsing configuration files." msgstr "" #: libgeda/src/g_rc.c:310 libgeda/src/g_rc.c:311 #, c-format msgid "ERROR: %s\n" msgstr "" #: libgeda/src/g_rc.c:317 #, c-format msgid "ERROR: The %s log may contain more information.\n" msgstr "" #: libgeda/src/g_rc.c:978 msgid "" "WARNING: using a string for 'always-promote-attributes' is deprecated. Use a " "list of strings instead\n" msgstr "" #: libgeda/src/o_arc_basic.c:256 libgeda/src/o_arc_basic.c:269 msgid "Failed to parse arc object" msgstr "" #: libgeda/src/o_arc_basic.c:276 #, c-format msgid "Found a zero radius arc [ %c %d, %d, %d, %d, %d, %d ]\n" msgstr "Дуга з нульовим радіусом [ %c %d, %d, %d, %d, %d, %d ]\n" #: libgeda/src/o_arc_basic.c:282 libgeda/src/o_box_basic.c:327 #: libgeda/src/o_bus_basic.c:182 libgeda/src/o_circle_basic.c:289 #: libgeda/src/o_line_basic.c:264 libgeda/src/o_net_basic.c:171 #: libgeda/src/o_path_basic.c:189 libgeda/src/o_pin_basic.c:183 #: libgeda/src/o_text_basic.c:425 #, c-format msgid "Found an invalid color [ %s ]\n" msgstr "Недопустимий колір [ %s ]\n" #: libgeda/src/o_arc_basic.c:283 libgeda/src/o_box_basic.c:328 #: libgeda/src/o_bus_basic.c:183 libgeda/src/o_circle_basic.c:290 #: libgeda/src/o_line_basic.c:265 libgeda/src/o_net_basic.c:172 #: libgeda/src/o_path_basic.c:190 libgeda/src/o_pin_basic.c:184 #: libgeda/src/o_text_basic.c:426 msgid "Setting color to default color\n" msgstr "Колір виставлено за замовчуванням\n" #: libgeda/src/o_attrib.c:123 msgid "Attempt to attach non text item as an attribute!\n" msgstr "Спроба встановити не текстовий елемент як атрибут\n" #: libgeda/src/o_attrib.c:128 #, c-format msgid "Attempt to attach attribute [%s] to more than one object\n" msgstr "Спроба додати трибут [%s] більш ніж до одного об'єкту\n" #: libgeda/src/o_attrib.c:341 msgid "Tried to attach a non-text item as an attribute" msgstr "" #: libgeda/src/o_attrib.c:348 msgid "Unexpected end-of-file in attribute list" msgstr "" #: libgeda/src/o_basic.c:196 libgeda/src/o_basic.c:208 msgid "Invalid space specified, setting to 100\n" msgstr "Вказано не правильний проміжок, змінено на 100\n" #: libgeda/src/o_basic.c:204 msgid "Invalid length specified, setting to 100\n" msgstr "Вказано не правильну довжину, змінено на 100\n" #: libgeda/src/o_box_basic.c:287 libgeda/src/o_box_basic.c:316 msgid "Failed to parse box object" msgstr "" #: libgeda/src/o_box_basic.c:322 #, c-format msgid "Found a zero width/height box [ %c %d %d %d %d %d ]\n" msgstr "" "Знайдено прямокутник з нульовою довжиною/шириною [ %c %d %d %d %d %d ]\n" #: libgeda/src/o_bus_basic.c:160 libgeda/src/o_bus_basic.c:167 msgid "Failed to parse bus object" msgstr "" #: libgeda/src/o_bus_basic.c:173 #, c-format msgid "Found a zero length bus [ %c %d %d %d %d %d ]\n" msgstr "Знайдено шину нульової довжини [ %c %d %d %d %d %d ]\n" #: libgeda/src/o_bus_basic.c:188 #, c-format msgid "Found an invalid bus ripper direction [ %s ]\n" msgstr "" #: libgeda/src/o_bus_basic.c:189 msgid "Resetting direction to neutral (no direction)\n" msgstr "" #: libgeda/src/o_circle_basic.c:193 msgid "Null radius circles are not allowed\n" msgstr "Кола нульового радіусу заборонені\n" #: libgeda/src/o_circle_basic.c:246 libgeda/src/o_circle_basic.c:275 msgid "Failed to parse circle object" msgstr "" #: libgeda/src/o_circle_basic.c:282 #, c-format msgid "Found a zero or negative radius circle [ %c %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_circle_basic.c:284 msgid "Setting radius to 0\n" msgstr "" #: libgeda/src/o_complex_basic.c:422 #, c-format msgid "" "Component not found:\n" " %s" msgstr "" "Компонент не знайдено:\n" " %s" #: libgeda/src/o_complex_basic.c:654 msgid "Failed to parse complex object" msgstr "" #: libgeda/src/o_complex_basic.c:667 #, c-format msgid "Found a component with an invalid rotation [ %c %d %d %d %d %d %s ]\n" msgstr "" "Знайдено не правильно зорієнтований компонент [ %c %d %d %d %d %d %s ]\n" #: libgeda/src/o_complex_basic.c:668 libgeda/src/o_picture.c:105 #: libgeda/src/o_text_basic.c:397 msgid "Setting angle to 0\n" msgstr "" #: libgeda/src/o_complex_basic.c:680 #, c-format msgid "" "Found a component with an invalid mirror flag [ %c %d %d %d %d %d %s ]\n" msgstr "" "Знайдено компонент з не правильним віддзеркаленням [ %c %d %d %d %d %d %s ]\n" #: libgeda/src/o_complex_basic.c:681 msgid "Setting mirror to 0\n" msgstr "" #: libgeda/src/o_complex_basic.c:994 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse symbol file symversion=%s\n" msgstr "" #: libgeda/src/o_complex_basic.c:998 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse symbol file symversion=\n" msgstr "" #: libgeda/src/o_complex_basic.c:1014 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse attached symversion=%s\n" msgstr "" #: libgeda/src/o_complex_basic.c:1039 #, c-format msgid "" "WARNING: Symbol version oddity on refdes %s:\n" "\tsymversion=%s attached to instantiated symbol, but no symversion= inside " "symbol file\n" msgstr "" #: libgeda/src/o_complex_basic.c:1053 #, c-format msgid "" "WARNING: Symbol version mismatch on refdes %s (%s):\n" "\tSymbol in library is newer than instantiated symbol\n" msgstr "" #: libgeda/src/o_complex_basic.c:1081 #, c-format msgid "\tMAJOR VERSION CHANGE (file %.3f, instantiated %.3f, %s)!\n" msgstr "" #: libgeda/src/o_complex_basic.c:1099 #, c-format msgid "\tMinor version change (file %.3f, instantiated %.3f)\n" msgstr "" #: libgeda/src/o_complex_basic.c:1110 #, c-format msgid "" "WARNING: Symbol version oddity on refdes %s:\n" "\tInstantiated symbol is newer than symbol in library\n" msgstr "" #: libgeda/src/o_embed.c:58 #, c-format msgid "Component [%s] has been embedded\n" msgstr "" #: libgeda/src/o_embed.c:102 #, c-format msgid "" "Could not find component [%s], while trying to unembed. Component is still " "embedded\n" msgstr "" #: libgeda/src/o_embed.c:110 #, c-format msgid "Component [%s] has been successfully unembedded\n" msgstr "" #: libgeda/src/o_line_basic.c:229 libgeda/src/o_line_basic.c:247 msgid "Failed to parse line object" msgstr "" #: libgeda/src/o_line_basic.c:259 #, c-format msgid "Found a zero length line [ %c %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_net_basic.c:156 msgid "Failed to parse net object" msgstr "" #: libgeda/src/o_net_basic.c:161 #, c-format msgid "Found a zero length net [ %c %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_path_basic.c:181 msgid "Failed to parse path object" msgstr "" #: libgeda/src/o_path_basic.c:207 msgid "Unexpected end-of-file when reading path" msgstr "" #: libgeda/src/o_picture.c:72 msgid "Failed to parse picture definition" msgstr "" #: libgeda/src/o_picture.c:77 #, c-format msgid "Found a zero width/height picture [ %c %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_picture.c:82 #, c-format msgid "Found a picture with a wrong 'mirrored' parameter: %d.\n" msgstr "" #: libgeda/src/o_picture.c:84 msgid "Setting mirrored to 0\n" msgstr "" #: libgeda/src/o_picture.c:89 #, c-format msgid "Found a picture with a wrong 'embedded' parameter: %d.\n" msgstr "" #: libgeda/src/o_picture.c:91 msgid "Setting embedded to 0\n" msgstr "" #: libgeda/src/o_picture.c:104 #, c-format msgid "Found an unsupported picture angle [ %d ]\n" msgstr "" #: libgeda/src/o_picture.c:116 msgid "Found an image with no filename." msgstr "" #: libgeda/src/o_picture.c:147 #, c-format msgid "Failed to load image from embedded data [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:148 msgid "Base64 decoding failed." msgstr "" #: libgeda/src/o_picture.c:149 msgid "Falling back to file loading. Picture unembedded.\n" msgstr "" #: libgeda/src/o_picture.c:208 msgid "ERROR: o_picture_save: unable to encode the picture.\n" msgstr "" #: libgeda/src/o_picture.c:308 #, c-format msgid "Failed to load buffer image [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:321 #, c-format msgid "Failed to load image from [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:427 #, c-format msgid "Picture %p has invalid angle %i\n" msgstr "" #: libgeda/src/o_picture.c:957 #, c-format msgid "Picture [%s] has no image data.\n" msgstr "" #: libgeda/src/o_picture.c:958 msgid "Falling back to file loading. Picture is still unembedded.\n" msgstr "" #: libgeda/src/o_picture.c:966 #, c-format msgid "Picture [%s] has been embedded\n" msgstr "" #: libgeda/src/o_picture.c:990 #, c-format msgid "Failed to load image from file [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:992 msgid "Picture is still embedded.\n" msgstr "" #: libgeda/src/o_picture.c:1000 #, c-format msgid "Picture [%s] has been unembedded\n" msgstr "" #: libgeda/src/o_picture.c:1236 #, c-format msgid "Failed to load fallback image %s: %s.\n" msgstr "" #: libgeda/src/o_pin_basic.c:160 libgeda/src/o_pin_basic.c:168 msgid "Failed to parse pin object" msgstr "" #: libgeda/src/o_pin_basic.c:174 msgid "" "Found a pin which did not have the whichone field set.\n" "Verify and correct manually.\n" msgstr "" #: libgeda/src/o_pin_basic.c:177 #, c-format msgid "Found an invalid whichend on a pin (reseting to zero): %d\n" msgstr "" #: libgeda/src/o_text_basic.c:356 libgeda/src/o_text_basic.c:366 #: libgeda/src/o_text_basic.c:376 msgid "Failed to parse text object" msgstr "" #: libgeda/src/o_text_basic.c:383 #, c-format msgid "Found a zero size text string [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_text_basic.c:395 #, c-format msgid "Found an unsupported text angle [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_text_basic.c:417 #, c-format msgid "Found an unsupported text alignment [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_text_basic.c:419 msgid "Setting alignment to LOWER_LEFT\n" msgstr "" #: libgeda/src/o_text_basic.c:440 #, c-format msgid "Unexpected end-of-file after %d lines" msgstr "" #: libgeda/src/s_clib.c:465 #, c-format msgid "Library command failed [%s]: %s\n" msgstr "" #: libgeda/src/s_clib.c:470 #, c-format msgid "Library command failed [%s]: Uncaught signal %i.\n" msgstr "" #: libgeda/src/s_clib.c:474 #, c-format msgid "Library command failed [%s]\n" msgstr "" #: libgeda/src/s_clib.c:475 #, c-format msgid "" "Error output was:\n" "%s\n" msgstr "" #: libgeda/src/s_clib.c:561 #, c-format msgid "Library name [%s] already in use. Using [%s].\n" msgstr "" #: libgeda/src/s_clib.c:598 #, c-format msgid "Failed to open directory [%s]: %s\n" msgstr "" #: libgeda/src/s_clib.c:734 #, c-format msgid "Failed to scan library [%s]: Scheme function returned non-list\n" msgstr "" #: libgeda/src/s_clib.c:742 #, c-format msgid "Non-string symbol name while scanning library [%s]\n" msgstr "" #: libgeda/src/s_clib.c:901 libgeda/src/s_clib.c:948 msgid "Cannot add library: name not specified\n" msgstr "" #: libgeda/src/s_clib.c:908 #, c-format msgid "" "Cannot add library [%s]: both 'list' and 'get' commands must be specified.\n" msgstr "" #: libgeda/src/s_clib.c:956 #, c-format msgid "Cannot add Scheme-library [%s]: callbacks must be closures\n" msgstr "" #: libgeda/src/s_clib.c:1083 #, c-format msgid "Failed to load symbol from file [%s]: %s\n" msgstr "" #: libgeda/src/s_clib.c:1143 #, c-format msgid "Failed to load symbol data [%s] from source [%s]\n" msgstr "" #: libgeda/src/s_clib.c:1385 #, c-format msgid "Component [%s] was not found in the component library\n" msgstr "" #: libgeda/src/s_clib.c:1391 #, c-format msgid "More than one component found with name [%s]\n" msgstr "" #: libgeda/src/s_color.c:207 msgid "Color index out of range" msgstr "" #: libgeda/src/s_color.c:262 msgid "Color map entry must be a two-element list" msgstr "" #: libgeda/src/s_color.c:270 msgid "Index in color map entry must be an integer" msgstr "" #: libgeda/src/s_color.c:296 msgid "Value in color map entry must be #f or a string" msgstr "" #: libgeda/src/s_hierarchy.c:94 #, c-format msgid "" "hierarchy loop detected while visiting page:\n" " \"%s\"\n" msgstr "" #: libgeda/src/s_hierarchy.c:194 msgid "There are no schematics above the current one!\n" msgstr "" #: libgeda/src/s_hierarchy.c:274 #, c-format msgid "ERROR in s_hierarchy_traverse: schematic not found: %s\n" msgstr "" #: libgeda/src/s_page.c:213 #, c-format msgid "s_page_delete: Can't get the real filename of %s." msgstr "" #: libgeda/src/s_page.c:224 #, c-format msgid "s_page_delete: Unable to delete backup file %s." msgstr "" #: libgeda/src/s_page.c:499 #, c-format msgid "Saved [%s]\n" msgstr "" #: libgeda/src/s_page.c:505 #, c-format msgid "Could NOT save [%s]\n" msgstr "" #: libgeda/src/s_slib.c:171 #, c-format msgid "Found [%s]\n" msgstr "" #: libgeda/src/s_slib.c:181 #, c-format msgid "Could not find [%s] in any SourceLibrary\n" msgstr "" #: libgeda/src/s_slot.c:162 msgid "Did not find slotdef=#:#,#,#... attribute\n" msgstr "" #: libgeda/src/s_slot.c:168 msgid "Improper slotdef syntax: missing \":\".\n" msgstr "" #: libgeda/src/s_slot.c:183 msgid "Did not find proper slotdef=#:#,#,#... attribute\n" msgstr "" #: libgeda/src/s_slot.c:213 msgid "component missing pinseq= attribute\n" msgstr "" #: libgeda/src/scheme_attrib.c:67 msgid "~A is not a valid attribute: invalid string '~A'." msgstr "" #: libgeda/src/scheme_attrib.c:172 msgid "Objects ~A and ~A are not part of the same page and/or complex object" msgstr "" #: libgeda/src/scheme_attrib.c:179 libgeda/src/scheme_attrib.c:184 msgid "Object ~A is already attached as an attribute" msgstr "" #: libgeda/src/scheme_attrib.c:233 msgid "Object ~A is attribute of wrong object" msgstr "" #: libgeda/src/scheme_complex.c:148 msgid "Invalid complex angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_complex.c:265 libgeda/src/scheme_page.c:249 msgid "Object ~A is already attached to something" msgstr "" #: libgeda/src/scheme_complex.c:325 msgid "Object ~A is attached to a different complex" msgstr "" #: libgeda/src/scheme_complex.c:332 msgid "Object ~A is attached to a page" msgstr "" #: libgeda/src/scheme_complex.c:339 libgeda/src/scheme_page.c:301 msgid "Object ~A is attached as an attribute" msgstr "" #: libgeda/src/scheme_complex.c:346 libgeda/src/scheme_page.c:308 msgid "Object ~A has attributes" msgstr "" #: libgeda/src/scheme_object.c:232 msgid "Object ~A has bad type '~A'" msgstr "" #: libgeda/src/scheme_object.c:346 msgid "Object ~A has invalid stroke cap style ~A" msgstr "" #: libgeda/src/scheme_object.c:359 msgid "Object ~A has invalid stroke dash style ~A" msgstr "" #: libgeda/src/scheme_object.c:423 msgid "Invalid stroke cap style ~A." msgstr "" #: libgeda/src/scheme_object.c:434 msgid "Invalid stroke dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:444 msgid "Missing dash length parameter for dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:454 msgid "Missing dot/dash space parameter for dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:516 msgid "Object ~A has invalid fill style ~A" msgstr "" #: libgeda/src/scheme_object.c:565 msgid "Invalid fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:573 msgid "Missing second space parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:582 msgid "Missing second angle parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:592 msgid "Missing stroke width parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:601 msgid "Missing space parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:610 msgid "Missing angle parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:909 msgid "Invalid pin type ~A, must be 'net or 'bus" msgstr "" #: libgeda/src/scheme_object.c:952 msgid "Object ~A has invalid pin type." msgstr "" #: libgeda/src/scheme_object.c:1347 msgid "Invalid text alignment ~A." msgstr "" #: libgeda/src/scheme_object.c:1363 msgid "Invalid text angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_object.c:1382 msgid "Invalid text name/value visibility ~A." msgstr "" #: libgeda/src/scheme_object.c:1457 msgid "Text object ~A has invalid text alignment ~A" msgstr "" #: libgeda/src/scheme_object.c:1466 msgid "Text object ~A has invalid visibility ~A" msgstr "" #: libgeda/src/scheme_object.c:1476 msgid "Text object ~A has invalid text attribute visibility ~A" msgstr "" #: libgeda/src/scheme_object.c:1517 msgid "Object ~A is not included in a page." msgstr "" #: libgeda/src/scheme_object.c:1670 msgid "Path object ~A has invalid element type ~A at index ~A" msgstr "" #: libgeda/src/scheme_object.c:1784 msgid "Invalid path element type ~A." msgstr "" #: libgeda/src/scheme_object.c:1957 msgid "Invalid picture angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_page.c:294 msgid "Object ~A is attached to a complex or different page" msgstr "" #: libgeda/src/scheme_page.c:442 msgid "Parse error: ~s" msgstr "" #: libgeda/scheme/geda/attrib.scm:59 #, scheme-format msgid "Object ~A is not part of a page" msgstr "" geda-gaf-1.8.2/libgeda/po/zh_CN.po0000664000175000017500000005155512220655642013465 00000000000000# Simplified Chinese translation for geda # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2008. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2010-02-06 22:10+0000\n" "Last-Translator: 冯超 \n" "Language-Team: gEDA developers \n" "Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2010-02-14 12:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: libgeda/data/libgeda.xml.in:3 msgid "gEDA circuit schematic" msgstr "gEDA 电路图" #: libgeda/data/libgeda.xml.in:4 msgid "gEDA schematic symbol" msgstr "gEDA 图表符号" #: libgeda/data/libgeda.xml.in:5 msgid "gEDA gsch2pcb project" msgstr "gEDA gsch2pcb 项目" #: libgeda/data/x-geda-gsch2pcb-project.desktop.in:3 msgid "gEDA Gsch2pcb Project" msgstr "gEDA Gsch2pcb 项目" #: libgeda/data/x-geda-schematic.desktop.in:3 msgid "gEDA Circuit Schematic" msgstr "gEDA 电路图" #: libgeda/data/x-geda-symbol.desktop.in:3 msgid "gEDA Schematic Symbol" msgstr "gEDA 图表符号" #: libgeda/src/a_basic.c:182 #, c-format msgid "o_save_objects: object %p has unknown type '%c'\n" msgstr "o_save_objects: 物体 %p 包含未知类型 '%c'\n" #: libgeda/src/a_basic.c:238 libgeda/src/f_basic.c:384 #, c-format msgid "File %s is read-only" msgstr "" #: libgeda/src/a_basic.c:423 #, c-format msgid "" "Read unexpected attach symbol start marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" #: libgeda/src/a_basic.c:440 #, c-format msgid "" "Read unexpected embedded symbol start marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" #: libgeda/src/a_basic.c:471 #, c-format msgid "" "Read unexpected embedded symbol end marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" #: libgeda/src/a_basic.c:506 #, c-format msgid "" "Read an old format sym/sch file!\n" "Please run g[sym|sch]update on:\n" "[%s]\n" msgstr "" #: libgeda/src/a_basic.c:512 #, c-format msgid "" "Read garbage in [%s] :\n" ">>\n" "%s<<\n" msgstr "" #: libgeda/src/f_basic.c:123 libgeda/src/f_basic.c:136 #, c-format msgid "Failed to stat [%s]: %s" msgstr "" #: libgeda/src/f_basic.c:221 #, c-format msgid "Cannot find file %s: %s" msgstr "" #: libgeda/src/f_basic.c:269 #, c-format msgid "" "\n" "WARNING: Found an autosave backup file:\n" " %s.\n" "\n" msgstr "" #: libgeda/src/f_basic.c:271 msgid "I could not guess if it is newer, so you have to do it manually.\n" msgstr "" #: libgeda/src/f_basic.c:273 msgid "" "The backup copy is newer than the schematic, so it seems you should load it " "instead of the original file.\n" msgstr "" #: libgeda/src/f_basic.c:275 msgid "" "Gschem usually makes backup copies automatically, and this situation happens " "when it crashed or it was forced to exit abruptly.\n" msgstr "" #: libgeda/src/f_basic.c:278 msgid "" "\n" "Run gschem and correct the situation.\n" "\n" msgstr "" #: libgeda/src/f_basic.c:374 #, c-format msgid "Can't get the real filename of %s: %s" msgstr "" #: libgeda/src/f_basic.c:405 #, c-format msgid "Could NOT set previous backup file [%s] read-write\n" msgstr "" #: libgeda/src/f_basic.c:411 #, c-format msgid "Can't save backup file: %s." msgstr "" #: libgeda/src/f_basic.c:421 #, c-format msgid "Could NOT set backup file [%s] readonly\n" msgstr "" #: libgeda/src/f_basic.c:480 #, c-format msgid "Could NOT save file: %s" msgstr "" #: libgeda/src/f_basic.c:727 #, c-format msgid "%s: %s" msgstr "" #: libgeda/src/f_print.c:123 msgid "Unable to get time of day in f_print_header()\n" msgstr "" #: libgeda/src/f_print.c:165 #, c-format msgid "Unable to open the prolog file `%s' for reading in f_print_header()\n" msgstr "" #: libgeda/src/f_print.c:182 #, c-format msgid "Error during reading of the prolog file `%s' in f_print_header()\n" msgstr "" #: libgeda/src/f_print.c:188 msgid "" "Error during writing of the output postscript file in f_print_header()\n" msgstr "" #: libgeda/src/f_print.c:202 msgid "Giving up on printing\n" msgstr "" #: libgeda/src/f_print.c:375 #, c-format msgid "Could not open [%s] for printing\n" msgstr "" #: libgeda/src/f_print.c:409 #, c-format msgid "Could not execute command [%s] for printing\n" msgstr "" #: libgeda/src/f_print.c:682 msgid "Too many UTF-8 characters, cannot print\n" msgstr "" #: libgeda/src/g_basic.c:264 msgid "" "\n" "Backtrace:\n" msgstr "" #: libgeda/src/g_rc.c:233 msgid "Config file already loaded" msgstr "" #: libgeda/src/g_rc.c:268 #, c-format msgid "Parsed config from [%s]\n" msgstr "" #: libgeda/src/g_rc.c:281 #, c-format msgid "Unable to parse config from [%s]: %s" msgstr "" #: libgeda/src/g_rc.c:298 msgid "ERROR: An unknown error occurred while parsing configuration files." msgstr "" #: libgeda/src/g_rc.c:310 libgeda/src/g_rc.c:311 #, c-format msgid "ERROR: %s\n" msgstr "" #: libgeda/src/g_rc.c:317 #, c-format msgid "ERROR: The %s log may contain more information.\n" msgstr "" #: libgeda/src/g_rc.c:978 msgid "" "WARNING: using a string for 'always-promote-attributes' is deprecated. Use a " "list of strings instead\n" msgstr "" #: libgeda/src/o_arc_basic.c:256 libgeda/src/o_arc_basic.c:269 msgid "Failed to parse arc object" msgstr "" #: libgeda/src/o_arc_basic.c:276 #, c-format msgid "Found a zero radius arc [ %c %d, %d, %d, %d, %d, %d ]\n" msgstr "" #: libgeda/src/o_arc_basic.c:282 libgeda/src/o_box_basic.c:327 #: libgeda/src/o_bus_basic.c:182 libgeda/src/o_circle_basic.c:289 #: libgeda/src/o_line_basic.c:264 libgeda/src/o_net_basic.c:171 #: libgeda/src/o_path_basic.c:189 libgeda/src/o_pin_basic.c:183 #: libgeda/src/o_text_basic.c:425 #, c-format msgid "Found an invalid color [ %s ]\n" msgstr "" #: libgeda/src/o_arc_basic.c:283 libgeda/src/o_box_basic.c:328 #: libgeda/src/o_bus_basic.c:183 libgeda/src/o_circle_basic.c:290 #: libgeda/src/o_line_basic.c:265 libgeda/src/o_net_basic.c:172 #: libgeda/src/o_path_basic.c:190 libgeda/src/o_pin_basic.c:184 #: libgeda/src/o_text_basic.c:426 msgid "Setting color to default color\n" msgstr "" #: libgeda/src/o_attrib.c:123 msgid "Attempt to attach non text item as an attribute!\n" msgstr "" #: libgeda/src/o_attrib.c:128 #, c-format msgid "Attempt to attach attribute [%s] to more than one object\n" msgstr "" #: libgeda/src/o_attrib.c:341 msgid "Tried to attach a non-text item as an attribute" msgstr "" #: libgeda/src/o_attrib.c:348 msgid "Unexpected end-of-file in attribute list" msgstr "" #: libgeda/src/o_basic.c:196 libgeda/src/o_basic.c:208 msgid "Invalid space specified, setting to 100\n" msgstr "" #: libgeda/src/o_basic.c:204 msgid "Invalid length specified, setting to 100\n" msgstr "" #: libgeda/src/o_box_basic.c:287 libgeda/src/o_box_basic.c:316 msgid "Failed to parse box object" msgstr "" #: libgeda/src/o_box_basic.c:322 #, c-format msgid "Found a zero width/height box [ %c %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_bus_basic.c:160 libgeda/src/o_bus_basic.c:167 msgid "Failed to parse bus object" msgstr "" #: libgeda/src/o_bus_basic.c:173 #, c-format msgid "Found a zero length bus [ %c %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_bus_basic.c:188 #, c-format msgid "Found an invalid bus ripper direction [ %s ]\n" msgstr "" #: libgeda/src/o_bus_basic.c:189 msgid "Resetting direction to neutral (no direction)\n" msgstr "" #: libgeda/src/o_circle_basic.c:193 msgid "Null radius circles are not allowed\n" msgstr "" #: libgeda/src/o_circle_basic.c:246 libgeda/src/o_circle_basic.c:275 msgid "Failed to parse circle object" msgstr "" #: libgeda/src/o_circle_basic.c:282 #, c-format msgid "Found a zero or negative radius circle [ %c %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_circle_basic.c:284 msgid "Setting radius to 0\n" msgstr "" #: libgeda/src/o_complex_basic.c:422 #, c-format msgid "" "Component not found:\n" " %s" msgstr "" #: libgeda/src/o_complex_basic.c:654 msgid "Failed to parse complex object" msgstr "" #: libgeda/src/o_complex_basic.c:667 #, c-format msgid "Found a component with an invalid rotation [ %c %d %d %d %d %d %s ]\n" msgstr "" #: libgeda/src/o_complex_basic.c:668 libgeda/src/o_picture.c:105 #: libgeda/src/o_text_basic.c:397 msgid "Setting angle to 0\n" msgstr "" #: libgeda/src/o_complex_basic.c:680 #, c-format msgid "" "Found a component with an invalid mirror flag [ %c %d %d %d %d %d %s ]\n" msgstr "" #: libgeda/src/o_complex_basic.c:681 msgid "Setting mirror to 0\n" msgstr "" #: libgeda/src/o_complex_basic.c:994 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse symbol file symversion=%s\n" msgstr "" #: libgeda/src/o_complex_basic.c:998 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse symbol file symversion=\n" msgstr "" #: libgeda/src/o_complex_basic.c:1014 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse attached symversion=%s\n" msgstr "" #: libgeda/src/o_complex_basic.c:1039 #, c-format msgid "" "WARNING: Symbol version oddity on refdes %s:\n" "\tsymversion=%s attached to instantiated symbol, but no symversion= inside " "symbol file\n" msgstr "" #: libgeda/src/o_complex_basic.c:1053 #, c-format msgid "" "WARNING: Symbol version mismatch on refdes %s (%s):\n" "\tSymbol in library is newer than instantiated symbol\n" msgstr "" #: libgeda/src/o_complex_basic.c:1081 #, c-format msgid "\tMAJOR VERSION CHANGE (file %.3f, instantiated %.3f, %s)!\n" msgstr "" #: libgeda/src/o_complex_basic.c:1099 #, c-format msgid "\tMinor version change (file %.3f, instantiated %.3f)\n" msgstr "" #: libgeda/src/o_complex_basic.c:1110 #, c-format msgid "" "WARNING: Symbol version oddity on refdes %s:\n" "\tInstantiated symbol is newer than symbol in library\n" msgstr "" #: libgeda/src/o_embed.c:58 #, c-format msgid "Component [%s] has been embedded\n" msgstr "" #: libgeda/src/o_embed.c:102 #, c-format msgid "" "Could not find component [%s], while trying to unembed. Component is still " "embedded\n" msgstr "" #: libgeda/src/o_embed.c:110 #, c-format msgid "Component [%s] has been successfully unembedded\n" msgstr "" #: libgeda/src/o_line_basic.c:229 libgeda/src/o_line_basic.c:247 msgid "Failed to parse line object" msgstr "" #: libgeda/src/o_line_basic.c:259 #, c-format msgid "Found a zero length line [ %c %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_net_basic.c:156 msgid "Failed to parse net object" msgstr "" #: libgeda/src/o_net_basic.c:161 #, c-format msgid "Found a zero length net [ %c %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_path_basic.c:181 msgid "Failed to parse path object" msgstr "" #: libgeda/src/o_path_basic.c:207 msgid "Unexpected end-of-file when reading path" msgstr "" #: libgeda/src/o_picture.c:72 msgid "Failed to parse picture definition" msgstr "" #: libgeda/src/o_picture.c:77 #, c-format msgid "Found a zero width/height picture [ %c %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_picture.c:82 #, c-format msgid "Found a picture with a wrong 'mirrored' parameter: %d.\n" msgstr "" #: libgeda/src/o_picture.c:84 msgid "Setting mirrored to 0\n" msgstr "" #: libgeda/src/o_picture.c:89 #, c-format msgid "Found a picture with a wrong 'embedded' parameter: %d.\n" msgstr "" #: libgeda/src/o_picture.c:91 msgid "Setting embedded to 0\n" msgstr "" #: libgeda/src/o_picture.c:104 #, c-format msgid "Found an unsupported picture angle [ %d ]\n" msgstr "" #: libgeda/src/o_picture.c:116 msgid "Found an image with no filename." msgstr "" #: libgeda/src/o_picture.c:147 #, c-format msgid "Failed to load image from embedded data [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:148 msgid "Base64 decoding failed." msgstr "" #: libgeda/src/o_picture.c:149 msgid "Falling back to file loading. Picture unembedded.\n" msgstr "" #: libgeda/src/o_picture.c:208 msgid "ERROR: o_picture_save: unable to encode the picture.\n" msgstr "" #: libgeda/src/o_picture.c:308 #, c-format msgid "Failed to load buffer image [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:321 #, c-format msgid "Failed to load image from [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:427 #, c-format msgid "Picture %p has invalid angle %i\n" msgstr "" #: libgeda/src/o_picture.c:957 #, c-format msgid "Picture [%s] has no image data.\n" msgstr "" #: libgeda/src/o_picture.c:958 msgid "Falling back to file loading. Picture is still unembedded.\n" msgstr "" #: libgeda/src/o_picture.c:966 #, c-format msgid "Picture [%s] has been embedded\n" msgstr "" #: libgeda/src/o_picture.c:990 #, c-format msgid "Failed to load image from file [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:992 msgid "Picture is still embedded.\n" msgstr "" #: libgeda/src/o_picture.c:1000 #, c-format msgid "Picture [%s] has been unembedded\n" msgstr "" #: libgeda/src/o_picture.c:1236 #, c-format msgid "Failed to load fallback image %s: %s.\n" msgstr "" #: libgeda/src/o_pin_basic.c:160 libgeda/src/o_pin_basic.c:168 msgid "Failed to parse pin object" msgstr "" #: libgeda/src/o_pin_basic.c:174 msgid "" "Found a pin which did not have the whichone field set.\n" "Verify and correct manually.\n" msgstr "" #: libgeda/src/o_pin_basic.c:177 #, c-format msgid "Found an invalid whichend on a pin (reseting to zero): %d\n" msgstr "" #: libgeda/src/o_text_basic.c:356 libgeda/src/o_text_basic.c:366 #: libgeda/src/o_text_basic.c:376 msgid "Failed to parse text object" msgstr "" #: libgeda/src/o_text_basic.c:383 #, c-format msgid "Found a zero size text string [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_text_basic.c:395 #, c-format msgid "Found an unsupported text angle [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_text_basic.c:417 #, c-format msgid "Found an unsupported text alignment [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_text_basic.c:419 msgid "Setting alignment to LOWER_LEFT\n" msgstr "" #: libgeda/src/o_text_basic.c:440 #, c-format msgid "Unexpected end-of-file after %d lines" msgstr "" #: libgeda/src/s_clib.c:465 #, c-format msgid "Library command failed [%s]: %s\n" msgstr "" #: libgeda/src/s_clib.c:470 #, c-format msgid "Library command failed [%s]: Uncaught signal %i.\n" msgstr "" #: libgeda/src/s_clib.c:474 #, c-format msgid "Library command failed [%s]\n" msgstr "" #: libgeda/src/s_clib.c:475 #, c-format msgid "" "Error output was:\n" "%s\n" msgstr "" #: libgeda/src/s_clib.c:561 #, c-format msgid "Library name [%s] already in use. Using [%s].\n" msgstr "" #: libgeda/src/s_clib.c:598 #, c-format msgid "Failed to open directory [%s]: %s\n" msgstr "" #: libgeda/src/s_clib.c:734 #, c-format msgid "Failed to scan library [%s]: Scheme function returned non-list\n" msgstr "" #: libgeda/src/s_clib.c:742 #, c-format msgid "Non-string symbol name while scanning library [%s]\n" msgstr "" #: libgeda/src/s_clib.c:901 libgeda/src/s_clib.c:948 msgid "Cannot add library: name not specified\n" msgstr "" #: libgeda/src/s_clib.c:908 #, c-format msgid "" "Cannot add library [%s]: both 'list' and 'get' commands must be specified.\n" msgstr "" #: libgeda/src/s_clib.c:956 #, c-format msgid "Cannot add Scheme-library [%s]: callbacks must be closures\n" msgstr "" #: libgeda/src/s_clib.c:1083 #, c-format msgid "Failed to load symbol from file [%s]: %s\n" msgstr "" #: libgeda/src/s_clib.c:1143 #, c-format msgid "Failed to load symbol data [%s] from source [%s]\n" msgstr "" #: libgeda/src/s_clib.c:1385 #, c-format msgid "Component [%s] was not found in the component library\n" msgstr "" #: libgeda/src/s_clib.c:1391 #, c-format msgid "More than one component found with name [%s]\n" msgstr "" #: libgeda/src/s_color.c:207 msgid "Color index out of range" msgstr "" #: libgeda/src/s_color.c:262 msgid "Color map entry must be a two-element list" msgstr "" #: libgeda/src/s_color.c:270 msgid "Index in color map entry must be an integer" msgstr "" #: libgeda/src/s_color.c:296 msgid "Value in color map entry must be #f or a string" msgstr "" #: libgeda/src/s_hierarchy.c:94 #, c-format msgid "" "hierarchy loop detected while visiting page:\n" " \"%s\"\n" msgstr "" #: libgeda/src/s_hierarchy.c:194 msgid "There are no schematics above the current one!\n" msgstr "" #: libgeda/src/s_hierarchy.c:274 #, c-format msgid "ERROR in s_hierarchy_traverse: schematic not found: %s\n" msgstr "" #: libgeda/src/s_page.c:213 #, c-format msgid "s_page_delete: Can't get the real filename of %s." msgstr "" #: libgeda/src/s_page.c:224 #, c-format msgid "s_page_delete: Unable to delete backup file %s." msgstr "" #: libgeda/src/s_page.c:499 #, c-format msgid "Saved [%s]\n" msgstr "" #: libgeda/src/s_page.c:505 #, c-format msgid "Could NOT save [%s]\n" msgstr "" #: libgeda/src/s_slib.c:171 #, c-format msgid "Found [%s]\n" msgstr "找到 [%s]\n" #: libgeda/src/s_slib.c:181 #, c-format msgid "Could not find [%s] in any SourceLibrary\n" msgstr "" #: libgeda/src/s_slot.c:162 msgid "Did not find slotdef=#:#,#,#... attribute\n" msgstr "" #: libgeda/src/s_slot.c:168 msgid "Improper slotdef syntax: missing \":\".\n" msgstr "" #: libgeda/src/s_slot.c:183 msgid "Did not find proper slotdef=#:#,#,#... attribute\n" msgstr "" #: libgeda/src/s_slot.c:213 msgid "component missing pinseq= attribute\n" msgstr "" #: libgeda/src/scheme_attrib.c:67 msgid "~A is not a valid attribute: invalid string '~A'." msgstr "" #: libgeda/src/scheme_attrib.c:172 msgid "Objects ~A and ~A are not part of the same page and/or complex object" msgstr "" #: libgeda/src/scheme_attrib.c:179 libgeda/src/scheme_attrib.c:184 msgid "Object ~A is already attached as an attribute" msgstr "" #: libgeda/src/scheme_attrib.c:233 msgid "Object ~A is attribute of wrong object" msgstr "" #: libgeda/src/scheme_complex.c:148 msgid "Invalid complex angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_complex.c:265 libgeda/src/scheme_page.c:249 msgid "Object ~A is already attached to something" msgstr "" #: libgeda/src/scheme_complex.c:325 msgid "Object ~A is attached to a different complex" msgstr "" #: libgeda/src/scheme_complex.c:332 msgid "Object ~A is attached to a page" msgstr "" #: libgeda/src/scheme_complex.c:339 libgeda/src/scheme_page.c:301 msgid "Object ~A is attached as an attribute" msgstr "" #: libgeda/src/scheme_complex.c:346 libgeda/src/scheme_page.c:308 msgid "Object ~A has attributes" msgstr "" #: libgeda/src/scheme_object.c:232 msgid "Object ~A has bad type '~A'" msgstr "" #: libgeda/src/scheme_object.c:346 msgid "Object ~A has invalid stroke cap style ~A" msgstr "" #: libgeda/src/scheme_object.c:359 msgid "Object ~A has invalid stroke dash style ~A" msgstr "" #: libgeda/src/scheme_object.c:423 msgid "Invalid stroke cap style ~A." msgstr "" #: libgeda/src/scheme_object.c:434 msgid "Invalid stroke dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:444 msgid "Missing dash length parameter for dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:454 msgid "Missing dot/dash space parameter for dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:516 msgid "Object ~A has invalid fill style ~A" msgstr "" #: libgeda/src/scheme_object.c:565 msgid "Invalid fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:573 msgid "Missing second space parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:582 msgid "Missing second angle parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:592 msgid "Missing stroke width parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:601 msgid "Missing space parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:610 msgid "Missing angle parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:909 msgid "Invalid pin type ~A, must be 'net or 'bus" msgstr "" #: libgeda/src/scheme_object.c:952 msgid "Object ~A has invalid pin type." msgstr "" #: libgeda/src/scheme_object.c:1347 msgid "Invalid text alignment ~A." msgstr "" #: libgeda/src/scheme_object.c:1363 msgid "Invalid text angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_object.c:1382 msgid "Invalid text name/value visibility ~A." msgstr "" #: libgeda/src/scheme_object.c:1457 msgid "Text object ~A has invalid text alignment ~A" msgstr "" #: libgeda/src/scheme_object.c:1466 msgid "Text object ~A has invalid visibility ~A" msgstr "" #: libgeda/src/scheme_object.c:1476 msgid "Text object ~A has invalid text attribute visibility ~A" msgstr "" #: libgeda/src/scheme_object.c:1517 msgid "Object ~A is not included in a page." msgstr "" #: libgeda/src/scheme_object.c:1670 msgid "Path object ~A has invalid element type ~A at index ~A" msgstr "" #: libgeda/src/scheme_object.c:1784 msgid "Invalid path element type ~A." msgstr "" #: libgeda/src/scheme_object.c:1957 msgid "Invalid picture angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_page.c:294 msgid "Object ~A is attached to a complex or different page" msgstr "" #: libgeda/src/scheme_page.c:442 msgid "Parse error: ~s" msgstr "" #: libgeda/scheme/geda/attrib.scm:59 #, scheme-format msgid "Object ~A is not part of a page" msgstr "" #~ msgid "o_save: Could not open [%s]\n" #~ msgstr "o_save: 无法打开 [%s]\n" geda-gaf-1.8.2/libgeda/po/Makefile.in.in0000644000175000017500000003714412220651542014565 00000000000000# Makefile for PO directory in any package using GNU gettext. # Copyright (C) 1995-1997, 2000-2006 by Ulrich Drepper # # This file can be copied and used freely without restrictions. It can # be used in projects which are not available under the GNU General Public # License but which still want to provide support for the GNU gettext # functionality. # Please note that the actual code of GNU gettext is covered by the GNU # General Public License and is *not* in the public domain. # # Origin: gettext-0.16 PACKAGE = @PACKAGE@ VERSION = @VERSION@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ SHELL = /bin/sh @SET_MAKE@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ datarootdir = @datarootdir@ datadir = @datadir@ localedir = @localedir@ gettextsrcdir = $(datadir)/gettext/po INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ # We use $(mkdir_p). # In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as # "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions, # @install_sh@ does not start with $(SHELL), so we add it. # In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined # either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake # versions, $(mkinstalldirs) and $(install_sh) are unused. mkinstalldirs = $(SHELL) @install_sh@ -d install_sh = $(SHELL) @install_sh@ MKDIR_P = @MKDIR_P@ mkdir_p = @mkdir_p@ GMSGFMT_ = @GMSGFMT@ GMSGFMT_no = @GMSGFMT@ GMSGFMT_yes = @GMSGFMT_015@ GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT)) MSGFMT_ = @MSGFMT@ MSGFMT_no = @MSGFMT@ MSGFMT_yes = @MSGFMT_015@ MSGFMT = $(MSGFMT_$(USE_MSGCTXT)) XGETTEXT_ = @XGETTEXT@ XGETTEXT_no = @XGETTEXT@ XGETTEXT_yes = @XGETTEXT_015@ XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT)) MSGMERGE = msgmerge MSGMERGE_UPDATE = @MSGMERGE@ --update MSGINIT = msginit MSGCONV = msgconv MSGFILTER = msgfilter POFILES = @POFILES@ GMOFILES = @GMOFILES@ UPDATEPOFILES = @UPDATEPOFILES@ DUMMYPOFILES = @DUMMYPOFILES@ DISTFILES.common = Makefile.in.in remove-potcdate.sin \ $(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3) DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \ $(POFILES) $(GMOFILES) \ $(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3) POTFILES = \ CATALOGS = @CATALOGS@ # Makevars gets inserted here. (Don't remove this line!) .SUFFIXES: .SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update .po.mo: @echo "$(MSGFMT) -c -o $@ $<"; \ $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ .po.gmo: @lang=`echo $* | sed -e 's,.*/,,'`; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o $${lang}.gmo $${lang}.po"; \ cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo .sin.sed: sed -e '/^#/d' $< > t-$@ mv t-$@ $@ all: all-@USE_NLS@ all-yes: stamp-po all-no: # $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no # internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because # we don't want to bother translators with empty POT files). We assume that # LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty. # In this case, stamp-po is a nop (i.e. a phony target). # stamp-po is a timestamp denoting the last time at which the CATALOGS have # been loosely updated. Its purpose is that when a developer or translator # checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, # "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent # invocations of "make" will do nothing. This timestamp would not be necessary # if updating the $(CATALOGS) would always touch them; however, the rule for # $(POFILES) has been designed to not touch files that don't need to be # changed. stamp-po: $(srcdir)/$(DOMAIN).pot test ! -f $(srcdir)/$(DOMAIN).pot || \ test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) @test ! -f $(srcdir)/$(DOMAIN).pot || { \ echo "touch stamp-po" && \ echo timestamp > stamp-poT && \ mv stamp-poT stamp-po; \ } # Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', # otherwise packages like GCC can not be built if only parts of the source # have been downloaded. # This target rebuilds $(DOMAIN).pot; it is an expensive operation. # Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \ msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ else \ msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ fi; \ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \ --files-from=$(srcdir)/POTFILES.in \ --copyright-holder='$(COPYRIGHT_HOLDER)' \ --msgid-bugs-address="$$msgid_bugs_address" test ! -f $(DOMAIN).po || { \ if test -f $(srcdir)/$(DOMAIN).pot; then \ sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ else \ rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ fi; \ else \ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ fi; \ } # This rule has no dependencies: we don't need to update $(DOMAIN).pot at # every "make" invocation, only create it when it is missing. # Only "make $(DOMAIN).pot-update" or "make dist" will force an update. $(srcdir)/$(DOMAIN).pot: $(MAKE) $(DOMAIN).pot-update # This target rebuilds a PO file if $(DOMAIN).pot has changed. # Note that a PO file is not touched if it doesn't need to be changed. $(POFILES): $(srcdir)/$(DOMAIN).pot @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ if test -f "$(srcdir)/$${lang}.po"; then \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \ cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot; \ else \ $(MAKE) $${lang}.po-create; \ fi install: install-exec install-data install-exec: install-data: install-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ for file in $(DISTFILES.common) Makevars.template; do \ $(INSTALL_DATA) $(srcdir)/$$file \ $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ for file in Makevars; do \ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ else \ : ; \ fi install-data-no: all install-data-yes: all $(mkdir_p) $(DESTDIR)$(datadir) @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ dir=$(localedir)/$$lang/LC_MESSAGES; \ $(mkdir_p) $(DESTDIR)$$dir; \ if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ if test -n "$$lc"; then \ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ for file in *; do \ if test -f $$file; then \ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ fi; \ done); \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ else \ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ :; \ else \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ fi; \ fi; \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \ fi; \ done; \ done install-strip: install installdirs: installdirs-exec installdirs-data installdirs-exec: installdirs-data: installdirs-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ else \ : ; \ fi installdirs-data-no: installdirs-data-yes: $(mkdir_p) $(DESTDIR)$(datadir) @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ dir=$(localedir)/$$lang/LC_MESSAGES; \ $(mkdir_p) $(DESTDIR)$$dir; \ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ if test -n "$$lc"; then \ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ for file in *; do \ if test -f $$file; then \ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ fi; \ done); \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ else \ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ :; \ else \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ fi; \ fi; \ fi; \ done; \ done # Define this as empty until I found a useful application. installcheck: uninstall: uninstall-exec uninstall-data uninstall-exec: uninstall-data: uninstall-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ for file in $(DISTFILES.common) Makevars.template; do \ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ else \ : ; \ fi uninstall-data-no: uninstall-data-yes: catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ done; \ done check: all info dvi ps pdf html tags TAGS ctags CTAGS ID: mostlyclean: rm -f remove-potcdate.sed rm -f stamp-poT rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po rm -fr *.o clean: mostlyclean distclean: clean rm -f Makefile Makefile.in POTFILES *.mo maintainer-clean: distclean @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." rm -f stamp-po $(GMOFILES) distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) dist distdir: $(MAKE) update-po @$(MAKE) dist2 # This is a separate target because 'update-po' must be executed before. dist2: stamp-po $(DISTFILES) dists="$(DISTFILES)"; \ if test "$(PACKAGE)" = "gettext-tools"; then \ dists="$$dists Makevars.template"; \ fi; \ if test -f $(srcdir)/$(DOMAIN).pot; then \ dists="$$dists $(DOMAIN).pot stamp-po"; \ fi; \ if test -f $(srcdir)/ChangeLog; then \ dists="$$dists ChangeLog"; \ fi; \ for i in 0 1 2 3 4 5 6 7 8 9; do \ if test -f $(srcdir)/ChangeLog.$$i; then \ dists="$$dists ChangeLog.$$i"; \ fi; \ done; \ if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \ for file in $$dists; do \ if test -f $$file; then \ cp -p $$file $(distdir) || exit 1; \ else \ cp -p $(srcdir)/$$file $(distdir) || exit 1; \ fi; \ done update-po: Makefile $(MAKE) $(DOMAIN).pot-update test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) $(MAKE) update-gmo # General rule for creating PO files. .nop.po-create: @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ exit 1 # General rule for updating PO files. .nop.po-update: @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \ tmpdir=`pwd`; \ echo "$$lang:"; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}$(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ cd $(srcdir); \ if $(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$tmpdir/$$lang.new.po; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ exit 1; \ fi; \ fi; \ else \ echo "msgmerge for $$lang.po failed!" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ fi $(DUMMYPOFILES): update-gmo: Makefile $(GMOFILES) @: Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@ cd $(top_builddir) \ && $(SHELL) ./config.status $(subdir)/$@.in po-directories force: # Tell versions [3.59,3.63) of GNU make not to export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: # DESKTOP_I18N_RULES (Do not edit or remove this line) ##################################################################### # Makefile rules needed by the desktop-i18n tool. # Copyright (C) 2009-2010 Peter Brett # Copyright (C) 2010 Dan McMahill # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA top_builddir = @top_builddir@ MKDIR_P = @MKDIR_P@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ # We need to temporarily install the localisation files somewhere so # that desktop-i18n --create can look up messages in them. We recreate # the timestamp before *and* after running 'make install' so that the # make doesn't go into an infinite loop! all: stamp-i18n stamp-i18n: $(DESKTOP_I18N_LOCALE_DIR) stamp-po Makefile @echo timestamp > stamp-i18nT && mv stamp-i18nT stamp-i18n $(MAKE) prefix=$(DESKTOP_I18N_LOCALE_DIR) localedir=$(DESKTOP_I18N_LOCALE_DIR)/share/locale DESTDIR= install && cp $(srcdir)/LINGUAS $(DESKTOP_I18N_LOCALE_DIR)/$(DOMAIN).LINGUAS || rm stamp-i18n @echo timestamp > stamp-i18nT && mv stamp-i18nT stamp-i18n $(DESKTOP_I18N_LOCALE_DIR): $(MKDIR_P) $(DESKTOP_I18N_LOCALE_DIR) clean: clean-i18n clean-i18n: -rm -rf $(DESKTOP_I18N_LOCALE_DIR) stamp-i18n # End of desktop-i18n rules ##################################################################### geda-gaf-1.8.2/libgeda/po/zh_TW.gmo0000664000175000017500000000243412220655642013653 00000000000000 t(:A]u(A -9)5#Os#F    Run gschem and correct the situation. %s: %sCan't save backup file: %s.Cannot find file %s: %sComponent not found: %sCould NOT save [%s] Could NOT set backup file [%s] readonly Found an invalid color [ %s ] I could not guess if it is newer, so you have to do it manually. Saved [%s] Project-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-01-27 14:12+0000 Last-Translator: FULL NAME Language-Team: gEDA developers Language: zh_TW MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) 啟動 gschem 來修正這個問題。 %s: %s無法儲存備份檔:%s.無法找到檔案 %s: %s找不到以下元件: %s無法儲存[%s] 無法設定備份檔[%s]為唯讀 找尋到無效的顏色 [%s] 我無法確定這個檔案是否比較新,你必須自己決定。 儲存 [%s] geda-gaf-1.8.2/libgeda/po/zh_TW.po0000664000175000017500000005166112220655642013515 00000000000000# Traditional Chinese translation for geda # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-01-27 14:12+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: gEDA developers \n" "Language: zh_TW\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: libgeda/data/libgeda.xml.in:3 msgid "gEDA circuit schematic" msgstr "" #: libgeda/data/libgeda.xml.in:4 msgid "gEDA schematic symbol" msgstr "" #: libgeda/data/libgeda.xml.in:5 msgid "gEDA gsch2pcb project" msgstr "" #: libgeda/data/x-geda-gsch2pcb-project.desktop.in:3 msgid "gEDA Gsch2pcb Project" msgstr "" #: libgeda/data/x-geda-schematic.desktop.in:3 msgid "gEDA Circuit Schematic" msgstr "" #: libgeda/data/x-geda-symbol.desktop.in:3 msgid "gEDA Schematic Symbol" msgstr "" #: libgeda/src/a_basic.c:182 #, c-format msgid "o_save_objects: object %p has unknown type '%c'\n" msgstr "" #: libgeda/src/a_basic.c:238 libgeda/src/f_basic.c:384 #, c-format msgid "File %s is read-only" msgstr "" #: libgeda/src/a_basic.c:423 #, c-format msgid "" "Read unexpected attach symbol start marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" #: libgeda/src/a_basic.c:440 #, c-format msgid "" "Read unexpected embedded symbol start marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" #: libgeda/src/a_basic.c:471 #, c-format msgid "" "Read unexpected embedded symbol end marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" #: libgeda/src/a_basic.c:506 #, c-format msgid "" "Read an old format sym/sch file!\n" "Please run g[sym|sch]update on:\n" "[%s]\n" msgstr "" #: libgeda/src/a_basic.c:512 #, c-format msgid "" "Read garbage in [%s] :\n" ">>\n" "%s<<\n" msgstr "" #: libgeda/src/f_basic.c:123 libgeda/src/f_basic.c:136 #, c-format msgid "Failed to stat [%s]: %s" msgstr "" #: libgeda/src/f_basic.c:221 #, c-format msgid "Cannot find file %s: %s" msgstr "無法找到檔案 %s: %s" #: libgeda/src/f_basic.c:269 #, c-format msgid "" "\n" "WARNING: Found an autosave backup file:\n" " %s.\n" "\n" msgstr "" #: libgeda/src/f_basic.c:271 msgid "I could not guess if it is newer, so you have to do it manually.\n" msgstr "我無法確定這個檔案是否比較新,你必須自己決定。\n" #: libgeda/src/f_basic.c:273 msgid "" "The backup copy is newer than the schematic, so it seems you should load it " "instead of the original file.\n" msgstr "" #: libgeda/src/f_basic.c:275 msgid "" "Gschem usually makes backup copies automatically, and this situation happens " "when it crashed or it was forced to exit abruptly.\n" msgstr "" #: libgeda/src/f_basic.c:278 msgid "" "\n" "Run gschem and correct the situation.\n" "\n" msgstr "" "\n" "啟動 gschem 來修正這個問題。\n" "\n" #: libgeda/src/f_basic.c:374 #, c-format msgid "Can't get the real filename of %s: %s" msgstr "" #: libgeda/src/f_basic.c:405 #, c-format msgid "Could NOT set previous backup file [%s] read-write\n" msgstr "" #: libgeda/src/f_basic.c:411 #, c-format msgid "Can't save backup file: %s." msgstr "無法儲存備份檔:%s." #: libgeda/src/f_basic.c:421 #, c-format msgid "Could NOT set backup file [%s] readonly\n" msgstr "無法設定備份檔[%s]為唯讀\n" #: libgeda/src/f_basic.c:480 #, c-format msgid "Could NOT save file: %s" msgstr "" #: libgeda/src/f_basic.c:727 #, c-format msgid "%s: %s" msgstr "%s: %s" #: libgeda/src/f_print.c:123 msgid "Unable to get time of day in f_print_header()\n" msgstr "" #: libgeda/src/f_print.c:165 #, c-format msgid "Unable to open the prolog file `%s' for reading in f_print_header()\n" msgstr "" #: libgeda/src/f_print.c:182 #, c-format msgid "Error during reading of the prolog file `%s' in f_print_header()\n" msgstr "" #: libgeda/src/f_print.c:188 msgid "" "Error during writing of the output postscript file in f_print_header()\n" msgstr "" #: libgeda/src/f_print.c:202 msgid "Giving up on printing\n" msgstr "" #: libgeda/src/f_print.c:375 #, c-format msgid "Could not open [%s] for printing\n" msgstr "" #: libgeda/src/f_print.c:409 #, c-format msgid "Could not execute command [%s] for printing\n" msgstr "" #: libgeda/src/f_print.c:682 msgid "Too many UTF-8 characters, cannot print\n" msgstr "" #: libgeda/src/g_basic.c:264 msgid "" "\n" "Backtrace:\n" msgstr "" #: libgeda/src/g_rc.c:233 msgid "Config file already loaded" msgstr "" #: libgeda/src/g_rc.c:268 #, c-format msgid "Parsed config from [%s]\n" msgstr "" #: libgeda/src/g_rc.c:281 #, c-format msgid "Unable to parse config from [%s]: %s" msgstr "" #: libgeda/src/g_rc.c:298 msgid "ERROR: An unknown error occurred while parsing configuration files." msgstr "" #: libgeda/src/g_rc.c:310 libgeda/src/g_rc.c:311 #, c-format msgid "ERROR: %s\n" msgstr "" #: libgeda/src/g_rc.c:317 #, c-format msgid "ERROR: The %s log may contain more information.\n" msgstr "" #: libgeda/src/g_rc.c:978 msgid "" "WARNING: using a string for 'always-promote-attributes' is deprecated. Use a " "list of strings instead\n" msgstr "" #: libgeda/src/o_arc_basic.c:256 libgeda/src/o_arc_basic.c:269 msgid "Failed to parse arc object" msgstr "" #: libgeda/src/o_arc_basic.c:276 #, c-format msgid "Found a zero radius arc [ %c %d, %d, %d, %d, %d, %d ]\n" msgstr "" #: libgeda/src/o_arc_basic.c:282 libgeda/src/o_box_basic.c:327 #: libgeda/src/o_bus_basic.c:182 libgeda/src/o_circle_basic.c:289 #: libgeda/src/o_line_basic.c:264 libgeda/src/o_net_basic.c:171 #: libgeda/src/o_path_basic.c:189 libgeda/src/o_pin_basic.c:183 #: libgeda/src/o_text_basic.c:425 #, c-format msgid "Found an invalid color [ %s ]\n" msgstr "找尋到無效的顏色 [%s]\n" #: libgeda/src/o_arc_basic.c:283 libgeda/src/o_box_basic.c:328 #: libgeda/src/o_bus_basic.c:183 libgeda/src/o_circle_basic.c:290 #: libgeda/src/o_line_basic.c:265 libgeda/src/o_net_basic.c:172 #: libgeda/src/o_path_basic.c:190 libgeda/src/o_pin_basic.c:184 #: libgeda/src/o_text_basic.c:426 msgid "Setting color to default color\n" msgstr "" #: libgeda/src/o_attrib.c:123 msgid "Attempt to attach non text item as an attribute!\n" msgstr "" #: libgeda/src/o_attrib.c:128 #, c-format msgid "Attempt to attach attribute [%s] to more than one object\n" msgstr "" #: libgeda/src/o_attrib.c:341 msgid "Tried to attach a non-text item as an attribute" msgstr "" #: libgeda/src/o_attrib.c:348 msgid "Unexpected end-of-file in attribute list" msgstr "" #: libgeda/src/o_basic.c:196 libgeda/src/o_basic.c:208 msgid "Invalid space specified, setting to 100\n" msgstr "" #: libgeda/src/o_basic.c:204 msgid "Invalid length specified, setting to 100\n" msgstr "" #: libgeda/src/o_box_basic.c:287 libgeda/src/o_box_basic.c:316 msgid "Failed to parse box object" msgstr "" #: libgeda/src/o_box_basic.c:322 #, c-format msgid "Found a zero width/height box [ %c %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_bus_basic.c:160 libgeda/src/o_bus_basic.c:167 msgid "Failed to parse bus object" msgstr "" #: libgeda/src/o_bus_basic.c:173 #, c-format msgid "Found a zero length bus [ %c %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_bus_basic.c:188 #, c-format msgid "Found an invalid bus ripper direction [ %s ]\n" msgstr "" #: libgeda/src/o_bus_basic.c:189 msgid "Resetting direction to neutral (no direction)\n" msgstr "" #: libgeda/src/o_circle_basic.c:193 msgid "Null radius circles are not allowed\n" msgstr "" #: libgeda/src/o_circle_basic.c:246 libgeda/src/o_circle_basic.c:275 msgid "Failed to parse circle object" msgstr "" #: libgeda/src/o_circle_basic.c:282 #, c-format msgid "Found a zero or negative radius circle [ %c %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_circle_basic.c:284 msgid "Setting radius to 0\n" msgstr "" #: libgeda/src/o_complex_basic.c:422 #, c-format msgid "" "Component not found:\n" " %s" msgstr "" "找不到以下元件:\n" " %s" #: libgeda/src/o_complex_basic.c:654 msgid "Failed to parse complex object" msgstr "" #: libgeda/src/o_complex_basic.c:667 #, c-format msgid "Found a component with an invalid rotation [ %c %d %d %d %d %d %s ]\n" msgstr "" #: libgeda/src/o_complex_basic.c:668 libgeda/src/o_picture.c:105 #: libgeda/src/o_text_basic.c:397 msgid "Setting angle to 0\n" msgstr "" #: libgeda/src/o_complex_basic.c:680 #, c-format msgid "" "Found a component with an invalid mirror flag [ %c %d %d %d %d %d %s ]\n" msgstr "" #: libgeda/src/o_complex_basic.c:681 msgid "Setting mirror to 0\n" msgstr "" #: libgeda/src/o_complex_basic.c:994 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse symbol file symversion=%s\n" msgstr "" #: libgeda/src/o_complex_basic.c:998 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse symbol file symversion=\n" msgstr "" #: libgeda/src/o_complex_basic.c:1014 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse attached symversion=%s\n" msgstr "" #: libgeda/src/o_complex_basic.c:1039 #, c-format msgid "" "WARNING: Symbol version oddity on refdes %s:\n" "\tsymversion=%s attached to instantiated symbol, but no symversion= inside " "symbol file\n" msgstr "" #: libgeda/src/o_complex_basic.c:1053 #, c-format msgid "" "WARNING: Symbol version mismatch on refdes %s (%s):\n" "\tSymbol in library is newer than instantiated symbol\n" msgstr "" #: libgeda/src/o_complex_basic.c:1081 #, c-format msgid "\tMAJOR VERSION CHANGE (file %.3f, instantiated %.3f, %s)!\n" msgstr "" #: libgeda/src/o_complex_basic.c:1099 #, c-format msgid "\tMinor version change (file %.3f, instantiated %.3f)\n" msgstr "" #: libgeda/src/o_complex_basic.c:1110 #, c-format msgid "" "WARNING: Symbol version oddity on refdes %s:\n" "\tInstantiated symbol is newer than symbol in library\n" msgstr "" #: libgeda/src/o_embed.c:58 #, c-format msgid "Component [%s] has been embedded\n" msgstr "" #: libgeda/src/o_embed.c:102 #, c-format msgid "" "Could not find component [%s], while trying to unembed. Component is still " "embedded\n" msgstr "" #: libgeda/src/o_embed.c:110 #, c-format msgid "Component [%s] has been successfully unembedded\n" msgstr "" #: libgeda/src/o_line_basic.c:229 libgeda/src/o_line_basic.c:247 msgid "Failed to parse line object" msgstr "" #: libgeda/src/o_line_basic.c:259 #, c-format msgid "Found a zero length line [ %c %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_net_basic.c:156 msgid "Failed to parse net object" msgstr "" #: libgeda/src/o_net_basic.c:161 #, c-format msgid "Found a zero length net [ %c %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_path_basic.c:181 msgid "Failed to parse path object" msgstr "" #: libgeda/src/o_path_basic.c:207 msgid "Unexpected end-of-file when reading path" msgstr "" #: libgeda/src/o_picture.c:72 msgid "Failed to parse picture definition" msgstr "" #: libgeda/src/o_picture.c:77 #, c-format msgid "Found a zero width/height picture [ %c %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_picture.c:82 #, c-format msgid "Found a picture with a wrong 'mirrored' parameter: %d.\n" msgstr "" #: libgeda/src/o_picture.c:84 msgid "Setting mirrored to 0\n" msgstr "" #: libgeda/src/o_picture.c:89 #, c-format msgid "Found a picture with a wrong 'embedded' parameter: %d.\n" msgstr "" #: libgeda/src/o_picture.c:91 msgid "Setting embedded to 0\n" msgstr "" #: libgeda/src/o_picture.c:104 #, c-format msgid "Found an unsupported picture angle [ %d ]\n" msgstr "" #: libgeda/src/o_picture.c:116 msgid "Found an image with no filename." msgstr "" #: libgeda/src/o_picture.c:147 #, c-format msgid "Failed to load image from embedded data [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:148 msgid "Base64 decoding failed." msgstr "" #: libgeda/src/o_picture.c:149 msgid "Falling back to file loading. Picture unembedded.\n" msgstr "" #: libgeda/src/o_picture.c:208 msgid "ERROR: o_picture_save: unable to encode the picture.\n" msgstr "" #: libgeda/src/o_picture.c:308 #, c-format msgid "Failed to load buffer image [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:321 #, c-format msgid "Failed to load image from [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:427 #, c-format msgid "Picture %p has invalid angle %i\n" msgstr "" #: libgeda/src/o_picture.c:957 #, c-format msgid "Picture [%s] has no image data.\n" msgstr "" #: libgeda/src/o_picture.c:958 msgid "Falling back to file loading. Picture is still unembedded.\n" msgstr "" #: libgeda/src/o_picture.c:966 #, c-format msgid "Picture [%s] has been embedded\n" msgstr "" #: libgeda/src/o_picture.c:990 #, c-format msgid "Failed to load image from file [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:992 msgid "Picture is still embedded.\n" msgstr "" #: libgeda/src/o_picture.c:1000 #, c-format msgid "Picture [%s] has been unembedded\n" msgstr "" #: libgeda/src/o_picture.c:1236 #, c-format msgid "Failed to load fallback image %s: %s.\n" msgstr "" #: libgeda/src/o_pin_basic.c:160 libgeda/src/o_pin_basic.c:168 msgid "Failed to parse pin object" msgstr "" #: libgeda/src/o_pin_basic.c:174 msgid "" "Found a pin which did not have the whichone field set.\n" "Verify and correct manually.\n" msgstr "" #: libgeda/src/o_pin_basic.c:177 #, c-format msgid "Found an invalid whichend on a pin (reseting to zero): %d\n" msgstr "" #: libgeda/src/o_text_basic.c:356 libgeda/src/o_text_basic.c:366 #: libgeda/src/o_text_basic.c:376 msgid "Failed to parse text object" msgstr "" #: libgeda/src/o_text_basic.c:383 #, c-format msgid "Found a zero size text string [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_text_basic.c:395 #, c-format msgid "Found an unsupported text angle [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_text_basic.c:417 #, c-format msgid "Found an unsupported text alignment [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_text_basic.c:419 msgid "Setting alignment to LOWER_LEFT\n" msgstr "" #: libgeda/src/o_text_basic.c:440 #, c-format msgid "Unexpected end-of-file after %d lines" msgstr "" #: libgeda/src/s_clib.c:465 #, c-format msgid "Library command failed [%s]: %s\n" msgstr "" #: libgeda/src/s_clib.c:470 #, c-format msgid "Library command failed [%s]: Uncaught signal %i.\n" msgstr "" #: libgeda/src/s_clib.c:474 #, c-format msgid "Library command failed [%s]\n" msgstr "" #: libgeda/src/s_clib.c:475 #, c-format msgid "" "Error output was:\n" "%s\n" msgstr "" #: libgeda/src/s_clib.c:561 #, c-format msgid "Library name [%s] already in use. Using [%s].\n" msgstr "" #: libgeda/src/s_clib.c:598 #, c-format msgid "Failed to open directory [%s]: %s\n" msgstr "" #: libgeda/src/s_clib.c:734 #, c-format msgid "Failed to scan library [%s]: Scheme function returned non-list\n" msgstr "" #: libgeda/src/s_clib.c:742 #, c-format msgid "Non-string symbol name while scanning library [%s]\n" msgstr "" #: libgeda/src/s_clib.c:901 libgeda/src/s_clib.c:948 msgid "Cannot add library: name not specified\n" msgstr "" #: libgeda/src/s_clib.c:908 #, c-format msgid "" "Cannot add library [%s]: both 'list' and 'get' commands must be specified.\n" msgstr "" #: libgeda/src/s_clib.c:956 #, c-format msgid "Cannot add Scheme-library [%s]: callbacks must be closures\n" msgstr "" #: libgeda/src/s_clib.c:1083 #, c-format msgid "Failed to load symbol from file [%s]: %s\n" msgstr "" #: libgeda/src/s_clib.c:1143 #, c-format msgid "Failed to load symbol data [%s] from source [%s]\n" msgstr "" #: libgeda/src/s_clib.c:1385 #, c-format msgid "Component [%s] was not found in the component library\n" msgstr "" #: libgeda/src/s_clib.c:1391 #, c-format msgid "More than one component found with name [%s]\n" msgstr "" #: libgeda/src/s_color.c:207 msgid "Color index out of range" msgstr "" #: libgeda/src/s_color.c:262 msgid "Color map entry must be a two-element list" msgstr "" #: libgeda/src/s_color.c:270 msgid "Index in color map entry must be an integer" msgstr "" #: libgeda/src/s_color.c:296 msgid "Value in color map entry must be #f or a string" msgstr "" #: libgeda/src/s_hierarchy.c:94 #, c-format msgid "" "hierarchy loop detected while visiting page:\n" " \"%s\"\n" msgstr "" #: libgeda/src/s_hierarchy.c:194 msgid "There are no schematics above the current one!\n" msgstr "" #: libgeda/src/s_hierarchy.c:274 #, c-format msgid "ERROR in s_hierarchy_traverse: schematic not found: %s\n" msgstr "" #: libgeda/src/s_page.c:213 #, c-format msgid "s_page_delete: Can't get the real filename of %s." msgstr "" #: libgeda/src/s_page.c:224 #, c-format msgid "s_page_delete: Unable to delete backup file %s." msgstr "" #: libgeda/src/s_page.c:499 #, c-format msgid "Saved [%s]\n" msgstr "儲存 [%s]\n" #: libgeda/src/s_page.c:505 #, c-format msgid "Could NOT save [%s]\n" msgstr "無法儲存[%s]\n" #: libgeda/src/s_slib.c:171 #, c-format msgid "Found [%s]\n" msgstr "" #: libgeda/src/s_slib.c:181 #, c-format msgid "Could not find [%s] in any SourceLibrary\n" msgstr "" #: libgeda/src/s_slot.c:162 msgid "Did not find slotdef=#:#,#,#... attribute\n" msgstr "" #: libgeda/src/s_slot.c:168 msgid "Improper slotdef syntax: missing \":\".\n" msgstr "" #: libgeda/src/s_slot.c:183 msgid "Did not find proper slotdef=#:#,#,#... attribute\n" msgstr "" #: libgeda/src/s_slot.c:213 msgid "component missing pinseq= attribute\n" msgstr "" #: libgeda/src/scheme_attrib.c:67 msgid "~A is not a valid attribute: invalid string '~A'." msgstr "" #: libgeda/src/scheme_attrib.c:172 msgid "Objects ~A and ~A are not part of the same page and/or complex object" msgstr "" #: libgeda/src/scheme_attrib.c:179 libgeda/src/scheme_attrib.c:184 msgid "Object ~A is already attached as an attribute" msgstr "" #: libgeda/src/scheme_attrib.c:233 msgid "Object ~A is attribute of wrong object" msgstr "" #: libgeda/src/scheme_complex.c:148 msgid "Invalid complex angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_complex.c:265 libgeda/src/scheme_page.c:249 msgid "Object ~A is already attached to something" msgstr "" #: libgeda/src/scheme_complex.c:325 msgid "Object ~A is attached to a different complex" msgstr "" #: libgeda/src/scheme_complex.c:332 msgid "Object ~A is attached to a page" msgstr "" #: libgeda/src/scheme_complex.c:339 libgeda/src/scheme_page.c:301 msgid "Object ~A is attached as an attribute" msgstr "" #: libgeda/src/scheme_complex.c:346 libgeda/src/scheme_page.c:308 msgid "Object ~A has attributes" msgstr "" #: libgeda/src/scheme_object.c:232 msgid "Object ~A has bad type '~A'" msgstr "" #: libgeda/src/scheme_object.c:346 msgid "Object ~A has invalid stroke cap style ~A" msgstr "" #: libgeda/src/scheme_object.c:359 msgid "Object ~A has invalid stroke dash style ~A" msgstr "" #: libgeda/src/scheme_object.c:423 msgid "Invalid stroke cap style ~A." msgstr "" #: libgeda/src/scheme_object.c:434 msgid "Invalid stroke dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:444 msgid "Missing dash length parameter for dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:454 msgid "Missing dot/dash space parameter for dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:516 msgid "Object ~A has invalid fill style ~A" msgstr "" #: libgeda/src/scheme_object.c:565 msgid "Invalid fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:573 msgid "Missing second space parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:582 msgid "Missing second angle parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:592 msgid "Missing stroke width parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:601 msgid "Missing space parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:610 msgid "Missing angle parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:909 msgid "Invalid pin type ~A, must be 'net or 'bus" msgstr "" #: libgeda/src/scheme_object.c:952 msgid "Object ~A has invalid pin type." msgstr "" #: libgeda/src/scheme_object.c:1347 msgid "Invalid text alignment ~A." msgstr "" #: libgeda/src/scheme_object.c:1363 msgid "Invalid text angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_object.c:1382 msgid "Invalid text name/value visibility ~A." msgstr "" #: libgeda/src/scheme_object.c:1457 msgid "Text object ~A has invalid text alignment ~A" msgstr "" #: libgeda/src/scheme_object.c:1466 msgid "Text object ~A has invalid visibility ~A" msgstr "" #: libgeda/src/scheme_object.c:1476 msgid "Text object ~A has invalid text attribute visibility ~A" msgstr "" #: libgeda/src/scheme_object.c:1517 msgid "Object ~A is not included in a page." msgstr "" #: libgeda/src/scheme_object.c:1670 msgid "Path object ~A has invalid element type ~A at index ~A" msgstr "" #: libgeda/src/scheme_object.c:1784 msgid "Invalid path element type ~A." msgstr "" #: libgeda/src/scheme_object.c:1957 msgid "Invalid picture angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_page.c:294 msgid "Object ~A is attached to a complex or different page" msgstr "" #: libgeda/src/scheme_page.c:442 msgid "Parse error: ~s" msgstr "" #: libgeda/scheme/geda/attrib.scm:59 #, scheme-format msgid "Object ~A is not part of a page" msgstr "" geda-gaf-1.8.2/libgeda/po/pt.po0000664000175000017500000006640612220654173013106 00000000000000# Portuguese translation for geda # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-01-27 14:12+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Portuguese \n" "Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: libgeda/data/libgeda.xml.in:3 msgid "gEDA circuit schematic" msgstr "esquema de circuito gEDA" #: libgeda/data/libgeda.xml.in:4 msgid "gEDA schematic symbol" msgstr "símbolo de esquema gEDA" #: libgeda/data/libgeda.xml.in:5 msgid "gEDA gsch2pcb project" msgstr "projecto gEDA gsch2pcb" #: libgeda/data/x-geda-gsch2pcb-project.desktop.in:3 msgid "gEDA Gsch2pcb Project" msgstr "Projecto gEDA Gsch2pcb" #: libgeda/data/x-geda-schematic.desktop.in:3 msgid "gEDA Circuit Schematic" msgstr "Esquema de circuito gEDA" #: libgeda/data/x-geda-symbol.desktop.in:3 msgid "gEDA Schematic Symbol" msgstr "Símbolo de Esquema gEDA" #: libgeda/src/a_basic.c:182 #, c-format msgid "o_save_objects: object %p has unknown type '%c'\n" msgstr "o_save_objects: objecto %p tem tipo desconhecido '%c'\n" #: libgeda/src/a_basic.c:238 libgeda/src/f_basic.c:384 #, c-format msgid "File %s is read-only" msgstr "" #: libgeda/src/a_basic.c:423 #, c-format msgid "" "Read unexpected attach symbol start marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" #: libgeda/src/a_basic.c:440 #, c-format msgid "" "Read unexpected embedded symbol start marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" "Leitura de símbolo embutido inesperado marcador de início em [%s] :\n" ">>\n" "%s<<\n" #: libgeda/src/a_basic.c:471 #, c-format msgid "" "Read unexpected embedded symbol end marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" "Leitura de símbolo embutido inesperado marcador de fim em [%s] :\n" ">>\n" "%s<<\n" #: libgeda/src/a_basic.c:506 #, c-format msgid "" "Read an old format sym/sch file!\n" "Please run g[sym|sch]update on:\n" "[%s]\n" msgstr "" "Leitura de um ficheiro sym/sch de formato antigo!\n" "Por favor execute g[sym|sch]update em:\n" "[%s]\n" #: libgeda/src/a_basic.c:512 #, c-format msgid "" "Read garbage in [%s] :\n" ">>\n" "%s<<\n" msgstr "" "Leitura de lixo em [%s] :\n" ">>\n" "%s<<\n" #: libgeda/src/f_basic.c:123 libgeda/src/f_basic.c:136 #, c-format msgid "Failed to stat [%s]: %s" msgstr "Falhou em stat [%s]: %s" #: libgeda/src/f_basic.c:221 #, c-format msgid "Cannot find file %s: %s" msgstr "Não é possível encontrar o ficheiro %s: %s" #: libgeda/src/f_basic.c:269 #, c-format msgid "" "\n" "WARNING: Found an autosave backup file:\n" " %s.\n" "\n" msgstr "" "\n" "AVISO: Foi encontrado um ficheiro de salvaguarda automatica:\n" " %s.\n" "\n" #: libgeda/src/f_basic.c:271 msgid "I could not guess if it is newer, so you have to do it manually.\n" msgstr "" "Não pude adivinhar se é mais recente, por isso terá de o fazer manualmente.\n" #: libgeda/src/f_basic.c:273 msgid "" "The backup copy is newer than the schematic, so it seems you should load it " "instead of the original file.\n" msgstr "" "A cópia de salvaguarda é mais recente que o esquema, parece então que deverá " "abri-la em vez do ficheiro original.\n" #: libgeda/src/f_basic.c:275 msgid "" "Gschem usually makes backup copies automatically, and this situation happens " "when it crashed or it was forced to exit abruptly.\n" msgstr "" "Gschem normalmente faz cópias de salvaguarda automaticamente, e esta " "situação acontece quando encrava ou foi forçado a sair abruptamente.\n" #: libgeda/src/f_basic.c:278 msgid "" "\n" "Run gschem and correct the situation.\n" "\n" msgstr "" "\n" "Execute gschem e corrija a situação.\n" "\n" #: libgeda/src/f_basic.c:374 #, c-format msgid "Can't get the real filename of %s: %s" msgstr "" #: libgeda/src/f_basic.c:405 #, c-format msgid "Could NOT set previous backup file [%s] read-write\n" msgstr "" "NÃO foi possível definir o ficheiro de salvaguarda anterior [%s] como " "leitura e escrita\n" #: libgeda/src/f_basic.c:411 #, c-format msgid "Can't save backup file: %s." msgstr "Não é possível guardar o ficheiro de salvaguarda: %s." #: libgeda/src/f_basic.c:421 #, c-format msgid "Could NOT set backup file [%s] readonly\n" msgstr "" "Não foi possível definir o ficheiro de salvaguarda [%s] apenas como leitura\n" #: libgeda/src/f_basic.c:480 #, c-format msgid "Could NOT save file: %s" msgstr "" #: libgeda/src/f_basic.c:727 #, c-format msgid "%s: %s" msgstr "%s: %s" #: libgeda/src/f_print.c:123 msgid "Unable to get time of day in f_print_header()\n" msgstr "Não é possível obter a hora em f_print_header()\n" #: libgeda/src/f_print.c:165 #, c-format msgid "Unable to open the prolog file `%s' for reading in f_print_header()\n" msgstr "" "Não é possível abrir o ficheiro prolog `%s' para leitura em " "f_print_header()\n" #: libgeda/src/f_print.c:182 #, c-format msgid "Error during reading of the prolog file `%s' in f_print_header()\n" msgstr "Erro durante a leitura do ficheiro prolog `%s' em f_print_header()\n" #: libgeda/src/f_print.c:188 msgid "" "Error during writing of the output postscript file in f_print_header()\n" msgstr "" "Erro durante a escrita do ficheiro de saída postscript em f_print_header()\n" #: libgeda/src/f_print.c:202 msgid "Giving up on printing\n" msgstr "A desistir da impressão\n" #: libgeda/src/f_print.c:375 #, c-format msgid "Could not open [%s] for printing\n" msgstr "Não foi possível abrir [%s] para impressão\n" #: libgeda/src/f_print.c:409 #, c-format msgid "Could not execute command [%s] for printing\n" msgstr "Não foi possível executar o comando [%s] para impressão\n" #: libgeda/src/f_print.c:682 msgid "Too many UTF-8 characters, cannot print\n" msgstr "Demasiados caracteres UTF-8, não é possível imprimir\n" #: libgeda/src/g_basic.c:264 msgid "" "\n" "Backtrace:\n" msgstr "" #: libgeda/src/g_rc.c:233 msgid "Config file already loaded" msgstr "" #: libgeda/src/g_rc.c:268 #, c-format msgid "Parsed config from [%s]\n" msgstr "" #: libgeda/src/g_rc.c:281 #, c-format msgid "Unable to parse config from [%s]: %s" msgstr "" #: libgeda/src/g_rc.c:298 msgid "ERROR: An unknown error occurred while parsing configuration files." msgstr "" #: libgeda/src/g_rc.c:310 libgeda/src/g_rc.c:311 #, c-format msgid "ERROR: %s\n" msgstr "" #: libgeda/src/g_rc.c:317 #, c-format msgid "ERROR: The %s log may contain more information.\n" msgstr "" #: libgeda/src/g_rc.c:978 msgid "" "WARNING: using a string for 'always-promote-attributes' is deprecated. Use a " "list of strings instead\n" msgstr "" "AVISO: usar uma faixa para 'always-promote-attributes' esta ultrapassado. " "Use uma lista de faixas em seu lugar\n" #: libgeda/src/o_arc_basic.c:256 libgeda/src/o_arc_basic.c:269 msgid "Failed to parse arc object" msgstr "" #: libgeda/src/o_arc_basic.c:276 #, c-format msgid "Found a zero radius arc [ %c %d, %d, %d, %d, %d, %d ]\n" msgstr "Foi encontrado um arco com raio zero [ %c %d, %d, %d, %d, %d, %d ]\n" #: libgeda/src/o_arc_basic.c:282 libgeda/src/o_box_basic.c:327 #: libgeda/src/o_bus_basic.c:182 libgeda/src/o_circle_basic.c:289 #: libgeda/src/o_line_basic.c:264 libgeda/src/o_net_basic.c:171 #: libgeda/src/o_path_basic.c:189 libgeda/src/o_pin_basic.c:183 #: libgeda/src/o_text_basic.c:425 #, c-format msgid "Found an invalid color [ %s ]\n" msgstr "Foi encontrada uma cor inválida [ %s ]\n" #: libgeda/src/o_arc_basic.c:283 libgeda/src/o_box_basic.c:328 #: libgeda/src/o_bus_basic.c:183 libgeda/src/o_circle_basic.c:290 #: libgeda/src/o_line_basic.c:265 libgeda/src/o_net_basic.c:172 #: libgeda/src/o_path_basic.c:190 libgeda/src/o_pin_basic.c:184 #: libgeda/src/o_text_basic.c:426 msgid "Setting color to default color\n" msgstr "Definindo a cor para cor padrão\n" #: libgeda/src/o_attrib.c:123 msgid "Attempt to attach non text item as an attribute!\n" msgstr "Tentativa de anexar item não textual como um atributo!\n" #: libgeda/src/o_attrib.c:128 #, c-format msgid "Attempt to attach attribute [%s] to more than one object\n" msgstr "Tentativa de anexar atributo [%s] a mais de um objecto\n" #: libgeda/src/o_attrib.c:341 msgid "Tried to attach a non-text item as an attribute" msgstr "" #: libgeda/src/o_attrib.c:348 msgid "Unexpected end-of-file in attribute list" msgstr "" #: libgeda/src/o_basic.c:196 libgeda/src/o_basic.c:208 msgid "Invalid space specified, setting to 100\n" msgstr "Especificado espaço inválido, definindo para 100\n" #: libgeda/src/o_basic.c:204 msgid "Invalid length specified, setting to 100\n" msgstr "Especificado comprimento inválido, definindo para 100\n" #: libgeda/src/o_box_basic.c:287 libgeda/src/o_box_basic.c:316 msgid "Failed to parse box object" msgstr "" #: libgeda/src/o_box_basic.c:322 #, c-format msgid "Found a zero width/height box [ %c %d %d %d %d %d ]\n" msgstr "Encontrada caixa de largura/altura zero [ %c %d %d %d %d %d ]\n" #: libgeda/src/o_bus_basic.c:160 libgeda/src/o_bus_basic.c:167 msgid "Failed to parse bus object" msgstr "" #: libgeda/src/o_bus_basic.c:173 #, c-format msgid "Found a zero length bus [ %c %d %d %d %d %d ]\n" msgstr "Encontrado barramento com comprimento zero [ %c %d %d %d %d %d ]\n" #: libgeda/src/o_bus_basic.c:188 #, c-format msgid "Found an invalid bus ripper direction [ %s ]\n" msgstr "" "Encontrado um símbolo de extracção de barramento com direcção invalida " "[ %s ]\n" #: libgeda/src/o_bus_basic.c:189 msgid "Resetting direction to neutral (no direction)\n" msgstr "Alterando a direcção para neutral (sem direcção)\n" #: libgeda/src/o_circle_basic.c:193 msgid "Null radius circles are not allowed\n" msgstr "Círculos de raio nulo não são permitidos\n" #: libgeda/src/o_circle_basic.c:246 libgeda/src/o_circle_basic.c:275 msgid "Failed to parse circle object" msgstr "" #: libgeda/src/o_circle_basic.c:282 #, c-format msgid "Found a zero or negative radius circle [ %c %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_circle_basic.c:284 msgid "Setting radius to 0\n" msgstr "" #: libgeda/src/o_complex_basic.c:422 #, c-format msgid "" "Component not found:\n" " %s" msgstr "" "Componente não encontrado:\n" " %s" #: libgeda/src/o_complex_basic.c:654 msgid "Failed to parse complex object" msgstr "" #: libgeda/src/o_complex_basic.c:667 #, c-format msgid "Found a component with an invalid rotation [ %c %d %d %d %d %d %s ]\n" msgstr "" "Foi encontrado um componente com uma rotação inválida [ %c %d %d %d %d %d " "%s ]\n" #: libgeda/src/o_complex_basic.c:668 libgeda/src/o_picture.c:105 #: libgeda/src/o_text_basic.c:397 msgid "Setting angle to 0\n" msgstr "Definindo ângulo para 0\n" #: libgeda/src/o_complex_basic.c:680 #, c-format msgid "" "Found a component with an invalid mirror flag [ %c %d %d %d %d %d %s ]\n" msgstr "" "Foi encontrado um componente com atributo de simetria inválido [ %c %d %d %d " "%d %d %s ]\n" #: libgeda/src/o_complex_basic.c:681 msgid "Setting mirror to 0\n" msgstr "" #: libgeda/src/o_complex_basic.c:994 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse symbol file symversion=%s\n" msgstr "" "AVISO: Erro na procura da versão do símbolo em refdes %s:\n" "\tNão foi possível verificar ficheiro de símbolo symversion=%s\n" #: libgeda/src/o_complex_basic.c:998 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse symbol file symversion=\n" msgstr "" "AVISO: Erro na procura da versão do símbolo em refdes %s:\n" "\tNão foi possível verificar ficheiro de símbolo symversion=\n" #: libgeda/src/o_complex_basic.c:1014 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse attached symversion=%s\n" msgstr "" "AVISO: Erro na procura da versão do símbolo em refdes %s:\n" "\tNão foi possível verificar ficheiro anexado symversion=%s\n" #: libgeda/src/o_complex_basic.c:1039 #, c-format msgid "" "WARNING: Symbol version oddity on refdes %s:\n" "\tsymversion=%s attached to instantiated symbol, but no symversion= inside " "symbol file\n" msgstr "" "AVISO: Versão de símbolo estranha em refdes %s:\n" "\tsymversion=%s anexado ao símbolo instanciado, mas não existe symversion= " "dentro do ficheiro de simbolo\n" #: libgeda/src/o_complex_basic.c:1053 #, c-format msgid "" "WARNING: Symbol version mismatch on refdes %s (%s):\n" "\tSymbol in library is newer than instantiated symbol\n" msgstr "" "AVISO: Versão de símbolo não coincidente em refdes %s (%s):\n" "\tSimbolo na biblioteca é mais recente que o símbolo instanciado\n" #: libgeda/src/o_complex_basic.c:1081 #, c-format msgid "\tMAJOR VERSION CHANGE (file %.3f, instantiated %.3f, %s)!\n" msgstr "" "\tALTERAÇÃO DE VERSÃO IMPORTANTE (ficheiro %.3f, instanciado %.3f, %s)!\n" #: libgeda/src/o_complex_basic.c:1099 #, c-format msgid "\tMinor version change (file %.3f, instantiated %.3f)\n" msgstr "\tAlteração de versão menor (ficheiro %.3f, instanciado %.3f)\n" #: libgeda/src/o_complex_basic.c:1110 #, c-format msgid "" "WARNING: Symbol version oddity on refdes %s:\n" "\tInstantiated symbol is newer than symbol in library\n" msgstr "" "AVISO: Versão de símbolo estranha em refdes %s:\n" "\tSimbolo instanciado é mais recente que o símbolo na biblioteca\n" #: libgeda/src/o_embed.c:58 #, c-format msgid "Component [%s] has been embedded\n" msgstr "Componente [%s] foi embutido\n" #: libgeda/src/o_embed.c:102 #, c-format msgid "" "Could not find component [%s], while trying to unembed. Component is still " "embedded\n" msgstr "" "Não foi possível encontrar o componente [%s], ao tentar retirar. Componente " "permanece embutido\n" #: libgeda/src/o_embed.c:110 #, c-format msgid "Component [%s] has been successfully unembedded\n" msgstr "Componente [%s] foi retirado com sucesso\n" #: libgeda/src/o_line_basic.c:229 libgeda/src/o_line_basic.c:247 msgid "Failed to parse line object" msgstr "" #: libgeda/src/o_line_basic.c:259 #, c-format msgid "Found a zero length line [ %c %d %d %d %d %d ]\n" msgstr "Foi encontrada uma linha de comprimento zero [ %c %d %d %d %d %d ]\n" #: libgeda/src/o_net_basic.c:156 msgid "Failed to parse net object" msgstr "" #: libgeda/src/o_net_basic.c:161 #, c-format msgid "Found a zero length net [ %c %d %d %d %d %d ]\n" msgstr "" "Foi encontrada uma ligação com comprimento zero [ %c %d %d %d %d %d ]\n" #: libgeda/src/o_path_basic.c:181 msgid "Failed to parse path object" msgstr "" #: libgeda/src/o_path_basic.c:207 msgid "Unexpected end-of-file when reading path" msgstr "" #: libgeda/src/o_picture.c:72 msgid "Failed to parse picture definition" msgstr "" #: libgeda/src/o_picture.c:77 #, c-format msgid "Found a zero width/height picture [ %c %d %d %d %d ]\n" msgstr "Foi encontrada uma imagem com largura/altura zero [ %c %d %d %d %d ]\n" #: libgeda/src/o_picture.c:82 #, c-format msgid "Found a picture with a wrong 'mirrored' parameter: %d.\n" msgstr "" #: libgeda/src/o_picture.c:84 msgid "Setting mirrored to 0\n" msgstr "Defenindo simetria para 0\n" #: libgeda/src/o_picture.c:89 #, c-format msgid "Found a picture with a wrong 'embedded' parameter: %d.\n" msgstr "" #: libgeda/src/o_picture.c:91 msgid "Setting embedded to 0\n" msgstr "Definindo valor embutido para 0\n" #: libgeda/src/o_picture.c:104 #, c-format msgid "Found an unsupported picture angle [ %d ]\n" msgstr "Foi encontrado um valor não suportado para ângulo de imagem [%d]\n" #: libgeda/src/o_picture.c:116 msgid "Found an image with no filename." msgstr "" #: libgeda/src/o_picture.c:147 #, c-format msgid "Failed to load image from embedded data [%s]: %s\n" msgstr "Falha ao carregar a imagem a partir dos dados embutidos [%s]:%s\n" #: libgeda/src/o_picture.c:148 msgid "Base64 decoding failed." msgstr "Descodificação Base64 falhou." #: libgeda/src/o_picture.c:149 msgid "Falling back to file loading. Picture unembedded.\n" msgstr "A recuar ao modo de carregamento de ficheiro. Imagem removida.\n" #: libgeda/src/o_picture.c:208 msgid "ERROR: o_picture_save: unable to encode the picture.\n" msgstr "ERRO: o_picture_save: não é possível codificar a imagem.\n" #: libgeda/src/o_picture.c:308 #, c-format msgid "Failed to load buffer image [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:321 #, c-format msgid "Failed to load image from [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:427 #, c-format msgid "Picture %p has invalid angle %i\n" msgstr "" #: libgeda/src/o_picture.c:957 #, c-format msgid "Picture [%s] has no image data.\n" msgstr "" #: libgeda/src/o_picture.c:958 msgid "Falling back to file loading. Picture is still unembedded.\n" msgstr "" #: libgeda/src/o_picture.c:966 #, c-format msgid "Picture [%s] has been embedded\n" msgstr "Imagem [%s] foi embutida\n" #: libgeda/src/o_picture.c:990 #, c-format msgid "Failed to load image from file [%s]: %s\n" msgstr "Falha ao carregar imagem a partir do ficheiro [%s]: %s\n" #: libgeda/src/o_picture.c:992 msgid "Picture is still embedded.\n" msgstr "" #: libgeda/src/o_picture.c:1000 #, c-format msgid "Picture [%s] has been unembedded\n" msgstr "Imagem [%s] foi removida\n" #: libgeda/src/o_picture.c:1236 #, c-format msgid "Failed to load fallback image %s: %s.\n" msgstr "" #: libgeda/src/o_pin_basic.c:160 libgeda/src/o_pin_basic.c:168 msgid "Failed to parse pin object" msgstr "" #: libgeda/src/o_pin_basic.c:174 msgid "" "Found a pin which did not have the whichone field set.\n" "Verify and correct manually.\n" msgstr "" "Foi encontrado um pino que não tinha o campo 'whichone' atribuído.\n" "Verifique e corrija manualmente.\n" #: libgeda/src/o_pin_basic.c:177 #, c-format msgid "Found an invalid whichend on a pin (reseting to zero): %d\n" msgstr "" "Foi encontrado campo invalido 'whichend' num pino (alterando para zero): %d\n" #: libgeda/src/o_text_basic.c:356 libgeda/src/o_text_basic.c:366 #: libgeda/src/o_text_basic.c:376 msgid "Failed to parse text object" msgstr "" #: libgeda/src/o_text_basic.c:383 #, c-format msgid "Found a zero size text string [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" "Foi encontrada uma faixa de tamanho zero [ %c %d %d %d %d %d %d %d %d ]\n" #: libgeda/src/o_text_basic.c:395 #, c-format msgid "Found an unsupported text angle [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" "Foi encontrado um ângulo para texto não suportado [ %c %d %d %d %d %d %d %d " "%d ]\n" #: libgeda/src/o_text_basic.c:417 #, c-format msgid "Found an unsupported text alignment [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" "Foi encontrado um alinhamento de texto não suportado [ %c %d %d %d %d %d %d " "%d %d ]\n" #: libgeda/src/o_text_basic.c:419 msgid "Setting alignment to LOWER_LEFT\n" msgstr "A definir alinhamento para 'em baixo à esquerda'\n" #: libgeda/src/o_text_basic.c:440 #, c-format msgid "Unexpected end-of-file after %d lines" msgstr "" #: libgeda/src/s_clib.c:465 #, c-format msgid "Library command failed [%s]: %s\n" msgstr "Comando de biblioteca falhou [%s]: %s\n" #: libgeda/src/s_clib.c:470 #, c-format msgid "Library command failed [%s]: Uncaught signal %i.\n" msgstr "Comando de biblioteca falhou [%s]: Sinal não alcançado %i.\n" #: libgeda/src/s_clib.c:474 #, c-format msgid "Library command failed [%s]\n" msgstr "Comando de biblioteca falhou [%s]\n" #: libgeda/src/s_clib.c:475 #, c-format msgid "" "Error output was:\n" "%s\n" msgstr "" "Erro de saida foi:\n" "%s\n" #: libgeda/src/s_clib.c:561 #, c-format msgid "Library name [%s] already in use. Using [%s].\n" msgstr "Nome de biblioteca [%s] já em uso. A usar [%s].\n" #: libgeda/src/s_clib.c:598 #, c-format msgid "Failed to open directory [%s]: %s\n" msgstr "Falha ao abrir directoria [%s]: %s\n" #: libgeda/src/s_clib.c:734 #, c-format msgid "Failed to scan library [%s]: Scheme function returned non-list\n" msgstr "" "Falha ao verificar biblioteca [%s]: Função 'scheme' devolveu algo que não é " "lista\n" #: libgeda/src/s_clib.c:742 #, c-format msgid "Non-string symbol name while scanning library [%s]\n" msgstr "" "Nome de símbolo que não é faixa de caracteres encontrado enquanto se " "verificava a biblioteca [%s]\n" #: libgeda/src/s_clib.c:901 libgeda/src/s_clib.c:948 msgid "Cannot add library: name not specified\n" msgstr "Não é possível adicionar biblioteca: nome não foi especificado\n" #: libgeda/src/s_clib.c:908 #, c-format msgid "" "Cannot add library [%s]: both 'list' and 'get' commands must be specified.\n" msgstr "" "Não é possível adicionar biblioteca [%s]: ambos os comandos 'list' e 'get' " "têm de ser especificados.\n" #: libgeda/src/s_clib.c:956 #, c-format msgid "Cannot add Scheme-library [%s]: callbacks must be closures\n" msgstr "" "Não é possível adicionar biblioteca Scheme [%s]: rotinas de chamada devem " "ser de encerramento\n" #: libgeda/src/s_clib.c:1083 #, c-format msgid "Failed to load symbol from file [%s]: %s\n" msgstr "Falhou ao carregar símbolo a partir do ficheiro [%s]: %s\n" #: libgeda/src/s_clib.c:1143 #, c-format msgid "Failed to load symbol data [%s] from source [%s]\n" msgstr "Falhou ao carregar dados do símbolo [%s] a partir da fonte [%s]\n" #: libgeda/src/s_clib.c:1385 #, c-format msgid "Component [%s] was not found in the component library\n" msgstr "Componente [%s] não foi encontrado na biblioteca de componentes\n" #: libgeda/src/s_clib.c:1391 #, c-format msgid "More than one component found with name [%s]\n" msgstr "Mais de um componente encontrado com o nome [%s]\n" #: libgeda/src/s_color.c:207 msgid "Color index out of range" msgstr "Índice de cor fora do alcance" #: libgeda/src/s_color.c:262 msgid "Color map entry must be a two-element list" msgstr "Entrada do mapa de cor tem de ser uma lista de dois elementos" #: libgeda/src/s_color.c:270 msgid "Index in color map entry must be an integer" msgstr "Índice no na entrada do mapa de cor tem de ser um inteiro" #: libgeda/src/s_color.c:296 msgid "Value in color map entry must be #f or a string" msgstr "" "Valor na entrada do mapa de cor tem de ser #f ou uma faixa de caracteres" #: libgeda/src/s_hierarchy.c:94 #, c-format msgid "" "hierarchy loop detected while visiting page:\n" " \"%s\"\n" msgstr "" "Ciclo hierárquico detectado enquanto visitava pagina:\n" " \"%s\"\n" #: libgeda/src/s_hierarchy.c:194 msgid "There are no schematics above the current one!\n" msgstr "Não existem esquemas acima do esquema presente!\n" #: libgeda/src/s_hierarchy.c:274 #, c-format msgid "ERROR in s_hierarchy_traverse: schematic not found: %s\n" msgstr "ERRO em s_hierarchy_traverse: esquema não encontrado: %s\n" #: libgeda/src/s_page.c:213 #, c-format msgid "s_page_delete: Can't get the real filename of %s." msgstr "" "s_page_delete: Não foi possível obter o nome de ficheiro verdadeiro de %s." #: libgeda/src/s_page.c:224 #, c-format msgid "s_page_delete: Unable to delete backup file %s." msgstr "s_page_delete: Não foi possível apagar ficheiro de salvaguarda %s." #: libgeda/src/s_page.c:499 #, c-format msgid "Saved [%s]\n" msgstr "Guardado [%s]\n" #: libgeda/src/s_page.c:505 #, c-format msgid "Could NOT save [%s]\n" msgstr "NÃO foi possível guardar [%s]\n" #: libgeda/src/s_slib.c:171 #, c-format msgid "Found [%s]\n" msgstr "Encontrado [%s]\n" #: libgeda/src/s_slib.c:181 #, c-format msgid "Could not find [%s] in any SourceLibrary\n" msgstr "Não foi possível encontrar [%s] em nenhuma biblioteca fonte\n" #: libgeda/src/s_slot.c:162 msgid "Did not find slotdef=#:#,#,#... attribute\n" msgstr "" #: libgeda/src/s_slot.c:168 msgid "Improper slotdef syntax: missing \":\".\n" msgstr "" #: libgeda/src/s_slot.c:183 msgid "Did not find proper slotdef=#:#,#,#... attribute\n" msgstr "" #: libgeda/src/s_slot.c:213 msgid "component missing pinseq= attribute\n" msgstr "" #: libgeda/src/scheme_attrib.c:67 msgid "~A is not a valid attribute: invalid string '~A'." msgstr "" #: libgeda/src/scheme_attrib.c:172 msgid "Objects ~A and ~A are not part of the same page and/or complex object" msgstr "" #: libgeda/src/scheme_attrib.c:179 libgeda/src/scheme_attrib.c:184 msgid "Object ~A is already attached as an attribute" msgstr "" #: libgeda/src/scheme_attrib.c:233 msgid "Object ~A is attribute of wrong object" msgstr "" #: libgeda/src/scheme_complex.c:148 msgid "Invalid complex angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_complex.c:265 libgeda/src/scheme_page.c:249 msgid "Object ~A is already attached to something" msgstr "" #: libgeda/src/scheme_complex.c:325 msgid "Object ~A is attached to a different complex" msgstr "" #: libgeda/src/scheme_complex.c:332 msgid "Object ~A is attached to a page" msgstr "" #: libgeda/src/scheme_complex.c:339 libgeda/src/scheme_page.c:301 msgid "Object ~A is attached as an attribute" msgstr "" #: libgeda/src/scheme_complex.c:346 libgeda/src/scheme_page.c:308 msgid "Object ~A has attributes" msgstr "" #: libgeda/src/scheme_object.c:232 msgid "Object ~A has bad type '~A'" msgstr "" #: libgeda/src/scheme_object.c:346 msgid "Object ~A has invalid stroke cap style ~A" msgstr "" #: libgeda/src/scheme_object.c:359 msgid "Object ~A has invalid stroke dash style ~A" msgstr "" #: libgeda/src/scheme_object.c:423 msgid "Invalid stroke cap style ~A." msgstr "" #: libgeda/src/scheme_object.c:434 msgid "Invalid stroke dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:444 msgid "Missing dash length parameter for dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:454 msgid "Missing dot/dash space parameter for dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:516 msgid "Object ~A has invalid fill style ~A" msgstr "" #: libgeda/src/scheme_object.c:565 msgid "Invalid fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:573 msgid "Missing second space parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:582 msgid "Missing second angle parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:592 msgid "Missing stroke width parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:601 msgid "Missing space parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:610 msgid "Missing angle parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:909 msgid "Invalid pin type ~A, must be 'net or 'bus" msgstr "" #: libgeda/src/scheme_object.c:952 msgid "Object ~A has invalid pin type." msgstr "" #: libgeda/src/scheme_object.c:1347 msgid "Invalid text alignment ~A." msgstr "" #: libgeda/src/scheme_object.c:1363 msgid "Invalid text angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_object.c:1382 msgid "Invalid text name/value visibility ~A." msgstr "" #: libgeda/src/scheme_object.c:1457 msgid "Text object ~A has invalid text alignment ~A" msgstr "" #: libgeda/src/scheme_object.c:1466 msgid "Text object ~A has invalid visibility ~A" msgstr "" #: libgeda/src/scheme_object.c:1476 msgid "Text object ~A has invalid text attribute visibility ~A" msgstr "" #: libgeda/src/scheme_object.c:1517 msgid "Object ~A is not included in a page." msgstr "" #: libgeda/src/scheme_object.c:1670 msgid "Path object ~A has invalid element type ~A at index ~A" msgstr "" #: libgeda/src/scheme_object.c:1784 msgid "Invalid path element type ~A." msgstr "" #: libgeda/src/scheme_object.c:1957 msgid "Invalid picture angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_page.c:294 msgid "Object ~A is attached to a complex or different page" msgstr "" #: libgeda/src/scheme_page.c:442 msgid "Parse error: ~s" msgstr "" #: libgeda/scheme/geda/attrib.scm:59 #, scheme-format msgid "Object ~A is not part of a page" msgstr "" geda-gaf-1.8.2/libgeda/po/insert-header.sin0000644000175000017500000000124012210331572015341 00000000000000# Sed script that inserts the file called HEADER before the header entry. # # At each occurrence of a line starting with "msgid ", we execute the following # commands. At the first occurrence, insert the file. At the following # occurrences, do nothing. The distinction between the first and the following # occurrences is achieved by looking at the hold space. /^msgid /{ x # Test if the hold space is empty. s/m/m/ ta # Yes it was empty. First occurrence. Read the file. r HEADER # Output the file's contents by reading the next line. But don't lose the # current line while doing this. g N bb :a # The hold space was nonempty. Following occurrences. Do nothing. x :b } geda-gaf-1.8.2/libgeda/po/POTFILES.in0000664000175000017500000000162312220647257013673 00000000000000libgeda/data/libgeda.xml.in libgeda/data/x-geda-gsch2pcb-project.desktop.in libgeda/data/x-geda-schematic.desktop.in libgeda/data/x-geda-symbol.desktop.in libgeda/src/a_basic.c libgeda/src/f_basic.c libgeda/src/f_print.c libgeda/src/g_basic.c libgeda/src/g_rc.c libgeda/src/o_arc_basic.c libgeda/src/o_attrib.c libgeda/src/o_basic.c libgeda/src/o_box_basic.c libgeda/src/o_bus_basic.c libgeda/src/o_circle_basic.c libgeda/src/o_complex_basic.c libgeda/src/o_embed.c libgeda/src/o_line_basic.c libgeda/src/o_net_basic.c libgeda/src/o_path_basic.c libgeda/src/o_picture.c libgeda/src/o_pin_basic.c libgeda/src/o_text_basic.c libgeda/src/s_clib.c libgeda/src/s_color.c libgeda/src/s_hierarchy.c libgeda/src/s_page.c libgeda/src/s_slib.c libgeda/src/s_slot.c libgeda/src/scheme_attrib.c libgeda/src/scheme_complex.c libgeda/src/scheme_object.c libgeda/src/scheme_page.c libgeda/scheme/geda/attrib.scm intl/plural.c geda-gaf-1.8.2/libgeda/po/Rules-quot0000644000175000017500000000337612210331571014112 00000000000000# Special Makefile rules for English message catalogs with quotation marks. DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot .SUFFIXES: .insert-header .po-update-en en@quot.po-create: $(MAKE) en@quot.po-update en@boldquot.po-create: $(MAKE) en@boldquot.po-update en@quot.po-update: en@quot.po-update-en en@boldquot.po-update: en@boldquot.po-update-en .insert-header.po-update-en: @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \ if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \ tmpdir=`pwd`; \ echo "$$lang:"; \ ll=`echo $$lang | sed -e 's/@.*//'`; \ LC_ALL=C; export LC_ALL; \ cd $(srcdir); \ if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$ll -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ exit 1; \ fi; \ fi; \ else \ echo "creation of $$lang.po failed!" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ fi en@quot.insert-header: insert-header.sin sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header en@boldquot.insert-header: insert-header.sin sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header mostlyclean: mostlyclean-quot mostlyclean-quot: rm -f *.insert-header geda-gaf-1.8.2/libgeda/po/pl.gmo0000664000175000017500000003424712220655642013242 00000000000000nP :Q 5 ( 0  9# 1]   ; K 'K s  * ! 0 6" Y r ( 3 , ) T; ! 1 * 75GA}G1(O1x)"?72O GDT.p/.6=54s5- :+*fC?,A&+)B(l 1/-53c$!FE=e?.  ?Ssj/ (<.eD/i bsZZ[]eo$'=Tj401/H7 3? )s 1  @ 7!O!(j!E!M!/'"W"t"5""&":#A#a#H{#G#, $-9$cg$%$,$,%<K%5%8%I%A&4\&(&;&3&"*'LM'"'D'(e(Nz(F(A)<R)B)A)D*LY*F*D*#2+]V+B+U+MM,,,OC-,-+-8-6%."\.&.?.8.7/MW/+//$/S0#i0L0O0/*1Z1+i11111p20282,2I3:`33~&4465z5|76h6"7@7T7j77779747?/87o874na).@  ZO&!\62Wm R V?f%jb$D8 l95-(dck30[LH;e,MI=:YNiJX>#"KA/g^ QE`]+G*P1Th<C_U'FBS MAJOR VERSION CHANGE (file %.3f, instantiated %.3f, %s)! Minor version change (file %.3f, instantiated %.3f) Run gschem and correct the situation. WARNING: Found an autosave backup file: %s. %s: %sAttempt to attach attribute [%s] to more than one object Attempt to attach non text item as an attribute! Base64 decoding failed.Can't save backup file: %s.Cannot add Scheme-library [%s]: callbacks must be closures Cannot add library [%s]: both 'list' and 'get' commands must be specified. Cannot add library: name not specified Cannot find file %s: %sColor index out of rangeColor map entry must be a two-element listComponent [%s] has been embedded Component [%s] has been successfully unembedded Component [%s] was not found in the component library Component not found: %sCould NOT save [%s] Could NOT set backup file [%s] readonly Could NOT set previous backup file [%s] read-write Could not execute command [%s] for printing Could not find [%s] in any SourceLibrary Could not find component [%s], while trying to unembed. Component is still embedded Could not open [%s] for printing Did not find proper slotdef=#:#,#,#... attribute Did not find slotdef=#:#,#,#... attribute ERROR in s_hierarchy_traverse: schematic not found: %s ERROR: o_picture_save: unable to encode the picture. Error during reading of the prolog file `%s' in f_print_header() Error during writing of the output postscript file in f_print_header() Error output was: %s Failed to load image from embedded data [%s]: %s Failed to load image from file [%s]: %s Failed to load symbol data [%s] from source [%s] Failed to load symbol from file [%s]: %s Failed to open directory [%s]: %s Failed to scan library [%s]: Scheme function returned non-list Failed to stat [%s]: %sFalling back to file loading. Picture unembedded. Found [%s] Found a component with an invalid mirror flag [ %c %d %d %d %d %d %s ] Found a component with an invalid rotation [ %c %d %d %d %d %d %s ] Found a pin which did not have the whichone field set. Verify and correct manually. Found a zero length bus [ %c %d %d %d %d %d ] Found a zero length line [ %c %d %d %d %d %d ] Found a zero length net [ %c %d %d %d %d %d ] Found a zero radius arc [ %c %d, %d, %d, %d, %d, %d ] Found a zero size text string [ %c %d %d %d %d %d %d %d %d ] Found a zero width/height box [ %c %d %d %d %d %d ] Found a zero width/height picture [ %c %d %d %d %d ] Found an invalid bus ripper direction [ %s ] Found an invalid color [ %s ] Found an invalid whichend on a pin (reseting to zero): %d Found an unsupported picture angle [ %d ] Found an unsupported text alignment [ %c %d %d %d %d %d %d %d %d ] Found an unsupported text angle [ %c %d %d %d %d %d %d %d %d ] Giving up on printing Gschem usually makes backup copies automatically, and this situation happens when it crashed or it was forced to exit abruptly. I could not guess if it is newer, so you have to do it manually. Improper slotdef syntax: missing ":". Index in color map entry must be an integerInvalid length specified, setting to 100 Invalid space specified, setting to 100 Library command failed [%s] Library command failed [%s]: %s Library command failed [%s]: Uncaught signal %i. Library name [%s] already in use. Using [%s]. More than one component found with name [%s] Non-string symbol name while scanning library [%s] Null radius circles are not allowed Picture [%s] has been embedded Picture [%s] has been unembedded Read an old format sym/sch file! Please run g[sym|sch]update on: [%s] Read garbage in [%s] : >> %s<< Read unexpected embedded symbol end marker in [%s] : >> %s<< Read unexpected embedded symbol start marker in [%s] : >> %s<< Resetting direction to neutral (no direction) Saved [%s] Setting alignment to LOWER_LEFT Setting angle to 0 Setting color to default color Setting embedded to 0 Setting mirrored to 0 The backup copy is newer than the schematic, so it seems you should load it instead of the original file. There are no schematics above the current one! Too many UTF-8 characters, cannot print Unable to get time of day in f_print_header() Unable to open the prolog file `%s' for reading in f_print_header() Value in color map entry must be #f or a stringWARNING: Symbol version mismatch on refdes %s (%s): Symbol in library is newer than instantiated symbol WARNING: Symbol version oddity on refdes %s: Instantiated symbol is newer than symbol in library WARNING: Symbol version oddity on refdes %s: symversion=%s attached to instantiated symbol, but no symversion= inside symbol file WARNING: Symbol version parse error on refdes %s: Could not parse attached symversion=%s WARNING: Symbol version parse error on refdes %s: Could not parse symbol file symversion= WARNING: Symbol version parse error on refdes %s: Could not parse symbol file symversion=%s WARNING: using a string for 'always-promote-attributes' is deprecated. Use a list of strings instead component missing pinseq= attribute gEDA Circuit SchematicgEDA Gsch2pcb ProjectgEDA Schematic SymbolgEDA circuit schematicgEDA gsch2pcb projectgEDA schematic symbolhierarchy loop detected while visiting page: "%s" o_save_objects: object %p has unknown type '%c' s_page_delete: Can't get the real filename of %s.s_page_delete: Unable to delete backup file %s.Project-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2010-02-06 22:09+0000 Last-Translator: Jarosław Ogrodnik Language-Team: gEDA developers Language: pl MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2010-02-14 12:56+0000 X-Generator: Launchpad (build Unknown) ZNACZĄCA ZMIANA WERSJI (plik %.3f, użyto %.3f, %s)! Pomniejsza zmiana wersji (plik %.3f, użyto %.3f) Uruchom gschem i napraw plik ręcznie. UWAGA: Odnaleziono plik kopii zapasowej: %s. %s: %sPróba powiązania atrybutu [%s] z więcej niż jednym obiektem Próba użycia innego obiektu niż tekst jako atrybut! Błąd dekodowania Base64.Nie można zapisać kopii zapasowej: %s.Nie można dodać biblioteki Scheme [%s]: callbacks must be closures Nie można dodać biblioteki [%s]: komendy 'list' i 'get' muszą być podane Nie można dodać biblioteki: nie podano nazwy Nie odnaleziono pliku %s: %sIndeks koloru poza zakresemWpis w mapie kolorów musi być dwuelementową listąOsadzono komponent [%s] Komponent [%s] nie jest już osadzony Nie odnaleziono komponentu [%s] w bibliotece komponentów Nie odnaleziono komponentu: %sNie można zapisać [%s] Nie można ustawić pliku kopii zapasowej w tryb tylko do odczytu [%s]. Nie można ustawić pliku kopii zapasowej w tryb zapisu i odczytu [%s] Nie można wykonać komendy [%s] do wydruku Nie odnaleziono [%s] in w żadnej bibliotece Nie odnaleziono komponentu [%s] podczas próby usunięcia osadzenia. Komponent pozostanie osadzony Nie można otworzyć [%s] do wydruku Nie odnaleziono atrybutu slotdef=#:#,#,#... Nie odnaleziono atrybutu slotdef=#:#,#,#... BŁĄD w s_hierarchy_traverse: nie odnaleziono schematu: %s BŁĄD: o_picture_save: nie można zapisać obrazka. Błąd odczytu pliku nagłówka `%s' w f_print_header() Błąd w trakcie zapisu pliku wyjściowego postscript w f_print_header() Komunikat o błędzie: %s Błąd odczytu obrazka z osadzonych danych [%s]: %s Błąd odczytu obrazka z pliku [%s]: %s Odczyt danych symbolu [%s] z pliku [%s] nie powiódł się Błąd podczas ładowania symbolu z pliku [%s]: %s Błąd otwarcia katalogu [%s]: %s Błąd przeszukiwania biblioteki [%s]: funkcja Scheme zwróciła nie-listę Błąd odczytu atrybutów [%s]: %sSpróbuję odczytać obrazek z pliku. Obrazek nie będzie osadzony. Odnaleziono [%s] Napotkano komponent z nieprawidłową wartością flagi odbicia lustrzanego [ %c %d %d %d %d %d %s ] Napotkano komponent o błędnej specyfikacji rotacji [ %c %d %d %d %d %d %s ] Napotkano pin bez ustawionego pola 'whichone'. Popraw plik manualnie. Napotkano magistralę o zerowej długości [ %c %d %d %d %d %d ] Napotkano linię o zerowej długości [ %c %d %d %d %d %d ] Napotkano połączenie o zerowej długości [ %c %d %d %d %d %d ] Napotkano łuk o zerowym promieniu [ %c %d, %d, %d, %d, %d, %d ] Napotkano napis o zerowych wymiarach [ %c %d %d %d %d %d %d %d %d ] Napotkano prostokąt o zerowej wysokości/szerokości [ %c %d %d %d %d %d ] Napotkano obrazek o zerowej wysokości/szerokości [ %c %d %d %d %d ] Napotkano odczep magistrali z błędnym ustawieniem kierunku [ %s ] Napotkano niepoprawny kolor [ %s ] Napotkano nieprawidłową wartość 'whichend' przypisaną do pinu (użyję wartości 0): %d Napotkano obrazek z nieprawidłową wartością nachylenia [ %d ] Napotkano napis z nieprawidłowym wyrównaniem tekstu [ %c %d %d %d %d %d %d %d %d ] Napotkano napis z nieprawidłowym nachyleniem [ %c %d %d %d %d %d %d %d %d ] Drukowanie nie powiodło się Gschem tworzy kopie zapasowe automatycznie, a ta sytuacja może być wynikiem niepoprawnego zamknięcia programu, np. z powodu błędu. Nie można stwierdzić, czy kopia jest nowsza - musisz sprawdzić to ręcznie. Błąd składni atrybutu slotdef: brak ":". Indeks koloru musi być liczbą całkowitąBłędna specyfikacja długości, użyję wartości 100 Błędna specyfikacja odstępu, użyję wartości 100 Błąd operacji w bibliotece [%s] Błąd operacji w bibliotece [%s]: %s Błąd operacji w bibliotece [%s]: Nieobsługiwany sygnał %i. Nazwa biblioteki [%s] jest już zajęta. Użyję [%s]. Odnaleziono więcej niż jeden komponent o nazwie [%s] Napotkano niepoprawną nazwę symbolu podczas przeszukiwania biblioteki [%s] Koła o zerowym promieniu są niedozwolone Obrazek [%s] został osadzony Obrazek [%s] nie jest już osadzony Przestarzały format pliku! Uruchom program gsymupdate/gschemupdate na pliku: [%s] Napotkano śmieci w [%s] : >> %s<< Napotkano nieoczekiwany znacznik końca osadzonego symbolu w [%s] : >> %s<< Napotkano nieoczekiwany znacznik początku osadzonego symbolu w [%s] : >> %s<< Ustawię kierunek na neutralny (brak kierunku) Zapisano [%s] Użyję wyrównania do dolnego lewego rogu Użyję nachylenia równego 0 Użyję domyślnego koloru Przyjmuję 'osadzony' równe 0 Przyjmuję 'odbity' równe 0 Kopia zapasowa jest nowsza niż plik schematu, a więc powinieneś otworzyć kopię zamiast oryginalnego pliku. Jesteś już na szczycie hierarchii schematów! Błąd drukowania: zbyt wiele znaków w kodowaniu UTF-8 Błąd odczytu pory dnia w f_print_header() Nie można otworzyć pliku nagłówka `%s' do odczytu w f_print_header() Wpis w mapie kolorów musi być wartością #f lub napisemUWAGA: Niezgodność wersji symbolu o identyfikatorze %s (%s): Wersja symbolu w bibliotece jest nowsza niż wersja tej instancji symbolu UWAGA: Dziwna wersja symbolu o identyfikatorze %s: Wersja symbolu w bibliotece jest nowsza niż wersja tej instancji symbolu UWAGA: Dziwna wersja symbolu o identyfikatorze %s: Atrybut symversion=%s dołączony do symbolu, ale brak atrybutu symversion= w pliku symbolu UWAGA: Błąd parsowania wersji symbolu o identyfikatorze %s: Niepowodzenie podczas parsowania dołączonego atrybutu symversion=%s UWAGA: Błąd parsowania wersji symbolu o identyfikatorze %s: Niepowodzenie podczas parsowania pliku symbolu symversion= UWAGA: Błąd parsowania wersji symbolu o identyfikatorze %s: Niepowodzenie podczas parsowania pliku symbolu symversion=%s UWAGA: użycie napisu jako wartości 'always-promote-attributes' jest niezalecane. Użyj listy napisów komponent nie ma atrybutu pinseq= Schemat Obwodu gEDAProjekt Gsch2pcb gEDAElement Schematu gEDAschemat obwodu gEDAprojekt gsch2pcb gEDAelement schematu gEDAwykryto cykl w hierarchii podczas odczytu strony: "%s" o_save_objects: objekt %p jest nieznanego typu '%c' s_page_delete: nie można uzyskać rzeczywistej nazwy pliku %s.s_page_delete: Nie można skasować kopii zapasowej %s.geda-gaf-1.8.2/libgeda/po/sr.gmo0000664000175000017500000004321612220655642013247 00000000000000jl : 5L ( 0  9 1 O g ; K ' 3 K *d ! 0 6  2 (G 3p , ) T !P 7r 5 A G"j1(1) "7?Z2 GD9T~./.26a=45 -Ao:*C?8xA+R)~( 1/A-q3$!F:=?. N Z{j/H(x.D/iEbZ[]Me(>Tk401//_rinJj# k i!6q![!""W/#A#2#Q#0N$?$c$5#%'Y%w%z%Lt&b&$'='U(\h(l(z2)%)e)R9*b*T*LD++I,kd,,,uq--[~.S.Q./c/k/\P0[0i 1=s1x1F*2lq2b2)A3k3T4N4U#5Uy5?5C6lS6^6_7i7Q7&;8&b88(9l:9n9H:_:={:#:9:+;/C;s;G,<Jt<P<u=]==>u?@iA5B C5C,D"/D5RD,D"DxDhQEaEqF52j^',=  WL$Y40Ti O Sb#f_"A6 h73+&`g1.XIE9a*JF;8VKeGU<! H>-[NB]Z)D(M%/Qd:@\RcC?P MAJOR VERSION CHANGE (file %.3f, instantiated %.3f, %s)! Minor version change (file %.3f, instantiated %.3f) Run gschem and correct the situation. WARNING: Found an autosave backup file: %s. %s: %sAttempt to attach attribute [%s] to more than one object Attempt to attach non text item as an attribute! Base64 decoding failed.Can't save backup file: %s.Cannot add Scheme-library [%s]: callbacks must be closures Cannot add library [%s]: both 'list' and 'get' commands must be specified. Cannot add library: name not specified Cannot find file %s: %sColor index out of rangeColor map entry must be a two-element listComponent [%s] has been embedded Component [%s] has been successfully unembedded Component [%s] was not found in the component library Component not found: %sCould NOT save [%s] Could NOT set backup file [%s] readonly Could NOT set previous backup file [%s] read-write Could not execute command [%s] for printing Could not find [%s] in any SourceLibrary Could not find component [%s], while trying to unembed. Component is still embedded Could not open [%s] for printing ERROR in s_hierarchy_traverse: schematic not found: %s ERROR: o_picture_save: unable to encode the picture. Error during reading of the prolog file `%s' in f_print_header() Error during writing of the output postscript file in f_print_header() Error output was: %s Failed to load image from embedded data [%s]: %s Failed to load image from file [%s]: %s Failed to load symbol data [%s] from source [%s] Failed to load symbol from file [%s]: %s Failed to open directory [%s]: %s Failed to scan library [%s]: Scheme function returned non-list Failed to stat [%s]: %sFalling back to file loading. Picture unembedded. Found [%s] Found a component with an invalid mirror flag [ %c %d %d %d %d %d %s ] Found a component with an invalid rotation [ %c %d %d %d %d %d %s ] Found a pin which did not have the whichone field set. Verify and correct manually. Found a zero length bus [ %c %d %d %d %d %d ] Found a zero length line [ %c %d %d %d %d %d ] Found a zero length net [ %c %d %d %d %d %d ] Found a zero radius arc [ %c %d, %d, %d, %d, %d, %d ] Found a zero size text string [ %c %d %d %d %d %d %d %d %d ] Found a zero width/height box [ %c %d %d %d %d %d ] Found a zero width/height picture [ %c %d %d %d %d ] Found an invalid bus ripper direction [ %s ] Found an invalid color [ %s ] Found an invalid whichend on a pin (reseting to zero): %d Found an unsupported picture angle [ %d ] Found an unsupported text alignment [ %c %d %d %d %d %d %d %d %d ] Found an unsupported text angle [ %c %d %d %d %d %d %d %d %d ] Giving up on printing Gschem usually makes backup copies automatically, and this situation happens when it crashed or it was forced to exit abruptly. I could not guess if it is newer, so you have to do it manually. Index in color map entry must be an integerInvalid length specified, setting to 100 Invalid space specified, setting to 100 Library command failed [%s] Library command failed [%s]: %s Library command failed [%s]: Uncaught signal %i. Library name [%s] already in use. Using [%s]. More than one component found with name [%s] Non-string symbol name while scanning library [%s] Null radius circles are not allowed Picture [%s] has been embedded Picture [%s] has been unembedded Read an old format sym/sch file! Please run g[sym|sch]update on: [%s] Read garbage in [%s] : >> %s<< Read unexpected embedded symbol end marker in [%s] : >> %s<< Read unexpected embedded symbol start marker in [%s] : >> %s<< Resetting direction to neutral (no direction) Saved [%s] Setting alignment to LOWER_LEFT Setting angle to 0 Setting color to default color Setting embedded to 0 Setting mirrored to 0 The backup copy is newer than the schematic, so it seems you should load it instead of the original file. There are no schematics above the current one! Too many UTF-8 characters, cannot print Unable to get time of day in f_print_header() Unable to open the prolog file `%s' for reading in f_print_header() Value in color map entry must be #f or a stringWARNING: Symbol version mismatch on refdes %s (%s): Symbol in library is newer than instantiated symbol WARNING: Symbol version oddity on refdes %s: Instantiated symbol is newer than symbol in library WARNING: Symbol version oddity on refdes %s: symversion=%s attached to instantiated symbol, but no symversion= inside symbol file WARNING: Symbol version parse error on refdes %s: Could not parse attached symversion=%s WARNING: Symbol version parse error on refdes %s: Could not parse symbol file symversion= WARNING: Symbol version parse error on refdes %s: Could not parse symbol file symversion=%s WARNING: using a string for 'always-promote-attributes' is deprecated. Use a list of strings instead gEDA Circuit SchematicgEDA Gsch2pcb ProjectgEDA Schematic SymbolgEDA circuit schematicgEDA gsch2pcb projectgEDA schematic symbolhierarchy loop detected while visiting page: "%s" o_save_objects: object %p has unknown type '%c' s_page_delete: Can't get the real filename of %s.s_page_delete: Unable to delete backup file %s.Project-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-01-27 14:12+0000 Last-Translator: FULL NAME Language-Team: Serbian Language: sr MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) ИЗМЕНА ГЛАВНОГ ИЗДАЊА (датотека „%.3f“, инстанцирана „%.3f“, %s)! Измена нижег издања (датотека „%.3f“, инстанцирано „%.3f“) Покрените гшему и исправите ситуацију. УПОЗОРЕЊЕ: Нашао сам самосачувану резервну датотеку: %s. „%s“: %sПокушај да се приложи особина (%s) на више од једног објекта Покушај да се приложи ставка која није текст као особина! Није успело декодирање базе64.Не могу да сачувам датотеку резервног примерка: %s.Не могу да додам библиотеку шеме (%s): повратни позиви морају бити затварајући Не могу да додам библиотеку (%s): морају бити наведене наредбе и „списак“ и „добави“. Не могу да додам библиотеку: назив није наведен Не могу да пронађем датотеку „%s“: %sИндекс боје је изван опсегаУнос мапе боје мора бити списак два елементаКомпонента (%s) је уграђена Компонента (%s) је успешно избачена Нисам пронашао компоненту (%s) у библиотеци компоненти Нисам пронашао компоненту: %sНЕ МОГУ да сачувам (%s) НЕ могу да подесим само за читање датотеку резервног примерка (%s) НЕ могу да подесим читање-писање претходног резервног примерка (%s) Не могу да извршим наредбу (%s) за штампање Не могу да пронађем (%s) у било којој Библиотеци извора Не могу да пронађем компоненту (%s), док покушавам да је избацим. Компонента је још увек уграђена. Не могу да отворим (%s) за штампање ГРЕШКА у „s_hierarchy_traverse“: шема није пронађена: %s ГРЕШКА: о_сачувај_слику: не могу да шифрујем слику. Грешка приликом читања пролог датотеке „%s“ у „f_print_header()“ Грешка приликом писања излазне постскрипт датотеке у „f_print_header()“ Излаз грешке беше: %s Нисам успео да учитам слику из уграђених података (%s): %s Нисам успео да учитам слику из датотеке (%s): %s Нисам успео да учитам податак симбола (%s) из извора (%s) Нисам успео да учитам симбол из датотеке (%s): %s Нисам успео да отворим директоријум (%s): %s Нисам успео да прегледам библиотеку (%s): Функција шеме није вратила списак Нисам успео да направим статистику (%s): %sПребацујем се назад на учитавање слике. Слика је избачена. Нашао сам (%s) Пронашао сам компоненту са неисправном заставицом огледала ( %c %d %d %d %d %d %s ) Пронашао сам компоненту са неисправном ротацијом ( %c %d %d %d %d %d %s ) Пронашао сам ножицу која нема подешено поље „који“. Проверите и исправите ручно. Пронашао сам магистралу нулте дужине ( %c %d %d %d %d %d ) Пронашао сам линију нулте дужине ( %c %d %d %d %d %d ) Пронашао сам мрежу нулте дужине ( %c %d %d %d %d %d ) Пронашао сам лук нултог полупречника ( %c %d, %d, %d, %d, %d, %d ) Пронашао сам ниску текста нулте величине ( %c %d %d %d %d %d %d %d %d ) Пронашао сам поље нулте ширине/висине ( %c %d %d %d %d %d ) Пронашао сам слику нулте ширине/висине ( %c %d %d %d %d ) Пронашао сам неисправан смер извлачивача магистрале ( %s ) Пронашао сам неисправну боју ( %s ) Пронашао сам неисправан „који крај“ на ножици (враћам на нулу): %d Пронашао сам неподржан угао слике ( %d ) Пронашао сам неподржано поравнање текста ( %c %d %d %d %d %d %d %d %d ) Пронашао сам неподржани угао текста ( %c %d %d %d %d %d %d %d %d ) Одустајем од штампања Гшема обично самостално прави резервне примерке, а до ове ситуације је дошло када се урушио или је био приморан да нагло изађе. Не могу да погодим да ли је новија, зато ви морате то да урадите ручно. Индекс у уносу мапе боје мора бити цео бројНаведена је неисправна дужина, подешавам на 100 Наведен је неисправан простор, подешавам на 100 Није успела наредба библиотеке (%s) Није успела наредба библиотеке (%s): %s Није успела наредба библиотеке (%s): Неухваћени сигнал „%i“. Назив библиотеке (%s) је већ у употреби. Користим (%s). Пронашао сам више од једне компоненте са називом (%s) Назив симбола не-ниске за време прегледања библиотеке (%s) Кругови нултог полупречника нису дозвољени Слика (%s) је уграђена Слика (%s) је избачена Читам датотеку старог формата „sym/sch“! Молим покрените „g[sym|sch]update“ на: (%s) Читам смеће у (%s) : >> %s<< Читам неочекивани крајњи знак уграђеног симбола у (%s) : >> %s<< Читам неочекивани почетни знак уграђеног симбола у (%s) : >> %s<< Враћам правац на неутралан (без правца) Сачувао сам (%s) Подешавам поравнање на НИЖЕ_ЛЕВО Подешавам угао на 0 Подешавам боју на основну боју Подешавам уграђено на 0 Подешавам пресликано на 0 Резервни примерак је новији од шеме, зато изгледа да треба да га учитате уместо оригиналне датотеке. Нема других електричних шема осим ове! Превише УТФ-8 знакова, не могу да штампам Не могу да добавим време дана у „f_print_header()“ Не могу да отворим пролог датотеку „%s“ за читање у „f_print_header()“ Вредност у уносу мапе боје мора бити „#f“ или нискаУПОЗОРЕЊЕ: Неслагање издања симбола на рефдес-у „%s“ (%s): Симбол у библиотеци је новији од инстанцног симбола УПОЗОРЕЊЕ: Чудност издања симбола на рефдес-у „%s“: Инстанцирани симбол је новији од симбола у библиотеци УПОЗОРЕЊЕ: Настраност издања симбола на рефдес-у „%s“: издање_симбола=%s је приложено инстанцном симболу, али нема издања_симбола= унутар датотеке симбола УПОЗОРЕЊЕ: Грешка при анализи издања симбола на рефдес-у „%s“: Не могу да анализирам приложено издање_симбола=„%s“ УПОЗОРЕЊЕ: Грешка при анализи издања симбола на рефдес-у „%s“: Не могу да анализирам датотеку издање_симбола= УПОЗОРЕЊЕ: Грешка при анализи издања симбола на рефдес-у „%s“: Не могу да анализирам датотеку издање_симбола=„%s“ УПОЗОРЕЊЕ: Коришћење ниске за „увек-промовиши-особине“ је застарело. Користите уместо тога списак ниски гЕДА — шема електричних колагЕДА — „gsch2pcb“ пројекатгЕДА — симбол шемегЕДА — шема електричних колагЕДА — „gsch2pcb“ пројекатгЕДА — симбол шемеоткрио сам петљу хијерархије за време посећивања странице: „%s“ о_сачувај_објекат: објекат „%p“ има непознату врсту „%c“ s_page_delete: Не могу да добавим прави назив датотеке „%s“.s_page_delete: Не могу да избришем датотеку резервног примерка „%s“.geda-gaf-1.8.2/libgeda/po/da.gmo0000664000175000017500000000153612220655642013206 00000000000000T )?4JgEDA Circuit SchematicgEDA Gsch2pcb ProjectgEDA Schematic SymbolgEDA circuit schematicgEDA gsch2pcb projectgEDA schematic symbolProject-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-01-27 14:12+0000 Last-Translator: FULL NAME Language-Team: Danish Language: da MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) gEDA Kredsløbs DiagramgEDA Gsch2pcb ProjektgEDA Diagram SymbolgEDA kredsløbs diagramgEDA gsch2pcb projektgEDA diagram symbolgeda-gaf-1.8.2/libgeda/po/ca.gmo0000664000175000017500000000177712220655642013214 00000000000000\  #90O8Sn>gEDA Circuit SchematicgEDA Gsch2pcb ProjectgEDA Schematic SymbolgEDA circuit schematicgEDA gsch2pcb projectgEDA schematic symbolo_save_objects: object %p has unknown type '%c' Project-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-01-27 14:12+0000 Last-Translator: FULL NAME Language-Team: Catalan Language: ca MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) Esquema de circuit del gEDAProjecte Gsch2pcb del gEDASímbol d'esquema del gEDAEsquema de circuit del gEDAProjecte Gsch2pcb del gEDASímbol d'esquema del gEDAo_save_objects: l'objecte %p té un tipus desconegut («%c») geda-gaf-1.8.2/libgeda/po/hu.gmo0000664000175000017500000000340312220655642013231 00000000000000, AF:( $:P!" DNbHzn(2/[    %s: %sCannot find file %s: %sCould NOT save file: %sERROR: %s Failed to stat [%s]: %sFile %s is read-onlyI could not guess if it is newer, so you have to do it manually. Read an old format sym/sch file! Please run g[sym|sch]update on: [%s] Read garbage in [%s] : >> %s<< Too many UTF-8 characters, cannot print gEDA Circuit SchematicgEDA Gsch2pcb ProjectgEDA Schematic SymbolgEDA circuit schematicgEDA gsch2pcb projectgEDA schematic symbolProject-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2010-02-06 22:11+0000 Last-Translator: FULL NAME Language-Team: gEDA developers Language: hu MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2010-02-14 12:56+0000 X-Generator: Launchpad (build Unknown) %s: %sNem találom a file-t %s: %sNem tudtam elmenteni a file-t: %sHIBA: %s Nem látom [%s]: %sCsak olvasható file %sNem tudtam eldönteni, hogy ez újabb, ezért neked kell megcsinálnod Régi formátumú sym/sch fájl! Kérlek frissítsd a [%s] fájlt a g[sym|sch]update program segítségével! Szemét olvasása a(z) [%s]-ban << %s<< Túl sok UTF-8 karakter, nem tudom kinyomtatni gEDA kapcsolási rajzgEDA gsch2pcb projektgEDA szimbólumgEDA kapcsolási rajzgEDA gsch2pcb projektgEDA szimbólumgeda-gaf-1.8.2/libgeda/po/en_GB.gmo0000664000175000017500000005136512220655642013601 00000000000000 :5 :(G0p91%,R;nK'6*O!z068M(e3,)T!n1*7 %C00t5AGe%{&#1(1G)y"5Tp"?A;Y2 GD17v7T.;/j.:6=;4y5 -3:R*C?<SA&+=<i)< )B (l    9 &%!L! i!1!/!*!0"3H"1|"1"*"1 #-=#3k#$#####$)=$*g$-$*$%$4%,F%s%&%$%%E%E&U&6n& &&!& ')'FE''='='?((.h( ( (((()$);),P)7})()j)/I*(y*/*.*D+$F+%k+(+(+/+i,b},,Zd-[-].ey.$.//1/G/^/t/4/0/1//"01R00:225m2 2(202 3931K3}3%33;3K4'_444+4!405695p5555(535,.6)[6T6!616*.77Y7 7C70758AG8G88%8& 9#491X9(919)9":2:M:h::::::";6;Q;?m;;;;2<4< I<GU<D<7<7=TR=.=/=.>:5>6p>=>4>5? P?-q??:?*?C%@?i@@@AAA&A,A<AB)+BUB<sB)B(BC C>C9YC&CC C1C/*D*ZD0D3D1D1E*NE1yE-E3E$ F2FKF#gFF)F*F-G*.G%YG4G,GG&H$(HMHEmHHH6H I4I!TI vIIFII=J=XJ?J.J K K2K!FKhKKKK,K7K(%LjNL/L(L/M.BMDqM$M%M(N(*N0SNiNbNQOZO[0P]PeP$PQuQQQQQQ4Q00R1aR/R1RG*}.Fsyg28o/Vc\L&rl5T'MDZQaj !(wW[1eNOAb9 _"BSz]{CY<@?7m U`f6>-;3i|XIdP u+ =xt$Hn#R4J~,E0vqK%k):^h p MAJOR VERSION CHANGE (file %.3f, instantiated %.3f, %s)! Minor version change (file %.3f, instantiated %.3f) Backtrace: Run gschem and correct the situation. WARNING: Found an autosave backup file: %s. %s: %sAttempt to attach attribute [%s] to more than one object Attempt to attach non text item as an attribute! Base64 decoding failed.Can't get the real filename of %s: %sCan't save backup file: %s.Cannot add Scheme-library [%s]: callbacks must be closures Cannot add library [%s]: both 'list' and 'get' commands must be specified. Cannot add library: name not specified Cannot find file %s: %sColor index out of rangeColor map entry must be a two-element listComponent [%s] has been embedded Component [%s] has been successfully unembedded Component [%s] was not found in the component library Component not found: %sConfig file already loadedCould NOT save [%s] Could NOT save file: %sCould NOT set backup file [%s] readonly Could NOT set previous backup file [%s] read-write Could not execute command [%s] for printing Could not find [%s] in any SourceLibrary Could not find component [%s], while trying to unembed. Component is still embedded Could not open [%s] for printing Did not find proper slotdef=#:#,#,#... attribute Did not find slotdef=#:#,#,#... attribute ERROR in s_hierarchy_traverse: schematic not found: %s ERROR: %s ERROR: An unknown error occurred while parsing configuration files.ERROR: The %s log may contain more information. ERROR: o_picture_save: unable to encode the picture. Error during reading of the prolog file `%s' in f_print_header() Error during writing of the output postscript file in f_print_header() Error output was: %s Failed to load buffer image [%s]: %s Failed to load fallback image %s: %s. Failed to load image from [%s]: %s Failed to load image from embedded data [%s]: %s Failed to load image from file [%s]: %s Failed to load symbol data [%s] from source [%s] Failed to load symbol from file [%s]: %s Failed to open directory [%s]: %s Failed to parse arc objectFailed to parse box objectFailed to parse bus objectFailed to parse circle objectFailed to parse complex objectFailed to parse line objectFailed to parse net objectFailed to parse path objectFailed to parse picture definitionFailed to parse pin objectFailed to parse text objectFailed to scan library [%s]: Scheme function returned non-list Failed to stat [%s]: %sFalling back to file loading. Picture is still unembedded. Falling back to file loading. Picture unembedded. File %s is read-onlyFound [%s] Found a component with an invalid mirror flag [ %c %d %d %d %d %d %s ] Found a component with an invalid rotation [ %c %d %d %d %d %d %s ] Found a picture with a wrong 'embedded' parameter: %d. Found a picture with a wrong 'mirrored' parameter: %d. Found a pin which did not have the whichone field set. Verify and correct manually. Found a zero length bus [ %c %d %d %d %d %d ] Found a zero length line [ %c %d %d %d %d %d ] Found a zero length net [ %c %d %d %d %d %d ] Found a zero or negative radius circle [ %c %d %d %d %d ] Found a zero radius arc [ %c %d, %d, %d, %d, %d, %d ] Found a zero size text string [ %c %d %d %d %d %d %d %d %d ] Found a zero width/height box [ %c %d %d %d %d %d ] Found a zero width/height picture [ %c %d %d %d %d ] Found an image with no filename.Found an invalid bus ripper direction [ %s ] Found an invalid color [ %s ] Found an invalid whichend on a pin (reseting to zero): %d Found an unsupported picture angle [ %d ] Found an unsupported text alignment [ %c %d %d %d %d %d %d %d %d ] Found an unsupported text angle [ %c %d %d %d %d %d %d %d %d ] Giving up on printing Gschem usually makes backup copies automatically, and this situation happens when it crashed or it was forced to exit abruptly. I could not guess if it is newer, so you have to do it manually. Improper slotdef syntax: missing ":". Index in color map entry must be an integerInvalid complex angle ~A. Must be 0, 90, 180, or 270 degreesInvalid fill style ~A.Invalid length specified, setting to 100 Invalid path element type ~A.Invalid picture angle ~A. Must be 0, 90, 180, or 270 degreesInvalid pin type ~A, must be 'net or 'busInvalid space specified, setting to 100 Invalid stroke cap style ~A.Invalid stroke dash style ~A.Invalid text alignment ~A.Invalid text angle ~A. Must be 0, 90, 180, or 270 degreesInvalid text name/value visibility ~A.Library command failed [%s] Library command failed [%s]: %s Library command failed [%s]: Uncaught signal %i. Library name [%s] already in use. Using [%s]. Missing angle parameter for fill style ~A.Missing dash length parameter for dash style ~A.Missing dot/dash space parameter for dash style ~A.Missing second angle parameter for fill style ~A.Missing second space parameter for fill style ~A.Missing space parameter for fill style ~A.Missing stroke width parameter for fill style ~A.More than one component found with name [%s] Non-string symbol name while scanning library [%s] Null radius circles are not allowed Object ~A has attributesObject ~A has bad type '~A'Object ~A has invalid fill style ~AObject ~A has invalid pin type.Object ~A has invalid stroke cap style ~AObject ~A has invalid stroke dash style ~AObject ~A is already attached as an attributeObject ~A is already attached to somethingObject ~A is attached as an attributeObject ~A is attached to a complex or different pageObject ~A is attached to a different complexObject ~A is attached to a pageObject ~A is attribute of wrong objectObject ~A is not included in a page.Object ~A is not part of a pageObjects ~A and ~A are not part of the same page and/or complex objectParse error: ~sParsed config from [%s] Path object ~A has invalid element type ~A at index ~APicture %p has invalid angle %i Picture [%s] has been embedded Picture [%s] has been unembedded Picture [%s] has no image data. Picture is still embedded. Read an old format sym/sch file! Please run g[sym|sch]update on: [%s] Read garbage in [%s] : >> %s<< Read unexpected attach symbol start marker in [%s] : >> %s<< Read unexpected embedded symbol end marker in [%s] : >> %s<< Read unexpected embedded symbol start marker in [%s] : >> %s<< Resetting direction to neutral (no direction) Saved [%s] Setting alignment to LOWER_LEFT Setting angle to 0 Setting color to default color Setting embedded to 0 Setting mirror to 0 Setting mirrored to 0 Setting radius to 0 Text object ~A has invalid text alignment ~AText object ~A has invalid text attribute visibility ~AText object ~A has invalid visibility ~AThe backup copy is newer than the schematic, so it seems you should load it instead of the original file. There are no schematics above the current one! Too many UTF-8 characters, cannot print Tried to attach a non-text item as an attributeUnable to get time of day in f_print_header() Unable to open the prolog file `%s' for reading in f_print_header() Unable to parse config from [%s]: %sUnexpected end-of-file after %d linesUnexpected end-of-file in attribute listUnexpected end-of-file when reading pathValue in color map entry must be #f or a stringWARNING: Symbol version mismatch on refdes %s (%s): Symbol in library is newer than instantiated symbol WARNING: Symbol version oddity on refdes %s: Instantiated symbol is newer than symbol in library WARNING: Symbol version oddity on refdes %s: symversion=%s attached to instantiated symbol, but no symversion= inside symbol file WARNING: Symbol version parse error on refdes %s: Could not parse attached symversion=%s WARNING: Symbol version parse error on refdes %s: Could not parse symbol file symversion= WARNING: Symbol version parse error on refdes %s: Could not parse symbol file symversion=%s WARNING: using a string for 'always-promote-attributes' is deprecated. Use a list of strings instead component missing pinseq= attribute gEDA Circuit SchematicgEDA Gsch2pcb ProjectgEDA Schematic SymbolgEDA circuit schematicgEDA gsch2pcb projectgEDA schematic symbolhierarchy loop detected while visiting page: "%s" o_save_objects: object %p has unknown type '%c' s_page_delete: Can't get the real filename of %s.s_page_delete: Unable to delete backup file %s.~A is not a valid attribute: invalid string '~A'.Project-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-01-31 12:15+0000 Last-Translator: Peter TB Brett Language-Team: gEDA developers Language: en_GB MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) MAJOR VERSION CHANGE (file %.3f, instantiated %.3f, %s)! Minor version change (file %.3f, instantiated %.3f) Backtrace: Run gschem and correct the situation. WARNING: Found an autosave backup file: %s. %s: %sAttempt to attach attribute [%s] to more than one object Attempt to attach non text item as an attribute! Base64 decoding failed.Can't get the real filename of %s: %sCan't save backup file: %s.Cannot add Scheme-library [%s]: callbacks must be closures Cannot add library [%s]: both 'list' and 'get' commands must be specified. Cannot add library: name not specified Cannot find file: %s: %sColour index out of rangeColour map entry must be a two-element listComponent [%s] has been embedded Component [%s] has been successfully unembedded Component [%s] was not found in the component library Component not found: %sConfig file already loadedCould NOT save [%s] Could NOT save file: %sCould NOT set backup file [%s] readonly Could NOT set previous backup file [%s] read-write Could not execute command [%s] for printing Could not find [%s] in any SourceLibrary Could not find component [%s], while trying to unembed. Component is still embedded Could not open [%s] for printing Did not find proper slotdef=#:#,#,#... attribute Did not find slotdef=#:#,#,#... attribute ERROR in s_hierarchy_traverse: schematic not found: %s ERROR: %s ERROR: An unknown error occurred while parsing configuration files.ERROR: The %s log may contain more information. ERROR: o_picture_save: unable to encode the picture. Error during reading of the prolog file `%s' in f_print_header() Error during writing of the output postscript file in f_print_header() Error output was: %s Failed to load buffer image [%s]: %s Failed to load fallback image %s: %s. Failed to load image from [%s]: %s Failed to load image from embedded data [%s]: %s Failed to load image from file [%s]: %s Failed to load symbol data [%s] from source [%s] Failed to load symbol from file [%s]: %s Failed to open directory [%s]: %s Failed to parse arc objectFailed to parse box objectFailed to parse bus objectFailed to parse circle objectFailed to parse complex objectFailed to parse line objectFailed to parse net objectFailed to parse path objectFailed to parse picture definitionFailed to parse pin objectFailed to parse text objectFailed to scan library [%s]: Scheme function returned non-list Failed to stat [%s]: %sFalling back to file loading. Picture is still unembedded. Falling back to file loading. Picture unembedded. File %s is read-onlyFound [%s] Found a component with an invalid mirror flag [ %c %d %d %d %d %d %s ] Found a component with an invalid rotation [ %c %d %d %d %d %d %s ] Found a picture with a wrong 'embedded' parameter: %d. Found a picture with a wrong 'mirrored' parameter: %d. Found a pin which did not have the whichone field set. Verify and correct manually. Found a zero length bus [ %c %d %d %d %d %d ] Found a zero length line [ %c %d %d %d %d %d ] Found a zero length net [ %c %d %d %d %d %d ] Found a zero or negative radius circle [ %c %d %d %d %d ] Found a zero radius arc [ %c %d, %d, %d, %d, %d, %d ] Found a zero size text string [ %c %d %d %d %d %d %d %d %d ] Found a zero width/height box [ %c %d %d %d %d %d ] Found a zero width/height picture [ %c %d %d %d %d ] Found an image with no filename.Found an invalid bus ripper direction [ %s ] Found an invalid colour [ %s ] Found an invalid whichend on a pin (reseting to zero): %d Found an unsupported picture angle [ %d ] Found an unsupported text alignment [ %c %d %d %d %d %d %d %d %d ] Found an unsupported text angle [ %c %d %d %d %d %d %d %d %d ] Giving up on printing Gschem usually makes backup copies automatically, and this situation happens when it crashed or it was forced to exit abruptly. I could not guess if it is newer, so you have to do it manually. Improper slotdef syntax: missing ":". Index in colour map entry must be an integerInvalid complex angle ~A. Must be 0, 90, 180, or 270 degreesInvalid fill style ~A.Invalid length specified, setting to 100 Invalid path element type ~A.Invalid picture angle ~A. Must be 0, 90, 180, or 270 degreesInvalid pin type ~A, must be 'net or 'busInvalid space specified, setting to 100 Invalid stroke cap style ~A.Invalid stroke dash style ~A.Invalid text alignment ~A.Invalid text angle ~A. Must be 0, 90, 180, or 270 degreesInvalid text name/value visibility ~A.Library command failed [%s] Library command failed [%s]: %s Library command failed [%s]: Uncaught signal %i. Library name [%s] already in use. Using [%s]. Missing angle parameter for fill style ~A.Missing dash length parameter for dash style ~A.Missing dot/dash space parameter for dash style ~A.Missing second angle parameter for fill style ~A.Missing second space parameter for fill style ~A.Missing space parameter for fill style ~A.Missing stroke width parameter for fill style ~A.More than one component found with name [%s] Non-string symbol name while scanning library [%s] Null radius circles are not allowed Object ~A has attributesObject ~A has bad type '~A'Object ~A has invalid fill style ~AObject ~A has invalid pin type.Object ~A has invalid stroke cap style ~AObject ~A has invalid stroke dash style ~AObject ~A is already attached as an attributeObject ~A is already attached to somethingObject ~A is attached as an attributeObject ~A is attached to a complex or different pageObject ~A is attached to a different complexObject ~A is attached to a pageObject ~A is attribute of wrong objectObject ~A is not included in a page.Object ~A is not part of a pageObjects ~A and ~A are not part of the same page and/or complex objectParse error: ~sParsed config from [%s] Path object ~A has invalid element type ~A at index ~APicture %p has invalid angle %i Picture [%s] has been embedded Picture [%s] has been unembedded Picture [%s] has no image data. Picture is still embedded. Read an old format sym/sch file! Please run g[sym|sch]update on: [%s] Read garbage in [%s] : >> %s<< Read unexpected attach symbol start marker in [%s] : >> %s<< Read unexpected embedded symbol end marker in [%s] : >> %s<< Read unexpected embedded symbol start marker in [%s] : >> %s<< Resetting direction to neutral (no direction) Saved [%s] Setting alignment to LOWER_LEFT Setting angle to 0 Setting colour to default colour Setting embedded to 0 Setting mirror to 0 Setting mirrored to 0 Setting radius to 0 Text object ~A has invalid text alignment ~AText object ~A has invalid text attribute visibility ~AText object ~A has invalid visibility ~AThe backup copy is newer than the schematic, so it seems you should load it instead of the original file. There are no schematics above the current one! Too many UTF-8 characters, cannot print Tried to attach a non-text item as an attributeUnable to get time of day in f_print_header() Unable to open the prolog file `%s' for reading in f_print_header() Unable to parse config from [%s]: %sUnexpected end-of-file after %d linesUnexpected end-of-file in attribute listUnexpected end-of-file when reading pathValue in colour map entry must be #f or a stringWARNING: Symbol version mismatch on refdes %s (%s): Symbol in library is newer than instantiated symbol WARNING: Symbol version oddity on refdes %s: Instantiated symbol is newer than symbol in library WARNING: Symbol version oddity on refdes %s: symversion=%s attached to instantiated symbol, but no symversion= inside symbol file WARNING: Symbol version parse error on refdes %s: Could not parse attached symversion=%s WARNING: Symbol version parse error on refdes %s: Could not parse symbol file symversion= WARNING: Symbol version parse error on refdes %s: Could not parse symbol file symversion=%s WARNING: using a string for 'always-promote-attributes' is deprecated. Use a list of strings instead component missing pinseq= attribute gEDA Circuit SchematicgEDA Gsch2pcb ProjectgEDA Schematic SymbolgEDA circuit schematicgEDA gsch2pcb projectgEDA schematic symbolhierarchy loop detected while visiting page: "%s" o_save_objects: object %p has unknown type '%c' s_page_delete: Can't get the real filename of %s.s_page_delete: Unable to delete backup file %s.~A is not a valid attribute: invalid string '~A'.geda-gaf-1.8.2/libgeda/po/ChangeLog0000664000175000017500000000000012207374140013645 00000000000000geda-gaf-1.8.2/libgeda/po/nl.gmo0000664000175000017500000005421312220655642013233 00000000000000 :5 :(G0p91%,R;nK'6*O!z068M(e3,)T!n1*7 %C00t5AGe%{&#1(1G)y"5Tp"?A;Y2 GD17v7T.;/j.:6=;4y5 -3:R*C?<SA&+=<i)< )B (l    9 &%!L! i!1!/!*!0"3H"1|"1"*"1 #-=#3k#$#####$)=$*g$-$*$%$4%,F%s%&%$%%E%E&U&6n& &&!& ')'FE''='='?((.h( ( (((()$);),P)7})()j)/I*(y*/*.*D+$F+%k+(+(+/+i,b},,Zd-[-].ey.$.//1/G/^/t/4/0/1//"01R00<w292 2,2<'3d3?k3>3364";4O^4b495K5j5355'5>5>6'[66656?60-77^7Y7$708+F87r8 8R8.9669Cm9Q9:0:0J:){:9:1:5;.G;%v;+;0;*;-$<.R<+<*<*<4=*8=,c=M==I=;D>>>O>J>>E?C?V?:@;Z@:@>@CANTAHAFA(3B.\B B?B2BKCDkCCCEdD$D1D>E@E2ZEEAE0E2FQFnFF<F-F!G%:G>`G9G/G7 H>AH6H8H1H7"I1ZIGI4I J$$J,IJ&vJ/J2J.K%/K(UK;~K-K%K*L*9L%dLNLLL>M*DMoMM,M$MIMHNIfNENEN,-;3i|XIdP u+ =xt$Hn#R4J~,E0vqK%k):^h p MAJOR VERSION CHANGE (file %.3f, instantiated %.3f, %s)! Minor version change (file %.3f, instantiated %.3f) Backtrace: Run gschem and correct the situation. WARNING: Found an autosave backup file: %s. %s: %sAttempt to attach attribute [%s] to more than one object Attempt to attach non text item as an attribute! Base64 decoding failed.Can't get the real filename of %s: %sCan't save backup file: %s.Cannot add Scheme-library [%s]: callbacks must be closures Cannot add library [%s]: both 'list' and 'get' commands must be specified. Cannot add library: name not specified Cannot find file %s: %sColor index out of rangeColor map entry must be a two-element listComponent [%s] has been embedded Component [%s] has been successfully unembedded Component [%s] was not found in the component library Component not found: %sConfig file already loadedCould NOT save [%s] Could NOT save file: %sCould NOT set backup file [%s] readonly Could NOT set previous backup file [%s] read-write Could not execute command [%s] for printing Could not find [%s] in any SourceLibrary Could not find component [%s], while trying to unembed. Component is still embedded Could not open [%s] for printing Did not find proper slotdef=#:#,#,#... attribute Did not find slotdef=#:#,#,#... attribute ERROR in s_hierarchy_traverse: schematic not found: %s ERROR: %s ERROR: An unknown error occurred while parsing configuration files.ERROR: The %s log may contain more information. ERROR: o_picture_save: unable to encode the picture. Error during reading of the prolog file `%s' in f_print_header() Error during writing of the output postscript file in f_print_header() Error output was: %s Failed to load buffer image [%s]: %s Failed to load fallback image %s: %s. Failed to load image from [%s]: %s Failed to load image from embedded data [%s]: %s Failed to load image from file [%s]: %s Failed to load symbol data [%s] from source [%s] Failed to load symbol from file [%s]: %s Failed to open directory [%s]: %s Failed to parse arc objectFailed to parse box objectFailed to parse bus objectFailed to parse circle objectFailed to parse complex objectFailed to parse line objectFailed to parse net objectFailed to parse path objectFailed to parse picture definitionFailed to parse pin objectFailed to parse text objectFailed to scan library [%s]: Scheme function returned non-list Failed to stat [%s]: %sFalling back to file loading. Picture is still unembedded. Falling back to file loading. Picture unembedded. File %s is read-onlyFound [%s] Found a component with an invalid mirror flag [ %c %d %d %d %d %d %s ] Found a component with an invalid rotation [ %c %d %d %d %d %d %s ] Found a picture with a wrong 'embedded' parameter: %d. Found a picture with a wrong 'mirrored' parameter: %d. Found a pin which did not have the whichone field set. Verify and correct manually. Found a zero length bus [ %c %d %d %d %d %d ] Found a zero length line [ %c %d %d %d %d %d ] Found a zero length net [ %c %d %d %d %d %d ] Found a zero or negative radius circle [ %c %d %d %d %d ] Found a zero radius arc [ %c %d, %d, %d, %d, %d, %d ] Found a zero size text string [ %c %d %d %d %d %d %d %d %d ] Found a zero width/height box [ %c %d %d %d %d %d ] Found a zero width/height picture [ %c %d %d %d %d ] Found an image with no filename.Found an invalid bus ripper direction [ %s ] Found an invalid color [ %s ] Found an invalid whichend on a pin (reseting to zero): %d Found an unsupported picture angle [ %d ] Found an unsupported text alignment [ %c %d %d %d %d %d %d %d %d ] Found an unsupported text angle [ %c %d %d %d %d %d %d %d %d ] Giving up on printing Gschem usually makes backup copies automatically, and this situation happens when it crashed or it was forced to exit abruptly. I could not guess if it is newer, so you have to do it manually. Improper slotdef syntax: missing ":". Index in color map entry must be an integerInvalid complex angle ~A. Must be 0, 90, 180, or 270 degreesInvalid fill style ~A.Invalid length specified, setting to 100 Invalid path element type ~A.Invalid picture angle ~A. Must be 0, 90, 180, or 270 degreesInvalid pin type ~A, must be 'net or 'busInvalid space specified, setting to 100 Invalid stroke cap style ~A.Invalid stroke dash style ~A.Invalid text alignment ~A.Invalid text angle ~A. Must be 0, 90, 180, or 270 degreesInvalid text name/value visibility ~A.Library command failed [%s] Library command failed [%s]: %s Library command failed [%s]: Uncaught signal %i. Library name [%s] already in use. Using [%s]. Missing angle parameter for fill style ~A.Missing dash length parameter for dash style ~A.Missing dot/dash space parameter for dash style ~A.Missing second angle parameter for fill style ~A.Missing second space parameter for fill style ~A.Missing space parameter for fill style ~A.Missing stroke width parameter for fill style ~A.More than one component found with name [%s] Non-string symbol name while scanning library [%s] Null radius circles are not allowed Object ~A has attributesObject ~A has bad type '~A'Object ~A has invalid fill style ~AObject ~A has invalid pin type.Object ~A has invalid stroke cap style ~AObject ~A has invalid stroke dash style ~AObject ~A is already attached as an attributeObject ~A is already attached to somethingObject ~A is attached as an attributeObject ~A is attached to a complex or different pageObject ~A is attached to a different complexObject ~A is attached to a pageObject ~A is attribute of wrong objectObject ~A is not included in a page.Object ~A is not part of a pageObjects ~A and ~A are not part of the same page and/or complex objectParse error: ~sParsed config from [%s] Path object ~A has invalid element type ~A at index ~APicture %p has invalid angle %i Picture [%s] has been embedded Picture [%s] has been unembedded Picture [%s] has no image data. Picture is still embedded. Read an old format sym/sch file! Please run g[sym|sch]update on: [%s] Read garbage in [%s] : >> %s<< Read unexpected attach symbol start marker in [%s] : >> %s<< Read unexpected embedded symbol end marker in [%s] : >> %s<< Read unexpected embedded symbol start marker in [%s] : >> %s<< Resetting direction to neutral (no direction) Saved [%s] Setting alignment to LOWER_LEFT Setting angle to 0 Setting color to default color Setting embedded to 0 Setting mirror to 0 Setting mirrored to 0 Setting radius to 0 Text object ~A has invalid text alignment ~AText object ~A has invalid text attribute visibility ~AText object ~A has invalid visibility ~AThe backup copy is newer than the schematic, so it seems you should load it instead of the original file. There are no schematics above the current one! Too many UTF-8 characters, cannot print Tried to attach a non-text item as an attributeUnable to get time of day in f_print_header() Unable to open the prolog file `%s' for reading in f_print_header() Unable to parse config from [%s]: %sUnexpected end-of-file after %d linesUnexpected end-of-file in attribute listUnexpected end-of-file when reading pathValue in color map entry must be #f or a stringWARNING: Symbol version mismatch on refdes %s (%s): Symbol in library is newer than instantiated symbol WARNING: Symbol version oddity on refdes %s: Instantiated symbol is newer than symbol in library WARNING: Symbol version oddity on refdes %s: symversion=%s attached to instantiated symbol, but no symversion= inside symbol file WARNING: Symbol version parse error on refdes %s: Could not parse attached symversion=%s WARNING: Symbol version parse error on refdes %s: Could not parse symbol file symversion= WARNING: Symbol version parse error on refdes %s: Could not parse symbol file symversion=%s WARNING: using a string for 'always-promote-attributes' is deprecated. Use a list of strings instead component missing pinseq= attribute gEDA Circuit SchematicgEDA Gsch2pcb ProjectgEDA Schematic SymbolgEDA circuit schematicgEDA gsch2pcb projectgEDA schematic symbolhierarchy loop detected while visiting page: "%s" o_save_objects: object %p has unknown type '%c' s_page_delete: Can't get the real filename of %s.s_page_delete: Unable to delete backup file %s.~A is not a valid attribute: invalid string '~A'.Project-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-11-15 09:55+0100 Last-Translator: Bert Timmerman Language-Team: gEDA developers Language: nl MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) X-Poedit-Country: NETHERLANDS X-Poedit-Language: Dutch GROTE VERSIE VERANDERING (bestand %.3f, bedoeld %.3f, %s)! Kleine versie verandering (bestand %.3f, bedoeld %.3f)! Traceren: Voer gschem uit en corrigeer de situatie. WAARSCHUWING: een autosave reserve bestand gevonden: %s. %s: %sProbeerde attribuut [%s] aan meer dan een object toe te voegen Probeerde een niet text item toe te voegen als een attribuut! Base64 decodering faalde.Kan de werkelijke bestandsnaam van %s: %s niet krijgenKan reservekopie niet opslaan: %s.Kan scheme bibliotheek niet toevoegen [%s]: callbacks moeten afsluitingen zijn Kan bibliotheek niet toevoegen [%s]: zowel 'list' en 'get' opdrachten moeten gespecificeerd zijn. Kan bibliotheek niet toevoegen: naam niet gespecificeerd Kan bestand %s niet vinden: %sKleuren index buiten bereikKleuren map invoer moet een twee-element lijst zijnKomponent [%s] is ingevoegd Komponent [%s] is succesvol uitgevoegd Komponent [%s] is niet in de komponenten bibliotheek gevonden Komponent niet gevonden: %sConfiguratie bestand is reeds ingelezenKan [%s] NIET opslaan Kan bestand: %s NIET opslaanKan reservekopie [%s] NIET op alleen-lezen instellen Kan vorige reservekopie [%s] NIET op lezen-schrijven instellen Kan opdracht [%s] niet uitvoeren voor afdrukken Kan geen [%s] vinden in welke BronBibliotheek dan ook! Kan komponent [%s] niet vinden, tijdens het uitvoegen. Komponent is nog steeds ingevoegd Kan [%s] niet openen voor afdrukken Geen goed slotdef=#:#,#,#... attribuut gevonden Geen slotdef=#:#,#,#... attribuut gevonden FOUT in s_hierarchy_traverse: schema niet gevonden: %s FOUT: %s FOUT: Een onbekende fout trad op tijdens het doorlopen van configuratie bestanden.FOUT: De %s log kan meer informatie bevatten. FOUT: o_picture_save: kan de afbeelding niet coderen. Fout tijdens het lezen van prolog bestand `%s' in f_print_header() Fout tijdens het schrijven van het postscript uitvoerbestand in f_print_header() Fout uitvoer was: %s Laden van afbeelding [%s] uit buffer faalde: %s Laden van afbeelding uit bestand %s faalde: %s. Laden van afbeelding uit [%s] faalde: %s Laden van afbeelding uit ingesloten data faalde [%s]: %s Laden van afbeelding uit bestand faalde [%s]: %s Laden van symbool gegevens [%s] uit bron [%s] faalde Laden van symbool uit bestand faalde [%s]: %s Openen van directory faalde [%s]: %s Faalde bij het ontleden van een boog objectFaalde bij het ontleden van een rechthoek objectFaalde bij het ontleden van een bus objectFaalde bij het ontleden van een cirkel objectFaalde bij het ontleden van een complex objectFaalde bij het ontleden van een lijn objectFaalde bij het ontleden van een net objectFaalde bij het ontleden van een pad objectFaalde bij het ontleden van een afbeelding definitieFaalde bij het ontleden van een pin objectFaalde bij het ontleden van een tekst objectDoorzoeken van bibliotheek [%s] faalde: Scheme functie retourneerde non-list Status niet gelukt [%s]: %sVal terug op het laden van bestand. Afbeelding is nog steeds uitgevoegd. Val terug op het laden van bestand. Afbeelding uitgevoegd. Bestand %s is alleen-lezen[%s] gevonden Een komponent met een ongeldige spiegel vlag gevonden [ %c %d %d %d %d %d %s ] Een komponent met een ongeldige rotatie gevonden [ %c %d %d %d %d %d %s ] Afbeelding met een verkeerd 'ingevoegde' waarde gevonden: %d. Afbeelding met een verkeerde 'gespiegelde' parameter gevonden: %d. Pen die geen whichone veld ingesteld heeft gevonden. Verifieer en corigeer handmatig. Bus met een lengte van nul gevonden [ %c %d %d %d %d %d ] Lijn met een lengte van nul gevonden [ %c %d %d %d %d %d ] Net met een lengte van nul gevonden [ %c %d %d %d %d %d ] Een cirkel met een radius van nul gevonden [ %c %d %d %d %d ] Boog met een straal van nul gevonden [ %c %d, %d, %d, %d, %d, %d ] Tekst string met een afmeting van nul gevonden [ %c %d %d %d %d %d %d %d %d ] Rechthoek met een breedte/hoogte van nul gevonden [ %c %d %d %d %d %d ] Afbeelding met een breedte/hoogte van nul gevonden [ %c %d %d %d %d ] Vond een afbeelding zonder bestandsnaam.Ongeldige bus ripper richting gevonden [ %s ] Ongeldige kleur [ %s ] gevonden Pen met een ongeldige whichend gevonden (instellen op nul): %d Niet ondersteunde afbeelding hoek [ %d ] gevonden Niet ondersteunde tekst uitlijning gevonden [ %c %d %d %d %d %d %d %d %d ] Niet ondersteunde teksthoek gevonden [ %c %d %d %d %d %d %d %d %d ] Geef het afdrukken op Gschem maakt gewoonlijk automatisch reservekopieen, en deze situatie komt voor wanneer er een crash is of wanneer er een abrupte gedwongen beeindiging was. Ik kan niet raden of het nieuwer is, je moet het dus handmatig doen. Goed slotdef syntax: ontbreekt ":". Index in kleuren map invoer moet een integer zijnOngeldige complex hoek ~A. Moet 0, 90, 180, of 270 graden zijnOngeldige opvul stijl ~A.Ongeldige lengte gespecificeerd, ingesteld op 100 Ongeldig pad element type ~A.Ongeldige afbeelding hoek ~A. Moet 0, 90, 180, of 270 graden zijnOngeldig pen type ~A, moet een 'net of 'bus zijnOngeldige ruimte gespecificeerd, ingesteld op 100 Ongeldige slag cap stijl ~A.Ongeldige slag streep stijl ~A.Ongeldige tekst uitlijning ~A.Ongeldige tekst hoek ~A. moet 0, 90, 180, of 270 graden zijnOngeldige tekst naam/waarde zichtbaarheid ~A.Bibliotheek opdracht faalde [%s] Bibliotheek opdracht faalde [%s]: %s Bibliotheek opdracht faalde [%s]: Niet opgevangen signaal %i. Bibliotheeknaam [%s] is al in gebruik. Gebruik nu [%s]. Ontbrekende hoek parameter voor opvul stijl ~A.Ontbrekende streeplengte parameter voor streep sijl ~A.Ontbrekende punt/streep ruimte parameter voor streep stijl ~A.Ontbrekende tweede hoek parameter voor opvul stijl ~A.Ontbrekende tweede ruimte parameter voor opvul stijl ~A.Ontbrekende ruimte parameter voor opvul stijl ~A.Ontbrekende slag breedte parameter voor opvul stijl ~A.Meer dan een komponent gevonden met de naam [%s] Niet string symboolnaam tijdens het doorzoeken van de bibliotheek [%s] Cirkels met een radius van nul zijn niet toegestaan Object ~A heeft attributenObject ~A heeft een slecht type '~A'Object ~A heeft een ongeldige opvul stijl ~AObject ~A heeft een ongeldig pen type.Object ~A heeft een ongeldige slag cap stijl ~AObject ~A heeft een ongeldige slag streep stijl ~AObject ~A is reeds bevestigd als een attribuutObject ~A is reeds bevestigd aan ietsObject ~A is bevestigd als een attribuutObject ~A is bevestigd aan een complex of een andere paginaObject ~A is bevestigd aan een andere complexObject ~A is bevestigd aan een paginaObject ~A is attribuut van een fout objectObject ~A is niet opgenomen in een pagina.Object ~A is geen deel van een paginaObjecten ~A en ~A zijn geen onderdeel van dezelfde pagina en/of complex objectOntleedfout: ~sLees configuratie van [%s] Pad object ~A heeft een ongeldige element type ~A bij index ~AAfbeelding %p heeft een ongeldige hoek %i Afbeelding [%s] is ingevoegd Afbeelding [%s] is uitgevoegd Afbeelding [%s] heeft geen beeldinformatie. Afbeelding is nog steeds ingevoegd. Lees een oud formaat sym/sch bestand! Voer g[sym|sch]update uit op: [%s] Lees onzin in [%s] : >> %s<< Lees een onverwacht toegevoegd symbool start merkteken in [%s] : >> %s<< Lees een onverwacht ingesloten symbool einde teken in [%s] : >> %s<< Lees een onverwacht ingesloten symbool start teken in [%s] : >> %s<< Neutrale richting ingesteld (geen richting) [%s] opgeslagen Uitlijning op LINKS_ONDER ingesteld Hoek op 0 ingesteld Stel de kleur in op standaard kleur Invoegen op 0 ingesteld Spiegelen op 0 ingesteld Spiegelen op 0 ingesteld Radius op 0 ingesteld Tekst object ~A heeft een ongeldige tekst uitlijning ~ATekst object ~A heeft een ongeldige tekst attribuut zichtbaarheid ~ATekst object ~A heeft een ongeldige zichtbaarheid ~ADe reservekopie is nieuwer dan het schema, het lijkt erop dat je deze zou moeten laden in plaats van het orginele bestand. Er zijn geen schema's boven de huidige! Te veel UTF-8 karakters, kan niet afdrukken Probeerde een niet tekst item toe te voegen als een attribuutKan geen tijd van de dag krijgen in f_print_header() Kan het prolog bestand `%s' niet openen tijdens lezen in f_print_header() Kan configuratie niet uitlezen van [%s]: %sOnverwacht einde-bestand na %d lijnenOnverwacht einde-bestand in attribuutlijstOnverwacht einde-bestand tijdens het lezen van een padWaarde in kleuren map invoer moet een #f of een string zijnWAARSCHUWING: Symbool versie fout bij refdes %s (%s): Symbool in bibliotheek is nieuwer dan bedoelde symbool WAARSCHUWING: Symbool versie afwijking bij refdes %s: bedoeld symbool is nieuwer dan het symbool in de bibliotheek WAARSCHUWING: Symbool versie afwijking bij refdes %s: symversion=%s bijgevoegd aan bedoelde symbool, maar geen symversion= in het symbool bestand WAARSCHUWING: Symbool versie zoek fout bij refdes %s: Kan bijgevoegd symboolbestand niet doorzoeken symversion=%s WAARSCHUWING: Symbool versie zoek fout bij refdes %s: Kan symboolbestand niet doorzoeken symversion= WAARSCHUWING: Symbool versie zoek fout bij refdes %s: Kan symboolbestand niet doorzoeken symversion=%s WAARSCHUWING: gebruik van een string voor 'always-promote-attributes' is vervallen, gebruik hiervoor in de plaats een lijst van strings component mist een pinseq- attribuut gEDA Schakeling SchemagEDA Gsch2pcb ProjectgEDA Schema SymboolgEDA schakeling schemagEDA gsch2pcb projectgEDA schema symboolhierarchie lus gedetecteerd tijdens het bezoeken van pagina: "%s" o_save_objects: object %p heeft een onbekend type '%c' s_page_delete: Kan de echte bestandsnaam van %s niet krijgen.s_page_delete: Niet mogelijk om reservekopie %s te verwijderen.~A is een ongeldige attribuut: ongeldige rij '~A'.geda-gaf-1.8.2/libgeda/po/ru.po0000664000175000017500000011747512220655642013116 00000000000000# Russian translation for libgeda # Copyright (C) 2009 Sergey Alyoshin # This file is distributed under the same license as the libgeda package. # Sergey Alyoshin , 2009. # Vladimir Zhbanov , 2011. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-01-24 14:53+0400\n" "Last-Translator: Vladimir Zhbanov \n" "Language-Team: gEDA developers \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2010-02-14 12:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" # Примечания: # # "Could not", "Could NOT", "Couldn't", "Can't", "Unable to" -- синонимы. # Всё это (и в некоторых случаях "Failed") для единообразия переводится как # "не удалось" # # Если в выводе ошибки используется название функции, желательно выводить # ошибку в следующем виде: # имя_функции: описание ошибки # # Имена файлов и значения переменных (опять же для единообразия) выводятся в # квадратных скобках, например, [%s]. При этом исключаются пробелы вокруг # значения, то есть вместо [ %s ] используется [%s]. #: libgeda/data/libgeda.xml.in:3 msgid "gEDA circuit schematic" msgstr "Принципиальная схема gEDA" #: libgeda/data/libgeda.xml.in:4 msgid "gEDA schematic symbol" msgstr "Символ схемы gEDA" #: libgeda/data/libgeda.xml.in:5 msgid "gEDA gsch2pcb project" msgstr "Проект gsch2pcb gEDA" #: libgeda/data/x-geda-gsch2pcb-project.desktop.in:3 msgid "gEDA Gsch2pcb Project" msgstr "Проект gsch2pcb gEDA" #: libgeda/data/x-geda-schematic.desktop.in:3 msgid "gEDA Circuit Schematic" msgstr "Принципиальная схема gEDA" #: libgeda/data/x-geda-symbol.desktop.in:3 msgid "gEDA Schematic Symbol" msgstr "Символ схемы gEDA" #: libgeda/src/a_basic.c:182 #, c-format msgid "o_save_objects: object %p has unknown type '%c'\n" msgstr "o_save_objects: объект %p неизвестного типа '%c'\n" #: libgeda/src/a_basic.c:238 libgeda/src/f_basic.c:384 #, c-format msgid "File %s is read-only" msgstr "Файл %s только для чтения" #: libgeda/src/a_basic.c:423 #, c-format msgid "" "Read unexpected attach symbol start marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" "Неуместный маркер начала списка прикреплённых атрибутов в [%s]:\n" ">>\n" "%s<<\n" #: libgeda/src/a_basic.c:440 #, c-format msgid "" "Read unexpected embedded symbol start marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" "Неуместный маркер начала внедрённого символа в [%s]:\n" ">>\n" "%s<<\n" #: libgeda/src/a_basic.c:471 #, c-format msgid "" "Read unexpected embedded symbol end marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" "Неуместный маркер конца внедрённого символа в [%s]:\n" ">>\n" "%s<<\n" #: libgeda/src/a_basic.c:506 #, c-format msgid "" "Read an old format sym/sch file!\n" "Please run g[sym|sch]update on:\n" "[%s]\n" msgstr "" "Обнаружен файл символа или схемы в старом формате!\n" "Выполните g[sym|sch]update для:\n" "[%s]\n" #: libgeda/src/a_basic.c:512 #, c-format msgid "" "Read garbage in [%s] :\n" ">>\n" "%s<<\n" msgstr "" "Некорректные данные в [%s]:\n" ">>\n" "%s<<\n" #: libgeda/src/f_basic.c:123 libgeda/src/f_basic.c:136 #, c-format msgid "Failed to stat [%s]: %s" msgstr "Ошибка чтения статуса [%s]: %s" #: libgeda/src/f_basic.c:221 #, c-format msgid "Cannot find file %s: %s" msgstr "Файл %s не найден: %s" #: libgeda/src/f_basic.c:269 #, c-format msgid "" "\n" "WARNING: Found an autosave backup file:\n" " %s.\n" "\n" msgstr "" "\n" "ВНИМАНИЕ: обнаружен файл автоматической резервной копии:\n" " %s.\n" "\n" #: libgeda/src/f_basic.c:271 msgid "I could not guess if it is newer, so you have to do it manually.\n" msgstr "Не удалось определить новее ли он, решите это сами.\n" #: libgeda/src/f_basic.c:273 msgid "" "The backup copy is newer than the schematic, so it seems you should load it " "instead of the original file.\n" msgstr "" "Резервная копия новее схемы, поэтому, видимо, следует загрузить её вместо " "оригинального файла.\n" #: libgeda/src/f_basic.c:275 msgid "" "Gschem usually makes backup copies automatically, and this situation happens " "when it crashed or it was forced to exit abruptly.\n" msgstr "" "Обычно gschem автоматически создаёт резервные копии, и такая ситуация может " "быть результатом крушения или внезапного завершения программы.\n" #: libgeda/src/f_basic.c:278 msgid "" "\n" "Run gschem and correct the situation.\n" "\n" msgstr "" "\n" "Запустите gschem и устраните проблему.\n" "\n" # Эта функция пытается найти для указанного имени реальный файл (не являющийся # ссылкой). #: libgeda/src/f_basic.c:374 #, c-format msgid "Can't get the real filename of %s: %s" msgstr "Не удалось определить имя реального файла для %s: %s" #: libgeda/src/f_basic.c:405 #, c-format msgid "Could NOT set previous backup file [%s] read-write\n" msgstr "" "Не удалось установить режим чтения-записи для файла предыдущей резервной " "копии [%s]\n" #: libgeda/src/f_basic.c:411 #, c-format msgid "Can't save backup file: %s." msgstr "Не удалось сохранить файл резервной копии: %s." #: libgeda/src/f_basic.c:421 #, c-format msgid "Could NOT set backup file [%s] readonly\n" msgstr "" "Не удалось установить режим доступа только на чтение для резервной копии " "файла [%s]\n" #: libgeda/src/f_basic.c:480 #, c-format msgid "Could NOT save file: %s" msgstr "Не удалось сохранить файл: %s" #: libgeda/src/f_basic.c:727 #, c-format msgid "%s: %s" msgstr "%s: %s" #: libgeda/src/f_print.c:123 msgid "Unable to get time of day in f_print_header()\n" msgstr "f_print_header: не удалось определить текущее время\n" #: libgeda/src/f_print.c:165 #, c-format msgid "Unable to open the prolog file `%s' for reading in f_print_header()\n" msgstr "f_print_header: не удалось открыть для чтения файл пролога [%s]\n" #: libgeda/src/f_print.c:182 #, c-format msgid "Error during reading of the prolog file `%s' in f_print_header()\n" msgstr "f_print_header: ошибка чтения файла пролога [%s]\n" #: libgeda/src/f_print.c:188 msgid "" "Error during writing of the output postscript file in f_print_header()\n" msgstr "f_print_header: ошибка записи postscript-файла\n" #: libgeda/src/f_print.c:202 msgid "Giving up on printing\n" msgstr "Прекращение печати\n" #: libgeda/src/f_print.c:375 #, c-format msgid "Could not open [%s] for printing\n" msgstr "Не удалось открыть [%s] для печати\n" #: libgeda/src/f_print.c:409 #, c-format msgid "Could not execute command [%s] for printing\n" msgstr "Не удалось выполнить команду печати [%s]\n" # В данном случае ошибка означает, что количество UTF-символов более 128, и # она выводится всякий раз, когда найден новый лишний символ #: libgeda/src/f_print.c:682 msgid "Too many UTF-8 characters, cannot print\n" msgstr "Слишком много символов UTF-8, некоторые напечатаны не будут\n" #: libgeda/src/g_basic.c:264 msgid "" "\n" "Backtrace:\n" msgstr "" "\n" "Последовательность вызовов подпрограмм:\n" #: libgeda/src/g_rc.c:233 msgid "Config file already loaded" msgstr "Файл настроек уже загружен" #: libgeda/src/g_rc.c:268 #, c-format msgid "Parsed config from [%s]\n" msgstr "Анализ файла настроек [%s]\n" #: libgeda/src/g_rc.c:281 #, c-format msgid "Unable to parse config from [%s]: %s" msgstr "Ошибка при анализе файла настроек [%s]: %s" #: libgeda/src/g_rc.c:298 msgid "ERROR: An unknown error occurred while parsing configuration files." msgstr "ОШИБКА: неизвестная ошибка при анализе файлов настроек" #: libgeda/src/g_rc.c:310 libgeda/src/g_rc.c:311 #, c-format msgid "ERROR: %s\n" msgstr "ОШИБКА: %s\n" #: libgeda/src/g_rc.c:317 #, c-format msgid "ERROR: The %s log may contain more information.\n" msgstr "ОШИБКА: в файле журнала %s может быть больше информации\n" #: libgeda/src/g_rc.c:978 msgid "" "WARNING: using a string for 'always-promote-attributes' is deprecated. Use a " "list of strings instead\n" msgstr "" "ВНИМАНИЕ: для 'always-promote-attributes' не рекомендуется использовать " "строку. Следует использовать список строк\n" #: libgeda/src/o_arc_basic.c:256 libgeda/src/o_arc_basic.c:269 msgid "Failed to parse arc object" msgstr "Ошибка в определении дуги" #: libgeda/src/o_arc_basic.c:276 #, c-format msgid "Found a zero radius arc [ %c %d, %d, %d, %d, %d, %d ]\n" msgstr "Дуга с нулевым радиусом [%c %d, %d, %d, %d, %d, %d]\n" #: libgeda/src/o_arc_basic.c:282 libgeda/src/o_box_basic.c:327 #: libgeda/src/o_bus_basic.c:182 libgeda/src/o_circle_basic.c:289 #: libgeda/src/o_line_basic.c:264 libgeda/src/o_net_basic.c:171 #: libgeda/src/o_path_basic.c:189 libgeda/src/o_pin_basic.c:183 #: libgeda/src/o_text_basic.c:425 #, c-format msgid "Found an invalid color [ %s ]\n" msgstr "Недопустимое значение цветового индекса [%s]\n" #: libgeda/src/o_arc_basic.c:283 libgeda/src/o_box_basic.c:328 #: libgeda/src/o_bus_basic.c:183 libgeda/src/o_circle_basic.c:290 #: libgeda/src/o_line_basic.c:265 libgeda/src/o_net_basic.c:172 #: libgeda/src/o_path_basic.c:190 libgeda/src/o_pin_basic.c:184 #: libgeda/src/o_text_basic.c:426 msgid "Setting color to default color\n" msgstr "Установка цвета по умолчанию\n" #: libgeda/src/o_attrib.c:123 msgid "Attempt to attach non text item as an attribute!\n" msgstr "Попытка прикрепить не текстовый элемент как атрибут!\n" #: libgeda/src/o_attrib.c:128 #, c-format msgid "Attempt to attach attribute [%s] to more than one object\n" msgstr "Попытка прикрепить атрибут [%s] к более чем одному объекту\n" #: libgeda/src/o_attrib.c:341 msgid "Tried to attach a non-text item as an attribute" msgstr "Попытка прикрепить не текстовый элемент как атрибут!" #: libgeda/src/o_attrib.c:348 msgid "Unexpected end-of-file in attribute list" msgstr "Неожиданный конец файла при обработке списка атрибутов" # В функции o_set_line_options() задаются свойства линий разных объектов #: libgeda/src/o_basic.c:196 libgeda/src/o_basic.c:208 msgid "Invalid space specified, setting to 100\n" msgstr "Недопустимое значение интервала между штрихами, установка в 100\n" #: libgeda/src/o_basic.c:204 msgid "Invalid length specified, setting to 100\n" msgstr "Недопустимое значение длины штриха, установка в 100\n" #: libgeda/src/o_box_basic.c:287 libgeda/src/o_box_basic.c:316 msgid "Failed to parse box object" msgstr "Ошибка в определении прямоугольника" #: libgeda/src/o_box_basic.c:322 #, c-format msgid "Found a zero width/height box [ %c %d %d %d %d %d ]\n" msgstr "Прямоугольник нулевой ширины или высоты [%c %d %d %d %d %d]\n" #: libgeda/src/o_bus_basic.c:160 libgeda/src/o_bus_basic.c:167 msgid "Failed to parse bus object" msgstr "Ошибка в определении шины" #: libgeda/src/o_bus_basic.c:173 #, c-format msgid "Found a zero length bus [ %c %d %d %d %d %d ]\n" msgstr "Шина нулевой длины [%c %d %d %d %d %d]\n" #: libgeda/src/o_bus_basic.c:188 #, c-format msgid "Found an invalid bus ripper direction [ %s ]\n" msgstr "" "Недопустимое значение поля 'ripperdir' (направление ответвления от шины) " "[%s]\n" #: libgeda/src/o_bus_basic.c:189 msgid "Resetting direction to neutral (no direction)\n" msgstr "Сброс направления в нейтральное значение (направление не задано)\n" #: libgeda/src/o_circle_basic.c:193 msgid "Null radius circles are not allowed\n" msgstr "Окружности с нулевым радиусом недопустимы\n" #: libgeda/src/o_circle_basic.c:246 libgeda/src/o_circle_basic.c:275 msgid "Failed to parse circle object" msgstr "Ошибка в определении окружности" #: libgeda/src/o_circle_basic.c:282 #, c-format msgid "Found a zero or negative radius circle [ %c %d %d %d %d ]\n" msgstr "Окружность с нулевым или отрицательным радиусом [%c %d %d %d %d]\n" #: libgeda/src/o_circle_basic.c:284 msgid "Setting radius to 0\n" msgstr "Установка радиуса в 0\n" #: libgeda/src/o_complex_basic.c:422 #, c-format msgid "" "Component not found:\n" " %s" msgstr "" "Не найден компонент:\n" " %s" #: libgeda/src/o_complex_basic.c:654 msgid "Failed to parse complex object" msgstr "Ошибка в определении составного объекта" #: libgeda/src/o_complex_basic.c:667 #, c-format msgid "Found a component with an invalid rotation [ %c %d %d %d %d %d %s ]\n" msgstr "" "Недопустимое значение угла поворота в определении компонента [%c %d %d %d %d " "%d %s]\n" #: libgeda/src/o_complex_basic.c:668 libgeda/src/o_picture.c:105 #: libgeda/src/o_text_basic.c:397 msgid "Setting angle to 0\n" msgstr "Установка угла поворота в 0\n" #: libgeda/src/o_complex_basic.c:680 #, c-format msgid "" "Found a component with an invalid mirror flag [ %c %d %d %d %d %d %s ]\n" msgstr "" "Недопустимое значение поля 'mirror' в определении компонента [%c %d %d %d %d " "%d %s]\n" #: libgeda/src/o_complex_basic.c:681 msgid "Setting mirror to 0\n" msgstr "Установка 'mirror' в 0\n" #: libgeda/src/o_complex_basic.c:994 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse symbol file symversion=%s\n" msgstr "" "ВНИМАНИЕ: ошибка при анализе версии символа с поз. обозначением %s:\n" "\tНекорректный атрибут symversion=%s в файле символа\n" #: libgeda/src/o_complex_basic.c:998 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse symbol file symversion=\n" msgstr "" "ВНИМАНИЕ: ошибка при анализе версии символа с поз. обозначением %s:\n" "\tНекорректный атрибут symversion= в файле символа\n" #: libgeda/src/o_complex_basic.c:1014 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse attached symversion=%s\n" msgstr "" "ВНИМАНИЕ: ошибка при анализе версии символа с поз. обозначением %s:\n" "\tПрикреплён некорректный атрибут symversion=%s\n" #: libgeda/src/o_complex_basic.c:1039 #, c-format msgid "" "WARNING: Symbol version oddity on refdes %s:\n" "\tsymversion=%s attached to instantiated symbol, but no symversion= inside " "symbol file\n" msgstr "" "ВНИМАНИЕ: некорректное задание версии для символа с поз. обозначением %s:\n" "\tК экземпляру символа прикреплён атрибут symversion=%s, но в файле символа " "symversion= отсутствует\n" #: libgeda/src/o_complex_basic.c:1053 #, c-format msgid "" "WARNING: Symbol version mismatch on refdes %s (%s):\n" "\tSymbol in library is newer than instantiated symbol\n" msgstr "" "ВНИМАНИЕ: неподходящая версия для символа с поз. обозначением %s (%s):\n" "\tСимвол в библиотеке новее экземпляра в схеме\n" # Под file здесь имеется в виду символ. Последняя переменная -- позиционное # обозначение. Думаю, не стоит это специально отмечать. #: libgeda/src/o_complex_basic.c:1081 #, c-format msgid "\tMAJOR VERSION CHANGE (file %.3f, instantiated %.3f, %s)!\n" msgstr "" "\tИЗМЕНЕНИЕ СТАРШЕГО НОМЕРА ВЕРСИИ\t(версия символа %.3f, версия экземпляра " "%.3f, %s)!\n" #: libgeda/src/o_complex_basic.c:1099 #, c-format msgid "\tMinor version change (file %.3f, instantiated %.3f)\n" msgstr "" "\tИзменение младшего номера версии\t(версия символа %.3f, версия экземпляра " "%.3f)\n" #: libgeda/src/o_complex_basic.c:1110 #, c-format msgid "" "WARNING: Symbol version oddity on refdes %s:\n" "\tInstantiated symbol is newer than symbol in library\n" msgstr "" "ВНИМАНИЕ: некорректное задание версии для символа с поз. обозначением %s:\n" "\tЭкземпляр в схеме новее символа в библиотеке\n" #: libgeda/src/o_embed.c:58 #, c-format msgid "Component [%s] has been embedded\n" msgstr "Компонент [%s] внедрён\n" #: libgeda/src/o_embed.c:102 #, c-format msgid "" "Could not find component [%s], while trying to unembed. Component is still " "embedded\n" msgstr "" "Не удалось найти библиотечный символ для исключаемого компонента [%s]. " "Компонент останется внедрённым\n" #: libgeda/src/o_embed.c:110 #, c-format msgid "Component [%s] has been successfully unembedded\n" msgstr "Компонент [%s] успешно исключён\n" #: libgeda/src/o_line_basic.c:229 libgeda/src/o_line_basic.c:247 msgid "Failed to parse line object" msgstr "Ошибка в определении линии" #: libgeda/src/o_line_basic.c:259 #, c-format msgid "Found a zero length line [ %c %d %d %d %d %d ]\n" msgstr "Линия нулевой длины [%c %d %d %d %d %d]\n" #: libgeda/src/o_net_basic.c:156 msgid "Failed to parse net object" msgstr "Ошибка в определении соединения" #: libgeda/src/o_net_basic.c:161 #, c-format msgid "Found a zero length net [ %c %d %d %d %d %d ]\n" msgstr "Соединение нулевой длины [%c %d %d %d %d %d]\n" #: libgeda/src/o_path_basic.c:181 msgid "Failed to parse path object" msgstr "Ошибка в определении контура" #: libgeda/src/o_path_basic.c:207 msgid "Unexpected end-of-file when reading path" msgstr "Неожиданный конец файла при обработке контура" #: libgeda/src/o_picture.c:72 msgid "Failed to parse picture definition" msgstr "Ошибка в определении изображения" #: libgeda/src/o_picture.c:77 #, c-format msgid "Found a zero width/height picture [ %c %d %d %d %d ]\n" msgstr "Изображение нулевой ширины или высоты [%c %d %d %d %d]\n" #: libgeda/src/o_picture.c:82 #, c-format msgid "Found a picture with a wrong 'mirrored' parameter: %d.\n" msgstr "Недопустимое значение поля 'mirrored' в определении изображения: %d.\n" #: libgeda/src/o_picture.c:84 msgid "Setting mirrored to 0\n" msgstr "Установка 'mirrored' в 0\n" #: libgeda/src/o_picture.c:89 #, c-format msgid "Found a picture with a wrong 'embedded' parameter: %d.\n" msgstr "Недопустимое значение поля 'embedded' в определении изображения: %d.\n" #: libgeda/src/o_picture.c:91 msgid "Setting embedded to 0\n" msgstr "Установка 'embedded' в 0\n" #: libgeda/src/o_picture.c:104 #, c-format msgid "Found an unsupported picture angle [ %d ]\n" msgstr "Неподдерживаемое значение угла поворота изображения [%d]\n" #: libgeda/src/o_picture.c:116 msgid "Found an image with no filename." msgstr "Обнаружено изображение без имени файла" #: libgeda/src/o_picture.c:147 #, c-format msgid "Failed to load image from embedded data [%s]: %s\n" msgstr "Не удалось загрузить изображение из внедрённых данных [%s]: %s\n" #: libgeda/src/o_picture.c:148 msgid "Base64 decoding failed." msgstr "Ошибка расшифровки данных в формате base64." #: libgeda/src/o_picture.c:149 msgid "Falling back to file loading. Picture unembedded.\n" msgstr "Возврат к загрузке из файла. Изображение исключено.\n" #: libgeda/src/o_picture.c:208 msgid "ERROR: o_picture_save: unable to encode the picture.\n" msgstr "ОШИБКА: o_picture_save: невозможно закодировать изображение.\n" # Ошибка, если данные изображения уже есть во внутреннем буфере #: libgeda/src/o_picture.c:308 #, c-format msgid "Failed to load buffer image [%s]: %s\n" msgstr "Не удалось загрузить изображение [%s] из буфера: %s\n" #: libgeda/src/o_picture.c:321 #, c-format msgid "Failed to load image from [%s]: %s\n" msgstr "Не удалось загрузить изображение из файла [%s]: %s\n" #: libgeda/src/o_picture.c:427 #, c-format msgid "Picture %p has invalid angle %i\n" msgstr "Недопустимое значение угла поворота изображения [%p]: %i\n" # Указатель на данные возвращает NULL #: libgeda/src/o_picture.c:957 #, c-format msgid "Picture [%s] has no image data.\n" msgstr "Файл [%s] не содержит данных изображения.\n" #: libgeda/src/o_picture.c:958 msgid "Falling back to file loading. Picture is still unembedded.\n" msgstr "Возврат к загрузке из файла. Изображение всё ещё исключено.\n" #: libgeda/src/o_picture.c:966 #, c-format msgid "Picture [%s] has been embedded\n" msgstr "Изображение [%s] внедрено\n" #: libgeda/src/o_picture.c:990 #, c-format msgid "Failed to load image from file [%s]: %s\n" msgstr "Не удалось загрузить изображение из файла [%s]: %s\n" #: libgeda/src/o_picture.c:992 msgid "Picture is still embedded.\n" msgstr "Изображение всё ещё внедрено.\n" #: libgeda/src/o_picture.c:1000 #, c-format msgid "Picture [%s] has been unembedded\n" msgstr "Изображение [%s] исключено\n" #: libgeda/src/o_picture.c:1236 #, c-format msgid "Failed to load fallback image %s: %s.\n" msgstr "Не удалось загрузить копию изображения для отката [%s]: %s\n" #: libgeda/src/o_pin_basic.c:160 libgeda/src/o_pin_basic.c:168 msgid "Failed to parse pin object" msgstr "Ошибка в определении вывода" # В оригинальном тексте неправильно используется "whichone" вместо "whichend" #: libgeda/src/o_pin_basic.c:174 msgid "" "Found a pin which did not have the whichone field set.\n" "Verify and correct manually.\n" msgstr "" "Вывод с неустановленным полем 'whichend'.\n" "Проверьте и исправьте вручную.\n" #: libgeda/src/o_pin_basic.c:177 #, c-format msgid "Found an invalid whichend on a pin (reseting to zero): %d\n" msgstr "" "Недопустимое значение поля 'whichend' в определении вывода (сброс в 0): %d\n" #: libgeda/src/o_text_basic.c:356 libgeda/src/o_text_basic.c:366 #: libgeda/src/o_text_basic.c:376 msgid "Failed to parse text object" msgstr "Ошибка в определении текстового объекта" #: libgeda/src/o_text_basic.c:383 #, c-format msgid "Found a zero size text string [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "Текстовая строка нулевого размера [%c %d %d %d %d %d %d %d %d]\n" #: libgeda/src/o_text_basic.c:395 #, c-format msgid "Found an unsupported text angle [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" "Неподдерживаемое значение угла поворота в определении текстового объекта [%c " "%d %d %d %d %d %d %d %d]\n" #: libgeda/src/o_text_basic.c:417 #, c-format msgid "Found an unsupported text alignment [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" "Неподдерживаемое значение поля 'alignment' в определении текстового объекта " "[%c %d %d %d %d %d %d %d %d]\n" #: libgeda/src/o_text_basic.c:419 msgid "Setting alignment to LOWER_LEFT\n" msgstr "Установка выравнивания по левому нижнему углу\n" #: libgeda/src/o_text_basic.c:440 #, c-format msgid "Unexpected end-of-file after %d lines" msgstr "Неожиданный конец файла после %d строк" #: libgeda/src/s_clib.c:465 #, c-format msgid "Library command failed [%s]: %s\n" msgstr "Ошибка при выполнении команды над библиотекой [%s]: %s\n" #: libgeda/src/s_clib.c:470 #, c-format msgid "Library command failed [%s]: Uncaught signal %i.\n" msgstr "Сбой команды создания библиотеки [%s]: необработанный сигнал %i.\n" #: libgeda/src/s_clib.c:474 #, c-format msgid "Library command failed [%s]\n" msgstr "Сбой команды создания библиотеки [%s]\n" #: libgeda/src/s_clib.c:475 #, c-format msgid "" "Error output was:\n" "%s\n" msgstr "" "Вывод ошибки:\n" "%s\n" #: libgeda/src/s_clib.c:561 #, c-format msgid "Library name [%s] already in use. Using [%s].\n" msgstr "Библиотека с именем [%s] уже имеется. Используется [%s].\n" #: libgeda/src/s_clib.c:598 #, c-format msgid "Failed to open directory [%s]: %s\n" msgstr "Не удалось открыть каталог [%s]: %s\n" #: libgeda/src/s_clib.c:734 #, c-format msgid "Failed to scan library [%s]: Scheme function returned non-list\n" msgstr "" "Ошибка сканирования библиотеки [%s]: функция Scheme возвратила не список\n" #: libgeda/src/s_clib.c:742 #, c-format msgid "Non-string symbol name while scanning library [%s]\n" msgstr "" "При сканировании библиотеки обнаружено имя символа, не являющееся строкой " "[%s]\n" #: libgeda/src/s_clib.c:901 libgeda/src/s_clib.c:948 msgid "Cannot add library: name not specified\n" msgstr "Невозможно добавить библиотеку: не указано имя\n" #: libgeda/src/s_clib.c:908 #, c-format msgid "" "Cannot add library [%s]: both 'list' and 'get' commands must be specified.\n" msgstr "" "Невозможно добавить библиотеку [%s]: должны быть указаны обе команды 'list' " "и 'get'.\n" #: libgeda/src/s_clib.c:956 #, c-format msgid "Cannot add Scheme-library [%s]: callbacks must be closures\n" msgstr "" "Невозможно добавить библиотеку Scheme [%s]: функции обратного вызова должны " "быть замкнутыми выражениями\n" #: libgeda/src/s_clib.c:1083 #, c-format msgid "Failed to load symbol from file [%s]: %s\n" msgstr "Ошибка загрузки символа из файла [%s]: %s\n" #: libgeda/src/s_clib.c:1143 #, c-format msgid "Failed to load symbol data [%s] from source [%s]\n" msgstr "Ошибка загрузки данных символа [%s] из источника [%s]\n" #: libgeda/src/s_clib.c:1385 #, c-format msgid "Component [%s] was not found in the component library\n" msgstr "[%s] не найден в библиотеке компонентов\n" #: libgeda/src/s_clib.c:1391 #, c-format msgid "More than one component found with name [%s]\n" msgstr "Обнаружено несколько компонентов с именем [%s]\n" #: libgeda/src/s_color.c:207 msgid "Color index out of range" msgstr "Цветовой индекс вне диапазона" #: libgeda/src/s_color.c:262 msgid "Color map entry must be a two-element list" msgstr "Запись в таблице цветов должна быть двухэлементным списком" #: libgeda/src/s_color.c:270 msgid "Index in color map entry must be an integer" msgstr "Индекс записи в таблице цветов должен быть целым числом" #: libgeda/src/s_color.c:296 msgid "Value in color map entry must be #f or a string" msgstr "Значение записи в таблице цветов должно быть #f или строкой" #: libgeda/src/s_hierarchy.c:94 #, c-format msgid "" "hierarchy loop detected while visiting page:\n" " \"%s\"\n" msgstr "" "Обнаружено зацикливание иерархии при переходе к странице:\n" " \"%s\"\n" #: libgeda/src/s_hierarchy.c:194 msgid "There are no schematics above the current one!\n" msgstr "Для текущей схемы нет схемы, вышестоящей по иерархии!\n" #: libgeda/src/s_hierarchy.c:274 #, c-format msgid "ERROR in s_hierarchy_traverse: schematic not found: %s\n" msgstr "ОШИБКА в s_hierarchy_traverse: не найдена схема %s\n" # Эта функция пытается найти для указанного имени реальный файл (не являющийся # ссылкой). #: libgeda/src/s_page.c:213 #, c-format msgid "s_page_delete: Can't get the real filename of %s." msgstr "s_page_delete: не удалось определить имя реального файла для %s." #: libgeda/src/s_page.c:224 #, c-format msgid "s_page_delete: Unable to delete backup file %s." msgstr "s_page_delete: не удалось удалить файл резервной копии %s." #: libgeda/src/s_page.c:499 #, c-format msgid "Saved [%s]\n" msgstr "Файл [%s] сохранён\n" #: libgeda/src/s_page.c:505 #, c-format msgid "Could NOT save [%s]\n" msgstr "Не удалось сохранить [%s]\n" # В этой функции ищется имя файла подсхемы в библиотеках источников данных #: libgeda/src/s_slib.c:171 #, c-format msgid "Found [%s]\n" msgstr "Найдена подсхема [%s]\n" #: libgeda/src/s_slib.c:181 #, c-format msgid "Could not find [%s] in any SourceLibrary\n" msgstr "Не удалось найти [%s] в библиотеках источников данных\n" #: libgeda/src/s_slot.c:162 msgid "Did not find slotdef=#:#,#,#... attribute\n" msgstr "Не удалось найти атрибут slotdef=#:#,#,#...\n" #: libgeda/src/s_slot.c:168 msgid "Improper slotdef syntax: missing \":\".\n" msgstr "Неверный синтаксис атрибута slotdef: отсутствует \":\".\n" #: libgeda/src/s_slot.c:183 msgid "Did not find proper slotdef=#:#,#,#... attribute\n" msgstr "Не удалось найти атрибут slotdef=#:#,#,#... в допустимом формате\n" #: libgeda/src/s_slot.c:213 msgid "component missing pinseq= attribute\n" msgstr "Отсутствует атрибут pinseq= для вывода компонента\n" #: libgeda/src/scheme_attrib.c:67 msgid "~A is not a valid attribute: invalid string '~A'." msgstr "~A не является допустимым атрибутом: недопустимая строка '~A'." #: libgeda/src/scheme_attrib.c:172 msgid "Objects ~A and ~A are not part of the same page and/or complex object" msgstr "" "Объекты ~A и ~A не являются частями одной схемы и (или) одного составного " "объекта" #: libgeda/src/scheme_attrib.c:179 libgeda/src/scheme_attrib.c:184 msgid "Object ~A is already attached as an attribute" msgstr "Объект ~A уже прикреплён как атрибут" #: libgeda/src/scheme_attrib.c:233 msgid "Object ~A is attribute of wrong object" msgstr "Объект ~A является атрибутом другого объекта" #: libgeda/src/scheme_complex.c:148 msgid "Invalid complex angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" "Недопустимый угол поворота составного объекта ~A. Должен быть 0, 90, 180 или " "270 градусов" #: libgeda/src/scheme_complex.c:265 libgeda/src/scheme_page.c:249 msgid "Object ~A is already attached to something" msgstr "Объект ~A уже к чему-то прикреплён" #: libgeda/src/scheme_complex.c:325 msgid "Object ~A is attached to a different complex" msgstr "Объект ~A прикреплён к другому составному объекту" #: libgeda/src/scheme_complex.c:332 msgid "Object ~A is attached to a page" msgstr "Объект ~A прикреплён к странице" #: libgeda/src/scheme_complex.c:339 libgeda/src/scheme_page.c:301 msgid "Object ~A is attached as an attribute" msgstr "Объект ~A прикреплён как атрибут" #: libgeda/src/scheme_complex.c:346 libgeda/src/scheme_page.c:308 msgid "Object ~A has attributes" msgstr "Объект ~A имеет собственные атрибуты" #: libgeda/src/scheme_object.c:232 msgid "Object ~A has bad type '~A'" msgstr "Недопустимый тип объекта ~A: '~A'" #: libgeda/src/scheme_object.c:346 msgid "Object ~A has invalid stroke cap style ~A" msgstr "Недопустимый стиль концов линий объекта ~A: ~A" # 'stroke' в данном случае означает линию, а не жест #: libgeda/src/scheme_object.c:359 msgid "Object ~A has invalid stroke dash style ~A" msgstr "Недопустимый тип линий для объекта ~A: ~A" #: libgeda/src/scheme_object.c:423 msgid "Invalid stroke cap style ~A." msgstr "Недопустимое значение поля 'capstyle' (стиль концов линии): ~A." #: libgeda/src/scheme_object.c:434 msgid "Invalid stroke dash style ~A." msgstr "Недопустимое значение поля 'dashstyle' (тип линии): ~A." #: libgeda/src/scheme_object.c:444 msgid "Missing dash length parameter for dash style ~A." msgstr "Отсутствует поле 'dashlength' (длина штриха): ~A." #: libgeda/src/scheme_object.c:454 msgid "Missing dot/dash space parameter for dash style ~A." msgstr "Отсутствует поле 'dashspace' (тип линии): ~A." #: libgeda/src/scheme_object.c:516 msgid "Object ~A has invalid fill style ~A" msgstr "Недопустимый тип заполнения объекта ~A: ~A" #: libgeda/src/scheme_object.c:565 msgid "Invalid fill style ~A." msgstr "Недопустимый тип заполнения ~A." #: libgeda/src/scheme_object.c:573 msgid "Missing second space parameter for fill style ~A." msgstr "Отсутствует параметр типа заполнения 'pitch2': ~A." #: libgeda/src/scheme_object.c:582 msgid "Missing second angle parameter for fill style ~A." msgstr "Отсутствует параметр типа заполнения 'angle2': ~A." #: libgeda/src/scheme_object.c:592 msgid "Missing stroke width parameter for fill style ~A." msgstr "Отсутствует параметр типа заполнения 'fillwidth': ~A." #: libgeda/src/scheme_object.c:601 msgid "Missing space parameter for fill style ~A." msgstr "Отсутствует параметр типа заполнения 'pitch1': ~A." #: libgeda/src/scheme_object.c:610 msgid "Missing angle parameter for fill style ~A." msgstr "Отсутствует параметр типа заполнения 'angle1': ~A." #: libgeda/src/scheme_object.c:909 msgid "Invalid pin type ~A, must be 'net or 'bus" msgstr "Недопустимый тип вывода ~A, должен быть 'net или 'bus" #: libgeda/src/scheme_object.c:952 msgid "Object ~A has invalid pin type." msgstr "Недопустимый тип вывода объекта ~A." #: libgeda/src/scheme_object.c:1347 msgid "Invalid text alignment ~A." msgstr "Недопустимое значение поля 'alignment' текстового объекта: ~A." #: libgeda/src/scheme_object.c:1363 msgid "Invalid text angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" "Недопустимое значение угла поворота текстового объекта ~A. Угол должен быть " "равен 0, 90, 180 или 270 градусов" #: libgeda/src/scheme_object.c:1382 msgid "Invalid text name/value visibility ~A." msgstr "Недопустимое значение поля 'show_name_value' текстового объекта: ~A." #: libgeda/src/scheme_object.c:1457 msgid "Text object ~A has invalid text alignment ~A" msgstr "Недопустимое значение поля 'alignment' текстового объекта ~A: ~A" #: libgeda/src/scheme_object.c:1466 msgid "Text object ~A has invalid visibility ~A" msgstr "Недопустимое значение поля 'visibility' текстового объекта ~A: ~A" #: libgeda/src/scheme_object.c:1476 msgid "Text object ~A has invalid text attribute visibility ~A" msgstr "Недопустимое значение поля 'show_name_value' текстового объекта ~A: ~A" #: libgeda/src/scheme_object.c:1517 msgid "Object ~A is not included in a page." msgstr "Объекта ~A нет на странице." #: libgeda/src/scheme_object.c:1670 msgid "Path object ~A has invalid element type ~A at index ~A" msgstr "Контур ~A имеет недопустимое значение типа элемента ~A с индексом ~A" #: libgeda/src/scheme_object.c:1784 msgid "Invalid path element type ~A." msgstr "Недопустимое значение типа элемента контура: ~A." #: libgeda/src/scheme_object.c:1957 msgid "Invalid picture angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" "Недопустимое значение угла поворота изображения ~A. Угол должен быть равен " "0, 90, 180 или 270 градусов" #: libgeda/src/scheme_page.c:294 msgid "Object ~A is attached to a complex or different page" msgstr "" "Объект ~A прикреплён к составному объекту или находится на другой странице" #: libgeda/src/scheme_page.c:442 msgid "Parse error: ~s" msgstr "Ошибка обработки: ~s" #: libgeda/scheme/geda/attrib.scm:59 #, scheme-format msgid "Object ~A is not part of a page" msgstr "Объект ~A не является частью схемы" geda-gaf-1.8.2/libgeda/po/remove-potcdate.sin0000644000175000017500000000066012210331572015712 00000000000000# Sed script that remove the POT-Creation-Date line in the header entry # from a POT file. # # The distinction between the first and the following occurrences of the # pattern is achieved by looking at the hold space. /^"POT-Creation-Date: .*"$/{ x # Test if the hold space is empty. s/P/P/ ta # Yes it was empty. First occurrence. Remove the line. g d bb :a # The hold space was nonempty. Following occurrences. Do nothing. x :b } geda-gaf-1.8.2/libgeda/po/fr.gmo0000664000175000017500000003433012220654231013220 00000000000000sL : 5 (2 0[  9 1  % = KY '   * !) 0K 6|     ( 3= ,q ) T !1?*q7 C0#5TAG1*(\1)":Xw2 GD+.p/.:69=p45*8Cc?A&+)(>g /-3$7\u!F=?\.   ,CjZ/(.DM$(/Z]ke$/Tk401@/rFMA*A C >J ?  , 7!fJ!=!'!!"G9"$"1"M"&#'B#j#)#J#N#:N$5$`$+ %<L%4%:% %d&<k&5&G&Q&'x'I';'I(@g(.(2(/ )2:)4m))1)") *R$*Iw*7*:*74+Dl+<+N+K=,>,$,.,L-Gi---Tm.&.>.4(//]/,/0/G/-30aa0.0.0 !1!B1Od1+1O1R02<22%22&393V3qt3/3149H4F4A45 5TA5v5 66'+7S7k77777E72#8@V8@8#-NRU O25^PMV%96b*E"e:YL=30 A&K_g1[rI j7QGfSoDiJq8 k<cX@]a\!`mT'4CZ./BWl,(n>+ dp$? ;H)hsF MAJOR VERSION CHANGE (file %.3f, instantiated %.3f, %s)! Minor version change (file %.3f, instantiated %.3f) Run gschem and correct the situation. WARNING: Found an autosave backup file: %s. %s: %sAttempt to attach attribute [%s] to more than one object Attempt to attach non text item as an attribute! Base64 decoding failed.Can't get the real filename of %s: %sCan't save backup file: %s.Cannot add library [%s]: both 'list' and 'get' commands must be specified. Cannot add library: name not specified Cannot find file %s: %sColor index out of rangeColor map entry must be a two-element listComponent [%s] has been embedded Component [%s] has been successfully unembedded Component [%s] was not found in the component library Component not found: %sConfig file already loadedCould NOT save [%s] Could NOT save file: %sCould NOT set backup file [%s] readonly Could NOT set previous backup file [%s] read-write Could not execute command [%s] for printing Could not find [%s] in any SourceLibrary Could not find component [%s], while trying to unembed. Component is still embedded Could not open [%s] for printing Did not find proper slotdef=#:#,#,#... attribute Did not find slotdef=#:#,#,#... attribute ERROR in s_hierarchy_traverse: schematic not found: %s ERROR: %s ERROR: An unknown error occurred while parsing configuration files.ERROR: The %s log may contain more information. ERROR: o_picture_save: unable to encode the picture. Error during reading of the prolog file `%s' in f_print_header() Error during writing of the output postscript file in f_print_header() Error output was: %s Failed to load image from embedded data [%s]: %s Failed to load image from file [%s]: %s Failed to load symbol data [%s] from source [%s] Failed to load symbol from file [%s]: %s Failed to open directory [%s]: %s Failed to parse box objectFailed to parse bus objectFailed to parse circle objectFailed to parse complex objectFailed to stat [%s]: %sFalling back to file loading. Picture unembedded. File %s is read-onlyFound [%s] Found a component with an invalid mirror flag [ %c %d %d %d %d %d %s ] Found a component with an invalid rotation [ %c %d %d %d %d %d %s ] Found a zero length bus [ %c %d %d %d %d %d ] Found a zero length line [ %c %d %d %d %d %d ] Found a zero length net [ %c %d %d %d %d %d ] Found a zero or negative radius circle [ %c %d %d %d %d ] Found a zero radius arc [ %c %d, %d, %d, %d, %d, %d ] Found a zero size text string [ %c %d %d %d %d %d %d %d %d ] Found a zero width/height box [ %c %d %d %d %d %d ] Found a zero width/height picture [ %c %d %d %d %d ] Found an invalid color [ %s ] Found an unsupported picture angle [ %d ] Found an unsupported text alignment [ %c %d %d %d %d %d %d %d %d ] Found an unsupported text angle [ %c %d %d %d %d %d %d %d %d ] Giving up on printing Gschem usually makes backup copies automatically, and this situation happens when it crashed or it was forced to exit abruptly. I could not guess if it is newer, so you have to do it manually. Improper slotdef syntax: missing ":". Index in color map entry must be an integerInvalid length specified, setting to 100 Invalid space specified, setting to 100 Library command failed [%s] Library command failed [%s]: %s Library name [%s] already in use. Using [%s]. More than one component found with name [%s] Non-string symbol name while scanning library [%s] Null radius circles are not allowed Parsed config from [%s] Picture [%s] has been embedded Picture [%s] has been unembedded Read an old format sym/sch file! Please run g[sym|sch]update on: [%s] Read garbage in [%s] : >> %s<< Read unexpected embedded symbol end marker in [%s] : >> %s<< Read unexpected embedded symbol start marker in [%s] : >> %s<< Resetting direction to neutral (no direction) Saved [%s] Setting alignment to LOWER_LEFT Setting angle to 0 Setting color to default color Setting embedded to 0 Setting mirrored to 0 The backup copy is newer than the schematic, so it seems you should load it instead of the original file. There are no schematics above the current one! Too many UTF-8 characters, cannot print Unable to get time of day in f_print_header() Unable to open the prolog file `%s' for reading in f_print_header() Unable to parse config from [%s]: %sUnexpected end-of-file in attribute listValue in color map entry must be #f or a stringWARNING: Symbol version parse error on refdes %s: Could not parse attached symversion=%s WARNING: Symbol version parse error on refdes %s: Could not parse symbol file symversion=%s WARNING: using a string for 'always-promote-attributes' is deprecated. Use a list of strings instead component missing pinseq= attribute gEDA Circuit SchematicgEDA Gsch2pcb ProjectgEDA Schematic SymbolgEDA circuit schematicgEDA gsch2pcb projectgEDA schematic symbolhierarchy loop detected while visiting page: "%s" o_save_objects: object %p has unknown type '%c' s_page_delete: Can't get the real filename of %s.s_page_delete: Unable to delete backup file %s.Project-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-10-22 13:10+0000 Last-Translator: Patrick Fiquet Language-Team: gEDA developers Language: fr MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) CHANGEMENT MAJEUR DE VERSION (fichier %.3f, instantiation %.3f, %s)! Changement de version mineur (fichier %.3f, instantiation %.3f) Lancez gschem et corrigez le problème. ATTENTION: Trouvé un fichier de sauvegarde automatique: %s. %s: %sTentative d'attachement d'un attribut [%s] à plus d'un objet Tentative d'attachement d'un objet non textuel comme attribut! Échec du décodage Base64.Impossible d'obtenir le nom réel de %s : %sImpossible de sauvegarder le fichier de sauvegarde: %s.Impossible d'ajouter la bibliothèque [%s]: les commandes 'list' et 'get' doivent être spécifiées. Impossible d'ajouter le bibliothèque: pas de nom spécifié Impossible de trouver le fichier %s: %sIndex de couleur hors de la plageL'entrée de la carte de couleurs doit être une liste à deux entréesLe composant [%s] a été embarqué Le composant [%s] a été détaché avec succès Le composant [%s] n'a pas été trouvé dans la bibliothèque des composants Composant non trouvé : %sFichier de configuration déjà chargéImpossible de sauvegarder [%s] Impossible de sauvegarder le fichier : %sImpossible de passer le fichier copie de sauvegarde [%s] en lecture seule Impossible de passer le fichier copie de sauvegarde [%s] en lecture/écriture Impossible d'éxecuter la commande [%s] pour l'impression Impossible de trouver [%s] dans aucune SourceLibrary Impossible de trouver le composant [%s] lors du détachement. Le composant est encore embarqué Impossible d'ouvrir [%s] pour l'impression Impossible de trouver l'attribut slotdef=#:#,#,#... correct Impossible de trouver l'attribut slotdef=#:#,#,#... ERREUR dans s_hierarchy_traverse: schéma non trouvé: %s ERREUR : %s ERREUR : Une erreur inconnue s'est produite lors de l'interprétation des fichiers de configuration.ERREUR : Le fichier journal %s contient plus d'information. ERROR: o_picture_save: impossible d'encoder l'image. Erreur pendant la lecture du fichier prolog `%s' avec f_print_header() Erreur pendant l'écriture du fichier postscript de sortie dans f_print_header() L'erreur de sortie était: %s Échec du chargement de l'image depuis les données embarquées [%s]: %s Échec du chargement de l'image depuis le fichier [%s]: %s Impossible de charger les données du symbole [%s] depuis la source [%s] Échec lors du chargement du symbole depuis le fichier [%s]: %s Échec de l'ouverture du répertoire [%s]: %s Erreur lors de l'interprétation d'un objet boîteErreur lors de l'interprétation d'un objet busErreur lors de l'interprétation d'un objet cercleErreur lors de l'interprétation d'un objet complexeImpossible d'évaluer [%s]: %sÉchec du chargement du fichier. Image enlevée. Le fichier %s est en lecture seuleTrouvé [%s] Trouvé un composant avec un marqueur de miroir invalide [ %c %d %d %d %d %d %s ] Trouvé un composant avec une mauvaise rotation [ %c %d %d %d %d %d %s ] Trouvé un bus de longueur nulle [ %c %d %d %d %d %d ] Trouvé une ligne à longueur nulle [ %c %d %d %d %d %d ] Trouvé un net à longueur nulle [ %c %d %d %d %d %d ] Trouvé un cercle de rayon à zéro ou négatif [ %c %d %d %d %d ] Trouvé un arc avec rayon nul [ %c %d, %d, %d, %d, %d, %d ] Trouvé une chaîne de texte à longueur nulle [ %c %d %d %d %d %d %d %d %d ] Trouvé une boîte avec une largeur/hauteur à zéro [ %c %d %d %d %d %d ] Trouvé une image à largeur/hauteur nulle [ %c %d %d %d %d ] Trouvé une couleur invalide [ %s ] Trouvé un angle d'image non supporté [ %d ] Trouvé un alignement de texte non supporté [ %c %d %d %d %d %d %d %d %d ] Trouvé un angle de texte non supporté [ %c %d %d %d %d %d %d %d %d ] Abandon de l'impression Gschem effectue habituellement des sauvegardes automatiques et cette situation se produit lorsqu'il a crashé ou qu'il a été obligé de s'arrêter brutalement. Je n'arrive pas à deviner s'il est plus récent, vous devez le faire manuellement. Syntaxe slotdef impropre: manque ":". Le champ dans l'index de la carte couleur doit être un entierLongueur spécifiéé invalide, positionnée à 100 Espace spécifié invalide, positionné à 100 Échec de la commande de bibliothèque [%s] Échec de la commande de bibliothèque [%s]: %s Le nom de bibliothèque [%s] est déjà utilisé. Utilisation de [%s]. Trouvé plus d'un composant avec le nom [%s] Le nom de symbole n'est pas une chaîne de caractère lors du contrôle de la bibliothèque [%s] Les cercles de rayons nuls ne sont pas permis Configuration interprétée à partir de [%s] L'image [%s] a été embarquée L'image [%s] a été débarquée Lecture d'un ancien format sym/sch! Veuillez lancer g[sym|sch]update sur: [%s] Lecture de la poubelle dans [%s] : >> %s<< Lecture d'un marqueur imprévu de fin de symbole embarqué dans [%s] : >> %s<< Lecture d'un marqueur imprévu de début de symbole embarqué dans [%s] : >> %s<< Initialisation de la direction à neutre (pas de direction) Sauvegarder [%s] Alignement positionné à LOWER_LEFT Initialisé l'angle à 0 Initialiser à la couleur par défaut Positionne l'embarqué à 0 Initilisation du miroir à 0 La copie de sauvegarde est plus récente que le schéma, vous devriez la charge à la place du fichier originel. Il n'y a pas de schéma au-dessus de celui-ci! Trop de caractères UTF-8, impossible d'imprimer Impossible d'avoir l'heure du jour dans f_print_header() Impossible d'ouvrir le fichier prolog `%s' pour lire f_print_header() Impossible d'interpréter la configuration à partir de [%s] : %sFin de fichier inattendue dans la liste des attributsLa valeur du champ dans la carte couleur doit être #f ou une chaîne de caractèresATTENTION: erreur du traitement de la version du Symbole sur refdes %s: Impossible de traiter symversion=%s attaché ATTENTION: erreur du traitement de la version du Symbole sur refdes %s: Impossible de traiter la version du fichier de symbole symversion=%s ATTENTION: l'utilisation d'une chaîne de caractères pour 'always-promote-attributes' est dépassé. Utilisez plutôt une liste de chaînes. manque l'attribut de composant pinseq= Schéma de Circuit gEDAProjet Gsch2pcb gEDASchéma de Symbole gEDASchéma de circuit gEDAProjet gsch2pcb gEDASchéma de symbole gEDABoucle hiérarchique détectée lors de la visite de la page: "%s" o_save_objects: l'objet %p a un type '%c' inconnu s_page_delete: Impossible d'avoir le nom de fichier réel de %s.s_page_delete: Impossible d'effacer le fichier de sauvegarde %s.geda-gaf-1.8.2/libgeda/po/pl.po0000664000175000017500000007674512220655642013107 00000000000000# Polish translation for geda # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2010-02-06 22:09+0000\n" "Last-Translator: Jarosław Ogrodnik \n" "Language-Team: gEDA developers \n" "Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2010-02-14 12:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: libgeda/data/libgeda.xml.in:3 msgid "gEDA circuit schematic" msgstr "schemat obwodu gEDA" #: libgeda/data/libgeda.xml.in:4 msgid "gEDA schematic symbol" msgstr "element schematu gEDA" #: libgeda/data/libgeda.xml.in:5 msgid "gEDA gsch2pcb project" msgstr "projekt gsch2pcb gEDA" #: libgeda/data/x-geda-gsch2pcb-project.desktop.in:3 msgid "gEDA Gsch2pcb Project" msgstr "Projekt Gsch2pcb gEDA" #: libgeda/data/x-geda-schematic.desktop.in:3 msgid "gEDA Circuit Schematic" msgstr "Schemat Obwodu gEDA" #: libgeda/data/x-geda-symbol.desktop.in:3 msgid "gEDA Schematic Symbol" msgstr "Element Schematu gEDA" #: libgeda/src/a_basic.c:182 #, c-format msgid "o_save_objects: object %p has unknown type '%c'\n" msgstr "o_save_objects: objekt %p jest nieznanego typu '%c'\n" #: libgeda/src/a_basic.c:238 libgeda/src/f_basic.c:384 #, c-format msgid "File %s is read-only" msgstr "" #: libgeda/src/a_basic.c:423 #, fuzzy, c-format msgid "" "Read unexpected attach symbol start marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" "Napotkano nieoczekiwany znacznik początku osadzonego symbolu w [%s] :\n" ">>\n" "%s<<\n" #: libgeda/src/a_basic.c:440 #, c-format msgid "" "Read unexpected embedded symbol start marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" "Napotkano nieoczekiwany znacznik początku osadzonego symbolu w [%s] :\n" ">>\n" "%s<<\n" #: libgeda/src/a_basic.c:471 #, c-format msgid "" "Read unexpected embedded symbol end marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" "Napotkano nieoczekiwany znacznik końca osadzonego symbolu w [%s] :\n" ">>\n" "%s<<\n" #: libgeda/src/a_basic.c:506 #, c-format msgid "" "Read an old format sym/sch file!\n" "Please run g[sym|sch]update on:\n" "[%s]\n" msgstr "" "Przestarzały format pliku!\n" "Uruchom program gsymupdate/gschemupdate na pliku:\n" "[%s]\n" #: libgeda/src/a_basic.c:512 #, c-format msgid "" "Read garbage in [%s] :\n" ">>\n" "%s<<\n" msgstr "" "Napotkano śmieci w [%s] :\n" ">>\n" "%s<<\n" #: libgeda/src/f_basic.c:123 libgeda/src/f_basic.c:136 #, c-format msgid "Failed to stat [%s]: %s" msgstr "Błąd odczytu atrybutów [%s]: %s" #: libgeda/src/f_basic.c:221 #, c-format msgid "Cannot find file %s: %s" msgstr "Nie odnaleziono pliku %s: %s" #: libgeda/src/f_basic.c:269 #, c-format msgid "" "\n" "WARNING: Found an autosave backup file:\n" " %s.\n" "\n" msgstr "" "\n" "UWAGA: Odnaleziono plik kopii zapasowej:\n" " %s.\n" "\n" #: libgeda/src/f_basic.c:271 msgid "I could not guess if it is newer, so you have to do it manually.\n" msgstr "" "Nie można stwierdzić, czy kopia jest nowsza - musisz sprawdzić to ręcznie.\n" #: libgeda/src/f_basic.c:273 msgid "" "The backup copy is newer than the schematic, so it seems you should load it " "instead of the original file.\n" msgstr "" "Kopia zapasowa jest nowsza niż plik schematu, a więc powinieneś otworzyć " "kopię zamiast oryginalnego pliku.\n" #: libgeda/src/f_basic.c:275 msgid "" "Gschem usually makes backup copies automatically, and this situation happens " "when it crashed or it was forced to exit abruptly.\n" msgstr "" "Gschem tworzy kopie zapasowe automatycznie, a ta sytuacja może być wynikiem " "niepoprawnego zamknięcia programu, np. z powodu błędu.\n" #: libgeda/src/f_basic.c:278 msgid "" "\n" "Run gschem and correct the situation.\n" "\n" msgstr "" "\n" "Uruchom gschem i napraw plik ręcznie.\n" "\n" #: libgeda/src/f_basic.c:374 #, fuzzy, c-format msgid "Can't get the real filename of %s: %s" msgstr "Nie można odczytać rzeczywistej nazwy %s." #: libgeda/src/f_basic.c:405 #, c-format msgid "Could NOT set previous backup file [%s] read-write\n" msgstr "Nie można ustawić pliku kopii zapasowej w tryb zapisu i odczytu [%s]\n" #: libgeda/src/f_basic.c:411 #, c-format msgid "Can't save backup file: %s." msgstr "Nie można zapisać kopii zapasowej: %s." #: libgeda/src/f_basic.c:421 #, c-format msgid "Could NOT set backup file [%s] readonly\n" msgstr "" "Nie można ustawić pliku kopii zapasowej w tryb tylko do odczytu [%s].\n" #: libgeda/src/f_basic.c:480 #, fuzzy, c-format msgid "Could NOT save file: %s" msgstr "Nie można zapisać [%s]\n" #: libgeda/src/f_basic.c:727 #, c-format msgid "%s: %s" msgstr "%s: %s" #: libgeda/src/f_print.c:123 msgid "Unable to get time of day in f_print_header()\n" msgstr "Błąd odczytu pory dnia w f_print_header()\n" #: libgeda/src/f_print.c:165 #, c-format msgid "Unable to open the prolog file `%s' for reading in f_print_header()\n" msgstr "Nie można otworzyć pliku nagłówka `%s' do odczytu w f_print_header()\n" #: libgeda/src/f_print.c:182 #, c-format msgid "Error during reading of the prolog file `%s' in f_print_header()\n" msgstr "Błąd odczytu pliku nagłówka `%s' w f_print_header()\n" #: libgeda/src/f_print.c:188 msgid "" "Error during writing of the output postscript file in f_print_header()\n" msgstr "" "Błąd w trakcie zapisu pliku wyjściowego postscript w f_print_header()\n" #: libgeda/src/f_print.c:202 msgid "Giving up on printing\n" msgstr "Drukowanie nie powiodło się\n" #: libgeda/src/f_print.c:375 #, c-format msgid "Could not open [%s] for printing\n" msgstr "Nie można otworzyć [%s] do wydruku\n" #: libgeda/src/f_print.c:409 #, c-format msgid "Could not execute command [%s] for printing\n" msgstr "Nie można wykonać komendy [%s] do wydruku\n" #: libgeda/src/f_print.c:682 msgid "Too many UTF-8 characters, cannot print\n" msgstr "Błąd drukowania: zbyt wiele znaków w kodowaniu UTF-8\n" #: libgeda/src/g_basic.c:264 msgid "" "\n" "Backtrace:\n" msgstr "" #: libgeda/src/g_rc.c:233 #, fuzzy msgid "Config file already loaded" msgstr "plik RC [%s] został już wczytany.\n" #: libgeda/src/g_rc.c:268 #, fuzzy, c-format msgid "Parsed config from [%s]\n" msgstr "Wczytano plik konfiguracji użytkownika [%%s]\n" #: libgeda/src/g_rc.c:281 #, fuzzy, c-format msgid "Unable to parse config from [%s]: %s" msgstr "Błąd odczytu obrazka z pliku [%s]: %s\n" #: libgeda/src/g_rc.c:298 msgid "ERROR: An unknown error occurred while parsing configuration files." msgstr "" #: libgeda/src/g_rc.c:310 libgeda/src/g_rc.c:311 #, c-format msgid "ERROR: %s\n" msgstr "" #: libgeda/src/g_rc.c:317 #, c-format msgid "ERROR: The %s log may contain more information.\n" msgstr "" #: libgeda/src/g_rc.c:978 msgid "" "WARNING: using a string for 'always-promote-attributes' is deprecated. Use a " "list of strings instead\n" msgstr "" "UWAGA: użycie napisu jako wartości 'always-promote-attributes' jest " "niezalecane. Użyj listy napisów\n" #: libgeda/src/o_arc_basic.c:256 libgeda/src/o_arc_basic.c:269 msgid "Failed to parse arc object" msgstr "" #: libgeda/src/o_arc_basic.c:276 #, c-format msgid "Found a zero radius arc [ %c %d, %d, %d, %d, %d, %d ]\n" msgstr "Napotkano łuk o zerowym promieniu [ %c %d, %d, %d, %d, %d, %d ]\n" #: libgeda/src/o_arc_basic.c:282 libgeda/src/o_box_basic.c:327 #: libgeda/src/o_bus_basic.c:182 libgeda/src/o_circle_basic.c:289 #: libgeda/src/o_line_basic.c:264 libgeda/src/o_net_basic.c:171 #: libgeda/src/o_path_basic.c:189 libgeda/src/o_pin_basic.c:183 #: libgeda/src/o_text_basic.c:425 #, c-format msgid "Found an invalid color [ %s ]\n" msgstr "Napotkano niepoprawny kolor [ %s ]\n" #: libgeda/src/o_arc_basic.c:283 libgeda/src/o_box_basic.c:328 #: libgeda/src/o_bus_basic.c:183 libgeda/src/o_circle_basic.c:290 #: libgeda/src/o_line_basic.c:265 libgeda/src/o_net_basic.c:172 #: libgeda/src/o_path_basic.c:190 libgeda/src/o_pin_basic.c:184 #: libgeda/src/o_text_basic.c:426 msgid "Setting color to default color\n" msgstr "Użyję domyślnego koloru\n" #: libgeda/src/o_attrib.c:123 msgid "Attempt to attach non text item as an attribute!\n" msgstr "Próba użycia innego obiektu niż tekst jako atrybut!\n" #: libgeda/src/o_attrib.c:128 #, c-format msgid "Attempt to attach attribute [%s] to more than one object\n" msgstr "Próba powiązania atrybutu [%s] z więcej niż jednym obiektem\n" #: libgeda/src/o_attrib.c:341 #, fuzzy msgid "Tried to attach a non-text item as an attribute" msgstr "Próba użycia innego obiektu niż tekst jako atrybut!\n" #: libgeda/src/o_attrib.c:348 msgid "Unexpected end-of-file in attribute list" msgstr "" #: libgeda/src/o_basic.c:196 libgeda/src/o_basic.c:208 msgid "Invalid space specified, setting to 100\n" msgstr "Błędna specyfikacja odstępu, użyję wartości 100\n" #: libgeda/src/o_basic.c:204 msgid "Invalid length specified, setting to 100\n" msgstr "Błędna specyfikacja długości, użyję wartości 100\n" #: libgeda/src/o_box_basic.c:287 libgeda/src/o_box_basic.c:316 msgid "Failed to parse box object" msgstr "" #: libgeda/src/o_box_basic.c:322 #, c-format msgid "Found a zero width/height box [ %c %d %d %d %d %d ]\n" msgstr "" "Napotkano prostokąt o zerowej wysokości/szerokości [ %c %d %d %d %d %d ]\n" #: libgeda/src/o_bus_basic.c:160 libgeda/src/o_bus_basic.c:167 msgid "Failed to parse bus object" msgstr "" #: libgeda/src/o_bus_basic.c:173 #, c-format msgid "Found a zero length bus [ %c %d %d %d %d %d ]\n" msgstr "Napotkano magistralę o zerowej długości [ %c %d %d %d %d %d ]\n" #: libgeda/src/o_bus_basic.c:188 #, c-format msgid "Found an invalid bus ripper direction [ %s ]\n" msgstr "Napotkano odczep magistrali z błędnym ustawieniem kierunku [ %s ]\n" #: libgeda/src/o_bus_basic.c:189 msgid "Resetting direction to neutral (no direction)\n" msgstr "Ustawię kierunek na neutralny (brak kierunku)\n" #: libgeda/src/o_circle_basic.c:193 msgid "Null radius circles are not allowed\n" msgstr "Koła o zerowym promieniu są niedozwolone\n" #: libgeda/src/o_circle_basic.c:246 libgeda/src/o_circle_basic.c:275 msgid "Failed to parse circle object" msgstr "" #: libgeda/src/o_circle_basic.c:282 #, fuzzy, c-format msgid "Found a zero or negative radius circle [ %c %d %d %d %d ]\n" msgstr "Napotkano koło o zerowym promieniu [ %c %d %d %d %d ]\n" #: libgeda/src/o_circle_basic.c:284 #, fuzzy msgid "Setting radius to 0\n" msgstr "Użyję nachylenia równego 0\n" #: libgeda/src/o_complex_basic.c:422 #, c-format msgid "" "Component not found:\n" " %s" msgstr "" "Nie odnaleziono komponentu:\n" " %s" #: libgeda/src/o_complex_basic.c:654 msgid "Failed to parse complex object" msgstr "" #: libgeda/src/o_complex_basic.c:667 #, c-format msgid "Found a component with an invalid rotation [ %c %d %d %d %d %d %s ]\n" msgstr "" "Napotkano komponent o błędnej specyfikacji rotacji [ %c %d %d %d %d %d %s ]\n" #: libgeda/src/o_complex_basic.c:668 libgeda/src/o_picture.c:105 #: libgeda/src/o_text_basic.c:397 msgid "Setting angle to 0\n" msgstr "Użyję nachylenia równego 0\n" #: libgeda/src/o_complex_basic.c:680 #, c-format msgid "" "Found a component with an invalid mirror flag [ %c %d %d %d %d %d %s ]\n" msgstr "" "Napotkano komponent z nieprawidłową wartością flagi odbicia lustrzanego [ %c " "%d %d %d %d %d %s ]\n" #: libgeda/src/o_complex_basic.c:681 #, fuzzy msgid "Setting mirror to 0\n" msgstr "Przyjmuję 'odbity' równe 0\n" #: libgeda/src/o_complex_basic.c:994 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse symbol file symversion=%s\n" msgstr "" "UWAGA: Błąd parsowania wersji symbolu o identyfikatorze %s:\n" "\tNiepowodzenie podczas parsowania pliku symbolu symversion=%s\n" #: libgeda/src/o_complex_basic.c:998 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse symbol file symversion=\n" msgstr "" "UWAGA: Błąd parsowania wersji symbolu o identyfikatorze %s:\n" "\tNiepowodzenie podczas parsowania pliku symbolu symversion=\n" #: libgeda/src/o_complex_basic.c:1014 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse attached symversion=%s\n" msgstr "" "UWAGA: Błąd parsowania wersji symbolu o identyfikatorze %s:\n" "\tNiepowodzenie podczas parsowania dołączonego atrybutu symversion=%s\n" #: libgeda/src/o_complex_basic.c:1039 #, c-format msgid "" "WARNING: Symbol version oddity on refdes %s:\n" "\tsymversion=%s attached to instantiated symbol, but no symversion= inside " "symbol file\n" msgstr "" "UWAGA: Dziwna wersja symbolu o identyfikatorze %s:\n" "\tAtrybut symversion=%s dołączony do symbolu, ale brak atrybutu symversion= " "w pliku symbolu\n" #: libgeda/src/o_complex_basic.c:1053 #, c-format msgid "" "WARNING: Symbol version mismatch on refdes %s (%s):\n" "\tSymbol in library is newer than instantiated symbol\n" msgstr "" "UWAGA: Niezgodność wersji symbolu o identyfikatorze %s (%s):\n" "\tWersja symbolu w bibliotece jest nowsza niż wersja tej instancji symbolu\n" #: libgeda/src/o_complex_basic.c:1081 #, c-format msgid "\tMAJOR VERSION CHANGE (file %.3f, instantiated %.3f, %s)!\n" msgstr "\tZNACZĄCA ZMIANA WERSJI (plik %.3f, użyto %.3f, %s)!\n" #: libgeda/src/o_complex_basic.c:1099 #, c-format msgid "\tMinor version change (file %.3f, instantiated %.3f)\n" msgstr "\tPomniejsza zmiana wersji (plik %.3f, użyto %.3f)\n" #: libgeda/src/o_complex_basic.c:1110 #, c-format msgid "" "WARNING: Symbol version oddity on refdes %s:\n" "\tInstantiated symbol is newer than symbol in library\n" msgstr "" "UWAGA: Dziwna wersja symbolu o identyfikatorze %s:\n" "\tWersja symbolu w bibliotece jest nowsza niż wersja tej instancji symbolu\n" #: libgeda/src/o_embed.c:58 #, c-format msgid "Component [%s] has been embedded\n" msgstr "Osadzono komponent [%s]\n" #: libgeda/src/o_embed.c:102 #, c-format msgid "" "Could not find component [%s], while trying to unembed. Component is still " "embedded\n" msgstr "" "Nie odnaleziono komponentu [%s] podczas próby usunięcia osadzenia. Komponent " "pozostanie osadzony\n" #: libgeda/src/o_embed.c:110 #, c-format msgid "Component [%s] has been successfully unembedded\n" msgstr "Komponent [%s] nie jest już osadzony\n" #: libgeda/src/o_line_basic.c:229 libgeda/src/o_line_basic.c:247 msgid "Failed to parse line object" msgstr "" #: libgeda/src/o_line_basic.c:259 #, c-format msgid "Found a zero length line [ %c %d %d %d %d %d ]\n" msgstr "Napotkano linię o zerowej długości [ %c %d %d %d %d %d ]\n" #: libgeda/src/o_net_basic.c:156 msgid "Failed to parse net object" msgstr "" #: libgeda/src/o_net_basic.c:161 #, c-format msgid "Found a zero length net [ %c %d %d %d %d %d ]\n" msgstr "Napotkano połączenie o zerowej długości [ %c %d %d %d %d %d ]\n" #: libgeda/src/o_path_basic.c:181 msgid "Failed to parse path object" msgstr "" #: libgeda/src/o_path_basic.c:207 msgid "Unexpected end-of-file when reading path" msgstr "" #: libgeda/src/o_picture.c:72 msgid "Failed to parse picture definition" msgstr "" #: libgeda/src/o_picture.c:77 #, c-format msgid "Found a zero width/height picture [ %c %d %d %d %d ]\n" msgstr "Napotkano obrazek o zerowej wysokości/szerokości [ %c %d %d %d %d ]\n" #: libgeda/src/o_picture.c:82 #, fuzzy, c-format msgid "Found a picture with a wrong 'mirrored' parameter: %d.\n" msgstr "Napotkano obrazek o niepoprawnej wartości 'odbity': %c.\n" #: libgeda/src/o_picture.c:84 msgid "Setting mirrored to 0\n" msgstr "Przyjmuję 'odbity' równe 0\n" #: libgeda/src/o_picture.c:89 #, fuzzy, c-format msgid "Found a picture with a wrong 'embedded' parameter: %d.\n" msgstr "Napotkano obrazek o niepoprawnej wartości 'osadzony': %c.\n" #: libgeda/src/o_picture.c:91 msgid "Setting embedded to 0\n" msgstr "Przyjmuję 'osadzony' równe 0\n" #: libgeda/src/o_picture.c:104 #, c-format msgid "Found an unsupported picture angle [ %d ]\n" msgstr "Napotkano obrazek z nieprawidłową wartością nachylenia [ %d ]\n" #: libgeda/src/o_picture.c:116 msgid "Found an image with no filename." msgstr "" #: libgeda/src/o_picture.c:147 #, c-format msgid "Failed to load image from embedded data [%s]: %s\n" msgstr "Błąd odczytu obrazka z osadzonych danych [%s]: %s\n" #: libgeda/src/o_picture.c:148 msgid "Base64 decoding failed." msgstr "Błąd dekodowania Base64." #: libgeda/src/o_picture.c:149 msgid "Falling back to file loading. Picture unembedded.\n" msgstr "Spróbuję odczytać obrazek z pliku. Obrazek nie będzie osadzony.\n" #: libgeda/src/o_picture.c:208 msgid "ERROR: o_picture_save: unable to encode the picture.\n" msgstr "BŁĄD: o_picture_save: nie można zapisać obrazka.\n" #: libgeda/src/o_picture.c:308 #, fuzzy, c-format msgid "Failed to load buffer image [%s]: %s\n" msgstr "Błąd podczas ładowania symbolu z pliku [%s]: %s\n" #: libgeda/src/o_picture.c:321 #, fuzzy, c-format msgid "Failed to load image from [%s]: %s\n" msgstr "Błąd odczytu obrazka z pliku [%s]: %s\n" #: libgeda/src/o_picture.c:427 #, c-format msgid "Picture %p has invalid angle %i\n" msgstr "" #: libgeda/src/o_picture.c:957 #, fuzzy, c-format msgid "Picture [%s] has no image data.\n" msgstr "Obrazek [%s] został osadzony\n" #: libgeda/src/o_picture.c:958 #, fuzzy msgid "Falling back to file loading. Picture is still unembedded.\n" msgstr "Spróbuję odczytać obrazek z pliku. Obrazek nie będzie osadzony.\n" #: libgeda/src/o_picture.c:966 #, c-format msgid "Picture [%s] has been embedded\n" msgstr "Obrazek [%s] został osadzony\n" #: libgeda/src/o_picture.c:990 #, c-format msgid "Failed to load image from file [%s]: %s\n" msgstr "Błąd odczytu obrazka z pliku [%s]: %s\n" #: libgeda/src/o_picture.c:992 #, fuzzy msgid "Picture is still embedded.\n" msgstr "Obrazek [%s] został osadzony\n" #: libgeda/src/o_picture.c:1000 #, c-format msgid "Picture [%s] has been unembedded\n" msgstr "Obrazek [%s] nie jest już osadzony\n" #: libgeda/src/o_picture.c:1236 #, fuzzy, c-format msgid "Failed to load fallback image %s: %s.\n" msgstr "Błąd odczytu obrazka z pliku [%s]: %s\n" #: libgeda/src/o_pin_basic.c:160 libgeda/src/o_pin_basic.c:168 msgid "Failed to parse pin object" msgstr "" #: libgeda/src/o_pin_basic.c:174 msgid "" "Found a pin which did not have the whichone field set.\n" "Verify and correct manually.\n" msgstr "" "Napotkano pin bez ustawionego pola 'whichone'.\n" "Popraw plik manualnie.\n" #: libgeda/src/o_pin_basic.c:177 #, c-format msgid "Found an invalid whichend on a pin (reseting to zero): %d\n" msgstr "" "Napotkano nieprawidłową wartość 'whichend' przypisaną do pinu (użyję " "wartości 0): %d\n" #: libgeda/src/o_text_basic.c:356 libgeda/src/o_text_basic.c:366 #: libgeda/src/o_text_basic.c:376 msgid "Failed to parse text object" msgstr "" #: libgeda/src/o_text_basic.c:383 #, c-format msgid "Found a zero size text string [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "Napotkano napis o zerowych wymiarach [ %c %d %d %d %d %d %d %d %d ]\n" #: libgeda/src/o_text_basic.c:395 #, c-format msgid "Found an unsupported text angle [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" "Napotkano napis z nieprawidłowym nachyleniem [ %c %d %d %d %d %d %d %d %d ]\n" #: libgeda/src/o_text_basic.c:417 #, c-format msgid "Found an unsupported text alignment [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" "Napotkano napis z nieprawidłowym wyrównaniem tekstu [ %c %d %d %d %d %d %d " "%d %d ]\n" #: libgeda/src/o_text_basic.c:419 msgid "Setting alignment to LOWER_LEFT\n" msgstr "Użyję wyrównania do dolnego lewego rogu\n" #: libgeda/src/o_text_basic.c:440 #, c-format msgid "Unexpected end-of-file after %d lines" msgstr "" #: libgeda/src/s_clib.c:465 #, c-format msgid "Library command failed [%s]: %s\n" msgstr "Błąd operacji w bibliotece [%s]: %s\n" #: libgeda/src/s_clib.c:470 #, c-format msgid "Library command failed [%s]: Uncaught signal %i.\n" msgstr "Błąd operacji w bibliotece [%s]: Nieobsługiwany sygnał %i.\n" #: libgeda/src/s_clib.c:474 #, c-format msgid "Library command failed [%s]\n" msgstr "Błąd operacji w bibliotece [%s]\n" #: libgeda/src/s_clib.c:475 #, c-format msgid "" "Error output was:\n" "%s\n" msgstr "" "Komunikat o błędzie:\n" "%s\n" #: libgeda/src/s_clib.c:561 #, c-format msgid "Library name [%s] already in use. Using [%s].\n" msgstr "Nazwa biblioteki [%s] jest już zajęta. Użyję [%s].\n" #: libgeda/src/s_clib.c:598 #, c-format msgid "Failed to open directory [%s]: %s\n" msgstr "Błąd otwarcia katalogu [%s]: %s\n" #: libgeda/src/s_clib.c:734 #, c-format msgid "Failed to scan library [%s]: Scheme function returned non-list\n" msgstr "" "Błąd przeszukiwania biblioteki [%s]: funkcja Scheme zwróciła nie-listę\n" #: libgeda/src/s_clib.c:742 #, c-format msgid "Non-string symbol name while scanning library [%s]\n" msgstr "" "Napotkano niepoprawną nazwę symbolu podczas przeszukiwania biblioteki [%s]\n" #: libgeda/src/s_clib.c:901 libgeda/src/s_clib.c:948 msgid "Cannot add library: name not specified\n" msgstr "Nie można dodać biblioteki: nie podano nazwy\n" #: libgeda/src/s_clib.c:908 #, c-format msgid "" "Cannot add library [%s]: both 'list' and 'get' commands must be specified.\n" msgstr "" "Nie można dodać biblioteki [%s]: komendy 'list' i 'get' muszą być podane\n" #: libgeda/src/s_clib.c:956 #, c-format msgid "Cannot add Scheme-library [%s]: callbacks must be closures\n" msgstr "Nie można dodać biblioteki Scheme [%s]: callbacks must be closures\n" #: libgeda/src/s_clib.c:1083 #, c-format msgid "Failed to load symbol from file [%s]: %s\n" msgstr "Błąd podczas ładowania symbolu z pliku [%s]: %s\n" #: libgeda/src/s_clib.c:1143 #, c-format msgid "Failed to load symbol data [%s] from source [%s]\n" msgstr "Odczyt danych symbolu [%s] z pliku [%s] nie powiódł się\n" #: libgeda/src/s_clib.c:1385 #, c-format msgid "Component [%s] was not found in the component library\n" msgstr "Nie odnaleziono komponentu [%s] w bibliotece komponentów\n" #: libgeda/src/s_clib.c:1391 #, c-format msgid "More than one component found with name [%s]\n" msgstr "Odnaleziono więcej niż jeden komponent o nazwie [%s]\n" #: libgeda/src/s_color.c:207 msgid "Color index out of range" msgstr "Indeks koloru poza zakresem" #: libgeda/src/s_color.c:262 msgid "Color map entry must be a two-element list" msgstr "Wpis w mapie kolorów musi być dwuelementową listą" #: libgeda/src/s_color.c:270 msgid "Index in color map entry must be an integer" msgstr "Indeks koloru musi być liczbą całkowitą" #: libgeda/src/s_color.c:296 msgid "Value in color map entry must be #f or a string" msgstr "Wpis w mapie kolorów musi być wartością #f lub napisem" #: libgeda/src/s_hierarchy.c:94 #, c-format msgid "" "hierarchy loop detected while visiting page:\n" " \"%s\"\n" msgstr "" "wykryto cykl w hierarchii podczas odczytu strony:\n" " \"%s\"\n" #: libgeda/src/s_hierarchy.c:194 msgid "There are no schematics above the current one!\n" msgstr "Jesteś już na szczycie hierarchii schematów!\n" #: libgeda/src/s_hierarchy.c:274 #, c-format msgid "ERROR in s_hierarchy_traverse: schematic not found: %s\n" msgstr "BŁĄD w s_hierarchy_traverse: nie odnaleziono schematu: %s\n" #: libgeda/src/s_page.c:213 #, c-format msgid "s_page_delete: Can't get the real filename of %s." msgstr "s_page_delete: nie można uzyskać rzeczywistej nazwy pliku %s." #: libgeda/src/s_page.c:224 #, c-format msgid "s_page_delete: Unable to delete backup file %s." msgstr "s_page_delete: Nie można skasować kopii zapasowej %s." #: libgeda/src/s_page.c:499 #, c-format msgid "Saved [%s]\n" msgstr "Zapisano [%s]\n" #: libgeda/src/s_page.c:505 #, c-format msgid "Could NOT save [%s]\n" msgstr "Nie można zapisać [%s]\n" #: libgeda/src/s_slib.c:171 #, c-format msgid "Found [%s]\n" msgstr "Odnaleziono [%s]\n" #: libgeda/src/s_slib.c:181 #, c-format msgid "Could not find [%s] in any SourceLibrary\n" msgstr "Nie odnaleziono [%s] in w żadnej bibliotece\n" #: libgeda/src/s_slot.c:162 msgid "Did not find slotdef=#:#,#,#... attribute\n" msgstr "Nie odnaleziono atrybutu slotdef=#:#,#,#...\n" #: libgeda/src/s_slot.c:168 msgid "Improper slotdef syntax: missing \":\".\n" msgstr "Błąd składni atrybutu slotdef: brak \":\".\n" #: libgeda/src/s_slot.c:183 msgid "Did not find proper slotdef=#:#,#,#... attribute\n" msgstr "Nie odnaleziono atrybutu slotdef=#:#,#,#...\n" #: libgeda/src/s_slot.c:213 msgid "component missing pinseq= attribute\n" msgstr "komponent nie ma atrybutu pinseq=\n" #: libgeda/src/scheme_attrib.c:67 msgid "~A is not a valid attribute: invalid string '~A'." msgstr "" #: libgeda/src/scheme_attrib.c:172 msgid "Objects ~A and ~A are not part of the same page and/or complex object" msgstr "" #: libgeda/src/scheme_attrib.c:179 libgeda/src/scheme_attrib.c:184 msgid "Object ~A is already attached as an attribute" msgstr "" #: libgeda/src/scheme_attrib.c:233 msgid "Object ~A is attribute of wrong object" msgstr "" #: libgeda/src/scheme_complex.c:148 msgid "Invalid complex angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_complex.c:265 libgeda/src/scheme_page.c:249 msgid "Object ~A is already attached to something" msgstr "" #: libgeda/src/scheme_complex.c:325 msgid "Object ~A is attached to a different complex" msgstr "" #: libgeda/src/scheme_complex.c:332 msgid "Object ~A is attached to a page" msgstr "" #: libgeda/src/scheme_complex.c:339 libgeda/src/scheme_page.c:301 #, fuzzy msgid "Object ~A is attached as an attribute" msgstr "Próba użycia innego obiektu niż tekst jako atrybut!\n" #: libgeda/src/scheme_complex.c:346 libgeda/src/scheme_page.c:308 msgid "Object ~A has attributes" msgstr "" #: libgeda/src/scheme_object.c:232 msgid "Object ~A has bad type '~A'" msgstr "" #: libgeda/src/scheme_object.c:346 msgid "Object ~A has invalid stroke cap style ~A" msgstr "" #: libgeda/src/scheme_object.c:359 msgid "Object ~A has invalid stroke dash style ~A" msgstr "" #: libgeda/src/scheme_object.c:423 msgid "Invalid stroke cap style ~A." msgstr "" #: libgeda/src/scheme_object.c:434 msgid "Invalid stroke dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:444 msgid "Missing dash length parameter for dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:454 msgid "Missing dot/dash space parameter for dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:516 msgid "Object ~A has invalid fill style ~A" msgstr "" #: libgeda/src/scheme_object.c:565 msgid "Invalid fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:573 msgid "Missing second space parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:582 msgid "Missing second angle parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:592 msgid "Missing stroke width parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:601 msgid "Missing space parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:610 msgid "Missing angle parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:909 msgid "Invalid pin type ~A, must be 'net or 'bus" msgstr "" #: libgeda/src/scheme_object.c:952 msgid "Object ~A has invalid pin type." msgstr "" #: libgeda/src/scheme_object.c:1347 msgid "Invalid text alignment ~A." msgstr "" #: libgeda/src/scheme_object.c:1363 msgid "Invalid text angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_object.c:1382 msgid "Invalid text name/value visibility ~A." msgstr "" #: libgeda/src/scheme_object.c:1457 msgid "Text object ~A has invalid text alignment ~A" msgstr "" #: libgeda/src/scheme_object.c:1466 msgid "Text object ~A has invalid visibility ~A" msgstr "" #: libgeda/src/scheme_object.c:1476 msgid "Text object ~A has invalid text attribute visibility ~A" msgstr "" #: libgeda/src/scheme_object.c:1517 msgid "Object ~A is not included in a page." msgstr "" #: libgeda/src/scheme_object.c:1670 msgid "Path object ~A has invalid element type ~A at index ~A" msgstr "" #: libgeda/src/scheme_object.c:1784 msgid "Invalid path element type ~A." msgstr "" #: libgeda/src/scheme_object.c:1957 msgid "Invalid picture angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_page.c:294 msgid "Object ~A is attached to a complex or different page" msgstr "" #: libgeda/src/scheme_page.c:442 msgid "Parse error: ~s" msgstr "" #: libgeda/scheme/geda/attrib.scm:59 #, scheme-format msgid "Object ~A is not part of a page" msgstr "" #~ msgid "Error reading picture definition line: %s.\n" #~ msgstr "Błąd podczas odczytu linii definiującej obrazek: %s.\n" #~ msgid "Loading warning picture.\n" #~ msgstr "Ładuję ostrzegawcze zdjęcie.\n" #~ msgid "Error loading picture from file: %s.\n" #~ msgstr "Błąd odczytu obrazka z pliku: %s.\n" #~ msgid "Found a zero length pin: [ %s ]\n" #~ msgstr "Napotkano pin o zerowej długości: [ %s ]\n" #~ msgid "%s:%i:%i: %s\n" #~ msgstr "%s:%i:%i: %s\n" #~ msgid "Unknown file: %s\n" #~ msgstr "Nieznany plik: %s\n" #~ msgid "Evaluation failed: %s\n" #~ msgstr "Interpretacja nie powiodła się: %s\n" #~ msgid "Enable debugging for more detailed information\n" #~ msgstr "Włącz tryb debugowania aby uzyskać więcej informacji\n" #~ msgid "Could not find [%s] for interpretation\n" #~ msgstr "Nie odnaleziono [%s] do interpretacji\n" #~ msgid "Read system config file [%%s]\n" #~ msgstr "Wczytano globalny plik konfiguracji [%%s]\n" #~ msgid "Did not find required system config file [%%s]\n" #~ msgstr "Nie odnaleziono wymaganego globalnego pliku konfiguracji [%%s]\n" #~ msgid "Did not find optional user config file [%%s]\n" #~ msgstr "Nie znaleziono opcjonalnego pliku konfiguracji użytkownika [%%s]\n" #~ msgid "Read local config file [%%s]\n" #~ msgstr "Wczytano lokalny plik konfiguracji [%%s]\n" #~ msgid "Did not find optional local config file [%%s]\n" #~ msgstr "Nie znaleziono opcjonalnego pliku lokalnej konfiguracji [%%s]\n" #~ msgid "Read specified %s file [%%s]\n" #~ msgstr "Wczytano podany plik %s [%%s]\n" #~ msgid "Did not find specified %s file [%%s]\n" #~ msgstr "Nie odnaleziono podanego pliku %s [%%s]\n" #~ msgid "Could not find any %s file!\n" #~ msgstr "Nie odnaleziono żadnego pliku %s!\n" #~ msgid "o_save: Could not open [%s]\n" #~ msgstr "o_save: nie można otworzyć [%s]\n" #~ msgid "Could not read symbolic link information for %s" #~ msgstr "Nie można odczytać informacji o dowiązaniu symbolicznym %s" #~ msgid "The file has too many symbolic links." #~ msgstr "Plik używa zbyt wielu dowiązań symbolicznych." #~ msgid "Read system-%s file [%%s]\n" #~ msgstr "Wczytano plik system-%s [%%s]\n" #~ msgid "Did not find required system-%s file [%%s]\n" #~ msgstr "Nie odnaleziono wymaganego pliku system-%s [%%s]\n" #~ msgid "Read ~/.gEDA/%s file [%%s]\n" #~ msgstr "Wczytano plik ~/.gEDA/%s [%%s]\n" #~ msgid "Did not find optional ~/.gEDA/%s file [%%s]\n" #~ msgstr "Nie odnaleziono opcjonalnego pliku ~/.gEDA/%s [%%s]\n" #~ msgid "Read local %s file [%%s]\n" #~ msgstr "Wczytano lokalny plik %s [%%s]\n" #~ msgid "Did not find optional local %s file [%%s]\n" #~ msgstr "Nie odnaleziono opcjonalnego lokalnego pliku %s [%%s]\n" #~ msgid "Setting color to WHITE\n" #~ msgstr "Użyję koloru białego\n" #~ msgid "Found an improper attribute: _%s_\n" #~ msgstr "Napotkano niepoprawny atrybut: _%s_\n" #~ msgid "Could not find character '%s' definition.\n" #~ msgstr "Nie odnaleziono definicji znaku '%s'.\n" #~ msgid "Could not load question font char -- check font-directory keyword\n" #~ msgstr "" #~ "Nie można odczytać znaku zapytania -- sprawdź ustawienie font-directory\n" #~ msgid "Failed to validate utf-8 character in font definition: \"%s\".\n" #~ msgstr "Błąd walidacji znaku utf-8 w definicji czcionki: \"%s\".\n" #~ msgid "Cannot find any schematics above the current one!\n" #~ msgstr "Jesteś już na szczycie hierarchii schematów!\n" #~ msgid "Maybe toplevel schematic page was closed/discarded?\n" #~ msgstr "Być może schemat został zamknięty/porzucony?\n" geda-gaf-1.8.2/libgeda/po/pt_BR.po0000664000175000017500000005116012220655642013462 00000000000000# Brazilian Portuguese translation for geda # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-01-27 14:15+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Brazilian Portuguese \n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: libgeda/data/libgeda.xml.in:3 msgid "gEDA circuit schematic" msgstr "" #: libgeda/data/libgeda.xml.in:4 msgid "gEDA schematic symbol" msgstr "" #: libgeda/data/libgeda.xml.in:5 msgid "gEDA gsch2pcb project" msgstr "" #: libgeda/data/x-geda-gsch2pcb-project.desktop.in:3 msgid "gEDA Gsch2pcb Project" msgstr "" #: libgeda/data/x-geda-schematic.desktop.in:3 msgid "gEDA Circuit Schematic" msgstr "" #: libgeda/data/x-geda-symbol.desktop.in:3 msgid "gEDA Schematic Symbol" msgstr "" #: libgeda/src/a_basic.c:182 #, c-format msgid "o_save_objects: object %p has unknown type '%c'\n" msgstr "" #: libgeda/src/a_basic.c:238 libgeda/src/f_basic.c:384 #, c-format msgid "File %s is read-only" msgstr "" #: libgeda/src/a_basic.c:423 #, c-format msgid "" "Read unexpected attach symbol start marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" #: libgeda/src/a_basic.c:440 #, c-format msgid "" "Read unexpected embedded symbol start marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" #: libgeda/src/a_basic.c:471 #, c-format msgid "" "Read unexpected embedded symbol end marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" #: libgeda/src/a_basic.c:506 #, c-format msgid "" "Read an old format sym/sch file!\n" "Please run g[sym|sch]update on:\n" "[%s]\n" msgstr "" #: libgeda/src/a_basic.c:512 #, c-format msgid "" "Read garbage in [%s] :\n" ">>\n" "%s<<\n" msgstr "" #: libgeda/src/f_basic.c:123 libgeda/src/f_basic.c:136 #, c-format msgid "Failed to stat [%s]: %s" msgstr "" #: libgeda/src/f_basic.c:221 #, c-format msgid "Cannot find file %s: %s" msgstr "" #: libgeda/src/f_basic.c:269 #, c-format msgid "" "\n" "WARNING: Found an autosave backup file:\n" " %s.\n" "\n" msgstr "" #: libgeda/src/f_basic.c:271 msgid "I could not guess if it is newer, so you have to do it manually.\n" msgstr "" #: libgeda/src/f_basic.c:273 msgid "" "The backup copy is newer than the schematic, so it seems you should load it " "instead of the original file.\n" msgstr "" #: libgeda/src/f_basic.c:275 msgid "" "Gschem usually makes backup copies automatically, and this situation happens " "when it crashed or it was forced to exit abruptly.\n" msgstr "" #: libgeda/src/f_basic.c:278 msgid "" "\n" "Run gschem and correct the situation.\n" "\n" msgstr "" #: libgeda/src/f_basic.c:374 #, c-format msgid "Can't get the real filename of %s: %s" msgstr "" #: libgeda/src/f_basic.c:405 #, c-format msgid "Could NOT set previous backup file [%s] read-write\n" msgstr "" #: libgeda/src/f_basic.c:411 #, c-format msgid "Can't save backup file: %s." msgstr "" #: libgeda/src/f_basic.c:421 #, c-format msgid "Could NOT set backup file [%s] readonly\n" msgstr "" #: libgeda/src/f_basic.c:480 #, c-format msgid "Could NOT save file: %s" msgstr "" #: libgeda/src/f_basic.c:727 #, c-format msgid "%s: %s" msgstr "" #: libgeda/src/f_print.c:123 msgid "Unable to get time of day in f_print_header()\n" msgstr "" #: libgeda/src/f_print.c:165 #, c-format msgid "Unable to open the prolog file `%s' for reading in f_print_header()\n" msgstr "" #: libgeda/src/f_print.c:182 #, c-format msgid "Error during reading of the prolog file `%s' in f_print_header()\n" msgstr "" #: libgeda/src/f_print.c:188 msgid "" "Error during writing of the output postscript file in f_print_header()\n" msgstr "" #: libgeda/src/f_print.c:202 msgid "Giving up on printing\n" msgstr "" #: libgeda/src/f_print.c:375 #, c-format msgid "Could not open [%s] for printing\n" msgstr "" #: libgeda/src/f_print.c:409 #, c-format msgid "Could not execute command [%s] for printing\n" msgstr "" #: libgeda/src/f_print.c:682 msgid "Too many UTF-8 characters, cannot print\n" msgstr "" #: libgeda/src/g_basic.c:264 msgid "" "\n" "Backtrace:\n" msgstr "" #: libgeda/src/g_rc.c:233 msgid "Config file already loaded" msgstr "" #: libgeda/src/g_rc.c:268 #, c-format msgid "Parsed config from [%s]\n" msgstr "" #: libgeda/src/g_rc.c:281 #, c-format msgid "Unable to parse config from [%s]: %s" msgstr "" #: libgeda/src/g_rc.c:298 msgid "ERROR: An unknown error occurred while parsing configuration files." msgstr "" #: libgeda/src/g_rc.c:310 libgeda/src/g_rc.c:311 #, c-format msgid "ERROR: %s\n" msgstr "" #: libgeda/src/g_rc.c:317 #, c-format msgid "ERROR: The %s log may contain more information.\n" msgstr "" #: libgeda/src/g_rc.c:978 msgid "" "WARNING: using a string for 'always-promote-attributes' is deprecated. Use a " "list of strings instead\n" msgstr "" #: libgeda/src/o_arc_basic.c:256 libgeda/src/o_arc_basic.c:269 msgid "Failed to parse arc object" msgstr "" #: libgeda/src/o_arc_basic.c:276 #, c-format msgid "Found a zero radius arc [ %c %d, %d, %d, %d, %d, %d ]\n" msgstr "" #: libgeda/src/o_arc_basic.c:282 libgeda/src/o_box_basic.c:327 #: libgeda/src/o_bus_basic.c:182 libgeda/src/o_circle_basic.c:289 #: libgeda/src/o_line_basic.c:264 libgeda/src/o_net_basic.c:171 #: libgeda/src/o_path_basic.c:189 libgeda/src/o_pin_basic.c:183 #: libgeda/src/o_text_basic.c:425 #, c-format msgid "Found an invalid color [ %s ]\n" msgstr "" #: libgeda/src/o_arc_basic.c:283 libgeda/src/o_box_basic.c:328 #: libgeda/src/o_bus_basic.c:183 libgeda/src/o_circle_basic.c:290 #: libgeda/src/o_line_basic.c:265 libgeda/src/o_net_basic.c:172 #: libgeda/src/o_path_basic.c:190 libgeda/src/o_pin_basic.c:184 #: libgeda/src/o_text_basic.c:426 msgid "Setting color to default color\n" msgstr "" #: libgeda/src/o_attrib.c:123 msgid "Attempt to attach non text item as an attribute!\n" msgstr "" #: libgeda/src/o_attrib.c:128 #, c-format msgid "Attempt to attach attribute [%s] to more than one object\n" msgstr "" #: libgeda/src/o_attrib.c:341 msgid "Tried to attach a non-text item as an attribute" msgstr "" #: libgeda/src/o_attrib.c:348 msgid "Unexpected end-of-file in attribute list" msgstr "" #: libgeda/src/o_basic.c:196 libgeda/src/o_basic.c:208 msgid "Invalid space specified, setting to 100\n" msgstr "" #: libgeda/src/o_basic.c:204 msgid "Invalid length specified, setting to 100\n" msgstr "" #: libgeda/src/o_box_basic.c:287 libgeda/src/o_box_basic.c:316 msgid "Failed to parse box object" msgstr "" #: libgeda/src/o_box_basic.c:322 #, c-format msgid "Found a zero width/height box [ %c %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_bus_basic.c:160 libgeda/src/o_bus_basic.c:167 msgid "Failed to parse bus object" msgstr "" #: libgeda/src/o_bus_basic.c:173 #, c-format msgid "Found a zero length bus [ %c %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_bus_basic.c:188 #, c-format msgid "Found an invalid bus ripper direction [ %s ]\n" msgstr "" #: libgeda/src/o_bus_basic.c:189 msgid "Resetting direction to neutral (no direction)\n" msgstr "" #: libgeda/src/o_circle_basic.c:193 msgid "Null radius circles are not allowed\n" msgstr "" #: libgeda/src/o_circle_basic.c:246 libgeda/src/o_circle_basic.c:275 msgid "Failed to parse circle object" msgstr "" #: libgeda/src/o_circle_basic.c:282 #, c-format msgid "Found a zero or negative radius circle [ %c %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_circle_basic.c:284 msgid "Setting radius to 0\n" msgstr "" #: libgeda/src/o_complex_basic.c:422 #, c-format msgid "" "Component not found:\n" " %s" msgstr "" #: libgeda/src/o_complex_basic.c:654 msgid "Failed to parse complex object" msgstr "" #: libgeda/src/o_complex_basic.c:667 #, c-format msgid "Found a component with an invalid rotation [ %c %d %d %d %d %d %s ]\n" msgstr "" #: libgeda/src/o_complex_basic.c:668 libgeda/src/o_picture.c:105 #: libgeda/src/o_text_basic.c:397 msgid "Setting angle to 0\n" msgstr "" #: libgeda/src/o_complex_basic.c:680 #, c-format msgid "" "Found a component with an invalid mirror flag [ %c %d %d %d %d %d %s ]\n" msgstr "" #: libgeda/src/o_complex_basic.c:681 msgid "Setting mirror to 0\n" msgstr "" #: libgeda/src/o_complex_basic.c:994 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse symbol file symversion=%s\n" msgstr "" #: libgeda/src/o_complex_basic.c:998 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse symbol file symversion=\n" msgstr "" #: libgeda/src/o_complex_basic.c:1014 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse attached symversion=%s\n" msgstr "" #: libgeda/src/o_complex_basic.c:1039 #, c-format msgid "" "WARNING: Symbol version oddity on refdes %s:\n" "\tsymversion=%s attached to instantiated symbol, but no symversion= inside " "symbol file\n" msgstr "" #: libgeda/src/o_complex_basic.c:1053 #, c-format msgid "" "WARNING: Symbol version mismatch on refdes %s (%s):\n" "\tSymbol in library is newer than instantiated symbol\n" msgstr "" #: libgeda/src/o_complex_basic.c:1081 #, c-format msgid "\tMAJOR VERSION CHANGE (file %.3f, instantiated %.3f, %s)!\n" msgstr "" #: libgeda/src/o_complex_basic.c:1099 #, c-format msgid "\tMinor version change (file %.3f, instantiated %.3f)\n" msgstr "" #: libgeda/src/o_complex_basic.c:1110 #, c-format msgid "" "WARNING: Symbol version oddity on refdes %s:\n" "\tInstantiated symbol is newer than symbol in library\n" msgstr "" #: libgeda/src/o_embed.c:58 #, c-format msgid "Component [%s] has been embedded\n" msgstr "" #: libgeda/src/o_embed.c:102 #, c-format msgid "" "Could not find component [%s], while trying to unembed. Component is still " "embedded\n" msgstr "" #: libgeda/src/o_embed.c:110 #, c-format msgid "Component [%s] has been successfully unembedded\n" msgstr "" #: libgeda/src/o_line_basic.c:229 libgeda/src/o_line_basic.c:247 msgid "Failed to parse line object" msgstr "" #: libgeda/src/o_line_basic.c:259 #, c-format msgid "Found a zero length line [ %c %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_net_basic.c:156 msgid "Failed to parse net object" msgstr "" #: libgeda/src/o_net_basic.c:161 #, c-format msgid "Found a zero length net [ %c %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_path_basic.c:181 msgid "Failed to parse path object" msgstr "" #: libgeda/src/o_path_basic.c:207 msgid "Unexpected end-of-file when reading path" msgstr "" #: libgeda/src/o_picture.c:72 msgid "Failed to parse picture definition" msgstr "" #: libgeda/src/o_picture.c:77 #, c-format msgid "Found a zero width/height picture [ %c %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_picture.c:82 #, c-format msgid "Found a picture with a wrong 'mirrored' parameter: %d.\n" msgstr "" #: libgeda/src/o_picture.c:84 msgid "Setting mirrored to 0\n" msgstr "" #: libgeda/src/o_picture.c:89 #, c-format msgid "Found a picture with a wrong 'embedded' parameter: %d.\n" msgstr "" #: libgeda/src/o_picture.c:91 msgid "Setting embedded to 0\n" msgstr "" #: libgeda/src/o_picture.c:104 #, c-format msgid "Found an unsupported picture angle [ %d ]\n" msgstr "" #: libgeda/src/o_picture.c:116 msgid "Found an image with no filename." msgstr "" #: libgeda/src/o_picture.c:147 #, c-format msgid "Failed to load image from embedded data [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:148 msgid "Base64 decoding failed." msgstr "" #: libgeda/src/o_picture.c:149 msgid "Falling back to file loading. Picture unembedded.\n" msgstr "" #: libgeda/src/o_picture.c:208 msgid "ERROR: o_picture_save: unable to encode the picture.\n" msgstr "" #: libgeda/src/o_picture.c:308 #, c-format msgid "Failed to load buffer image [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:321 #, c-format msgid "Failed to load image from [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:427 #, c-format msgid "Picture %p has invalid angle %i\n" msgstr "" #: libgeda/src/o_picture.c:957 #, c-format msgid "Picture [%s] has no image data.\n" msgstr "" #: libgeda/src/o_picture.c:958 msgid "Falling back to file loading. Picture is still unembedded.\n" msgstr "" #: libgeda/src/o_picture.c:966 #, c-format msgid "Picture [%s] has been embedded\n" msgstr "" #: libgeda/src/o_picture.c:990 #, c-format msgid "Failed to load image from file [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:992 msgid "Picture is still embedded.\n" msgstr "" #: libgeda/src/o_picture.c:1000 #, c-format msgid "Picture [%s] has been unembedded\n" msgstr "" #: libgeda/src/o_picture.c:1236 #, c-format msgid "Failed to load fallback image %s: %s.\n" msgstr "" #: libgeda/src/o_pin_basic.c:160 libgeda/src/o_pin_basic.c:168 msgid "Failed to parse pin object" msgstr "" #: libgeda/src/o_pin_basic.c:174 msgid "" "Found a pin which did not have the whichone field set.\n" "Verify and correct manually.\n" msgstr "" #: libgeda/src/o_pin_basic.c:177 #, c-format msgid "Found an invalid whichend on a pin (reseting to zero): %d\n" msgstr "" #: libgeda/src/o_text_basic.c:356 libgeda/src/o_text_basic.c:366 #: libgeda/src/o_text_basic.c:376 msgid "Failed to parse text object" msgstr "" #: libgeda/src/o_text_basic.c:383 #, c-format msgid "Found a zero size text string [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_text_basic.c:395 #, c-format msgid "Found an unsupported text angle [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_text_basic.c:417 #, c-format msgid "Found an unsupported text alignment [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_text_basic.c:419 msgid "Setting alignment to LOWER_LEFT\n" msgstr "" #: libgeda/src/o_text_basic.c:440 #, c-format msgid "Unexpected end-of-file after %d lines" msgstr "" #: libgeda/src/s_clib.c:465 #, c-format msgid "Library command failed [%s]: %s\n" msgstr "" #: libgeda/src/s_clib.c:470 #, c-format msgid "Library command failed [%s]: Uncaught signal %i.\n" msgstr "" #: libgeda/src/s_clib.c:474 #, c-format msgid "Library command failed [%s]\n" msgstr "" #: libgeda/src/s_clib.c:475 #, c-format msgid "" "Error output was:\n" "%s\n" msgstr "" #: libgeda/src/s_clib.c:561 #, c-format msgid "Library name [%s] already in use. Using [%s].\n" msgstr "" #: libgeda/src/s_clib.c:598 #, c-format msgid "Failed to open directory [%s]: %s\n" msgstr "" #: libgeda/src/s_clib.c:734 #, c-format msgid "Failed to scan library [%s]: Scheme function returned non-list\n" msgstr "" #: libgeda/src/s_clib.c:742 #, c-format msgid "Non-string symbol name while scanning library [%s]\n" msgstr "" #: libgeda/src/s_clib.c:901 libgeda/src/s_clib.c:948 msgid "Cannot add library: name not specified\n" msgstr "" #: libgeda/src/s_clib.c:908 #, c-format msgid "" "Cannot add library [%s]: both 'list' and 'get' commands must be specified.\n" msgstr "" #: libgeda/src/s_clib.c:956 #, c-format msgid "Cannot add Scheme-library [%s]: callbacks must be closures\n" msgstr "" #: libgeda/src/s_clib.c:1083 #, c-format msgid "Failed to load symbol from file [%s]: %s\n" msgstr "" #: libgeda/src/s_clib.c:1143 #, c-format msgid "Failed to load symbol data [%s] from source [%s]\n" msgstr "" #: libgeda/src/s_clib.c:1385 #, c-format msgid "Component [%s] was not found in the component library\n" msgstr "" #: libgeda/src/s_clib.c:1391 #, c-format msgid "More than one component found with name [%s]\n" msgstr "" #: libgeda/src/s_color.c:207 msgid "Color index out of range" msgstr "" #: libgeda/src/s_color.c:262 msgid "Color map entry must be a two-element list" msgstr "" #: libgeda/src/s_color.c:270 msgid "Index in color map entry must be an integer" msgstr "" #: libgeda/src/s_color.c:296 msgid "Value in color map entry must be #f or a string" msgstr "" #: libgeda/src/s_hierarchy.c:94 #, c-format msgid "" "hierarchy loop detected while visiting page:\n" " \"%s\"\n" msgstr "" #: libgeda/src/s_hierarchy.c:194 msgid "There are no schematics above the current one!\n" msgstr "" #: libgeda/src/s_hierarchy.c:274 #, c-format msgid "ERROR in s_hierarchy_traverse: schematic not found: %s\n" msgstr "" #: libgeda/src/s_page.c:213 #, c-format msgid "s_page_delete: Can't get the real filename of %s." msgstr "" #: libgeda/src/s_page.c:224 #, c-format msgid "s_page_delete: Unable to delete backup file %s." msgstr "" #: libgeda/src/s_page.c:499 #, c-format msgid "Saved [%s]\n" msgstr "" #: libgeda/src/s_page.c:505 #, c-format msgid "Could NOT save [%s]\n" msgstr "" #: libgeda/src/s_slib.c:171 #, c-format msgid "Found [%s]\n" msgstr "" #: libgeda/src/s_slib.c:181 #, c-format msgid "Could not find [%s] in any SourceLibrary\n" msgstr "" #: libgeda/src/s_slot.c:162 msgid "Did not find slotdef=#:#,#,#... attribute\n" msgstr "" #: libgeda/src/s_slot.c:168 msgid "Improper slotdef syntax: missing \":\".\n" msgstr "" #: libgeda/src/s_slot.c:183 msgid "Did not find proper slotdef=#:#,#,#... attribute\n" msgstr "" #: libgeda/src/s_slot.c:213 msgid "component missing pinseq= attribute\n" msgstr "" #: libgeda/src/scheme_attrib.c:67 msgid "~A is not a valid attribute: invalid string '~A'." msgstr "" #: libgeda/src/scheme_attrib.c:172 msgid "Objects ~A and ~A are not part of the same page and/or complex object" msgstr "" #: libgeda/src/scheme_attrib.c:179 libgeda/src/scheme_attrib.c:184 msgid "Object ~A is already attached as an attribute" msgstr "" #: libgeda/src/scheme_attrib.c:233 msgid "Object ~A is attribute of wrong object" msgstr "" #: libgeda/src/scheme_complex.c:148 msgid "Invalid complex angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_complex.c:265 libgeda/src/scheme_page.c:249 msgid "Object ~A is already attached to something" msgstr "" #: libgeda/src/scheme_complex.c:325 msgid "Object ~A is attached to a different complex" msgstr "" #: libgeda/src/scheme_complex.c:332 msgid "Object ~A is attached to a page" msgstr "" #: libgeda/src/scheme_complex.c:339 libgeda/src/scheme_page.c:301 msgid "Object ~A is attached as an attribute" msgstr "" #: libgeda/src/scheme_complex.c:346 libgeda/src/scheme_page.c:308 msgid "Object ~A has attributes" msgstr "" #: libgeda/src/scheme_object.c:232 msgid "Object ~A has bad type '~A'" msgstr "" #: libgeda/src/scheme_object.c:346 msgid "Object ~A has invalid stroke cap style ~A" msgstr "" #: libgeda/src/scheme_object.c:359 msgid "Object ~A has invalid stroke dash style ~A" msgstr "" #: libgeda/src/scheme_object.c:423 msgid "Invalid stroke cap style ~A." msgstr "" #: libgeda/src/scheme_object.c:434 msgid "Invalid stroke dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:444 msgid "Missing dash length parameter for dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:454 msgid "Missing dot/dash space parameter for dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:516 msgid "Object ~A has invalid fill style ~A" msgstr "" #: libgeda/src/scheme_object.c:565 msgid "Invalid fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:573 msgid "Missing second space parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:582 msgid "Missing second angle parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:592 msgid "Missing stroke width parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:601 msgid "Missing space parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:610 msgid "Missing angle parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:909 msgid "Invalid pin type ~A, must be 'net or 'bus" msgstr "" #: libgeda/src/scheme_object.c:952 msgid "Object ~A has invalid pin type." msgstr "" #: libgeda/src/scheme_object.c:1347 msgid "Invalid text alignment ~A." msgstr "" #: libgeda/src/scheme_object.c:1363 msgid "Invalid text angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_object.c:1382 msgid "Invalid text name/value visibility ~A." msgstr "" #: libgeda/src/scheme_object.c:1457 msgid "Text object ~A has invalid text alignment ~A" msgstr "" #: libgeda/src/scheme_object.c:1466 msgid "Text object ~A has invalid visibility ~A" msgstr "" #: libgeda/src/scheme_object.c:1476 msgid "Text object ~A has invalid text attribute visibility ~A" msgstr "" #: libgeda/src/scheme_object.c:1517 msgid "Object ~A is not included in a page." msgstr "" #: libgeda/src/scheme_object.c:1670 msgid "Path object ~A has invalid element type ~A at index ~A" msgstr "" #: libgeda/src/scheme_object.c:1784 msgid "Invalid path element type ~A." msgstr "" #: libgeda/src/scheme_object.c:1957 msgid "Invalid picture angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_page.c:294 msgid "Object ~A is attached to a complex or different page" msgstr "" #: libgeda/src/scheme_page.c:442 msgid "Parse error: ~s" msgstr "" #: libgeda/scheme/geda/attrib.scm:59 #, scheme-format msgid "Object ~A is not part of a page" msgstr "" geda-gaf-1.8.2/libgeda/po/stamp-po0000664000175000017500000000001212220651636013564 00000000000000timestamp geda-gaf-1.8.2/libgeda/po/ar.gmo0000664000175000017500000003652112220655642013226 00000000000000jl : 5L ( 0  9 1 O g ; K ' 3 K *d ! 0 6  2 (G 3p , ) T !P 7r 5 A G"j1(1) "7?Z2 GD9T~./.26a=45 -Ao:*C?8xA+R)~( 1/A-q3$!F:=?. N Z{j/H(x.D/iEbZ[]Me(>Tk401//_[ Uf&J. J5 9  6 ^ !|j!?!8'",`"M"("1#L6#"##Q#h$<$@$$"%K%K%YB&k&!'c*'L'H';$()`(i($(J)d)X~)S)|+*?*;*?$+Gd+D+P+PB,H,,,y -=-S-Q.g..l9/e/9 0;F0"0&0@0W 1>e1R1:1(223[2f212^(3`3K344JD4!474!4! 5-5=5=6YM6b6T 7_7|7b899*::c;z;;;;;];JT<]<S<52j^',=  WL$Y40Ti O Sb#f_"A6 h73+&`g1.XIE9a*JF;8VKeGU<! H>-[NB]Z)D(M%/Qd:@\RcC?P MAJOR VERSION CHANGE (file %.3f, instantiated %.3f, %s)! Minor version change (file %.3f, instantiated %.3f) Run gschem and correct the situation. WARNING: Found an autosave backup file: %s. %s: %sAttempt to attach attribute [%s] to more than one object Attempt to attach non text item as an attribute! Base64 decoding failed.Can't save backup file: %s.Cannot add Scheme-library [%s]: callbacks must be closures Cannot add library [%s]: both 'list' and 'get' commands must be specified. Cannot add library: name not specified Cannot find file %s: %sColor index out of rangeColor map entry must be a two-element listComponent [%s] has been embedded Component [%s] has been successfully unembedded Component [%s] was not found in the component library Component not found: %sCould NOT save [%s] Could NOT set backup file [%s] readonly Could NOT set previous backup file [%s] read-write Could not execute command [%s] for printing Could not find [%s] in any SourceLibrary Could not find component [%s], while trying to unembed. Component is still embedded Could not open [%s] for printing ERROR in s_hierarchy_traverse: schematic not found: %s ERROR: o_picture_save: unable to encode the picture. Error during reading of the prolog file `%s' in f_print_header() Error during writing of the output postscript file in f_print_header() Error output was: %s Failed to load image from embedded data [%s]: %s Failed to load image from file [%s]: %s Failed to load symbol data [%s] from source [%s] Failed to load symbol from file [%s]: %s Failed to open directory [%s]: %s Failed to scan library [%s]: Scheme function returned non-list Failed to stat [%s]: %sFalling back to file loading. Picture unembedded. Found [%s] Found a component with an invalid mirror flag [ %c %d %d %d %d %d %s ] Found a component with an invalid rotation [ %c %d %d %d %d %d %s ] Found a pin which did not have the whichone field set. Verify and correct manually. Found a zero length bus [ %c %d %d %d %d %d ] Found a zero length line [ %c %d %d %d %d %d ] Found a zero length net [ %c %d %d %d %d %d ] Found a zero radius arc [ %c %d, %d, %d, %d, %d, %d ] Found a zero size text string [ %c %d %d %d %d %d %d %d %d ] Found a zero width/height box [ %c %d %d %d %d %d ] Found a zero width/height picture [ %c %d %d %d %d ] Found an invalid bus ripper direction [ %s ] Found an invalid color [ %s ] Found an invalid whichend on a pin (reseting to zero): %d Found an unsupported picture angle [ %d ] Found an unsupported text alignment [ %c %d %d %d %d %d %d %d %d ] Found an unsupported text angle [ %c %d %d %d %d %d %d %d %d ] Giving up on printing Gschem usually makes backup copies automatically, and this situation happens when it crashed or it was forced to exit abruptly. I could not guess if it is newer, so you have to do it manually. Index in color map entry must be an integerInvalid length specified, setting to 100 Invalid space specified, setting to 100 Library command failed [%s] Library command failed [%s]: %s Library command failed [%s]: Uncaught signal %i. Library name [%s] already in use. Using [%s]. More than one component found with name [%s] Non-string symbol name while scanning library [%s] Null radius circles are not allowed Picture [%s] has been embedded Picture [%s] has been unembedded Read an old format sym/sch file! Please run g[sym|sch]update on: [%s] Read garbage in [%s] : >> %s<< Read unexpected embedded symbol end marker in [%s] : >> %s<< Read unexpected embedded symbol start marker in [%s] : >> %s<< Resetting direction to neutral (no direction) Saved [%s] Setting alignment to LOWER_LEFT Setting angle to 0 Setting color to default color Setting embedded to 0 Setting mirrored to 0 The backup copy is newer than the schematic, so it seems you should load it instead of the original file. There are no schematics above the current one! Too many UTF-8 characters, cannot print Unable to get time of day in f_print_header() Unable to open the prolog file `%s' for reading in f_print_header() Value in color map entry must be #f or a stringWARNING: Symbol version mismatch on refdes %s (%s): Symbol in library is newer than instantiated symbol WARNING: Symbol version oddity on refdes %s: Instantiated symbol is newer than symbol in library WARNING: Symbol version oddity on refdes %s: symversion=%s attached to instantiated symbol, but no symversion= inside symbol file WARNING: Symbol version parse error on refdes %s: Could not parse attached symversion=%s WARNING: Symbol version parse error on refdes %s: Could not parse symbol file symversion= WARNING: Symbol version parse error on refdes %s: Could not parse symbol file symversion=%s WARNING: using a string for 'always-promote-attributes' is deprecated. Use a list of strings instead gEDA Circuit SchematicgEDA Gsch2pcb ProjectgEDA Schematic SymbolgEDA circuit schematicgEDA gsch2pcb projectgEDA schematic symbolhierarchy loop detected while visiting page: "%s" o_save_objects: object %p has unknown type '%c' s_page_delete: Can't get the real filename of %s.s_page_delete: Unable to delete backup file %s.Project-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-01-31 12:11+0000 Last-Translator: Peter TB Brett Language-Team: gEDA developers Language: ar MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) ‏ تغيير أساسي في الإصدار (الملف %.3f، المثيل %.3f، %s)! ‏ تغيير ثانوي في الإصدار (الملف %.3f، المثيل %.3f) شغل gschem و صحح الوضع.  تحذير: العثور على ملف نسخ احتياطي: %s. %s: %sمحاولة إرفاق السمة [%s] لأكثر من كائن واحد محاولة إرفاق عنصر غير نصي كسمة! فشل ترميز Base64.يتعذّر حفظ الملف الاحتياطي: %s.يتعذّر إضافة مكتبة Scheme [%s]: الرد يجب أن يكون الإغلاق. يتعذر إضافة المكتبة [%s]: يجب تحديد الأوامر 'list' (قائمة) و 'get' (أحصل على). يتعذر إضافة المكتبة: لم يحدد الاسم يتعذّر العثور على الملف ‪%s‬: %sفهرس اللون خارج المجاليجب أن يكون إدخال خارطة اللون قائمة عنصرينتم تضمين المكون [‪%s‬] ألغي تضمين المكون [%s] بنجاح لم يعثر على المكون [%s] في المكتبة المكونات لم يعثر على مكون: %sتعذّر حفظ [‎%s‬] تعذّر وضع الملف الاحتياطي [‎%s‬] للقراءة فقط تعذّر وضع الملف الاحتياطي السابق [‎%s‬] للقراءة والكتابة تعذر تنفيذ الأمر [‪%s‬] للطباعة تعذر العثور على [%s] في أي مكتبة مصدر تعذر العثور على المكون [%s]، عند محاولة إلغاء التضمين. لا يزال المكون مضمنا تعذر فتح %s للطباعة خطأ في s_hierarchy_traverse: لم يعثر على المخطط: %s خطأ: o_picture_save: غير قادر على ترميز الصورة. حدث خطأ أثناء قراءة ملف prolog‏ '%s' في ‪f_print_header()‬ حدث خطأ أثناء كتابة ملف الإخراج بوستسكريبت في ‪f_print_header()‬ كان خطأ الإخراج: %s ‏تعذر تحميل الصورة من البيانات المضمنّة ‬‪[%s]‬:‪ %s‮ ‏تعذر تحميل الصورة من الملف ‬‪[%s]‬:‪ %s‮ تعذر تحميل بيانات الرمز [%s] من المصدر [%s] ‏تعذر تحميل الرمز من الملف [%s]: %s فشل في فتح الدليل [%s]: %s فشل في فحص المكتبة [%s]: أرجعت الدالة Scheme كائن آخر ليس قائمة فشل إلى الحالة [%s]: %sالتراجع لتحميل الملف. ألغي تضمين الصورة. عثر على [‎%s‬] عثر على مكون بعلامة مرآة غير صالحة [ %c %d %d %d %d %d %s ] عثر على مكون باستدارة غير صالحة [ %c %d %d %d %d %d %s ] عثر على دبوس ليس لديه حقل whichone (أيّ-واحد) معين. تحقق منه وصحيحه يدويا. عثر على ناقل صفر الطول [ %c %d %d %d %d %d ] عثر على خط صفر الطول [ %c %d %d %d %d %d ] عثر على شبكة صفر الطول [ %c %d %d %d %d %d ] عثر على قوس صفر الشعاع [ %c %d, %d, %d, %d, %d, %d ] عثر على نص صفر الحجم [ %c %d %d %d %d %d %d %d %d ] عثر على إطار صفر العرض/الارتفاع [ %c %d %d %d %d %d ] عثر على صورة صفر العرض/الارتفاع [ %c %d %d %d %d ] عثر على اتجاه غير صالح لمموج الناقل [ %s ] عثر على لون غير صالح [ %s ] عثر على whichend (أيّ-نهاية) غير صالح على دبوس (إعادة تعيين إلى الصفر): %d عثر على زاوية صورة غير مدعومة [ %d ] عثر على محاذاة نص غير مدعومة [ %c %d %d %d %d %d %d %d %d ] عثر على زاوية نص غير مدعومة [ %c %d %d %d %d %d %d %d %d ] تخلي عن الطباعة عادة ما يعمل gschem نسخا احتياطية تلقائيا، وهذا الوضع يحدث عندما يتحطم أو يجبر على الخروج بشكل مفاجئ. لم أستطع تخمين ما إذا كان أحدث، لذلك عليك أن تفعل ذلك يدويا. يجب أن يكون الفهرس في إدخال خارطة اللون عددا صحيحا (integer)الطول المحدد غير صالح، تعيين 100 الفضاء المحدد غير صالح، تعيين 100 فشل أمر المكتبة [%s] فشل أمر المكتبة [%s]: %s فشل أمر المكتبة [%s]: إشارة لم تمسك %i. اسم المكتبة [%s] قيد الاستخدام بالفعل.استعمال [%s]. أكثر من مكون واحد عثر عليه باسم [%s] عثر على اسم رمز غير نصي أثناء تفحص المكتبة [%s] غير مسموح بدوائر ذات شعاع معدوم تم تضمين الصورة [‪%s‬] تم إلغاء تضمين الصورة [‪%s‬] قراءة ملف تنسيق sym/sch قديم! الرجاء تشغيل g[sym|sch]update في: [%s] قراءة القمامة في [%s] : >> %s<< قراءة علامة نهاية غير متوقعة لرمز مضمن في [%s] : >> %s<< قراءة علامة بداية غير متوقعة لرمز مضمّن في [%s] : >> %s<< إعادة تعيين الاتجاه إلى محايد (دون اتجاه) ‏حفظ [%s] تعيين المحاذاة إلى LOWER_LEFT (اليسار-السفلي) تعيين 'زاوية' إلى 0 تغيير لون إلى اللون الإفتراضي تعيين 'مضمّن' إلى 0 تعيين 'معكوس' إلى 0 النسخة الاحتياطية أحدث من المخطّط، لذلك على ما يبدو يجب عليك تحميله بدلا من الملف الأصلي. لا توجد مخططات فوق المخطط الحالي! رموز UTF-8 كثيرة جدا، تتعذر الطباعة غير قادر الحصول على الوقت لليوم في ‪f_print_header()‬ غير قادر على فتح ملف prolog‏ '%s' للقراءة في ‪f_print_header()‬ يجب أن تكون القيمة في إدخال خارطة اللون f# أو نصتحذير: عدم تطابق رمز الإصدار في refdes %s (%s): ‏ الرمز في المكتبة أحدث من مثيله تحذير: غرابة إصدار الرمز في refdes %s: ‏ المثيل أحدث من الرمز في المكتبة ‏تحذير: غرابة إصدار الرمز في refdes %s: ‏ ‏symversion=%s مرفق إلى رمز مماثل، و لكن لا symversion= ضمن ملف الرمز تحذير: خطأ عند تحليل(إعراب) إصدار الرمز في refdes %s: ‏ تعذر تحليل المرفق symversion=%s تحذير: خطأ عند تحليل(إعراب) إصدار الرمز في refdes %s: ‏ تعذر تحليل ملف الرمز symversion= تحذير: خطأ عند تحليل(إعراب) إصدار الرمز في refdes %s: ‏ تعذر تحليل ملف الرمز symversion=%s تحذير: تم تغيير استعمال سلسلة نصية من أجل 'always-promote-attributes'.بدلا من ذلك استعمل قائمة سلاسل نصية مخطط دارة gEDAمشروع gEDA Gsch2pcbرمز مخطّط gEDA‏مخطّط دارة gEDAمشروع gEDA gsch2pcbرمز مخطّط gEDAاكتشاف حلقة التسلسل الهرمي أثناء زيارة الصفحة: "%s" ‏o_save_objects: يملك الكائن %p نوعا مجهولا '%c' ‏s_page_delete : يتعذر الحصول على الاسم الحقيقي للملف %s.‏‏s_page_delete: غير قادرة على حذف الملف الاحتياطي %s.geda-gaf-1.8.2/libgeda/po/sv.gmo0000664000175000017500000000104112220655642013241 00000000000000,<PQiCannot find file %s: %sProject-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-01-27 14:12+0000 Last-Translator: FULL NAME Language-Team: Swedish Language: sv MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) Kan inte hitta filen %s: %sgeda-gaf-1.8.2/libgeda/po/nl.po0000664000175000017500000007503712220655642013076 00000000000000# Dutch translation for the geda-libgeda package. # Copyright (C) 1998-2008 Ales Hvezda and the respective original authors (which are listed on the respective files). # This file is distributed under the same license as the geda-libgeda package. # Bert Timmerman , 2007, 2008, 2012 # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-11-15 09:55+0100\n" "Last-Translator: Bert Timmerman \n" "Language-Team: gEDA developers \n" "Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" "X-Poedit-Country: NETHERLANDS\n" "X-Poedit-Language: Dutch\n" #: libgeda/data/libgeda.xml.in:3 msgid "gEDA circuit schematic" msgstr "gEDA schakeling schema" #: libgeda/data/libgeda.xml.in:4 msgid "gEDA schematic symbol" msgstr "gEDA schema symbool" #: libgeda/data/libgeda.xml.in:5 msgid "gEDA gsch2pcb project" msgstr "gEDA gsch2pcb project" #: libgeda/data/x-geda-gsch2pcb-project.desktop.in:3 msgid "gEDA Gsch2pcb Project" msgstr "gEDA Gsch2pcb Project" #: libgeda/data/x-geda-schematic.desktop.in:3 msgid "gEDA Circuit Schematic" msgstr "gEDA Schakeling Schema" #: libgeda/data/x-geda-symbol.desktop.in:3 msgid "gEDA Schematic Symbol" msgstr "gEDA Schema Symbool" #: libgeda/src/a_basic.c:182 #, c-format msgid "o_save_objects: object %p has unknown type '%c'\n" msgstr "o_save_objects: object %p heeft een onbekend type '%c'\n" #: libgeda/src/a_basic.c:238 libgeda/src/f_basic.c:384 #, c-format msgid "File %s is read-only" msgstr "Bestand %s is alleen-lezen" #: libgeda/src/a_basic.c:423 #, c-format msgid "" "Read unexpected attach symbol start marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" "Lees een onverwacht toegevoegd symbool start merkteken in [%s] :\n" ">>\n" "%s<<\n" #: libgeda/src/a_basic.c:440 #, c-format msgid "" "Read unexpected embedded symbol start marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" "Lees een onverwacht ingesloten symbool start teken in [%s] :\n" ">>\n" "%s<<\n" #: libgeda/src/a_basic.c:471 #, c-format msgid "" "Read unexpected embedded symbol end marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" "Lees een onverwacht ingesloten symbool einde teken in [%s] :\n" ">>\n" "%s<<\n" #: libgeda/src/a_basic.c:506 #, c-format msgid "" "Read an old format sym/sch file!\n" "Please run g[sym|sch]update on:\n" "[%s]\n" msgstr "" "Lees een oud formaat sym/sch bestand!\n" "Voer g[sym|sch]update uit op:\n" "[%s]\n" #: libgeda/src/a_basic.c:512 #, c-format msgid "" "Read garbage in [%s] :\n" ">>\n" "%s<<\n" msgstr "" "Lees onzin in [%s] :\n" ">>\n" "%s<<\n" #: libgeda/src/f_basic.c:123 libgeda/src/f_basic.c:136 #, c-format msgid "Failed to stat [%s]: %s" msgstr "Status niet gelukt [%s]: %s" #: libgeda/src/f_basic.c:221 #, c-format msgid "Cannot find file %s: %s" msgstr "Kan bestand %s niet vinden: %s" #: libgeda/src/f_basic.c:269 #, c-format msgid "" "\n" "WARNING: Found an autosave backup file:\n" " %s.\n" "\n" msgstr "" "\n" "WAARSCHUWING: een autosave reserve bestand gevonden:\n" " %s.\n" "\n" #: libgeda/src/f_basic.c:271 msgid "I could not guess if it is newer, so you have to do it manually.\n" msgstr "Ik kan niet raden of het nieuwer is, je moet het dus handmatig doen.\n" #: libgeda/src/f_basic.c:273 msgid "" "The backup copy is newer than the schematic, so it seems you should load it " "instead of the original file.\n" msgstr "" "De reservekopie is nieuwer dan het schema, het lijkt erop dat je deze zou " "moeten laden in plaats van het orginele bestand.\n" #: libgeda/src/f_basic.c:275 msgid "" "Gschem usually makes backup copies automatically, and this situation happens " "when it crashed or it was forced to exit abruptly.\n" msgstr "" "Gschem maakt gewoonlijk automatisch reservekopieen, en deze situatie komt " "voor wanneer er een crash is of wanneer er een abrupte gedwongen beeindiging " "was.\n" #: libgeda/src/f_basic.c:278 msgid "" "\n" "Run gschem and correct the situation.\n" "\n" msgstr "" "\n" "Voer gschem uit en corrigeer de situatie.\n" "\n" #: libgeda/src/f_basic.c:374 #, c-format msgid "Can't get the real filename of %s: %s" msgstr "Kan de werkelijke bestandsnaam van %s: %s niet krijgen" #: libgeda/src/f_basic.c:405 #, c-format msgid "Could NOT set previous backup file [%s] read-write\n" msgstr "Kan vorige reservekopie [%s] NIET op lezen-schrijven instellen\n" #: libgeda/src/f_basic.c:411 #, c-format msgid "Can't save backup file: %s." msgstr "Kan reservekopie niet opslaan: %s." #: libgeda/src/f_basic.c:421 #, c-format msgid "Could NOT set backup file [%s] readonly\n" msgstr "Kan reservekopie [%s] NIET op alleen-lezen instellen\n" #: libgeda/src/f_basic.c:480 #, c-format msgid "Could NOT save file: %s" msgstr "Kan bestand: %s NIET opslaan" #: libgeda/src/f_basic.c:727 #, c-format msgid "%s: %s" msgstr "%s: %s" #: libgeda/src/f_print.c:123 msgid "Unable to get time of day in f_print_header()\n" msgstr "Kan geen tijd van de dag krijgen in f_print_header()\n" #: libgeda/src/f_print.c:165 #, c-format msgid "Unable to open the prolog file `%s' for reading in f_print_header()\n" msgstr "" "Kan het prolog bestand `%s' niet openen tijdens lezen in f_print_header()\n" #: libgeda/src/f_print.c:182 #, c-format msgid "Error during reading of the prolog file `%s' in f_print_header()\n" msgstr "Fout tijdens het lezen van prolog bestand `%s' in f_print_header()\n" #: libgeda/src/f_print.c:188 msgid "" "Error during writing of the output postscript file in f_print_header()\n" msgstr "" "Fout tijdens het schrijven van het postscript uitvoerbestand in " "f_print_header()\n" #: libgeda/src/f_print.c:202 msgid "Giving up on printing\n" msgstr "Geef het afdrukken op\n" #: libgeda/src/f_print.c:375 #, c-format msgid "Could not open [%s] for printing\n" msgstr "Kan [%s] niet openen voor afdrukken\n" #: libgeda/src/f_print.c:409 #, c-format msgid "Could not execute command [%s] for printing\n" msgstr "Kan opdracht [%s] niet uitvoeren voor afdrukken\n" #: libgeda/src/f_print.c:682 msgid "Too many UTF-8 characters, cannot print\n" msgstr "Te veel UTF-8 karakters, kan niet afdrukken\n" #: libgeda/src/g_basic.c:264 msgid "" "\n" "Backtrace:\n" msgstr "" "\n" "Traceren:\n" # We hebben deze al ingelezen. #: libgeda/src/g_rc.c:233 msgid "Config file already loaded" msgstr "Configuratie bestand is reeds ingelezen" #: libgeda/src/g_rc.c:268 #, c-format msgid "Parsed config from [%s]\n" msgstr "Lees configuratie van [%s]\n" #: libgeda/src/g_rc.c:281 #, c-format msgid "Unable to parse config from [%s]: %s" msgstr "Kan configuratie niet uitlezen van [%s]: %s" #: libgeda/src/g_rc.c:298 msgid "ERROR: An unknown error occurred while parsing configuration files." msgstr "" "FOUT: Een onbekende fout trad op tijdens het doorlopen van configuratie " "bestanden." #: libgeda/src/g_rc.c:310 libgeda/src/g_rc.c:311 #, c-format msgid "ERROR: %s\n" msgstr "FOUT: %s\n" #: libgeda/src/g_rc.c:317 #, c-format msgid "ERROR: The %s log may contain more information.\n" msgstr "FOUT: De %s log kan meer informatie bevatten.\n" #: libgeda/src/g_rc.c:978 msgid "" "WARNING: using a string for 'always-promote-attributes' is deprecated. Use a " "list of strings instead\n" msgstr "" "WAARSCHUWING: gebruik van een string voor 'always-promote-attributes' is " "vervallen, gebruik hiervoor in de plaats een lijst van strings\n" #: libgeda/src/o_arc_basic.c:256 libgeda/src/o_arc_basic.c:269 msgid "Failed to parse arc object" msgstr "Faalde bij het ontleden van een boog object" #: libgeda/src/o_arc_basic.c:276 #, c-format msgid "Found a zero radius arc [ %c %d, %d, %d, %d, %d, %d ]\n" msgstr "Boog met een straal van nul gevonden [ %c %d, %d, %d, %d, %d, %d ]\n" #: libgeda/src/o_arc_basic.c:282 libgeda/src/o_box_basic.c:327 #: libgeda/src/o_bus_basic.c:182 libgeda/src/o_circle_basic.c:289 #: libgeda/src/o_line_basic.c:264 libgeda/src/o_net_basic.c:171 #: libgeda/src/o_path_basic.c:189 libgeda/src/o_pin_basic.c:183 #: libgeda/src/o_text_basic.c:425 #, c-format msgid "Found an invalid color [ %s ]\n" msgstr "Ongeldige kleur [ %s ] gevonden\n" #: libgeda/src/o_arc_basic.c:283 libgeda/src/o_box_basic.c:328 #: libgeda/src/o_bus_basic.c:183 libgeda/src/o_circle_basic.c:290 #: libgeda/src/o_line_basic.c:265 libgeda/src/o_net_basic.c:172 #: libgeda/src/o_path_basic.c:190 libgeda/src/o_pin_basic.c:184 #: libgeda/src/o_text_basic.c:426 msgid "Setting color to default color\n" msgstr "Stel de kleur in op standaard kleur\n" #: libgeda/src/o_attrib.c:123 msgid "Attempt to attach non text item as an attribute!\n" msgstr "Probeerde een niet text item toe te voegen als een attribuut!\n" #: libgeda/src/o_attrib.c:128 #, c-format msgid "Attempt to attach attribute [%s] to more than one object\n" msgstr "Probeerde attribuut [%s] aan meer dan een object toe te voegen\n" #: libgeda/src/o_attrib.c:341 msgid "Tried to attach a non-text item as an attribute" msgstr "Probeerde een niet tekst item toe te voegen als een attribuut" #: libgeda/src/o_attrib.c:348 msgid "Unexpected end-of-file in attribute list" msgstr "Onverwacht einde-bestand in attribuutlijst" #: libgeda/src/o_basic.c:196 libgeda/src/o_basic.c:208 msgid "Invalid space specified, setting to 100\n" msgstr "Ongeldige ruimte gespecificeerd, ingesteld op 100\n" #: libgeda/src/o_basic.c:204 msgid "Invalid length specified, setting to 100\n" msgstr "Ongeldige lengte gespecificeerd, ingesteld op 100\n" #: libgeda/src/o_box_basic.c:287 libgeda/src/o_box_basic.c:316 msgid "Failed to parse box object" msgstr "Faalde bij het ontleden van een rechthoek object" #: libgeda/src/o_box_basic.c:322 #, c-format msgid "Found a zero width/height box [ %c %d %d %d %d %d ]\n" msgstr "" "Rechthoek met een breedte/hoogte van nul gevonden [ %c %d %d %d %d %d ]\n" #: libgeda/src/o_bus_basic.c:160 libgeda/src/o_bus_basic.c:167 msgid "Failed to parse bus object" msgstr "Faalde bij het ontleden van een bus object" #: libgeda/src/o_bus_basic.c:173 #, c-format msgid "Found a zero length bus [ %c %d %d %d %d %d ]\n" msgstr "Bus met een lengte van nul gevonden [ %c %d %d %d %d %d ]\n" #: libgeda/src/o_bus_basic.c:188 #, c-format msgid "Found an invalid bus ripper direction [ %s ]\n" msgstr "Ongeldige bus ripper richting gevonden [ %s ]\n" #: libgeda/src/o_bus_basic.c:189 msgid "Resetting direction to neutral (no direction)\n" msgstr "Neutrale richting ingesteld (geen richting)\n" #: libgeda/src/o_circle_basic.c:193 msgid "Null radius circles are not allowed\n" msgstr "Cirkels met een radius van nul zijn niet toegestaan\n" #: libgeda/src/o_circle_basic.c:246 libgeda/src/o_circle_basic.c:275 msgid "Failed to parse circle object" msgstr "Faalde bij het ontleden van een cirkel object" #: libgeda/src/o_circle_basic.c:282 #, c-format msgid "Found a zero or negative radius circle [ %c %d %d %d %d ]\n" msgstr "Een cirkel met een radius van nul gevonden [ %c %d %d %d %d ]\n" #: libgeda/src/o_circle_basic.c:284 msgid "Setting radius to 0\n" msgstr "Radius op 0 ingesteld\n" #: libgeda/src/o_complex_basic.c:422 #, c-format msgid "" "Component not found:\n" " %s" msgstr "" "Komponent niet gevonden:\n" " %s" #: libgeda/src/o_complex_basic.c:654 msgid "Failed to parse complex object" msgstr "Faalde bij het ontleden van een complex object" #: libgeda/src/o_complex_basic.c:667 #, c-format msgid "Found a component with an invalid rotation [ %c %d %d %d %d %d %s ]\n" msgstr "" "Een komponent met een ongeldige rotatie gevonden [ %c %d %d %d %d %d %s ]\n" #: libgeda/src/o_complex_basic.c:668 libgeda/src/o_picture.c:105 #: libgeda/src/o_text_basic.c:397 msgid "Setting angle to 0\n" msgstr "Hoek op 0 ingesteld\n" #: libgeda/src/o_complex_basic.c:680 #, c-format msgid "" "Found a component with an invalid mirror flag [ %c %d %d %d %d %d %s ]\n" msgstr "" "Een komponent met een ongeldige spiegel vlag gevonden [ %c %d %d %d %d %d " "%s ]\n" #: libgeda/src/o_complex_basic.c:681 msgid "Setting mirror to 0\n" msgstr "Spiegelen op 0 ingesteld\n" #: libgeda/src/o_complex_basic.c:994 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse symbol file symversion=%s\n" msgstr "" "WAARSCHUWING: Symbool versie zoek fout bij refdes %s:\n" "\tKan symboolbestand niet doorzoeken symversion=%s\n" #: libgeda/src/o_complex_basic.c:998 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse symbol file symversion=\n" msgstr "" "WAARSCHUWING: Symbool versie zoek fout bij refdes %s:\n" "\tKan symboolbestand niet doorzoeken symversion=\n" #: libgeda/src/o_complex_basic.c:1014 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse attached symversion=%s\n" msgstr "" "WAARSCHUWING: Symbool versie zoek fout bij refdes %s:\n" "\tKan bijgevoegd symboolbestand niet doorzoeken symversion=%s\n" #: libgeda/src/o_complex_basic.c:1039 #, c-format msgid "" "WARNING: Symbol version oddity on refdes %s:\n" "\tsymversion=%s attached to instantiated symbol, but no symversion= inside " "symbol file\n" msgstr "" "WAARSCHUWING: Symbool versie afwijking bij refdes %s:\n" "\tsymversion=%s bijgevoegd aan bedoelde symbool, maar geen symversion= in " "het symbool bestand\n" #: libgeda/src/o_complex_basic.c:1053 #, c-format msgid "" "WARNING: Symbol version mismatch on refdes %s (%s):\n" "\tSymbol in library is newer than instantiated symbol\n" msgstr "" "WAARSCHUWING: Symbool versie fout bij refdes %s (%s):\n" "\tSymbool in bibliotheek is nieuwer dan bedoelde symbool\n" #: libgeda/src/o_complex_basic.c:1081 #, c-format msgid "\tMAJOR VERSION CHANGE (file %.3f, instantiated %.3f, %s)!\n" msgstr "\tGROTE VERSIE VERANDERING (bestand %.3f, bedoeld %.3f, %s)!\n" #: libgeda/src/o_complex_basic.c:1099 #, c-format msgid "\tMinor version change (file %.3f, instantiated %.3f)\n" msgstr "\tKleine versie verandering (bestand %.3f, bedoeld %.3f)!\n" #: libgeda/src/o_complex_basic.c:1110 #, c-format msgid "" "WARNING: Symbol version oddity on refdes %s:\n" "\tInstantiated symbol is newer than symbol in library\n" msgstr "" "WAARSCHUWING: Symbool versie afwijking bij refdes %s:\n" "\tbedoeld symbool is nieuwer dan het symbool in de bibliotheek\n" #: libgeda/src/o_embed.c:58 #, c-format msgid "Component [%s] has been embedded\n" msgstr "Komponent [%s] is ingevoegd\n" #: libgeda/src/o_embed.c:102 #, c-format msgid "" "Could not find component [%s], while trying to unembed. Component is still " "embedded\n" msgstr "" "Kan komponent [%s] niet vinden, tijdens het uitvoegen. Komponent is nog " "steeds ingevoegd\n" #: libgeda/src/o_embed.c:110 #, c-format msgid "Component [%s] has been successfully unembedded\n" msgstr "Komponent [%s] is succesvol uitgevoegd\n" #: libgeda/src/o_line_basic.c:229 libgeda/src/o_line_basic.c:247 msgid "Failed to parse line object" msgstr "Faalde bij het ontleden van een lijn object" #: libgeda/src/o_line_basic.c:259 #, c-format msgid "Found a zero length line [ %c %d %d %d %d %d ]\n" msgstr "Lijn met een lengte van nul gevonden [ %c %d %d %d %d %d ]\n" #: libgeda/src/o_net_basic.c:156 msgid "Failed to parse net object" msgstr "Faalde bij het ontleden van een net object" #: libgeda/src/o_net_basic.c:161 #, c-format msgid "Found a zero length net [ %c %d %d %d %d %d ]\n" msgstr "Net met een lengte van nul gevonden [ %c %d %d %d %d %d ]\n" #: libgeda/src/o_path_basic.c:181 msgid "Failed to parse path object" msgstr "Faalde bij het ontleden van een pad object" #: libgeda/src/o_path_basic.c:207 msgid "Unexpected end-of-file when reading path" msgstr "Onverwacht einde-bestand tijdens het lezen van een pad" #: libgeda/src/o_picture.c:72 msgid "Failed to parse picture definition" msgstr "Faalde bij het ontleden van een afbeelding definitie" #: libgeda/src/o_picture.c:77 #, c-format msgid "Found a zero width/height picture [ %c %d %d %d %d ]\n" msgstr "" "Afbeelding met een breedte/hoogte van nul gevonden [ %c %d %d %d %d ]\n" #: libgeda/src/o_picture.c:82 #, c-format msgid "Found a picture with a wrong 'mirrored' parameter: %d.\n" msgstr "Afbeelding met een verkeerde 'gespiegelde' parameter gevonden: %d.\n" #: libgeda/src/o_picture.c:84 msgid "Setting mirrored to 0\n" msgstr "Spiegelen op 0 ingesteld\n" #: libgeda/src/o_picture.c:89 #, c-format msgid "Found a picture with a wrong 'embedded' parameter: %d.\n" msgstr "Afbeelding met een verkeerd 'ingevoegde' waarde gevonden: %d.\n" #: libgeda/src/o_picture.c:91 msgid "Setting embedded to 0\n" msgstr "Invoegen op 0 ingesteld\n" #: libgeda/src/o_picture.c:104 #, c-format msgid "Found an unsupported picture angle [ %d ]\n" msgstr "Niet ondersteunde afbeelding hoek [ %d ] gevonden\n" #: libgeda/src/o_picture.c:116 msgid "Found an image with no filename." msgstr "Vond een afbeelding zonder bestandsnaam." #: libgeda/src/o_picture.c:147 #, c-format msgid "Failed to load image from embedded data [%s]: %s\n" msgstr "Laden van afbeelding uit ingesloten data faalde [%s]: %s\n" #: libgeda/src/o_picture.c:148 msgid "Base64 decoding failed." msgstr "Base64 decodering faalde." #: libgeda/src/o_picture.c:149 msgid "Falling back to file loading. Picture unembedded.\n" msgstr "Val terug op het laden van bestand. Afbeelding uitgevoegd.\n" #: libgeda/src/o_picture.c:208 msgid "ERROR: o_picture_save: unable to encode the picture.\n" msgstr "FOUT: o_picture_save: kan de afbeelding niet coderen.\n" #: libgeda/src/o_picture.c:308 #, c-format msgid "Failed to load buffer image [%s]: %s\n" msgstr "Laden van afbeelding [%s] uit buffer faalde: %s\n" #: libgeda/src/o_picture.c:321 #, c-format msgid "Failed to load image from [%s]: %s\n" msgstr "Laden van afbeelding uit [%s] faalde: %s\n" #: libgeda/src/o_picture.c:427 #, c-format msgid "Picture %p has invalid angle %i\n" msgstr "Afbeelding %p heeft een ongeldige hoek %i\n" #: libgeda/src/o_picture.c:957 #, c-format msgid "Picture [%s] has no image data.\n" msgstr "Afbeelding [%s] heeft geen beeldinformatie.\n" #: libgeda/src/o_picture.c:958 msgid "Falling back to file loading. Picture is still unembedded.\n" msgstr "" "Val terug op het laden van bestand. Afbeelding is nog steeds uitgevoegd.\n" #: libgeda/src/o_picture.c:966 #, c-format msgid "Picture [%s] has been embedded\n" msgstr "Afbeelding [%s] is ingevoegd\n" #: libgeda/src/o_picture.c:990 #, c-format msgid "Failed to load image from file [%s]: %s\n" msgstr "Laden van afbeelding uit bestand faalde [%s]: %s\n" #: libgeda/src/o_picture.c:992 msgid "Picture is still embedded.\n" msgstr "Afbeelding is nog steeds ingevoegd.\n" #: libgeda/src/o_picture.c:1000 #, c-format msgid "Picture [%s] has been unembedded\n" msgstr "Afbeelding [%s] is uitgevoegd\n" #: libgeda/src/o_picture.c:1236 #, c-format msgid "Failed to load fallback image %s: %s.\n" msgstr "Laden van afbeelding uit bestand %s faalde: %s.\n" #: libgeda/src/o_pin_basic.c:160 libgeda/src/o_pin_basic.c:168 msgid "Failed to parse pin object" msgstr "Faalde bij het ontleden van een pin object" #: libgeda/src/o_pin_basic.c:174 msgid "" "Found a pin which did not have the whichone field set.\n" "Verify and correct manually.\n" msgstr "" "Pen die geen whichone veld ingesteld heeft gevonden.\n" "Verifieer en corigeer handmatig.\n" #: libgeda/src/o_pin_basic.c:177 #, c-format msgid "Found an invalid whichend on a pin (reseting to zero): %d\n" msgstr "Pen met een ongeldige whichend gevonden (instellen op nul): %d\n" #: libgeda/src/o_text_basic.c:356 libgeda/src/o_text_basic.c:366 #: libgeda/src/o_text_basic.c:376 msgid "Failed to parse text object" msgstr "Faalde bij het ontleden van een tekst object" #: libgeda/src/o_text_basic.c:383 #, c-format msgid "Found a zero size text string [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" "Tekst string met een afmeting van nul gevonden [ %c %d %d %d %d %d %d %d " "%d ]\n" #: libgeda/src/o_text_basic.c:395 #, c-format msgid "Found an unsupported text angle [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "Niet ondersteunde teksthoek gevonden [ %c %d %d %d %d %d %d %d %d ]\n" #: libgeda/src/o_text_basic.c:417 #, c-format msgid "Found an unsupported text alignment [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" "Niet ondersteunde tekst uitlijning gevonden [ %c %d %d %d %d %d %d %d %d ]\n" #: libgeda/src/o_text_basic.c:419 msgid "Setting alignment to LOWER_LEFT\n" msgstr "Uitlijning op LINKS_ONDER ingesteld\n" #: libgeda/src/o_text_basic.c:440 #, c-format msgid "Unexpected end-of-file after %d lines" msgstr "Onverwacht einde-bestand na %d lijnen" #: libgeda/src/s_clib.c:465 #, c-format msgid "Library command failed [%s]: %s\n" msgstr "Bibliotheek opdracht faalde [%s]: %s\n" #: libgeda/src/s_clib.c:470 #, c-format msgid "Library command failed [%s]: Uncaught signal %i.\n" msgstr "Bibliotheek opdracht faalde [%s]: Niet opgevangen signaal %i.\n" #: libgeda/src/s_clib.c:474 #, c-format msgid "Library command failed [%s]\n" msgstr "Bibliotheek opdracht faalde [%s]\n" #: libgeda/src/s_clib.c:475 #, c-format msgid "" "Error output was:\n" "%s\n" msgstr "" "Fout uitvoer was:\n" "%s\n" #: libgeda/src/s_clib.c:561 #, c-format msgid "Library name [%s] already in use. Using [%s].\n" msgstr "Bibliotheeknaam [%s] is al in gebruik. Gebruik nu [%s].\n" #: libgeda/src/s_clib.c:598 #, c-format msgid "Failed to open directory [%s]: %s\n" msgstr "Openen van directory faalde [%s]: %s\n" #: libgeda/src/s_clib.c:734 #, c-format msgid "Failed to scan library [%s]: Scheme function returned non-list\n" msgstr "" "Doorzoeken van bibliotheek [%s] faalde: Scheme functie retourneerde non-" "list\n" #: libgeda/src/s_clib.c:742 #, c-format msgid "Non-string symbol name while scanning library [%s]\n" msgstr "" "Niet string symboolnaam tijdens het doorzoeken van de bibliotheek [%s]\n" #: libgeda/src/s_clib.c:901 libgeda/src/s_clib.c:948 msgid "Cannot add library: name not specified\n" msgstr "Kan bibliotheek niet toevoegen: naam niet gespecificeerd\n" #: libgeda/src/s_clib.c:908 #, c-format msgid "" "Cannot add library [%s]: both 'list' and 'get' commands must be specified.\n" msgstr "" "Kan bibliotheek niet toevoegen [%s]: zowel 'list' en 'get' opdrachten moeten " "gespecificeerd zijn.\n" #: libgeda/src/s_clib.c:956 #, c-format msgid "Cannot add Scheme-library [%s]: callbacks must be closures\n" msgstr "" "Kan scheme bibliotheek niet toevoegen [%s]: callbacks moeten afsluitingen " "zijn\n" #: libgeda/src/s_clib.c:1083 #, c-format msgid "Failed to load symbol from file [%s]: %s\n" msgstr "Laden van symbool uit bestand faalde [%s]: %s\n" #: libgeda/src/s_clib.c:1143 #, c-format msgid "Failed to load symbol data [%s] from source [%s]\n" msgstr "Laden van symbool gegevens [%s] uit bron [%s] faalde\n" #: libgeda/src/s_clib.c:1385 #, c-format msgid "Component [%s] was not found in the component library\n" msgstr "Komponent [%s] is niet in de komponenten bibliotheek gevonden\n" # Meer dan een symbool #: libgeda/src/s_clib.c:1391 #, c-format msgid "More than one component found with name [%s]\n" msgstr "Meer dan een komponent gevonden met de naam [%s]\n" #: libgeda/src/s_color.c:207 msgid "Color index out of range" msgstr "Kleuren index buiten bereik" #: libgeda/src/s_color.c:262 msgid "Color map entry must be a two-element list" msgstr "Kleuren map invoer moet een twee-element lijst zijn" #: libgeda/src/s_color.c:270 msgid "Index in color map entry must be an integer" msgstr "Index in kleuren map invoer moet een integer zijn" #: libgeda/src/s_color.c:296 msgid "Value in color map entry must be #f or a string" msgstr "Waarde in kleuren map invoer moet een #f of een string zijn" #: libgeda/src/s_hierarchy.c:94 #, c-format msgid "" "hierarchy loop detected while visiting page:\n" " \"%s\"\n" msgstr "" "hierarchie lus gedetecteerd tijdens het bezoeken van pagina:\n" " \"%s\"\n" #: libgeda/src/s_hierarchy.c:194 msgid "There are no schematics above the current one!\n" msgstr "Er zijn geen schema's boven de huidige!\n" #: libgeda/src/s_hierarchy.c:274 #, c-format msgid "ERROR in s_hierarchy_traverse: schematic not found: %s\n" msgstr "FOUT in s_hierarchy_traverse: schema niet gevonden: %s\n" #: libgeda/src/s_page.c:213 #, c-format msgid "s_page_delete: Can't get the real filename of %s." msgstr "s_page_delete: Kan de echte bestandsnaam van %s niet krijgen." #: libgeda/src/s_page.c:224 #, c-format msgid "s_page_delete: Unable to delete backup file %s." msgstr "s_page_delete: Niet mogelijk om reservekopie %s te verwijderen." #: libgeda/src/s_page.c:499 #, c-format msgid "Saved [%s]\n" msgstr "[%s] opgeslagen\n" #: libgeda/src/s_page.c:505 #, c-format msgid "Could NOT save [%s]\n" msgstr "Kan [%s] NIET opslaan\n" #: libgeda/src/s_slib.c:171 #, c-format msgid "Found [%s]\n" msgstr "[%s] gevonden\n" #: libgeda/src/s_slib.c:181 #, c-format msgid "Could not find [%s] in any SourceLibrary\n" msgstr "Kan geen [%s] vinden in welke BronBibliotheek dan ook!\n" #: libgeda/src/s_slot.c:162 msgid "Did not find slotdef=#:#,#,#... attribute\n" msgstr "Geen slotdef=#:#,#,#... attribuut gevonden\n" #: libgeda/src/s_slot.c:168 msgid "Improper slotdef syntax: missing \":\".\n" msgstr "Goed slotdef syntax: ontbreekt \":\".\n" #: libgeda/src/s_slot.c:183 msgid "Did not find proper slotdef=#:#,#,#... attribute\n" msgstr "Geen goed slotdef=#:#,#,#... attribuut gevonden\n" #: libgeda/src/s_slot.c:213 msgid "component missing pinseq= attribute\n" msgstr "component mist een pinseq- attribuut\n" #: libgeda/src/scheme_attrib.c:67 msgid "~A is not a valid attribute: invalid string '~A'." msgstr "~A is een ongeldige attribuut: ongeldige rij '~A'." #: libgeda/src/scheme_attrib.c:172 msgid "Objects ~A and ~A are not part of the same page and/or complex object" msgstr "" "Objecten ~A en ~A zijn geen onderdeel van dezelfde pagina en/of complex " "object" #: libgeda/src/scheme_attrib.c:179 libgeda/src/scheme_attrib.c:184 msgid "Object ~A is already attached as an attribute" msgstr "Object ~A is reeds bevestigd als een attribuut" #: libgeda/src/scheme_attrib.c:233 msgid "Object ~A is attribute of wrong object" msgstr "Object ~A is attribuut van een fout object" #: libgeda/src/scheme_complex.c:148 msgid "Invalid complex angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "Ongeldige complex hoek ~A. Moet 0, 90, 180, of 270 graden zijn" #: libgeda/src/scheme_complex.c:265 libgeda/src/scheme_page.c:249 msgid "Object ~A is already attached to something" msgstr "Object ~A is reeds bevestigd aan iets" #: libgeda/src/scheme_complex.c:325 msgid "Object ~A is attached to a different complex" msgstr "Object ~A is bevestigd aan een andere complex" #: libgeda/src/scheme_complex.c:332 msgid "Object ~A is attached to a page" msgstr "Object ~A is bevestigd aan een pagina" #: libgeda/src/scheme_complex.c:339 libgeda/src/scheme_page.c:301 msgid "Object ~A is attached as an attribute" msgstr "Object ~A is bevestigd als een attribuut" #: libgeda/src/scheme_complex.c:346 libgeda/src/scheme_page.c:308 msgid "Object ~A has attributes" msgstr "Object ~A heeft attributen" #: libgeda/src/scheme_object.c:232 msgid "Object ~A has bad type '~A'" msgstr "Object ~A heeft een slecht type '~A'" #: libgeda/src/scheme_object.c:346 msgid "Object ~A has invalid stroke cap style ~A" msgstr "Object ~A heeft een ongeldige slag cap stijl ~A" #: libgeda/src/scheme_object.c:359 msgid "Object ~A has invalid stroke dash style ~A" msgstr "Object ~A heeft een ongeldige slag streep stijl ~A" #: libgeda/src/scheme_object.c:423 msgid "Invalid stroke cap style ~A." msgstr "Ongeldige slag cap stijl ~A." #: libgeda/src/scheme_object.c:434 msgid "Invalid stroke dash style ~A." msgstr "Ongeldige slag streep stijl ~A." #: libgeda/src/scheme_object.c:444 msgid "Missing dash length parameter for dash style ~A." msgstr "Ontbrekende streeplengte parameter voor streep sijl ~A." #: libgeda/src/scheme_object.c:454 msgid "Missing dot/dash space parameter for dash style ~A." msgstr "Ontbrekende punt/streep ruimte parameter voor streep stijl ~A." #: libgeda/src/scheme_object.c:516 msgid "Object ~A has invalid fill style ~A" msgstr "Object ~A heeft een ongeldige opvul stijl ~A" #: libgeda/src/scheme_object.c:565 msgid "Invalid fill style ~A." msgstr "Ongeldige opvul stijl ~A." #: libgeda/src/scheme_object.c:573 msgid "Missing second space parameter for fill style ~A." msgstr "Ontbrekende tweede ruimte parameter voor opvul stijl ~A." #: libgeda/src/scheme_object.c:582 msgid "Missing second angle parameter for fill style ~A." msgstr "Ontbrekende tweede hoek parameter voor opvul stijl ~A." #: libgeda/src/scheme_object.c:592 msgid "Missing stroke width parameter for fill style ~A." msgstr "Ontbrekende slag breedte parameter voor opvul stijl ~A." #: libgeda/src/scheme_object.c:601 msgid "Missing space parameter for fill style ~A." msgstr "Ontbrekende ruimte parameter voor opvul stijl ~A." #: libgeda/src/scheme_object.c:610 msgid "Missing angle parameter for fill style ~A." msgstr "Ontbrekende hoek parameter voor opvul stijl ~A." #: libgeda/src/scheme_object.c:909 msgid "Invalid pin type ~A, must be 'net or 'bus" msgstr "Ongeldig pen type ~A, moet een 'net of 'bus zijn" #: libgeda/src/scheme_object.c:952 msgid "Object ~A has invalid pin type." msgstr "Object ~A heeft een ongeldig pen type." #: libgeda/src/scheme_object.c:1347 msgid "Invalid text alignment ~A." msgstr "Ongeldige tekst uitlijning ~A." #: libgeda/src/scheme_object.c:1363 msgid "Invalid text angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "Ongeldige tekst hoek ~A. moet 0, 90, 180, of 270 graden zijn" #: libgeda/src/scheme_object.c:1382 msgid "Invalid text name/value visibility ~A." msgstr "Ongeldige tekst naam/waarde zichtbaarheid ~A." #: libgeda/src/scheme_object.c:1457 msgid "Text object ~A has invalid text alignment ~A" msgstr "Tekst object ~A heeft een ongeldige tekst uitlijning ~A" #: libgeda/src/scheme_object.c:1466 msgid "Text object ~A has invalid visibility ~A" msgstr "Tekst object ~A heeft een ongeldige zichtbaarheid ~A" #: libgeda/src/scheme_object.c:1476 msgid "Text object ~A has invalid text attribute visibility ~A" msgstr "Tekst object ~A heeft een ongeldige tekst attribuut zichtbaarheid ~A" #: libgeda/src/scheme_object.c:1517 msgid "Object ~A is not included in a page." msgstr "Object ~A is niet opgenomen in een pagina." #: libgeda/src/scheme_object.c:1670 msgid "Path object ~A has invalid element type ~A at index ~A" msgstr "Pad object ~A heeft een ongeldige element type ~A bij index ~A" #: libgeda/src/scheme_object.c:1784 msgid "Invalid path element type ~A." msgstr "Ongeldig pad element type ~A." #: libgeda/src/scheme_object.c:1957 msgid "Invalid picture angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "Ongeldige afbeelding hoek ~A. Moet 0, 90, 180, of 270 graden zijn" #: libgeda/src/scheme_page.c:294 msgid "Object ~A is attached to a complex or different page" msgstr "Object ~A is bevestigd aan een complex of een andere pagina" #: libgeda/src/scheme_page.c:442 msgid "Parse error: ~s" msgstr "Ontleedfout: ~s" #: libgeda/scheme/geda/attrib.scm:59 #, scheme-format msgid "Object ~A is not part of a page" msgstr "Object ~A is geen deel van een pagina" geda-gaf-1.8.2/libgeda/po/el.po0000664000175000017500000007210312220655642013054 00000000000000# Greek translation for geda # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-09-01 18:46+0000\n" "Last-Translator: Panos Bouklis \n" "Language-Team: Greek \n" "Language: el\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: libgeda/data/libgeda.xml.in:3 msgid "gEDA circuit schematic" msgstr "Σχεδιάγραμμα κυκλώματος gEDA" #: libgeda/data/libgeda.xml.in:4 msgid "gEDA schematic symbol" msgstr "Σύμβολο σχεδίου gEDA" #: libgeda/data/libgeda.xml.in:5 msgid "gEDA gsch2pcb project" msgstr "Έργο gEDA gsch2pcb" #: libgeda/data/x-geda-gsch2pcb-project.desktop.in:3 msgid "gEDA Gsch2pcb Project" msgstr "Έργο gEDA Gsch2pcb" #: libgeda/data/x-geda-schematic.desktop.in:3 msgid "gEDA Circuit Schematic" msgstr "Σχεδιάγραμμα Κυκλώματος gEDA" #: libgeda/data/x-geda-symbol.desktop.in:3 msgid "gEDA Schematic Symbol" msgstr "Σύμβολο Σχεδίου gEDA" #: libgeda/src/a_basic.c:182 #, c-format msgid "o_save_objects: object %p has unknown type '%c'\n" msgstr "o_save_objects: το αντικείμενο %p έχει άγνωστο τύπο '%c'\n" #: libgeda/src/a_basic.c:238 libgeda/src/f_basic.c:384 #, c-format msgid "File %s is read-only" msgstr "Το αρχείο %s είναι μόνο για ανάγνωση" #: libgeda/src/a_basic.c:423 #, c-format msgid "" "Read unexpected attach symbol start marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" #: libgeda/src/a_basic.c:440 #, c-format msgid "" "Read unexpected embedded symbol start marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" #: libgeda/src/a_basic.c:471 #, c-format msgid "" "Read unexpected embedded symbol end marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" #: libgeda/src/a_basic.c:506 #, c-format msgid "" "Read an old format sym/sch file!\n" "Please run g[sym|sch]update on:\n" "[%s]\n" msgstr "" "Ανάγνωση παλιάς μορφής αρχείου sym/sch!\n" "Παρακαλούμε εκτελέστε το g[sym|sch]update σε:\n" "[%s]\n" #: libgeda/src/a_basic.c:512 #, c-format msgid "" "Read garbage in [%s] :\n" ">>\n" "%s<<\n" msgstr "" "Ανάγνωση σκουπιδιών σε [%s] :\n" ">>\n" "%s<<\n" #: libgeda/src/f_basic.c:123 libgeda/src/f_basic.c:136 #, c-format msgid "Failed to stat [%s]: %s" msgstr "" #: libgeda/src/f_basic.c:221 #, c-format msgid "Cannot find file %s: %s" msgstr "Αδυναμία εύρεσης του αρχείου %s: %s" #: libgeda/src/f_basic.c:269 #, c-format msgid "" "\n" "WARNING: Found an autosave backup file:\n" " %s.\n" "\n" msgstr "" "\n" "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: Βρέθηκε ένα αντίγραφο ασφαλείας αυτόματης αποθήκευσης:\n" " %s.\n" "\n" #: libgeda/src/f_basic.c:271 msgid "I could not guess if it is newer, so you have to do it manually.\n" msgstr "" "Δεν μπόρεσα να καταλάβω αν είναι νεότερο, οπότε πρέπει να το κάνετε με το " "χέρι.\n" #: libgeda/src/f_basic.c:273 msgid "" "The backup copy is newer than the schematic, so it seems you should load it " "instead of the original file.\n" msgstr "" "Το αντίγραφο ασφαλείας είναι νεότερο από το σχεδιάγραμμα, άρα μάλλον πρέπει " "να φορτώσετε αυτό αντί για το αρχικό αρχείο.\n" #: libgeda/src/f_basic.c:275 msgid "" "Gschem usually makes backup copies automatically, and this situation happens " "when it crashed or it was forced to exit abruptly.\n" msgstr "" "Το gschem συνήθως δημιουργεί αντίγραφα ασφαλείας αυτόματα, και αυτή η " "περίπτωση συμβαίνει όταν κατέρρευσε ή έγινε βίαιη έξοδος.\n" #: libgeda/src/f_basic.c:278 msgid "" "\n" "Run gschem and correct the situation.\n" "\n" msgstr "" "\n" "Εκτελέστε το gschem και διορθώστε την κατάσταση.\n" "\n" #: libgeda/src/f_basic.c:374 #, c-format msgid "Can't get the real filename of %s: %s" msgstr "Αδυναμία λήψης του πραγματικού ονόματος αρχείου του %s: %s" #: libgeda/src/f_basic.c:405 #, c-format msgid "Could NOT set previous backup file [%s] read-write\n" msgstr "" #: libgeda/src/f_basic.c:411 #, c-format msgid "Can't save backup file: %s." msgstr "Αδυναμία αποθήκευσης αντιγράφου ασφαλείας: %s." #: libgeda/src/f_basic.c:421 #, c-format msgid "Could NOT set backup file [%s] readonly\n" msgstr "" #: libgeda/src/f_basic.c:480 #, c-format msgid "Could NOT save file: %s" msgstr "ΔΕΝ ήταν δυνατή η αποθήκευση του αρχείου: %s" #: libgeda/src/f_basic.c:727 #, c-format msgid "%s: %s" msgstr "%s: %s" #: libgeda/src/f_print.c:123 msgid "Unable to get time of day in f_print_header()\n" msgstr "" #: libgeda/src/f_print.c:165 #, c-format msgid "Unable to open the prolog file `%s' for reading in f_print_header()\n" msgstr "" #: libgeda/src/f_print.c:182 #, c-format msgid "Error during reading of the prolog file `%s' in f_print_header()\n" msgstr "" #: libgeda/src/f_print.c:188 msgid "" "Error during writing of the output postscript file in f_print_header()\n" msgstr "" #: libgeda/src/f_print.c:202 msgid "Giving up on printing\n" msgstr "Εγκατάλειψη εκτύπωσης\n" #: libgeda/src/f_print.c:375 #, c-format msgid "Could not open [%s] for printing\n" msgstr "Δεν ήταν δυνατό το άνοιγμα του [%s] για εκτύπωση\n" #: libgeda/src/f_print.c:409 #, c-format msgid "Could not execute command [%s] for printing\n" msgstr "Δεν ήταν δυνατή η εκτέλεση της εντολής [%s] για εκτύπωση\n" #: libgeda/src/f_print.c:682 msgid "Too many UTF-8 characters, cannot print\n" msgstr "Πάρα πολλοί χαρακτήρες UTF-8, δεν είναι δυνατή η εκτύπωση\n" #: libgeda/src/g_basic.c:264 msgid "" "\n" "Backtrace:\n" msgstr "" #: libgeda/src/g_rc.c:233 msgid "Config file already loaded" msgstr "Το αρχείο ρυθμίσεων έχει ήδη φορτωθεί" #: libgeda/src/g_rc.c:268 #, c-format msgid "Parsed config from [%s]\n" msgstr "" #: libgeda/src/g_rc.c:281 #, c-format msgid "Unable to parse config from [%s]: %s" msgstr "" #: libgeda/src/g_rc.c:298 msgid "ERROR: An unknown error occurred while parsing configuration files." msgstr "" #: libgeda/src/g_rc.c:310 libgeda/src/g_rc.c:311 #, c-format msgid "ERROR: %s\n" msgstr "ΣΦΑΛΜΑ: %s\n" #: libgeda/src/g_rc.c:317 #, c-format msgid "ERROR: The %s log may contain more information.\n" msgstr "ΣΦΑΛΜΑ: Η καταγραφή %s μπορεί να περιέχει περισσότερες πληροφορίες.\n" #: libgeda/src/g_rc.c:978 msgid "" "WARNING: using a string for 'always-promote-attributes' is deprecated. Use a " "list of strings instead\n" msgstr "" #: libgeda/src/o_arc_basic.c:256 libgeda/src/o_arc_basic.c:269 msgid "Failed to parse arc object" msgstr "" #: libgeda/src/o_arc_basic.c:276 #, c-format msgid "Found a zero radius arc [ %c %d, %d, %d, %d, %d, %d ]\n" msgstr "" #: libgeda/src/o_arc_basic.c:282 libgeda/src/o_box_basic.c:327 #: libgeda/src/o_bus_basic.c:182 libgeda/src/o_circle_basic.c:289 #: libgeda/src/o_line_basic.c:264 libgeda/src/o_net_basic.c:171 #: libgeda/src/o_path_basic.c:189 libgeda/src/o_pin_basic.c:183 #: libgeda/src/o_text_basic.c:425 #, c-format msgid "Found an invalid color [ %s ]\n" msgstr "Βρέθηκε ένα μη έγκυρο χρώμα [ %s ]\n" #: libgeda/src/o_arc_basic.c:283 libgeda/src/o_box_basic.c:328 #: libgeda/src/o_bus_basic.c:183 libgeda/src/o_circle_basic.c:290 #: libgeda/src/o_line_basic.c:265 libgeda/src/o_net_basic.c:172 #: libgeda/src/o_path_basic.c:190 libgeda/src/o_pin_basic.c:184 #: libgeda/src/o_text_basic.c:426 msgid "Setting color to default color\n" msgstr "Ρύθμιση χρώματος στο προκαθορισμένο\n" #: libgeda/src/o_attrib.c:123 msgid "Attempt to attach non text item as an attribute!\n" msgstr "" #: libgeda/src/o_attrib.c:128 #, c-format msgid "Attempt to attach attribute [%s] to more than one object\n" msgstr "" "Προσπάθεια προσθήκης γνωρίσματος [%s] σε περισσότερα από ένα αντικείμενα\n" #: libgeda/src/o_attrib.c:341 msgid "Tried to attach a non-text item as an attribute" msgstr "" #: libgeda/src/o_attrib.c:348 msgid "Unexpected end-of-file in attribute list" msgstr "Απροσδόκητο τέλος αρχείου στη λίστα γνωρισμάτων" #: libgeda/src/o_basic.c:196 libgeda/src/o_basic.c:208 msgid "Invalid space specified, setting to 100\n" msgstr "Καθορίστηκε μη έγκυρο διάστημα, ορισμός σε 100\n" #: libgeda/src/o_basic.c:204 msgid "Invalid length specified, setting to 100\n" msgstr "Καθορίστηκε μη έγκυρο μήκος, ορισμός σε 100\n" #: libgeda/src/o_box_basic.c:287 libgeda/src/o_box_basic.c:316 msgid "Failed to parse box object" msgstr "" #: libgeda/src/o_box_basic.c:322 #, c-format msgid "Found a zero width/height box [ %c %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_bus_basic.c:160 libgeda/src/o_bus_basic.c:167 msgid "Failed to parse bus object" msgstr "" #: libgeda/src/o_bus_basic.c:173 #, c-format msgid "Found a zero length bus [ %c %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_bus_basic.c:188 #, c-format msgid "Found an invalid bus ripper direction [ %s ]\n" msgstr "" #: libgeda/src/o_bus_basic.c:189 msgid "Resetting direction to neutral (no direction)\n" msgstr "Επαναφορά κατεύθυνσης στη φυσική (χωρίς κατεύθυνση)\n" #: libgeda/src/o_circle_basic.c:193 msgid "Null radius circles are not allowed\n" msgstr "" #: libgeda/src/o_circle_basic.c:246 libgeda/src/o_circle_basic.c:275 msgid "Failed to parse circle object" msgstr "" #: libgeda/src/o_circle_basic.c:282 #, c-format msgid "Found a zero or negative radius circle [ %c %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_circle_basic.c:284 msgid "Setting radius to 0\n" msgstr "" #: libgeda/src/o_complex_basic.c:422 #, c-format msgid "" "Component not found:\n" " %s" msgstr "" "Το στοιχείο δε βρέθηκε:\n" " %s" #: libgeda/src/o_complex_basic.c:654 msgid "Failed to parse complex object" msgstr "" #: libgeda/src/o_complex_basic.c:667 #, c-format msgid "Found a component with an invalid rotation [ %c %d %d %d %d %d %s ]\n" msgstr "Βρέθηκε στοιχείο με μη έγκυρη περιστροφή [ %c %d %d %d %d %d %s ]\n" #: libgeda/src/o_complex_basic.c:668 libgeda/src/o_picture.c:105 #: libgeda/src/o_text_basic.c:397 msgid "Setting angle to 0\n" msgstr "Ρύθμιση γωνίας σε 0\n" #: libgeda/src/o_complex_basic.c:680 #, c-format msgid "" "Found a component with an invalid mirror flag [ %c %d %d %d %d %d %s ]\n" msgstr "" "Βρέθηκε στοιχείο με μη έγκυρη σημαία καθρεπτισμού [ %c %d %d %d %d %d %s ]\n" #: libgeda/src/o_complex_basic.c:681 msgid "Setting mirror to 0\n" msgstr "Ρύθμιση καθρεπτισμού σε 0\n" #: libgeda/src/o_complex_basic.c:994 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse symbol file symversion=%s\n" msgstr "" #: libgeda/src/o_complex_basic.c:998 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse symbol file symversion=\n" msgstr "" #: libgeda/src/o_complex_basic.c:1014 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse attached symversion=%s\n" msgstr "" #: libgeda/src/o_complex_basic.c:1039 #, c-format msgid "" "WARNING: Symbol version oddity on refdes %s:\n" "\tsymversion=%s attached to instantiated symbol, but no symversion= inside " "symbol file\n" msgstr "" #: libgeda/src/o_complex_basic.c:1053 #, c-format msgid "" "WARNING: Symbol version mismatch on refdes %s (%s):\n" "\tSymbol in library is newer than instantiated symbol\n" msgstr "" #: libgeda/src/o_complex_basic.c:1081 #, c-format msgid "\tMAJOR VERSION CHANGE (file %.3f, instantiated %.3f, %s)!\n" msgstr "" #: libgeda/src/o_complex_basic.c:1099 #, c-format msgid "\tMinor version change (file %.3f, instantiated %.3f)\n" msgstr "" #: libgeda/src/o_complex_basic.c:1110 #, c-format msgid "" "WARNING: Symbol version oddity on refdes %s:\n" "\tInstantiated symbol is newer than symbol in library\n" msgstr "" #: libgeda/src/o_embed.c:58 #, c-format msgid "Component [%s] has been embedded\n" msgstr "Το στοιχείο [%s] ενσωματώθηκε\n" #: libgeda/src/o_embed.c:102 #, c-format msgid "" "Could not find component [%s], while trying to unembed. Component is still " "embedded\n" msgstr "" "Δεν ήταν δυνατή η εύρεση του στοιχείου [%s], κατά τη διάρκεια " "αποενσωμάτωσης. Το στοιχείο είναι ακόμα ενσωματωμένο\n" #: libgeda/src/o_embed.c:110 #, c-format msgid "Component [%s] has been successfully unembedded\n" msgstr "Το στοιχείο [%s] αποενσωματώθηκε επιτυχώς\n" #: libgeda/src/o_line_basic.c:229 libgeda/src/o_line_basic.c:247 msgid "Failed to parse line object" msgstr "" #: libgeda/src/o_line_basic.c:259 #, c-format msgid "Found a zero length line [ %c %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_net_basic.c:156 msgid "Failed to parse net object" msgstr "" #: libgeda/src/o_net_basic.c:161 #, c-format msgid "Found a zero length net [ %c %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_path_basic.c:181 msgid "Failed to parse path object" msgstr "" #: libgeda/src/o_path_basic.c:207 msgid "Unexpected end-of-file when reading path" msgstr "" #: libgeda/src/o_picture.c:72 msgid "Failed to parse picture definition" msgstr "" #: libgeda/src/o_picture.c:77 #, c-format msgid "Found a zero width/height picture [ %c %d %d %d %d ]\n" msgstr "Βρέθηκε εικόνα με μηδενικό πλάτος/ύψος [ %c %d %d %d %d ]\n" #: libgeda/src/o_picture.c:82 #, c-format msgid "Found a picture with a wrong 'mirrored' parameter: %d.\n" msgstr "Βρέθηκε εικόνα με λανθασμένη παράμετρο καθρεπτισμού: %d.\n" #: libgeda/src/o_picture.c:84 msgid "Setting mirrored to 0\n" msgstr "Ρύθμιση καθρεπτισμού σε 0\n" #: libgeda/src/o_picture.c:89 #, c-format msgid "Found a picture with a wrong 'embedded' parameter: %d.\n" msgstr "Βρέθηκε εικόνα με λανθασμένη παράμετρο ενσωματωμένου: %d.\n" #: libgeda/src/o_picture.c:91 msgid "Setting embedded to 0\n" msgstr "Ρύθμιση ενσωματωμένου σε 0\n" #: libgeda/src/o_picture.c:104 #, c-format msgid "Found an unsupported picture angle [ %d ]\n" msgstr "Βρέθηκε μη υποστηριζόμενη γωνία εικόνας [ %d ]\n" #: libgeda/src/o_picture.c:116 msgid "Found an image with no filename." msgstr "Βρέθηκε εικόνα χωρίς όνομα αρχείου." #: libgeda/src/o_picture.c:147 #, c-format msgid "Failed to load image from embedded data [%s]: %s\n" msgstr "Αποτυχία φορτώματος εικόνας από τα ενσωματωμένα δεδομένα [%s]: %s\n" #: libgeda/src/o_picture.c:148 msgid "Base64 decoding failed." msgstr "Η αποκωδικοποίηση Base64 απέτυχε." #: libgeda/src/o_picture.c:149 msgid "Falling back to file loading. Picture unembedded.\n" msgstr "Επιστροφή στο φόρτωμα αρχείου. Η εικόνα αποενσωματώθηκε.\n" #: libgeda/src/o_picture.c:208 msgid "ERROR: o_picture_save: unable to encode the picture.\n" msgstr "ΣΦΑΛΜΑ: o_picture_save: αδυναμία κωδικοποίησης εικόνας.\n" #: libgeda/src/o_picture.c:308 #, c-format msgid "Failed to load buffer image [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:321 #, c-format msgid "Failed to load image from [%s]: %s\n" msgstr "Αδυναμία φορτώματος εικόνας από [%s]: %s\n" #: libgeda/src/o_picture.c:427 #, c-format msgid "Picture %p has invalid angle %i\n" msgstr "Η εικόνα %p έχει μη έγκυρη γωνία %i\n" #: libgeda/src/o_picture.c:957 #, c-format msgid "Picture [%s] has no image data.\n" msgstr "" #: libgeda/src/o_picture.c:958 msgid "Falling back to file loading. Picture is still unembedded.\n" msgstr "" #: libgeda/src/o_picture.c:966 #, c-format msgid "Picture [%s] has been embedded\n" msgstr "" #: libgeda/src/o_picture.c:990 #, c-format msgid "Failed to load image from file [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:992 msgid "Picture is still embedded.\n" msgstr "" #: libgeda/src/o_picture.c:1000 #, c-format msgid "Picture [%s] has been unembedded\n" msgstr "" #: libgeda/src/o_picture.c:1236 #, c-format msgid "Failed to load fallback image %s: %s.\n" msgstr "" #: libgeda/src/o_pin_basic.c:160 libgeda/src/o_pin_basic.c:168 msgid "Failed to parse pin object" msgstr "" #: libgeda/src/o_pin_basic.c:174 msgid "" "Found a pin which did not have the whichone field set.\n" "Verify and correct manually.\n" msgstr "" #: libgeda/src/o_pin_basic.c:177 #, c-format msgid "Found an invalid whichend on a pin (reseting to zero): %d\n" msgstr "" #: libgeda/src/o_text_basic.c:356 libgeda/src/o_text_basic.c:366 #: libgeda/src/o_text_basic.c:376 msgid "Failed to parse text object" msgstr "" #: libgeda/src/o_text_basic.c:383 #, c-format msgid "Found a zero size text string [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_text_basic.c:395 #, c-format msgid "Found an unsupported text angle [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" "Βρέθηκε μία μη υποστηριζόμενη γωνία κειμένου [ %c %d %d %d %d %d %d %d %d ]\n" #: libgeda/src/o_text_basic.c:417 #, c-format msgid "Found an unsupported text alignment [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" "Βρέθηκε μία μη υποστηριζόμενη στοίχιση κειμένου [ %c %d %d %d %d %d %d %d " "%d ]\n" #: libgeda/src/o_text_basic.c:419 msgid "Setting alignment to LOWER_LEFT\n" msgstr "Ρύθμιση στοίχισης σε LOWER_LEFT\n" #: libgeda/src/o_text_basic.c:440 #, c-format msgid "Unexpected end-of-file after %d lines" msgstr "" #: libgeda/src/s_clib.c:465 #, c-format msgid "Library command failed [%s]: %s\n" msgstr "Η εντολή της βιβλιοθήκης απέτυχε [%s]: %s\n" #: libgeda/src/s_clib.c:470 #, c-format msgid "Library command failed [%s]: Uncaught signal %i.\n" msgstr "" #: libgeda/src/s_clib.c:474 #, c-format msgid "Library command failed [%s]\n" msgstr "Η εντολή της βιβλιοθήκης απέτυχε [%s]\n" #: libgeda/src/s_clib.c:475 #, c-format msgid "" "Error output was:\n" "%s\n" msgstr "" "Η έξοδος σφάλματος ήταν:\n" "%s\n" #: libgeda/src/s_clib.c:561 #, c-format msgid "Library name [%s] already in use. Using [%s].\n" msgstr "Η ονομασία βιβλιοθήκης [%s] χρησιμοποιείται ήδη. Χρήση [%s].\n" #: libgeda/src/s_clib.c:598 #, c-format msgid "Failed to open directory [%s]: %s\n" msgstr "Αδυναμία ανοίγματος καταλόγου [%s]: %s\n" #: libgeda/src/s_clib.c:734 #, c-format msgid "Failed to scan library [%s]: Scheme function returned non-list\n" msgstr "" #: libgeda/src/s_clib.c:742 #, c-format msgid "Non-string symbol name while scanning library [%s]\n" msgstr "" #: libgeda/src/s_clib.c:901 libgeda/src/s_clib.c:948 msgid "Cannot add library: name not specified\n" msgstr "Αδυναμία προσθήκης βιβλιοθήκης: το όνομα δεν έχει οριστεί\n" #: libgeda/src/s_clib.c:908 #, c-format msgid "" "Cannot add library [%s]: both 'list' and 'get' commands must be specified.\n" msgstr "" "Δεν είναι δυνατή η προσθήκη της βιβλιοθήκης [%s]: πρέπει να καθοριστούν οι " "εντολές 'list' και 'get'.\n" #: libgeda/src/s_clib.c:956 #, c-format msgid "Cannot add Scheme-library [%s]: callbacks must be closures\n" msgstr "" #: libgeda/src/s_clib.c:1083 #, c-format msgid "Failed to load symbol from file [%s]: %s\n" msgstr "Αποτυχία φορτώματος του συμβόλου από το αρχείο [%s]: %s\n" #: libgeda/src/s_clib.c:1143 #, c-format msgid "Failed to load symbol data [%s] from source [%s]\n" msgstr "Αποτυχία φορτώματος των δεδομένων συμβόλου [%s] από την πηγή [%s]\n" #: libgeda/src/s_clib.c:1385 #, c-format msgid "Component [%s] was not found in the component library\n" msgstr "Το στοιχείο [%s] δε βρέθηκε στη βιβλιοθήκη στοιχείων\n" #: libgeda/src/s_clib.c:1391 #, c-format msgid "More than one component found with name [%s]\n" msgstr "Βρέθηκαν περισσότερα από ένα στοιχεία με το όνομα [%s]\n" #: libgeda/src/s_color.c:207 msgid "Color index out of range" msgstr "" #: libgeda/src/s_color.c:262 msgid "Color map entry must be a two-element list" msgstr "" #: libgeda/src/s_color.c:270 msgid "Index in color map entry must be an integer" msgstr "" #: libgeda/src/s_color.c:296 msgid "Value in color map entry must be #f or a string" msgstr "" #: libgeda/src/s_hierarchy.c:94 #, c-format msgid "" "hierarchy loop detected while visiting page:\n" " \"%s\"\n" msgstr "" "βρέθηκε βρόγχος ιεραρχίας κατά την επίσκεψη στην ιστοσελίδα:\n" " \"%s\"\n" #: libgeda/src/s_hierarchy.c:194 msgid "There are no schematics above the current one!\n" msgstr "Δεν υπάρχουν σχεδιαγράμματα πάνω από το τρέχον!\n" #: libgeda/src/s_hierarchy.c:274 #, c-format msgid "ERROR in s_hierarchy_traverse: schematic not found: %s\n" msgstr "ΣΦΑΛΜΑ στο s_hierarchy_traverse: το σχεδιάγραμμα δε βρέθηκε: %s\n" #: libgeda/src/s_page.c:213 #, c-format msgid "s_page_delete: Can't get the real filename of %s." msgstr "s_page_delete: Αδυναμία λήψης του πραγματικού ονόματος αρχείου του %s." #: libgeda/src/s_page.c:224 #, c-format msgid "s_page_delete: Unable to delete backup file %s." msgstr "s_page_delete: Αδυναμία διαγραφής αντιγράφου ασφαλείας %s." #: libgeda/src/s_page.c:499 #, c-format msgid "Saved [%s]\n" msgstr "Αποθηκεύτηκε [%s]\n" #: libgeda/src/s_page.c:505 #, c-format msgid "Could NOT save [%s]\n" msgstr "ΔΕΝ αποθηκεύτηκε [%s]\n" #: libgeda/src/s_slib.c:171 #, c-format msgid "Found [%s]\n" msgstr "Βρέθηκε [%s]\n" #: libgeda/src/s_slib.c:181 #, c-format msgid "Could not find [%s] in any SourceLibrary\n" msgstr "Αδυναμία εύρεσης [%s] σε κανένα SourceLibrary\n" #: libgeda/src/s_slot.c:162 msgid "Did not find slotdef=#:#,#,#... attribute\n" msgstr "Δε βρέθηκε γνώρισμα slotdef=#:#,#,#...\n" #: libgeda/src/s_slot.c:168 msgid "Improper slotdef syntax: missing \":\".\n" msgstr "" #: libgeda/src/s_slot.c:183 msgid "Did not find proper slotdef=#:#,#,#... attribute\n" msgstr "Δε βρέθηκε κατάλληλο γνώρισμα slotdef=#:#,#,#...\n" #: libgeda/src/s_slot.c:213 msgid "component missing pinseq= attribute\n" msgstr "Λείπει το γνώρισμα pinseq= από το στοιχείο\n" #: libgeda/src/scheme_attrib.c:67 msgid "~A is not a valid attribute: invalid string '~A'." msgstr "Το ~A δεν είναι έγκυρο γνώρισμα: μη έγκυρη συμβολοσειρά '~A'." #: libgeda/src/scheme_attrib.c:172 msgid "Objects ~A and ~A are not part of the same page and/or complex object" msgstr "" "Τα αντικείμενα ~A και ~A δεν είναι μέρη της ίδια σελίδας ή/και πολύπλοκου " "αντικειμένου" #: libgeda/src/scheme_attrib.c:179 libgeda/src/scheme_attrib.c:184 msgid "Object ~A is already attached as an attribute" msgstr "Το αντικείμενο Object ~A είναι ήδη συνδεδεμένο με ένα γνώρισμα" #: libgeda/src/scheme_attrib.c:233 msgid "Object ~A is attribute of wrong object" msgstr "Το αντικείμενο ~A είναι γνώρισμα του λάθος αντικειμένου" #: libgeda/src/scheme_complex.c:148 msgid "Invalid complex angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_complex.c:265 libgeda/src/scheme_page.c:249 msgid "Object ~A is already attached to something" msgstr "Το αντικείμενο ~A είναι ήδη συνδεδεμένο με κάτι" #: libgeda/src/scheme_complex.c:325 msgid "Object ~A is attached to a different complex" msgstr "" #: libgeda/src/scheme_complex.c:332 msgid "Object ~A is attached to a page" msgstr "Το αντικείμενο ~A είναι συνδεδεμένο με μια σελίδα" #: libgeda/src/scheme_complex.c:339 libgeda/src/scheme_page.c:301 msgid "Object ~A is attached as an attribute" msgstr "Το αντικείμενο ~A είναι συνδεδεμένο ως γνώρισμα" #: libgeda/src/scheme_complex.c:346 libgeda/src/scheme_page.c:308 msgid "Object ~A has attributes" msgstr "Το αντικείμενο ~A έχει γνωρίσματα" #: libgeda/src/scheme_object.c:232 msgid "Object ~A has bad type '~A'" msgstr "" #: libgeda/src/scheme_object.c:346 msgid "Object ~A has invalid stroke cap style ~A" msgstr "" #: libgeda/src/scheme_object.c:359 msgid "Object ~A has invalid stroke dash style ~A" msgstr "" #: libgeda/src/scheme_object.c:423 msgid "Invalid stroke cap style ~A." msgstr "" #: libgeda/src/scheme_object.c:434 msgid "Invalid stroke dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:444 msgid "Missing dash length parameter for dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:454 msgid "Missing dot/dash space parameter for dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:516 msgid "Object ~A has invalid fill style ~A" msgstr "" #: libgeda/src/scheme_object.c:565 msgid "Invalid fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:573 msgid "Missing second space parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:582 msgid "Missing second angle parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:592 msgid "Missing stroke width parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:601 msgid "Missing space parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:610 msgid "Missing angle parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:909 msgid "Invalid pin type ~A, must be 'net or 'bus" msgstr "" #: libgeda/src/scheme_object.c:952 msgid "Object ~A has invalid pin type." msgstr "Το αντικείμενο ~A έχει μη έγκυρο τύπο ακροδεκτών." #: libgeda/src/scheme_object.c:1347 msgid "Invalid text alignment ~A." msgstr "Μη έγκυρη στοίχιση κειμένου ~A." #: libgeda/src/scheme_object.c:1363 msgid "Invalid text angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "Μη έγκυρη γωνία κειμένου ~A. Πρέπει να είναι 0, 90, 180, ή 270 μοίρες" #: libgeda/src/scheme_object.c:1382 msgid "Invalid text name/value visibility ~A." msgstr "Μη έγκυρο όνομα/τιμή ορατότητας ~A." #: libgeda/src/scheme_object.c:1457 msgid "Text object ~A has invalid text alignment ~A" msgstr "Το αντικείμενο κειμένου ~A έχει μη έγκυρη στοίχιση κειμένου ~A" #: libgeda/src/scheme_object.c:1466 msgid "Text object ~A has invalid visibility ~A" msgstr "Το αντικείμενο κειμένου ~A έχει μη έγκυρη ορατότητα ~A" #: libgeda/src/scheme_object.c:1476 msgid "Text object ~A has invalid text attribute visibility ~A" msgstr "" "Το αντικείμενο κειμένου ~A έχει μη έγκυρο γνώρισμα ορατότητας κειμένου ~A" #: libgeda/src/scheme_object.c:1517 msgid "Object ~A is not included in a page." msgstr "Το αντικείμενο ~A δεν περιλαμβάνεται σε κάποια σελίδα." #: libgeda/src/scheme_object.c:1670 msgid "Path object ~A has invalid element type ~A at index ~A" msgstr "" #: libgeda/src/scheme_object.c:1784 msgid "Invalid path element type ~A." msgstr "" #: libgeda/src/scheme_object.c:1957 msgid "Invalid picture angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "Μη έγκυρη γωνία εικόνας ~A. Πρέπει να είναι 0, 90, 180, ή 270 μοίρες" #: libgeda/src/scheme_page.c:294 msgid "Object ~A is attached to a complex or different page" msgstr "" #: libgeda/src/scheme_page.c:442 msgid "Parse error: ~s" msgstr "" #: libgeda/scheme/geda/attrib.scm:59 #, scheme-format msgid "Object ~A is not part of a page" msgstr "Το αντικείμενο ~A δεν είναι μέρος καμίας σελίδας" geda-gaf-1.8.2/libgeda/po/sv.po0000664000175000017500000005115312220655642013106 00000000000000# Swedish translation for geda # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-01-27 14:12+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Swedish \n" "Language: sv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: libgeda/data/libgeda.xml.in:3 msgid "gEDA circuit schematic" msgstr "" #: libgeda/data/libgeda.xml.in:4 msgid "gEDA schematic symbol" msgstr "" #: libgeda/data/libgeda.xml.in:5 msgid "gEDA gsch2pcb project" msgstr "" #: libgeda/data/x-geda-gsch2pcb-project.desktop.in:3 msgid "gEDA Gsch2pcb Project" msgstr "" #: libgeda/data/x-geda-schematic.desktop.in:3 msgid "gEDA Circuit Schematic" msgstr "" #: libgeda/data/x-geda-symbol.desktop.in:3 msgid "gEDA Schematic Symbol" msgstr "" #: libgeda/src/a_basic.c:182 #, c-format msgid "o_save_objects: object %p has unknown type '%c'\n" msgstr "" #: libgeda/src/a_basic.c:238 libgeda/src/f_basic.c:384 #, c-format msgid "File %s is read-only" msgstr "" #: libgeda/src/a_basic.c:423 #, c-format msgid "" "Read unexpected attach symbol start marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" #: libgeda/src/a_basic.c:440 #, c-format msgid "" "Read unexpected embedded symbol start marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" #: libgeda/src/a_basic.c:471 #, c-format msgid "" "Read unexpected embedded symbol end marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" #: libgeda/src/a_basic.c:506 #, c-format msgid "" "Read an old format sym/sch file!\n" "Please run g[sym|sch]update on:\n" "[%s]\n" msgstr "" #: libgeda/src/a_basic.c:512 #, c-format msgid "" "Read garbage in [%s] :\n" ">>\n" "%s<<\n" msgstr "" #: libgeda/src/f_basic.c:123 libgeda/src/f_basic.c:136 #, c-format msgid "Failed to stat [%s]: %s" msgstr "" #: libgeda/src/f_basic.c:221 #, c-format msgid "Cannot find file %s: %s" msgstr "Kan inte hitta filen %s: %s" #: libgeda/src/f_basic.c:269 #, c-format msgid "" "\n" "WARNING: Found an autosave backup file:\n" " %s.\n" "\n" msgstr "" #: libgeda/src/f_basic.c:271 msgid "I could not guess if it is newer, so you have to do it manually.\n" msgstr "" #: libgeda/src/f_basic.c:273 msgid "" "The backup copy is newer than the schematic, so it seems you should load it " "instead of the original file.\n" msgstr "" #: libgeda/src/f_basic.c:275 msgid "" "Gschem usually makes backup copies automatically, and this situation happens " "when it crashed or it was forced to exit abruptly.\n" msgstr "" #: libgeda/src/f_basic.c:278 msgid "" "\n" "Run gschem and correct the situation.\n" "\n" msgstr "" #: libgeda/src/f_basic.c:374 #, c-format msgid "Can't get the real filename of %s: %s" msgstr "" #: libgeda/src/f_basic.c:405 #, c-format msgid "Could NOT set previous backup file [%s] read-write\n" msgstr "" #: libgeda/src/f_basic.c:411 #, c-format msgid "Can't save backup file: %s." msgstr "" #: libgeda/src/f_basic.c:421 #, c-format msgid "Could NOT set backup file [%s] readonly\n" msgstr "" #: libgeda/src/f_basic.c:480 #, c-format msgid "Could NOT save file: %s" msgstr "" #: libgeda/src/f_basic.c:727 #, c-format msgid "%s: %s" msgstr "" #: libgeda/src/f_print.c:123 msgid "Unable to get time of day in f_print_header()\n" msgstr "" #: libgeda/src/f_print.c:165 #, c-format msgid "Unable to open the prolog file `%s' for reading in f_print_header()\n" msgstr "" #: libgeda/src/f_print.c:182 #, c-format msgid "Error during reading of the prolog file `%s' in f_print_header()\n" msgstr "" #: libgeda/src/f_print.c:188 msgid "" "Error during writing of the output postscript file in f_print_header()\n" msgstr "" #: libgeda/src/f_print.c:202 msgid "Giving up on printing\n" msgstr "" #: libgeda/src/f_print.c:375 #, c-format msgid "Could not open [%s] for printing\n" msgstr "" #: libgeda/src/f_print.c:409 #, c-format msgid "Could not execute command [%s] for printing\n" msgstr "" #: libgeda/src/f_print.c:682 msgid "Too many UTF-8 characters, cannot print\n" msgstr "" #: libgeda/src/g_basic.c:264 msgid "" "\n" "Backtrace:\n" msgstr "" #: libgeda/src/g_rc.c:233 msgid "Config file already loaded" msgstr "" #: libgeda/src/g_rc.c:268 #, c-format msgid "Parsed config from [%s]\n" msgstr "" #: libgeda/src/g_rc.c:281 #, c-format msgid "Unable to parse config from [%s]: %s" msgstr "" #: libgeda/src/g_rc.c:298 msgid "ERROR: An unknown error occurred while parsing configuration files." msgstr "" #: libgeda/src/g_rc.c:310 libgeda/src/g_rc.c:311 #, c-format msgid "ERROR: %s\n" msgstr "" #: libgeda/src/g_rc.c:317 #, c-format msgid "ERROR: The %s log may contain more information.\n" msgstr "" #: libgeda/src/g_rc.c:978 msgid "" "WARNING: using a string for 'always-promote-attributes' is deprecated. Use a " "list of strings instead\n" msgstr "" #: libgeda/src/o_arc_basic.c:256 libgeda/src/o_arc_basic.c:269 msgid "Failed to parse arc object" msgstr "" #: libgeda/src/o_arc_basic.c:276 #, c-format msgid "Found a zero radius arc [ %c %d, %d, %d, %d, %d, %d ]\n" msgstr "" #: libgeda/src/o_arc_basic.c:282 libgeda/src/o_box_basic.c:327 #: libgeda/src/o_bus_basic.c:182 libgeda/src/o_circle_basic.c:289 #: libgeda/src/o_line_basic.c:264 libgeda/src/o_net_basic.c:171 #: libgeda/src/o_path_basic.c:189 libgeda/src/o_pin_basic.c:183 #: libgeda/src/o_text_basic.c:425 #, c-format msgid "Found an invalid color [ %s ]\n" msgstr "" #: libgeda/src/o_arc_basic.c:283 libgeda/src/o_box_basic.c:328 #: libgeda/src/o_bus_basic.c:183 libgeda/src/o_circle_basic.c:290 #: libgeda/src/o_line_basic.c:265 libgeda/src/o_net_basic.c:172 #: libgeda/src/o_path_basic.c:190 libgeda/src/o_pin_basic.c:184 #: libgeda/src/o_text_basic.c:426 msgid "Setting color to default color\n" msgstr "" #: libgeda/src/o_attrib.c:123 msgid "Attempt to attach non text item as an attribute!\n" msgstr "" #: libgeda/src/o_attrib.c:128 #, c-format msgid "Attempt to attach attribute [%s] to more than one object\n" msgstr "" #: libgeda/src/o_attrib.c:341 msgid "Tried to attach a non-text item as an attribute" msgstr "" #: libgeda/src/o_attrib.c:348 msgid "Unexpected end-of-file in attribute list" msgstr "" #: libgeda/src/o_basic.c:196 libgeda/src/o_basic.c:208 msgid "Invalid space specified, setting to 100\n" msgstr "" #: libgeda/src/o_basic.c:204 msgid "Invalid length specified, setting to 100\n" msgstr "" #: libgeda/src/o_box_basic.c:287 libgeda/src/o_box_basic.c:316 msgid "Failed to parse box object" msgstr "" #: libgeda/src/o_box_basic.c:322 #, c-format msgid "Found a zero width/height box [ %c %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_bus_basic.c:160 libgeda/src/o_bus_basic.c:167 msgid "Failed to parse bus object" msgstr "" #: libgeda/src/o_bus_basic.c:173 #, c-format msgid "Found a zero length bus [ %c %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_bus_basic.c:188 #, c-format msgid "Found an invalid bus ripper direction [ %s ]\n" msgstr "" #: libgeda/src/o_bus_basic.c:189 msgid "Resetting direction to neutral (no direction)\n" msgstr "" #: libgeda/src/o_circle_basic.c:193 msgid "Null radius circles are not allowed\n" msgstr "" #: libgeda/src/o_circle_basic.c:246 libgeda/src/o_circle_basic.c:275 msgid "Failed to parse circle object" msgstr "" #: libgeda/src/o_circle_basic.c:282 #, c-format msgid "Found a zero or negative radius circle [ %c %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_circle_basic.c:284 msgid "Setting radius to 0\n" msgstr "" #: libgeda/src/o_complex_basic.c:422 #, c-format msgid "" "Component not found:\n" " %s" msgstr "" #: libgeda/src/o_complex_basic.c:654 msgid "Failed to parse complex object" msgstr "" #: libgeda/src/o_complex_basic.c:667 #, c-format msgid "Found a component with an invalid rotation [ %c %d %d %d %d %d %s ]\n" msgstr "" #: libgeda/src/o_complex_basic.c:668 libgeda/src/o_picture.c:105 #: libgeda/src/o_text_basic.c:397 msgid "Setting angle to 0\n" msgstr "" #: libgeda/src/o_complex_basic.c:680 #, c-format msgid "" "Found a component with an invalid mirror flag [ %c %d %d %d %d %d %s ]\n" msgstr "" #: libgeda/src/o_complex_basic.c:681 msgid "Setting mirror to 0\n" msgstr "" #: libgeda/src/o_complex_basic.c:994 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse symbol file symversion=%s\n" msgstr "" #: libgeda/src/o_complex_basic.c:998 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse symbol file symversion=\n" msgstr "" #: libgeda/src/o_complex_basic.c:1014 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse attached symversion=%s\n" msgstr "" #: libgeda/src/o_complex_basic.c:1039 #, c-format msgid "" "WARNING: Symbol version oddity on refdes %s:\n" "\tsymversion=%s attached to instantiated symbol, but no symversion= inside " "symbol file\n" msgstr "" #: libgeda/src/o_complex_basic.c:1053 #, c-format msgid "" "WARNING: Symbol version mismatch on refdes %s (%s):\n" "\tSymbol in library is newer than instantiated symbol\n" msgstr "" #: libgeda/src/o_complex_basic.c:1081 #, c-format msgid "\tMAJOR VERSION CHANGE (file %.3f, instantiated %.3f, %s)!\n" msgstr "" #: libgeda/src/o_complex_basic.c:1099 #, c-format msgid "\tMinor version change (file %.3f, instantiated %.3f)\n" msgstr "" #: libgeda/src/o_complex_basic.c:1110 #, c-format msgid "" "WARNING: Symbol version oddity on refdes %s:\n" "\tInstantiated symbol is newer than symbol in library\n" msgstr "" #: libgeda/src/o_embed.c:58 #, c-format msgid "Component [%s] has been embedded\n" msgstr "" #: libgeda/src/o_embed.c:102 #, c-format msgid "" "Could not find component [%s], while trying to unembed. Component is still " "embedded\n" msgstr "" #: libgeda/src/o_embed.c:110 #, c-format msgid "Component [%s] has been successfully unembedded\n" msgstr "" #: libgeda/src/o_line_basic.c:229 libgeda/src/o_line_basic.c:247 msgid "Failed to parse line object" msgstr "" #: libgeda/src/o_line_basic.c:259 #, c-format msgid "Found a zero length line [ %c %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_net_basic.c:156 msgid "Failed to parse net object" msgstr "" #: libgeda/src/o_net_basic.c:161 #, c-format msgid "Found a zero length net [ %c %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_path_basic.c:181 msgid "Failed to parse path object" msgstr "" #: libgeda/src/o_path_basic.c:207 msgid "Unexpected end-of-file when reading path" msgstr "" #: libgeda/src/o_picture.c:72 msgid "Failed to parse picture definition" msgstr "" #: libgeda/src/o_picture.c:77 #, c-format msgid "Found a zero width/height picture [ %c %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_picture.c:82 #, c-format msgid "Found a picture with a wrong 'mirrored' parameter: %d.\n" msgstr "" #: libgeda/src/o_picture.c:84 msgid "Setting mirrored to 0\n" msgstr "" #: libgeda/src/o_picture.c:89 #, c-format msgid "Found a picture with a wrong 'embedded' parameter: %d.\n" msgstr "" #: libgeda/src/o_picture.c:91 msgid "Setting embedded to 0\n" msgstr "" #: libgeda/src/o_picture.c:104 #, c-format msgid "Found an unsupported picture angle [ %d ]\n" msgstr "" #: libgeda/src/o_picture.c:116 msgid "Found an image with no filename." msgstr "" #: libgeda/src/o_picture.c:147 #, c-format msgid "Failed to load image from embedded data [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:148 msgid "Base64 decoding failed." msgstr "" #: libgeda/src/o_picture.c:149 msgid "Falling back to file loading. Picture unembedded.\n" msgstr "" #: libgeda/src/o_picture.c:208 msgid "ERROR: o_picture_save: unable to encode the picture.\n" msgstr "" #: libgeda/src/o_picture.c:308 #, c-format msgid "Failed to load buffer image [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:321 #, c-format msgid "Failed to load image from [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:427 #, c-format msgid "Picture %p has invalid angle %i\n" msgstr "" #: libgeda/src/o_picture.c:957 #, c-format msgid "Picture [%s] has no image data.\n" msgstr "" #: libgeda/src/o_picture.c:958 msgid "Falling back to file loading. Picture is still unembedded.\n" msgstr "" #: libgeda/src/o_picture.c:966 #, c-format msgid "Picture [%s] has been embedded\n" msgstr "" #: libgeda/src/o_picture.c:990 #, c-format msgid "Failed to load image from file [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:992 msgid "Picture is still embedded.\n" msgstr "" #: libgeda/src/o_picture.c:1000 #, c-format msgid "Picture [%s] has been unembedded\n" msgstr "" #: libgeda/src/o_picture.c:1236 #, c-format msgid "Failed to load fallback image %s: %s.\n" msgstr "" #: libgeda/src/o_pin_basic.c:160 libgeda/src/o_pin_basic.c:168 msgid "Failed to parse pin object" msgstr "" #: libgeda/src/o_pin_basic.c:174 msgid "" "Found a pin which did not have the whichone field set.\n" "Verify and correct manually.\n" msgstr "" #: libgeda/src/o_pin_basic.c:177 #, c-format msgid "Found an invalid whichend on a pin (reseting to zero): %d\n" msgstr "" #: libgeda/src/o_text_basic.c:356 libgeda/src/o_text_basic.c:366 #: libgeda/src/o_text_basic.c:376 msgid "Failed to parse text object" msgstr "" #: libgeda/src/o_text_basic.c:383 #, c-format msgid "Found a zero size text string [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_text_basic.c:395 #, c-format msgid "Found an unsupported text angle [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_text_basic.c:417 #, c-format msgid "Found an unsupported text alignment [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_text_basic.c:419 msgid "Setting alignment to LOWER_LEFT\n" msgstr "" #: libgeda/src/o_text_basic.c:440 #, c-format msgid "Unexpected end-of-file after %d lines" msgstr "" #: libgeda/src/s_clib.c:465 #, c-format msgid "Library command failed [%s]: %s\n" msgstr "" #: libgeda/src/s_clib.c:470 #, c-format msgid "Library command failed [%s]: Uncaught signal %i.\n" msgstr "" #: libgeda/src/s_clib.c:474 #, c-format msgid "Library command failed [%s]\n" msgstr "" #: libgeda/src/s_clib.c:475 #, c-format msgid "" "Error output was:\n" "%s\n" msgstr "" #: libgeda/src/s_clib.c:561 #, c-format msgid "Library name [%s] already in use. Using [%s].\n" msgstr "" #: libgeda/src/s_clib.c:598 #, c-format msgid "Failed to open directory [%s]: %s\n" msgstr "" #: libgeda/src/s_clib.c:734 #, c-format msgid "Failed to scan library [%s]: Scheme function returned non-list\n" msgstr "" #: libgeda/src/s_clib.c:742 #, c-format msgid "Non-string symbol name while scanning library [%s]\n" msgstr "" #: libgeda/src/s_clib.c:901 libgeda/src/s_clib.c:948 msgid "Cannot add library: name not specified\n" msgstr "" #: libgeda/src/s_clib.c:908 #, c-format msgid "" "Cannot add library [%s]: both 'list' and 'get' commands must be specified.\n" msgstr "" #: libgeda/src/s_clib.c:956 #, c-format msgid "Cannot add Scheme-library [%s]: callbacks must be closures\n" msgstr "" #: libgeda/src/s_clib.c:1083 #, c-format msgid "Failed to load symbol from file [%s]: %s\n" msgstr "" #: libgeda/src/s_clib.c:1143 #, c-format msgid "Failed to load symbol data [%s] from source [%s]\n" msgstr "" #: libgeda/src/s_clib.c:1385 #, c-format msgid "Component [%s] was not found in the component library\n" msgstr "" #: libgeda/src/s_clib.c:1391 #, c-format msgid "More than one component found with name [%s]\n" msgstr "" #: libgeda/src/s_color.c:207 msgid "Color index out of range" msgstr "" #: libgeda/src/s_color.c:262 msgid "Color map entry must be a two-element list" msgstr "" #: libgeda/src/s_color.c:270 msgid "Index in color map entry must be an integer" msgstr "" #: libgeda/src/s_color.c:296 msgid "Value in color map entry must be #f or a string" msgstr "" #: libgeda/src/s_hierarchy.c:94 #, c-format msgid "" "hierarchy loop detected while visiting page:\n" " \"%s\"\n" msgstr "" #: libgeda/src/s_hierarchy.c:194 msgid "There are no schematics above the current one!\n" msgstr "" #: libgeda/src/s_hierarchy.c:274 #, c-format msgid "ERROR in s_hierarchy_traverse: schematic not found: %s\n" msgstr "" #: libgeda/src/s_page.c:213 #, c-format msgid "s_page_delete: Can't get the real filename of %s." msgstr "" #: libgeda/src/s_page.c:224 #, c-format msgid "s_page_delete: Unable to delete backup file %s." msgstr "" #: libgeda/src/s_page.c:499 #, c-format msgid "Saved [%s]\n" msgstr "" #: libgeda/src/s_page.c:505 #, c-format msgid "Could NOT save [%s]\n" msgstr "" #: libgeda/src/s_slib.c:171 #, c-format msgid "Found [%s]\n" msgstr "" #: libgeda/src/s_slib.c:181 #, c-format msgid "Could not find [%s] in any SourceLibrary\n" msgstr "" #: libgeda/src/s_slot.c:162 msgid "Did not find slotdef=#:#,#,#... attribute\n" msgstr "" #: libgeda/src/s_slot.c:168 msgid "Improper slotdef syntax: missing \":\".\n" msgstr "" #: libgeda/src/s_slot.c:183 msgid "Did not find proper slotdef=#:#,#,#... attribute\n" msgstr "" #: libgeda/src/s_slot.c:213 msgid "component missing pinseq= attribute\n" msgstr "" #: libgeda/src/scheme_attrib.c:67 msgid "~A is not a valid attribute: invalid string '~A'." msgstr "" #: libgeda/src/scheme_attrib.c:172 msgid "Objects ~A and ~A are not part of the same page and/or complex object" msgstr "" #: libgeda/src/scheme_attrib.c:179 libgeda/src/scheme_attrib.c:184 msgid "Object ~A is already attached as an attribute" msgstr "" #: libgeda/src/scheme_attrib.c:233 msgid "Object ~A is attribute of wrong object" msgstr "" #: libgeda/src/scheme_complex.c:148 msgid "Invalid complex angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_complex.c:265 libgeda/src/scheme_page.c:249 msgid "Object ~A is already attached to something" msgstr "" #: libgeda/src/scheme_complex.c:325 msgid "Object ~A is attached to a different complex" msgstr "" #: libgeda/src/scheme_complex.c:332 msgid "Object ~A is attached to a page" msgstr "" #: libgeda/src/scheme_complex.c:339 libgeda/src/scheme_page.c:301 msgid "Object ~A is attached as an attribute" msgstr "" #: libgeda/src/scheme_complex.c:346 libgeda/src/scheme_page.c:308 msgid "Object ~A has attributes" msgstr "" #: libgeda/src/scheme_object.c:232 msgid "Object ~A has bad type '~A'" msgstr "" #: libgeda/src/scheme_object.c:346 msgid "Object ~A has invalid stroke cap style ~A" msgstr "" #: libgeda/src/scheme_object.c:359 msgid "Object ~A has invalid stroke dash style ~A" msgstr "" #: libgeda/src/scheme_object.c:423 msgid "Invalid stroke cap style ~A." msgstr "" #: libgeda/src/scheme_object.c:434 msgid "Invalid stroke dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:444 msgid "Missing dash length parameter for dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:454 msgid "Missing dot/dash space parameter for dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:516 msgid "Object ~A has invalid fill style ~A" msgstr "" #: libgeda/src/scheme_object.c:565 msgid "Invalid fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:573 msgid "Missing second space parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:582 msgid "Missing second angle parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:592 msgid "Missing stroke width parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:601 msgid "Missing space parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:610 msgid "Missing angle parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:909 msgid "Invalid pin type ~A, must be 'net or 'bus" msgstr "" #: libgeda/src/scheme_object.c:952 msgid "Object ~A has invalid pin type." msgstr "" #: libgeda/src/scheme_object.c:1347 msgid "Invalid text alignment ~A." msgstr "" #: libgeda/src/scheme_object.c:1363 msgid "Invalid text angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_object.c:1382 msgid "Invalid text name/value visibility ~A." msgstr "" #: libgeda/src/scheme_object.c:1457 msgid "Text object ~A has invalid text alignment ~A" msgstr "" #: libgeda/src/scheme_object.c:1466 msgid "Text object ~A has invalid visibility ~A" msgstr "" #: libgeda/src/scheme_object.c:1476 msgid "Text object ~A has invalid text attribute visibility ~A" msgstr "" #: libgeda/src/scheme_object.c:1517 msgid "Object ~A is not included in a page." msgstr "" #: libgeda/src/scheme_object.c:1670 msgid "Path object ~A has invalid element type ~A at index ~A" msgstr "" #: libgeda/src/scheme_object.c:1784 msgid "Invalid path element type ~A." msgstr "" #: libgeda/src/scheme_object.c:1957 msgid "Invalid picture angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_page.c:294 msgid "Object ~A is attached to a complex or different page" msgstr "" #: libgeda/src/scheme_page.c:442 msgid "Parse error: ~s" msgstr "" #: libgeda/scheme/geda/attrib.scm:59 #, scheme-format msgid "Object ~A is not part of a page" msgstr "" geda-gaf-1.8.2/libgeda/po/ca.po0000664000175000017500000005145512220655642013046 00000000000000# Catalan translation for geda # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-01-27 14:12+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Catalan \n" "Language: ca\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: libgeda/data/libgeda.xml.in:3 msgid "gEDA circuit schematic" msgstr "Esquema de circuit del gEDA" #: libgeda/data/libgeda.xml.in:4 msgid "gEDA schematic symbol" msgstr "Símbol d'esquema del gEDA" #: libgeda/data/libgeda.xml.in:5 msgid "gEDA gsch2pcb project" msgstr "Projecte Gsch2pcb del gEDA" #: libgeda/data/x-geda-gsch2pcb-project.desktop.in:3 msgid "gEDA Gsch2pcb Project" msgstr "Projecte Gsch2pcb del gEDA" #: libgeda/data/x-geda-schematic.desktop.in:3 msgid "gEDA Circuit Schematic" msgstr "Esquema de circuit del gEDA" #: libgeda/data/x-geda-symbol.desktop.in:3 msgid "gEDA Schematic Symbol" msgstr "Símbol d'esquema del gEDA" #: libgeda/src/a_basic.c:182 #, c-format msgid "o_save_objects: object %p has unknown type '%c'\n" msgstr "o_save_objects: l'objecte %p té un tipus desconegut («%c»)\n" #: libgeda/src/a_basic.c:238 libgeda/src/f_basic.c:384 #, c-format msgid "File %s is read-only" msgstr "" #: libgeda/src/a_basic.c:423 #, c-format msgid "" "Read unexpected attach symbol start marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" #: libgeda/src/a_basic.c:440 #, c-format msgid "" "Read unexpected embedded symbol start marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" #: libgeda/src/a_basic.c:471 #, c-format msgid "" "Read unexpected embedded symbol end marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" #: libgeda/src/a_basic.c:506 #, c-format msgid "" "Read an old format sym/sch file!\n" "Please run g[sym|sch]update on:\n" "[%s]\n" msgstr "" #: libgeda/src/a_basic.c:512 #, c-format msgid "" "Read garbage in [%s] :\n" ">>\n" "%s<<\n" msgstr "" #: libgeda/src/f_basic.c:123 libgeda/src/f_basic.c:136 #, c-format msgid "Failed to stat [%s]: %s" msgstr "" #: libgeda/src/f_basic.c:221 #, c-format msgid "Cannot find file %s: %s" msgstr "" #: libgeda/src/f_basic.c:269 #, c-format msgid "" "\n" "WARNING: Found an autosave backup file:\n" " %s.\n" "\n" msgstr "" #: libgeda/src/f_basic.c:271 msgid "I could not guess if it is newer, so you have to do it manually.\n" msgstr "" #: libgeda/src/f_basic.c:273 msgid "" "The backup copy is newer than the schematic, so it seems you should load it " "instead of the original file.\n" msgstr "" #: libgeda/src/f_basic.c:275 msgid "" "Gschem usually makes backup copies automatically, and this situation happens " "when it crashed or it was forced to exit abruptly.\n" msgstr "" #: libgeda/src/f_basic.c:278 msgid "" "\n" "Run gschem and correct the situation.\n" "\n" msgstr "" #: libgeda/src/f_basic.c:374 #, c-format msgid "Can't get the real filename of %s: %s" msgstr "" #: libgeda/src/f_basic.c:405 #, c-format msgid "Could NOT set previous backup file [%s] read-write\n" msgstr "" #: libgeda/src/f_basic.c:411 #, c-format msgid "Can't save backup file: %s." msgstr "" #: libgeda/src/f_basic.c:421 #, c-format msgid "Could NOT set backup file [%s] readonly\n" msgstr "" #: libgeda/src/f_basic.c:480 #, c-format msgid "Could NOT save file: %s" msgstr "" #: libgeda/src/f_basic.c:727 #, c-format msgid "%s: %s" msgstr "" #: libgeda/src/f_print.c:123 msgid "Unable to get time of day in f_print_header()\n" msgstr "" #: libgeda/src/f_print.c:165 #, c-format msgid "Unable to open the prolog file `%s' for reading in f_print_header()\n" msgstr "" #: libgeda/src/f_print.c:182 #, c-format msgid "Error during reading of the prolog file `%s' in f_print_header()\n" msgstr "" #: libgeda/src/f_print.c:188 msgid "" "Error during writing of the output postscript file in f_print_header()\n" msgstr "" #: libgeda/src/f_print.c:202 msgid "Giving up on printing\n" msgstr "" #: libgeda/src/f_print.c:375 #, c-format msgid "Could not open [%s] for printing\n" msgstr "" #: libgeda/src/f_print.c:409 #, c-format msgid "Could not execute command [%s] for printing\n" msgstr "" #: libgeda/src/f_print.c:682 msgid "Too many UTF-8 characters, cannot print\n" msgstr "" #: libgeda/src/g_basic.c:264 msgid "" "\n" "Backtrace:\n" msgstr "" #: libgeda/src/g_rc.c:233 msgid "Config file already loaded" msgstr "" #: libgeda/src/g_rc.c:268 #, c-format msgid "Parsed config from [%s]\n" msgstr "" #: libgeda/src/g_rc.c:281 #, c-format msgid "Unable to parse config from [%s]: %s" msgstr "" #: libgeda/src/g_rc.c:298 msgid "ERROR: An unknown error occurred while parsing configuration files." msgstr "" #: libgeda/src/g_rc.c:310 libgeda/src/g_rc.c:311 #, c-format msgid "ERROR: %s\n" msgstr "" #: libgeda/src/g_rc.c:317 #, c-format msgid "ERROR: The %s log may contain more information.\n" msgstr "" #: libgeda/src/g_rc.c:978 msgid "" "WARNING: using a string for 'always-promote-attributes' is deprecated. Use a " "list of strings instead\n" msgstr "" #: libgeda/src/o_arc_basic.c:256 libgeda/src/o_arc_basic.c:269 msgid "Failed to parse arc object" msgstr "" #: libgeda/src/o_arc_basic.c:276 #, c-format msgid "Found a zero radius arc [ %c %d, %d, %d, %d, %d, %d ]\n" msgstr "" #: libgeda/src/o_arc_basic.c:282 libgeda/src/o_box_basic.c:327 #: libgeda/src/o_bus_basic.c:182 libgeda/src/o_circle_basic.c:289 #: libgeda/src/o_line_basic.c:264 libgeda/src/o_net_basic.c:171 #: libgeda/src/o_path_basic.c:189 libgeda/src/o_pin_basic.c:183 #: libgeda/src/o_text_basic.c:425 #, c-format msgid "Found an invalid color [ %s ]\n" msgstr "" #: libgeda/src/o_arc_basic.c:283 libgeda/src/o_box_basic.c:328 #: libgeda/src/o_bus_basic.c:183 libgeda/src/o_circle_basic.c:290 #: libgeda/src/o_line_basic.c:265 libgeda/src/o_net_basic.c:172 #: libgeda/src/o_path_basic.c:190 libgeda/src/o_pin_basic.c:184 #: libgeda/src/o_text_basic.c:426 msgid "Setting color to default color\n" msgstr "" #: libgeda/src/o_attrib.c:123 msgid "Attempt to attach non text item as an attribute!\n" msgstr "" #: libgeda/src/o_attrib.c:128 #, c-format msgid "Attempt to attach attribute [%s] to more than one object\n" msgstr "" #: libgeda/src/o_attrib.c:341 msgid "Tried to attach a non-text item as an attribute" msgstr "" #: libgeda/src/o_attrib.c:348 msgid "Unexpected end-of-file in attribute list" msgstr "" #: libgeda/src/o_basic.c:196 libgeda/src/o_basic.c:208 msgid "Invalid space specified, setting to 100\n" msgstr "" #: libgeda/src/o_basic.c:204 msgid "Invalid length specified, setting to 100\n" msgstr "" #: libgeda/src/o_box_basic.c:287 libgeda/src/o_box_basic.c:316 msgid "Failed to parse box object" msgstr "" #: libgeda/src/o_box_basic.c:322 #, c-format msgid "Found a zero width/height box [ %c %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_bus_basic.c:160 libgeda/src/o_bus_basic.c:167 msgid "Failed to parse bus object" msgstr "" #: libgeda/src/o_bus_basic.c:173 #, c-format msgid "Found a zero length bus [ %c %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_bus_basic.c:188 #, c-format msgid "Found an invalid bus ripper direction [ %s ]\n" msgstr "" #: libgeda/src/o_bus_basic.c:189 msgid "Resetting direction to neutral (no direction)\n" msgstr "" #: libgeda/src/o_circle_basic.c:193 msgid "Null radius circles are not allowed\n" msgstr "" #: libgeda/src/o_circle_basic.c:246 libgeda/src/o_circle_basic.c:275 msgid "Failed to parse circle object" msgstr "" #: libgeda/src/o_circle_basic.c:282 #, c-format msgid "Found a zero or negative radius circle [ %c %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_circle_basic.c:284 msgid "Setting radius to 0\n" msgstr "" #: libgeda/src/o_complex_basic.c:422 #, c-format msgid "" "Component not found:\n" " %s" msgstr "" #: libgeda/src/o_complex_basic.c:654 msgid "Failed to parse complex object" msgstr "" #: libgeda/src/o_complex_basic.c:667 #, c-format msgid "Found a component with an invalid rotation [ %c %d %d %d %d %d %s ]\n" msgstr "" #: libgeda/src/o_complex_basic.c:668 libgeda/src/o_picture.c:105 #: libgeda/src/o_text_basic.c:397 msgid "Setting angle to 0\n" msgstr "" #: libgeda/src/o_complex_basic.c:680 #, c-format msgid "" "Found a component with an invalid mirror flag [ %c %d %d %d %d %d %s ]\n" msgstr "" #: libgeda/src/o_complex_basic.c:681 msgid "Setting mirror to 0\n" msgstr "" #: libgeda/src/o_complex_basic.c:994 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse symbol file symversion=%s\n" msgstr "" #: libgeda/src/o_complex_basic.c:998 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse symbol file symversion=\n" msgstr "" #: libgeda/src/o_complex_basic.c:1014 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse attached symversion=%s\n" msgstr "" #: libgeda/src/o_complex_basic.c:1039 #, c-format msgid "" "WARNING: Symbol version oddity on refdes %s:\n" "\tsymversion=%s attached to instantiated symbol, but no symversion= inside " "symbol file\n" msgstr "" #: libgeda/src/o_complex_basic.c:1053 #, c-format msgid "" "WARNING: Symbol version mismatch on refdes %s (%s):\n" "\tSymbol in library is newer than instantiated symbol\n" msgstr "" #: libgeda/src/o_complex_basic.c:1081 #, c-format msgid "\tMAJOR VERSION CHANGE (file %.3f, instantiated %.3f, %s)!\n" msgstr "" #: libgeda/src/o_complex_basic.c:1099 #, c-format msgid "\tMinor version change (file %.3f, instantiated %.3f)\n" msgstr "" #: libgeda/src/o_complex_basic.c:1110 #, c-format msgid "" "WARNING: Symbol version oddity on refdes %s:\n" "\tInstantiated symbol is newer than symbol in library\n" msgstr "" #: libgeda/src/o_embed.c:58 #, c-format msgid "Component [%s] has been embedded\n" msgstr "" #: libgeda/src/o_embed.c:102 #, c-format msgid "" "Could not find component [%s], while trying to unembed. Component is still " "embedded\n" msgstr "" #: libgeda/src/o_embed.c:110 #, c-format msgid "Component [%s] has been successfully unembedded\n" msgstr "" #: libgeda/src/o_line_basic.c:229 libgeda/src/o_line_basic.c:247 msgid "Failed to parse line object" msgstr "" #: libgeda/src/o_line_basic.c:259 #, c-format msgid "Found a zero length line [ %c %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_net_basic.c:156 msgid "Failed to parse net object" msgstr "" #: libgeda/src/o_net_basic.c:161 #, c-format msgid "Found a zero length net [ %c %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_path_basic.c:181 msgid "Failed to parse path object" msgstr "" #: libgeda/src/o_path_basic.c:207 msgid "Unexpected end-of-file when reading path" msgstr "" #: libgeda/src/o_picture.c:72 msgid "Failed to parse picture definition" msgstr "" #: libgeda/src/o_picture.c:77 #, c-format msgid "Found a zero width/height picture [ %c %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_picture.c:82 #, c-format msgid "Found a picture with a wrong 'mirrored' parameter: %d.\n" msgstr "" #: libgeda/src/o_picture.c:84 msgid "Setting mirrored to 0\n" msgstr "" #: libgeda/src/o_picture.c:89 #, c-format msgid "Found a picture with a wrong 'embedded' parameter: %d.\n" msgstr "" #: libgeda/src/o_picture.c:91 msgid "Setting embedded to 0\n" msgstr "" #: libgeda/src/o_picture.c:104 #, c-format msgid "Found an unsupported picture angle [ %d ]\n" msgstr "" #: libgeda/src/o_picture.c:116 msgid "Found an image with no filename." msgstr "" #: libgeda/src/o_picture.c:147 #, c-format msgid "Failed to load image from embedded data [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:148 msgid "Base64 decoding failed." msgstr "" #: libgeda/src/o_picture.c:149 msgid "Falling back to file loading. Picture unembedded.\n" msgstr "" #: libgeda/src/o_picture.c:208 msgid "ERROR: o_picture_save: unable to encode the picture.\n" msgstr "" #: libgeda/src/o_picture.c:308 #, c-format msgid "Failed to load buffer image [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:321 #, c-format msgid "Failed to load image from [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:427 #, c-format msgid "Picture %p has invalid angle %i\n" msgstr "" #: libgeda/src/o_picture.c:957 #, c-format msgid "Picture [%s] has no image data.\n" msgstr "" #: libgeda/src/o_picture.c:958 msgid "Falling back to file loading. Picture is still unembedded.\n" msgstr "" #: libgeda/src/o_picture.c:966 #, c-format msgid "Picture [%s] has been embedded\n" msgstr "" #: libgeda/src/o_picture.c:990 #, c-format msgid "Failed to load image from file [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:992 msgid "Picture is still embedded.\n" msgstr "" #: libgeda/src/o_picture.c:1000 #, c-format msgid "Picture [%s] has been unembedded\n" msgstr "" #: libgeda/src/o_picture.c:1236 #, c-format msgid "Failed to load fallback image %s: %s.\n" msgstr "" #: libgeda/src/o_pin_basic.c:160 libgeda/src/o_pin_basic.c:168 msgid "Failed to parse pin object" msgstr "" #: libgeda/src/o_pin_basic.c:174 msgid "" "Found a pin which did not have the whichone field set.\n" "Verify and correct manually.\n" msgstr "" #: libgeda/src/o_pin_basic.c:177 #, c-format msgid "Found an invalid whichend on a pin (reseting to zero): %d\n" msgstr "" #: libgeda/src/o_text_basic.c:356 libgeda/src/o_text_basic.c:366 #: libgeda/src/o_text_basic.c:376 msgid "Failed to parse text object" msgstr "" #: libgeda/src/o_text_basic.c:383 #, c-format msgid "Found a zero size text string [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_text_basic.c:395 #, c-format msgid "Found an unsupported text angle [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_text_basic.c:417 #, c-format msgid "Found an unsupported text alignment [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_text_basic.c:419 msgid "Setting alignment to LOWER_LEFT\n" msgstr "" #: libgeda/src/o_text_basic.c:440 #, c-format msgid "Unexpected end-of-file after %d lines" msgstr "" #: libgeda/src/s_clib.c:465 #, c-format msgid "Library command failed [%s]: %s\n" msgstr "" #: libgeda/src/s_clib.c:470 #, c-format msgid "Library command failed [%s]: Uncaught signal %i.\n" msgstr "" #: libgeda/src/s_clib.c:474 #, c-format msgid "Library command failed [%s]\n" msgstr "" #: libgeda/src/s_clib.c:475 #, c-format msgid "" "Error output was:\n" "%s\n" msgstr "" #: libgeda/src/s_clib.c:561 #, c-format msgid "Library name [%s] already in use. Using [%s].\n" msgstr "" #: libgeda/src/s_clib.c:598 #, c-format msgid "Failed to open directory [%s]: %s\n" msgstr "" #: libgeda/src/s_clib.c:734 #, c-format msgid "Failed to scan library [%s]: Scheme function returned non-list\n" msgstr "" #: libgeda/src/s_clib.c:742 #, c-format msgid "Non-string symbol name while scanning library [%s]\n" msgstr "" #: libgeda/src/s_clib.c:901 libgeda/src/s_clib.c:948 msgid "Cannot add library: name not specified\n" msgstr "" #: libgeda/src/s_clib.c:908 #, c-format msgid "" "Cannot add library [%s]: both 'list' and 'get' commands must be specified.\n" msgstr "" #: libgeda/src/s_clib.c:956 #, c-format msgid "Cannot add Scheme-library [%s]: callbacks must be closures\n" msgstr "" #: libgeda/src/s_clib.c:1083 #, c-format msgid "Failed to load symbol from file [%s]: %s\n" msgstr "" #: libgeda/src/s_clib.c:1143 #, c-format msgid "Failed to load symbol data [%s] from source [%s]\n" msgstr "" #: libgeda/src/s_clib.c:1385 #, c-format msgid "Component [%s] was not found in the component library\n" msgstr "" #: libgeda/src/s_clib.c:1391 #, c-format msgid "More than one component found with name [%s]\n" msgstr "" #: libgeda/src/s_color.c:207 msgid "Color index out of range" msgstr "" #: libgeda/src/s_color.c:262 msgid "Color map entry must be a two-element list" msgstr "" #: libgeda/src/s_color.c:270 msgid "Index in color map entry must be an integer" msgstr "" #: libgeda/src/s_color.c:296 msgid "Value in color map entry must be #f or a string" msgstr "" #: libgeda/src/s_hierarchy.c:94 #, c-format msgid "" "hierarchy loop detected while visiting page:\n" " \"%s\"\n" msgstr "" #: libgeda/src/s_hierarchy.c:194 msgid "There are no schematics above the current one!\n" msgstr "" #: libgeda/src/s_hierarchy.c:274 #, c-format msgid "ERROR in s_hierarchy_traverse: schematic not found: %s\n" msgstr "" #: libgeda/src/s_page.c:213 #, c-format msgid "s_page_delete: Can't get the real filename of %s." msgstr "" #: libgeda/src/s_page.c:224 #, c-format msgid "s_page_delete: Unable to delete backup file %s." msgstr "" #: libgeda/src/s_page.c:499 #, c-format msgid "Saved [%s]\n" msgstr "" #: libgeda/src/s_page.c:505 #, c-format msgid "Could NOT save [%s]\n" msgstr "" #: libgeda/src/s_slib.c:171 #, c-format msgid "Found [%s]\n" msgstr "" #: libgeda/src/s_slib.c:181 #, c-format msgid "Could not find [%s] in any SourceLibrary\n" msgstr "" #: libgeda/src/s_slot.c:162 msgid "Did not find slotdef=#:#,#,#... attribute\n" msgstr "" #: libgeda/src/s_slot.c:168 msgid "Improper slotdef syntax: missing \":\".\n" msgstr "" #: libgeda/src/s_slot.c:183 msgid "Did not find proper slotdef=#:#,#,#... attribute\n" msgstr "" #: libgeda/src/s_slot.c:213 msgid "component missing pinseq= attribute\n" msgstr "" #: libgeda/src/scheme_attrib.c:67 msgid "~A is not a valid attribute: invalid string '~A'." msgstr "" #: libgeda/src/scheme_attrib.c:172 msgid "Objects ~A and ~A are not part of the same page and/or complex object" msgstr "" #: libgeda/src/scheme_attrib.c:179 libgeda/src/scheme_attrib.c:184 msgid "Object ~A is already attached as an attribute" msgstr "" #: libgeda/src/scheme_attrib.c:233 msgid "Object ~A is attribute of wrong object" msgstr "" #: libgeda/src/scheme_complex.c:148 msgid "Invalid complex angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_complex.c:265 libgeda/src/scheme_page.c:249 msgid "Object ~A is already attached to something" msgstr "" #: libgeda/src/scheme_complex.c:325 msgid "Object ~A is attached to a different complex" msgstr "" #: libgeda/src/scheme_complex.c:332 msgid "Object ~A is attached to a page" msgstr "" #: libgeda/src/scheme_complex.c:339 libgeda/src/scheme_page.c:301 msgid "Object ~A is attached as an attribute" msgstr "" #: libgeda/src/scheme_complex.c:346 libgeda/src/scheme_page.c:308 msgid "Object ~A has attributes" msgstr "" #: libgeda/src/scheme_object.c:232 msgid "Object ~A has bad type '~A'" msgstr "" #: libgeda/src/scheme_object.c:346 msgid "Object ~A has invalid stroke cap style ~A" msgstr "" #: libgeda/src/scheme_object.c:359 msgid "Object ~A has invalid stroke dash style ~A" msgstr "" #: libgeda/src/scheme_object.c:423 msgid "Invalid stroke cap style ~A." msgstr "" #: libgeda/src/scheme_object.c:434 msgid "Invalid stroke dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:444 msgid "Missing dash length parameter for dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:454 msgid "Missing dot/dash space parameter for dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:516 msgid "Object ~A has invalid fill style ~A" msgstr "" #: libgeda/src/scheme_object.c:565 msgid "Invalid fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:573 msgid "Missing second space parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:582 msgid "Missing second angle parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:592 msgid "Missing stroke width parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:601 msgid "Missing space parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:610 msgid "Missing angle parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:909 msgid "Invalid pin type ~A, must be 'net or 'bus" msgstr "" #: libgeda/src/scheme_object.c:952 msgid "Object ~A has invalid pin type." msgstr "" #: libgeda/src/scheme_object.c:1347 msgid "Invalid text alignment ~A." msgstr "" #: libgeda/src/scheme_object.c:1363 msgid "Invalid text angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_object.c:1382 msgid "Invalid text name/value visibility ~A." msgstr "" #: libgeda/src/scheme_object.c:1457 msgid "Text object ~A has invalid text alignment ~A" msgstr "" #: libgeda/src/scheme_object.c:1466 msgid "Text object ~A has invalid visibility ~A" msgstr "" #: libgeda/src/scheme_object.c:1476 msgid "Text object ~A has invalid text attribute visibility ~A" msgstr "" #: libgeda/src/scheme_object.c:1517 msgid "Object ~A is not included in a page." msgstr "" #: libgeda/src/scheme_object.c:1670 msgid "Path object ~A has invalid element type ~A at index ~A" msgstr "" #: libgeda/src/scheme_object.c:1784 msgid "Invalid path element type ~A." msgstr "" #: libgeda/src/scheme_object.c:1957 msgid "Invalid picture angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_page.c:294 msgid "Object ~A is attached to a complex or different page" msgstr "" #: libgeda/src/scheme_page.c:442 msgid "Parse error: ~s" msgstr "" #: libgeda/scheme/geda/attrib.scm:59 #, scheme-format msgid "Object ~A is not part of a page" msgstr "" geda-gaf-1.8.2/libgeda/po/uk.gmo0000664000175000017500000001255112220655642013240 00000000000000!$/,(0C9J1(,,!YA{GGDM.64-LcA)&(P$yj().RD0 D x i ^p ] J- *x - ET B I T'y|pPgLr+x'O7S@@]N@_^N    !  Run gschem and correct the situation. WARNING: Found an autosave backup file: %s. %s: %sAttempt to attach attribute [%s] to more than one object Attempt to attach non text item as an attribute! Can't save backup file: %s.Cannot find file %s: %sComponent not found: %sCould NOT set backup file [%s] readonly Could not execute command [%s] for printing Could not open [%s] for printing Error during reading of the prolog file `%s' in f_print_header() Error during writing of the output postscript file in f_print_header() Found a component with an invalid mirror flag [ %c %d %d %d %d %d %s ] Found a component with an invalid rotation [ %c %d %d %d %d %d %s ] Found a zero length bus [ %c %d %d %d %d %d ] Found a zero radius arc [ %c %d, %d, %d, %d, %d, %d ] Found a zero width/height box [ %c %d %d %d %d %d ] Found an invalid color [ %s ] Giving up on printing Gschem usually makes backup copies automatically, and this situation happens when it crashed or it was forced to exit abruptly. I could not guess if it is newer, so you have to do it manually. Invalid length specified, setting to 100 Invalid space specified, setting to 100 Null radius circles are not allowed Setting color to default color The backup copy is newer than the schematic, so it seems you should load it instead of the original file. Too many UTF-8 characters, cannot print Unable to get time of day in f_print_header() Unable to open the prolog file `%s' for reading in f_print_header() gEDA Gsch2pcb Projecto_save_objects: object %p has unknown type '%c' Project-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-01-27 14:12+0000 Last-Translator: FULL NAME Language-Team: Ukrainian Language: uk MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) Запустіть gschem та виправте ситуацію. ЗАСТЕРЕЖЕННЯ: Знайдено автозбережений файл резервної копії: %s. %s: %sСпроба додати трибут [%s] більш ніж до одного об'єкту Спроба встановити не текстовий елемент як атрибут Не можу зберегти файл резервної копії: %s.Не можу знайти файл %s: %sКомпонент не знайдено: %sНе мжу встановити для файлу резерної копії [%s] режим тільки для читання Не можу виконати команду [%s] для друку Не можу відкрити [%s] щоб надрукувати Помилка читання prolog файлу `%s' в f_print_header() Помилка під час запису postscript файлу в f_print_header() Знайдено компонент з не правильним віддзеркаленням [ %c %d %d %d %d %d %s ] Знайдено не правильно зорієнтований компонент [ %c %d %d %d %d %d %s ] Знайдено шину нульової довжини [ %c %d %d %d %d %d ] Дуга з нульовим радіусом [ %c %d, %d, %d, %d, %d, %d ] Знайдено прямокутник з нульовою довжиною/шириною [ %c %d %d %d %d %d ] Недопустимий колір [ %s ] Не можу роздрукувати Gschem зазвичай автоматично створює резервні копії, а така ситуація трапляється при збої чи вимушеному несподіваному виході. Не можу визначити чи він більш новий, тому Вам слід зробити це самостійно. Вказано не правильну довжину, змінено на 100 Вказано не правильний проміжок, змінено на 100 Кола нульового радіусу заборонені Колір виставлено за замовчуванням Файл резерної копії новіший за файл схеми, здається Вам слід завантажити його замість оригіналу. Забагато UTF-8 символів, не можу відобразити Не можу отримати годину в f_print_header() Не можу відкрити prolog файл `%s' для читання в f_print_header() gEDA проект Gsch2pcbo_save_objects: об’єкт %p має не визначений тип '%c' geda-gaf-1.8.2/libgeda/po/en@boldquot.header0000644000175000017500000000247112210331571015530 00000000000000# All this catalog "translates" are quotation characters. # The msgids must be ASCII and therefore cannot contain real quotation # characters, only substitutes like grave accent (0x60), apostrophe (0x27) # and double quote (0x22). These substitutes look strange; see # http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html # # This catalog translates grave accent (0x60) and apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019). # It also translates pairs of apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019) # and pairs of quotation mark (0x22) to # left double quotation mark (U+201C) and right double quotation mark (U+201D). # # When output to an UTF-8 terminal, the quotation characters appear perfectly. # When output to an ISO-8859-1 terminal, the single quotation marks are # transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to # grave/acute accent (by libiconv), and the double quotation marks are # transliterated to 0x22. # When output to an ASCII terminal, the single quotation marks are # transliterated to apostrophes, and the double quotation marks are # transliterated to 0x22. # # This catalog furthermore displays the text between the quotation marks in # bold face, assuming the VT100/XTerm escape sequences. # geda-gaf-1.8.2/libgeda/po/Makevars0000664000175000017500000000430112220647257013606 00000000000000# -*-GNUmakefile-*- # Makefile variables for PO directory in any package using GNU gettext. # Usually the message domain is the same as the package name. #DOMAIN = $(PACKAGE) # Unfortunately, we need to use message domains that match the current # version of libgeda. Even more unfortunately, the way that the # gettext m4 code merges Makevars into the Makefile precludes Makevars # from containing anything determined at configure time. So we have # *yet another* Makefile fragment. include domain.mak # These two variables depend on the location of this directory. subdir = libgeda/po top_builddir = ../.. # These options get passed to xgettext. XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ --from-code=UTF-8 # This is the copyright holder that gets inserted into the header of the # $(DOMAIN).pot file. Set this to the copyright holder of the surrounding # package. (Note that the msgstr strings, extracted from the package's # sources, belong to the copyright holder of the package.) Translators are # expected to transfer the copyright for their translations to this person # or entity, or to disclaim their copyright. The empty string stands for # the public domain; in this case the translators are expected to disclaim # their copyright. COPYRIGHT_HOLDER = gEDA Developers # This is the email address or URL to which the translators shall report # bugs in the untranslated strings: # - Strings which are not entire sentences, see the maintainer guidelines # in the GNU gettext documentation, section 'Preparing Strings'. # - Strings which use unclear terms or require additional context to be # understood. # - Strings which make invalid assumptions about notation of date, time or # money. # - Pluralisation problems. # - Incorrect English spelling. # - Incorrect formatting. # It can be your email address, or a mailing list address where translators # can write to without being subscribed, or the URL of a web page through # which the translators can contact you. MSGID_BUGS_ADDRESS = geda-bug@seul.org # This is the list of locale categories, beyond LC_MESSAGES, for which the # message catalogs shall be used. It is usually empty. EXTRA_LOCALE_CATEGORIES = geda-gaf-1.8.2/libgeda/po/en_GB.po0000664000175000017500000007164212220655642013435 00000000000000# British English translation for libgeda # Copyright (C) 2007-2008 Peter Clifton # This file is distributed under the same license as the libgeda package. # Peter Clifton 2007, 2008 # # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-01-31 12:15+0000\n" "Last-Translator: Peter TB Brett \n" "Language-Team: gEDA developers \n" "Language: en_GB\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: libgeda/data/libgeda.xml.in:3 msgid "gEDA circuit schematic" msgstr "gEDA circuit schematic" #: libgeda/data/libgeda.xml.in:4 msgid "gEDA schematic symbol" msgstr "gEDA schematic symbol" #: libgeda/data/libgeda.xml.in:5 msgid "gEDA gsch2pcb project" msgstr "gEDA gsch2pcb project" #: libgeda/data/x-geda-gsch2pcb-project.desktop.in:3 msgid "gEDA Gsch2pcb Project" msgstr "gEDA Gsch2pcb Project" #: libgeda/data/x-geda-schematic.desktop.in:3 msgid "gEDA Circuit Schematic" msgstr "gEDA Circuit Schematic" #: libgeda/data/x-geda-symbol.desktop.in:3 msgid "gEDA Schematic Symbol" msgstr "gEDA Schematic Symbol" #: libgeda/src/a_basic.c:182 #, c-format msgid "o_save_objects: object %p has unknown type '%c'\n" msgstr "o_save_objects: object %p has unknown type '%c'\n" #: libgeda/src/a_basic.c:238 libgeda/src/f_basic.c:384 #, c-format msgid "File %s is read-only" msgstr "File %s is read-only" #: libgeda/src/a_basic.c:423 #, c-format msgid "" "Read unexpected attach symbol start marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" "Read unexpected attach symbol start marker in [%s] :\n" ">>\n" "%s<<\n" #: libgeda/src/a_basic.c:440 #, c-format msgid "" "Read unexpected embedded symbol start marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" "Read unexpected embedded symbol start marker in [%s] :\n" ">>\n" "%s<<\n" #: libgeda/src/a_basic.c:471 #, c-format msgid "" "Read unexpected embedded symbol end marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" "Read unexpected embedded symbol end marker in [%s] :\n" ">>\n" "%s<<\n" #: libgeda/src/a_basic.c:506 #, c-format msgid "" "Read an old format sym/sch file!\n" "Please run g[sym|sch]update on:\n" "[%s]\n" msgstr "" "Read an old format sym/sch file!\n" "Please run g[sym|sch]update on:\n" "[%s]\n" #: libgeda/src/a_basic.c:512 #, c-format msgid "" "Read garbage in [%s] :\n" ">>\n" "%s<<\n" msgstr "" "Read garbage in [%s] :\n" ">>\n" "%s<<\n" #: libgeda/src/f_basic.c:123 libgeda/src/f_basic.c:136 #, c-format msgid "Failed to stat [%s]: %s" msgstr "Failed to stat [%s]: %s" #: libgeda/src/f_basic.c:221 #, c-format msgid "Cannot find file %s: %s" msgstr "Cannot find file: %s: %s" #: libgeda/src/f_basic.c:269 #, c-format msgid "" "\n" "WARNING: Found an autosave backup file:\n" " %s.\n" "\n" msgstr "" "\n" "WARNING: Found an autosave backup file:\n" " %s.\n" "\n" #: libgeda/src/f_basic.c:271 msgid "I could not guess if it is newer, so you have to do it manually.\n" msgstr "I could not guess if it is newer, so you have to do it manually.\n" #: libgeda/src/f_basic.c:273 msgid "" "The backup copy is newer than the schematic, so it seems you should load it " "instead of the original file.\n" msgstr "" "The backup copy is newer than the schematic, so it seems you should load it " "instead of the original file.\n" #: libgeda/src/f_basic.c:275 msgid "" "Gschem usually makes backup copies automatically, and this situation happens " "when it crashed or it was forced to exit abruptly.\n" msgstr "" "Gschem usually makes backup copies automatically, and this situation happens " "when it crashed or it was forced to exit abruptly.\n" #: libgeda/src/f_basic.c:278 msgid "" "\n" "Run gschem and correct the situation.\n" "\n" msgstr "" "\n" "Run gschem and correct the situation.\n" "\n" #: libgeda/src/f_basic.c:374 #, c-format msgid "Can't get the real filename of %s: %s" msgstr "Can't get the real filename of %s: %s" #: libgeda/src/f_basic.c:405 #, c-format msgid "Could NOT set previous backup file [%s] read-write\n" msgstr "Could NOT set previous backup file [%s] read-write\n" #: libgeda/src/f_basic.c:411 #, c-format msgid "Can't save backup file: %s." msgstr "Can't save backup file: %s." #: libgeda/src/f_basic.c:421 #, c-format msgid "Could NOT set backup file [%s] readonly\n" msgstr "Could NOT set backup file [%s] readonly\n" #: libgeda/src/f_basic.c:480 #, c-format msgid "Could NOT save file: %s" msgstr "Could NOT save file: %s" #: libgeda/src/f_basic.c:727 #, c-format msgid "%s: %s" msgstr "%s: %s" #: libgeda/src/f_print.c:123 msgid "Unable to get time of day in f_print_header()\n" msgstr "Unable to get time of day in f_print_header()\n" #: libgeda/src/f_print.c:165 #, c-format msgid "Unable to open the prolog file `%s' for reading in f_print_header()\n" msgstr "Unable to open the prolog file `%s' for reading in f_print_header()\n" #: libgeda/src/f_print.c:182 #, c-format msgid "Error during reading of the prolog file `%s' in f_print_header()\n" msgstr "Error during reading of the prolog file `%s' in f_print_header()\n" #: libgeda/src/f_print.c:188 msgid "" "Error during writing of the output postscript file in f_print_header()\n" msgstr "" "Error during writing of the output postscript file in f_print_header()\n" #: libgeda/src/f_print.c:202 msgid "Giving up on printing\n" msgstr "Giving up on printing\n" #: libgeda/src/f_print.c:375 #, c-format msgid "Could not open [%s] for printing\n" msgstr "Could not open [%s] for printing\n" #: libgeda/src/f_print.c:409 #, c-format msgid "Could not execute command [%s] for printing\n" msgstr "Could not execute command [%s] for printing\n" #: libgeda/src/f_print.c:682 msgid "Too many UTF-8 characters, cannot print\n" msgstr "Too many UTF-8 characters, cannot print\n" #: libgeda/src/g_basic.c:264 msgid "" "\n" "Backtrace:\n" msgstr "" "\n" "Backtrace:\n" #: libgeda/src/g_rc.c:233 msgid "Config file already loaded" msgstr "Config file already loaded" #: libgeda/src/g_rc.c:268 #, c-format msgid "Parsed config from [%s]\n" msgstr "Parsed config from [%s]\n" #: libgeda/src/g_rc.c:281 #, c-format msgid "Unable to parse config from [%s]: %s" msgstr "Unable to parse config from [%s]: %s" #: libgeda/src/g_rc.c:298 msgid "ERROR: An unknown error occurred while parsing configuration files." msgstr "ERROR: An unknown error occurred while parsing configuration files." #: libgeda/src/g_rc.c:310 libgeda/src/g_rc.c:311 #, c-format msgid "ERROR: %s\n" msgstr "ERROR: %s\n" #: libgeda/src/g_rc.c:317 #, c-format msgid "ERROR: The %s log may contain more information.\n" msgstr "ERROR: The %s log may contain more information.\n" #: libgeda/src/g_rc.c:978 msgid "" "WARNING: using a string for 'always-promote-attributes' is deprecated. Use a " "list of strings instead\n" msgstr "" "WARNING: using a string for 'always-promote-attributes' is deprecated. Use a " "list of strings instead\n" #: libgeda/src/o_arc_basic.c:256 libgeda/src/o_arc_basic.c:269 msgid "Failed to parse arc object" msgstr "Failed to parse arc object" #: libgeda/src/o_arc_basic.c:276 #, c-format msgid "Found a zero radius arc [ %c %d, %d, %d, %d, %d, %d ]\n" msgstr "Found a zero radius arc [ %c %d, %d, %d, %d, %d, %d ]\n" #: libgeda/src/o_arc_basic.c:282 libgeda/src/o_box_basic.c:327 #: libgeda/src/o_bus_basic.c:182 libgeda/src/o_circle_basic.c:289 #: libgeda/src/o_line_basic.c:264 libgeda/src/o_net_basic.c:171 #: libgeda/src/o_path_basic.c:189 libgeda/src/o_pin_basic.c:183 #: libgeda/src/o_text_basic.c:425 #, c-format msgid "Found an invalid color [ %s ]\n" msgstr "Found an invalid colour [ %s ]\n" #: libgeda/src/o_arc_basic.c:283 libgeda/src/o_box_basic.c:328 #: libgeda/src/o_bus_basic.c:183 libgeda/src/o_circle_basic.c:290 #: libgeda/src/o_line_basic.c:265 libgeda/src/o_net_basic.c:172 #: libgeda/src/o_path_basic.c:190 libgeda/src/o_pin_basic.c:184 #: libgeda/src/o_text_basic.c:426 msgid "Setting color to default color\n" msgstr "Setting colour to default colour\n" #: libgeda/src/o_attrib.c:123 msgid "Attempt to attach non text item as an attribute!\n" msgstr "Attempt to attach non text item as an attribute!\n" #: libgeda/src/o_attrib.c:128 #, c-format msgid "Attempt to attach attribute [%s] to more than one object\n" msgstr "Attempt to attach attribute [%s] to more than one object\n" #: libgeda/src/o_attrib.c:341 msgid "Tried to attach a non-text item as an attribute" msgstr "Tried to attach a non-text item as an attribute" #: libgeda/src/o_attrib.c:348 msgid "Unexpected end-of-file in attribute list" msgstr "Unexpected end-of-file in attribute list" #: libgeda/src/o_basic.c:196 libgeda/src/o_basic.c:208 msgid "Invalid space specified, setting to 100\n" msgstr "Invalid space specified, setting to 100\n" #: libgeda/src/o_basic.c:204 msgid "Invalid length specified, setting to 100\n" msgstr "Invalid length specified, setting to 100\n" #: libgeda/src/o_box_basic.c:287 libgeda/src/o_box_basic.c:316 msgid "Failed to parse box object" msgstr "Failed to parse box object" #: libgeda/src/o_box_basic.c:322 #, c-format msgid "Found a zero width/height box [ %c %d %d %d %d %d ]\n" msgstr "Found a zero width/height box [ %c %d %d %d %d %d ]\n" #: libgeda/src/o_bus_basic.c:160 libgeda/src/o_bus_basic.c:167 msgid "Failed to parse bus object" msgstr "Failed to parse bus object" #: libgeda/src/o_bus_basic.c:173 #, c-format msgid "Found a zero length bus [ %c %d %d %d %d %d ]\n" msgstr "Found a zero length bus [ %c %d %d %d %d %d ]\n" #: libgeda/src/o_bus_basic.c:188 #, c-format msgid "Found an invalid bus ripper direction [ %s ]\n" msgstr "Found an invalid bus ripper direction [ %s ]\n" #: libgeda/src/o_bus_basic.c:189 msgid "Resetting direction to neutral (no direction)\n" msgstr "Resetting direction to neutral (no direction)\n" #: libgeda/src/o_circle_basic.c:193 msgid "Null radius circles are not allowed\n" msgstr "Null radius circles are not allowed\n" #: libgeda/src/o_circle_basic.c:246 libgeda/src/o_circle_basic.c:275 msgid "Failed to parse circle object" msgstr "Failed to parse circle object" #: libgeda/src/o_circle_basic.c:282 #, c-format msgid "Found a zero or negative radius circle [ %c %d %d %d %d ]\n" msgstr "Found a zero or negative radius circle [ %c %d %d %d %d ]\n" #: libgeda/src/o_circle_basic.c:284 msgid "Setting radius to 0\n" msgstr "Setting radius to 0\n" #: libgeda/src/o_complex_basic.c:422 #, c-format msgid "" "Component not found:\n" " %s" msgstr "" "Component not found:\n" " %s" #: libgeda/src/o_complex_basic.c:654 msgid "Failed to parse complex object" msgstr "Failed to parse complex object" #: libgeda/src/o_complex_basic.c:667 #, c-format msgid "Found a component with an invalid rotation [ %c %d %d %d %d %d %s ]\n" msgstr "Found a component with an invalid rotation [ %c %d %d %d %d %d %s ]\n" #: libgeda/src/o_complex_basic.c:668 libgeda/src/o_picture.c:105 #: libgeda/src/o_text_basic.c:397 msgid "Setting angle to 0\n" msgstr "Setting angle to 0\n" #: libgeda/src/o_complex_basic.c:680 #, c-format msgid "" "Found a component with an invalid mirror flag [ %c %d %d %d %d %d %s ]\n" msgstr "" "Found a component with an invalid mirror flag [ %c %d %d %d %d %d %s ]\n" #: libgeda/src/o_complex_basic.c:681 msgid "Setting mirror to 0\n" msgstr "Setting mirror to 0\n" #: libgeda/src/o_complex_basic.c:994 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse symbol file symversion=%s\n" msgstr "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse symbol file symversion=%s\n" #: libgeda/src/o_complex_basic.c:998 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse symbol file symversion=\n" msgstr "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse symbol file symversion=\n" #: libgeda/src/o_complex_basic.c:1014 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse attached symversion=%s\n" msgstr "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse attached symversion=%s\n" #: libgeda/src/o_complex_basic.c:1039 #, c-format msgid "" "WARNING: Symbol version oddity on refdes %s:\n" "\tsymversion=%s attached to instantiated symbol, but no symversion= inside " "symbol file\n" msgstr "" "WARNING: Symbol version oddity on refdes %s:\n" "\tsymversion=%s attached to instantiated symbol, but no symversion= inside " "symbol file\n" #: libgeda/src/o_complex_basic.c:1053 #, c-format msgid "" "WARNING: Symbol version mismatch on refdes %s (%s):\n" "\tSymbol in library is newer than instantiated symbol\n" msgstr "" "WARNING: Symbol version mismatch on refdes %s (%s):\n" "\tSymbol in library is newer than instantiated symbol\n" #: libgeda/src/o_complex_basic.c:1081 #, c-format msgid "\tMAJOR VERSION CHANGE (file %.3f, instantiated %.3f, %s)!\n" msgstr "\tMAJOR VERSION CHANGE (file %.3f, instantiated %.3f, %s)!\n" #: libgeda/src/o_complex_basic.c:1099 #, c-format msgid "\tMinor version change (file %.3f, instantiated %.3f)\n" msgstr "\tMinor version change (file %.3f, instantiated %.3f)\n" #: libgeda/src/o_complex_basic.c:1110 #, c-format msgid "" "WARNING: Symbol version oddity on refdes %s:\n" "\tInstantiated symbol is newer than symbol in library\n" msgstr "" "WARNING: Symbol version oddity on refdes %s:\n" "\tInstantiated symbol is newer than symbol in library\n" #: libgeda/src/o_embed.c:58 #, c-format msgid "Component [%s] has been embedded\n" msgstr "Component [%s] has been embedded\n" #: libgeda/src/o_embed.c:102 #, c-format msgid "" "Could not find component [%s], while trying to unembed. Component is still " "embedded\n" msgstr "" "Could not find component [%s], while trying to unembed. Component is still " "embedded\n" #: libgeda/src/o_embed.c:110 #, c-format msgid "Component [%s] has been successfully unembedded\n" msgstr "Component [%s] has been successfully unembedded\n" #: libgeda/src/o_line_basic.c:229 libgeda/src/o_line_basic.c:247 msgid "Failed to parse line object" msgstr "Failed to parse line object" #: libgeda/src/o_line_basic.c:259 #, c-format msgid "Found a zero length line [ %c %d %d %d %d %d ]\n" msgstr "Found a zero length line [ %c %d %d %d %d %d ]\n" #: libgeda/src/o_net_basic.c:156 msgid "Failed to parse net object" msgstr "Failed to parse net object" #: libgeda/src/o_net_basic.c:161 #, c-format msgid "Found a zero length net [ %c %d %d %d %d %d ]\n" msgstr "Found a zero length net [ %c %d %d %d %d %d ]\n" #: libgeda/src/o_path_basic.c:181 msgid "Failed to parse path object" msgstr "Failed to parse path object" #: libgeda/src/o_path_basic.c:207 msgid "Unexpected end-of-file when reading path" msgstr "Unexpected end-of-file when reading path" #: libgeda/src/o_picture.c:72 msgid "Failed to parse picture definition" msgstr "Failed to parse picture definition" #: libgeda/src/o_picture.c:77 #, c-format msgid "Found a zero width/height picture [ %c %d %d %d %d ]\n" msgstr "Found a zero width/height picture [ %c %d %d %d %d ]\n" #: libgeda/src/o_picture.c:82 #, c-format msgid "Found a picture with a wrong 'mirrored' parameter: %d.\n" msgstr "Found a picture with a wrong 'mirrored' parameter: %d.\n" #: libgeda/src/o_picture.c:84 msgid "Setting mirrored to 0\n" msgstr "Setting mirrored to 0\n" #: libgeda/src/o_picture.c:89 #, c-format msgid "Found a picture with a wrong 'embedded' parameter: %d.\n" msgstr "Found a picture with a wrong 'embedded' parameter: %d.\n" #: libgeda/src/o_picture.c:91 msgid "Setting embedded to 0\n" msgstr "Setting embedded to 0\n" #: libgeda/src/o_picture.c:104 #, c-format msgid "Found an unsupported picture angle [ %d ]\n" msgstr "Found an unsupported picture angle [ %d ]\n" #: libgeda/src/o_picture.c:116 msgid "Found an image with no filename." msgstr "Found an image with no filename." #: libgeda/src/o_picture.c:147 #, c-format msgid "Failed to load image from embedded data [%s]: %s\n" msgstr "Failed to load image from embedded data [%s]: %s\n" #: libgeda/src/o_picture.c:148 msgid "Base64 decoding failed." msgstr "Base64 decoding failed." #: libgeda/src/o_picture.c:149 msgid "Falling back to file loading. Picture unembedded.\n" msgstr "Falling back to file loading. Picture unembedded.\n" #: libgeda/src/o_picture.c:208 msgid "ERROR: o_picture_save: unable to encode the picture.\n" msgstr "ERROR: o_picture_save: unable to encode the picture.\n" #: libgeda/src/o_picture.c:308 #, c-format msgid "Failed to load buffer image [%s]: %s\n" msgstr "Failed to load buffer image [%s]: %s\n" #: libgeda/src/o_picture.c:321 #, c-format msgid "Failed to load image from [%s]: %s\n" msgstr "Failed to load image from [%s]: %s\n" #: libgeda/src/o_picture.c:427 #, c-format msgid "Picture %p has invalid angle %i\n" msgstr "Picture %p has invalid angle %i\n" #: libgeda/src/o_picture.c:957 #, c-format msgid "Picture [%s] has no image data.\n" msgstr "Picture [%s] has no image data.\n" #: libgeda/src/o_picture.c:958 msgid "Falling back to file loading. Picture is still unembedded.\n" msgstr "Falling back to file loading. Picture is still unembedded.\n" #: libgeda/src/o_picture.c:966 #, c-format msgid "Picture [%s] has been embedded\n" msgstr "Picture [%s] has been embedded\n" #: libgeda/src/o_picture.c:990 #, c-format msgid "Failed to load image from file [%s]: %s\n" msgstr "Failed to load image from file [%s]: %s\n" #: libgeda/src/o_picture.c:992 msgid "Picture is still embedded.\n" msgstr "Picture is still embedded.\n" #: libgeda/src/o_picture.c:1000 #, c-format msgid "Picture [%s] has been unembedded\n" msgstr "Picture [%s] has been unembedded\n" #: libgeda/src/o_picture.c:1236 #, c-format msgid "Failed to load fallback image %s: %s.\n" msgstr "Failed to load fallback image %s: %s.\n" #: libgeda/src/o_pin_basic.c:160 libgeda/src/o_pin_basic.c:168 msgid "Failed to parse pin object" msgstr "Failed to parse pin object" #: libgeda/src/o_pin_basic.c:174 msgid "" "Found a pin which did not have the whichone field set.\n" "Verify and correct manually.\n" msgstr "" "Found a pin which did not have the whichone field set.\n" "Verify and correct manually.\n" #: libgeda/src/o_pin_basic.c:177 #, c-format msgid "Found an invalid whichend on a pin (reseting to zero): %d\n" msgstr "Found an invalid whichend on a pin (reseting to zero): %d\n" #: libgeda/src/o_text_basic.c:356 libgeda/src/o_text_basic.c:366 #: libgeda/src/o_text_basic.c:376 msgid "Failed to parse text object" msgstr "Failed to parse text object" #: libgeda/src/o_text_basic.c:383 #, c-format msgid "Found a zero size text string [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "Found a zero size text string [ %c %d %d %d %d %d %d %d %d ]\n" #: libgeda/src/o_text_basic.c:395 #, c-format msgid "Found an unsupported text angle [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "Found an unsupported text angle [ %c %d %d %d %d %d %d %d %d ]\n" #: libgeda/src/o_text_basic.c:417 #, c-format msgid "Found an unsupported text alignment [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "Found an unsupported text alignment [ %c %d %d %d %d %d %d %d %d ]\n" #: libgeda/src/o_text_basic.c:419 msgid "Setting alignment to LOWER_LEFT\n" msgstr "Setting alignment to LOWER_LEFT\n" #: libgeda/src/o_text_basic.c:440 #, c-format msgid "Unexpected end-of-file after %d lines" msgstr "Unexpected end-of-file after %d lines" #: libgeda/src/s_clib.c:465 #, c-format msgid "Library command failed [%s]: %s\n" msgstr "Library command failed [%s]: %s\n" #: libgeda/src/s_clib.c:470 #, c-format msgid "Library command failed [%s]: Uncaught signal %i.\n" msgstr "Library command failed [%s]: Uncaught signal %i.\n" #: libgeda/src/s_clib.c:474 #, c-format msgid "Library command failed [%s]\n" msgstr "Library command failed [%s]\n" #: libgeda/src/s_clib.c:475 #, c-format msgid "" "Error output was:\n" "%s\n" msgstr "" "Error output was:\n" "%s\n" #: libgeda/src/s_clib.c:561 #, c-format msgid "Library name [%s] already in use. Using [%s].\n" msgstr "Library name [%s] already in use. Using [%s].\n" #: libgeda/src/s_clib.c:598 #, c-format msgid "Failed to open directory [%s]: %s\n" msgstr "Failed to open directory [%s]: %s\n" #: libgeda/src/s_clib.c:734 #, c-format msgid "Failed to scan library [%s]: Scheme function returned non-list\n" msgstr "Failed to scan library [%s]: Scheme function returned non-list\n" #: libgeda/src/s_clib.c:742 #, c-format msgid "Non-string symbol name while scanning library [%s]\n" msgstr "Non-string symbol name while scanning library [%s]\n" #: libgeda/src/s_clib.c:901 libgeda/src/s_clib.c:948 msgid "Cannot add library: name not specified\n" msgstr "Cannot add library: name not specified\n" #: libgeda/src/s_clib.c:908 #, c-format msgid "" "Cannot add library [%s]: both 'list' and 'get' commands must be specified.\n" msgstr "" "Cannot add library [%s]: both 'list' and 'get' commands must be specified.\n" #: libgeda/src/s_clib.c:956 #, c-format msgid "Cannot add Scheme-library [%s]: callbacks must be closures\n" msgstr "Cannot add Scheme-library [%s]: callbacks must be closures\n" #: libgeda/src/s_clib.c:1083 #, c-format msgid "Failed to load symbol from file [%s]: %s\n" msgstr "Failed to load symbol from file [%s]: %s\n" #: libgeda/src/s_clib.c:1143 #, c-format msgid "Failed to load symbol data [%s] from source [%s]\n" msgstr "Failed to load symbol data [%s] from source [%s]\n" #: libgeda/src/s_clib.c:1385 #, c-format msgid "Component [%s] was not found in the component library\n" msgstr "Component [%s] was not found in the component library\n" #: libgeda/src/s_clib.c:1391 #, c-format msgid "More than one component found with name [%s]\n" msgstr "More than one component found with name [%s]\n" #: libgeda/src/s_color.c:207 msgid "Color index out of range" msgstr "Colour index out of range" #: libgeda/src/s_color.c:262 msgid "Color map entry must be a two-element list" msgstr "Colour map entry must be a two-element list" #: libgeda/src/s_color.c:270 msgid "Index in color map entry must be an integer" msgstr "Index in colour map entry must be an integer" #: libgeda/src/s_color.c:296 msgid "Value in color map entry must be #f or a string" msgstr "Value in colour map entry must be #f or a string" #: libgeda/src/s_hierarchy.c:94 #, c-format msgid "" "hierarchy loop detected while visiting page:\n" " \"%s\"\n" msgstr "" "hierarchy loop detected while visiting page:\n" " \"%s\"\n" #: libgeda/src/s_hierarchy.c:194 msgid "There are no schematics above the current one!\n" msgstr "There are no schematics above the current one!\n" #: libgeda/src/s_hierarchy.c:274 #, c-format msgid "ERROR in s_hierarchy_traverse: schematic not found: %s\n" msgstr "ERROR in s_hierarchy_traverse: schematic not found: %s\n" #: libgeda/src/s_page.c:213 #, c-format msgid "s_page_delete: Can't get the real filename of %s." msgstr "s_page_delete: Can't get the real filename of %s." #: libgeda/src/s_page.c:224 #, c-format msgid "s_page_delete: Unable to delete backup file %s." msgstr "s_page_delete: Unable to delete backup file %s." #: libgeda/src/s_page.c:499 #, c-format msgid "Saved [%s]\n" msgstr "Saved [%s]\n" #: libgeda/src/s_page.c:505 #, c-format msgid "Could NOT save [%s]\n" msgstr "Could NOT save [%s]\n" #: libgeda/src/s_slib.c:171 #, c-format msgid "Found [%s]\n" msgstr "Found [%s]\n" #: libgeda/src/s_slib.c:181 #, c-format msgid "Could not find [%s] in any SourceLibrary\n" msgstr "Could not find [%s] in any SourceLibrary\n" #: libgeda/src/s_slot.c:162 msgid "Did not find slotdef=#:#,#,#... attribute\n" msgstr "Did not find slotdef=#:#,#,#... attribute\n" #: libgeda/src/s_slot.c:168 msgid "Improper slotdef syntax: missing \":\".\n" msgstr "Improper slotdef syntax: missing \":\".\n" #: libgeda/src/s_slot.c:183 msgid "Did not find proper slotdef=#:#,#,#... attribute\n" msgstr "Did not find proper slotdef=#:#,#,#... attribute\n" #: libgeda/src/s_slot.c:213 msgid "component missing pinseq= attribute\n" msgstr "component missing pinseq= attribute\n" #: libgeda/src/scheme_attrib.c:67 msgid "~A is not a valid attribute: invalid string '~A'." msgstr "~A is not a valid attribute: invalid string '~A'." #: libgeda/src/scheme_attrib.c:172 msgid "Objects ~A and ~A are not part of the same page and/or complex object" msgstr "Objects ~A and ~A are not part of the same page and/or complex object" #: libgeda/src/scheme_attrib.c:179 libgeda/src/scheme_attrib.c:184 msgid "Object ~A is already attached as an attribute" msgstr "Object ~A is already attached as an attribute" #: libgeda/src/scheme_attrib.c:233 msgid "Object ~A is attribute of wrong object" msgstr "Object ~A is attribute of wrong object" #: libgeda/src/scheme_complex.c:148 msgid "Invalid complex angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "Invalid complex angle ~A. Must be 0, 90, 180, or 270 degrees" #: libgeda/src/scheme_complex.c:265 libgeda/src/scheme_page.c:249 msgid "Object ~A is already attached to something" msgstr "Object ~A is already attached to something" #: libgeda/src/scheme_complex.c:325 msgid "Object ~A is attached to a different complex" msgstr "Object ~A is attached to a different complex" #: libgeda/src/scheme_complex.c:332 msgid "Object ~A is attached to a page" msgstr "Object ~A is attached to a page" #: libgeda/src/scheme_complex.c:339 libgeda/src/scheme_page.c:301 msgid "Object ~A is attached as an attribute" msgstr "Object ~A is attached as an attribute" #: libgeda/src/scheme_complex.c:346 libgeda/src/scheme_page.c:308 msgid "Object ~A has attributes" msgstr "Object ~A has attributes" #: libgeda/src/scheme_object.c:232 msgid "Object ~A has bad type '~A'" msgstr "Object ~A has bad type '~A'" #: libgeda/src/scheme_object.c:346 msgid "Object ~A has invalid stroke cap style ~A" msgstr "Object ~A has invalid stroke cap style ~A" #: libgeda/src/scheme_object.c:359 msgid "Object ~A has invalid stroke dash style ~A" msgstr "Object ~A has invalid stroke dash style ~A" #: libgeda/src/scheme_object.c:423 msgid "Invalid stroke cap style ~A." msgstr "Invalid stroke cap style ~A." #: libgeda/src/scheme_object.c:434 msgid "Invalid stroke dash style ~A." msgstr "Invalid stroke dash style ~A." #: libgeda/src/scheme_object.c:444 msgid "Missing dash length parameter for dash style ~A." msgstr "Missing dash length parameter for dash style ~A." #: libgeda/src/scheme_object.c:454 msgid "Missing dot/dash space parameter for dash style ~A." msgstr "Missing dot/dash space parameter for dash style ~A." #: libgeda/src/scheme_object.c:516 msgid "Object ~A has invalid fill style ~A" msgstr "Object ~A has invalid fill style ~A" #: libgeda/src/scheme_object.c:565 msgid "Invalid fill style ~A." msgstr "Invalid fill style ~A." #: libgeda/src/scheme_object.c:573 msgid "Missing second space parameter for fill style ~A." msgstr "Missing second space parameter for fill style ~A." #: libgeda/src/scheme_object.c:582 msgid "Missing second angle parameter for fill style ~A." msgstr "Missing second angle parameter for fill style ~A." #: libgeda/src/scheme_object.c:592 msgid "Missing stroke width parameter for fill style ~A." msgstr "Missing stroke width parameter for fill style ~A." #: libgeda/src/scheme_object.c:601 msgid "Missing space parameter for fill style ~A." msgstr "Missing space parameter for fill style ~A." #: libgeda/src/scheme_object.c:610 msgid "Missing angle parameter for fill style ~A." msgstr "Missing angle parameter for fill style ~A." #: libgeda/src/scheme_object.c:909 msgid "Invalid pin type ~A, must be 'net or 'bus" msgstr "Invalid pin type ~A, must be 'net or 'bus" #: libgeda/src/scheme_object.c:952 msgid "Object ~A has invalid pin type." msgstr "Object ~A has invalid pin type." #: libgeda/src/scheme_object.c:1347 msgid "Invalid text alignment ~A." msgstr "Invalid text alignment ~A." #: libgeda/src/scheme_object.c:1363 msgid "Invalid text angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "Invalid text angle ~A. Must be 0, 90, 180, or 270 degrees" #: libgeda/src/scheme_object.c:1382 msgid "Invalid text name/value visibility ~A." msgstr "Invalid text name/value visibility ~A." #: libgeda/src/scheme_object.c:1457 msgid "Text object ~A has invalid text alignment ~A" msgstr "Text object ~A has invalid text alignment ~A" #: libgeda/src/scheme_object.c:1466 msgid "Text object ~A has invalid visibility ~A" msgstr "Text object ~A has invalid visibility ~A" #: libgeda/src/scheme_object.c:1476 msgid "Text object ~A has invalid text attribute visibility ~A" msgstr "Text object ~A has invalid text attribute visibility ~A" #: libgeda/src/scheme_object.c:1517 msgid "Object ~A is not included in a page." msgstr "Object ~A is not included in a page." #: libgeda/src/scheme_object.c:1670 msgid "Path object ~A has invalid element type ~A at index ~A" msgstr "Path object ~A has invalid element type ~A at index ~A" #: libgeda/src/scheme_object.c:1784 msgid "Invalid path element type ~A." msgstr "Invalid path element type ~A." #: libgeda/src/scheme_object.c:1957 msgid "Invalid picture angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "Invalid picture angle ~A. Must be 0, 90, 180, or 270 degrees" #: libgeda/src/scheme_page.c:294 msgid "Object ~A is attached to a complex or different page" msgstr "Object ~A is attached to a complex or different page" #: libgeda/src/scheme_page.c:442 msgid "Parse error: ~s" msgstr "Parse error: ~s" #: libgeda/scheme/geda/attrib.scm:59 #, scheme-format msgid "Object ~A is not part of a page" msgstr "Object ~A is not part of a page" geda-gaf-1.8.2/libgeda/po/hu.po0000664000175000017500000005301312220655642013067 00000000000000# Hungarian translation for geda # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2008. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2010-02-06 22:11+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: gEDA developers \n" "Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2010-02-14 12:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: libgeda/data/libgeda.xml.in:3 msgid "gEDA circuit schematic" msgstr "gEDA kapcsolási rajz" #: libgeda/data/libgeda.xml.in:4 msgid "gEDA schematic symbol" msgstr "gEDA szimbólum" #: libgeda/data/libgeda.xml.in:5 msgid "gEDA gsch2pcb project" msgstr "gEDA gsch2pcb projekt" #: libgeda/data/x-geda-gsch2pcb-project.desktop.in:3 msgid "gEDA Gsch2pcb Project" msgstr "gEDA gsch2pcb projekt" #: libgeda/data/x-geda-schematic.desktop.in:3 msgid "gEDA Circuit Schematic" msgstr "gEDA kapcsolási rajz" #: libgeda/data/x-geda-symbol.desktop.in:3 msgid "gEDA Schematic Symbol" msgstr "gEDA szimbólum" #: libgeda/src/a_basic.c:182 #, c-format msgid "o_save_objects: object %p has unknown type '%c'\n" msgstr "" #: libgeda/src/a_basic.c:238 libgeda/src/f_basic.c:384 #, c-format msgid "File %s is read-only" msgstr "Csak olvasható file %s" #: libgeda/src/a_basic.c:423 #, fuzzy, c-format msgid "" "Read unexpected attach symbol start marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" "Szemét olvasása a(z) [%s]-ban\n" "<<\n" "%s<<\n" #: libgeda/src/a_basic.c:440 #, c-format msgid "" "Read unexpected embedded symbol start marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" #: libgeda/src/a_basic.c:471 #, c-format msgid "" "Read unexpected embedded symbol end marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" #: libgeda/src/a_basic.c:506 #, c-format msgid "" "Read an old format sym/sch file!\n" "Please run g[sym|sch]update on:\n" "[%s]\n" msgstr "" "Régi formátumú sym/sch fájl!\n" "Kérlek frissítsd a [%s] fájlt a\n" "g[sym|sch]update program segítségével!\n" #: libgeda/src/a_basic.c:512 #, c-format msgid "" "Read garbage in [%s] :\n" ">>\n" "%s<<\n" msgstr "" "Szemét olvasása a(z) [%s]-ban\n" "<<\n" "%s<<\n" #: libgeda/src/f_basic.c:123 libgeda/src/f_basic.c:136 #, c-format msgid "Failed to stat [%s]: %s" msgstr "Nem látom [%s]: %s" #: libgeda/src/f_basic.c:221 #, c-format msgid "Cannot find file %s: %s" msgstr "Nem találom a file-t %s: %s" #: libgeda/src/f_basic.c:269 #, c-format msgid "" "\n" "WARNING: Found an autosave backup file:\n" " %s.\n" "\n" msgstr "" #: libgeda/src/f_basic.c:271 msgid "I could not guess if it is newer, so you have to do it manually.\n" msgstr "Nem tudtam eldönteni, hogy ez újabb, ezért neked kell megcsinálnod \n" #: libgeda/src/f_basic.c:273 msgid "" "The backup copy is newer than the schematic, so it seems you should load it " "instead of the original file.\n" msgstr "" #: libgeda/src/f_basic.c:275 msgid "" "Gschem usually makes backup copies automatically, and this situation happens " "when it crashed or it was forced to exit abruptly.\n" msgstr "" #: libgeda/src/f_basic.c:278 msgid "" "\n" "Run gschem and correct the situation.\n" "\n" msgstr "" #: libgeda/src/f_basic.c:374 #, c-format msgid "Can't get the real filename of %s: %s" msgstr "" #: libgeda/src/f_basic.c:405 #, c-format msgid "Could NOT set previous backup file [%s] read-write\n" msgstr "" #: libgeda/src/f_basic.c:411 #, c-format msgid "Can't save backup file: %s." msgstr "" #: libgeda/src/f_basic.c:421 #, c-format msgid "Could NOT set backup file [%s] readonly\n" msgstr "" #: libgeda/src/f_basic.c:480 #, c-format msgid "Could NOT save file: %s" msgstr "Nem tudtam elmenteni a file-t: %s" #: libgeda/src/f_basic.c:727 #, c-format msgid "%s: %s" msgstr "%s: %s" #: libgeda/src/f_print.c:123 msgid "Unable to get time of day in f_print_header()\n" msgstr "" #: libgeda/src/f_print.c:165 #, c-format msgid "Unable to open the prolog file `%s' for reading in f_print_header()\n" msgstr "" #: libgeda/src/f_print.c:182 #, c-format msgid "Error during reading of the prolog file `%s' in f_print_header()\n" msgstr "" #: libgeda/src/f_print.c:188 msgid "" "Error during writing of the output postscript file in f_print_header()\n" msgstr "" #: libgeda/src/f_print.c:202 msgid "Giving up on printing\n" msgstr "" #: libgeda/src/f_print.c:375 #, c-format msgid "Could not open [%s] for printing\n" msgstr "" #: libgeda/src/f_print.c:409 #, c-format msgid "Could not execute command [%s] for printing\n" msgstr "" #: libgeda/src/f_print.c:682 msgid "Too many UTF-8 characters, cannot print\n" msgstr "Túl sok UTF-8 karakter, nem tudom kinyomtatni\n" #: libgeda/src/g_basic.c:264 msgid "" "\n" "Backtrace:\n" msgstr "" #: libgeda/src/g_rc.c:233 msgid "Config file already loaded" msgstr "" #: libgeda/src/g_rc.c:268 #, c-format msgid "Parsed config from [%s]\n" msgstr "" #: libgeda/src/g_rc.c:281 #, c-format msgid "Unable to parse config from [%s]: %s" msgstr "" #: libgeda/src/g_rc.c:298 msgid "ERROR: An unknown error occurred while parsing configuration files." msgstr "" #: libgeda/src/g_rc.c:310 libgeda/src/g_rc.c:311 #, c-format msgid "ERROR: %s\n" msgstr "HIBA: %s\n" #: libgeda/src/g_rc.c:317 #, c-format msgid "ERROR: The %s log may contain more information.\n" msgstr "" #: libgeda/src/g_rc.c:978 msgid "" "WARNING: using a string for 'always-promote-attributes' is deprecated. Use a " "list of strings instead\n" msgstr "" #: libgeda/src/o_arc_basic.c:256 libgeda/src/o_arc_basic.c:269 msgid "Failed to parse arc object" msgstr "" #: libgeda/src/o_arc_basic.c:276 #, c-format msgid "Found a zero radius arc [ %c %d, %d, %d, %d, %d, %d ]\n" msgstr "" #: libgeda/src/o_arc_basic.c:282 libgeda/src/o_box_basic.c:327 #: libgeda/src/o_bus_basic.c:182 libgeda/src/o_circle_basic.c:289 #: libgeda/src/o_line_basic.c:264 libgeda/src/o_net_basic.c:171 #: libgeda/src/o_path_basic.c:189 libgeda/src/o_pin_basic.c:183 #: libgeda/src/o_text_basic.c:425 #, c-format msgid "Found an invalid color [ %s ]\n" msgstr "" #: libgeda/src/o_arc_basic.c:283 libgeda/src/o_box_basic.c:328 #: libgeda/src/o_bus_basic.c:183 libgeda/src/o_circle_basic.c:290 #: libgeda/src/o_line_basic.c:265 libgeda/src/o_net_basic.c:172 #: libgeda/src/o_path_basic.c:190 libgeda/src/o_pin_basic.c:184 #: libgeda/src/o_text_basic.c:426 msgid "Setting color to default color\n" msgstr "" #: libgeda/src/o_attrib.c:123 msgid "Attempt to attach non text item as an attribute!\n" msgstr "" #: libgeda/src/o_attrib.c:128 #, c-format msgid "Attempt to attach attribute [%s] to more than one object\n" msgstr "" #: libgeda/src/o_attrib.c:341 msgid "Tried to attach a non-text item as an attribute" msgstr "" #: libgeda/src/o_attrib.c:348 msgid "Unexpected end-of-file in attribute list" msgstr "" #: libgeda/src/o_basic.c:196 libgeda/src/o_basic.c:208 msgid "Invalid space specified, setting to 100\n" msgstr "" #: libgeda/src/o_basic.c:204 msgid "Invalid length specified, setting to 100\n" msgstr "" #: libgeda/src/o_box_basic.c:287 libgeda/src/o_box_basic.c:316 msgid "Failed to parse box object" msgstr "" #: libgeda/src/o_box_basic.c:322 #, c-format msgid "Found a zero width/height box [ %c %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_bus_basic.c:160 libgeda/src/o_bus_basic.c:167 msgid "Failed to parse bus object" msgstr "" #: libgeda/src/o_bus_basic.c:173 #, c-format msgid "Found a zero length bus [ %c %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_bus_basic.c:188 #, c-format msgid "Found an invalid bus ripper direction [ %s ]\n" msgstr "" #: libgeda/src/o_bus_basic.c:189 msgid "Resetting direction to neutral (no direction)\n" msgstr "" #: libgeda/src/o_circle_basic.c:193 msgid "Null radius circles are not allowed\n" msgstr "" #: libgeda/src/o_circle_basic.c:246 libgeda/src/o_circle_basic.c:275 msgid "Failed to parse circle object" msgstr "" #: libgeda/src/o_circle_basic.c:282 #, c-format msgid "Found a zero or negative radius circle [ %c %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_circle_basic.c:284 msgid "Setting radius to 0\n" msgstr "" #: libgeda/src/o_complex_basic.c:422 #, c-format msgid "" "Component not found:\n" " %s" msgstr "" #: libgeda/src/o_complex_basic.c:654 msgid "Failed to parse complex object" msgstr "" #: libgeda/src/o_complex_basic.c:667 #, c-format msgid "Found a component with an invalid rotation [ %c %d %d %d %d %d %s ]\n" msgstr "" #: libgeda/src/o_complex_basic.c:668 libgeda/src/o_picture.c:105 #: libgeda/src/o_text_basic.c:397 msgid "Setting angle to 0\n" msgstr "" #: libgeda/src/o_complex_basic.c:680 #, c-format msgid "" "Found a component with an invalid mirror flag [ %c %d %d %d %d %d %s ]\n" msgstr "" #: libgeda/src/o_complex_basic.c:681 msgid "Setting mirror to 0\n" msgstr "" #: libgeda/src/o_complex_basic.c:994 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse symbol file symversion=%s\n" msgstr "" #: libgeda/src/o_complex_basic.c:998 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse symbol file symversion=\n" msgstr "" #: libgeda/src/o_complex_basic.c:1014 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse attached symversion=%s\n" msgstr "" #: libgeda/src/o_complex_basic.c:1039 #, c-format msgid "" "WARNING: Symbol version oddity on refdes %s:\n" "\tsymversion=%s attached to instantiated symbol, but no symversion= inside " "symbol file\n" msgstr "" #: libgeda/src/o_complex_basic.c:1053 #, c-format msgid "" "WARNING: Symbol version mismatch on refdes %s (%s):\n" "\tSymbol in library is newer than instantiated symbol\n" msgstr "" #: libgeda/src/o_complex_basic.c:1081 #, c-format msgid "\tMAJOR VERSION CHANGE (file %.3f, instantiated %.3f, %s)!\n" msgstr "" #: libgeda/src/o_complex_basic.c:1099 #, c-format msgid "\tMinor version change (file %.3f, instantiated %.3f)\n" msgstr "" #: libgeda/src/o_complex_basic.c:1110 #, c-format msgid "" "WARNING: Symbol version oddity on refdes %s:\n" "\tInstantiated symbol is newer than symbol in library\n" msgstr "" #: libgeda/src/o_embed.c:58 #, c-format msgid "Component [%s] has been embedded\n" msgstr "" #: libgeda/src/o_embed.c:102 #, c-format msgid "" "Could not find component [%s], while trying to unembed. Component is still " "embedded\n" msgstr "" #: libgeda/src/o_embed.c:110 #, c-format msgid "Component [%s] has been successfully unembedded\n" msgstr "" #: libgeda/src/o_line_basic.c:229 libgeda/src/o_line_basic.c:247 msgid "Failed to parse line object" msgstr "" #: libgeda/src/o_line_basic.c:259 #, c-format msgid "Found a zero length line [ %c %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_net_basic.c:156 msgid "Failed to parse net object" msgstr "" #: libgeda/src/o_net_basic.c:161 #, c-format msgid "Found a zero length net [ %c %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_path_basic.c:181 msgid "Failed to parse path object" msgstr "" #: libgeda/src/o_path_basic.c:207 msgid "Unexpected end-of-file when reading path" msgstr "" #: libgeda/src/o_picture.c:72 msgid "Failed to parse picture definition" msgstr "" #: libgeda/src/o_picture.c:77 #, c-format msgid "Found a zero width/height picture [ %c %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_picture.c:82 #, c-format msgid "Found a picture with a wrong 'mirrored' parameter: %d.\n" msgstr "" #: libgeda/src/o_picture.c:84 msgid "Setting mirrored to 0\n" msgstr "" #: libgeda/src/o_picture.c:89 #, c-format msgid "Found a picture with a wrong 'embedded' parameter: %d.\n" msgstr "" #: libgeda/src/o_picture.c:91 msgid "Setting embedded to 0\n" msgstr "" #: libgeda/src/o_picture.c:104 #, c-format msgid "Found an unsupported picture angle [ %d ]\n" msgstr "" #: libgeda/src/o_picture.c:116 msgid "Found an image with no filename." msgstr "" #: libgeda/src/o_picture.c:147 #, c-format msgid "Failed to load image from embedded data [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:148 msgid "Base64 decoding failed." msgstr "" #: libgeda/src/o_picture.c:149 msgid "Falling back to file loading. Picture unembedded.\n" msgstr "" #: libgeda/src/o_picture.c:208 msgid "ERROR: o_picture_save: unable to encode the picture.\n" msgstr "" #: libgeda/src/o_picture.c:308 #, c-format msgid "Failed to load buffer image [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:321 #, c-format msgid "Failed to load image from [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:427 #, c-format msgid "Picture %p has invalid angle %i\n" msgstr "" #: libgeda/src/o_picture.c:957 #, c-format msgid "Picture [%s] has no image data.\n" msgstr "" #: libgeda/src/o_picture.c:958 msgid "Falling back to file loading. Picture is still unembedded.\n" msgstr "" #: libgeda/src/o_picture.c:966 #, c-format msgid "Picture [%s] has been embedded\n" msgstr "" #: libgeda/src/o_picture.c:990 #, c-format msgid "Failed to load image from file [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:992 msgid "Picture is still embedded.\n" msgstr "" #: libgeda/src/o_picture.c:1000 #, c-format msgid "Picture [%s] has been unembedded\n" msgstr "" #: libgeda/src/o_picture.c:1236 #, c-format msgid "Failed to load fallback image %s: %s.\n" msgstr "" #: libgeda/src/o_pin_basic.c:160 libgeda/src/o_pin_basic.c:168 msgid "Failed to parse pin object" msgstr "" #: libgeda/src/o_pin_basic.c:174 msgid "" "Found a pin which did not have the whichone field set.\n" "Verify and correct manually.\n" msgstr "" #: libgeda/src/o_pin_basic.c:177 #, c-format msgid "Found an invalid whichend on a pin (reseting to zero): %d\n" msgstr "" #: libgeda/src/o_text_basic.c:356 libgeda/src/o_text_basic.c:366 #: libgeda/src/o_text_basic.c:376 msgid "Failed to parse text object" msgstr "" #: libgeda/src/o_text_basic.c:383 #, c-format msgid "Found a zero size text string [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_text_basic.c:395 #, c-format msgid "Found an unsupported text angle [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_text_basic.c:417 #, c-format msgid "Found an unsupported text alignment [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_text_basic.c:419 msgid "Setting alignment to LOWER_LEFT\n" msgstr "" #: libgeda/src/o_text_basic.c:440 #, c-format msgid "Unexpected end-of-file after %d lines" msgstr "" #: libgeda/src/s_clib.c:465 #, c-format msgid "Library command failed [%s]: %s\n" msgstr "" #: libgeda/src/s_clib.c:470 #, c-format msgid "Library command failed [%s]: Uncaught signal %i.\n" msgstr "" #: libgeda/src/s_clib.c:474 #, c-format msgid "Library command failed [%s]\n" msgstr "" #: libgeda/src/s_clib.c:475 #, c-format msgid "" "Error output was:\n" "%s\n" msgstr "" #: libgeda/src/s_clib.c:561 #, c-format msgid "Library name [%s] already in use. Using [%s].\n" msgstr "" #: libgeda/src/s_clib.c:598 #, c-format msgid "Failed to open directory [%s]: %s\n" msgstr "" #: libgeda/src/s_clib.c:734 #, c-format msgid "Failed to scan library [%s]: Scheme function returned non-list\n" msgstr "" #: libgeda/src/s_clib.c:742 #, c-format msgid "Non-string symbol name while scanning library [%s]\n" msgstr "" #: libgeda/src/s_clib.c:901 libgeda/src/s_clib.c:948 msgid "Cannot add library: name not specified\n" msgstr "" #: libgeda/src/s_clib.c:908 #, c-format msgid "" "Cannot add library [%s]: both 'list' and 'get' commands must be specified.\n" msgstr "" #: libgeda/src/s_clib.c:956 #, c-format msgid "Cannot add Scheme-library [%s]: callbacks must be closures\n" msgstr "" #: libgeda/src/s_clib.c:1083 #, c-format msgid "Failed to load symbol from file [%s]: %s\n" msgstr "" #: libgeda/src/s_clib.c:1143 #, c-format msgid "Failed to load symbol data [%s] from source [%s]\n" msgstr "" #: libgeda/src/s_clib.c:1385 #, c-format msgid "Component [%s] was not found in the component library\n" msgstr "" #: libgeda/src/s_clib.c:1391 #, c-format msgid "More than one component found with name [%s]\n" msgstr "" #: libgeda/src/s_color.c:207 msgid "Color index out of range" msgstr "" #: libgeda/src/s_color.c:262 msgid "Color map entry must be a two-element list" msgstr "" #: libgeda/src/s_color.c:270 msgid "Index in color map entry must be an integer" msgstr "" #: libgeda/src/s_color.c:296 msgid "Value in color map entry must be #f or a string" msgstr "" #: libgeda/src/s_hierarchy.c:94 #, c-format msgid "" "hierarchy loop detected while visiting page:\n" " \"%s\"\n" msgstr "" #: libgeda/src/s_hierarchy.c:194 msgid "There are no schematics above the current one!\n" msgstr "" #: libgeda/src/s_hierarchy.c:274 #, c-format msgid "ERROR in s_hierarchy_traverse: schematic not found: %s\n" msgstr "" #: libgeda/src/s_page.c:213 #, c-format msgid "s_page_delete: Can't get the real filename of %s." msgstr "" #: libgeda/src/s_page.c:224 #, c-format msgid "s_page_delete: Unable to delete backup file %s." msgstr "" #: libgeda/src/s_page.c:499 #, c-format msgid "Saved [%s]\n" msgstr "" #: libgeda/src/s_page.c:505 #, c-format msgid "Could NOT save [%s]\n" msgstr "" #: libgeda/src/s_slib.c:171 #, c-format msgid "Found [%s]\n" msgstr "" #: libgeda/src/s_slib.c:181 #, c-format msgid "Could not find [%s] in any SourceLibrary\n" msgstr "" #: libgeda/src/s_slot.c:162 msgid "Did not find slotdef=#:#,#,#... attribute\n" msgstr "" #: libgeda/src/s_slot.c:168 msgid "Improper slotdef syntax: missing \":\".\n" msgstr "" #: libgeda/src/s_slot.c:183 msgid "Did not find proper slotdef=#:#,#,#... attribute\n" msgstr "" #: libgeda/src/s_slot.c:213 msgid "component missing pinseq= attribute\n" msgstr "" #: libgeda/src/scheme_attrib.c:67 msgid "~A is not a valid attribute: invalid string '~A'." msgstr "" #: libgeda/src/scheme_attrib.c:172 msgid "Objects ~A and ~A are not part of the same page and/or complex object" msgstr "" #: libgeda/src/scheme_attrib.c:179 libgeda/src/scheme_attrib.c:184 msgid "Object ~A is already attached as an attribute" msgstr "" #: libgeda/src/scheme_attrib.c:233 msgid "Object ~A is attribute of wrong object" msgstr "" #: libgeda/src/scheme_complex.c:148 msgid "Invalid complex angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_complex.c:265 libgeda/src/scheme_page.c:249 msgid "Object ~A is already attached to something" msgstr "" #: libgeda/src/scheme_complex.c:325 msgid "Object ~A is attached to a different complex" msgstr "" #: libgeda/src/scheme_complex.c:332 msgid "Object ~A is attached to a page" msgstr "" #: libgeda/src/scheme_complex.c:339 libgeda/src/scheme_page.c:301 msgid "Object ~A is attached as an attribute" msgstr "" #: libgeda/src/scheme_complex.c:346 libgeda/src/scheme_page.c:308 msgid "Object ~A has attributes" msgstr "" #: libgeda/src/scheme_object.c:232 msgid "Object ~A has bad type '~A'" msgstr "" #: libgeda/src/scheme_object.c:346 msgid "Object ~A has invalid stroke cap style ~A" msgstr "" #: libgeda/src/scheme_object.c:359 msgid "Object ~A has invalid stroke dash style ~A" msgstr "" #: libgeda/src/scheme_object.c:423 msgid "Invalid stroke cap style ~A." msgstr "" #: libgeda/src/scheme_object.c:434 msgid "Invalid stroke dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:444 msgid "Missing dash length parameter for dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:454 msgid "Missing dot/dash space parameter for dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:516 msgid "Object ~A has invalid fill style ~A" msgstr "" #: libgeda/src/scheme_object.c:565 msgid "Invalid fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:573 msgid "Missing second space parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:582 msgid "Missing second angle parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:592 msgid "Missing stroke width parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:601 msgid "Missing space parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:610 msgid "Missing angle parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:909 msgid "Invalid pin type ~A, must be 'net or 'bus" msgstr "" #: libgeda/src/scheme_object.c:952 msgid "Object ~A has invalid pin type." msgstr "" #: libgeda/src/scheme_object.c:1347 msgid "Invalid text alignment ~A." msgstr "" #: libgeda/src/scheme_object.c:1363 msgid "Invalid text angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_object.c:1382 msgid "Invalid text name/value visibility ~A." msgstr "" #: libgeda/src/scheme_object.c:1457 msgid "Text object ~A has invalid text alignment ~A" msgstr "" #: libgeda/src/scheme_object.c:1466 msgid "Text object ~A has invalid visibility ~A" msgstr "" #: libgeda/src/scheme_object.c:1476 msgid "Text object ~A has invalid text attribute visibility ~A" msgstr "" #: libgeda/src/scheme_object.c:1517 msgid "Object ~A is not included in a page." msgstr "" #: libgeda/src/scheme_object.c:1670 msgid "Path object ~A has invalid element type ~A at index ~A" msgstr "" #: libgeda/src/scheme_object.c:1784 msgid "Invalid path element type ~A." msgstr "" #: libgeda/src/scheme_object.c:1957 msgid "Invalid picture angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_page.c:294 msgid "Object ~A is attached to a complex or different page" msgstr "" #: libgeda/src/scheme_page.c:442 msgid "Parse error: ~s" msgstr "" #: libgeda/scheme/geda/attrib.scm:59 #, scheme-format msgid "Object ~A is not part of a page" msgstr "" #~ msgid "%s:%i:%i: %s\n" #~ msgstr "%s:%i:%i: %s\n" #~ msgid "Unknown file: %s\n" #~ msgstr "Ismeretlen fájl: %s\n" #~ msgid "Could not read symbolic link information for %s" #~ msgstr "%s szimbolikus link adatai nem olvashatóak" #~ msgid "The file has too many symbolic links." #~ msgstr "A fájl túl sok szimbolikus linkkel rendelkezik." geda-gaf-1.8.2/libgeda/po/en@quot.header0000644000175000017500000000226312210331572014667 00000000000000# All this catalog "translates" are quotation characters. # The msgids must be ASCII and therefore cannot contain real quotation # characters, only substitutes like grave accent (0x60), apostrophe (0x27) # and double quote (0x22). These substitutes look strange; see # http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html # # This catalog translates grave accent (0x60) and apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019). # It also translates pairs of apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019) # and pairs of quotation mark (0x22) to # left double quotation mark (U+201C) and right double quotation mark (U+201D). # # When output to an UTF-8 terminal, the quotation characters appear perfectly. # When output to an ISO-8859-1 terminal, the single quotation marks are # transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to # grave/acute accent (by libiconv), and the double quotation marks are # transliterated to 0x22. # When output to an ASCII terminal, the single quotation marks are # transliterated to apostrophes, and the double quotation marks are # transliterated to 0x22. # geda-gaf-1.8.2/libgeda/po/da.po0000664000175000017500000005131412220655642013041 00000000000000# Danish translation for geda # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-01-27 14:12+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Danish \n" "Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: libgeda/data/libgeda.xml.in:3 msgid "gEDA circuit schematic" msgstr "gEDA kredsløbs diagram" #: libgeda/data/libgeda.xml.in:4 msgid "gEDA schematic symbol" msgstr "gEDA diagram symbol" #: libgeda/data/libgeda.xml.in:5 msgid "gEDA gsch2pcb project" msgstr "gEDA gsch2pcb projekt" #: libgeda/data/x-geda-gsch2pcb-project.desktop.in:3 msgid "gEDA Gsch2pcb Project" msgstr "gEDA Gsch2pcb Projekt" #: libgeda/data/x-geda-schematic.desktop.in:3 msgid "gEDA Circuit Schematic" msgstr "gEDA Kredsløbs Diagram" #: libgeda/data/x-geda-symbol.desktop.in:3 msgid "gEDA Schematic Symbol" msgstr "gEDA Diagram Symbol" #: libgeda/src/a_basic.c:182 #, c-format msgid "o_save_objects: object %p has unknown type '%c'\n" msgstr "" #: libgeda/src/a_basic.c:238 libgeda/src/f_basic.c:384 #, c-format msgid "File %s is read-only" msgstr "" #: libgeda/src/a_basic.c:423 #, c-format msgid "" "Read unexpected attach symbol start marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" #: libgeda/src/a_basic.c:440 #, c-format msgid "" "Read unexpected embedded symbol start marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" #: libgeda/src/a_basic.c:471 #, c-format msgid "" "Read unexpected embedded symbol end marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" #: libgeda/src/a_basic.c:506 #, c-format msgid "" "Read an old format sym/sch file!\n" "Please run g[sym|sch]update on:\n" "[%s]\n" msgstr "" #: libgeda/src/a_basic.c:512 #, c-format msgid "" "Read garbage in [%s] :\n" ">>\n" "%s<<\n" msgstr "" #: libgeda/src/f_basic.c:123 libgeda/src/f_basic.c:136 #, c-format msgid "Failed to stat [%s]: %s" msgstr "" #: libgeda/src/f_basic.c:221 #, c-format msgid "Cannot find file %s: %s" msgstr "" #: libgeda/src/f_basic.c:269 #, c-format msgid "" "\n" "WARNING: Found an autosave backup file:\n" " %s.\n" "\n" msgstr "" #: libgeda/src/f_basic.c:271 msgid "I could not guess if it is newer, so you have to do it manually.\n" msgstr "" #: libgeda/src/f_basic.c:273 msgid "" "The backup copy is newer than the schematic, so it seems you should load it " "instead of the original file.\n" msgstr "" #: libgeda/src/f_basic.c:275 msgid "" "Gschem usually makes backup copies automatically, and this situation happens " "when it crashed or it was forced to exit abruptly.\n" msgstr "" #: libgeda/src/f_basic.c:278 msgid "" "\n" "Run gschem and correct the situation.\n" "\n" msgstr "" #: libgeda/src/f_basic.c:374 #, c-format msgid "Can't get the real filename of %s: %s" msgstr "" #: libgeda/src/f_basic.c:405 #, c-format msgid "Could NOT set previous backup file [%s] read-write\n" msgstr "" #: libgeda/src/f_basic.c:411 #, c-format msgid "Can't save backup file: %s." msgstr "" #: libgeda/src/f_basic.c:421 #, c-format msgid "Could NOT set backup file [%s] readonly\n" msgstr "" #: libgeda/src/f_basic.c:480 #, c-format msgid "Could NOT save file: %s" msgstr "" #: libgeda/src/f_basic.c:727 #, c-format msgid "%s: %s" msgstr "" #: libgeda/src/f_print.c:123 msgid "Unable to get time of day in f_print_header()\n" msgstr "" #: libgeda/src/f_print.c:165 #, c-format msgid "Unable to open the prolog file `%s' for reading in f_print_header()\n" msgstr "" #: libgeda/src/f_print.c:182 #, c-format msgid "Error during reading of the prolog file `%s' in f_print_header()\n" msgstr "" #: libgeda/src/f_print.c:188 msgid "" "Error during writing of the output postscript file in f_print_header()\n" msgstr "" #: libgeda/src/f_print.c:202 msgid "Giving up on printing\n" msgstr "" #: libgeda/src/f_print.c:375 #, c-format msgid "Could not open [%s] for printing\n" msgstr "" #: libgeda/src/f_print.c:409 #, c-format msgid "Could not execute command [%s] for printing\n" msgstr "" #: libgeda/src/f_print.c:682 msgid "Too many UTF-8 characters, cannot print\n" msgstr "" #: libgeda/src/g_basic.c:264 msgid "" "\n" "Backtrace:\n" msgstr "" #: libgeda/src/g_rc.c:233 msgid "Config file already loaded" msgstr "" #: libgeda/src/g_rc.c:268 #, c-format msgid "Parsed config from [%s]\n" msgstr "" #: libgeda/src/g_rc.c:281 #, c-format msgid "Unable to parse config from [%s]: %s" msgstr "" #: libgeda/src/g_rc.c:298 msgid "ERROR: An unknown error occurred while parsing configuration files." msgstr "" #: libgeda/src/g_rc.c:310 libgeda/src/g_rc.c:311 #, c-format msgid "ERROR: %s\n" msgstr "" #: libgeda/src/g_rc.c:317 #, c-format msgid "ERROR: The %s log may contain more information.\n" msgstr "" #: libgeda/src/g_rc.c:978 msgid "" "WARNING: using a string for 'always-promote-attributes' is deprecated. Use a " "list of strings instead\n" msgstr "" #: libgeda/src/o_arc_basic.c:256 libgeda/src/o_arc_basic.c:269 msgid "Failed to parse arc object" msgstr "" #: libgeda/src/o_arc_basic.c:276 #, c-format msgid "Found a zero radius arc [ %c %d, %d, %d, %d, %d, %d ]\n" msgstr "" #: libgeda/src/o_arc_basic.c:282 libgeda/src/o_box_basic.c:327 #: libgeda/src/o_bus_basic.c:182 libgeda/src/o_circle_basic.c:289 #: libgeda/src/o_line_basic.c:264 libgeda/src/o_net_basic.c:171 #: libgeda/src/o_path_basic.c:189 libgeda/src/o_pin_basic.c:183 #: libgeda/src/o_text_basic.c:425 #, c-format msgid "Found an invalid color [ %s ]\n" msgstr "" #: libgeda/src/o_arc_basic.c:283 libgeda/src/o_box_basic.c:328 #: libgeda/src/o_bus_basic.c:183 libgeda/src/o_circle_basic.c:290 #: libgeda/src/o_line_basic.c:265 libgeda/src/o_net_basic.c:172 #: libgeda/src/o_path_basic.c:190 libgeda/src/o_pin_basic.c:184 #: libgeda/src/o_text_basic.c:426 msgid "Setting color to default color\n" msgstr "" #: libgeda/src/o_attrib.c:123 msgid "Attempt to attach non text item as an attribute!\n" msgstr "" #: libgeda/src/o_attrib.c:128 #, c-format msgid "Attempt to attach attribute [%s] to more than one object\n" msgstr "" #: libgeda/src/o_attrib.c:341 msgid "Tried to attach a non-text item as an attribute" msgstr "" #: libgeda/src/o_attrib.c:348 msgid "Unexpected end-of-file in attribute list" msgstr "" #: libgeda/src/o_basic.c:196 libgeda/src/o_basic.c:208 msgid "Invalid space specified, setting to 100\n" msgstr "" #: libgeda/src/o_basic.c:204 msgid "Invalid length specified, setting to 100\n" msgstr "" #: libgeda/src/o_box_basic.c:287 libgeda/src/o_box_basic.c:316 msgid "Failed to parse box object" msgstr "" #: libgeda/src/o_box_basic.c:322 #, c-format msgid "Found a zero width/height box [ %c %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_bus_basic.c:160 libgeda/src/o_bus_basic.c:167 msgid "Failed to parse bus object" msgstr "" #: libgeda/src/o_bus_basic.c:173 #, c-format msgid "Found a zero length bus [ %c %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_bus_basic.c:188 #, c-format msgid "Found an invalid bus ripper direction [ %s ]\n" msgstr "" #: libgeda/src/o_bus_basic.c:189 msgid "Resetting direction to neutral (no direction)\n" msgstr "" #: libgeda/src/o_circle_basic.c:193 msgid "Null radius circles are not allowed\n" msgstr "" #: libgeda/src/o_circle_basic.c:246 libgeda/src/o_circle_basic.c:275 msgid "Failed to parse circle object" msgstr "" #: libgeda/src/o_circle_basic.c:282 #, c-format msgid "Found a zero or negative radius circle [ %c %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_circle_basic.c:284 msgid "Setting radius to 0\n" msgstr "" #: libgeda/src/o_complex_basic.c:422 #, c-format msgid "" "Component not found:\n" " %s" msgstr "" #: libgeda/src/o_complex_basic.c:654 msgid "Failed to parse complex object" msgstr "" #: libgeda/src/o_complex_basic.c:667 #, c-format msgid "Found a component with an invalid rotation [ %c %d %d %d %d %d %s ]\n" msgstr "" #: libgeda/src/o_complex_basic.c:668 libgeda/src/o_picture.c:105 #: libgeda/src/o_text_basic.c:397 msgid "Setting angle to 0\n" msgstr "" #: libgeda/src/o_complex_basic.c:680 #, c-format msgid "" "Found a component with an invalid mirror flag [ %c %d %d %d %d %d %s ]\n" msgstr "" #: libgeda/src/o_complex_basic.c:681 msgid "Setting mirror to 0\n" msgstr "" #: libgeda/src/o_complex_basic.c:994 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse symbol file symversion=%s\n" msgstr "" #: libgeda/src/o_complex_basic.c:998 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse symbol file symversion=\n" msgstr "" #: libgeda/src/o_complex_basic.c:1014 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse attached symversion=%s\n" msgstr "" #: libgeda/src/o_complex_basic.c:1039 #, c-format msgid "" "WARNING: Symbol version oddity on refdes %s:\n" "\tsymversion=%s attached to instantiated symbol, but no symversion= inside " "symbol file\n" msgstr "" #: libgeda/src/o_complex_basic.c:1053 #, c-format msgid "" "WARNING: Symbol version mismatch on refdes %s (%s):\n" "\tSymbol in library is newer than instantiated symbol\n" msgstr "" #: libgeda/src/o_complex_basic.c:1081 #, c-format msgid "\tMAJOR VERSION CHANGE (file %.3f, instantiated %.3f, %s)!\n" msgstr "" #: libgeda/src/o_complex_basic.c:1099 #, c-format msgid "\tMinor version change (file %.3f, instantiated %.3f)\n" msgstr "" #: libgeda/src/o_complex_basic.c:1110 #, c-format msgid "" "WARNING: Symbol version oddity on refdes %s:\n" "\tInstantiated symbol is newer than symbol in library\n" msgstr "" #: libgeda/src/o_embed.c:58 #, c-format msgid "Component [%s] has been embedded\n" msgstr "" #: libgeda/src/o_embed.c:102 #, c-format msgid "" "Could not find component [%s], while trying to unembed. Component is still " "embedded\n" msgstr "" #: libgeda/src/o_embed.c:110 #, c-format msgid "Component [%s] has been successfully unembedded\n" msgstr "" #: libgeda/src/o_line_basic.c:229 libgeda/src/o_line_basic.c:247 msgid "Failed to parse line object" msgstr "" #: libgeda/src/o_line_basic.c:259 #, c-format msgid "Found a zero length line [ %c %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_net_basic.c:156 msgid "Failed to parse net object" msgstr "" #: libgeda/src/o_net_basic.c:161 #, c-format msgid "Found a zero length net [ %c %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_path_basic.c:181 msgid "Failed to parse path object" msgstr "" #: libgeda/src/o_path_basic.c:207 msgid "Unexpected end-of-file when reading path" msgstr "" #: libgeda/src/o_picture.c:72 msgid "Failed to parse picture definition" msgstr "" #: libgeda/src/o_picture.c:77 #, c-format msgid "Found a zero width/height picture [ %c %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_picture.c:82 #, c-format msgid "Found a picture with a wrong 'mirrored' parameter: %d.\n" msgstr "" #: libgeda/src/o_picture.c:84 msgid "Setting mirrored to 0\n" msgstr "" #: libgeda/src/o_picture.c:89 #, c-format msgid "Found a picture with a wrong 'embedded' parameter: %d.\n" msgstr "" #: libgeda/src/o_picture.c:91 msgid "Setting embedded to 0\n" msgstr "" #: libgeda/src/o_picture.c:104 #, c-format msgid "Found an unsupported picture angle [ %d ]\n" msgstr "" #: libgeda/src/o_picture.c:116 msgid "Found an image with no filename." msgstr "" #: libgeda/src/o_picture.c:147 #, c-format msgid "Failed to load image from embedded data [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:148 msgid "Base64 decoding failed." msgstr "" #: libgeda/src/o_picture.c:149 msgid "Falling back to file loading. Picture unembedded.\n" msgstr "" #: libgeda/src/o_picture.c:208 msgid "ERROR: o_picture_save: unable to encode the picture.\n" msgstr "" #: libgeda/src/o_picture.c:308 #, c-format msgid "Failed to load buffer image [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:321 #, c-format msgid "Failed to load image from [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:427 #, c-format msgid "Picture %p has invalid angle %i\n" msgstr "" #: libgeda/src/o_picture.c:957 #, c-format msgid "Picture [%s] has no image data.\n" msgstr "" #: libgeda/src/o_picture.c:958 msgid "Falling back to file loading. Picture is still unembedded.\n" msgstr "" #: libgeda/src/o_picture.c:966 #, c-format msgid "Picture [%s] has been embedded\n" msgstr "" #: libgeda/src/o_picture.c:990 #, c-format msgid "Failed to load image from file [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:992 msgid "Picture is still embedded.\n" msgstr "" #: libgeda/src/o_picture.c:1000 #, c-format msgid "Picture [%s] has been unembedded\n" msgstr "" #: libgeda/src/o_picture.c:1236 #, c-format msgid "Failed to load fallback image %s: %s.\n" msgstr "" #: libgeda/src/o_pin_basic.c:160 libgeda/src/o_pin_basic.c:168 msgid "Failed to parse pin object" msgstr "" #: libgeda/src/o_pin_basic.c:174 msgid "" "Found a pin which did not have the whichone field set.\n" "Verify and correct manually.\n" msgstr "" #: libgeda/src/o_pin_basic.c:177 #, c-format msgid "Found an invalid whichend on a pin (reseting to zero): %d\n" msgstr "" #: libgeda/src/o_text_basic.c:356 libgeda/src/o_text_basic.c:366 #: libgeda/src/o_text_basic.c:376 msgid "Failed to parse text object" msgstr "" #: libgeda/src/o_text_basic.c:383 #, c-format msgid "Found a zero size text string [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_text_basic.c:395 #, c-format msgid "Found an unsupported text angle [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_text_basic.c:417 #, c-format msgid "Found an unsupported text alignment [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_text_basic.c:419 msgid "Setting alignment to LOWER_LEFT\n" msgstr "" #: libgeda/src/o_text_basic.c:440 #, c-format msgid "Unexpected end-of-file after %d lines" msgstr "" #: libgeda/src/s_clib.c:465 #, c-format msgid "Library command failed [%s]: %s\n" msgstr "" #: libgeda/src/s_clib.c:470 #, c-format msgid "Library command failed [%s]: Uncaught signal %i.\n" msgstr "" #: libgeda/src/s_clib.c:474 #, c-format msgid "Library command failed [%s]\n" msgstr "" #: libgeda/src/s_clib.c:475 #, c-format msgid "" "Error output was:\n" "%s\n" msgstr "" #: libgeda/src/s_clib.c:561 #, c-format msgid "Library name [%s] already in use. Using [%s].\n" msgstr "" #: libgeda/src/s_clib.c:598 #, c-format msgid "Failed to open directory [%s]: %s\n" msgstr "" #: libgeda/src/s_clib.c:734 #, c-format msgid "Failed to scan library [%s]: Scheme function returned non-list\n" msgstr "" #: libgeda/src/s_clib.c:742 #, c-format msgid "Non-string symbol name while scanning library [%s]\n" msgstr "" #: libgeda/src/s_clib.c:901 libgeda/src/s_clib.c:948 msgid "Cannot add library: name not specified\n" msgstr "" #: libgeda/src/s_clib.c:908 #, c-format msgid "" "Cannot add library [%s]: both 'list' and 'get' commands must be specified.\n" msgstr "" #: libgeda/src/s_clib.c:956 #, c-format msgid "Cannot add Scheme-library [%s]: callbacks must be closures\n" msgstr "" #: libgeda/src/s_clib.c:1083 #, c-format msgid "Failed to load symbol from file [%s]: %s\n" msgstr "" #: libgeda/src/s_clib.c:1143 #, c-format msgid "Failed to load symbol data [%s] from source [%s]\n" msgstr "" #: libgeda/src/s_clib.c:1385 #, c-format msgid "Component [%s] was not found in the component library\n" msgstr "" #: libgeda/src/s_clib.c:1391 #, c-format msgid "More than one component found with name [%s]\n" msgstr "" #: libgeda/src/s_color.c:207 msgid "Color index out of range" msgstr "" #: libgeda/src/s_color.c:262 msgid "Color map entry must be a two-element list" msgstr "" #: libgeda/src/s_color.c:270 msgid "Index in color map entry must be an integer" msgstr "" #: libgeda/src/s_color.c:296 msgid "Value in color map entry must be #f or a string" msgstr "" #: libgeda/src/s_hierarchy.c:94 #, c-format msgid "" "hierarchy loop detected while visiting page:\n" " \"%s\"\n" msgstr "" #: libgeda/src/s_hierarchy.c:194 msgid "There are no schematics above the current one!\n" msgstr "" #: libgeda/src/s_hierarchy.c:274 #, c-format msgid "ERROR in s_hierarchy_traverse: schematic not found: %s\n" msgstr "" #: libgeda/src/s_page.c:213 #, c-format msgid "s_page_delete: Can't get the real filename of %s." msgstr "" #: libgeda/src/s_page.c:224 #, c-format msgid "s_page_delete: Unable to delete backup file %s." msgstr "" #: libgeda/src/s_page.c:499 #, c-format msgid "Saved [%s]\n" msgstr "" #: libgeda/src/s_page.c:505 #, c-format msgid "Could NOT save [%s]\n" msgstr "" #: libgeda/src/s_slib.c:171 #, c-format msgid "Found [%s]\n" msgstr "" #: libgeda/src/s_slib.c:181 #, c-format msgid "Could not find [%s] in any SourceLibrary\n" msgstr "" #: libgeda/src/s_slot.c:162 msgid "Did not find slotdef=#:#,#,#... attribute\n" msgstr "" #: libgeda/src/s_slot.c:168 msgid "Improper slotdef syntax: missing \":\".\n" msgstr "" #: libgeda/src/s_slot.c:183 msgid "Did not find proper slotdef=#:#,#,#... attribute\n" msgstr "" #: libgeda/src/s_slot.c:213 msgid "component missing pinseq= attribute\n" msgstr "" #: libgeda/src/scheme_attrib.c:67 msgid "~A is not a valid attribute: invalid string '~A'." msgstr "" #: libgeda/src/scheme_attrib.c:172 msgid "Objects ~A and ~A are not part of the same page and/or complex object" msgstr "" #: libgeda/src/scheme_attrib.c:179 libgeda/src/scheme_attrib.c:184 msgid "Object ~A is already attached as an attribute" msgstr "" #: libgeda/src/scheme_attrib.c:233 msgid "Object ~A is attribute of wrong object" msgstr "" #: libgeda/src/scheme_complex.c:148 msgid "Invalid complex angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_complex.c:265 libgeda/src/scheme_page.c:249 msgid "Object ~A is already attached to something" msgstr "" #: libgeda/src/scheme_complex.c:325 msgid "Object ~A is attached to a different complex" msgstr "" #: libgeda/src/scheme_complex.c:332 msgid "Object ~A is attached to a page" msgstr "" #: libgeda/src/scheme_complex.c:339 libgeda/src/scheme_page.c:301 msgid "Object ~A is attached as an attribute" msgstr "" #: libgeda/src/scheme_complex.c:346 libgeda/src/scheme_page.c:308 msgid "Object ~A has attributes" msgstr "" #: libgeda/src/scheme_object.c:232 msgid "Object ~A has bad type '~A'" msgstr "" #: libgeda/src/scheme_object.c:346 msgid "Object ~A has invalid stroke cap style ~A" msgstr "" #: libgeda/src/scheme_object.c:359 msgid "Object ~A has invalid stroke dash style ~A" msgstr "" #: libgeda/src/scheme_object.c:423 msgid "Invalid stroke cap style ~A." msgstr "" #: libgeda/src/scheme_object.c:434 msgid "Invalid stroke dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:444 msgid "Missing dash length parameter for dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:454 msgid "Missing dot/dash space parameter for dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:516 msgid "Object ~A has invalid fill style ~A" msgstr "" #: libgeda/src/scheme_object.c:565 msgid "Invalid fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:573 msgid "Missing second space parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:582 msgid "Missing second angle parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:592 msgid "Missing stroke width parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:601 msgid "Missing space parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:610 msgid "Missing angle parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:909 msgid "Invalid pin type ~A, must be 'net or 'bus" msgstr "" #: libgeda/src/scheme_object.c:952 msgid "Object ~A has invalid pin type." msgstr "" #: libgeda/src/scheme_object.c:1347 msgid "Invalid text alignment ~A." msgstr "" #: libgeda/src/scheme_object.c:1363 msgid "Invalid text angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_object.c:1382 msgid "Invalid text name/value visibility ~A." msgstr "" #: libgeda/src/scheme_object.c:1457 msgid "Text object ~A has invalid text alignment ~A" msgstr "" #: libgeda/src/scheme_object.c:1466 msgid "Text object ~A has invalid visibility ~A" msgstr "" #: libgeda/src/scheme_object.c:1476 msgid "Text object ~A has invalid text attribute visibility ~A" msgstr "" #: libgeda/src/scheme_object.c:1517 msgid "Object ~A is not included in a page." msgstr "" #: libgeda/src/scheme_object.c:1670 msgid "Path object ~A has invalid element type ~A at index ~A" msgstr "" #: libgeda/src/scheme_object.c:1784 msgid "Invalid path element type ~A." msgstr "" #: libgeda/src/scheme_object.c:1957 msgid "Invalid picture angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_page.c:294 msgid "Object ~A is attached to a complex or different page" msgstr "" #: libgeda/src/scheme_page.c:442 msgid "Parse error: ~s" msgstr "" #: libgeda/scheme/geda/attrib.scm:59 #, scheme-format msgid "Object ~A is not part of a page" msgstr "" geda-gaf-1.8.2/libgeda/po/el.gmo0000664000175000017500000003574312220655642013231 00000000000000d<\(09 %4 Z Kv '  ! 0$ 6U     , ) TD ! 1 * 7 P 0[ 5  # 1 1. )` " 2  GDI775 4U*tC?#:A)<'(d9&  &/G-w-* %7]&}$E /FP.  'G^s,7(j/(($*AWm401/H1xVQ4;8gTbka<4 K?^.E%_NdE9  UO!K!8!`*""{"Z#0t#E#t#r`$`$B4%iw%@%"&v7&e&i'g~'['AB(:(R(y)s)**+*+M+l+S],7,n,>X-B-F-i!.a.<.X*/k/U/VE0Y0e0b\1W12<22:~3`34294#l4D414/5/75og55`\66X7e7YZ8H82809"G92j99"9x9UP:s:^;iy;WBRZ(IT!8M $D#L0>:Q,N 4=JX%\A 3^Ga+UdcS6C V5H-'_?P[2<OYEF]@;`K&."*b71/)9 Run gschem and correct the situation. WARNING: Found an autosave backup file: %s. %s: %sAttempt to attach attribute [%s] to more than one object Base64 decoding failed.Can't get the real filename of %s: %sCan't save backup file: %s.Cannot add library [%s]: both 'list' and 'get' commands must be specified. Cannot add library: name not specified Cannot find file %s: %sComponent [%s] has been embedded Component [%s] has been successfully unembedded Component [%s] was not found in the component library Component not found: %sConfig file already loadedCould NOT save [%s] Could NOT save file: %sCould not execute command [%s] for printing Could not find [%s] in any SourceLibrary Could not find component [%s], while trying to unembed. Component is still embedded Could not open [%s] for printing Did not find proper slotdef=#:#,#,#... attribute Did not find slotdef=#:#,#,#... attribute ERROR in s_hierarchy_traverse: schematic not found: %s ERROR: %s ERROR: The %s log may contain more information. ERROR: o_picture_save: unable to encode the picture. Error output was: %s Failed to load image from [%s]: %s Failed to load image from embedded data [%s]: %s Failed to load symbol data [%s] from source [%s] Failed to load symbol from file [%s]: %s Failed to open directory [%s]: %s Falling back to file loading. Picture unembedded. File %s is read-onlyFound [%s] Found a component with an invalid mirror flag [ %c %d %d %d %d %d %s ] Found a component with an invalid rotation [ %c %d %d %d %d %d %s ] Found a picture with a wrong 'embedded' parameter: %d. Found a picture with a wrong 'mirrored' parameter: %d. Found a zero width/height picture [ %c %d %d %d %d ] Found an image with no filename.Found an invalid color [ %s ] Found an unsupported picture angle [ %d ] Found an unsupported text alignment [ %c %d %d %d %d %d %d %d %d ] Found an unsupported text angle [ %c %d %d %d %d %d %d %d %d ] Giving up on printing Gschem usually makes backup copies automatically, and this situation happens when it crashed or it was forced to exit abruptly. I could not guess if it is newer, so you have to do it manually. Invalid length specified, setting to 100 Invalid picture angle ~A. Must be 0, 90, 180, or 270 degreesInvalid space specified, setting to 100 Invalid text alignment ~A.Invalid text angle ~A. Must be 0, 90, 180, or 270 degreesInvalid text name/value visibility ~A.Library command failed [%s] Library command failed [%s]: %s Library name [%s] already in use. Using [%s]. More than one component found with name [%s] Object ~A has attributesObject ~A has invalid pin type.Object ~A is already attached as an attributeObject ~A is already attached to somethingObject ~A is attached as an attributeObject ~A is attached to a pageObject ~A is attribute of wrong objectObject ~A is not included in a page.Object ~A is not part of a pageObjects ~A and ~A are not part of the same page and/or complex objectPicture %p has invalid angle %i Read an old format sym/sch file! Please run g[sym|sch]update on: [%s] Read garbage in [%s] : >> %s<< Resetting direction to neutral (no direction) Saved [%s] Setting alignment to LOWER_LEFT Setting angle to 0 Setting color to default color Setting embedded to 0 Setting mirror to 0 Setting mirrored to 0 Text object ~A has invalid text alignment ~AText object ~A has invalid text attribute visibility ~AText object ~A has invalid visibility ~AThe backup copy is newer than the schematic, so it seems you should load it instead of the original file. There are no schematics above the current one! Too many UTF-8 characters, cannot print Unexpected end-of-file in attribute listcomponent missing pinseq= attribute gEDA Circuit SchematicgEDA Gsch2pcb ProjectgEDA Schematic SymbolgEDA circuit schematicgEDA gsch2pcb projectgEDA schematic symbolhierarchy loop detected while visiting page: "%s" o_save_objects: object %p has unknown type '%c' s_page_delete: Can't get the real filename of %s.s_page_delete: Unable to delete backup file %s.~A is not a valid attribute: invalid string '~A'.Project-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-09-01 18:46+0000 Last-Translator: Panos Bouklis Language-Team: Greek Language: el MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) Εκτελέστε το gschem και διορθώστε την κατάσταση. ΠΡΟΕΙΔΟΠΟΙΗΣΗ: Βρέθηκε ένα αντίγραφο ασφαλείας αυτόματης αποθήκευσης: %s. %s: %sΠροσπάθεια προσθήκης γνωρίσματος [%s] σε περισσότερα από ένα αντικείμενα Η αποκωδικοποίηση Base64 απέτυχε.Αδυναμία λήψης του πραγματικού ονόματος αρχείου του %s: %sΑδυναμία αποθήκευσης αντιγράφου ασφαλείας: %s.Δεν είναι δυνατή η προσθήκη της βιβλιοθήκης [%s]: πρέπει να καθοριστούν οι εντολές 'list' και 'get'. Αδυναμία προσθήκης βιβλιοθήκης: το όνομα δεν έχει οριστεί Αδυναμία εύρεσης του αρχείου %s: %sΤο στοιχείο [%s] ενσωματώθηκε Το στοιχείο [%s] αποενσωματώθηκε επιτυχώς Το στοιχείο [%s] δε βρέθηκε στη βιβλιοθήκη στοιχείων Το στοιχείο δε βρέθηκε: %sΤο αρχείο ρυθμίσεων έχει ήδη φορτωθείΔΕΝ αποθηκεύτηκε [%s] ΔΕΝ ήταν δυνατή η αποθήκευση του αρχείου: %sΔεν ήταν δυνατή η εκτέλεση της εντολής [%s] για εκτύπωση Αδυναμία εύρεσης [%s] σε κανένα SourceLibrary Δεν ήταν δυνατή η εύρεση του στοιχείου [%s], κατά τη διάρκεια αποενσωμάτωσης. Το στοιχείο είναι ακόμα ενσωματωμένο Δεν ήταν δυνατό το άνοιγμα του [%s] για εκτύπωση Δε βρέθηκε κατάλληλο γνώρισμα slotdef=#:#,#,#... Δε βρέθηκε γνώρισμα slotdef=#:#,#,#... ΣΦΑΛΜΑ στο s_hierarchy_traverse: το σχεδιάγραμμα δε βρέθηκε: %s ΣΦΑΛΜΑ: %s ΣΦΑΛΜΑ: Η καταγραφή %s μπορεί να περιέχει περισσότερες πληροφορίες. ΣΦΑΛΜΑ: o_picture_save: αδυναμία κωδικοποίησης εικόνας. Η έξοδος σφάλματος ήταν: %s Αδυναμία φορτώματος εικόνας από [%s]: %s Αποτυχία φορτώματος εικόνας από τα ενσωματωμένα δεδομένα [%s]: %s Αποτυχία φορτώματος των δεδομένων συμβόλου [%s] από την πηγή [%s] Αποτυχία φορτώματος του συμβόλου από το αρχείο [%s]: %s Αδυναμία ανοίγματος καταλόγου [%s]: %s Επιστροφή στο φόρτωμα αρχείου. Η εικόνα αποενσωματώθηκε. Το αρχείο %s είναι μόνο για ανάγνωσηΒρέθηκε [%s] Βρέθηκε στοιχείο με μη έγκυρη σημαία καθρεπτισμού [ %c %d %d %d %d %d %s ] Βρέθηκε στοιχείο με μη έγκυρη περιστροφή [ %c %d %d %d %d %d %s ] Βρέθηκε εικόνα με λανθασμένη παράμετρο ενσωματωμένου: %d. Βρέθηκε εικόνα με λανθασμένη παράμετρο καθρεπτισμού: %d. Βρέθηκε εικόνα με μηδενικό πλάτος/ύψος [ %c %d %d %d %d ] Βρέθηκε εικόνα χωρίς όνομα αρχείου.Βρέθηκε ένα μη έγκυρο χρώμα [ %s ] Βρέθηκε μη υποστηριζόμενη γωνία εικόνας [ %d ] Βρέθηκε μία μη υποστηριζόμενη στοίχιση κειμένου [ %c %d %d %d %d %d %d %d %d ] Βρέθηκε μία μη υποστηριζόμενη γωνία κειμένου [ %c %d %d %d %d %d %d %d %d ] Εγκατάλειψη εκτύπωσης Το gschem συνήθως δημιουργεί αντίγραφα ασφαλείας αυτόματα, και αυτή η περίπτωση συμβαίνει όταν κατέρρευσε ή έγινε βίαιη έξοδος. Δεν μπόρεσα να καταλάβω αν είναι νεότερο, οπότε πρέπει να το κάνετε με το χέρι. Καθορίστηκε μη έγκυρο μήκος, ορισμός σε 100 Μη έγκυρη γωνία εικόνας ~A. Πρέπει να είναι 0, 90, 180, ή 270 μοίρεςΚαθορίστηκε μη έγκυρο διάστημα, ορισμός σε 100 Μη έγκυρη στοίχιση κειμένου ~A.Μη έγκυρη γωνία κειμένου ~A. Πρέπει να είναι 0, 90, 180, ή 270 μοίρεςΜη έγκυρο όνομα/τιμή ορατότητας ~A.Η εντολή της βιβλιοθήκης απέτυχε [%s] Η εντολή της βιβλιοθήκης απέτυχε [%s]: %s Η ονομασία βιβλιοθήκης [%s] χρησιμοποιείται ήδη. Χρήση [%s]. Βρέθηκαν περισσότερα από ένα στοιχεία με το όνομα [%s] Το αντικείμενο ~A έχει γνωρίσματαΤο αντικείμενο ~A έχει μη έγκυρο τύπο ακροδεκτών.Το αντικείμενο Object ~A είναι ήδη συνδεδεμένο με ένα γνώρισμαΤο αντικείμενο ~A είναι ήδη συνδεδεμένο με κάτιΤο αντικείμενο ~A είναι συνδεδεμένο ως γνώρισμαΤο αντικείμενο ~A είναι συνδεδεμένο με μια σελίδαΤο αντικείμενο ~A είναι γνώρισμα του λάθος αντικειμένουΤο αντικείμενο ~A δεν περιλαμβάνεται σε κάποια σελίδα.Το αντικείμενο ~A δεν είναι μέρος καμίας σελίδαςΤα αντικείμενα ~A και ~A δεν είναι μέρη της ίδια σελίδας ή/και πολύπλοκου αντικειμένουΗ εικόνα %p έχει μη έγκυρη γωνία %i Ανάγνωση παλιάς μορφής αρχείου sym/sch! Παρακαλούμε εκτελέστε το g[sym|sch]update σε: [%s] Ανάγνωση σκουπιδιών σε [%s] : >> %s<< Επαναφορά κατεύθυνσης στη φυσική (χωρίς κατεύθυνση) Αποθηκεύτηκε [%s] Ρύθμιση στοίχισης σε LOWER_LEFT Ρύθμιση γωνίας σε 0 Ρύθμιση χρώματος στο προκαθορισμένο Ρύθμιση ενσωματωμένου σε 0 Ρύθμιση καθρεπτισμού σε 0 Ρύθμιση καθρεπτισμού σε 0 Το αντικείμενο κειμένου ~A έχει μη έγκυρη στοίχιση κειμένου ~AΤο αντικείμενο κειμένου ~A έχει μη έγκυρο γνώρισμα ορατότητας κειμένου ~AΤο αντικείμενο κειμένου ~A έχει μη έγκυρη ορατότητα ~AΤο αντίγραφο ασφαλείας είναι νεότερο από το σχεδιάγραμμα, άρα μάλλον πρέπει να φορτώσετε αυτό αντί για το αρχικό αρχείο. Δεν υπάρχουν σχεδιαγράμματα πάνω από το τρέχον! Πάρα πολλοί χαρακτήρες UTF-8, δεν είναι δυνατή η εκτύπωση Απροσδόκητο τέλος αρχείου στη λίστα γνωρισμάτωνΛείπει το γνώρισμα pinseq= από το στοιχείο Σχεδιάγραμμα Κυκλώματος gEDAΈργο gEDA Gsch2pcbΣύμβολο Σχεδίου gEDAΣχεδιάγραμμα κυκλώματος gEDAΈργο gEDA gsch2pcbΣύμβολο σχεδίου gEDAβρέθηκε βρόγχος ιεραρχίας κατά την επίσκεψη στην ιστοσελίδα: "%s" o_save_objects: το αντικείμενο %p έχει άγνωστο τύπο '%c' s_page_delete: Αδυναμία λήψης του πραγματικού ονόματος αρχείου του %s.s_page_delete: Αδυναμία διαγραφής αντιγράφου ασφαλείας %s.Το ~A δεν είναι έγκυρο γνώρισμα: μη έγκυρη συμβολοσειρά '~A'.geda-gaf-1.8.2/libgeda/po/de.gmo0000664000175000017500000003526512220655642013220 00000000000000nP :Q 5 ( 0  9# 1]   ; K 'K s  * ! 0 6" Y r ( 3 , ) T; ! 1 * 75GA}G1(O1x)"?72O GDT.p/.6=54s5- :+*fC?,A&+)B(l 1/-53c$!FE=e?.  ?Ssj/ (<.eD/i bsZZ[]eo$'=Tj401/HMII / L !H!D`!"!'!}!gn"6" #0.#B_##/#G#!:$+\$B$N$4%0O%R%0%4&39&Cm&6&9&>"'a'@'<';'7:(2r(\(0)73)k)Mz)K)t*4*6*5*>++Lj+?+8+A0,%r,U,1,Q -Rr---n_.'.=.(4/)]/&/*/E/<01\0S0+0 1 /1qP1#1J1L120~22'223#3?3[31364;E4=4;445*66k77m89+9;9Q9g9w99J9A9K0:8|:74na).@  ZO&!\62Wm R V?f%jb$D8 l95-(dck30[LH;e,MI=:YNiJX>#"KA/g^ QE`]+G*P1Th<C_U'FBS MAJOR VERSION CHANGE (file %.3f, instantiated %.3f, %s)! Minor version change (file %.3f, instantiated %.3f) Run gschem and correct the situation. WARNING: Found an autosave backup file: %s. %s: %sAttempt to attach attribute [%s] to more than one object Attempt to attach non text item as an attribute! Base64 decoding failed.Can't save backup file: %s.Cannot add Scheme-library [%s]: callbacks must be closures Cannot add library [%s]: both 'list' and 'get' commands must be specified. Cannot add library: name not specified Cannot find file %s: %sColor index out of rangeColor map entry must be a two-element listComponent [%s] has been embedded Component [%s] has been successfully unembedded Component [%s] was not found in the component library Component not found: %sCould NOT save [%s] Could NOT set backup file [%s] readonly Could NOT set previous backup file [%s] read-write Could not execute command [%s] for printing Could not find [%s] in any SourceLibrary Could not find component [%s], while trying to unembed. Component is still embedded Could not open [%s] for printing Did not find proper slotdef=#:#,#,#... attribute Did not find slotdef=#:#,#,#... attribute ERROR in s_hierarchy_traverse: schematic not found: %s ERROR: o_picture_save: unable to encode the picture. Error during reading of the prolog file `%s' in f_print_header() Error during writing of the output postscript file in f_print_header() Error output was: %s Failed to load image from embedded data [%s]: %s Failed to load image from file [%s]: %s Failed to load symbol data [%s] from source [%s] Failed to load symbol from file [%s]: %s Failed to open directory [%s]: %s Failed to scan library [%s]: Scheme function returned non-list Failed to stat [%s]: %sFalling back to file loading. Picture unembedded. Found [%s] Found a component with an invalid mirror flag [ %c %d %d %d %d %d %s ] Found a component with an invalid rotation [ %c %d %d %d %d %d %s ] Found a pin which did not have the whichone field set. Verify and correct manually. Found a zero length bus [ %c %d %d %d %d %d ] Found a zero length line [ %c %d %d %d %d %d ] Found a zero length net [ %c %d %d %d %d %d ] Found a zero radius arc [ %c %d, %d, %d, %d, %d, %d ] Found a zero size text string [ %c %d %d %d %d %d %d %d %d ] Found a zero width/height box [ %c %d %d %d %d %d ] Found a zero width/height picture [ %c %d %d %d %d ] Found an invalid bus ripper direction [ %s ] Found an invalid color [ %s ] Found an invalid whichend on a pin (reseting to zero): %d Found an unsupported picture angle [ %d ] Found an unsupported text alignment [ %c %d %d %d %d %d %d %d %d ] Found an unsupported text angle [ %c %d %d %d %d %d %d %d %d ] Giving up on printing Gschem usually makes backup copies automatically, and this situation happens when it crashed or it was forced to exit abruptly. I could not guess if it is newer, so you have to do it manually. Improper slotdef syntax: missing ":". Index in color map entry must be an integerInvalid length specified, setting to 100 Invalid space specified, setting to 100 Library command failed [%s] Library command failed [%s]: %s Library command failed [%s]: Uncaught signal %i. Library name [%s] already in use. Using [%s]. More than one component found with name [%s] Non-string symbol name while scanning library [%s] Null radius circles are not allowed Picture [%s] has been embedded Picture [%s] has been unembedded Read an old format sym/sch file! Please run g[sym|sch]update on: [%s] Read garbage in [%s] : >> %s<< Read unexpected embedded symbol end marker in [%s] : >> %s<< Read unexpected embedded symbol start marker in [%s] : >> %s<< Resetting direction to neutral (no direction) Saved [%s] Setting alignment to LOWER_LEFT Setting angle to 0 Setting color to default color Setting embedded to 0 Setting mirrored to 0 The backup copy is newer than the schematic, so it seems you should load it instead of the original file. There are no schematics above the current one! Too many UTF-8 characters, cannot print Unable to get time of day in f_print_header() Unable to open the prolog file `%s' for reading in f_print_header() Value in color map entry must be #f or a stringWARNING: Symbol version mismatch on refdes %s (%s): Symbol in library is newer than instantiated symbol WARNING: Symbol version oddity on refdes %s: Instantiated symbol is newer than symbol in library WARNING: Symbol version oddity on refdes %s: symversion=%s attached to instantiated symbol, but no symversion= inside symbol file WARNING: Symbol version parse error on refdes %s: Could not parse attached symversion=%s WARNING: Symbol version parse error on refdes %s: Could not parse symbol file symversion= WARNING: Symbol version parse error on refdes %s: Could not parse symbol file symversion=%s WARNING: using a string for 'always-promote-attributes' is deprecated. Use a list of strings instead component missing pinseq= attribute gEDA Circuit SchematicgEDA Gsch2pcb ProjectgEDA Schematic SymbolgEDA circuit schematicgEDA gsch2pcb projectgEDA schematic symbolhierarchy loop detected while visiting page: "%s" o_save_objects: object %p has unknown type '%c' s_page_delete: Can't get the real filename of %s.s_page_delete: Unable to delete backup file %s.Project-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2010-01-31 13:00+0000 Last-Translator: Werner Hoch Language-Team: gEDA developers Language: de MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2010-02-14 12:56+0000 X-Generator: Launchpad (build Unknown) GROSSE VERSIONSÄNDERUNG (Symboldatei %.3f, Symbol im Schaltplan %.3f, %s)! Kleine Versionsänderung (Symboldatei %.3f, Symbol im Schaltplan %.3f)! Starte gschem und korrigiere diesen Zustand. ACHTUNG: Es wurde eine automatisch gesicherte Backupdatei gefunden: %s. %s: %sEs wurde versucht ein Attribute [%s] an mehr als ein Objekt anzubringen Es wurde versucht eine Attribut anzubringen, welches kein Text ist! Base64 Dekodierung fehlgeschlagen.Konnte Backupdatei nicht speichern: %s.Die Scheme-Bibliothek kann nicht hinzugefügt werden [%s]: Die aufgerufenen Prozeduren müssen abgeschlossen sein (closures) Kann die Bibliothek [%s] nicht hinzufügen: Beide Befehle ('list' und 'get') müssen angegeben werden. Kann die Bibliothek nicht hinzufügen. Der Name fehlt Konnte Datei nicht finden %s: %sFarbindex außerhalb des gültigen WertebereichsDer Eintrag in der Farbtabelle muss eine zweielementige Liste seinBauteil [%s] wurde eingebettet Das Bauteil [%s] wurde erfolgreich ausgebettet Das Bauteil [%s] konnte nicht in der Bauteilbibliothek gefunden werden Bauteil wurde nicht gefunden: %sACHTUNG: Konnte Datei nicht speichern [%s] Konnte die Rechte der Backupdatei [%s] nicht auf nurlesend setzen Konnte die Rechte der alten Backupdatei [%s] nicht auf lesen+schreiben setzen Konnte den Befehl [%s] zum Drucken nicht ausführen Konnte [%s] in keiner Bibliothekenquelle finden Konnte Symbol [%s] nicht finden um es auszubetten. Das Bauteil bleibt eingebettet Konnte die Datei [%s] nicht zum Drucken öffnen Kein korrektes Attribut slotdef=#:#,#,#... gefunden Es wurde kein slotdef=#:#,#,#... Attribut gefunden ERROR: s_hierarchy_traverse: Schaltplan [%s] wurde nicht gefunden. FEHLER: o_picture_save: Kann das Bild nicht kodieren. f_print_header(): Fehler beim Lesen der Prologdatei '%s' f_print_header(): Fehler beim Schreiben der Postscript-Datei. Die Fehlermeldung lautete: %s Fehler beim Laden der Daten eines eingebetteten Bildes [%s]: %s Das Bild konnte nicht aus der Datei [%s] geladen werden: %s Fehler beim Laden der Symboldaten [%s] aus der Quelle [%s] Fehler beim Laden eines Symbols aus der Datei [%s]: %s Fehler beim Öffnen eines Verzeichnisses [%s]: %s Fehler beim Einlesen der Bibliothek [%s]: Die Scheme-Funktion hat 'non-list' zurückgegeben Konnte Dateiinformation nicht ermitteln [%s]: %sLade das Bild aus der Datei. Das Bild ist ausgebettet. [%s] gefunden Bauteil mit fehlerhafter Spiegelungsangabe entdeckt [ %c %d %d %d %d %d %s ] Bauteil mit fehlerhafter Rotationsangabe entdeckt [ %c %d %d %d %d %d %s ] Pin ohne Markierung (whichend) der aktiven Seite entdeckt. Kontrolliere die Markierung und korrigiere ggf. manuell. Bus mit der Länge 0 entdeckt [ %c %d %d %d %d %d ] Linie mit der Länge 0 entdeckt [ %c %d %d %d %d %d ] Netz mit der Länge 0 entdeckt [ %c %d %d %d %d %d ] Kreisbogen mit Radius 0 entdeckt [%c %d, %d, %d, %d, %d, %d ] Textstring mit der Zeichengröße 0 entdeckt [ %c %d %d %d %d %d %d %d %d ] Rechteck mit der Kantenlänge 0 entdeckt [ %c %d %d %d %d %d ] Bild mit der Seitenlänge 0 entdeckt [ %c %d %d %d %d ] Fehlerhafte Richtungsangabe [%s] bei einem Busanschluss entdeckt Fehlerhafte Farbangabe entdeckt [%s] Pin mit fehlerafter Markierung (whichend) der aktiven Seite entdeckt. Verwende 0: %d Bild mit fehlerhafter Winkelangabe entdeckt [%d] Text mit nicht unterstützer Ausrichtung entdeckt [ %c %d %d %d %d %d %d %d %d ] Text mit nicht unterstützer Winkelangabe entdeckt [ %c %d %d %d %d %d %d %d %d ] Gebe das Ausdrucken auf Gschem erstellt automatisch Backupdateien. Stürzt gschem ab oder wird es absichtlich getötet, so ergibt sich diese Situation. Konnte nicht feststellen ob die Backupdatei neuer ist oder nicht. Dies muss nun manuell durchgeführt werden. Fehlerhafte slotdef syntax: ":" fehlt. Der Indexeintrag in der Farbtabelle muss ein Integerwert seinFehlerhafte Längenangabe, verwende 100 Fehlerhafte Abstandsangabe, verwende 100 Bibliotheksbefehl fehlgeschlagen [%s] Bibliotheksbefehl fehlgeschlagen [%s]: %s Bibliotheksbefehl fehlgeschlagen [%s]: Nicht abgefangenes Signal %i. Bibliotheksname [%s] wird bereits verwendet. Verwende [%s]. Mehr als ein Bauteil mit dem Namen [%s] gefunden Beim Einlesen der Bibliothek [%s] wurde der Symbolname 'non-string' zurückgegeben Kreise mit dem Radius 0 sind nicht erlaubt Das Bild [%s] wurde eingebettet Das Bild [%s] wurde ausgebettet Die eingelesene sch/sym Datei hat ein altes Dateiformat! Bitte aktualisiere die Datei mit g[sym|sch]update: [%s] Fehlerhafte Daten in [%s]: >> %s<< Fehlerhafte Endmarkierung bei eingebetteten Symbol gefunden [%s]: >> %s<< Fehlerhafte Startmarkierung bei eingebetteten Symbol gefunden [%s]: >> %s<< Setze die Richtung auf neutral (keine Richtung) Gespeichert [%s] Verwende die Ausrichtung 'Links Unten' Setze die Winkelangabe auf 0 Verwende die Default Farbe Setze die Einbettung auf 0 Setze die Spiegelung auf 0 Die Backupdatei ist neuer als die des Schaltplanes. Es sollte eventuell das Backup anstatt der originalen Datei geladen werden. Über diesem Schaltplan gibt es keinen weiteren! Zu viele UTF-8 Zeichen. Es kann nicht gedruckt werden f_print_header(): Konnte die aktuelle Zeit nicht ermitteln f_print_header(): Konnte die Prologdatei '%s' nicht öffnen. Der Wert in der Farbtabelle muss '#f' oder ein String sein.Achtung: Die Version des Symbols mit der Referenz %s stimmt nicht überein (%s): Das Symbol in der Bibliothek ist neuer als das Symbol im Schaltplan ACHTUNG: Seltsame Versionskonstellation bei dem Symbol mit der Referenz %s: Die Symbolversion im Schaltplan ist aktueller als in der Symbolbibliothek ACHTUNG: Seltsame Konstellation der Version des Symbols mit der Referenz '%s': symversion=%s existiert bei dem Symbol im Schaltplan, fehlt aber innerhalb der Schaltsymbol-Datei ACHTUNG: Fehler bei der Analyse der Version des Symbols mit der Referenz '%s': Konnte das angehängte Attribut symversion=%s nicht zerlegen ACHTUNG: Fehler bei der Analyse der Version des Symbols mit der Referenz '%s': Konnte das Attribut symversion= nicht zerlegen ACHTUNG: Fehler bei der Analyse der Version des Symbols mit der Referenz '%s': Konnte das Attribut symversion=%s nicht zerlegen ACHTUNG: Die Verwendung eines Strings als Variablenwert von 'always-promote-attributes' ist veraltet. Es sollte statdessen eine Liste von Strings verwendet werden. pinseq= Attribut fehlt. gEDA SchaltplangEDA Gsch2pcb ProjektgEDA SchaltplansymbolgEDA SchaltplangEDA gsch2pcb ProjektgEDA SchaltplansymbolZirkuläre Abhängigkeiten in der Hierarchie entdeckt. Schaltplan: "%s" o_save_objects: Das Objekt %p hat eine unbekannte Typangabe '%c' s_page_delete: Kann den tatsächlichen Dateinamen von [%s] nicht ermitteln.s_page_delete: Kann die Backupdatei [%s] nicht löschen.geda-gaf-1.8.2/libgeda/po/de.po0000664000175000017500000010060612220655642013044 00000000000000# translation of de.po to deutsch # German translation for libgeda # Copyright (C) 2008 Werner Hoch # This file is distributed under the same license as the libgeda package. # # Werner Hoch , 2008, 2009. msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2010-01-31 13:00+0000\n" "Last-Translator: Werner Hoch \n" "Language-Team: gEDA developers \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2010-02-14 12:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: libgeda/data/libgeda.xml.in:3 msgid "gEDA circuit schematic" msgstr "gEDA Schaltplan" #: libgeda/data/libgeda.xml.in:4 msgid "gEDA schematic symbol" msgstr "gEDA Schaltplansymbol" #: libgeda/data/libgeda.xml.in:5 msgid "gEDA gsch2pcb project" msgstr "gEDA gsch2pcb Projekt" #: libgeda/data/x-geda-gsch2pcb-project.desktop.in:3 msgid "gEDA Gsch2pcb Project" msgstr "gEDA Gsch2pcb Projekt" #: libgeda/data/x-geda-schematic.desktop.in:3 msgid "gEDA Circuit Schematic" msgstr "gEDA Schaltplan" #: libgeda/data/x-geda-symbol.desktop.in:3 msgid "gEDA Schematic Symbol" msgstr "gEDA Schaltplansymbol" #: libgeda/src/a_basic.c:182 #, c-format msgid "o_save_objects: object %p has unknown type '%c'\n" msgstr "o_save_objects: Das Objekt %p hat eine unbekannte Typangabe '%c'\n" #: libgeda/src/a_basic.c:238 libgeda/src/f_basic.c:384 #, c-format msgid "File %s is read-only" msgstr "" #: libgeda/src/a_basic.c:423 #, fuzzy, c-format msgid "" "Read unexpected attach symbol start marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" "Fehlerhafte Startmarkierung bei eingebetteten Symbol gefunden [%s]:\n" ">>\n" "%s<<\n" #: libgeda/src/a_basic.c:440 #, c-format msgid "" "Read unexpected embedded symbol start marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" "Fehlerhafte Startmarkierung bei eingebetteten Symbol gefunden [%s]:\n" ">>\n" "%s<<\n" #: libgeda/src/a_basic.c:471 #, c-format msgid "" "Read unexpected embedded symbol end marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" "Fehlerhafte Endmarkierung bei eingebetteten Symbol gefunden [%s]:\n" ">>\n" "%s<<\n" #: libgeda/src/a_basic.c:506 #, c-format msgid "" "Read an old format sym/sch file!\n" "Please run g[sym|sch]update on:\n" "[%s]\n" msgstr "" "Die eingelesene sch/sym Datei hat ein altes Dateiformat!\n" "Bitte aktualisiere die Datei mit g[sym|sch]update:\n" "[%s]\n" #: libgeda/src/a_basic.c:512 #, c-format msgid "" "Read garbage in [%s] :\n" ">>\n" "%s<<\n" msgstr "" "Fehlerhafte Daten in [%s]:\n" ">>\n" "%s<<\n" #: libgeda/src/f_basic.c:123 libgeda/src/f_basic.c:136 #, c-format msgid "Failed to stat [%s]: %s" msgstr "Konnte Dateiinformation nicht ermitteln [%s]: %s" #: libgeda/src/f_basic.c:221 #, c-format msgid "Cannot find file %s: %s" msgstr "Konnte Datei nicht finden %s: %s" #: libgeda/src/f_basic.c:269 #, c-format msgid "" "\n" "WARNING: Found an autosave backup file:\n" " %s.\n" "\n" msgstr "" "\n" "ACHTUNG: Es wurde eine automatisch gesicherte Backupdatei gefunden:\n" " %s.\n" "\n" #: libgeda/src/f_basic.c:271 msgid "I could not guess if it is newer, so you have to do it manually.\n" msgstr "" "Konnte nicht feststellen ob die Backupdatei neuer ist oder nicht. Dies muss " "nun manuell durchgeführt werden.\n" #: libgeda/src/f_basic.c:273 msgid "" "The backup copy is newer than the schematic, so it seems you should load it " "instead of the original file.\n" msgstr "" "Die Backupdatei ist neuer als die des Schaltplanes. Es sollte eventuell das " "Backup anstatt der originalen Datei geladen werden.\n" #: libgeda/src/f_basic.c:275 msgid "" "Gschem usually makes backup copies automatically, and this situation happens " "when it crashed or it was forced to exit abruptly.\n" msgstr "" "Gschem erstellt automatisch Backupdateien. Stürzt gschem ab oder wird es " "absichtlich getötet, so ergibt sich diese Situation.\n" #: libgeda/src/f_basic.c:278 msgid "" "\n" "Run gschem and correct the situation.\n" "\n" msgstr "" "\n" "Starte gschem und korrigiere diesen Zustand.\n" "\n" #: libgeda/src/f_basic.c:374 #, fuzzy, c-format msgid "Can't get the real filename of %s: %s" msgstr "Konnte den wahren Dateinamen von %s nicht ermitteln." #: libgeda/src/f_basic.c:405 #, c-format msgid "Could NOT set previous backup file [%s] read-write\n" msgstr "" "Konnte die Rechte der alten Backupdatei [%s] nicht auf lesen+schreiben " "setzen\n" #: libgeda/src/f_basic.c:411 #, c-format msgid "Can't save backup file: %s." msgstr "Konnte Backupdatei nicht speichern: %s." #: libgeda/src/f_basic.c:421 #, c-format msgid "Could NOT set backup file [%s] readonly\n" msgstr "Konnte die Rechte der Backupdatei [%s] nicht auf nurlesend setzen\n" #: libgeda/src/f_basic.c:480 #, fuzzy, c-format msgid "Could NOT save file: %s" msgstr "ACHTUNG: Konnte Datei nicht speichern [%s]\n" #: libgeda/src/f_basic.c:727 #, c-format msgid "%s: %s" msgstr "%s: %s" #: libgeda/src/f_print.c:123 msgid "Unable to get time of day in f_print_header()\n" msgstr "f_print_header(): Konnte die aktuelle Zeit nicht ermitteln\n" #: libgeda/src/f_print.c:165 #, c-format msgid "Unable to open the prolog file `%s' for reading in f_print_header()\n" msgstr "f_print_header(): Konnte die Prologdatei '%s' nicht öffnen.\n" #: libgeda/src/f_print.c:182 #, c-format msgid "Error during reading of the prolog file `%s' in f_print_header()\n" msgstr "f_print_header(): Fehler beim Lesen der Prologdatei '%s'\n" #: libgeda/src/f_print.c:188 msgid "" "Error during writing of the output postscript file in f_print_header()\n" msgstr "f_print_header(): Fehler beim Schreiben der Postscript-Datei.\n" #: libgeda/src/f_print.c:202 msgid "Giving up on printing\n" msgstr "Gebe das Ausdrucken auf\n" #: libgeda/src/f_print.c:375 #, c-format msgid "Could not open [%s] for printing\n" msgstr "Konnte die Datei [%s] nicht zum Drucken öffnen\n" #: libgeda/src/f_print.c:409 #, c-format msgid "Could not execute command [%s] for printing\n" msgstr "Konnte den Befehl [%s] zum Drucken nicht ausführen\n" #: libgeda/src/f_print.c:682 msgid "Too many UTF-8 characters, cannot print\n" msgstr "Zu viele UTF-8 Zeichen. Es kann nicht gedruckt werden\n" #: libgeda/src/g_basic.c:264 msgid "" "\n" "Backtrace:\n" msgstr "" #: libgeda/src/g_rc.c:233 #, fuzzy msgid "Config file already loaded" msgstr "Konfigurationsdatei [%s] wurde bereits gelesen.\n" #: libgeda/src/g_rc.c:268 #, fuzzy, c-format msgid "Parsed config from [%s]\n" msgstr "Lese User-Konfigurationsdatei [%%s]\n" #: libgeda/src/g_rc.c:281 #, fuzzy, c-format msgid "Unable to parse config from [%s]: %s" msgstr "Das Bild konnte nicht aus der Datei [%s] geladen werden: %s\n" #: libgeda/src/g_rc.c:298 msgid "ERROR: An unknown error occurred while parsing configuration files." msgstr "" #: libgeda/src/g_rc.c:310 libgeda/src/g_rc.c:311 #, c-format msgid "ERROR: %s\n" msgstr "" #: libgeda/src/g_rc.c:317 #, c-format msgid "ERROR: The %s log may contain more information.\n" msgstr "" #: libgeda/src/g_rc.c:978 msgid "" "WARNING: using a string for 'always-promote-attributes' is deprecated. Use a " "list of strings instead\n" msgstr "" "ACHTUNG: Die Verwendung eines Strings als Variablenwert von 'always-promote-" "attributes' ist veraltet. Es sollte statdessen eine Liste von Strings " "verwendet werden.\n" #: libgeda/src/o_arc_basic.c:256 libgeda/src/o_arc_basic.c:269 msgid "Failed to parse arc object" msgstr "" #: libgeda/src/o_arc_basic.c:276 #, c-format msgid "Found a zero radius arc [ %c %d, %d, %d, %d, %d, %d ]\n" msgstr "Kreisbogen mit Radius 0 entdeckt [%c %d, %d, %d, %d, %d, %d ]\n" #: libgeda/src/o_arc_basic.c:282 libgeda/src/o_box_basic.c:327 #: libgeda/src/o_bus_basic.c:182 libgeda/src/o_circle_basic.c:289 #: libgeda/src/o_line_basic.c:264 libgeda/src/o_net_basic.c:171 #: libgeda/src/o_path_basic.c:189 libgeda/src/o_pin_basic.c:183 #: libgeda/src/o_text_basic.c:425 #, c-format msgid "Found an invalid color [ %s ]\n" msgstr "Fehlerhafte Farbangabe entdeckt [%s]\n" #: libgeda/src/o_arc_basic.c:283 libgeda/src/o_box_basic.c:328 #: libgeda/src/o_bus_basic.c:183 libgeda/src/o_circle_basic.c:290 #: libgeda/src/o_line_basic.c:265 libgeda/src/o_net_basic.c:172 #: libgeda/src/o_path_basic.c:190 libgeda/src/o_pin_basic.c:184 #: libgeda/src/o_text_basic.c:426 msgid "Setting color to default color\n" msgstr "Verwende die Default Farbe\n" #: libgeda/src/o_attrib.c:123 msgid "Attempt to attach non text item as an attribute!\n" msgstr "Es wurde versucht eine Attribut anzubringen, welches kein Text ist!\n" #: libgeda/src/o_attrib.c:128 #, c-format msgid "Attempt to attach attribute [%s] to more than one object\n" msgstr "" "Es wurde versucht ein Attribute [%s] an mehr als ein Objekt anzubringen\n" #: libgeda/src/o_attrib.c:341 #, fuzzy msgid "Tried to attach a non-text item as an attribute" msgstr "Es wurde versucht eine Attribut anzubringen, welches kein Text ist!\n" #: libgeda/src/o_attrib.c:348 msgid "Unexpected end-of-file in attribute list" msgstr "" #: libgeda/src/o_basic.c:196 libgeda/src/o_basic.c:208 msgid "Invalid space specified, setting to 100\n" msgstr "Fehlerhafte Abstandsangabe, verwende 100\n" #: libgeda/src/o_basic.c:204 msgid "Invalid length specified, setting to 100\n" msgstr "Fehlerhafte Längenangabe, verwende 100\n" #: libgeda/src/o_box_basic.c:287 libgeda/src/o_box_basic.c:316 msgid "Failed to parse box object" msgstr "" #: libgeda/src/o_box_basic.c:322 #, c-format msgid "Found a zero width/height box [ %c %d %d %d %d %d ]\n" msgstr "Rechteck mit der Kantenlänge 0 entdeckt [ %c %d %d %d %d %d ]\n" #: libgeda/src/o_bus_basic.c:160 libgeda/src/o_bus_basic.c:167 msgid "Failed to parse bus object" msgstr "" #: libgeda/src/o_bus_basic.c:173 #, c-format msgid "Found a zero length bus [ %c %d %d %d %d %d ]\n" msgstr "Bus mit der Länge 0 entdeckt [ %c %d %d %d %d %d ]\n" #: libgeda/src/o_bus_basic.c:188 #, c-format msgid "Found an invalid bus ripper direction [ %s ]\n" msgstr "Fehlerhafte Richtungsangabe [%s] bei einem Busanschluss entdeckt\n" #: libgeda/src/o_bus_basic.c:189 msgid "Resetting direction to neutral (no direction)\n" msgstr "Setze die Richtung auf neutral (keine Richtung)\n" #: libgeda/src/o_circle_basic.c:193 msgid "Null radius circles are not allowed\n" msgstr "Kreise mit dem Radius 0 sind nicht erlaubt\n" #: libgeda/src/o_circle_basic.c:246 libgeda/src/o_circle_basic.c:275 msgid "Failed to parse circle object" msgstr "" #: libgeda/src/o_circle_basic.c:282 #, fuzzy, c-format msgid "Found a zero or negative radius circle [ %c %d %d %d %d ]\n" msgstr "Kreis mit dem Radius 0 entdeckt [ %c %d %d %d %d ]\n" #: libgeda/src/o_circle_basic.c:284 #, fuzzy msgid "Setting radius to 0\n" msgstr "Setze die Winkelangabe auf 0\n" #: libgeda/src/o_complex_basic.c:422 #, c-format msgid "" "Component not found:\n" " %s" msgstr "" "Bauteil wurde nicht gefunden:\n" " %s" #: libgeda/src/o_complex_basic.c:654 msgid "Failed to parse complex object" msgstr "" #: libgeda/src/o_complex_basic.c:667 #, c-format msgid "Found a component with an invalid rotation [ %c %d %d %d %d %d %s ]\n" msgstr "" "Bauteil mit fehlerhafter Rotationsangabe entdeckt [ %c %d %d %d %d %d %s ]\n" #: libgeda/src/o_complex_basic.c:668 libgeda/src/o_picture.c:105 #: libgeda/src/o_text_basic.c:397 msgid "Setting angle to 0\n" msgstr "Setze die Winkelangabe auf 0\n" #: libgeda/src/o_complex_basic.c:680 #, c-format msgid "" "Found a component with an invalid mirror flag [ %c %d %d %d %d %d %s ]\n" msgstr "" "Bauteil mit fehlerhafter Spiegelungsangabe entdeckt [ %c %d %d %d %d %d " "%s ]\n" #: libgeda/src/o_complex_basic.c:681 #, fuzzy msgid "Setting mirror to 0\n" msgstr "Setze die Spiegelung auf 0\n" #: libgeda/src/o_complex_basic.c:994 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse symbol file symversion=%s\n" msgstr "" "ACHTUNG: Fehler bei der Analyse der Version des Symbols mit der Referenz " "'%s':\n" "\tKonnte das Attribut symversion=%s nicht zerlegen\n" #: libgeda/src/o_complex_basic.c:998 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse symbol file symversion=\n" msgstr "" "ACHTUNG: Fehler bei der Analyse der Version des Symbols mit der Referenz " "'%s':\n" "\tKonnte das Attribut symversion= nicht zerlegen\n" #: libgeda/src/o_complex_basic.c:1014 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse attached symversion=%s\n" msgstr "" "ACHTUNG: Fehler bei der Analyse der Version des Symbols mit der Referenz " "'%s':\n" "\tKonnte das angehängte Attribut symversion=%s nicht zerlegen\n" #: libgeda/src/o_complex_basic.c:1039 #, c-format msgid "" "WARNING: Symbol version oddity on refdes %s:\n" "\tsymversion=%s attached to instantiated symbol, but no symversion= inside " "symbol file\n" msgstr "" "ACHTUNG: Seltsame Konstellation der Version des Symbols mit der Referenz " "'%s':\n" "\tsymversion=%s existiert bei dem Symbol im Schaltplan, fehlt aber innerhalb " "der Schaltsymbol-Datei\n" #: libgeda/src/o_complex_basic.c:1053 #, c-format msgid "" "WARNING: Symbol version mismatch on refdes %s (%s):\n" "\tSymbol in library is newer than instantiated symbol\n" msgstr "" "Achtung: Die Version des Symbols mit der Referenz %s stimmt nicht überein " "(%s):\n" "\tDas Symbol in der Bibliothek ist neuer als das Symbol im Schaltplan\n" #: libgeda/src/o_complex_basic.c:1081 #, c-format msgid "\tMAJOR VERSION CHANGE (file %.3f, instantiated %.3f, %s)!\n" msgstr "" "\tGROSSE VERSIONSÄNDERUNG (Symboldatei %.3f, Symbol im Schaltplan %.3f, " "%s)!\n" #: libgeda/src/o_complex_basic.c:1099 #, c-format msgid "\tMinor version change (file %.3f, instantiated %.3f)\n" msgstr "" "\tKleine Versionsänderung (Symboldatei %.3f, Symbol im Schaltplan %.3f)!\n" #: libgeda/src/o_complex_basic.c:1110 #, c-format msgid "" "WARNING: Symbol version oddity on refdes %s:\n" "\tInstantiated symbol is newer than symbol in library\n" msgstr "" "ACHTUNG: Seltsame Versionskonstellation bei dem Symbol mit der Referenz %s:\n" "\tDie Symbolversion im Schaltplan ist aktueller als in der Symbolbibliothek\n" #: libgeda/src/o_embed.c:58 #, c-format msgid "Component [%s] has been embedded\n" msgstr "Bauteil [%s] wurde eingebettet\n" #: libgeda/src/o_embed.c:102 #, c-format msgid "" "Could not find component [%s], while trying to unembed. Component is still " "embedded\n" msgstr "" "Konnte Symbol [%s] nicht finden um es auszubetten. Das Bauteil bleibt " "eingebettet\n" #: libgeda/src/o_embed.c:110 #, c-format msgid "Component [%s] has been successfully unembedded\n" msgstr "Das Bauteil [%s] wurde erfolgreich ausgebettet\n" #: libgeda/src/o_line_basic.c:229 libgeda/src/o_line_basic.c:247 msgid "Failed to parse line object" msgstr "" #: libgeda/src/o_line_basic.c:259 #, c-format msgid "Found a zero length line [ %c %d %d %d %d %d ]\n" msgstr "Linie mit der Länge 0 entdeckt [ %c %d %d %d %d %d ]\n" #: libgeda/src/o_net_basic.c:156 msgid "Failed to parse net object" msgstr "" #: libgeda/src/o_net_basic.c:161 #, c-format msgid "Found a zero length net [ %c %d %d %d %d %d ]\n" msgstr "Netz mit der Länge 0 entdeckt [ %c %d %d %d %d %d ]\n" #: libgeda/src/o_path_basic.c:181 msgid "Failed to parse path object" msgstr "" #: libgeda/src/o_path_basic.c:207 msgid "Unexpected end-of-file when reading path" msgstr "" #: libgeda/src/o_picture.c:72 msgid "Failed to parse picture definition" msgstr "" #: libgeda/src/o_picture.c:77 #, c-format msgid "Found a zero width/height picture [ %c %d %d %d %d ]\n" msgstr "Bild mit der Seitenlänge 0 entdeckt [ %c %d %d %d %d ]\n" #: libgeda/src/o_picture.c:82 #, fuzzy, c-format msgid "Found a picture with a wrong 'mirrored' parameter: %d.\n" msgstr "Bild mit fehlerhaften Spiegelungsparametern entdeckt: %c.\n" #: libgeda/src/o_picture.c:84 msgid "Setting mirrored to 0\n" msgstr "Setze die Spiegelung auf 0\n" #: libgeda/src/o_picture.c:89 #, fuzzy, c-format msgid "Found a picture with a wrong 'embedded' parameter: %d.\n" msgstr "Bild mit fehlerhaften Einbettungsparametern entdeckt. %c.\n" #: libgeda/src/o_picture.c:91 msgid "Setting embedded to 0\n" msgstr "Setze die Einbettung auf 0\n" #: libgeda/src/o_picture.c:104 #, c-format msgid "Found an unsupported picture angle [ %d ]\n" msgstr "Bild mit fehlerhafter Winkelangabe entdeckt [%d]\n" #: libgeda/src/o_picture.c:116 msgid "Found an image with no filename." msgstr "" #: libgeda/src/o_picture.c:147 #, c-format msgid "Failed to load image from embedded data [%s]: %s\n" msgstr "Fehler beim Laden der Daten eines eingebetteten Bildes [%s]: %s\n" #: libgeda/src/o_picture.c:148 msgid "Base64 decoding failed." msgstr "Base64 Dekodierung fehlgeschlagen." #: libgeda/src/o_picture.c:149 msgid "Falling back to file loading. Picture unembedded.\n" msgstr "Lade das Bild aus der Datei. Das Bild ist ausgebettet.\n" #: libgeda/src/o_picture.c:208 msgid "ERROR: o_picture_save: unable to encode the picture.\n" msgstr "FEHLER: o_picture_save: Kann das Bild nicht kodieren.\n" #: libgeda/src/o_picture.c:308 #, fuzzy, c-format msgid "Failed to load buffer image [%s]: %s\n" msgstr "Fehler beim Laden eines Symbols aus der Datei [%s]: %s\n" #: libgeda/src/o_picture.c:321 #, fuzzy, c-format msgid "Failed to load image from [%s]: %s\n" msgstr "Das Bild konnte nicht aus der Datei [%s] geladen werden: %s\n" #: libgeda/src/o_picture.c:427 #, c-format msgid "Picture %p has invalid angle %i\n" msgstr "" #: libgeda/src/o_picture.c:957 #, fuzzy, c-format msgid "Picture [%s] has no image data.\n" msgstr "Das Bild [%s] wurde eingebettet\n" #: libgeda/src/o_picture.c:958 #, fuzzy msgid "Falling back to file loading. Picture is still unembedded.\n" msgstr "Lade das Bild aus der Datei. Das Bild ist ausgebettet.\n" #: libgeda/src/o_picture.c:966 #, c-format msgid "Picture [%s] has been embedded\n" msgstr "Das Bild [%s] wurde eingebettet\n" #: libgeda/src/o_picture.c:990 #, c-format msgid "Failed to load image from file [%s]: %s\n" msgstr "Das Bild konnte nicht aus der Datei [%s] geladen werden: %s\n" #: libgeda/src/o_picture.c:992 #, fuzzy msgid "Picture is still embedded.\n" msgstr "Das Bild [%s] wurde eingebettet\n" #: libgeda/src/o_picture.c:1000 #, c-format msgid "Picture [%s] has been unembedded\n" msgstr "Das Bild [%s] wurde ausgebettet\n" #: libgeda/src/o_picture.c:1236 #, fuzzy, c-format msgid "Failed to load fallback image %s: %s.\n" msgstr "Das Bild konnte nicht aus der Datei [%s] geladen werden: %s\n" #: libgeda/src/o_pin_basic.c:160 libgeda/src/o_pin_basic.c:168 msgid "Failed to parse pin object" msgstr "" #: libgeda/src/o_pin_basic.c:174 msgid "" "Found a pin which did not have the whichone field set.\n" "Verify and correct manually.\n" msgstr "" "Pin ohne Markierung (whichend) der aktiven Seite entdeckt.\n" "Kontrolliere die Markierung und korrigiere ggf. manuell.\n" #: libgeda/src/o_pin_basic.c:177 #, c-format msgid "Found an invalid whichend on a pin (reseting to zero): %d\n" msgstr "" "Pin mit fehlerafter Markierung (whichend) der aktiven Seite entdeckt. " "Verwende 0: %d\n" #: libgeda/src/o_text_basic.c:356 libgeda/src/o_text_basic.c:366 #: libgeda/src/o_text_basic.c:376 msgid "Failed to parse text object" msgstr "" #: libgeda/src/o_text_basic.c:383 #, c-format msgid "Found a zero size text string [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" "Textstring mit der Zeichengröße 0 entdeckt [ %c %d %d %d %d %d %d %d %d ]\n" #: libgeda/src/o_text_basic.c:395 #, c-format msgid "Found an unsupported text angle [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" "Text mit nicht unterstützer Winkelangabe entdeckt [ %c %d %d %d %d %d %d %d " "%d ]\n" #: libgeda/src/o_text_basic.c:417 #, c-format msgid "Found an unsupported text alignment [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" "Text mit nicht unterstützer Ausrichtung entdeckt [ %c %d %d %d %d %d %d %d " "%d ]\n" #: libgeda/src/o_text_basic.c:419 msgid "Setting alignment to LOWER_LEFT\n" msgstr "Verwende die Ausrichtung 'Links Unten'\n" #: libgeda/src/o_text_basic.c:440 #, c-format msgid "Unexpected end-of-file after %d lines" msgstr "" #: libgeda/src/s_clib.c:465 #, c-format msgid "Library command failed [%s]: %s\n" msgstr "Bibliotheksbefehl fehlgeschlagen [%s]: %s\n" #: libgeda/src/s_clib.c:470 #, c-format msgid "Library command failed [%s]: Uncaught signal %i.\n" msgstr "Bibliotheksbefehl fehlgeschlagen [%s]: Nicht abgefangenes Signal %i.\n" #: libgeda/src/s_clib.c:474 #, c-format msgid "Library command failed [%s]\n" msgstr "Bibliotheksbefehl fehlgeschlagen [%s]\n" #: libgeda/src/s_clib.c:475 #, c-format msgid "" "Error output was:\n" "%s\n" msgstr "" "Die Fehlermeldung lautete:\n" "%s\n" #: libgeda/src/s_clib.c:561 #, c-format msgid "Library name [%s] already in use. Using [%s].\n" msgstr "Bibliotheksname [%s] wird bereits verwendet. Verwende [%s].\n" #: libgeda/src/s_clib.c:598 #, c-format msgid "Failed to open directory [%s]: %s\n" msgstr "Fehler beim Öffnen eines Verzeichnisses [%s]: %s\n" #: libgeda/src/s_clib.c:734 #, c-format msgid "Failed to scan library [%s]: Scheme function returned non-list\n" msgstr "" "Fehler beim Einlesen der Bibliothek [%s]: Die Scheme-Funktion hat 'non-list' " "zurückgegeben\n" #: libgeda/src/s_clib.c:742 #, c-format msgid "Non-string symbol name while scanning library [%s]\n" msgstr "" "Beim Einlesen der Bibliothek [%s] wurde der Symbolname 'non-string' " "zurückgegeben\n" #: libgeda/src/s_clib.c:901 libgeda/src/s_clib.c:948 msgid "Cannot add library: name not specified\n" msgstr "Kann die Bibliothek nicht hinzufügen. Der Name fehlt\n" #: libgeda/src/s_clib.c:908 #, c-format msgid "" "Cannot add library [%s]: both 'list' and 'get' commands must be specified.\n" msgstr "" "Kann die Bibliothek [%s] nicht hinzufügen: Beide Befehle ('list' und 'get') " "müssen angegeben werden.\n" #: libgeda/src/s_clib.c:956 #, c-format msgid "Cannot add Scheme-library [%s]: callbacks must be closures\n" msgstr "" "Die Scheme-Bibliothek kann nicht hinzugefügt werden [%s]: Die aufgerufenen " "Prozeduren müssen abgeschlossen sein (closures)\n" #: libgeda/src/s_clib.c:1083 #, c-format msgid "Failed to load symbol from file [%s]: %s\n" msgstr "Fehler beim Laden eines Symbols aus der Datei [%s]: %s\n" #: libgeda/src/s_clib.c:1143 #, c-format msgid "Failed to load symbol data [%s] from source [%s]\n" msgstr "Fehler beim Laden der Symboldaten [%s] aus der Quelle [%s]\n" #: libgeda/src/s_clib.c:1385 #, c-format msgid "Component [%s] was not found in the component library\n" msgstr "" "Das Bauteil [%s] konnte nicht in der Bauteilbibliothek gefunden werden\n" #: libgeda/src/s_clib.c:1391 #, c-format msgid "More than one component found with name [%s]\n" msgstr "Mehr als ein Bauteil mit dem Namen [%s] gefunden\n" #: libgeda/src/s_color.c:207 msgid "Color index out of range" msgstr "Farbindex außerhalb des gültigen Wertebereichs" #: libgeda/src/s_color.c:262 msgid "Color map entry must be a two-element list" msgstr "Der Eintrag in der Farbtabelle muss eine zweielementige Liste sein" #: libgeda/src/s_color.c:270 msgid "Index in color map entry must be an integer" msgstr "Der Indexeintrag in der Farbtabelle muss ein Integerwert sein" #: libgeda/src/s_color.c:296 msgid "Value in color map entry must be #f or a string" msgstr "Der Wert in der Farbtabelle muss '#f' oder ein String sein." #: libgeda/src/s_hierarchy.c:94 #, c-format msgid "" "hierarchy loop detected while visiting page:\n" " \"%s\"\n" msgstr "" "Zirkuläre Abhängigkeiten in der Hierarchie entdeckt. Schaltplan:\n" " \"%s\"\n" #: libgeda/src/s_hierarchy.c:194 msgid "There are no schematics above the current one!\n" msgstr "Über diesem Schaltplan gibt es keinen weiteren!\n" #: libgeda/src/s_hierarchy.c:274 #, c-format msgid "ERROR in s_hierarchy_traverse: schematic not found: %s\n" msgstr "ERROR: s_hierarchy_traverse: Schaltplan [%s] wurde nicht gefunden.\n" #: libgeda/src/s_page.c:213 #, c-format msgid "s_page_delete: Can't get the real filename of %s." msgstr "" "s_page_delete: Kann den tatsächlichen Dateinamen von [%s] nicht ermitteln." #: libgeda/src/s_page.c:224 #, c-format msgid "s_page_delete: Unable to delete backup file %s." msgstr "s_page_delete: Kann die Backupdatei [%s] nicht löschen." #: libgeda/src/s_page.c:499 #, c-format msgid "Saved [%s]\n" msgstr "Gespeichert [%s]\n" #: libgeda/src/s_page.c:505 #, c-format msgid "Could NOT save [%s]\n" msgstr "ACHTUNG: Konnte Datei nicht speichern [%s]\n" #: libgeda/src/s_slib.c:171 #, c-format msgid "Found [%s]\n" msgstr "[%s] gefunden\n" #: libgeda/src/s_slib.c:181 #, c-format msgid "Could not find [%s] in any SourceLibrary\n" msgstr "Konnte [%s] in keiner Bibliothekenquelle finden\n" #: libgeda/src/s_slot.c:162 msgid "Did not find slotdef=#:#,#,#... attribute\n" msgstr "Es wurde kein slotdef=#:#,#,#... Attribut gefunden\n" #: libgeda/src/s_slot.c:168 msgid "Improper slotdef syntax: missing \":\".\n" msgstr "Fehlerhafte slotdef syntax: \":\" fehlt.\n" #: libgeda/src/s_slot.c:183 msgid "Did not find proper slotdef=#:#,#,#... attribute\n" msgstr "Kein korrektes Attribut slotdef=#:#,#,#... gefunden\n" #: libgeda/src/s_slot.c:213 msgid "component missing pinseq= attribute\n" msgstr "pinseq= Attribut fehlt.\n" #: libgeda/src/scheme_attrib.c:67 msgid "~A is not a valid attribute: invalid string '~A'." msgstr "" #: libgeda/src/scheme_attrib.c:172 msgid "Objects ~A and ~A are not part of the same page and/or complex object" msgstr "" #: libgeda/src/scheme_attrib.c:179 libgeda/src/scheme_attrib.c:184 msgid "Object ~A is already attached as an attribute" msgstr "" #: libgeda/src/scheme_attrib.c:233 msgid "Object ~A is attribute of wrong object" msgstr "" #: libgeda/src/scheme_complex.c:148 msgid "Invalid complex angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_complex.c:265 libgeda/src/scheme_page.c:249 msgid "Object ~A is already attached to something" msgstr "" #: libgeda/src/scheme_complex.c:325 msgid "Object ~A is attached to a different complex" msgstr "" #: libgeda/src/scheme_complex.c:332 msgid "Object ~A is attached to a page" msgstr "" #: libgeda/src/scheme_complex.c:339 libgeda/src/scheme_page.c:301 #, fuzzy msgid "Object ~A is attached as an attribute" msgstr "Es wurde versucht eine Attribut anzubringen, welches kein Text ist!\n" #: libgeda/src/scheme_complex.c:346 libgeda/src/scheme_page.c:308 msgid "Object ~A has attributes" msgstr "" #: libgeda/src/scheme_object.c:232 msgid "Object ~A has bad type '~A'" msgstr "" #: libgeda/src/scheme_object.c:346 msgid "Object ~A has invalid stroke cap style ~A" msgstr "" #: libgeda/src/scheme_object.c:359 msgid "Object ~A has invalid stroke dash style ~A" msgstr "" #: libgeda/src/scheme_object.c:423 msgid "Invalid stroke cap style ~A." msgstr "" #: libgeda/src/scheme_object.c:434 msgid "Invalid stroke dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:444 msgid "Missing dash length parameter for dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:454 msgid "Missing dot/dash space parameter for dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:516 msgid "Object ~A has invalid fill style ~A" msgstr "" #: libgeda/src/scheme_object.c:565 msgid "Invalid fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:573 msgid "Missing second space parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:582 msgid "Missing second angle parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:592 msgid "Missing stroke width parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:601 msgid "Missing space parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:610 msgid "Missing angle parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:909 msgid "Invalid pin type ~A, must be 'net or 'bus" msgstr "" #: libgeda/src/scheme_object.c:952 msgid "Object ~A has invalid pin type." msgstr "" #: libgeda/src/scheme_object.c:1347 msgid "Invalid text alignment ~A." msgstr "" #: libgeda/src/scheme_object.c:1363 msgid "Invalid text angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_object.c:1382 msgid "Invalid text name/value visibility ~A." msgstr "" #: libgeda/src/scheme_object.c:1457 msgid "Text object ~A has invalid text alignment ~A" msgstr "" #: libgeda/src/scheme_object.c:1466 msgid "Text object ~A has invalid visibility ~A" msgstr "" #: libgeda/src/scheme_object.c:1476 msgid "Text object ~A has invalid text attribute visibility ~A" msgstr "" #: libgeda/src/scheme_object.c:1517 msgid "Object ~A is not included in a page." msgstr "" #: libgeda/src/scheme_object.c:1670 msgid "Path object ~A has invalid element type ~A at index ~A" msgstr "" #: libgeda/src/scheme_object.c:1784 msgid "Invalid path element type ~A." msgstr "" #: libgeda/src/scheme_object.c:1957 msgid "Invalid picture angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_page.c:294 msgid "Object ~A is attached to a complex or different page" msgstr "" #: libgeda/src/scheme_page.c:442 msgid "Parse error: ~s" msgstr "" #: libgeda/scheme/geda/attrib.scm:59 #, scheme-format msgid "Object ~A is not part of a page" msgstr "" #~ msgid "Error reading picture definition line: %s.\n" #~ msgstr "Fehler beim Lesen der Bildinformation. Zeile: %s.\n" #~ msgid "Loading warning picture.\n" #~ msgstr "Lade das Warnbild.\n" #~ msgid "Error loading picture from file: %s.\n" #~ msgstr "Fehler beim Laden des Bildes aus der Datei %s.\n" #~ msgid "Found a zero length pin: [ %s ]\n" #~ msgstr "Pin mit der Länge 0 entdeckt: [ %s ]\n" #~ msgid "%s:%i:%i: %s\n" #~ msgstr "%s:%i:%i: %s\n" #~ msgid "Unknown file: %s\n" #~ msgstr "Unbekannte Datei: %s\n" #~ msgid "Evaluation failed: %s\n" #~ msgstr "Ausführung gescheitert: %s\n" #~ msgid "Enable debugging for more detailed information\n" #~ msgstr "Aktiviere die Debugausgabe für genaure Informationen\n" #~ msgid "Could not find [%s] for interpretation\n" #~ msgstr "Konnte [%s] für die Auswertung nicht finden\n" #~ msgid "Read system config file [%%s]\n" #~ msgstr "Lese die Systemkonfigurationsdatei [%%s]\n" #~ msgid "Did not find required system config file [%%s]\n" #~ msgstr "" #~ "Konnte die erforderliche Systemkonfigurationsdatei nicht finden [%%s]\n" #~ msgid "Did not find optional user config file [%%s]\n" #~ msgstr "Die optionale User-Konfigurationsdatei [%%s] wurde nicht gefunden\n" #~ msgid "Read local config file [%%s]\n" #~ msgstr "Lese die lokale Konfigurationsdatei [%%s]\n" #~ msgid "Did not find optional local config file [%%s]\n" #~ msgstr "" #~ "Die optionale lokale Konfigurationsdatei [%%s] wurde nicht gefunden\n" #~ msgid "Read specified %s file [%%s]\n" #~ msgstr "Lese vorgegebene %s Datei [%%s]\n" #~ msgid "Did not find specified %s file [%%s]\n" #~ msgstr "Konnte die angegebene %s-Datei [%%s] nicht finden\n" #~ msgid "Could not find any %s file!\n" #~ msgstr "Konnte keine %s-Dateien finden!\n" #~ msgid "o_save: Could not open [%s]\n" #~ msgstr "o_save: Konnte Datei [%s] nicht öffnen\n" #~ msgid "Could not find character '%s' definition.\n" #~ msgstr "Konnte die Definition des Zeichens '%s' nicht finden.\n" #~ msgid "Failed to validate utf-8 character in font definition: \"%s\".\n" #~ msgstr "" #~ "UTF-8 Zeichen konnte in der Zeichensatzdefinition nicht ermittelt werden: " #~ "\"%s\".\n" #~ msgid "Could not load question font char -- check font-directory keyword\n" #~ msgstr "" #~ "Konnte das angefragte Zeichen nicht laden -- kontrolliere die Einstellung " #~ "'font-directory'\n" #~ msgid "Read ~/.gEDA/%s file [%%s]\n" #~ msgstr "Lese die ~/.gEDA/%s Datei [%%s]\n" #~ msgid "Did not find optional ~/.gEDA/%s file [%%s]\n" #~ msgstr "Konnte die optionale ~/.gEDA/%s-Datei [%%s] nicht finden\n" #~ msgid "Could not read symbolic link information for %s" #~ msgstr "Konnte die Information des symbolischen Links [%s] nicht lesen" #~ msgid "The file has too many symbolic links." #~ msgstr "Die Datei hat zu viele symbolische Links." #~ msgid "Found an improper attribute: _%s_\n" #~ msgstr "Fehlerhaftes Attribut entdeckt: [%s]\n" #~ msgid "Cannot find any schematics above the current one!\n" #~ msgstr "Es wurde kein Schaltplan über dem aktuellen gefunden!\n" #~ msgid "Maybe toplevel schematic page was closed/discarded?\n" #~ msgstr "Eventuell wurde der übergeordnete Schaltplan geschlossen?\n" #~ msgid "Can't get the real filename of %s.\n" #~ msgstr "Konnte den wahren Dateinamen von %s nicht ermitteln.\n" #~ msgid "\tMAJOR VERSION CHANGE (file %.3f, instantiated %.3f)!\n" #~ msgstr "" #~ "\tGROSSE VERSIONSÄNDERUNG (Symboldatei %.3f, Symbol im Schaltplan %.3f)!\n" #~ msgid "Component [%s] was not found in any component library\n" #~ msgstr "" #~ "Das Bauteil [%s] konnte in keiner Bauteilbibliothek gefunden werden\n" #~ msgid "s_page_delete: Can't get the real filename of %s.\n" #~ msgstr "" #~ "s_page_delete: Kann den tatsächlichen Dateinamen von [%s] nicht " #~ "ermitteln.\n" geda-gaf-1.8.2/libgeda/po/pt_BR.gmo0000664000175000017500000000075012220655642013625 00000000000000$,89Project-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-01-27 14:15+0000 Last-Translator: FULL NAME Language-Team: Brazilian Portuguese Language: pt_BR MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) geda-gaf-1.8.2/libgeda/po/fr.po0000664000175000017500000006625112220654173013070 00000000000000# French translation for geda # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-10-22 13:10+0000\n" "Last-Translator: Patrick Fiquet \n" "Language-Team: gEDA developers \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: libgeda/data/libgeda.xml.in:3 msgid "gEDA circuit schematic" msgstr "Schéma de circuit gEDA" #: libgeda/data/libgeda.xml.in:4 msgid "gEDA schematic symbol" msgstr "Schéma de symbole gEDA" #: libgeda/data/libgeda.xml.in:5 msgid "gEDA gsch2pcb project" msgstr "Projet gsch2pcb gEDA" #: libgeda/data/x-geda-gsch2pcb-project.desktop.in:3 msgid "gEDA Gsch2pcb Project" msgstr "Projet Gsch2pcb gEDA" #: libgeda/data/x-geda-schematic.desktop.in:3 msgid "gEDA Circuit Schematic" msgstr "Schéma de Circuit gEDA" #: libgeda/data/x-geda-symbol.desktop.in:3 msgid "gEDA Schematic Symbol" msgstr "Schéma de Symbole gEDA" #: libgeda/src/a_basic.c:182 #, c-format msgid "o_save_objects: object %p has unknown type '%c'\n" msgstr "o_save_objects: l'objet %p a un type '%c' inconnu\n" #: libgeda/src/a_basic.c:238 libgeda/src/f_basic.c:384 #, c-format msgid "File %s is read-only" msgstr "Le fichier %s est en lecture seule" #: libgeda/src/a_basic.c:423 #, c-format msgid "" "Read unexpected attach symbol start marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" #: libgeda/src/a_basic.c:440 #, c-format msgid "" "Read unexpected embedded symbol start marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" "Lecture d'un marqueur imprévu de début de symbole embarqué dans [%s] :\n" ">>\n" "%s<<\n" #: libgeda/src/a_basic.c:471 #, c-format msgid "" "Read unexpected embedded symbol end marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" "Lecture d'un marqueur imprévu de fin de symbole embarqué dans [%s] :\n" ">>\n" "%s<<\n" #: libgeda/src/a_basic.c:506 #, c-format msgid "" "Read an old format sym/sch file!\n" "Please run g[sym|sch]update on:\n" "[%s]\n" msgstr "" "Lecture d'un ancien format sym/sch!\n" "Veuillez lancer g[sym|sch]update sur:\n" "[%s]\n" #: libgeda/src/a_basic.c:512 #, c-format msgid "" "Read garbage in [%s] :\n" ">>\n" "%s<<\n" msgstr "" "Lecture de la poubelle dans [%s] :\n" ">>\n" "%s<<\n" #: libgeda/src/f_basic.c:123 libgeda/src/f_basic.c:136 #, c-format msgid "Failed to stat [%s]: %s" msgstr "Impossible d'évaluer [%s]: %s" #: libgeda/src/f_basic.c:221 #, c-format msgid "Cannot find file %s: %s" msgstr "Impossible de trouver le fichier %s: %s" #: libgeda/src/f_basic.c:269 #, c-format msgid "" "\n" "WARNING: Found an autosave backup file:\n" " %s.\n" "\n" msgstr "" "\n" "ATTENTION: Trouvé un fichier de sauvegarde automatique:\n" " %s.\n" "\n" #: libgeda/src/f_basic.c:271 msgid "I could not guess if it is newer, so you have to do it manually.\n" msgstr "" "Je n'arrive pas à deviner s'il est plus récent, vous devez le faire " "manuellement.\n" #: libgeda/src/f_basic.c:273 msgid "" "The backup copy is newer than the schematic, so it seems you should load it " "instead of the original file.\n" msgstr "" "La copie de sauvegarde est plus récente que le schéma, vous devriez la " "charge à la place du fichier originel.\n" #: libgeda/src/f_basic.c:275 msgid "" "Gschem usually makes backup copies automatically, and this situation happens " "when it crashed or it was forced to exit abruptly.\n" msgstr "" "Gschem effectue habituellement des sauvegardes automatiques et cette " "situation se produit lorsqu'il a crashé ou qu'il a été obligé de s'arrêter " "brutalement.\n" #: libgeda/src/f_basic.c:278 msgid "" "\n" "Run gschem and correct the situation.\n" "\n" msgstr "" "\n" "Lancez gschem et corrigez le problème.\n" "\n" #: libgeda/src/f_basic.c:374 #, c-format msgid "Can't get the real filename of %s: %s" msgstr "Impossible d'obtenir le nom réel de %s : %s" #: libgeda/src/f_basic.c:405 #, c-format msgid "Could NOT set previous backup file [%s] read-write\n" msgstr "" "Impossible de passer le fichier copie de sauvegarde [%s] en lecture/" "écriture\n" #: libgeda/src/f_basic.c:411 #, c-format msgid "Can't save backup file: %s." msgstr "Impossible de sauvegarder le fichier de sauvegarde: %s." #: libgeda/src/f_basic.c:421 #, c-format msgid "Could NOT set backup file [%s] readonly\n" msgstr "" "Impossible de passer le fichier copie de sauvegarde [%s] en lecture seule\n" #: libgeda/src/f_basic.c:480 #, c-format msgid "Could NOT save file: %s" msgstr "Impossible de sauvegarder le fichier : %s" #: libgeda/src/f_basic.c:727 #, c-format msgid "%s: %s" msgstr "%s: %s" #: libgeda/src/f_print.c:123 msgid "Unable to get time of day in f_print_header()\n" msgstr "Impossible d'avoir l'heure du jour dans f_print_header()\n" #: libgeda/src/f_print.c:165 #, c-format msgid "Unable to open the prolog file `%s' for reading in f_print_header()\n" msgstr "" "Impossible d'ouvrir le fichier prolog `%s' pour lire f_print_header()\n" #: libgeda/src/f_print.c:182 #, c-format msgid "Error during reading of the prolog file `%s' in f_print_header()\n" msgstr "" "Erreur pendant la lecture du fichier prolog `%s' avec f_print_header()\n" #: libgeda/src/f_print.c:188 msgid "" "Error during writing of the output postscript file in f_print_header()\n" msgstr "" "Erreur pendant l'écriture du fichier postscript de sortie dans " "f_print_header()\n" #: libgeda/src/f_print.c:202 msgid "Giving up on printing\n" msgstr "Abandon de l'impression\n" #: libgeda/src/f_print.c:375 #, c-format msgid "Could not open [%s] for printing\n" msgstr "Impossible d'ouvrir [%s] pour l'impression\n" #: libgeda/src/f_print.c:409 #, c-format msgid "Could not execute command [%s] for printing\n" msgstr "Impossible d'éxecuter la commande [%s] pour l'impression\n" #: libgeda/src/f_print.c:682 msgid "Too many UTF-8 characters, cannot print\n" msgstr "Trop de caractères UTF-8, impossible d'imprimer\n" #: libgeda/src/g_basic.c:264 msgid "" "\n" "Backtrace:\n" msgstr "" #: libgeda/src/g_rc.c:233 msgid "Config file already loaded" msgstr "Fichier de configuration déjà chargé" #: libgeda/src/g_rc.c:268 #, c-format msgid "Parsed config from [%s]\n" msgstr "Configuration interprétée à partir de [%s]\n" #: libgeda/src/g_rc.c:281 #, c-format msgid "Unable to parse config from [%s]: %s" msgstr "Impossible d'interpréter la configuration à partir de [%s] : %s" #: libgeda/src/g_rc.c:298 msgid "ERROR: An unknown error occurred while parsing configuration files." msgstr "" "ERREUR : Une erreur inconnue s'est produite lors de l'interprétation des " "fichiers de configuration." #: libgeda/src/g_rc.c:310 libgeda/src/g_rc.c:311 #, c-format msgid "ERROR: %s\n" msgstr "ERREUR : %s\n" #: libgeda/src/g_rc.c:317 #, c-format msgid "ERROR: The %s log may contain more information.\n" msgstr "ERREUR : Le fichier journal %s contient plus d'information.\n" #: libgeda/src/g_rc.c:978 msgid "" "WARNING: using a string for 'always-promote-attributes' is deprecated. Use a " "list of strings instead\n" msgstr "" "ATTENTION: l'utilisation d'une chaîne de caractères pour 'always-promote-" "attributes' est dépassé. Utilisez plutôt une liste de chaînes.\n" #: libgeda/src/o_arc_basic.c:256 libgeda/src/o_arc_basic.c:269 msgid "Failed to parse arc object" msgstr "" #: libgeda/src/o_arc_basic.c:276 #, c-format msgid "Found a zero radius arc [ %c %d, %d, %d, %d, %d, %d ]\n" msgstr "Trouvé un arc avec rayon nul [ %c %d, %d, %d, %d, %d, %d ]\n" #: libgeda/src/o_arc_basic.c:282 libgeda/src/o_box_basic.c:327 #: libgeda/src/o_bus_basic.c:182 libgeda/src/o_circle_basic.c:289 #: libgeda/src/o_line_basic.c:264 libgeda/src/o_net_basic.c:171 #: libgeda/src/o_path_basic.c:189 libgeda/src/o_pin_basic.c:183 #: libgeda/src/o_text_basic.c:425 #, c-format msgid "Found an invalid color [ %s ]\n" msgstr "Trouvé une couleur invalide [ %s ]\n" #: libgeda/src/o_arc_basic.c:283 libgeda/src/o_box_basic.c:328 #: libgeda/src/o_bus_basic.c:183 libgeda/src/o_circle_basic.c:290 #: libgeda/src/o_line_basic.c:265 libgeda/src/o_net_basic.c:172 #: libgeda/src/o_path_basic.c:190 libgeda/src/o_pin_basic.c:184 #: libgeda/src/o_text_basic.c:426 msgid "Setting color to default color\n" msgstr "Initialiser à la couleur par défaut\n" #: libgeda/src/o_attrib.c:123 msgid "Attempt to attach non text item as an attribute!\n" msgstr "Tentative d'attachement d'un objet non textuel comme attribut!\n" #: libgeda/src/o_attrib.c:128 #, c-format msgid "Attempt to attach attribute [%s] to more than one object\n" msgstr "Tentative d'attachement d'un attribut [%s] à plus d'un objet\n" #: libgeda/src/o_attrib.c:341 msgid "Tried to attach a non-text item as an attribute" msgstr "" #: libgeda/src/o_attrib.c:348 msgid "Unexpected end-of-file in attribute list" msgstr "Fin de fichier inattendue dans la liste des attributs" #: libgeda/src/o_basic.c:196 libgeda/src/o_basic.c:208 msgid "Invalid space specified, setting to 100\n" msgstr "Espace spécifié invalide, positionné à 100\n" #: libgeda/src/o_basic.c:204 msgid "Invalid length specified, setting to 100\n" msgstr "Longueur spécifiéé invalide, positionnée à 100\n" #: libgeda/src/o_box_basic.c:287 libgeda/src/o_box_basic.c:316 msgid "Failed to parse box object" msgstr "Erreur lors de l'interprétation d'un objet boîte" #: libgeda/src/o_box_basic.c:322 #, c-format msgid "Found a zero width/height box [ %c %d %d %d %d %d ]\n" msgstr "" "Trouvé une boîte avec une largeur/hauteur à zéro [ %c %d %d %d %d %d ]\n" #: libgeda/src/o_bus_basic.c:160 libgeda/src/o_bus_basic.c:167 msgid "Failed to parse bus object" msgstr "Erreur lors de l'interprétation d'un objet bus" #: libgeda/src/o_bus_basic.c:173 #, c-format msgid "Found a zero length bus [ %c %d %d %d %d %d ]\n" msgstr "Trouvé un bus de longueur nulle [ %c %d %d %d %d %d ]\n" #: libgeda/src/o_bus_basic.c:188 #, c-format msgid "Found an invalid bus ripper direction [ %s ]\n" msgstr "" #: libgeda/src/o_bus_basic.c:189 msgid "Resetting direction to neutral (no direction)\n" msgstr "Initialisation de la direction à neutre (pas de direction)\n" #: libgeda/src/o_circle_basic.c:193 msgid "Null radius circles are not allowed\n" msgstr "Les cercles de rayons nuls ne sont pas permis\n" #: libgeda/src/o_circle_basic.c:246 libgeda/src/o_circle_basic.c:275 msgid "Failed to parse circle object" msgstr "Erreur lors de l'interprétation d'un objet cercle" #: libgeda/src/o_circle_basic.c:282 #, c-format msgid "Found a zero or negative radius circle [ %c %d %d %d %d ]\n" msgstr "Trouvé un cercle de rayon à zéro ou négatif [ %c %d %d %d %d ]\n" #: libgeda/src/o_circle_basic.c:284 msgid "Setting radius to 0\n" msgstr "" #: libgeda/src/o_complex_basic.c:422 #, c-format msgid "" "Component not found:\n" " %s" msgstr "" "Composant non trouvé :\n" " %s" #: libgeda/src/o_complex_basic.c:654 msgid "Failed to parse complex object" msgstr "Erreur lors de l'interprétation d'un objet complexe" #: libgeda/src/o_complex_basic.c:667 #, c-format msgid "Found a component with an invalid rotation [ %c %d %d %d %d %d %s ]\n" msgstr "" "Trouvé un composant avec une mauvaise rotation [ %c %d %d %d %d %d %s ]\n" #: libgeda/src/o_complex_basic.c:668 libgeda/src/o_picture.c:105 #: libgeda/src/o_text_basic.c:397 msgid "Setting angle to 0\n" msgstr "Initialisé l'angle à 0\n" #: libgeda/src/o_complex_basic.c:680 #, c-format msgid "" "Found a component with an invalid mirror flag [ %c %d %d %d %d %d %s ]\n" msgstr "" "Trouvé un composant avec un marqueur de miroir invalide [ %c %d %d %d %d %d " "%s ]\n" #: libgeda/src/o_complex_basic.c:681 msgid "Setting mirror to 0\n" msgstr "" #: libgeda/src/o_complex_basic.c:994 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse symbol file symversion=%s\n" msgstr "" "ATTENTION: erreur du traitement de la version du Symbole sur refdes %s:\n" "\tImpossible de traiter la version du fichier de symbole symversion=%s\n" #: libgeda/src/o_complex_basic.c:998 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse symbol file symversion=\n" msgstr "" #: libgeda/src/o_complex_basic.c:1014 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse attached symversion=%s\n" msgstr "" "ATTENTION: erreur du traitement de la version du Symbole sur refdes %s:\n" "\tImpossible de traiter symversion=%s attaché\n" #: libgeda/src/o_complex_basic.c:1039 #, c-format msgid "" "WARNING: Symbol version oddity on refdes %s:\n" "\tsymversion=%s attached to instantiated symbol, but no symversion= inside " "symbol file\n" msgstr "" #: libgeda/src/o_complex_basic.c:1053 #, c-format msgid "" "WARNING: Symbol version mismatch on refdes %s (%s):\n" "\tSymbol in library is newer than instantiated symbol\n" msgstr "" #: libgeda/src/o_complex_basic.c:1081 #, c-format msgid "\tMAJOR VERSION CHANGE (file %.3f, instantiated %.3f, %s)!\n" msgstr "" "\tCHANGEMENT MAJEUR DE VERSION (fichier %.3f, instantiation %.3f, %s)!\n" #: libgeda/src/o_complex_basic.c:1099 #, c-format msgid "\tMinor version change (file %.3f, instantiated %.3f)\n" msgstr "\tChangement de version mineur (fichier %.3f, instantiation %.3f)\n" #: libgeda/src/o_complex_basic.c:1110 #, c-format msgid "" "WARNING: Symbol version oddity on refdes %s:\n" "\tInstantiated symbol is newer than symbol in library\n" msgstr "" #: libgeda/src/o_embed.c:58 #, c-format msgid "Component [%s] has been embedded\n" msgstr "Le composant [%s] a été embarqué\n" #: libgeda/src/o_embed.c:102 #, c-format msgid "" "Could not find component [%s], while trying to unembed. Component is still " "embedded\n" msgstr "" "Impossible de trouver le composant [%s] lors du détachement. Le composant " "est encore embarqué\n" #: libgeda/src/o_embed.c:110 #, c-format msgid "Component [%s] has been successfully unembedded\n" msgstr "Le composant [%s] a été détaché avec succès\n" #: libgeda/src/o_line_basic.c:229 libgeda/src/o_line_basic.c:247 msgid "Failed to parse line object" msgstr "" #: libgeda/src/o_line_basic.c:259 #, c-format msgid "Found a zero length line [ %c %d %d %d %d %d ]\n" msgstr "Trouvé une ligne à longueur nulle [ %c %d %d %d %d %d ]\n" #: libgeda/src/o_net_basic.c:156 msgid "Failed to parse net object" msgstr "" #: libgeda/src/o_net_basic.c:161 #, c-format msgid "Found a zero length net [ %c %d %d %d %d %d ]\n" msgstr "Trouvé un net à longueur nulle [ %c %d %d %d %d %d ]\n" #: libgeda/src/o_path_basic.c:181 msgid "Failed to parse path object" msgstr "" #: libgeda/src/o_path_basic.c:207 msgid "Unexpected end-of-file when reading path" msgstr "" #: libgeda/src/o_picture.c:72 msgid "Failed to parse picture definition" msgstr "" #: libgeda/src/o_picture.c:77 #, c-format msgid "Found a zero width/height picture [ %c %d %d %d %d ]\n" msgstr "Trouvé une image à largeur/hauteur nulle [ %c %d %d %d %d ]\n" #: libgeda/src/o_picture.c:82 #, c-format msgid "Found a picture with a wrong 'mirrored' parameter: %d.\n" msgstr "" #: libgeda/src/o_picture.c:84 msgid "Setting mirrored to 0\n" msgstr "Initilisation du miroir à 0\n" #: libgeda/src/o_picture.c:89 #, c-format msgid "Found a picture with a wrong 'embedded' parameter: %d.\n" msgstr "" #: libgeda/src/o_picture.c:91 msgid "Setting embedded to 0\n" msgstr "Positionne l'embarqué à 0\n" #: libgeda/src/o_picture.c:104 #, c-format msgid "Found an unsupported picture angle [ %d ]\n" msgstr "Trouvé un angle d'image non supporté [ %d ]\n" #: libgeda/src/o_picture.c:116 msgid "Found an image with no filename." msgstr "" #: libgeda/src/o_picture.c:147 #, c-format msgid "Failed to load image from embedded data [%s]: %s\n" msgstr "" "Échec du chargement de l'image depuis les données embarquées [%s]: %s\n" #: libgeda/src/o_picture.c:148 msgid "Base64 decoding failed." msgstr "Échec du décodage Base64." #: libgeda/src/o_picture.c:149 msgid "Falling back to file loading. Picture unembedded.\n" msgstr "Échec du chargement du fichier. Image enlevée.\n" #: libgeda/src/o_picture.c:208 msgid "ERROR: o_picture_save: unable to encode the picture.\n" msgstr "ERROR: o_picture_save: impossible d'encoder l'image.\n" #: libgeda/src/o_picture.c:308 #, c-format msgid "Failed to load buffer image [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:321 #, c-format msgid "Failed to load image from [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:427 #, c-format msgid "Picture %p has invalid angle %i\n" msgstr "" #: libgeda/src/o_picture.c:957 #, c-format msgid "Picture [%s] has no image data.\n" msgstr "" #: libgeda/src/o_picture.c:958 msgid "Falling back to file loading. Picture is still unembedded.\n" msgstr "" #: libgeda/src/o_picture.c:966 #, c-format msgid "Picture [%s] has been embedded\n" msgstr "L'image [%s] a été embarquée\n" #: libgeda/src/o_picture.c:990 #, c-format msgid "Failed to load image from file [%s]: %s\n" msgstr "Échec du chargement de l'image depuis le fichier [%s]: %s\n" #: libgeda/src/o_picture.c:992 msgid "Picture is still embedded.\n" msgstr "" #: libgeda/src/o_picture.c:1000 #, c-format msgid "Picture [%s] has been unembedded\n" msgstr "L'image [%s] a été débarquée\n" #: libgeda/src/o_picture.c:1236 #, c-format msgid "Failed to load fallback image %s: %s.\n" msgstr "" #: libgeda/src/o_pin_basic.c:160 libgeda/src/o_pin_basic.c:168 msgid "Failed to parse pin object" msgstr "" #: libgeda/src/o_pin_basic.c:174 msgid "" "Found a pin which did not have the whichone field set.\n" "Verify and correct manually.\n" msgstr "" #: libgeda/src/o_pin_basic.c:177 #, c-format msgid "Found an invalid whichend on a pin (reseting to zero): %d\n" msgstr "" #: libgeda/src/o_text_basic.c:356 libgeda/src/o_text_basic.c:366 #: libgeda/src/o_text_basic.c:376 msgid "Failed to parse text object" msgstr "" #: libgeda/src/o_text_basic.c:383 #, c-format msgid "Found a zero size text string [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" "Trouvé une chaîne de texte à longueur nulle [ %c %d %d %d %d %d %d %d %d ]\n" #: libgeda/src/o_text_basic.c:395 #, c-format msgid "Found an unsupported text angle [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "Trouvé un angle de texte non supporté [ %c %d %d %d %d %d %d %d %d ]\n" #: libgeda/src/o_text_basic.c:417 #, c-format msgid "Found an unsupported text alignment [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" "Trouvé un alignement de texte non supporté [ %c %d %d %d %d %d %d %d %d ]\n" #: libgeda/src/o_text_basic.c:419 msgid "Setting alignment to LOWER_LEFT\n" msgstr "Alignement positionné à LOWER_LEFT\n" #: libgeda/src/o_text_basic.c:440 #, c-format msgid "Unexpected end-of-file after %d lines" msgstr "" #: libgeda/src/s_clib.c:465 #, c-format msgid "Library command failed [%s]: %s\n" msgstr "Échec de la commande de bibliothèque [%s]: %s\n" #: libgeda/src/s_clib.c:470 #, c-format msgid "Library command failed [%s]: Uncaught signal %i.\n" msgstr "" #: libgeda/src/s_clib.c:474 #, c-format msgid "Library command failed [%s]\n" msgstr "Échec de la commande de bibliothèque [%s]\n" #: libgeda/src/s_clib.c:475 #, c-format msgid "" "Error output was:\n" "%s\n" msgstr "" "L'erreur de sortie était:\n" "%s\n" #: libgeda/src/s_clib.c:561 #, c-format msgid "Library name [%s] already in use. Using [%s].\n" msgstr "Le nom de bibliothèque [%s] est déjà utilisé. Utilisation de [%s].\n" #: libgeda/src/s_clib.c:598 #, c-format msgid "Failed to open directory [%s]: %s\n" msgstr "Échec de l'ouverture du répertoire [%s]: %s\n" #: libgeda/src/s_clib.c:734 #, c-format msgid "Failed to scan library [%s]: Scheme function returned non-list\n" msgstr "" #: libgeda/src/s_clib.c:742 #, c-format msgid "Non-string symbol name while scanning library [%s]\n" msgstr "" "Le nom de symbole n'est pas une chaîne de caractère lors du contrôle de la " "bibliothèque [%s]\n" #: libgeda/src/s_clib.c:901 libgeda/src/s_clib.c:948 msgid "Cannot add library: name not specified\n" msgstr "Impossible d'ajouter le bibliothèque: pas de nom spécifié\n" #: libgeda/src/s_clib.c:908 #, c-format msgid "" "Cannot add library [%s]: both 'list' and 'get' commands must be specified.\n" msgstr "" "Impossible d'ajouter la bibliothèque [%s]: les commandes 'list' et 'get' " "doivent être spécifiées.\n" #: libgeda/src/s_clib.c:956 #, c-format msgid "Cannot add Scheme-library [%s]: callbacks must be closures\n" msgstr "" #: libgeda/src/s_clib.c:1083 #, c-format msgid "Failed to load symbol from file [%s]: %s\n" msgstr "Échec lors du chargement du symbole depuis le fichier [%s]: %s\n" #: libgeda/src/s_clib.c:1143 #, c-format msgid "Failed to load symbol data [%s] from source [%s]\n" msgstr "" "Impossible de charger les données du symbole [%s] depuis la source [%s]\n" #: libgeda/src/s_clib.c:1385 #, c-format msgid "Component [%s] was not found in the component library\n" msgstr "" "Le composant [%s] n'a pas été trouvé dans la bibliothèque des composants\n" #: libgeda/src/s_clib.c:1391 #, c-format msgid "More than one component found with name [%s]\n" msgstr "Trouvé plus d'un composant avec le nom [%s]\n" #: libgeda/src/s_color.c:207 msgid "Color index out of range" msgstr "Index de couleur hors de la plage" #: libgeda/src/s_color.c:262 msgid "Color map entry must be a two-element list" msgstr "L'entrée de la carte de couleurs doit être une liste à deux entrées" #: libgeda/src/s_color.c:270 msgid "Index in color map entry must be an integer" msgstr "Le champ dans l'index de la carte couleur doit être un entier" #: libgeda/src/s_color.c:296 msgid "Value in color map entry must be #f or a string" msgstr "" "La valeur du champ dans la carte couleur doit être #f ou une chaîne de " "caractères" #: libgeda/src/s_hierarchy.c:94 #, c-format msgid "" "hierarchy loop detected while visiting page:\n" " \"%s\"\n" msgstr "" "Boucle hiérarchique détectée lors de la visite de la page:\n" " \"%s\"\n" #: libgeda/src/s_hierarchy.c:194 msgid "There are no schematics above the current one!\n" msgstr "Il n'y a pas de schéma au-dessus de celui-ci!\n" #: libgeda/src/s_hierarchy.c:274 #, c-format msgid "ERROR in s_hierarchy_traverse: schematic not found: %s\n" msgstr "ERREUR dans s_hierarchy_traverse: schéma non trouvé: %s\n" #: libgeda/src/s_page.c:213 #, c-format msgid "s_page_delete: Can't get the real filename of %s." msgstr "s_page_delete: Impossible d'avoir le nom de fichier réel de %s." #: libgeda/src/s_page.c:224 #, c-format msgid "s_page_delete: Unable to delete backup file %s." msgstr "s_page_delete: Impossible d'effacer le fichier de sauvegarde %s." #: libgeda/src/s_page.c:499 #, c-format msgid "Saved [%s]\n" msgstr "Sauvegarder [%s]\n" #: libgeda/src/s_page.c:505 #, c-format msgid "Could NOT save [%s]\n" msgstr "Impossible de sauvegarder [%s]\n" #: libgeda/src/s_slib.c:171 #, c-format msgid "Found [%s]\n" msgstr "Trouvé [%s]\n" #: libgeda/src/s_slib.c:181 #, c-format msgid "Could not find [%s] in any SourceLibrary\n" msgstr "Impossible de trouver [%s] dans aucune SourceLibrary\n" #: libgeda/src/s_slot.c:162 msgid "Did not find slotdef=#:#,#,#... attribute\n" msgstr "Impossible de trouver l'attribut slotdef=#:#,#,#...\n" #: libgeda/src/s_slot.c:168 msgid "Improper slotdef syntax: missing \":\".\n" msgstr "Syntaxe slotdef impropre: manque \":\".\n" #: libgeda/src/s_slot.c:183 msgid "Did not find proper slotdef=#:#,#,#... attribute\n" msgstr "Impossible de trouver l'attribut slotdef=#:#,#,#... correct\n" #: libgeda/src/s_slot.c:213 msgid "component missing pinseq= attribute\n" msgstr "manque l'attribut de composant pinseq=\n" #: libgeda/src/scheme_attrib.c:67 msgid "~A is not a valid attribute: invalid string '~A'." msgstr "" #: libgeda/src/scheme_attrib.c:172 msgid "Objects ~A and ~A are not part of the same page and/or complex object" msgstr "" #: libgeda/src/scheme_attrib.c:179 libgeda/src/scheme_attrib.c:184 msgid "Object ~A is already attached as an attribute" msgstr "" #: libgeda/src/scheme_attrib.c:233 msgid "Object ~A is attribute of wrong object" msgstr "" #: libgeda/src/scheme_complex.c:148 msgid "Invalid complex angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_complex.c:265 libgeda/src/scheme_page.c:249 msgid "Object ~A is already attached to something" msgstr "" #: libgeda/src/scheme_complex.c:325 msgid "Object ~A is attached to a different complex" msgstr "" #: libgeda/src/scheme_complex.c:332 msgid "Object ~A is attached to a page" msgstr "" #: libgeda/src/scheme_complex.c:339 libgeda/src/scheme_page.c:301 msgid "Object ~A is attached as an attribute" msgstr "" #: libgeda/src/scheme_complex.c:346 libgeda/src/scheme_page.c:308 msgid "Object ~A has attributes" msgstr "" #: libgeda/src/scheme_object.c:232 msgid "Object ~A has bad type '~A'" msgstr "" #: libgeda/src/scheme_object.c:346 msgid "Object ~A has invalid stroke cap style ~A" msgstr "" #: libgeda/src/scheme_object.c:359 msgid "Object ~A has invalid stroke dash style ~A" msgstr "" #: libgeda/src/scheme_object.c:423 msgid "Invalid stroke cap style ~A." msgstr "" #: libgeda/src/scheme_object.c:434 msgid "Invalid stroke dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:444 msgid "Missing dash length parameter for dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:454 msgid "Missing dot/dash space parameter for dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:516 msgid "Object ~A has invalid fill style ~A" msgstr "" #: libgeda/src/scheme_object.c:565 msgid "Invalid fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:573 msgid "Missing second space parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:582 msgid "Missing second angle parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:592 msgid "Missing stroke width parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:601 msgid "Missing space parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:610 msgid "Missing angle parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:909 msgid "Invalid pin type ~A, must be 'net or 'bus" msgstr "" #: libgeda/src/scheme_object.c:952 msgid "Object ~A has invalid pin type." msgstr "" #: libgeda/src/scheme_object.c:1347 msgid "Invalid text alignment ~A." msgstr "" #: libgeda/src/scheme_object.c:1363 msgid "Invalid text angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_object.c:1382 msgid "Invalid text name/value visibility ~A." msgstr "" #: libgeda/src/scheme_object.c:1457 msgid "Text object ~A has invalid text alignment ~A" msgstr "" #: libgeda/src/scheme_object.c:1466 msgid "Text object ~A has invalid visibility ~A" msgstr "" #: libgeda/src/scheme_object.c:1476 msgid "Text object ~A has invalid text attribute visibility ~A" msgstr "" #: libgeda/src/scheme_object.c:1517 msgid "Object ~A is not included in a page." msgstr "" #: libgeda/src/scheme_object.c:1670 msgid "Path object ~A has invalid element type ~A at index ~A" msgstr "" #: libgeda/src/scheme_object.c:1784 msgid "Invalid path element type ~A." msgstr "" #: libgeda/src/scheme_object.c:1957 msgid "Invalid picture angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_page.c:294 msgid "Object ~A is attached to a complex or different page" msgstr "" #: libgeda/src/scheme_page.c:442 msgid "Parse error: ~s" msgstr "" #: libgeda/scheme/geda/attrib.scm:59 #, scheme-format msgid "Object ~A is not part of a page" msgstr "" geda-gaf-1.8.2/libgeda/po/it.po0000664000175000017500000006174212220654173013075 00000000000000# Italian translation for geda # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-03-16 10:58+0000\n" "Last-Translator: simone.sandri \n" "Language-Team: gEDA developers \n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: libgeda/data/libgeda.xml.in:3 msgid "gEDA circuit schematic" msgstr "gEDA schema circuitale" #: libgeda/data/libgeda.xml.in:4 msgid "gEDA schematic symbol" msgstr "gEDA simbolo di circuito" #: libgeda/data/libgeda.xml.in:5 msgid "gEDA gsch2pcb project" msgstr "gEDA progetto gsch2pcb" #: libgeda/data/x-geda-gsch2pcb-project.desktop.in:3 msgid "gEDA Gsch2pcb Project" msgstr "gEDA Progetto Gsch2pcb" #: libgeda/data/x-geda-schematic.desktop.in:3 msgid "gEDA Circuit Schematic" msgstr "gEDA Schema Circuitale" #: libgeda/data/x-geda-symbol.desktop.in:3 msgid "gEDA Schematic Symbol" msgstr "gEDA Simbolo di Circuito" #: libgeda/src/a_basic.c:182 #, c-format msgid "o_save_objects: object %p has unknown type '%c'\n" msgstr "o_save_objects: l'oggetto %p ha il tipo sconosciuto '%c'\n" #: libgeda/src/a_basic.c:238 libgeda/src/f_basic.c:384 #, c-format msgid "File %s is read-only" msgstr "Il file %s è di sola lettura" #: libgeda/src/a_basic.c:423 #, c-format msgid "" "Read unexpected attach symbol start marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" #: libgeda/src/a_basic.c:440 #, c-format msgid "" "Read unexpected embedded symbol start marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" #: libgeda/src/a_basic.c:471 #, c-format msgid "" "Read unexpected embedded symbol end marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" #: libgeda/src/a_basic.c:506 #, c-format msgid "" "Read an old format sym/sch file!\n" "Please run g[sym|sch]update on:\n" "[%s]\n" msgstr "" "Lettura di un file sym/sch di formato precedente!\n" "Esegui g[sym|sch]update su:\n" "[%s]\n" #: libgeda/src/a_basic.c:512 #, c-format msgid "" "Read garbage in [%s] :\n" ">>\n" "%s<<\n" msgstr "" "Dati errati in [%s]:\n" ">>\n" "%s<<\n" #: libgeda/src/f_basic.c:123 libgeda/src/f_basic.c:136 #, c-format msgid "Failed to stat [%s]: %s" msgstr "Impossibile fare lo stat di [%s]: %s" #: libgeda/src/f_basic.c:221 #, c-format msgid "Cannot find file %s: %s" msgstr "Impossibile trovare il file %s: %s" #: libgeda/src/f_basic.c:269 #, c-format msgid "" "\n" "WARNING: Found an autosave backup file:\n" " %s.\n" "\n" msgstr "" "\n" "ATTENZIONE: Esiste un file di auto-salvataggio:\n" " %s.\n" "\n" #: libgeda/src/f_basic.c:271 msgid "I could not guess if it is newer, so you have to do it manually.\n" msgstr "Impossibile stabilire se è nuovo, quindi devi farlo manualmente.\n" #: libgeda/src/f_basic.c:273 msgid "" "The backup copy is newer than the schematic, so it seems you should load it " "instead of the original file.\n" msgstr "" "La copia di backup è più recente dello schema, quindi dovrebbe essere " "utilizzata al posto del file originale.\n" #: libgeda/src/f_basic.c:275 msgid "" "Gschem usually makes backup copies automatically, and this situation happens " "when it crashed or it was forced to exit abruptly.\n" msgstr "" "Gschem normalmente effettua copie di backup in automatico e questa " "situazione capita in caso di suoi errori gravi o quando viene interrotto " "forzatamente.\n" #: libgeda/src/f_basic.c:278 msgid "" "\n" "Run gschem and correct the situation.\n" "\n" msgstr "" "\n" "Esegui gschem e correggi la situazione.\n" "\n" #: libgeda/src/f_basic.c:374 #, c-format msgid "Can't get the real filename of %s: %s" msgstr "" #: libgeda/src/f_basic.c:405 #, c-format msgid "Could NOT set previous backup file [%s] read-write\n" msgstr "" "Non è possibile impostare il precedente file di ripristino [%s] in lettura-" "scrittura\n" #: libgeda/src/f_basic.c:411 #, c-format msgid "Can't save backup file: %s." msgstr "Impossibile salvare il file di backup: %s." #: libgeda/src/f_basic.c:421 #, c-format msgid "Could NOT set backup file [%s] readonly\n" msgstr "Impossibile impostare il file di backup [%s] in sola lettura.\n" #: libgeda/src/f_basic.c:480 #, c-format msgid "Could NOT save file: %s" msgstr "" #: libgeda/src/f_basic.c:727 #, c-format msgid "%s: %s" msgstr "%s: %s" #: libgeda/src/f_print.c:123 msgid "Unable to get time of day in f_print_header()\n" msgstr "Non riesco a ottenere l'ora del giorno in f_print_header()\n" #: libgeda/src/f_print.c:165 #, c-format msgid "Unable to open the prolog file `%s' for reading in f_print_header()\n" msgstr "" "Non riesco ad aprire il prolog file '%s' in lettura in f_print_header()\n" #: libgeda/src/f_print.c:182 #, c-format msgid "Error during reading of the prolog file `%s' in f_print_header()\n" msgstr "Errore durante la lettura del file prolog '%s' in f_print_header()\n" #: libgeda/src/f_print.c:188 msgid "" "Error during writing of the output postscript file in f_print_header()\n" msgstr "" "Errore durante la scrittura del file postscript di output in " "f_print_header()\n" #: libgeda/src/f_print.c:202 msgid "Giving up on printing\n" msgstr "Rinunciare alla stampa\n" #: libgeda/src/f_print.c:375 #, c-format msgid "Could not open [%s] for printing\n" msgstr "Impossibile aprire [%s] per la stampa\n" #: libgeda/src/f_print.c:409 #, c-format msgid "Could not execute command [%s] for printing\n" msgstr "Impossibile eseguire il comando [%s] per la stampa\n" #: libgeda/src/f_print.c:682 msgid "Too many UTF-8 characters, cannot print\n" msgstr "Troppi caratteri UTF-8, impossibile stampare\n" #: libgeda/src/g_basic.c:264 msgid "" "\n" "Backtrace:\n" msgstr "" #: libgeda/src/g_rc.c:233 msgid "Config file already loaded" msgstr "" #: libgeda/src/g_rc.c:268 #, c-format msgid "Parsed config from [%s]\n" msgstr "" #: libgeda/src/g_rc.c:281 #, c-format msgid "Unable to parse config from [%s]: %s" msgstr "" #: libgeda/src/g_rc.c:298 msgid "ERROR: An unknown error occurred while parsing configuration files." msgstr "" #: libgeda/src/g_rc.c:310 libgeda/src/g_rc.c:311 #, c-format msgid "ERROR: %s\n" msgstr "" #: libgeda/src/g_rc.c:317 #, c-format msgid "ERROR: The %s log may contain more information.\n" msgstr "" #: libgeda/src/g_rc.c:978 msgid "" "WARNING: using a string for 'always-promote-attributes' is deprecated. Use a " "list of strings instead\n" msgstr "" "ATTENZIONE: usare una stringa per 'always-promote-attributes' è " "sconsigliato. Si raccomanda di usare una lista di stringhe\n" #: libgeda/src/o_arc_basic.c:256 libgeda/src/o_arc_basic.c:269 msgid "Failed to parse arc object" msgstr "" #: libgeda/src/o_arc_basic.c:276 #, c-format msgid "Found a zero radius arc [ %c %d, %d, %d, %d, %d, %d ]\n" msgstr "Ho trovato un arco con raggio zero [ %c %d, %d, %d, %d, %d, %d ]\n" #: libgeda/src/o_arc_basic.c:282 libgeda/src/o_box_basic.c:327 #: libgeda/src/o_bus_basic.c:182 libgeda/src/o_circle_basic.c:289 #: libgeda/src/o_line_basic.c:264 libgeda/src/o_net_basic.c:171 #: libgeda/src/o_path_basic.c:189 libgeda/src/o_pin_basic.c:183 #: libgeda/src/o_text_basic.c:425 #, c-format msgid "Found an invalid color [ %s ]\n" msgstr "Trovato un colore non valido [%s]\n" #: libgeda/src/o_arc_basic.c:283 libgeda/src/o_box_basic.c:328 #: libgeda/src/o_bus_basic.c:183 libgeda/src/o_circle_basic.c:290 #: libgeda/src/o_line_basic.c:265 libgeda/src/o_net_basic.c:172 #: libgeda/src/o_path_basic.c:190 libgeda/src/o_pin_basic.c:184 #: libgeda/src/o_text_basic.c:426 msgid "Setting color to default color\n" msgstr "Imposto il colore al colore predefinito\n" #: libgeda/src/o_attrib.c:123 msgid "Attempt to attach non text item as an attribute!\n" msgstr "Tentativo di allegare un elemento non testuale come attributo!\n" #: libgeda/src/o_attrib.c:128 #, c-format msgid "Attempt to attach attribute [%s] to more than one object\n" msgstr "Tentativo di allegare l'attributo [%s] a più di un oggetto\n" #: libgeda/src/o_attrib.c:341 msgid "Tried to attach a non-text item as an attribute" msgstr "" #: libgeda/src/o_attrib.c:348 msgid "Unexpected end-of-file in attribute list" msgstr "" #: libgeda/src/o_basic.c:196 libgeda/src/o_basic.c:208 msgid "Invalid space specified, setting to 100\n" msgstr "Lo spazio indicato non è valido, imposto a 100\n" #: libgeda/src/o_basic.c:204 msgid "Invalid length specified, setting to 100\n" msgstr "Lunghezza specificata non valida, imposto a 100\n" #: libgeda/src/o_box_basic.c:287 libgeda/src/o_box_basic.c:316 msgid "Failed to parse box object" msgstr "" #: libgeda/src/o_box_basic.c:322 #, c-format msgid "Found a zero width/height box [ %c %d %d %d %d %d ]\n" msgstr "" "Ho trovato un riquadro con altezza/larghezza zero [ %c %d %d %d %d %d ]\n" #: libgeda/src/o_bus_basic.c:160 libgeda/src/o_bus_basic.c:167 msgid "Failed to parse bus object" msgstr "" #: libgeda/src/o_bus_basic.c:173 #, c-format msgid "Found a zero length bus [ %c %d %d %d %d %d ]\n" msgstr "Ho trovato un bus di lunghezza zero [ %c %d %d %d %d %d ]\n" #: libgeda/src/o_bus_basic.c:188 #, c-format msgid "Found an invalid bus ripper direction [ %s ]\n" msgstr "" #: libgeda/src/o_bus_basic.c:189 msgid "Resetting direction to neutral (no direction)\n" msgstr "Reimposto la direzione come neutra (nessuna direzione)\n" #: libgeda/src/o_circle_basic.c:193 msgid "Null radius circles are not allowed\n" msgstr "I cerchi di raggio nullo non sono permessi\n" #: libgeda/src/o_circle_basic.c:246 libgeda/src/o_circle_basic.c:275 msgid "Failed to parse circle object" msgstr "" #: libgeda/src/o_circle_basic.c:282 #, c-format msgid "Found a zero or negative radius circle [ %c %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_circle_basic.c:284 msgid "Setting radius to 0\n" msgstr "" #: libgeda/src/o_complex_basic.c:422 #, c-format msgid "" "Component not found:\n" " %s" msgstr "" "Componente non trovato:\n" " %s" #: libgeda/src/o_complex_basic.c:654 msgid "Failed to parse complex object" msgstr "" #: libgeda/src/o_complex_basic.c:667 #, c-format msgid "Found a component with an invalid rotation [ %c %d %d %d %d %d %s ]\n" msgstr "" "Ho trovato un componente con rotazione non valida [ %c %d %d %d %d %d %s ]\n" #: libgeda/src/o_complex_basic.c:668 libgeda/src/o_picture.c:105 #: libgeda/src/o_text_basic.c:397 msgid "Setting angle to 0\n" msgstr "imposto l'angolo a 0\n" #: libgeda/src/o_complex_basic.c:680 #, c-format msgid "" "Found a component with an invalid mirror flag [ %c %d %d %d %d %d %s ]\n" msgstr "" "Ho trovato un componente con un flag mirror non valido [ %c %d %d %d %d %d " "%s ]\n" #: libgeda/src/o_complex_basic.c:681 msgid "Setting mirror to 0\n" msgstr "" #: libgeda/src/o_complex_basic.c:994 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse symbol file symversion=%s\n" msgstr "" "ATTENZIONE: Errore nell'analisi della versione del simbolo in refdes %s:\n" "\tImpossibile analizzare il file di simbolo symversion=%s\n" #: libgeda/src/o_complex_basic.c:998 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse symbol file symversion=\n" msgstr "" "ATTENZIONE: Errore nell'analisi della versione del simbolo in refdes %s:\n" "\tImpossibile analizzare il file di simbolo symversion=\n" #: libgeda/src/o_complex_basic.c:1014 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse attached symversion=%s\n" msgstr "" "ATTENZIONE: Errore nell'analisi della versione del simbolo in refdes %s:\n" "\tImpossibile analizzare l'allegato symversion=%s\n" #: libgeda/src/o_complex_basic.c:1039 #, c-format msgid "" "WARNING: Symbol version oddity on refdes %s:\n" "\tsymversion=%s attached to instantiated symbol, but no symversion= inside " "symbol file\n" msgstr "" #: libgeda/src/o_complex_basic.c:1053 #, c-format msgid "" "WARNING: Symbol version mismatch on refdes %s (%s):\n" "\tSymbol in library is newer than instantiated symbol\n" msgstr "" #: libgeda/src/o_complex_basic.c:1081 #, c-format msgid "\tMAJOR VERSION CHANGE (file %.3f, instantiated %.3f, %s)!\n" msgstr "" #: libgeda/src/o_complex_basic.c:1099 #, c-format msgid "\tMinor version change (file %.3f, instantiated %.3f)\n" msgstr "" #: libgeda/src/o_complex_basic.c:1110 #, c-format msgid "" "WARNING: Symbol version oddity on refdes %s:\n" "\tInstantiated symbol is newer than symbol in library\n" msgstr "" #: libgeda/src/o_embed.c:58 #, c-format msgid "Component [%s] has been embedded\n" msgstr "Il componente [%s] è stato incorporato\n" #: libgeda/src/o_embed.c:102 #, c-format msgid "" "Could not find component [%s], while trying to unembed. Component is still " "embedded\n" msgstr "" "Impossibile trovare il componente [%s], durante la rimozione. Il component è " "ancora incorporato\n" #: libgeda/src/o_embed.c:110 #, c-format msgid "Component [%s] has been successfully unembedded\n" msgstr "Il componente [%s] è stato rimosso con successo\n" #: libgeda/src/o_line_basic.c:229 libgeda/src/o_line_basic.c:247 msgid "Failed to parse line object" msgstr "" #: libgeda/src/o_line_basic.c:259 #, c-format msgid "Found a zero length line [ %c %d %d %d %d %d ]\n" msgstr "Ho trovato una linea con lunghezza zero [ %c %d %d %d %d %d ]\n" #: libgeda/src/o_net_basic.c:156 msgid "Failed to parse net object" msgstr "" #: libgeda/src/o_net_basic.c:161 #, c-format msgid "Found a zero length net [ %c %d %d %d %d %d ]\n" msgstr "Ho trovato una rete con lunghezza zero [ %c %d %d %d %d %d ]\n" #: libgeda/src/o_path_basic.c:181 msgid "Failed to parse path object" msgstr "" #: libgeda/src/o_path_basic.c:207 msgid "Unexpected end-of-file when reading path" msgstr "" #: libgeda/src/o_picture.c:72 msgid "Failed to parse picture definition" msgstr "" #: libgeda/src/o_picture.c:77 #, c-format msgid "Found a zero width/height picture [ %c %d %d %d %d ]\n" msgstr "Ho trovato un'immagine con larghezza/altezza zero [ %c %d %d %d %d ]\n" #: libgeda/src/o_picture.c:82 #, c-format msgid "Found a picture with a wrong 'mirrored' parameter: %d.\n" msgstr "" #: libgeda/src/o_picture.c:84 msgid "Setting mirrored to 0\n" msgstr "Imposto mirrored a 0\n" #: libgeda/src/o_picture.c:89 #, c-format msgid "Found a picture with a wrong 'embedded' parameter: %d.\n" msgstr "" #: libgeda/src/o_picture.c:91 msgid "Setting embedded to 0\n" msgstr "" #: libgeda/src/o_picture.c:104 #, c-format msgid "Found an unsupported picture angle [ %d ]\n" msgstr "Ho trovato un angolo di immagine non supportato [ %d ]\n" #: libgeda/src/o_picture.c:116 msgid "Found an image with no filename." msgstr "" #: libgeda/src/o_picture.c:147 #, c-format msgid "Failed to load image from embedded data [%s]: %s\n" msgstr "Impossibile caricare l'immagine dai dati incorporati [%s]: %s\n" #: libgeda/src/o_picture.c:148 msgid "Base64 decoding failed." msgstr "Decodifica Base64 fallita." #: libgeda/src/o_picture.c:149 msgid "Falling back to file loading. Picture unembedded.\n" msgstr "Ritorno al caricamento del file. Immagine non incorporata.\n" #: libgeda/src/o_picture.c:208 msgid "ERROR: o_picture_save: unable to encode the picture.\n" msgstr "ERRORE: o_picture_save: impossibile codificare l'immagine.\n" #: libgeda/src/o_picture.c:308 #, c-format msgid "Failed to load buffer image [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:321 #, c-format msgid "Failed to load image from [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:427 #, c-format msgid "Picture %p has invalid angle %i\n" msgstr "" #: libgeda/src/o_picture.c:957 #, c-format msgid "Picture [%s] has no image data.\n" msgstr "" #: libgeda/src/o_picture.c:958 msgid "Falling back to file loading. Picture is still unembedded.\n" msgstr "" #: libgeda/src/o_picture.c:966 #, c-format msgid "Picture [%s] has been embedded\n" msgstr "L'immagine [%s] è stata incorporata\n" #: libgeda/src/o_picture.c:990 #, c-format msgid "Failed to load image from file [%s]: %s\n" msgstr "Impossibile caricare l'immagine dal file [%s]: %s\n" #: libgeda/src/o_picture.c:992 msgid "Picture is still embedded.\n" msgstr "" #: libgeda/src/o_picture.c:1000 #, c-format msgid "Picture [%s] has been unembedded\n" msgstr "L'immagine [%s] è stata rimossa\n" #: libgeda/src/o_picture.c:1236 #, c-format msgid "Failed to load fallback image %s: %s.\n" msgstr "" #: libgeda/src/o_pin_basic.c:160 libgeda/src/o_pin_basic.c:168 msgid "Failed to parse pin object" msgstr "" #: libgeda/src/o_pin_basic.c:174 msgid "" "Found a pin which did not have the whichone field set.\n" "Verify and correct manually.\n" msgstr "" #: libgeda/src/o_pin_basic.c:177 #, c-format msgid "Found an invalid whichend on a pin (reseting to zero): %d\n" msgstr "" #: libgeda/src/o_text_basic.c:356 libgeda/src/o_text_basic.c:366 #: libgeda/src/o_text_basic.c:376 msgid "Failed to parse text object" msgstr "" #: libgeda/src/o_text_basic.c:383 #, c-format msgid "Found a zero size text string [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" "Ho trovato una stringa di testo di dimensione zero [ %c %d %d %d %d %d %d %d " "%d ]\n" #: libgeda/src/o_text_basic.c:395 #, c-format msgid "Found an unsupported text angle [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" "Ho trovato un angolo di testo non supportato [ %c %d %d %d %d %d %d %d %d ]\n" #: libgeda/src/o_text_basic.c:417 #, c-format msgid "Found an unsupported text alignment [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" "Ho trovato un allineamento del testo non supportato [ %c %d %d %d %d %d %d " "%d %d ]\n" #: libgeda/src/o_text_basic.c:419 msgid "Setting alignment to LOWER_LEFT\n" msgstr "Imposto l'allineamento a LOWER_LEFT\n" #: libgeda/src/o_text_basic.c:440 #, c-format msgid "Unexpected end-of-file after %d lines" msgstr "" #: libgeda/src/s_clib.c:465 #, c-format msgid "Library command failed [%s]: %s\n" msgstr "" #: libgeda/src/s_clib.c:470 #, c-format msgid "Library command failed [%s]: Uncaught signal %i.\n" msgstr "" #: libgeda/src/s_clib.c:474 #, c-format msgid "Library command failed [%s]\n" msgstr "" #: libgeda/src/s_clib.c:475 #, c-format msgid "" "Error output was:\n" "%s\n" msgstr "" #: libgeda/src/s_clib.c:561 #, c-format msgid "Library name [%s] already in use. Using [%s].\n" msgstr "Il nome di libreria [%s] è già in uso. Utilizzo [%s].\n" #: libgeda/src/s_clib.c:598 #, c-format msgid "Failed to open directory [%s]: %s\n" msgstr "Impossibile aprire la directory [%s]: %s\n" #: libgeda/src/s_clib.c:734 #, c-format msgid "Failed to scan library [%s]: Scheme function returned non-list\n" msgstr "" #: libgeda/src/s_clib.c:742 #, c-format msgid "Non-string symbol name while scanning library [%s]\n" msgstr "" #: libgeda/src/s_clib.c:901 libgeda/src/s_clib.c:948 msgid "Cannot add library: name not specified\n" msgstr "Impossibile caricare la libreria: nome non specificato\n" #: libgeda/src/s_clib.c:908 #, c-format msgid "" "Cannot add library [%s]: both 'list' and 'get' commands must be specified.\n" msgstr "" #: libgeda/src/s_clib.c:956 #, c-format msgid "Cannot add Scheme-library [%s]: callbacks must be closures\n" msgstr "" #: libgeda/src/s_clib.c:1083 #, c-format msgid "Failed to load symbol from file [%s]: %s\n" msgstr "" #: libgeda/src/s_clib.c:1143 #, c-format msgid "Failed to load symbol data [%s] from source [%s]\n" msgstr "" #: libgeda/src/s_clib.c:1385 #, c-format msgid "Component [%s] was not found in the component library\n" msgstr "Impossibile trovare il componente [%s] nella libreria componenti\n" #: libgeda/src/s_clib.c:1391 #, c-format msgid "More than one component found with name [%s]\n" msgstr "Ho trovato più di un componente con il nome [%s]\n" #: libgeda/src/s_color.c:207 msgid "Color index out of range" msgstr "Indice colore fuori scala" #: libgeda/src/s_color.c:262 msgid "Color map entry must be a two-element list" msgstr "" #: libgeda/src/s_color.c:270 msgid "Index in color map entry must be an integer" msgstr "L'indice nella voce di mappa colore deve essere un intero" #: libgeda/src/s_color.c:296 msgid "Value in color map entry must be #f or a string" msgstr "Il valore nella voce di mappa colore deve essere #f o una stringa" #: libgeda/src/s_hierarchy.c:94 #, c-format msgid "" "hierarchy loop detected while visiting page:\n" " \"%s\"\n" msgstr "" #: libgeda/src/s_hierarchy.c:194 msgid "There are no schematics above the current one!\n" msgstr "Non ci sono schemi sopra a questo!\n" #: libgeda/src/s_hierarchy.c:274 #, c-format msgid "ERROR in s_hierarchy_traverse: schematic not found: %s\n" msgstr "" #: libgeda/src/s_page.c:213 #, c-format msgid "s_page_delete: Can't get the real filename of %s." msgstr "" #: libgeda/src/s_page.c:224 #, c-format msgid "s_page_delete: Unable to delete backup file %s." msgstr "" #: libgeda/src/s_page.c:499 #, c-format msgid "Saved [%s]\n" msgstr "" #: libgeda/src/s_page.c:505 #, c-format msgid "Could NOT save [%s]\n" msgstr "" #: libgeda/src/s_slib.c:171 #, c-format msgid "Found [%s]\n" msgstr "" #: libgeda/src/s_slib.c:181 #, c-format msgid "Could not find [%s] in any SourceLibrary\n" msgstr "" #: libgeda/src/s_slot.c:162 msgid "Did not find slotdef=#:#,#,#... attribute\n" msgstr "" #: libgeda/src/s_slot.c:168 msgid "Improper slotdef syntax: missing \":\".\n" msgstr "" #: libgeda/src/s_slot.c:183 msgid "Did not find proper slotdef=#:#,#,#... attribute\n" msgstr "" #: libgeda/src/s_slot.c:213 msgid "component missing pinseq= attribute\n" msgstr "" #: libgeda/src/scheme_attrib.c:67 msgid "~A is not a valid attribute: invalid string '~A'." msgstr "" #: libgeda/src/scheme_attrib.c:172 msgid "Objects ~A and ~A are not part of the same page and/or complex object" msgstr "" #: libgeda/src/scheme_attrib.c:179 libgeda/src/scheme_attrib.c:184 msgid "Object ~A is already attached as an attribute" msgstr "" #: libgeda/src/scheme_attrib.c:233 msgid "Object ~A is attribute of wrong object" msgstr "" #: libgeda/src/scheme_complex.c:148 msgid "Invalid complex angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_complex.c:265 libgeda/src/scheme_page.c:249 msgid "Object ~A is already attached to something" msgstr "" #: libgeda/src/scheme_complex.c:325 msgid "Object ~A is attached to a different complex" msgstr "" #: libgeda/src/scheme_complex.c:332 msgid "Object ~A is attached to a page" msgstr "" #: libgeda/src/scheme_complex.c:339 libgeda/src/scheme_page.c:301 msgid "Object ~A is attached as an attribute" msgstr "" #: libgeda/src/scheme_complex.c:346 libgeda/src/scheme_page.c:308 msgid "Object ~A has attributes" msgstr "" #: libgeda/src/scheme_object.c:232 msgid "Object ~A has bad type '~A'" msgstr "" #: libgeda/src/scheme_object.c:346 msgid "Object ~A has invalid stroke cap style ~A" msgstr "" #: libgeda/src/scheme_object.c:359 msgid "Object ~A has invalid stroke dash style ~A" msgstr "" #: libgeda/src/scheme_object.c:423 msgid "Invalid stroke cap style ~A." msgstr "" #: libgeda/src/scheme_object.c:434 msgid "Invalid stroke dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:444 msgid "Missing dash length parameter for dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:454 msgid "Missing dot/dash space parameter for dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:516 msgid "Object ~A has invalid fill style ~A" msgstr "" #: libgeda/src/scheme_object.c:565 msgid "Invalid fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:573 msgid "Missing second space parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:582 msgid "Missing second angle parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:592 msgid "Missing stroke width parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:601 msgid "Missing space parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:610 msgid "Missing angle parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:909 msgid "Invalid pin type ~A, must be 'net or 'bus" msgstr "" #: libgeda/src/scheme_object.c:952 msgid "Object ~A has invalid pin type." msgstr "" #: libgeda/src/scheme_object.c:1347 msgid "Invalid text alignment ~A." msgstr "" #: libgeda/src/scheme_object.c:1363 msgid "Invalid text angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_object.c:1382 msgid "Invalid text name/value visibility ~A." msgstr "" #: libgeda/src/scheme_object.c:1457 msgid "Text object ~A has invalid text alignment ~A" msgstr "" #: libgeda/src/scheme_object.c:1466 msgid "Text object ~A has invalid visibility ~A" msgstr "" #: libgeda/src/scheme_object.c:1476 msgid "Text object ~A has invalid text attribute visibility ~A" msgstr "" #: libgeda/src/scheme_object.c:1517 msgid "Object ~A is not included in a page." msgstr "" #: libgeda/src/scheme_object.c:1670 msgid "Path object ~A has invalid element type ~A at index ~A" msgstr "" #: libgeda/src/scheme_object.c:1784 msgid "Invalid path element type ~A." msgstr "" #: libgeda/src/scheme_object.c:1957 msgid "Invalid picture angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_page.c:294 msgid "Object ~A is attached to a complex or different page" msgstr "" #: libgeda/src/scheme_page.c:442 msgid "Parse error: ~s" msgstr "" #: libgeda/scheme/geda/attrib.scm:59 #, scheme-format msgid "Object ~A is not part of a page" msgstr "" geda-gaf-1.8.2/libgeda/po/tr.gmo0000664000175000017500000000540712220655642013250 00000000000000( 02c|(,! C(?lA(/4 djp(0F0\287k;3+B"nHE- 8N ) 0  ] /Q     /       Run gschem and correct the situation. WARNING: Found an autosave backup file: %s. Component not found: %sCould NOT save [%s] Could NOT set backup file [%s] readonly Could not execute command [%s] for printing Could not open [%s] for printing Found an invalid color [ %s ] Found an unsupported text alignment [ %c %d %d %d %d %d %d %d %d ] Found an unsupported text angle [ %c %d %d %d %d %d %d %d %d ] I could not guess if it is newer, so you have to do it manually. Invalid space specified, setting to 100 Library command failed [%s] Library name [%s] already in use. Using [%s]. Saved [%s] The backup copy is newer than the schematic, so it seems you should load it instead of the original file. Too many UTF-8 characters, cannot print gEDA Gsch2pcb ProjectgEDA Schematic SymbolgEDA gsch2pcb projectgEDA schematic symbolo_save_objects: object %p has unknown type '%c' Project-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-01-31 12:11+0000 Last-Translator: Peter TB Brett Language-Team: gEDA developers Language: tr MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) gschem'i çalıştırın ve bu durumu düzeltin UYARI: Otomatik kayıt yedek dosyası bulundu: %s. bileşen bulanamadı: %s[%s] kaydedilemedi. sadece okunabilir [%s] yedekleme dosyası oluşturulamadı yazdırmak için [%s] komutu çalıştırılamadı [%s] yazdırma işlemi için açılamıyor Geçersiz bir renk bulundu [ %s ] Desteklenmeyen yazı hizlanması bulundu [ %c %d %d %d %d %d %d %d %d ] Desteklenmeyen yazı açısı bulundu [ %c %d %d %d %d %d %d %d %d ] Yeniyse tahmin edemiyorum, bunu elle yapın. Geçersiz alan(boşluk) tanımlandı.100'e ayarlanıyor Kütüphane komutu başarısız [%s]
    Kütüphane adı [%s] zaten kullanımda. [%s]. [%s] kaydedildi Yedek kopyası şematikten yeni bu nedenle asıl dosya yerine onu yükleyeceğiz gözküyor. çok fazla UTF-8 karakteri var, yazdırılamaz gEDA Gsch2pcb ProjesigEDA şematik sembolgEDA gsch2pcb projesigEDA şematik sembolo_save_objects: %p nesnesi bilinmeyen tip '%c' geda-gaf-1.8.2/libgeda/po/domain.mak.in0000664000175000017500000000025412207374140014454 00000000000000# -*-GNUmakefile-*- # This is a workaround for buggy logic in the gettext m4 files. DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ geda-gaf-1.8.2/libgeda/po/pt.gmo0000664000175000017500000003426212220654231013240 00000000000000jl : 5L ( 0  9 1 O g ; K ' 3 K *d ! 0 6  2 (G 3p , ) T !P 7r 5 A G"j1(1) "7?Z2 GD9T~./.26a=45 -Ao:*C?8xA+R)~( 1/A-q3$!F:=?. N Z{j/H(x.D/iEbZ[]Me(>Tk401//_J@I)E7 89 r 8 a i-!C!-! ">("g")"A"" #N2#Z#;#>$aW$.$:$<#%C`%L%%@&7I&A&;&#&V#'z'?''Y'R=(f(A(C9)H})C)H *>S*E*S*(,+LU+C+U+S<,,,O9-:-7-3-"0.&S.=z.2.1.e/,///^/"C0Jf0N051612E1x1!1 11v11g28232P3HW33t"44y45{5}*6o6717H7a7z77>767L 8Dm852j^',=  WL$Y40Ti O Sb#f_"A6 h73+&`g1.XIE9a*JF;8VKeGU<! H>-[NB]Z)D(M%/Qd:@\RcC?P MAJOR VERSION CHANGE (file %.3f, instantiated %.3f, %s)! Minor version change (file %.3f, instantiated %.3f) Run gschem and correct the situation. WARNING: Found an autosave backup file: %s. %s: %sAttempt to attach attribute [%s] to more than one object Attempt to attach non text item as an attribute! Base64 decoding failed.Can't save backup file: %s.Cannot add Scheme-library [%s]: callbacks must be closures Cannot add library [%s]: both 'list' and 'get' commands must be specified. Cannot add library: name not specified Cannot find file %s: %sColor index out of rangeColor map entry must be a two-element listComponent [%s] has been embedded Component [%s] has been successfully unembedded Component [%s] was not found in the component library Component not found: %sCould NOT save [%s] Could NOT set backup file [%s] readonly Could NOT set previous backup file [%s] read-write Could not execute command [%s] for printing Could not find [%s] in any SourceLibrary Could not find component [%s], while trying to unembed. Component is still embedded Could not open [%s] for printing ERROR in s_hierarchy_traverse: schematic not found: %s ERROR: o_picture_save: unable to encode the picture. Error during reading of the prolog file `%s' in f_print_header() Error during writing of the output postscript file in f_print_header() Error output was: %s Failed to load image from embedded data [%s]: %s Failed to load image from file [%s]: %s Failed to load symbol data [%s] from source [%s] Failed to load symbol from file [%s]: %s Failed to open directory [%s]: %s Failed to scan library [%s]: Scheme function returned non-list Failed to stat [%s]: %sFalling back to file loading. Picture unembedded. Found [%s] Found a component with an invalid mirror flag [ %c %d %d %d %d %d %s ] Found a component with an invalid rotation [ %c %d %d %d %d %d %s ] Found a pin which did not have the whichone field set. Verify and correct manually. Found a zero length bus [ %c %d %d %d %d %d ] Found a zero length line [ %c %d %d %d %d %d ] Found a zero length net [ %c %d %d %d %d %d ] Found a zero radius arc [ %c %d, %d, %d, %d, %d, %d ] Found a zero size text string [ %c %d %d %d %d %d %d %d %d ] Found a zero width/height box [ %c %d %d %d %d %d ] Found a zero width/height picture [ %c %d %d %d %d ] Found an invalid bus ripper direction [ %s ] Found an invalid color [ %s ] Found an invalid whichend on a pin (reseting to zero): %d Found an unsupported picture angle [ %d ] Found an unsupported text alignment [ %c %d %d %d %d %d %d %d %d ] Found an unsupported text angle [ %c %d %d %d %d %d %d %d %d ] Giving up on printing Gschem usually makes backup copies automatically, and this situation happens when it crashed or it was forced to exit abruptly. I could not guess if it is newer, so you have to do it manually. Index in color map entry must be an integerInvalid length specified, setting to 100 Invalid space specified, setting to 100 Library command failed [%s] Library command failed [%s]: %s Library command failed [%s]: Uncaught signal %i. Library name [%s] already in use. Using [%s]. More than one component found with name [%s] Non-string symbol name while scanning library [%s] Null radius circles are not allowed Picture [%s] has been embedded Picture [%s] has been unembedded Read an old format sym/sch file! Please run g[sym|sch]update on: [%s] Read garbage in [%s] : >> %s<< Read unexpected embedded symbol end marker in [%s] : >> %s<< Read unexpected embedded symbol start marker in [%s] : >> %s<< Resetting direction to neutral (no direction) Saved [%s] Setting alignment to LOWER_LEFT Setting angle to 0 Setting color to default color Setting embedded to 0 Setting mirrored to 0 The backup copy is newer than the schematic, so it seems you should load it instead of the original file. There are no schematics above the current one! Too many UTF-8 characters, cannot print Unable to get time of day in f_print_header() Unable to open the prolog file `%s' for reading in f_print_header() Value in color map entry must be #f or a stringWARNING: Symbol version mismatch on refdes %s (%s): Symbol in library is newer than instantiated symbol WARNING: Symbol version oddity on refdes %s: Instantiated symbol is newer than symbol in library WARNING: Symbol version oddity on refdes %s: symversion=%s attached to instantiated symbol, but no symversion= inside symbol file WARNING: Symbol version parse error on refdes %s: Could not parse attached symversion=%s WARNING: Symbol version parse error on refdes %s: Could not parse symbol file symversion= WARNING: Symbol version parse error on refdes %s: Could not parse symbol file symversion=%s WARNING: using a string for 'always-promote-attributes' is deprecated. Use a list of strings instead gEDA Circuit SchematicgEDA Gsch2pcb ProjectgEDA Schematic SymbolgEDA circuit schematicgEDA gsch2pcb projectgEDA schematic symbolhierarchy loop detected while visiting page: "%s" o_save_objects: object %p has unknown type '%c' s_page_delete: Can't get the real filename of %s.s_page_delete: Unable to delete backup file %s.Project-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-01-27 14:12+0000 Last-Translator: FULL NAME Language-Team: Portuguese Language: pt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) ALTERAÇÃO DE VERSÃO IMPORTANTE (ficheiro %.3f, instanciado %.3f, %s)! Alteração de versão menor (ficheiro %.3f, instanciado %.3f) Execute gschem e corrija a situação. AVISO: Foi encontrado um ficheiro de salvaguarda automatica: %s. %s: %sTentativa de anexar atributo [%s] a mais de um objecto Tentativa de anexar item não textual como um atributo! Descodificação Base64 falhou.Não é possível guardar o ficheiro de salvaguarda: %s.Não é possível adicionar biblioteca Scheme [%s]: rotinas de chamada devem ser de encerramento Não é possível adicionar biblioteca [%s]: ambos os comandos 'list' e 'get' têm de ser especificados. Não é possível adicionar biblioteca: nome não foi especificado Não é possível encontrar o ficheiro %s: %sÍndice de cor fora do alcanceEntrada do mapa de cor tem de ser uma lista de dois elementosComponente [%s] foi embutido Componente [%s] foi retirado com sucesso Componente [%s] não foi encontrado na biblioteca de componentes Componente não encontrado: %sNÃO foi possível guardar [%s] Não foi possível definir o ficheiro de salvaguarda [%s] apenas como leitura NÃO foi possível definir o ficheiro de salvaguarda anterior [%s] como leitura e escrita Não foi possível executar o comando [%s] para impressão Não foi possível encontrar [%s] em nenhuma biblioteca fonte Não foi possível encontrar o componente [%s], ao tentar retirar. Componente permanece embutido Não foi possível abrir [%s] para impressão ERRO em s_hierarchy_traverse: esquema não encontrado: %s ERRO: o_picture_save: não é possível codificar a imagem. Erro durante a leitura do ficheiro prolog `%s' em f_print_header() Erro durante a escrita do ficheiro de saída postscript em f_print_header() Erro de saida foi: %s Falha ao carregar a imagem a partir dos dados embutidos [%s]:%s Falha ao carregar imagem a partir do ficheiro [%s]: %s Falhou ao carregar dados do símbolo [%s] a partir da fonte [%s] Falhou ao carregar símbolo a partir do ficheiro [%s]: %s Falha ao abrir directoria [%s]: %s Falha ao verificar biblioteca [%s]: Função 'scheme' devolveu algo que não é lista Falhou em stat [%s]: %sA recuar ao modo de carregamento de ficheiro. Imagem removida. Encontrado [%s] Foi encontrado um componente com atributo de simetria inválido [ %c %d %d %d %d %d %s ] Foi encontrado um componente com uma rotação inválida [ %c %d %d %d %d %d %s ] Foi encontrado um pino que não tinha o campo 'whichone' atribuído. Verifique e corrija manualmente. Encontrado barramento com comprimento zero [ %c %d %d %d %d %d ] Foi encontrada uma linha de comprimento zero [ %c %d %d %d %d %d ] Foi encontrada uma ligação com comprimento zero [ %c %d %d %d %d %d ] Foi encontrado um arco com raio zero [ %c %d, %d, %d, %d, %d, %d ] Foi encontrada uma faixa de tamanho zero [ %c %d %d %d %d %d %d %d %d ] Encontrada caixa de largura/altura zero [ %c %d %d %d %d %d ] Foi encontrada uma imagem com largura/altura zero [ %c %d %d %d %d ] Encontrado um símbolo de extracção de barramento com direcção invalida [ %s ] Foi encontrada uma cor inválida [ %s ] Foi encontrado campo invalido 'whichend' num pino (alterando para zero): %d Foi encontrado um valor não suportado para ângulo de imagem [%d] Foi encontrado um alinhamento de texto não suportado [ %c %d %d %d %d %d %d %d %d ] Foi encontrado um ângulo para texto não suportado [ %c %d %d %d %d %d %d %d %d ] A desistir da impressão Gschem normalmente faz cópias de salvaguarda automaticamente, e esta situação acontece quando encrava ou foi forçado a sair abruptamente. Não pude adivinhar se é mais recente, por isso terá de o fazer manualmente. Índice no na entrada do mapa de cor tem de ser um inteiroEspecificado comprimento inválido, definindo para 100 Especificado espaço inválido, definindo para 100 Comando de biblioteca falhou [%s] Comando de biblioteca falhou [%s]: %s Comando de biblioteca falhou [%s]: Sinal não alcançado %i. Nome de biblioteca [%s] já em uso. A usar [%s]. Mais de um componente encontrado com o nome [%s] Nome de símbolo que não é faixa de caracteres encontrado enquanto se verificava a biblioteca [%s] Círculos de raio nulo não são permitidos Imagem [%s] foi embutida Imagem [%s] foi removida Leitura de um ficheiro sym/sch de formato antigo! Por favor execute g[sym|sch]update em: [%s] Leitura de lixo em [%s] : >> %s<< Leitura de símbolo embutido inesperado marcador de fim em [%s] : >> %s<< Leitura de símbolo embutido inesperado marcador de início em [%s] : >> %s<< Alterando a direcção para neutral (sem direcção) Guardado [%s] A definir alinhamento para 'em baixo à esquerda' Definindo ângulo para 0 Definindo a cor para cor padrão Definindo valor embutido para 0 Defenindo simetria para 0 A cópia de salvaguarda é mais recente que o esquema, parece então que deverá abri-la em vez do ficheiro original. Não existem esquemas acima do esquema presente! Demasiados caracteres UTF-8, não é possível imprimir Não é possível obter a hora em f_print_header() Não é possível abrir o ficheiro prolog `%s' para leitura em f_print_header() Valor na entrada do mapa de cor tem de ser #f ou uma faixa de caracteresAVISO: Versão de símbolo não coincidente em refdes %s (%s): Simbolo na biblioteca é mais recente que o símbolo instanciado AVISO: Versão de símbolo estranha em refdes %s: Simbolo instanciado é mais recente que o símbolo na biblioteca AVISO: Versão de símbolo estranha em refdes %s: symversion=%s anexado ao símbolo instanciado, mas não existe symversion= dentro do ficheiro de simbolo AVISO: Erro na procura da versão do símbolo em refdes %s: Não foi possível verificar ficheiro anexado symversion=%s AVISO: Erro na procura da versão do símbolo em refdes %s: Não foi possível verificar ficheiro de símbolo symversion= AVISO: Erro na procura da versão do símbolo em refdes %s: Não foi possível verificar ficheiro de símbolo symversion=%s AVISO: usar uma faixa para 'always-promote-attributes' esta ultrapassado. Use uma lista de faixas em seu lugar Esquema de circuito gEDAProjecto gEDA Gsch2pcbSímbolo de Esquema gEDAesquema de circuito gEDAprojecto gEDA gsch2pcbsímbolo de esquema gEDACiclo hierárquico detectado enquanto visitava pagina: "%s" o_save_objects: objecto %p tem tipo desconhecido '%c' s_page_delete: Não foi possível obter o nome de ficheiro verdadeiro de %s.s_page_delete: Não foi possível apagar ficheiro de salvaguarda %s.geda-gaf-1.8.2/libgeda/po/boldquot.sed0000644000175000017500000000033112210331571014421 00000000000000s/"\([^"]*\)"/“\1”/g s/`\([^`']*\)'/‘\1’/g s/ '\([^`']*\)' / ‘\1’ /g s/ '\([^`']*\)'$/ ‘\1’/g s/^'\([^`']*\)' /‘\1’ /g s/“”/""/g s/“/“/g s/”/”/g s/‘/‘/g s/’/’/g geda-gaf-1.8.2/libgeda/po/it.gmo0000664000175000017500000002352212220654231013226 00000000000000Mg(091$Vn'!066m(3,T !e 5 A G 1G (y "  2  G% Dm . / . 6@ =w 4 5  *? Cj ?  A+)(/G-w$!F S.s j/y(.D/FZv[]-e4Ka0w*_8<?G*b7"(1+A]>V3Qa&;CJN>2)O$y;PKI:>=AMRHE+"q7SL mB 9c 0 0 9 29!+l!%!!!S!4"7R"$""(""p##u#-#;#H$AL$z$ %%| &&&&&&&9' 1K 59AC I!:;,B-)L 4M23+EJD< >&(#@0"7 8=$G'/6%*H?.F Run gschem and correct the situation. WARNING: Found an autosave backup file: %s. %s: %sAttempt to attach attribute [%s] to more than one object Attempt to attach non text item as an attribute! Base64 decoding failed.Can't save backup file: %s.Cannot add library: name not specified Cannot find file %s: %sColor index out of rangeComponent [%s] has been embedded Component [%s] has been successfully unembedded Component [%s] was not found in the component library Component not found: %sCould NOT set backup file [%s] readonly Could NOT set previous backup file [%s] read-write Could not execute command [%s] for printing Could not find component [%s], while trying to unembed. Component is still embedded Could not open [%s] for printing ERROR: o_picture_save: unable to encode the picture. Error during reading of the prolog file `%s' in f_print_header() Error during writing of the output postscript file in f_print_header() Failed to load image from embedded data [%s]: %s Failed to load image from file [%s]: %s Failed to open directory [%s]: %s Failed to stat [%s]: %sFalling back to file loading. Picture unembedded. File %s is read-onlyFound a component with an invalid mirror flag [ %c %d %d %d %d %d %s ] Found a component with an invalid rotation [ %c %d %d %d %d %d %s ] Found a zero length bus [ %c %d %d %d %d %d ] Found a zero length line [ %c %d %d %d %d %d ] Found a zero length net [ %c %d %d %d %d %d ] Found a zero radius arc [ %c %d, %d, %d, %d, %d, %d ] Found a zero size text string [ %c %d %d %d %d %d %d %d %d ] Found a zero width/height box [ %c %d %d %d %d %d ] Found a zero width/height picture [ %c %d %d %d %d ] Found an invalid color [ %s ] Found an unsupported picture angle [ %d ] Found an unsupported text alignment [ %c %d %d %d %d %d %d %d %d ] Found an unsupported text angle [ %c %d %d %d %d %d %d %d %d ] Giving up on printing Gschem usually makes backup copies automatically, and this situation happens when it crashed or it was forced to exit abruptly. I could not guess if it is newer, so you have to do it manually. Index in color map entry must be an integerInvalid length specified, setting to 100 Invalid space specified, setting to 100 Library name [%s] already in use. Using [%s]. More than one component found with name [%s] Null radius circles are not allowed Picture [%s] has been embedded Picture [%s] has been unembedded Read an old format sym/sch file! Please run g[sym|sch]update on: [%s] Read garbage in [%s] : >> %s<< Resetting direction to neutral (no direction) Setting alignment to LOWER_LEFT Setting angle to 0 Setting color to default color Setting mirrored to 0 The backup copy is newer than the schematic, so it seems you should load it instead of the original file. There are no schematics above the current one! Too many UTF-8 characters, cannot print Unable to get time of day in f_print_header() Unable to open the prolog file `%s' for reading in f_print_header() Value in color map entry must be #f or a stringWARNING: Symbol version parse error on refdes %s: Could not parse attached symversion=%s WARNING: Symbol version parse error on refdes %s: Could not parse symbol file symversion= WARNING: Symbol version parse error on refdes %s: Could not parse symbol file symversion=%s WARNING: using a string for 'always-promote-attributes' is deprecated. Use a list of strings instead gEDA Circuit SchematicgEDA Gsch2pcb ProjectgEDA Schematic SymbolgEDA circuit schematicgEDA gsch2pcb projectgEDA schematic symbolo_save_objects: object %p has unknown type '%c' Project-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-03-16 10:58+0000 Last-Translator: simone.sandri Language-Team: gEDA developers Language: it MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) Esegui gschem e correggi la situazione. ATTENZIONE: Esiste un file di auto-salvataggio: %s. %s: %sTentativo di allegare l'attributo [%s] a più di un oggetto Tentativo di allegare un elemento non testuale come attributo! Decodifica Base64 fallita.Impossibile salvare il file di backup: %s.Impossibile caricare la libreria: nome non specificato Impossibile trovare il file %s: %sIndice colore fuori scalaIl componente [%s] è stato incorporato Il componente [%s] è stato rimosso con successo Impossibile trovare il componente [%s] nella libreria componenti Componente non trovato: %sImpossibile impostare il file di backup [%s] in sola lettura. Non è possibile impostare il precedente file di ripristino [%s] in lettura-scrittura Impossibile eseguire il comando [%s] per la stampa Impossibile trovare il componente [%s], durante la rimozione. Il component è ancora incorporato Impossibile aprire [%s] per la stampa ERRORE: o_picture_save: impossibile codificare l'immagine. Errore durante la lettura del file prolog '%s' in f_print_header() Errore durante la scrittura del file postscript di output in f_print_header() Impossibile caricare l'immagine dai dati incorporati [%s]: %s Impossibile caricare l'immagine dal file [%s]: %s Impossibile aprire la directory [%s]: %s Impossibile fare lo stat di [%s]: %sRitorno al caricamento del file. Immagine non incorporata. Il file %s è di sola letturaHo trovato un componente con un flag mirror non valido [ %c %d %d %d %d %d %s ] Ho trovato un componente con rotazione non valida [ %c %d %d %d %d %d %s ] Ho trovato un bus di lunghezza zero [ %c %d %d %d %d %d ] Ho trovato una linea con lunghezza zero [ %c %d %d %d %d %d ] Ho trovato una rete con lunghezza zero [ %c %d %d %d %d %d ] Ho trovato un arco con raggio zero [ %c %d, %d, %d, %d, %d, %d ] Ho trovato una stringa di testo di dimensione zero [ %c %d %d %d %d %d %d %d %d ] Ho trovato un riquadro con altezza/larghezza zero [ %c %d %d %d %d %d ] Ho trovato un'immagine con larghezza/altezza zero [ %c %d %d %d %d ] Trovato un colore non valido [%s] Ho trovato un angolo di immagine non supportato [ %d ] Ho trovato un allineamento del testo non supportato [ %c %d %d %d %d %d %d %d %d ] Ho trovato un angolo di testo non supportato [ %c %d %d %d %d %d %d %d %d ] Rinunciare alla stampa Gschem normalmente effettua copie di backup in automatico e questa situazione capita in caso di suoi errori gravi o quando viene interrotto forzatamente. Impossibile stabilire se è nuovo, quindi devi farlo manualmente. L'indice nella voce di mappa colore deve essere un interoLunghezza specificata non valida, imposto a 100 Lo spazio indicato non è valido, imposto a 100 Il nome di libreria [%s] è già in uso. Utilizzo [%s]. Ho trovato più di un componente con il nome [%s] I cerchi di raggio nullo non sono permessi L'immagine [%s] è stata incorporata L'immagine [%s] è stata rimossa Lettura di un file sym/sch di formato precedente! Esegui g[sym|sch]update su: [%s] Dati errati in [%s]: >> %s<< Reimposto la direzione come neutra (nessuna direzione) Imposto l'allineamento a LOWER_LEFT imposto l'angolo a 0 Imposto il colore al colore predefinito Imposto mirrored a 0 La copia di backup è più recente dello schema, quindi dovrebbe essere utilizzata al posto del file originale. Non ci sono schemi sopra a questo! Troppi caratteri UTF-8, impossibile stampare Non riesco a ottenere l'ora del giorno in f_print_header() Non riesco ad aprire il prolog file '%s' in lettura in f_print_header() Il valore nella voce di mappa colore deve essere #f o una stringaATTENZIONE: Errore nell'analisi della versione del simbolo in refdes %s: Impossibile analizzare l'allegato symversion=%s ATTENZIONE: Errore nell'analisi della versione del simbolo in refdes %s: Impossibile analizzare il file di simbolo symversion= ATTENZIONE: Errore nell'analisi della versione del simbolo in refdes %s: Impossibile analizzare il file di simbolo symversion=%s ATTENZIONE: usare una stringa per 'always-promote-attributes' è sconsigliato. Si raccomanda di usare una lista di stringhe gEDA Schema CircuitalegEDA Progetto Gsch2pcbgEDA Simbolo di CircuitogEDA schema circuitalegEDA progetto gsch2pcbgEDA simbolo di circuitoo_save_objects: l'oggetto %p ha il tipo sconosciuto '%c' geda-gaf-1.8.2/libgeda/po/ru.gmo0000664000175000017500000007237012220655642013254 00000000000000 :5 :(G0p91%,R;nK'6*O!z068M(e3,)T!n1*7 %C00t5AGe%{&#1(1G)y"5Tp"?A;Y2 GD17v7T.;/j.:6=;4y5 -3:R*C?<SA&+=<i)< )B (l    9 &%!L! i!1!/!*!0"3H"1|"1"*"1 #-=#3k#$#####$)=$*g$-$*$%$4%,F%s%&%$%%E%E&U&6n& &&!& ')'FE''='='?((.h( ( (((()$);),P)7})()j)/I*(y*/*.*D+$F+%k+(+(+/+i,b},,Zd-[-].ey.$.//1/G/^/t/4/0/1//"01R00>22MY3D3r3_4if4b4J35[~5R5-66Wu7!777m'8'888F8)=91g9,9399:H,;`u;;<<h<A8=Hz==e=d;>d>I?@O??Y?f@Wn@n@W5A\AFA;1B/mBCB/B;CJMC1C;C5D=fiffofj@ggbZhjha(iSidiGCjEjfjU8kkkkl%mno\p*qWq,?rlrr,rrrs sG}sgs\-tmtG*}.Fsyg28o/Vc\L&rl5T'MDZQaj !(wW[1eNOAb9 _"BSz]{CY<@?7m U`f6>-;3i|XIdP u+ =xt$Hn#R4J~,E0vqK%k):^h p MAJOR VERSION CHANGE (file %.3f, instantiated %.3f, %s)! Minor version change (file %.3f, instantiated %.3f) Backtrace: Run gschem and correct the situation. WARNING: Found an autosave backup file: %s. %s: %sAttempt to attach attribute [%s] to more than one object Attempt to attach non text item as an attribute! Base64 decoding failed.Can't get the real filename of %s: %sCan't save backup file: %s.Cannot add Scheme-library [%s]: callbacks must be closures Cannot add library [%s]: both 'list' and 'get' commands must be specified. Cannot add library: name not specified Cannot find file %s: %sColor index out of rangeColor map entry must be a two-element listComponent [%s] has been embedded Component [%s] has been successfully unembedded Component [%s] was not found in the component library Component not found: %sConfig file already loadedCould NOT save [%s] Could NOT save file: %sCould NOT set backup file [%s] readonly Could NOT set previous backup file [%s] read-write Could not execute command [%s] for printing Could not find [%s] in any SourceLibrary Could not find component [%s], while trying to unembed. Component is still embedded Could not open [%s] for printing Did not find proper slotdef=#:#,#,#... attribute Did not find slotdef=#:#,#,#... attribute ERROR in s_hierarchy_traverse: schematic not found: %s ERROR: %s ERROR: An unknown error occurred while parsing configuration files.ERROR: The %s log may contain more information. ERROR: o_picture_save: unable to encode the picture. Error during reading of the prolog file `%s' in f_print_header() Error during writing of the output postscript file in f_print_header() Error output was: %s Failed to load buffer image [%s]: %s Failed to load fallback image %s: %s. Failed to load image from [%s]: %s Failed to load image from embedded data [%s]: %s Failed to load image from file [%s]: %s Failed to load symbol data [%s] from source [%s] Failed to load symbol from file [%s]: %s Failed to open directory [%s]: %s Failed to parse arc objectFailed to parse box objectFailed to parse bus objectFailed to parse circle objectFailed to parse complex objectFailed to parse line objectFailed to parse net objectFailed to parse path objectFailed to parse picture definitionFailed to parse pin objectFailed to parse text objectFailed to scan library [%s]: Scheme function returned non-list Failed to stat [%s]: %sFalling back to file loading. Picture is still unembedded. Falling back to file loading. Picture unembedded. File %s is read-onlyFound [%s] Found a component with an invalid mirror flag [ %c %d %d %d %d %d %s ] Found a component with an invalid rotation [ %c %d %d %d %d %d %s ] Found a picture with a wrong 'embedded' parameter: %d. Found a picture with a wrong 'mirrored' parameter: %d. Found a pin which did not have the whichone field set. Verify and correct manually. Found a zero length bus [ %c %d %d %d %d %d ] Found a zero length line [ %c %d %d %d %d %d ] Found a zero length net [ %c %d %d %d %d %d ] Found a zero or negative radius circle [ %c %d %d %d %d ] Found a zero radius arc [ %c %d, %d, %d, %d, %d, %d ] Found a zero size text string [ %c %d %d %d %d %d %d %d %d ] Found a zero width/height box [ %c %d %d %d %d %d ] Found a zero width/height picture [ %c %d %d %d %d ] Found an image with no filename.Found an invalid bus ripper direction [ %s ] Found an invalid color [ %s ] Found an invalid whichend on a pin (reseting to zero): %d Found an unsupported picture angle [ %d ] Found an unsupported text alignment [ %c %d %d %d %d %d %d %d %d ] Found an unsupported text angle [ %c %d %d %d %d %d %d %d %d ] Giving up on printing Gschem usually makes backup copies automatically, and this situation happens when it crashed or it was forced to exit abruptly. I could not guess if it is newer, so you have to do it manually. Improper slotdef syntax: missing ":". Index in color map entry must be an integerInvalid complex angle ~A. Must be 0, 90, 180, or 270 degreesInvalid fill style ~A.Invalid length specified, setting to 100 Invalid path element type ~A.Invalid picture angle ~A. Must be 0, 90, 180, or 270 degreesInvalid pin type ~A, must be 'net or 'busInvalid space specified, setting to 100 Invalid stroke cap style ~A.Invalid stroke dash style ~A.Invalid text alignment ~A.Invalid text angle ~A. Must be 0, 90, 180, or 270 degreesInvalid text name/value visibility ~A.Library command failed [%s] Library command failed [%s]: %s Library command failed [%s]: Uncaught signal %i. Library name [%s] already in use. Using [%s]. Missing angle parameter for fill style ~A.Missing dash length parameter for dash style ~A.Missing dot/dash space parameter for dash style ~A.Missing second angle parameter for fill style ~A.Missing second space parameter for fill style ~A.Missing space parameter for fill style ~A.Missing stroke width parameter for fill style ~A.More than one component found with name [%s] Non-string symbol name while scanning library [%s] Null radius circles are not allowed Object ~A has attributesObject ~A has bad type '~A'Object ~A has invalid fill style ~AObject ~A has invalid pin type.Object ~A has invalid stroke cap style ~AObject ~A has invalid stroke dash style ~AObject ~A is already attached as an attributeObject ~A is already attached to somethingObject ~A is attached as an attributeObject ~A is attached to a complex or different pageObject ~A is attached to a different complexObject ~A is attached to a pageObject ~A is attribute of wrong objectObject ~A is not included in a page.Object ~A is not part of a pageObjects ~A and ~A are not part of the same page and/or complex objectParse error: ~sParsed config from [%s] Path object ~A has invalid element type ~A at index ~APicture %p has invalid angle %i Picture [%s] has been embedded Picture [%s] has been unembedded Picture [%s] has no image data. Picture is still embedded. Read an old format sym/sch file! Please run g[sym|sch]update on: [%s] Read garbage in [%s] : >> %s<< Read unexpected attach symbol start marker in [%s] : >> %s<< Read unexpected embedded symbol end marker in [%s] : >> %s<< Read unexpected embedded symbol start marker in [%s] : >> %s<< Resetting direction to neutral (no direction) Saved [%s] Setting alignment to LOWER_LEFT Setting angle to 0 Setting color to default color Setting embedded to 0 Setting mirror to 0 Setting mirrored to 0 Setting radius to 0 Text object ~A has invalid text alignment ~AText object ~A has invalid text attribute visibility ~AText object ~A has invalid visibility ~AThe backup copy is newer than the schematic, so it seems you should load it instead of the original file. There are no schematics above the current one! Too many UTF-8 characters, cannot print Tried to attach a non-text item as an attributeUnable to get time of day in f_print_header() Unable to open the prolog file `%s' for reading in f_print_header() Unable to parse config from [%s]: %sUnexpected end-of-file after %d linesUnexpected end-of-file in attribute listUnexpected end-of-file when reading pathValue in color map entry must be #f or a stringWARNING: Symbol version mismatch on refdes %s (%s): Symbol in library is newer than instantiated symbol WARNING: Symbol version oddity on refdes %s: Instantiated symbol is newer than symbol in library WARNING: Symbol version oddity on refdes %s: symversion=%s attached to instantiated symbol, but no symversion= inside symbol file WARNING: Symbol version parse error on refdes %s: Could not parse attached symversion=%s WARNING: Symbol version parse error on refdes %s: Could not parse symbol file symversion= WARNING: Symbol version parse error on refdes %s: Could not parse symbol file symversion=%s WARNING: using a string for 'always-promote-attributes' is deprecated. Use a list of strings instead component missing pinseq= attribute gEDA Circuit SchematicgEDA Gsch2pcb ProjectgEDA Schematic SymbolgEDA circuit schematicgEDA gsch2pcb projectgEDA schematic symbolhierarchy loop detected while visiting page: "%s" o_save_objects: object %p has unknown type '%c' s_page_delete: Can't get the real filename of %s.s_page_delete: Unable to delete backup file %s.~A is not a valid attribute: invalid string '~A'.Project-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-01-24 14:53+0400 Last-Translator: Vladimir Zhbanov Language-Team: gEDA developers Language: ru MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2010-02-14 12:56+0000 X-Generator: Launchpad (build Unknown) ИЗМЕНЕНИЕ СТАРШЕГО НОМЕРА ВЕРСИИ (версия символа %.3f, версия экземпляра %.3f, %s)! Изменение младшего номера версии (версия символа %.3f, версия экземпляра %.3f) Последовательность вызовов подпрограмм: Запустите gschem и устраните проблему. ВНИМАНИЕ: обнаружен файл автоматической резервной копии: %s. %s: %sПопытка прикрепить атрибут [%s] к более чем одному объекту Попытка прикрепить не текстовый элемент как атрибут! Ошибка расшифровки данных в формате base64.Не удалось определить имя реального файла для %s: %sНе удалось сохранить файл резервной копии: %s.Невозможно добавить библиотеку Scheme [%s]: функции обратного вызова должны быть замкнутыми выражениями Невозможно добавить библиотеку [%s]: должны быть указаны обе команды 'list' и 'get'. Невозможно добавить библиотеку: не указано имя Файл %s не найден: %sЦветовой индекс вне диапазонаЗапись в таблице цветов должна быть двухэлементным спискомКомпонент [%s] внедрён Компонент [%s] успешно исключён [%s] не найден в библиотеке компонентов Не найден компонент: %sФайл настроек уже загруженНе удалось сохранить [%s] Не удалось сохранить файл: %sНе удалось установить режим доступа только на чтение для резервной копии файла [%s] Не удалось установить режим чтения-записи для файла предыдущей резервной копии [%s] Не удалось выполнить команду печати [%s] Не удалось найти [%s] в библиотеках источников данных Не удалось найти библиотечный символ для исключаемого компонента [%s]. Компонент останется внедрённым Не удалось открыть [%s] для печати Не удалось найти атрибут slotdef=#:#,#,#... в допустимом формате Не удалось найти атрибут slotdef=#:#,#,#... ОШИБКА в s_hierarchy_traverse: не найдена схема %s ОШИБКА: %s ОШИБКА: неизвестная ошибка при анализе файлов настроекОШИБКА: в файле журнала %s может быть больше информации ОШИБКА: o_picture_save: невозможно закодировать изображение. f_print_header: ошибка чтения файла пролога [%s] f_print_header: ошибка записи postscript-файла Вывод ошибки: %s Не удалось загрузить изображение [%s] из буфера: %s Не удалось загрузить копию изображения для отката [%s]: %s Не удалось загрузить изображение из файла [%s]: %s Не удалось загрузить изображение из внедрённых данных [%s]: %s Не удалось загрузить изображение из файла [%s]: %s Ошибка загрузки данных символа [%s] из источника [%s] Ошибка загрузки символа из файла [%s]: %s Не удалось открыть каталог [%s]: %s Ошибка в определении дугиОшибка в определении прямоугольникаОшибка в определении шиныОшибка в определении окружностиОшибка в определении составного объектаОшибка в определении линииОшибка в определении соединенияОшибка в определении контураОшибка в определении изображенияОшибка в определении выводаОшибка в определении текстового объектаОшибка сканирования библиотеки [%s]: функция Scheme возвратила не список Ошибка чтения статуса [%s]: %sВозврат к загрузке из файла. Изображение всё ещё исключено. Возврат к загрузке из файла. Изображение исключено. Файл %s только для чтенияНайдена подсхема [%s] Недопустимое значение поля 'mirror' в определении компонента [%c %d %d %d %d %d %s] Недопустимое значение угла поворота в определении компонента [%c %d %d %d %d %d %s] Недопустимое значение поля 'embedded' в определении изображения: %d. Недопустимое значение поля 'mirrored' в определении изображения: %d. Вывод с неустановленным полем 'whichend'. Проверьте и исправьте вручную. Шина нулевой длины [%c %d %d %d %d %d] Линия нулевой длины [%c %d %d %d %d %d] Соединение нулевой длины [%c %d %d %d %d %d] Окружность с нулевым или отрицательным радиусом [%c %d %d %d %d] Дуга с нулевым радиусом [%c %d, %d, %d, %d, %d, %d] Текстовая строка нулевого размера [%c %d %d %d %d %d %d %d %d] Прямоугольник нулевой ширины или высоты [%c %d %d %d %d %d] Изображение нулевой ширины или высоты [%c %d %d %d %d] Обнаружено изображение без имени файлаНедопустимое значение поля 'ripperdir' (направление ответвления от шины) [%s] Недопустимое значение цветового индекса [%s] Недопустимое значение поля 'whichend' в определении вывода (сброс в 0): %d Неподдерживаемое значение угла поворота изображения [%d] Неподдерживаемое значение поля 'alignment' в определении текстового объекта [%c %d %d %d %d %d %d %d %d] Неподдерживаемое значение угла поворота в определении текстового объекта [%c %d %d %d %d %d %d %d %d] Прекращение печати Обычно gschem автоматически создаёт резервные копии, и такая ситуация может быть результатом крушения или внезапного завершения программы. Не удалось определить новее ли он, решите это сами. Неверный синтаксис атрибута slotdef: отсутствует ":". Индекс записи в таблице цветов должен быть целым числомНедопустимый угол поворота составного объекта ~A. Должен быть 0, 90, 180 или 270 градусовНедопустимый тип заполнения ~A.Недопустимое значение длины штриха, установка в 100 Недопустимое значение типа элемента контура: ~A.Недопустимое значение угла поворота изображения ~A. Угол должен быть равен 0, 90, 180 или 270 градусовНедопустимый тип вывода ~A, должен быть 'net или 'busНедопустимое значение интервала между штрихами, установка в 100 Недопустимое значение поля 'capstyle' (стиль концов линии): ~A.Недопустимое значение поля 'dashstyle' (тип линии): ~A.Недопустимое значение поля 'alignment' текстового объекта: ~A.Недопустимое значение угла поворота текстового объекта ~A. Угол должен быть равен 0, 90, 180 или 270 градусовНедопустимое значение поля 'show_name_value' текстового объекта: ~A.Сбой команды создания библиотеки [%s] Ошибка при выполнении команды над библиотекой [%s]: %s Сбой команды создания библиотеки [%s]: необработанный сигнал %i. Библиотека с именем [%s] уже имеется. Используется [%s]. Отсутствует параметр типа заполнения 'angle1': ~A.Отсутствует поле 'dashlength' (длина штриха): ~A.Отсутствует поле 'dashspace' (тип линии): ~A.Отсутствует параметр типа заполнения 'angle2': ~A.Отсутствует параметр типа заполнения 'pitch2': ~A.Отсутствует параметр типа заполнения 'pitch1': ~A.Отсутствует параметр типа заполнения 'fillwidth': ~A.Обнаружено несколько компонентов с именем [%s] При сканировании библиотеки обнаружено имя символа, не являющееся строкой [%s] Окружности с нулевым радиусом недопустимы Объект ~A имеет собственные атрибутыНедопустимый тип объекта ~A: '~A'Недопустимый тип заполнения объекта ~A: ~AНедопустимый тип вывода объекта ~A.Недопустимый стиль концов линий объекта ~A: ~AНедопустимый тип линий для объекта ~A: ~AОбъект ~A уже прикреплён как атрибутОбъект ~A уже к чему-то прикреплёнОбъект ~A прикреплён как атрибутОбъект ~A прикреплён к составному объекту или находится на другой страницеОбъект ~A прикреплён к другому составному объектуОбъект ~A прикреплён к страницеОбъект ~A является атрибутом другого объектаОбъекта ~A нет на странице.Объект ~A не является частью схемыОбъекты ~A и ~A не являются частями одной схемы и (или) одного составного объектаОшибка обработки: ~sАнализ файла настроек [%s] Контур ~A имеет недопустимое значение типа элемента ~A с индексом ~AНедопустимое значение угла поворота изображения [%p]: %i Изображение [%s] внедрено Изображение [%s] исключено Файл [%s] не содержит данных изображения. Изображение всё ещё внедрено. Обнаружен файл символа или схемы в старом формате! Выполните g[sym|sch]update для: [%s] Некорректные данные в [%s]: >> %s<< Неуместный маркер начала списка прикреплённых атрибутов в [%s]: >> %s<< Неуместный маркер конца внедрённого символа в [%s]: >> %s<< Неуместный маркер начала внедрённого символа в [%s]: >> %s<< Сброс направления в нейтральное значение (направление не задано) Файл [%s] сохранён Установка выравнивания по левому нижнему углу Установка угла поворота в 0 Установка цвета по умолчанию Установка 'embedded' в 0 Установка 'mirror' в 0 Установка 'mirrored' в 0 Установка радиуса в 0 Недопустимое значение поля 'alignment' текстового объекта ~A: ~AНедопустимое значение поля 'show_name_value' текстового объекта ~A: ~AНедопустимое значение поля 'visibility' текстового объекта ~A: ~AРезервная копия новее схемы, поэтому, видимо, следует загрузить её вместо оригинального файла. Для текущей схемы нет схемы, вышестоящей по иерархии! Слишком много символов UTF-8, некоторые напечатаны не будут Попытка прикрепить не текстовый элемент как атрибут!f_print_header: не удалось определить текущее время f_print_header: не удалось открыть для чтения файл пролога [%s] Ошибка при анализе файла настроек [%s]: %sНеожиданный конец файла после %d строкНеожиданный конец файла при обработке списка атрибутовНеожиданный конец файла при обработке контураЗначение записи в таблице цветов должно быть #f или строкойВНИМАНИЕ: неподходящая версия для символа с поз. обозначением %s (%s): Символ в библиотеке новее экземпляра в схеме ВНИМАНИЕ: некорректное задание версии для символа с поз. обозначением %s: Экземпляр в схеме новее символа в библиотеке ВНИМАНИЕ: некорректное задание версии для символа с поз. обозначением %s: К экземпляру символа прикреплён атрибут symversion=%s, но в файле символа symversion= отсутствует ВНИМАНИЕ: ошибка при анализе версии символа с поз. обозначением %s: Прикреплён некорректный атрибут symversion=%s ВНИМАНИЕ: ошибка при анализе версии символа с поз. обозначением %s: Некорректный атрибут symversion= в файле символа ВНИМАНИЕ: ошибка при анализе версии символа с поз. обозначением %s: Некорректный атрибут symversion=%s в файле символа ВНИМАНИЕ: для 'always-promote-attributes' не рекомендуется использовать строку. Следует использовать список строк Отсутствует атрибут pinseq= для вывода компонента Принципиальная схема gEDAПроект gsch2pcb gEDAСимвол схемы gEDAПринципиальная схема gEDAПроект gsch2pcb gEDAСимвол схемы gEDAОбнаружено зацикливание иерархии при переходе к странице: "%s" o_save_objects: объект %p неизвестного типа '%c' s_page_delete: не удалось определить имя реального файла для %s.s_page_delete: не удалось удалить файл резервной копии %s.~A не является допустимым атрибутом: недопустимая строка '~A'.geda-gaf-1.8.2/libgeda/po/quot.sed0000644000175000017500000000023112210331572013560 00000000000000s/"\([^"]*\)"/“\1”/g s/`\([^`']*\)'/‘\1’/g s/ '\([^`']*\)' / ‘\1’ /g s/ '\([^`']*\)'$/ ‘\1’/g s/^'\([^`']*\)' /‘\1’ /g s/“”/""/g geda-gaf-1.8.2/libgeda/po/tr.po0000664000175000017500000005314412220655642013105 00000000000000# Turkish translation for libgeda # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the geda package. # # cemalettin kara , 2008. msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-01-31 12:11+0000\n" "Last-Translator: Peter TB Brett \n" "Language-Team: gEDA developers \n" "Language: tr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: libgeda/data/libgeda.xml.in:3 msgid "gEDA circuit schematic" msgstr "" #: libgeda/data/libgeda.xml.in:4 msgid "gEDA schematic symbol" msgstr "gEDA şematik sembol" #: libgeda/data/libgeda.xml.in:5 msgid "gEDA gsch2pcb project" msgstr "gEDA gsch2pcb projesi" #: libgeda/data/x-geda-gsch2pcb-project.desktop.in:3 msgid "gEDA Gsch2pcb Project" msgstr "gEDA Gsch2pcb Projesi" #: libgeda/data/x-geda-schematic.desktop.in:3 msgid "gEDA Circuit Schematic" msgstr "" #: libgeda/data/x-geda-symbol.desktop.in:3 msgid "gEDA Schematic Symbol" msgstr "gEDA şematik sembol" #: libgeda/src/a_basic.c:182 #, c-format msgid "o_save_objects: object %p has unknown type '%c'\n" msgstr "o_save_objects: %p nesnesi bilinmeyen tip '%c'\n" #: libgeda/src/a_basic.c:238 libgeda/src/f_basic.c:384 #, c-format msgid "File %s is read-only" msgstr "" #: libgeda/src/a_basic.c:423 #, c-format msgid "" "Read unexpected attach symbol start marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" #: libgeda/src/a_basic.c:440 #, c-format msgid "" "Read unexpected embedded symbol start marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" #: libgeda/src/a_basic.c:471 #, c-format msgid "" "Read unexpected embedded symbol end marker in [%s] :\n" ">>\n" "%s<<\n" msgstr "" #: libgeda/src/a_basic.c:506 #, c-format msgid "" "Read an old format sym/sch file!\n" "Please run g[sym|sch]update on:\n" "[%s]\n" msgstr "" #: libgeda/src/a_basic.c:512 #, c-format msgid "" "Read garbage in [%s] :\n" ">>\n" "%s<<\n" msgstr "" #: libgeda/src/f_basic.c:123 libgeda/src/f_basic.c:136 #, c-format msgid "Failed to stat [%s]: %s" msgstr "" #: libgeda/src/f_basic.c:221 #, c-format msgid "Cannot find file %s: %s" msgstr "" #: libgeda/src/f_basic.c:269 #, c-format msgid "" "\n" "WARNING: Found an autosave backup file:\n" " %s.\n" "\n" msgstr "" "\n" "UYARI: Otomatik kayıt yedek dosyası bulundu:\n" " %s.\n" "\n" #: libgeda/src/f_basic.c:271 msgid "I could not guess if it is newer, so you have to do it manually.\n" msgstr "Yeniyse tahmin edemiyorum, bunu elle yapın.\n" #: libgeda/src/f_basic.c:273 msgid "" "The backup copy is newer than the schematic, so it seems you should load it " "instead of the original file.\n" msgstr "" "Yedek kopyası şematikten yeni bu nedenle asıl dosya yerine onu yükleyeceğiz " "gözküyor.\n" #: libgeda/src/f_basic.c:275 msgid "" "Gschem usually makes backup copies automatically, and this situation happens " "when it crashed or it was forced to exit abruptly.\n" msgstr "" #: libgeda/src/f_basic.c:278 msgid "" "\n" "Run gschem and correct the situation.\n" "\n" msgstr "" "\n" "gschem'i çalıştırın ve bu durumu düzeltin\n" "\n" #: libgeda/src/f_basic.c:374 #, c-format msgid "Can't get the real filename of %s: %s" msgstr "" #: libgeda/src/f_basic.c:405 #, c-format msgid "Could NOT set previous backup file [%s] read-write\n" msgstr "" #: libgeda/src/f_basic.c:411 #, c-format msgid "Can't save backup file: %s." msgstr "" #: libgeda/src/f_basic.c:421 #, c-format msgid "Could NOT set backup file [%s] readonly\n" msgstr "sadece okunabilir [%s] yedekleme dosyası oluşturulamadı\n" #: libgeda/src/f_basic.c:480 #, c-format msgid "Could NOT save file: %s" msgstr "" #: libgeda/src/f_basic.c:727 #, c-format msgid "%s: %s" msgstr "" #: libgeda/src/f_print.c:123 msgid "Unable to get time of day in f_print_header()\n" msgstr "" #: libgeda/src/f_print.c:165 #, c-format msgid "Unable to open the prolog file `%s' for reading in f_print_header()\n" msgstr "" #: libgeda/src/f_print.c:182 #, c-format msgid "Error during reading of the prolog file `%s' in f_print_header()\n" msgstr "" #: libgeda/src/f_print.c:188 msgid "" "Error during writing of the output postscript file in f_print_header()\n" msgstr "" #: libgeda/src/f_print.c:202 msgid "Giving up on printing\n" msgstr "" #: libgeda/src/f_print.c:375 #, c-format msgid "Could not open [%s] for printing\n" msgstr "[%s] yazdırma işlemi için açılamıyor\n" #: libgeda/src/f_print.c:409 #, c-format msgid "Could not execute command [%s] for printing\n" msgstr "yazdırmak için [%s] komutu çalıştırılamadı\n" #: libgeda/src/f_print.c:682 msgid "Too many UTF-8 characters, cannot print\n" msgstr "çok fazla UTF-8 karakteri var, yazdırılamaz\n" #: libgeda/src/g_basic.c:264 msgid "" "\n" "Backtrace:\n" msgstr "" #: libgeda/src/g_rc.c:233 msgid "Config file already loaded" msgstr "" #: libgeda/src/g_rc.c:268 #, c-format msgid "Parsed config from [%s]\n" msgstr "" #: libgeda/src/g_rc.c:281 #, c-format msgid "Unable to parse config from [%s]: %s" msgstr "" #: libgeda/src/g_rc.c:298 msgid "ERROR: An unknown error occurred while parsing configuration files." msgstr "" #: libgeda/src/g_rc.c:310 libgeda/src/g_rc.c:311 #, c-format msgid "ERROR: %s\n" msgstr "" #: libgeda/src/g_rc.c:317 #, c-format msgid "ERROR: The %s log may contain more information.\n" msgstr "" #: libgeda/src/g_rc.c:978 msgid "" "WARNING: using a string for 'always-promote-attributes' is deprecated. Use a " "list of strings instead\n" msgstr "" #: libgeda/src/o_arc_basic.c:256 libgeda/src/o_arc_basic.c:269 msgid "Failed to parse arc object" msgstr "" #: libgeda/src/o_arc_basic.c:276 #, c-format msgid "Found a zero radius arc [ %c %d, %d, %d, %d, %d, %d ]\n" msgstr "" #: libgeda/src/o_arc_basic.c:282 libgeda/src/o_box_basic.c:327 #: libgeda/src/o_bus_basic.c:182 libgeda/src/o_circle_basic.c:289 #: libgeda/src/o_line_basic.c:264 libgeda/src/o_net_basic.c:171 #: libgeda/src/o_path_basic.c:189 libgeda/src/o_pin_basic.c:183 #: libgeda/src/o_text_basic.c:425 #, c-format msgid "Found an invalid color [ %s ]\n" msgstr "Geçersiz bir renk bulundu [ %s ]\n" #: libgeda/src/o_arc_basic.c:283 libgeda/src/o_box_basic.c:328 #: libgeda/src/o_bus_basic.c:183 libgeda/src/o_circle_basic.c:290 #: libgeda/src/o_line_basic.c:265 libgeda/src/o_net_basic.c:172 #: libgeda/src/o_path_basic.c:190 libgeda/src/o_pin_basic.c:184 #: libgeda/src/o_text_basic.c:426 msgid "Setting color to default color\n" msgstr "" #: libgeda/src/o_attrib.c:123 msgid "Attempt to attach non text item as an attribute!\n" msgstr "" #: libgeda/src/o_attrib.c:128 #, c-format msgid "Attempt to attach attribute [%s] to more than one object\n" msgstr "" #: libgeda/src/o_attrib.c:341 msgid "Tried to attach a non-text item as an attribute" msgstr "" #: libgeda/src/o_attrib.c:348 msgid "Unexpected end-of-file in attribute list" msgstr "" #: libgeda/src/o_basic.c:196 libgeda/src/o_basic.c:208 msgid "Invalid space specified, setting to 100\n" msgstr "Geçersiz alan(boşluk) tanımlandı.100'e ayarlanıyor\n" #: libgeda/src/o_basic.c:204 msgid "Invalid length specified, setting to 100\n" msgstr "" #: libgeda/src/o_box_basic.c:287 libgeda/src/o_box_basic.c:316 msgid "Failed to parse box object" msgstr "" #: libgeda/src/o_box_basic.c:322 #, c-format msgid "Found a zero width/height box [ %c %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_bus_basic.c:160 libgeda/src/o_bus_basic.c:167 msgid "Failed to parse bus object" msgstr "" #: libgeda/src/o_bus_basic.c:173 #, c-format msgid "Found a zero length bus [ %c %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_bus_basic.c:188 #, c-format msgid "Found an invalid bus ripper direction [ %s ]\n" msgstr "" #: libgeda/src/o_bus_basic.c:189 msgid "Resetting direction to neutral (no direction)\n" msgstr "" #: libgeda/src/o_circle_basic.c:193 msgid "Null radius circles are not allowed\n" msgstr "" #: libgeda/src/o_circle_basic.c:246 libgeda/src/o_circle_basic.c:275 msgid "Failed to parse circle object" msgstr "" #: libgeda/src/o_circle_basic.c:282 #, c-format msgid "Found a zero or negative radius circle [ %c %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_circle_basic.c:284 msgid "Setting radius to 0\n" msgstr "" #: libgeda/src/o_complex_basic.c:422 #, c-format msgid "" "Component not found:\n" " %s" msgstr "" "bileşen bulanamadı:\n" " %s" #: libgeda/src/o_complex_basic.c:654 msgid "Failed to parse complex object" msgstr "" #: libgeda/src/o_complex_basic.c:667 #, c-format msgid "Found a component with an invalid rotation [ %c %d %d %d %d %d %s ]\n" msgstr "" #: libgeda/src/o_complex_basic.c:668 libgeda/src/o_picture.c:105 #: libgeda/src/o_text_basic.c:397 msgid "Setting angle to 0\n" msgstr "" #: libgeda/src/o_complex_basic.c:680 #, c-format msgid "" "Found a component with an invalid mirror flag [ %c %d %d %d %d %d %s ]\n" msgstr "" #: libgeda/src/o_complex_basic.c:681 msgid "Setting mirror to 0\n" msgstr "" #: libgeda/src/o_complex_basic.c:994 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse symbol file symversion=%s\n" msgstr "" #: libgeda/src/o_complex_basic.c:998 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse symbol file symversion=\n" msgstr "" #: libgeda/src/o_complex_basic.c:1014 #, c-format msgid "" "WARNING: Symbol version parse error on refdes %s:\n" "\tCould not parse attached symversion=%s\n" msgstr "" #: libgeda/src/o_complex_basic.c:1039 #, c-format msgid "" "WARNING: Symbol version oddity on refdes %s:\n" "\tsymversion=%s attached to instantiated symbol, but no symversion= inside " "symbol file\n" msgstr "" #: libgeda/src/o_complex_basic.c:1053 #, c-format msgid "" "WARNING: Symbol version mismatch on refdes %s (%s):\n" "\tSymbol in library is newer than instantiated symbol\n" msgstr "" #: libgeda/src/o_complex_basic.c:1081 #, c-format msgid "\tMAJOR VERSION CHANGE (file %.3f, instantiated %.3f, %s)!\n" msgstr "" #: libgeda/src/o_complex_basic.c:1099 #, c-format msgid "\tMinor version change (file %.3f, instantiated %.3f)\n" msgstr "" #: libgeda/src/o_complex_basic.c:1110 #, c-format msgid "" "WARNING: Symbol version oddity on refdes %s:\n" "\tInstantiated symbol is newer than symbol in library\n" msgstr "" #: libgeda/src/o_embed.c:58 #, c-format msgid "Component [%s] has been embedded\n" msgstr "" #: libgeda/src/o_embed.c:102 #, c-format msgid "" "Could not find component [%s], while trying to unembed. Component is still " "embedded\n" msgstr "" #: libgeda/src/o_embed.c:110 #, c-format msgid "Component [%s] has been successfully unembedded\n" msgstr "" #: libgeda/src/o_line_basic.c:229 libgeda/src/o_line_basic.c:247 msgid "Failed to parse line object" msgstr "" #: libgeda/src/o_line_basic.c:259 #, c-format msgid "Found a zero length line [ %c %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_net_basic.c:156 msgid "Failed to parse net object" msgstr "" #: libgeda/src/o_net_basic.c:161 #, c-format msgid "Found a zero length net [ %c %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_path_basic.c:181 msgid "Failed to parse path object" msgstr "" #: libgeda/src/o_path_basic.c:207 msgid "Unexpected end-of-file when reading path" msgstr "" #: libgeda/src/o_picture.c:72 msgid "Failed to parse picture definition" msgstr "" #: libgeda/src/o_picture.c:77 #, c-format msgid "Found a zero width/height picture [ %c %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_picture.c:82 #, c-format msgid "Found a picture with a wrong 'mirrored' parameter: %d.\n" msgstr "" #: libgeda/src/o_picture.c:84 msgid "Setting mirrored to 0\n" msgstr "" #: libgeda/src/o_picture.c:89 #, c-format msgid "Found a picture with a wrong 'embedded' parameter: %d.\n" msgstr "" #: libgeda/src/o_picture.c:91 msgid "Setting embedded to 0\n" msgstr "" #: libgeda/src/o_picture.c:104 #, c-format msgid "Found an unsupported picture angle [ %d ]\n" msgstr "" #: libgeda/src/o_picture.c:116 msgid "Found an image with no filename." msgstr "" #: libgeda/src/o_picture.c:147 #, c-format msgid "Failed to load image from embedded data [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:148 msgid "Base64 decoding failed." msgstr "" #: libgeda/src/o_picture.c:149 msgid "Falling back to file loading. Picture unembedded.\n" msgstr "" #: libgeda/src/o_picture.c:208 msgid "ERROR: o_picture_save: unable to encode the picture.\n" msgstr "" #: libgeda/src/o_picture.c:308 #, c-format msgid "Failed to load buffer image [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:321 #, c-format msgid "Failed to load image from [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:427 #, c-format msgid "Picture %p has invalid angle %i\n" msgstr "" #: libgeda/src/o_picture.c:957 #, c-format msgid "Picture [%s] has no image data.\n" msgstr "" #: libgeda/src/o_picture.c:958 msgid "Falling back to file loading. Picture is still unembedded.\n" msgstr "" #: libgeda/src/o_picture.c:966 #, c-format msgid "Picture [%s] has been embedded\n" msgstr "" #: libgeda/src/o_picture.c:990 #, c-format msgid "Failed to load image from file [%s]: %s\n" msgstr "" #: libgeda/src/o_picture.c:992 msgid "Picture is still embedded.\n" msgstr "" #: libgeda/src/o_picture.c:1000 #, c-format msgid "Picture [%s] has been unembedded\n" msgstr "" #: libgeda/src/o_picture.c:1236 #, c-format msgid "Failed to load fallback image %s: %s.\n" msgstr "" #: libgeda/src/o_pin_basic.c:160 libgeda/src/o_pin_basic.c:168 msgid "Failed to parse pin object" msgstr "" #: libgeda/src/o_pin_basic.c:174 msgid "" "Found a pin which did not have the whichone field set.\n" "Verify and correct manually.\n" msgstr "" #: libgeda/src/o_pin_basic.c:177 #, c-format msgid "Found an invalid whichend on a pin (reseting to zero): %d\n" msgstr "" #: libgeda/src/o_text_basic.c:356 libgeda/src/o_text_basic.c:366 #: libgeda/src/o_text_basic.c:376 msgid "Failed to parse text object" msgstr "" #: libgeda/src/o_text_basic.c:383 #, c-format msgid "Found a zero size text string [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" #: libgeda/src/o_text_basic.c:395 #, c-format msgid "Found an unsupported text angle [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "Desteklenmeyen yazı açısı bulundu [ %c %d %d %d %d %d %d %d %d ]\n" #: libgeda/src/o_text_basic.c:417 #, c-format msgid "Found an unsupported text alignment [ %c %d %d %d %d %d %d %d %d ]\n" msgstr "" "Desteklenmeyen yazı hizlanması bulundu [ %c %d %d %d %d %d %d %d %d ]\n" #: libgeda/src/o_text_basic.c:419 msgid "Setting alignment to LOWER_LEFT\n" msgstr "" #: libgeda/src/o_text_basic.c:440 #, c-format msgid "Unexpected end-of-file after %d lines" msgstr "" #: libgeda/src/s_clib.c:465 #, c-format msgid "Library command failed [%s]: %s\n" msgstr "" #: libgeda/src/s_clib.c:470 #, c-format msgid "Library command failed [%s]: Uncaught signal %i.\n" msgstr "" #: libgeda/src/s_clib.c:474 #, c-format msgid "Library command failed [%s]\n" msgstr "Kütüphane komutu başarısız [%s]
    \n" #: libgeda/src/s_clib.c:475 #, c-format msgid "" "Error output was:\n" "%s\n" msgstr "" #: libgeda/src/s_clib.c:561 #, c-format msgid "Library name [%s] already in use. Using [%s].\n" msgstr "Kütüphane adı [%s] zaten kullanımda. [%s].\n" #: libgeda/src/s_clib.c:598 #, c-format msgid "Failed to open directory [%s]: %s\n" msgstr "" #: libgeda/src/s_clib.c:734 #, c-format msgid "Failed to scan library [%s]: Scheme function returned non-list\n" msgstr "" #: libgeda/src/s_clib.c:742 #, c-format msgid "Non-string symbol name while scanning library [%s]\n" msgstr "" #: libgeda/src/s_clib.c:901 libgeda/src/s_clib.c:948 msgid "Cannot add library: name not specified\n" msgstr "" #: libgeda/src/s_clib.c:908 #, c-format msgid "" "Cannot add library [%s]: both 'list' and 'get' commands must be specified.\n" msgstr "" #: libgeda/src/s_clib.c:956 #, c-format msgid "Cannot add Scheme-library [%s]: callbacks must be closures\n" msgstr "" #: libgeda/src/s_clib.c:1083 #, c-format msgid "Failed to load symbol from file [%s]: %s\n" msgstr "" #: libgeda/src/s_clib.c:1143 #, c-format msgid "Failed to load symbol data [%s] from source [%s]\n" msgstr "" #: libgeda/src/s_clib.c:1385 #, c-format msgid "Component [%s] was not found in the component library\n" msgstr "" #: libgeda/src/s_clib.c:1391 #, c-format msgid "More than one component found with name [%s]\n" msgstr "" #: libgeda/src/s_color.c:207 msgid "Color index out of range" msgstr "" #: libgeda/src/s_color.c:262 msgid "Color map entry must be a two-element list" msgstr "" #: libgeda/src/s_color.c:270 msgid "Index in color map entry must be an integer" msgstr "" #: libgeda/src/s_color.c:296 msgid "Value in color map entry must be #f or a string" msgstr "" #: libgeda/src/s_hierarchy.c:94 #, c-format msgid "" "hierarchy loop detected while visiting page:\n" " \"%s\"\n" msgstr "" #: libgeda/src/s_hierarchy.c:194 msgid "There are no schematics above the current one!\n" msgstr "" #: libgeda/src/s_hierarchy.c:274 #, c-format msgid "ERROR in s_hierarchy_traverse: schematic not found: %s\n" msgstr "" #: libgeda/src/s_page.c:213 #, c-format msgid "s_page_delete: Can't get the real filename of %s." msgstr "" #: libgeda/src/s_page.c:224 #, c-format msgid "s_page_delete: Unable to delete backup file %s." msgstr "" #: libgeda/src/s_page.c:499 #, c-format msgid "Saved [%s]\n" msgstr "[%s] kaydedildi\n" #: libgeda/src/s_page.c:505 #, c-format msgid "Could NOT save [%s]\n" msgstr "[%s] kaydedilemedi.\n" #: libgeda/src/s_slib.c:171 #, c-format msgid "Found [%s]\n" msgstr "" #: libgeda/src/s_slib.c:181 #, c-format msgid "Could not find [%s] in any SourceLibrary\n" msgstr "" #: libgeda/src/s_slot.c:162 msgid "Did not find slotdef=#:#,#,#... attribute\n" msgstr "" #: libgeda/src/s_slot.c:168 msgid "Improper slotdef syntax: missing \":\".\n" msgstr "" #: libgeda/src/s_slot.c:183 msgid "Did not find proper slotdef=#:#,#,#... attribute\n" msgstr "" #: libgeda/src/s_slot.c:213 msgid "component missing pinseq= attribute\n" msgstr "" #: libgeda/src/scheme_attrib.c:67 msgid "~A is not a valid attribute: invalid string '~A'." msgstr "" #: libgeda/src/scheme_attrib.c:172 msgid "Objects ~A and ~A are not part of the same page and/or complex object" msgstr "" #: libgeda/src/scheme_attrib.c:179 libgeda/src/scheme_attrib.c:184 msgid "Object ~A is already attached as an attribute" msgstr "" #: libgeda/src/scheme_attrib.c:233 msgid "Object ~A is attribute of wrong object" msgstr "" #: libgeda/src/scheme_complex.c:148 msgid "Invalid complex angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_complex.c:265 libgeda/src/scheme_page.c:249 msgid "Object ~A is already attached to something" msgstr "" #: libgeda/src/scheme_complex.c:325 msgid "Object ~A is attached to a different complex" msgstr "" #: libgeda/src/scheme_complex.c:332 msgid "Object ~A is attached to a page" msgstr "" #: libgeda/src/scheme_complex.c:339 libgeda/src/scheme_page.c:301 msgid "Object ~A is attached as an attribute" msgstr "" #: libgeda/src/scheme_complex.c:346 libgeda/src/scheme_page.c:308 msgid "Object ~A has attributes" msgstr "" #: libgeda/src/scheme_object.c:232 msgid "Object ~A has bad type '~A'" msgstr "" #: libgeda/src/scheme_object.c:346 msgid "Object ~A has invalid stroke cap style ~A" msgstr "" #: libgeda/src/scheme_object.c:359 msgid "Object ~A has invalid stroke dash style ~A" msgstr "" #: libgeda/src/scheme_object.c:423 msgid "Invalid stroke cap style ~A." msgstr "" #: libgeda/src/scheme_object.c:434 msgid "Invalid stroke dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:444 msgid "Missing dash length parameter for dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:454 msgid "Missing dot/dash space parameter for dash style ~A." msgstr "" #: libgeda/src/scheme_object.c:516 msgid "Object ~A has invalid fill style ~A" msgstr "" #: libgeda/src/scheme_object.c:565 msgid "Invalid fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:573 msgid "Missing second space parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:582 msgid "Missing second angle parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:592 msgid "Missing stroke width parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:601 msgid "Missing space parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:610 msgid "Missing angle parameter for fill style ~A." msgstr "" #: libgeda/src/scheme_object.c:909 msgid "Invalid pin type ~A, must be 'net or 'bus" msgstr "" #: libgeda/src/scheme_object.c:952 msgid "Object ~A has invalid pin type." msgstr "" #: libgeda/src/scheme_object.c:1347 msgid "Invalid text alignment ~A." msgstr "" #: libgeda/src/scheme_object.c:1363 msgid "Invalid text angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_object.c:1382 msgid "Invalid text name/value visibility ~A." msgstr "" #: libgeda/src/scheme_object.c:1457 msgid "Text object ~A has invalid text alignment ~A" msgstr "" #: libgeda/src/scheme_object.c:1466 msgid "Text object ~A has invalid visibility ~A" msgstr "" #: libgeda/src/scheme_object.c:1476 msgid "Text object ~A has invalid text attribute visibility ~A" msgstr "" #: libgeda/src/scheme_object.c:1517 msgid "Object ~A is not included in a page." msgstr "" #: libgeda/src/scheme_object.c:1670 msgid "Path object ~A has invalid element type ~A at index ~A" msgstr "" #: libgeda/src/scheme_object.c:1784 msgid "Invalid path element type ~A." msgstr "" #: libgeda/src/scheme_object.c:1957 msgid "Invalid picture angle ~A. Must be 0, 90, 180, or 270 degrees" msgstr "" #: libgeda/src/scheme_page.c:294 msgid "Object ~A is attached to a complex or different page" msgstr "" #: libgeda/src/scheme_page.c:442 msgid "Parse error: ~s" msgstr "" #: libgeda/scheme/geda/attrib.scm:59 #, scheme-format msgid "Object ~A is not part of a page" msgstr "" geda-gaf-1.8.2/libgeda/share/0000775000175000017500000000000012220655750012655 500000000000000geda-gaf-1.8.2/libgeda/share/Makefile.am0000664000175000017500000000041012220647257014627 00000000000000# $Id$ # prologdatadir = $(GEDADATADIR) prologdata_DATA = prolog.ps EXTRA_DIST = $(prologdata_DATA) MOSTLYCLEANFILES = *.log core FILE *~ CLEANFILES = *.log core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in geda-gaf-1.8.2/libgeda/share/Makefile.in0000664000175000017500000004451312220655725014653 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # $Id$ # VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = libgeda/share DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(prologdatadir)" DATA = $(prologdata_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ prologdatadir = $(GEDADATADIR) prologdata_DATA = prolog.ps EXTRA_DIST = $(prologdata_DATA) MOSTLYCLEANFILES = *.log core FILE *~ CLEANFILES = *.log core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libgeda/share/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu libgeda/share/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-prologdataDATA: $(prologdata_DATA) @$(NORMAL_INSTALL) @list='$(prologdata_DATA)'; test -n "$(prologdatadir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(prologdatadir)'"; \ $(MKDIR_P) "$(DESTDIR)$(prologdatadir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(prologdatadir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(prologdatadir)" || exit $$?; \ done uninstall-prologdataDATA: @$(NORMAL_UNINSTALL) @list='$(prologdata_DATA)'; test -n "$(prologdatadir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(prologdatadir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(prologdatadir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-prologdataDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-prologdataDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-prologdataDATA install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags-am uninstall uninstall-am \ uninstall-prologdataDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/libgeda/share/prolog.ps0000664000175000017500000003021312220647257014445 00000000000000% Prolog for gEDA, define all the functions needed for rendering % schematics on Postscript devices % Draw a line from the second coordinate to the first % x2 y2 x1 y1 width line - /line { setlinewidth % pop off first element and moveto moveto % pop off remaining elements and draw a line segment lineto % draw it stroke } bind def % Draw a dot % x y r dot - /dot { 0 360 arc fill } bind def % Draw a dot-dashed line, a bunch of lined segments, % if the array element only has length two, draw a dot. % [ [x2 y2 x1 y1] [x4 y4 x3 y3] [x5 y5] ... ] width dashed - /width 0 def /dashed { dup 2.0 div /width exch def setlinewidth % pop off each line segment and draw it as a dot or as a line { aload length 2 gt { moveto lineto stroke} { width dot } ifelse } forall } bind def % Draw an arc segment % x y r ang1 ang2 width darc - /darc { setlinewidth arc stroke } bind def % Draw a series of arc segment bits, if the array element only has a single % element in it, draw a dot. % [ [sa1 ea1] [sa2 ea2] ... ] x y r width dashedarc - /x 0 def /y 0 def /dashedarc { dup /width exch def setlinewidth /r exch def /y exch def /x exch def { aload length 1 gt { % this element had two angles in it % extract start and stop angles x y r % drop x y and r onto stack % at this point we have: sa ea x y r % we need x y r sa ea % so.. 5 -2 roll % and add it to the current path, and draw it arc stroke } { % this element only had one angle in it, place a % filled dot at the appropriate place % compute center point of the arc using the angle % that is on the top of the stack dup % angle angle cos r mul x add % angle x exch % x angle sin r mul y add % x y width % x y width/2 dot % draw the dot } ifelse } forall % Now draw it stroke } bind def % Draw a box % width height x y linethickness box - /box { setlinewidth moveto exch dup 0 rlineto % w h, h w w 0 -- Draw bottom line exch 0 exch rlineto % h w, w h 0, w 0 h -- Draw right line neg 0 rlineto % w, -w 0 -- Draw Top line closepath % finish and draw it stroke } bind def % Draw a filled box % width height x y fbox - /fbox { moveto exch dup 0 rlineto exch 0 exch rlineto neg 0 rlineto closepath fill } bind def % Font reincoding utilities % ISOLatin1Encoding, extended with remaining uncoded glyphs /ISOLatin1Extended [ /.notdef /Lslash /lslash /OE /oe /Scaron /scaron /Zcaron /zcaron /Ydieresis /trademark /bullet /dagger /daggerdbl /ellipsis /emdash /endash /fi /fl /florin /fraction /guilsinglleft /guilsinglright /perthousand /quotedblbase /quotedblleft /quotedblright /quotesinglbase /quotesingle /.notdef /.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /minus /period /slash /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /dotlessi /grave /acute /circumflex /tilde /macron /breve /dotaccent /dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek /caron /space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis ] def % `new-font-name' `encoding-vector' `old-font-name' RE - /RE { findfont dup maxlength dict begin { 1 index /FID ne { def } { pop pop } ifelse } forall /Encoding exch def dup /FontName exch def currentdict end definefont pop } bind def % Text handling functions, select the font and scale it, then we need % only to apply the appropriate transformations to get the text % justified into the right spots. The bad thing here is that we don't % do any kerning, so the output may look a bit strange. % compute the height of one character and return lly and ury % (char) charheight lly ury /charheight { gsave % push graphics state newpath % clear current path 0 0 moveto % Set current point false charpath % get path flattenpath % flatten path pathbbox % stack = llx lly urx ury exch pop % stack = llx lly ury 3 -1 roll pop % stack = lly ury grestore % pop graphics state } bind def % compute the height of a string, one character at a time % (string) stringheight lly ury /lly 0.0 def /ury 0.0 def /stringheight { /lly 0.0 def % initial value of heightmin /ury 0.0 def % initial value of heightmax { % work through string ( ) dup 0 4 -1 roll put % create one character string charheight % measure it's height dup ury gt { % if ury gt heightmax /ury exch def % update with new value } { pop % else discard ury } ifelse dup lly lt { % if lly lt heightmin /lly exch def % update with new value } { pop % else discard lly } ifelse } forall lly ury % Return the results } bind def % calculate the string width taking into account the escapes. /mystrx 0.0 def /mystry 0.0 def /mystresc false def /mystringwidth { /mystrx 0.0 def /mystry 0.0 def /mystresc false def { % work through string % did we process the escape character last? mystresc { % last character was escape % handle the escape % is it an _ = 95? dup 95 eq { pop % we don't need the character anymore % toggle drawing overbars 0.0 0.0 % make it like it never happened... } { % otherwise measure the character (\\ ) dup 1 4 -1 roll put % count a \ and the character stringwidth } ifelse % and reset the flag /mystresc false def } { % last character was not escape % is this escape dup 92 eq { % yes, escape character, set flag /mystresc true def pop % drop character 0.0 0.0 % make like this character has no width and height } { ( ) dup 0 4 -1 roll put % create one character string stringwidth % measure it's height/width } ifelse } ifelse % accumulate x and y movements mystry add /mystry exch def mystrx add /mystrx exch def } forall mystrx mystry % drop results on stack } bind def % Render a string with overbars % /escaped false def /drawoverbar false def /fontsize 0.0 def %string1 string2 append - /append { 2 copy length exch length add % find new length string dup % string1 string2 string string 4 2 roll % string string string1 string2 2 index 0 3 index % string string string1 string2 string 0 string1 putinterval % string string string1 string2 exch length exch putinterval } bind def % If drawoverbar is set, draw a line of the same length as the given string % string overbarshowline - /overbarshowline { % print overbar if necessary stringwidth pop 0 drawoverbar { rlineto gsave stroke grestore } { rmoveto } ifelse } bind def % Draws overbars for the given string, then shows the string itself % string overbarshow /overbarshow { /overbarshowacc () def /overbarshowtxt () def gsave fontsize 10.0 div setlinewidth 0 fontsize rmoveto % move to (0,overbarheight) { % work through string escaped { % the last character was the escape % handle the escape % is it an _ = 95? dup 95 eq { pop % we don't need the character anymore overbarshowacc overbarshowline % toggle drawing overbars /drawoverbar drawoverbar not def % Append the contents off the accumulator to the text % string we're eventually going to show /overbarshowtxt overbarshowtxt overbarshowacc append def % clear accumulator /overbarshowacc () def } { % add to accumulator (\\ ) dup 1 4 -1 roll put overbarshowacc exch append /overbarshowacc exch def } ifelse % and reset the flag /escaped false def } { % check for escape character \ = 92 dup 92 eq { % yes, escape character, set flag /escaped true def pop % drop character } { % add to accumulator ( ) dup 0 4 -1 roll put overbarshowacc exch append /overbarshowacc exch def } ifelse } ifelse } forall % Catch any leftovers overbarshowacc overbarshowline overbarshowtxt overbarshowacc append grestore show } bind def % % hcenter rjustify vcenter vjustify spacing [(line1) (line2) ... ] rot x y size text - /stringw 0.0 def /stringh 0.0 def /spacing 0.0 def /strings [ ] def /stringtxt ( ) def /stringcount 0 def /rot 0.0 def /text { gsave % save state for later /drawoverbar false def % start by not drawing overbars dup /fontsize exch def % save font size for corrections later % do font selection /gEDAFont findfont exch scalefont setfont % set up coordinates translate % move origin to given point rotate % rotate so that text is drawn 0 0 moveto dup length /stringcount exch def % Get number of strings /strings exch def % save strings /spacing exch def % do we have more than 1 string to render? stringcount 1 eq { /stringtxt strings aload pop def % get the string /stringw stringtxt mystringwidth pop neg def % get the -width /stringh stringtxt stringheight exch pop neg def% get the -height % First do vertical calculations % hcenter rjustify vcenter vjustify % vertical justification { 0 stringh rmoveto } if % vertical center { 0 stringh 0.3571425 mul rmoveto } if % not 0.5, so that % it looks nicer % Then do horizontal calculations % right justify { stringw 0 rmoveto } if % center { stringw 2.0 div 0 rmoveto } if % Draw the text stringtxt overbarshow } { % More than one line, compute bounding box for the text % vertical height, don't use the actual hieght of the characters % assume that the user wants to make the baselines line up with two % text boxes placed side by side /stringh stringcount spacing mul neg def % Now figure out horizontal size, this amounts to keeping track % of the longest string /stringw 0.0 def strings { mystringwidth pop dup stringw gt { /stringw exch def } { pop } ifelse } forall /stringw stringw neg def % get the -width % First do vertical calculations % hcenter rjustify vcenter vjustify % vertical justification { 0 stringh fontsize add rmoveto } if % vertical center { 0 stringh 0.5 mul rmoveto } if % Then do horizontal calculations % right justify { stringw 0 rmoveto } if % center { stringw 2.0 div 0 rmoveto } if % now move up to the first line and begin rendering 0 stringcount 1 sub spacing mul rmoveto strings { gsave % Save starting point overbarshow % render the text grestore 0 spacing neg rmoveto } forall } ifelse grestore % Restore old state } bind def geda-gaf-1.8.2/libgeda/libgeda.pc.in0000664000175000017500000000053312220654173014012 00000000000000prefix=@prefix@ exec_prefix=@exec_prefix@ libdir=@libdir@ includedir=@includedir@ gedarcdir=@GEDARCDIR@ gedadatadir=@GEDADATADIR@ Name: libgeda Description: gEDA/gaf's core library Requires: glib-2.0 gdk-pixbuf-2.0 gio-2.0 @GUILE_PKG_NAME@ Requires.private: Version: @DATE_VERSION@ Libs: -L${libdir} -lgeda Libs.private: Cflags: -I${includedir} geda-gaf-1.8.2/libgeda/HACKING0000664000175000017500000000116212207374137012464 00000000000000 Here's what the prefix letters mean: a_ : Action (this was a really poor choice, and will be removed) g_ : Guile related functions i_ : Interface related functions o_ : graphic Object related functions x_ : X related functions f_ : File related functions m_ : Math related functions s_ : data Structure related functions I've tried to keep the function names in the files correct, but sometimes I failed. (look at libgeda/a_basic.c for an example of a file which has a bunch of functions which shouldn't be in there) -Ales geda-gaf-1.8.2/libgeda/docs/0000775000175000017500000000000012220655750012503 500000000000000geda-gaf-1.8.2/libgeda/docs/libgeda.dox0000664000175000017500000014377712220647257014554 00000000000000# Doxyfile 1.4.6 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project # # All text after a hash (#) is considered a comment and will be ignored # The format is: # TAG = value [value, ...] # For lists items can also be appended using: # TAG += value [value, ...] # Values that contain spaces should be placed between quotes (" ") #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- # The PROJECT_NAME tag is a single word (or a sequence of words surrounded # by quotes) that should identify the project. PROJECT_NAME = libgeda # The PROJECT_NUMBER tag can be used to enter a project or revision number. # This could be handy for archiving the generated documentation or # if some version control system is used. PROJECT_NUMBER = # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. # If a relative path is entered, it will be relative to the location # where doxygen was started. If left blank the current directory will be used. OUTPUT_DIRECTORY = # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create # 4096 sub-directories (in 2 levels) under the output directory of each output # format and will distribute the generated files over these directories. # Enabling this option can be useful when feeding doxygen a huge amount of # source files, where putting all generated files in the same directory would # otherwise cause performance problems for the file system. CREATE_SUBDIRS = NO # The OUTPUT_LANGUAGE tag is used to specify the language in which all # documentation generated by doxygen is written. Doxygen will use this # information to generate all constant output in the proper language. # The default language is English, other supported languages are: # Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, # Dutch, Finnish, French, German, Greek, Hungarian, Italian, Japanese, # Japanese-en (Japanese with English messages), Korean, Korean-en, Norwegian, # Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish, # Swedish, and Ukrainian. OUTPUT_LANGUAGE = English # This tag can be used to specify the encoding used in the generated output. # The encoding is not always determined by the language that is chosen, # but also whether or not the output is meant for Windows or non-Windows users. # In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES # forces the Windows encoding (this is the default for the Windows binary), # whereas setting the tag to NO uses a Unix-style encoding (the default for # all platforms other than Windows). USE_WINDOWS_ENCODING = YES # If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will # include brief member descriptions after the members that are listed in # the file and class documentation (similar to JavaDoc). # Set to NO to disable this. BRIEF_MEMBER_DESC = YES # If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend # the brief description of a member or function before the detailed description. # Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the # brief descriptions will be completely suppressed. REPEAT_BRIEF = NO # This tag implements a quasi-intelligent brief description abbreviator # that is used to form the text in various listings. Each string # in this list, if found as the leading text of the brief description, will be # stripped from the text and the result after processing the whole list, is # used as the annotated text. Otherwise, the brief description is used as-is. # If left blank, the following values are used ("$name" is automatically # replaced with the name of the entity): "The $name class" "The $name widget" # "The $name file" "is" "provides" "specifies" "contains" # "represents" "a" "an" "the" ABBREVIATE_BRIEF = # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then # Doxygen will generate a detailed section even if there is only a brief # description. ALWAYS_DETAILED_SEC = YES # If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all # inherited members of a class in the documentation of that class as if those # members were ordinary class members. Constructors, destructors and assignment # operators of the base classes will not be shown. INLINE_INHERITED_MEMB = NO # If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full # path before files name in the file list and in the header files. If set # to NO the shortest path that makes the file name unique will be used. FULL_PATH_NAMES = NO # If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag # can be used to strip a user-defined part of the path. Stripping is # only done if one of the specified strings matches the left-hand part of # the path. The tag can be used to show relative paths in the file list. # If left blank the directory from which doxygen is run is used as the # path to strip. STRIP_FROM_PATH = # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of # the path mentioned in the documentation of a class, which tells # the reader which header file to include in order to use a class. # If left blank only the name of the header file containing the class # definition is used. Otherwise one should specify the include paths that # are normally passed to the compiler using the -I flag. STRIP_FROM_INC_PATH = # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter # (but less readable) file names. This can be useful is your file systems # doesn't support long names like on DOS, Mac, or CD-ROM. SHORT_NAMES = NO # If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen # will interpret the first line (until the first dot) of a JavaDoc-style # comment as the brief description. If set to NO, the JavaDoc # comments will behave just like the Qt-style comments (thus requiring an # explicit @brief command for a brief description. JAVADOC_AUTOBRIEF = NO # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen # treat a multi-line C++ special comment block (i.e. a block of //! or /// # comments) as a brief description. This used to be the default behaviour. # The new default is to treat a multi-line C++ comment block as a detailed # description. Set this tag to YES if you prefer the old behaviour instead. MULTILINE_CPP_IS_BRIEF = NO # If the DETAILS_AT_TOP tag is set to YES then Doxygen # will output the detailed description near the top, like JavaDoc. # If set to NO, the detailed description appears after the member # documentation. DETAILS_AT_TOP = NO # If the INHERIT_DOCS tag is set to YES (the default) then an undocumented # member inherits the documentation from any documented member that it # re-implements. INHERIT_DOCS = YES # If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce # a new page for each member. If set to NO, the documentation of a member will # be part of the file/class/namespace that contains it. SEPARATE_MEMBER_PAGES = NO # The TAB_SIZE tag can be used to set the number of spaces in a tab. # Doxygen uses this value to replace tabs by spaces in code fragments. TAB_SIZE = 4 # This tag can be used to specify a number of aliases that acts # as commands in the documentation. An alias has the form "name=value". # For example adding "sideeffect=\par Side Effects:\n" will allow you to # put the command \sideeffect (or @sideeffect) in the documentation, which # will result in a user-defined paragraph with heading "Side Effects:". # You can put \n's in the value part of an alias to insert newlines. ALIASES = # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C # sources only. Doxygen will then generate output that is more tailored for C. # For instance, some of the names that are used will be different. The list # of all members will be omitted, etc. OPTIMIZE_OUTPUT_FOR_C = YES # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java # sources only. Doxygen will then generate output that is more tailored for Java. # For instance, namespaces will be presented as packages, qualified scopes # will look different, etc. OPTIMIZE_OUTPUT_JAVA = NO # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want to # include (a tag file for) the STL sources as input, then you should # set this tag to YES in order to let doxygen match functions declarations and # definitions whose arguments contain STL classes (e.g. func(std::string); v.s. # func(std::string) {}). This also make the inheritance and collaboration # diagrams that involve STL classes more complete and accurate. BUILTIN_STL_SUPPORT = NO # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC # tag is set to YES, then doxygen will reuse the documentation of the first # member in the group (if any) for the other members of the group. By default # all members of a group must be documented explicitly. DISTRIBUTE_GROUP_DOC = NO # Set the SUBGROUPING tag to YES (the default) to allow class member groups of # the same type (for instance a group of public functions) to be put as a # subgroup of that type (e.g. under the Public Functions section). Set it to # NO to prevent subgrouping. Alternatively, this can be done per class using # the \nosubgrouping command. SUBGROUPING = YES #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in # documentation are documented, even if no documentation was available. # Private class members and static file members will be hidden unless # the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES EXTRACT_ALL = YES # If the EXTRACT_PRIVATE tag is set to YES all private members of a class # will be included in the documentation. EXTRACT_PRIVATE = YES # If the EXTRACT_STATIC tag is set to YES all static members of a file # will be included in the documentation. EXTRACT_STATIC = YES # If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) # defined locally in source files will be included in the documentation. # If set to NO only classes defined in header files are included. EXTRACT_LOCAL_CLASSES = YES # This flag is only useful for Objective-C code. When set to YES local # methods, which are defined in the implementation section but not in # the interface are included in the documentation. # If set to NO (the default) only methods in the interface are included. EXTRACT_LOCAL_METHODS = YES # If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all # undocumented members of documented classes, files or namespaces. # If set to NO (the default) these members will be included in the # various overviews, but no documentation section is generated. # This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_MEMBERS = NO # If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all # undocumented classes that are normally visible in the class hierarchy. # If set to NO (the default) these classes will be included in the various # overviews. This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_CLASSES = NO # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all # friend (class|struct|union) declarations. # If set to NO (the default) these declarations will be included in the # documentation. HIDE_FRIEND_COMPOUNDS = NO # If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any # documentation blocks found inside the body of a function. # If set to NO (the default) these blocks will be appended to the # function's detailed documentation block. HIDE_IN_BODY_DOCS = NO # The INTERNAL_DOCS tag determines if documentation # that is typed after a \internal command is included. If the tag is set # to NO (the default) then the documentation will be excluded. # Set it to YES to include the internal documentation. INTERNAL_DOCS = NO # If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate # file names in lower-case letters. If set to YES upper-case letters are also # allowed. This is useful if you have classes or files whose names only differ # in case and if your file system supports case sensitive file names. Windows # and Mac users are advised to set this option to NO. CASE_SENSE_NAMES = YES # If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen # will show members with their full class and namespace scopes in the # documentation. If set to YES the scope will be hidden. HIDE_SCOPE_NAMES = NO # If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen # will put a list of the files that are included by a file in the documentation # of that file. SHOW_INCLUDE_FILES = YES # If the INLINE_INFO tag is set to YES (the default) then a tag [inline] # is inserted in the documentation for inline members. INLINE_INFO = YES # If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen # will sort the (detailed) documentation of file and class members # alphabetically by member name. If set to NO the members will appear in # declaration order. SORT_MEMBER_DOCS = NO # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the # brief documentation of file, namespace and class members alphabetically # by member name. If set to NO (the default) the members will appear in # declaration order. SORT_BRIEF_DOCS = NO # If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be # sorted by fully-qualified names, including namespaces. If set to # NO (the default), the class list will be sorted only by class name, # not including the namespace part. # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. # Note: This option applies only to the class list, not to the # alphabetical list. SORT_BY_SCOPE_NAME = NO # The GENERATE_TODOLIST tag can be used to enable (YES) or # disable (NO) the todo list. This list is created by putting \todo # commands in the documentation. GENERATE_TODOLIST = YES # The GENERATE_TESTLIST tag can be used to enable (YES) or # disable (NO) the test list. This list is created by putting \test # commands in the documentation. GENERATE_TESTLIST = YES # The GENERATE_BUGLIST tag can be used to enable (YES) or # disable (NO) the bug list. This list is created by putting \bug # commands in the documentation. GENERATE_BUGLIST = YES # The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or # disable (NO) the deprecated list. This list is created by putting # \deprecated commands in the documentation. GENERATE_DEPRECATEDLIST= YES # The ENABLED_SECTIONS tag can be used to enable conditional # documentation sections, marked by \if sectionname ... \endif. ENABLED_SECTIONS = # The MAX_INITIALIZER_LINES tag determines the maximum number of lines # the initial value of a variable or define consists of for it to appear in # the documentation. If the initializer consists of more lines than specified # here it will be hidden. Use a value of 0 to hide initializers completely. # The appearance of the initializer of individual variables and defines in the # documentation can be controlled using \showinitializer or \hideinitializer # command in the documentation regardless of this setting. MAX_INITIALIZER_LINES = 30 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated # at the bottom of the documentation of classes and structs. If set to YES the # list will mention the files that were used to generate the documentation. SHOW_USED_FILES = YES # If the sources in your project are distributed over multiple directories # then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy # in the documentation. The default is NO. SHOW_DIRECTORIES = YES # The FILE_VERSION_FILTER tag can be used to specify a program or script that # doxygen should invoke to get the current version for each file (typically from the # version control system). Doxygen will invoke the program by executing (via # popen()) the command , where is the value of # the FILE_VERSION_FILTER tag, and is the name of an input file # provided by doxygen. Whatever the program writes to standard output # is used as the file version. See the manual for examples. FILE_VERSION_FILTER = #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- # The QUIET tag can be used to turn on/off the messages that are generated # by doxygen. Possible values are YES and NO. If left blank NO is used. QUIET = NO # The WARNINGS tag can be used to turn on/off the warning messages that are # generated by doxygen. Possible values are YES and NO. If left blank # NO is used. WARNINGS = YES # If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings # for undocumented members. If EXTRACT_ALL is set to YES then this flag will # automatically be disabled. WARN_IF_UNDOCUMENTED = YES # If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for # potential errors in the documentation, such as not documenting some # parameters in a documented function, or documenting parameters that # don't exist or using markup commands wrongly. WARN_IF_DOC_ERROR = YES # This WARN_NO_PARAMDOC option can be abled to get warnings for # functions that are documented, but have no documentation for their parameters # or return value. If set to NO (the default) doxygen will only warn about # wrong or incomplete parameter documentation, but not about the absence of # documentation. WARN_NO_PARAMDOC = NO # The WARN_FORMAT tag determines the format of the warning messages that # doxygen can produce. The string should contain the $file, $line, and $text # tags, which will be replaced by the file and line number from which the # warning originated and the warning text. Optionally the format may contain # $version, which will be replaced by the version of the file (if it could # be obtained via FILE_VERSION_FILTER) WARN_FORMAT = "$file:$line: $text" # The WARN_LOGFILE tag can be used to specify a file to which warning # and error messages should be written. If left blank the output is written # to stderr. WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- # The INPUT tag can be used to specify the files and/or directories that contain # documented source files. You may enter file names like "myfile.cpp" or # directories like "/usr/src/myproject". Separate the files or directories # with spaces. INPUT = ../src ../include ../docs/libgeda-main.txt # If the value of the INPUT tag contains directories, you can use the # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank the following patterns are tested: # *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx # *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py FILE_PATTERNS = *.c *.h # The RECURSIVE tag can be used to turn specify whether or not subdirectories # should be searched for input files as well. Possible values are YES and NO. # If left blank NO is used. RECURSIVE = YES # The EXCLUDE tag can be used to specify files and/or directories that should # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. EXCLUDE = # The EXCLUDE_SYMLINKS tag can be used select whether or not files or # directories that are symbolic links (a Unix filesystem feature) are excluded # from the input. EXCLUDE_SYMLINKS = NO # If the value of the INPUT tag contains directories, you can use the # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude # certain files from those directories. Note that the wildcards are matched # against the file with absolute path, so to exclude all test directories # for example use the pattern */test/* EXCLUDE_PATTERNS = # The EXAMPLE_PATH tag can be used to specify one or more files or # directories that contain example code fragments that are included (see # the \include command). EXAMPLE_PATH = ../docs # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank all files are included. EXAMPLE_PATTERNS = # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be # searched for input files to be used with the \include or \dontinclude # commands irrespective of the value of the RECURSIVE tag. # Possible values are YES and NO. If left blank NO is used. EXAMPLE_RECURSIVE = NO # The IMAGE_PATH tag can be used to specify one or more files or # directories that contain image that are included in the documentation (see # the \image command). IMAGE_PATH = ../docs # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program # by executing (via popen()) the command , where # is the value of the INPUT_FILTER tag, and is the name of an # input file. Doxygen will then use the output that the filter program writes # to standard output. If FILTER_PATTERNS is specified, this tag will be # ignored. INPUT_FILTER = # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern # basis. Doxygen will compare the file name with each pattern and apply the # filter if there is a match. The filters are a list of the form: # pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further # info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER # is applied to all files. FILTER_PATTERNS = # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using # INPUT_FILTER) will be used to filter the input files when producing source # files to browse (i.e. when SOURCE_BROWSER is set to YES). FILTER_SOURCE_FILES = NO #--------------------------------------------------------------------------- # configuration options related to source browsing #--------------------------------------------------------------------------- # If the SOURCE_BROWSER tag is set to YES then a list of source files will # be generated. Documented entities will be cross-referenced with these sources. # Note: To get rid of all source code in the generated output, make sure also # VERBATIM_HEADERS is set to NO. SOURCE_BROWSER = YES # Setting the INLINE_SOURCES tag to YES will include the body # of functions and classes directly in the documentation. INLINE_SOURCES = NO # Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct # doxygen to hide any special comment blocks from generated source code # fragments. Normal C and C++ comments will always remain visible. STRIP_CODE_COMMENTS = YES # If the REFERENCED_BY_RELATION tag is set to YES (the default) # then for each documented function all documented # functions referencing it will be listed. REFERENCED_BY_RELATION = NO # If the REFERENCES_RELATION tag is set to YES (the default) # then for each documented function all documented entities # called/used by that function will be listed. REFERENCES_RELATION = NO # If the USE_HTAGS tag is set to YES then the references to source code # will point to the HTML generated by the htags(1) tool instead of doxygen # built-in source browser. The htags tool is part of GNU's global source # tagging system (see http://www.gnu.org/software/global/global.html). You # will need version 4.8.6 or higher. USE_HTAGS = NO # If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen # will generate a verbatim copy of the header file for each class for # which an include is specified. Set to NO to disable this. VERBATIM_HEADERS = YES #--------------------------------------------------------------------------- # configuration options related to the alphabetical class index #--------------------------------------------------------------------------- # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index # of all compounds will be generated. Enable this if the project # contains a lot of classes, structs, unions or interfaces. ALPHABETICAL_INDEX = YES # If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then # the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns # in which this list will be split (can be a number in the range [1..20]) COLS_IN_ALPHA_INDEX = 5 # In case all classes in a project start with a common prefix, all # classes will be put under the same header in the alphabetical index. # The IGNORE_PREFIX tag can be used to specify one or more prefixes that # should be ignored while generating the index headers. IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- # If the GENERATE_HTML tag is set to YES (the default) Doxygen will # generate HTML output. GENERATE_HTML = YES # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `html' will be used as the default path. HTML_OUTPUT = html # The HTML_FILE_EXTENSION tag can be used to specify the file extension for # each generated HTML page (for example: .htm,.php,.asp). If it is left blank # doxygen will generate files with .html extension. HTML_FILE_EXTENSION = .html # The HTML_HEADER tag can be used to specify a personal HTML header for # each generated HTML page. If it is left blank doxygen will generate a # standard header. HTML_HEADER = # The HTML_FOOTER tag can be used to specify a personal HTML footer for # each generated HTML page. If it is left blank doxygen will generate a # standard footer. HTML_FOOTER = # The HTML_STYLESHEET tag can be used to specify a user-defined cascading # style sheet that is used by each HTML page. It can be used to # fine-tune the look of the HTML output. If the tag is left blank doxygen # will generate a default style sheet. Note that doxygen will try to copy # the style sheet file to the HTML output directory, so don't put your own # stylesheet in the HTML output directory as well, or it will be erased! HTML_STYLESHEET = # If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, # files or namespaces will be aligned in HTML using tables. If set to # NO a bullet list will be used. HTML_ALIGN_MEMBERS = YES # If the GENERATE_HTMLHELP tag is set to YES, additional index files # will be generated that can be used as input for tools like the # Microsoft HTML help workshop to generate a compressed HTML help file (.chm) # of the generated HTML documentation. GENERATE_HTMLHELP = NO # If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can # be used to specify the file name of the resulting .chm file. You # can add a path in front of the file if the result should not be # written to the html output directory. CHM_FILE = # If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can # be used to specify the location (absolute path including file name) of # the HTML help compiler (hhc.exe). If non-empty doxygen will try to run # the HTML help compiler on the generated index.hhp. HHC_LOCATION = # If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag # controls if a separate .chi index file is generated (YES) or that # it should be included in the master .chm file (NO). GENERATE_CHI = NO # If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag # controls whether a binary table of contents is generated (YES) or a # normal table of contents (NO) in the .chm file. BINARY_TOC = NO # The TOC_EXPAND flag can be set to YES to add extra items for group members # to the contents of the HTML help documentation and to the tree view. TOC_EXPAND = NO # The DISABLE_INDEX tag can be used to turn on/off the condensed index at # top of each HTML page. The value NO (the default) enables the index and # the value YES disables it. DISABLE_INDEX = NO # This tag can be used to set the number of enum values (range [1..20]) # that doxygen will group on one line in the generated HTML documentation. ENUM_VALUES_PER_LINE = 4 # If the GENERATE_TREEVIEW tag is set to YES, a side panel will be # generated containing a tree-like index structure (just like the one that # is generated for HTML Help). For this to work a browser that supports # JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, # Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are # probably better off using the HTML help feature. GENERATE_TREEVIEW = YES # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be # used to set the initial width (in pixels) of the frame in which the tree # is shown. TREEVIEW_WIDTH = 250 #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will # generate Latex output. GENERATE_LATEX = YES # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `latex' will be used as the default path. LATEX_OUTPUT = latex # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be # invoked. If left blank `latex' will be used as the default command name. LATEX_CMD_NAME = latex # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to # generate index for LaTeX. If left blank `makeindex' will be used as the # default command name. MAKEINDEX_CMD_NAME = makeindex # If the COMPACT_LATEX tag is set to YES Doxygen generates more compact # LaTeX documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_LATEX = NO # The PAPER_TYPE tag can be used to set the paper type that is used # by the printer. Possible values are: a4, a4wide, letter, legal and # executive. If left blank a4wide will be used. PAPER_TYPE = a4wide # The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX # packages that should be included in the LaTeX output. EXTRA_PACKAGES = # The LATEX_HEADER tag can be used to specify a personal LaTeX header for # the generated latex document. The header should contain everything until # the first chapter. If it is left blank doxygen will generate a # standard header. Notice: only use this tag if you know what you are doing! LATEX_HEADER = # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated # is prepared for conversion to pdf (using ps2pdf). The pdf file will # contain links (just like the HTML output) instead of page references # This makes the output suitable for online browsing using a pdf viewer. PDF_HYPERLINKS = YES # If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of # plain latex in the generated Makefile. Set this option to YES to get a # higher quality PDF documentation. USE_PDFLATEX = YES # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. # command to the generated LaTeX files. This will instruct LaTeX to keep # running if errors occur, instead of asking the user for help. # This option is also used when generating formulas in HTML. LATEX_BATCHMODE = NO # If LATEX_HIDE_INDICES is set to YES then doxygen will not # include the index chapters (such as File Index, Compound Index, etc.) # in the output. LATEX_HIDE_INDICES = NO #--------------------------------------------------------------------------- # configuration options related to the RTF output #--------------------------------------------------------------------------- # If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output # The RTF output is optimized for Word 97 and may not look very pretty with # other RTF readers or editors. GENERATE_RTF = NO # The RTF_OUTPUT tag is used to specify where the RTF docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `rtf' will be used as the default path. RTF_OUTPUT = rtf # If the COMPACT_RTF tag is set to YES Doxygen generates more compact # RTF documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_RTF = NO # If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated # will contain hyperlink fields. The RTF file will # contain links (just like the HTML output) instead of page references. # This makes the output suitable for online browsing using WORD or other # programs which support those fields. # Note: wordpad (write) and others do not support links. RTF_HYPERLINKS = NO # Load stylesheet definitions from file. Syntax is similar to doxygen's # config file, i.e. a series of assignments. You only have to provide # replacements, missing definitions are set to their default value. RTF_STYLESHEET_FILE = # Set optional variables used in the generation of an rtf document. # Syntax is similar to doxygen's config file. RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- # If the GENERATE_MAN tag is set to YES (the default) Doxygen will # generate man pages GENERATE_MAN = NO # The MAN_OUTPUT tag is used to specify where the man pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `man' will be used as the default path. MAN_OUTPUT = man # The MAN_EXTENSION tag determines the extension that is added to # the generated man pages (default is the subroutine's section .3) MAN_EXTENSION = .3 # If the MAN_LINKS tag is set to YES and Doxygen generates man output, # then it will generate one additional man file for each entity # documented in the real man page(s). These additional files # only source the real man page, but without them the man command # would be unable to find the correct page. The default is NO. MAN_LINKS = NO #--------------------------------------------------------------------------- # configuration options related to the XML output #--------------------------------------------------------------------------- # If the GENERATE_XML tag is set to YES Doxygen will # generate an XML file that captures the structure of # the code including all documentation. GENERATE_XML = NO # The XML_OUTPUT tag is used to specify where the XML pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `xml' will be used as the default path. XML_OUTPUT = xml # The XML_SCHEMA tag can be used to specify an XML schema, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_SCHEMA = # The XML_DTD tag can be used to specify an XML DTD, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_DTD = # If the XML_PROGRAMLISTING tag is set to YES Doxygen will # dump the program listings (including syntax highlighting # and cross-referencing information) to the XML output. Note that # enabling this will significantly increase the size of the XML output. XML_PROGRAMLISTING = YES #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- # If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will # generate an AutoGen Definitions (see autogen.sf.net) file # that captures the structure of the code including all # documentation. Note that this feature is still experimental # and incomplete at the moment. GENERATE_AUTOGEN_DEF = NO #--------------------------------------------------------------------------- # configuration options related to the Perl module output #--------------------------------------------------------------------------- # If the GENERATE_PERLMOD tag is set to YES Doxygen will # generate a Perl module file that captures the structure of # the code including all documentation. Note that this # feature is still experimental and incomplete at the # moment. GENERATE_PERLMOD = NO # If the PERLMOD_LATEX tag is set to YES Doxygen will generate # the necessary Makefile rules, Perl scripts and LaTeX code to be able # to generate PDF and DVI output from the Perl module output. PERLMOD_LATEX = NO # If the PERLMOD_PRETTY tag is set to YES the Perl module output will be # nicely formatted so it can be parsed by a human reader. This is useful # if you want to understand what is going on. On the other hand, if this # tag is set to NO the size of the Perl module output will be much smaller # and Perl will parse it just the same. PERLMOD_PRETTY = YES # The names of the make variables in the generated doxyrules.make file # are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. # This is useful so different doxyrules.make files included by the same # Makefile don't overwrite each other's variables. PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the preprocessor #--------------------------------------------------------------------------- # If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will # evaluate all C-preprocessor directives found in the sources and include # files. ENABLE_PREPROCESSING = YES # If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro # names in the source code. If set to NO (the default) only conditional # compilation will be performed. Macro expansion can be done in a controlled # way by setting EXPAND_ONLY_PREDEF to YES. MACRO_EXPANSION = YES # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES # then the macro expansion is limited to the macros specified with the # PREDEFINED and EXPAND_AS_DEFINED tags. EXPAND_ONLY_PREDEF = NO # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files # in the INCLUDE_PATH (see below) will be search if a #include is found. SEARCH_INCLUDES = YES # The INCLUDE_PATH tag can be used to specify one or more directories that # contain include files that are not input files but should be processed by # the preprocessor. INCLUDE_PATH = /usr/include # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard # patterns (like *.h and *.hpp) to filter out the header-files in the # directories. If left blank, the patterns specified with FILE_PATTERNS will # be used. INCLUDE_FILE_PATTERNS = # The PREDEFINED tag can be used to specify one or more macro names that # are defined before the preprocessor is started (similar to the -D option of # gcc). The argument of the tag is a list of macros of the form: name # or name=definition (no spaces). If the definition and the = are # omitted =1 is assumed. To prevent a macro definition from being # undefined via #undef or recursively expanded use the := operator # instead of the = operator. PREDEFINED = # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then # this tag can be used to specify a list of macro names that should be expanded. # The macro definition that is found in the sources will be used. # Use the PREDEFINED tag if you want to use a different macro definition. EXPAND_AS_DEFINED = # If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then # doxygen's preprocessor will remove all function-like macros that are alone # on a line, have an all uppercase name, and do not end with a semicolon. Such # function macros are typically used for boiler-plate code, and will confuse # the parser if not removed. SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- # Configuration::additions related to external references #--------------------------------------------------------------------------- # The TAGFILES option can be used to specify one or more tagfiles. # Optionally an initial location of the external documentation # can be added for each tagfile. The format of a tag file without # this location is as follows: # TAGFILES = file1 file2 ... # Adding location for the tag files is done as follows: # TAGFILES = file1=loc1 "file2 = loc2" ... # where "loc1" and "loc2" can be relative or absolute paths or # URLs. If a location is present for each tag, the installdox tool # does not have to be run to correct the links. # Note that each tag file must have a unique name # (where the name does NOT include the path) # If a tag file is not located in the directory in which doxygen # is run, you must also specify the path to the tagfile here. TAGFILES = # When a file name is specified after GENERATE_TAGFILE, doxygen will create # a tag file that is based on the input files it reads. GENERATE_TAGFILE = # If the ALLEXTERNALS tag is set to YES all external classes will be listed # in the class index. If set to NO only the inherited external classes # will be listed. ALLEXTERNALS = NO # If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed # in the modules index. If set to NO, only the current project's groups will # be listed. EXTERNAL_GROUPS = YES # The PERL_PATH should be the absolute path and name of the perl script # interpreter (i.e. the result of `which perl'). PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- # Configuration options related to the dot tool #--------------------------------------------------------------------------- # If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will # generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base # or super classes. Setting the tag to NO turns the diagrams off. Note that # this option is superseded by the HAVE_DOT option below. This is only a # fallback. It is recommended to install and use dot, since it yields more # powerful graphs. CLASS_DIAGRAMS = YES # If set to YES, the inheritance and collaboration graphs will hide # inheritance and usage relations if the target is undocumented # or is not a class. HIDE_UNDOC_RELATIONS = YES # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is # available from the path. This tool is part of Graphviz, a graph visualization # toolkit from AT&T and Lucent Bell Labs. The other options in this section # have no effect if this option is set to NO (the default) HAVE_DOT = YES # If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect inheritance relations. Setting this tag to YES will force the # the CLASS_DIAGRAMS tag to NO. CLASS_GRAPH = YES # If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect implementation dependencies (inheritance, containment, and # class references variables) of the class with other documented classes. COLLABORATION_GRAPH = YES # If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen # will generate a graph for groups, showing the direct groups dependencies GROUP_GRAPHS = YES # If the UML_LOOK tag is set to YES doxygen will generate inheritance and # collaboration diagrams in a style similar to the OMG's Unified Modeling # Language. UML_LOOK = YES # If set to YES, the inheritance and collaboration graphs will show the # relations between templates and their instances. TEMPLATE_RELATIONS = NO # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT # tags are set to YES then doxygen will generate a graph for each documented # file showing the direct and indirect include dependencies of the file with # other documented files. INCLUDE_GRAPH = YES # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and # HAVE_DOT tags are set to YES then doxygen will generate a graph for each # documented header file showing the documented files that directly or # indirectly include this file. INCLUDED_BY_GRAPH = YES # If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will # generate a call dependency graph for every global function or class method. # Note that enabling this option will significantly increase the time of a run. # So in most cases it will be better to enable call graphs for selected # functions only using the \callgraph command. CALL_GRAPH = YES # If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen # will graphical hierarchy of all classes instead of a textual one. GRAPHICAL_HIERARCHY = YES # If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES # then doxygen will show the dependencies a directory has on other directories # in a graphical way. The dependency relations are determined by the #include # relations between the files in the directories. DIRECTORY_GRAPH = YES # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images # generated by dot. Possible values are png, jpg, or gif # If left blank png will be used. DOT_IMAGE_FORMAT = png # The tag DOT_PATH can be used to specify the path where the dot tool can be # found. If left blank, it is assumed the dot tool can be found in the path. DOT_PATH = # The DOTFILE_DIRS tag can be used to specify one or more directories that # contain dot files that are included in the documentation (see the # \dotfile command). DOTFILE_DIRS = # The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width # (in pixels) of the graphs generated by dot. If a graph becomes larger than # this value, doxygen will try to truncate the graph, so that it fits within # the specified constraint. Beware that most browsers cannot cope with very # large images. MAX_DOT_GRAPH_WIDTH = 1024 # The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height # (in pixels) of the graphs generated by dot. If a graph becomes larger than # this value, doxygen will try to truncate the graph, so that it fits within # the specified constraint. Beware that most browsers cannot cope with very # large images. MAX_DOT_GRAPH_HEIGHT = 1024 # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the # graphs generated by dot. A depth value of 3 means that only nodes reachable # from the root by following a path via at most 3 edges will be shown. Nodes # that lay further from the root node will be omitted. Note that setting this # option to 1 or 2 may greatly reduce the computation time needed for large # code bases. Also note that a graph may be further truncated if the graph's # image dimensions are not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH # and MAX_DOT_GRAPH_HEIGHT). If 0 is used for the depth value (the default), # the graph is not depth-constrained. MAX_DOT_GRAPH_DEPTH = 0 # Set the DOT_TRANSPARENT tag to YES to generate images with a transparent # background. This is disabled by default, which results in a white background. # Warning: Depending on the platform used, enabling this option may lead to # badly anti-aliased labels on the edges of a graph (i.e. they become hard to # read). DOT_TRANSPARENT = YES # Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output # files in one run (i.e. multiple -o and -T options on the command line). This # makes dot run faster, but since only newer versions of dot (>1.8.10) # support this, this feature is disabled by default. DOT_MULTI_TARGETS = NO # If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will # generate a legend page explaining the meaning of the various boxes and # arrows in the dot generated graphs. GENERATE_LEGEND = YES # If the DOT_CLEANUP tag is set to YES (the default) Doxygen will # remove the intermediate dot files that are used to generate # the various graphs. DOT_CLEANUP = YES #--------------------------------------------------------------------------- # Configuration::additions related to the search engine #--------------------------------------------------------------------------- # The SEARCHENGINE tag specifies whether or not a search engine should be # used. If set to NO the values of all tags below this one will be ignored. SEARCHENGINE = YES geda-gaf-1.8.2/libgeda/docs/Makefile.am0000664000175000017500000000137112220647257014464 00000000000000SUBDIRS = images EXTRA_DIST = libgeda-main.txt what-is-geda.html \ what-is-libgeda.html logo.png libgeda.dox SUFFIXES = .html .tex .pdf all: @echo 'Type: make doxygen to create doxygen documentation for libgeda' doxygen: libgeda.dox @echo 'Creating doxygen documentation for libgeda...' if ENABLE_DOXYGEN -cd images && $(MAKE) images -cd .. $(DOXYGEN) libgeda.dox -cd latex && $(MAKE) -cd .. else @echo 'configure was not run with the --enable-doxygen switch.' @echo 'The documentation cannot be built from the sources.' endif MOSTLYCLEANFILES = *.log *~ CLEANFILES = *.log *~ DISTCLEANFILES = *.log MAINTAINERCLEANFILES = *.log *~ Makefile.in distclean-local: -rm -rf html latex maintainer-clean-local: -rm -rf html latex geda-gaf-1.8.2/libgeda/docs/what-is-geda.html0000664000175000017500000000155412207374137015572 00000000000000 What is gEDA?

    The gEDA project is working on producing a full GPL'd suite of Electronic Design Automation tools. These tools are used for electrical circuit design, schematic capture, simulation, prototyping, and production. Currently, the gEDA project offers a mature suite of free software applications for electronics design, including schematic capture, attribute management, bill of materials (BOM) generation, netlisting into over 20 netlist formats, analog and digital simulation, and printed circuit board (PCB) layout.

    The gEDA project was started because of the lack of free EDA tools for UNIX. The tools are being developed mainly on GNU/Linux machines, but considerable effort is being made to make sure that gEDA runs on other UNIX variants. For a complete list of freely available tools please be sure to visit Open Collector. geda-gaf-1.8.2/libgeda/docs/Makefile.in0000664000175000017500000005600712220655725014502 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = libgeda/docs DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = images EXTRA_DIST = libgeda-main.txt what-is-geda.html \ what-is-libgeda.html logo.png libgeda.dox SUFFIXES = .html .tex .pdf MOSTLYCLEANFILES = *.log *~ CLEANFILES = *.log *~ DISTCLEANFILES = *.log MAINTAINERCLEANFILES = *.log *~ Makefile.in all: all-recursive .SUFFIXES: .SUFFIXES: .html .tex .pdf $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libgeda/docs/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu libgeda/docs/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-local \ distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic \ maintainer-clean-local mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic clean-libtool cscopelist-am ctags \ ctags-am distclean distclean-generic distclean-libtool \ distclean-local distclean-tags distdir dvi dvi-am html html-am \ info info-am install install-am install-data install-data-am \ install-dvi install-dvi-am install-exec install-exec-am \ install-html install-html-am install-info install-info-am \ install-man install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs installdirs-am maintainer-clean \ maintainer-clean-generic maintainer-clean-local mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am all: @echo 'Type: make doxygen to create doxygen documentation for libgeda' doxygen: libgeda.dox @echo 'Creating doxygen documentation for libgeda...' @ENABLE_DOXYGEN_TRUE@ -cd images && $(MAKE) images @ENABLE_DOXYGEN_TRUE@ -cd .. @ENABLE_DOXYGEN_TRUE@ $(DOXYGEN) libgeda.dox @ENABLE_DOXYGEN_TRUE@ -cd latex && $(MAKE) @ENABLE_DOXYGEN_TRUE@ -cd .. @ENABLE_DOXYGEN_FALSE@ @echo 'configure was not run with the --enable-doxygen switch.' @ENABLE_DOXYGEN_FALSE@ @echo 'The documentation cannot be built from the sources.' distclean-local: -rm -rf html latex maintainer-clean-local: -rm -rf html latex # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/libgeda/docs/what-is-libgeda.html0000664000175000017500000000020012207374137016244 00000000000000 What is libgEDA?

    libgEDA is a set of common routines that are used in the gEDA suite of applications. geda-gaf-1.8.2/libgeda/docs/logo.png0000664000175000017500000003677612207374137014116 00000000000000PNG  IHDRmSbKGD pHYs  ~tIME&.h IDATx}^}翏{0Iɮ&uu"u$]V.Q!G *h=Ζ.YnDnbZb#uoikL263f9ϝzsGz=9};;/                                            @]I4B+Ai폍*\"Ro &uj%=UbyRN";q꺨]E ! ߕ=D$+ vl\~U]Ie*^m[{i,]ӧm _C:{8eB, n"ǣb#(j/,j-<\L/>qU#/W䗷`(:m qm)?J(J RiuףMqxQHě+%2bx%ELP:₇T,R KOɳZ6;OSUʮ"H@M6]1{0)lIҖh' .0D!ۮ!?0NqD{'u`y;tqlyKxP4e\SVad mIsl|[*ZWG !-1"(lŅqUpʒ&.?[gWU>11"`m!?̒bQw1X,,ܛ| UЪJΥ*dqM/ƱmĀ8H#rL&u UY%m w+Ҷw٧VlĄ)/]\86%;UCp [|}^خ} ob}DEk 4 =|״pq$^Yc?&2EFڷ<׸.oyykUTyiY:"vlҊt^S孫]jEM~|*0Z.}( :\-.-0i7#Ir PWd(OV]3MzO/i˥6itWɵ&kst$MCڴ6WUFmG7{Y<Q{7mK*&L,rʡK/B-z/ U,^z7JB.2pX&.Xz?XN=@$BTQɚTdUqtmߒe lʣ6l)KkkƮ|x8YmL.oyٴW5lVB.m=&I۶oԔVo*N؄٦-ɮDH .,ÇfKC.E՜-! d%Ƚ`L\\&0ZK? "CU"eCէ!Y&Wa!o*7$LidqlbŎ 4ik~xeETyTp67]zW1/T2.ENʓL+jH  B8^́ `<x܆ۏ{)0Q |b0E.p"c):bpa+P$MVV\񦤉kڶ]%08YB"Of&]Q"UL5 M]QKk.ot:qg&EP%=_W O6̡dWm& U`ᦼ'`,/o8D>mݛc\7y'l*Pͬ^ 6My1)>|\ Qimil)FزaۦOb# LLL4Uv|Bm^pGEl,DGxϥh{2se{!uÛ`SɻVipQžk%^!T\ Y "DnSV[n;r5_]2qtv| 3kqc.0zZv^ ~~2`p(2+[E0bG.p64Eڋo`Y"$|u' Hؤd /c:Vs9E U`p/F ތ~a[Cæ#PőųaKcFd,L9y<"i!}yrxG0[cc?0 'U<ы;y?֏v |1LpobfL* "2Laqmy+N,H며GRfYu+.>eEIPS7GD"!LVgM!4,:߮^t$UKk",l|'A|*΢7Ǧ&!+Lēɋd+`d۪vhي [O*n/JlsSɺhE9$D!OV! qIz/DaWsm|St| M8$b*^"Ia/i~sm~=LbƔN7U}]LA UQ9B:Ʒe"V\Ui=><}q>"rB 4xY ݛ}7 ;0'CW'M! ɰd|Hg*]*"TB+{h!)[pr_\]Mc'KP{%Tu(I̞l?uUWx0*\]OzI^e 񿦥JhCUN%7G|Ӈk"AH? 匹y"))/k3rR1XILM$*DwCX"+r ?K~%Eǐe폑D¦XhYdd39ۢ&tk]5vCC)Q_/C8Ni4qOB!LzB; 0ҐA&ʥh-5tg޶W?h!Q~l#1CDŽA^ =xBCgqU^7wXWVa(02o 8=O)/NG ~@#YEι*{6&0\~BưGSǙD<$p,fM6M,{f ^-`j smy躛*5[;UNy4dz*Ƕ0B j` e|hźdȥA,o3-#ؾdV`LO ݋lFkЮg"@Ϳqoz,Z_ON'OǎPW6,N2hdKo]ɛoƶ)Ϧ庍d/[<8Nk'Zεζ6[Q90Xܲa#0Ljr%kFػؽ8z8s3_ Yi_;v/2a00.: 0H\Y;W'O8mߞOC_dϲi7tl1쩧ԙLL\ux6bB*0f]g@l[G\ !0>,;|$r$p>PD=ƍl)`t8sfX 0j5|)лop luZ&F'g;w^B#V`@^ҩ)`hH5-Z`7AEb`|-.&'^/.曙wVy)[eey 訷4Vұ Jgpؾx-`l EqY\޲,zdK~{UM`؜X1+Wbكl. m {o;{>,IQ9ۺRQ `xx/ _(^lݚ 9bLL`vb >;l?^g k_Ao7c`K7mjn'}N[PJ=$>LUrVLnX #[̓M'2RcWS=42߱Wu)+Q*֤aiSI֭IᇍyiSú >&''|Ka1{0r\V2>j) p .LMIG$n]{iB=AGk[O>:x׀;tBo˝wop$D,0ڹRFG#%oFnE}GHL! Vٳh<\Æ7agaCC߰aaxN,ﳙiڋX鬣媫om* dt?ݻa'OzqV&$_ C ^xl % LNK/ɍ:{z-Ki ?9~f}e _;FbnK~cNO>DxKXD孌߮dl m*QyY<7}}$Y_.tu‰E`JԡClN#G| 9wݥaO(2= d`&rw*"zq^{} m^S|'fӖMg#G 19q>}cc9siԨ&zE`vu^2Y֭H?Y,Oeq1 q_drraU3I?D 08Etĉ8$[`ӤANnлGjI۶l{w] ey{FsV3{R $ /|P$0 G|}l܁M[EZ0< 8UdǏc\_-gfХ$edHB űs'03ƀMԔFddK<~ۡ9RV^ymZhYŦO#G^ }7ر/TsjS^ªDXy>[MMةin`jhfor%O&#ǃ_20UI6eg? |-SbB =B|r)ߛo׬IoS5I{/ߧK#i t͂m5?8n@֡?`m )=65β${2f©w3&=ׇ>ǁOBhMPy1"0r;>੧7ѿy37l@M۶ }ŪU#i_=ElG,J.wyMDu###K{|책$'N x#2ra"Юt܋u 09]CC=M_ϨJ=BLlȪMM}o =ܵGl8ϡCCøI`T#8z*h̛|kٰ陧;L @LeVРm LO{vd uƙa{k!Ψ*i4˱~_޲ wc`,P28(8|PnF:MNb@o2\ebp}7. >+:: ^sy ۪ۓ &?qZUeӆwM6x{9ґ-X)WS`B7I"*vf*N"36&^z 7px3I`m>hy7[ە*0ʢbp\P^Ps_~ b_7!iQU* 4|x(ijưiᴚIɼ7>Ѓ_U'>>(zYh"$,$>So?>]b@6!ցlHȖ(afA>s[3P `F5 6]*ȃA˲ _`^WˀXR>m^rJ}jhjkdV`W* FEqUH9`}3np#,T^-˿nϓwIǍQ>8(qF$i4pn~,5_*.k4=}6P* T({1 .@HSB? 8=kFtZ2SϷUQYHXKdBpf}nM~0=mt]cؘ|߳ϲQ@YwDne4n+\F` e]5H fۨdSjǪU~恐ͱAC\}ц"pf~`z{lšn #Yd nɓ 7[_/Åz]=ͨY0^|ΆjȁEf9uعy i Q>]wu=3}ʒ˒ǎ?h&>ܕQ("?|j[y&KkqMА_Yt3A/ ]q#ח7gK0WBO=`vMӸOOl2T ziI04H`t't#q wr&<`S:^/ot@%'@]ul&&쾨sj~G8Ghb:J≡D<v- ٻW#L(;oQ9Էm~˾ Rup0<T3IWRAqcZĄdk_s74oe/CQ?vLS򗁓'[$j//]*Q $0LBcC OMʕY=܃=> <>$vl4~G8V5МTA`gIDATLkD<`Mo|zسǮddx5>i6Z;ӿo4X$YzT?w< 8{_}FFXu|I{<|tf2 x_R X=9ӪU3=lu׵ӝ:S l\aPyN{5 :PVei~RkWjo ><?1  WJdcrV!DjH3j8iG~cFkGӗ;jQA(k.@~<|-[ 6z|)Ȼg<\..FGxdDoe2=FGݛIg[׭(ܹͰYٳD 'ܘfsuOh=..G'NBrڢN|:z$a]WTcg]w҈jԹ9z!;.tޚ6q?oap7+_}Gds6/|K'ر?[>O&&n/u4cǟx!:'O^cn@@6e]pǏv8ZG?~eIRw|뿋+8g;?;5+ `[;¨q' 50X,p9X?`aW]`)ŭeQN m/M+n#fYJ8XM.Hq iGІYةSa6:i3 zƇ]lH)LZw)$Gݶ$idzvQX\h-Y< Xee/C#c9TMTj#BGeXYyN^&n\:?H`t'$B#ӫXR.0T" ;lU n?_,9o*ȱ67o&"* "l.@r';w*lナaTzW|nJeLX%)w[.c7 lظX~ax9Z2cH7 "& VY '"m֭s72v*>;;w. ׁ?C:lʆ:wI#-EGFHyTƝ O? ~)f!ٰ̓b^GaqiM1zPPNITmF5h `r̖-iZD#=u}k6tFQWy} |NFy0\٨[Rw"'Xg'$ճҷ'vJyB:!;}})Vua؆ʍq$pcNi_%q9<ҔUr,Rj3ڍ}e>K{e8fgGe_|a=ff(Ykc^Z>Ɠspٽ`M:edLV*MeΜ kְ+VΟ{폞;V~1cecxmEUq9Y&2"bU[3y0^.,p,~zp%*w"]s,0:яܷM񋿸O.Z +xKR>9?J. ]Sx&r %V|Soֲt!4O_{~rbTpYtmHT(?pB(X 땆 dߴ Mk6kEf?P"g}a> AW!Ii-UJ o nI:SVv1m4 6!n$mjuxxNaPKN&\/߃bF?': @q"|r%d;T@YTbL aeC.+]̈hG~f<2j*?S>W.H; h\6ŷ[ BB̻1 I`ЌD8jV~l;e =Kisiuh*W%N>#,};  KGK_Yo*b*<Uapk9_+ 6edkyEHuiv=f{ PlzIY\[K֯7}==_\ SS]Gbi&fy*Qvn̫ :9w Dmߞ- "׻ٝɓhKwwhgr%!H2PWycFsq[X:QysvrҕrSTF$"+2A֙7#Ob2]L>2\Nc;v>Z s5=ĚI``x9`&71:Qb t0G0Mgi4071;1f w/ YʕZQ[O=L^AO2~$Xf"|4BQ/:&iWLBUO2bہC[Q`R{;t3A of\ώ$4ZT]`ȣShnMo7qq08hn*Y=l}b8~t銛(*y/ʤEn9^Y`t݉>qs~i3W$kְ>IHF,hU3ٴ,l&3ѽ(y$o|z4dTV#m/a06:/ I6oA*/j~AQoDƏd_/iyu$b={qx3_Q*|#͛*z/R}L4}"6r-NK?>asZ<ʕ_kgG,3L`=x]WyP*{-&0ɛիo,(m)9ei&&}08$u6bdݺ;x.ؿ57p=0sɹ"2~pWFvzi e8biaqjuUKln[61 ,{y¦.PkI',YQǀ5k/} s2q0b[^pD!$%ry#.bm ˖jz<+,phm =-{"㲮 2ػgVBB)/17Yyf.c#vڸ}ME .p.w3A+Melb`}*+VS}ݹGyN+|u# ]`0MڼQzWtHe!y5m$~i %(]`(M Hb VU/Dy3|C}uo{BI`t{eWZC+ǘ/Y^$ç׵^*bᢰ.su$@.ld尉/ MjG.MZ}Zy3e?l)߅m %ϦffrvEGK=1y0Dt E*" :h> t.ĸLbICE-V$!пMIދ ~(ExHl%&b$m$GT$eKRb/M~Em"&5JPUh> ]Ӆm\YSH@HB;c܈qtl=@):̛h1[HM#(0J]7H7",TeBV_],M't8T$D b+g0]GAFy)d7֓ge+O:tbۦ,(R<.i} ^ W/C>gWOEU2n~ź-(0B:O\k} OoZi/ aC?K\EpocLjSNV{2zUؔ6</ok|aSl6.ie`J vQ/~CieK@xC|ē:/,s>zm!q]CY`ĀJd&۶vUaqM4>mV*EV^!_Ϸ~i]+q> B2W&t\*~S|`MD "CaS,i$4!$F'hLXE[H\iTdڧ]g&,j5ti Hm"m*uS&@U&.@0I6O$= _Ѷdzkk^ Q`DOCvDLkmqEhWIO#W#7"rTtv*Fv]⤉D _"<EM&K.vmIlT|u6bcmA\hrx̣Q'w~C[8` `g 訣 ,IzFllƶzҦms;KWB.KnڟW,lc˶▥6═ųT)p@bf2LVFY&:_Eq"{6x34TЄ,0\\ryh0Ӷ)k~`aNrVx\=6ݾ4"F2nώ+imȗDK]ċɾMeg]do|Mm|__t^]"V$4'/3n-n2G$P8WuIbZK5$)0X'uUn#d3ٓK1Yf?Og[Fۊڥܪ0RgB4"Fdm6U&i¦l.Eio"+&c>{L\SUry7髼6o.^UE7JFʠK#cS 4Aw-d 1W+bzkMi#w"j &c]қ<(*a6$=&O|؟ Y-.6x c TU_tN_FX VqJT\⾴[U68Mxi6ΎȰ)Ud3a6 Ym˭g dcuSd~ԯ 鑐 Nl؊F'DB σ1+M$FIE.@xDB# lue\j4y ՕŦ [Q"$\weBEimI#~\ⱉR/*,_˞UDMeBT(5(Nㅰˆ2nD\qʈ Qdlڳ ۵ _^M#SVUBd9M%`+΀jooְ t4|peoa) image/svg+xml type=OBJ_COMPLEXname="complex.1"sid=123complex_basename= "resistor-1.sym" next prev pages type=OBJ_COMPLEXname="complex.1"sid=123complex_basename= "resistor-1.sym" type=OBJ_COMPLEXname="complex.1"sid=123complex_basename= "resistor-1.sym" type=OBJ_COMPLEXname="complex.123"sid=123complex_basename= "resistor-1.sym" type=OBJ_LINEname="line.1"sid=1line structure type=OBJ_CIRCLEname="circle.124"sid=124circle structure type=OBJ_TEXTname="text.1123"sid=1123text->string= "footprint=SO16" next prev next prev next prev type=OBJ_TEXTname="text.234"sid=234text->string= "value=10k" OBJECT list type=-1name="object_head.0"sid=1 next prev libgedaTOPLEVEL object_tail object_head page_current _GedaList of pages currently loaded in libgeda pid=111page_filename= "amplifier.sch" pid=112page_filename= "driver.sch" pid=113page_filename= "power.sch" pid=114page_filename= "display.sch" PAGE geda-gaf-1.8.2/libgeda/docs/images/s_conn_overview.svg0000664000175000017500000005363112207374137017630 00000000000000 image/svg+xml net object 1 net object 2 pin object conn_list GList other_objecttypex,ywhichoneother_whichone other_objecttypex,ywhichoneother_whichone GList other_objecttypex,ywhichoneother_whichone GList other_objecttypex,ywhichoneother_whichone CONN_ENDPOINT CONN_MIDPOINT geda-gaf-1.8.2/libgeda/docs/images/Makefile.in0000664000175000017500000004123112220655725015740 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = libgeda/docs/images DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ svg_images = \ o_attrib_overview.svg \ o_object_relations.svg \ o_text_font_overview.svg \ o_text_text_overview.svg \ s_conn_overview.svg \ s_page_overview.svg \ s_tile_overview.svg EXTRA_DIST = $(svg_images) png_images = $(EXTRA_DIST:.svg=.png) pdf_images = $(EXTRA_DIST:.svg=.pdf) SUFFIXES = .svg .pdf .png MOSTLYCLEANFILES = *~ $(png_images) $(pdf_images) CLEANFILES = *~ $(png_images) $(pdf_images) DISTCLEANFILES = *~ $(png_images) $(pdf_images) MAINTAINERCLEANFILES = *~ Makefile.in $(png_images) $(pdf_images) all: all-am .SUFFIXES: .SUFFIXES: .svg .pdf .png $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libgeda/docs/images/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu libgeda/docs/images/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool clean-local mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ clean-local cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags-am uninstall uninstall-am all: @echo 'Type: make images to create all the png/pdf images' images: $(png_images) $(pdf_images) clean-local: rm -rf $(png_images) $(pdf_images) .svg.png: inkscape -e $@ $< || convert $< $@ .svg.pdf: inkscape -A $@ $< || convert $< $@ # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/libgeda/docs/images/o_text_font_overview.svg0000664000175000017500000006522212207374137020700 00000000000000 image/svg+xml basic lines v 20031231 1F A 29L 0 0 10 26 3 0 0 0 -1 -1L 10 26 20 0 3 0 0 0 -1 -1L 4 10 16 10 3 0 0 0 -1 -1 A A.sym char width fontfile 0 -6 16 26 32 geda-gaf-1.8.2/libgeda/docs/images/o_object_relations.svg0000664000175000017500000015072612207374137020272 00000000000000 image/svg+xml type=OBJ_COMPLEXname="complex.1"sid=123complex_basename= "resistor-1.sym" next prev complex type=OBJ_COMPLEXname="complex.1"sid=123complex_basename= "resistor-1.sym" type=OBJ_COMPLEXname="complex.1"sid=123complex_basename= "resistor-1.sym" type=OBJ_COMPLEXname="complex.123"sid=123complex_basename= "resistor-1.sym" type=OBJ_LINEname="line.1"sid=1line structure type=OBJ_CIRCLEname="circle.124"sid=124circle structure type=OBJ_TEXTname="text.1123"sid=1123text->string= "footprint=SO16" next prev next prev next prev type=OBJ_TEXTname="text.234"sid=234text->string= "value=10k" next prim_objs OBJECT list type=-1name="object_head.0"sid=1 next prev type=OBJ_COMPLEXname="complex.1"sid=123complex_basename= "resistor-1.sym" next prev type=OBJ_COMPLEXname="complex.1"sid=123complex_basename= "resistor-1.sym" type=OBJ_COMPLEXname="complex.1"sid=123complex_basename= "resistor-1.sym" type=OBJ_PINname="pin.1231"sid=1231whichend=0 type=OBJ_LINEname="line.5"sid=5line structure type=OBJ_NETname="net.1124"sid=1124 type=OBJ_TEXTname="text.1111"sid=1111text->string= "netname=AD10" next prev next prev next OBJECT list of the complex object type=-1name= "complex_head.0" next prev x=10000y=5000angle=90mirror=1 COMPLEX complex_parent complex_parent complex_parent geda-gaf-1.8.2/libgeda/docs/images/o_attrib_overview.svg0000664000175000017500000007756212207374137020165 00000000000000 image/svg+xml type=OBJ_COMPLEXname="complex.1"sid=123complex_basename= "resistor-1.sym" next prev attribs GList to OBJECTs type=OBJ_COMPLEXname="complex.1"sid=123complex_basename= "resistor-1.sym" type=OBJ_COMPLEXname="complex.1"sid=123complex_basename= "resistor-1.sym" type=OBJ_COMPLEXname="complex.123"sid=123complex_basename= "resistor-1.sym" type=OBJ_LINEname="line.1"sid=1line structure type=OBJ_CIRCLEname="circle.124"sid=124circle structure type=OBJ_TEXTname="text.1123"sid=1123text->string= "footprint=SO16" next prev next prev prev next prev type=OBJ_TEXTname="text.234"sid=234text->string= "value=10k" next data data ooo attached_to attached_to OBJECT list geda-gaf-1.8.2/libgeda/docs/images/o_text_text_overview.svg0000664000175000017500000026057712207374137020730 00000000000000 image/svg+xml gEDA file format T 43200 44100 9 10 1 0 0 0 2Text with \_overbar\_... and tabulatorT 43200 43800 9 10 1 1 0 0 1attribute_name=attribute_value Text with overbar ... and tabulator attribute_value graphical representationof the text elements postscript outputof the text geda-gaf-1.8.2/libgeda/docs/images/s_tile_overview.svg0000664000175000017500000006514712207374137017635 00000000000000 image/svg+xml single TILE right top bottom left OBJECT->tiles TILE->objects geda-gaf-1.8.2/libgeda/TODO0000664000175000017500000000120512207374137012163 00000000000000TODOs ---------------------- Code cleanups (no particular order): ---------------------- All of it. :-) Including all code cleanups listed in ../gschem/TODO Use the ascii code in all the font width specifiers (lib/sym/font) ---------------------- Feature additions (no particular order): ---------------------- Added text with bars (inverted labels) Add support for subscripted text Figure out how to rotate and mirror text in place. (for doing mirrors on 90/270 to unmirrored 90/270 (and vs) correctly) (currently kludged) Does it make sense to have attribute promotion with embedded components consolidate for buses? geda-gaf-1.8.2/version.h0000664000175000017500000000056012220655746011750 00000000000000/* Date part of package version string. */ #define PACKAGE_DATE_VERSION "20130925" /* Dotted part of package version string. */ #define PACKAGE_DOTTED_VERSION "1.8.2" /* Current git commit. */ #define PACKAGE_GIT_COMMIT "875406c9d1211fd88e3e7e1ee5349cba41a7becf" /* Current 'git describe' version string. */ #define PACKAGE_GIT_VERSION "1.8.1-20121123-13-g875406c" geda-gaf-1.8.2/COPYING.LGPL0000664000175000017500000006364212063576064011714 00000000000000 GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999 Copyright (C) 1991, 1999 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. [This is the first released version of the Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.] Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This license, the Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below. When we speak of free software, we are referring to freedom of use, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish); that you receive source code or can get it if you want it; that you can change the software and use pieces of it in new free programs; and that you are informed that you can do these things. To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library or if you modify it. For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link other code with the library, you must provide complete object files to the recipients, so that they can relink them with the library after making changes to the library and recompiling it. And you must show them these terms so they know their rights. We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library. To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others. Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license. Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs. When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library. We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances. For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License. In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system. Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library. The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run. GNU LESSER GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you". A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables. The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".) "Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library. Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. 1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) The modified work must itself be a software library. b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change. c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful. (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library. In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. This option is useful when you wish to copy part of the code of the Library into a program that is not a library. 4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange. If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. 5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.) Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. 6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) b) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with. c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. d) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy. For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. 7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above. b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. 10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License. 11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 13. The Free Software Foundation may publish revised and/or new versions of the Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. 14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Libraries If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that everyone can redistribute and change. You can do so by permitting redistribution under these terms (or, alternatively, under the terms of the ordinary General Public License). To apply these terms, attach the following notices to the library. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the library `Frob' (a library for tweaking knobs) written by James Random Hacker. , 1 April 1990 Ty Coon, President of Vice That's all there is to it! geda-gaf-1.8.2/INSTALL0000644000175000017500000003660512210331620011127 00000000000000Installation Instructions ************************* Copyright (C) 1994-1996, 1999-2002, 2004-2013 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without warranty of any kind. Basic Installation ================== Briefly, the shell commands `./configure; make; make install' should configure, build, and install this package. The following more-detailed instructions are generic; see the `README' file for instructions specific to this package. Some packages provide this `INSTALL' file but do not implement all of the features documented below. The lack of an optional feature in a given package is not necessarily a bug. More recommendations for GNU packages can be found in *note Makefile Conventions: (standards)Makefile Conventions. The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses those values to create a `Makefile' in each directory of the package. It may also create one or more `.h' files containing system-dependent definitions. Finally, it creates a shell script `config.status' that you can run in the future to recreate the current configuration, and a file `config.log' containing compiler output (useful mainly for debugging `configure'). It can also use an optional file (typically called `config.cache' and enabled with `--cache-file=config.cache' or simply `-C') that saves the results of its tests to speed up reconfiguring. Caching is disabled by default to prevent problems with accidental use of stale cache files. If you need to do unusual things to compile the package, please try to figure out how `configure' could check whether to do them, and mail diffs or instructions to the address given in the `README' so they can be considered for the next release. If you are using the cache, and at some point `config.cache' contains results you don't want to keep, you may remove or edit it. The file `configure.ac' (or `configure.in') is used to create `configure' by a program called `autoconf'. You need `configure.ac' if you want to change it or regenerate `configure' using a newer version of `autoconf'. The simplest way to compile this package is: 1. `cd' to the directory containing the package's source code and type `./configure' to configure the package for your system. Running `configure' might take a while. While running, it prints some messages telling which features it is checking for. 2. Type `make' to compile the package. 3. Optionally, type `make check' to run any self-tests that come with the package, generally using the just-built uninstalled binaries. 4. Type `make install' to install the programs and any data files and documentation. When installing into a prefix owned by root, it is recommended that the package be configured and built as a regular user, and only the `make install' phase executed with root privileges. 5. Optionally, type `make installcheck' to repeat any self-tests, but this time using the binaries in their final installed location. This target does not install anything. Running this target as a regular user, particularly if the prior `make install' required root privileges, verifies that the installation completed correctly. 6. You can remove the program binaries and object files from the source code directory by typing `make clean'. To also remove the files that `configure' created (so you can compile the package for a different kind of computer), type `make distclean'. There is also a `make maintainer-clean' target, but that is intended mainly for the package's developers. If you use it, you may have to get all sorts of other programs in order to regenerate files that came with the distribution. 7. Often, you can also type `make uninstall' to remove the installed files again. In practice, not all packages have tested that uninstallation works correctly, even though it is required by the GNU Coding Standards. 8. Some packages, particularly those that use Automake, provide `make distcheck', which can by used by developers to test that all other targets like `make install' and `make uninstall' work correctly. This target is generally not run by end users. Compilers and Options ===================== Some systems require unusual options for compilation or linking that the `configure' script does not know about. Run `./configure --help' for details on some of the pertinent environment variables. You can give `configure' initial values for configuration parameters by setting variables in the command line or in the environment. Here is an example: ./configure CC=c99 CFLAGS=-g LIBS=-lposix *Note Defining Variables::, for more details. Compiling For Multiple Architectures ==================================== You can compile the package for more than one kind of computer at the same time, by placing the object files for each architecture in their own directory. To do this, you can use GNU `make'. `cd' to the directory where you want the object files and executables to go and run the `configure' script. `configure' automatically checks for the source code in the directory that `configure' is in and in `..'. This is known as a "VPATH" build. With a non-GNU `make', it is safer to compile the package for one architecture at a time in the source code directory. After you have installed the package for one architecture, use `make distclean' before reconfiguring for another architecture. On MacOS X 10.5 and later systems, you can create libraries and executables that work on multiple system types--known as "fat" or "universal" binaries--by specifying multiple `-arch' options to the compiler but only a single `-arch' option to the preprocessor. Like this: ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ CPP="gcc -E" CXXCPP="g++ -E" This is not guaranteed to produce working output in all cases, you may have to build one architecture at a time and combine the results using the `lipo' tool if you have problems. Installation Names ================== By default, `make install' installs the package's commands under `/usr/local/bin', include files under `/usr/local/include', etc. You can specify an installation prefix other than `/usr/local' by giving `configure' the option `--prefix=PREFIX', where PREFIX must be an absolute file name. You can specify separate installation prefixes for architecture-specific files and architecture-independent files. If you pass the option `--exec-prefix=PREFIX' to `configure', the package uses PREFIX as the prefix for installing programs and libraries. Documentation and other data files still use the regular prefix. In addition, if you use an unusual directory layout you can give options like `--bindir=DIR' to specify different values for particular kinds of files. Run `configure --help' for a list of the directories you can set and what kinds of files go in them. In general, the default for these options is expressed in terms of `${prefix}', so that specifying just `--prefix' will affect all of the other directory specifications that were not explicitly provided. The most portable way to affect installation locations is to pass the correct locations to `configure'; however, many packages provide one or both of the following shortcuts of passing variable assignments to the `make install' command line to change installation locations without having to reconfigure or recompile. The first method involves providing an override variable for each affected directory. For example, `make install prefix=/alternate/directory' will choose an alternate location for all directory configuration variables that were expressed in terms of `${prefix}'. Any directories that were specified during `configure', but not in terms of `${prefix}', must each be overridden at install time for the entire installation to be relocated. The approach of makefile variable overrides for each directory variable is required by the GNU Coding Standards, and ideally causes no recompilation. However, some platforms have known limitations with the semantics of shared libraries that end up requiring recompilation when using this method, particularly noticeable in packages that use GNU Libtool. The second method involves providing the `DESTDIR' variable. For example, `make install DESTDIR=/alternate/directory' will prepend `/alternate/directory' before all installation names. The approach of `DESTDIR' overrides is not required by the GNU Coding Standards, and does not work on platforms that have drive letters. On the other hand, it does better at avoiding recompilation issues, and works well even when some directory options were not specified in terms of `${prefix}' at `configure' time. Optional Features ================= If the package supports it, you can cause programs to be installed with an extra prefix or suffix on their names by giving `configure' the option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. Some packages pay attention to `--enable-FEATURE' options to `configure', where FEATURE indicates an optional part of the package. They may also pay attention to `--with-PACKAGE' options, where PACKAGE is something like `gnu-as' or `x' (for the X Window System). The `README' should mention any `--enable-' and `--with-' options that the package recognizes. For packages that use the X Window System, `configure' can usually find the X include and library files automatically, but if it doesn't, you can use the `configure' options `--x-includes=DIR' and `--x-libraries=DIR' to specify their locations. Some packages offer the ability to configure how verbose the execution of `make' will be. For these packages, running `./configure --enable-silent-rules' sets the default to minimal output, which can be overridden with `make V=1'; while running `./configure --disable-silent-rules' sets the default to verbose, which can be overridden with `make V=0'. Particular systems ================== On HP-UX, the default C compiler is not ANSI C compatible. If GNU CC is not installed, it is recommended to use the following options in order to use an ANSI C compiler: ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" and if that doesn't work, install pre-built binaries of GCC for HP-UX. HP-UX `make' updates targets which have the same time stamps as their prerequisites, which makes it generally unusable when shipped generated files such as `configure' are involved. Use GNU `make' instead. On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot parse its `' header file. The option `-nodtk' can be used as a workaround. If GNU CC is not installed, it is therefore recommended to try ./configure CC="cc" and if that doesn't work, try ./configure CC="cc -nodtk" On Solaris, don't put `/usr/ucb' early in your `PATH'. This directory contains several dysfunctional programs; working variants of these programs are available in `/usr/bin'. So, if you need `/usr/ucb' in your `PATH', put it _after_ `/usr/bin'. On Haiku, software installed for all users goes in `/boot/common', not `/usr/local'. It is recommended to use the following options: ./configure --prefix=/boot/common Specifying the System Type ========================== There may be some features `configure' cannot figure out automatically, but needs to determine by the type of machine the package will run on. Usually, assuming the package is built to be run on the _same_ architectures, `configure' can figure that out, but if it prints a message saying it cannot guess the machine type, give it the `--build=TYPE' option. TYPE can either be a short name for the system type, such as `sun4', or a canonical name which has the form: CPU-COMPANY-SYSTEM where SYSTEM can have one of these forms: OS KERNEL-OS See the file `config.sub' for the possible values of each field. If `config.sub' isn't included in this package, then this package doesn't need to know the machine type. If you are _building_ compiler tools for cross-compiling, you should use the option `--target=TYPE' to select the type of system they will produce code for. If you want to _use_ a cross compiler, that generates code for a platform different from the build platform, you should specify the "host" platform (i.e., that on which the generated programs will eventually be run) with `--host=TYPE'. Sharing Defaults ================ If you want to set default values for `configure' scripts to share, you can create a site shell script called `config.site' that gives default values for variables like `CC', `cache_file', and `prefix'. `configure' looks for `PREFIX/share/config.site' if it exists, then `PREFIX/etc/config.site' if it exists. Or, you can set the `CONFIG_SITE' environment variable to the location of the site script. A warning: not all `configure' scripts look for a site script. Defining Variables ================== Variables not defined in a site shell script can be set in the environment passed to `configure'. However, some packages may run configure again during the build, and the customized values of these variables may be lost. In order to avoid this problem, you should set them in the `configure' command line, using `VAR=value'. For example: ./configure CC=/usr/local2/bin/gcc causes the specified `gcc' to be used as the C compiler (unless it is overridden in the site shell script). Unfortunately, this technique does not work for `CONFIG_SHELL' due to an Autoconf limitation. Until the limitation is lifted, you can use this workaround: CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash `configure' Invocation ====================== `configure' recognizes the following options to control how it operates. `--help' `-h' Print a summary of all of the options to `configure', and exit. `--help=short' `--help=recursive' Print a summary of the options unique to this package's `configure', and exit. The `short' variant lists options used only in the top level, while the `recursive' variant lists options also present in any nested packages. `--version' `-V' Print the version of Autoconf used to generate the `configure' script, and exit. `--cache-file=FILE' Enable the cache: use and save the results of the tests in FILE, traditionally `config.cache'. FILE defaults to `/dev/null' to disable caching. `--config-cache' `-C' Alias for `--cache-file=config.cache'. `--quiet' `--silent' `-q' Do not print messages saying which checks are being made. To suppress all normal output, redirect it to `/dev/null' (any error messages will still be shown). `--srcdir=DIR' Look for the package's source code in directory DIR. Usually `configure' can determine that directory automatically. `--prefix=DIR' Use DIR as the installation prefix. *note Installation Names:: for more details, including other options available for fine-tuning the installation locations. `--no-create' `-n' Run the configure checks, but stop before creating any output files. `configure' also accepts some other, not widely useful, options. Run `configure --help' for more details. geda-gaf-1.8.2/README0000664000175000017500000001653512220654173010774 00000000000000============================================== 'gschem and Friends' Electronic Design Suite ============================================== Copyright (C) 1998-2013 gEDA Developers Introduction ============ The GPL Electronic Design Automation (gEDA) project has produced and continues working on a full GPL'd suite and toolkit of Electronic Design Automation tools. These tools are used for electrical circuit design, schematic capture, simulation, prototyping, and production. Currently, the gEDA project offers a mature suite of free software applications for electronics design, including schematic capture, attribute management, bill of materials (BOM) generation, netlisting into over 20 netlist formats, analog and digital simulation, and printed circuit board (PCB) layout. The gEDA project was started because of the lack of free EDA tools for POSIX systems with the primary purpose of advancing the state of free hardware or open source hardware. The suite is mainly being developed on the GNU/Linux platform with some development effort going into making sure the tools run on other platforms as well. The gEDA/gaf suite (this package) provides schematic capture, netlisting, bill of materials generation, and many other features. Installation ============ The information in this section is intended to supplement the information in the `INSTALL' file. Dependencies ------------ In order to compile gEDA from the distributed source archives, you *must* have the following tools and libraries installed: - A C compiler and standard library (GCC/glibc are recommended). - The `pkg-config' tool for managing shared libraries. - Guile ("GNU's Ubiquitous Intelligent Language for Extensions"), version 1.8.0 or later. - GTK+ (the Gimp Toolkit), version 2.16.0 or later. - The `lex' tool for generating lexical scanners. The `flex' implementation recommended. - The `awk' tool for data processing. GNU Awk (`gawk') is recommended. The following tools and libraries are *highly recommended*: - GNU `gettext', version 0.16 or newer. - GNU `troff' (`groff'). - The freedesktop.org MIME info database. - The freedesktop.org utilities for manipulating .desktop files. The following tools and libraries are optional: - `libstroke', a stroke and gesture recognition library. If this is available, gschem will support mouse gesture recognition. - The `doxygen' API documentation tool. This is required for building the gEDA developer API documentation, not for the regular user documentation. Troubleshooting dependencies ---------------------------- "I've installed the `libfoo' library, but `./configure' isn't picking it up!" Many modern operating system distributions split a library into two packages: 1. a `libfoo' package, which contains the files necessary to *run* programs which use `libfoo'. 2. a `libfoo-dev' or `libfoo-devel' package, which contains the files necessary to *compile* programs which use `libfoo'. If you're having problems, make sure that you have all of the necessary `dev' or `devel' packages installed. Installation from a source archive ---------------------------------- First extract the archive to a sensible place: tar -xzvf gEDA-gaf-.tar.gz && cd gEDA-gaf- Run the configuration script. You'll probably want to specify a custom directory to install gEDA to, for example: ./configure --prefix=$HOME/geda You can then compile gEDA: make And install it (if you used a `--prefix' outside your $HOME directory, you may need to run this as root): make install For more information on installing gEDA, see the `INSTALL' document. Installation from the git repository ------------------------------------ gEDA uses the `git' version control system. If you wish to try out the very latest version of gEDA, you will need to install some extra tools *in addition to* the ones listed above: - The `git' version control tool, version 1.6 or newer. - GNU Automake, version 1.11.0 or newer. - GNU Autoconf, version 2.60 or newer. - GNU Libtool. - GNU Texinfo documentation system. Note that on some distributions the TeX support for Texinfo is packaged separately. Once you have these installed, you need to clone the gEDA `git' repository: git clone git://git.gpleda.org/gaf.git To generate the configure script, run: ./autogen.sh You can then procede to configure and build gEDA as described above. For more information on working with the gEDA `git' repository, see . Tools in the gEDA suite ======================= The major components of the gEDA suite are: `libgeda' A library of functions for manipulating gEDA schematics and symbols. `gschem' A schematic editor. `gattrib' A spreadsheet-like program for bulk editing of component attributes. `gnetlist' A highly-flexible, hierarchy-aware utility which parses schematics to generate a number of outputs, including netlists for a wide variety of PCB layout tools. It can also generate bills of materials and DRC reports for your schematics. `gsch2pcb' A command-line utility for streamlining the workflow where `PCB' and `gschem' are used together. `gsymcheck' A utility for checking for common errors in schematic symbol files. Getting help ============ There are several ways to get help with installing and using gEDA: - The gEDA website has more extensive information on the gEDA tools, and links to some successful projects which use gEDA. - The gEDA documentation wiki contains a large amount of helpful information. A static copy is included with this distribution; see the `docs/wiki/index.html' file. The wiki is accessible online at . - If the resources above didn't help you resolve your problem, or you are having a *design* problem that you want to get help with, consider subscribing to and posting your question to the `geda-user' mailing list. - Alternatively, you can add your question to the gEDA Answers page on Launchpad. - If you have discovered a bug, have a feature request, or have written a patch to gEDA, please create an item on the gEDA Bugs page on Launchpad. License ======= gEDA/gaf (this package) is freely distributable under the GNU Public License (GPL) version 2.0 or (at your option) any later version. See the `COPYING' file for the full text of the license. The programs and associated files are: Copyright (C) 1998-2013 by Ales Hvezda and the respective original authors. See the `AUTHORS' file for a more extensive list of contributors to gEDA. .. Local Variables: mode: text End: geda-gaf-1.8.2/utils/0000775000175000017500000000000012220655762011327 500000000000000geda-gaf-1.8.2/utils/src/0000775000175000017500000000000012220655760012114 500000000000000geda-gaf-1.8.2/utils/src/Makefile.am0000664000175000017500000000231012220647257014066 00000000000000## Process this file with automake to produce Makefile.in bin_PROGRAMS = gmk_sym smash_megafile convert_sym sarlacc_schem olib \ gsch2pcb grenum # don't forget all *.h files */ gmk_sym_SOURCES = gmk_sym.c char_width.c smash_megafile_SOURCES = smash_megafile.c grenum_SOURCES = grenum.c grenum.h olib_SOURCES = olib.l geda_sym_format.h olib_LDFLAGS = -lm convert_sym_SOURCES = convert_sym.c char_width.c convert_sym_LDFLAGS = -lm gsch2pcb_SOURCES = gsch2pcb.c gsch2pcb_CPPFLAGS = \ -DPCBDATADIR=\"$(PCBDATADIR)\" \ -DPCBLIBPATH=\"$(PCBLIBPATH)\" gsch2pcb_CFLAGS = $(GLIB_CFLAGS) gsch2pcb_LDFLAGS = $(GLIB_LIBS) sarlacc_schem_SOURCES = sarlacc_schem.c sarlacc_schem_CFLAGS = $(GLIB_CFLAGS) $(GUILE_CFLAGS) $(GDK_PIXBUF_CFLAGS) sarlacc_schem_LDFLAGS = $(GLIB_LIBS) $(GUILE_LIBS) $(GDK_PIXBUF_LIBS) sarlacc_schem_LDADD = $(top_builddir)/libgeda/src/libgeda.la AM_CFLAGS = $(GCC_CFLAGS) $(MINGW_CFLIGS) AM_CPPFLAGS = -I$(top_srcdir)/libgeda/include -I$(srcdir)/../include \ -I$(top_srcdir) -I$(includedir) MOSTLYCLEANFILES = *.log *.ps core FILE *~ olib.c CLEANFILES = *.log *.ps core FILE *~ olib.c DISTCLEANFILES = *.log core FILE *~ olib.c MAINTAINERCLEANFILES = *.log *.ps core FILE *~ Makefile.in olib.c geda-gaf-1.8.2/utils/src/gsch2pcb.c0000664000175000017500000013563412204066537013707 00000000000000/* gsch2pcb * * Bill Wilson billw@wt.net * * This program is free software which I release under the GNU General Public * License. You may redistribute and/or modify this program under the terms * of that license as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. Version 2 is in the * COPYRIGHT file in the top level directory of this distribution. * * To get a copy of the GNU General Puplic License, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include #include #include #include #include #include #include #ifdef HAVE_LIBDMALLOC #include #endif #define GSC2PCB_VERSION "1.6" #define DEFAULT_PCB_INC "pcb.inc" #define SEP_STRING "--------\n" typedef struct { gchar *refdes, *value, *description, *changed_description, *changed_value; gchar *flags, *tail; gchar *x, *y; gchar *pkg_name_fix; gchar res_char; gboolean still_exists, new_format, hi_res_format, quoted_flags, omit_PKG; } PcbElement; typedef struct { gchar *part_number, *element_name; } ElementMap; static GList *pcb_element_list, *element_directory_list, *extra_gnetlist_list, *extra_gnetlist_arg_list; static gchar *sch_basename; static GList *schematics; static gchar *m4_pcbdir, *default_m4_pcbdir, *m4_files, *m4_override_file; static gboolean use_m4 = TRUE; static gchar *empty_footprint_name; static gint verbose, n_deleted, n_added_m4, n_added_ef, n_fixed, n_PKG_removed_new, n_PKG_removed_old, n_preserved, n_changed_value, n_not_found, n_unknown, n_none, n_empty; static gboolean remove_unfound_elements = TRUE, quiet_mode = FALSE, force_element_files, preserve, fix_elements, bak_done, need_PKG_purge; static void create_m4_override_file () { FILE *f; m4_override_file = "gnet-gsch2pcb-tmp.scm"; f = fopen (m4_override_file, "wb"); if (!f) { m4_override_file = NULL; return; } if (m4_pcbdir) fprintf (f, "(define gsch2pcb:pcb-m4-dir \"%s\")\n", m4_pcbdir); if (m4_files) fprintf (f, "(define gsch2pcb:m4-files \"%s\")\n", m4_files); fprintf (f, "(define gsch2pcb:use-m4 %s)\n", use_m4 == TRUE ? "#t" : "#f"); fclose (f); if (verbose) { printf ("Default m4-pcbdir: %s\n", default_m4_pcbdir); printf ("--------\ngnet-gsch2pcb-tmp.scm override file:\n"); if (m4_pcbdir) printf (" (define gsch2pcb:pcb-m4-dir \"%s\")\n", m4_pcbdir); if (m4_files) printf (" (define gsch2pcb:m4-files \"%s\")\n", m4_files); printf (" (define gsch2pcb:use-m4 %s)\n", use_m4 == TRUE ? "#t" : "#f"); } } /** * Build and run a command. No redirection or error handling is * done. Format string is split on whitespace. Specifiers %l and %s * are replaced with contents of positional args. To be recognized, * specifiers must be separated from other arguments in the format by * whitespace. * - %l expects a GList, contents used as separate arguments * - %s expects a gchar*, contents used as a single argument * @param[in] format used to specify command to be executed * @param[in] ... positional parameters */ static gboolean build_and_run_command (const gchar *format, ...) { va_list vargs; gchar ** split; GList *tmp = NULL; gint num_split; gint i; gint status; gboolean result = FALSE; gboolean spawn_result; gchar *standard_output = NULL; gchar *standard_error = NULL; GError * error = NULL; va_start (vargs, format); split = g_strsplit_set (format, " \t\n\v", 0); num_split = g_strv_length (split); for (i = 0; i < num_split; ++i) { gchar *chunk = split[i]; if (strcmp (chunk, "%l") == 0) { /* append contents of list into command args - shared data */ tmp = g_list_concat (tmp, g_list_copy (va_arg (vargs, GList*))); } else if (strcmp (chunk, "%s") == 0) { /* insert contents of string into output */ tmp = g_list_append (tmp, va_arg (vargs, gchar*)); } else { /* bare string, use as is */ tmp = g_list_append (tmp, chunk); } } va_end (vargs); if (tmp) { /* we have something in the list, build & call command */ GList *p; gint i = 0; gchar ** args = g_new0 (gchar*, g_list_length (tmp) + 1/* NULL terminate the list */); if (verbose) printf ("Running command:\n\t"); for (p = tmp; p; p = g_list_next (p)) { args[i++] = (gchar*) p->data; if (verbose) printf ("%s ", (char*)p->data); } if (verbose) printf ("\n%s", SEP_STRING); if (g_spawn_sync (".", /* Working directory */ args, /* argv */ NULL, /* envp */ G_SPAWN_SEARCH_PATH, /* flags */ NULL, /* child_setup */ NULL, /* user data */ &standard_output, /* standard output */ &standard_error, /* standard error */ &status, /* exit status return */ &error)) { /* GError return */ if (verbose) fputs(standard_output, stdout); if (status == 0) result = TRUE; else { if (standard_error) fputs(standard_error, stderr); } } else { fprintf(stderr, "Failed to execute external program: %s\n", error->message); g_error_free(error); } if (verbose) printf ("\n%s", SEP_STRING); g_free(standard_error); g_free (standard_output); g_free (args); /* free the list, but leave data untouched */ g_list_free (tmp); } g_strfreev (split); return result; } /* Run gnetlist to generate a netlist and a PCB board file. gnetlist * has exit status of 0 even if it's given an invalid arg, so do some * stat() hoops to decide if gnetlist successfully generated the PCB * board file (only gnetlist >= 20030901 recognizes -m). */ static gboolean run_gnetlist (gchar * pins_file, gchar * net_file, gchar * pcb_file, gchar * basename, GList * largs) { struct stat st; time_t mtime; static const gchar *gnetlist = NULL; GList *list = NULL; GList *verboseList = NULL; GList *args1 = NULL; /* Allow the user to specify a full path or a different name for * the gnetlist command. Especially useful if multiple copies * are installed at once. */ if (gnetlist == NULL) gnetlist = g_getenv ("GNETLIST"); if (gnetlist == NULL) gnetlist = "gnetlist"; if (!verbose) verboseList = g_list_append (verboseList, "-q"); if (!build_and_run_command ("%s %l -g pcbpins -o %s %l %l", gnetlist, verboseList, pins_file, extra_gnetlist_arg_list, largs)) return FALSE; if (!build_and_run_command ("%s %l -g PCB -o %s %l %l", gnetlist, verboseList, net_file, extra_gnetlist_arg_list, largs)) return FALSE; create_m4_override_file (); if (m4_override_file) { args1 = g_list_append (args1, "-m"); args1 = g_list_append (args1, m4_override_file); } mtime = (stat (pcb_file, &st) == 0) ? st.st_mtime : 0; if (!build_and_run_command ("%s %l -g gsch2pcb -o %s %l %l %l", gnetlist, verboseList, pcb_file, args1, extra_gnetlist_arg_list, largs)) { if (stat (pcb_file, &st) != 0 || mtime == st.st_mtime) { fprintf (stderr, "gsch2pcb: gnetlist command failed, `%s' not updated\n", pcb_file ); if (m4_override_file) fprintf (stderr, " At least gnetlist 20030901 is required for m4-xxx options.\n"); return FALSE; } return FALSE; } if (m4_override_file) unlink (m4_override_file); for (list = extra_gnetlist_list; list; list = g_list_next (list)) { const gchar *s = (gchar *) list->data; const gchar *s2 = strstr (s, " -o "); gchar *out_file; gchar *backend; if (!s2) { out_file = g_strconcat (basename, ".", s, NULL); backend = g_strdup (s); } else { out_file = g_strdup (s2 + 4); backend = g_strndup (s, s2 - s); } if (!build_and_run_command ("%s %l -g %s -o %s %l %l", gnetlist, verboseList, backend, out_file, extra_gnetlist_arg_list, largs)) return FALSE; g_free (out_file); g_free (backend); } g_list_free (args1); g_list_free (verboseList); return TRUE; } static gchar * token (gchar * string, gchar ** next, gboolean * quoted_ret) { static gchar *str; gchar *s, *ret; gboolean quoted = FALSE; if (string) str = string; if (!str || !*str) { if (next) *next = str; return g_strdup (""); } while (*str == ' ' || *str == '\t' || *str == ',' || *str == '\n') ++str; if (*str == '"') { quoted = TRUE; if (quoted_ret) *quoted_ret = TRUE; ++str; for (s = str; *s && *s != '"' && *s != '\n'; ++s); } else { if (quoted_ret) *quoted_ret = FALSE; for (s = str; *s && (*s != ' ' && *s != '\t' && *s != ',' && *s != '\n'); ++s); } ret = g_strndup (str, s - str); str = (quoted && *s) ? s + 1 : s; if (next) *next = str; return ret; } static gchar * fix_spaces (gchar * str) { gchar *s; if (!str) return NULL; for (s = str; *s; ++s) if (*s == ' ' || *s == '\t') *s = '_'; return str; } /* As of 1/9/2004 CVS hi_res Element[] line format: * Element[element_flags, description, pcb-name, value, mark_x, mark_y, * text_x, text_y, text_direction, text_scale, text_flags] * New PCB 1.7 / 1.99 Element() line format: * Element(element_flags, description, pcb-name, value, mark_x, mark_y, * text_x, text_y, text_direction, text_scale, text_flags) * Old PCB 1.6 Element() line format: * Element(element_flags, description, pcb-name, value, * text_x, text_y, text_direction, text_scale, text_flags) * * (mark_x, mark_y) is the element position (mark) and (text_x,text_y) * is the description text position which is absolute in pre 1.7 and * is now relative. The hi_res mark_x,mark_y and text_x,text_y resolutions * are 100x the other formats. */ PcbElement * pcb_element_line_parse (gchar * line) { PcbElement *el = NULL; gchar *s, *t, close_char; gint state = 0, elcount = 0; if (strncmp (line, "Element", 7)) return NULL; el = g_new0 (PcbElement, 1); s = line + 7; while (*s == ' ' || *s == '\t') ++s; if (*s == '[') el->hi_res_format = TRUE; else if (*s != '(') { g_free (el); return NULL; } el->res_char = el->hi_res_format ? '[' : '('; close_char = el->hi_res_format ? ']' : ')'; el->flags = token (s + 1, NULL, &el->quoted_flags); el->description = token (NULL, NULL, NULL); el->refdes = token (NULL, NULL, NULL); el->value = token (NULL, NULL, NULL); el->x = token (NULL, NULL, NULL); el->y = token (NULL, &t, NULL); el->tail = g_strdup (t ? t : ""); if ((s = strrchr (el->tail, (gint) '\n')) != NULL) *s = '\0'; /* Count the tokens in tail to decide if it's new or old format. * Old format will have 3 tokens, new format will have 5 tokens. */ for (s = el->tail; *s && *s != close_char; ++s) { if (*s != ' ') { if (state == 0) ++elcount; state = 1; } else state = 0; } if (elcount > 4) el->new_format = TRUE; fix_spaces (el->description); fix_spaces (el->refdes); fix_spaces (el->value); /* Don't allow elements with no refdes to ever be deleted because * they may be desired pc board elements not in schematics. So * initialize still_exists to TRUE if empty or non-alphanumeric * refdes. */ if (!*el->refdes || !isalnum ((gint) (*el->refdes))) el->still_exists = TRUE; return el; } static void pcb_element_free (PcbElement * el) { if (!el) return; g_free (el->flags); g_free (el->description); g_free (el->changed_description); g_free (el->changed_value); g_free (el->refdes); g_free (el->value); g_free (el->x); g_free (el->y); g_free (el->tail); g_free (el->pkg_name_fix); g_free (el); } static void get_pcb_element_list (gchar * pcb_file) { FILE *f; PcbElement *el; gchar *s, buf[1024]; if ((f = fopen (pcb_file, "r")) == NULL) return; while ((fgets (buf, sizeof (buf), f)) != NULL) { for (s = buf; *s == ' ' || *s == '\t'; ++s); if (!strncmp (s, "PKG_", 4)) { need_PKG_purge = TRUE; continue; } if ((el = pcb_element_line_parse (s)) == NULL) continue; pcb_element_list = g_list_append (pcb_element_list, el); } fclose (f); } static PcbElement * pcb_element_exists (PcbElement * el_test, gboolean record) { GList *list; PcbElement *el; for (list = pcb_element_list; list; list = g_list_next (list)) { el = (PcbElement *) list->data; if (strcmp (el_test->refdes, el->refdes)) continue; if (strcmp (el_test->description, el->description)) { /* footprint */ if (record) el->changed_description = g_strdup (el_test->description); } else { if (record) { if (strcmp (el_test->value, el->value)) el->changed_value = g_strdup (el_test->value); el->still_exists = TRUE; } return el; } } return NULL; } /* A problem is that new PCB 1.7 file elements have the * (mark_x,mark_y) value set to wherever the element was created and * no equivalent of a gschem translate symbol was done. * * So, file elements inserted can be scattered over a big area and * this is bad when loading a file.new.pcb into an existing PC * board. So, do a simple translate if (mark_x,mark_y) is * (arbitrarily) over 1000. I'll assume that for values < 1000 the * element creator was concerned with a sane initial element * placement. Unless someone has a better idea? Don't bother with * pre PCB 1.7 formats as that would require parsing the mark(). * Current m4 elements use the old format but they seem to have a * reasonable initial mark(). */ static void simple_translate (PcbElement * el) { el->x=strdup("0"); el->y=strdup("0"); } static gboolean insert_element (FILE * f_out, gchar * element_file, gchar * footprint, gchar * refdes, gchar * value) { FILE *f_in; PcbElement *el; gchar *fmt, *s, buf[1024]; gboolean retval = FALSE; if ((f_in = fopen (element_file, "r")) == NULL) { s = g_strdup_printf ("insert_element() can't open %s", element_file); perror (s); g_free (s); return FALSE; } /* Scan the file to detect whether it's actually a PCB * layout. Assumes that a PCB layout will have a "PCB" line. */ while ((fgets (buf, sizeof (buf), f_in)) != NULL) { for (s = buf; *s == ' ' || *s == '\t'; ++s); s[3] = 0; /* Truncate line */ if (strncmp ("PCB", s, sizeof (buf)) == 0) { printf ("Warning: %s appears to be a PCB layout file. Skipping.\n", element_file); fclose (f_in); return FALSE; } } rewind (f_in); /* Copy the file element lines. Substitute new parameters into the * Element() or Element[] line and strip comments. */ while ((fgets (buf, sizeof (buf), f_in)) != NULL) { for (s = buf; *s == ' ' || *s == '\t'; ++s); if ((el = pcb_element_line_parse (s)) != NULL) { simple_translate (el); fmt = el->quoted_flags ? "Element%c\"%s\" \"%s\" \"%s\" \"%s\" %s %s%s\n" : "Element%c%s \"%s\" \"%s\" \"%s\" %s %s%s\n"; fprintf (f_out, fmt, el->res_char, el->flags, footprint, refdes, value, el->x, el->y, el->tail); retval = TRUE; } else if (*s != '#') fputs (buf, f_out); pcb_element_free (el); } fclose (f_in); return retval; } gchar * find_element (gchar * dir_path, gchar * element) { GDir *dir; gchar *path, *name, *s, *found = NULL; if ((dir = g_dir_open (dir_path, 0, NULL)) == NULL) { s = g_strdup_printf ("find_element can't open dir \"%s\"", dir_path); perror (s); g_free (s); return NULL; } if (verbose > 1) printf ("\t Searching: \"%s\" for \"%s\"\n", dir_path, element); while ((name = (gchar *) g_dir_read_name (dir)) != NULL) { path = g_strconcat (dir_path, "/", name, NULL); found = NULL; /* if we got a directory name, then recurse down into it */ if (g_file_test (path, G_FILE_TEST_IS_DIR)) found = find_element (path, element); /* otherwise assume it is a file and see if it is the one we want */ else { if (verbose > 1) printf ("\t : %s\t", name); if (!strcmp (name, element)) found = g_strdup (path); else { gchar *tmps; tmps = g_strconcat (element, ".fp", NULL); if (!strcmp (name, tmps)) found = g_strdup (path); g_free (tmps); } if (verbose > 1) printf ("%s\n", found ? "Yes" : "No"); } g_free (path); if (found) break; } g_dir_close (dir); return found; } gchar * search_element_directories (PcbElement * el) { GList *list; gchar *s, *elname = NULL, *dir_path, *path = NULL; gint n1, n2; /* See comment before pkg_to_element() */ if (el->pkg_name_fix) { if (strchr (el->description, '-')) { n1 = strlen (el->description); n2 = strlen (el->pkg_name_fix); s = el->description + n1 - n2 - 1; // printf("n1=%d n2=%d desc:%s fix:%s s:%s\n", // n1, n2, el->description, el->pkg_name_fix, s); if (n1 > 0 && n2 < n1 && *s == '-' && *(s + 1) == *el->pkg_name_fix) { s = g_strndup (el->description, n1 - n2 - 1); elname = g_strconcat (s, " ", el->pkg_name_fix, NULL); g_free (s); } } if (!elname) { printf ("Warning: argument passing may have been confused by\n"); printf (" a comma in a component value:\n"); printf (" Check %s %s %s\n", el->refdes, el->description, el->value); printf (" Maybe just use a space instead of a comma?\n"); } } if (!elname) elname = g_strdup (el->description); if (!strcmp (elname, "unknown")) { g_free (elname); return NULL; } if (verbose > 1) printf ("\tSearching directories looking for file element: %s\n", elname); for (list = element_directory_list; list; list = g_list_next (list)) { dir_path = (gchar *) list->data; if (verbose > 1) printf ("\tLooking in directory: \"%s\"\n", dir_path); path = find_element (dir_path, elname); if (path) { if (verbose) printf ("\tFound: %s\n", path); break; } } g_free (elname); return path; } /* The gnetlist backend gnet-gsch2pcb.scm generates PKG_ lines: * * PKG_footprint(footprint{-fp0-fp1},refdes,value{,fp0,fp1}) * * where fp1 and fp2 (if they exist) are the extra footprint * components when specifying footprints like "DIL 14 300". This is * needed for m4 macros. * * A complication is if the footprint references a file element with * spaces embedded in the name. The gnetlist backend will interpret * these as fp0, fp1, ... args and the footprint will in this case * incorrectly have '-' inserted where the spaces should be. So, if * there are additional args, reconstruct the portion of the name * given by the args with spaces for later use. Eg. if the footprint * is "100 Pin jack", we will have * * PKG_100-Pin-jack(100-Pin-jack,refdes,value,Pin,jack) * * So put "Pin jack" into pkg_name_fix so if this element is searched * as a file element we can munge the description to what it should * be, eg: * * 100-Pin-jack -> 100 Pin jack */ static PcbElement * pkg_to_element (FILE * f, gchar * pkg_line) { PcbElement *el; gchar **args, *s; gint n, n_extra_args, n_dashes; if (strncmp (pkg_line, "PKG_", 4) || (s = strchr (pkg_line, (gint) '(')) == NULL) return NULL; args = g_strsplit (s + 1, ",", 12); if (!args[0] || !args[1] || !args[2]) { fprintf (stderr, "Bad package line: %s\n", pkg_line); return NULL; } fix_spaces (args[0]); fix_spaces (args[1]); fix_spaces (args[2]); el = g_new0 (PcbElement, 1); el->description = g_strdup (args[0]); el->refdes = g_strdup (args[1]); el->value = g_strdup (args[2]); if ((s = strchr (el->value, (gint) ')')) != NULL) *s = '\0'; /* If the component value has a comma, eg "1k, 1%", the gnetlist generated * PKG line will be * * PKG_XXX(`R0w8',`R100',`1k, 1%'), * * but after processed by m4, the input to gsch2pcb will be * * PKG_XXX(R0w8,R100,1k, 1%). * * So the quoting info has been lost when processing for file * elements. So here try to detect and fix this. But I can't * handle the situation where the description has a '-' and the * value has a comma because gnet-gsch2pcb.scm munges the * description with '-' when there are extra args. */ for (n_extra_args = 0; args[3 + n_extra_args] != NULL; ++n_extra_args); s = el->description; for (n_dashes = 0; (s = strchr (s + 1, '-')) != NULL; ++n_dashes); n = 3; if (n_extra_args == n_dashes + 1) { /* Assume there was a comma in the value, eg "1K, 1%" */ s = el->value; el->value = g_strconcat (s, ",", fix_spaces (args[n]), NULL); g_free (s); if ((s = strchr (el->value, (gint) ')')) != NULL) *s = '\0'; n = 4; } if (args[n]) { el->pkg_name_fix = g_strdup (args[n]); for (n += 1; args[n] != NULL; ++n) { s = el->pkg_name_fix; el->pkg_name_fix = g_strconcat (s, " ", args[n], NULL); g_free (s); } if ((s = strchr (el->pkg_name_fix, (gint) ')')) != NULL) *s = '\0'; } g_strfreev (args); if (empty_footprint_name && !strcmp (el->description, empty_footprint_name)) { if (verbose) printf ("%s: has the empty footprint attribute \"%s\" so won't be in the layout.\n", el->refdes, el->description); n_empty += 1; el->omit_PKG = TRUE; } else if (!strcmp (el->description, "none")) { fprintf (stderr, "WARNING: %s has a footprint attribute \"%s\" so won't be in the layout.\n", el->refdes, el->description); n_none += 1; el->omit_PKG = TRUE; } else if (!strcmp (el->description, "unknown")) { fprintf (stderr, "WARNING: %s has no footprint attribute so won't be in the layout.\n", el->refdes); n_unknown += 1; el->omit_PKG = TRUE; } return el; } /* Process the newly created pcb file which is the output from * gnetlist -g gsch2pcb ... * * It will have elements found via the m4 interface and PKG_ lines for * elements not found. Insert pcb file elements for PKG_ lines if * file elements can be found. If there was an existing pcb file, * strip out any elements if they are already present so that the new * pcb file will only have new elements. */ static gint add_elements (gchar * pcb_file) { FILE *f_in, *f_out; PcbElement *el = NULL; gchar *command, *p, *tmp_file, *s, buf[1024]; gint total, paren_level = 0; gboolean is_m4, skipping = FALSE; if ((f_in = fopen (pcb_file, "r")) == NULL) return 0; tmp_file = g_strconcat (pcb_file, ".tmp", NULL); if ((f_out = fopen (tmp_file, "wb")) == NULL) { fclose (f_in); g_free (tmp_file); return 0; } while ((fgets (buf, sizeof (buf), f_in)) != NULL) { for (s = buf; *s == ' ' || *s == '\t'; ++s); if (skipping) { if (*s == '(') ++paren_level; else if (*s == ')' && --paren_level <= 0) skipping = FALSE; continue; } is_m4 = FALSE; if ((el = pcb_element_line_parse (s)) != NULL) is_m4 = TRUE; else el = pkg_to_element (f_out, s); if (el && pcb_element_exists (el, TRUE)) { skipping = is_m4; pcb_element_free (el); continue; } if (!el || el->omit_PKG) { if (el) { } else fputs (buf, f_out); continue; } if (!is_m4 || (is_m4 && force_element_files)) { if (verbose && !is_m4) printf ("%s: need new file element for footprint %s (value=%s)\n", el->refdes, el->description, el->value); if (verbose && is_m4 && force_element_files) printf ("%s: have m4 element %s, but trying to replace with a file element.\n", el->refdes, el->description); p = search_element_directories (el); if (!p && verbose && is_m4 && force_element_files) printf ("\tNo file element found.\n"); if (p && insert_element (f_out, p, el->description, el->refdes, el->value)) { skipping = is_m4; is_m4 = FALSE; ++n_added_ef; if (verbose) printf ("%s: added new file element for footprint %s (value=%s)\n", el->refdes, el->description, el->value); } else if (!is_m4) { fprintf (stderr, "%s: can't find PCB element for footprint %s (value=%s)\n", el->refdes, el->description, el->value); if (remove_unfound_elements && !fix_elements) { fprintf (stderr, "So device %s will not be in the layout.\n", el->refdes); ++n_PKG_removed_new; } else { ++n_not_found; fputs (buf, f_out); /* Copy PKG_ line */ } } g_free (p); } if (is_m4) { fputs (buf, f_out); ++n_added_m4; if (verbose) printf ("%s: added new m4 element for footprint %s (value=%s)\n", el->refdes, el->description, el->value); } pcb_element_free (el); if (verbose) printf ("----\n"); } fclose (f_in); fclose (f_out); total = n_added_ef + n_added_m4 + n_not_found; if (total == 0) build_and_run_command ("rm %s", tmp_file); else build_and_run_command ("mv %s %s", tmp_file, pcb_file); g_free (tmp_file); return total; } static void update_element_descriptions (gchar * pcb_file, gchar * bak) { FILE *f_in, *f_out; GList *list; PcbElement *el, *el_exists; gchar *fmt, *command, *tmp, *s, buf[1024]; for (list = pcb_element_list; list; list = g_list_next (list)) { el = (PcbElement *) list->data; if (el->changed_description) ++n_fixed; } if (!pcb_element_list || n_fixed == 0) { fprintf (stderr, "Could not find any elements to fix.\n"); return; } if ((f_in = fopen (pcb_file, "r")) == NULL) return; tmp = g_strconcat (pcb_file, ".tmp", NULL); if ((f_out = fopen (tmp, "wb")) == NULL) { fclose (f_in); return; } while ((fgets (buf, sizeof (buf), f_in)) != NULL) { for (s = buf; *s == ' ' || *s == '\t'; ++s); if ((el = pcb_element_line_parse (s)) != NULL && (el_exists = pcb_element_exists (el, FALSE)) != NULL && el_exists->changed_description) { fmt = el->quoted_flags ? "Element%c\"%s\" \"%s\" \"%s\" \"%s\" %s %s%s\n" : "Element%c%s \"%s\" \"%s\" \"%s\" %s %s%s\n"; fprintf (f_out, fmt, el->res_char, el->flags, el_exists->changed_description, el->refdes, el->value, el->x, el->y, el->tail); printf ("%s: updating element Description: %s -> %s\n", el->refdes, el->description, el_exists->changed_description); el_exists->still_exists = TRUE; } else fputs (buf, f_out); pcb_element_free (el); } fclose (f_in); fclose (f_out); if (!bak_done) { build_and_run_command ("mv %s %s", pcb_file, bak); bak_done = TRUE; } build_and_run_command ("mv %s %s", tmp, pcb_file); g_free (tmp); } static void prune_elements (gchar * pcb_file, gchar * bak) { FILE *f_in, *f_out; GList *list; PcbElement *el, *el_exists; gchar *fmt, *command, *tmp, *s, buf[1024]; gint paren_level = 0; gboolean skipping = FALSE; for (list = pcb_element_list; list; list = g_list_next (list)) { el = (PcbElement *) list->data; if (!el->still_exists) { if (preserve) { ++n_preserved; fprintf (stderr, "Preserving PCB element not in the schematic: %s (element %s)\n", el->refdes, el->description); } else ++n_deleted; } else if (el->changed_value) ++n_changed_value; } if (!pcb_element_list || (n_deleted == 0 && !need_PKG_purge && n_changed_value == 0) ) return; if ((f_in = fopen (pcb_file, "r")) == NULL) return; tmp = g_strconcat (pcb_file, ".tmp", NULL); if ((f_out = fopen (tmp, "wb")) == NULL) { fclose (f_in); return; } while ((fgets (buf, sizeof (buf), f_in)) != NULL) { for (s = buf; *s == ' ' || *s == '\t'; ++s); if (skipping) { if (*s == '(') ++paren_level; else if (*s == ')' && --paren_level <= 0) skipping = FALSE; continue; } el_exists = NULL; if ((el = pcb_element_line_parse (s)) != NULL && (el_exists = pcb_element_exists (el, FALSE)) != NULL && !el_exists->still_exists && !preserve) { skipping = TRUE; if (verbose) printf ("%s: deleted element %s (value=%s)\n", el->refdes, el->description, el->value); pcb_element_free (el); continue; } if (el_exists && el_exists->changed_value) { fmt = el->quoted_flags ? "Element%c\"%s\" \"%s\" \"%s\" \"%s\" %s %s%s\n" : "Element%c%s \"%s\" \"%s\" \"%s\" %s %s%s\n"; fprintf (f_out, fmt, el->res_char, el->flags, el->description, el->refdes, el_exists->changed_value, el->x, el->y, el->tail); if (verbose) printf ("%s: changed element %s value: %s -> %s\n", el->refdes, el->description, el->value, el_exists->changed_value); } else if (!strncmp (s, "PKG_", 4)) ++n_PKG_removed_old; else fputs (buf, f_out); pcb_element_free (el); } fclose (f_in); fclose (f_out); if (!bak_done) { build_and_run_command ("mv %s %s", pcb_file, bak); bak_done = TRUE; } build_and_run_command ("mv %s %s", tmp, pcb_file); g_free (tmp); } static void add_m4_file (gchar * arg) { gchar *s; if (!m4_files) m4_files = g_strdup (arg); else { s = m4_files; m4_files = g_strconcat (m4_files, " ", arg, NULL); g_free (s); } } static gchar * expand_dir (gchar * dir) { gchar *s; if (*dir == '~') s = g_build_filename ((gchar *) g_get_home_dir (), dir + 1, NULL); else s = g_strdup (dir); return s; } static void add_default_m4_files (void) { gchar *path; path = g_build_filename ((gchar *) g_get_home_dir (), ".pcb", DEFAULT_PCB_INC, NULL); if (g_file_test (path, G_FILE_TEST_IS_REGULAR)) add_m4_file (path); g_free (path); if (g_file_test (DEFAULT_PCB_INC, G_FILE_TEST_IS_REGULAR)) add_m4_file (DEFAULT_PCB_INC); } static void add_schematic (gchar * sch) { const gchar* s; schematics = g_list_append (schematics, g_strdup (sch)); if (!sch_basename && (s = g_strrstr (sch, ".sch")) != NULL && strlen(s) == 4) sch_basename = g_strndup (sch, s - sch); } static void add_multiple_schematics (gchar * sch) { /* parse the string using shell semantics */ gint count; gchar** args = NULL; GError* error = NULL; if (g_shell_parse_argv (sch, &count, &args, &error)) { int i; for (i = 0; i < count; ++i) { add_schematic (args[i]); } g_strfreev (args); } else { fprintf (stderr, "invalid `schematics' option: %s\n", error->message); g_error_free (error); } } static gint parse_config (gchar * config, gchar * arg) { gchar *s; /* remove trailing white space otherwise strange things can happen */ if ((arg != NULL) && (strlen (arg) >= 1)) { s = arg + strlen (arg) - 1; while ((*s == ' ' || *s == '\t') && (s != arg)) s--; s++; *s = '\0'; } if (verbose) printf (" %s \"%s\"\n", config, arg ? arg : ""); if (!strcmp (config, "remove-unfound") || !strcmp (config, "r")) { /* This is default behavior set in header section */ remove_unfound_elements = TRUE; return 0; } if (!strcmp (config, "keep-unfound") || !strcmp (config, "k")) { remove_unfound_elements = FALSE; return 0; } if (!strcmp (config, "quiet") || !strcmp (config, "q")) { quiet_mode = TRUE; return 0; } if (!strcmp (config, "preserve") || !strcmp (config, "p")) { preserve = TRUE; return 0; } if (!strcmp (config, "use-files") || !strcmp (config, "f")) { force_element_files = TRUE; return 0; } if (!strcmp (config, "skip-m4") || !strcmp (config, "s")) { use_m4 = FALSE; return 0; } if (!strcmp (config, "elements-dir") || !strcmp (config, "d")) { if (verbose > 1) printf ("\tAdding directory to file element directory list: %s\n", expand_dir (arg)); element_directory_list = g_list_prepend (element_directory_list, expand_dir (arg)); } else if (!strcmp (config, "output-name") || !strcmp (config, "o")) sch_basename = g_strdup (arg); else if (!strcmp (config, "schematics")) add_multiple_schematics (arg); else if (!strcmp (config, "m4-pcbdir")) { g_free (m4_pcbdir); m4_pcbdir = g_strdup (arg); } else if (!strcmp (config, "m4-file")) add_m4_file (arg); else if (!strcmp (config, "gnetlist")) extra_gnetlist_list = g_list_append (extra_gnetlist_list, g_strdup (arg)); else if (!strcmp (config, "empty-footprint")) empty_footprint_name = g_strdup (arg); else return -1; return 1; } static void load_project (gchar * path) { FILE *f; gchar *s, buf[1024], config[32], arg[768]; f = fopen (path, "r"); if (!f) return; if (verbose) printf ("Reading project file: %s\n", path); while (fgets (buf, sizeof (buf), f)) { for (s = buf; *s == ' ' || *s == '\t' || *s == '\n'; ++s); if (!*s || *s == '#' || *s == '/' || *s == ';') continue; arg[0] = '\0'; sscanf (s, "%31s %767[^\n]", config, arg); parse_config (config, arg); } fclose (f); } static void load_extra_project_files (void) { gchar *path; static gboolean done = FALSE; if (done) return; load_project ("/etc/gsch2pcb"); load_project ("/usr/local/etc/gsch2pcb"); path = g_build_filename ((gchar *) g_get_home_dir (), ".gEDA", "gsch2pcb", NULL); load_project (path); g_free (path); done = TRUE; } static gchar *usage_string0 = "usage: gsch2pcb [options] {project | foo.sch [foo1.sch ...]}\n" "\n" "Generate a PCB layout file from a set of gschem schematics.\n" " gnetlist -g PCB is run to generate foo.net from the schematics.\n" "\n" " gnetlist -g gsch2pcb is run to get PCB m4 derived elements which\n" " match schematic footprints. For schematic footprints which don't match\n" " any PCB m4 layout elements, search a set of file element directories in\n" " an attempt to find matching PCB file elements.\n" " Output to foo.pcb if it doesn't exist. If there is a current foo.pcb,\n" " output only new elements to foo.new.pcb.\n" " If any elements with a non-empty element name in the current foo.pcb\n" " have no matching schematic component, then remove those elements from\n" " foo.pcb and rename foo.pcb to a foo.pcb.bak sequence.\n" "\n" " gnetlist -g pcbpins is run to get a PCB actions file which will rename all\n" " of the pins in a .pcb file to match pin names from the schematic.\n" "\n" " \"project\" is a file (not ending in .sch) containing a list of\n" " schematics to process and some options. A schematics line is like:\n" " schematics foo1.sch foo2.sch ...\n" " Options in a project file are like command line args without the \"-\":\n" " output-name myproject\n" "\n" "options (may be included in a project file):\n" " -d, --elements-dir D Search D for PCB file elements. These defaults\n" " are searched if they exist: ./packages,\n" " /usr/local/share/pcb/newlib, /usr/share/pcb/newlib,\n" " (old pcb) /usr/local/lib/pcb_lib, /usr/lib/pcb_lib,\n" " (old pcb) /usr/local/pcb_lib\n" " -o, --output-name N Use output file names N.net, N.pcb, and N.new.pcb\n" " instead of foo.net, ... where foo is the basename\n" " of the first command line .sch file.\n" " -f, --use-files Force using file elements over m4 PCB elements\n" " for new footprints even though m4 elements are\n" " searched for first and may have been found.\n" " -r, --remove-unfound Don't include references to unfound elements in\n" " the generated .pcb files. Use if you want PCB to\n" " be able to load the (incomplete) .pcb file.\n" " This is the default behavior.\n" " -k, --keep-unfound Keep include references to unfound elements in\n" " the generated .pcb files. Use if you want to hand\n" " edit or otherwise preprocess the generated .pcb file\n" " before running pcb.\n" " -p, --preserve Preserve elements in PCB files which are not found\n" " in the schematics. Note that elements with an empty\n" " element name (schematic refdes) are never deleted,\n" " so you really shouldn't need this option.\n" " -q, --quiet Don't tell the user what to do next after running gsch2pcb.\n" "\n" " -s, --skip-m4 Skip m4 when looking for footprints. The default is to use\n" " m4 (which is what previous versions did).\n" " --m4-file F.inc Use m4 file F.inc in addition to the default m4\n" " files ./pcb.inc and ~/.pcb/pcb.inc.\n" " --m4-pcbdir D Use D as the PCB m4 files install directory\n" " instead of the default:\n"; static gchar *usage_string1 = " --gnetlist backend A convenience run of extra gnetlist -g commands.\n" " Example: gnetlist partslist3\n" " Creates: myproject.partslist3\n" " --empty-footprint name See the project.sample file.\n" "\n" "options (not recognized in a project file):\n" " --gnetlist-arg arg Allows additional arguments to be passed to gnetlist.\n" " --fix-elements If a schematic component footprint is not equal\n" " to its PCB element Description, update the\n" " Description instead of replacing the element.\n" " Do this the first time gsch2pcb is used with\n" " PCB files originally created with gschem2pcb.\n" " -v, --verbose Use -v -v for additional file element debugging.\n" " -V, --version\n\n" "environment variables:\n" " GNETLIST If set, this specifies the name of the gnetlist program\n" " to execute.\n" "\n" "Additional Resources:\n" "\n" " gnetlist user guide: http://geda.seul.org/wiki/geda:gnetlist_ug\n" " gEDA homepage: http://www.gpleda.org\n" " PCB homepage: http://pcb.gpleda.org\n" "\n"; static void usage () { puts (usage_string0); printf (" %s\n", default_m4_pcbdir); puts (usage_string1); exit (0); } static void get_args (gint argc, gchar ** argv) { gchar *opt, *arg, *s; gint i, r; for (i = 1; i < argc; ++i) { opt = argv[i]; arg = argv[i + 1]; if (*opt == '-') { ++opt; if (*opt == '-') ++opt; if (!strcmp (opt, "version") || !strcmp (opt, "V")) { printf ("gsch2pcb %s\n", GSC2PCB_VERSION); exit (0); } else if (!strcmp (opt, "verbose") || !strcmp (opt, "v")) { verbose += 1; continue; } else if (!strcmp (opt, "fix-elements")) { fix_elements = TRUE; continue; } else if (!strcmp (opt, "gnetlist-arg")) { extra_gnetlist_arg_list = g_list_append (extra_gnetlist_arg_list, g_strdup (arg)); i++; continue; } else if (!strcmp (opt, "help") || !strcmp (opt, "h")) usage (); else if (i < argc && ((r = parse_config (opt, (i < argc - 1) ? arg : NULL)) >= 0) ) { i += r; continue; } printf ("gsch2pcb: bad or incomplete arg: %s\n", argv[i]); usage (); } else { if (!g_str_has_suffix (argv[i], ".sch")) { load_extra_project_files (); load_project (argv[i]); } else add_schematic (argv[i]); } } } gint main (gint argc, gchar ** argv) { gchar *pcb_file_name, *pcb_new_file_name, *bak_file_name, *pins_file_name, *net_file_name, *tmp; gint i; gboolean initial_pcb = TRUE; gboolean created_pcb_file = TRUE; char *path, *p; const char *pcbdata_path; if (argc < 2) usage (); pcbdata_path = g_getenv ("PCBDATA"); /* do not free return value */ if (pcbdata_path != NULL) { /* If PCBDATA is set, use the value */ m4_pcbdir = g_strconcat (pcbdata_path, "/pcb/m4", NULL); } else { /* Use the default value passed in from the configure script * instead of trying to hard code a value which is very * likely wrong */ m4_pcbdir = g_strconcat (PCBDATADIR, "/pcb/m4", NULL); } default_m4_pcbdir = g_strdup (m4_pcbdir); get_args (argc, argv); load_extra_project_files (); add_default_m4_files (); if (!schematics) usage (); /* Defaults for the search path if not configured in the project file */ if (g_file_test ("packages", G_FILE_TEST_IS_DIR)) element_directory_list = g_list_append (element_directory_list, "packages"); #define PCB_PATH_DELIMETER ":" if (verbose) printf ("Processing PCBLIBPATH=\"%s\"\n", PCBLIBPATH); path = g_strdup (PCBLIBPATH); for (p = strtok (path, PCB_PATH_DELIMETER); p && *p; p = strtok (NULL, PCB_PATH_DELIMETER)) { if (g_file_test (p, G_FILE_TEST_IS_DIR)) { if (verbose) printf ("Adding %s to the newlib search path\n", p); element_directory_list = g_list_append (element_directory_list, g_strdup (p)); } } g_free (path); pins_file_name = g_strconcat (sch_basename, ".cmd", NULL); net_file_name = g_strconcat (sch_basename, ".net", NULL); pcb_file_name = g_strconcat (sch_basename, ".pcb", NULL); bak_file_name = g_strconcat (sch_basename, ".pcb.bak", NULL); tmp = g_strdup (bak_file_name); for (i = 0; g_file_test (bak_file_name, G_FILE_TEST_EXISTS); ++i) { g_free (bak_file_name); bak_file_name = g_strdup_printf ("%s%d", tmp, i); } g_free (tmp); if (g_file_test (pcb_file_name, G_FILE_TEST_EXISTS)) { initial_pcb = FALSE; pcb_new_file_name = g_strconcat (sch_basename, ".new.pcb", NULL); get_pcb_element_list (pcb_file_name); } else pcb_new_file_name = g_strdup (pcb_file_name); if (!run_gnetlist (pins_file_name, net_file_name, pcb_new_file_name, sch_basename, schematics)) { fprintf(stderr, "Failed to run gnetlist\n"); exit (1); } if (add_elements (pcb_new_file_name) == 0) { build_and_run_command ("rm %s", pcb_new_file_name); if (initial_pcb) { printf ("No elements found, so nothing to do.\n"); exit (0); } } if (fix_elements) update_element_descriptions (pcb_file_name, bak_file_name); prune_elements (pcb_file_name, bak_file_name); /* Report work done during processing */ if (verbose) printf ("\n"); printf ("\n----------------------------------\n"); printf ("Done processing. Work performed:\n"); if (n_deleted > 0 || n_fixed > 0 || need_PKG_purge || n_changed_value > 0) printf ("%s is backed up as %s.\n", pcb_file_name, bak_file_name); if (pcb_element_list && n_deleted > 0) printf ("%d elements deleted from %s.\n", n_deleted, pcb_file_name); if (n_added_ef + n_added_m4 > 0) printf ("%d file elements and %d m4 elements added to %s.\n", n_added_ef, n_added_m4, pcb_new_file_name); else if (n_not_found == 0) { printf ("No elements to add so not creating %s\n", pcb_new_file_name); created_pcb_file = FALSE; } if (n_not_found > 0) { printf ("%d not found elements added to %s.\n", n_not_found, pcb_new_file_name); } if (n_unknown > 0) printf ("%d components had no footprint attribute and are omitted.\n", n_unknown); if (n_none > 0) printf ("%d components with footprint \"none\" omitted from %s.\n", n_none, pcb_new_file_name); if (n_empty > 0) printf ("%d components with empty footprint \"%s\" omitted from %s.\n", n_empty, empty_footprint_name, pcb_new_file_name); if (n_changed_value > 0) printf ("%d elements had a value change in %s.\n", n_changed_value, pcb_file_name); if (n_fixed > 0) printf ("%d elements fixed in %s.\n", n_fixed, pcb_file_name); if (n_PKG_removed_old > 0) { printf ("%d elements could not be found.", n_PKG_removed_old); if (created_pcb_file) printf (" So %s is incomplete.\n", pcb_file_name); else printf ("\n"); } if (n_PKG_removed_new > 0) { printf ("%d elements could not be found.", n_PKG_removed_new); if (created_pcb_file) printf (" So %s is incomplete.\n", pcb_new_file_name); else printf ("\n"); } if (n_preserved > 0) printf ("%d elements not in the schematic preserved in %s.\n", n_preserved, pcb_file_name); /* Tell user what to do next */ if (verbose) printf ("\n"); if (n_added_ef + n_added_m4 > 0) { if (initial_pcb) { printf ("\nNext step:\n"); printf ("1. Run pcb on your file %s.\n", pcb_file_name); printf (" You will find all your footprints in a bundle ready for you to place\n"); printf (" or disperse with \"Select -> Disperse all elements\" in PCB.\n\n"); printf ("2. From within PCB, select \"File -> Load netlist file\" and select \n"); printf (" %s to load the netlist.\n\n", net_file_name); printf ("3. From within PCB, enter\n\n"); printf (" :ExecuteFile(%s)\n\n", pins_file_name); printf (" to propagate the pin names of all footprints to the layout.\n\n"); } else if (quiet_mode == FALSE) { printf ("\nNext steps:\n"); printf ("1. Run pcb on your file %s.\n", pcb_file_name); printf ("2. From within PCB, select \"File -> Load layout data to paste buffer\"\n"); printf (" and select %s to load the new footprints into your existing layout.\n", pcb_new_file_name); printf ("3. From within PCB, select \"File -> Load netlist file\" and select \n"); printf (" %s to load the updated netlist.\n\n", net_file_name); printf ("4. From within PCB, enter\n\n"); printf (" :ExecuteFile(%s)\n\n", pins_file_name); printf (" to update the pin names of all footprints.\n\n"); } } g_free (net_file_name); g_free (pins_file_name); g_free (pcb_file_name); g_free (bak_file_name); return 0; } geda-gaf-1.8.2/utils/src/char_width.c0000664000175000017500000000267112050461155014314 00000000000000 #include "config.h" #ifdef HAVE_STRING_H #include #endif #ifdef HAVE_LIBDMALLOC #include #endif #define CHAR_POINTS 2 const int char_width[]={ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 11,14,14,22,28,28,24,10,12,12,16,20,14,20,12,18, 26,16,26,20,26,20,24,20,22,26,12,12,20,20,20,20, 36,29,29,28,26,29,21,30,29,9,21,27,22,32,28,32, 25,32,26,25,23,27,27,37,27,25,27,12,14,12,20,25, 10,24,22,22,20,20,12,24,20,8,10,19,9,32,20,20, 20,24,14,18,12,19,20,28,19,20,21,12,10,12,22,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,29,29,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0, 0,0,0,0,24,24,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0 }; /***************************************************************/ /* GetStringDisplayLength: */ /* inputs: string to be sized */ /* string's font size to use */ /* returns: length of string in gEDA points */ /***************************************************************/ int GetStringDisplayLength(char *str,int font_size) { int width=0; int i, len; len = strlen(str); for (i=0;i #define GRVERSION "24052006" #define COMP_DATE __DATE__ #define COMP_TIME __TIME__ #define MAX_PREFIX_COUNT 50 /*This specifies the maximum number of different prefixes. e.g. Ux Rx Qx...*/ #define PAGE_JMP 100 /*There will be R101 R102 on page 1, R201 R202 on page 2.*/ #define COUNT_START 0 /*Start the counting from this number+1*/ #define MAX_PREFIX_SIZE 10 /*Define max prefx length*/ #define BUFFSIZE 256 #define FILENAMESIZE 100 /*Flag definitions*/ /* flag bits * * bit function *----------------------- * 0 pkgskip * 1 gap detected * 2 not implemented * 3 not implemented * 4 not implemented * 5 not implemented * 6 not implemented * 7 not implemented */ #define PAGEJUMP 0x01 #define GAP_DETECTED 0x02 /*Return status of the main program*/ #define OK 0 #define NO_INPUT_FILE 1 #define FILE_OP_ERROR 2 #define PARSE_ERROR 3 #define OUT_OF_MEMORY 4 /*Return status of get_refdes_from_file()*/ #define END_OF_FILE 2 #define NOT_REFDES_LINE 3 /*Return status of parse_refdes()*/ #define REFDES_WITH_VALUE 0 #define REFDES_WITHOUT_VALUE 1 #define REFDES_ERROR -1 /*Return status of refdes_lookup()*/ #define REFDES_NOT_FOUND -1 /*Return status of seek_value()*/ #define VALUE_FOUND 1 #define VALUE_NOT_FOUND 0 struct refdes_ { char prefix[MAX_PREFIX_SIZE]; unsigned int value; int prefixes; }; int main(int argc, char *argv[]); int get_refdes_from_file(FILE *fp,struct refdes_ *refdes, char *buff); int seek_value(int prefix, FILE *fp, unsigned int value, struct refdes_ *db); int parse_refdes(struct refdes_ *refdes, char *ref_str); int refdes_lookup(struct refdes_ *db, struct refdes_ *ref); void printhelp(void); void printver(void); geda-gaf-1.8.2/utils/src/convert_sym.c0000664000175000017500000015624012050461155014552 00000000000000/* convert_sym.c: * * Convert a Viewlogic symbol/schematic to gEDA gschem format * * accept one argument, the name of the file to * convert, converted output is displayed on stdout. * * Copyright (C) 1999-2010 Mike Jarabek * * CHANGE HISTORY: * * Updated 8/16/2005 by Jeff McLamb (mclamb AT bustech.com) * - Updated to support gEDA file format version 1 * - Added capability to import more graphic styles from ViewDraw * - Corrected bug associated with absense of library reference in * local ViewDraw symbols * - Removed command-line option -s; no longer necessary * - Mapped ViewDraw "SIGNAL" attribute to gEDA "net" attribute * - Mapped ViewDraw "HETERO" attribute to a new "split" attribute * - Mapped ViewDraw "PINTYPE" attributes to correct gEDA pintypes * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * $Id$ */ #include #include #include #include #include #include #include #include #ifdef HAVE_LIBDMALLOC #include #endif /* * make it so we can use __attribute__((unused)) on gcc without * breaking non-gcc */ #ifndef GCC_VERSION #define GCC_VERSION (__GNUC__ * 1000 + __GNUC_MINOR__) #endif /* GCC_VERSION */ #if GCC_VERSION > 2007 #define ATTRIBUTE_UNUSED __attribute__((unused)) #else #define ATTRIBUTE_UNUSED #endif #ifndef lint static char vcid[] ATTRIBUTE_UNUSED = "$Id$"; #endif /* lint */ #ifndef OPTARG_IN_UNISTD extern char *optarg; extern int optind; #endif /* local defines */ #define MAX_TEXTLEN 1024 #define MAX_NODES 1024 #define MAX_POINTS 1024 /* gEDA style enumerators */ typedef enum {END_NONE, END_SQUARE, END_ROUND} OBJECT_END; typedef enum {TYPE_SOLID, TYPE_DOTTED, TYPE_DASHED, TYPE_CENTER, TYPE_PHANTOM, TYPE_ERASE} OBJECT_TYPE; typedef enum {FILLING_HOLLOW, FILLING_FILL, FILLING_MESH, FILLING_HATCH, FILLING_VOID} OBJECT_FILLING; typedef enum {NORMAL_PIN, BUS_PIN} OBJECT_PINTYPE; /* Viewdraw Colours * * 0 Black | 4 Red | 8 Gray | 12 Lt. Red * 1 Blue | 5 Magenta | 9 Lt. Blue | 13 Lt. Magenta * 2 Green | 6 Brown | 10 Lt. Green | 14 Yellow * 3 Cyan | 7 Lt. Gray | 11 Lt. Cyan | 15 White * * Geda Colours: * * 0 BLACK | 1 WHITE | 2 RED | 3 GREEN * 4 BLUE | 5 YELLOW | 6 CYAN | 7 GREY * */ /* ViewDraw fill styles: * 0 = Hollow, no fill * 1 = Solid, full fill * 2 = Grey92, mostly fill, thick array of empty space * 4 = Grey50, 50% dot fill * 6 = Grey08, thicker array of dots * 7 = Grey04, thin array of dots * 8 = Diagdn2, widely-spaced diagonals from top left to bottom right * 11 = Diagdn1, narrowly-spaced diagonals from top left to bottom right * 13 = Diagup2, widely-spaced diagonals from bottom left to top right * 16 = Diagup1, narrowly-spaced diagonals from bottom left to top right * 19 = Horiz, narrowly-spaced horizontal lines * 21 = Vert, narrowly-spaced vertical lines * 22 = Grid2, widely-spaced square grid * 23 = Grid1, narrowly-spaced square grid * 24 = X2, widely-spaced diagonal crosshatch * 25 = X1, narrowly-spaced diagonal crosshatch */ /* ViewDraw line styles: * 0 = Solid * 1 = Dash * 2 = Center, alternating short and long dashes * 3 = Phantom, alternating dash and two dots * 4 = Big dash * 5 = Dot * 6 = Dash-dot, alternating dashes and dots * 7 = Medium dash */ /* tables */ int colormap[16] = /* index is viewlogic colour, entry is geda color */ { 0, /* 0 */ 4, /* 1 */ 3, /* 2 */ 6, /* 3 */ 2, /* 4 */ 2, /* 5 */ 7, /* 6 */ 7, /* 7 */ 7, /* 8 */ 4, /* 9 */ 3, /* 10 */ 6, /* 11 */ 2, /* 12 */ 2, /* 13 */ 5, /* 14 */ 1, /* 15 */ }; /* Fill style structure */ struct FillStyle { OBJECT_FILLING fill_type; /* gEDA object fill type */ int fill_width; /* width of the fill lines */ int fill_angle1; /* first angle of fill lines */ int fill_pitch1; /* first pitch/spacing of fill lines */ int fill_angle2; /* second angle of fill lines */ int fill_pitch2; /* second pitch/spacing of fill lines */ }; /* index is ViewDraw fill style, entry is above gEDA FillStyle struct */ struct FillStyle fillmap[26] = { /* 0 = Hollow, no fill */ {FILLING_HOLLOW, -1, -1, -1, -1, -1}, /* 1 = Solid, full fill */ {FILLING_FILL, -1, -1, -1, -1, -1}, /* 2 = Grey92, mostly fill, thick array of empty space */ {FILLING_MESH, 20, 45, 30, 135, 30}, /* 3 = Undefined; assume hollow, no fill */ {FILLING_HOLLOW, -1, -1, -1, -1, -1}, /* 4 = Grey50, 50% dot fill */ {FILLING_MESH, 10, 45, 20, 135, 20}, /* 5 = Undefined; assume hollow, no fill */ {FILLING_HOLLOW, -1, -1, -1, -1, -1}, /* 6 = Grey08, thicker array of dots */ {FILLING_MESH, 0, 45, 40, 135, 40}, /* Can't do dots; use mesh */ /* 7 = Grey04, sparse array of dots */ {FILLING_MESH, 0, 45, 80, 135, 80}, /* Can't do dots; use mesh */ /* 8 = Diagdn2, widely-spaced diagonals from top left to bottom right */ {FILLING_HATCH, 0, 135, 80, -1, -1}, /* 9 = Undefined; assume hollow, no fill */ {FILLING_HOLLOW, -1, -1, -1, -1, -1}, /* 10 = Undefined; assume hollow, no fill */ {FILLING_HOLLOW, -1, -1, -1, -1, -1}, /* 11 = Diagdn1, narrowly-spaced diagonals from top left to bottom right */ {FILLING_HATCH, 0, 135, 40, -1, -1}, /* 12 = Undefined; assume hollow, no fill */ {FILLING_HOLLOW, -1, -1, -1, -1, -1}, /* 13 = Diagup2, widely-spaced diagonals from bottom left to top right */ {FILLING_HATCH, 0, 45, 80, -1, -1}, /* 14 = Undefined; assume hollow, no fill */ {FILLING_HOLLOW, -1, -1, -1, -1, -1}, /* 15 = Undefined; assume hollow, no fill */ {FILLING_HOLLOW, -1, -1, -1, -1, -1}, /* 16 = Diagup1, narrowly-spaced diagonals from bottom left to top right */ {FILLING_HATCH, 0, 45, 40, -1, -1}, /* 17 = Undefined; assume hollow, no fill */ {FILLING_HOLLOW, -1, -1, -1, -1, -1}, /* 18 = Undefined; assume hollow, no fill */ {FILLING_HOLLOW, -1, -1, -1, -1, -1}, /* 19 = Horiz, narrowly-spaced horizontal lines */ {FILLING_HATCH, 10, 0, 40, -1, -1}, /* 20 = Undefined; assume hollow, no fill */ {FILLING_HOLLOW, -1, -1, -1, -1, -1}, /* 21 = Vert, narrowly-spaced vertical lines */ {FILLING_HATCH, 10, 90, 40, -1, -1}, /* 22 = Grid2, widely-spaced square grid */ {FILLING_MESH, 0, 0, 80, 90, 80}, /* 23 = Grid1, narrowly-spaced square grid */ {FILLING_MESH, 0, 0, 40, 90, 40}, /* 24 = X2, widely-spaced diagonal crosshatch */ {FILLING_MESH, 0, 45, 80, 135, 80}, /* 25 = X1, narrowly-spaced diagonal crosshatch */ {FILLING_MESH, 0, 45, 40, 135, 40}, }; /* fillmap */ #define FILL_DEFAULT (struct FillStyle){FILLING_HOLLOW, -1, -1, -1, -1, -1} /* Line style structure */ struct LineStyle { int line_width; /* width of line */ OBJECT_END line_capstyle; /* gEDA line cap style (end style) */ OBJECT_TYPE line_dashstyle; /* gEDA line dash style */ int line_dashlength; /* length of line dashes */ int line_dashspace; /* space between line dashes */ }; struct LineStyle linemap[8] = { /* 0 = Solid */ {0, END_NONE, TYPE_SOLID, -1, -1}, /* 1 = Dash */ {0, END_NONE, TYPE_DASHED, 100, 100}, /* 2 = Center, alternating short and long dashes */ {0, END_NONE, TYPE_CENTER, 100, 100}, /* 3 = Phantom, alternating dash and two dots */ {0, END_NONE, TYPE_PHANTOM, 100, 100}, /* 4 = Big dash */ {0, END_NONE, TYPE_DASHED, 400, 100}, /* 5 = Dot */ {0, END_NONE, TYPE_DOTTED, -1, 100}, /* 6 = Dash-dot, alternating dashes and dots */ {0, END_NONE, TYPE_CENTER, 100, 100}, /* 7 = Medium dash */ {0, END_NONE, TYPE_DASHED, 200, 100}, }; /* linemap */ #define LINE_DEFAULT (struct LineStyle){0, END_NONE, TYPE_SOLID, -1, -1} /* attribute translation table */ struct Translation { char *origName; /* name as it appears on a viewlogic schematic */ char *newName; /* name as it should appear in gEDA */ unsigned int action; /* what to do with this name */ }; /* action codes for translation action */ #define REPLACE_NAME 1 #define KILL 2 #define WARN_USER 3 struct Translation translations[] = { {"PKG_TYPE", "footprint", REPLACE_NAME}, {"LEVEL", "", KILL}, /* {"NC", "", KILL}, */ {"NAME", "", KILL}, {"LABEL", "", KILL}, {"SIGNAL", "net", REPLACE_NAME}, {"HETERO", "split", REPLACE_NAME}, }; unsigned int nTranslations = sizeof(translations)/sizeof(struct Translation); /* local function prototypes */ int convert_file(FILE *fp); unsigned int strindex(char *s, char c); unsigned int strrindex(char *s, char c); void strtolower(char *s); int get_continued_string(char *buf, size_t buffer_size, FILE *fp); int get_style(FILE *fp, unsigned int *colour, struct LineStyle *linestyle, struct FillStyle *fillstyle); void set_orientation(int *angle, int *mirror, int orientation); /* conversion readers */ void do_nop(FILE *fp); void do_bounding_box(FILE *fp); void do_unattached_attribute(FILE *fp); void do_attached_attribute(FILE *fp); void do_text(FILE *fp); void do_line(FILE *fp); void do_pin(FILE *fp); void do_box(FILE *fp); void do_circle(FILE *fp); void do_arc(FILE *fp); void do_label(FILE *fp); void do_net_start(FILE *fp); void do_net_node(FILE *fp); void do_net_segment(FILE *fp); void do_net_segment_bus(FILE *fp); void do_instance(FILE *fp); /* output objects */ void text_object(int x, int y, unsigned int color, unsigned int size, unsigned int visibility, unsigned int show_name_value, int angle, char *text, unsigned int origin); void attribute_object(int x, int y, unsigned int color, unsigned int size, unsigned int visibility, unsigned int show_name_value, int angle, char *name, char *value, unsigned int origin); void line_object(int x1, int y1, int x2, int y2, unsigned int color, struct LineStyle *linestyle); void circle_object(int bx, int by, unsigned int radius, unsigned int bcolor, struct LineStyle *linestyle, struct FillStyle *fillstyle); void pin_object(int x1, int y1, int x2, int y2, unsigned int color, OBJECT_PINTYPE pintype, unsigned int whichend); void box_object(int x1, int y1, unsigned int width, unsigned int height, unsigned int color, struct LineStyle *linestyle, struct FillStyle *fillstyle); void arc_object(int x1, int y1, unsigned int radius, int start_angle, int sweep_angle, unsigned int color, struct LineStyle *linestyle); void net_segment(int x1, int y1, int x2, int y2, unsigned int color); void bus_segment(int x1, int y1, int x2, int y2, unsigned int color, int ripperdir); void complex_object(int x, int y, unsigned int selectable, int angle, unsigned int mirror, char *name); void begin_attach(void); void end_attach(void); void reset_attributes(void); /* externals */ int GetStringDisplayLength(char *str,int font_size); /* globals */ int attach_pending = 0; /* keep track of whether the last object */ /* read may have attachments pending. */ int add_attributes = 0; /* keep track of whether we are adding attributes */ /* to some previous object */ int pin_attributes = 0; /* when true, we are adding attributes to a pin */ int net_attributes = 0; /* when true, we are adding atrributes to a net */ int complex_attributes = 0;/* when true, we are adding attibutes to a complex*/ int pin_count = 0; /* to keep track of the number of pins */ int reading_net = 0; /* used to keep track of when we are reading a net*/ int segment_count = 0; /* the number of net segments read for a net */ int net_nodes_x[MAX_NODES]; int net_nodes_y[MAX_NODES]; int scale = 10; /* scale factor for viewlogic-geda conversion */ /* int symbol_mode = 0; */ int records_processed = 0; /* used to keep track of the number of viewlogic * records processed for diagnostics */ int minx = 0; /* bounding box for symbol */ int miny = 0; int maxx = 0; int maxy = 0; void usage(char *cmd) { fprintf(stderr, "Usage:\n\t%s \n" " Where:\n" "\t is the name of the file you\n" "\t\t\t want to convert to gEDA format\n", cmd); exit(1); } int main(int argc, char **argv) { FILE *infile; char *infileName; int ch; while ((ch = getopt (argc, argv, "?h")) != -1) { switch (ch) { /* case 's': symbol_mode = 1; break; */ case '?': case 'h': default: usage(argv[0]); break; } } if (optind == argc) usage(argv[0]); /* 'parse' arguments */ infileName = argv[optind]; infile=fopen(infileName,"r"); if(infile == NULL) { fprintf(stderr,"Error: Unable to open file `%s' in %s()\n", infileName,__func__); return 1; } convert_file(infile); fclose(infile); return 0; } /* convert the given file to geda */ int convert_file(FILE *fp) { int c; int text_len; char buf[MAX_TEXTLEN]; /* output pre-amble */ printf("v 20050313 1\n"); /* Version timestamp 20050313, file version 1 */ reset_attributes(); while((c =fgetc(fp)) != EOF) /* fetch record type */ { switch(c) /* branch to appropriate handler */ { case 'D': do_bounding_box(fp); break; case 'U': do_unattached_attribute(fp); break; case 'A': do_attached_attribute(fp); break; case 'T': do_text(fp); break; case 'l': do_line(fp); break; case 'P': do_pin(fp); break; case 'b': do_box(fp); break; case 'c': do_circle(fp); break; case 'a': do_arc(fp); break; case 'L': do_label(fp); break; /* net stuff */ case 'N': do_net_start(fp); break; case 'J': do_net_node(fp); break; case 'S': do_net_segment(fp); break; case 'B': do_net_segment_bus(fp); break; case 'I': do_instance(fp); break; /* ZZZZ */ case 'V': case 'K': case 'Y': case 'i': case 'E': case 'Z': do_nop(fp); break; case 'Q': fprintf(stderr,"Warning 'Q' record found and not handled at" "record %d, contact maintainer\n",records_processed); do_nop(fp); break; case 'C': /* connected pin record */ do_nop(fp); break; case 'X': /* unconnected pin record */ do_nop(fp); break; case '|': /* some kind of timestamp */ do_nop(fp); break; default: /* just read in the record and trash it */ fgets(buf, MAX_TEXTLEN, fp); /* nuke trailing CR, if there */ text_len=strlen(buf); if(buf[text_len-1] == '\n') { buf[text_len-1] = 0; } fprintf(stderr,"Warning: Unrecognized record #%d:\n'%c%s'\n", records_processed, c, buf); } records_processed++; } /* output post-amble */ reset_attributes(); return 0; } void do_nop(FILE *fp) { char text[MAX_TEXTLEN]; fgets(text,MAX_TEXTLEN,fp); } void do_bounding_box(FILE *fp) { #if 0 unsigned int color; struct LineStyle linestyle; struct FillStyle fillstyle; #endif /* just fetch the values and store */ if(fscanf(fp,"%d %d %d %d\n", &minx, &miny, &maxx, &maxy) != 4) { fprintf(stderr,"Error: Invalid bounding box record #%d in %s()\n", records_processed, __func__); exit(1); } minx *= scale; miny *= scale; maxx *= scale; maxy *= scale; /* Do not draw the bounding box, only retrieve the min and max values */ #if 0 if (symbol_mode == 0) { color = GRAPHIC_COLOR; linestyle = LINE_DEFAULT; fillstyle = FILL_DEFAULT; box_object(minx, miny, maxx-minx, maxy-miny, color, &linestyle, &fillstyle); } #endif } void do_unattached_attribute(FILE *fp) { int x,y,angle; unsigned int dummy, color, size, origin, viewvis; unsigned int index; unsigned int visibility, show_name_value; char text[MAX_TEXTLEN], *name, *value; struct LineStyle linestyle; struct FillStyle fillstyle; /* if we are inside of a pin definition, terminate */ reset_attributes(); /* for the moment just represent as text */ /* viewlogic unnatached attributes have this format: * U #X #Y #SIZE #ROTATION #origin #Visibility ATTR_TEXT */ if(fscanf(fp,"%d %d %u %d %u %u", &x, &y, &size, &angle, &origin, &viewvis) != 6) { fprintf(stderr,"Error: Invalid Unattached attribute record #%d " "in %s()\n", records_processed, __func__); exit(1); } /* read in the text */ get_continued_string(text, MAX_TEXTLEN, fp); x *= scale; /* correct coordinates */ y *= scale; color = DETACHED_ATTRIBUTE_COLOR; linestyle = LINE_DEFAULT; fillstyle = FILL_DEFAULT; get_style(fp, &dummy, &linestyle, &fillstyle); /* evaluate visibility for attributes */ switch(viewvis) { case 0: /* not at all visibile */ visibility = 0; show_name_value = 0; break; case 1: /* attribute and name visible */ visibility = 1; show_name_value = 0; break; case 2: /* only name visible */ visibility = 2; show_name_value = 1; break; case 3: /* only value visible */ visibility = 1; show_name_value = 1; break; default: fprintf(stderr,"Error: Invalid visibility value %d in " "viewlogic file at record #%d in function %s()\n", viewvis, records_processed, __func__); return; } /* find name and value pair */ name = text; index = strindex(text,'='); if (text[index] == '=') { text[index] = 0; value = &text[index+1]; } else { value = NULL; } attribute_object( x, y, color, size, visibility, show_name_value, angle, name, value, origin ); } void do_attached_attribute(FILE *fp) { int x,y,angle; unsigned int color, dummy, size, origin, viewvis; unsigned int visibility, show_name_value; unsigned int index; char text[MAX_TEXTLEN],text2[MAX_TEXTLEN],*name,*value; struct LineStyle linestyle; struct FillStyle fillstyle; /* for the moment just represent as text */ /* attached attributes have the following format: * A #X #Y #SIZE #ROTATION #ORIGIN #VISIBILITY ATTR_TEXT */ if(fscanf(fp,"%d %d %u %d %u %u", &x, &y, &size, &angle, &origin, &viewvis) != 6) { fprintf(stderr,"Error: Invalid attached attribute record #%d" " in %s()\n", records_processed, __func__); exit(1); } x *= scale; /* correct coordinates */ y *= scale; /* read in the text */ get_continued_string(text, MAX_TEXTLEN, fp); color = ATTRIBUTE_COLOR; linestyle = LINE_DEFAULT; fillstyle = FILL_DEFAULT; get_style(fp, &dummy, &linestyle, &fillstyle); /* evaluate visibility for attributes */ switch(viewvis) { case 0: /* not at all visibile */ visibility = 0; show_name_value = 0; break; case 1: /* attribute and name visible */ visibility = 1; show_name_value = 0; break; case 2: /* only name visible */ visibility = 1; show_name_value = 2; break; case 3: /* only value visible */ visibility = 1; show_name_value = 1; break; default: fprintf(stderr,"Error: Invalid visibility value %d in " "viewlogic file at record #%d, in function %s()\n", viewvis, records_processed, __func__); return; } begin_attach(); if(pin_attributes) /* are we adding to a pin ? */ { /* translate pintype attribute */ if (strncmp(text, "PINTYPE=", 8) == 0) { value = &text[strindex(text,'=')+1]; if (strcmp(value, "ANALOG") == 0) { #ifdef HAVE_SNPRINTF snprintf(text, MAX_TEXTLEN, "pintype=pas"); #else sprintf(text, "pintype=pas"); #endif } else if (strcmp(value, "BI") == 0) { #ifdef HAVE_SNPRINTF snprintf(text, MAX_TEXTLEN, "pintype=io"); #else sprintf(text, "pintype=io"); #endif } else if (strcmp(value, "IN") == 0) { #ifdef HAVE_SNPRINTF snprintf(text, MAX_TEXTLEN, "pintype=in"); #else sprintf(text, "pintype=in"); #endif } else if (strcmp(value, "OCL") == 0) { #ifdef HAVE_SNPRINTF snprintf(text, MAX_TEXTLEN, "pintype=oc"); #else sprintf(text, "pintype=oc"); #endif } else if (strcmp(value, "OEM") == 0) { #ifdef HAVE_SNPRINTF snprintf(text, MAX_TEXTLEN, "pintype=oe"); #else sprintf(text, "pintype=oe"); #endif } else if (strcmp(value, "OUT") == 0) { #ifdef HAVE_SNPRINTF snprintf(text, MAX_TEXTLEN, "pintype=out"); #else sprintf(text, "pintype=out"); #endif } else if (strcmp(value, "TRI") == 0) { #ifdef HAVE_SNPRINTF snprintf(text, MAX_TEXTLEN, "pintype=tri"); #else sprintf(text, "pintype=tri"); #endif } else if (strcmp(value, "PWR") == 0) { #ifdef HAVE_SNPRINTF snprintf(text, MAX_TEXTLEN, "pintype=pwr"); #else sprintf(text, "pintype=pwr"); #endif } else { fprintf(stderr,"Error: Invalid or unknown pin type \"%s\" for record " "#%d in %s()\n", value, records_processed, __func__); exit(1); } /* find name and value pair */ name = text; index = strindex(text,'='); text[index] = 0; value = &text[index+1]; attribute_object( x, y, color, size, visibility, show_name_value, angle, name, value, origin ); /* done attaching pin attributes */ return; } /* attach the pinseq and pinnumber attributes */ if(text[0] == '#') { strncpy(text2, text, MAX_TEXTLEN); #ifdef HAVE_SNPRINTF snprintf(text, MAX_TEXTLEN, "pinseq=%d",pin_count); #else sprintf(text, "pinseq=%d",pin_count); #endif /* pinseq is invisible */ visibility = 0; /* overide any previous settings */ show_name_value = 1; /* find name and value pair */ name = text; index = strindex(text,'='); text[index] = 0; value = &text[index+1]; attribute_object( x, y, color, size, visibility, show_name_value, angle, name, value, origin ); #ifdef HAVE_SNPRINTF snprintf(text, MAX_TEXTLEN, "pinnumber=%s", &text2[2]); #else sprintf(text, "pinnumber=%s", &text2[2]); #endif /* pinnumber is visible */ visibility = 1; /* overide any previous settings */ show_name_value = 1; name = text; index = strindex(text,'='); text[index] = 0; value = &text[index+1]; attribute_object( x, y, color, size, visibility, show_name_value, angle, name, value, origin ); /* done attaching pin attributes */ return; } } name = text; index = strindex(text,'='); if (text[index] == '=') { text[index] = 0; value = &text[index+1]; } else { value = NULL; } attribute_object( x, y, color, size, visibility, show_name_value, angle, name, value, origin ); } void do_text(FILE *fp) { int x,y,angle; unsigned int size, origin; unsigned int color, show_name_value; unsigned int visibility; char text[MAX_TEXTLEN]; struct LineStyle linestyle; struct FillStyle fillstyle; /* if we are inside of a pin definition, terminate */ reset_attributes(); /* viewlogic text have the following format: * T #X #Y #SIZE #ROTATION #ORIGIN TEXT */ if(fscanf(fp,"%d %d %u %d %u",&x, &y, &size, &angle, &origin) != 5) { fprintf(stderr,"Error: Invalid text record #%d in %s()\n", records_processed, __func__); exit(1); } /* read in the text */ get_continued_string(text, MAX_TEXTLEN, fp); x *= scale; /* correct coordinates */ y *= scale; color = TEXT_COLOR; visibility = 1; show_name_value = 0; /* get possible colour change */ linestyle = LINE_DEFAULT; fillstyle = FILL_DEFAULT; get_style(fp, &color, &linestyle, &fillstyle); text_object(x, y, color, size, visibility, show_name_value, angle, text, \ origin); } void do_line(FILE *fp) { int x[MAX_POINTS],y[MAX_POINTS]; unsigned int pairs,color,i; struct LineStyle linestyle; struct FillStyle fillstyle; /* if we are inside of a pin definition, terminate */ reset_attributes(); /* the viewlogic line primitive is composed of * l #PAIRS #X1 #Y1 #X2 #Y2 ... - Line */ if(fscanf(fp,"%d",&pairs) != 1) { fprintf(stderr,"Error: Unable to read number of line pairs " "for record #%d, in %s()\n", records_processed, __func__); exit(1); } /* scan in all the co-ordinate pairs and pop them into our array */ for (i=0; i < pairs; i++) { if(fscanf(fp,"%d %d", &x[i], &y[i]) != 2) { fprintf(stderr,"Error: unable to read %dth coodinate pair " "for record #%d, in %s()\n", i+1, records_processed, __func__); exit(1); } x[i] *= scale; y[i] *= scale; } /* slurp up trailing CR/NL */ if (getc(fp) == '\r') getc(fp); color = GRAPHIC_COLOR; linestyle = LINE_DEFAULT; fillstyle = FILL_DEFAULT; /* now check for an optional style record */ get_style(fp, &color, &linestyle, &fillstyle); /* now, output the line as a series of geda lines */ for(i=1; i y2) { whichend = 0; bx = x2; by = y2+bradius; by2 += bdiameter; } else { whichend = 1; bx = x1; by = y1+bradius; by1 += bdiameter; } break; case 1: /* Pin on bottom */ if (y1 < y2) { whichend = 0; bx = x2; by = y2-bradius; by2 -= bdiameter; } else { whichend = 1; bx = x1; by = y1-bradius; by1 -= bdiameter; } break; case 2: /* Pin on left */ if (x1 < x2) { whichend = 0; bx = x2-bradius; by = y2; bx2 -= bdiameter; } else { whichend = 1; bx = x1-bradius; by = y1; bx1 -= bdiameter; } break; case 3: /* Pin on right */ if (x1 > x2) { whichend = 0; bx = x2+bradius; by = y2; bx2 += bdiameter; } else { whichend = 1; bx = x1+bradius; by = y1; bx1 += bdiameter; } break; default: /* Invalid pin direction */ fprintf(stderr,"Error: Invalid pin direction %d in " "ViewLogic file at record #%d, in function %s()\n", pindir, records_processed, __func__); exit(1); } /* if this pin has to be of negative polarity, add a bitty bubble * and adjust the size of the pin */ if(pinsense == 1) { x1 = bx1; y1 = by1; x2 = bx2; y2 = by2; linestyle = LINE_DEFAULT; fillstyle = FILL_DEFAULT; circle_object(bx,by,bradius,bcolor,&linestyle,&fillstyle); } /* For now, only normal pins are supported */ pintype = NORMAL_PIN; pin_object(x1,y1,x2,y2,color,pintype,whichend); add_attributes = 1; /* add attributes */ attach_pending = 1; /* signal that an attachment could be coming */ pin_attributes = 1; /* and that they are pin attributes */ pin_count++; /* bump the number of pins */ } void do_box(FILE *fp) { int x1, y1, x2, y2, width, height; unsigned int color; struct LineStyle linestyle; struct FillStyle fillstyle; /* if we are inside of a pin definition, terminate */ reset_attributes(); /* a viewlogic box has the following format: * b #X1 #Y1 #X2 #Y2 * geda view of a box has the corner, width and height */ if(fscanf(fp, "%d %d %d %d\n", &x1, &y1, &x2, &y2) != 4) { fprintf(stderr, "Error: Invalid box record #%d in %s()\n", records_processed, __func__); exit(1); } x1 *= scale; y1 *= scale; x2 *= scale; y2 *= scale; width = x2-x1; height = y2-y1; color = GRAPHIC_COLOR; linestyle = LINE_DEFAULT; fillstyle = FILL_DEFAULT; get_style(fp, &color, &linestyle, &fillstyle); box_object(x1,y1,width,height,color,&linestyle,&fillstyle); } void do_circle(FILE *fp) { int x, y; unsigned int radius, color; struct LineStyle linestyle; struct FillStyle fillstyle; /* if we are inside of a pin definition, terminate */ reset_attributes(); /* a circle has the following format: * c #x #y #radius */ if(fscanf(fp,"%d %d %u\n",&x, &y, &radius) != 3) { fprintf(stderr,"Error: Invalid circle record #%d in %s()\n", records_processed, __func__); exit(1); } x *= scale; y *= scale; radius *= scale; color = GRAPHIC_COLOR; linestyle = LINE_DEFAULT; fillstyle = FILL_DEFAULT; get_style(fp, &color, &linestyle, &fillstyle); circle_object(x,y,radius,color,&linestyle,&fillstyle); } void do_arc(FILE *fp) { int x1, y1, x2, y2, x3, y3; unsigned int color; double x2p, y2p, x3p, y3p, yop, xop, xo, yo; double to_rad; double gstart, sweep_angle, start_angle, end_angle; double radius; struct LineStyle linestyle; struct FillStyle fillstyle; /* if we are inside of a pin definition, terminate */ reset_attributes(); /* arcs have the following format: * a #X1 #Y1 #X2 #Y2 #X3 #Y3 * we need to transform this into the geda convention of * center, radius, start angle, stop angle. */ if(fscanf(fp,"%d %d %d %d %d %d\n", &x1, &y1, &x2, &y2, &x3, &y3) != 6) { fprintf(stderr,"Error: Invalid arc record #%d, in %s()\n", records_processed, __func__); exit(1); } x1 *= scale; y1 *= scale; x2 *= scale; y2 *= scale; x3 *= scale; y3 *= scale; color = GRAPHIC_COLOR; linestyle = LINE_DEFAULT; fillstyle = FILL_DEFAULT; get_style(fp, &color, &linestyle, &fillstyle); x2p = x2 - x1; y2p = y2 - y1; x3p = x3 - x1; y3p = y3 - y1; /* printf("Buffer: `%s'\n",buf); * printf("Values: x2p: %f, y2p: %f, x3p: %f, y3p: %f\n",x2p, y2p, x3p, y3p); */ if(fabs(x2p * y3p - y2p * x3p) < 0.00001) { /* some miscreant entered a degenerate arc, just output lines */ line_object(x1,y1,x2,y2,color,&linestyle); line_object(x2,y2,x3,y3,color,&linestyle); return; } yop = ((x2p * ( x3p*x3p + y3p*y3p ) - x3p * ( x2p*x2p + y2p*y2p )) / (2 * (x2p * y3p - y2p * x3p))); xop = (x2p*x2p - 2*y2p*yop) / (2 * x2p); xo = xop + x1; yo = yop + y1; radius = sqrt(xop*xop + yop*yop); /* calculate start and end angles */ to_rad = 180.0/atan2(0,-1); start_angle = atan2(y1-yo, x1-xo) * to_rad; end_angle = atan2(y3-yo, x3-xo) * to_rad; if(start_angle > end_angle) { gstart = end_angle; sweep_angle = start_angle - end_angle; } else { gstart = start_angle; sweep_angle = end_angle - start_angle; } /* end_angle = * end_angle = int(atan2(y1-yo, x1-xo) * to_rad) % 360; * start_angle = int(atan2(y3-yo, x3-xo) * to_rad) % 360; */ arc_object((int)xo,(int)yo, (unsigned int)radius, (int)gstart,(int)sweep_angle, color, &linestyle); } void do_label(FILE *fp) { int x, y, angle, global, overbar; unsigned int color, size, origin, visibility, show_name_value; char text[MAX_TEXTLEN]; char text2[MAX_TEXTLEN]; struct LineStyle linestyle; struct FillStyle fillstyle; int i, length; /* labels have the following format: * L #X #Y #SIZE #ROTATION #ORIGIN #GLOBAL #VISIBILITY #OVERBAR TEXT */ /* reproduce as simple text, unless it is a label for an object */ if(fscanf(fp, "%d %d %u %d %d %d %d %d", &x, &y, &size, &angle, &origin, &global, &visibility, &overbar) != 8) { fprintf(stderr,"Error: Invalid label record #%d in %s()\n", records_processed, __func__); exit(1); } x *= scale; y *= scale; color = ATTRIBUTE_COLOR; show_name_value = 0; /* read in the text */ get_continued_string(text2, MAX_TEXTLEN, fp); /* if ViewDraw showed the label with an overbar, append a '~' to the */ /* beginning of the name. gEDA does not support overbars, so the '~' lets */ /* the designer know he's dealing with an active low signal */ if (overbar) { length = strlen(text2); text2[length + 1] = 0; for (i = length; i > 0; i--) text2[i] = text2[i - 1]; text2[0] = '~'; } linestyle = LINE_DEFAULT; fillstyle = FILL_DEFAULT; get_style(fp, &color, &linestyle, &fillstyle); /* if we are inside a pin definition, mangle the pin name */ if(net_attributes == 1) /* a netname on a net is its netname */ { #ifdef HAVE_SNPRINTF snprintf(text, MAX_TEXTLEN, "netname=%s", text2); #else sprintf(text, "netname=%s", text2); #endif show_name_value = 1; } else if(complex_attributes == 1) /* a label on a complex is its designator */ { #ifdef HAVE_SNPRINTF snprintf(text, MAX_TEXTLEN, "refdes=%s", text2); #else sprintf(text, "refdes=%s", text2); #endif show_name_value = 1; } else if(pin_attributes == 1) /* a label on a pin is it's pinname */ { #ifdef HAVE_SNPRINTF snprintf(text, MAX_TEXTLEN, "pinlabel=%s", text2); #else sprintf(text, "pinlabel=%s", text2); #endif show_name_value = 1; } else strcpy(text,text2); /* don't need to do anything, just copy */ begin_attach(); text_object(x, y, color, size, visibility, show_name_value, angle, text, \ origin); } /* four functions for doing net stuff */ void do_net_start(FILE *fp) { reset_attributes(); fscanf(fp,"%*d\n"); /* just dispose of the net instance number */ reading_net = 1; segment_count = 1; } void do_net_node(FILE *fp) { int x,y,type; /* in geda nets are composed of a number of segments, gschem connects * them together on the screen, since viewlogic stores a net as a series * of nodes we need to tabulate them and only output segments when we * get connectivity information * * net segments have the following format: * J #X #Y #SEGNUM - Net segment */ if(segment_count > MAX_NODES) { fprintf(stderr,"Error: too many nodes on a net at record #%d, " "in %s(), try increasing\n" "\tMAX_NODES\n", records_processed, __func__); exit(1); /* this is fatal */ } /* get the current info */ if(fscanf(fp,"%d %d %d\n",&x, &y, &type) < 2) { fprintf(stderr,"Error: Invalid net node record #%d in %s()\n", records_processed, __func__); exit(1); } x *= scale; y *= scale; net_nodes_x[segment_count] = x; net_nodes_y[segment_count] = y; segment_count++; } void do_net_segment(FILE *fp) { unsigned int n1, n2, color; reset_attributes(); /* net segment connectivity records have the following format: * S #N1 #N2 - Net connectivity, Node N1 is connected to N2 */ if(fscanf(fp,"%u %u\n",&n1, &n2) != 2) { fprintf(stderr,"Error: Invalid net segment record #%d in %s()\n", records_processed, __func__); exit(1); } color = NET_COLOR; /* output a geda net segment */ net_segment(net_nodes_x[n1], net_nodes_y[n1], net_nodes_x[n2], net_nodes_y[n2], color); /* there could be attributes to follow */ add_attributes = 1; /* add attributes */ attach_pending = 1; /* signal that an attachment could be coming */ net_attributes = 1; /* and that they are net attributes */ } void do_net_segment_bus(FILE *fp) { unsigned int n1, n2, color; int ripperdir; reset_attributes(); /* bus net segment connectivity records have the following format: * B #N1 #N2 - Net connectivity, Node N1 is bussed to N2 */ if(fscanf(fp,"%u %u\n",&n1, &n2) != 2) { fprintf(stderr,"Error: Invalid bus segment record #%d in %s()\n", records_processed, __func__); exit(1); } color = BUS_COLOR; /* For now, we'll use ripperdir=0 (no nets connected to bus yet) */ ripperdir = 0; /* output a geda bus segment */ bus_segment(net_nodes_x[n1], net_nodes_y[n1], net_nodes_x[n2], net_nodes_y[n2], color, ripperdir); /* there could be attributes to follow */ add_attributes = 1; /* add attributes */ attach_pending = 1; /* signal that an attachment could be coming */ net_attributes = 1; /* and that they are net attributes */ } void do_instance(FILE *fp) { char text[MAX_TEXTLEN]; char lib[MAX_TEXTLEN], name[MAX_TEXTLEN], symName[MAX_TEXTLEN]; unsigned int extension, selectable; int x, y, angle, orientation, mirror; float scale_factor; int result, index, i; reset_attributes(); /* a component instance has the following format * I #instance LIB:NAME #PAGE #X #Y #ROTATION #MAGNIFICATION ' */ text[0] = 0; lib[0] = 0; name[0] = 0; extension = 9999; x = 0; y = 0; /* Instance doesn't necessarily have to have the LIB:NAME convention, so */ /* read this in as a full string and parse later */ /* if(fscanf(fp,"%*d %[a-zA-Z0-9]:%[a-zA-Z0-9] %u %d %d %d %g %*s\n", */ result = fscanf(fp,"%*d %s %u %d %d %d %g %*s\n", text, &extension, &x, &y, &orientation, &scale_factor); /* find library and symbol name */ index = strindex(text, ':'); if (index > 0 || text[0] == ':') { text[index] = 0; strcpy(lib, text); strcpy(name, &text[index+1]); } else strcpy(name, text); /* Check for input errors */ if (result < 6) { fprintf(stderr,"Error: Invalid instance record #%d in %s()\n" "lib:'%s', name:'%s'\n" "extension:%d, x:%d, y:%d\n", records_processed, __func__, lib,name,extension, x, y); exit(1); } x *= scale; y *= scale; /* ViewDraw components are always selectable */ selectable = 1; /* Correct orientation */ set_orientation(&angle, &mirror, orientation); /* fix case */ strtolower(name); /* replace dashes in the name with underscores */ for (i = strlen(name) - 1; i >= 0; i--) if (name[i] == '-') name[i] = '_'; /* produce proper file name: */ #ifdef HAVE_SNPRINTF snprintf(symName, MAX_TEXTLEN, "%s-%d.sym",name,extension); #else sprintf(symName, "%s-%d.sym",name,extension); #endif complex_object(x, y, selectable, angle, mirror, symName); /* there could be attributes to follow */ add_attributes = 1; /* add attributes */ attach_pending = 1; /* signal that an attachment could be coming */ complex_attributes = 1; /* and that they are complex attributes */ } /* ViewDraw mirrors components over the x-axis, but gSchem mirrors over the */ /* y-axis. */ /* This makes (270, 1) viewlogic -> (90, 1) gschem */ /* and (90, 1) viewlogic -> (270, 1) gschem */ /* and (180, 1) viewlogic -> (0, 1) gschem */ /* and (0, 1) viewlogic -> (180, 1) gschem */ void set_orientation(int *angle, int *mirror, int orientation) { switch (orientation) { case 0: /* 0 rotation, 0 mirror */ *angle = 0; *mirror = 0; break; case 1: /* 90 rotation, 0 mirror */ *angle = 90; *mirror = 0; break; case 2: /* 180 rotation, 0 mirror */ *angle = 180; *mirror = 0; break; case 3: /* 270 rotation, 0 mirror */ *angle = 270; *mirror = 0; break; case 4: /* 180 rotation, 1 mirror */ *angle = 0; *mirror = 1; break; case 5: /* 90 rotation, 1 mirror */ *angle = 270; *mirror = 1; break; case 6: /* 0 rotation, 1 mirror */ *angle = 180; *mirror = 1; case 7: /* 270 rotation, 1 mirror */ *angle = 90; *mirror = 1; break; default: fprintf(stderr,"Error: Invalid orientation value %d at record %d\n", orientation, records_processed); } } /* YYYY */ /* output a geda text object */ void text_object(int x, int y, unsigned int color, unsigned int size, unsigned int visibility, unsigned int show_name_value, int angle, char *text, unsigned int origin) { unsigned int text_size; #if 0 unsigned int textlen; #endif unsigned int numlines; /* fudge the text size, in viewdraw it is actually the height * in geda it is the point size. The Variable text_size contains * the height of the text in points, size contains the height of * the text in viewlogic units. */ text_size = (int)(size * 0.72); /* Translate ViewDraw text origin to gEDA * ViewDraw's text origin is specified like this: * 1 4 7 * 2 5 8 * 3 6 9 * where 1 is the top left corner of the text and 9 is the bottom right, * etc. * gEDA's text origin is specified like this: * 2 5 8 * 1 4 7 * 0 3 6 * so, the below conversion is necessary */ origin = (((origin - 1) / 3) * 6) + 3 - origin; /* No longer necessary to emulate ViewDraw text origin, it is now supported */ /* by gEDA */ #if 0 /* emulate the viewdraw text origin by shifting the text around */ /* if the origin is one of the ones that are along the center line, * adjust y */ if ( (origin == 2) || (origin == 5) || (origin == 8) ) { y -= (size * scale) / 2; } if( (origin == 1) || (origin == 4) || (origin == 7) ) { y -= size * scale; } /* approximate the length of the text */ switch(show_name_value) { case 0: /* measure whole text length */ textlen = GetStringDisplayLength(text,text_size); break; case 1: /* measure just the value part */ textlen = GetStringDisplayLength(&text[strindex(text,'=') + 1], text_size); break; case 2: /* measure just the name part */ textlen = GetStringDisplayLength(text, text_size) - GetStringDisplayLength(&text[strindex(text,'=')],text_size); break; default: fprintf(stderr,"Error: invalid show_name_value: %d at record #%d, " "in %s()\n", show_name_value, records_processed, __func__); return; } /* if the origin is one of the middle ones * fix the x coordinate */ if( (origin == 4) || (origin == 5) || (origin == 6) ) { x -= textlen / 2; } if( (origin == 7) || (origin == 8) || (origin == 9) ) { x -= textlen; } #endif /* Translate ViewDraw text rotation to gEDA text angle * ViewDraw's text rotation is specified like this: * 0 = 0 degrees, no rotation * 1 = 90 degrees * 2 = 180 degrees * 3 = 270 degrees * gEDA's text angle is specified in degrees, so the below conversion is * necessary */ angle *= 90; /* gEDA now supports rotated text, so we no longer need to force angle to */ /* be 0 */ #if 0 /* currently angled/rotated text is not supported, print a * warning, and force the orientation */ if(angle != 0) { angle = 0; fprintf(stderr,"Warning: Forcing text '%s' into standard alignment " "at record #%d\n", text,records_processed); } #endif /* Since x and y are automatically multiplied by 10 (the scale factor), */ /* the below operation is not necessary */ #if 0 /* force text to start on a 10 unit boundary */ if((x % 10) < 5) x = x - (x % 10); else x = x + (10 - (x % 10)); if((y % 10) < 5) y = y - (y % 10); else y = y + (10 - (x % 10)); #endif /* Only one line of text per statement allowed in ViewDraw, so this is */ /* always 1 */ numlines = 1; printf( "T %d %d %u %u %u %u %d %u %u\n%s\n", x, y, color, text_size, visibility, show_name_value, angle, origin, numlines, text); } void attribute_object(int x, int y, unsigned int color, unsigned int size, unsigned int visibility, unsigned int show_name_value, int angle, char *name, char *value, unsigned int origin) { char text[MAX_TEXTLEN], text2[MAX_TEXTLEN]; char tmpName[MAX_TEXTLEN], tmpValue[MAX_TEXTLEN]; unsigned int i, j, done, length; /* make a copy of the attribute to work with */ strncpy(tmpName, name, MAX_TEXTLEN-1); tmpName[MAX_TEXTLEN-1] = 0; /* terminate in case strncpy doesnt */ if (value == NULL) tmpValue[0] = 0; /* no value with ViewDraw attribute */ else { strncpy(tmpValue, value, MAX_TEXTLEN-1); tmpValue[MAX_TEXTLEN-1] = 0; /* terminate in case strncpy doesnt */ } /* look up attribute name in translation attribute list * and translate or print approprate message */ done = 0; for(i=0; (iline_width, linestyle->line_capstyle, linestyle->line_dashstyle,linestyle->line_dashlength, linestyle->line_dashspace); } void circle_object(int bx, int by, unsigned int radius, unsigned int bcolor, struct LineStyle *linestyle, struct FillStyle *fillstyle) { printf("V %d %d %u %u %i %i %i %i %i %i %i %i %i %i %i\n", bx, by, radius, bcolor, linestyle->line_width, linestyle->line_capstyle, linestyle->line_dashstyle,linestyle->line_dashlength, linestyle->line_dashspace, fillstyle->fill_type, fillstyle->fill_width, fillstyle->fill_angle1, fillstyle->fill_pitch1, fillstyle->fill_angle2, fillstyle->fill_pitch2); } void pin_object(int x1, int y1, int x2, int y2, unsigned int color, OBJECT_PINTYPE pintype, unsigned int whichend) { printf("P %d %d %d %d %u %u %u\n", x1, y1, x2, y2, color, pintype, whichend); } void box_object(int x1, int y1, unsigned int width, unsigned int height, unsigned int color, struct LineStyle *linestyle, struct FillStyle *fillstyle) { printf("B %d %d %u %u %u %i %i %i %i %i %i %i %i %i %i %i\n", x1, y1, width, height, color, linestyle->line_width, linestyle->line_capstyle, linestyle->line_dashstyle,linestyle->line_dashlength, linestyle->line_dashspace, fillstyle->fill_type, fillstyle->fill_width, fillstyle->fill_angle1, fillstyle->fill_pitch1, fillstyle->fill_angle2, fillstyle->fill_pitch2); } void arc_object(int x1, int y1, unsigned int radius, int start_angle, int sweep_angle, unsigned int color, struct LineStyle *linestyle) { printf("A %d %d %u %d %d %u %i %i %i %i %i\n", x1, y1, radius, start_angle, sweep_angle, color, linestyle->line_width, linestyle->line_capstyle, linestyle->line_dashstyle, linestyle->line_dashlength, linestyle->line_dashspace); } void net_segment(int x1, int y1, int x2, int y2, unsigned int color ) { printf("N %d %d %d %d %u\n", x1, y1, x2, y2, color); } void bus_segment(int x1, int y1, int x2, int y2, unsigned int color, int ripperdir) { printf("U %d %d %d %d %u %i\n", x1, y1, x2, y2, color, ripperdir); } void complex_object(int x, int y, unsigned int selectable, int angle, unsigned int mirror, char *name) { printf("C %d %d %u %d %u %s\n", x, y, selectable, angle, mirror, name); } void begin_attach(void) { if(attach_pending == 1) /* begin an attachment if one is pending*/ { printf("{\n"); attach_pending = 0; } } void end_attach(void) { printf("}\n"); } void reset_attributes(void) { /* if we are inside of some kind of attribute attachment * terminate it, but only if we output the begin_attach. */ if((add_attributes == 1) && (attach_pending == 0)) { end_attach(); } attach_pending = 0; /* keep track of whether the last object */ /* read may have attachments pending. */ add_attributes = 0; /* keep track of whether we are adding attributes */ /* to some previous object */ pin_attributes = 0; /* when true, we are adding attributes to a pin */ net_attributes = 0; /* when true, we are adding atrributes to a net */ complex_attributes = 0;/* when true, we are addint attibutes to a complex */ } /* read a string possibly containing continuation characters * from the given stream */ int get_continued_string(char *buf, size_t buffer_size, FILE *fp) { int c; size_t text_len; /* skip leading whitespace */ while(isspace((c=fgetc(fp)))); ungetc(c,fp); /* push back last char, cause it's not whitespace */ /* read in the text */ fgets(buf, buffer_size, fp); records_processed++; /* nuke trailing CR/NL, if there */ text_len=strlen(buf); while (buf[text_len-1] == '\n' || buf[text_len-1] == '\r') { buf[text_len-1] = 0; text_len--; } /* check for continuation chars */ while((c = getc(fp)) == '+') { c = getc(fp); /* suck in space */ fgets(&buf[text_len], MAX_TEXTLEN-text_len,fp); /* read in next chunk */ records_processed++; text_len=strlen(buf); /* update text length */ /* nuke trailing CR/NL, if there */ while (buf[text_len-1] == '\n' || buf[text_len-1] == '\r') { buf[text_len-1] = 0; text_len--; } } ungetc(c,fp); /* push back last char, obviously wasn't a + */ #ifdef DEBUG printf("Buffer:'%s' in %s()\n",buf,__func__); #endif return 0; } /* read in a possible style record to modify the current style */ int get_style(FILE *fp, unsigned int *colour, struct LineStyle *linestyle, struct FillStyle *fillstyle) { int c; unsigned int vdfillstyle, vdlinestyle; c = getc(fp); if(c == 'Q') /* do we have a modifier? */ { if(fscanf(fp,"%u %u %u\n", colour, &vdfillstyle, &vdlinestyle) != 3) { fprintf(stderr,"Error: Invalid modifier record #%d in %s()\n", records_processed, __func__); exit(1); } /* re-map colour into a geda colour */ if(*colour > 15) { fprintf(stderr,"Error: Invalid colour number %u in record #%d, " "in %s()\n", *colour,records_processed, __func__); exit(1); } *colour = colormap[*colour]; /* re-map vdfillstyle to gEDA FillStyle */ if (vdfillstyle > 25) { fprintf(stderr,"Warning: Invalid fill style %u in record #%d, " "in %s(). Assuming \"Hollow\" fill style.\n", vdfillstyle,records_processed, __func__); vdfillstyle = 0; } memcpy(fillstyle, &fillmap[vdfillstyle], sizeof(struct FillStyle)); /* re-map vdlinestyle to gEDA LineStyle */ if (vdlinestyle > 7) { fprintf(stderr,"Warning: Invalid line style %u in record #%d, " "in %s(). Assuming \"Solid\" line style.\n", vdlinestyle,records_processed, __func__); vdlinestyle = 0; } memcpy(linestyle, &linemap[vdlinestyle], sizeof(struct LineStyle)); records_processed++; } else ungetc(c,fp); /* false alarm */ return 0; } /* return the index of character c in the string pointed to by s */ unsigned int strindex(char *s, char c) { char *p; unsigned int i; for(p=s, i=0; *p; p++,i++) if(*p == c) return i; return 0; } /* return the index of the last occurance of character c in * the string pointed to by s */ unsigned int strrindex(char *s, char c) { char *p; unsigned int i, loc; loc = 0; for(p=s, i=0; *p; p++, i++) if(*p == c) loc = i; return loc; } /* convert a string to lower case */ void strtolower(char *s) { char *p; for(p=s; *p; p++) *p = tolower((int) *p); } geda-gaf-1.8.2/utils/src/Makefile.in0000664000175000017500000007751612220655726014123 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ bin_PROGRAMS = gmk_sym$(EXEEXT) smash_megafile$(EXEEXT) \ convert_sym$(EXEEXT) sarlacc_schem$(EXEEXT) olib$(EXEEXT) \ gsch2pcb$(EXEEXT) grenum$(EXEEXT) subdir = utils/src DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am olib.c \ $(top_srcdir)/build-tools/depcomp \ $(top_srcdir)/build-tools/ylwrap ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__installdirs = "$(DESTDIR)$(bindir)" PROGRAMS = $(bin_PROGRAMS) am_convert_sym_OBJECTS = convert_sym.$(OBJEXT) char_width.$(OBJEXT) convert_sym_OBJECTS = $(am_convert_sym_OBJECTS) convert_sym_LDADD = $(LDADD) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent am__v_lt_1 = convert_sym_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(convert_sym_LDFLAGS) $(LDFLAGS) -o $@ am_gmk_sym_OBJECTS = gmk_sym.$(OBJEXT) char_width.$(OBJEXT) gmk_sym_OBJECTS = $(am_gmk_sym_OBJECTS) gmk_sym_LDADD = $(LDADD) am_grenum_OBJECTS = grenum.$(OBJEXT) grenum_OBJECTS = $(am_grenum_OBJECTS) grenum_LDADD = $(LDADD) am_gsch2pcb_OBJECTS = gsch2pcb-gsch2pcb.$(OBJEXT) gsch2pcb_OBJECTS = $(am_gsch2pcb_OBJECTS) gsch2pcb_LDADD = $(LDADD) gsch2pcb_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(gsch2pcb_CFLAGS) \ $(CFLAGS) $(gsch2pcb_LDFLAGS) $(LDFLAGS) -o $@ am_olib_OBJECTS = olib.$(OBJEXT) olib_OBJECTS = $(am_olib_OBJECTS) olib_LDADD = $(LDADD) olib_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(olib_LDFLAGS) $(LDFLAGS) -o $@ am_sarlacc_schem_OBJECTS = sarlacc_schem-sarlacc_schem.$(OBJEXT) sarlacc_schem_OBJECTS = $(am_sarlacc_schem_OBJECTS) sarlacc_schem_DEPENDENCIES = $(top_builddir)/libgeda/src/libgeda.la sarlacc_schem_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(sarlacc_schem_CFLAGS) \ $(CFLAGS) $(sarlacc_schem_LDFLAGS) $(LDFLAGS) -o $@ am_smash_megafile_OBJECTS = smash_megafile.$(OBJEXT) smash_megafile_OBJECTS = $(am_smash_megafile_OBJECTS) smash_megafile_LDADD = $(LDADD) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/build-tools/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = LEXCOMPILE = $(LEX) $(AM_LFLAGS) $(LFLAGS) LTLEXCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(LEX) $(AM_LFLAGS) $(LFLAGS) AM_V_LEX = $(am__v_LEX_@AM_V@) am__v_LEX_ = $(am__v_LEX_@AM_DEFAULT_V@) am__v_LEX_0 = @echo " LEX " $@; am__v_LEX_1 = YLWRAP = $(top_srcdir)/build-tools/ylwrap SOURCES = $(convert_sym_SOURCES) $(gmk_sym_SOURCES) $(grenum_SOURCES) \ $(gsch2pcb_SOURCES) $(olib_SOURCES) $(sarlacc_schem_SOURCES) \ $(smash_megafile_SOURCES) DIST_SOURCES = $(convert_sym_SOURCES) $(gmk_sym_SOURCES) \ $(grenum_SOURCES) $(gsch2pcb_SOURCES) $(olib_SOURCES) \ $(sarlacc_schem_SOURCES) $(smash_megafile_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ # don't forget all *.h files */ gmk_sym_SOURCES = gmk_sym.c char_width.c smash_megafile_SOURCES = smash_megafile.c grenum_SOURCES = grenum.c grenum.h olib_SOURCES = olib.l geda_sym_format.h olib_LDFLAGS = -lm convert_sym_SOURCES = convert_sym.c char_width.c convert_sym_LDFLAGS = -lm gsch2pcb_SOURCES = gsch2pcb.c gsch2pcb_CPPFLAGS = \ -DPCBDATADIR=\"$(PCBDATADIR)\" \ -DPCBLIBPATH=\"$(PCBLIBPATH)\" gsch2pcb_CFLAGS = $(GLIB_CFLAGS) gsch2pcb_LDFLAGS = $(GLIB_LIBS) sarlacc_schem_SOURCES = sarlacc_schem.c sarlacc_schem_CFLAGS = $(GLIB_CFLAGS) $(GUILE_CFLAGS) $(GDK_PIXBUF_CFLAGS) sarlacc_schem_LDFLAGS = $(GLIB_LIBS) $(GUILE_LIBS) $(GDK_PIXBUF_LIBS) sarlacc_schem_LDADD = $(top_builddir)/libgeda/src/libgeda.la AM_CFLAGS = $(GCC_CFLAGS) $(MINGW_CFLIGS) AM_CPPFLAGS = -I$(top_srcdir)/libgeda/include -I$(srcdir)/../include \ -I$(top_srcdir) -I$(includedir) MOSTLYCLEANFILES = *.log *.ps core FILE *~ olib.c CLEANFILES = *.log *.ps core FILE *~ olib.c DISTCLEANFILES = *.log core FILE *~ olib.c MAINTAINERCLEANFILES = *.log *.ps core FILE *~ Makefile.in olib.c all: all-am .SUFFIXES: .SUFFIXES: .c .l .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu utils/src/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu utils/src/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ fi; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p \ || test -f $$p1 \ ; then echo "$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n;h' \ -e 's|.*|.|' \ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) files[d] = files[d] " " $$1; \ else { print "f", $$3 "/" $$4, $$1; } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ } \ ; done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ -e 's/$$/$(EXEEXT)/' \ `; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(bindir)" && rm -f $$files clean-binPROGRAMS: @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ echo " rm -f" $$list; \ rm -f $$list || exit $$?; \ test -n "$(EXEEXT)" || exit 0; \ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list convert_sym$(EXEEXT): $(convert_sym_OBJECTS) $(convert_sym_DEPENDENCIES) $(EXTRA_convert_sym_DEPENDENCIES) @rm -f convert_sym$(EXEEXT) $(AM_V_CCLD)$(convert_sym_LINK) $(convert_sym_OBJECTS) $(convert_sym_LDADD) $(LIBS) gmk_sym$(EXEEXT): $(gmk_sym_OBJECTS) $(gmk_sym_DEPENDENCIES) $(EXTRA_gmk_sym_DEPENDENCIES) @rm -f gmk_sym$(EXEEXT) $(AM_V_CCLD)$(LINK) $(gmk_sym_OBJECTS) $(gmk_sym_LDADD) $(LIBS) grenum$(EXEEXT): $(grenum_OBJECTS) $(grenum_DEPENDENCIES) $(EXTRA_grenum_DEPENDENCIES) @rm -f grenum$(EXEEXT) $(AM_V_CCLD)$(LINK) $(grenum_OBJECTS) $(grenum_LDADD) $(LIBS) gsch2pcb$(EXEEXT): $(gsch2pcb_OBJECTS) $(gsch2pcb_DEPENDENCIES) $(EXTRA_gsch2pcb_DEPENDENCIES) @rm -f gsch2pcb$(EXEEXT) $(AM_V_CCLD)$(gsch2pcb_LINK) $(gsch2pcb_OBJECTS) $(gsch2pcb_LDADD) $(LIBS) olib$(EXEEXT): $(olib_OBJECTS) $(olib_DEPENDENCIES) $(EXTRA_olib_DEPENDENCIES) @rm -f olib$(EXEEXT) $(AM_V_CCLD)$(olib_LINK) $(olib_OBJECTS) $(olib_LDADD) $(LIBS) sarlacc_schem$(EXEEXT): $(sarlacc_schem_OBJECTS) $(sarlacc_schem_DEPENDENCIES) $(EXTRA_sarlacc_schem_DEPENDENCIES) @rm -f sarlacc_schem$(EXEEXT) $(AM_V_CCLD)$(sarlacc_schem_LINK) $(sarlacc_schem_OBJECTS) $(sarlacc_schem_LDADD) $(LIBS) smash_megafile$(EXEEXT): $(smash_megafile_OBJECTS) $(smash_megafile_DEPENDENCIES) $(EXTRA_smash_megafile_DEPENDENCIES) @rm -f smash_megafile$(EXEEXT) $(AM_V_CCLD)$(LINK) $(smash_megafile_OBJECTS) $(smash_megafile_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/char_width.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/convert_sym.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmk_sym.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/grenum.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gsch2pcb-gsch2pcb.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/olib.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sarlacc_schem-sarlacc_schem.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/smash_megafile.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< gsch2pcb-gsch2pcb.o: gsch2pcb.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gsch2pcb_CPPFLAGS) $(CPPFLAGS) $(gsch2pcb_CFLAGS) $(CFLAGS) -MT gsch2pcb-gsch2pcb.o -MD -MP -MF $(DEPDIR)/gsch2pcb-gsch2pcb.Tpo -c -o gsch2pcb-gsch2pcb.o `test -f 'gsch2pcb.c' || echo '$(srcdir)/'`gsch2pcb.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gsch2pcb-gsch2pcb.Tpo $(DEPDIR)/gsch2pcb-gsch2pcb.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gsch2pcb.c' object='gsch2pcb-gsch2pcb.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gsch2pcb_CPPFLAGS) $(CPPFLAGS) $(gsch2pcb_CFLAGS) $(CFLAGS) -c -o gsch2pcb-gsch2pcb.o `test -f 'gsch2pcb.c' || echo '$(srcdir)/'`gsch2pcb.c gsch2pcb-gsch2pcb.obj: gsch2pcb.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gsch2pcb_CPPFLAGS) $(CPPFLAGS) $(gsch2pcb_CFLAGS) $(CFLAGS) -MT gsch2pcb-gsch2pcb.obj -MD -MP -MF $(DEPDIR)/gsch2pcb-gsch2pcb.Tpo -c -o gsch2pcb-gsch2pcb.obj `if test -f 'gsch2pcb.c'; then $(CYGPATH_W) 'gsch2pcb.c'; else $(CYGPATH_W) '$(srcdir)/gsch2pcb.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gsch2pcb-gsch2pcb.Tpo $(DEPDIR)/gsch2pcb-gsch2pcb.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gsch2pcb.c' object='gsch2pcb-gsch2pcb.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gsch2pcb_CPPFLAGS) $(CPPFLAGS) $(gsch2pcb_CFLAGS) $(CFLAGS) -c -o gsch2pcb-gsch2pcb.obj `if test -f 'gsch2pcb.c'; then $(CYGPATH_W) 'gsch2pcb.c'; else $(CYGPATH_W) '$(srcdir)/gsch2pcb.c'; fi` sarlacc_schem-sarlacc_schem.o: sarlacc_schem.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(sarlacc_schem_CFLAGS) $(CFLAGS) -MT sarlacc_schem-sarlacc_schem.o -MD -MP -MF $(DEPDIR)/sarlacc_schem-sarlacc_schem.Tpo -c -o sarlacc_schem-sarlacc_schem.o `test -f 'sarlacc_schem.c' || echo '$(srcdir)/'`sarlacc_schem.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/sarlacc_schem-sarlacc_schem.Tpo $(DEPDIR)/sarlacc_schem-sarlacc_schem.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sarlacc_schem.c' object='sarlacc_schem-sarlacc_schem.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(sarlacc_schem_CFLAGS) $(CFLAGS) -c -o sarlacc_schem-sarlacc_schem.o `test -f 'sarlacc_schem.c' || echo '$(srcdir)/'`sarlacc_schem.c sarlacc_schem-sarlacc_schem.obj: sarlacc_schem.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(sarlacc_schem_CFLAGS) $(CFLAGS) -MT sarlacc_schem-sarlacc_schem.obj -MD -MP -MF $(DEPDIR)/sarlacc_schem-sarlacc_schem.Tpo -c -o sarlacc_schem-sarlacc_schem.obj `if test -f 'sarlacc_schem.c'; then $(CYGPATH_W) 'sarlacc_schem.c'; else $(CYGPATH_W) '$(srcdir)/sarlacc_schem.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/sarlacc_schem-sarlacc_schem.Tpo $(DEPDIR)/sarlacc_schem-sarlacc_schem.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sarlacc_schem.c' object='sarlacc_schem-sarlacc_schem.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(sarlacc_schem_CFLAGS) $(CFLAGS) -c -o sarlacc_schem-sarlacc_schem.obj `if test -f 'sarlacc_schem.c'; then $(CYGPATH_W) 'sarlacc_schem.c'; else $(CYGPATH_W) '$(srcdir)/sarlacc_schem.c'; fi` .l.c: $(AM_V_LEX)$(am__skiplex) $(SHELL) $(YLWRAP) $< $(LEX_OUTPUT_ROOT).c $@ -- $(LEXCOMPILE) mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) installdirs: for dir in "$(DESTDIR)$(bindir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -rm -f olib.c -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-binPROGRAMS install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-binPROGRAMS .MAKE: install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \ clean-binPROGRAMS clean-generic clean-libtool cscopelist-am \ ctags ctags-am distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-binPROGRAMS \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am uninstall-binPROGRAMS # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/utils/src/olib.l0000664000175000017500000004424612050461155013142 00000000000000%{ /* $Id$ olib.lex - Orcad to gEDA lib converter Copyright (C) 2002 Mario Pascucci This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or visit the URL http://www.fsf.org/ */ #include #include #include #include #include #include #include /* gEDA file version: change NEW version as soon as available */ #define EDA_VERSION_OLD "20020209" #define EDA_VERSION_NEW "20020825" /* defines for flags and types */ #define PIN_DOTFLAG 0x0001 #define PIN_SHORTFLAG 0x0002 #define PIN_CLKFLAG 0x0004 #define PIN_TYPE_IO 1 #define PIN_TYPE_IN 2 #define PIN_TYPE_OUT 3 #define PIN_TYPE_PWR 4 #define PIN_TYPE_PAS 5 #define PIN_TYPE_OC 6 #define PIN_TYPE_HIZ 7 #define PIN_TYPE_OE 8 #ifndef GCC_VERSION #define GCC_VERSION (__GNUC__ * 1000 + __GNUC_MINOR__) #endif /* GCC_VERSION */ #if GCC_VERSION > 2007 #define ATTRIBUTE_UNUSED __attribute__((unused)) #else #define ATTRIBUTE_UNUSED #endif static const ATTRIBUTE_UNUSED char *mp_name = "OrCAD to gEDA lib converter"; static const ATTRIBUTE_UNUSED char *mp_license = "Copyright (c) 2002 Mario Pascucci "; static char fnsym[512]; /* gEDA symbol file name */ static FILE *fsym; /* FILE* to gEDA symbol file */ static int aliascount = 0; /* alias count */ static char part_aliases[200][50]; /* store for aliases of part */ static char sym_prefix[50]; /* prefix for .sym file */ /* gEDA symbol file version */ static char sym_version[10]; static int use_old_version; /* flag for old format */ /* pin name options */ static int pin_name_hidden; static char buff[512]; static int sizex,sizey,partspp; /* size and number of part per package */ static int pincount; /* pin definitions found until now */ struct pin_def { /* pin definition struct */ char pos; /* position: L,T,R,B */ short num; /* number in side, 0 mean virtual pin */ short pin; /* real pin number */ short flags; /* DOT, CLK and SHORT flags */ short type; /* I/O, IN, OUT, PWR, PASS, OC */ char name[50]; /* simbolic name of pin */ }; /* REFERENCE handling */ static char ref_str[20]; /* VECTOR handling */ static int vector_count; /* number of vector found */ struct vector_def { char type; /* line, arc, circle, box */ float p[12]; /* parameters for element drawing */ char *str; /* string for "TEXT" statement */ }; static int paramcount; /* vector param number count */ static struct vector_def part_vectors[100]; /* draw list */ static int vector_found; /* type of pin */ static char *pintypestr[] = { "???", "I/O", "IN", "OUT", "PWR", "PAS", "OC", "hiZ", "OE" }; static char *edapintype[] = { "???", "io", "in", "out", "pwr", "pas", "oc", "tri", "oe" }; /* pin definition database */ static struct pin_def pinlist[200]; /* generic counter */ static int ii; /* strip filename-aware chars from part name, leave only '.' '-' or '_' and changes space in '_' */ char *strip_invalid(char *str) { char *p; p = buff; while (*str) { if (isalnum((int) *str) || strchr("-_. ",*str)) { if (*str == ' ') *p = '_'; else *p = *str; p++; } str++; } *p = 0; return buff; } /* trim leading and trailing ' in ident */ char *strip_quotes(char *str) { char *p; p = buff; str++; while (*str != '\'') { *p = *str; p++; str++; } *p = 0; return buff; } /* symbol write function in gEDA .sym format */ #include "geda_sym_format.h" %} /* decimal integer */ INTEGER [+-]?[0-9]+ /* floating point decimal, like 123.234 */ DECIMAL [+-]?[0-9]*[\.][0-9]* /* string name, like 'abcd' */ IDENT '[^'\n]+' /* comment, like { comment } */ COMMENT \{[^\n\}]*\} /* pin identifier, example T3 L12 R3 .... */ PIN_ID [TBLR][0-9]{1,4} %s wait_END wait_sizex wait_sizey wait_parts pin_list pinrealnum pindata %s waitnamestart in_name waitnameend waitpinend vector_list vector_ignore %s param_list convert convert_ignore_pin reference %% %{ /******************************************* handling of: PREFIX 'prefix1' 'prefix2' ... ... END *******************************************/ %} {COMMENT} { /* ignore comments */ fprintf(stderr,"Ignore comment: %s\n",yytext); } PREFIX { /* shortcuts for parts name: ignored */ fprintf(stderr,"Found PREFIX\n"); BEGIN(wait_END); } ^{IDENT}.*\n { fprintf(stderr,"Shorthand found, ignored\n"); /* ignore shortcut list */ } END { /* founds shortcut list end */ fprintf(stderr,"Found END for shorthands\n"); BEGIN(INITIAL); } %{ /******************************************* handling of: 'IDENT' 'IDENT' ... *******************************************/ %} ^{IDENT} { /* founds first part identifier */ strcpy(part_aliases[0],strip_invalid(yytext)); snprintf(fnsym,511,"%s-%s-1.sym",sym_prefix,part_aliases[0]); fprintf(stderr,"New part name: %s (%s)\n",part_aliases[0],yytext); fprintf(stderr,"New .sym name: %s\n",fnsym); BEGIN(wait_sizex); aliascount = 1; pincount = 0; vector_found = 0; ref_str[0] = 'U'; ref_str[1] = 0; } ^REFERENCE { /* REFERENCE statement found */ BEGIN(reference); } {IDENT} { /* get an IDENT, i.e. reference id */ strcpy(ref_str,strip_quotes(yytext)); fprintf(stderr,"REFERENCE: %s\n",yytext); BEGIN(wait_sizex); } ^{IDENT} { /* found an alias for the part name store alias for future use */ fprintf(stderr,"Found an alias: %s\n",yytext); strcpy(part_aliases[aliascount], strip_invalid(yytext)); aliascount++; } %{ /******************************************* handling of: {X Size =} x {Y Size =} y {Parts per Package =} n *******************************************/ %} {INTEGER} { /* trovata la dimansione X */ sizex = atoi(yytext); fprintf(stderr,"Found X size: %d (%s)\n",sizex,yytext); BEGIN(wait_sizey); } {INTEGER} { /* trovata la dimansione y */ sizey = atoi(yytext); fprintf(stderr,"Found Y size: %d (%s)\n",sizey,yytext); BEGIN(wait_parts); } GRIDARRAY { /* found a PGA component, unsupported */ fprintf(stderr,"Found a GRIDARRAY: unsupported\n"); BEGIN(INITIAL); } {INTEGER} { /* trovato il parts-per-package */ /* per ora supportato solo 1 part-per-package */ partspp = atoi(yytext); if (partspp > 1) { fprintf(stderr,"Found parts per package > 1\n"); BEGIN(INITIAL); } else { fprintf(stderr,"Found parts per package: %d (%s)\n",partspp,yytext); BEGIN(pin_list); /* size of symbol body */ sizex = sizex * PIN_SPACE; sizey = sizey * PIN_SPACE; } } ^{PIN_ID}.+\n | ^VECTOR.*\n | ^CONVERT.*\n | ^TEXT.*\n | ^LINE.*\n | ^ARC.*\n | ^FILL.*\n | ^CIRCLE.*\n | ^END.*\n { /* ignored */ fprintf(stderr,"Ignored: %s",yytext); } %{ /******************************************* handling of: VECTOR 'IDENT' (unsupported) or VECTOR LINE x y x1 y1 ARC x y dxs dys dxe dye r CIRCLE x y r FILL x y (unsupported) TEXT x y size 'text' (partially supported) END *******************************************/ %} ^VECTOR { /* components isn't a simple "box", but it's drawed */ BEGIN(vector_list); vector_count = 0; vector_found = -1; fprintf(stderr,"Found: VECTOR\n"); } {IDENT} { /* the component shape is identical to a previous one unsupported at the moment */ BEGIN(pin_list); fprintf(stderr,"Found unsupported: VECTOR 'IDENT'\n"); } LINE { /* found LINE vector statement */ part_vectors[vector_count].type = 'L'; BEGIN(param_list); paramcount = 0; fprintf(stderr,"Found: LINE params:"); } CIRCLE { /* found CIRCLE vector statement */ part_vectors[vector_count].type = 'V'; BEGIN(param_list); paramcount = 0; fprintf(stderr,"Found: CIRCLE params:"); } ARC { /* found ARC vector statement */ part_vectors[vector_count].type = 'A'; BEGIN(param_list); paramcount = 0; fprintf(stderr,"Found: ARC params:"); } FILL { /* found FILL vector statement */ /* no counterpart in gEDA */ part_vectors[vector_count].type = 'f'; BEGIN(param_list); paramcount = 0; fprintf(stderr,"Found unsupported: FILL params:"); } TEXT { /* found ARC vector statement */ part_vectors[vector_count].type = 'T'; BEGIN(param_list); paramcount = 0; fprintf(stderr,"Found: TEXT params:"); } {INTEGER} { /* found a param */ part_vectors[vector_count].p[paramcount] = (float) atof(yytext); paramcount++; BEGIN(param_list); fprintf(stderr," %s",yytext); } {DECIMAL} { /* found a param */ part_vectors[vector_count].p[paramcount] = (float) atof(yytext); paramcount++; BEGIN(param_list); fprintf(stderr," %s",yytext); } {IDENT} { /* found a string */ if (part_vectors[vector_count].type == 'T') part_vectors[vector_count].str = strdup(strip_quotes(yytext)); else fprintf(stderr,"Text param found in non text VECTOR instr: %s\n",yytext); paramcount++; BEGIN(param_list); fprintf(stderr," %s",yytext); } \n { /* end of params */ fprintf(stderr,"\n"); switch (part_vectors[vector_count].type) { case 'L': /* line */ if (paramcount != 4) { fprintf(stderr,"LINE: wrong parameters number: %d\n",paramcount); BEGIN(vector_list); } break; case 'V': /* circle */ if (paramcount != 3) { fprintf(stderr,"CIRCLE: wrong parameters number: %d\n",paramcount); BEGIN(vector_list); } break; case 'A': /* arc */ if (paramcount != 7) { fprintf(stderr,"ARC: wrong parameters number: %d\n",paramcount); BEGIN(vector_list); } break; case 'f': /* fill (ignored) */ if (paramcount != 2) { fprintf(stderr,"FILL: wrong parameters number: %d\n",paramcount); BEGIN(vector_list); } break; case 'T': /* text */ if (paramcount != 4) { fprintf(stderr,"TEXT: wrong parameters number: %d\n",paramcount); BEGIN(vector_list); } break; } vector_count++; BEGIN(vector_list); } ^END { /* end of vector list */ BEGIN(pin_list); fprintf(stderr,"Found: END of VECTOR list\n"); } %{ /******************************************* handling of: CONVERT 'IDENT' or CONVERT pin_def pin_def ... *******************************************/ %} ^CONVERT { /* alternate part drawing */ /* unsupported */ BEGIN(convert); } {IDENT} { /* CONVERT 'part' unsupported */ BEGIN(pin_list); } ^{PIN_ID} { /* ignore PIN list in CONVERT */ BEGIN(convert_ignore_pin); } .*\n { /* ignore line */ BEGIN(convert); } ^VECTOR { /* found VECTOR list in CONVERT */ if (vector_found) BEGIN(vector_ignore); else { BEGIN(vector_list); vector_count = 0; vector_found = -1; } } ^END.*\n { /* end of ignore */ BEGIN(pin_list); } ^VECTOR.*\n | ^CONVERT.*\n | ^TEXT.*\n | ^LINE.*\n | ^ARC.*\n | ^FILL.*\n | ^CIRCLE.*\n { /* ignored */ fprintf(stderr,"Ignored VECTOR: %s",yytext); } %{ /******************************************* handling of: pin_def pin_def ... *******************************************/ %} ^{PIN_ID} { /* trovato un pin */ pinlist[pincount].pos = yytext[0]; /* pin side */ pinlist[pincount].num = atoi(yytext+1); /* gets pin number */ pinlist[pincount].flags = 0; pinlist[pincount].type = 0; fprintf(stderr,"Found pin ID: %c-%d (%s)\n",pinlist[pincount].pos,pinlist[pincount].num,yytext); if (partspp == 0) /* handling of parts without pin number */ { /* assign number to a unnumbered pin from the pin count */ pinlist[pincount].pin = pincount + 1; BEGIN(pindata); } else BEGIN(pinrealnum); } ^{IDENT} { /* found a part name after pinlist, this mean that part definition ends, and starts a new part definition */ fprintf(stderr,"Writing down new symbol: %s pin: %d vectors: %d\n",part_aliases[0],pincount,vector_count); write_sym(); /* write the .sym gEDA symbol definition */ /* restore initial condition */ ref_str[0] = 'U'; ref_str[1] = 0; pincount = 0; aliascount = 1; vector_found = 0; vector_count = 0; strcpy(part_aliases[0],strip_invalid(yytext)); snprintf(fnsym,511,"%s-%s-1.sym",sym_prefix,part_aliases[0]); fprintf(stderr,"New part name: %s (%s)\n",part_aliases[0],yytext); fprintf(stderr,"New .sym name: %s\n",fnsym); BEGIN(wait_sizex); } {INTEGER} { /* reads real pin number */ pinlist[pincount].pin = atoi(yytext); fprintf(stderr,"Found pin num: %d (%s)\n",pinlist[pincount].pin,yytext); BEGIN(pindata); } DOT { /* DOT flag found, boolean negate */ pinlist[pincount].flags |= PIN_DOTFLAG; fprintf(stderr,"Found DOT flag\n"); } CLK { /* CLK flag found, clock input */ pinlist[pincount].flags |= PIN_CLKFLAG; fprintf(stderr,"Found CLK flag\n"); } SHORT { /* SHORT flag found, short terminal */ pinlist[pincount].flags |= PIN_SHORTFLAG; fprintf(stderr,"Found SHORT flag\n"); } IN { /* pin type IN */ pinlist[pincount].type = PIN_TYPE_IN; BEGIN(waitnamestart); fprintf(stderr,"Pin type IN\n"); } OUT { /* pin type OUT */ pinlist[pincount].type = PIN_TYPE_OUT; BEGIN(waitnamestart); fprintf(stderr,"Pin type OUT\n"); } PWR { /* pin type PWR */ pinlist[pincount].type = PIN_TYPE_PWR; BEGIN(waitnamestart); fprintf(stderr,"Pin type PWR\n"); } OC { /* pin type OC */ pinlist[pincount].type = PIN_TYPE_OC; BEGIN(waitnamestart); fprintf(stderr,"Pin type OC\n"); } OE { /* pin type OE */ pinlist[pincount].type = PIN_TYPE_OE; BEGIN(waitnamestart); fprintf(stderr,"Pin type OE\n"); } PAS { /* pin type PAS */ pinlist[pincount].type = PIN_TYPE_PAS; BEGIN(waitnamestart); fprintf(stderr,"Pin type PAS\n"); } hiZ { /* pin type hiZ */ pinlist[pincount].type = PIN_TYPE_HIZ; BEGIN(waitnamestart); fprintf(stderr,"Pin type hiZ\n"); } "I/O" { /* pin type I/O */ pinlist[pincount].type = PIN_TYPE_IO; BEGIN(waitnamestart); fprintf(stderr,"Pin type I/O\n"); } "'" { /* found initial quote */ ii = 0; BEGIN(in_name); } '' { /* found a ' in pin name */ pinlist[pincount].name[ii++] = '\''; } [^"'"\n] { /* get a char from the pin symbolic name */ pinlist[pincount].name[ii++] = *yytext; } "'" { /* all ok, waiting for new pin definition */ pinlist[pincount].name[ii] = 0; fprintf(stderr,"Pin label: %s\n",pinlist[pincount].name); BEGIN(waitpinend); } \n { /* ok, found a newline, pin definition ends */ fprintf(stderr,"Pin: %c%d %d %x %s %s\n",pinlist[pincount].pos,pinlist[pincount].num, pinlist[pincount].pin, pinlist[pincount].flags, pintypestr[pinlist[pincount].type], pinlist[pincount].name); pincount++; BEGIN(pin_list); } %{ /* * we don't need to use <*> to match any state, we just don't * specify a state */ %} ^\n { /* empty lines ignored */ } [ \t\n\r] { /* ignored, the \r char is for "DOS" ASCII files */ } %% void usage(void) { fprintf(stderr,"Usage:\n"); fprintf(stderr,"\tolib [options] libname prefix\n"); fprintf(stderr,"\nWhere:\n\tlibname is the path to OrCAD(TM) library to convert\n"); fprintf(stderr,"\tprefix is the prefix for the .sym files extracted\n"); fprintf(stderr,"Options are:\n\t-h\tprint this help and exit\n"); fprintf(stderr,"\t-o\tuse old format (v 20020209) for .sym file\n"); fprintf(stderr,"\t\telse use 'v 20020825' as version string in .sym file\n"); fprintf(stderr,"\t-n\thides pin name if symbol is VECTOR drawed\n"); } int yywrap() { /* found a part name after pinlist, this mean that part definition ends, and starts a new part definition */ fprintf(stderr,"Writing down new symbol: %s pin: %d vectors: %d\n",part_aliases[0],pincount,vector_count); write_sym(); /* write the .sym gEDA symbol definition */ /* restore initial condition */ fprintf(stderr,"End of lib file\n"); return 1; } int main (int argc, char *argv[]) { FILE *flib; char fnlib[PATH_MAX]; int i; strcpy(sym_version,EDA_VERSION_NEW); /* handle new gEDA version by default */ use_old_version = 0; /* old version flag */ pin_name_hidden = 0; /* hides pin name on VECTOR drawed symbols */ opterr = 0; /* do NOT print default error message for getopt */ do { i = getopt(argc,argv,"hon"); switch (i) { case 'h': usage(); exit(0); case 'o': strcpy(sym_version,EDA_VERSION_OLD); fprintf(stderr,"Use old (%s) format.\n",sym_version); use_old_version = -1; break; case 'n': pin_name_hidden = -1; break; case '?': fprintf(stderr,"Unknown or illegal option :%c\n",(char)optopt); usage(); exit(1); case ':': fprintf(stderr,"Parameter wrong for option: %c\n",(char)optopt); usage(); exit(1); } } while (i != -1); if ((argc - optind) != 2) { fprintf(stderr,"Library name and prefix are mandatory.\n"); usage(); return 1; } strcpy(fnlib,argv[optind]); if (!(flib = fopen(fnlib,"r"))) { perror("lib file"); return 1; } strcpy(sym_prefix,argv[optind+1]); yyin = flib; yylex(); fclose(flib); return 0; } geda-gaf-1.8.2/utils/src/gmk_sym.c0000664000175000017500000005010112063576065013650 00000000000000/*************************************************************************/ /* gmk_sym, a program to create rectangular symbols for gschem */ /* from a file composed of comma separated lines */ /* From: Jerry O'Keefe, jerryok@pacbell.net */ /* Version: 0.000005 */ /* */ /* History: */ /* 99/03/23 Fixed pin#= placeholder as define in Component Symbol Guide */ /* 99/04/02 Fixed pin spacing on right side and changed name to gmk_sym */ /* 99/04/27 Add Mike Jarabek's updates, alphanumeric pin name support */ /* and improved text spacing */ /* 99/05/02 Add char_width.c support */ /* */ /* 00/07/12 Major changes to match new styles for text and attributes */ /* 02/01/19 Changed the way pin labels and numbers are anchored to the */ /* pins. They make use of the text origin feature so that */ /* calculation of the string width is no longer needed. This */ /* results in much more uniformly placed pins on the left and */ /* bottom side of the device. Also added the ability to */ /* place the device name in the center of the symbol, useful */ /* for large symbols containing pins on all sides. Top and */ /* bottom pin numbers are rotated by 90 degrees to match the */ /* pin rotation. Added pin type attribute capability. (Roberto */ /* Puon) */ /* */ /* 2002/05/15 Added checks to prevent segfaults on invalid */ /* input data (Chris Ellec) */ /* 2002/08/14 Check for multiple instances of the same pin number and quit */ /* when this happens, give Fatal error messsage. (Chris Ellec) */ /* 2002/12/30 Change to new file format (Chris Ellec), version 20021103 */ /*-----------------------------------------------------------------------*/ /* This program is free software; you can redistribute it and/or modify */ /* it under the terms of the GNU General Public License as published by */ /* the Free Software Foundation; either version 2 of the License, or */ /* (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, */ /* but WITHOUT ANY WARRANTY; without even the implied warranty of */ /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ /* GNU General Public License for more details. */ /* */ /*-----------------------------------------------------------------------*/ /* GMK_SYM typical use: */ /* gk_sym 7474.txt >7474-3.sym */ /* To build: */ /* gcc -O2 -Wall gmk_sym.c -o gmk_sym */ /*-----------------------------------------------------------------------*/ /*-----------------------------------------------------------------------*/ /* The input file format: */ /* 1. lines starting with ';' are comment lines, and */ /* are not processed. */ /* 2. The 1st valid line describes a device */ /* 1st value: device name */ /* 2nd value: visible name */ /* 3rd value: visible name location on package, */ /* 4th value: box's hoz size, in pins spacings */ /* 5th value: box's ver size, in pins spacings */ /* 6th value: uref prefix, like U or J */ /* 7th value: Footprint */ /* 8th value: Total number of pins on device (including hidden) */ /* 3. All other valid lines describes the symbol's pins */ /* 1st value: pin name */ /* 2nd value: pin number */ /* 3rd value: pin shape, choice of: line, clock, dot&line */ /* 4th value: side of box to attach the pin,choice of: R, L, T, B */ /* 5th value: location of pin on side of box, in pin spacings */ /* 6th value: (optional) pin type attribute: in, out, io, oc, oe, */ /* pas, tp, tri, clk, pwr */ /* See the 7474 sample file below */ /*************************************************************************/ #if 0 /****************************************************/ ;; Filename: 7474.txt ;; An example of a 7474 symbol make file ; This is a comment line /* puon: added "cc" */ ;; device name ,name, name location(tl,tc,tr,bl,bc,br,cc),X size in pins,Y size in pins 7474,74HC74,tr,3,5 ;; ;; pin name,pin number,shape(line,clock,dot),side(r,l,t,b),pin position D,2,line,L,1 CLK,3,clock,L,4 Q,5,line,R,1 /Q,6,dot,R,4 CLR,4,dot,T,1 PRE,1,dot,B,1 /****************************************************/ #endif #ifdef HAVE_CONFIG_H #include "config.h" #endif #include #include #include #include #include #include #include #include #ifdef HAVE_LIBDMALLOC #include #endif #define BLACK 0 #define WHITE 1 #define RED 2 #define GREEN 3 #define BLUE 4 #define YELLOW 5 #define CYAN 6 #define GREY 7 #define MAX_FIELDS 10 #define L_SIDE 0 #define R_SIDE 1 #define B_SIDE 2 #define T_SIDE 3 #define LINE_SHAPE 0 #define DOT_SHAPE 1 #define CLOCK_SHAPE 2 #define PINTYPE_IN "IN" #define PINTYPE_OUT "OUT" #define PINTYPE_IO "IO" #define PINTYPE_OC "OC" #define PINTYPE_OE "OE" #define PINTYPE_PAS "PAS" #define PINTYPE_TP "TP" #define PINTYPE_TRI "TRI" #define PINTYPE_CLK "CLK" #define PINTYPE_PWR "PWR" extern char *optarg; extern int optind,opterr,optopt; /* externals */ int GetStringDisplayLength(char *str,int font_size); int line2fields(char *pBuf,int field_cnt,char *pField[]); int fields_free(char *pField[]); int make_pin(int fldcnt,char *pFields[]); int make_box(int fldcnt,char *pFields[]); static char *strLabel(char *p, char *pTemp); void strtrail(char *wrk); int line_chk(char *pBuf); #if !defined(HAVE_STRCASECMP) && defined(HAVE_STRICMP) && !defined(stricmp) #define strcasecmp stricmp #endif #if !defined(HAVE_STRNCASECMP) && defined(HAVE_STRNICMP) && !defined(strnicmp) #define strncasecmp strnicmp #endif int pin_len=300; int pin_spacing=300; int pin_0_x,pin_0_y; int BoxHeight,BoxWidth; int net_pin=0; char pin_used[300][5]; /* keep track of pin number used. Assume 300 pins max */ int pin_counter=0; /***************************************************/ /***************************************************/ int main(int argc,char **argv) { FILE *stream; char LineBuf[256]; int fldcnt,i,c,Debug=0; char *pFields[MAX_FIELDS]; int line_nub=0; while ((c = getopt(argc, argv, "?hd:")) != EOF) { switch (c) { case 'd': Debug = 1; break; case '?': case 'h': fprintf(stderr,"usage: %s -dh?\n",argv[0]); exit(0); break; } } for(i=0;i 1) { if ((stream = fopen(argv[1],"r")) == NULL) { fprintf(stderr, "Cannot open file: %s\n",argv[1]); exit(-1); } } line_nub=-1; printf("v 20030525\n"); /* The v character is the version of the file */ while (fgets(LineBuf,sizeof(LineBuf)-1,stream) != NULL) { if (line_chk(LineBuf) < 0) continue; if ((fldcnt = line2fields(LineBuf,10,pFields)) > 0) { line_nub++; if (line_nub == 0) make_box(fldcnt,pFields); else if (make_pin(fldcnt,pFields)< 0) { fields_free(pFields); break; /* error processing the pin, get out */ } fields_free(pFields); } } fclose(stream); return 0; } /***************************************************/ /***************************************************/ int fields_free(char *pField[]) { int i; for (i=0; (i=8) { strcpy(uref,pFields[5]); strcat(uref,"?"); if(uref[0]=='U' || uref[0]=='u')strcpy(class,"IC"); if(uref[0]=='J' || uref[0]=='j')strcpy(class,"IO"); if(uref[0]=='C' || uref[0]=='c')strcpy(class,"IO"); /* U is for ICs, J or CONN for IO. We assume no discretes * with this tool */ strcpy(footprint,pFields[6]); pincount = atoi(pFields[7]); printf("T %d %d %d %d 0 0 0 0\n",pos_x,pos_y+BoxHeight+1100,YELLOW,font_size); printf("footprint=%s\n",footprint); printf("T %d %d %d %d 0 0 0 0\n",pos_x,pos_y+BoxHeight+1300,YELLOW,font_size); printf("pins=%d\n",pincount); } else { strcpy(class,"IC"); strcpy(uref,"U?"); } /* new file format: x y width height color width end type length space filling fillwidth angle1 pitch1 angle2 pitch2 */ printf("B %d %d %d %d %d 0 0 0 -1 -1 0 -1 -1 -1 -1 -1\n",pos_x,pos_y,BoxWidth,BoxHeight,GREEN); printf("T %d %d %d %d 0 0 0 0\n",pos_x,pos_y+BoxHeight+700,YELLOW,font_size); printf("device=%s\n",device); printf("T %d %d %d %d 0 0 0 0\n",pos_x,pos_y+BoxHeight+900,YELLOW,font_size); printf("class=%s\n",class); printf("T %d %d %d %d 1 1 0 0\n",pos_x,pos_y+BoxHeight+500,RED,font_size); printf("refdes=%s\n",uref); #if 0 /* Display pin locations */ for (i=0;i <= (BoxHeight/pin_spacing);i++) cross(pos_x,pos_y+i*pin_spacing,BLUE); for (i=0;i <= (BoxWidth/pin_spacing);i++) cross(pos_x+i*pin_spacing,pos_y,BLUE); cross(pin_0_x,pin_0_y,RED); #endif if (strlen(name)) { name_size = GetStringDisplayLength(name,font_size); /* Vaild positions: tl,tc,tr, bl,bc,br cc */ if (!strcasecmp(name_pos,"tl")) { pos_x = pin_0_x; pos_y = pin_0_y+50; } else if (!strcasecmp(name_pos,"tc")) { pos_x = pin_0_x+BoxWidth/2-name_size/2; pos_y = pin_0_y+50; } else if (!strcasecmp(name_pos,"tr")) { pos_x = pin_0_x+BoxWidth-name_size/2; pos_y = pin_0_y+50; } else if (!strcasecmp(name_pos,"bl")) { pos_x = pin_0_x; pos_y = pin_0_y-BoxHeight-175; } else if (!strcasecmp(name_pos,"bc")) { pos_x = pin_0_x+BoxWidth/2-name_size/2; pos_y = pin_0_y-BoxHeight-175; } else if (!strcasecmp(name_pos,"br")) { pos_x = pin_0_x+BoxWidth-(name_size)/2; pos_y = pin_0_y-BoxHeight-175; } /* puon: begin */ else if (!strcmp(name_pos,"cc")) { pos_x = pin_0_x+BoxWidth/2-(name_size)/2; pos_y = pin_0_y-BoxHeight/2; } /* puon: end */ else { pos_x = pin_0_x; pos_y = pin_0_y+50; } printf("T %d %d %d %d 1 0 0 0\n",pos_x,pos_y,GREEN,font_size); printf("%s\n",name); } return 0; } /***************************************************/ /***************************************************/ int make_pin(int fldcnt,char *pFields[]) { int pos_x=0,pos_y=0,shape,side=0,i; char pin_name[40]; char pin[40]; int pin_pos; char *type; if (fldcnt < 5) { fprintf (stderr,"\nError, not enough parameters on input line:%i instead of 5 !\n",fldcnt); fprintf (stderr,"\nPlease fix the input file then try again.\n\n"); return -1; } strcpy(pin_name,pFields[0]); strcpy(pin,pFields[1]); /* get pin number */ for (i=0;i #include #include #include #ifdef HAVE_LIBDMALLOC #include #endif #define RECLEN 0x14 int main(int argc, char **argv) { FILE *megafile, *output; char *extracted_file; char name[127]; char buffer[127]; /* buffer for megafile index entries */ char output_name[127]; int len; if( argc != 2 ) { fprintf( stderr, "Usage:\n %s \n\n" "Where is the name of a viewlogic megafile\n" "whithout any extensions. The file .lib and \n" ".tbl must exist in the same directory\n", argv[0]); return 1; } /* open the files */ strcpy(name,argv[1]); strcat(name,".lib"); megafile = fopen(name, "r"); if( megafile == NULL ) { fprintf(stderr, "Error: unable to open magefile `%s' for reading\n", name); return(1); } /* create a subdir to hold the exploded files */ mkdir(argv[1], 0777); /* try to be friendly */ /* read each table entry and extract the file from the megafile */ while(!feof(megafile)) { if(fread(buffer, RECLEN, 1, megafile) == 0) break; /* end of file? */ /* null terminate buffer */ buffer[RECLEN+1] = 0; /*printf("%s\n",buffer);*/ /* extract the name and size from the entry */ sscanf(buffer,"%s %d",name,&len); printf("%s:%d\n",name,len); /* slurp in the required data and spit it out into the * output directory */ /* allocate some memory to hold the file */ extracted_file = malloc(len); fread(extracted_file, len, 1, megafile); /* open up a file to dump in */ strcpy(output_name, argv[1]); strcat(output_name, "/"); strcat(output_name, name); output = fopen(output_name,"wb"); if(output == NULL) { fclose(megafile); fprintf(stderr,"Error: unable to open file `%s' for writing\n", output_name); return 1; } /* dump to the file */ fwrite(extracted_file, len, 1, output); fclose(output); /* and get the ^Z */ fgetc(megafile); } fclose(megafile); return 0; } geda-gaf-1.8.2/utils/src/olib.c0000664000175000017500000023224212220651647013132 00000000000000 #line 3 "olib.c" #define YY_INT_ALIGNED short int /* A lexical scanner generated by flex */ #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 #define YY_FLEX_MINOR_VERSION 5 #define YY_FLEX_SUBMINOR_VERSION 37 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif /* First, we deal with platform-specific or compiler-specific issues. */ /* begin standard C headers. */ #include #include #include #include /* end standard C headers. */ /* flex integer type definitions */ #ifndef FLEXINT_H #define FLEXINT_H /* C99 systems have . Non-C99 systems may or may not. */ #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, * if you want the limit (max/min) macros for int types. */ #ifndef __STDC_LIMIT_MACROS #define __STDC_LIMIT_MACROS 1 #endif #include typedef int8_t flex_int8_t; typedef uint8_t flex_uint8_t; typedef int16_t flex_int16_t; typedef uint16_t flex_uint16_t; typedef int32_t flex_int32_t; typedef uint32_t flex_uint32_t; #else typedef signed char flex_int8_t; typedef short int flex_int16_t; typedef int flex_int32_t; typedef unsigned char flex_uint8_t; typedef unsigned short int flex_uint16_t; typedef unsigned int flex_uint32_t; /* Limits of integral types. */ #ifndef INT8_MIN #define INT8_MIN (-128) #endif #ifndef INT16_MIN #define INT16_MIN (-32767-1) #endif #ifndef INT32_MIN #define INT32_MIN (-2147483647-1) #endif #ifndef INT8_MAX #define INT8_MAX (127) #endif #ifndef INT16_MAX #define INT16_MAX (32767) #endif #ifndef INT32_MAX #define INT32_MAX (2147483647) #endif #ifndef UINT8_MAX #define UINT8_MAX (255U) #endif #ifndef UINT16_MAX #define UINT16_MAX (65535U) #endif #ifndef UINT32_MAX #define UINT32_MAX (4294967295U) #endif #endif /* ! C99 */ #endif /* ! FLEXINT_H */ #ifdef __cplusplus /* The "const" storage-class-modifier is valid. */ #define YY_USE_CONST #else /* ! __cplusplus */ /* C99 requires __STDC__ to be defined as 1. */ #if defined (__STDC__) #define YY_USE_CONST #endif /* defined (__STDC__) */ #endif /* ! __cplusplus */ #ifdef YY_USE_CONST #define yyconst const #else #define yyconst #endif /* Returned upon end-of-file. */ #define YY_NULL 0 /* Promotes a possibly negative, possibly signed char to an unsigned * integer for use as an array index. If the signed char is negative, * we want to instead treat it as an 8-bit unsigned char, hence the * double cast. */ #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) /* Enter a start condition. This macro really ought to take a parameter, * but we do it the disgusting crufty way forced on us by the ()-less * definition of BEGIN. */ #define BEGIN (yy_start) = 1 + 2 * /* Translate the current start state into a value that can be later handed * to BEGIN to return to the state. The YYSTATE alias is for lex * compatibility. */ #define YY_START (((yy_start) - 1) / 2) #define YYSTATE YY_START /* Action number for EOF rule of a given start state. */ #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) /* Special action meaning "start processing a new file". */ #define YY_NEW_FILE yyrestart(yyin ) #define YY_END_OF_BUFFER_CHAR 0 /* Size of default input buffer. */ #ifndef YY_BUF_SIZE #define YY_BUF_SIZE 16384 #endif /* The state buf must be large enough to hold one state per character in the main buffer. */ #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) #ifndef YY_TYPEDEF_YY_BUFFER_STATE #define YY_TYPEDEF_YY_BUFFER_STATE typedef struct yy_buffer_state *YY_BUFFER_STATE; #endif #ifndef YY_TYPEDEF_YY_SIZE_T #define YY_TYPEDEF_YY_SIZE_T typedef size_t yy_size_t; #endif extern yy_size_t yyleng; extern FILE *yyin, *yyout; #define EOB_ACT_CONTINUE_SCAN 0 #define EOB_ACT_END_OF_FILE 1 #define EOB_ACT_LAST_MATCH 2 #define YY_LESS_LINENO(n) /* Return all but the first "n" matched characters back to the input stream. */ #define yyless(n) \ do \ { \ /* Undo effects of setting up yytext. */ \ int yyless_macro_arg = (n); \ YY_LESS_LINENO(yyless_macro_arg);\ *yy_cp = (yy_hold_char); \ YY_RESTORE_YY_MORE_OFFSET \ (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ YY_DO_BEFORE_ACTION; /* set up yytext again */ \ } \ while ( 0 ) #define unput(c) yyunput( c, (yytext_ptr) ) #ifndef YY_STRUCT_YY_BUFFER_STATE #define YY_STRUCT_YY_BUFFER_STATE struct yy_buffer_state { FILE *yy_input_file; char *yy_ch_buf; /* input buffer */ char *yy_buf_pos; /* current position in input buffer */ /* Size of input buffer in bytes, not including room for EOB * characters. */ yy_size_t yy_buf_size; /* Number of characters read into yy_ch_buf, not including EOB * characters. */ yy_size_t yy_n_chars; /* Whether we "own" the buffer - i.e., we know we created it, * and can realloc() it to grow it, and should free() it to * delete it. */ int yy_is_our_buffer; /* Whether this is an "interactive" input source; if so, and * if we're using stdio for input, then we want to use getc() * instead of fread(), to make sure we stop fetching input after * each newline. */ int yy_is_interactive; /* Whether we're considered to be at the beginning of a line. * If so, '^' rules will be active on the next match, otherwise * not. */ int yy_at_bol; int yy_bs_lineno; /**< The line count. */ int yy_bs_column; /**< The column count. */ /* Whether to try to fill the input buffer when we reach the * end of it. */ int yy_fill_buffer; int yy_buffer_status; #define YY_BUFFER_NEW 0 #define YY_BUFFER_NORMAL 1 /* When an EOF's been seen but there's still some text to process * then we mark the buffer as YY_EOF_PENDING, to indicate that we * shouldn't try reading from the input source any more. We might * still have a bunch of tokens to match, though, because of * possible backing-up. * * When we actually see the EOF, we change the status to "new" * (via yyrestart()), so that the user can continue scanning by * just pointing yyin at a new input file. */ #define YY_BUFFER_EOF_PENDING 2 }; #endif /* !YY_STRUCT_YY_BUFFER_STATE */ /* Stack of input buffers. */ static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */ static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */ static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */ /* We provide macros for accessing buffer states in case in the * future we want to put the buffer states in a more general * "scanner state". * * Returns the top of the stack, or NULL. */ #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \ ? (yy_buffer_stack)[(yy_buffer_stack_top)] \ : NULL) /* Same as previous macro, but useful when we know that the buffer stack is not * NULL or when we need an lvalue. For internal use only. */ #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)] /* yy_hold_char holds the character lost when yytext is formed. */ static char yy_hold_char; static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */ yy_size_t yyleng; /* Points to current character in buffer. */ static char *yy_c_buf_p = (char *) 0; static int yy_init = 0; /* whether we need to initialize */ static int yy_start = 0; /* start state number */ /* Flag which is used to allow yywrap()'s to do buffer switches * instead of setting up a fresh yyin. A bit of a hack ... */ static int yy_did_buffer_switch_on_eof; void yyrestart (FILE *input_file ); void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ); YY_BUFFER_STATE yy_create_buffer (FILE *file,int size ); void yy_delete_buffer (YY_BUFFER_STATE b ); void yy_flush_buffer (YY_BUFFER_STATE b ); void yypush_buffer_state (YY_BUFFER_STATE new_buffer ); void yypop_buffer_state (void ); static void yyensure_buffer_stack (void ); static void yy_load_buffer_state (void ); static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file ); #define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER ) YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size ); YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str ); YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len ); void *yyalloc (yy_size_t ); void *yyrealloc (void *,yy_size_t ); void yyfree (void * ); #define yy_new_buffer yy_create_buffer #define yy_set_interactive(is_interactive) \ { \ if ( ! YY_CURRENT_BUFFER ){ \ yyensure_buffer_stack (); \ YY_CURRENT_BUFFER_LVALUE = \ yy_create_buffer(yyin,YY_BUF_SIZE ); \ } \ YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ } #define yy_set_bol(at_bol) \ { \ if ( ! YY_CURRENT_BUFFER ){\ yyensure_buffer_stack (); \ YY_CURRENT_BUFFER_LVALUE = \ yy_create_buffer(yyin,YY_BUF_SIZE ); \ } \ YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ } #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) /* Begin user sect3 */ typedef unsigned char YY_CHAR; FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0; typedef int yy_state_type; extern int yylineno; int yylineno = 1; extern char *yytext; #define yytext_ptr yytext static yy_state_type yy_get_previous_state (void ); static yy_state_type yy_try_NUL_trans (yy_state_type current_state ); static int yy_get_next_buffer (void ); static void yy_fatal_error (yyconst char msg[] ); /* Done after the current pattern has been matched and before the * corresponding action - sets up yytext. */ #define YY_DO_BEFORE_ACTION \ (yytext_ptr) = yy_bp; \ yyleng = (size_t) (yy_cp - yy_bp); \ (yy_hold_char) = *yy_cp; \ *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; #define YY_NUM_RULES 68 #define YY_END_OF_BUFFER 69 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info { flex_int32_t yy_verify; flex_int32_t yy_nxt; }; static yyconst flex_int16_t yy_accept[327] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 68, 67, 68, 68, 66, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 9, 68, 68, 68, 10, 68, 12, 68, 68, 68, 68, 68, 68, 49, 68, 68, 68, 68, 68, 68, 68, 61, 63, 63, 64, 63, 65, 65, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 32, 68, 68, 30, 29, 32, 68, 68, 68, 68, 67, 37, 68, 37, 68, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 10, 12, 0, 0, 47, 0, 0, 49, 0, 0, 0, 53, 56, 57, 0, 0, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 29, 30, 0, 36, 0, 0, 37, 0, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 8, 0, 0, 48, 47, 0, 0, 51, 50, 60, 54, 58, 55, 0, 59, 23, 26, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 31, 35, 36, 0, 7, 0, 0, 18, 13, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 3, 0, 0, 47, 0, 0, 0, 0, 27, 24, 28, 0, 44, 0, 0, 0, 39, 0, 0, 0, 0, 36, 0, 0, 0, 0, 0, 0, 19, 0, 17, 0, 16, 0, 0, 0, 47, 0, 0, 52, 0, 0, 0, 0, 45, 0, 43, 0, 42, 0, 36, 0, 2, 0, 0, 0, 0, 0, 0, 22, 25, 0, 0, 0, 38, 0, 20, 0, 0, 14, 0, 0, 34, 0, 46, 0, 0, 40, 0, 15, 0, 0, 0, 41, 6, 11, 0 } ; static yyconst flex_int32_t yy_ec[256] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 4, 1, 1, 1, 1, 5, 1, 1, 1, 6, 1, 6, 7, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 1, 1, 1, 1, 1, 1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 1, 19, 20, 1, 21, 22, 23, 1, 24, 25, 26, 27, 28, 29, 30, 31, 32, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 33, 34, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 35, 1, 36, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 } ; static yyconst flex_int32_t yy_meta[37] = { 0, 1, 1, 2, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 } ; static yyconst flex_int16_t yy_base[359] = { 0, 0, 34, 3, 5, 12, 68, 24, 73, 107, 141, 26, 175, 82, 84, 209, 491, 29, 48, 63, 92, 97, 99, 102, 104, 243, 6, 119, 276, 303, 337, 123, 368, 127, 133, 146, 150, 493, 495, 495, 468, 455, 495, 0, 466, 480, 34, 467, 469, 4, 2, 472, 464, 0, 475, 474, 0, 468, 472, 471, 470, 469, 453, 0, 467, 453, 460, 464, 463, 451, 448, 4, 106, 14, 452, 382, 495, 495, 495, 402, 359, 495, 495, 0, 369, 373, 372, 371, 373, 365, 361, 93, 363, 365, 364, 367, 366, 495, 0, 71, 369, 105, 495, 0, 368, 362, 372, 371, 495, 128, 495, 0, 357, 334, 495, 364, 356, 358, 342, 344, 351, 343, 341, 331, 348, 346, 353, 348, 351, 340, 345, 344, 334, 346, 341, 328, 336, 338, 326, 315, 315, 495, 495, 495, 310, 310, 310, 311, 300, 495, 326, 318, 305, 308, 306, 296, 312, 312, 299, 301, 308, 300, 298, 288, 305, 311, 306, 131, 305, 308, 302, 295, 300, 495, 138, 298, 295, 284, 495, 295, 294, 156, 283, 266, 290, 272, 275, 261, 259, 495, 281, 495, 269, 269, 495, 272, 252, 251, 495, 495, 495, 495, 495, 495, 252, 495, 495, 495, 263, 254, 259, 246, 495, 268, 258, 240, 264, 246, 251, 238, 236, 495, 495, 252, 234, 495, 241, 254, 495, 495, 157, 236, 240, 249, 495, 248, 247, 246, 225, 240, 495, 217, 230, 230, 224, 215, 210, 215, 495, 495, 495, 230, 495, 210, 215, 225, 495, 223, 222, 221, 201, 211, 197, 188, 214, 202, 191, 211, 495, 210, 495, 206, 495, 184, 193, 182, 495, 181, 180, 495, 188, 186, 174, 194, 495, 193, 495, 191, 495, 169, 495, 168, 495, 188, 164, 186, 167, 160, 157, 495, 495, 179, 153, 172, 495, 170, 495, 169, 168, 495, 158, 159, 495, 164, 495, 160, 158, 495, 153, 495, 132, 114, 86, 495, 495, 495, 495, 396, 399, 402, 405, 80, 71, 62, 54, 41, 40, 3, 408, 411, 0, 414, 417, 420, 423, 426, 429, 432, 435, 438, 441, 444, 447, 450, 453, 456, 459, 462, 465 } ; static yyconst flex_int16_t yy_def[359] = { 0, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 15, 327, 327, 328, 328, 327, 327, 327, 327, 327, 25, 327, 25, 327, 327, 327, 12, 329, 329, 327, 327, 326, 326, 326, 326, 330, 326, 331, 326, 326, 326, 326, 326, 326, 326, 326, 326, 332, 326, 326, 333, 326, 326, 326, 326, 326, 326, 334, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 330, 326, 326, 335, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 336, 326, 326, 326, 326, 337, 326, 326, 338, 338, 326, 339, 326, 340, 326, 330, 326, 331, 326, 341, 326, 326, 326, 326, 326, 326, 326, 326, 332, 326, 333, 326, 326, 326, 326, 334, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 335, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 336, 326, 326, 326, 337, 326, 326, 338, 326, 339, 338, 340, 326, 326, 342, 341, 341, 326, 326, 343, 326, 326, 326, 326, 326, 344, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 345, 326, 326, 346, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 342, 326, 326, 341, 326, 326, 343, 326, 347, 348, 349, 326, 344, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 345, 326, 326, 326, 346, 326, 350, 351, 352, 326, 326, 326, 326, 341, 326, 326, 347, 326, 348, 326, 349, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 350, 326, 351, 326, 352, 326, 326, 326, 326, 326, 353, 326, 354, 326, 326, 326, 326, 326, 355, 326, 356, 326, 353, 326, 357, 354, 326, 326, 326, 326, 355, 326, 358, 356, 326, 357, 326, 326, 326, 358, 326, 326, 326, 0, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326 } ; static yyconst flex_int16_t yy_nxt[532] = { 0, 176, 39, 39, 169, 39, 39, 39, 42, 42, 53, 117, 140, 117, 39, 39, 123, 52, 54, 52, 89, 55, 122, 40, 145, 141, 39, 39, 39, 39, 58, 39, 39, 59, 76, 41, 39, 42, 41, 43, 41, 165, 150, 146, 44, 45, 46, 41, 47, 48, 39, 42, 118, 76, 49, 133, 119, 40, 45, 41, 50, 41, 51, 128, 41, 78, 39, 38, 79, 41, 39, 42, 126, 56, 54, 39, 42, 55, 166, 58, 167, 115, 59, 41, 39, 39, 39, 42, 67, 323, 67, 68, 57, 68, 78, 42, 38, 79, 80, 39, 39, 39, 42, 41, 39, 81, 39, 82, 41, 39, 39, 158, 166, 60, 167, 159, 61, 41, 142, 41, 143, 39, 39, 62, 83, 39, 39, 80, 103, 107, 108, 173, 41, 144, 41, 107, 110, 41, 166, 41, 167, 173, 41, 39, 42, 325, 324, 60, 39, 39, 61, 111, 39, 42, 41, 111, 319, 62, 41, 229, 229, 317, 109, 323, 175, 230, 264, 314, 109, 321, 320, 309, 319, 306, 175, 317, 41, 39, 42, 315, 63, 41, 314, 312, 311, 41, 64, 65, 310, 309, 307, 306, 304, 303, 288, 64, 286, 284, 302, 64, 301, 64, 300, 66, 299, 298, 297, 296, 295, 272, 41, 39, 39, 270, 268, 294, 293, 229, 292, 291, 290, 69, 70, 289, 288, 286, 284, 71, 256, 282, 281, 72, 73, 252, 74, 280, 279, 278, 277, 276, 275, 274, 75, 240, 41, 39, 39, 273, 83, 272, 270, 268, 234, 84, 266, 85, 265, 228, 86, 263, 262, 261, 260, 87, 259, 258, 257, 256, 254, 88, 253, 252, 250, 249, 248, 247, 246, 245, 41, 42, 244, 243, 242, 241, 240, 238, 90, 237, 91, 236, 92, 93, 235, 234, 232, 231, 94, 229, 228, 226, 225, 173, 95, 173, 96, 39, 97, 224, 98, 99, 100, 223, 101, 222, 168, 168, 221, 220, 219, 218, 217, 216, 215, 214, 213, 212, 211, 210, 209, 208, 207, 206, 205, 204, 203, 202, 201, 200, 41, 39, 102, 199, 98, 99, 100, 198, 101, 137, 197, 196, 195, 194, 193, 131, 130, 192, 191, 127, 190, 189, 188, 187, 186, 185, 184, 183, 182, 181, 179, 178, 114, 177, 41, 103, 173, 173, 171, 170, 168, 104, 164, 163, 162, 161, 160, 157, 156, 155, 104, 154, 153, 152, 104, 151, 104, 114, 105, 38, 38, 38, 77, 77, 77, 106, 106, 106, 113, 149, 113, 172, 172, 172, 174, 174, 174, 180, 148, 180, 227, 227, 227, 233, 233, 233, 239, 239, 239, 251, 251, 251, 255, 255, 255, 267, 267, 267, 269, 269, 269, 271, 271, 271, 283, 283, 283, 285, 285, 285, 287, 287, 287, 305, 305, 305, 308, 308, 308, 313, 313, 313, 316, 316, 316, 318, 318, 318, 322, 322, 322, 147, 139, 138, 137, 137, 136, 135, 134, 132, 131, 131, 130, 130, 129, 127, 127, 125, 124, 121, 120, 117, 116, 114, 112, 326, 42, 37, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326 } ; static yyconst flex_int16_t yy_chk[532] = { 0, 340, 1, 1, 337, 3, 3, 4, 4, 26, 4, 50, 71, 49, 5, 5, 50, 3, 5, 4, 26, 5, 49, 1, 73, 71, 7, 7, 11, 11, 7, 17, 17, 7, 17, 1, 2, 2, 3, 2, 4, 336, 335, 73, 2, 2, 2, 5, 2, 2, 18, 18, 46, 18, 2, 334, 46, 2, 2, 7, 2, 11, 2, 333, 17, 19, 19, 19, 19, 2, 6, 6, 332, 6, 6, 8, 8, 6, 99, 8, 99, 331, 8, 18, 13, 13, 14, 14, 13, 322, 14, 13, 6, 14, 20, 20, 20, 20, 19, 21, 21, 22, 22, 6, 23, 23, 24, 24, 8, 9, 9, 91, 101, 9, 101, 91, 9, 13, 72, 14, 72, 27, 27, 9, 27, 31, 31, 20, 31, 33, 33, 109, 21, 72, 22, 34, 34, 23, 167, 24, 167, 174, 9, 10, 10, 321, 320, 10, 35, 35, 10, 35, 36, 36, 27, 36, 318, 10, 31, 181, 230, 316, 33, 315, 109, 181, 230, 313, 34, 311, 310, 308, 307, 305, 174, 303, 10, 12, 12, 302, 12, 35, 301, 298, 297, 36, 12, 12, 296, 295, 294, 293, 291, 289, 287, 12, 285, 283, 282, 12, 281, 12, 280, 12, 278, 277, 275, 274, 273, 271, 12, 15, 15, 269, 267, 266, 265, 264, 263, 262, 261, 15, 15, 260, 259, 258, 257, 15, 255, 254, 253, 15, 15, 251, 15, 247, 246, 245, 244, 243, 242, 241, 15, 239, 15, 25, 25, 238, 25, 237, 236, 235, 233, 25, 232, 25, 231, 227, 25, 226, 224, 223, 220, 25, 219, 218, 217, 216, 215, 25, 214, 213, 211, 210, 209, 208, 204, 197, 25, 28, 196, 195, 193, 192, 190, 188, 28, 187, 28, 186, 28, 28, 185, 184, 183, 182, 28, 180, 179, 177, 176, 175, 28, 172, 28, 29, 29, 171, 29, 29, 29, 170, 29, 169, 168, 166, 165, 164, 163, 162, 161, 160, 159, 158, 157, 156, 155, 154, 153, 152, 151, 150, 148, 147, 146, 145, 144, 140, 29, 30, 30, 139, 30, 30, 30, 138, 30, 137, 136, 135, 134, 133, 132, 131, 130, 129, 128, 127, 126, 125, 124, 123, 122, 121, 120, 119, 118, 117, 116, 115, 113, 112, 30, 32, 107, 106, 105, 104, 100, 32, 96, 95, 94, 93, 92, 90, 89, 88, 32, 87, 86, 85, 32, 84, 32, 80, 32, 327, 327, 327, 328, 328, 328, 329, 329, 329, 330, 79, 330, 338, 338, 338, 339, 339, 339, 341, 75, 341, 342, 342, 342, 343, 343, 343, 344, 344, 344, 345, 345, 345, 346, 346, 346, 347, 347, 347, 348, 348, 348, 349, 349, 349, 350, 350, 350, 351, 351, 351, 352, 352, 352, 353, 353, 353, 354, 354, 354, 355, 355, 355, 356, 356, 356, 357, 357, 357, 358, 358, 358, 74, 70, 69, 68, 67, 66, 65, 64, 62, 61, 60, 59, 58, 57, 55, 54, 52, 51, 48, 47, 45, 44, 41, 40, 37, 16, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326 } ; static yy_state_type yy_last_accepting_state; static char *yy_last_accepting_cpos; extern int yy_flex_debug; int yy_flex_debug = 0; /* The intent behind this definition is that it'll catch * any uses of REJECT which flex missed. */ #define REJECT reject_used_but_not_detected #define yymore() yymore_used_but_not_detected #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET char *yytext; #line 1 "olib.l" #line 2 "olib.l" /* $Id$ olib.lex - Orcad to gEDA lib converter Copyright (C) 2002 Mario Pascucci This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or visit the URL http://www.fsf.org/ */ #include #include #include #include #include #include #include /* gEDA file version: change NEW version as soon as available */ #define EDA_VERSION_OLD "20020209" #define EDA_VERSION_NEW "20020825" /* defines for flags and types */ #define PIN_DOTFLAG 0x0001 #define PIN_SHORTFLAG 0x0002 #define PIN_CLKFLAG 0x0004 #define PIN_TYPE_IO 1 #define PIN_TYPE_IN 2 #define PIN_TYPE_OUT 3 #define PIN_TYPE_PWR 4 #define PIN_TYPE_PAS 5 #define PIN_TYPE_OC 6 #define PIN_TYPE_HIZ 7 #define PIN_TYPE_OE 8 #ifndef GCC_VERSION #define GCC_VERSION (__GNUC__ * 1000 + __GNUC_MINOR__) #endif /* GCC_VERSION */ #if GCC_VERSION > 2007 #define ATTRIBUTE_UNUSED __attribute__((unused)) #else #define ATTRIBUTE_UNUSED #endif static const ATTRIBUTE_UNUSED char *mp_name = "OrCAD to gEDA lib converter"; static const ATTRIBUTE_UNUSED char *mp_license = "Copyright (c) 2002 Mario Pascucci "; static char fnsym[512]; /* gEDA symbol file name */ static FILE *fsym; /* FILE* to gEDA symbol file */ static int aliascount = 0; /* alias count */ static char part_aliases[200][50]; /* store for aliases of part */ static char sym_prefix[50]; /* prefix for .sym file */ /* gEDA symbol file version */ static char sym_version[10]; static int use_old_version; /* flag for old format */ /* pin name options */ static int pin_name_hidden; static char buff[512]; static int sizex,sizey,partspp; /* size and number of part per package */ static int pincount; /* pin definitions found until now */ struct pin_def { /* pin definition struct */ char pos; /* position: L,T,R,B */ short num; /* number in side, 0 mean virtual pin */ short pin; /* real pin number */ short flags; /* DOT, CLK and SHORT flags */ short type; /* I/O, IN, OUT, PWR, PASS, OC */ char name[50]; /* simbolic name of pin */ }; /* REFERENCE handling */ static char ref_str[20]; /* VECTOR handling */ static int vector_count; /* number of vector found */ struct vector_def { char type; /* line, arc, circle, box */ float p[12]; /* parameters for element drawing */ char *str; /* string for "TEXT" statement */ }; static int paramcount; /* vector param number count */ static struct vector_def part_vectors[100]; /* draw list */ static int vector_found; /* type of pin */ static char *pintypestr[] = { "???", "I/O", "IN", "OUT", "PWR", "PAS", "OC", "hiZ", "OE" }; static char *edapintype[] = { "???", "io", "in", "out", "pwr", "pas", "oc", "tri", "oe" }; /* pin definition database */ static struct pin_def pinlist[200]; /* generic counter */ static int ii; /* strip filename-aware chars from part name, leave only '.' '-' or '_' and changes space in '_' */ char *strip_invalid(char *str) { char *p; p = buff; while (*str) { if (isalnum((int) *str) || strchr("-_. ",*str)) { if (*str == ' ') *p = '_'; else *p = *str; p++; } str++; } *p = 0; return buff; } /* trim leading and trailing ' in ident */ char *strip_quotes(char *str) { char *p; p = buff; str++; while (*str != '\'') { *p = *str; p++; str++; } *p = 0; return buff; } /* symbol write function in gEDA .sym format */ #include "geda_sym_format.h" /* decimal integer */ /* floating point decimal, like 123.234 */ /* string name, like 'abcd' */ /* comment, like { comment } */ /* pin identifier, example T3 L12 R3 .... */ #line 886 "olib.c" #define INITIAL 0 #define wait_END 1 #define wait_sizex 2 #define wait_sizey 3 #define wait_parts 4 #define pin_list 5 #define pinrealnum 6 #define pindata 7 #define waitnamestart 8 #define in_name 9 #define waitnameend 10 #define waitpinend 11 #define vector_list 12 #define vector_ignore 13 #define param_list 14 #define convert 15 #define convert_ignore_pin 16 #define reference 17 #ifndef YY_NO_UNISTD_H /* Special case for "unistd.h", since it is non-ANSI. We include it way * down here because we want the user's section 1 to have been scanned first. * The user has a chance to override it with an option. */ #include #endif #ifndef YY_EXTRA_TYPE #define YY_EXTRA_TYPE void * #endif static int yy_init_globals (void ); /* Accessor methods to globals. These are made visible to non-reentrant scanners for convenience. */ int yylex_destroy (void ); int yyget_debug (void ); void yyset_debug (int debug_flag ); YY_EXTRA_TYPE yyget_extra (void ); void yyset_extra (YY_EXTRA_TYPE user_defined ); FILE *yyget_in (void ); void yyset_in (FILE * in_str ); FILE *yyget_out (void ); void yyset_out (FILE * out_str ); yy_size_t yyget_leng (void ); char *yyget_text (void ); int yyget_lineno (void ); void yyset_lineno (int line_number ); /* Macros after this point can all be overridden by user definitions in * section 1. */ #ifndef YY_SKIP_YYWRAP #ifdef __cplusplus extern "C" int yywrap (void ); #else extern int yywrap (void ); #endif #endif static void yyunput (int c,char *buf_ptr ); #ifndef yytext_ptr static void yy_flex_strncpy (char *,yyconst char *,int ); #endif #ifdef YY_NEED_STRLEN static int yy_flex_strlen (yyconst char * ); #endif #ifndef YY_NO_INPUT #ifdef __cplusplus static int yyinput (void ); #else static int input (void ); #endif #endif /* Amount of stuff to slurp up with each read. */ #ifndef YY_READ_BUF_SIZE #define YY_READ_BUF_SIZE 8192 #endif /* Copy whatever the last rule matched to the standard output. */ #ifndef ECHO /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ #define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) #endif /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, * is returned in "result". */ #ifndef YY_INPUT #define YY_INPUT(buf,result,max_size) \ if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ { \ int c = '*'; \ size_t n; \ for ( n = 0; n < max_size && \ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ if ( c == '\n' ) \ buf[n++] = (char) c; \ if ( c == EOF && ferror( yyin ) ) \ YY_FATAL_ERROR( "input in flex scanner failed" ); \ result = n; \ } \ else \ { \ errno=0; \ while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \ { \ if( errno != EINTR) \ { \ YY_FATAL_ERROR( "input in flex scanner failed" ); \ break; \ } \ errno=0; \ clearerr(yyin); \ } \ }\ \ #endif /* No semi-colon after return; correct usage is to write "yyterminate();" - * we don't want an extra ';' after the "return" because that will cause * some compilers to complain about unreachable statements. */ #ifndef yyterminate #define yyterminate() return YY_NULL #endif /* Number of entries by which start-condition stack grows. */ #ifndef YY_START_STACK_INCR #define YY_START_STACK_INCR 25 #endif /* Report a fatal error. */ #ifndef YY_FATAL_ERROR #define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) #endif /* end tables serialization structures and prototypes */ /* Default declaration of generated scanner - a define so the user can * easily add parameters. */ #ifndef YY_DECL #define YY_DECL_IS_OURS 1 extern int yylex (void); #define YY_DECL int yylex (void) #endif /* !YY_DECL */ /* Code executed at the beginning of each rule, after yytext and yyleng * have been set up. */ #ifndef YY_USER_ACTION #define YY_USER_ACTION #endif /* Code executed at the end of each rule. */ #ifndef YY_BREAK #define YY_BREAK break; #endif #define YY_RULE_SETUP \ if ( yyleng > 0 ) \ YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \ (yytext[yyleng - 1] == '\n'); \ YY_USER_ACTION /** The main scanner function which does all the work. */ YY_DECL { register yy_state_type yy_current_state; register char *yy_cp, *yy_bp; register int yy_act; #line 225 "olib.l" /******************************************* handling of: PREFIX 'prefix1' 'prefix2' ... ... END *******************************************/ #line 1103 "olib.c" if ( !(yy_init) ) { (yy_init) = 1; #ifdef YY_USER_INIT YY_USER_INIT; #endif if ( ! (yy_start) ) (yy_start) = 1; /* first start state */ if ( ! yyin ) yyin = stdin; if ( ! yyout ) yyout = stdout; if ( ! YY_CURRENT_BUFFER ) { yyensure_buffer_stack (); YY_CURRENT_BUFFER_LVALUE = yy_create_buffer(yyin,YY_BUF_SIZE ); } yy_load_buffer_state( ); } while ( 1 ) /* loops until end-of-file is reached */ { yy_cp = (yy_c_buf_p); /* Support of yytext. */ *yy_cp = (yy_hold_char); /* yy_bp points to the position in yy_ch_buf of the start of * the current run. */ yy_bp = yy_cp; yy_current_state = (yy_start); yy_current_state += YY_AT_BOL(); yy_match: do { register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; if ( yy_accept[yy_current_state] ) { (yy_last_accepting_state) = yy_current_state; (yy_last_accepting_cpos) = yy_cp; } while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; if ( yy_current_state >= 327 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } while ( yy_base[yy_current_state] != 495 ); yy_find_action: yy_act = yy_accept[yy_current_state]; if ( yy_act == 0 ) { /* have to back up */ yy_cp = (yy_last_accepting_cpos); yy_current_state = (yy_last_accepting_state); yy_act = yy_accept[yy_current_state]; } YY_DO_BEFORE_ACTION; do_action: /* This label is used only to access EOF actions. */ switch ( yy_act ) { /* beginning of action switch */ case 0: /* must back up */ /* undo the effects of YY_DO_BEFORE_ACTION */ *yy_cp = (yy_hold_char); yy_cp = (yy_last_accepting_cpos); yy_current_state = (yy_last_accepting_state); goto yy_find_action; case 1: YY_RULE_SETUP #line 239 "olib.l" { /* ignore comments */ fprintf(stderr,"Ignore comment: %s\n",yytext); } YY_BREAK case 2: YY_RULE_SETUP #line 245 "olib.l" { /* shortcuts for parts name: ignored */ fprintf(stderr,"Found PREFIX\n"); BEGIN(wait_END); } YY_BREAK case 3: /* rule 3 can match eol */ YY_RULE_SETUP #line 252 "olib.l" { fprintf(stderr,"Shorthand found, ignored\n"); /* ignore shortcut list */ } YY_BREAK case 4: YY_RULE_SETUP #line 258 "olib.l" { /* founds shortcut list end */ fprintf(stderr,"Found END for shorthands\n"); BEGIN(INITIAL); } YY_BREAK /******************************************* handling of: 'IDENT' 'IDENT' ... *******************************************/ case 5: YY_RULE_SETUP #line 274 "olib.l" { /* founds first part identifier */ strcpy(part_aliases[0],strip_invalid(yytext)); snprintf(fnsym,511,"%s-%s-1.sym",sym_prefix,part_aliases[0]); fprintf(stderr,"New part name: %s (%s)\n",part_aliases[0],yytext); fprintf(stderr,"New .sym name: %s\n",fnsym); BEGIN(wait_sizex); aliascount = 1; pincount = 0; vector_found = 0; ref_str[0] = 'U'; ref_str[1] = 0; } YY_BREAK case 6: YY_RULE_SETUP #line 289 "olib.l" { /* REFERENCE statement found */ BEGIN(reference); } YY_BREAK case 7: YY_RULE_SETUP #line 295 "olib.l" { /* get an IDENT, i.e. reference id */ strcpy(ref_str,strip_quotes(yytext)); fprintf(stderr,"REFERENCE: %s\n",yytext); BEGIN(wait_sizex); } YY_BREAK case 8: YY_RULE_SETUP #line 303 "olib.l" { /* found an alias for the part name store alias for future use */ fprintf(stderr,"Found an alias: %s\n",yytext); strcpy(part_aliases[aliascount], strip_invalid(yytext)); aliascount++; } YY_BREAK /******************************************* handling of: {X Size =} x {Y Size =} y {Parts per Package =} n *******************************************/ case 9: YY_RULE_SETUP #line 319 "olib.l" { /* trovata la dimansione X */ sizex = atoi(yytext); fprintf(stderr,"Found X size: %d (%s)\n",sizex,yytext); BEGIN(wait_sizey); } YY_BREAK case 10: YY_RULE_SETUP #line 327 "olib.l" { /* trovata la dimansione y */ sizey = atoi(yytext); fprintf(stderr,"Found Y size: %d (%s)\n",sizey,yytext); BEGIN(wait_parts); } YY_BREAK case 11: YY_RULE_SETUP #line 335 "olib.l" { /* found a PGA component, unsupported */ fprintf(stderr,"Found a GRIDARRAY: unsupported\n"); BEGIN(INITIAL); } YY_BREAK case 12: YY_RULE_SETUP #line 342 "olib.l" { /* trovato il parts-per-package */ /* per ora supportato solo 1 part-per-package */ partspp = atoi(yytext); if (partspp > 1) { fprintf(stderr,"Found parts per package > 1\n"); BEGIN(INITIAL); } else { fprintf(stderr,"Found parts per package: %d (%s)\n",partspp,yytext); BEGIN(pin_list); /* size of symbol body */ sizex = sizex * PIN_SPACE; sizey = sizey * PIN_SPACE; } } YY_BREAK case 13: /* rule 13 can match eol */ #line 363 "olib.l" case 14: /* rule 14 can match eol */ #line 364 "olib.l" case 15: /* rule 15 can match eol */ #line 365 "olib.l" case 16: /* rule 16 can match eol */ #line 366 "olib.l" case 17: /* rule 17 can match eol */ #line 367 "olib.l" case 18: /* rule 18 can match eol */ #line 368 "olib.l" case 19: /* rule 19 can match eol */ #line 369 "olib.l" case 20: /* rule 20 can match eol */ #line 370 "olib.l" case 21: /* rule 21 can match eol */ YY_RULE_SETUP #line 370 "olib.l" { /* ignored */ fprintf(stderr,"Ignored: %s",yytext); } YY_BREAK /******************************************* handling of: VECTOR 'IDENT' (unsupported) or VECTOR LINE x y x1 y1 ARC x y dxs dys dxe dye r CIRCLE x y r FILL x y (unsupported) TEXT x y size 'text' (partially supported) END *******************************************/ case 22: YY_RULE_SETUP #line 391 "olib.l" { /* components isn't a simple "box", but it's drawed */ BEGIN(vector_list); vector_count = 0; vector_found = -1; fprintf(stderr,"Found: VECTOR\n"); } YY_BREAK case 23: YY_RULE_SETUP #line 400 "olib.l" { /* the component shape is identical to a previous one unsupported at the moment */ BEGIN(pin_list); fprintf(stderr,"Found unsupported: VECTOR 'IDENT'\n"); } YY_BREAK case 24: YY_RULE_SETUP #line 408 "olib.l" { /* found LINE vector statement */ part_vectors[vector_count].type = 'L'; BEGIN(param_list); paramcount = 0; fprintf(stderr,"Found: LINE params:"); } YY_BREAK case 25: YY_RULE_SETUP #line 417 "olib.l" { /* found CIRCLE vector statement */ part_vectors[vector_count].type = 'V'; BEGIN(param_list); paramcount = 0; fprintf(stderr,"Found: CIRCLE params:"); } YY_BREAK case 26: YY_RULE_SETUP #line 426 "olib.l" { /* found ARC vector statement */ part_vectors[vector_count].type = 'A'; BEGIN(param_list); paramcount = 0; fprintf(stderr,"Found: ARC params:"); } YY_BREAK case 27: YY_RULE_SETUP #line 435 "olib.l" { /* found FILL vector statement */ /* no counterpart in gEDA */ part_vectors[vector_count].type = 'f'; BEGIN(param_list); paramcount = 0; fprintf(stderr,"Found unsupported: FILL params:"); } YY_BREAK case 28: YY_RULE_SETUP #line 445 "olib.l" { /* found ARC vector statement */ part_vectors[vector_count].type = 'T'; BEGIN(param_list); paramcount = 0; fprintf(stderr,"Found: TEXT params:"); } YY_BREAK case 29: YY_RULE_SETUP #line 454 "olib.l" { /* found a param */ part_vectors[vector_count].p[paramcount] = (float) atof(yytext); paramcount++; BEGIN(param_list); fprintf(stderr," %s",yytext); } YY_BREAK case 30: YY_RULE_SETUP #line 463 "olib.l" { /* found a param */ part_vectors[vector_count].p[paramcount] = (float) atof(yytext); paramcount++; BEGIN(param_list); fprintf(stderr," %s",yytext); } YY_BREAK case 31: YY_RULE_SETUP #line 472 "olib.l" { /* found a string */ if (part_vectors[vector_count].type == 'T') part_vectors[vector_count].str = strdup(strip_quotes(yytext)); else fprintf(stderr,"Text param found in non text VECTOR instr: %s\n",yytext); paramcount++; BEGIN(param_list); fprintf(stderr," %s",yytext); } YY_BREAK case 32: /* rule 32 can match eol */ YY_RULE_SETUP #line 484 "olib.l" { /* end of params */ fprintf(stderr,"\n"); switch (part_vectors[vector_count].type) { case 'L': /* line */ if (paramcount != 4) { fprintf(stderr,"LINE: wrong parameters number: %d\n",paramcount); BEGIN(vector_list); } break; case 'V': /* circle */ if (paramcount != 3) { fprintf(stderr,"CIRCLE: wrong parameters number: %d\n",paramcount); BEGIN(vector_list); } break; case 'A': /* arc */ if (paramcount != 7) { fprintf(stderr,"ARC: wrong parameters number: %d\n",paramcount); BEGIN(vector_list); } break; case 'f': /* fill (ignored) */ if (paramcount != 2) { fprintf(stderr,"FILL: wrong parameters number: %d\n",paramcount); BEGIN(vector_list); } break; case 'T': /* text */ if (paramcount != 4) { fprintf(stderr,"TEXT: wrong parameters number: %d\n",paramcount); BEGIN(vector_list); } break; } vector_count++; BEGIN(vector_list); } YY_BREAK case 33: YY_RULE_SETUP #line 535 "olib.l" { /* end of vector list */ BEGIN(pin_list); fprintf(stderr,"Found: END of VECTOR list\n"); } YY_BREAK /******************************************* handling of: CONVERT 'IDENT' or CONVERT pin_def pin_def ... *******************************************/ case 34: YY_RULE_SETUP #line 554 "olib.l" { /* alternate part drawing */ /* unsupported */ BEGIN(convert); } YY_BREAK case 35: YY_RULE_SETUP #line 561 "olib.l" { /* CONVERT 'part' unsupported */ BEGIN(pin_list); } YY_BREAK case 36: YY_RULE_SETUP #line 567 "olib.l" { /* ignore PIN list in CONVERT */ BEGIN(convert_ignore_pin); } YY_BREAK case 37: /* rule 37 can match eol */ YY_RULE_SETUP #line 573 "olib.l" { /* ignore line */ BEGIN(convert); } YY_BREAK case 38: YY_RULE_SETUP #line 579 "olib.l" { /* found VECTOR list in CONVERT */ if (vector_found) BEGIN(vector_ignore); else { BEGIN(vector_list); vector_count = 0; vector_found = -1; } } YY_BREAK case 39: /* rule 39 can match eol */ YY_RULE_SETUP #line 592 "olib.l" { /* end of ignore */ BEGIN(pin_list); } YY_BREAK case 40: /* rule 40 can match eol */ #line 597 "olib.l" case 41: /* rule 41 can match eol */ #line 598 "olib.l" case 42: /* rule 42 can match eol */ #line 599 "olib.l" case 43: /* rule 43 can match eol */ #line 600 "olib.l" case 44: /* rule 44 can match eol */ #line 601 "olib.l" case 45: /* rule 45 can match eol */ #line 602 "olib.l" case 46: /* rule 46 can match eol */ YY_RULE_SETUP #line 602 "olib.l" { /* ignored */ fprintf(stderr,"Ignored VECTOR: %s",yytext); } YY_BREAK /******************************************* handling of: pin_def pin_def ... *******************************************/ case 47: YY_RULE_SETUP #line 617 "olib.l" { /* trovato un pin */ pinlist[pincount].pos = yytext[0]; /* pin side */ pinlist[pincount].num = atoi(yytext+1); /* gets pin number */ pinlist[pincount].flags = 0; pinlist[pincount].type = 0; fprintf(stderr,"Found pin ID: %c-%d (%s)\n",pinlist[pincount].pos,pinlist[pincount].num,yytext); if (partspp == 0) /* handling of parts without pin number */ { /* assign number to a unnumbered pin from the pin count */ pinlist[pincount].pin = pincount + 1; BEGIN(pindata); } else BEGIN(pinrealnum); } YY_BREAK case 48: YY_RULE_SETUP #line 635 "olib.l" { /* found a part name after pinlist, this mean that part definition ends, and starts a new part definition */ fprintf(stderr,"Writing down new symbol: %s pin: %d vectors: %d\n",part_aliases[0],pincount,vector_count); write_sym(); /* write the .sym gEDA symbol definition */ /* restore initial condition */ ref_str[0] = 'U'; ref_str[1] = 0; pincount = 0; aliascount = 1; vector_found = 0; vector_count = 0; strcpy(part_aliases[0],strip_invalid(yytext)); snprintf(fnsym,511,"%s-%s-1.sym",sym_prefix,part_aliases[0]); fprintf(stderr,"New part name: %s (%s)\n",part_aliases[0],yytext); fprintf(stderr,"New .sym name: %s\n",fnsym); BEGIN(wait_sizex); } YY_BREAK case 49: YY_RULE_SETUP #line 656 "olib.l" { /* reads real pin number */ pinlist[pincount].pin = atoi(yytext); fprintf(stderr,"Found pin num: %d (%s)\n",pinlist[pincount].pin,yytext); BEGIN(pindata); } YY_BREAK case 50: YY_RULE_SETUP #line 664 "olib.l" { /* DOT flag found, boolean negate */ pinlist[pincount].flags |= PIN_DOTFLAG; fprintf(stderr,"Found DOT flag\n"); } YY_BREAK case 51: YY_RULE_SETUP #line 671 "olib.l" { /* CLK flag found, clock input */ pinlist[pincount].flags |= PIN_CLKFLAG; fprintf(stderr,"Found CLK flag\n"); } YY_BREAK case 52: YY_RULE_SETUP #line 678 "olib.l" { /* SHORT flag found, short terminal */ pinlist[pincount].flags |= PIN_SHORTFLAG; fprintf(stderr,"Found SHORT flag\n"); } YY_BREAK case 53: YY_RULE_SETUP #line 685 "olib.l" { /* pin type IN */ pinlist[pincount].type = PIN_TYPE_IN; BEGIN(waitnamestart); fprintf(stderr,"Pin type IN\n"); } YY_BREAK case 54: YY_RULE_SETUP #line 693 "olib.l" { /* pin type OUT */ pinlist[pincount].type = PIN_TYPE_OUT; BEGIN(waitnamestart); fprintf(stderr,"Pin type OUT\n"); } YY_BREAK case 55: YY_RULE_SETUP #line 701 "olib.l" { /* pin type PWR */ pinlist[pincount].type = PIN_TYPE_PWR; BEGIN(waitnamestart); fprintf(stderr,"Pin type PWR\n"); } YY_BREAK case 56: YY_RULE_SETUP #line 709 "olib.l" { /* pin type OC */ pinlist[pincount].type = PIN_TYPE_OC; BEGIN(waitnamestart); fprintf(stderr,"Pin type OC\n"); } YY_BREAK case 57: YY_RULE_SETUP #line 717 "olib.l" { /* pin type OE */ pinlist[pincount].type = PIN_TYPE_OE; BEGIN(waitnamestart); fprintf(stderr,"Pin type OE\n"); } YY_BREAK case 58: YY_RULE_SETUP #line 725 "olib.l" { /* pin type PAS */ pinlist[pincount].type = PIN_TYPE_PAS; BEGIN(waitnamestart); fprintf(stderr,"Pin type PAS\n"); } YY_BREAK case 59: YY_RULE_SETUP #line 733 "olib.l" { /* pin type hiZ */ pinlist[pincount].type = PIN_TYPE_HIZ; BEGIN(waitnamestart); fprintf(stderr,"Pin type hiZ\n"); } YY_BREAK case 60: YY_RULE_SETUP #line 741 "olib.l" { /* pin type I/O */ pinlist[pincount].type = PIN_TYPE_IO; BEGIN(waitnamestart); fprintf(stderr,"Pin type I/O\n"); } YY_BREAK case 61: YY_RULE_SETUP #line 749 "olib.l" { /* found initial quote */ ii = 0; BEGIN(in_name); } YY_BREAK case 62: YY_RULE_SETUP #line 756 "olib.l" { /* found a ' in pin name */ pinlist[pincount].name[ii++] = '\''; } YY_BREAK case 63: YY_RULE_SETUP #line 762 "olib.l" { /* get a char from the pin symbolic name */ pinlist[pincount].name[ii++] = *yytext; } YY_BREAK case 64: YY_RULE_SETUP #line 768 "olib.l" { /* all ok, waiting for new pin definition */ pinlist[pincount].name[ii] = 0; fprintf(stderr,"Pin label: %s\n",pinlist[pincount].name); BEGIN(waitpinend); } YY_BREAK case 65: /* rule 65 can match eol */ YY_RULE_SETUP #line 776 "olib.l" { /* ok, found a newline, pin definition ends */ fprintf(stderr,"Pin: %c%d %d %x %s %s\n",pinlist[pincount].pos,pinlist[pincount].num, pinlist[pincount].pin, pinlist[pincount].flags, pintypestr[pinlist[pincount].type], pinlist[pincount].name); pincount++; BEGIN(pin_list); } YY_BREAK /* * we don't need to use <*> to match any state, we just don't * specify a state */ case 66: /* rule 66 can match eol */ YY_RULE_SETUP #line 793 "olib.l" { /* empty lines ignored */ } YY_BREAK case 67: /* rule 67 can match eol */ YY_RULE_SETUP #line 796 "olib.l" { /* ignored, the \r char is for "DOS" ASCII files */ } YY_BREAK case 68: YY_RULE_SETUP #line 802 "olib.l" ECHO; YY_BREAK #line 1891 "olib.c" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(wait_END): case YY_STATE_EOF(wait_sizex): case YY_STATE_EOF(wait_sizey): case YY_STATE_EOF(wait_parts): case YY_STATE_EOF(pin_list): case YY_STATE_EOF(pinrealnum): case YY_STATE_EOF(pindata): case YY_STATE_EOF(waitnamestart): case YY_STATE_EOF(in_name): case YY_STATE_EOF(waitnameend): case YY_STATE_EOF(waitpinend): case YY_STATE_EOF(vector_list): case YY_STATE_EOF(vector_ignore): case YY_STATE_EOF(param_list): case YY_STATE_EOF(convert): case YY_STATE_EOF(convert_ignore_pin): case YY_STATE_EOF(reference): yyterminate(); case YY_END_OF_BUFFER: { /* Amount of text matched not including the EOB char. */ int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1; /* Undo the effects of YY_DO_BEFORE_ACTION. */ *yy_cp = (yy_hold_char); YY_RESTORE_YY_MORE_OFFSET if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW ) { /* We're scanning a new file or input source. It's * possible that this happened because the user * just pointed yyin at a new source and called * yylex(). If so, then we have to assure * consistency between YY_CURRENT_BUFFER and our * globals. Here is the right place to do so, because * this is the first action (other than possibly a * back-up) that will match for the new input source. */ (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; } /* Note that here we test for yy_c_buf_p "<=" to the position * of the first EOB in the buffer, since yy_c_buf_p will * already have been incremented past the NUL character * (since all states make transitions on EOB to the * end-of-buffer state). Contrast this with the test * in input(). */ if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) { /* This was really a NUL. */ yy_state_type yy_next_state; (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text; yy_current_state = yy_get_previous_state( ); /* Okay, we're now positioned to make the NUL * transition. We couldn't have * yy_get_previous_state() go ahead and do it * for us because it doesn't know how to deal * with the possibility of jamming (and we don't * want to build jamming into it because then it * will run more slowly). */ yy_next_state = yy_try_NUL_trans( yy_current_state ); yy_bp = (yytext_ptr) + YY_MORE_ADJ; if ( yy_next_state ) { /* Consume the NUL. */ yy_cp = ++(yy_c_buf_p); yy_current_state = yy_next_state; goto yy_match; } else { yy_cp = (yy_c_buf_p); goto yy_find_action; } } else switch ( yy_get_next_buffer( ) ) { case EOB_ACT_END_OF_FILE: { (yy_did_buffer_switch_on_eof) = 0; if ( yywrap( ) ) { /* Note: because we've taken care in * yy_get_next_buffer() to have set up * yytext, we can now set up * yy_c_buf_p so that if some total * hoser (like flex itself) wants to * call the scanner after we return the * YY_NULL, it'll still work - another * YY_NULL will get returned. */ (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ; yy_act = YY_STATE_EOF(YY_START); goto do_action; } else { if ( ! (yy_did_buffer_switch_on_eof) ) YY_NEW_FILE; } break; } case EOB_ACT_CONTINUE_SCAN: (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text; yy_current_state = yy_get_previous_state( ); yy_cp = (yy_c_buf_p); yy_bp = (yytext_ptr) + YY_MORE_ADJ; goto yy_match; case EOB_ACT_LAST_MATCH: (yy_c_buf_p) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)]; yy_current_state = yy_get_previous_state( ); yy_cp = (yy_c_buf_p); yy_bp = (yytext_ptr) + YY_MORE_ADJ; goto yy_find_action; } break; } default: YY_FATAL_ERROR( "fatal flex scanner internal error--no action found" ); } /* end of action switch */ } /* end of scanning one token */ } /* end of yylex */ /* yy_get_next_buffer - try to read in a new buffer * * Returns a code representing an action: * EOB_ACT_LAST_MATCH - * EOB_ACT_CONTINUE_SCAN - continue scanning from current position * EOB_ACT_END_OF_FILE - end of file */ static int yy_get_next_buffer (void) { register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; register char *source = (yytext_ptr); register int number_to_move, i; int ret_val; if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] ) YY_FATAL_ERROR( "fatal flex scanner internal error--end of buffer missed" ); if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 ) { /* Don't try to fill the buffer, so this is an EOF. */ if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 ) { /* We matched a single character, the EOB, so * treat this as a final EOF. */ return EOB_ACT_END_OF_FILE; } else { /* We matched some text prior to the EOB, first * process it. */ return EOB_ACT_LAST_MATCH; } } /* Try to read more data. */ /* First move last chars to start of buffer. */ number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1; for ( i = 0; i < number_to_move; ++i ) *(dest++) = *(source++); if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING ) /* don't do the read, it's not guaranteed to return an EOF, * just force an EOF */ YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0; else { yy_size_t num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; while ( num_to_read <= 0 ) { /* Not enough room in the buffer - grow it. */ /* just a shorter name for the current buffer */ YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE; int yy_c_buf_p_offset = (int) ((yy_c_buf_p) - b->yy_ch_buf); if ( b->yy_is_our_buffer ) { yy_size_t new_size = b->yy_buf_size * 2; if ( new_size <= 0 ) b->yy_buf_size += b->yy_buf_size / 8; else b->yy_buf_size *= 2; b->yy_ch_buf = (char *) /* Include room in for 2 EOB chars. */ yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ); } else /* Can't grow it, we don't own it. */ b->yy_ch_buf = 0; if ( ! b->yy_ch_buf ) YY_FATAL_ERROR( "fatal error - scanner input buffer overflow" ); (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset]; num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; } if ( num_to_read > YY_READ_BUF_SIZE ) num_to_read = YY_READ_BUF_SIZE; /* Read in more data. */ YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), (yy_n_chars), num_to_read ); YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); } if ( (yy_n_chars) == 0 ) { if ( number_to_move == YY_MORE_ADJ ) { ret_val = EOB_ACT_END_OF_FILE; yyrestart(yyin ); } else { ret_val = EOB_ACT_LAST_MATCH; YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_EOF_PENDING; } } else ret_val = EOB_ACT_CONTINUE_SCAN; if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { /* Extend the array by 50%, plus the number we really need. */ yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ); if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); } (yy_n_chars) += number_to_move; YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR; YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR; (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0]; return ret_val; } /* yy_get_previous_state - get the state just before the EOB char was reached */ static yy_state_type yy_get_previous_state (void) { register yy_state_type yy_current_state; register char *yy_cp; yy_current_state = (yy_start); yy_current_state += YY_AT_BOL(); for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) { register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); if ( yy_accept[yy_current_state] ) { (yy_last_accepting_state) = yy_current_state; (yy_last_accepting_cpos) = yy_cp; } while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; if ( yy_current_state >= 327 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; } return yy_current_state; } /* yy_try_NUL_trans - try to make a transition on the NUL character * * synopsis * next_state = yy_try_NUL_trans( current_state ); */ static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state ) { register int yy_is_jam; register char *yy_cp = (yy_c_buf_p); register YY_CHAR yy_c = 1; if ( yy_accept[yy_current_state] ) { (yy_last_accepting_state) = yy_current_state; (yy_last_accepting_cpos) = yy_cp; } while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; if ( yy_current_state >= 327 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; yy_is_jam = (yy_current_state == 326); return yy_is_jam ? 0 : yy_current_state; } static void yyunput (int c, register char * yy_bp ) { register char *yy_cp; yy_cp = (yy_c_buf_p); /* undo effects of setting up yytext */ *yy_cp = (yy_hold_char); if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) { /* need to shift things up to make room */ /* +2 for EOB chars. */ register yy_size_t number_to_move = (yy_n_chars) + 2; register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2]; register char *source = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]; while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) *--dest = *--source; yy_cp += (int) (dest - source); yy_bp += (int) (dest - source); YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size; if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) YY_FATAL_ERROR( "flex scanner push-back overflow" ); } *--yy_cp = (char) c; (yytext_ptr) = yy_bp; (yy_hold_char) = *yy_cp; (yy_c_buf_p) = yy_cp; } #ifndef YY_NO_INPUT #ifdef __cplusplus static int yyinput (void) #else static int input (void) #endif { int c; *(yy_c_buf_p) = (yy_hold_char); if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR ) { /* yy_c_buf_p now points to the character we want to return. * If this occurs *before* the EOB characters, then it's a * valid NUL; if not, then we've hit the end of the buffer. */ if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) /* This was really a NUL. */ *(yy_c_buf_p) = '\0'; else { /* need more input */ yy_size_t offset = (yy_c_buf_p) - (yytext_ptr); ++(yy_c_buf_p); switch ( yy_get_next_buffer( ) ) { case EOB_ACT_LAST_MATCH: /* This happens because yy_g_n_b() * sees that we've accumulated a * token and flags that we need to * try matching the token before * proceeding. But for input(), * there's no matching to consider. * So convert the EOB_ACT_LAST_MATCH * to EOB_ACT_END_OF_FILE. */ /* Reset buffer status. */ yyrestart(yyin ); /*FALLTHROUGH*/ case EOB_ACT_END_OF_FILE: { if ( yywrap( ) ) return EOF; if ( ! (yy_did_buffer_switch_on_eof) ) YY_NEW_FILE; #ifdef __cplusplus return yyinput(); #else return input(); #endif } case EOB_ACT_CONTINUE_SCAN: (yy_c_buf_p) = (yytext_ptr) + offset; break; } } } c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */ *(yy_c_buf_p) = '\0'; /* preserve yytext */ (yy_hold_char) = *++(yy_c_buf_p); YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n'); return c; } #endif /* ifndef YY_NO_INPUT */ /** Immediately switch to a different input stream. * @param input_file A readable stream. * * @note This function does not reset the start condition to @c INITIAL . */ void yyrestart (FILE * input_file ) { if ( ! YY_CURRENT_BUFFER ){ yyensure_buffer_stack (); YY_CURRENT_BUFFER_LVALUE = yy_create_buffer(yyin,YY_BUF_SIZE ); } yy_init_buffer(YY_CURRENT_BUFFER,input_file ); yy_load_buffer_state( ); } /** Switch to a different input buffer. * @param new_buffer The new input buffer. * */ void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ) { /* TODO. We should be able to replace this entire function body * with * yypop_buffer_state(); * yypush_buffer_state(new_buffer); */ yyensure_buffer_stack (); if ( YY_CURRENT_BUFFER == new_buffer ) return; if ( YY_CURRENT_BUFFER ) { /* Flush out information for old buffer. */ *(yy_c_buf_p) = (yy_hold_char); YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); } YY_CURRENT_BUFFER_LVALUE = new_buffer; yy_load_buffer_state( ); /* We don't actually know whether we did this switch during * EOF (yywrap()) processing, but the only time this flag * is looked at is after yywrap() is called, so it's safe * to go ahead and always set it. */ (yy_did_buffer_switch_on_eof) = 1; } static void yy_load_buffer_state (void) { (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; (yy_hold_char) = *(yy_c_buf_p); } /** Allocate and initialize an input buffer state. * @param file A readable stream. * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE. * * @return the allocated buffer state. */ YY_BUFFER_STATE yy_create_buffer (FILE * file, int size ) { YY_BUFFER_STATE b; b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ); if ( ! b ) YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); b->yy_buf_size = size; /* yy_ch_buf has to be 2 characters longer than the size given because * we need to put in 2 end-of-buffer characters. */ b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 ); if ( ! b->yy_ch_buf ) YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); b->yy_is_our_buffer = 1; yy_init_buffer(b,file ); return b; } /** Destroy the buffer. * @param b a buffer created with yy_create_buffer() * */ void yy_delete_buffer (YY_BUFFER_STATE b ) { if ( ! b ) return; if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */ YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; if ( b->yy_is_our_buffer ) yyfree((void *) b->yy_ch_buf ); yyfree((void *) b ); } /* Initializes or reinitializes a buffer. * This function is sometimes called more than once on the same buffer, * such as during a yyrestart() or at EOF. */ static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file ) { int oerrno = errno; yy_flush_buffer(b ); b->yy_input_file = file; b->yy_fill_buffer = 1; /* If b is the current buffer, then yy_init_buffer was _probably_ * called from yyrestart() or through yy_get_next_buffer. * In that case, we don't want to reset the lineno or column. */ if (b != YY_CURRENT_BUFFER){ b->yy_bs_lineno = 1; b->yy_bs_column = 0; } b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; errno = oerrno; } /** Discard all buffered characters. On the next scan, YY_INPUT will be called. * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. * */ void yy_flush_buffer (YY_BUFFER_STATE b ) { if ( ! b ) return; b->yy_n_chars = 0; /* We always need two end-of-buffer characters. The first causes * a transition to the end-of-buffer state. The second causes * a jam in that state. */ b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; b->yy_buf_pos = &b->yy_ch_buf[0]; b->yy_at_bol = 1; b->yy_buffer_status = YY_BUFFER_NEW; if ( b == YY_CURRENT_BUFFER ) yy_load_buffer_state( ); } /** Pushes the new state onto the stack. The new state becomes * the current state. This function will allocate the stack * if necessary. * @param new_buffer The new state. * */ void yypush_buffer_state (YY_BUFFER_STATE new_buffer ) { if (new_buffer == NULL) return; yyensure_buffer_stack(); /* This block is copied from yy_switch_to_buffer. */ if ( YY_CURRENT_BUFFER ) { /* Flush out information for old buffer. */ *(yy_c_buf_p) = (yy_hold_char); YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); } /* Only push if top exists. Otherwise, replace top. */ if (YY_CURRENT_BUFFER) (yy_buffer_stack_top)++; YY_CURRENT_BUFFER_LVALUE = new_buffer; /* copied from yy_switch_to_buffer. */ yy_load_buffer_state( ); (yy_did_buffer_switch_on_eof) = 1; } /** Removes and deletes the top of the stack, if present. * The next element becomes the new top. * */ void yypop_buffer_state (void) { if (!YY_CURRENT_BUFFER) return; yy_delete_buffer(YY_CURRENT_BUFFER ); YY_CURRENT_BUFFER_LVALUE = NULL; if ((yy_buffer_stack_top) > 0) --(yy_buffer_stack_top); if (YY_CURRENT_BUFFER) { yy_load_buffer_state( ); (yy_did_buffer_switch_on_eof) = 1; } } /* Allocates the stack if it does not exist. * Guarantees space for at least one push. */ static void yyensure_buffer_stack (void) { yy_size_t num_to_alloc; if (!(yy_buffer_stack)) { /* First allocation is just for 2 elements, since we don't know if this * scanner will even need a stack. We use 2 instead of 1 to avoid an * immediate realloc on the next call. */ num_to_alloc = 1; (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc (num_to_alloc * sizeof(struct yy_buffer_state*) ); if ( ! (yy_buffer_stack) ) YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); (yy_buffer_stack_max) = num_to_alloc; (yy_buffer_stack_top) = 0; return; } if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){ /* Increase the buffer to prepare for a possible push. */ int grow_size = 8 /* arbitrary grow size */; num_to_alloc = (yy_buffer_stack_max) + grow_size; (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc ((yy_buffer_stack), num_to_alloc * sizeof(struct yy_buffer_state*) ); if ( ! (yy_buffer_stack) ) YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); /* zero only the new slots.*/ memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); (yy_buffer_stack_max) = num_to_alloc; } } /** Setup the input buffer state to scan directly from a user-specified character buffer. * @param base the character buffer * @param size the size in bytes of the character buffer * * @return the newly allocated buffer state object. */ YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size ) { YY_BUFFER_STATE b; if ( size < 2 || base[size-2] != YY_END_OF_BUFFER_CHAR || base[size-1] != YY_END_OF_BUFFER_CHAR ) /* They forgot to leave room for the EOB's. */ return 0; b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ); if ( ! b ) YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ b->yy_buf_pos = b->yy_ch_buf = base; b->yy_is_our_buffer = 0; b->yy_input_file = 0; b->yy_n_chars = b->yy_buf_size; b->yy_is_interactive = 0; b->yy_at_bol = 1; b->yy_fill_buffer = 0; b->yy_buffer_status = YY_BUFFER_NEW; yy_switch_to_buffer(b ); return b; } /** Setup the input buffer state to scan a string. The next call to yylex() will * scan from a @e copy of @a str. * @param yystr a NUL-terminated string to scan * * @return the newly allocated buffer state object. * @note If you want to scan bytes that may contain NUL values, then use * yy_scan_bytes() instead. */ YY_BUFFER_STATE yy_scan_string (yyconst char * yystr ) { return yy_scan_bytes(yystr,strlen(yystr) ); } /** Setup the input buffer state to scan the given bytes. The next call to yylex() will * scan from a @e copy of @a bytes. * @param yybytes the byte buffer to scan * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. * * @return the newly allocated buffer state object. */ YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len ) { YY_BUFFER_STATE b; char *buf; yy_size_t n; yy_size_t i; /* Get memory for full buffer, including space for trailing EOB's. */ n = _yybytes_len + 2; buf = (char *) yyalloc(n ); if ( ! buf ) YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); for ( i = 0; i < _yybytes_len; ++i ) buf[i] = yybytes[i]; buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR; b = yy_scan_buffer(buf,n ); if ( ! b ) YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); /* It's okay to grow etc. this buffer, and we should throw it * away when we're done. */ b->yy_is_our_buffer = 1; return b; } #ifndef YY_EXIT_FAILURE #define YY_EXIT_FAILURE 2 #endif static void yy_fatal_error (yyconst char* msg ) { (void) fprintf( stderr, "%s\n", msg ); exit( YY_EXIT_FAILURE ); } /* Redefine yyless() so it works in section 3 code. */ #undef yyless #define yyless(n) \ do \ { \ /* Undo effects of setting up yytext. */ \ int yyless_macro_arg = (n); \ YY_LESS_LINENO(yyless_macro_arg);\ yytext[yyleng] = (yy_hold_char); \ (yy_c_buf_p) = yytext + yyless_macro_arg; \ (yy_hold_char) = *(yy_c_buf_p); \ *(yy_c_buf_p) = '\0'; \ yyleng = yyless_macro_arg; \ } \ while ( 0 ) /* Accessor methods (get/set functions) to struct members. */ /** Get the current line number. * */ int yyget_lineno (void) { return yylineno; } /** Get the input stream. * */ FILE *yyget_in (void) { return yyin; } /** Get the output stream. * */ FILE *yyget_out (void) { return yyout; } /** Get the length of the current token. * */ yy_size_t yyget_leng (void) { return yyleng; } /** Get the current token. * */ char *yyget_text (void) { return yytext; } /** Set the current line number. * @param line_number * */ void yyset_lineno (int line_number ) { yylineno = line_number; } /** Set the input stream. This does not discard the current * input buffer. * @param in_str A readable stream. * * @see yy_switch_to_buffer */ void yyset_in (FILE * in_str ) { yyin = in_str ; } void yyset_out (FILE * out_str ) { yyout = out_str ; } int yyget_debug (void) { return yy_flex_debug; } void yyset_debug (int bdebug ) { yy_flex_debug = bdebug ; } static int yy_init_globals (void) { /* Initialization is the same as for the non-reentrant scanner. * This function is called from yylex_destroy(), so don't allocate here. */ (yy_buffer_stack) = 0; (yy_buffer_stack_top) = 0; (yy_buffer_stack_max) = 0; (yy_c_buf_p) = (char *) 0; (yy_init) = 0; (yy_start) = 0; /* Defined in main.c */ #ifdef YY_STDINIT yyin = stdin; yyout = stdout; #else yyin = (FILE *) 0; yyout = (FILE *) 0; #endif /* For future reference: Set errno on error, since we are called by * yylex_init() */ return 0; } /* yylex_destroy is for both reentrant and non-reentrant scanners. */ int yylex_destroy (void) { /* Pop the buffer stack, destroying each element. */ while(YY_CURRENT_BUFFER){ yy_delete_buffer(YY_CURRENT_BUFFER ); YY_CURRENT_BUFFER_LVALUE = NULL; yypop_buffer_state(); } /* Destroy the stack itself. */ yyfree((yy_buffer_stack) ); (yy_buffer_stack) = NULL; /* Reset the globals. This is important in a non-reentrant scanner so the next time * yylex() is called, initialization will occur. */ yy_init_globals( ); return 0; } /* * Internal utility routines. */ #ifndef yytext_ptr static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) { register int i; for ( i = 0; i < n; ++i ) s1[i] = s2[i]; } #endif #ifdef YY_NEED_STRLEN static int yy_flex_strlen (yyconst char * s ) { register int n; for ( n = 0; s[n]; ++n ) ; return n; } #endif void *yyalloc (yy_size_t size ) { return (void *) malloc( size ); } void *yyrealloc (void * ptr, yy_size_t size ) { /* The cast to (char *) in the following accommodates both * implementations that use char* generic pointers, and those * that use void* generic pointers. It works with the latter * because both ANSI C and C++ allow castless assignment from * any pointer type to void*, and deal with argument conversions * as though doing an assignment. */ return (void *) realloc( (char *) ptr, size ); } void yyfree (void * ptr ) { free( (char *) ptr ); /* see yyrealloc() for (char *) cast */ } #define YYTABLES_NAME "yytables" #line 802 "olib.l" void usage(void) { fprintf(stderr,"Usage:\n"); fprintf(stderr,"\tolib [options] libname prefix\n"); fprintf(stderr,"\nWhere:\n\tlibname is the path to OrCAD(TM) library to convert\n"); fprintf(stderr,"\tprefix is the prefix for the .sym files extracted\n"); fprintf(stderr,"Options are:\n\t-h\tprint this help and exit\n"); fprintf(stderr,"\t-o\tuse old format (v 20020209) for .sym file\n"); fprintf(stderr,"\t\telse use 'v 20020825' as version string in .sym file\n"); fprintf(stderr,"\t-n\thides pin name if symbol is VECTOR drawed\n"); } int yywrap() { /* found a part name after pinlist, this mean that part definition ends, and starts a new part definition */ fprintf(stderr,"Writing down new symbol: %s pin: %d vectors: %d\n",part_aliases[0],pincount,vector_count); write_sym(); /* write the .sym gEDA symbol definition */ /* restore initial condition */ fprintf(stderr,"End of lib file\n"); return 1; } int main (int argc, char *argv[]) { FILE *flib; char fnlib[PATH_MAX]; int i; strcpy(sym_version,EDA_VERSION_NEW); /* handle new gEDA version by default */ use_old_version = 0; /* old version flag */ pin_name_hidden = 0; /* hides pin name on VECTOR drawed symbols */ opterr = 0; /* do NOT print default error message for getopt */ do { i = getopt(argc,argv,"hon"); switch (i) { case 'h': usage(); exit(0); case 'o': strcpy(sym_version,EDA_VERSION_OLD); fprintf(stderr,"Use old (%s) format.\n",sym_version); use_old_version = -1; break; case 'n': pin_name_hidden = -1; break; case '?': fprintf(stderr,"Unknown or illegal option :%c\n",(char)optopt); usage(); exit(1); case ':': fprintf(stderr,"Parameter wrong for option: %c\n",(char)optopt); usage(); exit(1); } } while (i != -1); if ((argc - optind) != 2) { fprintf(stderr,"Library name and prefix are mandatory.\n"); usage(); return 1; } strcpy(fnlib,argv[optind]); if (!(flib = fopen(fnlib,"r"))) { perror("lib file"); return 1; } strcpy(sym_prefix,argv[optind+1]); yyin = flib; yylex(); fclose(flib); return 0; } geda-gaf-1.8.2/utils/src/geda_sym_format.h0000664000175000017500000003034412050461155015343 00000000000000 /* geda_sym_format.h - gEDA symbol write function Copyright (C) 2002-2010 Mario Pascucci This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or visit the URL http://www.fsf.org/ */ /* general sizes */ #define SCALE 100 #define PIN_SPACE 3*SCALE #define PIN_LEN 3*SCALE #define LABEL_SPACE 2*SCALE #define DOT_SIZE SCALE #define CLK_SIZE SCALE /* text alignment */ #define EDATEXT_LB 0 #define EDATEXT_LC 1 #define EDATEXT_LT 2 #define EDATEXT_CB 3 #define EDATEXT_CC 4 #define EDATEXT_CT 5 #define EDATEXT_RB 6 #define EDATEXT_RC 7 #define EDATEXT_RT 8 /* color macros */ #define EDACOLOR_REF 8 /* detached attrib = RED */ #define EDACOLOR_LABEL 9 /* text and label = GREEN */ #define EDACOLOR_ATTRIB 5 /* attached attribute = YELLOW */ #define EDACOLOR_PIN 1 /* pin = WHITE */ #define EDACOLOR_DOT 6 /* logic bubble = CYAN */ #define EDACOLOR_BODY 3 /* body part = GREEN */ /* text size macros */ #define EDASIZE_LABEL 10 /* label size */ #define EDASIZE_ATTRIB 10 /* attribute */ #define EDASIZE_PIN 8 /* pin number size */ #define EDASIZE_TYPE 8 /* type of pin */ /* scale for text */ static int text_scale[] = { 0, 8, 10 }; /* * Format of gEDA .sym files * * text * T x y color size visibility show_name_value angle alignment * * pin * P x1 y1 x2 y2 color * * line * L x1 y1 x2 y2 color width end type length space * * box * type x y width height color width end type length space filling fillwidth angle1 pitch1 angle2 pitch2 * Example: * B 33000 67300 2000 2000 3 60 0 2 75 50 0 -1 -1 -1 -1 -1 * * circle * V 38000 67000 900 3 0 0 2 75 50 0 -1 -1 -1 -1 -1 * type x y radius color width end type length space filling fillwidth angle1 pitch1 angle2 pitch2 * * arc * type x y radius start_angle sweep_angle color width end type length space * Example: * A 30600 75000 2000 0 45 3 0 0 3 75 50 * */ #define PI 3.141592653588 int initangle(float dx, float dy) { float a,b; if (dx == 0.0) { if (dy >= 0.0) return 90; else return 270; } if (dy == 0.0) { if (dx >= 0.0) return 0; else return 180; } a = atan2(dy,dx); b = 180.0/PI * a; return (int) b; } /* write down the gEDA symbol file most of the work must be done for correct symbol rendering */ int write_sym(void) { int i,xs,ys,xe,ye; int xt,yt,xb,yb; int labely; int txtangle; int pinx,piny,pinalign; /* pin number */ int npinx,npiny,npinalign; /* pin name */ int tpinx,tpiny,tpinalign; /* pin type */ xe = ye = xs = ys = txtangle = pinx = piny = pinalign = npinx = npiny = npinalign = tpinx = tpiny = tpinalign = 0; if (pincount == 0) { fprintf(stderr,"Unable to write down sym file, no pin definition available\n"); return -1; } /* if 'VECTOR' keyword was found, but no draw instruction * makes file .sym.part that stands for "partial" symbol */ if (vector_found && vector_count == 0) strcat(fnsym,".part"); if (!(fsym = fopen(fnsym,"wb"))) { perror("Opening sym output file"); return -1; } xt = sizex + PIN_LEN; xb = PIN_LEN; yt = sizey + PIN_LEN; yb = PIN_LEN; /* gEDA file version */ fprintf(fsym,"v %s\n",sym_version); /* reference: U? */ fprintf(fsym,"T %d %d %d %d 1 1 0 %d\n",xt,yt+SCALE,EDACOLOR_REF,EDASIZE_ATTRIB,EDATEXT_RB); if (use_old_version) fprintf(fsym,"uref=%s?\n",ref_str); else fprintf(fsym,"refdes=%s?\n",ref_str); /* part name */ fprintf(fsym,"T %d %d %d %d 1 0 0 %d\n",xb,yt+SCALE,EDACOLOR_LABEL,EDASIZE_LABEL,EDATEXT_LB); fprintf(fsym,"%s\n",part_aliases[0]); /* device name */ fprintf(fsym,"T %d %d %d %d 0 0 0 %d\n",xb,yt+3*SCALE,EDACOLOR_ATTRIB,EDASIZE_ATTRIB,EDATEXT_LB); fprintf(fsym,"device=%s\n",part_aliases[0]); if (vector_count == 0) { /* main box */ fprintf(fsym,"B %d %d %d %d %d 0 0 0 -1 -1 0 -1 -1 -1 -1 -1\n",xb,yb,sizex,sizey,EDACOLOR_BODY); } else { /* drawing vectors */ for (i = 0; i< vector_count; i++) { switch (part_vectors[i].type) { case 'T': /* text */ xs = (int) (part_vectors[i].p[0] * PIN_SPACE + 0.5) + PIN_LEN; ys = (int) yt - (part_vectors[i].p[1] * PIN_SPACE + 0.5); fprintf(fsym,"T %d %d %d %d 1 0 0 %d\n",xs,ys,EDACOLOR_BODY, text_scale[(int)part_vectors[i].p[2]],EDATEXT_LB); fprintf(fsym,"%s\n",part_vectors[i].str); free(part_vectors[i].str); break; case 'L': /* line */ xs = (int) (part_vectors[i].p[0] * PIN_SPACE + 0.5) + PIN_LEN; ys = (int) yt - (part_vectors[i].p[1] * PIN_SPACE + 0.5); xe = (int) (part_vectors[i].p[2] * PIN_SPACE + 0.5) + PIN_LEN; ye = (int) yt - (part_vectors[i].p[3] * PIN_SPACE + 0.5); fprintf(fsym,"L %d %d %d %d %d 0 0 0 -1 -1\n",xs,ys,xe,ye, EDACOLOR_BODY); break; case 'V': /* circle */ xs = (int) (part_vectors[i].p[0] * PIN_SPACE + PIN_LEN + 0.5); ys = (int) yt - (part_vectors[i].p[1] * PIN_SPACE + 0.5); xe = (int) (part_vectors[i].p[2] * PIN_SPACE + 0.5); /* radius */ fprintf(fsym,"V %d %d %d %d 0 0 0 -1 -1 0 -1 -1 -1 -1 -1\n",xs,ys,xe, EDACOLOR_BODY); break; case 'A': /* arc */ xs = (int) (part_vectors[i].p[0] * PIN_SPACE + PIN_LEN + 0.5); ys = (int) yt - (part_vectors[i].p[1] * PIN_SPACE + 0.5); xe = initangle(part_vectors[i].p[2],-part_vectors[i].p[3]); /* init angle */ ye = initangle(part_vectors[i].p[4],-part_vectors[i].p[5]); /* end angle */ if (xe < 0) xe += 360; if (ye < 0) ye += 360; ye -= xe; if (abs(ye) > 90) { if (ye > 0) ye -= 360; else ye += 360; } pinx = (int) (part_vectors[i].p[6] * PIN_SPACE + 0.5); /* radius */ fprintf(fsym,"A %d %d %d %d %d %d 0 0 0 -1 -1\n",xs,ys,pinx,xe,ye, EDACOLOR_BODY); break; } } } /* pin definiton and drawing */ labely = 5 * SCALE; for (i=0; i

    directory for symbols (from sarlacc_sym)" "\n -h help" "\n -s scale %%, default is %d" "\n -v version" "\n\n", argv[0],DEFAULT_SCALE); exit(1); break; } } if( optind+1 != argc ) { goto usage; } /* BAD update to latest file format.. */ fprintf(stdout,"v %s\n",GEDAVERSION); fd1 = open(argv[optind],O_RDONLY); if( fd1 < 0 ) { fprintf(stderr,"\nCould not open input file: %s\n",argv[optind]); exit(1); } fd2 = open(argv[optind],O_RDONLY); if( fd2 < 0 ) { fprintf(stderr,"\n Could not open input file part deux\n"); exit(-1); } parse_header(fd1,fd2); while(parse_block(fd1,fd2)); fprintf(stderr,"\n Normal End\n"); return(0); } geda-gaf-1.8.2/utils/include/0000775000175000017500000000000012220655761012751 500000000000000geda-gaf-1.8.2/utils/include/i_vars.h0000664000175000017500000000155012050461155014317 00000000000000/* gEDA - GPL Electronic Design Automation * utils - gEDA Utilities * Copyright (C) 1998-2010 Ales Hvezda * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ extern int default_force_boundingbox; geda-gaf-1.8.2/utils/include/Makefile.am0000664000175000017500000000043512050461155014720 00000000000000## Process this file with automake to produce Makefile.in noinst_HEADERS = \ globals.h i_vars.h papersizes.h prototype.h MOSTLYCLEANFILES = *.log core FILE *~ CLEANFILES = *.log core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in geda-gaf-1.8.2/utils/include/papersizes.h0000664000175000017500000000217612050461155015226 00000000000000/* gEDA - GPL Electronic Design Automation * utils - gEDA Utilities * Copyright (C) 1998-2010 Ales Hvezda * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the * Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /* this file is no longer used */ #define MILS_PER 1000 #define BORDER 1000 /* if you change this one you must recalc correction factors */ /* perhaps we will do this in the code ! */ /* To calculate the correction factor for each: */ /* if calcaspect < required_aspect : */ /* Width_correction = (width+border) - (height+border)*1.3333 */ /* else */ /* Height_correction = ((width+border)/1.3333) - (height+border) */ #define WIDTH_A 11*MILS_PER+BORDER+667 #define HEIGHT_A 8.5*MILS_PER+BORDER #define WIDTH_B 17*MILS_PER+BORDER #define HEIGHT_B 11*MILS_PER+BORDER+1500 #define WIDTH_C 22*MILS_PER+BORDER+1000 #define HEIGHT_C 17*MILS_PER+BORDER #define WIDTH_D 34*MILS_PER+BORDER #define HEIGHT_D 22*MILS_PER+BORDER+3250 #define WIDTH_E 44*MILS_PER+BORDER+1667 #define HEIGHT_E 34*MILS_PER+BORDER geda-gaf-1.8.2/utils/include/globals.h0000664000175000017500000000225512050461155014462 00000000000000/* gEDA - GPL Electronic Design Automation * utils - gEDA Utilities * Copyright (C) 1998-2010 Ales Hvezda * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ extern char *rc_filename; extern int logfile_fd; extern int do_logging; extern int logging_dest; /* gnetlist specific stuff */ extern NETLIST *netlist_head; extern char *guile_proc; extern int verbose_mode; extern int interactive_mode; extern int quiet_mode; extern int netlist_mode; extern int embed_mode; extern int unembed_mode; extern char *output_filename; geda-gaf-1.8.2/utils/include/Makefile.in0000664000175000017500000004415612220655726014751 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = utils/include DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(noinst_HEADERS) ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac HEADERS = $(noinst_HEADERS) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ noinst_HEADERS = \ globals.h i_vars.h papersizes.h prototype.h MOSTLYCLEANFILES = *.log core FILE *~ CLEANFILES = *.log core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu utils/include/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu utils/include/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(HEADERS) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ clean-libtool cscopelist-am ctags ctags-am distclean \ distclean-generic distclean-libtool distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/utils/include/prototype.h0000664000175000017500000000100312063576065015105 00000000000000/* g_rc.c */ SCM g_rc_gschlas_version(SCM version); SCM g_rc_force_boundingbox(SCM mode); /* g_register.c */ void g_register_funcs(void); SCM g_quit(void); /* globals.c */ /* gschlas.c */ void gschlas_quit(void); void main_prog(void *closure, int argc, char *argv[]); int main(int argc, char *argv[]); /* i_vars.c */ void i_vars_set(TOPLEVEL *pr_current); /* parsecmd.c */ void usage(char *cmd); int parse_commandline(int argc, char *argv[]); /* s_util.c */ void s_util_embed(TOPLEVEL *pr_current, int embed_mode); geda-gaf-1.8.2/utils/lib/0000775000175000017500000000000012220655760012073 500000000000000geda-gaf-1.8.2/utils/lib/system-gschlasrc.in0000664000175000017500000000274012220647257015643 00000000000000 ; ; Init file for gschlas ; ; ;'s are comments ; keywords are case sensitive (guile feature) ; mode strings are case sensitive ; colors are not case sensitive ; ; gschlas-version string ; ; Specifies the version of this file. This number is used to make sure ; that the rc file is compatible with the version of gschem that is ; being run. The end user should *not* change this value. ; (gschlas-version "@DATE_VERSION@") ; Setup data path variables. ; ; Contains all paths needed for gsymcheck (define gedadata (getenv "GEDADATA")) (define gedadatarc (getenv "GEDADATARC")) ; force-boundingbox string ; ; Controls if the entire bounding box of a symbol is used when figuring out ; whichend of the pin is considered the active port. Enable this when ; gschlas is guessing incorrectly. ; (force-boundingbox "disabled") ;(force-boundingbox "enabled") ; ; End of mode related keywords ; ; ; Start of path related keywords ; ; ; End of path related keywords ; ; world-size width height border ; ; Specifies the size of the world and a border ; Be sure all inputs are reals (floats/doubles) and don't try to reverse ; the values: to get a portrait mode. Code to support that needs to be added ; The code that implements this automatically transforms the dimensions into ; the proper aspect ratio. All units are in inches. ; This is not the paper size. That is specified elsewhere. End users should ; not change this at all ; (world-size 120.0 90.0 1.0) ;(world-size 60.0 45.0 1.0) geda-gaf-1.8.2/utils/lib/Makefile.am0000664000175000017500000000036012204177071014042 00000000000000 rcdatadir = @GEDARCDIR@ rcdata_DATA = system-gschlasrc EXTRA_DIST = system-gschlasrc.in MOSTLYCLEANFILES = *.log *~ CLEANFILES = *.log *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = system-gschlasrc *.log *~ Makefile.in geda-gaf-1.8.2/utils/lib/Makefile.in0000664000175000017500000004462512220655726014075 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = utils/lib DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(srcdir)/system-gschlasrc.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = system-gschlasrc CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(rcdatadir)" DATA = $(rcdata_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ rcdatadir = @GEDARCDIR@ rcdata_DATA = system-gschlasrc EXTRA_DIST = system-gschlasrc.in MOSTLYCLEANFILES = *.log *~ CLEANFILES = *.log *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = system-gschlasrc *.log *~ Makefile.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu utils/lib/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu utils/lib/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): system-gschlasrc: $(top_builddir)/config.status $(srcdir)/system-gschlasrc.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-rcdataDATA: $(rcdata_DATA) @$(NORMAL_INSTALL) @list='$(rcdata_DATA)'; test -n "$(rcdatadir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(rcdatadir)'"; \ $(MKDIR_P) "$(DESTDIR)$(rcdatadir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(rcdatadir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(rcdatadir)" || exit $$?; \ done uninstall-rcdataDATA: @$(NORMAL_UNINSTALL) @list='$(rcdata_DATA)'; test -n "$(rcdatadir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(rcdatadir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(rcdatadir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-rcdataDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-rcdataDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-rcdataDATA install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags-am uninstall uninstall-am uninstall-rcdataDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/utils/Makefile.am0000664000175000017500000000074612204177071013304 00000000000000 SUBDIRS = src gschlas scripts gxyrs lib include examples docs tests EXTRA_DIST = ChangeLog ChangeLog.tragesym-1.0 ChangeLog.gsch2pcb-1.0 \ ChangeLog-1.0 AUTHORS if HAVE_GIT_REPO ChangeLog: $(top_builddir)/stamp-git (cd $(srcdir) && $(GIT) log --pretty=medium $(CHANGELOG_BASE).. -- .) > $@ endif HAVE_GIT_REPO MOSTLYCLEANFILES = *.log core FILE *~ CLEANFILES = *.log core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in ChangeLog geda-gaf-1.8.2/utils/examples/0000775000175000017500000000000012220655761013144 500000000000000geda-gaf-1.8.2/utils/examples/Makefile.am0000664000175000017500000000042112204177071015110 00000000000000## Process this file with automake to produce Makefile.in SUBDIRS = gmk_sym tragesym gsch2pcb MOSTLYCLEANFILES = *.log *.ps core FILE *~ CLEANFILES = *.log *.ps core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log *.ps core FILE *~ Makefile.in geda-gaf-1.8.2/utils/examples/tragesym/0000775000175000017500000000000012220655761014777 500000000000000geda-gaf-1.8.2/utils/examples/tragesym/4099.src0000664000175000017500000000215312204177071016031 00000000000000# tragesym 4099.src: test with a real symbol # this is a source file for tragesym # please take a look at the docs and the template.src file for more informations [options] wordswap=yes rotate_labels=no sort_labels=no generate_pinseq=yes sym_width=1400 pinwidthvertical=400 pinwidthhorizontal=400 [geda_attr] version=20060113 1 name=4099 device=4099 refdes=U? footprint=DIP16 description=unknown function documentation=http://url_to_the_datasheet.com author=Werner Hoch dist-license=GPL use-license=public domain numslots=0 #slot=1 #slotdef=1: #slotdef=2: #slotdef=3: #slotdef=4: #comment= #comment= #comment= [pins] #----------------------------------------------------- #pinnr seq type style posit. net label #----------------------------------------------------- 5 in line l A0 6 in line l A1 7 in line l A2 spacer l 3 in line l D spacer l 2 in line l Clear spacer l spacer l 4 in dot l \_E\_ 8 pwr none VSS 9 out line r Q0 10 out line r Q1 11 out line r Q2 12 out line r Q3 13 out line r Q4 14 out line r Q5 15 out line r Q6 1 out line r Q7 16 pwr none VDD geda-gaf-1.8.2/utils/examples/tragesym/AT90S8535_TQFP.src0000664000175000017500000000343112204177071017403 00000000000000# tragesym AT90S8535_TQFP.src: test with real symbols # this is a source file for tragesym # please take a look at the docs and the template.src file for more informations [options] wordswap=yes rotate_labels=no sort_labels=yes generate_pinseq=yes sym_width=2600 pinwidthvertical=400 pinwidthhorizontal=500 [geda_attr] version=20060113 1 name=AT90S8535 device=AT90S8535_TQFP refdes=U? footprint=TQFP44 description=8-bit RISC micro controller (Atmel) documentation=http://url_to_the_datasheet.com/datasheet.pdf author=Werner Hoch numslots=0 #slot=1 #slotdef=1: #slotdef=2: #slotdef=3: #slotdef=4: #comment= #comment= #comment= [pins] #----------------------------------------------------- #pinnr seq type style posit. net label #----------------------------------------------------- 1 io line l PB5 (MOSI) 2 io line l PB6 (MISO) 3 io line l PB7 (SCK) 4 in dot b \_Reset\_ 5 pwr none Vcc 6 pwr none GND 7 out line b XTAL2 8 in line b XTAL1 9 io line l PD0 (RXD) 10 io line l PD1 (TXD) 11 io line l PD2 (INT0) 12 io line l PD3 (INT1) 13 io line l PD4 (OC1B) 14 io line l PD5 (OC1A) 15 io line l PD6 (ICP) 16 io line l PD7 (OC2) 17 pwr none Vcc 18 pwr none GND 19 io line r PC0 20 io line r PC1 21 io line r PC2 22 io line r PC3 23 io line r PC4 24 io line r PC5 25 io line r PC6 (TOSC1) 26 io line r PC7 (TOSC2) 27 pwr none AVcc 28 pwr none AGND 29 in line b AREF 30 io line r PA7 (ADC7) 31 io line r PA6 (ADC6) 32 io line r PA5 (ADC5) 33 io line r PA4 (ADC4) 34 io line r PA3 (ADC3) 35 io line r PA2 (ADC2) 36 io line r PA1 (ADC1) 37 io line r PA0 (ADC0) 38 pwr none Vcc 39 pwr none GND 40 io line l PB0 (T0) 41 io line l PB1 (T1) 42 io line l PB2 (AIN0) 43 io line l PB3 (AIN1) 44 io line l PB4 (\_SS\_) geda-gaf-1.8.2/utils/examples/tragesym/Makefile.am0000664000175000017500000000053612204177071016752 00000000000000## Process this file with automake to produce Makefile.in EXTRA_DIST = 4099.src AT90S8535_TQFP.src alltest template.src template.ods \ test1.src test2.src test3.src MOSTLYCLEANFILES = *.log *.ps core FILE *~ CLEANFILES = *.log *.ps core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log *.ps core FILE *~ Makefile.in geda-gaf-1.8.2/utils/examples/tragesym/test3.src0000664000175000017500000000254112204177071016467 00000000000000# tragesym test3: # this is a source file for tragesym # please take a look at the docs and the template.src file for more informations [options] wordswap=yes rotate_labels=yes sort_labels=yes generate_pinseq=yes sym_width=2200 pinwidthvertical=400 pinwidthhorizontal=400 [geda_attr] version=20060113 1 name=TEST3 device=devTEST3 refdes=U? footprint=DIP25 description=test negation lines and escaping sequences documentation=http://url_to_the_datasheet.com/datasheet.pdf author=Werner Hoch numslots=0 #slot=1 #slotdef=1: #slotdef=2: #slotdef=3: #slotdef=4: #comment= #comment= #comment= [pins] #----------------------------------------------------- #pinnr seq type style posit. net label #----------------------------------------------------- 1 io line l hello 2 out clk l \_neg\_ 3 out dot l \_n\_0\_n\_ 4 pwr none GND 5 io line r \_ABC\_ (DEF) 6 out clk r xx\_XX\_xx 7 out dot r \_Reset\_ 8 pwr none AGND 9 io line b _\_ups\__ 10 out clk b wer 11 out dot b ner 12 pwr none AVcc 13 io line t \_([])\_ 14 out clk t ABC (\_DEF\_) 15 out dot t twelf 16 pwr none Vcc 17 in dotclk l first 18 in dotclk r n\_exe\_n 19 in dotclk t this 20 in dotclk b other 21 in dot b \_Reset\_ 22 out line t PD1 (\_SS\_) 23 io clk r PD2 (\_xxx\_hello\_sss\_) 24 io dot r PD3 (x_no_over) 25 io clk r PD4 (\\\_strange\\\_) geda-gaf-1.8.2/utils/examples/tragesym/template.src0000664000175000017500000000350612204177071017242 00000000000000# This is the template file for creating symbols with tragesym # every line starting with '#' is a comment line. [options] # wordswap swaps labels if the pin is on the right side an looks like this: # "PB1 (CLK)". That's useful for micro controller port labels # rotate_labels rotates the pintext of top and bottom pins # this is useful for large symbols like FPGAs with more than 100 pins # sort_labels will sort the pins by it's labels # useful for address ports, busses, ... wordswap=yes rotate_labels=no sort_labels=yes generate_pinseq=yes sym_width=1400 pinwidthvertical=400 pinwidthhorizontal=400 [geda_attr] # name will be printed in the top of the symbol # name is only some graphical text, not an attribute # version specifies a gschem version. # if you have a device with slots, you'll have to use slot= and slotdef= # use comment= if there are special information you want to add version=20060113 1 name= device= refdes=U? footprint= description= documentation= author= dist-license= use-license= numslots=0 #slot=1 #slotdef=1: #slotdef=2: #slotdef=3: #slotdef=4: #comment= #comment= #comment= [pins] # tabseparated list of pin descriptions # ---------------------------------------- # pinnr is the physical number of the pin # seq is the pinseq= attribute, leave it blank if it doesn't matter # type can be (in, out, io, oc, oe, pas, tp, tri, clk, pwr) # style can be (line,dot,clk,dotclk,spacer,none). none if only want to add a net # posit. can be (l,r,t,b) or empty for nets. # net specifies the name of the net. Vcc or GND for example. # label represents the pinlabel. # negation lines can be added with "\_" example: \_enable\_ # if you want to write a "\" use "\\" as escape sequence #----------------------------------------------------- #pinnr seq type style posit. net label #----------------------------------------------------- geda-gaf-1.8.2/utils/examples/tragesym/Makefile.in0000664000175000017500000004021312220655726016765 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = utils/examples/tragesym DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = 4099.src AT90S8535_TQFP.src alltest template.src template.ods \ test1.src test2.src test3.src MOSTLYCLEANFILES = *.log *.ps core FILE *~ CLEANFILES = *.log *.ps core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log *.ps core FILE *~ Makefile.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu utils/examples/tragesym/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu utils/examples/tragesym/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags-am uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/utils/examples/tragesym/test1.src0000664000175000017500000000267212204177071016472 00000000000000# tragesym test1: # this is a source file for tragesym # please take a look at the docs and the template.src file for more informations [options] wordswap=yes rotate_labels=no sort_labels=yes generate_pinseq=no sym_width=2600 pinwidthvertical=400 pinwidthhorizontal=600 [geda_attr] version=20060113 1 name=TEST1 device=devTEST1 refdes=U? footprint=SO20 description=pin sorting test, pin sequence test documentation=http://url_to_the_datasheet.com/datasheet.pdf author=Werner Hoch numslots=4 use-license dist-license= special-attribute=unknown slot=1 slotdef=1:1,2,3 slotdef=2:4,5,6 slotdef=3:7,8,9 slotdef=4:10,11,12 comment=bla comment=blub comment=blablub [pins] #----------------------------------------------------- #pinnr seq type style posit. net label #----------------------------------------------------- 1 21 i line l hello 2 20 o clk l \_neg\_ 3 19 out dot l \_n\_0\_n\_ 4 pwr none GND 5 18 IO line l \_ABC\_ (DEF) 6 17 out clk l xx\_XX\_xx 7 16 out dot l \_Reset\_ 8 pwr none AGND 9 15 I/O line l A12a100xx 10 14 out clk l A12a100 11 13 out dot l ner 12 pwr none AVcc 13 12 i/o line l A1 14 11 out clk l A12 15 10 out dot l A2 16 pwr none Vcc 17 9 in dotclk l first 18 8 in dotclk r n\_exe\_n 19 7 in dotclk t this 20 6 in dotclk b other 21 5 in dot b \_Reset\_ 22 4 out line t PD1 (\_SS\_) 23 3 pas clk r PD2 (\_xxx\_hello\_sss\_) 24 2 p dot r PD3 (x_no_over) 25 1 io clk r PD4 (\\\_strange\\\_) geda-gaf-1.8.2/utils/examples/tragesym/alltest0000775000175000017500000000063412204177071016313 00000000000000#!/bin/sh # run tragesym over all test and example files echo testing 4099.src ../../scripts/tragesym 4099.src 4099.sym echo testing test1.src ../../scripts/tragesym test1.src test1.sym echo testing test2.src ../../scripts/tragesym test2.src test2.sym echo testing test3.src ../../scripts/tragesym test3.src test3.sym echo testing AT90S8535_TQFP.src ../../scripts/tragesym AT90S8535_TQFP.src AT90S8535_TQFP.sym geda-gaf-1.8.2/utils/examples/tragesym/template.ods0000664000175000017500000005721012204177071017241 00000000000000PKV37l9..mimetypeapplication/vnd.oasis.opendocument.spreadsheetPKV37Configurations2/statusbar/PKV37'Configurations2/accelerator/current.xmlPKPKV37Configurations2/floater/PKV37Configurations2/popupmenu/PKV37Configurations2/progressbar/PKV37Configurations2/menubar/PKV37Configurations2/toolbar/PKV37Configurations2/images/Bitmaps/PKV37 content.xml]m6~p,ok~hhZp9,hy+ I7CJ]{Xx/D59$CoқqDT\$Vk"l/e?ވ0>bhO5V&qBc%EqYzlʲ!J/ɍp9fjbHKK6ԁQ@-'E*B)|K'\t.br_]]uMJa%f22ReTw ٘iZU?-dPMf[l4mo; ; ic;8쾇Hu[qղPv*_r5t9b*&Ԩ;F]$+\3Y4W1@ a3]5|BH0蕰 vf,kai&mÎ^FRy#u6U0ߑI'I$--yP?dl@L-~4Y,m-;*9Z}YqVԛIL-R(3/+#DԨ$ӰJI9P,~JL sL>l~oTUaf0eq*RT3EB1JFo)N bEhrGިF:t4۠388D7 7)[AHY+sgsz ߯p'RcyZfw`Ez]7NG=!5}}1Lz)10!"URpFt熎 ^,)>Tպf=TC#{Y( aF:lEdQTĤTd|٪.F|ɂ ogRdIM"_SY)p.prC+YE#U@m:4oF ζic13x d.(vشNx@{!+zTD!_#drtg ,xoH+Pp@EI 5A]|j'eƪbx0}(8~m!5xI]wo_m&]g '@{=M]M.Iwn@1rJF5gL_kuwngHP\!Z%CJJk2ƚ˸R(LydFK/` GT$4K+hb65FKC oPgsQY%zʄoP)[Af۪4ʘ)C'Hax#~E>ι"_ϡ8@orhR@3/Q" D7 M7ҩORMμz{Dw4_ vDF"!nA`uY7A;ϙ?>w_;:Pm$E`6fbKAp)E pC%IE˱nРMޅ7U#3p V"5#Thp11Hѹw]3)_]XH4m``zzQa2À(2]W5g,NB@2Сd)qT*QQbZ%7]rJd=L΅D;.O˯~Vm}zC5_9 ]2bNp䎫®e*7~) $ *v 2RZ"F+`đS79s>7$?*e>t<Cq{𸠉Fh8:u!45z~HY8f렬*<0vp`7 %j# Ƶu!KdSpTa4s!Yl&č. ݒQ+E (69Js7+4Pn7}:M5Wwt5F:^]#GQt;Tsp;ܧrZR뇟 i`U?)$SޯbP7T9f9<0s0>*<Ӎ,:ؘ|a 4A%F /¼+qAT| >$K80욀[(: y5@V+;Պƪi*:MVܩUT2PZ]zUQ&znGf>s@7/}n+tCk9+!M!&M!fM!M!M!&6w k:x.*7ԧ/0[.0;^(ld[h h_չzdYݯPҨS|dt|ו/"о۵V<_C~?PK _PKV37 styles.xmlYێ6}WZ HʒYk4 $;MQ2JHʗ>{UIQ,˫$mf]gfg3#`ޖIyY{Abrnp?}ve 6#1` jKc{‚Vi]yyKU jΣIh;ENPED/1b8/9 pqlu^SBze+q5*P2Idrcs]ׂ!;߃Dr*._t0v:*+0:{ek/x3nlhO3gANJ"(QCR{P)Gu02|$TT8ͺm|J2T: GӘLTPڵSi`QGUH\j3`WAJBlGi]||2Q)1 ץpWT6T!qzDk;BqN/+nAC(Q=6Ħ/bhFׯk ZT$TAbcV1pT=)rrmS@Jd0c.sue&I=lLI qP9sⰝIV㉒8Kqìse|28ȯο=QTE&=ՋUxXx0Beb8.˲^[oBr:ӼPNeJLa$g4hJT+>hR5-DVکSx:gI;Vp_п'0q!&/ k09Tig,}b/G+ ã]*ehI.uRW?/!diurûAtfk;SU̐~+ASc"PcH6pceCN⥫A4{4)Ȭ##/_]sKOԎR8 s}> o5OיּH',ƅgw/Pj?\H|y~#Q!'LJUݟhj6 $[8Eӽ 2g'7̪-7Xpr{{{.6+ՉNB50ϺPEIӶ[;s[Rqqѳg]u|>CST.>?gdЉuPZ oQ<Ax13Ұ[|z9_ϥOߗ)/JXtvʽm$ PKNeAnPKV37meta.xmlA0ګc 4,`TVjzXؑmBC|o`LtUF׈nRFH3ޡ]eɁ Ç=6GcѪ`53"r݇ał-?ce%o_`nk(rPjʰPKHĦPKV37Thumbnails/thumbnail.pngmeT. ݥS\;8()^E[8'9Z/}Ϟjq0)0pTUt`DtTÚUY}߼|,( !d k#4\u칯; iDעnNuьzH, Lvty}rn EUXB Qq("1ICJ%GrŦ9GG}[x5@<)LY)_.J{oby(g82jr5G#yS#.pOxq5ێߔS MRRjۏ[\LNkɨE\e$A^,箾73+^Aԣ $7p.֛Ga BFD%e*#3SF>%栭v!͵Zu䠓W(& v¾VF3nbypع7Ho&}x1 v@P~S&57*,x'J (U:v>1r>YnG&91K֣L~j@yO^.[ʷVpJTF2+4)/EػN8'+ZPTȕ+#z)t4%!cc81Z=V_SC2x,=O(c_ ~8Z_$l~NR)Qo]je',>%TSӲl γ[<9|g\e]d.=~ qUi-ణ ЄFu+CA5, Y+g&;dX_c?T%?YjsʧLXg#_V02QPDE8)َy5DE0EΠT/3|a^=/ _VoMV&C1ŬVϡYCj1'R6.9}2+'4ynԍ߬ .R|ka` I9g kx:<($EOhVeD. 2 ŰgPLyz.V(BGŘ@yF@Y~lṔLic,˪YWg4K'^? m_Ga0U1fnRރhVD<ȕ䳊 < 6~j"aMإK7ta,(A8t&161Jęr6d8$ۈ֔" hG7PXMU ~Wo5ٖ|=VF0tp Zr%3\j]@5D&'FAbԻ1^D=z+*K漺s<0̹$rx4`K{[Pu&Exi$;_cP}y VZn ?2 -d;WC:%r茆FԡzTEl]fXb[yvᑦ[06akjBC=H;N|ւ폝U-U)b!?lOw<\ZPYI!1۹yA()v]ߺD6TG|Xxl] 1?oГ@NOAGxiP oLe,lE4]IԢ?(>AZ"?0?[";Vn]p3l?B6e!JHÇ~9s8_PQW`TXj& .[J V\MK#[pQa[=" qxP oCjjq7r6_)mKB1,n+v'"I*=X|7!Njɚwg}EfnWK+Q~?3[],?9m zF$BQU+5)?H\<#kTpT.q[GoI yMhU*ѾI.Q "73 8Ɛ#[Lcb0CIWN Jw3KuRn a79ASoK =13ιCDv=#rZuHm,B 4E832l$ۿ'h$}AmޣFD )H: J2!4lu\|xpDZC1S.|x'I \[ J5!7iZƢj> pZC1<R;N}G?J5(}/PDQRkk_D {zY %)Re]c+VxHUs:զ}LaWZA~SNP zPYD$VdpjFHsp >lW15{G${ MIrh"e$J?ܖHWcLCg+*)bYVTr}hKN) ϘfE]*p .9t:Dks$Y6۪= E,F4K%,U?o,pz0c*{==Iǂz:NgG|ֹ_ TŞD|ITJPP+HtK bmG{Ӈ^Sk l n[)@EQ\K[_<i9\-ޅ8W<:/_fٕ$ 7F٫BE(qSk@L,[ }$cb।5y]]tjwow y'B<+ ]szRLOmvVjjbX3}dGw@|,;|)6=F$Tzs}?+29޺a4)2BVS$ { = fo9q&k}u-EtԔdxqP34LI.w5eo"I"`RjNjm!U{a8n޷mc5GznZC|C=iK{?RpT'EL]90'LXƙpcyi]˥z&dž wH.?& 8v~i<9$wۻU'MEp$w ndmB8-]#nͼUvG 0u-7wTYI]AH̓: OͽL Y\ ؊!MKȀ1j܂A2S_y`zgC%qL.AY 31\UwZ',l\`ȸʞLXîǨ(tո )[\ežd6 A l_ 9O(l؋cGWS|$x m ~Vn _.ؕ=jMW^Q 9,^92 tF8nɰ?B L^+˨=ai9g vqU)cC:dK~]mR,($_G f @~&e Vjӑ.3Y!zj瑀 Sc(oS[6n 2`Ճ#6ɢs,%R@(2 ;5:X:+/i :yIdtw'Ӳb2_-8$gw6U2Œ|L#0n|AL䊹֯{-c~kcFU odͩ0*Mk3.d"{IDZ3J`XtS=ȗ!Egl|FO!4Ηm.Fcmk&,<!53.N$o03 .6q G31xU ,(:=6O%bK42nU蚬"| K|dְ|b`?YVt8Vl\{A }xeofdÇ q(.XC\'F(A;ǃ2<=*BR ²byU aOZkSr3GogֿQkgκx#f-9H'ˠ֐dD7̣;A(ŒD.7kxӳ@ƒ۽* `U9ET=.Qн&kOXd= ֠*`=4*3#bXXHT11W@y=Ļ_7؄qVмOz vRC.>l.g1\ oڑo~4DwG E.Zݖ0=!"B#f -&kpqԛG_gUy%5g/RxQh.hXP>&?\U_TY-1ϪS^^Aȅ(̎cXHtH(ם+Ɠ^JXeKa#yrgoUuSz q##_=+_iiX&:{ WNޖFw~TNeB=G}ᘬF)*r2Iրa8=.cF Cc?R}^iv#9sHXY^D2/gآ&kEĄ^%%͕~JedgCC_I?ߎܮ>=-Hzɴ 2y bVfL CN j1OQwh9Wlʇ*_| ͵C߳Vh6a4ofVqtS6fhl7Ru+E"mGVc/2̪A:NZ:3L1TIKz%Noks5DksH;9O>R&:Bהp%*/ ¦ftIdi5H I=z8羾} E1cW@E WF6zze6еMqͺT303; }Ђ_{ Xk5gXsP)pųSA{fBOZ"Zڧe_4_hS bdK+CXf|ny^W;@v( Iwg͢&|});8=Eb50H NLnT 2%{ 3iO?V}" II.Zv.#ф2I1D^'^n,␗P^`[rXh9ת OiKn¤i#UUǸn X9[!{XeGv|P/i;!m~%arҙ?>" BCy܋Ȏm+0E\UQ@ TMp*"IN{oz3Gcrܼ"F eu3U+EE2VﵚݫՖJ7 18 ib4{/|B"Gx ˱@rEM쬷v ڸ_{GVԣO֩,n3Pǵe_5oAZr<+V`N[;5/4#VT,D6IζFZdng}ŏЕ6658|.CG$eۧ@މl$a@n]y2T8S.W} E?*//r=xmkgVT&3o:`:YIO:873fb/>~sNj.zock`*Ԅd?B\yB_v21XQ:e^p6nU ̎'`m9B(MN`UeC^q\ G&6}Odj"әġ2|=ӯυ PVƱզq6X֛H{Щ<Ze~t̋b?RZ˘/t*ޛ7?OvojTN@ܜyo0#NTg~-~GUGv;{_pe|﹌qw&͛THs⽤%A ~~-AE.IHJӜ[ P.1iqpZ*#QbYnk#)ݮ7\]Rx׭oIۼ՚ B,HL@H&GHf"< ZRxvP.qi,-{DqRZfa:U^ep\پ՟5m[tst.+پN7L˷R^O쯈q236a| Sȹ28ـƓTwE{̥DaED5sb vV|;S=)Eb.O"s,8&T=w{T v {jv 8n[Sj _܇x)ZM>yqktw1ةҏP߿|, 3A =b oRbr/ARs⢾rezp*iz<4(z0e]`u2SN'UjXW|xg7!+SKfצ_7P'2}a`_~cO kReSޯr.} +f~#]$0m50s4V&, ;|al;'WҎ2D[i=b$~?lwf(V!,Y]iE3Ce.x-x%JOPa 1 vI( &wqO<{ވp#pd\F޸ lcv23MP3ŪtY~ ^p_q| tJes{~+yCJm5cjCU?A}W|!a diE 5ybםiBnĺb.7a-ȯrZO)bF\SGL)"C]7^T&߲t㙋aSŅvvڭ޽ kGȗ] {DB~xS?I(un1EuVNZ~W[ῇWf4o>>ԉMGQ_5)%ǜz *U&vڋo#Rk@c+)\s$^no^3;Ǣ#UjJ 3[_ya+"[GRѼ`d|[{$bg 5@KZ =eBtO]n)$Je@y4s[xFh^ȴBuL GH͓ |~" (A$*1ɮO2"d8ꚖoJzK[(K86 W.⸧b_އyGC2˓= W{O޲阏)}˟Ç;ܹHڽ5ߺskϑOZ[=T`avAohhPO+d֟o ]]^/m͏*v(:UQgZyw?>򱽍g>G-e,"8Qpjr yrz=/Q Kc 0i;Xd;ZsOC+))TYN\hWeLL3 0s%r߽絔JM?>Ai=0.6={vC΁גv,-O^Ozgca`QϦӝu9k۟ 8> Y;zWERz9dz26^L^fgd|[ƕ}[P3{ l )0bQ:s|vfz.ie#+$'T##wajPYgC꽹Ul*WBȟυ>]#\ &Jؠ|%zg<ވܼ6Uz..d{mL܉5 {R1mP좂y!ұ ]/^WtNwK\77]—K=7yWI~?TsJR6E_y-*֩1f7Ғ Jg/B_l GOb]q:~apM-*v$p,GkWv9F6WU;2S\Z𛱬dUB{V^F#ȆNiU,;ܙwFS؇9|3>]?"]MxHj DJt dZuW\܋oKeh< p\ f3IVƍE$d:J}Hx7g͟ IOM;uy}Oeœ FP*=_WnF|#.in-^H){uoH`Yf"pghz$nt6:(IƧNJfrb5\8z/`QrZJJK ~wٓʪU(m"zaf+ ObEۛObVK[b2-\hWq[z"lv~TLLy}Qd` ,ʗ]zͻ$c,l A&si:}ReH^X;[wnOqcLfm"\ler; ՈQí,p}6͆b3//5[t3p诬|v+Čqp02k5ҦWewnbV6m _lD1^ 1<6\O 5Xʼ+/xcni2 ȸ;lǑ+`F`Xo<(Bp($Y=#?RݒOO}GMDO7//jggw}LZϩ}ƣ -%/KpcۜW!'IO'ϊ~|1mvzg/ JT {5dqz_3aV4AيXg\vEJ58ؕAAl^B%XH_UH' ^^ Wu f &Jo z'?ٚbK~uXn5տ\g'LQռb C `: Ą6D\U+!M* XވFf+ᤁ~1Ռ|ۿ<=dwD^9Gmu05qŝ/\!^ [KHQ' o^$5Np iGoRNTFYZm `QcѮDFE {yV:-'xװ"LP ylF+YxcXTw Q!KY|x>.1kGZ)>M8ږ Ŧ&h.2ƒRi.p 0ʽ)ס` "DBaZ7|զ5x)ZzF^cYE,XR'9eڐqO#/N$Z_4K ֧V~SUP(DpAیbG'.r.^K`OiDUyנ^eOx폦TN[#Ж93šϛ.*gFWks_v?-*2._P ^2γVk`cTyWס$twz))fhGG Om'U54OpK ȻwTkfڳv-=^n)ⶕ6W쨅&3Q"dT!TBS~*1޴U^fR'Q؅Xz$+ :zza4.- }VC0.uF4GбGB^V/B}"[؜nBU`pfE+,,,xQڇ_G8lxpЋKV>1ӣ!ȿ`U%˕.\ŸMΙt/1@rQ18iAv@.4ҋTy#@=s1QCb:Hc$%’uG$@zz,6_90\z`e?lD#_CJߦf-RH7gϧB+hk1ჵ rwꑘ;;*B4 xc}qmQ9Y0QKzn8/3U?Jq?yoIMTWNrZyUj.Ll[?gsVPvj*nͫ=_oSټ:<e 4))P i7X +Ïj6^xnq>[IbJM1wK†^)9/ 2ZCSJظbs7 iT7cG| cZq"4ָTgpQV\MʖZ8b+݁ ysm{f+CJ?#IO ?#?@j*ɥ60y o9J{h˙/DE=b CT ǘTy؟ie=cҸ<^R7#쏋R$l_GGZhLn- +E7'xᦇj $zy .QٿY}\!s}^jk )=_'q^Fy9M].P ѯqB.k\MХj" &ᵰ5zÙr^Gɪ{3qO̾.  eSO?tkj,WWvt0:bH0~UQm{l vgcëy=&A$ SԉwjlR2MtavŦׁMԂ-6 ү <WD,mP[D5P)PY*/bs*=asӘ3C&A*ewVǂOF-ͭi A]Y.y3{A DdhE;? .Mar+k>0`{p#{U^E,-?.ZZ}] S)—A}w5o6ięMdZ($5s0NQŒPH_3 XAA!FF.3zqpMc.t1ce+Oc1?U!뵏ձRe0'it<-!e4[pRbbrb1j 9`iTƏ!܃C4a8 :} GT_E`˓%jhR[uQe4aaOGI8J 5KJ1Uyh@Ƀ  .zVWHՁ d2HhG"fH]6.݂BNw׻aRC\u:cAo<_#=}EAd#9 XE!EjPD~hmH*1 }0ӵ!xWτ3w "rϧT+C2a81KE*frzˮVҤ0eL}rq+t+#P*PK7=?@PKV37 settings.xml_s:z\3U[GoRiHI駿AjpEs}I~nv7p} dQr/T ڈnɸu5}|DH9B)L.' (#U 8UȫªR՝#tp~邲UXT TG:TT4(J髠pANBt(4_~#6g/Cn)A)PgEADRS !?Gq b.~V>߁hNTT*?w{ Ў˂~vkd|gPj`SИc -;E?,1l@9r ̓}͗ɋDOf eb$zԆq);"!:=Byҷ[m>db-|oΙk#f=NNrL&'|҆wPRRJ瞣(&`uFѸKJ享C`/NJ5 UpcMP@]ۧa㛔bR{bѝB!A1e14&*jW%MXyV.U2~['b!2~xB98&܀񚐋wLG wt;+dFK62e@q|bx,LmOU?'xYC'[čXkF zQ~ȔT yb`yʝ뛣V4"BO[DȐRȻ)o zL =KbDe̡Rbw c!x!|R!|cD*wS)F$B;ߟ Jn&F] Ýr=˩Wo³̿sivE6ٍmHi7 ȜsiǷPKMfBQPKV37l9..mimetypePKV37TConfigurations2/statusbar/PKV37'Configurations2/accelerator/current.xmlPKV37Configurations2/floater/PKV37Configurations2/popupmenu/PKV37QConfigurations2/progressbar/PKV37Configurations2/menubar/PKV37Configurations2/toolbar/PKV37Configurations2/images/Bitmaps/PKV37 _ 4content.xmlPKV37NeAn  styles.xmlPKV37HĦmeta.xmlPKV377=?@Thumbnails/thumbnail.pngPKV37sņy ?Tsettings.xmlPKV37MfBQXMETA-INF/manifest.xmlPKZgeda-gaf-1.8.2/utils/examples/tragesym/test2.src0000664000175000017500000000260412204177071016466 00000000000000# test2: # this is a source file for tragesym # please take a look at the docs and the template.src file for more informations [options] wordswap yes rotate_labels no sort_labels no generate_pinseq yes sym_width 2600 pinwidthvertical 400 pinwidthhorizontal 800 [geda_attr] version 20060113 name TEST2 device devTEST2 refdes U? footprint TQFP234 description test without rotated text, not sorted, with slots documentation http://url_to_the_datasheet.com/datasheet.pdf author Werner Hoch numslots 4 slot 1 slotdef 1:1,2,3 slotdef 2:4,5,6 slotdef 3:7,8,9 slotdef 4:10,11,12 comment comment1 comment comment2 comment comment3 [pins] #----------------------------------------------------- #pinnr seq type style posit. net label #----------------------------------------------------- 1 io line l hello 2 out clk l \_neg\_ 3 out dot l \_n\_0\_n\_ 4 pwr none GND 5 io line r \_ABC\_ (DEF) 6 out clk r xx\_XX\_xx 7 out dot r \_Reset\_ 8 pwr none AGND 9 io line b _\_ups\__ 10 out clk b wer 11 out dot b ner 12 pwr none AVcc 13 io line t \_([])\_ 14 out clk t ABC (\_DEF\_) 15 out dot t twelf 16 pwr none Vcc 17 in dotclk l first 18 in dotclk r n\_exe\_n 19 in dotclk t this 20 in dotclk b other 21 in dot b \_Reset\_ 22 out line t PD1 (\_SS\_) 23 io clk r PD2 (\_xxx\_hello\_sss\_) 24 io dot r PD3 (x_no_over) 25 io clk l PD4 (\\\_strange\\\_) geda-gaf-1.8.2/utils/examples/Makefile.in0000664000175000017500000005441712220655726015145 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = utils/examples DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = gmk_sym tragesym gsch2pcb MOSTLYCLEANFILES = *.log *.ps core FILE *~ CLEANFILES = *.log *.ps core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log *.ps core FILE *~ Makefile.in all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu utils/examples/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu utils/examples/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic clean-libtool cscopelist-am ctags \ ctags-am distclean distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags tags-am uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/utils/examples/gmk_sym/0000775000175000017500000000000012220655761014612 500000000000000geda-gaf-1.8.2/utils/examples/gmk_sym/DM9368.txt0000664000175000017500000000063312050461155016120 00000000000000; DM9368 symbol (7-Segment Decoder/Driver/Latch with Constant Current, ; Fairchild Semiconductor) ; Created by Marcus Isaksson DM9368, DM9368, DM9368, 4, 9 A1,1,line, l, 1 A2,2,line, l, 2 LE,3,dot, l, 3 RB0,4,dot, l,4 RB1,5,dot, l,5 A3,6,line, l,6 A0,7,line, l,7 GND,8,line, l,8 VCC,16,line,r,1 f,15,line,r,2 g,14,line,r,3 a,13,line,r,4 b,12,line,r,5 c,11,line,r,6 d,10,line,r,7 e,9,line,r,8 geda-gaf-1.8.2/utils/examples/gmk_sym/test.txt0000664000175000017500000000034012050461155016240 00000000000000;; device name ,name, name location(tl,tc,tr,bl,bc,br),X size in pins,Y ;;size in pins TEST,TEST,tl,4,2 ;; ;; pin name,pin number,shape(line,clock,dot),side(r,l,t,b),pin position INPUT,INPUT,line,L,1 OUTPUT,OUTPUT,dot,R,1 geda-gaf-1.8.2/utils/examples/gmk_sym/Makefile.am0000664000175000017500000000056712050461155016567 00000000000000## Process this file with automake to produce Makefile.in EXTRA_DIST = 74520.txt 7474.txt 8031.txt DM9368.txt L293.txt PCF8591.txt \ TL16C554AFN.txt block.txt pic16C84.txt test.txt MOSTLYCLEANFILES = *.log *.ps core FILE *~ CLEANFILES = *.log *.ps core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log *.ps core FILE *~ Makefile.in geda-gaf-1.8.2/utils/examples/gmk_sym/8031.txt0000664000175000017500000000116412050461155015661 000000000000008031,8031,tc,5,22 P1.0,1,line,l,1 P1.1,2,line,l,2 P1.2,3,line,l,3 P1.3,4,line,l,4 P1.4,5,line,l,5 P1.5,6,line,l,6 P1.6,7,line,l,7 P1.7,8,line,l,8 RXD,10,line,l,9 TXD,11,line,l,10 /Int0,12,dot,l,11 /Int1,13,dot,l,12 T0,14,line,l,13 T1,15,line,l,14 Rst,9,line,l,15 Xtal1,18,line,l,19 Xtal2,19,line,l,18 /EA,31,dot,l,17 AD0,39,line,r,1 AD1,38,line,r,2 AD2,37,line,r,3 AD3,36,line,r,4 AD4,35,line,r,5 AD5,34,line,r,6 AD6,33,line,r,7 AD7,32,line,r,8 A8,21,line,r,9 A9,22,line,r,10 A10,23,line,r,11 A11,24,line,r,12 A13,25,line,r,13 A14,26,line,r,14 A15,27,line,r,15 ALE,30,line,r,17 /PSEN,29,dot,r,18 /RD,17,dot,r,19 /WR,16,dot,r,20 geda-gaf-1.8.2/utils/examples/gmk_sym/L293.txt0000664000175000017500000000065112050461155015717 00000000000000; L293 symbol (Push-Pull Four Channel Driver, Unitrode) ; Created by Marcus Isaksson L293, L293, L293, 7, 9 CHIP INHIBIT,1,line, l, 1 INPUT 1,2,line, l, 2 OUTPUT 1,3,line, l, 3 GND,4,line, l,4 GND,5,line, l,5 OUTPUT 2,6,line, l,6 INPUT 2,7,line, l,7 VC,8,line, l,8 VSS,16,line,r,1 INPUT 4,15,line,r,2 OUTPUT 4,14,line,r,3 GND,13,line,r,4 GND,12,line,r,5 OUTPUT 3,11,line,r,6 INPUT 3,10,line,r,7 CHIP INHIBIT 2,9,line,r,8 geda-gaf-1.8.2/utils/examples/gmk_sym/Makefile.in0000664000175000017500000004024012220655726016600 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = utils/examples/gmk_sym DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = 74520.txt 7474.txt 8031.txt DM9368.txt L293.txt PCF8591.txt \ TL16C554AFN.txt block.txt pic16C84.txt test.txt MOSTLYCLEANFILES = *.log *.ps core FILE *~ CLEANFILES = *.log *.ps core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log *.ps core FILE *~ Makefile.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu utils/examples/gmk_sym/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu utils/examples/gmk_sym/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags-am uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/utils/examples/gmk_sym/74520.txt0000664000175000017500000000062712050461155015752 00000000000000;; pin name,pin number,shape(line,clock,dot),side(r,l,t,b),pin position 74520,74520,tr,6,11, U, SO20, 20 /EN,1,dot,L,1 A0,2,line,L,10 A1,4,line,L,9 A2,6,line,L,8 A3,8,line,L,7 A4,11,line,L,6 A5,13,line,L,5 A6,15,line,L,4 A7,17,line,L,3 B0,2,line,R,10 B1,4,line,R,9 B2,6,line,R,8 B3,8,line,R,7 B4,11,line,R,6 B5,13,line,R,5 B6,15,line,R,4 B7,17,line,R,3 Vcc,20,line,T,3 GND,10,line,B,3 A=B,19,line,R,1 geda-gaf-1.8.2/utils/examples/gmk_sym/TL16C554AFN.txt0000664000175000017500000000226212050461155016642 00000000000000TL16C554AFN, TL16C554AFN, bc, 20, 36, U, PLCC68, 68 Vcc,64,line,T,11 Vcc,47,line,T,12 Vcc,30,line,T,13 Vcc,13,line,T,14 GND,6,line,B,11 GND,23,line,B,12 GND,40,line,B,13 GND,57,line,B,14 XTAL1,35,line,B,7 XTAL2,36,line,B,8 D7,5,line,L,1 D6,4,line,L,2 D5,3,line,L,3 D4,2,line,L,4 D3,1,line,L,5 D2,68,line,L,6 D1,67,line,L,7 D0,66,line,L,8 A2,32,line,L,10 A1,33,line,L,11 A0,34,line,L,12 /CSA,16,dot,L,14 /CSB,20,dot,L,15 /CSC,50,dot,L,16 /CSD,54,dot,L,17 RESET,37,line,L,19 /IOR,52,dot,L,20 /IOW,18,dot,L,21 /RXRDY,38,dot,L,23 /TXRDY,39,dot,L,24 /INTN,65,dot,L,27 INTA,15,line,L,28 INTB,21,line,L,29 INTC,49,line,L,30 INTD,55,line,L,31 RXA,7,line,R,1 TXA,17,line,R,2 /RIA,8,dot,R,3 /DCDA,9,dot,R,4 /DSRA,10,dot,R,5 /CTSA,11,dot,R,6 /DTRA,12,dot,R,7 /RTSA,14,dot,R,8 RXB,29,line,R,10 TXB,19,line,R,11 /RIB,28,dot,R,12 /DCDB,27,dot,R,13 /DSRB,26,dot,R,14 /CTSB,25,dot,R,15 /DTRB,24,dot,R,16 /RTSB,22,dot,R,17 RXC,41,line,R,19 TXC,51,line,R,20 /RIC,42,dot,R,21 /DCDC,43,dot,R,22 /DSRC,44,dot,R,23 /CTSC,45,dot,R,24 /DTRC,46,dot,R,25 /RTSC,48,dot,R,26 RXD,63,line,R,28 TXD,53,line,R,29 /RID,62,dot,R,30 /DCDD,61,dot,R,31 /DSRD,60,dot,R,32 /CTSD,59,dot,R,33 /DTRD,58,dot,R,34 /RTSD,56,dot,R,35 geda-gaf-1.8.2/utils/examples/gmk_sym/block.txt0000664000175000017500000000047012050461155016357 00000000000000;; device name ,name, name location(tl,tc,tr,bl,bc,br),X size in pins,Y ;;size in pins BLOCK,BLOCK,tl,5,5 ;; ;; pin name,pin number,shape(line,clock,dot),side(r,l,t,b),pin position IO1,IO1,line,L,1 IO2,IO2,line,L,2 INPUT1,INPUT1,line,L,3 INPUT2,INPUT2,line,L,4 OUTPUT1,OUTPUT1,line,R,2 OUTPUT2,OUTPUT2,dot,R,3 geda-gaf-1.8.2/utils/examples/gmk_sym/PCF8591.txt0000664000175000017500000000061512050461155016225 00000000000000; PCF8591 symbol (8-bit A/D and D/A converter, Philips Semiconductors) ; Created by Marcus Isaksson PCF8591, PCF8591, kalle, 5, 9 AIN0,1,line, l, 1 AIN1,2,line, l, 2 AIN2,3,line, l, 3 AIN3,4,line, l,4 A0,5,line, l,5 A1,6,line, l,6 A2,7,line, l,7 VSS,8,line, l,8 VDD,16,line,r,1 AOUT,15,line,r,2 VREF,14,line,r,3 AGND,13,line,r,4 EXT,12,line,r,5 OSC,11,clock,r,6 SCL,10,line,r,7 SDA,9,line,r,8 geda-gaf-1.8.2/utils/examples/gmk_sym/pic16C84.txt0000664000175000017500000000062412050461155016467 00000000000000; PIC16C84 symbol ; Created by Marcus Isaksson PIC16C84, PIC16C84, PIC16C84, 7, 10 RA2,1,line, l, 1 RA3,2,line, l, 2 RA4/TOCKI,3,line, l, 3 MCLR,4,dot, l,4 VSS,5,line, l,5 RB0/INT,6,line, l,6 RB1,7,line, l,7 RB2,8,line, l,8 RB3,9,line, l,9 RA1,18,line,r,1 RA0,17,line,r,2 OSC1/CLKIN,16,clock,r,3 OSC2/CLKOUT,15,line,r,4 VDD,14,line,r,5 RB7,13,line,r,6 RB6,12,line,r,7 RB5,11,line,r,8 RB4,10,line,r,9 geda-gaf-1.8.2/utils/examples/gmk_sym/7474.txt0000664000175000017500000000104612050461155015672 00000000000000;;***************************************************************/ ;; mk_sym sample input file to create a 7474-1.sym symbol. ;;/***************************************************************/ ;; Filename: 7474.txt ;; An example of a 7474 symbol make file ; This is a comment line ;; device name ,name, name location(tl,tc,tr,bl,bc,br),X size in pins,Y size in pins 7474,74HC74,tr,3,5 ;; ;; pin name,pin number,shape(line,clock,dot),side(r,l,t,b),pin position D,2,line,L,1 CLK,3,clock,L,4 Q,5,line,R,1 /Q,6,dot,R,4 CLR,4,dot,T,1 PRE,1,dot,B,1 geda-gaf-1.8.2/utils/examples/gsch2pcb/0000775000175000017500000000000012220655761014637 500000000000000geda-gaf-1.8.2/utils/examples/gsch2pcb/second.sch0000664000175000017500000000171512050461155016526 00000000000000v 20050820 1 C 29900 52500 1 90 0 resistor-1.sym { T 29600 52700 5 10 1 1 90 0 1 refdes=R8 T 30100 52700 5 10 1 1 90 0 1 footprint=RESC2012N T 30300 52700 5 10 1 1 90 0 1 value=10k } C 30600 53900 1 0 0 resistor-1.sym { T 30800 54200 5 10 1 1 0 0 1 refdes=R9 T 30800 53700 5 10 1 1 0 0 1 footprint=RESC2012N T 30800 53500 5 10 1 1 0 0 1 value=10k } N 29800 53400 29800 54000 4 N 29800 54000 30600 54000 4 N 31500 54000 33100 54000 4 N 32300 53400 32300 54000 4 N 29800 51800 34800 51800 4 N 32300 51800 32300 52500 4 C 29700 51100 1 0 0 gnd-1.sym N 29800 51400 29800 52500 4 C 33100 53900 1 0 0 resistor-1.sym { T 33300 54200 5 10 1 1 0 0 1 refdes=R10 T 33300 53700 5 10 1 1 0 0 1 footprint=RESC2012N T 33300 53500 5 10 1 1 0 0 1 value=10k } N 34000 54000 34800 54000 4 N 34800 51800 34800 54000 4 C 32500 52500 1 90 0 capacitor-1.sym { T 32000 52700 5 10 1 1 90 0 1 refdes=C1 T 32700 52700 5 10 1 1 90 0 1 footprint=CAPC3216N T 32900 52700 5 10 1 1 90 0 1 value=0.01 uF } geda-gaf-1.8.2/utils/examples/gsch2pcb/project.sample0000664000175000017500000001037312050461155017425 00000000000000# $Id$ # # Sample poject file for gsch2pcb versions >= 1.0 # # A project file may be named anything that does not end in ".sch" and placed # in your schematics and PCB working directory. Then, running: # gsch2pcb project.sample # is all that is required to process gschem schematic footprint and value # attribute changes into usable PCB files. See the README and/or # run "gsch2pcb --help" for additional information. # # Some settings (elements-dir, use-files, m4-command, m4-pcbdir, and # m4-file) are candidates for placing in a ~/.gsch2pcb file so they can # be in effect for all projects by an individual user. CAD administrators # can make appropriate settings site wide for all users by placing them # in /etc/gsch2pcb or /usr/local/etc/gsch2pcb. # List all the schematics to be netlisted and layed out on the pc board. # schematics first.sch second.sch third.sch # For an output-name of foo, gsch2pcb generates files foo.net, foo.pcb, # and foo.new.pcb. If there is no output-name specified, the file names # are derived from the first listed schematic, ie first.net, etc # output-name foo # ---------- Project options related to PCB file elements ---------------- # gsch2pcb automatically searches for PCB file elements in /usr/local/pcb_lib # and ./packages (which may be a symlinks). For additional local file element # directories, uncomment and edit elements-dir lines. # #elements-dir ~/gaf/pcb-elements #elements-dir /usr/local/share/pcb/newlib # The default is to invoke M4 for PCB footprints. Starting with the # 20070208 snapshot of PCB, the footprints which were generated with m4 # are available as newlib footprints. If you wish to never invoke m4 # then set this variable. # #skip-m4 # If "skip-m4" is not specified, the default is to search for gschem footprints # first in PCB m4 files and if not found, then in PCB newlib style file # element directories. Uncomment the use-files line to force using any # found file elements even though a m4 element may have been found first. # If skip-m4 is specified, then m4 is never run at all and use-files doesn't # really do anything. #use-files # ------------- Project options related to PCB m4 files ------------------- # These options require gnetlist version >= 20030901 # # The default m4 command is "m4". This can specify a different command. # #m4-command gm4 # The m4-pcbdir specifies where the PCB installation has its m4 database of # elements. It is the directory where the PCB "common.m4" file is expected # to be found. The default is /usr/X11R6/lib/X11/pcb/m4, so uncomment and # edit the following m4-pcbdir line if your PCB install is elsewhere. # #m4-pcbdir /usr/X11R6/lib/X11/pcb/m4 # gsch2pcb will automatically check for the additional m4 files ./pcb.inc # and ~/.pcb/pcb.inc, but for other local m4 files, uncomment and edit # m4-file lines. # #m4-file /usr/local/share/pcb/pcb.inc #m4-file /usr/share/pcb/pcb.inc # ------------- Other project options ------------------- # # As a convenience gsch2pcb can run extra gnetlist backend commands. # For example, to create a partslist file myproject.partslist3: # #gnetlist partslist3 # # To create a partslist with a specified output file name board.parts: # #gnetlist partslist3 -o board.parts # The default gsch2pcb behavior is to skip with a warning any components # with a footprint=none attribute. So the "none" footprint can serve as a # generic place holder where multiple real footprints are candidates and the # gsch2pcb warning serves as a reminder that some real footprint should # be chosen. # However, if it is intended that components with a "none" footprint should # not be in the layout, you can suppress the warnings by specifying it as # the empty-footprint: # #empty-footprint none # # If you assign a name other than "none" to empty-footprint, then components # with that name will be omitted instead and you will need to use the verbose # option to see any warnings. This is just a convenience way to have symbols # in a schematic which will not be mounted on the PC board and to shut up # gsch2pcb warnings about it. But note that if you make net connections # to these symbols, they will be in the netlist and PCB will warn if the # netlist is loaded. So, maybe connections to such parts should be drawn # with a graphical line and not a net? geda-gaf-1.8.2/utils/examples/gsch2pcb/Makefile.am0000664000175000017500000000045212050461155016605 00000000000000## Process this file with automake to produce Makefile.in EXTRA_DIST = project.sample first.sch second.sch third.sch MOSTLYCLEANFILES = *.log *.ps core FILE *~ CLEANFILES = *.log *.ps core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log *.ps core FILE *~ Makefile.in geda-gaf-1.8.2/utils/examples/gsch2pcb/Makefile.in0000664000175000017500000004012512220655726016627 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = utils/examples/gsch2pcb DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = project.sample first.sch second.sch third.sch MOSTLYCLEANFILES = *.log *.ps core FILE *~ CLEANFILES = *.log *.ps core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log *.ps core FILE *~ Makefile.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu utils/examples/gsch2pcb/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu utils/examples/gsch2pcb/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags-am uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/utils/examples/gsch2pcb/first.sch0000664000175000017500000000311512050461155016376 00000000000000v 20050820 1 C 29900 52500 1 90 0 resistor-1.sym { T 29600 52700 5 10 1 1 90 0 1 refdes=R1 T 30100 52700 5 10 1 1 90 0 1 footprint=RESC2012N T 30300 52700 5 10 1 1 90 0 1 value=10k } C 32400 52500 1 90 0 resistor-1.sym { T 32100 52700 5 10 1 1 90 0 1 refdes=R3 T 32600 52700 5 10 1 1 90 0 1 footprint=RESC2012N T 32800 52700 5 10 1 1 90 0 1 value=20k } C 30600 53900 1 0 0 resistor-1.sym { T 30800 54200 5 10 1 1 0 0 1 refdes=R2 T 30800 53700 5 10 1 1 0 0 1 footprint=RESC2012N T 30800 53500 5 10 1 1 0 0 1 value=10k } N 29800 53400 29800 54000 4 N 29800 54000 30600 54000 4 N 31500 54000 33100 54000 4 N 32300 53400 32300 54000 4 N 29800 51800 34800 51800 4 N 32300 51800 32300 52500 4 C 29700 51100 1 0 0 gnd-1.sym N 29800 51400 29800 52500 4 C 33100 53900 1 0 0 resistor-1.sym { T 33300 54200 5 10 1 1 0 0 1 refdes=R4 T 33300 53700 5 10 1 1 0 0 1 footprint=RESC2012N T 33300 53500 5 10 1 1 0 0 1 value=10k } N 34000 54000 35600 54000 4 N 34800 53400 34800 54000 4 C 34900 52500 1 90 0 resistor-1.sym { T 34600 52700 5 10 1 1 90 0 1 refdes=R5 T 35100 52700 5 10 1 1 90 0 1 footprint=RESC2012N T 35300 52700 5 10 1 1 90 0 1 value=20k } N 34800 51800 34800 52500 4 C 35600 53900 1 0 0 resistor-1.sym { T 35800 54200 5 10 1 1 0 0 1 refdes=R6 T 35800 53700 5 10 1 1 0 0 1 footprint=RESC2012N T 35800 53500 5 10 1 1 0 0 1 value=10k } N 36500 54000 37300 54000 4 C 37400 52500 1 90 0 resistor-1.sym { T 37100 52700 5 10 1 1 90 0 1 refdes=R7 T 37600 52700 5 10 1 1 90 0 1 footprint=RESC2012N T 37800 52700 5 10 1 1 90 0 1 value=20k } N 32300 51800 37300 51800 4 N 37300 51800 37300 52500 4 N 37300 53400 37300 54000 4 geda-gaf-1.8.2/utils/examples/gsch2pcb/third.sch0000664000175000017500000000133612050461155016364 00000000000000v 20050820 1 C 30500 53900 1 0 0 resistor-1.sym { T 30700 54200 5 10 1 1 0 0 1 refdes=R1 T 30700 53700 5 10 1 1 0 0 1 footprint=RESC2012N T 30700 53500 5 10 1 1 0 0 1 value=10k } N 29800 51800 32300 51800 4 N 32300 51800 32300 52500 4 C 29700 51100 1 0 0 gnd-1.sym C 32500 52500 1 90 0 capacitor-1.sym { T 32000 52700 5 10 1 1 90 0 1 refdes=C2 T 32700 52700 5 10 1 1 90 0 1 footprint=CAPC3216N T 32900 52700 5 10 1 1 90 0 1 value=0.01 uF } C 29600 53400 1 0 1 header3-1.sym { T 29200 54700 5 10 1 1 0 6 1 refdes=J1 T 28600 53600 5 10 1 1 90 2 1 footprint=MTA100_2 } N 29600 53600 29800 53600 4 N 29800 51400 29800 53600 4 N 29600 54000 30500 54000 4 N 29600 54400 32300 54400 4 N 32300 53400 32300 54400 4 N 31400 54000 32300 54000 4 geda-gaf-1.8.2/utils/ChangeLog.gsch2pcb-1.00000664000175000017500000001223312050461155015000 00000000000000 gsch2pcb Changelog ------------------ 1.5 --------- * Fix handling of quoted flags in new CVS PCB versions. 1.4 --------- * Handle the hi_res PCB Element[] format which is new in PCB CVS (as of 1/9/2004). 1.3 --------- * Add empty-footprint option and give special treatment to "none" footprint attributes. See discussion in the project.sample file. 1.2 --------- * Dan McMahill updated the gnet-gsch2pcb.scm file to quote the m4 PKG_ args to prevent arg expansions and to allow commas in component values. M4 processing removes that quoting, however, so that info is lost when processing for file elements. I fixed gsch2pcb to try to adjust for that, but there still might be a rare case where using a comma in a component value will cause a file element search to fail. * Added "gnetlist" option so you can have other gnetlist commands run from the project file. For example, put in the project file: gnetlist partslist3 to create myproject.partslist3 when gsch2pcb myproject is run. 1.1 --------- * Automatically check for PCB install of the m4 and newlib directories under /usr/share or /usr/local/share as it's likely to be for PCB versions >= 20031113. The tutorial is updated to reflect this. * Fix bug when linked to glib1.2 instead of glib2.0 which caused gsch2pcb to fail to read element files. 1.0.1 --------- * Change use-modules usage in gnet-sch2pcb.scm that worked in guile 1.4 but did not work in guile 1.6. 1.0 --------- * Added --m4-command, --m4-pcbdir, and --m4-file options as suggested by Dan McMahill. Updated gnet-gsch2pcb.scm to use these options via the new 20030901 gnetlist -m option. * Options which can be common to all an individual users projects can be in ~/.gsch2pcb. CAD administrators can put site wide options in /etc/gsch2pcb or /usr/local/etc/gsch2pcb. * Added the project.sample file. Read it for a description of the new m4-xxxx options. * Expand a leading '~' to the home dir in elements-dir directories. * Look for /usrlib/pcb_lib and /usr/local/lib/pcb_lib. 0.9 --- * If a file element's coordinate (mark x or y) is > 1000 (mils), translate it to 1000 to avoid inserted file elements being scattered all over the place. Assume that for element coordinates < 1000 the element creator was concerned with a sane initial placement... * Handle spaces in file element names so PCB file element names such as "100 Pin jack" in the default pcb_lib directory can be used as gschem footprints. * Search command line and project file element directories before the default directories. * Give Makefile install target a gsch2pcb dependency. 0.8 --- * --elements-dir option single char variant renamed from -e to -d. * added -f, --use-files option to force using the file element for new footprints if the file element exists even though an m4 element may have been found for the footprint. * Improved statistics reporting. * Some bug fixes. 0.7 --- * Use my own gnet-gsch2pcb.scm instead working around PCBboard problems or relying on a patch. This fixes: footprint being stored into element issue. gnetlist output doesn't abort with unfound elements so gsch2pcb won't unexpectedly delete all elements. * Default install is to /usr instead of /usr/local because gnet-gsch2pcb.scm must be installed under the same dir as the existing gnetlist, and this is more likely /usr. See the INSTALL file. 0.6 --- * Forward annotate schematic component "value" attribute changes to pcb element "value" fields. 0.5 --- * Cleaned up the output reporting. 0.4 --- * project files * Don't use schematic "value" attribute and element "value" in the comparison to determine when an element for a footprint already exists. * include a gnet-PCBboard-patch in the distribution so people can fix gnetlist to save footprint information in m4 pcb elements. * --fix-elements option so existing PCB files can have their elements Description fields updated to schematic footprint values without deleting the elements. If the above patch is applied and there are existing pcb files with m4 elements, gsch2pcb should be run with this option to fix the pcb files. 0.3 --- * Add --preserve option to prevent removing .pcb file elements which are not found in the schematics. * Regardless of the --preserve, don't ever delete elements which have no layout-name (refdes) because these are likey elements not intended to be on the schematic. 0.2 --- * When substituting values into Element() lines, put gschem "footprint" values into the PCB Element "description" position instead of gschem "device" values. This is different from existing "gnetlist -g PCBboard" behaviour which uses the "device" value, but keeping footprint info in the layout seems far more valuable to me. Now a component can have its footprint changed and gsch2pcb will be able recognize the change and delete the old component and add in the new. But, this only works for newly added file elements. Any existing .pcb file will have "device" values stored so a "footprint" change cannot be recognized. See comment at top of gsch2pcb.c. 0.1 --- * Initial release geda-gaf-1.8.2/utils/gxyrs/0000775000175000017500000000000012220655760012501 500000000000000geda-gaf-1.8.2/utils/gxyrs/Makefile.am0000664000175000017500000000137212204177071014454 00000000000000## $Id$ ## ## Process this file with automake to produce Makefile.in bin_SCRIPTS = gxyrs rcdatadir = @GEDADATADIR@/perl/lib rcdata_DATA = gxyrs.pm EXTRA_DIST = \ gxyrs.pl \ gxyrs.pm all: gxyrs distclean-local: -rm -rf autom4te.cache maintainer-clean-local: -rm -rf autom4te.cache ## This hardcodes the path to the ## system libraries into geda_filter prior to installation. gxyrs: $(srcdir)/gxyrs.pl sed -e "s#GEDADATADIR#$(GEDADATADIR)#" $(srcdir)/gxyrs.pl | sed -e "s#GEDARCDIR#$(GEDARCDIR)#" > tmp$@ chmod a+x tmp$@ mv -f tmp$@ $@ MOSTLYCLEANFILES = *.log *.ps core FILE tmp *~ CLEANFILES = *.log *.ps core FILE tmp *~ DISTCLEANFILES = *.log core FILE tmp *~ gxyrs MAINTAINERCLEANFILES = *.log *.ps core FILE tmp *~ Makefile.in gxyrs geda-gaf-1.8.2/utils/gxyrs/COPYING0000664000175000017500000004310312204177071013451 00000000000000 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. geda-gaf-1.8.2/utils/gxyrs/Makefile.in0000664000175000017500000005031712220655726014476 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = utils/gxyrs DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am COPYING ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(rcdatadir)" SCRIPTS = $(bin_SCRIPTS) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac DATA = $(rcdata_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ bin_SCRIPTS = gxyrs rcdatadir = @GEDADATADIR@/perl/lib rcdata_DATA = gxyrs.pm EXTRA_DIST = \ gxyrs.pl \ gxyrs.pm MOSTLYCLEANFILES = *.log *.ps core FILE tmp *~ CLEANFILES = *.log *.ps core FILE tmp *~ DISTCLEANFILES = *.log core FILE tmp *~ gxyrs MAINTAINERCLEANFILES = *.log *.ps core FILE tmp *~ Makefile.in gxyrs all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu utils/gxyrs/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu utils/gxyrs/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-binSCRIPTS: $(bin_SCRIPTS) @$(NORMAL_INSTALL) @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n' \ -e 'h;s|.*|.|' \ -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) { files[d] = files[d] " " $$1; \ if (++n[d] == $(am__install_max)) { \ print "f", d, files[d]; n[d] = 0; files[d] = "" } } \ else { print "f", d "/" $$4, $$1 } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(bindir)$$dir'"; \ $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ } \ ; done uninstall-binSCRIPTS: @$(NORMAL_UNINSTALL) @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || exit 0; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 's,.*/,,;$(transform)'`; \ dir='$(DESTDIR)$(bindir)'; $(am__uninstall_files_from_dir) mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-rcdataDATA: $(rcdata_DATA) @$(NORMAL_INSTALL) @list='$(rcdata_DATA)'; test -n "$(rcdatadir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(rcdatadir)'"; \ $(MKDIR_P) "$(DESTDIR)$(rcdatadir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(rcdatadir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(rcdatadir)" || exit $$?; \ done uninstall-rcdataDATA: @$(NORMAL_UNINSTALL) @list='$(rcdata_DATA)'; test -n "$(rcdatadir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(rcdatadir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(SCRIPTS) $(DATA) installdirs: for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(rcdatadir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic distclean-local dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-rcdataDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-binSCRIPTS install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic \ maintainer-clean-local mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-binSCRIPTS uninstall-rcdataDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distclean-local distdir dvi dvi-am html \ html-am info info-am install install-am install-binSCRIPTS \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-rcdataDATA \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic \ maintainer-clean-local mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am uninstall-binSCRIPTS uninstall-rcdataDATA all: gxyrs distclean-local: -rm -rf autom4te.cache maintainer-clean-local: -rm -rf autom4te.cache gxyrs: $(srcdir)/gxyrs.pl sed -e "s#GEDADATADIR#$(GEDADATADIR)#" $(srcdir)/gxyrs.pl | sed -e "s#GEDARCDIR#$(GEDARCDIR)#" > tmp$@ chmod a+x tmp$@ mv -f tmp$@ $@ # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/utils/gxyrs/gxyrs.pl0000664000175000017500000003746312204177071014143 00000000000000#!/usr/bin/perl -w # # Copyright (C) 2008 Carlos Nieves Onega # Copyright (C) 2008 other contributors # (see ChangeLog or SCM history for details) # This file is part of gxyrs. # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301, USA. use strict; use warnings; use lib 'GEDADATADIR/perl/lib'; # Where gxyrs package is located use gxyrs; use gxyrs qw($CASE_INSENSITIVE); # for parsing input options use Getopt::Long; use vars qw { $REF_COL $FOOTPRINT_COL $X_COL $Y_COL $ANGLE_COL $LAYER_COL $VALUE_COL $CASE_INSENSITIVE $LINE_NUMBER $LINE $TITLE_LINE }; my $tempfile; # Set these for debugging purposes my $DEBUG = 0; my $DEBUG_GUESSING = 0; my $DEBUG_COL_LENGTH = 0; my $DEBUG_RETURN_CODE = 0; # Initialize global variables $REF_COL = -1; $FOOTPRINT_COL = -1; $X_COL = -1; $Y_COL = -1; $ANGLE_COL = -1; $LAYER_COL = -1; $VALUE_COL = -1; ####################################################################### # # Subroutines # ####################################################################### #--------------------------------- # guess_file_format() # # Check current line and try to guess column numbers by # testing if it is the title line and there are some title keywords. #--------------------------------- sub guess_file_format () { my $num_elems = scalar(@LINE); my @positions = (); my $position_repeated=0; if ($DEBUG_GUESSING == 1) { print "guess_file_format processing line $LINE_NUMBER.\n"; print "Line: @LINE\n"; print "Number of elements in line: $num_elems.\n"; } # Remove '#' and spacer characters from the beginning of first element while ($LINE[0] =~ /^#/) { $LINE[0] = substr($LINE[0], 1); } while ($LINE[0] =~ /^\s+/) { $LINE[0] = substr($LINE[0], 1); } # Now try to guess column numbers from column titles. for (my $i = 0; $i <= $num_elems-1; $i++) { if ($DEBUG_GUESSING == 1) { print "Testing element $i: ".$LINE[$i].".\n"; } if ( ($LINE[$i] =~ /^Designator$/) || ($LINE[$i] =~ /^RefDesignator$/) || ($LINE[$i] =~ /^RefDes$/) ) { if ($DEBUG_GUESSING) { print "Found reference column: ".($i+1).".\n"; } $REF_COL = $i+1; if (grep(/\b$REF_COL\b/, @positions)) { $position_repeated = 1; } push(@positions,$REF_COL); } if ( ($LINE[$i] =~ /^Footprint$/) || ($LINE[$i] =~ /^TopCell$/) || ( ($LINE[$i] =~ /^Description$/) && (! grep(/\bTopCell\b/,@LINE)) ) ) { if ($DEBUG_GUESSING) { print "Found footprint column: ".($i+1).".\n"; } $FOOTPRINT_COL = $i+1; if (grep(/\b$FOOTPRINT_COL\b/, @positions)) { $position_repeated = 1; } push(@positions,$FOOTPRINT_COL); } if ( ($LINE[$i] =~ /^Mid X$/) || ($LINE[$i] =~ /^X$/) ) { if ($DEBUG_GUESSING) { print "Found X column: ".($i+1).".\n"; } $X_COL = $i+1; } if ( ($LINE[$i] =~ /^Mid Y$/) || ($LINE[$i] =~ /^Y$/) ) { if ($DEBUG_GUESSING) { print "Found Y column: ".($i+1).".\n"; } $Y_COL = $i+1; if (grep(/\b$Y_COL\b/, @positions)) { $position_repeated = 1; } push(@positions,$Y_COL); } if ( ($LINE[$i] =~ /^[Rr]otation$/) || ($LINE[$i] =~ /^Rot$/) ) { if ($DEBUG_GUESSING) { print "Found angle column: ".($i+1).".\n"; } $ANGLE_COL = $i+1; if (grep(/\b$ANGLE_COL\b/, @positions)) { $position_repeated = 1; } push(@positions,$ANGLE_COL); } if ( ($LINE[$i] =~ /^TB$/) || ($LINE[$i] =~ /^Side$/) || ($LINE[$i] =~ /^top\/bottom$/) ) { if ($DEBUG_GUESSING) { print "Found layer column: ".($i+1).".\n"; } $LAYER_COL = $i+1; if (grep(/\b$LAYER_COL\b/, @positions)) { $position_repeated = 1; } push(@positions,$LAYER_COL); } if ( ($LINE[$i] =~ /^Comment$/) || ($LINE[$i] =~ /^PartNumber$/) || ($LINE[$i] =~ /^Value$/) ) { if ($DEBUG_GUESSING) { print "Found value column: ".($i+1).".\n"; } $VALUE_COL = $i+1; if (grep(/\b$VALUE_COL\b/, @positions)) { $position_repeated = 1; } push(@positions,$VALUE_COL); } } # If there is any repeated position, warn the user. if ($position_repeated == 1) { print STDERR "A position was repeated while guessing file format.\n"; } # If not all columns were guessed, or a position is repeated then reset all. if ( ($position_repeated == 1) || ($REF_COL == -1) || ($FOOTPRINT_COL == -1) || ($X_COL == -1) || ($Y_COL == -1) || ($ANGLE_COL == -1) || ($LAYER_COL == -1) || ($VALUE_COL == -1) ) { # All columns should be defined in the same line. $REF_COL = -1; $FOOTPRINT_COL = -1; $X_COL = -1; $Y_COL = -1; $ANGLE_COL = -1; $LAYER_COL = -1; $VALUE_COL = -1; } if ($DEBUG_GUESSING == 1) { print "guess_file_format ended processing line $LINE_NUMBER.\n"; } } #--------------------------------- # stdin() # # open a temp file, to allow multiple passes to the input file. #--------------------------------- sub stdin () { $tempfile = 'temp_'.time() . '_' . int(rand(1000000)); open(TEMP, "+>$tempfile") or print STDERR $!; local $/ = undef; print TEMP ; seek(TEMP, 0, 0); \*TEMP; } #--------------------------------- # usage() # # prints program usage #--------------------------------- sub usage { print "Usage:\n"; print " gxyrs [--tabulate] --adjust --output \n"; exit(0); } ####################################################################### # # Main program # ####################################################################### { my @fname=(); my ($file_in, $adjust_file, $file_out); my ($this_line, $line_out); my @lengths; my $output_delimiter=""; # Delimiters to try when guessing file format. my @delimiters = ('\s+', ',\s*'); my @delimiters_char = (' ', ','); # Used when writing the output file my $delimiter_index=-1; my $pass; my $total_passes = scalar(@delimiters) + 1; my $guessing_file_format; my $is_comment = 0; # Mark the current line as a comment. my $eval_string; my $tabulate=0; # Output should be tabulated or not. my $verbose; my $process_comments; my $return_code; # Comparisons are case insensitive by default. $CASE_INSENSITIVE=0; &GetOptions(("help" => \&usage, "verbose" => \$verbose, "process-comments" => \$process_comments, "tabulate!" => \$tabulate, "caseinsensitive!" => \$CASE_INSENSITIVE, "adjust=s" => \$adjust_file, "eval=s" => \$eval_string, "output=s" => \$file_out, "output-delimiter=s" => \$output_delimiter, )); if ($Getopt::Long::error) { print STDERR "Wrong arguments.\n"; usage(); } # Print usage string in event user didn't call out any args usage() unless @ARGV; # Make sure the input schematic exists and we can read it. # Also count number of files to open. while(@ARGV) { my $i=0; $fname[$i]=shift(@ARGV); print "Checking argument $fname[$i].\n"; if (! -r $fname[$i]) { die("Input file $fname[$i] does not exist or can not be read"); } $i++; } $file_in = $fname[0]; # Print usage string in event user didn't specify input, adjust # and output files. if (! ($file_in && $file_out && ($adjust_file || $eval_string))) { print STDERR "Nothing to do.\n"; if ($eval_string) { print STDERR "Eval string: $eval_string.\n"; } if ($adjust_file) { print STDERR "Commands file: $adjust_file.\n"; } usage(); } if ($file_in !~ '^-$') { open(FILE_IN, $file_in) || die ("Can't open input file $file_in: $!"); } else { *FILE_IN = &stdin(); } if (length($output_delimiter) > 1) { die ("Output delimiter $output_delimiter must be a character."); } # Don't know yet the file format. $guessing_file_format = 1; $TITLE_LINE = 0; # Last pass is to process the file. Others are for guessing the # file format with several delimiters (one for each element in @delimiters. for ($pass = 1; $pass <= $total_passes; $pass++) { if (seek(FILE_IN, 0, 0) != 1) { print STDERR "Error when seek input file to 0\n"; } if ($pass >= $total_passes) { open(FILE_OUT, "> ".$file_out) || die ("Can't open output file $file_out: $!"); } # Set the return code to 0 $return_code = 0; if ($DEBUG_RETURN_CODE) { print "Setting global return code to 0.\n"; } # Parse file $LINE_NUMBER = 0; print "Pass number: $pass.\n" if ($DEBUG); while ( ) { $this_line=$_; $_ = $this_line; # Remove end line characters. chomp($this_line); # For the last pass, use the delimiter guessed. # For the others, get the delimiter from @delimiters array. if ($pass < $total_passes) { my $this_delimiter = $delimiters[$pass-1]; @LINE = split ($this_delimiter, $this_line); } else { my $this_delimiter = $delimiters[$delimiter_index]; @LINE = split ($this_delimiter, $this_line); } $LINE_NUMBER += 1; next if /^@/; next if /^q/; # Test if the line is a comment # (which shouldn't be processed). if ( ($this_line =~ /^\s*#/) || ($this_line =~ /^\s*$/) ) { if ($DEBUG) { print "Line is comment: @LINE\n"; } $is_comment = 1; } else { $is_comment = 0; } # First, some column titles are separated by spaces, so join them. if ($LINE_NUMBER == 1) { my $num_elems = scalar(@LINE); for (my $i = 0; $i <= $num_elems-1; $i++) { if ($i <= $num_elems-2) { # Join titles like "Pad X", "Pad Y", "Mid X", "Mid Y", # "ref X", "ref Y" (Protel output) if ( ( ($LINE[$i] =~ /^Pad$/) && ($LINE[$i+1] =~/^[XY]$/) ) || ( ($LINE[$i] =~ /^Mid$/) && ($LINE[$i+1] =~/^[XY]$/) ) || ( ($LINE[$i] =~ /^Ref$/) && ($LINE[$i+1] =~/^[XY]$/) ) ) { $LINE[$i] = $LINE[$i]." ".$LINE[$i+1]; for (my $j = $i+1; $j <= $num_elems-2; $j++) { $LINE[$j] = $LINE[$j+1]; } delete $LINE[$num_elems-1]; $num_elems -= 1; } } } } if ( ($pass != $total_passes) && $guessing_file_format ) { my $old_guessing_file_format = $guessing_file_format; # Try to guess the file format guess_file_format(); # Check if already guessed the file format. $guessing_file_format = ( ($REF_COL == -1) || ($FOOTPRINT_COL == -1) || ($X_COL == -1) || ($Y_COL == -1) || ($ANGLE_COL == -1) || ($LAYER_COL == -1) || ($VALUE_COL == -1) ); if (!$guessing_file_format) { if ($old_guessing_file_format == 1) { $TITLE_LINE = $LINE_NUMBER; } if ($verbose) { print "Found file format. "; print "Delimiter is $delimiters[$pass-1].\n"; } $delimiter_index = $pass-1; } } if (!$guessing_file_format) { if (($is_comment == 0) || $process_comments) { my $rc ; # If it's parsing the file then keep the number # of columns constant, joining all the fields # in the last one. while ( (@LINE > @lengths) && (scalar(@lengths) > 0) ) { $LINE[@LINE-2] = $LINE[@LINE-2]. $delimiters_char[$delimiter_index].$LINE[@LINE-1]; pop @LINE; } if ($DEBUG_RETURN_CODE) { print "Global return code before evaluation: $return_code.\n"; } # Run the adjust file. if (defined $adjust_file) { $rc = do $adjust_file || die("Can't use adjust file: $!\n"); } else { #print "Eval: $eval_string\n"; $rc = eval $eval_string; } if ($@) { print STDERR "Error: ".$@."\n"; $rc = -10; } # Set $return_code based on priorities. # 1 means the command found a match and was succesful # at least one time in the whole file. # 0 means there was no match. # -1 means there was an error. # -2 means there was a warning. if ($DEBUG_RETURN_CODE) { print "Return code $rc after evaluation.\n"; } if ($rc == -1) { $return_code = -1; } elsif (($rc == -2) && ($return_code >= 0)) { $return_code = -2; } elsif (($rc == 1) && ($return_code == 0)) { $return_code = 1; } elsif (($rc == 0) && ($return_code == 1)) { $return_code = 1; } elsif (($rc >= 0) && ($return_code < 0)) { # Do nothing } else { $return_code = $rc; } if ($DEBUG_RETURN_CODE) { print "Global return code: $return_code.\n"; } } if ( ($pass != $total_passes) && ( ($is_comment == 0) || $process_comments) ) { if ($DEBUG_COL_LENGTH == 1) { print "Measuring column length of line: ". "'$this_line'\n"; } # Calcule max length array if ($tabulate) { my $j=0; for (my $i=0; $i <= scalar(@LINE)-1; $i++) { # Allow adding more lines, and checking # element's length right. if ($LINE[$i] eq "\n") { $j = $i+1; next; } if (! exists $lengths[$i-$j]) { $lengths[$i-$j]= length($LINE[$i]); } elsif ($lengths[$i-$j] < length($LINE[$i]) ) { $lengths[$i-$j]= length($LINE[$i]); } if ($DEBUG_COL_LENGTH == 1) { print "Column ".($i-$j+1). ", length: $lengths[$i].\n"; } } } } # Print the result after processing if ($pass >= $total_passes) { if (($is_comment == 1) && !$process_comments) { print FILE_OUT "$this_line\n"; } elsif (@LINE > 0) { my $delimiter; my $j=0; # Set the output delimiter if (length($output_delimiter) != 0) { $delimiter = $output_delimiter; } else { $delimiter = $delimiters_char[$delimiter_index]; } # Write output for (my $i=0; $i <= scalar(@LINE)-1; $i++) { # Allow adding more lines, and handle # new lines. if ($LINE[$i] eq "\n") { print FILE_OUT "\n"; $j = $i+1; next; } if (($i-$j) > scalar(@lengths)-1) { # If column length array has no number # for this column, print it as is. print FILE_OUT $LINE[$i]; } else { printf FILE_OUT "%-$lengths[$i-$j]s",$LINE[$i]; } # print the last column without delimiter if ( ($i < @LINE-1) && (!($LINE[$i+1] eq "\n"))) { print FILE_OUT $delimiter; } } print FILE_OUT "\n"; } } } } # Close output file. if ($pass >= $total_passes) { close(FILE_OUT); } # Print all column numbers (DEBUGGING) if ( ($pass != $total_passes) && ($DEBUG_GUESSING==1) ) { print "Reference column: $REF_COL.\n"; print "Footprint column: $FOOTPRINT_COL.\n"; print "X column: $X_COL.\n"; print "Y column: $Y_COL.\n"; print "Rotation column: $ANGLE_COL.\n"; print "Layer column: $LAYER_COL.\n"; print "Value column: $VALUE_COL.\n"; } # If last guessing pass is complete, but all columns were not guessed, # exit with an error. if ( $guessing_file_format && ($pass == $total_passes-1) ) { die ("Can't guess file format.\n"); } # If file format was guessed, but next pass is not the last one, # then go to the last one (processing pass). if ( (!$guessing_file_format) && ($pass < $total_passes-1) ) { $pass = $total_passes-1; } } close(FILE_IN); if ($tempfile) { unlink $tempfile; } exit $return_code; } geda-gaf-1.8.2/utils/gxyrs/gxyrs.pm0000664000175000017500000004413312204177071014134 00000000000000# # Copyright (C) 2008 Carlos Nieves Onega # Copyright (C) 2008 other contributors # (see ChangeLog or SCM history for details) # This file is part of gxyrs. # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301, USA. use strict; use warnings; package gxyrs; BEGIN { use Exporter (); our ($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS); # if using RCS/CVS, this may be preferred $VERSION = do { my @r = (q$Revision: 2.21 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r }; # must be all one line, for MakeMaker @ISA = qw(Exporter); @EXPORT = qw(&check_columns &del_line &rotate_comp &subst_col_val &change_col_units &add_number_to_col &translate_col_val @LINE &panelize_xyrs &mul_col_val &gxyrs_get_xy_transform_matrix &gxyrs_apply_xy_transform &swap_columns &insert_column); %EXPORT_TAGS = ( ); # eg: TAG => [ qw!name1 name2! ], # your exported package globals go here, # as well as any optionally exported functions @EXPORT_OK = qw(@LINE $CASE_INSENSITIVE); } use vars qw( $CASE_INSENSITIVE ); our @LINE ;# = ( "Package", "Filters" ); #our $CASE_INSENSITIVE; # Checks if a column number is a number between the specified range. # # Returns 1 if success, 0 otherwise # If error, prints an error with the function caller (passed as argument) # to STDERR sub check_column_number { my ($f_name,$number, $min, $max) = @_; if ($number !~ /^[0-9]+$/ ) { print STDERR "Error: $f_name: wrong column argument: $number.\n"; return 0; } # Column number must be a number within line columns number if (($number > $max) || ($number < $min)) { print STDERR "Error: $f_name: Element number ($number) is not within ($min..$max).\n"; return 0; } return 1; } # This function checks if the data has the pattern specified by the checklist. # The data to be checked is in the global variable $LINE; # The check list is a list of elements. Each element is a list with two single elements specifying # the data number 'n' and the pattern. The element 'nth' of the data list should pass the pattern. # The first element of the data has the number 1. # The functions returns 1 if the data passes all the checks and 0 otherwise. # # Returns -1 if error, 0 if not match, 1 if match. # if no argument is given, returns 1. # # Example: check_columns 2, '[0-9]+', 3, 'R[0-9]+'; # column 2 should be a number, and # column 3 is a string beginning with R followed by a number. sub check_columns { my(@check_list) = @_; # Check list. Each pair is (column, pattern) # Pair list expected. The parameter number should be odd. if ( (@LINE == 0) || (@check_list & 1 != 0) ) { return 0 }; for (my $i=0; $i <= @check_list-1; $i+=2) { my($number, $pattern) = ($check_list[$i], $check_list[$i+1]); # Column number must be a number if ($number !~ /^[0-9]+$/ ) { print STDERR "Error: check_columns: wrong column argument: $number.\n"; return -1; } # Column number must be a number within line columns number if (($number > @LINE) || ($number <= 0)) { print STDERR "Error: Check pattern: Element number ($number) is not within (1..".(@LINE).").\n"; return -1; } $number-=1; if (! defined $CASE_INSENSITIVE ) { print STDERR "Error: Check pattern: variable CASE_INSENSITIVE should be defined.\n"; print STDERR "Changing it to 0 (default).\n"; $CASE_INSENSITIVE=0; } if ($CASE_INSENSITIVE !~ /^[0,1]$/) { print STDERR "Error: Check pattern: variable CASE_INSENSITIVE ($CASE_INSENSITIVE) should be 0 or 1.\n"; print STDERR "Changing it to 0 (default).\n"; $CASE_INSENSITIVE=0; } # Build the pattern, adding beginning and end marks. $pattern='^'.$pattern.'$'; # Test the pattern if ($CASE_INSENSITIVE == 1) { if (! ($LINE[$number] =~ /$pattern/i)) { return 0; # Found one non-matching test. Return FALSE. } } else { if (! ($LINE[$number] =~ /$pattern/)) { return 0; # Found one non-matching test. Return FALSE. } } } return 1; } # Delete the line (global variable @LINE) if it matches the pattern specified. # It uses check_columns for pattern matching, and if it matches, # then the line is deleted. # # Returns -1 if error, 0 if not match, 1 if match and changed. # # Example: del 2, 'R[0-9]+'; # delete all lines having a R followed by a number in column number 2. sub del_line { my (@check_list) = @_; my $rc = check_columns (@check_list); if ($rc == 1) { splice(@LINE); return 1; } else { return $rc; } } # Rotate the component if it matches the pattern specified. # It uses check_columns for pattern matching, and if it matches, # then the component is rotated. # # Returns 1 if match and changed, 0 if not match, -1 if error. # # Example: rotate 5, 90, 2, 'R[0-9]+'; # rotate all components having a R followed by a number in column number 2, # by 90º. Rotation angle is in column 5. sub rotate_comp { my ($angle_col, $angle, @check_list) = @_; my $rc; if (! (check_column_number("rotate_comp",$angle_col, 0, scalar(@LINE)))) { return -1; } if ($angle !~ /^[+-]??[0-9]*(\.[0-9]+)*$/ ) { # Angle doesn't match the expression "number.number", where # ".number" may not exist. print STDERR "Error: rotate_comp: wrong angle: $angle.\n"; return -1; } $rc = check_columns (@check_list); if ($rc < 0) { return $rc; } if ($rc) { $LINE[$angle_col-1] += $angle; $LINE[$angle_col-1] -= 360*int($LINE[$angle_col-1] / 360) ; return 1; } return 0; } # Replace a column value if it matches the pattern specified. # It uses check_columns for pattern matching, and if it matches, # then the column is replaced. # # Returns 1 if match and changed, 0 if not match, -1 if error. # # Example: subst 3 , '100nF', 3, '0.1u'; # if the value in column 3 is "0.1u", then replace it with "100nF". # # Example: subst 2 , 'D1', 3, '1n4148'; # if the value in column 3 is "1n4148", then replace column 2 with "D1". sub subst_col_val { my ($col, $value, @check_list) = @_; my $rc; if (! (check_column_number("subst_col_val",$col, 0, scalar(@LINE)))) { return -1; } $rc = check_columns (@check_list); if ($rc < 0) { return $rc; } if ($rc) { $LINE[$col-1] = $value; return 1; } return 0; } # Change units of a given text. # Returns: # 1 if match and changed, # 0 if not match, # -1 if units not supported or wrong format. # -2 if string to change has no units. # # Example: change_text_units 'mm', '102.40mil'; # replaces string '102.40mil' by the its equivalent in mm: '2.60096mm' # sub change_text_units { my($return_value) = 0; my($desired_units, $string) = @_; # $_[1] MUST be the string to be changed. See below. # If the text has no units, warn the user. if ($string =~ /^[+-]??[0-9]*(\.[0-9]*)*$/) { print STDERR "Warning: change_text_units: Text ".$string." has no units. Leaving it as is.\n"; return -2; } # If it's only text, then warn the user. if ($string !~ /^[+-]??[0-9]/) { print STDERR "Warning: change_text_units: Text $string has no numbers!\n"; return -2; } # If it is already in the desired units, don't change it. if ($string =~ /^[+-]??[0-9]*(\.[0-9]*)*$desired_units$/) { return 0; } if ($desired_units =~ /^mm$/) { # The desired units are mm. if ($string =~ /^[+-]??[0-9]*(\.[0-9]*)*[A-Za-z]*$/) { # The format is N.Nunits, where N is a number. if ($string =~ /(.*)mil$/i) { # The original units are mils (1/1000th inches). $string = ($1*0.0254)."mm"; $_[1] = $string; return 1; } elsif ($string =~ /(.*)in$/i) { # The original units are inches. $string = ($1*25.4)."mm"; $_[1] = $string; return 1; } else { # Units are not supported. $_=$string; m/([A-Za-z]*)$/; print STDERR "Changing $string to mm: Units $1 not supported.\n"; print STDERR "Line: @LINE\n"; return -1; } } else { # Wrong format. It is not N.Nunits, where N is a number. print STDERR "Error: change_text_units: Wrong format: $string.\n"; return -1; } } elsif ($desired_units =~ /^mil$/) { # The desired units are mils (1/1000th inches). if ($string =~ /^[+-]??[0-9]*(\.[0-9]*)*[A-Za-z]*$/) { # The format is N.Nunits, where N is a number. if ($string =~ /(.*)mm$/i) { # The original units are mils (1/1000th inches). $string = ($1/0.0254)."mil"; $_[1] = $string; return 1; } elsif ($string =~ /(.*)in$/i) { # The original units are inches. $string = ($1*1000)."mm"; $_[1] = $string; return 1; } else { # Units are not supported. $_=$string; m/([A-Za-z]*)$/; print STDERR "Changing to mils: Units $1 not supported.\n"; print STDERR "Line: @LINE\n"; return -1; } } else { # Wrong format. It is not N.Nunits, where N is a number. print STDERR "Error: change_units: Wrong format: $string.\n"; return -1; } } else { # Desired units are not supported. print STDERR "Error: Desired units '$desired_units' not supported.\n"; return -1; } } # Change units of a given column number. # Returns -1 if error, -2 if warning, and 1 if success. # # Example: change_units 'mm', 3, 5; # convert all numbers in column 3 and 5 to its equivalent in mm. # sub change_col_units { my($return_value) = 0; my($value); my($changed) = 0; my($desired_units, @columns) = @_; $return_value = 0; if (@columns == 0) {return 0}; if (@LINE == 0) {return 0}; foreach $value (@columns) { if (! (check_column_number("change_col_units",$value, 0, scalar(@LINE)))) { return -1; } # If the column is empty, continue. if ($LINE[$value-1] =~ /^\s*$/) {next}; # Change the units $changed = change_text_units($desired_units, $LINE[$value-1]); if ($changed == -1) { print STDERR "Error at column $value\n"; } elsif ($changed == -2) { print STDERR "Warning at column $value\n"; } # Update return value if ( ($changed == 1) && ($return_value == 0) ) { $return_value++; } elsif ( ($changed == -2) && ($changed != -1) ) { $return_value = -2; } elsif ($changed == -1) { $return_value = -1; } } return $return_value; } # Adds a number to a value in a given column number. # Note: offset and the value to be changed can be in different units. # Returns -1 if error, -2 if warning, and 1 if success. # # Example: offset 3, '102.5mm', 4, 'R[0-9]+' ; # if the text in column number 4 is R followed by a number, then adds # 102.5mm to the value in column 3. # Note: Value in column 3 can be in other units. For example: '640mil'. # sub add_number_to_col { my($return_value) = 0; my($changed) = 0; my($column, $offset, @check_list) = @_; my($offset_value) = 0; my($units); my $rc; $return_value = 0; if (! (check_column_number("add_number_to_col",$column, 0, scalar(@LINE)))) { return -1; } if (@LINE == 0) {return 0}; $rc = check_columns (@check_list); if ($rc < 0) { return $rc; } if ($rc) { # If the column is empty, continue. if ($LINE[$column-1] =~ /^\s*$/) {next}; # Guess the line's units. if ($LINE[$column-1] =~ /^[+-]??[0-9]*(\.[0-9]*)*[a-zA-Z]+$/) { if ($LINE[$column-1] =~ /^.*[0-9]+([a-zA-Z]+)$/) { $units = $1; } } elsif ($LINE[$column-1] =~ /^[+-]??[0-9]*(\.[0-9]*)*$/) { # Line number has no units. $units = ""; if ($offset =~ /^[+-]??[0-9]*(\.[0-9]*)*[a-zA-Z]+$/) { print STDERR "Error: add_number_to_col: Offset has units, but number $LINE[$column-1] has no units.\n"; return -1; } } else { print STDERR "Error: add_number_to_col: Wrong value at column $column: $LINE[$column-1]\n"; return -1; } # Change offset to line's units. if (! $units =~ /^$/) { $changed = change_text_units($units, $offset); } else { $changed = 1; } # If there's an error changing the offset units, then return. if ($changed == -1 ) { print STDERR "Error: add_number_to_col: Error with offset parameter: $offset.\n"; return -1; } elsif ($changed == -2) { print STDERR "Warning: add_number_to_col: warning in offset parameter: $offset.\n"; } # Change the units $_=$offset; /(.*)$units$/i; $offset_value = $1; $_=$LINE[$column-1]; /(.*)$units$/i; $LINE[$column-1] = $1+$offset_value."$units"; # Update return value if ( ($changed == 1) && ($return_value == 0) ) { $return_value++; } elsif ( ($changed == -2) && ($changed != -1) ) { $return_value = -2; } elsif ($changed == -1) { $return_value = -1; } } return $return_value; } # Translate a string if it matches the pattern specified. # It uses check_columns for pattern matching, and if it matches, # then the column is replaced. # # Returns -1 if error, 0 if not match, 1 if match and changed. # # Example: # translate 2, '^([0-9]+)n$','sprintf("%dnF",$1)', 3, 'C[0-9]+'; # if the value in column 3 is C followed by a number, then # if the value in column 2 is a number followed by 'n', translate it # to the same value followed by 'nF'. # If there is 'C10' in column 3 and '10n' in column 2, # change '10n' to '10nF'. sub translate_col_val { my($column, $string, $substitution, @checklist) = @_; my $rc; if (! (check_column_number("translate_col_val",$column, 0, scalar(@LINE)))) { return -1; } if (@LINE == 0) {return 0}; if ( (! @checklist) || (@checklist)) { $rc = check_columns (@checklist); if ($rc <= 0) { return $rc; } else { if ($CASE_INSENSITIVE == 1) { if ($LINE[$column-1] =~ s/$string/$substitution/ixee) { return 1; } else { return 0; } } else { if ($LINE[$column-1] =~ s/$string/$substitution/xee) { return 1; } else { return 0; } } } } return 0; } # Panelize the list. # # Warning: this should ALWAYS be the last command in your script. sub panelize_xyrs { my ($no_x, $no_y, $AX, $AY, $X_COL, $Y_COL, $REF_COL, $REF_PATTERN) = @_; my ($i, $j); my @new_array = (); my $refdes; if (! (check_column_number("panelize_xyrs", $X_COL, 0, scalar(@LINE)) && check_column_number("panelize_xyrs", $Y_COL, 0, scalar(@LINE)) && check_column_number("panelize_xyrs", $REF_COL, 0, scalar(@LINE)) )) { return -1; } $refdes = $LINE[$REF_COL-1]; for ($i=0; $i<=$no_x-1; $i++) { for ($j=0; $j<=$no_y-1; $j++) { my @new_line = @LINE; if (length($REF_PATTERN) == 0) { $new_line[$REF_COL-1] = $refdes."-$i-$j"; } else { $new_line[$REF_COL-1] = $refdes.$REF_PATTERN; } if (($i == 0) && ($j == 0)) { $LINE[$REF_COL-1] = $new_line[$REF_COL-1]; next; } $new_line[$X_COL-1] = $LINE[$X_COL-1]+$i*$AX; $new_line[$Y_COL-1] = $LINE[$Y_COL-1]+$j*$AY; unshift(@new_line, "\n"); push (@new_array, @new_line); } } push (@LINE, @new_array); return 1; } # Multiply the number in the specified column by the given amount. # # It uses check_columns for pattern matching, and if it matches, # then the column is replaced. # The number to be multiplied may have units at the end. # # Returns -1 if error, 0 if not match, 1 if match and changed. # # Example: multiply 3, 2.5, 4, 'R[0-9]+' ; # if the text in column number 4 is R followed by a number, then multiply # the value in column 3 by 2.5. # Note: Value in column 3 may have units or not. For example: '640mil'. sub mul_col_val { my($string_format)='^([+-]??[0-9]*(\.[0-9]*)*)([a-zA-Z]*)$'; my($column, $factor, @checklist) = @_; my $rc; if (! (check_column_number("mul_col_val", $column, 0, scalar(@LINE)))) { return -1; } if ($factor !~ /^[+-]??[0-9]*(\.[0-9]*)*$/) { print STDERR "Error: mul_col_val: Multiplying factor is not a number.\n"; return -1; } $rc = check_columns (@checklist); if ($rc < 0) { return $rc; } if ($rc) { if ($LINE[$column-1] =~ /$string_format/) { return translate_col_val $column, $string_format,'sprintf("%f%s", $1*'.($factor).',$3)'; } else { print STDERR "Error: mul_col_val: bad number parameter ($LINE[$column-1]) passed to multiply function.\n"; return -1; } } return 0; } # Swap two columns # # Given two column numbers, this function swaps the contents of the columns. # # Returns -1 if error, 0 if not match, 1 if match and changed. # # Example: swap_columns 3, 4, 4, 'R[0-9]+' ; # if the text in column number 4 is R followed by a number, then # swap columns 3 and 4. sub swap_columns { my($column1, $column2, @checklist) = @_; my $rc; if (! (check_column_number("swap_columns", $column1, 0, scalar(@LINE)))) { return -1; } if (! (check_column_number("swap_columns", $column2, 0, scalar(@LINE)))) { return -1; } $rc = check_columns (@checklist); if ($rc < 0) { return $rc; } if ($rc) { my $temp; $temp = $LINE[$column1-1]; $LINE[$column1-1]=$LINE[$column2-1]; $LINE[$column2-1]=$temp; return 1; } return 0; } # Insert a column with the given text in the given position # # Insert a column in the given position (0 if it's going to be the # first column), with the given value. # # Returns -1 if error, 0 if not match, 1 if match and changed. # # Example: insert_column 0, 'new_column_value'; # insert a column in the first position. Column value is 'new_column_value' sub insert_column { my($column1, $value) = @_; if (! (check_column_number("insert_column", $column1, 0, scalar(@LINE)))) { return -1; } splice @LINE,$column1,$#LINE-$column1,($value,@LINE[$column1..($#LINE+-1)]); return 1; } END { } 1; geda-gaf-1.8.2/utils/ChangeLog.tragesym-1.00000664000175000017500000000570412050461155015145 000000000000002007-04-17 Werner Hoch * script/tragesym: for large symbols put the attributs inside the symbol box. Add padding at the top and the bottom pins. removed o_vdist limitation. code mostly from Patch [#1662285] written by Aapo Tahkola 2006-05-17 Werner Hoch * scripts/tragesym: accept tab as option delimiter * examples/tragesym/template.ods: added OOo-template 2006-03-26 Werner Hoch * scripts/tragesym: changed version to 0.0.9 use the overbar feature of gschem, removed it from tragesym added optional value attribute * examples/tragesym/template.src, examples updated * docs/README.tragesym: added feature list 2005-09-11 Werner Hoch * changed vertikal to vertical 2005-04-16 (version 0.0.8) Carlos Nieves Onega * scripts/tragesym: Changed the way it draws the symbol so there is no need to translate it to the origin. 2004-11-14: (version 0.0.7) Werner Hoch * made it more tolerant for input files * corrected version * changed text line (multiline support) 2003-05-25: (version 0.0.6) Werner Hoch Changes: - added attributes "documentation=" and "author=" - changed i/o to io in the template file 2002-10-05: (version 0.0.5) Changes: - changes to conform to the new gschem file format (20020922 or later) - changed pin# to pinnumber, added pinseq - added numslots - changed slot# to slotdef, uref to refdes 2002-06-06: (version 0.0.4) Changes: - changed "label" to "pinlabel=", "type" to "pintype" - added attribute "description=" - corrected bug: not all attributs had added to the symbol 2002-04-07: (version 0.0.3) Changes: - corrected net-attribute for multiple equal net entries - corrected color of pinlabels - cleanups in the template.src 2002-02-25: (version 0.0.2) Changes: - corrected attribute color of uref was 2 instead of 8 - changed textalignment of left pinnumbers from bottom left to bottom right. Same with rotated bottom pinnumbers 2001-11-15: (version 0.0.1) Changes: - corrected sorting for (A1, A2, A10), alphabetic is not useful here - fixed sorting bugs - added some syntax checks - internal (draw pins top down instead of bottom up) - attributes are on the top of the symbols 2001-10-30: (no version number) --> 0.0.0 First anounce at the geda mailing list Features: - create pins (line, dot, clk and dotclk) - pinnumbers, pinlabels, pintype - rotates the top and bottom pinlabel, if wished - draws negation lines - wordswap for rightsided and topsided pinlabels - space between pins can be defined - define nets, and write attributes - sort the labels Known BUGS: - sorting error if there are negation lines - sorting error for adresspins (A8, A9, A10) - negation lines seem not to be exactly over the letters - right text and neg.lines has an error of 40 mils (gschem-bug?) geda-gaf-1.8.2/utils/ChangeLog-1.00000664000175000017500000010450012050461155013305 000000000000002007-05-25 Ales Hvezda * configure.ac: Updated version to 20070526 in prep for the next release. 2007-04-21 Ales Hvezda * tests/refdes_renum/outputs/Makefile.am: Fixed filenames to have a dash instead of a colon 2007-04-21 Carlos Nieves Onega * configure.ac, scripts/Makefile.am, scripts/gschemdoc.sh, scripts/config.sh.in: Applied patch by Peter Brett. Moved gschemdoc from utils/scripts to gschem/scripts. * scripts/gschemdoc.sh: Apply patch from Peter Brett to allow gschemdoc to access wiki pages with -w . The original patch initially tries to find a local export of the wiki; on failure, it falls back to the online wiki at the gEDA website. Since the online wiki and the user's geda version may not be the same, I commented out the part to display the online wiki if the file is not locally available. Thanks! 2007-04-20 18:32 Dan McMahill * tests/refdes_renum/: run_tests.sh, outputs/all_new_refdeses-allnew.sch, outputs/all_new_refdeses1-allnew.sch, outputs/all_new_refdeses1:allnew.sch, outputs/all_new_refdeses2-allnew.sch, outputs/all_new_refdeses2:allnew.sch, outputs/all_new_refdeses:allnew.sch, outputs/all_old_refdeses-allold.sch, outputs/all_old_refdeses1-allold.sch, outputs/all_old_refdeses1:allold.sch, outputs/all_old_refdeses2-allold.sch, outputs/all_old_refdeses2:allold.sch, outputs/all_old_refdeses:allold.sch, outputs/multi_clear-file1.sch, outputs/multi_clear-file2.sch, outputs/multi_clear-file3.sch, outputs/multi_clear:file1.sch, outputs/multi_clear:file2.sch, outputs/multi_clear:file3.sch, outputs/multi_pgskip1-file1.sch, outputs/multi_pgskip1-file2.sch, outputs/multi_pgskip1-file3.sch, outputs/multi_pgskip1:file1.sch, outputs/multi_pgskip1:file2.sch, outputs/multi_pgskip1:file3.sch, outputs/multi_pgskip2-file1.sch, outputs/multi_pgskip2-file2.sch, outputs/multi_pgskip2-file3.sch, outputs/multi_pgskip2:file1.sch, outputs/multi_pgskip2:file2.sch, outputs/multi_pgskip2:file3.sch, outputs/multi_renum-file1.sch, outputs/multi_renum-file2.sch, outputs/multi_renum-file3.sch, outputs/multi_renum:file1.sch, outputs/multi_renum:file2.sch, outputs/multi_renum:file3.sch, outputs/single_clear-file1.sch, outputs/single_clear:file1.sch, outputs/single_pgskip1-file1.sch, outputs/single_pgskip1:file1.sch, outputs/single_pgskip2-file1.sch, outputs/single_pgskip2:file1.sch, outputs/single_pgskip3-more_than_10.sch, outputs/single_pgskip3:more_than_10.sch, outputs/single_renum-file1.sch, outputs/single_renum:file1.sch, outputs/some_new_pgskip-someold1.sch, outputs/some_new_pgskip-someold2.sch, outputs/some_new_pgskip-someold3.sch, outputs/some_new_pgskip1-someold1.sch, outputs/some_new_pgskip1-someold2.sch, outputs/some_new_pgskip1-someold3.sch, outputs/some_new_pgskip1:someold1.sch, outputs/some_new_pgskip1:someold2.sch, outputs/some_new_pgskip1:someold3.sch, outputs/some_new_pgskip2-someold1.sch, outputs/some_new_pgskip2-someold2.sch, outputs/some_new_pgskip2-someold3.sch, outputs/some_new_pgskip2:someold1.sch, outputs/some_new_pgskip2:someold2.sch, outputs/some_new_pgskip2:someold3.sch, outputs/some_new_pgskip:someold1.sch, outputs/some_new_pgskip:someold2.sch, outputs/some_new_pgskip:someold3.sch, outputs/some_old_refdeses-someold1.sch, outputs/some_old_refdeses1-someold1.sch, outputs/some_old_refdeses1:someold1.sch, outputs/some_old_refdeses2-someold1.sch, outputs/some_old_refdeses2:someold1.sch, outputs/some_old_refdeses:someold1.sch: use - instead of : in filenames because windows does *not* like : 2007-04-15 Stuart Brorson * refdes_renum: Made --gentle default behavior of refdes_renum. Modified test suite to account for this new behavior. 2007-04-14 Stuart Brorson * Added a bunch of regression tests to the suite for refdes_renum. 2007-04-14 Stuart Brorson * refdes_renum: modified refdes_renum to incorporate --gentle flag which won't overwrite refdeses already numbered. 2007-04-13 23:18 Dan McMahill * Makefile.am, configure.ac, tests/Makefile.am, tests/refdes_renum/Makefile.am, tests/refdes_renum/README.txt, tests/refdes_renum/run_tests.sh, tests/refdes_renum/tests.list, tests/refdes_renum/inputs/Makefile.am, tests/refdes_renum/inputs/file1.sch, tests/refdes_renum/inputs/file2.sch, tests/refdes_renum/inputs/file3.sch, tests/refdes_renum/inputs/more_than_10.sch, tests/refdes_renum/outputs/Makefile.am, tests/refdes_renum/outputs/multi_clear:file1.sch, tests/refdes_renum/outputs/multi_clear:file2.sch, tests/refdes_renum/outputs/multi_clear:file3.sch, tests/refdes_renum/outputs/multi_pgskip1:file1.sch, tests/refdes_renum/outputs/multi_pgskip1:file2.sch, tests/refdes_renum/outputs/multi_pgskip1:file3.sch, tests/refdes_renum/outputs/multi_pgskip2:file1.sch, tests/refdes_renum/outputs/multi_pgskip2:file2.sch, tests/refdes_renum/outputs/multi_pgskip2:file3.sch, tests/refdes_renum/outputs/multi_renum:file1.sch, tests/refdes_renum/outputs/multi_renum:file2.sch, tests/refdes_renum/outputs/multi_renum:file3.sch, tests/refdes_renum/outputs/single_clear:file1.sch, tests/refdes_renum/outputs/single_pgskip1:file1.sch, tests/refdes_renum/outputs/single_pgskip2:file1.sch, tests/refdes_renum/outputs/single_pgskip3:more_than_10.sch, tests/refdes_renum/outputs/single_renum:file1.sch: add refdes_renum testsuite 2007-02-16 Ales Hvezda * scripts/Makefile.am: Fix to get make distcheck to pass. 2007-02-13 20:31 Dan McMahill * examples/gsch2pcb/project.sample, src/gsch2pcb.c: Following the principle of least suprise use "--skip-m4" for the command line and "skip-m4" for the project file that can be included to skip m4. This way users don't have to do anything to keep the old behaviour. This replaces the rather short lived (< 1 week) --use-m4. 2007-02-10 Ales Hvezda * src/gsch2pcb.c: Applied patch by Jeff Mallatt to fix a typo in some helpful output for pcb's Disperse all elements. Thanks. * scripts/gschemdoc.sh: Applied patch by Charles Lepple [ 1590587 ] gschemdoc additions for Mac OS X. Thanks! * src/convert_sym.c: Applied patch by Hans N. [ 1581813 ] Patch to ignore '|' tags. Thanks! * gschlas/globals.c: Removed quit_func since it is completely unused. * scripts/gnet_hier_verilog.sh: Added new script by Paul Tan [ 1566117 ] Script for non-flatten herarchical Verilog netlist. Thanks! Fixed some of the headers to be correct (copyright in particular). * man/grenum.1: Updated the man page a little for bug: [ 1556064 ] man page version out of date * configure.ac: Bumped package version to 20070216. 2007-02-08 19:24 Dan McMahill * configure.ac, examples/gsch2pcb/Makefile.am, examples/gsch2pcb/first.sch, examples/gsch2pcb/project.sample, examples/gsch2pcb/second.sch, examples/gsch2pcb/third.sch, src/gsch2pcb.c: 1) add a new option to gsch2pcb "use-m4" for the project file or "--use-m4" for the command line. By default now, gsch2pcb will not try to run m4 at all. If you want the old behaviour of running m4, you'll have to use this option. It seems that this is what most users want (no m4 involved at run time). 2) rather than hard coding a number of paths like /usr/X11R6/lib and /usr/local/share into the code for places to look for PCB footprints, use a single default directory which is based on ${datadir}. If the user wants to, they can override that with --with-pcb-datadir=/opt/pcb-20070204/share for example. 3) when searching for newlib footprints with, for example, a name like footprint=MY1206, match either "MY1206" or "MY1206.fp" so we can start having extensions on footprint files without needing to explicitly add the ".fp" part in the footprint= attribute. All of the footprints in the pcb distribution which came from the m4 libraries have .fp extensions now. 4) add some example schematic files in the gsch2pcb example directory 2007-01-08 Ales Hvezda * gschlas/Makefile.am, gschlas/globals.c, gschlas/gschlas.c, gschlas/parsecmd.c, gschlas/s_util.c, include/globals.h, include/prototype.h: Added embed/unembed command line switched to gschlas to support embedding/unembedding all components/pictures in the specified schematics on the command line. 2006-11-21 Ales Hvezda * configure.ac: Fixed libgeda detection/find error message when the wrong libgeda version is found. (Bug reported by Karel Kulhavy; thanks) 2006-10-20 Ales Hvezda * configure.ac: Bumped package version to 20061020. 2006-09-27 Carlos Nieves Onega * configure.ac : Applied patch #1564796 by Cesar Strauss, enabling Cygwin's compilation. Thanks. * src/gmk_sym.c: Do not redefine stricmp. Work based on patch #1564805 by Cesar Strauss and comments by Peter Brett. Thanks. Use strcasecmp by default instead of stricmp. If strcasecmp is not available, but stricmp is, then define strcasecmp as stricmp. * scripts/gschemdoc.sh: Applied (partially) patch #1511658 by Cesar Strauss. The rest of the patch was already covered by patches #1564796 and #1564805. Thanks. Notes by Cesar: " gschemdoc now uses the cygpath utility, if present, to filter the file paths before calling the viewer. Also, I added iexplore (Internet Explorer) to the browser list. As a bonus, I added some checks and error messages for the "Browser not found" and "PDF Reader not found" situations. There must exist, however, symbolic links to the browser and PDF reader in Cygwin's /usr/bin. This must be done manually by the user, for the moment. With this fix, gschem->Help->Manual and gschem->Help->Component now work in Cygwin." 2006-09-06 Ales Hvezda * configure.ac: Updated program version to 20060906. * src/g_rc.c, src/gschlas.c: Added CUSTOM_VERSION to all printfs/output/dialog boxes where VERSION is used so that it is easier to create custom version of gEDA/gaf. 2006-08-22 Ales Hvezda * scripts/config.sh.in: Removed unused environment variables that were causing a warning from configure: config.status: WARNING: scripts/config.sh contains a reference to the variable `datarootdir' * scripts/Makefile.am: Added $(srcdir) to gschemdoc.sh to make distcheck happy. Also misc cleanup. 2006-08-21 Ales Hvezda * README: Updated the README a little to be ready for the next release. 2006-08-19 Ales Hvezda * configure.ac: Bumped version number to 20060821 in prep for the next gEDA/gaf release. 2006-08-02 Mike Jarabek * src/convert_sym.c: Added power pin handling patch from Patrick Doyle. 2006-07-15 Ales Hvezda * src/gschlas.c: Added comment on free of cwd 2006-06-14 Ales Hvezda * man/grenum.1, src/grenum.c, src/grenum.h: Checked in latest version from Levente Kovacs. Thanks! 2006-04-05 02:32 Dan McMahill * src/gsch2pcb.c: - look at the environment variable GNETLIST if set to get the name of the gnetlist executible. Defaults to gnetlist if GNETLIST is not set. - add a pointer to the gEDA, PCB and gEDA wiki pages in the --help output. - run gnetlist -g pcbpins as part of the gnetlist runs to generate a PCB actions file which propagates pin names (not just the numbers) from schematic to layout. 2006-03-12 Ales Hvezda * lib/system-gschlasrc.in: Removed load for the system-gafrc file, since it is loaded by libgeda first. 2006-01-16 Ales Hvezda * configure.ac: Bumped package version to 20060123 * README: Updated for the new year and release. 2005-11-27 Carlos Nieves Onega * src/globals.c: Added setting of load_newer_backup_func to NULL. It is needed now libgeda checks for autosave backup files when opening a schematic. 2005-09-27 18:46 Dan McMahill * gschlas/g_rc.c, gschlas/gschlas.c, src/convert_sym.c, src/gmk_sym.c, src/grenum.c, src/olib.l: remove various compiler warnings 2005-09-11 Werner Hoch * ChangeLog.tragesym, examples/tragesym/4099.src, examples/tragesym/AT90S8535_TQFP.src, examples/tragesym/template.src, examples/tragesym/test1.src, examples/tragesym/test2.src, examples/tragesym/test3.src: ChangeLog entry copied, fixed typo 2005-08-20 Werner Hoch * scripts/gschemdoc.sh: added konqueror and firefox to the browser list 2005-08-19 Ales Hvezda * src/convert_sym.c: Integrated Jeff McLamb's greatly updated ViewDraw converter. Thanks. Changes include: - Updated to support gEDA file format version 1 - Added capability to import more graphic styles from ViewDraw - Corrected bug associated with absense of library reference in local ViewDraw symbols - Removed command-line option -s; no longer necessary - Mapped ViewDraw "SIGNAL" attribute to gEDA "net" attribute - Mapped ViewDraw "HETERO" attribute to a new "split" attribute (netlister to be later updated to support this) - Mapped ViewDraw "PINTYPE" attributes to correct gEDA pintypes * configure.ac: Bumped the package version to 20050820 which will be a real snapshot. 2005-08-16 Stuart Brorson * configure.ac, Makefile.am, src/grenum.[hc] src/Makefile.am, doc/Makefile.am, man/*: Incorporated grenum into geda-utils. Grenum is a refdes generation utility by Levente Kovacs 2005-08-14 Ales Hvezda * configure.ac: Updated package version to 20050814. This is a temporary version and not a real release number. 2005-08-02 Ales Hvezda * ChangeLog.gsch2pcb, src/gsch2pcb.c: Update to Bill Wilson's gsch2pcb version 1.5. 2005-04-16 Carlos Nieves Onega * scripts/tragesym: Changed the way it draws the symbol so there is no need to translate it to the origin. 2005-03-13 Ales Hvezda * configure.ac: Removed all tests for gtk+ 1.2.x and fixed error message if gtk+ 2.2.x is not found. 2005-03-08 Ales Hvezda * configure.ac: Bumped version to 20050313 2005-03-06 Ales Hvezda * gschlas/gschlas.c: Fixed code to allow user to specify absolute filenames on the command line again. 2005-02-26 01:16 Dan McMahill * src/: Makefile.am, olib.l: portability fixes to allow AT&T lex (yeck, but its what ships with solaris) to compile this. Also #ifdef around some GCC-isms to let this build with non-gcc compilers. 2005-02-24 01:21 Dan McMahill * src/gsch2pcb.c: when parsing the project file, remove trailing whitespace. Otherwise strange things can happen. This is especially true if the "output-name" has trailing whitespace. 2005-02-22 Carlos Nieves Onega * configure.ac, gschlas/gschlas.c: Removed call to gtk_init(). GDK is now initialized in libgeda if it's a non-graphical app. 2005-02-22 22:13 Dan McMahill * configure.ac, src/Makefile.am: if we're using gcc then turn on -Wall 2005-02-20 Patrick Bernaud * gschlas/gschlas.c (main_prog): Adapted for new logging system. 2005-02-19 Carlos Nieves Onega * gschlas/globals.c: Added definition of picture_draw_func after adding picture support to libgeda. * configure.ac, gschlas/gschlas.c: Added call to gtk_init() since gdk-pixbuf needs it if called. 2005-02-11 Patrick Bernaud * gschlas/gschlas.c (main_prog): Adapted for new toplevel and page APIs in libgeda. 2005-02-08 12:15 danmc * gschlas/g_register.c, gschlas/gschlas.c, include/prototype.h: remove remaining gh_* functions. 2005-02-08 12:01 danmc * gschlas/g_rc.c: fix a typo in the last commit. Now we check gschlas-version instead of gschem-version. 2005-02-07 23:57 danmc * configure.ac, gschlas/g_rc.c, gschlas/g_register.c, gschlas/globals.c, gschlas/gschlas.c, gschlas/i_vars.c, gschlas/parsecmd.c, src/char_width.c, src/convert_sym.c, src/glib12-compat.c, src/gmk_sym.c, src/gsch2pcb.c, src/sarlacc_schem.c, src/smash_megafile.c: add dmalloc and Electric Fence debugging options 2005-02-07 23:18 danmc * gschlas/g_rc.c: get rid of gh_* guile interface 2005-02-07 15:47 sdb * src/gsch2pcb.c: Added additional printfs during directory search in -v -v mode. 2005-02-04 Patrick Bernaud * gschlas/gschlas.c: Made it use GLib's G_DIR_SEPARATOR* instead of libgeda's *_SEPARATER_*. Replaced u_basic_strdup() and u_basic_strdup_multiple() by GLib functions. 2005-01-29 Patrick Bernaud * gschlas/gschlas.c (gschlas_quit): Adapted for new component library code. 2005-27-01 Stuart Brorson * gschlas/gschlas.c: Changes made to enable correct opening of schematics in foreign directories. Changes detailed in libgeda ChangeLog. 2004-12-28 Ales Hvezda * scripts/gsymfix.pl: Added symbol cleanup script by Mike Skerritt. Thanks! 2004-12-27 Ales Hvezda * configure.ac: Updated version to 20041228 2004-07-03 Ales Hvezda * include/i_vars.h, prototype.h, gschlas/g_rc.c, g_register.c, gschlas.c, i_vars.c: Removed a whole bunch of rc related code. The removed code was moved into libgeda. * configure.ac: Updated version to 20040710 2004-01-17 Ales Hvezda * config.h.in: Remove machine generated file. 2004-01-12 Ales Hvezda * scripts/Makefile.am: Changed the sed command when building garchive to work with more sed versions hopefully. 2004-01-11 Ales Hvezda * configure.ac: Updated version to 20040111 * src/gsch2pcb.c, examples/gsch2pcb/project.sample: Upgraded to Bill Wilson's latest version (1.4) (1.3 skipped) * Makefile.am: Oops forgot to remove references to the README.* files when they were moved, so make dist broke. Fixed. 2004-01-06 Ales Hvezda * docs/Makefile.am: Changed doc install directory readme to readmes 2004-01-03 Ales Hvezda * src/gsch2pcb.c, examples/gsch2pcb/project.sample: Upgraded to Bill Wilson's latest version (1.2) * scripts/gsymupdate: Found a last minute critical bug which caused gschem/gschlas to assert because a text field (the number of lines) wasn't being set on split text lines. gsymupdate does not really handle multi line text items. A bug needs to be filed for this so it is not forgotten about. 2004-01-01 Ales Hvezda * configure.ac: Added --with-docdir command line flag as well all the code to support installing documentation. Also added a prog check for groff. * docs/README.*: Moved all the readmes into the docs subdirectory. * docs/Makefile.am: Added code to install all the readme files into the documentation directory. 2003-12-31 Ales Hvezda * configure.ac: Bumped version to 20031231 2003-12-30 Ales Hvezda * scripts/garchive.py, Makefile.am: Included Stuart's garchive script. * ChangeLog.gsch2pcb, src/glib12-compat.c, src/gsch2pcb.c: Included Bill Wilson's latest gsch2pcb (version 1.1) 2003-12-29 Ales Hvezda * configure.ac: Added checks for gtk+ 2.2.x and 1.2.x. This was needed since the HAS_GTK22 will start to be used in libgeda includes. 2003-11-09 Ales Hvezda * autogen.sh: Added script to generate all the auto* generated files. * config.guess config.sub depcomp install-sh mkinstalldirs missing compile: Removed machine generated files from CVS. * Makefile.am: Added the above files to be cleaned during maintainer-clean 2003-10-19 Ales Hvezda * src/g_rc.nw: Added the words "optional" and "required" to the *rc log find messages. 2003-10-18 Ales Hvezda * configure.ac: Updated version to something more recent, but this version is not an official release. 2003-10-04 Ales Hvezda * configure.ac: Updated version to something more recent, but this version is not an official release. 2003-10-02 Ales Hvezda * src/gsch2pcb.c, ChangeLog.gsch2pcb: Updated to Bill Wilson's version 1.0.1 2003-09-27 Ales Hvezda * ChangeLog.gsch2pcb, README.gsch2pcb, examples/gsch2pcb/.cvsignore, examples/gsch2pcb/Makefile.am, examples/gsch2pcb/project.sample, examples/Makefile.am, src/glib12-compat.c, src/gsch2pcb.c, configure.ac, README: Updated Bill Wilson's gsch2pcb to his 1.0 version. 2003-09-20 Ales Hvezda * configure.ac: Fixed MinGW cflags/ldflags * auto* files: Updated to autoconf 2.57 and automake 1.7.6 2003-08-31 Ales Hvezda * configure.ac: Changed AC_CONFIG_HEADER to AM_CONFIG_HEADER * scripts/pads_backannotate: Added script by Dan McMahill. * src/gsch2pcb.c and friends: Integrated gsch2pcb written by Bill Wilson. Thanks Bill! 2003-08-24 Ales Hvezda * configure.ac: Removed redundant tests (gtk+, guile) and improved the configuration summary message. 2003-07-20 Ales Hvezda * configure.ac: Renamed from configure.in. * configure.ac: Bunch of cleanup to start using pkg-config for all libraries. Unfortunately, gnetlist now links against libgtk*. I might fix that in the future. * *.in, *.h, etc: Removed a bunch of old unneeded auto* files. 2003-07-14 Ales Hvezda * src/gmk_sym.c: Applied patch by Holger Dietze to fix Bug #63: "utils/gmk_sym is outdated" 2003-07-06 Ales Hvezda * scripts/tragesym, README: Added tragesym 0.0.5 by Werner Hoch. Ales renamed script from tragesym.py to tragesym (to be consistent with the rest of the scripts in the utils package). * README.tragesym, ChangeLog.tragesym: Added info files which are part of tragesym. Minor updates here and there. * examples/tragesym, examples/gmk_sym: Reoganized the examples directory to include tragesym. 2003-05-25 Ales Hvezda * src/sarlacc_schem.c: Initalized some variables to make compiler happy. * configure.in: Applied Wojciech Kazubski's --with-docdir patch 2003-05-22 Ales Hvezda * configure.in: Updated version 2003-05-13 Ales Hvezda * src/sarlacc_schem.c: Applied patch by Charles Lepple to fix a build problem on OSX. 2003-02-23 Ales Hvezda * configure.in: Added shell code to expand prefix and set the GEDADOCDIR to the proper path ($prefix/share/doc/geda-doc * scripts/config.sh.in: Changed variables to use the above GEDADOCDIR 2003-02-20 Ales Hvezda * gschlas/gschlas.c: Applied patchlet from Steve Tell for disabling the guile 1.6.3 deprecated warnings. * scripts/refdes_renum: Added useful perl script by Dan McMahill. Thanks. 2003-02-18 Ales Hvezda * configure.in: Bumped version to 20030223 2003-02-06 Ales Hvezda * configure.in: Applied Gabriel Paubert's warning reducing patch with a few minor mods. 2003-01-26 Ales Hvezda * src/Makefile.am: Added liberty to all targets for mingw 2003-01-11 Ales Hvezda * Makefile.am: Fixed the distclean-local target. 2002-12-30 Chris Ellec * utils/src/gmk_sym.c: updated file format to 20021103 for pins and boxes. 2002-11-30 Ales Hvezda * lib/system-gschlasrc.in: Changed the variable names which hold the paths to the data and rc directories. * scripts/Makefile.am: Added gschemdoc to distclean target * aclocal.m4: Removed file from cvs. * src/Makefile.am: Added -lm to olib LD_FLAGS 2002-11-23 Ales Hvezda * scripts/gschemdoc.sh: Added %20filetype:pdf to the google search to increase the likelyhood of getting the datasheet. Suggested by Antonio A Todo Bom. * scripts/gschemdoc.sh: Applied the patch by Gabriel Paubert to this file to fix the which problems reported on geda-dev. Thanks. 2002-11-04 Egil Kvaleberg * configure.in: Changed AC_PROG_LEX to AM_PROG_LEX to cater for automake 1.6.3. Note that this also requires that autoreconf is run. 2002-11-03 Ales Hvezda * scripts/gschupdate, scripts/symupdate: Oops, these scripts will break if an attribute has a ='s in it. Fixed this by passing 2 as the LIMIT to perl's split. * configure.in: Updated version to 20021103 (an official version) 2002-10-31 Ales Hvezda * scripts/gschemdoc.sh: Changed the manual which is brought up when you run gschemdoc -m (from gschem.txt go gedadocs.html). * scripts/gschemdoc.sh: Added phoenix to the list of browsers. * scripts/gschemdoc.sh: Added another echo to output which browser has been found. 2002-10-29 Ales Hvezda * src/olib.l geda_sym_format.h: Added Mario Pascucci's olib converter. * README.olib: Added README for above. 2002-10-28 Ales Hvezda * configure.in: Bumped version to 20021031 2002-10-27 Ales Hvezda * configure and friends: Ran "autoreconf --force --install -v" to really upgrade to the newest version of the auto* tools. * scripts/gschemdoc: Applied Egil's patch to remove the -- for Netscape and Mozilla * gschlas/g_rc.c, g_register.c, i_vars.c, include/i_vars.h: Added force-boundingbox rc variable. * lib/system-gschlas.in: Added default for force-boundingbox variable 2002-10-19 Ales Hvezda * configure.in, *.m4: Upgraded to automake 1.7.1 and autoconf 2.54 2002-10-17 Ales Hvezda * configure.in, scripts/Makefile.am, scripts/config.sh.in, scripts/gschemdoc.sh: Added find documentation patch from Egil Kvaleberg. Thanks. 2002-10-07 Ales Hvezda * src/sarlacc_schem.c, scripts/sarlacc_sym: Added updates from Egil Kvaleberg. Thanks. 2002-09-22 Ales Hvezda * gschlas/: Added new libgeda program: gEDA schematic/symbol Load and Save. This program just loads the specified files and saves them in the current file format. gschlas is used by gschupdate and gsymupdate. * lib/, lib/system-gschlasrc.in: Added rc file for above * include/: Added include directory and files for above * scripts/gschupdate, gsymupdate: Updated to use gschlas. * configure.in and others: Updated scripts to search for libgeda and all the required programs. * configure.in: Bumped version to 20020922, which is NOT a release. 2002-09-07 Ales Hvezda * utils/convert_sym.c: Updated code to attach pinseq= and pinnumber= instead of pin#=# * utils/convert_sym.c: Updated code to attach netname= instead of label= * utils/convert_sym.c: Updated "v %s" string to be 19991011 which is the right version for the files convert_sym spits out. This should eventually be updated to the lastest version, but gschem will happily read in old files. * utils/convert_sym.c: Symbols/schematics that are outputed from this tool are now current to the 20020825 attribute scheme. * utils/gmk_sym.c: Updated code to output pinseq= and pinnumber= instead of pin#=#. * utils/gmk_sym.c: Symbols that are outputed from this tool are now current to the 20020825 attribute scheme. * utils/sarlacc_sym: Updated code to output pinseq= and pinnumber= instead of pin#=#. UNTESTED, but should be okay. 2002-08-14 Chris Ellec * utils/gmk_sym.c: Check for multiple instances of the same pin number and quit when this happens, give Fatal error messsage. 2002-07-30 Ales Hvezda * scripts/gsymupdate: Added code to properly convert type= and label= to pintype= and pinlabel= 2002-07-29 Ales Hvezda * scripts/gsymupdate, gschupdate: Added a check to not update if an equivalant .old file is found 2002-07-27 Ales Hvezda * scripts/: Created new directory for non-compiled utils * src/*: Moved non-compiled utils to scripts directory 2002-07-14 Ales Hvezda * src/convert_sym.awk, convert_sym.c, gmk_sym.c, sarlacc_schem.c, sarlacc_sym: Changed all user visible references of uref to refdes. * gsymupdate, gschupdate: Added code to convert uref= to refdes= * gsymupdate, gschupdate: Bunch of code to make these programs a lot more robust and useful. 2002-07-07 Ales Hvezda * src/gsymupdate, gschupdate: Added simple perl scripts to convert existing symbols and schematics to use the new attribute conventions 2002-07-06 Ales Hvezda * configure.in/Makefile.am: Upgraded to automake 1.6.2 2002-05-15 Chris Ellec * src/gmk_sym.c: Added a couple of data verifications to avoid seg faults when the input file has errors. 2002-04-08 Ales Hvezda * src/gmk_sym.c: Fixed a #ifndef to be MINGW32 correct 2002-04-03 Ales Hvezda * configure.in and friends: More work on getting the upgrade of autoconf, automake, and libtool to behave correctly. * configure.in: Added PATHSEP variable which holds the proper path separater depending on the platform. * lib/system-*.in: Work on getting rc files to use above variable. 2002-02-02 Ales Hvezda * src/sarlacc_schem.c: Put in placed the updated files from Dave Lawrence. Bug fixes 2001-07-22 Ales Hvezda * src/char_width.c: Added patch by Dan Mcmahill for 64-bit architectures. 2001-07-19 Ales Hvezda * configure.in: Bumped up version to 20010722 * configure.in: More updates to get cygwin to build right 2001-07-01 Ales Hvezda * configure.in: Make sure configure scripts work with autoconf-2.50 (had to fix cygwin check), they do not yet work with 2.50 * Cleaned up all the auto* related files to be current and not stale 2001-03-18 Ales Hvezda * Removed all Makefile.in files and configure 2001-03-17 Ales Hvezda * Got make dist and make distcheck working (means all files which are in CVS are in some Makefile) * configure.in: Added DATADIR instead of PACKAGE 2001-03-04 Ales Hvezda * src/gmk_sym.c: Patched file according to the fixes which Rolf Fiedler provided (polarity bubbles and clock symbols are not attached as attributes), also fixed the orientation of text for top and bottom pins. * configure.in: Updated version 2001-02-23 Ales Hvezda * src/gmk_sym.c: Added #include to see if that solves Hamish's build problem. 2000-12-03 Ales Hvezda * src/gmk_sym.c: Put in a #ifndef to make the cygwin port happy 2000-10-02 Ales Hvezda * src/gmk_sym.c: Changed the v output (version) to be a fixed date * src/convert_sym.c: Changed the v output (version) to be a fixed date 2000-07-12 Matt Ettus * gmk_sym.c: Pin Labels now properly attached to pins All text now has text origin info. (Not intelligent yet) Added class and pins attributes for allegro netlister Added uref attribute and optional footprint Dots and clock symbols for pins are now attached to pin, in preparation for (hoping for :) gschem handling this. 2000-07-04 Ales Hvezda * configure.in: Bumped version up to 20000704 2000-02-20 Ales Hvezda * src/*.txt: Added bunch of sample gmk_sym txt files by Marcus Isaksson 2000-02-19 Ales Hvezda * README/INSTALL: Updated files to reflect next release * src/*.c: Fixed all warnings (using -Wall -Werror) 2000-01-22 Matt Ettus * src/sarlacc_sym: Handles more cases of oddly formed pins 1999-10-16 Ales Hvezda * configure.in src/Makefile.am: Now searching for libgeda-config and added an include (-I) for libgeda includes (requested by Mike) 10/6/99 Moved Project Sarlacc into CVS 8/27/99 Set the program version to 19990829 to force Ales to release on the 29th :) Updated all *.c and *.h files to have the right address for the FSF in the copyright/licence header 7/22/99 Integrated utils directory into the new seperate build system Checked utils into cvs repository ----------- New seperate build system starts here ----------- 5/6/99 Added the latest gmk_sym (includes char_width.c and mk_char_tab.pl) from Jerry O'Keefe Added char_width.c to Makefile.am, removed it from being an included C file in gmk_sym.c 4/9/99 Renamed mk_sym to gmk_sym (Jerry's send a new one in) 3/30/99 Integrated Mike's latest viewlogic convert/smash code. (fixes the minor type with snprintf) 3/26/99 Added 8031.txt as an example file for mk_sym Put the latest version of mk_sym in place 3/25/99 #if 0'ed some code in convert_sym.c out just to make a -Wall -Werror compile happy, can be put back in; doesn't matter to me. 3/23/99 Integrated new C version of the ViewLogic utils by Mike in the ./configure/build mechanism Added more info related to these files to the README 3/22/99 Put the first version of the ViewLogic utils by Mike Jarabek in this dir Added info related to these files to the README 3/21/99 Created directory and put mk_sym.c into it Removed some // from mk_sym.c Created a README for the utils in this directory geda-gaf-1.8.2/utils/README0000664000175000017500000002112612204066537012127 00000000000000gEDA GPL Electronic Design Automation ------------------------------------------------------------------------------ README for utilities - Installation See the toplevel INSTALL for more instructions on general install instructions - System Requirements See libgeda/README for current system requirements. - Utilities gmk_sym Updated by Matthew Ettus, matt@ettus.com Jerry's instructions below still work. There are additional features for the first input line. See TL16C554AFN.txt for an example of the extended input Written by: Jerry O'Keefe, jerryok@pacbell.net This is a simple utility to convert comma separated descriptions into rectangular gschem symbols. It should be useful for easily creating memory, processors or connector style parts. All pin positions are in normal pin spacing (300). Pin styles supported are line, dot-line, and clock line. Pins can be placed on all sides of the symbol's box. For example to place a dot-line style pin of name INPUT at the normal pin 1 position of a IC would be: INPUT,1,dot,L,1 The size of the symbol's box is also in pin spacings. So a symbol with 6 inputs and 6 outputs would typically require a size of: 3 for width and 7 for height. See the included 7474.txt and 8031.txt as example files. This utility is not strong on error checking and slotting is not supported. gmk_sym typical use: ./gmk_sym 7474.txt >7474-3.sym gmk_sym is installed when make install is run. smash_megafile Written by: Mike Jarabek, mjarabek@istop.com smash_megafile is a C program that will take a viewlogic megafile and extract the contents into a directory of the same name, with one file representing each element in the library. This program should compile without any problems for anyone. This program cannot create megafiles, it can just extract all the contents. (Useful for say, extracting all the symbols from a library...) Be aware that megafiles from PC versions of ViewDraw use PC end of line terminations, it may be necessary to use a program like dos2unix to convert the resulting text files... before doing useful things with them. smash_megafile typical use: ./smash_megafile megafile where megafile is the name of a viewlogic megafile whithout any extensions. The file megafile.lib and megafile.tbl must exist in the same directory smash_megafile is installed when make install is run. convert_sym Written by: Mike Jarabek, mjarabek@istop.com convert_sym converts Viewlogic schematics and symbols into geda format. This utility should be considered a work in progress. Be warned, the program has a few limitations: 1) Some text spacing may be lost due to the way that I extract the text from the viewlogic records 2) Arcs in viewlogic are stored implicitly as a record where the arc passes through three points, the conversion from this format to geda's center/radius/start/stop notation is not exact, so some arcs may not render well. 3) Bubbles are drawn on pins that are negated. I believe the code is correct, but have not tried all the end cases. 4) Rotated and mirrored components may not show up correctly, but should be better now, thanks to patches from Thepthai Tabtieng . convert_sym (the C version) typical use: convert_sym -s viewlogic_symbol.1 > viewlogic_symbol-1.sym convert_sym viewlogic_schematic.1 > viewlogic_schematic-1.sch convert_sym is installed when make install is run. Thanks to Thepthai Tabtieng for code to support rotated and mirrored components, and a fix for component instantiations. Sarlacc (consists of sarlacc_schem and sarlacc_sym) Written by: Matthew Ettus Sarlacc is an OrCAD to gEDA format schematic converter. This software is beta, so it still has limitations. To convert files do the following: * Go into ORCAD, load up your schematic, and save it as "SDT IV format". All of the versions of ORCAD should be able to do this. This is the old ORCAD 16 bit format. In this process, your library parts will be converted to a new format. Along the way, there is an intermediate format which is all text. It is probably kept in your tmp directory (C:\windows\temp ?), and it has a .src extension. Save this file too. * To convert schematics type: sarlacc_schem orcadfile > gedafile.sch * To convert symbols type: sarlacc_sym orcadlibrary.src This will create individual .sym files for gschem. You will need to put them somewhere gschem will find them olib Written by: Mario Pascucci olib is a simple automated converter from OrCAD(tm) v4 (in SDT version 1.10) parts library (in ASCII dump format, through "decomp" utility) to gEDA component definition in .sym format file. refdes_renum Dan McMahill refdes_renum reads a gschem schematic file or files and renumbers all reference designators. The reference designators are numbered starting with 1 and the old schematic file is replaced by the modified schematic file. Run the program with no parameters or with --help to see usage information. tragesym Werner Hoch tragesym is a symbol creator for gEDA/gaf. The aim of this python script is to make it easier (and faster) to create symbols for gEDA. Program features: * create pins and arrange their elements (clocksign, dot, type, pinnumber, label) * sort pins alphabetical and numerical * swap words of pinlabels if wished * draw negation lines on the labels * rotate pinlabels if wished * some syntax check to the input file Please see the README.tragesym and ChangeLog.tragesym for more info. Be sure to look at the examples in examples/tragesym. There you will find the template.src file referenced in the README.tragesym file. pads_backannotate Dan McMahill A perl program which implements backannotation from Pads PowerPCB board layouts to gschem schematics. Please see the pads_backannotate.[dvi|html|ps|pdf] documentation for more details. gsch2pcb Bill Wilson gsch2pcb is conceptually based on the gschem2pcb shell script distributed with gnetlist, but additionally handles multiple schematics, handles element file footprints, and removes pc board elements corresponding to components deleted from the schematics. It also forward annotates component value changes. Please see the README.gsch2pcb file for more information. Also see examples/gsch2pcb/project.sample for an example of a project file. garchive Stuart Brorson This program is used to create a gEDA design archive. It operates in two modes: archive mode and extract mode. In archive mode it creates a project archive from a bunch of project files, and in extract mode it extracts the files from the archive and places them in the local dir. garchive requires python to run. Run: garchive -h for help information. schdiff Alan Somers This script is used to produce graphical diffs of gschem files. It integrates with Git, Mercurial, and Subversion. It requires ImageMagick to run. Run schdiff -h for usage instructions. - License gEDA/gaf (which includes libgeda, gschem, gnetlist, geda, setup, gsymcheck, gschcheck, gpcb, utils, docs, examples, all associated files, the component symbols, and all the file formats) is placed under the GNU Public License (GPL) version 2.0. See the various COPYING files for more information. Programs and associated files are: Copyright 1998-2006 by Ales Hvezda and the respective original authors (which are listed on the respective files) mk_sym is Copyright 1999 by Jerry O'Keefe smash_megafile is Copyright 1999 by Mike Jarabek convert_sym is Copyright 1999-2002 by Mike Jarabek All of sarlacc is Copyright 1999-2002 by Matthew Ettus gschlas is Copyright 2002 by Ales Hvezda olib is Copyright 2002 by Mario Pascucci refdes_renum is Copyright 2003 by Dan McMahill tragesym is Copyright 2001-2003 by Werner Hoch pads_backannotate is Copyright 2003 by Dan McMahill gsch2pcb is Copyright 2003-2004 by Bill Wilson garchive is Copyright 2003 by Stuart Brorson - gEDA Internet resources Homepage: http://www.geda-project.org Mailing lists: http://wiki.geda-project.org/geda:mailinglists For any questions related to gEDA/gaf, please subscribe and post to the "geda-user" mailing list. geda-gaf-1.8.2/utils/Makefile.in0000664000175000017500000005504312220655726013323 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = utils DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am AUTHORS \ ChangeLog README ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = src gschlas scripts gxyrs lib include examples docs tests EXTRA_DIST = ChangeLog ChangeLog.tragesym-1.0 ChangeLog.gsch2pcb-1.0 \ ChangeLog-1.0 AUTHORS MOSTLYCLEANFILES = *.log core FILE *~ CLEANFILES = *.log core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in ChangeLog all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu utils/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu utils/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic clean-libtool cscopelist-am ctags \ ctags-am distclean distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags tags-am uninstall uninstall-am @HAVE_GIT_REPO_TRUE@ChangeLog: $(top_builddir)/stamp-git @HAVE_GIT_REPO_TRUE@ (cd $(srcdir) && $(GIT) log --pretty=medium $(CHANGELOG_BASE).. -- .) > $@ # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/utils/AUTHORS0000664000175000017500000000104612050461155012310 00000000000000gEDA GPL Electronic Design Automation ------------------------------------------------------------------------------ utils AUTHORS gmk_sym char_width.c Written by : Jerry O'Keefe smash_megafile convert_sym.awk convert_sym.c Written by : Mike Jarabek sarlacc Written by : Matt Ettus gschupdate Written by: Ales Hvezda gsymupdate Written by: Ales Hvezda olib Written by: Mario Pascucci refdes_renum Written by: Dan McMahill tragesym Written by: Werner Hoch pads_backannotate Written by: Dan McMahill gsch2pcb Written by: Bill Wilson geda-gaf-1.8.2/utils/ChangeLog0000664000175000017500000023372612220655760013034 00000000000000commit 875406c9d1211fd88e3e7e1ee5349cba41a7becf Author: Peter TB Brett Date: Wed Sep 25 22:17:56 2013 +0100 Update NEWS and version information for 1.8.2. commit 1dd3f5d77dc013624f6848801f4885c485595425 Author: Peter TB Brett Date: Wed Sep 25 22:34:27 2013 +0100 build-sys: Don't use Automake test driver unless actually necessary. Most of the tests in geda-gaf actually provide their own test drivers in the form of a shell script. It's actually better just to run them directly in a check-local rule than to use the Automake test driver (which eats all the output now that parallel tests are being used). (imported from commit b7a373f8846fa91c92e4a628e0691b7f865af3e0) commit d088ec192ac9fbc1dff3509527cb238520c2ee33 Author: Peter TB Brett Date: Fri Nov 23 21:24:42 2012 +0000 Update version numbers to 1.8.1. commit 128b2532fd733616037fb1363f4d0f21a804a36b Author: أحمد المحمودي (Ahmed El-Mahmoudy) Date: Fri Nov 23 21:11:20 2012 +0000 Various manpage fixes * Fix typo in gxyrs manpage * Fix whatis entry in gmk_sym manpage * Fix hyphens Closes-bug: lp-1081303 (imported from commit 2db16cd536b95ffb98721946aa36984f8a41d896) commit 87f1e0e76965a514277c949dbf2191993962cb88 Author: Peter TB Brett Date: Sun Nov 18 15:26:09 2012 +0000 Update version numbers to 1.8.0-20121118. commit 22b71fb85dd6b5665c3961d9d06e1355ebf5b358 Author: levente Date: Fri Apr 20 00:00:00 2012 +0000 gsch2pcb: Handle unit suffixes at element update. gsch2pcb rewrites the Element() line while it updates an element. The coordinates are interpreted by atoi(). New versions of PCB uses unit suffixes like 12.4mm. When this read by atoi(), it'll return only the integer part. It then writes back to the Element, without suffix. PCB then interpret as micro inches. Closes-bug: lp-986053 Reviewed-by: Peter TB Brett commit f7fab3715f984c374f41d7c2d74fc2802bbb4e7a Author: Gareth Edwards Date: Wed Nov 14 22:58:12 2012 +0000 Replace references to geda.seul.org with up-to-date URLs. Update lots of links to seul.org to www.geda-project.org, wiki.geda-project.org, gedasymbols.org and www.gnu.org as appropriate. commit 7fa131aa1b861c1c1c5f3c48230742ee60e4d2b7 Author: Gareth Edwards Date: Thu Nov 15 08:52:22 2012 +0000 utils: fix typo in pads_backannotate man page commit f0923997c5ea727f6b73afad23ee2f974ac6b6b0 Author: Gareth Edwards Date: Sun Mar 18 11:36:59 2012 +0000 Update FSF mailing address. Change all references to the FSF mailing address to the new Franklin Street location. Closes-bug: lp-934934 commit e2eda476fb8f3a16aeba8eab0cc8b7fa12e37d6b Author: Ales Hvezda Date: Sat Dec 31 16:00:23 2011 -0500 Updated man page date and version in prep for a new release (1.7.2) commit 038b86468ead7a1acf48e79a06cef8998d42242c Author: Gareth Edwards Date: Fri Dec 23 22:12:20 2011 +0000 Add manpages for sarlacc_schem, sarlacc_sym. Add manpages for the OrCAD converter utilities sarlacc_schem and sarlacc_sym. Update build targets and gitignore. Closes-bug: lp-698849 commit 6eb6fa5e2a5aeaa12f33d7238c35f71242005561 Author: Gareth Edwards Date: Wed Dec 21 22:38:43 2011 +0000 Add manpage for gsymfix. Add manpage for gsymfix(1), add to build targets and gitignore Affects-bug: lp-698849 commit 7cd21a46a827e37537e256760a10c2a1ae824679 Author: Gareth Edwards Date: Wed Dec 21 22:49:14 2011 +0000 Rename "gsymfix.pl" to "gsymfix". Since this script is installed into $prefix/bin, rename it to the more command-like "gsymfix". Updated build system for new file, and updated NEWS file appropriately. commit 276c8f36273de940eef281d650eee142e541cf26 Author: Gareth Edwards Date: Wed Dec 21 21:42:47 2011 +0000 Add manpage for gschlas Add manpage for gschlas(1), add to make targets and gitignore. Affects-bug: lp-698849 commit b4d29aabc23e1c387657833424ad4aed5c584849 Author: Gareth Edwards Date: Mon Dec 19 14:52:41 2011 +0000 Move gsymupdate and gschupdate to "not installed". These two scripts have comments that say "Right now this program should only be run against schematics which are either version 20020527 or earlier." I believe they were useful 10 years ago but not so much now, so there's no need to install them into $prefix/bin. Affects-bug: lp-698849 commit 7e4cc25ae7e93980ea2d586fc294c627542f83b3 Author: Gareth Edwards Date: Mon Dec 19 07:31:09 2011 +0000 Add manpage for gnet_hier_verilog.sh Add a manpage for gnet_hier_verilog.sh and also move it to noinst_MANS so it doesn't get installed into $prefix/bin. Affects-bug: lp-698849 commit 79b5727fd131179a7abd133e556cfb2f0e99af40 Author: Gareth Edwards Date: Mon Dec 19 07:32:55 2011 +0000 Utils: Fix trailing whitespace in garchive man page. Commit a464d46fd had inadvertently left trailing spaces on a couple of lines, this commit removes them. commit e100dbd692346fb15de8bfd53865db5553f7db86 Author: Gareth Edwards Date: Sun Dec 18 19:12:24 2011 +0000 Add manpage for gmk_sym. Affects-bug: lp-698849 commit a464d46fde3df46d2d36ca2ef1c36d49bd5b94fe Author: Gareth Edwards Date: Sun Dec 18 14:10:09 2011 +0000 Add manpage for garchive Affects-bug: lp-698849 commit b14c43e2e50eb7946304646a2dfd34d5716ca8af Author: Gareth Edwards Date: Sun Dec 18 13:42:21 2011 +0000 Add tragesym.html manpage rendering to gitignore commit 4e29a2afab4ccdfa2c43a2fcf5320d45190d93f1 Author: Gareth Edwards Date: Sun Dec 18 13:40:24 2011 +0000 Add manpage for convert_sym(1). New manpage for convert_sym, and add to build targets and gitignore. Affects-bug:698849 commit 77e61fd5cf2526f1446985676ddc04fcb3d9f4de Author: Gareth Edwards Date: Sun Dec 18 18:31:04 2011 +0000 Expand html man page names properly. Fixes an issue in 7d0ed87ac where the expansion of filenames was not happening properly due to a typo in the make subsitution macro. commit c232f64ab04da64f192fc24d5213f3455772fd79 Author: Gareth Edwards Date: Sun Dec 18 11:29:26 2011 +0000 Add manpage for smash_megafile(1) Add the manpage for smash_megafile and added it to build sources in the make infrastructure and gitignore. Affects-bug: lp-698849 commit b6ebe551f2f67f0d984a99c77b1582e92f9bab14 Author: Gareth Edwards Date: Sun Dec 18 18:38:06 2011 +0000 utils: add olib.html to gitignore This was missed in the addition of the manpage in commit 9497429a2. commit 44c8ea19dd71d3ae9757a5f9161c09bcaa47eebf Author: Peter TB Brett Date: Sun Dec 18 09:34:42 2011 +0000 Update .gitignore files for sw2asc move. commit 9497429a24e873530186a9b17cd82d295b44ac32 Author: Gareth Edwards Date: Sat Dec 17 09:35:57 2011 +0000 Add man page for olib(1). Added man page for olib based on the README.olib, added HTML versions to build targets and gitignore. Affects-bug: lp-698849 commit 049b297aaf13aee06ea3c0246a8cd2401cb5b65e Author: Gareth Edwards Date: Wed Dec 14 07:23:50 2011 +0000 Add man page for tragesym(1). Create a new man page for tragesym starting from the text in README.tragesym. Affects-bug: lp-698849 commit 7d0ed87ac60ad394aee2dd35f81e9f17336b51ee Author: Peter TB Brett Date: Sun Dec 18 08:45:16 2011 +0000 utils: Generate HTML of all man pages. Reported-by: Gareth Edwards commit 6db1ebe332d3dd78367459dc4676af6fcce8b330 Author: Dan McMahill Date: Sat Dec 17 12:14:37 2011 -0500 Move the sw2asc script out of the gnetlist tree and into the utils tree where it belongs. This script is not really a gnetlist utility but rather one used to help extract some simulation results. It is used with the SWITCAP2 switched capacitor circuit simulator which is supported by a gnetlist backend and gschem library. commit 49fb5830b0990cc1f84a3ef966277dead9a6d847 Author: Dan McMahill Date: Sat Dec 17 12:10:57 2011 -0500 Fix a few typos and also correctly identify -V with version and -v with verbose commit 90475267fe88bacd8c36121335904c58f7a76547 Author: Dan McMahill Date: Sat Dec 17 12:09:23 2011 -0500 Add man page for sw2asc. Affects-bug: lp-698849 commit e8049ecbcab0dda94245b6ded9a2d89bfcf6733e Author: Dan McMahill Date: Sat Dec 17 11:48:10 2011 -0500 Update the options parsing to take short options as well as long options. This brings the script behavior more in line with the man page description and also provides the short options which are prefered by some users. commit 7a54f5fbdc0985ff9d2e399c2386bac7b53b093a Author: Dan McMahill Date: Sat Dec 17 11:21:40 2011 -0500 Add man pages for pcb_backannotate and pads_backannotate. Affects-bug: lp-698849 commit 56c72d5f24d6c80d47d6c114a1bcae1156c68ce6 Author: Peter TB Brett Date: Thu Dec 15 08:45:13 2011 +0000 schdiff: Use a here document for usage. commit 79713159cdb78fc17f48c7cd2ad34c130a33fb96 Author: Alan Somers Date: Thu Dec 15 08:33:19 2011 +0000 schdiff, a graphical diff tool for schematics. Closes-bug: lp-1442898 commit ce4662cfda106f037b02e165a97d73121f0ea195 Author: Gareth Edwards Date: Mon Dec 12 22:44:25 2011 +0000 Add man page for refdes_renum and explain examples. Convert the usage message from the Perl source for refdes_renum into a man page for said script. Also add a brief description of what the examples do to the refdes_renum script usage() message. Affects-bug: lp-698849 commit 0e506ebd5d5cc87a7f373b83b24f2ad3c90fd18b Author: Peter TB Brett Date: Mon Dec 12 14:13:22 2011 +0000 Remove per-tool INSTALL files. Only one top-level INSTALL file is needed, and that is provided by automake. commit c5b473354b2340b42d1a48436fb4da113b34657f Author: Peter TB Brett Date: Sun Dec 11 22:18:22 2011 +0000 gsch2pcb: Make --m4-file and -m4-pcbdir arguments work again. These options were broken in commit 6d935086d299, and haven't worked since before 1.6.x. Since no-one had reported it a bug in all that time, it's obvious that no-one was actually using them, and we could probably get away with just deleting them. But making them work again will work as well. Closes-bug: lp-897661 commit 23d8520c810c7f7747b1df45ce6315d1abd6f62f Author: Peter TB Brett Date: Sun Dec 11 09:18:51 2011 +0000 gsch2pcb: Fix memory leak with multiple --m4-pcbdir arguments. commit 18f88729bec5c5ef120d123ce7dcee7537bc6c04 Author: Peter TB Brett Date: Sun Dec 11 02:03:37 2011 +0000 gsch2pcb: Show subprocess output in verbose mode. Commit fdd787ab8698 prevented gsch2pcb from ever outputting subprocess standard output, even in verbose mode. However, sometimes it's useful to see the output of subprocesses, e.g. backend configuration info from the gsch2pcb gnetlist backend. This patch makes gsch2pcb output subprocess standard output when in verbose mode, but suppress it normally. Closes-bug: lp-713968 commit 0e6193a0aa8b8105ef7494a5fac80d3929cf1c4d Author: Peter TB Brett Date: Sun Dec 4 18:50:24 2011 +0000 utils: Fix some "set but not used" warnings. commit 579fbb4828a71ae2c78f270c3e7d1779c52e8997 Author: Peter TB Brett Date: Tue Nov 29 13:23:33 2011 +0000 gsch2pcb: Remove "m4-command" project file option. The "m4-command" option permitted in gsch2pcb project files allows the M4 command line generated by gsch2pcb to be replaced by an arbitrary command line. This patch removes the option. commit 400f396b8aa598017fda2ead72c2fbc72b1fc321 Author: Krzysztof Kościuszkiewicz Date: Sun Aug 28 02:26:55 2011 +0200 gsch2pcb: do not use sys/wait.h macros These are not available on windows - exit status of subprocess is directly returned by g_spawn_sync. It seems same trick should work for Unix/Linux processes that called exit(0), so we should be safe here. If not, we can include conditional compilation based on G_OS_WIN32. commit f70e0ec9cb2ea1b9518642f7e300c1fc230b1d5a Author: Krzysztof Kościuszkiewicz Date: Sun Aug 28 02:03:45 2011 +0200 gsch2pcb: whitespace fix commit 987021bbb5f65ce3d28bc05f1c715b49a8a8e015 Author: Eivind Kvedalen Date: Fri Jul 8 21:25:08 2011 +0100 Improved error handling in gsch2pcb. gsch2pcb: The return code from g_spawn_sync is checked when executing gnetlist. If g_spawn_sync is successful, the exit code from gnetlist is checked, and anything but a non-zero exit will be flagged as an error, and standard error from gnetlist will be forwarded to the terminal. Notice that gnetlist may have a successful exit code, even when errors are encountered, see bug lp-700448. Affects-bug: lp-806686 commit 12260baebf9f828e9297fc794e911224b8dcd163 Author: Ales Hvezda Date: Sun Jun 19 10:36:02 2011 -0400 Updated all man page dates/versions commit 8dcbaf1a2356acafd4b6f4247f1c6f426cf1247f Author: Ivan Stankovic Date: Fri Jun 17 21:23:55 2011 +0200 gschlas: g_rc_gschlas_version: remove use of deprecated SCM_STRING_CHARS Reviewed-by: Peter TB Brett commit 4a90c799782fc817776e365bddeb89eb0c5945a1 Author: Kai-Martin Knaak Date: Wed Feb 23 11:33:00 2011 +0100 Better reflect the current homepage situation in the URLs modified: utils/src/gsch2pcb.c * Don't link explicitely to the wiki. Almost the whole geda homepage is wikified now. This link is dead, anyway: http://geda.seul.org/dokuwiki/doku.php?id=geda * Link to the online manual of gnetlist http://geda.seul.org/wiki/geda:gnetlist_ug * point to pcb.gpleda.org rather than to sf.net for pcb documentation * point to gpleda.org as home page of gEDA modified: utils/scripts/pcb_backannotate * Yet another link to sourceforge replaced by pcb.gpleda.org Reviewed-by: Krzysztof Kościuszkiewicz Closes-bug: lp-723642 commit fdd787ab8698585d5d10ba2cf2e5dd716388460a Author: Peter Clifton Date: Tue May 10 20:35:42 2011 +0100 gsch2pcb: Follow g_spawn_sync() documentation and pass required flags The documentation for g_spawn_sync() tells us that we must pass the flags G_SPAWN_STDOUT_TO_DEV_NULL and G_SPAWN_STDERR_TO_DEV_NULL if we pass NULL for the stdout and stderr returns from the command. These flags cause g_spawn_sync() to redirect stdout and stderr to /dev/null rather than assigning pipes to them. No known bug is fixed by this, but it is possible that without these flags, either the stdout or stderr pipes' buffer could become full if the command executing emits enough data. This might lead to both processes stalling. Whilst I was touching this code, I added some comments as to the meaning of the various NULL arguments we pass to g_spawn_sync(). commit 3a5644f8804fe73e15d79db1dd2959a66aef7fe7 Author: Peter Clifton Date: Tue May 10 20:26:27 2011 +0100 gsch2pcb: NULL termiate the argument list to g_spawn_sync() Fixes mysterious failures which leave a message on the console: gsch2pcb: gnetlist command failed, `' not updated at least gnetlist 20030901 is required for m4-xxx options. Could potentially be a security flaw, as the argument list to execute would be parsed off the end of unallocated memory until a NULL pointer happened to be found. Might fix crashes, but couldn't find any relevant bug reports. commit 7cc025db90267d5cb5b038e2cc39cb15544e0367 Author: Peter Clifton Date: Mon Mar 21 19:21:49 2011 +0000 Remove OBJECT->sel_func in favour of an OBJECT->selectable flag Only gschem called OBJECT->sel_func anyway, so lets avoid passing vfunc pointers everywhere as a flag. This has the added benefit of removing some dummy functions from gattrib and gschlas which were only present so the status of locked objects could be preserved across load/save. commit c7e23d6238b0013830f0db4157a799c0657936cb Author: Krzysztof Kościuszkiewicz Date: Fri Mar 18 01:03:16 2011 +0100 gsymfix.pl: change default values for missing attributes According to Master Attribute Document valid values are device=none, footprint=none or footprint=unknown. Closes-bug: lp-715503 commit 6c4b8a72cd917872709bfb7918f9a1141d9c8548 Author: Krzysztof Kosciuszkiewicz Date: Tue Mar 8 23:45:22 2011 +0100 gsch2pcb: replace g_spawn_* with build_and_run_command Affects-bug: lp-726828 commit 1ac00b2ab05de162319119c389f63e3841303f8e Author: Krzysztof Kosciuszkiewicz Date: Tue Mar 8 00:44:00 2011 +0100 gsch2pcb: run_gnetlist now uses build_and_run_command Affects-bug: lp-726828 commit a7a0bd24515bef8bcad69ae9321b4a8e5cbba738 Author: Krzysztof Kosciuszkiewicz Date: Tue Mar 8 00:52:16 2011 +0100 gsch2pcb: helper function build_and_run_command Add a helper function to build and execute commands without relying on shell to split and parse command line. Affects-bug: lp-726828 commit b3e10e97a110e6976aa3b8d12ea8037bf45f4d2e Author: Krzysztof Kosciuszkiewicz Date: Mon Mar 7 02:36:57 2011 +0100 gsch2pcb: keep multiple schematic files in a list Affects-bug: lp-726828 commit 5b1ad217680aeddc4388b513fe2e41f0d9acee21 Author: Krzysztof Kosciuszkiewicz Date: Mon Mar 7 01:16:11 2011 +0100 gsch2pcb: support quoting in schematics option Use g_shell_parse_argv to support spaces in filenames. Affects-bug: lp-726828 commit 6f705051d3b5b7ae380d0e13ad6fb8f4568066d2 Author: Krzysztof Kosciuszkiewicz Date: Mon Mar 7 01:01:38 2011 +0100 gsch2pcb: fix check for filename ending with .sch commit 799d67452921ed1447e8b030ee268fe8c34c5785 Author: Ales Hvezda Date: Sun Jan 16 00:15:29 2011 -0500 Updated version strings in all man pages commit 502ab80495c45e092eca6052edd6cf8e7ff55429 Merge: 27f7a52 e1c3ba4 Author: Peter TB Brett Date: Thu Jan 13 19:59:35 2011 +0000 Merge branch 'stable-1.6' Conflicts: NEWS libgeda/include/prototype_priv.h libgeda/src/gdk-pixbuf-hacks.c libgeda/src/o_basic.c libgeda/src/o_complex_basic.c utils/src/gsch2pcb.c commit 7ca2b049dbcfb9f0eb8d3dd3fcf21cbd66c0ec95 Author: Peter TB Brett Date: Wed Jan 12 17:03:44 2011 +0000 Print message and exit if rc file load fails. Modifies g_rc_parse() to print useful messages to standard error and exit with non-zero status if an error other than ENOENT occurs while attempting to parse any configuration file. N.b. only copes with rc files loaded at startup; rc files loaded later (e.g. a gafrc auto-loaded while loading a schematic using gschem "File->Open") can't cause the application to die. Since this means that under some circumstances gschem and gattrib can appear to do nothing silently (e.g. when launched from via a .desktop file) subsequent patches need to make gschem and gattrib generate appropriate warning and/or error message dialogs. Affects-bug: lp-698578 commit 8ea29eed4fdc4b756e0437bb086b27d61b1eb7a0 Author: Peter TB Brett Date: Sat Jan 8 11:48:28 2011 +0000 gsch2pcb: Don't allow `gnetlist-arg' in project file. Closes-bug: lp-700194 commit 16b3d32fcf8458389a491aed9437be835131b4b9 Author: Peter TB Brett Date: Sat Jan 8 10:55:12 2011 +0000 gsch2pcb: Don't allow `gnetlist-arg' in project file. Closes-bug: lp-700194 commit 8a3a0bb070d1b288fceac2fcdd7b317a8f77a464 Author: Peter TB Brett Date: Fri Jan 7 22:00:09 2011 +0000 Update FSF address in copyright headers. The FSF have now moved to 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Our GPL and LPGL copyright headers need to updated to reflect this. Only files remaining with old address are wiki files (although the wiki has now been updated) and PostScript files. commit 86c305d9a2c62f062cbd9b63810a0173e4855310 Author: Peter TB Brett Date: Fri Jan 7 14:53:51 2011 +0000 Install HTML versions of manpages even without groff. If groff isn't available, try to install HTML manpages anyway. This allows users to install manpages even if they don't have groff as long as they aren't compiling from git and don't edit the manpages. Closes-bug: lp-698586 commit 7cf7a33ea187092c242bad45512134b27627f93b Author: Peter TB Brett Date: Thu Jan 6 22:48:26 2011 +0000 utils: Tidy up manpages. Put utils manpages in utils/docs to match other manpages. Ensure gxyrs.html is created & distributed. commit 92bbcfafd4e8e6cc53e02d15b4574e0a5bdb2209 Author: Peter TB Brett Date: Wed Jan 5 17:49:08 2011 +0000 gsch2pcb: Add man page. commit dd6edbc063472ab92f77bac39d9da38536c45274 Author: أحمد المحمودي (Ahmed El-Mahmoudy) Date: Tue Jan 4 15:37:48 2011 +0000 utils: Don't use string exceptions in Python code. [3014181] utils/scripts/garchive.py uses string exceptions which have been deprecated in Python 2.5, and has been removed in Python 2.6. The attached patch fixes this issue. commit dc5dc7051c988d63941454df58dd635eb66611c1 Author: Peter TB Brett Date: Tue Jan 4 11:51:39 2011 +0000 gsch2pcb: Clean up formatting. Re-format gsch2pcb.c using GNU indent, followed by manual pass to tidy comments. commit 1e93f7bea2cbe0fa8887337c261093b55c31dd6d Author: Peter TB Brett Date: Mon Jan 3 23:07:25 2011 +0000 Revert "Remove some CVS keywords." This reverts commit f5ada1de1372bd3772b4f4bd33afa59803c1dade, which was pushed to the repository in error. commit f5ada1de1372bd3772b4f4bd33afa59803c1dade Author: Peter TB Brett Date: Tue Dec 21 12:37:10 2010 +0000 Remove some CVS keywords. commit 3abdca2a4ee088184e976822c444069d67e20a20 Author: Peter TB Brett Date: Tue Nov 2 10:27:25 2010 +0000 libgeda: Add PAGE argument to file load/save functions. commit 7fdc71ea471ab0ff89932d49f92436c62f2a8882 Author: أحمد المحمودي (Ahmed El-Mahmoudy) Date: Sun Oct 31 19:29:57 2010 +0000 utils: Don't use string exceptions in Python code. [3014181] utils/scripts/garchive.py uses string exceptions which have been deprecated in Python 2.5, and has been removed in Python 2.6. The attached patch fixes this issue. commit cd369fce23897f3e0c28c7db5f7923edee3ff34c Author: Carlos Nieves Onega Date: Mon Sep 13 04:05:03 2010 +0200 Added gxyrs man page. Added gxyrs man page. This closes bug #2836717. commit 0e5defe4871370a93c6ccb8bbf4a10e5df098884 Author: Ales Hvezda Date: Sun Feb 14 21:26:37 2010 -0500 Updated man page dates (cherry picked from commit 11921dc18209ed4ea12288114634bb94a5b9b8a9) (from stable-1.6) commit c31d9a1a90db32dd1e1d41f9d3d5ef5888424ba1 Author: Ales Hvezda Date: Sun Feb 14 17:09:45 2010 -0500 Updated copyright text/header in most source files. Updated all copyright text dates that should be updated for the new year. Fixed a bunch of GNU text typos (these should have been either GPL or gEDA). Removed some $Id$ tags which are no longer used/needed. Fixed a few file header that were just plain incorrect. (cherry picked from commit bd34cfde2450790b357e574281f9562adce64303) (from stable-1.6 branch) commit 11921dc18209ed4ea12288114634bb94a5b9b8a9 Author: Ales Hvezda Date: Sun Feb 14 21:26:37 2010 -0500 Updated man page dates commit bd34cfde2450790b357e574281f9562adce64303 Author: Ales Hvezda Date: Sun Feb 14 17:09:45 2010 -0500 Updated copyright text/header in most source files. Updated all copyright text dates that should be updated for the new year. Fixed a bunch of GNU text typos (these should have been either GPL or gEDA). Removed some $Id$ tags which are no longer used/needed. Fixed a few file header that were just plain incorrect. commit c603cb9f75068837eb8f5a309f590fb3d8e5156e Author: أحمد المحمودي (Ahmed El-Mahmoudy) Date: Fri Nov 20 16:23:15 2009 +0000 Fix for some manpage issues. [2901183] Fixes undefined use of `l' macro, and incorrect uses of `-' character. (cherry picked from commit 93dd5a941f34d1dd58cf9a57a07dec1e01ce3afe) commit 93dd5a941f34d1dd58cf9a57a07dec1e01ce3afe Author: أحمد المحمودي (Ahmed El-Mahmoudy) Date: Fri Nov 20 16:23:15 2009 +0000 Fix for some manpage issues. [2901183] Fixes undefined use of `l' macro, and incorrect uses of `-' character. commit 858982a2a05ff3e128de3621f1d301ecd989f35c Author: Gareth Edwards Date: Fri Nov 20 06:39:59 2009 +0000 Changed message on failure to generate doxygen docs If --enable-doxygen was not a configure flag, change the error message on an attempt to build doxygen documentation to suggest the configure flag was the cause of the failure rather than the lack of a doxygen install itself. commit 1248c66c7973f8d3835f6107d3f1ed9c5c880b43 Author: Gareth Edwards Date: Fri Nov 20 06:39:59 2009 +0000 Added doxygen targets to remaining applications. commit 3fd50335ddfe0ed7f358d46a0fba23bff25073e6 Author: Ales Hvezda Date: Sun Oct 4 21:23:05 2009 -0400 Updated date and version in all man pages commit 45002f0be0efb9638bcb96e67bbd1e5d3cd602c6 Author: Ales Hvezda Date: Sun Aug 30 19:26:36 2009 -0400 Updated all manpage versions in prep for a new release (v1.5.4) commit b0fa7dd7839915703d9101006bed1c7305477e30 Author: Ales Hvezda Date: Sat Aug 29 16:51:44 2009 -0400 Updated the versions of the software in all man pages commit a8295ba6d957394c9d56465bc2bfc14a43fc251d Author: Ales Hvezda Date: Sat Aug 29 13:14:57 2009 -0400 Added some machine generated documentation files to be ignored commit 6726beb5c3e3d30ade6d486d8760fc789118d1eb Author: Ales Hvezda Date: Sat Aug 29 10:36:32 2009 -0400 Changed the order of the subdirs so that make check builds gxyrs earlier commit ff6ea4955d0490d6436bc74d840325e76098304f Author: Peter TB Brett Date: Thu Aug 13 07:56:57 2009 +0100 build-sys: Don't use AC_HEADER_DIRENT. The Autoconf manual says that AC_HEADER_DIRENT is now unnecessary: This macro is obsolescent, as all current systems with directory libraries have `dirent.h'. New programs need not use this macro. This patch removes AC_HEADER_DIRENT and all checks for HAVE_DIRENT_H. It turned out that in most of the places where `dirent.h' was being #include'd it wasn't needed anyway. (Fix for a Cygwin build bug reported by Dan McMahill). commit cf772193f3042184e5ca624cc7b1e8daef6f4a53 Author: Peter TB Brett Date: Thu Aug 13 06:43:16 2009 +0100 build-sys: Improve HTML conversion rules. We want to make sure the HTML version of the man pages is always distributed, but make building/installing it optional (in case users don't have a proper groff installed). This can be achieved by making sure that Automake only tries to install the HTML man pages if a working groff is available. In addition, `make distcheck' is set up to behave as if groff is not installed. Unfortunately, this still isn't ideal, because users who build from a source archive (with pre-built HTML) won't get HTML installed unless they have a working groff. In the long run, what needs to happen is to use a mechanism like `missing' to handle rebuilding of HTML man pages -- or just drop HTML man pages altogether. commit 821845073b187409488bbf78ed947fd084439546 Author: Peter TB Brett Date: Mon Aug 10 18:56:20 2009 +0100 gsch2pcb: Check for and reject non-footprint PCB files. A common error is to save a footprint from PCB as a layout rather than as an element. This patch modifies gsch2pcb to attempt to check for this error. If a layout file is detected, it is rejected and a warning printed. commit 98fc06c271432b9f59ca49865b8ca9dbe844b9de Author: Ales Hvezda Date: Sat Aug 8 00:44:40 2009 -0400 More Makefile.am cleanup Details on this commit: * Removed even more trace of the old prototype mechanism from the Makefiles. * Removed the cleanup of configure scripts which are no longer there (or for that matter were never in the same directory as some of these Makefiles). * Removal of some files from the *CLEANFILES rules which never existed. * Line length tweaks and fixes commit 4866b0224a471a2b1cf5ee5e9043d1eba5b89d61 Author: Ales Hvezda Date: Sat Aug 8 00:24:35 2009 -0400 Added some of the doc support files to EXTRA_DIST Some of these newer doxygen files still need some Makefile infrastructure, but at least they will be distributed as part of the gEDA-geda tarball. commit 4434f5dc30f944f0cc45bb5b6cd24770117f65c9 Author: Ales Hvezda Date: Fri Aug 7 23:53:08 2009 -0400 Trimmed the filename length of some gxyrs output files make distcheck was having some path length issues with the renamed files in this commit. More specifically, tar was complaining the path length exceeded some sort of limit, which eventually caused make distcheck to fail badly. This bug was ticked by the next commit (where the package name was lengthened). commit a4a8c19bb3389548d641a0874a77c77f623ad7a5 Author: Ales Hvezda Date: Fri Aug 7 23:02:01 2009 -0400 Makefile.am cleanup (removal of ChangeLog and Makefile.in files) Details on this commit: * Now that we are no longer storing machine generated ChangeLogs inside the git repository, make maintainer-clean should remove the machine generated ChangeLogs. This way nobody accidently edits the ChangeLog. Only 7 ChangeLogs are left after a make maintainer-clean (intl, po, and one toplevel ChangeLog). * Some directories were missing the removal of Makefile.in when make maintainer-clean is run. Only 3 Makefile.in files remain now after make maintainer-clean (only in the intl directories). * Removed $Id$ tags from some of the Makefiles since we are no longer using CVS. * Removed some unnecessary ChangeLogs from ever being created (from example/gTAG gschem/scripts, and symbol/font). Note 1: There are still some machine generated files still hanging around, but I'm going to leave those alone for now as the .gitignore mechanism properly masks those. Note 2: Made sure that all files that are to be removed in the *CLEANFILES lists comes before the #*# otherwise they will be ignored. commit 33847dd773fbe332c154fcc1a82e5fdd7c2201c4 Author: Ales Hvezda Date: Fri Aug 7 22:07:45 2009 -0400 Removed all trace of the prototype.h creation mechanism plus other removal The old prototype.h creation mechanism hasn't been used in years and now has been fully removed. Also removed common/outputs/Makefile.am since it no longer used either. commit 1a3b04db4b811a853b9d2d7c5c57038f2146f919 Author: Ales Hvezda Date: Fri Aug 7 21:21:22 2009 -0400 Added a bunch of files that should be included in any distribution The only file which I might want to not distribute is update-version.sh, which technically is a developer/maintainer only file, but for now I'll include it. Also libgeda/docs/images isn't integrated into the build properly yet, so it will not be in the distribution for now. commit fc2b205314545d92ea2a7e8f40a7a4c7d5af893d Author: Peter TB Brett Date: Thu Aug 6 17:15:29 2009 +0100 Don't store git-generated ChangeLog files in repository. Don't store ChangeLog files in the git repository and have to remember to update them each time a release is made. Instead, get `make dist' to create the ChangeLogs for you if a git repository is detected. Note: make distcheck does not pass in this commit. commit 77d96e9154d9cfc81b25353ef99b8f8f42999bfb Author: Peter TB Brett Date: Thu Aug 6 14:35:12 2009 +0100 Add top-level NEWS file. This contains important user-visible changes. It should be kept up-to-date, in order to make writing release notes easier. commit 433c672579aabb282999377139c9242b319ba044 Author: Peter TB Brett Date: Thu Aug 6 12:38:31 2009 +0100 Only need a single `AUTHORS' file. Move the gschem one to the toplevel (adding several missing names on the way), and remove most of the others. The `AUTHORS' files in the `symbols' and `utils' directories are retained, because they contain some useful information. Note: make distcheck does not pass in this commit. commit ed7134fd403b9f1dc0a75d50e4e7bcfb2fd95cb8 Author: Peter TB Brett Date: Thu Aug 6 11:19:57 2009 +0100 Only need one copy of GPLv2. Also, update to latest version of GPLv2 (from http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt). This corrects the FSF contact address, along with some minor formatting modernisations. Note: make distcheck does not pass in this commit. commit df0adced878c8528d14a19fc45c5f8d3bd67ea10 Author: Peter TB Brett Date: Thu Aug 6 21:15:10 2009 +0100 Add utils to unified build system Note: make distcheck does not pass in this commit. commit e55e9e247eb33c4a5be56687b4610c6649ef74d7 Author: Peter TB Brett Date: Tue Aug 4 22:06:16 2009 +0100 Remove existing build infrastructure. This simply strips out all configure, m4 and autogen scripts from the whole repository, including the toplevel Makefile. This commit does not compile (what a surprise)! commit 3a4df8fece7656480ebacfa32a08886b0638c826 Author: Peter TB Brett Date: Thu Aug 6 12:50:49 2009 +0100 gxyrs: Reduce length of test filenames. The `tar' file format (as specified by POSIX) can only handle embedded paths up to 99 characters in length. commit ec3ce2fa01e3eb86959c130c71db228a4989aa7e Author: Bert Timmerman Date: Tue Jul 28 20:42:01 2009 +0200 utils: Ignore output generated by Doxygen. commit b59bbb4b31a4bd228ef50439446d59ce5546abf6 Author: Bert Timmerman Date: Tue Jul 28 20:43:00 2009 +0200 utils: Generate consistent style Doxygen documentation. Follow the documentation style as with gschem and libgeda. commit 82c4e182c71d8a4fb9584b059a2f3215f6438cfe Author: Peter TB Brett Date: Mon Jul 20 18:12:25 2009 +0100 Reduce stderr spew. It's not necessary to spew massive amounts of output to stderr on startup. It's ugly and not legally necessary. This patch modifies the tools only to spew a GPL header to stderr when entering gnetlist's interactive mode -- and to be nice and quiet the rest of the time. commit a9eac3fbe1057859ddd44304d72aa86407fdb548 Author: Dan McMahill Date: Mon Jun 8 23:10:02 2009 -0400 Remove coms gcc warnings. commit 67aeb9b999d29080118a7af899ad1de362ccd2b8 Author: Peter Clifton Date: Mon Jun 8 23:31:22 2009 +0100 Fix autogen.sh scripts to look for AC_CONFIG_HEADER to run autoheader Since commit #9a7c363c572d32a30fa1522cd7d14b21c2958ca8, the configure scripts in gEDA use AC_CONFIG_HEADER, not AM_CONFIG_HEADER Fixes build problems noted by various users. Identified by Dan McMahill. commit 61f488315da15d0be48acbe65ee9c1bf69c60e03 Author: Peter TB Brett Date: Mon Jun 8 10:57:32 2009 +0100 Require GLib 2.12.0 or newer. We now require GTK+ 2.10.0, and since that requires GLib 2.12.0, we can bump the GLib version we require up to match. Thanks to Peter Clifton for spotting this. commit 9a7c363c572d32a30fa1522cd7d14b21c2958ca8 Author: Peter TB Brett Date: Mon Jun 8 10:48:25 2009 +0100 Use AC_CONFIG_HEADER instead of AM_CONFIG_HEADER. This fixes an issue with config.h.in not being correctly regenerated with autoheader on changes to configure.ac. Thanks to Maciej Pijanka for working out the solution to this problem! commit 209e55a6a0ab33478cea41c154be64d7ec0620ea Author: Peter TB Brett Date: Sun Jun 7 19:34:30 2009 +0100 Require GTK+ 2.10 or newer. commit d5e06e6ee657f80d1cb8d82884122ac958e9d3a4 Author: Peter TB Brett Date: Sun Jun 7 19:34:30 2009 +0100 Remove Guile 1.6 support. commit b4862c3c120c8144f47393333e2e6bec2f302bc7 Author: Peter TB Brett Date: Sun Jun 7 19:34:29 2009 +0100 Require Guile 1.8.0 or newer. Guile 1.8 became the stable branch of Guile on 2006-02-12, over three *years* ago. All major distributions ship it, including Debian stable. Expecting its availability makes testing of new Scheme-based features much easier, as most gEDA developers normally write and test code against 1.8. Furthermore, it allows better advantage to be taken of 1.8-only features (such as improvements in debugging support), without requiring vast swathes of hard-to-maintain preprocessor trickery. commit ab617ca6c2cf704e932a6179601942cf6b949761 Author: Werner Hoch Date: Sun Apr 12 12:19:45 2009 +0200 tragesym: accept unknown attributes tragesym exited on unknown attributes. These unknown attributes are now accepted and a warning message is printed. Original request from Miles Gazic commit 8bec9babf2fbb3dfb03eebce7169bf39d8796a6e Author: Werner Hoch Date: Sun Apr 12 12:07:22 2009 +0200 tragesym: accept empty attributes in the src file tragesym crashed if a src file had an empty attribute "key=". Just ignore empty attributes and print a warning. Bug reported by Perry Hargrave on the geda-bug mailing list. commit ab590ab70cddfe6a0954d56a31c0ebd1f0bc7691 Author: Ales Hvezda Date: Sat Mar 28 15:55:19 2009 -0400 Updated ChangeLogs one more time for 1.5.2 commit 546d4dbe0124d3f9421116b9e5a8889cccf97b84 Author: Ales Hvezda Date: Sat Mar 28 15:22:19 2009 -0400 Updated all ChangeLogs Updated the ChangeLogs by running: ./update-changelogs.sh 1.0-20070526..master in the toplevel directory commit 21e8c0b232e08927fd091a1d46413990b4c61358 Author: Ales Hvezda Date: Sat Mar 28 15:18:34 2009 -0400 Updated all dates in the relavent man pages (for 1.5.2.20090328) commit 859abe69912ba99ca27bb58c378284e9eec56259 Author: Ales Hvezda Date: Sat Mar 28 15:13:59 2009 -0400 Updated all versions to 1.5.2 20090328 36:0:0 Updated by running: ./update-versions.sh 1.5.2 20090328 36:0:0 commit 326958985a98cb638efe4d0579c0f9d2d89e140e Author: Werner Hoch Date: Tue Jan 27 21:02:24 2009 +0100 tragesym: put attributes on top if there are no top pins If you put pins on either the top or bottom of a symbol, tragesym moved the name around and changes the positioning. However, this is only necessary if pins are on top, and the logic should ignore pins on the bottom. Fix suggested on gEDA mailing list by Matt Ettus commit 3c0d85eae92d5764aa7dee2899c6a066c3470ee3 Author: Peter TB Brett Date: Wed Jan 21 14:11:39 2009 +0000 Write logs to $HOME/.gEDA/logs/. Rewrite s_log_init() to put log files in a centralised location. A user application (e.g. gnetlist) provides a prefix, and log file is opened at: $HOME/.gEDA/logs/--.log [1] The serial is found by the following procedure: 1. Read through the directory to find the highest existing . 2. Starting with that number, repeatedly attempt to open() incrementing files with O_CREAT|O_EXCL flags to guarantee that a new file is created. 3. If after LOG_OPEN_ATTEMPTS = 5 attempts a unique filename hasn't been found, fail. The logic *intentionally* does not fill in gaps in the sequence -- if I delete logs, I still want a new log to appear at the end of the list. [1] The actual location is a subdirectory "logs" of the user config directory, which may not be ~/.gEDA on all platforms. commit 985966c57e1d3f57b8e6407756ecc7a7150484fd Author: Peter TB Brett Date: Wed Jan 21 13:46:00 2009 +0000 gsch2pcb: Change load path for user's gsch2pcb rc file. Load the user gsch2pcb configuration from ~/.gEDA/gsch2pcbrc instead of ~/.gsch2pcb. commit 94694e4b1470378172c2ca65964b51d381c84cf3 Author: Peter TB Brett Date: Tue Jan 20 15:52:09 2009 +0000 utils: Fix some minor compile warnings. Fix a signedness warning in sarlacc, and cast away a const qualifier in gschlas. commit fda82eb96e2c785efe91fd59d01f6e7e26b897ed Author: Peter TB Brett Date: Sun Jan 18 01:48:58 2009 +0000 Protect some strings passed to pkgconfig. Ensure that pkgconfig version requirement strings are protected from M4 expansion. commit ee250c9bd2e88bf352a03d1719603b7d54fe430c Author: Peter Clifton Date: Tue Jan 13 23:58:30 2009 +0000 Avoid underlinking of apps due to missing explicit depends These went unnoticed because the apps were resolving the necessary symbols when pulling in libgeda and its dependencies. Fix applications using GLib and guile within the suite to explicitly pull in the appropriate CFLAGS and LIBS. This commit removes some LDFLAGS and LIBS from grenum, since they weren't being used. commit 0cfeefc37856c30fc57f9ca803ffb1f7f11310e7 Author: Peter Clifton Date: Tue Jan 13 23:58:05 2009 +0000 libgeda, utils: Check for same glib version as rest of suite; 2.8.x commit 1645fda42758a837c7ccf1efd32fd3b484e22421 Author: Peter Clifton Date: Sat Jan 10 22:17:44 2009 +0000 Remove unused GTK dependencies from text-based tools commit a344ff9c33b9bbb7b1a622b70dcedf393e1de09a Author: Peter Clifton Date: Sat Jan 10 20:41:43 2009 +0000 Remove some unused Gdk* typed variables from globals.[ch] across the suite commit 3df7a807e5db0a1821805da93079d8b60c1307fc Author: Carlos Nieves Onega Date: Sat Jan 10 13:44:02 2009 +0100 Fix install directory for gxyrs perl package. Change install directory for gxyrs perl package from GEDADATARC/gxyrs (usually /etc/gEDA/gxyrs) to PREFIX/share/gEDA/perl/lib. Thanks to Peter Clifton for reporting this bug. commit d7b7b23721b4054172587c9961d4b87f47bee198 Author: Peter Clifton Date: Wed Dec 31 17:26:03 2008 +0000 libgeda: Remove non-private access of PAGE->object_list This allows us to keep better track of where the PAGE must be updated should we have any spatially keyed data-structures in the future. Rename PAGE->object_list PAGE->_object_list to try and discorage any use of it outside libgeda (ideally, outside s_page.c) in the future. commit 46fdb00b19d300dfcc5f9009f9c7dbbf0940834f Author: Peter Clifton Date: Wed Dec 24 04:01:46 2008 +0000 gschlas: Fix segfault opening file Segfault introduced in commit b635ebb641383360e5e7864830d42d13cf7f4d12. commit 3c49636e1a9e9e703fab4c6aafc69affb4fd2bab Author: Ales Hvezda Date: Sun Dec 21 16:23:26 2008 -0500 Updated ChangeLogs one more time. commit 2f3e07a1fa7fd92ab163d2cd966efd98ab306512 Author: Ales Hvezda Date: Sun Dec 21 14:40:21 2008 -0500 Updated ChangeLogs again in prep for the 1.5.1 release commit 76d02f7f935d930d8093bd49b7eb0836d3b1aa6e Author: Ales Hvezda Date: Sun Dec 21 14:06:17 2008 -0500 Updated all ChangeLogs in prep for the 1.5.1 release. The update was done by running: ./update-changelogs.sh 1.0-20070526..master commit 680e08085d44c9876bdadef0ca7ef25b474c2006 Author: Ales Hvezda Date: Sun Dec 21 13:39:29 2008 -0500 Updated all versions to 1.5.1 20081221 35:0:0 Updated by running: ./update-versions.sh 1.5.1 20081221 35:0:0 commit 4f9f4336a123f91318ec2d1ffd8e9739eb756348 Author: Ales Hvezda Date: Sun Dec 21 13:10:23 2008 -0500 Updated dates and versions in all man pages commit 82697dd3aa503cd9258ff410a56506e4e023990d Author: Ales Hvezda Date: Sun Dec 21 12:28:41 2008 -0500 Removed unused variable commit e1c88171f997c8cfa6033f54a6d7877374cde228 Author: Carlos Nieves Onega Date: Sun Dec 21 16:18:47 2008 +0100 Check if gxyrs.pm exists in gxyrs's run_tests.sh. Check if gxyrs module exists in gxyrs's run_tests.sh and output and meaningful error message if it is not found. commit e92680deb2e9a4c87eae77df5f1cfc2b0d2529b6 Author: Carlos Nieves Onega Date: Sun Dec 21 15:49:38 2008 +0100 Fixed up gxyrs run_tests.sh to work with both make distcheck. Add gxyrs source directory to perl's include variable, so gxyrs.pm file could be found when make distcheck is executed. commit 6329c5a7bdae9573f01f92403e4645e79e66aab5 Author: Peter TB Brett Date: Sat Dec 20 14:41:05 2008 +0000 Update copyright header dates to 2008. (And I'll have to do this all again in a few days time). commit 617797b5a47d370c4fee19110c826502b7e3082b Author: Peter Clifton Date: Tue Dec 9 16:19:09 2008 +0000 Remove linkage between OBJECTs and use GList for OBJECTs on the page This affords quite a lot of code clean-up, since we no longer have to maintain two versions of each operation which works on lists. commit 2f5b7e9d890953680caa4fa111c31a0be4123d97 Author: Peter Clifton Date: Mon Dec 8 17:16:20 2008 +0000 Adjust MINGW32 specific CFLAGS from the suite Console applications should not build with the -mwindows flag, otherwise output reach the console. Conversely, we should build the GUI apps, gschem and gattrib with -mwindows so they don't bring up a console window when running. commit 0545db388236ea7a7aaa49d8911ad96481b4978e Author: Peter Clifton Date: Sun Dec 7 17:33:46 2008 +0000 Remove some old comments better explained in commit history Comments annotated with a dates and developers initials clutter the code with historical details people may be reluctant to remove. Not all of these are still relevant, and those which are should probably could be kept in such a way as not to suggest code ownership. The commit revision log is a better place for determining authorship. Fix some whitespace in surrounding areas where I couldn't resist. commit 62229e7d56bcc698a86e52e75d3ab274e0ffbe75 Author: Carlos Nieves Onega Date: Wed Nov 26 23:24:08 2008 +0100 Fixed typo in help message. Forgot to change the name of the script in the title of the help message when adapted this script from refdes_renum testsuite. Fixed now. commit a9c125f23745182930972deb74879c39e8c9fa51 Author: Carlos Nieves Onega Date: Wed Nov 26 23:19:20 2008 +0100 Fix some gxyrs build problems with 'make distcheck'. 'make distcheck' put the executables in a different tree than sources. Therefore, this script has to look in builddir directory for gxyrs script. As a bonus, gxyrs script location is now declared at the beginning of this script, and it checks if gxyrs script exists. commit 5e446736977dd4207b072c6666b6070be112aa1b Author: Carlos Nieves Onega Date: Wed Nov 26 23:16:12 2008 +0100 Explicitely declare target 'all' as gxyrs. commit c0ede86bc300a3b31574b709690530e693550c89 Author: Carlos Nieves Onega Date: Tue Nov 25 19:40:52 2008 +0100 Rename gxyrs golden files to comply with tar limit in filenames length. 'tar' program limits all filenames length to be less than 99 characters. Renamed gxyrs golden files to comply with this requirement, and updated tests list and Makefile.am accordingly. commit 48e8b4e068706acbfb254cc4a9dab5d3b03eef41 Author: Peter Clifton Date: Sun Nov 23 19:58:57 2008 +0000 utils: Fix gxyrs test-suite We built the path to the gxyrs script incorrectly when invoking from make check. Remove the "utils" subdir from that path, and ensure we set the right $top_srcdir path when invoking from the command line. commit a684d4de4648f677ab6f58182db8944a38c43150 Author: Peter Clifton Date: Sun Nov 23 18:26:20 2008 +0000 utils: Fix EXTRA_DIST for utils/gxyrs to include gxyrs.pl commit d5f4b1882e98bde4f26e93e243fdb8d0ba120e99 Author: Carlos Nieves Onega Date: Tue Nov 18 21:31:13 2008 +0100 Added copyright notice to refdes_renum's run_tests.sh script. Added GPLv2 copyright notice to refdes_renum's run_tests.sh script, as required by Dan McMahill, its original author: http://archives.seul.org/geda/dev/Oct-2008/msg00132.html commit f421f5143b44939bfad52d7c51445142b7854c87 Author: Carlos Nieves Onega Date: Tue Nov 18 21:29:10 2008 +0100 Added new util: gxyrs. Added gxyrs, a new util to process XYRS files. commit 76195280b1f861c8952d4de52195b8b2de0f79d8 Author: Peter Clifton Date: Sat Nov 1 22:53:17 2008 +0000 gattrib, gschlas: Restore setting dummy select_func to ensure proper save The select_func function pointer (now owned and exported by libgeda) is assigned to OBJECT->sel_func for non-locked objects. Locking is achieved by setting OBJECT->sel_func to NULL, and when writing out objects, the locked flag is determined by comparing that that pointer to NULL. We need to keep providing a dummy function so we can differentiate between that and a NULL pointer. This was accidentally lost in commit 1aab94354f053887db67aa5702abc595795dfe82 which moved the select_func global variable into libgeda. commit f470af7a28afe423ded6171ea3c8a2b31ff56f43 Author: Peter Clifton Date: Sat Nov 1 20:47:41 2008 +0000 Revert applying -Werror to compiler flags when linking with GCC (CODE!!) Depending on the gcc version, the original developers might not see the warning until the software gets into the end user's hands (and tries building it with an older/newer version of gcc). Most warnings are not catastropic, but by using -Werror they are _all_ catastropic. If a developer wants to get rid of all warnings, they should either: 1) run make -s and see/fix all the warnings, and/or 2) modify the Makefile's themselves and add the -Werror flag temporarily. (Comments explaining rationale snipped out of an email from Ales). commit de5f435b2dcedd048fa2e941827b0ebac231a299 Author: Peter Clifton Date: Sat Nov 1 17:46:53 2008 +0000 utils: Adjust Makefile.am so we add $(AM_CFLAGS) to {appname}_CFLAGS This allows us to add CFLAGS to all targets from the AM_CFLAGS variable. Also export app-specific CFLAGS from configure.ac for gmk_sym, smash_megafile, convert_sym, sarlacc_schem and olib rather than copying those for gschlas inside Makefile.am. This keeps things cleaner should either set of CFLAGS need to change in the future. commit 2b1c2026611ef56fba3c07e88d1292b19047e818 Author: Peter Clifton Date: Sat Nov 1 17:45:57 2008 +0000 Use -Werror when building with gcc compilers. (More Makefile.am) Hopefully this will help to ensure compiler warnings get noticed and fixed by developers. Some Makefile.am with compiled sources were missed in the last (accidental) commit relating to these CFLAGS. commit 09eacbfb36e2b00758bce8d8add2f8f56cdcfdbb Author: Peter Clifton Date: Sat Nov 1 16:09:26 2008 +0000 Use -Werror when building with gcc compilers. Hopefully this will help to ensure compiler warnings get noticed and fixed by developers. commit 1aab94354f053887db67aa5702abc595795dfe82 Author: Peter TB Brett Date: Wed Oct 29 12:14:19 2008 +0000 Define select_func only in libgeda. Importing definitions from linkees breaks when linking libraries on Windows. commit bcaf9f8dafcd25335b61b2ea80d071bde720bbd1 Author: Cesar Strauss Date: Sun Oct 26 10:41:31 2008 +0000 Use pkg-config support for Guile if present. Using pkg-config allows easier cross-compilation, since the build process can use a pkg-config binary native to the build machine with .pc files for the host machine. commit 5e9e5758e70e1e822d1850b1d4661c0f8ce8ff1d Author: Kipton Moravec Date: Mon Oct 6 02:18:13 2008 +0100 utils/convert_sym: Fixed typo causing build failure without snprintf commit 392dd3354812e812f548eadac2c83d8430acd7bf Author: Peter Clifton Date: Mon Sep 29 01:19:39 2008 +0100 Remove conditionally compiled code for GTK/GLIB < 2.6 commit 900274f0d6b08031f7cfc18a332da6b1939a44d1 Author: Peter Clifton Date: Sun Sep 28 18:40:55 2008 +0100 Fix non-literal format strings which cause compiler warnings. We should be careful to avoid passing arbitrary strings into functions which take printf style arguments. In that case, always use the construct ("%s", string) rather than passing string as the format argument. Some cases were fixed by using g_strdup instead of g_strdup_printf(), some simply replace printf() for puts(). commit b4ed5e92d203c7449b7d33e924a41b093e1de930 Author: Peter TB Brett Date: Tue Aug 26 12:55:07 2008 +0100 Remove duplicate definitions of do_logging. Also sets the default in libgeda to TRUE. commit a974a4c6d2c233c9209c5b4597f7d4f86154f484 Author: Peter Clifton Date: Sun Aug 24 22:27:28 2008 +0100 Remove default-series-name from all rc files Fixes brokenness leftover from previous removal of "series_name". commit f1104b263b212b67576bfd1e73fa5036ee7f233d Author: Peter Clifton Date: Mon Aug 18 12:18:06 2008 +0100 gsch2pcb: Add --gnetlist-arg option to pass extra gnetlist arguments The "gnetlist-arg" directive also works in gsch2pcb project files. commit 11a2692a1ab8bcee14178286fd719d1ec39e6b9a Author: Peter TB Brett Date: Sat Aug 16 15:24:16 2008 +0100 Draw func cleanup. Rather than having libgeda require other applications to provide the *_draw_func symbols, libgeda should provide them itself. Other applications should then override them as required near their call to libgeda_init(). commit 723e8d1c735b27f2bfc39dec296464bb8d5b2020 Author: Peter TB Brett Date: Thu Aug 14 23:27:12 2008 +0100 Don't register recalc funcs as draw funcs. Some applications which don't draw schematics set the draw funcs to be the recalc funcs. This is silly. commit 57a4fd272e10a68e05051a9ab9309e252e2103f7 Author: Patrick Bernaud Date: Fri Jul 11 16:03:12 2008 +0200 Purge AC_CHECK_FUNCS() in configure.ac in each package of unused functions. commit a76cf5cdda91c7070f4765107d3f8be89bbd05b6 Author: Patrick Bernaud Date: Fri Jul 11 16:03:01 2008 +0200 Remove unnecessary strippings of trailing directory separator. These strippings is no more necessary as GLib functions for building filenames (in particular g_build_filename()) takes care of any trailing directory separator for us. commit cd70e88b8c7faa4beea8b13b846e92807a252e63 Author: Patrick Bernaud Date: Fri Jul 11 16:03:00 2008 +0200 Replace getcwd() with g_get_current_dir(). commit 90b0ece453efc80490c6c277386f4f5f7bfdc4af Author: Patrick Bernaud Date: Fri Jul 11 16:02:59 2008 +0200 Simplify build of filenames with g_build_filename() (!). Modified code where possible to use preferably g_build_filename() instead of g_build_path(), or g_strconcat() and friends. commit 8479d01b6a4a819ae105659a9b9f1e6ab2d85136 Author: Ales Hvezda Date: Sun Jul 6 22:03:02 2008 -0400 Updated all ChangeLogs by running ./update-changelogs.sh 1.0-20070526..master commit 7ae9572f269c8b973bb4a38014e28dbc10cdcb32 Author: Ales Hvezda Date: Sun Jul 6 08:38:24 2008 -0400 Bumped versions to 1.5.0/20080706/34:0:0 for the next development release commit faa7917f687694937baee932ea2efaa6fd16fd26 Author: Werner Hoch Date: Thu May 22 18:56:47 2008 +0200 tragesym: improved text alignment of top/bottom pin numbers. Version 0.0.14 The origin of the top and bottom pin numbers and pin sequence did not have the same relativ position to the pin compared to the left and right pin. Fixed this relativ positions and the text alignments. This cosmetic issue was reported by Stefan Salewski. [1945153] commit 234bb645ae97eb11f3ea04fadde107bc9865abf6 Author: Werner Hoch Date: Thu May 22 18:36:15 2008 +0200 tragesym: fixed version string handling With the commit 5a35c238f19622f8045784fa61497c80c4144fa6 a trailing " 1" was added to the version string. This is only correct if the source files do not contain that part of the version definition. Changed tragesym to accept both version strings "20060113 1" and "20060113" in the source file. Bug pointed out by Stefan Salewski. commit 267f6cae3b2aa6df5af8edc0bfbea95e72ee03b8 Author: Werner Hoch Date: Sat Mar 29 20:49:28 2008 +0100 tragesym: moved pin comparison, cleanup version is now 0.0.13 Use the old rules for sorting pins by it's label. The sorting function is in the pin class now (__cmp__). Moved pin tests into pin class and reenabled pintype translation. Improved some test files. commit 324b94f10b4482e61701b4880d15aec52403d774 Author: Werner Hoch Date: Sat Mar 29 20:40:12 2008 +0100 refactoring of the tragesym code to use pin objects and getopt This commit changes the pin dictionary to a pin class and converts the pin sort into pin comparisons inside the pin class It adds a nice getopt command line interface and adds some more sanity checks. Thanks for the patch written by Thomas Hille commit af0d9f2e8825f7d23c691deec0e70f1eaaac0e38 Author: Ales Hvezda Date: Wed Mar 5 05:27:41 2008 -0500 Updated version to 1.5.0 to mark the start of the next development cycle commit b202ee510fb90cedd038ce5ec41cc6de453dbeea Author: Ales Hvezda Date: Sun Jan 27 11:47:13 2008 -0500 Updated ChangeLogs for the 1.4.0 release commit 3d43c5d642ebe12a69380e8accf5533d338ee5e5 Author: Ales Hvezda Date: Sat Jan 26 20:07:45 2008 -0500 Bumped versions to 1.4.0/20080127/33:0:0 for the next stable release commit d2047bc2a06e6534ff32464d36f8a95aec11b9d7 Author: Ales Hvezda Date: Fri Jan 11 01:11:12 2008 -0500 Updated all ChangeLogs for this release (1.3.1) commit 48e264a2c6ebdc9663dc5b6cff7c464dcc5089fe Author: Ales Hvezda Date: Thu Jan 10 00:55:09 2008 -0500 Missed one man page that needed its version updated This change is also part of c1e3075cb263a6098d2351440b680247456ae0d0 commit b2380c0f70344117be7045a5fc1483698fdf4358 Author: Ales Hvezda Date: Sat Jan 5 20:57:51 2008 -0500 Bumped versions to 1.3.1/20080110/32:0:0 for the next development snapshot Note, libgeda's so did not change at this time. commit 400bc2ffa1d6a83725d87caf1c941a1f205b508b Author: Ales Hvezda Date: Sat Jan 5 16:40:30 2008 -0500 Added the use of PCBDATA environment variable to make gsch2pcb relocatable Before this patch, m4_pcbdir was being set from the preprocessor variable PCBDATADIR which was set at ./configure time. In order to be able to move gsch2pcb to a different install prefix, this path has to be changable at run-time. If PCBDATA is not set, then PCBDATADIR is used (previous behavior). commit 5f3cde4f20975275cb38b52cd3155fda41201209 Author: Peter TB Brett Date: Tue Jan 1 17:24:18 2008 +0000 Fix configure checks for Guile (again). The previous patch missed changing the gschem configure script (generated from configure.ac.in), and got the logic wrong anyway. commit b9ffb4675fbca6e92a4f713c28486e74dcbbeef4 Author: Peter TB Brett Date: Tue Jan 1 15:42:13 2008 +0000 Fix configure checks for Guile. Quote variables to protect them and alter version test logic so that it doesn't think version 2.1 is older than 1.8. commit 2f7e3ae60480743a8268d392272d05bd77dd75c8 Author: Ales Hvezda Date: Mon Dec 31 20:43:08 2007 -0500 Updated all ChangeLogs for the past development release (1.3.0) This step was supposed to happen before the 1.3.0 tarballs were released. These changes will be picked up in a subsequent release. commit ba474af87840a0d49e04a00de96b7df2944c09bd Author: Ales Hvezda Date: Sat Dec 29 09:57:43 2007 -0500 Bumped versions to 1.3.0/20071229/32:0:0 for the next development snapshot commit 87721d1d2bd38398b47b840c7647c8126adbaa70 Author: Christian Riggenbach Date: Thu Dec 27 22:53:18 2007 +0000 utils: Fix indentation of comments in src/olib.l Indented comments in certain places seem to upset flex version 2.5.34. commit 3b040cf8d60a8fbe45f6e7c5f3d71a3dea119357 Author: Peter Clifton Date: Wed Dec 19 17:48:57 2007 +0000 Add intltoolize to the build infrastructure Provide intltoolize infrastructure for translating .desktop and MIME XML files. Run gettextize after intltoolize if required, so that the infrastructure for providing libintl on a non GNU system still works. commit b635ebb641383360e5e7864830d42d13cf7f4d12 Author: Peter TB Brett Date: Fri Dec 7 21:48:17 2007 +0000 Print useful messages when f_open() fails. This reinstates error messages removed by the patch which modified f_open() to use GError for error reporting. commit be301530f468e4d0057b3be68e218ac444c2d2be Author: Peter TB Brett Date: Fri Dec 7 17:20:55 2007 +0000 Make libgeda's f_open() & f_open_flags use GError. This patch actually *removes* error message output from file loading errors is some cases. This is for the sake of keeping the patch concise, and will be addressed in later patches. commit ae225157603f063747709fa3d639ed8cdf63f6b1 Merge: 1abfd25 43b5713 Author: Peter TB Brett Date: Tue Nov 27 07:53:37 2007 +0000 Merge with Cesar's mingw/pu branch Merge commit 'cesar/mingw/pu' into premerge commit fff63c25fd6b3401cfc5bbf15706bb0107d74e8a Author: Cesar Strauss Date: Sat Nov 10 17:45:13 2007 -0200 utils: Tell git to ignore the ylwrap file. [1833107] commit 8b490a404e682ac4f1e4cbd46e22c92f58b2ae76 Author: Tomaž Šolc Date: Fri Nov 23 21:42:50 2007 +0000 Compilation fixes for Mac OS X 10.5 [1832417] This patch contains changes to gEDA source tree that were necessary to compile on Mac OS X (10.5 Leopard, PPC). commit bdd7ef7ee9047c3942b43c165396ebe48d31e95a Author: Cesar Strauss Date: Sun Nov 11 14:17:21 2007 -0200 Use g_path_is_absolute from GLIB instead of platform specific code. commit 40c0582e39d6a7ed0a41e0e5deedc0bfd03bbddc Author: Cesar Strauss Date: Thu Nov 15 19:11:12 2007 -0200 Use forward slashes as path separators on MinGW. They are also acceptable as path separators on MinGW. commit 4698fd163892243b931fbd7795ad9443f5b2fe58 Author: Cesar Strauss Date: Sun Nov 11 13:38:26 2007 -0200 Remove uneeded MinGW-only libraries. commit bde766abee9fe21857ef3c81bebc5a90c18bd315 Author: Cesar Strauss Date: Sat Nov 10 17:45:13 2007 -0200 Tell git to ignore the ylwrap file. commit d715ba7dc3e02d77e671b9ab54b994379daefec5 Author: Cesar Strauss Date: Thu Nov 15 13:34:40 2007 -0200 Tell git to ignore .exe files. commit de2f3d240562202f305a0ba1a8d58f2ba78a3876 Author: Werner Hoch Date: Tue Oct 16 19:38:25 2007 +0200 Misc corrections for tragesym spacer support remove spacers if the pinlabels are sorted don't add pinseq at spacers modified example to use the spacer support commit 80a51f9d4faa5cbeb3222046bdf67f11b34114ef Author: Werner Hoch Date: Tue Oct 16 18:58:43 2007 +0200 Added spacer feature to tragesym A spacer line will put a gap between two pins. Patch written by Gilbert Forkel. Thanks commit 4595948e41b2d195eb78a820fc15d0d8596067a4 Author: Peter Clifton Date: Thu Oct 4 02:34:50 2007 +0100 Avoid accessing (GList)->{next|priv} directly to aid debugging. Instead use g_list_{next|previous}, allowing us to catch errors where changing from gEDA structures which had their own next and prev pointers. To debug, edit the glist.h include file from glib, renaming the next and prev elements in the GList structure and macros. Recompile gEDA to see any bad accesses such as those where the HEAD nodes were previously skipped. commit 2e3c06cbcdce8254f70162ecebd650980cf70ee9 Author: Peter Clifton Date: Sun Sep 9 00:18:34 2007 +0100 Remove the globally exported variable_set_func. Only gattrib provided a non-NULL export of this symbol, and such imports into libgeda prevent libgeda being dynamically linked on some platforms. To better match the other tools in the suite, gattrib's i_vars_set() and i_window_vars_set() functions were combined into a single i_vars_set(). commit 8952ec9bd4f4985fae8aadd6c4103b933464152a Author: Peter Clifton Date: Sun Sep 9 00:01:14 2007 +0100 Remove unused extern variables from libgeda, gnetlist and utils. commit adca8b7d5897b11331c6a20392d22ad1e58ee572 Author: Peter Clifton Date: Mon Sep 3 12:15:43 2007 +0100 Replace the linked list of PAGEs with a GedaList (typecast to GedaPageList) commit 086908ed44c9abc6d5907888695933b59ead4684 Author: Ales Hvezda Date: Sun Sep 2 22:48:59 2007 -0400 Last minute updates to the READMEs for all projects Cherry picked from stable-1.2 branch, since these changes apply to master too. (cherry picked from commit 88fcb8d1bcdaa1436572d6a0ebe86f4df242a8d6) commit 6056ef48272778419d39e0233f395bfd60019ab9 Author: Ales Hvezda Date: Sun Aug 19 22:40:19 2007 -0400 Update ChangeLogs using: ./update-changelogs.sh 1.0-20070526..master commit 92b3b65d0cec286b0ce59fc43cc07dcb60c39fa1 Author: Ales Hvezda Date: Sat Aug 18 16:14:30 2007 -0400 Bumped versions to 1.1.2/20070818/30:2:0 for the next development snapshot commit 72c4db8aa20c22baa4243a0d27b3bb3f32f3ef64 Author: Ales Hvezda Date: Tue Aug 14 07:46:06 2007 -0400 Moved 3 rc promotion keywords from gschem into libgeda (fix for bug#1748143) All the promotion keywords were moved from gschem into libgeda to fix: [ 1748143 ] gschlas causes duplicate prompted attributes The primary cause of this bug was that the promotion variables within TOPLEVEL were not being setup by gschlas and so duplicate refdes attributes were showing up in the schematic. The three rc keywords that were moved are: (attribute-promotion ... ) (promote-invisible ... ) (keep-invisible ... ) commit 703151a94b0eece6b24b3b18ce2465eeae068814 Author: Peter Clifton Date: Thu Aug 9 12:36:17 2007 +0100 Remove old prototypes from various prototype.h where no function exists. commit 71600215311af0a98ed371ab750b09182de139a1 Author: Peter Clifton Date: Sat Aug 11 00:52:25 2007 +0100 Revert inadvertent commits: dbfe00a20de3f875e519ef60629b968977fc5db8 (commit) f1451161914a0ed0bb43123279906d82cb7d5b49 (commit) 2ad315fc0badd16a9614d1107b22c973908893d5 (commit) d8844bb48969aa45a05cbe6836fc96c198e88c19 (commit) ee1b64a1ae07eb99eae5d63307e9fe23f9604662 (commit) commit d8844bb48969aa45a05cbe6836fc96c198e88c19 Author: Peter Clifton Date: Fri Aug 10 21:26:10 2007 +0100 Replace the linked list of PAGEs with a GedaList (typecast to GedaPageList) commit 0f5c72daacfa7d78666769e4063122934861da5c Author: Peter Clifton Date: Sun Aug 5 22:36:56 2007 +0100 Alter guile 1.6 compat tests to work with older autoconf versions Don't use AC_DEFINE to define function like macros, instead use AC_CHECK_DECLS to set a HAVE_DECL_..., then use AH_VERBATIM to insert a test which defines a replacement if necessary. commit 5c098070b87709540345afb1b3b79d9db470ed53 Author: Peter Clifton Date: Thu Aug 2 22:09:52 2007 +0100 Fix configure checks enabling guile 1.6.x compatability routines. commit c31bd4adb677d671af8bdf5aed71f96a4995f9b1 Author: Peter Clifton Date: Tue Jul 31 20:03:51 2007 +0100 Changed configure.ac(.in) to allow guile-1.6 Introduces compatibility #defines where guile 1.8 funcs are missing in guile 1.6. Also adds missing configure.ac checks for guile in packages gattrib, gnetlist, gsymcheck and utils. commit 66ab0ba3af15108935000d23fbf7acdc38b51257 Author: Werner Hoch Date: Thu Jul 26 19:05:09 2007 +0200 added new symbol attributes use-licence and dist-licence to tragesym updated tragesym to version 0.0.11 updated the template file for OpenOffice and the ascii template updated one example file to test the changes Thanks to Stefan Salewski for reporting the missing attributes. commit e978b9098c7567ad3b9c834a5e4914de3bc039ec Author: Ales Hvezda Date: Sun Jul 8 18:18:39 2007 -0400 Updated ChangeLogs using ./update-changelogs.sh 1.0-20070526..master commit d7e8f5abc35644e90bfabf84396023cab09f2968 Author: Ales Hvezda Date: Sun Jul 8 16:18:57 2007 -0400 Updated configure.ac[.in] and Makefile versions in prep for a release. The update was done by running ./update-versions.sh 1.1.1 20070708 30:1 at the toplevel. libgeda's shared library version is now 30:1:0 commit 3f3505662fe4bb8c585aea0ea965296bd923956c Author: Carlos Nieves Onega Date: Sun Jul 8 21:16:17 2007 +0200 Added *~ to .gitignore files. commit dd995d808b9f4440db48d2daa2473a9d9cfd88ef Author: Ales Hvezda Date: Thu Jul 5 01:36:31 2007 -0400 Updated ChangeLogs using ./update-changelogs.sh 1.0-20070526..master commit 099c49e5689afda4b8a5221dde73f9fdf1972ce7 Author: Ales Hvezda Date: Thu Jul 5 00:11:45 2007 -0400 Updated all version strings to 1.1.0 and 20070705 commit 87731dda219b0986fed0d1a7789e17678dd79d8c Author: Ales Hvezda Date: Wed Jul 4 23:55:07 2007 -0400 Removed AM_MAINTAINER_MODE from all configure.ac[.in] files. Maintainer mode is no longer needed or desired now that we are no longer using CVS. Hopefully this will prevent some of the odd problems that were observed during the last release when the Makefile's didn't get auto regenerated. commit dc7b8c53f4bc94626634887e46167a367a91f707 Author: Ales Hvezda Date: Wed Jul 4 23:32:15 2007 -0400 Changed gEDA/gaf's version mechanism to use new dotted X.Y.Z convention Added DOTTED_VERSION and DATE_VERSION variables to all configure.ac[.in] files. Changed all version related output to be DOTTED_VERSION.DATE_VERSION. Updated the configure.ac[.in] files to have consistent top sections. Updated code and various scheme files to use the new DOTTED_VERSION and DATE_VERSION variables available via config.h. Stopped using PREPEND_VERSION_STRING as the mechanism for doing the dotted versions (not intended for that use). Updated update-versions.sh script to set the version in all the configure.ac[.in] files and the toplevel Makefile. Went through all the g_rc.c files and make the handling of rc file mismatch handling consistent. commit 57b2848a7e69d19e18ac03a1264cb55d41c65d0e Author: Ales Hvezda Date: Mon Jun 25 22:31:07 2007 -0400 Changed/updated the #define mechanism for creating custom gEDA/gaf versions. Previously this mechanism was used to create custom versions of gEDA/gaf. With the coming of stable and development versions of gEDA/gaf, this mechanism was changed so that end users can tell the difference between a stable release vs a development release (by looking at the version string). The CUSTOM_VERSION #define was changed PREPEND_VERSION_STRING and is now prepended to any strings that output the VERSION string. commit 0ed9cf080cfc8509cb29cbe4e976f86b2821c407 Author: Ales Hvezda Date: Sun Jun 24 23:48:51 2007 -0400 Updated copyright text/header in most source files. Updated all copyright text dates that have my name (Ales) associated with them. Added gEDA contributer copyright text where appropriate. Fixed a bunch of GNU text typos (these should have been either GPL or gEDA). Removed some $Id$ tags which are no longer used/needed. Fixed a few file header that were just plain incorrect. commit a4e956c6272ea982ec54327dcc5e3aa528ac8c99 Author: Ales Hvezda Date: Sun Jun 24 22:22:32 2007 -0400 Added *.o (all object files) to all src .gitignore files. commit edff766e8b15c311505810241528026f722e30b6 Author: Peter TB Brett Date: Sat Jun 23 18:19:11 2007 +0100 Make sure various files are installed. Several new files were not being distributed. This patch addresses the problem by adding files to EXTRA_DIST in automake input files. commit e57c37a66edc1c4d4e4d7160001749df51b96c4b Author: Peter Clifton Date: Sat Jun 23 18:17:29 2007 +0100 Move all .cvsignore files to .gitignore files commit 065595ccd8b5e77616c29a37742357cfab0ae7f7 Author: Peter TB Brett Date: Sat Jun 23 16:11:44 2007 +0100 Changes to ChangeLog usage. With actual changes this time. Old-style changelogs as of gaf 1.0 (release of 26th June 2007) are moved to ChangeLog-1.0; new (blank) ChangeLogs replace them. A script has been added to the gaf top level to allow maintainers to update all the ChangeLog files immediately prior to making out a release. commit eed0be648afd9bc421a8d0059de621df778c5fbe Author: Carlos Nieves Onega Date: Sat Jun 9 16:09:36 2007 +0000 Avoid writting '\r' to files on MinGW. Applied patch #1733826 from Cesar Strauss. Thanks. When using the "w" mode in fopen, MinGW translates LF into CR-LF. This creates havoc when reading the same file again, when sharing schematics files with other systems, and when placing them in a VCS. This can be avoided by using the "wb" mode. The "b" is ignored on all POSIX conforming systems, according to these sources: http://www.die.net/doc/linux/man/man3/fopen.3.html http://www.opengroup.org/onlinepubs/009695399/functions/fopen.html There are other ways, however. Adding #include int _fmode = _O_BINARY; on some source file should work as well. Another way is linking against the MinGW supplied binmode.o, which does exactly that. commit 3d58ffc27e6d915c4b1ebbd6f6b96d98d6126b7b Author: Peter TB Brett Date: Mon Jun 4 16:15:37 2007 +0000 Replace deprecated Guile functions & macros. Replace deprecated SCM_STRINGP, SCM_INUM, SXM_INUMP & SCM_MAKINUM with recommended equivalents for Guile 1.8. geda-gaf-1.8.2/utils/tests/0000775000175000017500000000000012220655763012472 500000000000000geda-gaf-1.8.2/utils/tests/Makefile.am0000664000175000017500000000030012204177071014430 00000000000000 SUBDIRS = refdes_renum gxyrs MOSTLYCLEANFILES = *.log core FILE *~ CLEANFILES = *.log core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in geda-gaf-1.8.2/utils/tests/gxyrs/0000775000175000017500000000000012220655763013646 500000000000000geda-gaf-1.8.2/utils/tests/gxyrs/Makefile.am0000664000175000017500000000060112220654173015611 00000000000000 SUBDIRS= inputs outputs AM_TESTS_ENVIRONMENT= PERL=${PERL} top_srcdir=${srcdir}/../.. check-local: $(AM_TESTS_ENVIRONMENT) srcdir=$(srcdir) $(SHELL) $(srcdir)/run_tests.sh EXTRA_DIST= run_tests.sh tests.list README.txt MOSTLYCLEANFILES = *.log core FILE *~ CLEANFILES = *.log core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in geda-gaf-1.8.2/utils/tests/gxyrs/outputs/0000775000175000017500000000000012220655763015371 500000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/rotate_bad_col_num2-pcb_example1.xy0000664000175000017500000000355712204177071024136 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/translate_col_num_too_high-pcb_example1.xy0000664000175000017500000000355712204177071025625 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/swap_cols_negative_col1_num-pcb_example1.xy-error0000664000175000017500000000644012204177071027026 00000000000000Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. geda-gaf-1.8.2/utils/tests/gxyrs/outputs/translate_col_R10_value_case_insens-pcb_example1.xy0000664000175000017500000000356312204177071027253 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206",1kilohms,1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/chunits_units_not_supported-protel_example1_mil.txt0000664000175000017500000000440712204177071027674 00000000000000Designator Footprint Mid X Mid Y Ref X Ref Y Pad X Pad Y TB Rotation Comment CONN4 CONNECTOR-3-1 2000mil 3650mil 0mil 0mil 0mil 0mil T 90.00 unknown R6 ACY1000 3225mil 4275mil 0mil 0mil 0mil 0mil T 180.00 unknown R5 ACY1000 3225mil 4050mil 0mil 0mil 0mil 0mil T 180.00 unknown R8 ACY1000 3225mil 3825mil 0mil 0mil 0mil 0mil T 0.00 unknown R7 ACY1000 3225mil 3600mil 0mil 0mil 0mil 0mil T 0.00 unknown C1 1206 950mil 3775mil 0mil 0mil 0mil 0mil B 0.00 unknown C14 1206 1225mil 3600mil 0mil 0mil 0mil 0mil B 90.00 unknown D6 1206 1125mil 3875mil 0mil 0mil 0mil 0mil B 180.00 unknown C13 1206 1615.95mil 3738.19mil 0mil 0mil 0mil 0mil B 180.00 unknown CONN3 CONNECTOR-4-1 2225mil 3600mil 0mil 0mil 0mil 0mil T 270.00 unknown C12 1206 1438.19mil 3834.05mil 0mil 0mil 0mil 0mil B 270.00 unknown U2 TO220 1342.50mil 4175mil 0mil 0mil 0mil 0mil T 90.00 unknown D7 1206 1775mil 3350mil 0mil 0mil 0mil 0mil B 270.00 unknown D5 1206 1125mil 3775mil 0mil 0mil 0mil 0mil B 180.00 unknown R4 1206 504.14mil 3527.76mil 0mil 0mil 0mil 0mil B 180.00 unknown C15 1206 1225mil 3350mil 0mil 0mil 0mil 0mil B 90.00 unknown U1 TO220 407.50mil 4180mil 0mil 0mil 0mil 0mil T 90.00 unknown R9 1206 1875mil 3350mil 0mil 0mil 0mil 0mil B 90.00 1k R10 1206 1550mil 3300mil 0mil 0mil 0mil 0mil B 0.00 1k U3 SO8 1075mil 3525mil 0mil 0mil 0mil 0mil B 270.00 unknown R11 1206 1375mil 3300mil 0mil 0mil 0mil 0mil B 180.00 10k D2 CONNECTOR-2-1 500mil 3850mil 0mil 0mil 0mil 0mil T 0.00 unknown C2 1206 925mil 3350mil 0mil 0mil 0mil 0mil B 270.00 unknown R2 1206 506.90mil 3751.38mil 0mil 0mil 0mil 0mil B 180.00 unknown CONN1 CONNECTOR-2-1 275mil 3625mil 0mil 0mil 0mil 0mil T 0.00 unknown D4 CONNECTOR-2-1 500mil 3625mil 0mil 0mil 0mil 0mil T 0.00 unknown R1 1206 425mil 3375mil 0mil 0mil 0mil 0mil B 90.00 unknown C11 1206 1336.81mil 3834.05mil 0mil 0mil 0mil 0mil B 90.00 unknown CONN2 CONNECTOR-2-1 750mil 3625mil 0mil 0mil 0mil 0mil T 0.00 unknown S2 CONNECTOR-2-1 750mil 3850mil 0mil 0mil 0mil 0mil T 180.00 unknown S1 CONNECTOR-2-1 275mil 3850mil 0mil 0mil 0mil 0mil T 0.00 unknown D3 CONNECTOR-2-1 750mil 3350mil 0mil 0mil 0mil 0mil T 0.00 unknown U4 SO16 1500mil 3525mil 0mil 0mil 0mil 0mil B 90.00 unknown D1 CONNECTOR-2-1 275mil 3350mil 0mil 0mil 0mil 0mil T 0.00 unknown R3 1206 600mil 3375mil 0mil 0mil 0mil 0mil B 90.00 unknown geda-gaf-1.8.2/utils/tests/gxyrs/outputs/chunits_bad_col_num2-pcb_example1.xy-error0000664000175000017500000000707012204177071025436 00000000000000Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. Error: change_col_units: wrong column argument: d4. geda-gaf-1.8.2/utils/tests/gxyrs/outputs/process_comment-pcb_example1.xy0000664000175000017500000000347212204177071023430 00000000000000#This line is a comment #This line is a comment #This line is a comment #This line is a comment #This line is a comment #This line is a comment #This line is a comment #This line is a comment CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/footprint_report1-report1.txt-error0000664000175000017500000000000012204177071024252 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/do_nothing_tabulated-pcb_example1.xy-error0000664000175000017500000000000012204177071025514 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/match_col_insens2-pcb_example2.xy-error0000664000175000017500000000000012204177071024732 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/multiply_bad_col_num1-pcb_example1.xy-error0000664000175000017500000000633212204177071025637 00000000000000Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. Error: mul_col_val: wrong column argument: d2. geda-gaf-1.8.2/utils/tests/gxyrs/outputs/swap_cols_bad_col2_num1-pcb_example1.xy-error0000664000175000017500000000644012204177071026034 00000000000000Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. geda-gaf-1.8.2/utils/tests/gxyrs/outputs/panelize_bad_y_col_num2-pcb_example1.xy0000664000175000017500000000355712204177071024777 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/footprint_pcb1-pcb_example1.xy0000664000175000017500000000406412204177071023157 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,footprint,"unknown",2000.00,3650.00,90 ,top R6 ,footprint,"unknown",3225.00,4275.00,180,top R5 ,footprint,"unknown",3225.00,4050.00,180,top R8 ,footprint,"unknown",3225.00,3825.00,0 ,top R7 ,footprint,"unknown",3225.00,3600.00,0 ,top C1 ,footprint,"unknown",950.00 ,3775.00,0 ,bottom C14 ,footprint,"unknown",1225.00,3600.00,90 ,bottom D6 ,footprint,"unknown",1125.00,3875.00,180,bottom C13 ,footprint,"unknown",1615.95,3738.19,180,bottom CONN3,footprint,"unknown",2225.00,3600.00,270,top C12 ,footprint,"unknown",1438.19,3834.05,270,bottom U2 ,footprint,"unknown",1342.50,4175.00,90 ,top D7 ,footprint,"unknown",1775.00,3350.00,270,bottom D5 ,footprint,"unknown",1125.00,3775.00,180,bottom R4 ,footprint,"unknown",504.14 ,3527.76,180,bottom C15 ,footprint,"unknown",1225.00,3350.00,90 ,bottom U1 ,footprint,"unknown",407.50 ,4180.00,90 ,top R9 ,footprint,"1k" ,1875.00,3350.00,90 ,bottom R10 ,footprint,"1k" ,1550.00,3300.00,0 ,bottom U3 ,footprint,"unknown",1075.00,3525.00,270,bottom R11 ,footprint,"10k" ,1375.00,3300.00,180,bottom D2 ,footprint,"unknown",500.00 ,3850.00,0 ,top C2 ,footprint,"unknown",925.00 ,3350.00,270,bottom R2 ,footprint,"unknown",506.90 ,3751.38,180,bottom CONN1,footprint,"unknown",275.00 ,3625.00,0 ,top D4 ,footprint,"unknown",500.00 ,3625.00,0 ,top R1 ,footprint,"unknown",425.00 ,3375.00,90 ,bottom C11 ,footprint,"unknown",1336.81,3834.05,90 ,bottom CONN2,footprint,"unknown",750.00 ,3625.00,0 ,top S2 ,footprint,"unknown",750.00 ,3850.00,180,top S1 ,footprint,"unknown",275.00 ,3850.00,0 ,top D3 ,footprint,"unknown",750.00 ,3350.00,0 ,top U4 ,footprint,"unknown",1500.00,3525.00,90 ,bottom D1 ,footprint,"unknown",275.00 ,3350.00,0 ,top R3 ,footprint,"unknown",600.00 ,3375.00,90 ,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/match_col_insens3-pcb_example1.xy-error0000664000175000017500000000000012204177071024732 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/chunits_to_mm-protel_example1_mil.txt0000664000175000017500000000444212204177071024657 00000000000000Designator Footprint Mid X Mid Y Ref X Ref Y Pad X Pad Y TB Rotation Comment CONN4 CONNECTOR-3-1 50.8mm 3650mil 0mil 0mil 0mil 0mil T 90.00 unknown R6 ACY1000 81.915mm 4275mil 0mil 0mil 0mil 0mil T 180.00 unknown R5 ACY1000 81.915mm 4050mil 0mil 0mil 0mil 0mil T 180.00 unknown R8 ACY1000 81.915mm 3825mil 0mil 0mil 0mil 0mil T 0.00 unknown R7 ACY1000 81.915mm 3600mil 0mil 0mil 0mil 0mil T 0.00 unknown C1 1206 24.13mm 3775mil 0mil 0mil 0mil 0mil B 0.00 unknown C14 1206 31.115mm 3600mil 0mil 0mil 0mil 0mil B 90.00 unknown D6 1206 28.575mm 3875mil 0mil 0mil 0mil 0mil B 180.00 unknown C13 1206 41.04513mm 3738.19mil 0mil 0mil 0mil 0mil B 180.00 unknown CONN3 CONNECTOR-4-1 56.515mm 3600mil 0mil 0mil 0mil 0mil T 270.00 unknown C12 1206 36.530026mm 3834.05mil 0mil 0mil 0mil 0mil B 270.00 unknown U2 TO220 34.0995mm 4175mil 0mil 0mil 0mil 0mil T 90.00 unknown D7 1206 45.085mm 3350mil 0mil 0mil 0mil 0mil B 270.00 unknown D5 1206 28.575mm 3775mil 0mil 0mil 0mil 0mil B 180.00 unknown R4 1206 12.805156mm 3527.76mil 0mil 0mil 0mil 0mil B 180.00 unknown C15 1206 31.115mm 3350mil 0mil 0mil 0mil 0mil B 90.00 unknown U1 TO220 10.3505mm 4180mil 0mil 0mil 0mil 0mil T 90.00 unknown R9 1206 47.625mm 3350mil 0mil 0mil 0mil 0mil B 90.00 1k R10 1206 39.37mm 3300mil 0mil 0mil 0mil 0mil B 0.00 1k U3 SO8 27.305mm 3525mil 0mil 0mil 0mil 0mil B 270.00 unknown R11 1206 34.925mm 3300mil 0mil 0mil 0mil 0mil B 180.00 10k D2 CONNECTOR-2-1 12.7mm 3850mil 0mil 0mil 0mil 0mil T 0.00 unknown C2 1206 23.495mm 3350mil 0mil 0mil 0mil 0mil B 270.00 unknown R2 1206 12.87526mm 3751.38mil 0mil 0mil 0mil 0mil B 180.00 unknown CONN1 CONNECTOR-2-1 6.985mm 3625mil 0mil 0mil 0mil 0mil T 0.00 unknown D4 CONNECTOR-2-1 12.7mm 3625mil 0mil 0mil 0mil 0mil T 0.00 unknown R1 1206 10.795mm 3375mil 0mil 0mil 0mil 0mil B 90.00 unknown C11 1206 33.954974mm 3834.05mil 0mil 0mil 0mil 0mil B 90.00 unknown CONN2 CONNECTOR-2-1 19.05mm 3625mil 0mil 0mil 0mil 0mil T 0.00 unknown S2 CONNECTOR-2-1 19.05mm 3850mil 0mil 0mil 0mil 0mil T 180.00 unknown S1 CONNECTOR-2-1 6.985mm 3850mil 0mil 0mil 0mil 0mil T 0.00 unknown D3 CONNECTOR-2-1 19.05mm 3350mil 0mil 0mil 0mil 0mil T 0.00 unknown U4 SO16 38.1mm 3525mil 0mil 0mil 0mil 0mil B 90.00 unknown D1 CONNECTOR-2-1 6.985mm 3350mil 0mil 0mil 0mil 0mil T 0.00 unknown R3 1206 15.24mm 3375mil 0mil 0mil 0mil 0mil B 90.00 unknown geda-gaf-1.8.2/utils/tests/gxyrs/outputs/translate_col_no_match2-pcb_example1.xy0000664000175000017500000000355712204177071025020 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/match_col_is_negative-pcb_example1.xy0000664000175000017500000000355712204177071024542 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/chunits_to_mm-protel_example1_mil.txt-error0000664000175000017500000000022612204177071026002 00000000000000Warning: change_text_units: Text Mid X has no numbers! Warning at column 3 Warning: change_text_units: Text Mid X has no numbers! Warning at column 3 geda-gaf-1.8.2/utils/tests/gxyrs/outputs/panelize_negative_ref_col_num-pcb_example1.xy0000664000175000017500000000355712204177071026275 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/translate_col_no_match1-pcb_example1.xy-error0000664000175000017500000000000012204177071026122 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/offset_match_negative_real_offset-pcb_example1.xy-error0000664000175000017500000000000012204177071030234 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/swap_cols_bad_col1_num2-pcb_example1.xy0000664000175000017500000000355712204177071024713 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/match_col_insens2-pcb_example2.xy0000664000175000017500000000355712204177071023627 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top r6,"ACY1000","unknown",3225.00,4275.00,180,top r5,"ACY1000","unknown",3225.00,4050.00,180,top r8,"ACY1000","unknown",3225.00,3825.00,0,top r7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom r4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top r9,"1206","1k",1875.00,3350.00,90,bottom r10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom r11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom r2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top r1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top r3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/swap_cols_bad_col2_num1-pcb_example1.xy0000664000175000017500000000355712204177071024713 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/panelize_tabulate-pcb_example1.xy-error0000664000175000017500000000000012204177071025027 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/panelize_x_col_num_too_high-pcb_example1.xy0000664000175000017500000000355712204177071025766 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/Makefile.am0000664000175000017500000002603512204177071017344 00000000000000 # dir | sort | awk '{printf("\t%s \\\n", $0)}' |grep -v Makefile >> Makefile.am EXTRA_DIST= \ chunits_2mm_6col_tab_notit-protel_example1_mil.txt \ chunits_2mm_6col_tab_notit-protel_example1_mil.txt-error \ chunits_already_done-protel_example1_mil.txt \ chunits_already_done-protel_example1_mil.txt-error \ chunits_bad_col_num1-pcb_example1.xy \ chunits_bad_col_num1-pcb_example1.xy-error \ chunits_bad_col_num2-pcb_example1.xy \ chunits_bad_col_num2-pcb_example1.xy-error \ chunits_col_num_too_high-pcb_example1.xy \ chunits_col_num_too_high-pcb_example1.xy-error \ chunits_done_notitle-protel_example1_mil.txt \ chunits_done_notitle-protel_example1_mil.txt-error \ chunits_negative_col_num-pcb_example1.xy \ chunits_negative_col_num-pcb_example1.xy-error \ chunits_no_units-pcb_example1.xy \ chunits_no_units-pcb_example1.xy-error \ chunits_to_mil_2cols-protel_example1_mm.txt \ chunits_to_mil_2cols-protel_example1_mm.txt-error \ chunits_to_mil-protel_example1_mm.txt \ chunits_to_mil-protel_example1_mm.txt-error \ chunits_to_mm_2cols-protel_example1_mil.txt \ chunits_to_mm_2cols-protel_example1_mil.txt-error \ chunits_to_mm_6col_tab-protel_example1_mil.txt \ chunits_to_mm_6col_tab-protel_example1_mil.txt-error \ chunits_to_mm_no_title-protel_example1_mil.txt \ chunits_to_mm_no_title-protel_example1_mil.txt-error \ chunits_to_mm-protel_example1_mil.txt \ chunits_to_mm-protel_example1_mil.txt-error \ chunits_units_not_supported-protel_example1_mil.txt \ chunits_units_not_supported-protel_example1_mil.txt-error \ del_case_insens1-pcb_example1.xy \ del_case_insens1-pcb_example1.xy-error \ del_case_insens2-pcb_example2.xy \ del_case_insens2-pcb_example2.xy-error \ del_case_sens1-pcb_example1.xy \ del_case_sens1-pcb_example1.xy-error \ del_case_sens2-pcb_example2.xy \ del_case_sens2-pcb_example2.xy-error \ del_case_sens3-pcb_example1.xy \ del_case_sens3-pcb_example1.xy-error \ del_case_sens4-pcb_example2.xy \ del_case_sens4-pcb_example2.xy-error \ del_check_cols_no_match-pcb_example1.xy \ del_check_cols_no_match-pcb_example1.xy-error \ del_check_cols_return_minus1-pcb_example1.xy \ del_check_cols_return_minus1-pcb_example1.xy-error \ do_nothing-pcb_example1.xy \ do_nothing-pcb_example1.xy-error \ do_nothing_tabulated-pcb_example1.xy \ do_nothing_tabulated-pcb_example1.xy-error \ footprint_pcb1-pcb_example1.xy \ footprint_pcb1-pcb_example1.xy-error \ footprint_protel1-protel_example1_mil.txt \ footprint_protel1-protel_example1_mil.txt-error \ footprint_report1-report1.txt \ footprint_report1-report1.txt-error \ insert_col_bad_col_num1-pcb_example1.xy \ insert_col_bad_col_num1-pcb_example1.xy-error \ insert_col_bad_col_num2-pcb_example1.xy \ insert_col_bad_col_num2-pcb_example1.xy-error \ insert_col_col_num_too_high-pcb_example1.xy \ insert_col_col_num_too_high-pcb_example1.xy-error \ insert_col_first_pos-pcb_example1.xy \ insert_col_first_pos-pcb_example1.xy-error \ insert_col_negative_col_num-pcb_example1.xy \ insert_col_negative_col_num-pcb_example1.xy-error \ insert_col_second_pos-pcb_example1.xy \ insert_col_second_pos-pcb_example1.xy-error \ match_col_insens1-pcb_example2.xy \ match_col_insens1-pcb_example2.xy-error \ match_col_insens2-pcb_example2.xy \ match_col_insens2-pcb_example2.xy-error \ match_col_insens3-pcb_example1.xy \ match_col_insens3-pcb_example1.xy-error \ match_col_insens4-pcb_example1.xy \ match_col_insens4-pcb_example1.xy-error \ match_col_is_negative-pcb_example1.xy \ match_col_is_negative-pcb_example1.xy-error \ match_col_is_not_num2-pcb_example1.xy \ match_col_is_not_num2-pcb_example1.xy-error \ match_col_is_not_num-pcb_example1.xy \ match_col_is_not_num-pcb_example1.xy-error \ match_col_is_real-pcb_example1.xy \ match_col_is_real-pcb_example1.xy-error \ match_col_is_too_high-pcb_example1.xy \ match_col_is_too_high-pcb_example1.xy-error \ match_col_sens1-pcb_example1.xy \ match_col_sens1-pcb_example1.xy-error \ match_col_sens2-pcb_example1.xy \ match_col_sens2-pcb_example1.xy-error \ match_col_sens3-pcb_example2.xy \ match_col_sens3-pcb_example2.xy-error \ match_col_sens4-pcb_example2.xy \ match_col_sens4-pcb_example2.xy-error \ match_no_args-pcb_example1.xy \ match_no_args-pcb_example1.xy-error \ multiply_bad_col_num1-pcb_example1.xy \ multiply_bad_col_num1-pcb_example1.xy-error \ multiply_bad_col_num2-pcb_example1.xy \ multiply_bad_col_num2-pcb_example1.xy-error \ multiply_col_num_too_high-pcb_example1.xy \ multiply_col_num_too_high-pcb_example1.xy-error \ multiply_integer_factor-pcb_example1.xy \ multiply_integer_factor-pcb_example1.xy-error \ multiply_negative_col_num-pcb_example1.xy \ multiply_negative_col_num-pcb_example1.xy-error \ multiply_negative_integer_factor-pcb_example1.xy \ multiply_negative_integer_factor-pcb_example1.xy-error \ multiply_negative_real_factor-pcb_example1.xy \ multiply_negative_real_factor-pcb_example1.xy-error \ multiply_real_factor-pcb_example1.xy \ multiply_real_factor-pcb_example1.xy-error \ multiply_with_checklist-pcb_example1.xy \ multiply_with_checklist-pcb_example1.xy-error \ offset_bad_col_num1-pcb_example1.xy \ offset_bad_col_num1-pcb_example1.xy-error \ offset_bad_col_num2-pcb_example1.xy \ offset_bad_col_num2-pcb_example1.xy-error \ offset_check_cols_match-pcb_example1.xy \ offset_check_cols_match-pcb_example1.xy-error \ offset_check_cols_no_match-pcb_example1.xy \ offset_check_cols_no_match-pcb_example1.xy-error \ offset_check_cols_return_minus1-pcb_example1.xy \ offset_check_cols_return_minus1-pcb_example1.xy-error \ offset_col_num_too_high-pcb_example1.xy \ offset_col_num_too_high-pcb_example1.xy-error \ offset_match_negative_offset-pcb_example1.xy \ offset_match_negative_offset-pcb_example1.xy-error \ offset_match_negative_real_offset-pcb_example1.xy \ offset_match_negative_real_offset-pcb_example1.xy-error \ offset_match_no_units_in_file-pcb_example1.xy \ offset_match_no_units_in_file-pcb_example1.xy-error \ offset_match_real_offset-pcb_example1.xy \ offset_match_real_offset-pcb_example1.xy-error \ offset_negative_col_num-pcb_example1.xy \ offset_negative_col_num-pcb_example1.xy-error \ output_delimiter-pcb_example1.xy \ output_delimiter-pcb_example1.xy-error \ panelize_bad_ref_col_num1-pcb_example1.xy \ panelize_bad_ref_col_num1-pcb_example1.xy-error \ panelize_bad_ref_col_num2-pcb_example1.xy \ panelize_bad_ref_col_num2-pcb_example1.xy-error \ panelize_bad_x_col_num1-pcb_example1.xy \ panelize_bad_x_col_num1-pcb_example1.xy-error \ panelize_bad_x_col_num2-pcb_example1.xy \ panelize_bad_x_col_num2-pcb_example1.xy-error \ panelize_bad_y_col_num1-pcb_example1.xy \ panelize_bad_y_col_num1-pcb_example1.xy-error \ panelize_bad_y_col_num2-pcb_example1.xy \ panelize_bad_y_col_num2-pcb_example1.xy-error \ panelize_negative_ref_col_num-pcb_example1.xy \ panelize_negative_ref_col_num-pcb_example1.xy-error \ panelize_negative_x_col_num-pcb_example1.xy \ panelize_negative_x_col_num-pcb_example1.xy-error \ panelize_negative_y_col_num-pcb_example1.xy \ panelize_negative_y_col_num-pcb_example1.xy-error \ panelize_ref_col_num_too_high-pcb_example1.xy \ panelize_ref_col_num_too_high-pcb_example1.xy-error \ panelize_tabulate-pcb_example1.xy \ panelize_tabulate-pcb_example1.xy-error \ panelize_x_col_num_too_high-pcb_example1.xy \ panelize_x_col_num_too_high-pcb_example1.xy-error \ panelize_y_col_num_too_high-pcb_example1.xy \ panelize_y_col_num_too_high-pcb_example1.xy-error \ process_comment-pcb_example1.xy \ process_comment-pcb_example1.xy-error \ rotate_bad_col_num1-pcb_example1.xy \ rotate_bad_col_num1-pcb_example1.xy-error \ rotate_bad_col_num2-pcb_example1.xy \ rotate_bad_col_num2-pcb_example1.xy-error \ rotate_case_insens-pcb_example1.xy \ rotate_case_insens-pcb_example1.xy-error \ rotate_case_sens-pcb_example1.xy \ rotate_case_sens-pcb_example1.xy-error \ rotate_check_cols_no_match-pcb_example1.xy \ rotate_check_cols_no_match-pcb_example1.xy-error \ rotate_check_cols_return_minus1-pcb_example1.xy \ rotate_check_cols_return_minus1-pcb_example1.xy-error \ rotate_col_num_too_high-pcb_example1.xy \ rotate_col_num_too_high-pcb_example1.xy-error \ rotate_negative_angle-pcb_example1.xy \ rotate_negative_angle-pcb_example1.xy-error \ rotate_negative_col_num-pcb_example1.xy \ rotate_negative_col_num-pcb_example1.xy-error \ rotate_negative_real_angle-pcb_example1.xy \ rotate_negative_real_angle-pcb_example1.xy-error \ rotate_real_angle-pcb_example1.xy \ rotate_real_angle-pcb_example1.xy-error \ subst_bad_col_num1-pcb_example1.xy \ subst_bad_col_num1-pcb_example1.xy-error \ subst_bad_col_num2-pcb_example1.xy \ subst_bad_col_num2-pcb_example1.xy-error \ subst_check_cols_match-pcb_example1.xy \ subst_check_cols_match-pcb_example1.xy-error \ subst_check_cols_no_match-pcb_example1.xy \ subst_check_cols_no_match-pcb_example1.xy-error \ subst_check_cols_return_minus1-pcb_example1.xy \ subst_check_cols_return_minus1-pcb_example1.xy-error \ subst_col_num_too_high-pcb_example1.xy \ subst_col_num_too_high-pcb_example1.xy-error \ subst_negative_col_num-pcb_example1.xy \ subst_negative_col_num-pcb_example1.xy-error \ swap_cols_bad_col1_num1-pcb_example1.xy \ swap_cols_bad_col1_num1-pcb_example1.xy-error \ swap_cols_bad_col1_num2-pcb_example1.xy \ swap_cols_bad_col1_num2-pcb_example1.xy-error \ swap_cols_bad_col2_num1-pcb_example1.xy \ swap_cols_bad_col2_num1-pcb_example1.xy-error \ swap_cols_bad_col2_num2-pcb_example1.xy \ swap_cols_bad_col2_num2-pcb_example1.xy-error \ swap_cols_col1_num_too_high-pcb_example1.xy \ swap_cols_col1_num_too_high-pcb_example1.xy-error \ swap_cols_col2_num_too_high-pcb_example1.xy \ swap_cols_col2_num_too_high-pcb_example1.xy-error \ swap_cols_negative_col1_num-pcb_example1.xy \ swap_cols_negative_col1_num-pcb_example1.xy-error \ swap_cols_negative_col2_num-pcb_example1.xy \ swap_cols_negative_col2_num-pcb_example1.xy-error \ swap_cols_no_matchlist-pcb_example1.xy \ swap_cols_no_matchlist-pcb_example1.xy-error \ swap_cols_no_match-pcb_example1.xy \ swap_cols_no_match-pcb_example1.xy-error \ swap_cols_with_match-pcb_example1.xy \ swap_cols_with_match-pcb_example1.xy-error \ translate_bad_col_num1-pcb_example1.xy \ translate_bad_col_num1-pcb_example1.xy-error \ translate_bad_col_num2-pcb_example1.xy \ translate_bad_col_num2-pcb_example1.xy-error \ translate_col_chg_all_val_plus_k-pcb_example1.xy \ translate_col_chg_all_val_plus_k-pcb_example1.xy-error \ translate_col_change_R10_value-pcb_example1.xy \ translate_col_change_R10_value-pcb_example1.xy-error \ translate_col_no_match1-pcb_example1.xy \ translate_col_no_match1-pcb_example1.xy-error \ translate_col_no_match2-pcb_example1.xy \ translate_col_no_match2-pcb_example1.xy-error \ translate_col_num_too_high-pcb_example1.xy \ translate_col_num_too_high-pcb_example1.xy-error \ translate_col_R10_value_case_insens-pcb_example1.xy \ translate_col_R10_value_case_insens-pcb_example1.xy-error \ translate_negative_col_num-pcb_example1.xy \ translate_negative_col_num-pcb_example1.xy-error MOSTLYCLEANFILES = *.log core FILE *~ CLEANFILES = *.log core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in geda-gaf-1.8.2/utils/tests/gxyrs/outputs/panelize_bad_x_col_num1-pcb_example1.xy-error0000664000175000017500000000654612204177071026125 00000000000000Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. geda-gaf-1.8.2/utils/tests/gxyrs/outputs/swap_cols_no_matchlist-pcb_example1.xy-error0000664000175000017500000000000012204177071026075 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/subst_negative_col_num-pcb_example1.xy-error0000664000175000017500000000654612204177071026122 00000000000000Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. Error: subst_col_val: wrong column argument: -6. geda-gaf-1.8.2/utils/tests/gxyrs/outputs/swap_cols_col1_num_too_high-pcb_example1.xy-error0000664000175000017500000001060012204177071027015 00000000000000Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). geda-gaf-1.8.2/utils/tests/gxyrs/outputs/rotate_bad_col_num2-pcb_example1.xy-error0000664000175000017500000000633212204177071025257 00000000000000Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. Error: rotate_comp: wrong column argument: d6. geda-gaf-1.8.2/utils/tests/gxyrs/outputs/rotate_col_num_too_high-pcb_example1.xy-error0000664000175000017500000001047212204177071026247 00000000000000Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). Error: rotate_comp: Element number (100) is not within (0..7). geda-gaf-1.8.2/utils/tests/gxyrs/outputs/translate_bad_col_num2-pcb_example1.xy0000664000175000017500000000355712204177071024635 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/insert_col_second_pos-pcb_example1.xy-error0000664000175000017500000000000012204177071025714 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/panelize_tabulate-pcb_example1.xy0000664000175000017500000176747312204177071023743 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4-0-0 "CONNECTOR-3-1" "unknown" 2000.00 3650.00 90 top CONN4-0-1 "CONNECTOR-3-1" "unknown" 2000 5150 90 top CONN4-0-2 "CONNECTOR-3-1" "unknown" 2000 6650 90 top CONN4-0-3 "CONNECTOR-3-1" "unknown" 2000 8150 90 top CONN4-0-4 "CONNECTOR-3-1" "unknown" 2000 9650 90 top CONN4-0-5 "CONNECTOR-3-1" "unknown" 2000 11150 90 top CONN4-0-6 "CONNECTOR-3-1" "unknown" 2000 12650 90 top CONN4-0-7 "CONNECTOR-3-1" "unknown" 2000 14150 90 top CONN4-0-8 "CONNECTOR-3-1" "unknown" 2000 15650 90 top CONN4-0-9 "CONNECTOR-3-1" "unknown" 2000 17150 90 top CONN4-0-10 "CONNECTOR-3-1" "unknown" 2000 18650 90 top CONN4-0-11 "CONNECTOR-3-1" "unknown" 2000 20150 90 top CONN4-0-12 "CONNECTOR-3-1" "unknown" 2000 21650 90 top CONN4-0-13 "CONNECTOR-3-1" "unknown" 2000 23150 90 top CONN4-0-14 "CONNECTOR-3-1" "unknown" 2000 24650 90 top CONN4-1-0 "CONNECTOR-3-1" "unknown" 2500 3650 90 top CONN4-1-1 "CONNECTOR-3-1" "unknown" 2500 5150 90 top CONN4-1-2 "CONNECTOR-3-1" "unknown" 2500 6650 90 top CONN4-1-3 "CONNECTOR-3-1" "unknown" 2500 8150 90 top CONN4-1-4 "CONNECTOR-3-1" "unknown" 2500 9650 90 top CONN4-1-5 "CONNECTOR-3-1" "unknown" 2500 11150 90 top CONN4-1-6 "CONNECTOR-3-1" "unknown" 2500 12650 90 top CONN4-1-7 "CONNECTOR-3-1" "unknown" 2500 14150 90 top CONN4-1-8 "CONNECTOR-3-1" "unknown" 2500 15650 90 top CONN4-1-9 "CONNECTOR-3-1" "unknown" 2500 17150 90 top CONN4-1-10 "CONNECTOR-3-1" "unknown" 2500 18650 90 top CONN4-1-11 "CONNECTOR-3-1" "unknown" 2500 20150 90 top CONN4-1-12 "CONNECTOR-3-1" "unknown" 2500 21650 90 top CONN4-1-13 "CONNECTOR-3-1" "unknown" 2500 23150 90 top CONN4-1-14 "CONNECTOR-3-1" "unknown" 2500 24650 90 top CONN4-2-0 "CONNECTOR-3-1" "unknown" 3000 3650 90 top CONN4-2-1 "CONNECTOR-3-1" "unknown" 3000 5150 90 top CONN4-2-2 "CONNECTOR-3-1" "unknown" 3000 6650 90 top CONN4-2-3 "CONNECTOR-3-1" "unknown" 3000 8150 90 top CONN4-2-4 "CONNECTOR-3-1" "unknown" 3000 9650 90 top CONN4-2-5 "CONNECTOR-3-1" "unknown" 3000 11150 90 top CONN4-2-6 "CONNECTOR-3-1" "unknown" 3000 12650 90 top CONN4-2-7 "CONNECTOR-3-1" "unknown" 3000 14150 90 top CONN4-2-8 "CONNECTOR-3-1" "unknown" 3000 15650 90 top CONN4-2-9 "CONNECTOR-3-1" "unknown" 3000 17150 90 top CONN4-2-10 "CONNECTOR-3-1" "unknown" 3000 18650 90 top CONN4-2-11 "CONNECTOR-3-1" "unknown" 3000 20150 90 top CONN4-2-12 "CONNECTOR-3-1" "unknown" 3000 21650 90 top CONN4-2-13 "CONNECTOR-3-1" "unknown" 3000 23150 90 top CONN4-2-14 "CONNECTOR-3-1" "unknown" 3000 24650 90 top CONN4-3-0 "CONNECTOR-3-1" "unknown" 3500 3650 90 top CONN4-3-1 "CONNECTOR-3-1" "unknown" 3500 5150 90 top CONN4-3-2 "CONNECTOR-3-1" "unknown" 3500 6650 90 top CONN4-3-3 "CONNECTOR-3-1" "unknown" 3500 8150 90 top CONN4-3-4 "CONNECTOR-3-1" "unknown" 3500 9650 90 top CONN4-3-5 "CONNECTOR-3-1" "unknown" 3500 11150 90 top CONN4-3-6 "CONNECTOR-3-1" "unknown" 3500 12650 90 top CONN4-3-7 "CONNECTOR-3-1" "unknown" 3500 14150 90 top CONN4-3-8 "CONNECTOR-3-1" "unknown" 3500 15650 90 top CONN4-3-9 "CONNECTOR-3-1" "unknown" 3500 17150 90 top CONN4-3-10 "CONNECTOR-3-1" "unknown" 3500 18650 90 top CONN4-3-11 "CONNECTOR-3-1" "unknown" 3500 20150 90 top CONN4-3-12 "CONNECTOR-3-1" "unknown" 3500 21650 90 top CONN4-3-13 "CONNECTOR-3-1" "unknown" 3500 23150 90 top CONN4-3-14 "CONNECTOR-3-1" "unknown" 3500 24650 90 top CONN4-4-0 "CONNECTOR-3-1" "unknown" 4000 3650 90 top CONN4-4-1 "CONNECTOR-3-1" "unknown" 4000 5150 90 top CONN4-4-2 "CONNECTOR-3-1" "unknown" 4000 6650 90 top CONN4-4-3 "CONNECTOR-3-1" "unknown" 4000 8150 90 top CONN4-4-4 "CONNECTOR-3-1" "unknown" 4000 9650 90 top CONN4-4-5 "CONNECTOR-3-1" "unknown" 4000 11150 90 top CONN4-4-6 "CONNECTOR-3-1" "unknown" 4000 12650 90 top CONN4-4-7 "CONNECTOR-3-1" "unknown" 4000 14150 90 top CONN4-4-8 "CONNECTOR-3-1" "unknown" 4000 15650 90 top CONN4-4-9 "CONNECTOR-3-1" "unknown" 4000 17150 90 top CONN4-4-10 "CONNECTOR-3-1" "unknown" 4000 18650 90 top CONN4-4-11 "CONNECTOR-3-1" "unknown" 4000 20150 90 top CONN4-4-12 "CONNECTOR-3-1" "unknown" 4000 21650 90 top CONN4-4-13 "CONNECTOR-3-1" "unknown" 4000 23150 90 top CONN4-4-14 "CONNECTOR-3-1" "unknown" 4000 24650 90 top CONN4-5-0 "CONNECTOR-3-1" "unknown" 4500 3650 90 top CONN4-5-1 "CONNECTOR-3-1" "unknown" 4500 5150 90 top CONN4-5-2 "CONNECTOR-3-1" "unknown" 4500 6650 90 top CONN4-5-3 "CONNECTOR-3-1" "unknown" 4500 8150 90 top CONN4-5-4 "CONNECTOR-3-1" "unknown" 4500 9650 90 top CONN4-5-5 "CONNECTOR-3-1" "unknown" 4500 11150 90 top CONN4-5-6 "CONNECTOR-3-1" "unknown" 4500 12650 90 top CONN4-5-7 "CONNECTOR-3-1" "unknown" 4500 14150 90 top CONN4-5-8 "CONNECTOR-3-1" "unknown" 4500 15650 90 top CONN4-5-9 "CONNECTOR-3-1" "unknown" 4500 17150 90 top CONN4-5-10 "CONNECTOR-3-1" "unknown" 4500 18650 90 top CONN4-5-11 "CONNECTOR-3-1" "unknown" 4500 20150 90 top CONN4-5-12 "CONNECTOR-3-1" "unknown" 4500 21650 90 top CONN4-5-13 "CONNECTOR-3-1" "unknown" 4500 23150 90 top CONN4-5-14 "CONNECTOR-3-1" "unknown" 4500 24650 90 top CONN4-6-0 "CONNECTOR-3-1" "unknown" 5000 3650 90 top CONN4-6-1 "CONNECTOR-3-1" "unknown" 5000 5150 90 top CONN4-6-2 "CONNECTOR-3-1" "unknown" 5000 6650 90 top CONN4-6-3 "CONNECTOR-3-1" "unknown" 5000 8150 90 top CONN4-6-4 "CONNECTOR-3-1" "unknown" 5000 9650 90 top CONN4-6-5 "CONNECTOR-3-1" "unknown" 5000 11150 90 top CONN4-6-6 "CONNECTOR-3-1" "unknown" 5000 12650 90 top CONN4-6-7 "CONNECTOR-3-1" "unknown" 5000 14150 90 top CONN4-6-8 "CONNECTOR-3-1" "unknown" 5000 15650 90 top CONN4-6-9 "CONNECTOR-3-1" "unknown" 5000 17150 90 top CONN4-6-10 "CONNECTOR-3-1" "unknown" 5000 18650 90 top CONN4-6-11 "CONNECTOR-3-1" "unknown" 5000 20150 90 top CONN4-6-12 "CONNECTOR-3-1" "unknown" 5000 21650 90 top CONN4-6-13 "CONNECTOR-3-1" "unknown" 5000 23150 90 top CONN4-6-14 "CONNECTOR-3-1" "unknown" 5000 24650 90 top CONN4-7-0 "CONNECTOR-3-1" "unknown" 5500 3650 90 top CONN4-7-1 "CONNECTOR-3-1" "unknown" 5500 5150 90 top CONN4-7-2 "CONNECTOR-3-1" "unknown" 5500 6650 90 top CONN4-7-3 "CONNECTOR-3-1" "unknown" 5500 8150 90 top CONN4-7-4 "CONNECTOR-3-1" "unknown" 5500 9650 90 top CONN4-7-5 "CONNECTOR-3-1" "unknown" 5500 11150 90 top CONN4-7-6 "CONNECTOR-3-1" "unknown" 5500 12650 90 top CONN4-7-7 "CONNECTOR-3-1" "unknown" 5500 14150 90 top CONN4-7-8 "CONNECTOR-3-1" "unknown" 5500 15650 90 top CONN4-7-9 "CONNECTOR-3-1" "unknown" 5500 17150 90 top CONN4-7-10 "CONNECTOR-3-1" "unknown" 5500 18650 90 top CONN4-7-11 "CONNECTOR-3-1" "unknown" 5500 20150 90 top CONN4-7-12 "CONNECTOR-3-1" "unknown" 5500 21650 90 top CONN4-7-13 "CONNECTOR-3-1" "unknown" 5500 23150 90 top CONN4-7-14 "CONNECTOR-3-1" "unknown" 5500 24650 90 top CONN4-8-0 "CONNECTOR-3-1" "unknown" 6000 3650 90 top CONN4-8-1 "CONNECTOR-3-1" "unknown" 6000 5150 90 top CONN4-8-2 "CONNECTOR-3-1" "unknown" 6000 6650 90 top CONN4-8-3 "CONNECTOR-3-1" "unknown" 6000 8150 90 top CONN4-8-4 "CONNECTOR-3-1" "unknown" 6000 9650 90 top CONN4-8-5 "CONNECTOR-3-1" "unknown" 6000 11150 90 top CONN4-8-6 "CONNECTOR-3-1" "unknown" 6000 12650 90 top CONN4-8-7 "CONNECTOR-3-1" "unknown" 6000 14150 90 top CONN4-8-8 "CONNECTOR-3-1" "unknown" 6000 15650 90 top CONN4-8-9 "CONNECTOR-3-1" "unknown" 6000 17150 90 top CONN4-8-10 "CONNECTOR-3-1" "unknown" 6000 18650 90 top CONN4-8-11 "CONNECTOR-3-1" "unknown" 6000 20150 90 top CONN4-8-12 "CONNECTOR-3-1" "unknown" 6000 21650 90 top CONN4-8-13 "CONNECTOR-3-1" "unknown" 6000 23150 90 top CONN4-8-14 "CONNECTOR-3-1" "unknown" 6000 24650 90 top CONN4-9-0 "CONNECTOR-3-1" "unknown" 6500 3650 90 top CONN4-9-1 "CONNECTOR-3-1" "unknown" 6500 5150 90 top CONN4-9-2 "CONNECTOR-3-1" "unknown" 6500 6650 90 top CONN4-9-3 "CONNECTOR-3-1" "unknown" 6500 8150 90 top CONN4-9-4 "CONNECTOR-3-1" "unknown" 6500 9650 90 top CONN4-9-5 "CONNECTOR-3-1" "unknown" 6500 11150 90 top CONN4-9-6 "CONNECTOR-3-1" "unknown" 6500 12650 90 top CONN4-9-7 "CONNECTOR-3-1" "unknown" 6500 14150 90 top CONN4-9-8 "CONNECTOR-3-1" "unknown" 6500 15650 90 top CONN4-9-9 "CONNECTOR-3-1" "unknown" 6500 17150 90 top CONN4-9-10 "CONNECTOR-3-1" "unknown" 6500 18650 90 top CONN4-9-11 "CONNECTOR-3-1" "unknown" 6500 20150 90 top CONN4-9-12 "CONNECTOR-3-1" "unknown" 6500 21650 90 top CONN4-9-13 "CONNECTOR-3-1" "unknown" 6500 23150 90 top CONN4-9-14 "CONNECTOR-3-1" "unknown" 6500 24650 90 top CONN4-10-0 "CONNECTOR-3-1" "unknown" 7000 3650 90 top CONN4-10-1 "CONNECTOR-3-1" "unknown" 7000 5150 90 top CONN4-10-2 "CONNECTOR-3-1" "unknown" 7000 6650 90 top CONN4-10-3 "CONNECTOR-3-1" "unknown" 7000 8150 90 top CONN4-10-4 "CONNECTOR-3-1" "unknown" 7000 9650 90 top CONN4-10-5 "CONNECTOR-3-1" "unknown" 7000 11150 90 top CONN4-10-6 "CONNECTOR-3-1" "unknown" 7000 12650 90 top CONN4-10-7 "CONNECTOR-3-1" "unknown" 7000 14150 90 top CONN4-10-8 "CONNECTOR-3-1" "unknown" 7000 15650 90 top CONN4-10-9 "CONNECTOR-3-1" "unknown" 7000 17150 90 top CONN4-10-10 "CONNECTOR-3-1" "unknown" 7000 18650 90 top CONN4-10-11 "CONNECTOR-3-1" "unknown" 7000 20150 90 top CONN4-10-12 "CONNECTOR-3-1" "unknown" 7000 21650 90 top CONN4-10-13 "CONNECTOR-3-1" "unknown" 7000 23150 90 top CONN4-10-14 "CONNECTOR-3-1" "unknown" 7000 24650 90 top CONN4-11-0 "CONNECTOR-3-1" "unknown" 7500 3650 90 top CONN4-11-1 "CONNECTOR-3-1" "unknown" 7500 5150 90 top CONN4-11-2 "CONNECTOR-3-1" "unknown" 7500 6650 90 top CONN4-11-3 "CONNECTOR-3-1" "unknown" 7500 8150 90 top CONN4-11-4 "CONNECTOR-3-1" "unknown" 7500 9650 90 top CONN4-11-5 "CONNECTOR-3-1" "unknown" 7500 11150 90 top CONN4-11-6 "CONNECTOR-3-1" "unknown" 7500 12650 90 top CONN4-11-7 "CONNECTOR-3-1" "unknown" 7500 14150 90 top CONN4-11-8 "CONNECTOR-3-1" "unknown" 7500 15650 90 top CONN4-11-9 "CONNECTOR-3-1" "unknown" 7500 17150 90 top CONN4-11-10 "CONNECTOR-3-1" "unknown" 7500 18650 90 top CONN4-11-11 "CONNECTOR-3-1" "unknown" 7500 20150 90 top CONN4-11-12 "CONNECTOR-3-1" "unknown" 7500 21650 90 top CONN4-11-13 "CONNECTOR-3-1" "unknown" 7500 23150 90 top CONN4-11-14 "CONNECTOR-3-1" "unknown" 7500 24650 90 top CONN4-12-0 "CONNECTOR-3-1" "unknown" 8000 3650 90 top CONN4-12-1 "CONNECTOR-3-1" "unknown" 8000 5150 90 top CONN4-12-2 "CONNECTOR-3-1" "unknown" 8000 6650 90 top CONN4-12-3 "CONNECTOR-3-1" "unknown" 8000 8150 90 top CONN4-12-4 "CONNECTOR-3-1" "unknown" 8000 9650 90 top CONN4-12-5 "CONNECTOR-3-1" "unknown" 8000 11150 90 top CONN4-12-6 "CONNECTOR-3-1" "unknown" 8000 12650 90 top CONN4-12-7 "CONNECTOR-3-1" "unknown" 8000 14150 90 top CONN4-12-8 "CONNECTOR-3-1" "unknown" 8000 15650 90 top CONN4-12-9 "CONNECTOR-3-1" "unknown" 8000 17150 90 top CONN4-12-10 "CONNECTOR-3-1" "unknown" 8000 18650 90 top CONN4-12-11 "CONNECTOR-3-1" "unknown" 8000 20150 90 top CONN4-12-12 "CONNECTOR-3-1" "unknown" 8000 21650 90 top CONN4-12-13 "CONNECTOR-3-1" "unknown" 8000 23150 90 top CONN4-12-14 "CONNECTOR-3-1" "unknown" 8000 24650 90 top CONN4-13-0 "CONNECTOR-3-1" "unknown" 8500 3650 90 top CONN4-13-1 "CONNECTOR-3-1" "unknown" 8500 5150 90 top CONN4-13-2 "CONNECTOR-3-1" "unknown" 8500 6650 90 top CONN4-13-3 "CONNECTOR-3-1" "unknown" 8500 8150 90 top CONN4-13-4 "CONNECTOR-3-1" "unknown" 8500 9650 90 top CONN4-13-5 "CONNECTOR-3-1" "unknown" 8500 11150 90 top CONN4-13-6 "CONNECTOR-3-1" "unknown" 8500 12650 90 top CONN4-13-7 "CONNECTOR-3-1" "unknown" 8500 14150 90 top CONN4-13-8 "CONNECTOR-3-1" "unknown" 8500 15650 90 top CONN4-13-9 "CONNECTOR-3-1" "unknown" 8500 17150 90 top CONN4-13-10 "CONNECTOR-3-1" "unknown" 8500 18650 90 top CONN4-13-11 "CONNECTOR-3-1" "unknown" 8500 20150 90 top CONN4-13-12 "CONNECTOR-3-1" "unknown" 8500 21650 90 top CONN4-13-13 "CONNECTOR-3-1" "unknown" 8500 23150 90 top CONN4-13-14 "CONNECTOR-3-1" "unknown" 8500 24650 90 top CONN4-14-0 "CONNECTOR-3-1" "unknown" 9000 3650 90 top CONN4-14-1 "CONNECTOR-3-1" "unknown" 9000 5150 90 top CONN4-14-2 "CONNECTOR-3-1" "unknown" 9000 6650 90 top CONN4-14-3 "CONNECTOR-3-1" "unknown" 9000 8150 90 top CONN4-14-4 "CONNECTOR-3-1" "unknown" 9000 9650 90 top CONN4-14-5 "CONNECTOR-3-1" "unknown" 9000 11150 90 top CONN4-14-6 "CONNECTOR-3-1" "unknown" 9000 12650 90 top CONN4-14-7 "CONNECTOR-3-1" "unknown" 9000 14150 90 top CONN4-14-8 "CONNECTOR-3-1" "unknown" 9000 15650 90 top CONN4-14-9 "CONNECTOR-3-1" "unknown" 9000 17150 90 top CONN4-14-10 "CONNECTOR-3-1" "unknown" 9000 18650 90 top CONN4-14-11 "CONNECTOR-3-1" "unknown" 9000 20150 90 top CONN4-14-12 "CONNECTOR-3-1" "unknown" 9000 21650 90 top CONN4-14-13 "CONNECTOR-3-1" "unknown" 9000 23150 90 top CONN4-14-14 "CONNECTOR-3-1" "unknown" 9000 24650 90 top R6-0-0 "ACY1000" "unknown" 3225.00 4275.00 180 top R6-0-1 "ACY1000" "unknown" 3225 5775 180 top R6-0-2 "ACY1000" "unknown" 3225 7275 180 top R6-0-3 "ACY1000" "unknown" 3225 8775 180 top R6-0-4 "ACY1000" "unknown" 3225 10275 180 top R6-0-5 "ACY1000" "unknown" 3225 11775 180 top R6-0-6 "ACY1000" "unknown" 3225 13275 180 top R6-0-7 "ACY1000" "unknown" 3225 14775 180 top R6-0-8 "ACY1000" "unknown" 3225 16275 180 top R6-0-9 "ACY1000" "unknown" 3225 17775 180 top R6-0-10 "ACY1000" "unknown" 3225 19275 180 top R6-0-11 "ACY1000" "unknown" 3225 20775 180 top R6-0-12 "ACY1000" "unknown" 3225 22275 180 top R6-0-13 "ACY1000" "unknown" 3225 23775 180 top R6-0-14 "ACY1000" "unknown" 3225 25275 180 top R6-1-0 "ACY1000" "unknown" 3725 4275 180 top R6-1-1 "ACY1000" "unknown" 3725 5775 180 top R6-1-2 "ACY1000" "unknown" 3725 7275 180 top R6-1-3 "ACY1000" "unknown" 3725 8775 180 top R6-1-4 "ACY1000" "unknown" 3725 10275 180 top R6-1-5 "ACY1000" "unknown" 3725 11775 180 top R6-1-6 "ACY1000" "unknown" 3725 13275 180 top R6-1-7 "ACY1000" "unknown" 3725 14775 180 top R6-1-8 "ACY1000" "unknown" 3725 16275 180 top R6-1-9 "ACY1000" "unknown" 3725 17775 180 top R6-1-10 "ACY1000" "unknown" 3725 19275 180 top R6-1-11 "ACY1000" "unknown" 3725 20775 180 top R6-1-12 "ACY1000" "unknown" 3725 22275 180 top R6-1-13 "ACY1000" "unknown" 3725 23775 180 top R6-1-14 "ACY1000" "unknown" 3725 25275 180 top R6-2-0 "ACY1000" "unknown" 4225 4275 180 top R6-2-1 "ACY1000" "unknown" 4225 5775 180 top R6-2-2 "ACY1000" "unknown" 4225 7275 180 top R6-2-3 "ACY1000" "unknown" 4225 8775 180 top R6-2-4 "ACY1000" "unknown" 4225 10275 180 top R6-2-5 "ACY1000" "unknown" 4225 11775 180 top R6-2-6 "ACY1000" "unknown" 4225 13275 180 top R6-2-7 "ACY1000" "unknown" 4225 14775 180 top R6-2-8 "ACY1000" "unknown" 4225 16275 180 top R6-2-9 "ACY1000" "unknown" 4225 17775 180 top R6-2-10 "ACY1000" "unknown" 4225 19275 180 top R6-2-11 "ACY1000" "unknown" 4225 20775 180 top R6-2-12 "ACY1000" "unknown" 4225 22275 180 top R6-2-13 "ACY1000" "unknown" 4225 23775 180 top R6-2-14 "ACY1000" "unknown" 4225 25275 180 top R6-3-0 "ACY1000" "unknown" 4725 4275 180 top R6-3-1 "ACY1000" "unknown" 4725 5775 180 top R6-3-2 "ACY1000" "unknown" 4725 7275 180 top R6-3-3 "ACY1000" "unknown" 4725 8775 180 top R6-3-4 "ACY1000" "unknown" 4725 10275 180 top R6-3-5 "ACY1000" "unknown" 4725 11775 180 top R6-3-6 "ACY1000" "unknown" 4725 13275 180 top R6-3-7 "ACY1000" "unknown" 4725 14775 180 top R6-3-8 "ACY1000" "unknown" 4725 16275 180 top R6-3-9 "ACY1000" "unknown" 4725 17775 180 top R6-3-10 "ACY1000" "unknown" 4725 19275 180 top R6-3-11 "ACY1000" "unknown" 4725 20775 180 top R6-3-12 "ACY1000" "unknown" 4725 22275 180 top R6-3-13 "ACY1000" "unknown" 4725 23775 180 top R6-3-14 "ACY1000" "unknown" 4725 25275 180 top R6-4-0 "ACY1000" "unknown" 5225 4275 180 top R6-4-1 "ACY1000" "unknown" 5225 5775 180 top R6-4-2 "ACY1000" "unknown" 5225 7275 180 top R6-4-3 "ACY1000" "unknown" 5225 8775 180 top R6-4-4 "ACY1000" "unknown" 5225 10275 180 top R6-4-5 "ACY1000" "unknown" 5225 11775 180 top R6-4-6 "ACY1000" "unknown" 5225 13275 180 top R6-4-7 "ACY1000" "unknown" 5225 14775 180 top R6-4-8 "ACY1000" "unknown" 5225 16275 180 top R6-4-9 "ACY1000" "unknown" 5225 17775 180 top R6-4-10 "ACY1000" "unknown" 5225 19275 180 top R6-4-11 "ACY1000" "unknown" 5225 20775 180 top R6-4-12 "ACY1000" "unknown" 5225 22275 180 top R6-4-13 "ACY1000" "unknown" 5225 23775 180 top R6-4-14 "ACY1000" "unknown" 5225 25275 180 top R6-5-0 "ACY1000" "unknown" 5725 4275 180 top R6-5-1 "ACY1000" "unknown" 5725 5775 180 top R6-5-2 "ACY1000" "unknown" 5725 7275 180 top R6-5-3 "ACY1000" "unknown" 5725 8775 180 top R6-5-4 "ACY1000" "unknown" 5725 10275 180 top R6-5-5 "ACY1000" "unknown" 5725 11775 180 top R6-5-6 "ACY1000" "unknown" 5725 13275 180 top R6-5-7 "ACY1000" "unknown" 5725 14775 180 top R6-5-8 "ACY1000" "unknown" 5725 16275 180 top R6-5-9 "ACY1000" "unknown" 5725 17775 180 top R6-5-10 "ACY1000" "unknown" 5725 19275 180 top R6-5-11 "ACY1000" "unknown" 5725 20775 180 top R6-5-12 "ACY1000" "unknown" 5725 22275 180 top R6-5-13 "ACY1000" "unknown" 5725 23775 180 top R6-5-14 "ACY1000" "unknown" 5725 25275 180 top R6-6-0 "ACY1000" "unknown" 6225 4275 180 top R6-6-1 "ACY1000" "unknown" 6225 5775 180 top R6-6-2 "ACY1000" "unknown" 6225 7275 180 top R6-6-3 "ACY1000" "unknown" 6225 8775 180 top R6-6-4 "ACY1000" "unknown" 6225 10275 180 top R6-6-5 "ACY1000" "unknown" 6225 11775 180 top R6-6-6 "ACY1000" "unknown" 6225 13275 180 top R6-6-7 "ACY1000" "unknown" 6225 14775 180 top R6-6-8 "ACY1000" "unknown" 6225 16275 180 top R6-6-9 "ACY1000" "unknown" 6225 17775 180 top R6-6-10 "ACY1000" "unknown" 6225 19275 180 top R6-6-11 "ACY1000" "unknown" 6225 20775 180 top R6-6-12 "ACY1000" "unknown" 6225 22275 180 top R6-6-13 "ACY1000" "unknown" 6225 23775 180 top R6-6-14 "ACY1000" "unknown" 6225 25275 180 top R6-7-0 "ACY1000" "unknown" 6725 4275 180 top R6-7-1 "ACY1000" "unknown" 6725 5775 180 top R6-7-2 "ACY1000" "unknown" 6725 7275 180 top R6-7-3 "ACY1000" "unknown" 6725 8775 180 top R6-7-4 "ACY1000" "unknown" 6725 10275 180 top R6-7-5 "ACY1000" "unknown" 6725 11775 180 top R6-7-6 "ACY1000" "unknown" 6725 13275 180 top R6-7-7 "ACY1000" "unknown" 6725 14775 180 top R6-7-8 "ACY1000" "unknown" 6725 16275 180 top R6-7-9 "ACY1000" "unknown" 6725 17775 180 top R6-7-10 "ACY1000" "unknown" 6725 19275 180 top R6-7-11 "ACY1000" "unknown" 6725 20775 180 top R6-7-12 "ACY1000" "unknown" 6725 22275 180 top R6-7-13 "ACY1000" "unknown" 6725 23775 180 top R6-7-14 "ACY1000" "unknown" 6725 25275 180 top R6-8-0 "ACY1000" "unknown" 7225 4275 180 top R6-8-1 "ACY1000" "unknown" 7225 5775 180 top R6-8-2 "ACY1000" "unknown" 7225 7275 180 top R6-8-3 "ACY1000" "unknown" 7225 8775 180 top R6-8-4 "ACY1000" "unknown" 7225 10275 180 top R6-8-5 "ACY1000" "unknown" 7225 11775 180 top R6-8-6 "ACY1000" "unknown" 7225 13275 180 top R6-8-7 "ACY1000" "unknown" 7225 14775 180 top R6-8-8 "ACY1000" "unknown" 7225 16275 180 top R6-8-9 "ACY1000" "unknown" 7225 17775 180 top R6-8-10 "ACY1000" "unknown" 7225 19275 180 top R6-8-11 "ACY1000" "unknown" 7225 20775 180 top R6-8-12 "ACY1000" "unknown" 7225 22275 180 top R6-8-13 "ACY1000" "unknown" 7225 23775 180 top R6-8-14 "ACY1000" "unknown" 7225 25275 180 top R6-9-0 "ACY1000" "unknown" 7725 4275 180 top R6-9-1 "ACY1000" "unknown" 7725 5775 180 top R6-9-2 "ACY1000" "unknown" 7725 7275 180 top R6-9-3 "ACY1000" "unknown" 7725 8775 180 top R6-9-4 "ACY1000" "unknown" 7725 10275 180 top R6-9-5 "ACY1000" "unknown" 7725 11775 180 top R6-9-6 "ACY1000" "unknown" 7725 13275 180 top R6-9-7 "ACY1000" "unknown" 7725 14775 180 top R6-9-8 "ACY1000" "unknown" 7725 16275 180 top R6-9-9 "ACY1000" "unknown" 7725 17775 180 top R6-9-10 "ACY1000" "unknown" 7725 19275 180 top R6-9-11 "ACY1000" "unknown" 7725 20775 180 top R6-9-12 "ACY1000" "unknown" 7725 22275 180 top R6-9-13 "ACY1000" "unknown" 7725 23775 180 top R6-9-14 "ACY1000" "unknown" 7725 25275 180 top R6-10-0 "ACY1000" "unknown" 8225 4275 180 top R6-10-1 "ACY1000" "unknown" 8225 5775 180 top R6-10-2 "ACY1000" "unknown" 8225 7275 180 top R6-10-3 "ACY1000" "unknown" 8225 8775 180 top R6-10-4 "ACY1000" "unknown" 8225 10275 180 top R6-10-5 "ACY1000" "unknown" 8225 11775 180 top R6-10-6 "ACY1000" "unknown" 8225 13275 180 top R6-10-7 "ACY1000" "unknown" 8225 14775 180 top R6-10-8 "ACY1000" "unknown" 8225 16275 180 top R6-10-9 "ACY1000" "unknown" 8225 17775 180 top R6-10-10 "ACY1000" "unknown" 8225 19275 180 top R6-10-11 "ACY1000" "unknown" 8225 20775 180 top R6-10-12 "ACY1000" "unknown" 8225 22275 180 top R6-10-13 "ACY1000" "unknown" 8225 23775 180 top R6-10-14 "ACY1000" "unknown" 8225 25275 180 top R6-11-0 "ACY1000" "unknown" 8725 4275 180 top R6-11-1 "ACY1000" "unknown" 8725 5775 180 top R6-11-2 "ACY1000" "unknown" 8725 7275 180 top R6-11-3 "ACY1000" "unknown" 8725 8775 180 top R6-11-4 "ACY1000" "unknown" 8725 10275 180 top R6-11-5 "ACY1000" "unknown" 8725 11775 180 top R6-11-6 "ACY1000" "unknown" 8725 13275 180 top R6-11-7 "ACY1000" "unknown" 8725 14775 180 top R6-11-8 "ACY1000" "unknown" 8725 16275 180 top R6-11-9 "ACY1000" "unknown" 8725 17775 180 top R6-11-10 "ACY1000" "unknown" 8725 19275 180 top R6-11-11 "ACY1000" "unknown" 8725 20775 180 top R6-11-12 "ACY1000" "unknown" 8725 22275 180 top R6-11-13 "ACY1000" "unknown" 8725 23775 180 top R6-11-14 "ACY1000" "unknown" 8725 25275 180 top R6-12-0 "ACY1000" "unknown" 9225 4275 180 top R6-12-1 "ACY1000" "unknown" 9225 5775 180 top R6-12-2 "ACY1000" "unknown" 9225 7275 180 top R6-12-3 "ACY1000" "unknown" 9225 8775 180 top R6-12-4 "ACY1000" "unknown" 9225 10275 180 top R6-12-5 "ACY1000" "unknown" 9225 11775 180 top R6-12-6 "ACY1000" "unknown" 9225 13275 180 top R6-12-7 "ACY1000" "unknown" 9225 14775 180 top R6-12-8 "ACY1000" "unknown" 9225 16275 180 top R6-12-9 "ACY1000" "unknown" 9225 17775 180 top R6-12-10 "ACY1000" "unknown" 9225 19275 180 top R6-12-11 "ACY1000" "unknown" 9225 20775 180 top R6-12-12 "ACY1000" "unknown" 9225 22275 180 top R6-12-13 "ACY1000" "unknown" 9225 23775 180 top R6-12-14 "ACY1000" "unknown" 9225 25275 180 top R6-13-0 "ACY1000" "unknown" 9725 4275 180 top R6-13-1 "ACY1000" "unknown" 9725 5775 180 top R6-13-2 "ACY1000" "unknown" 9725 7275 180 top R6-13-3 "ACY1000" "unknown" 9725 8775 180 top R6-13-4 "ACY1000" "unknown" 9725 10275 180 top R6-13-5 "ACY1000" "unknown" 9725 11775 180 top R6-13-6 "ACY1000" "unknown" 9725 13275 180 top R6-13-7 "ACY1000" "unknown" 9725 14775 180 top R6-13-8 "ACY1000" "unknown" 9725 16275 180 top R6-13-9 "ACY1000" "unknown" 9725 17775 180 top R6-13-10 "ACY1000" "unknown" 9725 19275 180 top R6-13-11 "ACY1000" "unknown" 9725 20775 180 top R6-13-12 "ACY1000" "unknown" 9725 22275 180 top R6-13-13 "ACY1000" "unknown" 9725 23775 180 top R6-13-14 "ACY1000" "unknown" 9725 25275 180 top R6-14-0 "ACY1000" "unknown" 10225 4275 180 top R6-14-1 "ACY1000" "unknown" 10225 5775 180 top R6-14-2 "ACY1000" "unknown" 10225 7275 180 top R6-14-3 "ACY1000" "unknown" 10225 8775 180 top R6-14-4 "ACY1000" "unknown" 10225 10275 180 top R6-14-5 "ACY1000" "unknown" 10225 11775 180 top R6-14-6 "ACY1000" "unknown" 10225 13275 180 top R6-14-7 "ACY1000" "unknown" 10225 14775 180 top R6-14-8 "ACY1000" "unknown" 10225 16275 180 top R6-14-9 "ACY1000" "unknown" 10225 17775 180 top R6-14-10 "ACY1000" "unknown" 10225 19275 180 top R6-14-11 "ACY1000" "unknown" 10225 20775 180 top R6-14-12 "ACY1000" "unknown" 10225 22275 180 top R6-14-13 "ACY1000" "unknown" 10225 23775 180 top R6-14-14 "ACY1000" "unknown" 10225 25275 180 top R5-0-0 "ACY1000" "unknown" 3225.00 4050.00 180 top R5-0-1 "ACY1000" "unknown" 3225 5550 180 top R5-0-2 "ACY1000" "unknown" 3225 7050 180 top R5-0-3 "ACY1000" "unknown" 3225 8550 180 top R5-0-4 "ACY1000" "unknown" 3225 10050 180 top R5-0-5 "ACY1000" "unknown" 3225 11550 180 top R5-0-6 "ACY1000" "unknown" 3225 13050 180 top R5-0-7 "ACY1000" "unknown" 3225 14550 180 top R5-0-8 "ACY1000" "unknown" 3225 16050 180 top R5-0-9 "ACY1000" "unknown" 3225 17550 180 top R5-0-10 "ACY1000" "unknown" 3225 19050 180 top R5-0-11 "ACY1000" "unknown" 3225 20550 180 top R5-0-12 "ACY1000" "unknown" 3225 22050 180 top R5-0-13 "ACY1000" "unknown" 3225 23550 180 top R5-0-14 "ACY1000" "unknown" 3225 25050 180 top R5-1-0 "ACY1000" "unknown" 3725 4050 180 top R5-1-1 "ACY1000" "unknown" 3725 5550 180 top R5-1-2 "ACY1000" "unknown" 3725 7050 180 top R5-1-3 "ACY1000" "unknown" 3725 8550 180 top R5-1-4 "ACY1000" "unknown" 3725 10050 180 top R5-1-5 "ACY1000" "unknown" 3725 11550 180 top R5-1-6 "ACY1000" "unknown" 3725 13050 180 top R5-1-7 "ACY1000" "unknown" 3725 14550 180 top R5-1-8 "ACY1000" "unknown" 3725 16050 180 top R5-1-9 "ACY1000" "unknown" 3725 17550 180 top R5-1-10 "ACY1000" "unknown" 3725 19050 180 top R5-1-11 "ACY1000" "unknown" 3725 20550 180 top R5-1-12 "ACY1000" "unknown" 3725 22050 180 top R5-1-13 "ACY1000" "unknown" 3725 23550 180 top R5-1-14 "ACY1000" "unknown" 3725 25050 180 top R5-2-0 "ACY1000" "unknown" 4225 4050 180 top R5-2-1 "ACY1000" "unknown" 4225 5550 180 top R5-2-2 "ACY1000" "unknown" 4225 7050 180 top R5-2-3 "ACY1000" "unknown" 4225 8550 180 top R5-2-4 "ACY1000" "unknown" 4225 10050 180 top R5-2-5 "ACY1000" "unknown" 4225 11550 180 top R5-2-6 "ACY1000" "unknown" 4225 13050 180 top R5-2-7 "ACY1000" "unknown" 4225 14550 180 top R5-2-8 "ACY1000" "unknown" 4225 16050 180 top R5-2-9 "ACY1000" "unknown" 4225 17550 180 top R5-2-10 "ACY1000" "unknown" 4225 19050 180 top R5-2-11 "ACY1000" "unknown" 4225 20550 180 top R5-2-12 "ACY1000" "unknown" 4225 22050 180 top R5-2-13 "ACY1000" "unknown" 4225 23550 180 top R5-2-14 "ACY1000" "unknown" 4225 25050 180 top R5-3-0 "ACY1000" "unknown" 4725 4050 180 top R5-3-1 "ACY1000" "unknown" 4725 5550 180 top R5-3-2 "ACY1000" "unknown" 4725 7050 180 top R5-3-3 "ACY1000" "unknown" 4725 8550 180 top R5-3-4 "ACY1000" "unknown" 4725 10050 180 top R5-3-5 "ACY1000" "unknown" 4725 11550 180 top R5-3-6 "ACY1000" "unknown" 4725 13050 180 top R5-3-7 "ACY1000" "unknown" 4725 14550 180 top R5-3-8 "ACY1000" "unknown" 4725 16050 180 top R5-3-9 "ACY1000" "unknown" 4725 17550 180 top R5-3-10 "ACY1000" "unknown" 4725 19050 180 top R5-3-11 "ACY1000" "unknown" 4725 20550 180 top R5-3-12 "ACY1000" "unknown" 4725 22050 180 top R5-3-13 "ACY1000" "unknown" 4725 23550 180 top R5-3-14 "ACY1000" "unknown" 4725 25050 180 top R5-4-0 "ACY1000" "unknown" 5225 4050 180 top R5-4-1 "ACY1000" "unknown" 5225 5550 180 top R5-4-2 "ACY1000" "unknown" 5225 7050 180 top R5-4-3 "ACY1000" "unknown" 5225 8550 180 top R5-4-4 "ACY1000" "unknown" 5225 10050 180 top R5-4-5 "ACY1000" "unknown" 5225 11550 180 top R5-4-6 "ACY1000" "unknown" 5225 13050 180 top R5-4-7 "ACY1000" "unknown" 5225 14550 180 top R5-4-8 "ACY1000" "unknown" 5225 16050 180 top R5-4-9 "ACY1000" "unknown" 5225 17550 180 top R5-4-10 "ACY1000" "unknown" 5225 19050 180 top R5-4-11 "ACY1000" "unknown" 5225 20550 180 top R5-4-12 "ACY1000" "unknown" 5225 22050 180 top R5-4-13 "ACY1000" "unknown" 5225 23550 180 top R5-4-14 "ACY1000" "unknown" 5225 25050 180 top R5-5-0 "ACY1000" "unknown" 5725 4050 180 top R5-5-1 "ACY1000" "unknown" 5725 5550 180 top R5-5-2 "ACY1000" "unknown" 5725 7050 180 top R5-5-3 "ACY1000" "unknown" 5725 8550 180 top R5-5-4 "ACY1000" "unknown" 5725 10050 180 top R5-5-5 "ACY1000" "unknown" 5725 11550 180 top R5-5-6 "ACY1000" "unknown" 5725 13050 180 top R5-5-7 "ACY1000" "unknown" 5725 14550 180 top R5-5-8 "ACY1000" "unknown" 5725 16050 180 top R5-5-9 "ACY1000" "unknown" 5725 17550 180 top R5-5-10 "ACY1000" "unknown" 5725 19050 180 top R5-5-11 "ACY1000" "unknown" 5725 20550 180 top R5-5-12 "ACY1000" "unknown" 5725 22050 180 top R5-5-13 "ACY1000" "unknown" 5725 23550 180 top R5-5-14 "ACY1000" "unknown" 5725 25050 180 top R5-6-0 "ACY1000" "unknown" 6225 4050 180 top R5-6-1 "ACY1000" "unknown" 6225 5550 180 top R5-6-2 "ACY1000" "unknown" 6225 7050 180 top R5-6-3 "ACY1000" "unknown" 6225 8550 180 top R5-6-4 "ACY1000" "unknown" 6225 10050 180 top R5-6-5 "ACY1000" "unknown" 6225 11550 180 top R5-6-6 "ACY1000" "unknown" 6225 13050 180 top R5-6-7 "ACY1000" "unknown" 6225 14550 180 top R5-6-8 "ACY1000" "unknown" 6225 16050 180 top R5-6-9 "ACY1000" "unknown" 6225 17550 180 top R5-6-10 "ACY1000" "unknown" 6225 19050 180 top R5-6-11 "ACY1000" "unknown" 6225 20550 180 top R5-6-12 "ACY1000" "unknown" 6225 22050 180 top R5-6-13 "ACY1000" "unknown" 6225 23550 180 top R5-6-14 "ACY1000" "unknown" 6225 25050 180 top R5-7-0 "ACY1000" "unknown" 6725 4050 180 top R5-7-1 "ACY1000" "unknown" 6725 5550 180 top R5-7-2 "ACY1000" "unknown" 6725 7050 180 top R5-7-3 "ACY1000" "unknown" 6725 8550 180 top R5-7-4 "ACY1000" "unknown" 6725 10050 180 top R5-7-5 "ACY1000" "unknown" 6725 11550 180 top R5-7-6 "ACY1000" "unknown" 6725 13050 180 top R5-7-7 "ACY1000" "unknown" 6725 14550 180 top R5-7-8 "ACY1000" "unknown" 6725 16050 180 top R5-7-9 "ACY1000" "unknown" 6725 17550 180 top R5-7-10 "ACY1000" "unknown" 6725 19050 180 top R5-7-11 "ACY1000" "unknown" 6725 20550 180 top R5-7-12 "ACY1000" "unknown" 6725 22050 180 top R5-7-13 "ACY1000" "unknown" 6725 23550 180 top R5-7-14 "ACY1000" "unknown" 6725 25050 180 top R5-8-0 "ACY1000" "unknown" 7225 4050 180 top R5-8-1 "ACY1000" "unknown" 7225 5550 180 top R5-8-2 "ACY1000" "unknown" 7225 7050 180 top R5-8-3 "ACY1000" "unknown" 7225 8550 180 top R5-8-4 "ACY1000" "unknown" 7225 10050 180 top R5-8-5 "ACY1000" "unknown" 7225 11550 180 top R5-8-6 "ACY1000" "unknown" 7225 13050 180 top R5-8-7 "ACY1000" "unknown" 7225 14550 180 top R5-8-8 "ACY1000" "unknown" 7225 16050 180 top R5-8-9 "ACY1000" "unknown" 7225 17550 180 top R5-8-10 "ACY1000" "unknown" 7225 19050 180 top R5-8-11 "ACY1000" "unknown" 7225 20550 180 top R5-8-12 "ACY1000" "unknown" 7225 22050 180 top R5-8-13 "ACY1000" "unknown" 7225 23550 180 top R5-8-14 "ACY1000" "unknown" 7225 25050 180 top R5-9-0 "ACY1000" "unknown" 7725 4050 180 top R5-9-1 "ACY1000" "unknown" 7725 5550 180 top R5-9-2 "ACY1000" "unknown" 7725 7050 180 top R5-9-3 "ACY1000" "unknown" 7725 8550 180 top R5-9-4 "ACY1000" "unknown" 7725 10050 180 top R5-9-5 "ACY1000" "unknown" 7725 11550 180 top R5-9-6 "ACY1000" "unknown" 7725 13050 180 top R5-9-7 "ACY1000" "unknown" 7725 14550 180 top R5-9-8 "ACY1000" "unknown" 7725 16050 180 top R5-9-9 "ACY1000" "unknown" 7725 17550 180 top R5-9-10 "ACY1000" "unknown" 7725 19050 180 top R5-9-11 "ACY1000" "unknown" 7725 20550 180 top R5-9-12 "ACY1000" "unknown" 7725 22050 180 top R5-9-13 "ACY1000" "unknown" 7725 23550 180 top R5-9-14 "ACY1000" "unknown" 7725 25050 180 top R5-10-0 "ACY1000" "unknown" 8225 4050 180 top R5-10-1 "ACY1000" "unknown" 8225 5550 180 top R5-10-2 "ACY1000" "unknown" 8225 7050 180 top R5-10-3 "ACY1000" "unknown" 8225 8550 180 top R5-10-4 "ACY1000" "unknown" 8225 10050 180 top R5-10-5 "ACY1000" "unknown" 8225 11550 180 top R5-10-6 "ACY1000" "unknown" 8225 13050 180 top R5-10-7 "ACY1000" "unknown" 8225 14550 180 top R5-10-8 "ACY1000" "unknown" 8225 16050 180 top R5-10-9 "ACY1000" "unknown" 8225 17550 180 top R5-10-10 "ACY1000" "unknown" 8225 19050 180 top R5-10-11 "ACY1000" "unknown" 8225 20550 180 top R5-10-12 "ACY1000" "unknown" 8225 22050 180 top R5-10-13 "ACY1000" "unknown" 8225 23550 180 top R5-10-14 "ACY1000" "unknown" 8225 25050 180 top R5-11-0 "ACY1000" "unknown" 8725 4050 180 top R5-11-1 "ACY1000" "unknown" 8725 5550 180 top R5-11-2 "ACY1000" "unknown" 8725 7050 180 top R5-11-3 "ACY1000" "unknown" 8725 8550 180 top R5-11-4 "ACY1000" "unknown" 8725 10050 180 top R5-11-5 "ACY1000" "unknown" 8725 11550 180 top R5-11-6 "ACY1000" "unknown" 8725 13050 180 top R5-11-7 "ACY1000" "unknown" 8725 14550 180 top R5-11-8 "ACY1000" "unknown" 8725 16050 180 top R5-11-9 "ACY1000" "unknown" 8725 17550 180 top R5-11-10 "ACY1000" "unknown" 8725 19050 180 top R5-11-11 "ACY1000" "unknown" 8725 20550 180 top R5-11-12 "ACY1000" "unknown" 8725 22050 180 top R5-11-13 "ACY1000" "unknown" 8725 23550 180 top R5-11-14 "ACY1000" "unknown" 8725 25050 180 top R5-12-0 "ACY1000" "unknown" 9225 4050 180 top R5-12-1 "ACY1000" "unknown" 9225 5550 180 top R5-12-2 "ACY1000" "unknown" 9225 7050 180 top R5-12-3 "ACY1000" "unknown" 9225 8550 180 top R5-12-4 "ACY1000" "unknown" 9225 10050 180 top R5-12-5 "ACY1000" "unknown" 9225 11550 180 top R5-12-6 "ACY1000" "unknown" 9225 13050 180 top R5-12-7 "ACY1000" "unknown" 9225 14550 180 top R5-12-8 "ACY1000" "unknown" 9225 16050 180 top R5-12-9 "ACY1000" "unknown" 9225 17550 180 top R5-12-10 "ACY1000" "unknown" 9225 19050 180 top R5-12-11 "ACY1000" "unknown" 9225 20550 180 top R5-12-12 "ACY1000" "unknown" 9225 22050 180 top R5-12-13 "ACY1000" "unknown" 9225 23550 180 top R5-12-14 "ACY1000" "unknown" 9225 25050 180 top R5-13-0 "ACY1000" "unknown" 9725 4050 180 top R5-13-1 "ACY1000" "unknown" 9725 5550 180 top R5-13-2 "ACY1000" "unknown" 9725 7050 180 top R5-13-3 "ACY1000" "unknown" 9725 8550 180 top R5-13-4 "ACY1000" "unknown" 9725 10050 180 top R5-13-5 "ACY1000" "unknown" 9725 11550 180 top R5-13-6 "ACY1000" "unknown" 9725 13050 180 top R5-13-7 "ACY1000" "unknown" 9725 14550 180 top R5-13-8 "ACY1000" "unknown" 9725 16050 180 top R5-13-9 "ACY1000" "unknown" 9725 17550 180 top R5-13-10 "ACY1000" "unknown" 9725 19050 180 top R5-13-11 "ACY1000" "unknown" 9725 20550 180 top R5-13-12 "ACY1000" "unknown" 9725 22050 180 top R5-13-13 "ACY1000" "unknown" 9725 23550 180 top R5-13-14 "ACY1000" "unknown" 9725 25050 180 top R5-14-0 "ACY1000" "unknown" 10225 4050 180 top R5-14-1 "ACY1000" "unknown" 10225 5550 180 top R5-14-2 "ACY1000" "unknown" 10225 7050 180 top R5-14-3 "ACY1000" "unknown" 10225 8550 180 top R5-14-4 "ACY1000" "unknown" 10225 10050 180 top R5-14-5 "ACY1000" "unknown" 10225 11550 180 top R5-14-6 "ACY1000" "unknown" 10225 13050 180 top R5-14-7 "ACY1000" "unknown" 10225 14550 180 top R5-14-8 "ACY1000" "unknown" 10225 16050 180 top R5-14-9 "ACY1000" "unknown" 10225 17550 180 top R5-14-10 "ACY1000" "unknown" 10225 19050 180 top R5-14-11 "ACY1000" "unknown" 10225 20550 180 top R5-14-12 "ACY1000" "unknown" 10225 22050 180 top R5-14-13 "ACY1000" "unknown" 10225 23550 180 top R5-14-14 "ACY1000" "unknown" 10225 25050 180 top R8-0-0 "ACY1000" "unknown" 3225.00 3825.00 0 top R8-0-1 "ACY1000" "unknown" 3225 5325 0 top R8-0-2 "ACY1000" "unknown" 3225 6825 0 top R8-0-3 "ACY1000" "unknown" 3225 8325 0 top R8-0-4 "ACY1000" "unknown" 3225 9825 0 top R8-0-5 "ACY1000" "unknown" 3225 11325 0 top R8-0-6 "ACY1000" "unknown" 3225 12825 0 top R8-0-7 "ACY1000" "unknown" 3225 14325 0 top R8-0-8 "ACY1000" "unknown" 3225 15825 0 top R8-0-9 "ACY1000" "unknown" 3225 17325 0 top R8-0-10 "ACY1000" "unknown" 3225 18825 0 top R8-0-11 "ACY1000" "unknown" 3225 20325 0 top R8-0-12 "ACY1000" "unknown" 3225 21825 0 top R8-0-13 "ACY1000" "unknown" 3225 23325 0 top R8-0-14 "ACY1000" "unknown" 3225 24825 0 top R8-1-0 "ACY1000" "unknown" 3725 3825 0 top R8-1-1 "ACY1000" "unknown" 3725 5325 0 top R8-1-2 "ACY1000" "unknown" 3725 6825 0 top R8-1-3 "ACY1000" "unknown" 3725 8325 0 top R8-1-4 "ACY1000" "unknown" 3725 9825 0 top R8-1-5 "ACY1000" "unknown" 3725 11325 0 top R8-1-6 "ACY1000" "unknown" 3725 12825 0 top R8-1-7 "ACY1000" "unknown" 3725 14325 0 top R8-1-8 "ACY1000" "unknown" 3725 15825 0 top R8-1-9 "ACY1000" "unknown" 3725 17325 0 top R8-1-10 "ACY1000" "unknown" 3725 18825 0 top R8-1-11 "ACY1000" "unknown" 3725 20325 0 top R8-1-12 "ACY1000" "unknown" 3725 21825 0 top R8-1-13 "ACY1000" "unknown" 3725 23325 0 top R8-1-14 "ACY1000" "unknown" 3725 24825 0 top R8-2-0 "ACY1000" "unknown" 4225 3825 0 top R8-2-1 "ACY1000" "unknown" 4225 5325 0 top R8-2-2 "ACY1000" "unknown" 4225 6825 0 top R8-2-3 "ACY1000" "unknown" 4225 8325 0 top R8-2-4 "ACY1000" "unknown" 4225 9825 0 top R8-2-5 "ACY1000" "unknown" 4225 11325 0 top R8-2-6 "ACY1000" "unknown" 4225 12825 0 top R8-2-7 "ACY1000" "unknown" 4225 14325 0 top R8-2-8 "ACY1000" "unknown" 4225 15825 0 top R8-2-9 "ACY1000" "unknown" 4225 17325 0 top R8-2-10 "ACY1000" "unknown" 4225 18825 0 top R8-2-11 "ACY1000" "unknown" 4225 20325 0 top R8-2-12 "ACY1000" "unknown" 4225 21825 0 top R8-2-13 "ACY1000" "unknown" 4225 23325 0 top R8-2-14 "ACY1000" "unknown" 4225 24825 0 top R8-3-0 "ACY1000" "unknown" 4725 3825 0 top R8-3-1 "ACY1000" "unknown" 4725 5325 0 top R8-3-2 "ACY1000" "unknown" 4725 6825 0 top R8-3-3 "ACY1000" "unknown" 4725 8325 0 top R8-3-4 "ACY1000" "unknown" 4725 9825 0 top R8-3-5 "ACY1000" "unknown" 4725 11325 0 top R8-3-6 "ACY1000" "unknown" 4725 12825 0 top R8-3-7 "ACY1000" "unknown" 4725 14325 0 top R8-3-8 "ACY1000" "unknown" 4725 15825 0 top R8-3-9 "ACY1000" "unknown" 4725 17325 0 top R8-3-10 "ACY1000" "unknown" 4725 18825 0 top R8-3-11 "ACY1000" "unknown" 4725 20325 0 top R8-3-12 "ACY1000" "unknown" 4725 21825 0 top R8-3-13 "ACY1000" "unknown" 4725 23325 0 top R8-3-14 "ACY1000" "unknown" 4725 24825 0 top R8-4-0 "ACY1000" "unknown" 5225 3825 0 top R8-4-1 "ACY1000" "unknown" 5225 5325 0 top R8-4-2 "ACY1000" "unknown" 5225 6825 0 top R8-4-3 "ACY1000" "unknown" 5225 8325 0 top R8-4-4 "ACY1000" "unknown" 5225 9825 0 top R8-4-5 "ACY1000" "unknown" 5225 11325 0 top R8-4-6 "ACY1000" "unknown" 5225 12825 0 top R8-4-7 "ACY1000" "unknown" 5225 14325 0 top R8-4-8 "ACY1000" "unknown" 5225 15825 0 top R8-4-9 "ACY1000" "unknown" 5225 17325 0 top R8-4-10 "ACY1000" "unknown" 5225 18825 0 top R8-4-11 "ACY1000" "unknown" 5225 20325 0 top R8-4-12 "ACY1000" "unknown" 5225 21825 0 top R8-4-13 "ACY1000" "unknown" 5225 23325 0 top R8-4-14 "ACY1000" "unknown" 5225 24825 0 top R8-5-0 "ACY1000" "unknown" 5725 3825 0 top R8-5-1 "ACY1000" "unknown" 5725 5325 0 top R8-5-2 "ACY1000" "unknown" 5725 6825 0 top R8-5-3 "ACY1000" "unknown" 5725 8325 0 top R8-5-4 "ACY1000" "unknown" 5725 9825 0 top R8-5-5 "ACY1000" "unknown" 5725 11325 0 top R8-5-6 "ACY1000" "unknown" 5725 12825 0 top R8-5-7 "ACY1000" "unknown" 5725 14325 0 top R8-5-8 "ACY1000" "unknown" 5725 15825 0 top R8-5-9 "ACY1000" "unknown" 5725 17325 0 top R8-5-10 "ACY1000" "unknown" 5725 18825 0 top R8-5-11 "ACY1000" "unknown" 5725 20325 0 top R8-5-12 "ACY1000" "unknown" 5725 21825 0 top R8-5-13 "ACY1000" "unknown" 5725 23325 0 top R8-5-14 "ACY1000" "unknown" 5725 24825 0 top R8-6-0 "ACY1000" "unknown" 6225 3825 0 top R8-6-1 "ACY1000" "unknown" 6225 5325 0 top R8-6-2 "ACY1000" "unknown" 6225 6825 0 top R8-6-3 "ACY1000" "unknown" 6225 8325 0 top R8-6-4 "ACY1000" "unknown" 6225 9825 0 top R8-6-5 "ACY1000" "unknown" 6225 11325 0 top R8-6-6 "ACY1000" "unknown" 6225 12825 0 top R8-6-7 "ACY1000" "unknown" 6225 14325 0 top R8-6-8 "ACY1000" "unknown" 6225 15825 0 top R8-6-9 "ACY1000" "unknown" 6225 17325 0 top R8-6-10 "ACY1000" "unknown" 6225 18825 0 top R8-6-11 "ACY1000" "unknown" 6225 20325 0 top R8-6-12 "ACY1000" "unknown" 6225 21825 0 top R8-6-13 "ACY1000" "unknown" 6225 23325 0 top R8-6-14 "ACY1000" "unknown" 6225 24825 0 top R8-7-0 "ACY1000" "unknown" 6725 3825 0 top R8-7-1 "ACY1000" "unknown" 6725 5325 0 top R8-7-2 "ACY1000" "unknown" 6725 6825 0 top R8-7-3 "ACY1000" "unknown" 6725 8325 0 top R8-7-4 "ACY1000" "unknown" 6725 9825 0 top R8-7-5 "ACY1000" "unknown" 6725 11325 0 top R8-7-6 "ACY1000" "unknown" 6725 12825 0 top R8-7-7 "ACY1000" "unknown" 6725 14325 0 top R8-7-8 "ACY1000" "unknown" 6725 15825 0 top R8-7-9 "ACY1000" "unknown" 6725 17325 0 top R8-7-10 "ACY1000" "unknown" 6725 18825 0 top R8-7-11 "ACY1000" "unknown" 6725 20325 0 top R8-7-12 "ACY1000" "unknown" 6725 21825 0 top R8-7-13 "ACY1000" "unknown" 6725 23325 0 top R8-7-14 "ACY1000" "unknown" 6725 24825 0 top R8-8-0 "ACY1000" "unknown" 7225 3825 0 top R8-8-1 "ACY1000" "unknown" 7225 5325 0 top R8-8-2 "ACY1000" "unknown" 7225 6825 0 top R8-8-3 "ACY1000" "unknown" 7225 8325 0 top R8-8-4 "ACY1000" "unknown" 7225 9825 0 top R8-8-5 "ACY1000" "unknown" 7225 11325 0 top R8-8-6 "ACY1000" "unknown" 7225 12825 0 top R8-8-7 "ACY1000" "unknown" 7225 14325 0 top R8-8-8 "ACY1000" "unknown" 7225 15825 0 top R8-8-9 "ACY1000" "unknown" 7225 17325 0 top R8-8-10 "ACY1000" "unknown" 7225 18825 0 top R8-8-11 "ACY1000" "unknown" 7225 20325 0 top R8-8-12 "ACY1000" "unknown" 7225 21825 0 top R8-8-13 "ACY1000" "unknown" 7225 23325 0 top R8-8-14 "ACY1000" "unknown" 7225 24825 0 top R8-9-0 "ACY1000" "unknown" 7725 3825 0 top R8-9-1 "ACY1000" "unknown" 7725 5325 0 top R8-9-2 "ACY1000" "unknown" 7725 6825 0 top R8-9-3 "ACY1000" "unknown" 7725 8325 0 top R8-9-4 "ACY1000" "unknown" 7725 9825 0 top R8-9-5 "ACY1000" "unknown" 7725 11325 0 top R8-9-6 "ACY1000" "unknown" 7725 12825 0 top R8-9-7 "ACY1000" "unknown" 7725 14325 0 top R8-9-8 "ACY1000" "unknown" 7725 15825 0 top R8-9-9 "ACY1000" "unknown" 7725 17325 0 top R8-9-10 "ACY1000" "unknown" 7725 18825 0 top R8-9-11 "ACY1000" "unknown" 7725 20325 0 top R8-9-12 "ACY1000" "unknown" 7725 21825 0 top R8-9-13 "ACY1000" "unknown" 7725 23325 0 top R8-9-14 "ACY1000" "unknown" 7725 24825 0 top R8-10-0 "ACY1000" "unknown" 8225 3825 0 top R8-10-1 "ACY1000" "unknown" 8225 5325 0 top R8-10-2 "ACY1000" "unknown" 8225 6825 0 top R8-10-3 "ACY1000" "unknown" 8225 8325 0 top R8-10-4 "ACY1000" "unknown" 8225 9825 0 top R8-10-5 "ACY1000" "unknown" 8225 11325 0 top R8-10-6 "ACY1000" "unknown" 8225 12825 0 top R8-10-7 "ACY1000" "unknown" 8225 14325 0 top R8-10-8 "ACY1000" "unknown" 8225 15825 0 top R8-10-9 "ACY1000" "unknown" 8225 17325 0 top R8-10-10 "ACY1000" "unknown" 8225 18825 0 top R8-10-11 "ACY1000" "unknown" 8225 20325 0 top R8-10-12 "ACY1000" "unknown" 8225 21825 0 top R8-10-13 "ACY1000" "unknown" 8225 23325 0 top R8-10-14 "ACY1000" "unknown" 8225 24825 0 top R8-11-0 "ACY1000" "unknown" 8725 3825 0 top R8-11-1 "ACY1000" "unknown" 8725 5325 0 top R8-11-2 "ACY1000" "unknown" 8725 6825 0 top R8-11-3 "ACY1000" "unknown" 8725 8325 0 top R8-11-4 "ACY1000" "unknown" 8725 9825 0 top R8-11-5 "ACY1000" "unknown" 8725 11325 0 top R8-11-6 "ACY1000" "unknown" 8725 12825 0 top R8-11-7 "ACY1000" "unknown" 8725 14325 0 top R8-11-8 "ACY1000" "unknown" 8725 15825 0 top R8-11-9 "ACY1000" "unknown" 8725 17325 0 top R8-11-10 "ACY1000" "unknown" 8725 18825 0 top R8-11-11 "ACY1000" "unknown" 8725 20325 0 top R8-11-12 "ACY1000" "unknown" 8725 21825 0 top R8-11-13 "ACY1000" "unknown" 8725 23325 0 top R8-11-14 "ACY1000" "unknown" 8725 24825 0 top R8-12-0 "ACY1000" "unknown" 9225 3825 0 top R8-12-1 "ACY1000" "unknown" 9225 5325 0 top R8-12-2 "ACY1000" "unknown" 9225 6825 0 top R8-12-3 "ACY1000" "unknown" 9225 8325 0 top R8-12-4 "ACY1000" "unknown" 9225 9825 0 top R8-12-5 "ACY1000" "unknown" 9225 11325 0 top R8-12-6 "ACY1000" "unknown" 9225 12825 0 top R8-12-7 "ACY1000" "unknown" 9225 14325 0 top R8-12-8 "ACY1000" "unknown" 9225 15825 0 top R8-12-9 "ACY1000" "unknown" 9225 17325 0 top R8-12-10 "ACY1000" "unknown" 9225 18825 0 top R8-12-11 "ACY1000" "unknown" 9225 20325 0 top R8-12-12 "ACY1000" "unknown" 9225 21825 0 top R8-12-13 "ACY1000" "unknown" 9225 23325 0 top R8-12-14 "ACY1000" "unknown" 9225 24825 0 top R8-13-0 "ACY1000" "unknown" 9725 3825 0 top R8-13-1 "ACY1000" "unknown" 9725 5325 0 top R8-13-2 "ACY1000" "unknown" 9725 6825 0 top R8-13-3 "ACY1000" "unknown" 9725 8325 0 top R8-13-4 "ACY1000" "unknown" 9725 9825 0 top R8-13-5 "ACY1000" "unknown" 9725 11325 0 top R8-13-6 "ACY1000" "unknown" 9725 12825 0 top R8-13-7 "ACY1000" "unknown" 9725 14325 0 top R8-13-8 "ACY1000" "unknown" 9725 15825 0 top R8-13-9 "ACY1000" "unknown" 9725 17325 0 top R8-13-10 "ACY1000" "unknown" 9725 18825 0 top R8-13-11 "ACY1000" "unknown" 9725 20325 0 top R8-13-12 "ACY1000" "unknown" 9725 21825 0 top R8-13-13 "ACY1000" "unknown" 9725 23325 0 top R8-13-14 "ACY1000" "unknown" 9725 24825 0 top R8-14-0 "ACY1000" "unknown" 10225 3825 0 top R8-14-1 "ACY1000" "unknown" 10225 5325 0 top R8-14-2 "ACY1000" "unknown" 10225 6825 0 top R8-14-3 "ACY1000" "unknown" 10225 8325 0 top R8-14-4 "ACY1000" "unknown" 10225 9825 0 top R8-14-5 "ACY1000" "unknown" 10225 11325 0 top R8-14-6 "ACY1000" "unknown" 10225 12825 0 top R8-14-7 "ACY1000" "unknown" 10225 14325 0 top R8-14-8 "ACY1000" "unknown" 10225 15825 0 top R8-14-9 "ACY1000" "unknown" 10225 17325 0 top R8-14-10 "ACY1000" "unknown" 10225 18825 0 top R8-14-11 "ACY1000" "unknown" 10225 20325 0 top R8-14-12 "ACY1000" "unknown" 10225 21825 0 top R8-14-13 "ACY1000" "unknown" 10225 23325 0 top R8-14-14 "ACY1000" "unknown" 10225 24825 0 top R7-0-0 "ACY1000" "unknown" 3225.00 3600.00 0 top R7-0-1 "ACY1000" "unknown" 3225 5100 0 top R7-0-2 "ACY1000" "unknown" 3225 6600 0 top R7-0-3 "ACY1000" "unknown" 3225 8100 0 top R7-0-4 "ACY1000" "unknown" 3225 9600 0 top R7-0-5 "ACY1000" "unknown" 3225 11100 0 top R7-0-6 "ACY1000" "unknown" 3225 12600 0 top R7-0-7 "ACY1000" "unknown" 3225 14100 0 top R7-0-8 "ACY1000" "unknown" 3225 15600 0 top R7-0-9 "ACY1000" "unknown" 3225 17100 0 top R7-0-10 "ACY1000" "unknown" 3225 18600 0 top R7-0-11 "ACY1000" "unknown" 3225 20100 0 top R7-0-12 "ACY1000" "unknown" 3225 21600 0 top R7-0-13 "ACY1000" "unknown" 3225 23100 0 top R7-0-14 "ACY1000" "unknown" 3225 24600 0 top R7-1-0 "ACY1000" "unknown" 3725 3600 0 top R7-1-1 "ACY1000" "unknown" 3725 5100 0 top R7-1-2 "ACY1000" "unknown" 3725 6600 0 top R7-1-3 "ACY1000" "unknown" 3725 8100 0 top R7-1-4 "ACY1000" "unknown" 3725 9600 0 top R7-1-5 "ACY1000" "unknown" 3725 11100 0 top R7-1-6 "ACY1000" "unknown" 3725 12600 0 top R7-1-7 "ACY1000" "unknown" 3725 14100 0 top R7-1-8 "ACY1000" "unknown" 3725 15600 0 top R7-1-9 "ACY1000" "unknown" 3725 17100 0 top R7-1-10 "ACY1000" "unknown" 3725 18600 0 top R7-1-11 "ACY1000" "unknown" 3725 20100 0 top R7-1-12 "ACY1000" "unknown" 3725 21600 0 top R7-1-13 "ACY1000" "unknown" 3725 23100 0 top R7-1-14 "ACY1000" "unknown" 3725 24600 0 top R7-2-0 "ACY1000" "unknown" 4225 3600 0 top R7-2-1 "ACY1000" "unknown" 4225 5100 0 top R7-2-2 "ACY1000" "unknown" 4225 6600 0 top R7-2-3 "ACY1000" "unknown" 4225 8100 0 top R7-2-4 "ACY1000" "unknown" 4225 9600 0 top R7-2-5 "ACY1000" "unknown" 4225 11100 0 top R7-2-6 "ACY1000" "unknown" 4225 12600 0 top R7-2-7 "ACY1000" "unknown" 4225 14100 0 top R7-2-8 "ACY1000" "unknown" 4225 15600 0 top R7-2-9 "ACY1000" "unknown" 4225 17100 0 top R7-2-10 "ACY1000" "unknown" 4225 18600 0 top R7-2-11 "ACY1000" "unknown" 4225 20100 0 top R7-2-12 "ACY1000" "unknown" 4225 21600 0 top R7-2-13 "ACY1000" "unknown" 4225 23100 0 top R7-2-14 "ACY1000" "unknown" 4225 24600 0 top R7-3-0 "ACY1000" "unknown" 4725 3600 0 top R7-3-1 "ACY1000" "unknown" 4725 5100 0 top R7-3-2 "ACY1000" "unknown" 4725 6600 0 top R7-3-3 "ACY1000" "unknown" 4725 8100 0 top R7-3-4 "ACY1000" "unknown" 4725 9600 0 top R7-3-5 "ACY1000" "unknown" 4725 11100 0 top R7-3-6 "ACY1000" "unknown" 4725 12600 0 top R7-3-7 "ACY1000" "unknown" 4725 14100 0 top R7-3-8 "ACY1000" "unknown" 4725 15600 0 top R7-3-9 "ACY1000" "unknown" 4725 17100 0 top R7-3-10 "ACY1000" "unknown" 4725 18600 0 top R7-3-11 "ACY1000" "unknown" 4725 20100 0 top R7-3-12 "ACY1000" "unknown" 4725 21600 0 top R7-3-13 "ACY1000" "unknown" 4725 23100 0 top R7-3-14 "ACY1000" "unknown" 4725 24600 0 top R7-4-0 "ACY1000" "unknown" 5225 3600 0 top R7-4-1 "ACY1000" "unknown" 5225 5100 0 top R7-4-2 "ACY1000" "unknown" 5225 6600 0 top R7-4-3 "ACY1000" "unknown" 5225 8100 0 top R7-4-4 "ACY1000" "unknown" 5225 9600 0 top R7-4-5 "ACY1000" "unknown" 5225 11100 0 top R7-4-6 "ACY1000" "unknown" 5225 12600 0 top R7-4-7 "ACY1000" "unknown" 5225 14100 0 top R7-4-8 "ACY1000" "unknown" 5225 15600 0 top R7-4-9 "ACY1000" "unknown" 5225 17100 0 top R7-4-10 "ACY1000" "unknown" 5225 18600 0 top R7-4-11 "ACY1000" "unknown" 5225 20100 0 top R7-4-12 "ACY1000" "unknown" 5225 21600 0 top R7-4-13 "ACY1000" "unknown" 5225 23100 0 top R7-4-14 "ACY1000" "unknown" 5225 24600 0 top R7-5-0 "ACY1000" "unknown" 5725 3600 0 top R7-5-1 "ACY1000" "unknown" 5725 5100 0 top R7-5-2 "ACY1000" "unknown" 5725 6600 0 top R7-5-3 "ACY1000" "unknown" 5725 8100 0 top R7-5-4 "ACY1000" "unknown" 5725 9600 0 top R7-5-5 "ACY1000" "unknown" 5725 11100 0 top R7-5-6 "ACY1000" "unknown" 5725 12600 0 top R7-5-7 "ACY1000" "unknown" 5725 14100 0 top R7-5-8 "ACY1000" "unknown" 5725 15600 0 top R7-5-9 "ACY1000" "unknown" 5725 17100 0 top R7-5-10 "ACY1000" "unknown" 5725 18600 0 top R7-5-11 "ACY1000" "unknown" 5725 20100 0 top R7-5-12 "ACY1000" "unknown" 5725 21600 0 top R7-5-13 "ACY1000" "unknown" 5725 23100 0 top R7-5-14 "ACY1000" "unknown" 5725 24600 0 top R7-6-0 "ACY1000" "unknown" 6225 3600 0 top R7-6-1 "ACY1000" "unknown" 6225 5100 0 top R7-6-2 "ACY1000" "unknown" 6225 6600 0 top R7-6-3 "ACY1000" "unknown" 6225 8100 0 top R7-6-4 "ACY1000" "unknown" 6225 9600 0 top R7-6-5 "ACY1000" "unknown" 6225 11100 0 top R7-6-6 "ACY1000" "unknown" 6225 12600 0 top R7-6-7 "ACY1000" "unknown" 6225 14100 0 top R7-6-8 "ACY1000" "unknown" 6225 15600 0 top R7-6-9 "ACY1000" "unknown" 6225 17100 0 top R7-6-10 "ACY1000" "unknown" 6225 18600 0 top R7-6-11 "ACY1000" "unknown" 6225 20100 0 top R7-6-12 "ACY1000" "unknown" 6225 21600 0 top R7-6-13 "ACY1000" "unknown" 6225 23100 0 top R7-6-14 "ACY1000" "unknown" 6225 24600 0 top R7-7-0 "ACY1000" "unknown" 6725 3600 0 top R7-7-1 "ACY1000" "unknown" 6725 5100 0 top R7-7-2 "ACY1000" "unknown" 6725 6600 0 top R7-7-3 "ACY1000" "unknown" 6725 8100 0 top R7-7-4 "ACY1000" "unknown" 6725 9600 0 top R7-7-5 "ACY1000" "unknown" 6725 11100 0 top R7-7-6 "ACY1000" "unknown" 6725 12600 0 top R7-7-7 "ACY1000" "unknown" 6725 14100 0 top R7-7-8 "ACY1000" "unknown" 6725 15600 0 top R7-7-9 "ACY1000" "unknown" 6725 17100 0 top R7-7-10 "ACY1000" "unknown" 6725 18600 0 top R7-7-11 "ACY1000" "unknown" 6725 20100 0 top R7-7-12 "ACY1000" "unknown" 6725 21600 0 top R7-7-13 "ACY1000" "unknown" 6725 23100 0 top R7-7-14 "ACY1000" "unknown" 6725 24600 0 top R7-8-0 "ACY1000" "unknown" 7225 3600 0 top R7-8-1 "ACY1000" "unknown" 7225 5100 0 top R7-8-2 "ACY1000" "unknown" 7225 6600 0 top R7-8-3 "ACY1000" "unknown" 7225 8100 0 top R7-8-4 "ACY1000" "unknown" 7225 9600 0 top R7-8-5 "ACY1000" "unknown" 7225 11100 0 top R7-8-6 "ACY1000" "unknown" 7225 12600 0 top R7-8-7 "ACY1000" "unknown" 7225 14100 0 top R7-8-8 "ACY1000" "unknown" 7225 15600 0 top R7-8-9 "ACY1000" "unknown" 7225 17100 0 top R7-8-10 "ACY1000" "unknown" 7225 18600 0 top R7-8-11 "ACY1000" "unknown" 7225 20100 0 top R7-8-12 "ACY1000" "unknown" 7225 21600 0 top R7-8-13 "ACY1000" "unknown" 7225 23100 0 top R7-8-14 "ACY1000" "unknown" 7225 24600 0 top R7-9-0 "ACY1000" "unknown" 7725 3600 0 top R7-9-1 "ACY1000" "unknown" 7725 5100 0 top R7-9-2 "ACY1000" "unknown" 7725 6600 0 top R7-9-3 "ACY1000" "unknown" 7725 8100 0 top R7-9-4 "ACY1000" "unknown" 7725 9600 0 top R7-9-5 "ACY1000" "unknown" 7725 11100 0 top R7-9-6 "ACY1000" "unknown" 7725 12600 0 top R7-9-7 "ACY1000" "unknown" 7725 14100 0 top R7-9-8 "ACY1000" "unknown" 7725 15600 0 top R7-9-9 "ACY1000" "unknown" 7725 17100 0 top R7-9-10 "ACY1000" "unknown" 7725 18600 0 top R7-9-11 "ACY1000" "unknown" 7725 20100 0 top R7-9-12 "ACY1000" "unknown" 7725 21600 0 top R7-9-13 "ACY1000" "unknown" 7725 23100 0 top R7-9-14 "ACY1000" "unknown" 7725 24600 0 top R7-10-0 "ACY1000" "unknown" 8225 3600 0 top R7-10-1 "ACY1000" "unknown" 8225 5100 0 top R7-10-2 "ACY1000" "unknown" 8225 6600 0 top R7-10-3 "ACY1000" "unknown" 8225 8100 0 top R7-10-4 "ACY1000" "unknown" 8225 9600 0 top R7-10-5 "ACY1000" "unknown" 8225 11100 0 top R7-10-6 "ACY1000" "unknown" 8225 12600 0 top R7-10-7 "ACY1000" "unknown" 8225 14100 0 top R7-10-8 "ACY1000" "unknown" 8225 15600 0 top R7-10-9 "ACY1000" "unknown" 8225 17100 0 top R7-10-10 "ACY1000" "unknown" 8225 18600 0 top R7-10-11 "ACY1000" "unknown" 8225 20100 0 top R7-10-12 "ACY1000" "unknown" 8225 21600 0 top R7-10-13 "ACY1000" "unknown" 8225 23100 0 top R7-10-14 "ACY1000" "unknown" 8225 24600 0 top R7-11-0 "ACY1000" "unknown" 8725 3600 0 top R7-11-1 "ACY1000" "unknown" 8725 5100 0 top R7-11-2 "ACY1000" "unknown" 8725 6600 0 top R7-11-3 "ACY1000" "unknown" 8725 8100 0 top R7-11-4 "ACY1000" "unknown" 8725 9600 0 top R7-11-5 "ACY1000" "unknown" 8725 11100 0 top R7-11-6 "ACY1000" "unknown" 8725 12600 0 top R7-11-7 "ACY1000" "unknown" 8725 14100 0 top R7-11-8 "ACY1000" "unknown" 8725 15600 0 top R7-11-9 "ACY1000" "unknown" 8725 17100 0 top R7-11-10 "ACY1000" "unknown" 8725 18600 0 top R7-11-11 "ACY1000" "unknown" 8725 20100 0 top R7-11-12 "ACY1000" "unknown" 8725 21600 0 top R7-11-13 "ACY1000" "unknown" 8725 23100 0 top R7-11-14 "ACY1000" "unknown" 8725 24600 0 top R7-12-0 "ACY1000" "unknown" 9225 3600 0 top R7-12-1 "ACY1000" "unknown" 9225 5100 0 top R7-12-2 "ACY1000" "unknown" 9225 6600 0 top R7-12-3 "ACY1000" "unknown" 9225 8100 0 top R7-12-4 "ACY1000" "unknown" 9225 9600 0 top R7-12-5 "ACY1000" "unknown" 9225 11100 0 top R7-12-6 "ACY1000" "unknown" 9225 12600 0 top R7-12-7 "ACY1000" "unknown" 9225 14100 0 top R7-12-8 "ACY1000" "unknown" 9225 15600 0 top R7-12-9 "ACY1000" "unknown" 9225 17100 0 top R7-12-10 "ACY1000" "unknown" 9225 18600 0 top R7-12-11 "ACY1000" "unknown" 9225 20100 0 top R7-12-12 "ACY1000" "unknown" 9225 21600 0 top R7-12-13 "ACY1000" "unknown" 9225 23100 0 top R7-12-14 "ACY1000" "unknown" 9225 24600 0 top R7-13-0 "ACY1000" "unknown" 9725 3600 0 top R7-13-1 "ACY1000" "unknown" 9725 5100 0 top R7-13-2 "ACY1000" "unknown" 9725 6600 0 top R7-13-3 "ACY1000" "unknown" 9725 8100 0 top R7-13-4 "ACY1000" "unknown" 9725 9600 0 top R7-13-5 "ACY1000" "unknown" 9725 11100 0 top R7-13-6 "ACY1000" "unknown" 9725 12600 0 top R7-13-7 "ACY1000" "unknown" 9725 14100 0 top R7-13-8 "ACY1000" "unknown" 9725 15600 0 top R7-13-9 "ACY1000" "unknown" 9725 17100 0 top R7-13-10 "ACY1000" "unknown" 9725 18600 0 top R7-13-11 "ACY1000" "unknown" 9725 20100 0 top R7-13-12 "ACY1000" "unknown" 9725 21600 0 top R7-13-13 "ACY1000" "unknown" 9725 23100 0 top R7-13-14 "ACY1000" "unknown" 9725 24600 0 top R7-14-0 "ACY1000" "unknown" 10225 3600 0 top R7-14-1 "ACY1000" "unknown" 10225 5100 0 top R7-14-2 "ACY1000" "unknown" 10225 6600 0 top R7-14-3 "ACY1000" "unknown" 10225 8100 0 top R7-14-4 "ACY1000" "unknown" 10225 9600 0 top R7-14-5 "ACY1000" "unknown" 10225 11100 0 top R7-14-6 "ACY1000" "unknown" 10225 12600 0 top R7-14-7 "ACY1000" "unknown" 10225 14100 0 top R7-14-8 "ACY1000" "unknown" 10225 15600 0 top R7-14-9 "ACY1000" "unknown" 10225 17100 0 top R7-14-10 "ACY1000" "unknown" 10225 18600 0 top R7-14-11 "ACY1000" "unknown" 10225 20100 0 top R7-14-12 "ACY1000" "unknown" 10225 21600 0 top R7-14-13 "ACY1000" "unknown" 10225 23100 0 top R7-14-14 "ACY1000" "unknown" 10225 24600 0 top C1-0-0 "1206" "unknown" 950.00 3775.00 0 bottom C1-0-1 "1206" "unknown" 950 5275 0 bottom C1-0-2 "1206" "unknown" 950 6775 0 bottom C1-0-3 "1206" "unknown" 950 8275 0 bottom C1-0-4 "1206" "unknown" 950 9775 0 bottom C1-0-5 "1206" "unknown" 950 11275 0 bottom C1-0-6 "1206" "unknown" 950 12775 0 bottom C1-0-7 "1206" "unknown" 950 14275 0 bottom C1-0-8 "1206" "unknown" 950 15775 0 bottom C1-0-9 "1206" "unknown" 950 17275 0 bottom C1-0-10 "1206" "unknown" 950 18775 0 bottom C1-0-11 "1206" "unknown" 950 20275 0 bottom C1-0-12 "1206" "unknown" 950 21775 0 bottom C1-0-13 "1206" "unknown" 950 23275 0 bottom C1-0-14 "1206" "unknown" 950 24775 0 bottom C1-1-0 "1206" "unknown" 1450 3775 0 bottom C1-1-1 "1206" "unknown" 1450 5275 0 bottom C1-1-2 "1206" "unknown" 1450 6775 0 bottom C1-1-3 "1206" "unknown" 1450 8275 0 bottom C1-1-4 "1206" "unknown" 1450 9775 0 bottom C1-1-5 "1206" "unknown" 1450 11275 0 bottom C1-1-6 "1206" "unknown" 1450 12775 0 bottom C1-1-7 "1206" "unknown" 1450 14275 0 bottom C1-1-8 "1206" "unknown" 1450 15775 0 bottom C1-1-9 "1206" "unknown" 1450 17275 0 bottom C1-1-10 "1206" "unknown" 1450 18775 0 bottom C1-1-11 "1206" "unknown" 1450 20275 0 bottom C1-1-12 "1206" "unknown" 1450 21775 0 bottom C1-1-13 "1206" "unknown" 1450 23275 0 bottom C1-1-14 "1206" "unknown" 1450 24775 0 bottom C1-2-0 "1206" "unknown" 1950 3775 0 bottom C1-2-1 "1206" "unknown" 1950 5275 0 bottom C1-2-2 "1206" "unknown" 1950 6775 0 bottom C1-2-3 "1206" "unknown" 1950 8275 0 bottom C1-2-4 "1206" "unknown" 1950 9775 0 bottom C1-2-5 "1206" "unknown" 1950 11275 0 bottom C1-2-6 "1206" "unknown" 1950 12775 0 bottom C1-2-7 "1206" "unknown" 1950 14275 0 bottom C1-2-8 "1206" "unknown" 1950 15775 0 bottom C1-2-9 "1206" "unknown" 1950 17275 0 bottom C1-2-10 "1206" "unknown" 1950 18775 0 bottom C1-2-11 "1206" "unknown" 1950 20275 0 bottom C1-2-12 "1206" "unknown" 1950 21775 0 bottom C1-2-13 "1206" "unknown" 1950 23275 0 bottom C1-2-14 "1206" "unknown" 1950 24775 0 bottom C1-3-0 "1206" "unknown" 2450 3775 0 bottom C1-3-1 "1206" "unknown" 2450 5275 0 bottom C1-3-2 "1206" "unknown" 2450 6775 0 bottom C1-3-3 "1206" "unknown" 2450 8275 0 bottom C1-3-4 "1206" "unknown" 2450 9775 0 bottom C1-3-5 "1206" "unknown" 2450 11275 0 bottom C1-3-6 "1206" "unknown" 2450 12775 0 bottom C1-3-7 "1206" "unknown" 2450 14275 0 bottom C1-3-8 "1206" "unknown" 2450 15775 0 bottom C1-3-9 "1206" "unknown" 2450 17275 0 bottom C1-3-10 "1206" "unknown" 2450 18775 0 bottom C1-3-11 "1206" "unknown" 2450 20275 0 bottom C1-3-12 "1206" "unknown" 2450 21775 0 bottom C1-3-13 "1206" "unknown" 2450 23275 0 bottom C1-3-14 "1206" "unknown" 2450 24775 0 bottom C1-4-0 "1206" "unknown" 2950 3775 0 bottom C1-4-1 "1206" "unknown" 2950 5275 0 bottom C1-4-2 "1206" "unknown" 2950 6775 0 bottom C1-4-3 "1206" "unknown" 2950 8275 0 bottom C1-4-4 "1206" "unknown" 2950 9775 0 bottom C1-4-5 "1206" "unknown" 2950 11275 0 bottom C1-4-6 "1206" "unknown" 2950 12775 0 bottom C1-4-7 "1206" "unknown" 2950 14275 0 bottom C1-4-8 "1206" "unknown" 2950 15775 0 bottom C1-4-9 "1206" "unknown" 2950 17275 0 bottom C1-4-10 "1206" "unknown" 2950 18775 0 bottom C1-4-11 "1206" "unknown" 2950 20275 0 bottom C1-4-12 "1206" "unknown" 2950 21775 0 bottom C1-4-13 "1206" "unknown" 2950 23275 0 bottom C1-4-14 "1206" "unknown" 2950 24775 0 bottom C1-5-0 "1206" "unknown" 3450 3775 0 bottom C1-5-1 "1206" "unknown" 3450 5275 0 bottom C1-5-2 "1206" "unknown" 3450 6775 0 bottom C1-5-3 "1206" "unknown" 3450 8275 0 bottom C1-5-4 "1206" "unknown" 3450 9775 0 bottom C1-5-5 "1206" "unknown" 3450 11275 0 bottom C1-5-6 "1206" "unknown" 3450 12775 0 bottom C1-5-7 "1206" "unknown" 3450 14275 0 bottom C1-5-8 "1206" "unknown" 3450 15775 0 bottom C1-5-9 "1206" "unknown" 3450 17275 0 bottom C1-5-10 "1206" "unknown" 3450 18775 0 bottom C1-5-11 "1206" "unknown" 3450 20275 0 bottom C1-5-12 "1206" "unknown" 3450 21775 0 bottom C1-5-13 "1206" "unknown" 3450 23275 0 bottom C1-5-14 "1206" "unknown" 3450 24775 0 bottom C1-6-0 "1206" "unknown" 3950 3775 0 bottom C1-6-1 "1206" "unknown" 3950 5275 0 bottom C1-6-2 "1206" "unknown" 3950 6775 0 bottom C1-6-3 "1206" "unknown" 3950 8275 0 bottom C1-6-4 "1206" "unknown" 3950 9775 0 bottom C1-6-5 "1206" "unknown" 3950 11275 0 bottom C1-6-6 "1206" "unknown" 3950 12775 0 bottom C1-6-7 "1206" "unknown" 3950 14275 0 bottom C1-6-8 "1206" "unknown" 3950 15775 0 bottom C1-6-9 "1206" "unknown" 3950 17275 0 bottom C1-6-10 "1206" "unknown" 3950 18775 0 bottom C1-6-11 "1206" "unknown" 3950 20275 0 bottom C1-6-12 "1206" "unknown" 3950 21775 0 bottom C1-6-13 "1206" "unknown" 3950 23275 0 bottom C1-6-14 "1206" "unknown" 3950 24775 0 bottom C1-7-0 "1206" "unknown" 4450 3775 0 bottom C1-7-1 "1206" "unknown" 4450 5275 0 bottom C1-7-2 "1206" "unknown" 4450 6775 0 bottom C1-7-3 "1206" "unknown" 4450 8275 0 bottom C1-7-4 "1206" "unknown" 4450 9775 0 bottom C1-7-5 "1206" "unknown" 4450 11275 0 bottom C1-7-6 "1206" "unknown" 4450 12775 0 bottom C1-7-7 "1206" "unknown" 4450 14275 0 bottom C1-7-8 "1206" "unknown" 4450 15775 0 bottom C1-7-9 "1206" "unknown" 4450 17275 0 bottom C1-7-10 "1206" "unknown" 4450 18775 0 bottom C1-7-11 "1206" "unknown" 4450 20275 0 bottom C1-7-12 "1206" "unknown" 4450 21775 0 bottom C1-7-13 "1206" "unknown" 4450 23275 0 bottom C1-7-14 "1206" "unknown" 4450 24775 0 bottom C1-8-0 "1206" "unknown" 4950 3775 0 bottom C1-8-1 "1206" "unknown" 4950 5275 0 bottom C1-8-2 "1206" "unknown" 4950 6775 0 bottom C1-8-3 "1206" "unknown" 4950 8275 0 bottom C1-8-4 "1206" "unknown" 4950 9775 0 bottom C1-8-5 "1206" "unknown" 4950 11275 0 bottom C1-8-6 "1206" "unknown" 4950 12775 0 bottom C1-8-7 "1206" "unknown" 4950 14275 0 bottom C1-8-8 "1206" "unknown" 4950 15775 0 bottom C1-8-9 "1206" "unknown" 4950 17275 0 bottom C1-8-10 "1206" "unknown" 4950 18775 0 bottom C1-8-11 "1206" "unknown" 4950 20275 0 bottom C1-8-12 "1206" "unknown" 4950 21775 0 bottom C1-8-13 "1206" "unknown" 4950 23275 0 bottom C1-8-14 "1206" "unknown" 4950 24775 0 bottom C1-9-0 "1206" "unknown" 5450 3775 0 bottom C1-9-1 "1206" "unknown" 5450 5275 0 bottom C1-9-2 "1206" "unknown" 5450 6775 0 bottom C1-9-3 "1206" "unknown" 5450 8275 0 bottom C1-9-4 "1206" "unknown" 5450 9775 0 bottom C1-9-5 "1206" "unknown" 5450 11275 0 bottom C1-9-6 "1206" "unknown" 5450 12775 0 bottom C1-9-7 "1206" "unknown" 5450 14275 0 bottom C1-9-8 "1206" "unknown" 5450 15775 0 bottom C1-9-9 "1206" "unknown" 5450 17275 0 bottom C1-9-10 "1206" "unknown" 5450 18775 0 bottom C1-9-11 "1206" "unknown" 5450 20275 0 bottom C1-9-12 "1206" "unknown" 5450 21775 0 bottom C1-9-13 "1206" "unknown" 5450 23275 0 bottom C1-9-14 "1206" "unknown" 5450 24775 0 bottom C1-10-0 "1206" "unknown" 5950 3775 0 bottom C1-10-1 "1206" "unknown" 5950 5275 0 bottom C1-10-2 "1206" "unknown" 5950 6775 0 bottom C1-10-3 "1206" "unknown" 5950 8275 0 bottom C1-10-4 "1206" "unknown" 5950 9775 0 bottom C1-10-5 "1206" "unknown" 5950 11275 0 bottom C1-10-6 "1206" "unknown" 5950 12775 0 bottom C1-10-7 "1206" "unknown" 5950 14275 0 bottom C1-10-8 "1206" "unknown" 5950 15775 0 bottom C1-10-9 "1206" "unknown" 5950 17275 0 bottom C1-10-10 "1206" "unknown" 5950 18775 0 bottom C1-10-11 "1206" "unknown" 5950 20275 0 bottom C1-10-12 "1206" "unknown" 5950 21775 0 bottom C1-10-13 "1206" "unknown" 5950 23275 0 bottom C1-10-14 "1206" "unknown" 5950 24775 0 bottom C1-11-0 "1206" "unknown" 6450 3775 0 bottom C1-11-1 "1206" "unknown" 6450 5275 0 bottom C1-11-2 "1206" "unknown" 6450 6775 0 bottom C1-11-3 "1206" "unknown" 6450 8275 0 bottom C1-11-4 "1206" "unknown" 6450 9775 0 bottom C1-11-5 "1206" "unknown" 6450 11275 0 bottom C1-11-6 "1206" "unknown" 6450 12775 0 bottom C1-11-7 "1206" "unknown" 6450 14275 0 bottom C1-11-8 "1206" "unknown" 6450 15775 0 bottom C1-11-9 "1206" "unknown" 6450 17275 0 bottom C1-11-10 "1206" "unknown" 6450 18775 0 bottom C1-11-11 "1206" "unknown" 6450 20275 0 bottom C1-11-12 "1206" "unknown" 6450 21775 0 bottom C1-11-13 "1206" "unknown" 6450 23275 0 bottom C1-11-14 "1206" "unknown" 6450 24775 0 bottom C1-12-0 "1206" "unknown" 6950 3775 0 bottom C1-12-1 "1206" "unknown" 6950 5275 0 bottom C1-12-2 "1206" "unknown" 6950 6775 0 bottom C1-12-3 "1206" "unknown" 6950 8275 0 bottom C1-12-4 "1206" "unknown" 6950 9775 0 bottom C1-12-5 "1206" "unknown" 6950 11275 0 bottom C1-12-6 "1206" "unknown" 6950 12775 0 bottom C1-12-7 "1206" "unknown" 6950 14275 0 bottom C1-12-8 "1206" "unknown" 6950 15775 0 bottom C1-12-9 "1206" "unknown" 6950 17275 0 bottom C1-12-10 "1206" "unknown" 6950 18775 0 bottom C1-12-11 "1206" "unknown" 6950 20275 0 bottom C1-12-12 "1206" "unknown" 6950 21775 0 bottom C1-12-13 "1206" "unknown" 6950 23275 0 bottom C1-12-14 "1206" "unknown" 6950 24775 0 bottom C1-13-0 "1206" "unknown" 7450 3775 0 bottom C1-13-1 "1206" "unknown" 7450 5275 0 bottom C1-13-2 "1206" "unknown" 7450 6775 0 bottom C1-13-3 "1206" "unknown" 7450 8275 0 bottom C1-13-4 "1206" "unknown" 7450 9775 0 bottom C1-13-5 "1206" "unknown" 7450 11275 0 bottom C1-13-6 "1206" "unknown" 7450 12775 0 bottom C1-13-7 "1206" "unknown" 7450 14275 0 bottom C1-13-8 "1206" "unknown" 7450 15775 0 bottom C1-13-9 "1206" "unknown" 7450 17275 0 bottom C1-13-10 "1206" "unknown" 7450 18775 0 bottom C1-13-11 "1206" "unknown" 7450 20275 0 bottom C1-13-12 "1206" "unknown" 7450 21775 0 bottom C1-13-13 "1206" "unknown" 7450 23275 0 bottom C1-13-14 "1206" "unknown" 7450 24775 0 bottom C1-14-0 "1206" "unknown" 7950 3775 0 bottom C1-14-1 "1206" "unknown" 7950 5275 0 bottom C1-14-2 "1206" "unknown" 7950 6775 0 bottom C1-14-3 "1206" "unknown" 7950 8275 0 bottom C1-14-4 "1206" "unknown" 7950 9775 0 bottom C1-14-5 "1206" "unknown" 7950 11275 0 bottom C1-14-6 "1206" "unknown" 7950 12775 0 bottom C1-14-7 "1206" "unknown" 7950 14275 0 bottom C1-14-8 "1206" "unknown" 7950 15775 0 bottom C1-14-9 "1206" "unknown" 7950 17275 0 bottom C1-14-10 "1206" "unknown" 7950 18775 0 bottom C1-14-11 "1206" "unknown" 7950 20275 0 bottom C1-14-12 "1206" "unknown" 7950 21775 0 bottom C1-14-13 "1206" "unknown" 7950 23275 0 bottom C1-14-14 "1206" "unknown" 7950 24775 0 bottom C14-0-0 "1206" "unknown" 1225.00 3600.00 90 bottom C14-0-1 "1206" "unknown" 1225 5100 90 bottom C14-0-2 "1206" "unknown" 1225 6600 90 bottom C14-0-3 "1206" "unknown" 1225 8100 90 bottom C14-0-4 "1206" "unknown" 1225 9600 90 bottom C14-0-5 "1206" "unknown" 1225 11100 90 bottom C14-0-6 "1206" "unknown" 1225 12600 90 bottom C14-0-7 "1206" "unknown" 1225 14100 90 bottom C14-0-8 "1206" "unknown" 1225 15600 90 bottom C14-0-9 "1206" "unknown" 1225 17100 90 bottom C14-0-10 "1206" "unknown" 1225 18600 90 bottom C14-0-11 "1206" "unknown" 1225 20100 90 bottom C14-0-12 "1206" "unknown" 1225 21600 90 bottom C14-0-13 "1206" "unknown" 1225 23100 90 bottom C14-0-14 "1206" "unknown" 1225 24600 90 bottom C14-1-0 "1206" "unknown" 1725 3600 90 bottom C14-1-1 "1206" "unknown" 1725 5100 90 bottom C14-1-2 "1206" "unknown" 1725 6600 90 bottom C14-1-3 "1206" "unknown" 1725 8100 90 bottom C14-1-4 "1206" "unknown" 1725 9600 90 bottom C14-1-5 "1206" "unknown" 1725 11100 90 bottom C14-1-6 "1206" "unknown" 1725 12600 90 bottom C14-1-7 "1206" "unknown" 1725 14100 90 bottom C14-1-8 "1206" "unknown" 1725 15600 90 bottom C14-1-9 "1206" "unknown" 1725 17100 90 bottom C14-1-10 "1206" "unknown" 1725 18600 90 bottom C14-1-11 "1206" "unknown" 1725 20100 90 bottom C14-1-12 "1206" "unknown" 1725 21600 90 bottom C14-1-13 "1206" "unknown" 1725 23100 90 bottom C14-1-14 "1206" "unknown" 1725 24600 90 bottom C14-2-0 "1206" "unknown" 2225 3600 90 bottom C14-2-1 "1206" "unknown" 2225 5100 90 bottom C14-2-2 "1206" "unknown" 2225 6600 90 bottom C14-2-3 "1206" "unknown" 2225 8100 90 bottom C14-2-4 "1206" "unknown" 2225 9600 90 bottom C14-2-5 "1206" "unknown" 2225 11100 90 bottom C14-2-6 "1206" "unknown" 2225 12600 90 bottom C14-2-7 "1206" "unknown" 2225 14100 90 bottom C14-2-8 "1206" "unknown" 2225 15600 90 bottom C14-2-9 "1206" "unknown" 2225 17100 90 bottom C14-2-10 "1206" "unknown" 2225 18600 90 bottom C14-2-11 "1206" "unknown" 2225 20100 90 bottom C14-2-12 "1206" "unknown" 2225 21600 90 bottom C14-2-13 "1206" "unknown" 2225 23100 90 bottom C14-2-14 "1206" "unknown" 2225 24600 90 bottom C14-3-0 "1206" "unknown" 2725 3600 90 bottom C14-3-1 "1206" "unknown" 2725 5100 90 bottom C14-3-2 "1206" "unknown" 2725 6600 90 bottom C14-3-3 "1206" "unknown" 2725 8100 90 bottom C14-3-4 "1206" "unknown" 2725 9600 90 bottom C14-3-5 "1206" "unknown" 2725 11100 90 bottom C14-3-6 "1206" "unknown" 2725 12600 90 bottom C14-3-7 "1206" "unknown" 2725 14100 90 bottom C14-3-8 "1206" "unknown" 2725 15600 90 bottom C14-3-9 "1206" "unknown" 2725 17100 90 bottom C14-3-10 "1206" "unknown" 2725 18600 90 bottom C14-3-11 "1206" "unknown" 2725 20100 90 bottom C14-3-12 "1206" "unknown" 2725 21600 90 bottom C14-3-13 "1206" "unknown" 2725 23100 90 bottom C14-3-14 "1206" "unknown" 2725 24600 90 bottom C14-4-0 "1206" "unknown" 3225 3600 90 bottom C14-4-1 "1206" "unknown" 3225 5100 90 bottom C14-4-2 "1206" "unknown" 3225 6600 90 bottom C14-4-3 "1206" "unknown" 3225 8100 90 bottom C14-4-4 "1206" "unknown" 3225 9600 90 bottom C14-4-5 "1206" "unknown" 3225 11100 90 bottom C14-4-6 "1206" "unknown" 3225 12600 90 bottom C14-4-7 "1206" "unknown" 3225 14100 90 bottom C14-4-8 "1206" "unknown" 3225 15600 90 bottom C14-4-9 "1206" "unknown" 3225 17100 90 bottom C14-4-10 "1206" "unknown" 3225 18600 90 bottom C14-4-11 "1206" "unknown" 3225 20100 90 bottom C14-4-12 "1206" "unknown" 3225 21600 90 bottom C14-4-13 "1206" "unknown" 3225 23100 90 bottom C14-4-14 "1206" "unknown" 3225 24600 90 bottom C14-5-0 "1206" "unknown" 3725 3600 90 bottom C14-5-1 "1206" "unknown" 3725 5100 90 bottom C14-5-2 "1206" "unknown" 3725 6600 90 bottom C14-5-3 "1206" "unknown" 3725 8100 90 bottom C14-5-4 "1206" "unknown" 3725 9600 90 bottom C14-5-5 "1206" "unknown" 3725 11100 90 bottom C14-5-6 "1206" "unknown" 3725 12600 90 bottom C14-5-7 "1206" "unknown" 3725 14100 90 bottom C14-5-8 "1206" "unknown" 3725 15600 90 bottom C14-5-9 "1206" "unknown" 3725 17100 90 bottom C14-5-10 "1206" "unknown" 3725 18600 90 bottom C14-5-11 "1206" "unknown" 3725 20100 90 bottom C14-5-12 "1206" "unknown" 3725 21600 90 bottom C14-5-13 "1206" "unknown" 3725 23100 90 bottom C14-5-14 "1206" "unknown" 3725 24600 90 bottom C14-6-0 "1206" "unknown" 4225 3600 90 bottom C14-6-1 "1206" "unknown" 4225 5100 90 bottom C14-6-2 "1206" "unknown" 4225 6600 90 bottom C14-6-3 "1206" "unknown" 4225 8100 90 bottom C14-6-4 "1206" "unknown" 4225 9600 90 bottom C14-6-5 "1206" "unknown" 4225 11100 90 bottom C14-6-6 "1206" "unknown" 4225 12600 90 bottom C14-6-7 "1206" "unknown" 4225 14100 90 bottom C14-6-8 "1206" "unknown" 4225 15600 90 bottom C14-6-9 "1206" "unknown" 4225 17100 90 bottom C14-6-10 "1206" "unknown" 4225 18600 90 bottom C14-6-11 "1206" "unknown" 4225 20100 90 bottom C14-6-12 "1206" "unknown" 4225 21600 90 bottom C14-6-13 "1206" "unknown" 4225 23100 90 bottom C14-6-14 "1206" "unknown" 4225 24600 90 bottom C14-7-0 "1206" "unknown" 4725 3600 90 bottom C14-7-1 "1206" "unknown" 4725 5100 90 bottom C14-7-2 "1206" "unknown" 4725 6600 90 bottom C14-7-3 "1206" "unknown" 4725 8100 90 bottom C14-7-4 "1206" "unknown" 4725 9600 90 bottom C14-7-5 "1206" "unknown" 4725 11100 90 bottom C14-7-6 "1206" "unknown" 4725 12600 90 bottom C14-7-7 "1206" "unknown" 4725 14100 90 bottom C14-7-8 "1206" "unknown" 4725 15600 90 bottom C14-7-9 "1206" "unknown" 4725 17100 90 bottom C14-7-10 "1206" "unknown" 4725 18600 90 bottom C14-7-11 "1206" "unknown" 4725 20100 90 bottom C14-7-12 "1206" "unknown" 4725 21600 90 bottom C14-7-13 "1206" "unknown" 4725 23100 90 bottom C14-7-14 "1206" "unknown" 4725 24600 90 bottom C14-8-0 "1206" "unknown" 5225 3600 90 bottom C14-8-1 "1206" "unknown" 5225 5100 90 bottom C14-8-2 "1206" "unknown" 5225 6600 90 bottom C14-8-3 "1206" "unknown" 5225 8100 90 bottom C14-8-4 "1206" "unknown" 5225 9600 90 bottom C14-8-5 "1206" "unknown" 5225 11100 90 bottom C14-8-6 "1206" "unknown" 5225 12600 90 bottom C14-8-7 "1206" "unknown" 5225 14100 90 bottom C14-8-8 "1206" "unknown" 5225 15600 90 bottom C14-8-9 "1206" "unknown" 5225 17100 90 bottom C14-8-10 "1206" "unknown" 5225 18600 90 bottom C14-8-11 "1206" "unknown" 5225 20100 90 bottom C14-8-12 "1206" "unknown" 5225 21600 90 bottom C14-8-13 "1206" "unknown" 5225 23100 90 bottom C14-8-14 "1206" "unknown" 5225 24600 90 bottom C14-9-0 "1206" "unknown" 5725 3600 90 bottom C14-9-1 "1206" "unknown" 5725 5100 90 bottom C14-9-2 "1206" "unknown" 5725 6600 90 bottom C14-9-3 "1206" "unknown" 5725 8100 90 bottom C14-9-4 "1206" "unknown" 5725 9600 90 bottom C14-9-5 "1206" "unknown" 5725 11100 90 bottom C14-9-6 "1206" "unknown" 5725 12600 90 bottom C14-9-7 "1206" "unknown" 5725 14100 90 bottom C14-9-8 "1206" "unknown" 5725 15600 90 bottom C14-9-9 "1206" "unknown" 5725 17100 90 bottom C14-9-10 "1206" "unknown" 5725 18600 90 bottom C14-9-11 "1206" "unknown" 5725 20100 90 bottom C14-9-12 "1206" "unknown" 5725 21600 90 bottom C14-9-13 "1206" "unknown" 5725 23100 90 bottom C14-9-14 "1206" "unknown" 5725 24600 90 bottom C14-10-0 "1206" "unknown" 6225 3600 90 bottom C14-10-1 "1206" "unknown" 6225 5100 90 bottom C14-10-2 "1206" "unknown" 6225 6600 90 bottom C14-10-3 "1206" "unknown" 6225 8100 90 bottom C14-10-4 "1206" "unknown" 6225 9600 90 bottom C14-10-5 "1206" "unknown" 6225 11100 90 bottom C14-10-6 "1206" "unknown" 6225 12600 90 bottom C14-10-7 "1206" "unknown" 6225 14100 90 bottom C14-10-8 "1206" "unknown" 6225 15600 90 bottom C14-10-9 "1206" "unknown" 6225 17100 90 bottom C14-10-10 "1206" "unknown" 6225 18600 90 bottom C14-10-11 "1206" "unknown" 6225 20100 90 bottom C14-10-12 "1206" "unknown" 6225 21600 90 bottom C14-10-13 "1206" "unknown" 6225 23100 90 bottom C14-10-14 "1206" "unknown" 6225 24600 90 bottom C14-11-0 "1206" "unknown" 6725 3600 90 bottom C14-11-1 "1206" "unknown" 6725 5100 90 bottom C14-11-2 "1206" "unknown" 6725 6600 90 bottom C14-11-3 "1206" "unknown" 6725 8100 90 bottom C14-11-4 "1206" "unknown" 6725 9600 90 bottom C14-11-5 "1206" "unknown" 6725 11100 90 bottom C14-11-6 "1206" "unknown" 6725 12600 90 bottom C14-11-7 "1206" "unknown" 6725 14100 90 bottom C14-11-8 "1206" "unknown" 6725 15600 90 bottom C14-11-9 "1206" "unknown" 6725 17100 90 bottom C14-11-10 "1206" "unknown" 6725 18600 90 bottom C14-11-11 "1206" "unknown" 6725 20100 90 bottom C14-11-12 "1206" "unknown" 6725 21600 90 bottom C14-11-13 "1206" "unknown" 6725 23100 90 bottom C14-11-14 "1206" "unknown" 6725 24600 90 bottom C14-12-0 "1206" "unknown" 7225 3600 90 bottom C14-12-1 "1206" "unknown" 7225 5100 90 bottom C14-12-2 "1206" "unknown" 7225 6600 90 bottom C14-12-3 "1206" "unknown" 7225 8100 90 bottom C14-12-4 "1206" "unknown" 7225 9600 90 bottom C14-12-5 "1206" "unknown" 7225 11100 90 bottom C14-12-6 "1206" "unknown" 7225 12600 90 bottom C14-12-7 "1206" "unknown" 7225 14100 90 bottom C14-12-8 "1206" "unknown" 7225 15600 90 bottom C14-12-9 "1206" "unknown" 7225 17100 90 bottom C14-12-10 "1206" "unknown" 7225 18600 90 bottom C14-12-11 "1206" "unknown" 7225 20100 90 bottom C14-12-12 "1206" "unknown" 7225 21600 90 bottom C14-12-13 "1206" "unknown" 7225 23100 90 bottom C14-12-14 "1206" "unknown" 7225 24600 90 bottom C14-13-0 "1206" "unknown" 7725 3600 90 bottom C14-13-1 "1206" "unknown" 7725 5100 90 bottom C14-13-2 "1206" "unknown" 7725 6600 90 bottom C14-13-3 "1206" "unknown" 7725 8100 90 bottom C14-13-4 "1206" "unknown" 7725 9600 90 bottom C14-13-5 "1206" "unknown" 7725 11100 90 bottom C14-13-6 "1206" "unknown" 7725 12600 90 bottom C14-13-7 "1206" "unknown" 7725 14100 90 bottom C14-13-8 "1206" "unknown" 7725 15600 90 bottom C14-13-9 "1206" "unknown" 7725 17100 90 bottom C14-13-10 "1206" "unknown" 7725 18600 90 bottom C14-13-11 "1206" "unknown" 7725 20100 90 bottom C14-13-12 "1206" "unknown" 7725 21600 90 bottom C14-13-13 "1206" "unknown" 7725 23100 90 bottom C14-13-14 "1206" "unknown" 7725 24600 90 bottom C14-14-0 "1206" "unknown" 8225 3600 90 bottom C14-14-1 "1206" "unknown" 8225 5100 90 bottom C14-14-2 "1206" "unknown" 8225 6600 90 bottom C14-14-3 "1206" "unknown" 8225 8100 90 bottom C14-14-4 "1206" "unknown" 8225 9600 90 bottom C14-14-5 "1206" "unknown" 8225 11100 90 bottom C14-14-6 "1206" "unknown" 8225 12600 90 bottom C14-14-7 "1206" "unknown" 8225 14100 90 bottom C14-14-8 "1206" "unknown" 8225 15600 90 bottom C14-14-9 "1206" "unknown" 8225 17100 90 bottom C14-14-10 "1206" "unknown" 8225 18600 90 bottom C14-14-11 "1206" "unknown" 8225 20100 90 bottom C14-14-12 "1206" "unknown" 8225 21600 90 bottom C14-14-13 "1206" "unknown" 8225 23100 90 bottom C14-14-14 "1206" "unknown" 8225 24600 90 bottom D6-0-0 "1206" "unknown" 1125.00 3875.00 180 bottom D6-0-1 "1206" "unknown" 1125 5375 180 bottom D6-0-2 "1206" "unknown" 1125 6875 180 bottom D6-0-3 "1206" "unknown" 1125 8375 180 bottom D6-0-4 "1206" "unknown" 1125 9875 180 bottom D6-0-5 "1206" "unknown" 1125 11375 180 bottom D6-0-6 "1206" "unknown" 1125 12875 180 bottom D6-0-7 "1206" "unknown" 1125 14375 180 bottom D6-0-8 "1206" "unknown" 1125 15875 180 bottom D6-0-9 "1206" "unknown" 1125 17375 180 bottom D6-0-10 "1206" "unknown" 1125 18875 180 bottom D6-0-11 "1206" "unknown" 1125 20375 180 bottom D6-0-12 "1206" "unknown" 1125 21875 180 bottom D6-0-13 "1206" "unknown" 1125 23375 180 bottom D6-0-14 "1206" "unknown" 1125 24875 180 bottom D6-1-0 "1206" "unknown" 1625 3875 180 bottom D6-1-1 "1206" "unknown" 1625 5375 180 bottom D6-1-2 "1206" "unknown" 1625 6875 180 bottom D6-1-3 "1206" "unknown" 1625 8375 180 bottom D6-1-4 "1206" "unknown" 1625 9875 180 bottom D6-1-5 "1206" "unknown" 1625 11375 180 bottom D6-1-6 "1206" "unknown" 1625 12875 180 bottom D6-1-7 "1206" "unknown" 1625 14375 180 bottom D6-1-8 "1206" "unknown" 1625 15875 180 bottom D6-1-9 "1206" "unknown" 1625 17375 180 bottom D6-1-10 "1206" "unknown" 1625 18875 180 bottom D6-1-11 "1206" "unknown" 1625 20375 180 bottom D6-1-12 "1206" "unknown" 1625 21875 180 bottom D6-1-13 "1206" "unknown" 1625 23375 180 bottom D6-1-14 "1206" "unknown" 1625 24875 180 bottom D6-2-0 "1206" "unknown" 2125 3875 180 bottom D6-2-1 "1206" "unknown" 2125 5375 180 bottom D6-2-2 "1206" "unknown" 2125 6875 180 bottom D6-2-3 "1206" "unknown" 2125 8375 180 bottom D6-2-4 "1206" "unknown" 2125 9875 180 bottom D6-2-5 "1206" "unknown" 2125 11375 180 bottom D6-2-6 "1206" "unknown" 2125 12875 180 bottom D6-2-7 "1206" "unknown" 2125 14375 180 bottom D6-2-8 "1206" "unknown" 2125 15875 180 bottom D6-2-9 "1206" "unknown" 2125 17375 180 bottom D6-2-10 "1206" "unknown" 2125 18875 180 bottom D6-2-11 "1206" "unknown" 2125 20375 180 bottom D6-2-12 "1206" "unknown" 2125 21875 180 bottom D6-2-13 "1206" "unknown" 2125 23375 180 bottom D6-2-14 "1206" "unknown" 2125 24875 180 bottom D6-3-0 "1206" "unknown" 2625 3875 180 bottom D6-3-1 "1206" "unknown" 2625 5375 180 bottom D6-3-2 "1206" "unknown" 2625 6875 180 bottom D6-3-3 "1206" "unknown" 2625 8375 180 bottom D6-3-4 "1206" "unknown" 2625 9875 180 bottom D6-3-5 "1206" "unknown" 2625 11375 180 bottom D6-3-6 "1206" "unknown" 2625 12875 180 bottom D6-3-7 "1206" "unknown" 2625 14375 180 bottom D6-3-8 "1206" "unknown" 2625 15875 180 bottom D6-3-9 "1206" "unknown" 2625 17375 180 bottom D6-3-10 "1206" "unknown" 2625 18875 180 bottom D6-3-11 "1206" "unknown" 2625 20375 180 bottom D6-3-12 "1206" "unknown" 2625 21875 180 bottom D6-3-13 "1206" "unknown" 2625 23375 180 bottom D6-3-14 "1206" "unknown" 2625 24875 180 bottom D6-4-0 "1206" "unknown" 3125 3875 180 bottom D6-4-1 "1206" "unknown" 3125 5375 180 bottom D6-4-2 "1206" "unknown" 3125 6875 180 bottom D6-4-3 "1206" "unknown" 3125 8375 180 bottom D6-4-4 "1206" "unknown" 3125 9875 180 bottom D6-4-5 "1206" "unknown" 3125 11375 180 bottom D6-4-6 "1206" "unknown" 3125 12875 180 bottom D6-4-7 "1206" "unknown" 3125 14375 180 bottom D6-4-8 "1206" "unknown" 3125 15875 180 bottom D6-4-9 "1206" "unknown" 3125 17375 180 bottom D6-4-10 "1206" "unknown" 3125 18875 180 bottom D6-4-11 "1206" "unknown" 3125 20375 180 bottom D6-4-12 "1206" "unknown" 3125 21875 180 bottom D6-4-13 "1206" "unknown" 3125 23375 180 bottom D6-4-14 "1206" "unknown" 3125 24875 180 bottom D6-5-0 "1206" "unknown" 3625 3875 180 bottom D6-5-1 "1206" "unknown" 3625 5375 180 bottom D6-5-2 "1206" "unknown" 3625 6875 180 bottom D6-5-3 "1206" "unknown" 3625 8375 180 bottom D6-5-4 "1206" "unknown" 3625 9875 180 bottom D6-5-5 "1206" "unknown" 3625 11375 180 bottom D6-5-6 "1206" "unknown" 3625 12875 180 bottom D6-5-7 "1206" "unknown" 3625 14375 180 bottom D6-5-8 "1206" "unknown" 3625 15875 180 bottom D6-5-9 "1206" "unknown" 3625 17375 180 bottom D6-5-10 "1206" "unknown" 3625 18875 180 bottom D6-5-11 "1206" "unknown" 3625 20375 180 bottom D6-5-12 "1206" "unknown" 3625 21875 180 bottom D6-5-13 "1206" "unknown" 3625 23375 180 bottom D6-5-14 "1206" "unknown" 3625 24875 180 bottom D6-6-0 "1206" "unknown" 4125 3875 180 bottom D6-6-1 "1206" "unknown" 4125 5375 180 bottom D6-6-2 "1206" "unknown" 4125 6875 180 bottom D6-6-3 "1206" "unknown" 4125 8375 180 bottom D6-6-4 "1206" "unknown" 4125 9875 180 bottom D6-6-5 "1206" "unknown" 4125 11375 180 bottom D6-6-6 "1206" "unknown" 4125 12875 180 bottom D6-6-7 "1206" "unknown" 4125 14375 180 bottom D6-6-8 "1206" "unknown" 4125 15875 180 bottom D6-6-9 "1206" "unknown" 4125 17375 180 bottom D6-6-10 "1206" "unknown" 4125 18875 180 bottom D6-6-11 "1206" "unknown" 4125 20375 180 bottom D6-6-12 "1206" "unknown" 4125 21875 180 bottom D6-6-13 "1206" "unknown" 4125 23375 180 bottom D6-6-14 "1206" "unknown" 4125 24875 180 bottom D6-7-0 "1206" "unknown" 4625 3875 180 bottom D6-7-1 "1206" "unknown" 4625 5375 180 bottom D6-7-2 "1206" "unknown" 4625 6875 180 bottom D6-7-3 "1206" "unknown" 4625 8375 180 bottom D6-7-4 "1206" "unknown" 4625 9875 180 bottom D6-7-5 "1206" "unknown" 4625 11375 180 bottom D6-7-6 "1206" "unknown" 4625 12875 180 bottom D6-7-7 "1206" "unknown" 4625 14375 180 bottom D6-7-8 "1206" "unknown" 4625 15875 180 bottom D6-7-9 "1206" "unknown" 4625 17375 180 bottom D6-7-10 "1206" "unknown" 4625 18875 180 bottom D6-7-11 "1206" "unknown" 4625 20375 180 bottom D6-7-12 "1206" "unknown" 4625 21875 180 bottom D6-7-13 "1206" "unknown" 4625 23375 180 bottom D6-7-14 "1206" "unknown" 4625 24875 180 bottom D6-8-0 "1206" "unknown" 5125 3875 180 bottom D6-8-1 "1206" "unknown" 5125 5375 180 bottom D6-8-2 "1206" "unknown" 5125 6875 180 bottom D6-8-3 "1206" "unknown" 5125 8375 180 bottom D6-8-4 "1206" "unknown" 5125 9875 180 bottom D6-8-5 "1206" "unknown" 5125 11375 180 bottom D6-8-6 "1206" "unknown" 5125 12875 180 bottom D6-8-7 "1206" "unknown" 5125 14375 180 bottom D6-8-8 "1206" "unknown" 5125 15875 180 bottom D6-8-9 "1206" "unknown" 5125 17375 180 bottom D6-8-10 "1206" "unknown" 5125 18875 180 bottom D6-8-11 "1206" "unknown" 5125 20375 180 bottom D6-8-12 "1206" "unknown" 5125 21875 180 bottom D6-8-13 "1206" "unknown" 5125 23375 180 bottom D6-8-14 "1206" "unknown" 5125 24875 180 bottom D6-9-0 "1206" "unknown" 5625 3875 180 bottom D6-9-1 "1206" "unknown" 5625 5375 180 bottom D6-9-2 "1206" "unknown" 5625 6875 180 bottom D6-9-3 "1206" "unknown" 5625 8375 180 bottom D6-9-4 "1206" "unknown" 5625 9875 180 bottom D6-9-5 "1206" "unknown" 5625 11375 180 bottom D6-9-6 "1206" "unknown" 5625 12875 180 bottom D6-9-7 "1206" "unknown" 5625 14375 180 bottom D6-9-8 "1206" "unknown" 5625 15875 180 bottom D6-9-9 "1206" "unknown" 5625 17375 180 bottom D6-9-10 "1206" "unknown" 5625 18875 180 bottom D6-9-11 "1206" "unknown" 5625 20375 180 bottom D6-9-12 "1206" "unknown" 5625 21875 180 bottom D6-9-13 "1206" "unknown" 5625 23375 180 bottom D6-9-14 "1206" "unknown" 5625 24875 180 bottom D6-10-0 "1206" "unknown" 6125 3875 180 bottom D6-10-1 "1206" "unknown" 6125 5375 180 bottom D6-10-2 "1206" "unknown" 6125 6875 180 bottom D6-10-3 "1206" "unknown" 6125 8375 180 bottom D6-10-4 "1206" "unknown" 6125 9875 180 bottom D6-10-5 "1206" "unknown" 6125 11375 180 bottom D6-10-6 "1206" "unknown" 6125 12875 180 bottom D6-10-7 "1206" "unknown" 6125 14375 180 bottom D6-10-8 "1206" "unknown" 6125 15875 180 bottom D6-10-9 "1206" "unknown" 6125 17375 180 bottom D6-10-10 "1206" "unknown" 6125 18875 180 bottom D6-10-11 "1206" "unknown" 6125 20375 180 bottom D6-10-12 "1206" "unknown" 6125 21875 180 bottom D6-10-13 "1206" "unknown" 6125 23375 180 bottom D6-10-14 "1206" "unknown" 6125 24875 180 bottom D6-11-0 "1206" "unknown" 6625 3875 180 bottom D6-11-1 "1206" "unknown" 6625 5375 180 bottom D6-11-2 "1206" "unknown" 6625 6875 180 bottom D6-11-3 "1206" "unknown" 6625 8375 180 bottom D6-11-4 "1206" "unknown" 6625 9875 180 bottom D6-11-5 "1206" "unknown" 6625 11375 180 bottom D6-11-6 "1206" "unknown" 6625 12875 180 bottom D6-11-7 "1206" "unknown" 6625 14375 180 bottom D6-11-8 "1206" "unknown" 6625 15875 180 bottom D6-11-9 "1206" "unknown" 6625 17375 180 bottom D6-11-10 "1206" "unknown" 6625 18875 180 bottom D6-11-11 "1206" "unknown" 6625 20375 180 bottom D6-11-12 "1206" "unknown" 6625 21875 180 bottom D6-11-13 "1206" "unknown" 6625 23375 180 bottom D6-11-14 "1206" "unknown" 6625 24875 180 bottom D6-12-0 "1206" "unknown" 7125 3875 180 bottom D6-12-1 "1206" "unknown" 7125 5375 180 bottom D6-12-2 "1206" "unknown" 7125 6875 180 bottom D6-12-3 "1206" "unknown" 7125 8375 180 bottom D6-12-4 "1206" "unknown" 7125 9875 180 bottom D6-12-5 "1206" "unknown" 7125 11375 180 bottom D6-12-6 "1206" "unknown" 7125 12875 180 bottom D6-12-7 "1206" "unknown" 7125 14375 180 bottom D6-12-8 "1206" "unknown" 7125 15875 180 bottom D6-12-9 "1206" "unknown" 7125 17375 180 bottom D6-12-10 "1206" "unknown" 7125 18875 180 bottom D6-12-11 "1206" "unknown" 7125 20375 180 bottom D6-12-12 "1206" "unknown" 7125 21875 180 bottom D6-12-13 "1206" "unknown" 7125 23375 180 bottom D6-12-14 "1206" "unknown" 7125 24875 180 bottom D6-13-0 "1206" "unknown" 7625 3875 180 bottom D6-13-1 "1206" "unknown" 7625 5375 180 bottom D6-13-2 "1206" "unknown" 7625 6875 180 bottom D6-13-3 "1206" "unknown" 7625 8375 180 bottom D6-13-4 "1206" "unknown" 7625 9875 180 bottom D6-13-5 "1206" "unknown" 7625 11375 180 bottom D6-13-6 "1206" "unknown" 7625 12875 180 bottom D6-13-7 "1206" "unknown" 7625 14375 180 bottom D6-13-8 "1206" "unknown" 7625 15875 180 bottom D6-13-9 "1206" "unknown" 7625 17375 180 bottom D6-13-10 "1206" "unknown" 7625 18875 180 bottom D6-13-11 "1206" "unknown" 7625 20375 180 bottom D6-13-12 "1206" "unknown" 7625 21875 180 bottom D6-13-13 "1206" "unknown" 7625 23375 180 bottom D6-13-14 "1206" "unknown" 7625 24875 180 bottom D6-14-0 "1206" "unknown" 8125 3875 180 bottom D6-14-1 "1206" "unknown" 8125 5375 180 bottom D6-14-2 "1206" "unknown" 8125 6875 180 bottom D6-14-3 "1206" "unknown" 8125 8375 180 bottom D6-14-4 "1206" "unknown" 8125 9875 180 bottom D6-14-5 "1206" "unknown" 8125 11375 180 bottom D6-14-6 "1206" "unknown" 8125 12875 180 bottom D6-14-7 "1206" "unknown" 8125 14375 180 bottom D6-14-8 "1206" "unknown" 8125 15875 180 bottom D6-14-9 "1206" "unknown" 8125 17375 180 bottom D6-14-10 "1206" "unknown" 8125 18875 180 bottom D6-14-11 "1206" "unknown" 8125 20375 180 bottom D6-14-12 "1206" "unknown" 8125 21875 180 bottom D6-14-13 "1206" "unknown" 8125 23375 180 bottom D6-14-14 "1206" "unknown" 8125 24875 180 bottom C13-0-0 "1206" "unknown" 1615.95 3738.19 180 bottom C13-0-1 "1206" "unknown" 1615.95 5238.19 180 bottom C13-0-2 "1206" "unknown" 1615.95 6738.19 180 bottom C13-0-3 "1206" "unknown" 1615.95 8238.19 180 bottom C13-0-4 "1206" "unknown" 1615.95 9738.19 180 bottom C13-0-5 "1206" "unknown" 1615.95 11238.19 180 bottom C13-0-6 "1206" "unknown" 1615.95 12738.19 180 bottom C13-0-7 "1206" "unknown" 1615.95 14238.19 180 bottom C13-0-8 "1206" "unknown" 1615.95 15738.19 180 bottom C13-0-9 "1206" "unknown" 1615.95 17238.19 180 bottom C13-0-10 "1206" "unknown" 1615.95 18738.19 180 bottom C13-0-11 "1206" "unknown" 1615.95 20238.19 180 bottom C13-0-12 "1206" "unknown" 1615.95 21738.19 180 bottom C13-0-13 "1206" "unknown" 1615.95 23238.19 180 bottom C13-0-14 "1206" "unknown" 1615.95 24738.19 180 bottom C13-1-0 "1206" "unknown" 2115.95 3738.19 180 bottom C13-1-1 "1206" "unknown" 2115.95 5238.19 180 bottom C13-1-2 "1206" "unknown" 2115.95 6738.19 180 bottom C13-1-3 "1206" "unknown" 2115.95 8238.19 180 bottom C13-1-4 "1206" "unknown" 2115.95 9738.19 180 bottom C13-1-5 "1206" "unknown" 2115.95 11238.19 180 bottom C13-1-6 "1206" "unknown" 2115.95 12738.19 180 bottom C13-1-7 "1206" "unknown" 2115.95 14238.19 180 bottom C13-1-8 "1206" "unknown" 2115.95 15738.19 180 bottom C13-1-9 "1206" "unknown" 2115.95 17238.19 180 bottom C13-1-10 "1206" "unknown" 2115.95 18738.19 180 bottom C13-1-11 "1206" "unknown" 2115.95 20238.19 180 bottom C13-1-12 "1206" "unknown" 2115.95 21738.19 180 bottom C13-1-13 "1206" "unknown" 2115.95 23238.19 180 bottom C13-1-14 "1206" "unknown" 2115.95 24738.19 180 bottom C13-2-0 "1206" "unknown" 2615.95 3738.19 180 bottom C13-2-1 "1206" "unknown" 2615.95 5238.19 180 bottom C13-2-2 "1206" "unknown" 2615.95 6738.19 180 bottom C13-2-3 "1206" "unknown" 2615.95 8238.19 180 bottom C13-2-4 "1206" "unknown" 2615.95 9738.19 180 bottom C13-2-5 "1206" "unknown" 2615.95 11238.19 180 bottom C13-2-6 "1206" "unknown" 2615.95 12738.19 180 bottom C13-2-7 "1206" "unknown" 2615.95 14238.19 180 bottom C13-2-8 "1206" "unknown" 2615.95 15738.19 180 bottom C13-2-9 "1206" "unknown" 2615.95 17238.19 180 bottom C13-2-10 "1206" "unknown" 2615.95 18738.19 180 bottom C13-2-11 "1206" "unknown" 2615.95 20238.19 180 bottom C13-2-12 "1206" "unknown" 2615.95 21738.19 180 bottom C13-2-13 "1206" "unknown" 2615.95 23238.19 180 bottom C13-2-14 "1206" "unknown" 2615.95 24738.19 180 bottom C13-3-0 "1206" "unknown" 3115.95 3738.19 180 bottom C13-3-1 "1206" "unknown" 3115.95 5238.19 180 bottom C13-3-2 "1206" "unknown" 3115.95 6738.19 180 bottom C13-3-3 "1206" "unknown" 3115.95 8238.19 180 bottom C13-3-4 "1206" "unknown" 3115.95 9738.19 180 bottom C13-3-5 "1206" "unknown" 3115.95 11238.19 180 bottom C13-3-6 "1206" "unknown" 3115.95 12738.19 180 bottom C13-3-7 "1206" "unknown" 3115.95 14238.19 180 bottom C13-3-8 "1206" "unknown" 3115.95 15738.19 180 bottom C13-3-9 "1206" "unknown" 3115.95 17238.19 180 bottom C13-3-10 "1206" "unknown" 3115.95 18738.19 180 bottom C13-3-11 "1206" "unknown" 3115.95 20238.19 180 bottom C13-3-12 "1206" "unknown" 3115.95 21738.19 180 bottom C13-3-13 "1206" "unknown" 3115.95 23238.19 180 bottom C13-3-14 "1206" "unknown" 3115.95 24738.19 180 bottom C13-4-0 "1206" "unknown" 3615.95 3738.19 180 bottom C13-4-1 "1206" "unknown" 3615.95 5238.19 180 bottom C13-4-2 "1206" "unknown" 3615.95 6738.19 180 bottom C13-4-3 "1206" "unknown" 3615.95 8238.19 180 bottom C13-4-4 "1206" "unknown" 3615.95 9738.19 180 bottom C13-4-5 "1206" "unknown" 3615.95 11238.19 180 bottom C13-4-6 "1206" "unknown" 3615.95 12738.19 180 bottom C13-4-7 "1206" "unknown" 3615.95 14238.19 180 bottom C13-4-8 "1206" "unknown" 3615.95 15738.19 180 bottom C13-4-9 "1206" "unknown" 3615.95 17238.19 180 bottom C13-4-10 "1206" "unknown" 3615.95 18738.19 180 bottom C13-4-11 "1206" "unknown" 3615.95 20238.19 180 bottom C13-4-12 "1206" "unknown" 3615.95 21738.19 180 bottom C13-4-13 "1206" "unknown" 3615.95 23238.19 180 bottom C13-4-14 "1206" "unknown" 3615.95 24738.19 180 bottom C13-5-0 "1206" "unknown" 4115.95 3738.19 180 bottom C13-5-1 "1206" "unknown" 4115.95 5238.19 180 bottom C13-5-2 "1206" "unknown" 4115.95 6738.19 180 bottom C13-5-3 "1206" "unknown" 4115.95 8238.19 180 bottom C13-5-4 "1206" "unknown" 4115.95 9738.19 180 bottom C13-5-5 "1206" "unknown" 4115.95 11238.19 180 bottom C13-5-6 "1206" "unknown" 4115.95 12738.19 180 bottom C13-5-7 "1206" "unknown" 4115.95 14238.19 180 bottom C13-5-8 "1206" "unknown" 4115.95 15738.19 180 bottom C13-5-9 "1206" "unknown" 4115.95 17238.19 180 bottom C13-5-10 "1206" "unknown" 4115.95 18738.19 180 bottom C13-5-11 "1206" "unknown" 4115.95 20238.19 180 bottom C13-5-12 "1206" "unknown" 4115.95 21738.19 180 bottom C13-5-13 "1206" "unknown" 4115.95 23238.19 180 bottom C13-5-14 "1206" "unknown" 4115.95 24738.19 180 bottom C13-6-0 "1206" "unknown" 4615.95 3738.19 180 bottom C13-6-1 "1206" "unknown" 4615.95 5238.19 180 bottom C13-6-2 "1206" "unknown" 4615.95 6738.19 180 bottom C13-6-3 "1206" "unknown" 4615.95 8238.19 180 bottom C13-6-4 "1206" "unknown" 4615.95 9738.19 180 bottom C13-6-5 "1206" "unknown" 4615.95 11238.19 180 bottom C13-6-6 "1206" "unknown" 4615.95 12738.19 180 bottom C13-6-7 "1206" "unknown" 4615.95 14238.19 180 bottom C13-6-8 "1206" "unknown" 4615.95 15738.19 180 bottom C13-6-9 "1206" "unknown" 4615.95 17238.19 180 bottom C13-6-10 "1206" "unknown" 4615.95 18738.19 180 bottom C13-6-11 "1206" "unknown" 4615.95 20238.19 180 bottom C13-6-12 "1206" "unknown" 4615.95 21738.19 180 bottom C13-6-13 "1206" "unknown" 4615.95 23238.19 180 bottom C13-6-14 "1206" "unknown" 4615.95 24738.19 180 bottom C13-7-0 "1206" "unknown" 5115.95 3738.19 180 bottom C13-7-1 "1206" "unknown" 5115.95 5238.19 180 bottom C13-7-2 "1206" "unknown" 5115.95 6738.19 180 bottom C13-7-3 "1206" "unknown" 5115.95 8238.19 180 bottom C13-7-4 "1206" "unknown" 5115.95 9738.19 180 bottom C13-7-5 "1206" "unknown" 5115.95 11238.19 180 bottom C13-7-6 "1206" "unknown" 5115.95 12738.19 180 bottom C13-7-7 "1206" "unknown" 5115.95 14238.19 180 bottom C13-7-8 "1206" "unknown" 5115.95 15738.19 180 bottom C13-7-9 "1206" "unknown" 5115.95 17238.19 180 bottom C13-7-10 "1206" "unknown" 5115.95 18738.19 180 bottom C13-7-11 "1206" "unknown" 5115.95 20238.19 180 bottom C13-7-12 "1206" "unknown" 5115.95 21738.19 180 bottom C13-7-13 "1206" "unknown" 5115.95 23238.19 180 bottom C13-7-14 "1206" "unknown" 5115.95 24738.19 180 bottom C13-8-0 "1206" "unknown" 5615.95 3738.19 180 bottom C13-8-1 "1206" "unknown" 5615.95 5238.19 180 bottom C13-8-2 "1206" "unknown" 5615.95 6738.19 180 bottom C13-8-3 "1206" "unknown" 5615.95 8238.19 180 bottom C13-8-4 "1206" "unknown" 5615.95 9738.19 180 bottom C13-8-5 "1206" "unknown" 5615.95 11238.19 180 bottom C13-8-6 "1206" "unknown" 5615.95 12738.19 180 bottom C13-8-7 "1206" "unknown" 5615.95 14238.19 180 bottom C13-8-8 "1206" "unknown" 5615.95 15738.19 180 bottom C13-8-9 "1206" "unknown" 5615.95 17238.19 180 bottom C13-8-10 "1206" "unknown" 5615.95 18738.19 180 bottom C13-8-11 "1206" "unknown" 5615.95 20238.19 180 bottom C13-8-12 "1206" "unknown" 5615.95 21738.19 180 bottom C13-8-13 "1206" "unknown" 5615.95 23238.19 180 bottom C13-8-14 "1206" "unknown" 5615.95 24738.19 180 bottom C13-9-0 "1206" "unknown" 6115.95 3738.19 180 bottom C13-9-1 "1206" "unknown" 6115.95 5238.19 180 bottom C13-9-2 "1206" "unknown" 6115.95 6738.19 180 bottom C13-9-3 "1206" "unknown" 6115.95 8238.19 180 bottom C13-9-4 "1206" "unknown" 6115.95 9738.19 180 bottom C13-9-5 "1206" "unknown" 6115.95 11238.19 180 bottom C13-9-6 "1206" "unknown" 6115.95 12738.19 180 bottom C13-9-7 "1206" "unknown" 6115.95 14238.19 180 bottom C13-9-8 "1206" "unknown" 6115.95 15738.19 180 bottom C13-9-9 "1206" "unknown" 6115.95 17238.19 180 bottom C13-9-10 "1206" "unknown" 6115.95 18738.19 180 bottom C13-9-11 "1206" "unknown" 6115.95 20238.19 180 bottom C13-9-12 "1206" "unknown" 6115.95 21738.19 180 bottom C13-9-13 "1206" "unknown" 6115.95 23238.19 180 bottom C13-9-14 "1206" "unknown" 6115.95 24738.19 180 bottom C13-10-0 "1206" "unknown" 6615.95 3738.19 180 bottom C13-10-1 "1206" "unknown" 6615.95 5238.19 180 bottom C13-10-2 "1206" "unknown" 6615.95 6738.19 180 bottom C13-10-3 "1206" "unknown" 6615.95 8238.19 180 bottom C13-10-4 "1206" "unknown" 6615.95 9738.19 180 bottom C13-10-5 "1206" "unknown" 6615.95 11238.19 180 bottom C13-10-6 "1206" "unknown" 6615.95 12738.19 180 bottom C13-10-7 "1206" "unknown" 6615.95 14238.19 180 bottom C13-10-8 "1206" "unknown" 6615.95 15738.19 180 bottom C13-10-9 "1206" "unknown" 6615.95 17238.19 180 bottom C13-10-10 "1206" "unknown" 6615.95 18738.19 180 bottom C13-10-11 "1206" "unknown" 6615.95 20238.19 180 bottom C13-10-12 "1206" "unknown" 6615.95 21738.19 180 bottom C13-10-13 "1206" "unknown" 6615.95 23238.19 180 bottom C13-10-14 "1206" "unknown" 6615.95 24738.19 180 bottom C13-11-0 "1206" "unknown" 7115.95 3738.19 180 bottom C13-11-1 "1206" "unknown" 7115.95 5238.19 180 bottom C13-11-2 "1206" "unknown" 7115.95 6738.19 180 bottom C13-11-3 "1206" "unknown" 7115.95 8238.19 180 bottom C13-11-4 "1206" "unknown" 7115.95 9738.19 180 bottom C13-11-5 "1206" "unknown" 7115.95 11238.19 180 bottom C13-11-6 "1206" "unknown" 7115.95 12738.19 180 bottom C13-11-7 "1206" "unknown" 7115.95 14238.19 180 bottom C13-11-8 "1206" "unknown" 7115.95 15738.19 180 bottom C13-11-9 "1206" "unknown" 7115.95 17238.19 180 bottom C13-11-10 "1206" "unknown" 7115.95 18738.19 180 bottom C13-11-11 "1206" "unknown" 7115.95 20238.19 180 bottom C13-11-12 "1206" "unknown" 7115.95 21738.19 180 bottom C13-11-13 "1206" "unknown" 7115.95 23238.19 180 bottom C13-11-14 "1206" "unknown" 7115.95 24738.19 180 bottom C13-12-0 "1206" "unknown" 7615.95 3738.19 180 bottom C13-12-1 "1206" "unknown" 7615.95 5238.19 180 bottom C13-12-2 "1206" "unknown" 7615.95 6738.19 180 bottom C13-12-3 "1206" "unknown" 7615.95 8238.19 180 bottom C13-12-4 "1206" "unknown" 7615.95 9738.19 180 bottom C13-12-5 "1206" "unknown" 7615.95 11238.19 180 bottom C13-12-6 "1206" "unknown" 7615.95 12738.19 180 bottom C13-12-7 "1206" "unknown" 7615.95 14238.19 180 bottom C13-12-8 "1206" "unknown" 7615.95 15738.19 180 bottom C13-12-9 "1206" "unknown" 7615.95 17238.19 180 bottom C13-12-10 "1206" "unknown" 7615.95 18738.19 180 bottom C13-12-11 "1206" "unknown" 7615.95 20238.19 180 bottom C13-12-12 "1206" "unknown" 7615.95 21738.19 180 bottom C13-12-13 "1206" "unknown" 7615.95 23238.19 180 bottom C13-12-14 "1206" "unknown" 7615.95 24738.19 180 bottom C13-13-0 "1206" "unknown" 8115.95 3738.19 180 bottom C13-13-1 "1206" "unknown" 8115.95 5238.19 180 bottom C13-13-2 "1206" "unknown" 8115.95 6738.19 180 bottom C13-13-3 "1206" "unknown" 8115.95 8238.19 180 bottom C13-13-4 "1206" "unknown" 8115.95 9738.19 180 bottom C13-13-5 "1206" "unknown" 8115.95 11238.19 180 bottom C13-13-6 "1206" "unknown" 8115.95 12738.19 180 bottom C13-13-7 "1206" "unknown" 8115.95 14238.19 180 bottom C13-13-8 "1206" "unknown" 8115.95 15738.19 180 bottom C13-13-9 "1206" "unknown" 8115.95 17238.19 180 bottom C13-13-10 "1206" "unknown" 8115.95 18738.19 180 bottom C13-13-11 "1206" "unknown" 8115.95 20238.19 180 bottom C13-13-12 "1206" "unknown" 8115.95 21738.19 180 bottom C13-13-13 "1206" "unknown" 8115.95 23238.19 180 bottom C13-13-14 "1206" "unknown" 8115.95 24738.19 180 bottom C13-14-0 "1206" "unknown" 8615.95 3738.19 180 bottom C13-14-1 "1206" "unknown" 8615.95 5238.19 180 bottom C13-14-2 "1206" "unknown" 8615.95 6738.19 180 bottom C13-14-3 "1206" "unknown" 8615.95 8238.19 180 bottom C13-14-4 "1206" "unknown" 8615.95 9738.19 180 bottom C13-14-5 "1206" "unknown" 8615.95 11238.19 180 bottom C13-14-6 "1206" "unknown" 8615.95 12738.19 180 bottom C13-14-7 "1206" "unknown" 8615.95 14238.19 180 bottom C13-14-8 "1206" "unknown" 8615.95 15738.19 180 bottom C13-14-9 "1206" "unknown" 8615.95 17238.19 180 bottom C13-14-10 "1206" "unknown" 8615.95 18738.19 180 bottom C13-14-11 "1206" "unknown" 8615.95 20238.19 180 bottom C13-14-12 "1206" "unknown" 8615.95 21738.19 180 bottom C13-14-13 "1206" "unknown" 8615.95 23238.19 180 bottom C13-14-14 "1206" "unknown" 8615.95 24738.19 180 bottom CONN3-0-0 "CONNECTOR-4-1" "unknown" 2225.00 3600.00 270 top CONN3-0-1 "CONNECTOR-4-1" "unknown" 2225 5100 270 top CONN3-0-2 "CONNECTOR-4-1" "unknown" 2225 6600 270 top CONN3-0-3 "CONNECTOR-4-1" "unknown" 2225 8100 270 top CONN3-0-4 "CONNECTOR-4-1" "unknown" 2225 9600 270 top CONN3-0-5 "CONNECTOR-4-1" "unknown" 2225 11100 270 top CONN3-0-6 "CONNECTOR-4-1" "unknown" 2225 12600 270 top CONN3-0-7 "CONNECTOR-4-1" "unknown" 2225 14100 270 top CONN3-0-8 "CONNECTOR-4-1" "unknown" 2225 15600 270 top CONN3-0-9 "CONNECTOR-4-1" "unknown" 2225 17100 270 top CONN3-0-10 "CONNECTOR-4-1" "unknown" 2225 18600 270 top CONN3-0-11 "CONNECTOR-4-1" "unknown" 2225 20100 270 top CONN3-0-12 "CONNECTOR-4-1" "unknown" 2225 21600 270 top CONN3-0-13 "CONNECTOR-4-1" "unknown" 2225 23100 270 top CONN3-0-14 "CONNECTOR-4-1" "unknown" 2225 24600 270 top CONN3-1-0 "CONNECTOR-4-1" "unknown" 2725 3600 270 top CONN3-1-1 "CONNECTOR-4-1" "unknown" 2725 5100 270 top CONN3-1-2 "CONNECTOR-4-1" "unknown" 2725 6600 270 top CONN3-1-3 "CONNECTOR-4-1" "unknown" 2725 8100 270 top CONN3-1-4 "CONNECTOR-4-1" "unknown" 2725 9600 270 top CONN3-1-5 "CONNECTOR-4-1" "unknown" 2725 11100 270 top CONN3-1-6 "CONNECTOR-4-1" "unknown" 2725 12600 270 top CONN3-1-7 "CONNECTOR-4-1" "unknown" 2725 14100 270 top CONN3-1-8 "CONNECTOR-4-1" "unknown" 2725 15600 270 top CONN3-1-9 "CONNECTOR-4-1" "unknown" 2725 17100 270 top CONN3-1-10 "CONNECTOR-4-1" "unknown" 2725 18600 270 top CONN3-1-11 "CONNECTOR-4-1" "unknown" 2725 20100 270 top CONN3-1-12 "CONNECTOR-4-1" "unknown" 2725 21600 270 top CONN3-1-13 "CONNECTOR-4-1" "unknown" 2725 23100 270 top CONN3-1-14 "CONNECTOR-4-1" "unknown" 2725 24600 270 top CONN3-2-0 "CONNECTOR-4-1" "unknown" 3225 3600 270 top CONN3-2-1 "CONNECTOR-4-1" "unknown" 3225 5100 270 top CONN3-2-2 "CONNECTOR-4-1" "unknown" 3225 6600 270 top CONN3-2-3 "CONNECTOR-4-1" "unknown" 3225 8100 270 top CONN3-2-4 "CONNECTOR-4-1" "unknown" 3225 9600 270 top CONN3-2-5 "CONNECTOR-4-1" "unknown" 3225 11100 270 top CONN3-2-6 "CONNECTOR-4-1" "unknown" 3225 12600 270 top CONN3-2-7 "CONNECTOR-4-1" "unknown" 3225 14100 270 top CONN3-2-8 "CONNECTOR-4-1" "unknown" 3225 15600 270 top CONN3-2-9 "CONNECTOR-4-1" "unknown" 3225 17100 270 top CONN3-2-10 "CONNECTOR-4-1" "unknown" 3225 18600 270 top CONN3-2-11 "CONNECTOR-4-1" "unknown" 3225 20100 270 top CONN3-2-12 "CONNECTOR-4-1" "unknown" 3225 21600 270 top CONN3-2-13 "CONNECTOR-4-1" "unknown" 3225 23100 270 top CONN3-2-14 "CONNECTOR-4-1" "unknown" 3225 24600 270 top CONN3-3-0 "CONNECTOR-4-1" "unknown" 3725 3600 270 top CONN3-3-1 "CONNECTOR-4-1" "unknown" 3725 5100 270 top CONN3-3-2 "CONNECTOR-4-1" "unknown" 3725 6600 270 top CONN3-3-3 "CONNECTOR-4-1" "unknown" 3725 8100 270 top CONN3-3-4 "CONNECTOR-4-1" "unknown" 3725 9600 270 top CONN3-3-5 "CONNECTOR-4-1" "unknown" 3725 11100 270 top CONN3-3-6 "CONNECTOR-4-1" "unknown" 3725 12600 270 top CONN3-3-7 "CONNECTOR-4-1" "unknown" 3725 14100 270 top CONN3-3-8 "CONNECTOR-4-1" "unknown" 3725 15600 270 top CONN3-3-9 "CONNECTOR-4-1" "unknown" 3725 17100 270 top CONN3-3-10 "CONNECTOR-4-1" "unknown" 3725 18600 270 top CONN3-3-11 "CONNECTOR-4-1" "unknown" 3725 20100 270 top CONN3-3-12 "CONNECTOR-4-1" "unknown" 3725 21600 270 top CONN3-3-13 "CONNECTOR-4-1" "unknown" 3725 23100 270 top CONN3-3-14 "CONNECTOR-4-1" "unknown" 3725 24600 270 top CONN3-4-0 "CONNECTOR-4-1" "unknown" 4225 3600 270 top CONN3-4-1 "CONNECTOR-4-1" "unknown" 4225 5100 270 top CONN3-4-2 "CONNECTOR-4-1" "unknown" 4225 6600 270 top CONN3-4-3 "CONNECTOR-4-1" "unknown" 4225 8100 270 top CONN3-4-4 "CONNECTOR-4-1" "unknown" 4225 9600 270 top CONN3-4-5 "CONNECTOR-4-1" "unknown" 4225 11100 270 top CONN3-4-6 "CONNECTOR-4-1" "unknown" 4225 12600 270 top CONN3-4-7 "CONNECTOR-4-1" "unknown" 4225 14100 270 top CONN3-4-8 "CONNECTOR-4-1" "unknown" 4225 15600 270 top CONN3-4-9 "CONNECTOR-4-1" "unknown" 4225 17100 270 top CONN3-4-10 "CONNECTOR-4-1" "unknown" 4225 18600 270 top CONN3-4-11 "CONNECTOR-4-1" "unknown" 4225 20100 270 top CONN3-4-12 "CONNECTOR-4-1" "unknown" 4225 21600 270 top CONN3-4-13 "CONNECTOR-4-1" "unknown" 4225 23100 270 top CONN3-4-14 "CONNECTOR-4-1" "unknown" 4225 24600 270 top CONN3-5-0 "CONNECTOR-4-1" "unknown" 4725 3600 270 top CONN3-5-1 "CONNECTOR-4-1" "unknown" 4725 5100 270 top CONN3-5-2 "CONNECTOR-4-1" "unknown" 4725 6600 270 top CONN3-5-3 "CONNECTOR-4-1" "unknown" 4725 8100 270 top CONN3-5-4 "CONNECTOR-4-1" "unknown" 4725 9600 270 top CONN3-5-5 "CONNECTOR-4-1" "unknown" 4725 11100 270 top CONN3-5-6 "CONNECTOR-4-1" "unknown" 4725 12600 270 top CONN3-5-7 "CONNECTOR-4-1" "unknown" 4725 14100 270 top CONN3-5-8 "CONNECTOR-4-1" "unknown" 4725 15600 270 top CONN3-5-9 "CONNECTOR-4-1" "unknown" 4725 17100 270 top CONN3-5-10 "CONNECTOR-4-1" "unknown" 4725 18600 270 top CONN3-5-11 "CONNECTOR-4-1" "unknown" 4725 20100 270 top CONN3-5-12 "CONNECTOR-4-1" "unknown" 4725 21600 270 top CONN3-5-13 "CONNECTOR-4-1" "unknown" 4725 23100 270 top CONN3-5-14 "CONNECTOR-4-1" "unknown" 4725 24600 270 top CONN3-6-0 "CONNECTOR-4-1" "unknown" 5225 3600 270 top CONN3-6-1 "CONNECTOR-4-1" "unknown" 5225 5100 270 top CONN3-6-2 "CONNECTOR-4-1" "unknown" 5225 6600 270 top CONN3-6-3 "CONNECTOR-4-1" "unknown" 5225 8100 270 top CONN3-6-4 "CONNECTOR-4-1" "unknown" 5225 9600 270 top CONN3-6-5 "CONNECTOR-4-1" "unknown" 5225 11100 270 top CONN3-6-6 "CONNECTOR-4-1" "unknown" 5225 12600 270 top CONN3-6-7 "CONNECTOR-4-1" "unknown" 5225 14100 270 top CONN3-6-8 "CONNECTOR-4-1" "unknown" 5225 15600 270 top CONN3-6-9 "CONNECTOR-4-1" "unknown" 5225 17100 270 top CONN3-6-10 "CONNECTOR-4-1" "unknown" 5225 18600 270 top CONN3-6-11 "CONNECTOR-4-1" "unknown" 5225 20100 270 top CONN3-6-12 "CONNECTOR-4-1" "unknown" 5225 21600 270 top CONN3-6-13 "CONNECTOR-4-1" "unknown" 5225 23100 270 top CONN3-6-14 "CONNECTOR-4-1" "unknown" 5225 24600 270 top CONN3-7-0 "CONNECTOR-4-1" "unknown" 5725 3600 270 top CONN3-7-1 "CONNECTOR-4-1" "unknown" 5725 5100 270 top CONN3-7-2 "CONNECTOR-4-1" "unknown" 5725 6600 270 top CONN3-7-3 "CONNECTOR-4-1" "unknown" 5725 8100 270 top CONN3-7-4 "CONNECTOR-4-1" "unknown" 5725 9600 270 top CONN3-7-5 "CONNECTOR-4-1" "unknown" 5725 11100 270 top CONN3-7-6 "CONNECTOR-4-1" "unknown" 5725 12600 270 top CONN3-7-7 "CONNECTOR-4-1" "unknown" 5725 14100 270 top CONN3-7-8 "CONNECTOR-4-1" "unknown" 5725 15600 270 top CONN3-7-9 "CONNECTOR-4-1" "unknown" 5725 17100 270 top CONN3-7-10 "CONNECTOR-4-1" "unknown" 5725 18600 270 top CONN3-7-11 "CONNECTOR-4-1" "unknown" 5725 20100 270 top CONN3-7-12 "CONNECTOR-4-1" "unknown" 5725 21600 270 top CONN3-7-13 "CONNECTOR-4-1" "unknown" 5725 23100 270 top CONN3-7-14 "CONNECTOR-4-1" "unknown" 5725 24600 270 top CONN3-8-0 "CONNECTOR-4-1" "unknown" 6225 3600 270 top CONN3-8-1 "CONNECTOR-4-1" "unknown" 6225 5100 270 top CONN3-8-2 "CONNECTOR-4-1" "unknown" 6225 6600 270 top CONN3-8-3 "CONNECTOR-4-1" "unknown" 6225 8100 270 top CONN3-8-4 "CONNECTOR-4-1" "unknown" 6225 9600 270 top CONN3-8-5 "CONNECTOR-4-1" "unknown" 6225 11100 270 top CONN3-8-6 "CONNECTOR-4-1" "unknown" 6225 12600 270 top CONN3-8-7 "CONNECTOR-4-1" "unknown" 6225 14100 270 top CONN3-8-8 "CONNECTOR-4-1" "unknown" 6225 15600 270 top CONN3-8-9 "CONNECTOR-4-1" "unknown" 6225 17100 270 top CONN3-8-10 "CONNECTOR-4-1" "unknown" 6225 18600 270 top CONN3-8-11 "CONNECTOR-4-1" "unknown" 6225 20100 270 top CONN3-8-12 "CONNECTOR-4-1" "unknown" 6225 21600 270 top CONN3-8-13 "CONNECTOR-4-1" "unknown" 6225 23100 270 top CONN3-8-14 "CONNECTOR-4-1" "unknown" 6225 24600 270 top CONN3-9-0 "CONNECTOR-4-1" "unknown" 6725 3600 270 top CONN3-9-1 "CONNECTOR-4-1" "unknown" 6725 5100 270 top CONN3-9-2 "CONNECTOR-4-1" "unknown" 6725 6600 270 top CONN3-9-3 "CONNECTOR-4-1" "unknown" 6725 8100 270 top CONN3-9-4 "CONNECTOR-4-1" "unknown" 6725 9600 270 top CONN3-9-5 "CONNECTOR-4-1" "unknown" 6725 11100 270 top CONN3-9-6 "CONNECTOR-4-1" "unknown" 6725 12600 270 top CONN3-9-7 "CONNECTOR-4-1" "unknown" 6725 14100 270 top CONN3-9-8 "CONNECTOR-4-1" "unknown" 6725 15600 270 top CONN3-9-9 "CONNECTOR-4-1" "unknown" 6725 17100 270 top CONN3-9-10 "CONNECTOR-4-1" "unknown" 6725 18600 270 top CONN3-9-11 "CONNECTOR-4-1" "unknown" 6725 20100 270 top CONN3-9-12 "CONNECTOR-4-1" "unknown" 6725 21600 270 top CONN3-9-13 "CONNECTOR-4-1" "unknown" 6725 23100 270 top CONN3-9-14 "CONNECTOR-4-1" "unknown" 6725 24600 270 top CONN3-10-0 "CONNECTOR-4-1" "unknown" 7225 3600 270 top CONN3-10-1 "CONNECTOR-4-1" "unknown" 7225 5100 270 top CONN3-10-2 "CONNECTOR-4-1" "unknown" 7225 6600 270 top CONN3-10-3 "CONNECTOR-4-1" "unknown" 7225 8100 270 top CONN3-10-4 "CONNECTOR-4-1" "unknown" 7225 9600 270 top CONN3-10-5 "CONNECTOR-4-1" "unknown" 7225 11100 270 top CONN3-10-6 "CONNECTOR-4-1" "unknown" 7225 12600 270 top CONN3-10-7 "CONNECTOR-4-1" "unknown" 7225 14100 270 top CONN3-10-8 "CONNECTOR-4-1" "unknown" 7225 15600 270 top CONN3-10-9 "CONNECTOR-4-1" "unknown" 7225 17100 270 top CONN3-10-10 "CONNECTOR-4-1" "unknown" 7225 18600 270 top CONN3-10-11 "CONNECTOR-4-1" "unknown" 7225 20100 270 top CONN3-10-12 "CONNECTOR-4-1" "unknown" 7225 21600 270 top CONN3-10-13 "CONNECTOR-4-1" "unknown" 7225 23100 270 top CONN3-10-14 "CONNECTOR-4-1" "unknown" 7225 24600 270 top CONN3-11-0 "CONNECTOR-4-1" "unknown" 7725 3600 270 top CONN3-11-1 "CONNECTOR-4-1" "unknown" 7725 5100 270 top CONN3-11-2 "CONNECTOR-4-1" "unknown" 7725 6600 270 top CONN3-11-3 "CONNECTOR-4-1" "unknown" 7725 8100 270 top CONN3-11-4 "CONNECTOR-4-1" "unknown" 7725 9600 270 top CONN3-11-5 "CONNECTOR-4-1" "unknown" 7725 11100 270 top CONN3-11-6 "CONNECTOR-4-1" "unknown" 7725 12600 270 top CONN3-11-7 "CONNECTOR-4-1" "unknown" 7725 14100 270 top CONN3-11-8 "CONNECTOR-4-1" "unknown" 7725 15600 270 top CONN3-11-9 "CONNECTOR-4-1" "unknown" 7725 17100 270 top CONN3-11-10 "CONNECTOR-4-1" "unknown" 7725 18600 270 top CONN3-11-11 "CONNECTOR-4-1" "unknown" 7725 20100 270 top CONN3-11-12 "CONNECTOR-4-1" "unknown" 7725 21600 270 top CONN3-11-13 "CONNECTOR-4-1" "unknown" 7725 23100 270 top CONN3-11-14 "CONNECTOR-4-1" "unknown" 7725 24600 270 top CONN3-12-0 "CONNECTOR-4-1" "unknown" 8225 3600 270 top CONN3-12-1 "CONNECTOR-4-1" "unknown" 8225 5100 270 top CONN3-12-2 "CONNECTOR-4-1" "unknown" 8225 6600 270 top CONN3-12-3 "CONNECTOR-4-1" "unknown" 8225 8100 270 top CONN3-12-4 "CONNECTOR-4-1" "unknown" 8225 9600 270 top CONN3-12-5 "CONNECTOR-4-1" "unknown" 8225 11100 270 top CONN3-12-6 "CONNECTOR-4-1" "unknown" 8225 12600 270 top CONN3-12-7 "CONNECTOR-4-1" "unknown" 8225 14100 270 top CONN3-12-8 "CONNECTOR-4-1" "unknown" 8225 15600 270 top CONN3-12-9 "CONNECTOR-4-1" "unknown" 8225 17100 270 top CONN3-12-10 "CONNECTOR-4-1" "unknown" 8225 18600 270 top CONN3-12-11 "CONNECTOR-4-1" "unknown" 8225 20100 270 top CONN3-12-12 "CONNECTOR-4-1" "unknown" 8225 21600 270 top CONN3-12-13 "CONNECTOR-4-1" "unknown" 8225 23100 270 top CONN3-12-14 "CONNECTOR-4-1" "unknown" 8225 24600 270 top CONN3-13-0 "CONNECTOR-4-1" "unknown" 8725 3600 270 top CONN3-13-1 "CONNECTOR-4-1" "unknown" 8725 5100 270 top CONN3-13-2 "CONNECTOR-4-1" "unknown" 8725 6600 270 top CONN3-13-3 "CONNECTOR-4-1" "unknown" 8725 8100 270 top CONN3-13-4 "CONNECTOR-4-1" "unknown" 8725 9600 270 top CONN3-13-5 "CONNECTOR-4-1" "unknown" 8725 11100 270 top CONN3-13-6 "CONNECTOR-4-1" "unknown" 8725 12600 270 top CONN3-13-7 "CONNECTOR-4-1" "unknown" 8725 14100 270 top CONN3-13-8 "CONNECTOR-4-1" "unknown" 8725 15600 270 top CONN3-13-9 "CONNECTOR-4-1" "unknown" 8725 17100 270 top CONN3-13-10 "CONNECTOR-4-1" "unknown" 8725 18600 270 top CONN3-13-11 "CONNECTOR-4-1" "unknown" 8725 20100 270 top CONN3-13-12 "CONNECTOR-4-1" "unknown" 8725 21600 270 top CONN3-13-13 "CONNECTOR-4-1" "unknown" 8725 23100 270 top CONN3-13-14 "CONNECTOR-4-1" "unknown" 8725 24600 270 top CONN3-14-0 "CONNECTOR-4-1" "unknown" 9225 3600 270 top CONN3-14-1 "CONNECTOR-4-1" "unknown" 9225 5100 270 top CONN3-14-2 "CONNECTOR-4-1" "unknown" 9225 6600 270 top CONN3-14-3 "CONNECTOR-4-1" "unknown" 9225 8100 270 top CONN3-14-4 "CONNECTOR-4-1" "unknown" 9225 9600 270 top CONN3-14-5 "CONNECTOR-4-1" "unknown" 9225 11100 270 top CONN3-14-6 "CONNECTOR-4-1" "unknown" 9225 12600 270 top CONN3-14-7 "CONNECTOR-4-1" "unknown" 9225 14100 270 top CONN3-14-8 "CONNECTOR-4-1" "unknown" 9225 15600 270 top CONN3-14-9 "CONNECTOR-4-1" "unknown" 9225 17100 270 top CONN3-14-10 "CONNECTOR-4-1" "unknown" 9225 18600 270 top CONN3-14-11 "CONNECTOR-4-1" "unknown" 9225 20100 270 top CONN3-14-12 "CONNECTOR-4-1" "unknown" 9225 21600 270 top CONN3-14-13 "CONNECTOR-4-1" "unknown" 9225 23100 270 top CONN3-14-14 "CONNECTOR-4-1" "unknown" 9225 24600 270 top C12-0-0 "1206" "unknown" 1438.19 3834.05 270 bottom C12-0-1 "1206" "unknown" 1438.19 5334.05 270 bottom C12-0-2 "1206" "unknown" 1438.19 6834.05 270 bottom C12-0-3 "1206" "unknown" 1438.19 8334.05 270 bottom C12-0-4 "1206" "unknown" 1438.19 9834.05 270 bottom C12-0-5 "1206" "unknown" 1438.19 11334.05 270 bottom C12-0-6 "1206" "unknown" 1438.19 12834.05 270 bottom C12-0-7 "1206" "unknown" 1438.19 14334.05 270 bottom C12-0-8 "1206" "unknown" 1438.19 15834.05 270 bottom C12-0-9 "1206" "unknown" 1438.19 17334.05 270 bottom C12-0-10 "1206" "unknown" 1438.19 18834.05 270 bottom C12-0-11 "1206" "unknown" 1438.19 20334.05 270 bottom C12-0-12 "1206" "unknown" 1438.19 21834.05 270 bottom C12-0-13 "1206" "unknown" 1438.19 23334.05 270 bottom C12-0-14 "1206" "unknown" 1438.19 24834.05 270 bottom C12-1-0 "1206" "unknown" 1938.19 3834.05 270 bottom C12-1-1 "1206" "unknown" 1938.19 5334.05 270 bottom C12-1-2 "1206" "unknown" 1938.19 6834.05 270 bottom C12-1-3 "1206" "unknown" 1938.19 8334.05 270 bottom C12-1-4 "1206" "unknown" 1938.19 9834.05 270 bottom C12-1-5 "1206" "unknown" 1938.19 11334.05 270 bottom C12-1-6 "1206" "unknown" 1938.19 12834.05 270 bottom C12-1-7 "1206" "unknown" 1938.19 14334.05 270 bottom C12-1-8 "1206" "unknown" 1938.19 15834.05 270 bottom C12-1-9 "1206" "unknown" 1938.19 17334.05 270 bottom C12-1-10 "1206" "unknown" 1938.19 18834.05 270 bottom C12-1-11 "1206" "unknown" 1938.19 20334.05 270 bottom C12-1-12 "1206" "unknown" 1938.19 21834.05 270 bottom C12-1-13 "1206" "unknown" 1938.19 23334.05 270 bottom C12-1-14 "1206" "unknown" 1938.19 24834.05 270 bottom C12-2-0 "1206" "unknown" 2438.19 3834.05 270 bottom C12-2-1 "1206" "unknown" 2438.19 5334.05 270 bottom C12-2-2 "1206" "unknown" 2438.19 6834.05 270 bottom C12-2-3 "1206" "unknown" 2438.19 8334.05 270 bottom C12-2-4 "1206" "unknown" 2438.19 9834.05 270 bottom C12-2-5 "1206" "unknown" 2438.19 11334.05 270 bottom C12-2-6 "1206" "unknown" 2438.19 12834.05 270 bottom C12-2-7 "1206" "unknown" 2438.19 14334.05 270 bottom C12-2-8 "1206" "unknown" 2438.19 15834.05 270 bottom C12-2-9 "1206" "unknown" 2438.19 17334.05 270 bottom C12-2-10 "1206" "unknown" 2438.19 18834.05 270 bottom C12-2-11 "1206" "unknown" 2438.19 20334.05 270 bottom C12-2-12 "1206" "unknown" 2438.19 21834.05 270 bottom C12-2-13 "1206" "unknown" 2438.19 23334.05 270 bottom C12-2-14 "1206" "unknown" 2438.19 24834.05 270 bottom C12-3-0 "1206" "unknown" 2938.19 3834.05 270 bottom C12-3-1 "1206" "unknown" 2938.19 5334.05 270 bottom C12-3-2 "1206" "unknown" 2938.19 6834.05 270 bottom C12-3-3 "1206" "unknown" 2938.19 8334.05 270 bottom C12-3-4 "1206" "unknown" 2938.19 9834.05 270 bottom C12-3-5 "1206" "unknown" 2938.19 11334.05 270 bottom C12-3-6 "1206" "unknown" 2938.19 12834.05 270 bottom C12-3-7 "1206" "unknown" 2938.19 14334.05 270 bottom C12-3-8 "1206" "unknown" 2938.19 15834.05 270 bottom C12-3-9 "1206" "unknown" 2938.19 17334.05 270 bottom C12-3-10 "1206" "unknown" 2938.19 18834.05 270 bottom C12-3-11 "1206" "unknown" 2938.19 20334.05 270 bottom C12-3-12 "1206" "unknown" 2938.19 21834.05 270 bottom C12-3-13 "1206" "unknown" 2938.19 23334.05 270 bottom C12-3-14 "1206" "unknown" 2938.19 24834.05 270 bottom C12-4-0 "1206" "unknown" 3438.19 3834.05 270 bottom C12-4-1 "1206" "unknown" 3438.19 5334.05 270 bottom C12-4-2 "1206" "unknown" 3438.19 6834.05 270 bottom C12-4-3 "1206" "unknown" 3438.19 8334.05 270 bottom C12-4-4 "1206" "unknown" 3438.19 9834.05 270 bottom C12-4-5 "1206" "unknown" 3438.19 11334.05 270 bottom C12-4-6 "1206" "unknown" 3438.19 12834.05 270 bottom C12-4-7 "1206" "unknown" 3438.19 14334.05 270 bottom C12-4-8 "1206" "unknown" 3438.19 15834.05 270 bottom C12-4-9 "1206" "unknown" 3438.19 17334.05 270 bottom C12-4-10 "1206" "unknown" 3438.19 18834.05 270 bottom C12-4-11 "1206" "unknown" 3438.19 20334.05 270 bottom C12-4-12 "1206" "unknown" 3438.19 21834.05 270 bottom C12-4-13 "1206" "unknown" 3438.19 23334.05 270 bottom C12-4-14 "1206" "unknown" 3438.19 24834.05 270 bottom C12-5-0 "1206" "unknown" 3938.19 3834.05 270 bottom C12-5-1 "1206" "unknown" 3938.19 5334.05 270 bottom C12-5-2 "1206" "unknown" 3938.19 6834.05 270 bottom C12-5-3 "1206" "unknown" 3938.19 8334.05 270 bottom C12-5-4 "1206" "unknown" 3938.19 9834.05 270 bottom C12-5-5 "1206" "unknown" 3938.19 11334.05 270 bottom C12-5-6 "1206" "unknown" 3938.19 12834.05 270 bottom C12-5-7 "1206" "unknown" 3938.19 14334.05 270 bottom C12-5-8 "1206" "unknown" 3938.19 15834.05 270 bottom C12-5-9 "1206" "unknown" 3938.19 17334.05 270 bottom C12-5-10 "1206" "unknown" 3938.19 18834.05 270 bottom C12-5-11 "1206" "unknown" 3938.19 20334.05 270 bottom C12-5-12 "1206" "unknown" 3938.19 21834.05 270 bottom C12-5-13 "1206" "unknown" 3938.19 23334.05 270 bottom C12-5-14 "1206" "unknown" 3938.19 24834.05 270 bottom C12-6-0 "1206" "unknown" 4438.19 3834.05 270 bottom C12-6-1 "1206" "unknown" 4438.19 5334.05 270 bottom C12-6-2 "1206" "unknown" 4438.19 6834.05 270 bottom C12-6-3 "1206" "unknown" 4438.19 8334.05 270 bottom C12-6-4 "1206" "unknown" 4438.19 9834.05 270 bottom C12-6-5 "1206" "unknown" 4438.19 11334.05 270 bottom C12-6-6 "1206" "unknown" 4438.19 12834.05 270 bottom C12-6-7 "1206" "unknown" 4438.19 14334.05 270 bottom C12-6-8 "1206" "unknown" 4438.19 15834.05 270 bottom C12-6-9 "1206" "unknown" 4438.19 17334.05 270 bottom C12-6-10 "1206" "unknown" 4438.19 18834.05 270 bottom C12-6-11 "1206" "unknown" 4438.19 20334.05 270 bottom C12-6-12 "1206" "unknown" 4438.19 21834.05 270 bottom C12-6-13 "1206" "unknown" 4438.19 23334.05 270 bottom C12-6-14 "1206" "unknown" 4438.19 24834.05 270 bottom C12-7-0 "1206" "unknown" 4938.19 3834.05 270 bottom C12-7-1 "1206" "unknown" 4938.19 5334.05 270 bottom C12-7-2 "1206" "unknown" 4938.19 6834.05 270 bottom C12-7-3 "1206" "unknown" 4938.19 8334.05 270 bottom C12-7-4 "1206" "unknown" 4938.19 9834.05 270 bottom C12-7-5 "1206" "unknown" 4938.19 11334.05 270 bottom C12-7-6 "1206" "unknown" 4938.19 12834.05 270 bottom C12-7-7 "1206" "unknown" 4938.19 14334.05 270 bottom C12-7-8 "1206" "unknown" 4938.19 15834.05 270 bottom C12-7-9 "1206" "unknown" 4938.19 17334.05 270 bottom C12-7-10 "1206" "unknown" 4938.19 18834.05 270 bottom C12-7-11 "1206" "unknown" 4938.19 20334.05 270 bottom C12-7-12 "1206" "unknown" 4938.19 21834.05 270 bottom C12-7-13 "1206" "unknown" 4938.19 23334.05 270 bottom C12-7-14 "1206" "unknown" 4938.19 24834.05 270 bottom C12-8-0 "1206" "unknown" 5438.19 3834.05 270 bottom C12-8-1 "1206" "unknown" 5438.19 5334.05 270 bottom C12-8-2 "1206" "unknown" 5438.19 6834.05 270 bottom C12-8-3 "1206" "unknown" 5438.19 8334.05 270 bottom C12-8-4 "1206" "unknown" 5438.19 9834.05 270 bottom C12-8-5 "1206" "unknown" 5438.19 11334.05 270 bottom C12-8-6 "1206" "unknown" 5438.19 12834.05 270 bottom C12-8-7 "1206" "unknown" 5438.19 14334.05 270 bottom C12-8-8 "1206" "unknown" 5438.19 15834.05 270 bottom C12-8-9 "1206" "unknown" 5438.19 17334.05 270 bottom C12-8-10 "1206" "unknown" 5438.19 18834.05 270 bottom C12-8-11 "1206" "unknown" 5438.19 20334.05 270 bottom C12-8-12 "1206" "unknown" 5438.19 21834.05 270 bottom C12-8-13 "1206" "unknown" 5438.19 23334.05 270 bottom C12-8-14 "1206" "unknown" 5438.19 24834.05 270 bottom C12-9-0 "1206" "unknown" 5938.19 3834.05 270 bottom C12-9-1 "1206" "unknown" 5938.19 5334.05 270 bottom C12-9-2 "1206" "unknown" 5938.19 6834.05 270 bottom C12-9-3 "1206" "unknown" 5938.19 8334.05 270 bottom C12-9-4 "1206" "unknown" 5938.19 9834.05 270 bottom C12-9-5 "1206" "unknown" 5938.19 11334.05 270 bottom C12-9-6 "1206" "unknown" 5938.19 12834.05 270 bottom C12-9-7 "1206" "unknown" 5938.19 14334.05 270 bottom C12-9-8 "1206" "unknown" 5938.19 15834.05 270 bottom C12-9-9 "1206" "unknown" 5938.19 17334.05 270 bottom C12-9-10 "1206" "unknown" 5938.19 18834.05 270 bottom C12-9-11 "1206" "unknown" 5938.19 20334.05 270 bottom C12-9-12 "1206" "unknown" 5938.19 21834.05 270 bottom C12-9-13 "1206" "unknown" 5938.19 23334.05 270 bottom C12-9-14 "1206" "unknown" 5938.19 24834.05 270 bottom C12-10-0 "1206" "unknown" 6438.19 3834.05 270 bottom C12-10-1 "1206" "unknown" 6438.19 5334.05 270 bottom C12-10-2 "1206" "unknown" 6438.19 6834.05 270 bottom C12-10-3 "1206" "unknown" 6438.19 8334.05 270 bottom C12-10-4 "1206" "unknown" 6438.19 9834.05 270 bottom C12-10-5 "1206" "unknown" 6438.19 11334.05 270 bottom C12-10-6 "1206" "unknown" 6438.19 12834.05 270 bottom C12-10-7 "1206" "unknown" 6438.19 14334.05 270 bottom C12-10-8 "1206" "unknown" 6438.19 15834.05 270 bottom C12-10-9 "1206" "unknown" 6438.19 17334.05 270 bottom C12-10-10 "1206" "unknown" 6438.19 18834.05 270 bottom C12-10-11 "1206" "unknown" 6438.19 20334.05 270 bottom C12-10-12 "1206" "unknown" 6438.19 21834.05 270 bottom C12-10-13 "1206" "unknown" 6438.19 23334.05 270 bottom C12-10-14 "1206" "unknown" 6438.19 24834.05 270 bottom C12-11-0 "1206" "unknown" 6938.19 3834.05 270 bottom C12-11-1 "1206" "unknown" 6938.19 5334.05 270 bottom C12-11-2 "1206" "unknown" 6938.19 6834.05 270 bottom C12-11-3 "1206" "unknown" 6938.19 8334.05 270 bottom C12-11-4 "1206" "unknown" 6938.19 9834.05 270 bottom C12-11-5 "1206" "unknown" 6938.19 11334.05 270 bottom C12-11-6 "1206" "unknown" 6938.19 12834.05 270 bottom C12-11-7 "1206" "unknown" 6938.19 14334.05 270 bottom C12-11-8 "1206" "unknown" 6938.19 15834.05 270 bottom C12-11-9 "1206" "unknown" 6938.19 17334.05 270 bottom C12-11-10 "1206" "unknown" 6938.19 18834.05 270 bottom C12-11-11 "1206" "unknown" 6938.19 20334.05 270 bottom C12-11-12 "1206" "unknown" 6938.19 21834.05 270 bottom C12-11-13 "1206" "unknown" 6938.19 23334.05 270 bottom C12-11-14 "1206" "unknown" 6938.19 24834.05 270 bottom C12-12-0 "1206" "unknown" 7438.19 3834.05 270 bottom C12-12-1 "1206" "unknown" 7438.19 5334.05 270 bottom C12-12-2 "1206" "unknown" 7438.19 6834.05 270 bottom C12-12-3 "1206" "unknown" 7438.19 8334.05 270 bottom C12-12-4 "1206" "unknown" 7438.19 9834.05 270 bottom C12-12-5 "1206" "unknown" 7438.19 11334.05 270 bottom C12-12-6 "1206" "unknown" 7438.19 12834.05 270 bottom C12-12-7 "1206" "unknown" 7438.19 14334.05 270 bottom C12-12-8 "1206" "unknown" 7438.19 15834.05 270 bottom C12-12-9 "1206" "unknown" 7438.19 17334.05 270 bottom C12-12-10 "1206" "unknown" 7438.19 18834.05 270 bottom C12-12-11 "1206" "unknown" 7438.19 20334.05 270 bottom C12-12-12 "1206" "unknown" 7438.19 21834.05 270 bottom C12-12-13 "1206" "unknown" 7438.19 23334.05 270 bottom C12-12-14 "1206" "unknown" 7438.19 24834.05 270 bottom C12-13-0 "1206" "unknown" 7938.19 3834.05 270 bottom C12-13-1 "1206" "unknown" 7938.19 5334.05 270 bottom C12-13-2 "1206" "unknown" 7938.19 6834.05 270 bottom C12-13-3 "1206" "unknown" 7938.19 8334.05 270 bottom C12-13-4 "1206" "unknown" 7938.19 9834.05 270 bottom C12-13-5 "1206" "unknown" 7938.19 11334.05 270 bottom C12-13-6 "1206" "unknown" 7938.19 12834.05 270 bottom C12-13-7 "1206" "unknown" 7938.19 14334.05 270 bottom C12-13-8 "1206" "unknown" 7938.19 15834.05 270 bottom C12-13-9 "1206" "unknown" 7938.19 17334.05 270 bottom C12-13-10 "1206" "unknown" 7938.19 18834.05 270 bottom C12-13-11 "1206" "unknown" 7938.19 20334.05 270 bottom C12-13-12 "1206" "unknown" 7938.19 21834.05 270 bottom C12-13-13 "1206" "unknown" 7938.19 23334.05 270 bottom C12-13-14 "1206" "unknown" 7938.19 24834.05 270 bottom C12-14-0 "1206" "unknown" 8438.19 3834.05 270 bottom C12-14-1 "1206" "unknown" 8438.19 5334.05 270 bottom C12-14-2 "1206" "unknown" 8438.19 6834.05 270 bottom C12-14-3 "1206" "unknown" 8438.19 8334.05 270 bottom C12-14-4 "1206" "unknown" 8438.19 9834.05 270 bottom C12-14-5 "1206" "unknown" 8438.19 11334.05 270 bottom C12-14-6 "1206" "unknown" 8438.19 12834.05 270 bottom C12-14-7 "1206" "unknown" 8438.19 14334.05 270 bottom C12-14-8 "1206" "unknown" 8438.19 15834.05 270 bottom C12-14-9 "1206" "unknown" 8438.19 17334.05 270 bottom C12-14-10 "1206" "unknown" 8438.19 18834.05 270 bottom C12-14-11 "1206" "unknown" 8438.19 20334.05 270 bottom C12-14-12 "1206" "unknown" 8438.19 21834.05 270 bottom C12-14-13 "1206" "unknown" 8438.19 23334.05 270 bottom C12-14-14 "1206" "unknown" 8438.19 24834.05 270 bottom U2-0-0 "TO220" "unknown" 1342.50 4175.00 90 top U2-0-1 "TO220" "unknown" 1342.5 5675 90 top U2-0-2 "TO220" "unknown" 1342.5 7175 90 top U2-0-3 "TO220" "unknown" 1342.5 8675 90 top U2-0-4 "TO220" "unknown" 1342.5 10175 90 top U2-0-5 "TO220" "unknown" 1342.5 11675 90 top U2-0-6 "TO220" "unknown" 1342.5 13175 90 top U2-0-7 "TO220" "unknown" 1342.5 14675 90 top U2-0-8 "TO220" "unknown" 1342.5 16175 90 top U2-0-9 "TO220" "unknown" 1342.5 17675 90 top U2-0-10 "TO220" "unknown" 1342.5 19175 90 top U2-0-11 "TO220" "unknown" 1342.5 20675 90 top U2-0-12 "TO220" "unknown" 1342.5 22175 90 top U2-0-13 "TO220" "unknown" 1342.5 23675 90 top U2-0-14 "TO220" "unknown" 1342.5 25175 90 top U2-1-0 "TO220" "unknown" 1842.5 4175 90 top U2-1-1 "TO220" "unknown" 1842.5 5675 90 top U2-1-2 "TO220" "unknown" 1842.5 7175 90 top U2-1-3 "TO220" "unknown" 1842.5 8675 90 top U2-1-4 "TO220" "unknown" 1842.5 10175 90 top U2-1-5 "TO220" "unknown" 1842.5 11675 90 top U2-1-6 "TO220" "unknown" 1842.5 13175 90 top U2-1-7 "TO220" "unknown" 1842.5 14675 90 top U2-1-8 "TO220" "unknown" 1842.5 16175 90 top U2-1-9 "TO220" "unknown" 1842.5 17675 90 top U2-1-10 "TO220" "unknown" 1842.5 19175 90 top U2-1-11 "TO220" "unknown" 1842.5 20675 90 top U2-1-12 "TO220" "unknown" 1842.5 22175 90 top U2-1-13 "TO220" "unknown" 1842.5 23675 90 top U2-1-14 "TO220" "unknown" 1842.5 25175 90 top U2-2-0 "TO220" "unknown" 2342.5 4175 90 top U2-2-1 "TO220" "unknown" 2342.5 5675 90 top U2-2-2 "TO220" "unknown" 2342.5 7175 90 top U2-2-3 "TO220" "unknown" 2342.5 8675 90 top U2-2-4 "TO220" "unknown" 2342.5 10175 90 top U2-2-5 "TO220" "unknown" 2342.5 11675 90 top U2-2-6 "TO220" "unknown" 2342.5 13175 90 top U2-2-7 "TO220" "unknown" 2342.5 14675 90 top U2-2-8 "TO220" "unknown" 2342.5 16175 90 top U2-2-9 "TO220" "unknown" 2342.5 17675 90 top U2-2-10 "TO220" "unknown" 2342.5 19175 90 top U2-2-11 "TO220" "unknown" 2342.5 20675 90 top U2-2-12 "TO220" "unknown" 2342.5 22175 90 top U2-2-13 "TO220" "unknown" 2342.5 23675 90 top U2-2-14 "TO220" "unknown" 2342.5 25175 90 top U2-3-0 "TO220" "unknown" 2842.5 4175 90 top U2-3-1 "TO220" "unknown" 2842.5 5675 90 top U2-3-2 "TO220" "unknown" 2842.5 7175 90 top U2-3-3 "TO220" "unknown" 2842.5 8675 90 top U2-3-4 "TO220" "unknown" 2842.5 10175 90 top U2-3-5 "TO220" "unknown" 2842.5 11675 90 top U2-3-6 "TO220" "unknown" 2842.5 13175 90 top U2-3-7 "TO220" "unknown" 2842.5 14675 90 top U2-3-8 "TO220" "unknown" 2842.5 16175 90 top U2-3-9 "TO220" "unknown" 2842.5 17675 90 top U2-3-10 "TO220" "unknown" 2842.5 19175 90 top U2-3-11 "TO220" "unknown" 2842.5 20675 90 top U2-3-12 "TO220" "unknown" 2842.5 22175 90 top U2-3-13 "TO220" "unknown" 2842.5 23675 90 top U2-3-14 "TO220" "unknown" 2842.5 25175 90 top U2-4-0 "TO220" "unknown" 3342.5 4175 90 top U2-4-1 "TO220" "unknown" 3342.5 5675 90 top U2-4-2 "TO220" "unknown" 3342.5 7175 90 top U2-4-3 "TO220" "unknown" 3342.5 8675 90 top U2-4-4 "TO220" "unknown" 3342.5 10175 90 top U2-4-5 "TO220" "unknown" 3342.5 11675 90 top U2-4-6 "TO220" "unknown" 3342.5 13175 90 top U2-4-7 "TO220" "unknown" 3342.5 14675 90 top U2-4-8 "TO220" "unknown" 3342.5 16175 90 top U2-4-9 "TO220" "unknown" 3342.5 17675 90 top U2-4-10 "TO220" "unknown" 3342.5 19175 90 top U2-4-11 "TO220" "unknown" 3342.5 20675 90 top U2-4-12 "TO220" "unknown" 3342.5 22175 90 top U2-4-13 "TO220" "unknown" 3342.5 23675 90 top U2-4-14 "TO220" "unknown" 3342.5 25175 90 top U2-5-0 "TO220" "unknown" 3842.5 4175 90 top U2-5-1 "TO220" "unknown" 3842.5 5675 90 top U2-5-2 "TO220" "unknown" 3842.5 7175 90 top U2-5-3 "TO220" "unknown" 3842.5 8675 90 top U2-5-4 "TO220" "unknown" 3842.5 10175 90 top U2-5-5 "TO220" "unknown" 3842.5 11675 90 top U2-5-6 "TO220" "unknown" 3842.5 13175 90 top U2-5-7 "TO220" "unknown" 3842.5 14675 90 top U2-5-8 "TO220" "unknown" 3842.5 16175 90 top U2-5-9 "TO220" "unknown" 3842.5 17675 90 top U2-5-10 "TO220" "unknown" 3842.5 19175 90 top U2-5-11 "TO220" "unknown" 3842.5 20675 90 top U2-5-12 "TO220" "unknown" 3842.5 22175 90 top U2-5-13 "TO220" "unknown" 3842.5 23675 90 top U2-5-14 "TO220" "unknown" 3842.5 25175 90 top U2-6-0 "TO220" "unknown" 4342.5 4175 90 top U2-6-1 "TO220" "unknown" 4342.5 5675 90 top U2-6-2 "TO220" "unknown" 4342.5 7175 90 top U2-6-3 "TO220" "unknown" 4342.5 8675 90 top U2-6-4 "TO220" "unknown" 4342.5 10175 90 top U2-6-5 "TO220" "unknown" 4342.5 11675 90 top U2-6-6 "TO220" "unknown" 4342.5 13175 90 top U2-6-7 "TO220" "unknown" 4342.5 14675 90 top U2-6-8 "TO220" "unknown" 4342.5 16175 90 top U2-6-9 "TO220" "unknown" 4342.5 17675 90 top U2-6-10 "TO220" "unknown" 4342.5 19175 90 top U2-6-11 "TO220" "unknown" 4342.5 20675 90 top U2-6-12 "TO220" "unknown" 4342.5 22175 90 top U2-6-13 "TO220" "unknown" 4342.5 23675 90 top U2-6-14 "TO220" "unknown" 4342.5 25175 90 top U2-7-0 "TO220" "unknown" 4842.5 4175 90 top U2-7-1 "TO220" "unknown" 4842.5 5675 90 top U2-7-2 "TO220" "unknown" 4842.5 7175 90 top U2-7-3 "TO220" "unknown" 4842.5 8675 90 top U2-7-4 "TO220" "unknown" 4842.5 10175 90 top U2-7-5 "TO220" "unknown" 4842.5 11675 90 top U2-7-6 "TO220" "unknown" 4842.5 13175 90 top U2-7-7 "TO220" "unknown" 4842.5 14675 90 top U2-7-8 "TO220" "unknown" 4842.5 16175 90 top U2-7-9 "TO220" "unknown" 4842.5 17675 90 top U2-7-10 "TO220" "unknown" 4842.5 19175 90 top U2-7-11 "TO220" "unknown" 4842.5 20675 90 top U2-7-12 "TO220" "unknown" 4842.5 22175 90 top U2-7-13 "TO220" "unknown" 4842.5 23675 90 top U2-7-14 "TO220" "unknown" 4842.5 25175 90 top U2-8-0 "TO220" "unknown" 5342.5 4175 90 top U2-8-1 "TO220" "unknown" 5342.5 5675 90 top U2-8-2 "TO220" "unknown" 5342.5 7175 90 top U2-8-3 "TO220" "unknown" 5342.5 8675 90 top U2-8-4 "TO220" "unknown" 5342.5 10175 90 top U2-8-5 "TO220" "unknown" 5342.5 11675 90 top U2-8-6 "TO220" "unknown" 5342.5 13175 90 top U2-8-7 "TO220" "unknown" 5342.5 14675 90 top U2-8-8 "TO220" "unknown" 5342.5 16175 90 top U2-8-9 "TO220" "unknown" 5342.5 17675 90 top U2-8-10 "TO220" "unknown" 5342.5 19175 90 top U2-8-11 "TO220" "unknown" 5342.5 20675 90 top U2-8-12 "TO220" "unknown" 5342.5 22175 90 top U2-8-13 "TO220" "unknown" 5342.5 23675 90 top U2-8-14 "TO220" "unknown" 5342.5 25175 90 top U2-9-0 "TO220" "unknown" 5842.5 4175 90 top U2-9-1 "TO220" "unknown" 5842.5 5675 90 top U2-9-2 "TO220" "unknown" 5842.5 7175 90 top U2-9-3 "TO220" "unknown" 5842.5 8675 90 top U2-9-4 "TO220" "unknown" 5842.5 10175 90 top U2-9-5 "TO220" "unknown" 5842.5 11675 90 top U2-9-6 "TO220" "unknown" 5842.5 13175 90 top U2-9-7 "TO220" "unknown" 5842.5 14675 90 top U2-9-8 "TO220" "unknown" 5842.5 16175 90 top U2-9-9 "TO220" "unknown" 5842.5 17675 90 top U2-9-10 "TO220" "unknown" 5842.5 19175 90 top U2-9-11 "TO220" "unknown" 5842.5 20675 90 top U2-9-12 "TO220" "unknown" 5842.5 22175 90 top U2-9-13 "TO220" "unknown" 5842.5 23675 90 top U2-9-14 "TO220" "unknown" 5842.5 25175 90 top U2-10-0 "TO220" "unknown" 6342.5 4175 90 top U2-10-1 "TO220" "unknown" 6342.5 5675 90 top U2-10-2 "TO220" "unknown" 6342.5 7175 90 top U2-10-3 "TO220" "unknown" 6342.5 8675 90 top U2-10-4 "TO220" "unknown" 6342.5 10175 90 top U2-10-5 "TO220" "unknown" 6342.5 11675 90 top U2-10-6 "TO220" "unknown" 6342.5 13175 90 top U2-10-7 "TO220" "unknown" 6342.5 14675 90 top U2-10-8 "TO220" "unknown" 6342.5 16175 90 top U2-10-9 "TO220" "unknown" 6342.5 17675 90 top U2-10-10 "TO220" "unknown" 6342.5 19175 90 top U2-10-11 "TO220" "unknown" 6342.5 20675 90 top U2-10-12 "TO220" "unknown" 6342.5 22175 90 top U2-10-13 "TO220" "unknown" 6342.5 23675 90 top U2-10-14 "TO220" "unknown" 6342.5 25175 90 top U2-11-0 "TO220" "unknown" 6842.5 4175 90 top U2-11-1 "TO220" "unknown" 6842.5 5675 90 top U2-11-2 "TO220" "unknown" 6842.5 7175 90 top U2-11-3 "TO220" "unknown" 6842.5 8675 90 top U2-11-4 "TO220" "unknown" 6842.5 10175 90 top U2-11-5 "TO220" "unknown" 6842.5 11675 90 top U2-11-6 "TO220" "unknown" 6842.5 13175 90 top U2-11-7 "TO220" "unknown" 6842.5 14675 90 top U2-11-8 "TO220" "unknown" 6842.5 16175 90 top U2-11-9 "TO220" "unknown" 6842.5 17675 90 top U2-11-10 "TO220" "unknown" 6842.5 19175 90 top U2-11-11 "TO220" "unknown" 6842.5 20675 90 top U2-11-12 "TO220" "unknown" 6842.5 22175 90 top U2-11-13 "TO220" "unknown" 6842.5 23675 90 top U2-11-14 "TO220" "unknown" 6842.5 25175 90 top U2-12-0 "TO220" "unknown" 7342.5 4175 90 top U2-12-1 "TO220" "unknown" 7342.5 5675 90 top U2-12-2 "TO220" "unknown" 7342.5 7175 90 top U2-12-3 "TO220" "unknown" 7342.5 8675 90 top U2-12-4 "TO220" "unknown" 7342.5 10175 90 top U2-12-5 "TO220" "unknown" 7342.5 11675 90 top U2-12-6 "TO220" "unknown" 7342.5 13175 90 top U2-12-7 "TO220" "unknown" 7342.5 14675 90 top U2-12-8 "TO220" "unknown" 7342.5 16175 90 top U2-12-9 "TO220" "unknown" 7342.5 17675 90 top U2-12-10 "TO220" "unknown" 7342.5 19175 90 top U2-12-11 "TO220" "unknown" 7342.5 20675 90 top U2-12-12 "TO220" "unknown" 7342.5 22175 90 top U2-12-13 "TO220" "unknown" 7342.5 23675 90 top U2-12-14 "TO220" "unknown" 7342.5 25175 90 top U2-13-0 "TO220" "unknown" 7842.5 4175 90 top U2-13-1 "TO220" "unknown" 7842.5 5675 90 top U2-13-2 "TO220" "unknown" 7842.5 7175 90 top U2-13-3 "TO220" "unknown" 7842.5 8675 90 top U2-13-4 "TO220" "unknown" 7842.5 10175 90 top U2-13-5 "TO220" "unknown" 7842.5 11675 90 top U2-13-6 "TO220" "unknown" 7842.5 13175 90 top U2-13-7 "TO220" "unknown" 7842.5 14675 90 top U2-13-8 "TO220" "unknown" 7842.5 16175 90 top U2-13-9 "TO220" "unknown" 7842.5 17675 90 top U2-13-10 "TO220" "unknown" 7842.5 19175 90 top U2-13-11 "TO220" "unknown" 7842.5 20675 90 top U2-13-12 "TO220" "unknown" 7842.5 22175 90 top U2-13-13 "TO220" "unknown" 7842.5 23675 90 top U2-13-14 "TO220" "unknown" 7842.5 25175 90 top U2-14-0 "TO220" "unknown" 8342.5 4175 90 top U2-14-1 "TO220" "unknown" 8342.5 5675 90 top U2-14-2 "TO220" "unknown" 8342.5 7175 90 top U2-14-3 "TO220" "unknown" 8342.5 8675 90 top U2-14-4 "TO220" "unknown" 8342.5 10175 90 top U2-14-5 "TO220" "unknown" 8342.5 11675 90 top U2-14-6 "TO220" "unknown" 8342.5 13175 90 top U2-14-7 "TO220" "unknown" 8342.5 14675 90 top U2-14-8 "TO220" "unknown" 8342.5 16175 90 top U2-14-9 "TO220" "unknown" 8342.5 17675 90 top U2-14-10 "TO220" "unknown" 8342.5 19175 90 top U2-14-11 "TO220" "unknown" 8342.5 20675 90 top U2-14-12 "TO220" "unknown" 8342.5 22175 90 top U2-14-13 "TO220" "unknown" 8342.5 23675 90 top U2-14-14 "TO220" "unknown" 8342.5 25175 90 top D7-0-0 "1206" "unknown" 1775.00 3350.00 270 bottom D7-0-1 "1206" "unknown" 1775 4850 270 bottom D7-0-2 "1206" "unknown" 1775 6350 270 bottom D7-0-3 "1206" "unknown" 1775 7850 270 bottom D7-0-4 "1206" "unknown" 1775 9350 270 bottom D7-0-5 "1206" "unknown" 1775 10850 270 bottom D7-0-6 "1206" "unknown" 1775 12350 270 bottom D7-0-7 "1206" "unknown" 1775 13850 270 bottom D7-0-8 "1206" "unknown" 1775 15350 270 bottom D7-0-9 "1206" "unknown" 1775 16850 270 bottom D7-0-10 "1206" "unknown" 1775 18350 270 bottom D7-0-11 "1206" "unknown" 1775 19850 270 bottom D7-0-12 "1206" "unknown" 1775 21350 270 bottom D7-0-13 "1206" "unknown" 1775 22850 270 bottom D7-0-14 "1206" "unknown" 1775 24350 270 bottom D7-1-0 "1206" "unknown" 2275 3350 270 bottom D7-1-1 "1206" "unknown" 2275 4850 270 bottom D7-1-2 "1206" "unknown" 2275 6350 270 bottom D7-1-3 "1206" "unknown" 2275 7850 270 bottom D7-1-4 "1206" "unknown" 2275 9350 270 bottom D7-1-5 "1206" "unknown" 2275 10850 270 bottom D7-1-6 "1206" "unknown" 2275 12350 270 bottom D7-1-7 "1206" "unknown" 2275 13850 270 bottom D7-1-8 "1206" "unknown" 2275 15350 270 bottom D7-1-9 "1206" "unknown" 2275 16850 270 bottom D7-1-10 "1206" "unknown" 2275 18350 270 bottom D7-1-11 "1206" "unknown" 2275 19850 270 bottom D7-1-12 "1206" "unknown" 2275 21350 270 bottom D7-1-13 "1206" "unknown" 2275 22850 270 bottom D7-1-14 "1206" "unknown" 2275 24350 270 bottom D7-2-0 "1206" "unknown" 2775 3350 270 bottom D7-2-1 "1206" "unknown" 2775 4850 270 bottom D7-2-2 "1206" "unknown" 2775 6350 270 bottom D7-2-3 "1206" "unknown" 2775 7850 270 bottom D7-2-4 "1206" "unknown" 2775 9350 270 bottom D7-2-5 "1206" "unknown" 2775 10850 270 bottom D7-2-6 "1206" "unknown" 2775 12350 270 bottom D7-2-7 "1206" "unknown" 2775 13850 270 bottom D7-2-8 "1206" "unknown" 2775 15350 270 bottom D7-2-9 "1206" "unknown" 2775 16850 270 bottom D7-2-10 "1206" "unknown" 2775 18350 270 bottom D7-2-11 "1206" "unknown" 2775 19850 270 bottom D7-2-12 "1206" "unknown" 2775 21350 270 bottom D7-2-13 "1206" "unknown" 2775 22850 270 bottom D7-2-14 "1206" "unknown" 2775 24350 270 bottom D7-3-0 "1206" "unknown" 3275 3350 270 bottom D7-3-1 "1206" "unknown" 3275 4850 270 bottom D7-3-2 "1206" "unknown" 3275 6350 270 bottom D7-3-3 "1206" "unknown" 3275 7850 270 bottom D7-3-4 "1206" "unknown" 3275 9350 270 bottom D7-3-5 "1206" "unknown" 3275 10850 270 bottom D7-3-6 "1206" "unknown" 3275 12350 270 bottom D7-3-7 "1206" "unknown" 3275 13850 270 bottom D7-3-8 "1206" "unknown" 3275 15350 270 bottom D7-3-9 "1206" "unknown" 3275 16850 270 bottom D7-3-10 "1206" "unknown" 3275 18350 270 bottom D7-3-11 "1206" "unknown" 3275 19850 270 bottom D7-3-12 "1206" "unknown" 3275 21350 270 bottom D7-3-13 "1206" "unknown" 3275 22850 270 bottom D7-3-14 "1206" "unknown" 3275 24350 270 bottom D7-4-0 "1206" "unknown" 3775 3350 270 bottom D7-4-1 "1206" "unknown" 3775 4850 270 bottom D7-4-2 "1206" "unknown" 3775 6350 270 bottom D7-4-3 "1206" "unknown" 3775 7850 270 bottom D7-4-4 "1206" "unknown" 3775 9350 270 bottom D7-4-5 "1206" "unknown" 3775 10850 270 bottom D7-4-6 "1206" "unknown" 3775 12350 270 bottom D7-4-7 "1206" "unknown" 3775 13850 270 bottom D7-4-8 "1206" "unknown" 3775 15350 270 bottom D7-4-9 "1206" "unknown" 3775 16850 270 bottom D7-4-10 "1206" "unknown" 3775 18350 270 bottom D7-4-11 "1206" "unknown" 3775 19850 270 bottom D7-4-12 "1206" "unknown" 3775 21350 270 bottom D7-4-13 "1206" "unknown" 3775 22850 270 bottom D7-4-14 "1206" "unknown" 3775 24350 270 bottom D7-5-0 "1206" "unknown" 4275 3350 270 bottom D7-5-1 "1206" "unknown" 4275 4850 270 bottom D7-5-2 "1206" "unknown" 4275 6350 270 bottom D7-5-3 "1206" "unknown" 4275 7850 270 bottom D7-5-4 "1206" "unknown" 4275 9350 270 bottom D7-5-5 "1206" "unknown" 4275 10850 270 bottom D7-5-6 "1206" "unknown" 4275 12350 270 bottom D7-5-7 "1206" "unknown" 4275 13850 270 bottom D7-5-8 "1206" "unknown" 4275 15350 270 bottom D7-5-9 "1206" "unknown" 4275 16850 270 bottom D7-5-10 "1206" "unknown" 4275 18350 270 bottom D7-5-11 "1206" "unknown" 4275 19850 270 bottom D7-5-12 "1206" "unknown" 4275 21350 270 bottom D7-5-13 "1206" "unknown" 4275 22850 270 bottom D7-5-14 "1206" "unknown" 4275 24350 270 bottom D7-6-0 "1206" "unknown" 4775 3350 270 bottom D7-6-1 "1206" "unknown" 4775 4850 270 bottom D7-6-2 "1206" "unknown" 4775 6350 270 bottom D7-6-3 "1206" "unknown" 4775 7850 270 bottom D7-6-4 "1206" "unknown" 4775 9350 270 bottom D7-6-5 "1206" "unknown" 4775 10850 270 bottom D7-6-6 "1206" "unknown" 4775 12350 270 bottom D7-6-7 "1206" "unknown" 4775 13850 270 bottom D7-6-8 "1206" "unknown" 4775 15350 270 bottom D7-6-9 "1206" "unknown" 4775 16850 270 bottom D7-6-10 "1206" "unknown" 4775 18350 270 bottom D7-6-11 "1206" "unknown" 4775 19850 270 bottom D7-6-12 "1206" "unknown" 4775 21350 270 bottom D7-6-13 "1206" "unknown" 4775 22850 270 bottom D7-6-14 "1206" "unknown" 4775 24350 270 bottom D7-7-0 "1206" "unknown" 5275 3350 270 bottom D7-7-1 "1206" "unknown" 5275 4850 270 bottom D7-7-2 "1206" "unknown" 5275 6350 270 bottom D7-7-3 "1206" "unknown" 5275 7850 270 bottom D7-7-4 "1206" "unknown" 5275 9350 270 bottom D7-7-5 "1206" "unknown" 5275 10850 270 bottom D7-7-6 "1206" "unknown" 5275 12350 270 bottom D7-7-7 "1206" "unknown" 5275 13850 270 bottom D7-7-8 "1206" "unknown" 5275 15350 270 bottom D7-7-9 "1206" "unknown" 5275 16850 270 bottom D7-7-10 "1206" "unknown" 5275 18350 270 bottom D7-7-11 "1206" "unknown" 5275 19850 270 bottom D7-7-12 "1206" "unknown" 5275 21350 270 bottom D7-7-13 "1206" "unknown" 5275 22850 270 bottom D7-7-14 "1206" "unknown" 5275 24350 270 bottom D7-8-0 "1206" "unknown" 5775 3350 270 bottom D7-8-1 "1206" "unknown" 5775 4850 270 bottom D7-8-2 "1206" "unknown" 5775 6350 270 bottom D7-8-3 "1206" "unknown" 5775 7850 270 bottom D7-8-4 "1206" "unknown" 5775 9350 270 bottom D7-8-5 "1206" "unknown" 5775 10850 270 bottom D7-8-6 "1206" "unknown" 5775 12350 270 bottom D7-8-7 "1206" "unknown" 5775 13850 270 bottom D7-8-8 "1206" "unknown" 5775 15350 270 bottom D7-8-9 "1206" "unknown" 5775 16850 270 bottom D7-8-10 "1206" "unknown" 5775 18350 270 bottom D7-8-11 "1206" "unknown" 5775 19850 270 bottom D7-8-12 "1206" "unknown" 5775 21350 270 bottom D7-8-13 "1206" "unknown" 5775 22850 270 bottom D7-8-14 "1206" "unknown" 5775 24350 270 bottom D7-9-0 "1206" "unknown" 6275 3350 270 bottom D7-9-1 "1206" "unknown" 6275 4850 270 bottom D7-9-2 "1206" "unknown" 6275 6350 270 bottom D7-9-3 "1206" "unknown" 6275 7850 270 bottom D7-9-4 "1206" "unknown" 6275 9350 270 bottom D7-9-5 "1206" "unknown" 6275 10850 270 bottom D7-9-6 "1206" "unknown" 6275 12350 270 bottom D7-9-7 "1206" "unknown" 6275 13850 270 bottom D7-9-8 "1206" "unknown" 6275 15350 270 bottom D7-9-9 "1206" "unknown" 6275 16850 270 bottom D7-9-10 "1206" "unknown" 6275 18350 270 bottom D7-9-11 "1206" "unknown" 6275 19850 270 bottom D7-9-12 "1206" "unknown" 6275 21350 270 bottom D7-9-13 "1206" "unknown" 6275 22850 270 bottom D7-9-14 "1206" "unknown" 6275 24350 270 bottom D7-10-0 "1206" "unknown" 6775 3350 270 bottom D7-10-1 "1206" "unknown" 6775 4850 270 bottom D7-10-2 "1206" "unknown" 6775 6350 270 bottom D7-10-3 "1206" "unknown" 6775 7850 270 bottom D7-10-4 "1206" "unknown" 6775 9350 270 bottom D7-10-5 "1206" "unknown" 6775 10850 270 bottom D7-10-6 "1206" "unknown" 6775 12350 270 bottom D7-10-7 "1206" "unknown" 6775 13850 270 bottom D7-10-8 "1206" "unknown" 6775 15350 270 bottom D7-10-9 "1206" "unknown" 6775 16850 270 bottom D7-10-10 "1206" "unknown" 6775 18350 270 bottom D7-10-11 "1206" "unknown" 6775 19850 270 bottom D7-10-12 "1206" "unknown" 6775 21350 270 bottom D7-10-13 "1206" "unknown" 6775 22850 270 bottom D7-10-14 "1206" "unknown" 6775 24350 270 bottom D7-11-0 "1206" "unknown" 7275 3350 270 bottom D7-11-1 "1206" "unknown" 7275 4850 270 bottom D7-11-2 "1206" "unknown" 7275 6350 270 bottom D7-11-3 "1206" "unknown" 7275 7850 270 bottom D7-11-4 "1206" "unknown" 7275 9350 270 bottom D7-11-5 "1206" "unknown" 7275 10850 270 bottom D7-11-6 "1206" "unknown" 7275 12350 270 bottom D7-11-7 "1206" "unknown" 7275 13850 270 bottom D7-11-8 "1206" "unknown" 7275 15350 270 bottom D7-11-9 "1206" "unknown" 7275 16850 270 bottom D7-11-10 "1206" "unknown" 7275 18350 270 bottom D7-11-11 "1206" "unknown" 7275 19850 270 bottom D7-11-12 "1206" "unknown" 7275 21350 270 bottom D7-11-13 "1206" "unknown" 7275 22850 270 bottom D7-11-14 "1206" "unknown" 7275 24350 270 bottom D7-12-0 "1206" "unknown" 7775 3350 270 bottom D7-12-1 "1206" "unknown" 7775 4850 270 bottom D7-12-2 "1206" "unknown" 7775 6350 270 bottom D7-12-3 "1206" "unknown" 7775 7850 270 bottom D7-12-4 "1206" "unknown" 7775 9350 270 bottom D7-12-5 "1206" "unknown" 7775 10850 270 bottom D7-12-6 "1206" "unknown" 7775 12350 270 bottom D7-12-7 "1206" "unknown" 7775 13850 270 bottom D7-12-8 "1206" "unknown" 7775 15350 270 bottom D7-12-9 "1206" "unknown" 7775 16850 270 bottom D7-12-10 "1206" "unknown" 7775 18350 270 bottom D7-12-11 "1206" "unknown" 7775 19850 270 bottom D7-12-12 "1206" "unknown" 7775 21350 270 bottom D7-12-13 "1206" "unknown" 7775 22850 270 bottom D7-12-14 "1206" "unknown" 7775 24350 270 bottom D7-13-0 "1206" "unknown" 8275 3350 270 bottom D7-13-1 "1206" "unknown" 8275 4850 270 bottom D7-13-2 "1206" "unknown" 8275 6350 270 bottom D7-13-3 "1206" "unknown" 8275 7850 270 bottom D7-13-4 "1206" "unknown" 8275 9350 270 bottom D7-13-5 "1206" "unknown" 8275 10850 270 bottom D7-13-6 "1206" "unknown" 8275 12350 270 bottom D7-13-7 "1206" "unknown" 8275 13850 270 bottom D7-13-8 "1206" "unknown" 8275 15350 270 bottom D7-13-9 "1206" "unknown" 8275 16850 270 bottom D7-13-10 "1206" "unknown" 8275 18350 270 bottom D7-13-11 "1206" "unknown" 8275 19850 270 bottom D7-13-12 "1206" "unknown" 8275 21350 270 bottom D7-13-13 "1206" "unknown" 8275 22850 270 bottom D7-13-14 "1206" "unknown" 8275 24350 270 bottom D7-14-0 "1206" "unknown" 8775 3350 270 bottom D7-14-1 "1206" "unknown" 8775 4850 270 bottom D7-14-2 "1206" "unknown" 8775 6350 270 bottom D7-14-3 "1206" "unknown" 8775 7850 270 bottom D7-14-4 "1206" "unknown" 8775 9350 270 bottom D7-14-5 "1206" "unknown" 8775 10850 270 bottom D7-14-6 "1206" "unknown" 8775 12350 270 bottom D7-14-7 "1206" "unknown" 8775 13850 270 bottom D7-14-8 "1206" "unknown" 8775 15350 270 bottom D7-14-9 "1206" "unknown" 8775 16850 270 bottom D7-14-10 "1206" "unknown" 8775 18350 270 bottom D7-14-11 "1206" "unknown" 8775 19850 270 bottom D7-14-12 "1206" "unknown" 8775 21350 270 bottom D7-14-13 "1206" "unknown" 8775 22850 270 bottom D7-14-14 "1206" "unknown" 8775 24350 270 bottom D5-0-0 "1206" "unknown" 1125.00 3775.00 180 bottom D5-0-1 "1206" "unknown" 1125 5275 180 bottom D5-0-2 "1206" "unknown" 1125 6775 180 bottom D5-0-3 "1206" "unknown" 1125 8275 180 bottom D5-0-4 "1206" "unknown" 1125 9775 180 bottom D5-0-5 "1206" "unknown" 1125 11275 180 bottom D5-0-6 "1206" "unknown" 1125 12775 180 bottom D5-0-7 "1206" "unknown" 1125 14275 180 bottom D5-0-8 "1206" "unknown" 1125 15775 180 bottom D5-0-9 "1206" "unknown" 1125 17275 180 bottom D5-0-10 "1206" "unknown" 1125 18775 180 bottom D5-0-11 "1206" "unknown" 1125 20275 180 bottom D5-0-12 "1206" "unknown" 1125 21775 180 bottom D5-0-13 "1206" "unknown" 1125 23275 180 bottom D5-0-14 "1206" "unknown" 1125 24775 180 bottom D5-1-0 "1206" "unknown" 1625 3775 180 bottom D5-1-1 "1206" "unknown" 1625 5275 180 bottom D5-1-2 "1206" "unknown" 1625 6775 180 bottom D5-1-3 "1206" "unknown" 1625 8275 180 bottom D5-1-4 "1206" "unknown" 1625 9775 180 bottom D5-1-5 "1206" "unknown" 1625 11275 180 bottom D5-1-6 "1206" "unknown" 1625 12775 180 bottom D5-1-7 "1206" "unknown" 1625 14275 180 bottom D5-1-8 "1206" "unknown" 1625 15775 180 bottom D5-1-9 "1206" "unknown" 1625 17275 180 bottom D5-1-10 "1206" "unknown" 1625 18775 180 bottom D5-1-11 "1206" "unknown" 1625 20275 180 bottom D5-1-12 "1206" "unknown" 1625 21775 180 bottom D5-1-13 "1206" "unknown" 1625 23275 180 bottom D5-1-14 "1206" "unknown" 1625 24775 180 bottom D5-2-0 "1206" "unknown" 2125 3775 180 bottom D5-2-1 "1206" "unknown" 2125 5275 180 bottom D5-2-2 "1206" "unknown" 2125 6775 180 bottom D5-2-3 "1206" "unknown" 2125 8275 180 bottom D5-2-4 "1206" "unknown" 2125 9775 180 bottom D5-2-5 "1206" "unknown" 2125 11275 180 bottom D5-2-6 "1206" "unknown" 2125 12775 180 bottom D5-2-7 "1206" "unknown" 2125 14275 180 bottom D5-2-8 "1206" "unknown" 2125 15775 180 bottom D5-2-9 "1206" "unknown" 2125 17275 180 bottom D5-2-10 "1206" "unknown" 2125 18775 180 bottom D5-2-11 "1206" "unknown" 2125 20275 180 bottom D5-2-12 "1206" "unknown" 2125 21775 180 bottom D5-2-13 "1206" "unknown" 2125 23275 180 bottom D5-2-14 "1206" "unknown" 2125 24775 180 bottom D5-3-0 "1206" "unknown" 2625 3775 180 bottom D5-3-1 "1206" "unknown" 2625 5275 180 bottom D5-3-2 "1206" "unknown" 2625 6775 180 bottom D5-3-3 "1206" "unknown" 2625 8275 180 bottom D5-3-4 "1206" "unknown" 2625 9775 180 bottom D5-3-5 "1206" "unknown" 2625 11275 180 bottom D5-3-6 "1206" "unknown" 2625 12775 180 bottom D5-3-7 "1206" "unknown" 2625 14275 180 bottom D5-3-8 "1206" "unknown" 2625 15775 180 bottom D5-3-9 "1206" "unknown" 2625 17275 180 bottom D5-3-10 "1206" "unknown" 2625 18775 180 bottom D5-3-11 "1206" "unknown" 2625 20275 180 bottom D5-3-12 "1206" "unknown" 2625 21775 180 bottom D5-3-13 "1206" "unknown" 2625 23275 180 bottom D5-3-14 "1206" "unknown" 2625 24775 180 bottom D5-4-0 "1206" "unknown" 3125 3775 180 bottom D5-4-1 "1206" "unknown" 3125 5275 180 bottom D5-4-2 "1206" "unknown" 3125 6775 180 bottom D5-4-3 "1206" "unknown" 3125 8275 180 bottom D5-4-4 "1206" "unknown" 3125 9775 180 bottom D5-4-5 "1206" "unknown" 3125 11275 180 bottom D5-4-6 "1206" "unknown" 3125 12775 180 bottom D5-4-7 "1206" "unknown" 3125 14275 180 bottom D5-4-8 "1206" "unknown" 3125 15775 180 bottom D5-4-9 "1206" "unknown" 3125 17275 180 bottom D5-4-10 "1206" "unknown" 3125 18775 180 bottom D5-4-11 "1206" "unknown" 3125 20275 180 bottom D5-4-12 "1206" "unknown" 3125 21775 180 bottom D5-4-13 "1206" "unknown" 3125 23275 180 bottom D5-4-14 "1206" "unknown" 3125 24775 180 bottom D5-5-0 "1206" "unknown" 3625 3775 180 bottom D5-5-1 "1206" "unknown" 3625 5275 180 bottom D5-5-2 "1206" "unknown" 3625 6775 180 bottom D5-5-3 "1206" "unknown" 3625 8275 180 bottom D5-5-4 "1206" "unknown" 3625 9775 180 bottom D5-5-5 "1206" "unknown" 3625 11275 180 bottom D5-5-6 "1206" "unknown" 3625 12775 180 bottom D5-5-7 "1206" "unknown" 3625 14275 180 bottom D5-5-8 "1206" "unknown" 3625 15775 180 bottom D5-5-9 "1206" "unknown" 3625 17275 180 bottom D5-5-10 "1206" "unknown" 3625 18775 180 bottom D5-5-11 "1206" "unknown" 3625 20275 180 bottom D5-5-12 "1206" "unknown" 3625 21775 180 bottom D5-5-13 "1206" "unknown" 3625 23275 180 bottom D5-5-14 "1206" "unknown" 3625 24775 180 bottom D5-6-0 "1206" "unknown" 4125 3775 180 bottom D5-6-1 "1206" "unknown" 4125 5275 180 bottom D5-6-2 "1206" "unknown" 4125 6775 180 bottom D5-6-3 "1206" "unknown" 4125 8275 180 bottom D5-6-4 "1206" "unknown" 4125 9775 180 bottom D5-6-5 "1206" "unknown" 4125 11275 180 bottom D5-6-6 "1206" "unknown" 4125 12775 180 bottom D5-6-7 "1206" "unknown" 4125 14275 180 bottom D5-6-8 "1206" "unknown" 4125 15775 180 bottom D5-6-9 "1206" "unknown" 4125 17275 180 bottom D5-6-10 "1206" "unknown" 4125 18775 180 bottom D5-6-11 "1206" "unknown" 4125 20275 180 bottom D5-6-12 "1206" "unknown" 4125 21775 180 bottom D5-6-13 "1206" "unknown" 4125 23275 180 bottom D5-6-14 "1206" "unknown" 4125 24775 180 bottom D5-7-0 "1206" "unknown" 4625 3775 180 bottom D5-7-1 "1206" "unknown" 4625 5275 180 bottom D5-7-2 "1206" "unknown" 4625 6775 180 bottom D5-7-3 "1206" "unknown" 4625 8275 180 bottom D5-7-4 "1206" "unknown" 4625 9775 180 bottom D5-7-5 "1206" "unknown" 4625 11275 180 bottom D5-7-6 "1206" "unknown" 4625 12775 180 bottom D5-7-7 "1206" "unknown" 4625 14275 180 bottom D5-7-8 "1206" "unknown" 4625 15775 180 bottom D5-7-9 "1206" "unknown" 4625 17275 180 bottom D5-7-10 "1206" "unknown" 4625 18775 180 bottom D5-7-11 "1206" "unknown" 4625 20275 180 bottom D5-7-12 "1206" "unknown" 4625 21775 180 bottom D5-7-13 "1206" "unknown" 4625 23275 180 bottom D5-7-14 "1206" "unknown" 4625 24775 180 bottom D5-8-0 "1206" "unknown" 5125 3775 180 bottom D5-8-1 "1206" "unknown" 5125 5275 180 bottom D5-8-2 "1206" "unknown" 5125 6775 180 bottom D5-8-3 "1206" "unknown" 5125 8275 180 bottom D5-8-4 "1206" "unknown" 5125 9775 180 bottom D5-8-5 "1206" "unknown" 5125 11275 180 bottom D5-8-6 "1206" "unknown" 5125 12775 180 bottom D5-8-7 "1206" "unknown" 5125 14275 180 bottom D5-8-8 "1206" "unknown" 5125 15775 180 bottom D5-8-9 "1206" "unknown" 5125 17275 180 bottom D5-8-10 "1206" "unknown" 5125 18775 180 bottom D5-8-11 "1206" "unknown" 5125 20275 180 bottom D5-8-12 "1206" "unknown" 5125 21775 180 bottom D5-8-13 "1206" "unknown" 5125 23275 180 bottom D5-8-14 "1206" "unknown" 5125 24775 180 bottom D5-9-0 "1206" "unknown" 5625 3775 180 bottom D5-9-1 "1206" "unknown" 5625 5275 180 bottom D5-9-2 "1206" "unknown" 5625 6775 180 bottom D5-9-3 "1206" "unknown" 5625 8275 180 bottom D5-9-4 "1206" "unknown" 5625 9775 180 bottom D5-9-5 "1206" "unknown" 5625 11275 180 bottom D5-9-6 "1206" "unknown" 5625 12775 180 bottom D5-9-7 "1206" "unknown" 5625 14275 180 bottom D5-9-8 "1206" "unknown" 5625 15775 180 bottom D5-9-9 "1206" "unknown" 5625 17275 180 bottom D5-9-10 "1206" "unknown" 5625 18775 180 bottom D5-9-11 "1206" "unknown" 5625 20275 180 bottom D5-9-12 "1206" "unknown" 5625 21775 180 bottom D5-9-13 "1206" "unknown" 5625 23275 180 bottom D5-9-14 "1206" "unknown" 5625 24775 180 bottom D5-10-0 "1206" "unknown" 6125 3775 180 bottom D5-10-1 "1206" "unknown" 6125 5275 180 bottom D5-10-2 "1206" "unknown" 6125 6775 180 bottom D5-10-3 "1206" "unknown" 6125 8275 180 bottom D5-10-4 "1206" "unknown" 6125 9775 180 bottom D5-10-5 "1206" "unknown" 6125 11275 180 bottom D5-10-6 "1206" "unknown" 6125 12775 180 bottom D5-10-7 "1206" "unknown" 6125 14275 180 bottom D5-10-8 "1206" "unknown" 6125 15775 180 bottom D5-10-9 "1206" "unknown" 6125 17275 180 bottom D5-10-10 "1206" "unknown" 6125 18775 180 bottom D5-10-11 "1206" "unknown" 6125 20275 180 bottom D5-10-12 "1206" "unknown" 6125 21775 180 bottom D5-10-13 "1206" "unknown" 6125 23275 180 bottom D5-10-14 "1206" "unknown" 6125 24775 180 bottom D5-11-0 "1206" "unknown" 6625 3775 180 bottom D5-11-1 "1206" "unknown" 6625 5275 180 bottom D5-11-2 "1206" "unknown" 6625 6775 180 bottom D5-11-3 "1206" "unknown" 6625 8275 180 bottom D5-11-4 "1206" "unknown" 6625 9775 180 bottom D5-11-5 "1206" "unknown" 6625 11275 180 bottom D5-11-6 "1206" "unknown" 6625 12775 180 bottom D5-11-7 "1206" "unknown" 6625 14275 180 bottom D5-11-8 "1206" "unknown" 6625 15775 180 bottom D5-11-9 "1206" "unknown" 6625 17275 180 bottom D5-11-10 "1206" "unknown" 6625 18775 180 bottom D5-11-11 "1206" "unknown" 6625 20275 180 bottom D5-11-12 "1206" "unknown" 6625 21775 180 bottom D5-11-13 "1206" "unknown" 6625 23275 180 bottom D5-11-14 "1206" "unknown" 6625 24775 180 bottom D5-12-0 "1206" "unknown" 7125 3775 180 bottom D5-12-1 "1206" "unknown" 7125 5275 180 bottom D5-12-2 "1206" "unknown" 7125 6775 180 bottom D5-12-3 "1206" "unknown" 7125 8275 180 bottom D5-12-4 "1206" "unknown" 7125 9775 180 bottom D5-12-5 "1206" "unknown" 7125 11275 180 bottom D5-12-6 "1206" "unknown" 7125 12775 180 bottom D5-12-7 "1206" "unknown" 7125 14275 180 bottom D5-12-8 "1206" "unknown" 7125 15775 180 bottom D5-12-9 "1206" "unknown" 7125 17275 180 bottom D5-12-10 "1206" "unknown" 7125 18775 180 bottom D5-12-11 "1206" "unknown" 7125 20275 180 bottom D5-12-12 "1206" "unknown" 7125 21775 180 bottom D5-12-13 "1206" "unknown" 7125 23275 180 bottom D5-12-14 "1206" "unknown" 7125 24775 180 bottom D5-13-0 "1206" "unknown" 7625 3775 180 bottom D5-13-1 "1206" "unknown" 7625 5275 180 bottom D5-13-2 "1206" "unknown" 7625 6775 180 bottom D5-13-3 "1206" "unknown" 7625 8275 180 bottom D5-13-4 "1206" "unknown" 7625 9775 180 bottom D5-13-5 "1206" "unknown" 7625 11275 180 bottom D5-13-6 "1206" "unknown" 7625 12775 180 bottom D5-13-7 "1206" "unknown" 7625 14275 180 bottom D5-13-8 "1206" "unknown" 7625 15775 180 bottom D5-13-9 "1206" "unknown" 7625 17275 180 bottom D5-13-10 "1206" "unknown" 7625 18775 180 bottom D5-13-11 "1206" "unknown" 7625 20275 180 bottom D5-13-12 "1206" "unknown" 7625 21775 180 bottom D5-13-13 "1206" "unknown" 7625 23275 180 bottom D5-13-14 "1206" "unknown" 7625 24775 180 bottom D5-14-0 "1206" "unknown" 8125 3775 180 bottom D5-14-1 "1206" "unknown" 8125 5275 180 bottom D5-14-2 "1206" "unknown" 8125 6775 180 bottom D5-14-3 "1206" "unknown" 8125 8275 180 bottom D5-14-4 "1206" "unknown" 8125 9775 180 bottom D5-14-5 "1206" "unknown" 8125 11275 180 bottom D5-14-6 "1206" "unknown" 8125 12775 180 bottom D5-14-7 "1206" "unknown" 8125 14275 180 bottom D5-14-8 "1206" "unknown" 8125 15775 180 bottom D5-14-9 "1206" "unknown" 8125 17275 180 bottom D5-14-10 "1206" "unknown" 8125 18775 180 bottom D5-14-11 "1206" "unknown" 8125 20275 180 bottom D5-14-12 "1206" "unknown" 8125 21775 180 bottom D5-14-13 "1206" "unknown" 8125 23275 180 bottom D5-14-14 "1206" "unknown" 8125 24775 180 bottom R4-0-0 "1206" "unknown" 504.14 3527.76 180 bottom R4-0-1 "1206" "unknown" 504.14 5027.76 180 bottom R4-0-2 "1206" "unknown" 504.14 6527.76 180 bottom R4-0-3 "1206" "unknown" 504.14 8027.76 180 bottom R4-0-4 "1206" "unknown" 504.14 9527.76 180 bottom R4-0-5 "1206" "unknown" 504.14 11027.76 180 bottom R4-0-6 "1206" "unknown" 504.14 12527.76 180 bottom R4-0-7 "1206" "unknown" 504.14 14027.76 180 bottom R4-0-8 "1206" "unknown" 504.14 15527.76 180 bottom R4-0-9 "1206" "unknown" 504.14 17027.76 180 bottom R4-0-10 "1206" "unknown" 504.14 18527.76 180 bottom R4-0-11 "1206" "unknown" 504.14 20027.76 180 bottom R4-0-12 "1206" "unknown" 504.14 21527.76 180 bottom R4-0-13 "1206" "unknown" 504.14 23027.76 180 bottom R4-0-14 "1206" "unknown" 504.14 24527.76 180 bottom R4-1-0 "1206" "unknown" 1004.14 3527.76 180 bottom R4-1-1 "1206" "unknown" 1004.14 5027.76 180 bottom R4-1-2 "1206" "unknown" 1004.14 6527.76 180 bottom R4-1-3 "1206" "unknown" 1004.14 8027.76 180 bottom R4-1-4 "1206" "unknown" 1004.14 9527.76 180 bottom R4-1-5 "1206" "unknown" 1004.14 11027.76 180 bottom R4-1-6 "1206" "unknown" 1004.14 12527.76 180 bottom R4-1-7 "1206" "unknown" 1004.14 14027.76 180 bottom R4-1-8 "1206" "unknown" 1004.14 15527.76 180 bottom R4-1-9 "1206" "unknown" 1004.14 17027.76 180 bottom R4-1-10 "1206" "unknown" 1004.14 18527.76 180 bottom R4-1-11 "1206" "unknown" 1004.14 20027.76 180 bottom R4-1-12 "1206" "unknown" 1004.14 21527.76 180 bottom R4-1-13 "1206" "unknown" 1004.14 23027.76 180 bottom R4-1-14 "1206" "unknown" 1004.14 24527.76 180 bottom R4-2-0 "1206" "unknown" 1504.14 3527.76 180 bottom R4-2-1 "1206" "unknown" 1504.14 5027.76 180 bottom R4-2-2 "1206" "unknown" 1504.14 6527.76 180 bottom R4-2-3 "1206" "unknown" 1504.14 8027.76 180 bottom R4-2-4 "1206" "unknown" 1504.14 9527.76 180 bottom R4-2-5 "1206" "unknown" 1504.14 11027.76 180 bottom R4-2-6 "1206" "unknown" 1504.14 12527.76 180 bottom R4-2-7 "1206" "unknown" 1504.14 14027.76 180 bottom R4-2-8 "1206" "unknown" 1504.14 15527.76 180 bottom R4-2-9 "1206" "unknown" 1504.14 17027.76 180 bottom R4-2-10 "1206" "unknown" 1504.14 18527.76 180 bottom R4-2-11 "1206" "unknown" 1504.14 20027.76 180 bottom R4-2-12 "1206" "unknown" 1504.14 21527.76 180 bottom R4-2-13 "1206" "unknown" 1504.14 23027.76 180 bottom R4-2-14 "1206" "unknown" 1504.14 24527.76 180 bottom R4-3-0 "1206" "unknown" 2004.14 3527.76 180 bottom R4-3-1 "1206" "unknown" 2004.14 5027.76 180 bottom R4-3-2 "1206" "unknown" 2004.14 6527.76 180 bottom R4-3-3 "1206" "unknown" 2004.14 8027.76 180 bottom R4-3-4 "1206" "unknown" 2004.14 9527.76 180 bottom R4-3-5 "1206" "unknown" 2004.14 11027.76 180 bottom R4-3-6 "1206" "unknown" 2004.14 12527.76 180 bottom R4-3-7 "1206" "unknown" 2004.14 14027.76 180 bottom R4-3-8 "1206" "unknown" 2004.14 15527.76 180 bottom R4-3-9 "1206" "unknown" 2004.14 17027.76 180 bottom R4-3-10 "1206" "unknown" 2004.14 18527.76 180 bottom R4-3-11 "1206" "unknown" 2004.14 20027.76 180 bottom R4-3-12 "1206" "unknown" 2004.14 21527.76 180 bottom R4-3-13 "1206" "unknown" 2004.14 23027.76 180 bottom R4-3-14 "1206" "unknown" 2004.14 24527.76 180 bottom R4-4-0 "1206" "unknown" 2504.14 3527.76 180 bottom R4-4-1 "1206" "unknown" 2504.14 5027.76 180 bottom R4-4-2 "1206" "unknown" 2504.14 6527.76 180 bottom R4-4-3 "1206" "unknown" 2504.14 8027.76 180 bottom R4-4-4 "1206" "unknown" 2504.14 9527.76 180 bottom R4-4-5 "1206" "unknown" 2504.14 11027.76 180 bottom R4-4-6 "1206" "unknown" 2504.14 12527.76 180 bottom R4-4-7 "1206" "unknown" 2504.14 14027.76 180 bottom R4-4-8 "1206" "unknown" 2504.14 15527.76 180 bottom R4-4-9 "1206" "unknown" 2504.14 17027.76 180 bottom R4-4-10 "1206" "unknown" 2504.14 18527.76 180 bottom R4-4-11 "1206" "unknown" 2504.14 20027.76 180 bottom R4-4-12 "1206" "unknown" 2504.14 21527.76 180 bottom R4-4-13 "1206" "unknown" 2504.14 23027.76 180 bottom R4-4-14 "1206" "unknown" 2504.14 24527.76 180 bottom R4-5-0 "1206" "unknown" 3004.14 3527.76 180 bottom R4-5-1 "1206" "unknown" 3004.14 5027.76 180 bottom R4-5-2 "1206" "unknown" 3004.14 6527.76 180 bottom R4-5-3 "1206" "unknown" 3004.14 8027.76 180 bottom R4-5-4 "1206" "unknown" 3004.14 9527.76 180 bottom R4-5-5 "1206" "unknown" 3004.14 11027.76 180 bottom R4-5-6 "1206" "unknown" 3004.14 12527.76 180 bottom R4-5-7 "1206" "unknown" 3004.14 14027.76 180 bottom R4-5-8 "1206" "unknown" 3004.14 15527.76 180 bottom R4-5-9 "1206" "unknown" 3004.14 17027.76 180 bottom R4-5-10 "1206" "unknown" 3004.14 18527.76 180 bottom R4-5-11 "1206" "unknown" 3004.14 20027.76 180 bottom R4-5-12 "1206" "unknown" 3004.14 21527.76 180 bottom R4-5-13 "1206" "unknown" 3004.14 23027.76 180 bottom R4-5-14 "1206" "unknown" 3004.14 24527.76 180 bottom R4-6-0 "1206" "unknown" 3504.14 3527.76 180 bottom R4-6-1 "1206" "unknown" 3504.14 5027.76 180 bottom R4-6-2 "1206" "unknown" 3504.14 6527.76 180 bottom R4-6-3 "1206" "unknown" 3504.14 8027.76 180 bottom R4-6-4 "1206" "unknown" 3504.14 9527.76 180 bottom R4-6-5 "1206" "unknown" 3504.14 11027.76 180 bottom R4-6-6 "1206" "unknown" 3504.14 12527.76 180 bottom R4-6-7 "1206" "unknown" 3504.14 14027.76 180 bottom R4-6-8 "1206" "unknown" 3504.14 15527.76 180 bottom R4-6-9 "1206" "unknown" 3504.14 17027.76 180 bottom R4-6-10 "1206" "unknown" 3504.14 18527.76 180 bottom R4-6-11 "1206" "unknown" 3504.14 20027.76 180 bottom R4-6-12 "1206" "unknown" 3504.14 21527.76 180 bottom R4-6-13 "1206" "unknown" 3504.14 23027.76 180 bottom R4-6-14 "1206" "unknown" 3504.14 24527.76 180 bottom R4-7-0 "1206" "unknown" 4004.14 3527.76 180 bottom R4-7-1 "1206" "unknown" 4004.14 5027.76 180 bottom R4-7-2 "1206" "unknown" 4004.14 6527.76 180 bottom R4-7-3 "1206" "unknown" 4004.14 8027.76 180 bottom R4-7-4 "1206" "unknown" 4004.14 9527.76 180 bottom R4-7-5 "1206" "unknown" 4004.14 11027.76 180 bottom R4-7-6 "1206" "unknown" 4004.14 12527.76 180 bottom R4-7-7 "1206" "unknown" 4004.14 14027.76 180 bottom R4-7-8 "1206" "unknown" 4004.14 15527.76 180 bottom R4-7-9 "1206" "unknown" 4004.14 17027.76 180 bottom R4-7-10 "1206" "unknown" 4004.14 18527.76 180 bottom R4-7-11 "1206" "unknown" 4004.14 20027.76 180 bottom R4-7-12 "1206" "unknown" 4004.14 21527.76 180 bottom R4-7-13 "1206" "unknown" 4004.14 23027.76 180 bottom R4-7-14 "1206" "unknown" 4004.14 24527.76 180 bottom R4-8-0 "1206" "unknown" 4504.14 3527.76 180 bottom R4-8-1 "1206" "unknown" 4504.14 5027.76 180 bottom R4-8-2 "1206" "unknown" 4504.14 6527.76 180 bottom R4-8-3 "1206" "unknown" 4504.14 8027.76 180 bottom R4-8-4 "1206" "unknown" 4504.14 9527.76 180 bottom R4-8-5 "1206" "unknown" 4504.14 11027.76 180 bottom R4-8-6 "1206" "unknown" 4504.14 12527.76 180 bottom R4-8-7 "1206" "unknown" 4504.14 14027.76 180 bottom R4-8-8 "1206" "unknown" 4504.14 15527.76 180 bottom R4-8-9 "1206" "unknown" 4504.14 17027.76 180 bottom R4-8-10 "1206" "unknown" 4504.14 18527.76 180 bottom R4-8-11 "1206" "unknown" 4504.14 20027.76 180 bottom R4-8-12 "1206" "unknown" 4504.14 21527.76 180 bottom R4-8-13 "1206" "unknown" 4504.14 23027.76 180 bottom R4-8-14 "1206" "unknown" 4504.14 24527.76 180 bottom R4-9-0 "1206" "unknown" 5004.14 3527.76 180 bottom R4-9-1 "1206" "unknown" 5004.14 5027.76 180 bottom R4-9-2 "1206" "unknown" 5004.14 6527.76 180 bottom R4-9-3 "1206" "unknown" 5004.14 8027.76 180 bottom R4-9-4 "1206" "unknown" 5004.14 9527.76 180 bottom R4-9-5 "1206" "unknown" 5004.14 11027.76 180 bottom R4-9-6 "1206" "unknown" 5004.14 12527.76 180 bottom R4-9-7 "1206" "unknown" 5004.14 14027.76 180 bottom R4-9-8 "1206" "unknown" 5004.14 15527.76 180 bottom R4-9-9 "1206" "unknown" 5004.14 17027.76 180 bottom R4-9-10 "1206" "unknown" 5004.14 18527.76 180 bottom R4-9-11 "1206" "unknown" 5004.14 20027.76 180 bottom R4-9-12 "1206" "unknown" 5004.14 21527.76 180 bottom R4-9-13 "1206" "unknown" 5004.14 23027.76 180 bottom R4-9-14 "1206" "unknown" 5004.14 24527.76 180 bottom R4-10-0 "1206" "unknown" 5504.14 3527.76 180 bottom R4-10-1 "1206" "unknown" 5504.14 5027.76 180 bottom R4-10-2 "1206" "unknown" 5504.14 6527.76 180 bottom R4-10-3 "1206" "unknown" 5504.14 8027.76 180 bottom R4-10-4 "1206" "unknown" 5504.14 9527.76 180 bottom R4-10-5 "1206" "unknown" 5504.14 11027.76 180 bottom R4-10-6 "1206" "unknown" 5504.14 12527.76 180 bottom R4-10-7 "1206" "unknown" 5504.14 14027.76 180 bottom R4-10-8 "1206" "unknown" 5504.14 15527.76 180 bottom R4-10-9 "1206" "unknown" 5504.14 17027.76 180 bottom R4-10-10 "1206" "unknown" 5504.14 18527.76 180 bottom R4-10-11 "1206" "unknown" 5504.14 20027.76 180 bottom R4-10-12 "1206" "unknown" 5504.14 21527.76 180 bottom R4-10-13 "1206" "unknown" 5504.14 23027.76 180 bottom R4-10-14 "1206" "unknown" 5504.14 24527.76 180 bottom R4-11-0 "1206" "unknown" 6004.14 3527.76 180 bottom R4-11-1 "1206" "unknown" 6004.14 5027.76 180 bottom R4-11-2 "1206" "unknown" 6004.14 6527.76 180 bottom R4-11-3 "1206" "unknown" 6004.14 8027.76 180 bottom R4-11-4 "1206" "unknown" 6004.14 9527.76 180 bottom R4-11-5 "1206" "unknown" 6004.14 11027.76 180 bottom R4-11-6 "1206" "unknown" 6004.14 12527.76 180 bottom R4-11-7 "1206" "unknown" 6004.14 14027.76 180 bottom R4-11-8 "1206" "unknown" 6004.14 15527.76 180 bottom R4-11-9 "1206" "unknown" 6004.14 17027.76 180 bottom R4-11-10 "1206" "unknown" 6004.14 18527.76 180 bottom R4-11-11 "1206" "unknown" 6004.14 20027.76 180 bottom R4-11-12 "1206" "unknown" 6004.14 21527.76 180 bottom R4-11-13 "1206" "unknown" 6004.14 23027.76 180 bottom R4-11-14 "1206" "unknown" 6004.14 24527.76 180 bottom R4-12-0 "1206" "unknown" 6504.14 3527.76 180 bottom R4-12-1 "1206" "unknown" 6504.14 5027.76 180 bottom R4-12-2 "1206" "unknown" 6504.14 6527.76 180 bottom R4-12-3 "1206" "unknown" 6504.14 8027.76 180 bottom R4-12-4 "1206" "unknown" 6504.14 9527.76 180 bottom R4-12-5 "1206" "unknown" 6504.14 11027.76 180 bottom R4-12-6 "1206" "unknown" 6504.14 12527.76 180 bottom R4-12-7 "1206" "unknown" 6504.14 14027.76 180 bottom R4-12-8 "1206" "unknown" 6504.14 15527.76 180 bottom R4-12-9 "1206" "unknown" 6504.14 17027.76 180 bottom R4-12-10 "1206" "unknown" 6504.14 18527.76 180 bottom R4-12-11 "1206" "unknown" 6504.14 20027.76 180 bottom R4-12-12 "1206" "unknown" 6504.14 21527.76 180 bottom R4-12-13 "1206" "unknown" 6504.14 23027.76 180 bottom R4-12-14 "1206" "unknown" 6504.14 24527.76 180 bottom R4-13-0 "1206" "unknown" 7004.14 3527.76 180 bottom R4-13-1 "1206" "unknown" 7004.14 5027.76 180 bottom R4-13-2 "1206" "unknown" 7004.14 6527.76 180 bottom R4-13-3 "1206" "unknown" 7004.14 8027.76 180 bottom R4-13-4 "1206" "unknown" 7004.14 9527.76 180 bottom R4-13-5 "1206" "unknown" 7004.14 11027.76 180 bottom R4-13-6 "1206" "unknown" 7004.14 12527.76 180 bottom R4-13-7 "1206" "unknown" 7004.14 14027.76 180 bottom R4-13-8 "1206" "unknown" 7004.14 15527.76 180 bottom R4-13-9 "1206" "unknown" 7004.14 17027.76 180 bottom R4-13-10 "1206" "unknown" 7004.14 18527.76 180 bottom R4-13-11 "1206" "unknown" 7004.14 20027.76 180 bottom R4-13-12 "1206" "unknown" 7004.14 21527.76 180 bottom R4-13-13 "1206" "unknown" 7004.14 23027.76 180 bottom R4-13-14 "1206" "unknown" 7004.14 24527.76 180 bottom R4-14-0 "1206" "unknown" 7504.14 3527.76 180 bottom R4-14-1 "1206" "unknown" 7504.14 5027.76 180 bottom R4-14-2 "1206" "unknown" 7504.14 6527.76 180 bottom R4-14-3 "1206" "unknown" 7504.14 8027.76 180 bottom R4-14-4 "1206" "unknown" 7504.14 9527.76 180 bottom R4-14-5 "1206" "unknown" 7504.14 11027.76 180 bottom R4-14-6 "1206" "unknown" 7504.14 12527.76 180 bottom R4-14-7 "1206" "unknown" 7504.14 14027.76 180 bottom R4-14-8 "1206" "unknown" 7504.14 15527.76 180 bottom R4-14-9 "1206" "unknown" 7504.14 17027.76 180 bottom R4-14-10 "1206" "unknown" 7504.14 18527.76 180 bottom R4-14-11 "1206" "unknown" 7504.14 20027.76 180 bottom R4-14-12 "1206" "unknown" 7504.14 21527.76 180 bottom R4-14-13 "1206" "unknown" 7504.14 23027.76 180 bottom R4-14-14 "1206" "unknown" 7504.14 24527.76 180 bottom C15-0-0 "1206" "unknown" 1225.00 3350.00 90 bottom C15-0-1 "1206" "unknown" 1225 4850 90 bottom C15-0-2 "1206" "unknown" 1225 6350 90 bottom C15-0-3 "1206" "unknown" 1225 7850 90 bottom C15-0-4 "1206" "unknown" 1225 9350 90 bottom C15-0-5 "1206" "unknown" 1225 10850 90 bottom C15-0-6 "1206" "unknown" 1225 12350 90 bottom C15-0-7 "1206" "unknown" 1225 13850 90 bottom C15-0-8 "1206" "unknown" 1225 15350 90 bottom C15-0-9 "1206" "unknown" 1225 16850 90 bottom C15-0-10 "1206" "unknown" 1225 18350 90 bottom C15-0-11 "1206" "unknown" 1225 19850 90 bottom C15-0-12 "1206" "unknown" 1225 21350 90 bottom C15-0-13 "1206" "unknown" 1225 22850 90 bottom C15-0-14 "1206" "unknown" 1225 24350 90 bottom C15-1-0 "1206" "unknown" 1725 3350 90 bottom C15-1-1 "1206" "unknown" 1725 4850 90 bottom C15-1-2 "1206" "unknown" 1725 6350 90 bottom C15-1-3 "1206" "unknown" 1725 7850 90 bottom C15-1-4 "1206" "unknown" 1725 9350 90 bottom C15-1-5 "1206" "unknown" 1725 10850 90 bottom C15-1-6 "1206" "unknown" 1725 12350 90 bottom C15-1-7 "1206" "unknown" 1725 13850 90 bottom C15-1-8 "1206" "unknown" 1725 15350 90 bottom C15-1-9 "1206" "unknown" 1725 16850 90 bottom C15-1-10 "1206" "unknown" 1725 18350 90 bottom C15-1-11 "1206" "unknown" 1725 19850 90 bottom C15-1-12 "1206" "unknown" 1725 21350 90 bottom C15-1-13 "1206" "unknown" 1725 22850 90 bottom C15-1-14 "1206" "unknown" 1725 24350 90 bottom C15-2-0 "1206" "unknown" 2225 3350 90 bottom C15-2-1 "1206" "unknown" 2225 4850 90 bottom C15-2-2 "1206" "unknown" 2225 6350 90 bottom C15-2-3 "1206" "unknown" 2225 7850 90 bottom C15-2-4 "1206" "unknown" 2225 9350 90 bottom C15-2-5 "1206" "unknown" 2225 10850 90 bottom C15-2-6 "1206" "unknown" 2225 12350 90 bottom C15-2-7 "1206" "unknown" 2225 13850 90 bottom C15-2-8 "1206" "unknown" 2225 15350 90 bottom C15-2-9 "1206" "unknown" 2225 16850 90 bottom C15-2-10 "1206" "unknown" 2225 18350 90 bottom C15-2-11 "1206" "unknown" 2225 19850 90 bottom C15-2-12 "1206" "unknown" 2225 21350 90 bottom C15-2-13 "1206" "unknown" 2225 22850 90 bottom C15-2-14 "1206" "unknown" 2225 24350 90 bottom C15-3-0 "1206" "unknown" 2725 3350 90 bottom C15-3-1 "1206" "unknown" 2725 4850 90 bottom C15-3-2 "1206" "unknown" 2725 6350 90 bottom C15-3-3 "1206" "unknown" 2725 7850 90 bottom C15-3-4 "1206" "unknown" 2725 9350 90 bottom C15-3-5 "1206" "unknown" 2725 10850 90 bottom C15-3-6 "1206" "unknown" 2725 12350 90 bottom C15-3-7 "1206" "unknown" 2725 13850 90 bottom C15-3-8 "1206" "unknown" 2725 15350 90 bottom C15-3-9 "1206" "unknown" 2725 16850 90 bottom C15-3-10 "1206" "unknown" 2725 18350 90 bottom C15-3-11 "1206" "unknown" 2725 19850 90 bottom C15-3-12 "1206" "unknown" 2725 21350 90 bottom C15-3-13 "1206" "unknown" 2725 22850 90 bottom C15-3-14 "1206" "unknown" 2725 24350 90 bottom C15-4-0 "1206" "unknown" 3225 3350 90 bottom C15-4-1 "1206" "unknown" 3225 4850 90 bottom C15-4-2 "1206" "unknown" 3225 6350 90 bottom C15-4-3 "1206" "unknown" 3225 7850 90 bottom C15-4-4 "1206" "unknown" 3225 9350 90 bottom C15-4-5 "1206" "unknown" 3225 10850 90 bottom C15-4-6 "1206" "unknown" 3225 12350 90 bottom C15-4-7 "1206" "unknown" 3225 13850 90 bottom C15-4-8 "1206" "unknown" 3225 15350 90 bottom C15-4-9 "1206" "unknown" 3225 16850 90 bottom C15-4-10 "1206" "unknown" 3225 18350 90 bottom C15-4-11 "1206" "unknown" 3225 19850 90 bottom C15-4-12 "1206" "unknown" 3225 21350 90 bottom C15-4-13 "1206" "unknown" 3225 22850 90 bottom C15-4-14 "1206" "unknown" 3225 24350 90 bottom C15-5-0 "1206" "unknown" 3725 3350 90 bottom C15-5-1 "1206" "unknown" 3725 4850 90 bottom C15-5-2 "1206" "unknown" 3725 6350 90 bottom C15-5-3 "1206" "unknown" 3725 7850 90 bottom C15-5-4 "1206" "unknown" 3725 9350 90 bottom C15-5-5 "1206" "unknown" 3725 10850 90 bottom C15-5-6 "1206" "unknown" 3725 12350 90 bottom C15-5-7 "1206" "unknown" 3725 13850 90 bottom C15-5-8 "1206" "unknown" 3725 15350 90 bottom C15-5-9 "1206" "unknown" 3725 16850 90 bottom C15-5-10 "1206" "unknown" 3725 18350 90 bottom C15-5-11 "1206" "unknown" 3725 19850 90 bottom C15-5-12 "1206" "unknown" 3725 21350 90 bottom C15-5-13 "1206" "unknown" 3725 22850 90 bottom C15-5-14 "1206" "unknown" 3725 24350 90 bottom C15-6-0 "1206" "unknown" 4225 3350 90 bottom C15-6-1 "1206" "unknown" 4225 4850 90 bottom C15-6-2 "1206" "unknown" 4225 6350 90 bottom C15-6-3 "1206" "unknown" 4225 7850 90 bottom C15-6-4 "1206" "unknown" 4225 9350 90 bottom C15-6-5 "1206" "unknown" 4225 10850 90 bottom C15-6-6 "1206" "unknown" 4225 12350 90 bottom C15-6-7 "1206" "unknown" 4225 13850 90 bottom C15-6-8 "1206" "unknown" 4225 15350 90 bottom C15-6-9 "1206" "unknown" 4225 16850 90 bottom C15-6-10 "1206" "unknown" 4225 18350 90 bottom C15-6-11 "1206" "unknown" 4225 19850 90 bottom C15-6-12 "1206" "unknown" 4225 21350 90 bottom C15-6-13 "1206" "unknown" 4225 22850 90 bottom C15-6-14 "1206" "unknown" 4225 24350 90 bottom C15-7-0 "1206" "unknown" 4725 3350 90 bottom C15-7-1 "1206" "unknown" 4725 4850 90 bottom C15-7-2 "1206" "unknown" 4725 6350 90 bottom C15-7-3 "1206" "unknown" 4725 7850 90 bottom C15-7-4 "1206" "unknown" 4725 9350 90 bottom C15-7-5 "1206" "unknown" 4725 10850 90 bottom C15-7-6 "1206" "unknown" 4725 12350 90 bottom C15-7-7 "1206" "unknown" 4725 13850 90 bottom C15-7-8 "1206" "unknown" 4725 15350 90 bottom C15-7-9 "1206" "unknown" 4725 16850 90 bottom C15-7-10 "1206" "unknown" 4725 18350 90 bottom C15-7-11 "1206" "unknown" 4725 19850 90 bottom C15-7-12 "1206" "unknown" 4725 21350 90 bottom C15-7-13 "1206" "unknown" 4725 22850 90 bottom C15-7-14 "1206" "unknown" 4725 24350 90 bottom C15-8-0 "1206" "unknown" 5225 3350 90 bottom C15-8-1 "1206" "unknown" 5225 4850 90 bottom C15-8-2 "1206" "unknown" 5225 6350 90 bottom C15-8-3 "1206" "unknown" 5225 7850 90 bottom C15-8-4 "1206" "unknown" 5225 9350 90 bottom C15-8-5 "1206" "unknown" 5225 10850 90 bottom C15-8-6 "1206" "unknown" 5225 12350 90 bottom C15-8-7 "1206" "unknown" 5225 13850 90 bottom C15-8-8 "1206" "unknown" 5225 15350 90 bottom C15-8-9 "1206" "unknown" 5225 16850 90 bottom C15-8-10 "1206" "unknown" 5225 18350 90 bottom C15-8-11 "1206" "unknown" 5225 19850 90 bottom C15-8-12 "1206" "unknown" 5225 21350 90 bottom C15-8-13 "1206" "unknown" 5225 22850 90 bottom C15-8-14 "1206" "unknown" 5225 24350 90 bottom C15-9-0 "1206" "unknown" 5725 3350 90 bottom C15-9-1 "1206" "unknown" 5725 4850 90 bottom C15-9-2 "1206" "unknown" 5725 6350 90 bottom C15-9-3 "1206" "unknown" 5725 7850 90 bottom C15-9-4 "1206" "unknown" 5725 9350 90 bottom C15-9-5 "1206" "unknown" 5725 10850 90 bottom C15-9-6 "1206" "unknown" 5725 12350 90 bottom C15-9-7 "1206" "unknown" 5725 13850 90 bottom C15-9-8 "1206" "unknown" 5725 15350 90 bottom C15-9-9 "1206" "unknown" 5725 16850 90 bottom C15-9-10 "1206" "unknown" 5725 18350 90 bottom C15-9-11 "1206" "unknown" 5725 19850 90 bottom C15-9-12 "1206" "unknown" 5725 21350 90 bottom C15-9-13 "1206" "unknown" 5725 22850 90 bottom C15-9-14 "1206" "unknown" 5725 24350 90 bottom C15-10-0 "1206" "unknown" 6225 3350 90 bottom C15-10-1 "1206" "unknown" 6225 4850 90 bottom C15-10-2 "1206" "unknown" 6225 6350 90 bottom C15-10-3 "1206" "unknown" 6225 7850 90 bottom C15-10-4 "1206" "unknown" 6225 9350 90 bottom C15-10-5 "1206" "unknown" 6225 10850 90 bottom C15-10-6 "1206" "unknown" 6225 12350 90 bottom C15-10-7 "1206" "unknown" 6225 13850 90 bottom C15-10-8 "1206" "unknown" 6225 15350 90 bottom C15-10-9 "1206" "unknown" 6225 16850 90 bottom C15-10-10 "1206" "unknown" 6225 18350 90 bottom C15-10-11 "1206" "unknown" 6225 19850 90 bottom C15-10-12 "1206" "unknown" 6225 21350 90 bottom C15-10-13 "1206" "unknown" 6225 22850 90 bottom C15-10-14 "1206" "unknown" 6225 24350 90 bottom C15-11-0 "1206" "unknown" 6725 3350 90 bottom C15-11-1 "1206" "unknown" 6725 4850 90 bottom C15-11-2 "1206" "unknown" 6725 6350 90 bottom C15-11-3 "1206" "unknown" 6725 7850 90 bottom C15-11-4 "1206" "unknown" 6725 9350 90 bottom C15-11-5 "1206" "unknown" 6725 10850 90 bottom C15-11-6 "1206" "unknown" 6725 12350 90 bottom C15-11-7 "1206" "unknown" 6725 13850 90 bottom C15-11-8 "1206" "unknown" 6725 15350 90 bottom C15-11-9 "1206" "unknown" 6725 16850 90 bottom C15-11-10 "1206" "unknown" 6725 18350 90 bottom C15-11-11 "1206" "unknown" 6725 19850 90 bottom C15-11-12 "1206" "unknown" 6725 21350 90 bottom C15-11-13 "1206" "unknown" 6725 22850 90 bottom C15-11-14 "1206" "unknown" 6725 24350 90 bottom C15-12-0 "1206" "unknown" 7225 3350 90 bottom C15-12-1 "1206" "unknown" 7225 4850 90 bottom C15-12-2 "1206" "unknown" 7225 6350 90 bottom C15-12-3 "1206" "unknown" 7225 7850 90 bottom C15-12-4 "1206" "unknown" 7225 9350 90 bottom C15-12-5 "1206" "unknown" 7225 10850 90 bottom C15-12-6 "1206" "unknown" 7225 12350 90 bottom C15-12-7 "1206" "unknown" 7225 13850 90 bottom C15-12-8 "1206" "unknown" 7225 15350 90 bottom C15-12-9 "1206" "unknown" 7225 16850 90 bottom C15-12-10 "1206" "unknown" 7225 18350 90 bottom C15-12-11 "1206" "unknown" 7225 19850 90 bottom C15-12-12 "1206" "unknown" 7225 21350 90 bottom C15-12-13 "1206" "unknown" 7225 22850 90 bottom C15-12-14 "1206" "unknown" 7225 24350 90 bottom C15-13-0 "1206" "unknown" 7725 3350 90 bottom C15-13-1 "1206" "unknown" 7725 4850 90 bottom C15-13-2 "1206" "unknown" 7725 6350 90 bottom C15-13-3 "1206" "unknown" 7725 7850 90 bottom C15-13-4 "1206" "unknown" 7725 9350 90 bottom C15-13-5 "1206" "unknown" 7725 10850 90 bottom C15-13-6 "1206" "unknown" 7725 12350 90 bottom C15-13-7 "1206" "unknown" 7725 13850 90 bottom C15-13-8 "1206" "unknown" 7725 15350 90 bottom C15-13-9 "1206" "unknown" 7725 16850 90 bottom C15-13-10 "1206" "unknown" 7725 18350 90 bottom C15-13-11 "1206" "unknown" 7725 19850 90 bottom C15-13-12 "1206" "unknown" 7725 21350 90 bottom C15-13-13 "1206" "unknown" 7725 22850 90 bottom C15-13-14 "1206" "unknown" 7725 24350 90 bottom C15-14-0 "1206" "unknown" 8225 3350 90 bottom C15-14-1 "1206" "unknown" 8225 4850 90 bottom C15-14-2 "1206" "unknown" 8225 6350 90 bottom C15-14-3 "1206" "unknown" 8225 7850 90 bottom C15-14-4 "1206" "unknown" 8225 9350 90 bottom C15-14-5 "1206" "unknown" 8225 10850 90 bottom C15-14-6 "1206" "unknown" 8225 12350 90 bottom C15-14-7 "1206" "unknown" 8225 13850 90 bottom C15-14-8 "1206" "unknown" 8225 15350 90 bottom C15-14-9 "1206" "unknown" 8225 16850 90 bottom C15-14-10 "1206" "unknown" 8225 18350 90 bottom C15-14-11 "1206" "unknown" 8225 19850 90 bottom C15-14-12 "1206" "unknown" 8225 21350 90 bottom C15-14-13 "1206" "unknown" 8225 22850 90 bottom C15-14-14 "1206" "unknown" 8225 24350 90 bottom U1-0-0 "TO220" "unknown" 407.50 4180.00 90 top U1-0-1 "TO220" "unknown" 407.5 5680 90 top U1-0-2 "TO220" "unknown" 407.5 7180 90 top U1-0-3 "TO220" "unknown" 407.5 8680 90 top U1-0-4 "TO220" "unknown" 407.5 10180 90 top U1-0-5 "TO220" "unknown" 407.5 11680 90 top U1-0-6 "TO220" "unknown" 407.5 13180 90 top U1-0-7 "TO220" "unknown" 407.5 14680 90 top U1-0-8 "TO220" "unknown" 407.5 16180 90 top U1-0-9 "TO220" "unknown" 407.5 17680 90 top U1-0-10 "TO220" "unknown" 407.5 19180 90 top U1-0-11 "TO220" "unknown" 407.5 20680 90 top U1-0-12 "TO220" "unknown" 407.5 22180 90 top U1-0-13 "TO220" "unknown" 407.5 23680 90 top U1-0-14 "TO220" "unknown" 407.5 25180 90 top U1-1-0 "TO220" "unknown" 907.5 4180 90 top U1-1-1 "TO220" "unknown" 907.5 5680 90 top U1-1-2 "TO220" "unknown" 907.5 7180 90 top U1-1-3 "TO220" "unknown" 907.5 8680 90 top U1-1-4 "TO220" "unknown" 907.5 10180 90 top U1-1-5 "TO220" "unknown" 907.5 11680 90 top U1-1-6 "TO220" "unknown" 907.5 13180 90 top U1-1-7 "TO220" "unknown" 907.5 14680 90 top U1-1-8 "TO220" "unknown" 907.5 16180 90 top U1-1-9 "TO220" "unknown" 907.5 17680 90 top U1-1-10 "TO220" "unknown" 907.5 19180 90 top U1-1-11 "TO220" "unknown" 907.5 20680 90 top U1-1-12 "TO220" "unknown" 907.5 22180 90 top U1-1-13 "TO220" "unknown" 907.5 23680 90 top U1-1-14 "TO220" "unknown" 907.5 25180 90 top U1-2-0 "TO220" "unknown" 1407.5 4180 90 top U1-2-1 "TO220" "unknown" 1407.5 5680 90 top U1-2-2 "TO220" "unknown" 1407.5 7180 90 top U1-2-3 "TO220" "unknown" 1407.5 8680 90 top U1-2-4 "TO220" "unknown" 1407.5 10180 90 top U1-2-5 "TO220" "unknown" 1407.5 11680 90 top U1-2-6 "TO220" "unknown" 1407.5 13180 90 top U1-2-7 "TO220" "unknown" 1407.5 14680 90 top U1-2-8 "TO220" "unknown" 1407.5 16180 90 top U1-2-9 "TO220" "unknown" 1407.5 17680 90 top U1-2-10 "TO220" "unknown" 1407.5 19180 90 top U1-2-11 "TO220" "unknown" 1407.5 20680 90 top U1-2-12 "TO220" "unknown" 1407.5 22180 90 top U1-2-13 "TO220" "unknown" 1407.5 23680 90 top U1-2-14 "TO220" "unknown" 1407.5 25180 90 top U1-3-0 "TO220" "unknown" 1907.5 4180 90 top U1-3-1 "TO220" "unknown" 1907.5 5680 90 top U1-3-2 "TO220" "unknown" 1907.5 7180 90 top U1-3-3 "TO220" "unknown" 1907.5 8680 90 top U1-3-4 "TO220" "unknown" 1907.5 10180 90 top U1-3-5 "TO220" "unknown" 1907.5 11680 90 top U1-3-6 "TO220" "unknown" 1907.5 13180 90 top U1-3-7 "TO220" "unknown" 1907.5 14680 90 top U1-3-8 "TO220" "unknown" 1907.5 16180 90 top U1-3-9 "TO220" "unknown" 1907.5 17680 90 top U1-3-10 "TO220" "unknown" 1907.5 19180 90 top U1-3-11 "TO220" "unknown" 1907.5 20680 90 top U1-3-12 "TO220" "unknown" 1907.5 22180 90 top U1-3-13 "TO220" "unknown" 1907.5 23680 90 top U1-3-14 "TO220" "unknown" 1907.5 25180 90 top U1-4-0 "TO220" "unknown" 2407.5 4180 90 top U1-4-1 "TO220" "unknown" 2407.5 5680 90 top U1-4-2 "TO220" "unknown" 2407.5 7180 90 top U1-4-3 "TO220" "unknown" 2407.5 8680 90 top U1-4-4 "TO220" "unknown" 2407.5 10180 90 top U1-4-5 "TO220" "unknown" 2407.5 11680 90 top U1-4-6 "TO220" "unknown" 2407.5 13180 90 top U1-4-7 "TO220" "unknown" 2407.5 14680 90 top U1-4-8 "TO220" "unknown" 2407.5 16180 90 top U1-4-9 "TO220" "unknown" 2407.5 17680 90 top U1-4-10 "TO220" "unknown" 2407.5 19180 90 top U1-4-11 "TO220" "unknown" 2407.5 20680 90 top U1-4-12 "TO220" "unknown" 2407.5 22180 90 top U1-4-13 "TO220" "unknown" 2407.5 23680 90 top U1-4-14 "TO220" "unknown" 2407.5 25180 90 top U1-5-0 "TO220" "unknown" 2907.5 4180 90 top U1-5-1 "TO220" "unknown" 2907.5 5680 90 top U1-5-2 "TO220" "unknown" 2907.5 7180 90 top U1-5-3 "TO220" "unknown" 2907.5 8680 90 top U1-5-4 "TO220" "unknown" 2907.5 10180 90 top U1-5-5 "TO220" "unknown" 2907.5 11680 90 top U1-5-6 "TO220" "unknown" 2907.5 13180 90 top U1-5-7 "TO220" "unknown" 2907.5 14680 90 top U1-5-8 "TO220" "unknown" 2907.5 16180 90 top U1-5-9 "TO220" "unknown" 2907.5 17680 90 top U1-5-10 "TO220" "unknown" 2907.5 19180 90 top U1-5-11 "TO220" "unknown" 2907.5 20680 90 top U1-5-12 "TO220" "unknown" 2907.5 22180 90 top U1-5-13 "TO220" "unknown" 2907.5 23680 90 top U1-5-14 "TO220" "unknown" 2907.5 25180 90 top U1-6-0 "TO220" "unknown" 3407.5 4180 90 top U1-6-1 "TO220" "unknown" 3407.5 5680 90 top U1-6-2 "TO220" "unknown" 3407.5 7180 90 top U1-6-3 "TO220" "unknown" 3407.5 8680 90 top U1-6-4 "TO220" "unknown" 3407.5 10180 90 top U1-6-5 "TO220" "unknown" 3407.5 11680 90 top U1-6-6 "TO220" "unknown" 3407.5 13180 90 top U1-6-7 "TO220" "unknown" 3407.5 14680 90 top U1-6-8 "TO220" "unknown" 3407.5 16180 90 top U1-6-9 "TO220" "unknown" 3407.5 17680 90 top U1-6-10 "TO220" "unknown" 3407.5 19180 90 top U1-6-11 "TO220" "unknown" 3407.5 20680 90 top U1-6-12 "TO220" "unknown" 3407.5 22180 90 top U1-6-13 "TO220" "unknown" 3407.5 23680 90 top U1-6-14 "TO220" "unknown" 3407.5 25180 90 top U1-7-0 "TO220" "unknown" 3907.5 4180 90 top U1-7-1 "TO220" "unknown" 3907.5 5680 90 top U1-7-2 "TO220" "unknown" 3907.5 7180 90 top U1-7-3 "TO220" "unknown" 3907.5 8680 90 top U1-7-4 "TO220" "unknown" 3907.5 10180 90 top U1-7-5 "TO220" "unknown" 3907.5 11680 90 top U1-7-6 "TO220" "unknown" 3907.5 13180 90 top U1-7-7 "TO220" "unknown" 3907.5 14680 90 top U1-7-8 "TO220" "unknown" 3907.5 16180 90 top U1-7-9 "TO220" "unknown" 3907.5 17680 90 top U1-7-10 "TO220" "unknown" 3907.5 19180 90 top U1-7-11 "TO220" "unknown" 3907.5 20680 90 top U1-7-12 "TO220" "unknown" 3907.5 22180 90 top U1-7-13 "TO220" "unknown" 3907.5 23680 90 top U1-7-14 "TO220" "unknown" 3907.5 25180 90 top U1-8-0 "TO220" "unknown" 4407.5 4180 90 top U1-8-1 "TO220" "unknown" 4407.5 5680 90 top U1-8-2 "TO220" "unknown" 4407.5 7180 90 top U1-8-3 "TO220" "unknown" 4407.5 8680 90 top U1-8-4 "TO220" "unknown" 4407.5 10180 90 top U1-8-5 "TO220" "unknown" 4407.5 11680 90 top U1-8-6 "TO220" "unknown" 4407.5 13180 90 top U1-8-7 "TO220" "unknown" 4407.5 14680 90 top U1-8-8 "TO220" "unknown" 4407.5 16180 90 top U1-8-9 "TO220" "unknown" 4407.5 17680 90 top U1-8-10 "TO220" "unknown" 4407.5 19180 90 top U1-8-11 "TO220" "unknown" 4407.5 20680 90 top U1-8-12 "TO220" "unknown" 4407.5 22180 90 top U1-8-13 "TO220" "unknown" 4407.5 23680 90 top U1-8-14 "TO220" "unknown" 4407.5 25180 90 top U1-9-0 "TO220" "unknown" 4907.5 4180 90 top U1-9-1 "TO220" "unknown" 4907.5 5680 90 top U1-9-2 "TO220" "unknown" 4907.5 7180 90 top U1-9-3 "TO220" "unknown" 4907.5 8680 90 top U1-9-4 "TO220" "unknown" 4907.5 10180 90 top U1-9-5 "TO220" "unknown" 4907.5 11680 90 top U1-9-6 "TO220" "unknown" 4907.5 13180 90 top U1-9-7 "TO220" "unknown" 4907.5 14680 90 top U1-9-8 "TO220" "unknown" 4907.5 16180 90 top U1-9-9 "TO220" "unknown" 4907.5 17680 90 top U1-9-10 "TO220" "unknown" 4907.5 19180 90 top U1-9-11 "TO220" "unknown" 4907.5 20680 90 top U1-9-12 "TO220" "unknown" 4907.5 22180 90 top U1-9-13 "TO220" "unknown" 4907.5 23680 90 top U1-9-14 "TO220" "unknown" 4907.5 25180 90 top U1-10-0 "TO220" "unknown" 5407.5 4180 90 top U1-10-1 "TO220" "unknown" 5407.5 5680 90 top U1-10-2 "TO220" "unknown" 5407.5 7180 90 top U1-10-3 "TO220" "unknown" 5407.5 8680 90 top U1-10-4 "TO220" "unknown" 5407.5 10180 90 top U1-10-5 "TO220" "unknown" 5407.5 11680 90 top U1-10-6 "TO220" "unknown" 5407.5 13180 90 top U1-10-7 "TO220" "unknown" 5407.5 14680 90 top U1-10-8 "TO220" "unknown" 5407.5 16180 90 top U1-10-9 "TO220" "unknown" 5407.5 17680 90 top U1-10-10 "TO220" "unknown" 5407.5 19180 90 top U1-10-11 "TO220" "unknown" 5407.5 20680 90 top U1-10-12 "TO220" "unknown" 5407.5 22180 90 top U1-10-13 "TO220" "unknown" 5407.5 23680 90 top U1-10-14 "TO220" "unknown" 5407.5 25180 90 top U1-11-0 "TO220" "unknown" 5907.5 4180 90 top U1-11-1 "TO220" "unknown" 5907.5 5680 90 top U1-11-2 "TO220" "unknown" 5907.5 7180 90 top U1-11-3 "TO220" "unknown" 5907.5 8680 90 top U1-11-4 "TO220" "unknown" 5907.5 10180 90 top U1-11-5 "TO220" "unknown" 5907.5 11680 90 top U1-11-6 "TO220" "unknown" 5907.5 13180 90 top U1-11-7 "TO220" "unknown" 5907.5 14680 90 top U1-11-8 "TO220" "unknown" 5907.5 16180 90 top U1-11-9 "TO220" "unknown" 5907.5 17680 90 top U1-11-10 "TO220" "unknown" 5907.5 19180 90 top U1-11-11 "TO220" "unknown" 5907.5 20680 90 top U1-11-12 "TO220" "unknown" 5907.5 22180 90 top U1-11-13 "TO220" "unknown" 5907.5 23680 90 top U1-11-14 "TO220" "unknown" 5907.5 25180 90 top U1-12-0 "TO220" "unknown" 6407.5 4180 90 top U1-12-1 "TO220" "unknown" 6407.5 5680 90 top U1-12-2 "TO220" "unknown" 6407.5 7180 90 top U1-12-3 "TO220" "unknown" 6407.5 8680 90 top U1-12-4 "TO220" "unknown" 6407.5 10180 90 top U1-12-5 "TO220" "unknown" 6407.5 11680 90 top U1-12-6 "TO220" "unknown" 6407.5 13180 90 top U1-12-7 "TO220" "unknown" 6407.5 14680 90 top U1-12-8 "TO220" "unknown" 6407.5 16180 90 top U1-12-9 "TO220" "unknown" 6407.5 17680 90 top U1-12-10 "TO220" "unknown" 6407.5 19180 90 top U1-12-11 "TO220" "unknown" 6407.5 20680 90 top U1-12-12 "TO220" "unknown" 6407.5 22180 90 top U1-12-13 "TO220" "unknown" 6407.5 23680 90 top U1-12-14 "TO220" "unknown" 6407.5 25180 90 top U1-13-0 "TO220" "unknown" 6907.5 4180 90 top U1-13-1 "TO220" "unknown" 6907.5 5680 90 top U1-13-2 "TO220" "unknown" 6907.5 7180 90 top U1-13-3 "TO220" "unknown" 6907.5 8680 90 top U1-13-4 "TO220" "unknown" 6907.5 10180 90 top U1-13-5 "TO220" "unknown" 6907.5 11680 90 top U1-13-6 "TO220" "unknown" 6907.5 13180 90 top U1-13-7 "TO220" "unknown" 6907.5 14680 90 top U1-13-8 "TO220" "unknown" 6907.5 16180 90 top U1-13-9 "TO220" "unknown" 6907.5 17680 90 top U1-13-10 "TO220" "unknown" 6907.5 19180 90 top U1-13-11 "TO220" "unknown" 6907.5 20680 90 top U1-13-12 "TO220" "unknown" 6907.5 22180 90 top U1-13-13 "TO220" "unknown" 6907.5 23680 90 top U1-13-14 "TO220" "unknown" 6907.5 25180 90 top U1-14-0 "TO220" "unknown" 7407.5 4180 90 top U1-14-1 "TO220" "unknown" 7407.5 5680 90 top U1-14-2 "TO220" "unknown" 7407.5 7180 90 top U1-14-3 "TO220" "unknown" 7407.5 8680 90 top U1-14-4 "TO220" "unknown" 7407.5 10180 90 top U1-14-5 "TO220" "unknown" 7407.5 11680 90 top U1-14-6 "TO220" "unknown" 7407.5 13180 90 top U1-14-7 "TO220" "unknown" 7407.5 14680 90 top U1-14-8 "TO220" "unknown" 7407.5 16180 90 top U1-14-9 "TO220" "unknown" 7407.5 17680 90 top U1-14-10 "TO220" "unknown" 7407.5 19180 90 top U1-14-11 "TO220" "unknown" 7407.5 20680 90 top U1-14-12 "TO220" "unknown" 7407.5 22180 90 top U1-14-13 "TO220" "unknown" 7407.5 23680 90 top U1-14-14 "TO220" "unknown" 7407.5 25180 90 top R9-0-0 "1206" "1k" 1875.00 3350.00 90 bottom R9-0-1 "1206" "1k" 1875 4850 90 bottom R9-0-2 "1206" "1k" 1875 6350 90 bottom R9-0-3 "1206" "1k" 1875 7850 90 bottom R9-0-4 "1206" "1k" 1875 9350 90 bottom R9-0-5 "1206" "1k" 1875 10850 90 bottom R9-0-6 "1206" "1k" 1875 12350 90 bottom R9-0-7 "1206" "1k" 1875 13850 90 bottom R9-0-8 "1206" "1k" 1875 15350 90 bottom R9-0-9 "1206" "1k" 1875 16850 90 bottom R9-0-10 "1206" "1k" 1875 18350 90 bottom R9-0-11 "1206" "1k" 1875 19850 90 bottom R9-0-12 "1206" "1k" 1875 21350 90 bottom R9-0-13 "1206" "1k" 1875 22850 90 bottom R9-0-14 "1206" "1k" 1875 24350 90 bottom R9-1-0 "1206" "1k" 2375 3350 90 bottom R9-1-1 "1206" "1k" 2375 4850 90 bottom R9-1-2 "1206" "1k" 2375 6350 90 bottom R9-1-3 "1206" "1k" 2375 7850 90 bottom R9-1-4 "1206" "1k" 2375 9350 90 bottom R9-1-5 "1206" "1k" 2375 10850 90 bottom R9-1-6 "1206" "1k" 2375 12350 90 bottom R9-1-7 "1206" "1k" 2375 13850 90 bottom R9-1-8 "1206" "1k" 2375 15350 90 bottom R9-1-9 "1206" "1k" 2375 16850 90 bottom R9-1-10 "1206" "1k" 2375 18350 90 bottom R9-1-11 "1206" "1k" 2375 19850 90 bottom R9-1-12 "1206" "1k" 2375 21350 90 bottom R9-1-13 "1206" "1k" 2375 22850 90 bottom R9-1-14 "1206" "1k" 2375 24350 90 bottom R9-2-0 "1206" "1k" 2875 3350 90 bottom R9-2-1 "1206" "1k" 2875 4850 90 bottom R9-2-2 "1206" "1k" 2875 6350 90 bottom R9-2-3 "1206" "1k" 2875 7850 90 bottom R9-2-4 "1206" "1k" 2875 9350 90 bottom R9-2-5 "1206" "1k" 2875 10850 90 bottom R9-2-6 "1206" "1k" 2875 12350 90 bottom R9-2-7 "1206" "1k" 2875 13850 90 bottom R9-2-8 "1206" "1k" 2875 15350 90 bottom R9-2-9 "1206" "1k" 2875 16850 90 bottom R9-2-10 "1206" "1k" 2875 18350 90 bottom R9-2-11 "1206" "1k" 2875 19850 90 bottom R9-2-12 "1206" "1k" 2875 21350 90 bottom R9-2-13 "1206" "1k" 2875 22850 90 bottom R9-2-14 "1206" "1k" 2875 24350 90 bottom R9-3-0 "1206" "1k" 3375 3350 90 bottom R9-3-1 "1206" "1k" 3375 4850 90 bottom R9-3-2 "1206" "1k" 3375 6350 90 bottom R9-3-3 "1206" "1k" 3375 7850 90 bottom R9-3-4 "1206" "1k" 3375 9350 90 bottom R9-3-5 "1206" "1k" 3375 10850 90 bottom R9-3-6 "1206" "1k" 3375 12350 90 bottom R9-3-7 "1206" "1k" 3375 13850 90 bottom R9-3-8 "1206" "1k" 3375 15350 90 bottom R9-3-9 "1206" "1k" 3375 16850 90 bottom R9-3-10 "1206" "1k" 3375 18350 90 bottom R9-3-11 "1206" "1k" 3375 19850 90 bottom R9-3-12 "1206" "1k" 3375 21350 90 bottom R9-3-13 "1206" "1k" 3375 22850 90 bottom R9-3-14 "1206" "1k" 3375 24350 90 bottom R9-4-0 "1206" "1k" 3875 3350 90 bottom R9-4-1 "1206" "1k" 3875 4850 90 bottom R9-4-2 "1206" "1k" 3875 6350 90 bottom R9-4-3 "1206" "1k" 3875 7850 90 bottom R9-4-4 "1206" "1k" 3875 9350 90 bottom R9-4-5 "1206" "1k" 3875 10850 90 bottom R9-4-6 "1206" "1k" 3875 12350 90 bottom R9-4-7 "1206" "1k" 3875 13850 90 bottom R9-4-8 "1206" "1k" 3875 15350 90 bottom R9-4-9 "1206" "1k" 3875 16850 90 bottom R9-4-10 "1206" "1k" 3875 18350 90 bottom R9-4-11 "1206" "1k" 3875 19850 90 bottom R9-4-12 "1206" "1k" 3875 21350 90 bottom R9-4-13 "1206" "1k" 3875 22850 90 bottom R9-4-14 "1206" "1k" 3875 24350 90 bottom R9-5-0 "1206" "1k" 4375 3350 90 bottom R9-5-1 "1206" "1k" 4375 4850 90 bottom R9-5-2 "1206" "1k" 4375 6350 90 bottom R9-5-3 "1206" "1k" 4375 7850 90 bottom R9-5-4 "1206" "1k" 4375 9350 90 bottom R9-5-5 "1206" "1k" 4375 10850 90 bottom R9-5-6 "1206" "1k" 4375 12350 90 bottom R9-5-7 "1206" "1k" 4375 13850 90 bottom R9-5-8 "1206" "1k" 4375 15350 90 bottom R9-5-9 "1206" "1k" 4375 16850 90 bottom R9-5-10 "1206" "1k" 4375 18350 90 bottom R9-5-11 "1206" "1k" 4375 19850 90 bottom R9-5-12 "1206" "1k" 4375 21350 90 bottom R9-5-13 "1206" "1k" 4375 22850 90 bottom R9-5-14 "1206" "1k" 4375 24350 90 bottom R9-6-0 "1206" "1k" 4875 3350 90 bottom R9-6-1 "1206" "1k" 4875 4850 90 bottom R9-6-2 "1206" "1k" 4875 6350 90 bottom R9-6-3 "1206" "1k" 4875 7850 90 bottom R9-6-4 "1206" "1k" 4875 9350 90 bottom R9-6-5 "1206" "1k" 4875 10850 90 bottom R9-6-6 "1206" "1k" 4875 12350 90 bottom R9-6-7 "1206" "1k" 4875 13850 90 bottom R9-6-8 "1206" "1k" 4875 15350 90 bottom R9-6-9 "1206" "1k" 4875 16850 90 bottom R9-6-10 "1206" "1k" 4875 18350 90 bottom R9-6-11 "1206" "1k" 4875 19850 90 bottom R9-6-12 "1206" "1k" 4875 21350 90 bottom R9-6-13 "1206" "1k" 4875 22850 90 bottom R9-6-14 "1206" "1k" 4875 24350 90 bottom R9-7-0 "1206" "1k" 5375 3350 90 bottom R9-7-1 "1206" "1k" 5375 4850 90 bottom R9-7-2 "1206" "1k" 5375 6350 90 bottom R9-7-3 "1206" "1k" 5375 7850 90 bottom R9-7-4 "1206" "1k" 5375 9350 90 bottom R9-7-5 "1206" "1k" 5375 10850 90 bottom R9-7-6 "1206" "1k" 5375 12350 90 bottom R9-7-7 "1206" "1k" 5375 13850 90 bottom R9-7-8 "1206" "1k" 5375 15350 90 bottom R9-7-9 "1206" "1k" 5375 16850 90 bottom R9-7-10 "1206" "1k" 5375 18350 90 bottom R9-7-11 "1206" "1k" 5375 19850 90 bottom R9-7-12 "1206" "1k" 5375 21350 90 bottom R9-7-13 "1206" "1k" 5375 22850 90 bottom R9-7-14 "1206" "1k" 5375 24350 90 bottom R9-8-0 "1206" "1k" 5875 3350 90 bottom R9-8-1 "1206" "1k" 5875 4850 90 bottom R9-8-2 "1206" "1k" 5875 6350 90 bottom R9-8-3 "1206" "1k" 5875 7850 90 bottom R9-8-4 "1206" "1k" 5875 9350 90 bottom R9-8-5 "1206" "1k" 5875 10850 90 bottom R9-8-6 "1206" "1k" 5875 12350 90 bottom R9-8-7 "1206" "1k" 5875 13850 90 bottom R9-8-8 "1206" "1k" 5875 15350 90 bottom R9-8-9 "1206" "1k" 5875 16850 90 bottom R9-8-10 "1206" "1k" 5875 18350 90 bottom R9-8-11 "1206" "1k" 5875 19850 90 bottom R9-8-12 "1206" "1k" 5875 21350 90 bottom R9-8-13 "1206" "1k" 5875 22850 90 bottom R9-8-14 "1206" "1k" 5875 24350 90 bottom R9-9-0 "1206" "1k" 6375 3350 90 bottom R9-9-1 "1206" "1k" 6375 4850 90 bottom R9-9-2 "1206" "1k" 6375 6350 90 bottom R9-9-3 "1206" "1k" 6375 7850 90 bottom R9-9-4 "1206" "1k" 6375 9350 90 bottom R9-9-5 "1206" "1k" 6375 10850 90 bottom R9-9-6 "1206" "1k" 6375 12350 90 bottom R9-9-7 "1206" "1k" 6375 13850 90 bottom R9-9-8 "1206" "1k" 6375 15350 90 bottom R9-9-9 "1206" "1k" 6375 16850 90 bottom R9-9-10 "1206" "1k" 6375 18350 90 bottom R9-9-11 "1206" "1k" 6375 19850 90 bottom R9-9-12 "1206" "1k" 6375 21350 90 bottom R9-9-13 "1206" "1k" 6375 22850 90 bottom R9-9-14 "1206" "1k" 6375 24350 90 bottom R9-10-0 "1206" "1k" 6875 3350 90 bottom R9-10-1 "1206" "1k" 6875 4850 90 bottom R9-10-2 "1206" "1k" 6875 6350 90 bottom R9-10-3 "1206" "1k" 6875 7850 90 bottom R9-10-4 "1206" "1k" 6875 9350 90 bottom R9-10-5 "1206" "1k" 6875 10850 90 bottom R9-10-6 "1206" "1k" 6875 12350 90 bottom R9-10-7 "1206" "1k" 6875 13850 90 bottom R9-10-8 "1206" "1k" 6875 15350 90 bottom R9-10-9 "1206" "1k" 6875 16850 90 bottom R9-10-10 "1206" "1k" 6875 18350 90 bottom R9-10-11 "1206" "1k" 6875 19850 90 bottom R9-10-12 "1206" "1k" 6875 21350 90 bottom R9-10-13 "1206" "1k" 6875 22850 90 bottom R9-10-14 "1206" "1k" 6875 24350 90 bottom R9-11-0 "1206" "1k" 7375 3350 90 bottom R9-11-1 "1206" "1k" 7375 4850 90 bottom R9-11-2 "1206" "1k" 7375 6350 90 bottom R9-11-3 "1206" "1k" 7375 7850 90 bottom R9-11-4 "1206" "1k" 7375 9350 90 bottom R9-11-5 "1206" "1k" 7375 10850 90 bottom R9-11-6 "1206" "1k" 7375 12350 90 bottom R9-11-7 "1206" "1k" 7375 13850 90 bottom R9-11-8 "1206" "1k" 7375 15350 90 bottom R9-11-9 "1206" "1k" 7375 16850 90 bottom R9-11-10 "1206" "1k" 7375 18350 90 bottom R9-11-11 "1206" "1k" 7375 19850 90 bottom R9-11-12 "1206" "1k" 7375 21350 90 bottom R9-11-13 "1206" "1k" 7375 22850 90 bottom R9-11-14 "1206" "1k" 7375 24350 90 bottom R9-12-0 "1206" "1k" 7875 3350 90 bottom R9-12-1 "1206" "1k" 7875 4850 90 bottom R9-12-2 "1206" "1k" 7875 6350 90 bottom R9-12-3 "1206" "1k" 7875 7850 90 bottom R9-12-4 "1206" "1k" 7875 9350 90 bottom R9-12-5 "1206" "1k" 7875 10850 90 bottom R9-12-6 "1206" "1k" 7875 12350 90 bottom R9-12-7 "1206" "1k" 7875 13850 90 bottom R9-12-8 "1206" "1k" 7875 15350 90 bottom R9-12-9 "1206" "1k" 7875 16850 90 bottom R9-12-10 "1206" "1k" 7875 18350 90 bottom R9-12-11 "1206" "1k" 7875 19850 90 bottom R9-12-12 "1206" "1k" 7875 21350 90 bottom R9-12-13 "1206" "1k" 7875 22850 90 bottom R9-12-14 "1206" "1k" 7875 24350 90 bottom R9-13-0 "1206" "1k" 8375 3350 90 bottom R9-13-1 "1206" "1k" 8375 4850 90 bottom R9-13-2 "1206" "1k" 8375 6350 90 bottom R9-13-3 "1206" "1k" 8375 7850 90 bottom R9-13-4 "1206" "1k" 8375 9350 90 bottom R9-13-5 "1206" "1k" 8375 10850 90 bottom R9-13-6 "1206" "1k" 8375 12350 90 bottom R9-13-7 "1206" "1k" 8375 13850 90 bottom R9-13-8 "1206" "1k" 8375 15350 90 bottom R9-13-9 "1206" "1k" 8375 16850 90 bottom R9-13-10 "1206" "1k" 8375 18350 90 bottom R9-13-11 "1206" "1k" 8375 19850 90 bottom R9-13-12 "1206" "1k" 8375 21350 90 bottom R9-13-13 "1206" "1k" 8375 22850 90 bottom R9-13-14 "1206" "1k" 8375 24350 90 bottom R9-14-0 "1206" "1k" 8875 3350 90 bottom R9-14-1 "1206" "1k" 8875 4850 90 bottom R9-14-2 "1206" "1k" 8875 6350 90 bottom R9-14-3 "1206" "1k" 8875 7850 90 bottom R9-14-4 "1206" "1k" 8875 9350 90 bottom R9-14-5 "1206" "1k" 8875 10850 90 bottom R9-14-6 "1206" "1k" 8875 12350 90 bottom R9-14-7 "1206" "1k" 8875 13850 90 bottom R9-14-8 "1206" "1k" 8875 15350 90 bottom R9-14-9 "1206" "1k" 8875 16850 90 bottom R9-14-10 "1206" "1k" 8875 18350 90 bottom R9-14-11 "1206" "1k" 8875 19850 90 bottom R9-14-12 "1206" "1k" 8875 21350 90 bottom R9-14-13 "1206" "1k" 8875 22850 90 bottom R9-14-14 "1206" "1k" 8875 24350 90 bottom R10-0-0 "1206" "1k" 1550.00 3300.00 0 bottom R10-0-1 "1206" "1k" 1550 4800 0 bottom R10-0-2 "1206" "1k" 1550 6300 0 bottom R10-0-3 "1206" "1k" 1550 7800 0 bottom R10-0-4 "1206" "1k" 1550 9300 0 bottom R10-0-5 "1206" "1k" 1550 10800 0 bottom R10-0-6 "1206" "1k" 1550 12300 0 bottom R10-0-7 "1206" "1k" 1550 13800 0 bottom R10-0-8 "1206" "1k" 1550 15300 0 bottom R10-0-9 "1206" "1k" 1550 16800 0 bottom R10-0-10 "1206" "1k" 1550 18300 0 bottom R10-0-11 "1206" "1k" 1550 19800 0 bottom R10-0-12 "1206" "1k" 1550 21300 0 bottom R10-0-13 "1206" "1k" 1550 22800 0 bottom R10-0-14 "1206" "1k" 1550 24300 0 bottom R10-1-0 "1206" "1k" 2050 3300 0 bottom R10-1-1 "1206" "1k" 2050 4800 0 bottom R10-1-2 "1206" "1k" 2050 6300 0 bottom R10-1-3 "1206" "1k" 2050 7800 0 bottom R10-1-4 "1206" "1k" 2050 9300 0 bottom R10-1-5 "1206" "1k" 2050 10800 0 bottom R10-1-6 "1206" "1k" 2050 12300 0 bottom R10-1-7 "1206" "1k" 2050 13800 0 bottom R10-1-8 "1206" "1k" 2050 15300 0 bottom R10-1-9 "1206" "1k" 2050 16800 0 bottom R10-1-10 "1206" "1k" 2050 18300 0 bottom R10-1-11 "1206" "1k" 2050 19800 0 bottom R10-1-12 "1206" "1k" 2050 21300 0 bottom R10-1-13 "1206" "1k" 2050 22800 0 bottom R10-1-14 "1206" "1k" 2050 24300 0 bottom R10-2-0 "1206" "1k" 2550 3300 0 bottom R10-2-1 "1206" "1k" 2550 4800 0 bottom R10-2-2 "1206" "1k" 2550 6300 0 bottom R10-2-3 "1206" "1k" 2550 7800 0 bottom R10-2-4 "1206" "1k" 2550 9300 0 bottom R10-2-5 "1206" "1k" 2550 10800 0 bottom R10-2-6 "1206" "1k" 2550 12300 0 bottom R10-2-7 "1206" "1k" 2550 13800 0 bottom R10-2-8 "1206" "1k" 2550 15300 0 bottom R10-2-9 "1206" "1k" 2550 16800 0 bottom R10-2-10 "1206" "1k" 2550 18300 0 bottom R10-2-11 "1206" "1k" 2550 19800 0 bottom R10-2-12 "1206" "1k" 2550 21300 0 bottom R10-2-13 "1206" "1k" 2550 22800 0 bottom R10-2-14 "1206" "1k" 2550 24300 0 bottom R10-3-0 "1206" "1k" 3050 3300 0 bottom R10-3-1 "1206" "1k" 3050 4800 0 bottom R10-3-2 "1206" "1k" 3050 6300 0 bottom R10-3-3 "1206" "1k" 3050 7800 0 bottom R10-3-4 "1206" "1k" 3050 9300 0 bottom R10-3-5 "1206" "1k" 3050 10800 0 bottom R10-3-6 "1206" "1k" 3050 12300 0 bottom R10-3-7 "1206" "1k" 3050 13800 0 bottom R10-3-8 "1206" "1k" 3050 15300 0 bottom R10-3-9 "1206" "1k" 3050 16800 0 bottom R10-3-10 "1206" "1k" 3050 18300 0 bottom R10-3-11 "1206" "1k" 3050 19800 0 bottom R10-3-12 "1206" "1k" 3050 21300 0 bottom R10-3-13 "1206" "1k" 3050 22800 0 bottom R10-3-14 "1206" "1k" 3050 24300 0 bottom R10-4-0 "1206" "1k" 3550 3300 0 bottom R10-4-1 "1206" "1k" 3550 4800 0 bottom R10-4-2 "1206" "1k" 3550 6300 0 bottom R10-4-3 "1206" "1k" 3550 7800 0 bottom R10-4-4 "1206" "1k" 3550 9300 0 bottom R10-4-5 "1206" "1k" 3550 10800 0 bottom R10-4-6 "1206" "1k" 3550 12300 0 bottom R10-4-7 "1206" "1k" 3550 13800 0 bottom R10-4-8 "1206" "1k" 3550 15300 0 bottom R10-4-9 "1206" "1k" 3550 16800 0 bottom R10-4-10 "1206" "1k" 3550 18300 0 bottom R10-4-11 "1206" "1k" 3550 19800 0 bottom R10-4-12 "1206" "1k" 3550 21300 0 bottom R10-4-13 "1206" "1k" 3550 22800 0 bottom R10-4-14 "1206" "1k" 3550 24300 0 bottom R10-5-0 "1206" "1k" 4050 3300 0 bottom R10-5-1 "1206" "1k" 4050 4800 0 bottom R10-5-2 "1206" "1k" 4050 6300 0 bottom R10-5-3 "1206" "1k" 4050 7800 0 bottom R10-5-4 "1206" "1k" 4050 9300 0 bottom R10-5-5 "1206" "1k" 4050 10800 0 bottom R10-5-6 "1206" "1k" 4050 12300 0 bottom R10-5-7 "1206" "1k" 4050 13800 0 bottom R10-5-8 "1206" "1k" 4050 15300 0 bottom R10-5-9 "1206" "1k" 4050 16800 0 bottom R10-5-10 "1206" "1k" 4050 18300 0 bottom R10-5-11 "1206" "1k" 4050 19800 0 bottom R10-5-12 "1206" "1k" 4050 21300 0 bottom R10-5-13 "1206" "1k" 4050 22800 0 bottom R10-5-14 "1206" "1k" 4050 24300 0 bottom R10-6-0 "1206" "1k" 4550 3300 0 bottom R10-6-1 "1206" "1k" 4550 4800 0 bottom R10-6-2 "1206" "1k" 4550 6300 0 bottom R10-6-3 "1206" "1k" 4550 7800 0 bottom R10-6-4 "1206" "1k" 4550 9300 0 bottom R10-6-5 "1206" "1k" 4550 10800 0 bottom R10-6-6 "1206" "1k" 4550 12300 0 bottom R10-6-7 "1206" "1k" 4550 13800 0 bottom R10-6-8 "1206" "1k" 4550 15300 0 bottom R10-6-9 "1206" "1k" 4550 16800 0 bottom R10-6-10 "1206" "1k" 4550 18300 0 bottom R10-6-11 "1206" "1k" 4550 19800 0 bottom R10-6-12 "1206" "1k" 4550 21300 0 bottom R10-6-13 "1206" "1k" 4550 22800 0 bottom R10-6-14 "1206" "1k" 4550 24300 0 bottom R10-7-0 "1206" "1k" 5050 3300 0 bottom R10-7-1 "1206" "1k" 5050 4800 0 bottom R10-7-2 "1206" "1k" 5050 6300 0 bottom R10-7-3 "1206" "1k" 5050 7800 0 bottom R10-7-4 "1206" "1k" 5050 9300 0 bottom R10-7-5 "1206" "1k" 5050 10800 0 bottom R10-7-6 "1206" "1k" 5050 12300 0 bottom R10-7-7 "1206" "1k" 5050 13800 0 bottom R10-7-8 "1206" "1k" 5050 15300 0 bottom R10-7-9 "1206" "1k" 5050 16800 0 bottom R10-7-10 "1206" "1k" 5050 18300 0 bottom R10-7-11 "1206" "1k" 5050 19800 0 bottom R10-7-12 "1206" "1k" 5050 21300 0 bottom R10-7-13 "1206" "1k" 5050 22800 0 bottom R10-7-14 "1206" "1k" 5050 24300 0 bottom R10-8-0 "1206" "1k" 5550 3300 0 bottom R10-8-1 "1206" "1k" 5550 4800 0 bottom R10-8-2 "1206" "1k" 5550 6300 0 bottom R10-8-3 "1206" "1k" 5550 7800 0 bottom R10-8-4 "1206" "1k" 5550 9300 0 bottom R10-8-5 "1206" "1k" 5550 10800 0 bottom R10-8-6 "1206" "1k" 5550 12300 0 bottom R10-8-7 "1206" "1k" 5550 13800 0 bottom R10-8-8 "1206" "1k" 5550 15300 0 bottom R10-8-9 "1206" "1k" 5550 16800 0 bottom R10-8-10 "1206" "1k" 5550 18300 0 bottom R10-8-11 "1206" "1k" 5550 19800 0 bottom R10-8-12 "1206" "1k" 5550 21300 0 bottom R10-8-13 "1206" "1k" 5550 22800 0 bottom R10-8-14 "1206" "1k" 5550 24300 0 bottom R10-9-0 "1206" "1k" 6050 3300 0 bottom R10-9-1 "1206" "1k" 6050 4800 0 bottom R10-9-2 "1206" "1k" 6050 6300 0 bottom R10-9-3 "1206" "1k" 6050 7800 0 bottom R10-9-4 "1206" "1k" 6050 9300 0 bottom R10-9-5 "1206" "1k" 6050 10800 0 bottom R10-9-6 "1206" "1k" 6050 12300 0 bottom R10-9-7 "1206" "1k" 6050 13800 0 bottom R10-9-8 "1206" "1k" 6050 15300 0 bottom R10-9-9 "1206" "1k" 6050 16800 0 bottom R10-9-10 "1206" "1k" 6050 18300 0 bottom R10-9-11 "1206" "1k" 6050 19800 0 bottom R10-9-12 "1206" "1k" 6050 21300 0 bottom R10-9-13 "1206" "1k" 6050 22800 0 bottom R10-9-14 "1206" "1k" 6050 24300 0 bottom R10-10-0 "1206" "1k" 6550 3300 0 bottom R10-10-1 "1206" "1k" 6550 4800 0 bottom R10-10-2 "1206" "1k" 6550 6300 0 bottom R10-10-3 "1206" "1k" 6550 7800 0 bottom R10-10-4 "1206" "1k" 6550 9300 0 bottom R10-10-5 "1206" "1k" 6550 10800 0 bottom R10-10-6 "1206" "1k" 6550 12300 0 bottom R10-10-7 "1206" "1k" 6550 13800 0 bottom R10-10-8 "1206" "1k" 6550 15300 0 bottom R10-10-9 "1206" "1k" 6550 16800 0 bottom R10-10-10 "1206" "1k" 6550 18300 0 bottom R10-10-11 "1206" "1k" 6550 19800 0 bottom R10-10-12 "1206" "1k" 6550 21300 0 bottom R10-10-13 "1206" "1k" 6550 22800 0 bottom R10-10-14 "1206" "1k" 6550 24300 0 bottom R10-11-0 "1206" "1k" 7050 3300 0 bottom R10-11-1 "1206" "1k" 7050 4800 0 bottom R10-11-2 "1206" "1k" 7050 6300 0 bottom R10-11-3 "1206" "1k" 7050 7800 0 bottom R10-11-4 "1206" "1k" 7050 9300 0 bottom R10-11-5 "1206" "1k" 7050 10800 0 bottom R10-11-6 "1206" "1k" 7050 12300 0 bottom R10-11-7 "1206" "1k" 7050 13800 0 bottom R10-11-8 "1206" "1k" 7050 15300 0 bottom R10-11-9 "1206" "1k" 7050 16800 0 bottom R10-11-10 "1206" "1k" 7050 18300 0 bottom R10-11-11 "1206" "1k" 7050 19800 0 bottom R10-11-12 "1206" "1k" 7050 21300 0 bottom R10-11-13 "1206" "1k" 7050 22800 0 bottom R10-11-14 "1206" "1k" 7050 24300 0 bottom R10-12-0 "1206" "1k" 7550 3300 0 bottom R10-12-1 "1206" "1k" 7550 4800 0 bottom R10-12-2 "1206" "1k" 7550 6300 0 bottom R10-12-3 "1206" "1k" 7550 7800 0 bottom R10-12-4 "1206" "1k" 7550 9300 0 bottom R10-12-5 "1206" "1k" 7550 10800 0 bottom R10-12-6 "1206" "1k" 7550 12300 0 bottom R10-12-7 "1206" "1k" 7550 13800 0 bottom R10-12-8 "1206" "1k" 7550 15300 0 bottom R10-12-9 "1206" "1k" 7550 16800 0 bottom R10-12-10 "1206" "1k" 7550 18300 0 bottom R10-12-11 "1206" "1k" 7550 19800 0 bottom R10-12-12 "1206" "1k" 7550 21300 0 bottom R10-12-13 "1206" "1k" 7550 22800 0 bottom R10-12-14 "1206" "1k" 7550 24300 0 bottom R10-13-0 "1206" "1k" 8050 3300 0 bottom R10-13-1 "1206" "1k" 8050 4800 0 bottom R10-13-2 "1206" "1k" 8050 6300 0 bottom R10-13-3 "1206" "1k" 8050 7800 0 bottom R10-13-4 "1206" "1k" 8050 9300 0 bottom R10-13-5 "1206" "1k" 8050 10800 0 bottom R10-13-6 "1206" "1k" 8050 12300 0 bottom R10-13-7 "1206" "1k" 8050 13800 0 bottom R10-13-8 "1206" "1k" 8050 15300 0 bottom R10-13-9 "1206" "1k" 8050 16800 0 bottom R10-13-10 "1206" "1k" 8050 18300 0 bottom R10-13-11 "1206" "1k" 8050 19800 0 bottom R10-13-12 "1206" "1k" 8050 21300 0 bottom R10-13-13 "1206" "1k" 8050 22800 0 bottom R10-13-14 "1206" "1k" 8050 24300 0 bottom R10-14-0 "1206" "1k" 8550 3300 0 bottom R10-14-1 "1206" "1k" 8550 4800 0 bottom R10-14-2 "1206" "1k" 8550 6300 0 bottom R10-14-3 "1206" "1k" 8550 7800 0 bottom R10-14-4 "1206" "1k" 8550 9300 0 bottom R10-14-5 "1206" "1k" 8550 10800 0 bottom R10-14-6 "1206" "1k" 8550 12300 0 bottom R10-14-7 "1206" "1k" 8550 13800 0 bottom R10-14-8 "1206" "1k" 8550 15300 0 bottom R10-14-9 "1206" "1k" 8550 16800 0 bottom R10-14-10 "1206" "1k" 8550 18300 0 bottom R10-14-11 "1206" "1k" 8550 19800 0 bottom R10-14-12 "1206" "1k" 8550 21300 0 bottom R10-14-13 "1206" "1k" 8550 22800 0 bottom R10-14-14 "1206" "1k" 8550 24300 0 bottom U3-0-0 "SO8" "unknown" 1075.00 3525.00 270 bottom U3-0-1 "SO8" "unknown" 1075 5025 270 bottom U3-0-2 "SO8" "unknown" 1075 6525 270 bottom U3-0-3 "SO8" "unknown" 1075 8025 270 bottom U3-0-4 "SO8" "unknown" 1075 9525 270 bottom U3-0-5 "SO8" "unknown" 1075 11025 270 bottom U3-0-6 "SO8" "unknown" 1075 12525 270 bottom U3-0-7 "SO8" "unknown" 1075 14025 270 bottom U3-0-8 "SO8" "unknown" 1075 15525 270 bottom U3-0-9 "SO8" "unknown" 1075 17025 270 bottom U3-0-10 "SO8" "unknown" 1075 18525 270 bottom U3-0-11 "SO8" "unknown" 1075 20025 270 bottom U3-0-12 "SO8" "unknown" 1075 21525 270 bottom U3-0-13 "SO8" "unknown" 1075 23025 270 bottom U3-0-14 "SO8" "unknown" 1075 24525 270 bottom U3-1-0 "SO8" "unknown" 1575 3525 270 bottom U3-1-1 "SO8" "unknown" 1575 5025 270 bottom U3-1-2 "SO8" "unknown" 1575 6525 270 bottom U3-1-3 "SO8" "unknown" 1575 8025 270 bottom U3-1-4 "SO8" "unknown" 1575 9525 270 bottom U3-1-5 "SO8" "unknown" 1575 11025 270 bottom U3-1-6 "SO8" "unknown" 1575 12525 270 bottom U3-1-7 "SO8" "unknown" 1575 14025 270 bottom U3-1-8 "SO8" "unknown" 1575 15525 270 bottom U3-1-9 "SO8" "unknown" 1575 17025 270 bottom U3-1-10 "SO8" "unknown" 1575 18525 270 bottom U3-1-11 "SO8" "unknown" 1575 20025 270 bottom U3-1-12 "SO8" "unknown" 1575 21525 270 bottom U3-1-13 "SO8" "unknown" 1575 23025 270 bottom U3-1-14 "SO8" "unknown" 1575 24525 270 bottom U3-2-0 "SO8" "unknown" 2075 3525 270 bottom U3-2-1 "SO8" "unknown" 2075 5025 270 bottom U3-2-2 "SO8" "unknown" 2075 6525 270 bottom U3-2-3 "SO8" "unknown" 2075 8025 270 bottom U3-2-4 "SO8" "unknown" 2075 9525 270 bottom U3-2-5 "SO8" "unknown" 2075 11025 270 bottom U3-2-6 "SO8" "unknown" 2075 12525 270 bottom U3-2-7 "SO8" "unknown" 2075 14025 270 bottom U3-2-8 "SO8" "unknown" 2075 15525 270 bottom U3-2-9 "SO8" "unknown" 2075 17025 270 bottom U3-2-10 "SO8" "unknown" 2075 18525 270 bottom U3-2-11 "SO8" "unknown" 2075 20025 270 bottom U3-2-12 "SO8" "unknown" 2075 21525 270 bottom U3-2-13 "SO8" "unknown" 2075 23025 270 bottom U3-2-14 "SO8" "unknown" 2075 24525 270 bottom U3-3-0 "SO8" "unknown" 2575 3525 270 bottom U3-3-1 "SO8" "unknown" 2575 5025 270 bottom U3-3-2 "SO8" "unknown" 2575 6525 270 bottom U3-3-3 "SO8" "unknown" 2575 8025 270 bottom U3-3-4 "SO8" "unknown" 2575 9525 270 bottom U3-3-5 "SO8" "unknown" 2575 11025 270 bottom U3-3-6 "SO8" "unknown" 2575 12525 270 bottom U3-3-7 "SO8" "unknown" 2575 14025 270 bottom U3-3-8 "SO8" "unknown" 2575 15525 270 bottom U3-3-9 "SO8" "unknown" 2575 17025 270 bottom U3-3-10 "SO8" "unknown" 2575 18525 270 bottom U3-3-11 "SO8" "unknown" 2575 20025 270 bottom U3-3-12 "SO8" "unknown" 2575 21525 270 bottom U3-3-13 "SO8" "unknown" 2575 23025 270 bottom U3-3-14 "SO8" "unknown" 2575 24525 270 bottom U3-4-0 "SO8" "unknown" 3075 3525 270 bottom U3-4-1 "SO8" "unknown" 3075 5025 270 bottom U3-4-2 "SO8" "unknown" 3075 6525 270 bottom U3-4-3 "SO8" "unknown" 3075 8025 270 bottom U3-4-4 "SO8" "unknown" 3075 9525 270 bottom U3-4-5 "SO8" "unknown" 3075 11025 270 bottom U3-4-6 "SO8" "unknown" 3075 12525 270 bottom U3-4-7 "SO8" "unknown" 3075 14025 270 bottom U3-4-8 "SO8" "unknown" 3075 15525 270 bottom U3-4-9 "SO8" "unknown" 3075 17025 270 bottom U3-4-10 "SO8" "unknown" 3075 18525 270 bottom U3-4-11 "SO8" "unknown" 3075 20025 270 bottom U3-4-12 "SO8" "unknown" 3075 21525 270 bottom U3-4-13 "SO8" "unknown" 3075 23025 270 bottom U3-4-14 "SO8" "unknown" 3075 24525 270 bottom U3-5-0 "SO8" "unknown" 3575 3525 270 bottom U3-5-1 "SO8" "unknown" 3575 5025 270 bottom U3-5-2 "SO8" "unknown" 3575 6525 270 bottom U3-5-3 "SO8" "unknown" 3575 8025 270 bottom U3-5-4 "SO8" "unknown" 3575 9525 270 bottom U3-5-5 "SO8" "unknown" 3575 11025 270 bottom U3-5-6 "SO8" "unknown" 3575 12525 270 bottom U3-5-7 "SO8" "unknown" 3575 14025 270 bottom U3-5-8 "SO8" "unknown" 3575 15525 270 bottom U3-5-9 "SO8" "unknown" 3575 17025 270 bottom U3-5-10 "SO8" "unknown" 3575 18525 270 bottom U3-5-11 "SO8" "unknown" 3575 20025 270 bottom U3-5-12 "SO8" "unknown" 3575 21525 270 bottom U3-5-13 "SO8" "unknown" 3575 23025 270 bottom U3-5-14 "SO8" "unknown" 3575 24525 270 bottom U3-6-0 "SO8" "unknown" 4075 3525 270 bottom U3-6-1 "SO8" "unknown" 4075 5025 270 bottom U3-6-2 "SO8" "unknown" 4075 6525 270 bottom U3-6-3 "SO8" "unknown" 4075 8025 270 bottom U3-6-4 "SO8" "unknown" 4075 9525 270 bottom U3-6-5 "SO8" "unknown" 4075 11025 270 bottom U3-6-6 "SO8" "unknown" 4075 12525 270 bottom U3-6-7 "SO8" "unknown" 4075 14025 270 bottom U3-6-8 "SO8" "unknown" 4075 15525 270 bottom U3-6-9 "SO8" "unknown" 4075 17025 270 bottom U3-6-10 "SO8" "unknown" 4075 18525 270 bottom U3-6-11 "SO8" "unknown" 4075 20025 270 bottom U3-6-12 "SO8" "unknown" 4075 21525 270 bottom U3-6-13 "SO8" "unknown" 4075 23025 270 bottom U3-6-14 "SO8" "unknown" 4075 24525 270 bottom U3-7-0 "SO8" "unknown" 4575 3525 270 bottom U3-7-1 "SO8" "unknown" 4575 5025 270 bottom U3-7-2 "SO8" "unknown" 4575 6525 270 bottom U3-7-3 "SO8" "unknown" 4575 8025 270 bottom U3-7-4 "SO8" "unknown" 4575 9525 270 bottom U3-7-5 "SO8" "unknown" 4575 11025 270 bottom U3-7-6 "SO8" "unknown" 4575 12525 270 bottom U3-7-7 "SO8" "unknown" 4575 14025 270 bottom U3-7-8 "SO8" "unknown" 4575 15525 270 bottom U3-7-9 "SO8" "unknown" 4575 17025 270 bottom U3-7-10 "SO8" "unknown" 4575 18525 270 bottom U3-7-11 "SO8" "unknown" 4575 20025 270 bottom U3-7-12 "SO8" "unknown" 4575 21525 270 bottom U3-7-13 "SO8" "unknown" 4575 23025 270 bottom U3-7-14 "SO8" "unknown" 4575 24525 270 bottom U3-8-0 "SO8" "unknown" 5075 3525 270 bottom U3-8-1 "SO8" "unknown" 5075 5025 270 bottom U3-8-2 "SO8" "unknown" 5075 6525 270 bottom U3-8-3 "SO8" "unknown" 5075 8025 270 bottom U3-8-4 "SO8" "unknown" 5075 9525 270 bottom U3-8-5 "SO8" "unknown" 5075 11025 270 bottom U3-8-6 "SO8" "unknown" 5075 12525 270 bottom U3-8-7 "SO8" "unknown" 5075 14025 270 bottom U3-8-8 "SO8" "unknown" 5075 15525 270 bottom U3-8-9 "SO8" "unknown" 5075 17025 270 bottom U3-8-10 "SO8" "unknown" 5075 18525 270 bottom U3-8-11 "SO8" "unknown" 5075 20025 270 bottom U3-8-12 "SO8" "unknown" 5075 21525 270 bottom U3-8-13 "SO8" "unknown" 5075 23025 270 bottom U3-8-14 "SO8" "unknown" 5075 24525 270 bottom U3-9-0 "SO8" "unknown" 5575 3525 270 bottom U3-9-1 "SO8" "unknown" 5575 5025 270 bottom U3-9-2 "SO8" "unknown" 5575 6525 270 bottom U3-9-3 "SO8" "unknown" 5575 8025 270 bottom U3-9-4 "SO8" "unknown" 5575 9525 270 bottom U3-9-5 "SO8" "unknown" 5575 11025 270 bottom U3-9-6 "SO8" "unknown" 5575 12525 270 bottom U3-9-7 "SO8" "unknown" 5575 14025 270 bottom U3-9-8 "SO8" "unknown" 5575 15525 270 bottom U3-9-9 "SO8" "unknown" 5575 17025 270 bottom U3-9-10 "SO8" "unknown" 5575 18525 270 bottom U3-9-11 "SO8" "unknown" 5575 20025 270 bottom U3-9-12 "SO8" "unknown" 5575 21525 270 bottom U3-9-13 "SO8" "unknown" 5575 23025 270 bottom U3-9-14 "SO8" "unknown" 5575 24525 270 bottom U3-10-0 "SO8" "unknown" 6075 3525 270 bottom U3-10-1 "SO8" "unknown" 6075 5025 270 bottom U3-10-2 "SO8" "unknown" 6075 6525 270 bottom U3-10-3 "SO8" "unknown" 6075 8025 270 bottom U3-10-4 "SO8" "unknown" 6075 9525 270 bottom U3-10-5 "SO8" "unknown" 6075 11025 270 bottom U3-10-6 "SO8" "unknown" 6075 12525 270 bottom U3-10-7 "SO8" "unknown" 6075 14025 270 bottom U3-10-8 "SO8" "unknown" 6075 15525 270 bottom U3-10-9 "SO8" "unknown" 6075 17025 270 bottom U3-10-10 "SO8" "unknown" 6075 18525 270 bottom U3-10-11 "SO8" "unknown" 6075 20025 270 bottom U3-10-12 "SO8" "unknown" 6075 21525 270 bottom U3-10-13 "SO8" "unknown" 6075 23025 270 bottom U3-10-14 "SO8" "unknown" 6075 24525 270 bottom U3-11-0 "SO8" "unknown" 6575 3525 270 bottom U3-11-1 "SO8" "unknown" 6575 5025 270 bottom U3-11-2 "SO8" "unknown" 6575 6525 270 bottom U3-11-3 "SO8" "unknown" 6575 8025 270 bottom U3-11-4 "SO8" "unknown" 6575 9525 270 bottom U3-11-5 "SO8" "unknown" 6575 11025 270 bottom U3-11-6 "SO8" "unknown" 6575 12525 270 bottom U3-11-7 "SO8" "unknown" 6575 14025 270 bottom U3-11-8 "SO8" "unknown" 6575 15525 270 bottom U3-11-9 "SO8" "unknown" 6575 17025 270 bottom U3-11-10 "SO8" "unknown" 6575 18525 270 bottom U3-11-11 "SO8" "unknown" 6575 20025 270 bottom U3-11-12 "SO8" "unknown" 6575 21525 270 bottom U3-11-13 "SO8" "unknown" 6575 23025 270 bottom U3-11-14 "SO8" "unknown" 6575 24525 270 bottom U3-12-0 "SO8" "unknown" 7075 3525 270 bottom U3-12-1 "SO8" "unknown" 7075 5025 270 bottom U3-12-2 "SO8" "unknown" 7075 6525 270 bottom U3-12-3 "SO8" "unknown" 7075 8025 270 bottom U3-12-4 "SO8" "unknown" 7075 9525 270 bottom U3-12-5 "SO8" "unknown" 7075 11025 270 bottom U3-12-6 "SO8" "unknown" 7075 12525 270 bottom U3-12-7 "SO8" "unknown" 7075 14025 270 bottom U3-12-8 "SO8" "unknown" 7075 15525 270 bottom U3-12-9 "SO8" "unknown" 7075 17025 270 bottom U3-12-10 "SO8" "unknown" 7075 18525 270 bottom U3-12-11 "SO8" "unknown" 7075 20025 270 bottom U3-12-12 "SO8" "unknown" 7075 21525 270 bottom U3-12-13 "SO8" "unknown" 7075 23025 270 bottom U3-12-14 "SO8" "unknown" 7075 24525 270 bottom U3-13-0 "SO8" "unknown" 7575 3525 270 bottom U3-13-1 "SO8" "unknown" 7575 5025 270 bottom U3-13-2 "SO8" "unknown" 7575 6525 270 bottom U3-13-3 "SO8" "unknown" 7575 8025 270 bottom U3-13-4 "SO8" "unknown" 7575 9525 270 bottom U3-13-5 "SO8" "unknown" 7575 11025 270 bottom U3-13-6 "SO8" "unknown" 7575 12525 270 bottom U3-13-7 "SO8" "unknown" 7575 14025 270 bottom U3-13-8 "SO8" "unknown" 7575 15525 270 bottom U3-13-9 "SO8" "unknown" 7575 17025 270 bottom U3-13-10 "SO8" "unknown" 7575 18525 270 bottom U3-13-11 "SO8" "unknown" 7575 20025 270 bottom U3-13-12 "SO8" "unknown" 7575 21525 270 bottom U3-13-13 "SO8" "unknown" 7575 23025 270 bottom U3-13-14 "SO8" "unknown" 7575 24525 270 bottom U3-14-0 "SO8" "unknown" 8075 3525 270 bottom U3-14-1 "SO8" "unknown" 8075 5025 270 bottom U3-14-2 "SO8" "unknown" 8075 6525 270 bottom U3-14-3 "SO8" "unknown" 8075 8025 270 bottom U3-14-4 "SO8" "unknown" 8075 9525 270 bottom U3-14-5 "SO8" "unknown" 8075 11025 270 bottom U3-14-6 "SO8" "unknown" 8075 12525 270 bottom U3-14-7 "SO8" "unknown" 8075 14025 270 bottom U3-14-8 "SO8" "unknown" 8075 15525 270 bottom U3-14-9 "SO8" "unknown" 8075 17025 270 bottom U3-14-10 "SO8" "unknown" 8075 18525 270 bottom U3-14-11 "SO8" "unknown" 8075 20025 270 bottom U3-14-12 "SO8" "unknown" 8075 21525 270 bottom U3-14-13 "SO8" "unknown" 8075 23025 270 bottom U3-14-14 "SO8" "unknown" 8075 24525 270 bottom R11-0-0 "1206" "10k" 1375.00 3300.00 180 bottom R11-0-1 "1206" "10k" 1375 4800 180 bottom R11-0-2 "1206" "10k" 1375 6300 180 bottom R11-0-3 "1206" "10k" 1375 7800 180 bottom R11-0-4 "1206" "10k" 1375 9300 180 bottom R11-0-5 "1206" "10k" 1375 10800 180 bottom R11-0-6 "1206" "10k" 1375 12300 180 bottom R11-0-7 "1206" "10k" 1375 13800 180 bottom R11-0-8 "1206" "10k" 1375 15300 180 bottom R11-0-9 "1206" "10k" 1375 16800 180 bottom R11-0-10 "1206" "10k" 1375 18300 180 bottom R11-0-11 "1206" "10k" 1375 19800 180 bottom R11-0-12 "1206" "10k" 1375 21300 180 bottom R11-0-13 "1206" "10k" 1375 22800 180 bottom R11-0-14 "1206" "10k" 1375 24300 180 bottom R11-1-0 "1206" "10k" 1875 3300 180 bottom R11-1-1 "1206" "10k" 1875 4800 180 bottom R11-1-2 "1206" "10k" 1875 6300 180 bottom R11-1-3 "1206" "10k" 1875 7800 180 bottom R11-1-4 "1206" "10k" 1875 9300 180 bottom R11-1-5 "1206" "10k" 1875 10800 180 bottom R11-1-6 "1206" "10k" 1875 12300 180 bottom R11-1-7 "1206" "10k" 1875 13800 180 bottom R11-1-8 "1206" "10k" 1875 15300 180 bottom R11-1-9 "1206" "10k" 1875 16800 180 bottom R11-1-10 "1206" "10k" 1875 18300 180 bottom R11-1-11 "1206" "10k" 1875 19800 180 bottom R11-1-12 "1206" "10k" 1875 21300 180 bottom R11-1-13 "1206" "10k" 1875 22800 180 bottom R11-1-14 "1206" "10k" 1875 24300 180 bottom R11-2-0 "1206" "10k" 2375 3300 180 bottom R11-2-1 "1206" "10k" 2375 4800 180 bottom R11-2-2 "1206" "10k" 2375 6300 180 bottom R11-2-3 "1206" "10k" 2375 7800 180 bottom R11-2-4 "1206" "10k" 2375 9300 180 bottom R11-2-5 "1206" "10k" 2375 10800 180 bottom R11-2-6 "1206" "10k" 2375 12300 180 bottom R11-2-7 "1206" "10k" 2375 13800 180 bottom R11-2-8 "1206" "10k" 2375 15300 180 bottom R11-2-9 "1206" "10k" 2375 16800 180 bottom R11-2-10 "1206" "10k" 2375 18300 180 bottom R11-2-11 "1206" "10k" 2375 19800 180 bottom R11-2-12 "1206" "10k" 2375 21300 180 bottom R11-2-13 "1206" "10k" 2375 22800 180 bottom R11-2-14 "1206" "10k" 2375 24300 180 bottom R11-3-0 "1206" "10k" 2875 3300 180 bottom R11-3-1 "1206" "10k" 2875 4800 180 bottom R11-3-2 "1206" "10k" 2875 6300 180 bottom R11-3-3 "1206" "10k" 2875 7800 180 bottom R11-3-4 "1206" "10k" 2875 9300 180 bottom R11-3-5 "1206" "10k" 2875 10800 180 bottom R11-3-6 "1206" "10k" 2875 12300 180 bottom R11-3-7 "1206" "10k" 2875 13800 180 bottom R11-3-8 "1206" "10k" 2875 15300 180 bottom R11-3-9 "1206" "10k" 2875 16800 180 bottom R11-3-10 "1206" "10k" 2875 18300 180 bottom R11-3-11 "1206" "10k" 2875 19800 180 bottom R11-3-12 "1206" "10k" 2875 21300 180 bottom R11-3-13 "1206" "10k" 2875 22800 180 bottom R11-3-14 "1206" "10k" 2875 24300 180 bottom R11-4-0 "1206" "10k" 3375 3300 180 bottom R11-4-1 "1206" "10k" 3375 4800 180 bottom R11-4-2 "1206" "10k" 3375 6300 180 bottom R11-4-3 "1206" "10k" 3375 7800 180 bottom R11-4-4 "1206" "10k" 3375 9300 180 bottom R11-4-5 "1206" "10k" 3375 10800 180 bottom R11-4-6 "1206" "10k" 3375 12300 180 bottom R11-4-7 "1206" "10k" 3375 13800 180 bottom R11-4-8 "1206" "10k" 3375 15300 180 bottom R11-4-9 "1206" "10k" 3375 16800 180 bottom R11-4-10 "1206" "10k" 3375 18300 180 bottom R11-4-11 "1206" "10k" 3375 19800 180 bottom R11-4-12 "1206" "10k" 3375 21300 180 bottom R11-4-13 "1206" "10k" 3375 22800 180 bottom R11-4-14 "1206" "10k" 3375 24300 180 bottom R11-5-0 "1206" "10k" 3875 3300 180 bottom R11-5-1 "1206" "10k" 3875 4800 180 bottom R11-5-2 "1206" "10k" 3875 6300 180 bottom R11-5-3 "1206" "10k" 3875 7800 180 bottom R11-5-4 "1206" "10k" 3875 9300 180 bottom R11-5-5 "1206" "10k" 3875 10800 180 bottom R11-5-6 "1206" "10k" 3875 12300 180 bottom R11-5-7 "1206" "10k" 3875 13800 180 bottom R11-5-8 "1206" "10k" 3875 15300 180 bottom R11-5-9 "1206" "10k" 3875 16800 180 bottom R11-5-10 "1206" "10k" 3875 18300 180 bottom R11-5-11 "1206" "10k" 3875 19800 180 bottom R11-5-12 "1206" "10k" 3875 21300 180 bottom R11-5-13 "1206" "10k" 3875 22800 180 bottom R11-5-14 "1206" "10k" 3875 24300 180 bottom R11-6-0 "1206" "10k" 4375 3300 180 bottom R11-6-1 "1206" "10k" 4375 4800 180 bottom R11-6-2 "1206" "10k" 4375 6300 180 bottom R11-6-3 "1206" "10k" 4375 7800 180 bottom R11-6-4 "1206" "10k" 4375 9300 180 bottom R11-6-5 "1206" "10k" 4375 10800 180 bottom R11-6-6 "1206" "10k" 4375 12300 180 bottom R11-6-7 "1206" "10k" 4375 13800 180 bottom R11-6-8 "1206" "10k" 4375 15300 180 bottom R11-6-9 "1206" "10k" 4375 16800 180 bottom R11-6-10 "1206" "10k" 4375 18300 180 bottom R11-6-11 "1206" "10k" 4375 19800 180 bottom R11-6-12 "1206" "10k" 4375 21300 180 bottom R11-6-13 "1206" "10k" 4375 22800 180 bottom R11-6-14 "1206" "10k" 4375 24300 180 bottom R11-7-0 "1206" "10k" 4875 3300 180 bottom R11-7-1 "1206" "10k" 4875 4800 180 bottom R11-7-2 "1206" "10k" 4875 6300 180 bottom R11-7-3 "1206" "10k" 4875 7800 180 bottom R11-7-4 "1206" "10k" 4875 9300 180 bottom R11-7-5 "1206" "10k" 4875 10800 180 bottom R11-7-6 "1206" "10k" 4875 12300 180 bottom R11-7-7 "1206" "10k" 4875 13800 180 bottom R11-7-8 "1206" "10k" 4875 15300 180 bottom R11-7-9 "1206" "10k" 4875 16800 180 bottom R11-7-10 "1206" "10k" 4875 18300 180 bottom R11-7-11 "1206" "10k" 4875 19800 180 bottom R11-7-12 "1206" "10k" 4875 21300 180 bottom R11-7-13 "1206" "10k" 4875 22800 180 bottom R11-7-14 "1206" "10k" 4875 24300 180 bottom R11-8-0 "1206" "10k" 5375 3300 180 bottom R11-8-1 "1206" "10k" 5375 4800 180 bottom R11-8-2 "1206" "10k" 5375 6300 180 bottom R11-8-3 "1206" "10k" 5375 7800 180 bottom R11-8-4 "1206" "10k" 5375 9300 180 bottom R11-8-5 "1206" "10k" 5375 10800 180 bottom R11-8-6 "1206" "10k" 5375 12300 180 bottom R11-8-7 "1206" "10k" 5375 13800 180 bottom R11-8-8 "1206" "10k" 5375 15300 180 bottom R11-8-9 "1206" "10k" 5375 16800 180 bottom R11-8-10 "1206" "10k" 5375 18300 180 bottom R11-8-11 "1206" "10k" 5375 19800 180 bottom R11-8-12 "1206" "10k" 5375 21300 180 bottom R11-8-13 "1206" "10k" 5375 22800 180 bottom R11-8-14 "1206" "10k" 5375 24300 180 bottom R11-9-0 "1206" "10k" 5875 3300 180 bottom R11-9-1 "1206" "10k" 5875 4800 180 bottom R11-9-2 "1206" "10k" 5875 6300 180 bottom R11-9-3 "1206" "10k" 5875 7800 180 bottom R11-9-4 "1206" "10k" 5875 9300 180 bottom R11-9-5 "1206" "10k" 5875 10800 180 bottom R11-9-6 "1206" "10k" 5875 12300 180 bottom R11-9-7 "1206" "10k" 5875 13800 180 bottom R11-9-8 "1206" "10k" 5875 15300 180 bottom R11-9-9 "1206" "10k" 5875 16800 180 bottom R11-9-10 "1206" "10k" 5875 18300 180 bottom R11-9-11 "1206" "10k" 5875 19800 180 bottom R11-9-12 "1206" "10k" 5875 21300 180 bottom R11-9-13 "1206" "10k" 5875 22800 180 bottom R11-9-14 "1206" "10k" 5875 24300 180 bottom R11-10-0 "1206" "10k" 6375 3300 180 bottom R11-10-1 "1206" "10k" 6375 4800 180 bottom R11-10-2 "1206" "10k" 6375 6300 180 bottom R11-10-3 "1206" "10k" 6375 7800 180 bottom R11-10-4 "1206" "10k" 6375 9300 180 bottom R11-10-5 "1206" "10k" 6375 10800 180 bottom R11-10-6 "1206" "10k" 6375 12300 180 bottom R11-10-7 "1206" "10k" 6375 13800 180 bottom R11-10-8 "1206" "10k" 6375 15300 180 bottom R11-10-9 "1206" "10k" 6375 16800 180 bottom R11-10-10 "1206" "10k" 6375 18300 180 bottom R11-10-11 "1206" "10k" 6375 19800 180 bottom R11-10-12 "1206" "10k" 6375 21300 180 bottom R11-10-13 "1206" "10k" 6375 22800 180 bottom R11-10-14 "1206" "10k" 6375 24300 180 bottom R11-11-0 "1206" "10k" 6875 3300 180 bottom R11-11-1 "1206" "10k" 6875 4800 180 bottom R11-11-2 "1206" "10k" 6875 6300 180 bottom R11-11-3 "1206" "10k" 6875 7800 180 bottom R11-11-4 "1206" "10k" 6875 9300 180 bottom R11-11-5 "1206" "10k" 6875 10800 180 bottom R11-11-6 "1206" "10k" 6875 12300 180 bottom R11-11-7 "1206" "10k" 6875 13800 180 bottom R11-11-8 "1206" "10k" 6875 15300 180 bottom R11-11-9 "1206" "10k" 6875 16800 180 bottom R11-11-10 "1206" "10k" 6875 18300 180 bottom R11-11-11 "1206" "10k" 6875 19800 180 bottom R11-11-12 "1206" "10k" 6875 21300 180 bottom R11-11-13 "1206" "10k" 6875 22800 180 bottom R11-11-14 "1206" "10k" 6875 24300 180 bottom R11-12-0 "1206" "10k" 7375 3300 180 bottom R11-12-1 "1206" "10k" 7375 4800 180 bottom R11-12-2 "1206" "10k" 7375 6300 180 bottom R11-12-3 "1206" "10k" 7375 7800 180 bottom R11-12-4 "1206" "10k" 7375 9300 180 bottom R11-12-5 "1206" "10k" 7375 10800 180 bottom R11-12-6 "1206" "10k" 7375 12300 180 bottom R11-12-7 "1206" "10k" 7375 13800 180 bottom R11-12-8 "1206" "10k" 7375 15300 180 bottom R11-12-9 "1206" "10k" 7375 16800 180 bottom R11-12-10 "1206" "10k" 7375 18300 180 bottom R11-12-11 "1206" "10k" 7375 19800 180 bottom R11-12-12 "1206" "10k" 7375 21300 180 bottom R11-12-13 "1206" "10k" 7375 22800 180 bottom R11-12-14 "1206" "10k" 7375 24300 180 bottom R11-13-0 "1206" "10k" 7875 3300 180 bottom R11-13-1 "1206" "10k" 7875 4800 180 bottom R11-13-2 "1206" "10k" 7875 6300 180 bottom R11-13-3 "1206" "10k" 7875 7800 180 bottom R11-13-4 "1206" "10k" 7875 9300 180 bottom R11-13-5 "1206" "10k" 7875 10800 180 bottom R11-13-6 "1206" "10k" 7875 12300 180 bottom R11-13-7 "1206" "10k" 7875 13800 180 bottom R11-13-8 "1206" "10k" 7875 15300 180 bottom R11-13-9 "1206" "10k" 7875 16800 180 bottom R11-13-10 "1206" "10k" 7875 18300 180 bottom R11-13-11 "1206" "10k" 7875 19800 180 bottom R11-13-12 "1206" "10k" 7875 21300 180 bottom R11-13-13 "1206" "10k" 7875 22800 180 bottom R11-13-14 "1206" "10k" 7875 24300 180 bottom R11-14-0 "1206" "10k" 8375 3300 180 bottom R11-14-1 "1206" "10k" 8375 4800 180 bottom R11-14-2 "1206" "10k" 8375 6300 180 bottom R11-14-3 "1206" "10k" 8375 7800 180 bottom R11-14-4 "1206" "10k" 8375 9300 180 bottom R11-14-5 "1206" "10k" 8375 10800 180 bottom R11-14-6 "1206" "10k" 8375 12300 180 bottom R11-14-7 "1206" "10k" 8375 13800 180 bottom R11-14-8 "1206" "10k" 8375 15300 180 bottom R11-14-9 "1206" "10k" 8375 16800 180 bottom R11-14-10 "1206" "10k" 8375 18300 180 bottom R11-14-11 "1206" "10k" 8375 19800 180 bottom R11-14-12 "1206" "10k" 8375 21300 180 bottom R11-14-13 "1206" "10k" 8375 22800 180 bottom R11-14-14 "1206" "10k" 8375 24300 180 bottom D2-0-0 "CONNECTOR-2-1" "unknown" 500.00 3850.00 0 top D2-0-1 "CONNECTOR-2-1" "unknown" 500 5350 0 top D2-0-2 "CONNECTOR-2-1" "unknown" 500 6850 0 top D2-0-3 "CONNECTOR-2-1" "unknown" 500 8350 0 top D2-0-4 "CONNECTOR-2-1" "unknown" 500 9850 0 top D2-0-5 "CONNECTOR-2-1" "unknown" 500 11350 0 top D2-0-6 "CONNECTOR-2-1" "unknown" 500 12850 0 top D2-0-7 "CONNECTOR-2-1" "unknown" 500 14350 0 top D2-0-8 "CONNECTOR-2-1" "unknown" 500 15850 0 top D2-0-9 "CONNECTOR-2-1" "unknown" 500 17350 0 top D2-0-10 "CONNECTOR-2-1" "unknown" 500 18850 0 top D2-0-11 "CONNECTOR-2-1" "unknown" 500 20350 0 top D2-0-12 "CONNECTOR-2-1" "unknown" 500 21850 0 top D2-0-13 "CONNECTOR-2-1" "unknown" 500 23350 0 top D2-0-14 "CONNECTOR-2-1" "unknown" 500 24850 0 top D2-1-0 "CONNECTOR-2-1" "unknown" 1000 3850 0 top D2-1-1 "CONNECTOR-2-1" "unknown" 1000 5350 0 top D2-1-2 "CONNECTOR-2-1" "unknown" 1000 6850 0 top D2-1-3 "CONNECTOR-2-1" "unknown" 1000 8350 0 top D2-1-4 "CONNECTOR-2-1" "unknown" 1000 9850 0 top D2-1-5 "CONNECTOR-2-1" "unknown" 1000 11350 0 top D2-1-6 "CONNECTOR-2-1" "unknown" 1000 12850 0 top D2-1-7 "CONNECTOR-2-1" "unknown" 1000 14350 0 top D2-1-8 "CONNECTOR-2-1" "unknown" 1000 15850 0 top D2-1-9 "CONNECTOR-2-1" "unknown" 1000 17350 0 top D2-1-10 "CONNECTOR-2-1" "unknown" 1000 18850 0 top D2-1-11 "CONNECTOR-2-1" "unknown" 1000 20350 0 top D2-1-12 "CONNECTOR-2-1" "unknown" 1000 21850 0 top D2-1-13 "CONNECTOR-2-1" "unknown" 1000 23350 0 top D2-1-14 "CONNECTOR-2-1" "unknown" 1000 24850 0 top D2-2-0 "CONNECTOR-2-1" "unknown" 1500 3850 0 top D2-2-1 "CONNECTOR-2-1" "unknown" 1500 5350 0 top D2-2-2 "CONNECTOR-2-1" "unknown" 1500 6850 0 top D2-2-3 "CONNECTOR-2-1" "unknown" 1500 8350 0 top D2-2-4 "CONNECTOR-2-1" "unknown" 1500 9850 0 top D2-2-5 "CONNECTOR-2-1" "unknown" 1500 11350 0 top D2-2-6 "CONNECTOR-2-1" "unknown" 1500 12850 0 top D2-2-7 "CONNECTOR-2-1" "unknown" 1500 14350 0 top D2-2-8 "CONNECTOR-2-1" "unknown" 1500 15850 0 top D2-2-9 "CONNECTOR-2-1" "unknown" 1500 17350 0 top D2-2-10 "CONNECTOR-2-1" "unknown" 1500 18850 0 top D2-2-11 "CONNECTOR-2-1" "unknown" 1500 20350 0 top D2-2-12 "CONNECTOR-2-1" "unknown" 1500 21850 0 top D2-2-13 "CONNECTOR-2-1" "unknown" 1500 23350 0 top D2-2-14 "CONNECTOR-2-1" "unknown" 1500 24850 0 top D2-3-0 "CONNECTOR-2-1" "unknown" 2000 3850 0 top D2-3-1 "CONNECTOR-2-1" "unknown" 2000 5350 0 top D2-3-2 "CONNECTOR-2-1" "unknown" 2000 6850 0 top D2-3-3 "CONNECTOR-2-1" "unknown" 2000 8350 0 top D2-3-4 "CONNECTOR-2-1" "unknown" 2000 9850 0 top D2-3-5 "CONNECTOR-2-1" "unknown" 2000 11350 0 top D2-3-6 "CONNECTOR-2-1" "unknown" 2000 12850 0 top D2-3-7 "CONNECTOR-2-1" "unknown" 2000 14350 0 top D2-3-8 "CONNECTOR-2-1" "unknown" 2000 15850 0 top D2-3-9 "CONNECTOR-2-1" "unknown" 2000 17350 0 top D2-3-10 "CONNECTOR-2-1" "unknown" 2000 18850 0 top D2-3-11 "CONNECTOR-2-1" "unknown" 2000 20350 0 top D2-3-12 "CONNECTOR-2-1" "unknown" 2000 21850 0 top D2-3-13 "CONNECTOR-2-1" "unknown" 2000 23350 0 top D2-3-14 "CONNECTOR-2-1" "unknown" 2000 24850 0 top D2-4-0 "CONNECTOR-2-1" "unknown" 2500 3850 0 top D2-4-1 "CONNECTOR-2-1" "unknown" 2500 5350 0 top D2-4-2 "CONNECTOR-2-1" "unknown" 2500 6850 0 top D2-4-3 "CONNECTOR-2-1" "unknown" 2500 8350 0 top D2-4-4 "CONNECTOR-2-1" "unknown" 2500 9850 0 top D2-4-5 "CONNECTOR-2-1" "unknown" 2500 11350 0 top D2-4-6 "CONNECTOR-2-1" "unknown" 2500 12850 0 top D2-4-7 "CONNECTOR-2-1" "unknown" 2500 14350 0 top D2-4-8 "CONNECTOR-2-1" "unknown" 2500 15850 0 top D2-4-9 "CONNECTOR-2-1" "unknown" 2500 17350 0 top D2-4-10 "CONNECTOR-2-1" "unknown" 2500 18850 0 top D2-4-11 "CONNECTOR-2-1" "unknown" 2500 20350 0 top D2-4-12 "CONNECTOR-2-1" "unknown" 2500 21850 0 top D2-4-13 "CONNECTOR-2-1" "unknown" 2500 23350 0 top D2-4-14 "CONNECTOR-2-1" "unknown" 2500 24850 0 top D2-5-0 "CONNECTOR-2-1" "unknown" 3000 3850 0 top D2-5-1 "CONNECTOR-2-1" "unknown" 3000 5350 0 top D2-5-2 "CONNECTOR-2-1" "unknown" 3000 6850 0 top D2-5-3 "CONNECTOR-2-1" "unknown" 3000 8350 0 top D2-5-4 "CONNECTOR-2-1" "unknown" 3000 9850 0 top D2-5-5 "CONNECTOR-2-1" "unknown" 3000 11350 0 top D2-5-6 "CONNECTOR-2-1" "unknown" 3000 12850 0 top D2-5-7 "CONNECTOR-2-1" "unknown" 3000 14350 0 top D2-5-8 "CONNECTOR-2-1" "unknown" 3000 15850 0 top D2-5-9 "CONNECTOR-2-1" "unknown" 3000 17350 0 top D2-5-10 "CONNECTOR-2-1" "unknown" 3000 18850 0 top D2-5-11 "CONNECTOR-2-1" "unknown" 3000 20350 0 top D2-5-12 "CONNECTOR-2-1" "unknown" 3000 21850 0 top D2-5-13 "CONNECTOR-2-1" "unknown" 3000 23350 0 top D2-5-14 "CONNECTOR-2-1" "unknown" 3000 24850 0 top D2-6-0 "CONNECTOR-2-1" "unknown" 3500 3850 0 top D2-6-1 "CONNECTOR-2-1" "unknown" 3500 5350 0 top D2-6-2 "CONNECTOR-2-1" "unknown" 3500 6850 0 top D2-6-3 "CONNECTOR-2-1" "unknown" 3500 8350 0 top D2-6-4 "CONNECTOR-2-1" "unknown" 3500 9850 0 top D2-6-5 "CONNECTOR-2-1" "unknown" 3500 11350 0 top D2-6-6 "CONNECTOR-2-1" "unknown" 3500 12850 0 top D2-6-7 "CONNECTOR-2-1" "unknown" 3500 14350 0 top D2-6-8 "CONNECTOR-2-1" "unknown" 3500 15850 0 top D2-6-9 "CONNECTOR-2-1" "unknown" 3500 17350 0 top D2-6-10 "CONNECTOR-2-1" "unknown" 3500 18850 0 top D2-6-11 "CONNECTOR-2-1" "unknown" 3500 20350 0 top D2-6-12 "CONNECTOR-2-1" "unknown" 3500 21850 0 top D2-6-13 "CONNECTOR-2-1" "unknown" 3500 23350 0 top D2-6-14 "CONNECTOR-2-1" "unknown" 3500 24850 0 top D2-7-0 "CONNECTOR-2-1" "unknown" 4000 3850 0 top D2-7-1 "CONNECTOR-2-1" "unknown" 4000 5350 0 top D2-7-2 "CONNECTOR-2-1" "unknown" 4000 6850 0 top D2-7-3 "CONNECTOR-2-1" "unknown" 4000 8350 0 top D2-7-4 "CONNECTOR-2-1" "unknown" 4000 9850 0 top D2-7-5 "CONNECTOR-2-1" "unknown" 4000 11350 0 top D2-7-6 "CONNECTOR-2-1" "unknown" 4000 12850 0 top D2-7-7 "CONNECTOR-2-1" "unknown" 4000 14350 0 top D2-7-8 "CONNECTOR-2-1" "unknown" 4000 15850 0 top D2-7-9 "CONNECTOR-2-1" "unknown" 4000 17350 0 top D2-7-10 "CONNECTOR-2-1" "unknown" 4000 18850 0 top D2-7-11 "CONNECTOR-2-1" "unknown" 4000 20350 0 top D2-7-12 "CONNECTOR-2-1" "unknown" 4000 21850 0 top D2-7-13 "CONNECTOR-2-1" "unknown" 4000 23350 0 top D2-7-14 "CONNECTOR-2-1" "unknown" 4000 24850 0 top D2-8-0 "CONNECTOR-2-1" "unknown" 4500 3850 0 top D2-8-1 "CONNECTOR-2-1" "unknown" 4500 5350 0 top D2-8-2 "CONNECTOR-2-1" "unknown" 4500 6850 0 top D2-8-3 "CONNECTOR-2-1" "unknown" 4500 8350 0 top D2-8-4 "CONNECTOR-2-1" "unknown" 4500 9850 0 top D2-8-5 "CONNECTOR-2-1" "unknown" 4500 11350 0 top D2-8-6 "CONNECTOR-2-1" "unknown" 4500 12850 0 top D2-8-7 "CONNECTOR-2-1" "unknown" 4500 14350 0 top D2-8-8 "CONNECTOR-2-1" "unknown" 4500 15850 0 top D2-8-9 "CONNECTOR-2-1" "unknown" 4500 17350 0 top D2-8-10 "CONNECTOR-2-1" "unknown" 4500 18850 0 top D2-8-11 "CONNECTOR-2-1" "unknown" 4500 20350 0 top D2-8-12 "CONNECTOR-2-1" "unknown" 4500 21850 0 top D2-8-13 "CONNECTOR-2-1" "unknown" 4500 23350 0 top D2-8-14 "CONNECTOR-2-1" "unknown" 4500 24850 0 top D2-9-0 "CONNECTOR-2-1" "unknown" 5000 3850 0 top D2-9-1 "CONNECTOR-2-1" "unknown" 5000 5350 0 top D2-9-2 "CONNECTOR-2-1" "unknown" 5000 6850 0 top D2-9-3 "CONNECTOR-2-1" "unknown" 5000 8350 0 top D2-9-4 "CONNECTOR-2-1" "unknown" 5000 9850 0 top D2-9-5 "CONNECTOR-2-1" "unknown" 5000 11350 0 top D2-9-6 "CONNECTOR-2-1" "unknown" 5000 12850 0 top D2-9-7 "CONNECTOR-2-1" "unknown" 5000 14350 0 top D2-9-8 "CONNECTOR-2-1" "unknown" 5000 15850 0 top D2-9-9 "CONNECTOR-2-1" "unknown" 5000 17350 0 top D2-9-10 "CONNECTOR-2-1" "unknown" 5000 18850 0 top D2-9-11 "CONNECTOR-2-1" "unknown" 5000 20350 0 top D2-9-12 "CONNECTOR-2-1" "unknown" 5000 21850 0 top D2-9-13 "CONNECTOR-2-1" "unknown" 5000 23350 0 top D2-9-14 "CONNECTOR-2-1" "unknown" 5000 24850 0 top D2-10-0 "CONNECTOR-2-1" "unknown" 5500 3850 0 top D2-10-1 "CONNECTOR-2-1" "unknown" 5500 5350 0 top D2-10-2 "CONNECTOR-2-1" "unknown" 5500 6850 0 top D2-10-3 "CONNECTOR-2-1" "unknown" 5500 8350 0 top D2-10-4 "CONNECTOR-2-1" "unknown" 5500 9850 0 top D2-10-5 "CONNECTOR-2-1" "unknown" 5500 11350 0 top D2-10-6 "CONNECTOR-2-1" "unknown" 5500 12850 0 top D2-10-7 "CONNECTOR-2-1" "unknown" 5500 14350 0 top D2-10-8 "CONNECTOR-2-1" "unknown" 5500 15850 0 top D2-10-9 "CONNECTOR-2-1" "unknown" 5500 17350 0 top D2-10-10 "CONNECTOR-2-1" "unknown" 5500 18850 0 top D2-10-11 "CONNECTOR-2-1" "unknown" 5500 20350 0 top D2-10-12 "CONNECTOR-2-1" "unknown" 5500 21850 0 top D2-10-13 "CONNECTOR-2-1" "unknown" 5500 23350 0 top D2-10-14 "CONNECTOR-2-1" "unknown" 5500 24850 0 top D2-11-0 "CONNECTOR-2-1" "unknown" 6000 3850 0 top D2-11-1 "CONNECTOR-2-1" "unknown" 6000 5350 0 top D2-11-2 "CONNECTOR-2-1" "unknown" 6000 6850 0 top D2-11-3 "CONNECTOR-2-1" "unknown" 6000 8350 0 top D2-11-4 "CONNECTOR-2-1" "unknown" 6000 9850 0 top D2-11-5 "CONNECTOR-2-1" "unknown" 6000 11350 0 top D2-11-6 "CONNECTOR-2-1" "unknown" 6000 12850 0 top D2-11-7 "CONNECTOR-2-1" "unknown" 6000 14350 0 top D2-11-8 "CONNECTOR-2-1" "unknown" 6000 15850 0 top D2-11-9 "CONNECTOR-2-1" "unknown" 6000 17350 0 top D2-11-10 "CONNECTOR-2-1" "unknown" 6000 18850 0 top D2-11-11 "CONNECTOR-2-1" "unknown" 6000 20350 0 top D2-11-12 "CONNECTOR-2-1" "unknown" 6000 21850 0 top D2-11-13 "CONNECTOR-2-1" "unknown" 6000 23350 0 top D2-11-14 "CONNECTOR-2-1" "unknown" 6000 24850 0 top D2-12-0 "CONNECTOR-2-1" "unknown" 6500 3850 0 top D2-12-1 "CONNECTOR-2-1" "unknown" 6500 5350 0 top D2-12-2 "CONNECTOR-2-1" "unknown" 6500 6850 0 top D2-12-3 "CONNECTOR-2-1" "unknown" 6500 8350 0 top D2-12-4 "CONNECTOR-2-1" "unknown" 6500 9850 0 top D2-12-5 "CONNECTOR-2-1" "unknown" 6500 11350 0 top D2-12-6 "CONNECTOR-2-1" "unknown" 6500 12850 0 top D2-12-7 "CONNECTOR-2-1" "unknown" 6500 14350 0 top D2-12-8 "CONNECTOR-2-1" "unknown" 6500 15850 0 top D2-12-9 "CONNECTOR-2-1" "unknown" 6500 17350 0 top D2-12-10 "CONNECTOR-2-1" "unknown" 6500 18850 0 top D2-12-11 "CONNECTOR-2-1" "unknown" 6500 20350 0 top D2-12-12 "CONNECTOR-2-1" "unknown" 6500 21850 0 top D2-12-13 "CONNECTOR-2-1" "unknown" 6500 23350 0 top D2-12-14 "CONNECTOR-2-1" "unknown" 6500 24850 0 top D2-13-0 "CONNECTOR-2-1" "unknown" 7000 3850 0 top D2-13-1 "CONNECTOR-2-1" "unknown" 7000 5350 0 top D2-13-2 "CONNECTOR-2-1" "unknown" 7000 6850 0 top D2-13-3 "CONNECTOR-2-1" "unknown" 7000 8350 0 top D2-13-4 "CONNECTOR-2-1" "unknown" 7000 9850 0 top D2-13-5 "CONNECTOR-2-1" "unknown" 7000 11350 0 top D2-13-6 "CONNECTOR-2-1" "unknown" 7000 12850 0 top D2-13-7 "CONNECTOR-2-1" "unknown" 7000 14350 0 top D2-13-8 "CONNECTOR-2-1" "unknown" 7000 15850 0 top D2-13-9 "CONNECTOR-2-1" "unknown" 7000 17350 0 top D2-13-10 "CONNECTOR-2-1" "unknown" 7000 18850 0 top D2-13-11 "CONNECTOR-2-1" "unknown" 7000 20350 0 top D2-13-12 "CONNECTOR-2-1" "unknown" 7000 21850 0 top D2-13-13 "CONNECTOR-2-1" "unknown" 7000 23350 0 top D2-13-14 "CONNECTOR-2-1" "unknown" 7000 24850 0 top D2-14-0 "CONNECTOR-2-1" "unknown" 7500 3850 0 top D2-14-1 "CONNECTOR-2-1" "unknown" 7500 5350 0 top D2-14-2 "CONNECTOR-2-1" "unknown" 7500 6850 0 top D2-14-3 "CONNECTOR-2-1" "unknown" 7500 8350 0 top D2-14-4 "CONNECTOR-2-1" "unknown" 7500 9850 0 top D2-14-5 "CONNECTOR-2-1" "unknown" 7500 11350 0 top D2-14-6 "CONNECTOR-2-1" "unknown" 7500 12850 0 top D2-14-7 "CONNECTOR-2-1" "unknown" 7500 14350 0 top D2-14-8 "CONNECTOR-2-1" "unknown" 7500 15850 0 top D2-14-9 "CONNECTOR-2-1" "unknown" 7500 17350 0 top D2-14-10 "CONNECTOR-2-1" "unknown" 7500 18850 0 top D2-14-11 "CONNECTOR-2-1" "unknown" 7500 20350 0 top D2-14-12 "CONNECTOR-2-1" "unknown" 7500 21850 0 top D2-14-13 "CONNECTOR-2-1" "unknown" 7500 23350 0 top D2-14-14 "CONNECTOR-2-1" "unknown" 7500 24850 0 top C2-0-0 "1206" "unknown" 925.00 3350.00 270 bottom C2-0-1 "1206" "unknown" 925 4850 270 bottom C2-0-2 "1206" "unknown" 925 6350 270 bottom C2-0-3 "1206" "unknown" 925 7850 270 bottom C2-0-4 "1206" "unknown" 925 9350 270 bottom C2-0-5 "1206" "unknown" 925 10850 270 bottom C2-0-6 "1206" "unknown" 925 12350 270 bottom C2-0-7 "1206" "unknown" 925 13850 270 bottom C2-0-8 "1206" "unknown" 925 15350 270 bottom C2-0-9 "1206" "unknown" 925 16850 270 bottom C2-0-10 "1206" "unknown" 925 18350 270 bottom C2-0-11 "1206" "unknown" 925 19850 270 bottom C2-0-12 "1206" "unknown" 925 21350 270 bottom C2-0-13 "1206" "unknown" 925 22850 270 bottom C2-0-14 "1206" "unknown" 925 24350 270 bottom C2-1-0 "1206" "unknown" 1425 3350 270 bottom C2-1-1 "1206" "unknown" 1425 4850 270 bottom C2-1-2 "1206" "unknown" 1425 6350 270 bottom C2-1-3 "1206" "unknown" 1425 7850 270 bottom C2-1-4 "1206" "unknown" 1425 9350 270 bottom C2-1-5 "1206" "unknown" 1425 10850 270 bottom C2-1-6 "1206" "unknown" 1425 12350 270 bottom C2-1-7 "1206" "unknown" 1425 13850 270 bottom C2-1-8 "1206" "unknown" 1425 15350 270 bottom C2-1-9 "1206" "unknown" 1425 16850 270 bottom C2-1-10 "1206" "unknown" 1425 18350 270 bottom C2-1-11 "1206" "unknown" 1425 19850 270 bottom C2-1-12 "1206" "unknown" 1425 21350 270 bottom C2-1-13 "1206" "unknown" 1425 22850 270 bottom C2-1-14 "1206" "unknown" 1425 24350 270 bottom C2-2-0 "1206" "unknown" 1925 3350 270 bottom C2-2-1 "1206" "unknown" 1925 4850 270 bottom C2-2-2 "1206" "unknown" 1925 6350 270 bottom C2-2-3 "1206" "unknown" 1925 7850 270 bottom C2-2-4 "1206" "unknown" 1925 9350 270 bottom C2-2-5 "1206" "unknown" 1925 10850 270 bottom C2-2-6 "1206" "unknown" 1925 12350 270 bottom C2-2-7 "1206" "unknown" 1925 13850 270 bottom C2-2-8 "1206" "unknown" 1925 15350 270 bottom C2-2-9 "1206" "unknown" 1925 16850 270 bottom C2-2-10 "1206" "unknown" 1925 18350 270 bottom C2-2-11 "1206" "unknown" 1925 19850 270 bottom C2-2-12 "1206" "unknown" 1925 21350 270 bottom C2-2-13 "1206" "unknown" 1925 22850 270 bottom C2-2-14 "1206" "unknown" 1925 24350 270 bottom C2-3-0 "1206" "unknown" 2425 3350 270 bottom C2-3-1 "1206" "unknown" 2425 4850 270 bottom C2-3-2 "1206" "unknown" 2425 6350 270 bottom C2-3-3 "1206" "unknown" 2425 7850 270 bottom C2-3-4 "1206" "unknown" 2425 9350 270 bottom C2-3-5 "1206" "unknown" 2425 10850 270 bottom C2-3-6 "1206" "unknown" 2425 12350 270 bottom C2-3-7 "1206" "unknown" 2425 13850 270 bottom C2-3-8 "1206" "unknown" 2425 15350 270 bottom C2-3-9 "1206" "unknown" 2425 16850 270 bottom C2-3-10 "1206" "unknown" 2425 18350 270 bottom C2-3-11 "1206" "unknown" 2425 19850 270 bottom C2-3-12 "1206" "unknown" 2425 21350 270 bottom C2-3-13 "1206" "unknown" 2425 22850 270 bottom C2-3-14 "1206" "unknown" 2425 24350 270 bottom C2-4-0 "1206" "unknown" 2925 3350 270 bottom C2-4-1 "1206" "unknown" 2925 4850 270 bottom C2-4-2 "1206" "unknown" 2925 6350 270 bottom C2-4-3 "1206" "unknown" 2925 7850 270 bottom C2-4-4 "1206" "unknown" 2925 9350 270 bottom C2-4-5 "1206" "unknown" 2925 10850 270 bottom C2-4-6 "1206" "unknown" 2925 12350 270 bottom C2-4-7 "1206" "unknown" 2925 13850 270 bottom C2-4-8 "1206" "unknown" 2925 15350 270 bottom C2-4-9 "1206" "unknown" 2925 16850 270 bottom C2-4-10 "1206" "unknown" 2925 18350 270 bottom C2-4-11 "1206" "unknown" 2925 19850 270 bottom C2-4-12 "1206" "unknown" 2925 21350 270 bottom C2-4-13 "1206" "unknown" 2925 22850 270 bottom C2-4-14 "1206" "unknown" 2925 24350 270 bottom C2-5-0 "1206" "unknown" 3425 3350 270 bottom C2-5-1 "1206" "unknown" 3425 4850 270 bottom C2-5-2 "1206" "unknown" 3425 6350 270 bottom C2-5-3 "1206" "unknown" 3425 7850 270 bottom C2-5-4 "1206" "unknown" 3425 9350 270 bottom C2-5-5 "1206" "unknown" 3425 10850 270 bottom C2-5-6 "1206" "unknown" 3425 12350 270 bottom C2-5-7 "1206" "unknown" 3425 13850 270 bottom C2-5-8 "1206" "unknown" 3425 15350 270 bottom C2-5-9 "1206" "unknown" 3425 16850 270 bottom C2-5-10 "1206" "unknown" 3425 18350 270 bottom C2-5-11 "1206" "unknown" 3425 19850 270 bottom C2-5-12 "1206" "unknown" 3425 21350 270 bottom C2-5-13 "1206" "unknown" 3425 22850 270 bottom C2-5-14 "1206" "unknown" 3425 24350 270 bottom C2-6-0 "1206" "unknown" 3925 3350 270 bottom C2-6-1 "1206" "unknown" 3925 4850 270 bottom C2-6-2 "1206" "unknown" 3925 6350 270 bottom C2-6-3 "1206" "unknown" 3925 7850 270 bottom C2-6-4 "1206" "unknown" 3925 9350 270 bottom C2-6-5 "1206" "unknown" 3925 10850 270 bottom C2-6-6 "1206" "unknown" 3925 12350 270 bottom C2-6-7 "1206" "unknown" 3925 13850 270 bottom C2-6-8 "1206" "unknown" 3925 15350 270 bottom C2-6-9 "1206" "unknown" 3925 16850 270 bottom C2-6-10 "1206" "unknown" 3925 18350 270 bottom C2-6-11 "1206" "unknown" 3925 19850 270 bottom C2-6-12 "1206" "unknown" 3925 21350 270 bottom C2-6-13 "1206" "unknown" 3925 22850 270 bottom C2-6-14 "1206" "unknown" 3925 24350 270 bottom C2-7-0 "1206" "unknown" 4425 3350 270 bottom C2-7-1 "1206" "unknown" 4425 4850 270 bottom C2-7-2 "1206" "unknown" 4425 6350 270 bottom C2-7-3 "1206" "unknown" 4425 7850 270 bottom C2-7-4 "1206" "unknown" 4425 9350 270 bottom C2-7-5 "1206" "unknown" 4425 10850 270 bottom C2-7-6 "1206" "unknown" 4425 12350 270 bottom C2-7-7 "1206" "unknown" 4425 13850 270 bottom C2-7-8 "1206" "unknown" 4425 15350 270 bottom C2-7-9 "1206" "unknown" 4425 16850 270 bottom C2-7-10 "1206" "unknown" 4425 18350 270 bottom C2-7-11 "1206" "unknown" 4425 19850 270 bottom C2-7-12 "1206" "unknown" 4425 21350 270 bottom C2-7-13 "1206" "unknown" 4425 22850 270 bottom C2-7-14 "1206" "unknown" 4425 24350 270 bottom C2-8-0 "1206" "unknown" 4925 3350 270 bottom C2-8-1 "1206" "unknown" 4925 4850 270 bottom C2-8-2 "1206" "unknown" 4925 6350 270 bottom C2-8-3 "1206" "unknown" 4925 7850 270 bottom C2-8-4 "1206" "unknown" 4925 9350 270 bottom C2-8-5 "1206" "unknown" 4925 10850 270 bottom C2-8-6 "1206" "unknown" 4925 12350 270 bottom C2-8-7 "1206" "unknown" 4925 13850 270 bottom C2-8-8 "1206" "unknown" 4925 15350 270 bottom C2-8-9 "1206" "unknown" 4925 16850 270 bottom C2-8-10 "1206" "unknown" 4925 18350 270 bottom C2-8-11 "1206" "unknown" 4925 19850 270 bottom C2-8-12 "1206" "unknown" 4925 21350 270 bottom C2-8-13 "1206" "unknown" 4925 22850 270 bottom C2-8-14 "1206" "unknown" 4925 24350 270 bottom C2-9-0 "1206" "unknown" 5425 3350 270 bottom C2-9-1 "1206" "unknown" 5425 4850 270 bottom C2-9-2 "1206" "unknown" 5425 6350 270 bottom C2-9-3 "1206" "unknown" 5425 7850 270 bottom C2-9-4 "1206" "unknown" 5425 9350 270 bottom C2-9-5 "1206" "unknown" 5425 10850 270 bottom C2-9-6 "1206" "unknown" 5425 12350 270 bottom C2-9-7 "1206" "unknown" 5425 13850 270 bottom C2-9-8 "1206" "unknown" 5425 15350 270 bottom C2-9-9 "1206" "unknown" 5425 16850 270 bottom C2-9-10 "1206" "unknown" 5425 18350 270 bottom C2-9-11 "1206" "unknown" 5425 19850 270 bottom C2-9-12 "1206" "unknown" 5425 21350 270 bottom C2-9-13 "1206" "unknown" 5425 22850 270 bottom C2-9-14 "1206" "unknown" 5425 24350 270 bottom C2-10-0 "1206" "unknown" 5925 3350 270 bottom C2-10-1 "1206" "unknown" 5925 4850 270 bottom C2-10-2 "1206" "unknown" 5925 6350 270 bottom C2-10-3 "1206" "unknown" 5925 7850 270 bottom C2-10-4 "1206" "unknown" 5925 9350 270 bottom C2-10-5 "1206" "unknown" 5925 10850 270 bottom C2-10-6 "1206" "unknown" 5925 12350 270 bottom C2-10-7 "1206" "unknown" 5925 13850 270 bottom C2-10-8 "1206" "unknown" 5925 15350 270 bottom C2-10-9 "1206" "unknown" 5925 16850 270 bottom C2-10-10 "1206" "unknown" 5925 18350 270 bottom C2-10-11 "1206" "unknown" 5925 19850 270 bottom C2-10-12 "1206" "unknown" 5925 21350 270 bottom C2-10-13 "1206" "unknown" 5925 22850 270 bottom C2-10-14 "1206" "unknown" 5925 24350 270 bottom C2-11-0 "1206" "unknown" 6425 3350 270 bottom C2-11-1 "1206" "unknown" 6425 4850 270 bottom C2-11-2 "1206" "unknown" 6425 6350 270 bottom C2-11-3 "1206" "unknown" 6425 7850 270 bottom C2-11-4 "1206" "unknown" 6425 9350 270 bottom C2-11-5 "1206" "unknown" 6425 10850 270 bottom C2-11-6 "1206" "unknown" 6425 12350 270 bottom C2-11-7 "1206" "unknown" 6425 13850 270 bottom C2-11-8 "1206" "unknown" 6425 15350 270 bottom C2-11-9 "1206" "unknown" 6425 16850 270 bottom C2-11-10 "1206" "unknown" 6425 18350 270 bottom C2-11-11 "1206" "unknown" 6425 19850 270 bottom C2-11-12 "1206" "unknown" 6425 21350 270 bottom C2-11-13 "1206" "unknown" 6425 22850 270 bottom C2-11-14 "1206" "unknown" 6425 24350 270 bottom C2-12-0 "1206" "unknown" 6925 3350 270 bottom C2-12-1 "1206" "unknown" 6925 4850 270 bottom C2-12-2 "1206" "unknown" 6925 6350 270 bottom C2-12-3 "1206" "unknown" 6925 7850 270 bottom C2-12-4 "1206" "unknown" 6925 9350 270 bottom C2-12-5 "1206" "unknown" 6925 10850 270 bottom C2-12-6 "1206" "unknown" 6925 12350 270 bottom C2-12-7 "1206" "unknown" 6925 13850 270 bottom C2-12-8 "1206" "unknown" 6925 15350 270 bottom C2-12-9 "1206" "unknown" 6925 16850 270 bottom C2-12-10 "1206" "unknown" 6925 18350 270 bottom C2-12-11 "1206" "unknown" 6925 19850 270 bottom C2-12-12 "1206" "unknown" 6925 21350 270 bottom C2-12-13 "1206" "unknown" 6925 22850 270 bottom C2-12-14 "1206" "unknown" 6925 24350 270 bottom C2-13-0 "1206" "unknown" 7425 3350 270 bottom C2-13-1 "1206" "unknown" 7425 4850 270 bottom C2-13-2 "1206" "unknown" 7425 6350 270 bottom C2-13-3 "1206" "unknown" 7425 7850 270 bottom C2-13-4 "1206" "unknown" 7425 9350 270 bottom C2-13-5 "1206" "unknown" 7425 10850 270 bottom C2-13-6 "1206" "unknown" 7425 12350 270 bottom C2-13-7 "1206" "unknown" 7425 13850 270 bottom C2-13-8 "1206" "unknown" 7425 15350 270 bottom C2-13-9 "1206" "unknown" 7425 16850 270 bottom C2-13-10 "1206" "unknown" 7425 18350 270 bottom C2-13-11 "1206" "unknown" 7425 19850 270 bottom C2-13-12 "1206" "unknown" 7425 21350 270 bottom C2-13-13 "1206" "unknown" 7425 22850 270 bottom C2-13-14 "1206" "unknown" 7425 24350 270 bottom C2-14-0 "1206" "unknown" 7925 3350 270 bottom C2-14-1 "1206" "unknown" 7925 4850 270 bottom C2-14-2 "1206" "unknown" 7925 6350 270 bottom C2-14-3 "1206" "unknown" 7925 7850 270 bottom C2-14-4 "1206" "unknown" 7925 9350 270 bottom C2-14-5 "1206" "unknown" 7925 10850 270 bottom C2-14-6 "1206" "unknown" 7925 12350 270 bottom C2-14-7 "1206" "unknown" 7925 13850 270 bottom C2-14-8 "1206" "unknown" 7925 15350 270 bottom C2-14-9 "1206" "unknown" 7925 16850 270 bottom C2-14-10 "1206" "unknown" 7925 18350 270 bottom C2-14-11 "1206" "unknown" 7925 19850 270 bottom C2-14-12 "1206" "unknown" 7925 21350 270 bottom C2-14-13 "1206" "unknown" 7925 22850 270 bottom C2-14-14 "1206" "unknown" 7925 24350 270 bottom R2-0-0 "1206" "unknown" 506.90 3751.38 180 bottom R2-0-1 "1206" "unknown" 506.9 5251.38 180 bottom R2-0-2 "1206" "unknown" 506.9 6751.38 180 bottom R2-0-3 "1206" "unknown" 506.9 8251.38 180 bottom R2-0-4 "1206" "unknown" 506.9 9751.38 180 bottom R2-0-5 "1206" "unknown" 506.9 11251.38 180 bottom R2-0-6 "1206" "unknown" 506.9 12751.38 180 bottom R2-0-7 "1206" "unknown" 506.9 14251.38 180 bottom R2-0-8 "1206" "unknown" 506.9 15751.38 180 bottom R2-0-9 "1206" "unknown" 506.9 17251.38 180 bottom R2-0-10 "1206" "unknown" 506.9 18751.38 180 bottom R2-0-11 "1206" "unknown" 506.9 20251.38 180 bottom R2-0-12 "1206" "unknown" 506.9 21751.38 180 bottom R2-0-13 "1206" "unknown" 506.9 23251.38 180 bottom R2-0-14 "1206" "unknown" 506.9 24751.38 180 bottom R2-1-0 "1206" "unknown" 1006.9 3751.38 180 bottom R2-1-1 "1206" "unknown" 1006.9 5251.38 180 bottom R2-1-2 "1206" "unknown" 1006.9 6751.38 180 bottom R2-1-3 "1206" "unknown" 1006.9 8251.38 180 bottom R2-1-4 "1206" "unknown" 1006.9 9751.38 180 bottom R2-1-5 "1206" "unknown" 1006.9 11251.38 180 bottom R2-1-6 "1206" "unknown" 1006.9 12751.38 180 bottom R2-1-7 "1206" "unknown" 1006.9 14251.38 180 bottom R2-1-8 "1206" "unknown" 1006.9 15751.38 180 bottom R2-1-9 "1206" "unknown" 1006.9 17251.38 180 bottom R2-1-10 "1206" "unknown" 1006.9 18751.38 180 bottom R2-1-11 "1206" "unknown" 1006.9 20251.38 180 bottom R2-1-12 "1206" "unknown" 1006.9 21751.38 180 bottom R2-1-13 "1206" "unknown" 1006.9 23251.38 180 bottom R2-1-14 "1206" "unknown" 1006.9 24751.38 180 bottom R2-2-0 "1206" "unknown" 1506.9 3751.38 180 bottom R2-2-1 "1206" "unknown" 1506.9 5251.38 180 bottom R2-2-2 "1206" "unknown" 1506.9 6751.38 180 bottom R2-2-3 "1206" "unknown" 1506.9 8251.38 180 bottom R2-2-4 "1206" "unknown" 1506.9 9751.38 180 bottom R2-2-5 "1206" "unknown" 1506.9 11251.38 180 bottom R2-2-6 "1206" "unknown" 1506.9 12751.38 180 bottom R2-2-7 "1206" "unknown" 1506.9 14251.38 180 bottom R2-2-8 "1206" "unknown" 1506.9 15751.38 180 bottom R2-2-9 "1206" "unknown" 1506.9 17251.38 180 bottom R2-2-10 "1206" "unknown" 1506.9 18751.38 180 bottom R2-2-11 "1206" "unknown" 1506.9 20251.38 180 bottom R2-2-12 "1206" "unknown" 1506.9 21751.38 180 bottom R2-2-13 "1206" "unknown" 1506.9 23251.38 180 bottom R2-2-14 "1206" "unknown" 1506.9 24751.38 180 bottom R2-3-0 "1206" "unknown" 2006.9 3751.38 180 bottom R2-3-1 "1206" "unknown" 2006.9 5251.38 180 bottom R2-3-2 "1206" "unknown" 2006.9 6751.38 180 bottom R2-3-3 "1206" "unknown" 2006.9 8251.38 180 bottom R2-3-4 "1206" "unknown" 2006.9 9751.38 180 bottom R2-3-5 "1206" "unknown" 2006.9 11251.38 180 bottom R2-3-6 "1206" "unknown" 2006.9 12751.38 180 bottom R2-3-7 "1206" "unknown" 2006.9 14251.38 180 bottom R2-3-8 "1206" "unknown" 2006.9 15751.38 180 bottom R2-3-9 "1206" "unknown" 2006.9 17251.38 180 bottom R2-3-10 "1206" "unknown" 2006.9 18751.38 180 bottom R2-3-11 "1206" "unknown" 2006.9 20251.38 180 bottom R2-3-12 "1206" "unknown" 2006.9 21751.38 180 bottom R2-3-13 "1206" "unknown" 2006.9 23251.38 180 bottom R2-3-14 "1206" "unknown" 2006.9 24751.38 180 bottom R2-4-0 "1206" "unknown" 2506.9 3751.38 180 bottom R2-4-1 "1206" "unknown" 2506.9 5251.38 180 bottom R2-4-2 "1206" "unknown" 2506.9 6751.38 180 bottom R2-4-3 "1206" "unknown" 2506.9 8251.38 180 bottom R2-4-4 "1206" "unknown" 2506.9 9751.38 180 bottom R2-4-5 "1206" "unknown" 2506.9 11251.38 180 bottom R2-4-6 "1206" "unknown" 2506.9 12751.38 180 bottom R2-4-7 "1206" "unknown" 2506.9 14251.38 180 bottom R2-4-8 "1206" "unknown" 2506.9 15751.38 180 bottom R2-4-9 "1206" "unknown" 2506.9 17251.38 180 bottom R2-4-10 "1206" "unknown" 2506.9 18751.38 180 bottom R2-4-11 "1206" "unknown" 2506.9 20251.38 180 bottom R2-4-12 "1206" "unknown" 2506.9 21751.38 180 bottom R2-4-13 "1206" "unknown" 2506.9 23251.38 180 bottom R2-4-14 "1206" "unknown" 2506.9 24751.38 180 bottom R2-5-0 "1206" "unknown" 3006.9 3751.38 180 bottom R2-5-1 "1206" "unknown" 3006.9 5251.38 180 bottom R2-5-2 "1206" "unknown" 3006.9 6751.38 180 bottom R2-5-3 "1206" "unknown" 3006.9 8251.38 180 bottom R2-5-4 "1206" "unknown" 3006.9 9751.38 180 bottom R2-5-5 "1206" "unknown" 3006.9 11251.38 180 bottom R2-5-6 "1206" "unknown" 3006.9 12751.38 180 bottom R2-5-7 "1206" "unknown" 3006.9 14251.38 180 bottom R2-5-8 "1206" "unknown" 3006.9 15751.38 180 bottom R2-5-9 "1206" "unknown" 3006.9 17251.38 180 bottom R2-5-10 "1206" "unknown" 3006.9 18751.38 180 bottom R2-5-11 "1206" "unknown" 3006.9 20251.38 180 bottom R2-5-12 "1206" "unknown" 3006.9 21751.38 180 bottom R2-5-13 "1206" "unknown" 3006.9 23251.38 180 bottom R2-5-14 "1206" "unknown" 3006.9 24751.38 180 bottom R2-6-0 "1206" "unknown" 3506.9 3751.38 180 bottom R2-6-1 "1206" "unknown" 3506.9 5251.38 180 bottom R2-6-2 "1206" "unknown" 3506.9 6751.38 180 bottom R2-6-3 "1206" "unknown" 3506.9 8251.38 180 bottom R2-6-4 "1206" "unknown" 3506.9 9751.38 180 bottom R2-6-5 "1206" "unknown" 3506.9 11251.38 180 bottom R2-6-6 "1206" "unknown" 3506.9 12751.38 180 bottom R2-6-7 "1206" "unknown" 3506.9 14251.38 180 bottom R2-6-8 "1206" "unknown" 3506.9 15751.38 180 bottom R2-6-9 "1206" "unknown" 3506.9 17251.38 180 bottom R2-6-10 "1206" "unknown" 3506.9 18751.38 180 bottom R2-6-11 "1206" "unknown" 3506.9 20251.38 180 bottom R2-6-12 "1206" "unknown" 3506.9 21751.38 180 bottom R2-6-13 "1206" "unknown" 3506.9 23251.38 180 bottom R2-6-14 "1206" "unknown" 3506.9 24751.38 180 bottom R2-7-0 "1206" "unknown" 4006.9 3751.38 180 bottom R2-7-1 "1206" "unknown" 4006.9 5251.38 180 bottom R2-7-2 "1206" "unknown" 4006.9 6751.38 180 bottom R2-7-3 "1206" "unknown" 4006.9 8251.38 180 bottom R2-7-4 "1206" "unknown" 4006.9 9751.38 180 bottom R2-7-5 "1206" "unknown" 4006.9 11251.38 180 bottom R2-7-6 "1206" "unknown" 4006.9 12751.38 180 bottom R2-7-7 "1206" "unknown" 4006.9 14251.38 180 bottom R2-7-8 "1206" "unknown" 4006.9 15751.38 180 bottom R2-7-9 "1206" "unknown" 4006.9 17251.38 180 bottom R2-7-10 "1206" "unknown" 4006.9 18751.38 180 bottom R2-7-11 "1206" "unknown" 4006.9 20251.38 180 bottom R2-7-12 "1206" "unknown" 4006.9 21751.38 180 bottom R2-7-13 "1206" "unknown" 4006.9 23251.38 180 bottom R2-7-14 "1206" "unknown" 4006.9 24751.38 180 bottom R2-8-0 "1206" "unknown" 4506.9 3751.38 180 bottom R2-8-1 "1206" "unknown" 4506.9 5251.38 180 bottom R2-8-2 "1206" "unknown" 4506.9 6751.38 180 bottom R2-8-3 "1206" "unknown" 4506.9 8251.38 180 bottom R2-8-4 "1206" "unknown" 4506.9 9751.38 180 bottom R2-8-5 "1206" "unknown" 4506.9 11251.38 180 bottom R2-8-6 "1206" "unknown" 4506.9 12751.38 180 bottom R2-8-7 "1206" "unknown" 4506.9 14251.38 180 bottom R2-8-8 "1206" "unknown" 4506.9 15751.38 180 bottom R2-8-9 "1206" "unknown" 4506.9 17251.38 180 bottom R2-8-10 "1206" "unknown" 4506.9 18751.38 180 bottom R2-8-11 "1206" "unknown" 4506.9 20251.38 180 bottom R2-8-12 "1206" "unknown" 4506.9 21751.38 180 bottom R2-8-13 "1206" "unknown" 4506.9 23251.38 180 bottom R2-8-14 "1206" "unknown" 4506.9 24751.38 180 bottom R2-9-0 "1206" "unknown" 5006.9 3751.38 180 bottom R2-9-1 "1206" "unknown" 5006.9 5251.38 180 bottom R2-9-2 "1206" "unknown" 5006.9 6751.38 180 bottom R2-9-3 "1206" "unknown" 5006.9 8251.38 180 bottom R2-9-4 "1206" "unknown" 5006.9 9751.38 180 bottom R2-9-5 "1206" "unknown" 5006.9 11251.38 180 bottom R2-9-6 "1206" "unknown" 5006.9 12751.38 180 bottom R2-9-7 "1206" "unknown" 5006.9 14251.38 180 bottom R2-9-8 "1206" "unknown" 5006.9 15751.38 180 bottom R2-9-9 "1206" "unknown" 5006.9 17251.38 180 bottom R2-9-10 "1206" "unknown" 5006.9 18751.38 180 bottom R2-9-11 "1206" "unknown" 5006.9 20251.38 180 bottom R2-9-12 "1206" "unknown" 5006.9 21751.38 180 bottom R2-9-13 "1206" "unknown" 5006.9 23251.38 180 bottom R2-9-14 "1206" "unknown" 5006.9 24751.38 180 bottom R2-10-0 "1206" "unknown" 5506.9 3751.38 180 bottom R2-10-1 "1206" "unknown" 5506.9 5251.38 180 bottom R2-10-2 "1206" "unknown" 5506.9 6751.38 180 bottom R2-10-3 "1206" "unknown" 5506.9 8251.38 180 bottom R2-10-4 "1206" "unknown" 5506.9 9751.38 180 bottom R2-10-5 "1206" "unknown" 5506.9 11251.38 180 bottom R2-10-6 "1206" "unknown" 5506.9 12751.38 180 bottom R2-10-7 "1206" "unknown" 5506.9 14251.38 180 bottom R2-10-8 "1206" "unknown" 5506.9 15751.38 180 bottom R2-10-9 "1206" "unknown" 5506.9 17251.38 180 bottom R2-10-10 "1206" "unknown" 5506.9 18751.38 180 bottom R2-10-11 "1206" "unknown" 5506.9 20251.38 180 bottom R2-10-12 "1206" "unknown" 5506.9 21751.38 180 bottom R2-10-13 "1206" "unknown" 5506.9 23251.38 180 bottom R2-10-14 "1206" "unknown" 5506.9 24751.38 180 bottom R2-11-0 "1206" "unknown" 6006.9 3751.38 180 bottom R2-11-1 "1206" "unknown" 6006.9 5251.38 180 bottom R2-11-2 "1206" "unknown" 6006.9 6751.38 180 bottom R2-11-3 "1206" "unknown" 6006.9 8251.38 180 bottom R2-11-4 "1206" "unknown" 6006.9 9751.38 180 bottom R2-11-5 "1206" "unknown" 6006.9 11251.38 180 bottom R2-11-6 "1206" "unknown" 6006.9 12751.38 180 bottom R2-11-7 "1206" "unknown" 6006.9 14251.38 180 bottom R2-11-8 "1206" "unknown" 6006.9 15751.38 180 bottom R2-11-9 "1206" "unknown" 6006.9 17251.38 180 bottom R2-11-10 "1206" "unknown" 6006.9 18751.38 180 bottom R2-11-11 "1206" "unknown" 6006.9 20251.38 180 bottom R2-11-12 "1206" "unknown" 6006.9 21751.38 180 bottom R2-11-13 "1206" "unknown" 6006.9 23251.38 180 bottom R2-11-14 "1206" "unknown" 6006.9 24751.38 180 bottom R2-12-0 "1206" "unknown" 6506.9 3751.38 180 bottom R2-12-1 "1206" "unknown" 6506.9 5251.38 180 bottom R2-12-2 "1206" "unknown" 6506.9 6751.38 180 bottom R2-12-3 "1206" "unknown" 6506.9 8251.38 180 bottom R2-12-4 "1206" "unknown" 6506.9 9751.38 180 bottom R2-12-5 "1206" "unknown" 6506.9 11251.38 180 bottom R2-12-6 "1206" "unknown" 6506.9 12751.38 180 bottom R2-12-7 "1206" "unknown" 6506.9 14251.38 180 bottom R2-12-8 "1206" "unknown" 6506.9 15751.38 180 bottom R2-12-9 "1206" "unknown" 6506.9 17251.38 180 bottom R2-12-10 "1206" "unknown" 6506.9 18751.38 180 bottom R2-12-11 "1206" "unknown" 6506.9 20251.38 180 bottom R2-12-12 "1206" "unknown" 6506.9 21751.38 180 bottom R2-12-13 "1206" "unknown" 6506.9 23251.38 180 bottom R2-12-14 "1206" "unknown" 6506.9 24751.38 180 bottom R2-13-0 "1206" "unknown" 7006.9 3751.38 180 bottom R2-13-1 "1206" "unknown" 7006.9 5251.38 180 bottom R2-13-2 "1206" "unknown" 7006.9 6751.38 180 bottom R2-13-3 "1206" "unknown" 7006.9 8251.38 180 bottom R2-13-4 "1206" "unknown" 7006.9 9751.38 180 bottom R2-13-5 "1206" "unknown" 7006.9 11251.38 180 bottom R2-13-6 "1206" "unknown" 7006.9 12751.38 180 bottom R2-13-7 "1206" "unknown" 7006.9 14251.38 180 bottom R2-13-8 "1206" "unknown" 7006.9 15751.38 180 bottom R2-13-9 "1206" "unknown" 7006.9 17251.38 180 bottom R2-13-10 "1206" "unknown" 7006.9 18751.38 180 bottom R2-13-11 "1206" "unknown" 7006.9 20251.38 180 bottom R2-13-12 "1206" "unknown" 7006.9 21751.38 180 bottom R2-13-13 "1206" "unknown" 7006.9 23251.38 180 bottom R2-13-14 "1206" "unknown" 7006.9 24751.38 180 bottom R2-14-0 "1206" "unknown" 7506.9 3751.38 180 bottom R2-14-1 "1206" "unknown" 7506.9 5251.38 180 bottom R2-14-2 "1206" "unknown" 7506.9 6751.38 180 bottom R2-14-3 "1206" "unknown" 7506.9 8251.38 180 bottom R2-14-4 "1206" "unknown" 7506.9 9751.38 180 bottom R2-14-5 "1206" "unknown" 7506.9 11251.38 180 bottom R2-14-6 "1206" "unknown" 7506.9 12751.38 180 bottom R2-14-7 "1206" "unknown" 7506.9 14251.38 180 bottom R2-14-8 "1206" "unknown" 7506.9 15751.38 180 bottom R2-14-9 "1206" "unknown" 7506.9 17251.38 180 bottom R2-14-10 "1206" "unknown" 7506.9 18751.38 180 bottom R2-14-11 "1206" "unknown" 7506.9 20251.38 180 bottom R2-14-12 "1206" "unknown" 7506.9 21751.38 180 bottom R2-14-13 "1206" "unknown" 7506.9 23251.38 180 bottom R2-14-14 "1206" "unknown" 7506.9 24751.38 180 bottom CONN1-0-0 "CONNECTOR-2-1" "unknown" 275.00 3625.00 0 top CONN1-0-1 "CONNECTOR-2-1" "unknown" 275 5125 0 top CONN1-0-2 "CONNECTOR-2-1" "unknown" 275 6625 0 top CONN1-0-3 "CONNECTOR-2-1" "unknown" 275 8125 0 top CONN1-0-4 "CONNECTOR-2-1" "unknown" 275 9625 0 top CONN1-0-5 "CONNECTOR-2-1" "unknown" 275 11125 0 top CONN1-0-6 "CONNECTOR-2-1" "unknown" 275 12625 0 top CONN1-0-7 "CONNECTOR-2-1" "unknown" 275 14125 0 top CONN1-0-8 "CONNECTOR-2-1" "unknown" 275 15625 0 top CONN1-0-9 "CONNECTOR-2-1" "unknown" 275 17125 0 top CONN1-0-10 "CONNECTOR-2-1" "unknown" 275 18625 0 top CONN1-0-11 "CONNECTOR-2-1" "unknown" 275 20125 0 top CONN1-0-12 "CONNECTOR-2-1" "unknown" 275 21625 0 top CONN1-0-13 "CONNECTOR-2-1" "unknown" 275 23125 0 top CONN1-0-14 "CONNECTOR-2-1" "unknown" 275 24625 0 top CONN1-1-0 "CONNECTOR-2-1" "unknown" 775 3625 0 top CONN1-1-1 "CONNECTOR-2-1" "unknown" 775 5125 0 top CONN1-1-2 "CONNECTOR-2-1" "unknown" 775 6625 0 top CONN1-1-3 "CONNECTOR-2-1" "unknown" 775 8125 0 top CONN1-1-4 "CONNECTOR-2-1" "unknown" 775 9625 0 top CONN1-1-5 "CONNECTOR-2-1" "unknown" 775 11125 0 top CONN1-1-6 "CONNECTOR-2-1" "unknown" 775 12625 0 top CONN1-1-7 "CONNECTOR-2-1" "unknown" 775 14125 0 top CONN1-1-8 "CONNECTOR-2-1" "unknown" 775 15625 0 top CONN1-1-9 "CONNECTOR-2-1" "unknown" 775 17125 0 top CONN1-1-10 "CONNECTOR-2-1" "unknown" 775 18625 0 top CONN1-1-11 "CONNECTOR-2-1" "unknown" 775 20125 0 top CONN1-1-12 "CONNECTOR-2-1" "unknown" 775 21625 0 top CONN1-1-13 "CONNECTOR-2-1" "unknown" 775 23125 0 top CONN1-1-14 "CONNECTOR-2-1" "unknown" 775 24625 0 top CONN1-2-0 "CONNECTOR-2-1" "unknown" 1275 3625 0 top CONN1-2-1 "CONNECTOR-2-1" "unknown" 1275 5125 0 top CONN1-2-2 "CONNECTOR-2-1" "unknown" 1275 6625 0 top CONN1-2-3 "CONNECTOR-2-1" "unknown" 1275 8125 0 top CONN1-2-4 "CONNECTOR-2-1" "unknown" 1275 9625 0 top CONN1-2-5 "CONNECTOR-2-1" "unknown" 1275 11125 0 top CONN1-2-6 "CONNECTOR-2-1" "unknown" 1275 12625 0 top CONN1-2-7 "CONNECTOR-2-1" "unknown" 1275 14125 0 top CONN1-2-8 "CONNECTOR-2-1" "unknown" 1275 15625 0 top CONN1-2-9 "CONNECTOR-2-1" "unknown" 1275 17125 0 top CONN1-2-10 "CONNECTOR-2-1" "unknown" 1275 18625 0 top CONN1-2-11 "CONNECTOR-2-1" "unknown" 1275 20125 0 top CONN1-2-12 "CONNECTOR-2-1" "unknown" 1275 21625 0 top CONN1-2-13 "CONNECTOR-2-1" "unknown" 1275 23125 0 top CONN1-2-14 "CONNECTOR-2-1" "unknown" 1275 24625 0 top CONN1-3-0 "CONNECTOR-2-1" "unknown" 1775 3625 0 top CONN1-3-1 "CONNECTOR-2-1" "unknown" 1775 5125 0 top CONN1-3-2 "CONNECTOR-2-1" "unknown" 1775 6625 0 top CONN1-3-3 "CONNECTOR-2-1" "unknown" 1775 8125 0 top CONN1-3-4 "CONNECTOR-2-1" "unknown" 1775 9625 0 top CONN1-3-5 "CONNECTOR-2-1" "unknown" 1775 11125 0 top CONN1-3-6 "CONNECTOR-2-1" "unknown" 1775 12625 0 top CONN1-3-7 "CONNECTOR-2-1" "unknown" 1775 14125 0 top CONN1-3-8 "CONNECTOR-2-1" "unknown" 1775 15625 0 top CONN1-3-9 "CONNECTOR-2-1" "unknown" 1775 17125 0 top CONN1-3-10 "CONNECTOR-2-1" "unknown" 1775 18625 0 top CONN1-3-11 "CONNECTOR-2-1" "unknown" 1775 20125 0 top CONN1-3-12 "CONNECTOR-2-1" "unknown" 1775 21625 0 top CONN1-3-13 "CONNECTOR-2-1" "unknown" 1775 23125 0 top CONN1-3-14 "CONNECTOR-2-1" "unknown" 1775 24625 0 top CONN1-4-0 "CONNECTOR-2-1" "unknown" 2275 3625 0 top CONN1-4-1 "CONNECTOR-2-1" "unknown" 2275 5125 0 top CONN1-4-2 "CONNECTOR-2-1" "unknown" 2275 6625 0 top CONN1-4-3 "CONNECTOR-2-1" "unknown" 2275 8125 0 top CONN1-4-4 "CONNECTOR-2-1" "unknown" 2275 9625 0 top CONN1-4-5 "CONNECTOR-2-1" "unknown" 2275 11125 0 top CONN1-4-6 "CONNECTOR-2-1" "unknown" 2275 12625 0 top CONN1-4-7 "CONNECTOR-2-1" "unknown" 2275 14125 0 top CONN1-4-8 "CONNECTOR-2-1" "unknown" 2275 15625 0 top CONN1-4-9 "CONNECTOR-2-1" "unknown" 2275 17125 0 top CONN1-4-10 "CONNECTOR-2-1" "unknown" 2275 18625 0 top CONN1-4-11 "CONNECTOR-2-1" "unknown" 2275 20125 0 top CONN1-4-12 "CONNECTOR-2-1" "unknown" 2275 21625 0 top CONN1-4-13 "CONNECTOR-2-1" "unknown" 2275 23125 0 top CONN1-4-14 "CONNECTOR-2-1" "unknown" 2275 24625 0 top CONN1-5-0 "CONNECTOR-2-1" "unknown" 2775 3625 0 top CONN1-5-1 "CONNECTOR-2-1" "unknown" 2775 5125 0 top CONN1-5-2 "CONNECTOR-2-1" "unknown" 2775 6625 0 top CONN1-5-3 "CONNECTOR-2-1" "unknown" 2775 8125 0 top CONN1-5-4 "CONNECTOR-2-1" "unknown" 2775 9625 0 top CONN1-5-5 "CONNECTOR-2-1" "unknown" 2775 11125 0 top CONN1-5-6 "CONNECTOR-2-1" "unknown" 2775 12625 0 top CONN1-5-7 "CONNECTOR-2-1" "unknown" 2775 14125 0 top CONN1-5-8 "CONNECTOR-2-1" "unknown" 2775 15625 0 top CONN1-5-9 "CONNECTOR-2-1" "unknown" 2775 17125 0 top CONN1-5-10 "CONNECTOR-2-1" "unknown" 2775 18625 0 top CONN1-5-11 "CONNECTOR-2-1" "unknown" 2775 20125 0 top CONN1-5-12 "CONNECTOR-2-1" "unknown" 2775 21625 0 top CONN1-5-13 "CONNECTOR-2-1" "unknown" 2775 23125 0 top CONN1-5-14 "CONNECTOR-2-1" "unknown" 2775 24625 0 top CONN1-6-0 "CONNECTOR-2-1" "unknown" 3275 3625 0 top CONN1-6-1 "CONNECTOR-2-1" "unknown" 3275 5125 0 top CONN1-6-2 "CONNECTOR-2-1" "unknown" 3275 6625 0 top CONN1-6-3 "CONNECTOR-2-1" "unknown" 3275 8125 0 top CONN1-6-4 "CONNECTOR-2-1" "unknown" 3275 9625 0 top CONN1-6-5 "CONNECTOR-2-1" "unknown" 3275 11125 0 top CONN1-6-6 "CONNECTOR-2-1" "unknown" 3275 12625 0 top CONN1-6-7 "CONNECTOR-2-1" "unknown" 3275 14125 0 top CONN1-6-8 "CONNECTOR-2-1" "unknown" 3275 15625 0 top CONN1-6-9 "CONNECTOR-2-1" "unknown" 3275 17125 0 top CONN1-6-10 "CONNECTOR-2-1" "unknown" 3275 18625 0 top CONN1-6-11 "CONNECTOR-2-1" "unknown" 3275 20125 0 top CONN1-6-12 "CONNECTOR-2-1" "unknown" 3275 21625 0 top CONN1-6-13 "CONNECTOR-2-1" "unknown" 3275 23125 0 top CONN1-6-14 "CONNECTOR-2-1" "unknown" 3275 24625 0 top CONN1-7-0 "CONNECTOR-2-1" "unknown" 3775 3625 0 top CONN1-7-1 "CONNECTOR-2-1" "unknown" 3775 5125 0 top CONN1-7-2 "CONNECTOR-2-1" "unknown" 3775 6625 0 top CONN1-7-3 "CONNECTOR-2-1" "unknown" 3775 8125 0 top CONN1-7-4 "CONNECTOR-2-1" "unknown" 3775 9625 0 top CONN1-7-5 "CONNECTOR-2-1" "unknown" 3775 11125 0 top CONN1-7-6 "CONNECTOR-2-1" "unknown" 3775 12625 0 top CONN1-7-7 "CONNECTOR-2-1" "unknown" 3775 14125 0 top CONN1-7-8 "CONNECTOR-2-1" "unknown" 3775 15625 0 top CONN1-7-9 "CONNECTOR-2-1" "unknown" 3775 17125 0 top CONN1-7-10 "CONNECTOR-2-1" "unknown" 3775 18625 0 top CONN1-7-11 "CONNECTOR-2-1" "unknown" 3775 20125 0 top CONN1-7-12 "CONNECTOR-2-1" "unknown" 3775 21625 0 top CONN1-7-13 "CONNECTOR-2-1" "unknown" 3775 23125 0 top CONN1-7-14 "CONNECTOR-2-1" "unknown" 3775 24625 0 top CONN1-8-0 "CONNECTOR-2-1" "unknown" 4275 3625 0 top CONN1-8-1 "CONNECTOR-2-1" "unknown" 4275 5125 0 top CONN1-8-2 "CONNECTOR-2-1" "unknown" 4275 6625 0 top CONN1-8-3 "CONNECTOR-2-1" "unknown" 4275 8125 0 top CONN1-8-4 "CONNECTOR-2-1" "unknown" 4275 9625 0 top CONN1-8-5 "CONNECTOR-2-1" "unknown" 4275 11125 0 top CONN1-8-6 "CONNECTOR-2-1" "unknown" 4275 12625 0 top CONN1-8-7 "CONNECTOR-2-1" "unknown" 4275 14125 0 top CONN1-8-8 "CONNECTOR-2-1" "unknown" 4275 15625 0 top CONN1-8-9 "CONNECTOR-2-1" "unknown" 4275 17125 0 top CONN1-8-10 "CONNECTOR-2-1" "unknown" 4275 18625 0 top CONN1-8-11 "CONNECTOR-2-1" "unknown" 4275 20125 0 top CONN1-8-12 "CONNECTOR-2-1" "unknown" 4275 21625 0 top CONN1-8-13 "CONNECTOR-2-1" "unknown" 4275 23125 0 top CONN1-8-14 "CONNECTOR-2-1" "unknown" 4275 24625 0 top CONN1-9-0 "CONNECTOR-2-1" "unknown" 4775 3625 0 top CONN1-9-1 "CONNECTOR-2-1" "unknown" 4775 5125 0 top CONN1-9-2 "CONNECTOR-2-1" "unknown" 4775 6625 0 top CONN1-9-3 "CONNECTOR-2-1" "unknown" 4775 8125 0 top CONN1-9-4 "CONNECTOR-2-1" "unknown" 4775 9625 0 top CONN1-9-5 "CONNECTOR-2-1" "unknown" 4775 11125 0 top CONN1-9-6 "CONNECTOR-2-1" "unknown" 4775 12625 0 top CONN1-9-7 "CONNECTOR-2-1" "unknown" 4775 14125 0 top CONN1-9-8 "CONNECTOR-2-1" "unknown" 4775 15625 0 top CONN1-9-9 "CONNECTOR-2-1" "unknown" 4775 17125 0 top CONN1-9-10 "CONNECTOR-2-1" "unknown" 4775 18625 0 top CONN1-9-11 "CONNECTOR-2-1" "unknown" 4775 20125 0 top CONN1-9-12 "CONNECTOR-2-1" "unknown" 4775 21625 0 top CONN1-9-13 "CONNECTOR-2-1" "unknown" 4775 23125 0 top CONN1-9-14 "CONNECTOR-2-1" "unknown" 4775 24625 0 top CONN1-10-0 "CONNECTOR-2-1" "unknown" 5275 3625 0 top CONN1-10-1 "CONNECTOR-2-1" "unknown" 5275 5125 0 top CONN1-10-2 "CONNECTOR-2-1" "unknown" 5275 6625 0 top CONN1-10-3 "CONNECTOR-2-1" "unknown" 5275 8125 0 top CONN1-10-4 "CONNECTOR-2-1" "unknown" 5275 9625 0 top CONN1-10-5 "CONNECTOR-2-1" "unknown" 5275 11125 0 top CONN1-10-6 "CONNECTOR-2-1" "unknown" 5275 12625 0 top CONN1-10-7 "CONNECTOR-2-1" "unknown" 5275 14125 0 top CONN1-10-8 "CONNECTOR-2-1" "unknown" 5275 15625 0 top CONN1-10-9 "CONNECTOR-2-1" "unknown" 5275 17125 0 top CONN1-10-10 "CONNECTOR-2-1" "unknown" 5275 18625 0 top CONN1-10-11 "CONNECTOR-2-1" "unknown" 5275 20125 0 top CONN1-10-12 "CONNECTOR-2-1" "unknown" 5275 21625 0 top CONN1-10-13 "CONNECTOR-2-1" "unknown" 5275 23125 0 top CONN1-10-14 "CONNECTOR-2-1" "unknown" 5275 24625 0 top CONN1-11-0 "CONNECTOR-2-1" "unknown" 5775 3625 0 top CONN1-11-1 "CONNECTOR-2-1" "unknown" 5775 5125 0 top CONN1-11-2 "CONNECTOR-2-1" "unknown" 5775 6625 0 top CONN1-11-3 "CONNECTOR-2-1" "unknown" 5775 8125 0 top CONN1-11-4 "CONNECTOR-2-1" "unknown" 5775 9625 0 top CONN1-11-5 "CONNECTOR-2-1" "unknown" 5775 11125 0 top CONN1-11-6 "CONNECTOR-2-1" "unknown" 5775 12625 0 top CONN1-11-7 "CONNECTOR-2-1" "unknown" 5775 14125 0 top CONN1-11-8 "CONNECTOR-2-1" "unknown" 5775 15625 0 top CONN1-11-9 "CONNECTOR-2-1" "unknown" 5775 17125 0 top CONN1-11-10 "CONNECTOR-2-1" "unknown" 5775 18625 0 top CONN1-11-11 "CONNECTOR-2-1" "unknown" 5775 20125 0 top CONN1-11-12 "CONNECTOR-2-1" "unknown" 5775 21625 0 top CONN1-11-13 "CONNECTOR-2-1" "unknown" 5775 23125 0 top CONN1-11-14 "CONNECTOR-2-1" "unknown" 5775 24625 0 top CONN1-12-0 "CONNECTOR-2-1" "unknown" 6275 3625 0 top CONN1-12-1 "CONNECTOR-2-1" "unknown" 6275 5125 0 top CONN1-12-2 "CONNECTOR-2-1" "unknown" 6275 6625 0 top CONN1-12-3 "CONNECTOR-2-1" "unknown" 6275 8125 0 top CONN1-12-4 "CONNECTOR-2-1" "unknown" 6275 9625 0 top CONN1-12-5 "CONNECTOR-2-1" "unknown" 6275 11125 0 top CONN1-12-6 "CONNECTOR-2-1" "unknown" 6275 12625 0 top CONN1-12-7 "CONNECTOR-2-1" "unknown" 6275 14125 0 top CONN1-12-8 "CONNECTOR-2-1" "unknown" 6275 15625 0 top CONN1-12-9 "CONNECTOR-2-1" "unknown" 6275 17125 0 top CONN1-12-10 "CONNECTOR-2-1" "unknown" 6275 18625 0 top CONN1-12-11 "CONNECTOR-2-1" "unknown" 6275 20125 0 top CONN1-12-12 "CONNECTOR-2-1" "unknown" 6275 21625 0 top CONN1-12-13 "CONNECTOR-2-1" "unknown" 6275 23125 0 top CONN1-12-14 "CONNECTOR-2-1" "unknown" 6275 24625 0 top CONN1-13-0 "CONNECTOR-2-1" "unknown" 6775 3625 0 top CONN1-13-1 "CONNECTOR-2-1" "unknown" 6775 5125 0 top CONN1-13-2 "CONNECTOR-2-1" "unknown" 6775 6625 0 top CONN1-13-3 "CONNECTOR-2-1" "unknown" 6775 8125 0 top CONN1-13-4 "CONNECTOR-2-1" "unknown" 6775 9625 0 top CONN1-13-5 "CONNECTOR-2-1" "unknown" 6775 11125 0 top CONN1-13-6 "CONNECTOR-2-1" "unknown" 6775 12625 0 top CONN1-13-7 "CONNECTOR-2-1" "unknown" 6775 14125 0 top CONN1-13-8 "CONNECTOR-2-1" "unknown" 6775 15625 0 top CONN1-13-9 "CONNECTOR-2-1" "unknown" 6775 17125 0 top CONN1-13-10 "CONNECTOR-2-1" "unknown" 6775 18625 0 top CONN1-13-11 "CONNECTOR-2-1" "unknown" 6775 20125 0 top CONN1-13-12 "CONNECTOR-2-1" "unknown" 6775 21625 0 top CONN1-13-13 "CONNECTOR-2-1" "unknown" 6775 23125 0 top CONN1-13-14 "CONNECTOR-2-1" "unknown" 6775 24625 0 top CONN1-14-0 "CONNECTOR-2-1" "unknown" 7275 3625 0 top CONN1-14-1 "CONNECTOR-2-1" "unknown" 7275 5125 0 top CONN1-14-2 "CONNECTOR-2-1" "unknown" 7275 6625 0 top CONN1-14-3 "CONNECTOR-2-1" "unknown" 7275 8125 0 top CONN1-14-4 "CONNECTOR-2-1" "unknown" 7275 9625 0 top CONN1-14-5 "CONNECTOR-2-1" "unknown" 7275 11125 0 top CONN1-14-6 "CONNECTOR-2-1" "unknown" 7275 12625 0 top CONN1-14-7 "CONNECTOR-2-1" "unknown" 7275 14125 0 top CONN1-14-8 "CONNECTOR-2-1" "unknown" 7275 15625 0 top CONN1-14-9 "CONNECTOR-2-1" "unknown" 7275 17125 0 top CONN1-14-10 "CONNECTOR-2-1" "unknown" 7275 18625 0 top CONN1-14-11 "CONNECTOR-2-1" "unknown" 7275 20125 0 top CONN1-14-12 "CONNECTOR-2-1" "unknown" 7275 21625 0 top CONN1-14-13 "CONNECTOR-2-1" "unknown" 7275 23125 0 top CONN1-14-14 "CONNECTOR-2-1" "unknown" 7275 24625 0 top D4-0-0 "CONNECTOR-2-1" "unknown" 500.00 3625.00 0 top D4-0-1 "CONNECTOR-2-1" "unknown" 500 5125 0 top D4-0-2 "CONNECTOR-2-1" "unknown" 500 6625 0 top D4-0-3 "CONNECTOR-2-1" "unknown" 500 8125 0 top D4-0-4 "CONNECTOR-2-1" "unknown" 500 9625 0 top D4-0-5 "CONNECTOR-2-1" "unknown" 500 11125 0 top D4-0-6 "CONNECTOR-2-1" "unknown" 500 12625 0 top D4-0-7 "CONNECTOR-2-1" "unknown" 500 14125 0 top D4-0-8 "CONNECTOR-2-1" "unknown" 500 15625 0 top D4-0-9 "CONNECTOR-2-1" "unknown" 500 17125 0 top D4-0-10 "CONNECTOR-2-1" "unknown" 500 18625 0 top D4-0-11 "CONNECTOR-2-1" "unknown" 500 20125 0 top D4-0-12 "CONNECTOR-2-1" "unknown" 500 21625 0 top D4-0-13 "CONNECTOR-2-1" "unknown" 500 23125 0 top D4-0-14 "CONNECTOR-2-1" "unknown" 500 24625 0 top D4-1-0 "CONNECTOR-2-1" "unknown" 1000 3625 0 top D4-1-1 "CONNECTOR-2-1" "unknown" 1000 5125 0 top D4-1-2 "CONNECTOR-2-1" "unknown" 1000 6625 0 top D4-1-3 "CONNECTOR-2-1" "unknown" 1000 8125 0 top D4-1-4 "CONNECTOR-2-1" "unknown" 1000 9625 0 top D4-1-5 "CONNECTOR-2-1" "unknown" 1000 11125 0 top D4-1-6 "CONNECTOR-2-1" "unknown" 1000 12625 0 top D4-1-7 "CONNECTOR-2-1" "unknown" 1000 14125 0 top D4-1-8 "CONNECTOR-2-1" "unknown" 1000 15625 0 top D4-1-9 "CONNECTOR-2-1" "unknown" 1000 17125 0 top D4-1-10 "CONNECTOR-2-1" "unknown" 1000 18625 0 top D4-1-11 "CONNECTOR-2-1" "unknown" 1000 20125 0 top D4-1-12 "CONNECTOR-2-1" "unknown" 1000 21625 0 top D4-1-13 "CONNECTOR-2-1" "unknown" 1000 23125 0 top D4-1-14 "CONNECTOR-2-1" "unknown" 1000 24625 0 top D4-2-0 "CONNECTOR-2-1" "unknown" 1500 3625 0 top D4-2-1 "CONNECTOR-2-1" "unknown" 1500 5125 0 top D4-2-2 "CONNECTOR-2-1" "unknown" 1500 6625 0 top D4-2-3 "CONNECTOR-2-1" "unknown" 1500 8125 0 top D4-2-4 "CONNECTOR-2-1" "unknown" 1500 9625 0 top D4-2-5 "CONNECTOR-2-1" "unknown" 1500 11125 0 top D4-2-6 "CONNECTOR-2-1" "unknown" 1500 12625 0 top D4-2-7 "CONNECTOR-2-1" "unknown" 1500 14125 0 top D4-2-8 "CONNECTOR-2-1" "unknown" 1500 15625 0 top D4-2-9 "CONNECTOR-2-1" "unknown" 1500 17125 0 top D4-2-10 "CONNECTOR-2-1" "unknown" 1500 18625 0 top D4-2-11 "CONNECTOR-2-1" "unknown" 1500 20125 0 top D4-2-12 "CONNECTOR-2-1" "unknown" 1500 21625 0 top D4-2-13 "CONNECTOR-2-1" "unknown" 1500 23125 0 top D4-2-14 "CONNECTOR-2-1" "unknown" 1500 24625 0 top D4-3-0 "CONNECTOR-2-1" "unknown" 2000 3625 0 top D4-3-1 "CONNECTOR-2-1" "unknown" 2000 5125 0 top D4-3-2 "CONNECTOR-2-1" "unknown" 2000 6625 0 top D4-3-3 "CONNECTOR-2-1" "unknown" 2000 8125 0 top D4-3-4 "CONNECTOR-2-1" "unknown" 2000 9625 0 top D4-3-5 "CONNECTOR-2-1" "unknown" 2000 11125 0 top D4-3-6 "CONNECTOR-2-1" "unknown" 2000 12625 0 top D4-3-7 "CONNECTOR-2-1" "unknown" 2000 14125 0 top D4-3-8 "CONNECTOR-2-1" "unknown" 2000 15625 0 top D4-3-9 "CONNECTOR-2-1" "unknown" 2000 17125 0 top D4-3-10 "CONNECTOR-2-1" "unknown" 2000 18625 0 top D4-3-11 "CONNECTOR-2-1" "unknown" 2000 20125 0 top D4-3-12 "CONNECTOR-2-1" "unknown" 2000 21625 0 top D4-3-13 "CONNECTOR-2-1" "unknown" 2000 23125 0 top D4-3-14 "CONNECTOR-2-1" "unknown" 2000 24625 0 top D4-4-0 "CONNECTOR-2-1" "unknown" 2500 3625 0 top D4-4-1 "CONNECTOR-2-1" "unknown" 2500 5125 0 top D4-4-2 "CONNECTOR-2-1" "unknown" 2500 6625 0 top D4-4-3 "CONNECTOR-2-1" "unknown" 2500 8125 0 top D4-4-4 "CONNECTOR-2-1" "unknown" 2500 9625 0 top D4-4-5 "CONNECTOR-2-1" "unknown" 2500 11125 0 top D4-4-6 "CONNECTOR-2-1" "unknown" 2500 12625 0 top D4-4-7 "CONNECTOR-2-1" "unknown" 2500 14125 0 top D4-4-8 "CONNECTOR-2-1" "unknown" 2500 15625 0 top D4-4-9 "CONNECTOR-2-1" "unknown" 2500 17125 0 top D4-4-10 "CONNECTOR-2-1" "unknown" 2500 18625 0 top D4-4-11 "CONNECTOR-2-1" "unknown" 2500 20125 0 top D4-4-12 "CONNECTOR-2-1" "unknown" 2500 21625 0 top D4-4-13 "CONNECTOR-2-1" "unknown" 2500 23125 0 top D4-4-14 "CONNECTOR-2-1" "unknown" 2500 24625 0 top D4-5-0 "CONNECTOR-2-1" "unknown" 3000 3625 0 top D4-5-1 "CONNECTOR-2-1" "unknown" 3000 5125 0 top D4-5-2 "CONNECTOR-2-1" "unknown" 3000 6625 0 top D4-5-3 "CONNECTOR-2-1" "unknown" 3000 8125 0 top D4-5-4 "CONNECTOR-2-1" "unknown" 3000 9625 0 top D4-5-5 "CONNECTOR-2-1" "unknown" 3000 11125 0 top D4-5-6 "CONNECTOR-2-1" "unknown" 3000 12625 0 top D4-5-7 "CONNECTOR-2-1" "unknown" 3000 14125 0 top D4-5-8 "CONNECTOR-2-1" "unknown" 3000 15625 0 top D4-5-9 "CONNECTOR-2-1" "unknown" 3000 17125 0 top D4-5-10 "CONNECTOR-2-1" "unknown" 3000 18625 0 top D4-5-11 "CONNECTOR-2-1" "unknown" 3000 20125 0 top D4-5-12 "CONNECTOR-2-1" "unknown" 3000 21625 0 top D4-5-13 "CONNECTOR-2-1" "unknown" 3000 23125 0 top D4-5-14 "CONNECTOR-2-1" "unknown" 3000 24625 0 top D4-6-0 "CONNECTOR-2-1" "unknown" 3500 3625 0 top D4-6-1 "CONNECTOR-2-1" "unknown" 3500 5125 0 top D4-6-2 "CONNECTOR-2-1" "unknown" 3500 6625 0 top D4-6-3 "CONNECTOR-2-1" "unknown" 3500 8125 0 top D4-6-4 "CONNECTOR-2-1" "unknown" 3500 9625 0 top D4-6-5 "CONNECTOR-2-1" "unknown" 3500 11125 0 top D4-6-6 "CONNECTOR-2-1" "unknown" 3500 12625 0 top D4-6-7 "CONNECTOR-2-1" "unknown" 3500 14125 0 top D4-6-8 "CONNECTOR-2-1" "unknown" 3500 15625 0 top D4-6-9 "CONNECTOR-2-1" "unknown" 3500 17125 0 top D4-6-10 "CONNECTOR-2-1" "unknown" 3500 18625 0 top D4-6-11 "CONNECTOR-2-1" "unknown" 3500 20125 0 top D4-6-12 "CONNECTOR-2-1" "unknown" 3500 21625 0 top D4-6-13 "CONNECTOR-2-1" "unknown" 3500 23125 0 top D4-6-14 "CONNECTOR-2-1" "unknown" 3500 24625 0 top D4-7-0 "CONNECTOR-2-1" "unknown" 4000 3625 0 top D4-7-1 "CONNECTOR-2-1" "unknown" 4000 5125 0 top D4-7-2 "CONNECTOR-2-1" "unknown" 4000 6625 0 top D4-7-3 "CONNECTOR-2-1" "unknown" 4000 8125 0 top D4-7-4 "CONNECTOR-2-1" "unknown" 4000 9625 0 top D4-7-5 "CONNECTOR-2-1" "unknown" 4000 11125 0 top D4-7-6 "CONNECTOR-2-1" "unknown" 4000 12625 0 top D4-7-7 "CONNECTOR-2-1" "unknown" 4000 14125 0 top D4-7-8 "CONNECTOR-2-1" "unknown" 4000 15625 0 top D4-7-9 "CONNECTOR-2-1" "unknown" 4000 17125 0 top D4-7-10 "CONNECTOR-2-1" "unknown" 4000 18625 0 top D4-7-11 "CONNECTOR-2-1" "unknown" 4000 20125 0 top D4-7-12 "CONNECTOR-2-1" "unknown" 4000 21625 0 top D4-7-13 "CONNECTOR-2-1" "unknown" 4000 23125 0 top D4-7-14 "CONNECTOR-2-1" "unknown" 4000 24625 0 top D4-8-0 "CONNECTOR-2-1" "unknown" 4500 3625 0 top D4-8-1 "CONNECTOR-2-1" "unknown" 4500 5125 0 top D4-8-2 "CONNECTOR-2-1" "unknown" 4500 6625 0 top D4-8-3 "CONNECTOR-2-1" "unknown" 4500 8125 0 top D4-8-4 "CONNECTOR-2-1" "unknown" 4500 9625 0 top D4-8-5 "CONNECTOR-2-1" "unknown" 4500 11125 0 top D4-8-6 "CONNECTOR-2-1" "unknown" 4500 12625 0 top D4-8-7 "CONNECTOR-2-1" "unknown" 4500 14125 0 top D4-8-8 "CONNECTOR-2-1" "unknown" 4500 15625 0 top D4-8-9 "CONNECTOR-2-1" "unknown" 4500 17125 0 top D4-8-10 "CONNECTOR-2-1" "unknown" 4500 18625 0 top D4-8-11 "CONNECTOR-2-1" "unknown" 4500 20125 0 top D4-8-12 "CONNECTOR-2-1" "unknown" 4500 21625 0 top D4-8-13 "CONNECTOR-2-1" "unknown" 4500 23125 0 top D4-8-14 "CONNECTOR-2-1" "unknown" 4500 24625 0 top D4-9-0 "CONNECTOR-2-1" "unknown" 5000 3625 0 top D4-9-1 "CONNECTOR-2-1" "unknown" 5000 5125 0 top D4-9-2 "CONNECTOR-2-1" "unknown" 5000 6625 0 top D4-9-3 "CONNECTOR-2-1" "unknown" 5000 8125 0 top D4-9-4 "CONNECTOR-2-1" "unknown" 5000 9625 0 top D4-9-5 "CONNECTOR-2-1" "unknown" 5000 11125 0 top D4-9-6 "CONNECTOR-2-1" "unknown" 5000 12625 0 top D4-9-7 "CONNECTOR-2-1" "unknown" 5000 14125 0 top D4-9-8 "CONNECTOR-2-1" "unknown" 5000 15625 0 top D4-9-9 "CONNECTOR-2-1" "unknown" 5000 17125 0 top D4-9-10 "CONNECTOR-2-1" "unknown" 5000 18625 0 top D4-9-11 "CONNECTOR-2-1" "unknown" 5000 20125 0 top D4-9-12 "CONNECTOR-2-1" "unknown" 5000 21625 0 top D4-9-13 "CONNECTOR-2-1" "unknown" 5000 23125 0 top D4-9-14 "CONNECTOR-2-1" "unknown" 5000 24625 0 top D4-10-0 "CONNECTOR-2-1" "unknown" 5500 3625 0 top D4-10-1 "CONNECTOR-2-1" "unknown" 5500 5125 0 top D4-10-2 "CONNECTOR-2-1" "unknown" 5500 6625 0 top D4-10-3 "CONNECTOR-2-1" "unknown" 5500 8125 0 top D4-10-4 "CONNECTOR-2-1" "unknown" 5500 9625 0 top D4-10-5 "CONNECTOR-2-1" "unknown" 5500 11125 0 top D4-10-6 "CONNECTOR-2-1" "unknown" 5500 12625 0 top D4-10-7 "CONNECTOR-2-1" "unknown" 5500 14125 0 top D4-10-8 "CONNECTOR-2-1" "unknown" 5500 15625 0 top D4-10-9 "CONNECTOR-2-1" "unknown" 5500 17125 0 top D4-10-10 "CONNECTOR-2-1" "unknown" 5500 18625 0 top D4-10-11 "CONNECTOR-2-1" "unknown" 5500 20125 0 top D4-10-12 "CONNECTOR-2-1" "unknown" 5500 21625 0 top D4-10-13 "CONNECTOR-2-1" "unknown" 5500 23125 0 top D4-10-14 "CONNECTOR-2-1" "unknown" 5500 24625 0 top D4-11-0 "CONNECTOR-2-1" "unknown" 6000 3625 0 top D4-11-1 "CONNECTOR-2-1" "unknown" 6000 5125 0 top D4-11-2 "CONNECTOR-2-1" "unknown" 6000 6625 0 top D4-11-3 "CONNECTOR-2-1" "unknown" 6000 8125 0 top D4-11-4 "CONNECTOR-2-1" "unknown" 6000 9625 0 top D4-11-5 "CONNECTOR-2-1" "unknown" 6000 11125 0 top D4-11-6 "CONNECTOR-2-1" "unknown" 6000 12625 0 top D4-11-7 "CONNECTOR-2-1" "unknown" 6000 14125 0 top D4-11-8 "CONNECTOR-2-1" "unknown" 6000 15625 0 top D4-11-9 "CONNECTOR-2-1" "unknown" 6000 17125 0 top D4-11-10 "CONNECTOR-2-1" "unknown" 6000 18625 0 top D4-11-11 "CONNECTOR-2-1" "unknown" 6000 20125 0 top D4-11-12 "CONNECTOR-2-1" "unknown" 6000 21625 0 top D4-11-13 "CONNECTOR-2-1" "unknown" 6000 23125 0 top D4-11-14 "CONNECTOR-2-1" "unknown" 6000 24625 0 top D4-12-0 "CONNECTOR-2-1" "unknown" 6500 3625 0 top D4-12-1 "CONNECTOR-2-1" "unknown" 6500 5125 0 top D4-12-2 "CONNECTOR-2-1" "unknown" 6500 6625 0 top D4-12-3 "CONNECTOR-2-1" "unknown" 6500 8125 0 top D4-12-4 "CONNECTOR-2-1" "unknown" 6500 9625 0 top D4-12-5 "CONNECTOR-2-1" "unknown" 6500 11125 0 top D4-12-6 "CONNECTOR-2-1" "unknown" 6500 12625 0 top D4-12-7 "CONNECTOR-2-1" "unknown" 6500 14125 0 top D4-12-8 "CONNECTOR-2-1" "unknown" 6500 15625 0 top D4-12-9 "CONNECTOR-2-1" "unknown" 6500 17125 0 top D4-12-10 "CONNECTOR-2-1" "unknown" 6500 18625 0 top D4-12-11 "CONNECTOR-2-1" "unknown" 6500 20125 0 top D4-12-12 "CONNECTOR-2-1" "unknown" 6500 21625 0 top D4-12-13 "CONNECTOR-2-1" "unknown" 6500 23125 0 top D4-12-14 "CONNECTOR-2-1" "unknown" 6500 24625 0 top D4-13-0 "CONNECTOR-2-1" "unknown" 7000 3625 0 top D4-13-1 "CONNECTOR-2-1" "unknown" 7000 5125 0 top D4-13-2 "CONNECTOR-2-1" "unknown" 7000 6625 0 top D4-13-3 "CONNECTOR-2-1" "unknown" 7000 8125 0 top D4-13-4 "CONNECTOR-2-1" "unknown" 7000 9625 0 top D4-13-5 "CONNECTOR-2-1" "unknown" 7000 11125 0 top D4-13-6 "CONNECTOR-2-1" "unknown" 7000 12625 0 top D4-13-7 "CONNECTOR-2-1" "unknown" 7000 14125 0 top D4-13-8 "CONNECTOR-2-1" "unknown" 7000 15625 0 top D4-13-9 "CONNECTOR-2-1" "unknown" 7000 17125 0 top D4-13-10 "CONNECTOR-2-1" "unknown" 7000 18625 0 top D4-13-11 "CONNECTOR-2-1" "unknown" 7000 20125 0 top D4-13-12 "CONNECTOR-2-1" "unknown" 7000 21625 0 top D4-13-13 "CONNECTOR-2-1" "unknown" 7000 23125 0 top D4-13-14 "CONNECTOR-2-1" "unknown" 7000 24625 0 top D4-14-0 "CONNECTOR-2-1" "unknown" 7500 3625 0 top D4-14-1 "CONNECTOR-2-1" "unknown" 7500 5125 0 top D4-14-2 "CONNECTOR-2-1" "unknown" 7500 6625 0 top D4-14-3 "CONNECTOR-2-1" "unknown" 7500 8125 0 top D4-14-4 "CONNECTOR-2-1" "unknown" 7500 9625 0 top D4-14-5 "CONNECTOR-2-1" "unknown" 7500 11125 0 top D4-14-6 "CONNECTOR-2-1" "unknown" 7500 12625 0 top D4-14-7 "CONNECTOR-2-1" "unknown" 7500 14125 0 top D4-14-8 "CONNECTOR-2-1" "unknown" 7500 15625 0 top D4-14-9 "CONNECTOR-2-1" "unknown" 7500 17125 0 top D4-14-10 "CONNECTOR-2-1" "unknown" 7500 18625 0 top D4-14-11 "CONNECTOR-2-1" "unknown" 7500 20125 0 top D4-14-12 "CONNECTOR-2-1" "unknown" 7500 21625 0 top D4-14-13 "CONNECTOR-2-1" "unknown" 7500 23125 0 top D4-14-14 "CONNECTOR-2-1" "unknown" 7500 24625 0 top R1-0-0 "1206" "unknown" 425.00 3375.00 90 bottom R1-0-1 "1206" "unknown" 425 4875 90 bottom R1-0-2 "1206" "unknown" 425 6375 90 bottom R1-0-3 "1206" "unknown" 425 7875 90 bottom R1-0-4 "1206" "unknown" 425 9375 90 bottom R1-0-5 "1206" "unknown" 425 10875 90 bottom R1-0-6 "1206" "unknown" 425 12375 90 bottom R1-0-7 "1206" "unknown" 425 13875 90 bottom R1-0-8 "1206" "unknown" 425 15375 90 bottom R1-0-9 "1206" "unknown" 425 16875 90 bottom R1-0-10 "1206" "unknown" 425 18375 90 bottom R1-0-11 "1206" "unknown" 425 19875 90 bottom R1-0-12 "1206" "unknown" 425 21375 90 bottom R1-0-13 "1206" "unknown" 425 22875 90 bottom R1-0-14 "1206" "unknown" 425 24375 90 bottom R1-1-0 "1206" "unknown" 925 3375 90 bottom R1-1-1 "1206" "unknown" 925 4875 90 bottom R1-1-2 "1206" "unknown" 925 6375 90 bottom R1-1-3 "1206" "unknown" 925 7875 90 bottom R1-1-4 "1206" "unknown" 925 9375 90 bottom R1-1-5 "1206" "unknown" 925 10875 90 bottom R1-1-6 "1206" "unknown" 925 12375 90 bottom R1-1-7 "1206" "unknown" 925 13875 90 bottom R1-1-8 "1206" "unknown" 925 15375 90 bottom R1-1-9 "1206" "unknown" 925 16875 90 bottom R1-1-10 "1206" "unknown" 925 18375 90 bottom R1-1-11 "1206" "unknown" 925 19875 90 bottom R1-1-12 "1206" "unknown" 925 21375 90 bottom R1-1-13 "1206" "unknown" 925 22875 90 bottom R1-1-14 "1206" "unknown" 925 24375 90 bottom R1-2-0 "1206" "unknown" 1425 3375 90 bottom R1-2-1 "1206" "unknown" 1425 4875 90 bottom R1-2-2 "1206" "unknown" 1425 6375 90 bottom R1-2-3 "1206" "unknown" 1425 7875 90 bottom R1-2-4 "1206" "unknown" 1425 9375 90 bottom R1-2-5 "1206" "unknown" 1425 10875 90 bottom R1-2-6 "1206" "unknown" 1425 12375 90 bottom R1-2-7 "1206" "unknown" 1425 13875 90 bottom R1-2-8 "1206" "unknown" 1425 15375 90 bottom R1-2-9 "1206" "unknown" 1425 16875 90 bottom R1-2-10 "1206" "unknown" 1425 18375 90 bottom R1-2-11 "1206" "unknown" 1425 19875 90 bottom R1-2-12 "1206" "unknown" 1425 21375 90 bottom R1-2-13 "1206" "unknown" 1425 22875 90 bottom R1-2-14 "1206" "unknown" 1425 24375 90 bottom R1-3-0 "1206" "unknown" 1925 3375 90 bottom R1-3-1 "1206" "unknown" 1925 4875 90 bottom R1-3-2 "1206" "unknown" 1925 6375 90 bottom R1-3-3 "1206" "unknown" 1925 7875 90 bottom R1-3-4 "1206" "unknown" 1925 9375 90 bottom R1-3-5 "1206" "unknown" 1925 10875 90 bottom R1-3-6 "1206" "unknown" 1925 12375 90 bottom R1-3-7 "1206" "unknown" 1925 13875 90 bottom R1-3-8 "1206" "unknown" 1925 15375 90 bottom R1-3-9 "1206" "unknown" 1925 16875 90 bottom R1-3-10 "1206" "unknown" 1925 18375 90 bottom R1-3-11 "1206" "unknown" 1925 19875 90 bottom R1-3-12 "1206" "unknown" 1925 21375 90 bottom R1-3-13 "1206" "unknown" 1925 22875 90 bottom R1-3-14 "1206" "unknown" 1925 24375 90 bottom R1-4-0 "1206" "unknown" 2425 3375 90 bottom R1-4-1 "1206" "unknown" 2425 4875 90 bottom R1-4-2 "1206" "unknown" 2425 6375 90 bottom R1-4-3 "1206" "unknown" 2425 7875 90 bottom R1-4-4 "1206" "unknown" 2425 9375 90 bottom R1-4-5 "1206" "unknown" 2425 10875 90 bottom R1-4-6 "1206" "unknown" 2425 12375 90 bottom R1-4-7 "1206" "unknown" 2425 13875 90 bottom R1-4-8 "1206" "unknown" 2425 15375 90 bottom R1-4-9 "1206" "unknown" 2425 16875 90 bottom R1-4-10 "1206" "unknown" 2425 18375 90 bottom R1-4-11 "1206" "unknown" 2425 19875 90 bottom R1-4-12 "1206" "unknown" 2425 21375 90 bottom R1-4-13 "1206" "unknown" 2425 22875 90 bottom R1-4-14 "1206" "unknown" 2425 24375 90 bottom R1-5-0 "1206" "unknown" 2925 3375 90 bottom R1-5-1 "1206" "unknown" 2925 4875 90 bottom R1-5-2 "1206" "unknown" 2925 6375 90 bottom R1-5-3 "1206" "unknown" 2925 7875 90 bottom R1-5-4 "1206" "unknown" 2925 9375 90 bottom R1-5-5 "1206" "unknown" 2925 10875 90 bottom R1-5-6 "1206" "unknown" 2925 12375 90 bottom R1-5-7 "1206" "unknown" 2925 13875 90 bottom R1-5-8 "1206" "unknown" 2925 15375 90 bottom R1-5-9 "1206" "unknown" 2925 16875 90 bottom R1-5-10 "1206" "unknown" 2925 18375 90 bottom R1-5-11 "1206" "unknown" 2925 19875 90 bottom R1-5-12 "1206" "unknown" 2925 21375 90 bottom R1-5-13 "1206" "unknown" 2925 22875 90 bottom R1-5-14 "1206" "unknown" 2925 24375 90 bottom R1-6-0 "1206" "unknown" 3425 3375 90 bottom R1-6-1 "1206" "unknown" 3425 4875 90 bottom R1-6-2 "1206" "unknown" 3425 6375 90 bottom R1-6-3 "1206" "unknown" 3425 7875 90 bottom R1-6-4 "1206" "unknown" 3425 9375 90 bottom R1-6-5 "1206" "unknown" 3425 10875 90 bottom R1-6-6 "1206" "unknown" 3425 12375 90 bottom R1-6-7 "1206" "unknown" 3425 13875 90 bottom R1-6-8 "1206" "unknown" 3425 15375 90 bottom R1-6-9 "1206" "unknown" 3425 16875 90 bottom R1-6-10 "1206" "unknown" 3425 18375 90 bottom R1-6-11 "1206" "unknown" 3425 19875 90 bottom R1-6-12 "1206" "unknown" 3425 21375 90 bottom R1-6-13 "1206" "unknown" 3425 22875 90 bottom R1-6-14 "1206" "unknown" 3425 24375 90 bottom R1-7-0 "1206" "unknown" 3925 3375 90 bottom R1-7-1 "1206" "unknown" 3925 4875 90 bottom R1-7-2 "1206" "unknown" 3925 6375 90 bottom R1-7-3 "1206" "unknown" 3925 7875 90 bottom R1-7-4 "1206" "unknown" 3925 9375 90 bottom R1-7-5 "1206" "unknown" 3925 10875 90 bottom R1-7-6 "1206" "unknown" 3925 12375 90 bottom R1-7-7 "1206" "unknown" 3925 13875 90 bottom R1-7-8 "1206" "unknown" 3925 15375 90 bottom R1-7-9 "1206" "unknown" 3925 16875 90 bottom R1-7-10 "1206" "unknown" 3925 18375 90 bottom R1-7-11 "1206" "unknown" 3925 19875 90 bottom R1-7-12 "1206" "unknown" 3925 21375 90 bottom R1-7-13 "1206" "unknown" 3925 22875 90 bottom R1-7-14 "1206" "unknown" 3925 24375 90 bottom R1-8-0 "1206" "unknown" 4425 3375 90 bottom R1-8-1 "1206" "unknown" 4425 4875 90 bottom R1-8-2 "1206" "unknown" 4425 6375 90 bottom R1-8-3 "1206" "unknown" 4425 7875 90 bottom R1-8-4 "1206" "unknown" 4425 9375 90 bottom R1-8-5 "1206" "unknown" 4425 10875 90 bottom R1-8-6 "1206" "unknown" 4425 12375 90 bottom R1-8-7 "1206" "unknown" 4425 13875 90 bottom R1-8-8 "1206" "unknown" 4425 15375 90 bottom R1-8-9 "1206" "unknown" 4425 16875 90 bottom R1-8-10 "1206" "unknown" 4425 18375 90 bottom R1-8-11 "1206" "unknown" 4425 19875 90 bottom R1-8-12 "1206" "unknown" 4425 21375 90 bottom R1-8-13 "1206" "unknown" 4425 22875 90 bottom R1-8-14 "1206" "unknown" 4425 24375 90 bottom R1-9-0 "1206" "unknown" 4925 3375 90 bottom R1-9-1 "1206" "unknown" 4925 4875 90 bottom R1-9-2 "1206" "unknown" 4925 6375 90 bottom R1-9-3 "1206" "unknown" 4925 7875 90 bottom R1-9-4 "1206" "unknown" 4925 9375 90 bottom R1-9-5 "1206" "unknown" 4925 10875 90 bottom R1-9-6 "1206" "unknown" 4925 12375 90 bottom R1-9-7 "1206" "unknown" 4925 13875 90 bottom R1-9-8 "1206" "unknown" 4925 15375 90 bottom R1-9-9 "1206" "unknown" 4925 16875 90 bottom R1-9-10 "1206" "unknown" 4925 18375 90 bottom R1-9-11 "1206" "unknown" 4925 19875 90 bottom R1-9-12 "1206" "unknown" 4925 21375 90 bottom R1-9-13 "1206" "unknown" 4925 22875 90 bottom R1-9-14 "1206" "unknown" 4925 24375 90 bottom R1-10-0 "1206" "unknown" 5425 3375 90 bottom R1-10-1 "1206" "unknown" 5425 4875 90 bottom R1-10-2 "1206" "unknown" 5425 6375 90 bottom R1-10-3 "1206" "unknown" 5425 7875 90 bottom R1-10-4 "1206" "unknown" 5425 9375 90 bottom R1-10-5 "1206" "unknown" 5425 10875 90 bottom R1-10-6 "1206" "unknown" 5425 12375 90 bottom R1-10-7 "1206" "unknown" 5425 13875 90 bottom R1-10-8 "1206" "unknown" 5425 15375 90 bottom R1-10-9 "1206" "unknown" 5425 16875 90 bottom R1-10-10 "1206" "unknown" 5425 18375 90 bottom R1-10-11 "1206" "unknown" 5425 19875 90 bottom R1-10-12 "1206" "unknown" 5425 21375 90 bottom R1-10-13 "1206" "unknown" 5425 22875 90 bottom R1-10-14 "1206" "unknown" 5425 24375 90 bottom R1-11-0 "1206" "unknown" 5925 3375 90 bottom R1-11-1 "1206" "unknown" 5925 4875 90 bottom R1-11-2 "1206" "unknown" 5925 6375 90 bottom R1-11-3 "1206" "unknown" 5925 7875 90 bottom R1-11-4 "1206" "unknown" 5925 9375 90 bottom R1-11-5 "1206" "unknown" 5925 10875 90 bottom R1-11-6 "1206" "unknown" 5925 12375 90 bottom R1-11-7 "1206" "unknown" 5925 13875 90 bottom R1-11-8 "1206" "unknown" 5925 15375 90 bottom R1-11-9 "1206" "unknown" 5925 16875 90 bottom R1-11-10 "1206" "unknown" 5925 18375 90 bottom R1-11-11 "1206" "unknown" 5925 19875 90 bottom R1-11-12 "1206" "unknown" 5925 21375 90 bottom R1-11-13 "1206" "unknown" 5925 22875 90 bottom R1-11-14 "1206" "unknown" 5925 24375 90 bottom R1-12-0 "1206" "unknown" 6425 3375 90 bottom R1-12-1 "1206" "unknown" 6425 4875 90 bottom R1-12-2 "1206" "unknown" 6425 6375 90 bottom R1-12-3 "1206" "unknown" 6425 7875 90 bottom R1-12-4 "1206" "unknown" 6425 9375 90 bottom R1-12-5 "1206" "unknown" 6425 10875 90 bottom R1-12-6 "1206" "unknown" 6425 12375 90 bottom R1-12-7 "1206" "unknown" 6425 13875 90 bottom R1-12-8 "1206" "unknown" 6425 15375 90 bottom R1-12-9 "1206" "unknown" 6425 16875 90 bottom R1-12-10 "1206" "unknown" 6425 18375 90 bottom R1-12-11 "1206" "unknown" 6425 19875 90 bottom R1-12-12 "1206" "unknown" 6425 21375 90 bottom R1-12-13 "1206" "unknown" 6425 22875 90 bottom R1-12-14 "1206" "unknown" 6425 24375 90 bottom R1-13-0 "1206" "unknown" 6925 3375 90 bottom R1-13-1 "1206" "unknown" 6925 4875 90 bottom R1-13-2 "1206" "unknown" 6925 6375 90 bottom R1-13-3 "1206" "unknown" 6925 7875 90 bottom R1-13-4 "1206" "unknown" 6925 9375 90 bottom R1-13-5 "1206" "unknown" 6925 10875 90 bottom R1-13-6 "1206" "unknown" 6925 12375 90 bottom R1-13-7 "1206" "unknown" 6925 13875 90 bottom R1-13-8 "1206" "unknown" 6925 15375 90 bottom R1-13-9 "1206" "unknown" 6925 16875 90 bottom R1-13-10 "1206" "unknown" 6925 18375 90 bottom R1-13-11 "1206" "unknown" 6925 19875 90 bottom R1-13-12 "1206" "unknown" 6925 21375 90 bottom R1-13-13 "1206" "unknown" 6925 22875 90 bottom R1-13-14 "1206" "unknown" 6925 24375 90 bottom R1-14-0 "1206" "unknown" 7425 3375 90 bottom R1-14-1 "1206" "unknown" 7425 4875 90 bottom R1-14-2 "1206" "unknown" 7425 6375 90 bottom R1-14-3 "1206" "unknown" 7425 7875 90 bottom R1-14-4 "1206" "unknown" 7425 9375 90 bottom R1-14-5 "1206" "unknown" 7425 10875 90 bottom R1-14-6 "1206" "unknown" 7425 12375 90 bottom R1-14-7 "1206" "unknown" 7425 13875 90 bottom R1-14-8 "1206" "unknown" 7425 15375 90 bottom R1-14-9 "1206" "unknown" 7425 16875 90 bottom R1-14-10 "1206" "unknown" 7425 18375 90 bottom R1-14-11 "1206" "unknown" 7425 19875 90 bottom R1-14-12 "1206" "unknown" 7425 21375 90 bottom R1-14-13 "1206" "unknown" 7425 22875 90 bottom R1-14-14 "1206" "unknown" 7425 24375 90 bottom C11-0-0 "1206" "unknown" 1336.81 3834.05 90 bottom C11-0-1 "1206" "unknown" 1336.81 5334.05 90 bottom C11-0-2 "1206" "unknown" 1336.81 6834.05 90 bottom C11-0-3 "1206" "unknown" 1336.81 8334.05 90 bottom C11-0-4 "1206" "unknown" 1336.81 9834.05 90 bottom C11-0-5 "1206" "unknown" 1336.81 11334.05 90 bottom C11-0-6 "1206" "unknown" 1336.81 12834.05 90 bottom C11-0-7 "1206" "unknown" 1336.81 14334.05 90 bottom C11-0-8 "1206" "unknown" 1336.81 15834.05 90 bottom C11-0-9 "1206" "unknown" 1336.81 17334.05 90 bottom C11-0-10 "1206" "unknown" 1336.81 18834.05 90 bottom C11-0-11 "1206" "unknown" 1336.81 20334.05 90 bottom C11-0-12 "1206" "unknown" 1336.81 21834.05 90 bottom C11-0-13 "1206" "unknown" 1336.81 23334.05 90 bottom C11-0-14 "1206" "unknown" 1336.81 24834.05 90 bottom C11-1-0 "1206" "unknown" 1836.81 3834.05 90 bottom C11-1-1 "1206" "unknown" 1836.81 5334.05 90 bottom C11-1-2 "1206" "unknown" 1836.81 6834.05 90 bottom C11-1-3 "1206" "unknown" 1836.81 8334.05 90 bottom C11-1-4 "1206" "unknown" 1836.81 9834.05 90 bottom C11-1-5 "1206" "unknown" 1836.81 11334.05 90 bottom C11-1-6 "1206" "unknown" 1836.81 12834.05 90 bottom C11-1-7 "1206" "unknown" 1836.81 14334.05 90 bottom C11-1-8 "1206" "unknown" 1836.81 15834.05 90 bottom C11-1-9 "1206" "unknown" 1836.81 17334.05 90 bottom C11-1-10 "1206" "unknown" 1836.81 18834.05 90 bottom C11-1-11 "1206" "unknown" 1836.81 20334.05 90 bottom C11-1-12 "1206" "unknown" 1836.81 21834.05 90 bottom C11-1-13 "1206" "unknown" 1836.81 23334.05 90 bottom C11-1-14 "1206" "unknown" 1836.81 24834.05 90 bottom C11-2-0 "1206" "unknown" 2336.81 3834.05 90 bottom C11-2-1 "1206" "unknown" 2336.81 5334.05 90 bottom C11-2-2 "1206" "unknown" 2336.81 6834.05 90 bottom C11-2-3 "1206" "unknown" 2336.81 8334.05 90 bottom C11-2-4 "1206" "unknown" 2336.81 9834.05 90 bottom C11-2-5 "1206" "unknown" 2336.81 11334.05 90 bottom C11-2-6 "1206" "unknown" 2336.81 12834.05 90 bottom C11-2-7 "1206" "unknown" 2336.81 14334.05 90 bottom C11-2-8 "1206" "unknown" 2336.81 15834.05 90 bottom C11-2-9 "1206" "unknown" 2336.81 17334.05 90 bottom C11-2-10 "1206" "unknown" 2336.81 18834.05 90 bottom C11-2-11 "1206" "unknown" 2336.81 20334.05 90 bottom C11-2-12 "1206" "unknown" 2336.81 21834.05 90 bottom C11-2-13 "1206" "unknown" 2336.81 23334.05 90 bottom C11-2-14 "1206" "unknown" 2336.81 24834.05 90 bottom C11-3-0 "1206" "unknown" 2836.81 3834.05 90 bottom C11-3-1 "1206" "unknown" 2836.81 5334.05 90 bottom C11-3-2 "1206" "unknown" 2836.81 6834.05 90 bottom C11-3-3 "1206" "unknown" 2836.81 8334.05 90 bottom C11-3-4 "1206" "unknown" 2836.81 9834.05 90 bottom C11-3-5 "1206" "unknown" 2836.81 11334.05 90 bottom C11-3-6 "1206" "unknown" 2836.81 12834.05 90 bottom C11-3-7 "1206" "unknown" 2836.81 14334.05 90 bottom C11-3-8 "1206" "unknown" 2836.81 15834.05 90 bottom C11-3-9 "1206" "unknown" 2836.81 17334.05 90 bottom C11-3-10 "1206" "unknown" 2836.81 18834.05 90 bottom C11-3-11 "1206" "unknown" 2836.81 20334.05 90 bottom C11-3-12 "1206" "unknown" 2836.81 21834.05 90 bottom C11-3-13 "1206" "unknown" 2836.81 23334.05 90 bottom C11-3-14 "1206" "unknown" 2836.81 24834.05 90 bottom C11-4-0 "1206" "unknown" 3336.81 3834.05 90 bottom C11-4-1 "1206" "unknown" 3336.81 5334.05 90 bottom C11-4-2 "1206" "unknown" 3336.81 6834.05 90 bottom C11-4-3 "1206" "unknown" 3336.81 8334.05 90 bottom C11-4-4 "1206" "unknown" 3336.81 9834.05 90 bottom C11-4-5 "1206" "unknown" 3336.81 11334.05 90 bottom C11-4-6 "1206" "unknown" 3336.81 12834.05 90 bottom C11-4-7 "1206" "unknown" 3336.81 14334.05 90 bottom C11-4-8 "1206" "unknown" 3336.81 15834.05 90 bottom C11-4-9 "1206" "unknown" 3336.81 17334.05 90 bottom C11-4-10 "1206" "unknown" 3336.81 18834.05 90 bottom C11-4-11 "1206" "unknown" 3336.81 20334.05 90 bottom C11-4-12 "1206" "unknown" 3336.81 21834.05 90 bottom C11-4-13 "1206" "unknown" 3336.81 23334.05 90 bottom C11-4-14 "1206" "unknown" 3336.81 24834.05 90 bottom C11-5-0 "1206" "unknown" 3836.81 3834.05 90 bottom C11-5-1 "1206" "unknown" 3836.81 5334.05 90 bottom C11-5-2 "1206" "unknown" 3836.81 6834.05 90 bottom C11-5-3 "1206" "unknown" 3836.81 8334.05 90 bottom C11-5-4 "1206" "unknown" 3836.81 9834.05 90 bottom C11-5-5 "1206" "unknown" 3836.81 11334.05 90 bottom C11-5-6 "1206" "unknown" 3836.81 12834.05 90 bottom C11-5-7 "1206" "unknown" 3836.81 14334.05 90 bottom C11-5-8 "1206" "unknown" 3836.81 15834.05 90 bottom C11-5-9 "1206" "unknown" 3836.81 17334.05 90 bottom C11-5-10 "1206" "unknown" 3836.81 18834.05 90 bottom C11-5-11 "1206" "unknown" 3836.81 20334.05 90 bottom C11-5-12 "1206" "unknown" 3836.81 21834.05 90 bottom C11-5-13 "1206" "unknown" 3836.81 23334.05 90 bottom C11-5-14 "1206" "unknown" 3836.81 24834.05 90 bottom C11-6-0 "1206" "unknown" 4336.81 3834.05 90 bottom C11-6-1 "1206" "unknown" 4336.81 5334.05 90 bottom C11-6-2 "1206" "unknown" 4336.81 6834.05 90 bottom C11-6-3 "1206" "unknown" 4336.81 8334.05 90 bottom C11-6-4 "1206" "unknown" 4336.81 9834.05 90 bottom C11-6-5 "1206" "unknown" 4336.81 11334.05 90 bottom C11-6-6 "1206" "unknown" 4336.81 12834.05 90 bottom C11-6-7 "1206" "unknown" 4336.81 14334.05 90 bottom C11-6-8 "1206" "unknown" 4336.81 15834.05 90 bottom C11-6-9 "1206" "unknown" 4336.81 17334.05 90 bottom C11-6-10 "1206" "unknown" 4336.81 18834.05 90 bottom C11-6-11 "1206" "unknown" 4336.81 20334.05 90 bottom C11-6-12 "1206" "unknown" 4336.81 21834.05 90 bottom C11-6-13 "1206" "unknown" 4336.81 23334.05 90 bottom C11-6-14 "1206" "unknown" 4336.81 24834.05 90 bottom C11-7-0 "1206" "unknown" 4836.81 3834.05 90 bottom C11-7-1 "1206" "unknown" 4836.81 5334.05 90 bottom C11-7-2 "1206" "unknown" 4836.81 6834.05 90 bottom C11-7-3 "1206" "unknown" 4836.81 8334.05 90 bottom C11-7-4 "1206" "unknown" 4836.81 9834.05 90 bottom C11-7-5 "1206" "unknown" 4836.81 11334.05 90 bottom C11-7-6 "1206" "unknown" 4836.81 12834.05 90 bottom C11-7-7 "1206" "unknown" 4836.81 14334.05 90 bottom C11-7-8 "1206" "unknown" 4836.81 15834.05 90 bottom C11-7-9 "1206" "unknown" 4836.81 17334.05 90 bottom C11-7-10 "1206" "unknown" 4836.81 18834.05 90 bottom C11-7-11 "1206" "unknown" 4836.81 20334.05 90 bottom C11-7-12 "1206" "unknown" 4836.81 21834.05 90 bottom C11-7-13 "1206" "unknown" 4836.81 23334.05 90 bottom C11-7-14 "1206" "unknown" 4836.81 24834.05 90 bottom C11-8-0 "1206" "unknown" 5336.81 3834.05 90 bottom C11-8-1 "1206" "unknown" 5336.81 5334.05 90 bottom C11-8-2 "1206" "unknown" 5336.81 6834.05 90 bottom C11-8-3 "1206" "unknown" 5336.81 8334.05 90 bottom C11-8-4 "1206" "unknown" 5336.81 9834.05 90 bottom C11-8-5 "1206" "unknown" 5336.81 11334.05 90 bottom C11-8-6 "1206" "unknown" 5336.81 12834.05 90 bottom C11-8-7 "1206" "unknown" 5336.81 14334.05 90 bottom C11-8-8 "1206" "unknown" 5336.81 15834.05 90 bottom C11-8-9 "1206" "unknown" 5336.81 17334.05 90 bottom C11-8-10 "1206" "unknown" 5336.81 18834.05 90 bottom C11-8-11 "1206" "unknown" 5336.81 20334.05 90 bottom C11-8-12 "1206" "unknown" 5336.81 21834.05 90 bottom C11-8-13 "1206" "unknown" 5336.81 23334.05 90 bottom C11-8-14 "1206" "unknown" 5336.81 24834.05 90 bottom C11-9-0 "1206" "unknown" 5836.81 3834.05 90 bottom C11-9-1 "1206" "unknown" 5836.81 5334.05 90 bottom C11-9-2 "1206" "unknown" 5836.81 6834.05 90 bottom C11-9-3 "1206" "unknown" 5836.81 8334.05 90 bottom C11-9-4 "1206" "unknown" 5836.81 9834.05 90 bottom C11-9-5 "1206" "unknown" 5836.81 11334.05 90 bottom C11-9-6 "1206" "unknown" 5836.81 12834.05 90 bottom C11-9-7 "1206" "unknown" 5836.81 14334.05 90 bottom C11-9-8 "1206" "unknown" 5836.81 15834.05 90 bottom C11-9-9 "1206" "unknown" 5836.81 17334.05 90 bottom C11-9-10 "1206" "unknown" 5836.81 18834.05 90 bottom C11-9-11 "1206" "unknown" 5836.81 20334.05 90 bottom C11-9-12 "1206" "unknown" 5836.81 21834.05 90 bottom C11-9-13 "1206" "unknown" 5836.81 23334.05 90 bottom C11-9-14 "1206" "unknown" 5836.81 24834.05 90 bottom C11-10-0 "1206" "unknown" 6336.81 3834.05 90 bottom C11-10-1 "1206" "unknown" 6336.81 5334.05 90 bottom C11-10-2 "1206" "unknown" 6336.81 6834.05 90 bottom C11-10-3 "1206" "unknown" 6336.81 8334.05 90 bottom C11-10-4 "1206" "unknown" 6336.81 9834.05 90 bottom C11-10-5 "1206" "unknown" 6336.81 11334.05 90 bottom C11-10-6 "1206" "unknown" 6336.81 12834.05 90 bottom C11-10-7 "1206" "unknown" 6336.81 14334.05 90 bottom C11-10-8 "1206" "unknown" 6336.81 15834.05 90 bottom C11-10-9 "1206" "unknown" 6336.81 17334.05 90 bottom C11-10-10 "1206" "unknown" 6336.81 18834.05 90 bottom C11-10-11 "1206" "unknown" 6336.81 20334.05 90 bottom C11-10-12 "1206" "unknown" 6336.81 21834.05 90 bottom C11-10-13 "1206" "unknown" 6336.81 23334.05 90 bottom C11-10-14 "1206" "unknown" 6336.81 24834.05 90 bottom C11-11-0 "1206" "unknown" 6836.81 3834.05 90 bottom C11-11-1 "1206" "unknown" 6836.81 5334.05 90 bottom C11-11-2 "1206" "unknown" 6836.81 6834.05 90 bottom C11-11-3 "1206" "unknown" 6836.81 8334.05 90 bottom C11-11-4 "1206" "unknown" 6836.81 9834.05 90 bottom C11-11-5 "1206" "unknown" 6836.81 11334.05 90 bottom C11-11-6 "1206" "unknown" 6836.81 12834.05 90 bottom C11-11-7 "1206" "unknown" 6836.81 14334.05 90 bottom C11-11-8 "1206" "unknown" 6836.81 15834.05 90 bottom C11-11-9 "1206" "unknown" 6836.81 17334.05 90 bottom C11-11-10 "1206" "unknown" 6836.81 18834.05 90 bottom C11-11-11 "1206" "unknown" 6836.81 20334.05 90 bottom C11-11-12 "1206" "unknown" 6836.81 21834.05 90 bottom C11-11-13 "1206" "unknown" 6836.81 23334.05 90 bottom C11-11-14 "1206" "unknown" 6836.81 24834.05 90 bottom C11-12-0 "1206" "unknown" 7336.81 3834.05 90 bottom C11-12-1 "1206" "unknown" 7336.81 5334.05 90 bottom C11-12-2 "1206" "unknown" 7336.81 6834.05 90 bottom C11-12-3 "1206" "unknown" 7336.81 8334.05 90 bottom C11-12-4 "1206" "unknown" 7336.81 9834.05 90 bottom C11-12-5 "1206" "unknown" 7336.81 11334.05 90 bottom C11-12-6 "1206" "unknown" 7336.81 12834.05 90 bottom C11-12-7 "1206" "unknown" 7336.81 14334.05 90 bottom C11-12-8 "1206" "unknown" 7336.81 15834.05 90 bottom C11-12-9 "1206" "unknown" 7336.81 17334.05 90 bottom C11-12-10 "1206" "unknown" 7336.81 18834.05 90 bottom C11-12-11 "1206" "unknown" 7336.81 20334.05 90 bottom C11-12-12 "1206" "unknown" 7336.81 21834.05 90 bottom C11-12-13 "1206" "unknown" 7336.81 23334.05 90 bottom C11-12-14 "1206" "unknown" 7336.81 24834.05 90 bottom C11-13-0 "1206" "unknown" 7836.81 3834.05 90 bottom C11-13-1 "1206" "unknown" 7836.81 5334.05 90 bottom C11-13-2 "1206" "unknown" 7836.81 6834.05 90 bottom C11-13-3 "1206" "unknown" 7836.81 8334.05 90 bottom C11-13-4 "1206" "unknown" 7836.81 9834.05 90 bottom C11-13-5 "1206" "unknown" 7836.81 11334.05 90 bottom C11-13-6 "1206" "unknown" 7836.81 12834.05 90 bottom C11-13-7 "1206" "unknown" 7836.81 14334.05 90 bottom C11-13-8 "1206" "unknown" 7836.81 15834.05 90 bottom C11-13-9 "1206" "unknown" 7836.81 17334.05 90 bottom C11-13-10 "1206" "unknown" 7836.81 18834.05 90 bottom C11-13-11 "1206" "unknown" 7836.81 20334.05 90 bottom C11-13-12 "1206" "unknown" 7836.81 21834.05 90 bottom C11-13-13 "1206" "unknown" 7836.81 23334.05 90 bottom C11-13-14 "1206" "unknown" 7836.81 24834.05 90 bottom C11-14-0 "1206" "unknown" 8336.81 3834.05 90 bottom C11-14-1 "1206" "unknown" 8336.81 5334.05 90 bottom C11-14-2 "1206" "unknown" 8336.81 6834.05 90 bottom C11-14-3 "1206" "unknown" 8336.81 8334.05 90 bottom C11-14-4 "1206" "unknown" 8336.81 9834.05 90 bottom C11-14-5 "1206" "unknown" 8336.81 11334.05 90 bottom C11-14-6 "1206" "unknown" 8336.81 12834.05 90 bottom C11-14-7 "1206" "unknown" 8336.81 14334.05 90 bottom C11-14-8 "1206" "unknown" 8336.81 15834.05 90 bottom C11-14-9 "1206" "unknown" 8336.81 17334.05 90 bottom C11-14-10 "1206" "unknown" 8336.81 18834.05 90 bottom C11-14-11 "1206" "unknown" 8336.81 20334.05 90 bottom C11-14-12 "1206" "unknown" 8336.81 21834.05 90 bottom C11-14-13 "1206" "unknown" 8336.81 23334.05 90 bottom C11-14-14 "1206" "unknown" 8336.81 24834.05 90 bottom CONN2-0-0 "CONNECTOR-2-1" "unknown" 750.00 3625.00 0 top CONN2-0-1 "CONNECTOR-2-1" "unknown" 750 5125 0 top CONN2-0-2 "CONNECTOR-2-1" "unknown" 750 6625 0 top CONN2-0-3 "CONNECTOR-2-1" "unknown" 750 8125 0 top CONN2-0-4 "CONNECTOR-2-1" "unknown" 750 9625 0 top CONN2-0-5 "CONNECTOR-2-1" "unknown" 750 11125 0 top CONN2-0-6 "CONNECTOR-2-1" "unknown" 750 12625 0 top CONN2-0-7 "CONNECTOR-2-1" "unknown" 750 14125 0 top CONN2-0-8 "CONNECTOR-2-1" "unknown" 750 15625 0 top CONN2-0-9 "CONNECTOR-2-1" "unknown" 750 17125 0 top CONN2-0-10 "CONNECTOR-2-1" "unknown" 750 18625 0 top CONN2-0-11 "CONNECTOR-2-1" "unknown" 750 20125 0 top CONN2-0-12 "CONNECTOR-2-1" "unknown" 750 21625 0 top CONN2-0-13 "CONNECTOR-2-1" "unknown" 750 23125 0 top CONN2-0-14 "CONNECTOR-2-1" "unknown" 750 24625 0 top CONN2-1-0 "CONNECTOR-2-1" "unknown" 1250 3625 0 top CONN2-1-1 "CONNECTOR-2-1" "unknown" 1250 5125 0 top CONN2-1-2 "CONNECTOR-2-1" "unknown" 1250 6625 0 top CONN2-1-3 "CONNECTOR-2-1" "unknown" 1250 8125 0 top CONN2-1-4 "CONNECTOR-2-1" "unknown" 1250 9625 0 top CONN2-1-5 "CONNECTOR-2-1" "unknown" 1250 11125 0 top CONN2-1-6 "CONNECTOR-2-1" "unknown" 1250 12625 0 top CONN2-1-7 "CONNECTOR-2-1" "unknown" 1250 14125 0 top CONN2-1-8 "CONNECTOR-2-1" "unknown" 1250 15625 0 top CONN2-1-9 "CONNECTOR-2-1" "unknown" 1250 17125 0 top CONN2-1-10 "CONNECTOR-2-1" "unknown" 1250 18625 0 top CONN2-1-11 "CONNECTOR-2-1" "unknown" 1250 20125 0 top CONN2-1-12 "CONNECTOR-2-1" "unknown" 1250 21625 0 top CONN2-1-13 "CONNECTOR-2-1" "unknown" 1250 23125 0 top CONN2-1-14 "CONNECTOR-2-1" "unknown" 1250 24625 0 top CONN2-2-0 "CONNECTOR-2-1" "unknown" 1750 3625 0 top CONN2-2-1 "CONNECTOR-2-1" "unknown" 1750 5125 0 top CONN2-2-2 "CONNECTOR-2-1" "unknown" 1750 6625 0 top CONN2-2-3 "CONNECTOR-2-1" "unknown" 1750 8125 0 top CONN2-2-4 "CONNECTOR-2-1" "unknown" 1750 9625 0 top CONN2-2-5 "CONNECTOR-2-1" "unknown" 1750 11125 0 top CONN2-2-6 "CONNECTOR-2-1" "unknown" 1750 12625 0 top CONN2-2-7 "CONNECTOR-2-1" "unknown" 1750 14125 0 top CONN2-2-8 "CONNECTOR-2-1" "unknown" 1750 15625 0 top CONN2-2-9 "CONNECTOR-2-1" "unknown" 1750 17125 0 top CONN2-2-10 "CONNECTOR-2-1" "unknown" 1750 18625 0 top CONN2-2-11 "CONNECTOR-2-1" "unknown" 1750 20125 0 top CONN2-2-12 "CONNECTOR-2-1" "unknown" 1750 21625 0 top CONN2-2-13 "CONNECTOR-2-1" "unknown" 1750 23125 0 top CONN2-2-14 "CONNECTOR-2-1" "unknown" 1750 24625 0 top CONN2-3-0 "CONNECTOR-2-1" "unknown" 2250 3625 0 top CONN2-3-1 "CONNECTOR-2-1" "unknown" 2250 5125 0 top CONN2-3-2 "CONNECTOR-2-1" "unknown" 2250 6625 0 top CONN2-3-3 "CONNECTOR-2-1" "unknown" 2250 8125 0 top CONN2-3-4 "CONNECTOR-2-1" "unknown" 2250 9625 0 top CONN2-3-5 "CONNECTOR-2-1" "unknown" 2250 11125 0 top CONN2-3-6 "CONNECTOR-2-1" "unknown" 2250 12625 0 top CONN2-3-7 "CONNECTOR-2-1" "unknown" 2250 14125 0 top CONN2-3-8 "CONNECTOR-2-1" "unknown" 2250 15625 0 top CONN2-3-9 "CONNECTOR-2-1" "unknown" 2250 17125 0 top CONN2-3-10 "CONNECTOR-2-1" "unknown" 2250 18625 0 top CONN2-3-11 "CONNECTOR-2-1" "unknown" 2250 20125 0 top CONN2-3-12 "CONNECTOR-2-1" "unknown" 2250 21625 0 top CONN2-3-13 "CONNECTOR-2-1" "unknown" 2250 23125 0 top CONN2-3-14 "CONNECTOR-2-1" "unknown" 2250 24625 0 top CONN2-4-0 "CONNECTOR-2-1" "unknown" 2750 3625 0 top CONN2-4-1 "CONNECTOR-2-1" "unknown" 2750 5125 0 top CONN2-4-2 "CONNECTOR-2-1" "unknown" 2750 6625 0 top CONN2-4-3 "CONNECTOR-2-1" "unknown" 2750 8125 0 top CONN2-4-4 "CONNECTOR-2-1" "unknown" 2750 9625 0 top CONN2-4-5 "CONNECTOR-2-1" "unknown" 2750 11125 0 top CONN2-4-6 "CONNECTOR-2-1" "unknown" 2750 12625 0 top CONN2-4-7 "CONNECTOR-2-1" "unknown" 2750 14125 0 top CONN2-4-8 "CONNECTOR-2-1" "unknown" 2750 15625 0 top CONN2-4-9 "CONNECTOR-2-1" "unknown" 2750 17125 0 top CONN2-4-10 "CONNECTOR-2-1" "unknown" 2750 18625 0 top CONN2-4-11 "CONNECTOR-2-1" "unknown" 2750 20125 0 top CONN2-4-12 "CONNECTOR-2-1" "unknown" 2750 21625 0 top CONN2-4-13 "CONNECTOR-2-1" "unknown" 2750 23125 0 top CONN2-4-14 "CONNECTOR-2-1" "unknown" 2750 24625 0 top CONN2-5-0 "CONNECTOR-2-1" "unknown" 3250 3625 0 top CONN2-5-1 "CONNECTOR-2-1" "unknown" 3250 5125 0 top CONN2-5-2 "CONNECTOR-2-1" "unknown" 3250 6625 0 top CONN2-5-3 "CONNECTOR-2-1" "unknown" 3250 8125 0 top CONN2-5-4 "CONNECTOR-2-1" "unknown" 3250 9625 0 top CONN2-5-5 "CONNECTOR-2-1" "unknown" 3250 11125 0 top CONN2-5-6 "CONNECTOR-2-1" "unknown" 3250 12625 0 top CONN2-5-7 "CONNECTOR-2-1" "unknown" 3250 14125 0 top CONN2-5-8 "CONNECTOR-2-1" "unknown" 3250 15625 0 top CONN2-5-9 "CONNECTOR-2-1" "unknown" 3250 17125 0 top CONN2-5-10 "CONNECTOR-2-1" "unknown" 3250 18625 0 top CONN2-5-11 "CONNECTOR-2-1" "unknown" 3250 20125 0 top CONN2-5-12 "CONNECTOR-2-1" "unknown" 3250 21625 0 top CONN2-5-13 "CONNECTOR-2-1" "unknown" 3250 23125 0 top CONN2-5-14 "CONNECTOR-2-1" "unknown" 3250 24625 0 top CONN2-6-0 "CONNECTOR-2-1" "unknown" 3750 3625 0 top CONN2-6-1 "CONNECTOR-2-1" "unknown" 3750 5125 0 top CONN2-6-2 "CONNECTOR-2-1" "unknown" 3750 6625 0 top CONN2-6-3 "CONNECTOR-2-1" "unknown" 3750 8125 0 top CONN2-6-4 "CONNECTOR-2-1" "unknown" 3750 9625 0 top CONN2-6-5 "CONNECTOR-2-1" "unknown" 3750 11125 0 top CONN2-6-6 "CONNECTOR-2-1" "unknown" 3750 12625 0 top CONN2-6-7 "CONNECTOR-2-1" "unknown" 3750 14125 0 top CONN2-6-8 "CONNECTOR-2-1" "unknown" 3750 15625 0 top CONN2-6-9 "CONNECTOR-2-1" "unknown" 3750 17125 0 top CONN2-6-10 "CONNECTOR-2-1" "unknown" 3750 18625 0 top CONN2-6-11 "CONNECTOR-2-1" "unknown" 3750 20125 0 top CONN2-6-12 "CONNECTOR-2-1" "unknown" 3750 21625 0 top CONN2-6-13 "CONNECTOR-2-1" "unknown" 3750 23125 0 top CONN2-6-14 "CONNECTOR-2-1" "unknown" 3750 24625 0 top CONN2-7-0 "CONNECTOR-2-1" "unknown" 4250 3625 0 top CONN2-7-1 "CONNECTOR-2-1" "unknown" 4250 5125 0 top CONN2-7-2 "CONNECTOR-2-1" "unknown" 4250 6625 0 top CONN2-7-3 "CONNECTOR-2-1" "unknown" 4250 8125 0 top CONN2-7-4 "CONNECTOR-2-1" "unknown" 4250 9625 0 top CONN2-7-5 "CONNECTOR-2-1" "unknown" 4250 11125 0 top CONN2-7-6 "CONNECTOR-2-1" "unknown" 4250 12625 0 top CONN2-7-7 "CONNECTOR-2-1" "unknown" 4250 14125 0 top CONN2-7-8 "CONNECTOR-2-1" "unknown" 4250 15625 0 top CONN2-7-9 "CONNECTOR-2-1" "unknown" 4250 17125 0 top CONN2-7-10 "CONNECTOR-2-1" "unknown" 4250 18625 0 top CONN2-7-11 "CONNECTOR-2-1" "unknown" 4250 20125 0 top CONN2-7-12 "CONNECTOR-2-1" "unknown" 4250 21625 0 top CONN2-7-13 "CONNECTOR-2-1" "unknown" 4250 23125 0 top CONN2-7-14 "CONNECTOR-2-1" "unknown" 4250 24625 0 top CONN2-8-0 "CONNECTOR-2-1" "unknown" 4750 3625 0 top CONN2-8-1 "CONNECTOR-2-1" "unknown" 4750 5125 0 top CONN2-8-2 "CONNECTOR-2-1" "unknown" 4750 6625 0 top CONN2-8-3 "CONNECTOR-2-1" "unknown" 4750 8125 0 top CONN2-8-4 "CONNECTOR-2-1" "unknown" 4750 9625 0 top CONN2-8-5 "CONNECTOR-2-1" "unknown" 4750 11125 0 top CONN2-8-6 "CONNECTOR-2-1" "unknown" 4750 12625 0 top CONN2-8-7 "CONNECTOR-2-1" "unknown" 4750 14125 0 top CONN2-8-8 "CONNECTOR-2-1" "unknown" 4750 15625 0 top CONN2-8-9 "CONNECTOR-2-1" "unknown" 4750 17125 0 top CONN2-8-10 "CONNECTOR-2-1" "unknown" 4750 18625 0 top CONN2-8-11 "CONNECTOR-2-1" "unknown" 4750 20125 0 top CONN2-8-12 "CONNECTOR-2-1" "unknown" 4750 21625 0 top CONN2-8-13 "CONNECTOR-2-1" "unknown" 4750 23125 0 top CONN2-8-14 "CONNECTOR-2-1" "unknown" 4750 24625 0 top CONN2-9-0 "CONNECTOR-2-1" "unknown" 5250 3625 0 top CONN2-9-1 "CONNECTOR-2-1" "unknown" 5250 5125 0 top CONN2-9-2 "CONNECTOR-2-1" "unknown" 5250 6625 0 top CONN2-9-3 "CONNECTOR-2-1" "unknown" 5250 8125 0 top CONN2-9-4 "CONNECTOR-2-1" "unknown" 5250 9625 0 top CONN2-9-5 "CONNECTOR-2-1" "unknown" 5250 11125 0 top CONN2-9-6 "CONNECTOR-2-1" "unknown" 5250 12625 0 top CONN2-9-7 "CONNECTOR-2-1" "unknown" 5250 14125 0 top CONN2-9-8 "CONNECTOR-2-1" "unknown" 5250 15625 0 top CONN2-9-9 "CONNECTOR-2-1" "unknown" 5250 17125 0 top CONN2-9-10 "CONNECTOR-2-1" "unknown" 5250 18625 0 top CONN2-9-11 "CONNECTOR-2-1" "unknown" 5250 20125 0 top CONN2-9-12 "CONNECTOR-2-1" "unknown" 5250 21625 0 top CONN2-9-13 "CONNECTOR-2-1" "unknown" 5250 23125 0 top CONN2-9-14 "CONNECTOR-2-1" "unknown" 5250 24625 0 top CONN2-10-0 "CONNECTOR-2-1" "unknown" 5750 3625 0 top CONN2-10-1 "CONNECTOR-2-1" "unknown" 5750 5125 0 top CONN2-10-2 "CONNECTOR-2-1" "unknown" 5750 6625 0 top CONN2-10-3 "CONNECTOR-2-1" "unknown" 5750 8125 0 top CONN2-10-4 "CONNECTOR-2-1" "unknown" 5750 9625 0 top CONN2-10-5 "CONNECTOR-2-1" "unknown" 5750 11125 0 top CONN2-10-6 "CONNECTOR-2-1" "unknown" 5750 12625 0 top CONN2-10-7 "CONNECTOR-2-1" "unknown" 5750 14125 0 top CONN2-10-8 "CONNECTOR-2-1" "unknown" 5750 15625 0 top CONN2-10-9 "CONNECTOR-2-1" "unknown" 5750 17125 0 top CONN2-10-10 "CONNECTOR-2-1" "unknown" 5750 18625 0 top CONN2-10-11 "CONNECTOR-2-1" "unknown" 5750 20125 0 top CONN2-10-12 "CONNECTOR-2-1" "unknown" 5750 21625 0 top CONN2-10-13 "CONNECTOR-2-1" "unknown" 5750 23125 0 top CONN2-10-14 "CONNECTOR-2-1" "unknown" 5750 24625 0 top CONN2-11-0 "CONNECTOR-2-1" "unknown" 6250 3625 0 top CONN2-11-1 "CONNECTOR-2-1" "unknown" 6250 5125 0 top CONN2-11-2 "CONNECTOR-2-1" "unknown" 6250 6625 0 top CONN2-11-3 "CONNECTOR-2-1" "unknown" 6250 8125 0 top CONN2-11-4 "CONNECTOR-2-1" "unknown" 6250 9625 0 top CONN2-11-5 "CONNECTOR-2-1" "unknown" 6250 11125 0 top CONN2-11-6 "CONNECTOR-2-1" "unknown" 6250 12625 0 top CONN2-11-7 "CONNECTOR-2-1" "unknown" 6250 14125 0 top CONN2-11-8 "CONNECTOR-2-1" "unknown" 6250 15625 0 top CONN2-11-9 "CONNECTOR-2-1" "unknown" 6250 17125 0 top CONN2-11-10 "CONNECTOR-2-1" "unknown" 6250 18625 0 top CONN2-11-11 "CONNECTOR-2-1" "unknown" 6250 20125 0 top CONN2-11-12 "CONNECTOR-2-1" "unknown" 6250 21625 0 top CONN2-11-13 "CONNECTOR-2-1" "unknown" 6250 23125 0 top CONN2-11-14 "CONNECTOR-2-1" "unknown" 6250 24625 0 top CONN2-12-0 "CONNECTOR-2-1" "unknown" 6750 3625 0 top CONN2-12-1 "CONNECTOR-2-1" "unknown" 6750 5125 0 top CONN2-12-2 "CONNECTOR-2-1" "unknown" 6750 6625 0 top CONN2-12-3 "CONNECTOR-2-1" "unknown" 6750 8125 0 top CONN2-12-4 "CONNECTOR-2-1" "unknown" 6750 9625 0 top CONN2-12-5 "CONNECTOR-2-1" "unknown" 6750 11125 0 top CONN2-12-6 "CONNECTOR-2-1" "unknown" 6750 12625 0 top CONN2-12-7 "CONNECTOR-2-1" "unknown" 6750 14125 0 top CONN2-12-8 "CONNECTOR-2-1" "unknown" 6750 15625 0 top CONN2-12-9 "CONNECTOR-2-1" "unknown" 6750 17125 0 top CONN2-12-10 "CONNECTOR-2-1" "unknown" 6750 18625 0 top CONN2-12-11 "CONNECTOR-2-1" "unknown" 6750 20125 0 top CONN2-12-12 "CONNECTOR-2-1" "unknown" 6750 21625 0 top CONN2-12-13 "CONNECTOR-2-1" "unknown" 6750 23125 0 top CONN2-12-14 "CONNECTOR-2-1" "unknown" 6750 24625 0 top CONN2-13-0 "CONNECTOR-2-1" "unknown" 7250 3625 0 top CONN2-13-1 "CONNECTOR-2-1" "unknown" 7250 5125 0 top CONN2-13-2 "CONNECTOR-2-1" "unknown" 7250 6625 0 top CONN2-13-3 "CONNECTOR-2-1" "unknown" 7250 8125 0 top CONN2-13-4 "CONNECTOR-2-1" "unknown" 7250 9625 0 top CONN2-13-5 "CONNECTOR-2-1" "unknown" 7250 11125 0 top CONN2-13-6 "CONNECTOR-2-1" "unknown" 7250 12625 0 top CONN2-13-7 "CONNECTOR-2-1" "unknown" 7250 14125 0 top CONN2-13-8 "CONNECTOR-2-1" "unknown" 7250 15625 0 top CONN2-13-9 "CONNECTOR-2-1" "unknown" 7250 17125 0 top CONN2-13-10 "CONNECTOR-2-1" "unknown" 7250 18625 0 top CONN2-13-11 "CONNECTOR-2-1" "unknown" 7250 20125 0 top CONN2-13-12 "CONNECTOR-2-1" "unknown" 7250 21625 0 top CONN2-13-13 "CONNECTOR-2-1" "unknown" 7250 23125 0 top CONN2-13-14 "CONNECTOR-2-1" "unknown" 7250 24625 0 top CONN2-14-0 "CONNECTOR-2-1" "unknown" 7750 3625 0 top CONN2-14-1 "CONNECTOR-2-1" "unknown" 7750 5125 0 top CONN2-14-2 "CONNECTOR-2-1" "unknown" 7750 6625 0 top CONN2-14-3 "CONNECTOR-2-1" "unknown" 7750 8125 0 top CONN2-14-4 "CONNECTOR-2-1" "unknown" 7750 9625 0 top CONN2-14-5 "CONNECTOR-2-1" "unknown" 7750 11125 0 top CONN2-14-6 "CONNECTOR-2-1" "unknown" 7750 12625 0 top CONN2-14-7 "CONNECTOR-2-1" "unknown" 7750 14125 0 top CONN2-14-8 "CONNECTOR-2-1" "unknown" 7750 15625 0 top CONN2-14-9 "CONNECTOR-2-1" "unknown" 7750 17125 0 top CONN2-14-10 "CONNECTOR-2-1" "unknown" 7750 18625 0 top CONN2-14-11 "CONNECTOR-2-1" "unknown" 7750 20125 0 top CONN2-14-12 "CONNECTOR-2-1" "unknown" 7750 21625 0 top CONN2-14-13 "CONNECTOR-2-1" "unknown" 7750 23125 0 top CONN2-14-14 "CONNECTOR-2-1" "unknown" 7750 24625 0 top S2-0-0 "CONNECTOR-2-1" "unknown" 750.00 3850.00 180 top S2-0-1 "CONNECTOR-2-1" "unknown" 750 5350 180 top S2-0-2 "CONNECTOR-2-1" "unknown" 750 6850 180 top S2-0-3 "CONNECTOR-2-1" "unknown" 750 8350 180 top S2-0-4 "CONNECTOR-2-1" "unknown" 750 9850 180 top S2-0-5 "CONNECTOR-2-1" "unknown" 750 11350 180 top S2-0-6 "CONNECTOR-2-1" "unknown" 750 12850 180 top S2-0-7 "CONNECTOR-2-1" "unknown" 750 14350 180 top S2-0-8 "CONNECTOR-2-1" "unknown" 750 15850 180 top S2-0-9 "CONNECTOR-2-1" "unknown" 750 17350 180 top S2-0-10 "CONNECTOR-2-1" "unknown" 750 18850 180 top S2-0-11 "CONNECTOR-2-1" "unknown" 750 20350 180 top S2-0-12 "CONNECTOR-2-1" "unknown" 750 21850 180 top S2-0-13 "CONNECTOR-2-1" "unknown" 750 23350 180 top S2-0-14 "CONNECTOR-2-1" "unknown" 750 24850 180 top S2-1-0 "CONNECTOR-2-1" "unknown" 1250 3850 180 top S2-1-1 "CONNECTOR-2-1" "unknown" 1250 5350 180 top S2-1-2 "CONNECTOR-2-1" "unknown" 1250 6850 180 top S2-1-3 "CONNECTOR-2-1" "unknown" 1250 8350 180 top S2-1-4 "CONNECTOR-2-1" "unknown" 1250 9850 180 top S2-1-5 "CONNECTOR-2-1" "unknown" 1250 11350 180 top S2-1-6 "CONNECTOR-2-1" "unknown" 1250 12850 180 top S2-1-7 "CONNECTOR-2-1" "unknown" 1250 14350 180 top S2-1-8 "CONNECTOR-2-1" "unknown" 1250 15850 180 top S2-1-9 "CONNECTOR-2-1" "unknown" 1250 17350 180 top S2-1-10 "CONNECTOR-2-1" "unknown" 1250 18850 180 top S2-1-11 "CONNECTOR-2-1" "unknown" 1250 20350 180 top S2-1-12 "CONNECTOR-2-1" "unknown" 1250 21850 180 top S2-1-13 "CONNECTOR-2-1" "unknown" 1250 23350 180 top S2-1-14 "CONNECTOR-2-1" "unknown" 1250 24850 180 top S2-2-0 "CONNECTOR-2-1" "unknown" 1750 3850 180 top S2-2-1 "CONNECTOR-2-1" "unknown" 1750 5350 180 top S2-2-2 "CONNECTOR-2-1" "unknown" 1750 6850 180 top S2-2-3 "CONNECTOR-2-1" "unknown" 1750 8350 180 top S2-2-4 "CONNECTOR-2-1" "unknown" 1750 9850 180 top S2-2-5 "CONNECTOR-2-1" "unknown" 1750 11350 180 top S2-2-6 "CONNECTOR-2-1" "unknown" 1750 12850 180 top S2-2-7 "CONNECTOR-2-1" "unknown" 1750 14350 180 top S2-2-8 "CONNECTOR-2-1" "unknown" 1750 15850 180 top S2-2-9 "CONNECTOR-2-1" "unknown" 1750 17350 180 top S2-2-10 "CONNECTOR-2-1" "unknown" 1750 18850 180 top S2-2-11 "CONNECTOR-2-1" "unknown" 1750 20350 180 top S2-2-12 "CONNECTOR-2-1" "unknown" 1750 21850 180 top S2-2-13 "CONNECTOR-2-1" "unknown" 1750 23350 180 top S2-2-14 "CONNECTOR-2-1" "unknown" 1750 24850 180 top S2-3-0 "CONNECTOR-2-1" "unknown" 2250 3850 180 top S2-3-1 "CONNECTOR-2-1" "unknown" 2250 5350 180 top S2-3-2 "CONNECTOR-2-1" "unknown" 2250 6850 180 top S2-3-3 "CONNECTOR-2-1" "unknown" 2250 8350 180 top S2-3-4 "CONNECTOR-2-1" "unknown" 2250 9850 180 top S2-3-5 "CONNECTOR-2-1" "unknown" 2250 11350 180 top S2-3-6 "CONNECTOR-2-1" "unknown" 2250 12850 180 top S2-3-7 "CONNECTOR-2-1" "unknown" 2250 14350 180 top S2-3-8 "CONNECTOR-2-1" "unknown" 2250 15850 180 top S2-3-9 "CONNECTOR-2-1" "unknown" 2250 17350 180 top S2-3-10 "CONNECTOR-2-1" "unknown" 2250 18850 180 top S2-3-11 "CONNECTOR-2-1" "unknown" 2250 20350 180 top S2-3-12 "CONNECTOR-2-1" "unknown" 2250 21850 180 top S2-3-13 "CONNECTOR-2-1" "unknown" 2250 23350 180 top S2-3-14 "CONNECTOR-2-1" "unknown" 2250 24850 180 top S2-4-0 "CONNECTOR-2-1" "unknown" 2750 3850 180 top S2-4-1 "CONNECTOR-2-1" "unknown" 2750 5350 180 top S2-4-2 "CONNECTOR-2-1" "unknown" 2750 6850 180 top S2-4-3 "CONNECTOR-2-1" "unknown" 2750 8350 180 top S2-4-4 "CONNECTOR-2-1" "unknown" 2750 9850 180 top S2-4-5 "CONNECTOR-2-1" "unknown" 2750 11350 180 top S2-4-6 "CONNECTOR-2-1" "unknown" 2750 12850 180 top S2-4-7 "CONNECTOR-2-1" "unknown" 2750 14350 180 top S2-4-8 "CONNECTOR-2-1" "unknown" 2750 15850 180 top S2-4-9 "CONNECTOR-2-1" "unknown" 2750 17350 180 top S2-4-10 "CONNECTOR-2-1" "unknown" 2750 18850 180 top S2-4-11 "CONNECTOR-2-1" "unknown" 2750 20350 180 top S2-4-12 "CONNECTOR-2-1" "unknown" 2750 21850 180 top S2-4-13 "CONNECTOR-2-1" "unknown" 2750 23350 180 top S2-4-14 "CONNECTOR-2-1" "unknown" 2750 24850 180 top S2-5-0 "CONNECTOR-2-1" "unknown" 3250 3850 180 top S2-5-1 "CONNECTOR-2-1" "unknown" 3250 5350 180 top S2-5-2 "CONNECTOR-2-1" "unknown" 3250 6850 180 top S2-5-3 "CONNECTOR-2-1" "unknown" 3250 8350 180 top S2-5-4 "CONNECTOR-2-1" "unknown" 3250 9850 180 top S2-5-5 "CONNECTOR-2-1" "unknown" 3250 11350 180 top S2-5-6 "CONNECTOR-2-1" "unknown" 3250 12850 180 top S2-5-7 "CONNECTOR-2-1" "unknown" 3250 14350 180 top S2-5-8 "CONNECTOR-2-1" "unknown" 3250 15850 180 top S2-5-9 "CONNECTOR-2-1" "unknown" 3250 17350 180 top S2-5-10 "CONNECTOR-2-1" "unknown" 3250 18850 180 top S2-5-11 "CONNECTOR-2-1" "unknown" 3250 20350 180 top S2-5-12 "CONNECTOR-2-1" "unknown" 3250 21850 180 top S2-5-13 "CONNECTOR-2-1" "unknown" 3250 23350 180 top S2-5-14 "CONNECTOR-2-1" "unknown" 3250 24850 180 top S2-6-0 "CONNECTOR-2-1" "unknown" 3750 3850 180 top S2-6-1 "CONNECTOR-2-1" "unknown" 3750 5350 180 top S2-6-2 "CONNECTOR-2-1" "unknown" 3750 6850 180 top S2-6-3 "CONNECTOR-2-1" "unknown" 3750 8350 180 top S2-6-4 "CONNECTOR-2-1" "unknown" 3750 9850 180 top S2-6-5 "CONNECTOR-2-1" "unknown" 3750 11350 180 top S2-6-6 "CONNECTOR-2-1" "unknown" 3750 12850 180 top S2-6-7 "CONNECTOR-2-1" "unknown" 3750 14350 180 top S2-6-8 "CONNECTOR-2-1" "unknown" 3750 15850 180 top S2-6-9 "CONNECTOR-2-1" "unknown" 3750 17350 180 top S2-6-10 "CONNECTOR-2-1" "unknown" 3750 18850 180 top S2-6-11 "CONNECTOR-2-1" "unknown" 3750 20350 180 top S2-6-12 "CONNECTOR-2-1" "unknown" 3750 21850 180 top S2-6-13 "CONNECTOR-2-1" "unknown" 3750 23350 180 top S2-6-14 "CONNECTOR-2-1" "unknown" 3750 24850 180 top S2-7-0 "CONNECTOR-2-1" "unknown" 4250 3850 180 top S2-7-1 "CONNECTOR-2-1" "unknown" 4250 5350 180 top S2-7-2 "CONNECTOR-2-1" "unknown" 4250 6850 180 top S2-7-3 "CONNECTOR-2-1" "unknown" 4250 8350 180 top S2-7-4 "CONNECTOR-2-1" "unknown" 4250 9850 180 top S2-7-5 "CONNECTOR-2-1" "unknown" 4250 11350 180 top S2-7-6 "CONNECTOR-2-1" "unknown" 4250 12850 180 top S2-7-7 "CONNECTOR-2-1" "unknown" 4250 14350 180 top S2-7-8 "CONNECTOR-2-1" "unknown" 4250 15850 180 top S2-7-9 "CONNECTOR-2-1" "unknown" 4250 17350 180 top S2-7-10 "CONNECTOR-2-1" "unknown" 4250 18850 180 top S2-7-11 "CONNECTOR-2-1" "unknown" 4250 20350 180 top S2-7-12 "CONNECTOR-2-1" "unknown" 4250 21850 180 top S2-7-13 "CONNECTOR-2-1" "unknown" 4250 23350 180 top S2-7-14 "CONNECTOR-2-1" "unknown" 4250 24850 180 top S2-8-0 "CONNECTOR-2-1" "unknown" 4750 3850 180 top S2-8-1 "CONNECTOR-2-1" "unknown" 4750 5350 180 top S2-8-2 "CONNECTOR-2-1" "unknown" 4750 6850 180 top S2-8-3 "CONNECTOR-2-1" "unknown" 4750 8350 180 top S2-8-4 "CONNECTOR-2-1" "unknown" 4750 9850 180 top S2-8-5 "CONNECTOR-2-1" "unknown" 4750 11350 180 top S2-8-6 "CONNECTOR-2-1" "unknown" 4750 12850 180 top S2-8-7 "CONNECTOR-2-1" "unknown" 4750 14350 180 top S2-8-8 "CONNECTOR-2-1" "unknown" 4750 15850 180 top S2-8-9 "CONNECTOR-2-1" "unknown" 4750 17350 180 top S2-8-10 "CONNECTOR-2-1" "unknown" 4750 18850 180 top S2-8-11 "CONNECTOR-2-1" "unknown" 4750 20350 180 top S2-8-12 "CONNECTOR-2-1" "unknown" 4750 21850 180 top S2-8-13 "CONNECTOR-2-1" "unknown" 4750 23350 180 top S2-8-14 "CONNECTOR-2-1" "unknown" 4750 24850 180 top S2-9-0 "CONNECTOR-2-1" "unknown" 5250 3850 180 top S2-9-1 "CONNECTOR-2-1" "unknown" 5250 5350 180 top S2-9-2 "CONNECTOR-2-1" "unknown" 5250 6850 180 top S2-9-3 "CONNECTOR-2-1" "unknown" 5250 8350 180 top S2-9-4 "CONNECTOR-2-1" "unknown" 5250 9850 180 top S2-9-5 "CONNECTOR-2-1" "unknown" 5250 11350 180 top S2-9-6 "CONNECTOR-2-1" "unknown" 5250 12850 180 top S2-9-7 "CONNECTOR-2-1" "unknown" 5250 14350 180 top S2-9-8 "CONNECTOR-2-1" "unknown" 5250 15850 180 top S2-9-9 "CONNECTOR-2-1" "unknown" 5250 17350 180 top S2-9-10 "CONNECTOR-2-1" "unknown" 5250 18850 180 top S2-9-11 "CONNECTOR-2-1" "unknown" 5250 20350 180 top S2-9-12 "CONNECTOR-2-1" "unknown" 5250 21850 180 top S2-9-13 "CONNECTOR-2-1" "unknown" 5250 23350 180 top S2-9-14 "CONNECTOR-2-1" "unknown" 5250 24850 180 top S2-10-0 "CONNECTOR-2-1" "unknown" 5750 3850 180 top S2-10-1 "CONNECTOR-2-1" "unknown" 5750 5350 180 top S2-10-2 "CONNECTOR-2-1" "unknown" 5750 6850 180 top S2-10-3 "CONNECTOR-2-1" "unknown" 5750 8350 180 top S2-10-4 "CONNECTOR-2-1" "unknown" 5750 9850 180 top S2-10-5 "CONNECTOR-2-1" "unknown" 5750 11350 180 top S2-10-6 "CONNECTOR-2-1" "unknown" 5750 12850 180 top S2-10-7 "CONNECTOR-2-1" "unknown" 5750 14350 180 top S2-10-8 "CONNECTOR-2-1" "unknown" 5750 15850 180 top S2-10-9 "CONNECTOR-2-1" "unknown" 5750 17350 180 top S2-10-10 "CONNECTOR-2-1" "unknown" 5750 18850 180 top S2-10-11 "CONNECTOR-2-1" "unknown" 5750 20350 180 top S2-10-12 "CONNECTOR-2-1" "unknown" 5750 21850 180 top S2-10-13 "CONNECTOR-2-1" "unknown" 5750 23350 180 top S2-10-14 "CONNECTOR-2-1" "unknown" 5750 24850 180 top S2-11-0 "CONNECTOR-2-1" "unknown" 6250 3850 180 top S2-11-1 "CONNECTOR-2-1" "unknown" 6250 5350 180 top S2-11-2 "CONNECTOR-2-1" "unknown" 6250 6850 180 top S2-11-3 "CONNECTOR-2-1" "unknown" 6250 8350 180 top S2-11-4 "CONNECTOR-2-1" "unknown" 6250 9850 180 top S2-11-5 "CONNECTOR-2-1" "unknown" 6250 11350 180 top S2-11-6 "CONNECTOR-2-1" "unknown" 6250 12850 180 top S2-11-7 "CONNECTOR-2-1" "unknown" 6250 14350 180 top S2-11-8 "CONNECTOR-2-1" "unknown" 6250 15850 180 top S2-11-9 "CONNECTOR-2-1" "unknown" 6250 17350 180 top S2-11-10 "CONNECTOR-2-1" "unknown" 6250 18850 180 top S2-11-11 "CONNECTOR-2-1" "unknown" 6250 20350 180 top S2-11-12 "CONNECTOR-2-1" "unknown" 6250 21850 180 top S2-11-13 "CONNECTOR-2-1" "unknown" 6250 23350 180 top S2-11-14 "CONNECTOR-2-1" "unknown" 6250 24850 180 top S2-12-0 "CONNECTOR-2-1" "unknown" 6750 3850 180 top S2-12-1 "CONNECTOR-2-1" "unknown" 6750 5350 180 top S2-12-2 "CONNECTOR-2-1" "unknown" 6750 6850 180 top S2-12-3 "CONNECTOR-2-1" "unknown" 6750 8350 180 top S2-12-4 "CONNECTOR-2-1" "unknown" 6750 9850 180 top S2-12-5 "CONNECTOR-2-1" "unknown" 6750 11350 180 top S2-12-6 "CONNECTOR-2-1" "unknown" 6750 12850 180 top S2-12-7 "CONNECTOR-2-1" "unknown" 6750 14350 180 top S2-12-8 "CONNECTOR-2-1" "unknown" 6750 15850 180 top S2-12-9 "CONNECTOR-2-1" "unknown" 6750 17350 180 top S2-12-10 "CONNECTOR-2-1" "unknown" 6750 18850 180 top S2-12-11 "CONNECTOR-2-1" "unknown" 6750 20350 180 top S2-12-12 "CONNECTOR-2-1" "unknown" 6750 21850 180 top S2-12-13 "CONNECTOR-2-1" "unknown" 6750 23350 180 top S2-12-14 "CONNECTOR-2-1" "unknown" 6750 24850 180 top S2-13-0 "CONNECTOR-2-1" "unknown" 7250 3850 180 top S2-13-1 "CONNECTOR-2-1" "unknown" 7250 5350 180 top S2-13-2 "CONNECTOR-2-1" "unknown" 7250 6850 180 top S2-13-3 "CONNECTOR-2-1" "unknown" 7250 8350 180 top S2-13-4 "CONNECTOR-2-1" "unknown" 7250 9850 180 top S2-13-5 "CONNECTOR-2-1" "unknown" 7250 11350 180 top S2-13-6 "CONNECTOR-2-1" "unknown" 7250 12850 180 top S2-13-7 "CONNECTOR-2-1" "unknown" 7250 14350 180 top S2-13-8 "CONNECTOR-2-1" "unknown" 7250 15850 180 top S2-13-9 "CONNECTOR-2-1" "unknown" 7250 17350 180 top S2-13-10 "CONNECTOR-2-1" "unknown" 7250 18850 180 top S2-13-11 "CONNECTOR-2-1" "unknown" 7250 20350 180 top S2-13-12 "CONNECTOR-2-1" "unknown" 7250 21850 180 top S2-13-13 "CONNECTOR-2-1" "unknown" 7250 23350 180 top S2-13-14 "CONNECTOR-2-1" "unknown" 7250 24850 180 top S2-14-0 "CONNECTOR-2-1" "unknown" 7750 3850 180 top S2-14-1 "CONNECTOR-2-1" "unknown" 7750 5350 180 top S2-14-2 "CONNECTOR-2-1" "unknown" 7750 6850 180 top S2-14-3 "CONNECTOR-2-1" "unknown" 7750 8350 180 top S2-14-4 "CONNECTOR-2-1" "unknown" 7750 9850 180 top S2-14-5 "CONNECTOR-2-1" "unknown" 7750 11350 180 top S2-14-6 "CONNECTOR-2-1" "unknown" 7750 12850 180 top S2-14-7 "CONNECTOR-2-1" "unknown" 7750 14350 180 top S2-14-8 "CONNECTOR-2-1" "unknown" 7750 15850 180 top S2-14-9 "CONNECTOR-2-1" "unknown" 7750 17350 180 top S2-14-10 "CONNECTOR-2-1" "unknown" 7750 18850 180 top S2-14-11 "CONNECTOR-2-1" "unknown" 7750 20350 180 top S2-14-12 "CONNECTOR-2-1" "unknown" 7750 21850 180 top S2-14-13 "CONNECTOR-2-1" "unknown" 7750 23350 180 top S2-14-14 "CONNECTOR-2-1" "unknown" 7750 24850 180 top S1-0-0 "CONNECTOR-2-1" "unknown" 275.00 3850.00 0 top S1-0-1 "CONNECTOR-2-1" "unknown" 275 5350 0 top S1-0-2 "CONNECTOR-2-1" "unknown" 275 6850 0 top S1-0-3 "CONNECTOR-2-1" "unknown" 275 8350 0 top S1-0-4 "CONNECTOR-2-1" "unknown" 275 9850 0 top S1-0-5 "CONNECTOR-2-1" "unknown" 275 11350 0 top S1-0-6 "CONNECTOR-2-1" "unknown" 275 12850 0 top S1-0-7 "CONNECTOR-2-1" "unknown" 275 14350 0 top S1-0-8 "CONNECTOR-2-1" "unknown" 275 15850 0 top S1-0-9 "CONNECTOR-2-1" "unknown" 275 17350 0 top S1-0-10 "CONNECTOR-2-1" "unknown" 275 18850 0 top S1-0-11 "CONNECTOR-2-1" "unknown" 275 20350 0 top S1-0-12 "CONNECTOR-2-1" "unknown" 275 21850 0 top S1-0-13 "CONNECTOR-2-1" "unknown" 275 23350 0 top S1-0-14 "CONNECTOR-2-1" "unknown" 275 24850 0 top S1-1-0 "CONNECTOR-2-1" "unknown" 775 3850 0 top S1-1-1 "CONNECTOR-2-1" "unknown" 775 5350 0 top S1-1-2 "CONNECTOR-2-1" "unknown" 775 6850 0 top S1-1-3 "CONNECTOR-2-1" "unknown" 775 8350 0 top S1-1-4 "CONNECTOR-2-1" "unknown" 775 9850 0 top S1-1-5 "CONNECTOR-2-1" "unknown" 775 11350 0 top S1-1-6 "CONNECTOR-2-1" "unknown" 775 12850 0 top S1-1-7 "CONNECTOR-2-1" "unknown" 775 14350 0 top S1-1-8 "CONNECTOR-2-1" "unknown" 775 15850 0 top S1-1-9 "CONNECTOR-2-1" "unknown" 775 17350 0 top S1-1-10 "CONNECTOR-2-1" "unknown" 775 18850 0 top S1-1-11 "CONNECTOR-2-1" "unknown" 775 20350 0 top S1-1-12 "CONNECTOR-2-1" "unknown" 775 21850 0 top S1-1-13 "CONNECTOR-2-1" "unknown" 775 23350 0 top S1-1-14 "CONNECTOR-2-1" "unknown" 775 24850 0 top S1-2-0 "CONNECTOR-2-1" "unknown" 1275 3850 0 top S1-2-1 "CONNECTOR-2-1" "unknown" 1275 5350 0 top S1-2-2 "CONNECTOR-2-1" "unknown" 1275 6850 0 top S1-2-3 "CONNECTOR-2-1" "unknown" 1275 8350 0 top S1-2-4 "CONNECTOR-2-1" "unknown" 1275 9850 0 top S1-2-5 "CONNECTOR-2-1" "unknown" 1275 11350 0 top S1-2-6 "CONNECTOR-2-1" "unknown" 1275 12850 0 top S1-2-7 "CONNECTOR-2-1" "unknown" 1275 14350 0 top S1-2-8 "CONNECTOR-2-1" "unknown" 1275 15850 0 top S1-2-9 "CONNECTOR-2-1" "unknown" 1275 17350 0 top S1-2-10 "CONNECTOR-2-1" "unknown" 1275 18850 0 top S1-2-11 "CONNECTOR-2-1" "unknown" 1275 20350 0 top S1-2-12 "CONNECTOR-2-1" "unknown" 1275 21850 0 top S1-2-13 "CONNECTOR-2-1" "unknown" 1275 23350 0 top S1-2-14 "CONNECTOR-2-1" "unknown" 1275 24850 0 top S1-3-0 "CONNECTOR-2-1" "unknown" 1775 3850 0 top S1-3-1 "CONNECTOR-2-1" "unknown" 1775 5350 0 top S1-3-2 "CONNECTOR-2-1" "unknown" 1775 6850 0 top S1-3-3 "CONNECTOR-2-1" "unknown" 1775 8350 0 top S1-3-4 "CONNECTOR-2-1" "unknown" 1775 9850 0 top S1-3-5 "CONNECTOR-2-1" "unknown" 1775 11350 0 top S1-3-6 "CONNECTOR-2-1" "unknown" 1775 12850 0 top S1-3-7 "CONNECTOR-2-1" "unknown" 1775 14350 0 top S1-3-8 "CONNECTOR-2-1" "unknown" 1775 15850 0 top S1-3-9 "CONNECTOR-2-1" "unknown" 1775 17350 0 top S1-3-10 "CONNECTOR-2-1" "unknown" 1775 18850 0 top S1-3-11 "CONNECTOR-2-1" "unknown" 1775 20350 0 top S1-3-12 "CONNECTOR-2-1" "unknown" 1775 21850 0 top S1-3-13 "CONNECTOR-2-1" "unknown" 1775 23350 0 top S1-3-14 "CONNECTOR-2-1" "unknown" 1775 24850 0 top S1-4-0 "CONNECTOR-2-1" "unknown" 2275 3850 0 top S1-4-1 "CONNECTOR-2-1" "unknown" 2275 5350 0 top S1-4-2 "CONNECTOR-2-1" "unknown" 2275 6850 0 top S1-4-3 "CONNECTOR-2-1" "unknown" 2275 8350 0 top S1-4-4 "CONNECTOR-2-1" "unknown" 2275 9850 0 top S1-4-5 "CONNECTOR-2-1" "unknown" 2275 11350 0 top S1-4-6 "CONNECTOR-2-1" "unknown" 2275 12850 0 top S1-4-7 "CONNECTOR-2-1" "unknown" 2275 14350 0 top S1-4-8 "CONNECTOR-2-1" "unknown" 2275 15850 0 top S1-4-9 "CONNECTOR-2-1" "unknown" 2275 17350 0 top S1-4-10 "CONNECTOR-2-1" "unknown" 2275 18850 0 top S1-4-11 "CONNECTOR-2-1" "unknown" 2275 20350 0 top S1-4-12 "CONNECTOR-2-1" "unknown" 2275 21850 0 top S1-4-13 "CONNECTOR-2-1" "unknown" 2275 23350 0 top S1-4-14 "CONNECTOR-2-1" "unknown" 2275 24850 0 top S1-5-0 "CONNECTOR-2-1" "unknown" 2775 3850 0 top S1-5-1 "CONNECTOR-2-1" "unknown" 2775 5350 0 top S1-5-2 "CONNECTOR-2-1" "unknown" 2775 6850 0 top S1-5-3 "CONNECTOR-2-1" "unknown" 2775 8350 0 top S1-5-4 "CONNECTOR-2-1" "unknown" 2775 9850 0 top S1-5-5 "CONNECTOR-2-1" "unknown" 2775 11350 0 top S1-5-6 "CONNECTOR-2-1" "unknown" 2775 12850 0 top S1-5-7 "CONNECTOR-2-1" "unknown" 2775 14350 0 top S1-5-8 "CONNECTOR-2-1" "unknown" 2775 15850 0 top S1-5-9 "CONNECTOR-2-1" "unknown" 2775 17350 0 top S1-5-10 "CONNECTOR-2-1" "unknown" 2775 18850 0 top S1-5-11 "CONNECTOR-2-1" "unknown" 2775 20350 0 top S1-5-12 "CONNECTOR-2-1" "unknown" 2775 21850 0 top S1-5-13 "CONNECTOR-2-1" "unknown" 2775 23350 0 top S1-5-14 "CONNECTOR-2-1" "unknown" 2775 24850 0 top S1-6-0 "CONNECTOR-2-1" "unknown" 3275 3850 0 top S1-6-1 "CONNECTOR-2-1" "unknown" 3275 5350 0 top S1-6-2 "CONNECTOR-2-1" "unknown" 3275 6850 0 top S1-6-3 "CONNECTOR-2-1" "unknown" 3275 8350 0 top S1-6-4 "CONNECTOR-2-1" "unknown" 3275 9850 0 top S1-6-5 "CONNECTOR-2-1" "unknown" 3275 11350 0 top S1-6-6 "CONNECTOR-2-1" "unknown" 3275 12850 0 top S1-6-7 "CONNECTOR-2-1" "unknown" 3275 14350 0 top S1-6-8 "CONNECTOR-2-1" "unknown" 3275 15850 0 top S1-6-9 "CONNECTOR-2-1" "unknown" 3275 17350 0 top S1-6-10 "CONNECTOR-2-1" "unknown" 3275 18850 0 top S1-6-11 "CONNECTOR-2-1" "unknown" 3275 20350 0 top S1-6-12 "CONNECTOR-2-1" "unknown" 3275 21850 0 top S1-6-13 "CONNECTOR-2-1" "unknown" 3275 23350 0 top S1-6-14 "CONNECTOR-2-1" "unknown" 3275 24850 0 top S1-7-0 "CONNECTOR-2-1" "unknown" 3775 3850 0 top S1-7-1 "CONNECTOR-2-1" "unknown" 3775 5350 0 top S1-7-2 "CONNECTOR-2-1" "unknown" 3775 6850 0 top S1-7-3 "CONNECTOR-2-1" "unknown" 3775 8350 0 top S1-7-4 "CONNECTOR-2-1" "unknown" 3775 9850 0 top S1-7-5 "CONNECTOR-2-1" "unknown" 3775 11350 0 top S1-7-6 "CONNECTOR-2-1" "unknown" 3775 12850 0 top S1-7-7 "CONNECTOR-2-1" "unknown" 3775 14350 0 top S1-7-8 "CONNECTOR-2-1" "unknown" 3775 15850 0 top S1-7-9 "CONNECTOR-2-1" "unknown" 3775 17350 0 top S1-7-10 "CONNECTOR-2-1" "unknown" 3775 18850 0 top S1-7-11 "CONNECTOR-2-1" "unknown" 3775 20350 0 top S1-7-12 "CONNECTOR-2-1" "unknown" 3775 21850 0 top S1-7-13 "CONNECTOR-2-1" "unknown" 3775 23350 0 top S1-7-14 "CONNECTOR-2-1" "unknown" 3775 24850 0 top S1-8-0 "CONNECTOR-2-1" "unknown" 4275 3850 0 top S1-8-1 "CONNECTOR-2-1" "unknown" 4275 5350 0 top S1-8-2 "CONNECTOR-2-1" "unknown" 4275 6850 0 top S1-8-3 "CONNECTOR-2-1" "unknown" 4275 8350 0 top S1-8-4 "CONNECTOR-2-1" "unknown" 4275 9850 0 top S1-8-5 "CONNECTOR-2-1" "unknown" 4275 11350 0 top S1-8-6 "CONNECTOR-2-1" "unknown" 4275 12850 0 top S1-8-7 "CONNECTOR-2-1" "unknown" 4275 14350 0 top S1-8-8 "CONNECTOR-2-1" "unknown" 4275 15850 0 top S1-8-9 "CONNECTOR-2-1" "unknown" 4275 17350 0 top S1-8-10 "CONNECTOR-2-1" "unknown" 4275 18850 0 top S1-8-11 "CONNECTOR-2-1" "unknown" 4275 20350 0 top S1-8-12 "CONNECTOR-2-1" "unknown" 4275 21850 0 top S1-8-13 "CONNECTOR-2-1" "unknown" 4275 23350 0 top S1-8-14 "CONNECTOR-2-1" "unknown" 4275 24850 0 top S1-9-0 "CONNECTOR-2-1" "unknown" 4775 3850 0 top S1-9-1 "CONNECTOR-2-1" "unknown" 4775 5350 0 top S1-9-2 "CONNECTOR-2-1" "unknown" 4775 6850 0 top S1-9-3 "CONNECTOR-2-1" "unknown" 4775 8350 0 top S1-9-4 "CONNECTOR-2-1" "unknown" 4775 9850 0 top S1-9-5 "CONNECTOR-2-1" "unknown" 4775 11350 0 top S1-9-6 "CONNECTOR-2-1" "unknown" 4775 12850 0 top S1-9-7 "CONNECTOR-2-1" "unknown" 4775 14350 0 top S1-9-8 "CONNECTOR-2-1" "unknown" 4775 15850 0 top S1-9-9 "CONNECTOR-2-1" "unknown" 4775 17350 0 top S1-9-10 "CONNECTOR-2-1" "unknown" 4775 18850 0 top S1-9-11 "CONNECTOR-2-1" "unknown" 4775 20350 0 top S1-9-12 "CONNECTOR-2-1" "unknown" 4775 21850 0 top S1-9-13 "CONNECTOR-2-1" "unknown" 4775 23350 0 top S1-9-14 "CONNECTOR-2-1" "unknown" 4775 24850 0 top S1-10-0 "CONNECTOR-2-1" "unknown" 5275 3850 0 top S1-10-1 "CONNECTOR-2-1" "unknown" 5275 5350 0 top S1-10-2 "CONNECTOR-2-1" "unknown" 5275 6850 0 top S1-10-3 "CONNECTOR-2-1" "unknown" 5275 8350 0 top S1-10-4 "CONNECTOR-2-1" "unknown" 5275 9850 0 top S1-10-5 "CONNECTOR-2-1" "unknown" 5275 11350 0 top S1-10-6 "CONNECTOR-2-1" "unknown" 5275 12850 0 top S1-10-7 "CONNECTOR-2-1" "unknown" 5275 14350 0 top S1-10-8 "CONNECTOR-2-1" "unknown" 5275 15850 0 top S1-10-9 "CONNECTOR-2-1" "unknown" 5275 17350 0 top S1-10-10 "CONNECTOR-2-1" "unknown" 5275 18850 0 top S1-10-11 "CONNECTOR-2-1" "unknown" 5275 20350 0 top S1-10-12 "CONNECTOR-2-1" "unknown" 5275 21850 0 top S1-10-13 "CONNECTOR-2-1" "unknown" 5275 23350 0 top S1-10-14 "CONNECTOR-2-1" "unknown" 5275 24850 0 top S1-11-0 "CONNECTOR-2-1" "unknown" 5775 3850 0 top S1-11-1 "CONNECTOR-2-1" "unknown" 5775 5350 0 top S1-11-2 "CONNECTOR-2-1" "unknown" 5775 6850 0 top S1-11-3 "CONNECTOR-2-1" "unknown" 5775 8350 0 top S1-11-4 "CONNECTOR-2-1" "unknown" 5775 9850 0 top S1-11-5 "CONNECTOR-2-1" "unknown" 5775 11350 0 top S1-11-6 "CONNECTOR-2-1" "unknown" 5775 12850 0 top S1-11-7 "CONNECTOR-2-1" "unknown" 5775 14350 0 top S1-11-8 "CONNECTOR-2-1" "unknown" 5775 15850 0 top S1-11-9 "CONNECTOR-2-1" "unknown" 5775 17350 0 top S1-11-10 "CONNECTOR-2-1" "unknown" 5775 18850 0 top S1-11-11 "CONNECTOR-2-1" "unknown" 5775 20350 0 top S1-11-12 "CONNECTOR-2-1" "unknown" 5775 21850 0 top S1-11-13 "CONNECTOR-2-1" "unknown" 5775 23350 0 top S1-11-14 "CONNECTOR-2-1" "unknown" 5775 24850 0 top S1-12-0 "CONNECTOR-2-1" "unknown" 6275 3850 0 top S1-12-1 "CONNECTOR-2-1" "unknown" 6275 5350 0 top S1-12-2 "CONNECTOR-2-1" "unknown" 6275 6850 0 top S1-12-3 "CONNECTOR-2-1" "unknown" 6275 8350 0 top S1-12-4 "CONNECTOR-2-1" "unknown" 6275 9850 0 top S1-12-5 "CONNECTOR-2-1" "unknown" 6275 11350 0 top S1-12-6 "CONNECTOR-2-1" "unknown" 6275 12850 0 top S1-12-7 "CONNECTOR-2-1" "unknown" 6275 14350 0 top S1-12-8 "CONNECTOR-2-1" "unknown" 6275 15850 0 top S1-12-9 "CONNECTOR-2-1" "unknown" 6275 17350 0 top S1-12-10 "CONNECTOR-2-1" "unknown" 6275 18850 0 top S1-12-11 "CONNECTOR-2-1" "unknown" 6275 20350 0 top S1-12-12 "CONNECTOR-2-1" "unknown" 6275 21850 0 top S1-12-13 "CONNECTOR-2-1" "unknown" 6275 23350 0 top S1-12-14 "CONNECTOR-2-1" "unknown" 6275 24850 0 top S1-13-0 "CONNECTOR-2-1" "unknown" 6775 3850 0 top S1-13-1 "CONNECTOR-2-1" "unknown" 6775 5350 0 top S1-13-2 "CONNECTOR-2-1" "unknown" 6775 6850 0 top S1-13-3 "CONNECTOR-2-1" "unknown" 6775 8350 0 top S1-13-4 "CONNECTOR-2-1" "unknown" 6775 9850 0 top S1-13-5 "CONNECTOR-2-1" "unknown" 6775 11350 0 top S1-13-6 "CONNECTOR-2-1" "unknown" 6775 12850 0 top S1-13-7 "CONNECTOR-2-1" "unknown" 6775 14350 0 top S1-13-8 "CONNECTOR-2-1" "unknown" 6775 15850 0 top S1-13-9 "CONNECTOR-2-1" "unknown" 6775 17350 0 top S1-13-10 "CONNECTOR-2-1" "unknown" 6775 18850 0 top S1-13-11 "CONNECTOR-2-1" "unknown" 6775 20350 0 top S1-13-12 "CONNECTOR-2-1" "unknown" 6775 21850 0 top S1-13-13 "CONNECTOR-2-1" "unknown" 6775 23350 0 top S1-13-14 "CONNECTOR-2-1" "unknown" 6775 24850 0 top S1-14-0 "CONNECTOR-2-1" "unknown" 7275 3850 0 top S1-14-1 "CONNECTOR-2-1" "unknown" 7275 5350 0 top S1-14-2 "CONNECTOR-2-1" "unknown" 7275 6850 0 top S1-14-3 "CONNECTOR-2-1" "unknown" 7275 8350 0 top S1-14-4 "CONNECTOR-2-1" "unknown" 7275 9850 0 top S1-14-5 "CONNECTOR-2-1" "unknown" 7275 11350 0 top S1-14-6 "CONNECTOR-2-1" "unknown" 7275 12850 0 top S1-14-7 "CONNECTOR-2-1" "unknown" 7275 14350 0 top S1-14-8 "CONNECTOR-2-1" "unknown" 7275 15850 0 top S1-14-9 "CONNECTOR-2-1" "unknown" 7275 17350 0 top S1-14-10 "CONNECTOR-2-1" "unknown" 7275 18850 0 top S1-14-11 "CONNECTOR-2-1" "unknown" 7275 20350 0 top S1-14-12 "CONNECTOR-2-1" "unknown" 7275 21850 0 top S1-14-13 "CONNECTOR-2-1" "unknown" 7275 23350 0 top S1-14-14 "CONNECTOR-2-1" "unknown" 7275 24850 0 top D3-0-0 "CONNECTOR-2-1" "unknown" 750.00 3350.00 0 top D3-0-1 "CONNECTOR-2-1" "unknown" 750 4850 0 top D3-0-2 "CONNECTOR-2-1" "unknown" 750 6350 0 top D3-0-3 "CONNECTOR-2-1" "unknown" 750 7850 0 top D3-0-4 "CONNECTOR-2-1" "unknown" 750 9350 0 top D3-0-5 "CONNECTOR-2-1" "unknown" 750 10850 0 top D3-0-6 "CONNECTOR-2-1" "unknown" 750 12350 0 top D3-0-7 "CONNECTOR-2-1" "unknown" 750 13850 0 top D3-0-8 "CONNECTOR-2-1" "unknown" 750 15350 0 top D3-0-9 "CONNECTOR-2-1" "unknown" 750 16850 0 top D3-0-10 "CONNECTOR-2-1" "unknown" 750 18350 0 top D3-0-11 "CONNECTOR-2-1" "unknown" 750 19850 0 top D3-0-12 "CONNECTOR-2-1" "unknown" 750 21350 0 top D3-0-13 "CONNECTOR-2-1" "unknown" 750 22850 0 top D3-0-14 "CONNECTOR-2-1" "unknown" 750 24350 0 top D3-1-0 "CONNECTOR-2-1" "unknown" 1250 3350 0 top D3-1-1 "CONNECTOR-2-1" "unknown" 1250 4850 0 top D3-1-2 "CONNECTOR-2-1" "unknown" 1250 6350 0 top D3-1-3 "CONNECTOR-2-1" "unknown" 1250 7850 0 top D3-1-4 "CONNECTOR-2-1" "unknown" 1250 9350 0 top D3-1-5 "CONNECTOR-2-1" "unknown" 1250 10850 0 top D3-1-6 "CONNECTOR-2-1" "unknown" 1250 12350 0 top D3-1-7 "CONNECTOR-2-1" "unknown" 1250 13850 0 top D3-1-8 "CONNECTOR-2-1" "unknown" 1250 15350 0 top D3-1-9 "CONNECTOR-2-1" "unknown" 1250 16850 0 top D3-1-10 "CONNECTOR-2-1" "unknown" 1250 18350 0 top D3-1-11 "CONNECTOR-2-1" "unknown" 1250 19850 0 top D3-1-12 "CONNECTOR-2-1" "unknown" 1250 21350 0 top D3-1-13 "CONNECTOR-2-1" "unknown" 1250 22850 0 top D3-1-14 "CONNECTOR-2-1" "unknown" 1250 24350 0 top D3-2-0 "CONNECTOR-2-1" "unknown" 1750 3350 0 top D3-2-1 "CONNECTOR-2-1" "unknown" 1750 4850 0 top D3-2-2 "CONNECTOR-2-1" "unknown" 1750 6350 0 top D3-2-3 "CONNECTOR-2-1" "unknown" 1750 7850 0 top D3-2-4 "CONNECTOR-2-1" "unknown" 1750 9350 0 top D3-2-5 "CONNECTOR-2-1" "unknown" 1750 10850 0 top D3-2-6 "CONNECTOR-2-1" "unknown" 1750 12350 0 top D3-2-7 "CONNECTOR-2-1" "unknown" 1750 13850 0 top D3-2-8 "CONNECTOR-2-1" "unknown" 1750 15350 0 top D3-2-9 "CONNECTOR-2-1" "unknown" 1750 16850 0 top D3-2-10 "CONNECTOR-2-1" "unknown" 1750 18350 0 top D3-2-11 "CONNECTOR-2-1" "unknown" 1750 19850 0 top D3-2-12 "CONNECTOR-2-1" "unknown" 1750 21350 0 top D3-2-13 "CONNECTOR-2-1" "unknown" 1750 22850 0 top D3-2-14 "CONNECTOR-2-1" "unknown" 1750 24350 0 top D3-3-0 "CONNECTOR-2-1" "unknown" 2250 3350 0 top D3-3-1 "CONNECTOR-2-1" "unknown" 2250 4850 0 top D3-3-2 "CONNECTOR-2-1" "unknown" 2250 6350 0 top D3-3-3 "CONNECTOR-2-1" "unknown" 2250 7850 0 top D3-3-4 "CONNECTOR-2-1" "unknown" 2250 9350 0 top D3-3-5 "CONNECTOR-2-1" "unknown" 2250 10850 0 top D3-3-6 "CONNECTOR-2-1" "unknown" 2250 12350 0 top D3-3-7 "CONNECTOR-2-1" "unknown" 2250 13850 0 top D3-3-8 "CONNECTOR-2-1" "unknown" 2250 15350 0 top D3-3-9 "CONNECTOR-2-1" "unknown" 2250 16850 0 top D3-3-10 "CONNECTOR-2-1" "unknown" 2250 18350 0 top D3-3-11 "CONNECTOR-2-1" "unknown" 2250 19850 0 top D3-3-12 "CONNECTOR-2-1" "unknown" 2250 21350 0 top D3-3-13 "CONNECTOR-2-1" "unknown" 2250 22850 0 top D3-3-14 "CONNECTOR-2-1" "unknown" 2250 24350 0 top D3-4-0 "CONNECTOR-2-1" "unknown" 2750 3350 0 top D3-4-1 "CONNECTOR-2-1" "unknown" 2750 4850 0 top D3-4-2 "CONNECTOR-2-1" "unknown" 2750 6350 0 top D3-4-3 "CONNECTOR-2-1" "unknown" 2750 7850 0 top D3-4-4 "CONNECTOR-2-1" "unknown" 2750 9350 0 top D3-4-5 "CONNECTOR-2-1" "unknown" 2750 10850 0 top D3-4-6 "CONNECTOR-2-1" "unknown" 2750 12350 0 top D3-4-7 "CONNECTOR-2-1" "unknown" 2750 13850 0 top D3-4-8 "CONNECTOR-2-1" "unknown" 2750 15350 0 top D3-4-9 "CONNECTOR-2-1" "unknown" 2750 16850 0 top D3-4-10 "CONNECTOR-2-1" "unknown" 2750 18350 0 top D3-4-11 "CONNECTOR-2-1" "unknown" 2750 19850 0 top D3-4-12 "CONNECTOR-2-1" "unknown" 2750 21350 0 top D3-4-13 "CONNECTOR-2-1" "unknown" 2750 22850 0 top D3-4-14 "CONNECTOR-2-1" "unknown" 2750 24350 0 top D3-5-0 "CONNECTOR-2-1" "unknown" 3250 3350 0 top D3-5-1 "CONNECTOR-2-1" "unknown" 3250 4850 0 top D3-5-2 "CONNECTOR-2-1" "unknown" 3250 6350 0 top D3-5-3 "CONNECTOR-2-1" "unknown" 3250 7850 0 top D3-5-4 "CONNECTOR-2-1" "unknown" 3250 9350 0 top D3-5-5 "CONNECTOR-2-1" "unknown" 3250 10850 0 top D3-5-6 "CONNECTOR-2-1" "unknown" 3250 12350 0 top D3-5-7 "CONNECTOR-2-1" "unknown" 3250 13850 0 top D3-5-8 "CONNECTOR-2-1" "unknown" 3250 15350 0 top D3-5-9 "CONNECTOR-2-1" "unknown" 3250 16850 0 top D3-5-10 "CONNECTOR-2-1" "unknown" 3250 18350 0 top D3-5-11 "CONNECTOR-2-1" "unknown" 3250 19850 0 top D3-5-12 "CONNECTOR-2-1" "unknown" 3250 21350 0 top D3-5-13 "CONNECTOR-2-1" "unknown" 3250 22850 0 top D3-5-14 "CONNECTOR-2-1" "unknown" 3250 24350 0 top D3-6-0 "CONNECTOR-2-1" "unknown" 3750 3350 0 top D3-6-1 "CONNECTOR-2-1" "unknown" 3750 4850 0 top D3-6-2 "CONNECTOR-2-1" "unknown" 3750 6350 0 top D3-6-3 "CONNECTOR-2-1" "unknown" 3750 7850 0 top D3-6-4 "CONNECTOR-2-1" "unknown" 3750 9350 0 top D3-6-5 "CONNECTOR-2-1" "unknown" 3750 10850 0 top D3-6-6 "CONNECTOR-2-1" "unknown" 3750 12350 0 top D3-6-7 "CONNECTOR-2-1" "unknown" 3750 13850 0 top D3-6-8 "CONNECTOR-2-1" "unknown" 3750 15350 0 top D3-6-9 "CONNECTOR-2-1" "unknown" 3750 16850 0 top D3-6-10 "CONNECTOR-2-1" "unknown" 3750 18350 0 top D3-6-11 "CONNECTOR-2-1" "unknown" 3750 19850 0 top D3-6-12 "CONNECTOR-2-1" "unknown" 3750 21350 0 top D3-6-13 "CONNECTOR-2-1" "unknown" 3750 22850 0 top D3-6-14 "CONNECTOR-2-1" "unknown" 3750 24350 0 top D3-7-0 "CONNECTOR-2-1" "unknown" 4250 3350 0 top D3-7-1 "CONNECTOR-2-1" "unknown" 4250 4850 0 top D3-7-2 "CONNECTOR-2-1" "unknown" 4250 6350 0 top D3-7-3 "CONNECTOR-2-1" "unknown" 4250 7850 0 top D3-7-4 "CONNECTOR-2-1" "unknown" 4250 9350 0 top D3-7-5 "CONNECTOR-2-1" "unknown" 4250 10850 0 top D3-7-6 "CONNECTOR-2-1" "unknown" 4250 12350 0 top D3-7-7 "CONNECTOR-2-1" "unknown" 4250 13850 0 top D3-7-8 "CONNECTOR-2-1" "unknown" 4250 15350 0 top D3-7-9 "CONNECTOR-2-1" "unknown" 4250 16850 0 top D3-7-10 "CONNECTOR-2-1" "unknown" 4250 18350 0 top D3-7-11 "CONNECTOR-2-1" "unknown" 4250 19850 0 top D3-7-12 "CONNECTOR-2-1" "unknown" 4250 21350 0 top D3-7-13 "CONNECTOR-2-1" "unknown" 4250 22850 0 top D3-7-14 "CONNECTOR-2-1" "unknown" 4250 24350 0 top D3-8-0 "CONNECTOR-2-1" "unknown" 4750 3350 0 top D3-8-1 "CONNECTOR-2-1" "unknown" 4750 4850 0 top D3-8-2 "CONNECTOR-2-1" "unknown" 4750 6350 0 top D3-8-3 "CONNECTOR-2-1" "unknown" 4750 7850 0 top D3-8-4 "CONNECTOR-2-1" "unknown" 4750 9350 0 top D3-8-5 "CONNECTOR-2-1" "unknown" 4750 10850 0 top D3-8-6 "CONNECTOR-2-1" "unknown" 4750 12350 0 top D3-8-7 "CONNECTOR-2-1" "unknown" 4750 13850 0 top D3-8-8 "CONNECTOR-2-1" "unknown" 4750 15350 0 top D3-8-9 "CONNECTOR-2-1" "unknown" 4750 16850 0 top D3-8-10 "CONNECTOR-2-1" "unknown" 4750 18350 0 top D3-8-11 "CONNECTOR-2-1" "unknown" 4750 19850 0 top D3-8-12 "CONNECTOR-2-1" "unknown" 4750 21350 0 top D3-8-13 "CONNECTOR-2-1" "unknown" 4750 22850 0 top D3-8-14 "CONNECTOR-2-1" "unknown" 4750 24350 0 top D3-9-0 "CONNECTOR-2-1" "unknown" 5250 3350 0 top D3-9-1 "CONNECTOR-2-1" "unknown" 5250 4850 0 top D3-9-2 "CONNECTOR-2-1" "unknown" 5250 6350 0 top D3-9-3 "CONNECTOR-2-1" "unknown" 5250 7850 0 top D3-9-4 "CONNECTOR-2-1" "unknown" 5250 9350 0 top D3-9-5 "CONNECTOR-2-1" "unknown" 5250 10850 0 top D3-9-6 "CONNECTOR-2-1" "unknown" 5250 12350 0 top D3-9-7 "CONNECTOR-2-1" "unknown" 5250 13850 0 top D3-9-8 "CONNECTOR-2-1" "unknown" 5250 15350 0 top D3-9-9 "CONNECTOR-2-1" "unknown" 5250 16850 0 top D3-9-10 "CONNECTOR-2-1" "unknown" 5250 18350 0 top D3-9-11 "CONNECTOR-2-1" "unknown" 5250 19850 0 top D3-9-12 "CONNECTOR-2-1" "unknown" 5250 21350 0 top D3-9-13 "CONNECTOR-2-1" "unknown" 5250 22850 0 top D3-9-14 "CONNECTOR-2-1" "unknown" 5250 24350 0 top D3-10-0 "CONNECTOR-2-1" "unknown" 5750 3350 0 top D3-10-1 "CONNECTOR-2-1" "unknown" 5750 4850 0 top D3-10-2 "CONNECTOR-2-1" "unknown" 5750 6350 0 top D3-10-3 "CONNECTOR-2-1" "unknown" 5750 7850 0 top D3-10-4 "CONNECTOR-2-1" "unknown" 5750 9350 0 top D3-10-5 "CONNECTOR-2-1" "unknown" 5750 10850 0 top D3-10-6 "CONNECTOR-2-1" "unknown" 5750 12350 0 top D3-10-7 "CONNECTOR-2-1" "unknown" 5750 13850 0 top D3-10-8 "CONNECTOR-2-1" "unknown" 5750 15350 0 top D3-10-9 "CONNECTOR-2-1" "unknown" 5750 16850 0 top D3-10-10 "CONNECTOR-2-1" "unknown" 5750 18350 0 top D3-10-11 "CONNECTOR-2-1" "unknown" 5750 19850 0 top D3-10-12 "CONNECTOR-2-1" "unknown" 5750 21350 0 top D3-10-13 "CONNECTOR-2-1" "unknown" 5750 22850 0 top D3-10-14 "CONNECTOR-2-1" "unknown" 5750 24350 0 top D3-11-0 "CONNECTOR-2-1" "unknown" 6250 3350 0 top D3-11-1 "CONNECTOR-2-1" "unknown" 6250 4850 0 top D3-11-2 "CONNECTOR-2-1" "unknown" 6250 6350 0 top D3-11-3 "CONNECTOR-2-1" "unknown" 6250 7850 0 top D3-11-4 "CONNECTOR-2-1" "unknown" 6250 9350 0 top D3-11-5 "CONNECTOR-2-1" "unknown" 6250 10850 0 top D3-11-6 "CONNECTOR-2-1" "unknown" 6250 12350 0 top D3-11-7 "CONNECTOR-2-1" "unknown" 6250 13850 0 top D3-11-8 "CONNECTOR-2-1" "unknown" 6250 15350 0 top D3-11-9 "CONNECTOR-2-1" "unknown" 6250 16850 0 top D3-11-10 "CONNECTOR-2-1" "unknown" 6250 18350 0 top D3-11-11 "CONNECTOR-2-1" "unknown" 6250 19850 0 top D3-11-12 "CONNECTOR-2-1" "unknown" 6250 21350 0 top D3-11-13 "CONNECTOR-2-1" "unknown" 6250 22850 0 top D3-11-14 "CONNECTOR-2-1" "unknown" 6250 24350 0 top D3-12-0 "CONNECTOR-2-1" "unknown" 6750 3350 0 top D3-12-1 "CONNECTOR-2-1" "unknown" 6750 4850 0 top D3-12-2 "CONNECTOR-2-1" "unknown" 6750 6350 0 top D3-12-3 "CONNECTOR-2-1" "unknown" 6750 7850 0 top D3-12-4 "CONNECTOR-2-1" "unknown" 6750 9350 0 top D3-12-5 "CONNECTOR-2-1" "unknown" 6750 10850 0 top D3-12-6 "CONNECTOR-2-1" "unknown" 6750 12350 0 top D3-12-7 "CONNECTOR-2-1" "unknown" 6750 13850 0 top D3-12-8 "CONNECTOR-2-1" "unknown" 6750 15350 0 top D3-12-9 "CONNECTOR-2-1" "unknown" 6750 16850 0 top D3-12-10 "CONNECTOR-2-1" "unknown" 6750 18350 0 top D3-12-11 "CONNECTOR-2-1" "unknown" 6750 19850 0 top D3-12-12 "CONNECTOR-2-1" "unknown" 6750 21350 0 top D3-12-13 "CONNECTOR-2-1" "unknown" 6750 22850 0 top D3-12-14 "CONNECTOR-2-1" "unknown" 6750 24350 0 top D3-13-0 "CONNECTOR-2-1" "unknown" 7250 3350 0 top D3-13-1 "CONNECTOR-2-1" "unknown" 7250 4850 0 top D3-13-2 "CONNECTOR-2-1" "unknown" 7250 6350 0 top D3-13-3 "CONNECTOR-2-1" "unknown" 7250 7850 0 top D3-13-4 "CONNECTOR-2-1" "unknown" 7250 9350 0 top D3-13-5 "CONNECTOR-2-1" "unknown" 7250 10850 0 top D3-13-6 "CONNECTOR-2-1" "unknown" 7250 12350 0 top D3-13-7 "CONNECTOR-2-1" "unknown" 7250 13850 0 top D3-13-8 "CONNECTOR-2-1" "unknown" 7250 15350 0 top D3-13-9 "CONNECTOR-2-1" "unknown" 7250 16850 0 top D3-13-10 "CONNECTOR-2-1" "unknown" 7250 18350 0 top D3-13-11 "CONNECTOR-2-1" "unknown" 7250 19850 0 top D3-13-12 "CONNECTOR-2-1" "unknown" 7250 21350 0 top D3-13-13 "CONNECTOR-2-1" "unknown" 7250 22850 0 top D3-13-14 "CONNECTOR-2-1" "unknown" 7250 24350 0 top D3-14-0 "CONNECTOR-2-1" "unknown" 7750 3350 0 top D3-14-1 "CONNECTOR-2-1" "unknown" 7750 4850 0 top D3-14-2 "CONNECTOR-2-1" "unknown" 7750 6350 0 top D3-14-3 "CONNECTOR-2-1" "unknown" 7750 7850 0 top D3-14-4 "CONNECTOR-2-1" "unknown" 7750 9350 0 top D3-14-5 "CONNECTOR-2-1" "unknown" 7750 10850 0 top D3-14-6 "CONNECTOR-2-1" "unknown" 7750 12350 0 top D3-14-7 "CONNECTOR-2-1" "unknown" 7750 13850 0 top D3-14-8 "CONNECTOR-2-1" "unknown" 7750 15350 0 top D3-14-9 "CONNECTOR-2-1" "unknown" 7750 16850 0 top D3-14-10 "CONNECTOR-2-1" "unknown" 7750 18350 0 top D3-14-11 "CONNECTOR-2-1" "unknown" 7750 19850 0 top D3-14-12 "CONNECTOR-2-1" "unknown" 7750 21350 0 top D3-14-13 "CONNECTOR-2-1" "unknown" 7750 22850 0 top D3-14-14 "CONNECTOR-2-1" "unknown" 7750 24350 0 top U4-0-0 "SO16" "unknown" 1500.00 3525.00 90 bottom U4-0-1 "SO16" "unknown" 1500 5025 90 bottom U4-0-2 "SO16" "unknown" 1500 6525 90 bottom U4-0-3 "SO16" "unknown" 1500 8025 90 bottom U4-0-4 "SO16" "unknown" 1500 9525 90 bottom U4-0-5 "SO16" "unknown" 1500 11025 90 bottom U4-0-6 "SO16" "unknown" 1500 12525 90 bottom U4-0-7 "SO16" "unknown" 1500 14025 90 bottom U4-0-8 "SO16" "unknown" 1500 15525 90 bottom U4-0-9 "SO16" "unknown" 1500 17025 90 bottom U4-0-10 "SO16" "unknown" 1500 18525 90 bottom U4-0-11 "SO16" "unknown" 1500 20025 90 bottom U4-0-12 "SO16" "unknown" 1500 21525 90 bottom U4-0-13 "SO16" "unknown" 1500 23025 90 bottom U4-0-14 "SO16" "unknown" 1500 24525 90 bottom U4-1-0 "SO16" "unknown" 2000 3525 90 bottom U4-1-1 "SO16" "unknown" 2000 5025 90 bottom U4-1-2 "SO16" "unknown" 2000 6525 90 bottom U4-1-3 "SO16" "unknown" 2000 8025 90 bottom U4-1-4 "SO16" "unknown" 2000 9525 90 bottom U4-1-5 "SO16" "unknown" 2000 11025 90 bottom U4-1-6 "SO16" "unknown" 2000 12525 90 bottom U4-1-7 "SO16" "unknown" 2000 14025 90 bottom U4-1-8 "SO16" "unknown" 2000 15525 90 bottom U4-1-9 "SO16" "unknown" 2000 17025 90 bottom U4-1-10 "SO16" "unknown" 2000 18525 90 bottom U4-1-11 "SO16" "unknown" 2000 20025 90 bottom U4-1-12 "SO16" "unknown" 2000 21525 90 bottom U4-1-13 "SO16" "unknown" 2000 23025 90 bottom U4-1-14 "SO16" "unknown" 2000 24525 90 bottom U4-2-0 "SO16" "unknown" 2500 3525 90 bottom U4-2-1 "SO16" "unknown" 2500 5025 90 bottom U4-2-2 "SO16" "unknown" 2500 6525 90 bottom U4-2-3 "SO16" "unknown" 2500 8025 90 bottom U4-2-4 "SO16" "unknown" 2500 9525 90 bottom U4-2-5 "SO16" "unknown" 2500 11025 90 bottom U4-2-6 "SO16" "unknown" 2500 12525 90 bottom U4-2-7 "SO16" "unknown" 2500 14025 90 bottom U4-2-8 "SO16" "unknown" 2500 15525 90 bottom U4-2-9 "SO16" "unknown" 2500 17025 90 bottom U4-2-10 "SO16" "unknown" 2500 18525 90 bottom U4-2-11 "SO16" "unknown" 2500 20025 90 bottom U4-2-12 "SO16" "unknown" 2500 21525 90 bottom U4-2-13 "SO16" "unknown" 2500 23025 90 bottom U4-2-14 "SO16" "unknown" 2500 24525 90 bottom U4-3-0 "SO16" "unknown" 3000 3525 90 bottom U4-3-1 "SO16" "unknown" 3000 5025 90 bottom U4-3-2 "SO16" "unknown" 3000 6525 90 bottom U4-3-3 "SO16" "unknown" 3000 8025 90 bottom U4-3-4 "SO16" "unknown" 3000 9525 90 bottom U4-3-5 "SO16" "unknown" 3000 11025 90 bottom U4-3-6 "SO16" "unknown" 3000 12525 90 bottom U4-3-7 "SO16" "unknown" 3000 14025 90 bottom U4-3-8 "SO16" "unknown" 3000 15525 90 bottom U4-3-9 "SO16" "unknown" 3000 17025 90 bottom U4-3-10 "SO16" "unknown" 3000 18525 90 bottom U4-3-11 "SO16" "unknown" 3000 20025 90 bottom U4-3-12 "SO16" "unknown" 3000 21525 90 bottom U4-3-13 "SO16" "unknown" 3000 23025 90 bottom U4-3-14 "SO16" "unknown" 3000 24525 90 bottom U4-4-0 "SO16" "unknown" 3500 3525 90 bottom U4-4-1 "SO16" "unknown" 3500 5025 90 bottom U4-4-2 "SO16" "unknown" 3500 6525 90 bottom U4-4-3 "SO16" "unknown" 3500 8025 90 bottom U4-4-4 "SO16" "unknown" 3500 9525 90 bottom U4-4-5 "SO16" "unknown" 3500 11025 90 bottom U4-4-6 "SO16" "unknown" 3500 12525 90 bottom U4-4-7 "SO16" "unknown" 3500 14025 90 bottom U4-4-8 "SO16" "unknown" 3500 15525 90 bottom U4-4-9 "SO16" "unknown" 3500 17025 90 bottom U4-4-10 "SO16" "unknown" 3500 18525 90 bottom U4-4-11 "SO16" "unknown" 3500 20025 90 bottom U4-4-12 "SO16" "unknown" 3500 21525 90 bottom U4-4-13 "SO16" "unknown" 3500 23025 90 bottom U4-4-14 "SO16" "unknown" 3500 24525 90 bottom U4-5-0 "SO16" "unknown" 4000 3525 90 bottom U4-5-1 "SO16" "unknown" 4000 5025 90 bottom U4-5-2 "SO16" "unknown" 4000 6525 90 bottom U4-5-3 "SO16" "unknown" 4000 8025 90 bottom U4-5-4 "SO16" "unknown" 4000 9525 90 bottom U4-5-5 "SO16" "unknown" 4000 11025 90 bottom U4-5-6 "SO16" "unknown" 4000 12525 90 bottom U4-5-7 "SO16" "unknown" 4000 14025 90 bottom U4-5-8 "SO16" "unknown" 4000 15525 90 bottom U4-5-9 "SO16" "unknown" 4000 17025 90 bottom U4-5-10 "SO16" "unknown" 4000 18525 90 bottom U4-5-11 "SO16" "unknown" 4000 20025 90 bottom U4-5-12 "SO16" "unknown" 4000 21525 90 bottom U4-5-13 "SO16" "unknown" 4000 23025 90 bottom U4-5-14 "SO16" "unknown" 4000 24525 90 bottom U4-6-0 "SO16" "unknown" 4500 3525 90 bottom U4-6-1 "SO16" "unknown" 4500 5025 90 bottom U4-6-2 "SO16" "unknown" 4500 6525 90 bottom U4-6-3 "SO16" "unknown" 4500 8025 90 bottom U4-6-4 "SO16" "unknown" 4500 9525 90 bottom U4-6-5 "SO16" "unknown" 4500 11025 90 bottom U4-6-6 "SO16" "unknown" 4500 12525 90 bottom U4-6-7 "SO16" "unknown" 4500 14025 90 bottom U4-6-8 "SO16" "unknown" 4500 15525 90 bottom U4-6-9 "SO16" "unknown" 4500 17025 90 bottom U4-6-10 "SO16" "unknown" 4500 18525 90 bottom U4-6-11 "SO16" "unknown" 4500 20025 90 bottom U4-6-12 "SO16" "unknown" 4500 21525 90 bottom U4-6-13 "SO16" "unknown" 4500 23025 90 bottom U4-6-14 "SO16" "unknown" 4500 24525 90 bottom U4-7-0 "SO16" "unknown" 5000 3525 90 bottom U4-7-1 "SO16" "unknown" 5000 5025 90 bottom U4-7-2 "SO16" "unknown" 5000 6525 90 bottom U4-7-3 "SO16" "unknown" 5000 8025 90 bottom U4-7-4 "SO16" "unknown" 5000 9525 90 bottom U4-7-5 "SO16" "unknown" 5000 11025 90 bottom U4-7-6 "SO16" "unknown" 5000 12525 90 bottom U4-7-7 "SO16" "unknown" 5000 14025 90 bottom U4-7-8 "SO16" "unknown" 5000 15525 90 bottom U4-7-9 "SO16" "unknown" 5000 17025 90 bottom U4-7-10 "SO16" "unknown" 5000 18525 90 bottom U4-7-11 "SO16" "unknown" 5000 20025 90 bottom U4-7-12 "SO16" "unknown" 5000 21525 90 bottom U4-7-13 "SO16" "unknown" 5000 23025 90 bottom U4-7-14 "SO16" "unknown" 5000 24525 90 bottom U4-8-0 "SO16" "unknown" 5500 3525 90 bottom U4-8-1 "SO16" "unknown" 5500 5025 90 bottom U4-8-2 "SO16" "unknown" 5500 6525 90 bottom U4-8-3 "SO16" "unknown" 5500 8025 90 bottom U4-8-4 "SO16" "unknown" 5500 9525 90 bottom U4-8-5 "SO16" "unknown" 5500 11025 90 bottom U4-8-6 "SO16" "unknown" 5500 12525 90 bottom U4-8-7 "SO16" "unknown" 5500 14025 90 bottom U4-8-8 "SO16" "unknown" 5500 15525 90 bottom U4-8-9 "SO16" "unknown" 5500 17025 90 bottom U4-8-10 "SO16" "unknown" 5500 18525 90 bottom U4-8-11 "SO16" "unknown" 5500 20025 90 bottom U4-8-12 "SO16" "unknown" 5500 21525 90 bottom U4-8-13 "SO16" "unknown" 5500 23025 90 bottom U4-8-14 "SO16" "unknown" 5500 24525 90 bottom U4-9-0 "SO16" "unknown" 6000 3525 90 bottom U4-9-1 "SO16" "unknown" 6000 5025 90 bottom U4-9-2 "SO16" "unknown" 6000 6525 90 bottom U4-9-3 "SO16" "unknown" 6000 8025 90 bottom U4-9-4 "SO16" "unknown" 6000 9525 90 bottom U4-9-5 "SO16" "unknown" 6000 11025 90 bottom U4-9-6 "SO16" "unknown" 6000 12525 90 bottom U4-9-7 "SO16" "unknown" 6000 14025 90 bottom U4-9-8 "SO16" "unknown" 6000 15525 90 bottom U4-9-9 "SO16" "unknown" 6000 17025 90 bottom U4-9-10 "SO16" "unknown" 6000 18525 90 bottom U4-9-11 "SO16" "unknown" 6000 20025 90 bottom U4-9-12 "SO16" "unknown" 6000 21525 90 bottom U4-9-13 "SO16" "unknown" 6000 23025 90 bottom U4-9-14 "SO16" "unknown" 6000 24525 90 bottom U4-10-0 "SO16" "unknown" 6500 3525 90 bottom U4-10-1 "SO16" "unknown" 6500 5025 90 bottom U4-10-2 "SO16" "unknown" 6500 6525 90 bottom U4-10-3 "SO16" "unknown" 6500 8025 90 bottom U4-10-4 "SO16" "unknown" 6500 9525 90 bottom U4-10-5 "SO16" "unknown" 6500 11025 90 bottom U4-10-6 "SO16" "unknown" 6500 12525 90 bottom U4-10-7 "SO16" "unknown" 6500 14025 90 bottom U4-10-8 "SO16" "unknown" 6500 15525 90 bottom U4-10-9 "SO16" "unknown" 6500 17025 90 bottom U4-10-10 "SO16" "unknown" 6500 18525 90 bottom U4-10-11 "SO16" "unknown" 6500 20025 90 bottom U4-10-12 "SO16" "unknown" 6500 21525 90 bottom U4-10-13 "SO16" "unknown" 6500 23025 90 bottom U4-10-14 "SO16" "unknown" 6500 24525 90 bottom U4-11-0 "SO16" "unknown" 7000 3525 90 bottom U4-11-1 "SO16" "unknown" 7000 5025 90 bottom U4-11-2 "SO16" "unknown" 7000 6525 90 bottom U4-11-3 "SO16" "unknown" 7000 8025 90 bottom U4-11-4 "SO16" "unknown" 7000 9525 90 bottom U4-11-5 "SO16" "unknown" 7000 11025 90 bottom U4-11-6 "SO16" "unknown" 7000 12525 90 bottom U4-11-7 "SO16" "unknown" 7000 14025 90 bottom U4-11-8 "SO16" "unknown" 7000 15525 90 bottom U4-11-9 "SO16" "unknown" 7000 17025 90 bottom U4-11-10 "SO16" "unknown" 7000 18525 90 bottom U4-11-11 "SO16" "unknown" 7000 20025 90 bottom U4-11-12 "SO16" "unknown" 7000 21525 90 bottom U4-11-13 "SO16" "unknown" 7000 23025 90 bottom U4-11-14 "SO16" "unknown" 7000 24525 90 bottom U4-12-0 "SO16" "unknown" 7500 3525 90 bottom U4-12-1 "SO16" "unknown" 7500 5025 90 bottom U4-12-2 "SO16" "unknown" 7500 6525 90 bottom U4-12-3 "SO16" "unknown" 7500 8025 90 bottom U4-12-4 "SO16" "unknown" 7500 9525 90 bottom U4-12-5 "SO16" "unknown" 7500 11025 90 bottom U4-12-6 "SO16" "unknown" 7500 12525 90 bottom U4-12-7 "SO16" "unknown" 7500 14025 90 bottom U4-12-8 "SO16" "unknown" 7500 15525 90 bottom U4-12-9 "SO16" "unknown" 7500 17025 90 bottom U4-12-10 "SO16" "unknown" 7500 18525 90 bottom U4-12-11 "SO16" "unknown" 7500 20025 90 bottom U4-12-12 "SO16" "unknown" 7500 21525 90 bottom U4-12-13 "SO16" "unknown" 7500 23025 90 bottom U4-12-14 "SO16" "unknown" 7500 24525 90 bottom U4-13-0 "SO16" "unknown" 8000 3525 90 bottom U4-13-1 "SO16" "unknown" 8000 5025 90 bottom U4-13-2 "SO16" "unknown" 8000 6525 90 bottom U4-13-3 "SO16" "unknown" 8000 8025 90 bottom U4-13-4 "SO16" "unknown" 8000 9525 90 bottom U4-13-5 "SO16" "unknown" 8000 11025 90 bottom U4-13-6 "SO16" "unknown" 8000 12525 90 bottom U4-13-7 "SO16" "unknown" 8000 14025 90 bottom U4-13-8 "SO16" "unknown" 8000 15525 90 bottom U4-13-9 "SO16" "unknown" 8000 17025 90 bottom U4-13-10 "SO16" "unknown" 8000 18525 90 bottom U4-13-11 "SO16" "unknown" 8000 20025 90 bottom U4-13-12 "SO16" "unknown" 8000 21525 90 bottom U4-13-13 "SO16" "unknown" 8000 23025 90 bottom U4-13-14 "SO16" "unknown" 8000 24525 90 bottom U4-14-0 "SO16" "unknown" 8500 3525 90 bottom U4-14-1 "SO16" "unknown" 8500 5025 90 bottom U4-14-2 "SO16" "unknown" 8500 6525 90 bottom U4-14-3 "SO16" "unknown" 8500 8025 90 bottom U4-14-4 "SO16" "unknown" 8500 9525 90 bottom U4-14-5 "SO16" "unknown" 8500 11025 90 bottom U4-14-6 "SO16" "unknown" 8500 12525 90 bottom U4-14-7 "SO16" "unknown" 8500 14025 90 bottom U4-14-8 "SO16" "unknown" 8500 15525 90 bottom U4-14-9 "SO16" "unknown" 8500 17025 90 bottom U4-14-10 "SO16" "unknown" 8500 18525 90 bottom U4-14-11 "SO16" "unknown" 8500 20025 90 bottom U4-14-12 "SO16" "unknown" 8500 21525 90 bottom U4-14-13 "SO16" "unknown" 8500 23025 90 bottom U4-14-14 "SO16" "unknown" 8500 24525 90 bottom D1-0-0 "CONNECTOR-2-1" "unknown" 275.00 3350.00 0 top D1-0-1 "CONNECTOR-2-1" "unknown" 275 4850 0 top D1-0-2 "CONNECTOR-2-1" "unknown" 275 6350 0 top D1-0-3 "CONNECTOR-2-1" "unknown" 275 7850 0 top D1-0-4 "CONNECTOR-2-1" "unknown" 275 9350 0 top D1-0-5 "CONNECTOR-2-1" "unknown" 275 10850 0 top D1-0-6 "CONNECTOR-2-1" "unknown" 275 12350 0 top D1-0-7 "CONNECTOR-2-1" "unknown" 275 13850 0 top D1-0-8 "CONNECTOR-2-1" "unknown" 275 15350 0 top D1-0-9 "CONNECTOR-2-1" "unknown" 275 16850 0 top D1-0-10 "CONNECTOR-2-1" "unknown" 275 18350 0 top D1-0-11 "CONNECTOR-2-1" "unknown" 275 19850 0 top D1-0-12 "CONNECTOR-2-1" "unknown" 275 21350 0 top D1-0-13 "CONNECTOR-2-1" "unknown" 275 22850 0 top D1-0-14 "CONNECTOR-2-1" "unknown" 275 24350 0 top D1-1-0 "CONNECTOR-2-1" "unknown" 775 3350 0 top D1-1-1 "CONNECTOR-2-1" "unknown" 775 4850 0 top D1-1-2 "CONNECTOR-2-1" "unknown" 775 6350 0 top D1-1-3 "CONNECTOR-2-1" "unknown" 775 7850 0 top D1-1-4 "CONNECTOR-2-1" "unknown" 775 9350 0 top D1-1-5 "CONNECTOR-2-1" "unknown" 775 10850 0 top D1-1-6 "CONNECTOR-2-1" "unknown" 775 12350 0 top D1-1-7 "CONNECTOR-2-1" "unknown" 775 13850 0 top D1-1-8 "CONNECTOR-2-1" "unknown" 775 15350 0 top D1-1-9 "CONNECTOR-2-1" "unknown" 775 16850 0 top D1-1-10 "CONNECTOR-2-1" "unknown" 775 18350 0 top D1-1-11 "CONNECTOR-2-1" "unknown" 775 19850 0 top D1-1-12 "CONNECTOR-2-1" "unknown" 775 21350 0 top D1-1-13 "CONNECTOR-2-1" "unknown" 775 22850 0 top D1-1-14 "CONNECTOR-2-1" "unknown" 775 24350 0 top D1-2-0 "CONNECTOR-2-1" "unknown" 1275 3350 0 top D1-2-1 "CONNECTOR-2-1" "unknown" 1275 4850 0 top D1-2-2 "CONNECTOR-2-1" "unknown" 1275 6350 0 top D1-2-3 "CONNECTOR-2-1" "unknown" 1275 7850 0 top D1-2-4 "CONNECTOR-2-1" "unknown" 1275 9350 0 top D1-2-5 "CONNECTOR-2-1" "unknown" 1275 10850 0 top D1-2-6 "CONNECTOR-2-1" "unknown" 1275 12350 0 top D1-2-7 "CONNECTOR-2-1" "unknown" 1275 13850 0 top D1-2-8 "CONNECTOR-2-1" "unknown" 1275 15350 0 top D1-2-9 "CONNECTOR-2-1" "unknown" 1275 16850 0 top D1-2-10 "CONNECTOR-2-1" "unknown" 1275 18350 0 top D1-2-11 "CONNECTOR-2-1" "unknown" 1275 19850 0 top D1-2-12 "CONNECTOR-2-1" "unknown" 1275 21350 0 top D1-2-13 "CONNECTOR-2-1" "unknown" 1275 22850 0 top D1-2-14 "CONNECTOR-2-1" "unknown" 1275 24350 0 top D1-3-0 "CONNECTOR-2-1" "unknown" 1775 3350 0 top D1-3-1 "CONNECTOR-2-1" "unknown" 1775 4850 0 top D1-3-2 "CONNECTOR-2-1" "unknown" 1775 6350 0 top D1-3-3 "CONNECTOR-2-1" "unknown" 1775 7850 0 top D1-3-4 "CONNECTOR-2-1" "unknown" 1775 9350 0 top D1-3-5 "CONNECTOR-2-1" "unknown" 1775 10850 0 top D1-3-6 "CONNECTOR-2-1" "unknown" 1775 12350 0 top D1-3-7 "CONNECTOR-2-1" "unknown" 1775 13850 0 top D1-3-8 "CONNECTOR-2-1" "unknown" 1775 15350 0 top D1-3-9 "CONNECTOR-2-1" "unknown" 1775 16850 0 top D1-3-10 "CONNECTOR-2-1" "unknown" 1775 18350 0 top D1-3-11 "CONNECTOR-2-1" "unknown" 1775 19850 0 top D1-3-12 "CONNECTOR-2-1" "unknown" 1775 21350 0 top D1-3-13 "CONNECTOR-2-1" "unknown" 1775 22850 0 top D1-3-14 "CONNECTOR-2-1" "unknown" 1775 24350 0 top D1-4-0 "CONNECTOR-2-1" "unknown" 2275 3350 0 top D1-4-1 "CONNECTOR-2-1" "unknown" 2275 4850 0 top D1-4-2 "CONNECTOR-2-1" "unknown" 2275 6350 0 top D1-4-3 "CONNECTOR-2-1" "unknown" 2275 7850 0 top D1-4-4 "CONNECTOR-2-1" "unknown" 2275 9350 0 top D1-4-5 "CONNECTOR-2-1" "unknown" 2275 10850 0 top D1-4-6 "CONNECTOR-2-1" "unknown" 2275 12350 0 top D1-4-7 "CONNECTOR-2-1" "unknown" 2275 13850 0 top D1-4-8 "CONNECTOR-2-1" "unknown" 2275 15350 0 top D1-4-9 "CONNECTOR-2-1" "unknown" 2275 16850 0 top D1-4-10 "CONNECTOR-2-1" "unknown" 2275 18350 0 top D1-4-11 "CONNECTOR-2-1" "unknown" 2275 19850 0 top D1-4-12 "CONNECTOR-2-1" "unknown" 2275 21350 0 top D1-4-13 "CONNECTOR-2-1" "unknown" 2275 22850 0 top D1-4-14 "CONNECTOR-2-1" "unknown" 2275 24350 0 top D1-5-0 "CONNECTOR-2-1" "unknown" 2775 3350 0 top D1-5-1 "CONNECTOR-2-1" "unknown" 2775 4850 0 top D1-5-2 "CONNECTOR-2-1" "unknown" 2775 6350 0 top D1-5-3 "CONNECTOR-2-1" "unknown" 2775 7850 0 top D1-5-4 "CONNECTOR-2-1" "unknown" 2775 9350 0 top D1-5-5 "CONNECTOR-2-1" "unknown" 2775 10850 0 top D1-5-6 "CONNECTOR-2-1" "unknown" 2775 12350 0 top D1-5-7 "CONNECTOR-2-1" "unknown" 2775 13850 0 top D1-5-8 "CONNECTOR-2-1" "unknown" 2775 15350 0 top D1-5-9 "CONNECTOR-2-1" "unknown" 2775 16850 0 top D1-5-10 "CONNECTOR-2-1" "unknown" 2775 18350 0 top D1-5-11 "CONNECTOR-2-1" "unknown" 2775 19850 0 top D1-5-12 "CONNECTOR-2-1" "unknown" 2775 21350 0 top D1-5-13 "CONNECTOR-2-1" "unknown" 2775 22850 0 top D1-5-14 "CONNECTOR-2-1" "unknown" 2775 24350 0 top D1-6-0 "CONNECTOR-2-1" "unknown" 3275 3350 0 top D1-6-1 "CONNECTOR-2-1" "unknown" 3275 4850 0 top D1-6-2 "CONNECTOR-2-1" "unknown" 3275 6350 0 top D1-6-3 "CONNECTOR-2-1" "unknown" 3275 7850 0 top D1-6-4 "CONNECTOR-2-1" "unknown" 3275 9350 0 top D1-6-5 "CONNECTOR-2-1" "unknown" 3275 10850 0 top D1-6-6 "CONNECTOR-2-1" "unknown" 3275 12350 0 top D1-6-7 "CONNECTOR-2-1" "unknown" 3275 13850 0 top D1-6-8 "CONNECTOR-2-1" "unknown" 3275 15350 0 top D1-6-9 "CONNECTOR-2-1" "unknown" 3275 16850 0 top D1-6-10 "CONNECTOR-2-1" "unknown" 3275 18350 0 top D1-6-11 "CONNECTOR-2-1" "unknown" 3275 19850 0 top D1-6-12 "CONNECTOR-2-1" "unknown" 3275 21350 0 top D1-6-13 "CONNECTOR-2-1" "unknown" 3275 22850 0 top D1-6-14 "CONNECTOR-2-1" "unknown" 3275 24350 0 top D1-7-0 "CONNECTOR-2-1" "unknown" 3775 3350 0 top D1-7-1 "CONNECTOR-2-1" "unknown" 3775 4850 0 top D1-7-2 "CONNECTOR-2-1" "unknown" 3775 6350 0 top D1-7-3 "CONNECTOR-2-1" "unknown" 3775 7850 0 top D1-7-4 "CONNECTOR-2-1" "unknown" 3775 9350 0 top D1-7-5 "CONNECTOR-2-1" "unknown" 3775 10850 0 top D1-7-6 "CONNECTOR-2-1" "unknown" 3775 12350 0 top D1-7-7 "CONNECTOR-2-1" "unknown" 3775 13850 0 top D1-7-8 "CONNECTOR-2-1" "unknown" 3775 15350 0 top D1-7-9 "CONNECTOR-2-1" "unknown" 3775 16850 0 top D1-7-10 "CONNECTOR-2-1" "unknown" 3775 18350 0 top D1-7-11 "CONNECTOR-2-1" "unknown" 3775 19850 0 top D1-7-12 "CONNECTOR-2-1" "unknown" 3775 21350 0 top D1-7-13 "CONNECTOR-2-1" "unknown" 3775 22850 0 top D1-7-14 "CONNECTOR-2-1" "unknown" 3775 24350 0 top D1-8-0 "CONNECTOR-2-1" "unknown" 4275 3350 0 top D1-8-1 "CONNECTOR-2-1" "unknown" 4275 4850 0 top D1-8-2 "CONNECTOR-2-1" "unknown" 4275 6350 0 top D1-8-3 "CONNECTOR-2-1" "unknown" 4275 7850 0 top D1-8-4 "CONNECTOR-2-1" "unknown" 4275 9350 0 top D1-8-5 "CONNECTOR-2-1" "unknown" 4275 10850 0 top D1-8-6 "CONNECTOR-2-1" "unknown" 4275 12350 0 top D1-8-7 "CONNECTOR-2-1" "unknown" 4275 13850 0 top D1-8-8 "CONNECTOR-2-1" "unknown" 4275 15350 0 top D1-8-9 "CONNECTOR-2-1" "unknown" 4275 16850 0 top D1-8-10 "CONNECTOR-2-1" "unknown" 4275 18350 0 top D1-8-11 "CONNECTOR-2-1" "unknown" 4275 19850 0 top D1-8-12 "CONNECTOR-2-1" "unknown" 4275 21350 0 top D1-8-13 "CONNECTOR-2-1" "unknown" 4275 22850 0 top D1-8-14 "CONNECTOR-2-1" "unknown" 4275 24350 0 top D1-9-0 "CONNECTOR-2-1" "unknown" 4775 3350 0 top D1-9-1 "CONNECTOR-2-1" "unknown" 4775 4850 0 top D1-9-2 "CONNECTOR-2-1" "unknown" 4775 6350 0 top D1-9-3 "CONNECTOR-2-1" "unknown" 4775 7850 0 top D1-9-4 "CONNECTOR-2-1" "unknown" 4775 9350 0 top D1-9-5 "CONNECTOR-2-1" "unknown" 4775 10850 0 top D1-9-6 "CONNECTOR-2-1" "unknown" 4775 12350 0 top D1-9-7 "CONNECTOR-2-1" "unknown" 4775 13850 0 top D1-9-8 "CONNECTOR-2-1" "unknown" 4775 15350 0 top D1-9-9 "CONNECTOR-2-1" "unknown" 4775 16850 0 top D1-9-10 "CONNECTOR-2-1" "unknown" 4775 18350 0 top D1-9-11 "CONNECTOR-2-1" "unknown" 4775 19850 0 top D1-9-12 "CONNECTOR-2-1" "unknown" 4775 21350 0 top D1-9-13 "CONNECTOR-2-1" "unknown" 4775 22850 0 top D1-9-14 "CONNECTOR-2-1" "unknown" 4775 24350 0 top D1-10-0 "CONNECTOR-2-1" "unknown" 5275 3350 0 top D1-10-1 "CONNECTOR-2-1" "unknown" 5275 4850 0 top D1-10-2 "CONNECTOR-2-1" "unknown" 5275 6350 0 top D1-10-3 "CONNECTOR-2-1" "unknown" 5275 7850 0 top D1-10-4 "CONNECTOR-2-1" "unknown" 5275 9350 0 top D1-10-5 "CONNECTOR-2-1" "unknown" 5275 10850 0 top D1-10-6 "CONNECTOR-2-1" "unknown" 5275 12350 0 top D1-10-7 "CONNECTOR-2-1" "unknown" 5275 13850 0 top D1-10-8 "CONNECTOR-2-1" "unknown" 5275 15350 0 top D1-10-9 "CONNECTOR-2-1" "unknown" 5275 16850 0 top D1-10-10 "CONNECTOR-2-1" "unknown" 5275 18350 0 top D1-10-11 "CONNECTOR-2-1" "unknown" 5275 19850 0 top D1-10-12 "CONNECTOR-2-1" "unknown" 5275 21350 0 top D1-10-13 "CONNECTOR-2-1" "unknown" 5275 22850 0 top D1-10-14 "CONNECTOR-2-1" "unknown" 5275 24350 0 top D1-11-0 "CONNECTOR-2-1" "unknown" 5775 3350 0 top D1-11-1 "CONNECTOR-2-1" "unknown" 5775 4850 0 top D1-11-2 "CONNECTOR-2-1" "unknown" 5775 6350 0 top D1-11-3 "CONNECTOR-2-1" "unknown" 5775 7850 0 top D1-11-4 "CONNECTOR-2-1" "unknown" 5775 9350 0 top D1-11-5 "CONNECTOR-2-1" "unknown" 5775 10850 0 top D1-11-6 "CONNECTOR-2-1" "unknown" 5775 12350 0 top D1-11-7 "CONNECTOR-2-1" "unknown" 5775 13850 0 top D1-11-8 "CONNECTOR-2-1" "unknown" 5775 15350 0 top D1-11-9 "CONNECTOR-2-1" "unknown" 5775 16850 0 top D1-11-10 "CONNECTOR-2-1" "unknown" 5775 18350 0 top D1-11-11 "CONNECTOR-2-1" "unknown" 5775 19850 0 top D1-11-12 "CONNECTOR-2-1" "unknown" 5775 21350 0 top D1-11-13 "CONNECTOR-2-1" "unknown" 5775 22850 0 top D1-11-14 "CONNECTOR-2-1" "unknown" 5775 24350 0 top D1-12-0 "CONNECTOR-2-1" "unknown" 6275 3350 0 top D1-12-1 "CONNECTOR-2-1" "unknown" 6275 4850 0 top D1-12-2 "CONNECTOR-2-1" "unknown" 6275 6350 0 top D1-12-3 "CONNECTOR-2-1" "unknown" 6275 7850 0 top D1-12-4 "CONNECTOR-2-1" "unknown" 6275 9350 0 top D1-12-5 "CONNECTOR-2-1" "unknown" 6275 10850 0 top D1-12-6 "CONNECTOR-2-1" "unknown" 6275 12350 0 top D1-12-7 "CONNECTOR-2-1" "unknown" 6275 13850 0 top D1-12-8 "CONNECTOR-2-1" "unknown" 6275 15350 0 top D1-12-9 "CONNECTOR-2-1" "unknown" 6275 16850 0 top D1-12-10 "CONNECTOR-2-1" "unknown" 6275 18350 0 top D1-12-11 "CONNECTOR-2-1" "unknown" 6275 19850 0 top D1-12-12 "CONNECTOR-2-1" "unknown" 6275 21350 0 top D1-12-13 "CONNECTOR-2-1" "unknown" 6275 22850 0 top D1-12-14 "CONNECTOR-2-1" "unknown" 6275 24350 0 top D1-13-0 "CONNECTOR-2-1" "unknown" 6775 3350 0 top D1-13-1 "CONNECTOR-2-1" "unknown" 6775 4850 0 top D1-13-2 "CONNECTOR-2-1" "unknown" 6775 6350 0 top D1-13-3 "CONNECTOR-2-1" "unknown" 6775 7850 0 top D1-13-4 "CONNECTOR-2-1" "unknown" 6775 9350 0 top D1-13-5 "CONNECTOR-2-1" "unknown" 6775 10850 0 top D1-13-6 "CONNECTOR-2-1" "unknown" 6775 12350 0 top D1-13-7 "CONNECTOR-2-1" "unknown" 6775 13850 0 top D1-13-8 "CONNECTOR-2-1" "unknown" 6775 15350 0 top D1-13-9 "CONNECTOR-2-1" "unknown" 6775 16850 0 top D1-13-10 "CONNECTOR-2-1" "unknown" 6775 18350 0 top D1-13-11 "CONNECTOR-2-1" "unknown" 6775 19850 0 top D1-13-12 "CONNECTOR-2-1" "unknown" 6775 21350 0 top D1-13-13 "CONNECTOR-2-1" "unknown" 6775 22850 0 top D1-13-14 "CONNECTOR-2-1" "unknown" 6775 24350 0 top D1-14-0 "CONNECTOR-2-1" "unknown" 7275 3350 0 top D1-14-1 "CONNECTOR-2-1" "unknown" 7275 4850 0 top D1-14-2 "CONNECTOR-2-1" "unknown" 7275 6350 0 top D1-14-3 "CONNECTOR-2-1" "unknown" 7275 7850 0 top D1-14-4 "CONNECTOR-2-1" "unknown" 7275 9350 0 top D1-14-5 "CONNECTOR-2-1" "unknown" 7275 10850 0 top D1-14-6 "CONNECTOR-2-1" "unknown" 7275 12350 0 top D1-14-7 "CONNECTOR-2-1" "unknown" 7275 13850 0 top D1-14-8 "CONNECTOR-2-1" "unknown" 7275 15350 0 top D1-14-9 "CONNECTOR-2-1" "unknown" 7275 16850 0 top D1-14-10 "CONNECTOR-2-1" "unknown" 7275 18350 0 top D1-14-11 "CONNECTOR-2-1" "unknown" 7275 19850 0 top D1-14-12 "CONNECTOR-2-1" "unknown" 7275 21350 0 top D1-14-13 "CONNECTOR-2-1" "unknown" 7275 22850 0 top D1-14-14 "CONNECTOR-2-1" "unknown" 7275 24350 0 top R3-0-0 "1206" "unknown" 600.00 3375.00 90 bottom R3-0-1 "1206" "unknown" 600 4875 90 bottom R3-0-2 "1206" "unknown" 600 6375 90 bottom R3-0-3 "1206" "unknown" 600 7875 90 bottom R3-0-4 "1206" "unknown" 600 9375 90 bottom R3-0-5 "1206" "unknown" 600 10875 90 bottom R3-0-6 "1206" "unknown" 600 12375 90 bottom R3-0-7 "1206" "unknown" 600 13875 90 bottom R3-0-8 "1206" "unknown" 600 15375 90 bottom R3-0-9 "1206" "unknown" 600 16875 90 bottom R3-0-10 "1206" "unknown" 600 18375 90 bottom R3-0-11 "1206" "unknown" 600 19875 90 bottom R3-0-12 "1206" "unknown" 600 21375 90 bottom R3-0-13 "1206" "unknown" 600 22875 90 bottom R3-0-14 "1206" "unknown" 600 24375 90 bottom R3-1-0 "1206" "unknown" 1100 3375 90 bottom R3-1-1 "1206" "unknown" 1100 4875 90 bottom R3-1-2 "1206" "unknown" 1100 6375 90 bottom R3-1-3 "1206" "unknown" 1100 7875 90 bottom R3-1-4 "1206" "unknown" 1100 9375 90 bottom R3-1-5 "1206" "unknown" 1100 10875 90 bottom R3-1-6 "1206" "unknown" 1100 12375 90 bottom R3-1-7 "1206" "unknown" 1100 13875 90 bottom R3-1-8 "1206" "unknown" 1100 15375 90 bottom R3-1-9 "1206" "unknown" 1100 16875 90 bottom R3-1-10 "1206" "unknown" 1100 18375 90 bottom R3-1-11 "1206" "unknown" 1100 19875 90 bottom R3-1-12 "1206" "unknown" 1100 21375 90 bottom R3-1-13 "1206" "unknown" 1100 22875 90 bottom R3-1-14 "1206" "unknown" 1100 24375 90 bottom R3-2-0 "1206" "unknown" 1600 3375 90 bottom R3-2-1 "1206" "unknown" 1600 4875 90 bottom R3-2-2 "1206" "unknown" 1600 6375 90 bottom R3-2-3 "1206" "unknown" 1600 7875 90 bottom R3-2-4 "1206" "unknown" 1600 9375 90 bottom R3-2-5 "1206" "unknown" 1600 10875 90 bottom R3-2-6 "1206" "unknown" 1600 12375 90 bottom R3-2-7 "1206" "unknown" 1600 13875 90 bottom R3-2-8 "1206" "unknown" 1600 15375 90 bottom R3-2-9 "1206" "unknown" 1600 16875 90 bottom R3-2-10 "1206" "unknown" 1600 18375 90 bottom R3-2-11 "1206" "unknown" 1600 19875 90 bottom R3-2-12 "1206" "unknown" 1600 21375 90 bottom R3-2-13 "1206" "unknown" 1600 22875 90 bottom R3-2-14 "1206" "unknown" 1600 24375 90 bottom R3-3-0 "1206" "unknown" 2100 3375 90 bottom R3-3-1 "1206" "unknown" 2100 4875 90 bottom R3-3-2 "1206" "unknown" 2100 6375 90 bottom R3-3-3 "1206" "unknown" 2100 7875 90 bottom R3-3-4 "1206" "unknown" 2100 9375 90 bottom R3-3-5 "1206" "unknown" 2100 10875 90 bottom R3-3-6 "1206" "unknown" 2100 12375 90 bottom R3-3-7 "1206" "unknown" 2100 13875 90 bottom R3-3-8 "1206" "unknown" 2100 15375 90 bottom R3-3-9 "1206" "unknown" 2100 16875 90 bottom R3-3-10 "1206" "unknown" 2100 18375 90 bottom R3-3-11 "1206" "unknown" 2100 19875 90 bottom R3-3-12 "1206" "unknown" 2100 21375 90 bottom R3-3-13 "1206" "unknown" 2100 22875 90 bottom R3-3-14 "1206" "unknown" 2100 24375 90 bottom R3-4-0 "1206" "unknown" 2600 3375 90 bottom R3-4-1 "1206" "unknown" 2600 4875 90 bottom R3-4-2 "1206" "unknown" 2600 6375 90 bottom R3-4-3 "1206" "unknown" 2600 7875 90 bottom R3-4-4 "1206" "unknown" 2600 9375 90 bottom R3-4-5 "1206" "unknown" 2600 10875 90 bottom R3-4-6 "1206" "unknown" 2600 12375 90 bottom R3-4-7 "1206" "unknown" 2600 13875 90 bottom R3-4-8 "1206" "unknown" 2600 15375 90 bottom R3-4-9 "1206" "unknown" 2600 16875 90 bottom R3-4-10 "1206" "unknown" 2600 18375 90 bottom R3-4-11 "1206" "unknown" 2600 19875 90 bottom R3-4-12 "1206" "unknown" 2600 21375 90 bottom R3-4-13 "1206" "unknown" 2600 22875 90 bottom R3-4-14 "1206" "unknown" 2600 24375 90 bottom R3-5-0 "1206" "unknown" 3100 3375 90 bottom R3-5-1 "1206" "unknown" 3100 4875 90 bottom R3-5-2 "1206" "unknown" 3100 6375 90 bottom R3-5-3 "1206" "unknown" 3100 7875 90 bottom R3-5-4 "1206" "unknown" 3100 9375 90 bottom R3-5-5 "1206" "unknown" 3100 10875 90 bottom R3-5-6 "1206" "unknown" 3100 12375 90 bottom R3-5-7 "1206" "unknown" 3100 13875 90 bottom R3-5-8 "1206" "unknown" 3100 15375 90 bottom R3-5-9 "1206" "unknown" 3100 16875 90 bottom R3-5-10 "1206" "unknown" 3100 18375 90 bottom R3-5-11 "1206" "unknown" 3100 19875 90 bottom R3-5-12 "1206" "unknown" 3100 21375 90 bottom R3-5-13 "1206" "unknown" 3100 22875 90 bottom R3-5-14 "1206" "unknown" 3100 24375 90 bottom R3-6-0 "1206" "unknown" 3600 3375 90 bottom R3-6-1 "1206" "unknown" 3600 4875 90 bottom R3-6-2 "1206" "unknown" 3600 6375 90 bottom R3-6-3 "1206" "unknown" 3600 7875 90 bottom R3-6-4 "1206" "unknown" 3600 9375 90 bottom R3-6-5 "1206" "unknown" 3600 10875 90 bottom R3-6-6 "1206" "unknown" 3600 12375 90 bottom R3-6-7 "1206" "unknown" 3600 13875 90 bottom R3-6-8 "1206" "unknown" 3600 15375 90 bottom R3-6-9 "1206" "unknown" 3600 16875 90 bottom R3-6-10 "1206" "unknown" 3600 18375 90 bottom R3-6-11 "1206" "unknown" 3600 19875 90 bottom R3-6-12 "1206" "unknown" 3600 21375 90 bottom R3-6-13 "1206" "unknown" 3600 22875 90 bottom R3-6-14 "1206" "unknown" 3600 24375 90 bottom R3-7-0 "1206" "unknown" 4100 3375 90 bottom R3-7-1 "1206" "unknown" 4100 4875 90 bottom R3-7-2 "1206" "unknown" 4100 6375 90 bottom R3-7-3 "1206" "unknown" 4100 7875 90 bottom R3-7-4 "1206" "unknown" 4100 9375 90 bottom R3-7-5 "1206" "unknown" 4100 10875 90 bottom R3-7-6 "1206" "unknown" 4100 12375 90 bottom R3-7-7 "1206" "unknown" 4100 13875 90 bottom R3-7-8 "1206" "unknown" 4100 15375 90 bottom R3-7-9 "1206" "unknown" 4100 16875 90 bottom R3-7-10 "1206" "unknown" 4100 18375 90 bottom R3-7-11 "1206" "unknown" 4100 19875 90 bottom R3-7-12 "1206" "unknown" 4100 21375 90 bottom R3-7-13 "1206" "unknown" 4100 22875 90 bottom R3-7-14 "1206" "unknown" 4100 24375 90 bottom R3-8-0 "1206" "unknown" 4600 3375 90 bottom R3-8-1 "1206" "unknown" 4600 4875 90 bottom R3-8-2 "1206" "unknown" 4600 6375 90 bottom R3-8-3 "1206" "unknown" 4600 7875 90 bottom R3-8-4 "1206" "unknown" 4600 9375 90 bottom R3-8-5 "1206" "unknown" 4600 10875 90 bottom R3-8-6 "1206" "unknown" 4600 12375 90 bottom R3-8-7 "1206" "unknown" 4600 13875 90 bottom R3-8-8 "1206" "unknown" 4600 15375 90 bottom R3-8-9 "1206" "unknown" 4600 16875 90 bottom R3-8-10 "1206" "unknown" 4600 18375 90 bottom R3-8-11 "1206" "unknown" 4600 19875 90 bottom R3-8-12 "1206" "unknown" 4600 21375 90 bottom R3-8-13 "1206" "unknown" 4600 22875 90 bottom R3-8-14 "1206" "unknown" 4600 24375 90 bottom R3-9-0 "1206" "unknown" 5100 3375 90 bottom R3-9-1 "1206" "unknown" 5100 4875 90 bottom R3-9-2 "1206" "unknown" 5100 6375 90 bottom R3-9-3 "1206" "unknown" 5100 7875 90 bottom R3-9-4 "1206" "unknown" 5100 9375 90 bottom R3-9-5 "1206" "unknown" 5100 10875 90 bottom R3-9-6 "1206" "unknown" 5100 12375 90 bottom R3-9-7 "1206" "unknown" 5100 13875 90 bottom R3-9-8 "1206" "unknown" 5100 15375 90 bottom R3-9-9 "1206" "unknown" 5100 16875 90 bottom R3-9-10 "1206" "unknown" 5100 18375 90 bottom R3-9-11 "1206" "unknown" 5100 19875 90 bottom R3-9-12 "1206" "unknown" 5100 21375 90 bottom R3-9-13 "1206" "unknown" 5100 22875 90 bottom R3-9-14 "1206" "unknown" 5100 24375 90 bottom R3-10-0 "1206" "unknown" 5600 3375 90 bottom R3-10-1 "1206" "unknown" 5600 4875 90 bottom R3-10-2 "1206" "unknown" 5600 6375 90 bottom R3-10-3 "1206" "unknown" 5600 7875 90 bottom R3-10-4 "1206" "unknown" 5600 9375 90 bottom R3-10-5 "1206" "unknown" 5600 10875 90 bottom R3-10-6 "1206" "unknown" 5600 12375 90 bottom R3-10-7 "1206" "unknown" 5600 13875 90 bottom R3-10-8 "1206" "unknown" 5600 15375 90 bottom R3-10-9 "1206" "unknown" 5600 16875 90 bottom R3-10-10 "1206" "unknown" 5600 18375 90 bottom R3-10-11 "1206" "unknown" 5600 19875 90 bottom R3-10-12 "1206" "unknown" 5600 21375 90 bottom R3-10-13 "1206" "unknown" 5600 22875 90 bottom R3-10-14 "1206" "unknown" 5600 24375 90 bottom R3-11-0 "1206" "unknown" 6100 3375 90 bottom R3-11-1 "1206" "unknown" 6100 4875 90 bottom R3-11-2 "1206" "unknown" 6100 6375 90 bottom R3-11-3 "1206" "unknown" 6100 7875 90 bottom R3-11-4 "1206" "unknown" 6100 9375 90 bottom R3-11-5 "1206" "unknown" 6100 10875 90 bottom R3-11-6 "1206" "unknown" 6100 12375 90 bottom R3-11-7 "1206" "unknown" 6100 13875 90 bottom R3-11-8 "1206" "unknown" 6100 15375 90 bottom R3-11-9 "1206" "unknown" 6100 16875 90 bottom R3-11-10 "1206" "unknown" 6100 18375 90 bottom R3-11-11 "1206" "unknown" 6100 19875 90 bottom R3-11-12 "1206" "unknown" 6100 21375 90 bottom R3-11-13 "1206" "unknown" 6100 22875 90 bottom R3-11-14 "1206" "unknown" 6100 24375 90 bottom R3-12-0 "1206" "unknown" 6600 3375 90 bottom R3-12-1 "1206" "unknown" 6600 4875 90 bottom R3-12-2 "1206" "unknown" 6600 6375 90 bottom R3-12-3 "1206" "unknown" 6600 7875 90 bottom R3-12-4 "1206" "unknown" 6600 9375 90 bottom R3-12-5 "1206" "unknown" 6600 10875 90 bottom R3-12-6 "1206" "unknown" 6600 12375 90 bottom R3-12-7 "1206" "unknown" 6600 13875 90 bottom R3-12-8 "1206" "unknown" 6600 15375 90 bottom R3-12-9 "1206" "unknown" 6600 16875 90 bottom R3-12-10 "1206" "unknown" 6600 18375 90 bottom R3-12-11 "1206" "unknown" 6600 19875 90 bottom R3-12-12 "1206" "unknown" 6600 21375 90 bottom R3-12-13 "1206" "unknown" 6600 22875 90 bottom R3-12-14 "1206" "unknown" 6600 24375 90 bottom R3-13-0 "1206" "unknown" 7100 3375 90 bottom R3-13-1 "1206" "unknown" 7100 4875 90 bottom R3-13-2 "1206" "unknown" 7100 6375 90 bottom R3-13-3 "1206" "unknown" 7100 7875 90 bottom R3-13-4 "1206" "unknown" 7100 9375 90 bottom R3-13-5 "1206" "unknown" 7100 10875 90 bottom R3-13-6 "1206" "unknown" 7100 12375 90 bottom R3-13-7 "1206" "unknown" 7100 13875 90 bottom R3-13-8 "1206" "unknown" 7100 15375 90 bottom R3-13-9 "1206" "unknown" 7100 16875 90 bottom R3-13-10 "1206" "unknown" 7100 18375 90 bottom R3-13-11 "1206" "unknown" 7100 19875 90 bottom R3-13-12 "1206" "unknown" 7100 21375 90 bottom R3-13-13 "1206" "unknown" 7100 22875 90 bottom R3-13-14 "1206" "unknown" 7100 24375 90 bottom R3-14-0 "1206" "unknown" 7600 3375 90 bottom R3-14-1 "1206" "unknown" 7600 4875 90 bottom R3-14-2 "1206" "unknown" 7600 6375 90 bottom R3-14-3 "1206" "unknown" 7600 7875 90 bottom R3-14-4 "1206" "unknown" 7600 9375 90 bottom R3-14-5 "1206" "unknown" 7600 10875 90 bottom R3-14-6 "1206" "unknown" 7600 12375 90 bottom R3-14-7 "1206" "unknown" 7600 13875 90 bottom R3-14-8 "1206" "unknown" 7600 15375 90 bottom R3-14-9 "1206" "unknown" 7600 16875 90 bottom R3-14-10 "1206" "unknown" 7600 18375 90 bottom R3-14-11 "1206" "unknown" 7600 19875 90 bottom R3-14-12 "1206" "unknown" 7600 21375 90 bottom R3-14-13 "1206" "unknown" 7600 22875 90 bottom R3-14-14 "1206" "unknown" 7600 24375 90 bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/multiply_negative_real_factor-pcb_example1.xy-error0000664000175000017500000000000012204177071027441 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/match_col_sens1-pcb_example1.xy-error0000664000175000017500000000000012204177071024401 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/offset_bad_col_num2-pcb_example1.xy0000664000175000017500000000355712204177071024126 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/del_check_cols_no_match-pcb_example1.xy-error0000664000175000017500000000000012204177071026130 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/panelize_bad_y_col_num2-pcb_example1.xy-error0000664000175000017500000000654612204177071026127 00000000000000Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. geda-gaf-1.8.2/utils/tests/gxyrs/outputs/footprint_protel1-protel_example1_mil.txt0000664000175000017500000000607612204177071025506 00000000000000Designator footprint Mid X Mid Y Ref X Ref Y Pad X Pad Y TB Rotation Comment CONN4 footprint 2000mil 3650mil 0mil 0mil 0mil 0mil T 90.00 unknown R6 footprint 3225mil 4275mil 0mil 0mil 0mil 0mil T 180.00 unknown R5 footprint 3225mil 4050mil 0mil 0mil 0mil 0mil T 180.00 unknown R8 footprint 3225mil 3825mil 0mil 0mil 0mil 0mil T 0.00 unknown R7 footprint 3225mil 3600mil 0mil 0mil 0mil 0mil T 0.00 unknown C1 footprint 950mil 3775mil 0mil 0mil 0mil 0mil B 0.00 unknown C14 footprint 1225mil 3600mil 0mil 0mil 0mil 0mil B 90.00 unknown D6 footprint 1125mil 3875mil 0mil 0mil 0mil 0mil B 180.00 unknown C13 footprint 1615.95mil 3738.19mil 0mil 0mil 0mil 0mil B 180.00 unknown CONN3 footprint 2225mil 3600mil 0mil 0mil 0mil 0mil T 270.00 unknown C12 footprint 1438.19mil 3834.05mil 0mil 0mil 0mil 0mil B 270.00 unknown U2 footprint 1342.50mil 4175mil 0mil 0mil 0mil 0mil T 90.00 unknown D7 footprint 1775mil 3350mil 0mil 0mil 0mil 0mil B 270.00 unknown D5 footprint 1125mil 3775mil 0mil 0mil 0mil 0mil B 180.00 unknown R4 footprint 504.14mil 3527.76mil 0mil 0mil 0mil 0mil B 180.00 unknown C15 footprint 1225mil 3350mil 0mil 0mil 0mil 0mil B 90.00 unknown U1 footprint 407.50mil 4180mil 0mil 0mil 0mil 0mil T 90.00 unknown R9 footprint 1875mil 3350mil 0mil 0mil 0mil 0mil B 90.00 1k R10 footprint 1550mil 3300mil 0mil 0mil 0mil 0mil B 0.00 1k U3 footprint 1075mil 3525mil 0mil 0mil 0mil 0mil B 270.00 unknown R11 footprint 1375mil 3300mil 0mil 0mil 0mil 0mil B 180.00 10k D2 footprint 500mil 3850mil 0mil 0mil 0mil 0mil T 0.00 unknown C2 footprint 925mil 3350mil 0mil 0mil 0mil 0mil B 270.00 unknown R2 footprint 506.90mil 3751.38mil 0mil 0mil 0mil 0mil B 180.00 unknown CONN1 footprint 275mil 3625mil 0mil 0mil 0mil 0mil T 0.00 unknown D4 footprint 500mil 3625mil 0mil 0mil 0mil 0mil T 0.00 unknown R1 footprint 425mil 3375mil 0mil 0mil 0mil 0mil B 90.00 unknown C11 footprint 1336.81mil 3834.05mil 0mil 0mil 0mil 0mil B 90.00 unknown CONN2 footprint 750mil 3625mil 0mil 0mil 0mil 0mil T 0.00 unknown S2 footprint 750mil 3850mil 0mil 0mil 0mil 0mil T 180.00 unknown S1 footprint 275mil 3850mil 0mil 0mil 0mil 0mil T 0.00 unknown D3 footprint 750mil 3350mil 0mil 0mil 0mil 0mil T 0.00 unknown U4 footprint 1500mil 3525mil 0mil 0mil 0mil 0mil B 90.00 unknown D1 footprint 275mil 3350mil 0mil 0mil 0mil 0mil T 0.00 unknown R3 footprint 600mil 3375mil 0mil 0mil 0mil 0mil B 90.00 unknown geda-gaf-1.8.2/utils/tests/gxyrs/outputs/subst_check_cols_match-pcb_example1.xy-error0000664000175000017500000000000012204177071026030 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/chunits_done_notitle-protel_example1_mil.txt-error0000664000175000017500000000000012204177071027340 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/chunits_bad_col_num2-pcb_example1.xy0000664000175000017500000000355712204177071024315 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/swap_cols_negative_col1_num-pcb_example1.xy0000664000175000017500000000355712204177071025705 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/del_case_insens2-pcb_example2.xy-error0000664000175000017500000000000012204177071024540 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/panelize_x_col_num_too_high-pcb_example1.xy-error0000664000175000017500000001070612204177071027107 00000000000000Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). geda-gaf-1.8.2/utils/tests/gxyrs/outputs/translate_negative_col_num-pcb_example1.xy-error0000664000175000017500000000717612204177071026757 00000000000000Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. Error: translate_col_val: wrong column argument: -4. geda-gaf-1.8.2/utils/tests/gxyrs/outputs/chunits_col_num_too_high-pcb_example1.xy-error0000664000175000017500000001123012204177071026417 00000000000000Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). Error: change_col_units: Element number (100) is not within (0..7). geda-gaf-1.8.2/utils/tests/gxyrs/outputs/chunits_to_mm_6col_tab-protel_example1_mil.txt-error0000664000175000017500000000160412204177071027554 00000000000000Warning: change_text_units: Text Mid X has no numbers! Warning at column 3 Warning: change_text_units: Text Mid Y has no numbers! Warning at column 4 Warning: change_text_units: Text Ref X has no numbers! Warning at column 5 Warning: change_text_units: Text Ref Y has no numbers! Warning at column 6 Warning: change_text_units: Text Pad X has no numbers! Warning at column 7 Warning: change_text_units: Text Pad Y has no numbers! Warning at column 8 Warning: change_text_units: Text Mid X has no numbers! Warning at column 3 Warning: change_text_units: Text Mid Y has no numbers! Warning at column 4 Warning: change_text_units: Text Ref X has no numbers! Warning at column 5 Warning: change_text_units: Text Ref Y has no numbers! Warning at column 6 Warning: change_text_units: Text Pad X has no numbers! Warning at column 7 Warning: change_text_units: Text Pad Y has no numbers! Warning at column 8 geda-gaf-1.8.2/utils/tests/gxyrs/outputs/insert_col_col_num_too_high-pcb_example1.xy0000664000175000017500000000355712204177071025771 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/chunits_to_mm_no_title-protel_example1_mil.txt-error0000664000175000017500000000000012204177071027665 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/chunits_to_mm_6col_tab-protel_example1_mil.txt0000664000175000017500000000642612204177071026434 00000000000000Designator Footprint Mid X Mid Y Ref X Ref Y Pad X Pad Y TB Rotation Comment CONN4 CONNECTOR-3-1 50.8mm 92.71mm 0mm 0mm 0mm 0mm T 90.00 unknown R6 ACY1000 81.915mm 108.585mm 0mm 0mm 0mm 0mm T 180.00 unknown R5 ACY1000 81.915mm 102.87mm 0mm 0mm 0mm 0mm T 180.00 unknown R8 ACY1000 81.915mm 97.155mm 0mm 0mm 0mm 0mm T 0.00 unknown R7 ACY1000 81.915mm 91.44mm 0mm 0mm 0mm 0mm T 0.00 unknown C1 1206 24.13mm 95.885mm 0mm 0mm 0mm 0mm B 0.00 unknown C14 1206 31.115mm 91.44mm 0mm 0mm 0mm 0mm B 90.00 unknown D6 1206 28.575mm 98.425mm 0mm 0mm 0mm 0mm B 180.00 unknown C13 1206 41.04513mm 94.950026mm 0mm 0mm 0mm 0mm B 180.00 unknown CONN3 CONNECTOR-4-1 56.515mm 91.44mm 0mm 0mm 0mm 0mm T 270.00 unknown C12 1206 36.530026mm 97.38487mm 0mm 0mm 0mm 0mm B 270.00 unknown U2 TO220 34.0995mm 106.045mm 0mm 0mm 0mm 0mm T 90.00 unknown D7 1206 45.085mm 85.09mm 0mm 0mm 0mm 0mm B 270.00 unknown D5 1206 28.575mm 95.885mm 0mm 0mm 0mm 0mm B 180.00 unknown R4 1206 12.805156mm 89.605104mm 0mm 0mm 0mm 0mm B 180.00 unknown C15 1206 31.115mm 85.09mm 0mm 0mm 0mm 0mm B 90.00 unknown U1 TO220 10.3505mm 106.172mm 0mm 0mm 0mm 0mm T 90.00 unknown R9 1206 47.625mm 85.09mm 0mm 0mm 0mm 0mm B 90.00 1k R10 1206 39.37mm 83.82mm 0mm 0mm 0mm 0mm B 0.00 1k U3 SO8 27.305mm 89.535mm 0mm 0mm 0mm 0mm B 270.00 unknown R11 1206 34.925mm 83.82mm 0mm 0mm 0mm 0mm B 180.00 10k D2 CONNECTOR-2-1 12.7mm 97.79mm 0mm 0mm 0mm 0mm T 0.00 unknown C2 1206 23.495mm 85.09mm 0mm 0mm 0mm 0mm B 270.00 unknown R2 1206 12.87526mm 95.285052mm 0mm 0mm 0mm 0mm B 180.00 unknown CONN1 CONNECTOR-2-1 6.985mm 92.075mm 0mm 0mm 0mm 0mm T 0.00 unknown D4 CONNECTOR-2-1 12.7mm 92.075mm 0mm 0mm 0mm 0mm T 0.00 unknown R1 1206 10.795mm 85.725mm 0mm 0mm 0mm 0mm B 90.00 unknown C11 1206 33.954974mm 97.38487mm 0mm 0mm 0mm 0mm B 90.00 unknown CONN2 CONNECTOR-2-1 19.05mm 92.075mm 0mm 0mm 0mm 0mm T 0.00 unknown S2 CONNECTOR-2-1 19.05mm 97.79mm 0mm 0mm 0mm 0mm T 180.00 unknown S1 CONNECTOR-2-1 6.985mm 97.79mm 0mm 0mm 0mm 0mm T 0.00 unknown D3 CONNECTOR-2-1 19.05mm 85.09mm 0mm 0mm 0mm 0mm T 0.00 unknown U4 SO16 38.1mm 89.535mm 0mm 0mm 0mm 0mm B 90.00 unknown D1 CONNECTOR-2-1 6.985mm 85.09mm 0mm 0mm 0mm 0mm T 0.00 unknown R3 1206 15.24mm 85.725mm 0mm 0mm 0mm 0mm B 90.00 unknown geda-gaf-1.8.2/utils/tests/gxyrs/outputs/offset_check_cols_match-pcb_example1.xy0000664000175000017500000000352312204177071025044 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3325,4275.00,180,top R5,"ACY1000","unknown",3325,4050.00,180,top R8,"ACY1000","unknown",3325,3825.00,0,top R7,"ACY1000","unknown",3325,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",604.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1975,3350.00,90,bottom R10,"1206","1k",1650,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1475,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",606.9,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",525,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",700,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/insert_col_bad_col_num2-pcb_example1.xy0000664000175000017500000000355712204177071025001 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/multiply_integer_factor-pcb_example1.xy0000664000175000017500000000377312204177071025166 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,7300.000000,90,top R6,"ACY1000","unknown",3225.00,8550.000000,180,top R5,"ACY1000","unknown",3225.00,8100.000000,180,top R8,"ACY1000","unknown",3225.00,7650.000000,0,top R7,"ACY1000","unknown",3225.00,7200.000000,0,top C1,"1206","unknown",950.00,7550.000000,0,bottom C14,"1206","unknown",1225.00,7200.000000,90,bottom D6,"1206","unknown",1125.00,7750.000000,180,bottom C13,"1206","unknown",1615.95,7476.380000,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,7200.000000,270,top C12,"1206","unknown",1438.19,7668.100000,270,bottom U2,"TO220","unknown",1342.50,8350.000000,90,top D7,"1206","unknown",1775.00,6700.000000,270,bottom D5,"1206","unknown",1125.00,7550.000000,180,bottom R4,"1206","unknown",504.14,7055.520000,180,bottom C15,"1206","unknown",1225.00,6700.000000,90,bottom U1,"TO220","unknown",407.50,8360.000000,90,top R9,"1206","1k",1875.00,6700.000000,90,bottom R10,"1206","1k",1550.00,6600.000000,0,bottom U3,"SO8","unknown",1075.00,7050.000000,270,bottom R11,"1206","10k",1375.00,6600.000000,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,7700.000000,0,top C2,"1206","unknown",925.00,6700.000000,270,bottom R2,"1206","unknown",506.90,7502.760000,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,7250.000000,0,top D4,"CONNECTOR-2-1","unknown",500.00,7250.000000,0,top R1,"1206","unknown",425.00,6750.000000,90,bottom C11,"1206","unknown",1336.81,7668.100000,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,7250.000000,0,top S2,"CONNECTOR-2-1","unknown",750.00,7700.000000,180,top S1,"CONNECTOR-2-1","unknown",275.00,7700.000000,0,top D3,"CONNECTOR-2-1","unknown",750.00,6700.000000,0,top U4,"SO16","unknown",1500.00,7050.000000,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,6700.000000,0,top R3,"1206","unknown",600.00,6750.000000,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/panelize_ref_col_num_too_high-pcb_example1.xy-error0000664000175000017500000001070612204177071027414 00000000000000Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). geda-gaf-1.8.2/utils/tests/gxyrs/outputs/multiply_real_factor-pcb_example1.xy-error0000664000175000017500000000000012204177071025557 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/offset_col_num_too_high-pcb_example1.xy0000664000175000017500000000355712204177071025116 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/rotate_check_cols_no_match-pcb_example1.xy0000664000175000017500000000355712204177071025557 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/subst_bad_col_num1-pcb_example1.xy-error0000664000175000017500000000654612204177071025127 00000000000000Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. Error: subst_col_val: wrong column argument: 6d. geda-gaf-1.8.2/utils/tests/gxyrs/outputs/translate_col_chg_all_val_plus_k-pcb_example1.xy0000664000175000017500000000355112204177071026750 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206",1K,1875.00,3350.00,90,bottom R10,"1206",1K,1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206",10K,1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/chunits_already_done-protel_example1_mil.txt-error0000664000175000017500000000022612204177071027315 00000000000000Warning: change_text_units: Text Mid X has no numbers! Warning at column 3 Warning: change_text_units: Text Mid X has no numbers! Warning at column 3 geda-gaf-1.8.2/utils/tests/gxyrs/outputs/multiply_negative_col_num-pcb_example1.xy0000664000175000017500000000355712204177071025511 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/swap_cols_with_match-pcb_example1.xy0000664000175000017500000000355712204177071024435 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top "ACY1000",R6,"unknown",3225.00,4275.00,180,top "ACY1000",R5,"unknown",3225.00,4050.00,180,top "ACY1000",R8,"unknown",3225.00,3825.00,0,top "ACY1000",R7,"unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom "1206",R4,"unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top "1206",R9,"1k",1875.00,3350.00,90,bottom "1206",R10,"1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom "1206",R11,"10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom "1206",R2,"unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top "1206",R1,"unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top "1206",R3,"unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/match_no_args-pcb_example1.xy-error0000664000175000017500000000000012204177071024143 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/match_col_is_not_num-pcb_example1.xy-error0000664000175000017500000000654612204177071025547 00000000000000Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. Error: check_columns: wrong column argument: d1. geda-gaf-1.8.2/utils/tests/gxyrs/outputs/panelize_bad_x_col_num2-pcb_example1.xy0000664000175000017500000000355712204177071024776 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/del_case_insens1-pcb_example1.xy0000664000175000017500000000260312204177071023422 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top U3,"SO8","unknown",1075.00,3525.00,270,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top geda-gaf-1.8.2/utils/tests/gxyrs/outputs/rotate_negative_col_num-pcb_example1.xy0000664000175000017500000000355712204177071025130 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/match_col_is_real-pcb_example1.xy-error0000664000175000017500000000665412204177071025013 00000000000000Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. Error: check_columns: wrong column argument: 1.1. geda-gaf-1.8.2/utils/tests/gxyrs/outputs/multiply_bad_col_num2-pcb_example1.xy0000664000175000017500000000355712204177071024517 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/chunits_negative_col_num-pcb_example1.xy0000664000175000017500000000355712204177071025307 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/do_nothing-pcb_example1.xy0000664000175000017500000000355712204177071022364 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/panelize_negative_y_col_num-pcb_example1.xy0000664000175000017500000000355712204177071025771 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/translate_col_R10_value_case_insens-pcb_example1.xy-error0000664000175000017500000000000012204177071030361 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/match_col_sens2-pcb_example1.xy-error0000664000175000017500000000000012204177071024402 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/panelize_bad_y_col_num1-pcb_example1.xy0000664000175000017500000000355712204177071024776 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/subst_check_cols_no_match-pcb_example1.xy-error0000664000175000017500000000000012204177071026524 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/offset_match_no_units_in_file-pcb_example1.xy0000664000175000017500000000355712204177071026301 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/offset_check_cols_return_minus1-pcb_example1.xy-error0000664000175000017500000000654612204177071027722 00000000000000Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. geda-gaf-1.8.2/utils/tests/gxyrs/outputs/subst_check_cols_no_match-pcb_example1.xy0000664000175000017500000000355712204177071025421 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/insert_col_second_pos-pcb_example1.xy0000664000175000017500000000431512204177071024602 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,new_value,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,new_value,"ACY1000","unknown",3225.00,4275.00,180,top R5,new_value,"ACY1000","unknown",3225.00,4050.00,180,top R8,new_value,"ACY1000","unknown",3225.00,3825.00,0,top R7,new_value,"ACY1000","unknown",3225.00,3600.00,0,top C1,new_value,"1206","unknown",950.00,3775.00,0,bottom C14,new_value,"1206","unknown",1225.00,3600.00,90,bottom D6,new_value,"1206","unknown",1125.00,3875.00,180,bottom C13,new_value,"1206","unknown",1615.95,3738.19,180,bottom CONN3,new_value,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,new_value,"1206","unknown",1438.19,3834.05,270,bottom U2,new_value,"TO220","unknown",1342.50,4175.00,90,top D7,new_value,"1206","unknown",1775.00,3350.00,270,bottom D5,new_value,"1206","unknown",1125.00,3775.00,180,bottom R4,new_value,"1206","unknown",504.14,3527.76,180,bottom C15,new_value,"1206","unknown",1225.00,3350.00,90,bottom U1,new_value,"TO220","unknown",407.50,4180.00,90,top R9,new_value,"1206","1k",1875.00,3350.00,90,bottom R10,new_value,"1206","1k",1550.00,3300.00,0,bottom U3,new_value,"SO8","unknown",1075.00,3525.00,270,bottom R11,new_value,"1206","10k",1375.00,3300.00,180,bottom D2,new_value,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,new_value,"1206","unknown",925.00,3350.00,270,bottom R2,new_value,"1206","unknown",506.90,3751.38,180,bottom CONN1,new_value,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,new_value,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,new_value,"1206","unknown",425.00,3375.00,90,bottom C11,new_value,"1206","unknown",1336.81,3834.05,90,bottom CONN2,new_value,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,new_value,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,new_value,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,new_value,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,new_value,"SO16","unknown",1500.00,3525.00,90,bottom D1,new_value,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,new_value,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/rotate_real_angle-pcb_example1.xy0000664000175000017500000000356512204177071023702 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,270,top R5,"ACY1000","unknown",3225.00,4050.00,270,top R8,"ACY1000","unknown",3225.00,3825.00,90,top R7,"ACY1000","unknown",3225.00,3600.00,90,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,270,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,180,bottom R10,"1206","1k",1550.00,3300.00,90,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,270,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,270,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,180,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,180,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/chunits_no_units-pcb_example1.xy0000664000175000017500000000355712204177071023627 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/chunits_bad_col_num1-pcb_example1.xy0000664000175000017500000000355712204177071024314 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/do_nothing_tabulated-pcb_example1.xy0000664000175000017500000000440612204177071024403 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90 ,top R6 ,"ACY1000" ,"unknown",3225.00,4275.00,180,top R5 ,"ACY1000" ,"unknown",3225.00,4050.00,180,top R8 ,"ACY1000" ,"unknown",3225.00,3825.00,0 ,top R7 ,"ACY1000" ,"unknown",3225.00,3600.00,0 ,top C1 ,"1206" ,"unknown",950.00 ,3775.00,0 ,bottom C14 ,"1206" ,"unknown",1225.00,3600.00,90 ,bottom D6 ,"1206" ,"unknown",1125.00,3875.00,180,bottom C13 ,"1206" ,"unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12 ,"1206" ,"unknown",1438.19,3834.05,270,bottom U2 ,"TO220" ,"unknown",1342.50,4175.00,90 ,top D7 ,"1206" ,"unknown",1775.00,3350.00,270,bottom D5 ,"1206" ,"unknown",1125.00,3775.00,180,bottom R4 ,"1206" ,"unknown",504.14 ,3527.76,180,bottom C15 ,"1206" ,"unknown",1225.00,3350.00,90 ,bottom U1 ,"TO220" ,"unknown",407.50 ,4180.00,90 ,top R9 ,"1206" ,"1k" ,1875.00,3350.00,90 ,bottom R10 ,"1206" ,"1k" ,1550.00,3300.00,0 ,bottom U3 ,"SO8" ,"unknown",1075.00,3525.00,270,bottom R11 ,"1206" ,"10k" ,1375.00,3300.00,180,bottom D2 ,"CONNECTOR-2-1","unknown",500.00 ,3850.00,0 ,top C2 ,"1206" ,"unknown",925.00 ,3350.00,270,bottom R2 ,"1206" ,"unknown",506.90 ,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00 ,3625.00,0 ,top D4 ,"CONNECTOR-2-1","unknown",500.00 ,3625.00,0 ,top R1 ,"1206" ,"unknown",425.00 ,3375.00,90 ,bottom C11 ,"1206" ,"unknown",1336.81,3834.05,90 ,bottom CONN2,"CONNECTOR-2-1","unknown",750.00 ,3625.00,0 ,top S2 ,"CONNECTOR-2-1","unknown",750.00 ,3850.00,180,top S1 ,"CONNECTOR-2-1","unknown",275.00 ,3850.00,0 ,top D3 ,"CONNECTOR-2-1","unknown",750.00 ,3350.00,0 ,top U4 ,"SO16" ,"unknown",1500.00,3525.00,90 ,bottom D1 ,"CONNECTOR-2-1","unknown",275.00 ,3350.00,0 ,top R3 ,"1206" ,"unknown",600.00 ,3375.00,90 ,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/panelize_bad_y_col_num1-pcb_example1.xy-error0000664000175000017500000000654612204177071026126 00000000000000Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. geda-gaf-1.8.2/utils/tests/gxyrs/outputs/del_case_sens2-pcb_example2.xy0000664000175000017500000000355712204177071023106 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top r6,"ACY1000","unknown",3225.00,4275.00,180,top r5,"ACY1000","unknown",3225.00,4050.00,180,top r8,"ACY1000","unknown",3225.00,3825.00,0,top r7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom r4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top r9,"1206","1k",1875.00,3350.00,90,bottom r10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom r11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom r2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top r1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top r3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/panelize_bad_ref_col_num1-pcb_example1.xy-error0000664000175000017500000000654612204177071026432 00000000000000Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. Error: panelize_xyrs: wrong column argument: d2. geda-gaf-1.8.2/utils/tests/gxyrs/outputs/rotate_check_cols_return_minus1-pcb_example1.xy0000664000175000017500000000355712204177071026602 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/offset_col_num_too_high-pcb_example1.xy-error0000664000175000017500000001133612204177071026237 00000000000000Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). Error: add_number_to_col: Element number (100) is not within (0..7). geda-gaf-1.8.2/utils/tests/gxyrs/outputs/match_col_is_negative-pcb_example1.xy-error0000664000175000017500000000654612204177071025672 00000000000000Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. geda-gaf-1.8.2/utils/tests/gxyrs/outputs/swap_cols_bad_col1_num2-pcb_example1.xy-error0000664000175000017500000000644012204177071026034 00000000000000Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. geda-gaf-1.8.2/utils/tests/gxyrs/outputs/match_no_args-pcb_example1.xy0000664000175000017500000000355712204177071023040 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/multiply_negative_integer_factor-pcb_example1.xy-error0000664000175000017500000000000012204177071030153 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/rotate_bad_col_num1-pcb_example1.xy-error0000664000175000017500000000633212204177071025256 00000000000000Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. Error: rotate_comp: wrong column argument: 6d. geda-gaf-1.8.2/utils/tests/gxyrs/outputs/rotate_check_cols_no_match-pcb_example1.xy-error0000664000175000017500000000000012204177071026662 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/swap_cols_bad_col2_num2-pcb_example1.xy-error0000664000175000017500000000644012204177071026035 00000000000000Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. Error: swap_columns: wrong column argument: 2d. geda-gaf-1.8.2/utils/tests/gxyrs/outputs/swap_cols_negative_col2_num-pcb_example1.xy-error0000664000175000017500000000644012204177071027027 00000000000000Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. Error: swap_columns: wrong column argument: -1. geda-gaf-1.8.2/utils/tests/gxyrs/outputs/del_case_sens1-pcb_example1.xy0000664000175000017500000000260312204177071023073 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top U3,"SO8","unknown",1075.00,3525.00,270,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top geda-gaf-1.8.2/utils/tests/gxyrs/outputs/match_col_insens1-pcb_example2.xy-error0000664000175000017500000000000012204177071024731 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/swap_cols_with_match-pcb_example1.xy-error0000664000175000017500000000000012204177071025540 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/panelize_ref_col_num_too_high-pcb_example1.xy0000664000175000017500000000355712204177071026273 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/multiply_negative_real_factor-pcb_example1.xy0000664000175000017500000000404212204177071026324 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,-9125.000000,90,top R6,"ACY1000","unknown",3225.00,-10687.500000,180,top R5,"ACY1000","unknown",3225.00,-10125.000000,180,top R8,"ACY1000","unknown",3225.00,-9562.500000,0,top R7,"ACY1000","unknown",3225.00,-9000.000000,0,top C1,"1206","unknown",950.00,-9437.500000,0,bottom C14,"1206","unknown",1225.00,-9000.000000,90,bottom D6,"1206","unknown",1125.00,-9687.500000,180,bottom C13,"1206","unknown",1615.95,-9345.475000,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,-9000.000000,270,top C12,"1206","unknown",1438.19,-9585.125000,270,bottom U2,"TO220","unknown",1342.50,-10437.500000,90,top D7,"1206","unknown",1775.00,-8375.000000,270,bottom D5,"1206","unknown",1125.00,-9437.500000,180,bottom R4,"1206","unknown",504.14,-8819.400000,180,bottom C15,"1206","unknown",1225.00,-8375.000000,90,bottom U1,"TO220","unknown",407.50,-10450.000000,90,top R9,"1206","1k",1875.00,-8375.000000,90,bottom R10,"1206","1k",1550.00,-8250.000000,0,bottom U3,"SO8","unknown",1075.00,-8812.500000,270,bottom R11,"1206","10k",1375.00,-8250.000000,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,-9625.000000,0,top C2,"1206","unknown",925.00,-8375.000000,270,bottom R2,"1206","unknown",506.90,-9378.450000,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,-9062.500000,0,top D4,"CONNECTOR-2-1","unknown",500.00,-9062.500000,0,top R1,"1206","unknown",425.00,-8437.500000,90,bottom C11,"1206","unknown",1336.81,-9585.125000,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,-9062.500000,0,top S2,"CONNECTOR-2-1","unknown",750.00,-9625.000000,180,top S1,"CONNECTOR-2-1","unknown",275.00,-9625.000000,0,top D3,"CONNECTOR-2-1","unknown",750.00,-8375.000000,0,top U4,"SO16","unknown",1500.00,-8812.500000,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,-8375.000000,0,top R3,"1206","unknown",600.00,-8437.500000,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/multiply_integer_factor-pcb_example1.xy-error0000664000175000017500000000000012204177071026271 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/subst_col_num_too_high-pcb_example1.xy0000664000175000017500000000355712204177071024770 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/chunits_to_mil-protel_example1_mm.txt0000664000175000017500000000421512204177071024655 00000000000000Designator Footprint Mid X Mid Y Ref X Ref Y Pad X Pad Y TB Rotation Comment CONN4 CONNECTOR-3-1 2000mil 92.71mm 0mm 0mm 0mm 0mm T 90.00 unknown R6 ACY1000 3225mil 108.585mm 0mm 0mm 0mm 0mm T 180.00 unknown R5 ACY1000 3225mil 102.87mm 0mm 0mm 0mm 0mm T 180.00 unknown R8 ACY1000 3225mil 97.155mm 0mm 0mm 0mm 0mm T 0.00 unknown R7 ACY1000 3225mil 91.44mm 0mm 0mm 0mm 0mm T 0.00 unknown C1 1206 950mil 95.885mm 0mm 0mm 0mm 0mm B 0.00 unknown C14 1206 1225mil 91.44mm 0mm 0mm 0mm 0mm B 90.00 unknown D6 1206 1125mil 98.425mm 0mm 0mm 0mm 0mm B 180.00 unknown C13 1206 1615.95mil 94.950026mm 0mm 0mm 0mm 0mm B 180.00 unknown CONN3 CONNECTOR-4-1 2225mil 91.44mm 0mm 0mm 0mm 0mm T 270.00 unknown C12 1206 1438.19mil 97.38487mm 0mm 0mm 0mm 0mm B 270.00 unknown U2 TO220 1342.5mil 106.045mm 0mm 0mm 0mm 0mm T 90.00 unknown D7 1206 1775mil 85.09mm 0mm 0mm 0mm 0mm B 270.00 unknown D5 1206 1125mil 95.885mm 0mm 0mm 0mm 0mm B 180.00 unknown R4 1206 504.14mil 89.605104mm 0mm 0mm 0mm 0mm B 180.00 unknown C15 1206 1225mil 85.09mm 0mm 0mm 0mm 0mm B 90.00 unknown U1 TO220 407.5mil 106.172mm 0mm 0mm 0mm 0mm T 90.00 unknown R9 1206 1875mil 85.09mm 0mm 0mm 0mm 0mm B 90.00 1k R10 1206 1550mil 83.82mm 0mm 0mm 0mm 0mm B 0.00 1k U3 SO8 1075mil 89.535mm 0mm 0mm 0mm 0mm B 270.00 unknown R11 1206 1375mil 83.82mm 0mm 0mm 0mm 0mm B 180.00 10k D2 CONNECTOR-2-1 500mil 97.79mm 0mm 0mm 0mm 0mm T 0.00 unknown C2 1206 925mil 85.09mm 0mm 0mm 0mm 0mm B 270.00 unknown R2 1206 506.9mil 95.285052mm 0mm 0mm 0mm 0mm B 180.00 unknown CONN1 CONNECTOR-2-1 275mil 92.075mm 0mm 0mm 0mm 0mm T 0.00 unknown D4 CONNECTOR-2-1 500mil 92.075mm 0mm 0mm 0mm 0mm T 0.00 unknown R1 1206 425mil 85.725mm 0mm 0mm 0mm 0mm B 90.00 unknown C11 1206 1336.81mil 97.38487mm 0mm 0mm 0mm 0mm B 90.00 unknown CONN2 CONNECTOR-2-1 750mil 92.075mm 0mm 0mm 0mm 0mm T 0.00 unknown S2 CONNECTOR-2-1 750mil 97.79mm 0mm 0mm 0mm 0mm T 180.00 unknown S1 CONNECTOR-2-1 275mil 97.79mm 0mm 0mm 0mm 0mm T 0.00 unknown D3 CONNECTOR-2-1 750mil 85.09mm 0mm 0mm 0mm 0mm T 0.00 unknown U4 SO16 1500mil 89.535mm 0mm 0mm 0mm 0mm B 90.00 unknown D1 CONNECTOR-2-1 275mil 85.09mm 0mm 0mm 0mm 0mm T 0.00 unknown R3 1206 600mil 85.725mm 0mm 0mm 0mm 0mm B 90.00 unknown geda-gaf-1.8.2/utils/tests/gxyrs/outputs/match_col_sens2-pcb_example1.xy0000664000175000017500000000355712204177071023277 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/swap_cols_col2_num_too_high-pcb_example1.xy0000664000175000017500000000355712204177071025704 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/insert_col_bad_col_num2-pcb_example1.xy-error0000664000175000017500000000654612204177071026131 00000000000000Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. Error: insert_column: wrong column argument: 2d. geda-gaf-1.8.2/utils/tests/gxyrs/outputs/do_nothing-pcb_example1.xy-error0000664000175000017500000000000012204177071023467 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/Makefile.in0000664000175000017500000006561412220655727017372 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # dir | sort | awk '{printf("\t%s \\\n", $0)}' |grep -v Makefile >> Makefile.am VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = utils/tests/gxyrs/outputs DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = \ chunits_2mm_6col_tab_notit-protel_example1_mil.txt \ chunits_2mm_6col_tab_notit-protel_example1_mil.txt-error \ chunits_already_done-protel_example1_mil.txt \ chunits_already_done-protel_example1_mil.txt-error \ chunits_bad_col_num1-pcb_example1.xy \ chunits_bad_col_num1-pcb_example1.xy-error \ chunits_bad_col_num2-pcb_example1.xy \ chunits_bad_col_num2-pcb_example1.xy-error \ chunits_col_num_too_high-pcb_example1.xy \ chunits_col_num_too_high-pcb_example1.xy-error \ chunits_done_notitle-protel_example1_mil.txt \ chunits_done_notitle-protel_example1_mil.txt-error \ chunits_negative_col_num-pcb_example1.xy \ chunits_negative_col_num-pcb_example1.xy-error \ chunits_no_units-pcb_example1.xy \ chunits_no_units-pcb_example1.xy-error \ chunits_to_mil_2cols-protel_example1_mm.txt \ chunits_to_mil_2cols-protel_example1_mm.txt-error \ chunits_to_mil-protel_example1_mm.txt \ chunits_to_mil-protel_example1_mm.txt-error \ chunits_to_mm_2cols-protel_example1_mil.txt \ chunits_to_mm_2cols-protel_example1_mil.txt-error \ chunits_to_mm_6col_tab-protel_example1_mil.txt \ chunits_to_mm_6col_tab-protel_example1_mil.txt-error \ chunits_to_mm_no_title-protel_example1_mil.txt \ chunits_to_mm_no_title-protel_example1_mil.txt-error \ chunits_to_mm-protel_example1_mil.txt \ chunits_to_mm-protel_example1_mil.txt-error \ chunits_units_not_supported-protel_example1_mil.txt \ chunits_units_not_supported-protel_example1_mil.txt-error \ del_case_insens1-pcb_example1.xy \ del_case_insens1-pcb_example1.xy-error \ del_case_insens2-pcb_example2.xy \ del_case_insens2-pcb_example2.xy-error \ del_case_sens1-pcb_example1.xy \ del_case_sens1-pcb_example1.xy-error \ del_case_sens2-pcb_example2.xy \ del_case_sens2-pcb_example2.xy-error \ del_case_sens3-pcb_example1.xy \ del_case_sens3-pcb_example1.xy-error \ del_case_sens4-pcb_example2.xy \ del_case_sens4-pcb_example2.xy-error \ del_check_cols_no_match-pcb_example1.xy \ del_check_cols_no_match-pcb_example1.xy-error \ del_check_cols_return_minus1-pcb_example1.xy \ del_check_cols_return_minus1-pcb_example1.xy-error \ do_nothing-pcb_example1.xy \ do_nothing-pcb_example1.xy-error \ do_nothing_tabulated-pcb_example1.xy \ do_nothing_tabulated-pcb_example1.xy-error \ footprint_pcb1-pcb_example1.xy \ footprint_pcb1-pcb_example1.xy-error \ footprint_protel1-protel_example1_mil.txt \ footprint_protel1-protel_example1_mil.txt-error \ footprint_report1-report1.txt \ footprint_report1-report1.txt-error \ insert_col_bad_col_num1-pcb_example1.xy \ insert_col_bad_col_num1-pcb_example1.xy-error \ insert_col_bad_col_num2-pcb_example1.xy \ insert_col_bad_col_num2-pcb_example1.xy-error \ insert_col_col_num_too_high-pcb_example1.xy \ insert_col_col_num_too_high-pcb_example1.xy-error \ insert_col_first_pos-pcb_example1.xy \ insert_col_first_pos-pcb_example1.xy-error \ insert_col_negative_col_num-pcb_example1.xy \ insert_col_negative_col_num-pcb_example1.xy-error \ insert_col_second_pos-pcb_example1.xy \ insert_col_second_pos-pcb_example1.xy-error \ match_col_insens1-pcb_example2.xy \ match_col_insens1-pcb_example2.xy-error \ match_col_insens2-pcb_example2.xy \ match_col_insens2-pcb_example2.xy-error \ match_col_insens3-pcb_example1.xy \ match_col_insens3-pcb_example1.xy-error \ match_col_insens4-pcb_example1.xy \ match_col_insens4-pcb_example1.xy-error \ match_col_is_negative-pcb_example1.xy \ match_col_is_negative-pcb_example1.xy-error \ match_col_is_not_num2-pcb_example1.xy \ match_col_is_not_num2-pcb_example1.xy-error \ match_col_is_not_num-pcb_example1.xy \ match_col_is_not_num-pcb_example1.xy-error \ match_col_is_real-pcb_example1.xy \ match_col_is_real-pcb_example1.xy-error \ match_col_is_too_high-pcb_example1.xy \ match_col_is_too_high-pcb_example1.xy-error \ match_col_sens1-pcb_example1.xy \ match_col_sens1-pcb_example1.xy-error \ match_col_sens2-pcb_example1.xy \ match_col_sens2-pcb_example1.xy-error \ match_col_sens3-pcb_example2.xy \ match_col_sens3-pcb_example2.xy-error \ match_col_sens4-pcb_example2.xy \ match_col_sens4-pcb_example2.xy-error \ match_no_args-pcb_example1.xy \ match_no_args-pcb_example1.xy-error \ multiply_bad_col_num1-pcb_example1.xy \ multiply_bad_col_num1-pcb_example1.xy-error \ multiply_bad_col_num2-pcb_example1.xy \ multiply_bad_col_num2-pcb_example1.xy-error \ multiply_col_num_too_high-pcb_example1.xy \ multiply_col_num_too_high-pcb_example1.xy-error \ multiply_integer_factor-pcb_example1.xy \ multiply_integer_factor-pcb_example1.xy-error \ multiply_negative_col_num-pcb_example1.xy \ multiply_negative_col_num-pcb_example1.xy-error \ multiply_negative_integer_factor-pcb_example1.xy \ multiply_negative_integer_factor-pcb_example1.xy-error \ multiply_negative_real_factor-pcb_example1.xy \ multiply_negative_real_factor-pcb_example1.xy-error \ multiply_real_factor-pcb_example1.xy \ multiply_real_factor-pcb_example1.xy-error \ multiply_with_checklist-pcb_example1.xy \ multiply_with_checklist-pcb_example1.xy-error \ offset_bad_col_num1-pcb_example1.xy \ offset_bad_col_num1-pcb_example1.xy-error \ offset_bad_col_num2-pcb_example1.xy \ offset_bad_col_num2-pcb_example1.xy-error \ offset_check_cols_match-pcb_example1.xy \ offset_check_cols_match-pcb_example1.xy-error \ offset_check_cols_no_match-pcb_example1.xy \ offset_check_cols_no_match-pcb_example1.xy-error \ offset_check_cols_return_minus1-pcb_example1.xy \ offset_check_cols_return_minus1-pcb_example1.xy-error \ offset_col_num_too_high-pcb_example1.xy \ offset_col_num_too_high-pcb_example1.xy-error \ offset_match_negative_offset-pcb_example1.xy \ offset_match_negative_offset-pcb_example1.xy-error \ offset_match_negative_real_offset-pcb_example1.xy \ offset_match_negative_real_offset-pcb_example1.xy-error \ offset_match_no_units_in_file-pcb_example1.xy \ offset_match_no_units_in_file-pcb_example1.xy-error \ offset_match_real_offset-pcb_example1.xy \ offset_match_real_offset-pcb_example1.xy-error \ offset_negative_col_num-pcb_example1.xy \ offset_negative_col_num-pcb_example1.xy-error \ output_delimiter-pcb_example1.xy \ output_delimiter-pcb_example1.xy-error \ panelize_bad_ref_col_num1-pcb_example1.xy \ panelize_bad_ref_col_num1-pcb_example1.xy-error \ panelize_bad_ref_col_num2-pcb_example1.xy \ panelize_bad_ref_col_num2-pcb_example1.xy-error \ panelize_bad_x_col_num1-pcb_example1.xy \ panelize_bad_x_col_num1-pcb_example1.xy-error \ panelize_bad_x_col_num2-pcb_example1.xy \ panelize_bad_x_col_num2-pcb_example1.xy-error \ panelize_bad_y_col_num1-pcb_example1.xy \ panelize_bad_y_col_num1-pcb_example1.xy-error \ panelize_bad_y_col_num2-pcb_example1.xy \ panelize_bad_y_col_num2-pcb_example1.xy-error \ panelize_negative_ref_col_num-pcb_example1.xy \ panelize_negative_ref_col_num-pcb_example1.xy-error \ panelize_negative_x_col_num-pcb_example1.xy \ panelize_negative_x_col_num-pcb_example1.xy-error \ panelize_negative_y_col_num-pcb_example1.xy \ panelize_negative_y_col_num-pcb_example1.xy-error \ panelize_ref_col_num_too_high-pcb_example1.xy \ panelize_ref_col_num_too_high-pcb_example1.xy-error \ panelize_tabulate-pcb_example1.xy \ panelize_tabulate-pcb_example1.xy-error \ panelize_x_col_num_too_high-pcb_example1.xy \ panelize_x_col_num_too_high-pcb_example1.xy-error \ panelize_y_col_num_too_high-pcb_example1.xy \ panelize_y_col_num_too_high-pcb_example1.xy-error \ process_comment-pcb_example1.xy \ process_comment-pcb_example1.xy-error \ rotate_bad_col_num1-pcb_example1.xy \ rotate_bad_col_num1-pcb_example1.xy-error \ rotate_bad_col_num2-pcb_example1.xy \ rotate_bad_col_num2-pcb_example1.xy-error \ rotate_case_insens-pcb_example1.xy \ rotate_case_insens-pcb_example1.xy-error \ rotate_case_sens-pcb_example1.xy \ rotate_case_sens-pcb_example1.xy-error \ rotate_check_cols_no_match-pcb_example1.xy \ rotate_check_cols_no_match-pcb_example1.xy-error \ rotate_check_cols_return_minus1-pcb_example1.xy \ rotate_check_cols_return_minus1-pcb_example1.xy-error \ rotate_col_num_too_high-pcb_example1.xy \ rotate_col_num_too_high-pcb_example1.xy-error \ rotate_negative_angle-pcb_example1.xy \ rotate_negative_angle-pcb_example1.xy-error \ rotate_negative_col_num-pcb_example1.xy \ rotate_negative_col_num-pcb_example1.xy-error \ rotate_negative_real_angle-pcb_example1.xy \ rotate_negative_real_angle-pcb_example1.xy-error \ rotate_real_angle-pcb_example1.xy \ rotate_real_angle-pcb_example1.xy-error \ subst_bad_col_num1-pcb_example1.xy \ subst_bad_col_num1-pcb_example1.xy-error \ subst_bad_col_num2-pcb_example1.xy \ subst_bad_col_num2-pcb_example1.xy-error \ subst_check_cols_match-pcb_example1.xy \ subst_check_cols_match-pcb_example1.xy-error \ subst_check_cols_no_match-pcb_example1.xy \ subst_check_cols_no_match-pcb_example1.xy-error \ subst_check_cols_return_minus1-pcb_example1.xy \ subst_check_cols_return_minus1-pcb_example1.xy-error \ subst_col_num_too_high-pcb_example1.xy \ subst_col_num_too_high-pcb_example1.xy-error \ subst_negative_col_num-pcb_example1.xy \ subst_negative_col_num-pcb_example1.xy-error \ swap_cols_bad_col1_num1-pcb_example1.xy \ swap_cols_bad_col1_num1-pcb_example1.xy-error \ swap_cols_bad_col1_num2-pcb_example1.xy \ swap_cols_bad_col1_num2-pcb_example1.xy-error \ swap_cols_bad_col2_num1-pcb_example1.xy \ swap_cols_bad_col2_num1-pcb_example1.xy-error \ swap_cols_bad_col2_num2-pcb_example1.xy \ swap_cols_bad_col2_num2-pcb_example1.xy-error \ swap_cols_col1_num_too_high-pcb_example1.xy \ swap_cols_col1_num_too_high-pcb_example1.xy-error \ swap_cols_col2_num_too_high-pcb_example1.xy \ swap_cols_col2_num_too_high-pcb_example1.xy-error \ swap_cols_negative_col1_num-pcb_example1.xy \ swap_cols_negative_col1_num-pcb_example1.xy-error \ swap_cols_negative_col2_num-pcb_example1.xy \ swap_cols_negative_col2_num-pcb_example1.xy-error \ swap_cols_no_matchlist-pcb_example1.xy \ swap_cols_no_matchlist-pcb_example1.xy-error \ swap_cols_no_match-pcb_example1.xy \ swap_cols_no_match-pcb_example1.xy-error \ swap_cols_with_match-pcb_example1.xy \ swap_cols_with_match-pcb_example1.xy-error \ translate_bad_col_num1-pcb_example1.xy \ translate_bad_col_num1-pcb_example1.xy-error \ translate_bad_col_num2-pcb_example1.xy \ translate_bad_col_num2-pcb_example1.xy-error \ translate_col_chg_all_val_plus_k-pcb_example1.xy \ translate_col_chg_all_val_plus_k-pcb_example1.xy-error \ translate_col_change_R10_value-pcb_example1.xy \ translate_col_change_R10_value-pcb_example1.xy-error \ translate_col_no_match1-pcb_example1.xy \ translate_col_no_match1-pcb_example1.xy-error \ translate_col_no_match2-pcb_example1.xy \ translate_col_no_match2-pcb_example1.xy-error \ translate_col_num_too_high-pcb_example1.xy \ translate_col_num_too_high-pcb_example1.xy-error \ translate_col_R10_value_case_insens-pcb_example1.xy \ translate_col_R10_value_case_insens-pcb_example1.xy-error \ translate_negative_col_num-pcb_example1.xy \ translate_negative_col_num-pcb_example1.xy-error MOSTLYCLEANFILES = *.log core FILE *~ CLEANFILES = *.log core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu utils/tests/gxyrs/outputs/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu utils/tests/gxyrs/outputs/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags-am uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/utils/tests/gxyrs/outputs/offset_bad_col_num1-pcb_example1.xy-error0000664000175000017500000000717612204177071025255 00000000000000Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. Error: add_number_to_col: wrong column argument: 4d. geda-gaf-1.8.2/utils/tests/gxyrs/outputs/translate_col_change_R10_value-pcb_example1.xy-error0000664000175000017500000000000012204177071027314 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/rotate_check_cols_return_minus1-pcb_example1.xy-error0000664000175000017500000000654612204177071027732 00000000000000Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. geda-gaf-1.8.2/utils/tests/gxyrs/outputs/offset_bad_col_num2-pcb_example1.xy-error0000664000175000017500000000717612204177071025256 00000000000000Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. Error: add_number_to_col: wrong column argument: d4. geda-gaf-1.8.2/utils/tests/gxyrs/outputs/match_col_sens4-pcb_example2.xy0000664000175000017500000000355712204177071023302 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top r6,"ACY1000","unknown",3225.00,4275.00,180,top r5,"ACY1000","unknown",3225.00,4050.00,180,top r8,"ACY1000","unknown",3225.00,3825.00,0,top r7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom r4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top r9,"1206","1k",1875.00,3350.00,90,bottom r10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom r11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom r2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top r1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top r3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/del_case_sens1-pcb_example1.xy-error0000664000175000017500000000000012204177071024207 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/multiply_negative_integer_factor-pcb_example1.xy0000664000175000017500000000403612204177071027041 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,-7300.000000,90,top R6,"ACY1000","unknown",3225.00,-8550.000000,180,top R5,"ACY1000","unknown",3225.00,-8100.000000,180,top R8,"ACY1000","unknown",3225.00,-7650.000000,0,top R7,"ACY1000","unknown",3225.00,-7200.000000,0,top C1,"1206","unknown",950.00,-7550.000000,0,bottom C14,"1206","unknown",1225.00,-7200.000000,90,bottom D6,"1206","unknown",1125.00,-7750.000000,180,bottom C13,"1206","unknown",1615.95,-7476.380000,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,-7200.000000,270,top C12,"1206","unknown",1438.19,-7668.100000,270,bottom U2,"TO220","unknown",1342.50,-8350.000000,90,top D7,"1206","unknown",1775.00,-6700.000000,270,bottom D5,"1206","unknown",1125.00,-7550.000000,180,bottom R4,"1206","unknown",504.14,-7055.520000,180,bottom C15,"1206","unknown",1225.00,-6700.000000,90,bottom U1,"TO220","unknown",407.50,-8360.000000,90,top R9,"1206","1k",1875.00,-6700.000000,90,bottom R10,"1206","1k",1550.00,-6600.000000,0,bottom U3,"SO8","unknown",1075.00,-7050.000000,270,bottom R11,"1206","10k",1375.00,-6600.000000,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,-7700.000000,0,top C2,"1206","unknown",925.00,-6700.000000,270,bottom R2,"1206","unknown",506.90,-7502.760000,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,-7250.000000,0,top D4,"CONNECTOR-2-1","unknown",500.00,-7250.000000,0,top R1,"1206","unknown",425.00,-6750.000000,90,bottom C11,"1206","unknown",1336.81,-7668.100000,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,-7250.000000,0,top S2,"CONNECTOR-2-1","unknown",750.00,-7700.000000,180,top S1,"CONNECTOR-2-1","unknown",275.00,-7700.000000,0,top D3,"CONNECTOR-2-1","unknown",750.00,-6700.000000,0,top U4,"SO16","unknown",1500.00,-7050.000000,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,-6700.000000,0,top R3,"1206","unknown",600.00,-6750.000000,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/subst_check_cols_return_minus1-pcb_example1.xy-error0000664000175000017500000000654612204177071027574 00000000000000Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. geda-gaf-1.8.2/utils/tests/gxyrs/outputs/multiply_col_num_too_high-pcb_example1.xy-error0000664000175000017500000001047212204177071026630 00000000000000Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). Error: mul_col_val: Element number (100) is not within (0..7). geda-gaf-1.8.2/utils/tests/gxyrs/outputs/rotate_negative_angle-pcb_example1.xy0000664000175000017500000000355512204177071024560 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,90,top R5,"ACY1000","unknown",3225.00,4050.00,90,top R8,"ACY1000","unknown",3225.00,3825.00,-90,top R7,"ACY1000","unknown",3225.00,3600.00,-90,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,90,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,0,bottom R10,"1206","1k",1550.00,3300.00,-90,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,90,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,90,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,0,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,0,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/panelize_bad_x_col_num1-pcb_example1.xy0000664000175000017500000000355712204177071024775 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/insert_col_first_pos-pcb_example1.xy-error0000664000175000017500000000000012204177071025570 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/offset_check_cols_no_match-pcb_example1.xy0000664000175000017500000000355712204177071025547 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/panelize_bad_ref_col_num2-pcb_example1.xy-error0000664000175000017500000000654612204177071026433 00000000000000Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. geda-gaf-1.8.2/utils/tests/gxyrs/outputs/swap_cols_no_match-pcb_example1.xy-error0000664000175000017500000000000012204177071025201 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/del_case_sens2-pcb_example2.xy-error0000664000175000017500000000000012204177071024211 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/rotate_negative_real_angle-pcb_example1.xy0000664000175000017500000000355512204177071025563 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,90,top R5,"ACY1000","unknown",3225.00,4050.00,90,top R8,"ACY1000","unknown",3225.00,3825.00,-90,top R7,"ACY1000","unknown",3225.00,3600.00,-90,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,90,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,0,bottom R10,"1206","1k",1550.00,3300.00,-90,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,90,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,90,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,0,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,0,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/chunits_done_notitle-protel_example1_mil.txt0000664000175000017500000000440712204177071026230 00000000000000Designator Footprint Mid X Mid Y Ref X Ref Y Pad X Pad Y TB Rotation Comment CONN4 CONNECTOR-3-1 2000mil 3650mil 0mil 0mil 0mil 0mil T 90.00 unknown R6 ACY1000 3225mil 4275mil 0mil 0mil 0mil 0mil T 180.00 unknown R5 ACY1000 3225mil 4050mil 0mil 0mil 0mil 0mil T 180.00 unknown R8 ACY1000 3225mil 3825mil 0mil 0mil 0mil 0mil T 0.00 unknown R7 ACY1000 3225mil 3600mil 0mil 0mil 0mil 0mil T 0.00 unknown C1 1206 950mil 3775mil 0mil 0mil 0mil 0mil B 0.00 unknown C14 1206 1225mil 3600mil 0mil 0mil 0mil 0mil B 90.00 unknown D6 1206 1125mil 3875mil 0mil 0mil 0mil 0mil B 180.00 unknown C13 1206 1615.95mil 3738.19mil 0mil 0mil 0mil 0mil B 180.00 unknown CONN3 CONNECTOR-4-1 2225mil 3600mil 0mil 0mil 0mil 0mil T 270.00 unknown C12 1206 1438.19mil 3834.05mil 0mil 0mil 0mil 0mil B 270.00 unknown U2 TO220 1342.50mil 4175mil 0mil 0mil 0mil 0mil T 90.00 unknown D7 1206 1775mil 3350mil 0mil 0mil 0mil 0mil B 270.00 unknown D5 1206 1125mil 3775mil 0mil 0mil 0mil 0mil B 180.00 unknown R4 1206 504.14mil 3527.76mil 0mil 0mil 0mil 0mil B 180.00 unknown C15 1206 1225mil 3350mil 0mil 0mil 0mil 0mil B 90.00 unknown U1 TO220 407.50mil 4180mil 0mil 0mil 0mil 0mil T 90.00 unknown R9 1206 1875mil 3350mil 0mil 0mil 0mil 0mil B 90.00 1k R10 1206 1550mil 3300mil 0mil 0mil 0mil 0mil B 0.00 1k U3 SO8 1075mil 3525mil 0mil 0mil 0mil 0mil B 270.00 unknown R11 1206 1375mil 3300mil 0mil 0mil 0mil 0mil B 180.00 10k D2 CONNECTOR-2-1 500mil 3850mil 0mil 0mil 0mil 0mil T 0.00 unknown C2 1206 925mil 3350mil 0mil 0mil 0mil 0mil B 270.00 unknown R2 1206 506.90mil 3751.38mil 0mil 0mil 0mil 0mil B 180.00 unknown CONN1 CONNECTOR-2-1 275mil 3625mil 0mil 0mil 0mil 0mil T 0.00 unknown D4 CONNECTOR-2-1 500mil 3625mil 0mil 0mil 0mil 0mil T 0.00 unknown R1 1206 425mil 3375mil 0mil 0mil 0mil 0mil B 90.00 unknown C11 1206 1336.81mil 3834.05mil 0mil 0mil 0mil 0mil B 90.00 unknown CONN2 CONNECTOR-2-1 750mil 3625mil 0mil 0mil 0mil 0mil T 0.00 unknown S2 CONNECTOR-2-1 750mil 3850mil 0mil 0mil 0mil 0mil T 180.00 unknown S1 CONNECTOR-2-1 275mil 3850mil 0mil 0mil 0mil 0mil T 0.00 unknown D3 CONNECTOR-2-1 750mil 3350mil 0mil 0mil 0mil 0mil T 0.00 unknown U4 SO16 1500mil 3525mil 0mil 0mil 0mil 0mil B 90.00 unknown D1 CONNECTOR-2-1 275mil 3350mil 0mil 0mil 0mil 0mil T 0.00 unknown R3 1206 600mil 3375mil 0mil 0mil 0mil 0mil B 90.00 unknown geda-gaf-1.8.2/utils/tests/gxyrs/outputs/subst_bad_col_num1-pcb_example1.xy0000664000175000017500000000355712204177071023777 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/insert_col_first_pos-pcb_example1.xy0000664000175000017500000000431512204177071024456 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- new_value,CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top new_value,R6,"ACY1000","unknown",3225.00,4275.00,180,top new_value,R5,"ACY1000","unknown",3225.00,4050.00,180,top new_value,R8,"ACY1000","unknown",3225.00,3825.00,0,top new_value,R7,"ACY1000","unknown",3225.00,3600.00,0,top new_value,C1,"1206","unknown",950.00,3775.00,0,bottom new_value,C14,"1206","unknown",1225.00,3600.00,90,bottom new_value,D6,"1206","unknown",1125.00,3875.00,180,bottom new_value,C13,"1206","unknown",1615.95,3738.19,180,bottom new_value,CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top new_value,C12,"1206","unknown",1438.19,3834.05,270,bottom new_value,U2,"TO220","unknown",1342.50,4175.00,90,top new_value,D7,"1206","unknown",1775.00,3350.00,270,bottom new_value,D5,"1206","unknown",1125.00,3775.00,180,bottom new_value,R4,"1206","unknown",504.14,3527.76,180,bottom new_value,C15,"1206","unknown",1225.00,3350.00,90,bottom new_value,U1,"TO220","unknown",407.50,4180.00,90,top new_value,R9,"1206","1k",1875.00,3350.00,90,bottom new_value,R10,"1206","1k",1550.00,3300.00,0,bottom new_value,U3,"SO8","unknown",1075.00,3525.00,270,bottom new_value,R11,"1206","10k",1375.00,3300.00,180,bottom new_value,D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top new_value,C2,"1206","unknown",925.00,3350.00,270,bottom new_value,R2,"1206","unknown",506.90,3751.38,180,bottom new_value,CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top new_value,D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top new_value,R1,"1206","unknown",425.00,3375.00,90,bottom new_value,C11,"1206","unknown",1336.81,3834.05,90,bottom new_value,CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top new_value,S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top new_value,S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top new_value,D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top new_value,U4,"SO16","unknown",1500.00,3525.00,90,bottom new_value,D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top new_value,R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/chunits_no_units-pcb_example1.xy-error0000664000175000017500000001452012204177071024746 00000000000000Warning: change_text_units: Text 2000.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 3225.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 3225.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 3225.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 3225.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 950.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 1225.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 1125.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 1615.95 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 2225.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 1438.19 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 1342.50 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 1775.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 1125.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 504.14 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 1225.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 407.50 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 1875.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 1550.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 1075.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 1375.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 500.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 925.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 506.90 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 275.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 500.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 425.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 1336.81 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 750.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 750.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 275.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 750.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 1500.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 275.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 600.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 2000.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 3225.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 3225.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 3225.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 3225.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 950.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 1225.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 1125.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 1615.95 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 2225.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 1438.19 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 1342.50 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 1775.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 1125.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 504.14 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 1225.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 407.50 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 1875.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 1550.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 1075.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 1375.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 500.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 925.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 506.90 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 275.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 500.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 425.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 1336.81 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 750.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 750.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 275.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 750.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 1500.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 275.00 has no units. Leaving it as is. Warning at column 4 Warning: change_text_units: Text 600.00 has no units. Leaving it as is. Warning at column 4 geda-gaf-1.8.2/utils/tests/gxyrs/outputs/swap_cols_bad_col1_num1-pcb_example1.xy0000664000175000017500000000355712204177071024712 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/chunits_already_done-protel_example1_mil.txt0000664000175000017500000000440712204177071026173 00000000000000Designator Footprint Mid X Mid Y Ref X Ref Y Pad X Pad Y TB Rotation Comment CONN4 CONNECTOR-3-1 2000mil 3650mil 0mil 0mil 0mil 0mil T 90.00 unknown R6 ACY1000 3225mil 4275mil 0mil 0mil 0mil 0mil T 180.00 unknown R5 ACY1000 3225mil 4050mil 0mil 0mil 0mil 0mil T 180.00 unknown R8 ACY1000 3225mil 3825mil 0mil 0mil 0mil 0mil T 0.00 unknown R7 ACY1000 3225mil 3600mil 0mil 0mil 0mil 0mil T 0.00 unknown C1 1206 950mil 3775mil 0mil 0mil 0mil 0mil B 0.00 unknown C14 1206 1225mil 3600mil 0mil 0mil 0mil 0mil B 90.00 unknown D6 1206 1125mil 3875mil 0mil 0mil 0mil 0mil B 180.00 unknown C13 1206 1615.95mil 3738.19mil 0mil 0mil 0mil 0mil B 180.00 unknown CONN3 CONNECTOR-4-1 2225mil 3600mil 0mil 0mil 0mil 0mil T 270.00 unknown C12 1206 1438.19mil 3834.05mil 0mil 0mil 0mil 0mil B 270.00 unknown U2 TO220 1342.50mil 4175mil 0mil 0mil 0mil 0mil T 90.00 unknown D7 1206 1775mil 3350mil 0mil 0mil 0mil 0mil B 270.00 unknown D5 1206 1125mil 3775mil 0mil 0mil 0mil 0mil B 180.00 unknown R4 1206 504.14mil 3527.76mil 0mil 0mil 0mil 0mil B 180.00 unknown C15 1206 1225mil 3350mil 0mil 0mil 0mil 0mil B 90.00 unknown U1 TO220 407.50mil 4180mil 0mil 0mil 0mil 0mil T 90.00 unknown R9 1206 1875mil 3350mil 0mil 0mil 0mil 0mil B 90.00 1k R10 1206 1550mil 3300mil 0mil 0mil 0mil 0mil B 0.00 1k U3 SO8 1075mil 3525mil 0mil 0mil 0mil 0mil B 270.00 unknown R11 1206 1375mil 3300mil 0mil 0mil 0mil 0mil B 180.00 10k D2 CONNECTOR-2-1 500mil 3850mil 0mil 0mil 0mil 0mil T 0.00 unknown C2 1206 925mil 3350mil 0mil 0mil 0mil 0mil B 270.00 unknown R2 1206 506.90mil 3751.38mil 0mil 0mil 0mil 0mil B 180.00 unknown CONN1 CONNECTOR-2-1 275mil 3625mil 0mil 0mil 0mil 0mil T 0.00 unknown D4 CONNECTOR-2-1 500mil 3625mil 0mil 0mil 0mil 0mil T 0.00 unknown R1 1206 425mil 3375mil 0mil 0mil 0mil 0mil B 90.00 unknown C11 1206 1336.81mil 3834.05mil 0mil 0mil 0mil 0mil B 90.00 unknown CONN2 CONNECTOR-2-1 750mil 3625mil 0mil 0mil 0mil 0mil T 0.00 unknown S2 CONNECTOR-2-1 750mil 3850mil 0mil 0mil 0mil 0mil T 180.00 unknown S1 CONNECTOR-2-1 275mil 3850mil 0mil 0mil 0mil 0mil T 0.00 unknown D3 CONNECTOR-2-1 750mil 3350mil 0mil 0mil 0mil 0mil T 0.00 unknown U4 SO16 1500mil 3525mil 0mil 0mil 0mil 0mil B 90.00 unknown D1 CONNECTOR-2-1 275mil 3350mil 0mil 0mil 0mil 0mil T 0.00 unknown R3 1206 600mil 3375mil 0mil 0mil 0mil 0mil B 90.00 unknown geda-gaf-1.8.2/utils/tests/gxyrs/outputs/translate_col_no_match2-pcb_example1.xy-error0000664000175000017500000000000012204177071026123 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/panelize_negative_y_col_num-pcb_example1.xy-error0000664000175000017500000000654612204177071027121 00000000000000Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. geda-gaf-1.8.2/utils/tests/gxyrs/outputs/offset_match_negative_offset-pcb_example1.xy-error0000664000175000017500000000000012204177071027231 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/rotate_negative_col_num-pcb_example1.xy-error0000664000175000017500000000633212204177071026251 00000000000000Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. Error: rotate_comp: wrong column argument: -6. geda-gaf-1.8.2/utils/tests/gxyrs/outputs/chunits_to_mm_2cols-protel_example1_mil.txt0000664000175000017500000000446712204177071025770 00000000000000Designator Footprint Mid X Mid Y Ref X Ref Y Pad X Pad Y TB Rotation Comment CONN4 CONNECTOR-3-1 50.8mm 92.71mm 0mil 0mil 0mil 0mil T 90.00 unknown R6 ACY1000 81.915mm 108.585mm 0mil 0mil 0mil 0mil T 180.00 unknown R5 ACY1000 81.915mm 102.87mm 0mil 0mil 0mil 0mil T 180.00 unknown R8 ACY1000 81.915mm 97.155mm 0mil 0mil 0mil 0mil T 0.00 unknown R7 ACY1000 81.915mm 91.44mm 0mil 0mil 0mil 0mil T 0.00 unknown C1 1206 24.13mm 95.885mm 0mil 0mil 0mil 0mil B 0.00 unknown C14 1206 31.115mm 91.44mm 0mil 0mil 0mil 0mil B 90.00 unknown D6 1206 28.575mm 98.425mm 0mil 0mil 0mil 0mil B 180.00 unknown C13 1206 41.04513mm 94.950026mm 0mil 0mil 0mil 0mil B 180.00 unknown CONN3 CONNECTOR-4-1 56.515mm 91.44mm 0mil 0mil 0mil 0mil T 270.00 unknown C12 1206 36.530026mm 97.38487mm 0mil 0mil 0mil 0mil B 270.00 unknown U2 TO220 34.0995mm 106.045mm 0mil 0mil 0mil 0mil T 90.00 unknown D7 1206 45.085mm 85.09mm 0mil 0mil 0mil 0mil B 270.00 unknown D5 1206 28.575mm 95.885mm 0mil 0mil 0mil 0mil B 180.00 unknown R4 1206 12.805156mm 89.605104mm 0mil 0mil 0mil 0mil B 180.00 unknown C15 1206 31.115mm 85.09mm 0mil 0mil 0mil 0mil B 90.00 unknown U1 TO220 10.3505mm 106.172mm 0mil 0mil 0mil 0mil T 90.00 unknown R9 1206 47.625mm 85.09mm 0mil 0mil 0mil 0mil B 90.00 1k R10 1206 39.37mm 83.82mm 0mil 0mil 0mil 0mil B 0.00 1k U3 SO8 27.305mm 89.535mm 0mil 0mil 0mil 0mil B 270.00 unknown R11 1206 34.925mm 83.82mm 0mil 0mil 0mil 0mil B 180.00 10k D2 CONNECTOR-2-1 12.7mm 97.79mm 0mil 0mil 0mil 0mil T 0.00 unknown C2 1206 23.495mm 85.09mm 0mil 0mil 0mil 0mil B 270.00 unknown R2 1206 12.87526mm 95.285052mm 0mil 0mil 0mil 0mil B 180.00 unknown CONN1 CONNECTOR-2-1 6.985mm 92.075mm 0mil 0mil 0mil 0mil T 0.00 unknown D4 CONNECTOR-2-1 12.7mm 92.075mm 0mil 0mil 0mil 0mil T 0.00 unknown R1 1206 10.795mm 85.725mm 0mil 0mil 0mil 0mil B 90.00 unknown C11 1206 33.954974mm 97.38487mm 0mil 0mil 0mil 0mil B 90.00 unknown CONN2 CONNECTOR-2-1 19.05mm 92.075mm 0mil 0mil 0mil 0mil T 0.00 unknown S2 CONNECTOR-2-1 19.05mm 97.79mm 0mil 0mil 0mil 0mil T 180.00 unknown S1 CONNECTOR-2-1 6.985mm 97.79mm 0mil 0mil 0mil 0mil T 0.00 unknown D3 CONNECTOR-2-1 19.05mm 85.09mm 0mil 0mil 0mil 0mil T 0.00 unknown U4 SO16 38.1mm 89.535mm 0mil 0mil 0mil 0mil B 90.00 unknown D1 CONNECTOR-2-1 6.985mm 85.09mm 0mil 0mil 0mil 0mil T 0.00 unknown R3 1206 15.24mm 85.725mm 0mil 0mil 0mil 0mil B 90.00 unknown geda-gaf-1.8.2/utils/tests/gxyrs/outputs/match_col_is_too_high-pcb_example1.xy0000664000175000017500000000355712204177071024540 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/insert_col_bad_col_num1-pcb_example1.xy0000664000175000017500000000355712204177071025000 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/rotate_case_sens-pcb_example1.xy0000664000175000017500000000356512204177071023554 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,270,top R5,"ACY1000","unknown",3225.00,4050.00,270,top R8,"ACY1000","unknown",3225.00,3825.00,90,top R7,"ACY1000","unknown",3225.00,3600.00,90,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,270,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,180,bottom R10,"1206","1k",1550.00,3300.00,90,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,270,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,270,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,180,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,180,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/subst_bad_col_num2-pcb_example1.xy-error0000664000175000017500000000654612204177071025130 00000000000000Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. Error: subst_col_val: wrong column argument: d6. geda-gaf-1.8.2/utils/tests/gxyrs/outputs/rotate_bad_col_num1-pcb_example1.xy0000664000175000017500000000355712204177071024135 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/translate_bad_col_num1-pcb_example1.xy-error0000664000175000017500000000717612204177071025764 00000000000000Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. Error: translate_col_val: wrong column argument: 4d. geda-gaf-1.8.2/utils/tests/gxyrs/outputs/insert_col_col_num_too_high-pcb_example1.xy-error0000664000175000017500000001070612204177071027112 00000000000000Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). Error: insert_column: Element number (100) is not within (0..7). geda-gaf-1.8.2/utils/tests/gxyrs/outputs/footprint_protel1-protel_example1_mil.txt-error0000664000175000017500000000000012204177071026612 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/offset_match_negative_offset-pcb_example1.xy0000664000175000017500000000352312204177071026117 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3125,4275.00,180,top R5,"ACY1000","unknown",3125,4050.00,180,top R8,"ACY1000","unknown",3125,3825.00,0,top R7,"ACY1000","unknown",3125,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",404.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1775,3350.00,90,bottom R10,"1206","1k",1450,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1275,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",406.9,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",325,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",500,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/match_col_sens3-pcb_example2.xy-error0000664000175000017500000000000012204177071024404 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/offset_check_cols_return_minus1-pcb_example1.xy0000664000175000017500000000355712204177071026572 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/translate_col_change_R10_value-pcb_example1.xy0000664000175000017500000000355512204177071026207 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206",1K,1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/chunits_col_num_too_high-pcb_example1.xy0000664000175000017500000000355712204177071025305 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/swap_cols_bad_col2_num2-pcb_example1.xy0000664000175000017500000000355712204177071024714 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/swap_cols_no_matchlist-pcb_example1.xy0000664000175000017500000000355712204177071024772 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- "CONNECTOR-3-1",CONN4,"unknown",2000.00,3650.00,90,top "ACY1000",R6,"unknown",3225.00,4275.00,180,top "ACY1000",R5,"unknown",3225.00,4050.00,180,top "ACY1000",R8,"unknown",3225.00,3825.00,0,top "ACY1000",R7,"unknown",3225.00,3600.00,0,top "1206",C1,"unknown",950.00,3775.00,0,bottom "1206",C14,"unknown",1225.00,3600.00,90,bottom "1206",D6,"unknown",1125.00,3875.00,180,bottom "1206",C13,"unknown",1615.95,3738.19,180,bottom "CONNECTOR-4-1",CONN3,"unknown",2225.00,3600.00,270,top "1206",C12,"unknown",1438.19,3834.05,270,bottom "TO220",U2,"unknown",1342.50,4175.00,90,top "1206",D7,"unknown",1775.00,3350.00,270,bottom "1206",D5,"unknown",1125.00,3775.00,180,bottom "1206",R4,"unknown",504.14,3527.76,180,bottom "1206",C15,"unknown",1225.00,3350.00,90,bottom "TO220",U1,"unknown",407.50,4180.00,90,top "1206",R9,"1k",1875.00,3350.00,90,bottom "1206",R10,"1k",1550.00,3300.00,0,bottom "SO8",U3,"unknown",1075.00,3525.00,270,bottom "1206",R11,"10k",1375.00,3300.00,180,bottom "CONNECTOR-2-1",D2,"unknown",500.00,3850.00,0,top "1206",C2,"unknown",925.00,3350.00,270,bottom "1206",R2,"unknown",506.90,3751.38,180,bottom "CONNECTOR-2-1",CONN1,"unknown",275.00,3625.00,0,top "CONNECTOR-2-1",D4,"unknown",500.00,3625.00,0,top "1206",R1,"unknown",425.00,3375.00,90,bottom "1206",C11,"unknown",1336.81,3834.05,90,bottom "CONNECTOR-2-1",CONN2,"unknown",750.00,3625.00,0,top "CONNECTOR-2-1",S2,"unknown",750.00,3850.00,180,top "CONNECTOR-2-1",S1,"unknown",275.00,3850.00,0,top "CONNECTOR-2-1",D3,"unknown",750.00,3350.00,0,top "SO16",U4,"unknown",1500.00,3525.00,90,bottom "CONNECTOR-2-1",D1,"unknown",275.00,3350.00,0,top "1206",R3,"unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/del_check_cols_no_match-pcb_example1.xy0000664000175000017500000000355712204177071025025 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/multiply_with_checklist-pcb_example1.xy-error0000664000175000017500000000000012204177071026302 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/output_delimiter-pcb_example1.xy-error0000664000175000017500000000000012204177071024735 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/offset_check_cols_match-pcb_example1.xy-error0000664000175000017500000000000012204177071026156 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/panelize_bad_ref_col_num2-pcb_example1.xy0000664000175000017500000000355712204177071025303 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/chunits_2mm_6col_tab_notit-protel_example1_mil.txt0000664000175000017500000000642612204177071027231 00000000000000Designator Footprint Mid X Mid Y Ref X Ref Y Pad X Pad Y TB Rotation Comment CONN4 CONNECTOR-3-1 50.8mm 92.71mm 0mm 0mm 0mm 0mm T 90.00 unknown R6 ACY1000 81.915mm 108.585mm 0mm 0mm 0mm 0mm T 180.00 unknown R5 ACY1000 81.915mm 102.87mm 0mm 0mm 0mm 0mm T 180.00 unknown R8 ACY1000 81.915mm 97.155mm 0mm 0mm 0mm 0mm T 0.00 unknown R7 ACY1000 81.915mm 91.44mm 0mm 0mm 0mm 0mm T 0.00 unknown C1 1206 24.13mm 95.885mm 0mm 0mm 0mm 0mm B 0.00 unknown C14 1206 31.115mm 91.44mm 0mm 0mm 0mm 0mm B 90.00 unknown D6 1206 28.575mm 98.425mm 0mm 0mm 0mm 0mm B 180.00 unknown C13 1206 41.04513mm 94.950026mm 0mm 0mm 0mm 0mm B 180.00 unknown CONN3 CONNECTOR-4-1 56.515mm 91.44mm 0mm 0mm 0mm 0mm T 270.00 unknown C12 1206 36.530026mm 97.38487mm 0mm 0mm 0mm 0mm B 270.00 unknown U2 TO220 34.0995mm 106.045mm 0mm 0mm 0mm 0mm T 90.00 unknown D7 1206 45.085mm 85.09mm 0mm 0mm 0mm 0mm B 270.00 unknown D5 1206 28.575mm 95.885mm 0mm 0mm 0mm 0mm B 180.00 unknown R4 1206 12.805156mm 89.605104mm 0mm 0mm 0mm 0mm B 180.00 unknown C15 1206 31.115mm 85.09mm 0mm 0mm 0mm 0mm B 90.00 unknown U1 TO220 10.3505mm 106.172mm 0mm 0mm 0mm 0mm T 90.00 unknown R9 1206 47.625mm 85.09mm 0mm 0mm 0mm 0mm B 90.00 1k R10 1206 39.37mm 83.82mm 0mm 0mm 0mm 0mm B 0.00 1k U3 SO8 27.305mm 89.535mm 0mm 0mm 0mm 0mm B 270.00 unknown R11 1206 34.925mm 83.82mm 0mm 0mm 0mm 0mm B 180.00 10k D2 CONNECTOR-2-1 12.7mm 97.79mm 0mm 0mm 0mm 0mm T 0.00 unknown C2 1206 23.495mm 85.09mm 0mm 0mm 0mm 0mm B 270.00 unknown R2 1206 12.87526mm 95.285052mm 0mm 0mm 0mm 0mm B 180.00 unknown CONN1 CONNECTOR-2-1 6.985mm 92.075mm 0mm 0mm 0mm 0mm T 0.00 unknown D4 CONNECTOR-2-1 12.7mm 92.075mm 0mm 0mm 0mm 0mm T 0.00 unknown R1 1206 10.795mm 85.725mm 0mm 0mm 0mm 0mm B 90.00 unknown C11 1206 33.954974mm 97.38487mm 0mm 0mm 0mm 0mm B 90.00 unknown CONN2 CONNECTOR-2-1 19.05mm 92.075mm 0mm 0mm 0mm 0mm T 0.00 unknown S2 CONNECTOR-2-1 19.05mm 97.79mm 0mm 0mm 0mm 0mm T 180.00 unknown S1 CONNECTOR-2-1 6.985mm 97.79mm 0mm 0mm 0mm 0mm T 0.00 unknown D3 CONNECTOR-2-1 19.05mm 85.09mm 0mm 0mm 0mm 0mm T 0.00 unknown U4 SO16 38.1mm 89.535mm 0mm 0mm 0mm 0mm B 90.00 unknown D1 CONNECTOR-2-1 6.985mm 85.09mm 0mm 0mm 0mm 0mm T 0.00 unknown R3 1206 15.24mm 85.725mm 0mm 0mm 0mm 0mm B 90.00 unknown geda-gaf-1.8.2/utils/tests/gxyrs/outputs/offset_match_negative_real_offset-pcb_example1.xy0000664000175000017500000000354512204177071027126 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3214.7,4275.00,180,top R5,"ACY1000","unknown",3214.7,4050.00,180,top R8,"ACY1000","unknown",3214.7,3825.00,0,top R7,"ACY1000","unknown",3214.7,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",493.84,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1864.7,3350.00,90,bottom R10,"1206","1k",1539.7,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1364.7,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",496.6,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",414.7,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",589.7,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/swap_cols_col2_num_too_high-pcb_example1.xy-error0000664000175000017500000001060012204177071027016 00000000000000Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). Error: swap_columns: Element number (100) is not within (0..7). geda-gaf-1.8.2/utils/tests/gxyrs/outputs/rotate_col_num_too_high-pcb_example1.xy0000664000175000017500000000355712204177071025126 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/del_case_sens3-pcb_example1.xy0000664000175000017500000000355712204177071023106 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/translate_col_no_match1-pcb_example1.xy0000664000175000017500000000355712204177071025017 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/process_comment-pcb_example1.xy-error0000664000175000017500000000000012204177071024537 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/swap_cols_no_match-pcb_example1.xy0000664000175000017500000000355712204177071024076 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/del_case_sens4-pcb_example2.xy0000664000175000017500000000260312204177071023077 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top U3,"SO8","unknown",1075.00,3525.00,270,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top geda-gaf-1.8.2/utils/tests/gxyrs/outputs/subst_col_num_too_high-pcb_example1.xy-error0000664000175000017500000001070612204177071026111 00000000000000Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). Error: subst_col_val: Element number (100) is not within (0..7). geda-gaf-1.8.2/utils/tests/gxyrs/outputs/insert_col_negative_col_num-pcb_example1.xy-error0000664000175000017500000000654612204177071027123 00000000000000Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. Error: insert_column: wrong column argument: -1. geda-gaf-1.8.2/utils/tests/gxyrs/outputs/panelize_y_col_num_too_high-pcb_example1.xy0000664000175000017500000000355712204177071025767 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/insert_col_bad_col_num1-pcb_example1.xy-error0000664000175000017500000000654612204177071026130 00000000000000Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. Error: insert_column: wrong column argument: d2. geda-gaf-1.8.2/utils/tests/gxyrs/outputs/match_col_insens1-pcb_example2.xy0000664000175000017500000000355712204177071023626 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top r6,"ACY1000","unknown",3225.00,4275.00,180,top r5,"ACY1000","unknown",3225.00,4050.00,180,top r8,"ACY1000","unknown",3225.00,3825.00,0,top r7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom r4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top r9,"1206","1k",1875.00,3350.00,90,bottom r10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom r11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom r2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top r1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top r3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/panelize_y_col_num_too_high-pcb_example1.xy-error0000664000175000017500000001070612204177071027110 00000000000000Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). Error: panelize_xyrs: Element number (100) is not within (0..7). geda-gaf-1.8.2/utils/tests/gxyrs/outputs/multiply_negative_col_num-pcb_example1.xy-error0000664000175000017500000000633212204177071026632 00000000000000Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. Error: mul_col_val: wrong column argument: -1. geda-gaf-1.8.2/utils/tests/gxyrs/outputs/panelize_negative_x_col_num-pcb_example1.xy-error0000664000175000017500000000654612204177071027120 00000000000000Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. geda-gaf-1.8.2/utils/tests/gxyrs/outputs/rotate_case_sens-pcb_example1.xy-error0000664000175000017500000000000012204177071024660 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/match_col_is_too_high-pcb_example1.xy-error0000664000175000017500000001070612204177071025661 00000000000000Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). Error: Check pattern: Element number (100) is not within (1..7). geda-gaf-1.8.2/utils/tests/gxyrs/outputs/translate_col_num_too_high-pcb_example1.xy-error0000664000175000017500000001133612204177071026746 00000000000000Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). Error: translate_col_val: Element number (100) is not within (0..7). geda-gaf-1.8.2/utils/tests/gxyrs/outputs/match_col_is_not_num2-pcb_example1.xy0000664000175000017500000000355712204177071024501 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/translate_bad_col_num2-pcb_example1.xy-error0000664000175000017500000000717612204177071025765 00000000000000Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. Error: translate_col_val: wrong column argument: d4. geda-gaf-1.8.2/utils/tests/gxyrs/outputs/subst_check_cols_match-pcb_example1.xy0000664000175000017500000000353412204177071024720 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","100K",3225.00,4275.00,180,top R5,"ACY1000","100K",3225.00,4050.00,180,top R8,"ACY1000","100K",3225.00,3825.00,0,top R7,"ACY1000","100K",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","100K",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","100K",1875.00,3350.00,90,bottom R10,"1206","100K",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","100K",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","100K",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","100K",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","100K",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/insert_col_negative_col_num-pcb_example1.xy0000664000175000017500000000355712204177071025773 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/del_check_cols_return_minus1-pcb_example1.xy-error0000664000175000017500000000654612204177071027200 00000000000000Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. Error: check_columns: wrong column argument: -1. geda-gaf-1.8.2/utils/tests/gxyrs/outputs/match_col_insens4-pcb_example1.xy-error0000664000175000017500000000000012204177071024733 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/offset_negative_col_num-pcb_example1.xy-error0000664000175000017500000000717612204177071026250 00000000000000Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. Error: add_number_to_col: wrong column argument: -4. geda-gaf-1.8.2/utils/tests/gxyrs/outputs/chunits_bad_col_num1-pcb_example1.xy-error0000664000175000017500000000707012204177071025435 00000000000000Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. Error: change_col_units: wrong column argument: 4d. geda-gaf-1.8.2/utils/tests/gxyrs/outputs/del_case_insens1-pcb_example1.xy-error0000664000175000017500000000000012204177071024536 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/rotate_real_angle-pcb_example1.xy-error0000664000175000017500000000000012204177071025006 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/chunits_units_not_supported-protel_example1_mil.txt-error0000664000175000017500000001102612204177071031016 00000000000000Warning: change_text_units: Text Mid X has no numbers! Warning at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Warning: change_text_units: Text Mid X has no numbers! Warning at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 Error: Desired units 'gallons' not supported. Error at column 3 geda-gaf-1.8.2/utils/tests/gxyrs/outputs/offset_check_cols_no_match-pcb_example1.xy-error0000664000175000017500000000000012204177071026652 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/rotate_negative_angle-pcb_example1.xy-error0000664000175000017500000000000012204177071025665 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/chunits_negative_col_num-pcb_example1.xy-error0000664000175000017500000000707012204177071026430 00000000000000Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. Error: change_col_units: wrong column argument: -4. geda-gaf-1.8.2/utils/tests/gxyrs/outputs/chunits_to_mil_2cols-protel_example1_mm.txt0000664000175000017500000000417012204177071025757 00000000000000Designator Footprint Mid X Mid Y Ref X Ref Y Pad X Pad Y TB Rotation Comment CONN4 CONNECTOR-3-1 2000mil 3650mil 0mm 0mm 0mm 0mm T 90.00 unknown R6 ACY1000 3225mil 4275mil 0mm 0mm 0mm 0mm T 180.00 unknown R5 ACY1000 3225mil 4050mil 0mm 0mm 0mm 0mm T 180.00 unknown R8 ACY1000 3225mil 3825mil 0mm 0mm 0mm 0mm T 0.00 unknown R7 ACY1000 3225mil 3600mil 0mm 0mm 0mm 0mm T 0.00 unknown C1 1206 950mil 3775mil 0mm 0mm 0mm 0mm B 0.00 unknown C14 1206 1225mil 3600mil 0mm 0mm 0mm 0mm B 90.00 unknown D6 1206 1125mil 3875mil 0mm 0mm 0mm 0mm B 180.00 unknown C13 1206 1615.95mil 3738.19mil 0mm 0mm 0mm 0mm B 180.00 unknown CONN3 CONNECTOR-4-1 2225mil 3600mil 0mm 0mm 0mm 0mm T 270.00 unknown C12 1206 1438.19mil 3834.05mil 0mm 0mm 0mm 0mm B 270.00 unknown U2 TO220 1342.5mil 4175mil 0mm 0mm 0mm 0mm T 90.00 unknown D7 1206 1775mil 3350mil 0mm 0mm 0mm 0mm B 270.00 unknown D5 1206 1125mil 3775mil 0mm 0mm 0mm 0mm B 180.00 unknown R4 1206 504.14mil 3527.76mil 0mm 0mm 0mm 0mm B 180.00 unknown C15 1206 1225mil 3350mil 0mm 0mm 0mm 0mm B 90.00 unknown U1 TO220 407.5mil 4180mil 0mm 0mm 0mm 0mm T 90.00 unknown R9 1206 1875mil 3350mil 0mm 0mm 0mm 0mm B 90.00 1k R10 1206 1550mil 3300mil 0mm 0mm 0mm 0mm B 0.00 1k U3 SO8 1075mil 3525mil 0mm 0mm 0mm 0mm B 270.00 unknown R11 1206 1375mil 3300mil 0mm 0mm 0mm 0mm B 180.00 10k D2 CONNECTOR-2-1 500mil 3850mil 0mm 0mm 0mm 0mm T 0.00 unknown C2 1206 925mil 3350mil 0mm 0mm 0mm 0mm B 270.00 unknown R2 1206 506.9mil 3751.38mil 0mm 0mm 0mm 0mm B 180.00 unknown CONN1 CONNECTOR-2-1 275mil 3625mil 0mm 0mm 0mm 0mm T 0.00 unknown D4 CONNECTOR-2-1 500mil 3625mil 0mm 0mm 0mm 0mm T 0.00 unknown R1 1206 425mil 3375mil 0mm 0mm 0mm 0mm B 90.00 unknown C11 1206 1336.81mil 3834.05mil 0mm 0mm 0mm 0mm B 90.00 unknown CONN2 CONNECTOR-2-1 750mil 3625mil 0mm 0mm 0mm 0mm T 0.00 unknown S2 CONNECTOR-2-1 750mil 3850mil 0mm 0mm 0mm 0mm T 180.00 unknown S1 CONNECTOR-2-1 275mil 3850mil 0mm 0mm 0mm 0mm T 0.00 unknown D3 CONNECTOR-2-1 750mil 3350mil 0mm 0mm 0mm 0mm T 0.00 unknown U4 SO16 1500mil 3525mil 0mm 0mm 0mm 0mm B 90.00 unknown D1 CONNECTOR-2-1 275mil 3350mil 0mm 0mm 0mm 0mm T 0.00 unknown R3 1206 600mil 3375mil 0mm 0mm 0mm 0mm B 90.00 unknown geda-gaf-1.8.2/utils/tests/gxyrs/outputs/del_case_sens4-pcb_example2.xy-error0000664000175000017500000000000012204177071024213 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/output_delimiter-pcb_example1.xy0000664000175000017500000000440612204177071023624 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4 "CONNECTOR-3-1" "unknown" 2000.00 3650.00 90 top R6 "ACY1000" "unknown" 3225.00 4275.00 180 top R5 "ACY1000" "unknown" 3225.00 4050.00 180 top R8 "ACY1000" "unknown" 3225.00 3825.00 0 top R7 "ACY1000" "unknown" 3225.00 3600.00 0 top C1 "1206" "unknown" 950.00 3775.00 0 bottom C14 "1206" "unknown" 1225.00 3600.00 90 bottom D6 "1206" "unknown" 1125.00 3875.00 180 bottom C13 "1206" "unknown" 1615.95 3738.19 180 bottom CONN3 "CONNECTOR-4-1" "unknown" 2225.00 3600.00 270 top C12 "1206" "unknown" 1438.19 3834.05 270 bottom U2 "TO220" "unknown" 1342.50 4175.00 90 top D7 "1206" "unknown" 1775.00 3350.00 270 bottom D5 "1206" "unknown" 1125.00 3775.00 180 bottom R4 "1206" "unknown" 504.14 3527.76 180 bottom C15 "1206" "unknown" 1225.00 3350.00 90 bottom U1 "TO220" "unknown" 407.50 4180.00 90 top R9 "1206" "1k" 1875.00 3350.00 90 bottom R10 "1206" "1k" 1550.00 3300.00 0 bottom U3 "SO8" "unknown" 1075.00 3525.00 270 bottom R11 "1206" "10k" 1375.00 3300.00 180 bottom D2 "CONNECTOR-2-1" "unknown" 500.00 3850.00 0 top C2 "1206" "unknown" 925.00 3350.00 270 bottom R2 "1206" "unknown" 506.90 3751.38 180 bottom CONN1 "CONNECTOR-2-1" "unknown" 275.00 3625.00 0 top D4 "CONNECTOR-2-1" "unknown" 500.00 3625.00 0 top R1 "1206" "unknown" 425.00 3375.00 90 bottom C11 "1206" "unknown" 1336.81 3834.05 90 bottom CONN2 "CONNECTOR-2-1" "unknown" 750.00 3625.00 0 top S2 "CONNECTOR-2-1" "unknown" 750.00 3850.00 180 top S1 "CONNECTOR-2-1" "unknown" 275.00 3850.00 0 top D3 "CONNECTOR-2-1" "unknown" 750.00 3350.00 0 top U4 "SO16" "unknown" 1500.00 3525.00 90 bottom D1 "CONNECTOR-2-1" "unknown" 275.00 3350.00 0 top R3 "1206" "unknown" 600.00 3375.00 90 bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/translate_negative_col_num-pcb_example1.xy0000664000175000017500000000355712204177071025627 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/del_check_cols_return_minus1-pcb_example1.xy0000664000175000017500000000355712204177071026050 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/swap_cols_negative_col2_num-pcb_example1.xy0000664000175000017500000000355712204177071025706 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/panelize_negative_x_col_num-pcb_example1.xy0000664000175000017500000000355712204177071025770 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/panelize_bad_x_col_num2-pcb_example1.xy-error0000664000175000017500000000654612204177071026126 00000000000000Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. Error: panelize_xyrs: wrong column argument: 2d. geda-gaf-1.8.2/utils/tests/gxyrs/outputs/match_col_is_not_num2-pcb_example1.xy-error0000664000175000017500000000654612204177071025631 00000000000000Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. Error: check_columns: wrong column argument: 1d. geda-gaf-1.8.2/utils/tests/gxyrs/outputs/translate_col_chg_all_val_plus_k-pcb_example1.xy-error0000664000175000017500000000000012204177071030061 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/offset_match_no_units_in_file-pcb_example1.xy-error0000664000175000017500000000322612204177071027421 00000000000000Error: add_number_to_col: Offset has units, but number 3225.00 has no units. Error: add_number_to_col: Offset has units, but number 3225.00 has no units. Error: add_number_to_col: Offset has units, but number 3225.00 has no units. Error: add_number_to_col: Offset has units, but number 3225.00 has no units. Error: add_number_to_col: Offset has units, but number 504.14 has no units. Error: add_number_to_col: Offset has units, but number 1875.00 has no units. Error: add_number_to_col: Offset has units, but number 1550.00 has no units. Error: add_number_to_col: Offset has units, but number 1375.00 has no units. Error: add_number_to_col: Offset has units, but number 506.90 has no units. Error: add_number_to_col: Offset has units, but number 425.00 has no units. Error: add_number_to_col: Offset has units, but number 600.00 has no units. Error: add_number_to_col: Offset has units, but number 3225.00 has no units. Error: add_number_to_col: Offset has units, but number 3225.00 has no units. Error: add_number_to_col: Offset has units, but number 3225.00 has no units. Error: add_number_to_col: Offset has units, but number 3225.00 has no units. Error: add_number_to_col: Offset has units, but number 504.14 has no units. Error: add_number_to_col: Offset has units, but number 1875.00 has no units. Error: add_number_to_col: Offset has units, but number 1550.00 has no units. Error: add_number_to_col: Offset has units, but number 1375.00 has no units. Error: add_number_to_col: Offset has units, but number 506.90 has no units. Error: add_number_to_col: Offset has units, but number 425.00 has no units. Error: add_number_to_col: Offset has units, but number 600.00 has no units. geda-gaf-1.8.2/utils/tests/gxyrs/outputs/multiply_real_factor-pcb_example1.xy0000664000175000017500000000377712204177071024460 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,9125.000000,90,top R6,"ACY1000","unknown",3225.00,10687.500000,180,top R5,"ACY1000","unknown",3225.00,10125.000000,180,top R8,"ACY1000","unknown",3225.00,9562.500000,0,top R7,"ACY1000","unknown",3225.00,9000.000000,0,top C1,"1206","unknown",950.00,9437.500000,0,bottom C14,"1206","unknown",1225.00,9000.000000,90,bottom D6,"1206","unknown",1125.00,9687.500000,180,bottom C13,"1206","unknown",1615.95,9345.475000,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,9000.000000,270,top C12,"1206","unknown",1438.19,9585.125000,270,bottom U2,"TO220","unknown",1342.50,10437.500000,90,top D7,"1206","unknown",1775.00,8375.000000,270,bottom D5,"1206","unknown",1125.00,9437.500000,180,bottom R4,"1206","unknown",504.14,8819.400000,180,bottom C15,"1206","unknown",1225.00,8375.000000,90,bottom U1,"TO220","unknown",407.50,10450.000000,90,top R9,"1206","1k",1875.00,8375.000000,90,bottom R10,"1206","1k",1550.00,8250.000000,0,bottom U3,"SO8","unknown",1075.00,8812.500000,270,bottom R11,"1206","10k",1375.00,8250.000000,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,9625.000000,0,top C2,"1206","unknown",925.00,8375.000000,270,bottom R2,"1206","unknown",506.90,9378.450000,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,9062.500000,0,top D4,"CONNECTOR-2-1","unknown",500.00,9062.500000,0,top R1,"1206","unknown",425.00,8437.500000,90,bottom C11,"1206","unknown",1336.81,9585.125000,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,9062.500000,0,top S2,"CONNECTOR-2-1","unknown",750.00,9625.000000,180,top S1,"CONNECTOR-2-1","unknown",275.00,9625.000000,0,top D3,"CONNECTOR-2-1","unknown",750.00,8375.000000,0,top U4,"SO16","unknown",1500.00,8812.500000,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,8375.000000,0,top R3,"1206","unknown",600.00,8437.500000,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/subst_negative_col_num-pcb_example1.xy0000664000175000017500000000355712204177071024772 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/subst_bad_col_num2-pcb_example1.xy0000664000175000017500000000355712204177071024000 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/match_col_sens3-pcb_example2.xy0000664000175000017500000000355712204177071023301 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top r6,"ACY1000","unknown",3225.00,4275.00,180,top r5,"ACY1000","unknown",3225.00,4050.00,180,top r8,"ACY1000","unknown",3225.00,3825.00,0,top r7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom r4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top r9,"1206","1k",1875.00,3350.00,90,bottom r10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom r11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom r2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top r1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top r3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/panelize_negative_ref_col_num-pcb_example1.xy-error0000664000175000017500000000654612204177071027425 00000000000000Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. Error: panelize_xyrs: wrong column argument: -1. geda-gaf-1.8.2/utils/tests/gxyrs/outputs/footprint_report1-report1.txt0000664000175000017500000000702012204177071023134 00000000000000RefDesignator MountTYPE X Y Rot Side Mirror PartNumber "footprint" Description "CONN4" "THROUGH" 2000,00 3650,00 90 "TOP" "NO" "unknown" "footprint" "No_description" "R6" "THROUGH" 3225,00 4275,00 180 "TOP" "NO" "unknown" "footprint" "No_description" "R5" "THROUGH" 3225,00 4050,00 180 "TOP" "NO" "unknown" "footprint" "No_description" "R8" "THROUGH" 3225,00 3825,00 0 "TOP" "NO" "unknown" "footprint" "No_description" "R7" "THROUGH" 3225,00 3600,00 0 "TOP" "NO" "unknown" "footprint" "No_description" "C1" "SMD" 950,00 3775,00 0 "BOTTOM" "NO" "unknown" "footprint" "No_description" "C14" "SMD" 1225,00 3600,00 90 "BOTTOM" "NO" "unknown" "footprint" "No_description" "D6" "SMD" 1125,00 3875,00 180 "BOTTOM" "NO" "unknown" "footprint" "No_description" "C13" "SMD" 1615,95 3738,19 180 "BOTTOM" "NO" "unknown" "footprint" "No_description" "CONN3" "THROUGH" 2225,00 3600,00 270 "TOP" "NO" "unknown" "footprint" "No_description" "C12" "SMD" 1438,19 3834,05 270 "BOTTOM" "NO" "unknown" "footprint" "No_description" "U2" "SMD" 1342,50 4175,00 90 "TOP" "NO" "unknown" "footprint" "No_description" "D7" "SMD" 1775,00 3350,00 270 "BOTTOM" "NO" "unknown" "footprint" "No_description" "D5" "SMD" 1125,00 3775,00 180 "BOTTOM" "NO" "unknown" "footprint" "No_description" "R4" "SMD" 504,14 3527,76 180 "BOTTOM" "NO" "unknown" "footprint" "No_description" "C15" "SMD" 1225,00 3350,00 90 "BOTTOM" "NO" "unknown" "footprint" "No_description" "U1" "SMD" 407,50 4180,00 90 "TOP" "NO" "unknown" "footprint" "No_description" "R9" "SMD" 1875,00 3350,00 90 "BOTTOM" "NO" "1k" "footprint" "No_description" "R10" "SMD" 1550,00 3300,00 0 "BOTTOM" "NO" "1k" "footprint" "No_description" "U3" "SMD" 1075,00 3525,00 270 "BOTTOM" "NO" "unknown" "footprint" "No_description" "R11" "SMD" 1375,00 3300,00 180 "BOTTOM" "NO" "10k" "footprint" "No_description" "D2" "THROUGH" 500,00 3850,00 0 "TOP" "NO" "unknown" "footprint" "No_description" "C2" "SMD" 925,00 3350,00 270 "BOTTOM" "NO" "unknown" "footprint" "No_description" "R2" "SMD" 506,90 3751,38 180 "BOTTOM" "NO" "unknown" "footprint" "No_description" "CONN1" "THROUGH" 275,00 3625,00 0 "TOP" "NO" "unknown" "footprint" "No_description" "D4" "THROUGH" 500,00 3625,00 0 "TOP" "NO" "unknown" "footprint" "No_description" "R1" "SMD" 425,00 3375,00 90 "BOTTOM" "NO" "unknown" "footprint" "No_description" "C11" "SMD" 1336,81 3834,05 90 "BOTTOM" "NO" "unknown" "footprint" "No_description" "CONN2" "THROUGH" 750,00 3625,00 0 "TOP" "NO" "unknown" "footprint" "No_description" "S2" "THROUGH" 750,00 3850,00 180 "TOP" "NO" "unknown" "footprint" "No_description" "S1" "THROUGH" 275,00 3850,00 0 "TOP" "NO" "unknown" "footprint" "No_description" "D3" "THROUGH" 750,00 3350,00 0 "TOP" "NO" "unknown" "footprint" "No_description" "U4" "SMD" 1500,00 3525,00 90 "BOTTOM" "NO" "unknown" "footprint" "No_description" "D1" "THROUGH" 275,00 3350,00 0 "TOP" "NO" "unknown" "footprint" "No_description" "R3" "SMD" 600,00 3375,00 90 "BOTTOM" "NO" "unknown" "footprint" "No_description" geda-gaf-1.8.2/utils/tests/gxyrs/outputs/match_col_insens4-pcb_example1.xy0000664000175000017500000000355712204177071023630 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/match_col_is_real-pcb_example1.xy0000664000175000017500000000355712204177071023663 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/chunits_to_mm_no_title-protel_example1_mil.txt0000664000175000017500000000444212204177071026554 00000000000000Designator Footprint Mid X Mid Y Ref X Ref Y Pad X Pad Y TB Rotation Comment CONN4 CONNECTOR-3-1 50.8mm 3650mil 0mil 0mil 0mil 0mil T 90.00 unknown R6 ACY1000 81.915mm 4275mil 0mil 0mil 0mil 0mil T 180.00 unknown R5 ACY1000 81.915mm 4050mil 0mil 0mil 0mil 0mil T 180.00 unknown R8 ACY1000 81.915mm 3825mil 0mil 0mil 0mil 0mil T 0.00 unknown R7 ACY1000 81.915mm 3600mil 0mil 0mil 0mil 0mil T 0.00 unknown C1 1206 24.13mm 3775mil 0mil 0mil 0mil 0mil B 0.00 unknown C14 1206 31.115mm 3600mil 0mil 0mil 0mil 0mil B 90.00 unknown D6 1206 28.575mm 3875mil 0mil 0mil 0mil 0mil B 180.00 unknown C13 1206 41.04513mm 3738.19mil 0mil 0mil 0mil 0mil B 180.00 unknown CONN3 CONNECTOR-4-1 56.515mm 3600mil 0mil 0mil 0mil 0mil T 270.00 unknown C12 1206 36.530026mm 3834.05mil 0mil 0mil 0mil 0mil B 270.00 unknown U2 TO220 34.0995mm 4175mil 0mil 0mil 0mil 0mil T 90.00 unknown D7 1206 45.085mm 3350mil 0mil 0mil 0mil 0mil B 270.00 unknown D5 1206 28.575mm 3775mil 0mil 0mil 0mil 0mil B 180.00 unknown R4 1206 12.805156mm 3527.76mil 0mil 0mil 0mil 0mil B 180.00 unknown C15 1206 31.115mm 3350mil 0mil 0mil 0mil 0mil B 90.00 unknown U1 TO220 10.3505mm 4180mil 0mil 0mil 0mil 0mil T 90.00 unknown R9 1206 47.625mm 3350mil 0mil 0mil 0mil 0mil B 90.00 1k R10 1206 39.37mm 3300mil 0mil 0mil 0mil 0mil B 0.00 1k U3 SO8 27.305mm 3525mil 0mil 0mil 0mil 0mil B 270.00 unknown R11 1206 34.925mm 3300mil 0mil 0mil 0mil 0mil B 180.00 10k D2 CONNECTOR-2-1 12.7mm 3850mil 0mil 0mil 0mil 0mil T 0.00 unknown C2 1206 23.495mm 3350mil 0mil 0mil 0mil 0mil B 270.00 unknown R2 1206 12.87526mm 3751.38mil 0mil 0mil 0mil 0mil B 180.00 unknown CONN1 CONNECTOR-2-1 6.985mm 3625mil 0mil 0mil 0mil 0mil T 0.00 unknown D4 CONNECTOR-2-1 12.7mm 3625mil 0mil 0mil 0mil 0mil T 0.00 unknown R1 1206 10.795mm 3375mil 0mil 0mil 0mil 0mil B 90.00 unknown C11 1206 33.954974mm 3834.05mil 0mil 0mil 0mil 0mil B 90.00 unknown CONN2 CONNECTOR-2-1 19.05mm 3625mil 0mil 0mil 0mil 0mil T 0.00 unknown S2 CONNECTOR-2-1 19.05mm 3850mil 0mil 0mil 0mil 0mil T 180.00 unknown S1 CONNECTOR-2-1 6.985mm 3850mil 0mil 0mil 0mil 0mil T 0.00 unknown D3 CONNECTOR-2-1 19.05mm 3350mil 0mil 0mil 0mil 0mil T 0.00 unknown U4 SO16 38.1mm 3525mil 0mil 0mil 0mil 0mil B 90.00 unknown D1 CONNECTOR-2-1 6.985mm 3350mil 0mil 0mil 0mil 0mil T 0.00 unknown R3 1206 15.24mm 3375mil 0mil 0mil 0mil 0mil B 90.00 unknown geda-gaf-1.8.2/utils/tests/gxyrs/outputs/match_col_sens1-pcb_example1.xy0000664000175000017500000000355712204177071023276 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/offset_negative_col_num-pcb_example1.xy0000664000175000017500000000355712204177071025120 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/chunits_to_mil_2cols-protel_example1_mm.txt-error0000664000175000017500000000000012204177071027072 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/footprint_pcb1-pcb_example1.xy-error0000664000175000017500000000000012204177071024270 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/rotate_case_insens-pcb_example1.xy-error0000664000175000017500000000000012204177071025207 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/chunits_to_mil-protel_example1_mm.txt-error0000664000175000017500000000000012204177071025770 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/multiply_col_num_too_high-pcb_example1.xy0000664000175000017500000000355712204177071025507 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/swap_cols_bad_col1_num1-pcb_example1.xy-error0000664000175000017500000000644012204177071026033 00000000000000Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. Error: swap_columns: wrong column argument: d2. geda-gaf-1.8.2/utils/tests/gxyrs/outputs/multiply_with_checklist-pcb_example1.xy0000664000175000017500000000364612204177071025176 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,-8550.000000,180,top R5,"ACY1000","unknown",3225.00,-8100.000000,180,top R8,"ACY1000","unknown",3225.00,-7650.000000,0,top R7,"ACY1000","unknown",3225.00,-7200.000000,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,-7055.520000,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,-6700.000000,90,bottom R10,"1206","1k",1550.00,-6600.000000,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,-6600.000000,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,-7502.760000,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,-6750.000000,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,-6750.000000,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/match_col_sens4-pcb_example2.xy-error0000664000175000017500000000000012204177071024405 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/del_case_sens3-pcb_example1.xy-error0000664000175000017500000000000012204177071024211 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/multiply_bad_col_num1-pcb_example1.xy0000664000175000017500000000355712204177071024516 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/rotate_negative_real_angle-pcb_example1.xy-error0000664000175000017500000000000012204177071026670 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/rotate_case_insens-pcb_example1.xy0000664000175000017500000000356512204177071024103 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,270,top R5,"ACY1000","unknown",3225.00,4050.00,270,top R8,"ACY1000","unknown",3225.00,3825.00,90,top R7,"ACY1000","unknown",3225.00,3600.00,90,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,270,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,180,bottom R10,"1206","1k",1550.00,3300.00,90,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,270,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,270,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,180,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,180,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/panelize_bad_ref_col_num1-pcb_example1.xy0000664000175000017500000000355712204177071025302 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/offset_match_real_offset-pcb_example1.xy-error0000664000175000017500000000000012204177071026352 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/chunits_to_mm_2cols-protel_example1_mil.txt-error0000664000175000017500000000000012204177071027072 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/outputs/multiply_bad_col_num2-pcb_example1.xy-error0000664000175000017500000000633212204177071025640 00000000000000Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. Error: mul_col_val: wrong column argument: 2d. geda-gaf-1.8.2/utils/tests/gxyrs/outputs/del_case_insens2-pcb_example2.xy0000664000175000017500000000260312204177071023424 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top U3,"SO8","unknown",1075.00,3525.00,270,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top geda-gaf-1.8.2/utils/tests/gxyrs/outputs/match_col_insens3-pcb_example1.xy0000664000175000017500000000355712204177071023627 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/offset_match_real_offset-pcb_example1.xy0000664000175000017500000000354512204177071025244 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3235.3,4275.00,180,top R5,"ACY1000","unknown",3235.3,4050.00,180,top R8,"ACY1000","unknown",3235.3,3825.00,0,top R7,"ACY1000","unknown",3235.3,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",514.44,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1885.3,3350.00,90,bottom R10,"1206","1k",1560.3,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1385.3,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",517.2,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",435.3,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",610.3,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/swap_cols_col1_num_too_high-pcb_example1.xy0000664000175000017500000000355712204177071025703 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/subst_check_cols_return_minus1-pcb_example1.xy0000664000175000017500000000355712204177071026444 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/translate_bad_col_num1-pcb_example1.xy0000664000175000017500000000355712204177071024634 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/offset_bad_col_num1-pcb_example1.xy0000664000175000017500000000355712204177071024125 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/match_col_is_not_num-pcb_example1.xy0000664000175000017500000000355712204177071024417 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/outputs/chunits_2mm_6col_tab_notit-protel_example1_mil.txt-error0000664000175000017500000000000012204177071030336 00000000000000geda-gaf-1.8.2/utils/tests/gxyrs/tests.list0000664000175000017500000003527112204177071015626 00000000000000# $Id$ # # # Format: # # test_name | input file | adjust file| extra flags to pass to gxyrs | return code if non-zero expected # # ----------------------------------------- # Do nothing # ----------------------------------------- do_nothing_tabulated | pcb_example1.xy | do_nothing.pl | --tabulate |1 do_nothing | pcb_example1.xy | do_nothing.pl | | 1 # ----------------------------------------- # Tests for match subroutine in gxyrs package. # ----------------------------------------- match_col_is_not_num| pcb_example1.xy | | --eval "return check_columns 'd1', 'R[0-9]+'" | 255 match_col_is_not_num2| pcb_example1.xy | | --eval "return check_columns '1d', 'R[0-9]+'" | 255 match_col_is_real| pcb_example1.xy | | --eval "return check_columns '1.1', 'R[0-9]+'" | 255 match_col_is_negative| pcb_example1.xy | | --eval "return check_columns '-1', 'R[0-9]+'" | 255 match_col_is_too_high| pcb_example1.xy | | --eval "return check_columns '100', 'R[0-9]+'" | 255 match_col_insens1| pcb_example2.xy | | --caseinsensitive --eval "return check_columns 1, 'R[0-9]+'" | 1 match_col_insens2| pcb_example2.xy | | --caseinsensitive --eval "return check_columns 1, 'r[0-9]+'" | 1 match_col_insens3| pcb_example1.xy | | --caseinsensitive --eval "return check_columns 1, 'R[0-9]+'" | 1 match_col_insens4| pcb_example1.xy | | --caseinsensitive --eval "return check_columns 1, 'r[0-9]+'" | 1 match_col_sens1| pcb_example1.xy | | --eval "return check_columns 1, 'r[0-9]+'" | 0 match_col_sens2| pcb_example1.xy | | --eval "return check_columns 1, 'R[0-9]+'" | 1 match_col_sens3| pcb_example2.xy | | --eval "return check_columns 1, 'R[0-9]+'" | 0 match_col_sens4| pcb_example2.xy | | --eval "return check_columns 1, 'r[0-9]+'" | 1 match_no_args| pcb_example1.xy | | --caseinsensitive --eval "return check_columns " | 1 # ----------------------------------------- # Tests for del_line subroutine in gxyrs package. # ----------------------------------------- del_case_sens1 | pcb_example1.xy | | --eval "return del_line 1, 'R[0-9]+'"| 1 del_case_sens2 | pcb_example2.xy | | --eval "return del_line 1, 'R[0-9]+'"| 0 del_case_sens3 | pcb_example1.xy | | --eval "return del_line 1, 'r[0-9]+'"| 0 del_case_sens4 | pcb_example2.xy | | --eval "return del_line 1, 'r[0-9]+'"| 1 del_case_insens1 | pcb_example1.xy | | --caseinsensitive --eval "return del_line 1, 'r[0-9]+'"| 1 del_case_insens2 | pcb_example2.xy | | --caseinsensitive --eval "return del_line 1, 'R[0-9]+'"| 1 del_check_cols_return_minus1 | pcb_example1.xy | | --eval "return del_line -1, 'r[0-9]+'" | 255 del_check_cols_no_match | pcb_example1.xy | | --eval "return del_line 1, 'component[0-9]+'" | 0 # ----------------------------------------- # Tests for rotate subroutine in gxyrs package. # ----------------------------------------- rotate_case_sens | pcb_example1.xy | | --eval "return rotate_comp 6, 90, 1, 'R[0-9]+'"| 1 rotate_case_insens | pcb_example1.xy | | --caseinsensitive --eval "return rotate_comp 6, 90, 1, 'r[0-9]+'"| 1 rotate_check_cols_return_minus1 | pcb_example1.xy | | --eval "return rotate_comp 6, 90, -1, 'r[0-9]+'" | 255 rotate_check_cols_no_match | pcb_example1.xy | | --eval "return rotate_comp 6, 90, 1, 'component[0-9]+'" | 0 rotate_real_angle | pcb_example1.xy | | --eval "return rotate_comp 6, 90.0, 1, 'R[0-9]+'"| 1 rotate_negative_real_angle | pcb_example1.xy | | --eval "return rotate_comp 6, -90.0, 1, 'R[0-9]+'"| 1 rotate_negative_angle | pcb_example1.xy | | --eval "return rotate_comp 6, -90, 1, 'R[0-9]+'"| 1 rotate_bad_col_num1 | pcb_example1.xy | | --eval "return rotate_comp '6d', -90, 1, 'R[0-9]+'"| 255 rotate_bad_col_num2 | pcb_example1.xy | | --eval "return rotate_comp 'd6', -90, 1, 'R[0-9]+'"| 255 rotate_negative_col_num | pcb_example1.xy | | --eval "return rotate_comp -6, -90, 1, 'R[0-9]+'"| 255 rotate_col_num_too_high | pcb_example1.xy | | --eval "return rotate_comp 100, -90, 1, 'R[0-9]+'"| 255 # ----------------------------------------- # Tests for subst_col_val subroutine in gxyrs package. # ----------------------------------------- subst_bad_col_num1 | pcb_example1.xy | | --eval "return subst_col_val '6d', -90, 1, 'R[0-9]+'"| 255 subst_bad_col_num2 | pcb_example1.xy | | --eval "return subst_col_val 'd6', -90, 1, 'R[0-9]+'"| 255 subst_negative_col_num | pcb_example1.xy | | --eval "return subst_col_val -6, -90, 1, 'R[0-9]+'"| 255 subst_col_num_too_high | pcb_example1.xy | | --eval "return subst_col_val 100, -90, 1, 'R[0-9]+'"| 255 subst_check_cols_return_minus1 | pcb_example1.xy | | --eval "return subst_col_val 3, '\"100K\"', '-1', 'r[0-9]+'" | 255 subst_check_cols_no_match | pcb_example1.xy | | --eval "return subst_col_val 3, '\"100K\"', 1, 'component[0-9]+'" | 0 subst_check_cols_match | pcb_example1.xy | | --eval "return subst_col_val 3, '\"100K\"', 1, 'R[0-9]+'" | 1 # ----------------------------------------- # Tests for change_col_units subroutine in gxyrs package. # ----------------------------------------- chunits_bad_col_num1 | pcb_example1.xy | | --eval "return change_col_units 'mm', '4d'"| 255 chunits_bad_col_num2 | pcb_example1.xy | | --eval "return change_col_units 'mm', 'd4'"| 255 chunits_negative_col_num | pcb_example1.xy | | --eval "return change_col_units 'mm', -4"| 255 chunits_col_num_too_high | pcb_example1.xy | | --eval "return change_col_units 'mm', 100"| 255 chunits_no_units | pcb_example1.xy | | --eval "return change_col_units 'mm', 4"| 254 chunits_to_mm_6col_tab | protel_example1_mil.txt | | --tabulate --eval "return change_col_units 'mm', 3, 4, 5, 6, 7, 8"| 254 chunits_2mm_6col_tab_notit | protel_example1_mil.txt | | --tabulate --eval "if (\$LINE_NUMBER != \$TITLE_LINE) {return change_col_units 'mm', 3, 4, 5, 6, 7, 8}"| 1 chunits_already_done | protel_example1_mil.txt | | --eval "return change_col_units 'mil', 3"| 254 chunits_done_notitle | protel_example1_mil.txt | | --eval "if (\$LINE_NUMBER != \$TITLE_LINE) {return change_col_units 'mil', 3}"| 0 chunits_units_not_supported | protel_example1_mil.txt | | --eval "return change_col_units 'gallons', 3"| 255 chunits_to_mm | protel_example1_mil.txt | | --eval "return change_col_units 'mm', 3"| 254 chunits_to_mm_no_title | protel_example1_mil.txt | | --eval "if (\$LINE_NUMBER != \$TITLE_LINE) {return change_col_units 'mm', 3}"| 1 chunits_to_mil | protel_example1_mm.txt| | --eval "if (\$LINE_NUMBER != \$TITLE_LINE) {return change_col_units 'mil', 3}"| 1 chunits_to_mm_2cols | protel_example1_mil.txt | | --eval "if (\$LINE_NUMBER != \$TITLE_LINE) {return change_col_units 'mm', 3, 4}"| 1 chunits_to_mil_2cols | protel_example1_mm.txt | | --eval "if (\$LINE_NUMBER != \$TITLE_LINE) {return change_col_units 'mil', 3, 4}"| 1 # ----------------------------------------- # Tests for add_number_to_col subroutine in gxyrs package. # ----------------------------------------- offset_bad_col_num1 | pcb_example1.xy | | --eval "return add_number_to_col '4d', -90, 1, 'R[0-9]+'"| 255 offset_bad_col_num2 | pcb_example1.xy | | --eval "return add_number_to_col 'd4', -90, 1, 'R[0-9]+'"| 255 offset_negative_col_num | pcb_example1.xy | | --eval "return add_number_to_col -4, -90, 1, 'R[0-9]+'"| 255 offset_col_num_too_high | pcb_example1.xy | | --eval "return add_number_to_col 100, -90, 1, 'R[0-9]+'"| 255 offset_check_cols_return_minus1 | pcb_example1.xy | | --eval "return add_number_to_col 4, 100, -1, 'r[0-9]+'" | 255 offset_check_cols_no_match | pcb_example1.xy | | --eval "return add_number_to_col 4, 100, 1, 'component[0-9]+'" | 0 offset_check_cols_match | pcb_example1.xy | | --eval "return add_number_to_col 4, 100, 1, 'R[0-9]+'" | 1 offset_match_negative_offset | pcb_example1.xy | | --eval "return add_number_to_col 4, -100, 1, 'R[0-9]+'" | 1 offset_match_real_offset | pcb_example1.xy | | --eval "return add_number_to_col 4, 10.3, 1, 'R[0-9]+'" | 1 offset_match_negative_real_offset | pcb_example1.xy | | --eval "return add_number_to_col 4, -10.3, 1, 'R[0-9]+'" | 1 offset_match_no_units_in_file | pcb_example1.xy | | --eval "return add_number_to_col 4, '-10.3mm', 1, 'R[0-9]+'" | 255 # ----------------------------------------- # Tests for translate_col_val subroutine in gxyrs package. # ----------------------------------------- translate_bad_col_num1 | pcb_example1.xy | | --eval "return translate_col_val '4d', '^.([0-9]+)k.$','sprintf(\"%dK\",$1)', 1, 'R[0-9]+'"| 255 translate_bad_col_num2 | pcb_example1.xy | | --eval "return translate_col_val 'd4', '^.([0-9]+)k.$','sprintf(\"%dK\",$1)', 1, 'R[0-9]+'"| 255 translate_negative_col_num | pcb_example1.xy | | --eval "return translate_col_val -4, '^.([0-9]+)k.$','sprintf(\"%dK\",$1)', 1, 'R[0-9]+'"| 255 translate_col_num_too_high | pcb_example1.xy | | --eval "return translate_col_val 100, '^.([0-9]+)k.$','sprintf(\"%dK\",$1)', 1, 'R[0-9]+'"| 255 translate_col_chg_all_val_plus_k | pcb_example1.xy | | --eval "return translate_col_val 3, '^.([0-9]+)k.$','sprintf(\"%dK\",\$1)'"| 1 translate_col_change_R10_value | pcb_example1.xy | | --eval "return translate_col_val 3, '^.([0-9]+)k.$','sprintf(\"%dK\",\$1)', 1, 'R10'"| 1 translate_col_R10_value_case_insens | pcb_example1.xy | | --caseinsensitive --eval "return translate_col_val 3, '^.([0-9]+)K.$','sprintf(\"%dkilohms\",\$1)', 1, 'R10'"| 1 translate_col_no_match1 | pcb_example1.xy | | --eval "return translate_col_val 3, '^.([0-9]+)k.$','sprintf(\"%dK\",\$1)', 1, 'R90'"| 0 translate_col_no_match2 | pcb_example1.xy | | --eval "return translate_col_val 3, '^.([0-9]+)n.$','sprintf(\"%dnF\",\$1)', 1, 'R10'"| 0 # ----------------------------------------- # Tests for output delimiter option in gxyrs. # ----------------------------------------- output_delimiter | pcb_example1.xy | | --tabulate --output-delimiter " " --eval "return 1"| 1 # ----------------------------------------- # Tests for panelize_xyrs subroutine in gxyrs package. # ----------------------------------------- panelize_bad_x_col_num1 | pcb_example1.xy | | --eval "return panelize_xyrs 15,15,500,1500,'d2',\$Y_COL, \$REF_COL, ''"| 255 panelize_bad_y_col_num1 | pcb_example1.xy | | --eval "return panelize_xyrs 15,15,500,1500,\$X_COL, 'd2', \$REF_COL, ''"| 255 panelize_bad_ref_col_num1 | pcb_example1.xy | | --eval "return panelize_xyrs 15,15,500,1500, \$X_COL,\$Y_COL, 'd2', ''"| 255 panelize_bad_x_col_num2 | pcb_example1.xy | | --eval "return panelize_xyrs 15,15,500,1500,'2d',\$Y_COL, \$REF_COL, ''"| 255 panelize_bad_y_col_num2 | pcb_example1.xy | | --eval "return panelize_xyrs 15,15,500,1500,\$X_COL,'2d', \$REF_COL, ''"| 255 panelize_bad_ref_col_num2 | pcb_example1.xy | | --eval "return panelize_xyrs 15,15,500,1500,\$REF_COL,\$Y_COL, '2d', ''"| 255 panelize_negative_x_col_num | pcb_example1.xy | | --eval "return panelize_xyrs 15,15,500,1500,-1,\$Y_COL, \$REF_COL, ''"| 255 panelize_negative_y_col_num | pcb_example1.xy | | --eval "return panelize_xyrs 15,15,500,1500,\$X_COL,-1, \$REF_COL, ''"| 255 panelize_negative_ref_col_num | pcb_example1.xy | | --eval "return panelize_xyrs 15,15,500,1500,\$X_COL,\$Y_COL, -1, ''"| 255 panelize_x_col_num_too_high | pcb_example1.xy | | --eval "return panelize_xyrs 15,15,500,1500,100,\$Y_COL, \$REF_COL, ''"| 255 panelize_y_col_num_too_high | pcb_example1.xy | | --eval "return panelize_xyrs 15,15,500,1500,\$X_COL,100, \$REF_COL, ''"| 255 panelize_ref_col_num_too_high | pcb_example1.xy | | --eval "return panelize_xyrs 15,15,500,1500,\$X_COL,\$Y_COL, 100, ''"| 255 panelize_tabulate | pcb_example1.xy | | --tabulate --output-delimiter " " --eval "return panelize_xyrs 15,15,500,1500,\$X_COL,\$Y_COL, \$REF_COL, ''"| 1 # ----------------------------------------- # Tests for multiply subroutine in gxyrs package. # ----------------------------------------- multiply_bad_col_num1 | pcb_example1.xy | | --eval "return mul_col_val 'd2', 2"| 255 multiply_bad_col_num2 | pcb_example1.xy | | --eval "return mul_col_val '2d', 2"| 255 multiply_negative_col_num | pcb_example1.xy | | --eval "return mul_col_val -1, 2"| 255 multiply_col_num_too_high | pcb_example1.xy | | --eval "return mul_col_val 100, 100"| 255 multiply_real_factor | pcb_example1.xy | | --eval "return mul_col_val \$Y_COL, 2.5"| 1 multiply_negative_real_factor | pcb_example1.xy | | --eval "return mul_col_val \$Y_COL, -2.5"| 1 multiply_integer_factor | pcb_example1.xy | | --eval "return mul_col_val \$Y_COL, 2"| 1 multiply_negative_integer_factor | pcb_example1.xy | | --eval "return mul_col_val \$Y_COL, -2"| 1 multiply_with_checklist | pcb_example1.xy | | --eval "return mul_col_val \$Y_COL, -2, \$REF_COL, 'R[0-9]+'" | 1 # ----------------------------------------- # Tests for swap_columns subroutine in gxyrs package. # ----------------------------------------- swap_cols_bad_col1_num1 | pcb_example1.xy | | --eval "return swap_columns 'd2', 2"| 255 swap_cols_bad_col1_num2 | pcb_example1.xy | | --eval "return swap_columns '2d', 2"| 255 swap_cols_negative_col1_num | pcb_example1.xy | | --eval "return swap_columns -1, 2"| 255 swap_cols_col1_num_too_high | pcb_example1.xy | | --eval "return swap_columns 100, 1"| 255 swap_cols_bad_col2_num1 | pcb_example1.xy | | --eval "return swap_columns 2, 'd2'"| 255 swap_cols_bad_col2_num2 | pcb_example1.xy | | --eval "return swap_columns 2, '2d'"| 255 swap_cols_negative_col2_num | pcb_example1.xy | | --eval "return swap_columns 2, -1"| 255 swap_cols_col2_num_too_high | pcb_example1.xy | | --eval "return swap_columns 1, 100"| 255 swap_cols_with_match | pcb_example1.xy | | --eval "return swap_columns 1, 2, \$REF_COL, 'R[0-9]+'"| 1 swap_cols_no_match | pcb_example1.xy | | --eval "return swap_columns 1, 2, \$REF_COL, 'Rb[0-9]+'"| 0 swap_cols_no_matchlist | pcb_example1.xy | | --eval "return swap_columns 1, 2"| 1 # ----------------------------------------- # Tests for insert_column subroutine in gxyrs package. # ----------------------------------------- insert_col_bad_col_num1 | pcb_example1.xy | | --eval "return insert_column 'd2', 2"| 255 insert_col_bad_col_num2 | pcb_example1.xy | | --eval "return insert_column '2d', 2"| 255 insert_col_negative_col_num | pcb_example1.xy | | --eval "return insert_column -1, 2"| 255 insert_col_col_num_too_high | pcb_example1.xy | | --eval "return insert_column 100, 100"| 255 insert_col_first_pos | pcb_example1.xy | | --eval "return insert_column 0, 'new_value'"| 1 insert_col_second_pos | pcb_example1.xy | | --eval "return insert_column 1, 'new_value'"| 1 # ----------------------------------------- # Tests if footprint field is guessed in several file formats. # ----------------------------------------- footprint_report1| report1.txt | | --tabulate --eval "return subst_col_val \$FOOTPRINT_COL, '\"footprint\"'"| 1 footprint_pcb1| pcb_example1.xy | | --tabulate --eval "return subst_col_val \$FOOTPRINT_COL, 'footprint'"| 1 footprint_protel1| protel_example1_mil.txt | | --tabulate --eval "return subst_col_val \$FOOTPRINT_COL, 'footprint'"| 1 # ----------------------------------------- # Tests for process comment option in gxyrs. # ----------------------------------------- process_comment | pcb_example1.xy | | --process-comments --eval "if (\$is_comment==1) {@LINE='#This line is a comment';return 1}"| 1 geda-gaf-1.8.2/utils/tests/gxyrs/Makefile.in0000664000175000017500000005500112220655726015633 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = utils/tests/gxyrs DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = inputs outputs AM_TESTS_ENVIRONMENT = PERL=${PERL} top_srcdir=${srcdir}/../.. EXTRA_DIST = run_tests.sh tests.list README.txt MOSTLYCLEANFILES = *.log core FILE *~ CLEANFILES = *.log core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu utils/tests/gxyrs/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu utils/tests/gxyrs/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) check-local check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(am__recursive_targets) check-am install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am check-local clean clean-generic clean-libtool \ cscopelist-am ctags ctags-am distclean distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am check-local: $(AM_TESTS_ENVIRONMENT) srcdir=$(srcdir) $(SHELL) $(srcdir)/run_tests.sh # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/utils/tests/gxyrs/inputs/0000775000175000017500000000000012220655763015170 500000000000000geda-gaf-1.8.2/utils/tests/gxyrs/inputs/report2.txt0000664000175000017500000000724012204177071017242 00000000000000RefDesignator MountTYPE X Y Rot Side Mirror PartNumber TopCell Description "CONN4" "THROUGH" 2000.00 3650.00 90 "TOP" "NO" "unknown" "CONNECTOR-3-1" "No_description" "R6" "THROUGH" 3225.00 4275.00 180 "TOP" "NO" "unknown" "ACY1000" "No_description" "R5" "THROUGH" 3225.00 4050.00 180 "TOP" "NO" "unknown" "ACY1000" "No_description" "R8" "THROUGH" 3225.00 3825.00 0 "TOP" "NO" "unknown" "ACY1000" "No_description" "R7" "THROUGH" 3225.00 3600.00 0 "TOP" "NO" "unknown" "ACY1000" "No_description" "C1" "SMD" 950.00 3775.00 0 "BOTTOM" "NO" "unknown" "1206" "No_description" "C14" "SMD" 1225.00 3600.00 90 "BOTTOM" "NO" "unknown" "1206" "No_description" "D6" "SMD" 1125.00 3875.00 180 "BOTTOM" "NO" "unknown" "1206" "No_description" "C13" "SMD" 1615.95 3738.19 180 "BOTTOM" "NO" "unknown" "1206" "No_description" "CONN3" "THROUGH" 2225.00 3600.00 270 "TOP" "NO" "unknown" "CONNECTOR-4-1" "No_description" "C12" "SMD" 1438.19 3834.05 270 "BOTTOM" "NO" "unknown" "1206" "No_description" "U2" "SMD" 1342.50 4175.00 90 "TOP" "NO" "unknown" "TO220" "No_description" "D7" "SMD" 1775.00 3350.00 270 "BOTTOM" "NO" "unknown" "1206" "No_description" "D5" "SMD" 1125.00 3775.00 180 "BOTTOM" "NO" "unknown" "1206" "No_description" "R4" "SMD" 504.14 3527.76 180 "BOTTOM" "NO" "unknown" "1206" "No_description" "C15" "SMD" 1225.00 3350.00 90 "BOTTOM" "NO" "unknown" "1206" "No_description" "U1" "SMD" 407.50 4180.00 90 "TOP" "NO" "unknown" "TO220" "No_description" "R9" "SMD" 1875.00 3350.00 90 "BOTTOM" "NO" "1k" "1206" "No_description" "R10" "SMD" 1550.00 3300.00 0 "BOTTOM" "NO" "1k" "1206" "No_description" "U3" "SMD" 1075.00 3525.00 270 "BOTTOM" "NO" "unknown" "SO8" "No_description" "R11" "SMD" 1375.00 3300.00 180 "BOTTOM" "NO" "10k" "1206" "No_description" "D2" "THROUGH" 500.00 3850.00 0 "TOP" "NO" "unknown" "CONNECTOR-2-1" "No_description" "C2" "SMD" 925.00 3350.00 270 "BOTTOM" "NO" "unknown" "1206" "No_description" "R2" "SMD" 506.90 3751.38 180 "BOTTOM" "NO" "unknown" "1206" "No_description" "CONN1" "THROUGH" 275.00 3625.00 0 "TOP" "NO" "unknown" "CONNECTOR-2-1" "No_description" "D4" "THROUGH" 500.00 3625.00 0 "TOP" "NO" "unknown" "CONNECTOR-2-1" "No_description" "R1" "SMD" 425.00 3375.00 90 "BOTTOM" "NO" "unknown" "1206" "No_description" "C11" "SMD" 1336.81 3834.05 90 "BOTTOM" "NO" "unknown" "1206" "No_description" "CONN2" "THROUGH" 750.00 3625.00 0 "TOP" "NO" "unknown" "CONNECTOR-2-1" "No_description" "S2" "THROUGH" 750.00 3850.00 180 "TOP" "NO" "unknown" "CONNECTOR-2-1" "No_description" "S1" "THROUGH" 275.00 3850.00 0 "TOP" "NO" "unknown" "CONNECTOR-2-1" "No_description" "D3" "THROUGH" 750.00 3350.00 0 "TOP" "NO" "unknown" "CONNECTOR-2-1" "No_description" "U4" "SMD" 1500.00 3525.00 90 "BOTTOM" "NO" "unknown" "SO16" "No_description" "D1" "THROUGH" 275.00 3350.00 0 "TOP" "NO" "unknown" "CONNECTOR-2-1" "No_description" "R3" "SMD" 600.00 3375.00 90 "BOTTOM" "NO" "unknown" "1206" "No_description" geda-gaf-1.8.2/utils/tests/gxyrs/inputs/Makefile.am0000664000175000017500000000047112204177071017137 00000000000000 EXTRA_DIST= \ do_nothing.pl \ pcb_example1.xy \ pcb_example2.xy \ protel_example1_mil.txt \ protel_example1_mm.txt \ report1.txt \ report2.txt MOSTLYCLEANFILES = *.log core FILE *~ CLEANFILES = *.log core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in geda-gaf-1.8.2/utils/tests/gxyrs/inputs/protel_example1_mm.txt0000664000175000017500000000642612204177071021444 00000000000000Designator Footprint Mid X Mid Y Ref X Ref Y Pad X Pad Y TB Rotation Comment CONN4 CONNECTOR-3-1 50.8mm 92.71mm 0mm 0mm 0mm 0mm T 90.00 unknown R6 ACY1000 81.915mm 108.585mm 0mm 0mm 0mm 0mm T 180.00 unknown R5 ACY1000 81.915mm 102.87mm 0mm 0mm 0mm 0mm T 180.00 unknown R8 ACY1000 81.915mm 97.155mm 0mm 0mm 0mm 0mm T 0.00 unknown R7 ACY1000 81.915mm 91.44mm 0mm 0mm 0mm 0mm T 0.00 unknown C1 1206 24.13mm 95.885mm 0mm 0mm 0mm 0mm B 0.00 unknown C14 1206 31.115mm 91.44mm 0mm 0mm 0mm 0mm B 90.00 unknown D6 1206 28.575mm 98.425mm 0mm 0mm 0mm 0mm B 180.00 unknown C13 1206 41.04513mm 94.950026mm 0mm 0mm 0mm 0mm B 180.00 unknown CONN3 CONNECTOR-4-1 56.515mm 91.44mm 0mm 0mm 0mm 0mm T 270.00 unknown C12 1206 36.530026mm 97.38487mm 0mm 0mm 0mm 0mm B 270.00 unknown U2 TO220 34.0995mm 106.045mm 0mm 0mm 0mm 0mm T 90.00 unknown D7 1206 45.085mm 85.09mm 0mm 0mm 0mm 0mm B 270.00 unknown D5 1206 28.575mm 95.885mm 0mm 0mm 0mm 0mm B 180.00 unknown R4 1206 12.805156mm 89.605104mm 0mm 0mm 0mm 0mm B 180.00 unknown C15 1206 31.115mm 85.09mm 0mm 0mm 0mm 0mm B 90.00 unknown U1 TO220 10.3505mm 106.172mm 0mm 0mm 0mm 0mm T 90.00 unknown R9 1206 47.625mm 85.09mm 0mm 0mm 0mm 0mm B 90.00 1k R10 1206 39.37mm 83.82mm 0mm 0mm 0mm 0mm B 0.00 1k U3 SO8 27.305mm 89.535mm 0mm 0mm 0mm 0mm B 270.00 unknown R11 1206 34.925mm 83.82mm 0mm 0mm 0mm 0mm B 180.00 10k D2 CONNECTOR-2-1 12.7mm 97.79mm 0mm 0mm 0mm 0mm T 0.00 unknown C2 1206 23.495mm 85.09mm 0mm 0mm 0mm 0mm B 270.00 unknown R2 1206 12.87526mm 95.285052mm 0mm 0mm 0mm 0mm B 180.00 unknown CONN1 CONNECTOR-2-1 6.985mm 92.075mm 0mm 0mm 0mm 0mm T 0.00 unknown D4 CONNECTOR-2-1 12.7mm 92.075mm 0mm 0mm 0mm 0mm T 0.00 unknown R1 1206 10.795mm 85.725mm 0mm 0mm 0mm 0mm B 90.00 unknown C11 1206 33.954974mm 97.38487mm 0mm 0mm 0mm 0mm B 90.00 unknown CONN2 CONNECTOR-2-1 19.05mm 92.075mm 0mm 0mm 0mm 0mm T 0.00 unknown S2 CONNECTOR-2-1 19.05mm 97.79mm 0mm 0mm 0mm 0mm T 180.00 unknown S1 CONNECTOR-2-1 6.985mm 97.79mm 0mm 0mm 0mm 0mm T 0.00 unknown D3 CONNECTOR-2-1 19.05mm 85.09mm 0mm 0mm 0mm 0mm T 0.00 unknown U4 SO16 38.1mm 89.535mm 0mm 0mm 0mm 0mm B 90.00 unknown D1 CONNECTOR-2-1 6.985mm 85.09mm 0mm 0mm 0mm 0mm T 0.00 unknown R3 1206 15.24mm 85.725mm 0mm 0mm 0mm 0mm B 90.00 unknown geda-gaf-1.8.2/utils/tests/gxyrs/inputs/do_nothing.pl0000664000175000017500000000006512204177071017567 00000000000000 # Keep the following line at the end of the file 1; geda-gaf-1.8.2/utils/tests/gxyrs/inputs/Makefile.in0000664000175000017500000004024412220655726017160 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = utils/tests/gxyrs/inputs DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = \ do_nothing.pl \ pcb_example1.xy \ pcb_example2.xy \ protel_example1_mil.txt \ protel_example1_mm.txt \ report1.txt \ report2.txt MOSTLYCLEANFILES = *.log core FILE *~ CLEANFILES = *.log core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu utils/tests/gxyrs/inputs/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu utils/tests/gxyrs/inputs/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags-am uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/utils/tests/gxyrs/inputs/protel_example1_mil.txt0000664000175000017500000000631612204177071021612 00000000000000Designator Footprint Mid X Mid Y Ref X Ref Y Pad X Pad Y TB Rotation Comment CONN4 CONNECTOR-3-1 2000mil 3650mil 0mil 0mil 0mil 0mil T 90.00 unknown R6 ACY1000 3225mil 4275mil 0mil 0mil 0mil 0mil T 180.00 unknown R5 ACY1000 3225mil 4050mil 0mil 0mil 0mil 0mil T 180.00 unknown R8 ACY1000 3225mil 3825mil 0mil 0mil 0mil 0mil T 0.00 unknown R7 ACY1000 3225mil 3600mil 0mil 0mil 0mil 0mil T 0.00 unknown C1 1206 950mil 3775mil 0mil 0mil 0mil 0mil B 0.00 unknown C14 1206 1225mil 3600mil 0mil 0mil 0mil 0mil B 90.00 unknown D6 1206 1125mil 3875mil 0mil 0mil 0mil 0mil B 180.00 unknown C13 1206 1615.95mil 3738.19mil 0mil 0mil 0mil 0mil B 180.00 unknown CONN3 CONNECTOR-4-1 2225mil 3600mil 0mil 0mil 0mil 0mil T 270.00 unknown C12 1206 1438.19mil 3834.05mil 0mil 0mil 0mil 0mil B 270.00 unknown U2 TO220 1342.50mil 4175mil 0mil 0mil 0mil 0mil T 90.00 unknown D7 1206 1775mil 3350mil 0mil 0mil 0mil 0mil B 270.00 unknown D5 1206 1125mil 3775mil 0mil 0mil 0mil 0mil B 180.00 unknown R4 1206 504.14mil 3527.76mil 0mil 0mil 0mil 0mil B 180.00 unknown C15 1206 1225mil 3350mil 0mil 0mil 0mil 0mil B 90.00 unknown U1 TO220 407.50mil 4180mil 0mil 0mil 0mil 0mil T 90.00 unknown R9 1206 1875mil 3350mil 0mil 0mil 0mil 0mil B 90.00 1k R10 1206 1550mil 3300mil 0mil 0mil 0mil 0mil B 0.00 1k U3 SO8 1075mil 3525mil 0mil 0mil 0mil 0mil B 270.00 unknown R11 1206 1375mil 3300mil 0mil 0mil 0mil 0mil B 180.00 10k D2 CONNECTOR-2-1 500mil 3850mil 0mil 0mil 0mil 0mil T 0.00 unknown C2 1206 925mil 3350mil 0mil 0mil 0mil 0mil B 270.00 unknown R2 1206 506.90mil 3751.38mil 0mil 0mil 0mil 0mil B 180.00 unknown CONN1 CONNECTOR-2-1 275mil 3625mil 0mil 0mil 0mil 0mil T 0.00 unknown D4 CONNECTOR-2-1 500mil 3625mil 0mil 0mil 0mil 0mil T 0.00 unknown R1 1206 425mil 3375mil 0mil 0mil 0mil 0mil B 90.00 unknown C11 1206 1336.81mil 3834.05mil 0mil 0mil 0mil 0mil B 90.00 unknown CONN2 CONNECTOR-2-1 750mil 3625mil 0mil 0mil 0mil 0mil T 0.00 unknown S2 CONNECTOR-2-1 750mil 3850mil 0mil 0mil 0mil 0mil T 180.00 unknown S1 CONNECTOR-2-1 275mil 3850mil 0mil 0mil 0mil 0mil T 0.00 unknown D3 CONNECTOR-2-1 750mil 3350mil 0mil 0mil 0mil 0mil T 0.00 unknown U4 SO16 1500mil 3525mil 0mil 0mil 0mil 0mil B 90.00 unknown D1 CONNECTOR-2-1 275mil 3350mil 0mil 0mil 0mil 0mil T 0.00 unknown R3 1206 600mil 3375mil 0mil 0mil 0mil 0mil B 90.00 unknown geda-gaf-1.8.2/utils/tests/gxyrs/inputs/pcb_example2.xy0000664000175000017500000000355712204177071020036 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top r6,"ACY1000","unknown",3225.00,4275.00,180,top r5,"ACY1000","unknown",3225.00,4050.00,180,top r8,"ACY1000","unknown",3225.00,3825.00,0,top r7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom r4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top r9,"1206","1k",1875.00,3350.00,90,bottom r10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom r11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom r2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top r1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top r3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/inputs/report1.txt0000664000175000017500000000724012204177071017241 00000000000000RefDesignator MountTYPE X Y Rot Side Mirror PartNumber TopCell Description "CONN4" "THROUGH" 2000,00 3650,00 90 "TOP" "NO" "unknown" "CONNECTOR-3-1" "No_description" "R6" "THROUGH" 3225,00 4275,00 180 "TOP" "NO" "unknown" "ACY1000" "No_description" "R5" "THROUGH" 3225,00 4050,00 180 "TOP" "NO" "unknown" "ACY1000" "No_description" "R8" "THROUGH" 3225,00 3825,00 0 "TOP" "NO" "unknown" "ACY1000" "No_description" "R7" "THROUGH" 3225,00 3600,00 0 "TOP" "NO" "unknown" "ACY1000" "No_description" "C1" "SMD" 950,00 3775,00 0 "BOTTOM" "NO" "unknown" "1206" "No_description" "C14" "SMD" 1225,00 3600,00 90 "BOTTOM" "NO" "unknown" "1206" "No_description" "D6" "SMD" 1125,00 3875,00 180 "BOTTOM" "NO" "unknown" "1206" "No_description" "C13" "SMD" 1615,95 3738,19 180 "BOTTOM" "NO" "unknown" "1206" "No_description" "CONN3" "THROUGH" 2225,00 3600,00 270 "TOP" "NO" "unknown" "CONNECTOR-4-1" "No_description" "C12" "SMD" 1438,19 3834,05 270 "BOTTOM" "NO" "unknown" "1206" "No_description" "U2" "SMD" 1342,50 4175,00 90 "TOP" "NO" "unknown" "TO220" "No_description" "D7" "SMD" 1775,00 3350,00 270 "BOTTOM" "NO" "unknown" "1206" "No_description" "D5" "SMD" 1125,00 3775,00 180 "BOTTOM" "NO" "unknown" "1206" "No_description" "R4" "SMD" 504,14 3527,76 180 "BOTTOM" "NO" "unknown" "1206" "No_description" "C15" "SMD" 1225,00 3350,00 90 "BOTTOM" "NO" "unknown" "1206" "No_description" "U1" "SMD" 407,50 4180,00 90 "TOP" "NO" "unknown" "TO220" "No_description" "R9" "SMD" 1875,00 3350,00 90 "BOTTOM" "NO" "1k" "1206" "No_description" "R10" "SMD" 1550,00 3300,00 0 "BOTTOM" "NO" "1k" "1206" "No_description" "U3" "SMD" 1075,00 3525,00 270 "BOTTOM" "NO" "unknown" "SO8" "No_description" "R11" "SMD" 1375,00 3300,00 180 "BOTTOM" "NO" "10k" "1206" "No_description" "D2" "THROUGH" 500,00 3850,00 0 "TOP" "NO" "unknown" "CONNECTOR-2-1" "No_description" "C2" "SMD" 925,00 3350,00 270 "BOTTOM" "NO" "unknown" "1206" "No_description" "R2" "SMD" 506,90 3751,38 180 "BOTTOM" "NO" "unknown" "1206" "No_description" "CONN1" "THROUGH" 275,00 3625,00 0 "TOP" "NO" "unknown" "CONNECTOR-2-1" "No_description" "D4" "THROUGH" 500,00 3625,00 0 "TOP" "NO" "unknown" "CONNECTOR-2-1" "No_description" "R1" "SMD" 425,00 3375,00 90 "BOTTOM" "NO" "unknown" "1206" "No_description" "C11" "SMD" 1336,81 3834,05 90 "BOTTOM" "NO" "unknown" "1206" "No_description" "CONN2" "THROUGH" 750,00 3625,00 0 "TOP" "NO" "unknown" "CONNECTOR-2-1" "No_description" "S2" "THROUGH" 750,00 3850,00 180 "TOP" "NO" "unknown" "CONNECTOR-2-1" "No_description" "S1" "THROUGH" 275,00 3850,00 0 "TOP" "NO" "unknown" "CONNECTOR-2-1" "No_description" "D3" "THROUGH" 750,00 3350,00 0 "TOP" "NO" "unknown" "CONNECTOR-2-1" "No_description" "U4" "SMD" 1500,00 3525,00 90 "BOTTOM" "NO" "unknown" "SO16" "No_description" "D1" "THROUGH" 275,00 3350,00 0 "TOP" "NO" "unknown" "CONNECTOR-2-1" "No_description" "R3" "SMD" 600,00 3375,00 90 "BOTTOM" "NO" "unknown" "1206" "No_description" geda-gaf-1.8.2/utils/tests/gxyrs/inputs/pcb_example1.xy0000664000175000017500000000355712204177071020035 00000000000000# $Id$ # PcbXY Version 1.0 # Date: Sat Sep 6 14:29:26 2008 UTC # Author: # Title: (unknown) - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mils. rotation in degrees. # -------------------------------------------- CONN4,"CONNECTOR-3-1","unknown",2000.00,3650.00,90,top R6,"ACY1000","unknown",3225.00,4275.00,180,top R5,"ACY1000","unknown",3225.00,4050.00,180,top R8,"ACY1000","unknown",3225.00,3825.00,0,top R7,"ACY1000","unknown",3225.00,3600.00,0,top C1,"1206","unknown",950.00,3775.00,0,bottom C14,"1206","unknown",1225.00,3600.00,90,bottom D6,"1206","unknown",1125.00,3875.00,180,bottom C13,"1206","unknown",1615.95,3738.19,180,bottom CONN3,"CONNECTOR-4-1","unknown",2225.00,3600.00,270,top C12,"1206","unknown",1438.19,3834.05,270,bottom U2,"TO220","unknown",1342.50,4175.00,90,top D7,"1206","unknown",1775.00,3350.00,270,bottom D5,"1206","unknown",1125.00,3775.00,180,bottom R4,"1206","unknown",504.14,3527.76,180,bottom C15,"1206","unknown",1225.00,3350.00,90,bottom U1,"TO220","unknown",407.50,4180.00,90,top R9,"1206","1k",1875.00,3350.00,90,bottom R10,"1206","1k",1550.00,3300.00,0,bottom U3,"SO8","unknown",1075.00,3525.00,270,bottom R11,"1206","10k",1375.00,3300.00,180,bottom D2,"CONNECTOR-2-1","unknown",500.00,3850.00,0,top C2,"1206","unknown",925.00,3350.00,270,bottom R2,"1206","unknown",506.90,3751.38,180,bottom CONN1,"CONNECTOR-2-1","unknown",275.00,3625.00,0,top D4,"CONNECTOR-2-1","unknown",500.00,3625.00,0,top R1,"1206","unknown",425.00,3375.00,90,bottom C11,"1206","unknown",1336.81,3834.05,90,bottom CONN2,"CONNECTOR-2-1","unknown",750.00,3625.00,0,top S2,"CONNECTOR-2-1","unknown",750.00,3850.00,180,top S1,"CONNECTOR-2-1","unknown",275.00,3850.00,0,top D3,"CONNECTOR-2-1","unknown",750.00,3350.00,0,top U4,"SO16","unknown",1500.00,3525.00,90,bottom D1,"CONNECTOR-2-1","unknown",275.00,3350.00,0,top R3,"1206","unknown",600.00,3375.00,90,bottom geda-gaf-1.8.2/utils/tests/gxyrs/README.txt0000664000175000017500000000061412204177071015256 00000000000000# $Id$ # This directory contains the testsuite for the "gxyrs" script. No modifications to this script are allowed without adding tests here. If a bug report is filed, a test must be added to show the bug before it is allowed to be fixed. If you require additional input files, add them in the inputs/ directory. Reference output files go in outputs/. Add the test description to tests.list. geda-gaf-1.8.2/utils/tests/gxyrs/run_tests.sh0000775000175000017500000001345512210327213016144 00000000000000#!/bin/sh # Copyright (C) 2008 Carlos Nieves Onega # adapted from refdes_renum test suite by Dan McMahill. # Copyright (C) 2008 other contributors # (see ChangeLog or SCM history for details) # This file is part of gxyrs. # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation, version 2 # of the License. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301, USA. regen=no usage() { cat << EOF $0 -- Testsuite program for gxyrs Usage $0 [-h | --help] $0 [-r | --regen] [test1 [test2 [....]]] Options -h | --help Prints this help message and exits. -r | --regen Regenerates the reference files. If you use this option, YOU MUST HAND VERIFY THE RESULTS BEFORE COMMITTING to the repository. Description $0 reads a file, tests.list, describing tests to run on geda_filter. If no specific test is specified on the $0 command line, then all tests are run. Examples $0 $0 --regen new_test EOF } while test -n "$1" do case "$1" in -h|--help) usage exit 0 ;; -r|--regen) # regenerate the 'golden' output files. Use this with caution. # In particular, all differences should be noted and understood. regen=yes shift ;; -*) echo "unknown option: $1" usage exit 1 ;; *) break ;; esac done # make sure we have the right paths when running this from inside the # source tree and also from outside the source tree. here=`pwd` srcdir=${srcdir:-$here} srcdir=`cd $srcdir && pwd` top_srcdir=${top_srcdir:-$here/../..} top_srcdir=`cd $top_srcdir && pwd` top_builddir=${top_builddir:-$here/../..} top_builddir=`cd $top_builddir && pwd` gxyrs_srcdir=`cd $top_srcdir/gxyrs && pwd` # the perl program PERL=${PERL:-perl} rundir=${here}/run GOLDEN_DIR=${srcdir}/outputs INPUT_DIR=${srcdir}/inputs TESTLIST=${srcdir}/tests.list if test ! -f $TESTLIST ; then echo "ERROR: ($0) Test list $TESTLIST does not exist" exit 1 fi GXYRS_SCRIPT=${top_builddir}/gxyrs/gxyrs if test ! -f $GXYRS_SCRIPT ; then echo "ERROR: ($0) gxyrs script $GXYRS_SCRIPT does not exist" exit 1 fi # Check if gxyrs.pm module exists eval "${PERL} -I${gxyrs_srcdir} -Mgxyrs -e 1" if test $? -ne 0; then echo "ERROR: ($0) gxyrs module gxyrs.pm does not exist" exit 1 fi # fail/pass/total counts fail=0 pass=0 skip=0 tot=0 if test -z "$1" ; then all_tests=`awk 'BEGIN{FS="|"} /^#/{next} /^[ \t]*$/{next} {print $1}' $TESTLIST | sed 's; ;;g'` else all_tests=$* fi cat << EOF Starting tests in $here srcdir: $srcdir top_srcdir: $top_srcdir gxyrs srcdir: $gxyrs_srcdir INPUT_DIR: ${INPUT_DIR} GOLDEN_DIR: ${GOLDEN_DIR} script to test: ${top_srcdir}/gxyrs/gxyrs all_tests: ${all_tests} EOF for t in $all_tests ; do # strip any leading garbage t=`echo $t | sed 's;^\*;;g'` # figure out what files we need to copy for this test and what # arguments to feed refdes_renum files=`grep "^[ \t]*${t}[ \t]*|" $TESTLIST | awk 'BEGIN{FS="|"} {print $2}'` adjust_file=`grep "^[ \t]*${t}[ \t]*|" $TESTLIST | awk 'BEGIN{FS="|"} {print $3}'` args=`grep "^[ \t]*${t}[ \t]*|" $TESTLIST | awk 'BEGIN{FS="|"} {print $4}'` code=`grep "^[ \t]*${t}[ \t]*|" $TESTLIST | awk 'BEGIN{FS="|"} {print $5}'` out_file='out.txt' error_file='error.txt' if test "X$code" = "X" ; then code=0 fi tot=`expr $tot + 1` # create temporary run directory if test ! -d $rundir ; then mkdir -p $rundir fi # Create the files needed if test ! -z "$files" ; then for f in $files $adjust_file; do cp ${INPUT_DIR}/${f} ${rundir} chmod 644 ${rundir}/${f} done fi # run gxyrs # if test "X$adjust_file" = "X" -o "X$adjust_file" = "X " ; then command="cd ${rundir} && ${PERL} -I${gxyrs_srcdir} -w ${GXYRS_SCRIPT} $args $files --output $out_file 2> $error_file" else command="cd ${rundir} && ${PERL} -I${gxyrs_srcdir} -w ${GXYRS_SCRIPT} $args $files --adjust $adjust_file --output $out_file 2> $error_file" fi echo "Running test ${t}" echo $command eval $command rc=$? if test $rc -ne $code ; then echo "FAILED: gxyrs returned $rc which did not match the expected $code" fail=`expr $fail + 1` continue fi good=1 bad=0 soso=0 for f in ${files} ; do ref=${GOLDEN_DIR}/${t}-${f} out=${rundir}/$out_file ref_error=${GOLDEN_DIR}/${t}-${f}-error error=${rundir}/$error_file if test "X$regen" = "Xyes" ; then cp ${out} ${ref} echo "Regenerated ${ref}" cp ${error} ${ref_error} echo "Regenerated ${ref_error}" elif test -f ${ref} ; then if diff -w ${ref} ${out} >/dev/null ; then if diff -w ${ref_error} ${error} >/dev/null ; then echo "PASS" else echo "FAILED: See diff -w ${ref_error} ${error}" fail=`expr $fail + 1` bad=1 good=0 fi else echo "FAILED: See diff -w ${ref} ${out}" fail=`expr $fail + 1` bad=1 good=0 fi else echo "No reference file. Skipping" good=0 soso=1 fi done if test $soso -ne 0 ; then good=0 bad=0 fi pass=`expr $pass + $good` fail=`expr $fail + $bad` skip=`expr $skip + $soso` cd $here # clean up the rundirectory rm -fr ${rundir} done echo "Passed $pass, failed $fail, skipped $skip out of $tot tests." rc=0 if test $pass -ne $tot ; then rc=`expr $tot - $pass` fi exit $rc geda-gaf-1.8.2/utils/tests/Makefile.in0000664000175000017500000005435712220655726014474 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = utils/tests DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = refdes_renum gxyrs MOSTLYCLEANFILES = *.log core FILE *~ CLEANFILES = *.log core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu utils/tests/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu utils/tests/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic clean-libtool cscopelist-am ctags \ ctags-am distclean distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags tags-am uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/utils/tests/refdes_renum/0000775000175000017500000000000012220655762015147 500000000000000geda-gaf-1.8.2/utils/tests/refdes_renum/Makefile.am0000664000175000017500000000060312220654173017115 00000000000000SUBDIRS= inputs outputs AM_TESTS_ENVIRONMENT = PERL=${PERL} top_srcdir=${srcdir}/../.. check-local: $(AM_TESTS_ENVIRONMENT) srcdir=$(srcdir) $(SHELL) $(srcdir)/run_tests.sh EXTRA_DIST = run_tests.sh tests.list README.txt MOSTLYCLEANFILES = *.log core FILE *~ CLEANFILES = *.log core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in geda-gaf-1.8.2/utils/tests/refdes_renum/outputs/0000775000175000017500000000000012220655763016673 500000000000000geda-gaf-1.8.2/utils/tests/refdes_renum/outputs/single_pgskip1-file1.sch0000664000175000017500000000043712204177071023224 00000000000000# This is not really a schematic file, but refdes_renum # is supposed to _only_ modify "refdes=" lines. # # Do NOT add RCS keywords in this file or they will break # the diff's which get run refdes=C5 refdes=C3 refdes=R2 refdes=R3 refdes=J101 refdes=C106 refdes=J102 refdes=L2 refdes=C1 geda-gaf-1.8.2/utils/tests/refdes_renum/outputs/all_old_refdeses2-allold.sch0000664000175000017500000000054212204177071024121 00000000000000# This is not really a schematic file, but refdes_renum # is supposed to _only_ modify "refdes=" lines. # # Do NOT add RCS keywords in this file or they will break # the diff's which get run refdes=C5 refdes=R6 refdes=R7 refdes=C3 refdes=R2 refdes=R3 refdes=L18 refdes=J2 refdes=C8 refdes=C9 refdes=C7 refdes=J1 refdes=L17 refdes=C1 refdes=L19 refdes=R5 geda-gaf-1.8.2/utils/tests/refdes_renum/outputs/some_new_pgskip1-someold3.sch0000664000175000017500000000057712204177071024311 00000000000000# This is not really a schematic file, but refdes_renum # is supposed to _only_ modify "refdes=" lines. # # Do NOT add RCS keywords in this file or they will break # the diff's which get run refdes=C305 refdes=R306 refdes=R307 refdes=C303 refdes=R302 refdes=R303 refdes=L318 refdes=J302 refdes=C308 refdes=C309 refdes=C307 refdes=J301 refdes=L317 refdes=C301 refdes=L319 refdes=R305 geda-gaf-1.8.2/utils/tests/refdes_renum/outputs/all_old_refdeses1-allold.sch0000664000175000017500000000054212204177071024120 00000000000000# This is not really a schematic file, but refdes_renum # is supposed to _only_ modify "refdes=" lines. # # Do NOT add RCS keywords in this file or they will break # the diff's which get run refdes=C5 refdes=R6 refdes=R7 refdes=C3 refdes=R2 refdes=R3 refdes=L18 refdes=J2 refdes=C8 refdes=C9 refdes=C7 refdes=J1 refdes=L17 refdes=C1 refdes=L19 refdes=R5 geda-gaf-1.8.2/utils/tests/refdes_renum/outputs/single_renum-file1.sch0000664000175000017500000000043112204177071022766 00000000000000# This is not really a schematic file, but refdes_renum # is supposed to _only_ modify "refdes=" lines. # # Do NOT add RCS keywords in this file or they will break # the diff's which get run refdes=C5 refdes=C3 refdes=R2 refdes=R3 refdes=J1 refdes=C6 refdes=J2 refdes=L2 refdes=C1 geda-gaf-1.8.2/utils/tests/refdes_renum/outputs/single_pgskip3-more_than_10.sch0000664000175000017500000000066012204177071024500 00000000000000# This is not really a schematic file, but refdes_renum # is supposed to _only_ modify "refdes=" lines. # # Do NOT add RCS keywords in this file or they will break # the diff's which get run # # This file is designed to help check what happens if you # have a -pgskip which is too low so you run out of refdes's refdes=C? refdes=C? refdes=C? refdes=C? refdes=C? refdes=C? refdes=C? refdes=C? refdes=C? refdes=C? refdes=C? refdes=C? geda-gaf-1.8.2/utils/tests/refdes_renum/outputs/multi_renum-file3.sch0000664000175000017500000000044312204177071022644 00000000000000# This is not really a schematic file, but refdes_renum # is supposed to _only_ modify "refdes=" lines. # # Do NOT add RCS keywords in this file or they will break # the diff's which get run refdes=U5 refdes=C5 refdes=C3 refdes=R2 refdes=R3 refdes=J5 refdes=C8 refdes=J6 refdes=L2 refdes=C1 geda-gaf-1.8.2/utils/tests/refdes_renum/outputs/single_clear-file1.sch0000664000175000017500000000043112204177071022726 00000000000000# This is not really a schematic file, but refdes_renum # is supposed to _only_ modify "refdes=" lines. # # Do NOT add RCS keywords in this file or they will break # the diff's which get run refdes=C? refdes=C? refdes=R? refdes=R? refdes=J? refdes=C? refdes=J? refdes=L? refdes=C? geda-gaf-1.8.2/utils/tests/refdes_renum/outputs/Makefile.am0000664000175000017500000000240712204177071020643 00000000000000 # ls *.sch | sort | awk '{printf("\t%s \\\n", $0)}' >> Makefile.am EXTRA_DIST= \ all_new_refdeses-allnew.sch \ all_new_refdeses1-allnew.sch \ all_new_refdeses2-allnew.sch \ all_old_refdeses-allold.sch \ all_old_refdeses1-allold.sch \ all_old_refdeses2-allold.sch \ multi_clear-file1.sch \ multi_clear-file2.sch \ multi_clear-file3.sch \ multi_pgskip1-file1.sch \ multi_pgskip1-file2.sch \ multi_pgskip1-file3.sch \ multi_pgskip2-file1.sch \ multi_pgskip2-file2.sch \ multi_pgskip2-file3.sch \ multi_renum-file1.sch \ multi_renum-file2.sch \ multi_renum-file3.sch \ single_clear-file1.sch \ single_pgskip1-file1.sch \ single_pgskip2-file1.sch \ single_pgskip3-more_than_10.sch \ single_renum-file1.sch \ some_new_pgskip-someold1.sch \ some_new_pgskip-someold2.sch \ some_new_pgskip-someold3.sch \ some_new_pgskip1-someold1.sch \ some_new_pgskip1-someold2.sch \ some_new_pgskip1-someold3.sch \ some_new_pgskip2-someold1.sch \ some_new_pgskip2-someold2.sch \ some_new_pgskip2-someold3.sch \ some_old_refdeses-someold1.sch \ some_old_refdeses1-someold1.sch \ some_old_refdeses2-someold1.sch MOSTLYCLEANFILES = *.log core FILE *~ CLEANFILES = *.log core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in geda-gaf-1.8.2/utils/tests/refdes_renum/outputs/multi_pgskip2-file2.sch0000664000175000017500000000047512204177071023101 00000000000000# This is not really a schematic file, but refdes_renum # is supposed to _only_ modify "refdes=" lines. # # Do NOT add RCS keywords in this file or they will break # the diff's which get run refdes=C5 refdes=C3 refdes=R2 refdes=R3 refdes=J21 refdes=C26 refdes=J22 refdes=L2 refdes=C1 refdes=U21 refdes=U22 refdes=U23 geda-gaf-1.8.2/utils/tests/refdes_renum/outputs/some_new_pgskip2-someold1.sch0000664000175000017500000000057712204177071024310 00000000000000# This is not really a schematic file, but refdes_renum # is supposed to _only_ modify "refdes=" lines. # # Do NOT add RCS keywords in this file or they will break # the diff's which get run refdes=C105 refdes=R106 refdes=R107 refdes=C103 refdes=R102 refdes=R103 refdes=L118 refdes=J102 refdes=C108 refdes=C109 refdes=C107 refdes=J101 refdes=L117 refdes=C101 refdes=L119 refdes=R105 geda-gaf-1.8.2/utils/tests/refdes_renum/outputs/some_old_refdeses2-someold1.sch0000664000175000017500000000057712204177071024600 00000000000000# This is not really a schematic file, but refdes_renum # is supposed to _only_ modify "refdes=" lines. # # Do NOT add RCS keywords in this file or they will break # the diff's which get run refdes=C105 refdes=R106 refdes=R107 refdes=C103 refdes=R102 refdes=R103 refdes=L118 refdes=J102 refdes=C108 refdes=C109 refdes=C107 refdes=J101 refdes=L117 refdes=C101 refdes=L119 refdes=R105 geda-gaf-1.8.2/utils/tests/refdes_renum/outputs/multi_pgskip1-file3.sch0000664000175000017500000000045112204177071023073 00000000000000# This is not really a schematic file, but refdes_renum # is supposed to _only_ modify "refdes=" lines. # # Do NOT add RCS keywords in this file or they will break # the diff's which get run refdes=U5 refdes=C5 refdes=C3 refdes=R2 refdes=R3 refdes=J301 refdes=C306 refdes=J302 refdes=L2 refdes=C1 geda-gaf-1.8.2/utils/tests/refdes_renum/outputs/all_old_refdeses-allold.sch0000664000175000017500000000054212204177071024037 00000000000000# This is not really a schematic file, but refdes_renum # is supposed to _only_ modify "refdes=" lines. # # Do NOT add RCS keywords in this file or they will break # the diff's which get run refdes=C5 refdes=R6 refdes=R7 refdes=C3 refdes=R2 refdes=R3 refdes=L18 refdes=J2 refdes=C8 refdes=C9 refdes=C7 refdes=J1 refdes=L17 refdes=C1 refdes=L19 refdes=R5 geda-gaf-1.8.2/utils/tests/refdes_renum/outputs/all_new_refdeses2-allnew.sch0000664000175000017500000000063312204177071024150 00000000000000# This is not really a schematic file, but refdes_renum # is supposed to _only_ modify "refdes=" lines. # # Do NOT add RCS keywords in this file or they will break # the diff's which get run refdes=C1 refdes=C2 refdes=R1 refdes=R2 refdes=R3 refdes=R4 refdes=J1 refdes=C3 refdes=C4 refdes=C5 refdes=J2 refdes=L1 refdes=C6 refdes=R5 refdes=R6 refdes=R7 refdes=Q1 refdes=U1 refdes=Q2 refdes=U2 refdes=Q3 refdes=U3 geda-gaf-1.8.2/utils/tests/refdes_renum/outputs/multi_pgskip2-file1.sch0000664000175000017500000000043412204177071023073 00000000000000# This is not really a schematic file, but refdes_renum # is supposed to _only_ modify "refdes=" lines. # # Do NOT add RCS keywords in this file or they will break # the diff's which get run refdes=C5 refdes=C3 refdes=R2 refdes=R3 refdes=J11 refdes=C16 refdes=J12 refdes=L2 refdes=C1 geda-gaf-1.8.2/utils/tests/refdes_renum/outputs/some_new_pgskip-someold2.sch0000664000175000017500000000057712204177071024227 00000000000000# This is not really a schematic file, but refdes_renum # is supposed to _only_ modify "refdes=" lines. # # Do NOT add RCS keywords in this file or they will break # the diff's which get run refdes=C222 refdes=R216 refdes=R217 refdes=C213 refdes=R212 refdes=R213 refdes=L228 refdes=J212 refdes=C223 refdes=C224 refdes=C217 refdes=J211 refdes=L227 refdes=C211 refdes=L229 refdes=R215 geda-gaf-1.8.2/utils/tests/refdes_renum/outputs/some_new_pgskip2-someold3.sch0000664000175000017500000000057712204177071024312 00000000000000# This is not really a schematic file, but refdes_renum # is supposed to _only_ modify "refdes=" lines. # # Do NOT add RCS keywords in this file or they will break # the diff's which get run refdes=C305 refdes=R306 refdes=R307 refdes=C303 refdes=R302 refdes=R303 refdes=L318 refdes=J302 refdes=C308 refdes=C309 refdes=C307 refdes=J301 refdes=L317 refdes=C301 refdes=L319 refdes=R305 geda-gaf-1.8.2/utils/tests/refdes_renum/outputs/Makefile.in0000664000175000017500000004221212220655727020661 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # ls *.sch | sort | awk '{printf("\t%s \\\n", $0)}' >> Makefile.am VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = utils/tests/refdes_renum/outputs DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = \ all_new_refdeses-allnew.sch \ all_new_refdeses1-allnew.sch \ all_new_refdeses2-allnew.sch \ all_old_refdeses-allold.sch \ all_old_refdeses1-allold.sch \ all_old_refdeses2-allold.sch \ multi_clear-file1.sch \ multi_clear-file2.sch \ multi_clear-file3.sch \ multi_pgskip1-file1.sch \ multi_pgskip1-file2.sch \ multi_pgskip1-file3.sch \ multi_pgskip2-file1.sch \ multi_pgskip2-file2.sch \ multi_pgskip2-file3.sch \ multi_renum-file1.sch \ multi_renum-file2.sch \ multi_renum-file3.sch \ single_clear-file1.sch \ single_pgskip1-file1.sch \ single_pgskip2-file1.sch \ single_pgskip3-more_than_10.sch \ single_renum-file1.sch \ some_new_pgskip-someold1.sch \ some_new_pgskip-someold2.sch \ some_new_pgskip-someold3.sch \ some_new_pgskip1-someold1.sch \ some_new_pgskip1-someold2.sch \ some_new_pgskip1-someold3.sch \ some_new_pgskip2-someold1.sch \ some_new_pgskip2-someold2.sch \ some_new_pgskip2-someold3.sch \ some_old_refdeses-someold1.sch \ some_old_refdeses1-someold1.sch \ some_old_refdeses2-someold1.sch MOSTLYCLEANFILES = *.log core FILE *~ CLEANFILES = *.log core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu utils/tests/refdes_renum/outputs/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu utils/tests/refdes_renum/outputs/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags-am uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/utils/tests/refdes_renum/outputs/all_new_refdeses1-allnew.sch0000664000175000017500000000063312204177071024147 00000000000000# This is not really a schematic file, but refdes_renum # is supposed to _only_ modify "refdes=" lines. # # Do NOT add RCS keywords in this file or they will break # the diff's which get run refdes=C1 refdes=C2 refdes=R1 refdes=R2 refdes=R3 refdes=R4 refdes=J1 refdes=C3 refdes=C4 refdes=C5 refdes=J2 refdes=L1 refdes=C6 refdes=R5 refdes=R6 refdes=R7 refdes=Q1 refdes=U1 refdes=Q2 refdes=U2 refdes=Q3 refdes=U3 geda-gaf-1.8.2/utils/tests/refdes_renum/outputs/some_old_refdeses-someold1.sch0000664000175000017500000000057712204177071024516 00000000000000# This is not really a schematic file, but refdes_renum # is supposed to _only_ modify "refdes=" lines. # # Do NOT add RCS keywords in this file or they will break # the diff's which get run refdes=C105 refdes=R106 refdes=R107 refdes=C103 refdes=R102 refdes=R103 refdes=L118 refdes=J102 refdes=C108 refdes=C109 refdes=C107 refdes=J101 refdes=L117 refdes=C101 refdes=L119 refdes=R105 geda-gaf-1.8.2/utils/tests/refdes_renum/outputs/single_pgskip2-file1.sch0000664000175000017500000000043412204177071023222 00000000000000# This is not really a schematic file, but refdes_renum # is supposed to _only_ modify "refdes=" lines. # # Do NOT add RCS keywords in this file or they will break # the diff's which get run refdes=C5 refdes=C3 refdes=R2 refdes=R3 refdes=J11 refdes=C16 refdes=J12 refdes=L2 refdes=C1 geda-gaf-1.8.2/utils/tests/refdes_renum/outputs/multi_renum-file2.sch0000664000175000017500000000046712204177071022651 00000000000000# This is not really a schematic file, but refdes_renum # is supposed to _only_ modify "refdes=" lines. # # Do NOT add RCS keywords in this file or they will break # the diff's which get run refdes=C5 refdes=C3 refdes=R2 refdes=R3 refdes=J3 refdes=C7 refdes=J4 refdes=L2 refdes=C1 refdes=U6 refdes=U7 refdes=U8 geda-gaf-1.8.2/utils/tests/refdes_renum/outputs/multi_clear-file1.sch0000664000175000017500000000043112204177071022577 00000000000000# This is not really a schematic file, but refdes_renum # is supposed to _only_ modify "refdes=" lines. # # Do NOT add RCS keywords in this file or they will break # the diff's which get run refdes=C? refdes=C? refdes=R? refdes=R? refdes=J? refdes=C? refdes=J? refdes=L? refdes=C? geda-gaf-1.8.2/utils/tests/refdes_renum/outputs/some_new_pgskip-someold3.sch0000664000175000017500000000057712204177071024230 00000000000000# This is not really a schematic file, but refdes_renum # is supposed to _only_ modify "refdes=" lines. # # Do NOT add RCS keywords in this file or they will break # the diff's which get run refdes=C305 refdes=R306 refdes=R307 refdes=C303 refdes=R302 refdes=R303 refdes=L318 refdes=J302 refdes=C308 refdes=C309 refdes=C307 refdes=J301 refdes=L317 refdes=C301 refdes=L319 refdes=R305 geda-gaf-1.8.2/utils/tests/refdes_renum/outputs/some_old_refdeses1-someold1.sch0000664000175000017500000000057712204177071024577 00000000000000# This is not really a schematic file, but refdes_renum # is supposed to _only_ modify "refdes=" lines. # # Do NOT add RCS keywords in this file or they will break # the diff's which get run refdes=C105 refdes=R106 refdes=R107 refdes=C103 refdes=R102 refdes=R103 refdes=L118 refdes=J102 refdes=C108 refdes=C109 refdes=C107 refdes=J101 refdes=L117 refdes=C101 refdes=L119 refdes=R105 geda-gaf-1.8.2/utils/tests/refdes_renum/outputs/some_new_pgskip2-someold2.sch0000664000175000017500000000057712204177071024311 00000000000000# This is not really a schematic file, but refdes_renum # is supposed to _only_ modify "refdes=" lines. # # Do NOT add RCS keywords in this file or they will break # the diff's which get run refdes=C222 refdes=R216 refdes=R217 refdes=C213 refdes=R212 refdes=R213 refdes=L228 refdes=J212 refdes=C223 refdes=C224 refdes=C217 refdes=J211 refdes=L227 refdes=C211 refdes=L229 refdes=R215 geda-gaf-1.8.2/utils/tests/refdes_renum/outputs/some_new_pgskip1-someold1.sch0000664000175000017500000000057712204177071024307 00000000000000# This is not really a schematic file, but refdes_renum # is supposed to _only_ modify "refdes=" lines. # # Do NOT add RCS keywords in this file or they will break # the diff's which get run refdes=C105 refdes=R106 refdes=R107 refdes=C103 refdes=R102 refdes=R103 refdes=L118 refdes=J102 refdes=C108 refdes=C109 refdes=C107 refdes=J101 refdes=L117 refdes=C101 refdes=L119 refdes=R105 geda-gaf-1.8.2/utils/tests/refdes_renum/outputs/some_new_pgskip1-someold2.sch0000664000175000017500000000057712204177071024310 00000000000000# This is not really a schematic file, but refdes_renum # is supposed to _only_ modify "refdes=" lines. # # Do NOT add RCS keywords in this file or they will break # the diff's which get run refdes=C222 refdes=R216 refdes=R217 refdes=C213 refdes=R212 refdes=R213 refdes=L228 refdes=J212 refdes=C223 refdes=C224 refdes=C217 refdes=J211 refdes=L227 refdes=C211 refdes=L229 refdes=R215 geda-gaf-1.8.2/utils/tests/refdes_renum/outputs/multi_clear-file3.sch0000664000175000017500000000044312204177071022604 00000000000000# This is not really a schematic file, but refdes_renum # is supposed to _only_ modify "refdes=" lines. # # Do NOT add RCS keywords in this file or they will break # the diff's which get run refdes=U? refdes=C? refdes=C? refdes=R? refdes=R? refdes=J? refdes=C? refdes=J? refdes=L? refdes=C? geda-gaf-1.8.2/utils/tests/refdes_renum/outputs/some_new_pgskip-someold1.sch0000664000175000017500000000057712204177071024226 00000000000000# This is not really a schematic file, but refdes_renum # is supposed to _only_ modify "refdes=" lines. # # Do NOT add RCS keywords in this file or they will break # the diff's which get run refdes=C105 refdes=R106 refdes=R107 refdes=C103 refdes=R102 refdes=R103 refdes=L118 refdes=J102 refdes=C108 refdes=C109 refdes=C107 refdes=J101 refdes=L117 refdes=C101 refdes=L119 refdes=R105 geda-gaf-1.8.2/utils/tests/refdes_renum/outputs/multi_pgskip1-file2.sch0000664000175000017500000000050312204177071023070 00000000000000# This is not really a schematic file, but refdes_renum # is supposed to _only_ modify "refdes=" lines. # # Do NOT add RCS keywords in this file or they will break # the diff's which get run refdes=C5 refdes=C3 refdes=R2 refdes=R3 refdes=J201 refdes=C206 refdes=J202 refdes=L2 refdes=C1 refdes=U201 refdes=U202 refdes=U203 geda-gaf-1.8.2/utils/tests/refdes_renum/outputs/all_new_refdeses-allnew.sch0000664000175000017500000000063312204177071024066 00000000000000# This is not really a schematic file, but refdes_renum # is supposed to _only_ modify "refdes=" lines. # # Do NOT add RCS keywords in this file or they will break # the diff's which get run refdes=C1 refdes=C2 refdes=R1 refdes=R2 refdes=R3 refdes=R4 refdes=J1 refdes=C3 refdes=C4 refdes=C5 refdes=J2 refdes=L1 refdes=C6 refdes=R5 refdes=R6 refdes=R7 refdes=Q1 refdes=U1 refdes=Q2 refdes=U2 refdes=Q3 refdes=U3 geda-gaf-1.8.2/utils/tests/refdes_renum/outputs/multi_clear-file2.sch0000664000175000017500000000046712204177071022611 00000000000000# This is not really a schematic file, but refdes_renum # is supposed to _only_ modify "refdes=" lines. # # Do NOT add RCS keywords in this file or they will break # the diff's which get run refdes=C? refdes=C? refdes=R? refdes=R? refdes=J? refdes=C? refdes=J? refdes=L? refdes=C? refdes=U? refdes=U? refdes=U? geda-gaf-1.8.2/utils/tests/refdes_renum/outputs/multi_pgskip2-file3.sch0000664000175000017500000000044612204177071023100 00000000000000# This is not really a schematic file, but refdes_renum # is supposed to _only_ modify "refdes=" lines. # # Do NOT add RCS keywords in this file or they will break # the diff's which get run refdes=U5 refdes=C5 refdes=C3 refdes=R2 refdes=R3 refdes=J31 refdes=C36 refdes=J32 refdes=L2 refdes=C1 geda-gaf-1.8.2/utils/tests/refdes_renum/outputs/multi_renum-file1.sch0000664000175000017500000000043112204177071022637 00000000000000# This is not really a schematic file, but refdes_renum # is supposed to _only_ modify "refdes=" lines. # # Do NOT add RCS keywords in this file or they will break # the diff's which get run refdes=C5 refdes=C3 refdes=R2 refdes=R3 refdes=J1 refdes=C6 refdes=J2 refdes=L2 refdes=C1 geda-gaf-1.8.2/utils/tests/refdes_renum/outputs/multi_pgskip1-file1.sch0000664000175000017500000000043712204177071023075 00000000000000# This is not really a schematic file, but refdes_renum # is supposed to _only_ modify "refdes=" lines. # # Do NOT add RCS keywords in this file or they will break # the diff's which get run refdes=C5 refdes=C3 refdes=R2 refdes=R3 refdes=J101 refdes=C106 refdes=J102 refdes=L2 refdes=C1 geda-gaf-1.8.2/utils/tests/refdes_renum/tests.list0000664000175000017500000000237412204177071017126 00000000000000# $Id$ # # # Format: # # test_name | input files | extra flags to pass to refdes_renum | return code if non-zero expected # # ----------------------------------------- # Single schematic page # ----------------------------------------- single_renum | file1.sch | single_clear | file1.sch | --clear single_pgskip1 | file1.sch | --pgskip single_pgskip2 | file1.sch | --pgskip 10 # check to see what happens if we have more elements of a given # prefix than the value we used for pgskip # Return code should be 3 single_pgskip3 | more_than_10.sch | --pgskip 10 | 3 multi_renum | file1.sch file2.sch file3.sch | multi_clear | file1.sch file2.sch file3.sch | --clear multi_pgskip1 | file1.sch file2.sch file3.sch | --pgskip multi_pgskip2 | file1.sch file2.sch file3.sch | --pgskip 10 # Tests added by SDB to verify --gentle operation # Since --gentle is now default, I run these tests both ways. all_new_refdeses1 | allnew.sch | --gentle all_new_refdeses2 | allnew.sch | some_old_refdeses1 | someold1.sch | --gentle some_old_refdeses2 | someold1.sch | all_old_refdeses1 | allold.sch | --gentle all_old_refdeses2 | allold.sch | some_new_pgskip1 | someold1.sch someold2.sch someold3.sch | --gentle --pgskip some_new_pgskip2 | someold1.sch someold2.sch someold3.sch | --pgskip geda-gaf-1.8.2/utils/tests/refdes_renum/Makefile.in0000664000175000017500000005502612220655727017145 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = utils/tests/refdes_renum DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = inputs outputs AM_TESTS_ENVIRONMENT = PERL=${PERL} top_srcdir=${srcdir}/../.. EXTRA_DIST = run_tests.sh tests.list README.txt MOSTLYCLEANFILES = *.log core FILE *~ CLEANFILES = *.log core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu utils/tests/refdes_renum/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu utils/tests/refdes_renum/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) check-local check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(am__recursive_targets) check-am install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am check-local clean clean-generic clean-libtool \ cscopelist-am ctags ctags-am distclean distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am check-local: $(AM_TESTS_ENVIRONMENT) srcdir=$(srcdir) $(SHELL) $(srcdir)/run_tests.sh # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/utils/tests/refdes_renum/inputs/0000775000175000017500000000000012220655762016471 500000000000000geda-gaf-1.8.2/utils/tests/refdes_renum/inputs/someold2.sch0000664000175000017500000000056112204177071020630 00000000000000# This is not really a schematic file, but refdes_renum # is supposed to _only_ modify "refdes=" lines. # # Do NOT add RCS keywords in this file or they will break # the diff's which get run refdes=C222 refdes=R? refdes=R? refdes=C213 refdes=R212 refdes=R213 refdes=L? refdes=J? refdes=C? refdes=C? refdes=C217 refdes=J211 refdes=L227 refdes=C211 refdes=L? refdes=R215 geda-gaf-1.8.2/utils/tests/refdes_renum/inputs/Makefile.am0000664000175000017500000000046612204177071020445 00000000000000 EXTRA_DIST= \ allnew.sch \ allold.sch \ file1.sch \ file2.sch \ file3.sch \ more_than_10.sch \ someold1.sch \ someold2.sch \ someold3.sch MOSTLYCLEANFILES = *.log core FILE *~ CLEANFILES = *.log core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in geda-gaf-1.8.2/utils/tests/refdes_renum/inputs/someold3.sch0000664000175000017500000000056112204177071020631 00000000000000# This is not really a schematic file, but refdes_renum # is supposed to _only_ modify "refdes=" lines. # # Do NOT add RCS keywords in this file or they will break # the diff's which get run refdes=C305 refdes=R? refdes=R? refdes=C303 refdes=R302 refdes=R303 refdes=L? refdes=J? refdes=C? refdes=C? refdes=C307 refdes=J301 refdes=L317 refdes=C301 refdes=L? refdes=R305 geda-gaf-1.8.2/utils/tests/refdes_renum/inputs/someold1.sch0000664000175000017500000000056112204177071020627 00000000000000# This is not really a schematic file, but refdes_renum # is supposed to _only_ modify "refdes=" lines. # # Do NOT add RCS keywords in this file or they will break # the diff's which get run refdes=C105 refdes=R? refdes=R? refdes=C103 refdes=R102 refdes=R103 refdes=L? refdes=J? refdes=C? refdes=C? refdes=C107 refdes=J101 refdes=L117 refdes=C101 refdes=L? refdes=R105 geda-gaf-1.8.2/utils/tests/refdes_renum/inputs/Makefile.in0000664000175000017500000004026612220655727020467 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = utils/tests/refdes_renum/inputs DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = \ allnew.sch \ allold.sch \ file1.sch \ file2.sch \ file3.sch \ more_than_10.sch \ someold1.sch \ someold2.sch \ someold3.sch MOSTLYCLEANFILES = *.log core FILE *~ CLEANFILES = *.log core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu utils/tests/refdes_renum/inputs/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu utils/tests/refdes_renum/inputs/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags-am uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/utils/tests/refdes_renum/inputs/allnew.sch0000664000175000017500000000063312204177071020366 00000000000000# This is not really a schematic file, but refdes_renum # is supposed to _only_ modify "refdes=" lines. # # Do NOT add RCS keywords in this file or they will break # the diff's which get run refdes=C? refdes=C? refdes=R? refdes=R? refdes=R? refdes=R? refdes=J? refdes=C? refdes=C? refdes=C? refdes=J? refdes=L? refdes=C? refdes=R? refdes=R? refdes=R? refdes=Q? refdes=U? refdes=Q? refdes=U? refdes=Q? refdes=U? geda-gaf-1.8.2/utils/tests/refdes_renum/inputs/file2.sch0000664000175000017500000000046712204177071020112 00000000000000# This is not really a schematic file, but refdes_renum # is supposed to _only_ modify "refdes=" lines. # # Do NOT add RCS keywords in this file or they will break # the diff's which get run refdes=C5 refdes=C3 refdes=R2 refdes=R3 refdes=J? refdes=C? refdes=J? refdes=L2 refdes=C1 refdes=U? refdes=U? refdes=U? geda-gaf-1.8.2/utils/tests/refdes_renum/inputs/more_than_10.sch0000664000175000017500000000066012204177071021360 00000000000000# This is not really a schematic file, but refdes_renum # is supposed to _only_ modify "refdes=" lines. # # Do NOT add RCS keywords in this file or they will break # the diff's which get run # # This file is designed to help check what happens if you # have a -pgskip which is too low so you run out of refdes's refdes=C? refdes=C? refdes=C? refdes=C? refdes=C? refdes=C? refdes=C? refdes=C? refdes=C? refdes=C? refdes=C? refdes=C? geda-gaf-1.8.2/utils/tests/refdes_renum/inputs/file1.sch0000664000175000017500000000043112204177071020100 00000000000000# This is not really a schematic file, but refdes_renum # is supposed to _only_ modify "refdes=" lines. # # Do NOT add RCS keywords in this file or they will break # the diff's which get run refdes=C5 refdes=C3 refdes=R2 refdes=R3 refdes=J? refdes=C? refdes=J? refdes=L2 refdes=C1 geda-gaf-1.8.2/utils/tests/refdes_renum/inputs/allold.sch0000664000175000017500000000054212204177071020352 00000000000000# This is not really a schematic file, but refdes_renum # is supposed to _only_ modify "refdes=" lines. # # Do NOT add RCS keywords in this file or they will break # the diff's which get run refdes=C5 refdes=R6 refdes=R7 refdes=C3 refdes=R2 refdes=R3 refdes=L18 refdes=J2 refdes=C8 refdes=C9 refdes=C7 refdes=J1 refdes=L17 refdes=C1 refdes=L19 refdes=R5 geda-gaf-1.8.2/utils/tests/refdes_renum/inputs/file3.sch0000664000175000017500000000044312204177071020105 00000000000000# This is not really a schematic file, but refdes_renum # is supposed to _only_ modify "refdes=" lines. # # Do NOT add RCS keywords in this file or they will break # the diff's which get run refdes=U5 refdes=C5 refdes=C3 refdes=R2 refdes=R3 refdes=J? refdes=C? refdes=J? refdes=L2 refdes=C1 geda-gaf-1.8.2/utils/tests/refdes_renum/README.txt0000664000175000017500000000062412204177071016561 00000000000000# $Id$ # This directory contains the testsuite for the "refdes_renum" script. No modifications to refdes_renum are allowed without adding tests here. If a bug report is filed, a test must be added to show the bug before it is allowed to be fixed. If you require additional input files, add them in the inputs/ directory. Reference output files go in outputs/. Add the test description to tests.list. geda-gaf-1.8.2/utils/tests/refdes_renum/run_tests.sh0000775000175000017500000001071712204177071017454 00000000000000#!/bin/sh # # $Id$ # # Copyright (C) 2007-2008 Dan McMahill # This file is part of refdes_renum. # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation, version 2 # of the License. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301, USA. regen=no usage() { cat << EOF $0 -- Testsuite program for refdes_renum Usage $0 [-h | --help] $0 [-r | --regen] [test1 [test2 [....]]] Options -h | --help Prints this help message and exits. -r | --regen Regenerates the reference files. If you use this option, YOU MUST HAND VERIFY THE RESULTS BEFORE COMMITTING to the repository. Description $0 reads a file, tests.list, describing tests to run on refdes_renum. If no specific test is specified on the $0 command line, then all tests are run. Examples $0 $0 basic_renum $0 --regen new_test EOF } while test -n "$1" do case "$1" in -h|--help) usage exit 0 ;; -r|--regen) # regenerate the 'golden' output files. Use this with caution. # In particular, all differences should be noted and understood. regen=yes shift ;; -*) echo "unknown option: $1" usage exit 1 ;; *) break ;; esac done # make sure we have the right paths when running this from inside the # source tree and also from outside the source tree. here=`pwd` srcdir=${srcdir:-$here} srcdir=`cd $srcdir && pwd` top_srcdir=${top_srcdir:-$here/../..} top_srcdir=`cd $top_srcdir && pwd` # the perl program PERL=${PERL:-perl} rundir=${here}/run GOLDEN_DIR=${srcdir}/outputs INPUT_DIR=${srcdir}/inputs TESTLIST=${srcdir}/tests.list if test ! -f $TESTLIST ; then echo "ERROR: ($0) Test list $TESTLIST does not exist" exit 1 fi # fail/pass/total counts fail=0 pass=0 skip=0 tot=0 if test -z "$1" ; then all_tests=`awk 'BEGIN{FS="|"} /^#/{next} /^[ \t]*$/{next} {print $1}' $TESTLIST | sed 's; ;;g'` else all_tests=$* fi cat << EOF Starting tests in $here srcdir: $srcdir top_srcdir: $top_srcdir INPUT_DIR: ${INPUT_DIR} GOLDEN_DIR: ${GOLDEN_DIR} all_tests: ${all_tests} EOF for t in $all_tests ; do # strip any leading garbage t=`echo $t | sed 's;^\*;;g'` # figure out what files we need to copy for this test and what # arguments to feed refdes_renum files=`grep "^[ \t]*${t}[ \t]*|" $TESTLIST | awk 'BEGIN{FS="|"} {print $2}'` args=`grep "^[ \t]*${t}[ \t]*|" $TESTLIST | awk 'BEGIN{FS="|"} {print $3}'` code=`grep "^[ \t]*${t}[ \t]*|" $TESTLIST | awk 'BEGIN{FS="|"} {print $4}'` if test "X$code" = "X" ; then code=0 fi tot=`expr $tot + 1` # create temporary run directory if test ! -d $rundir ; then mkdir -p $rundir fi # Create the files needed if test ! -z "$files" ; then for f in $files ; do cp ${INPUT_DIR}/${f} ${rundir} chmod 644 ${rundir}/${f} done fi # run refdes_renum # echo "${PERL} -w ${top_srcdir}/scripts/refdes_renum $args $files" cd ${rundir} && ${PERL} -w ${top_srcdir}/scripts/refdes_renum $args $files rc=$? if test $rc -ne $code ; then echo "FAILED: refdes_renum returned $rc which did not match the expected $code" fail=`expr $fail + 1` continue fi good=1 bad=0 soso=0 for f in ${files} ; do ref=${GOLDEN_DIR}/${t}-${f} out=${rundir}/${f} if test "X$regen" = "Xyes" ; then cp ${out} ${ref} echo "Regenerated ${ref}" elif test -f ${ref} ; then if diff -w ${ref} ${out} >/dev/null ; then echo "PASS" else echo "FAILED: See diff -w ${ref} ${out}" fail=`expr $fail + 1` bad=1 good=0 fi else echo "No reference file. Skipping" good=0 soso=1 fi done if test $soso -ne 0 ; then good=0 bad=0 fi pass=`expr $pass + $good` fail=`expr $fail + $bad` skip=`expr $skip + $soso` cd $here # clean up the rundirectory rm -fr ${rundir} done echo "Passed $pass, failed $fail, skipped $skip out of $tot tests." rc=0 if test $pass -ne $tot ; then rc=`expr $tot - $pass` fi exit $rc geda-gaf-1.8.2/utils/scripts/0000775000175000017500000000000012220655760013014 500000000000000geda-gaf-1.8.2/utils/scripts/Makefile.am0000664000175000017500000000172512204177071014771 00000000000000## $Id$ ## ## Process this file with automake to produce Makefile.in bin_SCRIPTS = sarlacc_sym refdes_renum \ tragesym pads_backannotate pcb_backannotate garchive gsymfix \ schdiff sw2asc noinst_SCRIPTS = gnet_hier_verilog.sh gschupdate gsymupdate EXTRA_DIST = convert_sym.awk gpstoimage mk_char_tab.pl \ sarlacc_sym gschupdate gsymupdate refdes_renum gsymfix \ tragesym pads_backannotate pcb_backannotate garchive.py \ gnet_hier_verilog.sh schdiff sw2asc.in ## SDB's stuff to enable garchive. This hardcodes the path to the ## system libraries into garchive prior to installation. garchive: $(srcdir)/garchive.py sed -e "s#GEDADATADIR#$(GEDADATADIR)#" $(srcdir)/garchive.py > tmp$@ chmod a+x tmp$@ mv -f tmp$@ $@ MOSTLYCLEANFILES = *.log *.ps core FILE tmp *~ CLEANFILES = *.log *.ps core FILE tmp *~ DISTCLEANFILES = *.log core FILE tmp *~ garchive sw2asc MAINTAINERCLEANFILES = *.log *.ps core FILE tmp *~ Makefile.in garchive sw2asc geda-gaf-1.8.2/utils/scripts/garchive.py0000664000175000017500000011110712204177071015073 00000000000000#! /usr/bin/env python # # Copyright (C) 2003 Stuart Brorson # #------------------------------------------------------------------ # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA #------------------------------------------------------------------- """ This program is used to create a gEDA design archive. It operates in two modes: archive mode and extract mode. In archive mode it creates a project archive from a bunch of project files, and in extract mode it extracts the files from the archive and places them in the local dir. Detailed description: Information about program invocation is held in the Usage string below. --- Archive mode algorithm: 1. It gets the local directory name, as well as a bunch of info from the command line & stores all the info in the object "Args". Then it cd's into /tmp (ScratchDirectory). 2. It gets the symbol library search path from $(GEDADATADIR)/ gschemrc-common and ./gschemrc & creates a list of all search paths. Note that the system-dependent search path is hardcoded into the script by "make" when the file is installed. 3. It reads the list of files to archive from ./garchiverc (or the -f substitute) and the command line and creates an internal list of files to archive. 4. It finds the .sch files among the archive list, and creates an internal list of schem files process/archive. 5. For each schem file in the list, it opens the file, runs through it, and builds a list of symbols used in that file. Naturally, duplicate symbols are ignored. 6. It opens a directory called /tmp/garchive-symbols. For each symbol file in the symbol file list, it gets the file from $(GEDADATADIR)/sym and sticks it into ./garchive-symbols. 7. It takes the local gschemrc, and munges it so that gschem will find all symbols in ./garchive-symbols. 8. It then creates a tar archive of the following: * All files listed in garchiverc and/or the command line. * The entire ./garchive-symbols directory * gschemrc * garchiverc 9. The prog then gzips the tar archive, renames it to the name specified by the user, and sticks it in the user's directory 10. It then cd's back to the local directory & deletes the leftover cruft from /tmp (or ScratchDirectory). Important data structures during creation of archive: * LibraryPathList -- list of paths to symbol libraries. * ArchiveFileList -- list of all files to archive. Includes gschemrc and garchiverc, as well as garchive-symbols/ * SchemFileList -- list of schematic files found. * SymbolFileList -- list of symbol files found. Duplicates are ignored. --- Extract mode algorithm: 1. Copy archive file into /tmp (or ScratchDirectory). 2. Create a list of archive's contents using "tar -t -f ProjectArchive" 3. Extract files into /tmp 3. Loop on file list. Move each file into user's directory. Before each move, make sure that no overwrite of existing files will occur. After each iteration, clean up the cruft left in /tmp. Note: File names used internally have no / prefix. Dir names have no / suffix. Therefore, must include / manually in each case. --- TBD suggestions from users: None right now . . . . --- Revision history: 20031114 -- First (alpha) version by SDB. 20031121 -- Incorporated SPICE file archiving. Now get /tmp dir from environment. Presence of RC files is now optional -- user is queried about creating them if they don't exist. 20031204 -- Changed program so that it keeps .tar.gz as the archive file suffix due to popular demand. """ ############################################################################ import sys, copy, string, getopt, re, os, commands ############################################################################ # Helper fcns and data structures. # ############################################################################ #--------------------------------------------------------------------------- # This is the help string. Usage =\ """ garchive -- the gEDA archiving utility. Used to create as well as extract gEDA designs from an archive. The two modes of operation are "archive mode" (archive creation) and "extract mode". Archive mode is the default. Command line switches: -f -- Optional. Used in archive mode. Read files to archive from instead of garchiverc. -v -- Optional. Verbose mode. Used in both archive and extract mode. Spews lots of info about what the prog is doing. -e -- Mandatory if you want to extract. Extract mode. Open up the archive specified on the command line. -a -- Optional. Archive mode. Archive mode (i.e. create a project archive) is the default; this flag exists to give people the warm and fuzzies. -o -- Optional. Used in archive mode. Specifies the name of the output archive file. The output file extension should be ".tar.gz". If this flag is not specified, the output file name is "ProjectArchive.tar.gz". Example usage: Create an archive named MyArchive.tar.gz (files to store listed in garchiverc): garchive -o MyArchive.tar.gz Verbosely create an archive (archives files listed on cmd line as well as those listed in garchiverc): garchive -v -o MyArchive.tar.gz README Schematic1.sch Schematic2.sch Schematic3.sch Extract an archive: garchive -e ProjectArchive.tar.gz Copyright (C) 2003 by SDB. Released under the GPL. """ #--------------------------------------------------------------------------- def DebugSpew(Args, String): """ This prints out String when the -v flag is set, otherwise is silent """ if (Args.VerboseMode == "verbose"): print("---- "+ String) return #--------------------------------------------------------------------------- def CheckFilename(Filename): """ This checks a string to make sure that it is a valid filename. It currently doesn't do very much. . . . """ if (re.search('\.tar\.gz$', Filename)): return 1 else: return 0 #---------------------------------------------------------------------- def NormalizePath(SearchDir, DirName): """ This fcn expands environment variables like ${GEDADATA} and ${HOME} in full absolute file/directory names. Environment vars must be in the form ${foo}. It expects to see a directory or file name like "${foo}/bar/baz/". Only one env var may be expanded at a time. SearchDir is the base directory from which all relative paths are normalized. """ # First replace environment var if re.match('\${[\w]+}', DirName): Match = re.search('(\${)([\w]+)(}/)([\w/]+)', DirName) EnvVar = Match.group(2) # Need to make sure that something exists beyond ${ENVVAR} try: Remainder = Match.group(4) except KeyError: Remainder = "" # Check if env variable is ${GEDADATA}. If so, just replace it with Args.GedaDataDir if (EnvVar == "GEDADATA"): EnvVar = Args.GedaDataDir else: # Try to get environment variable try: EnvVar = os.environ[EnvVar] except KeyError: print ("Env variable "+EnvVar+" not defined in current environment") print ("Try setting it. . . .") sys.exit(1) DirName = EnvVar+"/"+Remainder # Now cd into SearchDir and perform a filename normalization # (to get rid of .. . and other relative file paths . . .) # Then cd back. CurrentDir = os.getcwd() os.chdir(SearchDir) DirName = os.path.abspath(DirName) os.chdir(CurrentDir) return DirName #--------------------------------------------------------------------------- class CmdLineArgs: """ This class holds info about the environment and cmd line args passed to the program. It has only one method: the constructor, which gets the args and fills out the public vars. The public vars are: ProgramMode = "archive", "extract" OutputFileName (archive only) = the name of the archive. default = ProjectArchive.tar.gz InputFileNames = [list of input files on command line] RcFileName (archive only) = name of garchiverc to use (instead of garchiverc) VerboseMode = "quiet", "verbose" FilesToArchiveList (archive only) UserDir = Directory holding files to archive. (Directory where garchive was invoked.) ScratchDir = "/tmp" by default FileArchiveDir = "gschem-files" by default GedaDataDir = directory holding GEDA data & files such as "system-gafrc" """ def __init__(self): """ Constructor: parse through cmd line args and fill out vars. """ self.VerboseMode = "quiet" # default self.ProgramMode = "archive" # default self.GarchiveRcFileName = "garchiverc" # default self.GschemRcFileName = "gschemrc" # default self.OutputFileName = "ProjectArchive.tar.gz" # default self.UserDir = os.path.abspath(os.getcwd()) self.FileArchiveDir = "gschem-files" # default # Get GedaDataDir -- this will be set by the Makefile, which does # an sed replacement of GEDADATADIR self.GedaDataDir = "GEDADATADIR" # self.GedaDataDir = "/home/binaries/geda/share/gEDA" # Used for debug # Get ScratchDir, either from environment, or just use /tmp as default. for EnvVar in ["TMP", "TMPVAR", "TEMP"]: try: TempDir = os.environ[EnvVar] except: continue # Not present, continue looping else: self.ScratchDir = TempDir # Got it! break else: self.ScratchDir = "/tmp" # no env var set, use default # Get and process command line args try: OptList, Args = getopt.getopt(sys.argv[1:], 'aef:ho:v') except getopt.error: print Usage # print out usage string if # user uses invalid flag. sys.exit(1) # First pass through args. Get switch settings & set program modes. for Option, Value in OptList: if Option == '-a': self.ProgramMode = "archive" if Option == '-e': self.ProgramMode = "extract" if Option == '-v': self.VerboseMode = "verbose" if Option == '-h': print Usage sys.exit(0) # Second pass. Do sanity checking and get configured filenames. for Option, Value in OptList: if Option == '-a': if self.ProgramMode == "extract": # sanity check raise SyntaxError("Incompatible command line args") if Option == '-e': if self.ProgramMode == "archive": # sanity check raise SyntaxError("Incompatible command line args") if Option == '-f': if self.ProgramMode == "extract": # sanity check raise SyntaxError("Incompatible command line args") try: os.stat(Value) except OSError: print("Resource file "+Value+" doesn't exist. Exiting.") sys.exit(1) else: self.GarchiveRcFileName = Value #strcopy? if Option == '-o': if self.ProgramMode == "extract": # sanity check raise SyntaxError("Incompatible command line args") if CheckFilename(Value): self.OutputFileName = Value #strcopy? else: print("Warning -- output file suffix is not \".tar.gz\" -- the") print("extractor won't know how to deal with your archive.") Input = raw_input("Continue? [y/N] ") if ( (len(Input) == 0) or (Input[0] != "y") ): sys.exit(1) else: self.OutputFileName = Value # Third step: Create list of files remaining on command line, and create output # base file name. self.CmdLineFileList = Args self.OutputFileNameBase = re.sub('\.tar\.gz', '', self.OutputFileName) return #--------------------------------------------------------------------------- def GetLibraryPath(Args): """ This fcn takes the library search path from the local dir and the system gschem-gafrc. """ DebugSpew(Args, "Now in GetLibraryPath.") LibraryPathList = [] LocalRCFileName = Args.UserDir+"/"+Args.GschemRcFileName SystemRCFileName = Args.GedaDataDir+"/system-gafrc" # Now read in system rc file and create sym lib path DebugSpew(Args, "Processing system resource file "+SystemRCFileName) try: SysFile = open(SystemRCFileName, "r") except: print("Unable to find system resource file "+SystemRCFileName+".") sys.exit(1) for line in SysFile.readlines(): # Match "(component-library " string. . . . if re.match('^\(component-library ', line): Match = re.search('(")([{$}\w/]+)(")', line) Dir = Match.group(2) Dir = NormalizePath(Args.GedaDataDir, Dir) # Expand any env variables such as ${GEDADATA}. . . # DebugSpew(Args, "Sticking "+Dir+" into LibraryPathList") LibraryPathList.append(Dir) # Match "(component-library-search " string. . . . if re.match('^\(component-library-search', line): Match = re.search('(")([{$}\w/]+)(")', line) Dir = Match.group(2) Dir = NormalizePath(Args.GedaDataDir, Dir) # Expand any env variables such as ${GEDADATA}. . . if Dir in LibraryPathList: pass else: # DebugSpew(Args, "Sticking "+Dir+" into LibraryPathList") LibraryPathList.append(Dir) SysFile.close() # Next read in LocalRCFileName DebugSpew(Args, "Processing local resource file "+LocalRCFileName) try: LocalFile = open(LocalRCFileName, "r") except: Input = raw_input(LocalRCFileName+" doesn't exist. Create empty version in local dir? [Y/n] ") if ( (len(Input) == 0) or (Input[0] != "n") ): os.system("touch "+LocalRCFileName) else: print("You need "+LocalRCFileName+" to create archive. Aborting.") sys.exit(1) for line in LocalFile.readlines(): if re.match('^\(component-library ', line): Match = re.search('(")([\S]+)(")', line) # Note additional . to search for Dir = Match.group(2) Dir = NormalizePath(Args.UserDir, Dir) # Expand any env variables and ./ if Dir in LibraryPathList: pass else: # DebugSpew(Args, "Sticking "+Dir+" into LibraryPathList") LibraryPathList.append(Dir) LocalFile.close() # Reverse list because that's how it is searched LibraryPathList.reverse() return LibraryPathList #--------------------------------------------------------------------------- def CreateArchiveFileList(Args): """ This creates the list of files in the archive. It starts with known files, and then adds the names of the files to archive, given either at the command line or in the garchiverc file. """ DebugSpew(Args, "Now in CreateArchiveFileList.") ArchFileList = [] # Start with known file names PotentialArchFileList = [Args.UserDir+"/"+Args.GschemRcFileName, Args.UserDir+"/"+Args.GarchiveRcFileName] # Could use map here. . . # Make sure each file exists and can be saved for FileName in PotentialArchFileList: if (os.path.isfile(FileName) or os.path.isdir(FileName)): FileName = NormalizePath(Args.UserDir, FileName) # Just make sure filename is kosher. . . . ArchFileList.append(FileName) else: Input = raw_input(FileName+" doesn't exist. Create empty version in local dir? [Y/n] ") if ( (len(Input) == 0) or (Input[0] != "n") ): print("Creating "+FileName+" in archive.") os.system("touch "+FileName) ArchFileList.append(FileName) else: print("You need "+FileName+" to create archive. Aborting.") sys.exit(1) # Add the gschem-files dir /tmp/gschem-files ArchFileList.append(Args.ScratchDir+"/"+Args.FileArchiveDir) # We build the archive dir in /tmp # Now get names of all schematics and other files to archive. # First get file names from command line DebugSpew(Args, "Examining files listed on command line") for File in Args.CmdLineFileList: File = NormalizePath(Args.UserDir, File) DebugSpew(Args, "Examining "+File+" for inclusion in archive") if (File in ArchFileList): break # Don't include file if it's already there. try: os.stat(File) except OSError: print("File "+File+" listed in command line doesn't exist. Ignoring. . .") continue else: ArchFileList.append(File) # Next get file names from file, if specified. GarchiveRCFile = open(Args.UserDir+"/"+Args.GarchiveRcFileName, "r") DebugSpew(Args, "Examining files listed in "+Args.GarchiveRcFileName) while 1: FileName = GarchiveRCFile.readline() if not FileName: break FileName = re.sub('[\n\s]+', '', FileName) # Strip out \n chars & whitespace FileName = NormalizePath(Args.UserDir, FileName) DebugSpew(Args, "Examining "+FileName+" for inclusion in archive") try: os.stat(FileName) except OSError: print("File "+FileName+" listed in "+Args.GarchiveRcFileName+" doesn't exist. Ignoring. . .") continue else: FileName = NormalizePath(Args.UserDir, FileName) if (FileName in ArchFileList): pass else: ArchFileList.append(FileName) return ArchFileList #--------------------------------------------------------------------------- def CreateSchemFileList(Args, FileList): """ This creates the list of schem files to search. Right now I just run through FileList and pull out all files ending in .sch. Files are saved in list with basename (no path). """ DebugSpew(Args, "Now in CreateSchemFileList.") SchemFileList = [] for File in FileList: # Match *.sch if re.search('\.sch$', File): # re.search matches occurance anywhere # Need to make sure schem file actually exists # There is probably a better way to do this using os.access, but I was # not able to get it to work. . . . . try: TestFile = open(File, "r") except IOError: print("Can't access "+File+" for reading. Exiting . . . .") sys.exit(1) TestFile.close() # Next we need to make sure that this file is not already in the list. if File in SchemFileList: pass else: SchemFileList.append( os.path.basename(File) ) return SchemFileList #--------------------------------------------------------------------------- def CreateSymbolFileList(SchemFileList, LibraryFileList): """ This fcn opens each .sch file found and looks for symbol files (typically lurking in lines like "C 32400 53000 1 0 0 resistor-1.sym"). When it finds a symbol file, it looks up the file's entire path, and then sticks it in the SymbolFileList. """ DebugSpew(Args, "Now in CreateSymbolFileList.") SymbolFileList = [] # List starts as empty for SchemFileName in SchemFileList: SchemFile = open(SchemFileName, "r") for line in SchemFile.readlines(): # Match component line C 32400 53000 1 . . . . . if re.match('^C ', line): Match = re.match('(C )([\d]+ )([\d]+ )([\d]+ )([\d]+ )([\d]+ )([\d\w\-\./]+)', line) SymFile = Match.group(7) # DebugSpew(Args, "Found "+SymFile+" in schematic "+SchemFileName) # Now find path for symbol file & stick it in list for LibPath in LibraryFileList: AbsSymFileName = os.path.abspath(LibPath+"/"+SymFile) if os.path.isfile(AbsSymFileName): # Insert in list if not already there. if AbsSymFileName in SymbolFileList: pass else: SymbolFileList.append(AbsSymFileName) return SymbolFileList #--------------------------------------------------------------------------- def CreateSPICEFileList(Args, SchemFileList): """ This fcn opens each .sch file found and loops through it. While looping, it looks for SPICE files (typically lurking in lines like "file=/path/to/spice/models/circuit.cir". When it finds a SPICE file, it sticks it in the SPICEFileList. The SPICE file names found are returned as absolute paths. """ DebugSpew(Args, "Now in CreateSPICEFIleList.") SPICEFileList = [] # List starts as empty SavedLine = [] for SchemFileName in SchemFileList: # Open file in user dir. GschemFile = open(Args.UserDir+"/"+os.path.basename(SchemFileName), "r") for Line in GschemFile.readlines(): if (re.match('^file=', Line)): Match = re.match('(file=)(\S+)', Line) SPICEFile = Match.group(2) # This needs to be more sophosticated # SPICEFile = os.path.normpath(SPICEFile) SPICEFile = os.path.abspath(SPICEFile) DebugSpew(Args, "Found "+SPICEFile+" in schematic "+SchemFileName) # Next we need to make sure that this file is not already in the list. if SPICEFile in SPICEFileList: pass else: SPICEFileList.append(SPICEFile) return SPICEFileList #--------------------------------------------------------------------------- def UpdateSchemFiles(Args, SchemFileList): """ This fcn opens each .sch file found and loops through it. It stuffs each file line found into a list of lines. While looping, it looks for SPICE files (typically lurking in lines like "file=/path/to/spice/models/circuit.cir". When it finds a SPICE file, it substitutes the line found with "file=./gschem-files/circuit.cir". After running through the file, it closes the file, re-opens it as write-only, and outputs the changed file. Yes, this operation could take place in CreateSPICEFileList, but I thought it better conceptually & architecturally to split it off to a separate fcn. """ DebugSpew(Args, "Now in UpdateSchemFileList.") SavedLine = [] for SchemFileName in SchemFileList: # Open file in user dir. GschemFile = open(Args.ScratchDir+"/"+os.path.basename(SchemFileName), "r") while 1: Line = GschemFile.readline() if not Line: break else: if (re.match('^file=', Line)): Match = re.match('(file=)(\S+)', Line) SPICEFile = Match.group(2) DebugSpew(Args, "Found "+SPICEFile+" in schematic "+SchemFileName) SPICEFile = Args.FileArchiveDir+"/"+os.path.basename(SPICEFile) DebugSpew(Args, "Updating line to point to "+SPICEFile) SavedLine.append("file="+SPICEFile+"\n") else: SavedLine.append(Line) GschemFile.close() # Now write out list in place of file. GschemFile = open(Args.ScratchDir+"/"+os.path.basename(SchemFileName), "w") for Line in SavedLine: GschemFile.write(Line) GschemFile.close() return #--------------------------------------------------------------------------- def SaveSymbols(SymFileList, LibraryFileList, ArchiveDirectory): """ This fcn loops through all symbols in the list, and copies the file into the local archive. """ DebugSpew(Args, "Now in SaveSymbols.") for SymFileName in SymFileList: DebugSpew(Args, "Saving symbol "+SymFileName+" into archive "+ArchiveDirectory) os.system("cp "+SymFileName+" "+ArchiveDirectory+"/"+os.path.basename(SymFileName) ) return #--------------------------------------------------------------------------- def SaveSPICEFiles(SPICEFileList, ArchiveDirectory): """ This fcn loops through all SPICE files in the list, finds the corresponding file somewhere in the directory tree, and then copies the file into the local archive. """ DebugSpew(Args, "Now in SaveSPICEFiles.") for SPICEFileName in SPICEFileList: DebugSpew(Args, "Saving SPICE file "+SPICEFileName+" into archive "+ArchiveDirectory) os.system("cp "+SPICEFileName+" "+ArchiveDirectory+"/"+os.path.basename(SPICEFileName) ) return #--------------------------------------------------------------------------- def UpdateRC(Args): """ This fcn takes the gschemrc and updates it. It runs through the file, and comments out any occurance of (component-library. . . . Then it appends a pointer to the local gschem-files directory """ DebugSpew(Args, "Now in UpdateRC.") FileName = os.path.basename(Args.GschemRcFileName) # First run through the file, reading the lines and building a list # the lines found. SavedLine = [] GschemRCFile = open(FileName, "r") while 1: Line = GschemRCFile.readline() if not Line: break else: if (re.match('^\(component-library', Line)): SavedLine.append(";; "+Line) # Comment out any (component-library lines found else: SavedLine.append(Line) GschemRCFile.close() # Now write out list in place of file. GschemRCFile = open(FileName, "w") for Line in SavedLine: GschemRCFile.write(Line) # Write pointer to new lib into file GschemRCFile.write("(component-library \"./"+Args.FileArchiveDir+"\")\n") GschemRCFile.close() return #--------------------------------------------------------------------------- def IsSimpleFile(File): """ This fcn returns 1 if file is simple file name ("gschemrc"), or is a simple directory name ("gschem-files"). It returns 0 if File is a compound file name ("gschem-files/symbol-1.sym"). """ if (os.path.basename(File) == File): return 1 # Simple file elif (os.path.isdir(File)): return 1 # Directory else: return 0 ############################################################################ # Body of archiver lives here # ############################################################################ def Archive(Args): """ This is the main archiver. Program algorithm is documented above. Primary data structures are a bunch of lists holding various file names. """ # First check that ScratchDir is writable by the user. We will CD there # to do real work later. try: TestFile = open(Args.ScratchDir+"/gschem_test", "w") except IOError: print("Can't work in "+Args.ScratchDir+" directory. Check that you have write permission there.") sys.exit(1) else: TestFile.close() os.remove(Args.ScratchDir+"/gschem_test") # Create list of files (and directories) to stick into archive. Returned paths point # to the absolute paths of the files. ArchiveFileList = CreateArchiveFileList(Args) # print # print "ArchiveFileList = ", # print ArchiveFileList # Create list of paths to various library files. Returned paths are absolute path names LibraryPathList = GetLibraryPath(Args) # print # print "LibraryPathList = ", # print LibraryPathList # Create list of schematic files to open and search. Returned paths # give only the base name (i.e. no path) SchemFileList = CreateSchemFileList(Args, ArchiveFileList) # print # print "SchemFileList = ", # print SchemFileList # Now run through SchemFileList and create list of symbols. Symbols are returned # with only base file name (i.e. no path). SymbolFileList = CreateSymbolFileList(SchemFileList, LibraryPathList) # print # print "SymbolFileList = ", # print SymbolFileList # Now run through SchemFileList and create list of pointers to spice files # ("file" attributes). SPICEFiles are returned using absolute paths. SPICEFileList = CreateSPICEFileList(Args, SchemFileList) # print # print "SPICEFileList = ", # print SPICEFileList # Now cd into /tmp dir and copy all files over to /tmp directory for processing. os.chdir(Args.ScratchDir) DebugSpew(Args, "Cd into "+Args.ScratchDir+" for remainder of work.") for File in ArchiveFileList: if (os.path.dirname(File) == Args.UserDir): os.system("cp "+File+" "+Args.ScratchDir) # Now run through SchemFileList and update .sch file by stuffing names # of SPICE files into them. Save the resulting .sch files in the /tmp directory. UpdateSchemFiles(Args,SchemFileList) # Open gschem-files directory and stick symbol & SPICE files into into it try: Dir = NormalizePath(Args.ScratchDir, Args.FileArchiveDir) os.mkdir(Dir) except: # Directory exists. os.system("rm -fR "+Dir) # Remove contents of old dir os.mkdir(Dir) # Replace with new dir. SaveSymbols(SymbolFileList, LibraryPathList, Dir) SaveSPICEFiles(SPICEFileList, Dir) # Now create tar file. We copy remaining files over to /tmp, and then tar them # all up using a local, relative file prefix. # Create string of files to archive ArchiveString = "" for File in ArchiveFileList: # if (os.path.dirname(File) == Args.UserDir): # os.system("cp "+File+" "+Args.ScratchDir) ArchiveString = ArchiveString+" "+os.path.basename(File) DebugSpew(Args, "Files to archive: "+ArchiveString) # Update copy of gschemrc UpdateRC(Args) DebugSpew(Args, "Creating archive in "+Args.ScratchDir+" directory.") # Now use this in tar command. os.system("tar -cf "+Args.OutputFileNameBase+".tar "+ArchiveString) os.system("gzip "+Args.OutputFileNameBase+".tar") # Now try to move completed archive back to user directory. DebugSpew(Args, "Moving archive into local directory.") try: os.stat(Args.UserDir+"/"+Args.OutputFileName) except OSError: # archive is not in user directory yet, no need to force it. os.system("mv "+Args.OutputFileName+" "+Args.UserDir) else: # Directory already exists Input = raw_input(Args.UserDir+"/"+Args.OutputFileName+" already exists. Overwrite? [y/N] ") if ( (len(Input) == 0) or (Input[0] != "y") ): print("Preserving existing archive in local directory.") print("Your new archive lives in "+Args.ScratchDir+"/"+Args.OutputFileName) else: os.system("rm -fR "+Args.UserDir+"/"+Args.OutputFileName) # Remove old archive os.system("mv "+Args.OutputFileName+" "+Args.UserDir) print("gEDA archive "+Args.UserDir+"/"+Args.OutputFileName+" created successfully!") # Clean up remaining mess os.system("rm -fR "+ArchiveString) os.chdir(Args.UserDir) return # End of fcn . . . ############################################################################ # Body of extracter lives here # ############################################################################ def Extract(Args): """ This fcn extracts the archive. It tries to do it very carefully, and won't overwrite anything you don't want it to. Algorithm: 1. copy archive file into /tmp 2. list its contents 3. Extract files indivdually, and check that each one is not present in the destination dir before moving it. """ if (len(Args.CmdLineFileList) == 0): print("Must specify a filename for extraction.") sys.exit(1) for FileName in Args.CmdLineFileList: DebugSpew(Args, "Trying to extract archive "+FileName+".") try: os.stat(FileName) except OSError: print("File "+FileName+" doesn't exist. Ignoring") continue try: os.system("cp -f "+FileName+" "+Args.ScratchDir) except IOError: print("Can't work in the "+Args.ScratchDir+" directory. Check that you have write permisison there.") sys.exit(1) os.chdir(Args.ScratchDir) # Change name of file so it can be gunziped. if not CheckFilename(FileName): print( """ Error -- the file suffix is not \".tar.gz\"; garchive can't do extraction. If this archive was created using garchive, you can rename it using .tar.gz as suffix and try again. Otherwise, just gunzip and tar -xvf the file manually. """) sys.exit(1) # Now gunzip the file, then change File name to reflect new status (.tar) os.system("gunzip -f "+FileName) NewFileName = re.sub('\.gz', '', FileName) # Get list of files in archive. Then open up archive ReturnString = commands.getoutput("tar -t -f "+NewFileName) FileList = re.split('\s+', ReturnString) for File in FileList: DebugSpew(Args, "Extracting "+File) os.system("tar -f "+NewFileName+" -x "+File) # We need to treat directories carefully. For each file, check # if it is a simple file, a directory name, or a compound file. for File in FileList: if (IsSimpleFile(File)): try: os.stat(Args.UserDir+"/"+File) except OSError: os.system("mv "+File+" "+Args.UserDir) else: Input = raw_input(Args.UserDir+"/"+File+" already exists. Overwrite? [yN] ") if ( (len(Input) == 0) or (Input[0] != "y") ): print("Preserving existing "+File+" in local directory.") else: os.system("rm -fR "+Args.UserDir+"/"+File) os.system("mv -f "+File+" "+Args.UserDir) # Now clean up /tmp directory os.system("rm -fR "+NewFileName) os.system("rm -fR "+FileName) os.chdir(Args.UserDir) return # End of fcn . . . . . ############################################################################ ############################################################################ # Main prog begins here # ############################################################################ ############################################################################ # First get and parse command line args Args = CmdLineArgs() # Creates Args object holding command line args info. if Args.ProgramMode == "archive": Archive(Args) sys.exit(0) elif Args.ProgramMode == "extract": Extract(Args) sys.exit(0) else: raise RuntimeError("Unknown program mode found.") # That's it -- very simple!! geda-gaf-1.8.2/utils/scripts/pads_backannotate0000775000175000017500000002406512204177071016326 00000000000000#!/usr/bin/perl -w # # Copyright (C) 2003, 2011 Dan McMahill # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, # MA 02111-1301 USA. # This script is used to process PADS PowerPCB .eco files to backannotate # changes to gEDA schematics. Not all ECO file sections are implemented, # and this program is relatively untested. Please proceed with caution. # # for parsing input options use Getopt::Long; # for ceil function use POSIX; # don't allow -he to be interpreted as --help $Getopt::Long::autoabbrev=0; # make the options be case sensitive $Getopt::Long::ignorecase=0; &GetOptions( ('h|help' => \&usage, 'n|nocopy' => \$nocopy, 'v|verbose' => \$verbose, 'V|version' => \&version ) ); usage() if $Getopt::Long::error; usage() unless @ARGV; # ECO file name $eco = shift( @ARGV ); # if no schematic names follow, exit usage() unless @ARGV; # make sure the input netlist exists and we can open it $i = 0; while( @ARGV ) { $fname[$i] = shift( @ARGV ); die "Schematic file $fname[$i] does not exist or can not be read" unless -r $fname[$i]; $i++; } $filecnt = $i; if( $verbose ){ print "Loading ECO file: $eco\n"; } $eco_state="DEFAULT"; $got_end=0; open( ECO, "$eco" ) or die "Can't open ECO file $eco !\n"; $line = ; if( $line =~ /^\*PADS-ECO-V3\.0\*[\n\r]*$/ ) { print "Read ECO header line\n" if $verbose ; } elsif( $line =~ /^\*PADS-ECO-\*/ ) { print "Unknown ECO file version: $line\n"; exit 1; } else { print "Invalid ECO file header: $line\n"; exit 1; } while( $line = ) { # if( $verbose ){ print "$line\n"; } if( $line =~ /^\*CHGPART\*/ ) { # change type of part (forward annotation) $eco_state="CHGPART"; next; } elsif( $line =~ /^\*DEL_ATTRIBUTE\*/ ) { # delete object attribute (forward annotation) $eco_state="DEL_ATTRIBUTE"; next; } elsif( $line =~ /^\*DELPART\*/ ) { # delete part from the design (forward annotation) $eco_state="DELPART"; next; } elsif( $line =~ /^\*DELPIN\*/ ) { # delete pins from net (forward annotation) $eco_state="DELPIN"; next; } elsif( $line =~ /^\*END\*/ ) { # end of ECO file $eco_state="END"; $got_end=1; next; } elsif( $line =~ /^\*JOINNET\*/ ) { # join two nets together (forward annotation) $eco_state="JOINNET"; next; } elsif( $line =~ /^\*NET\*/ ) { # add pin to net (forward annotation) $eco_state="NET"; next; } elsif( $line =~ /^\*PART\*/ ) { # add part to the design (forward annotation) $eco_state="PART"; next; } elsif( $line =~ /^\*REMARK\*/ ) { # don't change state on comment lines print "Skipping *REMARK* line\n" if $verbose; next; } elsif( $line =~ /^\*RENNET\*/ ) { # rename netname (forward annotation) $eco_state="RENNET"; next; } elsif( $line =~ /^\*RENPART\*/ ) { # rename part in design (forward/backward annotation) $eco_state="RENPART"; print "Starting *RENPART* (Refdes Renumber) section\n" if $verbose; next; } elsif( $line =~ /^\*SET_ATTRIBUTE\*/ ) { # set object attribute (forward annotation) $eco_state="SET_ATTRIBUTE"; next; } elsif( $line =~ /^\*SIGNAL\*/ ) { # part of *NET* and also *SPLITNET* (forward annotation) $eco_state="SIGNAL"; next; } elsif( $line =~ /^\*SPLITNET\*/ ) { # split net into two new nets (forward annotation) $eco_state="SPLITNET"; next; } elsif( $line =~ /^\*SWPGATES\*/ ) { $eco_state="SWPGATES"; print "Starting *SWPGATES* (Gate Swapping) section\n" if $verbose; next; } elsif( $line =~ /^\*SWPPINS\*/ ) { $eco_state="SWPPINS"; print "Starting *SWPPINS* (Pin Swapping) section\n" if $verbose; next; } elsif( $line =~ /^\*/ ) { print "WARNING: Unknown command line:\n"; print " $line\n"; $eco_state="DEFAULT"; next; } else { # this must be a data line #if( $verbose ){ print "Processing data line: $line"; } } if( $eco_state =~ "RENPART" ) { parseRENPART($line); } elsif( $eco_state =~ "SWPGATES" ) { parseSWPGATES($line); } elsif( $eco_state =~ "SWPPINS" ) { parseSWPPINS($line); } else { print "Skipping lines in $eco_state section\n" if $verbose; } } close( ECO ); for($i=0; $i < $filecnt; $i++) { print "Processing schematic file #", $i+1, ": $fname[$i]\n"; open(NETLIST,"$fname[$i]") or die "Can't open schematic $fname[$i]: $!\n"; # open output netlist $outfname="$fname[$i].new"; open(OUTSCH,">$outfname") or die "Can't open $outfname: $!\n"; while($line = ) { $line = executeRENPART($line); print OUTSCH "$line"; } close(NETLIST); close(OUTSCH); if( $nocopy ) { print "Leaving page #",$i+1," output in $outfname\n"; } else { system("mv $outfname $fname[$i]"); } } print "\n---- Gate Swapping ----\n"; executeSWPGATES(); print "\n---- Pin Swapping ----\n"; executeSWPPINS(); print "\nBackannotation finished ", scalar localtime, "\n"; exit; ####################################################################### # # Subroutines # ####################################################################### #--------------------------------- # executeRENPART(line) #--------------------------------- sub executeRENPART { my $line = shift(@_); return $line unless defined %cmd_rename; return $line unless $line =~ /^refdes=/; # pick out the reference designator $refdes = $line; $refdes =~ s/^refdes=//; $refdes =~ s/[\r\n]*$//; # see if its listed in our hash of reference designators to be # renamed return $line unless exists $cmd_rename{$refdes}; print "executeRENPART(): Renaming $refdes to $cmd_rename{$refdes}\n" if $verbose; return "refdes=$cmd_rename{$refdes}\n"; } #--------------------------------- # executeSWPGATES() #--------------------------------- sub executeSWPGATES { my $key; foreach $key (keys %cmd_swap_gates ) { print "Please manually swap gates $key and $cmd_swap_gates{$key}\n"; } } #--------------------------------- # executeSWPPINS() #--------------------------------- sub executeSWPPINS { my $key; my @pins; foreach $key (keys %cmd_swap_pins ) { @pins = split '\.',,$cmd_swap_pins{$key}; print "Please manually swap pins $pins[0] and $pins[1] on $key\n"; } } #--------------------------------- # parseRENPART(line) #--------------------------------- sub parseRENPART { my $line = shift(@_); my @refs; @refs = split ' ',,$line; print "parseRENPART(): Scheduling rename of $refs[0] to $refs[1]\n" if $verbose; $cmd_rename{$refs[0]} = $refs[1]; } #--------------------------------- # parseSWPGATES(line) #--------------------------------- sub parseSWPGATES { my $line = shift(@_); my @refs; @refs = split ' ',,$line; print "parseSWPGATES(): Scheduling swap of gate $refs[0] with $refs[1]\n" if $verbose; $cmd_swap_gates{$refs[0]} = $refs[1]; } #--------------------------------- # parseSWPPINS(line) #--------------------------------- sub parseSWPPINS { my $line = shift(@_); @refs = split ' ',,$line; @pins = split '\.',,$refs[1]; print "parseSWPPINS(): Scheduling swap of pins on $refs[0] : pins ", "$pins[0] and $pins[1]\n" if $verbose; $cmd_swap_pins{$refs[0]} = $refs[1]; } #--------------------------------- # usage() # # prints program usage #--------------------------------- sub usage { my $pname = $0; $pname =~ s/.*\///g; print "Usage:\n\n"; print "\t$pname [-n|--nocopy] [-v|--verbose] change.eco file1.sch [file2.sch [file3.sch ... ] ]\n"; print "\t$pname -h|--help\n"; print "\t$pname -V|--version\n"; print "\n"; print "$pname reads a PADS PowerPCB ECO file and backannotates changes\n"; print "to a gEDA schematic.\n"; print "\n"; print "$pname accepts the following options:\n"; print "\n"; print " -h|--help Displays this help message.\n"; print "\n"; print " -n|--nocopy If given, this flag leaves the modified files in new files\n"; print " whose names are generated by appending a \".new\" to the\n"; print " original file names. The default is to overwrite the original.\n"; print "\n"; print " -v|--verbose Enables verbose output.\n"; print "\n"; print " -V|--version Shows the version of this program.\n"; print "\n\n"; print "$pname was written by Dan McMahill \n"; print "\n\n"; exit; } #--------------------------------- # version() # # prints program version #--------------------------------- sub version { open(PROG,"$0") or die "Could not open \"$0\" to find version\n\n"; my $pname = $0; $pname =~ s/.*\///g; while($line = ) { if( $line =~ /^#\s*\$Id.*\$/) { @words = split ' ',,$line; $version = $words[3]; $date = $words[4]; print "$pname ($0): Version $version, $date\n"; exit; } } print "Could not determine version of \"$0\"\n\n"; exit; } # ---------------------------------------------- # # Change Log # # $Log$ # Revision 1.1 2003-08-31 21:39:52 ahvezda # Added pads_backannotate perl script # # Revision 1.4 2003/07/19 04:34:55 dan # bring this program up to a usable state. Refdes renumbering is fully # supported and pin/gate swapping while not supported, gives a report of # the manual swaps needed. # # Revision 1.3 2003/03/03 03:44:26 dan # Finish up code to handle the RENPART .eco directive. The output files # are still not written, but everything else is in place to handle backannotation # of reference designator renumbers. # # Revision 1.2 2003/02/21 12:30:30 dan # fix perl path # # Revision 1.1 2003/02/19 23:31:50 dan # start (non functional so far) of a pads to gschem backannotation tool # # # geda-gaf-1.8.2/utils/scripts/gschupdate0000775000175000017500000000715312204177071015013 00000000000000#!/usr/bin/perl # gEDA - GPL Electronic Design Automation # gsymupdate - gEDA Symbol Update # Copyright (C) 2002 Ales V. Hvezda # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # # This program takes a schematic filename on the command line and outputs an # update schematic to stdout. # # This program only changes the label= attribute on nets to netname= # # Right now this program should only be run against schematics which are # either version 20020527 or earlier. # print "gEDA/gschupdate version 0.2\n"; print "gEDA/gschupdate comes with ABSOLUTELY NO WARRANTY; see COPYING for more details\n"; print "This is free software, and you are welcome to redistribute it under certain\n"; print "conditions; please see the COPYING file for more details.\n\n"; $numArgs = $#ARGV + 1; if ($numArgs < 1) { print "Usage: gschupdate filename1 filename2 ... filenameN\n"; exit; } foreach $filename (@ARGV) { if (-r "$filename.old") { print "Found backup file: $filename.old. Not gschUpdating $filename\n"; } else { rename ($filename, "$filename.old"); print "gschUpdating: $filename (backup: $filename.old)\n"; open (FILE, "$filename.old") || die "Cannot open input file: $filename.old Exiting.\n"; open (NEWFILE, ">$filename") || die "Cannot open output file: $filename Exiting.\n"; while () { # handle text objects if (/^T/) { $textcmd = $_; $textline = ; # are we dealing with an attribute? if ($textline =~ /=/) { # Break the attribute up into name=value @attrib = split(/=/,$textline,2); $name=@attrib[0]; $value=@attrib[1]; if ($name =~ /^label/) { # It is a label attribute print NEWFILE $textcmd; print NEWFILE "netname=$value"; } elsif ($name =~ /^uref/) { # It is a uref= attribute, convert to refdes= print NEWFILE $textcmd; print NEWFILE "refdes=$value"; } else { # none of the above, just pass it through print NEWFILE $textcmd; print NEWFILE $textline; } } else { # not an attribute print NEWFILE $textcmd; print NEWFILE $textline; } } else { # It is not a text, so pass it through print NEWFILE; } } close $FILE; close $NEWFILE; # Load and Save the file using gschlas # This updates the file to be absolutely current system("gschlas $filename"); @args = ("gschlas", "$filename"); system(@args) == 0 || die "system @args failed: $?" } } geda-gaf-1.8.2/utils/scripts/gnet_hier_verilog.sh0000775000175000017500000004135212204177071016767 00000000000000#!/bin/bash # gEDA - GPL Electronic Design Automation # Copyright (C) 2007-2008 Paul Tan (pt75234 at users.sourceforge.net) # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, # MA 02111-1301 USA. # ======================================================== # Description: # Generate non-flatten hierarchical Verilog netlist # gnet_hier_verilog.sh # version 0.0.2 # Usage: # [path]gnet_hier_verilog.sh [path]FileName.sch # Requires gawk and gEDA's gnetlist gnet-verilog.scm # Please set tab = 2 for readability # Written by Paul Tan # ======================================================== # 1) This is a simple draft bash script to produce a # hierarchical verilog netlist in a single file. # It gathers hierarchical information from a list of # unique symbols/schematics originating from the top level # schematic all the way down to the lowest level of the # design hierarchy. It then successively invokes the # existing gEDA verilog netlister to produce each single # level netlists, and concatinates all the unique # module netlists into one single hierarchical netlist # file. # 2) Currently, it assumes that one or more hierarchical symbol # can be represented by a single schematic file. If needed, # feature for mutiple schematic files mapped to a single symbol # can be easily added. In that case, multiple source attrib # are used in that symbol. # 3) It checks the follwoing errors while traversing down # the hierarchy and terminates the netlisting if error # is found. # a) if a symbol's source attribute indicated schematic can not # be found in the search paths defined by gafrc. # b) if a symbol's device attribute value does not match its # corresponding schematic's module_name attribute value. # 4) This script assumes that there are no other errors in the # entire hierarchy, and that the user has already run the # DRC. Moreover, it assumes that the user has run the single # level verilog netlister on each schematic in the hierarchy # without any error. it also assumes that the hierarchy-traverse # is disabled in gnetlistrc, thus disables flatten hierarchical # netlist generation. # 5) Netlist of modules are listed from top down, can easily be # changed to do bottom up. # 6) Symbol must contain "source=????.sch" attribute to have its # schematic netlisted. Otherwise, symbol is treated just as # primitive instances in the netlist. # 7) It only uses the gafrc file in the folder where the top level # schematic resides. The search path for the symbols and # schematics should be defined in that gafrc file. The # current implementation searches from the beginning # of the file, it will be changed to conform to the gEDA # practice of searching from the bottom first. # 8) Hierarchy info is output to a report file for reference. # 9)This script is optimized for readability only, I hope. # 10)Array variables are suffixed with A, e,g,, HLineA[] # ======================================================== # To do list # ------------------------------------------------------- # 1) Multi-page sch per symbol support # 2) Use the "file" attrib to include user defined netlist # 3) Include .gnetlistrc and other config files info to search # 4) Change search order for sym/sch libs to LIFO (last in fisrt out) # 5) Recode the script in C or scheme ? # 6) Add CL args to support VHDL and Spice hier netlist # 7) Add error checks: # a) add ERC (Electrical_Rule_Check) if not already checked # by gnetlist DRC. # ======================================================== # # Notes # # ======================================================== # First we create a master list in a record array HierListA[]. # HierListA[] will contain a list of records of all unique symbols # under the top schematics and all its underlying schematics. # This master record list will be output to a text file # for reference. # Then we'll invoke the gnetlist program to netlist each of # the schematics representing the symbols on the list, # concatinating each netlist into the top level netlist. # # Each record of HierListA[] has 5 or more fields: # 0 1 2 3 4 [5] ... # ItemNum Flag Sym_Name Sch_Dir Sch_Name [Sch_Name] .. # ------------------------------------------------------- # Corresponding variables declared in this script # $iN $iFlag $iSym $iSchDir $iSch # $CurIndex $CurFlag $CurSym $CurDir $CurSch ; In master # $EndIndex $Tflag $Tsym $TschDir $Tsch ; To add # ------------------------------------------------------- # The Flag is used to indicate if a schematic needs to # be netlisted. # Flag = 0 means NOT to netlist the schematic. # Flag = 1 means to netlist the schematic. # Flag = 2 means NOT to netlist, since other symbol already # has the same schematic listed. # ---------------------------------------------- # For multiple pages(files) schematic, use more than 5 fields # in a record. # ======================================================== # # Script starts here # # ======================================================== # Configurable items # --------------------------------------- # Define the symbol's attribute to be used for its # associated schematic. src_attrib="source" # --------------------------------------- # version ver=0.0.2 My_Debug=0 # ======================================================== my_error=0 my_ext="" echo if [ -z $1 ] then my_error=1 fi # --------------------------------------- # To be changed: loop thru multiple sch files from CL's args if [ $my_error == 0 ]; then TopSchFile=$1 my_ext=${TopSchFile#*.} if [ "$my_ext" != "sch" ]; then my_error=1 fi fi # --------------------------------------- if [ $my_error == 1 ]; then echo "Error:" echo -n "Please include a gEDA schematic file" echo " as its argument." echo " Usage:" echo " [path]gnet_hier_verilog.sh [path]FileName.sch" exit 1 fi # --------------------------------------- TopDir=$(dirname $1) cd $TopDir TopDir=$PWD TopBaseFile=$(basename $1 .sch) CurSchFile=$1 TopVFile="${TopBaseFile}.v" ReportFile="${TopBaseFile}_Report.txt" TemptFile="hier_temp.v" # --------------------------------------- echo echo "Starting Hierarchical Verilog Netlister version ${ver} ....." # =============================================== if [ $My_Debug == 1 ] then echo echo '======== Start Debug ===========' echo "TopDir = $TopDir" echo "TopBaseFile = $TopBaseFile" echo "CurSchFile = $CurSchFile" echo "ReportFile = $ReportFile" fi # ---------------------------------------------- # # Init all indices: # Fields position in a record iN=0; iFlag=1; iSym=2; iSchDir=3; iSch=4 # ---------------------------------------------- # Initialize master list HierListA[]'s first record CurIndex=0 EndIndex=0 Tflag=1 Tsym="${TopBaseFile}.sym" Tsch="${TopBaseFile}.sch" TschDir="." # Fields in each row of record HLineA[$iN]=$EndIndex HLineA[$iSym]=$Tsym HLineA[$iSch]=$Tsch HLineA[$iSchDir]=$TschDir HLineA[$iFlag]=$Tflag # First row of record in master list HierListA[0]=`echo ${HLineA[@]:0}` # ---------------------------------------------- # Initialize other lists # ---------------------------------------------- # Get gEDA gafrc's symbol and schematic search paths # into their respective list arrays SymDirListA=( ` gawk 'BEGIN {FS="\""} (NF >= 1)&&($1 == "(component-library ") { printf("%s\n",$2); }' gafrc` ) # ---------------------------------------------- SrcDirListA=( ` gawk 'BEGIN {FS="\""} (NF >= 1)&&($1 == "(source-library ") { printf("%s\n",$2); }' gafrc` ) # =============================================== if [ $My_Debug == 1 ]; then echo "---------------------------" echo -n "SymDirList n = " echo ${#SymDirListA[*]} for i in "${SymDirListA[@]}"; do echo "$i"; done echo "---------------------------" echo -n "SrcDirList n = " echo ${#SrcDirListA[*]} for i in "${SrcDirListA[@]}"; do echo "$i"; done echo "---------------------------" fi # ############################################### # Process each record from the master list while (("$CurIndex" <= "$EndIndex")) do # Get a record from the master list CurA=( ${HierListA[$CurIndex]} ) CurFlag=${CurA[$iFlag]} CurSchFile=${CurA[$iSch]} CurSchDir=${CurA[$iSchDir]} if [ "$CurSchDir" == "." ] then CurSchPath=$CurSchFile else CurSchPath=`echo "$CurSchDir/$CurSchFile"` fi CurSchBase=$(basename $CurSchFile .sch) # -------------------------------- # Only Flag=1 entry will get netlisted and processed # down the hierarchy if [ "$CurFlag" != 1 ]; then let "++CurIndex" continue fi # ---------------------------------------------- # if needed, this is the place to generate netlist # for each record. For now, we netlist at the end # after we have generated all the records # ---------------------------------------------- # To be changed: loop thru pages of schs # ---------------------------------------------- # Get all instances of any symbols from current schematic # into TempSymListA[] TempSymListA=( ` gawk '(NF==7)&&($1=="C") {printf("%s\n",$7)}' $CurSchPath `) # ---------------------------------------------- # Make a unique symbol list from it TSymListA[0]=${TempSymListA[0]} found=0 let "k = 0" for i in "${TempSymListA[@]}"; do found=0 for j in "${TSymListA[@]}"; do if [ "$i" == "$j" ]; then found=1 break fi done # for j if [ $found == 1 ]; then continue fi let "++k" TSymListA[$k]=$i done # for i unset TempSymListA # =============================================== # Check if Tsym already exist in the master list # if not on list, add to the list found=0 for Tsym in "${TSymListA[@]}"; do found=0 for HLineA in "${HierListA[@]}"; do HierA=( `echo $HLineA` ) HierSym=${HierA[$iSym]} if [ "$Tsym" == "$HierSym" ]; then found=1 break fi done if [ $found == 1 ]; then continue fi # =================================== # Find the Symbol file and its folder found=0 for i in "${SymDirListA[@]}"; do TsymPath=`echo "$i/$Tsym"` if [ -e $TsymPath ]; then found=1 TsymDir=$i break fi done if [ $found == 0 ]; then echo "Error: " echo " $Tsym file not found. Please check the search path" echo " defined in the gafrc file." exit 1 fi # --------------------------------- # Find the schematic file name for the symbol from: # 1) The "source" attribute in the symbol file of # the $TsymDir folder. # 2) If no "source", use the symbol basename as the schematic # basename? For now, must use "source". # 3) Note that the sch file must contain "module_name" # attrubute whose value must match the value of the # "device" attribute from the sym file. This script # checks for this condition. # Given the schematic file name, search its folder path in: # 1) Source folders specified in the gEDA rc file # --------------------------------- TsymBase=$(basename $Tsym .sym) TschDir=$TsymDir Tflag=0 # --------------------------------- # Get "source" and "device" attributes from sym file # and store them in SymAttribListA[] SymAttribListA=( ` gawk -v src=$src_attrib 'BEGIN {FS="="} (NF==2)&&($1 == src) {print $0}; (NF==2)&&($1 == "device") {print $0} ' $TsymPath` ) # --------------------------------- # To be changed: add a list of sources SymSrcList[] # to support multi-page # --------------------------------- # Check if source exist in SymAttribListA[] Tsch="" for i in "${SymAttribListA[@]}"; do if [ "${i%=*}" == "$src_attrib" ]; then Tsch=${i#*=}; break fi done # --------------------------------- if [ "$Tsch" == "" ]; then Tsch="None"; Tflag=0 else # --------------------------------- # Found sch name, check if already on master list found=0 for HLineA in "${HierListA[@]}"; do HierA=( `echo $HLineA` ) HierSch=${HierA[$iSch]} if [ "$Tsch" == "$HierSch" ]; then found=1 break fi done # If sch not on master list, need further check if [ $found == 0 ]; then Tflag=2 fi fi # --------------------------------- # if sch not on list, search for sch path if [ $Tflag == 2 ]; then found=0 for i in "${SrcDirListA[@]}"; do TschPath=`echo "$i/$Tsch"` if [ -e $TschPath ]; then found=1 TschDir=$i break fi done # if can't find sch path, error and exit if [ $found == 0 ]; then echo -n "Error: $Tsch is the $src_attrib attribute in " echo -n "$Tsym but NOT in the gafrc " echo "source-directory path." Tflag=3 exit 1 fi # --------------------------------- # Found sch path, check if sch's # sch's module_name attribute = sym's device attribute # --------------------------------- # Get module_name attrib from sch file TModule="" TModule=( ` gawk 'BEGIN {FS="="} (NF == 2)&&($1 == "module_name") { printf("%s\n", $2); exit}' $TschPath` ) # --------------------------------- # Check if module_name = device from SymAttribListA[] # --------------------------------- Tdev="" for i in "${SymAttribListA[@]}"; do if [ "${i%=*}" == "device" ]; then Tdev=${i#*=}; break fi done # --------------------------------- if [[ "$TModule" != "" ]] && [[ "$TModule" == "$Tdev" ]] then Tflag=1 else echo "Error: " echo " $Tsym Symbol's device attribute $Tdev does not match" echo " $Tsch schematic's module_name attribute $TModule." exit 1 fi # --------------------------------- fi # =================================== # Add a new record into the master list HierListA[] let "++EndIndex" HLineA[$iN]=$EndIndex HLineA[$iFlag]=$Tflag HLineA[$iSym]=$Tsym HLineA[$iSchDir]=$TschDir HLineA[$iSch]=$Tsch HierListA[$EndIndex]=`echo ${HLineA[@]:0}` # --------------------------------- if [ $My_Debug == 3 ]; then echo "Added new record" echo ${HierListA[$EndIndex]} echo fi # --------------------------------- done # done. for Tsym unset TSymListA # =============================================== let "++CurIndex" done # done generating master list # # ############################################### # Generate a report file echo "# Hierarchical netlist report for:" >$ReportFile echo "# $TopSchFile" >>$ReportFile echo "# ------------------------">>$ReportFile # comments fields HLineA[$iN]="Index" HLineA[$iFlag]="Flag" HLineA[$iSym]="Sym" HLineA[$iSch]="Sch" HLineA[$iSchDir]="Sch_Dir" echo "# ${HLineA[@]:0}" >>$ReportFile echo "# ------------------------">>$ReportFile for i in "${HierListA[@]}"; do echo $i >>$ReportFile done # ############################################### # Generate netlist from record in the master list # Only Flag=1 record will be netlisted # ############################################### echo echo "Generating hierarchical netlist ...... " let "CurIndex=0" let "EndIndex=${#HierListA[@]}-1" # ----------------------------------- if [ $My_Debug == 2 ]; then echo echo "CurIndex = $CurIndex" echo "EndIndex = $EndIndex" echo fi # ----------------------------------- while (("$CurIndex" <= "$EndIndex")) do # Get a record from the master list CurA=( ${HierListA[$CurIndex]} ) # Get fields of the selected record CurFlag=${CurA[$iFlag]} CurSchFile=${CurA[$iSch]} CurSchDir=${CurA[$iSchDir]} if [ "$CurSchDir" == "." ] then CurSchPath=$CurSchFile else CurSchPath=`echo "$CurSchDir/$CurSchFile"` fi CurSchBase=$(basename $CurSchFile .sch) # -------------------------------- # Only Flag=1 entry will get netlisted if [ $CurFlag != 1 ]; then let "++CurIndex" continue fi # -------------------------------- # To be changed: add multi-page netlist # -------------------------------- if [ "$CurIndex" -eq 0 ] then gnetlist -g verilog -o $TopVFile $TopSchFile else gnetlist -g verilog -o $TemptFile $CurSchPath # Skip header portion of each netlist gawk 'BEGIN{found = 0} (NF >= 1)&&($1 == "module")&&(found == 0){ found = 1; printf("\n/* --------------------------------- */\n"); }; (NR > 0)&&(found == 1){ print $0; }; ' $TemptFile >>$TopVFile fi # -------------------------------- let "++CurIndex" done echo echo "Hierarchical Verilog netlist successfully completed." echo geda-gaf-1.8.2/utils/scripts/tragesym0000775000175000017500000005041212204177071014513 00000000000000#!/usr/bin/python # coding: iso8859-1 ############################################################################ # tragesym - create gEDA symbols out of structured textfiles # begin : 2001-10-20 # copyright : (C) 2001,2002,2003,2004,2006,2007, 2008 by Werner Hoch # email : werner.ho@gmx.de ############################################################################ # # # This program is free software; you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # # the Free Software Foundation; either version 2 of the License, or # # (at your option) any later version. # # # ############################################################################ # FEATURES: # - create pins and their elements # - sort pins alphabetical # - swap words of the pinlabels # - negation lines if label is in "_","\" is for escape # - rotate top and bottom pinlabels if wished # - if the symbol's width specified is 0, then tragesym calculates the # symbol width based on the greater number of pins at the top or at the # bottom of the symbol import getopt, os.path, re, string, sys ##################### GLOBALS ############################################ VERSION="0.0.15" CHARHIGH=26 preset_options = {"wordswap":"yes", "rotate_labels":"no", "sort_labels":"yes", "generate_pinseq":"yes", "sym_width":"1400", "pinwidthvertikal":"400", "pinwidthvertical":"400", "pinwidthhorizontal":"400"} official_attr = ["version", "name", "device", "refdes", "footprint", "numslots", "slot", "slotdef","description", "comment", "author", "documentation","value","dist-license", "use-license"] single_attr_warning = ["device", "footprint", "author", "documentation", "description", "numslots","dist-license", "use-license"] single_attr = ["slot"] multiple_attr = ["slotdef", "comment"] stylelist = ["line","dot","clk","dotclk","spacer","none"] poslist = ["l","r","t","b",""] typelist = ["in","out","io","oc","oe","pas","tp","tri","clk","pwr"] translate_pintype = {"i/o":"io", "i":"in", "o":"out", "p":"pas"} P_NR, P_SEQ, P_TYPE, P_STYLE, P_POS, P_NET, P_LABEL = 0,1,2,3,4,5,6 re_section_header = re.compile("^\s*\[(?P.+)]\s*$") ################################## CLASSES ############################### class Pin: '''Encapsulation for all data related to a pin.''' def __init__(self, element): element.extend(('', '', '', '', '', '', '')) self.nr = element[P_NR].strip() self.seq = element[P_SEQ].strip() pintype = element[P_TYPE].lower().strip() self.type = translate_pintype.get(pintype, pintype) self.style = element[P_STYLE].lower().strip() self.pos = element[P_POS].lower().strip() self.net = element[P_NET].strip() self.label = element[P_LABEL].strip() def __str__(self): str = "Pin object (nr:" + self.nr + " seq:" + self.seq + " type:" + self.type str += " style:" + self.style + " pos:" + self.pos + " net:" + self.net str += " label:" + self.label + ")" return str def __cmp__(self, other): """ Comparison function for the pin. * The sorting rule is to place the nets first. * The pin position is the second sorting key * The pin label is the third sorting key """ if not isinstance(other, Pin): return NotImplemented ret = cmp(self.net, other.net) if ret != 0: return ret ret = cmp(other.pos, self.pos) if ret != 0: return ret return cmp(splitspecial(parselabel(self.label)), splitspecial(parselabel(other.label))) def check(self): if self.style=="spacer": if self.pos == "": print "Error: there must be a position with a spacer.\n" sys.exit() if self.pos not in poslist: print "Error: position is not allowed: \n", self sys.exit() return if self.style != "none": if self.seq.isdigit(): string.atoi(self.seq) else: print "pinseq needs to be a number: \n", self sys.exit() if self.type not in typelist: print "Pintype not allowed: \n", self sys.exit() if self.style not in stylelist: print "Style is not allowed: \n", self sys.exit() if self.pos not in poslist: print "Position is not allowed: \n", self sys.exit() if self.pos == "" and self.net == "": print "There must be either position or a netlabel: \n", self sys.exit() ################################# FUNCTIONS ############################## def usage(): '''Print a usage message.''' print "tragesym version " + VERSION print "(C) 2001,2002,2003,2004,2006,2007 by Werner Hoch " print "Usage is: ", sys.argv[0] ," " def parselabel(str): '''returns a stripped label without overbar markers "\_"''' slash, neg= 0, 0 textout="" for letter in str: if letter == '\\' and slash == 0: slash=1 elif slash == 1 and letter == '_': if neg == 0: neg = 1 else: neg = 0 slash = 0 else: textout=textout+letter slash = 0 if slash == 1 or neg == 1: print '''unbalanced overbars or escapesequence: ''', str print '''the overbar starts and ends with "\_" example: \"\_enable\_''' print '''to write a "\" use "\\"''' sys.exit() return textout ## round *unsigned* integer x to closest r def round_closest(x,r): return x-(x+r/2)%r+r/2 ## returns the words in reverse order def swapwords(str): list=string.split(str," ") back=list[0] for i in list[1:]: back=i+" "+back return back ## split a string at the first tab or equal char def split_tab_equal(str,n=1): list_tab=string.split(str,'\t',n) list_equal=string.split(str,'=',n) if len(list_tab[0]) < len(list_equal[0]): return list_tab else: return list_equal ## returns 2 dicts: (options, attr) and 2 arrays: (devices, pins) def readsrc(filename): geda_attr={} options={} pins=[] f = open(filename,"r") content= f.readlines() section="" linenr=0 for lineraw in content: line = lineraw.rstrip() linenr=linenr+1 if len(line) == 0: continue match = re_section_header.match(line) if match: # find a section section=match.group('name') continue elif section=="" or line[0]=="#" \ or len(string.strip(line)) == 0: # comment, empty line or no section continue if section=="options": element=split_tab_equal(line,1) if len(element) > 1: options[string.strip(element[0])]=string.strip(element[1]) elif section=="geda_attr": element=split_tab_equal(line,1) if len(element) < 2 or len(element[1].strip()) == 0: print 'Warning: Empty attribute "%s" in the geda_attr section' % element[0] print ' The incomplete attribute will be dropped' else: nr=1 while geda_attr.has_key((element[0],nr)): nr=nr+1 geda_attr[(string.strip(element[0]),nr)]=string.strip(element[1]) elif section=="pins": element=string.split(line,"\t") if len(element) > 2: pins.append(Pin(element)) else: print linenr, ": illegal section name: ", section sys.exit() return options, geda_attr, pins def splitspecial(str): """ makes a list out of a string: "3abc345x?" --> ["",3,"abc",345,"x?"] """ isletter=1 list=[] current = "" for letter in str: if letter not in string.digits: if isletter == 1: current += letter else: list.append(int(current)) current = letter isletter=1 else: if isletter == 0: current += letter else: list.append(current) current = letter isletter=0 if isletter == 0: list.append(int(current)) else: list.append(current) return list def writesym(filename,options,attr,pins): o_symwidth=string.atoi(options["sym_width"]) o_hdist=string.atoi(options["pinwidthhorizontal"]) # If pinwidthvertikal was defined, use it, else use pinwidthvertical # This keeps compatibility with older versions, while fixing the spell # bug if options["pinwidthvertikal"] != preset_options["pinwidthvertikal"]: o_vdist=string.atoi(options["pinwidthvertikal"]) else: o_vdist=string.atoi(options["pinwidthvertical"]) o_wordswap=options["wordswap"] o_rotate=options["rotate_labels"] o_sort=options["sort_labels"] pinlength = 300 ### Count the number of pins in each side numpleft=0 numpright=0 numpbottom=0 numptop = 0 for pin in pins: if pin.pos == "l": # left pin numpleft=numpleft+1 elif pin.pos == "r": #right pin numpright=numpright+1 elif pin.pos == "b": #right pin numpbottom=numpbottom+1 elif pin.pos == "t": #right pin numptop=numptop+1 # Calculate the position of the pins in the left and right side. plefty, prighty = 0, 0 if numpleft > numpright: plefty=plefty+(numpleft-1)*o_vdist prighty = plefty else : prighty=prighty+(numpright-1)*o_vdist plefty = prighty # Calculate the bottom left of the box bottomleftx, bottomlefty = pinlength + 100, 100 if numpbottom > 0: bottomlefty += pinlength # Calculate the minimum symwidth and increase it if necessary calculated_top_symwidth=(numptop-1)*o_hdist+2*o_hdist calculated_bottom_symwidth=(numpbottom-1)*o_hdist+2*o_hdist calculated_symwidth = max(calculated_bottom_symwidth, calculated_top_symwidth) if (numptop + numpbottom > 0): print "Note: use sym_width to adjust symbol width if texts overlap." if o_symwidth == 0: o_symwidth = calculated_symwidth # Calculate the symbol's high if numpleft < numpright: high=(numpright+1)*o_vdist else: high=(numpleft+1)*o_vdist topy = bottomlefty + high # Calculate the position of several items. prightx, prighty= bottomleftx + pinlength + o_symwidth, prighty + bottomlefty + o_vdist pleftx, plefty= bottomleftx - pinlength, plefty + bottomlefty + o_vdist ptopx, ptopy= bottomleftx + o_hdist, bottomlefty + high + pinlength pbottomx, pbottomy = bottomleftx + o_hdist, bottomlefty - pinlength # Lets add some pad if sym_width was defined ptopx = ptopx + (o_symwidth - calculated_top_symwidth) / 2 pbottomx = pbottomx + (o_symwidth - calculated_bottom_symwidth) / 2 ptopx = round_closest(ptopx, 100) pbottomx = round_closest(pbottomx, 100) f = open(filename, "w") ### Draw the symbol version if attr.has_key(("version",1)): value=attr[("version",1)] if re.match("[0-9]{8}$", value): f.write("v " + value + " 1\n") elif re.match("[0-9]{8} 1$", value): f.write("v " + value + "\n") else: print "error: version string format invalid: [%s]" % value sys.exit() else: print "error: version attribut missing" sys.exit() if o_sort == "yes": pins.sort() for pin in pins: if pin.style == "none": # continue if pin.style=="spacer": if o_sort == "yes": print "Warning: spacers are not supported when sorting labels" continue elif pin.pos == "l": #left pin plefty=plefty - o_vdist #where to draw the _next_ pin elif pin.pos == "r": #right pin prighty=prighty - o_vdist elif pin.pos == "b": # bottom pin pbottomx=pbottomx + o_hdist elif pin.pos == "t": # top pin ptopx=ptopx + o_hdist continue ### decide which pindirection to use ## TODO: put all constants into a dictionary if pin.pos == "l": #left pin basex, basey= pleftx, plefty #where to draw this pin xf, yf= 1, 0 # orientation factors pint=(200,50,6,0) # dx, dy, alignment, angle pinl=(350,0,0,0) # """" pina=(350,0,2,0) # """" pinq=(200,-50,8,0) # """" swap=0 # swap words in label ? plefty=plefty - o_vdist #where to draw the _next_ pin elif pin.pos == "r": #right pin basex, basey = prightx, prighty xf, yf= -1, 0 pint=(-200,50,0,0) pinl=(-350,0,6,0) pina=(-350,0,8,0) pinq=(-200,-50,2,0) swap=1 prighty=prighty - o_vdist elif pin.pos == "b": # bottom pin basex, basey=pbottomx, pbottomy xf, yf= 0, 1 if o_rotate == "yes": # bottom pin with 90 text pint=(-50,200,6,90) pinl=(0,350,0,90) pina=(0,350,2,90) pinq=(50,200,8,90) else: pint=(50,200,2,0) pinl=(0,350,3,0) pina=(0,500,3,0) pinq=(-50,200,8,0) swap=0 pbottomx=pbottomx + o_hdist elif pin.pos == "t": # top pin basex, basey=ptopx, ptopy xf, yf= 0, -1 if o_rotate == "yes": # with 90 text pint=(-50,-200,0,90) pinl=(0,-350,6,90) pina=(0,-350,8,90) pinq=(50,-200,2,90) swap=1 else: pint=(50,-200,0,0) pinl=(0,-350,5,0) pina=(0,-500,5,0) pinq=(-50,-200,6,0) swap=0 ptopx=ptopx + o_hdist ### draw the pin if (pin.style=="dot" or #short pin and dot? pin.style=="dotclk"): x=basex + xf*200 y=basey + yf*200 else: x=basex + xf*300 y=basey + yf*300 f.write("P %i"%basex+" %i"%basey+" %i"%x + " %i"%y+ " 1 0 0\n") f.write("{\n") ### draw pinnumber pintx, pinty, pinta, pintr=pint x=basex+pintx y=basey+pinty f.write("T %i"%x+" %i"%y+" 5 8 1 1 %i"%pintr+" %i 1\n"%pinta) f.write("pinnumber="+pin.nr+"\n") ### draw pinseq pintx, pinty, pinta, pintr=pinq x=basex+pintx y=basey+pinty f.write("T %i"%x+" %i"%y+" 5 8 0 1 %i"%pintr+" %i 1\n"%pinta) f.write("pinseq="+pin.seq+"\n") ### draw pinlabel and pintype pinlx, pinly, pinla, pinlr=pinl pinax, pinay, pinaa, pinar=pina if (pin.style=="clk" or #move label if clocksign pin.style=="dotclk"): pinlx=pinlx + xf*75 pinly=pinly + yf*75 pinax=pinax + xf*75 pinay=pinay + yf*75 pinlx=pinlx + basex pinly=pinly + basey pinax=pinax + basex pinay=pinay + basey if o_wordswap=="yes" and swap==1: label=swapwords(pin.label) else: label=pin.label f.write("T %i"%pinlx+" %i"%pinly+" 9 8 1 1 %i"%pinlr+" %i 1\n"%pinla) f.write("pinlabel="+label+"\n") f.write("T %i"%pinax+" %i"%pinay+" 5 8 0 1 %i"%pinar+" %i 1\n"%pinaa) f.write("pintype="+pin.type+"\n") f.write("}\n") ### draw the negation bubble if (pin.style=="dot" or pin.style=="dotclk"): x=basex + xf*250 y=basey + yf*250 f.write("V %i"%x+" %i"%y +" 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1\n") ### draw the clocksign if (pin.style=="clk" or pin.style=="dotclk"): x1=basex+ xf*400 y1=basey+ yf*400 x2=x1- xf*100 +yf*75 y2=y1- yf*100 +xf*75 x3=x1- xf*100 -yf*75 y3=y1- yf*100 -xf*75 f.write("L %i"%x1+" %i"%y1+" %i"%x2+" %i"%y2 + " 3 0 0 0 -1 -1\n") f.write("L %i"%x1+" %i"%y1+" %i"%x3+" %i"%y3 + " 3 0 0 0 -1 -1\n") ### draw a box f.write("B %i"%bottomleftx+" %i"%bottomlefty+" %i"%o_symwidth+" %i"%high+ " 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1\n") ### draw the attributes urefx, urefy = bottomleftx+o_symwidth, bottomlefty + high + 100 # Center name if we have top pins if numptop > 0: namex, namey = (bottomleftx + o_symwidth) / 2, (bottomlefty + high) / 2 + 100 else: namex, namey = bottomleftx, bottomlefty+high+100 textx = namex texty = namey + 200 if numptop > 0: texty += 100 ## special attribute format if attr.has_key(("refdes",1)): f.write("T %i"% urefx +" %i"% urefy +" 8 10 1 1 0 6 1\n") f.write("refdes=" + attr[("refdes",1)] + "\n") else: print "Warning: refdes attribut missing" if attr.has_key(("name",1)): f.write("T %i" %namex + " %i"% namey + " 9 10 1 0 0 0 1\n") f.write(attr[("name",1)] + "\n") else: print "Warning: name attribut missing" ## attributes with same format and warnings for a in single_attr_warning: if attr.has_key((a,1)): f.write("T %i" %textx + " %i"% texty + " 5 10 0 0 0 0 1\n") f.write(a + "=" + attr[(a,1)] + "\n") texty=texty+200 else: print "Warning: " + a + " attribut missing" ## attributes without warning for a in single_attr: if attr.has_key((a,1)): f.write("T %i" %textx + " %i"% texty + " 5 10 0 0 0 0 1\n") f.write(a + "=" + attr[(a,1)] + "\n") texty=texty+200 ## attributes with more than one equal name for a in multiple_attr: i = 1 while attr.has_key((a,i)): f.write("T %i" %textx + " %i"% texty + " 5 10 0 0 0 0 1\n") f.write(a + "=" + attr[(a,i)] + "\n") texty=texty+200 i = i + 1 ## unknown attributes for (name, number),value in attr.items(): if name not in official_attr: f.write("T %i" %textx + " %i"% texty + " 5 10 0 0 0 0 1\n") f.write(name + "=" + value + "\n") texty=texty+200 print 'Warning: The attribute "%s=%s" is not official' %(name, value) nets={} for pin in pins: if pin.style == "none": if not nets.has_key(pin.net): nets[pin.net] = pin.nr else: nets[pin.net] = nets[pin.net] + ","+ pin.nr for key,value in nets.items(): f.write("T %i" %textx + " %i"% texty + " 5 10 0 0 0 0 1\n") f.write("net=" + key + ":" + value + "\n") texty=texty+200 return 0 def mergeoptions(source_opt,pre_opt): ret=pre_opt for item in source_opt.keys(): if ret.has_key(item): ret[item]=source_opt[item] else: print "This option is not allowed:", item sys.exit() return ret def generate_pinseq(pins): seq=1 for nr in xrange(len(pins)): if pins[nr].style not in ["none","spacer"]: pins[nr].seq = "%i"%seq seq = seq + 1 return pins ###################### MAIN ################################################# ## parse command line options try: opts, args = getopt.getopt(sys.argv[1:], "h", ["help"]) except: usage() sys.exit() ## handle command line options for o, a in opts: if o in ("-h", "--help"): usage() sys.exit() ## get files if len(args) != 2: usage() sys.exit() file_in=args[0] file_out=args[1] if not os.path.exists(file_in): print "Input file " + file_in + " not found." sys.exit() ## read sourcefile opts,attr,pins=readsrc(file_in) options=mergeoptions(opts,preset_options) if options["generate_pinseq"] == "yes": pins=generate_pinseq(pins) for pin in pins: pin.check() writesym(file_out,options,attr,pins) geda-gaf-1.8.2/utils/scripts/Makefile.in0000664000175000017500000004707312220655726015016 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = utils/scripts DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(srcdir)/sw2asc.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = sw2asc CONFIG_CLEAN_VPATH_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(bindir)" SCRIPTS = $(bin_SCRIPTS) $(noinst_SCRIPTS) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ bin_SCRIPTS = sarlacc_sym refdes_renum \ tragesym pads_backannotate pcb_backannotate garchive gsymfix \ schdiff sw2asc noinst_SCRIPTS = gnet_hier_verilog.sh gschupdate gsymupdate EXTRA_DIST = convert_sym.awk gpstoimage mk_char_tab.pl \ sarlacc_sym gschupdate gsymupdate refdes_renum gsymfix \ tragesym pads_backannotate pcb_backannotate garchive.py \ gnet_hier_verilog.sh schdiff sw2asc.in MOSTLYCLEANFILES = *.log *.ps core FILE tmp *~ CLEANFILES = *.log *.ps core FILE tmp *~ DISTCLEANFILES = *.log core FILE tmp *~ garchive sw2asc MAINTAINERCLEANFILES = *.log *.ps core FILE tmp *~ Makefile.in garchive sw2asc all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu utils/scripts/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu utils/scripts/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): sw2asc: $(top_builddir)/config.status $(srcdir)/sw2asc.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ install-binSCRIPTS: $(bin_SCRIPTS) @$(NORMAL_INSTALL) @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n' \ -e 'h;s|.*|.|' \ -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) { files[d] = files[d] " " $$1; \ if (++n[d] == $(am__install_max)) { \ print "f", d, files[d]; n[d] = 0; files[d] = "" } } \ else { print "f", d "/" $$4, $$1 } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(bindir)$$dir'"; \ $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ } \ ; done uninstall-binSCRIPTS: @$(NORMAL_UNINSTALL) @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || exit 0; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 's,.*/,,;$(transform)'`; \ dir='$(DESTDIR)$(bindir)'; $(am__uninstall_files_from_dir) mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(SCRIPTS) installdirs: for dir in "$(DESTDIR)$(bindir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-binSCRIPTS install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-binSCRIPTS .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-binSCRIPTS install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am uninstall-binSCRIPTS garchive: $(srcdir)/garchive.py sed -e "s#GEDADATADIR#$(GEDADATADIR)#" $(srcdir)/garchive.py > tmp$@ chmod a+x tmp$@ mv -f tmp$@ $@ # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/utils/scripts/refdes_renum0000775000175000017500000003667012204177071015350 00000000000000#!/usr/bin/perl -w # # $Id$ # # Copyright (C) 2003 Dan McMahill # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, # MA 02111-1301 USA. # This script is used to renumber devices in a gschem (part of gEDA) # schematic. This program works on single as well as multi-sheet # schematics. # # Usage: # renum.pl file1.sch [file2.sch [file3.sch ...]] # # for parsing input options use Getopt::Long; # for ceil function use POSIX; # don't allow -he to be interpreted as --help $Getopt::Long::autoabbrev=0; # my $clear; # reset all refdes &GetOptions(("help" => \&usage, "nocopy" => \$nocopy, "pgskip:100" => \$pgskip, "verbose" => \$verbose, "version" => \&version, "clear" => \$clear, "gentle" => \$gentle, "force" => \$force, )); usage() if $Getopt::Long::error; # By default pgskip is empty. But if the user gives # the --pgskip option with no value, then assign pgskip # to 100. if (defined($pgskip) && ($pgskip == 0)) { $pgskip = 100; } # This makes --gentle the default behavior. To # force refdes renumbering, use --force. $gentle = 1; if ( defined($force) || defined($clear) ) { undef($gentle); } # Print usage string in event user didn't call out any args usage() unless @ARGV; # Make sure the input schematic exists and we can read it. # Also count number of files to open. $i=0; while(@ARGV) { $fname[$i]=shift(@ARGV); die_sdb(1, "Schematic file $fname[$i] does not exist or can not be read") unless -r $fname[$i]; $i++; } $filecnt = $i; # number of files to open if($verbose) {print "Found $filecnt files to process\n";} # To refdes an entire design, we normally just loop through all files # and process each one in order. However if --gentle option is set, # we need to make two passes through all files. First to create a hash # of the highest refdeses used, and second to update unnumbered # refdeses. The hash is used to know where to start the refdes numbering. # # It gets more complicated. If --pgskip is not set, then we only need # to find the highest refdes overall. But if --pgskip is set, then # we need to know the highest refdes on each *page*. This is accomplished # on the first scan by creating the variable $highdev{$i, $pre} when --pgskip # is defined, but using the variable $highdev{$pre} when it is not. # if (defined($gentle)) { # First scan through design to build hash for($i=0; $i < $filecnt; $i++) { # $i is the file index. print "Scanning input file #".($i+1).": $fname[$i]\n"; open(NETLIST,"$fname[$i]") or die_sdb(1, "Can't open $fname[$i]: $!\n"); while($line = ) { # Iterate over lines found in .sch file. unless( $line =~ /^refdes/) { next; } # Found refdes line. Eat the newline. $line =~ s/\n//; # Now extract component prefix and suffix. if($verbose) {print ("Matching $line ....\n");} $line =~ /refdes=([a-zA-Z_]+)(\d+|\??)/i; my $pre = $1; my $suf = $2 ? $2 : "?"; if($verbose) {print "Refdes line \"$line\" has pre=$pre suf=$suf\n";} # Now put highest refdes found into $highdev hash. if (defined($pgskip)) { if ($suf eq "?") { # Part has no pre-existing refdes. # Skip to next part. next; } elsif (!defined($highdev{$i, $pre})) { # refdes is not cached, but refdes exists on part. # Create new cache entry if ($suf < $pgskip) { # if pgskip=100, on pg 1, and suf = 23, set highdev=123. $highdev{$i, $pre} = ($i+1)*$pgskip + $suf; } elsif ( ( ($i+1)*$pgskip < $suf) && ( ($i+2)*$pgskip > $suf) ) { # if pgskip=100, we're on pg 2, and suf = 204, set highdev=204. $highdev{$i, $pre} = $suf; } else { # I don't know what to do! die_sdb(3, "Encountered refdes incompatable with --pgskip setting. Refdes=$pre$suf.\n"); } } elsif ($highdev{$i, $pre} < $suf) { # part has refdes and refdes is higher than cached # value. Store this new value as highest value. $highdev{$i, $pre} = $suf; } elsif ($highdev{$i, $pre} >= $suf) { # part has refdes, but refdes is lower than cached # high value. Leave it alone. next; } else { # Should never get here die_sdb(4, "Invalid refdes with --pgskip set! Exiting....\n"); } if($verbose) { print "On page ".($i+1).", caching highest refdes $pre$highdev{$i, $pre}\n"; } } else { if ($suf eq "?") { # Part has no pre-existing refdes. next; } elsif (!defined($highdev{$pre}) ) { # refdes is not cached, and refdes exists on part. Create new # cache entry $highdev{$pre} = $suf; } elsif ($highdev{$pre} < $suf) { # part has refdes and refdes is higher than cached # value. Store this new value as highest value. $highdev{$pre} = $suf; } elsif ($highdev{$pre} >= $suf) { # part has refdes, but refdes is lower than cached # high value. Leave it alone. next; } else { # Should never get here die_sdb(4, "Invalid refdes! Exiting....\n"); } if($verbose) { print "Caching highest refdes $pre$highdev{$pre}\n"; } } } # while($line = ) close(NETLIST); } # for($i=0; $i < $filecnt; $i++) } # if (defined($gentle)) # OK, now we can read through the netlist file again, assign refdeses, # and write the output file. for($i=0; $i < $filecnt; $i++) { # $i is the file index. print "Now processing input file #".($i+1).": $fname[$i]\n"; open(NETLIST,"$fname[$i]") or die_sdb(1, "Can't open $fname[$i]: $!\n"); # open output netlist $outfname="$fname[$i].renum"; open(OUTNET,">$outfname") or die_sdb(2, "Can't open $outfname: $!\n"); # Iterate over lines found in .sch file. while($line = ) { unless( $line =~ /^refdes/) { print OUTNET $line; next; } # Found refdes line. Eat the newline. $line =~ s/\n//; # Now extract component prefix and suffix. if($verbose) {print ("Processing $line ....\n");} $line =~ /refdes=([a-zA-Z_]+)(\d+|\??)/i; my $pre = $1; my $suf = $2 ? $2 : "?"; if($verbose) {print "Refdes line \"$line\" has pre=$pre suf=$suf\n";} # Now finally update refdes if ($clear) { # Just overwrite all refdeses upon clear if($verbose) {print ("Clearing refdes=$pre$suf\n");} print OUTNET "refdes=$pre?\n"; } elsif (defined($pgskip) && defined($gentle)) { # If highdev exists, then start devcnt there, otherwise, start # devcnt at correct value for each page. if (!defined($devcnt{$i, $pre}) && defined($highdev{$i, $pre})) { $devcnt{$i, $pre} = $highdev{$i, $pre}; } elsif (!defined($devcnt{$i, $pre}) && !defined($highdev{$i, $pre})) { $devcnt{$i, $pre} = ($i+1)*$pgskip ; } if ($suf eq "?") { $devcnt{$i, $pre}++; if ($devcnt{$i, $pre} >= ($i+2)*$pgskip) { print STDERR "ERROR: You are numbering more than $pgskip elements with\n"; print STDERR "prefix $pre on this sheet. You will need to either\n"; print STDERR "reduce this number or specify a larger step with the\n"; print STDERR "--pgskip argument.\n"; die_sdb(3, ""); } print "Renumbering $line to $pre$devcnt{$i, $pre}\n" if($verbose); print OUTNET "refdes=$pre$devcnt{$i, $pre}\n"; } else { print "Leaving line=$line alone\n" if($verbose); print OUTNET "refdes=$pre$suf\n"; } } elsif (defined($pgskip) && !defined($gentle)) { if (!defined($devcnt{$i, $pre})) { $devcnt{$i, $pre} = ($i+1)*$pgskip ; } $devcnt{$i, $pre}++; if ($devcnt{$i, $pre} >= ($i+2)*$pgskip) { print STDERR "ERROR: You are numbering more than $pgskip elements with\n"; print STDERR "prefix $pre on this sheet. You will need to either\n"; print STDERR "reduce this number or specify a larger step with the\n"; print STDERR "--pgskip argument.\n"; die_sdb(3, ""); } print "Renumbering $line to $pre$devcnt{$i, $pre}\n" if($verbose); print OUTNET "refdes=$pre$devcnt{$i, $pre}\n"; } elsif (!defined($pgskip) && defined($gentle)) { if (!defined($devcnt{$pre}) && defined($highdev{$pre})) { $devcnt{$pre} = $highdev{$pre}; } elsif (!defined($devcnt{$pre}) && !defined($highdev{$pre})) { $devcnt{$pre} = 0; } if ($suf eq "?") { $devcnt{$pre}++; print "Renumbering $line to $pre$devcnt{$pre}\n" if($verbose); print OUTNET "refdes=$pre$devcnt{$pre}\n"; } else { print "Leaving line=$line alone\n" if($verbose); print OUTNET "refdes=$pre$suf\n"; } } elsif (!defined($pgskip) && !defined($gentle)) { if (!defined($devcnt{$pre})) { $devcnt{$pre} = 0 ; } $devcnt{$pre}++; print "Renumbering $line to $pre$devcnt{$pre}\n" if($verbose); print OUTNET "refdes=$pre$devcnt{$pre}\n"; } else { die_sdb(4, "Invalid state when trying to update refdes! Exiting.....\n"); } } # while($line = ) close(NETLIST); close(OUTNET); # make this an option to not overwrite the original if( $nocopy ) { print "Leaving page #",$i+1," output in $outfname\n"; } else { system("mv $outfname $fname[$i]"); } } exit(0); ####################################################################### # # Subroutines # ####################################################################### #--------------------------------- # usage() # # prints program usage #--------------------------------- sub usage { my $pname = $0; $pname =~ s/.*\///g; print "Usage:\n\n"; print "\t$pname [--nocopy] [--pgskip [number] ] file1 [file2 [file3 ... ] ]\n"; print "\t$pname --help\n"; print "\t$pname --version\n"; print "\n"; print "$pname reads a gschem schematic file or files and renumbers all reference\n"; print "designators. The reference designators are numbered starting with 1 and the\n"; print "old schematic file is replaced by the modified schematic file.\n"; print "\n"; print "$pname accepts the following options:\n"; print "\n"; print " --help Displays this help message.\n"; print "\n"; print " --nocopy If given, this flag leaves the modified files in new files\n"; print " whose names are generated by appending a \".renum\" to the\n"; print " original file names. The default is to overwrite the original.\n"; print "\n"; print " --pgskip When this flag is used, components on the first schematic sheet\n"; print " are numbered starting with 101. On the second sheet, they start\n"; print " with 201, etc Specifying a value gives the step between pages.\n"; print " For example --pgskip 10 will start with 11, 21, 31, etc.\n"; print "\n"; print " --gentle This flag tells refdes_renum to leave any refdeses\n"; print " alone if they already have numbers. Use this option to number\n"; print " new components in a schematic which has already been numbered.\n"; print " Note that --gentle is set by default!\n"; print "\n"; print " --force Set this flag to renumber all refdeses, whether they are already\n"; print " numbered or not.\n"; print "\n"; print " --verbose Enables verbose output.\n"; print "\n"; print " --version Shows the version of this program.\n"; print "\n\n"; print "Return codes:\n\n"; print "\t$pname returns the following codes to the shell upon completion:\n"; print "\n"; print " 0 Program ran successfully.\n"; print " 1 Error opening or reading input file.\n"; print " 2 Error opening or writing output file.\n"; print " 3 Too many components for --pgskip setting.\n"; print " 4 Internal error (program bug encountered).\n"; print "\n"; print "Usage examples:\n\n"; print "\tTo renumber the reference designators in a single page schematic\n"; print "\tmysch.sch:\n"; print "\n"; print "\t\t$pname mysch.sch\n"; print "\n\n"; print "\tTo renumber the reference designators in schematic pages pg1.sch,\n"; print "\tpg2.sch and pg3.sch, with the reference designators on pg1.sch\n"; print "\tbeginning at 101, the designators on pg2.sch beginning at 201,\n"; print "\tand the designators on pg3.sch beginning at 301:\n"; print "\n"; print "\t\t$pname --pgskip pg1.sch pg2.sch pg3.sch\n"; print "\n\n"; print "$pname was written by Dan McMahill \n"; print "\n\n"; exit(0); } #--------------------------------- # version() # # prints program version #--------------------------------- sub version { open(PROG,"$0") or die_sdb(4, "Could not open \"$0\" to find version\n\n"); my $pname = $0; $pname =~ s/.*\///g; while($line = ) { if( $line =~ /^#\s*\$Id.*\$/) { @words = split ' ',,$line; $version = $words[3]; $date = $words[4]; print "$pname ($0): Version $version, $date\n"; exit(0); } } die_sdb(4, "Could not determine version of \"$0\"\n\n"); } #------------------------------------------- # die_sdb(rc, string) # # Local version of die. Sets return code # for shell, then calls die(string) #-------------------------------------------- sub die_sdb { my $rc = $_[0]; my $string = $_[1]; $! = $rc; die($string); } # ---------------------------------------------- # # Change Log # # $Log$ # Revision 1.8 2007-04-17 20:19:23 pcjc2 # Merge changes from noscreen branch # # Revision 1.2.6.2 2007/04/17 16:19:01 pcjc2 # Sync with trunk # # Revision 1.7 2007/04/15 23:20:31 sdb # Made --gentle the default behavior of refdes_renum. # # Revision 1.7 2007/04/15 SDB # Made --gentle default behavior. Now user must use --force # to get old behavior, which renumbers all refdeses whether # already numbered or not. # # Revision 1.6 2007/04/15 00:42:22 sdb # Added --gentle flag to refdes_renum, which won't renumber refdeses # which already have a number. # # Revision 1.5 4.9.2007 sdb. # Added --gentle flag, and include logic to handle case # where user mixes --gentle with --pgskip. # # Revision 1.4 2007/02/24 18:43:17 pcjc2 # Merge changes to date from noscreen branch. # # Revision 1.2.6.1 2007/02/11 23:59:10 pcjc2 # Sync with trunc # # Revision 1.3 2007/02/10 20:46:17 sdb # Added --clear option to clear refdeses. (* jcl *) # # Revision 1.2 2005/12/21 00:09:56 danmc # - Fix a bug where when using the --pgskip option, components which were # present on page n, but not on pages n+1 through n+j, and present again # on page n+j+1 got numbered in a strange way. For example, J101 on page # 1, no connectors on page 2, J201 on page 3 instead of J301. Noted by # Stuart Brorson. # # - While here allow the user to change the default increment from 100 to whatever # they want. # # - Also fix a bug where exactly 101 components with the same refdes prefix # would cause a duplicate refdes on the next page. # # Revision 1.1 2003/02/21 03:21:12 ahvezda # Added scripts/refdes_renum written by Dan McMahill # # # geda-gaf-1.8.2/utils/scripts/sw2asc.in0000664000175000017500000001505412204177071014467 00000000000000#!@AWK@ -f # # gEDA - GPL Electronic Design Automation # # Copyright (C) 2003-2010 Dan McMahill # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, # MA 02111-1301 USA. # # This is a script to extract out PRINT data from a SWITCAP simulation # and write it to a format which gwave can read # BEGIN { state_wait = 0; state_skip_blank = 1; state_read_data = 2; state = state_wait; analysis_none = 0; analysis_SSS = 1; analysis_SPECTRUM = 2; analysis_FREQCOMP = 3; analysis_TRAN = 4; analysis = analysis_none; progn = "sw2asc"; pat = "none"; variable_offset = 0; nvars = 0; for(i=1; i "/dev/stderr"; usage(); close("/dev/stderr"); exit 1; } printf("ARGV[%d] = %s\n", i, ARGV[i]); } infile = ARGV[ARGC-1]; copyright(); printf("Loading SWITCAP output file [%s]\n", infile); } /^ Sinusoidal Steady State/ { if( debug ) { printf("Start of SSS analysis\n"); } analysis = analysis_SSS; cnt_SSS = cnt_SSS + 1; fileid = ".SSS." cnt_SSS; pat = "^[ \t]*frequency"; } /^ Spectral Analysis$/ { if( debug ) { printf("Start of SPECTRUM analysis\n"); } analysis = analysis_SPECTRUM; cnt_SPECTRUM = cnt_SPECTRUM + 1; fileid = ".SPECTRUM." cnt_SPECTRUM; pat = "^not_implemented_yet$"; printf("Ignoring data from SPECTRUM analysis.\n"); printf("I haven't fully worked out how to always parse this\n"); printf("correctly. Please write code to do this!!!\n\n"); } /^ Spectral Analysis by Components$/ { if( debug ) { printf("Start of FREQCOMP analysis\n"); } analysis = analysis_FREQCOMP; cnt_FREQCOMP = cnt_FREQCOMP + 1; fileid = ".FREQCOMP." cnt_FREQCOMP; pat = "^not_implemented_yet$"; printf("Ignoring data from FREQCOMP analysis.\n"); printf("I haven't fully worked out how to always parse this\n"); printf("correctly. Please write code to do this!!!\n\n"); } /^ Transient Analysis$/ { if( debug ) { printf("Start of TRAN analysis\n"); } analysis = analysis_TRAN; cnt_TRAN = cnt_TRAN + 1; fileid = ".TRAN." cnt_TRAN; pat = "^[ \t]*time"; } /^ Run Report$/ { if( debug ) { printf("Start of Run Report\n"); } analysis = analysis_none; fileid = "none"; pat = "^this_is_the_run_report$"; } /\*SWITCAP/ { if( debug ) { printf("Saw *SWITCAP line\n"); } if( variable_offset > 0 ) { outf = infile fileid ".asc"; printf("Writing data to ""%s""\n", outf); printf( "" ) > outf; for(i = 1; i <= variable_offset; i = i + 1) { printf("%s ", vnames[i]) >> outf; } printf("\n") >> outf; for(pt = 1; pt < cnt ; pt = pt + 1) { if( debug > 1) { printf("point #%d: ", pt); } for(i = 1; i <= variable_offset; i = i + 1) { printf("%s ", data[i ":" pt]) >> outf; } printf("\n") >> outf; } close(outf); variable_offset = 0; nvars = 0; for(k in data) { delete data[k]; } num_analysis = num_analysis + 1; } else { if( debug ) { printf("No data to output yet\n"); } } next; } state == state_wait { if( $0 ~ pat ) { if( debug) { printf("state_wait: Variable start line:"); } for(i=1; i<=NF; i=i+1) { if( debug ) { printf("\tVariable #%d = %s\n", i, $i); } vnames[i + variable_offset] = $i; } nvars = NF; if( debug ) { printf("state_wait: moving to state_skip_blank\n") }; state = state_skip_blank; } next; } state == state_skip_blank { if( $0 == "" ) { if( debug) { printf("state_skip_blank: skipping blank line\n"); } next; } cnt = 1; if( debug ) { printf("state_skip_blank: moving to state_read_data\n") }; state = state_read_data; } state == state_read_data { if( $0 == "" ) { variable_offset = variable_offset + nvars; nvars = 0; if( debug ) { printf("state_read_data: moving to state_wait\n") }; state = state_wait; next; } if( debug > 1 ) { printf("state_read_data: data = %s\n", $0); } for(i=1; i<=NF; i=i+1) { gsub(/d$/, "", $i); data[i+variable_offset ":" cnt] = $i; } cnt = cnt + 1; next; } END { if( debug ) { printf("END. Processed %d analyses.\n", num_analysis); }; } function copyright() { printf("gEDA/%s version %s\n", progn, "@VERSION@"); printf("gEDA/%s comes with ABSOLUTELY NO WARRANTY; see COPYING for more details.\n", progn); printf("This is free software, and you are welcome to redistribute it under certain\n"); printf("conditions; please see the COPYING file for more details.\n\n"); } function usage() { printf("Usage:\n\n"); printf("\t%s -- -c|--copyright\n", progn); printf("\t%s -- -h|--help\n", progn); printf("\t%s -- -v|--version\n", progn); printf("\t%s switcap.out\n", progn); printf("\n"); printf("%s process the output file generated by the SWITCAP switched capacitor\n", progn); printf("circuit simulator. Data generated by SWITCAP ""PRINT"" statements is\n"); printf("extracted and written to an output file in an ASCII format which can be\n"); printf("directly loaded by the gwave waveform viewer or more easily loaded into\n"); printf("a tool such as scilab, octave, grace, or matlab.\n"); printf("\n"); printf("If multiple analyses are in the SWITCAP output file, then they are written\n"); printf("to individual files by %s. The output file names are derived from the input\n", progn); printf("file name by appending "".{SSS,TRAN}.#.asc"" to the name of the input file.\n"); printf("SSS is used for Sinusoidal Steady State analysis output and TRAN is used for.\n"); printf("TRANsient analysis output. # corresponds to the analysis number (ie if you \n"); printf("have 3 SSS analyses in your file, you will end up with .SSS.1.asc, .SSS.2.asc,\n"); printf("and .SSS.3.asc.\n"); printf("\n"); } geda-gaf-1.8.2/utils/scripts/sarlacc_sym0000775000175000017500000003636412204177071015172 00000000000000#!/usr/bin/perl ## Library version 0.94 ## This program is released under the terms of the GNU GPL ## See www.fsf.org for a copy of the license ## ## Copyright 1999 Matthew Ettus ## For more info, email matt@ettus.com ## ## This program will convert ORCAD text libraries to gEDA components ## ## Changes 0.94 by , october 5th 2002 ## Implement CLK modifier ## Implement negation for text ('\'-character) ## Doubled size to better fit with gEDA symbols ## Default to U? refdes, fixed refdes and made visible ## Define sarlacc_dim attribute for sarlacc_scheme ## Command line options ## ## Changes 0.93 by , october 4th 2002 ## Pin attribs modified for 20020825 convention ## File format to 20020825 convention ## Give duplicate components correct names ## Implemented BITMAP ## Implemented CONVERT ## Implemented multiple slot component ## Better syntax check for pin defs ## Removed negative coordinates by adding an offset ## Got rid of need to calculate text sizes ## Got the ARC right ## Graphics components has invisible pin labels ## Implemented pintype PWR ## Implement pintypes (IN, I/O, hiZ, OUT, PAS, OC, OE) ## ## Todo ## Implement symbols like THREE_STATE ## Implement FILL (?) ## $version = "0.94"; $gedaversion="20020825"; # # colors # $pin_color = 1; # white $graphic_color = 3; # green $attribute_color = 5; # yellow $text_color = 9; # green # # symbol scaling # # was 6: $pinnumsize = 8; $partnamesize = 10; # was 100: $scale = 200; $pinlen = 3; $xoffset = $pinlen * $scale; $yoffset = $pinlen * $scale; # # character width table (approximate) # @char_width=( 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 11,14,14,22,28,28,24,10,12,12,16,20,14,20,12,18, 26,16,26,20,26,20,24,20,22,26,12,12,20,20,20,20, 36,29,29,28,26,29,21,30,29,9,21,27,22,32,28,32, 25,32,26,25,23,27,27,37,27,25,27,12,14,12,20,25, 10,24,22,22,20,20,12,24,20,8,10,19,9,32,20,20, 20,24,14,18,12,19,20,28,19,20,21,12,10,12,22,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,29,29,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0, 0,0,0,0,24,24,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0 ); sub string_len { $char_points = 2; $width = 0; @expanded = unpack "C*",$_[0]; foreach $char (@expanded) { $width += $char_width[$char]; } $width = ($_[1]*$width)/$char_points; return $width; } # # draw a pin # $x1 # $x2 # $dx # $dy # sub draw_pin { local $sx,$sy; local $x2,$y2; $sx = 0; $sx = 1 if ($dx > 0); $sx = -1 if ($dx < 0); $sy = 0; $sy = 1 if ($dy > 0); $sy = -1 if ($dy < 0); $x2 = $x1 + $sx * $len; $y2 = $y1 + $sy * $len; if( $is_clk ) { local $xa,$ya,$xb,$xb; $xa = $x1 - $sy * $spacing; $xb = $x1 - $sx * $spacing; $ya = $y1 - $sx * $spacing; $yb = $y1 - $sy * $spacing; print COMPONENT "L $xa $ya $xb $yb $graphic_color". " 0 0 0 -1 -1\n"; $xa = $x1 + $sy * $spacing; $ya = $y1 + $sx * $spacing; print COMPONENT "L $xa $ya $xb $yb $graphic_color". " 0 0 0 -1 -1\n"; } if ( not ($pinlabel =~ /\$/) && not $is_graphic) { # negation? if ( $pinlabel =~ /\\/ ) { local $w; $pinlabel =~ tr/\\//d; $w = string_len($pinlabel,$pinnumsize); if ($w > 0) { local $xa,$ya,$xb,$xb; $xa = $x1 + abs($sy) * $spacing - $sx * $spacing; $xb = $x1 + abs($sy) * $spacing - $sx * ($spacing + $w); $ya = $y1 + abs($sx) * $spacing - $sy * $spacing; $yb = $y1 + abs($sx) * $spacing - $sy * ($spacing + $w); print COMPONENT "L $xa $ya $xb $yb $text_color". " 0 0 0 -1 -1\n"; } } } if( $dotsize ) { local $rad; $rad = $dotsize / 2; $x1 += $sx * $rad; $y1 += $sy * $rad; print COMPONENT "V $x1 $y1 $rad $pin_color ", " 0 0 0 -1 -1 0 -1 -1 -1 -1 -1\n"; $x1 += $sx * $rad; $y1 += $sy * $rad; } print COMPONENT "P $x1 $y1 $x2 $y2 $pin_color\n"; } # # define a pin # $pinseq # $place # $pinnumbers # $pintype # $pinlabel # $slots # $is_graphic # sub def_pin { if ($pinnumbers =~ /^(.*)[ \t]+([A-Za-z]+)[ \t]*$/ ) { $pinnumbers = $1; $modifier = $2; } else { $modifier = ""; } chomp $pinnumbers; $len = $pinlen * $scale; $visibility = 1; $dotsize = 0; $is_clk = 0; if ($modifier eq "DOT") { $dotsize = $scale / 2; } elsif ($modifier eq "SHORT") { $len = $scale; } elsif ($modifier eq "CLK") { $is_clk = 1; } elsif ($modifier ne "") { print "Modifier not supported: $modifier\n"; } $is_pwr = 0; if ($pintype eq "PWR") { $is_pwr = 1; $visibility = 0; } elsif (($a = $pintype_assoc{$pintype}) ne "") { $pintype = $a; } elsif ($pintype ne "") { ## BAD others are: tp clk pwr print "Pintype not supported: $pintype\n"; } # by gEDA convention $pinlabel = "Vcc" if ($pinlabel eq "VCC"); # # extract the pin numbers # if ($slots > 1) { $length = @array = split(" ",$pinnumbers); if ($length != $slots) { print "Error: incorrect number of pins $length, should be $slots\n"; exit; } if (not $is_pwr) { $def_slot[$pinseq] = [ @array ]; } $pinnumber = $array[0]; } else { $pinnumber = $pinnumbers; } $pinnumber =~ tr/ //d; $pinnumber =~ tr/\'//d; $pinnumalign = 0; $pinnumangle = 0; $pinlabelalign = 0; $pinlabelangle = 0; # # place the label # $letter = $num = $place; $letter =~ tr/0-9//d; $num =~ tr/LRTB//d; $spacing = $scale / 2; if ($letter eq "L") { $x1 = $xoffset; $y1 = $yoffset + $ysize - $num*$scale; $dx = -$len; $dy = 0; $textx = $xoffset - $spacing; $texty = $y1 + $scale/10; $namex = $xoffset + $spacing; $namey = $y1; $pinlabelalign = 1; $pinnumalign = 6; } elsif ($letter eq "R") { $x1 = $xoffset + $xsize; $y1 = $yoffset + $ysize - $num*$scale; $dx = $len; $dy = 0; $textx = $xoffset + $xsize + $spacing; $texty = $y1 + $scale/10; $namex = $xoffset + $xsize - $spacing; $namey = $y1; $pinlabelalign = 7; } elsif ($letter eq "T") { $x1 = $xoffset + $num*$scale; $y1 = $yoffset + $ysize; $dx = 0; $dy = $len; $textx = $x1 - $scale/10; $texty = $yoffset + $ysize + $spacing; $namex = $x1; $namey = $yoffset + $ysize - $spacing; $pinnumangle = $pinlabelangle = 90; $pinlabelalign = 7; } elsif ($letter eq "B") { $y1 = $yoffset; $x1 = $xoffset + $num*$scale; $dx = 0; $dy = -$len; $textx = $x1 - $scale/10; $texty = $yoffset - $spacing; $namex = $x1; $namey = $yoffset + $spacing; $pinnumangle = $pinlabelangle = 90; $pinlabelalign = 1; $pinnumalign = 6; } else { print "Cannot happen: $letter\n"; exit; } if( $is_pwr ) { if ($pinnumber ne "") { print COMPONENT "T $textx $texty $attribute_color $pinnumsize 0 0 0 0\n"; print COMPONENT "net=$pinlabel:$pinnumber\n"; } } else { draw_pin(); ++$pinseq; print COMPONENT "{\n"; # *EK* use pinnumber= and pinseq= for 20020825 if ($pinnumber ne "") { print COMPONENT "T $textx $texty $attribute_color $pinnumsize $visibility 1 $pinnumangle $pinnumalign\n"; print COMPONENT "pinnumber=$pinnumber\n"; } print COMPONENT "T $textx $texty $attribute_color $pinnumsize 0 0 0 0\n"; print COMPONENT "pinseq=$pinseq\n"; print COMPONENT "T $textx $texty $attribute_color $pinnumsize 0 0 0 0\n"; print COMPONENT "pintype=$pintype\n"; if ( not ($pinlabel =~ /\$/) ) { # do not show label if graphic package $visibility = 0 if ($is_graphic); print COMPONENT "T $namex $namey $text_color ", "$pinnumsize $visibility 1 $pinlabelangle $pinlabelalign\n"; print COMPONENT "pinlabel=$pinlabel\n"; } print COMPONENT "}\n"; } } # # define all pins # $is_graphic # sub def_all_pins { $pinseq = 0; # # define the pins # for ($pin = 0; $pin < $pins; ++$pin) { $place = $def_place[$pin]; $pinnumbers = $def_pinnumbers[$pin]; $pintype = $def_pintype[$pin]; $pinlabel = $def_pinlabel[$pin]; def_pin(); } } # # next component # $component # $namelist # $slots # sub def_component { open(COMPONENT,">$component-$convert.sym"); print COMPONENT "v $gedaversion\n"; print COMPONENT "T $scale 0 $attribute_color $partnamesize 1 1 0 0\n"; print COMPONENT "refdes=$refdes?\n"; # make displayed name also an attribute print COMPONENT "T $scale $scale $attribute_color $partnamesize 1 1 0 0\n"; print COMPONENT "partno=$component\n"; print COMPONENT "T $scale $scale $attribute_color $partnamesize 0 1 0 0\n"; print COMPONENT "device=$component\n"; if ( $slots > 1 ) { print COMPONENT "T $scale $scale $attribute_color $partnamesize 0 0 0 0\n"; print COMPONENT "slot=1\n"; print COMPONENT "T $scale $scale $attribute_color $partnamesize 0 0 0 0\n"; print COMPONENT "numslots=$slots\n"; } else { print COMPONENT "T $scale $scale $attribute_color $partnamesize 0 0 0 0\n"; print COMPONENT "numslots=0\n"; } $pins = 0; # # scan the pins # while (($line = ) =~ /(^[LRTB][0-9]+)(.*)[ \t]+([A-Za-z\/]+)[ \t]+'(.*)'/ ) # L1 3 DOT I/O 'OUTPUT' { $def_place[$pins] = $1; $def_pinnumbers[$pins] = $2; $def_pintype[$pins] = $3; $def_pinlabel[$pins] = $4; ++$pins; } # # define the body # #skip Orcad bitmaps while ($line =~ /\{/) { $line = ; } if ( $line =~ /BITMAP[ \t]+'(.*)'/ ) { $is_graphic = 1; def_all_pins(); # re-use previous vector image $def_body = $body{$1}; $line = ; } elsif (( $line = ) =~ /VECTOR/ ) { $is_graphic = 1; def_all_pins(); $def_body=""; while (not (( $line = ) =~ /END/)) { if ($line =~ /LINE/) { ($dummy,$x1,$y1,$x2,$y2)= split(" ",$line); $x1 = $xoffset + $x1*$scale; $y1 = $yoffset + $ysize - $y1*$scale; $x2 = $xoffset + $x2*$scale; $y2 = $yoffset + $ysize - $y2*$scale; $def_body .= "L $x1 $y1 $x2 $y2 $graphic_color". " 0 0 0 -1 -1\n"; } elsif($line =~ /TEXT/) { # BAD set textsize properly , check multi-line text ($dummy,$x1,$y1,$textsize,$text)=split(" ",$line); $x1 = $xoffset + $x1*$scale; $y1 = $yoffset + $ysize - $y1*$scale; # print "Text=$text\n"; if ($text eq "OPEN_L") { # BAD ignore } elsif ($text eq "OPEN_H") { # BAD ignore } elsif ($text eq "THREE_STATE") { # BAD ignore } elsif ($text !~ /'/) { print "Symbol not supported: $text\n"; } else { $text=~ tr/\'//d; $textsize *= $pinnumsize; $def_body .= "T $x1 $y1 $graphic_color $textsize 1 0 0 0\n". "$text\n"; } } elsif ($line =~ /CIRCLE/) { ($dummy,$x1,$y1,$radius) = split(" ",$line); $x1 = $xoffset + $x1*$scale; $y1 = $yoffset + $ysize - $y1*$scale; $radius *= $scale; $def_body .= "V $x1 $y1 $radius $graphic_color". " 0 0 0 -1 -1 0 -1 -1 -1 -1 -1\n"; } elsif ($line =~ /ARC/) { ($dummy,$x1,$y1,$dx1,$dy1,$dx2,$dy2,$rad) = split(" ",$line); $x1 = $xoffset + $x1*$scale; $y1 = $yoffset + $ysize - $y1*$scale; $factor = 180 / atan2(1,1) / 4; $startangle = int ( $factor * atan2 (-$dy1, $dx1)); $endangle = int ( $factor * atan2 (-$dy2, $dx2)); $sweepangle = $endangle - $startangle; # Orcad brain damage: ARC is always < 180 deg if ($sweepangle > 180) { $sweepangle -= 360; } if ($sweepangle < -180) { $sweepangle += 360; } $rad *= $scale; $def_body .= "A $x1 $y1 $rad". " $startangle $sweepangle $graphic_color". " 0 0 0 -1 -1\n"; } elsif ($line =~ /FILL/) { # BAD Ignore FILL } else { print "Unrecognized tag:\n $line \n"; exit; } } $line = ; } else { $is_graphic = 0; def_all_pins(); $x1 = $xoffset; $y1 = $yoffset; $def_body = "B $x1 $y1 $xsize $ysize $graphic_color". " 0 0 0 -1 -1 0 -1 -1 -1 -1 -1\n"; } # # define slots, if any # if ($slots > 1) { for ($s = 0; $s < $slots; ++$s) { print COMPONENT "T $scale $scale $attribute_color $partnamesize 0 0 0 0\n"; print COMPONENT "slotdef=",$s+1; $c = ":"; for ($n = 0; $n < $pinseq; ++$n) { $pin = $def_slot[$n][$s]; print COMPONENT "$c$pin"; $c = ","; } print COMPONENT "\n"; } } # # emit text for body # print COMPONENT "$def_body"; $body{$component} = "$def_body"; # # for sarlacc_schem # print COMPONENT "T $scale $scale $attribute_color $partnamesize 0 0 0 0\n"; print COMPONENT "sarlacc_dim=$xoffset,$yoffset,$xsize,$ysize\n"; close(COMPONENT); # # make copies for multiple component names. # device= changed to suit # foreach $duplicate (@namelist) { # make duplicate component, remembering to change device name `cat $component-1.sym | sed "s/partno=$component/partno=$duplicate/" | sed "s/device=$component/device=$duplicate/" | cat >$duplicate-1.sym`; } } # # main loop # arg: library name # sub main_loop { local $library = $_[0]; open(LIBRARY,$library ) or die "Can't open $library: $!\n"; $line = ; if ( not ($line =~ /Compiled/ )) { print $line; print "Not a library file: $library\n"; die; } while (not ( =~ /PREFIX/)){}; while (not ( =~ /END/)){}; $line = ; while (not (eof LIBRARY)) { if ($line =~ /\'/) { $component = $line; $component =~ s/\'//g; chomp $component; $component =~ s/\r//g; $component =~ s/\ /_/g; $convert = 1; $refdes="U"; # Handle components with multiple names.... @namelist = (); while (($line = ) =~ /^\'/) { $line =~ s/\'//g; chomp $line; $line =~ s/\r//g; $line =~ s/\ /_/g; push @namelist ,( $line); } if ($line =~ /REFERENCE/) { ($dummy,$refdes) = split("\'",$line); $line = ; } ($dummy,$x,$y,$slots) = split("=}",$line); ($xsize) = split(" ",$x); ($ysize) = split(" ",$y); $xsize *= $scale; $ysize *= $scale; chomp $slots; $slots =~ tr/ //d; # print "Define: $component\n"; def_component(); } elsif ( $line =~ /CONVERT/ ) { $convert += 1; def_component(); } else { $line = ; } } close(LIBRARY); } # # main # # pin types for Orcad to gEDA $pintype_assoc{'PWR'} = "pwr"; $pintype_assoc{'IN'} = "in"; $pintype_assoc{'I/O'} = "io"; $pintype_assoc{'OUT'} = "out"; $pintype_assoc{'hiZ'} = "tri"; $pintype_assoc{'PAS'} = "pas"; $pintype_assoc{'OC'} = "oc"; $pintype_assoc{'OE'} = "oe"; $argc = @ARGV; for ($argn = 0; $argn < @ARGV; ++$argn) { $arg = $ARGV[$argn]; if ($arg =~ /^-([A-Za-z?])(.*)$/ ) { if ($1 eq "s") { $scale = $2; } elsif ($1 eq "v") { print "sarlacc_sym ver $version\n"; } else { print "Convert Oracd symbol library (text format) to gEDA\n"; print "\nUsage: sarlacc_sym [options] library", "\nOptions:", # "\n -d directory for symbols", "\n -h help", "\n -s scale %, default is $scale", "\n -v version", "\n\n"; die; } } else { main_loop($arg); } } geda-gaf-1.8.2/utils/scripts/gpstoimage0000775000175000017500000000273412204177071015023 00000000000000#!/bin/sh # gEDA: GPL Electronic Design Automation # pstoimage (converts a postscript file to a gif) # This script is placed under the GNU Public License (GPL) version 2.0 # This scripts creates gifs from ps files using gs and ppmtogif # (both programs are REQUIRED) # It's a fairly simple script designed to give an idea on how to take # the output from gschem and create image files # First parameter is the input filename (must be a postscript file) # output filename is called `basename $1`.gif # This script requires free diskspace when it runs due to ppm files being # so large (don't forget to remove old ppms) # I have found that ppmtogif does a poor job sometimes, so it in that case # try using xv to read the image and then save it as a gif if [ "$1" = "" ] then echo usage: pstoimage filename.ps exit 0 fi input_filename=$1 basename=`basename $input_filename .ps` output_filename=${basename}.gif #resolution=100 # Added a -r${resolution} if you want to control the resolution # # Uncomment the following line if you have Aladdin Ghostscript # and want anti-aliasing enabled (replace this line with the other gs line #gs -r200 -q \ gs -q -dTextAlphaBits=4 -dGraphicsAlphaBits=4 \ -dNOPAUSE -sOutputFile=$basename.ppm \ -sDEVICE=ppm \ $input_filename quit.ps # ppm to gif ppmtogif $basename.ppm > $output_filename # # Use ImageMagic convert if you want crop the image # This will create fairly big gif files #convert -crop 0x0 $output_filename ${basename}_crop.gif geda-gaf-1.8.2/utils/scripts/gsymfix0000775000175000017500000001455712204177071014360 00000000000000#!/usr/bin/perl -w my $version = "0.8"; # This script reads a geda symbol and does the following: # (...see the usage routine below...) # for parsing input options use Getopt::Long; # don't allow -he to be interpreted as --help $Getopt::Long::autoabbrev=0; &GetOptions(("help" => \&usage, "verbose" => \$verbose, "vverbose" => \$vverbose, "version" => \&version )); usage() if $Getopt::Long::error; usage() unless @ARGV; my $found_pinnumber_attr = 0; my $found_pinseq_attr = 0; my $found_pintype_attr = 0; my $found_pinlabel_attr = 0; my $found_numslots_attr = 0; my $found_device_attr = 0; my $found_footprint_attr = 0; my $seqcnt = 0; my $skip_line_out = 0; my $file_line = 0; my $st_scan = 0; my $st_pin_start = 1; my $st_pin_body = 2; my $state = $st_scan; # intial state machine state if($vverbose) { $verbose = 1; } # make sure the input schematic exists and we can read it my $fname=shift(@ARGV); print "\nProcessing symbol file $fname\n"; open(NETLIST,"$fname") or die "Can't open $fname: $!\n"; # open output netlist $outfname="$fname.fix"; open(OUTNET,">$outfname") or die "Can't open $outfname: $!\n"; # parse netlist while($line = ) { $file_line++; #========================== if( $state == $st_scan ) { if( $line =~ /^P/) { $state = $st_pin_start; if($vverbose){print "Pin start...\n";} } elsif( $line =~ /^numslots=/) { $found_numslots_attr = 1; } elsif( $line =~ /^device=/) { $found_device_attr = 1; } elsif( $line =~ /^footprint=/) { $found_footprint_attr = 1; } print OUTNET $line; } #========================== elsif( $state == $st_pin_start ) { if( $line =~ /^{/) { $state = $st_pin_body; $found_pinnumber_attr = 0; $found_pinseq_attr = 0; $found_pintype_attr = 0; $found_pinlabel_attr = 0; print OUTNET $line; } else { print STDERR "*** ERROR: No pin left bracket found at line $file_line\n"; exit(-1); } } #========================== elsif( $state == $st_pin_body ) { #---------------------- if( $line =~ /^pinnumber/) { $found_pinnumber_attr = 1; $pin_num = $line; $pin_num =~ s/\n//; $pin_num =~ s/^pinnumber=//; $pinnumber_attr_line = $prev_line; if($vverbose){print " pinnumber attribute found ($pin_num)\n";} } #---------------------- elsif( $line =~ /^pinseq/) { $found_pinseq_attr = 1; if($vverbose){print " Pinseq attribute found\n";} $seqcnt++; if($vverbose){print " Renumbering attr pinseq=$seqcnt\n";} print OUTNET "pinseq=$seqcnt\n"; $skip_line_out++; } #---------------------- elsif( $line =~ /^pintype/) { $found_pintype_attr = 1; if($vverbose){print " pintype attribute found\n";} } #---------------------- elsif( $line =~ /^pinlabel/) { $found_pinlabel_attr = 1; if($vverbose){print " pinlabel attribute found\n";} } #---------------------- elsif( $line =~ /^}/) { $state = $st_scan; if( $found_pinnumber_attr == 0 ) { print "*** WARNING: no pinum attribute found at line $file_line\n"; } if( $found_pinseq_attr == 0 ) { $seqcnt++; if($verbose){print " Pin $pin_num: Adding attr pinseq=$seqcnt\n";} print OUTNET $pinnumber_attr_line; print OUTNET "pinseq=$seqcnt\n"; } if( $found_pintype_attr == 0 ) { if($verbose){print " Pin $pin_num: Adding attr pintype=io\n";} print OUTNET $pinnumber_attr_line; print OUTNET "pintype=io\n"; } if( $found_pinlabel_attr == 0 ) { if($verbose){print " Pin $pin_num: Adding attr pinlabel=n_a\n";} print OUTNET $pinnumber_attr_line; print OUTNET "pinlabel=n_a\n"; } if($vverbose){print "Pin end...\n";} } if( $skip_line_out ) { $skip_line_out = 0; } else { print OUTNET $line; } $prev_line = $line; # Save line for next pass } } if( $found_numslots_attr == 0 ) { if($verbose){print " Adding attr numslots=0\n";} print OUTNET "T 600 100 9 10 0 0 0 0 1\n"; print OUTNET "numslots=0\n"; } if( $found_device_attr == 0 ) { if($verbose){print " Adding attr device=none\n";} print OUTNET "T 600 100 9 10 0 0 0 0 1\n"; print OUTNET "device=none\n"; } if( $found_footprint_attr == 0 ) { if($verbose){print " Adding attr footprint=unknown\n";} print OUTNET "T 600 100 9 10 0 0 0 0 1\n"; print OUTNET "footprint=unknown\n"; } close(NETLIST); close(OUTNET); print STDERR "Output written to file $outfname\n\n"; exit; ####################################################################### # # Subroutines # ####################################################################### #--------------------------------- # usage() # # prints program usage #--------------------------------- sub usage { my $pname = $0; $pname =~ s/.*\///g; print "\nUsage:\n\n"; print " $pname [option] symbol_file\n"; print "\n"; print " $pname reads a geda symbol file and does the following:\n"; print "\t- Prints a warning if there is no pinnumber attribute on a pin\n"; print "\t- Renumbers pinseq attributes on all pins, starting with 1\n"; print "\t- Adds a pinseq attribute to a pin if none exists\n"; print "\t- Adds a pinlabel=n_a attribute to a pin if none exists\n"; print "\t- Adds a pintype=io attribute to a pin if none exists\n"; print "\t- Adds a numslots=0 attribute to the symbol if none exists\n"; print "\t- Adds a device=XXX attribute to the symbol if none exists\n"; print "\t- Adds a footprint=XXX attribute to the symbol if none exists\n"; print " The idea here is to fix common cut and paste issues and fix up\n"; print " the symbol so that it will pass gsymcheck with no errors or\n"; print " warnings.\n"; print "\n"; print " $pname accepts the following options:\n"; print "\n"; print " --help Displays this help message.\n"; print "\n"; print " --verbose Enables verbose output.\n"; print "\n"; print " --vverbose Enables *very* verbose output.\n"; print "\n"; print " --version Shows the version of this program.\n"; print "\n"; print " $pname was written by Mike Skerritt \n"; print "\n\n"; exit; } #--------------------------------- # version() # # prints program version #--------------------------------- sub version { my $pname = $0; $pname =~ s/.*\///g; print "$pname ($0): Version $version\n"; } geda-gaf-1.8.2/utils/scripts/schdiff0000664000175000017500000000311712204177071014263 00000000000000#! /bin/sh usage () { cat < gEDA/gaf homepage EOF } for PROG in gschem composite display do if which $PROG > /dev/null then true else echo "$PROG is not found. Either it is not installed, or not in your PATH" exit 1 fi done if test $# -lt 2 then usage; exit 1 fi #In case the script was invoked with extra option arguments, throw them away shift `expr $# - 2` if test -d $1 -o -d $2 then echo "ERROR: schdiff cannot diff entire directories" exit 1 fi LEFTFILE=$1 RIGHTFILE=$2 GEDASCHEMEDIR=share/gEDA/scheme SCHEMEFILE=`dirname $0`/../${GEDASCHEMEDIR}/schdiff-image.scm LEFTPNG=`mktemp --tmpdir schdiff.XXXXXXXXXX` RIGHTPNG=`mktemp --tmpdir schdiff.XXXXXXXXXX` DIFFPNG=`mktemp --tmpdir schdiff.XXXXXXXXXX` gschem -p -o $LEFTPNG -q -c '(image-size 1344 1008) (image-color "disabled") (gschem-use-rc-values) (gschem-image "dummyfilename") (gschem-exit)' $LEFTFILE && \ gschem -p -o $RIGHTPNG -q -c '(image-size 1344 1008) (image-color "disabled") (gschem-use-rc-values) (gschem-image "dummyfilename") (gschem-exit)' $RIGHTFILE && \ composite -stereo 0 $LEFTPNG $RIGHTPNG $DIFFPNG && \ display $DIFFPNG rm $LEFTPNG rm $RIGHTPNG rm $DIFFPNG geda-gaf-1.8.2/utils/scripts/gsymupdate0000775000175000017500000001314012204177071015037 00000000000000#!/usr/bin/perl # gEDA - GPL Electronic Design Automation # gsymupdate - gEDA Symbol Update # Copyright (C) 2002 Ales V. Hvezda # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # # This program takes a symbol filename on the command line and outputs an # update symbol to stdout. # # This program does the following modifications to a symbol # # - Removes all pin#=# attributes, converting them into pinseq= and # pinnumber= attributes # - Removes all slot#=# attributes, converting them into slotdef= attributes # # Right now this program should only be run against symbols which are # either version 20020527 or earlier. # print "gEDA/gsymupdate version 0.2\n"; print "gEDA/gsymupdate comes with ABSOLUTELY NO WARRANTY; see COPYING for more details\n"; print "This is free software, and you are welcome to redistribute it under certain\n"; print "conditions; please see the COPYING file for more details.\n\n"; $numArgs = $#ARGV + 1; if ($numArgs < 1) { print "Usage: gsymupdate filename1 filename2 ... filenameN\n"; exit; } foreach $filename (@ARGV) { if (-r "$filename.old") { print "Found backup file: $filename.old. Not gsymUpdating $filename\n"; next ; } if ( -d "$filename") { print "$filename is a directory not a file. Not gsymUpdating $filename\n"; next ; } if (! -f "$filename") { print "File $filename does not exist. Not gsymUpdating $filename\n"; next ; } # FIXME -- we should probably do some sanity checking to see that $filename is # actually a symbol file. rename ($filename, "$filename.old"); print "gsymUpdating: $filename (backup: $filename.old)\n"; open (FILE, "$filename.old") || die "Cannot open input file: $filename.old Exiting.\n"; open (NEWFILE, ">$filename") || die "Cannot open output file: $filename Exiting.\n"; while () { # handle text objects if (/^T/) { # Somewhere here you need to deal with multi line text # items eventually. TODO $textcmd = $_; $textline = ; # are we dealing with an attribute? if ($textline =~ /=/) { # Break the attribute up into name=value @attrib = split(/=/,$textline,2); $name=@attrib[0]; $value=@attrib[1]; if ($name =~ /^slot[0-9]+/) { # It is a slot#=# attribute @slotnum = split(/slot/,$name); print NEWFILE $textcmd; print NEWFILE "slotdef=@slotnum[1]:$value"; } elsif ($name =~ /^pin[0-9]+/) { # It is a pin#=# attribute print NEWFILE $textcmd; print NEWFILE "pinnumber=$value"; @pinseq = split(/pin/,$name); # need to post process textcmd here to hide text $newtextcmd = $textcmd; chop($newtextcmd); @textsplit = split(" ",$textcmd); # Hide this new attribute by changing the 5th value to 0 # Also show both the name and value for the pinseq attrib print NEWFILE "@textsplit[0] @textsplit[1] @textsplit[2] @textsplit[3] @textsplit[4] 0 0 @textsplit[7] @textsplit[8] @textsplit[9]\n"; print NEWFILE "pinseq=@pinseq[1]\n"; } elsif ($name =~ /^uref/) { # It is a uref= attribute, convert to refdes= print NEWFILE $textcmd; print NEWFILE "refdes=$value"; } elsif ($name =~ /^type/) { # It is a type= attribute, convert to pintype== print NEWFILE $textcmd; print NEWFILE "pintype=$value"; } elsif ($name =~ /^label/) { # It is a label= attribute, convert to pinlabel= print NEWFILE $textcmd; print NEWFILE "pinlabel=$value"; } else { # none of the above, just pass it through print NEWFILE $textcmd; print NEWFILE $textline; } } else { # not an attribute print NEWFILE $textcmd; print NEWFILE $textline; } } else { # It is not a text, version, or pin object, so pass it through print NEWFILE; } } close $FILE; close $NEWFILE; # Load and Save the file using gschlas # This updates the file to be absolutely current system("gschlas $filename"); @args = ("gschlas", "$filename"); system(@args) == 0 || die "system @args failed: $?" } geda-gaf-1.8.2/utils/scripts/pcb_backannotate0000775000175000017500000002003612204177071016135 00000000000000#!/usr/bin/perl -w # # Copyright (C) 2003, 2006, 2010 Dan McMahill # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, # MA 02111-1301 USA. # This script is used to process annotation files from the PCB # program (http://pcb.gpleda.org) to backannotate # changes to gEDA schematics. # # It is heavily based on the pads_backannotate program which is also # part of gEDA # for parsing input options use Getopt::Long; # for ceil function use POSIX; # don't allow -he to be interpreted as --help $Getopt::Long::autoabbrev=0; # make the options be case sensitive $Getopt::Long::ignorecase=0; &GetOptions( ('h|help' => \&usage, 'n|nocopy' => \$nocopy, 'v|verbose' => \$verbose, 'V|version' => \&version ) ); usage() if $Getopt::Long::error; usage() unless @ARGV; # Annotation file name $eco = shift( @ARGV ); # if no schematic names follow, exit usage() unless @ARGV; # make sure the input netlist exists and we can open it $i = 0; while( @ARGV ) { $fname[$i] = shift( @ARGV ); die "Schematic file $fname[$i] does not exist or can not be read" unless -r $fname[$i]; $i++; } $filecnt = $i; if( $verbose ){ print "Loading PCB annotation file file: $eco\n"; } my $eco_state="DEFAULT"; open( ECO, "$eco" ) or die "Can't open PCB annotation file $eco !\n"; my $ver = 0; while( $line = ) { if( $line =~ /^\*FILEVERSION\* / ) { $ver = $line; $ver =~ s/^\*FILEVERSION\*\s*//; $ver =~ s/[^0-9]*$//; } elsif( $line =~ /^\*VERSION\* 20060814/ ) { $ver = 20060814; } } close( ECO ); if( $ver == 0) { print "ERROR: Unable to determine annotation file version.\n"; exit( 1 ); } print "Annotation file version is $ver\n" if $verbose ; if( $ver != 20061031 && $ver != 20060814 ) { print "ERROR: This version of the program is unable to process\n"; print " PCB annotation files of version $ver.\n"; exit( 1 ); } # reopen and parse the file this time open( ECO, "$eco" ) or die "Can't open PCB annotation file $eco !\n"; while( $line = ) { # if( $verbose ){ print "$line\n"; } if( $line =~ /^\*COMMENT\*/ ) { print "Skipping comment line: $line\n"; next; } elsif( $line =~ /^\*VERSION\* 20060814/ || $line =~ /^\*FILEVERSION\* [0-9]*/) { # the version line. Note that the very first version of the annotation # file used *VERSION* but it was quickly changed to FILEVERSION to avoid # confusing it with the program version. next; } elsif( $line =~ /^\*RENAME\*/ ) { # rename refdes in design (forward/backward annotation) #$eco_state="RENAME"; print " *RENAME* (Refdes Renumber)\n" if $verbose; $line =~ s/^\*RENAME\*\s*//; parseRENAME($line); next; } elsif( $line =~ /^\*WARN\*/ ) { # A warning generated by PCB print "Found the following warning in the annotation file:\n"; print "$line\n"; next; } elsif( $line =~ /^\*/ ) { print "WARNING: Unknown command line:\n"; print " $line\n"; $eco_state="DEFAULT"; next; } else { # this must be a data line #if( $verbose ){ print "Processing data line: $line"; } } } close( ECO ); for($i=0; $i < $filecnt; $i++) { print "Processing schematic file #", $i+1, ": $fname[$i]\n"; open(NETLIST,"$fname[$i]") or die "Can't open schematic $fname[$i]: $!\n"; # open output netlist $outfname="$fname[$i].new"; open(OUTSCH,">$outfname") or die "Can't open $outfname: $!\n"; while($line = ) { $line = executeRENAME($line); print OUTSCH "$line"; } close(NETLIST); close(OUTSCH); if( $nocopy ) { print "Leaving page #",$i+1," output in $outfname\n"; } else { system("mv $outfname $fname[$i]"); } } print "\n---- Gate Swapping ----\n"; executeSWPGATES(); print "\n---- Pin Swapping ----\n"; executeSWPPINS(); print "\nBackannotation finished ", scalar localtime, "\n"; exit; ####################################################################### # # Subroutines # ####################################################################### #--------------------------------- # executeRENAME(line) #--------------------------------- sub executeRENAME { my $line = shift(@_); return $line unless defined %cmd_rename; return $line unless $line =~ /^refdes=/; # pick out the reference designator $refdes = $line; $refdes =~ s/^refdes=//; $refdes =~ s/[\r\n]*$//; # see if its listed in our hash of reference designators to be # renamed return $line unless exists $cmd_rename{$refdes}; print "executeRENAME(): Renaming $refdes to $cmd_rename{$refdes}\n" if $verbose; return "refdes=$cmd_rename{$refdes}\n"; } #--------------------------------- # executeSWPGATES() #--------------------------------- sub executeSWPGATES { my $key; foreach $key (keys %cmd_swap_gates ) { print "Please manually swap gates $key and $cmd_swap_gates{$key}\n"; } } #--------------------------------- # executeSWPPINS() #--------------------------------- sub executeSWPPINS { my $key; my @pins; foreach $key (keys %cmd_swap_pins ) { @pins = split '\.',,$cmd_swap_pins{$key}; print "Please manually swap pins $pins[0] and $pins[1] on $key\n"; } } #--------------------------------- # parseRENAME(line) #--------------------------------- sub parseRENAME { my $line = shift(@_); my @refs; @refs = split ' ',,$line; $refs[0] =~ s/"//g; # " $refs[1] =~ s/"//g; # " print "parseRENAME(): Scheduling rename of $refs[0] to $refs[1]\n" if $verbose; $cmd_rename{$refs[0]} = $refs[1]; } #--------------------------------- # parseSWPGATES(line) #--------------------------------- sub parseSWPGATES { my $line = shift(@_); my @refs; @refs = split ' ',,$line; print "parseSWPGATES(): Scheduling swap of gate $refs[0] with $refs[1]\n" if $verbose; $cmd_swap_gates{$refs[0]} = $refs[1]; } #--------------------------------- # parseSWPPINS(line) #--------------------------------- sub parseSWPPINS { my $line = shift(@_); @refs = split ' ',,$line; @pins = split '\.',,$refs[1]; print "parseSWPPINS(): Scheduling swap of pins on $refs[0] : pins ", "$pins[0] and $pins[1]\n" if $verbose; $cmd_swap_pins{$refs[0]} = $refs[1]; } #--------------------------------- # usage() # # prints program usage #--------------------------------- sub usage { my $pname = $0; $pname =~ s/.*\///g; print < EOF exit; } #--------------------------------- # version() # # prints program version #--------------------------------- sub version { open(PROG,"$0") or die "Could not open \"$0\" to find version\n\n"; my $pname = $0; $pname =~ s/.*\///g; while($line = ) { if( $line =~ /^#\s*\$Id.*\$/) { @words = split ' ',,$line; $version = $words[3]; $date = $words[4]; print "$pname ($0): Version $version, $date\n"; exit; } } print "Could not determine version of \"$0\"\n\n"; exit; } geda-gaf-1.8.2/utils/scripts/mk_char_tab.pl0000775000175000017500000000526012204177071015525 00000000000000#!/usr/bin/perl # # This is a perl script to create a character width table from gEDA's # font .sym files. # # MK_CHAR_TAB typical use: # ./mk_char_tab.pl # will produce the char width table file: char_width.c # for ($i = 0; $i <= 256; $i++) # clear the width table { @width_table[$i] = 0; } while (defined($file = <../lib/sym/font/*.sym>)) # search the directory for *.sym files { open(INFO,"<$file"); @lines = ; close(INFO); foreach $line (@lines) # search for the F type line { @tokens = split (/\s+/,$line); # parse the line $type = @tokens[0]; if ($type eq "F") { $char_value = ord(@tokens[1]); $char_width = @tokens[2]; $is_space = @tokens[3]; # is this the space char? if ($is_space eq "1") { $char_value = 32; # if so do fix-up } @width_table[$char_value] = $char_width; # print "$file: @tokens, $type $char_value $char_width $is_space\n"; } } } # # Now we'll build the C file from the width table # $FileToWrite = './char_width.c'; open(C_file, ">$FileToWrite"); print C_file "\n#define CHAR_POINTS 2\n\n"; print C_file "const int char_width[]={\n "; for ($i = 0; $i < 256; $i++) { print C_file "@width_table[$i]"; # add the char width to the table if ($i == 255) # end of table? { print C_file "\n};\n" ; } elsif (( $i % 16) == 15 ) # end of line? { print C_file ",\n "; } else { print C_file ","; } } # # Add in the basic string to pixs function # print C_file "\n"; print C_file "/***************************************************************/\n"; print C_file "/* GetStringDisplayLength: */\n"; print C_file "/* inputs: string to be sized */\n"; print C_file "/* string\'s font size to use */\n"; print C_file "/* returns: length of string in gEDA points */\n"; print C_file "/***************************************************************/\n"; print C_file "int GetStringDisplayLength(char *str,int font_size)\n"; print C_file "{ int width=0;\n"; print C_file " int i, len;\n"; print C_file " len = strlen(str);\n"; print C_file " for (i=0;i 8) { for(i = 9; i <= NF; i++) { text = text " " $i; } } origin = $6; # evaluate visibility for attributes viewvis = $7; if( viewvis == 0 ) { # not at all visibile visibility = 0; show_name_value = 0; } else if (viewvis == 1) { # attribute and name visible visibility = 1; show_name_value = 0; } else if (viewvis == 2) { # only name visible visibility = 2; show_name_value = 1; } else if (viewvis == 3) { # only value visible visibility = 1; show_name_value = 1; } text_object( x, y, color, size, visibility, show_name_value, angle, text, \ origin); } # attached attribute $1 == "A" { # attached attributes have the following format: # A #X #Y #SIZE #ROTATION #ORIGIN #VISIBILITY ATTR_TEXT # extract interesting bits: x = ($2) * 10; y = ($3) * 10; color = 1; size = $4; angle = $5; text = $8; # if there are more fields on the line, they must be text # this works, but some spacing may be lost if (NF > 8) { for(i = 9; i <= NF; i++) { text = text " " $i; } } origin = $6; # evaluate visibility for attributes viewvis = $7; if( viewvis == 0 ) { # not at all visibile visibility = 0; show_name_value = 0; } else if (viewvis == 1) { # attribute and name visible visibility = 1; show_name_value = 0; } else if (viewvis == 2) { # only name visible visibility = 2; show_name_value = 1; } else if (viewvis == 3) { # only value visible visibility = 1; show_name_value = 1; } # output the attachment magic if needed. begin_attach(); text_object( x, y, color, size, visibility, show_name_value, angle, text, \ origin); } # text primitive $1 == "T" { # if we are inside of a pin definition, terminate reset_attributes(); # viewlogic text have the following format: # T #X #Y #SIZE #ROTATION #ORIGIN TEXT x = $2 * 10; y = $3 * 10; color = 3; size = $4; visibility = 1; show_name_value = 0; angle = $5; text = $7; # if there are more fields on the line, they must be text # this works, but some spacing may be lost if (NF > 7) { for(i = 8; i <= NF; i++) { text = text " " $i; } } origin = $6 text_object(x, y, color, size, visibility, show_name_value, angle, text, \ origin); } # line primitive $1 == "l" { # if we are inside of a pin definition, terminate reset_attributes(); # the viewlogic line primitive is composed of # l #PAIRS #X1 #Y1 #X2 #Y2 ... - Line pairs = $2; color = 3; # represent this as a series of simple geda lines for (i=0; i < (pairs-1); i++) { x1 = $((i*2)+3) * 10; y1 = $((i*2)+4) * 10; x2 = $((i*2)+5) * 10; y2 = $((i*2)+6) * 10; line_object(x1,y1,x2,y2,color); } } # pin primitive $1 == "P" { # if we are inside of a pin definition, terminate reset_attributes(); # viewlogic pin primitives have the following format: # P #PININSTANCE #X1 #Y1 #X2 #Y2 # #PINDIRECTION #PINSENSE pinsense = $9; pindir = $8; x1 = $3 * 10; y1 = $4 * 10; x2 = $5 * 10; y2 = $6 * 10; color = 1; # if this pin has to be of negative polarity, add a bitty bubble # and adjust the size of the pin radius = 25; radius2 = 2*radius; bcolor = 6; if(pinsense == 1) { #print "pindir:" pindir # get the bubble on the right end # one of the coordinates will match up with the bounding box # then just choose the other end for the bubble if(x1 == minx) { # left hand side of pin touches bounding box bx = x2-radius; by = y2; x2 -= radius2; } else if (x1 == maxx) { # left end touches right side bx = x2+radius; by = y2; x2 += radius2; } else if (x2 == minx) { # right end touches left side bx = x1-radius; by = y1; x1 -= radius2; } else if (x2 == maxx) { # right end touches right side bx = x1+radius; by = y1; x1 += radius2; } else if (y1 == miny) { # left end touches bottom bx = x2; by = y2-radius; y2 -= radius2; } else if (y1 == maxy) { # left end touches top bx = x2; by = y2+radius; y2 += radius2; } else if (y2 == miny) { # right end touches bottom bx = x1; by = y1-radius; y1 -= radius2; } else if (y2 == maxy) { # right end touches top bx = x1; by = y1+radius; y1 += radius2; } else { print "Pinsense error!"; exit; } circle_object(bx,by,radius,bcolor); } pin_object(x1,y1,x2,y2,color); add_attributes = 1; # add attributes attach_pending = 1; # signal that an attachment could be coming pin_attributes = 1; # and that they are pin attributes pin_count++; # bump the number of pins } # box primitive $1 == "b" { # if we are inside of a pin definition, terminate reset_attributes(); # a viewlogic box has the following format: # b #X1 #Y1 #X2 #Y2 # geda view of a box has the corner, width and height x1 = $2 * 10; y1 = $3 * 10; x2 = $4 * 10; y2 = $5 * 10; width = x2-x1; height = y2-y1; color = 3; box_object(x1,y1,width,height,color); } # circle primitive $1 == "c" { # if we are inside of a pin definition, terminate reset_attributes(); # a circle has the following format: # c #x #y #radius x = $2 * 10; y = $3 * 10; radius = $4 * 10; color = 3; circle_object(x,y,radius,color); } # arc primitive $1 == "a" { # if we are inside of a pin definition, terminate reset_attributes() # arcs have the following format: # a #X1 #Y1 #X2 #Y2 #X3 #Y3 # we need to transform this into the geda convention of # center, radius, start angle, stop angle. x1 = $2*10.0; y1 = $3*10.0; x2 = $4*10.0; y2 = $5*10.0; x3 = $6*10.0; y3 = $7*10.0; x2p = x2 - x1; y2p = y2 - y1; x3p = x3 - x1; y3p = y3 - y1; yop = (x2p * ( x3p^2 + y3p^2 ) - x3p * ( x2p^2 + y2p^2 )) / \ (2 * (x2p * y3p - y2p * x3p)); xop = (x2p^2 - 2*y2p*yop) / (2 * x2p); xo = xop + x1; yo = yop + y1; radius = int(sqrt(xop^2 + yop^2)); # calculate start and end angles to_rad = 180.0/atan2(0,-1); start_angle = int(atan2(y1-yo, x1-xo) * to_rad); end_angle = int(atan2(y3-yo, x3-xo) * to_rad); if(start_angle > end_angle) { gstart = end_angle; sweep_angle = start_angle - end_angle; } else { gstart = start_angle; sweep_angle = end_angle - start_angle; } #end_angle = #end_angle = int(atan2(y1-yo, x1-xo) * to_rad) % 360; #start_angle = int(atan2(y3-yo, x3-xo) * to_rad) % 360; color = 1; arc_object(int(xo),int(yo), radius, gstart, sweep_angle, color); } # label primitive $1 == "L" { # labels have the following format: # L #X #Y #SIZE #ROTATION #ORIGIN #GLOBAL #VISIBILITY #OVERBAR TEXT # reproduce as simple text x = $2 * 10; y = $3 * 10; color = 5; size = $4; visibility = 1; show_name_value = 0; # Note from Ales, some ViewDraw symbols of mine had text labels which # had an angle of 3 which is wrong, so I just changed the next line to: # angle = 0 angle = $5; text = $10; # if there are more fields on the line, they must be text # this works, but some spacing may be lost if (NF > 10) { for(i = 11; i <= NF; i++) { text = text " " $i; } } origin = $6; # if we are inside a pin definition, mangle the pin name if(pin_attributes == 1) { text = "pin" pin_count "=" text; show_name_value = 1; # and show just the name } else if(net_attributes == 1) { text = "net=" text; # a label on a net is the net name show_name_value = 1; } else if(complex_attributes == 1) { text = "refdes=" text; # a label on a complex is its designator show_name_value = 1; } begin_attach(); text_object(x, y, color, size, visibility, show_name_value, angle, text, \ origin); } # nets $1 == "N" { reset_attributes(); reading_net = 1; segment_count = 1; delete net_nodes_x; # zap the array delete net_nodes_y; } $1 == "J" { # in geda nets are composed of a number of segments, gschem connects # them together on the screen, since viewlogic stores a net as a series # of nodes we need to tabulate them and only output segments when we # get connectivity information # net segments have the following format: # J #X #Y #SEGNUM - Net segment # get the current info x = $2*10; y = $3*10; net_nodes_x[segment_count] = x; net_nodes_y[segment_count] = y; segment_count++; } $1 == "S" { reset_attributes(); # net segment connectivity records have the following format: # S #N1 #N2 - Net connectivity, Node N1 is connected to N2 n1 = int($2); n2 = int($3); color = 4; # output a geda net segment net_segment(net_nodes_x[n1], net_nodes_y[n1], \ net_nodes_x[n2], net_nodes_y[n2], color); # there could be attributes to follow add_attributes = 1; # add attributes attach_pending = 1; # signal that an attachment could be coming net_attributes = 1; # and that they are net attributes } $1 == "B" { reset_attributes(); # bus segment connectivity records have the following format: # B #N1 #N2 - Bus connectivity, Node N1 is connected to N2 n1 = int($2); n2 = int($3); color = 4; # output a geda net segment -- since geda does not know about busses -- yet net_segment(net_nodes_x[n1], net_nodes_y[n1], \ net_nodes_x[n2], net_nodes_y[n2], color); # there could be attributes to follow add_attributes = 1; # add attributes attach_pending = 1; # signal that an attachment could be coming net_attributes = 1; # and that they are net attributes } # component instance $1 == "I" { reset_attributes(); # a component instance has the following format # I #instance LIB:NAME #PAGE #X #Y #ROTATION #MAGNIFICATION x = $5*10; y = $6*10; selectable = 1; angle = 0; mirror = 0; # need to add logic to decode rotation and mirror # get name fullname = $3; split(fullname, names, ":"); # get extension extension = $4; # produce proper file name: name = tolower(names[2]) "." extension ".sym"; complex_object(x, y, selectable, angle, mirror, name); # there could be attributes to follow add_attributes = 1; # add attributes attach_pending = 1; # signal that an attachment could be coming complex_attributes = 1; # and that they are complex attributes } # just junk any records we do not deal with {} # utility functions function text_object( x, y, color, size, visibility, show_name_value, \ angle, text, origin) { # fudge the text size, in viewdraw it is actually the height # in geda it is the point size text_size = int(size * 0.72); # emulate the viewdraw text origin by shifting the text around # if the origin is one of the ones that are along the center line, # adjust y if ( (origin == 2) || (origin == 5) || (origin == 8) ) { y -= (size*10) / 2; } if( (origin == 1) || (origin == 4) || (origin == 7) ) { y -= size * 10; } # approximate the length of the text if(show_name_value == 0) { text_to_measure = text; } else if(show_name_value == 1) { split(text,a,"="); text_to_measure = a[2]; # measure just the value part } else if(show_name_value == 2) { split(text,a,"="); text_to_measure = a[1]; # measure just the textual part } textlen = length(text_to_measure) * size * 10; # if the origin is one of the middle ones # fix the x coordinate if( (origin == 4) || (origin == 5) || (origin == 6) ) { x -= textlen / 2; } if( (origin == 7) || (origin == 8) || (origin == 9) ) { x -= textlen; } print "T", x, y, color, text_size, visibility, show_name_value, angle; print text; } function line_object( x1,y1,x2,y2,color ) { print "L",x1,y1,x2,y2,color; } function circle_object( bx,by,radius,bcolor ) { print "V",bx,by,radius,bcolor; } function pin_object( x1,y1,x2,y2,color ) { print "P",x1,y1,x2,y2,color; } function box_object( x1,y1,width,height,color ) { print "B",x1,y1,width,height,color; } function arc_object( x1, y1, radius, start_angle, sweep_angle, color) { print "A",x1, y1, radius, start_angle, sweep_angle, color; } function net_segment( x1, y1, x2, y2, color ) { print "N", x1, y1, x2, y2, color; } function complex_object(x, y, selectable, angle, mirror, name) { print "C", x, y, selectable, angle, mirror, name; } function begin_attach() { if(attach_pending == 1) { # begin an attachment if one is pending print "{"; attach_pending = 0; } } function end_attach() { print "}"; } function reset_attributes() { # if we are inside of some kind of attribute attachment # terminate it, but only if we output the begin_attach. if((add_attributes == 1) && (attach_pending == 0)) { end_attach(); } attach_pending = 0; # keep track of whether the last object # read may have attachments pending. add_attributes = 0; # keep track of whether we are adding attributes # to some previous object pin_attributes = 0; # when true, we are adding attributes to a pin net_attributes = 0; # when true, we are adding atrributes to a net complex_attributes = 0; # when true, we are addint attibutes to a complex pin_count = 0; # to keep track of the number of pins } geda-gaf-1.8.2/utils/gschlas/0000775000175000017500000000000012220655760012751 500000000000000geda-gaf-1.8.2/utils/gschlas/gschlas.c0000664000175000017500000000704212220647257014466 00000000000000/* gEDA - GPL Electronic Design Automation * gschlas - gEDA Load and Save * Copyright (C) 2002-2010 Ales Hvezda * Copyright (C) 2002-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02111-1301 USA. */ #include #include #include #ifdef HAVE_STRING_H #include #endif #ifdef HAVE_UNISTD_H #include #endif #include #include "../include/globals.h" #include "../include/prototype.h" #ifdef HAVE_LIBDMALLOC #include #endif void gschlas_quit(void) { s_clib_free(); s_slib_free(); } void main_prog(void *closure, int argc, char *argv[]) { int i; int argv_index; char *cwd; TOPLEVEL *pr_current; argv_index = parse_commandline(argc, argv); cwd = g_get_current_dir(); libgeda_init(); /* create log file right away */ /* even if logging is enabled */ s_log_init ("gschlas"); logging_dest=STDOUT_TTY; #if defined(__MINGW32__) && defined(DEBUG) fprintf(stderr, "This is the MINGW32 port.\n"); #endif logging_dest=-1; /* don't output to the screen for now */ /* register guile (scheme) functions */ g_register_funcs(); pr_current = s_toplevel_new (); g_rc_parse (pr_current, argv[0], "gschlasrc", rc_filename); i_vars_set(pr_current); i = argv_index; while (argv[i] != NULL) { gchar *filename; GError *err = NULL; if (g_path_is_absolute(argv[i])) { /* Path is already absolute so no need to do any concat of cwd */ filename = g_strdup (argv[i]); } else { filename = g_build_filename (cwd, argv[i], NULL); } s_page_goto (pr_current, s_page_new (pr_current, filename)); if (!f_open (pr_current, pr_current->page_current, pr_current->page_current->page_filename, &err)) { /* Not being able to load a file is apparently a fatal error */ logging_dest = STDOUT_TTY; g_warning ("%s\n", err->message); g_error_free (err); exit(2); } else { g_message ("Loaded file [%s]\n", filename); } i++; g_free (filename); } if (argv[argv_index] == NULL) { fprintf(stderr, "\nERROR! You must specify at least one filename\n\n"); usage(argv[0]); } g_free(cwd); logging_dest=STDOUT_TTY; #if DEBUG s_page_print_all(pr_current); #endif if (!quiet_mode) s_log_message("\n"); if (embed_mode) { s_util_embed(pr_current, TRUE); } if (unembed_mode) { s_util_embed(pr_current, FALSE); } /* save all the opened files */ s_page_save_all(pr_current); s_page_delete_list (pr_current); gschlas_quit(); exit(0); } int main (int argc, char *argv[]) { /* disable the deprecated warnings in guile 1.6.3 */ /* Eventually the warnings will need to be fixed */ if(getenv("GUILE_WARN_DEPRECATED")==NULL) putenv("GUILE_WARN_DEPRECATED=no"); scm_boot_guile (argc, argv, main_prog, NULL); return 0; } geda-gaf-1.8.2/utils/gschlas/g_register.c0000664000175000017500000000313312204177071015163 00000000000000/* gEDA - GPL Electronic Design Automation * gschlas - gEDA Load and Save * Copyright (C) 2002-2010 Ales Hvezda * Copyright (C) 2002-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02111-1301 USA. */ #include #include #include #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_ASSERT_H #include #endif #ifdef HAVE_UNISTD_H #include #endif #include #include "../include/prototype.h" #ifdef HAVE_LIBDMALLOC #include #endif void g_register_funcs(void) { /* general functions */ scm_c_define_gsubr ("quit", 0, 0, 0, g_quit); scm_c_define_gsubr ("exit", 0, 0, 0, g_quit); /* gsymcheckrc functions */ scm_c_define_gsubr ("gschlas-version", 1, 0, 0, g_rc_gschlas_version); scm_c_define_gsubr ("force-boundingbox", 1, 0, 0, g_rc_force_boundingbox); } SCM g_quit(void) { gschlas_quit(); exit(0); } geda-gaf-1.8.2/utils/gschlas/Makefile.am0000664000175000017500000000133312220647257014727 00000000000000## Process this file with automake to produce Makefile.in bin_PROGRAMS = gschlas # don't forget all *.h files */ gschlas_SOURCES = \ g_rc.c \ g_register.c \ globals.c \ gschlas.c \ i_vars.c \ parsecmd.c \ s_util.c gschlas_CPPFLAGS = -I$(top_srcdir)/libgeda/include -I$(srcdir)/../include \ -I$(top_srcdir) -I$(includedir) gschlas_CFLAGS = $(GCC_CFLAGS) $(MINGW_CFLIGS) $(GLIB_CFLAGS) \ $(GUILE_CFLAGS) $(GDK_PIXBUF_CFLAGS) gschlas_LDFLAGS = $(GLIB_LIBS) $(GUILE_LIBS) $(GDK_PIXBUF_LIBS) gschlas_LDADD = $(top_builddir)/libgeda/src/libgeda.la MOSTLYCLEANFILES = *.log *.ps core FILE *~ CLEANFILES = *.log *.ps core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log *.ps core FILE *~ Makefile.in geda-gaf-1.8.2/utils/gschlas/i_vars.c0000664000175000017500000000253212204177071014316 00000000000000/* gEDA - GPL Electronic Design Automation * gschlas - gEDA Load and Save * Copyright (C) 2002-2010 Ales Hvezda * Copyright (C) 2002-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #ifdef HAVE_STRING_H #include #endif #include #include "../include/globals.h" #include "../include/prototype.h" #include "../include/papersizes.h" #ifdef HAVE_LIBDMALLOC #include #endif int default_force_boundingbox = FALSE; void i_vars_set(TOPLEVEL * pr_current) { i_vars_libgeda_set(pr_current); pr_current->force_boundingbox = default_force_boundingbox; } geda-gaf-1.8.2/utils/gschlas/Makefile.in0000664000175000017500000011120312220655726014736 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ bin_PROGRAMS = gschlas$(EXEEXT) subdir = utils/gschlas DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(top_srcdir)/build-tools/depcomp ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__installdirs = "$(DESTDIR)$(bindir)" PROGRAMS = $(bin_PROGRAMS) am_gschlas_OBJECTS = gschlas-g_rc.$(OBJEXT) \ gschlas-g_register.$(OBJEXT) gschlas-globals.$(OBJEXT) \ gschlas-gschlas.$(OBJEXT) gschlas-i_vars.$(OBJEXT) \ gschlas-parsecmd.$(OBJEXT) gschlas-s_util.$(OBJEXT) gschlas_OBJECTS = $(am_gschlas_OBJECTS) gschlas_DEPENDENCIES = $(top_builddir)/libgeda/src/libgeda.la AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent am__v_lt_1 = gschlas_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(gschlas_CFLAGS) \ $(CFLAGS) $(gschlas_LDFLAGS) $(LDFLAGS) -o $@ AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/build-tools/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = $(gschlas_SOURCES) DIST_SOURCES = $(gschlas_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ # don't forget all *.h files */ gschlas_SOURCES = \ g_rc.c \ g_register.c \ globals.c \ gschlas.c \ i_vars.c \ parsecmd.c \ s_util.c gschlas_CPPFLAGS = -I$(top_srcdir)/libgeda/include -I$(srcdir)/../include \ -I$(top_srcdir) -I$(includedir) gschlas_CFLAGS = $(GCC_CFLAGS) $(MINGW_CFLIGS) $(GLIB_CFLAGS) \ $(GUILE_CFLAGS) $(GDK_PIXBUF_CFLAGS) gschlas_LDFLAGS = $(GLIB_LIBS) $(GUILE_LIBS) $(GDK_PIXBUF_LIBS) gschlas_LDADD = $(top_builddir)/libgeda/src/libgeda.la MOSTLYCLEANFILES = *.log *.ps core FILE *~ CLEANFILES = *.log *.ps core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log *.ps core FILE *~ Makefile.in all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu utils/gschlas/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu utils/gschlas/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ fi; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p \ || test -f $$p1 \ ; then echo "$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n;h' \ -e 's|.*|.|' \ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) files[d] = files[d] " " $$1; \ else { print "f", $$3 "/" $$4, $$1; } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ } \ ; done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ -e 's/$$/$(EXEEXT)/' \ `; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(bindir)" && rm -f $$files clean-binPROGRAMS: @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ echo " rm -f" $$list; \ rm -f $$list || exit $$?; \ test -n "$(EXEEXT)" || exit 0; \ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list gschlas$(EXEEXT): $(gschlas_OBJECTS) $(gschlas_DEPENDENCIES) $(EXTRA_gschlas_DEPENDENCIES) @rm -f gschlas$(EXEEXT) $(AM_V_CCLD)$(gschlas_LINK) $(gschlas_OBJECTS) $(gschlas_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschlas-g_rc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschlas-g_register.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschlas-globals.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschlas-gschlas.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschlas-i_vars.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschlas-parsecmd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschlas-s_util.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< gschlas-g_rc.o: g_rc.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschlas_CPPFLAGS) $(CPPFLAGS) $(gschlas_CFLAGS) $(CFLAGS) -MT gschlas-g_rc.o -MD -MP -MF $(DEPDIR)/gschlas-g_rc.Tpo -c -o gschlas-g_rc.o `test -f 'g_rc.c' || echo '$(srcdir)/'`g_rc.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschlas-g_rc.Tpo $(DEPDIR)/gschlas-g_rc.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='g_rc.c' object='gschlas-g_rc.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschlas_CPPFLAGS) $(CPPFLAGS) $(gschlas_CFLAGS) $(CFLAGS) -c -o gschlas-g_rc.o `test -f 'g_rc.c' || echo '$(srcdir)/'`g_rc.c gschlas-g_rc.obj: g_rc.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschlas_CPPFLAGS) $(CPPFLAGS) $(gschlas_CFLAGS) $(CFLAGS) -MT gschlas-g_rc.obj -MD -MP -MF $(DEPDIR)/gschlas-g_rc.Tpo -c -o gschlas-g_rc.obj `if test -f 'g_rc.c'; then $(CYGPATH_W) 'g_rc.c'; else $(CYGPATH_W) '$(srcdir)/g_rc.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschlas-g_rc.Tpo $(DEPDIR)/gschlas-g_rc.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='g_rc.c' object='gschlas-g_rc.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschlas_CPPFLAGS) $(CPPFLAGS) $(gschlas_CFLAGS) $(CFLAGS) -c -o gschlas-g_rc.obj `if test -f 'g_rc.c'; then $(CYGPATH_W) 'g_rc.c'; else $(CYGPATH_W) '$(srcdir)/g_rc.c'; fi` gschlas-g_register.o: g_register.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschlas_CPPFLAGS) $(CPPFLAGS) $(gschlas_CFLAGS) $(CFLAGS) -MT gschlas-g_register.o -MD -MP -MF $(DEPDIR)/gschlas-g_register.Tpo -c -o gschlas-g_register.o `test -f 'g_register.c' || echo '$(srcdir)/'`g_register.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschlas-g_register.Tpo $(DEPDIR)/gschlas-g_register.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='g_register.c' object='gschlas-g_register.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschlas_CPPFLAGS) $(CPPFLAGS) $(gschlas_CFLAGS) $(CFLAGS) -c -o gschlas-g_register.o `test -f 'g_register.c' || echo '$(srcdir)/'`g_register.c gschlas-g_register.obj: g_register.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschlas_CPPFLAGS) $(CPPFLAGS) $(gschlas_CFLAGS) $(CFLAGS) -MT gschlas-g_register.obj -MD -MP -MF $(DEPDIR)/gschlas-g_register.Tpo -c -o gschlas-g_register.obj `if test -f 'g_register.c'; then $(CYGPATH_W) 'g_register.c'; else $(CYGPATH_W) '$(srcdir)/g_register.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschlas-g_register.Tpo $(DEPDIR)/gschlas-g_register.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='g_register.c' object='gschlas-g_register.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschlas_CPPFLAGS) $(CPPFLAGS) $(gschlas_CFLAGS) $(CFLAGS) -c -o gschlas-g_register.obj `if test -f 'g_register.c'; then $(CYGPATH_W) 'g_register.c'; else $(CYGPATH_W) '$(srcdir)/g_register.c'; fi` gschlas-globals.o: globals.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschlas_CPPFLAGS) $(CPPFLAGS) $(gschlas_CFLAGS) $(CFLAGS) -MT gschlas-globals.o -MD -MP -MF $(DEPDIR)/gschlas-globals.Tpo -c -o gschlas-globals.o `test -f 'globals.c' || echo '$(srcdir)/'`globals.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschlas-globals.Tpo $(DEPDIR)/gschlas-globals.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='globals.c' object='gschlas-globals.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschlas_CPPFLAGS) $(CPPFLAGS) $(gschlas_CFLAGS) $(CFLAGS) -c -o gschlas-globals.o `test -f 'globals.c' || echo '$(srcdir)/'`globals.c gschlas-globals.obj: globals.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschlas_CPPFLAGS) $(CPPFLAGS) $(gschlas_CFLAGS) $(CFLAGS) -MT gschlas-globals.obj -MD -MP -MF $(DEPDIR)/gschlas-globals.Tpo -c -o gschlas-globals.obj `if test -f 'globals.c'; then $(CYGPATH_W) 'globals.c'; else $(CYGPATH_W) '$(srcdir)/globals.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschlas-globals.Tpo $(DEPDIR)/gschlas-globals.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='globals.c' object='gschlas-globals.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschlas_CPPFLAGS) $(CPPFLAGS) $(gschlas_CFLAGS) $(CFLAGS) -c -o gschlas-globals.obj `if test -f 'globals.c'; then $(CYGPATH_W) 'globals.c'; else $(CYGPATH_W) '$(srcdir)/globals.c'; fi` gschlas-gschlas.o: gschlas.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschlas_CPPFLAGS) $(CPPFLAGS) $(gschlas_CFLAGS) $(CFLAGS) -MT gschlas-gschlas.o -MD -MP -MF $(DEPDIR)/gschlas-gschlas.Tpo -c -o gschlas-gschlas.o `test -f 'gschlas.c' || echo '$(srcdir)/'`gschlas.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschlas-gschlas.Tpo $(DEPDIR)/gschlas-gschlas.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gschlas.c' object='gschlas-gschlas.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschlas_CPPFLAGS) $(CPPFLAGS) $(gschlas_CFLAGS) $(CFLAGS) -c -o gschlas-gschlas.o `test -f 'gschlas.c' || echo '$(srcdir)/'`gschlas.c gschlas-gschlas.obj: gschlas.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschlas_CPPFLAGS) $(CPPFLAGS) $(gschlas_CFLAGS) $(CFLAGS) -MT gschlas-gschlas.obj -MD -MP -MF $(DEPDIR)/gschlas-gschlas.Tpo -c -o gschlas-gschlas.obj `if test -f 'gschlas.c'; then $(CYGPATH_W) 'gschlas.c'; else $(CYGPATH_W) '$(srcdir)/gschlas.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschlas-gschlas.Tpo $(DEPDIR)/gschlas-gschlas.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gschlas.c' object='gschlas-gschlas.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschlas_CPPFLAGS) $(CPPFLAGS) $(gschlas_CFLAGS) $(CFLAGS) -c -o gschlas-gschlas.obj `if test -f 'gschlas.c'; then $(CYGPATH_W) 'gschlas.c'; else $(CYGPATH_W) '$(srcdir)/gschlas.c'; fi` gschlas-i_vars.o: i_vars.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschlas_CPPFLAGS) $(CPPFLAGS) $(gschlas_CFLAGS) $(CFLAGS) -MT gschlas-i_vars.o -MD -MP -MF $(DEPDIR)/gschlas-i_vars.Tpo -c -o gschlas-i_vars.o `test -f 'i_vars.c' || echo '$(srcdir)/'`i_vars.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschlas-i_vars.Tpo $(DEPDIR)/gschlas-i_vars.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='i_vars.c' object='gschlas-i_vars.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschlas_CPPFLAGS) $(CPPFLAGS) $(gschlas_CFLAGS) $(CFLAGS) -c -o gschlas-i_vars.o `test -f 'i_vars.c' || echo '$(srcdir)/'`i_vars.c gschlas-i_vars.obj: i_vars.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschlas_CPPFLAGS) $(CPPFLAGS) $(gschlas_CFLAGS) $(CFLAGS) -MT gschlas-i_vars.obj -MD -MP -MF $(DEPDIR)/gschlas-i_vars.Tpo -c -o gschlas-i_vars.obj `if test -f 'i_vars.c'; then $(CYGPATH_W) 'i_vars.c'; else $(CYGPATH_W) '$(srcdir)/i_vars.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschlas-i_vars.Tpo $(DEPDIR)/gschlas-i_vars.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='i_vars.c' object='gschlas-i_vars.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschlas_CPPFLAGS) $(CPPFLAGS) $(gschlas_CFLAGS) $(CFLAGS) -c -o gschlas-i_vars.obj `if test -f 'i_vars.c'; then $(CYGPATH_W) 'i_vars.c'; else $(CYGPATH_W) '$(srcdir)/i_vars.c'; fi` gschlas-parsecmd.o: parsecmd.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschlas_CPPFLAGS) $(CPPFLAGS) $(gschlas_CFLAGS) $(CFLAGS) -MT gschlas-parsecmd.o -MD -MP -MF $(DEPDIR)/gschlas-parsecmd.Tpo -c -o gschlas-parsecmd.o `test -f 'parsecmd.c' || echo '$(srcdir)/'`parsecmd.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschlas-parsecmd.Tpo $(DEPDIR)/gschlas-parsecmd.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='parsecmd.c' object='gschlas-parsecmd.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschlas_CPPFLAGS) $(CPPFLAGS) $(gschlas_CFLAGS) $(CFLAGS) -c -o gschlas-parsecmd.o `test -f 'parsecmd.c' || echo '$(srcdir)/'`parsecmd.c gschlas-parsecmd.obj: parsecmd.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschlas_CPPFLAGS) $(CPPFLAGS) $(gschlas_CFLAGS) $(CFLAGS) -MT gschlas-parsecmd.obj -MD -MP -MF $(DEPDIR)/gschlas-parsecmd.Tpo -c -o gschlas-parsecmd.obj `if test -f 'parsecmd.c'; then $(CYGPATH_W) 'parsecmd.c'; else $(CYGPATH_W) '$(srcdir)/parsecmd.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschlas-parsecmd.Tpo $(DEPDIR)/gschlas-parsecmd.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='parsecmd.c' object='gschlas-parsecmd.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschlas_CPPFLAGS) $(CPPFLAGS) $(gschlas_CFLAGS) $(CFLAGS) -c -o gschlas-parsecmd.obj `if test -f 'parsecmd.c'; then $(CYGPATH_W) 'parsecmd.c'; else $(CYGPATH_W) '$(srcdir)/parsecmd.c'; fi` gschlas-s_util.o: s_util.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschlas_CPPFLAGS) $(CPPFLAGS) $(gschlas_CFLAGS) $(CFLAGS) -MT gschlas-s_util.o -MD -MP -MF $(DEPDIR)/gschlas-s_util.Tpo -c -o gschlas-s_util.o `test -f 's_util.c' || echo '$(srcdir)/'`s_util.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschlas-s_util.Tpo $(DEPDIR)/gschlas-s_util.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_util.c' object='gschlas-s_util.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschlas_CPPFLAGS) $(CPPFLAGS) $(gschlas_CFLAGS) $(CFLAGS) -c -o gschlas-s_util.o `test -f 's_util.c' || echo '$(srcdir)/'`s_util.c gschlas-s_util.obj: s_util.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschlas_CPPFLAGS) $(CPPFLAGS) $(gschlas_CFLAGS) $(CFLAGS) -MT gschlas-s_util.obj -MD -MP -MF $(DEPDIR)/gschlas-s_util.Tpo -c -o gschlas-s_util.obj `if test -f 's_util.c'; then $(CYGPATH_W) 's_util.c'; else $(CYGPATH_W) '$(srcdir)/s_util.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschlas-s_util.Tpo $(DEPDIR)/gschlas-s_util.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_util.c' object='gschlas-s_util.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschlas_CPPFLAGS) $(CPPFLAGS) $(gschlas_CFLAGS) $(CFLAGS) -c -o gschlas-s_util.obj `if test -f 's_util.c'; then $(CYGPATH_W) 's_util.c'; else $(CYGPATH_W) '$(srcdir)/s_util.c'; fi` mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) installdirs: for dir in "$(DESTDIR)$(bindir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-binPROGRAMS install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-binPROGRAMS .MAKE: install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \ clean-binPROGRAMS clean-generic clean-libtool cscopelist-am \ ctags ctags-am distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-binPROGRAMS \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am uninstall-binPROGRAMS # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/utils/gschlas/g_rc.c0000664000175000017500000000456712204177071013757 00000000000000/* gEDA - GPL Electronic Design Automation * gschlas - gEDA Load and Save * Copyright (C) 2002-2010 Ales Hvezda * Copyright (C) 2002-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02111-1301 USA. */ #include #include #include #include #include #include #ifdef HAVE_STRING_H #include #endif #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_UNISTD_H #include #endif #include #include "../include/globals.h" #include "../include/i_vars.h" #include "../include/prototype.h" #ifdef HAVE_LIBDMALLOC #include #endif SCM g_rc_gschlas_version(SCM scm_version) { char *version; SCM ret = SCM_BOOL_T; SCM_ASSERT (scm_is_string (scm_version), scm_version, SCM_ARG1, "gschlas-version"); version = scm_to_utf8_string (scm_version); if (g_strcasecmp (version, PACKAGE_DATE_VERSION) != 0) { fprintf(stderr, "You are running gEDA/gaf version [%s%s.%s],\n", PREPEND_VERSION_STRING, PACKAGE_DOTTED_VERSION, PACKAGE_DATE_VERSION); fprintf(stderr, "but you have a version [%s] gschlasrc file:\n[%s]\n", version, rc_filename); fprintf(stderr, "Please be sure that you have the latest rc file.\n"); ret = SCM_BOOL_F; } free (version); return ret; } SCM g_rc_force_boundingbox(SCM mode) { static const vstbl_entry mode_table[] = { {TRUE, "enabled"}, {FALSE, "disabled"} }; RETURN_G_RC_MODE("force-boundingbox", default_force_boundingbox, 2); } /*************************** GUILE end done *********************************/ geda-gaf-1.8.2/utils/gschlas/s_util.c0000664000175000017500000000410312204177071014326 00000000000000/* gEDA - GPL Electronic Design Automation * gschlas - gEDA Load and Save * Copyright (C) 2002-2010 Ales Hvezda * Copyright (C) 2002-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02111-1301 USA. */ #include #include #include #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_ASSERT_H #include #endif #ifdef HAVE_UNISTD_H #include #endif #include #include "../include/prototype.h" #ifdef HAVE_LIBDMALLOC #include #endif /* If embed_mode is true, then embed all components in all pages, */ /* otherwise unembed all components in all pages */ void s_util_embed(TOPLEVEL *pr_current, int embed_mode) { GList *p_iter, *o_iter; for (p_iter = geda_list_get_glist (pr_current->pages); p_iter != NULL; p_iter = g_list_next (p_iter)) { PAGE *p_current = p_iter->data; /* Cast removes const qualifier from return value of * s_page_objects() */ for (o_iter = (GList *) s_page_objects (p_current); o_iter != NULL; o_iter = g_list_next (o_iter)) { OBJECT *o_current = o_iter->data; if (o_current->type == OBJ_COMPLEX || o_current->type == OBJ_PICTURE) { if (embed_mode == TRUE) { o_embed(pr_current, o_current); } else { o_unembed(pr_current, o_current); } } } } } geda-gaf-1.8.2/utils/gschlas/parsecmd.c0000664000175000017500000000445712204177071014641 00000000000000/* gEDA - GPL Electronic Design Automation * gschlas - gEDA Load and Save * Copyright (C) 2002-2010 Ales Hvezda * Copyright (C) 2002-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #ifdef HAVE_STRING_H #include #endif #ifdef HAVE_UNISTD_H #include #endif #include #include "../include/globals.h" #include "../include/prototype.h" #ifdef HAVE_LIBDMALLOC #include #endif #define OPTIONS "hqveu" #ifndef OPTARG_IN_UNISTD extern char *optarg; extern int optind; #endif void usage(char *cmd) { printf("Usage: %s [OPTIONS] filename1 ... filenameN\n", cmd); printf(" -e Embed all components/pictures\n"); printf(" -u Unembed all components/pictures\n"); printf(" -q Quiet mode\n"); printf(" -v Verbose mode on\n"); printf(" -h This message\n"); printf("\n"); exit(0); } int parse_commandline(int argc, char *argv[]) { int ch; while ((ch = getopt(argc, argv, OPTIONS)) != -1) { switch (ch) { case 'v': verbose_mode = TRUE; break; case 'q': quiet_mode = TRUE; break; case 'e': embed_mode = TRUE; break; case 'u': unembed_mode = TRUE; break; case 'h': usage(argv[0]); break; case '?': default: usage(argv[0]); break; } } if (quiet_mode) { verbose_mode = FALSE; } if (embed_mode && unembed_mode) { fprintf(stderr, "Cannot specify both -e and -u at the same time (ignoring both flags)\n"); embed_mode = FALSE; unembed_mode = FALSE; } return (optind); } geda-gaf-1.8.2/utils/gschlas/globals.c0000664000175000017500000000246312204177071014461 00000000000000/* gEDA - GPL Electronic Design Automation * gschlas - gEDA Load and Save * Copyright (C) 2002-2010 Ales Hvezda * Copyright (C) 2002-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #include "../include/globals.h" #include "../include/prototype.h" #ifdef HAVE_LIBDMALLOC #include #endif char *rc_filename = NULL; int logfile_fd=-1; int logging_dest=LOG_WINDOW; /* command line arguments */ int verbose_mode=FALSE; int interactive_mode=FALSE; int quiet_mode=FALSE; int embed_mode=FALSE; int unembed_mode=FALSE; geda-gaf-1.8.2/utils/docs/0000775000175000017500000000000012220655762012257 500000000000000geda-gaf-1.8.2/utils/docs/gmk_sym.html0000664000175000017500000001542412220655762014541 00000000000000 gmk_sym

    gmk_sym

    NAME
    SYNOPSIS
    DESCRIPTION
    OPTIONS
    FILE FORMAT
    AUTHOR
    SEE ALSO
    COPYRIGHT

    NAME

    gmk_sym − create rectangular symbols for gschem from a text file

    SYNOPSIS

    gmk_sym [ -d ] inputfile.txt > outputfile.sym

    gmk_sym -h|-?

    DESCRIPTION

    gmk_sym is a program to create rectangular symbols for gschem from a file composed of comma separated lines.

    OPTIONS

    −d

    Turn on debug output

    −h, −?

    Display usage information

    FILE FORMAT

    The input file format is:

    lines starting with ’;’ are comment lines and are not processed;

    The 1st valid line describes a device:

    1st value: device name

    2nd value: visible name

    3rd value: visible name location on package

    4th value: box’s hoz size, in pins spacings

    5th value: box’s ver size, in pins spacings

    6th value: uref prefix, like U or J

    7th value: Footprint

    8th value: Total number of pins on device (including hidden)

    All other valid lines describes the symbol’s pins:

    1st value: pin name

    2nd value: pin number

    3rd value: pin shape, choice of: line, clock, dot&line

    4th value: side of box to attach the pin,choice of: R, L, T, B

    5th value: location of pin on side of box, in pin spacings

    6th value: (optional) pin type attribute: in, out, io, oc, oe, pas, tp, tri, clk, pwr

    AUTHOR

    Jerry O’Keefe <jerryok@pacbell.net>

    SEE ALSO

    gschem(1)

    COPYRIGHT

    Copyright © 1999-2011 gEDA Contributors. License GPLv2+: GNU GPL
    version 2 or later. Please see the ‘COPYING’ file included with this
    program for full details.

    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.


    geda-gaf-1.8.2/utils/docs/Makefile.am0000664000175000017500000000261312220647257014235 00000000000000 EXTRA_DIST = README.gsch2pcb README.olib README.tragesym README.grenum \ TODO.grenum why.grenum logo.png utils-main.txt \ what-is-geda.html what-is-utils.html utils.dox docsreadmedir = $(docdir)/readmes docsreadme_DATA = README.gsch2pcb README.olib README.tragesym README.grenum doxygen: utils.dox @echo 'Creating doxygen documentation for utils...' if ENABLE_DOXYGEN $(DOXYGEN) utils.dox else @echo 'configure was not run with the --enable-doxygen switch.' @echo 'The documentation cannot be built from the sources.' endif dist_man_MANS = gsch2pcb.1 grenum.1 gxyrs.1 olib.1 pads_backannotate.1 \ pcb_backannotate.1 refdes_renum.1 schdiff.1 sw2asc.1 tragesym.1 \ smash_megafile.1 convert_sym.1 garchive.1 gmk_sym.1 gschlas.1 \ gsymfix.1 sarlacc_sym.1 sarlacc_schem.1 noinst_MANS = gnet_hier_verilog.1 # Rules for converting man->html html_man_files = $(dist_man_MANS:%.1=%.html) SUFFIXES = .1 .html docsmandir=$(docdir)/man dist_docsman_DATA=$(html_man_files) if ENABLE_GROFF_HTML .1.html: rm -rf $@.tmp && \ LC_NUMERIC=C $(GROFF) -man -T html $< >$@.tmp && \ mv -f $@.tmp $@ else .1.html: @echo "No working groff available: cannot create $@" @! : endif MOSTLYCLEANFILES = *.log *~ CLEANFILES = *.log *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log *~ Makefile.in $(html_man_files) distclean-local: -rm -rf html latex maintainer-clean-local: -rm -rf html latex geda-gaf-1.8.2/utils/docs/why.grenum0000664000175000017500000000365112050461155014222 00000000000000Why I wrote this program? Well... I wanted to make a distortion pedal for my guitar, and a guitar tuner, and an active crossover circuit for my power ampli- fiers. I was using gEDA and pcb for a long time, because my policy is to use GPLed softwares all around. At work, everyone laugh at me, why I'm using such crap stuff. Of course, I don't agree with this statement. In the other hand, I can see real problems with gEDA/pcb. One is (or I hope it was!) the refdes renumbering business. When I was starting to design my first project, the guitar tuner, I was using a dual opamp. It was okay, I said, every time I make some change to the layout, I had to modify the schematic too, be- cause both two slot got a different designator by running the refdes_renum script. I said "okay, this is for free...". In the meantime, I was developing software for CERN, and I've found out that the computer is for us, and it is existed to help us. At my second project which is still ongoing, I had real pain to manual- ly annotating everything. I've just could not live with the fact that we have a relatively well written schematic capture, which can't number parts. In my head, there was already thoughts about the crossover. I use Linkwitz-Relay filters, which consist of four opa. The final de- sign will consist of 20-30 dual operational amplifiers. One just can't keep track with all the slot information in a head. At that point, I've decided to do something about it. I was examining the source of the refdes_renum script. No, I can't speak perl. I took my editor, and I spent two days front of my computer, and I did the grenum program, which likely helps solving this problem. This is written in C. I hope You will find it useful, and I hope one day this code will be integrated into gschem. It would be another step to full for- ward/backward annotation of gschem and pcb. Levente Kovacs, the author. geda-gaf-1.8.2/utils/docs/garchive.html0000664000175000017500000001101312220655762014651 00000000000000 garchive

    garchive

    NAME
    SYNOPSIS
    DESCRIPTION
    OPTIONS
    EXAMPLES
    AUTHOR
    SEE ALSO
    COPYRIGHT

    NAME

    garchive − create and extract gEDA design archives

    SYNOPSIS

    garchive [ options ] [-o output_file ] file ...

    DESCRIPTION

    garchive creates and extracts gEDA designs from an archive. The two modes of operation are "archive mode" (archive creation) and "extract mode". In archive mode it creates a project archive from a bunch of project files, and in extract mode it extracts the files from the archive and places them in the local dir.

    Archive mode is the default.

    OPTIONS

    −f filename

    Optional. Used in archive mode. Read files to archive from <filename> instead of garchiverc.

    −v

    Verbose mode.

    −e

    Extract the archive specified on the command line.

    −a

    Create an archive. This is the default.

    −o outfile

    Optional. Used in archive mode. Specifies the name of the output archive file. The output file extension should be ".tar.gz". If this flag is not specified, the output file name is "ProjectArchive.tar.gz".

    EXAMPLES

    To create an archive named MyArchive.tar.gz (the files to store listed in garchiverc):

    garchive −o MyArchive.tar.gz

    Verbosely create an archive (archives files listed on cmd line as well as those listed in garchiverc):

    garchive −v −o MyArchive.tar.gz README Schematic1.sch Schematic2.sch Schematic3.sch

    Extract an archive:

    garchive −e ProjectArchive.tar.gz

    AUTHOR

    Stuart Brorson <sdb@cloud9.net>

    SEE ALSO

    gschem(1)

    COPYRIGHT

    Copyright © 1999-2011 gEDA Contributors. License GPLv2+: GNU GPL
    version 2 or later. Please see the ‘COPYING’ file included with this
    program for full details.

    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.


    geda-gaf-1.8.2/utils/docs/gsymfix.10000664000175000017500000000306112220655706013745 00000000000000.TH gsymfix 1 "September 25th, 2013" "gEDA Project" 1.8.2.20130925 .SH NAME gsymfix \- automatically fix common issues with gEDA symbols .SH SYNOPSIS .B gsymfix [ .I options .B ] .I symbol_file .SH DESCRIPTION .B gsymfix reads a gEDA symbol file and does the following: .IP \(bu prints a warning if there is no pinnumber attribute on a pin; .IP \(bu Renumbers pinseq attributes on all pins, starting with 1; .IP \(bu Adds a pinseq attribute to a pin if none exists; .IP \(bu Adds a pinlabel=n_a attribute to a pin if none exists; .IP \(bu Adds a pintype=io attribute to a pin if none exists; .IP \(bu Adds a numslots=0 attribute to the symbol if none exists; .IP \(bu Adds a device=XXX attribute to the symbol if none exists; .IP \(bu Adds a footprint=XXX attribute to the symbol if none exists. .PP The idea here is to fix common cut-and-paste issues and fix up the symbol so that it will pass .BR gsymcheck (1) with no errors or warnings. .SH OPTIONS .B gsymfix accepts the following options: .TP \-\-help Displays this help message. .TP \-\-verbose Enables verbose output. .TP \-\-vverbose Enables *very* verbose output. .TP \-\-version Shows the version of this program. .SH AUTHOR Mike Skerritt . .SH SEE ALSO .BR gschem (1), .BR gsymcheck (1) .SH COPYRIGHT .nf Copyright \(co 1999-2011 gEDA Contributors. License GPLv2+: GNU GPL version 2 or later. Please see the `COPYING' file included with this program for full details. .PP This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. geda-gaf-1.8.2/utils/docs/gxyrs.html0000664000175000017500000005633212220651650014242 00000000000000 gxyrs

    gxyrs

    NAME
    SYNOPSIS
    DESCRIPTION
    OPTIONS
    PREDEFINED VARIABLES
    BUILTIN COMMANDS
    RETURN VALUE
    FILES
    EXAMPLES
    SEE ALSO

    NAME

    gxyrs − is a program to batch process XYRS files.

    SYNOPSIS

    gxyrs file [OPTIONS]

    DESCRIPTION

    XYRS files are usually generated by PCB design programs, and are used by board assemblers.

    Format of XYRS files is discussed in FILES section.

    Processing of these files is often needed by board assemblers or designers to suit their process and tools flows.

    gxyrs helps batch-processing these files. Rules and commands can be defined to make batch-processing easy.

    gxyrs consists on a perl library providing the core functions, and a perl script providing some basic functionality.

    It takes some arguments from the command line: input and output files, some modifiers, and an action-file or an action-string.

    The action-file or action-script contains some commands. For every line of the input file, gxyrs executes those commands, which can modify the contents of the line, and then writes the resulting line to the output file.

    Since gxyrs is written in perl, actions are also written in this language.

    OPTIONS

    --help

    Display a usage message on standard output and exit successfully. −-verbose Display more information messages when processing files.

    −-process-comments

    By default, gxyrs doesn’t process lines starting with ’*’ and ’#’ characters.

    It just copies these lines to the output, without further processing.

    With this option, it processes these lines as well.

    −-tabulate

    Give each field in the output file a fixed length, enough to contain the longest string. Using this option make the output file easier to read by humans.

    −-caseinsensitive

    Ignore case distinctions when comparing patterns.

    −-adjust FILE 

    File with the commands to process the input file.

    −-eval PATTERN 

    Interpret PATTERN as the commands to process the input file.

    −-output FILE 

    Save the output to the specified FILE.

    If FILE string is "-" (without double quotes), then output is redirected to standard output STDOUT.

    −-output-delimiter CHAR 

    Use the given CHAR as an output field delimiter.

    PREDEFINED VARIABLES

    gxyrs defines automatically the following variables:
    REF_COL

    column number (starting at 0) where the component reference is.

    FOOTPRINT_COL

    column number (starting at 0) where the component footprint is.

    X_COL

    column number (starting at 0) where the component’s X location coordinate is.

    Y_COL

    column number (starting at 0) where the component’s Y location coordinate is.

    ANGLE_COL

    column number (starting at 0) where the component rotation angle is.

    LAYER_COL

    column number (starting at 0) where the component’s layer side location is.

    VALUE_COL

    column number (starting at 0) where the component’s value is. Usually this is the component’s part number.

    LINE_NUMBER

    this is the line number of the input file that is being currently processed.

    LINE

    array where each array element is a field or column of the input file’s line being processed.

    BUILTIN COMMANDS

    All the following commands accept a checklist parameter. A checklist is a list of one or more check_items. A checkitem is a list of two single elements:
    column_number

    is the data index number ’n’ of the global variable LINE to be checked. The first element of the data has the number 1.

    pattern

    is the regular expression to be matched.

    The commands will only be executed on those lines that match all the checkitems in the checklist.
    del_line
    checklist;

    Delete the line (global variable LINE) if checklist is matched.

    Returns −1 if error, 0 if not match, 1 if match and changed.

    rotate_comp angle_col, angle, checklist;

    rotate the component the degrees given in angle parameter, if checklist is matched.

    The angle column number is angle_col.

    Returns 1 if match and changed, 0 if not match, −1 if error.

    subst_col_val col, value, checklist;

    Replace a column value by the new value value, if checklist is matched.

    Returns 1 if match and changed, 0 if not match, −1 if error.

    change_col_units units, column_numbers;

    Change units of a given column number. More than one column number can be specified.

    Units is a string with the desired units. Only "mm" (milimeters), "in" (inches) and "mil" (thousands of an inch) are supported.

    It is required that numbers to be converted are followed their units (see supported units above). Otherwise, the number is not changed.

    add_number_to_col col_number, value, checklist;

    Adds a number to the value in a given column number. Note: offset and the value to be changed can be in different units.

    Returns −1 if error, −2 if warning, and 1 if success.

    translate_col_val col_number, string, substitution, checklist;

    Translate a string in the column col_number if checklist is matched.

    Substitution is an expression with the new string. Old column value can be used here.

    Returns −1 if error, 0 if not match, 1 if match and changed.

    Example:
    translate 2, ’^([0-9]+)n$’,’sprintf("%dnF",$1)’, 3, ’C[0-9]+’;
    if the value in column 3 is C followed by a number, then
    if the value in column 2 is a number followed by ’n’, translate it to the same value followed by ’nF’.
    If there is ’C10’ in column 3 and ’10n’ in column 2,
    change ’10n’ to ’10nF’.

    mul_col_val col_number, factor, checklist;

    Multiply the number in the specified column number col_number by the given factor, if checklist is matched.

    The number in the specified column number may have units at the end.

    Returns −1 if error, 0 if not match, 1 if match and changed.

    swap_columns col_number1, col_number2, checklist;

    Swap columns col_number1 and col_number2 if checklist is matched.

    Returns −1 if error, 0 if not match, 1 if match and changed.

    insert_column col_number, new_column_value;

    Insert a new column in the given col_number position (0 if it’s going to be the first column), with the value new_column_value.

    Returns −1 if error, 1 if the new column was inserted.

    RETURN VALUE

    The return value of gxyrs is an integer with the following possible values:
    1 if the command found a match and the execution was successful

    0 if there was no match

    −1 if there was an error

    −2 if there was a warning

    FILES

    XYRS files

    The format of these files is not standard, and depends on the application used to generate it.

    The data stored in these files is usually a header, and one line per component of the board.

    For each component, at least the following information is needed by assemblers:

    - Reference

    - Coordinates (X and Y)

    - Rotation angle

    - Side where the component is located (top or bottom)

    There can be more information, such as description, footprint, but this depends on the design program an its configuration.

    This information is organized in lines, one line per component, and each line is divided in as much fields or columns as needed. Field delimiters are used between columns, but field delimiters are not standardized and they depend on the program used to generate the XYRS file.

    The program that generates the XYRS file usually write a header (usually the first two or thre lines in the file) with a column title.

    gxyrs tries to guess the file format, and column numbers, based on this header. Thus, the known column titles are the following:

    - for reference designator: Designator, RefDesignator, RefDes.

    - for footprint: Footprint, TopCell, Description (only if there is no other "TopCell" column title).

    - for X coordinate: Mid X, X.

    - for Y coordinate: Mid Y, Y.

    - for rotation angle: Rotation, rotation, Rot.

    - for location side: TB, Side, top/bottom.

    - for value: Comment, PartNumber, Value.

    Action files

    An action file contains a list of commands, using perl language, that can include any call to a built-in function or use any variable defined by gxyrs.

    Each action file should end with the following line (with a carrier return at the end of the line):

    1;

    EXAMPLES

    Run an action file:

    Run the action file your_comands.txt with the XYRS file your_xyrs_file.txt and write the output result to the file output_file.txt:

    gxyrs your_xyrs_file.txt −−adjust your_commands.txt −−output output_file.txt

    Run a command specified in the command line:

    Run the commands your_commands wiith the XYRS file your_xyrs_file.txt and write the output result to the file output_file.txt:

    gxyrs your_xyrs_file.txt −−eval "your_commands" −−output output_file.txt

    Delete some lines matching a pattern.

    Parse the XYRS file your_xyrs_file.txt, delete all lines having a R followed by a number in column number 2, and write the output result to the file output_file.txt:

    gxyrs your_xyrs_file.txt −−eval "del 2, ’R[0−9]+’;" −−output output_file.txt

    Delete some lines matching a pattern, using the column number guessed
    by gxyrs.

    Parse the XYRS file your_xyrs_file.txt, delete all lines having a R followed by a number in reference designator column, and write the output result to the file output_file.txt:

    gxyrs your_xyrs_file.txt −−eval "del \$REF_COL, ’R[0−9]+’;" −−output output_file.txt

    Rotate some lines matching a pattern.

    Parse the XYRS file your_xyrs_file.txt, rotate by 90º all lines having a R followed by a number in reference designator column, and write the output result to the file output_file.txt. Use the rotation and reference column number guessed by gxyrs:

    gxyrs your_xyrs_file.txt −−eval "rotate \$ANGLE_COL, 90, \$REF_COL, ’R[0−9]+’;" −−output output_file.txt

    Change all numbers to ’mm’ units.

    Parse the XYRS file your_xyrs_file.txt, convert all numbers in column 3 and 5 to its equivalent in mm, and write the output result to the file output_file.txt:

    gxyrs your_xyrs_file.txt −−eval "change_units ’mm’, 3, 5;" −−output output_file.txt

    Replace a value matching a pattern with another value.

    Parse the XYRS file your_xyrs_file.txt, if the value in column 3 is "0.1u", then replace it with "100nF", and write the output result to the file output_file.txt:

    gxyrs your_xyrs_file.txt −−eval "subst 3 , ’100nF’, 3, ’0.1u’" −−output output_file.txt

    Change the reference of a component with a value matching a pattern.

    Parse the XYRS file your_xyrs_file.txt, if the value in value column is "1n4148", then replace reference column with "D1", and write the output result to the file output_file.txt:

    gxyrs your_xyrs_file.txt −−eval "subst \$REF_COL , ’D1’, \$VALUE_COL, ’1n4148’;" −−output output_file.txt

    Adds an offset to the X coordinate of a component with a reference
    having a R followed by a number.

    Parse the XYRS file your_xyrs_file.txt, if the text in reference column is R followed by a number, then adds 102.5mm to the value in X coordinate column, and write the output result to the file output_file.txt.

    Value in column 3 can be in other units (for example: ’640mil’):

    gxyrs your_xyrs_file.txt −−eval "offset \$X_COL, ’102.5mm’, \$REF_COL, ’R[0−9]+’ ;" −−output output_file.txt

    Multiply the value of the X coordinate of a component by a number, if
    the component reference is having a R followed by a number.

    Parse the XYRS file your_xyrs_file.txt, if the text in reference column is R followed by a number, then multiply the value in X coordinate column by 2.5, and write the output result to the file output_file.txt.

    Value in column 3 can be in other units (for example: ’640mil’):

    gxyrs your_xyrs_file.txt −−eval "mul_col_val \$X_COL, 2.5, \$REF_COL, ’R[0−9]+’ ;" −−output output_file.txt

    Swap two columns.

    Parse the XYRS file your_xyrs_file.txt, swap columns 3 and 4 if the text in column number 4 is R followed by a number, and write the output result to the file output_file.txt:

    gxyrs your_xyrs_file.txt −−eval "swap_columns 3, 4, 4, ’R[0−9]+’ ;" −−output output_file.txt

    Insert a column.

    Insert a column in the first position, displacing all existing columns to the right. Column value is ’new_column_value’:

    gxyrs your_xyrs_file.txt −−eval "insert_column 0, ’new_column_value’;" −−output output_file.txt

    SEE ALSO

    regex(7), GNU regular expression manual


    geda-gaf-1.8.2/utils/docs/TODO.grenum0000664000175000017500000000025312050461155014153 00000000000000This is my to do list -test test test -file handling improvements -interworking with gaf's project file -integrate the code to gschem /*This would be the best*/ Levente geda-gaf-1.8.2/utils/docs/pads_backannotate.10000664000175000017500000000342512220655706015724 00000000000000.TH pads_backannotate 1 "September 25th, 2013" "gEDA Project" 1.8.2.20130925 .SH NAME .B pads_backannotate \- backannotates changes from a PADS engineering change order (ECO) file to schematic .SH SYNOPSIS .B pads_backannotate \-h\||\-\-help .B pads_backannotate \-V\||\-\-version .B pads_backannotate [options] .I ecofile.eco infile1.sch [infile2.sch ...] .SH DESCRIPTION The .I pads_backannotate program reads an engineering change order (ECO) file generated by the PADS program and backannotates the requested changes to a gschem schematic or schematics. Refer to the PADS manual for a complete description of the ECO file format. .SH OPTIONS .TP \-h, \-\-help prints help message and exits .TP \-n, \-\-nocopy Leave the modified schematic files in new files whose names are generated by appending .I ".new" to the original file names. The default is to overwrite the original. .TP \-v, \-\-verbose operate verbosely .TP \-V, \-\-version prints version information and exits .SH EXIT STATUS .I pads_backannotate will return .B 0 if all files processed successfully, .B non-zero if the command did not complete successfully. .SH BUGS Rather than parsing and processing schematic files directly, this utility should be rewritten using the gEDA scheme API. This would take advantage of the existing parsers for the schematic files. Reference designator renaming is fully supported. Pin and gate swapping is parsed but not automatically applied to the schematic database. Instead, a report listing the manual pin and gate swapping that is required. The other features of the ECO file are not supported yet. .SH SEE ALSO gnetlist(1), gschem(1) Also refer to "Forward/Backward Annotation Between gEDA/gaf and PADS PowerPCB" which may be found at http://wiki.geda-project.org/geda:fbabgapp geda-gaf-1.8.2/utils/docs/gmk_sym.10000664000175000017500000000341112220655706013724 00000000000000.TH gmk_sym 1 "September 25th, 2013" "gEDA Project" 1.8.2.20130925 .SH NAME gmk_sym \- create rectangular symbols for gschem from a text file .SH SYNOPSIS .B gmk_sym [ -d ] .I inputfile.txt .B > .I outputfile.sym .PP .B gmk_sym -h|-? .SH DESCRIPTION .B gmk_sym is a program to create rectangular symbols for gschem from a file composed of comma separated lines. .SH OPTIONS .TP \-d Turn on debug output .TP \-h, \-? Display usage information .SH FILE FORMAT The input file format is: .IP \(bu lines starting with ';' are comment lines and are not processed; .IP \(bu The 1st valid line describes a device: .RS .IP \(bu 1st value: device name .IP \(bu 2nd value: visible name .IP \(bu 3rd value: visible name location on package .IP \(bu 4th value: box's hoz size, in pins spacings .IP \(bu 5th value: box's ver size, in pins spacings .IP \(bu 6th value: uref prefix, like U or J .IP \(bu 7th value: Footprint .IP \(bu 8th value: Total number of pins on device (including hidden) .RE .IP \(bu All other valid lines describes the symbol's pins: .RS .IP \(bu 1st value: pin name .IP \(bu 2nd value: pin number .IP \(bu 3rd value: pin shape, choice of: line, clock, dot&line .IP \(bu 4th value: side of box to attach the pin,choice of: R, L, T, B .IP \(bu 5th value: location of pin on side of box, in pin spacings .IP \(bu 6th value: (optional) pin type attribute: in, out, io, oc, oe, pas, tp, tri, clk, pwr .RE .SH AUTHOR Jerry O'Keefe .SH SEE ALSO .BR gschem (1) .SH COPYRIGHT .nf Copyright \(co 1999-2011 gEDA Contributors. License GPLv2+: GNU GPL version 2 or later. Please see the `COPYING' file included with this program for full details. .PP This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. geda-gaf-1.8.2/utils/docs/schdiff.10000664000175000017500000000327312220655706013672 00000000000000.TH schdiff 1 "September 25th, 2013" "gEDA Project" 1.8.2.20130925 .SH NAME .B schdiff \- Graphical diff tool for schematics .SH SYNOPSIS .B schdiff .I infile1.sch infile2.sch .SH DESCRIPTION The .B schdiff program will use .B ImageMagick(1) to display a graphical diff of two gschem schematic files. It's most useful when combined with a revision control system so it can compare two revisions of the same file, review changes, etc. However, it is limited in that it can only compare two files at a time; it cannot diff entire directories nor can it diff an entire revision (unless that revision affected only one file). It can easily be configured to work with most revision control systems. Here are instructions for three: .B git: Use the .B difftool command exactly as you would use .B diff , but supply the .B \-x schdiff option. .B mercurial: Use the .B schdiff command exactly as you would use .B diff , but add the following lines to your .hgrc: .RS [extensions] hgext.extdiff = [extdiff] cmd.schdiff = schdiff .RE .B subversion: Use the .B diff command like normal, but supply the .B --diff-cmd schdiff option. .SH EXAMPLES .TP Use git to view the changes to a file between two revisions git difftool \-x schdiff 182110f690c51eb53ea1799fd022e87322d742e3 039e012397f2638d1577dd7c80fb862a5503dbfd cpu.sch .TP Use mercurial to see all the changes since a specific revision hg schdiff \-r 8442880f9835 cpld.sch .TP Use subversion to review a specific revision svn diff \-\-diff-cmd schdiff \-c 49 power.sch .SH BUGS If you find one, please report it at https://bugs.launchpad.net/geda .SH AUTHOR Alan Somers .SH SEE ALSO .B composite(1), display(1), git(1), gschem(1), hg(1), svn(1) geda-gaf-1.8.2/utils/docs/convert_sym.10000664000175000017500000000136612220655706014635 00000000000000.TH convert_sym 1 "September 25th, 2013" "gEDA Project" 1.8.2.20130925 .SH NAME convert_sym \- convert a Viewlogic symbol/schematic to gEDA gschem format .SH SYNOPSIS .B convert_sym .I viewlogic_file .SH DESCRIPTION .B convert_sym converts a Viewlogic symbol/schematic to gEDA .B gschem format. It accepts one argument, the name of the file to convert; converted output is sent to stdout. .SH AUTHOR Mike Jarabek .SH SEE ALSO .BR gschem (1) .SH COPYRIGHT .nf Copyright \(co 1999-2011 gEDA Contributors. License GPLv2+: GNU GPL version 2 or later. Please see the `COPYING' file included with this program for full details. .PP This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. . geda-gaf-1.8.2/utils/docs/schdiff.html0000664000175000017500000000712612220655761014500 00000000000000 schdiff

    schdiff

    NAME
    SYNOPSIS
    DESCRIPTION
    EXAMPLES
    BUGS
    AUTHOR
    SEE ALSO

    NAME

    schdiff − Graphical diff tool for schematics

    SYNOPSIS

    schdiff infile1.sch infile2.sch

    DESCRIPTION

    The schdiff program will use ImageMagick(1) to display a graphical diff of two gschem schematic files. It’s most useful when combined with a revision control system so it can compare two revisions of the same file, review changes, etc. However, it is limited in that it can only compare two files at a time; it cannot diff entire directories nor can it diff an entire revision (unless that revision affected only one file). It can easily be configured to work with most revision control systems. Here are instructions for three:

    git: Use the difftool command exactly as you would use diff , but supply the −x schdiff option.

    mercurial: Use the schdiff command exactly as you would use diff , but add the following lines to your .hgrc:

    [extensions]
    hgext.extdiff =
    [extdiff]
    cmd.schdiff = schdiff

    subversion: Use the diff command like normal, but supply the --diff-cmd schdiff option.

    EXAMPLES

    Use git to view the changes to a file between two revisions

    git difftool −x schdiff 182110f690c51eb53ea1799fd022e87322d742e3 039e012397f2638d1577dd7c80fb862a5503dbfd cpu.sch

    Use mercurial to see all the changes since a specific revision

    hg schdiff −r 8442880f9835 cpld.sch

    Use subversion to review a specific revision

    svn diff −−diff-cmd schdiff −c 49 power.sch

    BUGS

    If you find one, please report it at https://bugs.launchpad.net/geda

    AUTHOR

    Alan Somers

    SEE ALSO

    composite(1), display(1), git(1), gschem(1), hg(1), svn(1)


    geda-gaf-1.8.2/utils/docs/README.grenum0000664000175000017500000000373712050461155014355 00000000000000This is grenum, an advanced refdes renumber utility for gEDA's gschem. INTRODUCTION This program renumbers the refdes definitions read from input file. GOALS There is another script called refdes_renum comes with geda- utyls, but it does not care about slotted elements. grenum will not renumber all refdeses, only, if a "?" is found in the refdes definition. After the first run, you have to edit the refdes of multi slotted elements, but after it, they won't be renumbered. Moreover, the text after the refdes numbers are ignored. This is useful, if you want to have e.g. IC3a, IC3b components on the schematic. Unfortunately, the next layer, the gsch2pcb does not ignore this, and will create a new component (am I right?). As it was mentioned grenum does not renumber refdeses which were already renumbered. However, it detects gaps between the refdes numbers. For example, if you have IC3 and IC6, it'll start num- bering new components from IC1 to IC2, and IC4-IC5 and after IC7. This is essential, because gsch2pcb does not care about refdeses (which is good), and if the refdeses gets totally renumbered (gaps filled totally), then all your components will shifted, and you have to move everything on your board. COMPILATION This is very very tiny program, needs no external libraries, just a working C compiler. If your C compiler is not gcc, you have to edit the Makefile in the src directory. To untar the package, issue the command $ tar -jxvf grenum.tar.bz2 Note that you need bunzip2 and the tar utility. To compile the code cd to the grenum directory and make the exe- cutable $ cd grenum $ make To install the compiled executable (as root) issue # make install USAGE To renumber your gschem file issue $ grenum yourfile.sch for more information, see the manpage, and read the documenta- tion, which you can't since I had no time write it. But it'll come... :-) CONTACT Please send comments to - levente.kovacs@interware.hu geda-gaf-1.8.2/utils/docs/gsymfix.html0000664000175000017500000001165412220655762014562 00000000000000 gsymfix

    gsymfix

    NAME
    SYNOPSIS
    DESCRIPTION
    OPTIONS
    AUTHOR
    SEE ALSO
    COPYRIGHT

    NAME

    gsymfix − automatically fix common issues with gEDA symbols

    SYNOPSIS

    gsymfix [ options ] symbol_file

    DESCRIPTION

    gsymfix reads a gEDA symbol file and does the following:

    prints a warning if there is no pinnumber attribute on a pin;

    Renumbers pinseq attributes on all pins, starting with 1;

    Adds a pinseq attribute to a pin if none exists;

    Adds a pinlabel=n_a attribute to a pin if none exists;

    Adds a pintype=io attribute to a pin if none exists;

    Adds a numslots=0 attribute to the symbol if none exists;

    Adds a device=XXX attribute to the symbol if none exists;

    Adds a footprint=XXX attribute to the symbol if none exists.

    The idea here is to fix common cut-and-paste issues and fix up the symbol so that it will pass gsymcheck(1) with no errors or warnings.

    OPTIONS

    gsymfix accepts the following options:

    −−help

    Displays this help message.

    −−verbose

    Enables verbose output.

    −−vverbose

    Enables *very* verbose output.

    −−version

    Shows the version of this program.

    AUTHOR

    Mike Skerritt <mike@acornpacket.com>.

    SEE ALSO

    gschem(1), gsymcheck(1)

    COPYRIGHT

    Copyright © 1999-2011 gEDA Contributors. License GPLv2+: GNU GPL
    version 2 or later. Please see the ‘COPYING’ file included with this
    program for full details.

    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.


    geda-gaf-1.8.2/utils/docs/convert_sym.html0000664000175000017500000000433412220655762015441 00000000000000 convert_sym

    convert_sym

    NAME
    SYNOPSIS
    DESCRIPTION
    AUTHOR
    SEE ALSO
    COPYRIGHT

    NAME

    convert_sym − convert a Viewlogic symbol/schematic to gEDA gschem format

    SYNOPSIS

    convert_sym viewlogic_file

    DESCRIPTION

    convert_sym converts a Viewlogic symbol/schematic to gEDA gschem format. It accepts one argument, the name of the file to convert; converted output is sent to stdout.

    AUTHOR

    Mike Jarabek

    SEE ALSO

    gschem(1)

    COPYRIGHT

    Copyright © 1999-2011 gEDA Contributors. License GPLv2+: GNU GPL
    version 2 or later. Please see the ‘COPYING’ file included with this
    program for full details.

    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.


    geda-gaf-1.8.2/utils/docs/what-is-geda.html0000664000175000017500000000155412050461155015334 00000000000000 What is gEDA?

    The gEDA project is working on producing a full GPL'd suite of Electronic Design Automation tools. These tools are used for electrical circuit design, schematic capture, simulation, prototyping, and production. Currently, the gEDA project offers a mature suite of free software applications for electronics design, including schematic capture, attribute management, bill of materials (BOM) generation, netlisting into over 20 netlist formats, analog and digital simulation, and printed circuit board (PCB) layout.

    The gEDA project was started because of the lack of free EDA tools for UNIX. The tools are being developed mainly on GNU/Linux machines, but considerable effort is being made to make sure that gEDA runs on other UNIX variants. For a complete list of freely available tools please be sure to visit Open Collector. geda-gaf-1.8.2/utils/docs/gschlas.10000664000175000017500000000233312220655706013704 00000000000000.TH gschlas 1 "September 25th, 2013" "gEDA Project" 1.8.2.20130925 .SH NAME gschlas \- gEDA schematic load and save .SH SYNOPSIS .B gschlas [ \-e | \-u ] [ \-q | \-v ] .I file .B [ .I file ... .B ] .PP .B gschlas -h .SH DESCRIPTION .B gschlas can embed the in-use schematic symbols and pictures into a schematic or set of schematics. It allow, for instance, putting a schematic on a website or in an email without the recipient needing to download lots of custom symbols for the design. .PP .B gschlas can also unembed symbol references from a schematic, but note that the symbols revert to library references; if the symbol doesn't exist in the current gEDA project's library path, a broken schematic results. .SH OPTIONS .TP \-e Embed all components/pictures. .TP \-u Unembed all components/pictures. .TP \-q Quiet mode. .TP \-v Verbose mode. .TP \-h Print usage information. .SH AUTHOR Ales Hvezda .SH SEE ALSO .BR gschem(1) .SH COPYRIGHT .nf Copyright \(co 1999-2011 gEDA Contributors. License GPLv2+: GNU GPL version 2 or later. Please see the `COPYING' file included with this program for full details. .PP This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. geda-gaf-1.8.2/utils/docs/pcb_backannotate.html0000664000175000017500000000640312220655761016345 00000000000000 pcb_backannotate

    pcb_backannotate

    NAME
    SYNOPSIS
    DESCRIPTION
    OPTIONS
    EXIT STATUS
    BUGS
    SEE ALSO

    NAME

    pcb_backannotate − backannotates changes from a PCB annotation file to schematic

    SYNOPSIS

    pcb_backannotate −h|−−help

    pcb_backannotate −V|−−version

    pcb_backannotate [options] ecofile.eco infile1.sch [infile2.sch ...]

    DESCRIPTION

    The pcb_backannotate program reads an engineering change order (ECO) file generated by the PCB program and backannotates the requested changes to a gschem schematic or schematics. Refer to the PCB manual for a complete description of the ECO file format.

    OPTIONS

    −h, −−help

    prints help message and exits

    −n, −−nocopy

    Leave the modified schematic files in new files whose names are generated by appending .new to the original file names. The default is to overwrite the original.

    −v, −−verbose

    operate verbosely

    −V, −−version

    prints version information and exits

    EXIT STATUS

    pcb_backannotate will return 0 if all files processed successfully, non-zero if the command did not complete successfully.

    BUGS

    Rather than parsing and processing schematic files directly, this utility should be rewritten using the gEDA scheme API. This would take advantage of the existing parsers for the schematic files.

    SEE ALSO

    gnetlist(1), gschem(1), pcb(1)


    geda-gaf-1.8.2/utils/docs/sw2asc.html0000664000175000017500000000671612220655761014300 00000000000000 sw2asc

    sw2asc

    NAME
    SYNOPSIS
    DESCRIPTION
    OPTIONS
    EXIT STATUS
    SEE ALSO

    NAME

    sw2asc − converts a SWITCAP2 output file into ASCII data files that other tools can read

    SYNOPSIS

    sw2asc −c|−−copyright

    sw2asc −h|−−help

    sw2asc −V|−−version

    sw2asc switcap.out

    DESCRIPTION

    The sw2asc program reads the switcap.out output file produced by SWITCAP2 and produces a set of ASCII datafiles which can be more easily loaded into various waveform plotting programs.

    Data generated by SWITCAP2 "PRINT" statements is; extracted and written to an output file in an ASCII format which can be directly loaded by the gwave waveform viewer or more easily loaded into a tool such as scilab , octave , grace, , or matlab

    If multiple analyses are in the SWITCAP2 output file, then they are written to individual files. The output file names are derived from the input file name by appending ".{SSS,TRAN}.#.asc"" to the name of the input file. SSS is used for Sinusoidal Steady State analysis output and TRAN is used for. TRANsient analysis output. # corresponds to the analysis number (ie if you have 3 SSS analyses in your file, you will end up with .SSS.1.asc, .SSS.2.asc, and .SSS.3.asc.

    OPTIONS

    −c, −−copyright

    prints copyright information and exits

    −h, −−help

    prints help message and exits

    −V, −−version

    prints version information and exits

    EXIT STATUS

    sw2asc will return 0 on success and non-zero if the command did not complete successfully.

    SEE ALSO

    SWITCAP2 users manual


    geda-gaf-1.8.2/utils/docs/refdes_renum.html0000664000175000017500000001433612220655761015551 00000000000000 refdes_renum

    refdes_renum

    NAME
    SYNOPSIS
    DESCRIPTION
    OPTIONS
    RETURN CODES
    EXAMPLES
    AUTHOR
    SEE ALSO
    COPYRIGHT

    NAME

    refdes_renum − gEDA/gaf refdes renumbering utility

    SYNOPSIS

    refdes_renum [−−nocopy] [−−pgskip [ number ] ] file1 ...

    refdes_renum --help

    refdes_renum --version

    DESCRIPTION

    refdes_renum reads a gschem schematic file or files and renumbers all reference designators. The reference designators are numbered starting with 1 and the old schematic file is replaced by the modified schematic file.

    OPTIONS

    −−help

    Display a help message.

    −−nocopy

    If given, this flag leaves the modified files in new files whose names are generated by appending a ‘.renum’ to the original file names. The default is to overwrite the original.

    −−pgskip

    When this flag is used, components on the first schematic sheet are numbered starting with 101. On the second sheet, they start with 201, etc Specifying a value gives the step between pages. For example −−pgskip 10 will start with 11, 21, 31, etc.

    −−gentle

    This flag tells refdes_renum to leave any refdeses alone if they already have numbers. Use this option to number new components in a schematic which has already been numbered. Note that −−gentle is set by default!

    −−force

    Set this flag to renumber all refdeses, whether they are already numbered or not.

    −−verbose

    Enables verbose output.

    −−version

    Shows the version of this program.

    RETURN CODES

    refdes_renum returns the following codes to the shell upon completion:

    0

    Program ran successfully.

    1

    Error opening or reading input file.

    2

    Error opening or writing output file.

    3

    Too many components for −−pgskip setting.

    4

    Internal error (program bug encountered).

    EXAMPLES

    To renumber the reference designators in a single page schematic mysch.sch:

    refdes_renum mysch.sch

    To renumber the reference designators in schematic pages pg1.sch, pg2.sch and pg3.sch, with the reference designators on pg1.sch beginning at 101, the designators on pg2.sch beginning at 201, and the designators on pg3.sch beginning at 301:

    refdes_renum −−pgskip pg1.sch pg2.sch pg3.sch

    AUTHOR

    Dan McMahill <danmcmahill@netbsd.org>

    SEE ALSO

    grenum(1)

    COPYRIGHT

    Copyright © 1999-2011 gEDA Contributors. License GPLv2+: GNU GPL
    version 2 or later. Please see the ‘COPYING’ file included with this
    program for full details.

    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.


    geda-gaf-1.8.2/utils/docs/Makefile.in0000664000175000017500000005505312220655726014254 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = utils/docs DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(dist_man_MANS) $(dist_docsman_DATA) ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } man1dir = $(mandir)/man1 am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(docsmandir)" \ "$(DESTDIR)$(docsreadmedir)" NROFF = nroff MANS = $(dist_man_MANS) DATA = $(dist_docsman_DATA) $(docsreadme_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = README.gsch2pcb README.olib README.tragesym README.grenum \ TODO.grenum why.grenum logo.png utils-main.txt \ what-is-geda.html what-is-utils.html utils.dox docsreadmedir = $(docdir)/readmes docsreadme_DATA = README.gsch2pcb README.olib README.tragesym README.grenum dist_man_MANS = gsch2pcb.1 grenum.1 gxyrs.1 olib.1 pads_backannotate.1 \ pcb_backannotate.1 refdes_renum.1 schdiff.1 sw2asc.1 tragesym.1 \ smash_megafile.1 convert_sym.1 garchive.1 gmk_sym.1 gschlas.1 \ gsymfix.1 sarlacc_sym.1 sarlacc_schem.1 noinst_MANS = gnet_hier_verilog.1 # Rules for converting man->html html_man_files = $(dist_man_MANS:%.1=%.html) SUFFIXES = .1 .html docsmandir = $(docdir)/man dist_docsman_DATA = $(html_man_files) MOSTLYCLEANFILES = *.log *~ CLEANFILES = *.log *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log *~ Makefile.in $(html_man_files) all: all-am .SUFFIXES: .SUFFIXES: .1 .html $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu utils/docs/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu utils/docs/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-man1: $(dist_man_MANS) @$(NORMAL_INSTALL) @list1=''; \ list2='$(dist_man_MANS)'; \ test -n "$(man1dir)" \ && test -n "`echo $$list1$$list2`" \ || exit 0; \ echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ { for i in $$list1; do echo "$$i"; done; \ if test -n "$$list2"; then \ for i in $$list2; do echo "$$i"; done \ | sed -n '/\.1[a-z]*$$/p'; \ fi; \ } | while read p; do \ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; echo "$$p"; \ done | \ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ sed 'N;N;s,\n, ,g' | { \ list=; while read file base inst; do \ if test "$$base" = "$$inst"; then list="$$list $$file"; else \ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ fi; \ done; \ for i in $$list; do echo "$$i"; done | $(am__base_list) | \ while read files; do \ test -z "$$files" || { \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ done; } uninstall-man1: @$(NORMAL_UNINSTALL) @list=''; test -n "$(man1dir)" || exit 0; \ files=`{ for i in $$list; do echo "$$i"; done; \ l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \ sed -n '/\.1[a-z]*$$/p'; \ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) install-dist_docsmanDATA: $(dist_docsman_DATA) @$(NORMAL_INSTALL) @list='$(dist_docsman_DATA)'; test -n "$(docsmandir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(docsmandir)'"; \ $(MKDIR_P) "$(DESTDIR)$(docsmandir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docsmandir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(docsmandir)" || exit $$?; \ done uninstall-dist_docsmanDATA: @$(NORMAL_UNINSTALL) @list='$(dist_docsman_DATA)'; test -n "$(docsmandir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(docsmandir)'; $(am__uninstall_files_from_dir) install-docsreadmeDATA: $(docsreadme_DATA) @$(NORMAL_INSTALL) @list='$(docsreadme_DATA)'; test -n "$(docsreadmedir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(docsreadmedir)'"; \ $(MKDIR_P) "$(DESTDIR)$(docsreadmedir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docsreadmedir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(docsreadmedir)" || exit $$?; \ done uninstall-docsreadmeDATA: @$(NORMAL_UNINSTALL) @list='$(docsreadme_DATA)'; test -n "$(docsreadmedir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(docsreadmedir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(MANS) $(DATA) installdirs: for dir in "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(docsmandir)" "$(DESTDIR)$(docsreadmedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic distclean-local dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dist_docsmanDATA install-docsreadmeDATA \ install-man install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-man1 install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic \ maintainer-clean-local mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-dist_docsmanDATA uninstall-docsreadmeDATA \ uninstall-man uninstall-man: uninstall-man1 .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distclean-local distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dist_docsmanDATA \ install-docsreadmeDATA install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-man1 install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic maintainer-clean-local mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags-am uninstall uninstall-am uninstall-dist_docsmanDATA \ uninstall-docsreadmeDATA uninstall-man uninstall-man1 doxygen: utils.dox @echo 'Creating doxygen documentation for utils...' @ENABLE_DOXYGEN_TRUE@ $(DOXYGEN) utils.dox @ENABLE_DOXYGEN_FALSE@ @echo 'configure was not run with the --enable-doxygen switch.' @ENABLE_DOXYGEN_FALSE@ @echo 'The documentation cannot be built from the sources.' @ENABLE_GROFF_HTML_TRUE@.1.html: @ENABLE_GROFF_HTML_TRUE@ rm -rf $@.tmp && \ @ENABLE_GROFF_HTML_TRUE@ LC_NUMERIC=C $(GROFF) -man -T html $< >$@.tmp && \ @ENABLE_GROFF_HTML_TRUE@ mv -f $@.tmp $@ @ENABLE_GROFF_HTML_FALSE@.1.html: @ENABLE_GROFF_HTML_FALSE@ @echo "No working groff available: cannot create $@" @ENABLE_GROFF_HTML_FALSE@ @! : distclean-local: -rm -rf html latex maintainer-clean-local: -rm -rf html latex # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/utils/docs/sarlacc_schem.10000664000175000017500000000150512220655706015047 00000000000000.TH sarlacc_schem 1 "September 25th, 2013" "gEDA Project" 1.8.2.20130925 .SH NAME sarlacc_schem \- convert OrCAD SDT IV files to gEDA format. .SH SYNOPSIS .B sarlacc_schem [ .I options .B ] .I infile .B > .I outfile .SH DESCRIPTION .B sarlacc_schem converts OrCAD schematic files (in 16-bit format) to gEDA format. .SH OPTIONS .TP \-s Scale by n%. The default is 200%. .TP \-h Print the help message. .TP \-v Print the version. .SH AUTHOR Matthew Ettus .SH SEE ALSO .BR gschem (1), .BR sarlacc_sym (1) .SH COPYRIGHT .nf Copyright \(co 1999-2011 gEDA Contributors. License GPLv2+: GNU GPL version 2 or later. Please see the `COPYING' file included with this program for full details. .PP This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. geda-gaf-1.8.2/utils/docs/sarlacc_sym.html0000664000175000017500000000605412220655762015372 00000000000000 sarlacc_sym

    sarlacc_sym

    NAME
    SYNOPSIS
    DESCRIPTION
    OPTIONS
    AUTHOR
    SEE ALSO
    COPYRIGHT

    NAME

    sarlacc_sym − convert OrCAD text libraries to gEDA components

    SYNOPSIS

    sarlacc_sym [ options ] library_file

    DESCRIPTION

    sarlacc_sym converts OrCAD text format libraries into gEDA components for use in the gschem(1) program.

    OPTIONS

    −s <n>

    Scale by n%. The default is 200%.

    −h

    Print out the usage information.

    −v

    Print out the version.

    AUTHOR

    Matthew Ettus <matt@ettus.com>

    SEE ALSO

    gschem(1), sarlacc_schem(1)

    COPYRIGHT

    Copyright © 1999-2011 gEDA Contributors. License GPLv2+: GNU GPL
    version 2 or later. Please see the ‘COPYING’ file included with this
    program for full details.

    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.


    geda-gaf-1.8.2/utils/docs/pcb_backannotate.10000664000175000017500000000252712220655706015543 00000000000000.TH pcb_backannotate 1 "September 25th, 2013" "gEDA Project" 1.8.2.20130925 .SH NAME .B pcb_backannotate \- backannotates changes from a PCB annotation file to schematic .SH SYNOPSIS .B pcb_backannotate \-h\||\-\-help .B pcb_backannotate \-V\||\-\-version .B pcb_backannotate [options] .I ecofile.eco infile1.sch [infile2.sch ...] .SH DESCRIPTION The .I pcb_backannotate program reads an engineering change order (ECO) file generated by the PCB program and backannotates the requested changes to a gschem schematic or schematics. Refer to the PCB manual for a complete description of the ECO file format. .SH OPTIONS .TP \-h, \-\-help prints help message and exits .TP \-n, \-\-nocopy Leave the modified schematic files in new files whose names are generated by appending .I ".new" to the original file names. The default is to overwrite the original. .TP \-v, \-\-verbose operate verbosely .TP \-V, \-\-version prints version information and exits .SH EXIT STATUS .I pcb_backannotate will return .B 0 if all files processed successfully, .B non-zero if the command did not complete successfully. .SH BUGS Rather than parsing and processing schematic files directly, this utility should be rewritten using the gEDA scheme API. This would take advantage of the existing parsers for the schematic files. .SH SEE ALSO gnetlist(1), gschem(1), pcb(1) geda-gaf-1.8.2/utils/docs/olib.html0000664000175000017500000001540712220655761014020 00000000000000 olib

    olib

    NAME
    SYNOPSIS
    DESCRIPTION
    OPTIONS
    LIMITATIONS
    AUTHOR
    SEE ALSO
    COPYRIGHT

    NAME

    olib − OrCAD(tm) library part to gEDA .sym converter

    SYNOPSIS

    olib filename prefix

    DESCRIPTION

    olib is a simple automated converter from OrCAD v4 (in SDT version 1.10) ASCII parts library to gEDA component definition in .sym format file. It allow an initial dumb conversion file to file, with one lib converted in multiple .sym file, one per component in library. The converted component file may need a little editing to become usable, but in some case needs no editing at all. olib will write one file per part in the current directory.

    olib will:

    Convert box-shaped components in OrCAD lib to .sym file in gEDA format;

    Place pin, pin name, pin type, pin number;

    Place logic bubble when needed (DOT attribute in OrCAD (TM), for logic negation);

    Place clock arrow when needed (CLK attribute);

    Place reference, from REFERENCE statement in OrCAD;

    Place part name as label and device name as attribute;

    Parse and draw non-box component, with LINE, ARC, CIRCLE and TEXT;

    Add power pin as invisible net=name:pin attribute when detected (in OrCAD, invisible pin has typically T0 and B0 coords);

    Through a command line switch, hides pin name in VECTOR drawn symbols, for a better appearance;

    Write both new (post-20020825) and old (20020209) file format for .sym files through a switch on the command line;

    OPTIONS

    filename

    The OrCAD library to convert. This should have been previously converted to ASCII format using the OrCAD ’decomp’ utility.

    prefix

    The prefix used to generate the filenames of the output gEDA symbols e.g. prefix-partname-1.sym

    LIMITATIONS

    olib has the following limitations:

    olib will not parse and store alternate component drawing (statement CONVERT in OrCAD);

    olib will not handle drawing part using VECTOR list from another part (statement VECTOR ’partname’ in OrCAD);

    olib will not handle FILL statement in VECTOR statement (no equivalent in gEDA);

    olib will not handle multiple part in one package (slots in gEDA).

    AUTHOR

    Mario Pascucci <m.pas@libero.it>

    SEE ALSO

    gschem(1)

    COPYRIGHT

    Copyright © 1999-2011 gEDA Contributors. License GPLv2+: GNU GPL
    version 2 or later. Please see the ‘COPYING’ file included with this
    program for full details.

    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.


    geda-gaf-1.8.2/utils/docs/gsch2pcb.10000664000175000017500000001264112220655706013756 00000000000000.TH gsch2pcb 1 "September 25th, 2013" "gEDA Project" 1.8.2.20130925 .SH NAME gsch2pcb - Update PCB layouts from gEDA/gaf schematics .SH SYNOPSIS \fBgsch2pcb\fR [\fIOPTION\fR ...] {\fIPROJECT\fR | \fIFILE\fR ...} .SH DESCRIPTION .PP \fBgsch2pcb\fR is a frontend to \fBgnetlist\fR(1) which aids in creating and updating \fBpcb\fR(1) printed circuit board layouts based on a set of electronic schematics created with \fBgschem\fR(1). .PP Instead of specifying all options and input gEDA schematic \fIFILE\fRs on the command line, \fBgsch2pcb\fR can use a \fIPROJECT\fR file instead. .PP \fBgsch2pcb\fR first runs \fBgnetlist\fR(1) with the `PCB' backend to create a `.net' file containing a \fBpcb\fR(1) formatted netlist for the design. .PP The second step is to run \fBgnetlist\fR(1) again with the `gsch2pcb' backend to find any \fBM4\fR(1) elements required by the schematics. Any missing elements are found by searching a set of file element directories. If no `.pcb' file exists for the design yet, it is created with the required elements; otherwise, any new elements are output to a `.new.pcb' file. .PP If a `.pcb' file exists, it is searched for elements with a non-empty element name with no matching schematic symbol. These elements are removed from the `.pcb' file, with a backup in a `.pcb.bak' file. .PP Finally, \fBgnetlist\fR(1) is run a third time with the `pcbpins' backend to create a `.cmd' file. This can be loaded into \fBpcb\fR(1) to rename all pin names in the PCB layout to match the schematic. .SH OPTIONS .TP 8 \fB-o\fR, \fB--output-name\fR=\fIBASENAME\fR Use output filenames `\fIBASENAME\fR.net', `\fIBASENAME\fR.pcb', and `\fIBASENAME\fR.new.pcb'. By default, the basename of the first schematic file in the list of input files is used. .TP 8 \fB-d\fR, \fB--elements-dir\fR=\fIDIRECTORY\fR Add \fIDIRECTORY\fR to the list of directories to search for PCB file elements. By default, the following directories are searched if they exist: `./packages', `/usr/local/share/pcb/newlib', `/usr/share/pcb/newlib', `/usr/local/lib/pcb_lib', `/usr/lib/pcb_lib', `/usr/local/pcb_lib'. .TP 8 \fB-f\fR, \fB--use-files\fR Force use of file elements in preference to elements generated with \fBM4\fR(1). .TP 8 \fB-s\fR, \fB--skip-m4\fR Disable element generation using \fBM4\fR(1) entirely. .TP 8 \fB--m4-file\fR \fIFILE\fR Use the \fBM4\fR(1) file \fIFILE\fR in addition to the default M4 files `./pcb.inc' and `~/.pcb/pcb.inc'. .TP 8 \fB--m4-pcbdir\fR \fIDIRECTORY\fR Set \fIDIRECTORY\fR as the directory where \fBgsch2pcb\fR should look for \fBM4\fR(1) files installed by \fBpcb\fR(1). .TP 8 \fB-r\fR, \fB--remove-unfound\fR Don't include references to unfound elements in the generated `.pcb' files. Use if you want \fBpcb\fR(1) to be able to load the (incomplete) `.pcb' file. This is enabled by default. .TP 8 \fB-k\fR, \fB--keep-unfound\fR Keep include references to unfound elements in the generated `.pcb' files. Use if you want to hand edit or otherwise preprocess the generated `.pcb' file before running \fBpcb\fR(1). .TP 8 \fB-p\fR, \fB--preserve\fR Preserve elements in PCB files which are not found in the schematics. Since elements with an empty element name (schematic "refdes") are never deleted, this option is rarely useful. .TP 8 \fB--gnetlist\fR \fIBACKEND\fR In addition to the default backends, run \fBgnetlist\fR(1) with `\-g \fIBACKEND\fR', with output to `.\fIBACKEND\fR'. .TP 8 \fB--gnetlist-arg\fR \fIARG\fR Pass \fIARG\fR as an additional argument to \fBgnetlist\fR(1). .TP 8 \fB--empty-footprint\fR \fINAME\fR If \fINAME\fR is not `none', \fBgsch2pcb\fR will not add elements for components with that name to the PCB file. Note that if the omitted components have net connections, they will still appear in the netlist and \fBpcb\fR(1) will warn that they are missing. .TP 8 \fB--fix-elements\fR If a schematic component's `footprint' attribute is not equal to the `Description' of the corresponding PCB element, update the `Description' instead of replacing the element. .TP 8 \fB-q\fR, \fB--quiet\fR Don't output information on steps to take after running \fBgsch2pcb\fR. .TP 8 \fB-v\fR, \fB--verbose\fR Output extra debugging information. This option can be specified twice (`\-v \-v') to obtain additional debugging for file elements. .TP 8 \fB-h\fR, \fB--help\fR Print a help message. .TP 8 \fB-V\fR, \fB--version\fR Print \fBgsch2pcb\fR version information. .SH PROJECT FILES .PP A \fBgsch2pcb\fR project file is a file (not ending in `.sch') containing a list of schematics to process and some options. Any long-form command line option can appear in the project file with the leading `\-\-' removed, with the exception of `\-\-gnetlist-arg', `\-\-fix-elements', `\-\-verbose', and `\-\-version'. Schematics should be listed on a line beginning with `schematics'. .PP An example project file might look like: .nf schematics partA.sch partB.sch output-name design .ad b .SH ENVIRONMENT .TP 8 .B GNETLIST specifies the \fBgnetlist\fR(1) program to run. The default is `gnetlist'. .SH AUTHORS See the `AUTHORS' file included with this program. .SH COPYRIGHT .nf Copyright \(co 1999-2011 gEDA Contributors. License GPLv2+: GNU GPL version 2 or later. Please see the `COPYING' file included with this program for full details. .PP This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. .SH SEE ALSO \fBgschem\fR(1), \fBgnetlist\fR(1), \fBpcb\fR(1) geda-gaf-1.8.2/utils/docs/tragesym.10000664000175000017500000000224012220655706014110 00000000000000.TH tragesym 1 "September 25th, 2013" "gEDA Project" 1.8.2.20130925 .SH NAME tragesym \- create gEDA symbols from structured textfiles .SH SYNOPSIS .B tragesym .I sourcefile symbolfile .SH DESCRIPTION .B tragesym creates gschem symbols from structured textfiles. .PP .B tragesym can: .IP \(bu create pins and arrange their elements (clocksign, dot, type, pinnumber, label); .IP \(bu sort pins alphabetical and numerical; .IP \(bu swap words of pinlabels if wished; .IP \(bu draw negation lines on the labels (since version 0.0.9, gschem will do that); .IP \(bu rotate pinlabels if wished; .IP \(bu do some syntax check to the input file. .PP .B tragesym requires python. .SH TUTORIAL There is a tutorial on the use of .B tragesym at: .IP http://wiki.geda-project.org/geda:tragesym_tutorial .SH AUTHOR Werner Hoch .SH SEE ALSO .BR gschem (1), .BR pcb (1) .SH COPYRIGHT .nf Copyright \(co 1999-2011 gEDA Contributors. License GPLv2+: GNU GPL version 2 or later. Please see the `COPYING' file included with this program for full details. .PP This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. geda-gaf-1.8.2/utils/docs/README.gsch2pcb0000664000175000017500000001217612050461155014550 00000000000000gsch2pcb -------- gsch2pcb is a program that interfaces a set of schematics generated with with the gEDA gschem to PCB layout files. gsch2pcb is conceptually similar to the gschem2pcb shell script, but additionally handles multiple schematics, handles file element footprints, and removes pc board elements corresponding to components deleted from the schematics. It also forward annotates component value changes. Using gsch2pcb allows you to drive all design changes from the gschem schematics without the headache of manually keeping PCB elements and element values in sync. It requires that the gnet-gsch2pcb.scm file be install into the gEDA scheme directory. On Debian this is /usr/share/gEDA/scheme, but see the INSTALL file. Typical usage ------------- 1) Create your custom PCB elements and save each one into its own file. Some compatibility tips if you will be inserting elements into a layout manually as well as with gsch2pcb: * Make the initial "Description" field of these elements the same as the file name because gsch2pcb depends on this name (which is the gschem footprint value) to know when footprints/elements are changed. * Make the initial layout-name field (displayed when the "name on PCB" menu entry is selected) empty (ie "") so that gsch2pcb will not delete your element when you want it to be in the layout even though it is not in the schematic. You can later edit the layout-name to be some refdes value, but I'm not sure it makes sense to name a PCB element that is not referenced in the schematic. Note: since once a layout element is named PCB won't let you reset it to an empty name, a sort of kludge is that setting the first character of the layout-name to a non-alphanumeric will protect the element from being deleted by gsch2pcb. These file elements should be placed in a directory heirarchy that gsch2pcb will search. The default directories /usr/local/pcb_lib and ./packages are searched in addition to any directories you specify with --elements-dir dirname arguments to gsch2pcb. 2) Create your schematic with gschem. Make sure each component has a unique refdes attribute and a footprint attribute that matches either a PCB m4 element or one of your custom file element names. Beware of file element names that collide with PCB m4 macro names (or specify the use-files option). Make a project file if you wish. 3) Run "gsch2pcb foo.sch" or "gsch2pcb myproject" if you've created the myproject file. If you didn't specify an output name, this will generate a foo.pcb and a foo.net file. If you get errors about footprints not found, you need to create PCB elements for them and repeat this step until you get no errors. Or, just run gsch2pcb again and it will shift unfound elements to foo.new.pcb and you can proceed using PCB on foo.pcb if you wish to fix the errors from inside of PCB. 4) Run "pcb foo.pcb". All the elements will be stacked on top of each other, so move them to desired locations. Load the netlist file foo.net and proceed with using PCB. 5) Modify foo.sch and again run "gsch2pcb foo.sch". * If components were added, PCB elements for them will be placed in the file foo.new.pcb. If components were deleted, the elements for them will be removed from foo.pcb and the original foo.pcb will be renamed to a foo.pcb.bak sequence. * If elements can't be found for new schematic footprints, then the unfound elements will be indicated with PKG_ lines in foo.new.pcb unless you run "gsch2pcb --remove-unfound foo.sch" which will omit the PKG_ lines so you can go ahead and load foo.new.pcb into PCB. * Note that If you have added elements to the .pcb layout which will not exist on the schematics (mounting holes, etc), make sure there is no "name on PCB" (the gschem refdes) for them or else gsch2pcb will delete them when they don't match a schematic refdes and footprint. You could use the --preserve option to prevent deleting any elements at all, but this is really not the best way to use gsch2pcb. 6) Run "pcb foo.pcb" and clean up any dangling traces left over from removed elements. Load any new elements in foo.new.pcb with the "Load layout data to paste-buffer" function. Load the new netlist foo.net. Caveats ------- * gsch2pcb uses a gnetlist backend gnet-gsch2pcb.scm, so be sure when you install gsch2pcb that the gnet-gsch2pcb.scm file gets installed into the right place. Look at the INSTALL file in the tarball. * WARNING: if you wish to start processing with gsch2pcb any existing PCB files that have m4 elements and were originally generated with gschem2pcb, then be sure to run first with at least gsch2pcb 0.4: gsch2pcb --fix-elements on the PCB file schematics or else gsch2pcb will want to delete the m4 elements. * footprint information is saved into PCB element's Description fields, so it's probably not a good idea to change element Description values in your layout while using gsch2pcb unless it is a protected element that has an empty layout-name. Bill Wilson billw@wt.net geda-gaf-1.8.2/utils/docs/olib.10000664000175000017500000000503312220655706013205 00000000000000.TH olib 1 "September 25th, 2013" "gEDA Project" 1.8.2.20130925 .SH NAME .B olib \- OrCAD(tm) library part to gEDA .sym converter .SH SYNOPSIS .B olib .I filename prefix .SH DESCRIPTION .B olib is a simple automated converter from OrCAD v4 (in SDT version 1.10) ASCII parts library to gEDA component definition in .sym format file. It allow an initial dumb conversion file to file, with one lib converted in multiple .sym file, one per component in library. The converted component file may need a little editing to become usable, but in some case needs no editing at all. .B olib will write one file per part in the current directory. .PP .B olib will: .IP \(bu Convert box-shaped components in OrCAD lib to .sym file in gEDA format; .IP \(bu Place pin, pin name, pin type, pin number; .IP \(bu Place logic bubble when needed (DOT attribute in OrCAD (TM), for logic negation); .IP \(bu Place clock arrow when needed (CLK attribute); .IP \(bu Place reference, from REFERENCE statement in OrCAD; .IP \(bu Place part name as label and device name as attribute; .IP \(bu Parse and draw non-box component, with LINE, ARC, CIRCLE and TEXT; .IP \(bu Add power pin as invisible net=name:pin attribute when detected (in OrCAD, invisible pin has typically T0 and B0 coords); .IP \(bu Through a command line switch, hides pin name in VECTOR drawn symbols, for a better appearance; .IP \(bu Write both new (post-20020825) and old (20020209) file format for .sym files through a switch on the command line; .PP .SH OPTIONS .TP filename The OrCAD library to convert. This should have been previously converted to ASCII format using the OrCAD 'decomp' utility. .TP prefix The prefix used to generate the filenames of the output gEDA symbols e.g. prefix-partname-1.sym .SH LIMITATIONS .B olib has the following limitations: .IP \(bu .B olib will not parse and store alternate component drawing (statement CONVERT in OrCAD); .IP \(bu .B olib will not handle drawing part using VECTOR list from another part (statement VECTOR 'partname' in OrCAD); .IP \(bu .B olib will not handle FILL statement in VECTOR statement (no equivalent in gEDA); .IP \(bu .B olib will not handle multiple part in one package (slots in gEDA). .SH AUTHOR Mario Pascucci .SH SEE ALSO .BR gschem (1) .SH COPYRIGHT .nf Copyright \(co 1999-2011 gEDA Contributors. License GPLv2+: GNU GPL version 2 or later. Please see the `COPYING' file included with this program for full details. .PP This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. geda-gaf-1.8.2/utils/docs/gschlas.html0000664000175000017500000000752312220655762014520 00000000000000 gschlas

    gschlas

    NAME
    SYNOPSIS
    DESCRIPTION
    OPTIONS
    AUTHOR
    SEE ALSO
    COPYRIGHT

    NAME

    gschlas − gEDA schematic load and save

    SYNOPSIS

    gschlas [ −e | −u ] [ −q | −v ] file [ file ... ]

    gschlas -h

    DESCRIPTION

    gschlas can embed the in-use schematic symbols and pictures into a schematic or set of schematics. It allow, for instance, putting a schematic on a website or in an email without the recipient needing to download lots of custom symbols for the design.

    gschlas can also unembed symbol references from a schematic, but note that the symbols revert to library references; if the symbol doesn’t exist in the current gEDA project’s library path, a broken schematic results.

    OPTIONS

    −e

    Embed all components/pictures.

    −u

    Unembed all components/pictures.

    −q

    Quiet mode.

    −v

    Verbose mode.

    −h

    Print usage information.

    AUTHOR

    Ales Hvezda

    SEE ALSO

    gschem(1)

    COPYRIGHT

    Copyright © 1999-2011 gEDA Contributors. License GPLv2+: GNU GPL
    version 2 or later. Please see the ‘COPYING’ file included with this
    program for full details.

    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.


    geda-gaf-1.8.2/utils/docs/utils-main.txt0000664000175000017500000000036712050461155015020 00000000000000/*! \mainpage utils - The GPL Electronic Design Automation utilities. \image html logo.png \section geda-intro gEDA Introduction \htmlinclude what-is-geda.html \section utils-intro Utilities Introduction \htmlinclude what-is-utils.html */ geda-gaf-1.8.2/utils/docs/sarlacc_schem.html0000664000175000017500000000602612220655762015660 00000000000000 sarlacc_schem

    sarlacc_schem

    NAME
    SYNOPSIS
    DESCRIPTION
    OPTIONS
    AUTHOR
    SEE ALSO
    COPYRIGHT

    NAME

    sarlacc_schem − convert OrCAD SDT IV files to gEDA format.

    SYNOPSIS

    sarlacc_schem [ options ] infile > outfile

    DESCRIPTION

    sarlacc_schem converts OrCAD schematic files (in 16-bit format) to gEDA format.

    OPTIONS

    −s<n>

    Scale by n%. The default is 200%.

    −h

    Print the help message.

    −v

    Print the version.

    AUTHOR

    Matthew Ettus <matt@ettus.com>

    SEE ALSO

    gschem(1), sarlacc_sym(1)

    COPYRIGHT

    Copyright © 1999-2011 gEDA Contributors. License GPLv2+: GNU GPL
    version 2 or later. Please see the ‘COPYING’ file included with this
    program for full details.

    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.


    geda-gaf-1.8.2/utils/docs/README.tragesym0000664000175000017500000000230512204177071014703 00000000000000tragesym is a small python script that creates gschem symbols out of structured textfiles. tragesym can: * create pins and arrange their elements (clocksign, dot, type, pinnumber, label) * sort pins alphabetical and numerical * swap words of pinlabels if wished * draw negation lines on the labels (since version 0.0.9, gschem will do that) * rotate pinlabels if wished * do some syntax check to the input file For creating a symbol you have to create a sourcefile first. You can use the template.src file, which is in /examples/tragesym/ directory. Some examples are in the examples/tragesym directory too. For possible footprint names take a look into the ~geda directory of the PCB program. usage is: tragesym After you have translated the sourcefile to the symbolfile you have to rearrange some pins with gschem, translate the symbol to the origin and save it in an appropriate symbol directory. Make the attributes visible while doing that (edit->show hidden text) and hide the text again before saving. tragesym requires python (versions greater 1.5 should work). Comment an questions are welcome. Send it to Werner Hoch (werner.ho@gmx.de) geda-gaf-1.8.2/utils/docs/sarlacc_sym.10000664000175000017500000000154712220655706014566 00000000000000.TH sarlacc_sym 1 "September 25th, 2013" "gEDA Project" 1.8.2.20130925 .SH NAME sarlacc_sym \- convert OrCAD text libraries to gEDA components .SH SYNOPSIS .B sarlacc_sym [ .I options .B ] .I library_file .SH DESCRIPTION .B sarlacc_sym converts OrCAD text format libraries into gEDA components for use in the .BR gschem (1) program. .SH OPTIONS .TP \-s Scale by n%. The default is 200%. .TP \-h Print out the usage information. .TP \-v Print out the version. .SH AUTHOR Matthew Ettus .SH SEE ALSO .BR gschem (1), .BR sarlacc_schem (1) .SH COPYRIGHT .nf Copyright \(co 1999-2011 gEDA Contributors. License GPLv2+: GNU GPL version 2 or later. Please see the `COPYING' file included with this program for full details. .PP This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. geda-gaf-1.8.2/utils/docs/grenum.10000664000175000017500000000174512220655706013563 00000000000000.TH grenum 1 "September 25th, 2013" "gEDA Project" 1.8.2.20130925 .SH NAME .B grenum \- An advanced refdes renumber utility .SH SYNOPSIS .B grenum [\-v\||\|\-\-version \-h\||\|\-\-help \-p\||\|\-\-pagejump] .I infile1.sch infile2.sch \|.\|.\|. .SH DESCRIPTION The .B grenum program will renumber the refdes definitions read from .I infile\|. .SH OPTIONS .TP \-p, \-\-pagejump This will switch on the page jump mode. It means that refdes's from each .I inputfile gets renumbered from 100,200... etc. .TP \-v, \-\-version prints version information .TP \-h, \-\-help prints help message .SH RETURN VALUE .B grenum will return .B 0 if all files processed successfully, .B 1 if there was no input file specified, .B 2 if I/O files can't be opened/written, .B 3 if there is parse error in input file, .B 4 if there is not enough memory to store refdes prefixes. .SH BUGS If you find one, please report it to: .SH AUTHOR Levente Kovacs Levente.Kovacs@interware.hu .SH SEE ALSO .B gschem(1) geda-gaf-1.8.2/utils/docs/garchive.10000664000175000017500000000345312220655706014054 00000000000000.TH garchive 1 "September 25th, 2013" "gEDA Project" 1.8.2.20130925 .SH NAME garchive \- create and extract gEDA design archives .SH SYNOPSIS .B garchive [ .I options .B ] [-o .I output_file .B ] .I file .B ... .SH DESCRIPTION .B garchive creates and extracts gEDA designs from an archive. The two modes of operation are "archive mode" (archive creation) and "extract mode". In archive mode it creates a project archive from a bunch of project files, and in extract mode it extracts the files from the archive and places them in the local dir. .PP Archive mode is the default. .SH OPTIONS .TP \-f filename Optional. Used in archive mode. Read files to archive from instead of garchiverc. .TP \-v Verbose mode. .TP \-e Extract the archive specified on the command line. .TP \-a Create an archive. This is the default. .TP \-o outfile Optional. Used in archive mode. Specifies the name of the output archive file. The output file extension should be ".tar.gz". If this flag is not specified, the output file name is "ProjectArchive.tar.gz". .SH EXAMPLES To create an archive named MyArchive.tar.gz (the files to store listed in garchiverc): .IP garchive \-o MyArchive.tar.gz .PP Verbosely create an archive (archives files listed on cmd line as well as those listed in garchiverc): .IP garchive \-v \-o MyArchive.tar.gz README Schematic1.sch Schematic2.sch Schematic3.sch .PP Extract an archive: .IP garchive \-e ProjectArchive.tar.gz .SH AUTHOR Stuart Brorson .SH SEE ALSO .BR gschem (1) .SH COPYRIGHT .nf Copyright \(co 1999-2011 gEDA Contributors. License GPLv2+: GNU GPL version 2 or later. Please see the `COPYING' file included with this program for full details. .PP This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. geda-gaf-1.8.2/utils/docs/logo.png0000664000175000017500000003677612050461155013660 00000000000000PNG  IHDRmSbKGD pHYs  ~tIME&.h IDATx}^}翏{0Iɮ&uu"u$]V.Q!G *h=Ζ.YnDnbZb#uoikL263f9ϝzsGz=9};;/                                            @]I4B+Ai폍*\"Ro &uj%=UbyRN";q꺨]E ! ߕ=D$+ vl\~U]Ie*^m[{i,]ӧm _C:{8eB, n"ǣb#(j/,j-<\L/>qU#/W䗷`(:m qm)?J(J RiuףMqxQHě+%2bx%ELP:₇T,R KOɳZ6;OSUʮ"H@M6]1{0)lIҖh' .0D!ۮ!?0NqD{'u`y;tqlyKxP4e\SVad mIsl|[*ZWG !-1"(lŅqUpʒ&.?[gWU>11"`m!?̒bQw1X,,ܛ| UЪJΥ*dqM/ƱmĀ8H#rL&u UY%m w+Ҷw٧VlĄ)/]\86%;UCp [|}^خ} ob}DEk 4 =|״pq$^Yc?&2EFڷ<׸.oyykUTyiY:"vlҊt^S孫]jEM~|*0Z.}( :\-.-0i7#Ir PWd(OV]3MzO/i˥6itWɵ&kst$MCڴ6WUFmG7{Y<Q{7mK*&L,rʡK/B-z/ U,^z7JB.2pX&.Xz?XN=@$BTQɚTdUqtmߒe lʣ6l)KkkƮ|x8YmL.oyٴW5lVB.m=&I۶oԔVo*N؄٦-ɮDH .,ÇfKC.E՜-! d%Ƚ`L\\&0ZK? "CU"eCէ!Y&Wa!o*7$LidqlbŎ 4ik~xeETyTp67]zW1/T2.ENʓL+jH  B8^́ `<x܆ۏ{)0Q |b0E.p"c):bpa+P$MVV\񦤉kڶ]%08YB"Of&]Q"UL5 M]QKk.ot:qg&EP%=_W O6̡dWm& U`ᦼ'`,/o8D>mݛc\7y'l*Pͬ^ 6My1)>|\ Qimil)FزaۦOb# LLL4Uv|Bm^pGEl,DGxϥh{2se{!uÛ`SɻVipQžk%^!T\ Y "DnSV[n;r5_]2qtv| 3kqc.0zZv^ ~~2`p(2+[E0bG.p64Eڋo`Y"$|u' Hؤd /c:Vs9E U`p/F ތ~a[Cæ#PőųaKcFd,L9y<"i!}yrxG0[cc?0 'U<ы;y?֏v |1LpobfL* "2Laqmy+N,H며GRfYu+.>eEIPS7GD"!LVgM!4,:߮^t$UKk",l|'A|*΢7Ǧ&!+Lēɋd+`d۪vhي [O*n/JlsSɺhE9$D!OV! qIz/DaWsm|St| M8$b*^"Ia/i~sm~=LbƔN7U}]LA UQ9B:Ʒe"V\Ui=><}q>"rB 4xY ݛ}7 ;0'CW'M! ɰd|Hg*]*"TB+{h!)[pr_\]Mc'KP{%Tu(I̞l?uUWx0*\]OzI^e 񿦥JhCUN%7G|Ӈk"AH? 匹y"))/k3rR1XILM$*DwCX"+r ?K~%Eǐe폑D¦XhYdd39ۢ&tk]5vCC)Q_/C8Ni4qOB!LzB; 0ҐA&ʥh-5tg޶W?h!Q~l#1CDŽA^ =xBCgqU^7wXWVa(02o 8=O)/NG ~@#YEι*{6&0\~BưGSǙD<$p,fM6M,{f ^-`j smy躛*5[;UNy4dz*Ƕ0B j` e|hźdȥA,o3-#ؾdV`LO ݋lFkЮg"@Ϳqoz,Z_ON'OǎPW6,N2hdKo]ɛoƶ)Ϧ庍d/[<8Nk'Zεζ6[Q90Xܲa#0Ljr%kFػؽ8z8s3_ Yi_;v/2a00.: 0H\Y;W'O8mߞOC_dϲi7tl1쩧ԙLL\ux6bB*0f]g@l[G\ !0>,;|$r$p>PD=ƍl)`t8sfX 0j5|)лop luZ&F'g;w^B#V`@^ҩ)`hH5-Z`7AEb`|-.&'^/.曙wVy)[eey 訷4Vұ Jgpؾx-`l EqY\޲,zdK~{UM`؜X1+Wbكl. m {o;{>,IQ9ۺRQ `xx/ _(^lݚ 9bLL`vb >;l?^g k_Ao7c`K7mjn'}N[PJ=$>LUrVLnX #[̓M'2RcWS=42߱Wu)+Q*֤aiSI֭IᇍyiSú >&''|Ka1{0r\V2>j) p .LMIG$n]{iB=AGk[O>:x׀;tBo˝wop$D,0ڹRFG#%oFnE}GHL! Vٳh<\Æ7agaCC߰aaxN,ﳙiڋX鬣媫om* dt?ݻa'OzqV&$_ C ^xl % LNK/ɍ:{z-Ki ?9~f}e _;FbnK~cNO>DxKXD孌߮dl m*QyY<7}}$Y_.tu‰E`JԡClN#G| 9wݥaO(2= d`&rw*"zq^{} m^S|'fӖMg#G 19q>}cc9siԨ&zE`vu^2Y֭H?Y,Oeq1 q_drraU3I?D 08Etĉ8$[`ӤANnлGjI۶l{w] ey{FsV3{R $ /|P$0 G|}l܁M[EZ0< 8UdǏc\_-gfХ$edHB űs'03ƀMԔFddK<~ۡ9RV^ymZhYŦO#G^ }7ر/TsjS^ªDXy>[MMةin`jhfor%O&#ǃ_20UI6eg? |-SbB =B|r)ߛo׬IoS5I{/ߧK#i t͂m5?8n@֡?`m )=65β${2f©w3&=ׇ>ǁOBhMPy1"0r;>੧7ѿy37l@M۶ }ŪU#i_=ElG,J.wyMDu###K{|책$'N x#2ra"Юt܋u 09]CC=M_ϨJ=BLlȪMM}o =ܵGl8ϡCCøI`T#8z*h̛|kٰ陧;L @LeVРm LO{vd uƙa{k!Ψ*i4˱~_޲ wc`,P28(8|PnF:MNb@o2\ebp}7. >+:: ^sy ۪ۓ &?qZUeӆwM6x{9ґ-X)WS`B7I"*vf*N"36&^z 7px3I`m>hy7[ە*0ʢbp\P^Ps_~ b_7!iQU* 4|x(ijưiᴚIɼ7>Ѓ_U'>>(zYh"$,$>So?>]b@6!ցlHȖ(afA>s[3P `F5 6]*ȃA˲ _`^WˀXR>m^rJ}jhjkdV`W* FEqUH9`}3np#,T^-˿nϓwIǍQ>8(qF$i4pn~,5_*.k4=}6P* T({1 .@HSB? 8=kFtZ2SϷUQYHXKdBpf}nM~0=mt]cؘ|߳ϲQ@YwDne4n+\F` e]5H fۨdSjǪU~恐ͱAC\}ц"pf~`z{lšn #Yd nɓ 7[_/Åz]=ͨY0^|ΆjȁEf9uعy i Q>]wu=3}ʒ˒ǎ?h&>ܕQ("?|j[y&KkqMА_Yt3A/ ]q#ח7gK0WBO=`vMӸOOl2T ziI04H`t't#q wr&<`S:^/ot@%'@]ul&&쾨sj~G8Ghb:J≡D<v- ٻW#L(;oQ9Էm~˾ Rup0<T3IWRAqcZĄdk_s74oe/CQ?vLS򗁓'[$j//]*Q $0LBcC OMʕY=܃=> <>$vl4~G8V5МTA`gIDATLkD<`Mo|zسǮddx5>i6Z;ӿo4X$YzT?w< 8{_}FFXu|I{<|tf2 x_R X=9ӪU3=lu׵ӝ:S l\aPyN{5 :PVei~RkWjo ><?1  WJdcrV!DjH3j8iG~cFkGӗ;jQA(k.@~<|-[ 6z|)Ȼg<\..FGxdDoe2=FGݛIg[׭(ܹͰYٳD 'ܘfsuOh=..G'NBrڢN|:z$a]WTcg]w҈jԹ9z!;.tޚ6q?oap7+_}Gds6/|K'ر?[>O&&n/u4cǟx!:'O^cn@@6e]pǏv8ZG?~eIRw|뿋+8g;?;5+ `[;¨q' 50X,p9X?`aW]`)ŭeQN m/M+n#fYJ8XM.Hq iGІYةSa6:i3 zƇ]lH)LZw)$Gݶ$idzvQX\h-Y< Xee/C#c9TMTj#BGeXYyN^&n\:?H`t'$B#ӫXR.0T" ;lU n?_,9o*ȱ67o&"* "l.@r';w*lナaTzW|nJeLX%)w[.c7 lظX~ax9Z2cH7 "& VY '"m֭s72v*>;;w. ׁ?C:lʆ:wI#-EGFHyTƝ O? ~)f!ٰ̓b^GaqiM1zPPNITmF5h `r̖-iZD#=u}k6tFQWy} |NFy0\٨[Rw"'Xg'$ճҷ'vJyB:!;}})Vua؆ʍq$pcNi_%q9<ҔUr,Rj3ڍ}e>K{e8fgGe_|a=ff(Ykc^Z>Ɠspٽ`M:edLV*MeΜ kְ+VΟ{폞;V~1cecxmEUq9Y&2"bU[3y0^.,p,~zp%*w"]s,0:яܷM񋿸O.Z +xKR>9?J. ]Sx&r %V|Soֲt!4O_{~rbTpYtmHT(?pB(X 땆 dߴ Mk6kEf?P"g}a> AW!Ii-UJ o nI:SVv1m4 6!n$mjuxxNaPKN&\/߃bF?': @q"|r%d;T@YTbL aeC.+]̈hG~f<2j*?S>W.H; h\6ŷ[ BB̻1 I`ЌD8jV~l;e =Kisiuh*W%N>#,};  KGK_Yo*b*<Uapk9_+ 6edkyEHuiv=f{ PlzIY\[K֯7}==_\ SS]Gbi&fy*Qvn̫ :9w Dmߞ- "׻ٝɓhKwwhgr%!H2PWycFsq[X:QysvrҕrSTF$"+2A֙7#Ob2]L>2\Nc;v>Z s5=ĚI``x9`&71:Qb t0G0Mgi4071;1f w/ YʕZQ[O=L^AO2~$Xf"|4BQ/:&iWLBUO2bہC[Q`R{;t3A of\ώ$4ZT]`ȣShnMo7qq08hn*Y=l}b8~t銛(*y/ʤEn9^Y`t݉>qs~i3W$kְ>IHF,hU3ٴ,l&3ѽ(y$o|z4dTV#m/a06:/ I6oA*/j~AQoDƏd_/iyu$b={qx3_Q*|#͛*z/R}L4}"6r-NK?>asZ<ʕ_kgG,3L`=x]WyP*{-&0ɛիo,(m)9ei&&}08$u6bdݺ;x.ؿ57p=0sɹ"2~pWFvzi e8biaqjuUKln[61 ,{y¦.PkI',YQǀ5k/} s2q0b[^pD!$%ry#.bm ˖jz<+,phm =-{"㲮 2ػgVBB)/17Yyf.c#vڸ}ME .p.w3A+Melb`}*+VS}ݹGyN+|u# ]`0MڼQzWtHe!y5m$~i %(]`(M Hb VU/Dy3|C}uo{BI`t{eWZC+ǘ/Y^$ç׵^*bᢰ.su$@.ld尉/ MjG.MZ}Zy3e?l)߅m %ϦffrvEGK=1y0Dt E*" :h> t.ĸLbICE-V$!пMIދ ~(ExHl%&b$m$GT$eKRb/M~Em"&5JPUh> ]Ӆm\YSH@HB;c܈qtl=@):̛h1[HM#(0J]7H7",TeBV_],M't8T$D b+g0]GAFy)d7֓ge+O:tbۦ,(R<.i} ^ W/C>gWOEU2n~ź-(0B:O\k} OoZi/ aC?K\EpocLjSNV{2zUؔ6</ok|aSl6.ie`J vQ/~CieK@xC|ē:/,s>zm!q]CY`ĀJd&۶vUaqM4>mV*EV^!_Ϸ~i]+q> B2W&t\*~S|`MD "CaS,i$4!$F'hLXE[H\iTdڧ]g&,j5ti Hm"m*uS&@U&.@0I6O$= _Ѷdzkk^ Q`DOCvDLkmqEhWIO#W#7"rTtv*Fv]⤉D _"<EM&K.vmIlT|u6bcmA\hrx̣Q'w~C[8` `g 訣 ,IzFllƶzҦms;KWB.KnڟW,lc˶▥6═ųT)p@bf2LVFY&:_Eq"{6x34TЄ,0\\ryh0Ӷ)k~`aNrVx\=6ݾ4"F2nώ+imȗDK]ċɾMeg]do|Mm|__t^]"V$4'/3n-n2G$P8WuIbZK5$)0X'uUn#d3ٓK1Yf?Og[Fۊڥܪ0RgB4"Fdm6U&i¦l.Eio"+&c>{L\SUry7髼6o.^UE7JFʠK#cS 4Aw-d 1W+bzkMi#w"j &c]қ<(*a6$=&O|؟ Y-.6x c TU_tN_FX VqJT\⾴[U68Mxi6ΎȰ)Ud3a6 Ym˭g dcuSd~ԯ 鑐 Nl؊F'DB σ1+M$FIE.@xDB# lue\j4y ՕŦ [Q"$\weBEimI#~\ⱉR/*,_˞UDMeBT(5(Nㅰˆ2nD\qʈ Qdlڳ ۵ _^M#SVUBd9M%`+΀jooְ t4|peoa) .SH SEE ALSO .BR grenum (1) .SH COPYRIGHT .nf Copyright \(co 1999-2011 gEDA Contributors. License GPLv2+: GNU GPL version 2 or later. Please see the `COPYING' file included with this program for full details. .PP This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. geda-gaf-1.8.2/utils/docs/tragesym.html0000664000175000017500000000750612220655762014730 00000000000000 tragesym

    tragesym

    NAME
    SYNOPSIS
    DESCRIPTION
    TUTORIAL
    AUTHOR
    SEE ALSO
    COPYRIGHT

    NAME

    tragesym − create gEDA symbols from structured textfiles

    SYNOPSIS

    tragesym sourcefile symbolfile

    DESCRIPTION

    tragesym creates gschem symbols from structured textfiles.

    tragesym can:

    create pins and arrange their elements (clocksign, dot, type, pinnumber, label);

    sort pins alphabetical and numerical;

    swap words of pinlabels if wished;

    draw negation lines on the labels (since version 0.0.9, gschem will do that);

    rotate pinlabels if wished;

    do some syntax check to the input file.

    tragesym requires python.

    TUTORIAL

    There is a tutorial on the use of tragesym at:

    http://wiki.geda-project.org/geda:tragesym_tutorial

    AUTHOR

    Werner Hoch <werner.ho@gmx.de>

    SEE ALSO

    gschem(1), pcb(1)

    COPYRIGHT

    Copyright © 1999-2011 gEDA Contributors. License GPLv2+: GNU GPL
    version 2 or later. Please see the ‘COPYING’ file included with this
    program for full details.

    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.


    geda-gaf-1.8.2/utils/docs/grenum.html0000664000175000017500000000563212220655761014367 00000000000000 grenum

    grenum

    NAME
    SYNOPSIS
    DESCRIPTION
    OPTIONS
    RETURN VALUE
    BUGS
    AUTHOR
    SEE ALSO

    NAME

    grenum − An advanced refdes renumber utility

    SYNOPSIS

    grenum [−v|−−version −h|−−help −p|−−pagejump] infile1.sch infile2.sch ...

    DESCRIPTION

    The grenum program will renumber the refdes definitions read from infile.

    OPTIONS

    −p, −−pagejump

    This will switch on the page jump mode. It means that refdes’s from each inputfile gets renumbered from 100,200... etc.

    −v, −−version

    prints version information

    −h, −−help

    prints help message

    RETURN VALUE

    grenum will return 0 if all files processed successfully, 1 if there was no input file specified, 2 if I/O files can’t be opened/written, 3 if there is parse error in input file, 4 if there is not enough memory to store refdes prefixes.

    BUGS

    If you find one, please report it to:

    AUTHOR

    Levente Kovacs

    Levente.Kovacs@interware.hu

    SEE ALSO

    gschem(1)


    geda-gaf-1.8.2/utils/docs/README.olib0000664000175000017500000001100612050461155013771 00000000000000############################################################### README and release notes for olib2geda - 1 settembre 2002 OrCAD (TM) lib ASCII dump to gEDA .sym converter ############################################################### What it olib2geda? It's a simple automated converter from OrCAD v4 (in SDT version 1.10) parts library (in ASCII dump format, through "decomp" utility) to gEDA component definition in .sym format file. It allow an initial dumb conversion file to file, with one lib converted in multiple .sym file, one per component in library. The converted component file needs little editing to become usable, but in some case needs no editing at all. What olib do. * Convert box shaped component in OrCAD (TM) lib in .sym file in gEDA format * Place pin, pin name, pin type, pin number * Place logic bubble when needed (DOT attribute in OrCAD (TM), for logic nega- tion) * Place clock arrow when needed (CLK attribute) * Place reference, from REFERENCE statement in OrCAD (TM) * Place Part name as label and device name as attribute * Parse and draw non-box component, with LINE, ARC, CIRCLE and TEXT * Add power pin as invisible net=name:pin attribute when detected (in OrCAD (TM) invisible pin has tipically T0 and B0 coords) * Through command line switch, hides pin name in VECTOR drawed symbols, allowing better appearance * Write both new (20020825) and old (20020209) file format for .sym files through a switch on the command line What olib do not. * Do not parse and store alternate component drawing (statement CONVERT in OrCAD (TM)) * Do not handle drawing part using VECTOR list from another part (statement VECTOR 'partname' in OrCAD (TM)) * Do not handle FILL statement in VECTOR statement (incompatible with gEDA, but for what i know is used only for "better" part drawing) * Do not handle multiple part in one package (slots in gEDA) Bugs. More and more. But for the use that I do bugs aren't so critical. If you find a bug or want improvements to the program, feel free to contact me at the e-mail address at the end of this text. How to obtain last version. Open the URL: http://digilander.libero.it/tailchaser in section "Linux" you can see the main page of olib. Compile and install. [[ Ales here, I have incorperated olib into the ./configure build mechanism, so these instructions only apply if you build from Mario's distribution ]] To compile program go in directory 'src' of the unpacked tarball, and type 'make'. This produces the binary executable, named 'olib'. Compilation process uses the flex scanner generator to generate the file 'olib.c' from the 'olib.lex', and link the library math to the code. The binary included in the distribution is compiled on a P266-MMX with RedHat 7.2, with gcc version 2.96 and flex 2.5.4, but the program don't require any special feature or critical function, as far as I know. At the end of compilation phase, you can see two warnings: * warning, -s option given but default rule can be matched * warning: `yyunput' defined but not used this is normal, don't affect program functionality, and you can safely ignore it. Installation is not needed for normal operations, but if you want you can copy only the executable (olib) on a directory in the PATH. Use of olib. To convert library, first convert it to ASCII dump with 'decomp' utility included in the OrCAD (TM) distribution. After that invoke the lib converter: olib path/to/file/file_ascii prefix where 'prefix' is used to generate file name of every symbol, like: prefix-partname-1.sym During the process, you can see a lot of ugly text scrolling in the terminal, that show the progress of the conversion. If you want to read this text, you can redirect the stderr output to a file: olib path/to/file/file_ascii prefix 2> logfile.txt where '2>' instruct the shell to redirect stderr output to logfile.txt. The converter write one file per part, in the current directory. At the end of the execution you can see a lot of file in the directory, extracted from OrCAD library. In the (not so improbable) case of incomplete conversion of a part (i.e. because of unsupported VECTOR 'partname' statement), the file of the incomplete part will be named 'prefix-partname-1.sym.part', stand for partial conversion. If the conversion process stops with the message: "flex scanner jammed", the converter has encountered an unknown statement, an incompatible version of library, or a bug. If you can, please report the complete log and the library dump, to allow corrections or improvements. Mario Pascucci geda-gaf-1.8.2/utils/docs/sw2asc.10000664000175000017500000000304312220655706013461 00000000000000.TH sw2asc 1 "September 25th, 2013" "gEDA Project" 1.8.2.20130925 .SH NAME .B sw2asc \- converts a SWITCAP2 output file into ASCII data files that other tools can read .SH SYNOPSIS .B sw2asc \-c\||\-\-copyright .B sw2asc \-h\||\-\-help .B sw2asc \-V\||\-\-version .B sw2asc .I switcap.out .SH DESCRIPTION The .I sw2asc program reads the switcap.out output file produced by SWITCAP2 and produces a set of ASCII datafiles which can be more easily loaded into various waveform plotting programs. Data generated by SWITCAP2 "PRINT" statements is; extracted and written to an output file in an ASCII format which can be directly loaded by the .I gwave waveform viewer or more easily loaded into a tool such as .I scilab , .I octave , .I grace, , or .I matlab . If multiple analyses are in the SWITCAP2 output file, then they are written to individual files. The output file names are derived from the input file name by appending ".{SSS,TRAN}.#.asc"" to the name of the input file. SSS is used for Sinusoidal Steady State analysis output and TRAN is used for. TRANsient analysis output. # corresponds to the analysis number (ie if you have 3 SSS analyses in your file, you will end up with .SSS.1.asc, .SSS.2.asc, and .SSS.3.asc. .SH OPTIONS .TP \-c, \-\-copyright prints copyright information and exits .TP \-h, \-\-help prints help message and exits .TP \-V, \-\-version prints version information and exits .SH EXIT STATUS .I sw2asc will return 0 on success and non-zero if the command did not complete successfully. .SH SEE ALSO SWITCAP2 users manual geda-gaf-1.8.2/utils/docs/gsch2pcb.html0000664000175000017500000002272612220655761014570 00000000000000 gsch2pcb

    gsch2pcb

    NAME
    SYNOPSIS
    DESCRIPTION
    OPTIONS
    PROJECT FILES
    ENVIRONMENT
    AUTHORS
    COPYRIGHT
    SEE ALSO

    NAME

    gsch2pcb - Update PCB layouts from gEDA/gaf schematics

    SYNOPSIS

    gsch2pcb [OPTION ...] {PROJECT | FILE ...}

    DESCRIPTION

    gsch2pcb is a frontend to gnetlist(1) which aids in creating and updating pcb(1) printed circuit board layouts based on a set of electronic schematics created with gschem(1).

    Instead of specifying all options and input gEDA schematic FILEs on the command line, gsch2pcb can use a PROJECT file instead.

    gsch2pcb first runs gnetlist(1) with the ‘PCB’ backend to create a ‘<name>.net’ file containing a pcb(1) formatted netlist for the design.

    The second step is to run gnetlist(1) again with the ‘gsch2pcb’ backend to find any M4(1) elements required by the schematics. Any missing elements are found by searching a set of file element directories. If no ‘<name>.pcb’ file exists for the design yet, it is created with the required elements; otherwise, any new elements are output to a ‘<name>.new.pcb’ file.

    If a ‘<name>.pcb’ file exists, it is searched for elements with a non-empty element name with no matching schematic symbol. These elements are removed from the ‘<name>.pcb’ file, with a backup in a ‘<name>.pcb.bak’ file.

    Finally, gnetlist(1) is run a third time with the ‘pcbpins’ backend to create a ‘<name>.cmd’ file. This can be loaded into pcb(1) to rename all pin names in the PCB layout to match the schematic.

    OPTIONS

    -o, --output-name=BASENAME

    Use output filenames ‘BASENAME.net’, ‘BASENAME.pcb’, and ‘BASENAME.new.pcb’. By default, the basename of the first schematic file in the list of input files is used.

    -d, --elements-dir=DIRECTORY

    Add DIRECTORY to the list of directories to search for PCB file elements. By default, the following directories are searched if they exist: ‘./packages’, ‘/usr/local/share/pcb/newlib’, ‘/usr/share/pcb/newlib’, ‘/usr/local/lib/pcb_lib’, ‘/usr/lib/pcb_lib’, ‘/usr/local/pcb_lib’.

    -f, --use-files

    Force use of file elements in preference to elements generated with M4(1).

    -s, --skip-m4

    Disable element generation using M4(1) entirely.

    --m4-file FILE

    Use the M4(1) file FILE in addition to the default M4 files ‘./pcb.inc’ and ‘~/.pcb/pcb.inc’.

    --m4-pcbdir DIRECTORY

    Set DIRECTORY as the directory where gsch2pcb should look for M4(1) files installed by pcb(1).

    -r, --remove-unfound

    Don’t include references to unfound elements in the generated ‘.pcb’ files. Use if you want pcb(1) to be able to load the (incomplete) ‘.pcb’ file. This is enabled by default.

    -k, --keep-unfound

    Keep include references to unfound elements in the generated ‘.pcb’ files. Use if you want to hand edit or otherwise preprocess the generated ‘.pcb’ file before running pcb(1).

    -p, --preserve

    Preserve elements in PCB files which are not found in the schematics. Since elements with an empty element name (schematic "refdes") are never deleted, this option is rarely useful.

    --gnetlist BACKEND

    In addition to the default backends, run gnetlist(1) with ‘−g BACKEND’, with output to ‘<name>.BACKEND’.

    --gnetlist-arg ARG

    Pass ARG as an additional argument to gnetlist(1).

    --empty-footprint NAME

    If NAME is not ‘none’, gsch2pcb will not add elements for components with that name to the PCB file. Note that if the omitted components have net connections, they will still appear in the netlist and pcb(1) will warn that they are missing.

    --fix-elements

    If a schematic component’s ‘footprint’ attribute is not equal to the ‘Description’ of the corresponding PCB element, update the ‘Description’ instead of replacing the element.

    -q, --quiet

    Don’t output information on steps to take after running gsch2pcb.

    -v, --verbose

    Output extra debugging information. This option can be specified twice (‘−v −v’) to obtain additional debugging for file elements.

    -h, --help

    Print a help message.

    -V, --version

    Print gsch2pcb version information.

    PROJECT FILES

    A gsch2pcb project file is a file (not ending in ‘.sch’) containing a list of schematics to process and some options. Any long-form command line option can appear in the project file with the leading ‘−−’ removed, with the exception of ‘−−gnetlist-arg’, ‘−−fix-elements’, ‘−−verbose’, and ‘−−version’. Schematics should be listed on a line beginning with ‘schematics’.

    An example project file might look like:

    schematics partA.sch partB.sch

    output-name design

    ENVIRONMENT

    GNETLIST

    specifies the gnetlist(1) program to run. The default is ‘gnetlist’.

    AUTHORS

    See the ‘AUTHORS’ file included with this program.

    COPYRIGHT

    Copyright © 1999-2011 gEDA Contributors. License GPLv2+: GNU GPL
    version 2 or later. Please see the ‘COPYING’ file included with this
    program for full details.

    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.

    SEE ALSO

    gschem(1), gnetlist(1), pcb(1)


    geda-gaf-1.8.2/utils/docs/smash_megafile.10000664000175000017500000000127312220655706015226 00000000000000.TH smash_megafile 1 "September 25th, 2013" "gEDA Project" 1.8.2.20130925 .SH NAME smash_megafile \- break a Viewlogic megafile into a million little pieces .SH SYNOPSIS .B smash_megafile .I megafile .SH OPTIONS .TP megafile is the name of a Viewlogic megafile without any extensions. The file .lib and .tbl must exist in the same directory. .SH AUTHOR Mike Jarabek .SH COPYRIGHT .nf Copyright \(co 1999-2011 gEDA Contributors. License GPLv2+: GNU GPL version 2 or later. Please see the `COPYING' file included with this program for full details. .PP This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. geda-gaf-1.8.2/utils/docs/smash_megafile.html0000664000175000017500000000407412220655762016036 00000000000000 smash_megafile

    smash_megafile

    NAME
    SYNOPSIS
    OPTIONS
    AUTHOR
    COPYRIGHT

    NAME

    smash_megafile − break a Viewlogic megafile into a million little pieces

    SYNOPSIS

    smash_megafile megafile

    OPTIONS

    megafile

    is the name of a Viewlogic megafile without any extensions. The file <megafile>.lib and <megafile>.tbl must exist in the same directory.

    AUTHOR

    Mike Jarabek

    COPYRIGHT

    Copyright © 1999-2011 gEDA Contributors. License GPLv2+: GNU GPL
    version 2 or later. Please see the ‘COPYING’ file included with this
    program for full details.

    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.


    geda-gaf-1.8.2/utils/docs/utils.dox0000664000175000017500000014277512050461155014063 00000000000000# Doxyfile 1.4.6 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project # # All text after a hash (#) is considered a comment and will be ignored # The format is: # TAG = value [value, ...] # For lists items can also be appended using: # TAG += value [value, ...] # Values that contain spaces should be placed between quotes (" ") #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- # The PROJECT_NAME tag is a single word (or a sequence of words surrounded # by quotes) that should identify the project. PROJECT_NAME = utils # The PROJECT_NUMBER tag can be used to enter a project or revision number. # This could be handy for archiving the generated documentation or # if some version control system is used. PROJECT_NUMBER = # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. # If a relative path is entered, it will be relative to the location # where doxygen was started. If left blank the current directory will be used. OUTPUT_DIRECTORY = # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create # 4096 sub-directories (in 2 levels) under the output directory of each output # format and will distribute the generated files over these directories. # Enabling this option can be useful when feeding doxygen a huge amount of # source files, where putting all generated files in the same directory would # otherwise cause performance problems for the file system. CREATE_SUBDIRS = NO # The OUTPUT_LANGUAGE tag is used to specify the language in which all # documentation generated by doxygen is written. Doxygen will use this # information to generate all constant output in the proper language. # The default language is English, other supported languages are: # Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, # Dutch, Finnish, French, German, Greek, Hungarian, Italian, Japanese, # Japanese-en (Japanese with English messages), Korean, Korean-en, Norwegian, # Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish, # Swedish, and Ukrainian. OUTPUT_LANGUAGE = English # This tag can be used to specify the encoding used in the generated output. # The encoding is not always determined by the language that is chosen, # but also whether or not the output is meant for Windows or non-Windows users. # In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES # forces the Windows encoding (this is the default for the Windows binary), # whereas setting the tag to NO uses a Unix-style encoding (the default for # all platforms other than Windows). USE_WINDOWS_ENCODING = YES # If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will # include brief member descriptions after the members that are listed in # the file and class documentation (similar to JavaDoc). # Set to NO to disable this. BRIEF_MEMBER_DESC = YES # If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend # the brief description of a member or function before the detailed description. # Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the # brief descriptions will be completely suppressed. REPEAT_BRIEF = NO # This tag implements a quasi-intelligent brief description abbreviator # that is used to form the text in various listings. Each string # in this list, if found as the leading text of the brief description, will be # stripped from the text and the result after processing the whole list, is # used as the annotated text. Otherwise, the brief description is used as-is. # If left blank, the following values are used ("$name" is automatically # replaced with the name of the entity): "The $name class" "The $name widget" # "The $name file" "is" "provides" "specifies" "contains" # "represents" "a" "an" "the" ABBREVIATE_BRIEF = # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then # Doxygen will generate a detailed section even if there is only a brief # description. ALWAYS_DETAILED_SEC = YES # If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all # inherited members of a class in the documentation of that class as if those # members were ordinary class members. Constructors, destructors and assignment # operators of the base classes will not be shown. INLINE_INHERITED_MEMB = NO # If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full # path before files name in the file list and in the header files. If set # to NO the shortest path that makes the file name unique will be used. FULL_PATH_NAMES = NO # If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag # can be used to strip a user-defined part of the path. Stripping is # only done if one of the specified strings matches the left-hand part of # the path. The tag can be used to show relative paths in the file list. # If left blank the directory from which doxygen is run is used as the # path to strip. STRIP_FROM_PATH = # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of # the path mentioned in the documentation of a class, which tells # the reader which header file to include in order to use a class. # If left blank only the name of the header file containing the class # definition is used. Otherwise one should specify the include paths that # are normally passed to the compiler using the -I flag. STRIP_FROM_INC_PATH = # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter # (but less readable) file names. This can be useful is your file systems # doesn't support long names like on DOS, Mac, or CD-ROM. SHORT_NAMES = NO # If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen # will interpret the first line (until the first dot) of a JavaDoc-style # comment as the brief description. If set to NO, the JavaDoc # comments will behave just like the Qt-style comments (thus requiring an # explicit @brief command for a brief description. JAVADOC_AUTOBRIEF = NO # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen # treat a multi-line C++ special comment block (i.e. a block of //! or /// # comments) as a brief description. This used to be the default behaviour. # The new default is to treat a multi-line C++ comment block as a detailed # description. Set this tag to YES if you prefer the old behaviour instead. MULTILINE_CPP_IS_BRIEF = NO # If the DETAILS_AT_TOP tag is set to YES then Doxygen # will output the detailed description near the top, like JavaDoc. # If set to NO, the detailed description appears after the member # documentation. DETAILS_AT_TOP = NO # If the INHERIT_DOCS tag is set to YES (the default) then an undocumented # member inherits the documentation from any documented member that it # re-implements. INHERIT_DOCS = YES # If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce # a new page for each member. If set to NO, the documentation of a member will # be part of the file/class/namespace that contains it. SEPARATE_MEMBER_PAGES = NO # The TAB_SIZE tag can be used to set the number of spaces in a tab. # Doxygen uses this value to replace tabs by spaces in code fragments. TAB_SIZE = 4 # This tag can be used to specify a number of aliases that acts # as commands in the documentation. An alias has the form "name=value". # For example adding "sideeffect=\par Side Effects:\n" will allow you to # put the command \sideeffect (or @sideeffect) in the documentation, which # will result in a user-defined paragraph with heading "Side Effects:". # You can put \n's in the value part of an alias to insert newlines. ALIASES = # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C # sources only. Doxygen will then generate output that is more tailored for C. # For instance, some of the names that are used will be different. The list # of all members will be omitted, etc. OPTIMIZE_OUTPUT_FOR_C = YES # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java # sources only. Doxygen will then generate output that is more tailored for Java. # For instance, namespaces will be presented as packages, qualified scopes # will look different, etc. OPTIMIZE_OUTPUT_JAVA = NO # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want to # include (a tag file for) the STL sources as input, then you should # set this tag to YES in order to let doxygen match functions declarations and # definitions whose arguments contain STL classes (e.g. func(std::string); v.s. # func(std::string) {}). This also make the inheritance and collaboration # diagrams that involve STL classes more complete and accurate. BUILTIN_STL_SUPPORT = NO # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC # tag is set to YES, then doxygen will reuse the documentation of the first # member in the group (if any) for the other members of the group. By default # all members of a group must be documented explicitly. DISTRIBUTE_GROUP_DOC = NO # Set the SUBGROUPING tag to YES (the default) to allow class member groups of # the same type (for instance a group of public functions) to be put as a # subgroup of that type (e.g. under the Public Functions section). Set it to # NO to prevent subgrouping. Alternatively, this can be done per class using # the \nosubgrouping command. SUBGROUPING = YES #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in # documentation are documented, even if no documentation was available. # Private class members and static file members will be hidden unless # the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES EXTRACT_ALL = YES # If the EXTRACT_PRIVATE tag is set to YES all private members of a class # will be included in the documentation. EXTRACT_PRIVATE = YES # If the EXTRACT_STATIC tag is set to YES all static members of a file # will be included in the documentation. EXTRACT_STATIC = YES # If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) # defined locally in source files will be included in the documentation. # If set to NO only classes defined in header files are included. EXTRACT_LOCAL_CLASSES = YES # This flag is only useful for Objective-C code. When set to YES local # methods, which are defined in the implementation section but not in # the interface are included in the documentation. # If set to NO (the default) only methods in the interface are included. EXTRACT_LOCAL_METHODS = YES # If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all # undocumented members of documented classes, files or namespaces. # If set to NO (the default) these members will be included in the # various overviews, but no documentation section is generated. # This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_MEMBERS = NO # If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all # undocumented classes that are normally visible in the class hierarchy. # If set to NO (the default) these classes will be included in the various # overviews. This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_CLASSES = NO # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all # friend (class|struct|union) declarations. # If set to NO (the default) these declarations will be included in the # documentation. HIDE_FRIEND_COMPOUNDS = NO # If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any # documentation blocks found inside the body of a function. # If set to NO (the default) these blocks will be appended to the # function's detailed documentation block. HIDE_IN_BODY_DOCS = NO # The INTERNAL_DOCS tag determines if documentation # that is typed after a \internal command is included. If the tag is set # to NO (the default) then the documentation will be excluded. # Set it to YES to include the internal documentation. INTERNAL_DOCS = NO # If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate # file names in lower-case letters. If set to YES upper-case letters are also # allowed. This is useful if you have classes or files whose names only differ # in case and if your file system supports case sensitive file names. Windows # and Mac users are advised to set this option to NO. CASE_SENSE_NAMES = YES # If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen # will show members with their full class and namespace scopes in the # documentation. If set to YES the scope will be hidden. HIDE_SCOPE_NAMES = NO # If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen # will put a list of the files that are included by a file in the documentation # of that file. SHOW_INCLUDE_FILES = YES # If the INLINE_INFO tag is set to YES (the default) then a tag [inline] # is inserted in the documentation for inline members. INLINE_INFO = YES # If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen # will sort the (detailed) documentation of file and class members # alphabetically by member name. If set to NO the members will appear in # declaration order. SORT_MEMBER_DOCS = NO # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the # brief documentation of file, namespace and class members alphabetically # by member name. If set to NO (the default) the members will appear in # declaration order. SORT_BRIEF_DOCS = NO # If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be # sorted by fully-qualified names, including namespaces. If set to # NO (the default), the class list will be sorted only by class name, # not including the namespace part. # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. # Note: This option applies only to the class list, not to the # alphabetical list. SORT_BY_SCOPE_NAME = NO # The GENERATE_TODOLIST tag can be used to enable (YES) or # disable (NO) the todo list. This list is created by putting \todo # commands in the documentation. GENERATE_TODOLIST = YES # The GENERATE_TESTLIST tag can be used to enable (YES) or # disable (NO) the test list. This list is created by putting \test # commands in the documentation. GENERATE_TESTLIST = YES # The GENERATE_BUGLIST tag can be used to enable (YES) or # disable (NO) the bug list. This list is created by putting \bug # commands in the documentation. GENERATE_BUGLIST = YES # The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or # disable (NO) the deprecated list. This list is created by putting # \deprecated commands in the documentation. GENERATE_DEPRECATEDLIST= YES # The ENABLED_SECTIONS tag can be used to enable conditional # documentation sections, marked by \if sectionname ... \endif. ENABLED_SECTIONS = # The MAX_INITIALIZER_LINES tag determines the maximum number of lines # the initial value of a variable or define consists of for it to appear in # the documentation. If the initializer consists of more lines than specified # here it will be hidden. Use a value of 0 to hide initializers completely. # The appearance of the initializer of individual variables and defines in the # documentation can be controlled using \showinitializer or \hideinitializer # command in the documentation regardless of this setting. MAX_INITIALIZER_LINES = 30 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated # at the bottom of the documentation of classes and structs. If set to YES the # list will mention the files that were used to generate the documentation. SHOW_USED_FILES = YES # If the sources in your project are distributed over multiple directories # then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy # in the documentation. The default is NO. SHOW_DIRECTORIES = YES # The FILE_VERSION_FILTER tag can be used to specify a program or script that # doxygen should invoke to get the current version for each file (typically from the # version control system). Doxygen will invoke the program by executing (via # popen()) the command , where is the value of # the FILE_VERSION_FILTER tag, and is the name of an input file # provided by doxygen. Whatever the program writes to standard output # is used as the file version. See the manual for examples. FILE_VERSION_FILTER = #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- # The QUIET tag can be used to turn on/off the messages that are generated # by doxygen. Possible values are YES and NO. If left blank NO is used. QUIET = NO # The WARNINGS tag can be used to turn on/off the warning messages that are # generated by doxygen. Possible values are YES and NO. If left blank # NO is used. WARNINGS = YES # If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings # for undocumented members. If EXTRACT_ALL is set to YES then this flag will # automatically be disabled. WARN_IF_UNDOCUMENTED = YES # If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for # potential errors in the documentation, such as not documenting some # parameters in a documented function, or documenting parameters that # don't exist or using markup commands wrongly. WARN_IF_DOC_ERROR = YES # This WARN_NO_PARAMDOC option can be abled to get warnings for # functions that are documented, but have no documentation for their parameters # or return value. If set to NO (the default) doxygen will only warn about # wrong or incomplete parameter documentation, but not about the absence of # documentation. WARN_NO_PARAMDOC = NO # The WARN_FORMAT tag determines the format of the warning messages that # doxygen can produce. The string should contain the $file, $line, and $text # tags, which will be replaced by the file and line number from which the # warning originated and the warning text. Optionally the format may contain # $version, which will be replaced by the version of the file (if it could # be obtained via FILE_VERSION_FILTER) WARN_FORMAT = "$file:$line: $text" # The WARN_LOGFILE tag can be used to specify a file to which warning # and error messages should be written. If left blank the output is written # to stderr. WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- # The INPUT tag can be used to specify the files and/or directories that contain # documented source files. You may enter file names like "myfile.cpp" or # directories like "/usr/src/myproject". Separate the files or directories # with spaces. INPUT = ../src ../include ../gschlas ../docs/utils-main.txt # If the value of the INPUT tag contains directories, you can use the # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank the following patterns are tested: # *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx # *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py FILE_PATTERNS = *.c *.h # The RECURSIVE tag can be used to turn specify whether or not subdirectories # should be searched for input files as well. Possible values are YES and NO. # If left blank NO is used. RECURSIVE = YES # The EXCLUDE tag can be used to specify files and/or directories that should # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. EXCLUDE = # The EXCLUDE_SYMLINKS tag can be used select whether or not files or # directories that are symbolic links (a Unix filesystem feature) are excluded # from the input. EXCLUDE_SYMLINKS = NO # If the value of the INPUT tag contains directories, you can use the # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude # certain files from those directories. Note that the wildcards are matched # against the file with absolute path, so to exclude all test directories # for example use the pattern */test/* EXCLUDE_PATTERNS = # The EXAMPLE_PATH tag can be used to specify one or more files or # directories that contain example code fragments that are included (see # the \include command). EXAMPLE_PATH = ../docs # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank all files are included. EXAMPLE_PATTERNS = # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be # searched for input files to be used with the \include or \dontinclude # commands irrespective of the value of the RECURSIVE tag. # Possible values are YES and NO. If left blank NO is used. EXAMPLE_RECURSIVE = NO # The IMAGE_PATH tag can be used to specify one or more files or # directories that contain image that are included in the documentation (see # the \image command). IMAGE_PATH = ../docs # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program # by executing (via popen()) the command , where # is the value of the INPUT_FILTER tag, and is the name of an # input file. Doxygen will then use the output that the filter program writes # to standard output. If FILTER_PATTERNS is specified, this tag will be # ignored. INPUT_FILTER = # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern # basis. Doxygen will compare the file name with each pattern and apply the # filter if there is a match. The filters are a list of the form: # pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further # info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER # is applied to all files. FILTER_PATTERNS = # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using # INPUT_FILTER) will be used to filter the input files when producing source # files to browse (i.e. when SOURCE_BROWSER is set to YES). FILTER_SOURCE_FILES = NO #--------------------------------------------------------------------------- # configuration options related to source browsing #--------------------------------------------------------------------------- # If the SOURCE_BROWSER tag is set to YES then a list of source files will # be generated. Documented entities will be cross-referenced with these sources. # Note: To get rid of all source code in the generated output, make sure also # VERBATIM_HEADERS is set to NO. SOURCE_BROWSER = YES # Setting the INLINE_SOURCES tag to YES will include the body # of functions and classes directly in the documentation. INLINE_SOURCES = NO # Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct # doxygen to hide any special comment blocks from generated source code # fragments. Normal C and C++ comments will always remain visible. STRIP_CODE_COMMENTS = YES # If the REFERENCED_BY_RELATION tag is set to YES (the default) # then for each documented function all documented # functions referencing it will be listed. REFERENCED_BY_RELATION = NO # If the REFERENCES_RELATION tag is set to YES (the default) # then for each documented function all documented entities # called/used by that function will be listed. REFERENCES_RELATION = NO # If the USE_HTAGS tag is set to YES then the references to source code # will point to the HTML generated by the htags(1) tool instead of doxygen # built-in source browser. The htags tool is part of GNU's global source # tagging system (see http://www.gnu.org/software/global/global.html). You # will need version 4.8.6 or higher. USE_HTAGS = NO # If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen # will generate a verbatim copy of the header file for each class for # which an include is specified. Set to NO to disable this. VERBATIM_HEADERS = YES #--------------------------------------------------------------------------- # configuration options related to the alphabetical class index #--------------------------------------------------------------------------- # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index # of all compounds will be generated. Enable this if the project # contains a lot of classes, structs, unions or interfaces. ALPHABETICAL_INDEX = YES # If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then # the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns # in which this list will be split (can be a number in the range [1..20]) COLS_IN_ALPHA_INDEX = 5 # In case all classes in a project start with a common prefix, all # classes will be put under the same header in the alphabetical index. # The IGNORE_PREFIX tag can be used to specify one or more prefixes that # should be ignored while generating the index headers. IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- # If the GENERATE_HTML tag is set to YES (the default) Doxygen will # generate HTML output. GENERATE_HTML = YES # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `html' will be used as the default path. HTML_OUTPUT = html # The HTML_FILE_EXTENSION tag can be used to specify the file extension for # each generated HTML page (for example: .htm,.php,.asp). If it is left blank # doxygen will generate files with .html extension. HTML_FILE_EXTENSION = .html # The HTML_HEADER tag can be used to specify a personal HTML header for # each generated HTML page. If it is left blank doxygen will generate a # standard header. HTML_HEADER = # The HTML_FOOTER tag can be used to specify a personal HTML footer for # each generated HTML page. If it is left blank doxygen will generate a # standard footer. HTML_FOOTER = # The HTML_STYLESHEET tag can be used to specify a user-defined cascading # style sheet that is used by each HTML page. It can be used to # fine-tune the look of the HTML output. If the tag is left blank doxygen # will generate a default style sheet. Note that doxygen will try to copy # the style sheet file to the HTML output directory, so don't put your own # stylesheet in the HTML output directory as well, or it will be erased! HTML_STYLESHEET = # If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, # files or namespaces will be aligned in HTML using tables. If set to # NO a bullet list will be used. HTML_ALIGN_MEMBERS = YES # If the GENERATE_HTMLHELP tag is set to YES, additional index files # will be generated that can be used as input for tools like the # Microsoft HTML help workshop to generate a compressed HTML help file (.chm) # of the generated HTML documentation. GENERATE_HTMLHELP = NO # If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can # be used to specify the file name of the resulting .chm file. You # can add a path in front of the file if the result should not be # written to the html output directory. CHM_FILE = # If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can # be used to specify the location (absolute path including file name) of # the HTML help compiler (hhc.exe). If non-empty doxygen will try to run # the HTML help compiler on the generated index.hhp. HHC_LOCATION = # If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag # controls if a separate .chi index file is generated (YES) or that # it should be included in the master .chm file (NO). GENERATE_CHI = NO # If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag # controls whether a binary table of contents is generated (YES) or a # normal table of contents (NO) in the .chm file. BINARY_TOC = NO # The TOC_EXPAND flag can be set to YES to add extra items for group members # to the contents of the HTML help documentation and to the tree view. TOC_EXPAND = NO # The DISABLE_INDEX tag can be used to turn on/off the condensed index at # top of each HTML page. The value NO (the default) enables the index and # the value YES disables it. DISABLE_INDEX = NO # This tag can be used to set the number of enum values (range [1..20]) # that doxygen will group on one line in the generated HTML documentation. ENUM_VALUES_PER_LINE = 4 # If the GENERATE_TREEVIEW tag is set to YES, a side panel will be # generated containing a tree-like index structure (just like the one that # is generated for HTML Help). For this to work a browser that supports # JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, # Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are # probably better off using the HTML help feature. GENERATE_TREEVIEW = YES # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be # used to set the initial width (in pixels) of the frame in which the tree # is shown. TREEVIEW_WIDTH = 250 #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will # generate Latex output. GENERATE_LATEX = YES # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `latex' will be used as the default path. LATEX_OUTPUT = latex # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be # invoked. If left blank `latex' will be used as the default command name. LATEX_CMD_NAME = latex # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to # generate index for LaTeX. If left blank `makeindex' will be used as the # default command name. MAKEINDEX_CMD_NAME = makeindex # If the COMPACT_LATEX tag is set to YES Doxygen generates more compact # LaTeX documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_LATEX = NO # The PAPER_TYPE tag can be used to set the paper type that is used # by the printer. Possible values are: a4, a4wide, letter, legal and # executive. If left blank a4wide will be used. PAPER_TYPE = a4wide # The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX # packages that should be included in the LaTeX output. EXTRA_PACKAGES = # The LATEX_HEADER tag can be used to specify a personal LaTeX header for # the generated latex document. The header should contain everything until # the first chapter. If it is left blank doxygen will generate a # standard header. Notice: only use this tag if you know what you are doing! LATEX_HEADER = # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated # is prepared for conversion to pdf (using ps2pdf). The pdf file will # contain links (just like the HTML output) instead of page references # This makes the output suitable for online browsing using a pdf viewer. PDF_HYPERLINKS = YES # If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of # plain latex in the generated Makefile. Set this option to YES to get a # higher quality PDF documentation. USE_PDFLATEX = YES # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. # command to the generated LaTeX files. This will instruct LaTeX to keep # running if errors occur, instead of asking the user for help. # This option is also used when generating formulas in HTML. LATEX_BATCHMODE = NO # If LATEX_HIDE_INDICES is set to YES then doxygen will not # include the index chapters (such as File Index, Compound Index, etc.) # in the output. LATEX_HIDE_INDICES = NO #--------------------------------------------------------------------------- # configuration options related to the RTF output #--------------------------------------------------------------------------- # If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output # The RTF output is optimized for Word 97 and may not look very pretty with # other RTF readers or editors. GENERATE_RTF = NO # The RTF_OUTPUT tag is used to specify where the RTF docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `rtf' will be used as the default path. RTF_OUTPUT = rtf # If the COMPACT_RTF tag is set to YES Doxygen generates more compact # RTF documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_RTF = NO # If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated # will contain hyperlink fields. The RTF file will # contain links (just like the HTML output) instead of page references. # This makes the output suitable for online browsing using WORD or other # programs which support those fields. # Note: wordpad (write) and others do not support links. RTF_HYPERLINKS = NO # Load stylesheet definitions from file. Syntax is similar to doxygen's # config file, i.e. a series of assignments. You only have to provide # replacements, missing definitions are set to their default value. RTF_STYLESHEET_FILE = # Set optional variables used in the generation of an rtf document. # Syntax is similar to doxygen's config file. RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- # If the GENERATE_MAN tag is set to YES (the default) Doxygen will # generate man pages GENERATE_MAN = NO # The MAN_OUTPUT tag is used to specify where the man pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `man' will be used as the default path. MAN_OUTPUT = man # The MAN_EXTENSION tag determines the extension that is added to # the generated man pages (default is the subroutine's section .3) MAN_EXTENSION = .3 # If the MAN_LINKS tag is set to YES and Doxygen generates man output, # then it will generate one additional man file for each entity # documented in the real man page(s). These additional files # only source the real man page, but without them the man command # would be unable to find the correct page. The default is NO. MAN_LINKS = NO #--------------------------------------------------------------------------- # configuration options related to the XML output #--------------------------------------------------------------------------- # If the GENERATE_XML tag is set to YES Doxygen will # generate an XML file that captures the structure of # the code including all documentation. GENERATE_XML = NO # The XML_OUTPUT tag is used to specify where the XML pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `xml' will be used as the default path. XML_OUTPUT = xml # The XML_SCHEMA tag can be used to specify an XML schema, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_SCHEMA = # The XML_DTD tag can be used to specify an XML DTD, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_DTD = # If the XML_PROGRAMLISTING tag is set to YES Doxygen will # dump the program listings (including syntax highlighting # and cross-referencing information) to the XML output. Note that # enabling this will significantly increase the size of the XML output. XML_PROGRAMLISTING = YES #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- # If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will # generate an AutoGen Definitions (see autogen.sf.net) file # that captures the structure of the code including all # documentation. Note that this feature is still experimental # and incomplete at the moment. GENERATE_AUTOGEN_DEF = NO #--------------------------------------------------------------------------- # configuration options related to the Perl module output #--------------------------------------------------------------------------- # If the GENERATE_PERLMOD tag is set to YES Doxygen will # generate a Perl module file that captures the structure of # the code including all documentation. Note that this # feature is still experimental and incomplete at the # moment. GENERATE_PERLMOD = NO # If the PERLMOD_LATEX tag is set to YES Doxygen will generate # the necessary Makefile rules, Perl scripts and LaTeX code to be able # to generate PDF and DVI output from the Perl module output. PERLMOD_LATEX = NO # If the PERLMOD_PRETTY tag is set to YES the Perl module output will be # nicely formatted so it can be parsed by a human reader. This is useful # if you want to understand what is going on. On the other hand, if this # tag is set to NO the size of the Perl module output will be much smaller # and Perl will parse it just the same. PERLMOD_PRETTY = YES # The names of the make variables in the generated doxyrules.make file # are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. # This is useful so different doxyrules.make files included by the same # Makefile don't overwrite each other's variables. PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the preprocessor #--------------------------------------------------------------------------- # If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will # evaluate all C-preprocessor directives found in the sources and include # files. ENABLE_PREPROCESSING = YES # If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro # names in the source code. If set to NO (the default) only conditional # compilation will be performed. Macro expansion can be done in a controlled # way by setting EXPAND_ONLY_PREDEF to YES. MACRO_EXPANSION = YES # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES # then the macro expansion is limited to the macros specified with the # PREDEFINED and EXPAND_AS_DEFINED tags. EXPAND_ONLY_PREDEF = NO # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files # in the INCLUDE_PATH (see below) will be search if a #include is found. SEARCH_INCLUDES = YES # The INCLUDE_PATH tag can be used to specify one or more directories that # contain include files that are not input files but should be processed by # the preprocessor. INCLUDE_PATH = /usr/include # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard # patterns (like *.h and *.hpp) to filter out the header-files in the # directories. If left blank, the patterns specified with FILE_PATTERNS will # be used. INCLUDE_FILE_PATTERNS = # The PREDEFINED tag can be used to specify one or more macro names that # are defined before the preprocessor is started (similar to the -D option of # gcc). The argument of the tag is a list of macros of the form: name # or name=definition (no spaces). If the definition and the = are # omitted =1 is assumed. To prevent a macro definition from being # undefined via #undef or recursively expanded use the := operator # instead of the = operator. PREDEFINED = # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then # this tag can be used to specify a list of macro names that should be expanded. # The macro definition that is found in the sources will be used. # Use the PREDEFINED tag if you want to use a different macro definition. EXPAND_AS_DEFINED = # If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then # doxygen's preprocessor will remove all function-like macros that are alone # on a line, have an all uppercase name, and do not end with a semicolon. Such # function macros are typically used for boiler-plate code, and will confuse # the parser if not removed. SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- # Configuration::additions related to external references #--------------------------------------------------------------------------- # The TAGFILES option can be used to specify one or more tagfiles. # Optionally an initial location of the external documentation # can be added for each tagfile. The format of a tag file without # this location is as follows: # TAGFILES = file1 file2 ... # Adding location for the tag files is done as follows: # TAGFILES = file1=loc1 "file2 = loc2" ... # where "loc1" and "loc2" can be relative or absolute paths or # URLs. If a location is present for each tag, the installdox tool # does not have to be run to correct the links. # Note that each tag file must have a unique name # (where the name does NOT include the path) # If a tag file is not located in the directory in which doxygen # is run, you must also specify the path to the tagfile here. TAGFILES = # When a file name is specified after GENERATE_TAGFILE, doxygen will create # a tag file that is based on the input files it reads. GENERATE_TAGFILE = # If the ALLEXTERNALS tag is set to YES all external classes will be listed # in the class index. If set to NO only the inherited external classes # will be listed. ALLEXTERNALS = NO # If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed # in the modules index. If set to NO, only the current project's groups will # be listed. EXTERNAL_GROUPS = YES # The PERL_PATH should be the absolute path and name of the perl script # interpreter (i.e. the result of `which perl'). PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- # Configuration options related to the dot tool #--------------------------------------------------------------------------- # If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will # generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base # or super classes. Setting the tag to NO turns the diagrams off. Note that # this option is superseded by the HAVE_DOT option below. This is only a # fallback. It is recommended to install and use dot, since it yields more # powerful graphs. CLASS_DIAGRAMS = YES # If set to YES, the inheritance and collaboration graphs will hide # inheritance and usage relations if the target is undocumented # or is not a class. HIDE_UNDOC_RELATIONS = YES # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is # available from the path. This tool is part of Graphviz, a graph visualization # toolkit from AT&T and Lucent Bell Labs. The other options in this section # have no effect if this option is set to NO (the default) HAVE_DOT = YES # If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect inheritance relations. Setting this tag to YES will force the # the CLASS_DIAGRAMS tag to NO. CLASS_GRAPH = YES # If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect implementation dependencies (inheritance, containment, and # class references variables) of the class with other documented classes. COLLABORATION_GRAPH = YES # If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen # will generate a graph for groups, showing the direct groups dependencies GROUP_GRAPHS = YES # If the UML_LOOK tag is set to YES doxygen will generate inheritance and # collaboration diagrams in a style similar to the OMG's Unified Modeling # Language. UML_LOOK = YES # If set to YES, the inheritance and collaboration graphs will show the # relations between templates and their instances. TEMPLATE_RELATIONS = NO # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT # tags are set to YES then doxygen will generate a graph for each documented # file showing the direct and indirect include dependencies of the file with # other documented files. INCLUDE_GRAPH = YES # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and # HAVE_DOT tags are set to YES then doxygen will generate a graph for each # documented header file showing the documented files that directly or # indirectly include this file. INCLUDED_BY_GRAPH = YES # If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will # generate a call dependency graph for every global function or class method. # Note that enabling this option will significantly increase the time of a run. # So in most cases it will be better to enable call graphs for selected # functions only using the \callgraph command. CALL_GRAPH = YES # If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen # will graphical hierarchy of all classes instead of a textual one. GRAPHICAL_HIERARCHY = YES # If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES # then doxygen will show the dependencies a directory has on other directories # in a graphical way. The dependency relations are determined by the #include # relations between the files in the directories. DIRECTORY_GRAPH = YES # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images # generated by dot. Possible values are png, jpg, or gif # If left blank png will be used. DOT_IMAGE_FORMAT = png # The tag DOT_PATH can be used to specify the path where the dot tool can be # found. If left blank, it is assumed the dot tool can be found in the path. DOT_PATH = # The DOTFILE_DIRS tag can be used to specify one or more directories that # contain dot files that are included in the documentation (see the # \dotfile command). DOTFILE_DIRS = # The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width # (in pixels) of the graphs generated by dot. If a graph becomes larger than # this value, doxygen will try to truncate the graph, so that it fits within # the specified constraint. Beware that most browsers cannot cope with very # large images. MAX_DOT_GRAPH_WIDTH = 1024 # The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height # (in pixels) of the graphs generated by dot. If a graph becomes larger than # this value, doxygen will try to truncate the graph, so that it fits within # the specified constraint. Beware that most browsers cannot cope with very # large images. MAX_DOT_GRAPH_HEIGHT = 1024 # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the # graphs generated by dot. A depth value of 3 means that only nodes reachable # from the root by following a path via at most 3 edges will be shown. Nodes # that lay further from the root node will be omitted. Note that setting this # option to 1 or 2 may greatly reduce the computation time needed for large # code bases. Also note that a graph may be further truncated if the graph's # image dimensions are not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH # and MAX_DOT_GRAPH_HEIGHT). If 0 is used for the depth value (the default), # the graph is not depth-constrained. MAX_DOT_GRAPH_DEPTH = 0 # Set the DOT_TRANSPARENT tag to YES to generate images with a transparent # background. This is disabled by default, which results in a white background. # Warning: Depending on the platform used, enabling this option may lead to # badly anti-aliased labels on the edges of a graph (i.e. they become hard to # read). DOT_TRANSPARENT = YES # Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output # files in one run (i.e. multiple -o and -T options on the command line). This # makes dot run faster, but since only newer versions of dot (>1.8.10) # support this, this feature is disabled by default. DOT_MULTI_TARGETS = NO # If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will # generate a legend page explaining the meaning of the various boxes and # arrows in the dot generated graphs. GENERATE_LEGEND = YES # If the DOT_CLEANUP tag is set to YES (the default) Doxygen will # remove the intermediate dot files that are used to generate # the various graphs. DOT_CLEANUP = YES #--------------------------------------------------------------------------- # Configuration::additions related to the search engine #--------------------------------------------------------------------------- # The SEARCHENGINE tag specifies whether or not a search engine should be # used. If set to NO the values of all tags below this one will be ignored. SEARCHENGINE = YES geda-gaf-1.8.2/utils/docs/what-is-utils.html0000664000175000017500000000015512050461155015570 00000000000000 What is utils?

    utils are a set of utilities programs and scripts for the gEDA Suite. geda-gaf-1.8.2/utils/docs/pads_backannotate.html0000664000175000017500000000745012220655761016533 00000000000000 pads_backannotate

    pads_backannotate

    NAME
    SYNOPSIS
    DESCRIPTION
    OPTIONS
    EXIT STATUS
    BUGS
    SEE ALSO

    NAME

    pads_backannotate − backannotates changes from a PADS engineering change order (ECO) file to schematic

    SYNOPSIS

    pads_backannotate −h|−−help

    pads_backannotate −V|−−version

    pads_backannotate [options] ecofile.eco infile1.sch [infile2.sch ...]

    DESCRIPTION

    The pads_backannotate program reads an engineering change order (ECO) file generated by the PADS program and backannotates the requested changes to a gschem schematic or schematics. Refer to the PADS manual for a complete description of the ECO file format.

    OPTIONS

    −h, −−help

    prints help message and exits

    −n, −−nocopy

    Leave the modified schematic files in new files whose names are generated by appending .new to the original file names. The default is to overwrite the original.

    −v, −−verbose

    operate verbosely

    −V, −−version

    prints version information and exits

    EXIT STATUS

    pads_backannotate will return 0 if all files processed successfully, non-zero if the command did not complete successfully.

    BUGS

    Rather than parsing and processing schematic files directly, this utility should be rewritten using the gEDA scheme API. This would take advantage of the existing parsers for the schematic files.

    Reference designator renaming is fully supported. Pin and gate swapping is parsed but not automatically applied to the schematic database. Instead, a report listing the manual pin and gate swapping that is required. The other features of the ECO file are not supported yet.

    SEE ALSO

    gnetlist(1), gschem(1)

    Also refer to "Forward/Backward Annotation Between gEDA/gaf and PADS PowerPCB" which may be found at http://wiki.geda-project.org/geda:fbabgapp


    geda-gaf-1.8.2/utils/docs/gxyrs.10000664000175000017500000003174312220651143013432 00000000000000.\"Created with GNOME Manpages Editor Wizard .\"http://sourceforge.net/projects/gmanedit2 .TH \fBgxyrs\fP 1 "Agosto 22, 2010" "" "\fBgxyrs\fP" .SH NAME \fBgxyrs\fP \- is a program to batch process XYRS files. .SH SYNOPSIS .B \fBgxyrs\fP .RI \fBfile\fP .RI [OPTIONS] .br .SH DESCRIPTION XYRS files are usually generated by PCB design programs, and are used by board assemblers. .PP Format of XYRS files is discussed in FILES section. .PP Processing of these files is often needed by board assemblers or designers to suit their process and tools flows. .PP \fBgxyrs\fP helps batch-processing these files. Rules and commands can be defined to make batch-processing easy. .PP \fBgxyrs\fP consists on a perl library providing the core functions, and a perl script providing some basic functionality. .PP It takes some arguments from the command line: input and output files, some modifiers, and an action-file or an action-string. .PP The action-file or action-script contains some commands. For every line of the input file, \fBgxyrs\fP executes those commands, which can modify the contents of the line, and then writes the resulting line to the output file. .PP Since \fBgxyrs\fP is written in perl, actions are also written in this language. .SH OPTIONS .B .IP --help Display a usage message on standard output and exit successfully. .BI \--verbose Display more information messages when processing files. .TP .BI \--process-comments By default, gxyrs doesn't process lines starting with '*' and '#' characters. It just copies these lines to the output, without further processing. With this option, it processes these lines as well. .TP .BI \--tabulate Give each field in the output file a fixed length, enough to contain the longest string. Using this option make the output file easier to read by humans. .TP .BI \--caseinsensitive Ignore case distinctions when comparing patterns. .TP .BI \--adjust "\| FILE\ " File with the commands to process the input file. .TP .BI \--eval "\| PATTERN\ " Interpret PATTERN as the commands to process the input file. .TP .BI \--output "\| FILE\ " Save the output to the specified FILE. If FILE string is "-" (without double quotes), then output is redirected to standard output STDOUT. .TP .BI \--output-delimiter "\| CHAR\ " Use the given CHAR as an output field delimiter. .SH "PREDEFINED VARIABLES" .PP gxyrs defines automatically the following variables: .PP .TP .B REF_COL column number (starting at 0) where the component reference is. .TP .B FOOTPRINT_COL column number (starting at 0) where the component footprint is. .TP .B X_COL column number (starting at 0) where the component's X location coordinate is. .TP .B Y_COL column number (starting at 0) where the component's Y location coordinate is. .TP .B ANGLE_COL column number (starting at 0) where the component rotation angle is. .TP .B LAYER_COL column number (starting at 0) where the component's layer side location is. .TP .B VALUE_COL column number (starting at 0) where the component's value is. Usually this is the component's part number. .TP .B LINE_NUMBER this is the line number of the input file that is being currently processed. .TP .B LINE array where each array element is a field or column of the input file's line being processed. .SH "BUILTIN COMMANDS" All the following commands accept a \fIchecklist\fP parameter. A \fIchecklist\fP is a list of one or more \fIcheck_items\fP. A \fIcheckitem\fP is a list of two single elements: .TP .B column_number is the data index number 'n' of the global variable \fBLINE\fP to be checked. The first element of the data has the number 1. .TP .B pattern is the regular expression to be matched. .PP The commands will only be executed on those lines that match all the \fIcheckitems\fP in the \fIchecklist\fP. .TP .B \fBdel_line\fP \fIchecklist\fP; Delete the line (global variable \fBLINE\fP) if \fIchecklist\fP is matched. Returns \-1 if error, 0 if not match, 1 if match and changed. .TP .B rotate_comp \fIangle_col\fP, \fIangle\fP, \fIchecklist\fP; rotate the component the degrees given in \fIangle\fP parameter, if \fIchecklist\fP is matched. The angle column number is \fIangle_col\fP. Returns 1 if match and changed, 0 if not match, \-1 if error. .TP .B subst_col_val \fIcol\fP, \fIvalue\fP, \fIchecklist\fP; Replace a column value by the new value \fIvalue\fP, if \fIchecklist\fP is matched. Returns 1 if match and changed, 0 if not match, \-1 if error. .TP .B change_col_units \fIunits\fP, \fIcolumn_numbers\fP; Change units of a given column number. More than one column number can be specified. \fIUnits\fP is a string with the desired units. Only "mm" (milimeters), "in" (inches) and "mil" (thousands of an inch) are supported. It is required that numbers to be converted are followed their units (see supported units above). Otherwise, the number is not changed. .TP .B add_number_to_col \fIcol_number\fP, \fIvalue\fP, \fIchecklist\fP; Adds a number to the value in a given column number. Note: offset and the value to be changed can be in different units. Returns \-1 if error, \-2 if warning, and 1 if success. .TP .B translate_col_val \fIcol_number\fP, \fIstring\fP, \fIsubstitution\fP, \fIchecklist\fP; Translate a \fIstring\fP in the column \fIcol_number\fP if \fIchecklist\fP is matched. \fISubstitution\fP is an expression with the new string. Old column value can be used here. Returns \-1 if error, 0 if not match, 1 if match and changed. Example: translate 2, '^([0-9]+)n$','sprintf("%dnF",$1)', 3, 'C[0-9]+'; if the value in column 3 is C followed by a number, then if the value in column 2 is a number followed by 'n', translate it to the same value followed by 'nF'. If there is 'C10' in column 3 and '10n' in column 2, change '10n' to '10nF'. .TP .B mul_col_val \fIcol_number\fP, \fIfactor\fP, \fIchecklist\fP; Multiply the number in the specified column number \fIcol_number\fP by the given \fIfactor\fP, if \fIchecklist\fP is matched. The number in the specified column number may have units at the end. Returns \-1 if error, 0 if not match, 1 if match and changed. .TP .B swap_columns \fIcol_number1\fP, \fIcol_number2\fP, \fIchecklist\fP; Swap columns \fIcol_number1\fP and \fIcol_number2\fP if \fIchecklist\fP is matched. Returns \-1 if error, 0 if not match, 1 if match and changed. .TP .B insert_column \fIcol_number\fP, \fInew_column_value\fP; Insert a new column in the given \fIcol_number\fP position (0 if it's going to be the first column), with the value \fInew_column_value\fP. Returns \-1 if error, 1 if the new column was inserted. .SH "RETURN VALUE" The return value of \fBgxyrs\fP is an integer with the following possible values: .TP 1 if the command found a match and the execution was successful .PP 0 if there was no match .PP \-1 if there was an error .PP \-2 if there was a warning .PP .SH FILES .TP .B XYRS files The format of these files is not standard, and depends on the application used to generate it. The data stored in these files is usually a header, and one line per component of the board. For each component, at least the following information is needed by assemblers: - Reference - Coordinates (X and Y) - Rotation angle - Side where the component is located (top or bottom) There can be more information, such as description, footprint, but this depends on the design program an its configuration. This information is organized in lines, one line per component, and each line is divided in as much fields or columns as needed. Field delimiters are used between columns, but field delimiters are not standardized and they depend on the program used to generate the XYRS file. The program that generates the XYRS file usually write a header (usually the first two or thre lines in the file) with a column title. \fBgxyrs\fP tries to guess the file format, and column numbers, based on this header. Thus, the known column titles are the following: - for reference designator: \fIDesignator\fP, \fIRefDesignator\fP, \fIRefDes\fP. - for footprint: \fIFootprint\fP, \fITopCell\fP, \fIDescription\fP (only if there is no other "TopCell" column title). - for X coordinate: \fIMid X\fP, \fIX\fP. - for Y coordinate: \fIMid Y\fP, \fIY\fP. - for rotation angle: \fIRotation\fP, \fIrotation\fP, \fIRot\fP. - for location side: \fITB\fP, \fISide\fP, \fItop/bottom\fP. - for value: \fIComment\fP, \fIPartNumber\fP, \fIValue\fP. .TP .B Action files An action file contains a list of commands, using perl language, that can include any call to a built-in function or use any variable defined by \fIgxyrs\fP. Each action file should end with the following line (with a carrier return at the end of the line): 1; .SH EXAMPLES .TP .B Run an action file: Run the action file \fIyour_comands.txt\fP with the XYRS file \fIyour_xyrs_file.txt\fP and write the output result to the file \fIoutput_file.txt\fP: gxyrs your_xyrs_file.txt \-\-adjust your_commands.txt \-\-output output_file.txt .PP .TP .B Run a command specified in the command line: Run the commands \fIyour_commands\fP wiith the XYRS file \fIyour_xyrs_file.txt\fP and write the output result to the file \fIoutput_file.txt\fP: gxyrs your_xyrs_file.txt \-\-eval "your_commands" \-\-output output_file.txt .PP .TP .B Delete some lines matching a pattern. Parse the XYRS file \fIyour_xyrs_file.txt\fP, delete all lines having a R followed by a number in column number 2, and write the output result to the file \fIoutput_file.txt\fP: gxyrs your_xyrs_file.txt \-\-eval "del 2, 'R[0\-9]+';" \-\-output output_file.txt .PP .TP .B Delete some lines matching a pattern, using the column number guessed by \fBgxyrs\fP. Parse the XYRS file \fIyour_xyrs_file.txt\fP, delete all lines having a R followed by a number in reference designator column, and write the output result to the file \fIoutput_file.txt\fP: gxyrs your_xyrs_file.txt \-\-eval "del \\$REF_COL, 'R[0\-9]+';" \-\-output output_file.txt .PP .TP .B Rotate some lines matching a pattern. Parse the XYRS file \fIyour_xyrs_file.txt\fP, rotate by 90º all lines having a R followed by a number in reference designator column, and write the output result to the file \fIoutput_file.txt\fP. Use the rotation and reference column number guessed by \fIgxyrs\fP: gxyrs your_xyrs_file.txt \-\-eval "rotate \\$ANGLE_COL, 90, \\$REF_COL, 'R[0\-9]+';" \-\-output output_file.txt .PP .TP .B Change all numbers to 'mm' units. Parse the XYRS file \fIyour_xyrs_file.txt\fP, convert all numbers in column 3 and 5 to its equivalent in mm, and write the output result to the file \fIoutput_file.txt\fP: gxyrs your_xyrs_file.txt \-\-eval "change_units 'mm', 3, 5;" \-\-output output_file.txt .PP .TP .B Replace a value matching a pattern with another value. Parse the XYRS file \fIyour_xyrs_file.txt\fP, if the value in column 3 is "0.1u", then replace it with "100nF", and write the output result to the file \fIoutput_file.txt\fP: gxyrs your_xyrs_file.txt \-\-eval "subst 3 , '100nF', 3, '0.1u'" \-\-output output_file.txt .PP .TP .B Change the reference of a component with a value matching a pattern. Parse the XYRS file \fIyour_xyrs_file.txt\fP, if the value in value column is "1n4148", then replace reference column with "D1", and write the output result to the file \fIoutput_file.txt\fP: gxyrs your_xyrs_file.txt \-\-eval "subst \\$REF_COL , 'D1', \\$VALUE_COL, '1n4148';" \-\-output output_file.txt .PP .TP .B Adds an offset to the X coordinate of a component with a reference having a R followed by a number. Parse the XYRS file \fIyour_xyrs_file.txt\fP, if the text in reference column is R followed by a number, then adds 102.5mm to the value in X coordinate column, and write the output result to the file \fIoutput_file.txt\fP. Value in column 3 can be in other units (for example: '640mil'): gxyrs your_xyrs_file.txt \-\-eval "offset \\$X_COL, '102.5mm', \\$REF_COL, 'R[0\-9]+' ;" \-\-output output_file.txt .PP .TP .B Multiply the value of the X coordinate of a component by a number, if the component reference is having a R followed by a number. Parse the XYRS file \fIyour_xyrs_file.txt\fP, if the text in reference column is R followed by a number, then multiply the value in X coordinate column by 2.5, and write the output result to the file \fIoutput_file.txt\fP. Value in column 3 can be in other units (for example: '640mil'): gxyrs your_xyrs_file.txt \-\-eval "mul_col_val \\$X_COL, 2.5, \\$REF_COL, 'R[0\-9]+' ;" \-\-output output_file.txt .PP .TP .B Swap two columns. Parse the XYRS file \fIyour_xyrs_file.txt\fP, swap columns 3 and 4 if the text in column number 4 is R followed by a number, and write the output result to the file \fIoutput_file.txt\fP: gxyrs your_xyrs_file.txt \-\-eval "swap_columns 3, 4, 4, 'R[0\-9]+' ;" \-\-output output_file.txt .PP .TP .B Insert a column. Insert a column in the first position, displacing all existing columns to the right. Column value is 'new_column_value': gxyrs your_xyrs_file.txt \-\-eval "insert_column 0, 'new_column_value';" \-\-output output_file.txt .PP .SH "SEE ALSO" .TP .B regex(7), GNU regular expression manual .PP geda-gaf-1.8.2/Makefile.in0000664000175000017500000010111612220655721012147 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = . DIST_COMMON = INSTALL NEWS README AUTHORS ChangeLog \ $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(top_srcdir)/configure $(am__configure_deps) \ $(srcdir)/config.h.in $(top_srcdir)/intl/Makefile.in ABOUT-NLS \ COPYING build-tools/ar-lib build-tools/compile \ build-tools/config.guess build-tools/config.rpath \ build-tools/config.sub build-tools/depcomp \ build-tools/install-sh build-tools/mdate-sh \ build-tools/missing build-tools/texinfo.tex build-tools/ylwrap \ build-tools/ltmain.sh $(top_srcdir)/build-tools/compile \ $(top_srcdir)/build-tools/config.guess \ $(top_srcdir)/build-tools/config.rpath \ $(top_srcdir)/build-tools/config.sub \ $(top_srcdir)/build-tools/desktop-i18n \ $(top_srcdir)/build-tools/icon-theme-installer \ $(top_srcdir)/build-tools/install-sh \ $(top_srcdir)/build-tools/ltmain.sh \ $(top_srcdir)/build-tools/missing ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(install_sh) -d CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = intl/Makefile CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ cscope distdir dist dist-all distcheck am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ $(LISP)config.h.in # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags CSCOPE = cscope DIST_SUBDIRS = intl libgeda gschem gattrib gsymcheck gnetlist utils \ symbols docs examples DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ if test -d "$(distdir)"; then \ find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ && rm -rf "$(distdir)" \ || { sleep 5 && rm -rf "$(distdir)"; }; \ else :; fi am__post_remove_distdir = $(am__remove_distdir) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" DIST_ARCHIVES = $(distdir).tar.gz GZIP_ENV = --best DIST_TARGETS = dist-gzip distuninstallcheck_listfiles = find . -type f -print am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ @ENABLE_GATTRIB_TRUE@GATTRIB_DIR = gattrib SUBDIRS = intl libgeda gschem ${GATTRIB_DIR} gsymcheck gnetlist utils symbols docs \ examples ACLOCAL_AMFLAGS = -I m4 # We need to ensure that `make distcheck' *doesn't* find a git # repository! # # We also should be able to successfully build & install without # groff. false = /bin/sh -c '! :' DISTCHECK_CONFIGURE_FLAGS = \ GIT="$(false)" \ GROFF="$(false)" \ --disable-update-xdg-database BUILT_SOURCES = version.h EXTRA_DIST = autogen.sh version.h version.h.in missing.h HACKING \ COPYING.LGPL DISTCLEANFILES = stamp-git MAINTAINERCLEANFILES = Makefile.in aclocal.m4 config.h.in configure all: $(BUILT_SOURCES) config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive .SUFFIXES: am--refresh: Makefile @: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \ $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ echo ' $(SHELL) ./config.status'; \ $(SHELL) ./config.status;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck $(top_srcdir)/configure: $(am__configure_deps) $(am__cd) $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): $(am__aclocal_m4_deps) $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) $(am__aclocal_m4_deps): config.h: stamp-h1 @if test ! -f $@; then rm -f stamp-h1; else :; fi @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status @rm -f stamp-h1 cd $(top_builddir) && $(SHELL) ./config.status config.h $(srcdir)/config.h.in: $(am__configure_deps) ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) rm -f stamp-h1 touch $@ distclean-hdr: -rm -f config.h stamp-h1 intl/Makefile: $(top_builddir)/config.status $(top_srcdir)/intl/Makefile.in cd $(top_builddir) && $(SHELL) ./config.status $@ mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs distclean-libtool: -rm -f libtool config.lt # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscope: cscope.files test ! -s cscope.files \ || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) clean-cscope: -rm -f cscope.files cscope.files: clean-cscope cscopelist cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f cscope.out cscope.in.out cscope.po.out cscope.files distdir: $(DISTFILES) $(am__remove_distdir) test -d "$(distdir)" || mkdir "$(distdir)" @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done -test -n "$(am__skip_mode_fix)" \ || find "$(distdir)" -type d ! -perm -755 \ -exec chmod u+rwx,go+rx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r "$(distdir)" dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__post_remove_distdir) dist-bzip2: distdir tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 $(am__post_remove_distdir) dist-lzip: distdir tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz $(am__post_remove_distdir) dist-xz: distdir tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz $(am__post_remove_distdir) dist-tarZ: distdir tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__post_remove_distdir) dist-shar: distdir shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz $(am__post_remove_distdir) dist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) $(am__post_remove_distdir) dist dist-all: $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' $(am__post_remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another # tarfile. distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.lz*) \ lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ *.tar.xz*) \ xz -dc $(distdir).tar.xz | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac chmod -R a-w $(distdir) chmod u+w $(distdir) mkdir $(distdir)/_build $(distdir)/_inst chmod a-w $(distdir) test -d $(distdir)/_build || exit 0; \ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && am__cwd=`pwd` \ && $(am__cd) $(distdir)/_build \ && ../configure --srcdir=.. --prefix="$$dc_install_base" \ --with-included-gettext \ $(AM_DISTCHECK_CONFIGURE_FLAGS) \ $(DISTCHECK_CONFIGURE_FLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ distuninstallcheck \ && chmod -R a-w "$$dc_install_base" \ && ({ \ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ } || { rm -rf "$$dc_destdir"; exit 1; }) \ && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist \ && rm -rf $(DIST_ARCHIVES) \ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ && cd "$$am__cwd" \ || exit 1 $(am__post_remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: @test -n '$(distuninstallcheck_dir)' || { \ echo 'ERROR: trying to run $@ with an empty' \ '$$(distuninstallcheck_dir)' >&2; \ exit 1; \ }; \ $(am__cd) '$(distuninstallcheck_dir)' || { \ echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ exit 1; \ }; \ test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ fi ; \ $(distuninstallcheck_listfiles) ; \ exit 1; } >&2 distcleancheck: distclean @if test '$(srcdir)' = . ; then \ echo "ERROR: distcleancheck can only run from a VPATH build" ; \ exit 1 ; \ fi @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left in build directory after distclean:" ; \ $(distcleancheck_listfiles) ; \ exit 1; } >&2 check-am: all-am check: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) check-recursive all-am: Makefile config.h installdirs: installdirs-recursive installdirs-am: install: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -f Makefile distclean-am: clean-am distclean-generic distclean-hdr \ distclean-libtool distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(am__recursive_targets) all check install install-am \ install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ am--refresh check check-am clean clean-cscope clean-generic \ clean-libtool cscope cscopelist-am ctags ctags-am dist \ dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \ dist-xz dist-zip distcheck distclean distclean-generic \ distclean-hdr distclean-libtool distclean-tags distcleancheck \ distdir distuninstallcheck dvi dvi-am html html-am info \ info-am install install-am install-data install-data-am \ install-dvi install-dvi-am install-exec install-exec-am \ install-html install-html-am install-info install-info-am \ install-man install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am # Generate version.h. This works by looking at any git repository that # is present in the source directory (detected at configure time). If # there is a git repository, the HEAD commitid is checked every time # the package is built to see if it has changed. If so, version.h is # regenerated. If there isn't a git repository, version.h is just # assumed to be present (since the generated version.h is distributed # in the source tarball). @HAVE_GIT_REPO_TRUE@version.h: stamp-git $(top_builddir)/configure $(srcdir)/version.h.in @HAVE_GIT_REPO_TRUE@ @if test ! -f version.h; then \ @HAVE_GIT_REPO_TRUE@ rm -f stamp-git; \ @HAVE_GIT_REPO_TRUE@ $(MAKE) $(AM_MAKEFLAGS) stamp-git; \ @HAVE_GIT_REPO_TRUE@ else :; fi @HAVE_GIT_REPO_TRUE@ @date_ver=$(DATE_VERSION); dotted_ver=$(DOTTED_VERSION); \ @HAVE_GIT_REPO_TRUE@ git_commit=`cd $(srcdir) && $(GIT) rev-parse HEAD`; \ @HAVE_GIT_REPO_TRUE@ git_ver=`cd $(srcdir) && $(GIT) describe HEAD`; \ @HAVE_GIT_REPO_TRUE@ sed -e"s:^.*\(PACKAGE_DATE_VERSION\).*$$:#define \1 \"$$date_ver\":" \ @HAVE_GIT_REPO_TRUE@ -e"s:^.*\(PACKAGE_DOTTED_VERSION\).*$$:#define \1 \"$$dotted_ver\":" \ @HAVE_GIT_REPO_TRUE@ -e"s:^.*\(PACKAGE_GIT_VERSION\).*$$:#define \1 \"$$git_ver\":" \ @HAVE_GIT_REPO_TRUE@ -e"s:^.*\(PACKAGE_GIT_COMMIT\).*$$:#define \1 \"$$git_commit\":" \ @HAVE_GIT_REPO_TRUE@ < $(srcdir)/version.h.in > version.h.new; \ @HAVE_GIT_REPO_TRUE@ if diff version.h version.h.new > /dev/null 2>&1; then \ @HAVE_GIT_REPO_TRUE@ echo "version.h is unchanged"; \ @HAVE_GIT_REPO_TRUE@ rm version.h.new; \ @HAVE_GIT_REPO_TRUE@ else \ @HAVE_GIT_REPO_TRUE@ echo "Recreating version.h"; \ @HAVE_GIT_REPO_TRUE@ mv version.h.new version.h; \ @HAVE_GIT_REPO_TRUE@ fi @HAVE_GIT_REPO_TRUE@stamp-git: @HAVE_GIT_REPO_TRUE@ @last_version=`if test -f stamp-git; then cat stamp-git; else :; fi`; \ @HAVE_GIT_REPO_TRUE@ now_version=`cd $(srcdir) && $(GIT) rev-parse HEAD`; \ @HAVE_GIT_REPO_TRUE@ if test "X$$now_version" != "X$$last_version"; then \ @HAVE_GIT_REPO_TRUE@ echo $$now_version > stamp-git; \ @HAVE_GIT_REPO_TRUE@ echo "Now at git commit $$now_version..."; \ @HAVE_GIT_REPO_TRUE@ fi @HAVE_GIT_REPO_TRUE@.PHONY: stamp-git doxygen: @ENABLE_DOXYGEN_TRUE@ @for subdir in gattrib/docs gschem/docs gnetlist/docs \ @ENABLE_DOXYGEN_TRUE@ libgeda/docs gsymcheck/docs utils/docs ; do \ @ENABLE_DOXYGEN_TRUE@ (cd $$subdir; $(MAKE) doxygen) || exit 1; \ @ENABLE_DOXYGEN_TRUE@ done @ENABLE_DOXYGEN_FALSE@ @echo 'configure was not run with the --enable-doxygen switch.' @ENABLE_DOXYGEN_FALSE@ @echo 'The documentation cannot be built from the sources.' # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/gattrib/0000775000175000017500000000000012220655754011624 500000000000000geda-gaf-1.8.2/gattrib/src/0000775000175000017500000000000012220655754012413 500000000000000geda-gaf-1.8.2/gattrib/src/gattrib.c0000664000175000017500000002666512220647257014151 00000000000000/* gEDA - GPL Electronic Design Automation * gattrib -- gEDA component and net attribute manipulation using spreadsheet. * Copyright (C) 2003-2010 Stuart D. Brorson. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /** * \mainpage * * \section sdb_notes SDB's original comment in gattrib.c * * In the spirit of open source/free software, major sections of * gattrib's code were borrowed from other sources, and hacked * together by SDB in Dec. 2003. Particularly rich sources for code were * gEDA/gnetlist, and the gtkextra program testgtksheet.c. Thanks to their * authors for providing the foundation upon which this is built. * * Of course, I *did* write major portions of the code too . . . . . * Some documentation about the internal operation of this program can be * found in the "NOTES" file in the gattrib top-level directory. * -- SDB December 2003 - * * \section ml_notes Architecture * * (extracted from SDB's mailing list posting: * http://osdir.com/ml/cad.geda.devel/2007-06/msg00282.html - believed to * still be relevant) * * gattrib has three major components: * * -# It manipulates objects held in the TOPLEVEL data structure. It * does this by importing structs and functions from libgeda. * -# Gattrib defines its own layer of structs, notably SHEET_DATA, * which holds a table of attrib name=value pairs, and also holds a * couple of linked lists corresponding to all component's refdeses, and * to all attribute names found in the design. This stuff is native to * gattrib. * -# Gattrib uses a spreadsheet widget called GtkSheet. This stuff * came from the GtkExtra project, which at one time offered a bunch of * interesting widgets for graphing and visualization. I think they're * still around; you can do a Google search for them. I stole the two * .h files defining the spreadsheet widgets, and also stole code from * the program itself to implement the run-time functions which deal with * the spreadsheet. * * When run, gattrib does this: * * -# It uses libgeda functions to read in your design, and fill up the * TOPLEVEL struct. * -# It then loops over everything in TOPLEVEL and fills out the refdes * list and the attribute name list. It sticks these into a STRING_LIST * which is associated with the SHEET_DATA struct. * -# Then, knowing all the refdeses and all the attribute names, it * creates a TABLE data struct (a member of SHEET_DATA), and loops over * each cell in the TABLE. For each cell, it queries TOPLEVEL for the * corresponding name=value pair, and sticks the value in the TABLE. * -# When done with that, it then creates a GtkSheet and populates it * by looping over TABLE. * -# Then it turns over control to the user, who can manipulate the * GtkSheet. As the user adds and deletes values from the GtkSheet, the * values are stored locally there. The GtkSheet is the master * repository of all attributes at that point; the other data structures * are not updated. * * Saving out a design is similar, except the process runs in reverse: * * -# The program loops over all cells in GtkSheet, and sticks the * values found into SHEET_DATA. Handling issues like added/deleted * columns happens first at the GtkSheet, and then to SHEET_DATA and * TOPLEVEL. I've kind of forgotten how I implemented these feaures, * however. :-S * -# Then, the program loops over the cells in SHEET_DATA, and updates * the attributes in TOPLEVEL using functions from libgeda, as well as by * reaching directly into the TOPLEVEL data structure (a software * engineering no-no). If a previously existing attrib has been removed, * then it is removed from TOPLEVEL. If a new attrib has been attached * to a component, then it is added to TOPLEVEL. * -# Then the design is saved out using the save function from * libgeda. * * Therefore, think of SHEET_DATA and the other gattrib data structures * as a thin layer between GtkSheet and TOPLEVEL. The gattrib data * structures are used basically for convenience while trying to build or * update either of the two other, more important data structures. * */ #include #include #ifdef HAVE_UNISTD_H #include #endif /*------------------------------------------------------------------*/ /* Includes originally from testgtksheet -- stuff needed to deal with * spreadsheet widget. *------------------------------------------------------------------*/ #include #include #include #include #include #include #include #ifdef HAVE_STRING_H #include #endif /*------------------------------------------------------------------*/ /* Gattrib specific includes -- stuff dealing with gattrib data structs. *------------------------------------------------------------------*/ #include /* geda library fcns */ #include "../include/struct.h" /* typdef and struct declarations */ #include "../include/prototype.h" /* function prototypes */ #include "../include/globals.h" #ifdef HAVE_LIBDMALLOC #include #endif /*------------------------------------------------------------------*/ /*! \brief GTK callback to quit the program. * * This is called when the user quits the program using the UI. The * callback is attached to the GTK window_delete event in * x_window_init() and attached to the File->Quit menu item in * x_window_create_menu(). On execution, the function checks for * unsaved changes before calling gattrib_quit() to quit the program. * * \return value 0 to the shell to denote a successful quit. */ gboolean gattrib_really_quit(void) { if (sheet_head->CHANGED == TRUE) { x_dialog_unsaved_data(); } else { gattrib_quit(0); } return TRUE; } /*------------------------------------------------------------------*/ /*! \brief Quit the program. * * Unconditionally quit gattrib. Flushes caches and I/O channels, * calls the GTK function to quit the application then calls exit() * with the appropriate return code. * * \param return_code Value to pass to the exit() system call. */ gint gattrib_quit(gint return_code) { /* s_clib_cache_free(); */ s_clib_free(); s_slib_free(); /* s_rename_destroy_all(); */ #ifdef DEBUG fflush(stderr); fflush(stdout); printf("In gattrib_quit, calling gtk_main_quit()\n"); #endif gtk_main_quit(); exit(return_code); } /*------------------------------------------------------------------*/ /*! \brief The "real" main for gattrib. * * This is the main program body for gattrib. A pointer to this * function is passed to scm_boot_guile() at startup. * * This function: * - initialises threading, if the underlying GTK library is threaded. * However, gattrib itself isn't threaded. * - initialises libgeda; * - parses the command line; * - starts logging; * - registers the Scheme functions with Guile; * - parses the RC files; * - initialises the GTK UI; * - populates the spreadsheet data structure; * - calls gtk_main() to start the event loop. * * \param closure * \param argc Number of command line arguments * \param argv Command line arguments */ void gattrib_main(void *closure, int argc, char *argv[]) { /* TOPLEVEL *pr_current is a global */ /* SHEET_DATA *sheet_head is a global */ /* GtkWidget *main_window is a global */ int argv_index; #ifdef HAVE_GTHREAD /* Gattrib isn't threaded, but some of GTK's file chooser * backends uses threading so we need to call g_thread_init(). * GLib requires threading be initialised before any other GLib * functions are called. Do it now if its not already setup. */ if (!g_thread_supported ()) g_thread_init (NULL); #endif /* Initialize gEDA stuff */ libgeda_init(); /* Note that argv_index holds index to first non-flag command line option * (that is, to the first file name) */ argv_index = parse_commandline(argc, argv); /* ---------- create log file right away ---------- */ /* ---------- even if logging is enabled ---------- */ s_log_init ("gattrib"); s_log_message ("gEDA/gattrib version %s%s.%s\n", PREPEND_VERSION_STRING, PACKAGE_DOTTED_VERSION, PACKAGE_DATE_VERSION); s_log_message ("gEDA/gattrib comes with ABSOLUTELY NO WARRANTY; see COPYING for more details.\n"); s_log_message ("This is free software, and you are welcome to redistribute it under certain\n"); s_log_message ("conditions; please see the COPYING file for more details.\n\n"); /* ------ register guile (scheme) functions. Necessary to parse RC file. ------ */ g_register_funcs(); /* ---------- Start creation of new project: (TOPLEVEL *pr_current) ---------- */ pr_current = s_toplevel_new(); /* ----- Read in RC files. ----- */ g_rc_parse (pr_current, argv[0], "gattribrc", NULL); i_vars_set(pr_current); gtk_init(&argc, &argv); x_window_init(); /* ---------- Initialize SHEET_DATA data structure ---------- */ sheet_head = s_sheet_data_new(); /* sheet_head was declared in globals.h */ GSList *file_list = NULL; if (argv_index >= argc) { /* No files specified on the command line, pop up the File open dialog. */ file_list = x_fileselect_open(); if(file_list == NULL) exit(0); } else { /* Construct the list of filenames from the command line. * argv_index holds the position of the first filename */ while (argv_index < argc) { gchar *filename = f_normalize_filename(argv[argv_index], NULL); if (filename != NULL) { file_list = g_slist_append(file_list, filename); } else { fprintf(stderr, "Couldn't find file [%s]\n", argv[argv_index]); exit(1); } argv_index++; } } /* Load the files */ if(x_fileselect_load_files(file_list) == FALSE) { /* just exit the program */ exit(1); } g_slist_foreach(file_list, (GFunc)g_free, NULL); g_slist_free(file_list); gtk_main(); exit(0); } /*------------------------------------------------------------------*/ /*! \brief Entry point to gattrib * * This is just a wrapper which * invokes the guile stuff, and points to the real main program, * gattrib_main(). Note that I still need some vestigial * guile stuff in order to read the rc files. * * \param argc Number of command line arguments * \param argv Command line arguments */ int main(int argc, char *argv[]) { /* disable the deprecated warnings in guile 1.6.3 */ /* Eventually the warnings will need to be fixed */ if(getenv("GUILE_WARN_DEPRECATED")==NULL) putenv("GUILE_WARN_DEPRECATED=no"); /* Initialize the Guile Scheme interpreter. This function does not * return but calls exit(0) on completion. */ scm_boot_guile( argc, argv, gattrib_main, NULL); exit(0); /* This is not real exit point. Real exit is in gattrib_quit. */ } geda-gaf-1.8.2/gattrib/src/gtksheet_2_2.c0000664000175000017500000075522512220647257014776 00000000000000/* GtkSheet widget for Gtk+. * Copyright (C) 1999-2001 Adrian E. Feiguin * * Based on GtkClist widget by Jay Painter, but major changes. * Memory allocation routines inspired on SC (Spreadsheet Calculator) * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "gtksheet_2_2.h" #include "gtkextra-marshal.h" /*------------------------------------------------------------------ * Gattrib specific includes -- stuff dealing with gattrib data structs. * Included here in order to grab sheet_head->CHANGED, which is set * when the user puts a new value in a cell. *------------------------------------------------------------------*/ #include /* geda library fcns */ #include "../include/struct.h" /* typdef and struct declarations */ #include "../include/prototype.h" /* function prototypes */ #include "../include/globals.h" #ifdef HAVE_LIBDMALLOC #include #endif /* sheet flags */ enum { GTK_SHEET_IS_LOCKED = 1 << 0, GTK_SHEET_IS_FROZEN = 1 << 1, GTK_SHEET_IN_XDRAG = 1 << 2, GTK_SHEET_IN_YDRAG = 1 << 3, GTK_SHEET_IN_DRAG = 1 << 4, GTK_SHEET_IN_SELECTION = 1 << 5, GTK_SHEET_IN_RESIZE = 1 << 6, GTK_SHEET_IN_CLIP = 1 << 7, GTK_SHEET_REDRAW_PENDING = 1 << 8, }; #define GTK_SHEET_FLAGS(sheet) (GTK_SHEET (sheet)->flags) #define GTK_SHEET_SET_FLAGS(sheet,flag) (GTK_SHEET_FLAGS (sheet) |= (flag)) #define GTK_SHEET_UNSET_FLAGS(sheet,flag) (GTK_SHEET_FLAGS (sheet) &= ~(flag)) #define GTK_SHEET_IS_FROZEN(sheet) (GTK_SHEET_FLAGS (sheet) & GTK_SHEET_IS_FROZEN) #define GTK_SHEET_IN_XDRAG(sheet) (GTK_SHEET_FLAGS (sheet) & GTK_SHEET_IN_XDRAG) #define GTK_SHEET_IN_YDRAG(sheet) (GTK_SHEET_FLAGS (sheet) & GTK_SHEET_IN_YDRAG) #define GTK_SHEET_IN_DRAG(sheet) (GTK_SHEET_FLAGS (sheet) & GTK_SHEET_IN_DRAG) #define GTK_SHEET_IN_SELECTION(sheet) (GTK_SHEET_FLAGS (sheet) & GTK_SHEET_IN_SELECTION) #define GTK_SHEET_IN_RESIZE(sheet) (GTK_SHEET_FLAGS (sheet) & GTK_SHEET_IN_RESIZE) #define GTK_SHEET_IN_CLIP(sheet) (GTK_SHEET_FLAGS (sheet) & GTK_SHEET_IN_CLIP) #define GTK_SHEET_REDRAW_PENDING(sheet) (GTK_SHEET_FLAGS (sheet) & GTK_SHEET_REDRAW_PENDING) #define CELL_SPACING 1 #define DRAG_WIDTH 6 #define TIMEOUT_SCROLL 20 #define TIMEOUT_FLASH 200 #define TIME_INTERVAL 8 #define COLUMN_MIN_WIDTH 10 #define MINROWS 1 #define MINCOLS 1 #define MAXLENGTH 30 #define CELLOFFSET 4 #define DEFAULT_COLUMN_WIDTH 80 static inline guint DEFAULT_ROW_HEIGHT(GtkWidget *widget) { if(!widget->style->font_desc) return 24; else { PangoContext *context = gtk_widget_get_pango_context(widget); PangoFontMetrics *metrics = pango_context_get_metrics(context, widget->style->font_desc, pango_context_get_language(context)); guint val = pango_font_metrics_get_descent(metrics) + pango_font_metrics_get_ascent(metrics); pango_font_metrics_unref(metrics); return PANGO_PIXELS(val)+2*CELLOFFSET; } } static inline guint DEFAULT_FONT_ASCENT(GtkWidget *widget) { if(!widget->style->font_desc) return 12; else { PangoContext *context = gtk_widget_get_pango_context(widget); PangoFontMetrics *metrics = pango_context_get_metrics(context, widget->style->font_desc, pango_context_get_language(context)); guint val = pango_font_metrics_get_ascent(metrics); pango_font_metrics_unref(metrics); return PANGO_PIXELS(val); } } static inline guint STRING_WIDTH(GtkWidget *widget, PangoFontDescription *font, const gchar *text) { PangoRectangle rect; PangoLayout *layout; layout = gtk_widget_create_pango_layout (widget, text); pango_layout_set_font_description (layout, font); pango_layout_get_extents (layout, NULL, &rect); g_object_unref(G_OBJECT(layout)); return PANGO_PIXELS(rect.width); } static inline guint DEFAULT_FONT_DESCENT(GtkWidget *widget) { if(!widget->style->font_desc) return 12; else { PangoContext *context = gtk_widget_get_pango_context(widget); PangoFontMetrics *metrics = pango_context_get_metrics(context, widget->style->font_desc, pango_context_get_language(context)); guint val = pango_font_metrics_get_descent(metrics); pango_font_metrics_unref(metrics); return PANGO_PIXELS(val); } } /*! \brief gives the top pixel of the given row in context of * the sheet's voffset * */ static inline gint ROW_TOP_YPIXEL(GtkSheet *sheet, gint nrow) { return (sheet->voffset + sheet->row[nrow].top_ypixel); } /*! \brief returns the row index from a y pixel location in the * context of the sheet's voffset * */ static inline gint ROW_FROM_YPIXEL(GtkSheet *sheet, gint y) { gint i, cy; cy = sheet->voffset; if(sheet->column_titles_visible) cy += sheet->column_title_area.height; if(y < cy) return 0; for (i = 0; i <= sheet->maxrow; i++) { if (y >= cy && y <= (cy + sheet->row[i].height) && sheet->row[i].is_visible) return i; if(sheet->row[i].is_visible) cy += sheet->row[i].height; } /* no match */ return sheet->maxrow; } /*! \brief gives the left pixel of the given column in context of * the sheet's hoffset * */ static inline gint COLUMN_LEFT_XPIXEL(GtkSheet *sheet, gint ncol) { return (sheet->hoffset + sheet->column[ncol].left_xpixel); } /*! \brief returns the column index from a x pixel location in the * context of the sheet's hoffset * */ static inline gint COLUMN_FROM_XPIXEL (GtkSheet * sheet, gint x) { gint i, cx; cx = sheet->hoffset; if(sheet->row_titles_visible) cx += sheet->row_title_area.width; if(x < cx) return 0; for (i = 0; i <= sheet->maxcol; i++) { if (x >= cx && x <= (cx + sheet->column[i].width) && sheet->column[i].is_visible) return i; if(sheet->column[i].is_visible) cx += sheet->column[i].width; } /* no match */ return sheet->maxcol; } /*! \brief returns the total height of the sheet * */ static inline gint SHEET_HEIGHT(GtkSheet *sheet) { gint i,cx; cx = 0; if(sheet->column_titles_visible) cx += sheet->column_title_area.height; for (i=0;i<=sheet->maxrow; i++) if(sheet->row[i].is_visible) cx += sheet->row[i].height; return cx; } /*! \brief returns the total width of the sheet * */ static inline gint SHEET_WIDTH(GtkSheet *sheet) { gint i,cx; cx = 0; if(sheet->row_titles_visible) cx += sheet->row_title_area.width; for (i=0;i<=sheet->maxcol; i++) if(sheet->column[i].is_visible) cx += sheet->column[i].width; return cx; } #define MIN_VISIBLE_ROW(sheet) sheet->view.row0 #define MAX_VISIBLE_ROW(sheet) sheet->view.rowi #define MIN_VISIBLE_COLUMN(sheet) sheet->view.col0 #define MAX_VISIBLE_COLUMN(sheet) sheet->view.coli static inline gint POSSIBLE_XDRAG(GtkSheet *sheet, gint x, gint *drag_column) { gint column, xdrag; column=COLUMN_FROM_XPIXEL(sheet, x); *drag_column=column; xdrag=COLUMN_LEFT_XPIXEL(sheet,column)+CELL_SPACING; if(x <= xdrag+DRAG_WIDTH/2 && column != 0){ while(!sheet->column[column-1].is_visible && column>0) column--; *drag_column=column-1; return sheet->column[column-1].is_sensitive; } xdrag+=sheet->column[column].width; if(x >= xdrag-DRAG_WIDTH/2 && x <= xdrag+DRAG_WIDTH/2) return sheet->column[column].is_sensitive; return FALSE; } static inline gint POSSIBLE_YDRAG(GtkSheet *sheet, gint y, gint *drag_row) { gint row, ydrag; row=ROW_FROM_YPIXEL(sheet, y); *drag_row=row; ydrag=ROW_TOP_YPIXEL(sheet,row)+CELL_SPACING; if(y <= ydrag+DRAG_WIDTH/2 && row != 0){ while(!sheet->row[row-1].is_visible && row>0) row--; *drag_row=row-1; return sheet->row[row-1].is_sensitive; } ydrag+=sheet->row[row].height; if(y >= ydrag-DRAG_WIDTH/2 && y <= ydrag+DRAG_WIDTH/2) return sheet->row[row].is_sensitive; return FALSE; } static inline gint POSSIBLE_DRAG(GtkSheet *sheet, gint x, gint y, gint *drag_row, gint *drag_column) { gint ydrag, xdrag; *drag_column=COLUMN_FROM_XPIXEL(sheet,x); *drag_row=ROW_FROM_YPIXEL(sheet,y); if(x>=COLUMN_LEFT_XPIXEL(sheet,sheet->range.col0)-DRAG_WIDTH/2 && x<=COLUMN_LEFT_XPIXEL(sheet,sheet->range.coli)+ sheet->column[sheet->range.coli].width+DRAG_WIDTH/2){ ydrag=ROW_TOP_YPIXEL(sheet,sheet->range.row0); if(y>=ydrag-DRAG_WIDTH/2 && y<=ydrag+DRAG_WIDTH/2){ *drag_row=sheet->range.row0; return TRUE; } ydrag=ROW_TOP_YPIXEL(sheet,sheet->range.rowi)+ sheet->row[sheet->range.rowi].height; if(y>=ydrag-DRAG_WIDTH/2 && y<=ydrag+DRAG_WIDTH/2){ *drag_row=sheet->range.rowi; return TRUE; } } if(y>=ROW_TOP_YPIXEL(sheet,sheet->range.row0)-DRAG_WIDTH/2 && y<=ROW_TOP_YPIXEL(sheet,sheet->range.rowi)+ sheet->row[sheet->range.rowi].height+DRAG_WIDTH/2){ xdrag=COLUMN_LEFT_XPIXEL(sheet,sheet->range.col0); if(x>=xdrag-DRAG_WIDTH/2 && x<=xdrag+DRAG_WIDTH/2){ *drag_column=sheet->range.col0; return TRUE; } xdrag=COLUMN_LEFT_XPIXEL(sheet,sheet->range.coli)+ sheet->column[sheet->range.coli].width; if(x>=xdrag-DRAG_WIDTH/2 && x<=xdrag+DRAG_WIDTH/2){ *drag_column=sheet->range.coli; return TRUE; } } return FALSE; } static inline gint POSSIBLE_RESIZE(GtkSheet *sheet, gint x, gint y, gint *drag_row, gint *drag_column) { gint xdrag, ydrag; xdrag=COLUMN_LEFT_XPIXEL(sheet,sheet->range.coli)+ sheet->column[sheet->range.coli].width; ydrag=ROW_TOP_YPIXEL(sheet,sheet->range.rowi)+ sheet->row[sheet->range.rowi].height; if(sheet->state == GTK_SHEET_COLUMN_SELECTED) ydrag = ROW_TOP_YPIXEL(sheet, sheet->view.row0); if(sheet->state == GTK_SHEET_ROW_SELECTED) xdrag = COLUMN_LEFT_XPIXEL(sheet, sheet->view.col0); *drag_column=COLUMN_FROM_XPIXEL(sheet,x); *drag_row=ROW_FROM_YPIXEL(sheet,y); if(x>=xdrag-DRAG_WIDTH/2 && x<=xdrag+DRAG_WIDTH/2 && y>=ydrag-DRAG_WIDTH/2 && y<=ydrag+DRAG_WIDTH/2) return TRUE; return FALSE; } static void gtk_sheet_class_init (GtkSheetClass * klass); static void gtk_sheet_init (GtkSheet * sheet); static void gtk_sheet_destroy (GtkObject * object); static void gtk_sheet_finalize (GObject * object); static void gtk_sheet_style_set (GtkWidget *widget, GtkStyle *previous_style); static void gtk_sheet_realize (GtkWidget * widget); static void gtk_sheet_unrealize (GtkWidget * widget); static void gtk_sheet_map (GtkWidget * widget); static void gtk_sheet_unmap (GtkWidget * widget); static gint gtk_sheet_expose (GtkWidget * widget, GdkEventExpose * event); static void gtk_sheet_forall (GtkContainer *container, gboolean include_internals, GtkCallback callback, gpointer callback_data); static void gtk_sheet_set_scroll_adjustments (GtkSheet *sheet, GtkAdjustment *hadjustment, GtkAdjustment *vadjustment); static gint gtk_sheet_button_press (GtkWidget * widget, GdkEventButton * event); static gint gtk_sheet_button_release (GtkWidget * widget, GdkEventButton * event); static gint gtk_sheet_motion (GtkWidget * widget, GdkEventMotion * event); #if 0 static gint gtk_sheet_entry_key_press (GtkWidget *widget, GdkEventKey *key); #endif static gint gtk_sheet_key_press (GtkWidget *widget, GdkEventKey *key); static void gtk_sheet_size_request (GtkWidget * widget, GtkRequisition * requisition); static void gtk_sheet_size_allocate (GtkWidget * widget, GtkAllocation * allocation); /* Sheet queries */ static gint gtk_sheet_range_isvisible (GtkSheet * sheet, GtkSheetRange range); static gint gtk_sheet_cell_isvisible (GtkSheet * sheet, gint row, gint column); /* Clipped Range */ static gint gtk_sheet_scroll (gpointer data); static gint gtk_sheet_flash (gpointer data); /* Drawing Routines */ /* draw cell background and frame */ static void gtk_sheet_cell_draw_default (GtkSheet *sheet, gint row, gint column); /* draw cell border */ static void gtk_sheet_cell_draw_border (GtkSheet *sheet, gint row, gint column, gint mask); /* draw cell contents */ static void gtk_sheet_cell_draw_label (GtkSheet *sheet, gint row, gint column); /* draw visible part of range. If range==NULL then draw the whole screen */ static void gtk_sheet_range_draw (GtkSheet *sheet, const GtkSheetRange *range); /* highlight the visible part of the selected range */ static void gtk_sheet_range_draw_selection (GtkSheet *sheet, GtkSheetRange range); /* Selection */ static gint gtk_sheet_move_query (GtkSheet *sheet, gint row, gint column); static void gtk_sheet_real_select_range (GtkSheet * sheet, GtkSheetRange * range); static void gtk_sheet_real_unselect_range (GtkSheet * sheet, const GtkSheetRange * range); static void gtk_sheet_extend_selection (GtkSheet *sheet, gint row, gint column); static void gtk_sheet_new_selection (GtkSheet *sheet, GtkSheetRange *range); static void gtk_sheet_draw_border (GtkSheet *sheet, GtkSheetRange range); static void gtk_sheet_draw_corners (GtkSheet *sheet, GtkSheetRange range); /* Active Cell handling */ static void gtk_sheet_entry_changed (GtkWidget *widget, gpointer data); static gboolean gtk_sheet_deactivate_cell (GtkSheet *sheet); static void gtk_sheet_hide_active_cell (GtkSheet *sheet); static gboolean gtk_sheet_activate_cell (GtkSheet *sheet, gint row, gint col); static void gtk_sheet_draw_active_cell (GtkSheet *sheet); static void gtk_sheet_show_active_cell (GtkSheet *sheet); static void gtk_sheet_click_cell (GtkSheet *sheet, gint row, gint column, gboolean *veto); /* Backing Pixmap */ static void gtk_sheet_make_backing_pixmap (GtkSheet *sheet, guint width, guint height); static void gtk_sheet_draw_backing_pixmap (GtkSheet *sheet, GtkSheetRange range); /* Scrollbars */ static void adjust_scrollbars (GtkSheet * sheet); static void vadjustment_changed (GtkAdjustment * adjustment, gpointer data); static void hadjustment_changed (GtkAdjustment * adjustment, gpointer data); static void vadjustment_value_changed (GtkAdjustment * adjustment, gpointer data); static void hadjustment_value_changed (GtkAdjustment * adjustment, gpointer data); static void draw_xor_vline (GtkSheet * sheet); static void draw_xor_hline (GtkSheet * sheet); static void draw_xor_rectangle (GtkSheet *sheet, GtkSheetRange range); static void gtk_sheet_draw_flashing_range (GtkSheet *sheet, GtkSheetRange range); static guint new_column_width (GtkSheet * sheet, gint column, gint * x); static guint new_row_height (GtkSheet * sheet, gint row, gint * y); /* Sheet Button */ static void create_global_button (GtkSheet *sheet); static void global_button_clicked (GtkWidget *widget, gpointer data); /* Sheet Entry */ static void create_sheet_entry (GtkSheet *sheet); static void gtk_sheet_size_allocate_entry (GtkSheet *sheet); /* Sheet button gadgets */ static void size_allocate_column_title_buttons (GtkSheet * sheet); static void size_allocate_row_title_buttons (GtkSheet * sheet); static void gtk_sheet_recalc_top_ypixels (GtkSheet *sheet, gint row); static void gtk_sheet_recalc_left_xpixels (GtkSheet *sheet, gint column); static void row_button_set (GtkSheet *sheet, gint row); static void column_button_set (GtkSheet *sheet, gint column); static void row_button_release (GtkSheet *sheet, gint row); static void column_button_release (GtkSheet *sheet, gint column); static void gtk_sheet_button_draw (GtkSheet *sheet, gint row, gint column); static void size_allocate_global_button (GtkSheet *sheet); static void gtk_sheet_button_size_request (GtkSheet *sheet, GtkSheetButton *button, GtkRequisition *requisition); /* Attributes routines */ static void gtk_sheet_set_cell_attributes (GtkSheet *sheet, gint row, gint col, GtkSheetCellAttr attributes); static void init_attributes (GtkSheet *sheet, gint col, GtkSheetCellAttr *attributes); /* Memory allocation routines */ static void gtk_sheet_real_range_clear (GtkSheet *sheet, const GtkSheetRange *range, gboolean delete); static void gtk_sheet_real_cell_clear (GtkSheet *sheet, gint row, gint column, gboolean delete); static GtkSheetCell * gtk_sheet_cell_new (void); static gint AddRow (GtkSheet *sheet, gint nrows); static gint AddColumn (GtkSheet *sheet, gint ncols); static gint InsertRow (GtkSheet *sheet, gint row, gint nrows); static gint InsertColumn (GtkSheet *sheet, gint col, gint ncols); static gint DeleteRow (GtkSheet *sheet, gint row, gint nrows); static gint DeleteColumn (GtkSheet *sheet, gint col, gint ncols); static gint GrowSheet (GtkSheet *sheet, gint newrows, gint newcols); static gint CheckBounds (GtkSheet *sheet, gint row, gint col); /* Container Functions */ static void gtk_sheet_remove (GtkContainer *container, GtkWidget *widget); static void gtk_sheet_realize_child (GtkSheet *sheet, GtkSheetChild *child); static void gtk_sheet_position_child (GtkSheet *sheet, GtkSheetChild *child); static void gtk_sheet_position_children (GtkSheet *sheet); static void gtk_sheet_child_show (GtkSheetChild *child); static void gtk_sheet_child_hide (GtkSheetChild *child); static void gtk_sheet_column_size_request (GtkSheet *sheet, gint col, guint *requisition); static void gtk_sheet_row_size_request (GtkSheet *sheet, gint row, guint *requisition); /* Signals */ /* \brief Imported from gtkextra.c by SDB 7.22.2004 * */ void _gtkextra_signal_emit(GtkObject *object, guint signal_id, ...) { gboolean *result; GValue ret = { 0, }; GValue instance_and_params [10] = { {0, }, }; va_list var_args; GSignalQuery query; gchar *error; int i; va_start (var_args, signal_id); g_value_init(instance_and_params + 0, GTK_OBJECT_TYPE(object)); g_value_set_instance (instance_and_params + 0, G_OBJECT(object)); g_signal_query(signal_id, &query); for (i = 0; i < query.n_params; i++) { gboolean static_scope = query.param_types[i]&~G_SIGNAL_TYPE_STATIC_SCOPE; g_value_init(instance_and_params + i + 1, query.param_types[i]); G_VALUE_COLLECT (instance_and_params + i + 1, var_args, static_scope ? G_VALUE_NOCOPY_CONTENTS : 0, &error); if (error) { g_warning ("%s: %s", G_STRLOC, error); g_free (error); while (i-- > 0) g_value_unset (instance_and_params + i); va_end (var_args); return; } } g_value_init(&ret, query.return_type); result = va_arg(var_args,gboolean *); g_value_set_boolean(&ret, *result); g_signal_emitv(instance_and_params, signal_id, 0, &ret); *result = g_value_get_boolean(&ret); g_value_unset (&ret); for (i = 0; i < query.n_params; i++) g_value_unset (instance_and_params + 1 + i); g_value_unset (instance_and_params + 0); va_end (var_args); } enum { SELECT_ROW, SELECT_COLUMN, SELECT_RANGE, CLIP_RANGE, RESIZE_RANGE, MOVE_RANGE, TRAVERSE, DEACTIVATE, ACTIVATE, SET_CELL, CLEAR_CELL, CHANGED, NEW_COL_WIDTH, NEW_ROW_HEIGHT, LAST_SIGNAL }; static GtkContainerClass *parent_class = NULL; static guint sheet_signals[LAST_SIGNAL] = {0}; GType gtk_sheet_get_type () { static GType sheet_type = 0; if (!sheet_type) { static const GTypeInfo sheet_info = { sizeof (GtkSheetClass), NULL, NULL, (GClassInitFunc) gtk_sheet_class_init, NULL, NULL, sizeof (GtkSheet), 0, (GInstanceInitFunc) gtk_sheet_init, NULL, }; sheet_type = g_type_register_static (GTK_TYPE_CONTAINER, "GtkSheet", &sheet_info, 0); } return sheet_type; } static GtkSheetRange* gtk_sheet_range_copy (const GtkSheetRange *range) { GtkSheetRange *new_range; g_return_val_if_fail (range != NULL, NULL); new_range = g_new (GtkSheetRange, 1); *new_range = *range; return new_range; } static void gtk_sheet_range_free (GtkSheetRange *range) { g_return_if_fail (range != NULL); g_free (range); } GType gtk_sheet_range_get_type (void) { static GType sheet_range_type; if(!sheet_range_type) { sheet_range_type = g_boxed_type_register_static("GtkSheetRange", (GBoxedCopyFunc)gtk_sheet_range_copy, (GBoxedFreeFunc)gtk_sheet_range_free); } return sheet_range_type; } static void gtk_sheet_class_init (GtkSheetClass * klass) { GtkObjectClass *object_class; GtkWidgetClass *widget_class; GtkContainerClass *container_class; GObjectClass *gobject_class = G_OBJECT_CLASS (klass); object_class = (GtkObjectClass *) klass; widget_class = (GtkWidgetClass *) klass; container_class = (GtkContainerClass *) klass; parent_class = g_type_class_peek_parent (klass); sheet_signals[SELECT_ROW] = gtk_signal_new ("select_row", GTK_RUN_LAST, GTK_CLASS_TYPE(object_class), GTK_SIGNAL_OFFSET (GtkSheetClass, select_row), gtkextra_VOID__INT, GTK_TYPE_NONE, 1, GTK_TYPE_INT); sheet_signals[SELECT_COLUMN] = gtk_signal_new ("select_column", GTK_RUN_LAST, GTK_CLASS_TYPE(object_class), GTK_SIGNAL_OFFSET (GtkSheetClass, select_column), gtkextra_VOID__INT, GTK_TYPE_NONE, 1, GTK_TYPE_INT); sheet_signals[SELECT_RANGE] = gtk_signal_new ("select_range", GTK_RUN_LAST, GTK_CLASS_TYPE(object_class), GTK_SIGNAL_OFFSET (GtkSheetClass, select_range), gtkextra_VOID__BOXED, GTK_TYPE_NONE, 1, GTK_TYPE_SHEET_RANGE); sheet_signals[CLIP_RANGE] = gtk_signal_new ("clip_range", GTK_RUN_LAST, GTK_CLASS_TYPE(object_class), GTK_SIGNAL_OFFSET (GtkSheetClass, clip_range), gtkextra_VOID__BOXED, GTK_TYPE_NONE, 1, GTK_TYPE_SHEET_RANGE); sheet_signals[RESIZE_RANGE] = gtk_signal_new ("resize_range", GTK_RUN_LAST, GTK_CLASS_TYPE(object_class), GTK_SIGNAL_OFFSET (GtkSheetClass, resize_range), gtkextra_VOID__BOXED_BOXED, GTK_TYPE_NONE, 2, GTK_TYPE_SHEET_RANGE, GTK_TYPE_SHEET_RANGE); sheet_signals[MOVE_RANGE] = gtk_signal_new ("move_range", GTK_RUN_LAST, GTK_CLASS_TYPE(object_class), GTK_SIGNAL_OFFSET (GtkSheetClass, move_range), gtkextra_VOID__BOXED_BOXED, GTK_TYPE_NONE, 2, GTK_TYPE_SHEET_RANGE, GTK_TYPE_SHEET_RANGE); sheet_signals[TRAVERSE] = gtk_signal_new ("traverse", GTK_RUN_LAST, GTK_CLASS_TYPE(object_class), GTK_SIGNAL_OFFSET (GtkSheetClass, traverse), gtkextra_BOOLEAN__INT_INT_POINTER_POINTER, GTK_TYPE_BOOL, 4, GTK_TYPE_INT, GTK_TYPE_INT, GTK_TYPE_POINTER, GTK_TYPE_POINTER); sheet_signals[DEACTIVATE] = gtk_signal_new ("deactivate", GTK_RUN_LAST, GTK_CLASS_TYPE(object_class), GTK_SIGNAL_OFFSET (GtkSheetClass, deactivate), gtkextra_BOOLEAN__INT_INT, GTK_TYPE_BOOL, 2, GTK_TYPE_INT, GTK_TYPE_INT); sheet_signals[ACTIVATE] = gtk_signal_new ("activate", GTK_RUN_LAST, GTK_CLASS_TYPE(object_class), GTK_SIGNAL_OFFSET (GtkSheetClass, activate), gtkextra_BOOLEAN__INT_INT, GTK_TYPE_BOOL, 2, GTK_TYPE_INT, GTK_TYPE_INT); sheet_signals[SET_CELL] = gtk_signal_new ("set_cell", GTK_RUN_LAST, GTK_CLASS_TYPE(object_class), GTK_SIGNAL_OFFSET (GtkSheetClass, set_cell), gtkextra_VOID__INT_INT, GTK_TYPE_NONE, 2, GTK_TYPE_INT, GTK_TYPE_INT); sheet_signals[CLEAR_CELL] = gtk_signal_new ("clear_cell", GTK_RUN_LAST, GTK_CLASS_TYPE(object_class), GTK_SIGNAL_OFFSET (GtkSheetClass, clear_cell), gtkextra_VOID__INT_INT, GTK_TYPE_NONE, 2, GTK_TYPE_INT, GTK_TYPE_INT); sheet_signals[CHANGED] = gtk_signal_new ("changed", GTK_RUN_LAST, GTK_CLASS_TYPE(object_class), GTK_SIGNAL_OFFSET (GtkSheetClass, changed), gtkextra_VOID__INT_INT, GTK_TYPE_NONE, 2, GTK_TYPE_INT, GTK_TYPE_INT); sheet_signals[NEW_COL_WIDTH] = gtk_signal_new ("new_column_width", GTK_RUN_LAST, GTK_CLASS_TYPE(object_class), GTK_SIGNAL_OFFSET (GtkSheetClass, changed), gtkextra_VOID__INT_INT, GTK_TYPE_NONE, 2, GTK_TYPE_INT, GTK_TYPE_INT); sheet_signals[NEW_ROW_HEIGHT] = gtk_signal_new ("new_row_height", GTK_RUN_LAST, GTK_CLASS_TYPE(object_class), GTK_SIGNAL_OFFSET (GtkSheetClass, changed), gtkextra_VOID__INT_INT, GTK_TYPE_NONE, 2, GTK_TYPE_INT, GTK_TYPE_INT); widget_class->set_scroll_adjustments_signal = gtk_signal_new ("set_scroll_adjustments", GTK_RUN_LAST, GTK_CLASS_TYPE(object_class), GTK_SIGNAL_OFFSET (GtkSheetClass, set_scroll_adjustments), gtkextra_VOID__OBJECT_OBJECT, GTK_TYPE_NONE, 2, GTK_TYPE_ADJUSTMENT, GTK_TYPE_ADJUSTMENT); container_class->add = NULL; container_class->remove = gtk_sheet_remove; container_class->forall = gtk_sheet_forall; object_class->destroy = gtk_sheet_destroy; gobject_class->finalize = gtk_sheet_finalize; widget_class->realize = gtk_sheet_realize; widget_class->unrealize = gtk_sheet_unrealize; widget_class->map = gtk_sheet_map; widget_class->unmap = gtk_sheet_unmap; widget_class->style_set = gtk_sheet_style_set; widget_class->button_press_event = gtk_sheet_button_press; widget_class->button_release_event = gtk_sheet_button_release; widget_class->motion_notify_event = gtk_sheet_motion; widget_class->key_press_event = gtk_sheet_key_press; widget_class->expose_event = gtk_sheet_expose; widget_class->size_request = gtk_sheet_size_request; widget_class->size_allocate = gtk_sheet_size_allocate; widget_class->focus_in_event = NULL; widget_class->focus_out_event = NULL; klass->set_scroll_adjustments = gtk_sheet_set_scroll_adjustments; klass->select_row = NULL; klass->select_column = NULL; klass->select_range = NULL; klass->clip_range = NULL; klass->resize_range = NULL; klass->move_range = NULL; klass->traverse = NULL; klass->deactivate = NULL; klass->activate = NULL; klass->set_cell = NULL; klass->clear_cell = NULL; klass->changed = NULL; gtk_widget_class_install_style_property (widget_class, g_param_spec_boxed ("default-border", NULL, /* P_("Default Spacing"),*/ NULL, /* P_("Extra space to add for CAN_DEFAULT buttons"), */ GTK_TYPE_BORDER, G_PARAM_READABLE)); gtk_widget_class_install_style_property (widget_class, g_param_spec_boxed ("default-outside-border", NULL, /* P_("Default Outside Spacing"), */ NULL, /* P_("Extra space to add for CAN_DEFAULT buttons that is always drawn outside the border"), */ GTK_TYPE_BORDER, G_PARAM_READABLE)); } static void gtk_sheet_init (GtkSheet *sheet) { sheet->children = NULL; sheet->flags = 0; sheet->selection_mode = GTK_SELECTION_BROWSE; sheet->freeze_count = 0; sheet->state = GTK_SHEET_NORMAL; GTK_WIDGET_UNSET_FLAGS (sheet, GTK_NO_WINDOW); GTK_WIDGET_SET_FLAGS (sheet, GTK_CAN_FOCUS); sheet->maxrow = 0; sheet->maxcol = 0; sheet->view.row0 = 0; sheet->view.col0 = 0; sheet->view.rowi = 0; sheet->view.coli = 0; sheet->maxallocrow = 0; sheet->maxalloccol = 0; sheet->column_title_window=NULL; sheet->column_title_area.x=0; sheet->column_title_area.y=0; sheet->column_title_area.width=0; sheet->column_title_area.height=DEFAULT_ROW_HEIGHT(GTK_WIDGET(sheet)); sheet->row_title_window=NULL; sheet->row_title_area.x=0; sheet->row_title_area.y=0; sheet->row_title_area.width=DEFAULT_COLUMN_WIDTH; sheet->row_title_area.height=0; sheet->active_cell.row=0; sheet->active_cell.col=0; sheet->selection_cell.row=0; sheet->selection_cell.col=0; sheet->sheet_entry=NULL; sheet->pixmap=NULL; sheet->range.row0=0; sheet->range.rowi=0; sheet->range.col0=0; sheet->range.coli=0; sheet->state=GTK_SHEET_NORMAL; sheet->sheet_window = NULL; sheet->sheet_window_width = 0; sheet->sheet_window_height = 0; sheet->sheet_entry = NULL; sheet->button = NULL; sheet->hoffset = 0; sheet->voffset = 0; sheet->hadjustment = NULL; sheet->vadjustment = NULL; sheet->cursor_drag = gdk_cursor_new(GDK_PLUS); sheet->xor_gc = NULL; sheet->fg_gc = NULL; sheet->bg_gc = NULL; sheet->x_drag = 0; sheet->y_drag = 0; gdk_color_white(gdk_colormap_get_system(), &sheet->bg_color); gdk_color_parse("gray", &sheet->grid_color); gdk_color_alloc(gdk_colormap_get_system(), &sheet->grid_color); sheet->show_grid = TRUE; } GtkWidget * gtk_sheet_new (guint rows, guint columns, const gchar *title) { GtkWidget *widget; /* sanity check */ g_return_val_if_fail (columns >= MINCOLS, NULL); g_return_val_if_fail (rows >= MINROWS, NULL); widget = gtk_type_new (gtk_sheet_get_type ()); gtk_sheet_construct(GTK_SHEET(widget), rows, columns, title); return widget; } void gtk_sheet_construct (GtkSheet *sheet, guint rows, guint columns, const gchar *title) { sheet->row=(GtkSheetRow *)g_malloc(sizeof(GtkSheetRow)); sheet->column=(GtkSheetColumn *)g_malloc(sizeof(GtkSheetColumn)); sheet->data=(GtkSheetCell ***)g_malloc(sizeof(GtkSheetCell **)); sheet->data[0] = (GtkSheetCell **)g_malloc(sizeof(GtkSheetCell *)+sizeof(gdouble)); sheet->data[0][0] = NULL; sheet->columns_resizable = TRUE; sheet->rows_resizable = TRUE; sheet->row_titles_visible = TRUE; sheet->column_titles_visible = TRUE; sheet->autoscroll = TRUE; sheet->justify_entry = TRUE; sheet->locked = FALSE; /* set number of rows and columns */ GrowSheet(sheet, MINROWS, MINCOLS); /* Init row an column zero */ AddRow(sheet,-1); AddColumn(sheet,-1); /* Add rows and columns */ AddRow(sheet,rows-1); AddColumn(sheet,columns-1); /* create sheet entry */ sheet->entry_type = 0; create_sheet_entry (sheet); /* create global selection button */ create_global_button(sheet); if(title) sheet->name = g_strdup(title); } GtkWidget * gtk_sheet_new_browser(guint rows, guint columns, const gchar *title) { GtkWidget *widget; widget = gtk_type_new (gtk_sheet_get_type ()); gtk_sheet_construct_browser(GTK_SHEET(widget), rows, columns, title); return widget; } void gtk_sheet_construct_browser(GtkSheet *sheet, guint rows, guint columns, const gchar *title) { gtk_sheet_construct(sheet, rows, columns, title); gtk_sheet_set_locked(sheet, TRUE); sheet->autoresize = TRUE; } GtkWidget * gtk_sheet_new_with_custom_entry (guint rows, guint columns, const gchar *title, GtkType entry_type) { GtkWidget *widget; widget = gtk_type_new (gtk_sheet_get_type ()); gtk_sheet_construct_with_custom_entry(GTK_SHEET(widget), rows, columns, title, entry_type); return widget; } void gtk_sheet_construct_with_custom_entry (GtkSheet *sheet, guint rows, guint columns, const gchar *title, GtkType entry_type) { gtk_sheet_construct(sheet, rows, columns, title); sheet->entry_type = entry_type; create_sheet_entry(sheet); } void gtk_sheet_change_entry(GtkSheet *sheet, GtkType entry_type) { gint state; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); state = sheet->state; if(sheet->state == GTK_SHEET_NORMAL) gtk_sheet_hide_active_cell(sheet); sheet->entry_type = entry_type; create_sheet_entry(sheet); if(state == GTK_SHEET_NORMAL) { gtk_sheet_show_active_cell(sheet); gtk_signal_connect(GTK_OBJECT(gtk_sheet_get_entry(sheet)), "changed", (GtkSignalFunc)gtk_sheet_entry_changed, GTK_OBJECT(GTK_WIDGET(sheet))); } } void gtk_sheet_show_grid(GtkSheet *sheet, gboolean show) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(show == sheet->show_grid) return; sheet->show_grid = show; if(!GTK_SHEET_IS_FROZEN(sheet)) gtk_sheet_range_draw(sheet, NULL); } gboolean gtk_sheet_grid_visible(GtkSheet *sheet) { g_return_val_if_fail (sheet != NULL, 0); g_return_val_if_fail (GTK_IS_SHEET (sheet), 0); return sheet->show_grid; } void gtk_sheet_set_background(GtkSheet *sheet, GdkColor *color) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(!color) gdk_color_white(gdk_colormap_get_system(), &sheet->bg_color); else sheet->bg_color = *color; if(!GTK_SHEET_IS_FROZEN(sheet)) gtk_sheet_range_draw(sheet, NULL); } void gtk_sheet_set_grid(GtkSheet *sheet, GdkColor *color) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(!color) gdk_color_black(gdk_colormap_get_system(), &sheet->grid_color); else sheet->grid_color = *color; if(!GTK_SHEET_IS_FROZEN(sheet)) gtk_sheet_range_draw(sheet, NULL); } guint gtk_sheet_get_columns_count(GtkSheet *sheet) { g_return_val_if_fail (sheet != NULL, 0); g_return_val_if_fail (GTK_IS_SHEET (sheet), 0); return sheet->maxcol + 1; } guint gtk_sheet_get_rows_count(GtkSheet *sheet) { g_return_val_if_fail (sheet != NULL, 0); g_return_val_if_fail (GTK_IS_SHEET (sheet), 0); return sheet->maxrow + 1; } gint gtk_sheet_get_state(GtkSheet *sheet) { g_return_val_if_fail (sheet != NULL, 0); g_return_val_if_fail (GTK_IS_SHEET (sheet), 0); return (sheet->state); } void gtk_sheet_set_selection_mode(GtkSheet *sheet, gint mode) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(GTK_WIDGET_REALIZED(sheet)) gtk_sheet_real_unselect_range(sheet, NULL); sheet->selection_mode = mode; } void gtk_sheet_set_autoresize (GtkSheet *sheet, gboolean autoresize) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); sheet->autoresize = autoresize; } gboolean gtk_sheet_autoresize (GtkSheet *sheet) { g_return_val_if_fail (sheet != NULL, FALSE); g_return_val_if_fail (GTK_IS_SHEET (sheet), FALSE); return sheet->autoresize; } void gtk_sheet_set_autoscroll (GtkSheet *sheet, gboolean autoscroll) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); sheet->autoscroll = autoscroll; } gboolean gtk_sheet_autoscroll (GtkSheet *sheet) { g_return_val_if_fail (sheet != NULL, FALSE); g_return_val_if_fail (GTK_IS_SHEET (sheet), FALSE); return sheet->autoscroll; } void gtk_sheet_set_clip_text (GtkSheet *sheet, gboolean clip_text) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); sheet->clip_text = clip_text; } gboolean gtk_sheet_clip_text (GtkSheet *sheet) { g_return_val_if_fail (sheet != NULL, FALSE); g_return_val_if_fail (GTK_IS_SHEET (sheet), FALSE); return sheet->clip_text; } void gtk_sheet_set_justify_entry (GtkSheet *sheet, gboolean justify) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); sheet->justify_entry = justify; } gboolean gtk_sheet_justify_entry (GtkSheet *sheet) { g_return_val_if_fail (sheet != NULL, FALSE); g_return_val_if_fail (GTK_IS_SHEET (sheet), FALSE); return sheet->justify_entry; } void gtk_sheet_set_locked (GtkSheet *sheet, gboolean locked) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); sheet->locked = locked; } gboolean gtk_sheet_locked (GtkSheet *sheet) { g_return_val_if_fail (sheet != NULL, FALSE); g_return_val_if_fail (GTK_IS_SHEET (sheet), FALSE); return sheet->locked; } /* This routine has problems with gtk+-1.2 related with the * label/button drawing - I think it's a bug in gtk+-1.2 */ void gtk_sheet_set_title(GtkSheet *sheet, const gchar *title) { /* GtkWidget *old_widget; */ GtkWidget *label; g_return_if_fail (sheet != NULL); g_return_if_fail (title != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if (sheet->name) g_free (sheet->name); sheet->name = g_strdup (title); if(!GTK_WIDGET_REALIZED(GTK_WIDGET(sheet)) || !title) return; if(GTK_BIN(sheet->button)->child) label = GTK_BIN(sheet->button)->child; /* gtk_label_set_text(GTK_LABEL(label), title); */ size_allocate_global_button(sheet); /* remove and destroy the old widget */ /* old_widget = GTK_BIN (sheet->button)->child; if (old_widget) { gtk_container_remove (GTK_CONTAINER (sheet->button), old_widget); } label = gtk_label_new (title); gtk_misc_set_alignment(GTK_MISC(label), 0.5 , 0.5 ); gtk_container_add (GTK_CONTAINER (sheet->button), label); gtk_widget_show (label); size_allocate_global_button(sheet); gtk_signal_emit(GTK_OBJECT(sheet),sheet_signals[CHANGED], -1, -1); if(old_widget) gtk_widget_destroy (old_widget); */ } void gtk_sheet_freeze (GtkSheet *sheet) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); sheet->freeze_count++; GTK_SHEET_SET_FLAGS(sheet, GTK_SHEET_IS_FROZEN); } void gtk_sheet_thaw(GtkSheet *sheet) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(sheet->freeze_count == 0) return; sheet->freeze_count--; if(sheet->freeze_count > 0) return; adjust_scrollbars(sheet); GTK_SHEET_UNSET_FLAGS(sheet, GTK_SHEET_IS_FROZEN); sheet->old_vadjustment = -1.; sheet->old_hadjustment = -1.; if(sheet->hadjustment) gtk_signal_emit_by_name (GTK_OBJECT (sheet->hadjustment), "value_changed"); if(sheet->vadjustment) gtk_signal_emit_by_name (GTK_OBJECT (sheet->vadjustment), "value_changed"); if(sheet->state == GTK_STATE_NORMAL) if(sheet->sheet_entry && GTK_WIDGET_MAPPED(sheet->sheet_entry)){ gtk_sheet_activate_cell(sheet, sheet->active_cell.row, sheet->active_cell.col); /* gtk_signal_connect(GTK_OBJECT(gtk_sheet_get_entry(sheet)), "changed", (GtkSignalFunc)gtk_sheet_entry_changed, GTK_OBJECT(GTK_WIDGET(sheet))); gtk_sheet_show_active_cell(sheet); */ } } void gtk_sheet_set_row_titles_width(GtkSheet *sheet, guint width) { if(width < COLUMN_MIN_WIDTH) return; sheet->row_title_area.width = width; sheet->view.col0=COLUMN_FROM_XPIXEL(sheet, sheet->row_title_area.width+1); sheet->view.coli=COLUMN_FROM_XPIXEL(sheet, sheet->sheet_window_width); gtk_sheet_recalc_top_ypixels(sheet, 0); gtk_sheet_recalc_left_xpixels(sheet, 0); adjust_scrollbars(sheet); sheet->old_hadjustment = -1.; if(sheet->hadjustment) gtk_signal_emit_by_name (GTK_OBJECT (sheet->hadjustment), "value_changed"); size_allocate_global_button(sheet); } void gtk_sheet_set_column_titles_height(GtkSheet *sheet, guint height) { if(height < DEFAULT_ROW_HEIGHT(GTK_WIDGET(sheet))) return; sheet->column_title_area.height = height; sheet->view.row0=ROW_FROM_YPIXEL(sheet, sheet->column_title_area.height+1); sheet->view.rowi=ROW_FROM_YPIXEL(sheet, sheet->sheet_window_height-1); gtk_sheet_recalc_top_ypixels(sheet, 0); gtk_sheet_recalc_left_xpixels(sheet, 0); adjust_scrollbars(sheet); sheet->old_vadjustment = -1.; if(sheet->vadjustment) gtk_signal_emit_by_name (GTK_OBJECT (sheet->vadjustment), "value_changed"); size_allocate_global_button(sheet); } void gtk_sheet_show_column_titles(GtkSheet *sheet) { gint col; if(sheet->column_titles_visible) return; sheet->column_titles_visible = TRUE; gtk_sheet_recalc_top_ypixels(sheet, 0); gtk_sheet_recalc_left_xpixels(sheet, 0); if(GTK_WIDGET_REALIZED(GTK_WIDGET(sheet))){ gdk_window_show(sheet->column_title_window); gdk_window_move_resize (sheet->column_title_window, sheet->column_title_area.x, sheet->column_title_area.y, sheet->column_title_area.width, sheet->column_title_area.height); for(col = MIN_VISIBLE_COLUMN(sheet); col <= MAX_VISIBLE_COLUMN(sheet); col++){ GtkSheetChild *child; child = sheet->column[col].button.child; if(child){ gtk_sheet_child_show(child); } } adjust_scrollbars(sheet); } sheet->old_vadjustment = -1.; if(sheet->vadjustment) gtk_signal_emit_by_name (GTK_OBJECT (sheet->vadjustment), "value_changed"); size_allocate_global_button(sheet); } void gtk_sheet_show_row_titles(GtkSheet *sheet) { gint row; if(sheet->row_titles_visible) return; sheet->row_titles_visible = TRUE; gtk_sheet_recalc_top_ypixels(sheet, 0); gtk_sheet_recalc_left_xpixels(sheet, 0); if(GTK_WIDGET_REALIZED(GTK_WIDGET(sheet))){ gdk_window_show(sheet->row_title_window); gdk_window_move_resize (sheet->row_title_window, sheet->row_title_area.x, sheet->row_title_area.y, sheet->row_title_area.width, sheet->row_title_area.height); for(row = MIN_VISIBLE_ROW(sheet); row <= MAX_VISIBLE_ROW(sheet); row++){ GtkSheetChild *child; child = sheet->row[row].button.child; if(child){ gtk_sheet_child_show(child); } } adjust_scrollbars(sheet); } sheet->old_hadjustment = -1.; if(sheet->hadjustment) gtk_signal_emit_by_name (GTK_OBJECT (sheet->hadjustment), "value_changed"); size_allocate_global_button(sheet); } void gtk_sheet_hide_column_titles(GtkSheet *sheet) { gint col; if(!sheet->column_titles_visible) return; sheet->column_titles_visible = FALSE; gtk_sheet_recalc_top_ypixels(sheet, 0); gtk_sheet_recalc_left_xpixels(sheet, 0); if(GTK_WIDGET_REALIZED(GTK_WIDGET(sheet))){ if(sheet->column_title_window) gdk_window_hide(sheet->column_title_window); if(GTK_WIDGET_VISIBLE(sheet->button)) gtk_widget_hide(sheet->button); for(col = MIN_VISIBLE_COLUMN(sheet); col <= MAX_VISIBLE_COLUMN(sheet); col++){ GtkSheetChild *child; child = sheet->column[col].button.child; if(child){ gtk_sheet_child_hide(child); } } adjust_scrollbars(sheet); } sheet->old_vadjustment = -1.; if(sheet->vadjustment) gtk_signal_emit_by_name (GTK_OBJECT (sheet->vadjustment), "value_changed"); } void gtk_sheet_hide_row_titles(GtkSheet *sheet) { gint row; if(!sheet->row_titles_visible) return; sheet->row_titles_visible = FALSE; gtk_sheet_recalc_top_ypixels(sheet, 0); gtk_sheet_recalc_left_xpixels(sheet, 0); if(GTK_WIDGET_REALIZED(GTK_WIDGET(sheet))){ if(sheet->row_title_window) gdk_window_hide(sheet->row_title_window); if(GTK_WIDGET_VISIBLE(sheet->button)) gtk_widget_hide(sheet->button); for(row = MIN_VISIBLE_ROW(sheet); row <= MAX_VISIBLE_ROW(sheet); row++){ GtkSheetChild *child; child = sheet->row[row].button.child; if(child){ gtk_sheet_child_hide(child); } } adjust_scrollbars(sheet); } sheet->old_hadjustment = -1.; if(sheet->hadjustment) gtk_signal_emit_by_name (GTK_OBJECT (sheet->hadjustment), "value_changed"); } gboolean gtk_sheet_column_titles_visible(GtkSheet *sheet) { g_return_val_if_fail (sheet != NULL, FALSE); g_return_val_if_fail (GTK_IS_SHEET (sheet), FALSE); return sheet->column_titles_visible; } gboolean gtk_sheet_row_titles_visible(GtkSheet *sheet) { g_return_val_if_fail (sheet != NULL, FALSE); g_return_val_if_fail (GTK_IS_SHEET (sheet), FALSE); return sheet->row_titles_visible; } void gtk_sheet_set_column_title (GtkSheet * sheet, gint column, const gchar * title) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if (sheet->column[column].name) g_free (sheet->column[column].name); sheet->column[column].name = g_strdup(title); } void gtk_sheet_set_row_title (GtkSheet * sheet, gint row, const gchar * title) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if (sheet->row[row].name) g_free (sheet->row[row].name); sheet->row[row].name = g_strdup (title); } const gchar * gtk_sheet_get_row_title (GtkSheet * sheet, gint row) { g_return_val_if_fail (sheet != NULL, NULL); g_return_val_if_fail (GTK_IS_SHEET (sheet), NULL); return(sheet->row[row].name); } const gchar * gtk_sheet_get_column_title (GtkSheet * sheet, gint column) { g_return_val_if_fail (sheet != NULL, NULL); g_return_val_if_fail (GTK_IS_SHEET (sheet), NULL); return(sheet->column[column].name); } void gtk_sheet_row_button_add_label(GtkSheet *sheet, gint row, const gchar *label) { GtkSheetButton *button; GtkRequisition req; gboolean aux; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(row < 0 || row > sheet->maxrow) return; button = &sheet->row[row].button; if (button->label) g_free (button->label); button->label = g_strdup (label); aux = gtk_sheet_autoresize(sheet); gtk_sheet_set_autoresize(sheet, TRUE); gtk_sheet_button_size_request(sheet, button, &req); gtk_sheet_set_autoresize(sheet, aux); if(req.height > sheet->row[row].height) gtk_sheet_set_row_height(sheet, row, req.height); if(req.width > sheet->row_title_area.width){ gtk_sheet_set_row_titles_width(sheet, req.width); } if(!GTK_SHEET_IS_FROZEN(sheet)){ gtk_sheet_button_draw(sheet, row, -1); gtk_signal_emit(GTK_OBJECT(sheet),sheet_signals[CHANGED], row, -1); } } const gchar * gtk_sheet_row_button_get_label(GtkSheet *sheet, gint row) { g_return_val_if_fail (sheet != NULL, NULL); g_return_val_if_fail (GTK_IS_SHEET (sheet), NULL); if(row < 0 || row > sheet->maxrow) return NULL; return (sheet->row[row].button.label); } void gtk_sheet_row_label_set_visibility(GtkSheet *sheet, gint row, gboolean visible) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(row < 0 || row > sheet->maxrow) return; sheet->row[row].button.label_visible = visible; if(!GTK_SHEET_IS_FROZEN(sheet)){ gtk_sheet_button_draw(sheet, row, -1); gtk_signal_emit(GTK_OBJECT(sheet),sheet_signals[CHANGED], row, -1); } } void gtk_sheet_rows_labels_set_visibility(GtkSheet *sheet, gboolean visible) { gint i; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); for(i = 0; i <= sheet->maxrow; i++) gtk_sheet_row_label_set_visibility(sheet, i, visible); } void gtk_sheet_column_button_add_label(GtkSheet *sheet, gint column, const gchar *label) { GtkSheetButton *button; GtkRequisition req; gboolean aux; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(column < 0 || column >sheet->maxcol) return; button = &sheet->column[column].button; if (button->label) g_free (button->label); button->label = g_strdup (label); aux = gtk_sheet_autoresize(sheet); gtk_sheet_set_autoresize(sheet, TRUE); gtk_sheet_button_size_request(sheet, button, &req); gtk_sheet_set_autoresize(sheet, aux); if(req.width > sheet->column[column].width) gtk_sheet_set_column_width(sheet, column, req.width); if(req.height > sheet->column_title_area.height) gtk_sheet_set_column_titles_height(sheet, req.height); if(!GTK_SHEET_IS_FROZEN(sheet)){ gtk_sheet_button_draw(sheet, -1, column); gtk_signal_emit(GTK_OBJECT(sheet),sheet_signals[CHANGED], -1, column); } } const gchar * gtk_sheet_column_button_get_label(GtkSheet *sheet, gint column) { g_return_val_if_fail (sheet != NULL, NULL); g_return_val_if_fail (GTK_IS_SHEET (sheet), NULL); if(column < 0 || column >sheet->maxcol) return NULL; return(sheet->column[column].button.label); } void gtk_sheet_column_label_set_visibility(GtkSheet *sheet, gint col, gboolean visible) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(col < 0 || col > sheet->maxcol) return; sheet->column[col].button.label_visible = visible; if(!GTK_SHEET_IS_FROZEN(sheet)){ gtk_sheet_button_draw(sheet, -1, col); gtk_signal_emit(GTK_OBJECT(sheet),sheet_signals[CHANGED], -1, col); } } void gtk_sheet_columns_labels_set_visibility(GtkSheet *sheet, gboolean visible) { gint i; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); for(i = 0; i <= sheet->maxcol; i++) gtk_sheet_column_label_set_visibility(sheet, i, visible); } void gtk_sheet_row_button_justify(GtkSheet *sheet, gint row, GtkJustification justification) { GtkSheetButton *button; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(row < 0 || row > sheet->maxrow) return; button = &sheet->row[row].button; button->justification = justification; if(!GTK_SHEET_IS_FROZEN(sheet)){ gtk_sheet_button_draw(sheet, row, -1); gtk_signal_emit(GTK_OBJECT(sheet),sheet_signals[CHANGED], row, -1); } } void gtk_sheet_column_button_justify(GtkSheet *sheet, gint column, GtkJustification justification) { GtkSheetButton *button; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(column < 0 || column > sheet->maxcol) return; button = &sheet->column[column].button; button->justification = justification; if(!GTK_SHEET_IS_FROZEN(sheet)){ gtk_sheet_button_draw(sheet, -1, column); gtk_signal_emit(GTK_OBJECT(sheet),sheet_signals[CHANGED], -1, column); } } void gtk_sheet_moveto (GtkSheet * sheet, gint row, gint column, gfloat row_align, gfloat col_align) { gint x, y; guint width, height; gint adjust; gint min_row, min_col; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); g_return_if_fail (sheet->hadjustment != NULL); g_return_if_fail (sheet->vadjustment != NULL); if (row < 0 || row > sheet->maxrow) return; if (column < 0 || column > sheet->maxcol) return; height = sheet->sheet_window_height; width = sheet->sheet_window_width; /* adjust vertical scrollbar */ if (row >= 0 && row_align >=0.) { y = ROW_TOP_YPIXEL(sheet, row) - sheet->voffset - row_align*height- (1.-row_align)*sheet->row[row].height; /* This forces the sheet to scroll when you don't see the entire cell */ min_row = row; adjust = 0; if(row_align == 1.){ while(min_row >= 0 && min_row > MIN_VISIBLE_ROW(sheet)){ if(sheet->row[min_row].is_visible) adjust += sheet->row[min_row].height; if(adjust >= height){ break; } min_row--; } min_row = MAX(min_row, 0); y = ROW_TOP_YPIXEL(sheet, min_row) - sheet->voffset + sheet->row[min_row].height - 1; } if (y < 0) sheet->vadjustment->value = 0.0; else sheet->vadjustment->value = y; sheet->old_vadjustment = -1.; gtk_signal_emit_by_name (GTK_OBJECT (sheet->vadjustment), "value_changed"); } /* adjust horizontal scrollbar */ if (column >= 0 && col_align >= 0.) { x = COLUMN_LEFT_XPIXEL (sheet, column) - sheet->hoffset - col_align*width - (1.-col_align)*sheet->column[column].width; /* This forces the sheet to scroll when you don't see the entire cell */ min_col = column; adjust = 0; if(col_align == 1.){ while(min_col >= 0 && min_col > MIN_VISIBLE_COLUMN(sheet)){ if(sheet->column[min_col].is_visible) adjust += sheet->column[min_col].width; if(adjust >= width){ break; } min_col--; } min_col = MAX(min_col, 0); x = COLUMN_LEFT_XPIXEL(sheet, min_col) - sheet->hoffset + sheet->column[min_col].width - 1; } if (x < 0) sheet->hadjustment->value = 0.0; else sheet->hadjustment->value = x; sheet->old_vadjustment = -1.; gtk_signal_emit_by_name (GTK_OBJECT (sheet->hadjustment), "value_changed"); } } void gtk_sheet_column_set_sensitivity(GtkSheet *sheet, gint column, gboolean sensitive) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(column < 0 || column > sheet->maxcol) return; sheet->column[column].is_sensitive=sensitive; if(!sensitive) sheet->column[column].button.state=GTK_STATE_INSENSITIVE; else sheet->column[column].button.state=GTK_STATE_NORMAL; if(GTK_WIDGET_REALIZED(sheet) && !GTK_SHEET_IS_FROZEN(sheet)) gtk_sheet_button_draw(sheet, -1, column); } void gtk_sheet_columns_set_sensitivity(GtkSheet *sheet, gboolean sensitive) { gint i; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); for(i=0; i<=sheet->maxcol; i++) gtk_sheet_column_set_sensitivity(sheet, i, sensitive); } void gtk_sheet_columns_set_resizable (GtkSheet *sheet, gboolean resizable) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); sheet->columns_resizable = resizable; } gboolean gtk_sheet_columns_resizable (GtkSheet *sheet) { g_return_val_if_fail (sheet != NULL, FALSE); g_return_val_if_fail (GTK_IS_SHEET (sheet), FALSE); return sheet->columns_resizable; } void gtk_sheet_row_set_sensitivity(GtkSheet *sheet, gint row, gboolean sensitive) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(row < 0 || row > sheet->maxrow) return; sheet->row[row].is_sensitive=sensitive; if(!sensitive) sheet->row[row].button.state=GTK_STATE_INSENSITIVE; else sheet->row[row].button.state=GTK_STATE_NORMAL; if(GTK_WIDGET_REALIZED(sheet) && !GTK_SHEET_IS_FROZEN(sheet)) gtk_sheet_button_draw(sheet, row, -1); } void gtk_sheet_rows_set_sensitivity(GtkSheet *sheet, gboolean sensitive) { gint i; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); for(i=0; i<=sheet->maxrow; i++) gtk_sheet_row_set_sensitivity(sheet, i, sensitive); } void gtk_sheet_rows_set_resizable (GtkSheet *sheet, gboolean resizable) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); sheet->rows_resizable = resizable; } gboolean gtk_sheet_rows_resizable (GtkSheet *sheet) { g_return_val_if_fail (sheet != NULL, FALSE); g_return_val_if_fail (GTK_IS_SHEET (sheet), FALSE); return sheet->rows_resizable; } void gtk_sheet_column_set_visibility(GtkSheet *sheet, gint column, gboolean visible) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(column < 0 || column > sheet->maxcol) return; if(sheet->column[column].is_visible == visible) return; sheet->column[column].is_visible = visible; gtk_sheet_recalc_left_xpixels(sheet, column); if(!GTK_SHEET_IS_FROZEN(sheet) && gtk_sheet_cell_isvisible(sheet, MIN_VISIBLE_ROW(sheet), column)){ gtk_sheet_range_draw(sheet, NULL); size_allocate_column_title_buttons(sheet); } } void gtk_sheet_row_set_visibility(GtkSheet *sheet, gint row, gboolean visible) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(row < 0 || row > sheet->maxrow) return; if(sheet->row[row].is_visible == visible) return; sheet->row[row].is_visible = visible; gtk_sheet_recalc_top_ypixels(sheet, row); if(!GTK_SHEET_IS_FROZEN(sheet) && gtk_sheet_cell_isvisible(sheet, row, MIN_VISIBLE_COLUMN(sheet))){ gtk_sheet_range_draw(sheet, NULL); size_allocate_row_title_buttons(sheet); } } void gtk_sheet_select_row (GtkSheet * sheet, gint row) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if (row < 0 || row > sheet->maxrow) return; if(sheet->state != GTK_SHEET_NORMAL) gtk_sheet_real_unselect_range(sheet, NULL); else { gboolean veto = TRUE; veto = gtk_sheet_deactivate_cell(sheet); if(!veto) return; } sheet->state=GTK_SHEET_ROW_SELECTED; sheet->range.row0=row; sheet->range.col0=0; sheet->range.rowi=row; sheet->range.coli=sheet->maxcol; sheet->active_cell.row=row; sheet->active_cell.col=0; gtk_signal_emit (GTK_OBJECT (sheet), sheet_signals[SELECT_ROW], row); gtk_sheet_real_select_range(sheet, NULL); } void gtk_sheet_select_column (GtkSheet * sheet, gint column) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if (column < 0 || column > sheet->maxcol) return; if(sheet->state != GTK_SHEET_NORMAL) gtk_sheet_real_unselect_range(sheet, NULL); else { gboolean veto = TRUE; veto = gtk_sheet_deactivate_cell(sheet); if(!veto) return; } sheet->state=GTK_SHEET_COLUMN_SELECTED; sheet->range.row0=0; sheet->range.col0=column; sheet->range.rowi=sheet->maxrow; sheet->range.coli=column; sheet->active_cell.row=0; sheet->active_cell.col=column; gtk_signal_emit (GTK_OBJECT (sheet), sheet_signals[SELECT_COLUMN], column); gtk_sheet_real_select_range(sheet, NULL); } void gtk_sheet_clip_range (GtkSheet *sheet, const GtkSheetRange *range) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(GTK_SHEET_IN_CLIP(sheet)) return; GTK_SHEET_SET_FLAGS(sheet, GTK_SHEET_IN_CLIP); if(range == NULL) sheet->clip_range = sheet->range; else sheet->clip_range=*range; sheet->interval=0; sheet->clip_timer=gtk_timeout_add(TIMEOUT_FLASH, gtk_sheet_flash, sheet); gtk_signal_emit(GTK_OBJECT(sheet), sheet_signals[CLIP_RANGE], &sheet->clip_range); } void gtk_sheet_unclip_range(GtkSheet *sheet) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(!GTK_SHEET_IN_CLIP(sheet)) return; GTK_SHEET_UNSET_FLAGS(sheet, GTK_SHEET_IN_CLIP); gtk_timeout_remove(sheet->clip_timer); gtk_sheet_range_draw(sheet, &sheet->clip_range); if(gtk_sheet_range_isvisible(sheet, sheet->range)) gtk_sheet_range_draw(sheet, &sheet->range); } gboolean gtk_sheet_in_clip (GtkSheet *sheet) { g_return_val_if_fail (sheet != NULL, FALSE); g_return_val_if_fail (GTK_IS_SHEET (sheet), FALSE); return GTK_SHEET_IN_CLIP(sheet); } static gint gtk_sheet_flash(gpointer data) { GtkSheet *sheet; gint x,y,width,height; GdkRectangle clip_area; sheet=GTK_SHEET(data); if(!GTK_WIDGET_REALIZED(GTK_WIDGET(sheet))) return TRUE; if(!GTK_WIDGET_DRAWABLE(GTK_WIDGET(sheet))) return TRUE; if(!gtk_sheet_range_isvisible(sheet, sheet->clip_range)) return TRUE; if(GTK_SHEET_IN_XDRAG(sheet)) return TRUE; if(GTK_SHEET_IN_YDRAG(sheet)) return TRUE; GDK_THREADS_ENTER(); x=COLUMN_LEFT_XPIXEL(sheet,sheet->clip_range.col0)+1; y=ROW_TOP_YPIXEL(sheet,sheet->clip_range.row0)+1; width=COLUMN_LEFT_XPIXEL(sheet,sheet->clip_range.coli)-x+ sheet->column[sheet->clip_range.coli].width-1; height=ROW_TOP_YPIXEL(sheet,sheet->clip_range.rowi)-y+ sheet->row[sheet->clip_range.rowi].height-1; clip_area.x=COLUMN_LEFT_XPIXEL(sheet, MIN_VISIBLE_COLUMN(sheet)); clip_area.y=ROW_TOP_YPIXEL(sheet, MIN_VISIBLE_ROW(sheet)); clip_area.width=sheet->sheet_window_width; clip_area.height=sheet->sheet_window_height; if(x<0) { width=width+x+1; x=-1; } if(width>clip_area.width) width=clip_area.width+10; if(y<0) { height=height+y+1; y=-1; } if(height>clip_area.height) height=clip_area.height+10; gdk_draw_pixmap(sheet->sheet_window, GTK_WIDGET(sheet)->style->fg_gc[GTK_STATE_NORMAL], sheet->pixmap, x, y, x, y, 1, height); gdk_draw_pixmap(sheet->sheet_window, GTK_WIDGET(sheet)->style->fg_gc[GTK_STATE_NORMAL], sheet->pixmap, x, y, x, y, width, 1); gdk_draw_pixmap(sheet->sheet_window, GTK_WIDGET(sheet)->style->fg_gc[GTK_STATE_NORMAL], sheet->pixmap, x, y+height, x, y+height, width, 1); gdk_draw_pixmap(sheet->sheet_window, GTK_WIDGET(sheet)->style->fg_gc[GTK_STATE_NORMAL], sheet->pixmap, x+width, y, x+width, y, 1, height); sheet->interval=sheet->interval+1; if(sheet->interval==TIME_INTERVAL) sheet->interval=0; gdk_gc_set_dashes(sheet->xor_gc, sheet->interval, (gint8*)"\4\4", 2); gtk_sheet_draw_flashing_range(sheet,sheet->clip_range); gdk_gc_set_dashes(sheet->xor_gc, 0, (gint8*)"\4\4", 2); GDK_THREADS_LEAVE(); return TRUE; } static void gtk_sheet_draw_flashing_range(GtkSheet *sheet, GtkSheetRange range) { GdkRectangle clip_area; gint x,y,width,height; if(!gtk_sheet_range_isvisible(sheet, sheet->clip_range)) return; clip_area.x=COLUMN_LEFT_XPIXEL(sheet, MIN_VISIBLE_COLUMN(sheet)); clip_area.y=ROW_TOP_YPIXEL(sheet, MIN_VISIBLE_ROW(sheet)); clip_area.width=sheet->sheet_window_width; clip_area.height=sheet->sheet_window_height; gdk_gc_set_clip_rectangle(sheet->xor_gc, &clip_area); x=COLUMN_LEFT_XPIXEL(sheet,sheet->clip_range.col0)+1; y=ROW_TOP_YPIXEL(sheet,sheet->clip_range.row0)+1; width=COLUMN_LEFT_XPIXEL(sheet,sheet->clip_range.coli)-x+ sheet->column[sheet->clip_range.coli].width-1; height=ROW_TOP_YPIXEL(sheet,sheet->clip_range.rowi)-y+ sheet->row[sheet->clip_range.rowi].height-1; if(x<0) { width=width+x+1; x=-1; } if(width>clip_area.width) width=clip_area.width+10; if(y<0) { height=height+y+1; y=-1; } if(height>clip_area.height) height=clip_area.height+10; gdk_gc_set_line_attributes(sheet->xor_gc, 1, 1, 0 ,0 ); gdk_draw_rectangle(sheet->sheet_window, sheet->xor_gc, FALSE, x, y, width, height); gdk_gc_set_line_attributes (sheet->xor_gc, 1, 0, 0, 0); gdk_gc_set_clip_rectangle(sheet->xor_gc, NULL); } static gint gtk_sheet_range_isvisible (GtkSheet * sheet, GtkSheetRange range) { g_return_val_if_fail (sheet != NULL, FALSE); if (range.row0 < 0 || range.row0 > sheet->maxrow) return FALSE; if (range.rowi < 0 || range.rowi > sheet->maxrow) return FALSE; if (range.col0 < 0 || range.col0 > sheet->maxcol) return FALSE; if (range.coli < 0 || range.coli > sheet->maxcol) return FALSE; if (range.rowi < MIN_VISIBLE_ROW (sheet)) return FALSE; if (range.row0 > MAX_VISIBLE_ROW (sheet)) return FALSE; if (range.coli < MIN_VISIBLE_COLUMN (sheet)) return FALSE; if (range.col0 > MAX_VISIBLE_COLUMN (sheet)) return FALSE; return TRUE; } static gint gtk_sheet_cell_isvisible (GtkSheet * sheet, gint row, gint column) { GtkSheetRange range; range.row0 = row; range.col0 = column; range.rowi = row; range.coli = column; return gtk_sheet_range_isvisible(sheet, range); } void gtk_sheet_get_visible_range(GtkSheet *sheet, GtkSheetRange *range) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)) ; g_return_if_fail (range != NULL); range->row0 = MIN_VISIBLE_ROW(sheet); range->col0 = MIN_VISIBLE_COLUMN(sheet); range->rowi = MAX_VISIBLE_ROW(sheet); range->coli = MAX_VISIBLE_COLUMN(sheet); } GtkAdjustment * gtk_sheet_get_vadjustment (GtkSheet * sheet) { g_return_val_if_fail (sheet != NULL, NULL); g_return_val_if_fail (GTK_IS_SHEET (sheet), NULL); return sheet->vadjustment; } GtkAdjustment * gtk_sheet_get_hadjustment (GtkSheet * sheet) { g_return_val_if_fail (sheet != NULL, NULL); g_return_val_if_fail (GTK_IS_SHEET (sheet), NULL); return sheet->hadjustment; } void gtk_sheet_set_vadjustment (GtkSheet *sheet, GtkAdjustment *adjustment) { GtkAdjustment *old_adjustment; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if (adjustment) g_return_if_fail (GTK_IS_ADJUSTMENT (adjustment)); if (sheet->vadjustment == adjustment) return; old_adjustment = sheet->vadjustment; if (sheet->vadjustment) { gtk_signal_disconnect_by_data (GTK_OBJECT (sheet->vadjustment), sheet); gtk_object_unref (GTK_OBJECT (sheet->vadjustment)); } sheet->vadjustment = adjustment; if (sheet->vadjustment) { gtk_object_ref (GTK_OBJECT (sheet->vadjustment)); gtk_object_sink (GTK_OBJECT (sheet->vadjustment)); gtk_signal_connect (GTK_OBJECT (sheet->vadjustment), "changed", (GtkSignalFunc) vadjustment_changed, (gpointer) sheet); gtk_signal_connect (GTK_OBJECT (sheet->vadjustment), "value_changed", (GtkSignalFunc) vadjustment_value_changed, (gpointer) sheet); } if (!sheet->vadjustment || !old_adjustment) { gtk_widget_queue_resize (GTK_WIDGET (sheet)); return; } sheet->old_vadjustment = sheet->vadjustment->value; } void gtk_sheet_set_hadjustment (GtkSheet *sheet, GtkAdjustment *adjustment) { GtkAdjustment *old_adjustment; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if (adjustment) g_return_if_fail (GTK_IS_ADJUSTMENT (adjustment)); if (sheet->hadjustment == adjustment) return; old_adjustment = sheet->hadjustment; if (sheet->hadjustment) { gtk_signal_disconnect_by_data (GTK_OBJECT (sheet->hadjustment), sheet); gtk_object_unref (GTK_OBJECT (sheet->hadjustment)); } sheet->hadjustment = adjustment; if (sheet->hadjustment) { gtk_object_ref (GTK_OBJECT (sheet->hadjustment)); gtk_object_sink (GTK_OBJECT (sheet->hadjustment)); gtk_signal_connect (GTK_OBJECT (sheet->hadjustment), "changed", (GtkSignalFunc) hadjustment_changed, (gpointer) sheet); gtk_signal_connect (GTK_OBJECT (sheet->hadjustment), "value_changed", (GtkSignalFunc) hadjustment_value_changed, (gpointer) sheet); } if (!sheet->hadjustment || !old_adjustment) { gtk_widget_queue_resize (GTK_WIDGET (sheet)); return; } sheet->old_hadjustment = sheet->hadjustment->value; } static void gtk_sheet_set_scroll_adjustments (GtkSheet *sheet, GtkAdjustment *hadjustment, GtkAdjustment *vadjustment) { if(sheet->hadjustment != hadjustment) gtk_sheet_set_hadjustment (sheet, hadjustment); if(sheet->vadjustment != vadjustment) gtk_sheet_set_vadjustment (sheet, vadjustment); } static void gtk_sheet_finalize (GObject * object) { GtkSheet *sheet; g_return_if_fail (object != NULL); g_return_if_fail (GTK_IS_SHEET (object)); sheet = GTK_SHEET (object); /* get rid of all the cells */ gtk_sheet_range_clear (sheet, NULL); gtk_sheet_range_delete(sheet, NULL); gtk_sheet_delete_rows (sheet, 0, sheet->maxrow + 1); gtk_sheet_delete_columns (sheet, 0, sheet->maxcol + 1); DeleteRow (sheet, 0, sheet->maxrow + 1); DeleteColumn (sheet, 0, sheet->maxcol + 1); g_free(sheet->row); sheet->row = NULL; g_free(sheet->column); sheet->column = NULL; g_free(sheet->data); sheet->data = NULL; if(sheet->name){ g_free(sheet->name); sheet->name = NULL; } if (G_OBJECT_CLASS (parent_class)->finalize) (*G_OBJECT_CLASS (parent_class)->finalize) (object); } static void gtk_sheet_destroy (GtkObject * object) { GtkSheet *sheet; GList *children; g_return_if_fail (object != NULL); g_return_if_fail (GTK_IS_SHEET (object)); sheet = GTK_SHEET (object); /* destroy the entry */ if(sheet->sheet_entry && GTK_IS_WIDGET(sheet->sheet_entry)){ gtk_widget_destroy (sheet->sheet_entry); sheet->sheet_entry = NULL; } /* destroy the global selection button */ if(sheet->button && GTK_IS_WIDGET(sheet->button)){ gtk_widget_destroy (sheet->button); sheet->button = NULL; } if(sheet->timer){ gtk_timeout_remove(sheet->timer); sheet->timer = 0; } if(sheet->clip_timer){ gtk_timeout_remove(sheet->clip_timer); sheet->clip_timer = 0; } /* unref adjustments */ if (sheet->hadjustment) { gtk_signal_disconnect_by_data (GTK_OBJECT (sheet->hadjustment), sheet); gtk_object_unref (GTK_OBJECT (sheet->hadjustment)); sheet->hadjustment = NULL; } if (sheet->vadjustment) { gtk_signal_disconnect_by_data (GTK_OBJECT (sheet->vadjustment), sheet); gtk_object_unref (GTK_OBJECT (sheet->vadjustment)); sheet->vadjustment = NULL; } children = sheet->children; while(children){ GtkSheetChild *child = (GtkSheetChild *)children->data; if(child && child->widget) gtk_sheet_remove(GTK_CONTAINER(sheet), child->widget); children = sheet->children; } sheet->children = NULL; if (GTK_OBJECT_CLASS (parent_class)->destroy) (*GTK_OBJECT_CLASS (parent_class)->destroy) (object); } static void gtk_sheet_style_set (GtkWidget *widget, GtkStyle *previous_style) { GtkSheet *sheet; g_return_if_fail (widget != NULL); g_return_if_fail (GTK_IS_SHEET (widget)); if (GTK_WIDGET_CLASS (parent_class)->style_set) (*GTK_WIDGET_CLASS (parent_class)->style_set) (widget, previous_style); sheet = GTK_SHEET (widget); if(GTK_WIDGET_REALIZED(widget)) { gtk_style_set_background (widget->style, widget->window, widget->state); } } static void gtk_sheet_realize (GtkWidget * widget) { GtkSheet *sheet; GdkWindowAttr attributes; gint attributes_mask; GdkGCValues values, auxvalues; GdkColormap *colormap; gchar *name; GtkSheetChild *child; GList *children; g_return_if_fail (widget != NULL); g_return_if_fail (GTK_IS_SHEET (widget)); sheet = GTK_SHEET (widget); GTK_WIDGET_SET_FLAGS (widget, GTK_REALIZED); attributes.window_type = GDK_WINDOW_CHILD; attributes.x = widget->allocation.x; attributes.y = widget->allocation.y; attributes.width = widget->allocation.width; attributes.height = widget->allocation.height; attributes.wclass = GDK_INPUT_OUTPUT; attributes.visual = gtk_widget_get_visual (widget); attributes.colormap = gtk_widget_get_colormap (widget); attributes.event_mask = gtk_widget_get_events (widget); attributes.event_mask |= (GDK_EXPOSURE_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK); attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | GDK_WA_COLORMAP | GDK_WA_CURSOR; attributes.cursor = gdk_cursor_new(GDK_TOP_LEFT_ARROW); /* main window */ widget->window = gdk_window_new (gtk_widget_get_parent_window (widget), &attributes, attributes_mask); gdk_window_set_user_data (widget->window, sheet); widget->style = gtk_style_attach (widget->style, widget->window); gtk_style_set_background (widget->style, widget->window, GTK_STATE_NORMAL); attributes.x = 0; if(sheet->row_titles_visible) attributes.x = sheet->row_title_area.width; attributes.y = 0; attributes.width = sheet->column_title_area.width; attributes.height = sheet->column_title_area.height; /* column-title window */ sheet->column_title_window = gdk_window_new (widget->window, &attributes, attributes_mask); gdk_window_set_user_data (sheet->column_title_window, sheet); gtk_style_set_background (widget->style, sheet->column_title_window, GTK_STATE_NORMAL); attributes.x = 0; attributes.y = 0; if(sheet->column_titles_visible) attributes.y = sheet->column_title_area.height; attributes.width = sheet->row_title_area.width; attributes.height = sheet->row_title_area.height; /* row-title window */ sheet->row_title_window = gdk_window_new (widget->window, &attributes, attributes_mask); gdk_window_set_user_data (sheet->row_title_window, sheet); gtk_style_set_background (widget->style, sheet->row_title_window, GTK_STATE_NORMAL); /* sheet-window */ attributes.cursor = gdk_cursor_new(GDK_PLUS); attributes.x = 0; attributes.y = 0; attributes.width = sheet->sheet_window_width, attributes.height = sheet->sheet_window_height; sheet->sheet_window = gdk_window_new (widget->window, &attributes, attributes_mask); gdk_window_set_user_data (sheet->sheet_window, sheet); gdk_window_set_background (sheet->sheet_window, &widget->style->white); gdk_window_show (sheet->sheet_window); /* backing_pixmap */ gtk_sheet_make_backing_pixmap(sheet, 0, 0); /* GCs */ if(sheet->fg_gc) gdk_gc_unref(sheet->fg_gc); if(sheet->bg_gc) gdk_gc_unref(sheet->bg_gc); sheet->fg_gc = gdk_gc_new (widget->window); sheet->bg_gc = gdk_gc_new (widget->window); colormap = gtk_widget_get_colormap(widget); gdk_color_white(colormap, &widget->style->white); gdk_color_black(colormap, &widget->style->black); gdk_gc_get_values(sheet->fg_gc, &auxvalues); values.foreground = widget->style->white; values.function = GDK_INVERT; values.subwindow_mode = GDK_INCLUDE_INFERIORS; if(sheet->xor_gc) gdk_gc_unref(sheet->xor_gc); sheet->xor_gc = gdk_gc_new_with_values (widget->window, &values, GDK_GC_FOREGROUND | GDK_GC_FUNCTION | GDK_GC_SUBWINDOW); if(sheet->sheet_entry->parent){ gtk_widget_ref(sheet->sheet_entry); gtk_widget_unparent(sheet->sheet_entry); } gtk_widget_set_parent_window (sheet->sheet_entry, sheet->sheet_window); gtk_widget_set_parent(sheet->sheet_entry, GTK_WIDGET(sheet)); if(sheet->button && sheet->button->parent){ gtk_widget_ref(sheet->button); gtk_widget_unparent(sheet->button); } gtk_widget_set_parent_window(sheet->button, sheet->sheet_window); gtk_widget_set_parent(sheet->button, GTK_WIDGET(sheet)); /* gtk_sheet_activate_cell(sheet, sheet->active_cell.row, sheet->active_cell.col); */ if(!sheet->cursor_drag) sheet->cursor_drag = gdk_cursor_new(GDK_PLUS); if(sheet->column_titles_visible) gdk_window_show(sheet->column_title_window); if(sheet->row_titles_visible) gdk_window_show(sheet->row_title_window); size_allocate_row_title_buttons(sheet); size_allocate_column_title_buttons(sheet); name = g_strdup(sheet->name); gtk_sheet_set_title(sheet, name); g_free(name); children = sheet->children; while(children) { child = children->data; children = g_list_next(children); gtk_sheet_realize_child(sheet, child); } } static void create_global_button(GtkSheet *sheet) { sheet->button = gtk_button_new_with_label(" "); gtk_signal_connect (GTK_OBJECT (sheet->button), "pressed", (GtkSignalFunc) global_button_clicked, (gpointer) sheet); } static void size_allocate_global_button(GtkSheet *sheet) { GtkAllocation allocation; if(!sheet->column_titles_visible) return; if(!sheet->row_titles_visible) return; gtk_widget_size_request(sheet->button, NULL); allocation.x=0; allocation.y=0; allocation.width=sheet->row_title_area.width; allocation.height=sheet->column_title_area.height; gtk_widget_size_allocate(sheet->button, &allocation); gtk_widget_show(sheet->button); } static void global_button_clicked(GtkWidget *widget, gpointer data) { gboolean veto; gtk_sheet_click_cell(GTK_SHEET(data), -1, -1, &veto); gtk_widget_grab_focus(GTK_WIDGET(data)); } static void gtk_sheet_unrealize (GtkWidget * widget) { GtkSheet *sheet; g_return_if_fail (widget != NULL); g_return_if_fail (GTK_IS_SHEET (widget)); sheet = GTK_SHEET (widget); gdk_cursor_destroy (sheet->cursor_drag); gdk_gc_destroy (sheet->xor_gc); gdk_gc_destroy (sheet->fg_gc); gdk_gc_destroy (sheet->bg_gc); gdk_window_destroy (sheet->sheet_window); gdk_window_destroy (sheet->column_title_window); gdk_window_destroy (sheet->row_title_window); if (sheet->pixmap){ g_object_unref (sheet->pixmap); sheet->pixmap = NULL; } sheet->column_title_window=NULL; sheet->sheet_window = NULL; sheet->cursor_drag = NULL; sheet->xor_gc = NULL; sheet->fg_gc = NULL; sheet->bg_gc = NULL; if (GTK_WIDGET_CLASS (parent_class)->unrealize) (* GTK_WIDGET_CLASS (parent_class)->unrealize) (widget); } static void gtk_sheet_map (GtkWidget * widget) { GtkSheet *sheet; GtkSheetChild *child; GList *children; g_return_if_fail (widget != NULL); g_return_if_fail (GTK_IS_SHEET (widget)); sheet = GTK_SHEET (widget); if (!GTK_WIDGET_MAPPED (widget)) { GTK_WIDGET_SET_FLAGS (widget, GTK_MAPPED); if(!sheet->cursor_drag) sheet->cursor_drag=gdk_cursor_new(GDK_PLUS); gdk_window_show (widget->window); gdk_window_show (sheet->sheet_window); if(sheet->column_titles_visible){ gdk_window_show (sheet->column_title_window); } if(sheet->row_titles_visible){ gdk_window_show (sheet->row_title_window); } if(!GTK_WIDGET_MAPPED (sheet->sheet_entry)){ gtk_widget_show (sheet->sheet_entry); gtk_widget_map (sheet->sheet_entry); } if (GTK_WIDGET_VISIBLE (sheet->button) && !GTK_WIDGET_MAPPED (sheet->button)){ gtk_widget_show(sheet->button); gtk_widget_map (sheet->button); } if(GTK_BIN(sheet->button)->child) if (GTK_WIDGET_VISIBLE (GTK_BIN(sheet->button)->child) && !GTK_WIDGET_MAPPED (GTK_BIN(sheet->button)->child)) gtk_widget_map (GTK_BIN(sheet->button)->child); gtk_sheet_range_draw(sheet, NULL); gtk_sheet_activate_cell(sheet, sheet->active_cell.row, sheet->active_cell.col); children = sheet->children; while (children) { child = children->data; children = g_list_next(children); if (GTK_WIDGET_VISIBLE (child->widget) && !GTK_WIDGET_MAPPED (child->widget)){ gtk_widget_map (child->widget); gtk_sheet_position_child(sheet, child); } } } } static void gtk_sheet_unmap (GtkWidget * widget) { GtkSheet *sheet; GtkSheetChild *child; GList *children; g_return_if_fail (widget != NULL); g_return_if_fail (GTK_IS_SHEET (widget)); sheet = GTK_SHEET (widget); if (GTK_WIDGET_MAPPED (widget)) { GTK_WIDGET_UNSET_FLAGS (widget, GTK_MAPPED); gdk_window_hide (sheet->sheet_window); if(sheet->column_titles_visible) gdk_window_hide (sheet->column_title_window); if(sheet->row_titles_visible) gdk_window_hide (sheet->row_title_window); gdk_window_hide (widget->window); if (GTK_WIDGET_MAPPED (sheet->sheet_entry)) gtk_widget_unmap (sheet->sheet_entry); if (GTK_WIDGET_MAPPED (sheet->button)) gtk_widget_unmap (sheet->button); children = sheet->children; while (children) { child = children->data; children = g_list_next(children); if (GTK_WIDGET_VISIBLE (child->widget) && GTK_WIDGET_MAPPED (child->widget)) { gtk_widget_unmap (child->widget); } } } } static void gtk_sheet_cell_draw_default (GtkSheet *sheet, gint row, gint col) { GtkWidget *widget; GdkGC *fg_gc, *bg_gc; GtkSheetCellAttr attributes; GdkRectangle area; g_return_if_fail (sheet != NULL); /* bail now if we arn't drawable yet */ if (!GTK_WIDGET_DRAWABLE (sheet)) return; if (row < 0 || row > sheet->maxrow) return; if (col < 0 || col > sheet->maxcol) return; if (!sheet->column[col].is_visible) return; if (!sheet->row[row].is_visible) return; widget = GTK_WIDGET (sheet); gtk_sheet_get_attributes(sheet, row, col, &attributes); /* select GC for background rectangle */ gdk_gc_set_foreground (sheet->fg_gc, &attributes.foreground); gdk_gc_set_foreground (sheet->bg_gc, &attributes.background); fg_gc = sheet->fg_gc; bg_gc = sheet->bg_gc; area.x=COLUMN_LEFT_XPIXEL(sheet,col); area.y=ROW_TOP_YPIXEL(sheet,row); area.width=sheet->column[col].width; area.height=sheet->row[row].height; gdk_draw_rectangle (sheet->pixmap, bg_gc, TRUE, area.x, area.y, area.width, area.height); gdk_gc_set_line_attributes (sheet->fg_gc, 1, 0, 0, 0); if(sheet->show_grid){ gdk_gc_set_foreground (sheet->bg_gc, &sheet->grid_color); gdk_draw_rectangle (sheet->pixmap, sheet->bg_gc, FALSE, area.x, area.y, area.width, area.height); } } static void gtk_sheet_cell_draw_border (GtkSheet *sheet, gint row, gint col, gint mask) { GtkWidget *widget; GdkGC *fg_gc, *bg_gc; GtkSheetCellAttr attributes; GdkRectangle area; guint width; g_return_if_fail (sheet != NULL); /* bail now if we arn't drawable yet */ if (!GTK_WIDGET_DRAWABLE (sheet)) return; if (row < 0 || row > sheet->maxrow) return; if (col < 0 || col > sheet->maxcol) return; if (!sheet->column[col].is_visible) return; if (!sheet->row[row].is_visible) return; widget = GTK_WIDGET (sheet); gtk_sheet_get_attributes(sheet, row, col, &attributes); /* select GC for background rectangle */ gdk_gc_set_foreground (sheet->fg_gc, &attributes.border.color); gdk_gc_set_foreground (sheet->bg_gc, &attributes.background); fg_gc = sheet->fg_gc; bg_gc = sheet->bg_gc; area.x=COLUMN_LEFT_XPIXEL(sheet,col); area.y=ROW_TOP_YPIXEL(sheet,row); area.width=sheet->column[col].width; area.height=sheet->row[row].height; width = attributes.border.width; gdk_gc_set_line_attributes(sheet->fg_gc, attributes.border.width, attributes.border.line_style, attributes.border.cap_style, attributes.border.join_style); if(width>0){ if(attributes.border.mask & GTK_SHEET_LEFT_BORDER & mask) gdk_draw_line(sheet->pixmap, sheet->fg_gc, area.x, area.y-width/2, area.x, area.y+area.height+width/2+1); if(attributes.border.mask & GTK_SHEET_RIGHT_BORDER & mask) gdk_draw_line(sheet->pixmap, sheet->fg_gc, area.x+area.width, area.y-width/2, area.x+area.width, area.y+area.height+width/2+1); if(attributes.border.mask & GTK_SHEET_TOP_BORDER & mask) gdk_draw_line(sheet->pixmap, sheet->fg_gc, area.x-width/2,area.y, area.x+area.width+width/2+1, area.y); if(attributes.border.mask & GTK_SHEET_BOTTOM_BORDER & mask) gdk_draw_line(sheet->pixmap, sheet->fg_gc, area.x-width/2, area.y+area.height, area.x+area.width+width/2+1, area.y+area.height); } } static void gtk_sheet_cell_draw_label (GtkSheet *sheet, gint row, gint col) { GtkWidget *widget; GdkRectangle area, clip_area; gint i; gint text_width, text_height, y; gint xoffset=0; gint size, sizel, sizer; GdkGC *fg_gc, *bg_gc; GtkSheetCellAttr attributes; PangoLayout *layout; PangoRectangle rect; PangoRectangle logical_rect; PangoLayoutLine *line; PangoFontMetrics *metrics; PangoContext *context = gtk_widget_get_pango_context(GTK_WIDGET(sheet)); gint ascent, descent, y_pos; char *label; g_return_if_fail (sheet != NULL); /* bail now if we aren't drawable yet */ if (!GTK_WIDGET_DRAWABLE (sheet)) return; if (row > sheet->maxallocrow) return; if (col > sheet->maxalloccol) return; if (!sheet->data[row]) return; if (!sheet->data[row][col]) return; if (!sheet->data[row][col]->text || strlen(sheet->data[row][col]->text)==0) return; if (row < 0 || row > sheet->maxrow) return; if (col < 0 || col > sheet->maxcol) return; if (!sheet->column[col].is_visible) return; if (!sheet->row[row].is_visible) return; widget = GTK_WIDGET(sheet); label = sheet->data[row][col]->text; gtk_sheet_get_attributes(sheet, row, col, &attributes); /* select GC for background rectangle */ gdk_gc_set_foreground (sheet->fg_gc, &attributes.foreground); gdk_gc_set_foreground (sheet->bg_gc, &attributes.background); fg_gc = sheet->fg_gc; bg_gc = sheet->bg_gc; area.x=COLUMN_LEFT_XPIXEL(sheet,col); area.y=ROW_TOP_YPIXEL(sheet,row); area.width=sheet->column[col].width; area.height=sheet->row[row].height; clip_area = area; layout = gtk_widget_create_pango_layout (GTK_WIDGET(sheet), label); pango_layout_set_font_description (layout, attributes.font_desc); pango_layout_get_pixel_extents (layout, NULL, &rect); line = pango_layout_get_lines (layout)->data; pango_layout_line_get_extents (line, NULL, &logical_rect); metrics = pango_context_get_metrics(context, attributes.font_desc, pango_context_get_language(context)); ascent = pango_font_metrics_get_ascent(metrics) / PANGO_SCALE; descent = pango_font_metrics_get_descent(metrics) / PANGO_SCALE; pango_font_metrics_unref(metrics); /* Align primarily for locale's ascent/descent */ logical_rect.height /= PANGO_SCALE; logical_rect.y /= PANGO_SCALE; y_pos = area.height - logical_rect.height; if (logical_rect.height > area.height) y_pos = (logical_rect.height - area.height - 2*CELLOFFSET) / 2; else if (y_pos < 0) y_pos = 0; else if (y_pos + logical_rect.height > area.height) y_pos = area.height - logical_rect.height; text_width = rect.width; text_height = rect.height; y = area.y + y_pos - CELLOFFSET; switch(attributes.justification){ case GTK_JUSTIFY_RIGHT: size=area.width; area.x+=area.width; if(!gtk_sheet_clip_text(sheet)){ for(i=col-1; i>=MIN_VISIBLE_COLUMN(sheet); i--){ if(gtk_sheet_cell_get_text(sheet, row, i)) break; if(size>=text_width+CELLOFFSET) break; size+=sheet->column[i].width; sheet->column[i].right_text_column = MAX(col, sheet->column[i].right_text_column); } area.width=size; } area.x-=size; xoffset+=area.width-text_width - 2 * CELLOFFSET - attributes.border.width/2; break; case GTK_JUSTIFY_CENTER: sizel=area.width/2; sizer=area.width/2; area.x+=area.width/2; if(!gtk_sheet_clip_text(sheet)){ for(i=col+1; i<=MAX_VISIBLE_COLUMN(sheet); i++){ if(gtk_sheet_cell_get_text(sheet, row, i)) break; if(sizer>=text_width/2) break; sizer+=sheet->column[i].width; sheet->column[i].left_text_column = MIN(col, sheet->column[i].left_text_column); } for(i=col-1; i>=MIN_VISIBLE_COLUMN(sheet); i--){ if(gtk_sheet_cell_get_text(sheet, row, i)) break; if(sizel>=text_width/2) break; sizel+=sheet->column[i].width; sheet->column[i].right_text_column = MAX(col, sheet->column[i].right_text_column); } size=MIN(sizel, sizer); } area.x-=sizel; xoffset+= sizel - text_width/2 - CELLOFFSET; area.width=sizel+sizer; break; case GTK_JUSTIFY_LEFT: default: size=area.width; if(!gtk_sheet_clip_text(sheet)){ for(i=col+1; i<=MAX_VISIBLE_COLUMN(sheet); i++){ if(gtk_sheet_cell_get_text(sheet, row, i)) break; if(size>=text_width+CELLOFFSET) break; size+=sheet->column[i].width; sheet->column[i].left_text_column = MIN(col, sheet->column[i].left_text_column); } area.width=size; } xoffset += attributes.border.width/2; break; } if(!gtk_sheet_clip_text(sheet)) clip_area = area; gdk_gc_set_clip_rectangle(fg_gc, &clip_area); gdk_draw_layout (sheet->pixmap, fg_gc, area.x + xoffset + CELLOFFSET, y, layout); gdk_gc_set_clip_rectangle(fg_gc, NULL); g_object_unref(G_OBJECT(layout)); gdk_draw_pixmap(sheet->sheet_window, GTK_WIDGET(sheet)->style->fg_gc[GTK_STATE_NORMAL], sheet->pixmap, area.x, area.y, area.x, area.y, area.width, area.height); } static void gtk_sheet_range_draw(GtkSheet *sheet, const GtkSheetRange *range) { gint i,j; GtkSheetRange drawing_range; GdkRectangle area; g_return_if_fail(sheet != NULL); g_return_if_fail(GTK_SHEET(sheet)); if(!GTK_WIDGET_DRAWABLE(GTK_WIDGET(sheet))) return; if(!GTK_WIDGET_REALIZED(GTK_WIDGET(sheet))) return; if(!GTK_WIDGET_MAPPED(GTK_WIDGET(sheet))) return; if(range == NULL) { drawing_range.row0=MIN_VISIBLE_ROW(sheet); drawing_range.col0=MIN_VISIBLE_COLUMN(sheet); drawing_range.rowi=MAX_VISIBLE_ROW(sheet); drawing_range.coli=MAX_VISIBLE_COLUMN(sheet); /* gdk_draw_rectangle (sheet->pixmap, GTK_WIDGET(sheet)->style->white_gc, TRUE, 0,0, sheet->sheet_window_width,sheet->sheet_window_height); */ } else { drawing_range.row0=MAX(range->row0, MIN_VISIBLE_ROW(sheet)); drawing_range.col0=MAX(range->col0, MIN_VISIBLE_COLUMN(sheet)); drawing_range.rowi=MIN(range->rowi, MAX_VISIBLE_ROW(sheet)); drawing_range.coli=MIN(range->coli, MAX_VISIBLE_COLUMN(sheet)); } if(drawing_range.coli == sheet->maxcol){ area.x=COLUMN_LEFT_XPIXEL(sheet,sheet->maxcol)+ sheet->column[sheet->maxcol].width+1; area.y=0; gdk_gc_set_foreground(sheet->fg_gc, &sheet->bg_color); gdk_draw_rectangle (sheet->pixmap, sheet->fg_gc, TRUE, area.x,area.y, sheet->sheet_window_width - area.x, sheet->sheet_window_height); gdk_draw_pixmap(sheet->sheet_window, GTK_WIDGET(sheet)->style->fg_gc[GTK_STATE_NORMAL], sheet->pixmap, area.x, area.y, area.x, area.y, sheet->sheet_window_width - area.x, sheet->sheet_window_height); } if(drawing_range.rowi == sheet->maxrow){ area.x=0; area.y=ROW_TOP_YPIXEL(sheet,sheet->maxrow)+sheet->row[sheet->maxrow].height+1; gdk_gc_set_foreground(sheet->fg_gc, &sheet->bg_color); gdk_draw_rectangle (sheet->pixmap, sheet->fg_gc, TRUE, area.x,area.y, sheet->sheet_window_width, sheet->sheet_window_height - area.y); gdk_draw_pixmap(sheet->sheet_window, GTK_WIDGET(sheet)->style->fg_gc[GTK_STATE_NORMAL], sheet->pixmap, area.x, area.y, area.x, area.y, sheet->sheet_window_width, sheet->sheet_window_height - area.y); } for(i=drawing_range.row0; i<=drawing_range.rowi; i++) for(j=drawing_range.col0; j<=drawing_range.coli; j++){ gtk_sheet_cell_draw_default(sheet, i, j); } for(i=drawing_range.row0; i<=drawing_range.rowi; i++) for(j=drawing_range.col0; j<=drawing_range.coli; j++){ gtk_sheet_cell_draw_border(sheet, i-1, j, GTK_SHEET_BOTTOM_BORDER); gtk_sheet_cell_draw_border(sheet, i+1, j, GTK_SHEET_TOP_BORDER); gtk_sheet_cell_draw_border(sheet, i, j-1, GTK_SHEET_RIGHT_BORDER); gtk_sheet_cell_draw_border(sheet, i, j+1, GTK_SHEET_LEFT_BORDER); gtk_sheet_cell_draw_border(sheet, i, j, 15); } for(i=drawing_range.row0; i<=drawing_range.rowi; i++) for(j=drawing_range.col0; j<=drawing_range.coli; j++) if(i<=sheet->maxallocrow && j<=sheet->maxalloccol && sheet->data[i] && sheet->data[i][j]) gtk_sheet_cell_draw_label (sheet, i, j); for(i=drawing_range.row0; i<=drawing_range.rowi; i++) for(j=sheet->column[drawing_range.col0].left_text_column; jmaxallocrow && j<=sheet->maxalloccol && sheet->data[i] && sheet->data[i][j]) gtk_sheet_cell_draw_label (sheet, i, j); for(i=drawing_range.row0; i<=drawing_range.rowi; i++) for(j=drawing_range.coli+1; j<=sheet->column[drawing_range.coli].right_text_column; j++) if(i<=sheet->maxallocrow && j<=sheet->maxalloccol && sheet->data[i] && sheet->data[i][j]) gtk_sheet_cell_draw_label (sheet, i, j); gtk_sheet_draw_backing_pixmap(sheet, drawing_range); if(sheet->state != GTK_SHEET_NORMAL && gtk_sheet_range_isvisible(sheet, sheet->range)) gtk_sheet_range_draw_selection(sheet, drawing_range); if(sheet->state == GTK_STATE_NORMAL && sheet->active_cell.row >= drawing_range.row0 && sheet->active_cell.row <= drawing_range.rowi && sheet->active_cell.col >= drawing_range.col0 && sheet->active_cell.col <= drawing_range.coli) gtk_sheet_show_active_cell(sheet); } static void gtk_sheet_range_draw_selection(GtkSheet *sheet, GtkSheetRange range) { GdkRectangle area; gint i,j; GtkSheetRange aux; if(range.col0 > sheet->range.coli || range.coli < sheet->range.col0 || range.row0 > sheet->range.rowi || range.rowi < sheet->range.row0) return; if(!gtk_sheet_range_isvisible(sheet, range)) return; if(!GTK_WIDGET_REALIZED(GTK_WIDGET(sheet))) return; aux=range; range.col0=MAX(sheet->range.col0, range.col0); range.coli=MIN(sheet->range.coli, range.coli); range.row0=MAX(sheet->range.row0, range.row0); range.rowi=MIN(sheet->range.rowi, range.rowi); range.col0=MAX(range.col0, MIN_VISIBLE_COLUMN(sheet)); range.coli=MIN(range.coli, MAX_VISIBLE_COLUMN(sheet)); range.row0=MAX(range.row0, MIN_VISIBLE_ROW(sheet)); range.rowi=MIN(range.rowi, MAX_VISIBLE_ROW(sheet)); for(i=range.row0; i<=range.rowi; i++){ for(j=range.col0; j<=range.coli; j++){ if(gtk_sheet_cell_get_state(sheet, i, j)==GTK_STATE_SELECTED && sheet->column[j].is_visible && sheet->row[i].is_visible){ row_button_set(sheet, i); column_button_set(sheet, j); area.x=COLUMN_LEFT_XPIXEL(sheet,j); area.y=ROW_TOP_YPIXEL(sheet,i); area.width=sheet->column[j].width; area.height=sheet->row[i].height; if(i==sheet->range.row0){ area.y=area.y+2; area.height=area.height-2; } if(i==sheet->range.rowi) area.height=area.height-3; if(j==sheet->range.col0){ area.x=area.x+2; area.width=area.width-2; } if(j==sheet->range.coli) area.width=area.width-3; if(i!=sheet->active_cell.row || j!=sheet->active_cell.col){ gdk_draw_rectangle (sheet->sheet_window, sheet->xor_gc, TRUE, area.x+1,area.y+1, area.width,area.height); } } } } gtk_sheet_draw_border(sheet, sheet->range); } static void gtk_sheet_draw_backing_pixmap(GtkSheet *sheet, GtkSheetRange range) { gint x,y,width,height; if(!GTK_WIDGET_REALIZED(GTK_WIDGET(sheet))) return; x=COLUMN_LEFT_XPIXEL(sheet,range.col0); y=ROW_TOP_YPIXEL(sheet, range.row0); width=COLUMN_LEFT_XPIXEL(sheet, range.coli)-x+sheet->column[range.coli].width; height=ROW_TOP_YPIXEL(sheet, range.rowi)-y+sheet->row[range.rowi].height; if(range.row0==sheet->range.row0){ y=y-5; height=height+5; } if(range.rowi==sheet->range.rowi) height=height+5; if(range.col0==sheet->range.col0){ x=x-5; width=width+5; } if(range.coli==sheet->range.coli) width=width+5; width=MIN(width, sheet->sheet_window_width-x); height=MIN(height, sheet->sheet_window_height-y); x--; y--; width+=2; height+=2; x = (sheet->row_titles_visible) ? MAX(x, sheet->row_title_area.width) : MAX(x, 0); y = (sheet->column_titles_visible) ? MAX(y, sheet->column_title_area.height) : MAX(y, 0); if(range.coli==sheet->maxcol) width=sheet->sheet_window_width-x; if(range.rowi==sheet->maxrow) height=sheet->sheet_window_height-y; gdk_draw_pixmap(sheet->sheet_window, GTK_WIDGET(sheet)->style->fg_gc[GTK_STATE_NORMAL], sheet->pixmap, x, y, x, y, width+1, height+1); } static GtkSheetCell * gtk_sheet_cell_new() { GtkSheetCell *cell; cell = g_new(GtkSheetCell, 1); cell->text = NULL; cell->link = NULL; cell->attributes = NULL; return cell; } void gtk_sheet_set_cell_text(GtkSheet *sheet, gint row, gint col, const gchar *text) { GtkSheetCellAttr attributes; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if (col > sheet->maxcol || row > sheet->maxrow) return; if (col < 0 || row < 0) return; gtk_sheet_get_attributes(sheet, row, col, &attributes); gtk_sheet_set_cell(sheet, row, col, attributes.justification, text); } void gtk_sheet_set_cell(GtkSheet *sheet, gint row, gint col, GtkJustification justification, const gchar *text) { GtkSheetCell **cell; GtkSheetRange range; gint text_width; GtkSheetCellAttr attributes; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if (col > sheet->maxcol || row > sheet->maxrow) return; if (col < 0 || row < 0) return; CheckBounds(sheet, row, col); cell=&sheet->data[row][col]; if(*cell==NULL) (*cell) = gtk_sheet_cell_new(); gtk_sheet_get_attributes(sheet, row, col, &attributes); (*cell)->row = row; (*cell)->col = col; attributes.justification = justification; gtk_sheet_set_cell_attributes(sheet, row, col, attributes); if((*cell)->text){ g_free((*cell)->text); (*cell)->text = NULL; } if(text) (*cell)->text=g_strdup(text); if(attributes.is_visible){ text_width = 0; if((*cell)->text && strlen((*cell)->text) > 0) { text_width = STRING_WIDTH(GTK_WIDGET(sheet), attributes.font_desc, (*cell)->text); } range.row0 = row; range.rowi = row; range.col0 = sheet->view.col0; range.coli = sheet->view.coli; if(gtk_sheet_autoresize(sheet) && text_width > sheet->column[col].width-2*CELLOFFSET-attributes.border.width){ gtk_sheet_set_column_width(sheet, col, text_width+2*CELLOFFSET+attributes.border.width); GTK_SHEET_SET_FLAGS(sheet, GTK_SHEET_REDRAW_PENDING); } else if(!GTK_SHEET_IS_FROZEN(sheet)) gtk_sheet_range_draw(sheet, &range); } gtk_signal_emit(GTK_OBJECT(sheet),sheet_signals[CHANGED], row, col); } void gtk_sheet_cell_clear (GtkSheet *sheet, gint row, gint column) { GtkSheetRange range; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if (column > sheet->maxcol || row > sheet->maxrow) return; if (column > sheet->maxalloccol || row > sheet->maxallocrow) return; if (column < 0 || row < 0) return; range.row0 = row; range.rowi = row; range.col0 = sheet->view.col0; range.coli = sheet->view.coli; gtk_sheet_real_cell_clear(sheet, row, column, FALSE); if(!GTK_SHEET_IS_FROZEN(sheet)){ gtk_sheet_range_draw(sheet, &range); } } void gtk_sheet_cell_delete (GtkSheet *sheet, gint row, gint column) { GtkSheetRange range; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if (column > sheet->maxcol || row > sheet->maxrow) return; if (column > sheet->maxalloccol || row > sheet->maxallocrow) return; if (column < 0 || row < 0) return; range.row0 = row; range.rowi = row; range.col0 = sheet->view.col0; range.coli = sheet->view.coli; gtk_sheet_real_cell_clear(sheet, row, column, TRUE); if(!GTK_SHEET_IS_FROZEN(sheet)){ gtk_sheet_range_draw(sheet, &range); } } static void gtk_sheet_real_cell_clear (GtkSheet *sheet, gint row, gint column, gboolean delete) { gchar *text; gpointer link; if(row > sheet->maxallocrow || column > sheet->maxalloccol) return; if(!sheet->data[row]) return; if(!sheet->data[row][column]) return; text = gtk_sheet_cell_get_text(sheet, row, column); link = gtk_sheet_get_link(sheet, row, column); if(text){ g_free(sheet->data[row][column]->text); sheet->data[row][column]->text = NULL; if(GTK_IS_OBJECT(sheet) && G_OBJECT(sheet)->ref_count > 0) gtk_signal_emit(GTK_OBJECT(sheet),sheet_signals[CLEAR_CELL], row, column); sheet_head->CHANGED = 1; } if(delete){ if(sheet->data[row][column]->attributes){ g_free(sheet->data[row][column]->attributes); sheet->data[row][column]->attributes = NULL; } sheet->data[row][column]->link = NULL; if(sheet->data[row][column]) g_free(sheet->data[row][column]); sheet->data[row][column] = NULL; } } void gtk_sheet_range_clear (GtkSheet *sheet, const GtkSheetRange *range) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); gtk_sheet_real_range_clear(sheet, range, FALSE); } void gtk_sheet_range_delete (GtkSheet *sheet, const GtkSheetRange *range) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); gtk_sheet_real_range_clear(sheet, range, TRUE); } static void gtk_sheet_real_range_clear (GtkSheet *sheet, const GtkSheetRange *range, gboolean delete) { gint i, j; GtkSheetRange clear; if(!range){ clear.row0=0; clear.rowi=sheet->maxallocrow; clear.col0=0; clear.coli=sheet->maxalloccol; }else clear=*range; clear.row0=MAX(clear.row0, 0); clear.col0=MAX(clear.col0, 0); clear.rowi=MIN(clear.rowi, sheet->maxallocrow); clear.coli=MIN(clear.coli, sheet->maxalloccol); for(i=clear.row0; i<=clear.rowi; i++) for(j=clear.col0; j<=clear.coli; j++){ gtk_sheet_real_cell_clear(sheet, i, j, delete); } gtk_sheet_range_draw(sheet, NULL); } gchar * gtk_sheet_cell_get_text (GtkSheet *sheet, gint row, gint col) { g_return_val_if_fail (sheet != NULL, NULL); g_return_val_if_fail (GTK_IS_SHEET (sheet), NULL); if(col > sheet->maxcol || row > sheet->maxrow) return NULL; if(col < 0 || row < 0) return NULL; if(row > sheet->maxallocrow || col > sheet->maxalloccol) return NULL; if(!sheet->data[row]) return NULL; if(!sheet->data[row][col]) return NULL; if(!sheet->data[row][col]->text) return NULL; if(strlen(sheet->data[row][col]->text) == 0) return NULL; return (sheet->data[row][col]->text); } void gtk_sheet_link_cell(GtkSheet *sheet, gint row, gint col, gpointer link) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(col > sheet->maxcol || row > sheet->maxrow) return; if(col < 0 || row < 0) return; if(row > sheet->maxallocrow || col > sheet->maxalloccol || !sheet->data[row] || !sheet->data[row][col]) gtk_sheet_set_cell_text(sheet, row, col, ""); sheet->data[row][col]->link = link; } gpointer gtk_sheet_get_link(GtkSheet *sheet, gint row, gint col) { g_return_val_if_fail (sheet != NULL, NULL); g_return_val_if_fail (GTK_IS_SHEET (sheet), NULL); if(col > sheet->maxcol || row > sheet->maxrow) return NULL; if(col < 0 || row < 0) return NULL; if (row > sheet->maxallocrow || col > sheet->maxalloccol) return NULL; if (!sheet->data[row]) return NULL; /* Added by Chris Howell */ if (!sheet->data[row][col]) return NULL; /* Added by Bob Lissner */ return(sheet->data[row][col]->link); } void gtk_sheet_remove_link(GtkSheet *sheet, gint row, gint col) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(col > sheet->maxcol || row > sheet->maxrow) return; if(col < 0 || row < 0) return; /* Fixed by Andreas Voegele */ if(row < sheet->maxallocrow && col < sheet->maxalloccol && sheet->data[row] && sheet->data[row][col] && sheet->data[row][col]->link) sheet->data[row][col]->link = NULL; } GtkStateType gtk_sheet_cell_get_state (GtkSheet *sheet, gint row, gint col) { gint state; GtkSheetRange *range; g_return_val_if_fail (sheet != NULL, 0); g_return_val_if_fail (GTK_IS_SHEET (sheet), 0); if(col > sheet->maxcol || row > sheet->maxrow) return 0; if(col < 0 || row < 0) return 0; state = sheet->state; range = &sheet->range; switch (state){ case GTK_SHEET_NORMAL: return GTK_STATE_NORMAL; break; case GTK_SHEET_ROW_SELECTED: if(row>=range->row0 && row<=range->rowi) return GTK_STATE_SELECTED; break; case GTK_SHEET_COLUMN_SELECTED: if(col>=range->col0 && col<=range->coli) return GTK_STATE_SELECTED; break; case GTK_SHEET_RANGE_SELECTED: if(row >= range->row0 && row <= range->rowi && \ col >= range->col0 && col <= range->coli) return GTK_STATE_SELECTED; break; } return GTK_STATE_NORMAL; } gboolean gtk_sheet_get_pixel_info (GtkSheet * sheet, gint x, gint y, gint * row, gint * column) { gint trow, tcol; g_return_val_if_fail (sheet != NULL, 0); g_return_val_if_fail (GTK_IS_SHEET (sheet), 0); /* bounds checking, return false if the user clicked * on a blank area */ trow = ROW_FROM_YPIXEL (sheet, y); if (trow > sheet->maxrow) return FALSE; *row = trow; tcol = COLUMN_FROM_XPIXEL (sheet, x); if (tcol > sheet->maxcol) return FALSE; *column = tcol; return TRUE; } gboolean gtk_sheet_get_cell_area (GtkSheet * sheet, gint row, gint column, GdkRectangle *area) { g_return_val_if_fail (sheet != NULL, 0); g_return_val_if_fail (GTK_IS_SHEET (sheet), 0); if(row > sheet->maxrow || column > sheet->maxcol) return FALSE; area->x = (column == -1) ? 0 : (COLUMN_LEFT_XPIXEL(sheet, column) - (sheet->row_titles_visible ? sheet->row_title_area.width : 0)); area->y = (row == -1) ? 0 : (ROW_TOP_YPIXEL(sheet, row) - (sheet->column_titles_visible ? sheet->column_title_area.height : 0)); area->width= (column == -1) ? sheet->row_title_area.width : sheet->column[column].width; area->height= (row == -1) ? sheet->column_title_area.height : sheet->row[row].height; /* if(row < 0 || column < 0) return FALSE; area->x = COLUMN_LEFT_XPIXEL(sheet, column); area->y = ROW_TOP_YPIXEL(sheet, row); if(sheet->row_titles_visible) area->x -= sheet->row_title_area.width; if(sheet->column_titles_visible) area->y -= sheet->column_title_area.height; area->width=sheet->column[column].width; area->height=sheet->row[row].height; */ return TRUE; } gboolean gtk_sheet_set_active_cell (GtkSheet *sheet, gint row, gint column) { g_return_val_if_fail (sheet != NULL, 0); g_return_val_if_fail (GTK_IS_SHEET (sheet), 0); if(row < 0 || column < 0) return FALSE; if(row > sheet->maxrow || column > sheet->maxcol) return FALSE; if(GTK_WIDGET_REALIZED(GTK_WIDGET(sheet))) { if(!gtk_sheet_deactivate_cell(sheet)) return FALSE; } sheet->active_cell.row=row; sheet->active_cell.col=column; if(!gtk_sheet_activate_cell(sheet, row, column)) return FALSE; return TRUE; } void gtk_sheet_get_active_cell (GtkSheet *sheet, gint *row, gint *column) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); *row = sheet->active_cell.row; *column = sheet->active_cell.col; } static void gtk_sheet_entry_changed(GtkWidget *widget, gpointer data) { GtkSheet *sheet; gint row,col; const char *text; GtkJustification justification; GtkSheetCellAttr attributes; g_return_if_fail (data != NULL); g_return_if_fail (GTK_IS_SHEET (data)); sheet=GTK_SHEET(data); if(!GTK_WIDGET_VISIBLE(widget)) return; if(sheet->state != GTK_STATE_NORMAL) return; row=sheet->active_cell.row; col=sheet->active_cell.col; if(row<0 || col<0) return; sheet->active_cell.row=-1; sheet->active_cell.col=-1; text=gtk_entry_get_text(GTK_ENTRY(gtk_sheet_get_entry(sheet))); GTK_SHEET_SET_FLAGS(sheet, GTK_SHEET_IS_FROZEN); if(text && strlen(text)!=0){ gtk_sheet_get_attributes(sheet, row, col, &attributes); justification=attributes.justification; gtk_sheet_set_cell(sheet, row, col, justification, text); } else { /* Added by Matias Mutchinick */ gtk_sheet_cell_clear(sheet, row, col); } sheet_head->CHANGED = 1; if(sheet->freeze_count == 0) GTK_SHEET_UNSET_FLAGS(sheet, GTK_SHEET_IS_FROZEN); sheet->active_cell.row=row;; sheet->active_cell.col=col; } static gboolean gtk_sheet_deactivate_cell(GtkSheet *sheet) { gboolean veto = TRUE; g_return_val_if_fail (sheet != NULL, FALSE); g_return_val_if_fail (GTK_IS_SHEET (sheet), FALSE); if(!GTK_WIDGET_REALIZED(GTK_WIDGET(sheet))) return FALSE; if(sheet->state != GTK_SHEET_NORMAL) return FALSE; _gtkextra_signal_emit(GTK_OBJECT(sheet),sheet_signals[DEACTIVATE], sheet->active_cell.row, sheet->active_cell.col, &veto); if(!veto) return FALSE; gtk_signal_disconnect_by_func(GTK_OBJECT(gtk_sheet_get_entry(sheet)), (GtkSignalFunc) gtk_sheet_entry_changed, GTK_OBJECT(GTK_WIDGET(sheet))); gtk_sheet_hide_active_cell(sheet); sheet->active_cell.row=-1; sheet->active_cell.col=-1; if(GTK_SHEET_REDRAW_PENDING(sheet)){ GTK_SHEET_UNSET_FLAGS(sheet, GTK_SHEET_REDRAW_PENDING); gtk_sheet_range_draw(sheet, NULL); } return TRUE; } static void gtk_sheet_hide_active_cell(GtkSheet *sheet) { const char *text; gint row,col; GtkJustification justification; GtkSheetCellAttr attributes; if(!GTK_WIDGET_REALIZED(GTK_WIDGET(sheet))) return; row=sheet->active_cell.row; col=sheet->active_cell.col; if(row < 0 || col < 0) return; if(sheet->freeze_count == 0) GTK_SHEET_UNSET_FLAGS(sheet, GTK_SHEET_IS_FROZEN); text=gtk_entry_get_text(GTK_ENTRY(gtk_sheet_get_entry(sheet))); gtk_sheet_get_attributes(sheet, row, col, &attributes); justification=attributes.justification; if(text && strlen(text)!=0){ gtk_sheet_set_cell(sheet, row, col, justification, text); gtk_signal_emit(GTK_OBJECT(sheet),sheet_signals[SET_CELL], row, col); } else { gtk_sheet_cell_clear(sheet, row, col); } row=sheet->active_cell.row; col=sheet->active_cell.col; column_button_release(sheet, col); row_button_release(sheet, row); gtk_widget_unmap(sheet->sheet_entry); if(row != -1 && col != -1) gdk_draw_pixmap(sheet->sheet_window, GTK_WIDGET(sheet)->style->fg_gc[GTK_STATE_NORMAL], sheet->pixmap, COLUMN_LEFT_XPIXEL(sheet,col)-1, ROW_TOP_YPIXEL(sheet,row)-1, COLUMN_LEFT_XPIXEL(sheet,col)-1, ROW_TOP_YPIXEL(sheet,row)-1, sheet->column[col].width+4, sheet->row[row].height+4); GTK_WIDGET_UNSET_FLAGS(sheet->sheet_entry, GTK_HAS_FOCUS); GTK_WIDGET_SET_FLAGS(GTK_WIDGET(sheet), GTK_HAS_FOCUS); gtk_widget_grab_focus(GTK_WIDGET(sheet)); GTK_WIDGET_UNSET_FLAGS(GTK_WIDGET(sheet->sheet_entry), GTK_VISIBLE); } static gboolean gtk_sheet_activate_cell(GtkSheet *sheet, gint row, gint col) { gboolean veto = TRUE; g_return_val_if_fail (sheet != NULL, FALSE); g_return_val_if_fail (GTK_IS_SHEET (sheet), FALSE); if(row < 0 || col < 0) return FALSE; if(row > sheet->maxrow || col > sheet->maxcol) return FALSE; /* _gtkextra_signal_emit(GTK_OBJECT(sheet),sheet_signals[ACTIVATE], row, col, &veto); if(!GTK_WIDGET_REALIZED(GTK_WIDGET(sheet))) return veto; */ if(!veto) return FALSE; if(sheet->state != GTK_SHEET_NORMAL){ sheet->state=GTK_SHEET_NORMAL; gtk_sheet_real_unselect_range(sheet, NULL); } sheet->range.row0=row; sheet->range.col0=col; sheet->range.rowi=row; sheet->range.coli=col; sheet->active_cell.row=row; sheet->active_cell.col=col; sheet->selection_cell.row=row; sheet->selection_cell.col=col; row_button_set(sheet, row); column_button_set(sheet, col); GTK_SHEET_UNSET_FLAGS(sheet, GTK_SHEET_IN_SELECTION); gtk_sheet_show_active_cell(sheet); gtk_signal_connect(GTK_OBJECT(gtk_sheet_get_entry(sheet)), "changed", (GtkSignalFunc)gtk_sheet_entry_changed, GTK_OBJECT(GTK_WIDGET(sheet))); _gtkextra_signal_emit(GTK_OBJECT(sheet),sheet_signals[ACTIVATE], row, col, &veto); return TRUE; } static void gtk_sheet_show_active_cell(GtkSheet *sheet) { GtkSheetCell *cell; GtkEntry *sheet_entry; GtkSheetCellAttr attributes; gchar *text = NULL; GtkJustification justification; gint row, col; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); row = sheet->active_cell.row; col = sheet->active_cell.col; /* Don't show the active cell, if there is no active cell: */ if(!(row >= 0 && col >= 0)) /* e.g row or coll == -1. */ return; if(!GTK_WIDGET_REALIZED(GTK_WIDGET(sheet))) return; if(sheet->state != GTK_SHEET_NORMAL) return; if(GTK_SHEET_IN_SELECTION(sheet)) return; GTK_WIDGET_SET_FLAGS(GTK_WIDGET(sheet->sheet_entry), GTK_VISIBLE); sheet_entry = GTK_ENTRY(gtk_sheet_get_entry(sheet)); gtk_sheet_get_attributes(sheet, row, col, &attributes); justification = GTK_JUSTIFY_LEFT; if(gtk_sheet_justify_entry(sheet)) justification = attributes.justification; if(row <= sheet->maxallocrow && col <= sheet->maxalloccol) { if(sheet->data[row]) { if(sheet->data[row][col]) { cell = sheet->data[row][col]; if(cell->text) text = g_strdup(cell->text); } } } if(!text) text = g_strdup(""); gtk_entry_set_visibility(GTK_ENTRY(sheet_entry), attributes.is_visible); if(gtk_sheet_locked(sheet) || !attributes.is_editable){ gtk_entry_set_editable(GTK_ENTRY(sheet_entry), FALSE); }else{ gtk_entry_set_editable(GTK_ENTRY(sheet_entry), TRUE); } gtk_entry_set_text(GTK_ENTRY(sheet_entry), text); gtk_sheet_size_allocate_entry(sheet); gtk_widget_map(sheet->sheet_entry); gtk_sheet_draw_active_cell(sheet); gtk_widget_grab_focus(GTK_WIDGET(sheet_entry)); GTK_WIDGET_SET_FLAGS(GTK_WIDGET(sheet_entry), GTK_HAS_FOCUS); GTK_WIDGET_UNSET_FLAGS(GTK_WIDGET(sheet), GTK_HAS_FOCUS); g_free(text); } static void gtk_sheet_draw_active_cell(GtkSheet *sheet) { gint row, col; if(!GTK_WIDGET_DRAWABLE(GTK_WIDGET(sheet))) return; if(!GTK_WIDGET_REALIZED(GTK_WIDGET(sheet))) return; row = sheet->active_cell.row; col = sheet->active_cell.col; if(row<0 || col<0) return; if(!gtk_sheet_cell_isvisible(sheet, row, col)) return; row_button_set(sheet, row); column_button_set(sheet, col); gtk_sheet_draw_backing_pixmap(sheet, sheet->range); gtk_sheet_draw_border(sheet, sheet->range); } static void gtk_sheet_make_backing_pixmap (GtkSheet *sheet, guint width, guint height) { gint pixmap_width, pixmap_height; if(!GTK_WIDGET_REALIZED(GTK_WIDGET(sheet))) return; if(width == 0 && height == 0){ width=sheet->sheet_window_width+80; height=sheet->sheet_window_height+80; } if (!sheet->pixmap) { /* allocate */ sheet->pixmap = gdk_pixmap_new (sheet->sheet_window, width, height, -1); if(!GTK_SHEET_IS_FROZEN(sheet)) gtk_sheet_range_draw(sheet, NULL); } else { /* reallocate if sizes don't match */ gdk_window_get_size (sheet->pixmap, &pixmap_width, &pixmap_height); if ((pixmap_width != width) || (pixmap_height != height)) { gdk_pixmap_unref(sheet->pixmap); /* replaced by SDB on 7.31.2006 */ /* g_free(sheet->pixmap); */ sheet->pixmap = gdk_pixmap_new (sheet->sheet_window, width, height, -1); if(!GTK_SHEET_IS_FROZEN(sheet)) gtk_sheet_range_draw(sheet, NULL); } } } static void gtk_sheet_new_selection(GtkSheet *sheet, GtkSheetRange *range) { gint i,j, mask1, mask2; gint state, selected; gint x,y,width,height; GtkSheetRange new_range, aux_range; g_return_if_fail (sheet != NULL); if(range==NULL) range=&sheet->range; new_range=*range; range->row0=MIN(range->row0, sheet->range.row0); range->rowi=MAX(range->rowi, sheet->range.rowi); range->col0=MIN(range->col0, sheet->range.col0); range->coli=MAX(range->coli, sheet->range.coli); range->row0=MAX(range->row0, MIN_VISIBLE_ROW(sheet)); range->rowi=MIN(range->rowi, MAX_VISIBLE_ROW(sheet)); range->col0=MAX(range->col0, MIN_VISIBLE_COLUMN(sheet)); range->coli=MIN(range->coli, MAX_VISIBLE_COLUMN(sheet)); aux_range.row0=MAX(new_range.row0, MIN_VISIBLE_ROW(sheet)); aux_range.rowi=MIN(new_range.rowi, MAX_VISIBLE_ROW(sheet)); aux_range.col0=MAX(new_range.col0, MIN_VISIBLE_COLUMN(sheet)); aux_range.coli=MIN(new_range.coli, MAX_VISIBLE_COLUMN(sheet)); for(i=range->row0; i<=range->rowi; i++){ for(j=range->col0; j<=range->coli; j++){ state=gtk_sheet_cell_get_state(sheet, i, j); selected=(i<=new_range.rowi && i>=new_range.row0 && j<=new_range.coli && j>=new_range.col0) ? TRUE : FALSE; if(state==GTK_STATE_SELECTED && selected && sheet->column[j].is_visible && sheet->row[i].is_visible && (i==sheet->range.row0 || i==sheet->range.rowi || j==sheet->range.col0 || j==sheet->range.coli || i==new_range.row0 || i==new_range.rowi || j==new_range.col0 || j==new_range.coli)){ mask1 = i==sheet->range.row0 ? 1 : 0; mask1 = i==sheet->range.rowi ? mask1+2 : mask1; mask1 = j==sheet->range.col0 ? mask1+4 : mask1; mask1 = j==sheet->range.coli ? mask1+8 : mask1; mask2 = i==new_range.row0 ? 1 : 0; mask2 = i==new_range.rowi ? mask2+2 : mask2; mask2 = j==new_range.col0 ? mask2+4 : mask2; mask2 = j==new_range.coli ? mask2+8 : mask2; if(mask1 != mask2){ x=COLUMN_LEFT_XPIXEL(sheet,j); y=ROW_TOP_YPIXEL(sheet, i); width=COLUMN_LEFT_XPIXEL(sheet, j)-x+sheet->column[j].width; height=ROW_TOP_YPIXEL(sheet, i)-y+sheet->row[i].height; if(i==sheet->range.row0){ y=y-3; height=height+3; } if(i==sheet->range.rowi) height=height+3; if(j==sheet->range.col0){ x=x-3; width=width+3; } if(j==sheet->range.coli) width=width+3; gdk_draw_pixmap(sheet->sheet_window, GTK_WIDGET(sheet)->style->fg_gc[GTK_STATE_NORMAL], sheet->pixmap, x+1, y+1, x+1, y+1, width, height); if(i != sheet->active_cell.row || j != sheet->active_cell.col){ x=COLUMN_LEFT_XPIXEL(sheet,j); y=ROW_TOP_YPIXEL(sheet, i); width=COLUMN_LEFT_XPIXEL(sheet, j)-x+sheet->column[j].width; height=ROW_TOP_YPIXEL(sheet, i)-y+sheet->row[i].height; if(i==new_range.row0){ y=y+2; height=height-2; } if(i==new_range.rowi) height=height-3; if(j==new_range.col0){ x=x+2; width=width-2; } if(j==new_range.coli) width=width-3; gdk_draw_rectangle (sheet->sheet_window, sheet->xor_gc, TRUE, x+1,y+1, width,height); } } } } } for(i=range->row0; i<=range->rowi; i++){ for(j=range->col0; j<=range->coli; j++){ state=gtk_sheet_cell_get_state(sheet, i, j); selected=(i<=new_range.rowi && i>=new_range.row0 && j<=new_range.coli && j>=new_range.col0) ? TRUE : FALSE; if(state==GTK_STATE_SELECTED && !selected && sheet->column[j].is_visible && sheet->row[i].is_visible){ x=COLUMN_LEFT_XPIXEL(sheet,j); y=ROW_TOP_YPIXEL(sheet, i); width=COLUMN_LEFT_XPIXEL(sheet, j)-x+sheet->column[j].width; height=ROW_TOP_YPIXEL(sheet, i)-y+sheet->row[i].height; if(i==sheet->range.row0){ y=y-3; height=height+3; } if(i==sheet->range.rowi) height=height+3; if(j==sheet->range.col0){ x=x-3; width=width+3; } if(j==sheet->range.coli) width=width+3; gdk_draw_pixmap(sheet->sheet_window, GTK_WIDGET(sheet)->style->fg_gc[GTK_STATE_NORMAL], sheet->pixmap, x+1, y+1, x+1, y+1, width, height); } } } for(i=range->row0; i<=range->rowi; i++){ for(j=range->col0; j<=range->coli; j++){ state=gtk_sheet_cell_get_state(sheet, i, j); selected=(i<=new_range.rowi && i>=new_range.row0 && j<=new_range.coli && j>=new_range.col0) ? TRUE : FALSE; if(state!=GTK_STATE_SELECTED && selected && sheet->column[j].is_visible && sheet->row[i].is_visible && (i != sheet->active_cell.row || j != sheet->active_cell.col)){ x=COLUMN_LEFT_XPIXEL(sheet,j); y=ROW_TOP_YPIXEL(sheet, i); width=COLUMN_LEFT_XPIXEL(sheet, j)-x+sheet->column[j].width; height=ROW_TOP_YPIXEL(sheet, i)-y+sheet->row[i].height; if(i==new_range.row0){ y=y+2; height=height-2; } if(i==new_range.rowi) height=height-3; if(j==new_range.col0){ x=x+2; width=width-2; } if(j==new_range.coli) width=width-3; gdk_draw_rectangle (sheet->sheet_window, sheet->xor_gc, TRUE, x+1,y+1, width,height); } } } for(i=aux_range.row0; i<=aux_range.rowi; i++){ for(j=aux_range.col0; j<=aux_range.coli; j++){ if(sheet->column[j].is_visible && sheet->row[i].is_visible){ state=gtk_sheet_cell_get_state(sheet, i, j); mask1 = i==sheet->range.row0 ? 1 : 0; mask1 = i==sheet->range.rowi ? mask1+2 : mask1; mask1 = j==sheet->range.col0 ? mask1+4 : mask1; mask1 = j==sheet->range.coli ? mask1+8 : mask1; mask2 = i==new_range.row0 ? 1 : 0; mask2 = i==new_range.rowi ? mask2+2 : mask2; mask2 = j==new_range.col0 ? mask2+4 : mask2; mask2 = j==new_range.coli ? mask2+8 : mask2; if(mask2!=mask1 || (mask2==mask1 && state!=GTK_STATE_SELECTED)){ x=COLUMN_LEFT_XPIXEL(sheet,j); y=ROW_TOP_YPIXEL(sheet, i); width=sheet->column[j].width; height=sheet->row[i].height; if(mask2 & 1) gdk_draw_rectangle (sheet->sheet_window, sheet->xor_gc, TRUE, x+1,y-1, width,3); if(mask2 & 2) gdk_draw_rectangle (sheet->sheet_window, sheet->xor_gc, TRUE, x+1,y+height-1, width,3); if(mask2 & 4) gdk_draw_rectangle (sheet->sheet_window, sheet->xor_gc, TRUE, x-1,y+1, 3,height); if(mask2 & 8) gdk_draw_rectangle (sheet->sheet_window, sheet->xor_gc, TRUE, x+width-1,y+1, 3,height); } } } } *range=new_range; gtk_sheet_draw_corners(sheet, new_range); } static void gtk_sheet_draw_border (GtkSheet *sheet, GtkSheetRange new_range) { GtkWidget *widget; GdkRectangle area; gint i; gint x,y,width,height; widget = GTK_WIDGET(sheet); x=COLUMN_LEFT_XPIXEL(sheet,new_range.col0); y=ROW_TOP_YPIXEL(sheet,new_range.row0); width=COLUMN_LEFT_XPIXEL(sheet,new_range.coli)-x+ sheet->column[new_range.coli].width; height=ROW_TOP_YPIXEL(sheet,new_range.rowi)-y+ sheet->row[new_range.rowi].height; area.x=COLUMN_LEFT_XPIXEL(sheet, MIN_VISIBLE_COLUMN(sheet)); area.y=ROW_TOP_YPIXEL(sheet, MIN_VISIBLE_ROW(sheet)); area.width=sheet->sheet_window_width; area.height=sheet->sheet_window_height; if(x<0) { width=width+x; x=0; } if(width>area.width) width=area.width+10; if(y<0) { height=height+y; y=0; } if(height>area.height) height=area.height+10; gdk_gc_set_clip_rectangle(sheet->xor_gc, &area); for(i=-1; i<=1; ++i) gdk_draw_rectangle (sheet->sheet_window, sheet->xor_gc, FALSE, x+i,y+i, width-2*i,height-2*i); gdk_gc_set_clip_rectangle(sheet->xor_gc, NULL); gtk_sheet_draw_corners(sheet, new_range); } static void gtk_sheet_draw_corners(GtkSheet *sheet, GtkSheetRange range) { gint x,y; guint width = 1; if(gtk_sheet_cell_isvisible(sheet, range.row0, range.col0)){ x=COLUMN_LEFT_XPIXEL(sheet,range.col0); y=ROW_TOP_YPIXEL(sheet,range.row0); gdk_draw_pixmap(sheet->sheet_window, GTK_WIDGET(sheet)->style->fg_gc[GTK_STATE_NORMAL], sheet->pixmap, x-1, y-1, x-1, y-1, 3, 3); gdk_draw_rectangle (sheet->sheet_window, sheet->xor_gc, TRUE, x-1,y-1, 3,3); } if(gtk_sheet_cell_isvisible(sheet, range.row0, range.coli) || sheet->state == GTK_SHEET_COLUMN_SELECTED){ x=COLUMN_LEFT_XPIXEL(sheet,range.coli)+ sheet->column[range.coli].width; y=ROW_TOP_YPIXEL(sheet,range.row0); width = 1; if(sheet->state == GTK_SHEET_COLUMN_SELECTED) { y = ROW_TOP_YPIXEL(sheet, sheet->view.row0)+3; width = 3; } gdk_draw_pixmap(sheet->sheet_window, GTK_WIDGET(sheet)->style->fg_gc[GTK_STATE_NORMAL], sheet->pixmap, x-width, y-width, x-width, y-width, 2*width+1, 2*width+1); gdk_draw_rectangle (sheet->sheet_window, sheet->xor_gc, TRUE, x-width+width/2,y-width+width/2, 2+width,2+width); } if(gtk_sheet_cell_isvisible(sheet, range.rowi, range.col0) || sheet->state == GTK_SHEET_ROW_SELECTED){ x=COLUMN_LEFT_XPIXEL(sheet,range.col0); y=ROW_TOP_YPIXEL(sheet,range.rowi)+ sheet->row[range.rowi].height; width = 1; if(sheet->state == GTK_SHEET_ROW_SELECTED) { x = COLUMN_LEFT_XPIXEL(sheet, sheet->view.col0)+3; width = 3; } gdk_draw_pixmap(sheet->sheet_window, GTK_WIDGET(sheet)->style->fg_gc[GTK_STATE_NORMAL], sheet->pixmap, x-width, y-width, x-width, y-width, 2*width+1, 2*width+1); gdk_draw_rectangle (sheet->sheet_window, sheet->xor_gc, TRUE, x-width+width/2,y-width+width/2, 2+width,2+width); } if(gtk_sheet_cell_isvisible(sheet, range.rowi, range.coli)){ x=COLUMN_LEFT_XPIXEL(sheet,range.coli)+ sheet->column[range.coli].width; y=ROW_TOP_YPIXEL(sheet,range.rowi)+ sheet->row[range.rowi].height; width = 1; if(sheet->state == GTK_SHEET_RANGE_SELECTED) width = 3; if(sheet->state == GTK_SHEET_NORMAL) width = 3; gdk_draw_pixmap(sheet->sheet_window, GTK_WIDGET(sheet)->style->fg_gc[GTK_STATE_NORMAL], sheet->pixmap, x-width, y-width, x-width, y-width, 2*width+1, 2*width+1); gdk_draw_rectangle (sheet->sheet_window, sheet->xor_gc, TRUE, x-width+width/2,y-width+width/2, 2+width,2+width); } } static void gtk_sheet_real_select_range (GtkSheet * sheet, GtkSheetRange * range) { gint i; gint state; g_return_if_fail (sheet != NULL); if(range==NULL) range=&sheet->range; if(range->row0 < 0 || range->rowi < 0) return; if(range->col0 < 0 || range->coli < 0) return; state=sheet->state; if(state==GTK_SHEET_COLUMN_SELECTED || state==GTK_SHEET_RANGE_SELECTED){ for(i=sheet->range.col0; i< range->col0; i++) column_button_release(sheet, i); for(i=range->coli+1; i<= sheet->range.coli; i++) column_button_release(sheet, i); for(i=range->col0; i<=range->coli; i++){ column_button_set(sheet, i); } } if(state==GTK_SHEET_ROW_SELECTED || state==GTK_SHEET_RANGE_SELECTED){ for(i=sheet->range.row0; i< range->row0; i++) row_button_release(sheet, i); for(i=range->rowi+1; i<= sheet->range.rowi; i++) row_button_release(sheet, i); for(i=range->row0; i<=range->rowi; i++){ row_button_set(sheet, i); } } if(range->coli != sheet->range.coli || range->col0 != sheet->range.col0 || range->rowi != sheet->range.rowi || range->row0 != sheet->range.row0) { gtk_sheet_new_selection(sheet, range); sheet->range.col0=range->col0; sheet->range.coli=range->coli; sheet->range.row0=range->row0; sheet->range.rowi=range->rowi; } else { gtk_sheet_draw_backing_pixmap(sheet, sheet->range); gtk_sheet_range_draw_selection(sheet, sheet->range); } gtk_signal_emit(GTK_OBJECT(sheet), sheet_signals[SELECT_RANGE], range); } void gtk_sheet_select_range(GtkSheet * sheet, const GtkSheetRange *range) { g_return_if_fail (sheet != NULL); if(range==NULL) range=&sheet->range; if(range->row0 < 0 || range->rowi < 0) return; if(range->col0 < 0 || range->coli < 0) return; if(sheet->state != GTK_SHEET_NORMAL) gtk_sheet_real_unselect_range(sheet, NULL); else { gboolean veto = TRUE; veto = gtk_sheet_deactivate_cell(sheet); if(!veto) return; } sheet->range.row0=range->row0; sheet->range.rowi=range->rowi; sheet->range.col0=range->col0; sheet->range.coli=range->coli; sheet->active_cell.row=range->row0; sheet->active_cell.col=range->col0; sheet->selection_cell.row=range->rowi; sheet->selection_cell.col=range->coli; sheet->state = GTK_SHEET_RANGE_SELECTED; gtk_sheet_real_select_range(sheet, NULL); } void gtk_sheet_unselect_range (GtkSheet * sheet) { gtk_sheet_real_unselect_range(sheet, NULL); sheet->state = GTK_STATE_NORMAL; gtk_sheet_activate_cell(sheet, sheet->active_cell.row, sheet->active_cell.col); } static void gtk_sheet_real_unselect_range (GtkSheet * sheet, const GtkSheetRange *range) { gint i; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_WIDGET_REALIZED(GTK_WIDGET(sheet))); if(range==NULL){ range=&sheet->range; } if(range->row0 < 0 || range->rowi < 0) return; if(range->col0 < 0 || range->coli < 0) return; if (gtk_sheet_range_isvisible (sheet, *range)){ gtk_sheet_draw_backing_pixmap(sheet, *range); } for(i=range->col0; i<=range->coli; i++){ column_button_release(sheet, i); } for(i=range->row0; i<=range->rowi; i++){ row_button_release(sheet, i); } } static gint gtk_sheet_expose (GtkWidget * widget, GdkEventExpose * event) { GtkSheet *sheet; GtkSheetRange range; #ifdef DEBUG printf("---> Entered gtk_sheet_expose ... must have received expose_event\n"); #endif g_return_val_if_fail (widget != NULL, FALSE); g_return_val_if_fail (GTK_IS_SHEET (widget), FALSE); g_return_val_if_fail (event != NULL, FALSE); sheet = GTK_SHEET (widget); if (GTK_WIDGET_DRAWABLE (widget)) { range.row0=ROW_FROM_YPIXEL(sheet,event->area.y); range.col0=COLUMN_FROM_XPIXEL(sheet,event->area.x); range.rowi=ROW_FROM_YPIXEL(sheet,event->area.y+event->area.height); range.coli=COLUMN_FROM_XPIXEL(sheet,event->area.x+event->area.width); /* exposure events on the sheet */ if( (event->window == sheet->row_title_window) && sheet->row_titles_visible){ size_allocate_row_title_buttons(sheet); } if( (event->window == sheet->column_title_window) && sheet->column_titles_visible){ size_allocate_column_title_buttons(sheet); } if (event->window == sheet->sheet_window){ gtk_sheet_draw_backing_pixmap(sheet, range); if(sheet->state != GTK_SHEET_NORMAL){ if(gtk_sheet_range_isvisible(sheet, sheet->range)) gtk_sheet_draw_backing_pixmap(sheet, sheet->range); if(GTK_SHEET_IN_RESIZE(sheet) || GTK_SHEET_IN_DRAG(sheet)) gtk_sheet_draw_backing_pixmap(sheet, sheet->drag_range); if(gtk_sheet_range_isvisible(sheet, sheet->range)) gtk_sheet_range_draw_selection(sheet, sheet->range); if(GTK_SHEET_IN_RESIZE(sheet) || GTK_SHEET_IN_DRAG(sheet)) draw_xor_rectangle(sheet, sheet->drag_range); } if((!GTK_SHEET_IN_XDRAG(sheet)) && (!GTK_SHEET_IN_YDRAG(sheet))){ if(sheet->state == GTK_SHEET_NORMAL){ gtk_sheet_draw_active_cell(sheet); if(!GTK_SHEET_IN_SELECTION(sheet)) gtk_widget_queue_draw(sheet->sheet_entry); } } } } if(sheet->state != GTK_SHEET_NORMAL && GTK_SHEET_IN_SELECTION(sheet)) gtk_widget_grab_focus(GTK_WIDGET(sheet)); (* GTK_WIDGET_CLASS (parent_class)->expose_event) (widget, event); #ifdef DEBUG printf("<--- Leaving gtk_sheet_expose\n"); #endif return FALSE; } static gint gtk_sheet_button_press (GtkWidget * widget, GdkEventButton * event) { GtkSheet *sheet; GdkModifierType mods; gint x, y, row, column; gboolean veto; g_return_val_if_fail (widget != NULL, FALSE); g_return_val_if_fail (GTK_IS_SHEET (widget), FALSE); g_return_val_if_fail (event != NULL, FALSE); if(event->type != GDK_BUTTON_PRESS) return TRUE; gdk_window_get_pointer(widget->window, NULL, NULL, &mods); if(!(mods & GDK_BUTTON1_MASK)) return TRUE; sheet = GTK_SHEET (widget); /* press on resize windows */ if (event->window == sheet->column_title_window && gtk_sheet_columns_resizable(sheet)) { gtk_widget_get_pointer (widget, &sheet->x_drag, NULL); if(POSSIBLE_XDRAG(sheet, sheet->x_drag, &sheet->drag_cell.col)){ guint req; gtk_sheet_column_size_request(sheet, sheet->drag_cell.col, &req); GTK_SHEET_SET_FLAGS (sheet, GTK_SHEET_IN_XDRAG); gdk_pointer_grab (sheet->column_title_window, FALSE, GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON_RELEASE_MASK, NULL, NULL, event->time); draw_xor_vline (sheet); return TRUE; } } if (event->window == sheet->row_title_window && gtk_sheet_rows_resizable(sheet)) { gtk_widget_get_pointer (widget, NULL, &sheet->y_drag); if(POSSIBLE_YDRAG(sheet, sheet->y_drag, &sheet->drag_cell.row)){ guint req; gtk_sheet_row_size_request(sheet, sheet->drag_cell.row, &req); GTK_SHEET_SET_FLAGS (sheet, GTK_SHEET_IN_YDRAG); gdk_pointer_grab (sheet->row_title_window, FALSE, GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON_RELEASE_MASK, NULL, NULL, event->time); draw_xor_hline (sheet); return TRUE; } } /* selections on the sheet */ if(event->window == sheet->sheet_window){ gtk_widget_get_pointer (widget, &x, &y); gtk_sheet_get_pixel_info (sheet, x, y, &row, &column); gdk_pointer_grab (sheet->sheet_window, FALSE, GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON_RELEASE_MASK, NULL, NULL, event->time); gtk_grab_add(GTK_WIDGET(sheet)); sheet->timer=gtk_timeout_add(TIMEOUT_SCROLL, gtk_sheet_scroll, sheet); GTK_WIDGET_UNSET_FLAGS(sheet->sheet_entry, GTK_HAS_FOCUS); GTK_WIDGET_SET_FLAGS(GTK_SHEET(sheet), GTK_HAS_FOCUS); gtk_widget_grab_focus(GTK_WIDGET(sheet)); if(sheet->selection_mode != GTK_SELECTION_SINGLE && sheet->cursor_drag->type==GDK_SIZING && !GTK_SHEET_IN_SELECTION(sheet) && !GTK_SHEET_IN_RESIZE(sheet)){ if(sheet->state==GTK_STATE_NORMAL) { row=sheet->active_cell.row; column=sheet->active_cell.col; if(!gtk_sheet_deactivate_cell(sheet)) return FALSE; sheet->active_cell.row=row; sheet->active_cell.col=column; sheet->drag_range=sheet->range; sheet->state=GTK_SHEET_RANGE_SELECTED; gtk_sheet_select_range(sheet, &sheet->drag_range); } sheet->x_drag=x; sheet->y_drag=y; if(row > sheet->range.rowi) row--; if(column > sheet->range.coli) column--; sheet->drag_cell.row = row; sheet->drag_cell.col = column; sheet->drag_range=sheet->range; draw_xor_rectangle(sheet, sheet->drag_range); GTK_SHEET_SET_FLAGS(sheet, GTK_SHEET_IN_RESIZE); } else if(sheet->cursor_drag->type==GDK_TOP_LEFT_ARROW && !GTK_SHEET_IN_SELECTION(sheet) && !GTK_SHEET_IN_DRAG(sheet)) { if(sheet->state==GTK_STATE_NORMAL) { row=sheet->active_cell.row; column=sheet->active_cell.col; if(!gtk_sheet_deactivate_cell(sheet)) return FALSE; sheet->active_cell.row=row; sheet->active_cell.col=column; sheet->drag_range=sheet->range; sheet->state=GTK_SHEET_RANGE_SELECTED; gtk_sheet_select_range(sheet, &sheet->drag_range); } sheet->x_drag=x; sheet->y_drag=y; if(row < sheet->range.row0) row++; if(row > sheet->range.rowi) row--; if(column < sheet->range.col0) column++; if(column > sheet->range.coli) column--; sheet->drag_cell.row=row; sheet->drag_cell.col=column; sheet->drag_range=sheet->range; draw_xor_rectangle(sheet, sheet->drag_range); GTK_SHEET_SET_FLAGS(sheet, GTK_SHEET_IN_DRAG); } else { gtk_sheet_click_cell(sheet, row, column, &veto); if(veto) GTK_SHEET_SET_FLAGS(sheet, GTK_SHEET_IN_SELECTION); } } if(event->window == sheet->column_title_window){ gtk_widget_get_pointer (widget, &x, &y); column = COLUMN_FROM_XPIXEL(sheet, x); if(sheet->column[column].is_sensitive){; gtk_sheet_click_cell(sheet, -1, column, &veto); gtk_grab_add(GTK_WIDGET(sheet)); sheet->timer=gtk_timeout_add(TIMEOUT_SCROLL, gtk_sheet_scroll, sheet); GTK_WIDGET_UNSET_FLAGS(sheet->sheet_entry, GTK_HAS_FOCUS); GTK_WIDGET_SET_FLAGS(GTK_SHEET(sheet), GTK_HAS_FOCUS); gtk_widget_grab_focus(GTK_WIDGET(sheet)); GTK_SHEET_SET_FLAGS(sheet, GTK_SHEET_IN_SELECTION); } } if(event->window == sheet->row_title_window){ gtk_widget_get_pointer (widget, &x, &y); row = ROW_FROM_YPIXEL(sheet, y); if(sheet->row[row].is_sensitive){ gtk_sheet_click_cell(sheet, row, -1, &veto); gtk_grab_add(GTK_WIDGET(sheet)); sheet->timer=gtk_timeout_add(TIMEOUT_SCROLL, gtk_sheet_scroll, sheet); GTK_WIDGET_UNSET_FLAGS(sheet->sheet_entry, GTK_HAS_FOCUS); GTK_WIDGET_SET_FLAGS(GTK_SHEET(sheet), GTK_HAS_FOCUS); gtk_widget_grab_focus(GTK_WIDGET(sheet)); GTK_SHEET_SET_FLAGS(sheet, GTK_SHEET_IN_SELECTION); } } return TRUE; } static gint gtk_sheet_scroll(gpointer data) { GtkSheet *sheet; gint x,y,row,column; gint move; sheet=GTK_SHEET(data); GDK_THREADS_ENTER(); gtk_widget_get_pointer (GTK_WIDGET(sheet), &x, &y); gtk_sheet_get_pixel_info (sheet, x, y, &row, &column); move=TRUE; if(GTK_SHEET_IN_SELECTION(sheet)) gtk_sheet_extend_selection(sheet, row, column); if(GTK_SHEET_IN_DRAG(sheet) || GTK_SHEET_IN_RESIZE(sheet)){ move=gtk_sheet_move_query(sheet, row, column); if(move) draw_xor_rectangle(sheet, sheet->drag_range); } GDK_THREADS_LEAVE(); return TRUE; } static void gtk_sheet_click_cell(GtkSheet *sheet, gint row, gint column, gboolean *veto) { *veto = TRUE; if(row > sheet->maxrow || column > sheet->maxcol){ *veto = FALSE; return; } if(column >= 0 && row >= 0) if(!sheet->column[column].is_visible || !sheet->row[row].is_visible) { *veto = FALSE; return; } _gtkextra_signal_emit(GTK_OBJECT(sheet), sheet_signals[TRAVERSE], sheet->active_cell.row, sheet->active_cell.col, &row, &column, veto); if(!*veto){ if(sheet->state == GTK_STATE_NORMAL) return; row = sheet->active_cell.row; column = sheet->active_cell.col; gtk_sheet_activate_cell(sheet, row, column); return; } if(row == -1 && column >= 0){ if(gtk_sheet_autoscroll(sheet)) gtk_sheet_move_query(sheet, row, column); gtk_sheet_select_column(sheet, column); return; } if(column == -1 && row >= 0){ if(gtk_sheet_autoscroll(sheet)) gtk_sheet_move_query(sheet, row, column); gtk_sheet_select_row(sheet, row); return; } if(row==-1 && column ==-1){ sheet->range.row0=0; sheet->range.col0=0; sheet->range.rowi=sheet->maxrow; sheet->range.coli=sheet->maxcol; sheet->active_cell.row=0; sheet->active_cell.col=0; gtk_sheet_select_range(sheet, NULL); return; } if(row!=-1 && column !=-1){ if(sheet->state != GTK_SHEET_NORMAL){ sheet->state = GTK_SHEET_NORMAL; gtk_sheet_real_unselect_range(sheet, NULL); } else { if(!gtk_sheet_deactivate_cell(sheet)){ *veto = FALSE; return; } } if(gtk_sheet_autoscroll(sheet)) gtk_sheet_move_query(sheet, row, column); sheet->active_cell.row=row; sheet->active_cell.col=column; sheet->selection_cell.row=row; sheet->selection_cell.col=column; sheet->range.row0=row; sheet->range.col0=column; sheet->range.rowi=row; sheet->range.coli=column; sheet->state=GTK_SHEET_NORMAL; GTK_SHEET_SET_FLAGS(sheet, GTK_SHEET_IN_SELECTION); gtk_sheet_draw_active_cell(sheet); return; } gtk_sheet_activate_cell(sheet, sheet->active_cell.row, sheet->active_cell.col); } static gint gtk_sheet_button_release (GtkWidget * widget, GdkEventButton * event) { GtkSheet *sheet; gint x,y; sheet=GTK_SHEET(widget); /* release on resize windows */ if (GTK_SHEET_IN_XDRAG (sheet)){ GTK_SHEET_UNSET_FLAGS (sheet, GTK_SHEET_IN_XDRAG); GTK_SHEET_UNSET_FLAGS (sheet, GTK_SHEET_IN_SELECTION); gtk_widget_get_pointer (widget, &x, NULL); gdk_pointer_ungrab (event->time); draw_xor_vline (sheet); gtk_sheet_set_column_width (sheet, sheet->drag_cell.col, new_column_width (sheet, sheet->drag_cell.col, &x)); sheet->old_hadjustment = -1.; gtk_signal_emit_by_name (GTK_OBJECT (sheet->hadjustment), "value_changed"); return TRUE; } if (GTK_SHEET_IN_YDRAG (sheet)){ GTK_SHEET_UNSET_FLAGS (sheet, GTK_SHEET_IN_YDRAG); GTK_SHEET_UNSET_FLAGS (sheet, GTK_SHEET_IN_SELECTION); gtk_widget_get_pointer (widget, NULL, &y); gdk_pointer_ungrab (event->time); draw_xor_hline (sheet); gtk_sheet_set_row_height (sheet, sheet->drag_cell.row, new_row_height (sheet, sheet->drag_cell.row, &y)); sheet->old_vadjustment = -1.; gtk_signal_emit_by_name (GTK_OBJECT (sheet->vadjustment), "value_changed"); return TRUE; } if (GTK_SHEET_IN_DRAG(sheet)){ GtkSheetRange old_range; draw_xor_rectangle(sheet, sheet->drag_range); GTK_SHEET_UNSET_FLAGS(sheet, GTK_SHEET_IN_DRAG); gdk_pointer_ungrab (event->time); gtk_sheet_real_unselect_range(sheet, NULL); sheet->active_cell.row = sheet->active_cell.row + (sheet->drag_range.row0 - sheet->range.row0); sheet->active_cell.col = sheet->active_cell.col + (sheet->drag_range.col0 - sheet->range.col0); sheet->selection_cell.row = sheet->selection_cell.row + (sheet->drag_range.row0 - sheet->range.row0); sheet->selection_cell.col = sheet->selection_cell.col + (sheet->drag_range.col0 - sheet->range.col0); old_range=sheet->range; sheet->range=sheet->drag_range; sheet->drag_range=old_range; gtk_signal_emit(GTK_OBJECT(sheet),sheet_signals[MOVE_RANGE], &sheet->drag_range, &sheet->range); gtk_sheet_select_range(sheet, &sheet->range); } if (GTK_SHEET_IN_RESIZE(sheet)){ GtkSheetRange old_range; draw_xor_rectangle(sheet, sheet->drag_range); GTK_SHEET_UNSET_FLAGS(sheet, GTK_SHEET_IN_RESIZE); gdk_pointer_ungrab (event->time); gtk_sheet_real_unselect_range(sheet, NULL); sheet->active_cell.row = sheet->active_cell.row + (sheet->drag_range.row0 - sheet->range.row0); sheet->active_cell.col = sheet->active_cell.col + (sheet->drag_range.col0 - sheet->range.col0); if(sheet->drag_range.row0 < sheet->range.row0) sheet->selection_cell.row = sheet->drag_range.row0; if(sheet->drag_range.rowi >= sheet->range.rowi) sheet->selection_cell.row = sheet->drag_range.rowi; if(sheet->drag_range.col0 < sheet->range.col0) sheet->selection_cell.col = sheet->drag_range.col0; if(sheet->drag_range.coli >= sheet->range.coli) sheet->selection_cell.col = sheet->drag_range.coli; old_range = sheet->range; sheet->range = sheet->drag_range; sheet->drag_range = old_range; if(sheet->state==GTK_STATE_NORMAL) sheet->state=GTK_SHEET_RANGE_SELECTED; gtk_signal_emit(GTK_OBJECT(sheet),sheet_signals[RESIZE_RANGE], &sheet->drag_range, &sheet->range); gtk_sheet_select_range(sheet, &sheet->range); } if(sheet->state == GTK_SHEET_NORMAL && GTK_SHEET_IN_SELECTION(sheet)){ GTK_SHEET_UNSET_FLAGS(sheet, GTK_SHEET_IN_SELECTION); gdk_pointer_ungrab (event->time); gtk_sheet_activate_cell(sheet, sheet->active_cell.row, sheet->active_cell.col); } if(GTK_SHEET_IN_SELECTION) gdk_pointer_ungrab (event->time); if(sheet->timer) gtk_timeout_remove(sheet->timer); gtk_grab_remove(GTK_WIDGET(sheet)); GTK_SHEET_UNSET_FLAGS(sheet, GTK_SHEET_IN_SELECTION); return TRUE; } static gint gtk_sheet_motion (GtkWidget * widget, GdkEventMotion * event) { GtkSheet *sheet; GdkModifierType mods; GdkCursorType new_cursor; gint x, y, row, column; g_return_val_if_fail (widget != NULL, FALSE); g_return_val_if_fail (GTK_IS_SHEET (widget), FALSE); g_return_val_if_fail (event != NULL, FALSE); sheet = GTK_SHEET (widget); /* selections on the sheet */ x = event->x; y = event->y; if(event->window == sheet->column_title_window && gtk_sheet_columns_resizable(sheet)){ gtk_widget_get_pointer(widget, &x, &y); if(!GTK_SHEET_IN_SELECTION(sheet) && POSSIBLE_XDRAG(sheet, x, &column)){ new_cursor=GDK_SB_H_DOUBLE_ARROW; if(new_cursor != sheet->cursor_drag->type){ gdk_cursor_destroy(sheet->cursor_drag); sheet->cursor_drag=gdk_cursor_new(GDK_SB_H_DOUBLE_ARROW); gdk_window_set_cursor(sheet->column_title_window,sheet->cursor_drag); } }else{ new_cursor=GDK_TOP_LEFT_ARROW; if(!GTK_SHEET_IN_XDRAG(sheet) && new_cursor != sheet->cursor_drag->type){ gdk_cursor_destroy(sheet->cursor_drag); sheet->cursor_drag=gdk_cursor_new(GDK_TOP_LEFT_ARROW); gdk_window_set_cursor(sheet->column_title_window,sheet->cursor_drag); } } } if(event->window == sheet->row_title_window && gtk_sheet_rows_resizable(sheet)){ gtk_widget_get_pointer(widget, &x, &y); if(!GTK_SHEET_IN_SELECTION(sheet) && POSSIBLE_YDRAG(sheet,y, &column)){ new_cursor=GDK_SB_V_DOUBLE_ARROW; if(new_cursor != sheet->cursor_drag->type){ gdk_cursor_destroy(sheet->cursor_drag); sheet->cursor_drag=gdk_cursor_new(GDK_SB_V_DOUBLE_ARROW); gdk_window_set_cursor(sheet->row_title_window,sheet->cursor_drag); } }else{ new_cursor=GDK_TOP_LEFT_ARROW; if(!GTK_SHEET_IN_YDRAG(sheet) && new_cursor != sheet->cursor_drag->type){ gdk_cursor_destroy(sheet->cursor_drag); sheet->cursor_drag=gdk_cursor_new(GDK_TOP_LEFT_ARROW); gdk_window_set_cursor(sheet->row_title_window,sheet->cursor_drag); } } } new_cursor=GDK_PLUS; if(!POSSIBLE_DRAG(sheet,x,y,&row,&column) && !GTK_SHEET_IN_DRAG(sheet) && !POSSIBLE_RESIZE(sheet,x,y,&row,&column) && !GTK_SHEET_IN_RESIZE(sheet) && event->window == sheet->sheet_window && new_cursor != sheet->cursor_drag->type){ gdk_cursor_destroy(sheet->cursor_drag); sheet->cursor_drag=gdk_cursor_new(GDK_PLUS); gdk_window_set_cursor(sheet->sheet_window,sheet->cursor_drag); } new_cursor=GDK_TOP_LEFT_ARROW; if(!(POSSIBLE_RESIZE(sheet,x,y,&row,&column) || GTK_SHEET_IN_RESIZE(sheet)) && (POSSIBLE_DRAG(sheet, x,y,&row,&column) || GTK_SHEET_IN_DRAG(sheet)) && event->window == sheet->sheet_window && new_cursor != sheet->cursor_drag->type){ gdk_cursor_destroy(sheet->cursor_drag); sheet->cursor_drag=gdk_cursor_new(GDK_TOP_LEFT_ARROW); gdk_window_set_cursor(sheet->sheet_window,sheet->cursor_drag); } new_cursor=GDK_SIZING; if(!GTK_SHEET_IN_DRAG(sheet) && (POSSIBLE_RESIZE(sheet,x,y,&row,&column) || GTK_SHEET_IN_RESIZE(sheet)) && event->window == sheet->sheet_window && new_cursor != sheet->cursor_drag->type){ gdk_cursor_destroy(sheet->cursor_drag); sheet->cursor_drag=gdk_cursor_new(GDK_SIZING); gdk_window_set_cursor(sheet->sheet_window,sheet->cursor_drag); } gdk_window_get_pointer (widget->window, &x, &y, &mods); if(!(mods & GDK_BUTTON1_MASK)) return FALSE; if (GTK_SHEET_IN_XDRAG (sheet)){ if (event->is_hint || event->window != widget->window) gtk_widget_get_pointer (widget, &x, NULL); else x = event->x; new_column_width (sheet, sheet->drag_cell.col, &x); if (x != sheet->x_drag) { draw_xor_vline (sheet); sheet->x_drag = x; draw_xor_vline (sheet); } return TRUE; } if (GTK_SHEET_IN_YDRAG (sheet)){ if (event->is_hint || event->window != widget->window) gtk_widget_get_pointer (widget, NULL, &y); else y = event->y; new_row_height (sheet, sheet->drag_cell.row, &y); if (y != sheet->y_drag) { draw_xor_hline (sheet); sheet->y_drag = y; draw_xor_hline (sheet); } return TRUE; } if (GTK_SHEET_IN_DRAG(sheet)){ GtkSheetRange aux; column=COLUMN_FROM_XPIXEL(sheet,x)-sheet->drag_cell.col; row=ROW_FROM_YPIXEL(sheet,y)-sheet->drag_cell.row; if(sheet->state==GTK_SHEET_COLUMN_SELECTED) row=0; if(sheet->state==GTK_SHEET_ROW_SELECTED) column=0; sheet->x_drag=x; sheet->y_drag=y; aux=sheet->range; if(aux.row0+row >= 0 && aux.rowi+row <= sheet->maxrow && aux.col0+column >= 0 && aux.coli+column <= sheet->maxcol){ aux=sheet->drag_range; sheet->drag_range.row0=sheet->range.row0+row; sheet->drag_range.col0=sheet->range.col0+column; sheet->drag_range.rowi=sheet->range.rowi+row; sheet->drag_range.coli=sheet->range.coli+column; if(aux.row0 != sheet->drag_range.row0 || aux.col0 != sheet->drag_range.col0){ draw_xor_rectangle (sheet, aux); draw_xor_rectangle (sheet, sheet->drag_range); } } return TRUE; } if (GTK_SHEET_IN_RESIZE(sheet)){ GtkSheetRange aux; gint v_h; v_h=1; if(abs(x-COLUMN_LEFT_XPIXEL(sheet,sheet->drag_cell.col)) > abs(y-ROW_TOP_YPIXEL(sheet,sheet->drag_cell.row))) v_h=2; column=COLUMN_FROM_XPIXEL(sheet,x)-sheet->drag_cell.col; row=ROW_FROM_YPIXEL(sheet,y)-sheet->drag_cell.row; if(sheet->state==GTK_SHEET_COLUMN_SELECTED) row=0; if(sheet->state==GTK_SHEET_ROW_SELECTED) column=0; sheet->x_drag=x; sheet->y_drag=y; aux=sheet->range; if(row < sheet->range.row0 - sheet->range.rowi - 1) row=row+(sheet->range.rowi-sheet->range.row0 + 1); else if(row<0) row=0; if(column < sheet->range.col0 - sheet->range.coli - 1) column=column+(sheet->range.coli-sheet->range.col0 + 1); else if(column<0) column=0; if(v_h==1) column=0; else row=0; if(aux.row0+row >= 0 && aux.rowi+row <= sheet->maxrow && aux.col0+column >= 0 && aux.coli+column <= sheet->maxcol){ aux=sheet->drag_range; sheet->drag_range=sheet->range; if(row<0) sheet->drag_range.row0=sheet->range.row0+row; if(row>0) sheet->drag_range.rowi=sheet->range.rowi+row; if(column<0) sheet->drag_range.col0=sheet->range.col0+column; if(column>0) sheet->drag_range.coli=sheet->range.coli+column; if(aux.row0 != sheet->drag_range.row0 || aux.rowi != sheet->drag_range.rowi || aux.col0 != sheet->drag_range.col0 || aux.coli != sheet->drag_range.coli){ draw_xor_rectangle (sheet, aux); draw_xor_rectangle (sheet, sheet->drag_range); } } return TRUE; } gtk_sheet_get_pixel_info (sheet, x, y, &row, &column); if(sheet->state==GTK_SHEET_NORMAL && row==sheet->active_cell.row && column==sheet->active_cell.col) return TRUE; if(GTK_SHEET_IN_SELECTION(sheet) && mods&GDK_BUTTON1_MASK) gtk_sheet_extend_selection(sheet, row, column); return TRUE; } static gint gtk_sheet_move_query(GtkSheet *sheet, gint row, gint column) { gint row_move, column_move; gfloat row_align, col_align; guint height, width; gint new_row = row; gint new_col = column; row_move=FALSE; column_move=FALSE; row_align=-1.; col_align=-1.; height = sheet->sheet_window_height; width = sheet->sheet_window_width; if(row>=MAX_VISIBLE_ROW(sheet) && sheet->state!=GTK_SHEET_COLUMN_SELECTED) { row_align = 1.; new_row = MIN(sheet->maxrow, row + 1); row_move = TRUE; if(MAX_VISIBLE_ROW(sheet) == sheet->maxrow && ROW_TOP_YPIXEL(sheet, sheet->maxrow) + sheet->row[sheet->maxrow].height < height){ row_move = FALSE; row_align = -1.; } } if(rowstate!=GTK_SHEET_COLUMN_SELECTED) { row_align= 0.; row_move = TRUE; } if(column>=MAX_VISIBLE_COLUMN(sheet) && sheet->state!=GTK_SHEET_ROW_SELECTED) { col_align = 1.; new_col = MIN(sheet->maxcol, column + 1); column_move = TRUE; if(MAX_VISIBLE_COLUMN(sheet) == sheet->maxcol && COLUMN_LEFT_XPIXEL(sheet, sheet->maxcol) + sheet->column[sheet->maxcol].width < width){ column_move = FALSE; col_align = -1.; } } if(columnstate!=GTK_SHEET_ROW_SELECTED) { col_align = 0.; column_move = TRUE; } if(row_move || column_move){ gtk_sheet_moveto(sheet, new_row, new_col, row_align, col_align); } return(row_move || column_move); } static void gtk_sheet_extend_selection(GtkSheet *sheet, gint row, gint column) { GtkSheetRange range; gint state; gint r,c; if(row == sheet->selection_cell.row && column == sheet->selection_cell.col) return; if(sheet->selection_mode == GTK_SELECTION_SINGLE) return; gtk_sheet_move_query(sheet, row, column); gtk_widget_grab_focus(GTK_WIDGET(sheet)); if(GTK_SHEET_IN_DRAG(sheet)) return; state=sheet->state; switch(sheet->state){ case GTK_SHEET_ROW_SELECTED: column = sheet->maxcol; break; case GTK_SHEET_COLUMN_SELECTED: row = sheet->maxrow; break; case GTK_SHEET_NORMAL: sheet->state=GTK_SHEET_RANGE_SELECTED; r=sheet->active_cell.row; c=sheet->active_cell.col; sheet->range.col0=c; sheet->range.row0=r; sheet->range.coli=c; sheet->range.rowi=r; gdk_draw_pixmap(sheet->sheet_window, GTK_WIDGET(sheet)->style->fg_gc[GTK_STATE_NORMAL], sheet->pixmap, COLUMN_LEFT_XPIXEL(sheet,c)-1, ROW_TOP_YPIXEL(sheet,r)-1, COLUMN_LEFT_XPIXEL(sheet,c)-1, ROW_TOP_YPIXEL(sheet,r)-1, sheet->column[c].width+4, sheet->row[r].height+4); gtk_sheet_range_draw_selection(sheet, sheet->range); case GTK_SHEET_RANGE_SELECTED: sheet->state=GTK_SHEET_RANGE_SELECTED; } sheet->selection_cell.row = row; sheet->selection_cell.col = column; range.col0=MIN(column,sheet->active_cell.col); range.coli=MAX(column,sheet->active_cell.col); range.row0=MIN(row,sheet->active_cell.row); range.rowi=MAX(row,sheet->active_cell.row); if(range.row0 != sheet->range.row0 || range.rowi != sheet->range.rowi || range.col0 != sheet->range.col0 || range.coli != sheet->range.coli || state==GTK_SHEET_NORMAL) gtk_sheet_real_select_range(sheet, &range); } /* Removed by SDB while cleaning up key press behavior */ #if 0 static gint gtk_sheet_entry_key_press(GtkWidget *widget, GdkEventKey *key) { gboolean focus; #ifdef DEBUG printf("Entered gtk_sheet_entry_key_press. . . . . \n"); #endif gtk_signal_emit_by_name(GTK_OBJECT(widget), "key_press_event", key, &focus); return focus; } #endif static gint gtk_sheet_key_press(GtkWidget *widget, GdkEventKey *key) { GtkSheet *sheet; gint row, col; gint state; gboolean extend_selection = FALSE; #if 0 gboolean force_move = FALSE; #endif gboolean in_selection = FALSE; gboolean veto = TRUE; gint scroll = 1; sheet = GTK_SHEET(widget); #ifdef DEBUG printf("\n\nJust entered gtk_sheet_key_press. . . . \n"); #endif if(key->state & GDK_CONTROL_MASK || key->keyval==GDK_Control_L || key->keyval==GDK_Control_R) return FALSE; /* { if(key->keyval=='c' || key->keyval == 'C' && sheet->state != GTK_STATE_NORMAL) gtk_sheet_clip_range(sheet, sheet->range); if(key->keyval=='x' || key->keyval == 'X') gtk_sheet_unclip_range(sheet); return FALSE; } */ /* extend_selection is set when shift, ctrl, etc is pressed & held down */ extend_selection = (key->state & GDK_SHIFT_MASK) || key->keyval==GDK_Shift_L || key->keyval==GDK_Shift_R; #ifdef DEBUG printf(". . . . extend_selection = %d\n", extend_selection); #endif state=sheet->state; in_selection = GTK_SHEET_IN_SELECTION(sheet); GTK_SHEET_UNSET_FLAGS(sheet, GTK_SHEET_IN_SELECTION); #ifdef DEBUG printf("We are about to enter the switch statement. . .\n"); #endif switch(key->keyval){ case GDK_Return: case GDK_KP_Enter: if(sheet->state == GTK_SHEET_NORMAL && !GTK_SHEET_IN_SELECTION(sheet)) gtk_signal_emit_stop_by_name(GTK_OBJECT(gtk_sheet_get_entry(sheet)), "key_press_event"); row = sheet->active_cell.row; col = sheet->active_cell.col; if(sheet->state == GTK_SHEET_COLUMN_SELECTED) row = MIN_VISIBLE_ROW(sheet)-1; if(sheet->state == GTK_SHEET_ROW_SELECTED) col = MIN_VISIBLE_COLUMN(sheet); if(row < sheet->maxrow){ row = row + scroll; while(!sheet->row[row].is_visible && rowmaxrow) row++; } gtk_sheet_click_cell(sheet, row, col, &veto); extend_selection = FALSE; break; case GDK_ISO_Left_Tab: case GDK_Left: /* Left arrow */ #ifdef DEBUG printf("In gtk_sheet_key_press, received GDK_Left.\n"); #endif row = sheet->active_cell.row; col = sheet->active_cell.col; if(sheet->state == GTK_SHEET_ROW_SELECTED) col = MIN_VISIBLE_COLUMN(sheet)-1; if(sheet->state == GTK_SHEET_COLUMN_SELECTED) row = MIN_VISIBLE_ROW(sheet); if(col > 0){ col = col - scroll; while(!sheet->column[col].is_visible && col>0) col--; col=MAX(0, col); } gtk_sheet_click_cell(sheet, row, col, &veto); extend_selection = FALSE; break; case GDK_Tab: case GDK_Right: /* Right arrow */ #ifdef DEBUG printf("In gtk_sheet_key_press, received GDK_Right.\n"); #endif row = sheet->active_cell.row; col = sheet->active_cell.col; if(sheet->state == GTK_SHEET_ROW_SELECTED) col = MIN_VISIBLE_COLUMN(sheet)-1; if(sheet->state == GTK_SHEET_COLUMN_SELECTED) row = MIN_VISIBLE_ROW(sheet); if(col < sheet->maxcol){ col = col + scroll; while(!sheet->column[col].is_visible && colmaxcol) col++; } gtk_sheet_click_cell(sheet, row, col, &veto); extend_selection = FALSE; break; /* case GDK_BackSpace: if(sheet->active_cell.row >= 0 && sheet->active_cell.col >= 0){ if(sheet->active_cell.col > 0){ col = sheet->active_cell.col - scroll; row = sheet->active_cell.row; while(!sheet->column[col].is_visible && col > 0) col--; } } gtk_sheet_click_cell(sheet, row, col, &veto); extend_selection = FALSE; break; */ case GDK_Page_Up: scroll=MAX_VISIBLE_ROW(sheet)-MIN_VISIBLE_ROW(sheet)+1; case GDK_Up: /* arrow key up */ if(extend_selection){ if(state==GTK_STATE_NORMAL){ row=sheet->active_cell.row; col=sheet->active_cell.col; gtk_sheet_click_cell(sheet, row, col, &veto); if(!veto) break; } if(sheet->selection_cell.row > 0){ row = sheet->selection_cell.row - scroll; while(!sheet->row[row].is_visible && row > 0) row--; row = MAX(0, row); gtk_sheet_extend_selection(sheet, row, sheet->selection_cell.col); } return TRUE; } col = sheet->active_cell.col; row = sheet->active_cell.row; if(state==GTK_SHEET_COLUMN_SELECTED) row = MIN_VISIBLE_ROW(sheet); if(state==GTK_SHEET_ROW_SELECTED) col = MIN_VISIBLE_COLUMN(sheet); row = row - scroll; while(!sheet->row[row].is_visible && row > 0) row--; row = MAX(0,row); gtk_sheet_click_cell(sheet, row, col, &veto); extend_selection = FALSE; break; case GDK_Page_Down: scroll=MAX_VISIBLE_ROW(sheet)-MIN_VISIBLE_ROW(sheet)+1; case GDK_Down: /* arrow key down */ if(extend_selection){ if(state==GTK_STATE_NORMAL){ row=sheet->active_cell.row; col=sheet->active_cell.col; gtk_sheet_click_cell(sheet, row, col, &veto); if(!veto) break; } if(sheet->selection_cell.row < sheet->maxrow){ row = sheet->selection_cell.row + scroll; while(!sheet->row[row].is_visible && row < sheet->maxrow) row++; row = MIN(sheet->maxrow, row); gtk_sheet_extend_selection(sheet, row, sheet->selection_cell.col); } return TRUE; } col = sheet->active_cell.col; row = sheet->active_cell.row; if(sheet->active_cell.row < sheet->maxrow){ if(state==GTK_SHEET_COLUMN_SELECTED) row = MIN_VISIBLE_ROW(sheet)-1; if(state==GTK_SHEET_ROW_SELECTED) col = MIN_VISIBLE_COLUMN(sheet); row = row + scroll; while(!sheet->row[row].is_visible && row < sheet->maxrow) row++; row = MIN(sheet->maxrow, row); } gtk_sheet_click_cell(sheet, row, col, &veto); extend_selection = FALSE; break; #if 0 case GDK_Right: if(extend_selection){ if(state==GTK_STATE_NORMAL){ row=sheet->active_cell.row; col=sheet->active_cell.col; gtk_sheet_click_cell(sheet, row, col, &veto); if(!veto) break; } if(sheet->selection_cell.col < sheet->maxcol){ col = sheet->selection_cell.col + 1; while(!sheet->column[col].is_visible && col < sheet->maxcol) col++; gtk_sheet_extend_selection(sheet, sheet->selection_cell.row, col); } return TRUE; } col = sheet->active_cell.col; row = sheet->active_cell.row; if(sheet->active_cell.col < sheet->maxcol){ col ++; if(state==GTK_SHEET_ROW_SELECTED) col = MIN_VISIBLE_COLUMN(sheet)-1; if(state==GTK_SHEET_COLUMN_SELECTED) row = MIN_VISIBLE_ROW(sheet); while(!sheet->column[col].is_visible && col < sheet->maxcol) col++; if(strlen(gtk_entry_get_text(GTK_ENTRY(gtk_sheet_get_entry(sheet)))) == 0 || force_move) { gtk_sheet_click_cell(sheet, row, col, &veto); } else return FALSE; } extend_selection = FALSE; break; case GDK_Left: if(extend_selection){ if(state==GTK_STATE_NORMAL){ row=sheet->active_cell.row; col=sheet->active_cell.col; gtk_sheet_click_cell(sheet, row, col, &veto); if(!veto) break; } if(sheet->selection_cell.col > 0){ col = sheet->selection_cell.col - 1; while(!sheet->column[col].is_visible && col > 0) col--; gtk_sheet_extend_selection(sheet, sheet->selection_cell.row, col); } return TRUE; } col = sheet->active_cell.col - 1; row = sheet->active_cell.row; if(state==GTK_SHEET_ROW_SELECTED) col = MIN_VISIBLE_COLUMN(sheet)-1; if(state==GTK_SHEET_COLUMN_SELECTED) row = MIN_VISIBLE_ROW(sheet); while(!sheet->column[col].is_visible && col > 0) col--; col = MAX(0, col); if(strlen(gtk_entry_get_text(GTK_ENTRY(gtk_sheet_get_entry(sheet)))) == 0 || force_move){ gtk_sheet_click_cell(sheet, row, col, &veto); } else return FALSE; extend_selection = FALSE; break; #endif case GDK_Home: row=0; while(!sheet->row[row].is_visible && row < sheet->maxrow) row++; gtk_sheet_click_cell(sheet, row, sheet->active_cell.col, &veto); extend_selection = FALSE; break; case GDK_End: row=sheet->maxrow; while(!sheet->row[row].is_visible && row > 0) row--; gtk_sheet_click_cell(sheet, row, sheet->active_cell.col, &veto); extend_selection = FALSE; break; default: #ifdef DEBUG printf("In gtk_sheet_key_press, after switch, found default case.\n"); printf(" User probably typed letter key or DEL.\n"); #endif if(in_selection) { GTK_SHEET_SET_FLAGS(sheet, GTK_SHEET_IN_SELECTION); if(extend_selection) return TRUE; } if(state == GTK_SHEET_ROW_SELECTED) sheet->active_cell.col=MIN_VISIBLE_COLUMN(sheet); if(state == GTK_SHEET_COLUMN_SELECTED) sheet->active_cell.row=MIN_VISIBLE_ROW(sheet); return FALSE; } /* switch */ if(extend_selection) return TRUE; gtk_sheet_activate_cell(sheet, sheet->active_cell.row, sheet->active_cell.col); return TRUE; } static void gtk_sheet_size_request (GtkWidget * widget, GtkRequisition * requisition) { GtkSheet *sheet; GList *children; GtkSheetChild *child; GtkRequisition child_requisition; g_return_if_fail (widget != NULL); g_return_if_fail (GTK_IS_SHEET (widget)); g_return_if_fail (requisition != NULL); sheet = GTK_SHEET (widget); requisition->width = 3*DEFAULT_COLUMN_WIDTH; requisition->height = 3*DEFAULT_ROW_HEIGHT(widget); /* compute the size of the column title area */ if(sheet->column_titles_visible) requisition->height += sheet->column_title_area.height; /* compute the size of the row title area */ if(sheet->row_titles_visible) requisition->width += sheet->row_title_area.width; sheet->view.row0=ROW_FROM_YPIXEL(sheet, sheet->column_title_area.height+1); sheet->view.rowi=ROW_FROM_YPIXEL(sheet, sheet->sheet_window_height-1); sheet->view.col0=COLUMN_FROM_XPIXEL(sheet, sheet->row_title_area.width+1); sheet->view.coli=COLUMN_FROM_XPIXEL(sheet, sheet->sheet_window_width); if(!sheet->column_titles_visible) sheet->view.row0=ROW_FROM_YPIXEL(sheet, 1); if(!sheet->row_titles_visible) sheet->view.col0=COLUMN_FROM_XPIXEL(sheet, 1); children = sheet->children; while (children) { child = children->data; children = g_list_next(children); gtk_widget_size_request(child->widget, &child_requisition); } } static void gtk_sheet_size_allocate (GtkWidget * widget, GtkAllocation * allocation) { GtkSheet *sheet; GtkAllocation sheet_allocation; gint border_width; g_return_if_fail (widget != NULL); g_return_if_fail (GTK_IS_SHEET (widget)); g_return_if_fail (allocation != NULL); sheet = GTK_SHEET (widget); widget->allocation = *allocation; border_width = GTK_CONTAINER(widget)->border_width; if (GTK_WIDGET_REALIZED (widget)) gdk_window_move_resize (widget->window, allocation->x + border_width, allocation->y + border_width, allocation->width - 2*border_width, allocation->height - 2*border_width); /* use internal allocation structure for all the math * because it's easier than always subtracting the container * border width */ sheet->internal_allocation.x = 0; sheet->internal_allocation.y = 0; sheet->internal_allocation.width = allocation->width - 2*border_width; sheet->internal_allocation.height = allocation->height - 2*border_width; sheet_allocation.x = 0; sheet_allocation.y = 0; sheet_allocation.width = allocation->width - 2*border_width; sheet_allocation.height = allocation->height - 2*border_width; sheet->sheet_window_width = sheet_allocation.width; sheet->sheet_window_height = sheet_allocation.height; if (GTK_WIDGET_REALIZED (widget)) gdk_window_move_resize (sheet->sheet_window, sheet_allocation.x, sheet_allocation.y, sheet_allocation.width, sheet_allocation.height); /* position the window which holds the column title buttons */ sheet->column_title_area.x = 0; sheet->column_title_area.y = 0; if(sheet->row_titles_visible) sheet->column_title_area.x = sheet->row_title_area.width; sheet->column_title_area.width = sheet_allocation.width - sheet->column_title_area.x; if(GTK_WIDGET_REALIZED(widget) && sheet->column_titles_visible) gdk_window_move_resize (sheet->column_title_window, sheet->column_title_area.x, sheet->column_title_area.y, sheet->column_title_area.width, sheet->column_title_area.height); sheet->sheet_window_width = sheet_allocation.width; sheet->sheet_window_height = sheet_allocation.height; /* column button allocation */ size_allocate_column_title_buttons (sheet); /* position the window which holds the row title buttons */ sheet->row_title_area.x = 0; sheet->row_title_area.y = 0; if(sheet->column_titles_visible) sheet->row_title_area.y = sheet->column_title_area.height; sheet->row_title_area.height = sheet_allocation.height - sheet->row_title_area.y; if(GTK_WIDGET_REALIZED(widget) && sheet->row_titles_visible) gdk_window_move_resize (sheet->row_title_window, sheet->row_title_area.x, sheet->row_title_area.y, sheet->row_title_area.width, sheet->row_title_area.height); /* row button allocation */ size_allocate_row_title_buttons (sheet); sheet->view.row0=ROW_FROM_YPIXEL(sheet, sheet->column_title_area.height+1); sheet->view.rowi=ROW_FROM_YPIXEL(sheet, sheet->sheet_window_height-1); sheet->view.col0=COLUMN_FROM_XPIXEL(sheet, sheet->row_title_area.width+1); sheet->view.coli=COLUMN_FROM_XPIXEL(sheet, sheet->sheet_window_width); if(!sheet->column_titles_visible) sheet->view.row0=ROW_FROM_YPIXEL(sheet, 1); if(!sheet->row_titles_visible) sheet->view.col0=COLUMN_FROM_XPIXEL(sheet, 1); size_allocate_column_title_buttons(sheet); size_allocate_row_title_buttons(sheet); /* re-scale backing pixmap */ gtk_sheet_make_backing_pixmap(sheet, 0, 0); gtk_sheet_position_children(sheet); /* set the scrollbars adjustments */ adjust_scrollbars (sheet); } static void size_allocate_column_title_buttons (GtkSheet * sheet) { gint i; gint x,width; if (!sheet->column_titles_visible) return; if (!GTK_WIDGET_REALIZED (sheet)) return; width = sheet->sheet_window_width; x = 0; if(sheet->row_titles_visible) { width -= sheet->row_title_area.width; x = sheet->row_title_area.width; } if(sheet->column_title_area.width != width || sheet->column_title_area.x != x) { sheet->column_title_area.width = width; sheet->column_title_area.x = x; gdk_window_move_resize (sheet->column_title_window, sheet->column_title_area.x, sheet->column_title_area.y, sheet->column_title_area.width, sheet->column_title_area.height); } if(MAX_VISIBLE_COLUMN(sheet) == sheet->maxcol) gdk_window_clear_area (sheet->column_title_window, 0,0, sheet->column_title_area.width, sheet->column_title_area.height); if(!GTK_WIDGET_DRAWABLE(sheet)) return; for (i = MIN_VISIBLE_COLUMN(sheet); i <= MAX_VISIBLE_COLUMN(sheet); i++) gtk_sheet_button_draw(sheet,-1,i); } static void size_allocate_row_title_buttons (GtkSheet * sheet) { gint i; gint y, height; if (!sheet->row_titles_visible) return; if (!GTK_WIDGET_REALIZED (sheet)) return; height = sheet->sheet_window_height; y = 0; if(sheet->column_titles_visible) { height -= sheet->column_title_area.height; y = sheet->column_title_area.height; } if(sheet->row_title_area.height != height || sheet->row_title_area.y != y){ sheet->row_title_area.y = y; sheet->row_title_area.height = height; gdk_window_move_resize (sheet->row_title_window, sheet->row_title_area.x, sheet->row_title_area.y, sheet->row_title_area.width, sheet->row_title_area.height); } if(MAX_VISIBLE_ROW(sheet) == sheet->maxrow) gdk_window_clear_area (sheet->row_title_window, 0,0, sheet->row_title_area.width, sheet->row_title_area.height); if(!GTK_WIDGET_DRAWABLE(sheet)) return; for(i = MIN_VISIBLE_ROW(sheet); i <= MAX_VISIBLE_ROW(sheet); i++) gtk_sheet_button_draw(sheet,i,-1); } static void gtk_sheet_recalc_top_ypixels(GtkSheet *sheet, gint row) { gint i, cy; cy = sheet->column_title_area.height; if(!sheet->column_titles_visible) cy = 0; for(i=0; i<=sheet->maxrow; i++){ sheet->row[i].top_ypixel=cy; if(sheet->row[i].is_visible) cy+=sheet->row[i].height; } } static void gtk_sheet_recalc_left_xpixels(GtkSheet *sheet, gint column) { gint i, cx; cx = sheet->row_title_area.width; if(!sheet->row_titles_visible) cx = 0; for(i=0; i<=sheet->maxcol; i++){ sheet->column[i].left_xpixel=cx; if(sheet->column[i].is_visible) cx+=sheet->column[i].width; } } static void gtk_sheet_size_allocate_entry(GtkSheet *sheet) { GtkAllocation shentry_allocation; GtkSheetCellAttr attributes; GtkEntry *sheet_entry; GtkStyle *style = NULL, *previous_style = NULL; gint row, col; gint size, max_size, text_size, column_width; const gchar *text; if(!GTK_WIDGET_REALIZED(GTK_WIDGET(sheet))) return; if(!GTK_WIDGET_MAPPED(GTK_WIDGET(sheet))) return; sheet_entry = GTK_ENTRY(gtk_sheet_get_entry(sheet)); gtk_sheet_get_attributes(sheet, sheet->active_cell.row, sheet->active_cell.col, &attributes); if(GTK_WIDGET_REALIZED(sheet->sheet_entry)){ if(!GTK_WIDGET(sheet_entry)->style) gtk_widget_ensure_style(GTK_WIDGET(sheet_entry)); previous_style = GTK_WIDGET(sheet_entry)->style; style = gtk_style_copy(previous_style); style->bg[GTK_STATE_NORMAL] = attributes.background; style->fg[GTK_STATE_NORMAL] = attributes.foreground; style->text[GTK_STATE_NORMAL] = attributes.foreground; style->bg[GTK_STATE_ACTIVE] = attributes.background; style->fg[GTK_STATE_ACTIVE] = attributes.foreground; style->text[GTK_STATE_ACTIVE] = attributes.foreground; pango_font_description_free(style->font_desc); style->font_desc = pango_font_description_copy(attributes.font_desc); GTK_WIDGET(sheet_entry)->style = style; gtk_widget_size_request(sheet->sheet_entry, NULL); GTK_WIDGET(sheet_entry)->style = previous_style; if(style != previous_style){ style->bg[GTK_STATE_NORMAL] = previous_style->bg[GTK_STATE_NORMAL]; style->fg[GTK_STATE_NORMAL] = previous_style->fg[GTK_STATE_NORMAL]; style->bg[GTK_STATE_ACTIVE] = previous_style->bg[GTK_STATE_ACTIVE]; style->fg[GTK_STATE_ACTIVE] = previous_style->fg[GTK_STATE_ACTIVE]; gtk_widget_set_style(GTK_WIDGET(sheet_entry), style); } } max_size = 0; text_size = 0; text = gtk_entry_get_text(GTK_ENTRY(sheet_entry)); if(text && strlen(text) > 0){ text_size = STRING_WIDTH(GTK_WIDGET(sheet), attributes.font_desc, text); } column_width=sheet->column[sheet->active_cell.col].width; size=MIN(text_size, max_size); size=MAX(size,column_width-2*CELLOFFSET); row=sheet->active_cell.row; col=sheet->active_cell.col; shentry_allocation.x = COLUMN_LEFT_XPIXEL(sheet,sheet->active_cell.col); shentry_allocation.y = ROW_TOP_YPIXEL(sheet,sheet->active_cell.row); shentry_allocation.width = column_width; shentry_allocation.height = sheet->row[sheet->active_cell.row].height; shentry_allocation.x += 2; shentry_allocation.y += 2; shentry_allocation.width -= MIN(shentry_allocation.width, 3); shentry_allocation.height -= MIN(shentry_allocation.height, 3); gtk_widget_size_allocate(sheet->sheet_entry, &shentry_allocation); if(previous_style == style) gtk_style_unref(previous_style); } static void create_sheet_entry(GtkSheet *sheet) { GtkWidget *widget; GtkWidget *parent; GtkWidget *entry; GtkStyle *style; gint found_entry = FALSE; widget = GTK_WIDGET(sheet); style = gtk_style_copy(GTK_WIDGET(sheet)->style); if(sheet->sheet_entry){ /* avoids warnings */ gtk_widget_ref(sheet->sheet_entry); gtk_widget_unparent(sheet->sheet_entry); gtk_widget_destroy(sheet->sheet_entry); } if(sheet->entry_type){ if(!gtk_type_is_a (sheet->entry_type, GTK_TYPE_ENTRY)){ parent = GTK_WIDGET(gtk_type_new(sheet->entry_type)); sheet->sheet_entry = parent; entry = gtk_sheet_get_entry (sheet); if(GTK_IS_ENTRY(entry)) found_entry = TRUE; } else { parent = GTK_WIDGET(gtk_type_new(sheet->entry_type)); entry = parent; found_entry = TRUE; } if(!found_entry){ g_warning ("Entry type must be GtkEntry subclass, using default"); entry = gtk_entry_new (); sheet->sheet_entry = entry; } else { sheet->sheet_entry = parent; } } else { entry = gtk_entry_new (); sheet->sheet_entry = entry; } gtk_widget_size_request(sheet->sheet_entry, NULL); if(GTK_WIDGET_REALIZED(sheet)) { gtk_widget_set_parent_window (sheet->sheet_entry, sheet->sheet_window); gtk_widget_set_parent(sheet->sheet_entry, GTK_WIDGET(sheet)); gtk_widget_realize(sheet->sheet_entry); } /* #if 0 */ /* SDB says: I need to work out the event passing system */ gtk_signal_connect_object(GTK_OBJECT(entry),"key_press_event", (GtkSignalFunc) gtk_sheet_key_press, GTK_OBJECT(sheet)); /* gtk_signal_connect_object(GTK_OBJECT(entry),"key_press_event", (GtkSignalFunc) gtk_sheet_entry_key_press, GTK_OBJECT(sheet)); */ /* #endif */ gtk_widget_show (sheet->sheet_entry); } GtkWidget * gtk_sheet_get_entry(GtkSheet *sheet) { GtkWidget *parent; GtkWidget *entry = NULL; GtkTableChild *table_child; GtkBoxChild *box_child; GList *children = NULL; g_return_val_if_fail (sheet != NULL, NULL); g_return_val_if_fail (GTK_IS_SHEET (sheet), NULL); g_return_val_if_fail (sheet->sheet_entry != NULL, NULL); if(GTK_IS_ENTRY(sheet->sheet_entry)) return (sheet->sheet_entry); parent = GTK_WIDGET(sheet->sheet_entry); if(GTK_IS_TABLE(parent)) children = GTK_TABLE(parent)->children; if(GTK_IS_BOX(parent)) children = GTK_BOX(parent)->children; if(!children) return NULL; while(children){ if(GTK_IS_TABLE(parent)) { table_child = children->data; entry = table_child->widget; } if(GTK_IS_BOX(parent)){ box_child = children->data; entry = box_child->widget; } if(GTK_IS_ENTRY(entry)) break; children = g_list_next(children); } if(!GTK_IS_ENTRY(entry)) return NULL; return (entry); } GtkWidget * gtk_sheet_get_entry_widget(GtkSheet *sheet) { g_return_val_if_fail (sheet != NULL, NULL); g_return_val_if_fail (GTK_IS_SHEET (sheet), NULL); g_return_val_if_fail (sheet->sheet_entry != NULL, NULL); return (sheet->sheet_entry); } /* BUTTONS */ static void row_button_set (GtkSheet *sheet, gint row) { if(sheet->row[row].button.state == GTK_STATE_ACTIVE) return; sheet->row[row].button.state = GTK_STATE_ACTIVE; gtk_sheet_button_draw(sheet, row, -1); } static void column_button_set (GtkSheet *sheet, gint column) { if(sheet->column[column].button.state == GTK_STATE_ACTIVE) return; sheet->column[column].button.state = GTK_STATE_ACTIVE; gtk_sheet_button_draw(sheet, -1, column); } static void row_button_release (GtkSheet *sheet, gint row) { if(sheet->row[row].button.state == GTK_STATE_NORMAL) return; sheet->row[row].button.state = GTK_STATE_NORMAL; gtk_sheet_button_draw(sheet, row, -1); } static void column_button_release (GtkSheet *sheet, gint column) { if(sheet->column[column].button.state == GTK_STATE_NORMAL) return; sheet->column[column].button.state = GTK_STATE_NORMAL; gtk_sheet_button_draw(sheet, -1, column); } static void gtk_sheet_button_draw (GtkSheet *sheet, gint row, gint column) { GdkWindow *window = NULL; GtkShadowType shadow_type; guint width = 0, height = 0; gint x = 0, y = 0; gint index = 0; gint text_width = 0, text_height = 0; GtkSheetButton *button = NULL; GtkSheetChild *child = NULL; GdkRectangle allocation; gboolean is_sensitive = FALSE; gint state = 0; gint len = 0; gchar *line = 0; gchar *words = 0; gchar label[10]; if(!GTK_WIDGET_REALIZED(GTK_WIDGET(sheet))) return; if(row >= 0 && !sheet->row[row].is_visible) return; if(column >= 0 && !sheet->column[column].is_visible) return; if(row >= 0 && !sheet->row_titles_visible) return; if(column >= 0 && !sheet->column_titles_visible) return; if(column>=0 && column =0 && column >MAX_VISIBLE_COLUMN(sheet)) return; if(row>=0 && row =0 && row >MAX_VISIBLE_ROW(sheet)) return; if( (row == -1) && (column == -1) ) return; if(row==-1){ window=sheet->column_title_window; button=&sheet->column[column].button; index=column; x = COLUMN_LEFT_XPIXEL(sheet, column)+CELL_SPACING; if(sheet->row_titles_visible) x -= sheet->row_title_area.width; y = 0; width = sheet->column[column].width; height = sheet->column_title_area.height; is_sensitive=sheet->column[column].is_sensitive; } else if(column==-1){ window=sheet->row_title_window; button=&sheet->row[row].button; index=row; x = 0; y = ROW_TOP_YPIXEL(sheet, row)+CELL_SPACING; if(sheet->column_titles_visible) y-=sheet->column_title_area.height; width = sheet->row_title_area.width; height = sheet->row[row].height; is_sensitive=sheet->row[row].is_sensitive; } allocation.x = x; allocation.y = y; allocation.width = width; allocation.height = height; gdk_window_clear_area (window, x, y, width, height); gtk_paint_box (sheet->button->style, window, GTK_STATE_NORMAL, GTK_SHADOW_OUT, &allocation, GTK_WIDGET(sheet), "buttondefault", x, y, width, height); state = button->state; if(!is_sensitive) state=GTK_STATE_INSENSITIVE; if (state == GTK_STATE_ACTIVE) shadow_type = GTK_SHADOW_IN; else shadow_type = GTK_SHADOW_OUT; if(state != GTK_STATE_NORMAL && state != GTK_STATE_INSENSITIVE) gtk_paint_box (sheet->button->style, window, button->state, shadow_type, &allocation, GTK_WIDGET(sheet), "button", x, y, width, height); if(button->label_visible){ text_height=DEFAULT_ROW_HEIGHT(GTK_WIDGET(sheet))-2*CELLOFFSET; gdk_gc_set_clip_rectangle(GTK_WIDGET(sheet)->style->fg_gc[button->state], &allocation); gdk_gc_set_clip_rectangle(GTK_WIDGET(sheet)->style->white_gc, &allocation); y += DEFAULT_ROW_HEIGHT(GTK_WIDGET(sheet))/2 + sheet->button->style->ythickness + DEFAULT_FONT_DESCENT(GTK_WIDGET(sheet)); if(button->label && strlen(button->label)>0){ words=button->label; line = g_new(gchar, 1); line[0]='\0'; while(words && *words != '\0'){ if(*words != '\n'){ len=strlen(line); line=g_realloc(line, len+2); line[len]=*words; line[len+1]='\0'; } if(*words == '\n' || *(words+1) == '\0'){ text_width = STRING_WIDTH(GTK_WIDGET(sheet), GTK_WIDGET(sheet)->style->font_desc, line); switch(button->justification){ case GTK_JUSTIFY_LEFT: gtk_paint_string (GTK_WIDGET(sheet)->style, window, state, &allocation, GTK_WIDGET(sheet), "label", x + CELLOFFSET, y, line); break; case GTK_JUSTIFY_RIGHT: gtk_paint_string (GTK_WIDGET(sheet)->style, window, state, &allocation, GTK_WIDGET(sheet), "label", x + width - text_width - CELLOFFSET, y, line); break; case GTK_JUSTIFY_CENTER: default: gtk_paint_string (GTK_WIDGET(sheet)->style, window, state, &allocation, GTK_WIDGET(sheet), "label", x + (width - text_width) /2, y, line); } y += text_height + 2; g_free(line); line = g_new(gchar, 1); line[0]='\0'; } words++; } g_free(line); }else{ sprintf(label,"%d",index); text_width = STRING_WIDTH(GTK_WIDGET(sheet), GTK_WIDGET(sheet)->style->font_desc, label); switch(button->justification){ case GTK_JUSTIFY_LEFT: gtk_paint_string (GTK_WIDGET(sheet)->style, window, state, &allocation, GTK_WIDGET(sheet), "label", x + CELLOFFSET, y, label); break; case GTK_JUSTIFY_RIGHT: gtk_paint_string (GTK_WIDGET(sheet)->style, window, state, &allocation, GTK_WIDGET(sheet), "label", x + width - text_width - CELLOFFSET, y, label); break; case GTK_JUSTIFY_CENTER: default: gtk_paint_string (GTK_WIDGET(sheet)->style, window, state, &allocation, GTK_WIDGET(sheet), "label", x + (width - text_width) /2, y, label); } } gdk_gc_set_clip_rectangle(GTK_WIDGET(sheet)->style->fg_gc[button->state], NULL); gdk_gc_set_clip_rectangle(GTK_WIDGET(sheet)->style->white_gc, NULL); } if((child = button->child) && (child->widget)){ child->x = allocation.x; child->y = allocation.y; child->x += (width - child->widget->requisition.width) / 2; child->y += (height - child->widget->requisition.height) / 2; allocation.x = child->x; allocation.y = child->y; allocation.width = child->widget->requisition.width; allocation.height = child->widget->requisition.height; x = child->x; y = child->y; gtk_widget_set_state(child->widget, button->state); if(GTK_WIDGET_REALIZED(GTK_WIDGET(sheet)) && GTK_WIDGET_MAPPED(child->widget)) { gtk_widget_size_allocate(child->widget, &allocation); gtk_widget_queue_draw(child->widget); } } } /* SCROLLBARS * * functions: * adjust_scrollbars * vadjustment_changed * hadjustment_changed * vadjustment_value_changed * hadjustment_value_changed */ static void adjust_scrollbars (GtkSheet * sheet) { if(sheet->vadjustment){ sheet->vadjustment->page_size = sheet->sheet_window_height; sheet->vadjustment->page_increment = sheet->sheet_window_height / 2; sheet->vadjustment->step_increment = DEFAULT_ROW_HEIGHT(GTK_WIDGET(sheet)); sheet->vadjustment->lower = 0; sheet->vadjustment->upper = SHEET_HEIGHT (sheet) + 80; /* if (sheet->sheet_window_height - sheet->voffset > SHEET_HEIGHT (sheet)) { sheet->vadjustment->value = MAX(0, SHEET_HEIGHT (sheet) - sheet->sheet_window_height); gtk_signal_emit_by_name (GTK_OBJECT (sheet->vadjustment), "value_changed"); } */ gtk_signal_emit_by_name (GTK_OBJECT(sheet->vadjustment), "changed"); } if(sheet->hadjustment){ sheet->hadjustment->page_size = sheet->sheet_window_width; sheet->hadjustment->page_increment = sheet->sheet_window_width / 2; sheet->hadjustment->step_increment = DEFAULT_COLUMN_WIDTH; sheet->hadjustment->lower = 0; sheet->hadjustment->upper = SHEET_WIDTH (sheet)+ 80; /* if (sheet->sheet_window_width - sheet->hoffset > SHEET_WIDTH (sheet)) { sheet->hadjustment->value = MAX(0, SHEET_WIDTH (sheet) - sheet->sheet_window_width); gtk_signal_emit_by_name (GTK_OBJECT(sheet->hadjustment), "value_changed"); } */ gtk_signal_emit_by_name (GTK_OBJECT(sheet->hadjustment), "changed"); } /* if(GTK_WIDGET_REALIZED(sheet)) { if(sheet->row_titles_visible){ size_allocate_row_title_buttons(sheet); gdk_window_show(sheet->row_title_window); } if(sheet->column_titles_visible){ size_allocate_column_title_buttons(sheet); gdk_window_show(sheet->column_title_window); } gtk_sheet_range_draw(sheet, NULL); } */ } static void vadjustment_changed (GtkAdjustment * adjustment, gpointer data) { GtkSheet *sheet; g_return_if_fail (adjustment != NULL); g_return_if_fail (data != NULL); sheet = GTK_SHEET (data); } static void hadjustment_changed (GtkAdjustment * adjustment, gpointer data) { GtkSheet *sheet; g_return_if_fail (adjustment != NULL); g_return_if_fail (data != NULL); sheet = GTK_SHEET (data); } static void vadjustment_value_changed (GtkAdjustment * adjustment, gpointer data) { GtkSheet *sheet; gint diff, value, old_value; gint i; gint row, new_row; gint y=0; g_return_if_fail (adjustment != NULL); g_return_if_fail (data != NULL); g_return_if_fail (GTK_IS_SHEET (data)); sheet = GTK_SHEET (data); if(GTK_SHEET_IS_FROZEN(sheet)) return; row=ROW_FROM_YPIXEL(sheet,sheet->column_title_area.height + CELL_SPACING); if(!sheet->column_titles_visible) row=ROW_FROM_YPIXEL(sheet,CELL_SPACING); old_value = -sheet->voffset; for(i=0; i<= sheet->maxrow; i++){ if(sheet->row[i].is_visible) y+=sheet->row[i].height; if(y > adjustment->value) break; } y-=sheet->row[i].height; new_row=i; if (adjustment->value > sheet->old_vadjustment && sheet->old_vadjustment > 0. && sheet->row[i].height > sheet->vadjustment->step_increment){ /* This avoids embarrassing twitching */ if(row == new_row && row != sheet->maxrow && adjustment->value - sheet->old_vadjustment >= sheet->vadjustment->step_increment && new_row + 1 != MIN_VISIBLE_ROW(sheet)){ new_row+=1; y=y+sheet->row[row].height; } } /* Negative old_adjustment enforces the redraw, otherwise avoid spureous redraw */ if(sheet->old_vadjustment >= 0. && row == new_row){ sheet->old_vadjustment = sheet->vadjustment->value; return; } sheet->old_vadjustment = sheet->vadjustment->value; adjustment->value=y; if(new_row == 0){ sheet->vadjustment->step_increment= sheet->row[0].height; }else{ sheet->vadjustment->step_increment= MIN(sheet->row[new_row].height, sheet->row[new_row-1].height); } sheet->vadjustment->value=adjustment->value; value = adjustment->value; if (value >= -sheet->voffset) { /* scroll down */ diff = value + sheet->voffset; } else { /* scroll up */ diff = -sheet->voffset - value; } sheet->voffset = -value; sheet->view.row0=ROW_FROM_YPIXEL(sheet, sheet->column_title_area.height+1); sheet->view.rowi=ROW_FROM_YPIXEL(sheet, sheet->sheet_window_height-1); if(!sheet->column_titles_visible) sheet->view.row0=ROW_FROM_YPIXEL(sheet, 1); if(GTK_WIDGET_REALIZED(sheet->sheet_entry) && sheet->state == GTK_SHEET_NORMAL && sheet->active_cell.row >= 0 && sheet->active_cell.col >= 0 && !gtk_sheet_cell_isvisible(sheet, sheet->active_cell.row, sheet->active_cell.col)) { const gchar *text; text = gtk_entry_get_text(GTK_ENTRY(gtk_sheet_get_entry(sheet))); if(!text || strlen(text)==0) gtk_sheet_cell_clear(sheet, sheet->active_cell.row, sheet->active_cell.col); gtk_widget_unmap(sheet->sheet_entry); } gtk_sheet_position_children(sheet); gtk_sheet_range_draw(sheet, NULL); size_allocate_row_title_buttons(sheet); size_allocate_global_button(sheet); } static void hadjustment_value_changed (GtkAdjustment * adjustment, gpointer data) { GtkSheet *sheet; gint i, diff, value, old_value; gint column, new_column; gint x=0; g_return_if_fail (adjustment != NULL); g_return_if_fail (data != NULL); g_return_if_fail (GTK_IS_SHEET (data)); sheet = GTK_SHEET (data); if(GTK_SHEET_IS_FROZEN(sheet)) return; column=COLUMN_FROM_XPIXEL(sheet,sheet->row_title_area.width + CELL_SPACING); if(!sheet->row_titles_visible) column=COLUMN_FROM_XPIXEL(sheet, CELL_SPACING); old_value = -sheet->hoffset; for(i=0; i<= sheet->maxcol; i++){ if(sheet->column[i].is_visible) x+=sheet->column[i].width; if(x > adjustment->value) break; } x-=sheet->column[i].width; new_column=i; if (adjustment->value > sheet->old_hadjustment && sheet->old_hadjustment > 0 && sheet->column[i].width > sheet->hadjustment->step_increment){ /* This avoids embarrassing twitching */ if(column == new_column && column != sheet->maxcol && adjustment->value - sheet->old_hadjustment >= sheet->hadjustment->step_increment && new_column + 1 != MIN_VISIBLE_COLUMN(sheet)){ new_column+=1; x=x+sheet->column[column].width; } } /* Negative old_adjustment enforces the redraw, otherwise avoid spureous redraw */ if(sheet->old_hadjustment >= 0. && new_column == column){ sheet->old_hadjustment = sheet->hadjustment->value; return; } sheet->old_hadjustment = sheet->hadjustment->value; adjustment->value=x; if(new_column == 0){ sheet->hadjustment->step_increment= sheet->column[0].width; }else{ sheet->hadjustment->step_increment= MIN(sheet->column[new_column].width, sheet->column[new_column-1].width); } sheet->hadjustment->value=adjustment->value; value = adjustment->value; if (value >= -sheet->hoffset) { /* scroll right */ diff = value + sheet->hoffset; } else { /* scroll left */ diff = -sheet->hoffset - value; } sheet->hoffset = -value; sheet->view.col0=COLUMN_FROM_XPIXEL(sheet, sheet->row_title_area.width+1); sheet->view.coli=COLUMN_FROM_XPIXEL(sheet, sheet->sheet_window_width); if(!sheet->row_titles_visible) sheet->view.col0=COLUMN_FROM_XPIXEL(sheet, 1); if(GTK_WIDGET_REALIZED(sheet->sheet_entry) && sheet->state == GTK_SHEET_NORMAL && sheet->active_cell.row >= 0 && sheet->active_cell.col >= 0 && !gtk_sheet_cell_isvisible(sheet, sheet->active_cell.row, sheet->active_cell.col)) { const gchar *text; text = gtk_entry_get_text(GTK_ENTRY(gtk_sheet_get_entry(sheet))); if(!text || strlen(text)==0) gtk_sheet_cell_clear(sheet, sheet->active_cell.row, sheet->active_cell.col); gtk_widget_unmap(sheet->sheet_entry); } gtk_sheet_position_children(sheet); gtk_sheet_range_draw(sheet, NULL); size_allocate_column_title_buttons(sheet); } /* COLUMN RESIZING */ static void draw_xor_vline (GtkSheet * sheet) { GtkWidget *widget; g_return_if_fail (sheet != NULL); widget = GTK_WIDGET (sheet); gdk_draw_line (widget->window, sheet->xor_gc, sheet->x_drag, sheet->column_title_area.height, sheet->x_drag, sheet->sheet_window_height + 1); } /* ROW RESIZING */ static void draw_xor_hline (GtkSheet * sheet) { GtkWidget *widget; g_return_if_fail (sheet != NULL); widget = GTK_WIDGET (sheet); gdk_draw_line (widget->window, sheet->xor_gc, sheet->row_title_area.width, sheet->y_drag, sheet->sheet_window_width + 1, sheet->y_drag); } /* SELECTED RANGE */ static void draw_xor_rectangle(GtkSheet *sheet, GtkSheetRange range) { gint i; GdkRectangle clip_area, area; GdkGCValues values; area.x=COLUMN_LEFT_XPIXEL(sheet, range.col0); area.y=ROW_TOP_YPIXEL(sheet, range.row0); area.width=COLUMN_LEFT_XPIXEL(sheet, range.coli)-area.x+ sheet->column[range.coli].width; area.height=ROW_TOP_YPIXEL(sheet, range.rowi)-area.y+ sheet->row[range.rowi].height; clip_area.x=sheet->row_title_area.width; clip_area.y=sheet->column_title_area.height; clip_area.width=sheet->sheet_window_width; clip_area.height=sheet->sheet_window_height; if(!sheet->row_titles_visible) clip_area.x = 0; if(!sheet->column_titles_visible) clip_area.y = 0; if(area.x<0) { area.width=area.width+area.x; area.x=0; } if(area.width>clip_area.width) area.width=clip_area.width+10; if(area.y<0) { area.height=area.height+area.y; area.y=0; } if(area.height>clip_area.height) area.height=clip_area.height+10; clip_area.x--; clip_area.y--; clip_area.width+=3; clip_area.height+=3; gdk_gc_get_values(sheet->xor_gc, &values); gdk_gc_set_clip_rectangle(sheet->xor_gc, &clip_area); for(i=-1;i<=1;i++) gdk_draw_rectangle(sheet->sheet_window, sheet->xor_gc, FALSE, area.x+i, area.y+i, area.width-2*i, area.height-2*i); gdk_gc_set_clip_rectangle(sheet->xor_gc, NULL); gdk_gc_set_foreground(sheet->xor_gc, &values.foreground); } /* this function returns the new width of the column being resized given * the column and x position of the cursor; the x cursor position is passed * in as a pointer and automaticaly corrected if it's beyond min/max limits */ static guint new_column_width (GtkSheet * sheet, gint column, gint * x) { gint cx, width; GtkRequisition requisition; cx = *x; requisition.width = sheet->column[column].requisition; /* you can't shrink a column to less than its minimum width */ if (cx < COLUMN_LEFT_XPIXEL (sheet, column) + requisition.width) { *x = cx = COLUMN_LEFT_XPIXEL (sheet, column) + requisition.width; } /* don't grow past the end of the window */ /* if (cx > sheet->sheet_window_width) { *x = cx = sheet->sheet_window_width; } */ /* calculate new column width making sure it doesn't end up * less than the minimum width */ width = cx - COLUMN_LEFT_XPIXEL (sheet, column); if (width < requisition.width) width = requisition.width; sheet->column[column].width = width; gtk_sheet_recalc_left_xpixels(sheet, column+1); sheet->view.coli=COLUMN_FROM_XPIXEL(sheet, sheet->sheet_window_width); size_allocate_column_title_buttons (sheet); return width; } /* this function returns the new height of the row being resized given * the row and y position of the cursor; the y cursor position is passed * in as a pointer and automaticaly corrected if it's beyond min/max limits */ static guint new_row_height (GtkSheet * sheet, gint row, gint * y) { GtkRequisition requisition; gint cy, height; cy = *y; requisition.height = sheet->row[row].requisition; /* you can't shrink a row to less than its minimum height */ if (cy < ROW_TOP_YPIXEL (sheet, row) + requisition.height) { *y = cy = ROW_TOP_YPIXEL (sheet, row) + requisition.height; } /* don't grow past the end of the window */ /* if (cy > sheet->sheet_window_height) { *y = cy = sheet->sheet_window_height; } */ /* calculate new row height making sure it doesn't end up * less than the minimum height */ height = (cy - ROW_TOP_YPIXEL (sheet, row)); if (height < requisition.height) height = requisition.height; sheet->row[row].height = height; gtk_sheet_recalc_top_ypixels(sheet, row); sheet->view.rowi=ROW_FROM_YPIXEL(sheet, sheet->sheet_window_height-1); size_allocate_row_title_buttons (sheet); return height; } void gtk_sheet_set_column_width (GtkSheet * sheet, gint column, guint width) { guint min_width; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if (column < 0 || column > sheet->maxcol) return; gtk_sheet_column_size_request(sheet, column, &min_width); if(width < min_width) return; sheet->column[column].width = width; gtk_sheet_recalc_left_xpixels(sheet, column+1); if(GTK_WIDGET_REALIZED(GTK_WIDGET(sheet)) && !GTK_SHEET_IS_FROZEN(sheet)){ size_allocate_column_title_buttons (sheet); adjust_scrollbars (sheet); gtk_sheet_size_allocate_entry(sheet); gtk_sheet_range_draw (sheet, NULL); } else gtk_signal_emit(GTK_OBJECT(sheet), sheet_signals[CHANGED], -1, column); gtk_signal_emit(GTK_OBJECT(sheet), sheet_signals[NEW_COL_WIDTH], column, width); } void gtk_sheet_set_row_height (GtkSheet * sheet, gint row, guint height) { guint min_height; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if (row < 0 || row > sheet->maxrow) return; gtk_sheet_row_size_request(sheet, row, &min_height); if(height < min_height) return; sheet->row[row].height = height; gtk_sheet_recalc_top_ypixels(sheet, row+1); if(GTK_WIDGET_REALIZED(GTK_WIDGET(sheet)) && !GTK_SHEET_IS_FROZEN(sheet)){ size_allocate_row_title_buttons (sheet); adjust_scrollbars (sheet); gtk_sheet_size_allocate_entry(sheet); gtk_sheet_range_draw (sheet, NULL); } gtk_signal_emit(GTK_OBJECT(sheet), sheet_signals[CHANGED], row, -1); gtk_signal_emit(GTK_OBJECT(sheet), sheet_signals[NEW_ROW_HEIGHT], row, height); } void gtk_sheet_add_column(GtkSheet *sheet, guint ncols) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); AddColumn(sheet, ncols); if(!GTK_WIDGET_REALIZED(sheet)) return; adjust_scrollbars(sheet); if(sheet->state==GTK_SHEET_ROW_SELECTED) sheet->range.coli+=ncols; sheet->old_hadjustment = -1.; if(!GTK_SHEET_IS_FROZEN(sheet) && sheet->hadjustment) gtk_signal_emit_by_name (GTK_OBJECT (sheet->hadjustment), "value_changed"); } void gtk_sheet_add_row(GtkSheet *sheet, guint nrows) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); AddRow(sheet, nrows); if(!GTK_WIDGET_REALIZED(sheet)) return; if(sheet->state==GTK_SHEET_COLUMN_SELECTED) sheet->range.rowi+=nrows; adjust_scrollbars(sheet); sheet->old_vadjustment = -1.; if(!GTK_SHEET_IS_FROZEN(sheet) && sheet->vadjustment) gtk_signal_emit_by_name (GTK_OBJECT (sheet->vadjustment), "value_changed"); } void gtk_sheet_insert_rows(GtkSheet *sheet, guint row, guint nrows) { GList *children; GtkSheetChild *child; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(GTK_WIDGET_REALIZED(sheet)) gtk_sheet_real_unselect_range(sheet, NULL); InsertRow(sheet, row, nrows); children = sheet->children; while(children) { child = (GtkSheetChild *)children->data; if(child->attached_to_cell) if(child->row >= row) child->row += nrows; children = g_list_next(children); } if(!GTK_WIDGET_REALIZED(sheet)) return; if(sheet->state==GTK_SHEET_COLUMN_SELECTED) sheet->range.rowi+=nrows; adjust_scrollbars(sheet); sheet->old_vadjustment = -1.; if(!GTK_SHEET_IS_FROZEN(sheet) && sheet->vadjustment) gtk_signal_emit_by_name (GTK_OBJECT (sheet->vadjustment), "value_changed"); } void gtk_sheet_insert_columns(GtkSheet *sheet, guint col, guint ncols) { GList *children; GtkSheetChild *child; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(GTK_WIDGET_REALIZED(sheet)) gtk_sheet_real_unselect_range(sheet, NULL); InsertColumn(sheet, col, ncols); children = sheet->children; while(children) { child = (GtkSheetChild *)children->data; if(child->attached_to_cell) if(child->col >= col) child->col += ncols; children = g_list_next(children); } if(!GTK_WIDGET_REALIZED(sheet)) return; if(sheet->state==GTK_SHEET_ROW_SELECTED) sheet->range.coli+=ncols; adjust_scrollbars(sheet); sheet->old_hadjustment = -1.; if(!GTK_SHEET_IS_FROZEN(sheet) && sheet->hadjustment) gtk_signal_emit_by_name (GTK_OBJECT (sheet->hadjustment), "value_changed"); } void gtk_sheet_delete_rows(GtkSheet *sheet, guint row, guint nrows) { GList *children; GtkSheetChild *child; gint irow, icol; gboolean veto; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); nrows = MIN(nrows, sheet->maxrow-row+1); if(GTK_WIDGET_REALIZED(sheet)) gtk_sheet_real_unselect_range(sheet, NULL); DeleteRow(sheet, row, nrows); children = sheet->children; while(children) { child = (GtkSheetChild *)children->data; if(child->attached_to_cell && child->row >= row && child->row < row+nrows){ gtk_container_remove(GTK_CONTAINER(sheet), child->widget); children = sheet->children; } else children = g_list_next(children); } children = sheet->children; while(children) { child = (GtkSheetChild *)children->data; if(child->attached_to_cell && child->row > row) child->row -= nrows; children = g_list_next(children); } if(!GTK_WIDGET_REALIZED(sheet)) return; irow = sheet->active_cell.row; icol = sheet->active_cell.col; sheet->active_cell.row = -1; sheet->active_cell.col = -1; /* if(sheet->state == GTK_SHEET_ROW_SELECTED) */ irow = MIN(irow, sheet->maxrow); irow = MAX(irow, 0); gtk_sheet_click_cell(sheet, irow, icol, &veto); gtk_sheet_activate_cell(sheet, sheet->active_cell.row, sheet->active_cell.col); adjust_scrollbars(sheet); sheet->old_vadjustment = -1.; if(!GTK_SHEET_IS_FROZEN(sheet) && sheet->vadjustment) gtk_signal_emit_by_name (GTK_OBJECT (sheet->vadjustment), "value_changed"); } void gtk_sheet_delete_columns(GtkSheet *sheet, guint col, guint ncols) { GList *children; GtkSheetChild *child; gint irow, icol; gboolean veto; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); ncols = MIN(ncols, sheet->maxcol-col+1); if(GTK_WIDGET_REALIZED(sheet)) gtk_sheet_real_unselect_range(sheet, NULL); DeleteColumn(sheet, col, ncols); children = sheet->children; while(children) { child = (GtkSheetChild *)children->data; if(child->attached_to_cell && child->col >= col && child->col < col+ncols){ gtk_container_remove(GTK_CONTAINER(sheet), child->widget); children = sheet->children; } else children = g_list_next(children); } children = sheet->children; while(children) { child = (GtkSheetChild *)children->data; if(child->attached_to_cell && child->col > col) child->col -= ncols; children = g_list_next(children); } if(!GTK_WIDGET_REALIZED(sheet)) return; irow = sheet->active_cell.row; icol = sheet->active_cell.col; sheet->active_cell.row = -1; sheet->active_cell.col = -1; /* if(sheet->state == GTK_SHEET_COLUMN_SELECTED) */ icol = MIN(icol, sheet->maxcol); icol = MAX(icol, 0); gtk_sheet_click_cell(sheet, irow, icol, &veto); gtk_sheet_activate_cell(sheet, sheet->active_cell.row, sheet->active_cell.col); adjust_scrollbars(sheet); sheet->old_hadjustment = -1.; if(!GTK_SHEET_IS_FROZEN(sheet) && sheet->hadjustment) gtk_signal_emit_by_name (GTK_OBJECT (sheet->hadjustment), "value_changed"); } void gtk_sheet_range_set_background(GtkSheet *sheet, const GtkSheetRange *urange, const GdkColor *color) { gint i, j; GtkSheetCellAttr attributes; GtkSheetRange range; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(!urange) range = sheet->range; else range = *urange; for (i=range.row0; i<=range.rowi; i++) for (j=range.col0; j<=range.coli; j++){ gtk_sheet_get_attributes(sheet, i, j, &attributes); if(color != NULL) attributes.background = *color; else attributes.background = sheet->bg_color; gtk_sheet_set_cell_attributes(sheet, i, j, attributes); } range.row0--; range.col0--; range.rowi++; range.coli++; if(!GTK_SHEET_IS_FROZEN(sheet)) gtk_sheet_range_draw(sheet, &range); } void gtk_sheet_range_set_foreground(GtkSheet *sheet, const GtkSheetRange *urange, const GdkColor *color) { gint i, j; GtkSheetCellAttr attributes; GtkSheetRange range; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(!urange) range = sheet->range; else range = *urange; for (i=range.row0; i<=range.rowi; i++) for (j=range.col0; j<=range.coli; j++){ gtk_sheet_get_attributes(sheet, i, j, &attributes); if(color != NULL) attributes.foreground = *color; else gdk_color_black(gdk_colormap_get_system(), &attributes.foreground); gtk_sheet_set_cell_attributes(sheet, i, j, attributes); } if(!GTK_SHEET_IS_FROZEN(sheet)) gtk_sheet_range_draw(sheet, &range); } void gtk_sheet_range_set_justification(GtkSheet *sheet, const GtkSheetRange *urange, GtkJustification just) { gint i, j; GtkSheetCellAttr attributes; GtkSheetRange range; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(!urange) range = sheet->range; else range = *urange; for (i=range.row0; i<=range.rowi; i++) for (j=range.col0; j<=range.coli; j++){ gtk_sheet_get_attributes(sheet, i, j, &attributes); attributes.justification = just; gtk_sheet_set_cell_attributes(sheet, i, j, attributes); } range.col0 = sheet->view.col0; range.coli = sheet->view.coli; if(!GTK_SHEET_IS_FROZEN(sheet)) gtk_sheet_range_draw(sheet, &range); } void gtk_sheet_column_set_justification(GtkSheet *sheet, gint col, GtkJustification justification) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(col > sheet->maxcol) return; sheet->column[col].justification = justification; if(GTK_WIDGET_REALIZED(sheet) && !GTK_SHEET_IS_FROZEN(sheet) && col >= MIN_VISIBLE_COLUMN(sheet) && col <= MAX_VISIBLE_COLUMN(sheet)) gtk_sheet_range_draw(sheet, NULL); } void gtk_sheet_range_set_editable(GtkSheet *sheet, const GtkSheetRange *urange, gboolean editable) { gint i, j; GtkSheetCellAttr attributes; GtkSheetRange range; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(!urange) range = sheet->range; else range = *urange; for (i=range.row0; i<=range.rowi; i++) for (j=range.col0; j<=range.coli; j++){ gtk_sheet_get_attributes(sheet, i, j, &attributes); attributes.is_editable = editable; gtk_sheet_set_cell_attributes(sheet, i, j, attributes); } if(!GTK_SHEET_IS_FROZEN(sheet)) gtk_sheet_range_draw(sheet, &range); } void gtk_sheet_range_set_visible(GtkSheet *sheet, const GtkSheetRange *urange, gboolean visible) { gint i, j; GtkSheetCellAttr attributes; GtkSheetRange range; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(!urange) range = sheet->range; else range = *urange; for (i=range.row0; i<=range.rowi; i++) for (j=range.col0; j<=range.coli; j++){ gtk_sheet_get_attributes(sheet, i, j, &attributes); attributes.is_visible=visible; gtk_sheet_set_cell_attributes(sheet, i, j, attributes); } if(!GTK_SHEET_IS_FROZEN(sheet)) gtk_sheet_range_draw(sheet, &range); } void gtk_sheet_range_set_border(GtkSheet *sheet, const GtkSheetRange *urange, gint mask, guint width, gint line_style) { gint i, j; GtkSheetCellAttr attributes; GtkSheetRange range; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(!urange) range = sheet->range; else range = *urange; for (i=range.row0; i<=range.rowi; i++) for (j=range.col0; j<=range.coli; j++){ gtk_sheet_get_attributes(sheet, i, j, &attributes); attributes.border.mask = mask; attributes.border.width = width; attributes.border.line_style=line_style; attributes.border.cap_style=GDK_CAP_NOT_LAST; attributes.border.join_style=GDK_JOIN_MITER; gtk_sheet_set_cell_attributes(sheet, i, j, attributes); } range.row0--; range.col0--; range.rowi++; range.coli++; if(!GTK_SHEET_IS_FROZEN(sheet)) gtk_sheet_range_draw(sheet, &range); } void gtk_sheet_range_set_border_color(GtkSheet *sheet, const GtkSheetRange *urange, const GdkColor *color) { gint i, j; GtkSheetCellAttr attributes; GtkSheetRange range; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(!urange) range = sheet->range; else range = *urange; for (i=range.row0; i<=range.rowi; i++) for (j=range.col0; j<=range.coli; j++){ gtk_sheet_get_attributes(sheet, i, j, &attributes); attributes.border.color = *color; gtk_sheet_set_cell_attributes(sheet, i, j, attributes); } if(!GTK_SHEET_IS_FROZEN(sheet)) gtk_sheet_range_draw(sheet, &range); } void gtk_sheet_range_set_font(GtkSheet *sheet, const GtkSheetRange *urange, PangoFontDescription *font) { gint i, j; gint font_height; GtkSheetCellAttr attributes; GtkSheetRange range; PangoContext *context; PangoFontMetrics *metrics; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(!urange) range = sheet->range; else range = *urange; gtk_sheet_freeze(sheet); context = gtk_widget_get_pango_context(GTK_WIDGET(sheet)); metrics = pango_context_get_metrics(context, font, pango_context_get_language(context)); font_height = pango_font_metrics_get_descent(metrics) + pango_font_metrics_get_ascent(metrics); font_height = PANGO_PIXELS(font_height) + 2*CELLOFFSET; for (i=range.row0; i<=range.rowi; i++) for (j=range.col0; j<=range.coli; j++){ gtk_sheet_get_attributes(sheet, i, j, &attributes); attributes.font_desc = font; if(font_height > sheet->row[i].height){ sheet->row[i].height = font_height; gtk_sheet_recalc_top_ypixels(sheet, i); } gtk_sheet_set_cell_attributes(sheet, i, j, attributes); } gtk_sheet_thaw(sheet); pango_font_metrics_unref(metrics); } static void gtk_sheet_set_cell_attributes(GtkSheet *sheet, gint row, gint col, GtkSheetCellAttr attributes) { GtkSheetCell **cell; if(row > sheet->maxrow || col >sheet->maxcol) return; CheckBounds(sheet, row, col); cell = &sheet->data[row][col]; if(*cell==NULL){ (*cell) = gtk_sheet_cell_new(); (*cell)->row = row; (*cell)->col = col; } if((*cell)->attributes == NULL) (*cell)->attributes = g_new(GtkSheetCellAttr, 1); *((*cell)->attributes) = attributes; } gboolean gtk_sheet_get_attributes(GtkSheet *sheet, gint row, gint col, GtkSheetCellAttr *attributes) { GtkSheetCell **cell = NULL; g_return_val_if_fail (sheet != NULL, FALSE); g_return_val_if_fail (GTK_IS_SHEET (sheet), FALSE); if(row < 0 || col < 0) return FALSE; if(row > sheet->maxallocrow || col > sheet->maxalloccol){ init_attributes(sheet, col, attributes); return FALSE; } if(row <= sheet->maxallocrow && col <= sheet->maxalloccol){ if(sheet->data[row] && sheet->data[row][col]) cell = &sheet->data[row][col]; if(cell == NULL || *cell == NULL){ init_attributes(sheet, col, attributes); return FALSE; } else if((*cell)->attributes == NULL){ init_attributes(sheet, col, attributes); return FALSE; }else{ *attributes = *(sheet->data[row][col]->attributes); if(sheet->column[col].justification != GTK_JUSTIFY_FILL) attributes->justification = sheet->column[col].justification; } } return TRUE; } static void init_attributes(GtkSheet *sheet, gint col, GtkSheetCellAttr *attributes) { /* DEFAULT VALUES */ attributes->foreground = GTK_WIDGET(sheet)->style->black; attributes->background = sheet->bg_color; if(!GTK_WIDGET_REALIZED(GTK_WIDGET(sheet))){ GdkColormap *colormap; colormap=gdk_colormap_get_system(); gdk_color_black(colormap, &attributes->foreground); attributes->background = sheet->bg_color; } attributes->justification = sheet->column[col].justification; attributes->border.width = 0; attributes->border.line_style = GDK_LINE_SOLID; attributes->border.cap_style = GDK_CAP_NOT_LAST; attributes->border.join_style = GDK_JOIN_MITER; attributes->border.mask = 0; attributes->border.color = GTK_WIDGET(sheet)->style->black; attributes->is_editable = TRUE; attributes->is_visible = TRUE; attributes->font = GTK_WIDGET(sheet)->style->private_font; attributes->font_desc = GTK_WIDGET(sheet)->style->font_desc; } /********************************************************************** * Memory allocation routines: * AddRow & AddColumn allocate memory for GtkSheetColumn & GtkSheetRow structs. * InsertRow * InsertColumn * DeleteRow * DeleteColumn * GrowSheet allocates memory for the sheet cells contents using an array of * pointers. Alternative to this could be a linked list or a hash table. * CheckBounds checks whether the given cell is currently allocated or not. * If not, it calls to GrowSheet. **********************************************************************/ static gint AddColumn(GtkSheet *tbl, gint ncols) { gint i; if(ncols == -1 && tbl->maxcol == 0) { ncols = 1; } else { tbl->maxcol += ncols; tbl->column = (GtkSheetColumn *)g_realloc(tbl->column,(tbl->maxcol+1)* sizeof(GtkSheetColumn)); } for(i=tbl->maxcol-ncols+1; i<= tbl->maxcol; i++){ tbl->column[i].width=DEFAULT_COLUMN_WIDTH; tbl->column[i].button.label=NULL; tbl->column[i].button.child=NULL; tbl->column[i].button.state=GTK_STATE_NORMAL; tbl->column[i].button.justification=GTK_JUSTIFY_CENTER; tbl->column[i].button.label_visible = TRUE; tbl->column[i].name=NULL; tbl->column[i].is_visible=TRUE; tbl->column[i].is_sensitive=TRUE; tbl->column[i].left_text_column=i; tbl->column[i].right_text_column=i; tbl->column[i].justification=GTK_JUSTIFY_FILL; tbl->column[i].requisition=DEFAULT_COLUMN_WIDTH; if(i>0) { tbl->column[i].left_text_column=tbl->column[i-1].left_text_column; tbl->column[i].left_xpixel=tbl->column[i-1].left_xpixel + tbl->column[i-1].width; } else { tbl->column[i].left_xpixel=tbl->row_title_area.width; if(!tbl->row_titles_visible) tbl->column[i].left_xpixel=0; } } return TRUE; } static gint AddRow(GtkSheet *tbl, gint nrows) { gint i; if(nrows == -1 && tbl->maxrow == 0) { nrows = 1; } else { tbl->maxrow += nrows; tbl->row = (GtkSheetRow *)g_realloc(tbl->row,(tbl->maxrow+1)* sizeof(GtkSheetRow)); } for(i=tbl->maxrow-nrows+1; i<= tbl->maxrow; i++){ tbl->row[i].requisition=tbl->row[i].height=DEFAULT_ROW_HEIGHT(GTK_WIDGET(tbl)); tbl->row[i].button.label=NULL; tbl->row[i].button.child=NULL; tbl->row[i].button.state=GTK_STATE_NORMAL; tbl->row[i].button.justification=GTK_JUSTIFY_CENTER; tbl->row[i].button.label_visible = TRUE; tbl->row[i].name=NULL; tbl->row[i].is_visible=TRUE; tbl->row[i].is_sensitive=TRUE; if(i>0) tbl->row[i].top_ypixel=tbl->row[i-1].top_ypixel+tbl->row[i-1].height; else { tbl->row[i].top_ypixel=tbl->column_title_area.height; if(!tbl->column_titles_visible) tbl->row[i].top_ypixel=0; } } return TRUE; } static gint InsertRow(GtkSheet *tbl, gint row, gint nrows) { GtkSheetCell **pp; gint i,j; GtkSheetCell **auxdata; GtkSheetRow auxrow; AddRow(tbl,nrows); for(i=tbl->maxrow; i>=row+nrows; i--){ auxrow = tbl->row[i]; tbl->row[i]=tbl->row[i-nrows]; tbl->row[i].is_visible=tbl->row[i-nrows].is_visible; tbl->row[i].is_sensitive=tbl->row[i-nrows].is_sensitive; if(auxrow.is_visible) tbl->row[i].top_ypixel+=nrows*DEFAULT_ROW_HEIGHT(GTK_WIDGET(tbl)); tbl->row[i-nrows]=auxrow; } if(row <= tbl->maxallocrow){ GrowSheet(tbl,nrows,0); for(i=tbl->maxallocrow; i>=row+nrows; i--){ auxdata = tbl->data[i]; tbl->data[i]=tbl->data[i-nrows]; pp= tbl->data[i]; for(j=0; j<=tbl->maxalloccol; j++,pp++){ if(*pp!=(GtkSheetCell *)NULL) (*pp)->row=i; } tbl->data[i-nrows]=auxdata; } } gtk_sheet_recalc_top_ypixels(tbl, 0); return TRUE; } static gint InsertColumn(GtkSheet *tbl, gint col, gint ncols) { gint i,j; GtkSheetColumn auxcol; AddColumn(tbl,ncols); for(i=tbl->maxcol; i>=col+ncols; i--){ auxcol = tbl->column[i]; tbl->column[i]=tbl->column[i-ncols]; tbl->column[i].is_visible=tbl->column[i-ncols].is_visible; tbl->column[i].is_sensitive=tbl->column[i-ncols].is_sensitive; tbl->column[i].left_text_column=tbl->column[i-ncols].left_text_column; tbl->column[i].right_text_column=tbl->column[i-ncols].right_text_column; tbl->column[i].justification=tbl->column[i-ncols].justification; if(auxcol.is_visible) tbl->column[i].left_xpixel+=ncols*DEFAULT_COLUMN_WIDTH; tbl->column[i-ncols]=auxcol; } if(col <= tbl->maxalloccol){ GrowSheet(tbl,0,ncols); for(i=0; i<=tbl->maxallocrow; i++){ for(j=tbl->maxalloccol; j>=col+ncols; j--){ gtk_sheet_real_cell_clear(tbl, i, j, TRUE); tbl->data[i][j]=tbl->data[i][j-ncols]; if(tbl->data[i][j]) tbl->data[i][j]->col=j; tbl->data[i][j-ncols]=NULL; } } } gtk_sheet_recalc_left_xpixels(tbl, 0); return TRUE; } static gint DeleteRow(GtkSheet *tbl, gint row, gint nrows) { GtkSheetCell **auxdata = NULL; gint i,j; if(nrows <= 0 || row > tbl->maxrow) return TRUE; nrows=MIN(nrows,tbl->maxrow-row+1); for(i=row; irow[i].name){ g_free(tbl->row[i].name); tbl->row[i].name = NULL; } if(tbl->row[i].button.label){ g_free(tbl->row[i].button.label); tbl->row[i].button.label = NULL; } } for(i=row; i<=tbl->maxrow-nrows; i++){ if(i+nrows <= tbl->maxrow){ tbl->row[i]=tbl->row[i+nrows]; } } if(row <= tbl->maxallocrow){ for(i=row; i<=tbl->maxrow-nrows; i++){ if(i<=tbl->maxallocrow){ auxdata=tbl->data[i]; for(j=0; j<=tbl->maxalloccol; j++){ gtk_sheet_real_cell_clear(tbl, i, j, TRUE); } } if(i+nrows<=tbl->maxallocrow){ tbl->data[i]=tbl->data[i+nrows]; tbl->data[i+nrows]=auxdata; for(j=0; j<=tbl->maxalloccol; j++){ if(tbl->data[i][j]) tbl->data[i][j]->row=i; } } } for(i=tbl->maxrow-nrows+1; i<=tbl->maxallocrow; i++){ if(i > 0 && tbl->data[i]){ g_free(tbl->data[i]); tbl->data[i] = NULL; } } tbl->maxallocrow-=MIN(nrows,tbl->maxallocrow-row+1); tbl->maxallocrow = MIN(tbl->maxallocrow, tbl->maxrow); } tbl->maxrow-=nrows; gtk_sheet_recalc_top_ypixels(tbl, 0); return TRUE; } static gint DeleteColumn(GtkSheet *tbl, gint column, gint ncols) { gint i,j; GtkSheetColumn auxcol; ncols = MIN(ncols,tbl->maxcol-column+1); if(ncols <= 0 || column > tbl->maxcol) return TRUE; for(i=column; icolumn[i]; if(tbl->column[i].name){ g_free(tbl->column[i].name); tbl->column[i].name = NULL; } if(tbl->column[i].button.label){ g_free(tbl->column[i].button.label); tbl->column[i].button.label = NULL; } } for(i=column; i<=tbl->maxcol-ncols; i++){ if(i+ncols <= tbl->maxcol){ tbl->column[i]=tbl->column[i+ncols]; } } if(column <= tbl->maxalloccol){ for(i=column; i<=tbl->maxcol-ncols; i++){ if(i<=tbl->maxalloccol){ for(j=0; j<=tbl->maxallocrow; j++){ gtk_sheet_real_cell_clear(tbl, j, i, TRUE); if(i+ncols <= tbl->maxalloccol){ tbl->data[j][i] = tbl->data[j][i+ncols]; tbl->data[j][i+ncols] = NULL; if(tbl->data[j][i]) tbl->data[j][i]->col=i; } } } } tbl->maxalloccol-=MIN(ncols,tbl->maxalloccol-column+1); tbl->maxalloccol = MIN(tbl->maxalloccol, tbl->maxcol); } tbl->maxcol-=ncols; gtk_sheet_recalc_left_xpixels(tbl, 0); return TRUE; } static gint GrowSheet(GtkSheet *tbl, gint newrows, gint newcols) { gint i,j; gint inirow, inicol; inirow = tbl->maxallocrow + 1; inicol = tbl->maxalloccol + 1; tbl->maxalloccol = tbl->maxalloccol + newcols; tbl->maxallocrow = tbl->maxallocrow + newrows; if(newrows>0){ tbl->data = (GtkSheetCell***) g_realloc(tbl->data,(tbl->maxallocrow+1)*sizeof(GtkSheetCell **)+sizeof(double)); for(i=inirow; i <= tbl->maxallocrow; i++){ tbl->data[i] = (GtkSheetCell **) \ g_malloc((tbl->maxcol+1)*sizeof(GtkSheetCell *)+sizeof(double)); for(j=0; jdata[i][j] = NULL; } } } if(newcols>0){ for(i=0; i <= tbl->maxallocrow; i++) { tbl->data[i] = (GtkSheetCell **) \ g_realloc(tbl->data[i],(tbl->maxalloccol+1)*sizeof(GtkSheetCell *)+sizeof(double)); for(j=inicol; j <= tbl->maxalloccol; j++) { tbl->data[i][j] = NULL; } } } return(0); } static gint CheckBounds(GtkSheet *tbl, gint row, gint col) { gint newrows=0,newcols=0; if(col>tbl->maxalloccol) newcols=col-tbl->maxalloccol; if(row>tbl->maxallocrow) newrows=row-tbl->maxallocrow; if(newrows>0 || newcols>0) GrowSheet(tbl, newrows, newcols); return(0); } /******************************************************************** * Container Functions: * gtk_sheet_add * gtk_sheet_put * gtk_sheet_attach * gtk_sheet_remove * gtk_sheet_move_child * gtk_sheet_position_child * gtk_sheet_position_children * gtk_sheet_realize_child * gtk_sheet_get_child_at ********************************************************************/ GtkSheetChild * gtk_sheet_put(GtkSheet *sheet, GtkWidget *child, gint x, gint y) { GtkRequisition child_requisition; GtkSheetChild *child_info; g_return_val_if_fail(sheet != NULL, NULL); g_return_val_if_fail(GTK_IS_SHEET(sheet), NULL); g_return_val_if_fail(child != NULL, NULL); g_return_val_if_fail(child->parent == NULL, NULL); child_info = g_new (GtkSheetChild, 1); child_info->widget = child; child_info->x = x; child_info->y = y; child_info->attached_to_cell = FALSE; child_info->floating = TRUE; child_info->xpadding = child_info->ypadding = 0; child_info->xexpand = child_info->yexpand = FALSE; child_info->xshrink = child_info->yshrink = FALSE; child_info->xfill = child_info->yfill = FALSE; sheet->children = g_list_append(sheet->children, child_info); gtk_widget_set_parent (child, GTK_WIDGET(sheet)); gtk_widget_size_request(child, &child_requisition); if (GTK_WIDGET_VISIBLE(GTK_WIDGET(sheet))) { if(GTK_WIDGET_REALIZED(GTK_WIDGET(sheet)) && (!GTK_WIDGET_REALIZED(child) || GTK_WIDGET_NO_WINDOW(child))) gtk_sheet_realize_child(sheet, child_info); if(GTK_WIDGET_MAPPED(GTK_WIDGET(sheet)) && !GTK_WIDGET_MAPPED(child)) gtk_widget_map(child); } gtk_sheet_position_child(sheet, child_info); /* This will avoid drawing on the titles */ if(GTK_WIDGET_REALIZED(GTK_WIDGET(sheet))) { if(sheet->row_titles_visible) gdk_window_show(sheet->row_title_window); if(sheet->column_titles_visible) gdk_window_show(sheet->column_title_window); } return (child_info); } void gtk_sheet_attach_floating (GtkSheet *sheet, GtkWidget *widget, gint row, gint col) { GdkRectangle area; GtkSheetChild *child; if(row < 0 || col < 0){ gtk_sheet_button_attach(sheet, widget, row, col); return; } gtk_sheet_get_cell_area(sheet, row, col, &area); child = gtk_sheet_put(sheet, widget, area.x, area.y); child->attached_to_cell = TRUE; child->row = row; child->col = col; } void gtk_sheet_attach_default (GtkSheet *sheet, GtkWidget *widget, gint row, gint col) { if(row < 0 || col < 0){ gtk_sheet_button_attach(sheet, widget, row, col); return; } gtk_sheet_attach(sheet, widget, row, col, GTK_EXPAND|GTK_FILL, GTK_EXPAND|GTK_FILL, 0, 0); } void gtk_sheet_attach (GtkSheet *sheet, GtkWidget *widget, gint row, gint col, gint xoptions, gint yoptions, gint xpadding, gint ypadding) { GdkRectangle area; GtkSheetChild *child = NULL; if(row < 0 || col < 0){ gtk_sheet_button_attach(sheet, widget, row, col); return; } child = g_new0(GtkSheetChild, 1); child->attached_to_cell = TRUE; child->floating = FALSE; child->widget = widget; child->row = row; child->col = col; child->xpadding = xpadding; child->ypadding = ypadding; child->xexpand = (xoptions & GTK_EXPAND) != 0; child->yexpand = (yoptions & GTK_EXPAND) != 0; child->xshrink = (xoptions & GTK_SHRINK) != 0; child->yshrink = (yoptions & GTK_SHRINK) != 0; child->xfill = (xoptions & GTK_FILL) != 0; child->yfill = (yoptions & GTK_FILL) != 0; sheet->children = g_list_append(sheet->children, child); gtk_sheet_get_cell_area(sheet, row, col, &area); child->x = area.x + child->xpadding; child->y = area.y + child->ypadding; if (GTK_WIDGET_VISIBLE(GTK_WIDGET(sheet))) { if(GTK_WIDGET_REALIZED(GTK_WIDGET(sheet)) && (!GTK_WIDGET_REALIZED(widget) || GTK_WIDGET_NO_WINDOW(widget))) gtk_sheet_realize_child(sheet, child); if(GTK_WIDGET_MAPPED(GTK_WIDGET(sheet)) && !GTK_WIDGET_MAPPED(widget)) gtk_widget_map(widget); } gtk_sheet_position_child(sheet, child); /* This will avoid drawing on the titles */ if(GTK_WIDGET_REALIZED(GTK_WIDGET(sheet))) { if(GTK_SHEET_ROW_TITLES_VISIBLE(sheet)) gdk_window_show(sheet->row_title_window); if(GTK_SHEET_COL_TITLES_VISIBLE(sheet)) gdk_window_show(sheet->column_title_window); } } void gtk_sheet_button_attach (GtkSheet *sheet, GtkWidget *widget, gint row, gint col) { GtkSheetButton *button; GtkSheetChild *child; GtkRequisition button_requisition; if(row >= 0 && col >= 0) return; if(row < 0 && col < 0) return; child = g_new (GtkSheetChild, 1); child->widget = widget; child->x = 0; child->y = 0; child->attached_to_cell = TRUE; child->floating = FALSE; child->row = row; child->col = col; child->xpadding = child->ypadding = 0; child->xshrink = child->yshrink = FALSE; child->xfill = child->yfill = FALSE; if(row == -1){ button = &sheet->column[col].button; button->child = child; } else { button = &sheet->row[row].button; button->child = child; } sheet->children = g_list_append(sheet->children, child); gtk_sheet_button_size_request(sheet, button, &button_requisition); if(row == -1){ if(button_requisition.height > sheet->column_title_area.height) sheet->column_title_area.height = button_requisition.height; if(button_requisition.width > sheet->column[col].width) sheet->column[col].width = button_requisition.width; } if(col == -1){ if(button_requisition.width > sheet->row_title_area.width) sheet->row_title_area.width = button_requisition.width; if(button_requisition.height > sheet->row[row].height) sheet->row[row].height = button_requisition.height; } if (GTK_WIDGET_VISIBLE(GTK_WIDGET(sheet))) { if(GTK_WIDGET_REALIZED(GTK_WIDGET(sheet)) && (!GTK_WIDGET_REALIZED(widget) || GTK_WIDGET_NO_WINDOW(widget))) gtk_sheet_realize_child(sheet, child); if(GTK_WIDGET_MAPPED(GTK_WIDGET(sheet)) && !GTK_WIDGET_MAPPED(widget)) gtk_widget_map(widget); } if(row == -1) size_allocate_column_title_buttons(sheet); if(col == -1) size_allocate_row_title_buttons(sheet); } static void label_size_request(GtkSheet *sheet, gchar *label, GtkRequisition *req) { gchar *words; gchar word[1000]; gint n = 0; gint row_height = DEFAULT_ROW_HEIGHT(GTK_WIDGET(sheet)) - 2*CELLOFFSET + 2; req->height = 0; req->width = 0; words=label; while(words && *words != '\0'){ if(*words == '\n' || *(words+1) == '\0'){ req->height += row_height; word[n] = '\0'; req->width = MAX(req->width, STRING_WIDTH(GTK_WIDGET(sheet), GTK_WIDGET(sheet)->style->font_desc, word)); n = 0; } else { word[n++] = *words; } words++; } if(n > 0) req->height -= 2; } static void gtk_sheet_button_size_request (GtkSheet *sheet, GtkSheetButton *button, GtkRequisition *button_requisition) { GtkRequisition requisition; GtkRequisition label_requisition; if(gtk_sheet_autoresize(sheet) && button->label && strlen(button->label) > 0){ label_size_request(sheet, button->label, &label_requisition); label_requisition.width += 2*CELLOFFSET; label_requisition.height += 2*CELLOFFSET; } else { label_requisition.height = DEFAULT_ROW_HEIGHT(GTK_WIDGET(sheet)); label_requisition.width = COLUMN_MIN_WIDTH; } if(button->child) { gtk_widget_size_request(button->child->widget, &requisition); requisition.width += 2*button->child->xpadding; requisition.height += 2*button->child->ypadding; requisition.width += 2*sheet->button->style->xthickness; requisition.height += 2*sheet->button->style->ythickness; } else { requisition.height = DEFAULT_ROW_HEIGHT(GTK_WIDGET(sheet)); requisition.width = COLUMN_MIN_WIDTH; } *button_requisition = requisition; button_requisition->width = MAX(requisition.width, label_requisition.width); button_requisition->height = MAX(requisition.height, label_requisition.height); } static void gtk_sheet_row_size_request (GtkSheet *sheet, gint row, guint *requisition) { GtkRequisition button_requisition; GList *children; gtk_sheet_button_size_request(sheet, &sheet->row[row].button, &button_requisition); *requisition = button_requisition.height; children = sheet->children; while(children){ GtkSheetChild *child = (GtkSheetChild *)children->data; GtkRequisition child_requisition; if(child->attached_to_cell && child->row == row && child->col != -1 && !child->floating && !child->yshrink){ gtk_widget_get_child_requisition(child->widget, &child_requisition); if(child_requisition.height + 2 * child->ypadding > *requisition) *requisition = child_requisition.height + 2 * child->ypadding; } children = g_list_next(children); } sheet->row[row].requisition = *requisition; } static void gtk_sheet_column_size_request (GtkSheet *sheet, gint col, guint *requisition) { GtkRequisition button_requisition; GList *children; gtk_sheet_button_size_request(sheet, &sheet->column[col].button, &button_requisition); *requisition = button_requisition.width; children = sheet->children; while(children){ GtkSheetChild *child = (GtkSheetChild *)children->data; GtkRequisition child_requisition; if(child->attached_to_cell && child->col == col && child->row != -1 && !child->floating && !child->xshrink){ gtk_widget_get_child_requisition(child->widget, &child_requisition); if(child_requisition.width + 2 * child->xpadding > *requisition) *requisition = child_requisition.width + 2 * child->xpadding; } children = g_list_next(children); } sheet->column[col].requisition = *requisition; } void gtk_sheet_move_child(GtkSheet *sheet, GtkWidget *widget, gint x, gint y) { GtkSheetChild *child; GList *children; g_return_if_fail(sheet != NULL); g_return_if_fail(GTK_IS_SHEET(sheet)); children = sheet->children; while(children) { child = children->data; if(child->widget == widget){ child->x = x; child->y = y; child->row = ROW_FROM_YPIXEL(sheet, y); child->col = COLUMN_FROM_XPIXEL(sheet, x); gtk_sheet_position_child(sheet, child); return; } children = g_list_next(children); } g_warning("Widget must be a GtkSheet child"); } static void gtk_sheet_position_child(GtkSheet *sheet, GtkSheetChild *child) { GtkRequisition child_requisition; GtkAllocation child_allocation; gint xoffset = 0; gint yoffset = 0; gint x = 0, y = 0; GdkRectangle area; gtk_widget_get_child_requisition(child->widget, &child_requisition); if(sheet->column_titles_visible) yoffset = sheet->column_title_area.height; if(sheet->row_titles_visible) xoffset = sheet->row_title_area.width; if(child->attached_to_cell){ /* child->x = COLUMN_LEFT_XPIXEL(sheet, child->col); child->y = ROW_TOP_YPIXEL(sheet, child->row); if(sheet->row_titles_visible) child->x-=sheet->row_title_area.width; if(sheet->column_titles_visible) child->y-=sheet->column_title_area.height; width = sheet->column[child->col].width; height = sheet->row[child->row].height; */ gtk_sheet_get_cell_area(sheet, child->row, child->col, &area); child->x = area.x + child->xpadding; child->y = area.y + child->ypadding; if(!child->floating){ if(child_requisition.width + 2*child->xpadding <= sheet->column[child->col].width){ if(child->xfill){ child_requisition.width = child_allocation.width = sheet->column[child->col].width - 2*child->xpadding; } else { if(child->xexpand){ child->x = area.x + sheet->column[child->col].width / 2 - child_requisition.width / 2; } child_allocation.width = child_requisition.width; } } else { if(!child->xshrink){ gtk_sheet_set_column_width(sheet, child->col, child_requisition.width + 2 * child->xpadding); } child_allocation.width = sheet->column[child->col].width - 2*child->xpadding; } if(child_requisition.height + 2*child->ypadding <= sheet->row[child->row].height){ if(child->yfill){ child_requisition.height = child_allocation.height = sheet->row[child->row].height - 2*child->ypadding; } else { if(child->yexpand){ child->y = area.y + sheet->row[child->row].height / 2 - child_requisition.height / 2; } child_allocation.height = child_requisition.height; } } else { if(!child->yshrink){ gtk_sheet_set_row_height(sheet, child->row, child_requisition.height + 2 * child->ypadding); } child_allocation.height = sheet->row[child->row].height - 2*child->ypadding; } } else { child_allocation.width = child_requisition.width; child_allocation.height = child_requisition.height; } x = child_allocation.x = child->x + xoffset; y = child_allocation.y = child->y + yoffset; } else { x = child_allocation.x = child->x + sheet->hoffset + xoffset; x = child_allocation.x = child->x + xoffset; y = child_allocation.y = child->y + sheet->voffset + yoffset; y = child_allocation.y = child->y + yoffset; child_allocation.width = child_requisition.width; child_allocation.height = child_requisition.height; } gtk_widget_size_allocate(child->widget, &child_allocation); gtk_widget_queue_draw(child->widget); } static void gtk_sheet_forall (GtkContainer *container, gboolean include_internals, GtkCallback callback, gpointer callback_data) { GtkSheet *sheet; GtkSheetChild *child; GList *children; g_return_if_fail (GTK_IS_SHEET (container)); g_return_if_fail (callback != NULL); sheet = GTK_SHEET (container); children = sheet->children; while (children) { child = children->data; children = g_list_next(children); (* callback) (child->widget, callback_data); } if(sheet->button) (* callback) (sheet->button, callback_data); if(sheet->sheet_entry) (* callback) (sheet->sheet_entry, callback_data); } static void gtk_sheet_position_children(GtkSheet *sheet) { GList *children; GtkSheetChild *child; children = sheet->children; while(children) { child = (GtkSheetChild *)children->data; if(child->col !=-1 && child->row != -1) gtk_sheet_position_child(sheet, child); if(child->row == -1){ if(child->col < MIN_VISIBLE_COLUMN(sheet) || child->col > MAX_VISIBLE_COLUMN(sheet)) gtk_sheet_child_hide(child); else gtk_sheet_child_show(child); } if(child->col == -1){ if(child->row < MIN_VISIBLE_ROW(sheet) || child->row > MAX_VISIBLE_ROW(sheet)) gtk_sheet_child_hide(child); else gtk_sheet_child_show(child); } children = g_list_next(children); } } static void gtk_sheet_remove (GtkContainer *container, GtkWidget *widget) { GtkSheet *sheet; GList *children; GtkSheetChild *child = 0; g_return_if_fail(container != NULL); g_return_if_fail(GTK_IS_SHEET(container)); sheet = GTK_SHEET(container); children = sheet->children; while(children) { child = (GtkSheetChild *)children->data; if(child->widget == widget) break; children = g_list_next(children); } if (children) { if(child->row == -1) sheet->row[child->col].button.child = NULL; if(child->col == -1) sheet->column[child->row].button.child = NULL; gtk_widget_unparent (widget); child->widget = NULL; sheet->children = g_list_remove_link (sheet->children, children); g_list_free_1 (children); g_free(child); } } static void gtk_sheet_realize_child(GtkSheet *sheet, GtkSheetChild *child) { GtkWidget *widget; widget = GTK_WIDGET(sheet); if(GTK_WIDGET_REALIZED(widget)){ if(child->row == -1) gtk_widget_set_parent_window(child->widget, sheet->column_title_window); else if(child->col == -1) gtk_widget_set_parent_window(child->widget, sheet->row_title_window); else gtk_widget_set_parent_window(child->widget, sheet->sheet_window); } gtk_widget_set_parent(child->widget, widget); } GtkSheetChild * gtk_sheet_get_child_at(GtkSheet *sheet, gint row, gint col) { GList *children; GtkSheetChild *child = 0; g_return_val_if_fail(sheet != NULL, NULL); g_return_val_if_fail(GTK_IS_SHEET(sheet), NULL); children = sheet->children; while(children) { child = (GtkSheetChild *)children->data; if(child->attached_to_cell) if(child->row == row && child->col == col) break; children = g_list_next(children); } if(children) return child; return NULL; } static void gtk_sheet_child_hide(GtkSheetChild *child) { g_return_if_fail(child != NULL); gtk_widget_hide(child->widget); } static void gtk_sheet_child_show(GtkSheetChild *child) { g_return_if_fail(child != NULL); gtk_widget_show(child->widget); } geda-gaf-1.8.2/gattrib/src/s_object.c0000664000175000017500000003430712220647257014275 00000000000000/* gEDA - GPL Electronic Design Automation * gattrib -- gEDA component and net attribute manipulation using spreadsheet. * Copyright (C) 2003-2010 Stuart D. Brorson. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*------------------------------------------------------------------*/ /*! \file * \brief Functions for manipulating OBJECTs. * * This file holds functions involved in manipulating the OBJECT data * structure. OBJECT is defined in libgeda. An OBJECT is a graphical * primitive normally used in gschem. Example OBJECTs: some text, * a component (complex), a pin, a line, etc. * * The functions herein are functions which I wrote as wrappers to the * fcns in libgeda. */ #include #include #ifdef HAVE_STRING_H #include #endif #include /*------------------------------------------------------------------ * Gattrib specific includes *------------------------------------------------------------------*/ #include /* geda library fcns */ #include "../include/struct.h" /* typdef and struct declarations */ #include "../include/prototype.h" /* function prototypes */ #include "../include/globals.h" #ifdef HAVE_LIBDMALLOC #include #endif /*------------------------------------------------------------------ * Gattrib specific defines *------------------------------------------------------------------*/ #define DEFAULT_TEXT_SIZE 10 /* =================== Public Functions ====================== */ /*------------------------------------------------------------------*/ /*! \brief Add an attribute to an OBJECT * * This fcn adds a new attrib to o_current, when o_current is a * component. It does it in the following * way: * -# It creates an object -- "attrib_graphic" -- and fills it in. * -# It gets the position info from o_current's refdes attrib and * calls o_text_new() to add position info and name=value string * to attrib_graphic. * -# It calls o_attrib_add() to wrap attrib_graphic with (attribute OBJECT ) * \param toplevel TOPLEVEL structure * \param o_current pointer to object to add attribute to * \param new_attrib_name name of the attribute to add * \param new_attrib_value value of the attribute to add * \param visibility Is the attribute visible? * \param show_name_value Control visibility of name and value. */ void s_object_add_comp_attrib_to_object (TOPLEVEL *toplevel, OBJECT *o_current, char *new_attrib_name, char *new_attrib_value, gint visibility, gint show_name_value) { char *name_value_pair; /* One last sanity check, then add attrib */ if (strlen(new_attrib_value) != 0) { name_value_pair = g_strconcat(new_attrib_name, "=", new_attrib_value, NULL); s_object_attrib_add_attrib_in_object (toplevel, name_value_pair, visibility, show_name_value, o_current); } return; } /*------------------------------------------------------------------*/ /*! * \todo This needs to be filled in. */ void s_object_add_net_attrib_to_object (TOPLEVEL *toplevel, OBJECT *o_current, char *new_attrib_name, char *new_attrib_value) { /* TBD */ } /*------------------------------------------------------------------*/ /*! \brief Add a new attribute to an pin OBJECT * * Add a new attribute to o_current, when o_current is a * pin. It does it in the following * way: * -# It creates an object -- "attrib_graphic" -- and fills it in. * -# It gets the position info from o_current's refdes attrib and * calls o_text_new() to add position info and name=value string * to attrib_graphic. * -# It calls o_attrib_add() to wrap attrib_graphic with (attribute OBJECT ) * \param toplevel TOPLEVEL structure * \param o_current Pointer to pin object * \param new_attrib_name Name of attribute to add * \parma new_attrib_value Value of attribute to add * \todo Do I really need separate fcns for comps, nets, and * pins??? */ void s_object_add_pin_attrib_to_object (TOPLEVEL *toplevel, OBJECT *o_current, char *new_attrib_name, char *new_attrib_value) { char *name_value_pair; /* One last sanity check */ if (strlen(new_attrib_value) != 0) { name_value_pair = g_strconcat(new_attrib_name, "=", new_attrib_value, NULL); s_object_attrib_add_attrib_in_object (toplevel, name_value_pair, INVISIBLE, SHOW_NAME_VALUE, o_current); } return; } /*------------------------------------------------------------------*/ /*! \brief Replace attribute value in object * * Find the instance of attrib_name on o_current, and * replace its value with the new_attrib_value. * \param toplevel TOPLEVEL object * \param o_current object to operate on * \param new_attrib_name name of attribute to replace * \param new_attrib_value value to set attribute to * \param visibility set visibility of attribute * \param show_name_value set visibility of attribute name and value */ void s_object_replace_attrib_in_object(TOPLEVEL *toplevel, OBJECT *o_current, char *new_attrib_name, char *new_attrib_value, gint visibility, gint show_name_value) { GList *a_iter; OBJECT *a_current; char *old_attrib_text; char *old_attrib_name; char *new_attrib_text; a_iter = o_current->attribs; while (a_iter != NULL) { a_current = a_iter->data; if (a_current->type == OBJ_TEXT && a_current->text != NULL) { /* found an attribute */ /* may need to check more thoroughly here. . . . */ old_attrib_text = g_strdup(a_current->text->string); old_attrib_name = u_basic_breakup_string(old_attrib_text, '=', 0); if (strcmp(old_attrib_name, new_attrib_name) == 0) { /* create attrib=value text string & stuff it back into toplevel */ new_attrib_text = g_strconcat(new_attrib_name, "=", new_attrib_value, NULL); g_free(a_current->text->string); /* remove old attrib string */ a_current->text->string = g_strdup(new_attrib_text); /* insert new attrib string */ if (visibility != LEAVE_VISIBILITY_ALONE) o_set_visibility (toplevel, a_current, visibility); if (show_name_value != LEAVE_NAME_VALUE_ALONE) a_current->show_name_value = show_name_value; g_free(new_attrib_text); g_free(old_attrib_text); g_free(old_attrib_name); return; /* we are done -- leave. */ } else { g_free(old_attrib_text); g_free(old_attrib_name); } /* if (strcmp . . . . */ } /* if (a_current . . . . */ a_iter = g_list_next (a_iter); } /* while */ /* if we get here, it's because we have failed to find the attrib on the component. * This is an error condition. */ fprintf(stderr, "In s_object_replace_attrib_in_object, we have failed to find the attrib %s on the component. Exiting . . .\n", new_attrib_name); exit(-1); } /*------------------------------------------------------------------*/ /*! * \brief Remove attribute from object * * Remove an attribute from an object. * \param toplevel TOPLEVEL structure * \param o_current Object to remove attribute from * \param new_attrib_name Name of attribute to remove */ void s_object_remove_attrib_in_object (TOPLEVEL *toplevel, OBJECT *o_current, char *new_attrib_name) { GList *a_iter; OBJECT *a_current; OBJECT *attribute_object; char *old_attrib_text; char *old_attrib_name; a_iter = o_current->attribs; while (a_iter != NULL) { a_current = a_iter->data; if (a_current->type == OBJ_TEXT && a_current->text != NULL) { /* found an attribute */ /* may need to check more thoroughly here. . . . */ old_attrib_text = g_strdup(a_current->text->string); old_attrib_name = u_basic_breakup_string(old_attrib_text, '=', 0); if (strcmp(old_attrib_name, new_attrib_name) == 0) { /* We've found the attrib. Delete it and then return. */ #ifdef DEBUG printf("In s_object_remove_attrib_in_object, removing attrib with name = %s\n", old_attrib_name); #endif attribute_object = a_current; s_object_delete_text_object_in_object (toplevel, attribute_object); g_free(old_attrib_text); g_free(old_attrib_name); return; /* we are done -- leave. */ } g_free(old_attrib_text); g_free(old_attrib_name); } a_iter = g_list_next (a_iter); } /* if we get here, it's because we have failed to find the attrib on the component. * This is an error condition. */ fprintf(stderr, "In s_object_remove_attrib_in_object, we have failed to find the attrib %s on the component. Exiting . . .\n", new_attrib_name); exit(-1); } /*------------------------------------------------------------------*/ /*! \brief Attach attribute to object. * * Attach the name=value pair to the OBJECT "object". This function * was stolen from gschem/src/o_attrib.c:o_attrib_add_attrib and * hacked for gattrib. * \param toplevel TOPLEVEL to operate on * \param text_string * \param visibility * \param show_name_value * \param object * \returns pointer to the object * \todo Does it need to return OBJECT? */ OBJECT * s_object_attrib_add_attrib_in_object (TOPLEVEL *toplevel, char *text_string, int visibility, int show_name_value, OBJECT * object) { int world_x = -1, world_y = -1; int color; int left, right, top, bottom; OBJECT *o_current; OBJECT *new_obj; color = DETACHED_ATTRIBUTE_COLOR; o_current = object; /* creating a toplevel or unattached attribute */ if (o_current) { /* get coordinates of where to place the text object */ switch (o_current->type) { case (OBJ_COMPLEX): world_x = o_current->complex->x; world_y = o_current->complex->y; color = ATTRIBUTE_COLOR; break; case (OBJ_NET): world_x = o_current->complex->x; world_y = o_current->complex->y; color = ATTRIBUTE_COLOR; break; default: fprintf(stderr, "In s_object_attrib_add_attrib_in_object, trying to add attrib to non-complex or non-net!\n"); exit(-1); } } else { /* This must be a floating attrib, but what is that !?!?!?!?! */ world_get_object_glist_bounds (toplevel, s_page_objects (toplevel->page_current), &left, &top, &right, &bottom); /* this really is the lower left hand corner */ world_x = left; world_y = top; /* printf("%d %d\n", world_x, world_y); */ color = DETACHED_ATTRIBUTE_COLOR; } /* first create text item */ #if DEBUG printf("=== In s_object_attrib_add_attrib_in_object, about to attach new text attrib with properties:\n"); printf(" color = %d\n", color); printf(" text_string = %s \n", text_string); printf(" text_size = %d \n", toplevel->text_size); printf(" visibility = %d \n", visibility); printf(" show_name_value = %d \n", show_name_value); #endif new_obj = o_text_new (toplevel, OBJ_TEXT, color, world_x, world_y, LOWER_LEFT, 0, /* zero is angle */ text_string, DEFAULT_TEXT_SIZE, visibility, show_name_value); s_page_append (toplevel, toplevel->page_current, new_obj); /* now toplevel->page_current->object_tail contains new text item */ /* now attach the attribute to the object (if o_current is not NULL) */ /* remember that o_current contains the object to get the attribute */ if (o_current) { o_attrib_attach (toplevel, new_obj, o_current, FALSE); } o_selection_add (toplevel, toplevel->page_current->selection_list, new_obj); toplevel->page_current->CHANGED = 1; return new_obj; } /*------------------------------------------------------------------*/ /*! \brief Delete text object * * Delete the text object pointed to by text_object. This function * was shamelessly stolen from gschem/src/o_delete.c and hacked * for gattrib by SDB. * \param toplevel TOPLEVEL to be operated on * \param test_object text object to be deleted */ void s_object_delete_text_object_in_object (TOPLEVEL *toplevel, OBJECT * text_object) { s_page_remove (toplevel, toplevel->page_current, text_object); s_delete_object (toplevel, text_object); toplevel->page_current->CHANGED = 1; } /*------------------------------------------------------------------*/ /*! \brief Ensure object has a symbol file * * This verifies that the object has a non-null symbol file. * * \returns 0 = valid symbol file, 1 = no symbol file found. */ int s_object_has_sym_file(OBJECT *object) { char *filename; filename = object->complex_basename; if (filename != NULL) { #ifdef DEBUG printf("In s_object_has_sym_file, object has sym file = %s.\n", filename); #endif return 0; } else { #ifdef DEBUG printf("In s_object_has_sym_file, found object with no attached symbol file.\n"); #endif return 1; } } geda-gaf-1.8.2/gattrib/src/listsort.c0000664000175000017500000001534512204177070014362 00000000000000 /*----------------------------------------------------------------*/ /*! \file * Linked list sorting code taken from * http://www.chiark.greenend.org.uk/~sgtatham/algorithms/listsort.html * and hacked to serve in gattrib by SDB. * */ /* * Demonstration code for sorting a linked list. * * The algorithm used is Mergesort, because that works really well * on linked lists, without requiring the O(N) extra space it needs * when you do it on arrays. * * This code can handle singly and doubly linked lists, and * circular and linear lists too. For any serious application, * you'll probably want to remove the conditionals on `is_circular' * and `is_double' to adapt the code to your own purpose. * */ /* * This file is copyright 2001 Simon Tatham. * * Permission is hereby granted, free of charge, to any person * obtaining a copy of this software and associated documentation * files (the "Software"), to deal in the Software without * restriction, including without limitation the rights to use, * copy, modify, merge, publish, distribute, sublicense, and/or * sell copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following * conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL SIMON TATHAM BE LIABLE FOR * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ /* --- We don't need these 'cause they are already defined elsewhere --- * #define FALSE 0 * #define TRUE 1 */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include #include #ifdef HAVE_STRING_H #include #endif /*------------------------------------------------------------------ * Gattrib specific includes *------------------------------------------------------------------*/ #include /* geda library fcns */ #include "../include/struct.h" /* typdef and struct declarations */ #include "../include/prototype.h" /* function prototypes */ #include "../include/globals.h" #ifdef HAVE_LIBDMALLOC #include #endif /*----------------------------------------------------------------*/ /*! \brief Compare values of string data * * Comparison function -- compare values of string data. * \param al pointer to first STRING_LIST item to be compared * \param bl pointer to second STRING_LIST item to be compared * \returns +ve if al > bl, -ve if al < bl, 0 if al = bl */ /*----------------------------------------------------------------*/ int cmp(STRING_LIST *al, STRING_LIST *bl) { char *a = al->data; char *b = bl->data; if (al->pos != bl->pos) return al->pos - bl->pos; while (*a && *b) { if (isdigit ((int) *a) && isdigit ((int) *b)) { int ia = atoi (a); int ib = atoi (b); if (ia != ib) return ia - ib; while (isdigit ((int) *a)) a++; while (isdigit ((int) *b)) b++; } else if (tolower ((int) *a) != tolower ((int) *b)) return tolower ((int) *a) - tolower ((int) *b); a++; b++; } if (*a) return 1; if (*b) return -1; return 0; } /*----------------------------------------------------------------*/ /*! \brief Sort the linked list * * This is the actual sort function. Notice that it returns the new * head of the list. (It has to, because the head will not * generally be the same element after the sort.) So unlike sorting * an array, where you can do * * - sort(myarray); * * you now have to do * * - list = listsort(mylist); * * \param list The linked STRING_LIST to be sorted * \param is_circular TRUE if this is a circularly linked list * \param is_double TRUE if this is a doubly-linked list * \returns a pointer to the new head of the list */ /*----------------------------------------------------------------*/ STRING_LIST *listsort(STRING_LIST *list, int is_circular, int is_double) { STRING_LIST *p, *q, *e, *tail, *oldhead; int insize, nmerges, psize, qsize, i; /* * Silly special case: if `list' was passed in as NULL, return * NULL immediately. */ if (!list) return NULL; insize = 1; while (1) { p = list; oldhead = list; /* only used for circular linkage */ list = NULL; tail = NULL; nmerges = 0; /* count number of merges we do in this pass */ while (p) { nmerges++; /* there exists a merge to be done */ /* step `insize' places along from p */ q = p; psize = 0; for (i = 0; i < insize; i++) { psize++; if (is_circular) q = (q->next == oldhead ? NULL : q->next); else q = q->next; if (!q) break; } /* if q hasn't fallen off end, we have two lists to merge */ qsize = insize; /* now we have two lists; merge them */ while (psize > 0 || (qsize > 0 && q)) { /* decide whether next element of merge comes from p or q */ if (psize == 0) { /* p is empty; e must come from q. */ e = q; q = q->next; qsize--; if (is_circular && q == oldhead) q = NULL; } else if (qsize == 0 || !q) { /* q is empty; e must come from p. */ e = p; p = p->next; psize--; if (is_circular && p == oldhead) p = NULL; } else if (cmp(p,q) <= 0) { /* First element of p is lower (or same); * e must come from p. */ e = p; p = p->next; psize--; if (is_circular && p == oldhead) p = NULL; } else { /* First element of q is lower; e must come from q. */ e = q; q = q->next; qsize--; if (is_circular && q == oldhead) q = NULL; } /* add the next element to the merged list */ if (tail) { tail->next = e; } else { list = e; } if (is_double) { /* Maintain reverse pointers in a doubly linked list. */ e->prev = tail; } tail = e; } /* now p has stepped `insize' places along, and q has too */ p = q; } if (is_circular) { tail->next = list; if (is_double) list->prev = tail; } else tail->next = NULL; /* If we have done only one merge, we're finished. */ if (nmerges <= 1) /* allow for nmerges==0, the empty list case */ return list; /* Otherwise repeat, merging lists twice the size */ insize *= 2; } } geda-gaf-1.8.2/gattrib/src/f_export.c0000664000175000017500000001354212220647257014331 00000000000000/* gEDA - GPL Electronic Design Automation * gattrib -- gEDA component and net attribute manipulation using spreadsheet. * Copyright (C) 2003-2010 Stuart D. Brorson. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! \file * \brief Import/export functions * * This file holds fcns used for import/export of attribute sheets. * At the moment, this is only component sheets. */ #include #include #ifdef HAVE_STRING_H #include #endif #include /*------------------------------------------------------------------ * Gattrib specific includes *------------------------------------------------------------------*/ #include /* geda library fcns */ #include "../include/struct.h" /* typdef and struct declarations */ #include "../include/prototype.h" /* function prototypes */ #include "../include/globals.h" #ifdef HAVE_LIBDMALLOC #include #endif /* =================== Public Functions ====================== */ /* ------------------------------------------------------------- */ /* \brief Export components to CSV * * This function is invoked when the user selects file -> * export from the pull-down menu. It writes out a CSV file * of the design for external processing. * * \param filename The name of the file to export to */ void f_export_components(gchar *filename) { gint cur_page; gint num_rows; gint num_cols; gint i,j; gchar *text; FILE *fp; /* ----- Check that we have a component ----- */ cur_page = gtk_notebook_get_current_page(GTK_NOTEBOOK(notebook)); if (cur_page != 0) { /* We only export the component table */ /* XXXXX Maybe throw up error message in window instead? */ x_dialog_unimplemented_feature(); return; } /* ----- First try to open file for writing ----- */ #ifdef DEBUG printf("In f_export_components, trying to open %s.\n", filename); #endif fp = fopen(filename, "wb"); if (fp == NULL) { s_log_message("o_save: Could not open [%s]\n", filename); /* XXXXX Throw up error message in window */ return; } /* ----- Now write out data ----- */ num_rows = sheet_head->comp_count; num_cols = sheet_head->comp_attrib_count; /* First export top row -- attribute names */ /* Print out "refdes" since that's always the first column */ fprintf(fp, "refdes, "); /* Print out optional attrib names */ for (j = 0; j < num_cols-1; j++) { text = g_strdup( s_string_list_get_data_at_index( sheet_head->master_comp_attrib_list_head, j) ); fprintf(fp, "%s, ", text); g_free(text); } /* Print out last attrib name with no comma and with \n. */ text = g_strdup( s_string_list_get_data_at_index( sheet_head->master_comp_attrib_list_head, j) ); fprintf(fp, "%s\n", text); g_free(text); /* Now export the contents of the sheet */ for (i = 0; i < num_rows; i++) { /* First output the component refdes */ text = g_strdup( s_string_list_get_data_at_index( sheet_head->master_comp_list_head, i) ); #ifdef DEBUG printf("In f_export_components, getting refes, i = %d.\n", i); printf("In f_export_components, output component refdes %s.\n", text); #endif fprintf(fp, "%s, ",text); g_free(text); /* Now export the attrib values for first n-1 cols */ for (j = 0; j < num_cols-1; j++) { if ( (sheet_head->component_table)[i][j].attrib_value ) { /* found a string */ /* make a copy of the text, escaping any special chars, like " */ text = (gchar *) g_strescape( (sheet_head->component_table)[i][j].attrib_value, "" ); #ifdef DEBUG printf("In f_export_components, output attribute %s.\n", text); #endif /* if there's a comma anywhere in the field, wrap the field in " */ gboolean havecomma = ( g_strstr_len(text, -1, ",") != NULL ); if(havecomma) fprintf(fp, "\""); fprintf(fp, "%s", text); if(havecomma) fprintf(fp, "\""); fprintf(fp, ", "); g_free(text); } else { /* no attrib string */ #ifdef DEBUG printf("In f_export_components, output blank attrib space\n"); #endif fprintf(fp, ", "); } } /* end of for over cols */ /* Now export attrib value for last col (with no "," and with "\n" */ if ( (sheet_head->component_table)[i][j].attrib_value ) { /* found a string */ /* make a copy of the text, escaping any special chars, like " */ text = (gchar *) g_strescape( (sheet_head->component_table)[i][j].attrib_value, "" ); #ifdef DEBUG printf("In f_export_components, output final attribute %s.\n", text); #endif /* if there's a comma anywhere in the field, wrap the field in " */ gboolean havecomma = ( g_strstr_len(text, -1, ",") != NULL ); if(havecomma) fprintf(fp, "\""); fprintf(fp, "%s", text); if(havecomma) fprintf(fp, "\""); fprintf(fp, "\n"); g_free(text); } else { /* no attrib string */ #ifdef DEBUG printf("In f_export_components, output blank at end of line.\n"); #endif fprintf(fp, "\n"); } #ifdef DEBUG printf("In f_export_components, Go to next row.\n"); #endif } /* close of for over rows */ fclose(fp); return; } geda-gaf-1.8.2/gattrib/src/i_basic.c0000664000175000017500000000417412204177070014066 00000000000000/* gEDA - GPL Electronic Design Automation * gattrib - gEDA gEDA component and net attribute manipulation using spreadsheet. * Copyright (C) 1998-2010 Ales V. Hvezda * Copyright (C) 2003-2010 Stuart D. Brorson. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! \file * * \todo Unused function in here, i_update_status(). File is a candidate * for removal? */ #include #ifdef HAVE_STRING_H #include #endif /*------------------------------------------------------------------ * Gattrib specific includes. Note that include order is important. *------------------------------------------------------------------*/ #include /* geda library fcns */ #include "../include/struct.h" /* typdef and struct declarations */ #include "../include/prototype.h" /* function prototypes */ #include "../include/globals.h" /* --- This is necessary for i_basic.c --- */ #include "../include/x_states.h" #ifdef HAVE_LIBDMALLOC #include #endif /* ------------------------------------------------------------- * * * ------------------------------------------------------------- */ #if 0 /* not used, but leaving it here in case we need it later */ static void i_update_status(TOPLEVEL *toplevel, const char *string) { if (!toplevel->status_label) { return; } if (string) { /* NOTE: consider optimizing this if same label */ gtk_label_set(GTK_LABEL(toplevel->status_label), (char *) string); } } #endif geda-gaf-1.8.2/gattrib/src/g_register.c0000664000175000017500000000511212204177070014620 00000000000000/* gEDA - GPL Electronic Design Automation * gattrib -- gEDA component and net attribute manipulation using spreadsheet. * Copyright (C) 2003-2010 Stuart D. Brorson. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! \file * \brief Functions to register Scheme functions * * Functions to register Scheme functions */ #include #include #include #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_ASSERT_H #include #endif #ifdef HAVE_UNISTD_H #include #endif /*------------------------------------------------------------------ * Gattrib specific includes *------------------------------------------------------------------*/ #include /* geda library fcns */ #include "../include/struct.h" /* typdef and struct declarations */ #include "../include/prototype.h" /* function prototypes */ #include "../include/globals.h" #include "../include/i_vars.h" #ifdef HAVE_LIBDMALLOC #include #endif /* GtkWidget *w_main; */ /* ---------------------------------------------------------------------- */ /*! \brief Register Scheme functions * * This function registers the Scheme functions required to use * gattrib. They are mostly unnecessary, except for reading in the gattribrc * file at the beginning of the prog which gives the library search paths. */ void g_register_funcs(void) { /* general functions */ scm_c_define_gsubr ("quit", 0, 0, 0, g_quit); scm_c_define_gsubr ("exit", 0, 0, 0, g_quit); /* gattrib functions */ scm_c_define_gsubr ("gattrib-version", 1, 0, 0, g_rc_gattrib_version); } /*! \brief Scheme function to quit the application * * Quit the application from within Scheme. */ SCM g_quit(void) { #ifdef DEBUG printf("In g_quit, calling exit(0)\n"); #endif gattrib_quit(0); /* exit(0); */ /* Necessary? */ /* we don't really get here, but otherwise gcc complains */ return SCM_BOOL_F; } geda-gaf-1.8.2/gattrib/src/Makefile.am0000664000175000017500000000217412204177070014363 00000000000000## Process this file with automake to produce Makefile.in ## This Makefile.am created for gattrib by SDB 12.13.2003 bin_PROGRAMS = gattrib ## don't forget all *.h files */ gattrib_SOURCES = \ gtksheet_2_2.c \ gtkextra-marshal.c \ globals.c \ listsort.c \ parsecmd.c \ f_export.c \ g_register.c \ g_rc.c \ i_vars.c \ i_basic.c \ x_window.c \ x_gtksheet.c \ x_dialog.c \ x_fileselect.c \ s_rename.c \ s_misc.c \ s_string_list.c \ s_sheet_data.c \ s_table.c \ s_object.c \ s_attrib.c \ s_toplevel.c \ s_visibility.c \ gattrib.c gattrib_CPPFLAGS = -I$(top_srcdir)/libgeda/include \ -I$(srcdir)/../include -I$(top_srcdir) -I$(includedir) gattrib_CFLAGS = $(GCC_CFLAGS) $(GLIB_CFLAGS) \ $(MINGW_CFLAGS) \ $(GTK_CFLAGS) $(GTHREAD_CFLAGS) $(GUILE_CFLAGS) gattrib_LDFLAGS = $(GLIB_LIBS) $(GTK_LIBS) $(GTHREAD_LIBS) \ $(GUILE_LIBS) $(MINGW_GUI_LDFLAGS) gattrib_LDADD = $(top_builddir)/libgeda/src/libgeda.la MOSTLYCLEANFILES = *.log *.ps core FILE *~ #*# CLEANFILES = *.log *.ps core FILE *~ #*# DISTCLEANFILES = *.log core FILE *~ #*# MAINTAINERCLEANFILES = *.log *.ps core FILE *~ Makefile.in #*# geda-gaf-1.8.2/gattrib/src/i_vars.c0000664000175000017500000000464712220647257013774 00000000000000/* gEDA - GPL Electronic Design Automation * gattrib -- gEDA component and net attribute manipulation using spreadsheet. * Copyright (C) 2003-2010 Stuart D. Brorson. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! \file * \brief Functions for variable setting. * * Functions for variable setting. */ #include #include #ifdef HAVE_STRING_H #include #endif /*------------------------------------------------------------------ * Gattrib specific includes. Note that include order is important. *------------------------------------------------------------------*/ #include /* geda library fcns */ #include "../include/struct.h" /* typdef and struct declarations */ #include "../include/prototype.h" /* function prototypes */ #include "../include/globals.h" #include "../include/i_vars.h" #ifdef HAVE_LIBDMALLOC #include #endif /*------------------------------------------------------------------*/ /* * Define the vars we'll use later *------------------------------------------------------------------*/ int default_paper_width = 11000; /*!< width for letter paper (landscape) * \todo Can this be const? */ int default_paper_height = 85000;/*!< height for letter paper (landscape) * \todo Can this be const? */ /*------------------------------------------------------------------*/ /*! \brief Initialise variables in the TOPLEVEL * * Initialize the variables in toplevel. In practice, this is only * the paper size for the sheet. * \param toplevel pointer to the TOPLEVEL to set paper size in. */ void i_vars_set (TOPLEVEL *toplevel) { i_vars_libgeda_set (toplevel); toplevel->paper_width = default_paper_width; toplevel->paper_height = default_paper_height; } geda-gaf-1.8.2/gattrib/src/s_toplevel.c0000664000175000017500000011134012220647257014652 00000000000000/* gEDA - GPL Electronic Design Automation * gattrib -- gEDA component and net attribute manipulation using spreadsheet. * Copyright (C) 2003-2010 Stuart D. Brorson. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*------------------------------------------------------------------*/ /*! \file * \brief Functions to manipulate the TOPLEVEL struct. * * This file holds functions involved in manipulating the TOPLEVEL data * structure. TOPLEVEL is the data structure inherited from gEDA's * other programs, and holds all info about a project in a form * native to gEDA. */ #include #include #ifdef HAVE_STRING_H #include #endif #include /*------------------------------------------------------------------ * Gattrib specific includes *------------------------------------------------------------------*/ #include /* geda library functions */ #include "../include/struct.h" /* typdef and struct declarations */ #include "../include/prototype.h" /* function prototypes */ #include "../include/globals.h" #ifdef HAVE_LIBDMALLOC #include #endif /* =================== Public Functions ====================== */ /*! \brief Read a schematic page * * Reads in a schematic page & calls f_open, which fills out the * toplevel structure. * * \param toplevel TOPLEVEL structure * \param filename file to be opened * \returns 1 on success, 0 on failure */ int s_toplevel_read_page(TOPLEVEL *toplevel, char *filename) { int file_return_code; GError *err = NULL; /* Set the new filename */ toplevel->page_current->page_filename = g_strdup(filename); /* read in and fill out toplevel using f_open and its callees */ file_return_code = f_open (toplevel, toplevel->page_current, filename, &err); /* If an error occurred, print message */ if (err != NULL) { g_warning ("%s", err->message); g_error_free (err); } return file_return_code; } /*! \brief Verify the entire design * * This function loops through all components in the * design looking for components which are placeholders. * * Placeholders are inserted into the object list when * no symbol file is found. If this function finds a * placeholder, it warns the user. * * \param toplevel pointer to the toplevel object to be verified */ void s_toplevel_verify_design (TOPLEVEL *toplevel) { GList *p_iter; const GList *o_iter; int missing_sym_flag = 0; for (p_iter = geda_list_get_glist (toplevel->pages); p_iter != NULL; p_iter = g_list_next (p_iter)) { PAGE *p_current = p_iter->data; for (o_iter = s_page_objects (p_current); o_iter != NULL; o_iter = g_list_next (o_iter)) { OBJECT *o_current = o_iter->data; /* --- look for object, and verify that it has a symbol file attached. ---- */ if (o_current->type == OBJ_PLACEHOLDER) { missing_sym_flag = 1; /* flag to signal that problem exists. */ } } } if (missing_sym_flag) { x_dialog_missing_sym(); /* dialog gives user option to quit */ } } /*------------------------------------------------------------------*/ /*! \brief Copy data from gtksheet into TOPLEVEL struct * * Called when the user invokes "save". It first * places all data from gtksheet into SHEET_DATA. Then it * loops through all pages & calls s_toplevel_sheetdata_to_toplevel() * to place all * stuff in SHEET_DATA into the libgeda TOPLEVEL structure. */ void s_toplevel_gtksheet_to_toplevel(TOPLEVEL *toplevel) { GList *iter; PAGE *p_current; #if DEBUG printf("--------------------- Entering s_toplevel_gtksheet_to_toplevel -------------------\n"); #endif s_sheet_data_gtksheet_to_sheetdata(); /* read data from gtksheet into SHEET_DATA */ #if DEBUG printf("In s_toplevel_gtksheet_to_toplevel -- done writing stuff from gtksheet into SHEET_DATA.\n"); #endif /* must iterate over all pages in design */ for ( iter = geda_list_get_glist( toplevel->pages ); iter != NULL; iter = g_list_next( iter ) ) { p_current = (PAGE *)iter->data; toplevel->page_current = p_current; /* only traverse pages which are toplevel */ if (p_current->page_control == 0) { s_toplevel_sheetdata_to_toplevel (toplevel, p_current); /* adds all objects from page */ } } #if DEBUG printf("In s_toplevel_gtksheet_to_toplevel -- done writing SHEEET_DATA text back into pr_currnet.\n"); #endif return; } /*------------------------------------------------------------------*/ /*! \brief Add a new attribute to the top level * * This function gets called when the user has entered a new attrib name, * and clicked the OK button. It does this: * -# It figures out which attrib/sheet is being added to * -# It destroys the old table in preparation for the new attrib. * -# It adds the new attrib to the master lists. * -# It creates a new table with the new attrib. * -# It then adds the appropriate col to the gtksheet. * \param new_attrib_name attribute to be added */ void s_toplevel_add_new_attrib(gchar *new_attrib_name) { gint cur_page; /* current page in notbook */ gint old_comp_attrib_count; gint new_index; if (strcmp(new_attrib_name, "_cancel") == 0) { return; /* user pressed cancel or closed window with no value in entry */ } /* Next must figure out which sheet the attrib belongs to. */ cur_page = gtk_notebook_get_current_page(GTK_NOTEBOOK(notebook)); #ifdef DEBUG printf("In s_toplevel_add_new_attrib, adding new attrib to page %d.\n", cur_page); #endif switch (cur_page) { case 0: /* component attribute */ /* Eventually, I want to just resize the table to accomodate the * new attrib. However, that is difficult. Therefore, I will just * destroy the old table and recreate it for now. */ /* s_table_destroy(sheet_head->component_table, sheet_head->comp_count, sheet_head->comp_attrib_count); */ old_comp_attrib_count = sheet_head->comp_attrib_count; #ifdef DEBUG printf("In s_toplevel_add_new_attrib, before adding new comp attrib.\n"); printf(" comp_attrib_count = %d\n", old_comp_attrib_count); #endif s_string_list_add_item(sheet_head->master_comp_attrib_list_head, &(sheet_head->comp_attrib_count), new_attrib_name); s_string_list_sort_master_comp_attrib_list(); /* Now, determine what index the new attrib ended up at * This is necessary to tell gtk_sheet_insert_columns * where the data should be shifted */ new_index = s_string_list_find_in_list(sheet_head->master_comp_attrib_list_head, (char*)new_attrib_name); #ifdef DEBUG printf("In s_toplevel_add_new_attrib, just updated comp_attrib string list.\n"); printf(" new comp_attrib_count = %d\n", sheet_head->comp_attrib_count); #endif /* Now create new table */ /* sheet_head->component_table = s_table_new(sheet_head->comp_count, sheet_head->comp_attrib_count); */ /* resize table to accomodate new attrib col */ sheet_head->component_table = s_table_resize(sheet_head->component_table, sheet_head->comp_count, old_comp_attrib_count, sheet_head->comp_attrib_count); #ifdef DEBUG printf("In s_toplevel_add_new_attrib, just resized component table.\n"); #endif /* Fill out new sheet with new stuff from gtksheet */ gtk_sheet_insert_columns(GTK_SHEET(sheets[0]), new_index, 1); x_gtksheet_add_col_labels(GTK_SHEET(sheets[0]), sheet_head->comp_attrib_count, sheet_head->master_comp_attrib_list_head); #ifdef DEBUG printf("In s_toplevel_add_new_attrib, just updated gtksheet.\n"); #endif break; case 1: /* net attribute */ /* insert into net attribute list */ break; case 2: /* pin attribute */ /* insert into pin attribute list */ break; } /* switch */ return; } /*------------------------------------------------------------------*/ /*! \brief Delete an attribute column * * This function gets called when the user has selected a single attrib * column, selected the edit->delete attrib item from the pull-down * menu, and then said "yes" to the confirm dialog. */ void s_toplevel_delete_attrib_col() { gint cur_page; /* current page in notbook */ gint mincol, maxcol; GtkSheet *sheet; gchar *attrib_name; /* Repeat previous checks */ cur_page = gtk_notebook_get_current_page(GTK_NOTEBOOK(notebook)); sheet = GTK_SHEET(sheets[cur_page]); if (sheet == NULL) { return; } mincol = x_gtksheet_get_min_col(sheet); maxcol = x_gtksheet_get_max_col(sheet); if ( (mincol != maxcol) || (mincol == -1) || (maxcol == -1) ) { return; } #ifdef DEBUG printf("In s_toplevel_delete_attrib_col, checks were OK, now do real work\n"); #endif /* Rebuild the gattrib-specific data structures */ switch (cur_page) { case 0: /* component attribute */ /* Eventually, I want to just resize the table after deleting the * attrib. However, that is difficult. Therefore, I will just * destroy the old table and recreate it for now. */ s_table_destroy(sheet_head->component_table, sheet_head->comp_count, sheet_head->comp_attrib_count); /* Get name (label) of the col to delete from the gtk sheet */ attrib_name = g_strdup( gtk_sheet_column_button_get_label(sheet, mincol) ); if (attrib_name != NULL) { #ifdef DEBUG printf("In s_toplevel_delete_attrib_col, attrib to delete = %s\n", attrib_name); #endif } else { fprintf(stderr, "In s_toplevel_delete_attrib_col, can't get attrib name\n"); return; } #ifdef DEBUG printf("In s_toplevel_delete_attrib_col, before deleting comp attrib.\n"); printf(" comp_attrib_count = %d\n", sheet_head->comp_attrib_count); #endif s_string_list_delete_item(&(sheet_head->master_comp_attrib_list_head), &(sheet_head->comp_attrib_count), attrib_name); s_string_list_sort_master_comp_attrib_list(); /* this renumbers list also */ g_free(attrib_name); #ifdef DEBUG printf("In s_toplevel_delete_attrib_col, just updated comp_attrib string list.\n"); printf(" new comp_attrib_count = %d\n", sheet_head->comp_attrib_count); #endif /* Now create new table with new attrib count*/ sheet_head->component_table = s_table_new(sheet_head->comp_count, sheet_head->comp_attrib_count); #ifdef DEBUG printf("In s_toplevel_delete_attrib_col, just updated SHEET_DATA info.\n"); #endif break; case 1: /* net attribute */ /* insert into net attribute list */ break; case 2: /* pin attribute */ /* insert into pin attribute list */ break; } /* switch */ /* Delete col on gtksheet */ #ifdef DEBUG printf("In s_toplevel_delete_attrib_col, about to delete col in gtksheet.\n"); #endif gtk_sheet_delete_columns (sheet, mincol, 1); #ifdef DEBUG printf("In s_toplevel_delete_attrib_col, done deleting col in gtksheet.\n"); #endif sheet_head->CHANGED = TRUE; /* Set changed flag so user is prompted when exiting */ return; } /* ======================= Private functions ====================== */ /*------------------------------------------------------------------*/ /*! \brief Copy SHEET_DATA content to TOP_LEVEL * * This function * loops through all objects on (PAGE page)->(OBJECT *start_obj). * It takes the updated SHEET_DATA->TABLE data and then updates the * objects with the new attribs & attrib values. * For each component, it updates the attached * attrib values using the updated values held in the SHEET_DATA->TABLE * structure. It does so in three steps: * -# First find and update component attribs. * -# Then find and update net attribs. * -# Finally find and update pin attribs. * \param toplevel TOPLEVEL structure * \param page schematic page to copy */ void s_toplevel_sheetdata_to_toplevel (TOPLEVEL *toplevel, PAGE *page) { GList *copy_list; GList *o_iter, *prim_iter; char *temp_uref; STRING_LIST *new_comp_attrib_pair_list; STRING_LIST *new_pin_attrib_list; /* ----- First deal with all components on the page. ----- */ #ifdef DEBUG printf("----- In s_toplevel_sheetdata_to_toplevel, handling components\n"); #endif /* Work from a copy list, as objects can be deleted * from the list during iteration over the list. */ /* NB: g_list_copy doesn't declare its input const, so we cast */ copy_list = g_list_copy ((GList *)s_page_objects (page)); /* Iterate backwards since attributes are attached after their * parent objects in the list. Attributes can get deleted during * the iteration. */ for (o_iter = g_list_last (copy_list); o_iter != NULL; o_iter = g_list_previous (o_iter)) { OBJECT *o_current = o_iter->data; /* ------- Object is a component. Handle component attributes. ------- */ if (o_current->type == OBJ_COMPLEX) { /* Note that OBJ_COMPLEX = component + attribs */ #if 0 if (o_attrib_search_object_attribs_by_name (o_current, "graphical", 0)) { break; /* Ignore graphical components */ } #endif temp_uref = s_attrib_get_refdes(o_current); if (temp_uref != NULL) { /* Must create a name=value pair list for each particular component * which we can pass to function updating o_current. This function * places all attribs * found in the row into new_comp_attrib_pair_list. */ new_comp_attrib_pair_list = s_table_create_attrib_pair(temp_uref, sheet_head->component_table, sheet_head->master_comp_list_head, sheet_head->comp_attrib_count); /* Now update attribs in toplevel using this list. */ s_toplevel_update_component_attribs_in_toplevel(toplevel, o_current, new_comp_attrib_pair_list); g_free(temp_uref); } else { #ifdef DEBUG printf("In s_toplevel_sheetdata_to_toplevel, found complex with no refdes. name = %s\n", o_current->name); #endif } } /* if (o_current->type == OBJ_COMPLEX) */ } g_list_free (copy_list); #if 0 /* ----- Next deal with all nets on the page. ----- */ /* This is TBD */ #endif /* ----- Finally deal with all pins on the page. ----- */ /* ----- Next deal with all nets on the page. ----- */ #ifdef DEBUG printf("----- In s_toplevel_sheetdata_to_toplevel, handling pins\n"); #endif /* Work from a copy list in case objects are * deleted from the list during its iteration. */ /* NB: g_list_copy doesn't declare its input const, so we cast */ copy_list = g_list_copy ((GList *)s_page_objects (page)); for (o_iter = g_list_last (copy_list); o_iter != NULL; o_iter = g_list_previous (o_iter)) { OBJECT *o_current = o_iter->data; /* ------- Object is a complex. Handle pins by looking ------ */ /* ------- for all pins attached to a component. ------ */ if (o_current->type == OBJ_COMPLEX) { /* Upon finding a component, here's what to do: * 0. Get refdes of component. * 1. Loop over prim_objects, looking for pins. * 2. When a pin is found, create refdes:pinnumber pair * used in searching TABLE. * 3. Search TABLE using refdes:pinnumber as key, and get list of * attribs corresponding to this refdes:pinnumber * 4. Stick the attribs into the TOPLEVEL data structure. */ temp_uref = s_attrib_get_refdes(o_current); if ( (temp_uref != NULL) && (o_current->complex->prim_objs) ) { /* make sure object complex has a refdes */ for (prim_iter = o_current->complex->prim_objs; prim_iter != NULL; prim_iter = g_list_next (prim_iter)) { OBJECT *comp_prim_obj = prim_iter->data; if (comp_prim_obj->type == OBJ_PIN) { new_pin_attrib_list = s_toplevel_get_pin_attribs_in_sheet (temp_uref, comp_prim_obj); s_toplevel_update_pin_attribs_in_toplevel (toplevel, temp_uref, comp_prim_obj, new_pin_attrib_list); } } } /* if(temp_uref */ g_free(temp_uref); } } g_list_free (copy_list); return; } /*------------------------------------------------------------------*/ /*! \brief Get the component attributes from the top level * * This function returns a list of attributes attached to obj_name = comp * refdes or netlist. * \param refdes component refdes to return values from * \returns a STRING_LIST where the data field holds a name=value string. */ STRING_LIST *s_toplevel_get_component_attribs_in_sheet(char *refdes) { STRING_LIST *new_attrib_list; STRING_LIST *local_attrib_list; int i; int row = -1; int count = 0; char *name_value_pair; char *new_attrib_value; char *new_attrib_name; #if DEBUG printf("----- Entering s_toplevel_get_component_attribs_in_sheet.\n"); #endif /* First find pos of this refdes in the master list */ row = s_table_get_index(sheet_head->master_comp_list_head, refdes); /* Sanity check */ if (row == -1) { /* we didn't find the item in the list */ fprintf(stderr, "In s_toplevel_get_component_attribs_in_sheet, we didn't find the refdes in the master list!\n"); return NULL; } /* Now get all attribs associated with this refdes (in TABLE, indexed * by position), and insert them into new_attrib_list. */ new_attrib_list = s_string_list_new(); /* init new_attrib_list */ i = 0; local_attrib_list = sheet_head->master_comp_attrib_list_head; while (local_attrib_list != NULL) { /* iterate over all possible attribs */ new_attrib_name = g_strdup(local_attrib_list->data); /* take attrib name from column headings */ if ( ((sheet_head->component_table)[row][i]).attrib_value ) { new_attrib_value = g_strdup( ((sheet_head->component_table)[row][i]).attrib_value ); name_value_pair = g_strconcat(new_attrib_name, "=", new_attrib_value, NULL); g_free(new_attrib_value); } else { name_value_pair = g_strconcat(new_attrib_name, "=", NULL); /* empty attrib */ } s_string_list_add_item(new_attrib_list, &count, name_value_pair); /* add name=value to new list */ g_free(new_attrib_name); g_free(name_value_pair); /* Sanity check */ if (count != i+1) { /* for some reason, we have lost a name_value_pair somewhere . . . */ fprintf(stderr, "In s_toplevel_get_component_attribs_in_sheet, count != i! Exiting . . . .\n"); exit(-1); } /* iterate */ i++; local_attrib_list = local_attrib_list->next; } /* while (local_attrib_list != NULL) */ return new_attrib_list; } /*------------------------------------------------------------------*/ /*! \brief Update component attributes in TOP_LEVEL * * For each attrib string attached to the component, update it using the value * held in new_comp_attrib_list. Algorithm: * -# Form list of all component attribs held on both the component * (o_current), as well as in the attrib list (SHEET_DATA). * -# Loop over name=value pairs held in complete_comp_attrib_list. * -# For each name=value pair, look for corresponding attrib on o_current. * -# For each name=value pair, look for the corresponding attrib in * new_comp_attrib_list. * -# If the attrib exists on o_current and in new_comp_attrib_list, write the * new value (from new_comp_attrib_list) into o_current. * -# If the attrib exists on o_current, but is null in name=value pair, * delete the attrib from o_current. * -# If the attribs doesn't exist on o_current, but is non-null in * the name=value pair, create an attrib object and add it to the part * on o_current. * \param toplevel TOPLEVEL structure * \param o_current Component (complex) to be updated. * \param new_comp_attrib_list list of name=value attribute pairs * from SHEET_DATA. */ void s_toplevel_update_component_attribs_in_toplevel ( TOPLEVEL *toplevel, OBJECT *o_current, STRING_LIST *new_comp_attrib_list) { STRING_LIST *local_list; STRING_LIST *complete_comp_attrib_list; char *old_name_value_pair; char *new_attrib_name; char *new_attrib_value; char *old_attrib_name; char *old_attrib_value; gchar *refdes; GList *a_iter; OBJECT *a_current; int count = 0; /* This is to fake out a function called later */ gint row, col; gint visibility = 0; gint show_name_value = 0; #if DEBUG printf("----- Entering s_toplevel_update_component_attribs_in_toplevel.\n"); #endif /* * To remove dead attribs from o_current, we need to form a complete list of unique * attribs by taking the union of the new attribs from the SHEET_DATA, and * the old attribs living on o_current. That's what we're doing here. * Later, we can delete those attribs in o_current which don't apear in * new_comp_attrib_list. */ /* First duplicate new_comp_attrib_list */ complete_comp_attrib_list = s_string_list_duplicate_string_list(new_comp_attrib_list); /* Now create a complete list of unique attribute names. This will be used in * the loop below when updating attributes. */ a_iter = o_current->attribs; while (a_iter != NULL) { a_current = a_iter->data; if (a_current->type == OBJ_TEXT && a_current->text != NULL) { /* found a name=value attribute pair. */ /* may need to check more thoroughly here. . . . */ old_name_value_pair = g_strdup(a_current->text->string); /* Else clause is suggestion from Ales */ #if 1 old_attrib_name = u_basic_breakup_string(old_name_value_pair, '=', 0); if ( (strcmp(old_attrib_name, "refdes") != 0) && (strcmp(old_attrib_name, "net") != 0) && (strcmp(old_attrib_name, "slot") != 0) && (s_attrib_name_in_list(new_comp_attrib_list, old_attrib_name) == FALSE) ) { s_string_list_add_item(complete_comp_attrib_list, &count, old_name_value_pair); } #else /* might now compile now, but this #if'd out branch isn't being built */ gint status; status = o_attrib_get_name_value (a_current, &old_attrib_name, &old_attrib_value); if (status == 0) { /* Don't put "refdes" or "slot" into list. Don't put old name=value pair into list if a new * one is already in there. */ if ( (strcmp(old_attrib_name, "refdes") != 0) && (strcmp(old_attrib_name, "net") != 0) && (strcmp(old_attrib_name, "slot") != 0) && (s_attrib_name_in_list(new_comp_attrib_list, old_attrib_name) == FALSE) ) { s_string_list_add_item(complete_comp_attrib_list, &count, old_name_value_pair); } g_free (old_attrib_name); g_free (old_attrib_value); } #endif g_free(old_name_value_pair); g_free(old_attrib_name); } a_iter = g_list_next (a_iter); } /* while (a_current != NULL) */ /* *Now the main business of this function: updating the attribs attached to this o_current. * Loop on name=value pairs held in complete_comp_attrib_list , and then use this to get the * name=value pairs out of new_comp_attrib_list and from o_current. */ /* First handle a special case: the component has no attribs (beside refdes). */ if (complete_comp_attrib_list->data == NULL) return; /* Now the normal case. . . . */ local_list = complete_comp_attrib_list; while (local_list != NULL) { #if DEBUG printf("\n\n"); printf(" In s_toplevel_update_component_attribs_in_toplevel, handling entry in complete list %s .\n", local_list->data); #endif /* Now get the old attrib name & value from complete_comp_attrib_list * and value from o_current */ old_attrib_name = u_basic_breakup_string(local_list->data, '=', 0); old_attrib_value = o_attrib_search_attached_attribs_by_name (o_current, old_attrib_name, 0); #if DEBUG printf(" In s_toplevel_update_component_attribs_in_toplevel, old name = \"%s\" .\n", old_attrib_name); printf(" In s_toplevel_update_component_attribs_in_toplevel, old value = \"%s\" .\n", old_attrib_value); #endif /* Next try to get this attrib from new_comp_attrib_list */ new_attrib_name = u_basic_breakup_string(local_list->data, '=', 0); if (s_string_list_in_list(new_comp_attrib_list, local_list->data)) { new_attrib_value = s_misc_remaining_string(local_list->data, '=', 1); } else { new_attrib_value = NULL; } #if DEBUG printf(" In s_toplevel_update_component_attribs_in_toplevel, new name = \"%s\" .\n", new_attrib_name); printf(" In s_toplevel_update_component_attribs_in_toplevel, new value = \"%s\" .\n", new_attrib_value); #endif /* Now get row and col where this new attrib lives. Then get * visibility of the new attrib stored in the component table */ /* We'll need this later */ refdes = g_strdup(s_attrib_get_refdes(o_current)); row = s_table_get_index(sheet_head->master_comp_list_head, refdes); col = s_table_get_index(sheet_head->master_comp_attrib_list_head, new_attrib_name); /* if attribute has been deleted from the sheet, here is where we detect that */ if ( (row == -1) || (col == -1) ) { new_attrib_value = NULL; /* attrib will be deleted below */ } else { /* we need a better place to get this info since the TABLE can be out of date */ visibility = sheet_head->component_table[row][col].visibility; show_name_value = sheet_head->component_table[row][col].show_name_value; } g_free(refdes); /* ------- Four cases to consider: Case 1 ----- */ if ( (old_attrib_value != NULL) && (new_attrib_value != NULL) && (strlen(new_attrib_value) != 0) ) { /* simply write new attrib into place of old one. */ #if DEBUG printf(" -- In s_toplevel_update_component_attribs_in_toplevel,\n"); printf(" about to replace old attrib with name= %s, value= %s\n", new_attrib_name, new_attrib_value); printf(" visibility = %d, show_name_value = %d.\n", visibility, show_name_value); #endif s_object_replace_attrib_in_object(toplevel, o_current, new_attrib_name, new_attrib_value, visibility, show_name_value); } /* ------- Four cases to consider: Case 2 ----- */ else if ( (old_attrib_value != NULL) && (new_attrib_value == NULL) ) { /* remove attrib from component*/ #if DEBUG printf(" -- In s_toplevel_update_component_attribs_in_toplevel, about to remove old attrib with name= %s, value= %s\n", old_attrib_name, old_attrib_value); #endif s_object_remove_attrib_in_object (toplevel, o_current, old_attrib_name); } /* ------- Four cases to consider: Case 3 ----- */ else if ( (old_attrib_value == NULL) && (new_attrib_value != NULL) ) { /* add new attrib to component. */ #if DEBUG printf(" -- In s_toplevel_update_component_attribs_in_toplevel, about to add new attrib with name= %s, value= %s\n", new_attrib_name, new_attrib_value); #endif s_object_add_comp_attrib_to_object (toplevel, o_current, new_attrib_name, new_attrib_value, visibility, show_name_value); /* ------- Four cases to consider: Case 4 ----- */ } else { /* Do nothing. */ #if DEBUG printf(" -- In s_toplevel_update_component_attribs_in_toplevel, nothing needs to be done.\n"); #endif } /* Toggle attribute visibility and name/value setting */ /* free everything and iterate */ g_free(new_attrib_name); g_free(new_attrib_value); g_free(old_attrib_name); g_free(old_attrib_value); local_list = local_list->next; } /* while (local_list != NULL) */ return; } /*------------------------------------------------------------------*/ /*! * \todo Function doesn't do anything - candidate for removal? */ STRING_LIST *s_toplevel_get_net_attribs_in_sheet(char *netname) { /* must be filled in */ return NULL; } /*------------------------------------------------------------------*/ /*! * \todo Function doesn't do anything - candidate for removal? */ void s_toplevel_update_net_attribs_in_toplevel(OBJECT *o_current, STRING_LIST *new_net_attrib_list) { /* must be filled in */ return; } /*------------------------------------------------------------------*/ /*! \brief Get pin attributes * * This function takes a pointer to the OBJECT pin, and returns a list * of attribs found attached to the pin. The returned list is a * STRING_LIST where the ->data holds a name=value string. * The algorithm is as follows: * -# Form refdes:pinnumber label for this pin. * -# Get row number of this refdes:pinnumber * -# Create a list of name=value pairs from entries in the pin_table * on this row. * -# Return list of name=value pairs found. * * \param refdes Ref des string * \param pin Pin object * \returns name=value pair as a STRING_LIST */ STRING_LIST *s_toplevel_get_pin_attribs_in_sheet(char *refdes, OBJECT *pin) { STRING_LIST *new_attrib_list; STRING_LIST *local_attrib_list; int i; int row = -1; int count = 0; char *pinnumber; char *row_label; char *name_value_pair; char *new_attrib_value; char *new_attrib_name; #if DEBUG printf("----- Entering s_toplevel_get_pin_attribs_in_sheet.\n"); #endif /* First find pos of this pin in the master pin list */ /* first convert refdes, pin to refdes:pinno text string. Then call table_get_index. */ pinnumber = o_attrib_search_object_attribs_by_name (pin, "pinnumber", 0); if ( (refdes != NULL) && (pinnumber != NULL) ) { row_label = g_strconcat(refdes, ":", pinnumber, NULL); } else { fprintf(stderr, "In s_toplevel_get_pin_attribs_in_sheet, either refdes or pinnumber of object missing!\n"); return NULL; } row = s_table_get_index(sheet_head->master_pin_list_head, row_label); /* Sanity check */ if (row == -1) { /* we didn't find the item in the list */ fprintf(stderr, "In s_toplevel_get_pin_attribs_in_sheet, we didn't find the refdes:pin in the master list!\n"); return NULL; } /* Now get all attribs associated with this refdes (in TABLE, indexed * by position), and insert them into new_attrib_list. */ new_attrib_list = s_string_list_new(); /* init new_attrib_list */ i = 0; local_attrib_list = sheet_head->master_pin_attrib_list_head; while (local_attrib_list != NULL) { /* iterate over all possible attribs */ new_attrib_name = g_strdup(local_attrib_list->data); /* take attrib name from column headings */ if ( ((sheet_head->pin_table)[row][i]).attrib_value ) { new_attrib_value = g_strdup( ((sheet_head->pin_table)[row][i]).attrib_value ); name_value_pair = g_strconcat(new_attrib_name, "=", new_attrib_value, NULL); g_free(new_attrib_value); } else { name_value_pair = g_strconcat(new_attrib_name, "=", NULL); /* empty attrib */ } s_string_list_add_item(new_attrib_list, &count, name_value_pair); /* add name=value to new list */ g_free(new_attrib_name); g_free(name_value_pair); /* Sanity check */ if (count != i+1) { /* for some reason, we have lost a name_value_pair somewhere . . . */ fprintf(stderr, "In s_toplevel_get_pin_attribs_in_sheet, count != i! Exiting . . . .\n"); exit(-1); } /* iterate */ i++; local_attrib_list = local_attrib_list->next; } /* while (local_attrib_list != NULL) */ return new_attrib_list; } /*------------------------------------------------------------------*/ /*! \brief Update pin attributes in toplevel * * For each attrib string attached to the pin, update it using the value * held in new_pin_attrib_list. Algorithm: * -# Loop over name=value pairs held in new_pin_attrib_list. * -# For each name=value pair, look for corresponding attrib on pin. * -# If the attrib exists on pin and in name=value pair, write the * new value in. * -# If the attrib exists on pin, but is null in name=value pair, * delete the attrib. * -# If the attribs doesn't exist on pin, but is non-null in * the name=value pair, create an attrib object and add it to the pin. * \param toplevel TOPLEVEL structure * \param refdes Unused - needs refactored out * \param [in,out] o_pin pin to update * \param [in] new_pin_attrib_list New pin attribute list to apply */ void s_toplevel_update_pin_attribs_in_toplevel (TOPLEVEL *toplevel, char *refdes, OBJECT *o_pin, STRING_LIST *new_pin_attrib_list) { STRING_LIST *local_list; char *new_name_value_pair; char *new_attrib_name; char *new_attrib_value; char *old_attrib_value; #if DEBUG printf("----- Entering s_toplevel_update_pin_attribs_in_toplevel.\n"); #endif /* loop on name=value pairs held in new_pin_attrib_list */ local_list = new_pin_attrib_list; while (local_list != NULL) { new_name_value_pair = g_strdup(local_list->data); #if DEBUG printf(" In s_toplevel_update_pin_attribs_in_toplevel, handling entry in master list %s .\n", new_name_value_pair); #endif new_attrib_name = u_basic_breakup_string(new_name_value_pair, '=', 0); new_attrib_value = u_basic_breakup_string(new_name_value_pair, '=', 1); if (strlen(new_attrib_value) == 0) { g_free(new_attrib_value); new_attrib_value = NULL; /* s_misc_remaining_string doesn't return NULL for empty substring. */ } old_attrib_value = o_attrib_search_attached_attribs_by_name (o_pin, new_attrib_name, 0); /* ------- Four cases to consider: Case 1: old and new attribs exist ----- */ if ( (old_attrib_value != NULL) && (new_attrib_value != NULL) && (strlen(new_attrib_value) != 0) ) { /* simply write new attrib into place of old one. */ #if DEBUG printf("In s_toplevel_update_pin_attribs_in_toplevel, about to replace old attrib with new one: name= %s, value= %s\n", new_attrib_name, new_attrib_value); #endif s_object_replace_attrib_in_object(toplevel, o_pin, new_attrib_name, new_attrib_value, LEAVE_VISIBILITY_ALONE, LEAVE_NAME_VALUE_ALONE); } /* ------- Four cases to consider: Case 2: old attrib exists, new one doesn't ----- */ else if ( (old_attrib_value != NULL) && (new_attrib_value == NULL) ) { /* remove attrib from pin */ #if DEBUG printf("In s_toplevel_update_pin_attribs_in_toplevel, about to remove old attrib with name= %s, value= %s\n", new_attrib_name, old_attrib_value); #endif s_object_remove_attrib_in_object (toplevel, o_pin, new_attrib_name); } /* ------- Four cases to consider: Case 3: No old attrib, new one exists. ----- */ else if ( (old_attrib_value == NULL) && (new_attrib_value != NULL) ) { /* add new attrib to pin. */ #if DEBUG printf("In s_toplevel_update_pin_attribs_in_toplevel, about to add new attrib with name= %s, value= %s\n", new_attrib_name, new_attrib_value); #endif s_object_add_pin_attrib_to_object (toplevel, o_pin, new_attrib_name, new_attrib_value); /* ------- Four cases to consider: Case 4 ----- */ } else { /* Do nothing. */ #if DEBUG printf("In s_toplevel_update_pin_attribs_in_toplevel, nothing needs to be done.\n"); #endif } /* free everything and iterate */ g_free(new_name_value_pair); g_free(new_attrib_name); g_free(new_attrib_value); g_free(old_attrib_value); local_list = local_list->next; } /* while (local_list != NULL) */ return; } geda-gaf-1.8.2/gattrib/src/x_gtksheet.c0000664000175000017500000002776212220647257014661 00000000000000/* gEDA - GPL Electronic Design Automation * gattrib -- gEDA component and net attribute manipulation using spreadsheet. * Copyright (C) 2003-2010 Stuart D. Brorson. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*------------------------------------------------------------------*/ /*! \file * \brief Functions to interface to the spreadsheet widget. * * This file holds functions used to handle the spreadsheet widget. * Much of this was hacked from testgtksheet.c starting in Jan 2004 * by SDB. */ #ifdef HAVE_CONFIG_H #include "config.h" #endif /*------------------------------------------------------------------ * Includes required to run graphical widgets. *------------------------------------------------------------------*/ #include #include #include #include #include #include #include #ifdef HAVE_STRING_H #include #endif /*------------------------------------------------------------------ * Gattrib specific includes *------------------------------------------------------------------*/ #include /* geda library fcns */ #include "../include/struct.h" /* typdef and struct declarations */ #include "../include/prototype.h" /* function prototypes */ #include "../include/globals.h" #ifdef HAVE_LIBDMALLOC #include #endif static void show_entry(GtkWidget *widget, gpointer data); /*! \brief Create the GtkSheet * * Creates and initializes the GtkSheet widget, which is the * spreadsheet widget used for displaying the data. */ void x_gtksheet_init() { gint i; gchar *folder[]= {"Components", "Nets", "Pins"}; /* --- Create three new sheets. were malloc'ed in x_window_init --- */ /* ----- Components ----- */ if ((sheet_head->comp_count > 0) && (sheet_head->comp_attrib_count >0)) { sheets[0] = (GtkSheet *) gtk_sheet_new((guint) sheet_head->comp_count, (guint) sheet_head->comp_attrib_count, "Components"); } else { x_dialog_fatal_error("No components found in design. Please check your schematic and try again!\n", 1); } #ifdef UNIMPLEMENTED_FEATURES /* ----- Nets ----- */ if ((sheet_head->net_count > 0) && (sheet_head->net_attrib_count >0)) { sheets[1] = (GtkSheet *) gtk_sheet_new(sheet_head->net_count, sheet_head->net_attrib_count, "Nets"); gtk_sheet_set_locked(GTK_SHEET(sheets[1]), TRUE); /* disallow editing of attribs for now */ } else { sheets[1] = (GtkSheet *) gtk_sheet_new(1, 1, "Nets"); gtk_sheet_row_button_add_label(sheets[1], 0, "TBD"); gtk_sheet_row_button_justify(sheets[1], 0, GTK_JUSTIFY_LEFT); gtk_sheet_column_button_add_label(sheets[1], 0, "TBD"); gtk_sheet_column_button_justify(sheets[1], 0, GTK_JUSTIFY_LEFT); gtk_sheet_set_locked(GTK_SHEET(sheets[1]), TRUE); /* disallow editing of attribs for now */ } #endif #ifdef UNIMPLEMENTED_FEATURES /* ----- Pins ----- */ if ((sheet_head->pin_count > 0) && (sheet_head->pin_attrib_count >0)) { sheets[2] = (GtkSheet *) gtk_sheet_new(sheet_head->pin_count, sheet_head->pin_attrib_count, "Pins"); gtk_sheet_set_locked(GTK_SHEET(sheets[2]), TRUE); /* disallow editing of attribs for now */ } else { sheets[2] = (GtkSheet *) gtk_sheet_new(1, 1, "Pins"); gtk_sheet_set_locked(GTK_SHEET(sheets[2]), TRUE); /* disallow editing of attribs for now */ } #endif /* --- Finally stick labels on the notebooks holding the two sheets. --- */ for(i=0; istyle->private_font ) char_width = gdk_char_width (GTK_WIDGET(sheet)->style->private_font, (gchar)'X'); else char_width = 12; string_list_item = list_head; for (j = 0; j < count; j++) { text = (gchar *) g_strdup(string_list_item->data); new_width = char_width * strlen(text); if (new_width > width) width = new_width; gtk_sheet_row_button_add_label(sheet, j, text); gtk_sheet_row_button_justify(sheet, j, GTK_JUSTIFY_LEFT); g_free(text); string_list_item = string_list_item->next; } gtk_sheet_set_row_titles_width(sheet, width+8); } /*------------------------------------------------------------------*/ /*! \brief Add column labels to GtkSheet * * Add column labels to GtkSheet. * \param sheet GtkSheet to add columns to * \param count * \param list_head pointer to top of STRING_LIST */ void x_gtksheet_add_col_labels(GtkSheet *sheet, int count, STRING_LIST *list_head) { STRING_LIST *string_list_item; gchar *text; int j; /* Leave if no items to add are available */ if ((count == 0) || (list_head == NULL)) return; string_list_item = list_head; for (j = 0; j < count; j++) { text = (gchar *) g_strdup(string_list_item->data); gtk_sheet_column_button_add_label(sheet, j, text); gtk_sheet_column_button_justify(sheet, j, GTK_JUSTIFY_LEFT); /* need to resize the column width here . . . */ g_free(text); string_list_item = string_list_item->next; } } /*------------------------------------------------------------------*/ /*! \brief Add a cell item to the GtkSheet * * Add a cell item to the GtkSheet * \param sheet GtkSheet to add the cell item to * \param i * \param j * \param text * \param visibility * \param show_name_value */ void x_gtksheet_add_cell_item(GtkSheet *sheet,gint i, gint j, gchar *text, gint visibility, gint show_name_value) { /* Should I do some sanity checking here? */ gtk_sheet_set_cell(sheet, i, j, GTK_JUSTIFY_LEFT, text); if (visibility == INVISIBLE) { x_gtksheet_set_cell_text_color(sheet, i, j, GREY); } else { switch(show_name_value) { case(SHOW_NAME_VALUE): x_gtksheet_set_cell_text_color(sheet, i, j, BLUE); break; case(SHOW_NAME): x_gtksheet_set_cell_text_color(sheet, i, j, RED); break; case(SHOW_VALUE): x_gtksheet_set_cell_text_color(sheet, i, j, BLACK); break; } } /* if (visibility == INVISIBLE) */ /* Need to find a way to ensure that the text in a cell is clipped. * Otherwise, long attribs overwrite adjacent cells. */ } /*! \brief Get the first column selected in the GtkSheet * * Get the first column selected in the GtkSheet * Returns the index of the first column selected, or -1 if * no column is selected. * \param sheet GtkSheet to query * \returns index of the first column selected, or -1 if * no column is selected. */ int x_gtksheet_get_min_col(GtkSheet *sheet) { if (sheet->state == GTK_SHEET_COLUMN_SELECTED) { return sheet->range.col0; } else { return -1; } } /*! \brief Get the last column selected in the GtkSheet * * Get the last column selected in the GtkSheet * \param GtkSheet to query * \returns the index of the last column selected, or -1 if * no column is selected. */ int x_gtksheet_get_max_col(GtkSheet *sheet) { if (sheet->state == GTK_SHEET_COLUMN_SELECTED) { return sheet->range.coli; } else { return -1; } } /*! \brief Set the text color of a cell * * Sets the color of a cell identified by row, col. * \param sheet GtkSheet to operate on * \param row Row of cell to set * \param col Column of cell to set * \param color_name Color to set text to */ void x_gtksheet_set_cell_text_color(GtkSheet *sheet, gint row, gint col, gint color_name) { GtkSheetRange *range; GdkColormap *cmap; GdkColor *color; /* First get the system color map and allocate the color */ cmap = gdk_colormap_get_system (); color = g_malloc(sizeof(GdkColor)); switch(color_name) { case RED: color->red = 0xffff; color->green = 0x0; color->blue = 0x0; break; case BLUE: color->red = 0x0; color->green = 0x0; color->blue = 0xffff; break; case BLACK: color->red = 0x0; color->green = 0x0; color->blue = 0x0; break; case GREY: color->red = 0x9999; color->green = 0x9999; color->blue = 0x9999; break; } if (!gdk_colormap_alloc_color (cmap, color, FALSE, FALSE)) { g_error ("couldn't allocate color"); return; } /* g_free(cmap); */ /* XXXXX Attempt to set cell color */ range = g_malloc(sizeof(GtkSheetRange)); range->row0 = row; range->rowi = row; range->col0 = col; range->coli = col; /* Now set color */ gtk_sheet_range_set_foreground(sheet, range, color); g_free(color); g_free(range); } /*! \brief Show text entry box * * Displays a text entry box at the top of the working area. * It is removed since it is not needed now, but may come in * handy later. Therefore I keep the code around. * \param widget * \param data */ static void show_entry(GtkWidget *widget, gpointer data) { gchar *text; GtkSheet *sheet; GtkWidget *sheet_entry = NULL; gint cur_page; if(!GTK_WIDGET_HAS_FOCUS(widget)) { return; } cur_page = gtk_notebook_get_current_page(GTK_NOTEBOOK(notebook)); sheet = GTK_SHEET(sheets[cur_page]); if (sheet != NULL) { sheet_entry = gtk_sheet_get_entry( GTK_SHEET(sheet) ); } /* Here's another place where we mix entry and sheet_entry */ if (entry != NULL) { text = (gchar *) gtk_entry_get_text (GTK_ENTRY(sheet_entry)); if( text != NULL ) { gtk_entry_set_text(GTK_ENTRY(entry), text); } else { gtk_entry_set_text(GTK_ENTRY(entry), (const gchar *) ""); /* gtk_entry_set_text(GTK_ENTRY(entry), NULL); */ } } } geda-gaf-1.8.2/gattrib/src/Makefile.in0000664000175000017500000021372712220655722014407 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ bin_PROGRAMS = gattrib$(EXEEXT) subdir = gattrib/src DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(top_srcdir)/build-tools/depcomp ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__installdirs = "$(DESTDIR)$(bindir)" PROGRAMS = $(bin_PROGRAMS) am_gattrib_OBJECTS = gattrib-gtksheet_2_2.$(OBJEXT) \ gattrib-gtkextra-marshal.$(OBJEXT) gattrib-globals.$(OBJEXT) \ gattrib-listsort.$(OBJEXT) gattrib-parsecmd.$(OBJEXT) \ gattrib-f_export.$(OBJEXT) gattrib-g_register.$(OBJEXT) \ gattrib-g_rc.$(OBJEXT) gattrib-i_vars.$(OBJEXT) \ gattrib-i_basic.$(OBJEXT) gattrib-x_window.$(OBJEXT) \ gattrib-x_gtksheet.$(OBJEXT) gattrib-x_dialog.$(OBJEXT) \ gattrib-x_fileselect.$(OBJEXT) gattrib-s_rename.$(OBJEXT) \ gattrib-s_misc.$(OBJEXT) gattrib-s_string_list.$(OBJEXT) \ gattrib-s_sheet_data.$(OBJEXT) gattrib-s_table.$(OBJEXT) \ gattrib-s_object.$(OBJEXT) gattrib-s_attrib.$(OBJEXT) \ gattrib-s_toplevel.$(OBJEXT) gattrib-s_visibility.$(OBJEXT) \ gattrib-gattrib.$(OBJEXT) gattrib_OBJECTS = $(am_gattrib_OBJECTS) gattrib_DEPENDENCIES = $(top_builddir)/libgeda/src/libgeda.la AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent am__v_lt_1 = gattrib_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(gattrib_CFLAGS) \ $(CFLAGS) $(gattrib_LDFLAGS) $(LDFLAGS) -o $@ AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/build-tools/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = $(gattrib_SOURCES) DIST_SOURCES = $(gattrib_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ gattrib_SOURCES = \ gtksheet_2_2.c \ gtkextra-marshal.c \ globals.c \ listsort.c \ parsecmd.c \ f_export.c \ g_register.c \ g_rc.c \ i_vars.c \ i_basic.c \ x_window.c \ x_gtksheet.c \ x_dialog.c \ x_fileselect.c \ s_rename.c \ s_misc.c \ s_string_list.c \ s_sheet_data.c \ s_table.c \ s_object.c \ s_attrib.c \ s_toplevel.c \ s_visibility.c \ gattrib.c gattrib_CPPFLAGS = -I$(top_srcdir)/libgeda/include \ -I$(srcdir)/../include -I$(top_srcdir) -I$(includedir) gattrib_CFLAGS = $(GCC_CFLAGS) $(GLIB_CFLAGS) \ $(MINGW_CFLAGS) \ $(GTK_CFLAGS) $(GTHREAD_CFLAGS) $(GUILE_CFLAGS) gattrib_LDFLAGS = $(GLIB_LIBS) $(GTK_LIBS) $(GTHREAD_LIBS) \ $(GUILE_LIBS) $(MINGW_GUI_LDFLAGS) gattrib_LDADD = $(top_builddir)/libgeda/src/libgeda.la MOSTLYCLEANFILES = *.log *.ps core FILE *~ #*# CLEANFILES = *.log *.ps core FILE *~ #*# DISTCLEANFILES = *.log core FILE *~ #*# MAINTAINERCLEANFILES = *.log *.ps core FILE *~ Makefile.in #*# all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gattrib/src/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu gattrib/src/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ fi; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p \ || test -f $$p1 \ ; then echo "$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n;h' \ -e 's|.*|.|' \ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) files[d] = files[d] " " $$1; \ else { print "f", $$3 "/" $$4, $$1; } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ } \ ; done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ -e 's/$$/$(EXEEXT)/' \ `; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(bindir)" && rm -f $$files clean-binPROGRAMS: @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ echo " rm -f" $$list; \ rm -f $$list || exit $$?; \ test -n "$(EXEEXT)" || exit 0; \ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list gattrib$(EXEEXT): $(gattrib_OBJECTS) $(gattrib_DEPENDENCIES) $(EXTRA_gattrib_DEPENDENCIES) @rm -f gattrib$(EXEEXT) $(AM_V_CCLD)$(gattrib_LINK) $(gattrib_OBJECTS) $(gattrib_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gattrib-f_export.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gattrib-g_rc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gattrib-g_register.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gattrib-gattrib.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gattrib-globals.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gattrib-gtkextra-marshal.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gattrib-gtksheet_2_2.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gattrib-i_basic.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gattrib-i_vars.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gattrib-listsort.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gattrib-parsecmd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gattrib-s_attrib.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gattrib-s_misc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gattrib-s_object.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gattrib-s_rename.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gattrib-s_sheet_data.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gattrib-s_string_list.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gattrib-s_table.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gattrib-s_toplevel.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gattrib-s_visibility.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gattrib-x_dialog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gattrib-x_fileselect.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gattrib-x_gtksheet.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gattrib-x_window.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< gattrib-gtksheet_2_2.o: gtksheet_2_2.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -MT gattrib-gtksheet_2_2.o -MD -MP -MF $(DEPDIR)/gattrib-gtksheet_2_2.Tpo -c -o gattrib-gtksheet_2_2.o `test -f 'gtksheet_2_2.c' || echo '$(srcdir)/'`gtksheet_2_2.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gattrib-gtksheet_2_2.Tpo $(DEPDIR)/gattrib-gtksheet_2_2.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gtksheet_2_2.c' object='gattrib-gtksheet_2_2.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -c -o gattrib-gtksheet_2_2.o `test -f 'gtksheet_2_2.c' || echo '$(srcdir)/'`gtksheet_2_2.c gattrib-gtksheet_2_2.obj: gtksheet_2_2.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -MT gattrib-gtksheet_2_2.obj -MD -MP -MF $(DEPDIR)/gattrib-gtksheet_2_2.Tpo -c -o gattrib-gtksheet_2_2.obj `if test -f 'gtksheet_2_2.c'; then $(CYGPATH_W) 'gtksheet_2_2.c'; else $(CYGPATH_W) '$(srcdir)/gtksheet_2_2.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gattrib-gtksheet_2_2.Tpo $(DEPDIR)/gattrib-gtksheet_2_2.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gtksheet_2_2.c' object='gattrib-gtksheet_2_2.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -c -o gattrib-gtksheet_2_2.obj `if test -f 'gtksheet_2_2.c'; then $(CYGPATH_W) 'gtksheet_2_2.c'; else $(CYGPATH_W) '$(srcdir)/gtksheet_2_2.c'; fi` gattrib-gtkextra-marshal.o: gtkextra-marshal.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -MT gattrib-gtkextra-marshal.o -MD -MP -MF $(DEPDIR)/gattrib-gtkextra-marshal.Tpo -c -o gattrib-gtkextra-marshal.o `test -f 'gtkextra-marshal.c' || echo '$(srcdir)/'`gtkextra-marshal.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gattrib-gtkextra-marshal.Tpo $(DEPDIR)/gattrib-gtkextra-marshal.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gtkextra-marshal.c' object='gattrib-gtkextra-marshal.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -c -o gattrib-gtkextra-marshal.o `test -f 'gtkextra-marshal.c' || echo '$(srcdir)/'`gtkextra-marshal.c gattrib-gtkextra-marshal.obj: gtkextra-marshal.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -MT gattrib-gtkextra-marshal.obj -MD -MP -MF $(DEPDIR)/gattrib-gtkextra-marshal.Tpo -c -o gattrib-gtkextra-marshal.obj `if test -f 'gtkextra-marshal.c'; then $(CYGPATH_W) 'gtkextra-marshal.c'; else $(CYGPATH_W) '$(srcdir)/gtkextra-marshal.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gattrib-gtkextra-marshal.Tpo $(DEPDIR)/gattrib-gtkextra-marshal.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gtkextra-marshal.c' object='gattrib-gtkextra-marshal.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -c -o gattrib-gtkextra-marshal.obj `if test -f 'gtkextra-marshal.c'; then $(CYGPATH_W) 'gtkextra-marshal.c'; else $(CYGPATH_W) '$(srcdir)/gtkextra-marshal.c'; fi` gattrib-globals.o: globals.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -MT gattrib-globals.o -MD -MP -MF $(DEPDIR)/gattrib-globals.Tpo -c -o gattrib-globals.o `test -f 'globals.c' || echo '$(srcdir)/'`globals.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gattrib-globals.Tpo $(DEPDIR)/gattrib-globals.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='globals.c' object='gattrib-globals.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -c -o gattrib-globals.o `test -f 'globals.c' || echo '$(srcdir)/'`globals.c gattrib-globals.obj: globals.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -MT gattrib-globals.obj -MD -MP -MF $(DEPDIR)/gattrib-globals.Tpo -c -o gattrib-globals.obj `if test -f 'globals.c'; then $(CYGPATH_W) 'globals.c'; else $(CYGPATH_W) '$(srcdir)/globals.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gattrib-globals.Tpo $(DEPDIR)/gattrib-globals.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='globals.c' object='gattrib-globals.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -c -o gattrib-globals.obj `if test -f 'globals.c'; then $(CYGPATH_W) 'globals.c'; else $(CYGPATH_W) '$(srcdir)/globals.c'; fi` gattrib-listsort.o: listsort.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -MT gattrib-listsort.o -MD -MP -MF $(DEPDIR)/gattrib-listsort.Tpo -c -o gattrib-listsort.o `test -f 'listsort.c' || echo '$(srcdir)/'`listsort.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gattrib-listsort.Tpo $(DEPDIR)/gattrib-listsort.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='listsort.c' object='gattrib-listsort.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -c -o gattrib-listsort.o `test -f 'listsort.c' || echo '$(srcdir)/'`listsort.c gattrib-listsort.obj: listsort.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -MT gattrib-listsort.obj -MD -MP -MF $(DEPDIR)/gattrib-listsort.Tpo -c -o gattrib-listsort.obj `if test -f 'listsort.c'; then $(CYGPATH_W) 'listsort.c'; else $(CYGPATH_W) '$(srcdir)/listsort.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gattrib-listsort.Tpo $(DEPDIR)/gattrib-listsort.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='listsort.c' object='gattrib-listsort.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -c -o gattrib-listsort.obj `if test -f 'listsort.c'; then $(CYGPATH_W) 'listsort.c'; else $(CYGPATH_W) '$(srcdir)/listsort.c'; fi` gattrib-parsecmd.o: parsecmd.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -MT gattrib-parsecmd.o -MD -MP -MF $(DEPDIR)/gattrib-parsecmd.Tpo -c -o gattrib-parsecmd.o `test -f 'parsecmd.c' || echo '$(srcdir)/'`parsecmd.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gattrib-parsecmd.Tpo $(DEPDIR)/gattrib-parsecmd.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='parsecmd.c' object='gattrib-parsecmd.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -c -o gattrib-parsecmd.o `test -f 'parsecmd.c' || echo '$(srcdir)/'`parsecmd.c gattrib-parsecmd.obj: parsecmd.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -MT gattrib-parsecmd.obj -MD -MP -MF $(DEPDIR)/gattrib-parsecmd.Tpo -c -o gattrib-parsecmd.obj `if test -f 'parsecmd.c'; then $(CYGPATH_W) 'parsecmd.c'; else $(CYGPATH_W) '$(srcdir)/parsecmd.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gattrib-parsecmd.Tpo $(DEPDIR)/gattrib-parsecmd.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='parsecmd.c' object='gattrib-parsecmd.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -c -o gattrib-parsecmd.obj `if test -f 'parsecmd.c'; then $(CYGPATH_W) 'parsecmd.c'; else $(CYGPATH_W) '$(srcdir)/parsecmd.c'; fi` gattrib-f_export.o: f_export.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -MT gattrib-f_export.o -MD -MP -MF $(DEPDIR)/gattrib-f_export.Tpo -c -o gattrib-f_export.o `test -f 'f_export.c' || echo '$(srcdir)/'`f_export.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gattrib-f_export.Tpo $(DEPDIR)/gattrib-f_export.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='f_export.c' object='gattrib-f_export.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -c -o gattrib-f_export.o `test -f 'f_export.c' || echo '$(srcdir)/'`f_export.c gattrib-f_export.obj: f_export.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -MT gattrib-f_export.obj -MD -MP -MF $(DEPDIR)/gattrib-f_export.Tpo -c -o gattrib-f_export.obj `if test -f 'f_export.c'; then $(CYGPATH_W) 'f_export.c'; else $(CYGPATH_W) '$(srcdir)/f_export.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gattrib-f_export.Tpo $(DEPDIR)/gattrib-f_export.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='f_export.c' object='gattrib-f_export.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -c -o gattrib-f_export.obj `if test -f 'f_export.c'; then $(CYGPATH_W) 'f_export.c'; else $(CYGPATH_W) '$(srcdir)/f_export.c'; fi` gattrib-g_register.o: g_register.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -MT gattrib-g_register.o -MD -MP -MF $(DEPDIR)/gattrib-g_register.Tpo -c -o gattrib-g_register.o `test -f 'g_register.c' || echo '$(srcdir)/'`g_register.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gattrib-g_register.Tpo $(DEPDIR)/gattrib-g_register.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='g_register.c' object='gattrib-g_register.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -c -o gattrib-g_register.o `test -f 'g_register.c' || echo '$(srcdir)/'`g_register.c gattrib-g_register.obj: g_register.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -MT gattrib-g_register.obj -MD -MP -MF $(DEPDIR)/gattrib-g_register.Tpo -c -o gattrib-g_register.obj `if test -f 'g_register.c'; then $(CYGPATH_W) 'g_register.c'; else $(CYGPATH_W) '$(srcdir)/g_register.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gattrib-g_register.Tpo $(DEPDIR)/gattrib-g_register.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='g_register.c' object='gattrib-g_register.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -c -o gattrib-g_register.obj `if test -f 'g_register.c'; then $(CYGPATH_W) 'g_register.c'; else $(CYGPATH_W) '$(srcdir)/g_register.c'; fi` gattrib-g_rc.o: g_rc.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -MT gattrib-g_rc.o -MD -MP -MF $(DEPDIR)/gattrib-g_rc.Tpo -c -o gattrib-g_rc.o `test -f 'g_rc.c' || echo '$(srcdir)/'`g_rc.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gattrib-g_rc.Tpo $(DEPDIR)/gattrib-g_rc.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='g_rc.c' object='gattrib-g_rc.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -c -o gattrib-g_rc.o `test -f 'g_rc.c' || echo '$(srcdir)/'`g_rc.c gattrib-g_rc.obj: g_rc.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -MT gattrib-g_rc.obj -MD -MP -MF $(DEPDIR)/gattrib-g_rc.Tpo -c -o gattrib-g_rc.obj `if test -f 'g_rc.c'; then $(CYGPATH_W) 'g_rc.c'; else $(CYGPATH_W) '$(srcdir)/g_rc.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gattrib-g_rc.Tpo $(DEPDIR)/gattrib-g_rc.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='g_rc.c' object='gattrib-g_rc.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -c -o gattrib-g_rc.obj `if test -f 'g_rc.c'; then $(CYGPATH_W) 'g_rc.c'; else $(CYGPATH_W) '$(srcdir)/g_rc.c'; fi` gattrib-i_vars.o: i_vars.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -MT gattrib-i_vars.o -MD -MP -MF $(DEPDIR)/gattrib-i_vars.Tpo -c -o gattrib-i_vars.o `test -f 'i_vars.c' || echo '$(srcdir)/'`i_vars.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gattrib-i_vars.Tpo $(DEPDIR)/gattrib-i_vars.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='i_vars.c' object='gattrib-i_vars.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -c -o gattrib-i_vars.o `test -f 'i_vars.c' || echo '$(srcdir)/'`i_vars.c gattrib-i_vars.obj: i_vars.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -MT gattrib-i_vars.obj -MD -MP -MF $(DEPDIR)/gattrib-i_vars.Tpo -c -o gattrib-i_vars.obj `if test -f 'i_vars.c'; then $(CYGPATH_W) 'i_vars.c'; else $(CYGPATH_W) '$(srcdir)/i_vars.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gattrib-i_vars.Tpo $(DEPDIR)/gattrib-i_vars.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='i_vars.c' object='gattrib-i_vars.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -c -o gattrib-i_vars.obj `if test -f 'i_vars.c'; then $(CYGPATH_W) 'i_vars.c'; else $(CYGPATH_W) '$(srcdir)/i_vars.c'; fi` gattrib-i_basic.o: i_basic.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -MT gattrib-i_basic.o -MD -MP -MF $(DEPDIR)/gattrib-i_basic.Tpo -c -o gattrib-i_basic.o `test -f 'i_basic.c' || echo '$(srcdir)/'`i_basic.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gattrib-i_basic.Tpo $(DEPDIR)/gattrib-i_basic.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='i_basic.c' object='gattrib-i_basic.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -c -o gattrib-i_basic.o `test -f 'i_basic.c' || echo '$(srcdir)/'`i_basic.c gattrib-i_basic.obj: i_basic.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -MT gattrib-i_basic.obj -MD -MP -MF $(DEPDIR)/gattrib-i_basic.Tpo -c -o gattrib-i_basic.obj `if test -f 'i_basic.c'; then $(CYGPATH_W) 'i_basic.c'; else $(CYGPATH_W) '$(srcdir)/i_basic.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gattrib-i_basic.Tpo $(DEPDIR)/gattrib-i_basic.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='i_basic.c' object='gattrib-i_basic.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -c -o gattrib-i_basic.obj `if test -f 'i_basic.c'; then $(CYGPATH_W) 'i_basic.c'; else $(CYGPATH_W) '$(srcdir)/i_basic.c'; fi` gattrib-x_window.o: x_window.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -MT gattrib-x_window.o -MD -MP -MF $(DEPDIR)/gattrib-x_window.Tpo -c -o gattrib-x_window.o `test -f 'x_window.c' || echo '$(srcdir)/'`x_window.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gattrib-x_window.Tpo $(DEPDIR)/gattrib-x_window.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_window.c' object='gattrib-x_window.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -c -o gattrib-x_window.o `test -f 'x_window.c' || echo '$(srcdir)/'`x_window.c gattrib-x_window.obj: x_window.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -MT gattrib-x_window.obj -MD -MP -MF $(DEPDIR)/gattrib-x_window.Tpo -c -o gattrib-x_window.obj `if test -f 'x_window.c'; then $(CYGPATH_W) 'x_window.c'; else $(CYGPATH_W) '$(srcdir)/x_window.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gattrib-x_window.Tpo $(DEPDIR)/gattrib-x_window.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_window.c' object='gattrib-x_window.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -c -o gattrib-x_window.obj `if test -f 'x_window.c'; then $(CYGPATH_W) 'x_window.c'; else $(CYGPATH_W) '$(srcdir)/x_window.c'; fi` gattrib-x_gtksheet.o: x_gtksheet.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -MT gattrib-x_gtksheet.o -MD -MP -MF $(DEPDIR)/gattrib-x_gtksheet.Tpo -c -o gattrib-x_gtksheet.o `test -f 'x_gtksheet.c' || echo '$(srcdir)/'`x_gtksheet.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gattrib-x_gtksheet.Tpo $(DEPDIR)/gattrib-x_gtksheet.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_gtksheet.c' object='gattrib-x_gtksheet.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -c -o gattrib-x_gtksheet.o `test -f 'x_gtksheet.c' || echo '$(srcdir)/'`x_gtksheet.c gattrib-x_gtksheet.obj: x_gtksheet.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -MT gattrib-x_gtksheet.obj -MD -MP -MF $(DEPDIR)/gattrib-x_gtksheet.Tpo -c -o gattrib-x_gtksheet.obj `if test -f 'x_gtksheet.c'; then $(CYGPATH_W) 'x_gtksheet.c'; else $(CYGPATH_W) '$(srcdir)/x_gtksheet.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gattrib-x_gtksheet.Tpo $(DEPDIR)/gattrib-x_gtksheet.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_gtksheet.c' object='gattrib-x_gtksheet.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -c -o gattrib-x_gtksheet.obj `if test -f 'x_gtksheet.c'; then $(CYGPATH_W) 'x_gtksheet.c'; else $(CYGPATH_W) '$(srcdir)/x_gtksheet.c'; fi` gattrib-x_dialog.o: x_dialog.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -MT gattrib-x_dialog.o -MD -MP -MF $(DEPDIR)/gattrib-x_dialog.Tpo -c -o gattrib-x_dialog.o `test -f 'x_dialog.c' || echo '$(srcdir)/'`x_dialog.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gattrib-x_dialog.Tpo $(DEPDIR)/gattrib-x_dialog.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_dialog.c' object='gattrib-x_dialog.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -c -o gattrib-x_dialog.o `test -f 'x_dialog.c' || echo '$(srcdir)/'`x_dialog.c gattrib-x_dialog.obj: x_dialog.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -MT gattrib-x_dialog.obj -MD -MP -MF $(DEPDIR)/gattrib-x_dialog.Tpo -c -o gattrib-x_dialog.obj `if test -f 'x_dialog.c'; then $(CYGPATH_W) 'x_dialog.c'; else $(CYGPATH_W) '$(srcdir)/x_dialog.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gattrib-x_dialog.Tpo $(DEPDIR)/gattrib-x_dialog.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_dialog.c' object='gattrib-x_dialog.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -c -o gattrib-x_dialog.obj `if test -f 'x_dialog.c'; then $(CYGPATH_W) 'x_dialog.c'; else $(CYGPATH_W) '$(srcdir)/x_dialog.c'; fi` gattrib-x_fileselect.o: x_fileselect.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -MT gattrib-x_fileselect.o -MD -MP -MF $(DEPDIR)/gattrib-x_fileselect.Tpo -c -o gattrib-x_fileselect.o `test -f 'x_fileselect.c' || echo '$(srcdir)/'`x_fileselect.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gattrib-x_fileselect.Tpo $(DEPDIR)/gattrib-x_fileselect.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_fileselect.c' object='gattrib-x_fileselect.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -c -o gattrib-x_fileselect.o `test -f 'x_fileselect.c' || echo '$(srcdir)/'`x_fileselect.c gattrib-x_fileselect.obj: x_fileselect.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -MT gattrib-x_fileselect.obj -MD -MP -MF $(DEPDIR)/gattrib-x_fileselect.Tpo -c -o gattrib-x_fileselect.obj `if test -f 'x_fileselect.c'; then $(CYGPATH_W) 'x_fileselect.c'; else $(CYGPATH_W) '$(srcdir)/x_fileselect.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gattrib-x_fileselect.Tpo $(DEPDIR)/gattrib-x_fileselect.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_fileselect.c' object='gattrib-x_fileselect.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -c -o gattrib-x_fileselect.obj `if test -f 'x_fileselect.c'; then $(CYGPATH_W) 'x_fileselect.c'; else $(CYGPATH_W) '$(srcdir)/x_fileselect.c'; fi` gattrib-s_rename.o: s_rename.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -MT gattrib-s_rename.o -MD -MP -MF $(DEPDIR)/gattrib-s_rename.Tpo -c -o gattrib-s_rename.o `test -f 's_rename.c' || echo '$(srcdir)/'`s_rename.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gattrib-s_rename.Tpo $(DEPDIR)/gattrib-s_rename.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_rename.c' object='gattrib-s_rename.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -c -o gattrib-s_rename.o `test -f 's_rename.c' || echo '$(srcdir)/'`s_rename.c gattrib-s_rename.obj: s_rename.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -MT gattrib-s_rename.obj -MD -MP -MF $(DEPDIR)/gattrib-s_rename.Tpo -c -o gattrib-s_rename.obj `if test -f 's_rename.c'; then $(CYGPATH_W) 's_rename.c'; else $(CYGPATH_W) '$(srcdir)/s_rename.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gattrib-s_rename.Tpo $(DEPDIR)/gattrib-s_rename.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_rename.c' object='gattrib-s_rename.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -c -o gattrib-s_rename.obj `if test -f 's_rename.c'; then $(CYGPATH_W) 's_rename.c'; else $(CYGPATH_W) '$(srcdir)/s_rename.c'; fi` gattrib-s_misc.o: s_misc.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -MT gattrib-s_misc.o -MD -MP -MF $(DEPDIR)/gattrib-s_misc.Tpo -c -o gattrib-s_misc.o `test -f 's_misc.c' || echo '$(srcdir)/'`s_misc.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gattrib-s_misc.Tpo $(DEPDIR)/gattrib-s_misc.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_misc.c' object='gattrib-s_misc.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -c -o gattrib-s_misc.o `test -f 's_misc.c' || echo '$(srcdir)/'`s_misc.c gattrib-s_misc.obj: s_misc.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -MT gattrib-s_misc.obj -MD -MP -MF $(DEPDIR)/gattrib-s_misc.Tpo -c -o gattrib-s_misc.obj `if test -f 's_misc.c'; then $(CYGPATH_W) 's_misc.c'; else $(CYGPATH_W) '$(srcdir)/s_misc.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gattrib-s_misc.Tpo $(DEPDIR)/gattrib-s_misc.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_misc.c' object='gattrib-s_misc.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -c -o gattrib-s_misc.obj `if test -f 's_misc.c'; then $(CYGPATH_W) 's_misc.c'; else $(CYGPATH_W) '$(srcdir)/s_misc.c'; fi` gattrib-s_string_list.o: s_string_list.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -MT gattrib-s_string_list.o -MD -MP -MF $(DEPDIR)/gattrib-s_string_list.Tpo -c -o gattrib-s_string_list.o `test -f 's_string_list.c' || echo '$(srcdir)/'`s_string_list.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gattrib-s_string_list.Tpo $(DEPDIR)/gattrib-s_string_list.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_string_list.c' object='gattrib-s_string_list.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -c -o gattrib-s_string_list.o `test -f 's_string_list.c' || echo '$(srcdir)/'`s_string_list.c gattrib-s_string_list.obj: s_string_list.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -MT gattrib-s_string_list.obj -MD -MP -MF $(DEPDIR)/gattrib-s_string_list.Tpo -c -o gattrib-s_string_list.obj `if test -f 's_string_list.c'; then $(CYGPATH_W) 's_string_list.c'; else $(CYGPATH_W) '$(srcdir)/s_string_list.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gattrib-s_string_list.Tpo $(DEPDIR)/gattrib-s_string_list.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_string_list.c' object='gattrib-s_string_list.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -c -o gattrib-s_string_list.obj `if test -f 's_string_list.c'; then $(CYGPATH_W) 's_string_list.c'; else $(CYGPATH_W) '$(srcdir)/s_string_list.c'; fi` gattrib-s_sheet_data.o: s_sheet_data.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -MT gattrib-s_sheet_data.o -MD -MP -MF $(DEPDIR)/gattrib-s_sheet_data.Tpo -c -o gattrib-s_sheet_data.o `test -f 's_sheet_data.c' || echo '$(srcdir)/'`s_sheet_data.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gattrib-s_sheet_data.Tpo $(DEPDIR)/gattrib-s_sheet_data.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_sheet_data.c' object='gattrib-s_sheet_data.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -c -o gattrib-s_sheet_data.o `test -f 's_sheet_data.c' || echo '$(srcdir)/'`s_sheet_data.c gattrib-s_sheet_data.obj: s_sheet_data.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -MT gattrib-s_sheet_data.obj -MD -MP -MF $(DEPDIR)/gattrib-s_sheet_data.Tpo -c -o gattrib-s_sheet_data.obj `if test -f 's_sheet_data.c'; then $(CYGPATH_W) 's_sheet_data.c'; else $(CYGPATH_W) '$(srcdir)/s_sheet_data.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gattrib-s_sheet_data.Tpo $(DEPDIR)/gattrib-s_sheet_data.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_sheet_data.c' object='gattrib-s_sheet_data.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -c -o gattrib-s_sheet_data.obj `if test -f 's_sheet_data.c'; then $(CYGPATH_W) 's_sheet_data.c'; else $(CYGPATH_W) '$(srcdir)/s_sheet_data.c'; fi` gattrib-s_table.o: s_table.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -MT gattrib-s_table.o -MD -MP -MF $(DEPDIR)/gattrib-s_table.Tpo -c -o gattrib-s_table.o `test -f 's_table.c' || echo '$(srcdir)/'`s_table.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gattrib-s_table.Tpo $(DEPDIR)/gattrib-s_table.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_table.c' object='gattrib-s_table.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -c -o gattrib-s_table.o `test -f 's_table.c' || echo '$(srcdir)/'`s_table.c gattrib-s_table.obj: s_table.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -MT gattrib-s_table.obj -MD -MP -MF $(DEPDIR)/gattrib-s_table.Tpo -c -o gattrib-s_table.obj `if test -f 's_table.c'; then $(CYGPATH_W) 's_table.c'; else $(CYGPATH_W) '$(srcdir)/s_table.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gattrib-s_table.Tpo $(DEPDIR)/gattrib-s_table.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_table.c' object='gattrib-s_table.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -c -o gattrib-s_table.obj `if test -f 's_table.c'; then $(CYGPATH_W) 's_table.c'; else $(CYGPATH_W) '$(srcdir)/s_table.c'; fi` gattrib-s_object.o: s_object.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -MT gattrib-s_object.o -MD -MP -MF $(DEPDIR)/gattrib-s_object.Tpo -c -o gattrib-s_object.o `test -f 's_object.c' || echo '$(srcdir)/'`s_object.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gattrib-s_object.Tpo $(DEPDIR)/gattrib-s_object.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_object.c' object='gattrib-s_object.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -c -o gattrib-s_object.o `test -f 's_object.c' || echo '$(srcdir)/'`s_object.c gattrib-s_object.obj: s_object.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -MT gattrib-s_object.obj -MD -MP -MF $(DEPDIR)/gattrib-s_object.Tpo -c -o gattrib-s_object.obj `if test -f 's_object.c'; then $(CYGPATH_W) 's_object.c'; else $(CYGPATH_W) '$(srcdir)/s_object.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gattrib-s_object.Tpo $(DEPDIR)/gattrib-s_object.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_object.c' object='gattrib-s_object.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -c -o gattrib-s_object.obj `if test -f 's_object.c'; then $(CYGPATH_W) 's_object.c'; else $(CYGPATH_W) '$(srcdir)/s_object.c'; fi` gattrib-s_attrib.o: s_attrib.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -MT gattrib-s_attrib.o -MD -MP -MF $(DEPDIR)/gattrib-s_attrib.Tpo -c -o gattrib-s_attrib.o `test -f 's_attrib.c' || echo '$(srcdir)/'`s_attrib.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gattrib-s_attrib.Tpo $(DEPDIR)/gattrib-s_attrib.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_attrib.c' object='gattrib-s_attrib.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -c -o gattrib-s_attrib.o `test -f 's_attrib.c' || echo '$(srcdir)/'`s_attrib.c gattrib-s_attrib.obj: s_attrib.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -MT gattrib-s_attrib.obj -MD -MP -MF $(DEPDIR)/gattrib-s_attrib.Tpo -c -o gattrib-s_attrib.obj `if test -f 's_attrib.c'; then $(CYGPATH_W) 's_attrib.c'; else $(CYGPATH_W) '$(srcdir)/s_attrib.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gattrib-s_attrib.Tpo $(DEPDIR)/gattrib-s_attrib.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_attrib.c' object='gattrib-s_attrib.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -c -o gattrib-s_attrib.obj `if test -f 's_attrib.c'; then $(CYGPATH_W) 's_attrib.c'; else $(CYGPATH_W) '$(srcdir)/s_attrib.c'; fi` gattrib-s_toplevel.o: s_toplevel.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -MT gattrib-s_toplevel.o -MD -MP -MF $(DEPDIR)/gattrib-s_toplevel.Tpo -c -o gattrib-s_toplevel.o `test -f 's_toplevel.c' || echo '$(srcdir)/'`s_toplevel.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gattrib-s_toplevel.Tpo $(DEPDIR)/gattrib-s_toplevel.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_toplevel.c' object='gattrib-s_toplevel.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -c -o gattrib-s_toplevel.o `test -f 's_toplevel.c' || echo '$(srcdir)/'`s_toplevel.c gattrib-s_toplevel.obj: s_toplevel.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -MT gattrib-s_toplevel.obj -MD -MP -MF $(DEPDIR)/gattrib-s_toplevel.Tpo -c -o gattrib-s_toplevel.obj `if test -f 's_toplevel.c'; then $(CYGPATH_W) 's_toplevel.c'; else $(CYGPATH_W) '$(srcdir)/s_toplevel.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gattrib-s_toplevel.Tpo $(DEPDIR)/gattrib-s_toplevel.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_toplevel.c' object='gattrib-s_toplevel.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -c -o gattrib-s_toplevel.obj `if test -f 's_toplevel.c'; then $(CYGPATH_W) 's_toplevel.c'; else $(CYGPATH_W) '$(srcdir)/s_toplevel.c'; fi` gattrib-s_visibility.o: s_visibility.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -MT gattrib-s_visibility.o -MD -MP -MF $(DEPDIR)/gattrib-s_visibility.Tpo -c -o gattrib-s_visibility.o `test -f 's_visibility.c' || echo '$(srcdir)/'`s_visibility.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gattrib-s_visibility.Tpo $(DEPDIR)/gattrib-s_visibility.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_visibility.c' object='gattrib-s_visibility.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -c -o gattrib-s_visibility.o `test -f 's_visibility.c' || echo '$(srcdir)/'`s_visibility.c gattrib-s_visibility.obj: s_visibility.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -MT gattrib-s_visibility.obj -MD -MP -MF $(DEPDIR)/gattrib-s_visibility.Tpo -c -o gattrib-s_visibility.obj `if test -f 's_visibility.c'; then $(CYGPATH_W) 's_visibility.c'; else $(CYGPATH_W) '$(srcdir)/s_visibility.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gattrib-s_visibility.Tpo $(DEPDIR)/gattrib-s_visibility.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_visibility.c' object='gattrib-s_visibility.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -c -o gattrib-s_visibility.obj `if test -f 's_visibility.c'; then $(CYGPATH_W) 's_visibility.c'; else $(CYGPATH_W) '$(srcdir)/s_visibility.c'; fi` gattrib-gattrib.o: gattrib.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -MT gattrib-gattrib.o -MD -MP -MF $(DEPDIR)/gattrib-gattrib.Tpo -c -o gattrib-gattrib.o `test -f 'gattrib.c' || echo '$(srcdir)/'`gattrib.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gattrib-gattrib.Tpo $(DEPDIR)/gattrib-gattrib.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gattrib.c' object='gattrib-gattrib.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -c -o gattrib-gattrib.o `test -f 'gattrib.c' || echo '$(srcdir)/'`gattrib.c gattrib-gattrib.obj: gattrib.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -MT gattrib-gattrib.obj -MD -MP -MF $(DEPDIR)/gattrib-gattrib.Tpo -c -o gattrib-gattrib.obj `if test -f 'gattrib.c'; then $(CYGPATH_W) 'gattrib.c'; else $(CYGPATH_W) '$(srcdir)/gattrib.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gattrib-gattrib.Tpo $(DEPDIR)/gattrib-gattrib.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gattrib.c' object='gattrib-gattrib.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gattrib_CPPFLAGS) $(CPPFLAGS) $(gattrib_CFLAGS) $(CFLAGS) -c -o gattrib-gattrib.obj `if test -f 'gattrib.c'; then $(CYGPATH_W) 'gattrib.c'; else $(CYGPATH_W) '$(srcdir)/gattrib.c'; fi` mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) installdirs: for dir in "$(DESTDIR)$(bindir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-binPROGRAMS install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-binPROGRAMS .MAKE: install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \ clean-binPROGRAMS clean-generic clean-libtool cscopelist-am \ ctags ctags-am distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-binPROGRAMS \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am uninstall-binPROGRAMS # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/gattrib/src/s_misc.c0000664000175000017500000000677012220647257013765 00000000000000/* gEDA - GPL Electronic Design Automation * gattrib -- gEDA component and net attribute manipulation using spreadsheet. * Copyright (C) 2003-2010 Stuart D. Brorson. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! \file * \brief Miscellaneous STRING_LIST functions */ #include #include #include #ifdef HAVE_STRING_H #include #endif /*------------------------------------------------------------------ * Gattrib specific includes *------------------------------------------------------------------*/ #include /* geda library fcns */ #include "../include/struct.h" /* typdef and struct declarations */ #include "../include/prototype.h" /* function prototypes */ #include "../include/globals.h" #ifdef HAVE_LIBDMALLOC #include #endif /*------------------------------------------------------------------ * The below fcns identical to those defined in * geda-gnetlist/src/s_misc.c *------------------------------------------------------------------*/ /*! * Running count of number of characters printed on current line. */ static int char_index = 0; /*! \brief Print message in verbose mode * * Print the supplied message in verbose mode. Line wrap if necessary. * * Identical to that defined in gnetlist/src/s_misc.c * \param string String to be printed */ void verbose_print(char *string) { if (verbose_mode) { printf("%s", string); char_index++; if ((char_index + 1) >= 78) { printf("\n"); char_index = 0; } } } /*! \brief Print "DONE" message in verbose mode * * Prints the "DONE" message in verbose mode, wrapping before printing * if near the end of line. * * Identical to function defined in gnetlist/src/s_misc.c */ void verbose_done(void) { if (verbose_mode) { if (char_index >= 70) { printf("\nDONE\n"); } else { printf(" DONE\n"); } char_index = 0; } } /*! \brief Reset the running character count * * Reset the current characted count. * * Identical to function defined in gnetlist/src/s_misc.c */ void verbose_reset_index(void) { char_index = 0; } /*------------------------------------------------------------------ * Gattrib specific utilities *------------------------------------------------------------------*/ char *s_misc_remaining_string(gchar *string, gchar delimiter, gint count) { gint i; gchar *remaining; gchar *return_value; /* find count'th delimiter */ remaining = string; for (i = 0; i < count; i++) { remaining = strchr(remaining, delimiter); if (!remaining) { return (NULL); } remaining++; } /* skip whitespace */ while (*remaining == ' ') { remaining++; } if (!(*remaining)) { return (NULL); } /* copy remainder into allocated return string */ return_value = g_strdup(remaining); /* return string */ return (return_value); } geda-gaf-1.8.2/gattrib/src/s_table.c0000664000175000017500000006305412220647257014117 00000000000000/* gEDA - GPL Electronic Design Automation * gattrib -- gEDA component and net attribute manipulation using spreadsheet. * Copyright (C) 2003-2010 Stuart D. Brorson. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*------------------------------------------------------------------*/ /*! \file * \brief Functions to manipulate the TABLE structure * * This file holds functions involved in manipulating the TABLE structure, * which is subsidiary to SHEET_DATA. TABLE is a 2 dimensional array * of structs; each struct corresponds to the data about an element * in a single cell of the spreadsheet. * \todo TABLE should also store its dimensions in its own data * structure to save carrying the dimensions around separately. */ #include #include #ifdef HAVE_STRING_H #include #endif #include /*------------------------------------------------------------------ * Gattrib specific includes *------------------------------------------------------------------*/ #include /* geda library functions */ #include "../include/struct.h" /* typdef and struct declarations */ #include "../include/prototype.h" /* function prototypes */ #include "../include/globals.h" #ifdef HAVE_LIBDMALLOC #include #endif /* =================== Public Functions ====================== */ /*------------------------------------------------------------------*/ /*! \brief Create a new table * * This is the table creator. It returns a pointer to * an initialized TABLE struct. As calling args, it needs * the number of rows and cols to allocate. The table is a * dynamically allocated 2D array of structs. To access data in * a cell in the table, you reference (for example): * ((sheet_data->comp_table)[i][j]).attrib_value * (Parens used only for clarity. It works without parens.) * \param rows Number of rows required in the new table * \param cols Number of columns required in the new table * \returns a pointer to an initialized TABLE struct. */ TABLE **s_table_new(int rows, int cols) { TABLE **new_table; int i, j; /* Here I am trying to create a 2 dimensional array of structs */ new_table = (TABLE **) g_malloc(rows*sizeof(TABLE *)); for (i = 0; i < rows; i++) { new_table[i] = (TABLE *) g_malloc(cols * sizeof(TABLE)); /* Note that I should put some checks in here to verify that * malloc worked correctly. */ } /* Now pre-load the table with NULLs */ for (i = 0; i < rows; i++) { for (j = 0; j < cols; j++) { (new_table[i][j]).attrib_value = NULL; (new_table[i][j]).row_name = NULL; (new_table[i][j]).col_name = NULL; (new_table[i][j]).row = i; (new_table[i][j]).col = j; (new_table[i][j]).visibility = VISIBLE; (new_table[i][j]).show_name_value = SHOW_VALUE; } } return (new_table); } /*------------------------------------------------------------------*/ /*! \brief Resize a TABLE * * This function recreates the table with * a new size. It can only increase * the number of cols. You can't increase the number of rows since * gattrib doesn't allow you to input new components. Decreasing the * number of cols is also TBD. * \param table Table to resize * \param rows Number of rows in the table * \param old_cols Number of columns previously in the table * \param new_cols Number of columns required in the table * \returns a pointer to the resized table * \todo The row and column information could be stored in the * TABLE struct. */ TABLE **s_table_resize(TABLE **table, int rows, int old_cols, int new_cols) { int i, j; /* Here I am trying to resize the 2 dimensional array of structs */ for (i = 0; i < rows; i++) { table[i] = (TABLE *) realloc(table[i], new_cols*sizeof(TABLE) ); if (table[i] == NULL) exit(-1); /* die if failed to realloc new memory */ } /* Now pre-load new cols with NULLs */ for (i = 0; i < rows; i++) { for (j = old_cols; j < new_cols; j++) { (table[i][j]).attrib_value = NULL; (table[i][j]).row_name = NULL; (table[i][j]).col_name = NULL; (table[i][j]).row = i; (table[i][j]).col = j; (table[i][j]).visibility = VISIBLE; (table[i][j]).show_name_value = SHOW_VALUE; } } return table; } /*------------------------------------------------------------------*/ /*! \brief Destroy a table * * This function destroys the old table. * Use it after reading in a new * page to get rid of the old table before building a new one. * \param table Table to destroy * \param row_count Number of rows in table * \param col_count Number of columns in table */ void s_table_destroy(TABLE **table, int row_count, int col_count) { int i, j; if (table == NULL) return; for (i = 0; i < row_count; i++) { for (j = 0; j < col_count; j++) { g_free( (table[i][j]).attrib_value ); g_free( (table[i][j]).row_name ); g_free( (table[i][j]).col_name ); } } for (i = 0; i < row_count; i++) { g_free( table[i] ); } g_free(table); table = NULL; return; } /*------------------------------------------------------------------*/ /*! \brief Get a string index number * * This function returns the index number * when given a STRING_LIST and a * string to match. It finds the index * number by iterating through the master list. * \param local_list * \param local_string * \returns the index of the string */ int s_table_get_index(STRING_LIST *local_list, char *local_string) { int count = 0; STRING_LIST *list_element; #ifdef DEBUG printf("In s_table_get_index, examining %s to see if it is in the list.\n", local_string); #endif list_element = local_list; while (list_element != NULL) { if (strcmp(list_element->data, local_string) == 0) { return count; } count++; list_element = list_element->next; } return(-1); /* return code when string is not in master_list */ } /*------------------------------------------------------------------*/ /*! \brief Create attribute pair * * This function takes a table, a row list, and a row name, * and returns a list holding * name=value pairs for all attribs pertainent to that particular * row. * If the row holds no attribs, it just returns NULL. * * \param row_name Name of the row to search for * \param table Table to be searched * \param row_list list of rows * \param num_attribs * \returns STRING_LIST of name=value pairs */ STRING_LIST *s_table_create_attrib_pair(gchar *row_name, TABLE **table, STRING_LIST *row_list, int num_attribs) { STRING_LIST *attrib_pair_list; char *attrib_name, *attrib_value, *name_value_pair; int row, col; int count = 0; attrib_pair_list = s_string_list_new(); row = s_table_get_index(row_list, row_name); /* Sanity check */ if (row == -1) { /* we didn't find the item in the list */ fprintf (stderr, "In s_table_create_attrib_pair, we didn't find the row name in the row list!\n"); return attrib_pair_list; } for (col = 0; col < num_attribs; col++) { /* pull attrib from table. If non-null, add it to attrib_pair_list */ if ( (table[row][col]).attrib_value != NULL) { attrib_name = (table[row][col]).col_name; attrib_value = (table[row][col]).attrib_value; name_value_pair = g_strconcat(attrib_name, "=", attrib_value, NULL); s_string_list_add_item(attrib_pair_list, &count, name_value_pair); g_free(name_value_pair); } } return attrib_pair_list; } /*------------------------------------------------------------------*/ /*! \brief Add components to the component table * * This fcn iterates over adds all * objects found on this page looking * for components. When it finds a component, it finds all component * attribs and sticks them in the TABLE. * \param obj_list pointer to GList containing objects on this page */ void s_table_add_toplevel_comp_items_to_comp_table (const GList *obj_list) { gchar *temp_uref; int row, col; gchar *attrib_text; gchar *attrib_name; gchar *attrib_value; const GList *o_iter; GList *a_iter; OBJECT *a_current; gint old_visibility, old_show_name_value; if (verbose_mode) { printf("- Starting internal component TABLE creation\n"); } #ifdef DEBUG fflush(stderr); fflush(stdout); printf("=========== Just entered s_table_add_toplevel_comp_items_to_comp_table! ==============\n"); #endif /* ----- Iterate through all objects found on page ----- */ for (o_iter = obj_list; o_iter != NULL; o_iter = g_list_next (o_iter)) { OBJECT *o_current = o_iter->data; #ifdef DEBUG printf(" ---> In s_table_add_toplevel_comp_items_to_comp_table, examining o_current->name = %s\n", o_current->name); #endif /* ----- Now process objects found on page ----- */ if (o_current->type == OBJ_COMPLEX && o_current->attribs != NULL) { /* ---- Don't process part if it lacks a refdes ----- */ temp_uref = g_strdup(s_attrib_get_refdes(o_current)); if (temp_uref) { #if DEBUG printf(" In s_table_add_toplevel_comp_items_to_comp_table, found component on page. Refdes = %s\n", temp_uref); #endif verbose_print(" C"); /* Having found a component, we loop over all attribs in this * component, and stick them * into cells in the table. */ a_iter = o_current->attribs; while (a_iter != NULL) { a_current = a_iter->data; if (a_current->type == OBJ_TEXT && a_current->text != NULL) { /* found an attribute */ /* may need to check more thoroughly here. . . . */ attrib_text = g_strdup(a_current->text->string); attrib_name = u_basic_breakup_string(attrib_text, '=', 0); attrib_value = s_misc_remaining_string(attrib_text, '=', 1); old_visibility = o_is_visible (pr_current, a_current) ? VISIBLE : INVISIBLE; old_show_name_value = a_current->show_name_value; /* Don't include "refdes" or "slot" because they form the row name. */ /* Also don't include "net" per bug found by Steve W. 4.3.2007 -- SDB */ if ( (strcmp(attrib_name, "refdes") != 0) && (strcmp(attrib_name, "net") != 0) && (strcmp(attrib_name, "slot") != 0) ) { /* Get row and col where to put this attrib */ row = s_table_get_index(sheet_head->master_comp_list_head, temp_uref); col = s_table_get_index(sheet_head->master_comp_attrib_list_head, attrib_name); /* Sanity check */ if (row == -1 || col == -1) { /* we didn't find the item in the table */ fprintf (stderr, "In s_table_add_toplevel_comp_items_to_comp_table, we didn't find either row or col in the lists!\n"); } else { #if DEBUG printf(" In s_table_add_toplevel_comp_items_to_comp_table, about to add row %d, col %d, attrib_value = %s\n", row, col, attrib_value); printf(" . . . current address of attrib_value cell is [%p]\n", &((sheet_head->component_table)[row][col]).attrib_value); #endif /* Is there a compelling reason for me to put this into a separate fcn? */ ((sheet_head->component_table)[row][col]).row = row; ((sheet_head->component_table)[row][col]).col = col; ((sheet_head->component_table)[row][col]).row_name = g_strdup(temp_uref); ((sheet_head->component_table)[row][col]).col_name = g_strdup(attrib_name); ((sheet_head->component_table)[row][col]).attrib_value = g_strdup(attrib_value); ((sheet_head->component_table)[row][col]).visibility = old_visibility; ((sheet_head->component_table)[row][col]).show_name_value = old_show_name_value; } } g_free(attrib_name); g_free(attrib_text); g_free(attrib_value); } a_iter = g_list_next (a_iter); } /* while (a_current != NULL) */ g_free(temp_uref); } /* if (temp_uref) */ } /* if (o_current->type == OBJ_COMPLEX) */ } verbose_done(); } #if 0 /*------------------------------------------------------------------*/ /*! \brief Add nets to net table * * This function iterates over adds all * items found on this page looking * for nets and adds them individually to the net table. Looping over * objects occurs here. * * \param start_obj Pointer to first object * * \todo Why do the calling semantics of this function disagree with * s_table_add_toplevel_pin_items_to_pin_table()? That function * takes a GList, this one takes a pointer to OBJECT. */ void s_table_add_toplevel_net_items_to_net_table(OBJECT *start_obj) { OBJECT *o_current; char *temp_netname; int row, col; char *attrib_text; char *attrib_name; char *attrib_value; ATTRIB *a_current; /* ----- Iterate through all objects found on page ----- */ o_current = start_obj; while (o_current != NULL) { /* ----- Now process objects found on page ----- */ if (o_current->type == OBJ_NET) { #if DEBUG fflush(stderr); fflush(stdout); printf("In s_table_add_toplevel_net_items_to_net_table, Found net on page\n"); #endif verbose_print(" N"); /* Having found a net, we stick it into the table. */ a_current = o_current->attribs; while (a_current != NULL) { if (a_current->object->type == OBJ_TEXT && a_current->object->text != NULL) { /* found an attribute */ /* may need to check more thoroughly here. . . . */ attrib_text = g_strdup(a_current->object->text->string); attrib_name = u_basic_breakup_string(attrib_text, '=', 0); attrib_value = s_misc_remaining_string(attrib_text, '=', 1); if (strcmp(attrib_name, "netname") != 0) { /* Don't include "netname" */ /* Get row and col where to put this attrib */ row = s_table_get_index(sheet_head->master_net_list_head, temp_netname); col = s_table_get_index(sheet_head->master_net_attrib_list_head, attrib_name); #if DEBUG fflush(stderr); fflush(stdout); printf("In s_table_add_toplevel_net_items_to_net_table, about to add row %d, col %d, attrib_value = %s\n", row, col, attrib_value); printf(" . . . current address of attrib_value cell is [%p]\n", &((sheet_head->net_table)[row][col]).attrib_value); #endif /* Is there a compelling reason for me to put this into a separate fcn? */ ((sheet_head->net_table)[row][col]).row = row; ((sheet_head->net_table)[row][col]).col = col; ((sheet_head->net_table)[row][col]).row_name = g_strdup(temp_netname); ((sheet_head->net_table)[row][col]).col_name = g_strdup(attrib_name); ((sheet_head->net_table)[row][col]).attrib_value = g_strdup(attrib_value); } g_free(attrib_name); g_free(attrib_text); g_free(attrib_value); } a_current = a_current->next; } /* while (a_current != NULL) */ g_free(temp_netname); } /*--- if (o_current->type == OBJ_NET) ---*/ o_current = o_current->next; /* iterate to next object on page */ } /* while o_current != NULL */ verbose_done(); #if DEBUG fflush(stderr); fflush(stdout); printf("In s_table_add_toplevel_net_items_to_net_table -- we are about to return\n"); #endif } #endif /*------------------------------------------------------------------*/ /*! \brief Add pins to pin table. * * This function iterates over adds all items found on this page * looking for pins. WHen it finds a pin, it gathers all * pin attribs and sticks them into the pin table. * \param obj_list List of objects on page */ void s_table_add_toplevel_pin_items_to_pin_table (const GList *obj_list) { gchar *temp_uref; gchar *pinnumber; gchar *row_label; int row, col; gchar *attrib_text; gchar *attrib_name; gchar *attrib_value; const GList *o_iter; GList *a_iter; GList *o_lower_iter; OBJECT *pin_attrib; if (verbose_mode) { printf("- Starting internal pin TABLE creation\n"); } #ifdef DEBUG printf("=========== Just entered s_table_add_toplevel_pin_items_to_pin_table! ==============\n"); #endif /* ----- Iterate through all objects found on page ----- */ for (o_iter = obj_list; o_iter != NULL; o_iter = g_list_next (o_iter)) { OBJECT *o_current = o_iter->data; #ifdef DEBUG printf(" ---> In s_table_add_toplevel_pin_items_to_pin_table, examining o_current->name = %s\n", o_current->name); #endif /* ----- Now process objects found on page ----- */ if (o_current->type == OBJ_COMPLEX && o_current->attribs != NULL) { /* ---- Don't process part if it lacks a refdes ----- */ temp_uref = s_attrib_get_refdes(o_current); if (temp_uref) { /* ----- Now iterate through lower level objects looking for pins. ----- */ for (o_lower_iter = o_current->complex->prim_objs; o_lower_iter != NULL; o_lower_iter = g_list_next (o_lower_iter)) { OBJECT *o_lower_current = o_lower_iter->data; if (o_lower_current->type == OBJ_PIN) { /* ----- Found a pin. First get its pinnumber. then get attrib head and loop on attribs. ----- */ pinnumber = o_attrib_search_object_attribs_by_name (o_lower_current, "pinnumber", 0); row_label = g_strconcat(temp_uref, ":", pinnumber, NULL); #if DEBUG printf(" In s_table_add_toplevel_pin_items_to_pin_table, examining pin %s\n", row_label); #endif a_iter = o_lower_current->attribs; while (a_iter != NULL) { pin_attrib = a_iter->data; if (pin_attrib->type == OBJ_TEXT && pin_attrib->text != NULL) { /* found an attribute */ attrib_text = g_strdup(pin_attrib->text->string); attrib_name = u_basic_breakup_string(attrib_text, '=', 0); attrib_value = s_misc_remaining_string(attrib_text, '=', 1); if ( (strcmp(attrib_name, "pinnumber") != 0) && (attrib_value != 0) ) { /* Don't include "pinnumber" because it is already in other master list. * Also must ensure that value is non-null; certain symbols are not well formed. */ /* Get row and col where to put this attrib */ row = s_table_get_index(sheet_head->master_pin_list_head, row_label); col = s_table_get_index(sheet_head->master_pin_attrib_list_head, attrib_name); /* Sanity check */ if (row == -1 || col == -1) { /* we didn't find the item in the table */ fprintf (stderr, "In s_table_add_toplevel_pin_items_to_pin_table, we didn't find either row or col in the lists!\n"); } else { #if DEBUG printf(" In s_table_add_toplevel_pin_items_to_pin_table, about to add row %d, col %d, attrib_value = %s\n", row, col, attrib_value); printf(" . . . current address of attrib_value cell is [%p]\n", &((sheet_head->component_table)[row][col]).attrib_value); #endif /* Is there a compelling reason for me to put this into a separate fcn? */ ((sheet_head->pin_table)[row][col]).row = row; ((sheet_head->pin_table)[row][col]).col = col; ((sheet_head->pin_table)[row][col]).row_name = g_strdup(row_label); ((sheet_head->pin_table)[row][col]).col_name = g_strdup(attrib_name); ((sheet_head->pin_table)[row][col]).attrib_value = g_strdup(attrib_value); } } g_free(attrib_name); g_free(attrib_text); g_free(attrib_value); } a_iter = g_list_next (a_iter); } /* while (pin_attrib != NULL) */ g_free(pinnumber); g_free(row_label); } } } g_free(temp_uref); } } verbose_done(); } /*------------------------------------------------------------------*/ /*! \brief Push spreadsheet data to TABLEs. * * This function traverses the spreadsheet, * extracts the attribs from * the cells, and places them back into TABLE. This is the * first step in saving out a project. */ void s_table_gtksheet_to_all_tables() { int num_rows; int num_cols; STRING_LIST *master_row_list; STRING_LIST *master_col_list; TABLE **local_table; GtkSheet *local_gtk_sheet; /* First handle component sheet */ num_rows = sheet_head->comp_count; num_cols = sheet_head->comp_attrib_count; local_gtk_sheet = sheets[0]; master_row_list = sheet_head->master_comp_list_head; master_col_list = sheet_head->master_comp_attrib_list_head; local_table = sheet_head->component_table; /* now fill out new table */ #ifdef DEBUG printf("In s_table_gtksheet_to_all_tables, now about to fill out new component table.\n"); #endif s_table_gtksheet_to_table(local_gtk_sheet, master_row_list, master_col_list, local_table, num_rows, num_cols); #if 0 /* Next handle net sheet */ num_rows = sheet_head->net_count; num_cols = sheet_head->net_attrib_count; local_gtk_sheet = sheets[1]; master_row_list = sheet_head->master_net_list_head; master_col_list = sheet_head->master_net_attrib_list_head; local_table = sheet_head->net_table; s_table_gtksheet_to_table(local_gtk_sheet, master_row_list, master_col_list, local_table, num_rows, num_cols); #endif #ifdef UNIMPLEMENTED_FEATURES /* Finally, handle component pin sheet */ num_rows = sheet_head->pin_count; num_cols = sheet_head->pin_attrib_count; local_gtk_sheet = sheets[2]; master_row_list = sheet_head->master_pin_list_head; master_col_list = sheet_head->master_pin_attrib_list_head; /* local_table = s_table_new(num_rows, num_cols); */ local_table = sheet_head->pin_table; s_table_gtksheet_to_table(local_gtk_sheet, master_row_list, master_col_list, local_table, num_rows, num_cols); #endif return; } /* =================== Private Functions ====================== */ /*------------------------------------------------------------------*/ /*! \brief Extract attributes from gtksheet into TABLE * * This function does the actual heavy lifting of looping * through the spreadsheet, extracting the attribs from * the cells, and placing them back into TABLE. This is the * first step in saving out a project. * * \param local_gtk_sheet GtkSheet to save * \param master_row_list STRING_LIST of rows * \param master_col_list STRING_LIST of columns * \param local_table TABLE structure to fill * \param num_rows Number of rows in table * \param num_cols Number of columns in table */ void s_table_gtksheet_to_table(GtkSheet *local_gtk_sheet, STRING_LIST *master_row_list, STRING_LIST *master_col_list, TABLE **local_table, int num_rows, int num_cols) { int row, col; STRING_LIST *row_list_item; gchar *row_title; STRING_LIST *col_list_item; gchar *col_title; gchar *attrib_value; #ifdef DEBUG printf("********** Entering s_table_gtksheet_to_table ******************\n"); #endif row_list_item = master_row_list; for (row = 0; row < num_rows; row++) { row_title = (gchar *) g_strdup(row_list_item->data); col_list_item = master_col_list; for (col = 0; col < num_cols; col++) { col_title = (gchar *) g_strdup(col_list_item->data); /* get value of attrib in cell */ attrib_value = (gchar *) gtk_sheet_cell_get_text(GTK_SHEET(local_gtk_sheet), row, col); #if 0 if (strlen(attrib_value) == 0) { /* g_free(attrib_value); */ /* sometimes we have spurious, zero length strings creep */ attrib_value = NULL; /* into the GtkSheet */ } #endif #ifdef DEBUG printf("In s_table_gtksheet_to_table, found attrib_value = %s in cell row=%d, col=%d\n", attrib_value, row, col); #endif /* first handle attrib value in cell */ #ifdef DEBUG printf(" Updating attrib_value %s\n", attrib_value); #endif g_free( local_table[row][col].attrib_value ); if (attrib_value != NULL) { local_table[row][col].attrib_value = (gchar *) g_strdup(attrib_value); } else { local_table[row][col].attrib_value = NULL; } /* next handle name of row (also held in TABLE cell) */ #ifdef DEBUG printf(" Updating row_name %s\n", row_title); #endif g_free( local_table[row][col].row_name ); if (row_title != NULL) { local_table[row][col].row_name = (gchar *) g_strdup(row_title); } else { local_table[row][col].row_name = NULL; } /* finally handle name of col */ #ifdef DEBUG printf(" Updating col_name %s\n", col_title); #endif g_free( local_table[row][col].col_name ); if (col_title != NULL) { local_table[row][col].col_name = (gchar *) g_strdup(col_title); } else { local_table[row][col].col_name = NULL; } /* get next col list item and then iterate. */ col_list_item = col_list_item->next; } row_list_item = row_list_item->next; } return; } geda-gaf-1.8.2/gattrib/src/g_rc.c0000664000175000017500000000537312220647257013420 00000000000000/* gEDA - GPL Electronic Design Automation * gattrib -- gEDA component and net attribute manipulation using spreadsheet. * Copyright (C) 2003-2010 Stuart D. Brorson. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! \file * * \brief RC-file specific functions * * RC-file specific functions for Scheme. At the moment it only * contains a function to test the version number of the program. */ #include #include #include #include #include #include #ifdef HAVE_STRING_H #include #endif #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_UNISTD_H #include #endif /*------------------------------------------------------------------ * Gattrib specific includes *------------------------------------------------------------------*/ #include /* geda library fcns */ #include "../include/struct.h" /* typdef and struct declarations */ #include "../include/prototype.h" /* function prototypes */ #include "../include/globals.h" #include "../include/i_vars.h" /* This holds all the guile variable defs */ #ifdef HAVE_LIBDMALLOC #include #endif /*------------------------------------------------------------------*/ /*! \brief Test the version of gattrib and gEDA/gaf * * \param version Version being tested * \returns false if incorrect version, true if OK */ SCM g_rc_gattrib_version(SCM scm_version) { char *version; SCM ret = SCM_BOOL_T; SCM_ASSERT (scm_is_string (scm_version), scm_version, SCM_ARG1, "gattrib-version"); version = scm_to_utf8_string (scm_version); if (g_strcasecmp (version, PACKAGE_DATE_VERSION) != 0) { fprintf(stderr, "You are running gEDA/gaf version [%s%s.%s],\n", PREPEND_VERSION_STRING, PACKAGE_DOTTED_VERSION, PACKAGE_DATE_VERSION); fprintf(stderr, "but you have a version [%s] gattribrc file.\n", version); fprintf(stderr, "Please be sure that you have the latest rc file.\n"); ret = SCM_BOOL_F; } free (version); return ret; } geda-gaf-1.8.2/gattrib/src/x_fileselect.c0000664000175000017500000002632512220647257015154 00000000000000/* gEDA - GPL Electronic Design Automation * gattrib -- gEDA component and net attribute manipulation using spreadsheet. * Copyright (C) 2003-2010 Stuart D. Brorson. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*------------------------------------------------------------------*/ /*! \file * \brief Functions to display file open/save dialog box. * * This file holds fcns used to display the file open/save dialog box. * It was cloned from x_fileselect.c in gschem/src, and then hacked * by SDB for use in gattrib. */ #ifdef HAVE_CONFIG_H #include "config.h" #endif /*------------------------------------------------------------------ * Includes required to run graphical widgets. *------------------------------------------------------------------*/ #include #include #include #include #include #include #include #include #ifdef HAVE_SYS_PARAM_H #include #endif #include #ifdef HAVE_UNISTD_H #include #endif #ifdef HAVE_STRING_H #include #endif /*------------------------------------------------------------------ * Gattrib specific includes *------------------------------------------------------------------*/ #include #include /* geda library fcns */ #include "../include/struct.h" /* typdef and struct declarations */ #include "../include/prototype.h" /* function prototypes */ #include "../include/globals.h" #ifdef HAVE_LIBDMALLOC #include #endif /* ----- x_fileselect stuff begins here ----- */ /*------------------------------------------------------------------*/ /*! \brief Set up file filter for the file chooser * * This fcn creates and sets the file filter for the filechooser. * \param filechooser GtkFileChooser to set up */ static void x_fileselect_setup_filechooser_filters (GtkFileChooser *filechooser) { GtkFileFilter *filter; /* file filter for schematic files (*.sch) */ filter = gtk_file_filter_new (); gtk_file_filter_set_name (filter, "Schematics"); gtk_file_filter_add_pattern (filter, "*.sch"); gtk_file_chooser_add_filter (filechooser, filter); /* file filter for symbol files (*.sym) */ filter = gtk_file_filter_new (); gtk_file_filter_set_name (filter, "Symbols"); gtk_file_filter_add_pattern (filter, "*.sym"); gtk_file_chooser_add_filter (filechooser, filter); /* file filter for both symbol and schematic files (*.sym+*.sch) */ filter = gtk_file_filter_new (); gtk_file_filter_set_name (filter, "Schematics and symbols"); gtk_file_filter_add_pattern (filter, "*.sym"); gtk_file_filter_add_pattern (filter, "*.sch"); gtk_file_chooser_add_filter (filechooser, filter); /* file filter that match any file */ filter = gtk_file_filter_new (); gtk_file_filter_set_name (filter, "All files"); gtk_file_filter_add_pattern (filter, "*"); gtk_file_chooser_add_filter (filechooser, filter); } /*! \brief Open all files specified in the list. * * Open all files specified in the list. The caller is responsible for * freeing the strings and the list itself. * * The function updates the user interface. At the end of the function, * the toplevel's current page is set to the page of the last loaded page. * * \param [in] filenames list of files to be opened * \returns FALSE if any of the files could not be opened, TRUE otherwise */ gboolean x_fileselect_load_files (GSList *filenames) { GList *iter; PAGE *p_local; GSList *filename; /* iterate over selected files */ for (filename = filenames; filename != NULL; filename = g_slist_next (filename)) { gchar *string = (gchar*)filename->data; if (!quiet_mode) { s_log_message("Loading file [%s]\n", string); } s_page_goto (pr_current, s_page_new (pr_current, string)); if(s_toplevel_read_page(pr_current, string) == 0) { fprintf(stderr, "Couldn't load schematic [%s]\n", string); return FALSE; } /* Now add all items found to the master lists */ s_sheet_data_add_master_comp_list_items (s_page_objects (pr_current->page_current)); s_sheet_data_add_master_comp_attrib_list_items (s_page_objects (pr_current->page_current)); #if 0 /* Note that this must be changed. We need to input the entire project * before doing anything with the nets because we need to first * determine where they are all connected! */ s_sheet_data_add_master_net_list_items (pr_current->page_current->object_list); s_sheet_data_add_master_net_attrib_list_items (pr_current->page_current->object_list); #endif s_sheet_data_add_master_pin_list_items (s_page_objects (pr_current->page_current)); s_sheet_data_add_master_pin_attrib_list_items (s_page_objects (pr_current->page_current)); } /* end of loop over files */ /* ---------- Sort the master lists ---------- */ s_string_list_sort_master_comp_list(); s_string_list_sort_master_comp_attrib_list(); #if 0 /* Note that this must be changed. We need to input the entire project * before doing anything with the nets because we need to first * determine where they are all connected! */ s_string_list_sort_master_net_list(); s_string_list_sort_master_net_attrib_list(); #endif s_string_list_sort_master_pin_list(); s_string_list_sort_master_pin_attrib_list(); /* ---------- Create and load the tables ---------- */ sheet_head->component_table = s_table_new(sheet_head->comp_count, sheet_head->comp_attrib_count); sheet_head->net_table = s_table_new(sheet_head->net_count, sheet_head->net_attrib_count); sheet_head->pin_table = s_table_new(sheet_head->pin_count, sheet_head->pin_attrib_count); /* must iterate over all pages in design */ for ( iter = geda_list_get_glist( pr_current->pages ); iter != NULL; iter = g_list_next( iter ) ) { p_local = (PAGE *)iter->data; /* only traverse pages which are toplevel */ if (p_local->page_control == 0) { /* adds all components from page to comp_table */ s_table_add_toplevel_comp_items_to_comp_table (s_page_objects (p_local)); #if 0 /* Note that this must be changed. We need to input the entire project * before doing anything with the nets because we need to first * determine where they are all connected! */ /* adds all nets from page to net_table */ s_table_add_toplevel_net_items_to_net_table(p_local->object_head); #endif /* adds all pins from page to pin_table */ s_table_add_toplevel_pin_items_to_pin_table (s_page_objects (p_local)); } } /* for loop over pages */ /* -------------- update windows --------------- */ x_window_add_items(); /* This updates the top level stuff, * and then calls another fcn to update * the GtkSheet itself. */ /* ---------- Now verify correctness of entire design. ---------- */ s_toplevel_verify_design(pr_current); /* pr_current is a global */ return TRUE; } /*! \brief Open file dialog * * This function opens a file chooser dialog and waits for the user * to select at least one file to load as toplevel's new pages. * * \returns list of files to be opened, or NULL if the user cancelled * the dialog */ GSList * x_fileselect_open (void) { GtkWidget *dialog; GSList *filenames = NULL; dialog = gtk_file_chooser_dialog_new ("Open...", GTK_WINDOW(window), GTK_FILE_CHOOSER_ACTION_OPEN, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL); /* Set the alternative button order (ok, cancel, help) for other systems */ gtk_dialog_set_alternative_button_order(GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT, GTK_RESPONSE_CANCEL, -1); g_object_set (dialog, /* GtkFileChooser */ "select-multiple", TRUE, NULL); /* add file filters to dialog */ x_fileselect_setup_filechooser_filters (GTK_FILE_CHOOSER (dialog)); gtk_widget_show (dialog); if(gtk_dialog_run (GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) filenames = gtk_file_chooser_get_filenames (GTK_FILE_CHOOSER (dialog)); gtk_widget_destroy (dialog); return filenames; } /*------------------------------------------------------------------*/ /*! \brief File save dialog * * This function opens a file chooser dialog and wait for the user to * select a file where the toplevel's current page will be * saved. * * If the user cancels the operation (with the cancel button), the * page is not saved. * * The function updates the user interface. */ void x_fileselect_save (void) { GtkWidget *dialog; dialog = gtk_file_chooser_dialog_new ("Save as...", GTK_WINDOW(window), GTK_FILE_CHOOSER_ACTION_SAVE, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, NULL); /* Set the alternative button order (ok, cancel, help) for other systems */ gtk_dialog_set_alternative_button_order(GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT, GTK_RESPONSE_CANCEL, -1); g_object_set (dialog, /* GtkFileChooser */ "select-multiple", FALSE, /* only in GTK 2.8 */ /* "do-overwrite-confirmation", TRUE, */ NULL); /* add file filters to dialog */ x_fileselect_setup_filechooser_filters (GTK_FILE_CHOOSER (dialog)); gtk_widget_show (dialog); if (gtk_dialog_run ((GtkDialog*)dialog) == GTK_RESPONSE_ACCEPT) { gchar *filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog)); /* try saving current page of toplevel to file filename */ if (filename != NULL && f_save (pr_current, pr_current->page_current, filename, NULL)) { s_log_message ("Saved As [%s]\n", filename); /* replace page filename with new one, do not free filename */ g_free (pr_current->page_current->page_filename); pr_current->page_current->page_filename = filename; /* reset the changed flag of current page*/ pr_current->page_current->CHANGED = 0; } else { /* report error in log and status bar */ s_log_message ("Could NOT save [%s]\n", pr_current->page_current->page_filename); g_free (filename); } } gtk_widget_destroy (dialog); } geda-gaf-1.8.2/gattrib/src/s_rename.c0000664000175000017500000001606012220647257014272 00000000000000/* gEDA - GPL Electronic Design Automation * gattrib -- gEDA component and net attribute manipulation using spreadsheet. * Copyright (C) 2003-2010 Stuart D. Brorson. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! * \file * \brief Functions to rename STRING_LIST contents * * Functions to rename STRING_LIST contents */ #include #include #include #ifdef HAVE_STRING_H #include #endif #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_ASSERT_H #include #endif /*------------------------------------------------------------------ * Gattrib specific includes *------------------------------------------------------------------*/ #include /* geda library fcns */ #include "../include/struct.h" /* typdef and struct declarations */ #include "../include/prototype.h" /* function prototypes */ #include "../include/globals.h" #ifdef HAVE_LIBDMALLOC #include #endif typedef struct { char *src; char *dest; } RENAME; #define MAX_RENAME 64 #define MAX_SETS 10 /*! size is fixed... * \todo maybe make this dynamic */ static RENAME rename_pairs[MAX_SETS][MAX_RENAME]; static int rename_counter = 0; static int cur_set = 0; /*! \brief Initialize the renaming data space * * Initialise the renaming data space by setting all the pair pointers * to NULL. */ void s_rename_init(void) { int i, j; for (i = 0; i < MAX_SETS; i++) { for (j = 0; j < MAX_RENAME; j++) { rename_pairs[i][j].src = NULL; rename_pairs[i][j].dest = NULL; } } rename_counter = 0; cur_set = 0; } /*! \brief Free all data referred to by the rename pairs * * Runs through the rename pairs and calls g_free() on the non-NULL * entries, then sets the entry to NULL. */ void s_rename_destroy_all(void) { int i, j; for (i = 0; i < MAX_SETS; i++) { for (j = 0; j < MAX_RENAME; j++) { if (rename_pairs[i][j].src) { g_free(rename_pairs[i][j].src); rename_pairs[i][j].src = NULL; } if (rename_pairs[i][j].dest) { g_free(rename_pairs[i][j].dest); rename_pairs[i][j].dest = NULL; } } } rename_counter = 0; cur_set = 0; } void s_rename_next_set(void) { if (cur_set == MAX_SETS) { fprintf(stderr, "Increase number of rename_pair sets in s_net.c\n"); exit(-1); } cur_set++; rename_counter = 0; } /*! \brief Print all rename sets * * Iterate through the array and print all the rename sets to stdout. */ void s_rename_print(void) { int i,j; for (i = 0; i < MAX_SETS; i++) { for (j = 0; j < MAX_RENAME; j++) { if (rename_pairs[i][j].src) { printf("%d) Source: _%s_", i, rename_pairs[i][j].src); } if (rename_pairs[i][j].dest) { printf(" -> Dest: _%s_\n", rename_pairs[i][j].dest); } } } } /*! \brief Search the rename sets * * Search through the rename sets looking for src and dest. If * quiet_flag is true than don't print anything. * \param src Source to search for * \param dest Destination to search for * \param quiet_flag Suppress printing if set to TRUE * \returns TRUE if the * src is found. If the dest is found, also return true, but warn * user */ int s_rename_search(char *src, char *dest, int quiet_flag) { int i; for (i = 0; i < rename_counter; i++) { if (rename_pairs[cur_set][i].src && rename_pairs[cur_set][i].dest) { if (strcmp(src, rename_pairs[cur_set][i].src) == 0) { return (TRUE); } if (strcmp(dest, rename_pairs[cur_set][i].src) == 0) { if (!quiet_flag) { fprintf(stderr, "WARNING: Trying to rename something twice:\n\t%s and %s\nare both a src and dest name\n", dest, rename_pairs[cur_set][i].src); fprintf(stderr, "This warning is okay if you have multiple levels of hierarchy!\n"); } return (TRUE); } } } return (FALSE); } /*! \brief Add to the rename pairs * * Add a source and destination to the rename pairs. * \param src Source to add * \param dest Destination to add */ void s_rename_add(char *src, char *dest) { int flag; int i; if (src == NULL || dest == NULL) { return; } flag = s_rename_search(src, dest, FALSE); if (flag) { // Rename_counter may be incremented within this loop, so it cannot // be used in the loop exit condition. Just iterate over the number // of renames that were in the list at the start of the loop. int orig_rename_counter = rename_counter; for (i = 0; i < orig_rename_counter; i++) { if (rename_pairs[cur_set][i].src && rename_pairs[cur_set][i].dest) { if (strcmp(dest, rename_pairs[cur_set][i].src) == 0) { #if DEBUG printf ("Found dest [%s] in src [%s] and that had a dest as: [%s]\nSo you want rename [%s] to [%s]\n", dest, rename_pairs[cur_set][i].src, rename_pairs[cur_set][i].dest, src, rename_pairs[cur_set][i].dest); #endif rename_pairs[cur_set][rename_counter].src = g_strdup(src); rename_pairs[cur_set][rename_counter].dest = g_strdup(rename_pairs[cur_set][i].dest); rename_counter++; } } } } else { rename_pairs[cur_set][rename_counter].src = g_strdup(src); rename_pairs[cur_set][rename_counter].dest = g_strdup(dest); rename_counter++; } if (rename_counter == MAX_RENAME) { fprintf(stderr, "Increase number of rename_pairs (MAX_RENAME) in s_rename.c\n"); exit(-1); } } void s_rename_all_lowlevel(NETLIST * netlist_head, char *src, char *dest) { NETLIST *nl_current = NULL; CPINLIST *pl_current; nl_current = netlist_head; while (nl_current != NULL) { if (nl_current->cpins) { pl_current = nl_current->cpins; while (pl_current != NULL) { if (pl_current->net_name != NULL) { if (strcmp(pl_current->net_name, src) == 0) { /* this is a bad idea */ /* because inside nets-> */ /* there is another pointer */ /*g_free(pl_current->net_name); */ pl_current->net_name = g_strdup(dest); } } pl_current = pl_current->next; } } nl_current = nl_current->next; } } void s_rename_all (TOPLEVEL *toplevel, NETLIST * netlist_head) { int i; #if DEBUG s_rename_print(); #endif for (i = 0; i < rename_counter; i++) { verbose_print("R"); #if DEBUG printf("%d Renaming: %s -> %s\n", i, rename_pairs[cur_set][i].src, rename_pairs[cur_set][i].dest); #endif s_rename_all_lowlevel(netlist_head, rename_pairs[cur_set][i].src, rename_pairs[cur_set][i].dest); } } geda-gaf-1.8.2/gattrib/src/x_dialog.c0000664000175000017500000003015412220647257014267 00000000000000/* gEDA - GPL Electronic Design Automation * gattrib -- gEDA component and net attribute manipulation using spreadsheet. * Copyright (C) 2003-2010 Stuart D. Brorson. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*------------------------------------------------------------------*/ /*! \file * \brief Functions used to display dialog boxes. * * Functions used to display dialog boxes. */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include /*------------------------------------------------------------------ * Includes required to run graphical widgets. *------------------------------------------------------------------*/ #include #include #include #include #include #include #include #ifdef HAVE_STRING_H #include #endif /*------------------------------------------------------------------ * Gattrib specific includes *------------------------------------------------------------------*/ #include /* geda library fcns */ #include "../include/struct.h" /* typdef and struct declarations */ #include "../include/prototype.h" /* function prototypes */ #include "../include/globals.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \brief Add new attribute dialog. * * This asks for the name of the attrib column to insert * and then inserts the column. */ void x_dialog_newattrib() { GtkWidget *dialog; GtkWidget *label; GtkWidget *attrib_entry; gchar *entry_text; /* Create the dialog */ dialog = gtk_dialog_new_with_buttons("Add new attribute", NULL, GTK_DIALOG_MODAL, GTK_STOCK_OK, GTK_RESPONSE_OK, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, NULL); gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_OK); /* Create a text label for the dialog window */ label = gtk_label_new ("Enter new attribute name"); gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), label, FALSE, FALSE, 0); /* Create the "attrib" text entry area */ attrib_entry = gtk_entry_new_with_max_length(1024); gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), attrib_entry, TRUE, TRUE, 5); gtk_widget_set_size_request (dialog, 260, 140); gtk_widget_show_all(dialog); switch(gtk_dialog_run(GTK_DIALOG(dialog))) { case GTK_RESPONSE_OK: entry_text = g_strdup( gtk_entry_get_text(GTK_ENTRY(attrib_entry)) ); /* Perhaps do some other checks . . . . */ if (entry_text != NULL) { s_toplevel_add_new_attrib(entry_text); g_free(entry_text); } break; case GTK_RESPONSE_CANCEL: default: /* do nothing */ break; } gtk_widget_destroy(dialog); } /*! \brief Delete Attribute dialog * * This function throws up the "Delete foo, are you sure?" dialog * box. It offers two buttons: "yes" and "cancel". */ void x_dialog_delattrib() { GtkWidget *dialog; gint mincol, maxcol; GtkSheet *sheet; gint cur_page; /* First verify that exactly one column is selected. */ cur_page = gtk_notebook_get_current_page(GTK_NOTEBOOK(notebook)); sheet = GTK_SHEET(sheets[cur_page]); if (sheet == NULL) { return; } mincol = x_gtksheet_get_min_col(sheet); maxcol = x_gtksheet_get_max_col(sheet); if ( (mincol != maxcol) || (mincol == -1) || (maxcol == -1) ) { /* Improper selection -- maybe throw up error box? */ return; } /* Create the dialog */ dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, "Are you sure you want to delete this attribute?"); gtk_window_set_title(GTK_WINDOW(dialog), "Delete attribute"); switch(gtk_dialog_run(GTK_DIALOG(dialog))) { case GTK_RESPONSE_YES: /* call the fcn to actually delete the attrib column. */ s_toplevel_delete_attrib_col(); /* this fcn figures out * which col to delete. */ break; default: break; } gtk_widget_destroy(dialog); } /*! \brief Missing Symbol dialog * * This is the "missing symbol file found on object" dialog. * * It offers the user the chance to close the project without * saving because he read a schematic with a missing symbol file. */ void x_dialog_missing_sym() { GtkWidget *dialog; const char *string = "One or more components have been found with missing symbol files!\n\n" "This probably happened because gattrib couldn't find your component libraries, " "perhaps because your gafrc or gattribrc files are misconfigured.\n\n" "Chose \"Quit\" to leave gattrib and fix the problem, or\n" "\"Forward\" to continue working with gattrib.\n"; /* Create the dialog */ dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_WARNING, GTK_BUTTONS_NONE, "%s", string); gtk_dialog_add_buttons(GTK_DIALOG(dialog), GTK_STOCK_QUIT, GTK_RESPONSE_REJECT, GTK_STOCK_GO_FORWARD, GTK_RESPONSE_ACCEPT, NULL); gtk_window_set_title(GTK_WINDOW(dialog), "Missing symbol file found for component!"); gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_REJECT); switch(gtk_dialog_run(GTK_DIALOG(dialog))) { case GTK_RESPONSE_ACCEPT: /* Continue with the execution */ break; default: /* Terminate */ exit(0); break; } gtk_widget_destroy(dialog); } /*! \brief Unsaved data dialog * * This is the "Unsaved data -- are you sure you want to quit?" dialog * box which is thrown up before the user quits. */ void x_dialog_unsaved_data() { GtkWidget *dialog; gchar *tmp; gchar *str; tmp = "Save the changes before closing?"; str = g_strconcat ("", tmp, "", NULL); tmp = "If you don't save, all your changes will be permanently lost."; str = g_strconcat (str, "\n\n", tmp, NULL); dialog = gtk_message_dialog_new (GTK_WINDOW (window), GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_WARNING, GTK_BUTTONS_NONE, NULL); gtk_message_dialog_set_markup (GTK_MESSAGE_DIALOG (dialog), str); gtk_dialog_add_buttons (GTK_DIALOG (dialog), "Close without saving", GTK_RESPONSE_NO, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_SAVE, GTK_RESPONSE_YES, NULL); /* Set the alternative button order (ok, cancel, help) for other systems */ gtk_dialog_set_alternative_button_order(GTK_DIALOG(dialog), GTK_RESPONSE_YES, GTK_RESPONSE_NO, GTK_RESPONSE_CANCEL, -1); gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_YES); switch (gtk_dialog_run (GTK_DIALOG (dialog))) { case GTK_RESPONSE_NO: { gattrib_quit(0); break; } case GTK_RESPONSE_YES: { s_toplevel_gtksheet_to_toplevel(pr_current); /* Dumps sheet data into TOPLEVEL */ s_page_save_all(pr_current); /* saves all pages in design */ sheet_head->CHANGED = FALSE; gattrib_quit(0); break; } case GTK_RESPONSE_CANCEL: default: { break; } } gtk_widget_destroy (dialog); return; } /*! \brief Unimplemented feature dialog * * This function informs the user that he has chosen an unimplemented * feature. It presents only an "OK" button to leave. */ void x_dialog_unimplemented_feature() { GtkWidget *dialog; const char *string = "Sorry -- you have chosen a feature which has net been\n" "implemented yet.\n\nGattrib is an open-source program which\n" "I work on as a hobby. It is still a work in progress.\n" "If you wish to contribute (perhaps by implementing this\n" "feature), please do so! Please send patches to gattrib\n" "to Stuart Brorson: sdb@cloud9.net.\n\n" "Otherwise, just hang tight -- I'll implement this feature soon!\n"; /* Create the dialog */ dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, "%s", string); gtk_window_set_title(GTK_WINDOW(dialog), "Unimplemented feature!"); gtk_dialog_run(GTK_DIALOG(dialog)); gtk_widget_destroy(dialog); } /*! \brief Fatal error dialog * * This function displays a dialog with the error string and * terminates the program. * * \param [in] string the error string * \param [in] return_code the exit code * \todo Is the GPOINTER_TO_INT() call needed in exit()? */ void x_dialog_fatal_error(gchar *string, gint return_code) { GtkWidget *dialog; fprintf(stderr, "%s\n", string); /* Create the dialog */ dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, "%s", string); gtk_window_set_title(GTK_WINDOW(dialog), "Fatal error"); gtk_dialog_run(GTK_DIALOG(dialog)); gtk_widget_destroy(dialog); exit(GPOINTER_TO_INT(return_code)); } /*! \brief About gattrib dialog * * This dosplays the about dialog. */ void x_dialog_about_dialog() { GtkWidget *dialog; const char *string = "gEDA : GPL Electronic Design Automation\n\n" "This is gattrib -- gEDA's attribute editor\n\n" "Gattrib version: %s%s.%s\n\n" "Gattrib is written by: Stuart Brorson (sdb@cloud9.net)\n" "with generous helpings of code from gschem, gnetlist, \n" "and gtkextra, as well as support from the gEDA community."; /* Create the dialog */ dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, string, PREPEND_VERSION_STRING, PACKAGE_DOTTED_VERSION, PACKAGE_DATE_VERSION); gtk_window_set_title(GTK_WINDOW(dialog), "About..."); gtk_dialog_run(GTK_DIALOG(dialog)); gtk_widget_destroy(dialog); } /*! \brief Export file dialog * * This asks for the filename for the CSV export file and then * does the exporting. */ void x_dialog_export_file() { gchar *filename; GtkWidget *dialog; dialog = gtk_file_chooser_dialog_new("Export CSV", NULL, GTK_FILE_CHOOSER_ACTION_SAVE, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, NULL); gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT); switch(gtk_dialog_run(GTK_DIALOG(dialog))) { case GTK_RESPONSE_ACCEPT: filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog)); if(filename != NULL) { f_export_components(filename); g_free(filename); } break; default: break; } gtk_widget_destroy(dialog); } geda-gaf-1.8.2/gattrib/src/s_attrib.c0000664000175000017500000001070612220647257014311 00000000000000/* gEDA - GPL Electronic Design Automation * gattrib -- gEDA component and net attribute manipulation using spreadsheet. * Copyright (C) 2003-2010 Stuart D. Brorson. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! * \file * \brief Functions to operate on attributes in STRING_LISTs * * Various functions to operate on attribute name=value pairs in supplied * STRING_LIST structs. */ #include #include #include #ifdef HAVE_STRING_H #include #endif /*------------------------------------------------------------------ * Gattrib specific includes *------------------------------------------------------------------*/ #include /* geda library fcns */ #include "../include/struct.h" /* typdef and struct declarations */ #include "../include/prototype.h" /* function prototypes */ #include "../include/globals.h" #ifdef HAVE_LIBDMALLOC #include #endif /*------------------------------------------------------------------*/ /*! \brief Detect "name" in STRING_LIST * * This function is passed a STRING_LIST of name=value pairs, and a * name. * \param name_value_list pointer to STRING_LIST to search * \param name name string to search for * \returns 1 (TRUE) if the name is in the STRING_LIST, otherwise * it returns 0 (FALSE). */ int s_attrib_name_in_list(STRING_LIST *name_value_list, char *name) { STRING_LIST *local_list_item; char *local_name; for (local_list_item = name_value_list; local_list_item != NULL; local_list_item = local_list_item->next) { if (local_list_item->data == NULL) continue; local_name = u_basic_breakup_string(local_list_item->data, '=', 0); if (strcmp(local_name, name) == 0) { g_free (local_name); return TRUE; } g_free (local_name); } return FALSE; } /*------------------------------------------------------------------*/ /*! \brief Locate the refdes associated with an object. * * This fcn takes an object, finds its refdes and returns it. * \param object Pointer to the object to search for. * \return For normal components, it returns a pointer to a * string containing the refdes. If the component is slotted, * it returns a refdes of the form * refdes.slot. If no refdes is found, it returns NULL. */ char *s_attrib_get_refdes(OBJECT *object) { char *temp_uref; char *numslots_value; char *slot_value; OBJECT *slot_text_object; /*------ Try to get the refdes -----*/ temp_uref = o_attrib_search_object_attribs_by_name (object, "refdes", 0); if (!temp_uref) { temp_uref = o_attrib_search_object_attribs_by_name (object, "uref", 0); // deprecated if (temp_uref) { printf("WARNING: Found uref=%s, uref= is deprecated, please use refdes=\n", temp_uref); } else { /* didn't find refdes. Report error to log. */ #ifdef DEBUG printf("In s_attrib_get_refdes, found non-graphical component with no refdes.\n"); printf(". . . . complex_basename = %s.\n", object->complex_basename); #endif return NULL; } } #ifdef DEBUG printf("In s_attrib_get_refdes, found component with refdes %s.\n", temp_uref); #endif /*------- Now append .slot to refdes if part is slotted -------- */ /* Find out if this is a multislotted component */ numslots_value = o_attrib_search_object_attribs_by_name (object, "numslots", 0); if (numslots_value != NULL) { /* this is a slotted component; append slot number to refdes. */ slot_value = s_slot_search_slot (object, &slot_text_object); #if DEBUG printf(". . . , found slotted component with slot = %s\n", slot_value); #endif temp_uref = g_strconcat(temp_uref, ".", slot_value, NULL); } #ifdef DEBUG printf(". . . . returning refdes %s.\n", temp_uref); #endif return temp_uref; } geda-gaf-1.8.2/gattrib/src/s_sheet_data.c0000664000175000017500000004000512220647257015120 00000000000000/* gEDA - GPL Electronic Design Automation * gattrib -- gEDA component and net attribute manipulation using spreadsheet. * Copyright (C) 2003-2010 Stuart D. Brorson. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*--------------------------------------------------------------*/ /*! * \file * * \brief Functions involved in manipulating an entire * SHEET_DATA structure. * * This file holds functions involved in manipulating an entire * SHEET_DATA structure. The SHEET_DATA structure is the intermediate * structure between TOPLEVEL (gEDA's native format) and the graphical * gtksheet widget (from gtkextra), which is the spreadsheet widget * displaying the attribs. */ #include #include #ifdef HAVE_STRING_H #include #endif #include /*------------------------------------------------------------------ * Gattrib specific includes *------------------------------------------------------------------*/ #include /* geda library fcns */ #include "../include/struct.h" /* typdef and struct declarations */ #include "../include/prototype.h" /* function prototypes */ #include "../include/globals.h" #ifdef HAVE_LIBDMALLOC #include #endif /*------------------------------------------------------------------*/ /*! * \brief Create a SHEET_DATA struct. * * Creates an initialised but empty SHEET_DATA struct. * \returns a pointer to a SHEET_DATA struct. */ SHEET_DATA *s_sheet_data_new() { SHEET_DATA *new_sheet; new_sheet = (SHEET_DATA *) g_malloc(sizeof(SHEET_DATA)); /* We will malloc and fill out the comp table later. */ new_sheet->component_table = NULL; /* We will malloc and fill out the net table later. */ new_sheet->net_table = NULL; /* We will malloc and fill out the pin table later. */ new_sheet->pin_table = NULL; /* Now we create the first cell in each master list. */ new_sheet->master_comp_list_head = (STRING_LIST *) s_string_list_new(); new_sheet->master_comp_attrib_list_head = (STRING_LIST *) s_string_list_new(); new_sheet->comp_count = 0; new_sheet->comp_attrib_count = 0; new_sheet->master_net_list_head = (STRING_LIST *) s_string_list_new(); new_sheet->master_net_attrib_list_head = (STRING_LIST *) s_string_list_new(); new_sheet->net_count = 0; new_sheet->net_attrib_count = 0; new_sheet->master_pin_list_head = (STRING_LIST *) s_string_list_new(); new_sheet->master_pin_attrib_list_head = (STRING_LIST *) s_string_list_new(); new_sheet->pin_count = 0; new_sheet->pin_attrib_count = 0; new_sheet->CHANGED = FALSE; return (new_sheet); } /*------------------------------------------------------------------*/ /*! \brief Add components to master list * * Add to the master list of components refdeses by running through * the components and recording the comp refdeses it discovers. Then * it sorts them into alphabetical order. Data struct being searched * is: OBJECT->attribs(->next. . .)->object->text->string * \param obj_list pointer to the component list to be added. */ void s_sheet_data_add_master_comp_list_items (const GList *obj_list) { char *temp_uref; const GList *iter; #ifdef DEBUG printf("=========== Just entered s_sheet_data_add_master_comp_list_items! ==============\n"); #endif if (verbose_mode) { printf("- Starting master comp list creation.\n"); } /* ----- Iterate through all objects found on page looking for components ----- */ for (iter = obj_list; iter != NULL; iter = g_list_next (iter)) { OBJECT *o_current = iter->data; #ifdef DEBUG printf("In s_sheet_data_add_master_comp_list_items, examining o_current->name = %s\n", o_current->name); #endif /*----- only process if this is a component with attributes ----*/ if (o_current->type == OBJ_COMPLEX && o_current->attribs != NULL) { #if DEBUG printf(" In s_sheet_data_add_master_comp_list_items; found component on page\n"); printf(". . . . complex_basename = %s.\n", o_current->complex_basename); #endif verbose_print(" C"); temp_uref = s_attrib_get_refdes(o_current); /* Now that we have refdes, store refdes and attach attrib list to component */ if (temp_uref) { #if DEBUG printf(" In s_sheet_add_master_comp_list, about to add to master list refdes = %s\n", temp_uref); #endif s_string_list_add_item(sheet_head->master_comp_list_head, &(sheet_head->comp_count), temp_uref); g_free(temp_uref); } } /* if (o_current->type == OBJ_COMPLEX . . . . .) */ } return; } /*------------------------------------------------------------------*/ /*! \brief Add attributes to master list * * Add to the master list of comp attributes by running * through each component on the page and recording all attribs * it discovers. Then it sorts them into an order used for the * horiz listing of the attribs on the spreadsheet. * Data struct being searched is: * sheet_head->component_list_head->attrib->name; * \param obj_list pointer to list of attributes being added */ void s_sheet_data_add_master_comp_attrib_list_items (const GList *obj_list) { char *attrib_text; char *attrib_name; const GList *o_iter; GList *a_iter; OBJECT *a_current; #ifdef DEBUG fflush(stderr); fflush(stdout); printf("=========== Just entered s_sheet_data_add_master_comp_attrib_list_items! ==============\n"); #endif if (verbose_mode) { printf("- Starting master comp attrib list creation.\n"); } /* ----- Iterate through all objects found on page looking for components (OBJ_COMPLEX) ----- */ for (o_iter = obj_list; o_iter != NULL; o_iter = g_list_next (o_iter)) { OBJECT *o_current = o_iter->data; #ifdef DEBUG printf("In s_sheet_data_add_master_comp_attrib_list_items, examining o_current->name = %s\n", o_current->name); #endif /*----- only process if this is a component with attributes ----*/ if (o_current->type == OBJ_COMPLEX && o_current->attribs != NULL) { verbose_print(" C"); /*------ Iterate through all attribs found on component -----*/ a_iter = o_current->attribs; /* This has a side effect. Why? */ while (a_iter != NULL) { a_current = a_iter->data; if (a_current->type == OBJ_TEXT && a_current->text != NULL) { /* found an attribute */ attrib_text = g_strdup(a_current->text->string); attrib_name = u_basic_breakup_string(attrib_text, '=', 0); /* Don't include "refdes" or "slot" because they form the row name */ /* Also don't include "net" per bug found by Steve W. -- 4.3.2007, SDB */ if ( (strcmp(attrib_name, "refdes") != 0) && (strcmp(attrib_name, "net") != 0) && (strcmp(attrib_name, "slot") != 0) ) { #if DEBUG printf(" . . . from this component, about to add to master comp attrib list attrib = %s\n", attrib_name); #endif s_string_list_add_item(sheet_head->master_comp_attrib_list_head, &(sheet_head->comp_attrib_count), attrib_name); } /* if (strcmp(attrib_name, "refdes") != 0) */ g_free(attrib_name); g_free(attrib_text); } a_iter = g_list_next (a_iter); } /* while */ } /* if (o_current->type == OBJ_COMPLEX) */ } /* ----- Now sort component list into alphabetical order ----- */ return; } /*------------------------------------------------------------------*/ /*! \brief Add net names to master list. * * Build the master list of net names by running * through the individual cells and recording the net refdeses * it discovers. * It's currently empty, waiting for implementation of net * attributes. */ void s_sheet_data_add_master_net_list_items (const GList *obj_start) { return; } /*------------------------------------------------------------------*/ /*! \brief Add net attributes to master list. * * Build the master list of net attribs. * It's currently empty, waiting for implementation of net * attributes. */ void s_sheet_data_add_master_net_attrib_list_items (const GList *obj_start) { return; } /*------------------------------------------------------------------*/ /*! \brief Add pin names to master list. * * Build the master * list of pin names. It writes the * label refdes:pinnumber into the global master pin list. * Algorithm: * -# Loop on o_current looking for OBJ_COMPLEX * -# When we find a complex, save the refdes. * -# Dive down to o_lower_current = o_current->complex->prim_objs * -# Loop on o_lower_current looking for OBJ_PIN * -# When we find a pin, find the pinnumber by calling * o_attrib_search_object_attribs_by_name(o_lower_current, "pinnumber", 0) * -# Create the pin list label as "refdes=XXX", and stick it into * the master pin list. * Since this function operates on the global sheet_data->master_pin_list, * it doesn't return a value. * \param obj_list pointer to list of pin names to be added. */ void s_sheet_data_add_master_pin_list_items (const GList *obj_list) { char *temp_uref; char *temp_pinnumber; char *row_label; const GList *o_iter; GList *o_lower_iter; #ifdef DEBUG fflush(stderr); fflush(stdout); printf("=========== Just entered s_sheet_data_add_master_pin_list_items! ==============\n"); #endif if (verbose_mode) { printf("- Starting master pin list creation.\n"); } /* ----- Iterate through all objects found on page looking for components ----- */ for (o_iter = obj_list; o_iter != NULL; o_iter = g_list_next (o_iter)) { OBJECT *o_current = o_iter->data; #ifdef DEBUG printf ("In s_sheet_data_add_master_pin_list_items, examining o_current->name = %s\n", o_current->name); #endif if (o_current->type == OBJ_COMPLEX) { temp_uref = s_attrib_get_refdes (o_current); if (temp_uref != NULL) { /* make sure object complex has a refdes */ /* ----- Now iterate through lower level objects looking for pins. ----- */ for (o_lower_iter = o_current->complex->prim_objs; o_lower_iter != NULL; o_lower_iter = g_list_next (o_lower_iter)) { OBJECT *o_lower_current = o_lower_iter->data; #if DEBUG printf ("In s_sheet_data_add_master_pin_list_items, examining object name %s\n", o_lower_current->name); #endif if (o_lower_current->type == OBJ_PIN) { temp_pinnumber = o_attrib_search_object_attribs_by_name (o_lower_current, "pinnumber", 0); if (temp_pinnumber != NULL) { row_label = g_strconcat (temp_uref, ":", temp_pinnumber, NULL); #if DEBUG printf ("In s_sheet_data_add_master_pin_list_items, about to add to master pin list row_label = %s\n", row_label); #endif s_string_list_add_item (sheet_head->master_pin_list_head, &(sheet_head->pin_count), row_label); } else { /* didn't find pinnumber. Report error to log. */ fprintf (stderr, "In s_sheet_data_add_master_pin_list_items, found component pin with no pinnumber.\n"); #ifdef DEBUG fprintf (stderr, ". . . . refdes = %s.\n", temp_uref); #endif } g_free (temp_pinnumber); } } } else { /* didn't find refdes. Report error to log. */ #ifdef DEBUG fprintf (stderr, "In s_sheet_data_add_master_pin_list_items, found component with no refdes.\n"); fprintf (stderr, ". . . . complex_basename = %s.\n", o_current->complex_basename); #endif } g_free (temp_uref); } /* if (o_current->type == OBJ_COMPLEX) */ } return; } /*------------------------------------------------------------------*/ /*! \brief Add pin attributes to master list. * * Build the master * list of pin attributes. It writes * each attrib name into the master pin attrib list. * Algorithm: * -# Loop on o_current looking for OBJ_COMPLEX * -# When we find a complex, save the refdes. * -# Dive down to o_lower_current = o_current->complex->prim_objs * -# Loop on o_lower_current looking for OBJ_PIN * -# When we find a pin, get pin_attribs = o_lower_current->attribs * -# Loop on attribs looking for non-NULL text. * -# When we find a non-NULL text attrib, extract the attrib name * and stick it in the master pin attrib list. * \param obj_list pointer to list of pin attributes to be added. */ void s_sheet_data_add_master_pin_attrib_list_items (const GList *obj_list) { char *temp_uref; char *attrib_text; char *attrib_name; char *attrib_value; const GList *o_iter; GList *o_lower_iter, *a_iter; OBJECT *pin_attrib; #ifdef DEBUG fflush(stderr); fflush(stdout); printf("=========== Just entered s_sheet_data_add_master_pin_attrib_list_items! ==============\n"); #endif if (verbose_mode) { printf("- Starting master pin attrib list creation.\n"); } /* ----- Iterate through all objects found on page looking for components ----- */ for (o_iter = obj_list; o_iter != NULL; o_iter = g_list_next (o_iter)) { OBJECT *o_current = o_iter->data; #ifdef DEBUG printf("In s_sheet_data_add_master_pin_attrib_list_items, examining o_current->name = %s\n", o_current->name); #endif if (o_current->type == OBJ_COMPLEX) { temp_uref = s_attrib_get_refdes(o_current); if (temp_uref != NULL) { /* make sure object complex has a refdes */ /* ----- Now iterate through lower level objects looking for pins. ----- */ for (o_lower_iter = o_current->complex->prim_objs; o_lower_iter != NULL; o_lower_iter = g_list_next (o_lower_iter)) { OBJECT *o_lower_current = o_lower_iter->data; #if DEBUG printf("In s_sheet_data_add_master_pin_attrib_list_items, examining component refdes = %s\n", temp_uref); #endif if (o_lower_current->type == OBJ_PIN) { /* ----- Found a pin. Now get attrib head and loop on attribs. ----- */ a_iter = o_lower_current->attribs; while (a_iter != NULL) { pin_attrib = a_iter->data; if (pin_attrib->type == OBJ_TEXT && pin_attrib->text != NULL) { /* found an attribute */ attrib_text = g_strdup(pin_attrib->text->string); attrib_name = u_basic_breakup_string(attrib_text, '=', 0); attrib_value = s_misc_remaining_string(attrib_text, '=', 1); if ( (strcmp(attrib_name, "pinnumber") != 0) && (attrib_value != NULL) ) { /* Don't include "pinnumber" because it is already in other master list. * Also guard against pathalogical symbols which have non-attrib text inside pins. */ #if DEBUG printf("In s_sheet_data_add_master_pin_attrib_list_items, found pin attrib = %s\n", attrib_name); printf(". . . . . adding it to master_pin_attrib_list\n"); #endif s_string_list_add_item(sheet_head->master_pin_attrib_list_head, &(sheet_head->pin_attrib_count), attrib_name); } /* if (strcmp(attrib_name, "pinnumber") != 0) */ g_free(attrib_value); g_free(attrib_name); g_free(attrib_text); } a_iter = g_list_next (a_iter); } /* while (pin_attrib != NULL) */ } } g_free(temp_uref); } /* if (temp_uref != NULL ) */ } /* if (o_current->type == OBJ_COMPLEX) */ } return; } /*------------------------------------------------------------------*/ /*! * \brief Extract data from gtksheet * * This fcn extracts the attribs from the gtksheet widget * cells, and places them back into SHEET_DATA. This is the * first step in saving out a project. Right now I just invoke * s_table_gtksheet_to_table. Do I need to do anything else here? */ void s_sheet_data_gtksheet_to_sheetdata() { s_table_gtksheet_to_all_tables(); /* do I need to do anything else here? */ return; } geda-gaf-1.8.2/gattrib/src/s_visibility.c0000664000175000017500000002470612204177070015211 00000000000000/* gEDA - GPL Electronic Design Automation * gattrib -- gEDA component and net attribute manipulation using spreadsheet. * Copyright (C) 2003-2010 Stuart D. Brorson. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*------------------------------------------------------------------*/ /*! \file * \brief Functions to manipulate attribute visibility * * This file holds widgets and functions used in conjunction * with setting attribute visibility. * \todo There seems to be a lot of duplicated code in this file - * a good candidate for refactoring. */ #ifdef HAVE_CONFIG_H #include "config.h" #endif /*------------------------------------------------------------------ * Includes required to run graphical widgets. *------------------------------------------------------------------*/ #include #include #include #include #include #include #include #include #ifdef HAVE_SYS_PARAM_H #include #endif #include #ifdef HAVE_UNISTD_H #include #endif #ifdef HAVE_STRING_H #include #endif /*------------------------------------------------------------------ * Gattrib specific includes *------------------------------------------------------------------*/ #include /* geda library fcns */ #include "../include/struct.h" /* typdef and struct declarations */ #include "../include/prototype.h" /* function prototypes */ #include "../include/globals.h" #ifdef HAVE_LIBDMALLOC #include #endif /* ----- s_visibility stuff begins here ----- */ /* ---------------------------------------------------------------------- */ /* \brief Set the selected cells to INVISIBLE * * * This sets the selected cells to INVISIBLE. * This function is called from the menu, it assumes you have * selected a range of cells which are carried in the global * variable "sheet". */ void s_visibility_set_invisible() { gint i, j; gint row_start, row_end, col_start, col_end; GtkSheet *sheet; gint cur_page; cur_page = gtk_notebook_get_current_page(GTK_NOTEBOOK(notebook)); sheet = sheets[cur_page]; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); switch (sheet->state) { case GTK_SHEET_RANGE_SELECTED: case GTK_SHEET_COLUMN_SELECTED: case GTK_SHEET_ROW_SELECTED: #ifdef DEBUG printf("In s_visibility_set_invisible, range/col/row selected.\n"); #endif row_start = sheet->range.row0; row_end = sheet->range.rowi; col_start = sheet->range.col0; col_end = sheet->range.coli; for (i=row_start; i<=row_end; i++) { for (j=col_start; j<=col_end; j++) { /* first set cell in SHEET_DATA to invisible */ s_visibility_set_cell(cur_page, i, j, INVISIBLE, LEAVE_NAME_VALUE_ALONE); /* Now set cell in gtksheet to desired color */ /* Color names are defined * in libgeda/include/colors.h */ x_gtksheet_set_cell_text_color(sheet, i, j, GREY); } } /* Now return sheet to normal -- unselect range */ gtk_sheet_unselect_range (sheet); break; case GTK_SHEET_NORMAL: #ifdef DEBUG printf("In s_visibility_set_invisible, normal selection.\n"); #endif s_visibility_set_cell(cur_page, sheet->active_cell.row, sheet->active_cell.col, INVISIBLE, LEAVE_NAME_VALUE_ALONE); x_gtksheet_set_cell_text_color(sheet, sheet->active_cell.row, sheet->active_cell.col, GREY); break; } } /* ---------------------------------------------------------------------- */ /*! \brief Set the visibility of the selected cells to NAME_ONLY. * * This sets the selected cells to NAME_ONLY. * This function is invoked from the menu, it assumes you have * selected a range of cells which are carried in the global * variable "sheet". */ void s_visibility_set_name_only() { gint i, j; gint row_start, row_end, col_start, col_end; GtkSheet *sheet; gint cur_page; cur_page = gtk_notebook_get_current_page(GTK_NOTEBOOK(notebook)); sheet = sheets[cur_page]; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); switch (sheet->state) { case GTK_SHEET_RANGE_SELECTED: case GTK_SHEET_COLUMN_SELECTED: case GTK_SHEET_ROW_SELECTED: #ifdef DEBUG printf("In s_visibility_set_name_only, range/col/row selected.\n"); #endif row_start = sheet->range.row0; row_end = sheet->range.rowi; col_start = sheet->range.col0; col_end = sheet->range.coli; for (i=row_start; i<=row_end; i++) { for (j=col_start; j<=col_end; j++) { s_visibility_set_cell(cur_page, i, j, VISIBLE, SHOW_NAME); /* Color names are defined * in libgeda/include/colors.h */ x_gtksheet_set_cell_text_color(sheet, i, j, RED); } } /* Now return sheet to normal -- unselect range */ gtk_sheet_unselect_range (sheet); break; case GTK_SHEET_NORMAL: s_visibility_set_cell(cur_page, sheet->active_cell.row, sheet->active_cell.col, VISIBLE, SHOW_NAME); x_gtksheet_set_cell_text_color(sheet, sheet->active_cell.row, sheet->active_cell.col, RED); break; } } /* ---------------------------------------------------------------------- */ /* \brief Set the selected cells' visibility to VALUE_ONLY * * s_visibility_set_value_only -- This sets the selected cells to VALUE_ONLY. * This fcn is invoked from the menu, it assumes you have * selected a range of cells which are carried in the global * variable "sheet". */ void s_visibility_set_value_only() { gint i, j; gint row_start, row_end, col_start, col_end; GtkSheet *sheet; gint cur_page; cur_page = gtk_notebook_get_current_page(GTK_NOTEBOOK(notebook)); sheet = sheets[cur_page]; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); switch (sheet->state) { case GTK_SHEET_RANGE_SELECTED: case GTK_SHEET_COLUMN_SELECTED: case GTK_SHEET_ROW_SELECTED: #ifdef DEBUG printf("In s_visibility_set_value_only, range/col/row selected.\n"); #endif row_start = sheet->range.row0; row_end = sheet->range.rowi; col_start = sheet->range.col0; col_end = sheet->range.coli; for (i=row_start; i<=row_end; i++) { for (j=col_start; j<=col_end; j++) { s_visibility_set_cell(cur_page, i, j, VISIBLE, SHOW_VALUE); /* Color names are defined * in libgeda/include/colors.h */ x_gtksheet_set_cell_text_color(sheet, i, j, BLACK); } } /* Now return sheet to normal -- unselect range */ gtk_sheet_unselect_range (sheet); break; case GTK_SHEET_NORMAL: #ifdef DEBUG printf("In s_visibility_set_value_only, sheet normal selected.\n"); #endif s_visibility_set_cell(cur_page, sheet->active_cell.row, sheet->active_cell.col, VISIBLE, SHOW_VALUE); x_gtksheet_set_cell_text_color(sheet, sheet->active_cell.row, sheet->active_cell.col, BLACK); break; } } /* ---------------------------------------------------------------------- */ /* \brief Set the visibility of the selected cells to NAME_AND_VALUE * * This sets the selected cells * to NAME_AND_VALUE * This fcn is invoked from the menu, it assumes you have * selected a range of cells which are carried in the global * variable "sheet". * */ void s_visibility_set_name_and_value() { gint i, j; gint row_start, row_end, col_start, col_end; GtkSheet *sheet; gint cur_page; cur_page = gtk_notebook_get_current_page(GTK_NOTEBOOK(notebook)); sheet = sheets[cur_page]; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); switch (sheet->state) { case GTK_SHEET_RANGE_SELECTED: case GTK_SHEET_COLUMN_SELECTED: case GTK_SHEET_ROW_SELECTED: row_start = sheet->range.row0; row_end = sheet->range.rowi; col_start = sheet->range.col0; col_end = sheet->range.coli; for (i=row_start; i<=row_end; i++) { for (j=col_start; j<=col_end; j++) { s_visibility_set_cell(cur_page, i, j, VISIBLE, SHOW_NAME_VALUE); /* Color names are defined * in libgeda/include/colors.h */ x_gtksheet_set_cell_text_color(sheet, i, j, BLUE); } } /* Now return sheet to normal -- unselect range */ gtk_sheet_unselect_range (sheet); break; case GTK_SHEET_NORMAL: s_visibility_set_cell(cur_page, sheet->active_cell.row, sheet->active_cell.col, VISIBLE, SHOW_NAME_VALUE); x_gtksheet_set_cell_text_color(sheet, sheet->active_cell.row, sheet->active_cell.col, BLUE); break; } } /* ================== Private functions =================== */ /* ---------------------------------------------------------------------- */ /* \brief set the visibility of an individual cell * * Set the visibility of an individual cell * to "state". The cell is identified by (row, col) * \param cur_page index of spreadsheet tab * \param row Row index of target cell * \param col Column index of target cell * \param visibility Visibility value to set cell to * \param show_name_value Name, Value visibility flag */ void s_visibility_set_cell(gint cur_page, gint row, gint col, gint visibility, gint show_name_value) { TABLE **local_table = NULL; #ifdef DEBUG printf("In s_visibility_set_cell, setting row = %d, col = %d.\n", row, col); #endif switch (cur_page) { case 0: local_table = sheet_head->component_table; break; case 1: local_table = sheet_head->net_table; break; case 2: local_table = sheet_head->pin_table; break; } /* Question: how to sanity check (row, col) selection? */ local_table[row][col].visibility = visibility; sheet_head->CHANGED = 1; /* cell has been updated. */ if (show_name_value != LEAVE_NAME_VALUE_ALONE) { local_table[row][col].show_name_value = show_name_value; sheet_head->CHANGED = 1; /* cell has been updated. */ } } geda-gaf-1.8.2/gattrib/src/s_string_list.c0000664000175000017500000004347612220647257015377 00000000000000/* gEDA - GPL Electronic Design Automation * gattrib -- gEDA component and net attribute manipulation using spreadsheet. * Copyright (C) 2003-2010 Stuart D. Brorson. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*------------------------------------------------------------------*/ /*! \file * \brief Functions involved in manipulating the STRING_LIST * structure. * * This file holds functions involved in manipulating the STRING_LIST * structure. STRING_LIST is basically a linked list of strings * (text). * * \todo This could be implemented using an underlying GList * structure. The count parameter could also be eliminated - * either store it in the struct or preferably, calculate it * when needed - I don't think the speed penalty of traversing * the list is significant at all. GDE */ #include #include #ifdef HAVE_STRING_H #include #endif #include /*------------------------------------------------------------------ * Gattrib specific includes *------------------------------------------------------------------*/ #include /* geda library fcns */ #include "../include/struct.h" /* typdef and struct declarations */ #include "../include/prototype.h" /* function prototypes */ #include "../include/globals.h" #ifdef HAVE_LIBDMALLOC #include #endif /*------------------------------------------------------------------*/ /*! \brief Return a pointer to a new STRING_LIST * * Returns a pointer to a new STRING_LIST struct. This list is empty. * \returns pointer to the new STRING_LIST struct. */ STRING_LIST *s_string_list_new() { STRING_LIST *local_string_list; local_string_list = g_malloc(sizeof(STRING_LIST)); local_string_list->data = NULL; local_string_list->next = NULL; local_string_list->prev = NULL; local_string_list->pos = -1; /* can look for this later . . . */ return local_string_list; } /*------------------------------------------------------------------*/ /*! \brief Duplicate a STRING_LIST * * Given a STRING_LIST, duplicate it and returns a pointer * to the new, duplicate list. * \param old_string_list pointer to the STRING_LIST to be duplicated * \returns a pointer to the duplicate STRING_LIST */ STRING_LIST *s_string_list_duplicate_string_list(STRING_LIST *old_string_list) { STRING_LIST *new_string_list; STRING_LIST *local_string_list; char *data; gint count; new_string_list = s_string_list_new(); if (old_string_list->data == NULL) /* This is an empty string list */ return new_string_list; local_string_list = old_string_list; while (local_string_list != NULL) { data = g_strdup(local_string_list->data); s_string_list_add_item(new_string_list, &count, data); g_free(data); local_string_list = local_string_list->next; } return new_string_list; } /*------------------------------------------------------------------*/ /*! \brief Add an item to a STRING_LIST * * Inserts the item into a STRING_LIST. * It first passes through the * list to make sure that there are no duplications. * \param list pointer to STRING_LIST to be added to. * \param count FIXME Don't know what this does - input or output? both? * \param item pointer to string to be added */ void s_string_list_add_item(STRING_LIST *list, int *count, char *item) { gchar *trial_item = NULL; STRING_LIST *prev; STRING_LIST *local_list; if (list == NULL) { fprintf(stderr, "In s_string_list_add_item, tried to add to a NULL list.\n"); return; } /* First check to see if list is empty. Handle insertion of first item into empty list separately. (Is this necessary?) */ if (list->data == NULL) { #ifdef DEBUG printf("In s_string_list_add_item, about to place first item in list.\n"); #endif list->data = (gchar *) g_strdup(item); list->next = NULL; list->prev = NULL; /* this may have already been initialized. . . . */ list->pos = *count; /* This enumerates the pos on the list. Value is reset later by sorting. */ (*count)++; /* increment count to 1 */ return; } /* Otherwise, loop through list looking for duplicates */ prev = list; while (list != NULL) { trial_item = (gchar *) g_strdup(list->data); if (strcmp(trial_item, item) == 0) { /* Found item already in list. Just return. */ g_free(trial_item); return; } g_free(trial_item); prev = list; list = list->next; } /* If we are here, it's 'cause we didn't find the item pre-existing in the list. */ /* In this case, we insert it. */ local_list = (STRING_LIST *) g_malloc(sizeof(STRING_LIST)); /* allocate space for this list entry */ local_list->data = (gchar *) g_strdup(item); /* copy data into list */ local_list->next = NULL; local_list->prev = prev; /* point this item to last entry in old list */ prev->next = local_list; /* make last item in old list point to this one. */ local_list->pos = *count; /* This enumerates the pos on the list. Value is reset later by sorting. */ (*count)++; /* increment count */ /* list = local_list; */ return; } /*------------------------------------------------------------------*/ /*! \brief Delete an item from a STRING_LIST * * Deletes an item in a STRING_LIST. * \param list pointer to STRING_LIST * \param count pointer to count of items in list * \param item item to remove from list */ void s_string_list_delete_item(STRING_LIST **list, int *count, gchar *item) { gchar *trial_item = NULL; STRING_LIST *list_item; STRING_LIST *next_item = NULL; STRING_LIST *prev_item = NULL; /* First check to see if list is empty. If empty, spew error and return */ if ( (*list)->data == NULL) { fprintf(stderr, "In s_string_list_delete_item, tried to remove item from empty list\n"); return; } #ifdef DEBUG printf("In s_string_list_delete_item, about to delete item %s from list.\n", item); #endif /* Now loop through list looking for item */ list_item = (*list); while (list_item != NULL) { trial_item = (gchar *) g_strdup(list_item->data); #ifdef DEBUG printf("In s_string_list_delete_item, matching item against trial item = %s from list.\n", trial_item); #endif if (strcmp(trial_item, item) == 0) { /* found item, now delete it. */ #ifdef DEBUG printf("In s_string_list_delete_item, found match . . . . . \n"); #endif prev_item = list_item->prev; next_item = list_item->next; /* Check position in list */ if (next_item == NULL && prev_item == NULL) { /* pathological case of one item list. */ (*list) = NULL; } else if (next_item == NULL && prev_item != NULL) { /* at list's end */ prev_item->next = NULL; } else if (next_item != NULL && prev_item == NULL) { /* at list's beginning */ next_item->prev = NULL; (*list) = next_item; /* also need to fix pointer to list head */ /* g_free(list); */ } else { /* normal case of element in middle of list */ prev_item->next = next_item; next_item->prev = prev_item; } #ifdef DEBUG printf("In s_string_list_delete_item, now free list_item\n"); #endif g_free(list_item); /* free current list item */ (*count)--; /* decrement count */ /* Do we need to re-number the list? */ #ifdef DEBUG printf("In s_string_list_delete_item, now free trial_item\n"); #endif g_free(trial_item); /* free trial item before returning */ #ifdef DEBUG printf("In s_string_list_delete_item, returning . . . .\n"); #endif return; } g_free(trial_item); list_item = list_item->next; } /* If we are here, it's 'cause we didn't find the item. * Spew error and return. */ fprintf(stderr, "In s_string_list_delete_item, couldn't delete item %s\n", item); return; } /*------------------------------------------------------------------*/ /*! \brief Detect item in list * * Look for item in the list. * * \param list pointer to the STRING_LIST struct * \param item string to search for * \returns 0 if absent, 1 if present */ int s_string_list_in_list(STRING_LIST *list, char *item) { gchar *trial_item = NULL; /* First check to see if list is empty. If empty, return * 0 automatically. (I probably don't need to handle this * separately.) */ if (list->data == NULL) { return 0; } /* Otherwise, loop through list looking for duplicates */ while (list != NULL) { trial_item = (gchar *) g_strdup(list->data); if (strcmp(trial_item, item) == 0) { /* Found item already in list. return 1. */ g_free(trial_item); return 1; } g_free(trial_item); list = list->next; } /* If we are here, it's 'cause we didn't find the item * pre-existing in the list. In this case, return 0 */ return 0; } /*------------------------------------------------------------------*/ /*! \brief Detect item in list * * Look for item in the list, and return the index (-1 if absent). * Intended to be a more useful variant of s_string_list_in_list. * * \param list pointer to the STRING_LIST struct * \param item string to search for * \returns -1 if absent, index number if present */ gint s_string_list_find_in_list(STRING_LIST *list, char *item) { gint index = 0; gchar *trial_item = NULL; /* First check to see if list is empty. If empty, return -1. */ if (list->data == NULL) { return -1; } /* Otherwise, loop through list looking for the item */ while (list != NULL) { trial_item = (gchar *) g_strdup(list->data); if (strcmp(trial_item, item) == 0) { /* Found item in list; return index. */ g_free(trial_item); return index; } g_free(trial_item); list = list->next; index++; } /* If we are here, it's 'cause we didn't find the item * pre-existing in the list. In this case, return -1 */ return -1; } /*------------------------------------------------------------------*/ /*! \brief Get an item from a STRING_LIST by index * * Returns the index'th item in the string list. * \param list pointer to STRING_LIST to get from * \param index index of item to return * \returns NULL if there is a problem otherwise a pointer to * the string. */ gchar *s_string_list_get_data_at_index(STRING_LIST *list, gint index) { gint i; STRING_LIST *local_item; /* First check to see if list is empty. If empty, return * NULL automatically. */ if (list->data == NULL) { return NULL; } local_item = list; for (i = 0 ; i < index ; i++) { if (local_item == NULL) { return NULL; } else { local_item = local_item->next; } } return local_item->data; } /*------------------------------------------------------------------*/ /*! \brief Sort the master component list * * Takes the master comp list * sheet_head->master_comp_list_head * and sorts it in this order: * * Right now it does nothing other than fill in the "position" * and "length" variables. */ void s_string_list_sort_master_comp_list() { int i = 0; STRING_LIST *local_list, *p; /* Here's where we do the sort. The sort is done using a fcn found on the web. */ local_list = sheet_head->master_comp_list_head; for (p=local_list; p; p=p->next) p->pos = 0; local_list = listsort(local_list, 0, 1); /* Do this after sorting is done. This resets the order of the individual items * in the list. */ while (local_list != NULL) { /* make sure item is not null */ local_list->pos = i; if (local_list->next != NULL) { i++; local_list = local_list->next; } else { break; /* leave loop *before* iterating to NULL EOL marker */ } } /* Now go to first item in local list and reassign list head to new first element */ while (local_list->prev != NULL) { local_list = local_list->prev; } sheet_head->master_comp_list_head = local_list; return; } /* This list overrides the alphanumeric sort. Attribs not found in this list are sorted as if they had a value of DEFAULT_ATTRIB_POS within this list, but alphanumerically relative to each other. */ static struct { const char *attrib; int pos; } certain_attribs[] = { {"device", 1}, {"footprint", 2}, {"value", 3}, {"symversion", 200} }; #define NUM_CERTAINS (sizeof(certain_attribs)/sizeof(certain_attribs[0])) #define DEFAULT_ATTRIB_POS 100 /*------------------------------------------------------------------*/ /*! \brief Sort the master component attribute list * * Take the master comp attrib list * sheet_head->master_comp_attrib_list_head * and sort it in this order: * * Right now it does nothing other than fill in the "position" * and "length" variables. */ void s_string_list_sort_master_comp_attrib_list() { int i = 0; STRING_LIST *local_list, *p; /* Here's where we do the sort */ local_list = sheet_head->master_comp_attrib_list_head; /* * Note that this sort is TBD -- it is more than just an alphabetic sort 'cause we want * certain attribs to go first. */ for (p=local_list; p; p=p->next) { int i; p->pos = DEFAULT_ATTRIB_POS; for (i=0; idata != NULL) { if (strcmp (certain_attribs[i].attrib, p->data) == 0) { p->pos = certain_attribs[i].pos; break; } } } local_list = listsort(local_list, 0, 1); sheet_head->master_comp_attrib_list_head = local_list; /* Do this after sorting is done. This resets the order of the individual items * in the list. */ while (local_list != NULL) { local_list->pos = i; i++; local_list = local_list->next; } return; } /*------------------------------------------------------------------*/ /*! \brief Sort the master netlist * * This fcn takes the master net list * sheet_head->master_net_list_head * and sorts it in this order: * */ void s_string_list_sort_master_net_list() { int i = 0; STRING_LIST *local_list; /* Do this after sorting is done. This resets the order of the individual items * in the list. */ local_list = sheet_head->master_net_list_head; while (local_list != NULL) { local_list->pos = i; i++; local_list = local_list->next; } return; } /*------------------------------------------------------------------*/ /*! \brief Sort the master net attribute list * * Take the master net attribute list * sheet_head->master_net_attrib_list_head * and sort it in this order: * value, footprint, model-name, file, * */ /*------------------------------------------------------------------*/ void s_string_list_sort_master_net_attrib_list() { int i = 0; STRING_LIST *local_list; /* Do this after sorting is done. This resets the order of the individual items * in the list. */ local_list = sheet_head->master_net_attrib_list_head; while (local_list != NULL) { local_list->pos = i; i++; local_list = local_list->next; } return; } /*------------------------------------------------------------------*/ /*! \brief Sort the master pin list * * Take the master pin list * sheet_head->master_pin_list_head * and sorts it in this order: * * Right now it does nothing other than fill in the "position" * and "length" variables. */ /*------------------------------------------------------------------*/ void s_string_list_sort_master_pin_list() { int i = 0; STRING_LIST *local_list, *p; /* Here's where we do the sort. The sort is done using a fcn found on the web. */ local_list = sheet_head->master_pin_list_head; for (p=local_list; p; p=p->next) p->pos = 0; local_list = listsort(local_list, 0, 1); /* Do this after sorting is done. This resets the order of the individual items * in the list. */ while (local_list != NULL) { /* make sure item is not null */ local_list->pos = i; if (local_list->next != NULL) { i++; local_list = local_list->next; } else { break; /* leave loop *before* iterating to NULL EOL marker */ } } /* Now go to first item in local list and reassign list head to new first element */ while (local_list->prev != NULL) { local_list = local_list->prev; } sheet_head->master_pin_list_head = local_list; return; } /*------------------------------------------------------------------*/ /*! \brief Sort the master pin attribute list * * Takes the master pin attrib list * sheet_head->master_pin_attrib_list_head * and sorts it in this order: * * Right now it does nothing other than fill in the "position" * and "length" variables. */ /*------------------------------------------------------------------*/ void s_string_list_sort_master_pin_attrib_list() { int i = 0; STRING_LIST *local_list; /* Here's where we do the sort */ /* * Note that this sort is TBD -- it is more than just an alphabetic sort 'cause we want * certain attribs to go first. */ /* Do this after sorting is done. This resets the order of the individual items * in the list. */ local_list = sheet_head->master_pin_attrib_list_head; while (local_list != NULL) { local_list->pos = i; i++; local_list = local_list->next; } return; } geda-gaf-1.8.2/gattrib/src/gtkextra-marshal.c0000664000175000017500000010032712204177070015750 00000000000000#ifdef HAVE_CONFIG_H #include "config.h" #endif #include #ifdef HAVE_LIBDMALLOC #include #endif #ifdef G_ENABLE_DEBUG #define g_marshal_value_peek_boolean(v) g_value_get_boolean (v) #define g_marshal_value_peek_char(v) g_value_get_char (v) #define g_marshal_value_peek_uchar(v) g_value_get_uchar (v) #define g_marshal_value_peek_int(v) g_value_get_int (v) #define g_marshal_value_peek_uint(v) g_value_get_uint (v) #define g_marshal_value_peek_long(v) g_value_get_long (v) #define g_marshal_value_peek_ulong(v) g_value_get_ulong (v) #define g_marshal_value_peek_int64(v) g_value_get_int64 (v) #define g_marshal_value_peek_uint64(v) g_value_get_uint64 (v) #define g_marshal_value_peek_enum(v) g_value_get_enum (v) #define g_marshal_value_peek_flags(v) g_value_get_flags (v) #define g_marshal_value_peek_float(v) g_value_get_float (v) #define g_marshal_value_peek_double(v) g_value_get_double (v) #define g_marshal_value_peek_string(v) (char*) g_value_get_string (v) #define g_marshal_value_peek_param(v) g_value_get_param (v) #define g_marshal_value_peek_boxed(v) g_value_get_boxed (v) #define g_marshal_value_peek_pointer(v) g_value_get_pointer (v) #define g_marshal_value_peek_object(v) g_value_get_object (v) #else /* !G_ENABLE_DEBUG */ /* WARNING: This code accesses GValues directly, which is UNSUPPORTED API. * Do not access GValues directly in your code. Instead, use the * g_value_get_*() functions */ #define g_marshal_value_peek_boolean(v) (v)->data[0].v_int #define g_marshal_value_peek_char(v) (v)->data[0].v_int #define g_marshal_value_peek_uchar(v) (v)->data[0].v_uint #define g_marshal_value_peek_int(v) (v)->data[0].v_int #define g_marshal_value_peek_uint(v) (v)->data[0].v_uint #define g_marshal_value_peek_long(v) (v)->data[0].v_long #define g_marshal_value_peek_ulong(v) (v)->data[0].v_ulong #define g_marshal_value_peek_int64(v) (v)->data[0].v_int64 #define g_marshal_value_peek_uint64(v) (v)->data[0].v_uint64 #define g_marshal_value_peek_enum(v) (v)->data[0].v_int #define g_marshal_value_peek_flags(v) (v)->data[0].v_uint #define g_marshal_value_peek_float(v) (v)->data[0].v_float #define g_marshal_value_peek_double(v) (v)->data[0].v_double #define g_marshal_value_peek_string(v) (v)->data[0].v_pointer #define g_marshal_value_peek_param(v) (v)->data[0].v_pointer #define g_marshal_value_peek_boxed(v) (v)->data[0].v_pointer #define g_marshal_value_peek_pointer(v) (v)->data[0].v_pointer #define g_marshal_value_peek_object(v) (v)->data[0].v_pointer #endif /* !G_ENABLE_DEBUG */ /* BOOL:INT,INT,POINTER,POINTER (gtkextra-marshal.list:1) */ void gtkextra_BOOLEAN__INT_INT_POINTER_POINTER (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef gboolean (*GMarshalFunc_BOOLEAN__INT_INT_POINTER_POINTER) (gpointer data1, gint arg_1, gint arg_2, gpointer arg_3, gpointer arg_4, gpointer data2); register GMarshalFunc_BOOLEAN__INT_INT_POINTER_POINTER callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; gboolean v_return; g_return_if_fail (return_value != NULL); g_return_if_fail (n_param_values == 5); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_BOOLEAN__INT_INT_POINTER_POINTER) (marshal_data ? marshal_data : cc->callback); v_return = callback (data1, g_marshal_value_peek_int (param_values + 1), g_marshal_value_peek_int (param_values + 2), g_marshal_value_peek_pointer (param_values + 3), g_marshal_value_peek_pointer (param_values + 4), data2); g_value_set_boolean (return_value, v_return); } /* BOOL:BOXED,POINTER (gtkextra-marshal.list:2) */ void gtkextra_BOOLEAN__BOXED_POINTER (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef gboolean (*GMarshalFunc_BOOLEAN__BOXED_POINTER) (gpointer data1, gpointer arg_1, gpointer arg_2, gpointer data2); register GMarshalFunc_BOOLEAN__BOXED_POINTER callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; gboolean v_return; g_return_if_fail (return_value != NULL); g_return_if_fail (n_param_values == 3); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_BOOLEAN__BOXED_POINTER) (marshal_data ? marshal_data : cc->callback); v_return = callback (data1, g_marshal_value_peek_boxed (param_values + 1), g_marshal_value_peek_pointer (param_values + 2), data2); g_value_set_boolean (return_value, v_return); } /* BOOL:BOXED,STRING (gtkextra-marshal.list:3) */ void gtkextra_BOOLEAN__BOXED_STRING (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef gboolean (*GMarshalFunc_BOOLEAN__BOXED_STRING) (gpointer data1, gpointer arg_1, gpointer arg_2, gpointer data2); register GMarshalFunc_BOOLEAN__BOXED_STRING callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; gboolean v_return; g_return_if_fail (return_value != NULL); g_return_if_fail (n_param_values == 3); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_BOOLEAN__BOXED_STRING) (marshal_data ? marshal_data : cc->callback); v_return = callback (data1, g_marshal_value_peek_boxed (param_values + 1), g_marshal_value_peek_string (param_values + 2), data2); g_value_set_boolean (return_value, v_return); } /* BOOL:BOXED,BOXED (gtkextra-marshal.list:4) */ void gtkextra_BOOLEAN__BOXED_BOXED (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef gboolean (*GMarshalFunc_BOOLEAN__BOXED_BOXED) (gpointer data1, gpointer arg_1, gpointer arg_2, gpointer data2); register GMarshalFunc_BOOLEAN__BOXED_BOXED callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; gboolean v_return; g_return_if_fail (return_value != NULL); g_return_if_fail (n_param_values == 3); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_BOOLEAN__BOXED_BOXED) (marshal_data ? marshal_data : cc->callback); v_return = callback (data1, g_marshal_value_peek_boxed (param_values + 1), g_marshal_value_peek_boxed (param_values + 2), data2); g_value_set_boolean (return_value, v_return); } /* BOOL:BOXED,DOUBLE,DOUBLE (gtkextra-marshal.list:5) */ void gtkextra_BOOLEAN__BOXED_DOUBLE_DOUBLE (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef gboolean (*GMarshalFunc_BOOLEAN__BOXED_DOUBLE_DOUBLE) (gpointer data1, gpointer arg_1, gdouble arg_2, gdouble arg_3, gpointer data2); register GMarshalFunc_BOOLEAN__BOXED_DOUBLE_DOUBLE callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; gboolean v_return; g_return_if_fail (return_value != NULL); g_return_if_fail (n_param_values == 4); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_BOOLEAN__BOXED_DOUBLE_DOUBLE) (marshal_data ? marshal_data : cc->callback); v_return = callback (data1, g_marshal_value_peek_boxed (param_values + 1), g_marshal_value_peek_double (param_values + 2), g_marshal_value_peek_double (param_values + 3), data2); g_value_set_boolean (return_value, v_return); } /* BOOL:POINTER,POINTER (gtkextra-marshal.list:6) */ void gtkextra_BOOLEAN__POINTER_POINTER (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef gboolean (*GMarshalFunc_BOOLEAN__POINTER_POINTER) (gpointer data1, gpointer arg_1, gpointer arg_2, gpointer data2); register GMarshalFunc_BOOLEAN__POINTER_POINTER callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; gboolean v_return; g_return_if_fail (return_value != NULL); g_return_if_fail (n_param_values == 3); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_BOOLEAN__POINTER_POINTER) (marshal_data ? marshal_data : cc->callback); v_return = callback (data1, g_marshal_value_peek_pointer (param_values + 1), g_marshal_value_peek_pointer (param_values + 2), data2); g_value_set_boolean (return_value, v_return); } /* BOOL:POINTER,BOXED (gtkextra-marshal.list:7) */ void gtkextra_BOOLEAN__POINTER_BOXED (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef gboolean (*GMarshalFunc_BOOLEAN__POINTER_BOXED) (gpointer data1, gpointer arg_1, gpointer arg_2, gpointer data2); register GMarshalFunc_BOOLEAN__POINTER_BOXED callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; gboolean v_return; g_return_if_fail (return_value != NULL); g_return_if_fail (n_param_values == 3); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_BOOLEAN__POINTER_BOXED) (marshal_data ? marshal_data : cc->callback); v_return = callback (data1, g_marshal_value_peek_pointer (param_values + 1), g_marshal_value_peek_boxed (param_values + 2), data2); g_value_set_boolean (return_value, v_return); } /* BOOL:POINTER,STRING (gtkextra-marshal.list:8) */ void gtkextra_BOOLEAN__POINTER_STRING (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef gboolean (*GMarshalFunc_BOOLEAN__POINTER_STRING) (gpointer data1, gpointer arg_1, gpointer arg_2, gpointer data2); register GMarshalFunc_BOOLEAN__POINTER_STRING callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; gboolean v_return; g_return_if_fail (return_value != NULL); g_return_if_fail (n_param_values == 3); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_BOOLEAN__POINTER_STRING) (marshal_data ? marshal_data : cc->callback); v_return = callback (data1, g_marshal_value_peek_pointer (param_values + 1), g_marshal_value_peek_string (param_values + 2), data2); g_value_set_boolean (return_value, v_return); } /* BOOL:POINTER (gtkextra-marshal.list:9) */ void gtkextra_BOOLEAN__POINTER (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef gboolean (*GMarshalFunc_BOOLEAN__POINTER) (gpointer data1, gpointer arg_1, gpointer data2); register GMarshalFunc_BOOLEAN__POINTER callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; gboolean v_return; g_return_if_fail (return_value != NULL); g_return_if_fail (n_param_values == 2); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_BOOLEAN__POINTER) (marshal_data ? marshal_data : cc->callback); v_return = callback (data1, g_marshal_value_peek_pointer (param_values + 1), data2); g_value_set_boolean (return_value, v_return); } /* BOOL:BOXED (gtkextra-marshal.list:10) */ void gtkextra_BOOLEAN__BOXED (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef gboolean (*GMarshalFunc_BOOLEAN__BOXED) (gpointer data1, gpointer arg_1, gpointer data2); register GMarshalFunc_BOOLEAN__BOXED callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; gboolean v_return; g_return_if_fail (return_value != NULL); g_return_if_fail (n_param_values == 2); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_BOOLEAN__BOXED) (marshal_data ? marshal_data : cc->callback); v_return = callback (data1, g_marshal_value_peek_boxed (param_values + 1), data2); g_value_set_boolean (return_value, v_return); } /* BOOL:INT,INT (gtkextra-marshal.list:11) */ void gtkextra_BOOLEAN__INT_INT (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef gboolean (*GMarshalFunc_BOOLEAN__INT_INT) (gpointer data1, gint arg_1, gint arg_2, gpointer data2); register GMarshalFunc_BOOLEAN__INT_INT callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; gboolean v_return; g_return_if_fail (return_value != NULL); g_return_if_fail (n_param_values == 3); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_BOOLEAN__INT_INT) (marshal_data ? marshal_data : cc->callback); v_return = callback (data1, g_marshal_value_peek_int (param_values + 1), g_marshal_value_peek_int (param_values + 2), data2); g_value_set_boolean (return_value, v_return); } /* VOID:INT (gtkextra-marshal.list:12) */ /* VOID:INT,STRING (gtkextra-marshal.list:13) */ void gtkextra_VOID__INT_STRING (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef void (*GMarshalFunc_VOID__INT_STRING) (gpointer data1, gint arg_1, gpointer arg_2, gpointer data2); register GMarshalFunc_VOID__INT_STRING callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; g_return_if_fail (n_param_values == 3); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_VOID__INT_STRING) (marshal_data ? marshal_data : cc->callback); callback (data1, g_marshal_value_peek_int (param_values + 1), g_marshal_value_peek_string (param_values + 2), data2); } /* VOID:BOXED (gtkextra-marshal.list:14) */ /* VOID:VOID (gtkextra-marshal.list:15) */ /* VOID:BOOL (gtkextra-marshal.list:16) */ /* VOID:POINTER (gtkextra-marshal.list:17) */ /* VOID:INT,INT (gtkextra-marshal.list:18) */ void gtkextra_VOID__INT_INT (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef void (*GMarshalFunc_VOID__INT_INT) (gpointer data1, gint arg_1, gint arg_2, gpointer data2); register GMarshalFunc_VOID__INT_INT callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; g_return_if_fail (n_param_values == 3); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_VOID__INT_INT) (marshal_data ? marshal_data : cc->callback); callback (data1, g_marshal_value_peek_int (param_values + 1), g_marshal_value_peek_int (param_values + 2), data2); } /* VOID:INT,POINTER (gtkextra-marshal.list:19) */ void gtkextra_VOID__INT_POINTER (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef void (*GMarshalFunc_VOID__INT_POINTER) (gpointer data1, gint arg_1, gpointer arg_2, gpointer data2); register GMarshalFunc_VOID__INT_POINTER callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; g_return_if_fail (n_param_values == 3); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_VOID__INT_POINTER) (marshal_data ? marshal_data : cc->callback); callback (data1, g_marshal_value_peek_int (param_values + 1), g_marshal_value_peek_pointer (param_values + 2), data2); } /* VOID:INT,BOXED (gtkextra-marshal.list:20) */ void gtkextra_VOID__INT_BOXED (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef void (*GMarshalFunc_VOID__INT_BOXED) (gpointer data1, gint arg_1, gpointer arg_2, gpointer data2); register GMarshalFunc_VOID__INT_BOXED callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; g_return_if_fail (n_param_values == 3); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_VOID__INT_BOXED) (marshal_data ? marshal_data : cc->callback); callback (data1, g_marshal_value_peek_int (param_values + 1), g_marshal_value_peek_boxed (param_values + 2), data2); } /* VOID:POINTER,POINTER (gtkextra-marshal.list:21) */ void gtkextra_VOID__POINTER_POINTER (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef void (*GMarshalFunc_VOID__POINTER_POINTER) (gpointer data1, gpointer arg_1, gpointer arg_2, gpointer data2); register GMarshalFunc_VOID__POINTER_POINTER callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; g_return_if_fail (n_param_values == 3); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_VOID__POINTER_POINTER) (marshal_data ? marshal_data : cc->callback); callback (data1, g_marshal_value_peek_pointer (param_values + 1), g_marshal_value_peek_pointer (param_values + 2), data2); } /* VOID:BOXED,POINTER (gtkextra-marshal.list:22) */ void gtkextra_VOID__BOXED_POINTER (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef void (*GMarshalFunc_VOID__BOXED_POINTER) (gpointer data1, gpointer arg_1, gpointer arg_2, gpointer data2); register GMarshalFunc_VOID__BOXED_POINTER callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; g_return_if_fail (n_param_values == 3); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_VOID__BOXED_POINTER) (marshal_data ? marshal_data : cc->callback); callback (data1, g_marshal_value_peek_boxed (param_values + 1), g_marshal_value_peek_pointer (param_values + 2), data2); } /* VOID:BOXED,BOXED (gtkextra-marshal.list:23) */ void gtkextra_VOID__BOXED_BOXED (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef void (*GMarshalFunc_VOID__BOXED_BOXED) (gpointer data1, gpointer arg_1, gpointer arg_2, gpointer data2); register GMarshalFunc_VOID__BOXED_BOXED callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; g_return_if_fail (n_param_values == 3); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_VOID__BOXED_BOXED) (marshal_data ? marshal_data : cc->callback); callback (data1, g_marshal_value_peek_boxed (param_values + 1), g_marshal_value_peek_boxed (param_values + 2), data2); } /* VOID:OBJECT,OBJECT (gtkextra-marshal.list:24) */ void gtkextra_VOID__OBJECT_OBJECT (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef void (*GMarshalFunc_VOID__OBJECT_OBJECT) (gpointer data1, gpointer arg_1, gpointer arg_2, gpointer data2); register GMarshalFunc_VOID__OBJECT_OBJECT callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; g_return_if_fail (n_param_values == 3); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_VOID__OBJECT_OBJECT) (marshal_data ? marshal_data : cc->callback); callback (data1, g_marshal_value_peek_object (param_values + 1), g_marshal_value_peek_object (param_values + 2), data2); } /* VOID:DOUBLE,DOUBLE,DOUBLE,DOUBLE (gtkextra-marshal.list:25) */ void gtkextra_VOID__DOUBLE_DOUBLE_DOUBLE_DOUBLE (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef void (*GMarshalFunc_VOID__DOUBLE_DOUBLE_DOUBLE_DOUBLE) (gpointer data1, gdouble arg_1, gdouble arg_2, gdouble arg_3, gdouble arg_4, gpointer data2); register GMarshalFunc_VOID__DOUBLE_DOUBLE_DOUBLE_DOUBLE callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; g_return_if_fail (n_param_values == 5); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_VOID__DOUBLE_DOUBLE_DOUBLE_DOUBLE) (marshal_data ? marshal_data : cc->callback); callback (data1, g_marshal_value_peek_double (param_values + 1), g_marshal_value_peek_double (param_values + 2), g_marshal_value_peek_double (param_values + 3), g_marshal_value_peek_double (param_values + 4), data2); } geda-gaf-1.8.2/gattrib/src/parsecmd.c0000664000175000017500000001137012220647257014276 00000000000000/* gEDA - GPL Electronic Design Automation * gattrib -- gEDA component and net attribute manipulation using spreadsheet. * Copyright (C) 2003-2010 Stuart D. Brorson. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! * \file * \brief Functions to parse the command line. * * Functions to parse the command line and to provide usage * information. */ #include #include #ifdef HAVE_STRING_H #include #endif #ifdef HAVE_UNISTD_H #include #endif #ifdef HAVE_GETOPT_H #include #endif /* Checking for getopt */ #if !defined(HAVE_GETOPT_LONG) || !defined(HAVE_GETOPT_H) /*! \brief Command line option string for getopt. * * Command line option string for getopt. Defines "q" for quiet, * "v" for verbose and "h" for help. */ #define OPTIONS "qvh" #ifndef OPTARG_IN_UNISTD extern char *optarg; extern int optind; #endif #endif /* Checking for getopt_long */ #ifdef HAVE_LIBDMALLOC #include #endif /*------------------------------------------------------------------ * Gattrib specific includes *------------------------------------------------------------------*/ #include /* geda library fcns */ #include "../include/struct.h" /* typdef and struct declarations */ #include "../include/prototype.h" /* function prototypes */ #include "../include/globals.h" /*! * \brief Print usage message * * Prints gattrib usage information to stdout. * \param cmd Unused parameter. * */ void usage(char *cmd) { printf("\n"); printf("Gattrib: The gEDA project\'s attribute editor.\n"); printf("Presents schematic attributes in easy-to-edit spreadsheet format.\n"); printf("\n"); printf("Usage: %s [OPTIONS] filename1 ... filenameN\n", cmd); printf(" -q, --quiet Quiet mode\n"); printf(" -v, --verbose Verbose mode on\n"); printf(" -h, --help This help menu\n"); printf("\n"); printf(" FAQ:\n"); printf(" * What do the colors of the cell text mean?\n"); printf(" The cell colors indicate the visibility of the attribute.\n"); printf(" Black = Visible attribute, value displayed only.\n"); printf(" Grey = Invisible attribute.\n"); printf(" Red = Visible attribute, name displayed only.\n"); printf(" Blue = Visible attribute, both name and value displayed.\n"); printf("\n"); printf(" * What does the period (\".\") at the end of some component refdeses mean?\n"); printf(" The period is placed after the refdeses of slotted components.\n"); printf(" If slots are present on the component, then the different slots appear\n"); printf(" in different rows with the slot number after the period. Example: C101.2.\n"); printf("\n"); printf("Copyright (C) 2003 -- 2006 Stuart D. Brorson. E-mail: sdb (AT) cloud9 (DOT) net.\n"); printf("\n"); exit(0); } /*! * \brief Parse command line switches. * * Parse command line switches at startup. There are only 3 command * line switches: * - verbose * - quiet * - help * \param argc Number of command line arguments * \param argv Command line arguments (array of strings) * \returns I don't know what - looks uninitialised in some circumstances. * */ int parse_commandline(int argc, char *argv[]) { int ch; #if defined(HAVE_GETOPT_LONG) && defined(HAVE_GETOPT_H) /* Use getopt_long if it is available */ int option_index = 0; static struct option long_options[] = { {"help", 0, 0, 'h'}, {"quiet", 0, 0, 'q'}, {"verbose", 0, 0, 'v'}, {0, 0, 0, 0} }; while (1) { ch = getopt_long(argc, argv, "hqv", long_options, &option_index); if (ch == -1) break; #else /* Otherwise just use regular getopt */ while ((ch = getopt(argc, argv, OPTIONS)) != -1) { #endif switch (ch) { case 'v': verbose_mode = TRUE; break; case 'q': quiet_mode = TRUE; break; case 'h': usage(argv[0]); break; case '?': default: usage(argv[0]); break; } } if (quiet_mode) { verbose_mode = FALSE; } return (optind); } geda-gaf-1.8.2/gattrib/src/globals.c0000664000175000017500000000342212204177070014113 00000000000000/* gEDA - GPL Electronic Design Automation * gattrib -- gEDA component and net attribute manipulation using spreadsheet. * Copyright (C) 2003-2010 Stuart D. Brorson. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! \file * \brief Global declarations * * Global declarations */ #include #include /*------------------------------------------------------------------ * Gattrib specific includes *------------------------------------------------------------------*/ #include /* geda library fcns */ #include "../include/struct.h" /* typdef and struct declarations */ #include "../include/prototype.h" /* function prototypes */ #include "../include/globals.h" #ifdef HAVE_LIBDMALLOC #include #endif /* command line arguments */ int verbose_mode=FALSE; //!< Reflects the value of the command line flag int quiet_mode=FALSE; //!< Reflects the value of the command line flag /*! * these are required by libgeda * I have made most of these NULL because they aren't needed * for gattrib -- no drawing is done. */ void (*variable_set_func)() = i_vars_set; geda-gaf-1.8.2/gattrib/src/x_window.c0000664000175000017500000003535412220647257014346 00000000000000/* gEDA - GPL Electronic Design Automation * gattrib -- gEDA component and net attribute manipulation using spreadsheet. * Copyright (C) 2003-2010 Stuart D. Brorson. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*------------------------------------------------------------------*/ /*! \file * \brief Functions for the toplevel window * * This file holds functions used to handle the toplevel window and * various widgets held by that window. Widges used to handle * (GtkSheet *sheet) itself are held in a different file. */ #ifdef HAVE_CONFIG_H #include "config.h" #endif /*------------------------------------------------------------------ * Includes required to run graphical widgets. *------------------------------------------------------------------*/ #include #include #include #ifdef HAVE_STRING_H #include #endif /*------------------------------------------------------------------ * Gattrib specific includes *------------------------------------------------------------------*/ #include /* geda library fcns */ #include "../include/struct.h" /* typdef and struct declarations */ #include "../include/prototype.h" /* function prototypes */ #include "../include/globals.h" #ifdef HAVE_LIBDMALLOC #include #endif /*------------------------------------------------------------------ * Gattrib specific defines *------------------------------------------------------------------*/ #define GATTRIB_THEME_ICON_NAME "geda-gattrib" static void x_window_create_menu(GtkWindow *window, GtkWidget **menubar); static void x_window_set_default_icon( void ); /*! \brief Initialises the toplevel gtksheet * * This function initializes the toplevel gtksheet stuff. * * It basically just initializes the following widgets: * GTK_WINDOW *window * GTK_CONTAINER *main_vbox * GTK_MENU * * Note that it doesn't display the spreadsheet itself. This is done * in x_sheet_build_sheet. I suppose I could postpone all initialization * until x_sheet_build_sheet, but I figured that I could at least do * some initialization here. In particular, the stuff to put up the * menus is long & it is worthwhile to separate it from other code. * Maybe I'll refactor this later. */ void x_window_init() { GtkWidget *menu_bar; GtkWidget *main_vbox; /* Set default icon */ x_window_set_default_icon(); /* window is a global declared in globals.h. */ window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title( GTK_WINDOW(window), "gattrib -- gEDA attribute editor"); gtk_window_set_default_size(GTK_WINDOW(window), 750, 600); gtk_signal_connect (GTK_OBJECT (window), "delete_event", GTK_SIGNAL_FUNC (gattrib_really_quit), 0); /* ----- Now create main_vbox. This is a container which organizes child ----- */ /* ----- widgets into a vertical column. ----- */ main_vbox = gtk_vbox_new(FALSE,1); gtk_container_set_border_width(GTK_CONTAINER(main_vbox), 1); gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(main_vbox) ); /* ----- Now create menu bar ----- */ x_window_create_menu(GTK_WINDOW(window), &menu_bar); gtk_box_pack_start(GTK_BOX (main_vbox), menu_bar, FALSE, TRUE, 0); /* ----- Now init notebook widget ----- */ notebook = gtk_notebook_new(); gtk_notebook_set_tab_pos(GTK_NOTEBOOK(notebook), GTK_POS_BOTTOM); gtk_box_pack_start(GTK_BOX(main_vbox), notebook, TRUE, TRUE, 0); /* ----- Now malloc -- but don't fill out -- space for sheets ----- */ /* This basically sets up the overhead for the sheets, as I understand * it. The memory for the actual sheet cells is allocated later, * when gtk_sheet_new is invoked, I think. */ sheets = g_malloc0(NUM_SHEETS * sizeof(GtkWidget *)); } /*------------------------------------------------------------------ * \brief File Open menu * * File open menu. Currently unimplemented. * \todo this should really be done in two stages: * -# close the current project and reinitialize structures * -# load the new project */ #ifdef UNIMPLEMENTED_FEATURES static void menu_file_open() { x_dialog_unimplemented_feature(); #if 0 GSList *file_list; file_list = x_fileselect_open(); /* Load the files, don't check if it went OK */ x_fileselect_load_files(file_list); g_slist_foreach(file_list, (GFunc)g_free, NULL); g_slist_free(file_list); #endif } #endif /*! * \brief File->Save menu item * * Implement the File->Save menu */ static void menu_file_save() { s_toplevel_gtksheet_to_toplevel(pr_current); /* Dumps sheet data into TOPLEVEL */ s_page_save_all(pr_current); /* saves all pages in design */ sheet_head->CHANGED = FALSE; } /*! * \brief File->Export CSV menu item * * Implement the File->Export CSV menu item */ static void menu_file_export_csv() { gint cur_page; /* first verify that we are on the correct page (components) */ cur_page = gtk_notebook_get_current_page(GTK_NOTEBOOK(notebook)); /* Check that we are on components page. */ if (cur_page == 0) { x_dialog_export_file(); } else { x_dialog_unimplemented_feature(); /* We only support export of components now */ } } /*! * \brief Edit->New attrib menu item * * Implement the New attrib menu item */ static void menu_edit_newattrib() { gint cur_page; /* first verify that we are on the correct page (components) */ cur_page = gtk_notebook_get_current_page(GTK_NOTEBOOK(notebook)); /* Check that we are on components page. */ if (cur_page == 0) { x_dialog_newattrib(); /* This creates dialog box */ } } /*! * \brief Edit->Delete Attribute menu item * * Implements the Delete Attribute menu item */ static void menu_edit_delattrib() { x_dialog_delattrib(); } /*! * The Gtk action table */ static const GtkActionEntry actions[] = { /* name, stock-id, label, accelerator, tooltip, callback function */ /* File menu */ { "file", NULL, "_File"}, /* { "file-open", GTK_STOCK_OPEN, "Open", "O", "", menu_file_open}, */ { "file-save", GTK_STOCK_SAVE, "Save", "S", "", menu_file_save}, { "file-export-csv", NULL, "Export CSV", "", "", menu_file_export_csv}, /* { "file-print", GTK_STOCK_PRINT, "Print", "P", "", x_dialog_unimplemented_feature}, */ { "file-quit", GTK_STOCK_QUIT, "Quit", "Q", "", G_CALLBACK(gattrib_really_quit)}, /* Edit menu */ { "edit", NULL, "_Edit"}, { "edit-add-attrib", NULL, "Add new attrib column", "", "", menu_edit_newattrib}, { "edit-delete-attrib", NULL, "Delete attrib column", "", "", menu_edit_delattrib}, /* { "edit-find-attrib", GTK_STOCK_FIND, "Find attrib value", "F", "", x_dialog_unimplemented_feature}, */ /* { "edit-search-replace-attrib-value", NULL, "Search and replace attrib value", "", "", x_dialog_unimplemented_feature}, */ /* { "edit-search-for-refdes", NULL, "Search for refdes", "", "", x_dialog_unimplemented_feature}, */ /* Visibility menu */ { "visibility", NULL, "_Visibility"}, { "visibility-invisible", NULL, "Set selected invisible", "", "", s_visibility_set_invisible}, { "visibility-name-only", NULL, "Set selected name visible only", "", "", s_visibility_set_name_only}, { "visibility-value-only", NULL, "Set selected value visible only", "", "", s_visibility_set_value_only}, { "visibility-name-value", NULL, "Set selected name and value visible", "", "", s_visibility_set_name_and_value}, /* Help menu */ { "help", NULL, "_Help"}, { "help-about", GTK_STOCK_ABOUT, "About", "", "", x_dialog_about_dialog}, }; /*! \brief Create and attach the menu bar * * Create the menu bar and attach it to the main window. * * First, the GtkActionGroup object is created and filled with * entries of type GtkActionEntry (each entry specifies a single * action, such as opening a file). Then the GtkUIManager object * is created and used to load menus.xml file with the menu * description. Finally, the GtkAccelGroup is added to the * main window to enable keyboard accelerators and a pointer * to the menu bar is retrieved from the GtkUIManager object. * \param window Window to add the menubar to * \param [out] menubar Created menubar */ static void x_window_create_menu(GtkWindow *window, GtkWidget **menubar) { gchar *menu_file; GtkUIManager *ui; GtkActionGroup *action_group; GError *error = NULL; /* Create and fill the action group object */ action_group = gtk_action_group_new(""); gtk_action_group_add_actions(action_group, actions, G_N_ELEMENTS(actions), NULL); /* Create the UI manager object */ ui = gtk_ui_manager_new(); gtk_ui_manager_insert_action_group(ui, action_group, 0); menu_file = g_build_filename(s_path_sys_data (), "gattrib-menus.xml", NULL); gtk_ui_manager_add_ui_from_file(ui, menu_file, &error); if(error != NULL) { /* An error occured, terminate */ fprintf(stderr, "Error loading %s:\n%s\n", menu_file, error->message); exit(1); } g_free(menu_file); gtk_window_add_accel_group (window, gtk_ui_manager_get_accel_group(ui)); *menubar = gtk_ui_manager_get_widget(ui, "/ui/menubar/"); } /*! \brief Add all items to the top level window * * This function updates the top level window * after a new page is read in. * * It does the following: * * -# Create a new gtksheet having the current dimensions. * -# Call x_gktsheet_add_row_labels(comp_count, master_*_list_head) * -# Call x_gktsheet_add_col_labels(comp_attrib_count, master_*_attrib_list_head) * -# Call x_gktsheet_add_row_labels(net_count, master_*_list_head) * -# Call x_gktsheet_add_col_labels(net_attrib_count, master_*_attrib_list_head) * -# loop on i, j -- call x_gtksheet_add_entry(i, j, attrib_value) * -# Call gtk_widget_show(window) to show new window. */ void x_window_add_items() { gint i, j; gint num_rows, num_cols; gchar *text, *error_string; gint visibility, show_name_value; /* Do these sanity check to prevent later segfaults */ if (sheet_head->comp_count == 0) { error_string = "No components found in entire design!\n" "Do you have refdeses on your components?"; x_dialog_fatal_error(error_string, 1); } if (sheet_head->comp_attrib_count == 0) { error_string = "No configurable component attributes found in entire design!\n" "Please attach at least some attributes before running gattrib."; x_dialog_fatal_error(error_string, 2); } if (sheet_head->pin_count == 0) { error_string = "No pins found on any components!\n" "Please check your design."; x_dialog_fatal_error(error_string, 3); } /* initialize the gtksheet. */ x_gtksheet_init(); /* this creates a new gtksheet having dimensions specified * in sheet_head->comp_count, etc. . . */ if (sheet_head->comp_count > 0 ) { x_gtksheet_add_row_labels(GTK_SHEET(sheets[0]), sheet_head->comp_count, sheet_head->master_comp_list_head); x_gtksheet_add_col_labels(GTK_SHEET(sheets[0]), sheet_head->comp_attrib_count, sheet_head->master_comp_attrib_list_head); } #ifdef UNIMPLEMENTED_FEATURES /* This is not ready. I need to implement net attributes */ if (sheet_head->net_count > 0 ) { x_gtksheet_add_row_labels(GTK_SHEET(sheets[1]), sheet_head->net_count, sheet_head->master_net_list_head); x_gtksheet_add_col_labels(GTK_SHEET(sheets[1]), sheet_head->net_attrib_count, sheet_head->master_net_attrib_list_head); } else { x_gtksheet_add_row_labels(GTK_SHEET(sheets[1]), 1, NULL); x_gtksheet_add_col_labels(GTK_SHEET(sheets[1]), 1, NULL); } #endif #ifdef UNIMPLEMENTED_FEATURES if (sheet_head->pin_count > 0 ) { x_gtksheet_add_row_labels(GTK_SHEET(sheets[2]), sheet_head->pin_count, sheet_head->master_pin_list_head); x_gtksheet_add_col_labels(GTK_SHEET(sheets[2]), sheet_head->pin_attrib_count, sheet_head->master_pin_attrib_list_head); } #endif /* ------ Comp sheet: put values in the individual cells ------- */ num_rows = sheet_head->comp_count; num_cols = sheet_head->comp_attrib_count; for (i = 0; i < num_rows; i++) { for (j = 0; j < num_cols; j++) { if ( (sheet_head->component_table)[i][j].attrib_value ) { /* NULL = no entry */ text = (gchar *) g_strdup( (sheet_head->component_table)[i][j].attrib_value ); visibility = (sheet_head->component_table)[i][j].visibility; show_name_value = (sheet_head->component_table)[i][j].show_name_value; x_gtksheet_add_cell_item( GTK_SHEET(sheets[0]), i, j, (gchar *) text, visibility, show_name_value ); g_free(text); } } } #ifdef UNIMPLEMENTED_FEATURES /* ------ Net sheet: put values in the individual cells ------- */ num_rows = sheet_head->net_count; num_cols = sheet_head->net_attrib_count; for (i = 0; i < num_rows; i++) { for (j = 0; j < num_cols; j++) { if ( (sheet_head->net_table)[i][j].attrib_value ) { /* NULL = no entry */ text = (gchar *) g_strdup( (sheet_head->net_table)[i][j].attrib_value ); visibility = (sheet_head->net_table)[i][j].visibility; show_name_value = (sheet_head->component_table)[i][j].show_name_value; x_gtksheet_add_cell_item( GTK_SHEET(sheets[1]), i, j, (gchar *) text, visibility, show_name_value ); g_free(text); } } } #endif #ifdef UNIMPLEMENTED_FEATURES /* ------ Pin sheet: put pin attribs in the individual cells ------- */ num_rows = sheet_head->pin_count; num_cols = sheet_head->pin_attrib_count; for (i = 0; i < num_rows; i++) { for (j = 0; j < num_cols; j++) { if ( (sheet_head->pin_table)[i][j].attrib_value ) { /* NULL = no entry */ text = (gchar *) g_strdup( (sheet_head->pin_table)[i][j].attrib_value ); /* pins have no visibility attributes, must therefore provide default. */ x_gtksheet_add_cell_item( GTK_SHEET(sheets[2]), i, j, (gchar *) text, VISIBLE, SHOW_VALUE ); g_free(text); } } } #endif gtk_widget_show_all( GTK_WIDGET(window) ); } /*! \brief Set application icon * * Setup default icon for GTK windows * * Sets the default window icon by name, to be found in the current icon * theme. The name used is #defined above as GATTRIB_THEME_ICON_NAME. */ static void x_window_set_default_icon( void ) { gtk_window_set_default_icon_name( GATTRIB_THEME_ICON_NAME ); } geda-gaf-1.8.2/gattrib/include/0000775000175000017500000000000012220655754013247 500000000000000geda-gaf-1.8.2/gattrib/include/x_states.h0000664000175000017500000000274112204177070015166 00000000000000/* gEDA - GPL Electronic Design Automation * gattrib -- gEDA component and net attribute manipulation using spreadsheet. * Copyright (C) 1998-2010 Ales Hvezda * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 of * the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef X_STATES_H #define X_STATES_H #undef NONE /* NOTE: when adding states, also update i_status_string() function */ enum x_states { NONE, SELECT, DRAWLINE, DRAWBOX, MOVE, COPY, DRAWCIRCLE, ZOOM, PAN, DRAWNET, NETCONT, TEXTENTRY, DRAWPIN, DRAWARC, STARTDRAWNET, DRAWCOMP, SBOX, STARTPAN, STARTSELECT, STARTCOPY, STARTMOVE, ENDCOPY, ENDMOVE, ENDLINE, ENDBOX, ENDCIRCLE, ENDARC, ENDPIN, ENDCOMP, DRAWATTRIB, ENDATTRIB, DRAWTEXT, ENDTEXT, ENDROTATEP, ENDMIRROR, ZOOMBOXSTART, ZOOMBOXEND, STARTROUTENET, ENDROUTENET, MOUSEPAN, DRAWBUS, BUSCONT, STARTDRAWBUS, STARTPASTE, ENDPASTE, GRIPS}; #endif geda-gaf-1.8.2/gattrib/include/i_vars.h0000664000175000017500000000225012220647257014621 00000000000000/* gEDA - GPL Electronic Design Automation * gattrib -- gEDA component and net attribute manipulation using spreadsheet. * Copyright (C) 1998-2010 Ales Hvezda * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! * \file * \brief Default variable value declarations. * Default variable value declarations. */ extern int default_text_size; extern int default_text_caps; extern int default_paper_width; extern int default_paper_height; extern int default_init_right; extern int default_init_bottom; geda-gaf-1.8.2/gattrib/include/Makefile.am0000664000175000017500000000055012220647257015222 00000000000000## Process this file with automake to produce Makefile.in noinst_HEADERS = \ globals.h \ prototype.h \ x_states.h \ gtksheet_2_2.h \ i_vars.h \ struct.h \ gtkextra-marshal.h MOSTLYCLEANFILES = *.log core FILE *~ #*# CLEANFILES = *.log core FILE *~ #*# DISTCLEANFILES = *.log core FILE *~ #*# MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in #*# geda-gaf-1.8.2/gattrib/include/struct.h0000664000175000017500000001521612204177070014661 00000000000000/* gEDA - GPL Electronic Design Automation * gattrib -- gEDA component and net attribute manipulation using spreadsheet. * Copyright (C) 2003-2010 Stuart D. Brorson. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /* ----------------------------------------------------------------- */ /*! \file * \brief Definitions of structures used in gattrib * * This file holds definitions of the structures used in gattrib. */ /* ----------------------------------------------------------------- */ #ifndef SHEET_DATA_STRUCT #define SHEET_DATA_STRUCT #include #include #include #include #include /* ------- Includes needed to make the GTK stuff work ------ */ #include "gtksheet_2_2.h" /* ======== Data structures used in processing below here ========== */ /* ----------------------------------------------------------------- * * The sheet data hierarchy built by the prog should look like this: * SHEET_DATA->(STRING_LIST *master_XXX_list) // list of comps/nets/pins (row labels) * ->(STRING_LIST *master_XXX_attrib_list) // list of attached names (column labels) * ->(TABLE *XXX_table) // table of attrib values (table entries) * ----------------------------------------------------------------- */ typedef struct st_sheet_data SHEET_DATA; typedef struct st_table TABLE; typedef struct st_string_list STRING_LIST; typedef struct st_pin_list PIN_LIST; typedef struct st_main_window MAIN_WINDOW; /* -------------------------------------------------------------------- */ /*! \brief Sheet data structure * * st_sheet_data defines SHEET_DATA, and holds master lists holding * sorted lists of comp/netlist names. Also holds pointers to the heads * of the attribute-holding component and net structures. */ /* -------------------------------------------------------------------- */ struct st_sheet_data { STRING_LIST *master_comp_list_head; /*!< Sorted list of all component refdeses used in design */ STRING_LIST *master_comp_attrib_list_head; /*!< Sorted list of all component attribs used in design */ int comp_count; /*!< This cannnot change -- user must edit design using gschem */ int comp_attrib_count; /*!< This can change in this prog if the user adds attribs */ STRING_LIST *master_net_list_head; /*!< Sorted list of all net names used in design */ STRING_LIST *master_net_attrib_list_head; /*!< Sorted list of all net attribs used in design */ int net_count; /*!< This cannnot change -- user must edit design using gschem */ int net_attrib_count; /*!< This can change in this prog if the user adds attribs */ STRING_LIST *master_pin_list_head; /*!< Sorted list of all refdes:pin items used in design. */ STRING_LIST *master_pin_attrib_list_head; /*!< Sorted list of all pin attribs used in design */ int pin_count; /*!< This cannnot change -- user must edit design using gschem */ int pin_attrib_count; /*!< This can change in this prog if the user adds attribs */ TABLE **component_table; /*!< points to 2d array of component attribs */ TABLE **net_table; /*!< points to 2d array of net attribs */ TABLE **pin_table; /*!< points to 2d array of pin attribs */ int CHANGED; /*!< for "file not saved" warning upon exit */ }; /* -------------------------------------------------------------------- */ /* \brief Table cell struct * * st_table defined what is held in a spreadsheet cell for both * comp and net spreadsheets. Holds pointer to individual comp/net name, and * pointer to attrib list. Ideally, the name pointer points to the * refdes/netname string held in the TOPLEVEL data structure, so that * when SHEET_DATA is manipulated, so is TOPLEVEL. */ /* -------------------------------------------------------------------- */ struct st_table { int row; /*!< location on spreadsheet */ int col; /*!< location on spreadsheet */ gchar *row_name; /*!< comp, net, or refdes:pin name */ gchar *col_name; /*!< attrib name */ gchar *attrib_value; /*!< attrib value */ gint visibility; gint show_name_value; }; /* -------------------------------------------------------------------- */ /*! \brief A list of strings. * * STRING_LIST is a doubly-linked list of strings. This struct is * used for several different jobs, including serving as base class * for master lists. * * \todo Consider replacing with a GList-based implementation */ /* -------------------------------------------------------------------- */ struct st_string_list { gchar *data; /*!< points to zero-terminated string */ int pos; /*!< position on spreadsheet */ int length; /*!< number of items in list */ STRING_LIST *prev; /*!< pointer to previous item in linked list */ STRING_LIST *next; /*!< pointer to next item in linked list */ }; /* -------------------------------------------------------------------- */ /*! \brief A list of pins * * PIN_LIST is a special struct used for keeping track of pins. Since * the master_pin_list must keep track of both refdes and pin, we need a * special struct for pins. Later processing will for a STRING_LIST * of refdes:pinnumber pairs for insertion in the spreadsheet. * * \todo Is this still in use? Consider replacing with a GList-based * implementation. */ /* -------------------------------------------------------------------- */ struct st_pin_list { gchar *refdes; /*!< holds refdes string */ gint pinnumber; gchar *pinlabel; /*!< holds pin label string */ int pos; /*!< pos on spreadsheet */ int length; /*!< number of items in list */ PIN_LIST *prev; PIN_LIST *next; }; #endif // #ifndef SHEET_DATA_STRUCT geda-gaf-1.8.2/gattrib/include/globals.h0000664000175000017500000001174612204177070014764 00000000000000/* gEDA - GPL Electronic Design Automation * gattrib -- gEDA component and net attribute manipulation using spreadsheet. * Copyright (C) 2003-2010 Stuart D. Brorson. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! * \file * \brief Global variable declarations * * \section sdb_note SDB note about philosophy behind globals * * I made the "TOPLEVEL project" and all the GTK window stuff into * global variables. I know that this is supposedly bad programming form. * However, here are some observations: * - I wanted to use gEDA's TOPLEVEL structure as much as possible, at * least to hold info about the design's netlist & components. * The TOPLEVEL strucuture is architected to hold info about gschem's * window also. HOwever, gschem's windows are architected differently * than mine in gattrib. This is because my windowing system does * completely different things, and also uses the GtkSheet widget, which * is architected completely differently from TOPLEVEL. * - Since I couldn't easily or naturally cram my windowing scheme into * TOPLEVEL (or so I think), I decided to use a separate set of windows * from those defined under TOPLEVEL for my application. * - The problem arises when using callbacks. Callbacks from GTK allow * only one argument to be passed. Given the way I set up the menu bar, * I didn't have easy acces to the information inside both the GtkSHeet * objects *and* the TOPLEVEL stuff while only having one callback * argument. This makes it hard to have access to e.g. a GtkSheet window * and a list of files (in TOPLEVEL) simultaneously. * - Therefore, I decided to make both the window stuff and TOPLEVEL * globals. * - Similarly, because I couldn't cram the SHEET_DATA struct into any * hook in TOPLEVEL, I just made it a global also. * - Finally, in my defense, in gschem and gnetlist, (TOPLEVEL *w_current * or pr_current) is passed to almost every function. Since it * is just a pointer to a huge struct of stuff, manipulating * the stuff in the struct has a global * effect. That is, manipulating w_current (or pr_current) has side * effects, so it is basically a global anyway. The real problem with * globals occurs when you have a global variable caled "i" or "temp" * which conflicts with a global in a module written by somebody else. * Since pr_current is a very uncommon name, this should not be a * problem here. Therefore, I decided * to make life easy for myself dealing with callbacks by making both * the windows and TOPLEVEL global variables. * * If there is a better way to solve this problem, I'd like to hear it. * */ /* ------------------------------------------------------------------ */ #ifndef __GLOBALS__ #define __GLOBALS__ /*------------------------------------------------------------------*/ /*! * The main data structure from gEDA. I made it a * global since it was treated that way anyway. It is defined in * structs.h */ /*------------------------------------------------------------------*/ TOPLEVEL *pr_current; /*------------------------------------------------------------------*/ /*! * My own data structure which I made * a global because it was easier to deal with when handing * callbacks. It is defined in structs.h */ /*------------------------------------------------------------------*/ SHEET_DATA *sheet_head; /*------------------------------------------------------------------ * GTKsheet includes: stuff for dealing with windows. *------------------------------------------------------------------*/ #define DEFAULT_PRECISION 2 #define DEFAULT_SPACE 8 #define NUM_SHEETS 3 /* Components, Nets, and Pins */ GtkWidget *window; /* Main window */ GtkWidget *notebook; GtkSheet **sheets; /* These are the spreadsheet widgets themselves */ GtkWidget **scrolled_windows; GtkWidget *entry; GtkWidget *location; GtkWidget *left_button; GtkWidget *center_button; GtkWidget *right_button; GtkWidget *label; /* command line switch settings */ extern int verbose_mode; extern int quiet_mode; /* Used to identify colors */ #define BLACK 0 #define WHITE 1 #define RED 2 #define GREEN 3 #define BLUE 4 #define YELLOW 5 #define CYAN 6 #define GREY 7 #endif geda-gaf-1.8.2/gattrib/include/Makefile.in0000664000175000017500000004427712220655722015245 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = gattrib/include DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(noinst_HEADERS) ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac HEADERS = $(noinst_HEADERS) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ noinst_HEADERS = \ globals.h \ prototype.h \ x_states.h \ gtksheet_2_2.h \ i_vars.h \ struct.h \ gtkextra-marshal.h MOSTLYCLEANFILES = *.log core FILE *~ #*# CLEANFILES = *.log core FILE *~ #*# DISTCLEANFILES = *.log core FILE *~ #*# MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in #*# all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gattrib/include/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu gattrib/include/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(HEADERS) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ clean-libtool cscopelist-am ctags ctags-am distclean \ distclean-generic distclean-libtool distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/gattrib/include/prototype.h0000664000175000017500000002021512220647257015404 00000000000000/*! \file * This file holds all function prototypes for the entire gattrib * project. It should be #include'ed after struct.h. */ /* ---------------- gattrib.c ---------------- */ gboolean gattrib_really_quit(void); gint gattrib_quit(gint return_code); /* -------------- parsecmd.c ----------------- */ void usage(char *cmd); /* output usage string */ int parse_commandline(int argc, char *argv[]); /* run through cmd line options and set mode switches. */ /* -------------- listsort.c ----------------- */ int cmp(STRING_LIST *a, STRING_LIST *b); STRING_LIST *listsort(STRING_LIST *list, int is_circular, int is_double); /* ------------- f_export.c ------------- */ void f_export_components(gchar *filename); /* ------------- g_register.c ------------- */ void g_register_funcs(void); SCM g_quit(void); /* ------------- g_rc.c ------------- */ SCM g_rc_gattrib_version(SCM version); /* ------------- s_attrib.c ------------- */ int s_attrib_name_in_list(STRING_LIST *name_value_list, char *name); char *s_attrib_get_refdes(OBJECT *object); /* ------------- s_sheet_data.c ------------- */ SHEET_DATA *s_sheet_data_new(); void s_sheet_data_add_master_comp_list_items(const GList *obj_list); void s_sheet_data_add_master_comp_attrib_list_items(const GList *obj_list); void s_sheet_data_add_master_net_list_items(const GList *obj_list); void s_sheet_data_add_master_net_attrib_list_items(const GList *obj_list); void s_sheet_data_add_master_pin_list_items(const GList *obj_list); void s_sheet_data_add_master_pin_attrib_list_items(const GList *obj_list); void s_sheet_data_gtksheet_to_sheetdata(); /* ------------- s_string_list.c ------------- */ STRING_LIST *s_string_list_new(); STRING_LIST *s_string_list_duplicate_string_list(STRING_LIST *old_string_list); void s_string_list_add_item(STRING_LIST *list, int *count, char *item); void s_string_list_delete_item(STRING_LIST **list, int *count, char *item); int s_string_list_in_list(STRING_LIST *list, char *item); gchar *s_string_list_get_data_at_index(STRING_LIST *list, gint index); void s_string_list_sort_master_comp_list(); void s_string_list_sort_master_comp_attrib_list(); void s_string_list_sort_master_net_list(); void s_string_list_sort_master_net_attrib_list(); void s_string_list_sort_master_pin_list(); void s_string_list_sort_master_pin_attrib_list(); /* ------------- s_table.c ------------- */ TABLE **s_table_new(int rows, int cols); TABLE **s_table_resize(TABLE **table, int rows, int old_cols, int new_cols); void s_table_destroy(TABLE **table, int row_count, int col_count); int s_table_get_index(STRING_LIST *list, char *string); STRING_LIST *s_table_create_attrib_pair(gchar *row_name, TABLE **table, STRING_LIST *row_list, int num_attribs); void s_table_add_toplevel_comp_items_to_comp_table(const GList *obj_list); void s_table_add_toplevel_net_items_to_net_table(const GList *obj_list); void s_table_add_toplevel_pin_items_to_pin_table(const GList *obj_list); void s_table_gtksheet_to_all_tables(); void s_table_gtksheet_to_table(GtkSheet *local_gtk_sheet, STRING_LIST *master_row_list, STRING_LIST *master_col_list, TABLE **local_table, int num_rows, int num_cols); /* ------------- s_toplevel.c ------------- */ int s_toplevel_read_page(TOPLEVEL *toplevel, char *filename); void s_toplevel_verify_design(TOPLEVEL *toplevel); void s_toplevel_gtksheet_to_toplevel(TOPLEVEL *toplevel); void s_toplevel_add_new_attrib(gchar *new_attrib_name); void s_toplevel_delete_attrib_col(); void s_toplevel_sheetdata_to_toplevel(TOPLEVEL *toplevel, PAGE *page); STRING_LIST *s_toplevel_get_component_attribs_in_sheet(char *refdes); void s_toplevel_update_component_attribs_in_toplevel( TOPLEVEL *toplevel, OBJECT *o_current, STRING_LIST *new_comp_attrib_list); STRING_LIST *s_toplevel_get_net_attribs_in_sheet(char *netname); void s_toplevel_update_net_attribs_in_toplevel(OBJECT *o_current, STRING_LIST *new_net_attrib_list); STRING_LIST *s_toplevel_get_pin_attribs_in_sheet(char *refdes, OBJECT *pin); void s_toplevel_update_pin_attribs_in_toplevel(TOPLEVEL *toplevel, char *refdes, OBJECT *pin, STRING_LIST *new_pin_attrib_list); /* ------------- s_object.c ------------- */ void s_object_add_comp_attrib_to_object (TOPLEVEL *toplevel, OBJECT *o_current, char *new_attrib_name, char *new_attrib_value, gint visibility, gint show_name_value); void s_object_add_net_attrib_to_object (TOPLEVEL *toplevel, OBJECT *o_current, char *new_attrib_name, char *new_attrib_value); void s_object_add_pin_attrib_to_object (TOPLEVEL *toplevel, OBJECT *o_current, char *new_attrib_name, char *new_attrib_value); void s_object_replace_attrib_in_object (TOPLEVEL *toplevel, OBJECT *o_current, char *new_attrib_name, char *new_attrib_value, gint visibility, gint show_name_value); void s_object_remove_attrib_in_object (TOPLEVEL *toplevel, OBJECT *o_current, char *new_attrib_name); OBJECT *s_object_attrib_add_attrib_in_object (TOPLEVEL *toplevel, char *text_string, gint visibility, gint show_name_value, OBJECT * object); void s_object_delete_text_object_in_object(TOPLEVEL *toplevel, OBJECT *test_object); int s_object_has_sym_file(OBJECT *object); /* ------------- s_rename.c ------------- */ void s_rename_init(void); void s_rename_destroy_all(void); void s_rename_next_set(void); void s_rename_print(void); int s_rename_search(char *src, char *dest, int quiet_flag); void s_rename_add(char *src, char *dest); void s_rename_all_lowlevel(NETLIST * netlist_head, char *src, char *dest); void s_rename_all(TOPLEVEL *toplevel, NETLIST *netlist_head); /* ------------- s_misc.c ------------- */ void verbose_print(char *string); void verbose_done(void); void verbose_reset_index(void); char *s_misc_remaining_string(char *string, char delimiter, int count); /* ------------- s_visibility.c ------------- */ void s_visibility_set_invisible(); void s_visibility_set_name_only(); void s_visibility_set_value_only(); void s_visibility_set_name_and_value(); void s_visibility_set_cell(gint cur_page, gint row, gint col, gint visibility, gint show_name_value); /* ------------- i_vars.c ------------- */ void i_vars_set(TOPLEVEL *toplevel); void i_window_vars_set(TOPLEVEL *toplevel); /* ------------- x_dialog.c ------------- */ void x_dialog_newattrib(); void x_dialog_delattrib(); void x_dialog_missing_sym(); void x_dialog_unsaved_data(); void x_dialog_unimplemented_feature(); void x_dialog_fatal_error(gchar *string, gint return_code); void x_dialog_about_dialog(); void x_dialog_export_file(); /* ------------- x_gtksheet.c ------------- */ void x_gtksheet_init(); void x_gtksheet_add_row_labels(GtkSheet *sheet, int count, STRING_LIST *list_head); void x_gtksheet_add_col_labels(GtkSheet *sheet, int count, STRING_LIST *list_head); void x_gtksheet_add_cell_item(GtkSheet *sheet, gint i, gint j, char *text, gint visibility, gint show_name_value); void x_gtksheet_set_cell_text_color(GtkSheet *sheet, gint row, gint col, gint color_name); int x_gtksheet_get_min_col(GtkSheet *sheet); int x_gtksheet_get_max_col(GtkSheet *sheet); /* ------------- x_fileselect.c ------------- */ GSList *x_fileselect_open (void); void x_fileselect_save (void); gboolean x_fileselect_load_files (GSList *filenames); /* ------------- x_window.c ------------- */ void x_window_init(); void x_window_add_items(); geda-gaf-1.8.2/gattrib/include/gtkextra-marshal.h0000664000175000017500000002555412204177070016621 00000000000000 #ifndef __gtkextra_MARSHAL_H__ #define __gtkextra_MARSHAL_H__ #include G_BEGIN_DECLS /* BOOL:INT,INT,POINTER,POINTER (gtkextra-marshal.list:1) */ extern void gtkextra_BOOLEAN__INT_INT_POINTER_POINTER (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); #define gtkextra_BOOL__INT_INT_POINTER_POINTER gtkextra_BOOLEAN__INT_INT_POINTER_POINTER /* BOOL:BOXED,POINTER (gtkextra-marshal.list:2) */ extern void gtkextra_BOOLEAN__BOXED_POINTER (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); #define gtkextra_BOOL__BOXED_POINTER gtkextra_BOOLEAN__BOXED_POINTER /* BOOL:BOXED,STRING (gtkextra-marshal.list:3) */ extern void gtkextra_BOOLEAN__BOXED_STRING (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); #define gtkextra_BOOL__BOXED_STRING gtkextra_BOOLEAN__BOXED_STRING /* BOOL:BOXED,BOXED (gtkextra-marshal.list:4) */ extern void gtkextra_BOOLEAN__BOXED_BOXED (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); #define gtkextra_BOOL__BOXED_BOXED gtkextra_BOOLEAN__BOXED_BOXED /* BOOL:BOXED,DOUBLE,DOUBLE (gtkextra-marshal.list:5) */ extern void gtkextra_BOOLEAN__BOXED_DOUBLE_DOUBLE (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); #define gtkextra_BOOL__BOXED_DOUBLE_DOUBLE gtkextra_BOOLEAN__BOXED_DOUBLE_DOUBLE /* BOOL:POINTER,POINTER (gtkextra-marshal.list:6) */ extern void gtkextra_BOOLEAN__POINTER_POINTER (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); #define gtkextra_BOOL__POINTER_POINTER gtkextra_BOOLEAN__POINTER_POINTER /* BOOL:POINTER,BOXED (gtkextra-marshal.list:7) */ extern void gtkextra_BOOLEAN__POINTER_BOXED (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); #define gtkextra_BOOL__POINTER_BOXED gtkextra_BOOLEAN__POINTER_BOXED /* BOOL:POINTER,STRING (gtkextra-marshal.list:8) */ extern void gtkextra_BOOLEAN__POINTER_STRING (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); #define gtkextra_BOOL__POINTER_STRING gtkextra_BOOLEAN__POINTER_STRING /* BOOL:POINTER (gtkextra-marshal.list:9) */ extern void gtkextra_BOOLEAN__POINTER (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); #define gtkextra_BOOL__POINTER gtkextra_BOOLEAN__POINTER /* BOOL:BOXED (gtkextra-marshal.list:10) */ extern void gtkextra_BOOLEAN__BOXED (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); #define gtkextra_BOOL__BOXED gtkextra_BOOLEAN__BOXED /* BOOL:INT,INT (gtkextra-marshal.list:11) */ extern void gtkextra_BOOLEAN__INT_INT (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); #define gtkextra_BOOL__INT_INT gtkextra_BOOLEAN__INT_INT /* VOID:INT (gtkextra-marshal.list:12) */ #define gtkextra_VOID__INT g_cclosure_marshal_VOID__INT /* VOID:INT,STRING (gtkextra-marshal.list:13) */ extern void gtkextra_VOID__INT_STRING (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); /* VOID:BOXED (gtkextra-marshal.list:14) */ #define gtkextra_VOID__BOXED g_cclosure_marshal_VOID__BOXED /* VOID:VOID (gtkextra-marshal.list:15) */ #define gtkextra_VOID__VOID g_cclosure_marshal_VOID__VOID /* VOID:BOOL (gtkextra-marshal.list:16) */ #define gtkextra_VOID__BOOLEAN g_cclosure_marshal_VOID__BOOLEAN #define gtkextra_VOID__BOOL gtkextra_VOID__BOOLEAN /* VOID:POINTER (gtkextra-marshal.list:17) */ #define gtkextra_VOID__POINTER g_cclosure_marshal_VOID__POINTER /* VOID:INT,INT (gtkextra-marshal.list:18) */ extern void gtkextra_VOID__INT_INT (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); /* VOID:INT,POINTER (gtkextra-marshal.list:19) */ extern void gtkextra_VOID__INT_POINTER (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); /* VOID:INT,BOXED (gtkextra-marshal.list:20) */ extern void gtkextra_VOID__INT_BOXED (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); /* VOID:POINTER,POINTER (gtkextra-marshal.list:21) */ extern void gtkextra_VOID__POINTER_POINTER (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); /* VOID:BOXED,POINTER (gtkextra-marshal.list:22) */ extern void gtkextra_VOID__BOXED_POINTER (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); /* VOID:BOXED,BOXED (gtkextra-marshal.list:23) */ extern void gtkextra_VOID__BOXED_BOXED (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); /* VOID:OBJECT,OBJECT (gtkextra-marshal.list:24) */ extern void gtkextra_VOID__OBJECT_OBJECT (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); /* VOID:DOUBLE,DOUBLE,DOUBLE,DOUBLE (gtkextra-marshal.list:25) */ extern void gtkextra_VOID__DOUBLE_DOUBLE_DOUBLE_DOUBLE (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); G_END_DECLS #endif /* __gtkextra_MARSHAL_H__ */ geda-gaf-1.8.2/gattrib/include/gtksheet_2_2.h0000664000175000017500000005522612204177070015622 00000000000000/* GtkSheet widget for Gtk+. * Copyright (C) 1999-2001 Adrian E. Feiguin * * Based on GtkClist widget by Jay Painter, but major changes. * Memory allocation routines inspired on SC (Spreadsheet Calculator) * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #ifndef __GTK_SHEET_H__ #define __GTK_SHEET_H__ #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ typedef enum { GTK_SHEET_FOREGROUND, GTK_SHEET_BACKGROUND, GTK_SHEET_FONT, GTK_SHEET_JUSTIFICATION, GTK_SHEET_BORDER, GTK_SHEET_BORDER_COLOR, GTK_SHEET_IS_EDITABLE, GTK_SHEET_IS_VISIBLE } GtkSheetAttrType; /* sheet->state */ enum { GTK_SHEET_NORMAL, GTK_SHEET_ROW_SELECTED, GTK_SHEET_COLUMN_SELECTED, GTK_SHEET_RANGE_SELECTED }; enum { GTK_SHEET_LEFT_BORDER = 1 << 0, GTK_SHEET_RIGHT_BORDER = 1 << 1, GTK_SHEET_TOP_BORDER = 1 << 2, GTK_SHEET_BOTTOM_BORDER = 1 << 3 }; #define GTK_TYPE_SHEET_RANGE (gtk_sheet_range_get_type ()) #define GTK_TYPE_SHEET (gtk_sheet_get_type ()) #define GTK_SHEET(obj) GTK_CHECK_CAST (obj, gtk_sheet_get_type (), GtkSheet) #define GTK_SHEET_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, gtk_sheet_get_type (), GtkSheetClass) #define GTK_IS_SHEET(obj) GTK_CHECK_TYPE (obj, gtk_sheet_get_type ()) /* Public flags, for compatibility */ #define GTK_SHEET_IS_LOCKED(sheet) gtk_sheet_locked(sheet) #define GTK_SHEET_ROW_FROZEN(sheet) !gtk_sheet_rows_resizable(sheet) #define GTK_SHEET_COLUMN_FROZEN(sheet) !gtk_sheet_columns_resizable(sheet) #define GTK_SHEET_AUTORESIZE(sheet) gtk_sheet_autoresize(sheet) #define GTK_SHEET_CLIP_TEXT(sheet) gtk_sheet_clip_text(sheet) #define GTK_SHEET_ROW_TITLES_VISIBLE(sheet) gtk_sheet_row_titles_visible(sheet) #define GTK_SHEET_COL_TITLES_VISIBLE(sheet) gtk_sheet_column_titles_visible(sheet) #define GTK_SHEET_AUTO_SCROLL(sheet) gtk_sheet_autoscroll(sheet) #define GTK_SHEET_JUSTIFY_ENTRY(sheet) gtk_sheet_justify_entry(sheet) typedef struct _GtkSheet GtkSheet; typedef struct _GtkSheetClass GtkSheetClass; typedef struct _GtkSheetChild GtkSheetChild; typedef struct _GtkSheetRow GtkSheetRow; typedef struct _GtkSheetColumn GtkSheetColumn; typedef struct _GtkSheetCell GtkSheetCell; typedef struct _GtkSheetRange GtkSheetRange; typedef struct _GtkSheetButton GtkSheetButton; typedef struct _GtkSheetCellAttr GtkSheetCellAttr; typedef struct _GtkSheetCellBorder GtkSheetCellBorder; struct _GtkSheetChild { GtkWidget *widget; gint x,y ; gboolean attached_to_cell; gboolean floating; gint row, col; guint16 xpadding; guint16 ypadding; gboolean xexpand; gboolean yexpand; gboolean xshrink; gboolean yshrink; gboolean xfill; gboolean yfill; }; struct _GtkSheetButton { GtkStateType state; gchar *label; gboolean label_visible; GtkSheetChild *child; GtkJustification justification; }; struct _GtkSheetCellBorder { gint8 mask; guint width; GdkLineStyle line_style; GdkCapStyle cap_style; GdkJoinStyle join_style; GdkColor color; }; struct _GtkSheetCellAttr { GtkJustification justification; GdkFont *font; PangoFontDescription *font_desc; GdkColor foreground; GdkColor background; GtkSheetCellBorder border; gboolean is_editable; gboolean is_visible; }; struct _GtkSheetCell { GdkRectangle area; gint row; gint col; GtkSheetCellAttr *attributes; gchar *text; gpointer link; }; struct _GtkSheetRange { gint row0,col0; /* upper-left cell */ gint rowi,coli; /* lower-right cell */ }; struct _GtkSheetRow { gchar *name; gint height; gint top_ypixel; guint16 requisition; GtkSheetButton button; gboolean is_sensitive; gboolean is_visible; }; struct _GtkSheetColumn { gchar *name; gint width; gint left_xpixel; guint16 requisition; GtkSheetButton button; gint left_text_column; /* min left column displaying text on this column */ gint right_text_column; /* max right column displaying text on this column */ GtkJustification justification; gboolean is_sensitive; gboolean is_visible; }; struct _GtkSheet{ GtkContainer container; guint16 flags; GtkSelectionMode selection_mode; gboolean autoresize; gboolean autoscroll; gboolean clip_text; gboolean justify_entry; gboolean locked; guint freeze_count; /* Background colors */ GdkColor bg_color; GdkColor grid_color; gboolean show_grid; /* sheet children */ GList *children; /* allocation rectangle after the container_border_width and the width of the shadow border */ GdkRectangle internal_allocation; gchar *name; GtkSheetRow *row; GtkSheetColumn *column; gboolean rows_resizable; gboolean columns_resizable; /* max number of diplayed cells */ gint maxrow; gint maxcol; /* Displayed range */ GtkSheetRange view; /* sheet data: dynamically allocated array of cell pointers */ GtkSheetCell ***data; /* max number of allocated cells */ gint maxallocrow; gint maxalloccol; /* active cell */ GtkSheetCell active_cell; GtkWidget *sheet_entry; GtkType entry_type; /* expanding selection */ GtkSheetCell selection_cell; /* timer for automatic scroll during selection */ gint32 timer; /* timer for flashing clipped range */ gint32 clip_timer; gint interval; /* global selection button */ GtkWidget *button; /* sheet state */ gint state; /* selected range */ GtkSheetRange range; /*the scrolling window and it's height and width to * make things a little speedier */ GdkWindow *sheet_window; guint sheet_window_width; guint sheet_window_height; /* sheet backing pixmap */ GdkWindow *pixmap; /* offsets for scrolling */ gint hoffset; gint voffset; gfloat old_hadjustment; gfloat old_vadjustment; /* border shadow style */ GtkShadowType shadow_type; /* Column Titles */ GdkRectangle column_title_area; GdkWindow *column_title_window; gboolean column_titles_visible; /* Row Titles */ GdkRectangle row_title_area; GdkWindow *row_title_window; gboolean row_titles_visible; /*scrollbars*/ GtkAdjustment *hadjustment; GtkAdjustment *vadjustment; /* xor GC for the verticle drag line */ GdkGC *xor_gc; /* gc for drawing unselected cells */ GdkGC *fg_gc; GdkGC *bg_gc; /* cursor used to indicate dragging */ GdkCursor *cursor_drag; /* the current x-pixel location of the xor-drag vline */ gint x_drag; /* the current y-pixel location of the xor-drag hline */ gint y_drag; /* current cell being dragged */ GtkSheetCell drag_cell; /* current range being dragged */ GtkSheetRange drag_range; /* clipped range */ GtkSheetRange clip_range; }; struct _GtkSheetClass { GtkContainerClass parent_class; void (*set_scroll_adjustments) (GtkSheet *sheet, GtkAdjustment *hadjustment, GtkAdjustment *vadjustment); void (*select_row) (GtkSheet *sheet, gint row); void (*select_column) (GtkSheet *sheet, gint column); void (*select_range) (GtkSheet *sheet, GtkSheetRange *range); void (*clip_range) (GtkSheet *sheet, GtkSheetRange *clip_range); void (*resize_range) (GtkSheet *sheet, GtkSheetRange *old_range, GtkSheetRange *new_range); void (*move_range) (GtkSheet *sheet, GtkSheetRange *old_range, GtkSheetRange *new_range); gboolean (*traverse) (GtkSheet *sheet, gint row, gint column, gint *new_row, gint *new_column); gboolean (*deactivate) (GtkSheet *sheet, gint row, gint column); gboolean (*activate) (GtkSheet *sheet, gint row, gint column); void (*set_cell) (GtkSheet *sheet, gint row, gint column); void (*clear_cell) (GtkSheet *sheet, gint row, gint column); void (*changed) (GtkSheet *sheet, gint row, gint column); void (*new_column_width) (GtkSheet *sheet, gint col, guint width); void (*new_row_height) (GtkSheet *sheet, gint row, guint height); }; GType gtk_sheet_get_type (void); GtkType gtk_sheet_range_get_type (void); /* create a new sheet */ GtkWidget * gtk_sheet_new (guint rows, guint columns, const gchar *title); void gtk_sheet_construct (GtkSheet *sheet, guint rows, guint columns, const gchar *title); /* create a new browser sheet. It cells can not be edited */ GtkWidget * gtk_sheet_new_browser (guint rows, guint columns, const gchar *title); void gtk_sheet_construct_browser (GtkSheet *sheet, guint rows, guint columns, const gchar *title); /* create a new sheet with custom entry */ GtkWidget * gtk_sheet_new_with_custom_entry (guint rows, guint columns, const gchar *title, GtkType entry_type); void gtk_sheet_construct_with_custom_entry (GtkSheet *sheet, guint rows, guint columns, const gchar *title, GtkType entry_type); /* change scroll adjustments */ void gtk_sheet_set_hadjustment (GtkSheet *sheet, GtkAdjustment *adjustment); void gtk_sheet_set_vadjustment (GtkSheet *sheet, GtkAdjustment *adjustment); /* Change entry */ void gtk_sheet_change_entry (GtkSheet *sheet, GtkType entry_type); /* Returns sheet's entry widget */ GtkWidget * gtk_sheet_get_entry (GtkSheet *sheet); GtkWidget * gtk_sheet_get_entry_widget (GtkSheet *sheet); /* Returns sheet->state * Added by Steven Rostedt */ gint gtk_sheet_get_state (GtkSheet *sheet); /* Returns sheet's ranges * Added by Murray Cumming */ guint gtk_sheet_get_columns_count (GtkSheet *sheet); guint gtk_sheet_get_rows_count (GtkSheet *sheet); void gtk_sheet_get_visible_range (GtkSheet *sheet, GtkSheetRange *range); void gtk_sheet_set_selection_mode (GtkSheet *sheet, gint mode); void gtk_sheet_set_autoresize (GtkSheet *sheet, gboolean autoresize); gboolean gtk_sheet_autoresize (GtkSheet *sheet); void gtk_sheet_set_autoscroll (GtkSheet *sheet, gboolean autoscroll); gboolean gtk_sheet_autoscroll (GtkSheet *sheet); void gtk_sheet_set_clip_text (GtkSheet *sheet, gboolean clip_text); gboolean gtk_sheet_clip_text (GtkSheet *sheet); void gtk_sheet_set_justify_entry (GtkSheet *sheet, gboolean justify); gboolean gtk_sheet_justify_entry (GtkSheet *sheet); void gtk_sheet_set_locked (GtkSheet *sheet, gboolean lock); gboolean gtk_sheet_locked (GtkSheet *sheet); /* set sheet title */ void gtk_sheet_set_title (GtkSheet *sheet, const gchar *title); /* freeze all visual updates of the sheet. * Then thaw the sheet after you have made a number of changes. * The updates will occure in a more efficent way than if * you made them on a unfrozen sheet */ void gtk_sheet_freeze (GtkSheet *sheet); void gtk_sheet_thaw (GtkSheet *sheet); /* Background colors */ void gtk_sheet_set_background (GtkSheet *sheet, GdkColor *bg_color); void gtk_sheet_set_grid (GtkSheet *sheet, GdkColor *grid_color); void gtk_sheet_show_grid (GtkSheet *sheet, gboolean show); gboolean gtk_sheet_grid_visible (GtkSheet *sheet); /* set/get column title */ void gtk_sheet_set_column_title (GtkSheet * sheet, gint column, const gchar * title); const gchar * gtk_sheet_get_column_title (GtkSheet * sheet, gint column); /* set/get row title */ void gtk_sheet_set_row_title (GtkSheet * sheet, gint row, const gchar * title); const gchar * gtk_sheet_get_row_title (GtkSheet * sheet, gint row); /* set/get button label */ void gtk_sheet_row_button_add_label (GtkSheet *sheet, gint row, const gchar *label); void gtk_sheet_column_button_add_label (GtkSheet *sheet, gint column, const gchar *label); const gchar * gtk_sheet_row_button_get_label (GtkSheet *sheet, gint row); const gchar * gtk_sheet_column_button_get_label (GtkSheet *sheet, gint column); void gtk_sheet_row_button_justify (GtkSheet *sheet, gint row, GtkJustification justification); void gtk_sheet_column_button_justify (GtkSheet *sheet, gint column, GtkJustification justification); /* scroll the viewing area of the sheet to the given column * and row; row_align and col_align are between 0-1 representing the * location the row should appear on the screnn, 0.0 being top or left, * 1.0 being bottom or right; if row or column is negative then there * is no change */ void gtk_sheet_moveto (GtkSheet * sheet, gint row, gint column, gfloat row_align, gfloat col_align); /* resize column/row titles window */ void gtk_sheet_set_row_titles_width(GtkSheet *sheet, guint width); void gtk_sheet_set_column_titles_height(GtkSheet *sheet, guint height); /* show/hide column/row titles window */ void gtk_sheet_show_column_titles (GtkSheet *sheet); void gtk_sheet_show_row_titles (GtkSheet *sheet); void gtk_sheet_hide_column_titles (GtkSheet *sheet); void gtk_sheet_hide_row_titles (GtkSheet *sheet); gboolean gtk_sheet_column_titles_visible (GtkSheet *sheet); gboolean gtk_sheet_row_titles_visible (GtkSheet *sheet); /* set column button sensitivity. If sensitivity is TRUE it can be toggled, * otherwise it acts as a title */ void gtk_sheet_column_set_sensitivity (GtkSheet *sheet, gint column, gboolean sensitive); /* set sensitivity for all column buttons */ void gtk_sheet_columns_set_sensitivity (GtkSheet *sheet, gboolean sensitive); void gtk_sheet_columns_set_resizable (GtkSheet *sheet, gboolean resizable); gboolean gtk_sheet_columns_resizable (GtkSheet *sheet); /* set row button sensitivity. If sensitivity is TRUE can be toggled, * otherwise it acts as a title */ void gtk_sheet_row_set_sensitivity (GtkSheet *sheet, gint row, gboolean sensitive); /* set sensitivity for all row buttons */ void gtk_sheet_rows_set_sensitivity (GtkSheet *sheet, gboolean sensitive); void gtk_sheet_rows_set_resizable (GtkSheet *sheet, gboolean resizable); gboolean gtk_sheet_rows_resizable (GtkSheet *sheet); /* set column visibility. The default value is TRUE. If FALSE, the * column is hidden */ void gtk_sheet_column_set_visibility (GtkSheet *sheet, gint column, gboolean visible); void gtk_sheet_column_label_set_visibility (GtkSheet *sheet, gint column, gboolean visible); void gtk_sheet_columns_labels_set_visibility (GtkSheet *sheet, gboolean visible); /* set row visibility. The default value is TRUE. If FALSE, the * row is hidden */ void gtk_sheet_row_set_visibility (GtkSheet *sheet, gint row, gboolean visible); void gtk_sheet_row_label_set_visibility (GtkSheet *sheet, gint row, gboolean visible); void gtk_sheet_rows_labels_set_visibility (GtkSheet *sheet, gboolean visible); /* select the row. The range is then highlighted, and the bounds are stored * in sheet->range */ void gtk_sheet_select_row (GtkSheet * sheet, gint row); /* select the column. The range is then highlighted, and the bounds are stored * in sheet->range */ void gtk_sheet_select_column (GtkSheet * sheet, gint column); /* save selected range to "clipboard" */ void gtk_sheet_clip_range (GtkSheet *sheet, const GtkSheetRange *range); /* free clipboard */ void gtk_sheet_unclip_range (GtkSheet *sheet); gboolean gtk_sheet_in_clip (GtkSheet *sheet); /* get scrollbars adjustment */ GtkAdjustment * gtk_sheet_get_vadjustment (GtkSheet * sheet); GtkAdjustment * gtk_sheet_get_hadjustment (GtkSheet * sheet); /* highlight the selected range and store bounds in sheet->range */ void gtk_sheet_select_range (GtkSheet *sheet, const GtkSheetRange *range); /* obvious */ void gtk_sheet_unselect_range (GtkSheet *sheet); /* set active cell where the entry will be displayed * returns FALSE if current cell can't be deactivated or * requested cell can't be activated */ gboolean gtk_sheet_set_active_cell (GtkSheet *sheet, gint row, gint column); void gtk_sheet_get_active_cell (GtkSheet *sheet, gint *row, gint *column); /* set cell contents and allocate memory if needed */ void gtk_sheet_set_cell (GtkSheet *sheet, gint row, gint col, GtkJustification justification, const gchar *text); void gtk_sheet_set_cell_text (GtkSheet *sheet, gint row, gint col, const gchar *text); /* get cell contents */ gchar * gtk_sheet_cell_get_text (GtkSheet *sheet, gint row, gint col); /* clear cell contents */ void gtk_sheet_cell_clear (GtkSheet *sheet, gint row, gint col); /* clear cell contents and remove links */ void gtk_sheet_cell_delete (GtkSheet *sheet, gint row, gint col); /* clear range contents. If range==NULL the whole sheet will be cleared */ void gtk_sheet_range_clear (GtkSheet *sheet, const GtkSheetRange *range); /* clear range contents and remove links */ void gtk_sheet_range_delete (GtkSheet *sheet, const GtkSheetRange *range); /* get cell state: GTK_STATE_NORMAL, GTK_STATE_SELECTED */ GtkStateType gtk_sheet_cell_get_state (GtkSheet *sheet, gint row, gint col); /* Handles cell links */ void gtk_sheet_link_cell (GtkSheet *sheet, gint row, gint col, gpointer link); gpointer gtk_sheet_get_link (GtkSheet *sheet, gint row, gint col); void gtk_sheet_remove_link (GtkSheet *sheet, gint row, gint col); /* get row and column correspondig to the given position in the screen */ gboolean gtk_sheet_get_pixel_info (GtkSheet * sheet, gint x, gint y, gint * row, gint * column); /* get area of a given cell */ gboolean gtk_sheet_get_cell_area (GtkSheet *sheet, gint row, gint column, GdkRectangle *area); /* set column width */ void gtk_sheet_set_column_width (GtkSheet * sheet, gint column, guint width); /* set row height */ void gtk_sheet_set_row_height (GtkSheet * sheet, gint row, guint height); /* append ncols columns to the end of the sheet */ void gtk_sheet_add_column (GtkSheet *sheet, guint ncols); /* append nrows row to the end of the sheet */ void gtk_sheet_add_row (GtkSheet *sheet, guint nrows); /* insert nrows rows before the given row and pull right */ void gtk_sheet_insert_rows (GtkSheet *sheet, guint row, guint nrows); /* insert ncols columns before the given col and pull down */ void gtk_sheet_insert_columns (GtkSheet *sheet, guint col, guint ncols); /* delete nrows rows starting in row */ void gtk_sheet_delete_rows (GtkSheet *sheet, guint row, guint nrows); /* delete ncols columns starting in col */ void gtk_sheet_delete_columns (GtkSheet *sheet, guint col, guint ncols); /* set abckground color of the given range */ void gtk_sheet_range_set_background (GtkSheet *sheet, const GtkSheetRange *range, const GdkColor *color); /* set foreground color (text color) of the given range */ void gtk_sheet_range_set_foreground (GtkSheet *sheet, const GtkSheetRange *range, const GdkColor *color); /* set text justification (GTK_JUSTIFY_LEFT, RIGHT, CENTER) of the given range. * The default value is GTK_JUSTIFY_LEFT. If autoformat is on, the * default justification for numbers is GTK_JUSTIFY_RIGHT */ void gtk_sheet_range_set_justification (GtkSheet *sheet, const GtkSheetRange *range, GtkJustification justification); void gtk_sheet_column_set_justification (GtkSheet *sheet, gint column, GtkJustification justification); /* set if cell contents can be edited or not in the given range: * accepted values are TRUE or FALSE. */ void gtk_sheet_range_set_editable (GtkSheet *sheet, const GtkSheetRange *range, gint editable); /* set if cell contents are visible or not in the given range: * accepted values are TRUE or FALSE.*/ void gtk_sheet_range_set_visible (GtkSheet *sheet, const GtkSheetRange *range, gboolean visible); /* set cell border style in the given range. * mask values are CELL_LEFT_BORDER, CELL_RIGHT_BORDER, CELL_TOP_BORDER, * CELL_BOTTOM_BORDER * width is the width of the border line in pixels * line_style is the line_style for the border line */ void gtk_sheet_range_set_border (GtkSheet *sheet, const GtkSheetRange *range, gint mask, guint width, gint line_style); /* set border color for the given range */ void gtk_sheet_range_set_border_color (GtkSheet *sheet, const GtkSheetRange *range, const GdkColor *color); /* set font for the given range */ void gtk_sheet_range_set_font (GtkSheet *sheet, const GtkSheetRange *range, PangoFontDescription *font); /* get cell attributes of the given cell */ /* TRUE means that the cell is currently allocated */ gboolean gtk_sheet_get_attributes (GtkSheet *sheet, gint row, gint col, GtkSheetCellAttr *attributes); GtkSheetChild * gtk_sheet_put (GtkSheet *sheet, GtkWidget *widget, gint x, gint y); void gtk_sheet_attach_floating (GtkSheet *sheet, GtkWidget *widget, gint row, gint col); void gtk_sheet_attach_default (GtkSheet *sheet, GtkWidget *widget, gint row, gint col); void gtk_sheet_attach (GtkSheet *sheet, GtkWidget *widget, gint row, gint col, gint xoptions, gint yoptions, gint xpadding, gint ypadding); void gtk_sheet_move_child (GtkSheet *sheet, GtkWidget *widget, gint x, gint y); GtkSheetChild * gtk_sheet_get_child_at (GtkSheet *sheet, gint row, gint col); void gtk_sheet_button_attach (GtkSheet *sheet, GtkWidget *widget, gint row, gint col); #ifdef __cplusplus } #endif /* __cplusplus */ #endif /* __GTK_SHEET_H__ */ geda-gaf-1.8.2/gattrib/lib/0000775000175000017500000000000012220655754012372 500000000000000geda-gaf-1.8.2/gattrib/lib/Makefile.am0000664000175000017500000000047112204177070014340 00000000000000 rcdatadir = $(GEDARCDIR) datadir = $(GEDADATADIR) rcdata_DATA = system-gattribrc data_DATA = gattrib-menus.xml EXTRA_DIST = system-gattribrc.in gattrib-menus.xml MOSTLYCLEANFILES = *.log *~ CLEANFILES = *.log *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = system-gattribrc *.log *~ Makefile.in geda-gaf-1.8.2/gattrib/lib/Makefile.in0000664000175000017500000004650712220655722014366 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = gattrib/lib DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(srcdir)/system-gattribrc.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = system-gattribrc CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(datadir)" "$(DESTDIR)$(rcdatadir)" DATA = $(data_DATA) $(rcdata_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = $(GEDADATADIR) datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ rcdatadir = $(GEDARCDIR) rcdata_DATA = system-gattribrc data_DATA = gattrib-menus.xml EXTRA_DIST = system-gattribrc.in gattrib-menus.xml MOSTLYCLEANFILES = *.log *~ CLEANFILES = *.log *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = system-gattribrc *.log *~ Makefile.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gattrib/lib/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu gattrib/lib/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): system-gattribrc: $(top_builddir)/config.status $(srcdir)/system-gattribrc.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-dataDATA: $(data_DATA) @$(NORMAL_INSTALL) @list='$(data_DATA)'; test -n "$(datadir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(datadir)'"; \ $(MKDIR_P) "$(DESTDIR)$(datadir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(datadir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(datadir)" || exit $$?; \ done uninstall-dataDATA: @$(NORMAL_UNINSTALL) @list='$(data_DATA)'; test -n "$(datadir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(datadir)'; $(am__uninstall_files_from_dir) install-rcdataDATA: $(rcdata_DATA) @$(NORMAL_INSTALL) @list='$(rcdata_DATA)'; test -n "$(rcdatadir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(rcdatadir)'"; \ $(MKDIR_P) "$(DESTDIR)$(rcdatadir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(rcdatadir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(rcdatadir)" || exit $$?; \ done uninstall-rcdataDATA: @$(NORMAL_UNINSTALL) @list='$(rcdata_DATA)'; test -n "$(rcdatadir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(rcdatadir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(datadir)" "$(DESTDIR)$(rcdatadir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dataDATA install-rcdataDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-dataDATA uninstall-rcdataDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am \ install-dataDATA install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-rcdataDATA install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am uninstall-dataDATA uninstall-rcdataDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/gattrib/lib/gattrib-menus.xml0000664000175000017500000000172412204177070015611 00000000000000 geda-gaf-1.8.2/gattrib/lib/system-gattribrc.in0000664000175000017500000000111512220647257016142 00000000000000 ; ; Init file for gattrib ; ; ;'s are comments ; keywords are case sensitive (guile feature) ; mode strings are case sensitive ; colors are not case sensitive ; ; gattrib-version string ; ; Specifies the version of this file. This number is used to make sure ; that the rc file is compatible with the version of gschem that is ; being run. The end user should *not* change this value. ; (gattrib-version "@DATE_VERSION@") ; Setup data path variables. ; ; Contains all paths needed for gattrib (define gedadata (getenv "GEDADATA")) (define gedadatarc (getenv "GEDADATARC")) geda-gaf-1.8.2/gattrib/Makefile.am0000664000175000017500000000067212204177070013575 00000000000000SUBDIRS = po src include lib design docs data EXTRA_DIST = BUGS NOTES README ChangeLog ChangeLog-1.0 ToDos if HAVE_GIT_REPO ChangeLog: $(top_builddir)/stamp-git (cd $(srcdir) && $(GIT) log --pretty=medium $(CHANGELOG_BASE).. -- .) > $@ endif HAVE_GIT_REPO MOSTLYCLEANFILES = *.log core FILE *~ #*# CLEANFILES = *.log core FILE *~ #*# DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in ChangeLog #*# geda-gaf-1.8.2/gattrib/BUGS0000664000175000017500000000013012204177070012211 00000000000000This file will soon be filled with bugs. Right now I created it to enable "make dist". geda-gaf-1.8.2/gattrib/ChangeLog-1.00000664000175000017500000004270012204177070013605 000000000000002007-05-25 Ales Hvezda * configure.ac: Updated version to 20070526 in prep for the next release. 2007-04-28 Ales Hvezda * include/gettext.h, include/globals.h, include/Makefile.am, src/x_dialog.c, src/x_fileselect.c: Removed gettext.h header file and the few _( ) pairs to get rid of some warnings. gattrib is not i18n and should not be using gettext.h for now. * src/s_toplevel.c: Removed some unused variable compiler warnings. 2007-04-21 Peter Clifton * src/x_dialog.c: Check return value of gdk_keyval_name() is non NULL before attempting to match against it. Fixes bug #1692634. 2007-4-21 Stuart Brorson * src/x_window.c: Modify gattrib so it checks for design changes before quitting if user hits delete button on window. Closes bug 1704938 from Peter Brett. 2007-04-21 Carlos Nieves Onega * src/x_fileselect.c: - Set the alternative button order for gtk dialogs (now with correct responses). - Reverted the changes below. gtk_dialog_set_alternative_button_order should have the same responses as the dialogs. - Set the alternative button order for gtk dialogs. This would allow to display the correct button order whatever system is running this app. Fix for bug #1553483. 2007-04-17 21:16 Dan McMahill * src/gattrib.c: remove /* within comment 2007-04-17 Peter Clifton Merge changes from noscreen branch 2007-04-12 Peter Clifton * src/o_attrib.c: Replace incorrect use of world_get_complex_bounds() with world_get_object_list_bounds(). 2007-04-17 Peter Clifton * src/gtkitementry_2_2.c: Fixed code left accidentally when removing an obsolete #if 0'd out section. 2007-4-15 Stuart Brorson * src/*.c: Added DOxygen style comment pragma to many (but not all) .c files. DOxygenating gattrib is an ongoing project. 2007-04-15 Ales Hvezda * src/s_string_list.c: Added missing test to prevent a seg fault when loading up a schematic with missing attributes. 2007-4-15 Stuart Brorson * Makefile.am, configure.ac, docs/*: Created new docs directory, and set up framework to create doxygen generated docs. 2007-4-3 Stuart Brorson * src/s_sheet_data.c, src/s_table.c, src/s_toplevel.c: Temp fix for bug 1692431 -- don't put net= attribute into component attrib table. 2007-2-11 Stuart Brorson * src/s_toplevel.c: Fixed bug I introduced at code sprint. 2007-02-10 Ales Hvezda * src/listsort.c, src/s_string_list.c: Applied patch by DJ: [ 1637387 ] Enhance sort functions. Thanks. * gattrib/src/globals.c, gattrib/src/i_basic.c, gattrib/src/s_toplevel.c, gattrib/src/s_visibility.c, gattrib/src/x_gtksheet.c, gattrib/src/x_window.c: Fixed a few compiler warnings. Removed quit_func since it is completely unused. * configure.ac: Bumped package version to 20070216. 2006-12-23 Carlos Nieves Onega * src/s_object.c (s_object_attrib_add_attrib_in_object): Make o_selection_add call match the new selection interface. The first argument should be a pointer to the selection list. Thanks to Dan McMahill for reporting this. 2006-11-21 Ales Hvezda * configure.ac: Fixed libgeda detection/find error message when the wrong libgeda version is found. (Bug reported by Karel Kulhavy; thanks) 2006-10-29 Ales Hvezda * src/s_object.c: Fixed compile error on glist_dev branch 2006-10-20 Ales Hvezda * configure.ac: Bumped package version to 20061020. 2006-09-30 Stuart Brorson * src/s_toplevel.c: Set CHANGED flag when deleting attrib column so user is prompted when quitting before saving. 2006-09-27 Carlos Nieves Onega * configure.ac : Applied patch #1564796 by Cesar Strauss, enabling Cygwin's compilation. Thanks. 2006-09-23 Patrick Bernaud * src/gattrib.c, src/s_toplevel.c: Adapted for new file selection dialog. * src/x_fileselect.c: Rewrite of the file selection dialog with a GtkFileChooser as in gschem. 2006-09-15 Stuart Brorson * include/prototype.h, src/g_register.c, src/gattrib.c, src/x_dialog.c, src/x_gtksheet.c, src/x_window.c: Made gattrib throw up GUI window warning user of no components or attributes per request of Peter Clifton. Then program exits with non-zero return code. 2006-09-06 Ales Hvezda * configure.ac: Updated program version to 20060906. * src/g_rc.c, src/gattrib.c src/x_dialog.c: Added CUSTOM_VERSION to all printfs/output/dialog boxes where VERSION is used so that it is easier to create custom version of gEDA/gaf. 2006-08-31 Ales Hvezda * configure.ac: Updated gtk+ tests to look for 2.4.x or greater. 2006-08-21 SDB * include/prototype.h, src/s_table.c, src/s_toplevel.c: Fixed bug in which adding a new attrib column would munge the visibility of existing attributes. 2006-08-21 Ales Hvezda * README: Updated the README a little to be ready for the next release. 2006-08-19 Ales Hvezda * configure.ac: Bumped version number to 20060821 in prep for the next gEDA/gaf release. 2006-08-12 SDB * include/prototype.h, src/s_misc.c, src/s_sheet_data.c, src/s_table.c, src/s_toplevel.c: Applied patch from Jeff Mallatt which implements ability to handle attrib strings with multiple = signs. 2006-08-12 SDB * configure.ac, src/parsecmd.c: Implemented getopt_long for systems which have it. 2006-08-12 SDB * include/prototype.h, include/x_menu.h, src/s_visibility.c, src/x_fileselect.c, src/x_gtksheet.c, src/x_window.c: Made cell text different colors depending upon attribute visibility. 2006-08-06 Ales Hvezda * src/*.c: Applied Patch#1533798: Remove pre-GTK2 code from geda by Peter Brett. 2006-07-31 SDB * src/gtksheet_2_2.c: fixed bug in gtk_sheet_make_backing_pixmap. 2006-07-25 Stuart Brorson * src/f_export.c, src/x_dialog.c and others: Implemented ability to export CSV file of component sheet. * ToDos, README: Updated expository material to reflect current state of project. 2006-07-15 Ales Hvezda * src/gtksheet_2_2.c: Changed a g_free on a gdk_pixmap to g_object_unref to fix a valgrind error and the following output when exiting gattrib: free(): invalid pointer 0x812a108! * src/gattrib.c, src/gtksheet_2_2.c, src/s_object.c, src/s_rename.c, src/s_sheet_data.c, src/s_string_list.c, src/s_table.c, src/s_toplevel.c, src/x_dialog.c, src/x_fileselect.c, src/x_gtksheet.c, src/x_window.c: Changed all malloc/free calls to g_malloc/g_free to be consistent with libgeda 2006-06-03 Stuart Brorson * src/gtksheet_2_2.c: Finally fixed annoying bug in which gattrib soaked up 70% of processor time. Problem had to do with infinite loop of expose_events generated upon call to gdk_window_show(sheet->row_title_window) and gdk_window_show(sheet->row_title_window) in gtk_sheet_expose. I removed calls to fix bug. 2006-03-12 Ales Hvezda * lib/system-gattribrc.in: Removed load for the system-gafrc file, since it is loaded by libgeda first. 2006-01-16 Ales Hvezda * configure.ac: Bumped package version to 20060123 * README: Updated for the new year and release. 2005-11-27 Carlos Nieves Onega * src/globals.c: Added setting of load_newer_backup_func to NULL. It is needed now libgeda checks for autosave backup files when opening a schematic. 2005-09-27 18:45 Dan McMahill * src/: gtkitementry_2_2.c, gtksheet_2_2.c: remove various compiler warnings 2005-08-19 Ales Hvezda * configure.ac: Bumped the package version to 20050820 which will be a real snapshot. 2005-08-14 Ales Hvezda * configure.ac: Updated package version to 20050814. This is a temporary version and not a real release number. 2005-07-13 Stuart Brorson * src/s_visibility.c, s_table.c, s_object.c, s_toplevel.c amongst others. Made changes to enable setting attribute visibility from within gattrib. 2005-06-17 Ales Hvezda * src/i_vars.c: Fixed some more variables which were shadowing the real variables in libgeda/noweb/i_vars.c. 2005-04-10 Carlos Nieves Onega * src/gtkitementry_1_2.c, src/gtkitementry_2_2.c, src/gtksheet_1_2.c src/gtksheet_2_2.c: Fixed segmentation fault because lacking of "default_border" and "default_ouside_border" properties. 2005-04-03 Ales Hvezda * src/gattrib.c: Moved a variable decl to the top of the function to make gcc 2.96 happy. 2005-03-13 Ales Hvezda * configure.ac: Removed all tests for gtk+ 1.2.x and fixed error message if gtk+ 2.2.x is not found. 2005-03-11 12:30 Stuart Brorson * src/gtksheet*.c: Incorporated definitions of default_border* as suggested by Carlos. A couple other possible bugfixes also. 2005-03-08 Ales Hvezda * configure.ac: Bumped version to 20050313 2005-03-06 Ales Hvezda * src/gattrib.c: Fixed code to allow user to specify absolute filenames on the command line again. 2005-03-06 Stuart Brorson * src/s_table.c, src/x_dialog.c: Fix some uninitialized variables found by Dan McMahill & -wall gcc warning. 2005-02-21 05:29 Dan McMahill * configure.ac, include/prototype.h, include/struct.h, include/x_menu.h, src/Makefile.am, src/gattrib.c, src/listsort.c, src/s_sheet_data.c, src/s_table.c, src/s_toplevel.c, src/x_dialog.c, src/x_fileselect.c, src/x_gtksheet.c: Fix many instances of non-void functions not having return values. Most of these were simply changed to void functions since nothing seemed to be expecting a return value. While here, garbage collect several unused variables to make the compiler warnings easier to dig through. Also if we're using gcc, then turn on -Wall. 2005-02-21 03:58 Dan McMahill * autogen.sh: avoid using the '-path' primary to find(1) as it's an extension to posix.2 and is not supported on some operating systems such as solaris. Now we can autogen.sh on solaris 9. 2005-02-20 Patrick Bernaud * src/gattrib.c (gattrib_main): Adapted for new logging system. 2005-02-19 Carlos Nieves Onega * src/globals.c: Added definition of picture_draw_func after adding picture support to libgeda. 2005-02-15 18:32 Stuart Brorson * src/x_dialog.c: Modified GTK buttons slightly so the captions fit the button, and the button usage matches the text. 2005-02-14 22:31 Dan McMahill * src/: gtkextra-marshal.c, gtkitementry_1_2.c, listsort.c: add some missing config.h inclusions 2005-02-14 22:27 Dan McMahill * src/x_dialog.c: - move the config.h inclusion higher up so the protected inclusion of string.h doesn't fail. - fix a format string/# of arguments mismatch in a warning string. 2005-02-13 11:30 Stuart Brorson * src/s_table.c: Fixed syntax bug (doubled ;;) in s_table_add_toplevel_pin_items_to_pin_table. 2005-02-13 01:40 Dan McMahill * src/s_string_list.c: fix 2 places where a pointer to an int was being cast to an int and used as an int when we really wanted to dereference the pointer instead. 2005-02-12 Stuart Brorson * src/gattrib.c, src/i_vars.c, src/s_toplevel.c, src/x_dialog.c, * src/x_fileselect.c: Fixed program to compile and run after Patrick's refactoring of libgeda. Also made fileselect dialog stay on top of main window when gattrib is invoked with no args on cmd line. 2005-02-12 Carlos Nieves Onega * src/x_dialog.c, src/x_fileselect.c: Beautify buttons (use GTK stock). 2005-02-08 12:33 Dan McMahill * include/prototype.h, src/g_rc.c, src/g_register.c, src/gattrib.c: get rid of deprecated guile gh_* functions and replace them with the currently (guile-1.6) supported interface. 2005-02-04 Patrick Bernaud * src/gattrib.c, src/s_attrib.c, src/s_object.c: * src/s_sheet_data.c, src/s_string_list.c, src/s_table.c: * src/s_toplevel.c, src/x_dialog.c, src/x_fileselect.c: * src/x_gtksheet.c, src/x_window.c: Replaced u_basic_strdup() and u_basic_strdup_multiple() by GLib functions. * src/gattrib.c, src/x_fileselect.c: Made it use GLib's G_DIR_SEPARATOR* instead of libgeda's *_SEPARATER_*. 2005-01-27 Stuart Brorson * src/gattrib.c: Changes made to enable correct opening of schematics in foreign directories. Changes detailed in libgeda ChangeLog. 2005-01-22 (Later in same day) Stuart Brorson * x_dialog.c, s_toplevel.c: Rewrote missing symbol dialog box so that only one box is thrown up in event of missing symbols. 2005-01-22 (Later in same day) Stuart Brorson * include/prototype.h, src/(s_attrib.c, s_sheet_data.c, s_table.c, s_toplevel.c, x_dialog.c): New feature -- gattrib now handles slotted components correctly. 2005-01-22 Stuart Brorson * src/s_toplevel.c, src/s_attrib.c, src/s_sheet_data, Makefile.am: Fixed bug where pre-existing attribs were deleted instead of being replaced. Added new fcn in s_attrib.c as part of this bugfix. * include/prototype.h, include/struct.h, include/x_menu.h, src/gattrib.c, src/gtkitementry_2_2.c,src/gtksheet_2_2.c, src/x_dialog.c: New feature -- check for unsaved chages before leaving program. * configure.ac: Added --enable-debug as configure option. 2005-01-21 Stuart Brorson * src/s_toplevel.c, src/x_dialog.c: Fix bug where only one page of design was searched for missing attribs. Also updated missing_sym dialog box. 2005-01-19 Stuart Brorson * src/(s_object.c, gattrib.c, s_toplevel.c,x_fileselect.c, x_dialog.c): Incorporated pop-up window which notifies user if a component is found with no sym file. 2004-12-28 Stuart Brorson * lib/system-gattribrc.in: Changed to refer to system-gafrc. 2004-12-28 Ales Hvezda * configure.ac: Changed the call to AM_INIT_AUTOMAKE to take the GEDA_VERSION so that packages get created with the right version number * src/s_toplevel.c, x_dialog.c: Added a few #ifdef HAS_GTK22 tests to get gattrib to build using gtk12. The addition tests in x_dialog.c are probably okay, but the test in s_toplevel.c needs to be fixed properly. * Makefile.am: Added missing file to EXTRA_DIST variable 2004-12-27 Ales Hvezda * configure.ac: Updated version to 20041228 2004-07-27 Stuart Brorson * Ported code to GTK+-2.X. Re-wrote Makefile.am & configure.ac. Split gtksheet.c into two versions, one for GTK-1.2 and one for GTK-2.X. (Both copied from gtkextra.sf.net.) * Many fixes related to moving to GTK-2.X * Incorporated Ales' fix for "for" loop which had i=i++ construct. 2004-07-13 Stuart Brorson * Eliminated spurious GTK warnings by testing for NULL in arguments before calling functions in gtksheet.c. * Removed several extraneous files originally bundled with GtkSheet. 2004-06-25 Ales Hvezda (Noted by SDB) * Modified gattrib to work with soon-to-be-released libgeda 20040710. 2004-03-13 Stuart Brorson * Implemented alphabetic sort of master_comp_list. * Placed references to g_rc_reset_component_library and other Guile fcns into g_register to enable Sri's RC customized files. 2004-03-11 Stuart Brorson * Fixed bug in which a loop was terminating early, causing large portions of some designs to be not processed. * Added code to catch a cond where a design with no components (i.e. no refdeses) or no modifiable attributes (i.e. no attribs other than refdes) would cause a segfault. Now program just exits with an error message. 2004-03-06 Stuart Brorson * Fixed bug in which graphical objects were not discarded during the "add master list" loop. This generated a spurious warning message. * Fixed configure.ac to fix the GTK-1.2 vs. GTK-2.X problem originally identified by Dan, and seen again by Sribalan Santhanam in rel 20040304. Hopefully I fixed the bug this time! 2004-03-04 Stuart Brorson * Fixed some compilation issues related to GTK-1.2 vs. GTK-2.X. Dan McMahill discovered the problem, and also provided the patches fixing it. Thanks, Dan! * "make install" now correctly installs system-gattribrc into the place where the gEDA RC files live. I had forgotten to include this into the last release, and you had to do it by hand. 2004-02-21 Stuart Brorson * Initial release. 2003-12-05 Stuart Brorson * Started hacking. geda-gaf-1.8.2/gattrib/data/0000775000175000017500000000000012220655754012535 500000000000000geda-gaf-1.8.2/gattrib/data/geda-gattrib.desktop0000664000175000017500000000043112220651642016370 00000000000000[Desktop Entry] Version=1.0 GenericName=gattrib Name=gEDA Attribute Editor Comment=Manipulate component attributes with gattrib Type=Application Exec=gattrib %F Icon=geda-gattrib #MimeType=application/x-geda-schematic;application/x-geda-symbol; Categories=Engineering;Electronics; geda-gaf-1.8.2/gattrib/data/Makefile.am0000664000175000017500000000224112204177070014500 00000000000000theme=hicolor xdgdatadir=$(XDGDATADIR) themedir=$(xdgdatadir)/icons/$(theme) app_icon = geda-gattrib app_icon_files = \ $(app_icon:%=%-48.png) \ $(app_icon:%=%.svg) # $(app_icon:%=%-16.png) # $(app_icon:%=%-22.png) # $(app_icon:%=%-24.png) # $(app_icon:%=%-32.png) # theme_icons = \ $(app_icon_files:%=apps,%) desktopdir=$(xdgdatadir)/applications desktop_in_files = geda-gattrib.desktop.in desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) DOMAIN=geda-gattrib @DESKTOP_I18N_LANGS_RULE@ @DESKTOP_I18N_DESKTOP_RULE@ install_icon_exec = \ $(ICON_THEME_INSTALLER) \ -t $(theme) \ -s $(srcdir) \ -d "x$(DESTDIR)" \ -b $(themedir) \ -m "$(mkinstalldirs)" \ -x "$(INSTALL_DATA)" install-data-local: $(install_icon_exec) -i $(theme_icons) install-data-hook: if ENABLE_UPDATE_XDG_DATABASE $(UPDATE_DESKTOP_DATABASE) "$(DESTDIR)$(desktopdir)" endif uninstall-hook: if ENABLE_UPDATE_XDG_DATABASE $(UPDATE_DESKTOP_DATABASE) "$(DESTDIR)$(desktopdir)" endif $(install_icon_exec) -u $(theme_icons) MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in DISTCLEANFILES = $(desktop_DATA) EXTRA_DIST = $(app_icon_files) \ $(desktop_in_files) $(desktop_DATA) geda-gaf-1.8.2/gattrib/data/geda-gattrib-48.png0000664000175000017500000000366012204177070015743 00000000000000PNG  IHDR00WsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<-IDAThKX׏r]ՙt lHB>/4jB/@kM6P Ð^?mtc'93Z6tq.V5^/`)@VUtԶ-K<}\[ת5>shYQ,fEe #"Ԫu3 -S6`˗3}T677gmxz?eI&d̟QDR1#}J nJ*RJï+!ZU(dlHb ݺuP(c{{4p˽0 Fqt{]L˼p: ۶9^dL 21c ]bqt<;O<LqQOE m(|[%q*WVږea}zXZn2%H]L$eO{zνޟ(l"rLiZx7L*M{,"-aF)eYA:iFe^_-Zk $CZLTq]۷`L*I Q ֚i[ ڭ`Rhˏ?6=zOL@D:fsEiTdG&KnDp@jєlx%ۉq6e]RPNFn:"OQ4f_3?jQT\N@ZsMe{{ܹalooKVg~A<3vg׫T\~_a.s9wtEVcMD |~bHn6F1WrիW-o&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = gattrib/data DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am README ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(desktopdir)" DATA = $(desktop_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ theme = hicolor xdgdatadir = $(XDGDATADIR) themedir = $(xdgdatadir)/icons/$(theme) app_icon = geda-gattrib app_icon_files = \ $(app_icon:%=%-48.png) \ $(app_icon:%=%.svg) # $(app_icon:%=%-16.png) # $(app_icon:%=%-22.png) # $(app_icon:%=%-24.png) # $(app_icon:%=%-32.png) # theme_icons = \ $(app_icon_files:%=apps,%) desktopdir = $(xdgdatadir)/applications desktop_in_files = geda-gattrib.desktop.in desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) DOMAIN = geda-gattrib install_icon_exec = \ $(ICON_THEME_INSTALLER) \ -t $(theme) \ -s $(srcdir) \ -d "x$(DESTDIR)" \ -b $(themedir) \ -m "$(mkinstalldirs)" \ -x "$(INSTALL_DATA)" MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in DISTCLEANFILES = $(desktop_DATA) EXTRA_DIST = $(app_icon_files) \ $(desktop_in_files) $(desktop_DATA) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gattrib/data/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu gattrib/data/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-desktopDATA: $(desktop_DATA) @$(NORMAL_INSTALL) @list='$(desktop_DATA)'; test -n "$(desktopdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(desktopdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(desktopdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(desktopdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(desktopdir)" || exit $$?; \ done uninstall-desktopDATA: @$(NORMAL_UNINSTALL) @list='$(desktop_DATA)'; test -n "$(desktopdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(desktopdir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(desktopdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-data-local install-desktopDATA @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) install-data-hook install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-desktopDATA @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) uninstall-hook .MAKE: install-am install-data-am install-strip uninstall-am .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am \ install-data-hook install-data-local install-desktopDATA \ install-dvi install-dvi-am install-exec install-exec-am \ install-html install-html-am install-info install-info-am \ install-man install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags-am uninstall uninstall-am uninstall-desktopDATA \ uninstall-hook @DESKTOP_I18N_LANGS_RULE@ @DESKTOP_I18N_DESKTOP_RULE@ install-data-local: $(install_icon_exec) -i $(theme_icons) install-data-hook: @ENABLE_UPDATE_XDG_DATABASE_TRUE@ $(UPDATE_DESKTOP_DATABASE) "$(DESTDIR)$(desktopdir)" uninstall-hook: @ENABLE_UPDATE_XDG_DATABASE_TRUE@ $(UPDATE_DESKTOP_DATABASE) "$(DESTDIR)$(desktopdir)" $(install_icon_exec) -u $(theme_icons) # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/gattrib/data/geda-gattrib.desktop.in0000664000175000017500000000043312204177070016777 00000000000000[Desktop Entry] Version=1.0 GenericName=gattrib _Name=gEDA Attribute Editor _Comment=Manipulate component attributes with gattrib Type=Application Exec=gattrib %F Icon=geda-gattrib #MimeType=application/x-geda-schematic;application/x-geda-symbol; Categories=Engineering;Electronics; geda-gaf-1.8.2/gattrib/data/geda-gattrib.svg0000664000175000017500000006066512204177070015535 00000000000000 image/svg+xml Lapo Calamandrei Text editor geda-gaf-1.8.2/gattrib/README0000664000175000017500000001210012204177070012406 00000000000000****************************************************************** ************* DANGER!! Read the entirety of this ************** ************ README before you try runing gattrib! ************* ****************************************************************** INTRODUCTION Gattrib is gEDA's attribute editor. It reads a set of gschem .sch files (schematic files), and creates a spreadsheet showing all components in rows, with the associated component attributes listed in the columns. It allows the user to add, modify, or delete component attributes outside of gschem, and then save the .sch files back out. When it is completed, it will allow the user to edit attributes attached to components, nets, and pins. (Currently, only component attribute editing is implemented; pin and net attributes are displayed only.) Gattrib is useful in situations where you need to view, add, modify, or delete a number of attributes all at once. It saves you the pain of clicking on each component and repeatedly using gschem's attribute editor to modify component attributes. For example, if you create a large design with generic components, and then later want to attach "footprint" attributes to your components, it is a real hassle to do so using gschem. In this situation, you can run gattrib on your design files to attach the "footprint" attributes all at once using an easy-to-use spreadsheet. WARNING NOTE: Gattrib has been tested on many designs, but is not guaranteed to work. It may even trash your design! Therefore, always keep a back-up copy of your design files. Note that this is good advice when using any software on critical files. ------------------------------------------------------------------ USAGE You can invoke gattrib on your design from the command line in the following way: gattrib my_design_*.sch (This assumes you have a multi-page design with file names "my_design_1.sch", "my_design_2.sch", etc.) Gattrib will then read in your design, and present you with a spreadsheet showing all components and associated attributes. You can also just run gattrib, and specify the input files using the file->open dialog box. To edit your attributes, just edit the cells in the spreadsheet. To save your design, just select "save" from the command menu. Note that no checks are currently done when you select save. Be careful! You can also save out a csv (comma separated values) file, which can later be imported into e.g. oocalc. This is useful for BOM management. To quit, just select "quit" from the command menu. Note that currently no checks thet you have saved your design are done when you quit. If you want to add an entirely new attribute to your design (i.e. one which doesn't exist on any component), you can do this through "edit -> add new attribute column". You can also delete an entire attribut column. You can set the visibility of any particular attribute, or an entire column of attributes through the "visibility" menu. Just select the attribute or column first, then do "visibility -> ". ------------------------------------------------------------------ FEATURES The following features are currently implemented: * .sch file read in from command line. * .sch file read in from menu. * .sch file save out from menu. * CSV (comma separated value) file save out from menu. * Component attribute editing (of course). * Net attribute viewing. * Pin attribute viewing. * Add/delete attribute columns. * Changing visibility of attributes. * Quit from menu. The following features are currently unimplemented, but will be incorporated at some future date: * Throw up "Are you sure" dialog boxes upon selecting "save" from menu. (Is this really necessary?) * Editing of net attributes (important for setting routing attributes). * Search/replace of individual attributes. * Search for component refdeses & netnames. * Indicate component visibility by changing the color of the attribute in each cell. Example: Invisible = light grey. Name only = red. Value only = normal black. Name & value = bold face. Note that if you select unimplemented features from the menu, you will get a warning window. ------------------------------------------------------------------ INSTALLATION To install gattrib, place the tarball in the directory where your gEDA sources live. Then do: tar -zxvf geda-gattrib-20040806.tar.gz cd geda-gattrib-20040806 ./configure --prefix=/path/to/your/geda/stuff make make install Note that you may need to set some environment variables first. Also remember to use a date code (20040806) corresponding to the current gattrib distribution . If your compilation barfs, try setting these (for csh): setenv LD_LIBRARY_PATH /usr/local/geda/lib:$LD_LIBRARY_PATH setenv PATH /usr/local/geda/bin:$PATH setenv PKG_CONFIG_PATH /usr/local/geda/lib/pkgconfig:$PKG_CONFIG_PATH ------------------------------------------------------------------ CREDITS/CONTACT: Gattrib was cobbled together by Stuart Brorson starting in December 2003 from parts culled from GtkSheet (GTK+Extra) and gEDA. Please mail bug reports to: sdb@cloud9.net geda-gaf-1.8.2/gattrib/Makefile.in0000664000175000017500000005476512220655722013625 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = gattrib DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ChangeLog \ README ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = po src include lib design docs data EXTRA_DIST = BUGS NOTES README ChangeLog ChangeLog-1.0 ToDos MOSTLYCLEANFILES = *.log core FILE *~ #*# CLEANFILES = *.log core FILE *~ #*# DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in ChangeLog #*# all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gattrib/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu gattrib/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic clean-libtool cscopelist-am ctags \ ctags-am distclean distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags tags-am uninstall uninstall-am @HAVE_GIT_REPO_TRUE@ChangeLog: $(top_builddir)/stamp-git @HAVE_GIT_REPO_TRUE@ (cd $(srcdir) && $(GIT) log --pretty=medium $(CHANGELOG_BASE).. -- .) > $@ # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/gattrib/ChangeLog0000664000175000017500000026257712220655753013340 00000000000000commit 875406c9d1211fd88e3e7e1ee5349cba41a7becf Author: Peter TB Brett Date: Wed Sep 25 22:17:56 2013 +0100 Update NEWS and version information for 1.8.2. commit 1ae405d39a3822875d3dbc5f20f8152bf172bed7 Author: Peter TB Brett Date: Wed Sep 25 22:24:51 2013 +0100 Update translations. commit d088ec192ac9fbc1dff3509527cb238520c2ee33 Author: Peter TB Brett Date: Fri Nov 23 21:24:42 2012 +0000 Update version numbers to 1.8.1. commit 988e63ef358d7d44e447e08f4be58ac15f008d3e Author: Peter TB Brett Date: Fri Nov 23 21:32:49 2012 +0000 Update translations. commit 87f1e0e76965a514277c949dbf2191993962cb88 Author: Peter TB Brett Date: Sun Nov 18 15:26:09 2012 +0000 Update version numbers to 1.8.0-20121118. commit e9b3fa86d721324688ab6d28bfbc2f417e7828a0 Author: Joe Mac Date: Sat Nov 17 21:31:24 2012 +0000 gattrib: Make "Add new attribute column" actually insert column. I first saw bug 698608, which seems to be a duplicate of this bug, and came up with a patch that corrects the behavior and inserts the empty data column under the right column heading. The problem was that the header gets alphabetically sorted into the others (after device, footprint, and value) but the code immediately following that inserts the new column after the last column, which seems to be making the assumption that the headers do not get sorted. My patch adds a new s_string_list function (s_string_list_find_in_list()) that searches for a given string in the list and returns the index (or -1, if it's not there), unlike the existing function (s_string_list_in_list()) (that I copied from but didn't touch) which just returns 1 as soon as it finds a matching string, or 0, if it's not there. I then added code in s_toplevel_add_new_attrib() that uses the new function to determine where the new column header was placed and insert the new data column at that index (instead of at the end). Closes-bug: lp-698575 Reviewed-by: Peter TB Brett commit e6cdf09ad9330c2066363809f7839f698ca2476b Author: Peter TB Brett Date: Thu Nov 15 23:22:20 2012 +0000 Hand-merge Dutch translations from master branch. Merge Dutch translation improvements made by Bert Timmerman in from the unstable branch (commits 4b17c888, f9bd70f6, and a164660f). commit 8eb5b8724c3ce8c2d3e7db9c030ad97dc585c1ee Author: Peter TB Brett Date: Wed Nov 14 17:32:48 2012 +0000 gattrib: Import translations from Launchpad commit 3671d4acdab78025b658cdba81f53c2ecec0208d Author: Peter TB Brett Date: Tue Jan 10 09:20:26 2012 +0000 Update translations. commit e2eda476fb8f3a16aeba8eab0cc8b7fa12e37d6b Author: Ales Hvezda Date: Sat Dec 31 16:00:23 2011 -0500 Updated man page date and version in prep for a new release (1.7.2) commit 46bfb5cf26f33947a2efc7522dabd1107ce0afe4 Author: Ales Hvezda Date: Sat Dec 31 15:56:11 2011 -0500 Updated all po files in prep for a new release (1.7.2) commit 6b1c656f8833b6f3b893d5c204c72eb789a2221d Author: Vladimir Zhbanov Date: Tue Dec 27 16:57:46 2011 +0400 gattrib/po, gschem/po: Updated Russian translation commit 0e506ebd5d5cc87a7f373b83b24f2ad3c90fd18b Author: Peter TB Brett Date: Mon Dec 12 14:13:22 2011 +0000 Remove per-tool INSTALL files. Only one top-level INSTALL file is needed, and that is provided by automake. commit ebaead86930b822fcb2629ab24c67a305bd73988 Author: Peter TB Brett Date: Sun Dec 4 18:50:07 2011 +0000 gattrib: Fix some "set but not used" warnings. commit 12260baebf9f828e9297fc794e911224b8dcd163 Author: Ales Hvezda Date: Sun Jun 19 10:36:02 2011 -0400 Updated all man page dates/versions commit 8e5d7e4b969d7ce70530ad0c693218fce6a178a4 Author: Ivan Stankovic Date: Fri Jun 17 21:15:34 2011 +0200 gattrib: g_rc_gattrib_version: remove use of deprecated SCM_STRING_CHARS Reviewed-by: Peter TB Brett commit 980e933a85d180019152424023b879c39d7e4aff Author: Peter Clifton Date: Sat Mar 26 14:04:06 2011 +0000 gattrib: Preserve visibility of embedded component attributes gattrib was overriding the visibility of pin attributes to match the visibility of the pin. This was not noticed for non-embedded complex objects, as the edited pin attributes are not saved. For embedded components, they are. commit 7cc025db90267d5cb5b038e2cc39cb15544e0367 Author: Peter Clifton Date: Mon Mar 21 19:21:49 2011 +0000 Remove OBJECT->sel_func in favour of an OBJECT->selectable flag Only gschem called OBJECT->sel_func anyway, so lets avoid passing vfunc pointers everywhere as a flag. This has the added benefit of removing some dummy functions from gattrib and gschlas which were only present so the status of locked objects could be preserved across load/save. commit d506039d41aea6ecd9e15e62e7b79de8cca284bd Author: Krzysztof Kościuszkiewicz Date: Sat Mar 12 16:07:34 2011 +0100 libgeda: add GError argument to f_save and o_save o_save and f_save now can report errors during file write using GLib GError mechanism, similar to f_open. Affects-bug: lp-698566 commit 799d67452921ed1447e8b030ee268fe8c34c5785 Author: Ales Hvezda Date: Sun Jan 16 00:15:29 2011 -0500 Updated version strings in all man pages commit 2e2e2bf53458d6fea7e4c8dd7736818470fde248 Author: Ales Hvezda Date: Sun Jan 16 00:12:48 2011 -0500 Manually ran make update-po in order to prep for the make distcheck commit 183f9cc1aca8a850ea4f749f8be53934016d8ac4 Author: Krzysztof Kosciuszkiewicz Date: Thu Jan 13 00:57:07 2011 +0100 gattrib: remove references to LEAVE_VISIBILITY_ALONE None of the callers of s_visibility_set_cell passed LEAVE_INVISIBILITY_ALONE as the visibility parameter. Affects-bug: lp-701431 Reviewed-by: Peter Clifton commit 5eef74de6e885d57df32617395cec3a012c9060b Author: Krzysztof Kosciuszkiewicz Date: Thu Jan 13 01:37:59 2011 +0100 gattrib: use accessors for object visibility Affects-bug: lp-701431 Reviewed-by: Peter Clifton commit 502ab80495c45e092eca6052edd6cf8e7ff55429 Merge: 27f7a52 e1c3ba4 Author: Peter TB Brett Date: Thu Jan 13 19:59:35 2011 +0000 Merge branch 'stable-1.6' Conflicts: NEWS libgeda/include/prototype_priv.h libgeda/src/gdk-pixbuf-hacks.c libgeda/src/o_basic.c libgeda/src/o_complex_basic.c utils/src/gsch2pcb.c commit 7ca2b049dbcfb9f0eb8d3dd3fcf21cbd66c0ec95 Author: Peter TB Brett Date: Wed Jan 12 17:03:44 2011 +0000 Print message and exit if rc file load fails. Modifies g_rc_parse() to print useful messages to standard error and exit with non-zero status if an error other than ENOENT occurs while attempting to parse any configuration file. N.b. only copes with rc files loaded at startup; rc files loaded later (e.g. a gafrc auto-loaded while loading a schematic using gschem "File->Open") can't cause the application to die. Since this means that under some circumstances gschem and gattrib can appear to do nothing silently (e.g. when launched from via a .desktop file) subsequent patches need to make gschem and gattrib generate appropriate warning and/or error message dialogs. Affects-bug: lp-698578 commit f300ff057ab77b5ac8f1adef6345ffe2279cac63 Author: Peter Clifton Date: Tue Jan 11 23:20:41 2011 +0000 gattrib: Add TOPLEVEL * attributes to various functions Rather than using the global variable pr_current, pass the variable explitly where we can. This patch removes all useage of pr_current in s_toplevel.c and s_object.c The remaining usage of pr_current exists in the gui protions of gattrib. commit 29994756d3dd499dbfc5252085074d47926bd0be Author: Peter Clifton Date: Tue Jan 11 23:20:31 2011 +0000 gattrib: Rename TOPLEVELs passed as arguments to "toplevel" Lets us notice the difference between pr_current the global variable and those passed as arguments. commit 77477fe829b9c056564084748cad5110e564c903 Author: Peter Clifton Date: Tue Jan 11 23:26:42 2011 +0000 gattrib: Remove unused function s_toplevel_empty_project() commit 8a3a0bb070d1b288fceac2fcdd7b317a8f77a464 Author: Peter TB Brett Date: Fri Jan 7 22:00:09 2011 +0000 Update FSF address in copyright headers. The FSF have now moved to 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Our GPL and LPGL copyright headers need to updated to reflect this. Only files remaining with old address are wiki files (although the wiki has now been updated) and PostScript files. commit 86c305d9a2c62f062cbd9b63810a0173e4855310 Author: Peter TB Brett Date: Fri Jan 7 14:53:51 2011 +0000 Install HTML versions of manpages even without groff. If groff isn't available, try to install HTML manpages anyway. This allows users to install manpages even if they don't have groff as long as they aren't compiling from git and don't edit the manpages. Closes-bug: lp-698586 commit 7256891e6800b47f29fa9e6f2bbc0507a887fb98 Author: Peter TB Brett Date: Thu Jan 6 22:33:59 2011 +0000 gattrib: Add man page. commit 35c3a2862d6ee68415fbe8163e2c8c06627dba01 Author: Dima Kogan Date: Wed Nov 3 21:29:24 2010 -0700 gattrib: Escape special chars & quote commas in CSV output. Signed-off-by: Dima Kogan Reviewed-by: Peter TB Brett commit 0b94d2379a5bd5d14690f941690e0df761df13c9 Merge: 63cd6d7 a33839a Author: Peter TB Brett Date: Sun Dec 12 09:48:07 2010 +0000 Merge some changes from Peter Brett. Merge a series of more generally useful changes from Peter Brett's `guile-scheme-api' branch, most of which remove uses of TOPLEVEL.page_current from libgeda. commit 0db9dce07c52cb5f905c0c68d78b9d7656371c98 Author: Peter TB Brett Date: Wed Nov 17 11:59:02 2010 +0000 Revert po file changes in previous commit. This reverts most of the incorrectly-commited po file updates in commit 5cc5a1743e97. commit 5cc5a1743e97218325285975bfb68e090d382143 Author: Peter TB Brett Date: Wed Nov 17 11:33:25 2010 +0000 gschem: Make 7-byte SHA-1 prefix using %.7s format specifier. This is slightly more elegant than using g_strndup(). Suggested-by: Patrick Bernaud commit 64fc02d71b235f5b1b5a5640f15d9cf3270672a6 Author: Peter TB Brett Date: Sun Nov 7 10:40:24 2010 +0000 desktop-i18n: Don't have misleading ".h" suffixes in .po files. commit 803ea8cd6ee3203559d99fbaa178a869c2046d38 Author: Peter TB Brett Date: Sun Nov 7 13:54:15 2010 +0000 Update po files, fixing Language and Language-Team strings. Updates all po files using update-po, making sure all po files have their Language string set, and set all Language-Team strings to geda-dev@seul.org. commit 3abdca2a4ee088184e976822c444069d67e20a20 Author: Peter TB Brett Date: Tue Nov 2 10:27:25 2010 +0000 libgeda: Add PAGE argument to file load/save functions. commit 4491d031d5f02a43ec72443a3be6668c9cdc58b6 Author: Peter Clifton Date: Mon Nov 1 20:59:11 2010 +0000 Fix hiding the command prompt window on Win32 builds with -mwindows There was a mistake in gschem and gattrib's Makefile.am, where it included the non-existant MINGW_GUI_CFLAGS rather than pulling in MINGW_GUI_LDFLAGS where the required -mwindows was set. Cherry-picked from: e5f32954a1fb23534309d6fa06d887859afbc664 and subsequent fix: 66e54fd03f75f70d9fcf101d6ed3cad1bb354b13 commit 66e54fd03f75f70d9fcf101d6ed3cad1bb354b13 Author: Peter Clifton Date: Mon Nov 1 20:55:23 2010 +0000 Fix MINGW LDFLAGS for gattrib Rather embarassingly, I messed this up in commit e5f32954a1 where I claimed to have fixed this very issue! "There was a mistake in gschem and gattrib's Makefile.am, where it included the non-existant MINGW_GUI_CFLAGS rather than pulling in MINGW_GUI_LDFLAGS where the required -mwindows was set." Reported-By: Peter TB Brett commit e5f32954a1fb23534309d6fa06d887859afbc664 Author: Peter Clifton Date: Sat May 1 13:42:35 2010 +0100 Fix hiding the command prompt window on Win32 builds with -mwindows There was a mistake in gschem and gattrib's Makefile.am, where it included the non-existant MINGW_GUI_CFLAGS rather than pulling in MINGW_GUI_LDFLAGS where the required -mwindows was set. commit e85bf2f103667368768939dfc2c40484be8abf8f Merge: 0e5defe 93b0370 Author: Peter Clifton Date: Mon Feb 15 20:30:22 2010 +0000 Merge translations from the stable-1.6 branch NB: Translations were merged manually commit c31d9a1a90db32dd1e1d41f9d3d5ef5888424ba1 Author: Ales Hvezda Date: Sun Feb 14 17:09:45 2010 -0500 Updated copyright text/header in most source files. Updated all copyright text dates that should be updated for the new year. Fixed a bunch of GNU text typos (these should have been either GPL or gEDA). Removed some $Id$ tags which are no longer used/needed. Fixed a few file header that were just plain incorrect. (cherry picked from commit bd34cfde2450790b357e574281f9562adce64303) (from stable-1.6 branch) commit bd34cfde2450790b357e574281f9562adce64303 Author: Ales Hvezda Date: Sun Feb 14 17:09:45 2010 -0500 Updated copyright text/header in most source files. Updated all copyright text dates that should be updated for the new year. Fixed a bunch of GNU text typos (these should have been either GPL or gEDA). Removed some $Id$ tags which are no longer used/needed. Fixed a few file header that were just plain incorrect. commit 93b0370c433f5eb6716ce537288803df4ff99549 Author: Ales Hvezda Date: Sun Feb 14 09:01:16 2010 -0500 First set of changes done by make update-po (ran by prelim make distcheck) commit dcfcb835d5dec2c0ec71526188bbd6c1b76a94ac Author: Peter Clifton Date: Sun Feb 14 13:03:47 2010 +0000 Import translations from Launchpad commit 4e91bc5e52699639cf78a9112b0422d2763a6346 Author: Peter Clifton Date: Fri Feb 12 18:00:44 2010 +0000 Update translations from Launchpad commit 6261b5ea22dfcff6aac6060f98dd7606b7cb4ed2 Author: Peter Clifton Date: Mon Feb 8 16:31:00 2010 +0000 Merge translations with those exported from launchpad commit 99c5e8ce7cb7d2f06d3da3c3b841b0d40c583583 Merge: 89ad783 d3b0112 Author: Peter Clifton Date: Sat Feb 6 21:36:08 2010 +0000 Manually merge translations from the stable-1.6 branch For newly translated languages, this was fairly simple, using msgmerge to update the stable-1.6 "$LANG.po" files with the current git HEAD translation template ".pot" files. For existing languages, I used msgcat to combine the two, allowing it to choose the "newer" translation - ie.. the one on the stable-1.6 branch if there were any conflicts. To assist, I used the following short script: \#!/bin/sh LINGUAS=`cat LINGUAS` TEMPLATE="geda-gschem.pot" NEW_DIR="stable-1.6" OLD_DIR="HEAD" for TR_LANG in $LINGUAS do echo "Attempting to merge for language ${TR_LANG}" if [ -e ${OLD_DIR}/${TR_LANG}.po ]; then echo -n "Old translation exists.. merging" msgcat --use-first ${NEW_DIR}/${TR_LANG}.po ${OLD_DIR}/${TR_LANG}.po -o merge_tmp.po msgmerge merge_tmp.po ${TEMPLATE} -o ${TR_LANG}.po else echo -n "Translation is new, updating" msgmerge ${NEW_DIR}/${TR_LANG}.po ${TEMPLATE} -o ${TR_LANG}.po fi done (Modified appropriately for each */po/ directory.) The current translations were placed in po/HEAD/ and the (newer) stable-1.6 translations were placed in po/stable-1.6/ The script requires the LINGUAS file to be updated to include all new languages before it is run. The resulting changes have been reviewed to ensure nothing massively broken happened during the merge, and committed as a merge to show the origin of the translations. commit d3b0112dd7665d2c97ab70ec8f92496b7f98023e Author: Peter Clifton Date: Sat Feb 6 20:26:10 2010 +0000 gattrib: Import translations from Launchpad commit 67f8e23339892fbcb958c2051e8fabe5345350fe Author: Peter Clifton Date: Sun Jan 31 10:27:32 2010 +0000 Run make update-po in all */po/ directories commit bf82ca8680254c7752fed304fb67716fcc0f6023 Author: Peter Clifton Date: Sun Jan 31 10:45:01 2010 +0000 Run make update-po in the */po/ directories commit 7cf778da5905cf4189eeb043c1b98cb0efa2b305 Author: Peter Brett Date: Sat Jan 30 15:54:28 2010 +0000 Add --from-code=UTF-8 to XGETTEXT_OPTIONS. Some of the translatable strings in the source code contain UTF-8 encoded characters. Without setting the --from-code argument appropriately, xgettext chokes on these strings, which can result in an infinitely-recursing build. Reported-by: Peter commit 4885969f50e7942ce4180ff5e59907876ccf39aa Author: أحمد المحمودي (Ahmed El-Mahmoudy) Date: Fri Nov 20 16:09:19 2009 +0000 Don't use Encoding field in .desktop files [2901187] The .desktop files contain the deprecated Encoding field. The Encoding key is now deprecated by the FreeDesktop standard and all strings are required to be encoded in UTF-8. commit 4a952841e7aca364018a9ebd81a0c1793c371273 Author: Werner Hoch Date: Fri Nov 20 06:58:52 2009 +0000 gschem, gattrib desktop file: add trailing semicolon the openSUSE buildservice claims that it's necessary to add a trailing semicolon to the Categories list entries. commit 858982a2a05ff3e128de3621f1d301ecd989f35c Author: Gareth Edwards Date: Fri Nov 20 06:39:59 2009 +0000 Changed message on failure to generate doxygen docs If --enable-doxygen was not a configure flag, change the error message on an attempt to build doxygen documentation to suggest the configure flag was the cause of the failure rather than the lack of a doxygen install itself. commit ea34de8e761f40b697fc4800375ab8c5ef642c60 Author: Gareth Edwards Date: Fri Nov 20 06:39:59 2009 +0000 Don't drop a file called "doxygen" Remove the file redirection that causes a file called "doxygen" to be created in the */docs/ directories if --enable-doxygen is *not* one of the configure flags. commit 4e558bed59a13d9e3197f68bdd54fcc3ab28c79d Author: Werner Hoch Date: Tue Oct 6 20:12:02 2009 +0200 gschem, gattrib desktop file: add trailing semicolon the openSUSE buildservice claims that it's necessary to add a trailing semicolon to the Categories list entries. commit a8d42b7de50639897c888646883ce88d819d2589 Author: Ales Hvezda Date: Sun Oct 4 21:11:20 2009 -0400 Ran make update-po in all po directories in prep for a new release commit 4f40000aff79919a3894de4e2e6e560e224220ce Author: Peter Clifton Date: Tue Sep 29 01:43:05 2009 +0100 libgeda: Move slot handling code to its own file, s_slot.c Separates special-case attribute handling from o_attrib.c Renamed functions: o_attrib_search_slot() -> s_slot_search_slot() o_attrib_slot_update() -> s_slot_update_object() libgeda private API: o_attrib_find_attrib_by_name() is no longer static to o_attrib.c commit a1bff619eb7f1c7be77cca7c47b82dc80b4e3571 Merge: 488a484 1d83fae Author: Peter Clifton Date: Mon Sep 28 17:07:21 2009 +0100 Merge commit 'cesar/build-sys-improvements' commit 78da20ca286eb2f6e518c64dca94b888fc8c19af Author: Peter Clifton Date: Mon Sep 28 16:08:29 2009 +0100 gattrib: Remove bit rotten GtkItemEntry widget implementation This fixes gattrib with Gtk > 2.16.x The old gtkitementry_2_2.c code subclassed GtkEntry, and (ab)used its private implementation. The implementation of GtkEntry changed in 2.18 to allow a model / view architecture, breaking this code (and thus gattrib). Since we didn't use any of the extra features the GtkItemEntry subclass provided, we can simply drop this code and use plain GtkEntry widgets in gattrib. Remove the configure test which requires gattrib to be disabled when building against later gtk versions. commit 5ca5b9768cf70f3d0f905d784d0896c6b442c34f Author: Cesar Strauss Date: Wed Sep 23 19:29:07 2009 -0300 build-sys: Check and set Windows-specific flags. The Windows platform has a native gcc port (MinGW) and a POSIX compliant one (Cygwin). Both need specific flags to build correctly. The rules are: * On all Windows platforms, pass -no-undefined to libtool. This allows shared libraries (DLLs) to be built. * On MinGW, use the -mms-bitfields compiler flag. This increases compatibility with the MSVC compiler. * On MinGW, pass -mwindows when linking GUI-only applications. This avoids opening a text console when running from a shortcut. commit 52f809520c670690cb73b00b4207feb6860b073d Author: Ales Hvezda Date: Sat Aug 29 21:42:10 2009 -0400 Ran make update-po in all po directories in prep for the next release commit 1b152740c10b5198d16a43a73f08ccbe90d37ccb Author: Ales Hvezda Date: Tue Aug 18 22:56:56 2009 -0400 Updated all po files by running make update-po in all the */po directories Run make update-po again might be necessary as we get closer to release time. commit 15e761e3d09923bb3cdc850b93f653850071cc35 Author: Peter Clifton Date: Mon Aug 17 15:02:34 2009 +0100 gattrib: Remove menu entry for unimplemented "File->Open" feature Popping up a dialog for unimplemented features stops the user being able to identify what parts of the program are supposed to work. Due to internal data-structures not being cleared out, opening new files is not a trivial feature to implement cleanly. Remove the non-working menu option for now. Users must select the files they wish to work with as command line arguments, or in the file-chooser dialog offered when the program starts. commit ff6ea4955d0490d6436bc74d840325e76098304f Author: Peter TB Brett Date: Thu Aug 13 07:56:57 2009 +0100 build-sys: Don't use AC_HEADER_DIRENT. The Autoconf manual says that AC_HEADER_DIRENT is now unnecessary: This macro is obsolescent, as all current systems with directory libraries have `dirent.h'. New programs need not use this macro. This patch removes AC_HEADER_DIRENT and all checks for HAVE_DIRENT_H. It turned out that in most of the places where `dirent.h' was being #include'd it wasn't needed anyway. (Fix for a Cygwin build bug reported by Dan McMahill). commit 98fc06c271432b9f59ca49865b8ca9dbe844b9de Author: Ales Hvezda Date: Sat Aug 8 00:44:40 2009 -0400 More Makefile.am cleanup Details on this commit: * Removed even more trace of the old prototype mechanism from the Makefiles. * Removed the cleanup of configure scripts which are no longer there (or for that matter were never in the same directory as some of these Makefiles). * Removal of some files from the *CLEANFILES rules which never existed. * Line length tweaks and fixes commit 4866b0224a471a2b1cf5ee5e9043d1eba5b89d61 Author: Ales Hvezda Date: Sat Aug 8 00:24:35 2009 -0400 Added some of the doc support files to EXTRA_DIST Some of these newer doxygen files still need some Makefile infrastructure, but at least they will be distributed as part of the gEDA-geda tarball. commit a4a8c19bb3389548d641a0874a77c77f623ad7a5 Author: Ales Hvezda Date: Fri Aug 7 23:02:01 2009 -0400 Makefile.am cleanup (removal of ChangeLog and Makefile.in files) Details on this commit: * Now that we are no longer storing machine generated ChangeLogs inside the git repository, make maintainer-clean should remove the machine generated ChangeLogs. This way nobody accidently edits the ChangeLog. Only 7 ChangeLogs are left after a make maintainer-clean (intl, po, and one toplevel ChangeLog). * Some directories were missing the removal of Makefile.in when make maintainer-clean is run. Only 3 Makefile.in files remain now after make maintainer-clean (only in the intl directories). * Removed $Id$ tags from some of the Makefiles since we are no longer using CVS. * Removed some unnecessary ChangeLogs from ever being created (from example/gTAG gschem/scripts, and symbol/font). Note 1: There are still some machine generated files still hanging around, but I'm going to leave those alone for now as the .gitignore mechanism properly masks those. Note 2: Made sure that all files that are to be removed in the *CLEANFILES lists comes before the #*# otherwise they will be ignored. commit 6e094910d19b9a447e8bb2f2ac6adcc11d2a7d8b Author: Ales Hvezda Date: Fri Aug 7 22:05:42 2009 -0400 Added missing file to EXTRA_DIST commit fc2b205314545d92ea2a7e8f40a7a4c7d5af893d Author: Peter TB Brett Date: Thu Aug 6 17:15:29 2009 +0100 Don't store git-generated ChangeLog files in repository. Don't store ChangeLog files in the git repository and have to remember to update them each time a release is made. Instead, get `make dist' to create the ChangeLogs for you if a git repository is detected. Note: make distcheck does not pass in this commit. commit 77d96e9154d9cfc81b25353ef99b8f8f42999bfb Author: Peter TB Brett Date: Thu Aug 6 14:35:12 2009 +0100 Add top-level NEWS file. This contains important user-visible changes. It should be kept up-to-date, in order to make writing release notes easier. commit 433c672579aabb282999377139c9242b319ba044 Author: Peter TB Brett Date: Thu Aug 6 12:38:31 2009 +0100 Only need a single `AUTHORS' file. Move the gschem one to the toplevel (adding several missing names on the way), and remove most of the others. The `AUTHORS' files in the `symbols' and `utils' directories are retained, because they contain some useful information. Note: make distcheck does not pass in this commit. commit ed7134fd403b9f1dc0a75d50e4e7bcfb2fd95cb8 Author: Peter TB Brett Date: Thu Aug 6 11:19:57 2009 +0100 Only need one copy of GPLv2. Also, update to latest version of GPLv2 (from http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt). This corrects the FSF contact address, along with some minor formatting modernisations. Note: make distcheck does not pass in this commit. commit c9dda500098db72d9d0c2dfc984dd543b7cab943 Author: Peter TB Brett Date: Tue Aug 4 22:06:17 2009 +0100 Add gattrib to unified build system. commit 03943792b7606534fba0fd4e158dc6ff8d6adb97 Author: Peter TB Brett Date: Fri Aug 7 23:21:36 2009 +0100 Start implementing unified build system. Restructuring of build system, including new m4 macros and helper programs. Note: only libgeda can be built from this commit. Important differences from previous versions: - The tarball is now called gEDA-.tar.gz. - Documentation is now installed to ${docdir} - A `version.h' file is generated containing the package version strings, including the git commit SHA-1 and the descriptive string from `git describe'. `version.h' is distributed in the source tarball so that gEDA can be built without git. commit e55e9e247eb33c4a5be56687b4610c6649ef74d7 Author: Peter TB Brett Date: Tue Aug 4 22:06:16 2009 +0100 Remove existing build infrastructure. This simply strips out all configure, m4 and autogen scripts from the whole repository, including the toplevel Makefile. This commit does not compile (what a surprise)! commit b4627a87c0b451543e4b562a91c2e4fad705ea33 Author: Peter TB Brett Date: Tue Aug 4 22:03:28 2009 +0100 gattrib: Add missing comment terminator in listsort.c. commit 4c86a08a5ed4d285a355c7de23f78e73eee94cc4 Author: Peter TB Brett Date: Mon Aug 3 22:40:45 2009 +0100 gattrib: Remove gettext setup. Because gattrib does not currently use gettext, remove the gettext setup code so that it compiles successfully alongside translated programs. commit 633766c156acc8fcca4a34c619f63b773eccce2e Author: Gareth Edwards Date: Fri Jul 31 21:03:04 2009 +0100 gattrib: many doxygen comment improvements - Cleaned up brief descriptions for functions and added full descriptions, parameter descriptions and return values for the functions in gattrib.c - Added a mainpage for doxygen, including SDB's notes from the comment block in the file itself, plus the notes from the mailing list message SDB sent to Ivan when he was intending to work on gattrib - Made a lot of doxygen improvements in parsecmd.c. All functions documented plus the OPTIONS defined. - Doxygen commenting in s_sheet_data.c Documented the s_sheet_new() function and the file itself in s_sheet_data.c. - Added file block to parsecmd.c, remove redundant argument to file command in s_sheet_data.c and s_string_list.c - Added Doxygen comments for the st_string_list struct. - doxygen commeted listsort.c, Added doxygen link from main() to gattrib_main(). Added the brackets required by doxygen in the comment for main() to allow it to automatically link to the documentation for the gattrib_main() function. Added a note to listsort.c expressing my desire to merge it into s_string_list.c. Also noted that it might use some optimisation for STRING_LIST specifics. - doxygen comments for s_toplevel.c. Added doxygen comments for globals.h, prototype.h, g_rc.c, g_register.c and i_basic.c. Added doxygen comments to i_vars.h, i_vars.c, s_attrib.c, s_misc.c and s_object.c. Added doxygen comments to s_rename.c and s_table.c - Added doxygen comments to s_visibility.c, x_dialog.c and x_fileselect.c. - Added more doxygen commenting to x_gtksheet.c Added doxygen comments to x_window.c Noted in the doxygen commentary for s_string_list that the structures in that file would be equally well served by a GList structure, which would allow the use of the glib sort and search routines, instead of the homebrew ones in this file. Added the correct tagging to struct.h to push the comments into the doxygen output. Improved doxygen comments in s_table.c commit cb2f1a1054d9379e5ee8417657bc3f717bbe2325 Author: Bert Timmerman Date: Tue Jul 28 17:47:40 2009 +0200 gattrib: Ignore output generated by Doxygen. commit 5737a8a01786b6b76c595029633d3680f6fc7514 Author: Bert Timmerman Date: Tue Jul 28 17:49:37 2009 +0200 gattrib: Generate consistent style Doxygen documentation. Follow the documentation style as with gschem and libgeda. commit 82c4e182c71d8a4fb9584b059a2f3215f6438cfe Author: Peter TB Brett Date: Mon Jul 20 18:12:25 2009 +0100 Reduce stderr spew. It's not necessary to spew massive amounts of output to stderr on startup. It's ugly and not legally necessary. This patch modifies the tools only to spew a GPL header to stderr when entering gnetlist's interactive mode -- and to be nice and quiet the rest of the time. commit c222a10cd99cfcc53e991c40f8595ac946a0184d Author: Peter TB Brett Date: Thu Jun 18 10:03:42 2009 +0100 gattrib: Don't use intltool. commit 67aeb9b999d29080118a7af899ad1de362ccd2b8 Author: Peter Clifton Date: Mon Jun 8 23:31:22 2009 +0100 Fix autogen.sh scripts to look for AC_CONFIG_HEADER to run autoheader Since commit #9a7c363c572d32a30fa1522cd7d14b21c2958ca8, the configure scripts in gEDA use AC_CONFIG_HEADER, not AM_CONFIG_HEADER Fixes build problems noted by various users. Identified by Dan McMahill. commit 843b7689b528eeef7f9ed72d505e91aeb5ce01fc Author: Dan McMahill Date: Mon Jun 8 07:08:08 2009 -0400 Remove some gcc warnings. tolower() and friends on some systems pass the argument as the index to an array and gcc wants that to be an int. commit 61f488315da15d0be48acbe65ee9c1bf69c60e03 Author: Peter TB Brett Date: Mon Jun 8 10:57:32 2009 +0100 Require GLib 2.12.0 or newer. We now require GTK+ 2.10.0, and since that requires GLib 2.12.0, we can bump the GLib version we require up to match. Thanks to Peter Clifton for spotting this. commit 9a7c363c572d32a30fa1522cd7d14b21c2958ca8 Author: Peter TB Brett Date: Mon Jun 8 10:48:25 2009 +0100 Use AC_CONFIG_HEADER instead of AM_CONFIG_HEADER. This fixes an issue with config.h.in not being correctly regenerated with autoheader on changes to configure.ac. Thanks to Maciej Pijanka for working out the solution to this problem! commit 209e55a6a0ab33478cea41c154be64d7ec0620ea Author: Peter TB Brett Date: Sun Jun 7 19:34:30 2009 +0100 Require GTK+ 2.10 or newer. commit d5e06e6ee657f80d1cb8d82884122ac958e9d3a4 Author: Peter TB Brett Date: Sun Jun 7 19:34:30 2009 +0100 Remove Guile 1.6 support. commit b4862c3c120c8144f47393333e2e6bec2f302bc7 Author: Peter TB Brett Date: Sun Jun 7 19:34:29 2009 +0100 Require Guile 1.8.0 or newer. Guile 1.8 became the stable branch of Guile on 2006-02-12, over three *years* ago. All major distributions ship it, including Debian stable. Expecting its availability makes testing of new Scheme-based features much easier, as most gEDA developers normally write and test code against 1.8. Furthermore, it allows better advantage to be taken of 1.8-only features (such as improvements in debugging support), without requiring vast swathes of hard-to-maintain preprocessor trickery. commit 6a82619f2279874ba3af47599380ffe454a5474f Author: Peter Clifton Date: Sun Jun 7 16:32:07 2009 +0100 gattrib: Fixup API calls where libgeda API added a TOPLEVEL parameter Missed these from commit #a9d64bf7db382ed3c6ac2b89e0434af80bc1e19c commit 047a3ecad3fe1bcd98c6eb209134772cd894fe6c Author: Peter Clifton Date: Sun Jun 7 01:40:10 2009 +0100 Remove o_attrib_search_numslots(), instead call the attribute API directly commit 7253fb551e683b3c7c15c0f8595178f88129e7c5 Author: Peter Clifton Date: Sat Jun 6 11:24:26 2009 +0100 gattrib: Focus the "save" button in the close confirmation dialog For safety, "Close without saving" should not be the default action. Looking at other GTK (and GNOME) applications, the default action used seems to be "Save" (this is what the user will probably want to choose). commit 9686b31bc86c7e57a26bad0c65e21b97ed713e5b Author: Peter Clifton Date: Sat Jun 6 10:38:58 2009 +0100 Make o_attrib_get_name_value() take an attrib OBJECT, not char * Rename the old function as exported API o_attrib_string_get_name_value(), so existing code (such as validating potential attribute strings) can still work unaltered. The new o_attrib_get_name_value() wraps o_attrib_string_get_name_value(). commit 2eeacf64e952d65c93cc3dc564bc666b5fa272b1 Author: Peter Clifton Date: Sat Jun 6 10:38:37 2009 +0100 gattrib: Remove spurious o_attrib_get_name_value() call left after revert This call was left behind, and should have been removed in commit #dc402ee9c0b5196634c83ed8fd2e2f059a4338cb, The code being removed was added in commit #17cd47a31a4b84d02726391f980ae493d927809b commit aa7b65e3a1cc59eadf247ed0fe74afeaeb7c5fe3 Author: Peter Clifton Date: Sat Jun 6 01:47:43 2009 +0100 Make use of the new API o_attrib_search_attached_attribs_by_name() commit 33b113b078e9647d7304b4c2caa04da1dd367e4f Author: Peter Clifton Date: Sat Jun 6 01:34:53 2009 +0100 Use o_attrib_search_object_attribs_by_name() where appropriate commit ca55a937a7f865e851e8352e7c80005b1d94f36f Author: Peter Clifton Date: Sat Jun 6 01:28:47 2009 +0100 Remove o_attrib_search_component() in favour of the new API Calling o_attrib_search_object_attribs_by_name() with a count parameter of 0 is functionally identical. commit 7a7b553b395a78a9d53b64cc50d1077342999a75 Author: Peter Clifton Date: Sat May 30 18:45:38 2009 +0100 Remove unused "return_found" argument to o_attrib_search_numslots() commit a4230797942c161eefba44a8dc069e6506ad09c1 Author: Dan McMahill Date: Fri May 29 21:56:30 2009 -0400 Include $(includedir) in the header search path and $(libdir) in the library search path. This fixes builds where an out of date libgeda may be found some where. The change is based on what is already in gschem/src/Makefile.am commit ab590ab70cddfe6a0954d56a31c0ebd1f0bc7691 Author: Ales Hvezda Date: Sat Mar 28 15:55:19 2009 -0400 Updated ChangeLogs one more time for 1.5.2 commit 48ca3d8e58c327beb8f726f806c3f5568a9fa7c8 Author: Ales Hvezda Date: Sat Mar 28 15:51:08 2009 -0400 Added missing gattrib.dox so it is included in the release tarballs commit 546d4dbe0124d3f9421116b9e5a8889cccf97b84 Author: Ales Hvezda Date: Sat Mar 28 15:22:19 2009 -0400 Updated all ChangeLogs Updated the ChangeLogs by running: ./update-changelogs.sh 1.0-20070526..master in the toplevel directory commit 859abe69912ba99ca27bb58c378284e9eec56259 Author: Ales Hvezda Date: Sat Mar 28 15:13:59 2009 -0400 Updated all versions to 1.5.2 20090328 36:0:0 Updated by running: ./update-versions.sh 1.5.2 20090328 36:0:0 commit b297d32b70c02bfe800b7bf4c434d1fd4447e2f5 Author: Ales Hvezda Date: Sat Mar 28 14:55:22 2009 -0400 Updated all po files by running make update-po commit 3c0d85eae92d5764aa7dee2899c6a066c3470ee3 Author: Peter TB Brett Date: Wed Jan 21 14:11:39 2009 +0000 Write logs to $HOME/.gEDA/logs/. Rewrite s_log_init() to put log files in a centralised location. A user application (e.g. gnetlist) provides a prefix, and log file is opened at: $HOME/.gEDA/logs/--.log [1] The serial is found by the following procedure: 1. Read through the directory to find the highest existing . 2. Starting with that number, repeatedly attempt to open() incrementing files with O_CREAT|O_EXCL flags to guarantee that a new file is created. 3. If after LOG_OPEN_ATTEMPTS = 5 attempts a unique filename hasn't been found, fail. The logic *intentionally* does not fill in gaps in the sequence -- if I delete logs, I still want a new log to appear at the end of the list. [1] The actual location is a subdirectory "logs" of the user config directory, which may not be ~/.gEDA on all platforms. commit 7cc4a67795c9ee8dcb28edc6d71b895c5b4f1dc9 Author: Peter TB Brett Date: Wed Jan 21 14:10:41 2009 +0000 Refactor finding paths for config etc. This is intended to provide a centralised place for determining the paths more "smartly" in the future (e.g. for platforms with different conventions on where config should go). Only user-visible change should be that log messages when loading config files no longer hardcode "~/.gEDA". commit fda82eb96e2c785efe91fd59d01f6e7e26b897ed Author: Peter TB Brett Date: Sun Jan 18 01:48:58 2009 +0000 Protect some strings passed to pkgconfig. Ensure that pkgconfig version requirement strings are protected from M4 expansion. commit ee250c9bd2e88bf352a03d1719603b7d54fe430c Author: Peter Clifton Date: Tue Jan 13 23:58:30 2009 +0000 Avoid underlinking of apps due to missing explicit depends These went unnoticed because the apps were resolving the necessary symbols when pulling in libgeda and its dependencies. Fix applications using GLib and guile within the suite to explicitly pull in the appropriate CFLAGS and LIBS. This commit removes some LDFLAGS and LIBS from grenum, since they weren't being used. commit d7b7b23721b4054172587c9961d4b87f47bee198 Author: Peter Clifton Date: Wed Dec 31 17:26:03 2008 +0000 libgeda: Remove non-private access of PAGE->object_list This allows us to keep better track of where the PAGE must be updated should we have any spatially keyed data-structures in the future. Rename PAGE->object_list PAGE->_object_list to try and discorage any use of it outside libgeda (ideally, outside s_page.c) in the future. commit ca6556ace0a06ec1dd697852f7a1f0ffb86bfb97 Author: Peter Clifton Date: Wed Dec 31 17:25:57 2008 +0000 Add "const" to some places where we deal with GLists of OBJECTs. These GLists themselves are not (and shouldn't be) modified, although the OBJECTs they point at may well be. commit e7d328775323dea2d82f9c22d431bf2740a90f97 Author: Peter Clifton Date: Thu Dec 25 20:37:37 2008 +0000 Remove i_vars.h variables left over when removing colour index variables. commit 165de888d86506583241dab79573e81f2cf44dd7 Author: Peter Clifton Date: Thu Dec 25 15:46:09 2008 +0000 Remove GSCHEM_TOPLEVEL and TOPLEVEL indirection for fixed colour indices Colour indices such as grid_colour and select_color are not changed at run-time since (by definition) those graphic elements are always drawn with the sepcified index. Remove the indirection through GSCHEM_TOPLEVEL or TOPLEVEL, and use the appropriate index constant instead. The background_color indirection remains, since swapping this is used to override the background to white when exporting black and white image. commit 0029ee5696a4f8c0fd2a0edb64c0096792e24912 Author: Peter Clifton Date: Tue Dec 23 03:46:50 2008 +0000 Fix attribute colours for embedded objects [#2157598] Add an argument, "set_color" to o_attrib_attach[_list]() to specify whether the colour of the attribute should be reset to the default attribute colour when performing the attachment. We set this to true when promoting toplevel unattached attributes inside a symbol onto the schematic page, when the user explicitly attaches an attribute inside gschem. It is FALSE in other cases. In cases where we're creating new attributes, such as o_slot_end(), we specify the attribute colour we want to o_text_new(). Remove colour setting from o_attrib_add(), since there is no point having this code in two places. o_attrib_add() just deals with the datastructures now. commit 4d935762b66030c5b5c3c9ba791eedf90d92b5a6 Author: Peter TB Brett Date: Mon Dec 22 17:51:37 2008 +0000 gattrib: Fix compile. gattrib used some apparently-completely-unrelated constants from libgeda which were nuked in 9f5e54f022b73adb429633461ca88c81c394fd16. Add them back into gattrib's header files. commit 3c49636e1a9e9e703fab4c6aafc69affb4fd2bab Author: Ales Hvezda Date: Sun Dec 21 16:23:26 2008 -0500 Updated ChangeLogs one more time. commit 2f3e07a1fa7fd92ab163d2cd966efd98ab306512 Author: Ales Hvezda Date: Sun Dec 21 14:40:21 2008 -0500 Updated ChangeLogs again in prep for the 1.5.1 release commit 76d02f7f935d930d8093bd49b7eb0836d3b1aa6e Author: Ales Hvezda Date: Sun Dec 21 14:06:17 2008 -0500 Updated all ChangeLogs in prep for the 1.5.1 release. The update was done by running: ./update-changelogs.sh 1.0-20070526..master commit 84d3b0199bec40652b1381474f7f76d7b24a6ff7 Author: Ales Hvezda Date: Sun Dec 21 13:48:42 2008 -0500 Manually ran make update-po in all the po directories This is in prep for the upcomging 1.5.1 release. commit 680e08085d44c9876bdadef0ca7ef25b474c2006 Author: Ales Hvezda Date: Sun Dec 21 13:39:29 2008 -0500 Updated all versions to 1.5.1 20081221 35:0:0 Updated by running: ./update-versions.sh 1.5.1 20081221 35:0:0 commit 9e9b1ab60ff8740f4039471efaa5435193d83c14 Author: Ales Hvezda Date: Sat Dec 20 18:12:46 2008 -0500 Manually ran make update-po in all the po directories make update-po was run in prep for an upcoming release. It will probably have to be run one more time before the final release is done. commit 6329c5a7bdae9573f01f92403e4645e79e66aab5 Author: Peter TB Brett Date: Sat Dec 20 14:41:05 2008 +0000 Update copyright header dates to 2008. (And I'll have to do this all again in a few days time). commit 921a39edd130ed3bbfe83d9c39c3a9085c405d9a Author: Peter Clifton Date: Thu Dec 11 21:21:03 2008 +0000 Remove function o_delete(), which just wraps o_delete_object() commit ee0eaa9c885db7022b9cb5ef4ddf50b459fd92fc Author: Peter Clifton Date: Thu Dec 11 14:49:40 2008 +0000 gattrib: Bump GTK and GLIB version requirements to match gschem (2.8.x) Also remove a remaining 2.4 comment from the gschem configure.ac.in commit 0b87dfd3c9a4188d4112015bbc7f6f0a38e8fb34 Author: Peter Clifton Date: Thu Dec 11 13:16:50 2008 +0000 gattrib: Unstaged portion of last commit (oops!) commit 65a541a1f302454a8e9e7a7119a59323bb982912 Author: Peter Clifton Date: Wed Dec 10 22:53:39 2008 +0000 gattrib: Fix crash when removing attributes from multiple files. We were iterating over a list which could have objects removed from it. Since this is dangerous, iterate over a copy of the list. Since attributes come later in the object list than the objects they are attached to, iterating the list backwards means we don't encounter objects we've already free'd. We also need to set TOPLEVEL->page_current to the page we're working on, since within the loop, this variable is used to find which linked list to remove the objects from. commit 721114eccc913dbbbd5e1d0700b87662aac316fc Author: Peter Clifton Date: Wed Dec 10 21:49:22 2008 +0000 gattrib: Remove non-useful "Pins" sheet The sheet is read-only, since there is no way to change pin attributes on the schematic. (And gattrib refuses to load symbol files). commit 22d5b2abcd1aa5c098566ee5b292c6d7215b9b8e Author: Peter Clifton Date: Wed Dec 10 21:42:29 2008 +0000 gattrib: Remove non-functional "Nets" sheet commit 0deb0abc3d82a8127c9566d886858811c1dcc717 Author: Peter Clifton Date: Wed Dec 10 21:21:13 2008 +0000 gattrib: Remove menu entries for unimplemented features Popping up a dialog for unimplemented features stops the user being able to identify what parts of the program are supposed to work. commit 38ce8aae73beec00d603e4cda0ca5eee738a3cb8 Author: Peter Clifton Date: Tue Dec 9 19:23:22 2008 +0000 libgeda: Abstract removing objects from the page with s_page_remove () commit 617797b5a47d370c4fee19110c826502b7e3082b Author: Peter Clifton Date: Tue Dec 9 16:19:09 2008 +0000 Remove linkage between OBJECTs and use GList for OBJECTs on the page This affords quite a lot of code clean-up, since we no longer have to maintain two versions of each operation which works on lists. commit 9dd241d9f87ad78f27772e9490d3afa2a80621bf Author: Peter Clifton Date: Tue Dec 9 01:38:21 2008 +0000 libgeda: Add convenience function for adding objects to the page Adds s_page_append() which links the passed object to the end of the page's object list. commit 2f5b7e9d890953680caa4fa111c31a0be4123d97 Author: Peter Clifton Date: Mon Dec 8 17:16:20 2008 +0000 Adjust MINGW32 specific CFLAGS from the suite Console applications should not build with the -mwindows flag, otherwise output reach the console. Conversely, we should build the GUI apps, gschem and gattrib with -mwindows so they don't bring up a console window when running. commit d2ab7cfcc4dd21e06a3d2e9ac6d756b7968c0b7a Author: Dan McMahill Date: Tue Nov 18 22:33:45 2008 -0500 Use the SHELL variable to locate a shell for icon-theme-installer /bin/sh on some systems like SunOS (solaris) is too broken but in those cases SHELL is typically set to a functioning shell like /bin/ksh. This repairs the install on "shell challenged" systems. commit 0b194eee257f5818cc0ad9b035f9b81134a87745 Author: Peter Clifton Date: Sat Nov 1 22:53:33 2008 +0000 gattrib: Don't special-case ignore components with "graphical" attribute. It was noted that special-casing the "graphical" attribute could cause gattrib to crash on save (Bug #2214739). There is no real reason why the user might not want to edit a graphical symol's attributes with gattrib, so we should treat it like any other. commit 9bb639685d3d413d245ebf8f58cd55b6734bec2e Author: Peter Clifton Date: Sat Nov 1 22:53:26 2008 +0000 gattrib: Don't crash if we can't find data in the sheet. Bug #2214739 Check for a -1 return from s_table_get_index() before using to index an array. Print ugly warnings to stderr and skip whatever we were doing if this is encountered. commit 76195280b1f861c8952d4de52195b8b2de0f79d8 Author: Peter Clifton Date: Sat Nov 1 22:53:17 2008 +0000 gattrib, gschlas: Restore setting dummy select_func to ensure proper save The select_func function pointer (now owned and exported by libgeda) is assigned to OBJECT->sel_func for non-locked objects. Locking is achieved by setting OBJECT->sel_func to NULL, and when writing out objects, the locked flag is determined by comparing that that pointer to NULL. We need to keep providing a dummy function so we can differentiate between that and a NULL pointer. This was accidentally lost in commit 1aab94354f053887db67aa5702abc595795dfe82 which moved the select_func global variable into libgeda. commit f470af7a28afe423ded6171ea3c8a2b31ff56f43 Author: Peter Clifton Date: Sat Nov 1 20:47:41 2008 +0000 Revert applying -Werror to compiler flags when linking with GCC (CODE!!) Depending on the gcc version, the original developers might not see the warning until the software gets into the end user's hands (and tries building it with an older/newer version of gcc). Most warnings are not catastropic, but by using -Werror they are _all_ catastropic. If a developer wants to get rid of all warnings, they should either: 1) run make -s and see/fix all the warnings, and/or 2) modify the Makefile's themselves and add the -Werror flag temporarily. (Comments explaining rationale snipped out of an email from Ales). commit 09eacbfb36e2b00758bce8d8add2f8f56cdcfdbb Author: Peter Clifton Date: Sat Nov 1 16:09:26 2008 +0000 Use -Werror when building with gcc compilers. Hopefully this will help to ensure compiler warnings get noticed and fixed by developers. commit 1aab94354f053887db67aa5702abc595795dfe82 Author: Peter TB Brett Date: Wed Oct 29 12:14:19 2008 +0000 Define select_func only in libgeda. Importing definitions from linkees breaks when linking libraries on Windows. commit bcaf9f8dafcd25335b61b2ea80d071bde720bbd1 Author: Cesar Strauss Date: Sun Oct 26 10:41:31 2008 +0000 Use pkg-config support for Guile if present. Using pkg-config allows easier cross-compilation, since the build process can use a pkg-config binary native to the build machine with .pc files for the host machine. commit 3f89274f7493610059a70bd29ac26bbd28bc7958 Author: Peter Clifton Date: Mon Sep 29 01:26:51 2008 +0100 gattrib: Fix more non-literal format strings which cause compiler warnings. We should be careful to avoid passing arbitrary strings into functions which take printf style arguments. In that case, always use the construct ("%s", string) rather than passing string as the format argument. Admittedly, some of the cases fixed were fine anyway, as the string passed was a known constant. In any case, less noise from the compiler leads to easier spotting of real problems. commit 392dd3354812e812f548eadac2c83d8430acd7bf Author: Peter Clifton Date: Mon Sep 29 01:19:39 2008 +0100 Remove conditionally compiled code for GTK/GLIB < 2.6 commit 2550db8e1d981ccab55b7f2ae6e9932198a53b59 Author: Peter Clifton Date: Sun Sep 28 01:03:06 2008 +0100 Make o_..._add() into o_..._new() which don't link the new OBJECT. Allows cleaner use of objects where we might want to insert the object into a GList rather than a self-linked list of OBJECTs. commit dc402ee9c0b5196634c83ed8fd2e2f059a4338cb Author: Peter Clifton Date: Wed Sep 24 03:29:50 2008 +0100 Revert commit #17cd47a31a4b84d02726391f980ae493d927809b (Author: Patrick Bernaud ) (Date: Fri Jul 11 16:03:06 2008 +0200) Use o_attrib_get_name_value() to parse attribute strings in gattrib. Replaced u_basic_breakup_string() with o_attrib_get_name_value() in gattrib when splitting attribute string for name and/or value. This commit introduced a crash saving certain schematics. It appears to be caused because gattrib uses invalid attribute strings such as "attrib_name=" to mark objects which do not have a particular attribute present (or that it was deleted during editing). Since o_attrib_get_name_value() can only processes valid attribute strings, it is useless for parsing strings such as these. Since it isn't immediately clear how many of the o_attrib_get_name_value() calls introduced in the above commit are affected by this (specifically, where in gattrib these invalid strings are encountered), I'm reverting the whole patch rather than trying to build a fix on top. commit 7baf5c629eb620e7db9b3fa5837cc07bdfe29f4f Author: Peter Clifton Date: Thu Sep 11 21:36:35 2008 +0100 libgeda: Tidy o_attrib_attach() harder Remove searching in parent_list for the attribute we're about to attach. This check isn't needed, we were passed the attribute as an argument. Let the caller be responsible for making sure it is linked into the appropriate object list. commit b4ed5e92d203c7449b7d33e924a41b093e1de930 Author: Peter TB Brett Date: Tue Aug 26 12:55:07 2008 +0100 Remove duplicate definitions of do_logging. Also sets the default in libgeda to TRUE. commit ff022c441d470f85b6db064411b1228e3511e959 Author: Peter Clifton Date: Tue Aug 19 01:53:08 2008 +0100 gattrib: Implement "Save changes?" dialog to match rest of suite. commit a6ec74886d5c7b291df6e05e8e7cb181452c4c22 Author: Peter Clifton Date: Tue Aug 19 01:52:28 2008 +0100 gattrib: Fix s_attrib_name_in_list() to avoid critical warning and leak A NULL string should not be passed to o_attrib_get_name_value(), as this now causes a critical level warning. Skip over NULL list items. Free memory allocated by o_attrib_get_name_value(). commit cb6223880a8732453dd2d0c0d7b17011e4113ff7 Author: Peter Clifton Date: Tue Aug 19 01:25:02 2008 +0100 gattrib: Attempt to make sheet changed detection less sensitive. (CODE!*) * Really now.. this is getting embarassing. The old code set the page's CHANGED flag upon received keypresses, including modifier-keys such as Alt etc.. (As used to access the common Alt+F4 shortcut to close the window), meaning the user was always prompted that they would loose changes. Remove setting the CHANGED flag in functions gtk_entry_enter_text and gtk_sheet_key_press. Instead, set it in gtk_sheet_entry_changed and gtk_sheet_real_cell_clear. This code could do with some closer attention in the future. There are certainly more appropriate places to set the CHANGED flag, ie. without hacking the gtksheet implementation to do it directly. commit 1a1460c65a9d4e0aee35e39fff0f083c95bd380d Author: Peter Clifton Date: Sat Aug 16 19:18:24 2008 +0100 Remove the ATTRIB struct as it only contained one variable. The OBJECT.attribs GList now points directly at the text objects which hold and display the attribute name and value. commit 11a2692a1ab8bcee14178286fd719d1ec39e6b9a Author: Peter TB Brett Date: Sat Aug 16 15:24:16 2008 +0100 Draw func cleanup. Rather than having libgeda require other applications to provide the *_draw_func symbols, libgeda should provide them itself. Other applications should then override them as required near their call to libgeda_init(). commit 723e8d1c735b27f2bfc39dec296464bb8d5b2020 Author: Peter TB Brett Date: Thu Aug 14 23:27:12 2008 +0100 Don't register recalc funcs as draw funcs. Some applications which don't draw schematics set the draw funcs to be the recalc funcs. This is silly. commit 57a4fd272e10a68e05051a9ab9309e252e2103f7 Author: Patrick Bernaud Date: Fri Jul 11 16:03:12 2008 +0200 Purge AC_CHECK_FUNCS() in configure.ac in each package of unused functions. commit 17cd47a31a4b84d02726391f980ae493d927809b Author: Patrick Bernaud Date: Fri Jul 11 16:03:06 2008 +0200 Use o_attrib_get_name_value() to parse attribute strings in gattrib. Replaced u_basic_breakup_string() with o_attrib_get_name_value() in gattrib when splitting attribute string for name and/or value. commit 90b0ece453efc80490c6c277386f4f5f7bfdc4af Author: Patrick Bernaud Date: Fri Jul 11 16:02:59 2008 +0200 Simplify build of filenames with g_build_filename() (!). Modified code where possible to use preferably g_build_filename() instead of g_build_path(), or g_strconcat() and friends. commit 19d6d561eb5aea8e580d6ecf72d20bdfc3180ace Author: Patrick Bernaud Date: Fri Jul 11 16:02:58 2008 +0200 Remove unnecessary check following memory allocation with GLib g_malloc(). There is no need to check g_malloc() returned value as when the function fails to allocate memory, it terminates the application. commit a3513b7e6dc7bf6c36d95d4da86082beeb79831d Author: Patrick Bernaud Date: Fri Jul 11 16:02:57 2008 +0200 Replace standard string manipulations with GLib string utility functions. commit da1d2e7b304f9d832bdee9c8dfb9fe4604e19cc9 Author: Patrick Bernaud Date: Fri Jul 11 16:02:56 2008 +0200 Remove tests for NULL prior to freeing with g_free(). Testing if pointer on memory to free is not NULL is unnecessary since g_free() does the test itself. commit ac84ca9171138a0774b4314fd8d8ee148d109474 Author: Patrick Bernaud Date: Fri Jul 11 16:02:55 2008 +0200 Rewrite f_normalize_filename(). Modifies f_normalize_filename() to avoid using realpath() and resolving symlinks. It is derived from the GNU Lib C implementation of realpath() with glib GString and glib portable file-related functions. commit 8479d01b6a4a819ae105659a9b9f1e6ab2d85136 Author: Ales Hvezda Date: Sun Jul 6 22:03:02 2008 -0400 Updated all ChangeLogs by running ./update-changelogs.sh 1.0-20070526..master commit 8773525a45c1e33a2f020ac511f628e04ff373b9 Author: Ales Hvezda Date: Sun Jul 6 22:01:37 2008 -0400 Ran make update-po in all po directories (in prep for a new release) commit 97c1b01e1c95d2f8a334d916ffc60d35797782c2 Author: Ales Hvezda Date: Sun Jul 6 09:34:01 2008 -0400 Fixed up all icon-theme-installer files to work with non-bash Grabbed the latest icon-theme-installer files from the pcb repository since they have been fully patched to work with non-bash shells. On my ubuntu system, /bin/sh is linked to dash which prevented me from running the previous version of icon-theme-installer. This commit is related to a7e7a28613abe4705ec01011d0f4308ff024251b commit 7ae9572f269c8b973bb4a38014e28dbc10cdcb32 Author: Ales Hvezda Date: Sun Jul 6 08:38:24 2008 -0400 Bumped versions to 1.5.0/20080706/34:0:0 for the next development release commit a7e7a28613abe4705ec01011d0f4308ff024251b Author: Carlos Nieves Onega Date: Sun Jun 29 19:00:10 2008 +0200 Changed shell from bash to sh in icon-theme-installer Changed shell from bash to sh in icon-theme-installer. This commit is still not tested in non-bash systems. Applied partially geda patch #1978537 (only bash to sh change, not removal of $INSTALL_DATA_EXEC check) from anonymous contributor and Dan McMahill's test case change in line 103 from: http://pcb.cvs.sourceforge.net/pcb/pcb/icon-theme-installer?r1=1.1&r2=1.2 commit 949ebc253254a4ec4798ea5faab6bce698fabbb0 Author: Peter Clifton Date: Thu Apr 17 21:55:09 2008 +0100 gschem: Use argc, rather than relying that char **argv is NULL terminated commit af0d9f2e8825f7d23c691deec0e70f1eaaac0e38 Author: Ales Hvezda Date: Wed Mar 5 05:27:41 2008 -0500 Updated version to 1.5.0 to mark the start of the next development cycle commit 5757ce41ac1846814b0e96885942f2e011f2d3b7 Author: Peter Clifton Date: Fri Feb 1 13:06:15 2008 +0000 Rename translations to drop un-needed ISO-3166 country codes. From Debian bug #336796: Using a country part in a translation file is a discouraged practice except in very few cases (such as pt_BR). Using a fr_FR.po file instead of a fr.po file prevents users of fr_CA, fr_BE, fr_LU, fr_CH and all other existing and future locales for French to benefit from the French translation of the program. In general PO files should only be named after the ISO_639 code of the given language and should not use a country part with a ISO-3166 code. The only accepted expcetions to this are: -pt_BR for Brazilian Portuguese and pt alone for "standard Portuguese" -zh_CN for "Simplified Chinese" use in mailand China and Singapore -zh_TW for "Traditional Chinese" used in Taiwan commit b202ee510fb90cedd038ce5ec41cc6de453dbeea Author: Ales Hvezda Date: Sun Jan 27 11:47:13 2008 -0500 Updated ChangeLogs for the 1.4.0 release commit 5e4ee69035885d76fba09aa453789be68481c69a Author: Ales Hvezda Date: Sun Jan 27 11:46:06 2008 -0500 Ran make update-po one more time before the 1.4.0 release commit 3d43c5d642ebe12a69380e8accf5533d338ee5e5 Author: Ales Hvezda Date: Sat Jan 26 20:07:45 2008 -0500 Bumped versions to 1.4.0/20080127/33:0:0 for the next stable release commit 9a4bbc16c5c0e408aabbc69c1c1cc10cb4b7675f Author: Ales Hvezda Date: Sat Jan 26 19:48:29 2008 -0500 Manually ran make update-po in all po dirs in prep for the 1.4.0 release commit f9790765a7961ebb154d1c038938aded012c5c90 Author: Peter Clifton Date: Sat Jan 26 13:37:43 2008 +0000 Fix typo in Dutch translation commit ec4b6287bbb4f709a7d3258a7474ec716933ca4b Author: Ales Hvezda Date: Fri Jan 11 01:23:39 2008 -0500 Manually ran make update-po in all po directories in prep for the 1.3.1 release commit d2047bc2a06e6534ff32464d36f8a95aec11b9d7 Author: Ales Hvezda Date: Fri Jan 11 01:11:12 2008 -0500 Updated all ChangeLogs for this release (1.3.1) commit 6d5b5acb9dc6367fd9aa64b0210da7f3ab4bfd5f Author: Bert Timmerman Date: Sun Jan 6 13:10:19 2008 +0100 Dutch translation file for geda-gattrib reviewed for upcoming release. commit e800618afe70c93c3739d725172dfdba95386232 Author: Ales Hvezda Date: Sat Jan 5 21:14:51 2008 -0500 Manually ran make update-po in all directories commit b2380c0f70344117be7045a5fc1483698fdf4358 Author: Ales Hvezda Date: Sat Jan 5 20:57:51 2008 -0500 Bumped versions to 1.3.1/20080110/32:0:0 for the next development snapshot Note, libgeda's so did not change at this time. commit e7ba76819d6b77772684a72bba9ecbb1221d4ae0 Author: Ales Hvezda Date: Sat Jan 5 20:27:21 2008 -0500 Added the use of GEDADATA environment variable to make gattrib relocatable gattrib was hardcoding the path to gattrib-menus.xml (using GEDADATADIR which is set at configure time). This patch makes it possible to move the gattrib binary to a different prefix. If GEDADATA is not set, then the original behavior of using GEDADATADIR to find gattrib-menus.xml is used. commit dd0d5724b1ed07c12aaf17478ef4fb0500c6cd4f Author: Dan McMahill Date: Sat Jan 5 22:01:13 2008 +0000 Remove an unused variable. commit ef9f1e110cc8d67a98310e9c689c5afe5363be25 Author: Peter Clifton Date: Wed Jan 2 19:15:14 2008 +0000 Prefix "geda-" to icon names to help namespace the icon theme. commit 1697a90e5465dde296199745991e76df8f68c3be Author: Peter Clifton Date: Wed Jan 2 15:41:07 2008 +0000 Changed --with-xdgdir to --with-xdgdatadir for consistency commit ee47fc5fa6d418a54af62a55a78e508d95a0f913 Author: Peter Clifton Date: Wed Jan 2 02:46:14 2008 +0000 Change usage of ${datarootdir} to ${datadir} for autoconf compatibility. commit 208cb97b474b29efea9b76d8b9099ffe2bf446af Author: Peter Clifton Date: Wed Jan 2 01:22:20 2008 +0000 Fix typo in --disable-update-desktop-database help text Also fixed closing comment which had "mime" instead of "desktop" commit 5f3cde4f20975275cb38b52cd3155fda41201209 Author: Peter TB Brett Date: Tue Jan 1 17:24:18 2008 +0000 Fix configure checks for Guile (again). The previous patch missed changing the gschem configure script (generated from configure.ac.in), and got the logic wrong anyway. commit b9ffb4675fbca6e92a4f713c28486e74dcbbeef4 Author: Peter TB Brett Date: Tue Jan 1 15:42:13 2008 +0000 Fix configure checks for Guile. Quote variables to protect them and alter version test logic so that it doesn't think version 2.1 is older than 1.8. commit 2f7e3ae60480743a8268d392272d05bd77dd75c8 Author: Ales Hvezda Date: Mon Dec 31 20:43:08 2007 -0500 Updated all ChangeLogs for the past development release (1.3.0) This step was supposed to happen before the 1.3.0 tarballs were released. These changes will be picked up in a subsequent release. commit ba474af87840a0d49e04a00de96b7df2944c09bd Author: Ales Hvezda Date: Sat Dec 29 09:57:43 2007 -0500 Bumped versions to 1.3.0/20071229/32:0:0 for the next development snapshot commit 7c82238f3b2433607f8af6c873af99a642f05409 Author: Ales Hvezda Date: Sat Dec 29 09:22:38 2007 -0500 Ran make update-po in all po directories in prep for a new release. commit a36521a0fef7673b60c5c06073734dbaa8a7516b Author: Bert Timmerman Date: Sat Dec 29 11:16:02 2007 +0000 Add Dutch translation for gattrib's desktop menu commit 138bb39ad950267391579ff00924c39329b35859 Author: Werner Hoch Date: Sat Dec 29 09:17:20 2007 +0100 ignore generated geda-gattrib.pot file in .gitignore commit a07bb49371b75294baef8462c14eb0e0d925281b Author: Werner Hoch Date: Sat Dec 29 09:15:22 2007 +0100 gattrib: added german translation commit d34c5aac6c6035c8515d355452c884865df03e57 Author: Ales Hvezda Date: Fri Dec 28 23:58:34 2007 -0500 Removed the other now machine generated file commit 49bde96e99ad5ed95cef0aabae32ef7f50abf008 Author: Carlos Nieves Ónega Date: Fri Dec 28 19:57:57 2007 +0000 Add Spanish translation for gattrib's desktop menu commit b9f741e0906295754fa5e1301cf3079aee88ff55 Author: Peter Clifton Date: Tue Dec 25 05:12:40 2007 +0000 Remove intltool-*.in files during make maintainer-clean commit bc7e666d6e8c1620e9e3ab8d124d7d0ade5198ed Author: Peter Clifton Date: Mon Dec 24 03:15:51 2007 +0000 gattrib: Set default window icon to "gattrib" from the icon theme. When a "gattrib" icon is found in the icon theme, this will be used as the default application icon. For GTK versions < 2.6, some default sizes have been picked at which to look for icons. GTK >= 2.6 will find the best icon by name. commit 76885149df80234cd91c42ca83752cfe5cd470f8 Author: Peter Clifton Date: Sun Dec 23 06:11:31 2007 +0000 Add --with-xdgdir=... option to gschem and gattrib to match libgeda commit 5ee84ba2b7f534b11b7487c91413deaf393cb7ca Author: Peter Clifton Date: Sun Nov 18 22:55:34 2007 +0000 Add .desktop and icon files to gschem and gattrib Ship application icons and .desktop files for gschem and gattrib. The gschem icons were contributed by Tomaz Solc, and the gattrib icons created by Peter Clifton. Uses the intltool framework to translate the .desktop files. commit 3b040cf8d60a8fbe45f6e7c5f3d71a3dea119357 Author: Peter Clifton Date: Wed Dec 19 17:48:57 2007 +0000 Add intltoolize to the build infrastructure Provide intltoolize infrastructure for translating .desktop and MIME XML files. Run gettextize after intltoolize if required, so that the infrastructure for providing libintl on a non GNU system still works. commit b635ebb641383360e5e7864830d42d13cf7f4d12 Author: Peter TB Brett Date: Fri Dec 7 21:48:17 2007 +0000 Print useful messages when f_open() fails. This reinstates error messages removed by the patch which modified f_open() to use GError for error reporting. commit be301530f468e4d0057b3be68e218ac444c2d2be Author: Peter TB Brett Date: Fri Dec 7 17:20:55 2007 +0000 Make libgeda's f_open() & f_open_flags use GError. This patch actually *removes* error message output from file loading errors is some cases. This is for the sake of keeping the patch concise, and will be addressed in later patches. commit ae225157603f063747709fa3d639ed8cdf63f6b1 Merge: 1abfd25 43b5713 Author: Peter TB Brett Date: Tue Nov 27 07:53:37 2007 +0000 Merge with Cesar's mingw/pu branch Merge commit 'cesar/mingw/pu' into premerge commit 8b490a404e682ac4f1e4cbd46e22c92f58b2ae76 Author: Tomaž Šolc Date: Fri Nov 23 21:42:50 2007 +0000 Compilation fixes for Mac OS X 10.5 [1832417] This patch contains changes to gEDA source tree that were necessary to compile on Mac OS X (10.5 Leopard, PPC). commit 40c0582e39d6a7ed0a41e0e5deedc0bfd03bbddc Author: Cesar Strauss Date: Thu Nov 15 19:11:12 2007 -0200 Use forward slashes as path separators on MinGW. They are also acceptable as path separators on MinGW. commit d715ba7dc3e02d77e671b9ab54b994379daefec5 Author: Cesar Strauss Date: Thu Nov 15 13:34:40 2007 -0200 Tell git to ignore .exe files. commit 23ead18086e59aab22945c37ff95f49e5747f277 Author: Peter Clifton Date: Wed Oct 17 04:50:39 2007 +0100 Remove the ATTRIB linked list in favour of a GList The ATTRIB.copied_to pointer is moved from the ATTRIB struct to reside in the source OBJECT being copied. The ATTRIB *attached_to pointer of an attribute's text OBJECT is changed to OBJECT *attached_to, pointing directly at the OBJECT to which that attribute is attached. This avoids the need to traverse the ATTRIB list and retrieve this pointer from the HEAD attribute node. (A HEAD node is not used in the GList of ATTRIBs). The ATTRIB structure now only contains one element, OBJECT *object. This points to the text OBJECT holding and displaying that attribute's "name=value". commit 9d2dc8032dffadc662d30723a274a7a0d104559b Author: Hamish Moffatt Date: Thu Oct 4 19:40:05 2007 +0100 Fix install location of gattrib-menus.xml to $GEDADATADIR commit 4595948e41b2d195eb78a820fc15d0d8596067a4 Author: Peter Clifton Date: Thu Oct 4 02:34:50 2007 +0100 Avoid accessing (GList)->{next|priv} directly to aid debugging. Instead use g_list_{next|previous}, allowing us to catch errors where changing from gEDA structures which had their own next and prev pointers. To debug, edit the glist.h include file from glib, renaming the next and prev elements in the GList structure and macros. Recompile gEDA to see any bad accesses such as those where the HEAD nodes were previously skipped. commit e84c1d4ba2ad15e18f94346389d2671eb49d0cf5 Author: Ales Hvezda Date: Tue Sep 11 22:37:55 2007 -0400 Fixed a whole bunch of gtk+ 2.4.x and misc issues building on an older box This is a fix for (Patch#) 1789290 libgeda-1.2.0 fprintf which supplied a similar patch which fixes the issues in libgeda/src/s_clib.c and libgeda/src/s_textbuffer.c. In the future, all releases will be built with gtk+ 2.4.x so that these sorts of problems do not get released. commit 2e3c06cbcdce8254f70162ecebd650980cf70ee9 Author: Peter Clifton Date: Sun Sep 9 00:18:34 2007 +0100 Remove the globally exported variable_set_func. Only gattrib provided a non-NULL export of this symbol, and such imports into libgeda prevent libgeda being dynamically linked on some platforms. To better match the other tools in the suite, gattrib's i_vars_set() and i_window_vars_set() functions were combined into a single i_vars_set(). commit 5e9f49ed25bf87783207906daaf915714f43259c Author: Peter Clifton Date: Wed Sep 5 14:37:56 2007 +0100 Remove the redundant TOPLEVEL variable: DONT_RESIZE commit f58bf186da0f4c19356ee4b04a839f4d6d802e74 Author: Peter Clifton Date: Mon Sep 3 15:32:27 2007 +0100 Remove gattrib's use of GTK widget pointers stored in TOPLEVEL. commit 823d692b70510986db607c8592b788ca68dbb979 Author: Peter Clifton Date: Mon Sep 3 15:32:27 2007 +0100 Remove gattrib's use of TOPLEVEL rc-variables defined in gschem. commit 48bb4b0db849e14d8c60d410a79f6cfb78400654 Author: Peter Clifton Date: Mon Sep 3 15:32:27 2007 +0100 Remove some unused / ineffective code in gattrib. commit adca8b7d5897b11331c6a20392d22ad1e58ee572 Author: Peter Clifton Date: Mon Sep 3 12:15:43 2007 +0100 Replace the linked list of PAGEs with a GedaList (typecast to GedaPageList) commit 6056ef48272778419d39e0233f395bfd60019ab9 Author: Ales Hvezda Date: Sun Aug 19 22:40:19 2007 -0400 Update ChangeLogs using: ./update-changelogs.sh 1.0-20070526..master commit 92b3b65d0cec286b0ce59fc43cc07dcb60c39fa1 Author: Ales Hvezda Date: Sat Aug 18 16:14:30 2007 -0400 Bumped versions to 1.1.2/20070818/30:2:0 for the next development snapshot commit 72c4db8aa20c22baa4243a0d27b3bb3f32f3ef64 Author: Ales Hvezda Date: Tue Aug 14 07:46:06 2007 -0400 Moved 3 rc promotion keywords from gschem into libgeda (fix for bug#1748143) All the promotion keywords were moved from gschem into libgeda to fix: [ 1748143 ] gschlas causes duplicate prompted attributes The primary cause of this bug was that the promotion variables within TOPLEVEL were not being setup by gschlas and so duplicate refdes attributes were showing up in the schematic. The three rc keywords that were moved are: (attribute-promotion ... ) (promote-invisible ... ) (keep-invisible ... ) commit 703151a94b0eece6b24b3b18ce2465eeae068814 Author: Peter Clifton Date: Thu Aug 9 12:36:17 2007 +0100 Remove old prototypes from various prototype.h where no function exists. commit 71600215311af0a98ed371ab750b09182de139a1 Author: Peter Clifton Date: Sat Aug 11 00:52:25 2007 +0100 Revert inadvertent commits: dbfe00a20de3f875e519ef60629b968977fc5db8 (commit) f1451161914a0ed0bb43123279906d82cb7d5b49 (commit) 2ad315fc0badd16a9614d1107b22c973908893d5 (commit) d8844bb48969aa45a05cbe6836fc96c198e88c19 (commit) ee1b64a1ae07eb99eae5d63307e9fe23f9604662 (commit) commit d8844bb48969aa45a05cbe6836fc96c198e88c19 Author: Peter Clifton Date: Fri Aug 10 21:26:10 2007 +0100 Replace the linked list of PAGEs with a GedaList (typecast to GedaPageList) commit 0f5c72daacfa7d78666769e4063122934861da5c Author: Peter Clifton Date: Sun Aug 5 22:36:56 2007 +0100 Alter guile 1.6 compat tests to work with older autoconf versions Don't use AC_DEFINE to define function like macros, instead use AC_CHECK_DECLS to set a HAVE_DECL_..., then use AH_VERBATIM to insert a test which defines a replacement if necessary. commit 5c098070b87709540345afb1b3b79d9db470ed53 Author: Peter Clifton Date: Thu Aug 2 22:09:52 2007 +0100 Fix configure checks enabling guile 1.6.x compatability routines. commit c8b92f207d9a34e5ec69aaee19cfb2cfe88a3a81 Author: Ivan Stankovic Date: Thu Aug 2 13:27:15 2007 +0100 gattrib: remove unused code from x_gtksheet.c commit ba79b83da22590108b7ca86e3e01de96ca05e1c9 Author: Peter Clifton Date: Wed Aug 1 22:57:05 2007 +0100 Make gattrib honour the user's answer to confirm quit? on window close commit 224f1c8c4731eacbd63634efc01dcc6eead2e19e Author: Ivan Stankovic Date: Wed Aug 1 22:56:58 2007 +0100 gattrib: more dialog cleanup commit efc421976c48b6ed67537e796dd0c0fe3820d2c5 Author: Ivan Stankovic Date: Wed Aug 1 20:57:36 2007 +0100 move menu callbacks to x_window.c This patch moves all menu callbacks to x_window.c, where they belong. The x_window_init() function is cleaned up. Selecting File->Open now causes the "unimplemented feature" dialog to pop up. commit 66e808f376b11460faec4c78834f8359969e6547 Author: Ivan Stankovic Date: Wed Aug 1 20:52:42 2007 +0100 gattrib: remove unused pixmaps.h commit 1aad087e0f59deb2cff728ff750bc34dcffc8ede Author: Ivan Stankovic Date: Wed Aug 1 20:52:40 2007 +0100 gattrib: overhaul menu creation code commit 789581dc215e86e9455eca830c66495592246f56 Author: Ivan Stankovic Date: Wed Aug 1 19:27:41 2007 +0100 gattrib: remove unneeded globals commit de149fd2d81b2c5432dceadfdc1100204d0f9d4e Author: Ivan Stankovic Date: Wed Aug 1 19:27:31 2007 +0100 gattrib: reorganize file opening code This patch reorganizes the file opening code and related code paths in gattrib. Besides simplifying the code, the patch also improves error reporting. commit c31bd4adb677d671af8bdf5aed71f96a4995f9b1 Author: Peter Clifton Date: Tue Jul 31 20:03:51 2007 +0100 Changed configure.ac(.in) to allow guile-1.6 Introduces compatibility #defines where guile 1.8 funcs are missing in guile 1.6. Also adds missing configure.ac checks for guile in packages gattrib, gnetlist, gsymcheck and utils. commit cb9c4ee19ca58158308a234782fdad6fb60257da Author: Peter Clifton Date: Thu Jul 19 15:09:56 2007 +0100 Change selection code to use a generic GedaList typecast to SELECTION. GedaList allows various parts of the program to keep track of changes to the selection via callbacks attached to the GedaList object. commit e978b9098c7567ad3b9c834a5e4914de3bc039ec Author: Ales Hvezda Date: Sun Jul 8 18:18:39 2007 -0400 Updated ChangeLogs using ./update-changelogs.sh 1.0-20070526..master commit d7e8f5abc35644e90bfabf84396023cab09f2968 Author: Ales Hvezda Date: Sun Jul 8 16:18:57 2007 -0400 Updated configure.ac[.in] and Makefile versions in prep for a release. The update was done by running ./update-versions.sh 1.1.1 20070708 30:1 at the toplevel. libgeda's shared library version is now 30:1:0 commit 3f3505662fe4bb8c585aea0ea965296bd923956c Author: Carlos Nieves Onega Date: Sun Jul 8 21:16:17 2007 +0200 Added *~ to .gitignore files. commit dd995d808b9f4440db48d2daa2473a9d9cfd88ef Author: Ales Hvezda Date: Thu Jul 5 01:36:31 2007 -0400 Updated ChangeLogs using ./update-changelogs.sh 1.0-20070526..master commit 099c49e5689afda4b8a5221dde73f9fdf1972ce7 Author: Ales Hvezda Date: Thu Jul 5 00:11:45 2007 -0400 Updated all version strings to 1.1.0 and 20070705 commit 87731dda219b0986fed0d1a7789e17678dd79d8c Author: Ales Hvezda Date: Wed Jul 4 23:55:07 2007 -0400 Removed AM_MAINTAINER_MODE from all configure.ac[.in] files. Maintainer mode is no longer needed or desired now that we are no longer using CVS. Hopefully this will prevent some of the odd problems that were observed during the last release when the Makefile's didn't get auto regenerated. commit dc7b8c53f4bc94626634887e46167a367a91f707 Author: Ales Hvezda Date: Wed Jul 4 23:32:15 2007 -0400 Changed gEDA/gaf's version mechanism to use new dotted X.Y.Z convention Added DOTTED_VERSION and DATE_VERSION variables to all configure.ac[.in] files. Changed all version related output to be DOTTED_VERSION.DATE_VERSION. Updated the configure.ac[.in] files to have consistent top sections. Updated code and various scheme files to use the new DOTTED_VERSION and DATE_VERSION variables available via config.h. Stopped using PREPEND_VERSION_STRING as the mechanism for doing the dotted versions (not intended for that use). Updated update-versions.sh script to set the version in all the configure.ac[.in] files and the toplevel Makefile. Went through all the g_rc.c files and make the handling of rc file mismatch handling consistent. commit 4e164220e934f0c4c54199e2ad357f681d623d74 Author: Peter TB Brett Date: Wed Jun 27 08:00:02 2007 +0100 gattrib: Update extra distribution list commit 4d88805294a462674103a6b1a41aab153e08310a Author: Ales Hvezda Date: Tue Jun 26 23:01:55 2007 -0400 Updated gattrib's configure script to use standard gEDA/gaf VERSION= practices. commit 57b2848a7e69d19e18ac03a1264cb55d41c65d0e Author: Ales Hvezda Date: Mon Jun 25 22:31:07 2007 -0400 Changed/updated the #define mechanism for creating custom gEDA/gaf versions. Previously this mechanism was used to create custom versions of gEDA/gaf. With the coming of stable and development versions of gEDA/gaf, this mechanism was changed so that end users can tell the difference between a stable release vs a development release (by looking at the version string). The CUSTOM_VERSION #define was changed PREPEND_VERSION_STRING and is now prepended to any strings that output the VERSION string. commit 0ed9cf080cfc8509cb29cbe4e976f86b2821c407 Author: Ales Hvezda Date: Sun Jun 24 23:48:51 2007 -0400 Updated copyright text/header in most source files. Updated all copyright text dates that have my name (Ales) associated with them. Added gEDA contributer copyright text where appropriate. Fixed a bunch of GNU text typos (these should have been either GPL or gEDA). Removed some $Id$ tags which are no longer used/needed. Fixed a few file header that were just plain incorrect. commit a4e956c6272ea982ec54327dcc5e3aa528ac8c99 Author: Ales Hvezda Date: Sun Jun 24 22:22:32 2007 -0400 Added *.o (all object files) to all src .gitignore files. commit 3fa80f60f62e37fd2297c56b1a99bf5a29d5e912 Author: Ales Hvezda Date: Sun Jun 24 21:41:30 2007 -0400 Removed indent from gattrib's configure script. indent is no longer used (hold back from the noweb days). commit 2482dbc0cd6d012f529e405a1e51fc1376af9b6e Author: Ivan Stankovic Date: Sat Jun 23 21:32:57 2007 +0100 gattrib: convert dialogs to GtkDialog Make all dialogs use GtkDialog as a base. This considerably simplifies gattrib/src/x_dialog.c and closes bug 1710818. commit edff766e8b15c311505810241528026f722e30b6 Author: Peter TB Brett Date: Sat Jun 23 18:19:11 2007 +0100 Make sure various files are installed. Several new files were not being distributed. This patch addresses the problem by adding files to EXTRA_DIST in automake input files. commit e57c37a66edc1c4d4e4d7160001749df51b96c4b Author: Peter Clifton Date: Sat Jun 23 18:17:29 2007 +0100 Move all .cvsignore files to .gitignore files commit e4f3288389dd9736d328ce392f4e33d8521c5966 Author: Peter TB Brett Date: Sat Jun 23 16:42:49 2007 +0100 gattrib: Remove old & decaying documentation file commit 065595ccd8b5e77616c29a37742357cfab0ae7f7 Author: Peter TB Brett Date: Sat Jun 23 16:11:44 2007 +0100 Changes to ChangeLog usage. With actual changes this time. Old-style changelogs as of gaf 1.0 (release of 26th June 2007) are moved to ChangeLog-1.0; new (blank) ChangeLogs replace them. A script has been added to the gaf top level to allow maintainers to update all the ChangeLog files immediately prior to making out a release. commit 460afb7f9193cca180acb0ac5f35ff1702a8f2ba Author: Peter TB Brett Date: Thu Jun 21 22:43:09 2007 +0100 Fix unused variable warning in gnetlist. commit 7a68c4175f305c86a560acf3824be315b409d5ed Author: Carlos Nieves Onega Date: Wed Jun 13 18:56:35 2007 +0000 Convert the new attribute dialog to use GtkDialog. Applied patch sent by Ivan Stankovic. It is a partial fix for bug #1710818 in gattrib. Thanks. commit eed0be648afd9bc421a8d0059de621df778c5fbe Author: Carlos Nieves Onega Date: Sat Jun 9 16:09:36 2007 +0000 Avoid writting '\r' to files on MinGW. Applied patch #1733826 from Cesar Strauss. Thanks. When using the "w" mode in fopen, MinGW translates LF into CR-LF. This creates havoc when reading the same file again, when sharing schematics files with other systems, and when placing them in a VCS. This can be avoided by using the "wb" mode. The "b" is ignored on all POSIX conforming systems, according to these sources: http://www.die.net/doc/linux/man/man3/fopen.3.html http://www.opengroup.org/onlinepubs/009695399/functions/fopen.html There are other ways, however. Adding #include int _fmode = _O_BINARY; on some source file should work as well. Another way is linking against the MinGW supplied binmode.o, which does exactly that. commit 4e55d9355a69f2005b9afc2596526a133caf8524 Author: Peter Clifton Date: Sat Jun 9 14:54:33 2007 +0000 Added call to g_thread_init() in Gschem and Gattrib. Gschem and Gattrib aren't threaded, but some of GTK's file chooser backends uses threading so we need to call g_thread_init(). commit 3d58ffc27e6d915c4b1ebbd6f6b96d98d6126b7b Author: Peter TB Brett Date: Mon Jun 4 16:15:37 2007 +0000 Replace deprecated Guile functions & macros. Replace deprecated SCM_STRINGP, SCM_INUM, SXM_INUMP & SCM_MAKINUM with recommended equivalents for Guile 1.8. geda-gaf-1.8.2/gattrib/design/0000775000175000017500000000000012220655754013075 500000000000000geda-gaf-1.8.2/gattrib/design/Makefile.am0000664000175000017500000000031312204177070015036 00000000000000 EXTRA_DIST = ProgramArchitecture.gnumeric gEDA_Structures_updated.png MOSTLYCLEANFILES = *.log *~ CLEANFILES = *.log *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log *~ Makefile.in geda-gaf-1.8.2/gattrib/design/Makefile.in0000664000175000017500000004002712220655722015060 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = gattrib/design DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = ProgramArchitecture.gnumeric gEDA_Structures_updated.png MOSTLYCLEANFILES = *.log *~ CLEANFILES = *.log *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log *~ Makefile.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gattrib/design/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu gattrib/design/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags-am uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/gattrib/design/ProgramArchitecture.gnumeric0000664000175000017500000001402212204177070020511 00000000000000]is۶OE'E객6n$N3NĆ$4$eY.[,bHoz.aApi8j~;ױ<ƒοO ikE'hs`|_lxUPj/V{uT\wO'9x^GIenzҤ+@[|}$/S,5n>%WӣN\lw@ CuT`{ʸl+$eygXe)XO[B9]3.0Z,q'lu;ב%)TePy`Eh-,ĵK};)Kgk o M9?Qo_HlK|(cFdW/T0۔O?aTec 20A oɧxcvăxaz% C#iȗNm$>& TD'8uL{%~}z Qd RiY@&Hk\rז! tg#@.>ʮS_3a8&#dqY^5 ]R(4xeK'2Uaswn~3o(PeS{$dH6cE8U\èAchj|Zjqqqܭ=$~1 8B^rߡެ~bۮvWc[;k쩍`|vn?y z >an m \[|so wӰ!/x:ϠXv;?p|fl67 =[k^{>w޸= qrt@Oz#)4!)4uYBO#{6+aհzܯ;zYy09 g } 2 ~1WPP޻} d3aoWlݬlgO 1s'Y5t֌5U!^2Hco_Q]U'a/띟#ۖvՖ9SvՎ9j<^֛F*q]>mШk|Y=C#WG{vmޏ1=Z)1W/tB>Y^X8",\ s637ˮniȆԤ|]#κNe3\mXo}eZ+;Q(23܈Ut6*R;1ͣvUj)F-GR];fctIjm[%b.~`q!^<g 䁜oOLK ҟrg0W?c{bM0iQ^OBB]x0CF&s' DŽ6IYMoɔ;>q|MP T\L!P|(S>F!h ]/3u:cr9ϐ p֚;mˉ>C ]FY$xXᄱ(q8*MAy @¿PӈDtr{oPw 7V&l4zLB:I6g? 'E&Q䈐kH|N^p9b'6agɔA! ` R{ 2Q,.Q}DJM4vCø94ۘH49+hXI@9`Glj E0Eg; ^xqm=!H 0;gUnW/B/y<?)jD9lU\5 8J8 )}!1 "!?.kgf?w1K61e0Eslc,$Pz, %IN wXVUgC 9DCb~pp?^lydFTq /1ïD؈7 Qy"~q; z>"\dVmN;ܝUO]:;Yf.'1QR\ubK@]$D1PF ԇlƱgԕ5JP`!|w:'I$ ԟlc%sy99ZX6 PRDCD(,^%|O JE , I"2!qqiJR9Be)a.9 lI(QHɇK_;?,+zt.ųUf{Wڱ/j DcQae%_$.8ÂV%X (I%@bt LdQ; HGь;BѧYge=RH.8$ h ]cs_HN0LqDe]v\rAOiP bz_'οoǑƥz$/^m\Q+)p*a1e) S%!ʠ@zPN?G<E'¨9N.Ro-{݅nߡu|0`a\LSK(a6,V Z$cf@i0r./(ѣ_-!dD$x,GmF)$ϏP$5J:3 8"Q?Ean2A@4nHWzt,"c/r4Ǘrj֏$_%_A$Ugr6K撥!T*  9=}68|W/bhH= u{:YCi%oAccsDtk?|ʶ?ڞt6O߼e}麹J1o6f'apl699FУ` M@%B̀6A|p8 $Э V8RlnN`lqNsnmw01ۜ$jh6B T[ p0fnz$6mLp7t¡Ssj58 1+WS3Alc"R _[Y(nvrj7'zn:P.mOjbX.x0 Ʃ5WIM im f2Μ@dCVo8-7n [7N^}2 ȹmds1]n2B5.M{*%fhofk y}5ΐtyah)ejA&}6?PWۄ 56liÒt-;fKU ’]09C\E;Ac@R?819ŖX'\0NPA2zfc A|77&өOe4*qt(v[| uZs1fцRJQ/v|!~T@YY[ { ti@nJ[+0›ib)2kqǠ'|m~[t`ViOR7_vwX6a#u (@QK:Ш噔ps!#!p0. `Cp/p0Vw偄[&?ॳ:tAOޫO<\_@ Ue팠[,a *ց=u*^Yܚo #e%>?mv8b~|&yo,bP$d1˽vאM@7-P>?#imД}tr7͍d)鸋^\ 34]> .*y1 L>8O8!}&ϝ u\ F Yvl' x!U؅56 X)5a@% fx| /կ|ރ8+?~9c7+R[`'_O Osc>ǟ{Q[DRax(p Hxh2O:d6'a¢@\$*sk$e.yGe)*2q~DV-9+ _0rF݅3{Ig0T :|9Z2&$OU<@6ӭ!q><\ڥ%ٳWB5<6-Noܗz)qQ.zGUxϚ _p~ѕ<ʧ2_^]ׯ>z0#;B!G)mA 9}}فF7Gjpbԓ CTvJкJ~FCyᵭÅ @P>̕[V5VVz2-'W5TgX }]0ґ>_oʻUǞ>UyWUyWһϺ.f67+WY[򸐵E¶T\xM]g}ޝe7bfmFY[ٜNs. cS(믵7; b֓ζ otz!?[ozɺ˖:! ^ w wxHܩIg8!o ""&3G lxppK6!nnA1D#S֦6'ۢ6ٮ}# wl9Uc|wUFj'kGk Nۜ|f ԶdU\)gɳ;vzLQx 7?fO/uo@ a>yX<;);J}&/8zG(Hyv}ʂqS!K84DH򒥤-AÂ-ٮSf5-4͇sv{.?D"d4N0 OR VxEdo&B>#!G>BB|#!>#>B>#>B>BB|#!!G>B>#p7Gt!!G>BB|#>B〿̴[~s߿?@]|7޷+?~}O_6BӀƞiG>BB|#!!GՄ/|<!4D!G>BhDBB;-D䛆_CƧ7gۉn|>>>> |yw~M|eyryX gzߺNC5/Ʒ>e 7&c`S/¨~j5$r,7F}{6 ^6V^iɉN/ҳiDE6V^i(\FmjwsmWV>T2\f>A|vb||||||>>5>>>>>>>>>>>>|s_t*iﴬ!|IZ?%@%'Nl~on&wޚ |ࣦgl:>TTTw:~\\s ?S>H>>||"?sMU%ˌfQiB|#!G>BBs9γ|ixv:p*D oOe7ۨ_6jskoDv|^5k} AK|=xoҗd? o iq+>#dq`l&B!M|drKutږv^Z$Ԕȍ{)/wE'Gga SNs+n=ح'62L_W3cT_ nKwu^C hV?Fgop&1oU=عdV׏LN=럳2OFݝ5qsգ8ec*dG4ՏUkt9(>7[B7+}\Sys{4r`ݚ| #4Y =B>BFxsOJ Tx|I8+5|RO '>OR}|RO '6gH;}!YDd;Yf/>)vc$gᳺ^|R~1ml>'nL>'n+ՏU~>'ne偖58luYf/>)>yiϾ}N[}|"Ol>'gśtD[DVOx'xe_YPkg;Ke/kutM+P97xLR<&zGo(34z]|FV??݊M?!5>5*vopﯥV8mS&Չ}=\ԇץ[ا6PUرpe/l*LH 9)5?'n9z٭Oi |9'6|RO 'N?P Hw+ OCPyQl&+C,_.Z)HKY?%Fǭ%ogsjMF7["Lv0p-* < k@MS>K_ ={o>ueŽm/~Ch ȲS>K{X{Où oY/yأj`_"l Ù|'>+?Տ*+}8c6U4@2fl볷S6o5"_C: sd>R|'>z;tȧo׹q.+|VTO[Uta(P'>zp|ؒPFP[0(D&[{KuޜSowQ\m}ȶO٣O0P҉O.>5`BTjNo7G8՟|Yy4. s#<Zoמ$- "zEt~jX9QLE/W1G-(W| 15\t +0/-x _8\_ӷ~? /$ TT8Տ[\̪s޴tտW=>Vt/SGZOudm h2 k(7"s͊Հs|R}j> '?^>T;7rQxE]tOj*_V?+ESFeJ^#T|])9._JP;M|RSߜOsG[%/{7*nݓ. &m|RS߂O}Ջ͎&m7+Dl  +@Hn_$-M|;>׀.|g}ζc䦤v^j@{m'&$SI>5؜'>>)v3O>>5|"Ol'$OdI8I,> 'SI8I$O 'l>>)v|b,>Ip>'$/YQpoΧ'gse-0ݯ"/ODƦo90NJ7 #D5w)-oC(OGkPWE{Eí 3M'qhhޔ6|F݀oq~݊"ggDz딜 (tW$[h |7h= ??VS j_.K!wIkB7lOg~xQ?o_$沕[v;M?o?mZs@RDS>->+ϽT$'&WO4©ά>Q`Y#ߞ*'껏`ַ ^^PDW;<X<ߠ?>᛻>V}KDO0p!8VUBee3縓!В1:(|1P:_O4(Gu_zGϛx)r Qw+MwL|w_u~\ =>q@>|}]QU߮}"d >O]n@/eP& zP=,ܢؓό3~8+v}n`[(fWo&{%hjwzuoΧ;LMJ'#|U& s)M\~ɨ Z>|Ghxeˏ) "_ک ]5_A1Pg;5 c"<?=fX˽#_>O.TxӁPAl4c~LA16uy#PKq.6YϹG1Wj {i+>RbH>Z|S~4>?N>NѨ[z2?u,f|;~ >>||>#|Gl_Zwd~jЄC>B3>#4#ЌC>BPR#4!@ |Gho!4|;G!|#d / #4p >#!G>B#ˠW?aG;꯵_E0#9_K#46Z2~R}ȯ(w`p1/>#! 9.#dvNKyykj>BS}MS}e- Fтـ$>#!!G>B3-!u>BB|#!!G>B ЄgGh,|ks|&Y[.w{j>B9|O| !||!G~g]>yّ<`|OK_} ~{r#i[!qX: R3M F_%7{5? !4^_}JA/}:'mG-ϯ{h?G*zX:zJQoNDzYktޑ?sؕUn> ~-N%?_{_=O {T XEKxL$Z(.=.FDzL7͡k2-M;>e֛s 3F7  XROaKES/=PFvS%s;bos;^$6.} [n݋6yR?┻v 'JCuzK"IC}[uc94{u՜t )mmFo7:%Df] z\w:WwTYsocj6oHZmjN_Ǐ NmȪV븏b43iw){͌oK.'+Ӟůss.tWU2չu $݋+.J2zqգݏ7߿_~vܦ-ћ;v z ~:iXo4Vix# N1Д;GT>N1TÔs~XZ [vgB2A|||HgH>Aa§W,bǜ&B P_zߌs~ V. l߯)mpoǎ9?U v<+4+]?5SޓB3GR܎9?U L+Qf+]hg}z}|+vZ`2X,4~cp9[)4|,8| [%߮b2'uh3^6KiNfwQВ$xo* вrS*xX[- m"]WGJ.a/ͮ0oԿ8~wXFN?:t' ʼnCA`T??J*$= QWM~ehGdf/l-6*7OKwfq龰?u$s;;Q*d)RhpVNQ.9d%nV:u?q/]̭ _>J_NVhpOLiKSxW({v™\Lwj_iQECUц@w(}Whp=. bY{9O @ԑKÂiB뺏 n ٰcOJeO-́ ljӛoǎ9?U Bf<+4&9[cOJe B;T-0D].@oF!?U L+QfD#?\ŧB렏VOA 9_\wzjmdwo#?RB{*ntD] p.e߾`'Q*Qh/BZڙ|xaxQ;~t])+LG㻫v%*"DD2k;^o b?yQ,aY3J/"DOq]ܮҖ<׫ n/5SlG5S Q*QhS}3{aZ&ڹ+x5&~O,:Yxp#?b^lB?_aZpigm~Lnl;zr?O lΚH7v*"M:6<+47x}&~v)x:~odz~ 샯X=R%7<ag/Q:b ԇ>GI Tzˍ1Cg[ӽyLe (y˒f;׉ҽ񋇨s6tn&2d(SgAY[EU<+'K榃rtg !~^Ƙ~\θ=c5Ѻ/%ƨN-jc̘pX}KCV-?Tj_ QSS()7FuB4|cQr|CJsਡ'{1|LU Ckבѭ}xJgpl>oAaU)%JRty !|T-*E6TN~QIwov mbT%Du;aRڵ_ |W Mߤ_rPh_|z K6WOe"ӀDXGw oC. x²rr{ͽtKNſݧ!RBd/,O7%CR[C;^46uPYm|Evq_˛X"[|+h<]]T:~;~zuAw>}oL*hʮNڮ,0e|[{z,mlӮk۟Fbf77iבm|3˩37iyo+F݀odIDATh3tM[|k1䧯 gT"R},3hD %k92>>kͬ6g|Wo2F\Y0W>uT:!''է>>uI>>>'|||;կ c%hx uIߜU`N!|'&2U:Q90ې8$j֞ MeC/xDPV_qo'>bN:؋Z{Ԫ}>==QIw| E[(>حܲ־}hTTW1s,\).S-x^3Y|~-Q[:cĈS]X<(Id5 ~1~) 5K;8>-1OC~/1'5qZnax.->->||u>>||!||Gh9Q:#GݬD92`^d1Fh\~;4!{QS!{Q?ҿ=\5,u;LbƑC$1BSړScu >r'F3輕(F R'Z/_Kf ~KQ|N ?~U>~6sT{UEÂ~7⫌? ~񻕉~*}##Z蕑L𠽧~.7~*}#'&u)+rv|& M& x8a^UeTRQ:͂Zz^?"'h7!dSWl(]/U6d(`mj p~xoe$9z렡-Ռ}3՗)2HsރmOJ/UX&-y2" ~OAu 9J`mkqS}|}uBP "QR/݊x(~(QqnEm<\ԨKm6 qԨTv+jd}ԨvUPr[MT"ThVy#|G Iuz|,pF_*=~Ib7|?$?QI,f^C}/gI,/>ů7s|g,m>Ix_V~GclUma}>"|G4>>#|||шV#?B!B˞3'pIENDB`geda-gaf-1.8.2/gattrib/ToDos0000664000175000017500000001003212204177070012503 00000000000000Gattrib todos. Last updated 7.26.2006 -- SDB -------------------------------------------------------------------- This is a running list of things left to be done with gattrib. Items already completed are marked with #####. * ##### Fix key_press event handling so that arrow keys work intelligently when using gtk-2.2. * Decide what to do about "pins" editing: How to save out chages? Right now "pins" are only displayed, they cannot be changed. * ##### Add "component pins" page to allow users to edit component pin attributes. This is useful to make sure that the pin attributess are correctly set for use with PCB & other layout packages. * ##### Create separate comp_attrib and net_attrib variables. * ##### Handle saving out of multi-page design so that it correctly saves individual pages back to their destination (i.e. page1.sch -> page1.sch, page2.sch -> page2.sch.) Currently smashes all pages together. * Find out why it leaves "xterm" on the command prompt when you invoke the prog with no files on the cmd line. This may be GTK bug. * Change save menus to: save project, save as, which cycles through pages and saves objects out on a page by page basis. * Incorporate a "close" item on the menu to close out the current project without quitting the whole application. * flesh out net handling functions. Need to more fully understand how nets work. Note that they must be read in differently from components -- you need to read the whole project in before handling nets because each net segment is separate, but the net itself can span many components and pages. * Add info about NETS and net attribs into NOTES. * ##### Go over OBJECT struct data in NOTES -- is (ATTRIB *attached_to) info correct? * ##### Implement sort of master lists. * Install text_entry widget below menu & above spreadsheet (like in Excel). Use this widget for text entry into cell, like in Excel. * ##### Fix problem where pages read at different times are not merged. * ##### re-write NOTES and documentation for project. * ##### Include gnumeric spreadsheet into DIST_EXTRA * make sure comments in each fcn are true * ##### Make sure all DEBUG printfs are accurate & give the correct fcn name. * Re-introduce I18N stuff where I took it out. * ##### clean out i_basic.c -- there are too many "if 0" regions in there. * ##### Change attrib update algorithm to write out both old, updated attribs as well as new ones for each component. * ##### Fix segfault when run on OpticalReceiver without valgrind or GDB. (Fix: free in wrong place was moved to correct place in gattrib.c) * Eventually re-introduce hierarchy. Important for nets. * Add in fcns dealing with nets spanning pages. * ##### Incorporate Dan's changes, including Makefile changes, warning stuff, and make sure prog doesn't segfault if no attributes are found. * ##### gattribrc should be installed in RC dir as part of "make install". * ##### Enable horizontal resizing of window. Currently can't shrink window to less than initial width. * Fix cells so that a long attrib string doesn't bleed into/overwrite adjacent cells. Maybe automatically size cell to fit text? Problem is that "file" attributes can be very long. * Per Ales, use the gtksheet stuff as a library instead of a bunch of source files. Is this necessary? No. I don't want to do this since a third- party library can change, which makes support a PITA. * User should be able to set attrib visibility. How to implement & show? * ##### Incorporate ability to add attrib columns. * Refactor code so that it makes more sense architecturally. * Fix behavior when using arrow keys to be more "MS Excel-like". Current Behavior is a PITA. * Replicate attrib visibility code from comp attributes to net and pin attributes. * Change display of attrib text in each cell depending upon attrib visibility state. Example: Invisible = light grey. Name only = red. Value only = normal. Name & value = bold face. * Make gattrib import csv. geda-gaf-1.8.2/gattrib/po/0000775000175000017500000000000012220655754012242 500000000000000geda-gaf-1.8.2/gattrib/po/zh_CN.gmo0000664000175000017500000000121712220655647013671 000000000000004L`,a$UzManipulate component attributes with gattribgEDA Attribute EditorProject-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2010-02-06 22:10+0000 Last-Translator: FULL NAME Language-Team: gEDA developers Language: zh_CN MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2010-02-14 12:56+0000 X-Generator: Launchpad (build Unknown) 使用 gattrib 操作组件的属性gEDA 属性编辑器geda-gaf-1.8.2/gattrib/po/es.po0000664000175000017500000000172612220655646013137 00000000000000# Spanish/Spain translation of gattrib # Copyright (C) 2007-2008 Carlos Nieves Ónega # This file is distributed under the same license as the gattrib package. # Carlos Nieves Ónega , 2007. # # # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2010-01-29 16:49+0000\n" "Last-Translator: Carlos Nieves Ónega \n" "Language-Team: gEDA developers \n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2010-02-14 12:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: gattrib/data/geda-gattrib.desktop.in:3 msgid "gEDA Attribute Editor" msgstr "Editor de Propiedades de gEDA" #: gattrib/data/geda-gattrib.desktop.in:4 msgid "Manipulate component attributes with gattrib" msgstr "Manejar propiedades de componentes con gattrib" geda-gaf-1.8.2/gattrib/po/LINGUAS0000664000175000017500000000015112204177070013174 00000000000000af ar bg bs ca da de el en_GB es fa fr gl hu it ja ml nb nl oc pl pt pt_BR ru sl sr sv tr uk zh_CN zh_TW geda-gaf-1.8.2/gattrib/po/es.gmo0000664000175000017500000000124412220655646013276 000000000000004L`,a.WManipulate component attributes with gattribgEDA Attribute EditorProject-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2010-01-29 16:49+0000 Last-Translator: Carlos Nieves Ónega Language-Team: gEDA developers Language: es MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2010-02-14 12:56+0000 X-Generator: Launchpad (build Unknown) Manejar propiedades de componentes con gattribEditor de Propiedades de gEDAgeda-gaf-1.8.2/gattrib/po/gl.po0000664000175000017500000000165012220655646013126 00000000000000# Galician translation for geda # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-03-21 00:09+0000\n" "Last-Translator: ghas \n" "Language-Team: Galician \n" "Language: gl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: gattrib/data/geda-gattrib.desktop.in:3 msgid "gEDA Attribute Editor" msgstr "Editor de atributos gEDA" #: gattrib/data/geda-gattrib.desktop.in:4 msgid "Manipulate component attributes with gattrib" msgstr "Manipular atributos de compoñentes con gattrib" geda-gaf-1.8.2/gattrib/po/bg.po0000664000175000017500000000176512220655646013123 00000000000000# Bulgarian translation for geda # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2010-02-06 22:09+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: gEDA developers \n" "Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2010-02-14 12:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: gattrib/data/geda-gattrib.desktop.in:3 msgid "gEDA Attribute Editor" msgstr "gEDA Едитор на атрибути" #: gattrib/data/geda-gattrib.desktop.in:4 msgid "Manipulate component attributes with gattrib" msgstr "Манипулирай атрибутите на компонента с gattrib" geda-gaf-1.8.2/gattrib/po/ja.gmo0000664000175000017500000000072612220655647013266 00000000000000$,89Project-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-01-27 14:17+0000 Last-Translator: FULL NAME Language-Team: Japanese Language: ja MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) geda-gaf-1.8.2/gattrib/po/geda-gattrib.pot0000664000175000017500000000140512220651641015227 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR gEDA Developers # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" #: gattrib/data/geda-gattrib.desktop.in:3 msgid "gEDA Attribute Editor" msgstr "" #: gattrib/data/geda-gattrib.desktop.in:4 msgid "Manipulate component attributes with gattrib" msgstr "" geda-gaf-1.8.2/gattrib/po/bg.gmo0000664000175000017500000000131312220655646013254 000000000000004L`,aPR'Manipulate component attributes with gattribgEDA Attribute EditorProject-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2010-02-06 22:09+0000 Last-Translator: FULL NAME Language-Team: gEDA developers Language: bg MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2010-02-14 12:56+0000 X-Generator: Launchpad (build Unknown) Манипулирай атрибутите на компонента с gattribgEDA Едитор на атрибутиgeda-gaf-1.8.2/gattrib/po/ar.po0000664000175000017500000000200712220655646013123 00000000000000# Arabic translation for geda # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the geda package. # عبدالله شلي (Abdellah Chelli) , 2010. msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2010-02-08 18:58+0000\n" "Last-Translator: عبدالله شلي (Abdellah Chelli) \n" "Language-Team: gEDA developers \n" "Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2010-02-14 12:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: gattrib/data/geda-gattrib.desktop.in:3 msgid "gEDA Attribute Editor" msgstr "محرّر السّمة ل‍ gEDA" #: gattrib/data/geda-gattrib.desktop.in:4 msgid "Manipulate component attributes with gattrib" msgstr "عالج سمات المكوّن ب‍ gattrib" geda-gaf-1.8.2/gattrib/po/sr.po0000664000175000017500000000174712220655646013157 00000000000000# Serbian translation for geda # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-01-27 14:17+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Serbian \n" "Language: sr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: gattrib/data/geda-gattrib.desktop.in:3 msgid "gEDA Attribute Editor" msgstr "гЕДА — уређивач особина" #: gattrib/data/geda-gattrib.desktop.in:4 msgid "Manipulate component attributes with gattrib" msgstr "Управљајте особинама компоненти гособинком" geda-gaf-1.8.2/gattrib/po/nb.po0000664000175000017500000000164712220655646013131 00000000000000# Norwegian Bokmal translation for geda # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-01-27 14:17+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Norwegian Bokmal \n" "Language: nb\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: gattrib/data/geda-gattrib.desktop.in:3 msgid "gEDA Attribute Editor" msgstr "" #: gattrib/data/geda-gattrib.desktop.in:4 msgid "Manipulate component attributes with gattrib" msgstr "Manipuler komponent attributter med gattrib" geda-gaf-1.8.2/gattrib/po/sl.gmo0000664000175000017500000000124012220655647013302 000000000000004L`,a.VManipulate component attributes with gattribgEDA Attribute EditorProject-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-04-09 11:22+0000 Last-Translator: Miha Gašperšič Language-Team: Slovenian Language: sl MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) Upravljajte atribute sestavnih delov z gattribgEDA urejevalnik atributovgeda-gaf-1.8.2/gattrib/po/oc.po0000664000175000017500000000171012220655646013122 00000000000000# Occitan (post 1500) translation for geda # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-01-27 14:17+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Occitan (post 1500) \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: gattrib/data/geda-gattrib.desktop.in:3 msgid "gEDA Attribute Editor" msgstr "Editor d'atributs gEDA" #: gattrib/data/geda-gattrib.desktop.in:4 msgid "Manipulate component attributes with gattrib" msgstr "Manipular los atributs dels components amb gattrib" geda-gaf-1.8.2/gattrib/po/ml.gmo0000664000175000017500000000153412220655647013302 000000000000004L`,aRfManipulate component attributes with gattribgEDA Attribute EditorProject-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2010-02-06 22:10+0000 Last-Translator: FULL NAME Language-Team: gEDA developers Language: ml MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2010-02-14 12:56+0000 X-Generator: Launchpad (build Unknown) gattrib ഉപയോഗിച്ച് കമ്പോണന്ടിന്റെ സവിശേഷതകള്‍ മാറ്റം വരുത്തുകgEDA യുടെ കമ്പോണന്‍ടു സവിശേഷത എഡിറ്റര്‍geda-gaf-1.8.2/gattrib/po/uk.po0000664000175000017500000000174512220655646013150 00000000000000# Ukrainian translation for geda # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-01-27 14:17+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Ukrainian \n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: gattrib/data/geda-gattrib.desktop.in:3 msgid "gEDA Attribute Editor" msgstr "gEDA Attribute Editor" #: gattrib/data/geda-gattrib.desktop.in:4 msgid "Manipulate component attributes with gattrib" msgstr "Керувати властивостями компонентів за допомогою gattrib" geda-gaf-1.8.2/gattrib/po/zh_CN.po0000664000175000017500000000170412220655646013525 00000000000000# Chinese (Simplified) translation for geda # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2010-02-06 22:10+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: gEDA developers \n" "Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2010-02-14 12:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: gattrib/data/geda-gattrib.desktop.in:3 msgid "gEDA Attribute Editor" msgstr "gEDA 属性编辑器" #: gattrib/data/geda-gattrib.desktop.in:4 msgid "Manipulate component attributes with gattrib" msgstr "使用 gattrib 操作组件的属性" geda-gaf-1.8.2/gattrib/po/Makefile.in.in0000644000175000017500000003714412220651542014632 00000000000000# Makefile for PO directory in any package using GNU gettext. # Copyright (C) 1995-1997, 2000-2006 by Ulrich Drepper # # This file can be copied and used freely without restrictions. It can # be used in projects which are not available under the GNU General Public # License but which still want to provide support for the GNU gettext # functionality. # Please note that the actual code of GNU gettext is covered by the GNU # General Public License and is *not* in the public domain. # # Origin: gettext-0.16 PACKAGE = @PACKAGE@ VERSION = @VERSION@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ SHELL = /bin/sh @SET_MAKE@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ datarootdir = @datarootdir@ datadir = @datadir@ localedir = @localedir@ gettextsrcdir = $(datadir)/gettext/po INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ # We use $(mkdir_p). # In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as # "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions, # @install_sh@ does not start with $(SHELL), so we add it. # In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined # either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake # versions, $(mkinstalldirs) and $(install_sh) are unused. mkinstalldirs = $(SHELL) @install_sh@ -d install_sh = $(SHELL) @install_sh@ MKDIR_P = @MKDIR_P@ mkdir_p = @mkdir_p@ GMSGFMT_ = @GMSGFMT@ GMSGFMT_no = @GMSGFMT@ GMSGFMT_yes = @GMSGFMT_015@ GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT)) MSGFMT_ = @MSGFMT@ MSGFMT_no = @MSGFMT@ MSGFMT_yes = @MSGFMT_015@ MSGFMT = $(MSGFMT_$(USE_MSGCTXT)) XGETTEXT_ = @XGETTEXT@ XGETTEXT_no = @XGETTEXT@ XGETTEXT_yes = @XGETTEXT_015@ XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT)) MSGMERGE = msgmerge MSGMERGE_UPDATE = @MSGMERGE@ --update MSGINIT = msginit MSGCONV = msgconv MSGFILTER = msgfilter POFILES = @POFILES@ GMOFILES = @GMOFILES@ UPDATEPOFILES = @UPDATEPOFILES@ DUMMYPOFILES = @DUMMYPOFILES@ DISTFILES.common = Makefile.in.in remove-potcdate.sin \ $(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3) DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \ $(POFILES) $(GMOFILES) \ $(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3) POTFILES = \ CATALOGS = @CATALOGS@ # Makevars gets inserted here. (Don't remove this line!) .SUFFIXES: .SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update .po.mo: @echo "$(MSGFMT) -c -o $@ $<"; \ $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ .po.gmo: @lang=`echo $* | sed -e 's,.*/,,'`; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o $${lang}.gmo $${lang}.po"; \ cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo .sin.sed: sed -e '/^#/d' $< > t-$@ mv t-$@ $@ all: all-@USE_NLS@ all-yes: stamp-po all-no: # $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no # internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because # we don't want to bother translators with empty POT files). We assume that # LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty. # In this case, stamp-po is a nop (i.e. a phony target). # stamp-po is a timestamp denoting the last time at which the CATALOGS have # been loosely updated. Its purpose is that when a developer or translator # checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, # "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent # invocations of "make" will do nothing. This timestamp would not be necessary # if updating the $(CATALOGS) would always touch them; however, the rule for # $(POFILES) has been designed to not touch files that don't need to be # changed. stamp-po: $(srcdir)/$(DOMAIN).pot test ! -f $(srcdir)/$(DOMAIN).pot || \ test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) @test ! -f $(srcdir)/$(DOMAIN).pot || { \ echo "touch stamp-po" && \ echo timestamp > stamp-poT && \ mv stamp-poT stamp-po; \ } # Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', # otherwise packages like GCC can not be built if only parts of the source # have been downloaded. # This target rebuilds $(DOMAIN).pot; it is an expensive operation. # Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \ msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ else \ msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ fi; \ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \ --files-from=$(srcdir)/POTFILES.in \ --copyright-holder='$(COPYRIGHT_HOLDER)' \ --msgid-bugs-address="$$msgid_bugs_address" test ! -f $(DOMAIN).po || { \ if test -f $(srcdir)/$(DOMAIN).pot; then \ sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ else \ rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ fi; \ else \ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ fi; \ } # This rule has no dependencies: we don't need to update $(DOMAIN).pot at # every "make" invocation, only create it when it is missing. # Only "make $(DOMAIN).pot-update" or "make dist" will force an update. $(srcdir)/$(DOMAIN).pot: $(MAKE) $(DOMAIN).pot-update # This target rebuilds a PO file if $(DOMAIN).pot has changed. # Note that a PO file is not touched if it doesn't need to be changed. $(POFILES): $(srcdir)/$(DOMAIN).pot @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ if test -f "$(srcdir)/$${lang}.po"; then \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \ cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot; \ else \ $(MAKE) $${lang}.po-create; \ fi install: install-exec install-data install-exec: install-data: install-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ for file in $(DISTFILES.common) Makevars.template; do \ $(INSTALL_DATA) $(srcdir)/$$file \ $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ for file in Makevars; do \ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ else \ : ; \ fi install-data-no: all install-data-yes: all $(mkdir_p) $(DESTDIR)$(datadir) @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ dir=$(localedir)/$$lang/LC_MESSAGES; \ $(mkdir_p) $(DESTDIR)$$dir; \ if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ if test -n "$$lc"; then \ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ for file in *; do \ if test -f $$file; then \ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ fi; \ done); \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ else \ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ :; \ else \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ fi; \ fi; \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \ fi; \ done; \ done install-strip: install installdirs: installdirs-exec installdirs-data installdirs-exec: installdirs-data: installdirs-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ else \ : ; \ fi installdirs-data-no: installdirs-data-yes: $(mkdir_p) $(DESTDIR)$(datadir) @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ dir=$(localedir)/$$lang/LC_MESSAGES; \ $(mkdir_p) $(DESTDIR)$$dir; \ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ if test -n "$$lc"; then \ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ for file in *; do \ if test -f $$file; then \ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ fi; \ done); \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ else \ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ :; \ else \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ fi; \ fi; \ fi; \ done; \ done # Define this as empty until I found a useful application. installcheck: uninstall: uninstall-exec uninstall-data uninstall-exec: uninstall-data: uninstall-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ for file in $(DISTFILES.common) Makevars.template; do \ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ else \ : ; \ fi uninstall-data-no: uninstall-data-yes: catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ done; \ done check: all info dvi ps pdf html tags TAGS ctags CTAGS ID: mostlyclean: rm -f remove-potcdate.sed rm -f stamp-poT rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po rm -fr *.o clean: mostlyclean distclean: clean rm -f Makefile Makefile.in POTFILES *.mo maintainer-clean: distclean @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." rm -f stamp-po $(GMOFILES) distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) dist distdir: $(MAKE) update-po @$(MAKE) dist2 # This is a separate target because 'update-po' must be executed before. dist2: stamp-po $(DISTFILES) dists="$(DISTFILES)"; \ if test "$(PACKAGE)" = "gettext-tools"; then \ dists="$$dists Makevars.template"; \ fi; \ if test -f $(srcdir)/$(DOMAIN).pot; then \ dists="$$dists $(DOMAIN).pot stamp-po"; \ fi; \ if test -f $(srcdir)/ChangeLog; then \ dists="$$dists ChangeLog"; \ fi; \ for i in 0 1 2 3 4 5 6 7 8 9; do \ if test -f $(srcdir)/ChangeLog.$$i; then \ dists="$$dists ChangeLog.$$i"; \ fi; \ done; \ if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \ for file in $$dists; do \ if test -f $$file; then \ cp -p $$file $(distdir) || exit 1; \ else \ cp -p $(srcdir)/$$file $(distdir) || exit 1; \ fi; \ done update-po: Makefile $(MAKE) $(DOMAIN).pot-update test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) $(MAKE) update-gmo # General rule for creating PO files. .nop.po-create: @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ exit 1 # General rule for updating PO files. .nop.po-update: @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \ tmpdir=`pwd`; \ echo "$$lang:"; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}$(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ cd $(srcdir); \ if $(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$tmpdir/$$lang.new.po; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ exit 1; \ fi; \ fi; \ else \ echo "msgmerge for $$lang.po failed!" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ fi $(DUMMYPOFILES): update-gmo: Makefile $(GMOFILES) @: Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@ cd $(top_builddir) \ && $(SHELL) ./config.status $(subdir)/$@.in po-directories force: # Tell versions [3.59,3.63) of GNU make not to export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: # DESKTOP_I18N_RULES (Do not edit or remove this line) ##################################################################### # Makefile rules needed by the desktop-i18n tool. # Copyright (C) 2009-2010 Peter Brett # Copyright (C) 2010 Dan McMahill # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA top_builddir = @top_builddir@ MKDIR_P = @MKDIR_P@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ # We need to temporarily install the localisation files somewhere so # that desktop-i18n --create can look up messages in them. We recreate # the timestamp before *and* after running 'make install' so that the # make doesn't go into an infinite loop! all: stamp-i18n stamp-i18n: $(DESKTOP_I18N_LOCALE_DIR) stamp-po Makefile @echo timestamp > stamp-i18nT && mv stamp-i18nT stamp-i18n $(MAKE) prefix=$(DESKTOP_I18N_LOCALE_DIR) localedir=$(DESKTOP_I18N_LOCALE_DIR)/share/locale DESTDIR= install && cp $(srcdir)/LINGUAS $(DESKTOP_I18N_LOCALE_DIR)/$(DOMAIN).LINGUAS || rm stamp-i18n @echo timestamp > stamp-i18nT && mv stamp-i18nT stamp-i18n $(DESKTOP_I18N_LOCALE_DIR): $(MKDIR_P) $(DESKTOP_I18N_LOCALE_DIR) clean: clean-i18n clean-i18n: -rm -rf $(DESKTOP_I18N_LOCALE_DIR) stamp-i18n # End of desktop-i18n rules ##################################################################### geda-gaf-1.8.2/gattrib/po/zh_TW.gmo0000664000175000017500000000121212220655647013716 000000000000004L`,aUuManipulate component attributes with gattribgEDA Attribute EditorProject-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2010-02-06 22:10+0000 Last-Translator: FULL NAME Language-Team: gEDA developers Language: zh_TW MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2010-02-14 12:56+0000 X-Generator: Launchpad (build Unknown) 使用gattrib修改元件屬性gEDA 屬性編輯器geda-gaf-1.8.2/gattrib/po/zh_TW.po0000664000175000017500000000170012220655646013553 00000000000000# Chinese (Traditional) translation for geda # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2010-02-06 22:10+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: gEDA developers \n" "Language: zh_TW\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2010-02-14 12:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: gattrib/data/geda-gattrib.desktop.in:3 msgid "gEDA Attribute Editor" msgstr "gEDA 屬性編輯器" #: gattrib/data/geda-gattrib.desktop.in:4 msgid "Manipulate component attributes with gattrib" msgstr "使用gattrib修改元件屬性" geda-gaf-1.8.2/gattrib/po/pt.po0000664000175000017500000000170612220655646013151 00000000000000# Portuguese translation for geda # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2010-02-06 22:10+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: gEDA developers \n" "Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2010-02-14 12:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: gattrib/data/geda-gattrib.desktop.in:3 msgid "gEDA Attribute Editor" msgstr "Editor de Atributos gEDA" #: gattrib/data/geda-gattrib.desktop.in:4 msgid "Manipulate component attributes with gattrib" msgstr "Manipular atributos dos componentes com gattrib" geda-gaf-1.8.2/gattrib/po/insert-header.sin0000644000175000017500000000124012210331572015406 00000000000000# Sed script that inserts the file called HEADER before the header entry. # # At each occurrence of a line starting with "msgid ", we execute the following # commands. At the first occurrence, insert the file. At the following # occurrences, do nothing. The distinction between the first and the following # occurrences is achieved by looking at the hold space. /^msgid /{ x # Test if the hold space is empty. s/m/m/ ta # Yes it was empty. First occurrence. Read the file. r HEADER # Output the file's contents by reading the next line. But don't lose the # current line while doing this. g N bb :a # The hold space was nonempty. Following occurrences. Do nothing. x :b } geda-gaf-1.8.2/gattrib/po/POTFILES.in0000664000175000017500000000004512220647257013735 00000000000000gattrib/data/geda-gattrib.desktop.in geda-gaf-1.8.2/gattrib/po/bs.gmo0000664000175000017500000000121312220655646013267 000000000000004L`,a1@rManipulate component attributes with gattribgEDA Attribute EditorProject-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-01-27 14:17+0000 Last-Translator: FULL NAME Language-Team: Bosnian Language: bs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) Upravljajte atributima komponenti pomoću gattribgEDA uređivač atributageda-gaf-1.8.2/gattrib/po/ml.po0000664000175000017500000000220612220655646013132 00000000000000# Malayalam translation for geda # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2010-02-06 22:10+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: gEDA developers \n" "Language: ml\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2010-02-14 12:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: gattrib/data/geda-gattrib.desktop.in:3 msgid "gEDA Attribute Editor" msgstr "gEDA യുടെ കമ്പോണന്‍ടു സവിശേഷത എഡിറ്റര്‍" #: gattrib/data/geda-gattrib.desktop.in:4 msgid "Manipulate component attributes with gattrib" msgstr "gattrib ഉപയോഗിച്ച് കമ്പോണന്ടിന്റെ സവിശേഷതകള്‍ മാറ്റം വരുത്തുക" geda-gaf-1.8.2/gattrib/po/Rules-quot0000644000175000017500000000337612210331571014157 00000000000000# Special Makefile rules for English message catalogs with quotation marks. DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot .SUFFIXES: .insert-header .po-update-en en@quot.po-create: $(MAKE) en@quot.po-update en@boldquot.po-create: $(MAKE) en@boldquot.po-update en@quot.po-update: en@quot.po-update-en en@boldquot.po-update: en@boldquot.po-update-en .insert-header.po-update-en: @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \ if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \ tmpdir=`pwd`; \ echo "$$lang:"; \ ll=`echo $$lang | sed -e 's/@.*//'`; \ LC_ALL=C; export LC_ALL; \ cd $(srcdir); \ if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$ll -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ exit 1; \ fi; \ fi; \ else \ echo "creation of $$lang.po failed!" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ fi en@quot.insert-header: insert-header.sin sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header en@boldquot.insert-header: insert-header.sin sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header mostlyclean: mostlyclean-quot mostlyclean-quot: rm -f *.insert-header geda-gaf-1.8.2/gattrib/po/pl.gmo0000664000175000017500000000122712220655647013304 000000000000004L`,a-RManipulate component attributes with gattribgEDA Attribute EditorProject-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2010-02-06 22:09+0000 Last-Translator: FULL NAME Language-Team: gEDA developers Language: pl MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2010-02-14 12:56+0000 X-Generator: Launchpad (build Unknown) Edytuj atrybuty elementów za pomocą gattribgEDA Edytor atrybutówgeda-gaf-1.8.2/gattrib/po/sr.gmo0000664000175000017500000000127712220655647013322 000000000000004L`,aQ@,Manipulate component attributes with gattribgEDA Attribute EditorProject-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-01-27 14:17+0000 Last-Translator: FULL NAME Language-Team: Serbian Language: sr MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) Управљајте особинама компоненти гособинкомгЕДА — уређивач особинаgeda-gaf-1.8.2/gattrib/po/da.gmo0000664000175000017500000000110212220655646013244 00000000000000,<P,Q~(Manipulate component attributes with gattribProject-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-01-27 14:17+0000 Last-Translator: FULL NAME Language-Team: Danish Language: da MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) Ændre komponent attributter med gattribgeda-gaf-1.8.2/gattrib/po/ca.gmo0000664000175000017500000000120712220655646013251 000000000000004L`,a/@pManipulate component attributes with gattribgEDA Attribute EditorProject-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-01-27 14:17+0000 Last-Translator: FULL NAME Language-Team: Catalan Language: ca MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) Manipuleu atributs de components amb el gattribEditor d'atributs gEDAgeda-gaf-1.8.2/gattrib/po/hu.gmo0000664000175000017500000000125412220655646013304 000000000000004L`,a=RManipulate component attributes with gattribgEDA Attribute EditorProject-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2010-02-06 22:10+0000 Last-Translator: FULL NAME Language-Team: gEDA developers Language: hu MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2010-02-14 12:56+0000 X-Generator: Launchpad (build Unknown) Alkatrészattribútumok szerkesztése gattrib segítségévelgEDA attribútumszerkesztőgeda-gaf-1.8.2/gattrib/po/en_GB.gmo0000664000175000017500000000122512220655646013640 000000000000004L`,a,RManipulate component attributes with gattribgEDA Attribute EditorProject-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-01-27 14:17+0000 Last-Translator: FULL NAME Language-Team: English (United Kingdom) Language: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) Manipulate component attributes with gattribgEDA Attribute Editorgeda-gaf-1.8.2/gattrib/po/af.po0000664000175000017500000000155612220655646013117 00000000000000# Afrikaans translation for geda # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-01-27 14:17+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Afrikaans \n" "Language: af\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: gattrib/data/geda-gattrib.desktop.in:3 msgid "gEDA Attribute Editor" msgstr "" #: gattrib/data/geda-gattrib.desktop.in:4 msgid "Manipulate component attributes with gattrib" msgstr "" geda-gaf-1.8.2/gattrib/po/ChangeLog0000664000175000017500000000000012204177070013712 00000000000000geda-gaf-1.8.2/gattrib/po/nl.gmo0000664000175000017500000000133512220655647013302 000000000000004L`,a-Manipulate component attributes with gattribgEDA Attribute EditorProject-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-01-18 14:31+0100 Last-Translator: Bert Timmerman Language-Team: gEDA developers Language: nl MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2010-02-14 12:56+0000 X-Generator: Launchpad (build Unknown) X-Poedit-Country: NETHERLANDS X-Poedit-Language: Dutch Manipuleer componenten attributen met gattribgEDA Attribuut Editorgeda-gaf-1.8.2/gattrib/po/ru.po0000664000175000017500000000204312220655646013147 00000000000000# Russian translation for gEDA gattrib # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the geda package. # # Vladimir Zhbanov , 2011. # msgid "" msgstr "" "Project-Id-Version: geda gattrib\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2011-12-28 23:57+0400\n" "Last-Translator: Vladimir Zhbanov \n" "Language-Team: gEDA developers \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2010-02-14 12:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: gattrib/data/geda-gattrib.desktop.in:3 msgid "gEDA Attribute Editor" msgstr "Редактор атрибутов gEDA" #: gattrib/data/geda-gattrib.desktop.in:4 msgid "Manipulate component attributes with gattrib" msgstr "Управление атрибутами компонента с помощью gattrib" geda-gaf-1.8.2/gattrib/po/nb.gmo0000664000175000017500000000111712220655647013266 00000000000000,<P,Q~+#Manipulate component attributes with gattribProject-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-01-27 14:17+0000 Last-Translator: FULL NAME Language-Team: Norwegian Bokmal Language: nb MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) Manipuler komponent attributter med gattribgeda-gaf-1.8.2/gattrib/po/remove-potcdate.sin0000644000175000017500000000066012210331572015757 00000000000000# Sed script that remove the POT-Creation-Date line in the header entry # from a POT file. # # The distinction between the first and the following occurrences of the # pattern is achieved by looking at the hold space. /^"POT-Creation-Date: .*"$/{ x # Test if the hold space is empty. s/P/P/ ta # Yes it was empty. First occurrence. Remove the line. g d bb :a # The hold space was nonempty. Following occurrences. Do nothing. x :b } geda-gaf-1.8.2/gattrib/po/gl.gmo0000664000175000017500000000117712220655646013276 000000000000004L`,a/6fManipulate component attributes with gattribgEDA Attribute EditorProject-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-03-21 00:09+0000 Last-Translator: ghas Language-Team: Galician Language: gl MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) Manipular atributos de compoñentes con gattribEditor de atributos gEDAgeda-gaf-1.8.2/gattrib/po/fr.gmo0000664000175000017500000000124012220655646013272 000000000000004L`,a3RManipulate component attributes with gattribgEDA Attribute EditorProject-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2010-02-06 22:09+0000 Last-Translator: FULL NAME Language-Team: gEDA developers Language: fr MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2010-02-14 12:56+0000 X-Generator: Launchpad (build Unknown) Manipuler les attributs des composants avec gattribÉditeur d'attributs gEDAgeda-gaf-1.8.2/gattrib/po/pl.po0000664000175000017500000000167612220655646013147 00000000000000# Polish translation for geda # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2010-02-06 22:09+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: gEDA developers \n" "Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2010-02-14 12:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: gattrib/data/geda-gattrib.desktop.in:3 msgid "gEDA Attribute Editor" msgstr "gEDA Edytor atrybutów" #: gattrib/data/geda-gattrib.desktop.in:4 msgid "Manipulate component attributes with gattrib" msgstr "Edytuj atrybuty elementów za pomocą gattrib" geda-gaf-1.8.2/gattrib/po/pt_BR.po0000664000175000017500000000172712220655646013537 00000000000000# Brazilian Portuguese translation for geda # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2010-02-06 22:10+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: gEDA developers \n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2010-02-14 12:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: gattrib/data/geda-gattrib.desktop.in:3 msgid "gEDA Attribute Editor" msgstr "Editor de atributos gEDA" #: gattrib/data/geda-gattrib.desktop.in:4 msgid "Manipulate component attributes with gattrib" msgstr "Manipule os atributos dos componentes com o gattrib" geda-gaf-1.8.2/gattrib/po/stamp-po0000664000175000017500000000001212220651642013626 00000000000000timestamp geda-gaf-1.8.2/gattrib/po/ar.gmo0000664000175000017500000000127412220655646013274 000000000000004L`,a.j"Manipulate component attributes with gattribgEDA Attribute EditorProject-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2010-02-08 18:58+0000 Last-Translator: عبدالله شلي (Abdellah Chelli) Language-Team: gEDA developers Language: ar MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2010-02-14 12:56+0000 X-Generator: Launchpad (build Unknown) عالج سمات المكوّن ب‍ gattribمحرّر السّمة ل‍ gEDAgeda-gaf-1.8.2/gattrib/po/sv.gmo0000664000175000017500000000120112220655647013311 000000000000004L`,a(@iManipulate component attributes with gattribgEDA Attribute EditorProject-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-01-27 14:17+0000 Last-Translator: FULL NAME Language-Team: Swedish Language: sv MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) Manipulera komponentattribut med gattribgEDA-attributredigeraregeda-gaf-1.8.2/gattrib/po/nl.po0000664000175000017500000000217412220655646013137 00000000000000# Dutch translation for the geda-gattrib package. # Copyright (C) 2003-2008 Stuart D. Brorson and the respective original authors (which are listed on the respective files). # This file is distributed under the same license as the geda-gattrib package. # Bert Timmerman , 2007, 2008, 2012. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-01-18 14:31+0100\n" "Last-Translator: Bert Timmerman \n" "Language-Team: gEDA developers \n" "Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2010-02-14 12:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" "X-Poedit-Country: NETHERLANDS\n" "X-Poedit-Language: Dutch\n" #: gattrib/data/geda-gattrib.desktop.in:3 msgid "gEDA Attribute Editor" msgstr "gEDA Attribuut Editor" #: gattrib/data/geda-gattrib.desktop.in:4 msgid "Manipulate component attributes with gattrib" msgstr "Manipuleer componenten attributen met gattrib" geda-gaf-1.8.2/gattrib/po/el.po0000664000175000017500000000177712220655646013136 00000000000000# Greek translation for geda # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-09-01 18:26+0000\n" "Last-Translator: Panos Bouklis \n" "Language-Team: Greek \n" "Language: el\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: gattrib/data/geda-gattrib.desktop.in:3 msgid "gEDA Attribute Editor" msgstr "Επεξεργαστής γνωρισμάτων gEDA" #: gattrib/data/geda-gattrib.desktop.in:4 msgid "Manipulate component attributes with gattrib" msgstr "Έλεγχος των γνωρισμάτων των στοιχείων με το gattrib" geda-gaf-1.8.2/gattrib/po/sv.po0000664000175000017500000000165112220655646013155 00000000000000# Swedish translation for geda # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-01-27 14:17+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Swedish \n" "Language: sv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: gattrib/data/geda-gattrib.desktop.in:3 msgid "gEDA Attribute Editor" msgstr "gEDA-attributredigerare" #: gattrib/data/geda-gattrib.desktop.in:4 msgid "Manipulate component attributes with gattrib" msgstr "Manipulera komponentattribut med gattrib" geda-gaf-1.8.2/gattrib/po/ca.po0000664000175000017500000000165712220655646013116 00000000000000# Catalan translation for geda # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-01-27 14:17+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Catalan \n" "Language: ca\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: gattrib/data/geda-gattrib.desktop.in:3 msgid "gEDA Attribute Editor" msgstr "Editor d'atributs gEDA" #: gattrib/data/geda-gattrib.desktop.in:4 msgid "Manipulate component attributes with gattrib" msgstr "Manipuleu atributs de components amb el gattrib" geda-gaf-1.8.2/gattrib/po/ja.po0000664000175000017500000000155412220655646013121 00000000000000# Japanese translation for geda # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-01-27 14:17+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Japanese \n" "Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: gattrib/data/geda-gattrib.desktop.in:3 msgid "gEDA Attribute Editor" msgstr "" #: gattrib/data/geda-gattrib.desktop.in:4 msgid "Manipulate component attributes with gattrib" msgstr "" geda-gaf-1.8.2/gattrib/po/uk.gmo0000664000175000017500000000127312220655647013311 000000000000004L`,abBManipulate component attributes with gattribgEDA Attribute EditorProject-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-01-27 14:17+0000 Last-Translator: FULL NAME Language-Team: Ukrainian Language: uk MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) Керувати властивостями компонентів за допомогою gattribgEDA Attribute Editorgeda-gaf-1.8.2/gattrib/po/en@boldquot.header0000644000175000017500000000247112210331571015575 00000000000000# All this catalog "translates" are quotation characters. # The msgids must be ASCII and therefore cannot contain real quotation # characters, only substitutes like grave accent (0x60), apostrophe (0x27) # and double quote (0x22). These substitutes look strange; see # http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html # # This catalog translates grave accent (0x60) and apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019). # It also translates pairs of apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019) # and pairs of quotation mark (0x22) to # left double quotation mark (U+201C) and right double quotation mark (U+201D). # # When output to an UTF-8 terminal, the quotation characters appear perfectly. # When output to an ISO-8859-1 terminal, the single quotation marks are # transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to # grave/acute accent (by libiconv), and the double quotation marks are # transliterated to 0x22. # When output to an ASCII terminal, the single quotation marks are # transliterated to apostrophes, and the double quotation marks are # transliterated to 0x22. # # This catalog furthermore displays the text between the quotation marks in # bold face, assuming the VT100/XTerm escape sequences. # geda-gaf-1.8.2/gattrib/po/Makevars0000664000175000017500000000346012220647257013660 00000000000000# Makefile variables for PO directory in any package using GNU gettext. # Usually the message domain is the same as the package name. DOMAIN = geda-gattrib # These two variables depend on the location of this directory. subdir = gattrib/po top_builddir = ../.. # These options get passed to xgettext. XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ --from-code=UTF-8 # This is the copyright holder that gets inserted into the header of the # $(DOMAIN).pot file. Set this to the copyright holder of the surrounding # package. (Note that the msgstr strings, extracted from the package's # sources, belong to the copyright holder of the package.) Translators are # expected to transfer the copyright for their translations to this person # or entity, or to disclaim their copyright. The empty string stands for # the public domain; in this case the translators are expected to disclaim # their copyright. COPYRIGHT_HOLDER = gEDA Developers # This is the email address or URL to which the translators shall report # bugs in the untranslated strings: # - Strings which are not entire sentences, see the maintainer guidelines # in the GNU gettext documentation, section 'Preparing Strings'. # - Strings which use unclear terms or require additional context to be # understood. # - Strings which make invalid assumptions about notation of date, time or # money. # - Pluralisation problems. # - Incorrect English spelling. # - Incorrect formatting. # It can be your email address, or a mailing list address where translators # can write to without being subscribed, or the URL of a web page through # which the translators can contact you. MSGID_BUGS_ADDRESS = geda-bug@seul.org # This is the list of locale categories, beyond LC_MESSAGES, for which the # message catalogs shall be used. It is usually empty. EXTRA_LOCALE_CATEGORIES = geda-gaf-1.8.2/gattrib/po/en_GB.po0000664000175000017500000000171612220655646013501 00000000000000# English (United Kingdom) translation for geda # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-01-27 14:17+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: English (United Kingdom) \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: gattrib/data/geda-gattrib.desktop.in:3 msgid "gEDA Attribute Editor" msgstr "gEDA Attribute Editor" #: gattrib/data/geda-gattrib.desktop.in:4 msgid "Manipulate component attributes with gattrib" msgstr "Manipulate component attributes with gattrib" geda-gaf-1.8.2/gattrib/po/hu.po0000664000175000017500000000172612220655646013144 00000000000000# Hungarian translation for geda # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2010-02-06 22:10+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: gEDA developers \n" "Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2010-02-14 12:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: gattrib/data/geda-gattrib.desktop.in:3 msgid "gEDA Attribute Editor" msgstr "gEDA attribútumszerkesztő" #: gattrib/data/geda-gattrib.desktop.in:4 msgid "Manipulate component attributes with gattrib" msgstr "Alkatrészattribútumok szerkesztése gattrib segítségével" geda-gaf-1.8.2/gattrib/po/en@quot.header0000644000175000017500000000226312210331572014734 00000000000000# All this catalog "translates" are quotation characters. # The msgids must be ASCII and therefore cannot contain real quotation # characters, only substitutes like grave accent (0x60), apostrophe (0x27) # and double quote (0x22). These substitutes look strange; see # http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html # # This catalog translates grave accent (0x60) and apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019). # It also translates pairs of apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019) # and pairs of quotation mark (0x22) to # left double quotation mark (U+201C) and right double quotation mark (U+201D). # # When output to an UTF-8 terminal, the quotation characters appear perfectly. # When output to an ISO-8859-1 terminal, the single quotation marks are # transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to # grave/acute accent (by libiconv), and the double quotation marks are # transliterated to 0x22. # When output to an ASCII terminal, the single quotation marks are # transliterated to apostrophes, and the double quotation marks are # transliterated to 0x22. # geda-gaf-1.8.2/gattrib/po/da.po0000664000175000017500000000162012220655646013105 00000000000000# Danish translation for geda # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-01-27 14:17+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Danish \n" "Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: gattrib/data/geda-gattrib.desktop.in:3 msgid "gEDA Attribute Editor" msgstr "" #: gattrib/data/geda-gattrib.desktop.in:4 msgid "Manipulate component attributes with gattrib" msgstr "Ændre komponent attributter med gattrib" geda-gaf-1.8.2/gattrib/po/bs.po0000664000175000017500000000166312220655646013134 00000000000000# Bosnian translation for geda # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-01-27 14:17+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Bosnian \n" "Language: bs\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: gattrib/data/geda-gattrib.desktop.in:3 msgid "gEDA Attribute Editor" msgstr "gEDA uređivač atributa" #: gattrib/data/geda-gattrib.desktop.in:4 msgid "Manipulate component attributes with gattrib" msgstr "Upravljajte atributima komponenti pomoću gattrib" geda-gaf-1.8.2/gattrib/po/el.gmo0000664000175000017500000000133112220655646013264 000000000000004L`,aXK4Manipulate component attributes with gattribgEDA Attribute EditorProject-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-09-01 18:26+0000 Last-Translator: Panos Bouklis Language-Team: Greek Language: el MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) Έλεγχος των γνωρισμάτων των στοιχείων με το gattribΕπεξεργαστής γνωρισμάτων gEDAgeda-gaf-1.8.2/gattrib/po/de.gmo0000664000175000017500000000122712220655646013260 000000000000004L`,a+WManipulate component attributes with gattribgEDA Attribute EditorProject-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2010-01-29 16:46+0000 Last-Translator: Werner Hoch Language-Team: gEDA developers Language: de MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2010-02-14 12:56+0000 X-Generator: Launchpad (build Unknown) Editieren von Bauteilattributen mit gattribgEDA Attributeditorgeda-gaf-1.8.2/gattrib/po/de.po0000664000175000017500000000165312220655646013117 00000000000000# German translation for gattrib # Copyright (C) 2007-2008 Werner Hoch # This file is distributed under the same license as the gattrib package. # # Werner Hoch , 2007. msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2010-01-29 16:46+0000\n" "Last-Translator: Werner Hoch \n" "Language-Team: gEDA developers \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2010-02-14 12:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: gattrib/data/geda-gattrib.desktop.in:3 msgid "gEDA Attribute Editor" msgstr "gEDA Attributeditor" #: gattrib/data/geda-gattrib.desktop.in:4 msgid "Manipulate component attributes with gattrib" msgstr "Editieren von Bauteilattributen mit gattrib" geda-gaf-1.8.2/gattrib/po/pt_BR.gmo0000664000175000017500000000124212220655647013674 000000000000004L`,a3UManipulate component attributes with gattribgEDA Attribute EditorProject-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2010-02-06 22:10+0000 Last-Translator: FULL NAME Language-Team: gEDA developers Language: pt_BR MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2010-02-14 12:56+0000 X-Generator: Launchpad (build Unknown) Manipule os atributos dos componentes com o gattribEditor de atributos gEDAgeda-gaf-1.8.2/gattrib/po/fr.po0000664000175000017500000000170712220655646013136 00000000000000# French translation for geda # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2010-02-06 22:09+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: gEDA developers \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2010-02-14 12:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: gattrib/data/geda-gattrib.desktop.in:3 msgid "gEDA Attribute Editor" msgstr "Éditeur d'attributs gEDA" #: gattrib/data/geda-gattrib.desktop.in:4 msgid "Manipulate component attributes with gattrib" msgstr "Manipuler les attributs des composants avec gattrib" geda-gaf-1.8.2/gattrib/po/it.po0000664000175000017500000000170212220655646013136 00000000000000# Italian translation for geda # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2010-02-06 22:09+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: gEDA developers \n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2010-02-14 12:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: gattrib/data/geda-gattrib.desktop.in:3 msgid "gEDA Attribute Editor" msgstr "gEDA Editor Attributi" #: gattrib/data/geda-gattrib.desktop.in:4 msgid "Manipulate component attributes with gattrib" msgstr "Manipola gli attributi dei componenti con gattrib" geda-gaf-1.8.2/gattrib/po/tr.gmo0000664000175000017500000000123412220655647013314 000000000000004L`,a,RManipulate component attributes with gattribgEDA Attribute EditorProject-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2010-02-06 22:09+0000 Last-Translator: FULL NAME Language-Team: gEDA developers Language: tr MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2010-02-14 12:56+0000 X-Generator: Launchpad (build Unknown) Bileşen özelliklerini gattrib ile düzenlegEDA Özellik Düzenleyicisigeda-gaf-1.8.2/gattrib/po/fa.po0000664000175000017500000000165312220655646013115 00000000000000# Persian translation for geda # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-01-27 14:17+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Persian \n" "Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: gattrib/data/geda-gattrib.desktop.in:3 msgid "gEDA Attribute Editor" msgstr "gEDA Attribute Editor" #: gattrib/data/geda-gattrib.desktop.in:4 msgid "Manipulate component attributes with gattrib" msgstr "Manipulate component attributes with gattrib" geda-gaf-1.8.2/gattrib/po/pt.gmo0000664000175000017500000000123312220655647013311 000000000000004L`,a/RManipulate component attributes with gattribgEDA Attribute EditorProject-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2010-02-06 22:10+0000 Last-Translator: FULL NAME Language-Team: gEDA developers Language: pt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2010-02-14 12:56+0000 X-Generator: Launchpad (build Unknown) Manipular atributos dos componentes com gattribEditor de Atributos gEDAgeda-gaf-1.8.2/gattrib/po/boldquot.sed0000644000175000017500000000033112210331571014466 00000000000000s/"\([^"]*\)"/“\1”/g s/`\([^`']*\)'/‘\1’/g s/ '\([^`']*\)' / ‘\1’ /g s/ '\([^`']*\)'$/ ‘\1’/g s/^'\([^`']*\)' /‘\1’ /g s/“”/""/g s/“/“/g s/”/”/g s/‘/‘/g s/’/’/g geda-gaf-1.8.2/gattrib/po/fa.gmo0000664000175000017500000000120312220655646013250 000000000000004L`,a,@mManipulate component attributes with gattribgEDA Attribute EditorProject-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-01-27 14:17+0000 Last-Translator: FULL NAME Language-Team: Persian Language: fa MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) Manipulate component attributes with gattribgEDA Attribute Editorgeda-gaf-1.8.2/gattrib/po/it.gmo0000664000175000017500000000123212220655647013301 000000000000004L`,a1RManipulate component attributes with gattribgEDA Attribute EditorProject-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2010-02-06 22:09+0000 Last-Translator: FULL NAME Language-Team: gEDA developers Language: it MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2010-02-14 12:56+0000 X-Generator: Launchpad (build Unknown) Manipola gli attributi dei componenti con gattribgEDA Editor Attributigeda-gaf-1.8.2/gattrib/po/oc.gmo0000664000175000017500000000122412220655647013267 000000000000004L`,a2J}Manipulate component attributes with gattribgEDA Attribute EditorProject-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-01-27 14:17+0000 Last-Translator: FULL NAME Language-Team: Occitan (post 1500) Language: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) Manipular los atributs dels components amb gattribEditor d'atributs gEDAgeda-gaf-1.8.2/gattrib/po/ru.gmo0000664000175000017500000000135012220655647013314 000000000000004L`,aXf(Manipulate component attributes with gattribgEDA Attribute EditorProject-Id-Version: geda gattrib Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2011-12-28 23:57+0400 Last-Translator: Vladimir Zhbanov Language-Team: gEDA developers Language: ru MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2010-02-14 12:56+0000 X-Generator: Launchpad (build Unknown) Управление атрибутами компонента с помощью gattribРедактор атрибутов gEDAgeda-gaf-1.8.2/gattrib/po/quot.sed0000644000175000017500000000023112210331572013625 00000000000000s/"\([^"]*\)"/“\1”/g s/`\([^`']*\)'/‘\1’/g s/ '\([^`']*\)' / ‘\1’ /g s/ '\([^`']*\)'$/ ‘\1’/g s/^'\([^`']*\)' /‘\1’ /g s/“”/""/g geda-gaf-1.8.2/gattrib/po/tr.po0000664000175000017500000000170412220655646013151 00000000000000# Turkish translation for geda # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2010-02-06 22:09+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: gEDA developers \n" "Language: tr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2010-02-14 12:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: gattrib/data/geda-gattrib.desktop.in:3 msgid "gEDA Attribute Editor" msgstr "gEDA Özellik Düzenleyicisi" #: gattrib/data/geda-gattrib.desktop.in:4 msgid "Manipulate component attributes with gattrib" msgstr "Bileşen özelliklerini gattrib ile düzenle" geda-gaf-1.8.2/gattrib/po/sl.po0000664000175000017500000000171212220655646013141 00000000000000# Slovenian translation for geda # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-04-09 11:22+0000\n" "Last-Translator: Miha Gašperšič \n" "Language-Team: Slovenian \n" "Language: sl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: gattrib/data/geda-gattrib.desktop.in:3 msgid "gEDA Attribute Editor" msgstr "gEDA urejevalnik atributov" #: gattrib/data/geda-gattrib.desktop.in:4 msgid "Manipulate component attributes with gattrib" msgstr "Upravljajte atribute sestavnih delov z gattrib" geda-gaf-1.8.2/gattrib/po/af.gmo0000664000175000017500000000072712220655646013262 00000000000000$,89Project-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-01-27 14:17+0000 Last-Translator: FULL NAME Language-Team: Afrikaans Language: af MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) geda-gaf-1.8.2/gattrib/NOTES0000664000175000017500000004714012204177070012355 00000000000000----------------------------------------------------------------------- This file contains a few notes I made while creating gattrib. These notes were useful to me in coming to grips with understanding gEDA's data structures and gnetlist's operation. The were also useful when architecting the workings of gattrib. A spreadsheet holding function names is held in the file called "ProgramArchitecture.gnumeric", which should live in the design directory. This spreadsheet should help you wade through the various fcns used during processing. Note that this spreadsheet might be a little out of date. The source code is the final documentation. No guarantee is made that these notes are accurate, useful, or even understandable to anybody else. -- SDB 12.5.2003 sdb@cloud9.net Last updated on 11.10.2004. SDB. ----------------------------------------------------------------------- gattrib algorithm: 1. Input sheets as in gnetlist. Use fcns from libgeda. Result is linked list of TOPLEVEL entries. (*pr_current) This data structure comes from libgeda. The file is opened and read using: libgeda/noweb/f_basic.nw:f_open(TOPLEVEL *w_current, char *filename) f_open invokes o_read, which fills out the objects: libgeda/noweb/a_basic.nw:o_read(TOPLEVEL *w_current, OBJECT *object_list, char *filename) At the end of this process, we have filled out (TOPLEVEL pr_current). 2. Create (SHEET_DATA *sheet_head), which is the data structure intermediating between gEDA's TOPLEVEL and GtkSheet's gtk_sheet. It holds all info important to drive the spreadsheet app in a form easy to access. 3. Build master lists which are part of SHEET_DATA. The master lists are used when building the row and column label cells, and for keeping track of which components and attribtues are in play. Master lists are built for each of these objects: * Component refdeses found in the design. sheet_head->master_comp_list_head * Component attributes found in the design. sheet_head->master_comp_attrib_list_head * Netnames found in the design. sheet_head->master_net_list_head (TBD) * Net attributes found in the design. sheet_head->master_net_attrib_list_head (TBD) * Component pins found in the design sheet_head->master_pin_list_head * Component pins attributes found in the design sheet_head->master_pin_attrib_list_head Each master list is stored using a STRING_DATA struct. Attach pointers to these master lists inside SHEET_DATA. This stage of processing also counts up the number of each item. These lists are used to index the table entries, and form the row and column labels on the gtk_sheet. 4. Create TABLE, which is the data structure holding the info to be displayed in the gtk_sheet cells. TABLE is basically a 2D array of structs. Tables are built for the following types of objects: * Component refdeses & attached attributes. sheet_head->component_table * Netnames and attached attributes. (TBD) sheet_head->net_table * Component pins and attached attributes. After creation, attach TABLE inside SHEET_DATA. The fcns which add components and nets to the internal data structs are called s_*_set_*" Items in the table are referenced using a construct like: sheet_head->component_table)[i][j].attrib_value 5. Then build gtk_sheet using fcns available in x_gtksheet. They take the data from SHEET_DATA and stick them into the gtk_sheet widget for display on the spreadsheet. 6. Run gtk_main. Wait for user clicks & invoke appropriate callbacks. Callback fcns are specified in include/menu.h 7. The save callback is x_fileselect_*. Upon a save/saveas event invoked from the menu, take all data out of gtk_sheet and stick it into SHEET_DATA using various fcns named "s_*_update_*". Then take data out of SHEET_DATA and stick it into (TOPLEVEL *pr_current). Then use standard gEDA fcns to save out the data in .sch format. ----------------------------------------------------------------------- gattrib data structures: TOPLEVEL: Toplevel holds page info, and is a linked list with one entry per page/window. Defined in libgeda/include/struct.h, fcns to manipulate TOPLEVEL data live in libgeda/src/s_project.c SHEET_DATA: Holds data taken from TOPLEVEL in form relevant for display in spreadsheet. Definition: struct st_sheet_data { STRING_LIST *master_comp_list_head; /* Sorted list of all components used in design */ int comp_count; /* number of components in design */ STRING_LIST *master_comp_attrib_list_head; /* Sorted list of all component attribs used in design */ int comp_attrib_count; /* number of component attribs in design */ STRING_LIST *master_net_list_head; /* Sorted list of all nets used in design */ int net_count; /* number of nets in design */ STRING_LIST *master_net_attrib_list_head; /* Sorted list of all net attribss used in design */ int net_attrib_count; /* number of net attribss in design */ STRING_LIST *master_pin_list_head; /* Sorted list of all pins used in design */ int pin_count; /* number of pins in design */ STRING_LIST *master_pin_attrib_list_head; /* Sorted list of all pin attribss used in design */ int pin_attrib_count; /* number of pin attribss in design */ TABLE **component_table; /* points to 2d array of component attribs */ TABLE **net_table; /* points to 2d array of net attribs */ TABLE **pin_table; /* points to 2d array of pin attribs */ }; TABLE: Is 2D array of structs. Each struct member holds info about one particular attrib. STRING_LIST: A linked list of strings. Used to create the component and net master lists. GtkWidget **sheets: These are the spreadsheet widgets themselves. There are three of them: 1. Comp attribs 2. Net attribs (currently TBD) 3. Pin attribs (i.e. pinseq and so on). --------------------------------------------------------------------------------- ******** How data gets from TOPLEVEL into GtkSheet ******** --------------------------------------------------------------------------------- Here's what happens when the program starts, or file->open is invoked from the menu and the data is read in. (I handle data structure initialization elsewhere.) Keep in mind that gattrib's data structures (in particular, SHEET_DATA) are a thin layer between GtkSheet and TOPLEVEL. When you read in a design, libgeda functions are used to fill out the TOPLEVEL data structure. The the purpose of gattrib is to take all the stuff out of TOPLEVEL run it throught SHEET_DATA, and finally stick it into GtkSheet for user manipulation. 1. Loop on each page. For each page in the design, do this: * Read in the page using s_toplevel_read_page. * Invoke s_sheet_data_add_master_*_list items and s_sheet_data_add_master_*_attrib_list items. This fills out the lists in SHEET__DATA. 2. Sort the master lists. 3. Create the tables: sheet_head->*_table = s_table_new(. . . .) 4. Loop on pages again. Fill out the tables using s_table_add_toplevel_*_items_to_*_table(. . . .) 5. Transfer data from tables to gtksheet using x_window_add_items. This fcn does the following: * Create a new gtksheet having the current dimensions. * Call x_gktsheet_add_row_labels(*_count, master_*_list_head) * Call x_gktsheet_add_col_labels(*_attrib_count, master_*_attrib_list_head) * loop on i, j -- call x_gtksheet_add_entry(i, j, attrib_value), taking the values out of sheet_heat->*_table. * Call gtk_widget_show(window) to show new window. --------------------------------------------------------------------------------- ******** How data gets from GtkSheet into TOPLEVEL upon saving a sheet ******** --------------------------------------------------------------------------------- Here's what happens when file->save is invoked from the menu. Please keep in mind that gattrib is a thin layer between GtkSheet and TOPLEVEL. When you save out a design, the purpose of gattrib is to take all the stuff out of GtkSheet and put it temporarily into sheet_data->*_table. From there, it can then stick it into TOPLEVEL. Thereafter, libgeda fcns are used to save it. 1. Selecting "save" from the menubar invokes the callback s_toplevel_menubar_file_save. (callbacks are defined in includes/x_menu.h) This calls s_toplevel_gtksheet_to_toplevel. 2. s_toplevel_gtksheet_to_toplevel calls s_sheet_data_gtksheet_to_sheetdata. Then it loops on all pages and calls s_toplevel_sheetdata_to_toplevel. (Described starting in item 6 below.) 3. s_sheet_data_gtksheet_to_sheetdata calls s_table_gtksheet_to_all_tables. 4. s_table_gtksheet_to_all_tables calls s_table_gtksheet_to_table individually for each sheet (comps, nets, pins) 5. s_table_gtksheet_to_table loops over all cells in the the gtksheet and loads all the stuff it finds back into sheet_data->*_table. 6. Back in s_toplevel_gtksheet_to_toplevel. Now that the tables are loaded, we loop on all pages and call s_toplevel_sheetdata_to_toplevel with a pointer to the first obj on the page as the calling arg. 7. Inside s_toplevel_sheetdata_to_toplevel, we loop on all objs in the page, find the corresponding entry in sheet_data->*_table, and then copy all attribs out of sheet_data->*_table and back into the object's attrib list. 8. Finally, the libgeda fcn s_page_save_all is called. This saves out all pages in the design. ----------------------------------------------------------------------- Data structures used in gEDA. These notes attempt to document the data structures used in gEDA. I present them here because they may not be familiar to those interested in hacking gattrib. I also want to record these findings somewhere because it took me some time to figure this out. TOPLEVEL: The basic data structure in gschem. Basically holds info about the entire design. PAGE: Self explanatory. The entire design is held as a doubly linked list of PAGEs under TOPLEVEL. OBJECT: A graphical object on the gschem page. Can be a net segment, a component complex, a bit of text, a component's pin, or whatever. Each page holds a doubly linked list of OBJECTs present on that page. TILE: A section of the graphical page. Important in gschem, a TILE holds a single linked list of OBJECTs present in its subsection of the page. Each page holds a two dimensional doubly linked list of TILEs. A TILE is used to quickly locate a particular object when handling the graphical drawing of a schematic. NETLIST: Important in gnetlist. This is a doubly linked list of component objects and pins. ----------------------------------------------------------------------------- Represenatation of components, component attributes, & pins in gattrib & gEDA. From the top down to a particular graphical object on a schematic page: (TOPLEVEL *pr_current)->(PAGE page_current)->(OBJECT o_current) That is, all objects in the design are graphical objects, and are held in a linked list. Note that an object is any graphical object, such as text, a component (COMPLEX), an attribute, a line, a net, etc. Stuff attached below the OBJECT level determine what kind of object the graphic is, its visibility, its name, etc. etc. etc. ---- Components with attributes ---- Starting from a component (COMPLEX), an attribute is represented like this: (OBJECT *component)->(ATTRIB *attribs)->(OBJECT *attrib_graphic)->(TEXT *text)->(char *string) // name=value string ->(int x, y) // which coords? ->(int screen_x) // ??? etc . . . ->(int type) // types defined in o_types.h ->(int sid) // unique identifier ->(char *name) // something like text.3732 Note that ATTRIB is a linked list of (pointers to) attributes. (OBJECT *component) points to the ATTRIB list, and "attrib_graphic" points to the attrib OBJECT itself (which is a graphical element like everything else). ---- Attributes ---- Since each attribute is itself a graphical object present in the design, an attribute graphic is represented like this: (OBJECT *attribute)->(TEXT *text)->(char *string) // name=value string ->(int x, y) // which coords? ->(int screen_x) // ??? etc . . . ->(int type) // for attribute, type is text // #define OBJ_TEXT 'T' ->(int sid) ->(char *name) ->(ATTRIB *attached_to) // points back to (OBJECT *component) ->(int attribute) // = 1 for attribute, = 0 otherwise. ->(int show_name_value) // #define SHOW_NAME_VALUE 0 // #define SHOW_VALUE 1 // #define SHOW_NAME 2 ->(int visibility) // #define INVISIBLE 0 // #define VISIBLE 1 Attrib_graphic is stored internally as a "name=value" string, and is disassembled by various fcns when needed. ---- Pins ---- As for pins, they are attached to components (COMPLEX) in the following way. Starting from the component: (OBJECT *component)->(COMPLEX *complex)->(OBJECT *prim_objs)->(int type) // #define OBJ_PIN 'P' ->(ATTRIB *attribs) // pin attrib list. ->(int sid) // unique identifier ->(char *name) // something like pin.3372 Pins also are held in the NETLIST data structure, which is a separate data structure. NETLIST is more important in gnetlist than in gschem. A pin is held in the following way: (NETLIST *node)->(OBJECT *object_ptr) ->(CPINLIST *cpins)->(char *pin_number) ->(char *net_name) ->(char *pin_label) ---- Example ---- Component objects (COMPLEX) have lots of other other fields in teh struct. Here's an example taken from a real design: (OBJECT *component)->name = complex.188 // unique ID of component ->attribs->object->name = complex.188 // first "attribs" points back to component ->attribs->next->object->name = text.272 // attrib text ->attribs->next->object->text->string = refdes=C1 // actual attrib ->complex->prim_objs->name = complex-head.189 // head of prim_objs list ->complex->prim_objs->next->name = pin.190 // actual object Each list attached to a component has a head, followed by the actual list items. ----------------------------------------------------------------------- From include/struct.h: /* ----------- SDB note about philosophy behind globals -------------- * * I made the "TOPLEVEL project" and all the GTK window stuff into * global variables. I know that this is supposedly bad programming form. * However, here are some observations: * -- I wanted to use gEDA's TOPLEVEL structure as much as possible, at * least to hold info about the design's netlist & components. * The TOPLEVEL strucuture is architected to hold info about gschem's * window also. HOwever, gschem's windows are architected differently * than mine in gattrib. This is because my windowing system does * completely different things, and also uses the GtkSheet widget, which * is architected completely differently from TOPLEVEL. * -- Since I couldn't easily or naturally cram my windowing scheme into * TOPLEVEL (or so I think), I decided to use a separate set of windows * from those defined under TOPLEVEL for my application. * -- The problem arises when using callbacks. Callbacks from GTK allow * only one argument to be passed. Given the way I set up the menu bar, * I didn't have easy acces to the information inside both the GtkSHeet * objects *and* the TOPLEVEL stuff while only having one callback * argument. This makes it hard to have access to e.g. a GtkSheet window * and a list of files (in TOPLEVEL) simultaneously. * -- Therefore, I decided to make both the window stuff and TOPLEVEL * globals. * -- Similarly, because I couldn't cram the SHEET_DATA struct into any * hook in TOPLEVEL, I just made it a global also. * -- Finally, in my defense, in gschem and gnetlist, (TOPLEVEL *w_current * or pr_current) is passed to almost every function. Since it * is just a pointer to a huge struct of stuff, manipulating * the stuff in the struct has a global * effect. That is, manipulating w_current (or pr_current) has side * effects, so it is basically a global anyway. The real problem with * globals occurs when you have a global variable caled "i" or "temp" * which conflicts with a global in a module written by somebody else. * Since pr_current is a very uncommon name, this should not be a * problem here. Therefore, I decided * to make life easy for myself dealing with callbacks by making both * the windows and TOPLEVEL global variables. * If there is a better way to solve this problem, I'd like to hear it. * ------------------------------------------------------------------ */ ----------------------------------------------------------------------- To be done: 1. Before building spreadsheet, create and sort component and net master lists. They are used to index components in the TABLE, and also label the gtk_sheet rows and cols. 2. How to handle attribute visibility? Maybe right-click on cell & set vis. Default = invisible and "both name and value". 3. Need fcns to allow for adding and deleting of entire attrib columns. Don't need to allow for adding/deleting components -- users should use gschem to add/delete components because gattrib can't do anything about the graphical position data required for this. ----------------------------------------------------------------------- Here's what the filename prefix letters mean: a_ : Action (this was a really poor choice, and will be removed) g_ : Guile related functions i_ : Interface related functions o_ : graphic Object related functions x_ : X related functions f_ : File related functions m_ : Math related functions s_ : data Structure related functions I've tried to keep the function names in the files correct, but sometimes I failed. (look at libgeda/a_basic.c for an example of a file which has a bunch of functions which shouldn't be in there) -Ales ----------------------------------------------------------------------- geda-gaf-1.8.2/gattrib/docs/0000775000175000017500000000000012220655754012554 500000000000000geda-gaf-1.8.2/gattrib/docs/what-is-gattrib.html0000664000175000017500000000034112220647257016365 00000000000000 What is gAttrib?

    gattrib is the attribute editor for gschem, the schematic capture program/tool which is part of gEDA. gattrib's sole purpose is to facilitate the editing of attributes of components. geda-gaf-1.8.2/gattrib/docs/Makefile.am0000664000175000017500000000177412220647257014540 00000000000000EXTRA_DIST = gattrib.dox what-is-gattrib.html what-is-geda.html \ gattrib-main.txt logo.png all: @echo 'Type: make doxygen to create doxygen documentation for gattrib' doxygen: gattrib.dox @echo 'Creating doxygen documentation for gattrib...' if ENABLE_DOXYGEN $(DOXYGEN) gattrib.dox else @echo 'configure was not run with the --enable-doxygen switch.' @echo 'The documentation cannot be built from the sources.' endif dist_man_MANS = gattrib.1 # Rules for converting man->html html_man_files = gattrib.html SUFFIXES = .1 .html docsmandir=$(docdir)/man dist_docsman_DATA=$(html_man_files) if ENABLE_GROFF_HTML .1.html: rm -rf $@.tmp && \ LC_NUMERIC=C $(GROFF) -man -T html $< >$@.tmp && \ mv -f $@.tmp $@ else .1.html: @echo "No working groff available: cannot create $@" @! : endif MOSTLYCLEANFILES = *.log *~ CLEANFILES = *.log *~ DISTCLEANFILES = *.log MAINTAINERCLEANFILES = *.log *~ Makefile.in distclean-local: -rm -rf html latex maintainer-clean-local: -rm -rf html latex geda-gaf-1.8.2/gattrib/docs/gattrib-main.txt0000664000175000017500000000044212204177070015603 00000000000000/*! \mainpage gattrib - The GPL Electronic Design Automation attributes editor for the schematic capture tool. \image html logo.png \section geda-intro gEDA Introduction \htmlinclude what-is-geda.html \section gattrib-intro gAttrib Introduction \htmlinclude what-is-gattrib.html */ geda-gaf-1.8.2/gattrib/docs/what-is-geda.html0000664000175000017500000000155412204177070015631 00000000000000 What is gEDA?

    The gEDA project is working on producing a full GPL'd suite of Electronic Design Automation tools. These tools are used for electrical circuit design, schematic capture, simulation, prototyping, and production. Currently, the gEDA project offers a mature suite of free software applications for electronics design, including schematic capture, attribute management, bill of materials (BOM) generation, netlisting into over 20 netlist formats, analog and digital simulation, and printed circuit board (PCB) layout.

    The gEDA project was started because of the lack of free EDA tools for UNIX. The tools are being developed mainly on GNU/Linux machines, but considerable effort is being made to make sure that gEDA runs on other UNIX variants. For a complete list of freely available tools please be sure to visit Open Collector. geda-gaf-1.8.2/gattrib/docs/Makefile.in0000664000175000017500000005225112220655722014541 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = gattrib/docs DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(dist_man_MANS) $(dist_docsman_DATA) ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } man1dir = $(mandir)/man1 am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(docsmandir)" NROFF = nroff MANS = $(dist_man_MANS) DATA = $(dist_docsman_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = gattrib.dox what-is-gattrib.html what-is-geda.html \ gattrib-main.txt logo.png dist_man_MANS = gattrib.1 # Rules for converting man->html html_man_files = gattrib.html SUFFIXES = .1 .html docsmandir = $(docdir)/man dist_docsman_DATA = $(html_man_files) MOSTLYCLEANFILES = *.log *~ CLEANFILES = *.log *~ DISTCLEANFILES = *.log MAINTAINERCLEANFILES = *.log *~ Makefile.in all: all-am .SUFFIXES: .SUFFIXES: .1 .html $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gattrib/docs/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu gattrib/docs/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-man1: $(dist_man_MANS) @$(NORMAL_INSTALL) @list1=''; \ list2='$(dist_man_MANS)'; \ test -n "$(man1dir)" \ && test -n "`echo $$list1$$list2`" \ || exit 0; \ echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ { for i in $$list1; do echo "$$i"; done; \ if test -n "$$list2"; then \ for i in $$list2; do echo "$$i"; done \ | sed -n '/\.1[a-z]*$$/p'; \ fi; \ } | while read p; do \ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; echo "$$p"; \ done | \ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ sed 'N;N;s,\n, ,g' | { \ list=; while read file base inst; do \ if test "$$base" = "$$inst"; then list="$$list $$file"; else \ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ fi; \ done; \ for i in $$list; do echo "$$i"; done | $(am__base_list) | \ while read files; do \ test -z "$$files" || { \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ done; } uninstall-man1: @$(NORMAL_UNINSTALL) @list=''; test -n "$(man1dir)" || exit 0; \ files=`{ for i in $$list; do echo "$$i"; done; \ l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \ sed -n '/\.1[a-z]*$$/p'; \ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) install-dist_docsmanDATA: $(dist_docsman_DATA) @$(NORMAL_INSTALL) @list='$(dist_docsman_DATA)'; test -n "$(docsmandir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(docsmandir)'"; \ $(MKDIR_P) "$(DESTDIR)$(docsmandir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docsmandir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(docsmandir)" || exit $$?; \ done uninstall-dist_docsmanDATA: @$(NORMAL_UNINSTALL) @list='$(dist_docsman_DATA)'; test -n "$(docsmandir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(docsmandir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(MANS) $(DATA) installdirs: for dir in "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(docsmandir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic distclean-local dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dist_docsmanDATA install-man install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-man1 install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic \ maintainer-clean-local mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-dist_docsmanDATA uninstall-man uninstall-man: uninstall-man1 .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distclean-local distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dist_docsmanDATA install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-man1 install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ maintainer-clean-local mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am uninstall-dist_docsmanDATA uninstall-man \ uninstall-man1 all: @echo 'Type: make doxygen to create doxygen documentation for gattrib' doxygen: gattrib.dox @echo 'Creating doxygen documentation for gattrib...' @ENABLE_DOXYGEN_TRUE@ $(DOXYGEN) gattrib.dox @ENABLE_DOXYGEN_FALSE@ @echo 'configure was not run with the --enable-doxygen switch.' @ENABLE_DOXYGEN_FALSE@ @echo 'The documentation cannot be built from the sources.' @ENABLE_GROFF_HTML_TRUE@.1.html: @ENABLE_GROFF_HTML_TRUE@ rm -rf $@.tmp && \ @ENABLE_GROFF_HTML_TRUE@ LC_NUMERIC=C $(GROFF) -man -T html $< >$@.tmp && \ @ENABLE_GROFF_HTML_TRUE@ mv -f $@.tmp $@ @ENABLE_GROFF_HTML_FALSE@.1.html: @ENABLE_GROFF_HTML_FALSE@ @echo "No working groff available: cannot create $@" @ENABLE_GROFF_HTML_FALSE@ @! : distclean-local: -rm -rf html latex maintainer-clean-local: -rm -rf html latex # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/gattrib/docs/gattrib.html0000664000175000017500000000645012220655754015023 00000000000000 gattrib

    gattrib

    NAME
    SYNOPSIS
    DESCRIPTION
    OPTIONS
    ENVIRONMENT
    AUTHORS
    COPYRIGHT
    SEE ALSO

    NAME

    gattrib - gEDA/gaf Schematic Attribute Editor

    SYNOPSIS

    gattrib [OPTION ...] [FILE ...]

    DESCRIPTION

    gattrib is a spreadsheet-like tool for bulk editing of attributes in gEDA schematics, usually created in gschem(1).

    If no FILEs to open are specified on the command line, gattrib will display a file selector dialog on startup.

    OPTIONS

    -q, --quiet

    Quiet mode. Turn off all warnings/notes/messages.

    -v, --verbose

    Verbose mode. Output all diagnostic information.

    -h, --help

    Print a help message.

    ENVIRONMENT

    GEDADATA

    specifies the search directory for Scheme and rc files. The default is ‘${prefix}/share/gEDA’.

    GEDADATARC

    specifies the search directory for rc files. The default is ‘$GEDADATA’.

    AUTHORS

    See the ‘AUTHORS’ file included with this program.

    COPYRIGHT

    Copyright © 1999-2011 gEDA Contributors. License GPLv2+: GNU GPL
    version 2 or later. Please see the ‘COPYING’ file included with this
    program for full details.

    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.

    SEE ALSO

    gschem(1)


    geda-gaf-1.8.2/gattrib/docs/gattrib.dox0000664000175000017500000014377712204177070014657 00000000000000# Doxyfile 1.4.6 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project # # All text after a hash (#) is considered a comment and will be ignored # The format is: # TAG = value [value, ...] # For lists items can also be appended using: # TAG += value [value, ...] # Values that contain spaces should be placed between quotes (" ") #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- # The PROJECT_NAME tag is a single word (or a sequence of words surrounded # by quotes) that should identify the project. PROJECT_NAME = gattrib # The PROJECT_NUMBER tag can be used to enter a project or revision number. # This could be handy for archiving the generated documentation or # if some version control system is used. PROJECT_NUMBER = # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. # If a relative path is entered, it will be relative to the location # where doxygen was started. If left blank the current directory will be used. OUTPUT_DIRECTORY = # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create # 4096 sub-directories (in 2 levels) under the output directory of each output # format and will distribute the generated files over these directories. # Enabling this option can be useful when feeding doxygen a huge amount of # source files, where putting all generated files in the same directory would # otherwise cause performance problems for the file system. CREATE_SUBDIRS = NO # The OUTPUT_LANGUAGE tag is used to specify the language in which all # documentation generated by doxygen is written. Doxygen will use this # information to generate all constant output in the proper language. # The default language is English, other supported languages are: # Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, # Dutch, Finnish, French, German, Greek, Hungarian, Italian, Japanese, # Japanese-en (Japanese with English messages), Korean, Korean-en, Norwegian, # Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish, # Swedish, and Ukrainian. OUTPUT_LANGUAGE = English # This tag can be used to specify the encoding used in the generated output. # The encoding is not always determined by the language that is chosen, # but also whether or not the output is meant for Windows or non-Windows users. # In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES # forces the Windows encoding (this is the default for the Windows binary), # whereas setting the tag to NO uses a Unix-style encoding (the default for # all platforms other than Windows). USE_WINDOWS_ENCODING = YES # If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will # include brief member descriptions after the members that are listed in # the file and class documentation (similar to JavaDoc). # Set to NO to disable this. BRIEF_MEMBER_DESC = YES # If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend # the brief description of a member or function before the detailed description. # Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the # brief descriptions will be completely suppressed. REPEAT_BRIEF = NO # This tag implements a quasi-intelligent brief description abbreviator # that is used to form the text in various listings. Each string # in this list, if found as the leading text of the brief description, will be # stripped from the text and the result after processing the whole list, is # used as the annotated text. Otherwise, the brief description is used as-is. # If left blank, the following values are used ("$name" is automatically # replaced with the name of the entity): "The $name class" "The $name widget" # "The $name file" "is" "provides" "specifies" "contains" # "represents" "a" "an" "the" ABBREVIATE_BRIEF = # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then # Doxygen will generate a detailed section even if there is only a brief # description. ALWAYS_DETAILED_SEC = YES # If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all # inherited members of a class in the documentation of that class as if those # members were ordinary class members. Constructors, destructors and assignment # operators of the base classes will not be shown. INLINE_INHERITED_MEMB = NO # If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full # path before files name in the file list and in the header files. If set # to NO the shortest path that makes the file name unique will be used. FULL_PATH_NAMES = NO # If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag # can be used to strip a user-defined part of the path. Stripping is # only done if one of the specified strings matches the left-hand part of # the path. The tag can be used to show relative paths in the file list. # If left blank the directory from which doxygen is run is used as the # path to strip. STRIP_FROM_PATH = # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of # the path mentioned in the documentation of a class, which tells # the reader which header file to include in order to use a class. # If left blank only the name of the header file containing the class # definition is used. Otherwise one should specify the include paths that # are normally passed to the compiler using the -I flag. STRIP_FROM_INC_PATH = # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter # (but less readable) file names. This can be useful is your file systems # doesn't support long names like on DOS, Mac, or CD-ROM. SHORT_NAMES = NO # If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen # will interpret the first line (until the first dot) of a JavaDoc-style # comment as the brief description. If set to NO, the JavaDoc # comments will behave just like the Qt-style comments (thus requiring an # explicit @brief command for a brief description. JAVADOC_AUTOBRIEF = NO # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen # treat a multi-line C++ special comment block (i.e. a block of //! or /// # comments) as a brief description. This used to be the default behaviour. # The new default is to treat a multi-line C++ comment block as a detailed # description. Set this tag to YES if you prefer the old behaviour instead. MULTILINE_CPP_IS_BRIEF = NO # If the DETAILS_AT_TOP tag is set to YES then Doxygen # will output the detailed description near the top, like JavaDoc. # If set to NO, the detailed description appears after the member # documentation. DETAILS_AT_TOP = NO # If the INHERIT_DOCS tag is set to YES (the default) then an undocumented # member inherits the documentation from any documented member that it # re-implements. INHERIT_DOCS = YES # If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce # a new page for each member. If set to NO, the documentation of a member will # be part of the file/class/namespace that contains it. SEPARATE_MEMBER_PAGES = NO # The TAB_SIZE tag can be used to set the number of spaces in a tab. # Doxygen uses this value to replace tabs by spaces in code fragments. TAB_SIZE = 4 # This tag can be used to specify a number of aliases that acts # as commands in the documentation. An alias has the form "name=value". # For example adding "sideeffect=\par Side Effects:\n" will allow you to # put the command \sideeffect (or @sideeffect) in the documentation, which # will result in a user-defined paragraph with heading "Side Effects:". # You can put \n's in the value part of an alias to insert newlines. ALIASES = # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C # sources only. Doxygen will then generate output that is more tailored for C. # For instance, some of the names that are used will be different. The list # of all members will be omitted, etc. OPTIMIZE_OUTPUT_FOR_C = YES # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java # sources only. Doxygen will then generate output that is more tailored for Java. # For instance, namespaces will be presented as packages, qualified scopes # will look different, etc. OPTIMIZE_OUTPUT_JAVA = NO # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want to # include (a tag file for) the STL sources as input, then you should # set this tag to YES in order to let doxygen match functions declarations and # definitions whose arguments contain STL classes (e.g. func(std::string); v.s. # func(std::string) {}). This also make the inheritance and collaboration # diagrams that involve STL classes more complete and accurate. BUILTIN_STL_SUPPORT = NO # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC # tag is set to YES, then doxygen will reuse the documentation of the first # member in the group (if any) for the other members of the group. By default # all members of a group must be documented explicitly. DISTRIBUTE_GROUP_DOC = NO # Set the SUBGROUPING tag to YES (the default) to allow class member groups of # the same type (for instance a group of public functions) to be put as a # subgroup of that type (e.g. under the Public Functions section). Set it to # NO to prevent subgrouping. Alternatively, this can be done per class using # the \nosubgrouping command. SUBGROUPING = YES #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in # documentation are documented, even if no documentation was available. # Private class members and static file members will be hidden unless # the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES EXTRACT_ALL = YES # If the EXTRACT_PRIVATE tag is set to YES all private members of a class # will be included in the documentation. EXTRACT_PRIVATE = YES # If the EXTRACT_STATIC tag is set to YES all static members of a file # will be included in the documentation. EXTRACT_STATIC = YES # If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) # defined locally in source files will be included in the documentation. # If set to NO only classes defined in header files are included. EXTRACT_LOCAL_CLASSES = YES # This flag is only useful for Objective-C code. When set to YES local # methods, which are defined in the implementation section but not in # the interface are included in the documentation. # If set to NO (the default) only methods in the interface are included. EXTRACT_LOCAL_METHODS = YES # If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all # undocumented members of documented classes, files or namespaces. # If set to NO (the default) these members will be included in the # various overviews, but no documentation section is generated. # This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_MEMBERS = NO # If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all # undocumented classes that are normally visible in the class hierarchy. # If set to NO (the default) these classes will be included in the various # overviews. This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_CLASSES = NO # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all # friend (class|struct|union) declarations. # If set to NO (the default) these declarations will be included in the # documentation. HIDE_FRIEND_COMPOUNDS = NO # If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any # documentation blocks found inside the body of a function. # If set to NO (the default) these blocks will be appended to the # function's detailed documentation block. HIDE_IN_BODY_DOCS = NO # The INTERNAL_DOCS tag determines if documentation # that is typed after a \internal command is included. If the tag is set # to NO (the default) then the documentation will be excluded. # Set it to YES to include the internal documentation. INTERNAL_DOCS = NO # If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate # file names in lower-case letters. If set to YES upper-case letters are also # allowed. This is useful if you have classes or files whose names only differ # in case and if your file system supports case sensitive file names. Windows # and Mac users are advised to set this option to NO. CASE_SENSE_NAMES = YES # If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen # will show members with their full class and namespace scopes in the # documentation. If set to YES the scope will be hidden. HIDE_SCOPE_NAMES = NO # If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen # will put a list of the files that are included by a file in the documentation # of that file. SHOW_INCLUDE_FILES = YES # If the INLINE_INFO tag is set to YES (the default) then a tag [inline] # is inserted in the documentation for inline members. INLINE_INFO = YES # If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen # will sort the (detailed) documentation of file and class members # alphabetically by member name. If set to NO the members will appear in # declaration order. SORT_MEMBER_DOCS = NO # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the # brief documentation of file, namespace and class members alphabetically # by member name. If set to NO (the default) the members will appear in # declaration order. SORT_BRIEF_DOCS = NO # If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be # sorted by fully-qualified names, including namespaces. If set to # NO (the default), the class list will be sorted only by class name, # not including the namespace part. # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. # Note: This option applies only to the class list, not to the # alphabetical list. SORT_BY_SCOPE_NAME = NO # The GENERATE_TODOLIST tag can be used to enable (YES) or # disable (NO) the todo list. This list is created by putting \todo # commands in the documentation. GENERATE_TODOLIST = YES # The GENERATE_TESTLIST tag can be used to enable (YES) or # disable (NO) the test list. This list is created by putting \test # commands in the documentation. GENERATE_TESTLIST = YES # The GENERATE_BUGLIST tag can be used to enable (YES) or # disable (NO) the bug list. This list is created by putting \bug # commands in the documentation. GENERATE_BUGLIST = YES # The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or # disable (NO) the deprecated list. This list is created by putting # \deprecated commands in the documentation. GENERATE_DEPRECATEDLIST= YES # The ENABLED_SECTIONS tag can be used to enable conditional # documentation sections, marked by \if sectionname ... \endif. ENABLED_SECTIONS = # The MAX_INITIALIZER_LINES tag determines the maximum number of lines # the initial value of a variable or define consists of for it to appear in # the documentation. If the initializer consists of more lines than specified # here it will be hidden. Use a value of 0 to hide initializers completely. # The appearance of the initializer of individual variables and defines in the # documentation can be controlled using \showinitializer or \hideinitializer # command in the documentation regardless of this setting. MAX_INITIALIZER_LINES = 30 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated # at the bottom of the documentation of classes and structs. If set to YES the # list will mention the files that were used to generate the documentation. SHOW_USED_FILES = YES # If the sources in your project are distributed over multiple directories # then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy # in the documentation. The default is NO. SHOW_DIRECTORIES = YES # The FILE_VERSION_FILTER tag can be used to specify a program or script that # doxygen should invoke to get the current version for each file (typically from the # version control system). Doxygen will invoke the program by executing (via # popen()) the command , where is the value of # the FILE_VERSION_FILTER tag, and is the name of an input file # provided by doxygen. Whatever the program writes to standard output # is used as the file version. See the manual for examples. FILE_VERSION_FILTER = #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- # The QUIET tag can be used to turn on/off the messages that are generated # by doxygen. Possible values are YES and NO. If left blank NO is used. QUIET = NO # The WARNINGS tag can be used to turn on/off the warning messages that are # generated by doxygen. Possible values are YES and NO. If left blank # NO is used. WARNINGS = YES # If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings # for undocumented members. If EXTRACT_ALL is set to YES then this flag will # automatically be disabled. WARN_IF_UNDOCUMENTED = YES # If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for # potential errors in the documentation, such as not documenting some # parameters in a documented function, or documenting parameters that # don't exist or using markup commands wrongly. WARN_IF_DOC_ERROR = YES # This WARN_NO_PARAMDOC option can be abled to get warnings for # functions that are documented, but have no documentation for their parameters # or return value. If set to NO (the default) doxygen will only warn about # wrong or incomplete parameter documentation, but not about the absence of # documentation. WARN_NO_PARAMDOC = NO # The WARN_FORMAT tag determines the format of the warning messages that # doxygen can produce. The string should contain the $file, $line, and $text # tags, which will be replaced by the file and line number from which the # warning originated and the warning text. Optionally the format may contain # $version, which will be replaced by the version of the file (if it could # be obtained via FILE_VERSION_FILTER) WARN_FORMAT = "$file:$line: $text" # The WARN_LOGFILE tag can be used to specify a file to which warning # and error messages should be written. If left blank the output is written # to stderr. WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- # The INPUT tag can be used to specify the files and/or directories that contain # documented source files. You may enter file names like "myfile.cpp" or # directories like "/usr/src/myproject". Separate the files or directories # with spaces. INPUT = ../src ../include ../docs/gattrib-main.txt # If the value of the INPUT tag contains directories, you can use the # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank the following patterns are tested: # *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx # *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py FILE_PATTERNS = *.c *.h # The RECURSIVE tag can be used to turn specify whether or not subdirectories # should be searched for input files as well. Possible values are YES and NO. # If left blank NO is used. RECURSIVE = YES # The EXCLUDE tag can be used to specify files and/or directories that should # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. EXCLUDE = # The EXCLUDE_SYMLINKS tag can be used select whether or not files or # directories that are symbolic links (a Unix filesystem feature) are excluded # from the input. EXCLUDE_SYMLINKS = NO # If the value of the INPUT tag contains directories, you can use the # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude # certain files from those directories. Note that the wildcards are matched # against the file with absolute path, so to exclude all test directories # for example use the pattern */test/* EXCLUDE_PATTERNS = # The EXAMPLE_PATH tag can be used to specify one or more files or # directories that contain example code fragments that are included (see # the \include command). EXAMPLE_PATH = ../docs # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank all files are included. EXAMPLE_PATTERNS = # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be # searched for input files to be used with the \include or \dontinclude # commands irrespective of the value of the RECURSIVE tag. # Possible values are YES and NO. If left blank NO is used. EXAMPLE_RECURSIVE = NO # The IMAGE_PATH tag can be used to specify one or more files or # directories that contain image that are included in the documentation (see # the \image command). IMAGE_PATH = ../docs # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program # by executing (via popen()) the command , where # is the value of the INPUT_FILTER tag, and is the name of an # input file. Doxygen will then use the output that the filter program writes # to standard output. If FILTER_PATTERNS is specified, this tag will be # ignored. INPUT_FILTER = # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern # basis. Doxygen will compare the file name with each pattern and apply the # filter if there is a match. The filters are a list of the form: # pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further # info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER # is applied to all files. FILTER_PATTERNS = # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using # INPUT_FILTER) will be used to filter the input files when producing source # files to browse (i.e. when SOURCE_BROWSER is set to YES). FILTER_SOURCE_FILES = NO #--------------------------------------------------------------------------- # configuration options related to source browsing #--------------------------------------------------------------------------- # If the SOURCE_BROWSER tag is set to YES then a list of source files will # be generated. Documented entities will be cross-referenced with these sources. # Note: To get rid of all source code in the generated output, make sure also # VERBATIM_HEADERS is set to NO. SOURCE_BROWSER = YES # Setting the INLINE_SOURCES tag to YES will include the body # of functions and classes directly in the documentation. INLINE_SOURCES = NO # Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct # doxygen to hide any special comment blocks from generated source code # fragments. Normal C and C++ comments will always remain visible. STRIP_CODE_COMMENTS = YES # If the REFERENCED_BY_RELATION tag is set to YES (the default) # then for each documented function all documented # functions referencing it will be listed. REFERENCED_BY_RELATION = NO # If the REFERENCES_RELATION tag is set to YES (the default) # then for each documented function all documented entities # called/used by that function will be listed. REFERENCES_RELATION = NO # If the USE_HTAGS tag is set to YES then the references to source code # will point to the HTML generated by the htags(1) tool instead of doxygen # built-in source browser. The htags tool is part of GNU's global source # tagging system (see http://www.gnu.org/software/global/global.html). You # will need version 4.8.6 or higher. USE_HTAGS = NO # If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen # will generate a verbatim copy of the header file for each class for # which an include is specified. Set to NO to disable this. VERBATIM_HEADERS = YES #--------------------------------------------------------------------------- # configuration options related to the alphabetical class index #--------------------------------------------------------------------------- # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index # of all compounds will be generated. Enable this if the project # contains a lot of classes, structs, unions or interfaces. ALPHABETICAL_INDEX = YES # If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then # the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns # in which this list will be split (can be a number in the range [1..20]) COLS_IN_ALPHA_INDEX = 5 # In case all classes in a project start with a common prefix, all # classes will be put under the same header in the alphabetical index. # The IGNORE_PREFIX tag can be used to specify one or more prefixes that # should be ignored while generating the index headers. IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- # If the GENERATE_HTML tag is set to YES (the default) Doxygen will # generate HTML output. GENERATE_HTML = YES # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `html' will be used as the default path. HTML_OUTPUT = html # The HTML_FILE_EXTENSION tag can be used to specify the file extension for # each generated HTML page (for example: .htm,.php,.asp). If it is left blank # doxygen will generate files with .html extension. HTML_FILE_EXTENSION = .html # The HTML_HEADER tag can be used to specify a personal HTML header for # each generated HTML page. If it is left blank doxygen will generate a # standard header. HTML_HEADER = # The HTML_FOOTER tag can be used to specify a personal HTML footer for # each generated HTML page. If it is left blank doxygen will generate a # standard footer. HTML_FOOTER = # The HTML_STYLESHEET tag can be used to specify a user-defined cascading # style sheet that is used by each HTML page. It can be used to # fine-tune the look of the HTML output. If the tag is left blank doxygen # will generate a default style sheet. Note that doxygen will try to copy # the style sheet file to the HTML output directory, so don't put your own # stylesheet in the HTML output directory as well, or it will be erased! HTML_STYLESHEET = # If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, # files or namespaces will be aligned in HTML using tables. If set to # NO a bullet list will be used. HTML_ALIGN_MEMBERS = YES # If the GENERATE_HTMLHELP tag is set to YES, additional index files # will be generated that can be used as input for tools like the # Microsoft HTML help workshop to generate a compressed HTML help file (.chm) # of the generated HTML documentation. GENERATE_HTMLHELP = NO # If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can # be used to specify the file name of the resulting .chm file. You # can add a path in front of the file if the result should not be # written to the html output directory. CHM_FILE = # If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can # be used to specify the location (absolute path including file name) of # the HTML help compiler (hhc.exe). If non-empty doxygen will try to run # the HTML help compiler on the generated index.hhp. HHC_LOCATION = # If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag # controls if a separate .chi index file is generated (YES) or that # it should be included in the master .chm file (NO). GENERATE_CHI = NO # If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag # controls whether a binary table of contents is generated (YES) or a # normal table of contents (NO) in the .chm file. BINARY_TOC = NO # The TOC_EXPAND flag can be set to YES to add extra items for group members # to the contents of the HTML help documentation and to the tree view. TOC_EXPAND = NO # The DISABLE_INDEX tag can be used to turn on/off the condensed index at # top of each HTML page. The value NO (the default) enables the index and # the value YES disables it. DISABLE_INDEX = NO # This tag can be used to set the number of enum values (range [1..20]) # that doxygen will group on one line in the generated HTML documentation. ENUM_VALUES_PER_LINE = 4 # If the GENERATE_TREEVIEW tag is set to YES, a side panel will be # generated containing a tree-like index structure (just like the one that # is generated for HTML Help). For this to work a browser that supports # JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, # Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are # probably better off using the HTML help feature. GENERATE_TREEVIEW = YES # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be # used to set the initial width (in pixels) of the frame in which the tree # is shown. TREEVIEW_WIDTH = 250 #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will # generate Latex output. GENERATE_LATEX = YES # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `latex' will be used as the default path. LATEX_OUTPUT = latex # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be # invoked. If left blank `latex' will be used as the default command name. LATEX_CMD_NAME = latex # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to # generate index for LaTeX. If left blank `makeindex' will be used as the # default command name. MAKEINDEX_CMD_NAME = makeindex # If the COMPACT_LATEX tag is set to YES Doxygen generates more compact # LaTeX documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_LATEX = NO # The PAPER_TYPE tag can be used to set the paper type that is used # by the printer. Possible values are: a4, a4wide, letter, legal and # executive. If left blank a4wide will be used. PAPER_TYPE = a4wide # The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX # packages that should be included in the LaTeX output. EXTRA_PACKAGES = # The LATEX_HEADER tag can be used to specify a personal LaTeX header for # the generated latex document. The header should contain everything until # the first chapter. If it is left blank doxygen will generate a # standard header. Notice: only use this tag if you know what you are doing! LATEX_HEADER = # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated # is prepared for conversion to pdf (using ps2pdf). The pdf file will # contain links (just like the HTML output) instead of page references # This makes the output suitable for online browsing using a pdf viewer. PDF_HYPERLINKS = YES # If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of # plain latex in the generated Makefile. Set this option to YES to get a # higher quality PDF documentation. USE_PDFLATEX = YES # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. # command to the generated LaTeX files. This will instruct LaTeX to keep # running if errors occur, instead of asking the user for help. # This option is also used when generating formulas in HTML. LATEX_BATCHMODE = NO # If LATEX_HIDE_INDICES is set to YES then doxygen will not # include the index chapters (such as File Index, Compound Index, etc.) # in the output. LATEX_HIDE_INDICES = NO #--------------------------------------------------------------------------- # configuration options related to the RTF output #--------------------------------------------------------------------------- # If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output # The RTF output is optimized for Word 97 and may not look very pretty with # other RTF readers or editors. GENERATE_RTF = NO # The RTF_OUTPUT tag is used to specify where the RTF docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `rtf' will be used as the default path. RTF_OUTPUT = rtf # If the COMPACT_RTF tag is set to YES Doxygen generates more compact # RTF documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_RTF = NO # If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated # will contain hyperlink fields. The RTF file will # contain links (just like the HTML output) instead of page references. # This makes the output suitable for online browsing using WORD or other # programs which support those fields. # Note: wordpad (write) and others do not support links. RTF_HYPERLINKS = NO # Load stylesheet definitions from file. Syntax is similar to doxygen's # config file, i.e. a series of assignments. You only have to provide # replacements, missing definitions are set to their default value. RTF_STYLESHEET_FILE = # Set optional variables used in the generation of an rtf document. # Syntax is similar to doxygen's config file. RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- # If the GENERATE_MAN tag is set to YES (the default) Doxygen will # generate man pages GENERATE_MAN = NO # The MAN_OUTPUT tag is used to specify where the man pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `man' will be used as the default path. MAN_OUTPUT = man # The MAN_EXTENSION tag determines the extension that is added to # the generated man pages (default is the subroutine's section .3) MAN_EXTENSION = .3 # If the MAN_LINKS tag is set to YES and Doxygen generates man output, # then it will generate one additional man file for each entity # documented in the real man page(s). These additional files # only source the real man page, but without them the man command # would be unable to find the correct page. The default is NO. MAN_LINKS = NO #--------------------------------------------------------------------------- # configuration options related to the XML output #--------------------------------------------------------------------------- # If the GENERATE_XML tag is set to YES Doxygen will # generate an XML file that captures the structure of # the code including all documentation. GENERATE_XML = NO # The XML_OUTPUT tag is used to specify where the XML pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `xml' will be used as the default path. XML_OUTPUT = xml # The XML_SCHEMA tag can be used to specify an XML schema, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_SCHEMA = # The XML_DTD tag can be used to specify an XML DTD, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_DTD = # If the XML_PROGRAMLISTING tag is set to YES Doxygen will # dump the program listings (including syntax highlighting # and cross-referencing information) to the XML output. Note that # enabling this will significantly increase the size of the XML output. XML_PROGRAMLISTING = YES #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- # If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will # generate an AutoGen Definitions (see autogen.sf.net) file # that captures the structure of the code including all # documentation. Note that this feature is still experimental # and incomplete at the moment. GENERATE_AUTOGEN_DEF = NO #--------------------------------------------------------------------------- # configuration options related to the Perl module output #--------------------------------------------------------------------------- # If the GENERATE_PERLMOD tag is set to YES Doxygen will # generate a Perl module file that captures the structure of # the code including all documentation. Note that this # feature is still experimental and incomplete at the # moment. GENERATE_PERLMOD = NO # If the PERLMOD_LATEX tag is set to YES Doxygen will generate # the necessary Makefile rules, Perl scripts and LaTeX code to be able # to generate PDF and DVI output from the Perl module output. PERLMOD_LATEX = NO # If the PERLMOD_PRETTY tag is set to YES the Perl module output will be # nicely formatted so it can be parsed by a human reader. This is useful # if you want to understand what is going on. On the other hand, if this # tag is set to NO the size of the Perl module output will be much smaller # and Perl will parse it just the same. PERLMOD_PRETTY = YES # The names of the make variables in the generated doxyrules.make file # are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. # This is useful so different doxyrules.make files included by the same # Makefile don't overwrite each other's variables. PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the preprocessor #--------------------------------------------------------------------------- # If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will # evaluate all C-preprocessor directives found in the sources and include # files. ENABLE_PREPROCESSING = YES # If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro # names in the source code. If set to NO (the default) only conditional # compilation will be performed. Macro expansion can be done in a controlled # way by setting EXPAND_ONLY_PREDEF to YES. MACRO_EXPANSION = YES # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES # then the macro expansion is limited to the macros specified with the # PREDEFINED and EXPAND_AS_DEFINED tags. EXPAND_ONLY_PREDEF = NO # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files # in the INCLUDE_PATH (see below) will be search if a #include is found. SEARCH_INCLUDES = YES # The INCLUDE_PATH tag can be used to specify one or more directories that # contain include files that are not input files but should be processed by # the preprocessor. INCLUDE_PATH = /usr/include # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard # patterns (like *.h and *.hpp) to filter out the header-files in the # directories. If left blank, the patterns specified with FILE_PATTERNS will # be used. INCLUDE_FILE_PATTERNS = # The PREDEFINED tag can be used to specify one or more macro names that # are defined before the preprocessor is started (similar to the -D option of # gcc). The argument of the tag is a list of macros of the form: name # or name=definition (no spaces). If the definition and the = are # omitted =1 is assumed. To prevent a macro definition from being # undefined via #undef or recursively expanded use the := operator # instead of the = operator. PREDEFINED = # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then # this tag can be used to specify a list of macro names that should be expanded. # The macro definition that is found in the sources will be used. # Use the PREDEFINED tag if you want to use a different macro definition. EXPAND_AS_DEFINED = # If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then # doxygen's preprocessor will remove all function-like macros that are alone # on a line, have an all uppercase name, and do not end with a semicolon. Such # function macros are typically used for boiler-plate code, and will confuse # the parser if not removed. SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- # Configuration::additions related to external references #--------------------------------------------------------------------------- # The TAGFILES option can be used to specify one or more tagfiles. # Optionally an initial location of the external documentation # can be added for each tagfile. The format of a tag file without # this location is as follows: # TAGFILES = file1 file2 ... # Adding location for the tag files is done as follows: # TAGFILES = file1=loc1 "file2 = loc2" ... # where "loc1" and "loc2" can be relative or absolute paths or # URLs. If a location is present for each tag, the installdox tool # does not have to be run to correct the links. # Note that each tag file must have a unique name # (where the name does NOT include the path) # If a tag file is not located in the directory in which doxygen # is run, you must also specify the path to the tagfile here. TAGFILES = # When a file name is specified after GENERATE_TAGFILE, doxygen will create # a tag file that is based on the input files it reads. GENERATE_TAGFILE = # If the ALLEXTERNALS tag is set to YES all external classes will be listed # in the class index. If set to NO only the inherited external classes # will be listed. ALLEXTERNALS = NO # If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed # in the modules index. If set to NO, only the current project's groups will # be listed. EXTERNAL_GROUPS = YES # The PERL_PATH should be the absolute path and name of the perl script # interpreter (i.e. the result of `which perl'). PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- # Configuration options related to the dot tool #--------------------------------------------------------------------------- # If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will # generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base # or super classes. Setting the tag to NO turns the diagrams off. Note that # this option is superseded by the HAVE_DOT option below. This is only a # fallback. It is recommended to install and use dot, since it yields more # powerful graphs. CLASS_DIAGRAMS = YES # If set to YES, the inheritance and collaboration graphs will hide # inheritance and usage relations if the target is undocumented # or is not a class. HIDE_UNDOC_RELATIONS = YES # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is # available from the path. This tool is part of Graphviz, a graph visualization # toolkit from AT&T and Lucent Bell Labs. The other options in this section # have no effect if this option is set to NO (the default) HAVE_DOT = YES # If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect inheritance relations. Setting this tag to YES will force the # the CLASS_DIAGRAMS tag to NO. CLASS_GRAPH = YES # If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect implementation dependencies (inheritance, containment, and # class references variables) of the class with other documented classes. COLLABORATION_GRAPH = YES # If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen # will generate a graph for groups, showing the direct groups dependencies GROUP_GRAPHS = YES # If the UML_LOOK tag is set to YES doxygen will generate inheritance and # collaboration diagrams in a style similar to the OMG's Unified Modeling # Language. UML_LOOK = YES # If set to YES, the inheritance and collaboration graphs will show the # relations between templates and their instances. TEMPLATE_RELATIONS = NO # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT # tags are set to YES then doxygen will generate a graph for each documented # file showing the direct and indirect include dependencies of the file with # other documented files. INCLUDE_GRAPH = YES # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and # HAVE_DOT tags are set to YES then doxygen will generate a graph for each # documented header file showing the documented files that directly or # indirectly include this file. INCLUDED_BY_GRAPH = YES # If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will # generate a call dependency graph for every global function or class method. # Note that enabling this option will significantly increase the time of a run. # So in most cases it will be better to enable call graphs for selected # functions only using the \callgraph command. CALL_GRAPH = YES # If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen # will graphical hierarchy of all classes instead of a textual one. GRAPHICAL_HIERARCHY = YES # If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES # then doxygen will show the dependencies a directory has on other directories # in a graphical way. The dependency relations are determined by the #include # relations between the files in the directories. DIRECTORY_GRAPH = YES # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images # generated by dot. Possible values are png, jpg, or gif # If left blank png will be used. DOT_IMAGE_FORMAT = png # The tag DOT_PATH can be used to specify the path where the dot tool can be # found. If left blank, it is assumed the dot tool can be found in the path. DOT_PATH = # The DOTFILE_DIRS tag can be used to specify one or more directories that # contain dot files that are included in the documentation (see the # \dotfile command). DOTFILE_DIRS = # The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width # (in pixels) of the graphs generated by dot. If a graph becomes larger than # this value, doxygen will try to truncate the graph, so that it fits within # the specified constraint. Beware that most browsers cannot cope with very # large images. MAX_DOT_GRAPH_WIDTH = 1024 # The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height # (in pixels) of the graphs generated by dot. If a graph becomes larger than # this value, doxygen will try to truncate the graph, so that it fits within # the specified constraint. Beware that most browsers cannot cope with very # large images. MAX_DOT_GRAPH_HEIGHT = 1024 # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the # graphs generated by dot. A depth value of 3 means that only nodes reachable # from the root by following a path via at most 3 edges will be shown. Nodes # that lay further from the root node will be omitted. Note that setting this # option to 1 or 2 may greatly reduce the computation time needed for large # code bases. Also note that a graph may be further truncated if the graph's # image dimensions are not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH # and MAX_DOT_GRAPH_HEIGHT). If 0 is used for the depth value (the default), # the graph is not depth-constrained. MAX_DOT_GRAPH_DEPTH = 0 # Set the DOT_TRANSPARENT tag to YES to generate images with a transparent # background. This is disabled by default, which results in a white background. # Warning: Depending on the platform used, enabling this option may lead to # badly anti-aliased labels on the edges of a graph (i.e. they become hard to # read). DOT_TRANSPARENT = YES # Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output # files in one run (i.e. multiple -o and -T options on the command line). This # makes dot run faster, but since only newer versions of dot (>1.8.10) # support this, this feature is disabled by default. DOT_MULTI_TARGETS = NO # If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will # generate a legend page explaining the meaning of the various boxes and # arrows in the dot generated graphs. GENERATE_LEGEND = YES # If the DOT_CLEANUP tag is set to YES (the default) Doxygen will # remove the intermediate dot files that are used to generate # the various graphs. DOT_CLEANUP = YES #--------------------------------------------------------------------------- # Configuration::additions related to the search engine #--------------------------------------------------------------------------- # The SEARCHENGINE tag specifies whether or not a search engine should be # used. If set to NO the values of all tags below this one will be ignored. SEARCHENGINE = YES geda-gaf-1.8.2/gattrib/docs/gattrib.10000664000175000017500000000243712220655706014215 00000000000000.TH gattrib 1 "September 25th, 2013" "gEDA Project" 1.8.2.20130925 .SH NAME gattrib - gEDA/gaf Schematic Attribute Editor .SH SYNOPSIS .B gattrib [\fIOPTION\fR ...] [\fIFILE\fR ...] .SH DESCRIPTION .PP \fBgattrib\fR is a spreadsheet-like tool for bulk editing of attributes in gEDA schematics, usually created in \fBgschem\fR(1). .PP If no \fIFILE\fRs to open are specified on the command line, \fBgattrib\fR will display a file selector dialog on startup. .SH OPTIONS .TP 8 \fB-q\fR, \fB--quiet\fR Quiet mode. Turn off all warnings/notes/messages. .TP 8 \fB-v\fR, \fB--verbose\fR Verbose mode. Output all diagnostic information. .TP 8 \fB-h\fR, \fB--help\fR Print a help message. .SH ENVIRONMENT .TP 8 .B GEDADATA specifies the search directory for Scheme and rc files. The default is `${prefix}/share/gEDA'. .TP 8 .B GEDADATARC specifies the search directory for rc files. The default is `$GEDADATA'. .SH AUTHORS See the `AUTHORS' file included with this program. .SH COPYRIGHT .nf Copyright \(co 1999-2011 gEDA Contributors. License GPLv2+: GNU GPL version 2 or later. Please see the `COPYING' file included with this program for full details. .PP This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. .SH SEE ALSO \fBgschem\fR(1) geda-gaf-1.8.2/gattrib/docs/logo.png0000664000175000017500000003677612204177070014155 00000000000000PNG  IHDRmSbKGD pHYs  ~tIME&.h IDATx}^}翏{0Iɮ&uu"u$]V.Q!G *h=Ζ.YnDnbZb#uoikL263f9ϝzsGz=9};;/                                            @]I4B+Ai폍*\"Ro &uj%=UbyRN";q꺨]E ! ߕ=D$+ vl\~U]Ie*^m[{i,]ӧm _C:{8eB, n"ǣb#(j/,j-<\L/>qU#/W䗷`(:m qm)?J(J RiuףMqxQHě+%2bx%ELP:₇T,R KOɳZ6;OSUʮ"H@M6]1{0)lIҖh' .0D!ۮ!?0NqD{'u`y;tqlyKxP4e\SVad mIsl|[*ZWG !-1"(lŅqUpʒ&.?[gWU>11"`m!?̒bQw1X,,ܛ| UЪJΥ*dqM/ƱmĀ8H#rL&u UY%m w+Ҷw٧VlĄ)/]\86%;UCp [|}^خ} ob}DEk 4 =|״pq$^Yc?&2EFڷ<׸.oyykUTyiY:"vlҊt^S孫]jEM~|*0Z.}( :\-.-0i7#Ir PWd(OV]3MzO/i˥6itWɵ&kst$MCڴ6WUFmG7{Y<Q{7mK*&L,rʡK/B-z/ U,^z7JB.2pX&.Xz?XN=@$BTQɚTdUqtmߒe lʣ6l)KkkƮ|x8YmL.oyٴW5lVB.m=&I۶oԔVo*N؄٦-ɮDH .,ÇfKC.E՜-! d%Ƚ`L\\&0ZK? "CU"eCէ!Y&Wa!o*7$LidqlbŎ 4ik~xeETyTp67]zW1/T2.ENʓL+jH  B8^́ `<x܆ۏ{)0Q |b0E.p"c):bpa+P$MVV\񦤉kڶ]%08YB"Of&]Q"UL5 M]QKk.ot:qg&EP%=_W O6̡dWm& U`ᦼ'`,/o8D>mݛc\7y'l*Pͬ^ 6My1)>|\ Qimil)FزaۦOb# LLL4Uv|Bm^pGEl,DGxϥh{2se{!uÛ`SɻVipQžk%^!T\ Y "DnSV[n;r5_]2qtv| 3kqc.0zZv^ ~~2`p(2+[E0bG.p64Eڋo`Y"$|u' Hؤd /c:Vs9E U`p/F ތ~a[Cæ#PőųaKcFd,L9y<"i!}yrxG0[cc?0 'U<ы;y?֏v |1LpobfL* "2Laqmy+N,H며GRfYu+.>eEIPS7GD"!LVgM!4,:߮^t$UKk",l|'A|*΢7Ǧ&!+Lēɋd+`d۪vhي [O*n/JlsSɺhE9$D!OV! qIz/DaWsm|St| M8$b*^"Ia/i~sm~=LbƔN7U}]LA UQ9B:Ʒe"V\Ui=><}q>"rB 4xY ݛ}7 ;0'CW'M! ɰd|Hg*]*"TB+{h!)[pr_\]Mc'KP{%Tu(I̞l?uUWx0*\]OzI^e 񿦥JhCUN%7G|Ӈk"AH? 匹y"))/k3rR1XILM$*DwCX"+r ?K~%Eǐe폑D¦XhYdd39ۢ&tk]5vCC)Q_/C8Ni4qOB!LzB; 0ҐA&ʥh-5tg޶W?h!Q~l#1CDŽA^ =xBCgqU^7wXWVa(02o 8=O)/NG ~@#YEι*{6&0\~BưGSǙD<$p,fM6M,{f ^-`j smy躛*5[;UNy4dz*Ƕ0B j` e|hźdȥA,o3-#ؾdV`LO ݋lFkЮg"@Ϳqoz,Z_ON'OǎPW6,N2hdKo]ɛoƶ)Ϧ庍d/[<8Nk'Zεζ6[Q90Xܲa#0Ljr%kFػؽ8z8s3_ Yi_;v/2a00.: 0H\Y;W'O8mߞOC_dϲi7tl1쩧ԙLL\ux6bB*0f]g@l[G\ !0>,;|$r$p>PD=ƍl)`t8sfX 0j5|)лop luZ&F'g;w^B#V`@^ҩ)`hH5-Z`7AEb`|-.&'^/.曙wVy)[eey 訷4Vұ Jgpؾx-`l EqY\޲,zdK~{UM`؜X1+Wbكl. m {o;{>,IQ9ۺRQ `xx/ _(^lݚ 9bLL`vb >;l?^g k_Ao7c`K7mjn'}N[PJ=$>LUrVLnX #[̓M'2RcWS=42߱Wu)+Q*֤aiSI֭IᇍyiSú >&''|Ka1{0r\V2>j) p .LMIG$n]{iB=AGk[O>:x׀;tBo˝wop$D,0ڹRFG#%oFnE}GHL! Vٳh<\Æ7agaCC߰aaxN,ﳙiڋX鬣媫om* dt?ݻa'OzqV&$_ C ^xl % LNK/ɍ:{z-Ki ?9~f}e _;FbnK~cNO>DxKXD孌߮dl m*QyY<7}}$Y_.tu‰E`JԡClN#G| 9wݥaO(2= d`&rw*"zq^{} m^S|'fӖMg#G 19q>}cc9siԨ&zE`vu^2Y֭H?Y,Oeq1 q_drraU3I?D 08Etĉ8$[`ӤANnлGjI۶l{w] ey{FsV3{R $ /|P$0 G|}l܁M[EZ0< 8UdǏc\_-gfХ$edHB űs'03ƀMԔFddK<~ۡ9RV^ymZhYŦO#G^ }7ر/TsjS^ªDXy>[MMةin`jhfor%O&#ǃ_20UI6eg? |-SbB =B|r)ߛo׬IoS5I{/ߧK#i t͂m5?8n@֡?`m )=65β${2f©w3&=ׇ>ǁOBhMPy1"0r;>੧7ѿy37l@M۶ }ŪU#i_=ElG,J.wyMDu###K{|책$'N x#2ra"Юt܋u 09]CC=M_ϨJ=BLlȪMM}o =ܵGl8ϡCCøI`T#8z*h̛|kٰ陧;L @LeVРm LO{vd uƙa{k!Ψ*i4˱~_޲ wc`,P28(8|PnF:MNb@o2\ebp}7. >+:: ^sy ۪ۓ &?qZUeӆwM6x{9ґ-X)WS`B7I"*vf*N"36&^z 7px3I`m>hy7[ە*0ʢbp\P^Ps_~ b_7!iQU* 4|x(ijưiᴚIɼ7>Ѓ_U'>>(zYh"$,$>So?>]b@6!ցlHȖ(afA>s[3P `F5 6]*ȃA˲ _`^WˀXR>m^rJ}jhjkdV`W* FEqUH9`}3np#,T^-˿nϓwIǍQ>8(qF$i4pn~,5_*.k4=}6P* T({1 .@HSB? 8=kFtZ2SϷUQYHXKdBpf}nM~0=mt]cؘ|߳ϲQ@YwDne4n+\F` e]5H fۨdSjǪU~恐ͱAC\}ц"pf~`z{lšn #Yd nɓ 7[_/Åz]=ͨY0^|ΆjȁEf9uعy i Q>]wu=3}ʒ˒ǎ?h&>ܕQ("?|j[y&KkqMА_Yt3A/ ]q#ח7gK0WBO=`vMӸOOl2T ziI04H`t't#q wr&<`S:^/ot@%'@]ul&&쾨sj~G8Ghb:J≡D<v- ٻW#L(;oQ9Էm~˾ Rup0<T3IWRAqcZĄdk_s74oe/CQ?vLS򗁓'[$j//]*Q $0LBcC OMʕY=܃=> <>$vl4~G8V5МTA`gIDATLkD<`Mo|zسǮddx5>i6Z;ӿo4X$YzT?w< 8{_}FFXu|I{<|tf2 x_R X=9ӪU3=lu׵ӝ:S l\aPyN{5 :PVei~RkWjo ><?1  WJdcrV!DjH3j8iG~cFkGӗ;jQA(k.@~<|-[ 6z|)Ȼg<\..FGxdDoe2=FGݛIg[׭(ܹͰYٳD 'ܘfsuOh=..G'NBrڢN|:z$a]WTcg]w҈jԹ9z!;.tޚ6q?oap7+_}Gds6/|K'ر?[>O&&n/u4cǟx!:'O^cn@@6e]pǏv8ZG?~eIRw|뿋+8g;?;5+ `[;¨q' 50X,p9X?`aW]`)ŭeQN m/M+n#fYJ8XM.Hq iGІYةSa6:i3 zƇ]lH)LZw)$Gݶ$idzvQX\h-Y< Xee/C#c9TMTj#BGeXYyN^&n\:?H`t'$B#ӫXR.0T" ;lU n?_,9o*ȱ67o&"* "l.@r';w*lナaTzW|nJeLX%)w[.c7 lظX~ax9Z2cH7 "& VY '"m֭s72v*>;;w. ׁ?C:lʆ:wI#-EGFHyTƝ O? ~)f!ٰ̓b^GaqiM1zPPNITmF5h `r̖-iZD#=u}k6tFQWy} |NFy0\٨[Rw"'Xg'$ճҷ'vJyB:!;}})Vua؆ʍq$pcNi_%q9<ҔUr,Rj3ڍ}e>K{e8fgGe_|a=ff(Ykc^Z>Ɠspٽ`M:edLV*MeΜ kְ+VΟ{폞;V~1cecxmEUq9Y&2"bU[3y0^.,p,~zp%*w"]s,0:яܷM񋿸O.Z +xKR>9?J. ]Sx&r %V|Soֲt!4O_{~rbTpYtmHT(?pB(X 땆 dߴ Mk6kEf?P"g}a> AW!Ii-UJ o nI:SVv1m4 6!n$mjuxxNaPKN&\/߃bF?': @q"|r%d;T@YTbL aeC.+]̈hG~f<2j*?S>W.H; h\6ŷ[ BB̻1 I`ЌD8jV~l;e =Kisiuh*W%N>#,};  KGK_Yo*b*<Uapk9_+ 6edkyEHuiv=f{ PlzIY\[K֯7}==_\ SS]Gbi&fy*Qvn̫ :9w Dmߞ- "׻ٝɓhKwwhgr%!H2PWycFsq[X:QysvrҕrSTF$"+2A֙7#Ob2]L>2\Nc;v>Z s5=ĚI``x9`&71:Qb t0G0Mgi4071;1f w/ YʕZQ[O=L^AO2~$Xf"|4BQ/:&iWLBUO2bہC[Q`R{;t3A of\ώ$4ZT]`ȣShnMo7qq08hn*Y=l}b8~t銛(*y/ʤEn9^Y`t݉>qs~i3W$kְ>IHF,hU3ٴ,l&3ѽ(y$o|z4dTV#m/a06:/ I6oA*/j~AQoDƏd_/iyu$b={qx3_Q*|#͛*z/R}L4}"6r-NK?>asZ<ʕ_kgG,3L`=x]WyP*{-&0ɛիo,(m)9ei&&}08$u6bdݺ;x.ؿ57p=0sɹ"2~pWFvzi e8biaqjuUKln[61 ,{y¦.PkI',YQǀ5k/} s2q0b[^pD!$%ry#.bm ˖jz<+,phm =-{"㲮 2ػgVBB)/17Yyf.c#vڸ}ME .p.w3A+Melb`}*+VS}ݹGyN+|u# ]`0MڼQzWtHe!y5m$~i %(]`(M Hb VU/Dy3|C}uo{BI`t{eWZC+ǘ/Y^$ç׵^*bᢰ.su$@.ld尉/ MjG.MZ}Zy3e?l)߅m %ϦffrvEGK=1y0Dt E*" :h> t.ĸLbICE-V$!пMIދ ~(ExHl%&b$m$GT$eKRb/M~Em"&5JPUh> ]Ӆm\YSH@HB;c܈qtl=@):̛h1[HM#(0J]7H7",TeBV_],M't8T$D b+g0]GAFy)d7֓ge+O:tbۦ,(R<.i} ^ W/C>gWOEU2n~ź-(0B:O\k} OoZi/ aC?K\EpocLjSNV{2zUؔ6</ok|aSl6.ie`J vQ/~CieK@xC|ē:/,s>zm!q]CY`ĀJd&۶vUaqM4>mV*EV^!_Ϸ~i]+q> B2W&t\*~S|`MD "CaS,i$4!$F'hLXE[H\iTdڧ]g&,j5ti Hm"m*uS&@U&.@0I6O$= _Ѷdzkk^ Q`DOCvDLkmqEhWIO#W#7"rTtv*Fv]⤉D _"<EM&K.vmIlT|u6bcmA\hrx̣Q'w~C[8` `g 訣 ,IzFllƶzҦms;KWB.KnڟW,lc˶▥6═ųT)p@bf2LVFY&:_Eq"{6x34TЄ,0\\ryh0Ӷ)k~`aNrVx\=6ݾ4"F2nώ+imȗDK]ċɾMeg]do|Mm|__t^]"V$4'/3n-n2G$P8WuIbZK5$)0X'uUn#d3ٓK1Yf?Og[Fۊڥܪ0RgB4"Fdm6U&i¦l.Eio"+&c>{L\SUry7髼6o.^UE7JFʠK#cS 4Aw-d 1W+bzkMi#w"j &c]қ<(*a6$=&O|؟ Y-.6x c TU_tN_FX VqJT\⾴[U68Mxi6ΎȰ)Ud3a6 Ym˭g dcuSd~ԯ 鑐 Nl؊F'DB σ1+M$FIE.@xDB# lue\j4y ՕŦ [Q"$\weBEimI#~\ⱉR/*,_˞UDMeBT(5(Nㅰˆ2nD\qʈ Qdlڳ ۵ _^M#SVUBd9M%`+΀jooְ t4|peoa) #include #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_move_start(GSCHEM_TOPLEVEL *w_current, int w_x, int w_y) { TOPLEVEL *toplevel = w_current->toplevel; GList *s_iter; g_return_if_fail (w_current->stretch_list == NULL); if (o_select_selected (w_current)) { /* Save the current state. When rotating the selection when moving, we have to come back to here */ o_undo_savestate(w_current, UNDO_ALL); w_current->last_drawb_mode = LAST_DRAWB_MODE_NONE; w_current->event_state = MOVE; w_current->first_wx = w_current->second_wx = w_x; w_current->first_wy = w_current->second_wy = w_y; o_invalidate_glist (w_current, geda_list_get_glist (toplevel->page_current->selection_list)); if (w_current->netconn_rubberband) { o_move_prep_rubberband(w_current); /* Set the dont_redraw flag on rubberbanded objects and invalidate them. * This ensures that they are not drawn (in their un-stretched position) * during screen updates. */ for (s_iter = w_current->stretch_list; s_iter != NULL; s_iter = g_list_next (s_iter)) { STRETCH *stretch = s_iter->data; stretch->object->dont_redraw = TRUE; o_invalidate (w_current, stretch->object); } } o_select_move_to_place_list(w_current); w_current->inside_action = 1; o_move_invalidate_rubber (w_current, TRUE); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ static void o_move_end_lowlevel_glist (GSCHEM_TOPLEVEL *w_current, GList *list, int diff_x, int diff_y) { OBJECT *object; GList *iter; iter = list; while (iter != NULL) { object = (OBJECT *)iter->data; o_move_end_lowlevel (w_current, object, diff_x, diff_y); iter = g_list_next (iter); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_move_end_lowlevel (GSCHEM_TOPLEVEL *w_current, OBJECT *object, int diff_x, int diff_y) { TOPLEVEL *toplevel = w_current->toplevel; switch (object->type) { case (OBJ_NET): case (OBJ_BUS): case (OBJ_PIN): s_conn_remove_object (toplevel, object); o_translate_world (toplevel, diff_x, diff_y, object); s_conn_update_object (toplevel, object); break; default: o_translate_world (toplevel, diff_x, diff_y, object); break; } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_move_end(GSCHEM_TOPLEVEL *w_current) { TOPLEVEL *toplevel = w_current->toplevel; GList *s_current = NULL; OBJECT *object; int diff_x, diff_y; int left, top, right, bottom; GList *s_iter; GList *rubbernet_objects = NULL; object = o_select_return_first_object(w_current); if (!object) { /* actually this is an error condition hack */ w_current->inside_action = 0; i_set_state(w_current, SELECT); return; } diff_x = w_current->second_wx - w_current->first_wx; diff_y = w_current->second_wy - w_current->first_wy; o_move_invalidate_rubber (w_current, FALSE); w_current->rubber_visible = 0; if (w_current->netconn_rubberband) { o_move_end_rubberband (w_current, diff_x, diff_y, &rubbernet_objects); } /* Unset the dont_redraw flag on rubberbanded objects. * We set this above, in o_move_start(). */ for (s_iter = w_current->stretch_list; s_iter != NULL; s_iter = g_list_next (s_iter)) { STRETCH *stretch = s_iter->data; stretch->object->dont_redraw = FALSE; } s_current = geda_list_get_glist( toplevel->page_current->selection_list ); while (s_current != NULL) { object = (OBJECT *) s_current->data; if (object == NULL) { fprintf(stderr, _("ERROR: NULL object in o_move_end!\n")); exit(-1); } switch (object->type) { case (OBJ_COMPLEX): case (OBJ_PLACEHOLDER): /* TODO: Fix so we can just pass the complex to o_move_end_lowlevel, * IE.. by falling through the bottom of this case statement. */ /* this next section of code is from */ /* o_complex_world_translate_world */ object->complex->x = object->complex->x + diff_x; object->complex->y = object->complex->y + diff_y; o_move_end_lowlevel_glist (w_current, object->complex->prim_objs, diff_x, diff_y); world_get_object_glist_bounds (toplevel, object->complex->prim_objs, &left, &top, &right, &bottom); object->w_left = left; object->w_top = top; object->w_right = right; object->w_bottom = bottom; break; default: o_move_end_lowlevel (w_current, object, diff_x, diff_y); break; } s_current = g_list_next(s_current); } /* Remove the undo saved in o_move_start */ o_undo_remove_last_undo(w_current); /* Draw the objects that were moved */ o_invalidate_glist (w_current, geda_list_get_glist (toplevel->page_current->selection_list)); /* Draw the connected nets/buses that were also changed */ o_invalidate_glist (w_current, rubbernet_objects); /* Call move-objects-hook for moved objects and changed connected * nets/buses */ GList *moved_list = g_list_concat (toplevel->page_current->place_list, rubbernet_objects); toplevel->page_current->place_list = NULL; rubbernet_objects = NULL; g_run_hook_object_list (w_current, "%move-objects-hook", moved_list); g_list_free (moved_list); toplevel->page_current->CHANGED = 1; o_undo_savestate(w_current, UNDO_ALL); s_stretch_destroy_all (w_current->stretch_list); w_current->stretch_list = NULL; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_move_cancel (GSCHEM_TOPLEVEL *w_current) { GList *s_iter; /* Unset the dont_redraw flag on rubberbanded objects. * We set this above, in o_move_start(). */ for (s_iter = w_current->stretch_list; s_iter != NULL; s_iter = g_list_next (s_iter)) { STRETCH *stretch = s_iter->data; stretch->object->dont_redraw = FALSE; } g_list_free(w_current->toplevel->page_current->place_list); w_current->toplevel->page_current->place_list = NULL; s_stretch_destroy_all (w_current->stretch_list); w_current->stretch_list = NULL; w_current->inside_action = 0; i_set_state (w_current, SELECT); o_undo_callback(w_current, UNDO_ACTION); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_move_motion (GSCHEM_TOPLEVEL *w_current, int w_x, int w_y) { TOPLEVEL *toplevel = w_current->toplevel; GList *selection, *s_current; OBJECT *object; gint object_x, object_y; gboolean resnap = FALSE; selection = geda_list_get_glist( toplevel->page_current->selection_list ); /* realign the object if we are in resnap mode */ if (selection != NULL && w_current->snap == SNAP_RESNAP) { if (g_list_length(selection) > 1) { /* find an object that is not attached to any other object */ for (s_current = selection; s_current != NULL; s_current = g_list_next(s_current)) { if (((OBJECT *) s_current->data)->attached_to == NULL) { object = (OBJECT *) s_current->data; resnap = TRUE; break; } } /* Only resnap single elements. This is also the case if the selection contains one object and all other object elements are attributes of the object element.*/ for (s_current = selection; s_current != NULL && resnap == TRUE; s_current = g_list_next(s_current)) { if (!(object == (OBJECT *) s_current->data) && !o_attrib_is_attached(toplevel, (OBJECT *) s_current->data, object)) { resnap = FALSE; } } } else { /* single object */ resnap = TRUE; object = (OBJECT *) selection->data; } /* manipulate w_x and w_y in a way that will lead to a position of the object that is aligned with the grid */ if (resnap) { if (o_get_position(toplevel, &object_x, &object_y, object)) { w_x += snap_grid (w_current, object_x) - object_x; w_y += snap_grid (w_current, object_y) - object_y; } } } o_move_invalidate_rubber (w_current, FALSE); w_current->second_wx = w_x; w_current->second_wy = w_y; o_move_invalidate_rubber (w_current, TRUE); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_move_invalidate_rubber (GSCHEM_TOPLEVEL *w_current, int drawing) { GList *s_iter; int dx1, dx2, dy1, dy2; int x1, y1, x2, y2; o_place_invalidate_rubber (w_current, drawing); if (w_current->netconn_rubberband) { for (s_iter = w_current->stretch_list; s_iter != NULL; s_iter = g_list_next (s_iter)) { STRETCH *s_current = s_iter->data; OBJECT *object = s_current->object; switch (object->type) { case (OBJ_NET): case (OBJ_BUS): if (s_current->whichone == 0) { dx1 = w_current->second_wx - w_current->first_wx; dy1 = w_current->second_wy - w_current->first_wy; dx2 = dy2 = 0; } else { dx1 = dy1 = 0; dx2 = w_current->second_wx - w_current->first_wx; dy2 = w_current->second_wy - w_current->first_wy; } WORLDtoSCREEN (w_current, object->line->x[0] + dx1, object->line->y[0] + dy1, &x1, &y1); WORLDtoSCREEN (w_current, object->line->x[1] + dx2, object->line->y[1] + dy2, &x2, &y2); o_invalidate_rect (w_current, x1, y1, x2, y2); } } } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_move_draw_rubber (GSCHEM_TOPLEVEL *w_current, int drawing) { GList *s_iter; int diff_x, diff_y; o_place_draw_rubber (w_current, drawing); if (!w_current->netconn_rubberband) return; diff_x = w_current->second_wx - w_current->first_wx; diff_y = w_current->second_wy - w_current->first_wy; for (s_iter = w_current->stretch_list; s_iter != NULL; s_iter = g_list_next (s_iter)) { STRETCH *s_current = s_iter->data; OBJECT *object = s_current->object; int whichone = s_current->whichone; switch (object->type) { case (OBJ_NET): o_net_draw_stretch (w_current, diff_x, diff_y, whichone, object); break; case (OBJ_BUS): o_bus_draw_stretch (w_current, diff_x, diff_y, whichone, object); break; } } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ int o_move_return_whichone(OBJECT * object, int x, int y) { if (object->line->x[0] == x && object->line->y[0] == y) { return (0); } if (object->line->x[1] == x && object->line->y[1] == y) { return (1); } fprintf(stderr, _("DOH! tried to find the whichone, but didn't find it!\n")); return (-1); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_move_check_endpoint(GSCHEM_TOPLEVEL *w_current, OBJECT * object) { TOPLEVEL *toplevel = w_current->toplevel; GList *cl_current; CONN *c_current; OBJECT *other; int whichone; if (!object) return; if (object->type != OBJ_NET && object->type != OBJ_PIN && object->type != OBJ_BUS) { fprintf(stderr, _("Got a non line object in o_move_check_endpoint\n")); return; } for (cl_current = object->conn_list; cl_current != NULL; cl_current = g_list_next(cl_current)) { c_current = (CONN *) cl_current->data; other = c_current->other_object; if (other == NULL) continue; /* really make sure that the object is not selected */ if (other->selected) continue; /* Catch pins, whos parent object is selected. */ if (other->parent != NULL && other->parent->selected) continue; if (c_current->type != CONN_ENDPOINT && (c_current->type != CONN_MIDPOINT || c_current->other_whichone == -1)) continue; if (/* (net)pin to (net)pin contact */ (object->type == OBJ_PIN && object->pin_type == PIN_TYPE_NET && other->type == OBJ_PIN && other->pin_type == PIN_TYPE_NET)) { /* net to (net)pin contact */ /* (object->type == OBJ_NET && other->type == OBJ_PIN && other->pin_type == PIN_TYPE_NET) */ OBJECT *new_net; /* other object is a pin, insert a net */ new_net = o_net_new (toplevel, OBJ_NET, NET_COLOR, c_current->x, c_current->y, c_current->x, c_current->y); s_page_append (toplevel, toplevel->page_current, new_net); /* This new net object is only picked up for stretching later, * somewhat of a kludge. If the move operation is cancelled, these * new 0 length nets are removed by the "undo" operation invoked. */ } /* Only attempt to stretch nets and buses */ if (other->type != OBJ_NET && other->type != OBJ_BUS) continue; whichone = o_move_return_whichone (other, c_current->x, c_current->y); #if DEBUG printf ("FOUND: %s type: %d, whichone: %d, x,y: %d %d\n", other->name, c_current->type, whichone, c_current->x, c_current->y); printf("other x,y: %d %d\n", c_current->x, c_current->y); printf("type: %d return: %d real: [ %d %d ]\n", c_current->type, whichone, c_current->whichone, c_current->other_whichone); #endif if (whichone >= 0 && whichone <= 1) { w_current->stretch_list = s_stretch_add (w_current->stretch_list, other, whichone); } } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_move_prep_rubberband(GSCHEM_TOPLEVEL *w_current) { TOPLEVEL *toplevel = w_current->toplevel; GList *s_current; OBJECT *object; OBJECT *o_current; GList *iter; for (s_current = geda_list_get_glist (toplevel->page_current->selection_list); s_current != NULL; s_current = g_list_next (s_current)) { object = s_current->data; if (object == NULL) continue; switch (object->type) { case (OBJ_NET): case (OBJ_PIN): case (OBJ_BUS): o_move_check_endpoint (w_current, object); break; case (OBJ_COMPLEX): case (OBJ_PLACEHOLDER): for (iter = object->complex->prim_objs; iter != NULL; iter = g_list_next (iter)) { o_current = iter->data; if (o_current->type == OBJ_PIN) { o_move_check_endpoint (w_current, o_current); } } break; } } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ int o_move_zero_length(OBJECT * object) { #if DEBUG printf("x: %d %d y: %d %d\n", object->line->x[0], object->line->x[1], object->line->y[0], object->line->y[1]); #endif if (object->line->x[0] == object->line->x[1] && object->line->y[0] == object->line->y[1]) { return TRUE; } else { return FALSE; } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_move_end_rubberband (GSCHEM_TOPLEVEL *w_current, int w_dx, int w_dy, GList** objects) { TOPLEVEL *toplevel = w_current->toplevel; GList *s_iter, *s_iter_next; for (s_iter = w_current->stretch_list; s_iter != NULL; s_iter = s_iter_next) { STRETCH *s_current = s_iter->data; OBJECT *object = s_current->object; int whichone = s_current->whichone; /* Store this now, since we may delete the current item */ s_iter_next = g_list_next (s_iter); if (object->type == OBJ_NET || object->type == OBJ_BUS) { /* remove the object's connections */ s_conn_remove_object (toplevel, object); object->line->x[whichone] += w_dx; object->line->y[whichone] += w_dy; if (o_move_zero_length (object)) { w_current->stretch_list = s_stretch_remove (w_current->stretch_list, object); o_delete (w_current, object); continue; } o_recalc_single_object (toplevel, object); s_tile_update_object (toplevel, object); s_conn_update_object (toplevel, object); *objects = g_list_append (*objects, object); } } } geda-gaf-1.8.2/gschem/src/g_funcs.c0000664000175000017500000001434012220647257013736 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #include #include #ifdef HAVE_STRING_H #include #endif #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_UNISTD_H #include #endif #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_funcs_print(SCM scm_filename) { char *filename; TOPLEVEL *toplevel = edascm_c_current_toplevel (); SCM_ASSERT (scm_is_string (scm_filename), scm_filename, SCM_ARG1, "gschem-print"); if (output_filename) { if (f_print_file (toplevel, toplevel->page_current, output_filename)) return SCM_BOOL_F; } else { filename = scm_to_utf8_string(scm_filename); if (f_print_file (toplevel, toplevel->page_current, filename)) { free(filename); return SCM_BOOL_F; } free(filename); } return SCM_BOOL_T; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_funcs_postscript(SCM scm_filename) { char *filename; TOPLEVEL *toplevel = edascm_c_current_toplevel (); SCM_ASSERT (scm_is_string (scm_filename), scm_filename, SCM_ARG1, "gschem-postscript"); if (output_filename) { if (f_print_file (toplevel, toplevel->page_current, output_filename)) return SCM_BOOL_F; } else { filename = scm_to_utf8_string(scm_filename); if (f_print_file (toplevel, toplevel->page_current, filename)) { free(filename); return SCM_BOOL_F; } free(filename); } return SCM_BOOL_T; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_funcs_image(SCM scm_filename) { char *filename; SCM_ASSERT (scm_is_string (scm_filename), scm_filename, SCM_ARG1, "gschem-image"); GSCHEM_TOPLEVEL *w_current = g_current_window (); if (output_filename) { x_image_lowlevel (w_current, output_filename, w_current->image_width, w_current->image_height, g_strdup("png")); } else { filename = scm_to_utf8_string (scm_filename); x_image_lowlevel (w_current, filename, w_current->image_width, w_current->image_height, g_strdup("png")); free(filename); } return SCM_BOOL_T; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_funcs_exit(void) { exit(0); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_funcs_log(SCM scm_msg) { char *msg; SCM_ASSERT (scm_is_string (scm_msg), scm_msg, SCM_ARG1, "gschem-log"); msg = scm_to_utf8_string (scm_msg); s_log_message ("%s", msg); free(msg); return SCM_BOOL_T; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_funcs_msg(SCM scm_msg) { char *msg; SCM_ASSERT (scm_is_string (scm_msg), scm_msg, SCM_ARG1, "gschem-msg"); msg = scm_to_utf8_string (scm_msg); generic_msg_dialog (msg); free(msg); return SCM_BOOL_T; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_funcs_confirm(SCM scm_msg) { int r; char *msg; SCM_ASSERT (scm_is_string (scm_msg), scm_msg, SCM_ARG1, "gschem-msg"); msg = scm_to_utf8_string (scm_msg); r = generic_confirm_dialog (msg); free(msg); if (r) return SCM_BOOL_T; else return SCM_BOOL_F; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_funcs_filesel(SCM scm_msg, SCM scm_templ, SCM scm_flags) { int c_flags; char *r, *msg, *templ; SCM v; SCM_ASSERT (scm_is_string (scm_msg), scm_msg, SCM_ARG1, "gschem-filesel"); SCM_ASSERT (scm_is_string (scm_templ), scm_templ, SCM_ARG2, "gschem-filesel"); /*! \bug FIXME -- figure out the magic SCM_ASSERT for the flags */ /*! \bug FIXME -- how to deal with conflicting flags? * Should I throw a scheme error? Just deal in the c code? */ for (c_flags = 0; scm_is_pair (scm_flags); scm_flags = SCM_CDR (scm_flags)) { char *flag; SCM scm_flag = SCM_CAR (scm_flags); flag = scm_to_utf8_string (scm_flag); if (strcmp (flag, "may_exist") == 0) { c_flags |= FSB_MAY_EXIST; } else if (strcmp (flag, "must_exist") == 0) { c_flags |= FSB_MUST_EXIST; } else if (strcmp (flag, "must_not_exist") == 0) { c_flags |= FSB_SHOULD_NOT_EXIST; } else if (strcmp (flag, "save") == 0) { c_flags |= FSB_SAVE; } else if (strcmp (flag, "open") == 0) { c_flags |= FSB_LOAD; } else { free(flag); scm_wrong_type_arg ("gschem-filesel", SCM_ARG3, scm_flag); } free(flag); } scm_dynwind_begin (0); msg = scm_to_utf8_string (scm_msg); scm_dynwind_free (msg); templ = scm_to_utf8_string (scm_templ); scm_dynwind_free (templ); r = generic_filesel_dialog (msg, templ, c_flags); scm_dynwind_unwind_handler (g_free, r, SCM_F_WIND_EXPLICITLY); v = scm_from_utf8_string (r); scm_dynwind_end(); return v; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_funcs_use_rc_values(void) { i_vars_set(g_current_window ()); return SCM_BOOL_T; } geda-gaf-1.8.2/gschem/src/o_circle.c0000664000175000017500000004604212220647257014075 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2011 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif typedef void (*FILL_FUNC) (GSCHEM_TOPLEVEL *w_current, COLOR *color, CIRCLE *circle, gint fill_width, gint angle1, gint pitch1, gint angle2, gint pitch2); /*! \brief Placeholder filling function. * \par Function Description * This function does nothing. It has the same prototype as all the filling * functions. It prevent from making a difference between filling in function * #o_circle_draw(). * * The unit for width, pitch1 and pitch2 is pixel and unit * for angle1 and angle2 is degree. * * \param [in] w_current Schematic top level * \param [in] color Circle fill color. * \param [in] circle Circle to be drawn * \param [in] fill_width * \param [in] angle1 1st angle for pattern. * \param [in] pitch1 1st pitch for pattern. * \param [in] angle2 2nd angle for pattern. * \param [in] pitch2 2nd pitch for pattern. */ static void o_circle_fill_hollow (GSCHEM_TOPLEVEL *w_current, COLOR *color, CIRCLE *circle, gint fill_width, gint angle1, gint pitch1, gint angle2, gint pitch2) { } /*! \brief Fill inside of circle with a solid pattern. * \par Function Description * This function fills the inside of the circle with a solid pattern. * Parameters angle1, pitch1 and angle2, pitch2 * and width are unused here but kept for compatibility with other * circle filling functions. * * The circle is described by the coordinates of its center and its radius. * Please not that it is not the way GDK take it. Translation is made * afterward. * * The unit for width, pitch1 and pitch2 is pixel and unit * for angle1 and angle2 is degree. * * \param [in] w_current Schematic top level * \param [in] color Circle fill color. * \param [in] circle Circle to be drawn * \param [in] fill_width * \param [in] angle1 (unused) * \param [in] pitch1 (unused) * \param [in] angle2 (unused) * \param [in] pitch2 (unused) */ static void o_circle_fill_fill (GSCHEM_TOPLEVEL *w_current, COLOR *color, CIRCLE *circle, gint fill_width, gint angle1, gint pitch1, gint angle2, gint pitch2) { /* NOP: We'll fill it when we do the stroking */ } /*! \brief Fill inside of circle with single line pattern. * \par Function Description * This function fills the inside of the circle with a pattern made of lines. * The lines are drawn inside the circle with an angle angle1 from the * horizontal. The distance between two of these lines is given by * pitch1 and their width by width. * Parameters angle2, pitch2 are unused here but kept for * compatibility with other circle filling functions. * * The circle is described by the coordinates of its center and its radius. * Please not that it is not the way GDK take it. Translation is made * afterward. * * The unit for width, pitch1 and pitch2 is pixel and unit * for angle1 and angle2 is degree. * * The only attribute of line here is its width from the parameter width. * * Negative or null values for pitch1 are not allowed as it leads to * an endless loop. * * \param [in] w_current Schematic top level * \param [in] color Circle fill color. * \param [in] circle Circle to be drawn * \param [in] fill_width * \param [in] angle1 1st angle for pattern. * \param [in] pitch1 1st pitch for pattern. * \param [in] angle2 (unused) * \param [in] pitch2 (unused) */ static void o_circle_fill_hatch (GSCHEM_TOPLEVEL *w_current, COLOR *color, CIRCLE *circle, gint fill_width, gint angle1, gint pitch1, gint angle2, gint pitch2) { int i; GArray *lines; gschem_cairo_set_source_color (w_current, color); lines = g_array_new (FALSE, FALSE, sizeof (LINE)); m_hatch_circle (circle, angle1, pitch1, lines); for (i=0; i < lines->len; i++) { LINE *line = &g_array_index (lines, LINE, i); gschem_cairo_line (w_current, END_NONE, fill_width, line->x[0], line->y[0], line->x[1], line->y[1]); } gschem_cairo_stroke (w_current, TYPE_SOLID, END_NONE, fill_width, -1, -1); g_array_free (lines, TRUE); } /*! \brief Fill inside of circle with mesh pattern. * \par Function Description * This function fills the inside of the circle with a pattern made of set * of parallel lines in two directions. The first set is drawn inside the * circle with an angle angle1 from the horizontal. The distance between * two of these lines is given by pitch1. * The second set is drawn inside the circle with an angle angle2 from * the horizontal. The distance between two of these lines is given by * pitch2. * Every lines have the same width given by width. * * The unit for width, pitch1 and pitch2 is pixel and unit * for angle1 and angle2 is degree. * * This function simply makes two successive calls to the function * #o_circle_fill_hatch() respectively with angle1, pitch1 and * angle2, pitch2 for parameters. * * \param [in] w_current Schematic top level * \param [in] color Circle fill color. * \param [in] circle Circle to be drawn * \param [in] fill_width * \param [in] angle1 1st angle for pattern. * \param [in] pitch1 1st pitch for pattern. * \param [in] angle2 2nd angle for pattern. * \param [in] pitch2 2nd pitch for pattern. */ static void o_circle_fill_mesh (GSCHEM_TOPLEVEL *w_current, COLOR *color, CIRCLE *circle, gint fill_width, gint angle1, gint pitch1, gint angle2, gint pitch2) { o_circle_fill_hatch (w_current, color, circle, fill_width, angle1, pitch1, -1, -1); o_circle_fill_hatch (w_current, color, circle, fill_width, angle2, pitch2, -1, -1); } /*! \brief Draw a circle on the screen. * \par Function Description * This function is used to draw a circle on screen. The circle is described * by the OBJECT which is referred by o_current. The display is done * according to the current state, given by the GSCHEM_TOPLEVEL object pointed by * w_current. * * It first checks if the OBJECT pointed is valid or not. If not it * returns and do not output anything. That should never happen though. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] o_current Circle OBJECT to draw. */ void o_circle_draw(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current) { int angle1, pitch1, angle2, pitch2; FILL_FUNC fill_func; if (o_current->circle == NULL) { return; } /* * The draw of the circle is divided in two steps : first step is to draw * the outline, the second is to draw the filling pattern inside (if any). * * Finally the function takes care of the grips. */ /* * The values needed for the fill operation are taken from the * o_current pointed OBJECT. It include the type of fill required, the * width of the lines (if the fill use line) and angles and pitchs for hatch * based filling. * * Once again the width of the line is important as if it is equal to 0 it * may not be displayed. That is definetely not what we are looking for. * * Depending on the type of fill that has to be used inside the circle the * right function is called. Values of angle1, angle2, * pitch1 and pitch2 are adapted to the type of filling. The * possible functions are the following : #o_circle_fill_hollow(), * #o_circle_fill_fill(), #o_circle_fill_mesh() and #o_circle_fill_hatch(). * * The combination pitch1 <= 0 and pitch2 <= 0 is avoided as it * lead to an endless loop in function called after. It happens when the * zoom factor is too small for two lines separated by the pitch to be * distinct. If such a case is encountered the circle is filled hollow * (e.q. not filled). */ angle1 = o_current->fill_angle1; pitch1 = o_current->fill_pitch1; angle2 = o_current->fill_angle2; pitch2 = o_current->fill_pitch2; switch(o_current->fill_type) { case FILLING_HOLLOW: angle1 = -1; angle2 = -1; pitch1 = 1; pitch2 = 1; /* * this function is empty ! however if it do not use it we have to add * a test before the call. Simply putting a return here instead is not * possible as it would prevent any hollow circle from having its grips */ fill_func = o_circle_fill_hollow; break; case FILLING_FILL: angle1 = -1; angle2 = -1; pitch1 = 1; pitch2 = 1; fill_func = o_circle_fill_fill; break; case FILLING_MESH: fill_func = o_circle_fill_mesh; break; case FILLING_HATCH: angle2 = -1; pitch2 = 1; fill_func = o_circle_fill_hatch; break; case FILLING_VOID: default: angle1 = -1; angle2 = -1; pitch1 = 1; pitch2 = 1; fill_func = o_circle_fill_hollow; fprintf (stderr, _("Unknown type for circle (fill)!\n")); } if ((pitch1 <= 0) || (pitch2 <= 0)) fill_func = o_circle_fill_fill; (*fill_func) (w_current, o_drawing_color (w_current, o_current), o_current->circle, o_current->fill_width, angle1, pitch1, angle2, pitch2); gschem_cairo_arc (w_current, o_current->line_width, o_current->circle->center_x, o_current->circle->center_y, o_current->circle->radius, 0, 360); gschem_cairo_set_source_color (w_current, o_drawing_color (w_current, o_current)); if (o_current->fill_type == FILLING_FILL) cairo_fill_preserve (w_current->cr); gschem_cairo_stroke (w_current, o_current->line_type, o_current->line_end, o_current->line_width, o_current->line_length, o_current->line_space); if (o_current->selected && w_current->draw_grips) o_circle_draw_grips (w_current, o_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_circle_invalidate_rubber (GSCHEM_TOPLEVEL *w_current) { int cx, cy, radius; WORLDtoSCREEN (w_current, w_current->first_wx, w_current->first_wy, &cx, &cy); radius = SCREENabs (w_current, w_current->distance); o_invalidate_rect (w_current, cx - radius, cy - radius, cx + radius, cy + radius); } /*! \brief Draw a circle described by OBJECT with translation * \par Function Description * This function draws the circle object described by *o_current * translated by the vector (dx,dy). * The translation vector is in world unit. * * The circle is displayed with the color of the object. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] dx Delta x coordinate for circle. * \param [in] dy Delta y coordinate for circle. * \param [in] o_current Circle OBJECT to draw. * * \todo * add in offsets, get rid of global diffs_x,y */ void o_circle_draw_place (GSCHEM_TOPLEVEL *w_current, int dx, int dy, OBJECT *o_current) { g_return_if_fail (o_current->circle != NULL); gschem_cairo_arc (w_current, 0, o_current->circle->center_x + dx, o_current->circle->center_y + dy, o_current->circle->radius, 0, 360); gschem_cairo_set_source_color (w_current, x_color_lookup_dark (o_current->color)); gschem_cairo_stroke (w_current, TYPE_SOLID, END_NONE, 0, -1, -1); } /*! \brief Start process to input a new circle. * \par Function Description * This function starts the process to input a new circle. Parameters for * this circle are pu into/extracted from the w_current toplevel * structure. * w_x and w_y are current coordinates of the mouse pointer in * world units. * * The first step of the circle input is to set the center of the arc. * This center is kept in (w_current->first_wx,w_current->first_wy). * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] w_x Current x coordinate of pointer in world units. * \param [in] w_y Current y coordinate of pointer in world units. */ void o_circle_start(GSCHEM_TOPLEVEL *w_current, int w_x, int w_y) { /* center of circle */ w_current->first_wx = w_x; w_current->first_wy = w_y; /* radius */ w_current->distance = 0; /* first temporary circle */ o_circle_invalidate_rubber (w_current); w_current->rubber_visible = 1; } /*! \brief End the input of a circle. * \par Function Description * This function ends the input of the radius of the circle. * The (w_x,w_y) point is taken as the other end of the radius * segment, i.e. on the circle. The distance between this point and the * center is the radius of the circle. * w_x and w_y are in world coords. * * The center has previously been input and saved as * (w_current->first_wx,w_current->first_wy). * * The temporary circle drawn during the input of the radius is erased. * A new object is allocated, initialized and linked in the object list. * This new object is finally drawn. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] w_x (unused) * \param [in] w_y (unused) */ void o_circle_end(GSCHEM_TOPLEVEL *w_current, int w_x, int w_y) { TOPLEVEL *toplevel = w_current->toplevel; OBJECT *new_obj; g_assert( w_current->inside_action != 0 ); /* erase the temporary circle */ /* o_circle_invalidate_rubber (w_current); */ w_current->rubber_visible = 0; /* circle with null radius are not allowed */ if (w_current->distance == 0) { /* cancel the object creation */ return; } /* create the object */ new_obj = o_circle_new (toplevel, OBJ_CIRCLE, GRAPHIC_COLOR, w_current->first_wx, w_current->first_wy, w_current->distance); s_page_append (toplevel, toplevel->page_current, new_obj); /* Call add-objects-hook */ g_run_hook_object (w_current, "%add-objects-hook", new_obj); toplevel->page_current->CHANGED = 1; o_undo_savestate(w_current, UNDO_ALL); } /*! \brief Draw temporary circle while dragging edge. * \par Function Description * This function draws a circle according to its internal representation and * allows the modification of its radius. The radius is updated according to * the current mouse position in w_x and w_y. * It draws a full circle and the horizontal segment of the radius in the * right half of the circle. * * The previous temporary circle is erased, the radius is then computed and * updated and finally a new temporary circle is drawn. * * The arc is internally described by : *
    *
    *
    (w_current->first_wx,w_current->first_wy) as its * center ; *
    *
    w_current->distance as its radius. *
    * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] w_x Current x coordinate of pointer in world units. * \param [in] w_y Current y coordinate of pointer in world units. */ void o_circle_motion (GSCHEM_TOPLEVEL *w_current, int w_x, int w_y) { int diff_x, diff_y; g_assert( w_current->inside_action != 0 ); /* erase the previous temporary circle if it is visible */ if (w_current->rubber_visible) o_circle_invalidate_rubber (w_current); /* * The radius is taken as the biggest distance on the x and y axis between * the center of the circle and the mouse position. */ diff_x = abs(w_current->first_wx - w_x); diff_y = abs(w_current->first_wy - w_y); w_current->distance = max(diff_x, diff_y); /* draw the new temporary circle */ o_circle_invalidate_rubber (w_current); w_current->rubber_visible =1; } /*! \brief Draw circle from GSCHEM_TOPLEVEL object. * \par Function Description * This function draws the circle from the variables in the GSCHEM_TOPLEVEL * structure *w_current. * The center of the circle is at (w_current->first_wx, * w_current->first_wy) and its radius is in w_current->distance. * * It draws a horizontal radius segment on the right half of the circle and * the circle with the selection color. * * \param [in] w_current The GSCHEM_TOPLEVEL object. */ void o_circle_draw_rubber (GSCHEM_TOPLEVEL *w_current) { gschem_cairo_arc (w_current, 0, w_current->first_wx, w_current->first_wy, w_current->distance, 0, 360); gschem_cairo_line (w_current, END_NONE, 0, w_current->first_wx, w_current->first_wy, w_current->first_wx + w_current->distance, w_current->first_wy); gschem_cairo_set_source_color (w_current, x_color_lookup_dark (SELECT_COLOR)); gschem_cairo_stroke (w_current, TYPE_SOLID, END_NONE, 0, -1, -1); } /*! \brief Draw grip marks on circle. * \par Function Description * This function draws the grip that match the circle object *o_current. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] o_current Circle OBJECT to draw grip points on. */ void o_circle_draw_grips(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current) { if (w_current->draw_grips == FALSE) return; /* grip on lower right corner of the square */ o_grips_draw (w_current, o_current->circle->center_x + o_current->circle->radius, o_current->circle->center_y - o_current->circle->radius); } geda-gaf-1.8.2/gschem/src/x_preview.c0000664000175000017500000004053612220647257014330 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_STRING_H #include #endif #ifdef HAVE_UNISTD_H #include #endif #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif #define OVER_ZOOM_FACTOR 0.1 enum { PROP_FILENAME=1, PROP_BUFFER, PROP_ACTIVE }; static GObjectClass *preview_parent_class = NULL; static void preview_class_init (PreviewClass *class); static void preview_init (Preview *preview); static void preview_set_property (GObject *object, guint property_id, const GValue *value, GParamSpec *pspec); static void preview_get_property (GObject *object, guint property_id, GValue *value, GParamSpec *pspec); static void preview_dispose (GObject *self); /*! \brief Completes initialitation of the widget after realization. * \par Function Description * This function terminates the initialization of preview's GSCHEM_TOPLEVEL * and TOPLEVEL environments after the widget has been realized. * * It creates a preview page in the TOPLEVEL environment. * * \param [in] widget The preview widget. * \param [in] user_data Unused user data. */ static void preview_callback_realize (GtkWidget *widget, gpointer user_data) { Preview *preview = PREVIEW (widget); GSCHEM_TOPLEVEL *preview_w_current = preview->preview_w_current; TOPLEVEL *preview_toplevel = preview_w_current->toplevel; PAGE *preview_page; preview_w_current->window = preview_w_current->drawing_area->window; gtk_widget_grab_focus (preview_w_current->drawing_area); preview_toplevel->width = preview_w_current->drawing_area->allocation.width; preview_toplevel->height = preview_w_current->drawing_area->allocation.height; preview_w_current->win_width = preview_toplevel->width; preview_w_current->win_height = preview_toplevel->height; preview_w_current->drawable = preview_w_current->window; x_window_setup_gc (preview_w_current); preview_page = s_page_new (preview_toplevel, "unknown"); s_page_goto (preview_toplevel, preview_page); a_zoom_extents(preview_w_current, s_page_objects (preview_page), A_PAN_DONT_REDRAW); o_invalidate_all (preview_w_current); } /*! \brief Redraws the view when widget is exposed. * \par Function Description * It redraws the preview pixmap every time the widget is exposed. * * \param [in] widget The preview widget. * \param [in] event The event structure. * \param [in] user_data Unused user data. * \returns FALSE to propagate the event further. */ static gboolean preview_callback_expose (GtkWidget *widget, GdkEventExpose *event, gpointer user_data) { Preview *preview = PREVIEW (widget); GSCHEM_TOPLEVEL *preview_w_current = preview->preview_w_current; GdkRectangle *rectangles; int n_rectangles; cairo_t *save_cr; PangoLayout *save_pl; save_cr = preview_w_current->cr; save_pl = preview_w_current->pl; preview_w_current->cr = gdk_cairo_create (widget->window); preview_w_current->pl = pango_cairo_create_layout (preview_w_current->cr); gdk_region_get_rectangles (event->region, &rectangles, &n_rectangles); o_redraw_rects (preview_w_current, rectangles, n_rectangles); g_free (rectangles); g_object_unref (preview_w_current->pl); cairo_destroy (preview_w_current->cr); preview_w_current->cr = save_cr; preview_w_current->pl = save_pl; return FALSE; } /*! \brief Handles the press on a mouse button. * \par Function Description * It handles the user inputs. * * Three action are available: zoom in, pan and zoom out on preview display. * * \param [in] widget The preview widget. * \param [in] event The event structure. * \param [in] user_data Unused user data. * \returns FALSE to propagate the event further. */ static gboolean preview_callback_button_press (GtkWidget *widget, GdkEventButton *event, gpointer user_data) { Preview *preview = PREVIEW (widget); GSCHEM_TOPLEVEL *preview_w_current = preview->preview_w_current; gint wx, wy; if (!preview->active) { return TRUE; } switch (event->button) { case 1: /* left mouse button: zoom in */ a_zoom (preview_w_current, ZOOM_IN, HOTKEY, A_PAN_DONT_REDRAW); o_invalidate_all (preview_w_current); break; case 2: /* middle mouse button: pan */ if (!x_event_get_pointer_position(preview_w_current, FALSE, &wx, &wy)) return FALSE; a_pan (preview_w_current, wx, wy); break; case 3: /* right mouse button: zoom out */ a_zoom (preview_w_current, ZOOM_OUT, HOTKEY, A_PAN_DONT_REDRAW); o_invalidate_all (preview_w_current); break; } return FALSE; } /*! \brief Updates the preview widget. * \par Function Description * This function update the preview: if the preview is active and a * filename has been given, it opens the file and display * it. Otherwise it display a blank page. * * \param [in] preview The preview widget. */ static void preview_update (Preview *preview) { GSCHEM_TOPLEVEL *preview_w_current = preview->preview_w_current; TOPLEVEL *preview_toplevel = preview_w_current->toplevel; int left, top, right, bottom; int width, height; GError * err = NULL; if (preview_toplevel->page_current == NULL) { return; } /* delete old preview, create new page */ /* it would be better to just resets current page - Fix me */ s_page_delete (preview_toplevel, preview_toplevel->page_current); s_page_goto (preview_toplevel, s_page_new (preview_toplevel, "preview")); if (preview->active) { g_assert ((preview->filename == NULL) || (preview->buffer == NULL)); if (preview->filename != NULL) { /* open up file in current page */ f_open_flags (preview_toplevel, preview_toplevel->page_current, preview->filename, F_OPEN_RC | F_OPEN_RESTORE_CWD, NULL); /* test value returned by f_open... - Fix me */ /* we should display something if there an error occured - Fix me */ } if (preview->buffer != NULL) { /* Load the data buffer */ GList * objects = o_read_buffer (preview_toplevel, NULL, preview->buffer, -1, _("Preview Buffer"), &err); if (err == NULL) { s_page_append_list (preview_toplevel, preview_toplevel->page_current, objects); } else { s_page_append (preview_toplevel, preview_toplevel->page_current, o_text_new(preview_toplevel, OBJ_TEXT, 2, 100, 100, LOWER_MIDDLE, 0, err->message, 10, VISIBLE, SHOW_NAME_VALUE)); g_error_free(err); } } } if (world_get_object_glist_bounds (preview_toplevel, s_page_objects (preview_toplevel->page_current), &left, &top, &right, &bottom)) { /* Clamp the canvas size to the extents of the page being previewed */ width = right - left; height = bottom - top; preview_toplevel->init_left = left - ((double)width * OVER_ZOOM_FACTOR); preview_toplevel->init_right = right + ((double)width * OVER_ZOOM_FACTOR); preview_toplevel->init_top = top - ((double)height * OVER_ZOOM_FACTOR); preview_toplevel->init_bottom = bottom + ((double)height * OVER_ZOOM_FACTOR); } /* display current page (possibly empty) */ a_zoom_extents (preview_w_current, s_page_objects (preview_toplevel->page_current), A_PAN_DONT_REDRAW); o_invalidate_all (preview_w_current); } GType preview_get_type () { static GType preview_type = 0; if (!preview_type) { static const GTypeInfo preview_info = { sizeof(PreviewClass), NULL, /* base_init */ NULL, /* base_finalize */ (GClassInitFunc) preview_class_init, NULL, /* class_finalize */ NULL, /* class_data */ sizeof(Preview), 0, /* n_preallocs */ (GInstanceInitFunc) preview_init, }; preview_type = g_type_register_static (GTK_TYPE_DRAWING_AREA, "Preview", &preview_info, 0); } return preview_type; } static void preview_class_init (PreviewClass *klass) { GObjectClass *gobject_class = G_OBJECT_CLASS (klass); preview_parent_class = g_type_class_peek_parent (klass); gobject_class->set_property = preview_set_property; gobject_class->get_property = preview_get_property; gobject_class->dispose = preview_dispose; g_object_class_install_property ( gobject_class, PROP_FILENAME, g_param_spec_string ("filename", "", "", NULL, G_PARAM_READWRITE)); g_object_class_install_property ( gobject_class, PROP_BUFFER, g_param_spec_string ("buffer", "", "", NULL, G_PARAM_WRITABLE)); g_object_class_install_property( gobject_class, PROP_ACTIVE, g_param_spec_boolean ("active", "", "", FALSE, G_PARAM_READWRITE)); } static gboolean preview_event_configure (GtkWidget *widget, GdkEventConfigure *event, gpointer user_data) { gboolean retval; GSCHEM_TOPLEVEL *preview_w_current = PREVIEW (widget)->preview_w_current; PAGE *preview_page = preview_w_current->toplevel->page_current; retval = x_event_configure (widget, event, preview_w_current); if (preview_page != NULL) { a_zoom_extents(preview_w_current, s_page_objects (preview_page), 0); } return retval; } static gboolean preview_event_scroll (GtkWidget *widget, GdkEventScroll *event, GSCHEM_TOPLEVEL *w_current) { if (!PREVIEW (widget)->active) { return TRUE; } return x_event_scroll (widget, event, PREVIEW (widget)->preview_w_current); } static void preview_init (Preview *preview) { struct event_reg_t { gchar *detailed_signal; GCallback c_handler; } drawing_area_events[] = { { "realize", G_CALLBACK (preview_callback_realize) }, { "expose_event", G_CALLBACK (preview_callback_expose) }, { "button_press_event", G_CALLBACK (preview_callback_button_press) }, { "configure_event", G_CALLBACK (preview_event_configure) }, { "scroll_event", G_CALLBACK (preview_event_scroll) }, { NULL, NULL } }, *tmp; GSCHEM_TOPLEVEL *preview_w_current; preview_w_current = gschem_toplevel_new (); preview_w_current->toplevel = s_toplevel_new (); preview_w_current->toplevel->load_newer_backup_func = x_fileselect_load_backup; preview_w_current->toplevel->load_newer_backup_data = preview_w_current; o_text_set_rendered_bounds_func (preview_w_current->toplevel, o_text_get_rendered_bounds, preview_w_current); o_add_change_notify (preview_w_current->toplevel, (ChangeNotifyFunc) o_invalidate, (ChangeNotifyFunc) o_invalidate, preview_w_current); i_vars_set (preview_w_current); /* be sure to turn off scrollbars */ preview_w_current->scrollbars_flag = FALSE; /* be sure to turn off the grid */ preview_w_current->grid = FALSE; /* preview_w_current windows don't have toolbars */ preview_w_current->handleboxes = FALSE; preview_w_current->toolbars = FALSE; preview_w_current->toplevel->width = 160; preview_w_current->toplevel->height = 120; preview_w_current->win_width = preview_w_current->toplevel->width; preview_w_current->win_height = preview_w_current->toplevel->height; preview_w_current->drawing_area = GTK_WIDGET (preview); preview->preview_w_current = preview_w_current; g_object_set (GTK_WIDGET (preview), "width-request", preview_w_current->toplevel->width, "height-request", preview_w_current->toplevel->height, NULL); preview->active = FALSE; preview->filename = NULL; preview->buffer = NULL; gtk_widget_set_events (GTK_WIDGET (preview), GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK | GDK_BUTTON_PRESS_MASK); for (tmp = drawing_area_events; tmp->detailed_signal != NULL; tmp++) { g_signal_connect (preview, tmp->detailed_signal, tmp->c_handler, NULL); } } static void preview_set_property (GObject *object, guint property_id, const GValue *value, GParamSpec *pspec) { Preview *preview = PREVIEW (object); GSCHEM_TOPLEVEL *preview_w_current = preview->preview_w_current; g_assert (preview_w_current != NULL); switch(property_id) { case PROP_FILENAME: if (preview->buffer != NULL) { g_free (preview->buffer); preview->buffer = NULL; g_object_notify (object, "buffer"); } g_free (preview->filename); preview->filename = g_strdup (g_value_get_string (value)); preview_update (preview); break; case PROP_BUFFER: if (preview->filename != NULL) { g_free (preview->filename); preview->filename = NULL; g_object_notify (object, "filename"); } g_free (preview->buffer); preview->buffer = g_strdup (g_value_get_string (value)); preview_update (preview); break; case PROP_ACTIVE: preview->active = g_value_get_boolean (value); preview_update (preview); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); } } static void preview_get_property (GObject *object, guint property_id, GValue *value, GParamSpec *pspec) { Preview *preview = PREVIEW (object); GSCHEM_TOPLEVEL *preview_w_current = preview->preview_w_current; switch(property_id) { case PROP_FILENAME: g_assert (preview_w_current != NULL); /* return the filename of the current page in toplevel */ g_value_set_string (value, preview_w_current->toplevel->page_current->page_filename); break; case PROP_ACTIVE: g_value_set_boolean (value, preview->active); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); } } static void preview_dispose (GObject *self) { Preview *preview = PREVIEW (self); GSCHEM_TOPLEVEL *preview_w_current = preview->preview_w_current; if (preview_w_current != NULL) { preview_w_current->drawing_area = NULL; x_window_free_gc (preview_w_current); s_toplevel_delete (preview_w_current->toplevel); g_free (preview_w_current); preview->preview_w_current = NULL; } G_OBJECT_CLASS (preview_parent_class)->dispose (self); } geda-gaf-1.8.2/gschem/src/o_line.c0000664000175000017500000002371712220647257013567 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2011 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \brief Draw a line on screen. * \par Function Description * This function is used to draw a line on screen. The line is described * in the object which is referred by o_current. The line is displayed * according to the current state, described in the GSCHEM_TOPLEVEL object pointed * by w_current. * * It first checks if the object is valid or not. If not it returns and do * not output anything. That should never happen though. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] o_current The line OBJECT to draw. */ void o_line_draw(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current) { int x1, y1, x2, y2; if (o_current->line == NULL) { return; } if (!o_line_visible (w_current, o_current->line, &x1, &y1, &x2, &y2)) { return; } gschem_cairo_line (w_current, o_current->line_end, o_current->line_width, x1, y1, x2, y2); gschem_cairo_set_source_color (w_current, o_drawing_color (w_current, o_current)); gschem_cairo_stroke (w_current, o_current->line_type, o_current->line_end, o_current->line_width, o_current->line_length, o_current->line_space); if (o_current->selected && w_current->draw_grips) { o_line_draw_grips (w_current, o_current); } } /*! \todo Finish function documentation * \brief * \par Function Description */ void o_line_invalidate_rubber (GSCHEM_TOPLEVEL *w_current) { int x1, y1, x2, y2; WORLDtoSCREEN (w_current, w_current->first_wx, w_current->first_wy, &x1, &y1); WORLDtoSCREEN (w_current, w_current->second_wx, w_current->second_wy, &x2, &y2); o_invalidate_rect (w_current, x1, y1, x2, y2); } /*! \brief Draw a line object after applying translation. * \par Function Description * This function is used to draw the line object described by * *o_current after applying a translation on the two directions of * dx and dy in world units. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] dx Delta x coordinate for line. * \param [in] dy Delta y coordinate for line. * \param [in] o_current Line OBJECT to draw. */ void o_line_draw_place (GSCHEM_TOPLEVEL *w_current, int dx, int dy, OBJECT *o_current) { if (o_current->line == NULL) { return; } gschem_cairo_line (w_current, END_NONE, 0, o_current->line->x[0] + dx, o_current->line->y[0] + dy, o_current->line->x[1] + dx, o_current->line->y[1] + dy); gschem_cairo_set_source_color (w_current, x_color_lookup_dark (o_current->color)); gschem_cairo_stroke (w_current, TYPE_SOLID, END_NONE, 0, -1, -1); } /*! \brief Start process to input a new line. * \par Function Description * This function starts the process of interactively adding a line to * the current sheet. * * During all the process, the line is internally represented by the two * ends of the line as (w_current->first_wx,w_current->first_wy) and * (w_current->second_wx,w_current->second_wy). * * A temporary line is drawn during the process with the selection color * and changed according to the position of the mouse pointer. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] w_x Current x coordinate of pointer in world units. * \param [in] w_y Current y coordinate of pointer in world units. */ void o_line_start(GSCHEM_TOPLEVEL *w_current, int w_x, int w_y) { /* init first_w[x|y], second_w[x|y] to describe line */ w_current->first_wx = w_current->second_wx = w_x; w_current->first_wy = w_current->second_wy = w_y; o_line_invalidate_rubber (w_current); w_current->rubber_visible = 1; } /*! \brief End the input of a line. * \par Function Description * This function ends the process of interactively adding a line to the * current sheet. * * It first erases the last temporary line displayed, calculates the * corresponding world coordinates of the two ends of the line and finally * adds a new initialized line object to the list of object of the current * sheet. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] w_x (unused) * \param [in] w_y (unused) */ void o_line_end(GSCHEM_TOPLEVEL *w_current, int w_x, int w_y) { TOPLEVEL *toplevel = w_current->toplevel; OBJECT *new_obj; g_assert( w_current->inside_action != 0 ); /* Don't bother.. the real object is invalidated, its in the same place */ /* o_line_invalidate_rubber (w_current); */ w_current->rubber_visible = 0; /* don't allow zero length lines */ if ( (w_current->first_wx == w_current->second_wx) && (w_current->first_wy == w_current->second_wy) ) { return; } /* create the line object and draw it */ new_obj = o_line_new (toplevel, OBJ_LINE, GRAPHIC_COLOR, w_current->first_wx, w_current->first_wy, w_current->second_wx, w_current->second_wy); s_page_append (toplevel, toplevel->page_current, new_obj); /* Call add-objects-hook */ g_run_hook_object (w_current, "%add-objects-hook", new_obj); toplevel->page_current->CHANGED=1; o_undo_savestate(w_current, UNDO_ALL); } /*! \brief Draw temporary line while dragging end. * \par Function Description * This function manages the erase/update/draw process of temporary line * when modifying one end of the line. * The line is described by four *w_current variables : the first end * of the line is (first_wx,first_wy), the second end is * (second_wx,second_wy). * The first end is constant. The second end is updated to the (w_x,w_y). * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] w_x Current x coordinate of pointer in world units. * \param [in] w_y Current y coordinate of pointer in world units. */ void o_line_motion (GSCHEM_TOPLEVEL *w_current, int w_x, int w_y) { int diff_x, diff_y; g_assert( w_current->inside_action != 0 ); if (w_current->rubber_visible) o_line_invalidate_rubber (w_current); /* * The coordinates of the moving end of the line are updated. Its new * coordinates are in w_x and w_y parameters and saved to * w_current->second_wx and w_current->second_wy respectively. */ w_current->second_wx = w_x; w_current->second_wy = w_y; /* if the control key was pressed then draw ortho lines */ if (w_current->CONTROLKEY) { diff_x = abs(w_current->second_wx - w_current->first_wx); diff_y = abs(w_current->second_wy - w_current->first_wy); if (diff_x >= diff_y) { w_current->second_wy = w_current->first_wy; } else { w_current->second_wx = w_current->first_wx; } } o_line_invalidate_rubber (w_current); w_current->rubber_visible = 1; } /*! \brief Draw line from GSCHEM_TOPLEVEL object. * \par Function Description * This function draws a line with an exclusive or function over the sheet. * The color of the box is SELECT_COLOR. The line is * described by the two points (w_current->first_wx, * w_current->first_wy) and (w_current->second_wx,w_current->second_wy). * * \param [in] w_current The GSCHEM_TOPLEVEL object. */ void o_line_draw_rubber (GSCHEM_TOPLEVEL *w_current) { gschem_cairo_line (w_current, END_NONE, 0, w_current->first_wx, w_current->first_wy, w_current->second_wx, w_current->second_wy); gschem_cairo_set_source_color (w_current, x_color_lookup_dark (SELECT_COLOR)); gschem_cairo_stroke (w_current, TYPE_SOLID, END_NONE, 0, -1, -1); } /*! \brief Draw grip marks on line. * \par Function Description * This function draws the grips on the line object o_current. * * A line has a grip at each end. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] o_current Line OBJECT to draw grip points on. */ void o_line_draw_grips(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current) { if (w_current->draw_grips == FALSE) return; /* draw the grip on line end 1 */ o_grips_draw(w_current, o_current->line->x[0], o_current->line->y[0]); /* draw the grip on line end 2 */ o_grips_draw(w_current, o_current->line->x[1], o_current->line->y[1]); } /*! \brief * \par Function Description * * \param [in] w_current The TOPLEVEL object. * \param [in] line * \param [in] x1 * \param [in] y1 * \param [in] x2 * \param [in] y2 * \return int */ int o_line_visible (GSCHEM_TOPLEVEL *w_current, LINE *line, int *x1, int *y1, int *x2, int *y2) { *x1 = line->x[0]; *y1 = line->y[0]; *x2 = line->x[1]; *y2 = line->y[1]; /* Do we want to skip clipping? */ if (!w_current->toplevel->object_clipping) return TRUE; return WORLDclip_change (w_current, x1, y1, x2, y2); } geda-gaf-1.8.2/gschem/src/x_rc.c0000664000175000017500000000630112204066537013241 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2011 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ #include #include "gschem.h" #ifdef HAVE_LOCALE_H #include #endif /* Error handler function used by x_rc_parse_gschem(). */ static void x_rc_parse_gschem_error (GError **err, GSCHEM_TOPLEVEL *w_current) { char *msg2; /* Secondary text */ GtkWidget *dialog; g_assert (w_current != NULL); g_assert (err != NULL); /* Take no chances; if err was not set for some reason, it's a * problem. */ if (*err == NULL) { /* Log message */ s_log_message (_("ERROR: An unknown error occurred while parsing " "configuration files.\n")); /* Dialog message */ msg2 = g_strdup (_("An unknown error occurred while parsing configuration files." "\n\nThe gschem log may contain more information.")); } else { /* Config files are allowed to be missing or skipped; check for * this. */ if (g_error_matches (*err, G_FILE_ERROR, G_FILE_ERROR_NOENT) || g_error_matches (*err, EDA_ERROR, EDA_ERROR_RC_TWICE)) { return; } /* Log message */ s_log_message (_("ERROR: %s\n"), (*err)->message); /* Dialog message */ msg2 = g_strdup_printf (_("%s\n\n" "The gschem log may contain more information."), (*err)->message); } dialog = gtk_message_dialog_new (GTK_WINDOW (w_current->main_window), GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _("Cannot load gschem configuration.")); g_object_set (G_OBJECT (dialog), "secondary-text", msg2, NULL); gtk_dialog_run (GTK_DIALOG (dialog)); gtk_widget_destroy (dialog); g_free (msg2); } /*! \brief Load gschem configuration files and display error dialogs. * \par Function Description * Loads configuration files in a similar manner to g_rc_parse(). * Instead of exiting on error, display error dialogs with explanatory * messages. * * \param w_current The current #GSCHEM_TOPLEVEL structure. * \param rcfile Specific config file path, or NULL. */ void x_rc_parse_gschem (GSCHEM_TOPLEVEL *w_current, const gchar *rcfile) { TOPLEVEL *toplevel = w_current->toplevel; g_rc_parse_handler (toplevel, "gschemrc", rcfile, (ConfigParseErrorFunc) x_rc_parse_gschem_error, (void *) w_current); } geda-gaf-1.8.2/gschem/src/g_keys.c0000664000175000017500000005305512220647257013601 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #include #include #ifdef HAVE_STRING_H #include #endif #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_UNISTD_H #include #endif #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif #include #define DEFINE_G_KEYS(name) \ SCM g_keys_ ## name(SCM rest) \ { \ GSCHEM_TOPLEVEL *w_current = g_current_window (); \ i_callback_ ## name(w_current, 0, NULL); \ return SCM_BOOL_T; \ } /*! \brief test-comment * test-comment */ DEFINE_G_KEYS(file_new) DEFINE_G_KEYS(file_new_window) /* don't use the widget parameter on this function, or do some checking... */ /* since there is a call: widget = NULL, data = 0 (will be w_current) */ /* This should be renamed to page_open perhaps... */ DEFINE_G_KEYS(file_open) /* don't use the widget parameter on this function, or do some checking... */ /* since there is a call: widget = NULL, data = 0 (will be w_current) */ DEFINE_G_KEYS(file_script) /* don't use the widget parameter on this function, or do some checking... */ /* since there is a call: widget = NULL, data = 0 (will be w_current) */ DEFINE_G_KEYS(file_save) DEFINE_G_KEYS(file_save_as) DEFINE_G_KEYS(file_save_all) DEFINE_G_KEYS(file_print) DEFINE_G_KEYS(file_write_png) /* don't use the widget parameter on this function, or do some checking... */ /* since there is a call: widget = NULL, data = 0 (will be w_current) */ /* this function closes a window */ DEFINE_G_KEYS(file_close) DEFINE_G_KEYS(file_quit) /* Select also does not update the middle button shortcut */ DEFINE_G_KEYS(edit_undo) DEFINE_G_KEYS(edit_redo) DEFINE_G_KEYS(edit_select) DEFINE_G_KEYS(edit_select_all) DEFINE_G_KEYS(edit_deselect) DEFINE_G_KEYS(edit_copy) DEFINE_G_KEYS(edit_copy_hotkey) DEFINE_G_KEYS(edit_mcopy) DEFINE_G_KEYS(edit_mcopy_hotkey) DEFINE_G_KEYS(edit_move) DEFINE_G_KEYS(edit_move_hotkey) DEFINE_G_KEYS(edit_delete) DEFINE_G_KEYS(edit_rotate_90) DEFINE_G_KEYS(edit_rotate_90_hotkey) DEFINE_G_KEYS(edit_mirror) DEFINE_G_KEYS(edit_mirror_hotkey) DEFINE_G_KEYS(edit_slot) DEFINE_G_KEYS(edit_color) DEFINE_G_KEYS(edit_edit) DEFINE_G_KEYS(edit_pin_type) DEFINE_G_KEYS(edit_text) DEFINE_G_KEYS(edit_lock) DEFINE_G_KEYS(edit_unlock) DEFINE_G_KEYS(edit_linetype) DEFINE_G_KEYS(edit_filltype) DEFINE_G_KEYS(edit_translate) DEFINE_G_KEYS(edit_invoke_macro) DEFINE_G_KEYS(edit_embed) DEFINE_G_KEYS(edit_unembed) DEFINE_G_KEYS(edit_update) DEFINE_G_KEYS(edit_show_hidden) DEFINE_G_KEYS(edit_find) DEFINE_G_KEYS(edit_show_text) DEFINE_G_KEYS(edit_hide_text) DEFINE_G_KEYS(edit_autonumber_text) DEFINE_G_KEYS(clipboard_copy) DEFINE_G_KEYS(clipboard_cut) DEFINE_G_KEYS(clipboard_paste) DEFINE_G_KEYS(clipboard_paste_hotkey) DEFINE_G_KEYS(buffer_copy1) DEFINE_G_KEYS(buffer_copy2) DEFINE_G_KEYS(buffer_copy3) DEFINE_G_KEYS(buffer_copy4) DEFINE_G_KEYS(buffer_copy5) DEFINE_G_KEYS(buffer_cut1) DEFINE_G_KEYS(buffer_cut2) DEFINE_G_KEYS(buffer_cut3) DEFINE_G_KEYS(buffer_cut4) DEFINE_G_KEYS(buffer_cut5) DEFINE_G_KEYS(buffer_paste1) DEFINE_G_KEYS(buffer_paste2) DEFINE_G_KEYS(buffer_paste3) DEFINE_G_KEYS(buffer_paste4) DEFINE_G_KEYS(buffer_paste5) DEFINE_G_KEYS(buffer_paste1_hotkey) DEFINE_G_KEYS(buffer_paste2_hotkey) DEFINE_G_KEYS(buffer_paste3_hotkey) DEFINE_G_KEYS(buffer_paste4_hotkey) DEFINE_G_KEYS(buffer_paste5_hotkey) /* repeat middle shortcut doesn't make sense on redraw, just hit right * button */ DEFINE_G_KEYS(view_redraw) /* for these functions, repeat middle shortcut would get into the way * of what user is try to do */ DEFINE_G_KEYS(view_zoom_full) DEFINE_G_KEYS(view_zoom_extents) DEFINE_G_KEYS(view_zoom_in) DEFINE_G_KEYS(view_zoom_out) DEFINE_G_KEYS(view_zoom_in_hotkey) DEFINE_G_KEYS(view_zoom_out_hotkey) DEFINE_G_KEYS(view_zoom_box) DEFINE_G_KEYS(view_zoom_box_hotkey) DEFINE_G_KEYS(view_pan) DEFINE_G_KEYS(view_pan_left) DEFINE_G_KEYS(view_pan_right) DEFINE_G_KEYS(view_pan_up) DEFINE_G_KEYS(view_pan_down) DEFINE_G_KEYS(view_pan_hotkey) DEFINE_G_KEYS(view_dark_colors) DEFINE_G_KEYS(view_light_colors) DEFINE_G_KEYS(view_bw_colors) DEFINE_G_KEYS(page_manager) DEFINE_G_KEYS(page_next) DEFINE_G_KEYS(page_prev) DEFINE_G_KEYS(page_new) DEFINE_G_KEYS(page_close) DEFINE_G_KEYS(page_revert) DEFINE_G_KEYS(page_discard) DEFINE_G_KEYS(page_print) DEFINE_G_KEYS(add_component) DEFINE_G_KEYS(add_attribute) DEFINE_G_KEYS(add_attribute_hotkey) DEFINE_G_KEYS(add_net) DEFINE_G_KEYS(add_net_hotkey) DEFINE_G_KEYS(add_bus) DEFINE_G_KEYS(add_bus_hotkey) DEFINE_G_KEYS(add_text) DEFINE_G_KEYS(add_line) DEFINE_G_KEYS(add_line_hotkey) DEFINE_G_KEYS(add_box) DEFINE_G_KEYS(add_box_hotkey) DEFINE_G_KEYS(add_picture) DEFINE_G_KEYS(add_picture_hotkey) DEFINE_G_KEYS(add_circle) DEFINE_G_KEYS(add_circle_hotkey) DEFINE_G_KEYS(add_arc) DEFINE_G_KEYS(add_arc_hotkey) DEFINE_G_KEYS(add_pin) DEFINE_G_KEYS(add_pin_hotkey) DEFINE_G_KEYS(hierarchy_down_schematic) DEFINE_G_KEYS(hierarchy_down_symbol) DEFINE_G_KEYS(hierarchy_up) DEFINE_G_KEYS(attributes_attach) DEFINE_G_KEYS(attributes_detach) DEFINE_G_KEYS(attributes_show_name) DEFINE_G_KEYS(attributes_show_value) DEFINE_G_KEYS(attributes_show_both) DEFINE_G_KEYS(attributes_visibility_toggle) /* i_callback_script_console is not currently implemented */ DEFINE_G_KEYS(script_console) /* repeat last command doesn't make sense on options either??? (does * it?) */ DEFINE_G_KEYS(options_text_size) /* repeat last command doesn't make sense on options either??? (does * it?) */ DEFINE_G_KEYS(options_afeedback) DEFINE_G_KEYS(options_grid) DEFINE_G_KEYS(options_snap) DEFINE_G_KEYS(options_snap_size) DEFINE_G_KEYS(options_scale_up_snap_size) DEFINE_G_KEYS(options_scale_down_snap_size) DEFINE_G_KEYS(options_rubberband) DEFINE_G_KEYS(options_magneticnet) DEFINE_G_KEYS(options_show_log_window) DEFINE_G_KEYS(options_show_coord_window) DEFINE_G_KEYS(misc) DEFINE_G_KEYS(misc2) DEFINE_G_KEYS(misc3) DEFINE_G_KEYS(help_about) DEFINE_G_KEYS(help_hotkeys) /* be sure that you don't use the widget parameter in this one, since it is being called with a null, I suppose we should call it with the right param. hack */ DEFINE_G_KEYS(cancel) /*! Contains the smob tag for key smobs */ static scm_t_bits g_key_smob_tag; #define G_SCM_IS_KEY(x) SCM_SMOB_PREDICATE (g_key_smob_tag, (x)) /*! Type for keybindings. Used internally by gschem key smobs. */ typedef struct { guint keyval; GdkModifierType modifiers; gchar *str; /* UTF-8. Free with g_free(). */ gchar *disp_str; /* UTF-8. Free with g_free(). */ } GschemKey; /*! \brief Test if a key is valid. * \par Function Description * Test if the key combination defined by \a keyval and \a modifiers * is valid for key binding. This is a less restrictive version of * gtk_accelerator_valid() from GTK 2. * * \param keyval The key that was pressed. * \param modifiers The active modifiers when the key was pressed. * * \return TRUE if the key combination is valid for keybinding. */ static gboolean g_key_is_valid (guint keyval, GdkModifierType modifiers) { static const guint invalid_keyvals[] = { GDK_Shift_L, GDK_Shift_R, GDK_Shift_Lock, GDK_Caps_Lock, GDK_ISO_Lock, GDK_Control_L, GDK_Control_R, GDK_Meta_L, GDK_Meta_R, GDK_Alt_L, GDK_Alt_R, GDK_Super_L, GDK_Super_R, GDK_Hyper_L, GDK_Hyper_R, GDK_ISO_Level3_Shift, GDK_ISO_Next_Group, GDK_ISO_Prev_Group, GDK_ISO_First_Group, GDK_ISO_Last_Group, GDK_Mode_switch, GDK_Num_Lock, GDK_Multi_key, GDK_Scroll_Lock, GDK_Sys_Req, GDK_Tab, GDK_ISO_Left_Tab, GDK_KP_Tab, GDK_First_Virtual_Screen, GDK_Prev_Virtual_Screen, GDK_Next_Virtual_Screen, GDK_Last_Virtual_Screen, GDK_Terminate_Server, GDK_AudibleBell_Enable, 0 }; const guint *val; /* Exclude a bunch of control chars */ if (keyval <= 0xFF) return keyval >= 0x20; /* Exclude special & modifier keys */ val = invalid_keyvals; while (*val) { if (keyval == *val++) return FALSE; } return TRUE; } /*! \brief Create a new bindable key object. * \par Function Description * Create and return a new gschem key object from a \a keyval and a * set of \a modifiers. If the key combination is invalid, return * SCM_BOOL_F. * * \param keyval the pressed key. * \param modifiers the active modifiers for the key. * * \return a new bindable key object, or SCM_BOOL_F. */ static SCM g_make_key (guint keyval, GdkModifierType modifiers) { SCM result = SCM_BOOL_F; if (g_key_is_valid (keyval, modifiers)) { GschemKey *k = g_new0 (GschemKey, 1); k->keyval = keyval; k->modifiers = modifiers & GDK_MODIFIER_MASK; SCM_NEWSMOB (result, g_key_smob_tag, k); } return result; } /*! \brief Test if a Scheme value is a bindable key object. * \par Function Description * Returns SCM_BOOL_T if \a key_s is a gschem key object. Otherwise, * returns SCM_BOOL_F. * * \note Scheme API: Implements the %key? procedure in the * (gschem core keymap) module. * * \param key_s value to test * \return SCM_BOOL_T iff value is a key, otherwise SCM_BOOL_F. */ SCM_DEFINE (g_keyp, "%key?", 1, 0, 0, (SCM key_s), "Test if value is a gschem key.") { if (G_SCM_IS_KEY (key_s)) { return SCM_BOOL_T; } else { return SCM_BOOL_F; } } /*! \brief Create a bindable key object from a string. * \par Function Description * Parse the string key description \a str_s to create and return a * new gschem key object. If \a str_s contains syntax errors, or does * not represent a valid bindable key combination, returns SCM_BOOL_F. * * \note Scheme API: Implements the %string-key procedure in the * (gschem core keymap) module. * * \param str_s string to parse. * \return a new gschem key object, or SCM_BOOL_F. */ SCM_DEFINE (g_string_to_key, "%string->key", 1, 0, 0, (SCM str_s), "Create a gschem key by parsing a string.") { SCM_ASSERT (scm_is_string (str_s), str_s, SCM_ARG1, s_g_string_to_key); guint keyval; GdkModifierType modifiers; char *str = scm_to_utf8_string (str_s); gtk_accelerator_parse (str, &keyval, &modifiers); if ((keyval == 0) && (modifiers == 0)) return SCM_BOOL_F; return g_make_key (keyval, modifiers); } /*! \brief Convert a bindable key object to a string. * \par Function Description * Returns a string representation of the gschem key object \a key_s, * in a format suitable for parsing with %string->key. * * \note Scheme API: Implements the %key->string procedure in the * (gschem core keymap) module. * * \param key_s Bindable key object to convert to string. * \return a string representation of the key combination. */ SCM_DEFINE (g_key_to_string, "%key->string", 1, 0, 0, (SCM key_s), "Create a string from a gschem key.") { SCM_ASSERT (G_SCM_IS_KEY (key_s), key_s, SCM_ARG1, s_g_key_to_string); GschemKey *key = (GschemKey *) SCM_SMOB_DATA (key_s); if (key->str != NULL) return scm_from_utf8_string (key->str); key->str = gtk_accelerator_name (key->keyval, key->modifiers); return scm_from_utf8_string (key->str); } /*! \brief Convert a bindable key object to a displayable string. * \par Function Description * Returns a string representation of the gschem key object \a key_s, * in a format suitable for display to the user (e.g. as accelerator * text in a menu). * * \note Scheme API: Implements the %key->display-string procedure in * the (gschem core keymap) module. * * \param key_s Bindable key object to convert to string. * \return a string representation of the key combination. */ SCM_DEFINE (g_key_to_display_string, "%key->display-string", 1, 0, 0, (SCM key_s), "Create a display string from a gschem key.") { SCM_ASSERT (G_SCM_IS_KEY (key_s), key_s, SCM_ARG1, s_g_key_to_display_string); GschemKey *key = (GschemKey *) SCM_SMOB_DATA (key_s); if (key->disp_str != NULL) return scm_from_utf8_string (key->disp_str); key->disp_str = gtk_accelerator_get_label (key->keyval, key->modifiers); return scm_from_utf8_string (key->disp_str); } /*! \brief Print a representation of a key smob * \par Function Description * Outputs a string representing the \a smob to a Scheme output \a * port. The format used is "#". * * Used internally to Guile. */ static int g_key_print (SCM smob, SCM port, scm_print_state *pstate) { scm_puts ("#", port); /* Non-zero means success */ return 1; } /* \brief Test if two key combinations are equivalent. * \par Function Description * Tests if the two gschem key objects \a a and \a b represent the * same key event. * * Used internally to Guile. */ static SCM g_key_equalp (SCM a, SCM b) { GschemKey *akey = (GschemKey *) SCM_SMOB_DATA (a); GschemKey *bkey = (GschemKey *) SCM_SMOB_DATA (b); if (akey->keyval != bkey->keyval) return SCM_BOOL_F; if (akey->modifiers != bkey->modifiers) return SCM_BOOL_F; return SCM_BOOL_T; } /* \brief Destroy a bindable key object * \par Function Description * Destroys the contents of a gschem key object on garbage collection. * * Used internally to Guile. */ static size_t g_key_free (SCM key) { GschemKey *k = (GschemKey *) SCM_SMOB_DATA (key); g_free (k->str); g_free (k->disp_str); g_free (k); return 0; } SCM_SYMBOL (reset_keys_sym, "reset-keys"); SCM_SYMBOL (press_key_sym, "press-key"); SCM_SYMBOL (prefix_sym, "prefix"); /*! \brief Clear the current key accelerator string. * \par Function Description * This function clears the current keyboard accelerator string in * the status bar of the relevant toplevel. Called some time after a * keystroke is pressed. If the current key sequence was a prefix, * let it persist. * * \param [in] data a pointer to the GSCHEM_TOPLEVEL to update. * \return FALSE (this is a one-shot timer). */ static gboolean clear_keyaccel_string(gpointer data) { GSCHEM_TOPLEVEL *w_current = data; /* If the window context has disappeared, do nothing. */ if (g_list_find(global_window_list, w_current) == NULL) { return FALSE; } g_free(w_current->keyaccel_string); w_current->keyaccel_string = NULL; w_current->keyaccel_string_source_id = 0; i_show_state(w_current, NULL); return FALSE; } /*! \brief Reset the current key sequence. * \par Function Description * If any prefix keys are stored in the current key sequence, clears * them. * * \param w_current The active #GSCHEM_TOPLEVEL context. */ void g_keys_reset (GSCHEM_TOPLEVEL *w_current) { SCM s_expr = scm_list_1 (reset_keys_sym); /* Reset the status bar */ g_free (w_current->keyaccel_string); w_current->keyaccel_string = NULL; i_show_state(w_current, NULL); /* Reset the Scheme keybinding state */ scm_dynwind_begin (0); g_dynwind_window (w_current); g_scm_eval_protected (s_expr, scm_interaction_environment ()); scm_dynwind_end (); } /*! \brief Evaluate a user keystroke. * \par Function Description * Evaluates the key combination specified by \a event using the * current keymap. Updates the gschem status bar with the current key * sequence. * * \param w_current The active #GSCHEM_TOPLEVEL context. * \param event A GdkEventKey structure. * * \return 1 if a binding was found for the keystroke, 0 otherwise. */ int g_keys_execute(GSCHEM_TOPLEVEL *w_current, GdkEventKey *event) { SCM s_retval, s_key, s_expr; guint key, mods, upper, lower, caps; GdkDisplay *display; GdkKeymap *keymap; GdkModifierType consumed_modifiers; g_return_val_if_fail (w_current != NULL, 0); g_return_val_if_fail (event != NULL, 0); display = gtk_widget_get_display (w_current->main_window); keymap = gdk_keymap_get_for_display (display); /* Figure out what modifiers went into determining the key symbol */ gdk_keymap_translate_keyboard_state (keymap, event->hardware_keycode, event->state, event->group, NULL, NULL, NULL, &consumed_modifiers); key = event->keyval; gdk_keyval_convert_case (event->keyval, &lower, &upper); mods = (event->state & gtk_accelerator_get_default_mod_mask () & ~consumed_modifiers); /* Handle Caps Lock. The idea is to obtain the same keybindings * whether Caps Lock is enabled or not. */ if (upper != lower) { caps = gdk_keymap_get_caps_lock_state (keymap); if ((caps && (key == lower)) || (!caps && (key == upper))) { mods |= GDK_SHIFT_MASK; } } /* Always process key as lower case */ key = lower; /* Validate the key -- there are some keystrokes we mask out. */ if (!g_key_is_valid (key, mods)) { return FALSE; } /* Create Scheme key value */ s_key = g_make_key (key, mods); /* Update key hint string for status bar. */ gchar *keystr = gtk_accelerator_get_label (key, mods); /* If no current hint string, or the hint string is going to be * cleared anyway, use key string directly */ if ((w_current->keyaccel_string == NULL) || w_current->keyaccel_string_source_id) { g_free (w_current->keyaccel_string); w_current->keyaccel_string = keystr; } else { gchar *p = w_current->keyaccel_string; w_current->keyaccel_string = g_strconcat (p, " ", keystr, NULL); g_free (p); g_free (keystr); } /* Update status bar */ i_show_state(w_current, NULL); /* Build and evaluate Scheme expression. */ scm_dynwind_begin (0); g_dynwind_window (w_current); s_expr = scm_list_2 (press_key_sym, s_key); s_retval = g_scm_eval_protected (s_expr, scm_interaction_environment ()); scm_dynwind_end (); /* If the keystroke was not part of a prefix, start a timer to clear * the status bar display. */ if (w_current->keyaccel_string_source_id) { /* Cancel any existing timers that haven't fired yet. */ GSource *timer = g_main_context_find_source_by_id (NULL, w_current->keyaccel_string_source_id); g_source_destroy (timer); w_current->keyaccel_string_source_id = 0; } if (!scm_is_eq (s_retval, prefix_sym)) { w_current->keyaccel_string_source_id = g_timeout_add(400, clear_keyaccel_string, w_current); } return !scm_is_false (s_retval); } /*! \brief Exports the keymap in Scheme to a GtkListStore * \par Function Description * This function converts the list of key sequence/action pairs * returned by the Scheme function \c dump-global-keymap into a * GtkListStore with two columns. The first column contains the name * of the action executed by the keybinding as a string, and the * second contains the keybinding itself as a string suitable for * display. * * The returned value must be freed by caller. * * \return A GtkListStore containing keymap data. */ GtkListStore * g_keys_to_list_store (void) { SCM s_expr; SCM s_lst; SCM s_iter; GtkListStore *list_store; /* Call Scheme procedure to dump global keymap into list */ s_expr = scm_list_1 (scm_from_utf8_symbol ("dump-global-keymap")); s_lst = g_scm_eval_protected (s_expr, scm_interaction_environment ()); g_return_val_if_fail (scm_is_true (scm_list_p (s_lst)), NULL); /* Convert to */ scm_dynwind_begin (0); list_store = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_STRING); scm_dynwind_unwind_handler (g_object_unref, list_store, 0); for (s_iter = s_lst; !scm_is_null (s_iter); s_iter = scm_cdr (s_iter)) { SCM s_binding = scm_caar (s_iter); SCM s_keys = scm_cdar (s_iter); char *binding, *keys; GtkTreeIter iter; scm_dynwind_begin (0); binding = scm_to_utf8_string (s_binding); scm_dynwind_free (binding); keys = scm_to_utf8_string (s_keys); scm_dynwind_free (keys); gtk_list_store_insert_with_values (list_store, &iter, -1, 0, binding, 1, keys, -1); scm_dynwind_end (); } scm_dynwind_end (); return list_store; } /*! \brief Create the (gschem core keymap) Scheme module * \par Function Description * Defines procedures in the (gschem core keymap) module. The module * can be accessed using (use-modules (gschem core keymap)). */ static void init_module_gschem_core_keymap () { /* Register the functions */ #include "g_keys.x" /* Add them to the module's public definitions */ scm_c_export (s_g_keyp, s_g_string_to_key, s_g_key_to_string, s_g_key_to_display_string, NULL); } /*! \brief Initialise the key combination procedures * \par Function Description * Registers some Scheme procedures for working with key combinations. * Should only be called by main_prog(). */ void g_init_keys () { /* Register key smob type */ g_key_smob_tag = scm_make_smob_type ("gschem-key", 0); scm_set_smob_print (g_key_smob_tag, g_key_print); scm_set_smob_equalp (g_key_smob_tag, g_key_equalp); scm_set_smob_free (g_key_smob_tag, g_key_free); scm_c_define_module ("gschem core keymap", init_module_gschem_core_keymap, NULL); } geda-gaf-1.8.2/gschem/src/g_select.c0000664000175000017500000001434612063576065014110 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 2010 Peter Brett * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA */ #include #include "gschem.h" SCM_SYMBOL (object_state_sym, "object-state"); /*! \brief Get a list of selected objects on a page. * \par Function Description * Retrieve a list of selected objects on \a page_s. * * \note Scheme API: Implements the %page-selection procedure in the * (gschem core selection) module. * * \param page_s #PAGE smob for the page from which to get the selection. * \return a list of #OBJECT smobs. */ SCM_DEFINE (page_selection, "%page-selection", 1, 0, 0, (SCM page_s), "Get a list of a page's selected objects") { /* Ensure that the argument is a page smob */ SCM_ASSERT (edascm_is_page (page_s), page_s, SCM_ARG1, s_page_selection); PAGE *page = edascm_to_page (page_s); GList *iter; SCM result = SCM_EOL; for (iter = geda_list_get_glist (page->selection_list); iter != NULL; iter = g_list_next (iter)) { result = scm_cons (edascm_from_object ((OBJECT *) iter->data), result); } return result; } /*! \brief Select an object. * \par Function Description * Add \a obj_s to its associated page's selection. If \a obj_s is * not included directly in a page (i.e. inclusion in a component is * not permitted), throws a Scheme error. If \a obj_s is already * selected, does nothing. * * \note Scheme API: Implements the %select-object! procedure in the * (gschem core selection) module. * * \param obj_s #OBJECT smob for object to be selected. * \return obj_s. */ SCM_DEFINE (select_object_x, "%select-object!", 1, 0, 0, (SCM obj_s), "Select an object.") { /* Ensure that the argument is an object smob */ SCM_ASSERT (edascm_is_object (obj_s), obj_s, SCM_ARG1, s_select_object_x); TOPLEVEL *toplevel = edascm_c_current_toplevel (); OBJECT *obj = edascm_to_object (obj_s); PAGE *page = o_get_page (toplevel, obj); if ((page == NULL) || (obj->parent != NULL)) { scm_error (object_state_sym, s_select_object_x, _("Object ~A is not directly included in a page."), scm_list_1 (obj_s), SCM_EOL); } if (!obj->selected) { o_selection_add (toplevel, page->selection_list, obj); } return obj_s; } /*! \brief Deselect an object. * \par Function Description * Remove \a obj_s from its associated page's selection. If \a obj_s * is not included directly in a page (i.e. not via inclusion in a * component), throws a Scheme error. If \a obj_s is not selected, * does nothing. * * \note Scheme API: Implements the %deselect-object! procedure in the * (gschem core selection) module. * * \param obj_s #OBJECT smob for object to be deselected. * \return obj_s. */ SCM_DEFINE (deselect_object_x, "%deselect-object!", 1, 0, 0, (SCM obj_s), "Deselect an object.") { /* Ensure that the argument is an object smob */ SCM_ASSERT (edascm_is_object (obj_s), obj_s, SCM_ARG1, s_deselect_object_x); TOPLEVEL *toplevel = edascm_c_current_toplevel (); OBJECT *obj = edascm_to_object (obj_s); PAGE *page = o_get_page (toplevel, obj); if ((page == NULL) || (obj->parent != NULL)) { scm_error (object_state_sym, s_deselect_object_x, _("Object ~A is not directly included in a page."), scm_list_1 (obj_s), SCM_EOL); } if (obj->selected) { o_selection_remove (toplevel, page->selection_list, obj); } return obj_s; } /*! \brief Test if an object is selected. * \par Function Description * If \a obj_s is selected, returns SCM_BOOL_T. Otherwise, returns * SCM_BOOL_F. If \a obj_s is not included directly in a page * (i.e. not via inclusion in a component), throws a Scheme error. * * \note Scheme API: Implements the %object-selected? procedure in the * (gschem core selection) module. * * \param obj_s #OBJECT smob to be tested. * \return SCM_BOOL_T if \a obj_s is selected, otherwise SCM_BOOL_F. */ SCM_DEFINE (object_selected_p, "%object-selected?", 1, 0, 0, (SCM obj_s), "Test if an object is selected.") { /* Ensure that the argument is an object smob */ SCM_ASSERT (edascm_is_object (obj_s), obj_s, SCM_ARG1, s_object_selected_p); TOPLEVEL *toplevel = edascm_c_current_toplevel (); OBJECT *obj = edascm_to_object (obj_s); PAGE *page = o_get_page (toplevel, obj); if ((page == NULL) || (obj->parent != NULL)) { scm_error (object_state_sym, s_object_selected_p, _("Object ~A is not directly included in a page."), scm_list_1 (obj_s), SCM_EOL); } return (obj->selected ? SCM_BOOL_T : SCM_BOOL_F); } /*! \brief Create the (gschem core selection) Scheme module * \par Function Description * Defines procedures in the (gschem core selection) module. The module * can be accessed using (use-modules (gschem core selection)). */ static void init_module_gschem_core_select () { /* Register the functions */ #include "g_select.x" /* Add them to the module's public definitions. */ scm_c_export (s_page_selection, s_select_object_x, s_deselect_object_x, s_object_selected_p, NULL); } /*! \brief Initialise the selection manipulation procedures. * \par Function Description * Registers some Scheme procedures for working with the selection. * Should only be called by main_prog(). */ void g_init_select () { /* Define the (gschem core selection) module */ scm_c_define_module ("gschem core selection", init_module_gschem_core_select, NULL); } geda-gaf-1.8.2/gschem/src/o_text.c0000664000175000017500000005311612220647257013620 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #include #ifdef HAVE_STRING_H #include #endif #ifdef HAVE_UNISTD_H #include #endif #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif #define MINIMUM_MARK_SMALL_DIST 1 #if 1 # define FONT_NAME "Arial" #else # define FONT_NAME "Helvetica" #endif #undef DEBUG_TEXT char *unescape_text_and_overbars (char *text, PangoAttrList *attrs) { char *p, *sp, *strip_text; char *overbar_start = NULL; int escape = FALSE; /* The unescaped text is alwasys shorter than the original string, so just allocate the same ammount of memory. */ sp = strip_text = g_malloc (strlen (text) + 1); for (p = text; p != NULL; p++) { int finish_overbar = FALSE; /* If we find an escape character "\", we note it and continue looping */ if (!escape && *p == '\\') { escape = TRUE; continue; } if (escape && *p == '_') { /* Overbar start or end sequence */ if (overbar_start != NULL) { finish_overbar = TRUE; } else { overbar_start = sp; } } else { /* just append the character, which may have been escaped */ *sp++ = *p; } escape = FALSE; if (overbar_start != NULL && (finish_overbar || *p == '\0')) { PangoAttribute *attr; attr = gschem_pango_attr_overbar_new (TRUE); attr->start_index = overbar_start - strip_text; attr->end_index = sp - strip_text; pango_attr_list_insert (attrs, attr); overbar_start = NULL; } /* end of the string, stop iterating */ if (*p == '\0') break; } return strip_text; } static void calculate_position (OBJECT *object, PangoFontMetrics *font_metrics, PangoRectangle logical_rect, PangoRectangle inked_rect, double *x, double *y) { double temp; double y_lower, y_middle, y_upper; double x_left, x_middle, x_right; double descent = pango_font_metrics_get_descent (font_metrics) / PANGO_SCALE; x_left = 0; x_middle = -logical_rect.width / 2.; x_right = -logical_rect.width; /*! \note Ideally, we would be using just font / logical metrics for vertical * alignment, however this way seems to be more backward compatible * with the old gschem rendering. * * Lower alignment is at the baseline of the bottom text line, whereas * middle and upper alignment is based upon the inked extents of the * entire text block. */ y_upper = -inked_rect.y; /* Top of inked extents */ y_middle = y_upper - inked_rect.height / 2.; /* Middle of inked extents */ y_lower = descent - logical_rect.height; /* Baseline of bottom line */ /* Special case flips attachment point to opposite corner when * the text is rotated to 180 degrees, since the drawing code * does not rotate the text to be shown upside down. */ if (object->text->angle == 180) { temp = y_lower; y_lower = y_upper; y_upper = temp; temp = x_left; x_left = x_right; x_right = temp; } switch (object->text->alignment) { default: /* Fall through to LOWER_left case */ case LOWER_LEFT: *y = y_lower; *x = x_left; break; case MIDDLE_LEFT: *y = y_middle; *x = x_left; break; case UPPER_LEFT: *y = y_upper; *x = x_left; break; case LOWER_MIDDLE: *y = y_lower; *x = x_middle; break; case MIDDLE_MIDDLE: *y = y_middle; *x = x_middle; break; case UPPER_MIDDLE: *y = y_upper; *x = x_middle; break; case LOWER_RIGHT: *y = y_lower; *x = x_right; break; case MIDDLE_RIGHT: *y = y_middle; *x = x_right; break; case UPPER_RIGHT: *y = y_upper; *x = x_right; break; } } static PangoFontMetrics *setup_pango_return_metrics (GSCHEM_TOPLEVEL *w_current, PangoLayout *layout, double scale_factor, OBJECT *o_current) { PangoContext *context; PangoFontDescription *desc; PangoFontMetrics *font_metrics; PangoAttrList *attrs; cairo_font_options_t *options; double font_size_pt; char *unescaped; context = pango_layout_get_context (layout); /* Switch off metric hinting, set medium outline hinting */ options = cairo_font_options_create (); cairo_font_options_set_hint_metrics (options, CAIRO_HINT_METRICS_OFF); cairo_font_options_set_hint_style (options, CAIRO_HINT_STYLE_MEDIUM); pango_cairo_context_set_font_options (context, options); cairo_font_options_destroy (options); pango_cairo_context_set_resolution (context, 1000. * scale_factor); font_size_pt = o_text_get_font_size_in_points (w_current->toplevel, o_current); desc = pango_font_description_from_string (FONT_NAME); pango_font_description_set_size (desc, (double)PANGO_SCALE * font_size_pt); pango_layout_set_font_description (layout, desc); font_metrics = pango_context_get_metrics (context, desc, NULL); pango_font_description_free (desc); attrs = pango_attr_list_new (); unescaped = unescape_text_and_overbars (o_current->text->disp_string, attrs); pango_layout_set_text (layout, unescaped, -1); g_free (unescaped); pango_layout_set_attributes (layout, attrs); pango_attr_list_unref (attrs); return font_metrics; } static void rotate_vector (double x, double y, double angle, double *rx, double *ry) { double costheta = cos (angle * M_PI / 180.); double sintheta = sin (angle * M_PI / 180.); *rx = costheta * x - sintheta * y; *ry = sintheta * x + costheta * y; } static void expand_bounds (int *left, int *top, int *right, int *bottom, int new_x, int new_y) { *left = MIN (*left, new_x); *right = MAX (*right, new_x); *top = MIN (*top, new_y); *bottom = MAX (*bottom, new_y); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ int o_text_get_rendered_bounds (void *user_data, OBJECT *o_current, int *min_x, int *min_y, int *max_x, int *max_y) { GSCHEM_TOPLEVEL *w_current = user_data; TOPLEVEL *toplevel = w_current->toplevel; PangoLayout *layout; cairo_t *cr; double x, y; PangoFontMetrics *font_metrics; PangoRectangle logical_rect; PangoRectangle inked_rect; int angle; double rx, ry; double tleft, ttop, tright, tbottom; int left, right, top, bottom; g_return_val_if_fail (o_current != NULL, FALSE); g_return_val_if_fail (o_current->text != NULL, FALSE); if (!o_is_visible (toplevel, o_current) && !toplevel->show_hidden_text) return FALSE; if (o_current->text->disp_string == NULL) return FALSE; cr = gdk_cairo_create (w_current->drawable); layout = pango_cairo_create_layout (cr); font_metrics = setup_pango_return_metrics (w_current, layout, 1., o_current); pango_layout_get_pixel_extents (layout, &inked_rect, &logical_rect); calculate_position (o_current, font_metrics, logical_rect, inked_rect, &x, &y); pango_font_metrics_unref (font_metrics); tleft = x + inked_rect.x; tright = x + inked_rect.x + inked_rect.width; /* Deliberately include bounds up to the height of the logical rect, * since we draw overbars in that space. In the unlikely event that * the inked rect extends above the logical (inked_rect.y is -ve), * do take that into account. */ ttop = -y - (inked_rect.y < 0 ? inked_rect.y : 0.); tbottom = -y - inked_rect.y - inked_rect.height; angle = o_current->text->angle; /* Special case turns upside down text back upright */ if (angle == 180) angle = 0; rotate_vector (tleft, ttop, angle, &rx, &ry); left = right = rx; top = bottom = ry; rotate_vector (tright, ttop, angle, &rx, &ry); expand_bounds (&left, &top, &right, &bottom, rx, ry); rotate_vector (tleft, tbottom, angle, &rx, &ry); expand_bounds (&left, &top, &right, &bottom, rx, ry); rotate_vector (tright, tbottom, angle, &rx, &ry); expand_bounds (&left, &top, &right, &bottom, rx, ry); *min_x = o_current->text->x + left; *max_x = o_current->text->x + right; *min_y = o_current->text->y + top; *max_y = o_current->text->y + bottom; g_object_unref (layout); cairo_destroy (cr); return TRUE; } #ifdef DEBUG_TEXT static void draw_construction_lines (GSCHEM_TOPLEVEL *w_current, double x, double y, PangoFontMetrics *font_metrics, PangoRectangle logical_rect) { double px = 1.; double dashlength; double ascent = pango_font_metrics_get_ascent (font_metrics) / PANGO_SCALE; double descent = pango_font_metrics_get_descent (font_metrics) / PANGO_SCALE; cairo_t *cr = w_current->cr; /* Pick an arbitrary size constant for the construction lines */ /* Includes * 10 factor for precision */ px = SCREENabs (w_current, 4 * 10); /* Threshold the drawing to be above a certain size */ if (px < 2.) return; px = px / 10.; /* baseline, descent, ascent, height */ cairo_set_line_width (cr, 2 * px); dashlength = 9 * px; cairo_set_dash (cr, &dashlength, 1, 0); /* Underline logical text rect in green, y coord is as gschem text origin */ cairo_set_source_rgba (cr, 0, 0.6, 0, 0.5); cairo_move_to (cr, x + logical_rect.x, y + ascent); cairo_rel_line_to (cr, logical_rect.width, 0); cairo_stroke (cr); /* Underline descent height in red */ cairo_set_source_rgba (cr, 1, 0, 0, 1); cairo_move_to (cr, x + logical_rect.x, y + ascent + descent); cairo_rel_line_to (cr, logical_rect.width, 0); cairo_stroke (cr); /* Overbar ascent height in yellow */ cairo_set_source_rgba (cr, 1, 1, 0, 1); cairo_move_to (cr, x + logical_rect.x, y); cairo_rel_line_to (cr, logical_rect.width, 0); cairo_stroke (cr); /* extents: width & height in blue */ cairo_set_source_rgba (cr, 0, 0, 0.75, 0.5); cairo_set_line_width (cr, px); dashlength = 3 * px; cairo_set_dash (cr, &dashlength, 1, 0); cairo_rectangle (cr, x + logical_rect.x, y + logical_rect.y, logical_rect.width, logical_rect.height); cairo_stroke (cr); /* show layout origin point in black */ cairo_arc (cr, x, y, 3 * px, 0, 2 * M_PI); cairo_set_source_rgba (cr, 0.0, 0, 0, 0.5); cairo_fill (cr); /* text's advance in blue */ cairo_set_source_rgba (cr, 0, 0, 0.75, 0.5); cairo_arc (cr, x + logical_rect.x + logical_rect.width, y + logical_rect.height - descent, 3 * px, 0, 2 * M_PI); cairo_fill (cr); /* reference point in red */ cairo_arc (cr, x, y + ascent, 3 * px, 0, 2 * M_PI); cairo_set_source_rgba (cr, 0.75, 0, 0, 0.5); cairo_fill (cr); } #endif /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ static void o_text_draw_lowlevel(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current, int dx, int dy, COLOR *color) { TOPLEVEL *toplevel = w_current->toplevel; cairo_t *cr = w_current->cr; int sx, sy; double x, y; PangoFontMetrics *font_metrics; PangoRectangle logical_rect; PangoRectangle inked_rect; g_return_if_fail (o_current != NULL); g_return_if_fail (o_current->text != NULL); if (!o_is_visible (toplevel, o_current) && !toplevel->show_hidden_text) return; if (o_current->text->disp_string == NULL) return; font_metrics = setup_pango_return_metrics (w_current, w_current->pl, toplevel->page_current->to_screen_x_constant, o_current); pango_layout_get_pixel_extents (w_current->pl, &inked_rect, &logical_rect); calculate_position (o_current, font_metrics, logical_rect, inked_rect, &x, &y); cairo_save (cr); WORLDtoSCREEN (w_current, o_current->text->x + dx, o_current->text->y + dy, &sx, &sy); cairo_translate (cr, sx, sy); /* Special case turns upside-down text back upright */ if (o_current->text->angle != 180) { cairo_rotate (cr, - M_PI * o_current->text->angle / 180.); } gschem_cairo_set_source_color (w_current, color); /* NB: Shift the position by 0.5px to match the hinting applied to single * pixel wide lines. This means the text will sit correctly on top of * the grid lines, and ensures consistency with other lines when the * page view is zoomed out. */ cairo_move_to (cr, x + 0.5, y + 0.5); gschem_pango_show_layout (cr, w_current->pl); #ifdef DEBUG_TEXT draw_construction_lines (w_current, x, y, font_metrics, logical_rect); #endif pango_font_metrics_unref (font_metrics); cairo_restore (cr); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ #define I_OFFSET 10 #define I_SMALL_DIST 20 #define X_SMALL_DIST 10 void o_text_draw(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current) { TOPLEVEL *toplevel = w_current->toplevel; int x, y; int color; g_return_if_fail (o_current != NULL); g_return_if_fail (o_current->type == OBJ_TEXT); g_return_if_fail (o_current->text != NULL); if (!o_is_visible (toplevel, o_current) && !toplevel->show_hidden_text) { return; } if (!w_current->fast_mousepan || !w_current->doing_pan) { o_text_draw_lowlevel (w_current, o_current, 0, 0, o_drawing_color (w_current, o_current)); /* Indicate on the schematic that the text is invisible by */ /* drawing a little I on the screen at the origin */ if (!o_is_visible (toplevel, o_current) && toplevel->show_hidden_text) { if (toplevel->override_color != -1 ) color = toplevel->override_color; else color = LOCK_COLOR; x = o_current->text->x + I_OFFSET; y = o_current->text->y - I_OFFSET; /* Top part of the I */ gschem_cairo_line (w_current, END_NONE, 1, x, y, x + I_SMALL_DIST, y); /* Middle part of the I */ gschem_cairo_line (w_current, END_NONE, 1, x + I_SMALL_DIST / 2, y, x + I_SMALL_DIST / 2, y - I_SMALL_DIST); /* Bottom part of the I */ gschem_cairo_line (w_current, END_NONE, 1, x, y - I_SMALL_DIST, x + I_SMALL_DIST, y - I_SMALL_DIST); gschem_cairo_set_source_color (w_current, x_color_lookup (color)); gschem_cairo_stroke (w_current, TYPE_SOLID, END_NONE, 1, -1, -1); } } else { /* draw a box in it's place */ gschem_cairo_box (w_current, 0, o_current->w_left, o_current->w_bottom, o_current->w_right, o_current->w_top); gschem_cairo_set_source_color (w_current, o_drawing_color (w_current, o_current)); gschem_cairo_stroke (w_current, TYPE_SOLID, END_NONE, 0, -1, -1); return; } /* return if text origin marker displaying is disabled */ if (w_current->text_origin_marker == FALSE) { return; } /* Switch of mark drawing for non-selected text, and at small sizes */ if (!o_current->selected || SCREENabs (w_current, X_SMALL_DIST) < MINIMUM_MARK_SMALL_DIST) return; if (toplevel->override_color != -1 ) color = toplevel->override_color; else color = LOCK_COLOR; /* reference point */ x = o_current->text->x; y = o_current->text->y; gschem_cairo_line (w_current, END_NONE, 1, x - X_SMALL_DIST, y + X_SMALL_DIST, x + X_SMALL_DIST, y - X_SMALL_DIST); gschem_cairo_line (w_current, END_NONE, 1, x + X_SMALL_DIST, y + X_SMALL_DIST, x - X_SMALL_DIST, y - X_SMALL_DIST); gschem_cairo_set_source_color (w_current, x_color_lookup (color)); gschem_cairo_stroke (w_current, TYPE_SOLID, END_NONE, 1, -1, -1); } #undef OFFSET #undef SMALL_DIST /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_text_draw_place (GSCHEM_TOPLEVEL *w_current, int dx, int dy, OBJECT *o_current) { TOPLEVEL *toplevel = w_current->toplevel; int factor; if (!o_is_visible (toplevel, o_current) && !toplevel->show_hidden_text) { return; } /* always display text which is 12 or larger */ factor = (int) toplevel->page_current->to_world_x_constant; if ((factor < w_current->text_display_zoomfactor) || o_current->text->size >= 12 || w_current->text_feedback == ALWAYS) { o_text_draw_lowlevel (w_current, o_current, dx, dy, x_color_lookup_dark (o_current->color)); } else { /* text is too small so draw a box in it's place */ gschem_cairo_box (w_current, 0, o_current->w_left + dx, o_current->w_bottom + dy, o_current->w_right + dx, o_current->w_top + dy); gschem_cairo_set_source_color (w_current, x_color_lookup_dark (o_current->color)); gschem_cairo_stroke (w_current, TYPE_SOLID, END_NONE, 0, -1, -1); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_text_prepare_place(GSCHEM_TOPLEVEL *w_current, char *text) { TOPLEVEL *toplevel = w_current->toplevel; /* Insert the new object into the buffer at world coordinates (0,0). * It will be translated to the mouse coordinates during placement. */ w_current->first_wx = 0; w_current->first_wy = 0; w_current->last_drawb_mode = LAST_DRAWB_MODE_NONE; /* remove the old place list if it exists */ s_delete_object_glist(toplevel, toplevel->page_current->place_list); toplevel->page_current->place_list = NULL; /* here you need to add OBJ_TEXT when it's done */ toplevel->page_current->place_list = g_list_append(toplevel->page_current->place_list, o_text_new (toplevel, OBJ_TEXT, TEXT_COLOR, 0, 0, LOWER_LEFT, 0, /* zero is angle */ text, w_current->text_size, /* has to be visible so you can place it */ /* visibility is set when you create the object */ VISIBLE, SHOW_NAME_VALUE)); w_current->inside_action = 1; i_set_state (w_current, ENDTEXT); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_text_edit(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current) { /* you need to check to make sure only one object is selected */ /* no actually this is okay... not here in o_edit */ text_edit_dialog(w_current, o_text_get_string (w_current->toplevel, o_current), o_current->text->size, o_current->text->alignment); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_text_edit_end(GSCHEM_TOPLEVEL *w_current, char *string, int len, int text_size, int text_alignment) { TOPLEVEL *toplevel = w_current->toplevel; OBJECT *object; GList *s_current; int numselect; /* skip over head */ s_current = geda_list_get_glist( toplevel->page_current->selection_list ); numselect = g_list_length( geda_list_get_glist( toplevel->page_current->selection_list )); while(s_current != NULL) { object = (OBJECT *) s_current->data; if (object) { if (object->type == OBJ_TEXT) { object->text->size = text_size; object->text->alignment = text_alignment; /* probably the text object should be extended to carry a color */ /* and we should pass it here with a function parameter (?) */ object->color = w_current->edit_color; /* only change text string if there is only ONE text object selected */ if (numselect == 1 && string) { o_text_set_string (w_current->toplevel, object, string); /* handle slot= attribute, it's a special case */ if (object->attached_to != NULL && g_ascii_strncasecmp (string, "slot=", 5) == 0) { o_slot_end (w_current, object->attached_to, string); } } o_text_recreate(toplevel, object); } } s_current = g_list_next(s_current); } toplevel->page_current->CHANGED = 1; o_undo_savestate(w_current, UNDO_ALL); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \note * The object passed in should be the REAL object, NOT any copy in any * selection list */ void o_text_change(GSCHEM_TOPLEVEL *w_current, OBJECT *object, char *string, int visibility, int show) { TOPLEVEL *toplevel = w_current->toplevel; if (object == NULL) { return; } if (object->type != OBJ_TEXT) { return; } o_text_set_string (toplevel, object, string); o_set_visibility (toplevel, object, visibility); object->show_name_value = show; o_text_recreate(toplevel, object); /* handle slot= attribute, it's a special case */ if (object->attached_to != NULL && g_ascii_strncasecmp (string, "slot=", 5) == 0) { o_slot_end (w_current, object->attached_to, string); } toplevel->page_current->CHANGED = 1; } geda-gaf-1.8.2/gschem/src/o_picture.c0000664000175000017500000005233112220647257014305 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2011 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #include "gschem.h" /* This works, but using one macro inside of other doesn't */ #define GET_PICTURE_WIDTH(w) \ abs((w)->second_wx - (w)->first_wx) #define GET_PICTURE_HEIGHT(w) \ (w)->pixbuf_wh_ratio == 0 ? 0 : abs((w)->second_wx - (w)->first_wx)/(w)->pixbuf_wh_ratio #define GET_PICTURE_LEFT(w) \ min((w)->first_wx, (w)->second_wx) #define GET_PICTURE_TOP(w) \ (w)->first_wy > (w)->second_wy ? (w)->first_wy : \ (w)->first_wy+abs((w)->second_wx - (w)->first_wx)/(w)->pixbuf_wh_ratio /*! \brief Start process to input a new picture. * \par Function Description * This function starts the process to input a new picture. Parameters * for this picture are put into/extracted from the w_current toplevel * structure. * w_x and w_y are current coordinates of the pointer in world * coordinates. * * The first step is to input one corner of the picture. This corner is * (w_x,w_y) snapped to the grid and saved in * w_current->first_wx and w_current->first_wy. * * The other corner will be saved in (w_current->second_wx, * w_current->second_wy). * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] w_x Current x coordinate of pointer in world units. * \param [in] w_y Current y coordinate of pointer in world units. */ void o_picture_start(GSCHEM_TOPLEVEL *w_current, int w_x, int w_y) { /* init first_w[x|y], second_w[x|y] to describe box */ w_current->first_wx = w_current->second_wx = w_x; w_current->first_wy = w_current->second_wy = w_y; /* start to draw the box */ o_picture_invalidate_rubber (w_current); w_current->rubber_visible = 1; } /*! \brief End the input of a circle. * \par Function Description * This function ends the input of the second corner of a picture. * The picture is defined by (w_current->first_wx,w_current->first_wy * and (w_current->second_wx,w_current->second_wy. * * The temporary picture frame is erased ; a new picture object is allocated, * initialized and linked to the object list ; The object is finally * drawn on the current sheet. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] w_x (unused) * \param [in] w_y (unused) */ void o_picture_end(GSCHEM_TOPLEVEL *w_current, int w_x, int w_y) { TOPLEVEL *toplevel = w_current->toplevel; OBJECT *new_obj; int picture_width, picture_height; int picture_left, picture_top; g_assert( w_current->inside_action != 0 ); /* erase the temporary picture */ /* o_picture_draw_rubber(w_current); */ w_current->rubber_visible = 0; picture_width = GET_PICTURE_WIDTH (w_current); picture_height = GET_PICTURE_HEIGHT(w_current); picture_left = GET_PICTURE_LEFT (w_current); picture_top = GET_PICTURE_TOP (w_current); /* pictures with null width and height are not allowed */ if ((picture_width == 0) && (picture_height == 0)) { /* cancel the object creation */ return; } /* create the object */ new_obj = o_picture_new(toplevel, NULL, 0, w_current->pixbuf_filename, OBJ_PICTURE, picture_left, picture_top, picture_left + picture_width, picture_top - picture_height, 0, FALSE, FALSE); s_page_append (toplevel, toplevel->page_current, new_obj); /* Run %add-objects-hook */ g_run_hook_object (w_current, "%add-objects-hook", new_obj); toplevel->page_current->CHANGED = 1; o_undo_savestate(w_current, UNDO_ALL); } /*! \brief Creates the add image dialog * \par Function Description * This function creates the add image dialog and loads the selected picture. */ void picture_selection_dialog (GSCHEM_TOPLEVEL *w_current) { TOPLEVEL *toplevel = w_current->toplevel; gchar *filename; GdkPixbuf *pixbuf; GError *error = NULL; w_current->pfswindow = gtk_file_chooser_dialog_new ("Select a picture file...", GTK_WINDOW(w_current->main_window), GTK_FILE_CHOOSER_ACTION_OPEN, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL); /* Set the alternative button order (ok, cancel, help) for other systems */ gtk_dialog_set_alternative_button_order(GTK_DIALOG(w_current->pfswindow), GTK_RESPONSE_ACCEPT, GTK_RESPONSE_CANCEL, -1); if (w_current->pixbuf_filename) gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(w_current->pfswindow), w_current->pixbuf_filename); if (gtk_dialog_run (GTK_DIALOG (w_current->pfswindow)) == GTK_RESPONSE_ACCEPT) { filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (w_current->pfswindow)); gtk_widget_destroy(w_current->pfswindow); w_current->pfswindow=NULL; pixbuf = gdk_pixbuf_new_from_file (filename, &error); if (!pixbuf) { GtkWidget *dialog; dialog = gtk_message_dialog_new (GTK_WINDOW (w_current->main_window), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, _("Failed to load picture: %s"), error->message); /* Wait for any user response */ gtk_dialog_run (GTK_DIALOG (dialog)); g_error_free (error); gtk_widget_destroy(dialog); } else { #if DEBUG printf("Picture loaded succesfully.\n"); #endif o_invalidate_rubber(w_current); i_update_middle_button(w_current, i_callback_add_picture, _("Picture")); w_current->inside_action = 0; o_picture_set_pixbuf(w_current, pixbuf, filename); toplevel->page_current->CHANGED=1; i_set_state(w_current, DRAWPICTURE); } g_free (filename); } i_update_toolbar(w_current); if (w_current->pfswindow) { gtk_widget_destroy(w_current->pfswindow); w_current->pfswindow=NULL; } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \note * used in button cancel code in x_events.c */ void o_picture_invalidate_rubber (GSCHEM_TOPLEVEL *w_current) { int left, top, width, height; WORLDtoSCREEN (w_current, GET_PICTURE_LEFT(w_current), GET_PICTURE_TOP(w_current), &left, &top); width = SCREENabs (w_current, GET_PICTURE_WIDTH (w_current)); height = SCREENabs (w_current, GET_PICTURE_HEIGHT(w_current)); o_invalidate_rect (w_current, left, top, left + width, top); o_invalidate_rect (w_current, left, top, left, top + height); o_invalidate_rect (w_current, left + width, top, left + width, top + height); o_invalidate_rect (w_current, left, top + height, left + width, top + height); } /*! \brief Draw temporary picture while dragging edge. * \par Function Description * This function is used to draw the box while dragging one of its edge or * angle. It erases the previous temporary box drawn before, and draws * a new updated one. w_x and w_y are the new position of the mobile * point, ie the mouse. * * The old values are inside the w_current pointed structure. Old * width, height and left and top values are recomputed by the corresponding * macros. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] w_x Current x coordinate of pointer in world units. * \param [in] w_y Current y coordinate of pointer in world units. */ void o_picture_motion (GSCHEM_TOPLEVEL *w_current, int w_x, int w_y) { #if DEBUG printf("o_picture_rubberbox called\n"); #endif g_assert( w_current->inside_action != 0 ); /* erase the previous temporary box */ if (w_current->rubber_visible) o_picture_invalidate_rubber (w_current); /* * New values are fixed according to the w_x and w_y parameters. * These are saved in w_current pointed structure as new temporary values. * The new box is then drawn. */ /* update the coords of the corner */ w_current->second_wx = w_x; w_current->second_wy = w_y; /* draw the new temporary box */ o_picture_invalidate_rubber (w_current); w_current->rubber_visible = 1; } /*! \brief Draw picture from GSCHEM_TOPLEVEL object. * \par Function Description * This function draws the box from the variables in the GSCHEM_TOPLEVEL * structure *w_current. * One corner of the box is at (w_current->first_wx, * w_current->first_wy) and the second corner is at * (w_current->second_wx,w_current->second_wy. * * \param [in] w_current The GSCHEM_TOPLEVEL object. */ void o_picture_draw_rubber (GSCHEM_TOPLEVEL *w_current) { int left, top, width, height; /* get the width/height and the upper left corner of the picture */ left = GET_PICTURE_LEFT (w_current); top = GET_PICTURE_TOP (w_current); width = GET_PICTURE_WIDTH (w_current); height = GET_PICTURE_HEIGHT (w_current); gschem_cairo_box (w_current, 0, left, top - height, left + width, top); gschem_cairo_set_source_color (w_current, x_color_lookup_dark (SELECT_COLOR)); gschem_cairo_stroke (w_current, TYPE_SOLID, END_NONE, 0, -1, -1); } /*! \brief Draw a picture on the screen. * \par Function Description * This function is used to draw a picture on screen. The picture is * described in the OBJECT which is referred by o_current. The picture * is displayed according to the current state, described in the * GSCHEM_TOPLEVEL object pointed by w_current. * * It first checks if the OBJECT pointed is valid or not. If not it * returns and do not output anything. That should never happen though. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] o_current Picture OBJECT to draw. */ void o_picture_draw (GSCHEM_TOPLEVEL *w_current, OBJECT *o_current) { int s_upper_x, s_upper_y, s_lower_x, s_lower_y; GdkPixbuf *pixbuf; g_return_if_fail (w_current != NULL); g_return_if_fail (w_current->toplevel != NULL); g_return_if_fail (o_current != NULL); g_return_if_fail (o_current->picture != NULL); pixbuf = o_picture_get_pixbuf (w_current->toplevel, o_current); /* If the image failed to load, get the fallback image. */ if (pixbuf == NULL) pixbuf = o_picture_get_fallback_pixbuf (w_current->toplevel); /* If the fallback image failed to load, draw a box with a cross in it. */ if (pixbuf == NULL) { int line_width = (w_current->toplevel->line_style == THICK) ? LINE_WIDTH : 2; gschem_cairo_set_source_color (w_current, o_drawing_color (w_current, o_current)); gschem_cairo_box (w_current, line_width, o_current->picture->lower_x, o_current->picture->lower_y, o_current->picture->upper_x, o_current->picture->upper_y); gschem_cairo_line (w_current, END_ROUND, line_width, o_current->picture->lower_x, o_current->picture->lower_y, o_current->picture->upper_x, o_current->picture->upper_y); gschem_cairo_line (w_current, END_ROUND, line_width, o_current->picture->lower_x, o_current->picture->upper_y, o_current->picture->upper_x, o_current->picture->lower_y); gschem_cairo_stroke (w_current, TYPE_SOLID, END_ROUND, line_width, -1, -1); return; } g_assert (GDK_IS_PIXBUF (pixbuf)); WORLDtoSCREEN (w_current, o_current->picture->upper_x, o_current->picture->upper_y, &s_upper_x, &s_upper_y); WORLDtoSCREEN (w_current, o_current->picture->lower_x, o_current->picture->lower_y, &s_lower_x, &s_lower_y); cairo_save (w_current->cr); int swap_wh = (o_current->picture->angle == 90 || o_current->picture->angle == 270); float orig_width = swap_wh ? gdk_pixbuf_get_height (pixbuf) : gdk_pixbuf_get_width (pixbuf); float orig_height = swap_wh ? gdk_pixbuf_get_width (pixbuf) : gdk_pixbuf_get_height (pixbuf); cairo_translate (w_current->cr, s_upper_x, s_upper_y); cairo_scale (w_current->cr, (float)SCREENabs (w_current, abs (o_current->picture->upper_x - o_current->picture->lower_x)) / orig_width, (float)SCREENabs (w_current, abs (o_current->picture->upper_y - o_current->picture->lower_y)) / orig_height); /* Evil magic translates picture origin to the right position for a given rotation */ switch (o_current->picture->angle) { case 0: break; case 90: cairo_translate (w_current->cr, 0, orig_height); break; case 180: cairo_translate (w_current->cr, orig_width, orig_height); break; case 270: cairo_translate (w_current->cr, orig_width, 0 ); break; } cairo_rotate (w_current->cr, -o_current->picture->angle * M_PI / 180.); if (o_current->picture->mirrored) { cairo_translate (w_current->cr, gdk_pixbuf_get_width (pixbuf), 0); cairo_scale (w_current->cr, -1, 1); } gdk_cairo_set_source_pixbuf (w_current->cr, pixbuf, 0,0); cairo_rectangle (w_current->cr, 0, 0, gdk_pixbuf_get_width (pixbuf), gdk_pixbuf_get_height (pixbuf)); cairo_clip (w_current->cr); cairo_paint (w_current->cr); cairo_restore (w_current->cr); /* Grip specific stuff */ if (o_current->selected && w_current->draw_grips) { o_picture_draw_grips (w_current, o_current); } g_object_unref (pixbuf); } /*! \brief Draw grip marks on picture. * \par Function Description * This function draws four grips on the corners of the picture described * by *o_current. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] o_current Picture OBJECT to draw grip points on. */ void o_picture_draw_grips(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current) { if (w_current->draw_grips == FALSE) return; /* grip on upper left corner (whichone = PICTURE_UPPER_LEFT) */ o_grips_draw (w_current, o_current->picture->upper_x, o_current->picture->upper_y); /* grip on upper right corner (whichone = PICTURE_UPPER_RIGHT) */ o_grips_draw (w_current, o_current->picture->lower_x, o_current->picture->upper_y); /* grip on lower left corner (whichone = PICTURE_LOWER_LEFT) */ o_grips_draw (w_current, o_current->picture->upper_x, o_current->picture->lower_y); /* grip on lower right corner (whichone = PICTURE_LOWER_RIGHT) */ o_grips_draw (w_current, o_current->picture->lower_x, o_current->picture->lower_y); /* Box surrounding the picture */ gschem_cairo_box (w_current, 0, o_current->picture->upper_x, o_current->picture->upper_y, o_current->picture->lower_x, o_current->picture->lower_y); gschem_cairo_set_source_color (w_current, x_color_lookup_dark (SELECT_COLOR)); gschem_cairo_stroke (w_current, TYPE_SOLID, END_NONE, 0, -1, -1); } /*! \brief Draw a picture described by OBJECT with translation * \par Function Description * This function daws the picture object described by *o_current * translated by the vector (dx,dy). * The translation vector is in world unit. * * The picture is displayed with the color of the object. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] dx Delta x coordinate for picture. * \param [in] dy Delta y coordinate for picture. * \param [in] o_current Picture OBJECT to draw. */ void o_picture_draw_place (GSCHEM_TOPLEVEL *w_current, int dx, int dy, OBJECT *o_current) { if (o_current->picture == NULL) { return; } gschem_cairo_box (w_current, 0, o_current->picture->upper_x + dx, o_current->picture->upper_y + dy, o_current->picture->lower_x + dx, o_current->picture->lower_y + dy); gschem_cairo_set_source_color (w_current, x_color_lookup_dark (o_current->color)); gschem_cairo_stroke (w_current, TYPE_SOLID, END_NONE, 0, -1, -1); } /*! \brief Replace all selected pictures with a new picture * \par Function Description * Replaces all pictures in the current selection with a new image. * * \param [in] w_current The GSCHEM_TOPLEVEL object * \param [in] filename The filename of the new picture * \param [out] error The location to return error information. * \return TRUE on success, FALSE on failure. */ gboolean o_picture_exchange (GSCHEM_TOPLEVEL *w_current, const gchar *filename, GError **error) { TOPLEVEL *toplevel = w_current->toplevel; GList *iter; for (iter = geda_list_get_glist (toplevel->page_current->selection_list); iter != NULL; iter = g_list_next (iter)) { OBJECT *object = (OBJECT *) iter->data; g_assert (object != NULL); if (object->type == OBJ_PICTURE) { gboolean status; /* Erase previous picture */ o_invalidate (w_current, object); status = o_picture_set_from_file (toplevel, object, filename, error); if (!status) return FALSE; /* Draw new picture */ o_invalidate (w_current, object); } } return TRUE; } /*! \brief Create dialog to exchange picture objects * \par Function Description * This function opens a file chooser and replaces all pictures of the selections * with the new picture. * * \todo Maybe merge this dialog function with picture_selection_dialog() */ void picture_change_filename_dialog (GSCHEM_TOPLEVEL *w_current) { TOPLEVEL *toplevel = w_current->toplevel; gchar *filename; gboolean result; GError *error = NULL; w_current->pfswindow = gtk_file_chooser_dialog_new ("Select a picture file...", GTK_WINDOW(w_current->main_window), GTK_FILE_CHOOSER_ACTION_OPEN, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL); /* Set the alternative button order (ok, cancel, help) for other systems */ gtk_dialog_set_alternative_button_order(GTK_DIALOG(w_current->pfswindow), GTK_RESPONSE_ACCEPT, GTK_RESPONSE_CANCEL, -1); if (w_current->pixbuf_filename) gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(w_current->pfswindow), w_current->pixbuf_filename); if (gtk_dialog_run (GTK_DIALOG (w_current->pfswindow)) == GTK_RESPONSE_ACCEPT) { filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (w_current->pfswindow)); gtk_widget_destroy(w_current->pfswindow); w_current->pfswindow=NULL; /* Actually update the pictures */ result = o_picture_exchange (w_current, filename, &error); if (!result) { GtkWidget *dialog; dialog = gtk_message_dialog_new (GTK_WINDOW (w_current->main_window), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, _("Failed to replace pictures: %s"), error->message); /* Wait for any user response */ gtk_dialog_run (GTK_DIALOG (dialog)); g_error_free (error); gtk_widget_destroy(dialog); } else { toplevel->page_current->CHANGED=1; } g_free (filename); } i_update_toolbar(w_current); if (w_current->pfswindow) { gtk_widget_destroy(w_current->pfswindow); w_current->pfswindow=NULL; } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] pixbuf * \param [in] filename */ void o_picture_set_pixbuf(GSCHEM_TOPLEVEL *w_current, GdkPixbuf *pixbuf, char *filename) { /* need to put an error messages here */ if (pixbuf == NULL) { fprintf(stderr, "error! picture in set pixbuf was NULL\n"); return; } if (w_current->current_pixbuf != NULL) { g_object_unref(w_current->current_pixbuf); w_current->current_pixbuf=NULL; } if (w_current->pixbuf_filename != NULL) { g_free(w_current->pixbuf_filename); w_current->pixbuf_filename=NULL; } w_current->current_pixbuf = pixbuf; w_current->pixbuf_filename = (char *) g_strdup(filename); w_current->pixbuf_wh_ratio = (double) gdk_pixbuf_get_width(pixbuf) / gdk_pixbuf_get_height(pixbuf); /* be sure to free this pixbuf somewhere */ } geda-gaf-1.8.2/gschem/src/i_basic.c0000664000175000017500000004522612220647257013712 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #ifdef HAVE_STRING_H #include #endif #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \brief Update status bar string * * \par Function Description * This function actually updates the status bar * widget with the new string. * * \param [in] w_current GSCHEM_TOPLEVEL structure * \param [in] string The new string to be shown in the status bar */ static void i_update_status(GSCHEM_TOPLEVEL *w_current, const char *string) { if (!w_current->status_label) return; if (string) { /* NOTE: consider optimizing this if same label */ gtk_label_set(GTK_LABEL(w_current->status_label), (char *) string); } } /*! \brief Get string corresponding to the currently selected mode * * \par Function Description * Returns a string describing the currently * selected mode. * * \param [in] w_current GSCHEM_TOPLEVEL structure * \returns a string that will only last until the next time * the function is called (which is probably just fine, really) * *EK* Egil Kvaleberg */ static const char *i_status_string(GSCHEM_TOPLEVEL *w_current) { static char *buf = 0; switch ( w_current->event_state ) { case NONE: case STARTROUTENET: /*! \todo */ case ENDROUTENET: /*! \todo */ return ""; case STARTSELECT: case SELECT: case SBOX: case GRIPS: return _("Select Mode"); case ENDCOMP: return _("Component Mode"); /*EK* new */ case ENDTEXT: return _("Text Mode"); /*EK* new */ case STARTCOPY: case ENDCOPY: return _("Copy Mode"); case STARTMOVE: case ENDMOVE: return _("Move Mode"); case ENDROTATEP: return _("Rotate Mode"); case ENDMIRROR: return _("Mirror Mode"); case ZOOM: case ZOOMBOXEND: case ZOOMBOXSTART: return _("Zoom Box"); case STARTPAN: case PAN: case MOUSEPAN: return _("Pan Mode"); case STARTPASTE: case ENDPASTE: g_free(buf); buf = g_strdup_printf(_("Paste %d Mode"), w_current->buffer_number+1); return buf; case STARTDRAWNET: case DRAWNET: case NETCONT: if (w_current->magneticnet_mode) return _("Magnetic Net Mode"); else return _("Net Mode"); case STARTDRAWBUS: case DRAWBUS: case BUSCONT: return _("Bus Mode"); case DRAWLINE: case ENDLINE: return _("Line Mode"); case DRAWBOX: case ENDBOX: return _("Box Mode"); case DRAWPICTURE: case ENDPICTURE: return _("Picture Mode"); case DRAWCIRCLE: case ENDCIRCLE: return _("Circle Mode"); case DRAWARC: case ENDARC: return _("Arc Mode"); case DRAWPIN: case ENDPIN: return _("Pin Mode"); case COPY: return _("Copy"); case MOVE: return _("Move"); case MCOPY: return _("Multiple Copy"); case STARTMCOPY: case ENDMCOPY: return _("Multiple Copy Mode"); } g_assert_not_reached(); return ""; /* should not happen */ } /*! \brief Show state field * * \par Function Description * Show state field on screen, possibly with the * addition of an extra message * * \param [in] w_current GSCHEM_TOPLEVEL structure * \param [in] message The string to be displayed */ void i_show_state(GSCHEM_TOPLEVEL *w_current, const char *message) { TOPLEVEL *toplevel = w_current->toplevel; gchar *what_to_say; const gchar *array[5] = { NULL }; int i = 3; /* array[4] must be NULL */ /* Fill in the string array */ array[i--] = i_status_string(w_current); if(toplevel->show_hidden_text) array[i--] = _("Show Hidden"); if(w_current->snap == SNAP_OFF) array[i--] = _("Snap Off"); else if (w_current->snap == SNAP_RESNAP) array[i--] = _("Resnap Active"); if(message && message[0]) array[i] = message; /* Skip over NULLs */ while(array[i] == NULL) i++; what_to_say = g_strjoinv(" - ", (gchar **) array + i); if(w_current->keyaccel_string) { gchar *p = what_to_say; what_to_say = g_strdup_printf("%s \t\t %s", w_current->keyaccel_string, what_to_say); g_free(p); } i_update_status(w_current, what_to_say); g_free(what_to_say); } /*! \brief Set new state, then show state field * * \par Function Description * Set new state, then show state field. * * \param [in] w_current GSCHEM_TOPLEVEL structure * \param [in] newstate The new state * *EK* Egil Kvaleberg */ void i_set_state(GSCHEM_TOPLEVEL *w_current, enum x_states newstate) { i_set_state_msg(w_current, newstate, NULL); } /*! \brief Set new state, then show state field including some * message * * \par Function Description * Set new state, then show state field including some * message. * * \param [in] w_current GSCHEM_TOPLEVEL structure * \param [in] newstate The new state * \param [in] message Message to be shown * *EK* Egil Kvaleberg */ void i_set_state_msg(GSCHEM_TOPLEVEL *w_current, enum x_states newstate, const char *message) { w_current->event_state = newstate; i_show_state(w_current, message); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void i_update_middle_button(GSCHEM_TOPLEVEL *w_current, void (*func_ptr)(), const char *string) { char *temp_string; if (func_ptr == NULL) return; if (string == NULL) return; if (!w_current->middle_label) return; switch(w_current->middle_button) { /* remove this case eventually and make it a null case */ case(ACTION): gtk_label_set(GTK_LABEL(w_current->middle_label), _("Action")); break; #ifdef HAVE_LIBSTROKE case(STROKE): gtk_label_set(GTK_LABEL(w_current->middle_label), _("Stroke")); break; #else /* remove this case eventually and make it a null case */ case(STROKE): gtk_label_set(GTK_LABEL(w_current->middle_label), _("none")); break; #endif case(REPEAT): temp_string = g_strconcat (_("Repeat/"), string, NULL); gtk_label_set(GTK_LABEL(w_current->middle_label), temp_string); w_current->last_callback = func_ptr; g_free(temp_string); break; } } /*! \todo Finish function documentation!!! * \brief * \param [in] w_current GSCHEM_TOPLEVEL structure * */ void i_update_toolbar(GSCHEM_TOPLEVEL *w_current) { if (!w_current->toolbars) return; switch(w_current->event_state) { case(NONE): case(SELECT): case(STARTSELECT): gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON( w_current->toolbar_select), TRUE); break; case(DRAWNET): case(STARTDRAWNET): case(NETCONT): gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON( w_current->toolbar_net), TRUE); break; case(DRAWBUS): case(STARTDRAWBUS): case(BUSCONT): gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON( w_current->toolbar_bus), TRUE); break; case(DRAWLINE): /*! \todo */ case(DRAWBOX): /*! \todo */ case(DRAWPICTURE): /*! \todo */ case(DRAWPIN): /*! \todo */ case(DRAWCIRCLE): /*! \todo */ case(DRAWARC): /*! \todo */ case(MOVE): /*! \todo */ case(COPY): /*! \todo */ case(ZOOM): /*! \todo */ case(PAN): /*! \todo */ case(STARTPAN): /*! \todo */ case(STARTCOPY): /*! \todo */ case(STARTMOVE): /*! \todo */ case(ENDCOPY): /*! \todo */ case(ENDMOVE): /*! \todo */ case(ENDLINE): /*! \todo */ case(ENDBOX): /*! \todo */ case(ENDPICTURE): /*! \todo */ case(ENDCIRCLE): /*! \todo */ case(ENDARC): /*! \todo */ case(ENDPIN): /*! \todo */ case(ENDCOMP): /*! \todo */ case(ENDTEXT): /*! \todo */ case(ENDROTATEP): /*! \todo */ case(ENDMIRROR): /*! \todo */ case(ZOOMBOXSTART): /*! \todo */ case(ZOOMBOXEND): /*! \todo */ case(STARTROUTENET): /*! \todo */ case(ENDROUTENET): /*! \todo */ case(MOUSEPAN): /*! \todo */ case(STARTPASTE): /*! \todo */ case(ENDPASTE): /*! \todo */ case(GRIPS): /*! \todo */ case(MCOPY): /*! \todo */ case(STARTMCOPY): /*! \todo */ case(ENDMCOPY): /*! \todo */ default: gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON( w_current->toolbar_select), TRUE); break; } } /*! \brief Update sensitivity of the Edit/Paste menu item * * \par Function Description * Asynchronous callback to update sensitivity of the Edit/Paste * menu item. */ static void clipboard_usable_cb (int usable, void *userdata) { GSCHEM_TOPLEVEL *w_current = userdata; x_menus_sensitivity (w_current, "_Edit/_Paste", usable); } static gboolean selected_at_least_one_text_object(GSCHEM_TOPLEVEL *w_current) { OBJECT *obj; TOPLEVEL *toplevel = w_current->toplevel; GList *list = geda_list_get_glist(toplevel->page_current->selection_list); while(list != NULL) { obj = (OBJECT *) list->data; if (obj->type == OBJ_TEXT) return TRUE; list = g_list_next(list); } return FALSE; } /*! \brief Update sensitivity of relevant menu items * * \par Function Description * Update sensitivity of relevant menu items. * * \param [in] w_current GSCHEM_TOPLEVEL structure */ void i_update_menus(GSCHEM_TOPLEVEL *w_current) { gboolean have_text_selected; TOPLEVEL *toplevel = w_current->toplevel; /* * This is very simplistic. Right now it just disables all menu * items which get greyed out when a component is not selected. * Eventually what gets enabled/disabled * should be based on what is in the selection list */ g_assert(w_current != NULL); g_assert(toplevel->page_current != NULL); x_clipboard_query_usable (w_current, clipboard_usable_cb, w_current); if (o_select_selected (w_current)) { have_text_selected = selected_at_least_one_text_object(w_current); /* since one or more things are selected, we set these TRUE */ /* These strings should NOT be internationalized */ x_menus_sensitivity(w_current, "_Edit/Cu_t", TRUE); x_menus_sensitivity(w_current, "_Edit/_Copy", TRUE); x_menus_sensitivity(w_current, "_Edit/_Delete", TRUE); x_menus_sensitivity(w_current, "_Edit/Copy Mode", TRUE); x_menus_sensitivity(w_current, "_Edit/Multiple Copy Mode", TRUE); x_menus_sensitivity(w_current, "_Edit/Move Mode", TRUE); x_menus_sensitivity(w_current, "_Edit/Rotate 90 Mode", TRUE); x_menus_sensitivity(w_current, "_Edit/Mirror Mode", TRUE); x_menus_sensitivity(w_current, "_Edit/Edit...", TRUE); x_menus_sensitivity(w_current, "_Edit/Edit Text...", TRUE); x_menus_sensitivity(w_current, "_Edit/Slot...", TRUE); x_menus_sensitivity(w_current, "_Edit/Color...", TRUE); x_menus_sensitivity(w_current, "_Edit/Lock", TRUE); x_menus_sensitivity(w_current, "_Edit/Unlock", TRUE); x_menus_sensitivity(w_current, "_Edit/Line Width & Type...", TRUE); x_menus_sensitivity(w_current, "_Edit/Fill Type...", TRUE); x_menus_sensitivity(w_current, "_Edit/Embed Component/Picture", TRUE); x_menus_sensitivity(w_current, "_Edit/Unembed Component/Picture", TRUE); x_menus_sensitivity(w_current, "_Edit/Update Component", TRUE); x_menus_sensitivity(w_current, "_Buffer/Copy into 1", TRUE); x_menus_sensitivity(w_current, "_Buffer/Copy into 2", TRUE); x_menus_sensitivity(w_current, "_Buffer/Copy into 3", TRUE); x_menus_sensitivity(w_current, "_Buffer/Copy into 4", TRUE); x_menus_sensitivity(w_current, "_Buffer/Copy into 5", TRUE); x_menus_sensitivity(w_current, "_Buffer/Cut into 1", TRUE); x_menus_sensitivity(w_current, "_Buffer/Cut into 2", TRUE); x_menus_sensitivity(w_current, "_Buffer/Cut into 3", TRUE); x_menus_sensitivity(w_current, "_Buffer/Cut into 4", TRUE); x_menus_sensitivity(w_current, "_Buffer/Cut into 5", TRUE); x_menus_sensitivity(w_current, "Hie_rarchy/_Down Schematic", TRUE); x_menus_sensitivity(w_current, "Hie_rarchy/Down _Symbol", TRUE); x_menus_sensitivity(w_current, "Hie_rarchy/D_ocumentation...", TRUE); x_menus_sensitivity(w_current, "A_ttributes/_Attach", TRUE); x_menus_sensitivity(w_current, "A_ttributes/_Detach", TRUE); x_menus_sensitivity(w_current, "A_ttributes/Show _Value", have_text_selected); x_menus_sensitivity(w_current, "A_ttributes/Show _Name", have_text_selected); x_menus_sensitivity(w_current, "A_ttributes/Show _Both", have_text_selected); x_menus_sensitivity(w_current, "A_ttributes/_Toggle Visibility", have_text_selected); /* Menu items for hierarchy added by SDB 1.9.2005. */ x_menus_popup_sensitivity(w_current, "/Down Schematic", TRUE); x_menus_popup_sensitivity(w_current, "/Down Symbol", TRUE); /* x_menus_popup_sensitivity(w_current, "/Up", TRUE); */ } else { /* Nothing is selected, grey these out */ /* These strings should NOT be internationalized */ x_menus_sensitivity(w_current, "_Edit/Cu_t", FALSE); x_menus_sensitivity(w_current, "_Edit/_Copy", FALSE); x_menus_sensitivity(w_current, "_Edit/_Delete", FALSE); x_menus_sensitivity(w_current, "_Edit/Copy Mode", FALSE); x_menus_sensitivity(w_current, "_Edit/Multiple Copy Mode", FALSE); x_menus_sensitivity(w_current, "_Edit/Move Mode", FALSE); x_menus_sensitivity(w_current, "_Edit/Rotate 90 Mode", FALSE); x_menus_sensitivity(w_current, "_Edit/Mirror Mode", FALSE); x_menus_sensitivity(w_current, "_Edit/Edit...", FALSE); x_menus_sensitivity(w_current, "_Edit/Edit Text...", FALSE); x_menus_sensitivity(w_current, "_Edit/Slot...", FALSE); x_menus_sensitivity(w_current, "_Edit/Color...", FALSE); x_menus_sensitivity(w_current, "_Edit/Lock", FALSE); x_menus_sensitivity(w_current, "_Edit/Unlock", FALSE); x_menus_sensitivity(w_current, "_Edit/Line Width & Type...", FALSE); x_menus_sensitivity(w_current, "_Edit/Fill Type...", FALSE); x_menus_sensitivity(w_current, "_Edit/Embed Component/Picture", FALSE); x_menus_sensitivity(w_current, "_Edit/Unembed Component/Picture", FALSE); x_menus_sensitivity(w_current, "_Edit/Update Component", FALSE); x_menus_sensitivity(w_current, "_Buffer/Copy into 1", FALSE); x_menus_sensitivity(w_current, "_Buffer/Copy into 2", FALSE); x_menus_sensitivity(w_current, "_Buffer/Copy into 3", FALSE); x_menus_sensitivity(w_current, "_Buffer/Copy into 4", FALSE); x_menus_sensitivity(w_current, "_Buffer/Copy into 5", FALSE); x_menus_sensitivity(w_current, "_Buffer/Cut into 1", FALSE); x_menus_sensitivity(w_current, "_Buffer/Cut into 2", FALSE); x_menus_sensitivity(w_current, "_Buffer/Cut into 3", FALSE); x_menus_sensitivity(w_current, "_Buffer/Cut into 4", FALSE); x_menus_sensitivity(w_current, "_Buffer/Cut into 5", FALSE); x_menus_sensitivity(w_current, "Hie_rarchy/_Down Schematic", FALSE); x_menus_sensitivity(w_current, "Hie_rarchy/Down _Symbol", FALSE); x_menus_sensitivity(w_current, "Hie_rarchy/D_ocumentation...", FALSE); x_menus_sensitivity(w_current, "A_ttributes/_Attach", FALSE); x_menus_sensitivity(w_current, "A_ttributes/_Detach", FALSE); x_menus_sensitivity(w_current, "A_ttributes/Show _Value", FALSE); x_menus_sensitivity(w_current, "A_ttributes/Show _Name", FALSE); x_menus_sensitivity(w_current, "A_ttributes/Show _Both", FALSE); x_menus_sensitivity(w_current, "A_ttributes/_Toggle Visibility", FALSE); /* Menu items for hierarchy added by SDB 1.9.2005. */ x_menus_popup_sensitivity(w_current, "/Down Schematic", FALSE); x_menus_popup_sensitivity(w_current, "/Down Symbol", FALSE); /* x_menus_popup_sensitivity(w_current, "/Up", FALSE); */ } x_menus_sensitivity(w_current, "_Buffer/Paste from 1", (object_buffer[0] != NULL)); x_menus_sensitivity(w_current, "_Buffer/Paste from 2", (object_buffer[1] != NULL)); x_menus_sensitivity(w_current, "_Buffer/Paste from 3", (object_buffer[2] != NULL)); x_menus_sensitivity(w_current, "_Buffer/Paste from 4", (object_buffer[3] != NULL)); x_menus_sensitivity(w_current, "_Buffer/Paste from 5", (object_buffer[4] != NULL)); } /*! \brief Set filename as gschem window title * * \par Function Description * Set filename as gschem window title using * the gnome HID format style. * * \param [in] w_current GSCHEM_TOPLEVEL structure * \param [in] string The filename */ void i_set_filename(GSCHEM_TOPLEVEL *w_current, const gchar *string) { gchar *print_string=NULL; gchar *filename=NULL; if (!w_current->main_window) return; if (string == NULL) return; filename = g_path_get_basename(string); print_string = g_strdup_printf("%s - gschem", filename); gtk_window_set_title(GTK_WINDOW(w_current->main_window), print_string); g_free(print_string); g_free(filename); } /*! \brief Write the grid settings to the gschem status bar * * \par Function Description * Write the grid settings to the gschem status bar. * The function takes the current grid paramters of gschem * and prints it to the status bar. * The format is "Grid([SnapGridSize],[CurrentGridSize])" * * \param [in] w_current GSCHEM_TOPLEVEL structure */ void i_update_grid_info (GSCHEM_TOPLEVEL *w_current) { gchar *print_string=NULL; gchar *snap=NULL; gchar *grid=NULL; if (!w_current->grid_label) return; switch (w_current->snap) { case SNAP_OFF: snap = g_strdup(_("OFF")); break; case SNAP_GRID: snap = g_strdup_printf("%d", w_current->snap_size); break; case SNAP_RESNAP: snap = g_strdup_printf("%dR", w_current->snap_size); break; default: g_critical("i_set_grid: w_current->snap out of range: %d\n", w_current->snap); } if (w_current->grid == GRID_NONE) { grid = g_strdup(_("OFF")); } else { int visible_grid = x_grid_query_drawn_spacing (w_current); if (visible_grid == -1) grid = g_strdup (_("NONE")); else grid = g_strdup_printf("%d", visible_grid); } print_string = g_strdup_printf(_("Grid(%s, %s)"), snap, grid); gtk_label_set(GTK_LABEL(w_current->grid_label), print_string); g_free(print_string); g_free(grid); g_free(snap); } geda-gaf-1.8.2/gschem/src/g_register.c0000664000175000017500000004216512220647257014452 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2011 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_ASSERT_H #include #endif #ifdef HAVE_UNISTD_H #include #endif #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \brief */ struct gsubr_t { char* name; int req; int opt; int rst; SCM (*fnc)(); }; /*! \brief */ static struct gsubr_t gschem_funcs[] = { /* rc file */ { "gschem-version", 1, 0, 0, g_rc_gschem_version }, { "display-color-map", 0, 1, 0, g_rc_display_color_map }, { "display-outline-color-map", 0, 1, 0, g_rc_display_outline_color_map }, { "net-endpoint-mode", 1, 0, 0, g_rc_net_endpoint_mode }, { "net-midpoint-mode", 1, 0, 0, g_rc_net_midpoint_mode }, { "net-direction-mode", 1, 0, 0, g_rc_net_direction_mode }, { "net-selection-mode", 1, 0, 0, g_rc_net_selection_mode }, { "net-style", 1, 0, 0, g_rc_net_style }, { "bus-style", 1, 0, 0, g_rc_bus_style }, { "pin-style", 1, 0, 0, g_rc_pin_style }, { "line-style", 1, 0, 0, g_rc_line_style }, { "zoom-with-pan", 1, 0, 0, g_rc_zoom_with_pan }, { "action-feedback-mode", 1, 0, 0, g_rc_action_feedback_mode }, { "text-feedback", 1, 0, 0, g_rc_text_feedback }, { "text-display-zoomfactor", 1, 0, 0, g_rc_text_display_zoomfactor }, { "scrollbars", 1, 0, 0, g_rc_scrollbars }, { "scrollbar-update", 1, 0, 0, g_rc_scrollbar_update }, { "object-clipping", 1, 0, 0, g_rc_object_clipping }, { "embed-components", 1, 0, 0, g_rc_embed_components }, { "component-dialog-attributes",1, 0, 0, g_rc_component_dialog_attributes }, { "logging", 1, 0, 0, g_rc_logging }, { "text-size", 1, 0, 0, g_rc_text_size }, { "snap-size", 1, 0, 0, g_rc_snap_size }, { "text-caps-style", 1, 0, 0, g_rc_text_caps_style }, { "logging-destination", 1, 0, 0, g_rc_logging_destination }, { "attribute-name", 1, 0, 0, g_rc_attribute_name }, { "paper-size", 2, 0, 0, g_rc_paper_size }, { "paper-sizes", 3, 0, 0, g_rc_paper_sizes }, { "output-type", 1, 0, 0, g_rc_output_type }, { "output-orientation", 1, 0, 0, g_rc_output_orientation }, { "output-color", 1, 0, 0, g_rc_output_color }, { "output-capstyle", 1, 0, 0, g_rc_output_capstyle }, { "image-color", 1, 0, 0, g_rc_image_color }, { "image-size", 2, 0, 0, g_rc_image_size }, { "log-window", 1, 0, 0, g_rc_log_window }, { "log-window-type", 1, 0, 0, g_rc_log_window_type }, { "third-button", 1, 0, 0, g_rc_third_button }, { "middle-button", 1, 0, 0, g_rc_middle_button }, { "scroll-wheel", 1, 0, 0, g_rc_scroll_wheel }, { "net-consolidate", 1, 0, 0, g_rc_net_consolidate }, { "file-preview", 1, 0, 0, g_rc_file_preview }, { "enforce-hierarchy", 1, 0, 0, g_rc_enforce_hierarchy }, { "text-origin-marker", 1, 0, 0, g_rc_text_origin_marker }, { "fast-mousepan", 1, 0, 0, g_rc_fast_mousepan }, { "raise-dialog-boxes-on-expose", 1, 0, 0, g_rc_raise_dialog_boxes_on_expose }, { "continue-component-place", 1, 0, 0, g_rc_continue_component_place }, { "undo-levels", 1, 0, 0, g_rc_undo_levels }, { "undo-control", 1, 0, 0, g_rc_undo_control }, { "undo-type", 1, 0, 0, g_rc_undo_type }, { "undo-panzoom", 1, 0, 0, g_rc_undo_panzoom }, { "draw-grips", 1, 0, 0, g_rc_draw_grips }, { "netconn-rubberband", 1, 0, 0, g_rc_netconn_rubberband }, { "magnetic-net-mode", 1, 0, 0, g_rc_magnetic_net_mode }, { "sort-component-library", 1, 0, 0, g_rc_sort_component_library }, { "add-menu", 2, 0, 0, g_rc_add_menu }, { "window-size", 2, 0, 0, g_rc_window_size }, { "warp-cursor", 1, 0, 0, g_rc_warp_cursor }, { "toolbars", 1, 0, 0, g_rc_toolbars }, { "handleboxes", 1, 0, 0, g_rc_handleboxes }, { "setpagedevice-orientation", 1, 0, 0, g_rc_setpagedevice_orientation }, { "setpagedevice-pagesize", 1, 0, 0, g_rc_setpagedevice_pagesize }, { "bus-ripper-size", 1, 0, 0, g_rc_bus_ripper_size }, { "bus-ripper-type", 1, 0, 0, g_rc_bus_ripper_type }, { "bus-ripper-rotation", 1, 0, 0, g_rc_bus_ripper_rotation }, { "force-boundingbox", 1, 0, 0, g_rc_force_boundingbox }, { "dots-grid-dot-size", 1, 0, 0, g_rc_dots_grid_dot_size }, { "dots-grid-mode", 1, 0, 0, g_rc_dots_grid_mode }, { "dots-grid-fixed-threshold", 1, 0, 0, g_rc_dots_grid_fixed_threshold }, { "mesh-grid-display-threshold", 1, 0, 0, g_rc_mesh_grid_display_threshold }, { "add-attribute-offset", 1, 0, 0, g_rc_add_attribute_offset }, { "mousepan-gain", 1, 0, 0, g_rc_mousepan_gain }, { "keyboardpan-gain", 1, 0, 0, g_rc_keyboardpan_gain }, { "print-command", 1, 0, 0, g_rc_print_command }, { "select-slack-pixels", 1, 0, 0, g_rc_select_slack_pixels }, { "zoom-gain", 1, 0, 0, g_rc_zoom_gain }, { "scrollpan-steps", 1, 0, 0, g_rc_scrollpan_steps }, /* backup functions */ { "auto-save-interval", 1, 0, 0, g_rc_auto_save_interval }, /* general guile functions */ { "gschem-print", 1, 0, 0, g_funcs_print }, { "gschem-postscript", 1, 0, 0, g_funcs_postscript }, { "gschem-image", 1, 0, 0, g_funcs_image }, { "gschem-use-rc-values", 0, 0, 0, g_funcs_use_rc_values }, { "gschem-exit", 0, 0, 0, g_funcs_exit }, { "gschem-log", 1, 0, 0, g_funcs_log }, { "gschem-msg", 1, 0, 0, g_funcs_msg }, { "gschem-confirm", 1, 0, 0, g_funcs_confirm }, { "gschem-filesel", 2, 0, 1, g_funcs_filesel }, /* keymapping callbacks */ { "file-new-window", 0, 0, 0, g_keys_file_new_window }, { "file-new", 0, 0, 0, g_keys_file_new }, { "file-open", 0, 0, 0, g_keys_file_open }, { "file-script", 0, 0, 0, g_keys_file_script }, { "file-save", 0, 0, 0, g_keys_file_save }, { "file-save-as", 0, 0, 0, g_keys_file_save_as }, { "file-save-all", 0, 0, 0, g_keys_file_save_all }, { "file-print", 0, 0, 0, g_keys_file_print }, { "file-image", 0, 0, 0, g_keys_file_write_png }, { "file-close-window", 0, 0, 0, g_keys_file_close }, { "file-quit", 0, 0, 0, g_keys_file_quit }, { "edit-undo", 0, 0, 0, g_keys_edit_undo }, { "edit-redo", 0, 0, 0, g_keys_edit_redo }, { "edit-select", 0, 0, 0, g_keys_edit_select }, { "edit-select-all", 0, 0, 0, g_keys_edit_select_all }, { "edit-deselect", 0, 0, 0, g_keys_edit_deselect }, { "edit-copy", 0, 0, 0, g_keys_edit_copy }, { "edit-copy-hotkey", 0, 0, 0, g_keys_edit_copy_hotkey }, { "edit-mcopy", 0, 0, 0, g_keys_edit_mcopy }, { "edit-mcopy-hotkey", 0, 0, 0, g_keys_edit_mcopy_hotkey }, { "edit-move", 0, 0, 0, g_keys_edit_move }, { "edit-move-hotkey", 0, 0, 0, g_keys_edit_move_hotkey }, { "edit-delete", 0, 0, 0, g_keys_edit_delete }, { "edit-rotate-90", 0, 0, 0, g_keys_edit_rotate_90 }, { "edit-rotate-90-hotkey", 0, 0, 0, g_keys_edit_rotate_90_hotkey }, { "edit-mirror", 0, 0, 0, g_keys_edit_mirror }, { "edit-mirror-hotkey", 0, 0, 0, g_keys_edit_mirror_hotkey }, { "edit-slot", 0, 0, 0, g_keys_edit_slot }, { "edit-color", 0, 0, 0, g_keys_edit_color }, { "edit-edit", 0, 0, 0, g_keys_edit_edit }, { "edit-text", 0, 0, 0, g_keys_edit_text }, { "edit-lock", 0, 0, 0, g_keys_edit_lock }, { "edit-unlock", 0, 0, 0, g_keys_edit_unlock }, { "edit-linetype", 0, 0, 0, g_keys_edit_linetype }, { "edit-filltype", 0, 0, 0, g_keys_edit_filltype }, { "edit-translate", 0, 0, 0, g_keys_edit_translate }, { "edit-invoke-macro", 0, 0, 0, g_keys_edit_invoke_macro }, { "edit-embed", 0, 0, 0, g_keys_edit_embed }, { "edit-unembed", 0, 0, 0, g_keys_edit_unembed }, { "edit-update", 0, 0, 0, g_keys_edit_update }, { "edit-show-hidden", 0, 0, 0, g_keys_edit_show_hidden }, { "edit-find-text", 0, 0, 0, g_keys_edit_find }, { "edit-show-text", 0, 0, 0, g_keys_edit_show_text }, { "edit-hide-text", 0, 0, 0, g_keys_edit_hide_text }, { "edit-autonumber", 0, 0, 0, g_keys_edit_autonumber_text }, { "clipboard-copy", 0, 0, 0, g_keys_clipboard_copy }, { "clipboard-cut", 0, 0, 0, g_keys_clipboard_cut }, { "clipboard-paste", 0, 0, 0, g_keys_clipboard_paste }, { "clipboard-paste-hotkey", 0, 0, 0, g_keys_clipboard_paste_hotkey }, { "buffer-copy1", 0, 0, 0, g_keys_buffer_copy1 }, { "buffer-copy2", 0, 0, 0, g_keys_buffer_copy2 }, { "buffer-copy3", 0, 0, 0, g_keys_buffer_copy3 }, { "buffer-copy4", 0, 0, 0, g_keys_buffer_copy4 }, { "buffer-copy5", 0, 0, 0, g_keys_buffer_copy5 }, { "buffer-cut1", 0, 0, 0, g_keys_buffer_cut1 }, { "buffer-cut2", 0, 0, 0, g_keys_buffer_cut2 }, { "buffer-cut3", 0, 0, 0, g_keys_buffer_cut3 }, { "buffer-cut4", 0, 0, 0, g_keys_buffer_cut4 }, { "buffer-cut5", 0, 0, 0, g_keys_buffer_cut5 }, { "buffer-paste1", 0, 0, 0, g_keys_buffer_paste1 }, { "buffer-paste2", 0, 0, 0, g_keys_buffer_paste2 }, { "buffer-paste3", 0, 0, 0, g_keys_buffer_paste3 }, { "buffer-paste4", 0, 0, 0, g_keys_buffer_paste4 }, { "buffer-paste5", 0, 0, 0, g_keys_buffer_paste5 }, { "buffer-paste1-hotkey", 0, 0, 0, g_keys_buffer_paste1_hotkey }, { "buffer-paste2-hotkey", 0, 0, 0, g_keys_buffer_paste2_hotkey }, { "buffer-paste3-hotkey", 0, 0, 0, g_keys_buffer_paste3_hotkey }, { "buffer-paste4-hotkey", 0, 0, 0, g_keys_buffer_paste4_hotkey }, { "buffer-paste5-hotkey", 0, 0, 0, g_keys_buffer_paste5_hotkey }, { "view-redraw", 0, 0, 0, g_keys_view_redraw }, { "view-zoom-full", 0, 0, 0, g_keys_view_zoom_full }, { "view-zoom-extents", 0, 0, 0, g_keys_view_zoom_extents }, { "view-zoom-in", 0, 0, 0, g_keys_view_zoom_in }, { "view-zoom-out", 0, 0, 0, g_keys_view_zoom_out }, { "view-zoom-in-hotkey", 0, 0, 0, g_keys_view_zoom_in_hotkey }, { "view-zoom-out-hotkey", 0, 0, 0, g_keys_view_zoom_out_hotkey }, { "view-zoom-box", 0, 0, 0, g_keys_view_zoom_box }, { "view-zoom-box-hotkey", 0, 0, 0, g_keys_view_zoom_box_hotkey }, { "view-pan", 0, 0, 0, g_keys_view_pan }, { "view-pan-hotkey", 0, 0, 0, g_keys_view_pan_hotkey }, { "view-pan-left", 0, 0, 0, g_keys_view_pan_left }, { "view-pan-right", 0, 0, 0, g_keys_view_pan_right }, { "view-pan-up", 0, 0, 0, g_keys_view_pan_up }, { "view-pan-down", 0, 0, 0, g_keys_view_pan_down }, { "view-dark-colors", 0, 0, 0, g_keys_view_dark_colors }, { "view-light-colors", 0, 0, 0, g_keys_view_light_colors }, { "view-bw-colors", 0, 0, 0, g_keys_view_bw_colors }, { "page-manager", 0, 0, 0, g_keys_page_manager }, { "page-next", 0, 0, 0, g_keys_page_next }, { "page-prev", 0, 0, 0, g_keys_page_prev }, { "page-new", 0, 0, 0, g_keys_page_new }, { "page-close", 0, 0, 0, g_keys_page_close }, { "page-revert", 0, 0, 0, g_keys_page_revert }, { "page-discard", 0, 0, 0, g_keys_page_discard }, { "page-print", 0, 0, 0, g_keys_page_print }, { "add-component", 0, 0, 0, g_keys_add_component }, { "add-attribute", 0, 0, 0, g_keys_add_attribute }, { "add-attribute-hotkey", 0, 0, 0, g_keys_add_attribute_hotkey }, { "add-net", 0, 0, 0, g_keys_add_net }, { "add-net-hotkey", 0, 0, 0, g_keys_add_net_hotkey }, { "add-bus", 0, 0, 0, g_keys_add_bus }, { "add-bus-hotkey", 0, 0, 0, g_keys_add_bus_hotkey }, { "add-text", 0, 0, 0, g_keys_add_text }, { "add-line", 0, 0, 0, g_keys_add_line }, { "add-line-hotkey", 0, 0, 0, g_keys_add_line_hotkey }, { "add-box", 0, 0, 0, g_keys_add_box }, { "add-box-hotkey", 0, 0, 0, g_keys_add_box_hotkey }, { "add-picture", 0, 0, 0, g_keys_add_picture}, { "add-picture-hotkey", 0, 0, 0, g_keys_add_picture_hotkey}, { "add-circle", 0, 0, 0, g_keys_add_circle }, { "add-circle-hotkey", 0, 0, 0, g_keys_add_circle_hotkey }, { "add-arc", 0, 0, 0, g_keys_add_arc }, { "add-arc-hotkey", 0, 0, 0, g_keys_add_arc_hotkey }, { "add-pin", 0, 0, 0, g_keys_add_pin }, { "add-pin-hotkey", 0, 0, 0, g_keys_add_pin_hotkey }, { "hierarchy-down-schematic", 0, 0, 0, g_keys_hierarchy_down_schematic }, { "hierarchy-down-symbol", 0, 0, 0, g_keys_hierarchy_down_symbol }, { "hierarchy-up", 0, 0, 0, g_keys_hierarchy_up }, { "attributes-attach", 0, 0, 0, g_keys_attributes_attach }, { "attributes-detach", 0, 0, 0, g_keys_attributes_detach }, { "attributes-show-name", 0, 0, 0, g_keys_attributes_show_name }, { "attributes-show-value", 0, 0, 0, g_keys_attributes_show_value }, { "attributes-show-both", 0, 0, 0, g_keys_attributes_show_both }, { "attributes-visibility-toggle", 0, 0, 0, g_keys_attributes_visibility_toggle }, { "options-text-size", 0, 0, 0, g_keys_options_text_size }, { "options-snap-size", 0, 0, 0, g_keys_options_snap_size }, { "options-scale-up-snap-size", 0, 0, 0, g_keys_options_scale_up_snap_size }, { "options-scale-down-snap-size",0, 0, 0, g_keys_options_scale_down_snap_size }, { "options-action-feedback", 0, 0, 0, g_keys_options_afeedback }, { "options-grid", 0, 0, 0, g_keys_options_grid }, { "options-snap", 0, 0, 0, g_keys_options_snap }, { "options-rubberband", 0, 0, 0, g_keys_options_rubberband }, { "options-magneticnet", 0, 0, 0, g_keys_options_magneticnet }, { "options-show-log-window", 0, 0, 0, g_keys_options_show_log_window }, { "options-show-coord-window", 0, 0, 0, g_keys_options_show_coord_window }, { "help-about", 0, 0, 0, g_keys_help_about }, { "help-hotkeys", 0, 0, 0, g_keys_help_hotkeys }, { "misc-misc", 0, 0, 0, g_keys_misc }, { "misc-misc2", 0, 0, 0, g_keys_misc2 }, { "misc-misc3", 0, 0, 0, g_keys_misc3 }, { "cancel", 0, 0, 0, g_keys_cancel }, { NULL, 0, 0, 0, NULL } }; /*! \brief Define a hook. * \par Function Description * Creates a Guile new hook with \a n_args arguments, and binds it to * the variable \a name, returning the newly created hook. * * \param n_args Number of arguments the hook should take. * \param name Name of variable to bind the hook to. * * \return the newly-created hook. */ static SCM create_hook (const char *name, int n_args) { SCM hook = scm_make_hook (scm_from_int (n_args)); scm_c_define (name, hook); return scm_permanent_object (hook); } /*! \brief Register function with Scheme. * \par Function Description * Creates subr objects to make g_rc_* functions that are defined * #g_rc.c, #g_keys.c and #g_funcs.c visible to Scheme. */ void g_register_funcs (void) { struct gsubr_t *tmp = gschem_funcs; while (tmp->name != NULL) { scm_c_define_gsubr (tmp->name, tmp->req, tmp->opt, tmp->rst, tmp->fnc); tmp++; } /* Hook stuff */ complex_place_list_changed_hook = create_hook ("complex-place-list-changed-hook", 1); } geda-gaf-1.8.2/gschem/src/gschem_toplevel.c0000664000175000017500000001540512220647257015475 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include "gschem.h" GSCHEM_TOPLEVEL *gschem_toplevel_new () { GSCHEM_TOPLEVEL *w_current; w_current = g_new0 (GSCHEM_TOPLEVEL, 1); w_current->toplevel = NULL; /* ------------------- */ /* main window widgets */ /* ------------------- */ w_current->main_window = NULL; w_current->drawing_area = NULL; w_current->menubar = NULL; w_current->popup_menu = NULL; w_current->h_scrollbar = NULL; w_current->v_scrollbar = NULL; w_current->h_adjustment = NULL; w_current->v_adjustment = NULL; w_current->left_label = NULL; w_current->middle_label = NULL; w_current->right_label = NULL; w_current->grid_label = NULL; w_current->status_label = NULL; w_current->toolbar_select = NULL; w_current->toolbar_net = NULL; w_current->toolbar_bus = NULL; w_current->keyaccel_string = NULL; w_current->keyaccel_string_source_id = FALSE; /* ------------ */ /* Dialog boxes */ /* ------------ */ w_current->sowindow = NULL; w_current->pfswindow = NULL; w_current->cswindow = NULL; w_current->iwindow = NULL; w_current->pswindow = NULL; w_current->tiwindow = NULL; w_current->tewindow = NULL; w_current->sewindow = NULL; w_current->aawindow = NULL; w_current->mawindow = NULL; w_current->aewindow = NULL; w_current->trwindow = NULL; w_current->tswindow = NULL; w_current->tshowwindow = NULL; w_current->thidewindow = NULL; w_current->tfindwindow = NULL; w_current->hkwindow = NULL; w_current->clwindow = NULL; w_current->edit_color = 0; w_current->cowindow = NULL; w_current->coord_world = NULL; w_current->coord_screen = NULL; /* ----------------- */ /* Picture placement */ /* ----------------- */ w_current->current_pixbuf = NULL; w_current->pixbuf_filename = NULL; w_current->pixbuf_wh_ratio = 0; /* ---------------------- */ /* graphics context stuff */ /* ---------------------- */ w_current->gc = NULL; /* ---------------- */ /* Drawing surfaces */ /* ---------------- */ w_current->window = NULL; w_current->drawable = NULL; w_current->cr = NULL; w_current->pl = NULL; w_current->win_width = 0; w_current->win_height = 0; /* ------------- */ /* Drawing state */ /* ------------- */ w_current->first_wx = -1; w_current->first_wy = -1; w_current->second_wx = -1; w_current->second_wy = -1; w_current->third_wx = -1; w_current->third_wy = -1; w_current->distance = 0; w_current->magnetic_wx = -1; w_current->magnetic_wy = -1; w_current->inside_action = 0; w_current->rubber_visible = 0; w_current->net_direction = 0; w_current->which_grip = -1; w_current->which_object = NULL; /* ------------------ */ /* Rubberbanding nets */ /* ------------------ */ w_current->stretch_list = NULL; /* --------------------- */ /* Gschem internal state */ /* --------------------- */ w_current->num_untitled = 0; w_current->event_state = SELECT; w_current->image_width = 0; w_current->image_height = 0; w_current->grid = GRID_MESH; w_current->min_zoom = 0; w_current->max_zoom = 8; w_current->text_alignment = 0; w_current->drawbounding_action_mode = FREE; w_current->last_drawb_mode = LAST_DRAWB_MODE_NONE; w_current->CONTROLKEY = 0; w_current->SHIFTKEY = 0; w_current->ALTKEY = 0; w_current->doing_pan = 0; w_current->buffer_number = 0; w_current->last_callback = NULL; w_current->clipboard_buffer = NULL; /* ------------------ */ /* rc/user parameters */ /* ------------------ */ w_current->text_caps = 0; w_current->text_size = 0; w_current->zoom_with_pan = 0; w_current->actionfeedback_mode = OUTLINE; w_current->text_feedback = 0; w_current->text_display_zoomfactor = 0; w_current->net_endpoint_mode = NONE; w_current->net_midpoint_mode = NONE; w_current->net_direction_mode = TRUE; w_current->net_selection_mode = 0; w_current->net_selection_state = 0; w_current->embed_complex = 0; w_current->include_complex = 0; w_current->scrollbars_flag = 0; w_current->log_window = 0; w_current->log_window_type = 0; w_current->third_button = 0; w_current->middle_button = 0; w_current->file_preview = 0; w_current->enforce_hierarchy = 0; w_current->text_origin_marker = 0; w_current->fast_mousepan = 0; w_current->raise_dialog_boxes = 0; w_current->continue_component_place = 0; w_current->component_select_attrlist = NULL; w_current->undo_levels = 0; w_current->undo_control = 0; w_current->undo_type = 0; w_current->undo_panzoom = 0; w_current->draw_grips = 0; w_current->netconn_rubberband = 0; w_current->sort_component_library = 0; w_current->warp_cursor = 0; w_current->toolbars = 0; w_current->handleboxes = 0; w_current->bus_ripper_size = 0; w_current->bus_ripper_type = 0; w_current->bus_ripper_rotation = 0; w_current->magneticnet_mode = 0; w_current->dots_grid_fixed_threshold = 10; w_current->dots_grid_dot_size = 1; w_current->dots_grid_mode = DOTS_GRID_VARIABLE_MODE; w_current->mesh_grid_display_threshold = 3; w_current->add_attribute_offset = 50; w_current->mousepan_gain = 5; w_current->keyboardpan_gain = 10; w_current->select_slack_pixels = 4; w_current->zoom_gain = 20; w_current->scrollpan_steps = 8; w_current->snap = SNAP_GRID; w_current->snap_size = 100; w_current->print_command = NULL; w_current->smob = SCM_UNDEFINED; return w_current; } void gschem_toplevel_alloc_libgeda_toplevel (GSCHEM_TOPLEVEL *w_current) { w_current->toplevel = s_toplevel_new (); o_attrib_append_attribs_changed_hook (w_current->toplevel, (AttribsChangedFunc) o_invalidate, w_current); s_conn_append_conns_changed_hook (w_current->toplevel, (ConnsChangedFunc) o_invalidate, w_current); } geda-gaf-1.8.2/gschem/src/x_autonumber.c0000664000175000017500000013561312220647257015031 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2011 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_STRING_H #include #endif #include "gschem.h" #include #ifdef HAVE_LIBDMALLOC #include #endif #define GLADE_HOOKUP_OBJECT(component,widget,name) \ g_object_set_data_full (G_OBJECT (component), name, \ gtk_widget_ref (widget), (GDestroyNotify) gtk_widget_unref) /** @brief How many entries to keep in the "Search text" combo box. */ #define HISTORY_LENGTH 15 /* autonumber text structs and enums */ enum { AUTONUMBER_SORT_DIAGONAL, AUTONUMBER_SORT_YX, AUTONUMBER_SORT_YX_REV, AUTONUMBER_SORT_XY, AUTONUMBER_SORT_XY_REV, AUTONUMBER_SORT_FILE }; enum { AUTONUMBER_IGNORE, AUTONUMBER_RENUMBER, AUTONUMBER_RESPECT }; enum { SCOPE_SELECTED, SCOPE_PAGE, SCOPE_HIERARCHY }; typedef struct autonumber_text_t AUTONUMBER_TEXT; /** @brief Stored state of the autonumber text dialog */ struct autonumber_text_t { /** @brief Search text history */ GList *scope_text; /** @brief Scope for searching existing numbers */ gint scope_skip; /** @brief Scope for autonumbering text */ gint scope_number; /** @brief Overwrite existing numbers in scope */ gboolean scope_overwrite; /** @brief Sort order */ gint order; /** @brief Starting number for automatic numbering */ gint startnum; /** @brief Remove numbers instead of automatic numbering */ gboolean removenum; /** @brief Automatic assignments of slots */ gboolean slotting; /** @brief Pointer to the dialog */ GtkWidget *dialog; /** @brief Pointer to the GSCHEM_TOPLEVEL struct */ GSCHEM_TOPLEVEL *w_current; /* variables used while autonumbering */ gchar * current_searchtext; gint root_page; /* flag whether its the root page or not */ GList *used_numbers; /* list of used numbers */ GList *free_slots; /* list of FREE_SLOT objects */ GList *used_slots; /* list of USED_SLOT objects */ }; typedef struct autonumber_slot_t AUTONUMBER_SLOT; struct autonumber_slot_t { gchar *symbolname; /* or should I use the device name? (Werner) */ gint number; /* usually this is the refdes number */ gint slotnr; /* just the number of the free slot */ }; /* ***** BACK-END CODE ***************************************************** */ /********** compare functions for g_list_sort, ... ***********************/ /*! \brief GCompareFunc function to sort a list with g_list_sort(). * \par Function Description * Compares the integer values of the gconstpointers a and b. * \return -1 if ab, 0 if a==b */ gint autonumber_sort_numbers(gconstpointer a, gconstpointer b) { if (GPOINTER_TO_INT(a) < GPOINTER_TO_INT(b)) return -1; if (GPOINTER_TO_INT(a) > GPOINTER_TO_INT(b)) return 1; return 0; } /*! \brief GCompareFunc function to sort text objects by there location * \par Function Description * This Funcion takes two OBJECT* arguments and compares the * location of the two text objects. The first sort criteria is the x location, * the second sort criteria is the y location. * The Function is used as GCompareFunc by g_list_sort(). */ gint autonumber_sort_xy(gconstpointer a, gconstpointer b) { OBJECT *aa, *bb; aa=(OBJECT *) a; bb=(OBJECT *) b; if (aa->text->x < bb->text->x) return -1; if (aa->text->x > bb->text->x) return 1; /* x == x */ if (aa->text->y > bb->text->y) return -1; if (aa->text->y < bb->text->y) return 1; return 0; } /*! \brief GCompareFunc function to sort text objects by there location * \par Function Description * This funcion takes two OBJECT* arguments and compares the * location of the two text objects. The first sort criteria is the x location, * the second sort criteria is the y location. * This function sorts the objects in reverse order. * The function is used as GCompareFunc by g_list_sort(). */ gint autonumber_sort_xy_rev(gconstpointer a, gconstpointer b) { OBJECT *aa, *bb; aa=(OBJECT *) a; bb=(OBJECT *) b; if (aa->text->x < bb->text->x) return 1; if (aa->text->x > bb->text->x) return -1; /* x == x */ if (aa->text->y < bb->text->y) return 1; if (aa->text->y > bb->text->y) return -1; return 0; } /*! \brief GCompareFunc function to sort text objects by there location * \par Function Description * This funcion takes two OBJECT* arguments and compares the * location of the two text objects. The first sort criteria is the y location, * the second sort criteria is the x location. * The function is used as GCompareFunc by g_list_sort(). */ int autonumber_sort_yx(gconstpointer a, gconstpointer b) { OBJECT *aa, *bb; aa=(OBJECT *) a; bb=(OBJECT *) b; if (aa->text->y > bb->text->y) return -1; if (aa->text->y < bb->text->y) return 1; /* y == y */ if (aa->text->x < bb->text->x) return -1; if (aa->text->x > bb->text->x) return 1; return 0; } /*! \brief GCompareFunc function to sort text objects by there location * \par Function Description * This Funcion takes two OBJECT* arguments and compares the * location of the two text objects. The first sort criteria is the y location, * the second sort criteria is the x location. * This function sorts the objects in reverse order. * The function is used as GCompareFunc by g_list_sort(). */ int autonumber_sort_yx_rev(gconstpointer a, gconstpointer b) { OBJECT *aa, *bb; aa=(OBJECT *) a; bb=(OBJECT *) b; if (aa->text->y > bb->text->y) return 1; if (aa->text->y < bb->text->y) return -1; /* y == y */ if (aa->text->x > bb->text->x) return 1; if (aa->text->x < bb->text->x) return -1; return 0; } /*! \brief GCompareFunc function to sort text objects by there location * \par Function Description * This Funcion takes two OBJECT* arguments and compares the * location of the two text objects. The sort criteria is the combined x- and the * y-location. The function sorts from top left to bottom right. * The function is used as GCompareFunc by g_list_sort(). */ int autonumber_sort_diagonal(gconstpointer a, gconstpointer b) { OBJECT *aa, *bb; aa=(OBJECT *) a; bb=(OBJECT *) b; if (aa->text->x - aa->text->y < bb->text->x - bb->text->y) return -1; if (aa->text->x - aa->text->y > bb->text->x - bb->text->y) return 1; return 0; } /*! \brief GCompareFunc function to acces AUTONUMBER_SLOT object in a GList * \par Function Description * This Funcion takes two AUTONUMBER_SLOT* arguments and compares them. * Sorting criteria is are the AUTONUMBER_SLOT members: first the symbolname, than the * number and last the slotnr. * If the number or the slotnr is set to zero it acts as a wildcard. * The function is used as GCompareFunc by GList functions. */ gint freeslot_compare(gconstpointer a, gconstpointer b) { AUTONUMBER_SLOT *aa, *bb; gint res; aa = (AUTONUMBER_SLOT *) a; bb = (AUTONUMBER_SLOT *) b; if ((res = strcmp(aa->symbolname, bb->symbolname)) != 0) return res; /* aa->symbolname == bb->symbolname */ if (aa->number == 0 || bb->number == 0) return 0; if (aa->number > bb->number) return 1; if (aa->number < bb->number) return -1; /* aa->number == bb->number */ if (aa->slotnr == 0 || bb->slotnr == 0) return 0; if (aa->slotnr > bb->slotnr) return 1; if (aa->slotnr < bb->slotnr) return -1; return 0; } /*! \brief Prints a GList of AUTONUMBER_SLOT elements * \par Function Description * This funcion prints the elements of a GList that contains AUTONUMBER_SLOT elements * It is only used for debugging purposes. */ void freeslot_print(GList *list) { GList *item; AUTONUMBER_SLOT *fs; printf("freeslot_print(): symname, number, slot\n"); for (item = list; item != NULL; item = g_list_next(item)) { fs = item ->data; printf(" %s, %d, %d\n",fs->symbolname, fs->number, fs->slotnr); } } /*! \brief Function to clear the databases of used parts * \par Function Descriptions * Just remove the list of used numbers, used slots and free slots. */ void autonumber_clear_database (AUTONUMBER_TEXT *autotext) { /* cleanup everything for the next searchtext */ if (autotext->used_numbers != NULL) { g_list_free(autotext->used_numbers); autotext->used_numbers = NULL; } if (autotext->free_slots != NULL) { g_list_foreach(autotext->free_slots, (GFunc) g_free, NULL); g_list_free(autotext->free_slots); autotext->free_slots = NULL; } if (autotext->used_slots != NULL) { g_list_foreach(autotext->used_slots, (GFunc) g_free, NULL); g_list_free(autotext->used_slots); autotext->used_slots = NULL; } } /*! \brief Function to test, whether the OBJECT matches the autotext criterias * \par Function Description * The criterias are those of the autonumber text dialog. The function decides * whether the OBJECT has to be renumberd, ignored or taken care of when * renumbering all other objects. * \return one of these integer values: AUTONUMBER_IGNORE, * AUTONUMBER_RESPECT or AUTONUMBER_RENUMBER and the current number * of the text object in *number. */ gint autonumber_match(AUTONUMBER_TEXT *autotext, OBJECT *o_current, gint *number) { gint i, len, isnumbered=1; const gchar *str = NULL; len = strlen(autotext->current_searchtext); /* first find out whether we can ignore that object */ if (o_current->type != OBJ_TEXT) /* text object */ return AUTONUMBER_IGNORE; str = o_text_get_string (autotext->w_current->toplevel, o_current); if (!(strlen(str) - len > 0) || !g_str_has_prefix(str, autotext->current_searchtext)) return AUTONUMBER_IGNORE; /* the string object matches with its leading characters to the searchtext */ /* now look for the extension, either a number or the "?" */ if (g_str_has_suffix (str,"?")) { isnumbered = 0; /* There must not be any character between the "?" and the searchtext */ if (strlen(str) != len+1) return AUTONUMBER_IGNORE; } else { if (!isdigit( (int) (str[len]) )) /* has at least one digit */ return AUTONUMBER_IGNORE; for (i=len+1; str[i]; i++) /* and only digits */ if (!isdigit( (int) (str[i]) )) return AUTONUMBER_IGNORE; } /* we have six cases, 3 from focus multiplied by 2 selection cases */ if ((autotext->root_page || autotext->scope_number == SCOPE_HIERARCHY) && (o_current->selected || autotext->scope_number == SCOPE_HIERARCHY || autotext->scope_number == SCOPE_PAGE) && (!isnumbered || (autotext->scope_overwrite))) return AUTONUMBER_RENUMBER; if (isnumbered && !(autotext->scope_skip == SCOPE_SELECTED && !(o_current->selected) && autotext->root_page)) { sscanf(&(str[len])," %d", number); return AUTONUMBER_RESPECT; /* numbered objects which we don't renumber */ } else return AUTONUMBER_IGNORE; /* unnumbered objects outside the focus */ } /*! \brief Creates a list of already numbered objects and slots * \par Function Description * This function collects the used numbers of a single schematic page. * The used element numbers are stored in a GList container * inside the AUTONUMBER_TEXT struct. * The slotting container is a little bit different. It stores free slots of * multislotted symbols, that were used only partially. * The criterias are derivated from the autonumber dialog entries. */ void autonumber_get_used(GSCHEM_TOPLEVEL *w_current, AUTONUMBER_TEXT *autotext) { gint number, numslots, slotnr, i; OBJECT *o_current, *o_parent; AUTONUMBER_SLOT *slot; GList *slot_item; char *numslot_str, *slot_str; const GList *iter; for (iter = s_page_objects (w_current->toplevel->page_current); iter != NULL; iter = g_list_next (iter)) { o_current = iter->data; if (autonumber_match(autotext, o_current, &number) == AUTONUMBER_RESPECT) { /* check slot and maybe add it to the lists */ o_parent = o_current->attached_to; if (autotext->slotting && o_parent != NULL) { /* check for slotted symbol */ numslot_str = o_attrib_search_object_attribs_by_name (o_parent, "numslots", 0); if (numslot_str != NULL) { sscanf(numslot_str," %d",&numslots); g_free(numslot_str); if (numslots > 0) { slot_str = o_attrib_search_object_attribs_by_name (o_parent, "slot", 0); if (slot_str == NULL) { s_log_message(_("slotted object without slot attribute may cause " "problems when autonumbering slots\n")); } else { sscanf(slot_str, " %d", &slotnr); slot = g_new(AUTONUMBER_SLOT,1); slot->number = number; slot->slotnr = slotnr; slot->symbolname = o_parent->complex_basename; slot_item = g_list_find_custom(autotext->used_slots, slot, (GCompareFunc) freeslot_compare); if (slot_item != NULL) { /* duplicate slot in used_slots */ s_log_message(_("duplicate slot may cause problems: " "[symbolname=%s, number=%d, slot=%d]\n"), slot->symbolname, slot->number, slot->slotnr); g_free(slot); } else { autotext->used_slots = g_list_insert_sorted(autotext->used_slots, slot, (GCompareFunc) freeslot_compare); slot_item = g_list_find_custom(autotext->free_slots, slot, (GCompareFunc) freeslot_compare); if (slot_item == NULL) { /* insert all slots to the list, except of the current one */ for (i=1; i <= numslots; i++) { if (i != slotnr) { slot = g_memdup(slot, sizeof(AUTONUMBER_SLOT)); slot->slotnr = i; autotext->free_slots = g_list_insert_sorted(autotext->free_slots, slot, (GCompareFunc) freeslot_compare); } } } else { g_free(slot_item->data); autotext->free_slots = g_list_delete_link(autotext->free_slots, slot_item); } } } } } } /* put number into the used list */ autotext->used_numbers = g_list_insert_sorted(autotext->used_numbers, GINT_TO_POINTER(number), (GCompareFunc) autonumber_sort_numbers); } } } /*! \brief Gets or generates free numbers for the autonumbering process. * \par Function Description * This function gets or generates new numbers for the OBJECT o_current. * It uses the element numbers used_numbers and the list of the free slots * free_slots of the AUTONUMBER_TEXT struct. * \return * The new number is returned into the number parameter. * slot is set if autoslotting is active, else it is set to zero. */ void autonumber_get_new_numbers(AUTONUMBER_TEXT *autotext, OBJECT *o_current, gint *number, gint *slot) { GList *item; gint new_number, numslots, i; AUTONUMBER_SLOT *freeslot; OBJECT *o_parent = NULL; GList *freeslot_item; gchar *numslot_str; new_number = autotext->startnum; /* Check for slots first */ /* 1. are there any unused slots in the database? */ o_parent = o_current->attached_to; if (autotext->slotting && o_parent != NULL) { freeslot = g_new(AUTONUMBER_SLOT,1); freeslot->symbolname = o_parent->complex_basename; freeslot->number = 0; freeslot->slotnr = 0; freeslot_item = g_list_find_custom(autotext->free_slots, freeslot, (GCompareFunc) freeslot_compare); g_free(freeslot); /* Yes! -> remove from database, apply it */ if (freeslot_item != NULL) { freeslot = freeslot_item->data; *number = freeslot->number; *slot = freeslot->slotnr; g_free(freeslot); autotext->free_slots = g_list_delete_link(autotext->free_slots, freeslot_item); return; } } /* get a new number */ item = autotext->used_numbers; while (1) { while (item != NULL && GPOINTER_TO_INT(item->data) < new_number) item = g_list_next(item); if (item == NULL || GPOINTER_TO_INT(item->data) > new_number) break; else /* new_number == item->data */ new_number++; } *number = new_number; *slot = 0; /* insert the new number to the used list */ autotext->used_numbers = g_list_insert_sorted(autotext->used_numbers, GINT_TO_POINTER(new_number), (GCompareFunc) autonumber_sort_numbers); /* 3. is o_current a slotted object ? */ if ((autotext->slotting) && o_parent != NULL) { numslot_str = o_attrib_search_object_attribs_by_name (o_parent, "numslots", 0); if (numslot_str != NULL) { sscanf(numslot_str," %d",&numslots); g_free(numslot_str); if (numslots > 0) { /* Yes! -> new number and slot=1; add the other slots to the database */ *slot = 1; for (i=2; i <=numslots; i++) { freeslot = g_new(AUTONUMBER_SLOT,1); freeslot->symbolname = o_parent->complex_basename; freeslot->number = new_number; freeslot->slotnr = i; autotext->free_slots = g_list_insert_sorted(autotext->free_slots, freeslot, (GCompareFunc) freeslot_compare); } } } } } /** @brief Removes the number from the element. * * This function updates the text content of the \a o_current object. * * @param autotext Pointer to the state structure * @param o_current Pointer to the object from which to remove the number * */ void autonumber_remove_number(AUTONUMBER_TEXT * autotext, OBJECT *o_current) { OBJECT *o_parent, *o_slot; gchar *slot_str; gchar *str = NULL; /* replace old text */ str = g_strdup_printf("%s?", autotext->current_searchtext); o_text_set_string (autotext->w_current->toplevel, o_current, str); g_free (str); /* remove the slot attribute if slotting is active */ if (autotext->slotting) { /* get the slot attribute */ o_parent = o_current->attached_to; if (o_parent != NULL) { slot_str = s_slot_search_slot (o_parent, &o_slot); g_free (slot_str); /* Only attempt to remove non-inherited slot attributes */ if (o_slot != NULL && !o_attrib_is_inherited (o_slot)) { /* delete the slot attribute */ o_delete (autotext->w_current, o_slot); } } } autotext->w_current->toplevel->page_current->CHANGED = 1; } /*! \brief Changes the number OBJECT element. Changes the slot attribute. * \par Function Description * This function updates the text content of the o_current object. * If the slot value is not zero. It updates the slot attribut of the * complex element that is also the parent object of the o_current element. */ void autonumber_apply_new_text(AUTONUMBER_TEXT * autotext, OBJECT *o_current, gint number, gint slot) { char *str; /* update the slot on the owning object */ str = g_strdup_printf ("slot=%d", slot); o_slot_end (autotext->w_current, o_current->attached_to, str); g_free (str); /* replace old text */ str = g_strdup_printf("%s%d", autotext->current_searchtext, number); o_text_set_string (autotext->w_current->toplevel, o_current, str); g_free (str); autotext->w_current->toplevel->page_current->CHANGED = 1; } /*! \brief Handles all the options of the autonumber text dialog * \par Function Description * This function is the master of all autonumber code. It receives the options of * the the autonumber text dialog in an AUTONUMBER_TEXT structure. * First it collects all pages of a hierarchical schematic. * Second it gets all matching text elements for the searchtext. * Then it renumbers all text elements of all schematic pages. The renumbering * follows the rules of the parameters given in the autonumber text dialog. */ void autonumber_text_autonumber(AUTONUMBER_TEXT *autotext) { GList *pages; GList *searchtext_list=NULL; GList *text_item, *obj_item, *page_item; OBJECT *o_current; GSCHEM_TOPLEVEL *w_current; gchar *searchtext; gchar *scope_text; gchar *new_searchtext; gint i, number, slot; GList *o_list = NULL; const GList *iter; w_current = autotext->w_current; autotext->current_searchtext = NULL; autotext->root_page = 1; autotext->used_numbers = NULL; autotext->free_slots = NULL; autotext->used_slots = NULL; scope_text = g_list_first(autotext->scope_text)->data; /* Step1: get all pages of the hierarchy */ pages = s_hierarchy_traversepages (w_current->toplevel, w_current->toplevel->page_current, HIERARCHY_NODUPS); /* g_list_foreach(pages, (GFunc) s_hierarchy_print_page, NULL); */ /* Step2: if searchtext has an asterisk at the end we have to find all matching searchtextes. Example: "refdes=*" will match each text that starts with "refdes=" and has a trailing "?" or a trailing number if the "all"-option is set. We get a list of possible prefixes: refdes=R, refdes=C. If there is only one search pattern, it becomes a single item in the searchtext list */ if (strlen(scope_text) == 0) { s_log_message(_("No searchstring given in autonumber text.\n")); return; /* error */ } else if (g_str_has_suffix(scope_text,"?") == TRUE) { /* single searchtext, strip of the "?" */ searchtext = g_strndup(scope_text, strlen(scope_text)-1); searchtext_list=g_list_append (searchtext_list, searchtext); } else if (g_str_has_suffix(scope_text,"*") == TRUE) { /* strip of the "*" */ searchtext = g_strndup(scope_text, strlen(scope_text)-1); /* collect all the possible searchtexts in all pages of the hierarchy */ for (page_item = pages; page_item != NULL; page_item = g_list_next(page_item)) { s_page_goto(w_current->toplevel, page_item->data); /* iterate over all objects an look for matching searchtext's */ for (iter = s_page_objects (w_current->toplevel->page_current); iter != NULL; iter = g_list_next (iter)) { o_current = iter->data; if (o_current->type == OBJ_TEXT) { if (autotext->scope_number == SCOPE_HIERARCHY || autotext->scope_number == SCOPE_PAGE || ((autotext->scope_number == SCOPE_SELECTED) && (o_current->selected))) { const gchar *str = o_text_get_string (w_current->toplevel, o_current); if (g_str_has_prefix (str, searchtext)) { /* the beginnig of the current text matches with the searchtext now */ /* strip of the trailing [0-9?] chars and add it too the searchtext */ for (i = strlen (str)-1; (i >= strlen(searchtext)) && (str[i] == '?' || isdigit( (int) (str[i]) )); i--) ; /* void */ new_searchtext = g_strndup (str, i+1); if (g_list_find_custom(searchtext_list, new_searchtext, (GCompareFunc) strcmp) == NULL ) { searchtext_list = g_list_append(searchtext_list, new_searchtext); } else { g_free(new_searchtext); } } } } } if (autotext->scope_number == SCOPE_SELECTED || autotext->scope_number == SCOPE_PAGE) break; /* search only in the first page */ } g_free(searchtext); } else { s_log_message(_("No '*' or '?' given at the end of the autonumber text.\n")); return; } /* Step3: iterate over the search items in the list */ for (text_item=searchtext_list; text_item !=NULL; text_item=g_list_next(text_item)) { autotext->current_searchtext = text_item->data; /* printf("autonumber_text_autonumber: searchtext %s\n", autotext->current_searchtext); */ /* decide whether to renumber page by page or get a global used-list */ if (autotext->scope_skip == SCOPE_HIERARCHY) { /* whole hierarchy database */ /* renumbering all means that no db is required */ if (!(autotext->scope_number == SCOPE_HIERARCHY && autotext->scope_overwrite)) { for (page_item = pages; page_item != NULL; page_item = g_list_next(page_item)) { autotext->root_page = (pages->data == page_item->data); s_page_goto(w_current->toplevel, page_item->data); autonumber_get_used(w_current, autotext); } } } /* renumber the elements */ for (page_item = pages; page_item != NULL; page_item = g_list_next(page_item)) { s_page_goto(w_current->toplevel, page_item->data); autotext->root_page = (pages->data == page_item->data); /* build a page database if we're numbering pagebypage or selection only*/ if (autotext->scope_skip == SCOPE_PAGE || autotext->scope_skip == SCOPE_SELECTED) { autonumber_get_used(w_current, autotext); } /* RENUMBER CODE FOR ONE PAGE AND ONE SEARCHTEXT*/ /* 1. get objects to renumber */ for (iter = s_page_objects (w_current->toplevel->page_current); iter != NULL; iter = g_list_next (iter)) { o_current = iter->data; if (autonumber_match(autotext, o_current, &number) == AUTONUMBER_RENUMBER) { /* put number into the used list */ o_list = g_list_append(o_list, o_current); } } /* 2. sort object list */ switch (autotext->order) { case AUTONUMBER_SORT_YX: o_list=g_list_sort(o_list, autonumber_sort_yx); break; case AUTONUMBER_SORT_YX_REV: o_list=g_list_sort(o_list, autonumber_sort_yx_rev); break; case AUTONUMBER_SORT_XY: o_list=g_list_sort(o_list, autonumber_sort_xy); break; case AUTONUMBER_SORT_XY_REV: o_list=g_list_sort(o_list, autonumber_sort_xy_rev); break; case AUTONUMBER_SORT_DIAGONAL: o_list=g_list_sort(o_list, autonumber_sort_diagonal); break; default: ; /* unsorted file order */ } /* 3. renumber/reslot the objects */ for(obj_item=o_list; obj_item != NULL; obj_item=g_list_next(obj_item)) { o_current= obj_item->data; if(autotext->removenum) { autonumber_remove_number(autotext, o_current); } else { /* get valid numbers from the database */ autonumber_get_new_numbers(autotext, o_current, &number, &slot); /* and apply it. TODO: join these two functions */ autonumber_apply_new_text(autotext, o_current, number, slot); } } g_list_free(o_list); o_list = NULL; /* destroy the page database */ if (autotext->scope_skip == SCOPE_PAGE || autotext->scope_skip == SCOPE_SELECTED) autonumber_clear_database(autotext); if (autotext->scope_number == SCOPE_SELECTED || autotext->scope_number == SCOPE_PAGE) break; /* only renumber the parent page (the first page) */ } autonumber_clear_database(autotext); /* cleanup */ } /* cleanup and redraw all*/ g_list_foreach(searchtext_list, (GFunc) g_free, NULL); g_list_free(searchtext_list); s_page_goto(w_current->toplevel, pages->data); /* go back to the root page */ o_invalidate_all (w_current); g_list_free(pages); o_undo_savestate(w_current, UNDO_ALL); } /* ***** UTILITY GUI FUNCTIONS (move to a separate file in the future?) **** */ /** @brief Finds a widget by its name given a pointer to its parent. * * @param widget Pointer to the parent widget. * @param widget_name Name of the widget. * @return Pointer to the widget or NULL if not found. */ GtkWidget* lookup_widget(GtkWidget *widget, const gchar *widget_name) { GtkWidget *found_widget; found_widget = (GtkWidget*) g_object_get_data(G_OBJECT(widget), widget_name); return found_widget; } /*! \brief Put the icons and the text into the sortorder combobox * \par Function Description * Load all bitmaps for the combobox and store them together with the label * in a GtkListStore. */ void autonumber_sortorder_create(GSCHEM_TOPLEVEL *w_current, GtkWidget *sort_order) { GtkListStore *store; GtkTreeIter iter; GtkCellRenderer *renderer; GdkPixbuf *pixbuf; gchar *path; GError *error=NULL; gchar *filenames[] = {"gschem-diagonal.png", "gschem-top2bottom.png", "gschem-bottom2top.png", "gschem-left2right.png", "gschem-right2left.png", "gschem-fileorder.png", NULL}; gchar *names[] = {N_("Diagonal"), N_("Top to bottom"), N_("Bottom to top"), N_("Left to right"), N_("Right to left"), N_("File order"), NULL}; gint i; store = gtk_list_store_new(2, G_TYPE_STRING, GDK_TYPE_PIXBUF); for (i=0; filenames[i] != NULL; i++) { path=g_build_filename(w_current->toplevel->bitmap_directory, filenames[i], NULL); pixbuf = gdk_pixbuf_new_from_file(path, &error); g_free(path); gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, 0, _(names[i]), 1, pixbuf, -1); } gtk_combo_box_set_model(GTK_COMBO_BOX(sort_order), GTK_TREE_MODEL(store)); renderer = gtk_cell_renderer_text_new (); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (sort_order), renderer, TRUE); gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (sort_order), renderer, "text", 0, NULL); renderer = gtk_cell_renderer_pixbuf_new(); g_object_set(G_OBJECT(renderer), "xpad", 5, "ypad", 5, NULL); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (sort_order), renderer, FALSE); gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (sort_order), renderer, "pixbuf", 1, NULL); } /* ***** STATE STRUCT HANDLING (interface between GUI and backend code) **** */ /** @brief Adds a line to the search text history list * * Function makes sure that: 1) There are no duplicates in the list and 2) the * last search text is always at the top of the list. */ GList *autonumber_history_add(GList *history, gchar *text) { /* Search for this text in history and delete it (so we don't have * duplicate entries) */ GList *cur; cur=history; while(cur!=NULL) { if(!strcmp(text, cur->data)) { history=g_list_remove_link(history, cur); g_free(cur->data); g_list_free(cur); break; } cur=g_list_next(cur); } /* Add the new text at the beginning of the list */ history=g_list_prepend(history, text); /* Truncate history */ while(g_list_length(history) > HISTORY_LENGTH) { GList *last = g_list_last(history); history = g_list_remove_link(history, last); g_free(last->data); g_list_free(last); } return history; } /** @brief Allocate and initialize the state structure * * @return Pointer to the allocated structure or NULL on error. */ AUTONUMBER_TEXT *autonumber_init_state() { AUTONUMBER_TEXT *autotext; /* Default contents of the combo box history */ gchar *default_text[] = { "refdes=*", "refdes=C?", "refdes=D?", "refdes=I?", "refdes=L?", "refdes=Q?", "refdes=R?", "refdes=T?", "refdes=U?", "refdes=X?", "netname=*", "netname=A?", "netname=D?", NULL }; gchar **t; autotext = g_new(AUTONUMBER_TEXT, 1); if(autotext==NULL) return NULL; autotext->scope_text = NULL; t=default_text; while(*t!=NULL) { autotext->scope_text=g_list_append(autotext->scope_text, g_strdup(*t)); t++; } autotext->scope_skip = SCOPE_PAGE; autotext->scope_number = SCOPE_SELECTED; autotext->scope_overwrite = 0; autotext->order = AUTONUMBER_SORT_DIAGONAL; autotext->startnum=1; autotext->removenum=0; autotext->slotting=0; autotext->dialog = NULL; return autotext; } /** @brief Restore the settings for the autonumber text dialog * * @param autotext Pointer to the state struct. */ void autonumber_set_state(AUTONUMBER_TEXT *autotext) { GtkWidget *widget; GtkTreeModel *model; GList *el; /* Scope */ /* Search text history */ widget = lookup_widget(autotext->dialog, "scope_text"); /* Simple way to clear the ComboBox. Owen from #gtk+ says: * * Yeah, it's just slightly "shady" ... if you want to stick to fully * advertised API, you need to remember how many rows you added and * use gtk_combo_box_remove_text() */ model = gtk_combo_box_get_model(GTK_COMBO_BOX(widget)); gtk_list_store_clear(GTK_LIST_STORE(model)); for (el= autotext->scope_text; el != NULL; el=g_list_next(el)) { gtk_combo_box_append_text(GTK_COMBO_BOX(widget), el->data); } widget = gtk_bin_get_child(GTK_BIN(widget)); gtk_entry_set_text(GTK_ENTRY(widget), g_list_first(autotext->scope_text)->data); widget = lookup_widget(autotext->dialog, "scope_skip"); gtk_combo_box_set_active(GTK_COMBO_BOX(widget), autotext->scope_skip); widget = lookup_widget(autotext->dialog, "scope_number"); gtk_combo_box_set_active(GTK_COMBO_BOX(widget), autotext->scope_number); widget = lookup_widget(autotext->dialog, "scope_overwrite"); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), autotext->scope_overwrite); /* Options */ widget = lookup_widget(autotext->dialog, "opt_startnum"); gtk_spin_button_set_value(GTK_SPIN_BUTTON(widget), autotext->startnum); widget = lookup_widget(autotext->dialog, "sort_order"); gtk_combo_box_set_active(GTK_COMBO_BOX(widget), autotext->order); widget = lookup_widget(autotext->dialog, "opt_removenum"); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), autotext->removenum); widget = lookup_widget(autotext->dialog, "opt_slotting"); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), autotext->slotting); } /** @brief Get the settings from the autonumber text dialog * * Get the settings from the autonumber text dialog and store it in the * AUTONUMBER_TEXT structure. * * @param autotext Pointer to the state struct. */ void autonumber_get_state(AUTONUMBER_TEXT *autotext) { GtkWidget *widget; gchar *text; /* Scope */ /* Search text history */ widget = lookup_widget(autotext->dialog, "scope_text"); widget = gtk_bin_get_child(GTK_BIN(widget)); text = g_strdup(gtk_entry_get_text( GTK_ENTRY(widget))); autotext->scope_text=autonumber_history_add(autotext->scope_text, text); widget = lookup_widget(autotext->dialog, "scope_skip"); autotext->scope_skip = gtk_combo_box_get_active( GTK_COMBO_BOX(widget) ); widget = lookup_widget(autotext->dialog, "scope_number"); autotext->scope_number = gtk_combo_box_get_active(GTK_COMBO_BOX(widget) ); widget = lookup_widget(autotext->dialog, "scope_overwrite"); autotext->scope_overwrite = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)); /* Sort order */ widget = lookup_widget(autotext->dialog, "sort_order"); autotext->order= gtk_combo_box_get_active(GTK_COMBO_BOX(widget)); /* Options */ widget = lookup_widget(autotext->dialog, "opt_startnum"); autotext->startnum=gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widget)); widget = lookup_widget(autotext->dialog, "opt_removenum"); autotext->removenum = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)); widget = lookup_widget(autotext->dialog, "opt_slotting"); autotext->slotting = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)); } /* ***** CALLBACKS (functions that get called directly from the GTK) ******* */ /*! \brief response callback for the autonumber text dialog * \par Function Description * The function just closes the dialog if the close button is pressed or the * user closes the dialog window. * Triggering the apply button will call the autonumber action functions. */ void autonumber_text_response(GtkWidget * widget, gint response, AUTONUMBER_TEXT *autotext) { switch (response) { case GTK_RESPONSE_ACCEPT: autonumber_get_state(autotext); if (autotext->removenum == TRUE && autotext->scope_overwrite == FALSE) { /* temporarly set the overwrite flag */ autotext->scope_overwrite = TRUE; autonumber_text_autonumber(autotext); autotext->scope_overwrite = FALSE; } else { autonumber_text_autonumber(autotext); } break; case GTK_RESPONSE_REJECT: case GTK_RESPONSE_DELETE_EVENT: gtk_widget_destroy(autotext->dialog); autotext->dialog = NULL; break; default: printf("ERROR: autonumber_text_response(): strange signal %d\n",response); } } /** @brief Callback that activates or deactivates "overwrite existing numbers" * check box. * * This gets called each time "remove numbers" check box gets clicked. */ void autonumber_removenum_toggled(GtkWidget * opt_removenum, AUTONUMBER_TEXT *autotext) { GtkWidget *scope_overwrite; scope_overwrite=lookup_widget(autotext->dialog, "scope_overwrite"); /* toggle activity of scope overwrite with respect to removenum */ if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(opt_removenum))) { gtk_widget_set_sensitive(scope_overwrite, 0); } else { gtk_widget_set_sensitive(scope_overwrite, 1); } } /* ***** DIALOG SET-UP ***************************************************** */ /** @brief Creates the autonumber text dialog. * * Dialog is not shown. No callbacks are registered. This is basically * unmodified code returned by Glade. * * Only modification was the following substitution: * * %s/create_pixmap (autonumber_text, "\(.*\)")/autonumber_create_pixmap("gschem-\1", w_current)/ * * and addition of the "w_current" parameter. * * @param w_current Pointer to the top level struct. * @return Pointer to the dialog window. */ GtkWidget* autonumber_create_dialog(GSCHEM_TOPLEVEL *w_current) { GtkWidget *autonumber_text; GtkWidget *vbox1; GtkWidget *alignment1; GtkWidget *vbox3; GtkWidget *table1; GtkWidget *label4; GtkWidget *scope_text; GtkWidget *label8; GtkWidget *label6; GtkWidget *scope_number; GtkWidget *scope_skip; GtkWidget *scope_overwrite; GtkWidget *label1; GtkWidget *alignment3; GtkWidget *vbox4; GtkWidget *table3; GtkWidget *label12; GtkWidget *label13; GtkObject *opt_startnum_adj; GtkWidget *opt_startnum; GtkWidget *sort_order; GtkWidget *opt_removenum; GtkWidget *opt_slotting; GtkWidget *label3; autonumber_text = gschem_dialog_new_with_buttons(_("Autonumber text"), GTK_WINDOW(w_current->main_window), 0, /* not modal */ "autonumber", w_current, GTK_STOCK_CLOSE, GTK_RESPONSE_REJECT, GTK_STOCK_APPLY, GTK_RESPONSE_ACCEPT, NULL); /* Set the alternative button order (ok, cancel, help) for other systems */ gtk_dialog_set_alternative_button_order(GTK_DIALOG(autonumber_text), GTK_RESPONSE_ACCEPT, GTK_RESPONSE_REJECT, -1); gtk_window_position (GTK_WINDOW (autonumber_text), GTK_WIN_POS_MOUSE); gtk_container_border_width(GTK_CONTAINER(autonumber_text), DIALOG_BORDER_SPACING); vbox1 = GTK_DIALOG(autonumber_text)->vbox; gtk_box_set_spacing(GTK_BOX(vbox1), DIALOG_V_SPACING); /* scope section */ label1 = gtk_label_new (_("Scope")); gtk_label_set_use_markup (GTK_LABEL (label1), TRUE); gtk_misc_set_alignment (GTK_MISC(label1), 0, 0); gtk_box_pack_start (GTK_BOX(vbox1), label1, TRUE, TRUE, 0); gtk_widget_show (label1); alignment1 = gtk_alignment_new (0, 0, 1, 1); gtk_widget_show (alignment1); gtk_box_pack_start (GTK_BOX (vbox1), alignment1, TRUE, TRUE, 0); gtk_alignment_set_padding (GTK_ALIGNMENT (alignment1), 0, 0, DIALOG_INDENTATION, 0); vbox3 = gtk_vbox_new (FALSE, 0); gtk_widget_show (vbox3); gtk_container_add (GTK_CONTAINER (alignment1), vbox3); table1 = gtk_table_new (3, 2, FALSE); gtk_widget_show (table1); gtk_box_pack_start (GTK_BOX (vbox3), table1, TRUE, TRUE, 0); gtk_table_set_row_spacings (GTK_TABLE (table1), DIALOG_V_SPACING); gtk_table_set_col_spacings (GTK_TABLE (table1), DIALOG_H_SPACING); label4 = gtk_label_new (_("Search for:")); gtk_widget_show (label4); gtk_table_attach (GTK_TABLE (table1), label4, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label4), 0, 0.5); scope_text = gtk_combo_box_entry_new_text (); gtk_entry_set_activates_default(GTK_ENTRY(gtk_bin_get_child(GTK_BIN(scope_text))), TRUE); gtk_widget_show (scope_text); gtk_table_attach (GTK_TABLE (table1), scope_text, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); label8 = gtk_label_new (_("Autonumber text in:")); gtk_widget_show (label8); gtk_table_attach (GTK_TABLE (table1), label8, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label8), 0, 0.5); label6 = gtk_label_new (_("Skip numbers found in:")); gtk_widget_show (label6); gtk_table_attach (GTK_TABLE (table1), label6, 0, 1, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label6), 0, 0.5); scope_number = gtk_combo_box_new_text (); gtk_widget_show (scope_number); gtk_table_attach (GTK_TABLE (table1), scope_number, 1, 2, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_combo_box_append_text (GTK_COMBO_BOX (scope_number), _("Selected objects")); gtk_combo_box_append_text (GTK_COMBO_BOX (scope_number), _("Current page")); gtk_combo_box_append_text (GTK_COMBO_BOX (scope_number), _("Whole hierarchy")); scope_skip = gtk_combo_box_new_text (); gtk_widget_show (scope_skip); gtk_table_attach (GTK_TABLE (table1), scope_skip, 1, 2, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_combo_box_append_text (GTK_COMBO_BOX (scope_skip), _("Selected objects")); gtk_combo_box_append_text (GTK_COMBO_BOX (scope_skip), _("Current page")); gtk_combo_box_append_text (GTK_COMBO_BOX (scope_skip), _("Whole hierarchy")); scope_overwrite = gtk_check_button_new_with_mnemonic (_("Overwrite existing numbers")); gtk_widget_show (scope_overwrite); gtk_box_pack_start (GTK_BOX (vbox3), scope_overwrite, FALSE, FALSE, 6); /* Options section */ label3 = gtk_label_new (_("Options")); gtk_label_set_use_markup (GTK_LABEL (label3), TRUE); gtk_misc_set_alignment(GTK_MISC(label3), 0, 0); gtk_widget_show (label3); gtk_box_pack_start(GTK_BOX(vbox1), label3, TRUE, TRUE, 0); alignment3 = gtk_alignment_new (0, 0, 1, 1); gtk_widget_show (alignment3); gtk_box_pack_start(GTK_BOX(vbox1), alignment3, TRUE, TRUE, 0); gtk_alignment_set_padding (GTK_ALIGNMENT (alignment3), 0, 0, DIALOG_INDENTATION, 0); vbox4 = gtk_vbox_new (FALSE, 3); gtk_widget_show (vbox4); gtk_container_add (GTK_CONTAINER (alignment3), vbox4); table3 = gtk_table_new (2, 2, FALSE); gtk_widget_show (table3); gtk_box_pack_start (GTK_BOX (vbox4), table3, TRUE, TRUE, 0); gtk_table_set_row_spacings (GTK_TABLE (table3), DIALOG_V_SPACING); gtk_table_set_col_spacings (GTK_TABLE (table3), DIALOG_H_SPACING); label12 = gtk_label_new (_("Starting number:")); gtk_widget_show (label12); gtk_table_attach (GTK_TABLE (table3), label12, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label12), 0, 0.5); label13 = gtk_label_new (_("Sort order:")); gtk_widget_show (label13); gtk_table_attach (GTK_TABLE (table3), label13, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label13), 0, 0.5); opt_startnum_adj = gtk_adjustment_new (1, 0, 10000, 1, 10, 10); opt_startnum = gtk_spin_button_new (GTK_ADJUSTMENT (opt_startnum_adj), 1, 0); gtk_entry_set_activates_default(GTK_ENTRY(opt_startnum), TRUE); gtk_widget_show (opt_startnum); gtk_table_attach (GTK_TABLE (table3), opt_startnum, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); sort_order = gtk_combo_box_new(); gtk_widget_show (sort_order); gtk_table_attach (GTK_TABLE (table3), sort_order, 1, 2, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); opt_removenum = gtk_check_button_new_with_mnemonic (_("Remove numbers")); gtk_widget_show (opt_removenum); gtk_box_pack_start (GTK_BOX (vbox4), opt_removenum, FALSE, FALSE, 0); opt_slotting = gtk_check_button_new_with_mnemonic (_("Automatic slotting")); gtk_widget_show (opt_slotting); gtk_box_pack_start (GTK_BOX (vbox4), opt_slotting, FALSE, FALSE, 0); /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT (autonumber_text, scope_text, "scope_text"); GLADE_HOOKUP_OBJECT (autonumber_text, scope_number, "scope_number"); GLADE_HOOKUP_OBJECT (autonumber_text, scope_skip, "scope_skip"); GLADE_HOOKUP_OBJECT (autonumber_text, scope_overwrite, "scope_overwrite"); GLADE_HOOKUP_OBJECT (autonumber_text, opt_startnum, "opt_startnum"); GLADE_HOOKUP_OBJECT (autonumber_text, sort_order, "sort_order"); GLADE_HOOKUP_OBJECT (autonumber_text, opt_removenum, "opt_removenum"); GLADE_HOOKUP_OBJECT (autonumber_text, opt_slotting, "opt_slotting"); return autonumber_text; } /*! \brief Create or restore the autonumber text dialog * * If the function is called the first time the dialog is created. * If the dialog is only in background it is moved to the foreground. * * @param w_current Pointer to the top level struct */ void autonumber_text_dialog(GSCHEM_TOPLEVEL *w_current) { static AUTONUMBER_TEXT *autotext = NULL; GtkWidget *opt_removenum = NULL; GtkWidget *sort_order = NULL; if(autotext == NULL) { /* first call of this function, init dialog structure */ autotext=autonumber_init_state(); } /* set the GSCHEM_TOPLEVEL always. Can it be changed between the calls??? */ autotext->w_current = w_current; if(autotext->dialog == NULL) { /* Dialog is not currently displayed - create it */ autotext->dialog = autonumber_create_dialog(w_current); opt_removenum = lookup_widget(autotext->dialog, "opt_removenum"); sort_order = lookup_widget(autotext->dialog, "sort_order"); autonumber_sortorder_create(w_current, sort_order); gtk_dialog_set_default_response (GTK_DIALOG (autotext->dialog), GTK_RESPONSE_ACCEPT); g_signal_connect (G_OBJECT (autotext->dialog), "response", G_CALLBACK (autonumber_text_response), autotext); g_signal_connect (G_OBJECT (opt_removenum), "clicked", G_CALLBACK (autonumber_removenum_toggled), autotext); autonumber_set_state(autotext); gtk_widget_show_all(autotext->dialog); } /* if the dialog is in the background or minimized: show it */ gtk_window_present(GTK_WINDOW(autotext->dialog)); } geda-gaf-1.8.2/gschem/src/Makefile.am0000664000175000017500000000407612220647257014207 00000000000000bin_PROGRAMS = gschem BUILT_SOURCES = \ g_attrib.x \ g_hook.x \ g_keys.x \ g_util.x \ g_window.x \ g_select.x gschem_SOURCES = \ a_pan.c \ a_zoom.c \ g_attrib.c \ g_funcs.c \ g_hook.c \ g_keys.c \ g_rc.c \ g_register.c \ g_select.c \ g_util.c \ g_window.c \ globals.c \ gschem.c \ gschem_accel_label.c \ gschem_action.c \ gschem_cairo.c \ gschem_dialog.c \ gschem_pango.c \ gschem_toplevel.c \ i_basic.c \ i_callbacks.c \ i_vars.c \ m_basic.c \ o_arc.c \ o_attrib.c \ o_basic.c \ o_box.c \ o_buffer.c \ o_bus.c \ o_circle.c \ o_complex.c \ o_copy.c \ o_cue.c \ o_delete.c \ o_find.c \ o_grips.c \ o_line.c \ o_misc.c \ o_move.c \ o_net.c \ o_path.c \ o_picture.c \ o_pin.c \ o_place.c \ o_select.c \ o_slot.c \ o_text.c \ o_undo.c \ parsecmd.c \ s_stretch.c \ x_attribedit.c \ x_autonumber.c \ x_basic.c \ x_clipboard.c \ x_color.c \ x_compselect.c \ x_dialog.c \ x_event.c \ x_fileselect.c \ x_grid.c \ x_image.c \ x_log.c \ x_menus.c \ x_misc.c \ x_multiattrib.c \ x_pagesel.c \ x_preview.c \ x_print.c \ x_rc.c \ x_script.c \ x_stroke.c \ x_window.c gschem_CPPFLAGS = -I$(top_srcdir)/libgeda/include -I$(srcdir)/../include \ -I$(top_srcdir) -I$(includedir) -I$(top_srcdir)/intl gschem_CFLAGS = $(GCC_CFLAGS) $(LIBSTROKE_CFLAGS) \ $(MINGW_CFLAGS) \ $(GLIB_CFLAGS) $(GTK_CFLAGS) $(GTHREAD_CFLAGS) $(GUILE_CFLAGS) gschem_LDFLAGS = $(LIBSTROKE_LDFLAGS) $(GLIB_LIBS) $(GTK_LIBS) \ $(GTHREAD_LIBS) $(GUILE_LIBS) $(MINGW_GUI_LDFLAGS) gschem_LDADD = $(top_builddir)/libgeda/src/libgeda.la @LIBINTL@ # This is used to generate boilerplate for defining Scheme functions # in C. SUFFIXES = .x snarf_cpp_opts = $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(gschem_CPPFLAGS) $(AM_CFLAGS) $(gschem_CFLAGS) .c.x: CPP="$(CPP)" $(GUILE_SNARF) -o $@ $< $(snarf_cpp_opts) localedir = @datadir@/locale DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@ MOSTLYCLEANFILES = *.log core FILE *~ CLEANFILES = *.log core FILE *~ $(BUILT_SOURCES) DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in geda-gaf-1.8.2/gschem/src/o_slot.c0000664000175000017500000000737412063576065013625 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2011 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #ifdef HAVE_STRING_H #include #endif #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif #define MAX_SLOT_SIZE 10 /*! \todo Finish function documentation!!! * \brief Change slot of selected component * \par Function Description * */ void o_slot_start (GSCHEM_TOPLEVEL *w_current, OBJECT *object) { char *slot_value; /* single object for now */ if (object->type != OBJ_COMPLEX) return; slot_value = o_attrib_search_object_attribs_by_name (object, "slot", 0); if (slot_value == NULL) { /* we didn't find a slot=? attribute, make something up */ /* for now.. this is an error condition */ slot_value = g_strdup ("1"); } slot_edit_dialog (w_current, slot_value); g_free (slot_value); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_slot_end(GSCHEM_TOPLEVEL *w_current, OBJECT *object, const char *string) { TOPLEVEL *toplevel = w_current->toplevel; OBJECT *new_obj; char *slot_value; char *numslots_value; OBJECT *o_slot; char *value = NULL; int numslots; int new_slot_number; int status; g_return_if_fail (object != NULL); status = o_attrib_string_get_name_value (string, NULL, &value); if (!status) { s_log_message (_("Slot attribute malformed\n")); return; } numslots_value = o_attrib_search_object_attribs_by_name (object, "numslots", 0); if (!numslots_value) { s_log_message (_("numslots attribute missing\n")); s_log_message (_("Slotting not allowed for this component\n")); g_free (value); return; } numslots = atoi (numslots_value); g_free (numslots_value); new_slot_number = atoi (value); #if DEBUG printf ("numslots = %d\n", numslots); #endif if (new_slot_number > numslots || new_slot_number <=0 ) { s_log_message (_("New slot number out of range\n")); g_free (value); return; } /* first see if slot attribute already exists outside * complex */ slot_value = s_slot_search_slot (object, &o_slot); g_free (slot_value); if (o_slot != NULL && !o_attrib_is_inherited (o_slot)) { o_text_set_string (toplevel, o_slot, string); } else { /* here you need to do the add the slot attribute since it doesn't exist */ new_obj = o_text_new (toplevel, OBJ_TEXT, ATTRIBUTE_COLOR, object->complex->x, object->complex->y, LOWER_LEFT, 0, /* zero is angle */ string, 10, INVISIBLE, SHOW_NAME_VALUE); s_page_append (toplevel, toplevel->page_current, new_obj); /* manually attach attribute */ o_attrib_attach (toplevel, new_obj, object, FALSE); /* Call add-objects-hook */ g_run_hook_object (w_current, "%add-objects-hook", new_obj); } s_slot_update_object (toplevel, object); toplevel->page_current->CHANGED = 1; g_free (value); } geda-gaf-1.8.2/gschem/src/s_stretch.c0000664000175000017500000000610512063576065014313 00000000000000/* gEDA - GPL Electronic Design Automation * libgeda - gEDA's library * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ GList *s_stretch_add (GList *list, OBJECT *object, int whichone) { GList *s_iter; STRETCH *s_new; /* Check if the object is already in the stretch list */ for (s_iter = list; s_iter != NULL; s_iter = g_list_next (s_iter)) { STRETCH *s_current = s_iter->data; if (s_current->object->sid == object->sid) { return list; } } s_new = g_malloc (sizeof (STRETCH)); s_new->object = object; s_new->whichone = whichone; return g_list_append (list, s_new); } /*! \brief Test if a STRETCH structure points at a given OBJECT * * \brief * \par Function Description * Compares if (STRETCH *)a->object == (OBJECT *)b * * \param [in] a The STRETCH structure * \param [in] b The OBJECT to test for * \returns 0 if STRETCH *a points to OBJECT *b, otherwise 1. */ static gint find_object (gconstpointer a, gconstpointer b) { return (((STRETCH *)a)->object == (OBJECT *)b) ? 0 : 1; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ GList *s_stretch_remove (GList *list, OBJECT *object) { GList *item; g_return_val_if_fail (object != NULL, list); item = g_list_find_custom (list, object, find_object); g_free (item->data); return g_list_delete_link (list, item); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void s_stretch_print_all (GList *list) { GList *iter; printf("START printing stretch ********************\n"); for (iter = list; iter != NULL; iter = g_list_next (iter)) { STRETCH *s_current = iter->data; if (s_current->object) { printf("Object: %s\n", s_current->object->name); } else { printf("Object is NULL\n"); } printf("which one: %d\n", s_current->whichone); } printf("DONE printing stretch ********************\n\n"); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void s_stretch_destroy_all (GList *list) { g_list_foreach (list, (GFunc)g_free, NULL); g_list_free (list); } geda-gaf-1.8.2/gschem/src/o_copy.c0000664000175000017500000000476612063576065013620 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2011 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_copy_start(GSCHEM_TOPLEVEL *w_current, int w_x, int w_y) { TOPLEVEL *toplevel = w_current->toplevel; GList *s_current; /* Copy the objects into the buffer at their current position, * with future motion relative to the mouse origin, (w_x, w_y). */ w_current->first_wx = w_x; w_current->first_wy = w_y; if (!o_select_selected (w_current)) return; s_current = geda_list_get_glist( toplevel->page_current->selection_list ); if (toplevel->page_current->place_list != NULL) { s_delete_object_glist(toplevel, toplevel->page_current->place_list); toplevel->page_current->place_list = NULL; } toplevel->page_current->place_list = o_glist_copy_all (toplevel, s_current, toplevel->page_current->place_list); w_current->inside_action = 1; i_set_state(w_current, COPY); o_place_start (w_current, w_x, w_y); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_copy_end(GSCHEM_TOPLEVEL *w_current) { o_place_end (w_current, w_current->second_wx, w_current->second_wy, FALSE, NULL, "%paste-objects-hook"); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_copy_multiple_end(GSCHEM_TOPLEVEL *w_current) { o_place_end (w_current, w_current->second_wx, w_current->second_wy, TRUE, NULL, "%paste-objects-hook"); } geda-gaf-1.8.2/gschem/src/o_undo.c0000664000175000017500000003276012220647257013603 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #ifdef HAVE_STRING_H #include #endif #ifdef HAVE_UNISTD_H #include #endif #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif static int undo_file_index=0; static int prog_pid=0; static char* tmp_path = NULL; /* this is additional number of levels (or history) at which point the */ /* undo stack will be trimmed, it's used a safety to prevent running out */ /* of entries to free */ #define UNDO_PADDING 5 /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_undo_init(void) { prog_pid = getpid(); tmp_path = g_strdup (getenv("TMP")); if (tmp_path == NULL) { tmp_path = g_strdup ("/tmp"); } #if DEBUG printf("%s\n", tmp_path); #endif } /*! \todo Finish function documentation!!! * \brief * \par Function Description * * * flag can be one of the following values: *
    *
    *
    UNDO_ALL *
    *
    UNDO_VIEWPORT_ONLY *
    */ void o_undo_savestate(GSCHEM_TOPLEVEL *w_current, int flag) { TOPLEVEL *toplevel = w_current->toplevel; char *filename = NULL; GList *object_list = NULL; int levels; UNDO *u_current; UNDO *u_current_next; /* save autosave backups if necessary */ o_autosave_backups(w_current); if (w_current->undo_control == FALSE) { return; } if (flag == UNDO_ALL) { /* Increment the number of operations since last backup if auto-save is enabled */ if (toplevel->auto_save_interval != 0) { toplevel->page_current->ops_since_last_backup++; } /* HACK */ /* Before we save the undo state, consolidate nets as necessary */ /* This is where the net consolidation call would have been * triggered before it was removed from o_save_buffer(). */ if (toplevel->net_consolidate == TRUE) o_net_consolidate (toplevel, toplevel->page_current); } if (w_current->undo_type == UNDO_DISK && flag == UNDO_ALL) { filename = g_strdup_printf("%s%cgschem.save%d_%d.sch", tmp_path, G_DIR_SEPARATOR, prog_pid, undo_file_index++); /* Changed from f_save to o_save when adding backup copy creation. */ /* f_save manages the creaton of backup copies. This way, f_save is called only when saving a file, and not when saving an undo backup copy */ o_save (toplevel, s_page_objects (toplevel->page_current), filename, NULL); } else if (w_current->undo_type == UNDO_MEMORY && flag == UNDO_ALL) { object_list = o_glist_copy_all (toplevel, s_page_objects (toplevel->page_current), object_list); } /* Clear Anything above current */ if (toplevel->page_current->undo_current) { s_undo_remove_rest(toplevel, toplevel->page_current->undo_current->next); toplevel->page_current->undo_current->next = NULL; } else { /* undo current is NULL */ s_undo_remove_rest(toplevel, toplevel->page_current->undo_bottom); toplevel->page_current->undo_bottom = NULL; } toplevel->page_current->undo_tos = toplevel->page_current->undo_current; toplevel->page_current->undo_tos = s_undo_add(toplevel->page_current->undo_tos, flag, filename, object_list, toplevel->page_current->left, toplevel->page_current->top, toplevel->page_current->right, toplevel->page_current->bottom, toplevel->page_current->page_control, toplevel->page_current->up); toplevel->page_current->undo_current = toplevel->page_current->undo_tos; if (toplevel->page_current->undo_bottom == NULL) { toplevel->page_current->undo_bottom = toplevel->page_current->undo_tos; } #if DEBUG printf("\n\n---Undo----\n"); s_undo_print_all(toplevel->page_current->undo_bottom); printf("BOTTOM: %s\n", toplevel->page_current->undo_bottom->filename); printf("TOS: %s\n", toplevel->page_current->undo_tos->filename); printf("CURRENT: %s\n", toplevel->page_current->undo_current->filename); printf("----\n"); #endif g_free(filename); /* Now go through and see if we need to free/remove some undo levels */ /* so we stay within the limits */ /* only check history every 10 undo savestates */ if (undo_file_index % 10) { return; } levels = s_undo_levels(toplevel->page_current->undo_bottom); #if DEBUG printf("levels: %d\n", levels); #endif if (levels >= w_current->undo_levels + UNDO_PADDING) { levels = levels - w_current->undo_levels; #if DEBUG printf("Trimming: %d levels\n", levels); #endif u_current = toplevel->page_current->undo_bottom; while (levels > 0) { /* Because we use a pad you are always guaranteed to never */ /* exhaust the list */ g_assert (u_current != NULL); u_current_next = u_current->next; if (u_current->filename) { #if DEBUG printf("Freeing: %s\n", u_current->filename); #endif unlink(u_current->filename); g_free(u_current->filename); } if (u_current->object_list) { s_delete_object_glist (toplevel, u_current->object_list); u_current->object_list = NULL; } u_current->next = NULL; u_current->prev = NULL; g_free(u_current); u_current = u_current_next; levels--; } g_assert (u_current != NULL); u_current->prev = NULL; toplevel->page_current->undo_bottom = u_current; #if DEBUG printf("New current is: %s\n", u_current->filename); #endif } #if DEBUG printf("\n\n---Undo----\n"); s_undo_print_all(toplevel->page_current->undo_bottom); printf("BOTTOM: %s\n", toplevel->page_current->undo_bottom->filename); printf("TOS: %s\n", toplevel->page_current->undo_tos->filename); printf("CURRENT: %s\n", toplevel->page_current->undo_current->filename); printf("----\n"); #endif } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ char *o_undo_find_prev_filename(UNDO *start) { UNDO *u_current; u_current = start->prev; while(u_current) { if (u_current->filename) { return(u_current->filename); } u_current = u_current->prev; } return(NULL); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ GList *o_undo_find_prev_object_head (UNDO *start) { UNDO *u_current; u_current = start->prev; while(u_current) { if (u_current->object_list) { return u_current->object_list; } u_current = u_current->prev; } return(NULL); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * * type can be one of the following values: *
    *
    *
    UNDO_ACTION *
    *
    REDO_ACTION *
    */ void o_undo_callback(GSCHEM_TOPLEVEL *w_current, int type) { TOPLEVEL *toplevel = w_current->toplevel; UNDO *u_current; UNDO *u_next; UNDO *save_bottom; UNDO *save_tos; UNDO *save_current; int save_logging; int find_prev_data=FALSE; char *save_filename; if (w_current->undo_control == FALSE) { s_log_message(_("Undo/Redo disabled in rc file\n")); return; } if (toplevel->page_current->undo_current == NULL) { return; } if (type == UNDO_ACTION) { u_current = toplevel->page_current->undo_current->prev; } else { u_current = toplevel->page_current->undo_current->next; } u_next = toplevel->page_current->undo_current; if (u_current == NULL) { return; } if (u_next->type == UNDO_ALL && u_current->type == UNDO_VIEWPORT_ONLY) { #if DEBUG printf("Type: %d\n", u_current->type); printf("Current is an undo all, next is viewport only!\n"); #endif find_prev_data = TRUE; if (w_current->undo_type == UNDO_DISK) { u_current->filename = o_undo_find_prev_filename(u_current); } else { u_current->object_list = o_undo_find_prev_object_head (u_current); } } /* save filename */ save_filename = g_strdup (toplevel->page_current->page_filename); /* save structure so it's not nuked */ save_bottom = toplevel->page_current->undo_bottom; save_tos = toplevel->page_current->undo_tos; save_current = toplevel->page_current->undo_current; toplevel->page_current->undo_bottom = NULL; toplevel->page_current->undo_tos = NULL; toplevel->page_current->undo_current = NULL; if (w_current->undo_type == UNDO_DISK && u_current->filename) { PAGE *p_new; s_page_delete (toplevel, toplevel->page_current); p_new = s_page_new(toplevel, u_current->filename); s_page_goto (toplevel, p_new); } else if (w_current->undo_type == UNDO_MEMORY && u_current->object_list) { PAGE *p_new; s_page_delete (toplevel, toplevel->page_current); p_new = s_page_new (toplevel, save_filename); s_page_goto (toplevel, p_new); } /* temporarily disable logging */ save_logging = do_logging; do_logging = FALSE; if (w_current->undo_type == UNDO_DISK && u_current->filename) { f_open(toplevel, toplevel->page_current, u_current->filename, NULL); x_manual_resize(w_current); toplevel->page_current->page_control = u_current->page_control; toplevel->page_current->up = u_current->up; toplevel->page_current->CHANGED=1; } else if (w_current->undo_type == UNDO_MEMORY && u_current->object_list) { s_page_delete_objects (toplevel, toplevel->page_current); s_page_append_list (toplevel, toplevel->page_current, o_glist_copy_all (toplevel, u_current->object_list, NULL)); x_manual_resize(w_current); toplevel->page_current->page_control = u_current->page_control; toplevel->page_current->up = u_current->up; toplevel->page_current->CHANGED=1; } /* do misc setups */ set_window(toplevel, toplevel->page_current, u_current->left, u_current->right, u_current->top, u_current->bottom); x_hscrollbar_update(w_current); x_vscrollbar_update(w_current); /* restore logging */ do_logging = save_logging; /* set filename right */ g_free(toplevel->page_current->page_filename); toplevel->page_current->page_filename = save_filename; /* final redraw */ x_pagesel_update (w_current); x_multiattrib_update (w_current); /* Let the caller to decide if redraw or not */ o_invalidate_all (w_current); i_update_menus(w_current); /* restore saved undo structures */ toplevel->page_current->undo_bottom = save_bottom; toplevel->page_current->undo_tos = save_tos; toplevel->page_current->undo_current = save_current; if (type == UNDO_ACTION) { if (toplevel->page_current->undo_current) { toplevel->page_current->undo_current = toplevel->page_current->undo_current->prev; if (toplevel->page_current->undo_current == NULL) { toplevel->page_current->undo_current = toplevel->page_current->undo_bottom; } } } else { /* type is REDO_ACTION */ if (toplevel->page_current->undo_current) { toplevel->page_current->undo_current = toplevel->page_current->undo_current->next; if (toplevel->page_current->undo_current == NULL) { toplevel->page_current->undo_current = toplevel->page_current->undo_tos; } } } /* don't have to free data here since filename, object_list are */ /* just pointers to the real data (lower in the stack) */ if (find_prev_data) { u_current->filename = NULL; u_current->object_list = NULL; } #if DEBUG printf("\n\n---Undo----\n"); s_undo_print_all(toplevel->page_current->undo_bottom); printf("TOS: %s\n", toplevel->page_current->undo_tos->filename); printf("CURRENT: %s\n", toplevel->page_current->undo_current->filename); printf("----\n"); #endif } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_undo_cleanup(void) { int i; char *filename; for (i = 0 ; i < undo_file_index; i++) { filename = g_strdup_printf("%s%cgschem.save%d_%d.sch", tmp_path, G_DIR_SEPARATOR, prog_pid, i); unlink(filename); g_free(filename); } g_free(tmp_path); tmp_path = NULL; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_undo_remove_last_undo(GSCHEM_TOPLEVEL *w_current) { TOPLEVEL *toplevel = w_current->toplevel; if (toplevel->page_current->undo_current == NULL) { return; } if (toplevel->page_current->undo_current) { toplevel->page_current->undo_current = toplevel->page_current->undo_current->prev; if (toplevel->page_current->undo_current == NULL) { toplevel->page_current->undo_current = toplevel->page_current->undo_bottom; } } } geda-gaf-1.8.2/gschem/src/i_callbacks.c0000664000175000017500000026271512220647257014554 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2011 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #ifdef HAVE_STRING_H #include #endif #ifdef HAVE_UNISTD_H #include #endif #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \brief */ #define DELIMITERS ", " /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ /* every i_callback functions have the same footprint */ #define DEFINE_I_CALLBACK(name) \ void i_callback_ ## name(gpointer data, \ guint callback_action, \ GtkWidget *widget) /*! \section callback-intro Callback Functions * right now, all callbacks except for the ones on the File menu have * the middle button shortcut. Let me (Ales) know if we should also * shortcut the File button */ /*! \section file-menu File Menu Callback Functions */ /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \note * don't use the widget parameter on this function, or do some checking... * since there is a call: widget = NULL, data = 0 (will be w_current hack) * \todo This should be renamed to page_new perhaps... */ DEFINE_I_CALLBACK(file_new) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*)data; PAGE *page; g_return_if_fail (w_current != NULL); /* create a new page */ page = x_window_open_page (w_current, NULL); x_window_set_current_page (w_current, page); s_log_message (_("New page created [%s]\n"), page->page_filename); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \note * don't use the widget parameter on this function, or do some checking... * since there is a call: widget = NULL, data = 0 (will be w_current hack) */ void i_callback_toolbar_file_new(GtkWidget* widget, gpointer data) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); if (!w_current->window) return; i_callback_file_new(data, 0, NULL); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(file_new_window) { GSCHEM_TOPLEVEL *w_current; PAGE *page; w_current = gschem_toplevel_new (); gschem_toplevel_alloc_libgeda_toplevel (w_current); w_current->toplevel->load_newer_backup_func = x_fileselect_load_backup; w_current->toplevel->load_newer_backup_data = w_current; o_text_set_rendered_bounds_func (w_current->toplevel, o_text_get_rendered_bounds, w_current); /* Damage notifications should invalidate the object on screen */ o_add_change_notify (w_current->toplevel, (ChangeNotifyFunc) o_invalidate, (ChangeNotifyFunc) o_invalidate, w_current); x_window_setup (w_current); page = x_window_open_page (w_current, NULL); x_window_set_current_page (w_current, page); s_log_message (_("New Window created [%s]\n"), page->page_filename); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \note * don't use the widget parameter on this function, or do some * checking... * since there is a call: widget = NULL, data = 0 (will be w_current) * \todo This should be renamed to page_open perhaps... */ DEFINE_I_CALLBACK(file_open) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); x_fileselect_open (w_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \note * don't use the widget parameter on this function, or do some * checking... * since there is a call: widget = NULL, data = 0 (will be w_current) * \todo This should be renamed to page_open perhaps... */ void i_callback_toolbar_file_open(GtkWidget* widget, gpointer data) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); if (!w_current->window) return; i_callback_file_open(data, 0, NULL); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(file_script) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); setup_script_selector(w_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \note * don't use the widget parameter on this function, or do some * checking... * since there is a call: widget = NULL, data = 0 (will be w_current) */ DEFINE_I_CALLBACK(file_save) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); /*! \todo probably there should be a flag that says whether * page_filename is derived from untitled_name or specified by * a user. Some twisted people might name their files like * untitled_name. :-) */ if (strstr(w_current->toplevel->page_current->page_filename, w_current->toplevel->untitled_name)) { x_fileselect_save (w_current); } else { x_window_save_page (w_current, w_current->toplevel->page_current, w_current->toplevel->page_current->page_filename); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \note * don't use the widget parameter on this function, or do some * checking... * since there is a call: widget = NULL, data = 0 (will be w_current) * \todo This should be renamed to page_open perhaps... */ void i_callback_toolbar_file_save(GtkWidget* widget, gpointer data) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); if (!w_current->window) return; i_callback_file_save(data, 0, NULL); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \note * don't use the widget parameter on this function, or do some checking... * since there is a call: widget = NULL, data = 0 (will be w_current) */ DEFINE_I_CALLBACK(file_save_all) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); if (s_page_save_all(w_current->toplevel)) { i_set_state_msg(w_current, SELECT, _("Failed to Save All")); } else { i_set_state_msg(w_current, SELECT, _("Saved All")); } i_update_toolbar(w_current); x_pagesel_update (w_current); i_update_menus(w_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(file_save_as) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); x_fileselect_save (w_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(file_print) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; char *base=NULL, *filename; char *ps_filename=NULL; g_return_if_fail (w_current != NULL); g_return_if_fail (w_current->toplevel->page_current->page_filename != NULL); /* shortcut */ filename = w_current->toplevel->page_current->page_filename; /* get the base file name */ if (g_str_has_suffix(filename, ".sch")) { /* the filename ends with ".sch", remove it */ base = g_strndup(filename, strlen(filename) - strlen(".sch")); } else { /* the filename does not end with .sch */ base = g_strdup (filename); } /* add ".ps" tp the base filename */ ps_filename = g_strconcat (base, ".ps", NULL); g_free(base); if (output_filename) { x_print_setup(w_current, output_filename); } else { x_print_setup(w_current, ps_filename); } g_free(ps_filename); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(file_write_png) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); x_image_setup(w_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \note * don't use the widget parameter on this function, or do some * checking... * since there is a call: widget = NULL, data = 0 (will be w_current) * this function closes a window */ DEFINE_I_CALLBACK(file_close) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); s_log_message(_("Closing Window\n")); x_window_close(w_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * This function is called when you send a delete event to gschem * * \note * Also DON'T ref the widget parameter since they can be null * \todo Need a cleaner way of doing this. This routine is used by the * delete event signals */ int i_callback_close(gpointer data, guint callback_action, GtkWidget *widget) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_val_if_fail ((w_current != NULL), FALSE); i_callback_file_close(w_current, 0, widget); return(FALSE); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(file_quit) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); x_window_close_all(w_current); } /*! \section edit-menu Edit Menu Callback Functions */ /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(edit_undo) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; /* If we're cancelling from a move action, re-wind the * page contents back to their state before we started. * * It "might" be nice to sub-undo rotates / zoom changes * made whilst moving components, but when the undo code * hits s_page_delete(), the place list objects are free'd. * Since they are also contained in the schematic page, a * crash occurs when the page objects are free'd. * */ if (w_current->inside_action && (w_current->event_state == MOVE || w_current->event_state == ENDMOVE)) { i_callback_cancel (w_current, 0, NULL); } else { o_undo_callback(w_current, UNDO_ACTION); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \note * don't use the widget parameter on this function, or do some checking... * since there is a call: widget = NULL, data = 0 (will be w_current hack) */ void i_callback_toolbar_edit_undo(GtkWidget* widget, gpointer data) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); if (!w_current->window) return; i_callback_edit_undo(data, 0, NULL); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(edit_redo) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; o_undo_callback(w_current, REDO_ACTION); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \note * don't use the widget parameter on this function, or do some checking... * since there is a call: widget = NULL, data = 0 (will be w_current hack) */ void i_callback_toolbar_edit_redo(GtkWidget* widget, gpointer data) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); if (!w_current->window) return; i_callback_edit_redo(data, 0, NULL); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \note * Select also does not update the middle button shortcut. */ DEFINE_I_CALLBACK(edit_select) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; o_redraw_cleanstates(w_current); /* this is probably the only place this should be */ i_set_state(w_current, SELECT); i_update_toolbar(w_current); w_current->inside_action = 0; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \note * don't use the widget parameter on this function, or do some checking... * since there is a call: widget = NULL, data = 0 (will be w_current hack) */ void i_callback_toolbar_edit_select(GtkWidget* widget, gpointer data) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); if (!w_current->window) return; if (GTK_TOGGLE_BUTTON (widget)->active) { if (!o_invalidate_rubber (w_current)) { i_callback_cancel(w_current, 0, NULL); } i_callback_edit_select(data, 0, NULL); } } /*! \brief Select all objects on page. * \par Function Description * Sets all objects on page as selected. */ DEFINE_I_CALLBACK (edit_select_all) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL *) data; o_redraw_cleanstates (w_current); o_select_visible_unlocked (w_current); i_set_state (w_current, SELECT); w_current->inside_action = 0; i_update_toolbar (w_current); i_update_menus (w_current); } /*! \brief Deselect all objects on page. * \par Function Description * Sets all objects on page as deselected. */ DEFINE_I_CALLBACK (edit_deselect) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL *) data; o_redraw_cleanstates (w_current); o_select_unselect_all (w_current); i_set_state (w_current, SELECT); w_current->inside_action = 0; i_update_toolbar (w_current); i_update_menus (w_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(edit_copy) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); i_update_middle_button(w_current, i_callback_edit_copy, _("Copy")); if (o_select_return_first_object(w_current)) { o_redraw_cleanstates(w_current); i_set_state(w_current, STARTCOPY); } else { i_set_state_msg(w_current, SELECT, _("Select objs first")); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(edit_copy_hotkey) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; gint wx, wy; g_return_if_fail (w_current != NULL); if (!x_event_get_pointer_position(w_current, TRUE, &wx, &wy)) return; i_update_middle_button(w_current, i_callback_edit_copy_hotkey, _("Copy")); if (o_select_return_first_object(w_current)) { o_redraw_cleanstates(w_current); w_current->event_state = COPY; o_copy_start(w_current, wx, wy); w_current->event_state = ENDCOPY; w_current->inside_action = 1; } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(edit_mcopy) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); i_update_middle_button(w_current, i_callback_edit_copy, _("Multiple Copy")); if (o_select_return_first_object(w_current)) { o_redraw_cleanstates(w_current); i_set_state(w_current, STARTMCOPY); } else { i_set_state_msg(w_current, SELECT, _("Select objs first")); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(edit_mcopy_hotkey) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; gint wx, wy; g_return_if_fail (w_current != NULL); if (!x_event_get_pointer_position(w_current, TRUE, &wx, &wy)) return; i_update_middle_button(w_current, i_callback_edit_mcopy_hotkey, _("Multiple Copy")); if (o_select_return_first_object(w_current)) { o_redraw_cleanstates(w_current); w_current->event_state = MCOPY; o_copy_start(w_current, wx, wy); w_current->event_state = ENDMCOPY; w_current->inside_action = 1; } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(edit_move) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); i_update_middle_button(w_current, i_callback_edit_move, _("Move")); if (o_select_return_first_object(w_current)) { o_redraw_cleanstates(w_current); i_set_state(w_current, STARTMOVE); } else { i_set_state_msg(w_current, SELECT, _("Select objs first")); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(edit_move_hotkey) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; gint wx, wy; g_return_if_fail (w_current != NULL); if (!x_event_get_pointer_position(w_current, TRUE, &wx, &wy)) return; i_update_middle_button(w_current, i_callback_edit_move_hotkey, _("Move")); if (o_select_return_first_object(w_current)) { o_redraw_cleanstates(w_current); o_move_start(w_current, wx, wy); w_current->event_state = ENDMOVE; w_current->inside_action = 1; } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(edit_delete) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); i_update_middle_button(w_current, i_callback_edit_delete, _("Delete")); if (o_select_return_first_object(w_current)) { o_redraw_cleanstates(w_current); o_delete_selected(w_current); /* if you delete the objects you must go into select * mode after the delete */ w_current->inside_action = 0; i_set_state(w_current, SELECT); i_update_toolbar(w_current); i_update_menus(w_current); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(edit_edit) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); i_update_middle_button(w_current, i_callback_edit_edit, _("Edit")); o_edit(w_current, geda_list_get_glist( w_current->toplevel->page_current->selection_list ) ); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(edit_pin_type) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); i_update_middle_button (w_current, i_callback_edit_pin_type, _("Edit pin type")); x_dialog_edit_pin_type (w_current, geda_list_get_glist (w_current->toplevel-> page_current->selection_list)); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(edit_text) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; OBJECT *object; g_return_if_fail (w_current != NULL); i_update_middle_button(w_current, i_callback_edit_text, _("Edit Text")); object = o_select_return_first_object(w_current); if (object) { if (object->type == OBJ_TEXT) { o_text_edit(w_current, object); } } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(edit_slot) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; OBJECT *object; g_return_if_fail (w_current != NULL); object = o_select_return_first_object(w_current); i_update_middle_button(w_current, i_callback_edit_slot, _("Slot")); if (object) { o_slot_start(w_current, object); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(edit_color) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); i_update_middle_button(w_current, i_callback_edit_color, _("Color")); color_edit_dialog(w_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * This function rotate all objects in the selection list by 90 degrees. * */ DEFINE_I_CALLBACK(edit_rotate_90) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); /* If inside an appropriate action, send a button 2 released, * so rotating will be handled by x_event.c */ if ( w_current->inside_action && (w_current->event_state == ENDCOMP || w_current->event_state == ENDTEXT || w_current->event_state == ENDMOVE || w_current->event_state == ENDCOPY || w_current->event_state == ENDMCOPY || w_current->event_state == ENDPASTE )) { GdkEvent* event; event = gdk_event_new(GDK_BUTTON_RELEASE); ((GdkEventButton*) event)->button = 2; x_event_button_released (NULL, (GdkEventButton *) event, w_current); gdk_event_free(event); return; } i_set_state(w_current, ENDROTATEP); i_update_middle_button(w_current, i_callback_edit_rotate_90, _("Rotate")); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * This function rotate all objects in the selection list by 90 degrees. * */ DEFINE_I_CALLBACK(edit_rotate_90_hotkey) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; GList *object_list; gint wx, wy; g_return_if_fail (w_current != NULL); if (!x_event_get_pointer_position(w_current, TRUE, &wx, &wy)) return; /* If inside an appropriate action, send a button 2 released, * so rotating will be handled by x_event.c */ if ( w_current->inside_action && (w_current->event_state == ENDCOMP || w_current->event_state == ENDTEXT || w_current->event_state == ENDMOVE || w_current->event_state == ENDCOPY || w_current->event_state == ENDMCOPY || w_current->event_state == ENDPASTE )) { GdkEvent* event; event = gdk_event_new(GDK_BUTTON_RELEASE); ((GdkEventButton*) event)->button = 2; x_event_button_released (NULL, (GdkEventButton *) event, w_current); gdk_event_free(event); return; } o_redraw_cleanstates(w_current); object_list = geda_list_get_glist( w_current->toplevel->page_current->selection_list ); if (object_list) { i_update_middle_button(w_current, i_callback_edit_rotate_90_hotkey, _("Rotate")); /* Allow o_rotate_world_update to redraw the objects */ o_rotate_world_update(w_current, wx, wy, 90, object_list); } w_current->event_state = SELECT; w_current->inside_action = 0; i_update_toolbar(w_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(edit_mirror) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); i_set_state(w_current, ENDMIRROR); i_update_middle_button(w_current, i_callback_edit_mirror, _("Mirror")); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(edit_mirror_hotkey) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; GList *object_list; gint wx, wy; g_return_if_fail (w_current != NULL); if (!x_event_get_pointer_position(w_current, TRUE, &wx, &wy)) return; o_redraw_cleanstates(w_current); object_list = geda_list_get_glist( w_current->toplevel->page_current->selection_list ); if (object_list) { i_update_middle_button(w_current, i_callback_edit_mirror_hotkey, _("Mirror")); o_mirror_world_update(w_current, wx, wy, object_list); } w_current->event_state = SELECT; w_current->inside_action = 0; i_update_toolbar(w_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * This function locks all objects in selection list. * */ DEFINE_I_CALLBACK(edit_lock) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); i_update_middle_button(w_current, i_callback_edit_lock, _("Lock")); if (o_select_return_first_object(w_current)) { o_lock(w_current); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * Thus function unlocks all objects in selection list. */ DEFINE_I_CALLBACK(edit_unlock) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); i_update_middle_button(w_current, i_callback_edit_unlock, _("Unlock")); if (o_select_return_first_object(w_current)) { o_unlock(w_current); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(edit_translate) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); i_update_middle_button(w_current, i_callback_edit_translate, _("Translate")); if (w_current->snap == SNAP_OFF) { s_log_message(_("WARNING: Do not translate with snap off!\n")); s_log_message(_("WARNING: Turning snap on and continuing " "with translate.\n")); w_current->snap = SNAP_GRID; i_show_state(w_current, NULL); /* update status on screen */ } if (w_current->snap_size != 100) { s_log_message(_("WARNING: Snap grid size is " "not equal to 100!\n")); s_log_message(_("WARNING: If you are translating a symbol " "to the origin, the snap grid size should be " "set to 100\n")); } translate_dialog(w_current); } DEFINE_I_CALLBACK(edit_invoke_macro) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); gtk_widget_show(w_current->macro_box); gtk_widget_grab_focus(w_current->macro_entry); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * This function embedds all objects in selection list * */ DEFINE_I_CALLBACK(edit_embed) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; OBJECT *o_current; g_return_if_fail (w_current != NULL); i_update_middle_button(w_current, i_callback_edit_embed, _("Embed")); /* anything selected ? */ if (o_select_selected(w_current)) { /* yes, embed each selected component */ GList *s_current = geda_list_get_glist( w_current->toplevel->page_current->selection_list ); while (s_current != NULL) { o_current = (OBJECT *) s_current->data; g_assert (o_current != NULL); if ( (o_current->type == OBJ_COMPLEX) || (o_current->type == OBJ_PICTURE) ) { o_embed (w_current->toplevel, o_current); } s_current = g_list_next(s_current); } o_undo_savestate(w_current, UNDO_ALL); } else { /* nothing selected, go back to select state */ o_redraw_cleanstates(w_current); w_current->inside_action = 0; i_set_state(w_current, SELECT); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * This function unembedds all objects in selection list. * */ DEFINE_I_CALLBACK(edit_unembed) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; OBJECT *o_current; g_return_if_fail (w_current != NULL); i_update_middle_button(w_current, i_callback_edit_unembed, _("Unembed")); /* anything selected ? */ if (o_select_selected(w_current)) { /* yes, unembed each selected component */ GList *s_current = geda_list_get_glist( w_current->toplevel->page_current->selection_list ); while (s_current != NULL) { o_current = (OBJECT *) s_current->data; g_assert (o_current != NULL); if ( (o_current->type == OBJ_COMPLEX) || (o_current->type == OBJ_PICTURE) ) { o_unembed (w_current->toplevel, o_current); } s_current = g_list_next(s_current); } o_undo_savestate(w_current, UNDO_ALL); } else { /* nothing selected, go back to select state */ o_redraw_cleanstates(w_current); w_current->inside_action = 0; i_set_state(w_current, SELECT); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * This function updates components * */ DEFINE_I_CALLBACK(edit_update) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; TOPLEVEL *toplevel = w_current->toplevel; GList *selection; GList *selected_components = NULL; GList *iter; g_return_if_fail (w_current != NULL); i_update_middle_button(w_current, i_callback_edit_update, _("Update")); if (o_select_selected(w_current)) { /* Updating components modifies the selection. Therefore, create a * new list of only the OBJECTs we want to update from the current * selection, then iterate over that new list to perform the * update. */ selection = geda_list_get_glist (toplevel->page_current->selection_list); for (iter = selection; iter != NULL; iter = g_list_next (iter)) { OBJECT *o_current = (OBJECT *) iter->data; if (o_current != NULL && o_current->type == OBJ_COMPLEX) { selected_components = g_list_prepend (selected_components, o_current); } } for (iter = selected_components; iter != NULL; iter = g_list_next (iter)) { OBJECT *o_current = (OBJECT *) iter->data; iter->data = o_update_component (w_current, o_current); } g_list_free (selected_components); } else { /* nothing selected, go back to select state */ o_redraw_cleanstates(w_current); w_current->inside_action = 0; i_set_state(w_current, SELECT); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(edit_show_hidden) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); /* This is a new addition 3/15 to prevent this from executing * inside an action */ if (w_current->inside_action) return; i_update_middle_button(w_current, i_callback_edit_show_hidden, _("ShowHidden")); o_edit_show_hidden (w_current, s_page_objects (w_current->toplevel->page_current)); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(edit_find) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); /* This is a new addition 3/15 to prevent this from executing * inside an action */ if (w_current->inside_action) return; find_text_dialog(w_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(edit_hide_text) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); /* This is a new addition 3/15 to prevent this from executing * inside an action */ if (w_current->inside_action) return; hide_text_dialog(w_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(edit_show_text) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); /* This is a new addition 3/15 to prevent this from executing * inside an action */ if (w_current->inside_action) return; show_text_dialog(w_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(edit_autonumber_text) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); /* This is a new addition 3/15 to prevent this from executing * inside an action */ if (w_current->inside_action) return; autonumber_text_dialog(w_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(edit_linetype) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); line_type_dialog(w_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(edit_filltype) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); fill_type_dialog(w_current); } /*! \section view-menu View Menu Callback Functions */ /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \note * repeat middle shortcut doesn't make sense on redraw, just hit right * button */ DEFINE_I_CALLBACK(view_redraw) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); o_invalidate_all (w_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \note * repeat middle shortcut would get into the way of what user is try to do */ DEFINE_I_CALLBACK(view_zoom_full) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); /* scroll bar stuff */ a_zoom(w_current, ZOOM_FULL, DONTCARE, 0); if (w_current->undo_panzoom) { o_undo_savestate(w_current, UNDO_VIEWPORT_ONLY); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \note * repeat middle shortcut would get into the way of what user is try to do */ DEFINE_I_CALLBACK(view_zoom_extents) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); /* scroll bar stuff */ a_zoom_extents (w_current, s_page_objects (w_current->toplevel->page_current), 0); if (w_current->undo_panzoom) { o_undo_savestate(w_current, UNDO_VIEWPORT_ONLY); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \note * repeat middle shortcut would get into the way of what user is try to do */ DEFINE_I_CALLBACK(view_zoom_box) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); o_redraw_cleanstates(w_current); w_current->inside_action = 0; i_set_state(w_current, ZOOMBOXSTART); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(view_zoom_box_hotkey) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; gint wx, wy; g_return_if_fail (w_current != NULL); if (!x_event_get_pointer_position(w_current, FALSE, &wx, &wy)) return; o_redraw_cleanstates(w_current); a_zoom_box_start(w_current, wx, wy); w_current->inside_action = 1; i_set_state(w_current, ZOOMBOXEND); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \note * repeat middle shortcut would get into the way of what user is try to do */ DEFINE_I_CALLBACK(view_zoom_in) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); a_zoom(w_current, ZOOM_IN, MENU, 0); if (w_current->undo_panzoom) { o_undo_savestate(w_current, UNDO_VIEWPORT_ONLY); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \note * repeat middle shortcut would get into the way of what user is try to do */ DEFINE_I_CALLBACK(view_zoom_out) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); a_zoom(w_current, ZOOM_OUT, MENU, 0); if (w_current->undo_panzoom) { o_undo_savestate(w_current, UNDO_VIEWPORT_ONLY); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \note * repeat middle shortcut would get into the way of what user is try * to do */ DEFINE_I_CALLBACK(view_zoom_in_hotkey) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); a_zoom(w_current, ZOOM_IN, HOTKEY, 0); if (w_current->undo_panzoom) { o_undo_savestate(w_current, UNDO_VIEWPORT_ONLY); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \note * repeat middle shortcut would get into the way of what user is try to do */ DEFINE_I_CALLBACK(view_zoom_out_hotkey) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); a_zoom(w_current, ZOOM_OUT, HOTKEY, 0); if (w_current->undo_panzoom) { o_undo_savestate(w_current, UNDO_VIEWPORT_ONLY); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(view_pan) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); o_redraw_cleanstates(w_current); w_current->inside_action = 0; i_set_state(w_current, STARTPAN); /* I don't know if this would get in the way */ i_update_middle_button(w_current, i_callback_view_pan, _("Pan")); } /*! \brief Scheme callback function that moves the viewport to the left. * * The distance can be set with "keyboardpan-gain" scheme callback. */ DEFINE_I_CALLBACK(view_pan_left) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); a_pan_mouse(w_current, w_current->keyboardpan_gain, 0); } /*! \brief Scheme callback function that moves the viewport to the right. * * The distance can be set with "keyboardpan-gain" scheme callback. */ DEFINE_I_CALLBACK(view_pan_right) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); /* yes, that's a negative sign there */ a_pan_mouse(w_current, -w_current->keyboardpan_gain, 0); } /*! \brief Scheme callback function that moves the viewport up. * * The distance can be set with "keyboardpan-gain" scheme callback. */ DEFINE_I_CALLBACK(view_pan_up) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); a_pan_mouse(w_current, 0, w_current->keyboardpan_gain); } /*! \brief Scheme callback function that moves the viewport down. * * The distance can be set with "keyboardpan-gain" scheme callback. */ DEFINE_I_CALLBACK(view_pan_down) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); /* yes, that's a negative sign there */ a_pan_mouse(w_current, 0, -w_current->keyboardpan_gain); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(view_pan_hotkey) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; gint wx, wy; g_return_if_fail (w_current != NULL); if (!x_event_get_pointer_position(w_current, FALSE, &wx, &wy)) return; i_update_middle_button(w_current, i_callback_view_pan_hotkey, _("Pan")); a_pan(w_current, wx, wy); if (w_current->undo_panzoom) { o_undo_savestate(w_current, UNDO_VIEWPORT_ONLY); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK (view_dark_colors) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; x_color_free (); /* Change the scheme here */ g_scm_c_eval_string_protected ("(load (build-path geda-rc-path \"gschem-colormap-darkbg\"))"); x_color_allocate (); o_invalidate_all (w_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK (view_light_colors) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; x_color_free (); /* Change the scheme here */ g_scm_c_eval_string_protected ("(load (build-path geda-rc-path \"gschem-colormap-lightbg\"))"); x_color_allocate (); o_invalidate_all (w_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK (view_bw_colors) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; x_color_free (); /* Change the scheme here */ g_scm_c_eval_string_protected ("(load (build-path geda-rc-path \"gschem-colormap-bw\"))"); x_color_allocate (); o_invalidate_all (w_current); } /*! \section page-menu Page Menu Callback Functions */ /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(page_manager) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); x_pagesel_open (w_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(page_next) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*)data; TOPLEVEL *toplevel = w_current->toplevel; PAGE *p_current = toplevel->page_current; PAGE *p_new; GList *iter; g_return_if_fail (w_current != NULL); iter = g_list_find( geda_list_get_glist( toplevel->pages ), p_current ); iter = g_list_next( iter ); if (iter == NULL) { return; } if (w_current->enforce_hierarchy) { p_new = s_hierarchy_find_next_page(toplevel->pages, p_current); } else { p_new = (PAGE *)iter->data; } if (p_new == NULL || p_new == p_current) { return; } x_window_set_current_page (w_current, p_new); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(page_prev) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*)data; TOPLEVEL *toplevel = w_current->toplevel; PAGE *p_current = toplevel->page_current; PAGE *p_new; GList *iter; g_return_if_fail (w_current != NULL); iter = g_list_find( geda_list_get_glist( toplevel->pages ), p_current ); iter = g_list_previous( iter ); if ( iter == NULL ) return; p_new = (PAGE *)iter->data; if (w_current->enforce_hierarchy) { p_new = s_hierarchy_find_prev_page(toplevel->pages, p_current); } else { p_new = (PAGE *)iter->data; } if (p_new == NULL || p_new == p_current) { return; } x_window_set_current_page (w_current, p_new); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(page_new) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*)data; PAGE *page; g_return_if_fail (w_current != NULL); /* create a new page */ page = x_window_open_page (w_current, NULL); x_window_set_current_page (w_current, page); s_log_message (_("New page created [%s]\n"), page->page_filename); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(page_close) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); if (w_current->toplevel->page_current->CHANGED) { x_dialog_close_changed_page (w_current, w_current->toplevel->page_current); } else { x_window_close_page (w_current, w_current->toplevel->page_current); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \bug may have memory leak? */ DEFINE_I_CALLBACK(page_revert) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; PAGE *page; gchar *filename; int page_control; int up; int response; GtkWidget* dialog; g_return_if_fail (w_current != NULL); dialog = gtk_message_dialog_new ((GtkWindow*) w_current->main_window, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, _("Really revert page?")); /* Set the alternative button order (ok, cancel, help) for other systems */ gtk_dialog_set_alternative_button_order(GTK_DIALOG(dialog), GTK_RESPONSE_YES, GTK_RESPONSE_NO, -1); response = gtk_dialog_run (GTK_DIALOG (dialog)); gtk_widget_destroy (dialog); if (response != GTK_RESPONSE_YES ) return; /* save this for later */ filename = g_strdup (w_current->toplevel->page_current->page_filename); page_control = w_current->toplevel->page_current->page_control; up = w_current->toplevel->page_current->up; /* delete the page, then re-open the file as a new page */ s_page_delete (w_current->toplevel, w_current->toplevel->page_current); page = x_window_open_page (w_current, filename); /* make sure we maintain the hierarchy info */ page->page_control = page_control; page->up = up; x_window_set_current_page (w_current, page); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(page_discard) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*)data; g_return_if_fail (w_current != NULL); x_window_close_page (w_current, w_current->toplevel->page_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(page_print) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; s_page_print_all(w_current->toplevel); } /*! \section clipboard-menu Clipboard Menu Callback Functions */ /*! \brief Copy selection to clipboard. * \par Function Description * Copies the current selection to the clipboard, via buffer 0. */ DEFINE_I_CALLBACK(clipboard_copy) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); if (!o_select_selected (w_current)) return; i_update_middle_button (w_current, i_callback_clipboard_copy, _("Copy to clipboard")); o_buffer_copy (w_current, 0); x_clipboard_set (w_current, object_buffer[0]); } /*! \brief Cut selection to clipboard. * \par Function Description * Cut the current selection to the clipboard, via buffer 0. */ DEFINE_I_CALLBACK(clipboard_cut) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); if (!o_select_selected (w_current)) return; i_update_middle_button (w_current, i_callback_clipboard_cut, _("Cut to clipboard")); o_buffer_cut (w_current, 0); x_clipboard_set (w_current, object_buffer[0]); } /*! \brief Start pasting clipboard contents. * \par Function Description * Cut the current selection to the clipboard, via buffer 0. */ DEFINE_I_CALLBACK(clipboard_paste) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL *) data; TOPLEVEL *toplevel = w_current->toplevel; GList *object_list = NULL; g_return_if_fail (w_current != NULL); i_update_middle_button (w_current, i_callback_buffer_paste1, _("Paste from clipboard")); object_list = x_clipboard_get (w_current); if (object_list != NULL) { s_delete_object_glist (toplevel, object_buffer[0]); object_buffer[0] = object_list; o_redraw_cleanstates (w_current); w_current->buffer_number = 0; w_current->inside_action = 1; i_set_state (w_current, STARTPASTE); } else { i_set_state_msg (w_current, SELECT, _("Empty buffer")); } } /*! \brief Start pasting clipboard contents (hotkey version) * \par Function Description * It's not entirely clear what the difference is between this and * i_callback_clipboard_paste()... */ DEFINE_I_CALLBACK(clipboard_paste_hotkey) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL *) data; TOPLEVEL *toplevel = w_current->toplevel; GList *object_list = NULL; gint wx, wy; g_return_if_fail (w_current != NULL); if (!x_event_get_pointer_position (w_current, TRUE, &wx, &wy)) return; object_list = x_clipboard_get (w_current); if (object_list == NULL) return; s_delete_object_glist (toplevel, object_buffer[0]); object_buffer[0] = object_list; o_buffer_paste_start (w_current, wx, wy, 0); } /*! \section buffer-menu Buffer Menu Callback Functions */ /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(buffer_copy1) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); if (!o_select_selected (w_current)) return; i_update_middle_button(w_current, i_callback_buffer_copy1, _("Copy 1")); o_buffer_copy(w_current, 0); i_update_menus(w_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(buffer_copy2) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); if (!o_select_selected (w_current)) return; i_update_middle_button(w_current, i_callback_buffer_copy2, _("Copy 2")); o_buffer_copy(w_current, 1); i_update_menus(w_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(buffer_copy3) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); if (!o_select_selected (w_current)) return; i_update_middle_button(w_current, i_callback_buffer_copy3, _("Copy 3")); o_buffer_copy(w_current, 2); i_update_menus(w_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(buffer_copy4) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); if (!o_select_selected (w_current)) return; i_update_middle_button(w_current, i_callback_buffer_copy4, _("Copy 4")); o_buffer_copy(w_current, 3); i_update_menus(w_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(buffer_copy5) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); if (!o_select_selected (w_current)) return; i_update_middle_button(w_current, i_callback_buffer_copy5, _("Copy 5")); o_buffer_copy(w_current, 4); i_update_menus(w_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(buffer_cut1) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); if (!o_select_selected (w_current)) return; i_update_middle_button(w_current, i_callback_buffer_cut1, _("Cut 1")); o_buffer_cut(w_current, 0); i_update_menus(w_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(buffer_cut2) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); if (!o_select_selected (w_current)) return; i_update_middle_button(w_current, i_callback_buffer_cut2, _("Cut 2")); o_buffer_cut(w_current, 1); i_update_menus(w_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(buffer_cut3) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); if (!o_select_selected (w_current)) return; i_update_middle_button(w_current, i_callback_buffer_cut3, _("Cut 3")); o_buffer_cut(w_current, 2); i_update_menus(w_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(buffer_cut4) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); if (!o_select_selected (w_current)) return; i_update_middle_button(w_current, i_callback_buffer_cut4, _("Cut 4")); o_buffer_cut(w_current, 3); i_update_menus(w_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(buffer_cut5) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); if (!o_select_selected (w_current)) return; i_update_middle_button(w_current, i_callback_buffer_cut5, _("Cut 5")); o_buffer_cut(w_current, 4); i_update_menus(w_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(buffer_paste1) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); i_update_middle_button(w_current, i_callback_buffer_paste1, _("Paste 1")); if (object_buffer[0] != NULL) { o_redraw_cleanstates(w_current); w_current->buffer_number = 0; w_current->inside_action = 1; i_set_state(w_current, STARTPASTE); } else { i_set_state_msg(w_current, SELECT, _("Empty buffer")); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(buffer_paste2) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); i_update_middle_button(w_current, i_callback_buffer_paste2, _("Paste 2")); if (object_buffer[1] != NULL) { o_redraw_cleanstates(w_current); w_current->buffer_number = 1; w_current->inside_action = 1; i_set_state(w_current, STARTPASTE); } else { i_set_state_msg(w_current, SELECT, _("Empty buffer")); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(buffer_paste3) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); i_update_middle_button(w_current, i_callback_buffer_paste3, _("Paste 3")); if (object_buffer[2] != NULL) { o_redraw_cleanstates(w_current); w_current->buffer_number = 2; w_current->inside_action = 1; i_set_state(w_current, STARTPASTE); } else { i_set_state_msg(w_current, SELECT, _("Empty buffer")); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(buffer_paste4) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); i_update_middle_button(w_current, i_callback_buffer_paste4, _("Paste 4")); if (object_buffer[3] != NULL) { o_redraw_cleanstates(w_current); w_current->buffer_number = 3; w_current->inside_action = 1; i_set_state(w_current, STARTPASTE); } else { i_set_state_msg(w_current, SELECT, _("Empty buffer")); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(buffer_paste5) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); i_update_middle_button(w_current, i_callback_buffer_paste5, _("Paste 5")); if (object_buffer[4] != NULL) { o_redraw_cleanstates(w_current); w_current->buffer_number = 4; w_current->inside_action = 1; i_set_state(w_current, STARTPASTE); } else { i_set_state_msg(w_current, SELECT, _("Empty buffer")); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(buffer_paste1_hotkey) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; gint wx, wy; g_return_if_fail (w_current != NULL); if (object_buffer[0] == NULL) { return; } if (!x_event_get_pointer_position(w_current, TRUE, &wx, &wy)) return; o_buffer_paste_start(w_current, wx, wy, 0); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(buffer_paste2_hotkey) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; gint wx, wy; g_return_if_fail (w_current != NULL); if (object_buffer[1] == NULL) { return; } if (!x_event_get_pointer_position(w_current, TRUE, &wx, &wy)) return; o_buffer_paste_start(w_current, wx, wy, 1); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(buffer_paste3_hotkey) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; gint wx, wy; g_return_if_fail (w_current != NULL); if (object_buffer[2] == NULL) { return; } if (!x_event_get_pointer_position(w_current, TRUE, &wx, &wy)) return; o_buffer_paste_start(w_current, wx, wy, 2); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(buffer_paste4_hotkey) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; gint wx, wy; g_return_if_fail (w_current != NULL); if (object_buffer[3] == NULL) { return; } if (!x_event_get_pointer_position(w_current, TRUE, &wx, &wy)) return; o_buffer_paste_start(w_current, wx, wy, 3); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(buffer_paste5_hotkey) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; gint wx, wy; g_return_if_fail (w_current != NULL); if (object_buffer[4] == NULL) { return; } if (!x_event_get_pointer_position(w_current, TRUE, &wx, &wy)) return; o_buffer_paste_start(w_current, wx, wy, 4); } /*! \section add-menu Add Menu Callback Functions */ /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(add_component) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); o_redraw_cleanstates (w_current); x_compselect_open (w_current); i_update_middle_button(w_current, i_callback_add_component, _("Component")); i_set_state(w_current, SELECT); i_update_toolbar(w_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \note * don't use the widget parameter on this function, or do some checking... * since there is a call: widget = NULL, data = 0 (will be w_current hack) */ void i_callback_toolbar_add_component(GtkWidget* widget, gpointer data) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); if (!w_current->window) return; i_callback_add_component(data, 0, NULL); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(add_attribute) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); attrib_edit_dialog(w_current, NULL, FROM_MENU); i_update_middle_button(w_current, i_callback_add_attribute, _("Attribute")); i_set_state(w_current, SELECT); i_update_toolbar(w_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(add_attribute_hotkey) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); attrib_edit_dialog(w_current, NULL, FROM_HOTKEY); i_update_middle_button(w_current, i_callback_add_attribute_hotkey, _("Attribute")); i_set_state(w_current, SELECT); i_update_toolbar(w_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(add_net) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); o_redraw_cleanstates(w_current); o_invalidate_rubber (w_current); o_net_reset(w_current); /* need to click */ i_update_middle_button(w_current, i_callback_add_net, _("Net")); i_set_state(w_current, STARTDRAWNET); i_update_toolbar(w_current); /* somewhere you need to nearest point locking... */ w_current->inside_action = 0; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(add_net_hotkey) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; gint wx, wy; g_return_if_fail (w_current != NULL); if (!x_event_get_pointer_position(w_current, TRUE, &wx, &wy)) return; o_redraw_cleanstates(w_current); o_invalidate_rubber (w_current); o_net_reset(w_current); /* need to click */ i_update_middle_button(w_current, i_callback_add_net_hotkey, _("Net")); i_set_state(w_current, STARTDRAWNET); i_update_toolbar(w_current); o_net_start(w_current, wx, wy); w_current->event_state=DRAWNET; w_current->inside_action = 1; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \note * don't use the widget parameter on this function, or do some checking... * since there is a call: widget = NULL, data = 0 (will be w_current hack) */ void i_callback_toolbar_add_net(GtkWidget* widget, gpointer data) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); if (!w_current->window) return; if (GTK_TOGGLE_BUTTON (widget)->active) { i_callback_add_net(data, 0, NULL); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(add_bus) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); o_redraw_cleanstates(w_current); o_invalidate_rubber (w_current); /* need to click */ i_update_middle_button(w_current, i_callback_add_bus, _("Bus")); i_set_state(w_current, STARTDRAWBUS); i_update_toolbar(w_current); /* somewhere you need to nearest point locking... */ w_current->inside_action = 0; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(add_bus_hotkey) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; gint wx, wy; g_return_if_fail (w_current != NULL); if (!x_event_get_pointer_position(w_current, TRUE, &wx, &wy)) return; o_redraw_cleanstates(w_current); o_invalidate_rubber (w_current); /* need to click */ i_update_middle_button(w_current, i_callback_add_bus_hotkey, _("Bus")); i_set_state(w_current, STARTDRAWBUS); i_update_toolbar(w_current); o_bus_start(w_current, wx, wy); w_current->event_state=DRAWBUS; w_current->inside_action = 1; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \note * don't use the widget parameter on this function, or do some checking... * since there is a call: widget = NULL, data = 0 (will be w_current hack) */ void i_callback_toolbar_add_bus(GtkWidget* widget, gpointer data) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); if (!w_current->window) return; if (GTK_TOGGLE_BUTTON (widget)->active) { i_callback_add_bus(data, 0, NULL); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(add_text) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); o_redraw_cleanstates(w_current); o_invalidate_rubber (w_current); w_current->inside_action = 0; i_set_state(w_current, SELECT); i_update_toolbar(w_current); text_input_dialog(w_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \note * don't use the widget parameter on this function, or do some checking... * since there is a call: widget = NULL, data = 0 (will be w_current hack) */ void i_callback_toolbar_add_text(GtkWidget* widget, gpointer data) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); if (!w_current->window) return; i_callback_add_text(data, 0, NULL); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(add_line) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); o_redraw_cleanstates(w_current); o_invalidate_rubber (w_current); i_update_middle_button(w_current, i_callback_add_line, _("Line")); i_set_state(w_current, DRAWLINE); w_current->inside_action = 0; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(add_line_hotkey) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; gint wx, wy; g_return_if_fail (w_current != NULL); if (!x_event_get_pointer_position(w_current, TRUE, &wx, &wy)) return; o_redraw_cleanstates(w_current); o_invalidate_rubber (w_current); i_update_middle_button(w_current, i_callback_add_line_hotkey, _("Line")); o_line_start(w_current, wx, wy); w_current->inside_action = 1; i_set_state(w_current, ENDLINE); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(add_box) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); o_redraw_cleanstates(w_current); o_invalidate_rubber (w_current); i_update_middle_button(w_current, i_callback_add_box, _("Box")); w_current->inside_action = 0; i_set_state(w_current, DRAWBOX); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(add_box_hotkey) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; gint wx, wy; g_return_if_fail (w_current != NULL); if (!x_event_get_pointer_position(w_current, TRUE, &wx, &wy)) return; o_redraw_cleanstates(w_current); o_invalidate_rubber (w_current); i_update_middle_button(w_current, i_callback_add_box_hotkey, _("Box")); o_box_start(w_current, wx, wy); w_current->inside_action = 1; i_set_state(w_current, ENDBOX); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(add_picture) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); o_redraw_cleanstates(w_current); o_invalidate_rubber (w_current); w_current->inside_action = 0; i_set_state(w_current, SELECT); i_update_toolbar(w_current); picture_selection_dialog(w_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(add_picture_hotkey) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; /* If this function necessary? Yes, if you want the hotkey to work. */ i_callback_add_picture(w_current, 0, NULL); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(add_circle) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); o_redraw_cleanstates(w_current); o_invalidate_rubber (w_current); i_update_middle_button(w_current, i_callback_add_circle, _("Circle")); w_current->inside_action = 0; i_set_state(w_current, DRAWCIRCLE); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(add_circle_hotkey) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; gint wx, wy; g_return_if_fail (w_current != NULL); if (!x_event_get_pointer_position(w_current, TRUE, &wx, &wy)) return; o_redraw_cleanstates(w_current); o_invalidate_rubber (w_current); i_update_middle_button(w_current, i_callback_add_circle_hotkey, _("Circle")); o_circle_start(w_current, wx, wy); w_current->inside_action = 1; i_set_state(w_current, ENDCIRCLE); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(add_arc) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); o_redraw_cleanstates(w_current); o_invalidate_rubber (w_current); i_update_middle_button(w_current, i_callback_add_arc, _("Arc")); w_current->inside_action = 0; i_set_state(w_current, DRAWARC); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(add_arc_hotkey) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; gint wx, wy; g_return_if_fail (w_current != NULL); if (!x_event_get_pointer_position(w_current, TRUE, &wx, &wy)) return; o_redraw_cleanstates(w_current); o_invalidate_rubber (w_current); i_update_middle_button(w_current, i_callback_add_arc_hotkey, _("Arc")); o_arc_start(w_current, wx, wy); w_current->inside_action = 1; i_set_state(w_current, ENDARC); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(add_pin) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); o_redraw_cleanstates(w_current); o_invalidate_rubber (w_current); i_update_middle_button(w_current, i_callback_add_pin, _("Pin")); w_current->inside_action = 0; i_set_state(w_current, DRAWPIN); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(add_pin_hotkey) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; gint wx, wy; g_return_if_fail (w_current != NULL); if (!x_event_get_pointer_position(w_current, TRUE, &wx, &wy)) return; o_redraw_cleanstates(w_current); o_invalidate_rubber (w_current); i_update_middle_button(w_current, i_callback_add_pin_hotkey, _("Pin")); o_pin_start(w_current, wx, wy); w_current->inside_action = 1; i_set_state(w_current, ENDPIN); } /*! \section hierarchy-menu Hierarchy Menu Callback Functions */ /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(hierarchy_down_schematic) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; char *attrib=NULL; char *current_filename=NULL; int count=0; OBJECT *object=NULL; PAGE *save_first_page=NULL; PAGE *parent=NULL; PAGE *child = NULL; int loaded_flag=FALSE; int page_control = 0; int pcount = 0; int looking_inside=FALSE; g_return_if_fail (w_current != NULL); object = o_select_return_first_object(w_current); /* only allow going into symbols */ if (object == NULL || object->type != OBJ_COMPLEX) return; parent = w_current->toplevel->page_current; attrib = o_attrib_search_attached_attribs_by_name (object, "source", count); /* if above is null, then look inside symbol */ if (attrib == NULL) { attrib = o_attrib_search_inherited_attribs_by_name (object, "source", count); looking_inside = TRUE; #if DEBUG printf("going to look inside now\n"); #endif } while (attrib) { /* look for source=filename,filename, ... */ pcount = 0; current_filename = u_basic_breakup_string(attrib, ',', pcount); /* loop over all filenames */ while(current_filename != NULL) { s_log_message(_("Searching for source [%s]\n"), current_filename); child = s_hierarchy_down_schematic_single(w_current->toplevel, current_filename, parent, page_control, HIERARCHY_NORMAL_LOAD); /* s_hierarchy_down_schematic_single() will not zoom the loaded page */ if (child != NULL) { s_page_goto (w_current->toplevel, child); a_zoom_extents(w_current, s_page_objects (w_current->toplevel->page_current), A_PAN_DONT_REDRAW); o_undo_savestate(w_current, UNDO_ALL); s_page_goto (w_current->toplevel, parent); } /* save the first page */ if ( !loaded_flag && (child != NULL)) { save_first_page = child; } /* now do some error fixing */ if (child == NULL) { s_log_message(_("Cannot find source [%s]\n"), current_filename); } else { /* this only signifies that we tried */ loaded_flag = TRUE; page_control = child->page_control; } g_free(current_filename); pcount++; current_filename = u_basic_breakup_string(attrib, ',', pcount); } g_free(attrib); g_free(current_filename); count++; /* continue looking outside first */ if (!looking_inside) { attrib = o_attrib_search_attached_attribs_by_name (object, "source", count); } /* okay we were looking outside and didn't find anything, * so now we need to look inside the symbol */ if (!looking_inside && attrib == NULL && !loaded_flag ) { looking_inside = TRUE; #if DEBUG printf("switching to go to look inside\n"); #endif } if (looking_inside) { #if DEBUG printf("looking inside\n"); #endif attrib = o_attrib_search_inherited_attribs_by_name (object, "source", count); } } if (loaded_flag && (save_first_page != NULL)) { x_window_set_current_page (w_current, save_first_page); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * \bug may cause problems with non-directory symbols */ DEFINE_I_CALLBACK(hierarchy_down_symbol) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; OBJECT *object; const CLibSymbol *sym; g_return_if_fail (w_current != NULL); object = o_select_return_first_object(w_current); if (object != NULL) { /* only allow going into symbols */ if (object->type == OBJ_COMPLEX) { s_log_message(_("Searching for symbol [%s]\n"), object->complex_basename); sym = s_clib_get_symbol_by_name (object->complex_basename); if (sym == NULL) return; if (s_clib_symbol_get_filename(sym) == NULL) { s_log_message(_("Symbol is not a real file." " Symbol cannot be loaded.\n")); return; } s_hierarchy_down_symbol(w_current->toplevel, sym, w_current->toplevel->page_current); /* s_hierarchy_down_symbol() will not zoom the loaded page */ a_zoom_extents(w_current, s_page_objects (w_current->toplevel->page_current), A_PAN_DONT_REDRAW); o_undo_savestate(w_current, UNDO_ALL); x_window_set_current_page(w_current, w_current->toplevel->page_current); } } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(hierarchy_up) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; PAGE *up_page; g_return_if_fail (w_current != NULL); up_page = s_hierarchy_find_up_page (w_current->toplevel->pages, w_current->toplevel->page_current); if (up_page == NULL) { s_log_message(_("Cannot find any schematics above the current one!\n")); } else { x_window_set_current_page(w_current, up_page); } } /*! \section attributes-menu Attributes Menu Callback Functions */ /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(attributes_attach) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; OBJECT *first_object; GList *s_current; GList *attached_objects = NULL; g_return_if_fail (w_current != NULL); /* This is a new addition 3/15 to prevent this from executing * inside an action */ if (w_current->inside_action) { return; } /* do we want to update the shortcut outside of the ifs? */ /* probably, if this fails the user may want to try again */ i_update_middle_button(w_current, i_callback_attributes_attach, _("Attach")); /* skip over head */ s_current = geda_list_get_glist( w_current->toplevel->page_current->selection_list ); if (!s_current) { return; } first_object = (OBJECT *) s_current->data; if (!first_object) { return; } /* skip over first object */ s_current = g_list_next(s_current); while (s_current != NULL) { OBJECT *object = s_current->data; if (object != NULL) { o_attrib_attach (w_current->toplevel, object, first_object, TRUE); attached_objects = g_list_prepend (attached_objects, object); w_current->toplevel->page_current->CHANGED=1; } s_current = g_list_next(s_current); } if (attached_objects != NULL) { g_run_hook_object_list (w_current, "%attach-attribs-hook", attached_objects); g_list_free (attached_objects); } o_undo_savestate(w_current, UNDO_ALL); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(attributes_detach) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; GList *s_current; OBJECT *o_current; GList *detached_attribs = NULL; g_return_if_fail (w_current != NULL); /* This is a new addition 3/15 to prevent this from executing * inside an action */ if (w_current->inside_action) { return; } /* same note as above on i_update_middle_button */ i_update_middle_button(w_current, i_callback_attributes_detach, _("Detach")); s_current = geda_list_get_glist( w_current->toplevel->page_current->selection_list ); while (s_current != NULL) { o_current = (OBJECT *) s_current->data; if (o_current) { if (o_current->attribs) { detached_attribs = g_list_concat (g_list_copy (o_current->attribs), detached_attribs); o_attrib_detach_all (w_current->toplevel, o_current); w_current->toplevel->page_current->CHANGED=1; } } s_current = g_list_next(s_current); } if (detached_attribs != NULL) { g_run_hook_object_list (w_current, "%detach-attribs-hook", detached_attribs); g_list_free (detached_attribs); } o_undo_savestate(w_current, UNDO_ALL); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(attributes_show_name) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; TOPLEVEL *toplevel = w_current->toplevel; g_return_if_fail (w_current != NULL); /* This is a new addition 3/15 to prevent this from executing * inside an action */ if (w_current->inside_action) { return; } i_update_middle_button(w_current, i_callback_attributes_show_name, _("ShowN")); if (o_select_selected (w_current)) { SELECTION *selection = toplevel->page_current->selection_list; GList *s_current; for (s_current = geda_list_get_glist (selection); s_current != NULL; s_current = g_list_next (s_current)) { OBJECT *object = (OBJECT*)s_current->data; if (object->type == OBJ_TEXT) o_attrib_toggle_show_name_value (w_current, object, SHOW_NAME); } o_undo_savestate (w_current, UNDO_ALL); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(attributes_show_value) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; TOPLEVEL *toplevel = w_current->toplevel; g_return_if_fail (w_current != NULL); /* This is a new addition 3/15 to prevent this from executing * inside an action */ if (w_current->inside_action) { return; } i_update_middle_button(w_current, i_callback_attributes_show_value, _("ShowV")); if (o_select_selected (w_current)) { SELECTION *selection = toplevel->page_current->selection_list; GList *s_current; for (s_current = geda_list_get_glist (selection); s_current != NULL; s_current = g_list_next (s_current)) { OBJECT *object = (OBJECT*)s_current->data; if (object->type == OBJ_TEXT) o_attrib_toggle_show_name_value (w_current, object, SHOW_VALUE); } o_undo_savestate (w_current, UNDO_ALL); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(attributes_show_both) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; TOPLEVEL *toplevel = w_current->toplevel; g_return_if_fail (w_current != NULL); /* This is a new addition 3/15 to prevent this from executing * inside an action */ if (w_current->inside_action) { return; } i_update_middle_button(w_current, i_callback_attributes_show_both, _("ShowB")); if (o_select_selected (w_current)) { SELECTION *selection = toplevel->page_current->selection_list; GList *s_current; for (s_current = geda_list_get_glist (selection); s_current != NULL; s_current = g_list_next (s_current)) { OBJECT *object = (OBJECT*)s_current->data; if (object->type == OBJ_TEXT) o_attrib_toggle_show_name_value (w_current, object, SHOW_NAME_VALUE); } o_undo_savestate (w_current, UNDO_ALL); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(attributes_visibility_toggle) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; TOPLEVEL *toplevel = w_current->toplevel; g_return_if_fail (w_current != NULL); /* This is a new addition 3/15 to prevent this from executing * inside an action */ if (w_current->inside_action) { return; } i_update_middle_button(w_current, i_callback_attributes_visibility_toggle, _("VisToggle")); if (o_select_selected (w_current)) { SELECTION *selection = toplevel->page_current->selection_list; GList *s_current; for (s_current = geda_list_get_glist (selection); s_current != NULL; s_current = g_list_next (s_current)) { OBJECT *object = (OBJECT*)s_current->data; if (object->type == OBJ_TEXT) o_attrib_toggle_visibility (w_current, object); } o_undo_savestate (w_current, UNDO_ALL); } } /*! \section script-menu Script Menu Callback Functions */ /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \note * not currently implemented */ DEFINE_I_CALLBACK(script_console) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); printf(_("Sorry but this is a non-functioning menu option\n")); } /*! \section layers-menu Layers Menu Callback Functions */ /*! \section options-menu Options Menu Callback Functions */ /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \note * repeat last command doesn't make sense on options either??? (does it?) */ DEFINE_I_CALLBACK(options_text_size) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); text_size_dialog(w_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(options_snap_size) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); snap_size_dialog(w_current); } /*! \brief Multiply by two the snap grid size. * \par Function Description * Callback function for the scale-up snap grid size hotkey. * Multiply by two the snap grid size. */ DEFINE_I_CALLBACK(options_scale_up_snap_size) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); w_current->snap_size *= 2; w_current->toplevel->page_current->CHANGED=1; /* maybe remove those two lines */ o_undo_savestate(w_current, UNDO_ALL); i_update_grid_info (w_current); o_invalidate_all (w_current); } /*! \brief Divide by two the snap grid size. * \par Function Description * Callback function for the scale-down snap grid size hotkey. * Divide by two the snap grid size (if it's and even number). */ DEFINE_I_CALLBACK(options_scale_down_snap_size) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); if (w_current->snap_size % 2 == 0) w_current->snap_size /= 2; w_current->toplevel->page_current->CHANGED=1; /* maybe remove those two lines */ o_undo_savestate(w_current, UNDO_ALL); i_update_grid_info (w_current); o_invalidate_all (w_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \note * repeat last command doesn't make sense on options either??? (does * it?) */ DEFINE_I_CALLBACK(options_afeedback) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); if (w_current->actionfeedback_mode == BOUNDINGBOX) { w_current->actionfeedback_mode = OUTLINE; s_log_message(_("Action feedback mode set to OUTLINE\n")); } else { w_current->actionfeedback_mode = BOUNDINGBOX; s_log_message(_("Action feedback mode set to BOUNDINGBOX\n")); } if (w_current->inside_action && w_current->toplevel->page_current->place_list != NULL) o_place_invalidate_rubber (w_current, FALSE); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(options_grid) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); switch (w_current->grid) { case GRID_NONE: w_current->grid = GRID_DOTS; break; case GRID_DOTS: w_current->grid = GRID_MESH; break; case GRID_MESH: w_current->grid = GRID_NONE; break; } switch (w_current->grid) { case GRID_NONE: s_log_message (_("Grid OFF\n")); break; case GRID_DOTS: s_log_message (_("Dot grid selected\n")); break; case GRID_MESH: s_log_message (_("Mesh grid selected\n")); break; } i_update_grid_info (w_current); o_invalidate_all (w_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(options_snap) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; /* toggle to the next snap state */ w_current->snap = (w_current->snap+1) % SNAP_STATE_COUNT; switch (w_current->snap) { case SNAP_OFF: s_log_message(_("Snap OFF (CAUTION!)\n")); break; case SNAP_GRID: s_log_message(_("Snap ON\n")); break; case SNAP_RESNAP: s_log_message(_("Snap back to the grid (CAUTION!)\n")); break; default: g_critical("options_snap: toplevel->snap out of range: %d\n", w_current->snap); } i_show_state(w_current, NULL); /* update status on screen */ i_update_grid_info (w_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \note * Rubber band is cool ! * Added on/off option from the pull down menu * Chris Ellec - January 2001 */ DEFINE_I_CALLBACK(options_rubberband) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; if (w_current->netconn_rubberband) { w_current->netconn_rubberband = 0; s_log_message(_("Rubber band OFF \n")); } else { w_current->netconn_rubberband = 1; s_log_message(_("Rubber band ON\n")); } } /*! \brief callback function for setting the magnetic net option * \par Function Description * This function just toggles a variable to switch the magnetic net * mode ON and OFF */ DEFINE_I_CALLBACK(options_magneticnet) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; if ((w_current->magneticnet_mode = !w_current->magneticnet_mode)) { s_log_message(_("magnetic net mode: ON\n")); } else { s_log_message(_("magnetic net mode: OFF\n")); } i_show_state(w_current, NULL); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(options_show_log_window) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); x_log_open (); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \note * this is Ales' catch all misc callback */ DEFINE_I_CALLBACK(misc) { } /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \note * this is Ales' second catch all misc callback */ DEFINE_I_CALLBACK(misc2) { } /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \note * this is Ales' third catch all misc callback */ DEFINE_I_CALLBACK(misc3) { } /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \note * HACK: be sure that you don't use the widget parameter in this one, * since it is being called with a null, I suppose we should call it * with the right param. */ DEFINE_I_CALLBACK(cancel) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; TOPLEVEL *toplevel = w_current->toplevel; GValue value = { 0, }; g_return_if_fail (w_current != NULL); if (w_current->event_state == ENDCOMP && w_current->cswindow) { /* user hit escape key when placing components */ /* Undraw any outline of the place list */ o_place_invalidate_rubber (w_current, FALSE); w_current->rubber_visible = 0; /* De-select the lists in the component selector */ x_compselect_deselect (w_current); /* Present the component selector again */ g_value_init (&value, G_TYPE_BOOLEAN); g_value_set_boolean (&value, FALSE); g_object_set_property (G_OBJECT(w_current->cswindow), "hidden", &value); } if (w_current->inside_action) { /* If we're cancelling from a move action, re-wind the * page contents back to their state before we started */ if (w_current->event_state == MOVE || w_current->event_state == ENDMOVE) o_move_cancel (w_current); /* If we're cancelling from a grip action, call the specific cancel * routine to reset the visibility of the object being modified */ if (w_current->event_state == GRIPS) o_grips_cancel (w_current); } /* Free the place list and its contents. If we were in a move * action, the list (refering to objects on the page) would * already have been cleared in o_move_cancel(), so this is OK. */ s_delete_object_glist(toplevel, toplevel->page_current->place_list); toplevel->page_current->place_list = NULL; /* leave this on for now... but it might have to change */ /* this is problematic since we don't know what the right mode */ /* (when you cancel inside an action) should be */ i_set_state(w_current, SELECT); i_update_toolbar(w_current); /* clear the key guile command-sequence */ g_keys_reset (w_current); if (w_current->inside_action) { o_invalidate_all (w_current); } w_current->inside_action=0; } /*! \section help-menu Help Menu Callback Functions */ /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(help_about) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); about_dialog(w_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(help_hotkeys) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); x_dialog_hotkeys(w_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ DEFINE_I_CALLBACK(options_show_coord_window) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_if_fail (w_current != NULL); coord_dialog (w_current, 0, 0); } /* these is a special wrapper function which cannot use the above */ /* DEFINE_I_CALLBACK macro */ /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \note * When invoked (via signal delete_event), closes the current window * if this is the last window, quit gschem * used when you click the close button on the window which sends a DELETE * signal to the app */ gboolean i_callback_close_wm ( GtkWidget *widget, GdkEvent *event, gpointer data ) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data; g_return_val_if_fail ((w_current != NULL), TRUE); x_window_close(w_current); /* stop further propagation of the delete_event signal for window: */ /* - if user has cancelled the close the window should obvioulsy */ /* not be destroyed */ /* - otherwise window has already been destroyed, nothing more to */ /* do */ return TRUE; } geda-gaf-1.8.2/gschem/src/i_vars.c0000664000175000017500000002342212220647257013576 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \def INIT_STR(w, name, str) */ #define INIT_STR(w, name, str) { \ g_free((w)->name); \ (w)->name = g_strdup(((default_ ## name) != NULL) ? \ (default_ ## name) : (str)); \ } /* Absolute default used when default_... strings are NULL */ #define DEFAULT_PRINT_COMMAND "lpr" int default_text_size = 10; int default_text_caps = LOWER; int default_attribute_color = ATTRIBUTE_COLOR; int default_detachattr_color = DETACHED_ATTRIBUTE_COLOR; int default_net_endpoint_color = NET_ENDPOINT_COLOR; int default_junction_color = JUNCTION_COLOR; int default_override_net_color = -1; int default_override_bus_color = -1; int default_override_pin_color = -1; int default_net_endpoint_mode = FILLEDBOX; int default_net_midpoint_mode = FILLED; int default_net_direction_mode = TRUE; int default_net_selection_mode = 0; int default_pin_style = THICK; int default_net_style = THICK; int default_bus_style = THICK; int default_line_style = THICK; int default_background_color = BACKGROUND_COLOR; int default_actionfeedback_mode = OUTLINE; int default_zoom_with_pan = TRUE; int default_object_clipping = TRUE; int default_do_logging = TRUE; int default_logging_dest = LOG_WINDOW; int default_embed_complex = FALSE; int default_include_complex = FALSE; int default_snap_size = 100; int default_paper_width = 11000; /* letter size */ int default_paper_height = 85000; int default_scrollbars_flag = TRUE; char *default_print_command = NULL; int default_print_orientation = LANDSCAPE; int default_image_color = FALSE; int default_image_width = 800; int default_image_height = 600; int default_print_color = FALSE; int default_print_color_background = OUTPUT_BACKGROUND_COLOR; int default_print_output_type = EXTENTS; int default_print_output_capstyle = SQUARE_CAP; int default_log_window = MAP_ON_STARTUP; int default_log_window_type = DECORATED; int default_third_button = POPUP_ENABLED; #ifdef HAVE_LIBSTROKE int default_middle_button = STROKE; #else int default_middle_button = REPEAT; #endif int default_scroll_wheel = SCROLL_WHEEL_CLASSIC; int default_net_consolidate = TRUE; int default_file_preview = FALSE; int default_enforce_hierarchy = TRUE; int default_text_origin_marker = TRUE; int default_fast_mousepan = TRUE; int default_raise_dialog_boxes = FALSE; int default_continue_component_place = TRUE; GList *default_component_select_attrlist = NULL; int default_undo_levels = 20; int default_undo_control = TRUE; int default_undo_type = UNDO_DISK; int default_undo_panzoom = FALSE; int default_draw_grips = TRUE; int default_netconn_rubberband = FALSE; int default_magnetic_net_mode = TRUE; int default_sort_component_library = FALSE; int default_warp_cursor = TRUE; int default_toolbars = TRUE; int default_handleboxes = TRUE; int default_setpagedevice_orientation = FALSE; int default_setpagedevice_pagesize = FALSE; int default_bus_ripper_size = 200; int default_bus_ripper_type = COMP_BUS_RIPPER; int default_bus_ripper_rotation = NON_SYMMETRIC; int default_force_boundingbox = FALSE; int default_dots_grid_dot_size = 1; int default_dots_grid_mode = DOTS_GRID_VARIABLE_MODE; int default_dots_grid_fixed_threshold = 10; int default_mesh_grid_display_threshold = 3; int default_add_attribute_offset = 50; int default_auto_save_interval = 120; int default_width = 800; /* these variables are used in x_window.c */ int default_height = 600; /* default zoom_factor at which text is displayed completely */ int default_text_display_zoomfactor = 30; int default_text_feedback = ONLY_WHEN_READABLE; int default_mousepan_gain = 5; int default_keyboardpan_gain = 20; int default_select_slack_pixels = 4; int default_zoom_gain = 20; int default_scrollpan_steps = 8; /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void i_vars_set(GSCHEM_TOPLEVEL *w_current) { TOPLEVEL *toplevel = w_current->toplevel; i_vars_libgeda_set(toplevel); /* this will be false if logging cannot be enabled */ if (do_logging != FALSE) { do_logging = default_do_logging; } logging_dest = default_logging_dest; w_current->text_size = default_text_size; w_current->text_caps = default_text_caps; toplevel->background_color = default_background_color; toplevel->net_style = default_net_style; w_current->net_endpoint_mode = default_net_endpoint_mode; w_current->net_midpoint_mode = default_net_midpoint_mode; w_current->net_direction_mode = default_net_direction_mode; w_current->net_selection_mode = default_net_selection_mode; toplevel->override_net_color = default_override_net_color; toplevel->bus_style = default_bus_style; toplevel->override_bus_color = default_override_bus_color; toplevel->pin_style = default_pin_style; toplevel->override_pin_color = default_override_pin_color; toplevel->line_style = default_line_style; w_current->zoom_with_pan = default_zoom_with_pan; w_current->actionfeedback_mode = default_actionfeedback_mode; w_current->text_display_zoomfactor = default_text_display_zoomfactor; w_current->text_feedback = default_text_feedback; w_current->scrollbars_flag = default_scrollbars_flag; toplevel->object_clipping = default_object_clipping; w_current->embed_complex = default_embed_complex; w_current->include_complex = default_include_complex; w_current->snap_size = default_snap_size; w_current->log_window = default_log_window; w_current->log_window_type = default_log_window_type; INIT_STR(w_current, print_command, DEFAULT_PRINT_COMMAND); toplevel->print_output_type = default_print_output_type; toplevel->print_output_capstyle = default_print_output_capstyle; toplevel->print_orientation = default_print_orientation; toplevel->print_color = default_print_color; toplevel->print_color_background = default_print_color_background; toplevel->setpagedevice_orientation = default_setpagedevice_orientation; toplevel->setpagedevice_pagesize = default_setpagedevice_pagesize; toplevel->image_color = default_image_color; w_current->image_width = default_image_width; w_current->image_height = default_image_height; w_current->third_button = default_third_button; w_current->middle_button = default_middle_button; w_current->scroll_wheel = default_scroll_wheel; toplevel->net_consolidate = default_net_consolidate; w_current->file_preview = default_file_preview; w_current->enforce_hierarchy = default_enforce_hierarchy; w_current->text_origin_marker = default_text_origin_marker; w_current->fast_mousepan = default_fast_mousepan; w_current->raise_dialog_boxes = default_raise_dialog_boxes; w_current->continue_component_place = default_continue_component_place; w_current->component_select_attrlist = default_component_select_attrlist; w_current->undo_levels = default_undo_levels; w_current->undo_control = default_undo_control; w_current->undo_type = default_undo_type; w_current->undo_panzoom = default_undo_panzoom; w_current->draw_grips = default_draw_grips; w_current->netconn_rubberband = default_netconn_rubberband; w_current->magneticnet_mode = default_magnetic_net_mode; w_current->sort_component_library = default_sort_component_library; w_current->warp_cursor = default_warp_cursor; w_current->toolbars = default_toolbars; w_current->handleboxes = default_handleboxes; toplevel->paper_width = default_paper_width; toplevel->paper_height = default_paper_height; w_current->bus_ripper_size = default_bus_ripper_size; w_current->bus_ripper_type = default_bus_ripper_type; w_current->bus_ripper_rotation = default_bus_ripper_rotation; toplevel->force_boundingbox = default_force_boundingbox; w_current->dots_grid_dot_size = default_dots_grid_dot_size; w_current->dots_grid_mode = default_dots_grid_mode; w_current->dots_grid_fixed_threshold = default_dots_grid_fixed_threshold; w_current->mesh_grid_display_threshold = default_mesh_grid_display_threshold; w_current->add_attribute_offset = default_add_attribute_offset; w_current->mousepan_gain = default_mousepan_gain; w_current->keyboardpan_gain = default_keyboardpan_gain; w_current->select_slack_pixels = default_select_slack_pixels; w_current->zoom_gain = default_zoom_gain; w_current->scrollpan_steps = default_scrollpan_steps; toplevel->auto_save_interval = default_auto_save_interval; } /*! \brief Free default names * \par Function Description * This function will free all of the default variables for gschem. * */ void i_vars_freenames() { g_free(default_print_command); } geda-gaf-1.8.2/gschem/src/x_grid.c0000664000175000017500000003120512220647257013565 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #ifdef HAVE_STRING_H #include #endif #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif #define DOTS_POINTS_ARRAY_SIZE 5000 #define DOTS_VARIABLE_MODE_SPACING 30 #define MESH_COARSE_GRID_MULTIPLIER 5 /*! \brief Query the spacing in world coordinates at which the dots grid is drawn. * * \par Function Description * Returns the world spacing of the rendered grid, taking into account where * the grid drawing code may drop elelments which are too densly packed for a * given zoom level. * * \param [in] w_current The GSCHEM_TOPLEVEL. * \returns The grid spacing in world units of the grid as rendered, or -1 * if there are no items drawn. */ static int query_dots_grid_spacing (GSCHEM_TOPLEVEL *w_current) { TOPLEVEL *toplevel = w_current->toplevel; int incr, screen_incr; if (w_current->dots_grid_mode == DOTS_GRID_VARIABLE_MODE) { /* In the variable mode around every (DOTS_VARIABLE_MODE_SPACING)'th * screenpixel will be grid-point. */ /* adding 0.1 for correct cast*/ incr = round_5_2_1 (toplevel->page_current->to_world_x_constant * DOTS_VARIABLE_MODE_SPACING) + 0.1; /* limit minimum grid spacing to grid to snap_size */ if (incr < w_current->snap_size) { incr = w_current->snap_size; } } else { /* Fixed size grid in world coorinates */ incr = w_current->snap_size; screen_incr = SCREENabs (w_current, incr); if (screen_incr < w_current->dots_grid_fixed_threshold) { /* No grid drawn if the on-screen spacing is less than the threshold */ incr = -1; } } return incr; } /*! \brief Draw an area of the screen with a dotted grid pattern * * \par Function Description * Draws the dotted grid pattern over a given region of the screen. * * \param [in] w_current The GSCHEM_TOPLEVEL. * \param [in] x The left screen coordinate for the drawing. * \param [in] y The top screen coordinate for the drawing. * \param [in] width The width of the region to draw. * \param [in] height The height of the region to draw. */ static void draw_dots_grid_region (GSCHEM_TOPLEVEL *w_current, int x, int y, int width, int height) { TOPLEVEL *toplevel = w_current->toplevel; int i, j; int dot_x, dot_y; int x_start, y_start, x_end, y_end; int count = 0; GdkPoint points[DOTS_POINTS_ARRAY_SIZE]; int incr = query_dots_grid_spacing (w_current); if (incr == -1) return; gdk_gc_set_foreground (w_current->gc, x_get_color (DOTS_GRID_COLOR)); SCREENtoWORLD (w_current, x - 1, y + height + 1, &x_start, &y_start); SCREENtoWORLD (w_current, x + width + 1, y - 1, &x_end, &y_end); /* figure starting grid coordinates, work by taking the start * and end coordinates and rounding down to the nearest * increment */ x_start -= (x_start % incr); y_start -= (y_start % incr); for (i = x_start; i <= x_end; i = i + incr) { for(j = y_start; j <= y_end; j = j + incr) { WORLDtoSCREEN (w_current, i,j, &dot_x, &dot_y); if (inside_region (toplevel->page_current->left, toplevel->page_current->top, toplevel->page_current->right, toplevel->page_current->bottom, i, j)) { if (w_current->dots_grid_dot_size == 1) { points[count].x = dot_x; points[count].y = dot_y; count++; /* get out of loop if we're hit the end of the array */ if (count == DOTS_POINTS_ARRAY_SIZE) { gdk_draw_points (w_current->drawable, w_current->gc, points, count); count = 0; } } else { gdk_draw_arc (w_current->drawable, w_current->gc, TRUE, dot_x, dot_y, w_current->dots_grid_dot_size, w_current->dots_grid_dot_size, 0, FULL_CIRCLE); } } } } /* now draw all the points in one step */ if(count != 0) { gdk_draw_points (w_current->drawable, w_current->gc, points, count); } } /*! \brief Helper function for draw_mesh_grid_regin */ static void draw_mesh (GSCHEM_TOPLEVEL *w_current, int color, int x_start, int y_start, int x_end, int y_end, int incr, int coarse_mult) { int i, j; int x1, y1, x2, y2; int next_coarse_x, next_coarse_y; int coarse_incr = incr * coarse_mult; /* figure starting grid coordinates, work by taking the start * and end coordinates and rounding down to the nearest increment */ x_start -= (x_start % incr); y_start -= (y_start % incr); if (coarse_incr == 0) { next_coarse_x = x_start - 1; /* Ensures we never hit this when looping */ next_coarse_y = y_start - 1; /* Ensures we never hit this when looping */ } else { next_coarse_x = x_start - (x_start % coarse_incr); next_coarse_y = y_start - (y_start % coarse_incr); if (next_coarse_x < x_start) next_coarse_x += coarse_incr; if (next_coarse_y < y_start) next_coarse_y += coarse_incr; } gschem_cairo_set_source_color (w_current, x_color_lookup (color)); cairo_set_line_width (w_current->cr, 1.); cairo_set_line_cap (w_current->cr, CAIRO_LINE_CAP_SQUARE); cairo_translate (w_current->cr, 0.5, 0.5); for (j = y_start; j < y_end; j = j + incr) { /* Skip lines which will be drawn in the coarser grid */ if (j == next_coarse_y) { next_coarse_y += coarse_incr; continue; } WORLDtoSCREEN (w_current, x_start, j, &x1, &y1); WORLDtoSCREEN (w_current, x_end, j, &x2, &y2); cairo_move_to (w_current->cr, x1, y1); cairo_line_to (w_current->cr, x2, y2); } cairo_stroke (w_current->cr); for (i = x_start; i < x_end; i = i + incr) { /* Skip lines which will be drawn in the coarser grid */ if (j == next_coarse_y) { next_coarse_y += coarse_incr; continue; } WORLDtoSCREEN (w_current, i, y_start, &x1, &y1); WORLDtoSCREEN (w_current, i, y_end, &x2, &y2); cairo_move_to (w_current->cr, x1, y1); cairo_line_to (w_current->cr, x2, y2); } cairo_stroke (w_current->cr); cairo_translate (w_current->cr, -0.5, -0.5); } /*! \brief Query the spacing in world coordinates at which the mesh grid is drawn. * * \par Function Description * Returns the world spacing of the rendered grid, taking into account where * the grid drawing code may drop elelments which are too densly packed for a * given zoom level. * * \param [in] w_current The GSCHEM_TOPLEVEL. * \returns The grid spacing in world units of the grid as rendered, or -1 * if there are no items drawn. */ static int query_mesh_grid_spacing (GSCHEM_TOPLEVEL *w_current) { int incr, screen_incr; incr = w_current->snap_size; screen_incr = SCREENabs (w_current, incr); /* We draw a fine grid if its on-screen spacing is large enough */ if (screen_incr >= w_current->mesh_grid_display_threshold) { return incr; } incr *= MESH_COARSE_GRID_MULTIPLIER; screen_incr = SCREENabs (w_current, incr); /* We draw a coarse grid if its on-screen spacing is large enough */ if (screen_incr >= w_current->mesh_grid_display_threshold) return incr; return -1; } /*! \brief Draw an area of the screen with a mesh grid pattern * * \par Function Description * Draws the mesh grid pattern over a given region of the screen. * * \param [in] w_current The GSCHEM_TOPLEVEL. * \param [in] x The left screen coordinate for the drawing. * \param [in] y The top screen coordinate for the drawing. * \param [in] width The width of the region to draw. * \param [in] height The height of the region to draw. */ static void draw_mesh_grid_region (GSCHEM_TOPLEVEL *w_current, int x, int y, int width, int height) { int x_start, y_start, x_end, y_end; int incr; int screen_incr; incr = w_current->snap_size; screen_incr = SCREENabs (w_current, incr); SCREENtoWORLD (w_current, x - 1, y + height + 1, &x_start, &y_start); SCREENtoWORLD (w_current, x + width + 1, y - 1, &x_end, &y_end); /* Draw the fine grid if its on-screen spacing is large enough */ if (screen_incr >= w_current->mesh_grid_display_threshold) { draw_mesh (w_current, MESH_GRID_MINOR_COLOR, x_start, y_start, x_end, y_end, incr, MESH_COARSE_GRID_MULTIPLIER); } incr *= MESH_COARSE_GRID_MULTIPLIER; screen_incr = SCREENabs (w_current, incr); /* Draw the coarse grid if its on-screen spacing is large enough */ if (screen_incr >= w_current->mesh_grid_display_threshold) { draw_mesh (w_current, MESH_GRID_MAJOR_COLOR, x_start, y_start, x_end, y_end, incr, 0); } } /*! \brief Draw an area of the screen with the current grid pattern. * * \par Function Description * Draws the desired grid pattern over a given region of the screen. * * \param [in] w_current The GSCHEM_TOPLEVEL. * \param [in] x The left screen coordinate for the drawing. * \param [in] y The top screen coordinate for the drawing. * \param [in] width The width of the region to draw. * \param [in] height The height of the region to draw. */ void x_grid_draw_region (GSCHEM_TOPLEVEL *w_current, int x, int y, int width, int height) { switch (w_current->grid) { case GRID_NONE: return; case GRID_DOTS: draw_dots_grid_region (w_current, x, y, width, height); break; case GRID_MESH: draw_mesh_grid_region (w_current, x, y, width, height); break; } #if DEBUG /* highly temp, just for diag purposes */ x_draw_tiles(w_current); #endif } /*! \brief Query the spacing in world coordinates at which the grid is drawn. * * \par Function Description * Returns the world spacing of the rendered grid, taking into account where * the grid drawing code may drop elelments which are too densly packed for a * given zoom level. * * \param [in] w_current The GSCHEM_TOPLEVEL. * \returns The grid spacing in world units of the grid as rendered, or -1 * if there are no items drawn. */ int x_grid_query_drawn_spacing (GSCHEM_TOPLEVEL *w_current) { switch (w_current->grid) { default: case GRID_NONE: return -1; case GRID_DOTS: return query_dots_grid_spacing (w_current); case GRID_MESH: return query_mesh_grid_spacing (w_current); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void x_draw_tiles(GSCHEM_TOPLEVEL *w_current) { TOPLEVEL *toplevel = w_current->toplevel; TILE *t_current; GdkFont *font; int i,j; int x1, y1, x2, y2; int screen_x, screen_y; int width, height; char *tempstring; gdk_gc_set_foreground (w_current->gc, x_get_color (LOCK_COLOR)); font = gdk_fontset_load ("fixed"); for (j = 0; j < MAX_TILES_Y; j++) { for (i = 0; i < MAX_TILES_X; i++) { t_current = &toplevel->page_current->world_tiles[i][j]; WORLDtoSCREEN (w_current, t_current->left, t_current->top, &x1, &y1); WORLDtoSCREEN (w_current, t_current->right, t_current->bottom, &x2, &y2); screen_x = min(x1, x2); screen_y = min(y1, y2); width = abs(x1 - x2); height = abs(y1 - y2); #if DEBUG printf("x, y: %d %d\n", screen_x, screen_y); printf("w x h: %d %d\n", width, height); #endif gdk_draw_rectangle (w_current->drawable, w_current->gc, FALSE, screen_x, screen_y, width, height); tempstring = g_strdup_printf("%d %d", i, j); gdk_draw_text (w_current->drawable, font, w_current->gc, screen_x+10, screen_y+10, tempstring, strlen(tempstring)); g_free(tempstring); } } gdk_font_unref(font); } geda-gaf-1.8.2/gschem/src/x_print.c0000664000175000017500000005464112220647257014005 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_STRING_H #include #endif #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif enum { PROP_FILENAME = 1, PROP_COMMAND, PROP_PAPERSIZE, PROP_ORIENTATION, PROP_TYPE, PROP_USEFILE }; /* Private functions */ static void print_dialog_action_radio_toggled (GtkWidget * w, PrintDialog * dialog); static void print_dialog_init (PrintDialog * dialog); static void print_dialog_init_paper_combobox (PrintDialog * d); static void print_dialog_init_type_combobox (PrintDialog * d); static void print_dialog_init_orient_combobox (PrintDialog * d); static void print_dialog_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec); static void print_dialog_set_property_comboboxes (PrintDialog *dialog, GtkComboBox *cbox, const GValue * value); static void print_dialog_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec); static void print_dialog_get_property_comboboxes (PrintDialog * dialog, GtkComboBox * cbox, GValue * value); static void print_dialog_class_init (PrintDialogClass * class); /*! * \brief Callback function to show file chooser dialog * * \par Shows file chooser dialog for user to select PostScript file * to print to. * \par Private callback function, should not be called by any code * outside x_print.c */ static void print_dialog_action_choosefile (GtkWidget * w, PrintDialog * dialog) { GtkWidget *filechooser; const gchar *filename; const gchar *newfilename; filechooser = gtk_file_chooser_dialog_new (_("Select PostScript Filename..."), GTK_WINDOW (dialog), GTK_FILE_CHOOSER_ACTION_SAVE, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, NULL); /* Set the alternative button order (ok, cancel, help) for other systems */ gtk_dialog_set_alternative_button_order(GTK_DIALOG(filechooser), GTK_RESPONSE_ACCEPT, GTK_RESPONSE_CANCEL, -1); filename = gtk_entry_get_text (GTK_ENTRY (dialog->fnfield)); gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (filechooser), filename); gtk_dialog_set_default_response(GTK_DIALOG(filechooser), GTK_RESPONSE_ACCEPT); if (gtk_dialog_run (GTK_DIALOG (filechooser)) == GTK_RESPONSE_ACCEPT) { newfilename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (filechooser)); gtk_entry_set_text (GTK_ENTRY (dialog->fnfield), newfilename); } gtk_widget_destroy (filechooser); } /*! * \brief Create, initialize and populate a combobox for selecting * what paper size to print to. * \par Private function, should not be * called by any code outside x_print.c */ static void print_dialog_init_paper_combobox (PrintDialog * d) { GtkComboBox *combobox; gchar *string; gint i; combobox = GTK_COMBO_BOX (gtk_combo_box_new_text ()); gtk_combo_box_set_active (combobox, -1); /* Populate combo box with available paper sizes */ i = 0; string = (gchar *) s_papersizes_get (i); while (string != NULL) { gtk_combo_box_insert_text (GTK_COMBO_BOX (combobox), i, string); i++; string = (gchar *) s_papersizes_get (i); } d->papercbox = combobox; } /*! * \brief Create, initialize and populate a combobox for selecting * the type of printout to produce. * \par Private function, should not be called by any code * outside x_print.c */ static void print_dialog_init_type_combobox (PrintDialog * d) { GtkListStore *model; GtkTreeIter iter; GtkCellRenderer *renderer; GtkWidget *combobox; model = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_INT); gtk_list_store_append (model, &iter); gtk_list_store_set (model, &iter, 0, _("Extents with margins"), 1, EXTENTS, -1); gtk_list_store_append (model, &iter); gtk_list_store_set (model, &iter, 0, _("Extents no margins"), 1, EXTENTS_NOMARGINS, -1); gtk_list_store_append (model, &iter); gtk_list_store_set (model, &iter, 0, _("Current Window"), 1, WINDOW, -1); combobox = gtk_combo_box_new_with_model (GTK_TREE_MODEL (model)); renderer = gtk_cell_renderer_text_new (); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combobox), renderer, TRUE); gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (combobox), renderer, "text", 0); d->typecbox = GTK_COMBO_BOX (combobox); } /*! * \brief Create, initialize and populate a combobox for selecting * paper orientation. * \par Private function, should not be called by any code * outside x_print.c */ static void print_dialog_init_orient_combobox (PrintDialog * d) { GtkListStore *model; GtkTreeIter iter; GtkCellRenderer *renderer; GtkWidget *combobox; model = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_INT); gtk_list_store_append (model, &iter); gtk_list_store_set (model, &iter, 0, _("Landscape"), 1, LANDSCAPE, -1); gtk_list_store_append (model, &iter); gtk_list_store_set (model, &iter, 0, _("Portrait"), 1, PORTRAIT, -1); combobox = gtk_combo_box_new_with_model (GTK_TREE_MODEL (model)); renderer = gtk_cell_renderer_text_new (); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combobox), renderer, TRUE); gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (combobox), renderer, "text", 0); d->orientcbox = GTK_COMBO_BOX (combobox); } /*! * \brief Handle the user clicking on radio buttons to select print * destination. * * \par Private callback function, should not be called by any code * outside x_print.c */ static void print_dialog_action_radio_toggled (GtkWidget * w, PrintDialog * dialog) { if (w == GTK_WIDGET (dialog->cmdradio)) { gtk_widget_set_sensitive (GTK_WIDGET (dialog->cmdfield), gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (w))); } else if (w == GTK_WIDGET (dialog->fileradio)) { gtk_widget_set_sensitive (GTK_WIDGET (dialog->fnfield), gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (w))); gtk_widget_set_sensitive (GTK_WIDGET (dialog->saveasbutton), gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (w))); } } /*! \todo Finish function documentation * \brief * \par Function Description * */ static void print_dialog_init (PrintDialog * dialog) { GtkWidget *box; GtkWidget *frame; GtkWidget *settingstable, *desttable; GtkWidget *label; GtkWidget *print_button; /* Initialize properties */ g_object_set (G_OBJECT (dialog), /* GtkWindow */ "title", _("Print..."), "modal", TRUE, "destroy-with-parent", TRUE, NULL); /* Setup hbox for two main panes */ box = gtk_vbox_new (FALSE, 2); gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), box); /* Upper frame */ frame = gtk_frame_new (_("Settings")); gtk_container_set_border_width (GTK_CONTAINER (frame), 3); gtk_container_add (GTK_CONTAINER (box), frame); /* Upper table with drop-down menus & labels * Left-hand column contains labels, right-hand contains comboboxes*/ settingstable = gtk_table_new (2, 3, FALSE); gtk_table_set_col_spacings (GTK_TABLE (settingstable), 5); gtk_table_set_row_spacings (GTK_TABLE (settingstable), 5); gtk_container_set_border_width (GTK_CONTAINER (settingstable), 5); gtk_container_add (GTK_CONTAINER (frame), settingstable); label = gtk_label_new (_("Output paper size:")); gtk_misc_set_alignment (GTK_MISC (label), 0, 0); gtk_table_attach (GTK_TABLE (settingstable), label, 0, 1, 0, 1, GTK_EXPAND | GTK_FILL, GTK_EXPAND, 0, 0); print_dialog_init_paper_combobox (dialog); gtk_table_attach (GTK_TABLE (settingstable), GTK_WIDGET (dialog->papercbox), 1, 2, 0, 1, GTK_FILL, 0, 0, 0); label = gtk_label_new (_("Type:")); gtk_misc_set_alignment (GTK_MISC (label), 0, 0); gtk_table_attach (GTK_TABLE (settingstable), label, 0, 1, 1, 2, GTK_EXPAND | GTK_FILL, GTK_EXPAND, 0, 0); print_dialog_init_type_combobox (dialog); gtk_table_attach (GTK_TABLE (settingstable), GTK_WIDGET (dialog->typecbox), 1, 2, 1, 2, GTK_FILL, 0, 0, 0); label = gtk_label_new (_("Orientation:")); gtk_misc_set_alignment (GTK_MISC (label), 0, 0); gtk_table_attach (GTK_TABLE (settingstable), label, 0, 1, 2, 3, GTK_EXPAND | GTK_FILL, GTK_EXPAND, 0, 0); print_dialog_init_orient_combobox (dialog); gtk_table_attach (GTK_TABLE (settingstable), GTK_WIDGET (dialog->orientcbox), 1, 2, 2, 3, GTK_FILL, 0, 0, 0); /* Lower frame */ frame = gtk_frame_new (_("Destination")); gtk_container_set_border_width (GTK_CONTAINER (frame), 3); gtk_container_add (GTK_CONTAINER (box), frame); /* Table with destination selectors */ desttable = gtk_table_new (3, 2, FALSE); gtk_table_set_col_spacings (GTK_TABLE (desttable), 5); gtk_table_set_row_spacings (GTK_TABLE (desttable), 5); gtk_container_set_border_width (GTK_CONTAINER (desttable), 5); gtk_container_add (GTK_CONTAINER (frame), desttable); /* Widgets for printing to file */ dialog->fileradio = GTK_RADIO_BUTTON (gtk_radio_button_new_with_label (NULL, _("File:"))); gtk_table_attach (GTK_TABLE (desttable), GTK_WIDGET (dialog->fileradio), 0, 1, 0, 1, GTK_FILL, GTK_EXPAND, 0, 0); g_signal_connect (dialog->fileradio, "toggled", GTK_SIGNAL_FUNC (print_dialog_action_radio_toggled), dialog); dialog->fnfield = GTK_ENTRY (gtk_entry_new ()); gtk_table_attach (GTK_TABLE (desttable), GTK_WIDGET (dialog->fnfield), 1, 2, 0, 1, GTK_EXPAND | GTK_FILL, 0, 0, 0); dialog->saveasbutton = GTK_BUTTON(gtk_button_new()); gtk_container_add(GTK_CONTAINER(dialog->saveasbutton), gtk_image_new_from_stock(GTK_STOCK_OPEN, GTK_ICON_SIZE_SMALL_TOOLBAR)); gtk_button_set_relief(GTK_BUTTON(dialog->saveasbutton), GTK_RELIEF_NONE); gtk_table_attach (GTK_TABLE (desttable), GTK_WIDGET (dialog->saveasbutton), 2, 3, 0, 1, GTK_FILL, 0, 0, 0); g_signal_connect (dialog->saveasbutton, "clicked", GTK_SIGNAL_FUNC (print_dialog_action_choosefile), dialog); /* Widgets for printing to command */ dialog->cmdradio = GTK_RADIO_BUTTON (gtk_radio_button_new_with_label_from_widget (dialog->fileradio, _("Command:"))); gtk_table_attach (GTK_TABLE (desttable), GTK_WIDGET (dialog->cmdradio), 0, 1, 1, 2, GTK_FILL, GTK_EXPAND, 0, 0); g_signal_connect (dialog->cmdradio, "toggled", GTK_SIGNAL_FUNC (print_dialog_action_radio_toggled), dialog); dialog->cmdfield = GTK_ENTRY (gtk_entry_new ()); gtk_table_attach (GTK_TABLE (desttable), GTK_WIDGET (dialog->cmdfield), 1, 3, 1, 2, GTK_EXPAND | GTK_FILL, 0, 0, 0); /* Add "Cancel" and "Print" buttons */ gtk_dialog_add_button (GTK_DIALOG (dialog), GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT); print_button = gtk_dialog_add_button (GTK_DIALOG (dialog), GTK_STOCK_PRINT, GTK_RESPONSE_ACCEPT); gtk_widget_grab_focus(print_button); /* Set the alternative button order (ok, cancel, help) for other systems */ gtk_dialog_set_alternative_button_order(GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT, GTK_RESPONSE_REJECT, -1); /* Set initial radiobutton selection */ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dialog->cmdradio), TRUE); } /*! \todo Finish function documentation * \brief * \par Function Description * */ static void print_dialog_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) { PrintDialog *dialog = PRINT_DIALOG (object); gboolean file_active = FALSE; switch (property_id) { case PROP_FILENAME: gtk_entry_set_text (dialog->fnfield, (char *) g_value_get_string (value)); return; case PROP_COMMAND: gtk_entry_set_text (dialog->cmdfield, (char *) g_value_get_string (value)); return; case PROP_PAPERSIZE: gtk_combo_box_set_active (dialog->papercbox, g_value_get_int (value)); return; case PROP_ORIENTATION: print_dialog_set_property_comboboxes (dialog, dialog->orientcbox, value); return; case PROP_TYPE: print_dialog_set_property_comboboxes (dialog, dialog->typecbox, value); return; case PROP_USEFILE: file_active = g_value_get_boolean (value); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dialog->fileradio), file_active); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dialog->cmdradio), !file_active); return; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); } } /*! \todo Finish function documentation * \brief * \par Function Description * */ static void print_dialog_set_property_comboboxes (PrintDialog * dialog, GtkComboBox * cbox, const GValue * value) { GtkTreeIter iter; GtkTreeModel *model; model = gtk_combo_box_get_model (cbox); gtk_tree_model_get_iter_first (model, &iter); do { GValue temp_value = {0, }; /* Make sure it's blank*/ gtk_tree_model_get_value (model, &iter, 1, &temp_value); if (g_value_get_int (&temp_value) == g_value_get_int (value)) { gtk_combo_box_set_active_iter (cbox, &iter); return; } } while (gtk_tree_model_iter_next (model, &iter)); gtk_combo_box_set_active (cbox, 0); } /*! \todo Finish function documentation * \brief * \par Function Description * */ static void print_dialog_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) { PrintDialog *dialog = PRINT_DIALOG (object); gboolean file_active = FALSE; switch (property_id) { case PROP_FILENAME: g_value_set_string (value, gtk_entry_get_text (GTK_ENTRY (dialog->fnfield))); return; case PROP_COMMAND: g_value_set_string (value, gtk_entry_get_text (GTK_ENTRY (dialog->cmdfield))); return; case PROP_PAPERSIZE: g_value_set_int (value, gtk_combo_box_get_active (dialog->papercbox)); return; case PROP_ORIENTATION: print_dialog_get_property_comboboxes (dialog, dialog->orientcbox, value); return; case PROP_TYPE: print_dialog_get_property_comboboxes (dialog, dialog->typecbox, value); return; case PROP_USEFILE: file_active = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (dialog->fileradio)); g_value_set_boolean (value, file_active); return; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); } } /*! \todo Finish function documentation * \brief * \par Function Description * */ static void print_dialog_get_property_comboboxes (PrintDialog * dialog, GtkComboBox * cbox, GValue * value) { GValue temp_value = {0, }; GtkTreeModel *model; GtkTreeIter iter; model = gtk_combo_box_get_model (cbox); gtk_combo_box_get_active_iter (cbox, &iter); gtk_tree_model_get_value (model, &iter, 1, &temp_value); g_value_copy (&temp_value, value); g_value_unset (&temp_value); } /*! \todo Finish function documentation * \brief * \par Function Description * \bug Hardcoded 'magic' numbers in this function * */ static void print_dialog_class_init (PrintDialogClass * class) { GObjectClass *gobject_class = G_OBJECT_CLASS (class); gobject_class->set_property = print_dialog_set_property; gobject_class->get_property = print_dialog_get_property; g_object_class_install_property (gobject_class, PROP_FILENAME, g_param_spec_string ("filename", "", "", "", G_PARAM_READWRITE)); g_object_class_install_property (gobject_class, PROP_COMMAND, g_param_spec_string ("command", "", "", "lpr", G_PARAM_READWRITE)); g_object_class_install_property (gobject_class, PROP_PAPERSIZE, g_param_spec_int ("papersize", "", "", 0, G_MAXINT, 0, G_PARAM_READWRITE)); g_object_class_install_property (gobject_class, PROP_ORIENTATION, g_param_spec_int ("orientation", "", "", 0, G_MAXINT, 0, G_PARAM_READWRITE)); g_object_class_install_property (gobject_class, PROP_TYPE, g_param_spec_int ("type", "", "", 0, G_MAXINT, 0, G_PARAM_READWRITE)); g_object_class_install_property (gobject_class, PROP_USEFILE, g_param_spec_boolean ("usefile", "", "", FALSE, G_PARAM_READWRITE)); } /*! \todo Finish function documentation * \brief * \par Function Description * */ GType print_dialog_get_type () { static GType print_dialog_type = 0; if (!print_dialog_type) { static const GTypeInfo print_dialog_info = { sizeof (PrintDialogClass), NULL, /* base_init */ NULL, /* base_finalize */ (GClassInitFunc) print_dialog_class_init, NULL, /* class_finalize */ NULL, /* class_data */ sizeof (PrintDialog), 0, /* n_preallocs */ (GInstanceInitFunc) print_dialog_init, }; print_dialog_type = g_type_register_static (GSCHEM_TYPE_DIALOG, "PrintDialog", &print_dialog_info, 0); } return print_dialog_type; } /*! \todo Finish function documentation * \brief * \par Function Description * */ void x_print_setup (GSCHEM_TOPLEVEL *w_current, char *filename) { TOPLEVEL *toplevel = w_current->toplevel; gchar * command = w_current->print_command; gint orient = toplevel->print_orientation; gint type = toplevel->print_output_type; gint paperidx, x, y, result; gchar *string, *destination; gboolean usefile = FALSE; GtkDialog *dialog; GtkWidget *popup_message; /* Work out current paper size by iterating through available paper * sizes. Set the default paper size as the active selection */ /* FIXME: ought to have a TOPLEVEL property containing * default paper size name, this is somewhat hackish. No * better way of doing it with current implementation of * varying paper size though. */ paperidx = 0; while (TRUE) { string = (gchar *) s_papersizes_get (paperidx); s_papersizes_get_size (string, &x, &y); if ((x == toplevel->paper_width) && (y == toplevel->paper_height)) { break; } if (string == NULL) { paperidx = 0; break; } paperidx++; } /* Create a print dialog, find out whether the user clicks Print or Cancel, and then print or return accordingly */ dialog = GTK_DIALOG (g_object_new (TYPE_PRINT_DIALOG, "command", command, "filename", filename, "papersize", paperidx, "orientation", orient, "type", type, "usefile", usefile, /* GschemDialog */ "settings-name", "print", "gschem-toplevel", w_current, NULL)); gtk_widget_show_all (GTK_WIDGET (dialog)); gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT); gtk_window_set_transient_for(GTK_WINDOW(dialog), GTK_WINDOW(w_current->main_window)); result = gtk_dialog_run (dialog); if (result == GTK_RESPONSE_ACCEPT) { /* Extract values from dialog and set the paper size */ g_object_get (dialog, "command", &command, "filename", &filename, "papersize", &paperidx, "orientation", &toplevel->print_orientation, "type", &toplevel->print_output_type, "usefile", &usefile, NULL); s_papersizes_get_size (s_papersizes_get (paperidx), &toplevel->paper_width, &toplevel->paper_height); /* de select everything first */ o_select_unselect_all( w_current ); if (usefile && filename[0]) /* Print to file */ { destination = filename; result = f_print_file (toplevel, toplevel->page_current, filename); } else if (command[0]) /* Print to command and save command for later use. */ { destination = command; result = f_print_command (toplevel, toplevel->page_current, command); g_free (w_current->print_command); w_current->print_command = g_strdup (command); } else { s_log_message (_("No print destination specified\n")); return; } /* Check whether it worked */ if (result) { s_log_message (_("Cannot print current schematic to [%s]\n"), destination); /* Pop up a message warning the user */ popup_message = gtk_message_dialog_new (GTK_WINDOW(dialog), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, _("Error printing to file '%s'\n" "Check the log window for more information"), destination); gtk_dialog_run (GTK_DIALOG (popup_message)); } else { s_log_message (_("Printed current schematic to [%s]\n"), destination); } } /* We don't need the dialog any more */ gtk_widget_destroy (GTK_WIDGET (dialog)); } geda-gaf-1.8.2/gschem/src/x_multiattrib.c0000664000175000017500000020561712220647257015212 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2011 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_STRING_H #include #endif #include "gschem.h" #include #ifdef HAVE_LIBDMALLOC #include #endif /*! \brief Update the multiattrib editor dialog when the page's * selection changes. * \par Function Description * When the page's selection changes this function identifies how * many objects which can have attributes are currently selected. If * this number is 1, the dialog is set to edit the attributes of the * first selected object.. * * \param [in] selection The SELECTION object of page being edited. * \param [in] user_data The multi-attribute editor dialog. */ static void callback_selection_changed (SELECTION *selection, gpointer user_data) { Multiattrib *multiattrib = MULTIATTRIB (user_data); GList *iter; OBJECT *object; gint object_count = 0; for (iter = geda_list_get_glist (selection); iter != NULL; iter = g_list_next (iter)) { object = (OBJECT *)iter->data; g_assert (object != NULL); if (object->type == OBJ_COMPLEX || object->type == OBJ_PLACEHOLDER || object->type == OBJ_NET || object->type == OBJ_BUS || object->type == OBJ_PIN) { object_count++; } } if (object_count == 0) { /* TODO: If the user selects a single attribute which is * not floating, should we find its parent object and * display the multi-attribute editor for that? * Bonus marks for making it jump to the correct attrib. */ object = NULL; } else if (object_count == 1) { object = (OBJECT *)((geda_list_get_glist (selection))->data); } else { /* TODO: Something clever with multiple objects selected */ object = NULL; } g_object_set (multiattrib, "object", object, NULL); } #define DIALOG_DATA_SELECTION "current-selection" /*! \brief Update the dialog when the current page's SELECTION object * is destroyed * \par Function Description * This handler is called when the g_object_weak_ref() on the * SELECTION object we're watching expires. We reset our * multiattrib->selection pointer to NULL to avoid attempting to * access the destroyed object. * * \note * Our signal handlers were automatically disconnected during the * destruction process. * * \param [in] data Pointer to the multi-attrib dialog * \param [in] where_the_object_was Pointer to where the object was * just destroyed */ static void callback_selection_finalized (gpointer data, GObject *where_the_object_was) { Multiattrib *multiattrib = MULTIATTRIB (data); g_object_set (multiattrib, "object", NULL, NULL); g_object_set_data (G_OBJECT (multiattrib), DIALOG_DATA_SELECTION, NULL); } /*! \brief Add link between multiattrib dialog and current selection. * \par Function Description * This function connects a handler to the "changed" signal of * current selection to let the dialog watch it. It also adds a weak * reference on the selection. * * \param [in] multiattrib The Multiattrib dialog. * \param [in] selection The selection to watch. */ static void connect_selection (Multiattrib *multiattrib, SELECTION *selection) { g_assert (g_object_get_data (G_OBJECT (multiattrib), DIALOG_DATA_SELECTION) == NULL); g_object_set_data (G_OBJECT (multiattrib), DIALOG_DATA_SELECTION, selection); g_object_weak_ref (G_OBJECT (selection), callback_selection_finalized, multiattrib); g_signal_connect (selection, "changed", (GCallback)callback_selection_changed, multiattrib); /* Synthesise a selection changed update to refresh the view */ callback_selection_changed (selection, multiattrib); } /*! \brief Remove the link between multiattrib dialog and selection. * \par Function Description * If the dialog is watching a selection, this function disconnects * the "changed" signal and removes the weak reference it previously * added on it. * * \param [in] multiattrib The Multiattrib dialog. */ static void disconnect_selection (Multiattrib *multiattrib) { SELECTION *selection; /* get selection watched from dialog data */ selection = (SELECTION*)g_object_get_data (G_OBJECT (multiattrib), DIALOG_DATA_SELECTION); if (selection == NULL) { /* no selection watched */ return; } g_signal_handlers_disconnect_matched (selection, G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, 0, 0, NULL, callback_selection_changed, multiattrib); g_object_weak_unref (G_OBJECT (selection), callback_selection_finalized, multiattrib); /* reset dialog data */ g_object_set_data (G_OBJECT (multiattrib), DIALOG_DATA_SELECTION, NULL); } /*! \brief Process the response returned by the multi-attribte dialog. * \par Function Description * This function handles the response arg1 of the multi-attribute * editor dialog dialog. * * \param [in] dialog The multi-attribute editor dialog. * \param [in] arg1 The response ID. * \param [in] user_data A pointer on the GSCHEM_TOPLEVEL environment. */ static void multiattrib_callback_response (GtkDialog *dialog, gint arg1, gpointer user_data) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*)user_data; switch (arg1) { case GTK_RESPONSE_CLOSE: case GTK_RESPONSE_DELETE_EVENT: /* cut link from dialog to selection */ disconnect_selection (MULTIATTRIB (w_current->mawindow)); gtk_widget_destroy (GTK_WIDGET (dialog)); w_current->mawindow = NULL; break; } } /*! \brief Open multiple attribute editor dialog. * \par Function Description * Opens the multiple attribute editor dialog for objects in this toplevel. * * \param [in] w_current The GSCHEM_TOPLEVEL object. */ void x_multiattrib_open (GSCHEM_TOPLEVEL *w_current) { if ( w_current->mawindow == NULL ) { w_current->mawindow = GTK_WIDGET (g_object_new (TYPE_MULTIATTRIB, "object", NULL, /* GschemDialog */ "settings-name", "multiattrib", "gschem-toplevel", w_current, NULL)); gtk_window_set_transient_for (GTK_WINDOW(w_current->mawindow), GTK_WINDOW(w_current->main_window)); g_signal_connect (w_current->mawindow, "response", G_CALLBACK (multiattrib_callback_response), w_current); /* attach dialog to selection of current page */ x_multiattrib_update (w_current); gtk_widget_show (w_current->mawindow); } else { gtk_window_present (GTK_WINDOW(w_current->mawindow)); } } /*! \brief Close the multiattrib dialog. * * \par Function Description * * Closes the multiattrib dialog associated with w_current. * * \param [in] w_current The GSCHEM_TOPLEVEL object. */ void x_multiattrib_close (GSCHEM_TOPLEVEL *w_current) { if (w_current->mawindow != NULL) { /* cut link from dialog to selection */ disconnect_selection (MULTIATTRIB (w_current->mawindow)); gtk_widget_destroy (w_current->mawindow); w_current->mawindow = NULL; } } /*! \brief Update the multiattrib editor dialog for a GSCHEM_TOPLEVEL. * * \par Function Description * * If the GSCHEM_TOPLEVEL has an open multiattrib dialog, switch to * watching the current page's SELECTION object for changes. * * \param [in] w_current The GSCHEM_TOPLEVEL object. */ void x_multiattrib_update( GSCHEM_TOPLEVEL *w_current ) { if (!IS_MULTIATTRIB (w_current->mawindow)) { return; } /* disconnect dialog from previous selection */ disconnect_selection (MULTIATTRIB (w_current->mawindow)); /* connect the dialog to the selection of the current page */ connect_selection (MULTIATTRIB (w_current->mawindow), w_current->toplevel->page_current->selection_list); } /*! \section celltextview-widget Cell TextView Widget Code. * This widget makes a 'GtkTextView' widget implements the 'GtkCellEditable' * interface. It can then be used to renderer multi-line texts inside * tree views ('GtkTreeView'). */ static void celltextview_class_init (CellTextViewClass *klass); static void celltextview_init (CellTextView *self); static void celltextview_cell_editable_init (GtkCellEditableIface *iface); enum { PROP_EDIT_CANCELED = 1 }; static void celltextview_set_property (GObject *object, guint property_id, const GValue *value, GParamSpec *pspec) { CellTextView *celltextview = (CellTextView*) object; switch (property_id) { case PROP_EDIT_CANCELED: celltextview->editing_canceled = g_value_get_boolean (value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); } } static void celltextview_get_property (GObject *object, guint property_id, GValue *value, GParamSpec *pspec) { CellTextView *celltextview = (CellTextView*) object; switch (property_id) { case PROP_EDIT_CANCELED: g_value_set_boolean (value, celltextview->editing_canceled); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); } } /*! \todo Finish function documentation * \brief * \par Function Description * */ static gboolean celltextview_key_press_event (GtkWidget *widget, GdkEventKey *key_event, gpointer data) { CellTextView *celltextview = (CellTextView*)widget; /* If the Escape key is pressed, we flag the edit as canceled */ if (key_event->keyval == GDK_Escape) celltextview->editing_canceled = TRUE; /* ends editing of cell if one of these keys are pressed or editing is canceled */ if (celltextview->editing_canceled == TRUE || /* the Enter key without the Control modifier */ (!(key_event->state & GDK_CONTROL_MASK) && (key_event->keyval == GDK_Return || key_event->keyval == GDK_KP_Enter))) { gtk_cell_editable_editing_done (GTK_CELL_EDITABLE (celltextview)); gtk_cell_editable_remove_widget (GTK_CELL_EDITABLE (celltextview)); return TRUE; } return FALSE; } /*! \todo Finish function documentation * \brief * \par Function Description * */ static void celltextview_start_editing (GtkCellEditable *cell_editable, GdkEvent *event) { g_signal_connect (cell_editable, "key_press_event", G_CALLBACK (celltextview_key_press_event), NULL); } /*! \todo Finish function documentation * \brief * \par Function Description * */ GType celltextview_get_type() { static GType celltextview_type = 0; if (!celltextview_type) { static const GTypeInfo celltextview_info = { sizeof(CellTextViewClass), NULL, /* base_init */ NULL, /* base_finalize */ (GClassInitFunc) celltextview_class_init, NULL, /* class_finalize */ NULL, /* class_data */ sizeof(CellTextView), 0, /* n_preallocs */ (GInstanceInitFunc) celltextview_init, }; static const GInterfaceInfo cell_editable_info = { (GInterfaceInitFunc) celltextview_cell_editable_init, NULL, /* interface_finalize */ NULL /* interface_data */ }; celltextview_type = g_type_register_static(GTK_TYPE_TEXT_VIEW, "CellTextView", &celltextview_info, 0); g_type_add_interface_static(celltextview_type, GTK_TYPE_CELL_EDITABLE, &cell_editable_info); } return celltextview_type; } /*! \todo Finish function documentation * \brief * \par Function Description * */ static void celltextview_class_init(CellTextViewClass *klass) { GObjectClass *gobject_class = G_OBJECT_CLASS (klass); gobject_class->get_property = celltextview_get_property; gobject_class->set_property = celltextview_set_property; g_object_class_install_property ( gobject_class, PROP_EDIT_CANCELED, g_param_spec_boolean ("editing-canceled", "", "", FALSE, G_PARAM_READWRITE)); } /*! \todo Finish function documentation * \brief * \par Function Description * */ static void celltextview_init(CellTextView *celltextview) { celltextview->editing_canceled = FALSE; } /*! \todo Finish function documentation * \brief * \par Function Description * */ static void celltextview_cell_editable_init(GtkCellEditableIface *iface) { iface->start_editing = celltextview_start_editing; } /*! \section multi-line-text-cell-renderer Multi-line Text Cell Renderer * GTK has no multi-line text cell renderer. This code adds one to be used * in gschem code. It is inspired by the 'GtkCellRendererCombo' renderer * of GTK 2.4 (LGPL). */ static void cellrenderermultilinetext_class_init(CellRendererMultiLineTextClass *klass); static void cellrenderermultilinetext_editing_done (GtkCellEditable *cell_editable, gpointer user_data); static gboolean cellrenderermultilinetext_focus_out_event (GtkWidget *widget, GdkEvent *event, gpointer user_data); #define CELL_RENDERER_MULTI_LINE_TEXT_PATH "cell-renderer-multi-line-text-path" /*! \todo Finish function documentation * \brief * \par Function Description * */ static GtkCellEditable* cellrenderermultilinetext_start_editing(GtkCellRenderer *cell, GdkEvent *event, GtkWidget *widget, const gchar *path, GdkRectangle *background_area, GdkRectangle *cell_area, GtkCellRendererState flags) { GtkCellRendererText *cell_text; CellRendererMultiLineText *cell_mlt; GtkWidget *textview; GtkTextBuffer *textbuffer; cell_text = GTK_CELL_RENDERER_TEXT (cell); if (cell_text->editable == FALSE) { return NULL; } cell_mlt = CELL_RENDERER_MULTI_LINE_TEXT (cell); textbuffer = GTK_TEXT_BUFFER (g_object_new (GTK_TYPE_TEXT_BUFFER, NULL)); gtk_text_buffer_set_text (textbuffer, cell_text->text, strlen (cell_text->text)); textview = GTK_WIDGET (g_object_new (TYPE_CELL_TEXT_VIEW, /* GtkTextView */ "buffer", textbuffer, "editable", TRUE, /* GtkWidget */ "height-request", cell_area->height, NULL)); g_object_set_data_full (G_OBJECT (textview), CELL_RENDERER_MULTI_LINE_TEXT_PATH, g_strdup (path), g_free); gtk_widget_show (textview); g_signal_connect (GTK_CELL_EDITABLE (textview), "editing_done", G_CALLBACK (cellrenderermultilinetext_editing_done), cell_mlt); cell_mlt->focus_out_id = g_signal_connect (textview, "focus_out_event", G_CALLBACK (cellrenderermultilinetext_focus_out_event), cell_mlt); return GTK_CELL_EDITABLE (textview); } /*! \todo Finish function documentation * \brief * \par Function Description * */ static void cellrenderermultilinetext_editing_done(GtkCellEditable *cell_editable, gpointer user_data) { CellRendererMultiLineText *cell = CELL_RENDERER_MULTI_LINE_TEXT (user_data); GtkTextBuffer *buffer; GtkTextIter start, end; gchar *new_text; const gchar *path; if (cell->focus_out_id > 0) { g_signal_handler_disconnect (cell_editable, cell->focus_out_id); cell->focus_out_id = 0; } if (CELL_TEXT_VIEW (cell_editable)->editing_canceled) { g_signal_emit_by_name (cell, "editing-canceled"); return; } buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (cell_editable)); gtk_text_buffer_get_start_iter (buffer, &start); gtk_text_buffer_get_end_iter (buffer, &end); new_text = gtk_text_buffer_get_text (buffer, &start, &end, TRUE); path = g_object_get_data (G_OBJECT (cell_editable), CELL_RENDERER_MULTI_LINE_TEXT_PATH); g_signal_emit_by_name (cell, "edited", path, new_text); g_free (new_text); } /*! \todo Finish function documentation * \brief * \par Function Description * */ static gboolean cellrenderermultilinetext_focus_out_event(GtkWidget *widget, GdkEvent *event, gpointer user_data) { cellrenderermultilinetext_editing_done (GTK_CELL_EDITABLE (widget), user_data); return FALSE; } /*! \todo Finish function documentation * \brief * \par Function Description * */ GType cellrenderermultilinetext_get_type() { static GType cellrenderermultilinetext_type = 0; if (!cellrenderermultilinetext_type) { static const GTypeInfo cellrenderermultilinetext_info = { sizeof(CellRendererMultiLineTextClass), NULL, /* base_init */ NULL, /* base_finalize */ (GClassInitFunc) cellrenderermultilinetext_class_init, NULL, /* class_finalize */ NULL, /* class_data */ sizeof(CellRendererMultiLineText), 0, /* n_preallocs */ NULL, /* instance_init */ }; cellrenderermultilinetext_type = g_type_register_static ( GTK_TYPE_CELL_RENDERER_TEXT, "CellRendererMultiLineText", &cellrenderermultilinetext_info, 0); } return cellrenderermultilinetext_type; } /*! \todo Finish function documentation * \brief * \par Function Description * */ static void cellrenderermultilinetext_class_init(CellRendererMultiLineTextClass *klass) { /* GObjectClass *gobject_class = G_OBJECT_CLASS (klass); */ GtkCellRendererClass *cell_class = GTK_CELL_RENDERER_CLASS (klass); cell_class->start_editing = cellrenderermultilinetext_start_editing; } enum { PROP_OBJECT = 1 }; enum { COLUMN_ATTRIBUTE, NUM_COLUMNS }; static GObjectClass *multiattrib_parent_class = NULL; static void multiattrib_class_init (MultiattribClass *class); static void multiattrib_init (Multiattrib *multiattrib); static void multiattrib_set_property (GObject *object, guint property_id, const GValue *value, GParamSpec *pspec); static void multiattrib_get_property (GObject *object, guint property_id, GValue *value, GParamSpec *pspec); static void multiattrib_popup_menu (Multiattrib *multiattrib, GdkEventButton *event); /*! \todo Finish function documentation * \brief * \par Function Description * */ static void multiattrib_action_add_attribute(GSCHEM_TOPLEVEL *w_current, OBJECT *object, Multiattrib *multiattrib, const gchar *name, const gchar *value, gint visible, gint show_name_value) { gchar *newtext; newtext = g_strdup_printf ("%s=%s", name, value); if (!x_dialog_validate_attribute(GTK_WINDOW(multiattrib), newtext)) { g_free(newtext); return; } /* create a new attribute and link it */ o_attrib_add_attrib (w_current, newtext, visible, show_name_value, object); w_current->toplevel->page_current->CHANGED = 1; o_undo_savestate (w_current, UNDO_ALL); g_free (newtext); } /*! \todo Finish function documentation * \brief * \par Function Description * */ static void multiattrib_action_duplicate_attribute(GSCHEM_TOPLEVEL *w_current, OBJECT *object, OBJECT *o_attrib) { int visibility = o_is_visible (w_current->toplevel, o_attrib) ? VISIBLE : INVISIBLE; o_attrib_add_attrib (w_current, o_text_get_string (w_current->toplevel, o_attrib), visibility, o_attrib->show_name_value, object); w_current->toplevel->page_current->CHANGED = 1; o_undo_savestate (w_current, UNDO_ALL); } /*! \todo Finish function documentation * \brief * \par Function Description * */ static void multiattrib_action_promote_attribute (GSCHEM_TOPLEVEL *w_current, OBJECT *object, OBJECT *o_attrib) { TOPLEVEL *toplevel = w_current->toplevel; OBJECT *o_new; if (o_is_visible (toplevel, o_attrib)) { /* If the attribute we're promoting is visible, don't clone its location */ (void) o_attrib_add_attrib (w_current, o_text_get_string (w_current->toplevel, o_attrib), VISIBLE, o_attrib->show_name_value, object); } else { /* make a copy of the attribute object */ o_new = o_object_copy (toplevel, o_attrib); s_page_append (toplevel, toplevel->page_current, o_new); /* add the attribute its parent */ o_attrib_attach (toplevel, o_new, object, TRUE); /* note: this object is unselected (not added to selection). */ /* Call add-objects-hook */ g_run_hook_object (w_current, "%add-objects-hook", o_new); } w_current->toplevel->page_current->CHANGED = 1; o_undo_savestate (w_current, UNDO_ALL); } /*! \todo Finish function documentation * \brief * \par Function Description * */ static void multiattrib_action_delete_attribute(GSCHEM_TOPLEVEL *w_current, OBJECT *o_attrib) { /* actually deletes the attribute */ o_delete (w_current, o_attrib); o_undo_savestate (w_current, UNDO_ALL); } /*! \todo Finish function documentation * \brief * \par Function Description * */ static void multiattrib_column_set_data_name(GtkTreeViewColumn *tree_column, GtkCellRenderer *cell, GtkTreeModel *tree_model, GtkTreeIter *iter, gpointer data) { OBJECT *o_attrib; gchar *name; Multiattrib *dialog = (Multiattrib *) data; int inherited; gtk_tree_model_get (tree_model, iter, COLUMN_ATTRIBUTE, &o_attrib, -1); g_assert (o_attrib->type == OBJ_TEXT); inherited = o_attrib_is_inherited (o_attrib); o_attrib_get_name_value (o_attrib, &name, NULL); g_object_set (cell, "text", name, "foreground-gdk", inherited ? &dialog->insensitive_text_color : NULL, "editable", !inherited, NULL); g_free (name); } /*! \todo Finish function documentation * \brief * \par Function Description * */ static void multiattrib_column_set_data_value(GtkTreeViewColumn *tree_column, GtkCellRenderer *cell, GtkTreeModel *tree_model, GtkTreeIter *iter, gpointer data) { OBJECT *o_attrib; gchar *value; Multiattrib *dialog = (Multiattrib *) data; int inherited; gtk_tree_model_get (tree_model, iter, COLUMN_ATTRIBUTE, &o_attrib, -1); g_assert (o_attrib->type == OBJ_TEXT); inherited = o_attrib_is_inherited (o_attrib); o_attrib_get_name_value (o_attrib, NULL, &value); g_object_set (cell, "text", value, "foreground-gdk", inherited ? &dialog->insensitive_text_color : NULL, "editable", !inherited, NULL); g_free (value); } /*! \todo Finish function documentation * \brief * \par Function Description * */ static void multiattrib_column_set_data_visible(GtkTreeViewColumn *tree_column, GtkCellRenderer *cell, GtkTreeModel *tree_model, GtkTreeIter *iter, gpointer data) { OBJECT *o_attrib; GschemDialog *dialog = GSCHEM_DIALOG (data); int inherited; gtk_tree_model_get (tree_model, iter, COLUMN_ATTRIBUTE, &o_attrib, -1); g_assert (o_attrib->type == OBJ_TEXT); inherited = o_attrib_is_inherited (o_attrib); g_object_set (cell, "active", o_is_visible (dialog->w_current->toplevel, o_attrib), "sensitive", !inherited, "activatable", !inherited, NULL); } /*! \todo Finish function documentation * \brief * \par Function Description * */ static void multiattrib_column_set_data_show_name(GtkTreeViewColumn *tree_column, GtkCellRenderer *cell, GtkTreeModel *tree_model, GtkTreeIter *iter, gpointer data) { OBJECT *o_attrib; int inherited; gtk_tree_model_get (tree_model, iter, COLUMN_ATTRIBUTE, &o_attrib, -1); g_assert (o_attrib->type == OBJ_TEXT); inherited = o_attrib_is_inherited (o_attrib); g_object_set (cell, "active", (o_attrib->show_name_value == SHOW_NAME_VALUE || o_attrib->show_name_value == SHOW_NAME), "sensitive", !inherited, "activatable", !inherited, NULL); } /*! \todo Finish function documentation * \brief * \par Function Description * */ static void multiattrib_column_set_data_show_value(GtkTreeViewColumn *tree_column, GtkCellRenderer *cell, GtkTreeModel *tree_model, GtkTreeIter *iter, gpointer data) { OBJECT *o_attrib; int inherited; gtk_tree_model_get (tree_model, iter, COLUMN_ATTRIBUTE, &o_attrib, -1); g_assert (o_attrib->type == OBJ_TEXT); inherited = o_attrib_is_inherited (o_attrib); g_object_set (cell, "active", (o_attrib->show_name_value == SHOW_NAME_VALUE || o_attrib->show_name_value == SHOW_VALUE), "sensitive", !inherited, "activatable", !inherited, NULL); } /*! \brief Requests an update of the display of a row. * \par Function Description * This is an helper function to update the display of a row when * data for this row have been modified in the model. * * It emits the 'row_changed' signal on the pointed row. * * \param [in] model A GtkTreeModel. * \param [in] iter A valid GtkTreeIter pointing to the changed row. */ static void update_row_display (GtkTreeModel *model, GtkTreeIter *iter) { GtkTreePath *path; path = gtk_tree_model_get_path (model, iter); gtk_tree_model_row_changed (model, path, iter); gtk_tree_path_free (path); } /*! \todo Finish function documentation * \brief * \par Function Description * */ static void multiattrib_callback_edited_name(GtkCellRendererText *cellrenderertext, gchar *arg1, gchar *arg2, gpointer user_data) { Multiattrib *multiattrib = (Multiattrib*)user_data; GtkTreeModel *model; GtkTreeIter iter; OBJECT *o_attrib; GSCHEM_TOPLEVEL *w_current; gchar *value, *newtext; int visibility; model = gtk_tree_view_get_model (multiattrib->treeview); w_current = GSCHEM_DIALOG (multiattrib)->w_current; if (!gtk_tree_model_get_iter_from_string (model, &iter, arg1)) { return; } if (g_ascii_strcasecmp (arg2, "") == 0) { GtkWidget *dialog = gtk_message_dialog_new ( GTK_WINDOW (multiattrib), GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _("Attributes with empty name are not allowed. Please set a name.")); gtk_dialog_run (GTK_DIALOG (dialog)); gtk_widget_destroy (dialog); return; } gtk_tree_model_get (model, &iter, COLUMN_ATTRIBUTE, &o_attrib, -1); g_assert (o_attrib->type == OBJ_TEXT); o_attrib_get_name_value (o_attrib, NULL, &value); newtext = g_strdup_printf ("%s=%s", arg2, value); if (!x_dialog_validate_attribute(GTK_WINDOW(multiattrib), newtext)) { g_free (value); g_free(newtext); return; } visibility = o_is_visible (w_current->toplevel, o_attrib) ? VISIBLE : INVISIBLE; /* actually modifies the attribute */ o_text_change (w_current, o_attrib, newtext, visibility, o_attrib->show_name_value); g_free (value); g_free (newtext); } /*! \todo Finish function documentation * \brief * \par Function Description * */ static void multiattrib_callback_edited_value(GtkCellRendererText *cell_renderer, gchar *arg1, gchar *arg2, gpointer user_data) { Multiattrib *multiattrib = (Multiattrib*)user_data; GtkTreeModel *model; GtkTreeIter iter; OBJECT *o_attrib; GSCHEM_TOPLEVEL *w_current; gchar *name, *newtext; int visibility; model = gtk_tree_view_get_model (multiattrib->treeview); w_current = GSCHEM_DIALOG (multiattrib)->w_current; if (!gtk_tree_model_get_iter_from_string (model, &iter, arg1)) { return; } gtk_tree_model_get (model, &iter, COLUMN_ATTRIBUTE, &o_attrib, -1); g_assert (o_attrib->type == OBJ_TEXT); o_attrib_get_name_value (o_attrib, &name, NULL); newtext = g_strdup_printf ("%s=%s", name, arg2); if (!x_dialog_validate_attribute(GTK_WINDOW(multiattrib), newtext)) { g_free (name); g_free(newtext); return; } visibility = o_is_visible (w_current->toplevel, o_attrib) ? VISIBLE : INVISIBLE; /* actually modifies the attribute */ o_text_change (w_current, o_attrib, newtext, visibility, o_attrib->show_name_value); /* request an update of display for this row */ update_row_display (model, &iter); g_free (name); g_free (newtext); } /*! \todo Finish function documentation * \brief * \par Function Description * */ static void multiattrib_callback_toggled_visible(GtkCellRendererToggle *cell_renderer, gchar *path, gpointer user_data) { Multiattrib *multiattrib = (Multiattrib*)user_data; GtkTreeModel *model; GtkTreeIter iter; OBJECT *o_attrib; GSCHEM_TOPLEVEL *w_current; gint visibility; model = gtk_tree_view_get_model (multiattrib->treeview); w_current = GSCHEM_DIALOG (multiattrib)->w_current; if (!gtk_tree_model_get_iter_from_string (model, &iter, path)) { return; } gtk_tree_model_get (model, &iter, COLUMN_ATTRIBUTE, &o_attrib, -1); g_assert (o_attrib->type == OBJ_TEXT); o_invalidate (w_current, o_attrib); /* toggle visibility */ visibility = o_is_visible (w_current->toplevel, o_attrib) ? INVISIBLE : VISIBLE; /* actually modifies the attribute */ o_set_visibility (w_current->toplevel, o_attrib, visibility); o_text_recreate (w_current->toplevel, o_attrib); o_undo_savestate (w_current, UNDO_ALL); /* request an update of display for this row */ update_row_display (model, &iter); } /*! \todo Finish function documentation * \brief * \par Function Description * */ static void multiattrib_callback_toggled_show_name(GtkCellRendererToggle *cell_renderer, gchar *path, gpointer user_data) { Multiattrib *multiattrib = (Multiattrib*)user_data; GtkTreeModel *model; GtkTreeIter iter; OBJECT *o_attrib; GSCHEM_TOPLEVEL *w_current; gint new_snv; model = gtk_tree_view_get_model (multiattrib->treeview); w_current = GSCHEM_DIALOG (multiattrib)->w_current; if (!gtk_tree_model_get_iter_from_string (model, &iter, path)) { return; } gtk_tree_model_get (model, &iter, COLUMN_ATTRIBUTE, &o_attrib, -1); g_assert (o_attrib->type == OBJ_TEXT); o_invalidate (w_current, o_attrib); switch (o_attrib->show_name_value) { case SHOW_NAME_VALUE: new_snv = SHOW_VALUE; break; case SHOW_NAME: new_snv = SHOW_VALUE; break; case SHOW_VALUE: new_snv = SHOW_NAME_VALUE; break; default: g_assert_not_reached (); new_snv = SHOW_NAME_VALUE; } /* actually modifies the attribute */ o_attrib->show_name_value = new_snv; o_text_recreate (w_current->toplevel, o_attrib); o_undo_savestate (w_current, UNDO_ALL); /* request an update of display for this row */ update_row_display (model, &iter); } /*! \todo Finish function documentation * \brief * \par Function Description * */ static void multiattrib_callback_toggled_show_value(GtkCellRendererToggle *cell_renderer, gchar *path, gpointer user_data) { Multiattrib *multiattrib = (Multiattrib*)user_data; GtkTreeModel *model; GtkTreeIter iter; OBJECT *o_attrib; GSCHEM_TOPLEVEL *w_current; gint new_snv; model = gtk_tree_view_get_model (multiattrib->treeview); w_current = GSCHEM_DIALOG (multiattrib)->w_current; if (!gtk_tree_model_get_iter_from_string (model, &iter, path)) { return; } gtk_tree_model_get (model, &iter, COLUMN_ATTRIBUTE, &o_attrib, -1); g_assert (o_attrib->type == OBJ_TEXT); o_invalidate (w_current, o_attrib); switch (o_attrib->show_name_value) { case SHOW_NAME_VALUE: new_snv = SHOW_NAME; break; case SHOW_NAME: new_snv = SHOW_NAME_VALUE; break; case SHOW_VALUE: new_snv = SHOW_NAME; break; default: g_assert_not_reached (); new_snv = SHOW_NAME_VALUE; } /* actually modifies the attribute */ o_attrib->show_name_value = new_snv; o_text_recreate (w_current->toplevel, o_attrib); o_undo_savestate (w_current, UNDO_ALL); /* request an update of display for this row */ update_row_display (model, &iter); } /*! \todo Finish function documentation * \brief * \par Function Description * */ static gboolean multiattrib_callback_key_pressed(GtkWidget *widget, GdkEventKey *event, gpointer user_data) { Multiattrib *multiattrib = (Multiattrib*)user_data; if (event->state == 0 && (event->keyval == GDK_Delete || event->keyval == GDK_KP_Delete)) { GtkTreeModel *model; GtkTreeIter iter; OBJECT *o_attrib; int inherited; /* delete the currently selected attribute */ if (!gtk_tree_selection_get_selected ( gtk_tree_view_get_selection (multiattrib->treeview), &model, &iter)) { /* nothing selected, nothing to do */ return FALSE; } gtk_tree_model_get (model, &iter, COLUMN_ATTRIBUTE, &o_attrib, -1); g_assert (o_attrib->type == OBJ_TEXT); inherited = o_attrib_is_inherited (o_attrib); /* We can't delete inherited attribtes */ if (inherited) return FALSE; multiattrib_action_delete_attribute (GSCHEM_DIALOG (multiattrib)->w_current, o_attrib); /* update the treeview contents */ multiattrib_update (multiattrib); } return FALSE; } /*! \todo Finish function documentation * \brief * \par Function Description * */ static gboolean multiattrib_callback_button_pressed(GtkWidget *widget, GdkEventButton *event, gpointer user_data) { Multiattrib *multiattrib = (Multiattrib*)user_data; gboolean ret = FALSE; if (event->type == GDK_BUTTON_PRESS && event->button == 3) { multiattrib_popup_menu (multiattrib, event); ret = TRUE; } return ret; } /*! \todo Finish function documentation * \brief * \par Function Description * */ static gboolean multiattrib_callback_popup_menu(GtkWidget *widget, gpointer user_data) { Multiattrib *multiattrib = (Multiattrib*)user_data; multiattrib_popup_menu (multiattrib, NULL); return TRUE; } /*! \todo Finish function documentation * \brief * \par Function Description * */ static void multiattrib_callback_popup_duplicate(GtkMenuItem *menuitem, gpointer user_data) { Multiattrib *multiattrib = (Multiattrib*)user_data; GtkTreeModel *model; GtkTreeIter iter; GSCHEM_TOPLEVEL *w_current; OBJECT *object, *o_attrib; if (!gtk_tree_selection_get_selected ( gtk_tree_view_get_selection (multiattrib->treeview), &model, &iter)) { /* nothing selected, nothing to do */ return; } w_current = GSCHEM_DIALOG (multiattrib)->w_current; object = multiattrib->object; gtk_tree_model_get (model, &iter, COLUMN_ATTRIBUTE, &o_attrib, -1); g_assert (o_attrib->type == OBJ_TEXT); multiattrib_action_duplicate_attribute (w_current, object, o_attrib); /* update the treeview contents */ multiattrib_update (multiattrib); } /*! \todo Finish function documentation * \brief * \par Function Description * */ static void multiattrib_callback_popup_promote (GtkMenuItem *menuitem, gpointer user_data) { Multiattrib *multiattrib = user_data; GtkTreeModel *model; GtkTreeIter iter; GSCHEM_TOPLEVEL *w_current; OBJECT *object, *o_attrib; if (!gtk_tree_selection_get_selected ( gtk_tree_view_get_selection (multiattrib->treeview), &model, &iter)) { /* nothing selected, nothing to do */ return; } w_current = GSCHEM_DIALOG (multiattrib)->w_current; object = multiattrib->object; gtk_tree_model_get (model, &iter, COLUMN_ATTRIBUTE, &o_attrib, -1); g_assert (o_attrib->type == OBJ_TEXT); multiattrib_action_promote_attribute (w_current, object, o_attrib); /* update the treeview contents */ multiattrib_update (multiattrib); } /*! \todo Finish function documentation * \brief * \par Function Description * */ static void multiattrib_callback_popup_delete(GtkMenuItem *menuitem, gpointer user_data) { Multiattrib *multiattrib = (Multiattrib*)user_data; GtkTreeModel *model; GtkTreeIter iter; GSCHEM_TOPLEVEL *w_current; OBJECT *o_attrib; if (!gtk_tree_selection_get_selected ( gtk_tree_view_get_selection (multiattrib->treeview), &model, &iter)) { /* nothing selected, nothing to do */ return; } w_current = GSCHEM_DIALOG (multiattrib)->w_current; gtk_tree_model_get (model, &iter, COLUMN_ATTRIBUTE, &o_attrib, -1); g_assert (o_attrib->type == OBJ_TEXT); multiattrib_action_delete_attribute (w_current, o_attrib); /* update the treeview contents */ multiattrib_update (multiattrib); } /*! \todo Finish function documentation * \brief * \par Function Description * */ static gboolean multiattrib_callback_value_key_pressed(GtkWidget *widget, GdkEventKey *event, gpointer user_data) { Multiattrib *multiattrib = (Multiattrib*)widget; gboolean retval = FALSE; /* ends editing of cell if one of these keys are pressed: */ /* - the Return key without the Control modifier */ /* - the Tab key without the Control modifier */ if ((event->keyval == GDK_Return || event->keyval == GDK_KP_Enter) || (event->keyval == GDK_Tab || event->keyval == GDK_KP_Tab)) { /* Control modifier activated? */ if (event->state & GDK_CONTROL_MASK) { /* yes the modifier in event structure and let event propagate */ event->state ^= GDK_CONTROL_MASK; retval = FALSE; } else { /* change focus and stop propagation */ g_signal_emit_by_name (multiattrib, "move_focus", (event->state & GDK_SHIFT_MASK) ? GTK_DIR_TAB_BACKWARD : GTK_DIR_TAB_FORWARD); retval = TRUE; } } return retval; } /*! \brief GtkWidget "grab-focus" signal handler * * \par Function Description * Select the text in the GtkTextView so it may be over-typed quickly */ static void multiattrib_callback_value_grab_focus (GtkWidget *widget, gpointer user_data) { GtkTextView *textview = GTK_TEXT_VIEW (widget); GtkTextBuffer *textbuffer; GtkTextIter startiter, enditer; textbuffer = gtk_text_view_get_buffer (textview); gtk_text_buffer_get_iter_at_offset (textbuffer, &startiter, 0); gtk_text_buffer_get_iter_at_offset (textbuffer, &enditer, -1); gtk_text_buffer_select_range (textbuffer, &enditer, &startiter); } /*! \todo Finish function documentation * \brief * \par Function Description * */ static void multiattrib_callback_button_add(GtkButton *button, gpointer user_data) { Multiattrib *multiattrib = (Multiattrib*)user_data; GtkTextBuffer *buffer; GtkTextIter start, end; const gchar *name; gchar *value; GSCHEM_TOPLEVEL *w_current; OBJECT *object; gboolean visible; gint shownv; w_current = GSCHEM_DIALOG (multiattrib)->w_current; object = multiattrib->object; buffer = gtk_text_view_get_buffer (multiattrib->textview_value); /* retrieve information from the Add/Edit frame */ /* - attribute's name */ name = gtk_entry_get_text ( GTK_ENTRY (GTK_COMBO (multiattrib->combo_name)->entry)); /* - attribute's value */ gtk_text_buffer_get_bounds (buffer, &start, &end); value = gtk_text_buffer_get_text (buffer, &start, &end, FALSE); /* - attribute's visibility status */ visible = gtk_toggle_button_get_active ( (GtkToggleButton*)multiattrib->button_visible); /* - visibility type */ shownv = (gint)gtk_option_menu_get_history (multiattrib->optionmenu_shownv); if (name[0] == '\0' || name[0] == ' ') { /* name not allowed for an attribute */ g_free (value); return; } multiattrib_action_add_attribute (w_current, object, multiattrib, name, value, visible, shownv); g_free (value); multiattrib_update (multiattrib); } /*! \todo Finish function documentation * \brief * \par Function Description * */ static void multiattrib_init_attrib_names(GtkCombo *combo) { GList *items = NULL; const gchar *string; gint i; for (i = 0, string = s_attrib_get (i); string != NULL; i++, string = s_attrib_get (i)) { items = g_list_append (items, (gpointer)string); } gtk_combo_set_popdown_strings (GTK_COMBO (combo), items); g_list_free (items); } /*! \todo Finish function documentation * \brief * \par Function Description * */ static void multiattrib_init_visible_types(GtkOptionMenu *optionmenu) { GtkWidget *menu, *item; menu = gtk_menu_new (); item = gtk_menu_item_new_with_label (_("Show Name & Value")); gtk_menu_append (menu, item); item = gtk_menu_item_new_with_label (_("Show Value only")); gtk_menu_append (menu, item); item = gtk_menu_item_new_with_label (_("Show Name only")); gtk_menu_append (menu, item); gtk_option_menu_set_menu (optionmenu, menu); } /*! \brief Popup a context-sensitive menu. * \par Function Description * Pops up a context-sensitive menu. * event can be NULL if the popup is triggered by a key binding * instead of a mouse click. * * \param [in] multiattrib The Multiattrib object. * \param [in] event Mouse event. */ static void multiattrib_popup_menu(Multiattrib *multiattrib, GdkEventButton *event) { GtkTreePath *path; GtkWidget *menu; struct menuitem_t { gchar *label; GCallback callback; }; struct menuitem_t menuitems_inherited[] = { { N_("Promote"), G_CALLBACK (multiattrib_callback_popup_promote) }, { NULL, NULL } }; struct menuitem_t menuitems_noninherited[] = { { N_("Duplicate"), G_CALLBACK (multiattrib_callback_popup_duplicate) }, { N_("Delete"), G_CALLBACK (multiattrib_callback_popup_delete) }, { NULL, NULL } }; struct menuitem_t *item_list; struct menuitem_t *tmp; int inherited; GtkTreeModel *model; GtkTreeIter iter; GtkTreeSelection *selection; OBJECT *o_attrib; selection = gtk_tree_view_get_selection (multiattrib->treeview); if (event != NULL && gtk_tree_view_get_path_at_pos (multiattrib->treeview, (gint)event->x, (gint)event->y, &path, NULL, NULL, NULL)) { gtk_tree_selection_unselect_all (selection); gtk_tree_selection_select_path (selection, path); gtk_tree_path_free (path); } /* if nothing is selected, nothing to do */ if (!gtk_tree_selection_get_selected (selection, &model, &iter)) return; gtk_tree_model_get (model, &iter, COLUMN_ATTRIBUTE, &o_attrib, -1); g_assert (o_attrib->type == OBJ_TEXT); inherited = o_attrib_is_inherited (o_attrib); item_list = inherited ? menuitems_inherited : menuitems_noninherited; /* create the context menu */ menu = gtk_menu_new(); for (tmp = item_list; tmp->label != NULL; tmp++) { GtkWidget *menuitem; if (g_utf8_collate (tmp->label, "-") == 0) { menuitem = gtk_separator_menu_item_new (); } else { menuitem = gtk_menu_item_new_with_label (_(tmp->label)); g_signal_connect (menuitem, "activate", tmp->callback, multiattrib); } gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); } gtk_widget_show_all (menu); /* make menu a popup menu */ gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, NULL, (event != NULL) ? event->button : 0, gdk_event_get_time ((GdkEvent*)event)); } /*! \brief GschemDialog "geometry_save" class method handler * * \par Function Description * Chain up to our parent's method to save the dialog's size and * position, then save the dialog's current internal geometry. * * \param [in] dialog The GschemDialog to save the geometry of. * \param [in] key_file The GKeyFile to save the geometry data to. * \param [in] group_name The group name in the key file to store the data under. */ static void multiattrib_geometry_save (GschemDialog *dialog, GKeyFile *key_file, gchar *group_name) { gboolean show_inherited; /* Call the parent's geometry_save method */ GSCHEM_DIALOG_CLASS (multiattrib_parent_class)-> geometry_save (dialog, key_file, group_name); show_inherited = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (MULTIATTRIB (dialog)->show_inherited)); g_key_file_set_boolean (key_file, group_name, "show_inherited", show_inherited); } /*! \brief GschemDialog "geometry_restore" class method handler * * \par Function Description * Chain up to our parent's method to restore the dialog's size and * position, then restore the dialog's current internal geometry. * * \param [in] dialog The GschemDialog to restore the geometry of. * \param [in] key_file The GKeyFile to save the geometry data to. * \param [in] group_name The group name in the key file to store the data under. */ static void multiattrib_geometry_restore (GschemDialog *dialog, GKeyFile *key_file, gchar *group_name) { gboolean show_inherited; GError *error = NULL; /* Call the parent's geometry_restore method */ GSCHEM_DIALOG_CLASS (multiattrib_parent_class)-> geometry_restore (dialog, key_file, group_name); show_inherited = g_key_file_get_boolean (key_file, group_name, "show_inherited", &error); if (error != NULL) { show_inherited = TRUE; g_error_free (error); } gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (MULTIATTRIB (dialog)->show_inherited), show_inherited); } /*! \brief Function to retrieve Multiattrib's GType identifier. * * \par Function Description * * Function to retrieve Multiattrib's GType identifier. * Upon first call, this registers Multiattrib in the GType system. * Subsequently it returns the saved value from its first execution. * * \return the GType identifier associated with Multiattrib. */ GType multiattrib_get_type() { static GType multiattrib_type = 0; if (!multiattrib_type) { static const GTypeInfo multiattrib_info = { sizeof(MultiattribClass), NULL, /* base_init */ NULL, /* base_finalize */ (GClassInitFunc) multiattrib_class_init, NULL, /* class_finalize */ NULL, /* class_data */ sizeof(Multiattrib), 0, /* n_preallocs */ (GInstanceInitFunc) multiattrib_init, }; multiattrib_type = g_type_register_static (GSCHEM_TYPE_DIALOG, "Multiattrib", &multiattrib_info, 0); } return multiattrib_type; } /*! \brief GType class initialiser for Multiattrib * * \par Function Description * * GType class initialiser for Multiattrib. We override our parent * virtual class methods as needed and register our GObject properties. * * \param [in] klass The MultiattribClass we are initialising */ static void multiattrib_class_init(MultiattribClass *klass) { GObjectClass *gobject_class = G_OBJECT_CLASS (klass); GschemDialogClass *gschem_dialog_class = GSCHEM_DIALOG_CLASS (klass); gschem_dialog_class->geometry_save = multiattrib_geometry_save; gschem_dialog_class->geometry_restore = multiattrib_geometry_restore; gobject_class->set_property = multiattrib_set_property; gobject_class->get_property = multiattrib_get_property; multiattrib_parent_class = g_type_class_peek_parent (klass); g_object_class_install_property ( gobject_class, PROP_OBJECT, g_param_spec_pointer ("object", "", "", G_PARAM_READWRITE)); } /*! \brief Regenerate the attribute list when the visibility * setting for inherited attributes changes */ static void multiattrib_show_inherited_toggled (GtkToggleButton *button, gpointer user_data) { Multiattrib *multiattrib = user_data; /* update the treeview contents */ multiattrib_update (multiattrib); } /*! \brief GType instance initialiser for Multiattrib * * \par Function Description * * GType instance initialiser for Multiattrib. Create * and setup the widgets which make up the dialog. * * \param [in] multiattrib The Multiattrib we are initialising */ static void multiattrib_init(Multiattrib *multiattrib) { GtkWidget *frame, *label, *scrolled_win, *treeview; GtkWidget *table, *textview, *combo, *optionm, *button; GtkWidget *attrib_vbox, *show_inherited; GtkTreeModel *store; GtkCellRenderer *renderer; GtkTreeViewColumn *column; GtkTreeSelection *selection; GtkStyle *style; /* dialog initialization */ g_object_set (G_OBJECT (multiattrib), /* GtkContainer */ "border-width", 0, /* GtkWindow */ "title", _("Edit Attributes"), "default-width", 320, "default-height", 350, "window-position", GTK_WIN_POS_MOUSE, "allow-grow", TRUE, "allow-shrink", FALSE, /* GtkDialog */ "has-separator", TRUE, NULL); multiattrib->object = NULL; gtk_box_set_spacing (GTK_BOX (GTK_DIALOG (multiattrib)->vbox), 5); /* create the attribute list frame */ frame = GTK_WIDGET (g_object_new (GTK_TYPE_FRAME, /* GtkFrame */ "shadow", GTK_SHADOW_NONE, NULL)); multiattrib->frame_add = frame; /* - create the model for the treeview */ store = (GtkTreeModel*)gtk_list_store_new (NUM_COLUMNS, G_TYPE_POINTER); /* attribute */ /* - create a scrolled window for the treeview */ scrolled_win = GTK_WIDGET ( g_object_new (GTK_TYPE_SCROLLED_WINDOW, /* GtkContainer */ "border-width", 3, /* GtkScrolledWindow */ "hscrollbar-policy", GTK_POLICY_AUTOMATIC, "vscrollbar-policy", GTK_POLICY_AUTOMATIC, "shadow-type", GTK_SHADOW_ETCHED_IN, NULL)); /* - create the treeview */ treeview = GTK_WIDGET (g_object_new (GTK_TYPE_TREE_VIEW, /* GtkTreeView */ "model", store, "rules-hint", TRUE, NULL)); g_signal_connect (treeview, "key-press-event", G_CALLBACK (multiattrib_callback_key_pressed), multiattrib); g_signal_connect (treeview, "button-press-event", G_CALLBACK (multiattrib_callback_button_pressed), multiattrib); g_signal_connect (treeview, "popup-menu", G_CALLBACK (multiattrib_callback_popup_menu), multiattrib); selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview)); gtk_tree_selection_set_mode (selection, GTK_SELECTION_SINGLE); /* - and now the columns of the treeview */ /* - column 1: attribute name */ renderer = GTK_CELL_RENDERER ( g_object_new (GTK_TYPE_CELL_RENDERER_TEXT, /* GtkCellRendererText */ /* unknown in GTK 2.4 */ /* "ellipsize", * PANGO_ELLIPSIZE_END, */ NULL)); g_signal_connect (renderer, "edited", G_CALLBACK (multiattrib_callback_edited_name), multiattrib); column = GTK_TREE_VIEW_COLUMN ( g_object_new (GTK_TYPE_TREE_VIEW_COLUMN, /* GtkTreeViewColumn */ "title", _("Name"), "min-width", 100, "resizable", TRUE, NULL)); gtk_tree_view_column_pack_start (column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func (column, renderer, multiattrib_column_set_data_name, multiattrib, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column); /* - column 2: attribute value */ renderer = GTK_CELL_RENDERER ( g_object_new (TYPE_CELL_RENDERER_MULTI_LINE_TEXT, /* GtkCellRendererText */ /* unknown in GTK 2.4 */ /* "ellipsize", PANGO_ELLIPSIZE_END, */ NULL)); g_signal_connect (renderer, "edited", G_CALLBACK (multiattrib_callback_edited_value), multiattrib); column = GTK_TREE_VIEW_COLUMN ( g_object_new (GTK_TYPE_TREE_VIEW_COLUMN, /* GtkTreeViewColumn */ "title", _("Value"), "min-width", 140, "resizable", TRUE, NULL)); gtk_tree_view_column_pack_start (column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func (column, renderer, multiattrib_column_set_data_value, multiattrib, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column); /* - column 3: visibility */ renderer = GTK_CELL_RENDERER ( g_object_new (GTK_TYPE_CELL_RENDERER_TOGGLE, NULL)); g_signal_connect (renderer, "toggled", G_CALLBACK (multiattrib_callback_toggled_visible), multiattrib); column = GTK_TREE_VIEW_COLUMN ( g_object_new (GTK_TYPE_TREE_VIEW_COLUMN, /* GtkTreeViewColumn */ "title", _("Vis?"), NULL)); gtk_tree_view_column_pack_start (column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func (column, renderer, multiattrib_column_set_data_visible, multiattrib, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column); /* - column 4: show name */ renderer = GTK_CELL_RENDERER ( g_object_new (GTK_TYPE_CELL_RENDERER_TOGGLE, NULL)); g_signal_connect (renderer, "toggled", G_CALLBACK (multiattrib_callback_toggled_show_name), multiattrib); column = GTK_TREE_VIEW_COLUMN ( g_object_new (GTK_TYPE_TREE_VIEW_COLUMN, /* GtkTreeViewColumn */ "title", _("N"), NULL)); gtk_tree_view_column_pack_start (column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func (column, renderer, multiattrib_column_set_data_show_name, NULL, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column); /* - column 5: show value */ renderer = GTK_CELL_RENDERER ( g_object_new (GTK_TYPE_CELL_RENDERER_TOGGLE, NULL)); g_signal_connect (renderer, "toggled", G_CALLBACK (multiattrib_callback_toggled_show_value), multiattrib); column = GTK_TREE_VIEW_COLUMN ( g_object_new (GTK_TYPE_TREE_VIEW_COLUMN, /* GtkTreeViewColumn */ "title", _("V"), NULL)); gtk_tree_view_column_pack_start (column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func (column, renderer, multiattrib_column_set_data_show_value, NULL, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column); /* add the treeview to the scrolled window */ gtk_container_add (GTK_CONTAINER (scrolled_win), treeview); /* set treeview of multiattrib */ multiattrib->treeview = GTK_TREE_VIEW (treeview); attrib_vbox = gtk_vbox_new (FALSE, 0); /* Pack the vbox into the frame */ gtk_container_add (GTK_CONTAINER (frame), attrib_vbox); /* add the scrolled window to box */ gtk_box_pack_start (GTK_BOX (attrib_vbox), scrolled_win, TRUE, TRUE, 0); /* create the show inherited button */ show_inherited = gtk_check_button_new_with_label (_("Show inherited attributes")); multiattrib->show_inherited = show_inherited; gtk_box_pack_start (GTK_BOX (attrib_vbox), show_inherited, FALSE, FALSE, 0); g_signal_connect (show_inherited, "toggled", G_CALLBACK (multiattrib_show_inherited_toggled), multiattrib); /* pack the frame */ gtk_box_pack_start (GTK_BOX (GTK_DIALOG (multiattrib)->vbox), frame, TRUE, TRUE, 1); gtk_widget_show_all (frame); /* create the add/edit frame */ frame = GTK_WIDGET (g_object_new (GTK_TYPE_FRAME, "label", _("Add Attribute"), NULL)); multiattrib->frame_attributes = frame; table = GTK_WIDGET (g_object_new (GTK_TYPE_TABLE, /* GtkTable */ "n-rows", 4, "n-columns", 2, "homogeneous", FALSE, NULL)); /* - the name entry: a GtkComboBoxEntry */ label = GTK_WIDGET (g_object_new (GTK_TYPE_LABEL, /* GtkMisc */ "xalign", 0.0, "yalign", 0.5, /* GtkLabel */ "label", _("Name:"), NULL)); combo = GTK_WIDGET (g_object_new (GTK_TYPE_COMBO, /* GtkCombo */ "value-in-list", FALSE, NULL)); multiattrib_init_attrib_names (GTK_COMBO (combo)); multiattrib->combo_name = GTK_COMBO (combo); gtk_table_attach (GTK_TABLE (table), label, 0, 1, 0, 1, 0, 0, 0, 0); gtk_table_attach (GTK_TABLE (table), combo, 1, 2, 0, 1, GTK_EXPAND | GTK_FILL, 0, 6, 3); /* - the value entry: a GtkEntry */ label = GTK_WIDGET (g_object_new (GTK_TYPE_LABEL, /* GtkMisc */ "xalign", 0.0, "yalign", 0.5, /* GtkLabel */ "label", _("Value:"), NULL)); scrolled_win = GTK_WIDGET ( g_object_new (GTK_TYPE_SCROLLED_WINDOW, /* GtkScrolledWindow */ "hscrollbar-policy", GTK_POLICY_NEVER, "vscrollbar-policy", GTK_POLICY_AUTOMATIC, "shadow-type", GTK_SHADOW_IN, NULL)); /*! \fixme Forcing the size request is a horrible band-aid and * should be replaced by a better heuristic. */ textview = GTK_WIDGET (g_object_new (GTK_TYPE_TEXT_VIEW, "height-request", 50, NULL)); g_signal_connect (textview, "key_press_event", G_CALLBACK (multiattrib_callback_value_key_pressed), multiattrib); g_signal_connect (textview, "grab-focus", G_CALLBACK (multiattrib_callback_value_grab_focus), multiattrib); /* Save the GTK_STATE_NORMAL color so we can work around GtkTextView's * stubborn refusal to draw with GTK_STATE_INSENSITIVE later on */ style = gtk_widget_get_style (textview); multiattrib->value_normal_text_color = style->text[ GTK_STATE_NORMAL ]; /* Save this one so we can pick it as a sensible colour to show the * inherited attributes dimmed. */ style = gtk_widget_get_style (treeview); multiattrib->insensitive_text_color = style->text[ GTK_STATE_INSENSITIVE ]; gtk_container_add (GTK_CONTAINER (scrolled_win), textview); multiattrib->textview_value = GTK_TEXT_VIEW (textview); gtk_table_attach (GTK_TABLE (table), label, 0, 1, 1, 2, 0, 0, 0, 0); gtk_table_attach (GTK_TABLE (table), scrolled_win, 1, 2, 1, 2, GTK_EXPAND | GTK_FILL, 0, 6, 3); /* - the visible status */ button = GTK_WIDGET (g_object_new (GTK_TYPE_CHECK_BUTTON, /* GtkButton */ "label", _("Visible"), "active", TRUE, NULL)); multiattrib->button_visible = GTK_CHECK_BUTTON (button); gtk_table_attach (GTK_TABLE (table), button, 0, 1, 2, 3, GTK_FILL, 0, 3, 0); /* - the visibility type */ optionm = GTK_WIDGET (g_object_new (GTK_TYPE_OPTION_MENU, NULL)); multiattrib_init_visible_types (GTK_OPTION_MENU (optionm)); multiattrib->optionmenu_shownv = GTK_OPTION_MENU (optionm); gtk_table_attach (GTK_TABLE (table), optionm, 1, 2, 2, 3, GTK_EXPAND | GTK_FILL, 0, 6, 3); gtk_widget_show_all (table); /* create the add button */ button = gtk_button_new_from_stock (GTK_STOCK_ADD); g_signal_connect (button, "clicked", G_CALLBACK (multiattrib_callback_button_add), multiattrib); gtk_table_attach (GTK_TABLE (table), button, 2, 3, 0, 3, 0, 0, 6, 3); /* add the table to the frame */ gtk_container_add (GTK_CONTAINER (frame), table); /* pack the frame in the dialog */ gtk_box_pack_start (GTK_BOX (GTK_DIALOG (multiattrib)->vbox), frame, FALSE, TRUE, 1); gtk_widget_show_all (frame); /* now add the close button to the action area */ gtk_dialog_add_button (GTK_DIALOG (multiattrib), GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE); } /*! \brief GObject property setter function * * \par Function Description * Setter function for Multiattrib's GObject property, "object". * * \param [in] object The GObject whose properties we are setting * \param [in] property_id The numeric id. under which the property was * registered with g_object_class_install_property() * \param [in] value The GValue the property is being set from * \param [in] pspec A GParamSpec describing the property being set */ static void multiattrib_set_property (GObject *object, guint property_id, const GValue *value, GParamSpec *pspec) { Multiattrib *multiattrib = MULTIATTRIB (object); switch(property_id) { case PROP_OBJECT: multiattrib->object = (OBJECT*)g_value_get_pointer (value); multiattrib_update (multiattrib); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); } } /*! \brief GObject property getter function * * \par Function Description * Getter function for Multiattrib's GObject property, "object". * * \param [in] object The GObject whose properties we are getting * \param [in] property_id The numeric id. under which the property was * registered with g_object_class_install_property() * \param [out] value The GValue in which to return the value of the property * \param [in] pspec A GParamSpec describing the property being got */ static void multiattrib_get_property (GObject *object, guint property_id, GValue *value, GParamSpec *pspec) { Multiattrib *multiattrib = MULTIATTRIB (object); switch(property_id) { case PROP_OBJECT: g_value_set_pointer (value, (gpointer)multiattrib->object); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); } } /*! \brief Update the multiattrib editor dialog's interface * * \par Function Description * * Update the dialog to reflect the attributes of the object. If * there is no object set, the dialog's controls are set insensitive. * * \param [in] multiattrib The multi-attribute editor dialog. */ void multiattrib_update (Multiattrib *multiattrib) { GtkListStore *liststore; GtkTreeIter iter; GList *object_attribs; GList *a_iter; OBJECT *a_current; gboolean sensitive; GtkStyle *style; gboolean show_inherited; g_assert (GSCHEM_DIALOG (multiattrib)->w_current != NULL); /* clear the list of attributes */ liststore = (GtkListStore*)gtk_tree_view_get_model (multiattrib->treeview); gtk_list_store_clear (liststore); /* Update sensitivities */ sensitive = (multiattrib->object != NULL); gtk_widget_set_sensitive (GTK_WIDGET (multiattrib->frame_attributes), sensitive); gtk_widget_set_sensitive (GTK_WIDGET (multiattrib->frame_add), sensitive); /* Work around GtkTextView's stubborn indifference * to GTK_STATE_INSENSITIVE when rendering its text. */ style = gtk_widget_get_style (GTK_WIDGET (multiattrib->textview_value)); gtk_widget_modify_text (GTK_WIDGET (multiattrib->textview_value), GTK_STATE_NORMAL, sensitive ? &multiattrib->value_normal_text_color : &style->text[GTK_STATE_INSENSITIVE]); /* If we aren't sensitive, there is nothing more to do */ if (!sensitive) return; show_inherited = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (multiattrib->show_inherited)); /* get list of attributes */ object_attribs = o_attrib_return_attribs (multiattrib->object); /* populate the store with attributes */ for (a_iter = object_attribs; a_iter != NULL; a_iter = g_list_next (a_iter)) { a_current = a_iter->data; /* Skip over inherited attributes if we don't want to show them */ if (!show_inherited && o_attrib_is_inherited (a_current)) continue; gtk_list_store_append (liststore, &iter); gtk_list_store_set (liststore, &iter, COLUMN_ATTRIBUTE, a_current, -1); } /* delete the list of attribute objects */ g_list_free (object_attribs); } geda-gaf-1.8.2/gschem/src/o_pin.c0000664000175000017500000001436112220647257013421 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2011 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_pin_draw(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current) { TOPLEVEL *toplevel = w_current->toplevel; int x1, y1, x2, y2; int size = 0; if (o_current->line == NULL) { return; } /* reuse line's routine */ if (!o_line_visible (w_current, o_current->line, &x1, &y1, &x2, &y2)) { return; } if (toplevel->pin_style == THICK) size = o_current->line_width; gschem_cairo_line (w_current, END_NONE, size, x1, y1, x2, y2); gschem_cairo_set_source_color (w_current, o_drawing_color (w_current, o_current)); gschem_cairo_stroke (w_current, TYPE_SOLID, END_NONE, size, -1, -1); /* draw the cue directly */ o_cue_draw_lowlevel(w_current, o_current, o_current->whichend); #if DEBUG printf("drawing pin\n"); #endif if (o_current->selected && w_current->draw_grips) { o_line_draw_grips (w_current, o_current); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_pin_draw_place (GSCHEM_TOPLEVEL *w_current, int dx, int dy, OBJECT *o_current) { TOPLEVEL *toplevel = w_current->toplevel; int size = 0; if (o_current->line == NULL) { return; } if (toplevel->pin_style == THICK) size = o_current->line_width; gschem_cairo_line (w_current, END_NONE, size, o_current->line->x[0] + dx, o_current->line->y[0] + dy, o_current->line->x[1] + dx, o_current->line->y[1] + dy); gschem_cairo_set_source_color (w_current, x_color_lookup_dark (o_current->color)); gschem_cairo_stroke (w_current, TYPE_SOLID, END_NONE, size, -1, -1); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_pin_start(GSCHEM_TOPLEVEL *w_current, int w_x, int w_y) { w_current->first_wx = w_current->second_wx = w_x; w_current->first_wy = w_current->second_wy = w_y; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_pin_end(GSCHEM_TOPLEVEL *w_current, int x, int y) { TOPLEVEL *toplevel = w_current->toplevel; OBJECT *new_obj; int color; g_assert( w_current->inside_action != 0 ); if (toplevel->override_pin_color == -1) { color = PIN_COLOR; } else { color = toplevel->override_pin_color; } /* undraw rubber line */ /* o_pin_invalidate_rubber (w_current); */ w_current->rubber_visible = 0; /* don't allow zero length pins */ if ((w_current->first_wx == w_current->second_wx) && (w_current->first_wy == w_current->second_wy)) { return; } new_obj = o_pin_new(toplevel, OBJ_PIN, color, w_current->first_wx, w_current->first_wy, w_current->second_wx, w_current->second_wy, PIN_TYPE_NET, 0); s_page_append (toplevel, toplevel->page_current, new_obj); /* Call add-objects-hook */ g_run_hook_object (w_current, "%add-objects-hook", new_obj); toplevel->page_current->CHANGED=1; o_undo_savestate(w_current, UNDO_ALL); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_pin_motion (GSCHEM_TOPLEVEL *w_current, int w_x, int w_y) { g_assert( w_current->inside_action != 0 ); /* erase the rubberpin if it is visible */ if (w_current->rubber_visible) o_pin_invalidate_rubber (w_current); w_current->second_wx = w_x; w_current->second_wy = w_y; /* decide whether to draw the pin vertical or horizontal */ if (abs(w_current->second_wx - w_current->first_wx) >= abs(w_current->second_wy - w_current->first_wy)) { w_current->second_wy = w_current->first_wy; } else { w_current->second_wx = w_current->first_wx; } o_pin_invalidate_rubber (w_current); w_current->rubber_visible = 1; } /*! \todo Finish function documentation!!! * \brief * \par Function Description */ void o_pin_invalidate_rubber (GSCHEM_TOPLEVEL *w_current) { TOPLEVEL *toplevel = w_current->toplevel; int x1, y1, x2, y2; int min_x, min_y, max_x, max_y; int bloat = 0; WORLDtoSCREEN (w_current, w_current->first_wx, w_current->first_wy, &x1, &y1); WORLDtoSCREEN (w_current, w_current->second_wx, w_current->second_wy, &x2, &y2); /* Pins are always first created as net pins, use net pin width */ if (toplevel->net_style == THICK ) { bloat = SCREENabs (w_current, PIN_WIDTH_NET) / 2; } min_x = min (x1, x2) - bloat; max_x = max (x1, x2) + bloat; min_y = min (y1, y2) - bloat; max_y = max (y1, y2) + bloat; o_invalidate_rect (w_current, min_x, min_y, max_x, max_y); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_pin_draw_rubber (GSCHEM_TOPLEVEL *w_current) { int size = 0; /* Pins are always first created as net pins, use net pin width */ if (w_current->toplevel->net_style == THICK) size = PIN_WIDTH_NET; gschem_cairo_line (w_current, END_NONE, size, w_current->first_wx, w_current->first_wy, w_current->second_wx, w_current->second_wy); gschem_cairo_set_source_color (w_current, x_color_lookup_dark (SELECT_COLOR)); gschem_cairo_stroke (w_current, TYPE_SOLID, END_NONE, size, -1, -1); } geda-gaf-1.8.2/gschem/src/Makefile.in0000664000175000017500000047550412220655724014226 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ bin_PROGRAMS = gschem$(EXEEXT) subdir = gschem/src DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(top_srcdir)/build-tools/depcomp ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__installdirs = "$(DESTDIR)$(bindir)" PROGRAMS = $(bin_PROGRAMS) am_gschem_OBJECTS = gschem-a_pan.$(OBJEXT) gschem-a_zoom.$(OBJEXT) \ gschem-g_attrib.$(OBJEXT) gschem-g_funcs.$(OBJEXT) \ gschem-g_hook.$(OBJEXT) gschem-g_keys.$(OBJEXT) \ gschem-g_rc.$(OBJEXT) gschem-g_register.$(OBJEXT) \ gschem-g_select.$(OBJEXT) gschem-g_util.$(OBJEXT) \ gschem-g_window.$(OBJEXT) gschem-globals.$(OBJEXT) \ gschem-gschem.$(OBJEXT) gschem-gschem_accel_label.$(OBJEXT) \ gschem-gschem_action.$(OBJEXT) gschem-gschem_cairo.$(OBJEXT) \ gschem-gschem_dialog.$(OBJEXT) gschem-gschem_pango.$(OBJEXT) \ gschem-gschem_toplevel.$(OBJEXT) gschem-i_basic.$(OBJEXT) \ gschem-i_callbacks.$(OBJEXT) gschem-i_vars.$(OBJEXT) \ gschem-m_basic.$(OBJEXT) gschem-o_arc.$(OBJEXT) \ gschem-o_attrib.$(OBJEXT) gschem-o_basic.$(OBJEXT) \ gschem-o_box.$(OBJEXT) gschem-o_buffer.$(OBJEXT) \ gschem-o_bus.$(OBJEXT) gschem-o_circle.$(OBJEXT) \ gschem-o_complex.$(OBJEXT) gschem-o_copy.$(OBJEXT) \ gschem-o_cue.$(OBJEXT) gschem-o_delete.$(OBJEXT) \ gschem-o_find.$(OBJEXT) gschem-o_grips.$(OBJEXT) \ gschem-o_line.$(OBJEXT) gschem-o_misc.$(OBJEXT) \ gschem-o_move.$(OBJEXT) gschem-o_net.$(OBJEXT) \ gschem-o_path.$(OBJEXT) gschem-o_picture.$(OBJEXT) \ gschem-o_pin.$(OBJEXT) gschem-o_place.$(OBJEXT) \ gschem-o_select.$(OBJEXT) gschem-o_slot.$(OBJEXT) \ gschem-o_text.$(OBJEXT) gschem-o_undo.$(OBJEXT) \ gschem-parsecmd.$(OBJEXT) gschem-s_stretch.$(OBJEXT) \ gschem-x_attribedit.$(OBJEXT) gschem-x_autonumber.$(OBJEXT) \ gschem-x_basic.$(OBJEXT) gschem-x_clipboard.$(OBJEXT) \ gschem-x_color.$(OBJEXT) gschem-x_compselect.$(OBJEXT) \ gschem-x_dialog.$(OBJEXT) gschem-x_event.$(OBJEXT) \ gschem-x_fileselect.$(OBJEXT) gschem-x_grid.$(OBJEXT) \ gschem-x_image.$(OBJEXT) gschem-x_log.$(OBJEXT) \ gschem-x_menus.$(OBJEXT) gschem-x_misc.$(OBJEXT) \ gschem-x_multiattrib.$(OBJEXT) gschem-x_pagesel.$(OBJEXT) \ gschem-x_preview.$(OBJEXT) gschem-x_print.$(OBJEXT) \ gschem-x_rc.$(OBJEXT) gschem-x_script.$(OBJEXT) \ gschem-x_stroke.$(OBJEXT) gschem-x_window.$(OBJEXT) gschem_OBJECTS = $(am_gschem_OBJECTS) gschem_DEPENDENCIES = $(top_builddir)/libgeda/src/libgeda.la AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent am__v_lt_1 = gschem_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(gschem_CFLAGS) $(CFLAGS) \ $(gschem_LDFLAGS) $(LDFLAGS) -o $@ AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/build-tools/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = $(gschem_SOURCES) DIST_SOURCES = $(gschem_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @datadir@/locale localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ BUILT_SOURCES = \ g_attrib.x \ g_hook.x \ g_keys.x \ g_util.x \ g_window.x \ g_select.x gschem_SOURCES = \ a_pan.c \ a_zoom.c \ g_attrib.c \ g_funcs.c \ g_hook.c \ g_keys.c \ g_rc.c \ g_register.c \ g_select.c \ g_util.c \ g_window.c \ globals.c \ gschem.c \ gschem_accel_label.c \ gschem_action.c \ gschem_cairo.c \ gschem_dialog.c \ gschem_pango.c \ gschem_toplevel.c \ i_basic.c \ i_callbacks.c \ i_vars.c \ m_basic.c \ o_arc.c \ o_attrib.c \ o_basic.c \ o_box.c \ o_buffer.c \ o_bus.c \ o_circle.c \ o_complex.c \ o_copy.c \ o_cue.c \ o_delete.c \ o_find.c \ o_grips.c \ o_line.c \ o_misc.c \ o_move.c \ o_net.c \ o_path.c \ o_picture.c \ o_pin.c \ o_place.c \ o_select.c \ o_slot.c \ o_text.c \ o_undo.c \ parsecmd.c \ s_stretch.c \ x_attribedit.c \ x_autonumber.c \ x_basic.c \ x_clipboard.c \ x_color.c \ x_compselect.c \ x_dialog.c \ x_event.c \ x_fileselect.c \ x_grid.c \ x_image.c \ x_log.c \ x_menus.c \ x_misc.c \ x_multiattrib.c \ x_pagesel.c \ x_preview.c \ x_print.c \ x_rc.c \ x_script.c \ x_stroke.c \ x_window.c gschem_CPPFLAGS = -I$(top_srcdir)/libgeda/include -I$(srcdir)/../include \ -I$(top_srcdir) -I$(includedir) -I$(top_srcdir)/intl gschem_CFLAGS = $(GCC_CFLAGS) $(LIBSTROKE_CFLAGS) \ $(MINGW_CFLAGS) \ $(GLIB_CFLAGS) $(GTK_CFLAGS) $(GTHREAD_CFLAGS) $(GUILE_CFLAGS) gschem_LDFLAGS = $(LIBSTROKE_LDFLAGS) $(GLIB_LIBS) $(GTK_LIBS) \ $(GTHREAD_LIBS) $(GUILE_LIBS) $(MINGW_GUI_LDFLAGS) gschem_LDADD = $(top_builddir)/libgeda/src/libgeda.la @LIBINTL@ # This is used to generate boilerplate for defining Scheme functions # in C. SUFFIXES = .x snarf_cpp_opts = $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(gschem_CPPFLAGS) $(AM_CFLAGS) $(gschem_CFLAGS) MOSTLYCLEANFILES = *.log core FILE *~ CLEANFILES = *.log core FILE *~ $(BUILT_SOURCES) DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in all: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) all-am .SUFFIXES: .SUFFIXES: .x .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gschem/src/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu gschem/src/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ fi; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p \ || test -f $$p1 \ ; then echo "$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n;h' \ -e 's|.*|.|' \ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) files[d] = files[d] " " $$1; \ else { print "f", $$3 "/" $$4, $$1; } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ } \ ; done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ -e 's/$$/$(EXEEXT)/' \ `; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(bindir)" && rm -f $$files clean-binPROGRAMS: @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ echo " rm -f" $$list; \ rm -f $$list || exit $$?; \ test -n "$(EXEEXT)" || exit 0; \ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list gschem$(EXEEXT): $(gschem_OBJECTS) $(gschem_DEPENDENCIES) $(EXTRA_gschem_DEPENDENCIES) @rm -f gschem$(EXEEXT) $(AM_V_CCLD)$(gschem_LINK) $(gschem_OBJECTS) $(gschem_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-a_pan.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-a_zoom.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-g_attrib.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-g_funcs.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-g_hook.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-g_keys.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-g_rc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-g_register.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-g_select.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-g_util.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-g_window.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-globals.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-gschem.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-gschem_accel_label.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-gschem_action.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-gschem_cairo.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-gschem_dialog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-gschem_pango.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-gschem_toplevel.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-i_basic.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-i_callbacks.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-i_vars.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-m_basic.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-o_arc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-o_attrib.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-o_basic.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-o_box.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-o_buffer.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-o_bus.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-o_circle.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-o_complex.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-o_copy.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-o_cue.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-o_delete.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-o_find.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-o_grips.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-o_line.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-o_misc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-o_move.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-o_net.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-o_path.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-o_picture.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-o_pin.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-o_place.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-o_select.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-o_slot.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-o_text.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-o_undo.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-parsecmd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-s_stretch.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-x_attribedit.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-x_autonumber.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-x_basic.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-x_clipboard.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-x_color.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-x_compselect.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-x_dialog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-x_event.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-x_fileselect.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-x_grid.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-x_image.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-x_log.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-x_menus.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-x_misc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-x_multiattrib.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-x_pagesel.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-x_preview.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-x_print.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-x_rc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-x_script.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-x_stroke.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gschem-x_window.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< gschem-a_pan.o: a_pan.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-a_pan.o -MD -MP -MF $(DEPDIR)/gschem-a_pan.Tpo -c -o gschem-a_pan.o `test -f 'a_pan.c' || echo '$(srcdir)/'`a_pan.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-a_pan.Tpo $(DEPDIR)/gschem-a_pan.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='a_pan.c' object='gschem-a_pan.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-a_pan.o `test -f 'a_pan.c' || echo '$(srcdir)/'`a_pan.c gschem-a_pan.obj: a_pan.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-a_pan.obj -MD -MP -MF $(DEPDIR)/gschem-a_pan.Tpo -c -o gschem-a_pan.obj `if test -f 'a_pan.c'; then $(CYGPATH_W) 'a_pan.c'; else $(CYGPATH_W) '$(srcdir)/a_pan.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-a_pan.Tpo $(DEPDIR)/gschem-a_pan.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='a_pan.c' object='gschem-a_pan.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-a_pan.obj `if test -f 'a_pan.c'; then $(CYGPATH_W) 'a_pan.c'; else $(CYGPATH_W) '$(srcdir)/a_pan.c'; fi` gschem-a_zoom.o: a_zoom.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-a_zoom.o -MD -MP -MF $(DEPDIR)/gschem-a_zoom.Tpo -c -o gschem-a_zoom.o `test -f 'a_zoom.c' || echo '$(srcdir)/'`a_zoom.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-a_zoom.Tpo $(DEPDIR)/gschem-a_zoom.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='a_zoom.c' object='gschem-a_zoom.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-a_zoom.o `test -f 'a_zoom.c' || echo '$(srcdir)/'`a_zoom.c gschem-a_zoom.obj: a_zoom.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-a_zoom.obj -MD -MP -MF $(DEPDIR)/gschem-a_zoom.Tpo -c -o gschem-a_zoom.obj `if test -f 'a_zoom.c'; then $(CYGPATH_W) 'a_zoom.c'; else $(CYGPATH_W) '$(srcdir)/a_zoom.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-a_zoom.Tpo $(DEPDIR)/gschem-a_zoom.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='a_zoom.c' object='gschem-a_zoom.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-a_zoom.obj `if test -f 'a_zoom.c'; then $(CYGPATH_W) 'a_zoom.c'; else $(CYGPATH_W) '$(srcdir)/a_zoom.c'; fi` gschem-g_attrib.o: g_attrib.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-g_attrib.o -MD -MP -MF $(DEPDIR)/gschem-g_attrib.Tpo -c -o gschem-g_attrib.o `test -f 'g_attrib.c' || echo '$(srcdir)/'`g_attrib.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-g_attrib.Tpo $(DEPDIR)/gschem-g_attrib.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='g_attrib.c' object='gschem-g_attrib.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-g_attrib.o `test -f 'g_attrib.c' || echo '$(srcdir)/'`g_attrib.c gschem-g_attrib.obj: g_attrib.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-g_attrib.obj -MD -MP -MF $(DEPDIR)/gschem-g_attrib.Tpo -c -o gschem-g_attrib.obj `if test -f 'g_attrib.c'; then $(CYGPATH_W) 'g_attrib.c'; else $(CYGPATH_W) '$(srcdir)/g_attrib.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-g_attrib.Tpo $(DEPDIR)/gschem-g_attrib.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='g_attrib.c' object='gschem-g_attrib.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-g_attrib.obj `if test -f 'g_attrib.c'; then $(CYGPATH_W) 'g_attrib.c'; else $(CYGPATH_W) '$(srcdir)/g_attrib.c'; fi` gschem-g_funcs.o: g_funcs.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-g_funcs.o -MD -MP -MF $(DEPDIR)/gschem-g_funcs.Tpo -c -o gschem-g_funcs.o `test -f 'g_funcs.c' || echo '$(srcdir)/'`g_funcs.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-g_funcs.Tpo $(DEPDIR)/gschem-g_funcs.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='g_funcs.c' object='gschem-g_funcs.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-g_funcs.o `test -f 'g_funcs.c' || echo '$(srcdir)/'`g_funcs.c gschem-g_funcs.obj: g_funcs.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-g_funcs.obj -MD -MP -MF $(DEPDIR)/gschem-g_funcs.Tpo -c -o gschem-g_funcs.obj `if test -f 'g_funcs.c'; then $(CYGPATH_W) 'g_funcs.c'; else $(CYGPATH_W) '$(srcdir)/g_funcs.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-g_funcs.Tpo $(DEPDIR)/gschem-g_funcs.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='g_funcs.c' object='gschem-g_funcs.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-g_funcs.obj `if test -f 'g_funcs.c'; then $(CYGPATH_W) 'g_funcs.c'; else $(CYGPATH_W) '$(srcdir)/g_funcs.c'; fi` gschem-g_hook.o: g_hook.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-g_hook.o -MD -MP -MF $(DEPDIR)/gschem-g_hook.Tpo -c -o gschem-g_hook.o `test -f 'g_hook.c' || echo '$(srcdir)/'`g_hook.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-g_hook.Tpo $(DEPDIR)/gschem-g_hook.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='g_hook.c' object='gschem-g_hook.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-g_hook.o `test -f 'g_hook.c' || echo '$(srcdir)/'`g_hook.c gschem-g_hook.obj: g_hook.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-g_hook.obj -MD -MP -MF $(DEPDIR)/gschem-g_hook.Tpo -c -o gschem-g_hook.obj `if test -f 'g_hook.c'; then $(CYGPATH_W) 'g_hook.c'; else $(CYGPATH_W) '$(srcdir)/g_hook.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-g_hook.Tpo $(DEPDIR)/gschem-g_hook.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='g_hook.c' object='gschem-g_hook.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-g_hook.obj `if test -f 'g_hook.c'; then $(CYGPATH_W) 'g_hook.c'; else $(CYGPATH_W) '$(srcdir)/g_hook.c'; fi` gschem-g_keys.o: g_keys.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-g_keys.o -MD -MP -MF $(DEPDIR)/gschem-g_keys.Tpo -c -o gschem-g_keys.o `test -f 'g_keys.c' || echo '$(srcdir)/'`g_keys.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-g_keys.Tpo $(DEPDIR)/gschem-g_keys.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='g_keys.c' object='gschem-g_keys.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-g_keys.o `test -f 'g_keys.c' || echo '$(srcdir)/'`g_keys.c gschem-g_keys.obj: g_keys.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-g_keys.obj -MD -MP -MF $(DEPDIR)/gschem-g_keys.Tpo -c -o gschem-g_keys.obj `if test -f 'g_keys.c'; then $(CYGPATH_W) 'g_keys.c'; else $(CYGPATH_W) '$(srcdir)/g_keys.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-g_keys.Tpo $(DEPDIR)/gschem-g_keys.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='g_keys.c' object='gschem-g_keys.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-g_keys.obj `if test -f 'g_keys.c'; then $(CYGPATH_W) 'g_keys.c'; else $(CYGPATH_W) '$(srcdir)/g_keys.c'; fi` gschem-g_rc.o: g_rc.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-g_rc.o -MD -MP -MF $(DEPDIR)/gschem-g_rc.Tpo -c -o gschem-g_rc.o `test -f 'g_rc.c' || echo '$(srcdir)/'`g_rc.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-g_rc.Tpo $(DEPDIR)/gschem-g_rc.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='g_rc.c' object='gschem-g_rc.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-g_rc.o `test -f 'g_rc.c' || echo '$(srcdir)/'`g_rc.c gschem-g_rc.obj: g_rc.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-g_rc.obj -MD -MP -MF $(DEPDIR)/gschem-g_rc.Tpo -c -o gschem-g_rc.obj `if test -f 'g_rc.c'; then $(CYGPATH_W) 'g_rc.c'; else $(CYGPATH_W) '$(srcdir)/g_rc.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-g_rc.Tpo $(DEPDIR)/gschem-g_rc.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='g_rc.c' object='gschem-g_rc.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-g_rc.obj `if test -f 'g_rc.c'; then $(CYGPATH_W) 'g_rc.c'; else $(CYGPATH_W) '$(srcdir)/g_rc.c'; fi` gschem-g_register.o: g_register.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-g_register.o -MD -MP -MF $(DEPDIR)/gschem-g_register.Tpo -c -o gschem-g_register.o `test -f 'g_register.c' || echo '$(srcdir)/'`g_register.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-g_register.Tpo $(DEPDIR)/gschem-g_register.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='g_register.c' object='gschem-g_register.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-g_register.o `test -f 'g_register.c' || echo '$(srcdir)/'`g_register.c gschem-g_register.obj: g_register.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-g_register.obj -MD -MP -MF $(DEPDIR)/gschem-g_register.Tpo -c -o gschem-g_register.obj `if test -f 'g_register.c'; then $(CYGPATH_W) 'g_register.c'; else $(CYGPATH_W) '$(srcdir)/g_register.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-g_register.Tpo $(DEPDIR)/gschem-g_register.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='g_register.c' object='gschem-g_register.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-g_register.obj `if test -f 'g_register.c'; then $(CYGPATH_W) 'g_register.c'; else $(CYGPATH_W) '$(srcdir)/g_register.c'; fi` gschem-g_select.o: g_select.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-g_select.o -MD -MP -MF $(DEPDIR)/gschem-g_select.Tpo -c -o gschem-g_select.o `test -f 'g_select.c' || echo '$(srcdir)/'`g_select.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-g_select.Tpo $(DEPDIR)/gschem-g_select.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='g_select.c' object='gschem-g_select.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-g_select.o `test -f 'g_select.c' || echo '$(srcdir)/'`g_select.c gschem-g_select.obj: g_select.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-g_select.obj -MD -MP -MF $(DEPDIR)/gschem-g_select.Tpo -c -o gschem-g_select.obj `if test -f 'g_select.c'; then $(CYGPATH_W) 'g_select.c'; else $(CYGPATH_W) '$(srcdir)/g_select.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-g_select.Tpo $(DEPDIR)/gschem-g_select.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='g_select.c' object='gschem-g_select.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-g_select.obj `if test -f 'g_select.c'; then $(CYGPATH_W) 'g_select.c'; else $(CYGPATH_W) '$(srcdir)/g_select.c'; fi` gschem-g_util.o: g_util.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-g_util.o -MD -MP -MF $(DEPDIR)/gschem-g_util.Tpo -c -o gschem-g_util.o `test -f 'g_util.c' || echo '$(srcdir)/'`g_util.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-g_util.Tpo $(DEPDIR)/gschem-g_util.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='g_util.c' object='gschem-g_util.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-g_util.o `test -f 'g_util.c' || echo '$(srcdir)/'`g_util.c gschem-g_util.obj: g_util.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-g_util.obj -MD -MP -MF $(DEPDIR)/gschem-g_util.Tpo -c -o gschem-g_util.obj `if test -f 'g_util.c'; then $(CYGPATH_W) 'g_util.c'; else $(CYGPATH_W) '$(srcdir)/g_util.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-g_util.Tpo $(DEPDIR)/gschem-g_util.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='g_util.c' object='gschem-g_util.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-g_util.obj `if test -f 'g_util.c'; then $(CYGPATH_W) 'g_util.c'; else $(CYGPATH_W) '$(srcdir)/g_util.c'; fi` gschem-g_window.o: g_window.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-g_window.o -MD -MP -MF $(DEPDIR)/gschem-g_window.Tpo -c -o gschem-g_window.o `test -f 'g_window.c' || echo '$(srcdir)/'`g_window.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-g_window.Tpo $(DEPDIR)/gschem-g_window.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='g_window.c' object='gschem-g_window.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-g_window.o `test -f 'g_window.c' || echo '$(srcdir)/'`g_window.c gschem-g_window.obj: g_window.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-g_window.obj -MD -MP -MF $(DEPDIR)/gschem-g_window.Tpo -c -o gschem-g_window.obj `if test -f 'g_window.c'; then $(CYGPATH_W) 'g_window.c'; else $(CYGPATH_W) '$(srcdir)/g_window.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-g_window.Tpo $(DEPDIR)/gschem-g_window.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='g_window.c' object='gschem-g_window.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-g_window.obj `if test -f 'g_window.c'; then $(CYGPATH_W) 'g_window.c'; else $(CYGPATH_W) '$(srcdir)/g_window.c'; fi` gschem-globals.o: globals.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-globals.o -MD -MP -MF $(DEPDIR)/gschem-globals.Tpo -c -o gschem-globals.o `test -f 'globals.c' || echo '$(srcdir)/'`globals.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-globals.Tpo $(DEPDIR)/gschem-globals.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='globals.c' object='gschem-globals.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-globals.o `test -f 'globals.c' || echo '$(srcdir)/'`globals.c gschem-globals.obj: globals.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-globals.obj -MD -MP -MF $(DEPDIR)/gschem-globals.Tpo -c -o gschem-globals.obj `if test -f 'globals.c'; then $(CYGPATH_W) 'globals.c'; else $(CYGPATH_W) '$(srcdir)/globals.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-globals.Tpo $(DEPDIR)/gschem-globals.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='globals.c' object='gschem-globals.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-globals.obj `if test -f 'globals.c'; then $(CYGPATH_W) 'globals.c'; else $(CYGPATH_W) '$(srcdir)/globals.c'; fi` gschem-gschem.o: gschem.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-gschem.o -MD -MP -MF $(DEPDIR)/gschem-gschem.Tpo -c -o gschem-gschem.o `test -f 'gschem.c' || echo '$(srcdir)/'`gschem.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-gschem.Tpo $(DEPDIR)/gschem-gschem.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gschem.c' object='gschem-gschem.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-gschem.o `test -f 'gschem.c' || echo '$(srcdir)/'`gschem.c gschem-gschem.obj: gschem.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-gschem.obj -MD -MP -MF $(DEPDIR)/gschem-gschem.Tpo -c -o gschem-gschem.obj `if test -f 'gschem.c'; then $(CYGPATH_W) 'gschem.c'; else $(CYGPATH_W) '$(srcdir)/gschem.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-gschem.Tpo $(DEPDIR)/gschem-gschem.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gschem.c' object='gschem-gschem.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-gschem.obj `if test -f 'gschem.c'; then $(CYGPATH_W) 'gschem.c'; else $(CYGPATH_W) '$(srcdir)/gschem.c'; fi` gschem-gschem_accel_label.o: gschem_accel_label.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-gschem_accel_label.o -MD -MP -MF $(DEPDIR)/gschem-gschem_accel_label.Tpo -c -o gschem-gschem_accel_label.o `test -f 'gschem_accel_label.c' || echo '$(srcdir)/'`gschem_accel_label.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-gschem_accel_label.Tpo $(DEPDIR)/gschem-gschem_accel_label.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gschem_accel_label.c' object='gschem-gschem_accel_label.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-gschem_accel_label.o `test -f 'gschem_accel_label.c' || echo '$(srcdir)/'`gschem_accel_label.c gschem-gschem_accel_label.obj: gschem_accel_label.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-gschem_accel_label.obj -MD -MP -MF $(DEPDIR)/gschem-gschem_accel_label.Tpo -c -o gschem-gschem_accel_label.obj `if test -f 'gschem_accel_label.c'; then $(CYGPATH_W) 'gschem_accel_label.c'; else $(CYGPATH_W) '$(srcdir)/gschem_accel_label.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-gschem_accel_label.Tpo $(DEPDIR)/gschem-gschem_accel_label.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gschem_accel_label.c' object='gschem-gschem_accel_label.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-gschem_accel_label.obj `if test -f 'gschem_accel_label.c'; then $(CYGPATH_W) 'gschem_accel_label.c'; else $(CYGPATH_W) '$(srcdir)/gschem_accel_label.c'; fi` gschem-gschem_action.o: gschem_action.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-gschem_action.o -MD -MP -MF $(DEPDIR)/gschem-gschem_action.Tpo -c -o gschem-gschem_action.o `test -f 'gschem_action.c' || echo '$(srcdir)/'`gschem_action.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-gschem_action.Tpo $(DEPDIR)/gschem-gschem_action.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gschem_action.c' object='gschem-gschem_action.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-gschem_action.o `test -f 'gschem_action.c' || echo '$(srcdir)/'`gschem_action.c gschem-gschem_action.obj: gschem_action.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-gschem_action.obj -MD -MP -MF $(DEPDIR)/gschem-gschem_action.Tpo -c -o gschem-gschem_action.obj `if test -f 'gschem_action.c'; then $(CYGPATH_W) 'gschem_action.c'; else $(CYGPATH_W) '$(srcdir)/gschem_action.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-gschem_action.Tpo $(DEPDIR)/gschem-gschem_action.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gschem_action.c' object='gschem-gschem_action.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-gschem_action.obj `if test -f 'gschem_action.c'; then $(CYGPATH_W) 'gschem_action.c'; else $(CYGPATH_W) '$(srcdir)/gschem_action.c'; fi` gschem-gschem_cairo.o: gschem_cairo.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-gschem_cairo.o -MD -MP -MF $(DEPDIR)/gschem-gschem_cairo.Tpo -c -o gschem-gschem_cairo.o `test -f 'gschem_cairo.c' || echo '$(srcdir)/'`gschem_cairo.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-gschem_cairo.Tpo $(DEPDIR)/gschem-gschem_cairo.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gschem_cairo.c' object='gschem-gschem_cairo.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-gschem_cairo.o `test -f 'gschem_cairo.c' || echo '$(srcdir)/'`gschem_cairo.c gschem-gschem_cairo.obj: gschem_cairo.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-gschem_cairo.obj -MD -MP -MF $(DEPDIR)/gschem-gschem_cairo.Tpo -c -o gschem-gschem_cairo.obj `if test -f 'gschem_cairo.c'; then $(CYGPATH_W) 'gschem_cairo.c'; else $(CYGPATH_W) '$(srcdir)/gschem_cairo.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-gschem_cairo.Tpo $(DEPDIR)/gschem-gschem_cairo.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gschem_cairo.c' object='gschem-gschem_cairo.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-gschem_cairo.obj `if test -f 'gschem_cairo.c'; then $(CYGPATH_W) 'gschem_cairo.c'; else $(CYGPATH_W) '$(srcdir)/gschem_cairo.c'; fi` gschem-gschem_dialog.o: gschem_dialog.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-gschem_dialog.o -MD -MP -MF $(DEPDIR)/gschem-gschem_dialog.Tpo -c -o gschem-gschem_dialog.o `test -f 'gschem_dialog.c' || echo '$(srcdir)/'`gschem_dialog.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-gschem_dialog.Tpo $(DEPDIR)/gschem-gschem_dialog.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gschem_dialog.c' object='gschem-gschem_dialog.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-gschem_dialog.o `test -f 'gschem_dialog.c' || echo '$(srcdir)/'`gschem_dialog.c gschem-gschem_dialog.obj: gschem_dialog.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-gschem_dialog.obj -MD -MP -MF $(DEPDIR)/gschem-gschem_dialog.Tpo -c -o gschem-gschem_dialog.obj `if test -f 'gschem_dialog.c'; then $(CYGPATH_W) 'gschem_dialog.c'; else $(CYGPATH_W) '$(srcdir)/gschem_dialog.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-gschem_dialog.Tpo $(DEPDIR)/gschem-gschem_dialog.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gschem_dialog.c' object='gschem-gschem_dialog.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-gschem_dialog.obj `if test -f 'gschem_dialog.c'; then $(CYGPATH_W) 'gschem_dialog.c'; else $(CYGPATH_W) '$(srcdir)/gschem_dialog.c'; fi` gschem-gschem_pango.o: gschem_pango.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-gschem_pango.o -MD -MP -MF $(DEPDIR)/gschem-gschem_pango.Tpo -c -o gschem-gschem_pango.o `test -f 'gschem_pango.c' || echo '$(srcdir)/'`gschem_pango.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-gschem_pango.Tpo $(DEPDIR)/gschem-gschem_pango.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gschem_pango.c' object='gschem-gschem_pango.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-gschem_pango.o `test -f 'gschem_pango.c' || echo '$(srcdir)/'`gschem_pango.c gschem-gschem_pango.obj: gschem_pango.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-gschem_pango.obj -MD -MP -MF $(DEPDIR)/gschem-gschem_pango.Tpo -c -o gschem-gschem_pango.obj `if test -f 'gschem_pango.c'; then $(CYGPATH_W) 'gschem_pango.c'; else $(CYGPATH_W) '$(srcdir)/gschem_pango.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-gschem_pango.Tpo $(DEPDIR)/gschem-gschem_pango.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gschem_pango.c' object='gschem-gschem_pango.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-gschem_pango.obj `if test -f 'gschem_pango.c'; then $(CYGPATH_W) 'gschem_pango.c'; else $(CYGPATH_W) '$(srcdir)/gschem_pango.c'; fi` gschem-gschem_toplevel.o: gschem_toplevel.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-gschem_toplevel.o -MD -MP -MF $(DEPDIR)/gschem-gschem_toplevel.Tpo -c -o gschem-gschem_toplevel.o `test -f 'gschem_toplevel.c' || echo '$(srcdir)/'`gschem_toplevel.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-gschem_toplevel.Tpo $(DEPDIR)/gschem-gschem_toplevel.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gschem_toplevel.c' object='gschem-gschem_toplevel.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-gschem_toplevel.o `test -f 'gschem_toplevel.c' || echo '$(srcdir)/'`gschem_toplevel.c gschem-gschem_toplevel.obj: gschem_toplevel.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-gschem_toplevel.obj -MD -MP -MF $(DEPDIR)/gschem-gschem_toplevel.Tpo -c -o gschem-gschem_toplevel.obj `if test -f 'gschem_toplevel.c'; then $(CYGPATH_W) 'gschem_toplevel.c'; else $(CYGPATH_W) '$(srcdir)/gschem_toplevel.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-gschem_toplevel.Tpo $(DEPDIR)/gschem-gschem_toplevel.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gschem_toplevel.c' object='gschem-gschem_toplevel.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-gschem_toplevel.obj `if test -f 'gschem_toplevel.c'; then $(CYGPATH_W) 'gschem_toplevel.c'; else $(CYGPATH_W) '$(srcdir)/gschem_toplevel.c'; fi` gschem-i_basic.o: i_basic.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-i_basic.o -MD -MP -MF $(DEPDIR)/gschem-i_basic.Tpo -c -o gschem-i_basic.o `test -f 'i_basic.c' || echo '$(srcdir)/'`i_basic.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-i_basic.Tpo $(DEPDIR)/gschem-i_basic.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='i_basic.c' object='gschem-i_basic.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-i_basic.o `test -f 'i_basic.c' || echo '$(srcdir)/'`i_basic.c gschem-i_basic.obj: i_basic.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-i_basic.obj -MD -MP -MF $(DEPDIR)/gschem-i_basic.Tpo -c -o gschem-i_basic.obj `if test -f 'i_basic.c'; then $(CYGPATH_W) 'i_basic.c'; else $(CYGPATH_W) '$(srcdir)/i_basic.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-i_basic.Tpo $(DEPDIR)/gschem-i_basic.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='i_basic.c' object='gschem-i_basic.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-i_basic.obj `if test -f 'i_basic.c'; then $(CYGPATH_W) 'i_basic.c'; else $(CYGPATH_W) '$(srcdir)/i_basic.c'; fi` gschem-i_callbacks.o: i_callbacks.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-i_callbacks.o -MD -MP -MF $(DEPDIR)/gschem-i_callbacks.Tpo -c -o gschem-i_callbacks.o `test -f 'i_callbacks.c' || echo '$(srcdir)/'`i_callbacks.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-i_callbacks.Tpo $(DEPDIR)/gschem-i_callbacks.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='i_callbacks.c' object='gschem-i_callbacks.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-i_callbacks.o `test -f 'i_callbacks.c' || echo '$(srcdir)/'`i_callbacks.c gschem-i_callbacks.obj: i_callbacks.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-i_callbacks.obj -MD -MP -MF $(DEPDIR)/gschem-i_callbacks.Tpo -c -o gschem-i_callbacks.obj `if test -f 'i_callbacks.c'; then $(CYGPATH_W) 'i_callbacks.c'; else $(CYGPATH_W) '$(srcdir)/i_callbacks.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-i_callbacks.Tpo $(DEPDIR)/gschem-i_callbacks.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='i_callbacks.c' object='gschem-i_callbacks.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-i_callbacks.obj `if test -f 'i_callbacks.c'; then $(CYGPATH_W) 'i_callbacks.c'; else $(CYGPATH_W) '$(srcdir)/i_callbacks.c'; fi` gschem-i_vars.o: i_vars.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-i_vars.o -MD -MP -MF $(DEPDIR)/gschem-i_vars.Tpo -c -o gschem-i_vars.o `test -f 'i_vars.c' || echo '$(srcdir)/'`i_vars.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-i_vars.Tpo $(DEPDIR)/gschem-i_vars.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='i_vars.c' object='gschem-i_vars.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-i_vars.o `test -f 'i_vars.c' || echo '$(srcdir)/'`i_vars.c gschem-i_vars.obj: i_vars.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-i_vars.obj -MD -MP -MF $(DEPDIR)/gschem-i_vars.Tpo -c -o gschem-i_vars.obj `if test -f 'i_vars.c'; then $(CYGPATH_W) 'i_vars.c'; else $(CYGPATH_W) '$(srcdir)/i_vars.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-i_vars.Tpo $(DEPDIR)/gschem-i_vars.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='i_vars.c' object='gschem-i_vars.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-i_vars.obj `if test -f 'i_vars.c'; then $(CYGPATH_W) 'i_vars.c'; else $(CYGPATH_W) '$(srcdir)/i_vars.c'; fi` gschem-m_basic.o: m_basic.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-m_basic.o -MD -MP -MF $(DEPDIR)/gschem-m_basic.Tpo -c -o gschem-m_basic.o `test -f 'm_basic.c' || echo '$(srcdir)/'`m_basic.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-m_basic.Tpo $(DEPDIR)/gschem-m_basic.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='m_basic.c' object='gschem-m_basic.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-m_basic.o `test -f 'm_basic.c' || echo '$(srcdir)/'`m_basic.c gschem-m_basic.obj: m_basic.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-m_basic.obj -MD -MP -MF $(DEPDIR)/gschem-m_basic.Tpo -c -o gschem-m_basic.obj `if test -f 'm_basic.c'; then $(CYGPATH_W) 'm_basic.c'; else $(CYGPATH_W) '$(srcdir)/m_basic.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-m_basic.Tpo $(DEPDIR)/gschem-m_basic.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='m_basic.c' object='gschem-m_basic.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-m_basic.obj `if test -f 'm_basic.c'; then $(CYGPATH_W) 'm_basic.c'; else $(CYGPATH_W) '$(srcdir)/m_basic.c'; fi` gschem-o_arc.o: o_arc.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-o_arc.o -MD -MP -MF $(DEPDIR)/gschem-o_arc.Tpo -c -o gschem-o_arc.o `test -f 'o_arc.c' || echo '$(srcdir)/'`o_arc.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-o_arc.Tpo $(DEPDIR)/gschem-o_arc.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_arc.c' object='gschem-o_arc.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-o_arc.o `test -f 'o_arc.c' || echo '$(srcdir)/'`o_arc.c gschem-o_arc.obj: o_arc.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-o_arc.obj -MD -MP -MF $(DEPDIR)/gschem-o_arc.Tpo -c -o gschem-o_arc.obj `if test -f 'o_arc.c'; then $(CYGPATH_W) 'o_arc.c'; else $(CYGPATH_W) '$(srcdir)/o_arc.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-o_arc.Tpo $(DEPDIR)/gschem-o_arc.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_arc.c' object='gschem-o_arc.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-o_arc.obj `if test -f 'o_arc.c'; then $(CYGPATH_W) 'o_arc.c'; else $(CYGPATH_W) '$(srcdir)/o_arc.c'; fi` gschem-o_attrib.o: o_attrib.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-o_attrib.o -MD -MP -MF $(DEPDIR)/gschem-o_attrib.Tpo -c -o gschem-o_attrib.o `test -f 'o_attrib.c' || echo '$(srcdir)/'`o_attrib.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-o_attrib.Tpo $(DEPDIR)/gschem-o_attrib.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_attrib.c' object='gschem-o_attrib.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-o_attrib.o `test -f 'o_attrib.c' || echo '$(srcdir)/'`o_attrib.c gschem-o_attrib.obj: o_attrib.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-o_attrib.obj -MD -MP -MF $(DEPDIR)/gschem-o_attrib.Tpo -c -o gschem-o_attrib.obj `if test -f 'o_attrib.c'; then $(CYGPATH_W) 'o_attrib.c'; else $(CYGPATH_W) '$(srcdir)/o_attrib.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-o_attrib.Tpo $(DEPDIR)/gschem-o_attrib.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_attrib.c' object='gschem-o_attrib.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-o_attrib.obj `if test -f 'o_attrib.c'; then $(CYGPATH_W) 'o_attrib.c'; else $(CYGPATH_W) '$(srcdir)/o_attrib.c'; fi` gschem-o_basic.o: o_basic.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-o_basic.o -MD -MP -MF $(DEPDIR)/gschem-o_basic.Tpo -c -o gschem-o_basic.o `test -f 'o_basic.c' || echo '$(srcdir)/'`o_basic.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-o_basic.Tpo $(DEPDIR)/gschem-o_basic.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_basic.c' object='gschem-o_basic.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-o_basic.o `test -f 'o_basic.c' || echo '$(srcdir)/'`o_basic.c gschem-o_basic.obj: o_basic.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-o_basic.obj -MD -MP -MF $(DEPDIR)/gschem-o_basic.Tpo -c -o gschem-o_basic.obj `if test -f 'o_basic.c'; then $(CYGPATH_W) 'o_basic.c'; else $(CYGPATH_W) '$(srcdir)/o_basic.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-o_basic.Tpo $(DEPDIR)/gschem-o_basic.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_basic.c' object='gschem-o_basic.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-o_basic.obj `if test -f 'o_basic.c'; then $(CYGPATH_W) 'o_basic.c'; else $(CYGPATH_W) '$(srcdir)/o_basic.c'; fi` gschem-o_box.o: o_box.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-o_box.o -MD -MP -MF $(DEPDIR)/gschem-o_box.Tpo -c -o gschem-o_box.o `test -f 'o_box.c' || echo '$(srcdir)/'`o_box.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-o_box.Tpo $(DEPDIR)/gschem-o_box.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_box.c' object='gschem-o_box.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-o_box.o `test -f 'o_box.c' || echo '$(srcdir)/'`o_box.c gschem-o_box.obj: o_box.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-o_box.obj -MD -MP -MF $(DEPDIR)/gschem-o_box.Tpo -c -o gschem-o_box.obj `if test -f 'o_box.c'; then $(CYGPATH_W) 'o_box.c'; else $(CYGPATH_W) '$(srcdir)/o_box.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-o_box.Tpo $(DEPDIR)/gschem-o_box.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_box.c' object='gschem-o_box.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-o_box.obj `if test -f 'o_box.c'; then $(CYGPATH_W) 'o_box.c'; else $(CYGPATH_W) '$(srcdir)/o_box.c'; fi` gschem-o_buffer.o: o_buffer.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-o_buffer.o -MD -MP -MF $(DEPDIR)/gschem-o_buffer.Tpo -c -o gschem-o_buffer.o `test -f 'o_buffer.c' || echo '$(srcdir)/'`o_buffer.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-o_buffer.Tpo $(DEPDIR)/gschem-o_buffer.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_buffer.c' object='gschem-o_buffer.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-o_buffer.o `test -f 'o_buffer.c' || echo '$(srcdir)/'`o_buffer.c gschem-o_buffer.obj: o_buffer.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-o_buffer.obj -MD -MP -MF $(DEPDIR)/gschem-o_buffer.Tpo -c -o gschem-o_buffer.obj `if test -f 'o_buffer.c'; then $(CYGPATH_W) 'o_buffer.c'; else $(CYGPATH_W) '$(srcdir)/o_buffer.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-o_buffer.Tpo $(DEPDIR)/gschem-o_buffer.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_buffer.c' object='gschem-o_buffer.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-o_buffer.obj `if test -f 'o_buffer.c'; then $(CYGPATH_W) 'o_buffer.c'; else $(CYGPATH_W) '$(srcdir)/o_buffer.c'; fi` gschem-o_bus.o: o_bus.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-o_bus.o -MD -MP -MF $(DEPDIR)/gschem-o_bus.Tpo -c -o gschem-o_bus.o `test -f 'o_bus.c' || echo '$(srcdir)/'`o_bus.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-o_bus.Tpo $(DEPDIR)/gschem-o_bus.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_bus.c' object='gschem-o_bus.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-o_bus.o `test -f 'o_bus.c' || echo '$(srcdir)/'`o_bus.c gschem-o_bus.obj: o_bus.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-o_bus.obj -MD -MP -MF $(DEPDIR)/gschem-o_bus.Tpo -c -o gschem-o_bus.obj `if test -f 'o_bus.c'; then $(CYGPATH_W) 'o_bus.c'; else $(CYGPATH_W) '$(srcdir)/o_bus.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-o_bus.Tpo $(DEPDIR)/gschem-o_bus.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_bus.c' object='gschem-o_bus.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-o_bus.obj `if test -f 'o_bus.c'; then $(CYGPATH_W) 'o_bus.c'; else $(CYGPATH_W) '$(srcdir)/o_bus.c'; fi` gschem-o_circle.o: o_circle.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-o_circle.o -MD -MP -MF $(DEPDIR)/gschem-o_circle.Tpo -c -o gschem-o_circle.o `test -f 'o_circle.c' || echo '$(srcdir)/'`o_circle.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-o_circle.Tpo $(DEPDIR)/gschem-o_circle.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_circle.c' object='gschem-o_circle.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-o_circle.o `test -f 'o_circle.c' || echo '$(srcdir)/'`o_circle.c gschem-o_circle.obj: o_circle.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-o_circle.obj -MD -MP -MF $(DEPDIR)/gschem-o_circle.Tpo -c -o gschem-o_circle.obj `if test -f 'o_circle.c'; then $(CYGPATH_W) 'o_circle.c'; else $(CYGPATH_W) '$(srcdir)/o_circle.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-o_circle.Tpo $(DEPDIR)/gschem-o_circle.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_circle.c' object='gschem-o_circle.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-o_circle.obj `if test -f 'o_circle.c'; then $(CYGPATH_W) 'o_circle.c'; else $(CYGPATH_W) '$(srcdir)/o_circle.c'; fi` gschem-o_complex.o: o_complex.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-o_complex.o -MD -MP -MF $(DEPDIR)/gschem-o_complex.Tpo -c -o gschem-o_complex.o `test -f 'o_complex.c' || echo '$(srcdir)/'`o_complex.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-o_complex.Tpo $(DEPDIR)/gschem-o_complex.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_complex.c' object='gschem-o_complex.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-o_complex.o `test -f 'o_complex.c' || echo '$(srcdir)/'`o_complex.c gschem-o_complex.obj: o_complex.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-o_complex.obj -MD -MP -MF $(DEPDIR)/gschem-o_complex.Tpo -c -o gschem-o_complex.obj `if test -f 'o_complex.c'; then $(CYGPATH_W) 'o_complex.c'; else $(CYGPATH_W) '$(srcdir)/o_complex.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-o_complex.Tpo $(DEPDIR)/gschem-o_complex.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_complex.c' object='gschem-o_complex.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-o_complex.obj `if test -f 'o_complex.c'; then $(CYGPATH_W) 'o_complex.c'; else $(CYGPATH_W) '$(srcdir)/o_complex.c'; fi` gschem-o_copy.o: o_copy.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-o_copy.o -MD -MP -MF $(DEPDIR)/gschem-o_copy.Tpo -c -o gschem-o_copy.o `test -f 'o_copy.c' || echo '$(srcdir)/'`o_copy.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-o_copy.Tpo $(DEPDIR)/gschem-o_copy.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_copy.c' object='gschem-o_copy.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-o_copy.o `test -f 'o_copy.c' || echo '$(srcdir)/'`o_copy.c gschem-o_copy.obj: o_copy.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-o_copy.obj -MD -MP -MF $(DEPDIR)/gschem-o_copy.Tpo -c -o gschem-o_copy.obj `if test -f 'o_copy.c'; then $(CYGPATH_W) 'o_copy.c'; else $(CYGPATH_W) '$(srcdir)/o_copy.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-o_copy.Tpo $(DEPDIR)/gschem-o_copy.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_copy.c' object='gschem-o_copy.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-o_copy.obj `if test -f 'o_copy.c'; then $(CYGPATH_W) 'o_copy.c'; else $(CYGPATH_W) '$(srcdir)/o_copy.c'; fi` gschem-o_cue.o: o_cue.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-o_cue.o -MD -MP -MF $(DEPDIR)/gschem-o_cue.Tpo -c -o gschem-o_cue.o `test -f 'o_cue.c' || echo '$(srcdir)/'`o_cue.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-o_cue.Tpo $(DEPDIR)/gschem-o_cue.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_cue.c' object='gschem-o_cue.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-o_cue.o `test -f 'o_cue.c' || echo '$(srcdir)/'`o_cue.c gschem-o_cue.obj: o_cue.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-o_cue.obj -MD -MP -MF $(DEPDIR)/gschem-o_cue.Tpo -c -o gschem-o_cue.obj `if test -f 'o_cue.c'; then $(CYGPATH_W) 'o_cue.c'; else $(CYGPATH_W) '$(srcdir)/o_cue.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-o_cue.Tpo $(DEPDIR)/gschem-o_cue.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_cue.c' object='gschem-o_cue.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-o_cue.obj `if test -f 'o_cue.c'; then $(CYGPATH_W) 'o_cue.c'; else $(CYGPATH_W) '$(srcdir)/o_cue.c'; fi` gschem-o_delete.o: o_delete.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-o_delete.o -MD -MP -MF $(DEPDIR)/gschem-o_delete.Tpo -c -o gschem-o_delete.o `test -f 'o_delete.c' || echo '$(srcdir)/'`o_delete.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-o_delete.Tpo $(DEPDIR)/gschem-o_delete.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_delete.c' object='gschem-o_delete.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-o_delete.o `test -f 'o_delete.c' || echo '$(srcdir)/'`o_delete.c gschem-o_delete.obj: o_delete.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-o_delete.obj -MD -MP -MF $(DEPDIR)/gschem-o_delete.Tpo -c -o gschem-o_delete.obj `if test -f 'o_delete.c'; then $(CYGPATH_W) 'o_delete.c'; else $(CYGPATH_W) '$(srcdir)/o_delete.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-o_delete.Tpo $(DEPDIR)/gschem-o_delete.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_delete.c' object='gschem-o_delete.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-o_delete.obj `if test -f 'o_delete.c'; then $(CYGPATH_W) 'o_delete.c'; else $(CYGPATH_W) '$(srcdir)/o_delete.c'; fi` gschem-o_find.o: o_find.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-o_find.o -MD -MP -MF $(DEPDIR)/gschem-o_find.Tpo -c -o gschem-o_find.o `test -f 'o_find.c' || echo '$(srcdir)/'`o_find.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-o_find.Tpo $(DEPDIR)/gschem-o_find.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_find.c' object='gschem-o_find.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-o_find.o `test -f 'o_find.c' || echo '$(srcdir)/'`o_find.c gschem-o_find.obj: o_find.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-o_find.obj -MD -MP -MF $(DEPDIR)/gschem-o_find.Tpo -c -o gschem-o_find.obj `if test -f 'o_find.c'; then $(CYGPATH_W) 'o_find.c'; else $(CYGPATH_W) '$(srcdir)/o_find.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-o_find.Tpo $(DEPDIR)/gschem-o_find.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_find.c' object='gschem-o_find.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-o_find.obj `if test -f 'o_find.c'; then $(CYGPATH_W) 'o_find.c'; else $(CYGPATH_W) '$(srcdir)/o_find.c'; fi` gschem-o_grips.o: o_grips.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-o_grips.o -MD -MP -MF $(DEPDIR)/gschem-o_grips.Tpo -c -o gschem-o_grips.o `test -f 'o_grips.c' || echo '$(srcdir)/'`o_grips.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-o_grips.Tpo $(DEPDIR)/gschem-o_grips.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_grips.c' object='gschem-o_grips.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-o_grips.o `test -f 'o_grips.c' || echo '$(srcdir)/'`o_grips.c gschem-o_grips.obj: o_grips.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-o_grips.obj -MD -MP -MF $(DEPDIR)/gschem-o_grips.Tpo -c -o gschem-o_grips.obj `if test -f 'o_grips.c'; then $(CYGPATH_W) 'o_grips.c'; else $(CYGPATH_W) '$(srcdir)/o_grips.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-o_grips.Tpo $(DEPDIR)/gschem-o_grips.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_grips.c' object='gschem-o_grips.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-o_grips.obj `if test -f 'o_grips.c'; then $(CYGPATH_W) 'o_grips.c'; else $(CYGPATH_W) '$(srcdir)/o_grips.c'; fi` gschem-o_line.o: o_line.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-o_line.o -MD -MP -MF $(DEPDIR)/gschem-o_line.Tpo -c -o gschem-o_line.o `test -f 'o_line.c' || echo '$(srcdir)/'`o_line.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-o_line.Tpo $(DEPDIR)/gschem-o_line.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_line.c' object='gschem-o_line.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-o_line.o `test -f 'o_line.c' || echo '$(srcdir)/'`o_line.c gschem-o_line.obj: o_line.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-o_line.obj -MD -MP -MF $(DEPDIR)/gschem-o_line.Tpo -c -o gschem-o_line.obj `if test -f 'o_line.c'; then $(CYGPATH_W) 'o_line.c'; else $(CYGPATH_W) '$(srcdir)/o_line.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-o_line.Tpo $(DEPDIR)/gschem-o_line.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_line.c' object='gschem-o_line.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-o_line.obj `if test -f 'o_line.c'; then $(CYGPATH_W) 'o_line.c'; else $(CYGPATH_W) '$(srcdir)/o_line.c'; fi` gschem-o_misc.o: o_misc.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-o_misc.o -MD -MP -MF $(DEPDIR)/gschem-o_misc.Tpo -c -o gschem-o_misc.o `test -f 'o_misc.c' || echo '$(srcdir)/'`o_misc.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-o_misc.Tpo $(DEPDIR)/gschem-o_misc.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_misc.c' object='gschem-o_misc.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-o_misc.o `test -f 'o_misc.c' || echo '$(srcdir)/'`o_misc.c gschem-o_misc.obj: o_misc.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-o_misc.obj -MD -MP -MF $(DEPDIR)/gschem-o_misc.Tpo -c -o gschem-o_misc.obj `if test -f 'o_misc.c'; then $(CYGPATH_W) 'o_misc.c'; else $(CYGPATH_W) '$(srcdir)/o_misc.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-o_misc.Tpo $(DEPDIR)/gschem-o_misc.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_misc.c' object='gschem-o_misc.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-o_misc.obj `if test -f 'o_misc.c'; then $(CYGPATH_W) 'o_misc.c'; else $(CYGPATH_W) '$(srcdir)/o_misc.c'; fi` gschem-o_move.o: o_move.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-o_move.o -MD -MP -MF $(DEPDIR)/gschem-o_move.Tpo -c -o gschem-o_move.o `test -f 'o_move.c' || echo '$(srcdir)/'`o_move.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-o_move.Tpo $(DEPDIR)/gschem-o_move.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_move.c' object='gschem-o_move.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-o_move.o `test -f 'o_move.c' || echo '$(srcdir)/'`o_move.c gschem-o_move.obj: o_move.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-o_move.obj -MD -MP -MF $(DEPDIR)/gschem-o_move.Tpo -c -o gschem-o_move.obj `if test -f 'o_move.c'; then $(CYGPATH_W) 'o_move.c'; else $(CYGPATH_W) '$(srcdir)/o_move.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-o_move.Tpo $(DEPDIR)/gschem-o_move.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_move.c' object='gschem-o_move.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-o_move.obj `if test -f 'o_move.c'; then $(CYGPATH_W) 'o_move.c'; else $(CYGPATH_W) '$(srcdir)/o_move.c'; fi` gschem-o_net.o: o_net.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-o_net.o -MD -MP -MF $(DEPDIR)/gschem-o_net.Tpo -c -o gschem-o_net.o `test -f 'o_net.c' || echo '$(srcdir)/'`o_net.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-o_net.Tpo $(DEPDIR)/gschem-o_net.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_net.c' object='gschem-o_net.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-o_net.o `test -f 'o_net.c' || echo '$(srcdir)/'`o_net.c gschem-o_net.obj: o_net.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-o_net.obj -MD -MP -MF $(DEPDIR)/gschem-o_net.Tpo -c -o gschem-o_net.obj `if test -f 'o_net.c'; then $(CYGPATH_W) 'o_net.c'; else $(CYGPATH_W) '$(srcdir)/o_net.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-o_net.Tpo $(DEPDIR)/gschem-o_net.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_net.c' object='gschem-o_net.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-o_net.obj `if test -f 'o_net.c'; then $(CYGPATH_W) 'o_net.c'; else $(CYGPATH_W) '$(srcdir)/o_net.c'; fi` gschem-o_path.o: o_path.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-o_path.o -MD -MP -MF $(DEPDIR)/gschem-o_path.Tpo -c -o gschem-o_path.o `test -f 'o_path.c' || echo '$(srcdir)/'`o_path.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-o_path.Tpo $(DEPDIR)/gschem-o_path.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_path.c' object='gschem-o_path.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-o_path.o `test -f 'o_path.c' || echo '$(srcdir)/'`o_path.c gschem-o_path.obj: o_path.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-o_path.obj -MD -MP -MF $(DEPDIR)/gschem-o_path.Tpo -c -o gschem-o_path.obj `if test -f 'o_path.c'; then $(CYGPATH_W) 'o_path.c'; else $(CYGPATH_W) '$(srcdir)/o_path.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-o_path.Tpo $(DEPDIR)/gschem-o_path.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_path.c' object='gschem-o_path.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-o_path.obj `if test -f 'o_path.c'; then $(CYGPATH_W) 'o_path.c'; else $(CYGPATH_W) '$(srcdir)/o_path.c'; fi` gschem-o_picture.o: o_picture.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-o_picture.o -MD -MP -MF $(DEPDIR)/gschem-o_picture.Tpo -c -o gschem-o_picture.o `test -f 'o_picture.c' || echo '$(srcdir)/'`o_picture.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-o_picture.Tpo $(DEPDIR)/gschem-o_picture.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_picture.c' object='gschem-o_picture.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-o_picture.o `test -f 'o_picture.c' || echo '$(srcdir)/'`o_picture.c gschem-o_picture.obj: o_picture.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-o_picture.obj -MD -MP -MF $(DEPDIR)/gschem-o_picture.Tpo -c -o gschem-o_picture.obj `if test -f 'o_picture.c'; then $(CYGPATH_W) 'o_picture.c'; else $(CYGPATH_W) '$(srcdir)/o_picture.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-o_picture.Tpo $(DEPDIR)/gschem-o_picture.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_picture.c' object='gschem-o_picture.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-o_picture.obj `if test -f 'o_picture.c'; then $(CYGPATH_W) 'o_picture.c'; else $(CYGPATH_W) '$(srcdir)/o_picture.c'; fi` gschem-o_pin.o: o_pin.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-o_pin.o -MD -MP -MF $(DEPDIR)/gschem-o_pin.Tpo -c -o gschem-o_pin.o `test -f 'o_pin.c' || echo '$(srcdir)/'`o_pin.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-o_pin.Tpo $(DEPDIR)/gschem-o_pin.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_pin.c' object='gschem-o_pin.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-o_pin.o `test -f 'o_pin.c' || echo '$(srcdir)/'`o_pin.c gschem-o_pin.obj: o_pin.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-o_pin.obj -MD -MP -MF $(DEPDIR)/gschem-o_pin.Tpo -c -o gschem-o_pin.obj `if test -f 'o_pin.c'; then $(CYGPATH_W) 'o_pin.c'; else $(CYGPATH_W) '$(srcdir)/o_pin.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-o_pin.Tpo $(DEPDIR)/gschem-o_pin.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_pin.c' object='gschem-o_pin.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-o_pin.obj `if test -f 'o_pin.c'; then $(CYGPATH_W) 'o_pin.c'; else $(CYGPATH_W) '$(srcdir)/o_pin.c'; fi` gschem-o_place.o: o_place.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-o_place.o -MD -MP -MF $(DEPDIR)/gschem-o_place.Tpo -c -o gschem-o_place.o `test -f 'o_place.c' || echo '$(srcdir)/'`o_place.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-o_place.Tpo $(DEPDIR)/gschem-o_place.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_place.c' object='gschem-o_place.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-o_place.o `test -f 'o_place.c' || echo '$(srcdir)/'`o_place.c gschem-o_place.obj: o_place.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-o_place.obj -MD -MP -MF $(DEPDIR)/gschem-o_place.Tpo -c -o gschem-o_place.obj `if test -f 'o_place.c'; then $(CYGPATH_W) 'o_place.c'; else $(CYGPATH_W) '$(srcdir)/o_place.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-o_place.Tpo $(DEPDIR)/gschem-o_place.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_place.c' object='gschem-o_place.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-o_place.obj `if test -f 'o_place.c'; then $(CYGPATH_W) 'o_place.c'; else $(CYGPATH_W) '$(srcdir)/o_place.c'; fi` gschem-o_select.o: o_select.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-o_select.o -MD -MP -MF $(DEPDIR)/gschem-o_select.Tpo -c -o gschem-o_select.o `test -f 'o_select.c' || echo '$(srcdir)/'`o_select.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-o_select.Tpo $(DEPDIR)/gschem-o_select.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_select.c' object='gschem-o_select.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-o_select.o `test -f 'o_select.c' || echo '$(srcdir)/'`o_select.c gschem-o_select.obj: o_select.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-o_select.obj -MD -MP -MF $(DEPDIR)/gschem-o_select.Tpo -c -o gschem-o_select.obj `if test -f 'o_select.c'; then $(CYGPATH_W) 'o_select.c'; else $(CYGPATH_W) '$(srcdir)/o_select.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-o_select.Tpo $(DEPDIR)/gschem-o_select.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_select.c' object='gschem-o_select.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-o_select.obj `if test -f 'o_select.c'; then $(CYGPATH_W) 'o_select.c'; else $(CYGPATH_W) '$(srcdir)/o_select.c'; fi` gschem-o_slot.o: o_slot.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-o_slot.o -MD -MP -MF $(DEPDIR)/gschem-o_slot.Tpo -c -o gschem-o_slot.o `test -f 'o_slot.c' || echo '$(srcdir)/'`o_slot.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-o_slot.Tpo $(DEPDIR)/gschem-o_slot.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_slot.c' object='gschem-o_slot.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-o_slot.o `test -f 'o_slot.c' || echo '$(srcdir)/'`o_slot.c gschem-o_slot.obj: o_slot.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-o_slot.obj -MD -MP -MF $(DEPDIR)/gschem-o_slot.Tpo -c -o gschem-o_slot.obj `if test -f 'o_slot.c'; then $(CYGPATH_W) 'o_slot.c'; else $(CYGPATH_W) '$(srcdir)/o_slot.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-o_slot.Tpo $(DEPDIR)/gschem-o_slot.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_slot.c' object='gschem-o_slot.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-o_slot.obj `if test -f 'o_slot.c'; then $(CYGPATH_W) 'o_slot.c'; else $(CYGPATH_W) '$(srcdir)/o_slot.c'; fi` gschem-o_text.o: o_text.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-o_text.o -MD -MP -MF $(DEPDIR)/gschem-o_text.Tpo -c -o gschem-o_text.o `test -f 'o_text.c' || echo '$(srcdir)/'`o_text.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-o_text.Tpo $(DEPDIR)/gschem-o_text.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_text.c' object='gschem-o_text.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-o_text.o `test -f 'o_text.c' || echo '$(srcdir)/'`o_text.c gschem-o_text.obj: o_text.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-o_text.obj -MD -MP -MF $(DEPDIR)/gschem-o_text.Tpo -c -o gschem-o_text.obj `if test -f 'o_text.c'; then $(CYGPATH_W) 'o_text.c'; else $(CYGPATH_W) '$(srcdir)/o_text.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-o_text.Tpo $(DEPDIR)/gschem-o_text.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_text.c' object='gschem-o_text.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-o_text.obj `if test -f 'o_text.c'; then $(CYGPATH_W) 'o_text.c'; else $(CYGPATH_W) '$(srcdir)/o_text.c'; fi` gschem-o_undo.o: o_undo.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-o_undo.o -MD -MP -MF $(DEPDIR)/gschem-o_undo.Tpo -c -o gschem-o_undo.o `test -f 'o_undo.c' || echo '$(srcdir)/'`o_undo.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-o_undo.Tpo $(DEPDIR)/gschem-o_undo.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_undo.c' object='gschem-o_undo.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-o_undo.o `test -f 'o_undo.c' || echo '$(srcdir)/'`o_undo.c gschem-o_undo.obj: o_undo.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-o_undo.obj -MD -MP -MF $(DEPDIR)/gschem-o_undo.Tpo -c -o gschem-o_undo.obj `if test -f 'o_undo.c'; then $(CYGPATH_W) 'o_undo.c'; else $(CYGPATH_W) '$(srcdir)/o_undo.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-o_undo.Tpo $(DEPDIR)/gschem-o_undo.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o_undo.c' object='gschem-o_undo.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-o_undo.obj `if test -f 'o_undo.c'; then $(CYGPATH_W) 'o_undo.c'; else $(CYGPATH_W) '$(srcdir)/o_undo.c'; fi` gschem-parsecmd.o: parsecmd.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-parsecmd.o -MD -MP -MF $(DEPDIR)/gschem-parsecmd.Tpo -c -o gschem-parsecmd.o `test -f 'parsecmd.c' || echo '$(srcdir)/'`parsecmd.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-parsecmd.Tpo $(DEPDIR)/gschem-parsecmd.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='parsecmd.c' object='gschem-parsecmd.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-parsecmd.o `test -f 'parsecmd.c' || echo '$(srcdir)/'`parsecmd.c gschem-parsecmd.obj: parsecmd.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-parsecmd.obj -MD -MP -MF $(DEPDIR)/gschem-parsecmd.Tpo -c -o gschem-parsecmd.obj `if test -f 'parsecmd.c'; then $(CYGPATH_W) 'parsecmd.c'; else $(CYGPATH_W) '$(srcdir)/parsecmd.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-parsecmd.Tpo $(DEPDIR)/gschem-parsecmd.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='parsecmd.c' object='gschem-parsecmd.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-parsecmd.obj `if test -f 'parsecmd.c'; then $(CYGPATH_W) 'parsecmd.c'; else $(CYGPATH_W) '$(srcdir)/parsecmd.c'; fi` gschem-s_stretch.o: s_stretch.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-s_stretch.o -MD -MP -MF $(DEPDIR)/gschem-s_stretch.Tpo -c -o gschem-s_stretch.o `test -f 's_stretch.c' || echo '$(srcdir)/'`s_stretch.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-s_stretch.Tpo $(DEPDIR)/gschem-s_stretch.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_stretch.c' object='gschem-s_stretch.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-s_stretch.o `test -f 's_stretch.c' || echo '$(srcdir)/'`s_stretch.c gschem-s_stretch.obj: s_stretch.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-s_stretch.obj -MD -MP -MF $(DEPDIR)/gschem-s_stretch.Tpo -c -o gschem-s_stretch.obj `if test -f 's_stretch.c'; then $(CYGPATH_W) 's_stretch.c'; else $(CYGPATH_W) '$(srcdir)/s_stretch.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-s_stretch.Tpo $(DEPDIR)/gschem-s_stretch.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_stretch.c' object='gschem-s_stretch.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-s_stretch.obj `if test -f 's_stretch.c'; then $(CYGPATH_W) 's_stretch.c'; else $(CYGPATH_W) '$(srcdir)/s_stretch.c'; fi` gschem-x_attribedit.o: x_attribedit.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-x_attribedit.o -MD -MP -MF $(DEPDIR)/gschem-x_attribedit.Tpo -c -o gschem-x_attribedit.o `test -f 'x_attribedit.c' || echo '$(srcdir)/'`x_attribedit.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-x_attribedit.Tpo $(DEPDIR)/gschem-x_attribedit.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_attribedit.c' object='gschem-x_attribedit.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-x_attribedit.o `test -f 'x_attribedit.c' || echo '$(srcdir)/'`x_attribedit.c gschem-x_attribedit.obj: x_attribedit.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-x_attribedit.obj -MD -MP -MF $(DEPDIR)/gschem-x_attribedit.Tpo -c -o gschem-x_attribedit.obj `if test -f 'x_attribedit.c'; then $(CYGPATH_W) 'x_attribedit.c'; else $(CYGPATH_W) '$(srcdir)/x_attribedit.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-x_attribedit.Tpo $(DEPDIR)/gschem-x_attribedit.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_attribedit.c' object='gschem-x_attribedit.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-x_attribedit.obj `if test -f 'x_attribedit.c'; then $(CYGPATH_W) 'x_attribedit.c'; else $(CYGPATH_W) '$(srcdir)/x_attribedit.c'; fi` gschem-x_autonumber.o: x_autonumber.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-x_autonumber.o -MD -MP -MF $(DEPDIR)/gschem-x_autonumber.Tpo -c -o gschem-x_autonumber.o `test -f 'x_autonumber.c' || echo '$(srcdir)/'`x_autonumber.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-x_autonumber.Tpo $(DEPDIR)/gschem-x_autonumber.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_autonumber.c' object='gschem-x_autonumber.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-x_autonumber.o `test -f 'x_autonumber.c' || echo '$(srcdir)/'`x_autonumber.c gschem-x_autonumber.obj: x_autonumber.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-x_autonumber.obj -MD -MP -MF $(DEPDIR)/gschem-x_autonumber.Tpo -c -o gschem-x_autonumber.obj `if test -f 'x_autonumber.c'; then $(CYGPATH_W) 'x_autonumber.c'; else $(CYGPATH_W) '$(srcdir)/x_autonumber.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-x_autonumber.Tpo $(DEPDIR)/gschem-x_autonumber.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_autonumber.c' object='gschem-x_autonumber.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-x_autonumber.obj `if test -f 'x_autonumber.c'; then $(CYGPATH_W) 'x_autonumber.c'; else $(CYGPATH_W) '$(srcdir)/x_autonumber.c'; fi` gschem-x_basic.o: x_basic.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-x_basic.o -MD -MP -MF $(DEPDIR)/gschem-x_basic.Tpo -c -o gschem-x_basic.o `test -f 'x_basic.c' || echo '$(srcdir)/'`x_basic.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-x_basic.Tpo $(DEPDIR)/gschem-x_basic.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_basic.c' object='gschem-x_basic.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-x_basic.o `test -f 'x_basic.c' || echo '$(srcdir)/'`x_basic.c gschem-x_basic.obj: x_basic.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-x_basic.obj -MD -MP -MF $(DEPDIR)/gschem-x_basic.Tpo -c -o gschem-x_basic.obj `if test -f 'x_basic.c'; then $(CYGPATH_W) 'x_basic.c'; else $(CYGPATH_W) '$(srcdir)/x_basic.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-x_basic.Tpo $(DEPDIR)/gschem-x_basic.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_basic.c' object='gschem-x_basic.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-x_basic.obj `if test -f 'x_basic.c'; then $(CYGPATH_W) 'x_basic.c'; else $(CYGPATH_W) '$(srcdir)/x_basic.c'; fi` gschem-x_clipboard.o: x_clipboard.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-x_clipboard.o -MD -MP -MF $(DEPDIR)/gschem-x_clipboard.Tpo -c -o gschem-x_clipboard.o `test -f 'x_clipboard.c' || echo '$(srcdir)/'`x_clipboard.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-x_clipboard.Tpo $(DEPDIR)/gschem-x_clipboard.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_clipboard.c' object='gschem-x_clipboard.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-x_clipboard.o `test -f 'x_clipboard.c' || echo '$(srcdir)/'`x_clipboard.c gschem-x_clipboard.obj: x_clipboard.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-x_clipboard.obj -MD -MP -MF $(DEPDIR)/gschem-x_clipboard.Tpo -c -o gschem-x_clipboard.obj `if test -f 'x_clipboard.c'; then $(CYGPATH_W) 'x_clipboard.c'; else $(CYGPATH_W) '$(srcdir)/x_clipboard.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-x_clipboard.Tpo $(DEPDIR)/gschem-x_clipboard.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_clipboard.c' object='gschem-x_clipboard.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-x_clipboard.obj `if test -f 'x_clipboard.c'; then $(CYGPATH_W) 'x_clipboard.c'; else $(CYGPATH_W) '$(srcdir)/x_clipboard.c'; fi` gschem-x_color.o: x_color.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-x_color.o -MD -MP -MF $(DEPDIR)/gschem-x_color.Tpo -c -o gschem-x_color.o `test -f 'x_color.c' || echo '$(srcdir)/'`x_color.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-x_color.Tpo $(DEPDIR)/gschem-x_color.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_color.c' object='gschem-x_color.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-x_color.o `test -f 'x_color.c' || echo '$(srcdir)/'`x_color.c gschem-x_color.obj: x_color.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-x_color.obj -MD -MP -MF $(DEPDIR)/gschem-x_color.Tpo -c -o gschem-x_color.obj `if test -f 'x_color.c'; then $(CYGPATH_W) 'x_color.c'; else $(CYGPATH_W) '$(srcdir)/x_color.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-x_color.Tpo $(DEPDIR)/gschem-x_color.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_color.c' object='gschem-x_color.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-x_color.obj `if test -f 'x_color.c'; then $(CYGPATH_W) 'x_color.c'; else $(CYGPATH_W) '$(srcdir)/x_color.c'; fi` gschem-x_compselect.o: x_compselect.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-x_compselect.o -MD -MP -MF $(DEPDIR)/gschem-x_compselect.Tpo -c -o gschem-x_compselect.o `test -f 'x_compselect.c' || echo '$(srcdir)/'`x_compselect.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-x_compselect.Tpo $(DEPDIR)/gschem-x_compselect.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_compselect.c' object='gschem-x_compselect.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-x_compselect.o `test -f 'x_compselect.c' || echo '$(srcdir)/'`x_compselect.c gschem-x_compselect.obj: x_compselect.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-x_compselect.obj -MD -MP -MF $(DEPDIR)/gschem-x_compselect.Tpo -c -o gschem-x_compselect.obj `if test -f 'x_compselect.c'; then $(CYGPATH_W) 'x_compselect.c'; else $(CYGPATH_W) '$(srcdir)/x_compselect.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-x_compselect.Tpo $(DEPDIR)/gschem-x_compselect.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_compselect.c' object='gschem-x_compselect.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-x_compselect.obj `if test -f 'x_compselect.c'; then $(CYGPATH_W) 'x_compselect.c'; else $(CYGPATH_W) '$(srcdir)/x_compselect.c'; fi` gschem-x_dialog.o: x_dialog.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-x_dialog.o -MD -MP -MF $(DEPDIR)/gschem-x_dialog.Tpo -c -o gschem-x_dialog.o `test -f 'x_dialog.c' || echo '$(srcdir)/'`x_dialog.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-x_dialog.Tpo $(DEPDIR)/gschem-x_dialog.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_dialog.c' object='gschem-x_dialog.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-x_dialog.o `test -f 'x_dialog.c' || echo '$(srcdir)/'`x_dialog.c gschem-x_dialog.obj: x_dialog.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-x_dialog.obj -MD -MP -MF $(DEPDIR)/gschem-x_dialog.Tpo -c -o gschem-x_dialog.obj `if test -f 'x_dialog.c'; then $(CYGPATH_W) 'x_dialog.c'; else $(CYGPATH_W) '$(srcdir)/x_dialog.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-x_dialog.Tpo $(DEPDIR)/gschem-x_dialog.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_dialog.c' object='gschem-x_dialog.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-x_dialog.obj `if test -f 'x_dialog.c'; then $(CYGPATH_W) 'x_dialog.c'; else $(CYGPATH_W) '$(srcdir)/x_dialog.c'; fi` gschem-x_event.o: x_event.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-x_event.o -MD -MP -MF $(DEPDIR)/gschem-x_event.Tpo -c -o gschem-x_event.o `test -f 'x_event.c' || echo '$(srcdir)/'`x_event.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-x_event.Tpo $(DEPDIR)/gschem-x_event.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_event.c' object='gschem-x_event.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-x_event.o `test -f 'x_event.c' || echo '$(srcdir)/'`x_event.c gschem-x_event.obj: x_event.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-x_event.obj -MD -MP -MF $(DEPDIR)/gschem-x_event.Tpo -c -o gschem-x_event.obj `if test -f 'x_event.c'; then $(CYGPATH_W) 'x_event.c'; else $(CYGPATH_W) '$(srcdir)/x_event.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-x_event.Tpo $(DEPDIR)/gschem-x_event.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_event.c' object='gschem-x_event.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-x_event.obj `if test -f 'x_event.c'; then $(CYGPATH_W) 'x_event.c'; else $(CYGPATH_W) '$(srcdir)/x_event.c'; fi` gschem-x_fileselect.o: x_fileselect.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-x_fileselect.o -MD -MP -MF $(DEPDIR)/gschem-x_fileselect.Tpo -c -o gschem-x_fileselect.o `test -f 'x_fileselect.c' || echo '$(srcdir)/'`x_fileselect.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-x_fileselect.Tpo $(DEPDIR)/gschem-x_fileselect.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_fileselect.c' object='gschem-x_fileselect.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-x_fileselect.o `test -f 'x_fileselect.c' || echo '$(srcdir)/'`x_fileselect.c gschem-x_fileselect.obj: x_fileselect.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-x_fileselect.obj -MD -MP -MF $(DEPDIR)/gschem-x_fileselect.Tpo -c -o gschem-x_fileselect.obj `if test -f 'x_fileselect.c'; then $(CYGPATH_W) 'x_fileselect.c'; else $(CYGPATH_W) '$(srcdir)/x_fileselect.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-x_fileselect.Tpo $(DEPDIR)/gschem-x_fileselect.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_fileselect.c' object='gschem-x_fileselect.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-x_fileselect.obj `if test -f 'x_fileselect.c'; then $(CYGPATH_W) 'x_fileselect.c'; else $(CYGPATH_W) '$(srcdir)/x_fileselect.c'; fi` gschem-x_grid.o: x_grid.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-x_grid.o -MD -MP -MF $(DEPDIR)/gschem-x_grid.Tpo -c -o gschem-x_grid.o `test -f 'x_grid.c' || echo '$(srcdir)/'`x_grid.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-x_grid.Tpo $(DEPDIR)/gschem-x_grid.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_grid.c' object='gschem-x_grid.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-x_grid.o `test -f 'x_grid.c' || echo '$(srcdir)/'`x_grid.c gschem-x_grid.obj: x_grid.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-x_grid.obj -MD -MP -MF $(DEPDIR)/gschem-x_grid.Tpo -c -o gschem-x_grid.obj `if test -f 'x_grid.c'; then $(CYGPATH_W) 'x_grid.c'; else $(CYGPATH_W) '$(srcdir)/x_grid.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-x_grid.Tpo $(DEPDIR)/gschem-x_grid.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_grid.c' object='gschem-x_grid.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-x_grid.obj `if test -f 'x_grid.c'; then $(CYGPATH_W) 'x_grid.c'; else $(CYGPATH_W) '$(srcdir)/x_grid.c'; fi` gschem-x_image.o: x_image.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-x_image.o -MD -MP -MF $(DEPDIR)/gschem-x_image.Tpo -c -o gschem-x_image.o `test -f 'x_image.c' || echo '$(srcdir)/'`x_image.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-x_image.Tpo $(DEPDIR)/gschem-x_image.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_image.c' object='gschem-x_image.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-x_image.o `test -f 'x_image.c' || echo '$(srcdir)/'`x_image.c gschem-x_image.obj: x_image.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-x_image.obj -MD -MP -MF $(DEPDIR)/gschem-x_image.Tpo -c -o gschem-x_image.obj `if test -f 'x_image.c'; then $(CYGPATH_W) 'x_image.c'; else $(CYGPATH_W) '$(srcdir)/x_image.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-x_image.Tpo $(DEPDIR)/gschem-x_image.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_image.c' object='gschem-x_image.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-x_image.obj `if test -f 'x_image.c'; then $(CYGPATH_W) 'x_image.c'; else $(CYGPATH_W) '$(srcdir)/x_image.c'; fi` gschem-x_log.o: x_log.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-x_log.o -MD -MP -MF $(DEPDIR)/gschem-x_log.Tpo -c -o gschem-x_log.o `test -f 'x_log.c' || echo '$(srcdir)/'`x_log.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-x_log.Tpo $(DEPDIR)/gschem-x_log.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_log.c' object='gschem-x_log.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-x_log.o `test -f 'x_log.c' || echo '$(srcdir)/'`x_log.c gschem-x_log.obj: x_log.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-x_log.obj -MD -MP -MF $(DEPDIR)/gschem-x_log.Tpo -c -o gschem-x_log.obj `if test -f 'x_log.c'; then $(CYGPATH_W) 'x_log.c'; else $(CYGPATH_W) '$(srcdir)/x_log.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-x_log.Tpo $(DEPDIR)/gschem-x_log.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_log.c' object='gschem-x_log.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-x_log.obj `if test -f 'x_log.c'; then $(CYGPATH_W) 'x_log.c'; else $(CYGPATH_W) '$(srcdir)/x_log.c'; fi` gschem-x_menus.o: x_menus.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-x_menus.o -MD -MP -MF $(DEPDIR)/gschem-x_menus.Tpo -c -o gschem-x_menus.o `test -f 'x_menus.c' || echo '$(srcdir)/'`x_menus.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-x_menus.Tpo $(DEPDIR)/gschem-x_menus.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_menus.c' object='gschem-x_menus.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-x_menus.o `test -f 'x_menus.c' || echo '$(srcdir)/'`x_menus.c gschem-x_menus.obj: x_menus.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-x_menus.obj -MD -MP -MF $(DEPDIR)/gschem-x_menus.Tpo -c -o gschem-x_menus.obj `if test -f 'x_menus.c'; then $(CYGPATH_W) 'x_menus.c'; else $(CYGPATH_W) '$(srcdir)/x_menus.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-x_menus.Tpo $(DEPDIR)/gschem-x_menus.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_menus.c' object='gschem-x_menus.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-x_menus.obj `if test -f 'x_menus.c'; then $(CYGPATH_W) 'x_menus.c'; else $(CYGPATH_W) '$(srcdir)/x_menus.c'; fi` gschem-x_misc.o: x_misc.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-x_misc.o -MD -MP -MF $(DEPDIR)/gschem-x_misc.Tpo -c -o gschem-x_misc.o `test -f 'x_misc.c' || echo '$(srcdir)/'`x_misc.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-x_misc.Tpo $(DEPDIR)/gschem-x_misc.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_misc.c' object='gschem-x_misc.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-x_misc.o `test -f 'x_misc.c' || echo '$(srcdir)/'`x_misc.c gschem-x_misc.obj: x_misc.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-x_misc.obj -MD -MP -MF $(DEPDIR)/gschem-x_misc.Tpo -c -o gschem-x_misc.obj `if test -f 'x_misc.c'; then $(CYGPATH_W) 'x_misc.c'; else $(CYGPATH_W) '$(srcdir)/x_misc.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-x_misc.Tpo $(DEPDIR)/gschem-x_misc.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_misc.c' object='gschem-x_misc.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-x_misc.obj `if test -f 'x_misc.c'; then $(CYGPATH_W) 'x_misc.c'; else $(CYGPATH_W) '$(srcdir)/x_misc.c'; fi` gschem-x_multiattrib.o: x_multiattrib.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-x_multiattrib.o -MD -MP -MF $(DEPDIR)/gschem-x_multiattrib.Tpo -c -o gschem-x_multiattrib.o `test -f 'x_multiattrib.c' || echo '$(srcdir)/'`x_multiattrib.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-x_multiattrib.Tpo $(DEPDIR)/gschem-x_multiattrib.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_multiattrib.c' object='gschem-x_multiattrib.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-x_multiattrib.o `test -f 'x_multiattrib.c' || echo '$(srcdir)/'`x_multiattrib.c gschem-x_multiattrib.obj: x_multiattrib.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-x_multiattrib.obj -MD -MP -MF $(DEPDIR)/gschem-x_multiattrib.Tpo -c -o gschem-x_multiattrib.obj `if test -f 'x_multiattrib.c'; then $(CYGPATH_W) 'x_multiattrib.c'; else $(CYGPATH_W) '$(srcdir)/x_multiattrib.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-x_multiattrib.Tpo $(DEPDIR)/gschem-x_multiattrib.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_multiattrib.c' object='gschem-x_multiattrib.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-x_multiattrib.obj `if test -f 'x_multiattrib.c'; then $(CYGPATH_W) 'x_multiattrib.c'; else $(CYGPATH_W) '$(srcdir)/x_multiattrib.c'; fi` gschem-x_pagesel.o: x_pagesel.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-x_pagesel.o -MD -MP -MF $(DEPDIR)/gschem-x_pagesel.Tpo -c -o gschem-x_pagesel.o `test -f 'x_pagesel.c' || echo '$(srcdir)/'`x_pagesel.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-x_pagesel.Tpo $(DEPDIR)/gschem-x_pagesel.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_pagesel.c' object='gschem-x_pagesel.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-x_pagesel.o `test -f 'x_pagesel.c' || echo '$(srcdir)/'`x_pagesel.c gschem-x_pagesel.obj: x_pagesel.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-x_pagesel.obj -MD -MP -MF $(DEPDIR)/gschem-x_pagesel.Tpo -c -o gschem-x_pagesel.obj `if test -f 'x_pagesel.c'; then $(CYGPATH_W) 'x_pagesel.c'; else $(CYGPATH_W) '$(srcdir)/x_pagesel.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-x_pagesel.Tpo $(DEPDIR)/gschem-x_pagesel.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_pagesel.c' object='gschem-x_pagesel.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-x_pagesel.obj `if test -f 'x_pagesel.c'; then $(CYGPATH_W) 'x_pagesel.c'; else $(CYGPATH_W) '$(srcdir)/x_pagesel.c'; fi` gschem-x_preview.o: x_preview.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-x_preview.o -MD -MP -MF $(DEPDIR)/gschem-x_preview.Tpo -c -o gschem-x_preview.o `test -f 'x_preview.c' || echo '$(srcdir)/'`x_preview.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-x_preview.Tpo $(DEPDIR)/gschem-x_preview.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_preview.c' object='gschem-x_preview.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-x_preview.o `test -f 'x_preview.c' || echo '$(srcdir)/'`x_preview.c gschem-x_preview.obj: x_preview.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-x_preview.obj -MD -MP -MF $(DEPDIR)/gschem-x_preview.Tpo -c -o gschem-x_preview.obj `if test -f 'x_preview.c'; then $(CYGPATH_W) 'x_preview.c'; else $(CYGPATH_W) '$(srcdir)/x_preview.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-x_preview.Tpo $(DEPDIR)/gschem-x_preview.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_preview.c' object='gschem-x_preview.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-x_preview.obj `if test -f 'x_preview.c'; then $(CYGPATH_W) 'x_preview.c'; else $(CYGPATH_W) '$(srcdir)/x_preview.c'; fi` gschem-x_print.o: x_print.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-x_print.o -MD -MP -MF $(DEPDIR)/gschem-x_print.Tpo -c -o gschem-x_print.o `test -f 'x_print.c' || echo '$(srcdir)/'`x_print.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-x_print.Tpo $(DEPDIR)/gschem-x_print.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_print.c' object='gschem-x_print.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-x_print.o `test -f 'x_print.c' || echo '$(srcdir)/'`x_print.c gschem-x_print.obj: x_print.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-x_print.obj -MD -MP -MF $(DEPDIR)/gschem-x_print.Tpo -c -o gschem-x_print.obj `if test -f 'x_print.c'; then $(CYGPATH_W) 'x_print.c'; else $(CYGPATH_W) '$(srcdir)/x_print.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-x_print.Tpo $(DEPDIR)/gschem-x_print.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_print.c' object='gschem-x_print.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-x_print.obj `if test -f 'x_print.c'; then $(CYGPATH_W) 'x_print.c'; else $(CYGPATH_W) '$(srcdir)/x_print.c'; fi` gschem-x_rc.o: x_rc.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-x_rc.o -MD -MP -MF $(DEPDIR)/gschem-x_rc.Tpo -c -o gschem-x_rc.o `test -f 'x_rc.c' || echo '$(srcdir)/'`x_rc.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-x_rc.Tpo $(DEPDIR)/gschem-x_rc.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_rc.c' object='gschem-x_rc.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-x_rc.o `test -f 'x_rc.c' || echo '$(srcdir)/'`x_rc.c gschem-x_rc.obj: x_rc.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-x_rc.obj -MD -MP -MF $(DEPDIR)/gschem-x_rc.Tpo -c -o gschem-x_rc.obj `if test -f 'x_rc.c'; then $(CYGPATH_W) 'x_rc.c'; else $(CYGPATH_W) '$(srcdir)/x_rc.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-x_rc.Tpo $(DEPDIR)/gschem-x_rc.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_rc.c' object='gschem-x_rc.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-x_rc.obj `if test -f 'x_rc.c'; then $(CYGPATH_W) 'x_rc.c'; else $(CYGPATH_W) '$(srcdir)/x_rc.c'; fi` gschem-x_script.o: x_script.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-x_script.o -MD -MP -MF $(DEPDIR)/gschem-x_script.Tpo -c -o gschem-x_script.o `test -f 'x_script.c' || echo '$(srcdir)/'`x_script.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-x_script.Tpo $(DEPDIR)/gschem-x_script.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_script.c' object='gschem-x_script.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-x_script.o `test -f 'x_script.c' || echo '$(srcdir)/'`x_script.c gschem-x_script.obj: x_script.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-x_script.obj -MD -MP -MF $(DEPDIR)/gschem-x_script.Tpo -c -o gschem-x_script.obj `if test -f 'x_script.c'; then $(CYGPATH_W) 'x_script.c'; else $(CYGPATH_W) '$(srcdir)/x_script.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-x_script.Tpo $(DEPDIR)/gschem-x_script.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_script.c' object='gschem-x_script.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-x_script.obj `if test -f 'x_script.c'; then $(CYGPATH_W) 'x_script.c'; else $(CYGPATH_W) '$(srcdir)/x_script.c'; fi` gschem-x_stroke.o: x_stroke.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-x_stroke.o -MD -MP -MF $(DEPDIR)/gschem-x_stroke.Tpo -c -o gschem-x_stroke.o `test -f 'x_stroke.c' || echo '$(srcdir)/'`x_stroke.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-x_stroke.Tpo $(DEPDIR)/gschem-x_stroke.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_stroke.c' object='gschem-x_stroke.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-x_stroke.o `test -f 'x_stroke.c' || echo '$(srcdir)/'`x_stroke.c gschem-x_stroke.obj: x_stroke.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-x_stroke.obj -MD -MP -MF $(DEPDIR)/gschem-x_stroke.Tpo -c -o gschem-x_stroke.obj `if test -f 'x_stroke.c'; then $(CYGPATH_W) 'x_stroke.c'; else $(CYGPATH_W) '$(srcdir)/x_stroke.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-x_stroke.Tpo $(DEPDIR)/gschem-x_stroke.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_stroke.c' object='gschem-x_stroke.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-x_stroke.obj `if test -f 'x_stroke.c'; then $(CYGPATH_W) 'x_stroke.c'; else $(CYGPATH_W) '$(srcdir)/x_stroke.c'; fi` gschem-x_window.o: x_window.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-x_window.o -MD -MP -MF $(DEPDIR)/gschem-x_window.Tpo -c -o gschem-x_window.o `test -f 'x_window.c' || echo '$(srcdir)/'`x_window.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-x_window.Tpo $(DEPDIR)/gschem-x_window.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_window.c' object='gschem-x_window.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-x_window.o `test -f 'x_window.c' || echo '$(srcdir)/'`x_window.c gschem-x_window.obj: x_window.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -MT gschem-x_window.obj -MD -MP -MF $(DEPDIR)/gschem-x_window.Tpo -c -o gschem-x_window.obj `if test -f 'x_window.c'; then $(CYGPATH_W) 'x_window.c'; else $(CYGPATH_W) '$(srcdir)/x_window.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gschem-x_window.Tpo $(DEPDIR)/gschem-x_window.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_window.c' object='gschem-x_window.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gschem_CPPFLAGS) $(CPPFLAGS) $(gschem_CFLAGS) $(CFLAGS) -c -o gschem-x_window.obj `if test -f 'x_window.c'; then $(CYGPATH_W) 'x_window.c'; else $(CYGPATH_W) '$(srcdir)/x_window.c'; fi` mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) check-am all-am: Makefile $(PROGRAMS) installdirs: for dir in "$(DESTDIR)$(bindir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-binPROGRAMS install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-binPROGRAMS .MAKE: all check install install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \ clean-binPROGRAMS clean-generic clean-libtool cscopelist-am \ ctags ctags-am distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-binPROGRAMS \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am uninstall-binPROGRAMS .c.x: CPP="$(CPP)" $(GUILE_SNARF) -o $@ $< $(snarf_cpp_opts) # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/gschem/src/m_basic.c0000664000175000017500000004646712220647257013726 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #include #ifdef HAVE_LIBDMALLOC #include #endif /*! \brief Convert a x coordinate to mils. * \par Function Description * Convert a x coordinate to mils. * * \param [in] w_current The GSCHEM_TOPLEVEL object * \param [in] val The x coordinate to convert * \return The coordinate value in mils. */ int mil_x (GSCHEM_TOPLEVEL *w_current, int val) { double i; double fval; int j; fval = val; i = fval * w_current->toplevel->page_current->to_world_x_constant + w_current->toplevel->page_current->left; #ifdef HAS_RINT j = rint(i); #else j = i; #endif return(j); } /*! \brief Convert a y coordinate to mils * \par Function Description * Convert a y coordinate to mils * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] val The y coordinate to convert. * \return The coordinate value in mils. */ int mil_y(GSCHEM_TOPLEVEL *w_current, int val) { double i; double fval; int j; fval = w_current->toplevel->height - val; i = fval * w_current->toplevel->page_current->to_world_y_constant + w_current->toplevel->page_current->top; #ifdef HAS_RINT j = rint(i); #else j = i; #endif return(j); } /*! \brief Convert a x coordinate to pixels. * \par Function Description * Convert a x coordinate to pixels. * * \param [in] w_current The GSCHEM_TOPLEVEL object * \param [in] val The x coordinate to convert * \return The coordinate value in pixels. */ int pix_x (GSCHEM_TOPLEVEL *w_current, int val) { double i; int j; i = w_current->toplevel->page_current->to_screen_x_constant * (double)(val - w_current->toplevel->page_current->left); #ifdef HAS_RINT j = rint(i); #else j = i; #endif /* this is a temp solution to fix the wrapping associated with */ /* X coords being greated/less than than 2^15 */ if (j >= 32768) { j = 32767; } if (j <= -32768) { j = -32767; } return(j); } /*! \brief Convert a y coordinate to pixels. * \par Function Description * Convert a y coordinate to pixels. * * \param [in] w_current The GSCHEM_TOPLEVEL object * \param [in] val The y coordinate to convert * \return The coordinate value in pixels. */ int pix_y(GSCHEM_TOPLEVEL *w_current, int val) { double i; int j; i = w_current->toplevel->height - (w_current->toplevel->page_current->to_screen_y_constant * (double)(val - w_current->toplevel->page_current->top)); #ifdef HAS_RINT j = rint(i); #else j = i; #endif /* this is a temp solution to fix the wrapping associated with */ /* X coords being greated/less than than 2^15 */ if (j >= 32768) { j = 32767; } if (j <= -32768) { j = -32767; } return(j); } /*! \brief Transform WORLD coordinates to SCREEN coordinates * \par Function Description * This function takes in WORLD x/y coordinates and * transforms them to SCREEN x/y coordinates. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] x The x coordinate in WORLD units. * \param [in] y The y coordinate in WORLD units. * \param [out] px The x coordinate in SCREEN units. * \param [out] py The y coordinate in SCREEN units. */ void WORLDtoSCREEN (GSCHEM_TOPLEVEL *w_current, int x, int y, int *px, int *py) { *px = pix_x (w_current, x); *py = pix_y (w_current, y); } /*! \brief Transform WORLD coordinates to WORLD coordinates * \par Function Description * This function takes in SCREEN x/y coordinates and * transforms them to WORLD x/y coordinates. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] mx The x coordinate in SCREEN units. * \param [in] my The y coordinate in SCREEN units. * \param [out] x The x coordinate in WORLD units. * \param [out] y The y coordinate in WORLD units. * \note Question: why are we returning in x and y * if this is SCREEN to WORLD shouldn't WORLD * coordinates be returned in mx and my? */ void SCREENtoWORLD (GSCHEM_TOPLEVEL *w_current, int mx, int my, int *x, int *y) { *x = mil_x (w_current, mx); *y = mil_y (w_current, my); } /*! \brief Find the closest grid coordinate. * \par Function Description * This function snaps the current input coordinate to the * closest grid coordinate. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] input The coordinate to snap. * \return The closest grid coordinate to the input. */ int snap_grid(GSCHEM_TOPLEVEL *w_current, int input) { int p, m, n; int sign, value, snap_grid; if (w_current->snap == SNAP_OFF || w_current->snap_size <= 0) { return(input); } snap_grid = w_current->snap_size; /* this code was inspired from killustrator, it's much simpler than mine */ sign = ( input < 0 ? -1 : 1 ); value = abs(input); p = value / snap_grid; m = value % snap_grid; n = p * snap_grid; if (m > snap_grid / 2) n += snap_grid; #if DEBUG printf("p: %d\n", p); printf("m: %d\n", m); printf("m > snap_grid / 2: %d\n", (m > snap_grid / 2)); printf("n: %d\n", n); printf("n*s: %d\n", n*sign); #endif return(sign*n); } /*! \brief Get absolute SCREEN coordinate. * \par Function Description * Get absolute SCREEN coordinate. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] val The coordinate to convert. * \return The converted SCREEN coordinate. */ int SCREENabs(GSCHEM_TOPLEVEL *w_current, int val) { double f0,f1,f; double i; int j; f0 = w_current->toplevel->page_current->left; f1 = w_current->toplevel->page_current->right; f = w_current->toplevel->width / (f1 - f0); i = f * (double)(val); #ifdef HAS_RINT j = rint(i); #else j = i; #endif return(j); } /*! \brief Get absolute WORLD coordinate. * \par Function Description * Get absolute WORLD coordinate. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] val The coordinate to convert. * \return The converted WORLD coordinate. */ int WORLDabs(GSCHEM_TOPLEVEL *w_current, int val) { double fw0,fw1,fw,fval; double i; int j; fw1 = w_current->toplevel->page_current->right; fw0 = w_current->toplevel->page_current->left; fw = w_current->toplevel->width; fval = val; i = fval * (fw1 - fw0) / fw; #ifdef HAS_RINT j = rint(i); #else j = i; #endif return(j); } /*! \brief */ typedef struct st_halfspace HALFSPACE; /*! \brief */ struct st_halfspace { int left; /* these are booleans */ int top; int right; int bottom; }; /* \note * encode_halfspace and clip are part of the cohen-sutherland clipping * algorithm. They are used to determine if an object is visible or not */ /*! \brief Encode WORLD coordinates as halfspace matrix. * \par Function Description * This function takes a point and checks if it is in the bounds * of the current TOPLEVEL object's page coordinates. It * handles points with WORLD coordinates. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] point The point in WORLD coordinates to be checked. * \param [out] halfspace The created HALFSPACE structure. * * \warning halfspace must be allocated before this function is called */ static void WORLDencode_halfspace (GSCHEM_TOPLEVEL *w_current, sPOINT *point, HALFSPACE *halfspace) { halfspace->left = point->x < w_current->toplevel->page_current->left; halfspace->right = point->x > w_current->toplevel->page_current->right; halfspace->bottom = point->y > w_current->toplevel->page_current->bottom; halfspace->top = point->y < w_current->toplevel->page_current->top; } /*! \brief Calculate the cliping region for a set of coordinates. * \par Function Description * This function will check the provided set of coordinates to see if * they fall within a clipping region. If they do the coordinates will * be changed to reflect only the region no covered by the clipping window. * All coordinates should be in WORLD units. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in,out] x1 x coordinate of the first screen point. * \param [in,out] y1 y coordinate of the first screen point. * \param [in,out] x2 x coordinate of the second screen point. * \param [in,out] y2 y coordinate of the second screen point. * \return TRUE if coordinates are now visible, FALSE otherwise. */ int WORLDclip_change (GSCHEM_TOPLEVEL *w_current, int *x1, int *y1, int *x2, int *y2) { HALFSPACE half1, half2; HALFSPACE tmp_half; sPOINT tmp_point; sPOINT point1, point2; float slope; int in1, in2, done; int visible; int w_l, w_t, w_r, w_b; point1.x = *x1; point1.y = *y1; point2.x = *x2; point2.y = *y2; w_l = w_current->toplevel->page_current->left; w_t = w_current->toplevel->page_current->top; w_r = w_current->toplevel->page_current->right; w_b = w_current->toplevel->page_current->bottom; done = FALSE; visible = FALSE; do { WORLDencode_halfspace (w_current, &point1, &half1); WORLDencode_halfspace (w_current, &point2, &half2); #if DEBUG printf("starting loop\n"); printf("1 %d %d %d %d\n", half1.left, half1.top, half1.right, half1.bottom); printf("2 %d %d %d %d\n", half2.left, half2.top, half2.right, half2.bottom); #endif in1 = (!half1.left) && (!half1.top) && (!half1.right) && (!half1.bottom); in2 = (!half2.left) && (!half2.top) && (!half2.right) && (!half2.bottom); if (in1 && in2) { /* trivally accept */ done = TRUE; visible = TRUE; } else if ( ((half1.left && half2.left) || (half1.right && half2.right)) || ((half1.top && half2.top) || (half1.bottom && half2.bottom)) ) { done = TRUE; /* trivially reject */ visible = FALSE; } else { /* at least one point outside */ if (in1) { tmp_half = half1; half1 = half2; half2 = tmp_half; tmp_point = point1; point1 = point2; point2 = tmp_point; } if (point2.x == point1.x) { /* vertical line */ if (half1.top) { point1.y = w_t; } else if (half1.bottom) { point1.y = w_b; } } else { /* not a vertical line */ /* possible fix for alpha core dumping */ /* assume the object is visible */ if ((point2.x - point1.x) == 0) { return(TRUE); } slope = (float) (point2.y - point1.y) / (float) (point2.x - point1.x); /* possible fix for alpha core dumping */ /* assume the object is visible */ if (slope == 0.0) { return(TRUE); } if (half1.left) { point1.y = point1.y + (w_l - point1.x) * slope; point1.x = w_l; } else if (half1.right) { point1.y = point1.y + (w_r - point1.x) * slope; point1.x = w_r; } else if (half1.bottom) { point1.x = point1.x + (w_b - point1.y) / slope; point1.y = w_b; } else if (half1.top) { point1.x = point1.x + (w_t - point1.y) / slope; point1.y = w_t; } } /* end of not a vertical line */ } /* end of at least one outside */ } while (!done); /*printf("after: %d %d %d %d\n", point1.x, point1.y, point2.x, point2.y);*/ *x1 = point1.x; *y1 = point1.y; *x2 = point2.x; *y2 = point2.y; return(visible); } /*! \brief Check if a set of coordinates are within a clipping region * \par Function Description * This function will check if the given set of coordinates * are within a clipping region. No action will be taken to change * the coordinates. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in,out] x1 x coordinate of the first screen point. * \param [in,out] y1 y coordinate of the first screen point. * \param [in,out] x2 x coordinate of the second screen point. * \param [in,out] y2 y coordinate of the second screen point. * \return TRUE if coordinates are now visible, FALSE otherwise. */ int clip_nochange (GSCHEM_TOPLEVEL *w_current, int x1, int y1, int x2, int y2) { HALFSPACE half1, half2; HALFSPACE tmp_half; sPOINT tmp_point; sPOINT point1, point2; float slope; int in1, in2, done; int visible; int w_l, w_t, w_r, w_b; point1.x = x1; point1.y = y1; point2.x = x2; point2.y = y2; /*printf("before: %d %d %d %d\n", x1, y1, x2, y2);*/ w_l = w_current->toplevel->page_current->left; w_t = w_current->toplevel->page_current->top; w_r = w_current->toplevel->page_current->right; w_b = w_current->toplevel->page_current->bottom; done = FALSE; visible = FALSE; do { WORLDencode_halfspace (w_current, &point1, &half1); WORLDencode_halfspace (w_current, &point2, &half2); #if DEBUG printf("starting loop\n"); printf("1 %d %d %d %d\n", half1.left, half1.top, half1.right, half1.bottom); printf("2 %d %d %d %d\n", half2.left, half2.top, half2.right, half2.bottom); #endif in1 = (!half1.left) && (!half1.top) && (!half1.right) && (!half1.bottom); in2 = (!half2.left) && (!half2.top) && (!half2.right) && (!half2.bottom); if (in1 && in2) { /* trivally accept */ done = TRUE; visible = TRUE; } else if ( ((half1.left && half2.left) || (half1.right && half2.right)) || ((half1.top && half2.top) || (half1.bottom && half2.bottom)) ) { done = TRUE; /* trivially reject */ visible = FALSE; } else { /* at least one point outside */ if (in1) { tmp_half = half1; half1 = half2; half2 = tmp_half; tmp_point = point1; point1 = point2; point2 = tmp_point; } if (point2.x == point1.x) { /* vertical line */ if (half1.top) { point1.y = w_t; } else if (half1.bottom) { point1.y = w_b; } } else { /* not a vertical line */ /* possible fix for alpha core dumping */ /* assume the object is visible */ if ((point2.x - point1.x) == 0) { return(TRUE); } slope = (float) (point2.y - point1.y) / (float) (point2.x - point1.x); /* possible fix for alpha core dumping */ /* assume the object is visible */ if (slope == 0.0) { return(TRUE); } if (half1.left) { point1.y = point1.y + (w_l - point1.x) * slope; point1.x = w_l; } else if (half1.right) { point1.y = point1.y + (w_r - point1.x) * slope; point1.x = w_r; } else if (half1.bottom) { point1.x = point1.x + (w_b - point1.y) / slope; point1.y = w_b; } else if (half1.top) { point1.x = point1.x + (w_t - point1.y) / slope; point1.y = w_t; } } /* end of not a vertical line */ } /* end of at least one outside */ } while (!done); return(visible); } /*! \brief Check if a bounding box is visible on the screen. * \par Function Description * This function checks if a given bounding box is visible on the screen. * * WARNING: top and bottom are mis-named in world-coords, * top is the smallest "y" value, and bottom is the largest. * Be careful! This doesn't correspond to what you'd expect. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] wleft Left coordinate of the bounding box. * \param [in] wtop Top coordinate of the bounding box. * \param [in] wright Right coordinate of the bounding box. * \param [in] wbottom Bottom coordinate of the bounding box. * \return TRUE if bounding box is visible, FALSE otherwise */ int visible (GSCHEM_TOPLEVEL *w_current, int wleft, int wtop, int wright, int wbottom) { int visible=FALSE; /* don't do object clipping if this is false */ if (!w_current->toplevel->object_clipping) { return(TRUE); } visible = clip_nochange (w_current, wleft, wtop, wright, wtop); #if DEBUG printf("vis1 %d\n", visible); #endif if (!visible) { visible = clip_nochange (w_current, wleft, wbottom, wright, wbottom); } else { return(visible); } #if DEBUG printf("vis2 %d\n", visible); #endif if (!visible) { visible = clip_nochange (w_current, wleft, wtop, wleft, wbottom); } else { return(visible); } #if DEBUG printf("vis3 %d\n", visible); #endif if (!visible) { visible = clip_nochange (w_current, wright, wtop, wright, wbottom); } else { return(visible); } #if DEBUG printf("vis4 %d\n", visible); #endif #if DEBUG printf("%d %d %d\n", wleft, w_current->toplevel->page_current->top, wright); printf("%d %d %d\n", wtop, w_current->toplevel->page_current->top, wbottom); printf("%d %d %d\n", wleft, w_current->toplevel->page_current->right, wright); printf("%d %d %d\n", wtop, w_current->toplevel->page_current->bottom, wbottom); #endif /* * now check to see if bounding box encompasses the entire viewport. * We only need to test if one point on the screen clipping boundary * is indide the bounding box of the object. */ if (w_current->toplevel->page_current->left >= wleft && w_current->toplevel->page_current->left <= wright && w_current->toplevel->page_current->top >= wtop && w_current->toplevel->page_current->top <= wbottom ) { visible = 1; } #if DEBUG printf("vis5 %d\n", visible); #endif return(visible); } /*! \brief Rounds numbers by a power of 10. * \par Function Description * This function will round numbers using a power of 10 method. * For example: * 1235 rounds to 1000 * 670 rounds to 500 * 0.234 rounds to 0.2 * integer values would be enough if there are no numbers smaller than 1 (hw) * * \param [in] unrounded The number to be rounded. * \return The rounded number. */ /* rounds for example 1235 to 1000, 670 to 500, 0.234 to 0.2 ... int would be enough if there are no numbers smaller 1 (hw)*/ double round_5_2_1(double unrounded) { int digits; double betw_1_10; /*only using the automatic cast */ digits = log10(unrounded); /* creates numbers between 1 and 10 */ betw_1_10 = unrounded / pow(10,digits); if (betw_1_10 < 1.5) { return(pow(10,digits)); } if (betw_1_10 > 1.4 && betw_1_10 < 3.5 ) { return(2*pow(10,digits)); } if (betw_1_10 > 3.4 && betw_1_10 < 7.5 ) { return(5*pow(10,digits)); } else { return(10*pow(10,digits)); } } geda-gaf-1.8.2/gschem/src/gschem_cairo.c0000664000175000017500000003126012220647257014735 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif static inline int screen_width (GSCHEM_TOPLEVEL *w_current, int w_width) { int width = SCREENabs (w_current, w_width); if (width < 1) width = 1; return width; } void gschem_cairo_line (GSCHEM_TOPLEVEL *w_current, int line_end, int w_line_width, int w_x1, int w_y1, int w_x2, int w_y2) { int x1, y1, x2, y2, line_width; double offset; double xoffset = 0; double yoffset = 0; int horizontal = 0; int vertical = 0; WORLDtoSCREEN (w_current, w_x1, w_y1, &x1, &y1); WORLDtoSCREEN (w_current, w_x2, w_y2, &x2, &y2); line_width = screen_width (w_current, w_line_width); offset = ((line_width % 2) == 0) ? 0 : 0.5; if (y1 == y2) horizontal = 1; if (x1 == x2) vertical = 1; /* Hint so the length of the line runs along a pixel boundary */ if (horizontal) yoffset = offset; else if (vertical) xoffset = offset; else xoffset = yoffset = offset; /* Now hint the ends of the lines */ switch (line_end) { case END_NONE: /* Line terminates at the passed coordinate */ /* Add an extra pixel to give an inclusive span */ if (horizontal) { if (x1 > x2) x1 += 1; else x2 += 1; } else if (vertical) { if (y1 > y2) y1 += 1; else y2 += 1; } break; case END_SQUARE: case END_ROUND: /* Line terminates half a width away from the passed coordinate */ if (horizontal) { xoffset = offset; } else if (vertical) { yoffset = offset; } break; } cairo_move_to (w_current->cr, x1 + xoffset, y1 + yoffset); cairo_line_to (w_current->cr, x2 + xoffset, y2 + yoffset); } void gschem_cairo_box (GSCHEM_TOPLEVEL *w_current, int line_width, int x1, int y1, int x2, int y2) { int s_line_width; int s_x1, s_y1, s_x2, s_y2; double offset; WORLDtoSCREEN (w_current, x1, y1, &s_x1, &s_y1); WORLDtoSCREEN (w_current, x2, y2, &s_x2, &s_y2); s_line_width = screen_width (w_current, line_width); offset = (line_width == -1 || (s_line_width % 2) == 0) ? 0 : 0.5; /* Allow filled boxes (inferred from line_width == -1) * to touch an extra pixel, so the filled span is inclusive */ if (line_width == -1) { if (x1 > x2) x1 += 1; else x2 += 1; if (y1 > y2) y1 += 1; else y2 += 1; } cairo_move_to (w_current->cr, s_x2 + offset, s_y2 + offset); cairo_line_to (w_current->cr, s_x1 + offset, s_y2 + offset); cairo_line_to (w_current->cr, s_x1 + offset, s_y1 + offset); cairo_line_to (w_current->cr, s_x2 + offset, s_y1 + offset); cairo_close_path (w_current->cr); } void gschem_cairo_center_box (GSCHEM_TOPLEVEL *w_current, int center_width, int line_width, int x, int y, int half_width, int half_height) { int s_center_width, s_line_width; int s_width, s_height; double s_half_width, s_half_height; int s_x, s_y; int even_center_width; int even_line_width; int even_width, even_height; double x1, y1, x2, y2; double center_offset; int do_width_hint = TRUE; int do_height_hint = TRUE; WORLDtoSCREEN (w_current, x, y, &s_x, &s_y); s_width = SCREENabs (w_current, 2 * half_width); s_height = SCREENabs (w_current, 2 * half_height); even_width = (s_width % 2 == 0); even_height = (s_width % 2 == 0); s_half_width = (double) s_width / 2.; s_half_height = (double) s_height / 2.; #if 0 /* Not as nice an effect as with arcs */ /* Switch off radius hinting for small radii. If we don't, then we get * a very abrupt transition once the box reaches a single pixel size. */ if (s_half_width <= 1.) do_width_hint = FALSE; if (s_half_height <= 1.) do_height_hint = FALSE; #endif /* Hint the center of the box based on where a line * of thickness center_width (world) would drawn */ s_center_width = screen_width (w_current, center_width); even_center_width = (center_width == -1 || (s_center_width % 2) == 0); center_offset = even_center_width ? 0. : 0.5; /* Hint the half-widths to land the stroke on the pixel grid */ s_line_width = screen_width (w_current, line_width); even_line_width = (line_width == -1 || (s_line_width % 2) == 0); if (do_width_hint) s_half_width += ((even_center_width == even_line_width) == even_width ) ? 0. : 0.5; if (do_height_hint) s_half_height += ((even_center_width == even_line_width) == even_height) ? 0. : 0.5; x1 = (double) s_x + center_offset - s_half_width; y1 = (double) s_y + center_offset - s_half_height; x2 = (double) s_x + center_offset + s_half_width; y2 = (double) s_y + center_offset + s_half_height; /* Allow filled boxes (inferred from line_width == -1) * to touch an extra pixel, so the filled span is inclusive */ if (line_width == -1) { x2 += 1; y2 += 1; } cairo_move_to (w_current->cr, x2, y2); cairo_line_to (w_current->cr, x1, y2); cairo_line_to (w_current->cr, x1, y1); cairo_line_to (w_current->cr, x2, y1); cairo_close_path (w_current->cr); } static inline void do_arc (cairo_t *cr, double x, double y, double radius, int start_angle, int end_angle) { cairo_new_sub_path (cr); if (start_angle > start_angle + end_angle) { cairo_arc (cr, x, y, radius, -start_angle * (M_PI / 180.), (-start_angle - end_angle) * (M_PI / 180.)); } else { cairo_arc_negative (cr, x, y, radius, -start_angle * (M_PI / 180.), (-start_angle - end_angle) * (M_PI / 180.)); } } void gschem_cairo_arc (GSCHEM_TOPLEVEL *w_current, int width, int x, int y, int radius, int start_angle, int end_angle) { int s_width; int x1, y1, x2, y2; double s_x, s_y, s_radius; double offset; WORLDtoSCREEN (w_current, x - radius, y + radius, &x1, &y1); WORLDtoSCREEN (w_current, x + radius, y - radius, &x2, &y2); s_width = screen_width (w_current, width); offset = ((s_width % 2) == 0) ? 0 : 0.5; s_x = (double)(x1 + x2) / 2.; s_y = (double)(y1 + y2) / 2.; s_radius = (double)(y2 - y1) / 2.; cairo_save (w_current->cr); cairo_translate (w_current->cr, s_x + offset, s_y + offset); /* Adjust for non-uniform X/Y scale factor. Note that the + 1 allows for the case where x2 == x1 or y2 == y1 */ cairo_scale (w_current->cr, (double)(x2 - x1 + 1) / (double)(y2 - y1 + 1), 1.); do_arc (w_current->cr, 0., 0., (double) s_radius, start_angle, end_angle); cairo_restore (w_current->cr); } void gschem_cairo_center_arc (GSCHEM_TOPLEVEL *w_current, int center_width, int line_width, int x, int y, int radius, int start_angle, int end_angle) { int s_center_width, s_line_width; int s_x, s_y, s_diameter; int even_center_width; int even_line_width; int even_diameter; double center_offset; double s_radius; int do_radius_hint = TRUE; WORLDtoSCREEN (w_current, x, y, &s_x, &s_y); s_diameter = SCREENabs (w_current, 2 * radius); even_diameter = ((s_diameter % 2) == 0); s_radius = (double) s_diameter / 2.; /* Switch off radius hinting for small radii. If we don't, then we get * a very abrupt transition once the arc reaches a single pixel size. */ if (s_radius <= 1.) do_radius_hint = FALSE; /* Hint the center of the arc based on where a line * of thickness center_width (world) would drawn */ s_center_width = screen_width (w_current, center_width); even_center_width = (center_width == -1 || (s_center_width % 2) == 0); center_offset = even_center_width ? 0. : 0.5; /* Hint the radius to land its extermity on the pixel grid */ s_line_width = screen_width (w_current, line_width); even_line_width = (line_width == -1 || (s_line_width % 2) == 0); if (do_radius_hint) s_radius += ((even_center_width == even_line_width) == even_diameter) ? 0. : 0.5; do_arc (w_current->cr, (double) s_x + center_offset, (double) s_y + center_offset, (double) s_radius, start_angle, end_angle); } void gschem_cairo_stroke (GSCHEM_TOPLEVEL *w_current, int line_type, int line_end, int wwidth, int wlength, int wspace) { double offset; double dashes[4]; cairo_line_cap_t cap; cairo_line_cap_t round_cap_if_legible; int num_dashes; int width, length, space; width = screen_width (w_current, wwidth); length = screen_width (w_current, wlength); space = screen_width (w_current, wspace); offset = ((width % 2) == 0) ? 0 : 0.5; cairo_set_line_width (w_current->cr, width); cairo_set_line_join (w_current->cr, CAIRO_LINE_JOIN_MITER); round_cap_if_legible = (width <= 1) ? CAIRO_LINE_CAP_SQUARE : CAIRO_LINE_CAP_ROUND; switch (line_end) { case END_NONE: cap = CAIRO_LINE_CAP_BUTT; break; case END_SQUARE: cap = CAIRO_LINE_CAP_SQUARE; break; case END_ROUND: cap = round_cap_if_legible; break; default: fprintf(stderr, _("Unknown end for line (%d)\n"), line_end); cap = CAIRO_LINE_CAP_BUTT; break; } switch (line_type) { default: fprintf(stderr, _("Unknown type for stroke (%d) !\n"), line_type); /* Fall through */ case TYPE_SOLID: num_dashes = 0; cairo_set_dash (w_current->cr, dashes, num_dashes, 0.); cairo_set_line_cap (w_current->cr, cap); cairo_stroke (w_current->cr); break; case TYPE_DOTTED: dashes[0] = 0; /* DOT */ dashes[1] = space; num_dashes = 2; cairo_set_dash (w_current->cr, dashes, num_dashes, offset); cairo_set_line_cap (w_current->cr, round_cap_if_legible); cairo_stroke (w_current->cr); break; case TYPE_DASHED: dashes[0] = length; /* DASH */ dashes[1] = space; num_dashes = 2; cairo_set_dash (w_current->cr, dashes, num_dashes, 0.); cairo_set_line_cap (w_current->cr, CAIRO_LINE_CAP_BUTT); cairo_stroke (w_current->cr); break; case TYPE_CENTER: dashes[0] = length; /* DASH */ dashes[1] = 2 * space; num_dashes = 2; cairo_set_dash (w_current->cr, dashes, num_dashes, 0.); cairo_set_line_cap (w_current->cr, CAIRO_LINE_CAP_BUTT); cairo_stroke_preserve (w_current->cr); dashes[0] = 0; /* DOT */ dashes[1] = 2 * space + length; num_dashes = 2; cairo_set_dash (w_current->cr, dashes, num_dashes, -length - space + offset); cairo_set_line_cap (w_current->cr, round_cap_if_legible); cairo_stroke (w_current->cr); break; case TYPE_PHANTOM: dashes[0] = length; /* DASH */ dashes[1] = 3 * space; num_dashes = 2; cairo_set_dash (w_current->cr, dashes, num_dashes, 0.); cairo_set_line_cap (w_current->cr, CAIRO_LINE_CAP_BUTT); cairo_stroke_preserve (w_current->cr); dashes[0] = 0; /* DOT */ dashes[1] = space; dashes[2] = 0; /* DOT */ dashes[3] = 2 * space + length; num_dashes = 4; cairo_set_dash (w_current->cr, dashes, num_dashes, -length - space + offset); cairo_set_line_cap (w_current->cr, round_cap_if_legible); cairo_stroke (w_current->cr); break; } cairo_set_dash (w_current->cr, NULL, 0, 0.); } void gschem_cairo_set_source_color (GSCHEM_TOPLEVEL *w_current, COLOR *color) { cairo_set_source_rgba (w_current->cr, (double)color->r / 255.0, (double)color->g / 255.0, (double)color->b / 255.0, (double)color->a / 255.0); } geda-gaf-1.8.2/gschem/src/o_place.c0000664000175000017500000002727212220647257013724 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2011 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_place_start (GSCHEM_TOPLEVEL *w_current, int w_x, int w_y) { w_current->second_wx = w_x; w_current->second_wy = w_y; o_place_invalidate_rubber (w_current, TRUE); w_current->rubber_visible = 1; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_place_end (GSCHEM_TOPLEVEL *w_current, int w_x, int w_y, int continue_placing, GList **ret_new_objects, const char* hook_name) { TOPLEVEL *toplevel = w_current->toplevel; int w_diff_x, w_diff_y; OBJECT *o_current; PAGE *p_current; GList *temp_dest_list = NULL; GList *connected_objects = NULL; GList *iter; /* erase old image */ /* o_place_invaidate_rubber (w_current, FALSE); */ w_current->rubber_visible = 0; /* Calc final object positions */ w_current->second_wx = w_x; w_current->second_wy = w_y; w_diff_x = w_current->second_wx - w_current->first_wx; w_diff_y = w_current->second_wy - w_current->first_wy; if (continue_placing) { /* Make a copy of the place list if we want to keep it afterwards */ temp_dest_list = o_glist_copy_all (toplevel, toplevel->page_current->place_list, temp_dest_list); } else { /* Otherwise just take it */ temp_dest_list = toplevel->page_current->place_list; toplevel->page_current->place_list = NULL; } if (ret_new_objects != NULL) { *ret_new_objects = g_list_copy (temp_dest_list); } o_glist_translate_world(toplevel, w_diff_x, w_diff_y, temp_dest_list); /* Attach each item back onto the page's object list. Update object * connectivity and add the new objects to the selection list.*/ p_current = toplevel->page_current; for (iter = temp_dest_list; iter != NULL; iter = g_list_next (iter)) { o_current = iter->data; s_page_append (toplevel, p_current, o_current); /* Update object connectivity */ s_conn_update_object (toplevel, o_current); connected_objects = s_conn_return_others (connected_objects, o_current); } if (hook_name != NULL) { g_run_hook_object_list (w_current, hook_name, temp_dest_list); } o_invalidate_glist (w_current, connected_objects); g_list_free (connected_objects); connected_objects = NULL; toplevel->page_current->CHANGED = 1; o_invalidate_glist (w_current, temp_dest_list); /* only redraw new objects */ g_list_free (temp_dest_list); o_undo_savestate (w_current, UNDO_ALL); i_update_menus (w_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_place_motion (GSCHEM_TOPLEVEL *w_current, int w_x, int w_y) { if (w_current->rubber_visible) o_place_invalidate_rubber (w_current, FALSE); w_current->second_wx = w_x; w_current->second_wy = w_y; o_place_invalidate_rubber (w_current, TRUE); w_current->rubber_visible = 1; } /*! \brief Invalidate bounding box or outline for OBJECT placement * * \par Function Description * This function invalidates the bounding box where objects would be * drawn by o_place_draw_rubber() * * The function applies manhatten mode constraints to the coordinates * before drawing if the CONTROL key is recording as being pressed in * the w_current structure. * * The "drawing" parameter is used to indicate if this drawing should * immediately use the selected feedback mode and positioning constraints. * * With drawing=TRUE, the selected conditions are used immediately, * otherwise the conditions from the last drawing operation are used, * saving the new state for next time. * * This function should be called with drawing=TRUE when starting a * rubberbanding operation and when otherwise refreshing the rubberbanded * outline (e.g. after a screen redraw). For any undraw operation, should * be called with drawing=FALSE, ensuring that the undraw XOR matches the * mode and constraints of the corresponding "draw" operation. * * If any mode / constraint changes are made between a undraw, redraw XOR * pair, the latter (draw) operation must be called with drawing=TRUE. If * no mode / constraint changes were made between the pair, it is not * harmful to call the draw operation with "drawing=FALSE". * * \param [in] w_current GSCHEM_TOPLEVEL which we're drawing for. * \param [in] drawing Set to FALSE for undraw operations to ensure * matching conditions to a previous draw operation. */ void o_place_invalidate_rubber (GSCHEM_TOPLEVEL *w_current, int drawing) { TOPLEVEL *toplevel = w_current->toplevel; int diff_x, diff_y; int left, top, bottom, right; int s_left, s_top, s_bottom, s_right; g_return_if_fail (toplevel->page_current->place_list != NULL); /* If drawing is true, then don't worry about the previous drawing * method and movement constraints, use with the current settings */ if (drawing) { /* Ensure we set this to flag there is "something" supposed to be * drawn when the invaliate call below causes an expose event. */ w_current->last_drawb_mode = w_current->actionfeedback_mode; w_current->drawbounding_action_mode = (w_current->CONTROLKEY) ? CONSTRAINED : FREE; } /* Calculate delta of X-Y positions from buffer's origin */ diff_x = w_current->second_wx - w_current->first_wx; diff_y = w_current->second_wy - w_current->first_wy; /* Adjust the coordinates according to the movement constraints */ /* Need to update the w_current->{first,second}_w{x,y} coords even * though we're only invalidating because the move rubberband code * (which may execute right after this function) expects these * coordinates to be correct. */ if (w_current->drawbounding_action_mode == CONSTRAINED) { if (abs (diff_x) >= abs (diff_y)) { w_current->second_wy = w_current->first_wy; diff_y = 0; } else { w_current->second_wx = w_current->first_wx; diff_x = 0; } } /* Find the bounds of the drawing to be done */ world_get_object_glist_bounds (toplevel, toplevel->page_current->place_list, &left, &top, &right, &bottom); WORLDtoSCREEN (w_current, left + diff_x, top + diff_y, &s_left, &s_top); WORLDtoSCREEN (w_current, right + diff_x, bottom + diff_y, &s_right, &s_bottom); o_invalidate_rect (w_current, s_left, s_top, s_right, s_bottom); } /*! \brief Draw a bounding box or outline for OBJECT placement * * \par Function Description * This function draws either the OBJECTS in the place list * or a rectangle around their bounding box, depending upon the * currently selected w_current->actionfeedback_mode. This takes the * value BOUNDINGBOX or OUTLINE. * * The function applies manhatten mode constraints to the coordinates * before drawing if the CONTROL key is recording as being pressed in * the w_current structure. * * The "drawing" parameter is used to indicate if this drawing should * immediately use the selected feedback mode and positioning constraints. * * With drawing=TRUE, the selected conditions are used immediately, * otherwise the conditions from the last drawing operation are used, * saving the new state for next time. * * This function should be called with drawing=TRUE when starting a * rubberbanding operation and when otherwise refreshing the rubberbanded * outline (e.g. after a screen redraw). For any undraw operation, should * be called with drawing=FALSE, ensuring that the undraw XOR matches the * mode and constraints of the corresponding "draw" operation. * * If any mode / constraint changes are made between a undraw, redraw XOR * pair, the latter (draw) operation must be called with drawing=TRUE. If * no mode / constraint changes were made between the pair, it is not * harmful to call the draw operation with "drawing=FALSE". * * \param [in] w_current GSCHEM_TOPLEVEL which we're drawing for. * \param [in] drawing Set to FALSE for undraw operations to ensure * matching conditions to a previous draw operation. */ void o_place_draw_rubber (GSCHEM_TOPLEVEL *w_current, int drawing) { TOPLEVEL *toplevel = w_current->toplevel; int diff_x, diff_y; int left, top, bottom, right; g_return_if_fail (toplevel->page_current->place_list != NULL); /* If drawing is true, then don't worry about the previous drawing * method and movement constraints, use with the current settings */ if (drawing) { w_current->last_drawb_mode = w_current->actionfeedback_mode; w_current->drawbounding_action_mode = (w_current->CONTROLKEY) ? CONSTRAINED : FREE; } /* Calculate delta of X-Y positions from buffer's origin */ diff_x = w_current->second_wx - w_current->first_wx; diff_y = w_current->second_wy - w_current->first_wy; /* Adjust the coordinates according to the movement constraints */ if (w_current->drawbounding_action_mode == CONSTRAINED ) { if (abs(diff_x) >= abs(diff_y)) { w_current->second_wy = w_current->first_wy; diff_y = 0; } else { w_current->second_wx = w_current->first_wx; diff_x = 0; } } /* Draw with the appropriate mode */ if (w_current->last_drawb_mode == BOUNDINGBOX) { /* Find the bounds of the drawing to be done */ world_get_object_glist_bounds (toplevel, toplevel->page_current->place_list, &left, &top, &right, &bottom); gschem_cairo_box (w_current, 0, left + diff_x, top + diff_y, right + diff_x, bottom + diff_y); gschem_cairo_set_source_color (w_current, x_color_lookup_dark (BOUNDINGBOX_COLOR)); gschem_cairo_stroke (w_current, TYPE_SOLID, END_NONE, 0, -1, -1); } else { o_glist_draw_place (w_current, diff_x, diff_y, toplevel->page_current->place_list); } /* Save movement constraints and drawing method for any * corresponding undraw operation. */ w_current->last_drawb_mode = w_current->actionfeedback_mode; w_current->drawbounding_action_mode = (w_current->CONTROLKEY) ? CONSTRAINED : FREE; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_place_rotate (GSCHEM_TOPLEVEL *w_current) { TOPLEVEL *toplevel = w_current->toplevel; o_glist_rotate_world (toplevel, w_current->first_wx, w_current->first_wy, 90, toplevel->page_current->place_list); /* Run rotate-objects-hook */ g_run_hook_object_list (w_current, "%rotate-objects-hook", toplevel->page_current->place_list); } geda-gaf-1.8.2/gschem/src/g_rc.c0000664000175000017500000010063612220647257013230 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #include #include #include #ifdef HAVE_STRING_H #include #endif #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_UNISTD_H #include #endif #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void g_rc_parse_gtkrc() { gchar *filename; filename = g_build_filename (s_path_sys_config (), "gschem-gtkrc", NULL); gtk_rc_parse (filename); g_free (filename); filename = g_build_filename (s_path_user_config (), "gschem-gtkrc", NULL); gtk_rc_parse (filename); g_free (filename); } /*! \brief Verify the version of the RC file under evaluation. * \par Function Description * * Implements the Scheme function "gschem-version". Tests the version * string in the argument against the version of the application * itself. * * \param [in] scm_version Scheme object containing RC file version string * * \returns #t if the version of the RC file matches the application, * else #f. */ SCM g_rc_gschem_version(SCM scm_version) { SCM ret; char *version; SCM rc_filename; char *sourcefile; SCM_ASSERT (scm_is_string (scm_version), scm_version, SCM_ARG1, "gschem-version"); scm_dynwind_begin (0); version = scm_to_utf8_string (scm_version); scm_dynwind_free (version); if (g_utf8_collate (g_utf8_casefold (version,-1), g_utf8_casefold (PACKAGE_DATE_VERSION,-1)) != 0) { sourcefile = NULL; rc_filename = g_rc_rc_filename (); sourcefile = scm_to_utf8_string (rc_filename); scm_dynwind_free (sourcefile); fprintf(stderr, "You are running gEDA/gaf version [%s%s.%s],\n", PREPEND_VERSION_STRING, PACKAGE_DOTTED_VERSION, PACKAGE_DATE_VERSION); fprintf(stderr, "but you have a version [%s] gschemrc file:\n[%s]\n", version, sourcefile); fprintf(stderr, "Please be sure that you have the latest rc file.\n"); ret = SCM_BOOL_F; } else { ret = SCM_BOOL_T; } scm_dynwind_end(); return ret; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_net_endpoint_mode(SCM mode) { static const vstbl_entry mode_table[] = { {FILLEDBOX, "filledbox"} }; RETURN_G_RC_MODE("net-endpoint-mode", default_net_endpoint_mode, 1); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_net_midpoint_mode(SCM mode) { static const vstbl_entry mode_table[] = { {FILLED, "filled"} }; RETURN_G_RC_MODE("net-midpoint-mode", default_net_midpoint_mode, 1); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_net_direction_mode(SCM mode) { static const vstbl_entry mode_table[] = { {TRUE , "enabled" }, {FALSE, "disabled"} }; RETURN_G_RC_MODE("net-direction-mode", default_net_direction_mode, 2); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_net_selection_mode(SCM mode) { static const vstbl_entry mode_table[] = { {0, "disabled"}, {2, "enabled_net"}, {3, "enabled_all"} }; RETURN_G_RC_MODE("net-selection-mode", default_net_selection_mode, 3); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_net_style(SCM mode) { static const vstbl_entry mode_table[] = { {THIN , "thin" }, {THICK, "thick"} }; RETURN_G_RC_MODE("net-style", default_net_style, 2); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_bus_style(SCM mode) { static const vstbl_entry mode_table[] = { {THIN , "thin" }, {THICK, "thick"} }; RETURN_G_RC_MODE("bus-style", default_bus_style, 2); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_pin_style(SCM mode) { static const vstbl_entry mode_table[] = { {THIN , "thin" }, {THICK, "thick"} }; RETURN_G_RC_MODE("pin-style", default_pin_style, 2); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_line_style(SCM mode) { static const vstbl_entry mode_table[] = { {THIN , "thin" }, {THICK, "thick"} }; RETURN_G_RC_MODE("line-style", default_line_style, 2); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_action_feedback_mode(SCM mode) { static const vstbl_entry mode_table[] = { {OUTLINE , "outline" }, {BOUNDINGBOX, "boundingbox"} }; RETURN_G_RC_MODE("action-feedback-mode", default_actionfeedback_mode, 2); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_zoom_with_pan(SCM mode) { static const vstbl_entry mode_table[] = { {TRUE, "enabled" }, {FALSE, "disabled"} }; RETURN_G_RC_MODE("zoom-with-pan", default_zoom_with_pan, 2); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_text_feedback(SCM mode) { static const vstbl_entry mode_table[] = { {ALWAYS , "always" }, {ONLY_WHEN_READABLE, "only-when-readable"} }; RETURN_G_RC_MODE("text-feedback", default_text_feedback, 2); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_text_display_zoomfactor(SCM zoomfactor) { int val; SCM_ASSERT (scm_is_integer (zoomfactor), zoomfactor, SCM_ARG1, "test-display-zoom-factor"); val = scm_to_int (zoomfactor); if (val == 0) { fprintf(stderr, _("Invalid zoomfactor [%d] passed to %s\n"), val, "text-display-zoom-factor"); val = 10; /* absolute default */ } default_text_display_zoomfactor = val; return SCM_BOOL_T; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_scrollbar_update(SCM scmmode) { SCM ret = SCM_BOOL_T; SCM_ASSERT (scm_is_string (scmmode), scmmode, SCM_ARG1, "scrollbar-update"); return ret; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_object_clipping(SCM mode) { static const vstbl_entry mode_table[] = { {TRUE , "enabled" }, {FALSE, "disabled"} }; RETURN_G_RC_MODE("object-clipping", default_object_clipping, 2); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_logging(SCM mode) { static const vstbl_entry mode_table[] = { {TRUE , "enabled" }, {FALSE, "disabled"} }; RETURN_G_RC_MODE("logging", default_do_logging, 2); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_embed_components(SCM mode) { static const vstbl_entry mode_table[] = { {TRUE , "enabled" }, {FALSE, "disabled"} }; RETURN_G_RC_MODE("embed-components", default_embed_complex, 2); } static void free_string_glist(void *data) { GList *iter, *glst = *((GList **) data); for (iter = glst; iter != NULL; iter = g_list_next (iter)) { g_free (iter->data); } g_list_free (glst); } /*! \brief read the configuration string list for the component dialog * \par Function Description * This function reads the string list from the component-dialog-attributes * configuration parameter and converts the list into a GList. * The GList is stored in the global default_component_select_attrlist variable. */ SCM g_rc_component_dialog_attributes(SCM stringlist) { int length, i; GList *list=NULL; gchar *attr; SCM_ASSERT(scm_list_p(stringlist), stringlist, SCM_ARG1, "scm_is_list failed"); length = scm_ilength(stringlist); /* If the command is called multiple times, remove the old list before recreating it */ g_list_foreach(default_component_select_attrlist, (GFunc)g_free, NULL); g_list_free(default_component_select_attrlist); scm_dynwind_begin(0); scm_dynwind_unwind_handler(free_string_glist, (void *) &list, 0); /* convert the scm list into a GList */ for (i=0; i < length; i++) { char *str; SCM elem = scm_list_ref(stringlist, scm_from_int(i)); SCM_ASSERT(scm_is_string(elem), elem, SCM_ARG1, "list element is not a string"); str = scm_to_utf8_string(elem); attr = g_strdup(str); free(str); list = g_list_prepend(list, attr); } scm_dynwind_end(); default_component_select_attrlist = g_list_reverse(list); return SCM_BOOL_T; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_text_size(SCM size) { int val; SCM_ASSERT (scm_is_integer (size), size, SCM_ARG1, "text-size"); val = scm_to_int (size); if (val == 0) { fprintf(stderr, _("Invalid size [%d] passed to text-size\n"), val); val = 10; /* absolute default */ } default_text_size = val; return SCM_BOOL_T; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \todo inconsistant naming with keyword name and variable to hold * variable */ SCM g_rc_text_caps_style(SCM mode) { static const vstbl_entry mode_table[] = { {LOWER, "lower" }, {UPPER, "upper" }, {BOTH , "both" } }; RETURN_G_RC_MODE("text-caps-style", default_text_caps, 3); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_snap_size(SCM size) { int val; SCM_ASSERT (scm_is_integer (size), size, SCM_ARG1, "snap-size"); val = scm_to_int (size); if (val == 0) { fprintf(stderr, _("Invalid size [%d] passed to snap-size\n"), val); val = 100; /* absolute default */ } default_snap_size = val; return SCM_BOOL_T; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_logging_destination(SCM mode) { static const vstbl_entry mode_table[] = { {LOG_WINDOW , "log_window" }, {STDOUT_TTY , "tty" }, {BOTH_LOGWIN_STDOUT , "both" } }; RETURN_G_RC_MODE("logging-destination", logging_dest, 3); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_attribute_name(SCM scm_path) { char *path; SCM ret; SCM_ASSERT (scm_is_string (scm_path), scm_path, SCM_ARG1, "attribute-name"); path = scm_to_utf8_string (scm_path); /* not unique? */ if (!s_attrib_uniq(path)) { ret = SCM_BOOL_F; } else { s_attrib_add_entry (path); ret = SCM_BOOL_T; } free(path); return ret; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_scrollbars(SCM mode) { static const vstbl_entry mode_table[] = { {TRUE , "enabled" }, {FALSE, "disabled"}, }; RETURN_G_RC_MODE("scrollbars", default_scrollbars_flag, 2); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_paper_size(SCM width, SCM height) #define FUNC_NAME "paper-size" { SCM_ASSERT (SCM_NIMP (width) && SCM_REALP (width), width, SCM_ARG1, FUNC_NAME); SCM_ASSERT (SCM_NIMP (height) && SCM_REALP (height), height, SCM_ARG2, FUNC_NAME); /* yes this is legit, we are casting the resulting double to an int */ default_paper_width = (int) (scm_to_double (width) * MILS_PER_INCH); default_paper_height = (int) (scm_to_double (height) * MILS_PER_INCH); return SCM_BOOL_T; } #undef FUNC_NAME /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_paper_sizes(SCM scm_papername, SCM scm_width, SCM scm_height) #define FUNC_NAME "paper-sizes" { int width; int height; char *papername; SCM ret; SCM_ASSERT (scm_is_string (scm_papername), scm_papername, SCM_ARG1, FUNC_NAME); SCM_ASSERT (SCM_NIMP (scm_width) && SCM_REALP (scm_width), scm_width, SCM_ARG2, FUNC_NAME); SCM_ASSERT (SCM_NIMP (scm_height) && SCM_REALP (scm_height), scm_height, SCM_ARG3, FUNC_NAME); width = (int) (scm_to_double (scm_width) * MILS_PER_INCH); height = (int) (scm_to_double (scm_height) * MILS_PER_INCH); papername = scm_to_utf8_string (scm_papername); if (!s_papersizes_uniq(papername)) { ret = SCM_BOOL_F; } else { s_papersizes_add_entry(papername, width, height); ret = SCM_BOOL_T; } free(papername); return ret; } #undef FUNC_NAME /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \todo this keyword needs a better name ... */ SCM g_rc_output_type(SCM mode) { static const vstbl_entry mode_table[] = { {WINDOW, "current window" }, {EXTENTS, "limits" }, /* deprecated */ {EXTENTS, "extents" }, {EXTENTS_NOMARGINS, "extents no margins" }, }; RETURN_G_RC_MODE("output-type", default_print_output_type, 4); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_output_orientation(SCM mode) { static const vstbl_entry mode_table[] = { {PORTRAIT , "portrait" }, {LANDSCAPE, "landscape"}, }; RETURN_G_RC_MODE("output-orientation", default_print_orientation, 2); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_image_color(SCM mode) { static const vstbl_entry mode_table[] = { {TRUE , "enabled" }, {FALSE, "disabled"}, }; RETURN_G_RC_MODE("image-color", default_image_color, 2); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_image_size(SCM width, SCM height) { SCM_ASSERT (scm_is_integer (width), width, SCM_ARG1, "image-size"); SCM_ASSERT (scm_is_integer (height), height, SCM_ARG2, "image-size"); /* yes this is legit, we are casting the resulting double to an int */ default_image_width = scm_to_int (width); default_image_height = scm_to_int (height); return SCM_BOOL_T; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_output_color(SCM mode) { static const vstbl_entry mode_table[] = { {TRUE , "enabled" }, {FALSE, "disabled"}, }; /* this variable is inconsistantly named with the rest */ RETURN_G_RC_MODE("output-color", default_print_color, 2); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_output_capstyle(SCM mode) { static const vstbl_entry mode_table[] = { {BUTT_CAP , "butt" }, {ROUND_CAP , "round" }, {SQUARE_CAP, "square"}, }; RETURN_G_RC_MODE("output-capstyle", default_print_output_capstyle, 3); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_log_window(SCM mode) { static const vstbl_entry mode_table[] = { {MAP_ON_STARTUP, "startup" }, {MAP_LATER , "later" }, }; RETURN_G_RC_MODE("log-window", default_log_window, 2); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_log_window_type(SCM mode) { static const vstbl_entry mode_table[] = { {TRANSIENT, "transient" }, {DECORATED, "decorated" }, }; RETURN_G_RC_MODE("log-window-type", default_log_window_type, 2); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_third_button(SCM mode) { static const vstbl_entry mode_table[] = { {POPUP_ENABLED , "popup" }, {MOUSEPAN_ENABLED, "mousepan"}, }; RETURN_G_RC_MODE("third-button", default_third_button, 2); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_middle_button(SCM mode) { static const vstbl_entry mode_table[] = { {STROKE, "stroke"}, {REPEAT, "repeat"}, {ACTION, "action"}, {MID_MOUSEPAN_ENABLED, "mousepan"}, }; RETURN_G_RC_MODE("middle-button", default_middle_button, 4); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_scroll_wheel(SCM mode) { static const vstbl_entry mode_table[] = { {SCROLL_WHEEL_CLASSIC, "classic"}, {SCROLL_WHEEL_GTK, "gtk"}, }; RETURN_G_RC_MODE("scroll-wheel", default_scroll_wheel, 2); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_net_consolidate(SCM mode) { static const vstbl_entry mode_table[] = { {TRUE , "enabled" }, {FALSE, "disabled"}, }; RETURN_G_RC_MODE("net-consolidate", default_net_consolidate, 2); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_file_preview(SCM mode) { static const vstbl_entry mode_table[] = { {TRUE , "enabled" }, {FALSE, "disabled"}, }; /* this variable is inconsistantly named with the rest */ RETURN_G_RC_MODE("file-preview", default_file_preview, 2); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_enforce_hierarchy(SCM mode) { static const vstbl_entry mode_table[] = { {TRUE , "enabled" }, {FALSE, "disabled"}, }; RETURN_G_RC_MODE("enforce-hierarchy", default_enforce_hierarchy, 2); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_text_origin_marker(SCM mode) { static const vstbl_entry mode_table[] = { {TRUE , "enabled" }, {FALSE, "disabled"}, }; RETURN_G_RC_MODE("text-origin-marker", default_text_origin_marker, 2); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_fast_mousepan(SCM mode) { static const vstbl_entry mode_table[] = { {TRUE , "enabled" }, {FALSE, "disabled"}, }; RETURN_G_RC_MODE("fast-mousepan", default_fast_mousepan, 2); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_raise_dialog_boxes_on_expose(SCM mode) { static const vstbl_entry mode_table[] = { {TRUE , "enabled" }, {FALSE, "disabled"}, }; RETURN_G_RC_MODE("raise-dialog-boxes-on-expose", default_raise_dialog_boxes, 2); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_continue_component_place(SCM mode) { static const vstbl_entry mode_table[] = { {TRUE , "enabled" }, {FALSE, "disabled"}, }; RETURN_G_RC_MODE("continue-component-place", default_continue_component_place, 2); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_undo_levels(SCM levels) { int val; SCM_ASSERT (scm_is_integer (levels), levels, SCM_ARG1, "undo-levels"); val = scm_to_int (levels); if (val == 0) { fprintf(stderr, _("Invalid num levels [%d] passed to undo-levels\n"), val); val = 10; /* absolute default */ } default_undo_levels = val; return SCM_BOOL_T; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_undo_control(SCM mode) { static const vstbl_entry mode_table[] = { {TRUE , "enabled" }, {FALSE, "disabled"}, }; RETURN_G_RC_MODE("undo-control", default_undo_control, 2); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_undo_type(SCM mode) { static const vstbl_entry mode_table[] = { {UNDO_DISK , "disk" }, {UNDO_MEMORY, "memory" }, }; RETURN_G_RC_MODE("undo-type", default_undo_type, 2); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_undo_panzoom(SCM mode) { static const vstbl_entry mode_table[] = { {TRUE , "enabled" }, {FALSE, "disabled"}, }; RETURN_G_RC_MODE("undo-panzoom", default_undo_panzoom, 2); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_draw_grips(SCM mode) { static const vstbl_entry mode_table[] = { {TRUE , "enabled" }, {FALSE, "disabled"}, }; RETURN_G_RC_MODE("draw-grips", default_draw_grips, 2); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_netconn_rubberband(SCM mode) { static const vstbl_entry mode_table[] = { {TRUE , "enabled" }, {FALSE, "disabled"}, }; RETURN_G_RC_MODE("netconn-rubberband", default_netconn_rubberband, 2); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_magnetic_net_mode(SCM mode) { static const vstbl_entry mode_table[] = { {TRUE , "enabled" }, {FALSE, "disabled"}, }; RETURN_G_RC_MODE("magnetic-net-mode", default_magnetic_net_mode, 2); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_sort_component_library(SCM mode) { static const vstbl_entry mode_table[] = { {TRUE , "enabled" }, {FALSE, "disabled"}, }; RETURN_G_RC_MODE("sort_component_library", default_sort_component_library, 2); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_add_menu(SCM scm_menu_name, SCM scm_menu_items) { char *menu_name; SCM_ASSERT (scm_is_string (scm_menu_name), scm_menu_name, SCM_ARG1, "add-menu"); SCM_ASSERT (SCM_NIMP (scm_menu_items) && SCM_CONSP (scm_menu_items), scm_menu_items, SCM_ARG2, "add-menu"); menu_name = scm_to_utf8_string (scm_menu_name); s_menu_add_entry(menu_name, scm_menu_items); free (menu_name); return SCM_BOOL_T; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_window_size(SCM width, SCM height) { SCM_ASSERT (scm_is_integer (width), width, SCM_ARG1, "window-size"); SCM_ASSERT (scm_is_integer (height), height, SCM_ARG2, "window-size"); default_width = scm_to_int (width); default_height = scm_to_int (height); return SCM_BOOL_T; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_warp_cursor(SCM mode) { static const vstbl_entry mode_table[] = { {TRUE , "enabled" }, {FALSE, "disabled"}, }; RETURN_G_RC_MODE("warp-cursor", default_warp_cursor, 2); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_toolbars(SCM mode) { static const vstbl_entry mode_table[] = { {TRUE , "enabled" }, {FALSE, "disabled"}, }; RETURN_G_RC_MODE("toolbars", default_toolbars, 2); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_handleboxes(SCM mode) { static const vstbl_entry mode_table[] = { {TRUE , "enabled" }, {FALSE, "disabled"}, }; RETURN_G_RC_MODE("handleboxes", default_handleboxes, 2); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_setpagedevice_orientation(SCM mode) { static const vstbl_entry mode_table[] = { {TRUE , "enabled" }, {FALSE, "disabled"}, }; RETURN_G_RC_MODE("setpagedevice-orientation", default_setpagedevice_orientation, 2); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_setpagedevice_pagesize(SCM mode) { static const vstbl_entry mode_table[] = { {TRUE , "enabled" }, {FALSE, "disabled"}, }; RETURN_G_RC_MODE("setpagedevice-pagesize", default_setpagedevice_pagesize, 2); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_bus_ripper_size(SCM size) { int val; SCM_ASSERT (scm_is_integer (size), size, SCM_ARG1, "bus-ripper-size"); val = scm_to_int (size); if (val == 0) { fprintf(stderr, _("Invalid size [%d] passed to bus-ripper-size\n"), val); val = 200; /* absolute default */ } default_bus_ripper_size = val; return SCM_BOOL_T; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_bus_ripper_type(SCM mode) { static const vstbl_entry mode_table[] = { {COMP_BUS_RIPPER, "component" }, {NET_BUS_RIPPER, "net" } }; RETURN_G_RC_MODE("bus-ripper-type", default_bus_ripper_type, 2); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_bus_ripper_rotation(SCM mode) { static const vstbl_entry mode_table[] = { {SYMMETRIC, "symmetric" }, {NON_SYMMETRIC, "non-symmetric" } }; RETURN_G_RC_MODE("bus-ripper-rotation", default_bus_ripper_rotation, 2); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_force_boundingbox(SCM mode) { static const vstbl_entry mode_table[] = { {TRUE, "enabled" }, {FALSE, "disabled" } }; RETURN_G_RC_MODE("force-boundingbox", default_force_boundingbox, 2); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_dots_grid_dot_size (SCM dotsize) { int val; SCM_ASSERT (scm_is_integer (dotsize), dotsize, SCM_ARG1, "dots-grid-dot-size"); val = scm_to_int (dotsize); if (val <= 0) { fprintf(stderr, _("Invalid dot size [%d] passed to dots-grid-dot-size\n"), val); val = 1; /* absolute default */ } default_dots_grid_dot_size = val; return SCM_BOOL_T; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_dots_grid_mode (SCM mode) { static const vstbl_entry mode_table[] = { {DOTS_GRID_VARIABLE_MODE, "variable" }, {DOTS_GRID_FIXED_MODE, "fixed" } }; RETURN_G_RC_MODE ("dots-grid-mode", default_dots_grid_mode, 2); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_dots_grid_fixed_threshold (SCM spacing) { int val; SCM_ASSERT (scm_is_integer (spacing), spacing, SCM_ARG1, "dots-grid-fixed-threshold"); val = scm_to_int (spacing); if (val <= 0) { fprintf(stderr, _("Invalid pixel spacing [%d] passed to dots-grid-fixed-threshold\n"), val); val = 10; /* absolute default */ } default_dots_grid_fixed_threshold = val; return SCM_BOOL_T; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_mesh_grid_display_threshold (SCM spacing) { int val; SCM_ASSERT (scm_is_integer (spacing), spacing, SCM_ARG1, "mesh-grid-display-threshold"); val = scm_to_int (spacing); if (val <= 0) { fprintf (stderr, _("Invalid pixel spacing [%d] passed to " "mesh-grid-display-threshold\n"), val); val = 3; /* absolute default */ } default_mesh_grid_display_threshold = val; return SCM_BOOL_T; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_add_attribute_offset(SCM offset) { int val; SCM_ASSERT (scm_is_integer (offset), offset, SCM_ARG1, "add-attribute-offset"); val = scm_to_int (offset); if (val < 0) { fprintf(stderr, _("Invalid offset [%d] passed to add-attribute-offset\n"), val); val = 50; /* absolute default */ } default_add_attribute_offset = val; return SCM_BOOL_T; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_auto_save_interval(SCM seconds) { int val; SCM_ASSERT (scm_is_integer (seconds), seconds, SCM_ARG1, "auto-save-interval"); val = scm_to_int (seconds); if (val < 0) { fprintf(stderr, _("Invalid number of seconds [%d] passed to auto-save-interval\n"), val); val = 120; /* absolute default */ } default_auto_save_interval = val; return SCM_BOOL_T; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_mousepan_gain(SCM gain) { int val; SCM_ASSERT (scm_is_integer (gain), gain, SCM_ARG1, "mousepan-gain"); val = scm_to_int (gain); if (val <= 0) { fprintf(stderr, _("Invalid gain [%d] passed to mousepan-gain\n"), val); val = 5; /* absolute default */ } default_mousepan_gain = val; return SCM_BOOL_T; } /*! \brief Scheme function for setting the step for keyboard pan. * * Default setting is 20. */ SCM g_rc_keyboardpan_gain(SCM gain) { int val; SCM_ASSERT (scm_is_integer (gain), gain, SCM_ARG1, "keyboardpan-gain"); val = scm_to_int (gain); if (val <= 0) { fprintf(stderr, _("Invalid gain [%d] passed to keyboardpan-gain\n"), val); val = 20; /* absolute default */ } default_keyboardpan_gain = val; return SCM_BOOL_T; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_print_command(SCM scm_command) #define FUNC_NAME "print-command" { char *command; SCM_ASSERT (scm_is_string (scm_command), scm_command, SCM_ARG1, FUNC_NAME); command = scm_to_utf8_string (scm_command); g_free (default_print_command); default_print_command = g_strdup (command); free (command); return SCM_BOOL_T; } #undef FUNC_NAME /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_select_slack_pixels(SCM pixels) { int val; SCM_ASSERT (scm_is_integer (pixels), pixels, SCM_ARG1, "select-slack-pixels"); val = scm_to_int (pixels); if (val <= 0) { fprintf(stderr, _("Invalid number of pixels [%d] passed to select-slack-pixels\n"), val); val = 4; /* absolute default */ } default_select_slack_pixels = val; return SCM_BOOL_T; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_zoom_gain(SCM gain) { int val; SCM_ASSERT (scm_is_integer (gain), gain, SCM_ARG1, "zoom-gain"); val = scm_to_int (gain); /* Allow -ve numbers in case the user wishes to reverse zoom direction, * but don't allow zero gain as this would disable the zoom action */ if (val == 0) { fprintf(stderr, _("Invalid gain [%d] passed to zoom-gain\n"), val); val = 20; /* absolute default */ } default_zoom_gain = val; return SCM_BOOL_T; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ SCM g_rc_scrollpan_steps(SCM steps) { int val; SCM_ASSERT (scm_is_integer (steps), steps, SCM_ARG1, "scrollpan-steps"); val = scm_to_int (steps); /* Allow -ve numbers in case the user wishes to reverse scroll direction, * but don't allow zero steps as this would cause a division by zero error */ if (val == 0) { fprintf(stderr, _("Invalid number of steps [%d] scrollpan-steps\n"), val); val = 8; /* absolute default */ } default_scrollpan_steps = val; return SCM_BOOL_T; } extern COLOR display_colors[MAX_COLORS]; extern COLOR display_outline_colors[MAX_COLORS]; SCM g_rc_display_color_map (SCM scm_map) { if (scm_map == SCM_UNDEFINED) { return s_color_map_to_scm (display_colors); } SCM_ASSERT (scm_is_true (scm_list_p (scm_map)), scm_map, SCM_ARG1, "display-color-map"); s_color_map_from_scm (display_colors, scm_map, "display-color-map"); return SCM_BOOL_T; } SCM g_rc_display_outline_color_map (SCM scm_map) { if (scm_map == SCM_UNDEFINED) { return s_color_map_to_scm (display_outline_colors); } SCM_ASSERT (scm_is_true (scm_list_p (scm_map)), scm_map, SCM_ARG1, "display-outline-color-map"); s_color_map_from_scm (display_outline_colors, scm_map, "display-outline-color-map"); return SCM_BOOL_T; } geda-gaf-1.8.2/gschem/src/gschem_accel_label.c0000664000175000017500000002627312063576065016061 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * Code based on GTK 2.14.5 gtk/gtkaccellabel.c (LGPL) * * GTK - The GIMP Toolkit * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald * * GschemAccelLabel: GtkLabel with accelerator monitoring facilities. * Copyright (C) 1998 Tim Janik * * Modified by the GTK+ Team and others 1997-2001. See the AUTHORS * file for a list of people on the GTK+ Team. See the ChangeLog * files for a list of changes. These files are distributed with * GTK+ at ftp://ftp.gtk.org/pub/gtk/. * * Adapted for gEDA by Peter Clifton * * THIS FILE IS LGPL LICENSED, gEDA AS A WHOLE IS GPL LICENSED * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #include "config.h" #include "gschem.h" #define P_(x) (x) enum { PROP_0, PROP_ACCEL_CLOSURE, PROP_ACCEL_WIDGET, PROP_ACCEL_STRING, }; G_DEFINE_TYPE (GschemAccelLabel, gschem_accel_label, GTK_TYPE_ACCEL_LABEL) gboolean gschem_accel_label_refetch (GschemAccelLabel *accel_label) { gboolean enable_accels; g_return_val_if_fail (GSCHEM_IS_ACCEL_LABEL (accel_label), FALSE); g_object_get (gtk_widget_get_settings (GTK_WIDGET (accel_label)), "gtk-enable-accels", &enable_accels, NULL); if (!enable_accels || accel_label->accel_string == NULL) { if (accel_label->accel_string != NULL) g_free (accel_label->accel_string); accel_label->accel_string = g_strdup (""); } gtk_widget_queue_resize (GTK_WIDGET (accel_label)); return FALSE; } static const gchar * gschem_accel_label_get_string (GschemAccelLabel *accel_label) { if (!accel_label->accel_string) gschem_accel_label_refetch (accel_label); return accel_label->accel_string; } static void gschem_accel_label_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { GschemAccelLabel *accel_label; accel_label = GSCHEM_ACCEL_LABEL (object); switch (prop_id) { /* Dummy properties from GtkAccelLabel */ case PROP_ACCEL_CLOSURE: case PROP_ACCEL_WIDGET: break; case PROP_ACCEL_STRING: gschem_accel_label_set_accel_string (accel_label, g_value_get_string (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } } static void gschem_accel_label_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { GschemAccelLabel *accel_label; accel_label = GSCHEM_ACCEL_LABEL (object); switch (prop_id) { /* Dummy property from GtkAccelLabel */ case PROP_ACCEL_CLOSURE: g_value_set_boxed (value, NULL); break; /* Dummy property from GtkAccelLabel */ case PROP_ACCEL_WIDGET: g_value_set_object (value, NULL); break; case PROP_ACCEL_STRING: g_value_set_string (value, accel_label->accel_string); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } } static void gschem_accel_label_init (GschemAccelLabel *accel_label) { accel_label->accel_padding = 3; accel_label->accel_string = NULL; } static void gschem_accel_label_finalize (GObject *object) { GschemAccelLabel *accel_label = GSCHEM_ACCEL_LABEL (object); g_free (accel_label->accel_string); G_OBJECT_CLASS (gschem_accel_label_parent_class)->finalize (object); } guint gschem_accel_label_get_accel_width (GschemAccelLabel *accel_label) { g_return_val_if_fail (GSCHEM_IS_ACCEL_LABEL (accel_label), 0); return (accel_label->accel_string_width + (accel_label->accel_string_width ? accel_label->accel_padding : 0)); } static void gschem_accel_label_size_request (GtkWidget *widget, GtkRequisition *requisition) { GschemAccelLabel *accel_label = GSCHEM_ACCEL_LABEL (widget); GtkAccelLabel *gtk_accel_label = GTK_ACCEL_LABEL (widget); PangoLayout *layout; gint width; GTK_WIDGET_CLASS (gschem_accel_label_parent_class)->size_request (widget, requisition); layout = gtk_widget_create_pango_layout (widget, gschem_accel_label_get_string (accel_label)); pango_layout_get_pixel_size (layout, &width, NULL); accel_label->accel_string_width = width; gtk_accel_label->accel_string_width = width; /* HACK: This field is private to GtkAccelLabel */ g_object_unref (layout); } static gint get_first_baseline (PangoLayout *layout) { PangoLayoutIter *iter; gint result; iter = pango_layout_get_iter (layout); result = pango_layout_iter_get_baseline (iter); pango_layout_iter_free (iter); return PANGO_PIXELS (result); } static gboolean gschem_accel_label_expose_event (GtkWidget *widget, GdkEventExpose *event) { GschemAccelLabel *accel_label = GSCHEM_ACCEL_LABEL (widget); GtkMisc *misc = GTK_MISC (accel_label); GtkTextDirection direction; direction = gtk_widget_get_direction (widget); if (GTK_WIDGET_DRAWABLE (accel_label)) { guint ac_width; ac_width = gschem_accel_label_get_accel_width (accel_label); if (widget->allocation.width >= widget->requisition.width + ac_width) { PangoLayout *label_layout; PangoLayout *accel_layout; GtkLabel *label = GTK_LABEL (widget); gint x; gint y; label_layout = gtk_label_get_layout (GTK_LABEL (accel_label)); if (direction == GTK_TEXT_DIR_RTL) widget->allocation.x += ac_width; widget->allocation.width -= ac_width; if (gtk_label_get_ellipsize (label)) pango_layout_set_width (label_layout, pango_layout_get_width (label_layout) - ac_width * PANGO_SCALE); if (GTK_WIDGET_CLASS (gschem_accel_label_parent_class)->expose_event) GTK_WIDGET_CLASS (gschem_accel_label_parent_class)->expose_event (widget, event); if (direction == GTK_TEXT_DIR_RTL) widget->allocation.x -= ac_width; widget->allocation.width += ac_width; if (gtk_label_get_ellipsize (label)) pango_layout_set_width (label_layout, pango_layout_get_width (label_layout) + ac_width * PANGO_SCALE); if (direction == GTK_TEXT_DIR_RTL) x = widget->allocation.x + misc->xpad; else x = widget->allocation.x + widget->allocation.width - misc->xpad - ac_width; gtk_label_get_layout_offsets (GTK_LABEL (accel_label), NULL, &y); accel_layout = gtk_widget_create_pango_layout (widget, gschem_accel_label_get_string (accel_label)); y += get_first_baseline (label_layout) - get_first_baseline (accel_layout); gtk_paint_layout (widget->style, widget->window, GTK_WIDGET_STATE (widget), FALSE, &event->area, widget, "accellabel", x, y, accel_layout); g_object_unref (accel_layout); } else { if (GTK_WIDGET_CLASS (gschem_accel_label_parent_class)->expose_event) GTK_WIDGET_CLASS (gschem_accel_label_parent_class)->expose_event (widget, event); } } return FALSE; } /* Underscores in key names are better displayed as spaces * E.g., Page_Up should be "Page Up" */ static void substitute_underscores (char *str) { char *p; for (p = str; *p; p++) if (*p == '_') *p = ' '; } /** * gschem_accel_label_set_accel_string: * \param accel_label a #GschemAccelLabel * \param accel_string the accelerator string. * * Sets the accelerator string for this accelerator label. **/ void gschem_accel_label_set_accel_string (GschemAccelLabel *accel_label, const gchar *accel_string) { g_return_if_fail (GSCHEM_IS_ACCEL_LABEL (accel_label)); if (accel_label->accel_string) g_free (accel_label->accel_string); if (accel_string) { accel_label->accel_string = g_strdup (accel_string); substitute_underscores (accel_label->accel_string); } else { accel_label->accel_string = NULL; } g_object_notify (G_OBJECT (accel_label), "accel-string"); } static void gschem_accel_label_class_init (GschemAccelLabelClass *class) { GObjectClass *gobject_class = G_OBJECT_CLASS (class); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (class); gobject_class->finalize = gschem_accel_label_finalize; gobject_class->set_property = gschem_accel_label_set_property; gobject_class->get_property = gschem_accel_label_get_property; widget_class->size_request = gschem_accel_label_size_request; widget_class->expose_event = gschem_accel_label_expose_event; g_object_class_install_property (gobject_class, PROP_ACCEL_CLOSURE, g_param_spec_boxed ("accel-closure", P_("Accelerator Closure"), P_("The closure to be monitored for accelerator changes"), G_TYPE_CLOSURE, G_PARAM_READWRITE)); g_object_class_install_property (gobject_class, PROP_ACCEL_WIDGET, g_param_spec_object ("accel-widget", P_("Accelerator Widget"), P_("The widget to be monitored for accelerator changes"), GTK_TYPE_WIDGET, G_PARAM_READWRITE)); g_object_class_install_property (gobject_class, PROP_ACCEL_STRING, g_param_spec_string ("accel-string", P_("Accelerator String"), P_("The accelerator string to be displayed"), NULL, G_PARAM_READWRITE)); } geda-gaf-1.8.2/gschem/src/o_misc.c0000664000175000017500000005605512220647257013574 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2011 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #ifdef HAVE_STRING_H #include #endif #include #include #include #include #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif /* break with the tradition here and input a list */ /*! \todo probably should go back and do the same for o_copy o_move * o_delete... */ /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_edit(GSCHEM_TOPLEVEL *w_current, GList *list) { OBJECT *o_current; const gchar *str = NULL; if (list == NULL) { w_current->inside_action = 0; i_set_state(w_current, SELECT); return; } o_current = (OBJECT *) list->data; if (o_current == NULL) { fprintf(stderr, _("Got an unexpected NULL in o_edit\n")); exit(-1); } /* for now deal with only the first item */ switch(o_current->type) { /* also add the ability to multi attrib edit: nets, busses, pins */ case(OBJ_COMPLEX): case(OBJ_PLACEHOLDER): case(OBJ_NET): case(OBJ_PIN): case(OBJ_BUS): x_multiattrib_open (w_current); break; case(OBJ_PICTURE): picture_change_filename_dialog(w_current); break; case(OBJ_ARC): arc_angle_dialog(w_current, o_current); break; case(OBJ_TEXT): str = o_text_get_string (w_current->toplevel, o_current); if (o_attrib_get_name_value (o_current, NULL, NULL) && /* attribute editor only accept 1-line values for attribute */ o_text_num_lines (str) == 1) { attrib_edit_dialog(w_current,o_current, FROM_MENU); } else { o_text_edit(w_current, o_current); } break; } /* has to be more extensive in the future */ /* some sort of redrawing? */ } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ /* This locks the entire selected list. It does lock components, but does NOT * change the color (of primatives of the components) though * this cannot be called recursively */ void o_lock(GSCHEM_TOPLEVEL *w_current) { OBJECT *object = NULL; GList *s_current = NULL; /* skip over head */ s_current = geda_list_get_glist( w_current->toplevel->page_current->selection_list ); while(s_current != NULL) { object = (OBJECT *) s_current->data; if (object) { /* check to see if locked_color is already being used */ if (object->locked_color == -1) { object->selectable = FALSE; object->locked_color = object->color; object->color = LOCK_COLOR; w_current->toplevel->page_current->CHANGED=1; } else { s_log_message(_("Object already locked\n")); } } s_current = g_list_next(s_current); } if (!w_current->SHIFTKEY) o_select_unselect_all(w_current); o_undo_savestate(w_current, UNDO_ALL); i_update_menus(w_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ /* You can unlock something by selecting it with a bounding box... */ /* this will probably change in the future, but for now it's a something.. :-) */ /* this cannot be called recursively */ void o_unlock(GSCHEM_TOPLEVEL *w_current) { OBJECT *object = NULL; GList *s_current = NULL; s_current = geda_list_get_glist( w_current->toplevel->page_current->selection_list ); while(s_current != NULL) { object = (OBJECT *) s_current->data; if (object) { /* only unlock if the object is locked */ if (object->selectable == FALSE) { object->selectable = TRUE; object->color = object->locked_color; object->locked_color = -1; w_current->toplevel->page_current->CHANGED = 1; } else { s_log_message(_("Object already unlocked\n")); } } s_current = g_list_next(s_current); } o_undo_savestate(w_current, UNDO_ALL); } /*! \brief Rotate all objects in list. * \par Function Description * Given an object list, and the center of rotation * (centerx,centery, this function traverses all the selection * list, rotating each object through angle angle. * The list contains a given object and all its attributes * (refdes, pinname, pinlabel, ...). * There is a second pass to run the rotate hooks of non-simple objects, * like pin or complex objects, for example. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] centerx Center x coordinate of rotation. * \param [in] centery Center y coordinate of rotation. * \param [in] angle Angle to rotate the objects through. * \param [in] list The list of objects to rotate. */ void o_rotate_world_update(GSCHEM_TOPLEVEL *w_current, int centerx, int centery, int angle, GList *list) { TOPLEVEL *toplevel = w_current->toplevel; OBJECT *o_current; GList *o_iter; /* this is okay if you just hit rotate and have nothing selected */ if (list == NULL) { w_current->inside_action = 0; i_set_state(w_current, SELECT); return; } o_invalidate_glist (w_current, list); /* Find connected objects, removing each object in turn from the * connection list. We only _really_ want those objects connected * to the selection, not those within in it. */ for (o_iter = list; o_iter != NULL; o_iter = g_list_next (o_iter)) { o_current = o_iter->data; s_conn_remove_object (toplevel, o_current); } o_glist_rotate_world( toplevel, centerx, centery, angle, list ); /* Find connected objects, adding each object in turn back to the * connection list. We only _really_ want those objects connected * to the selection, not those within in it. */ for (o_iter = list; o_iter != NULL; o_iter = g_list_next (o_iter)) { o_current = o_iter->data; s_conn_update_object (toplevel, o_current); } o_invalidate_glist (w_current, list); /* Run rotate-objects-hook */ g_run_hook_object_list (w_current, "%rotate-objects-hook", list); /* Don't save the undo state if we are inside an action */ /* This is useful when rotating the selection while moving, for example */ toplevel->page_current->CHANGED = 1; if (!w_current->inside_action) { o_undo_savestate(w_current, UNDO_ALL); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_mirror_world_update(GSCHEM_TOPLEVEL *w_current, int centerx, int centery, GList *list) { TOPLEVEL *toplevel = w_current->toplevel; OBJECT *o_current; GList *o_iter; if (list == NULL) { w_current->inside_action = 0; i_set_state(w_current, SELECT); return; } o_invalidate_glist (w_current, list); /* Find connected objects, removing each object in turn from the * connection list. We only _really_ want those objects connected * to the selection, not those within in it. */ for (o_iter = list; o_iter != NULL; o_iter = g_list_next (o_iter)) { o_current = o_iter->data; s_conn_remove_object (toplevel, o_current); } o_glist_mirror_world( toplevel, centerx, centery, list ); /* Find connected objects, adding each object in turn back to the * connection list. We only _really_ want those objects connected * to the selection, not those within in it. */ for (o_iter = list; o_iter != NULL; o_iter = g_list_next (o_iter)) { o_current = o_iter->data; s_conn_update_object (toplevel, o_current); } o_invalidate_glist (w_current, list); /* Run mirror-objects-hook */ g_run_hook_object_list (w_current, "%mirror-objects-hook", list); toplevel->page_current->CHANGED=1; o_undo_savestate(w_current, UNDO_ALL); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_edit_show_hidden_lowlevel (GSCHEM_TOPLEVEL *w_current, const GList *o_list) { TOPLEVEL *toplevel = w_current->toplevel; OBJECT *o_current; const GList *iter; iter = o_list; while (iter != NULL) { o_current = (OBJECT *)iter->data; if (o_current->type == OBJ_TEXT && !o_is_visible (toplevel, o_current)) { /* don't toggle the visibility flag */ o_text_recreate (toplevel, o_current); } if (o_current->type == OBJ_COMPLEX || o_current->type == OBJ_PLACEHOLDER) { o_edit_show_hidden_lowlevel(w_current, o_current->complex->prim_objs); o_recalc_single_object(toplevel, o_current); } iter = g_list_next (iter); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_edit_show_hidden (GSCHEM_TOPLEVEL *w_current, const GList *o_list) { /* this function just shows the hidden text, but doesn't toggle it */ /* this function does not change the CHANGED bit, no real changes are */ /* made to the schematic */ /* toggle show_hidden_text variable, which when it is true */ /* means that hidden text IS drawn */ w_current->toplevel->show_hidden_text = !w_current->toplevel->show_hidden_text; i_show_state(w_current, NULL); /* update screen status */ o_edit_show_hidden_lowlevel(w_current, o_list); o_invalidate_all (w_current); if (w_current->toplevel->show_hidden_text) { s_log_message(_("Hidden text is now visible\n")); } else { s_log_message(_("Hidden text is now invisible\n")); } } #define FIND_WINDOW_HALF_SIZE (5000) OBJECT *last_o = NULL; int skiplast; /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \todo Only descends into the first source schematic * */ int o_edit_find_text (GSCHEM_TOPLEVEL *w_current, const GList *o_list, char *stext, int descend, int skip) { TOPLEVEL *toplevel = w_current->toplevel; char *attrib = NULL; int count = 0; PAGE *parent = NULL; char *current_filename = NULL; int page_control = 0; int pcount = 0; int rv; int text_screen_height; const GList *iter; OBJECT *o_current; skiplast = skip; iter = o_list; while (iter != NULL) { o_current = (OBJECT *)iter->data; if (descend) { if (o_current->type == OBJ_COMPLEX) { parent = toplevel->page_current; attrib = o_attrib_search_attached_attribs_by_name (o_current, "source", count); /* if above is null, then look inside symbol */ if (attrib == NULL) { attrib = o_attrib_search_inherited_attribs_by_name (o_current, "source", count); /* looking_inside = TRUE; */ } if (attrib) { pcount = 0; current_filename = u_basic_breakup_string(attrib, ',', pcount); if (current_filename != NULL) { PAGE *child_page = s_hierarchy_down_schematic_single(toplevel, current_filename, parent, page_control, HIERARCHY_NORMAL_LOAD); if (child_page != NULL) { page_control = child_page->page_control; rv = o_edit_find_text (w_current, s_page_objects (child_page), stext, descend, skiplast); if (!rv) { s_page_goto( toplevel, child_page ); return 0; } } } } } } if (o_current->type == OBJ_TEXT && (o_is_visible (toplevel, o_current) || toplevel->show_hidden_text)) { const gchar *str = o_text_get_string (toplevel, o_current); /* replaced strcmp with strstr to simplify the search */ if (strstr (str,stext)) { if (!skiplast) { int x1, y1, x2, y2; a_zoom(w_current, ZOOM_FULL, DONTCARE, A_PAN_DONT_REDRAW); g_assert( world_get_single_object_bounds (toplevel, o_current, &x1, &y1, &x2, &y2) ); text_screen_height = SCREENabs (w_current, y2 - y1); /* this code will zoom/pan till the text screen height is about */ /* 50 pixels high, perhaps a future enhancement will be to make */ /* this number configurable */ while (text_screen_height < 50) { a_zoom(w_current, ZOOM_IN, DONTCARE, A_PAN_DONT_REDRAW); text_screen_height = SCREENabs (w_current, y2 - y1); } a_pan_general(w_current, o_current->text->x, o_current->text->y, 1, 0); /* Make sure the titlebar and scrollbars are up-to-date */ x_window_set_current_page(w_current, w_current->toplevel->page_current ); last_o = o_current; break; } if (last_o == o_current) { skiplast = 0; } } /* if (strstr(o_current->text->string,stext)) */ } /* if (o_current->type == OBJ_TEXT) */ iter = g_list_next (iter); if (iter == NULL) { return 1; } } return (iter == NULL); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_edit_hide_specific_text (GSCHEM_TOPLEVEL *w_current, const GList *o_list, char *stext) { TOPLEVEL *toplevel = w_current->toplevel; OBJECT *o_current; const GList *iter; iter = o_list; while (iter != NULL) { o_current = (OBJECT *)iter->data; if (o_current->type == OBJ_TEXT) { const gchar *str = o_text_get_string (w_current->toplevel, o_current); if (!strncmp (stext, str, strlen (stext))) { if (o_is_visible (toplevel, o_current)) { o_set_visibility (toplevel, o_current, INVISIBLE); o_text_recreate(toplevel, o_current); toplevel->page_current->CHANGED = 1; } } } iter = g_list_next (iter); } o_undo_savestate(w_current, UNDO_ALL); o_invalidate_all (w_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_edit_show_specific_text (GSCHEM_TOPLEVEL *w_current, const GList *o_list, char *stext) { TOPLEVEL *toplevel = w_current->toplevel; OBJECT *o_current; const GList *iter; iter = o_list; while (iter != NULL) { o_current = (OBJECT *)iter->data; if (o_current->type == OBJ_TEXT) { const gchar *str = o_text_get_string (w_current->toplevel, o_current); if (!strncmp (stext, str, strlen (stext))) { if (!o_is_visible (toplevel, o_current)) { o_set_visibility (toplevel, o_current, VISIBLE); o_text_recreate(toplevel, o_current); toplevel->page_current->CHANGED = 1; } } } iter = g_list_next (iter); } o_undo_savestate(w_current, UNDO_ALL); } /*! \brief Update a component. * * \par Function Description * Updates \a o_current to the latest version of the symbol available * in the symbol library, while preserving any attributes set in the * current schematic. On success, returns the new OBJECT which * replaces \a o_current on the page; \a o_current is deleted. On * failure, returns NULL, and \a o_current is left unchanged. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in,out] o_current The OBJECT to be updated. * * \return the new OBJECT that replaces \a o_current. */ OBJECT * o_update_component (GSCHEM_TOPLEVEL *w_current, OBJECT *o_current) { TOPLEVEL *toplevel = w_current->toplevel; OBJECT *o_new; PAGE *page; GList *new_attribs; GList *old_attribs; GList *iter; const CLibSymbol *clib; g_return_val_if_fail (o_current != NULL, NULL); g_return_val_if_fail (o_current->type == OBJ_COMPLEX, NULL); g_return_val_if_fail (o_current->complex_basename != NULL, NULL); page = o_get_page (toplevel, o_current); /* Force symbol data to be reloaded from source */ clib = s_clib_get_symbol_by_name (o_current->complex_basename); s_clib_symbol_invalidate_data (clib); if (clib == NULL) { s_log_message (_("Could not find symbol [%s] in library. Update failed.\n"), o_current->complex_basename); return NULL; } /* Unselect the old object. */ o_selection_remove (toplevel, page->selection_list, o_current); /* Create new object and set embedded */ o_new = o_complex_new (toplevel, OBJ_COMPLEX, DEFAULT_COLOR, o_current->complex->x, o_current->complex->y, o_current->complex->angle, o_current->complex->mirror, clib, o_current->complex_basename, 1); if (o_complex_is_embedded (o_current)) { o_embed (toplevel, o_new); } new_attribs = o_complex_promote_attribs (toplevel, o_new); /* Cull any attributes from new COMPLEX that are already attached to * old COMPLEX. Note that the new_attribs list is kept consistent by * setting GList data pointers to NULL if their OBJECTs are * culled. At the end, the new_attribs list is updated by removing * all list items with NULL data. This is slightly magic, but * works. */ for (iter = new_attribs; iter != NULL; iter = g_list_next (iter)) { OBJECT *attr_new = iter->data; gchar *name; gchar *value; g_assert (attr_new->type == OBJ_TEXT); o_attrib_get_name_value (attr_new, &name, NULL); value = o_attrib_search_attached_attribs_by_name (o_current, name, 0); if (value != NULL) { o_attrib_remove (toplevel, &o_new->attribs, attr_new); s_delete_object (toplevel, attr_new); iter->data = NULL; } g_free (name); g_free (value); } new_attribs = g_list_remove_all (new_attribs, NULL); /* Detach attributes from old OBJECT and attach to new OBJECT */ old_attribs = g_list_copy (o_current->attribs); o_attrib_detach_all (toplevel, o_current); o_attrib_attach_list (toplevel, old_attribs, o_new, 1); g_list_free (old_attribs); /* Add new attributes to page */ s_page_append_list (toplevel, page, new_attribs); /* Update pinnumbers for current slot */ s_slot_update_object (toplevel, o_new); /* Replace old OBJECT with new OBJECT */ s_page_replace (toplevel, page, o_current, o_new); s_delete_object (toplevel, o_current); /* Select new OBJECT */ o_selection_add (toplevel, page->selection_list, o_new); /* mark the page as modified */ toplevel->page_current->CHANGED = 1; o_undo_savestate (w_current, UNDO_ALL); return o_new; } /*! \brief Do autosave on all pages that are marked. * \par Function Description * Looks for pages with the do_autosave_backup flag activated and * autosaves them. * * \param [in] w_current The GSCHEM_TOPLEVEL object to search for autosave's. */ void o_autosave_backups(GSCHEM_TOPLEVEL *w_current) { TOPLEVEL *toplevel = w_current->toplevel; GList *iter; PAGE *p_save, *p_current; gchar *backup_filename; gchar *real_filename; gchar *only_filename; gchar *dirname; mode_t saved_umask; mode_t mask; struct stat st; /* save current page */ p_save = toplevel->page_current; for ( iter = geda_list_get_glist( toplevel->pages ); iter != NULL; iter = g_list_next( iter ) ) { p_current = (PAGE *)iter->data; if (p_current->do_autosave_backup == 0) { continue; } if (p_current->ops_since_last_backup != 0) { /* make p_current the current page of toplevel */ s_page_goto (toplevel, p_current); /* Get the real filename and file permissions */ real_filename = follow_symlinks (p_current->page_filename, NULL); if (real_filename == NULL) { s_log_message (_("o_autosave_backups: Can't get the real filename of %s."), p_current->page_filename); } else { /* Get the directory in which the real filename lives */ dirname = g_path_get_dirname (real_filename); only_filename = g_path_get_basename(real_filename); backup_filename = g_strdup_printf("%s%c"AUTOSAVE_BACKUP_FILENAME_STRING, dirname, G_DIR_SEPARATOR, only_filename); /* If there is not an existing file with that name, compute the * permissions and uid/gid that we will use for the newly-created file. */ if (stat (real_filename, &st) != 0) { #if defined(HAVE_GETUID) && defined(HAVE_GETGID) struct stat dir_st; int result; #endif /* Use default permissions */ saved_umask = umask(0); st.st_mode = 0666 & ~saved_umask; umask(saved_umask); #if defined(HAVE_GETUID) && defined(HAVE_GETGID) st.st_uid = getuid (); result = stat (dirname, &dir_st); if (result == 0 && (dir_st.st_mode & S_ISGID)) st.st_gid = dir_st.st_gid; else st.st_gid = getgid (); #endif } g_free (dirname); g_free (only_filename); g_free (real_filename); /* Make the backup file writable before saving a new one */ if ( g_file_test (backup_filename, G_FILE_TEST_EXISTS) && (! g_file_test (backup_filename, G_FILE_TEST_IS_DIR))) { saved_umask = umask(0); if (chmod(backup_filename, (S_IWRITE|S_IWGRP|S_IWOTH) & ((~saved_umask) & 0777)) != 0) { s_log_message (_("Could NOT set previous backup file [%s] read-write\n"), backup_filename); } umask(saved_umask); } if (o_save (toplevel, s_page_objects (toplevel->page_current), backup_filename, NULL)) { p_current->ops_since_last_backup = 0; p_current->do_autosave_backup = 0; /* Make the backup file readonly so a 'rm *' command will ask the user before deleting it */ saved_umask = umask(0); mask = (S_IWRITE|S_IWGRP|S_IEXEC|S_IXGRP|S_IXOTH); mask = (~mask)&0777; mask &= ((~saved_umask) & 0777); if (chmod(backup_filename,mask) != 0) { s_log_message (_("Could NOT set backup file [%s] readonly\n"), backup_filename); } umask(saved_umask); } else { s_log_message (_("Could NOT save backup file [%s]\n"), backup_filename); } g_free (backup_filename); } } } /* restore current page */ s_page_goto (toplevel, p_save); } geda-gaf-1.8.2/gschem/src/x_misc.c0000664000175000017500000001147512063576065013605 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 2011 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #ifdef OS_WIN32 # define STRICT # include # undef STRICT #endif #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif #ifdef HAVE_SYS_WAIT_H #include #endif #if defined (OS_WIN32) /*! \brief Launch application to show URI on Windows. * \par Function Description * On native Windows, the ShellExecute Windows API function provides a * reliable way to open a URI in a default application. * * This function is called by x_show_uri(). * * \param uri URI to launch viewer for. * \param error Location to return error information. * \return TRUE on success, FALSE on failure. */ static gboolean show_uri__win32 (const gchar *uri, GError **error) { /* On Windows, we need to use ShellExecute because allegedly GIO * doesn't cope very well with Windows. :-( */ int status; gchar *msg = NULL; g_assert (uri); status = (int) ShellExecute (NULL, /* window handle */ "open", uri, NULL, /* No parameters (not launching application) */ NULL, /* Inherit working directory */ SW_SHOWNORMAL); /* Default application display mode */ if (status > 32) { return TRUE; } if (status == 0) { msg = g_strdup (_("The operating system is out of memory or resources.")); } else { LPVOID buf; FormatMessage ((FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS), NULL, status, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR) &buf, 0, NULL); msg = g_strdup ((gchar *) buf); LocalFree (buf); } /* \bug We should specify a domain and error code. */ g_set_error (error, 0, 0, "%s", msg); g_free (msg); return FALSE; } #endif /* OS_WIN32 */ /*! \brief Launch default application for a URI. * \par Function Description * Launches the default application associated with \a uri on the host * platform. * * Depending on the way gEDA was configured, this may occur by one of * the following three methods: * * -# Calling gtk_show_uri() to use the GIO library (default on Linux) * -# Calling the ShellExecute() Windows API call (default on Windows) * -# Running an appropriate external tool. * * \param w_current Current #GSCHEM_TOPLEVEL structure. * \param uri URI to launch viewer for. * \param error Location to return error information. * \return TRUE on success, FALSE on failure. */ gboolean x_show_uri (GSCHEM_TOPLEVEL *w_current, const gchar *uri, GError **error) { # if defined (SHOW_URI_GIO) GdkScreen *screen; g_assert (w_current); g_assert (uri); screen = gtk_window_get_screen (GTK_WINDOW (w_current->main_window)); return gtk_show_uri (screen, uri, GDK_CURRENT_TIME, error); # elif defined (OS_WIN32) && !defined (OS_CYGWIN) return show_uri__win32 (uri, error); # else gboolean spawn_status; gint exit_status; gchar *argv[3]; g_assert (uri); argv[0] = SHOW_URI_COMMAND; argv[1] = (gchar *) uri; argv[2] = NULL; /* Null-terminated */ spawn_status = g_spawn_sync (NULL, /* Inherit working directory */ argv, NULL, /* Inherit environment */ G_SPAWN_SEARCH_PATH, /* Flags */ NULL, /* No child setup function */ NULL, /* No child setup function data */ NULL, /* Don't need stdout */ NULL, /* Don't need stderr */ &exit_status, error); if (!spawn_status) return FALSE; if (exit_status != 0) { g_set_error (error, G_SPAWN_ERROR, G_SPAWN_ERROR_FAILED, _("%s failed to launch URI"), argv[0]); return FALSE; } return TRUE; # endif } geda-gaf-1.8.2/gschem/src/x_attribedit.c0000664000175000017500000004752512220647257015007 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! \todo STILL NEED to clean up line lengths in aa and tr */ #include #include #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_STRING_H #include #endif #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif /***************** Start of Attrib Edit dialog box ********************/ /*! \section attrib-edit-dialog-box Atrib Edit Dialog Box */ /*! \todo Finish function documentation!!! * \brief * \par Function Documentation * */ gint option_menu_get_history (GtkOptionMenu *option_menu) { GtkWidget *active_widget; g_return_val_if_fail (GTK_IS_OPTION_MENU (option_menu), -1); active_widget = gtk_menu_get_active (GTK_MENU (option_menu->menu)); if (active_widget) return g_list_index (GTK_MENU_SHELL (option_menu->menu)->children, active_widget); else return -1; } /*! \todo Finish function documentation!!! * \brief * \par Function Documentation * */ void attrib_edit_dialog_ok(GtkWidget * w, GSCHEM_TOPLEVEL *w_current) { TOPLEVEL *toplevel = w_current->toplevel; const char *value, *label; char *newtext; GtkEntry *value_entry, *name_entry; GtkWidget *visbutton, *show_options; GtkWidget *addtocompsbutton, *addtonetsbutton, *addtoallbutton; GtkWidget *overwritebutton; OBJECT *attribptr; OBJECT *object; GList *s_current = NULL; OBJECT *a_current; GList *a_iter; int vis, show; int invocation_flag; int nsel=0, addto=0, replace=0, addmask=0; int option_index; gint wx, wy; i_set_state(w_current, SELECT); value_entry = gtk_object_get_data(GTK_OBJECT(w_current->aewindow), "value_entry"); name_entry = gtk_object_get_data(GTK_OBJECT(w_current->aewindow), "attrib_combo_entry"); visbutton = gtk_object_get_data(GTK_OBJECT(w_current->aewindow), "visbutton"); show_options = gtk_object_get_data(GTK_OBJECT(w_current->aewindow), "show_options"); value = gtk_entry_get_text(value_entry); label = gtk_entry_get_text(name_entry); newtext = g_strconcat (label, "=", value, NULL); if (!x_dialog_validate_attribute(GTK_WINDOW(w_current->aewindow), newtext)) { g_free(newtext); return; } if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(visbutton))) vis = VISIBLE; else vis = INVISIBLE; option_index = option_menu_get_history(GTK_OPTION_MENU (show_options)); switch(option_index) { case(0): show = SHOW_VALUE; break; case(1): show = SHOW_NAME; break; case(2): show = SHOW_NAME_VALUE; break; default: fprintf(stderr, _("Got invalid show option; defaulting to show both\n")); show = SHOW_NAME_VALUE; break; } attribptr = gtk_object_get_data(GTK_OBJECT(w_current->aewindow), "attrib"); if (!attribptr) { OBJECT *new = NULL; s_current = geda_list_get_glist( toplevel->page_current->selection_list ); while (s_current != NULL) { object = (OBJECT *)s_current->data; if (object == NULL) { fprintf(stderr, _("ERROR: NULL object!\n")); exit(-1); } if (!object->attached_to) { nsel++; } s_current = g_list_next(s_current); } s_current = geda_list_get_glist( toplevel->page_current->selection_list ); if (nsel > 1) { addtoallbutton = gtk_object_get_data(GTK_OBJECT(w_current->aewindow), "addtoallbutton"); addtocompsbutton = gtk_object_get_data(GTK_OBJECT(w_current->aewindow), "addtocompsbutton"); addtonetsbutton = gtk_object_get_data(GTK_OBJECT(w_current->aewindow), "addtonetsbutton"); overwritebutton = gtk_object_get_data(GTK_OBJECT(w_current->aewindow), "overwritebutton"); if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(overwritebutton))) { replace = 1; } else { replace = 0; } if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(addtoallbutton))) { addto = 7; } if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(addtocompsbutton))) { addto = 2; } if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(addtonetsbutton))) { addto = 1; } while (s_current != NULL) { gboolean replaced; object = (OBJECT *) s_current->data; if (object && !object->attached_to && object->type != OBJ_TEXT ) { addmask = 4; if (object->type == OBJ_COMPLEX || object->type == OBJ_PLACEHOLDER) { addmask = 2; } if (object->type == OBJ_NET) { addmask = 1; } replaced = FALSE; if (addmask & addto) { a_iter = object->attribs; if (replace) { while (a_iter != NULL) { a_current = a_iter->data; const gchar *str = o_text_get_string (toplevel, a_current); if (str) { if (!strncmp (str, newtext, strchr (newtext, '=') - newtext)) { o_text_change(w_current, a_current, newtext, vis, show); replaced = TRUE; toplevel->page_current->CHANGED = 1; } } a_iter = g_list_next (a_iter); } } if (!replaced) { (void) o_attrib_add_attrib(w_current, newtext, vis, show, object); } } } s_current = g_list_next (s_current); } o_undo_savestate(w_current, UNDO_ALL); } else { object = o_select_return_first_object(w_current); new = o_attrib_add_attrib(w_current, newtext, vis, show, object); invocation_flag = GPOINTER_TO_INT( gtk_object_get_data(GTK_OBJECT(w_current->aewindow), "invocation_flag") ); wx = GPOINTER_TO_INT( gtk_object_get_data(GTK_OBJECT(w_current->aewindow), "position_wx")); wy = GPOINTER_TO_INT( gtk_object_get_data(GTK_OBJECT(w_current->aewindow), "position_wy")); #if DEBUG printf("invocation flag: %d\n", invocation_flag); #endif if (invocation_flag == FROM_HOTKEY && wx != -1 && wy != -1) { o_invalidate (w_current, new); new->text->x = wx; new->text->y = wy; o_text_recreate(toplevel, new); toplevel->page_current->CHANGED = 1; o_undo_savestate(w_current, UNDO_ALL); } } } else { o_text_change(w_current, attribptr, newtext, vis, show); toplevel->page_current->CHANGED = 1; o_undo_savestate(w_current, UNDO_ALL); } gtk_grab_remove(w_current->aewindow); gtk_widget_destroy(w_current->aewindow); w_current->aewindow = NULL; g_free(newtext); } /*! \brief Response function for the attribute add/edit dialog * \par Function Description * This function catches the user response for the add and edit * attribute dialog. */ void attribute_edit_dialog_response(GtkWidget *w, gint response, GSCHEM_TOPLEVEL *w_current) { switch(response) { case GTK_RESPONSE_APPLY: attrib_edit_dialog_ok(NULL, w_current); break; case GTK_RESPONSE_REJECT: case GTK_RESPONSE_DELETE_EVENT: i_set_state(w_current, SELECT); gtk_grab_remove(w_current->aewindow); gtk_widget_destroy(w_current->aewindow); w_current->aewindow = NULL; break; default: printf("attrib_edit_dialog_response(): strange signal %d\n", response); } /* clean up */ } /*! \brief Create the attribute add/edit dialog * \par Function Description * This function creates the single attribute edit dialog. */ void attrib_edit_dialog (GSCHEM_TOPLEVEL *w_current, OBJECT *attr_obj, int flag) { TOPLEVEL *toplevel = w_current->toplevel; GtkWidget *aewindow; GtkWidget *vbox, *label, *table, *alignment; GtkWidget *show_options; GtkWidget *show_options_menu; GtkWidget *glade_menuitem; GtkWidget *attrib_combo_box_entry; GtkWidget *attrib_combo_entry; GtkWidget *value_entry; GtkWidget *visbutton; GSList *hbox2_group = NULL; GtkWidget *addtoallbutton; GtkWidget *addtocompsbutton; GtkWidget *addtonetsbutton; GtkWidget *overwritebutton; GtkEntryCompletion *attrib_combo_entry_completion; /* gschem specific */ GList *s_current = NULL; char* string = NULL; int nsel=0, i, len; char *name = NULL; char *val = NULL; OBJECT *attrib = NULL; gint wx, wy; /* gschem specific */ if (w_current->aewindow) return; /* gschem specific: What do we count here? (Werner) */ for (s_current = geda_list_get_glist( toplevel->page_current->selection_list ); s_current != NULL; s_current = g_list_next(s_current)) { if (!((OBJECT *) s_current->data)->attached_to) { nsel++; } } aewindow = gschem_dialog_new_with_buttons(_("Single Attribute Editor"), GTK_WINDOW(w_current->main_window), GTK_DIALOG_MODAL, "singleattrib", w_current, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, GTK_STOCK_OK, GTK_RESPONSE_APPLY, NULL); /* Set the alternative button order (ok, cancel, help) for other systems */ gtk_dialog_set_alternative_button_order(GTK_DIALOG(aewindow), GTK_RESPONSE_APPLY, GTK_RESPONSE_REJECT, -1); g_signal_connect (G_OBJECT (aewindow), "response", G_CALLBACK (attribute_edit_dialog_response), w_current); gtk_window_set_position (GTK_WINDOW (aewindow), GTK_WIN_POS_MOUSE); gtk_dialog_set_default_response(GTK_DIALOG(aewindow), GTK_RESPONSE_APPLY); vbox = GTK_DIALOG(aewindow)->vbox; gtk_container_set_border_width(GTK_CONTAINER(aewindow), DIALOG_BORDER_SPACING); gtk_box_set_spacing(GTK_BOX(vbox), DIALOG_V_SPACING); if (attr_obj) label = gtk_label_new(_("Edit Attribute")); else label = gtk_label_new(_("Add Attribute")); gtk_label_set_use_markup (GTK_LABEL (label), TRUE); gtk_misc_set_alignment(GTK_MISC(label),0,0); gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); alignment = gtk_alignment_new(0,0,1,1); gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 0, DIALOG_INDENTATION, 0); gtk_box_pack_start(GTK_BOX(vbox), alignment, TRUE, TRUE, 0); table = gtk_table_new (3, 2, FALSE); gtk_table_set_row_spacings(GTK_TABLE(table), DIALOG_V_SPACING); gtk_table_set_col_spacings(GTK_TABLE(table), DIALOG_H_SPACING); gtk_container_add (GTK_CONTAINER (alignment), table); /* Name selection */ label = gtk_label_new (_("Name:")); gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); gtk_table_attach (GTK_TABLE (table), label, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); attrib_combo_box_entry = gtk_combo_box_entry_new_text (); attrib_combo_entry = gtk_bin_get_child(GTK_BIN(attrib_combo_box_entry)); gtk_table_attach (GTK_TABLE (table), attrib_combo_box_entry, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); g_object_ref (attrib_combo_entry); g_object_set_data_full (G_OBJECT (aewindow), "attrib_combo_entry", attrib_combo_entry, (GtkDestroyNotify) gtk_widget_unref); /* Value entry */ label = gtk_label_new (_("Value:")); gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); gtk_table_attach (GTK_TABLE (table), label, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); value_entry = gtk_entry_new (); gtk_widget_ref (value_entry); gtk_object_set_data_full (GTK_OBJECT (aewindow), "value_entry", value_entry, (GtkDestroyNotify) gtk_widget_unref); gtk_table_attach (GTK_TABLE (table), value_entry, 1, 2, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_activates_default(GTK_ENTRY(value_entry), TRUE); /* Visibility */ visbutton = gtk_check_button_new_with_label (_("Visible")); gtk_widget_ref (visbutton); gtk_object_set_data_full (GTK_OBJECT (aewindow), "visbutton", visbutton, (GtkDestroyNotify) gtk_widget_unref); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (visbutton), TRUE); gtk_table_attach (GTK_TABLE (table), visbutton, 0, 1, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); show_options = gtk_option_menu_new (); gtk_widget_ref (show_options); gtk_object_set_data_full (GTK_OBJECT (aewindow), "show_options", show_options, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (show_options); gtk_table_attach (GTK_TABLE (table), show_options, 1, 2, 2, 3, (GtkAttachOptions) (GTK_FILL | GTK_EXPAND), (GtkAttachOptions) (0), 0, 0); show_options_menu = gtk_menu_new (); glade_menuitem = gtk_menu_item_new_with_label (_("Show Value Only")); gtk_menu_append (GTK_MENU (show_options_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Show Name Only")); gtk_menu_append (GTK_MENU (show_options_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Show Name & Value")); gtk_menu_append (GTK_MENU (show_options_menu), glade_menuitem); gtk_option_menu_set_menu (GTK_OPTION_MENU (show_options), show_options_menu); gtk_option_menu_set_history (GTK_OPTION_MENU (show_options), 0); if (nsel > 1) { /* gschem specific */ label = gtk_label_new(_("Attach Options")); gtk_label_set_use_markup (GTK_LABEL (label), TRUE); gtk_misc_set_alignment(GTK_MISC(label),0,0); gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); alignment = gtk_alignment_new(0,0,1,1); gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 0, DIALOG_INDENTATION, 0); gtk_box_pack_start(GTK_BOX(vbox), alignment, TRUE, TRUE, 0); table = gtk_table_new (2, 3, FALSE); gtk_table_set_row_spacings(GTK_TABLE(table), DIALOG_V_SPACING); gtk_table_set_col_spacings(GTK_TABLE(table), DIALOG_H_SPACING); gtk_container_add (GTK_CONTAINER (alignment), table); addtoallbutton = gtk_radio_button_new_with_label (hbox2_group, _("All")); hbox2_group = gtk_radio_button_group (GTK_RADIO_BUTTON (addtoallbutton)); gtk_widget_ref (addtoallbutton); gtk_object_set_data_full (GTK_OBJECT (aewindow), "addtoallbutton", addtoallbutton, (GtkDestroyNotify) gtk_widget_unref); gtk_table_attach(GTK_TABLE(table), addtoallbutton, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), 0, 0, 0); addtocompsbutton = gtk_radio_button_new_with_label (hbox2_group, _("Components")); hbox2_group = gtk_radio_button_group (GTK_RADIO_BUTTON (addtocompsbutton)); gtk_widget_ref (addtocompsbutton); gtk_object_set_data_full (GTK_OBJECT (aewindow), "addtocompsbutton", addtocompsbutton, (GtkDestroyNotify) gtk_widget_unref); gtk_table_attach(GTK_TABLE(table), addtocompsbutton, 1, 2, 0, 1, (GtkAttachOptions) (GTK_FILL), 0, 0, 0); addtonetsbutton = gtk_radio_button_new_with_label (hbox2_group, _("Nets")); hbox2_group = gtk_radio_button_group (GTK_RADIO_BUTTON (addtonetsbutton)); gtk_widget_ref (addtonetsbutton); gtk_object_set_data_full (GTK_OBJECT (aewindow), "addtonetsbutton", addtonetsbutton, (GtkDestroyNotify) gtk_widget_unref); gtk_table_attach(GTK_TABLE(table), addtonetsbutton, 2, 3, 0, 1, (GtkAttachOptions) (GTK_FILL), 0, 0, 0); overwritebutton = gtk_check_button_new_with_label (_("Replace existing attributes")); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(overwritebutton), TRUE); gtk_widget_ref (overwritebutton); gtk_object_set_data_full (GTK_OBJECT (aewindow), "overwritebutton", overwritebutton, (GtkDestroyNotify) gtk_widget_unref); gtk_table_attach(GTK_TABLE(table), overwritebutton, 0, 3, 1, 2, (GtkAttachOptions) (GTK_FILL), 0, 0, 0); } /* gschem specific */ if (attr_obj) { o_attrib_get_name_value (attr_obj, &name, &val); attrib = attr_obj; if (o_is_visible (toplevel, attrib)) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(visbutton), TRUE); } else { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(visbutton), FALSE); } if (attrib->show_name_value == SHOW_VALUE) { gtk_option_menu_set_history (GTK_OPTION_MENU (show_options), 0); } else if (attrib->show_name_value == SHOW_NAME) { gtk_option_menu_set_history (GTK_OPTION_MENU (show_options), 1); } else { gtk_option_menu_set_history (GTK_OPTION_MENU (show_options), 2); } } else { OBJECT *object; attrib = NULL; if ((object = o_select_return_first_object(w_current))) { if (object->type == OBJ_NET) name = g_strdup("netname"); } gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(visbutton), TRUE); /* show value only */ gtk_option_menu_set_history (GTK_OPTION_MENU (show_options), 0); } gtk_object_set_data(GTK_OBJECT(aewindow), "attrib", attrib); if (name) { gtk_entry_set_text(GTK_ENTRY(attrib_combo_entry), name); } if (val) { gtk_entry_set_text(GTK_ENTRY(value_entry), val); len = strlen(val); gtk_entry_select_region(GTK_ENTRY(value_entry), 0, len); } gtk_object_set_data(GTK_OBJECT(aewindow), "invocation_flag", GINT_TO_POINTER(flag)); if (!x_event_get_pointer_position(w_current, TRUE, &wx, &wy)) { wx = wy = -1; } gtk_object_set_data(GTK_OBJECT(aewindow), "position_wx", GINT_TO_POINTER(wx)); gtk_object_set_data(GTK_OBJECT(aewindow), "position_wy", GINT_TO_POINTER(wy)); /* gschem specific */ i = 0; string = (char *) s_attrib_get(i); while (string != NULL) { gtk_combo_box_append_text(GTK_COMBO_BOX(attrib_combo_box_entry), string); i++; string = (char *) s_attrib_get(i); } /* Add completion to attribute combo box entry */ attrib_combo_entry_completion = gtk_entry_completion_new(); gtk_entry_completion_set_model(attrib_combo_entry_completion, gtk_combo_box_get_model(GTK_COMBO_BOX(attrib_combo_box_entry))); gtk_entry_completion_set_text_column(attrib_combo_entry_completion, 0); gtk_entry_completion_set_inline_completion(attrib_combo_entry_completion, TRUE); gtk_entry_completion_set_popup_single_match(attrib_combo_entry_completion, FALSE); gtk_entry_set_completion(GTK_ENTRY(attrib_combo_entry), attrib_combo_entry_completion); /* gschem specific */ gtk_widget_show_all(aewindow); w_current->aewindow = aewindow; gtk_grab_add(w_current->aewindow); if (attrib || (name && strcmp(name, "netname") == 0)) { gtk_widget_grab_focus(value_entry); } else { gtk_widget_grab_focus(attrib_combo_entry); } g_free(name); g_free(val); } /***************** End of Attrib Edit dialog box **********************/ geda-gaf-1.8.2/gschem/src/x_stroke.c0000664000175000017500000001166612063576065014163 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include "gschem.h" #ifdef HAVE_LIBSTROKE #include #ifdef HAVE_LIBDMALLOC #include #endif /* * stroke_points is an array of points for the stroke * footprints. The points of the stroke are displayed over the display * area of the main window. They have to be erased when the stroke is * translated and the sequence evaluated. * * Its size will never exceed STROKE_MAX_POINTS (the limit in * number of points of a stroke provided by libstroke). */ typedef struct { gint x, y; } StrokePoint; static GArray *stroke_points = NULL; /*! \brief Initializes the stroke interface. * \par Function Description * This is the initialization function for the stroke interface. It * initializes the libstroke library and prepare an array of points * for the mouse footprints. * * This function has to be called only once at application * initialization before any use of the stroke interface. */ void x_stroke_init (void) { g_return_if_fail (stroke_points == NULL); stroke_init (); stroke_points = g_array_new (FALSE, FALSE, sizeof (StrokePoint)); } /*! \brief Frees memory of the stroke interface. * \par Function Description * This function frees the memory used for the mouse footprint * points. It terminates the use of the stroke interface. */ void x_stroke_free (void) { g_return_if_fail (stroke_points != NULL); g_array_free (stroke_points, TRUE); stroke_points = NULL; } /*! \brief Records a new point for the stroke. * \par Function Description * This function adds the point (x,y) as a new point in * the stroke. * * The footprint is updated and the new point is drawn on the drawing area. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] x The X coord of the new point. * \param [in] Y The X coord of the new point. */ void x_stroke_record (GSCHEM_TOPLEVEL *w_current, gint x, gint y) { g_assert (stroke_points != NULL); stroke_record (x, y); if (stroke_points->len < STROKE_MAX_POINTS) { StrokePoint point = { x, y }; g_array_append_val (stroke_points, point); gdk_gc_set_foreground (w_current->gc, x_get_color (STROKE_COLOR)); gdk_draw_point (w_current->window, w_current->gc, x, y); } } /*! \brief Evaluates the stroke. * \par Function Description * This function transforms the stroke input so far in an action. * * It makes use of the guile procedure eval-stroke to evaluate * the stroke sequence into a possible action. The mouse footprint is * erased in this function. * * It returns 1 if the stroke has been successfully evaluated as an * action. It returns 0 if libstroke failed to transform the stroke * or there is no action attached to the stroke. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \returns 1 on success, 0 otherwise. */ gint x_stroke_translate_and_execute (GSCHEM_TOPLEVEL *w_current) { gchar sequence[STROKE_MAX_SEQUENCE]; StrokePoint *point; int min_x, min_y, max_x, max_y; gint i; g_assert (stroke_points != NULL); if (stroke_points->len == 0) return 0; point = &g_array_index (stroke_points, StrokePoint, 0); min_x = max_x = point->x; min_y = max_y = point->y; for (i = 1; i < stroke_points->len; i++) { point = &g_array_index (stroke_points, StrokePoint, i); min_x = min (min_x, point->x); min_y = min (min_y, point->y); max_x = max (max_x, point->x); max_y = max (max_y, point->y); } o_invalidate_rect (w_current, min_x, min_y, max_x + 1, max_y + 1); /* resets length of array */ stroke_points->len = 0; /* try evaluating stroke */ if (stroke_trans ((char*)&sequence)) { gchar *guile_string = g_strdup_printf("(eval-stroke \"%s\")", sequence); SCM ret; scm_dynwind_begin (0); scm_dynwind_unwind_handler (g_free, guile_string, SCM_F_WIND_EXPLICITLY); ret = g_scm_c_eval_string_protected (guile_string); scm_dynwind_end (); return (SCM_NFALSEP (ret)); } return 0; } #endif /* HAVE_LIBSTROKE */ geda-gaf-1.8.2/gschem/src/g_util.c0000664000175000017500000000567312207375417013607 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 2011 Peter Brett * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA */ /*! \file g_util.c * \brief Scheme utility functions */ #include #include #include "gschem.h" /*! \brief Launch default application for a URI. * \par Function Description * Launches the default application associated with \a uri_s on the * host platform. Raises an error on failure. * * \note Scheme API: Implements the %show-uri procedure in the (gschem * core util) module. * * \sa x_show_uri(). * * \param uri_s URI to launch viewer for. * \return undefined value. */ SCM_DEFINE (show_uri, "%show-uri", 1, 0, 0, (SCM uri_s), "Show a URI in the associated default application") { /* Check that we were passed a string. */ SCM_ASSERT (scm_is_string (uri_s), uri_s, SCM_ARG1, s_show_uri); GSCHEM_TOPLEVEL *w_current = g_current_window (); const gchar *uri = scm_to_utf8_string (uri_s); GError *err = NULL; if (!x_show_uri (w_current, uri, &err)) { scm_dynwind_begin (0); scm_dynwind_unwind_handler ((void (*)(void *)) g_error_free, err, SCM_F_WIND_EXPLICITLY); scm_misc_error (s_show_uri, _("Could not launch URI ~S: ~A"), scm_list_2 (uri_s, scm_from_utf8_string (err->message))); scm_dynwind_end (); } return SCM_UNDEFINED; } /*! \brief Create the (gschem core util) Scheme module. * \par Function Description * Defines procedures in the (gschem core util) module. The module can * be accessed using (use-modules (gschem core util)). */ static void init_module_gschem_core_util () { /* Register the functions */ #include "g_util.x" /* Add them to the module's public definitions. */ scm_c_export (s_show_uri, NULL); } /*! * \brief Initialise miscellaneous gschem utility procedures. * \par Function Description * Registers some Scheme utility procedures for e.g. accessing * miscellaneous system services. Should only be called by * main_prog(). */ void g_init_util () { /* Define the (gschem core util) module */ scm_c_define_module ("gschem core util", init_module_gschem_core_util, NULL); } geda-gaf-1.8.2/gschem/src/x_fileselect.c0000664000175000017500000003114312220647257014760 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \brief Creates filter for file chooser. * \par Function Description * This function adds file filters to filechooser. * * \param [in] filechooser The file chooser to add filter to. */ static void x_fileselect_setup_filechooser_filters (GtkFileChooser *filechooser) { GtkFileFilter *filter; /* file filter for schematic files (*.sch) */ filter = gtk_file_filter_new (); gtk_file_filter_set_name (filter, _("Schematics")); gtk_file_filter_add_pattern (filter, "*.sch"); gtk_file_chooser_add_filter (filechooser, filter); /* file filter for symbol files (*.sym) */ filter = gtk_file_filter_new (); gtk_file_filter_set_name (filter, _("Symbols")); gtk_file_filter_add_pattern (filter, "*.sym"); gtk_file_chooser_add_filter (filechooser, filter); /* file filter for both symbol and schematic files (*.sym+*.sch) */ filter = gtk_file_filter_new (); gtk_file_filter_set_name (filter, _("Schematics and symbols")); gtk_file_filter_add_pattern (filter, "*.sym"); gtk_file_filter_add_pattern (filter, "*.sch"); gtk_file_chooser_add_filter (filechooser, filter); /* file filter that match any file */ filter = gtk_file_filter_new (); gtk_file_filter_set_name (filter, _("All files")); gtk_file_filter_add_pattern (filter, "*"); gtk_file_chooser_add_filter (filechooser, filter); } /*! \brief Updates the preview when the selection changes. * \par Function Description * This is the callback function connected to the 'update-preview' * signal of the GtkFileChooser. * * It updates the preview widget with the name of the newly selected * file. * * \param [in] chooser The file chooser to add the preview to. * \param [in] user_data A pointer on the preview widget. */ static void x_fileselect_callback_update_preview (GtkFileChooser *chooser, gpointer user_data) { Preview *preview = PREVIEW (user_data); gchar *filename, *preview_filename = NULL; filename = gtk_file_chooser_get_preview_filename (chooser); if (filename != NULL && !g_file_test (filename, G_FILE_TEST_IS_DIR)) { preview_filename = filename; } /* update preview */ g_object_set (preview, "filename", preview_filename, "active", (preview_filename != NULL), NULL); g_free (filename); } /*! \brief Adds a preview to a file chooser. * \par Function Description * This function adds a preview section to the stock * GtkFileChooser. * * The Preview object is inserted in a frame and alignment * widget for accurate positionning. * * Other widgets can be added to this preview area for example to * enable/disable the preview. Currently, the preview is always * active. * * Function x_fileselect_callback_update_preview() is * connected to the signal 'update-preview' of GtkFileChooser * so that it redraws the preview area every time a new file is * selected. * * \param [in] filechooser The file chooser to add the preview to. */ static void x_fileselect_add_preview (GtkFileChooser *filechooser) { GtkWidget *alignment, *frame, *preview; frame = GTK_WIDGET (g_object_new (GTK_TYPE_FRAME, "label", _("Preview"), NULL)); alignment = GTK_WIDGET (g_object_new (GTK_TYPE_ALIGNMENT, "right-padding", 5, "left-padding", 5, "xscale", 0.0, "yscale", 0.0, "xalign", 0.5, "yalign", 0.5, NULL)); preview = GTK_WIDGET (g_object_new (TYPE_PREVIEW, "active", TRUE, NULL)); gtk_container_add (GTK_CONTAINER (alignment), preview); gtk_container_add (GTK_CONTAINER (frame), alignment); gtk_widget_show_all (frame); g_object_set (filechooser, /* GtkFileChooser */ "use-preview-label", FALSE, "preview-widget", frame, NULL); /* connect callback to update preview */ g_signal_connect (filechooser, "update-preview", G_CALLBACK (x_fileselect_callback_update_preview), preview); } /*! \brief Opens a file chooser for opening one or more schematics. * \par Function Description * This function opens a file chooser dialog and wait for the user to * select at least one file to load as w_current's new pages. * * The function updates the user interface. * * At the end of the function, the w_current->toplevel's current page * is set to the page of the last loaded page. * * \param [in] w_current The GSCHEM_TOPLEVEL environment. */ void x_fileselect_open(GSCHEM_TOPLEVEL *w_current) { PAGE *page = NULL; GtkWidget *dialog; dialog = gtk_file_chooser_dialog_new (_("Open..."), GTK_WINDOW(w_current->main_window), GTK_FILE_CHOOSER_ACTION_OPEN, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL); /* Set the alternative button order (ok, cancel, help) for other systems */ gtk_dialog_set_alternative_button_order(GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT, GTK_RESPONSE_CANCEL, -1); x_fileselect_add_preview (GTK_FILE_CHOOSER (dialog)); g_object_set (dialog, /* GtkFileChooser */ "select-multiple", TRUE, NULL); /* add file filters to dialog */ x_fileselect_setup_filechooser_filters (GTK_FILE_CHOOSER (dialog)); gtk_widget_show (dialog); if (gtk_dialog_run ((GtkDialog*)dialog) == GTK_RESPONSE_ACCEPT) { GSList *tmp, *filenames = gtk_file_chooser_get_filenames (GTK_FILE_CHOOSER (dialog)); /* open each file */ for (tmp = filenames; tmp != NULL;tmp = g_slist_next (tmp)) { page = x_window_open_page (w_current, (gchar*)tmp->data); } /* Switch to the last page opened */ if ( page != NULL ) x_window_set_current_page (w_current, page); /* free the list of filenames */ g_slist_foreach (filenames, (GFunc)g_free, NULL); g_slist_free (filenames); } gtk_widget_destroy (dialog); } /*! \brief Opens a file chooser for saving the current page. * \par Function Description * This function opens a file chooser dialog and wait for the user to * select a file where the toplevel's current page will be * saved. * * If the user cancels the operation (with the cancel button), the * page is not saved. * * The function updates the user interface. * * \param [in] w_current The GSCHEM_TOPLEVEL environment. */ void x_fileselect_save (GSCHEM_TOPLEVEL *w_current) { TOPLEVEL *toplevel = w_current->toplevel; GtkWidget *dialog; dialog = gtk_file_chooser_dialog_new (_("Save as..."), GTK_WINDOW(w_current->main_window), GTK_FILE_CHOOSER_ACTION_SAVE, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, NULL); /* Set the alternative button order (ok, cancel, help) for other systems */ gtk_dialog_set_alternative_button_order(GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT, GTK_RESPONSE_CANCEL, -1); /* set default response signal. This is usually triggered by the "Return" key */ gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT); g_object_set (dialog, /* GtkFileChooser */ "select-multiple", FALSE, /* only in GTK 2.8 */ /* "do-overwrite-confirmation", TRUE, */ NULL); /* add file filters to dialog */ x_fileselect_setup_filechooser_filters (GTK_FILE_CHOOSER (dialog)); /* set the current filename or directory name if new document */ if ((toplevel->page_current->page_filename != NULL) && g_file_test (toplevel->page_current->page_filename, G_FILE_TEST_EXISTS)) { gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (dialog), toplevel->page_current->page_filename); } else { gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER (dialog), "untitled.sch"); } gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT); gtk_widget_show (dialog); if (gtk_dialog_run ((GtkDialog*)dialog) == GTK_RESPONSE_ACCEPT) { gchar *filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog)); /* If the file already exists, display a dialog box to check if the user really wants to overwrite it. */ if ((filename != NULL) && g_file_test (filename, G_FILE_TEST_EXISTS)) { GtkWidget *checkdialog = gtk_message_dialog_new (GTK_WINDOW(dialog), (GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT), GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, _("The selected file `%s' already exists.\n\n" "Would you like to overwrite it?"), filename); gtk_window_set_title (GTK_WINDOW (checkdialog), _("Overwrite file?")); if (gtk_dialog_run (GTK_DIALOG (checkdialog)) != GTK_RESPONSE_YES) { s_log_message (_("Save cancelled on user request\n")); g_free (filename); filename = NULL; } gtk_widget_destroy (checkdialog); } /* try saving current page of toplevel to file filename */ if (filename != NULL) { x_window_save_page (w_current, w_current->toplevel->page_current, filename); } g_free (filename); } gtk_widget_destroy (dialog); } /*! \brief Load/Backup selection dialog. * \par Function Description * This function opens a message dialog and wait for the user to choose * if load the backup or the original file. * * \todo Make this a registered callback function with user data, * as we'd rather be passed a GSCHEM_TOPLEVEL than a TOPLEVEL. * * \param [in] user_data The TOPLEVEL object. * \param [in] message Message to display to user. * \return TRUE if the user wants to load the backup file, FALSE otherwise. */ int x_fileselect_load_backup(void *user_data, GString *message) { GtkWidget *dialog; GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL *) user_data; g_string_append(message, "\nIf you load the original file, the backup file will be overwritten in the next autosave timeout and it will be lost.\n\nDo you want to load the backup file?\n"); dialog = gtk_message_dialog_new (GTK_WINDOW(w_current->main_window), GTK_DIALOG_MODAL, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, "%s", message->str); /* Set the alternative button order (ok, cancel, help) for other systems */ gtk_dialog_set_alternative_button_order(GTK_DIALOG(dialog), GTK_RESPONSE_YES, GTK_RESPONSE_NO, -1); gtk_widget_show (dialog); if (gtk_dialog_run ((GtkDialog*)dialog) == GTK_RESPONSE_YES) { gtk_widget_destroy(dialog); return TRUE; } else { gtk_widget_destroy(dialog); return FALSE; } } geda-gaf-1.8.2/gschem/src/x_image.c0000664000175000017500000005521712220647257013733 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_STRING_H #include #endif #include #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif #define X_IMAGE_DEFAULT_SIZE "800x600" #define X_IMAGE_SIZE_MENU_NAME "image_size_menu" #define X_IMAGE_TYPE_MENU_NAME "image_type_menu" #define X_IMAGE_DEFAULT_TYPE "PNG" static char *x_image_sizes[] = {"320x240", "640x480", "800x600", "1200x768", "1280x960", "1600x1200", "3200x2400", NULL}; #if ((GTK_MAJOR_VERSION == 2) && (GTK_MINOR_VERSION < 6)) /* gtk_combo_box_get_active_text was included in GTK 2.6, so we need to store the different image type descriptions in a list. */ GSList *image_type_descriptions = NULL; #endif #if ((GTK_MAJOR_VERSION == 2) && (GTK_MINOR_VERSION < 6)) static void free_image_type_descriptions_list () { GSList *ptr; /* Free the data stored in each node */ ptr = image_type_descriptions; while (ptr) { g_free(ptr->data); ptr->data = NULL; ptr = g_slist_next(ptr); } /* Free the list */ if (!ptr) g_slist_free(image_type_descriptions); image_type_descriptions = NULL; } #endif /*! \brief Create the options of the image size combobox * \par This function adds the options of the image size to the given combobox. * \param combo [in] the combobox to add the options to. * \return nothing * \note * This function is only used in this file, there are other create_menus... */ static void create_size_menu (GtkComboBox *combo) { char *buf; char *default_size; int i, default_index = 0; default_size = g_strdup (X_IMAGE_DEFAULT_SIZE); for (i=0; x_image_sizes[i] != NULL;i++) { /* Create a new string and add it as an option*/ buf = g_strdup (x_image_sizes[i]); gtk_combo_box_append_text (GTK_COMBO_BOX (combo), buf); /* Compare with the default size, to get the default index */ if (strcasecmp(buf, default_size ) == 0) { default_index = i; } g_free(buf); } g_free(default_size); /* Set the default menu */ gtk_combo_box_set_active(GTK_COMBO_BOX (combo), default_index); return; } /*! \brief Create the options of the image type combobox * \par This function adds the options of the image type to the given combobox. * \param combo [in] the combobox to add the options to. * \return nothing * \note * This function is only used in this file, there are other create_menus... */ static void create_type_menu(GtkComboBox *combo) { GSList *formats = gdk_pixbuf_get_formats (); GSList *ptr; char *buf; int i=0, default_index=0; #if ((GTK_MAJOR_VERSION == 2) && (GTK_MINOR_VERSION < 6)) /* If GTK < 2.6, free the descriptions list */ free_image_type_descriptions_list(); #endif ptr = formats; while (ptr) { if (gdk_pixbuf_format_is_writable (ptr->data)) { /* Get the format description and add it to the menu */ buf = g_strdup (gdk_pixbuf_format_get_description(ptr->data)); gtk_combo_box_append_text (GTK_COMBO_BOX (combo), buf); /* If GTK < 2.6, then add it also to the descriptions list. */ #if ((GTK_MAJOR_VERSION == 2) && (GTK_MINOR_VERSION < 6)) image_type_descriptions = g_slist_append(image_type_descriptions, buf); #endif /* Compare the name with "png" and store the index */ buf = g_strdup (gdk_pixbuf_format_get_name(ptr->data)); if (strcasecmp(buf, X_IMAGE_DEFAULT_TYPE) == 0) { default_index = i; } i++; /* this is the count of items added to the combo box */ /* not the total number of pixbuf formats */ g_free(buf); } ptr = ptr->next; } g_slist_free (formats); gtk_combo_box_append_text(GTK_COMBO_BOX(combo), "Encapsulated Postscript"); /* Set the default menu */ gtk_combo_box_set_active(GTK_COMBO_BOX(combo), default_index); return; } /*! \brief Given a gdk-pixbuf image type description, it returns the type, * or extension of the image. * \par Return the gdk-pixbuf image type, or extension, which has the * given gdk-pixbuf description. * \param description The gdk-pixbuf image type description. * \return The gdk-pixbuf type, or extension, of the image. * \note This function is only used in this file. */ static char *x_image_get_type_from_description(char *description) { gchar *descr = g_strdup (description); GSList *formats = gdk_pixbuf_get_formats (); GSList *ptr; gchar *ptr_descr; /*WK - catch EPS export case*/ if (strcmp(descr, _("Encapsulated Postscript")) == 0) { return(g_strdup("eps")); } ptr = formats; while (ptr) { ptr_descr = gdk_pixbuf_format_get_description (ptr->data); if (ptr_descr && (strcasecmp(ptr_descr, descr) == 0)) { g_free(descr); return(gdk_pixbuf_format_get_name(ptr->data)); } ptr = ptr->next; } g_free (descr); return NULL; } /*! \brief Update the filename of a file dialog, when the image type has changed. * \par Given a combobox inside a file chooser dialog, this function updates * the filename displayed by the dialog, removing the current extension, and * adding the extension of the image type selected. * \param combo [in] A combobox inside a file chooser dialog, with gdk-pixbuf image type descriptions. * \param w_current [in] the GSCHEM_TOPLEVEL structure. * \return nothing. * */ static void x_image_update_dialog_filename(GtkComboBox *combo, GSCHEM_TOPLEVEL *w_current) { TOPLEVEL *toplevel = w_current->toplevel; char* image_type_descr = NULL; char *image_type = NULL; char *old_image_filename = NULL; char *file_basename = NULL; char *file_name = NULL ; char *new_image_filename = NULL; GtkWidget *file_chooser; /* Get the current image type */ #if ((GTK_MAJOR_VERSION == 2) && (GTK_MINOR_VERSION < 6)) GSList *ptr; /* If GTK < 2.6, get the description from the descriptions list */ ptr = g_slist_nth(image_type_descriptions, gtk_combo_box_get_active(GTK_COMBO_BOX(combo))); if (ptr != NULL) { image_type_descr = (char *) (ptr->data); } else { image_type_descr = NULL; } #else image_type_descr = gtk_combo_box_get_active_text(GTK_COMBO_BOX(combo)); #endif image_type = x_image_get_type_from_description(image_type_descr); /* Get the parent dialog */ file_chooser = gtk_widget_get_ancestor(GTK_WIDGET(combo), GTK_TYPE_FILE_CHOOSER); /* Get the previous file name. If none, revert to the page filename */ old_image_filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(file_chooser)); if (!old_image_filename) { old_image_filename = toplevel->page_current->page_filename; } /* Get the file name, without extension */ if (old_image_filename) { file_basename = g_path_get_basename(old_image_filename); if (g_strrstr(file_basename, ".") != NULL) { file_name = g_strndup(file_basename, g_strrstr(file_basename, ".") - file_basename); } } /* Add the extension */ if (file_name) { new_image_filename = g_strdup_printf("%s.%s", file_name, image_type); } else { new_image_filename = g_strdup_printf("%s.%s", file_basename, image_type); } /* Set the new filename */ if (file_chooser) { gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(file_chooser), new_image_filename); } else { s_log_message("x_image_update_dialog_filename: No parent file chooser found!.\n"); } g_free(file_name); g_free(file_basename); g_free(new_image_filename); } /*! \brief Write eps image file. * \par This function writes the eps file, using the postscript print code * from libgeda. Orientation is portrait and type is extents without margins. * \param w_current [in] the GSCHEM_TOPLEVEL structure. * \param filename [in] the image filename. * \return nothing * */ void x_image_write_eps(GSCHEM_TOPLEVEL *w_current, const char* filename) { TOPLEVEL *toplevel = w_current->toplevel; int result; int w, h, orientation, type; w = toplevel->paper_width; h = toplevel->paper_height; orientation = toplevel->print_orientation; type = toplevel->print_output_type; toplevel->paper_width = 0; toplevel->paper_height = 0; toplevel->print_orientation = PORTRAIT; toplevel->print_output_type = EXTENTS_NOMARGINS; result = f_print_file (toplevel, toplevel->page_current, filename); if (result) { s_log_message(_("x_image_lowlevel: Unable to write eps file %s.\n"), filename); } toplevel->paper_width = w; toplevel->paper_height = h; toplevel->print_orientation = orientation; toplevel->print_output_type = type; } /*! \brief Write the image file, with the desired options. * \par This function writes the image file, with the options set in the * dialog by the user. * \param w_current [in] the GSCHEM_TOPLEVEL structure. * \param filename [in] the image filename. * \param desired_width [in] the image width chosen by the user. * \param desired_height [in] the image height chosen by the user. * \param filetype [in] image filetype. * \return nothing * */ void x_image_lowlevel(GSCHEM_TOPLEVEL *w_current, const char* filename, int desired_width, int desired_height, char *filetype) { TOPLEVEL *toplevel = w_current->toplevel; int width, height; int save_height, save_width; int save_page_left, save_page_right, save_page_top, save_page_bottom; int page_width, page_height, page_center_left, page_center_top; GdkPixbuf *pixbuf; GError *gerror = NULL; GtkWidget *dialog; float prop; w_current->image_width = width = desired_width; w_current->image_height = height = desired_height; save_width = toplevel->width; save_height = toplevel->height; toplevel->width = width; toplevel->height = height; save_page_left = toplevel->page_current->left; save_page_right = toplevel->page_current->right; save_page_top = toplevel->page_current->top; save_page_bottom = toplevel->page_current->bottom; page_width = save_page_right - save_page_left; page_height = save_page_bottom - save_page_top; page_center_left = save_page_left + (page_width / 2); page_center_top = save_page_top + (page_height / 2); /* Preserve proportions */ prop = (float)width / height; if (((float)page_width / page_height) > prop) { page_height = (page_width / prop); }else{ page_width = (page_height * prop); } /* need to do this every time you change width / height */ set_window(toplevel, toplevel->page_current, page_center_left - (page_width / 2), page_center_left + (page_width / 2), page_center_top - (page_height / 2), page_center_top + (page_height / 2)); /* de select everything first */ o_select_unselect_all( w_current ); if (strcmp(filetype, "eps") == 0) /*WK - catch EPS export case*/ x_image_write_eps(w_current, filename); else { pixbuf = x_image_get_pixbuf(w_current); if (pixbuf != NULL) { if (!gdk_pixbuf_save(pixbuf, filename, filetype, &gerror, NULL)) { s_log_message(_("x_image_lowlevel: Unable to write %s file %s.\n"), filetype, filename); s_log_message("%s", gerror->message); /* Warn the user */ dialog = gtk_message_dialog_new (GTK_WINDOW(w_current->main_window), GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _("There was the following error when saving image with type %s to filename:\n%s\n\n%s.\n"), filetype, filename, gerror->message ); gtk_dialog_run (GTK_DIALOG (dialog)); gtk_widget_destroy (dialog); /* Free the gerror */ g_error_free(gerror); gerror = NULL; /* Unlink the output file */ /* It's not safe to unlink the file if there was an error. For example: if the operation was not allowed due to permissions, the _previous existing_ file will be removed */ /* unlink(filename); */ } else { if (toplevel->image_color == TRUE) { s_log_message(_("Wrote color image to [%s] [%d x %d]\n"), filename, width, height); } else { s_log_message(_("Wrote black and white image to [%s] [%d x %d]\n"), filename, width, height); } } g_free(filetype); if (pixbuf != NULL) g_object_unref(pixbuf); } else { s_log_message(_("x_image_lowlevel: Unable to get pixbuf from gschem's window.\n")); } } toplevel->width = save_width; toplevel->height = save_height; /* need to do this every time you change width / height */ set_window(toplevel, toplevel->page_current, save_page_left, save_page_right, save_page_top, save_page_bottom); o_invalidate_all (w_current); } /*! \brief Display the image file selection dialog. * \par Display the image file selection dialog, allowing the user to * set several options, like image size and image type. * When the user hits "ok", then it writes the image file. * \param w_current [in] the GSCHEM_TOPLEVEL structure. * \return nothing */ void x_image_setup (GSCHEM_TOPLEVEL *w_current) { GtkWidget *dialog; GtkWidget *vbox1; GtkWidget *hbox; GtkWidget *label1; GtkWidget *size_combo; GtkWidget *vbox2; GtkWidget *label2; GtkWidget *type_combo; char *image_type_descr; char *filename; char *image_size; char *image_type; int width, height; hbox = gtk_hbox_new(FALSE, 0); /* Image size selection */ vbox1 = gtk_vbox_new(TRUE, 0); label1 = gtk_label_new (_("Width x Height")); gtk_widget_show (label1); gtk_misc_set_alignment( GTK_MISC (label1), 0, 0); gtk_misc_set_padding (GTK_MISC (label1), 0, 0); gtk_box_pack_start (GTK_BOX (vbox1), label1, FALSE, FALSE, 0); size_combo = gtk_combo_box_new_text (); create_size_menu (GTK_COMBO_BOX(size_combo)); gtk_widget_show (size_combo); gtk_box_pack_start (GTK_BOX (vbox1), size_combo, TRUE, TRUE, 0); gtk_widget_show(vbox1); /* Image type selection */ vbox2 = gtk_vbox_new(TRUE, 0); label2 = gtk_label_new (_("Image type")); gtk_widget_show (label2); gtk_misc_set_alignment( GTK_MISC (label2), 0, 0); gtk_misc_set_padding (GTK_MISC (label2), 0, 0); gtk_box_pack_start (GTK_BOX (vbox2), label2, FALSE, FALSE, 0); type_combo = gtk_combo_box_new_text (); gtk_box_pack_start (GTK_BOX (vbox2), type_combo, TRUE, TRUE, 0); create_type_menu (GTK_COMBO_BOX(type_combo)); /* Connect the changed signal to the callback, so the filename gets updated every time the image type is changed */ g_signal_connect (type_combo, "changed", G_CALLBACK(x_image_update_dialog_filename), w_current); gtk_widget_show (type_combo); gtk_widget_show(vbox2); /* Create the dialog */ dialog = gtk_file_chooser_dialog_new (_("Write image..."), GTK_WINDOW(w_current->main_window), GTK_FILE_CHOOSER_ACTION_SAVE, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, NULL); /* Set the alternative button order (ok, cancel, help) for other systems */ gtk_dialog_set_alternative_button_order(GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT, GTK_RESPONSE_CANCEL, -1); /* Add the extra widgets to the dialog*/ gtk_box_pack_start(GTK_BOX(hbox), vbox1, FALSE, FALSE, 10); gtk_box_pack_start(GTK_BOX(hbox), vbox2, FALSE, FALSE, 10); gtk_file_chooser_set_extra_widget (GTK_FILE_CHOOSER(dialog), hbox); g_object_set (dialog, /* GtkFileChooser */ "select-multiple", FALSE, #if ((GTK_MAJOR_VERSION > 2) || ((GTK_MAJOR_VERSION == 2) && (GTK_MINOR_VERSION >=8))) /* only in GTK 2.8 */ "do-overwrite-confirmation", TRUE, #endif NULL); /* Update the filename */ x_image_update_dialog_filename(GTK_COMBO_BOX(type_combo), w_current); gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT); gtk_window_position (GTK_WINDOW (dialog), GTK_WIN_POS_MOUSE); gtk_container_set_border_width(GTK_CONTAINER(dialog), DIALOG_BORDER_SPACING); gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(dialog)->vbox), DIALOG_V_SPACING); gtk_widget_show (dialog); if (gtk_dialog_run((GTK_DIALOG(dialog))) == GTK_RESPONSE_ACCEPT) { #if ((GTK_MAJOR_VERSION == 2) && (GTK_MINOR_VERSION < 6)) image_size = x_image_sizes[gtk_combo_box_get_active(GTK_COMBO_BOX(size_combo))]; #else image_size = gtk_combo_box_get_active_text(GTK_COMBO_BOX(size_combo)); #endif #if ((GTK_MAJOR_VERSION == 2) && (GTK_MINOR_VERSION < 6)) GSList *ptr; /* If GTK < 2.6, get the description from the descriptions list */ ptr = g_slist_nth(image_type_descriptions, gtk_combo_box_get_active(GTK_COMBO_BOX(type_combo))); image_type_descr = (char *) (ptr->data); #else image_type_descr = gtk_combo_box_get_active_text(GTK_COMBO_BOX(type_combo)); #endif image_type = x_image_get_type_from_description(image_type_descr); sscanf(image_size, "%ix%i", &width, &height); filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); x_image_lowlevel(w_current, filename, width, height, image_type); } #if ((GTK_MAJOR_VERSION == 2) && (GTK_MINOR_VERSION < 6)) /* If GTK < 2.6, free the descriptions list */ free_image_type_descriptions_list(); #endif gtk_widget_destroy (dialog); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ static void x_image_convert_to_greyscale(GdkPixbuf *pixbuf) { int width, height, rowstride, n_channels; guchar *pixels, *p, new_value; int i, j; n_channels = gdk_pixbuf_get_n_channels (pixbuf); if (n_channels != 3) { return; } if (gdk_pixbuf_get_colorspace (pixbuf) != GDK_COLORSPACE_RGB) { return; } if (gdk_pixbuf_get_bits_per_sample (pixbuf) != 8) { return; } width = gdk_pixbuf_get_width (pixbuf); height = gdk_pixbuf_get_height (pixbuf); rowstride = gdk_pixbuf_get_rowstride (pixbuf); pixels = gdk_pixbuf_get_pixels (pixbuf); for (j = 0; j < height; j++) { for (i = 0; i < width; i++) { p = pixels + j * rowstride + i * n_channels; new_value = 0.3 * p[0] + 0.59 * p[1] + 0.11 * p[2]; p[0] = new_value; p[1] = new_value; p[2] = new_value; } } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ GdkPixbuf *x_image_get_pixbuf (GSCHEM_TOPLEVEL *w_current) { GdkPixbuf *pixbuf; int origin_x, origin_y, bottom, right; int size_x, size_y, s_right, s_left, s_top,s_bottom; GSCHEM_TOPLEVEL new_w_current; TOPLEVEL toplevel; GdkRectangle rect; /* Do a copy of the w_current struct and work with it */ memcpy(&new_w_current, w_current, sizeof(GSCHEM_TOPLEVEL)); /* Do a copy of the toplevel struct and work with it */ memcpy(&toplevel, w_current->toplevel, sizeof(TOPLEVEL)); new_w_current.toplevel = &toplevel; WORLDtoSCREEN (&new_w_current, toplevel.page_current->right, toplevel.page_current->left, &s_right, &s_left); WORLDtoSCREEN (&new_w_current, toplevel.page_current->bottom, toplevel.page_current->top, &s_bottom, &s_top); size_x = s_left - s_right; size_y = s_bottom - s_top; size_x = new_w_current.image_width; size_y = new_w_current.image_height; new_w_current.window = gdk_pixmap_new (w_current->window, size_x, size_y, -1); new_w_current.drawable = new_w_current.window; new_w_current.cr = gdk_cairo_create (new_w_current.window); new_w_current.pl = pango_cairo_create_layout (new_w_current.cr); new_w_current.grid = 0; new_w_current.text_origin_marker = FALSE; new_w_current.win_width = new_w_current.image_width; new_w_current.win_height = new_w_current.image_height; if (toplevel.image_color == FALSE) { /* FIXME this assumes -- not necessarily correctly! -- that the * color at index 0 in the color map is black, and the color at * index 1 is white! */ /* We are going to be doing black&white (grayscale) output, so change the */ /* color of all objects to a nice and dark color, say black */ toplevel.override_color = 0; /* also reset the background to white */ toplevel.background_color = 1; } origin_x = origin_y = 0; right = size_x; bottom = size_y; /* ------------------ Begin optional code ------------------------ */ /* If the the code in this region is commented, the PNG returned will be the same as the one returned using libgd. I mean: there will be some border all around the schematic. This code is used to adjust the schematic to the border of the image */ #if 0 /* Do a zoom extents to get fit all the schematic in the window */ /* Commented so the image returned will be the same as with libgd */ a_zoom_extents (&toplevel, toplevel.page_current->object_list, A_PAN_DONT_REDRAW); /* See if there are objects */ aux = toplevel->page_current->object_list; while (aux != NULL) { if (aux->type != -1) { object_found = 1; break; } aux = aux->next; } /* If there are no objects, can't use zoom_extents */ if (object_found) { get_object_glist_bounds (&toplevel, toplevel.page_current->object_list, &origin_x, &origin_y, &right, &bottom); } #endif /* ------------------ End optional code ------------------------ */ rect.x = origin_x; rect.y = origin_y; rect.width = right - origin_x; rect.height = bottom - origin_y; o_redraw_rects (&new_w_current, &rect, 1); /* Get the pixbuf */ pixbuf = gdk_pixbuf_get_from_drawable (NULL,new_w_current.drawable, NULL, origin_x, origin_y, 0, 0, right-origin_x, bottom-origin_y); if (toplevel.image_color == FALSE) { x_image_convert_to_greyscale(pixbuf); } if (new_w_current.cr != NULL) cairo_destroy (new_w_current.cr); if (new_w_current.pl != NULL) g_object_unref (new_w_current.pl); if (new_w_current.window != NULL) { g_object_unref(new_w_current.window); } return(pixbuf); } geda-gaf-1.8.2/gschem/src/gschem_action.c0000664000175000017500000001720412220647257015117 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include "gschem.h" enum { PROP_MULTIKEY_ACCEL = 1, }; static GObjectClass *gschem_action_parent_class = NULL; /*! \brief GObject finalise handler * * \par Function Description * Just before the GschemAction GObject is finalized, free our * allocated data, and then chain up to the parent's finalize handler. * * \param [in] object The GObject being finalized. */ static void gschem_action_finalize (GObject *object) { GschemAction *action = GSCHEM_ACTION (object); g_free (action->multikey_accel); G_OBJECT_CLASS (gschem_action_parent_class)->finalize (object); } /*! \brief GObject property setter function * * \par Function Description * Setter function for GschemAction's GObject properties, * "settings-name" and "toplevel". * * \param [in] object The GObject whose properties we are setting * \param [in] property_id The numeric id. under which the property was * registered with g_object_class_install_property() * \param [in] value The GValue the property is being set from * \param [in] pspec A GParamSpec describing the property being set */ static void gschem_action_set_property (GObject *object, guint property_id, const GValue *value, GParamSpec *pspec) { GschemAction *action = GSCHEM_ACTION (object); switch(property_id) { case PROP_MULTIKEY_ACCEL: g_free (action->multikey_accel); action->multikey_accel = g_strdup (g_value_get_string (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); } } /*! \brief GObject property getter function * * \par Function Description * Getter function for GschemAction's GObject properties, * "settings-name" and "toplevel". * * \param [in] object The GObject whose properties we are getting * \param [in] property_id The numeric id. under which the property was * registered with g_object_class_install_property() * \param [out] value The GValue in which to return the value of the property * \param [in] pspec A GParamSpec describing the property being got */ static void gschem_action_get_property (GObject *object, guint property_id, GValue *value, GParamSpec *pspec) { GschemAction *action = GSCHEM_ACTION (object); switch(property_id) { case PROP_MULTIKEY_ACCEL: g_value_set_string (value, action->multikey_accel); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); } } static void gschem_action_connect_proxy (GtkAction *action, GtkWidget *proxy) { GschemAction *gs_action = GSCHEM_ACTION (action); char *label_string; /* Override the type of label widget used with the menu item */ if (GTK_IS_MENU_ITEM (proxy)) { GtkWidget *label; label = GTK_BIN (proxy)->child; /* make sure label is a GschemAccelLabel */ if (label && !GSCHEM_IS_ACCEL_LABEL (label)) { gtk_container_remove (GTK_CONTAINER (proxy), label); label = NULL; } if (label == NULL) { g_object_get (action, "label", &label_string, NULL); (void) g_object_new (GSCHEM_TYPE_ACCEL_LABEL, "use-underline", TRUE, "xalign", 0.0, "visible", TRUE, "parent", proxy, "label", label_string, "accel-string", gs_action->multikey_accel, NULL); } } /* Let the parent class do its work now we've fiddled with the label */ GTK_ACTION_CLASS (gschem_action_parent_class)->connect_proxy (action, proxy); } /*! \brief GType class initialiser for GschemAction * * \par Function Description * GType class initialiser for GschemAction. We override our parent * virtual class methods as needed and register our GObject properties. * * \param [in] klass The GschemActionClass we are initialising */ static void gschem_action_class_init (GschemActionClass *klass) { GObjectClass *gobject_class = G_OBJECT_CLASS (klass); GtkActionClass *gtkaction_class = GTK_ACTION_CLASS (klass); gtkaction_class->connect_proxy = gschem_action_connect_proxy; gobject_class->finalize = gschem_action_finalize; gobject_class->set_property = gschem_action_set_property; gobject_class->get_property = gschem_action_get_property; gschem_action_parent_class = g_type_class_peek_parent (klass); g_object_class_install_property ( gobject_class, PROP_MULTIKEY_ACCEL, g_param_spec_string ("multikey-accel", "", "", NULL, G_PARAM_READWRITE)); } /*! \brief Function to retrieve GschemAction's GType identifier. * * \par Function Description * Function to retrieve GschemAction's GType identifier. * Upon first call, this registers the GschemAction in the GType system. * Subsequently it returns the saved value from its first execution. * * \return the GType identifier associated with GschemAction. */ GType gschem_action_get_type () { static GType gschem_action_type = 0; if (!gschem_action_type) { static const GTypeInfo gschem_action_info = { sizeof(GschemActionClass), NULL, /* base_init */ NULL, /* base_finalize */ (GClassInitFunc) gschem_action_class_init, NULL, /* class_finalize */ NULL, /* class_data */ sizeof(GschemAction), 0, /* n_preallocs */ NULL, /* instance_init */ }; gschem_action_type = g_type_register_static (GTK_TYPE_ACTION, "GschemAction", &gschem_action_info, 0); } return gschem_action_type; } /*! /brief Creates a new GschemAction object * * /par Function Descriptions * * Creates a new GschemAction object. * * /param [in] name A unique name for the action * /param [in] label The label displayed in menu items and on buttons, or NULL * /param [in] tooltip A tooltip for the action, or NULL * /param [in] stock_id The stock icon to display in widgets representing the action, or NULL * /param [in] multikey_accel The (potentially) multi-key accelerator used for this action * * /returns A new GschemAction */ GschemAction *gschem_action_new (const gchar *name, const gchar *label, const gchar *tooltip, const gchar *stock_id, const gchar *multikey_accel) { g_return_val_if_fail (name != NULL, NULL); return g_object_new (GSCHEM_TYPE_ACTION, "name", name, "label", label, "tooltip", tooltip, "stock-id", stock_id, "multikey-accel", multikey_accel, NULL); } geda-gaf-1.8.2/gschem/src/a_pan.c0000664000175000017500000001653012063576065013376 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void a_pan_general(GSCHEM_TOPLEVEL *w_current, double world_cx, double world_cy, double relativ_zoom_factor,int flags) { TOPLEVEL *toplevel = w_current->toplevel; /* see libgeda/include/defines.h for flags */ /*if the borders should be ignored always, remove, outcomment or changes the flags in the function-calls*/ /* flags |= A_PAN_IGNORE_BORDERS; */ /* think it's better that the zoomfactor is defined as pix/mills this will be the same as w_current->page_current->to_screen_x/y_constant*/ int zoom_max = 5; int diff; double zx, zy, zoom_old, zoom_new, zoom_min; #if DEBUG printf("a_pan_general(): world_cx=%f, world_cy=%f\n",world_cx, world_cy); #endif /* calc minimum zoomfactors and choose the smaller one. They are equal if the aspectratio of the world is the same as the screen ratio */ zx = (double) toplevel->width / (toplevel->init_right - toplevel->init_left); zy = (double) toplevel->height / (toplevel->init_bottom - toplevel->init_top); zoom_min = zx < zy ? zx : zy; #if DEBUG printf(" zx_min=%f, zy_min=%f , flags=%d\n ",zx, zy, flags); #endif /* to_screen_x_constant and to_screen_y_constant are almost the same. lets use to_screen_y_constant */ zoom_old = toplevel->page_current->to_screen_y_constant; /* calc new zooming factor */ /* check if there's a zoom_full (relativ_zoom_factor == -1) */ if (relativ_zoom_factor <0) { zoom_new = zoom_min; } else { zoom_new = zoom_old * relativ_zoom_factor; zoom_new = zoom_new > zoom_max ? zoom_max : zoom_new; if (!(flags & A_PAN_IGNORE_BORDERS)) { zoom_new = zoom_new < zoom_min ? zoom_min : zoom_new; } } /* calculate the new visible area; adding 0.5 to round */ toplevel->page_current->left = world_cx - (double) toplevel->width / 2 / zoom_new + 0.5; toplevel->page_current->right = world_cx + (double) toplevel->width / 2 / zoom_new + 0.5; toplevel->page_current->top = world_cy - (double) toplevel->height / 2 / zoom_new + 0.5; toplevel->page_current->bottom = world_cy + (double) toplevel->height / 2 / zoom_new + 0.5; /* and put it back to the borders */ if (!(flags & A_PAN_IGNORE_BORDERS)) { /* check right border */ if (toplevel->page_current->right > toplevel->init_right) { toplevel->page_current->left += toplevel->init_right - toplevel->page_current->right; toplevel->page_current->right = toplevel->init_right; } /* check left border */ if (toplevel->page_current->left < toplevel->init_left) { toplevel->page_current->right += toplevel->init_left - toplevel->page_current->left; toplevel->page_current->left = toplevel->init_left; } /* If there is any slack, center the view */ diff = (toplevel->page_current->right - toplevel->page_current->left) - (toplevel->init_right - toplevel->init_left); if (diff > 0) { toplevel->page_current->left -= diff / 2; toplevel->page_current->right -= diff / 2; } /* check bottom border */ if (toplevel->page_current->bottom > toplevel->init_bottom) { toplevel->page_current->top += toplevel->init_bottom - toplevel->page_current->bottom; toplevel->page_current->bottom = toplevel->init_bottom; } /* check top border */ if (toplevel->page_current->top < toplevel->init_top) { toplevel->page_current->bottom += toplevel->init_top - toplevel->page_current->top; toplevel->page_current->top = toplevel->init_top; } /* If there is any slack, center the view */ diff = (toplevel->page_current->bottom - toplevel->page_current->top) - (toplevel->init_bottom - toplevel->init_top); if (diff > 0) { toplevel->page_current->top -= diff / 2; toplevel->page_current->bottom -= diff / 2; } } #if DEBUG printf("zoom_old: %f, zoom_new: %f \n ",zoom_old, zoom_new); printf("left: %d, right: %d, top: %d, bottom: %d\n", toplevel->page_current->left, toplevel->page_current->right, toplevel->page_current->top, toplevel->page_current->bottom); printf("aspect: %f\n", (float) fabs(toplevel->page_current->right - toplevel->page_current->left) / (float) fabs(toplevel->page_current->bottom - toplevel->page_current->top )); #endif /* set_window */ set_window(toplevel, toplevel->page_current, toplevel->page_current->left , toplevel->page_current->right , toplevel->page_current->top , toplevel->page_current->bottom); i_update_grid_info (w_current); /* redraw */ if (!(flags & A_PAN_DONT_REDRAW)) { x_scrollbars_update(w_current); o_invalidate_all (w_current); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description */ void a_pan(GSCHEM_TOPLEVEL *w_current, int w_x, int w_y) { /* make mouse to the new world-center; attention: there are information looses because of type cast in mil_x */ a_pan_general(w_current, w_x, w_y, 1, 0); /*! \bug FIXME? This call will trigger a motion event (x_event_motion()), * even if the user doesn't move the mouse * Not ready for prime time, maybe there is another way to trigger the * motion event without changing the cursor position (Werner) */ /* x_basic_warp_cursor(w_current->drawing_area, x, y); */ } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void a_pan_mouse(GSCHEM_TOPLEVEL *w_current, int diff_x, int diff_y) { TOPLEVEL *toplevel = w_current->toplevel; double world_cx, world_cy; double page_cx, page_cy; #if DEBUG printf("a_pan_mouse(): diff_x=%d, diff_y=%d\n", diff_x, diff_y); #endif page_cx = (toplevel->page_current->left + toplevel->page_current->right) / 2.0; page_cy = (toplevel->page_current->top + toplevel->page_current->bottom) / 2.0; world_cx = page_cx - WORLDabs (w_current, diff_x); world_cy = page_cy + WORLDabs (w_current, diff_y); #if DEBUG printf(" world_cx=%f, world_cy=%f\n", world_cx, world_cy); #endif a_pan_general(w_current, world_cx, world_cy, 1, 0); } geda-gaf-1.8.2/gschem/src/g_window.c0000664000175000017500000002344012210026537014117 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 2010-2011 Peter Brett * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA */ #include #include "gschem.h" SCM scheme_window_fluid = SCM_UNDEFINED; scm_t_bits window_smob_tag; /*! \brief Free a #GSCHEM_TOPLEVEL smob. * \par Function Description * Finalizes a window smob for deletion. * * Used internally to Guile */ static size_t smob_free (SCM smob) { GSCHEM_TOPLEVEL *window = (GSCHEM_TOPLEVEL *) SCM_SMOB_DATA (smob); /* If the weak ref has been cleared, do nothing */ if (window == NULL) return 0; /* Otherwise, go away. */ window->smob = SCM_UNDEFINED; return 0; } /*! \brief Print a representation of a #GSCHEM_TOPLEVEL smob. * \par Function Description * Outputs a string representing the \a smob to a Scheme output * \a port. The format used is "#". * * Used internally to Guile. */ static int smob_print (SCM smob, SCM port, scm_print_state *pstate) { gchar *hexstring; scm_puts ("#", port); /* Non-zero means success */ return 1; } /*! \brief Get the smob for a #GSCHEM_TOPLEVEL. * \par Function Description * Return a smob representing \a window. * * \param window #GSCHEM_TOPLEVEL to obtain a smob for. * \param a smob representing \a window. */ SCM g_scm_from_window (GSCHEM_TOPLEVEL *w_current) { g_assert (w_current != NULL); if (w_current->smob == SCM_UNDEFINED) { SCM_NEWSMOB (w_current->smob, window_smob_tag, w_current); } return w_current->smob; } /*! * \brief Set the #GSCHEM_TOPLEVEL fluid in the current dynamic context. * \par Function Description * * This function must be used inside a pair of calls to * scm_dynwind_begin() and scm_dynwind_end(). During the dynwind * context, the #GSCHEM_TOPLEVEL fluid is set to \a w_current. * * \param [in] w_current The new GSCHEM_TOPLEVEL pointer. */ void g_dynwind_window (GSCHEM_TOPLEVEL *w_current) { SCM window_s = g_scm_from_window (w_current); scm_dynwind_fluid (scheme_window_fluid, window_s); edascm_dynwind_toplevel (w_current->toplevel); } /*! * \brief Get the value of the #GSCHEM_TOPLEVEL fluid. * \par Function Description * Return the value of the #GSCHEM_TOPLEVEL fluid in the current * dynamic context. */ SCM_DEFINE (current_window, "%current-window", 0, 0, 0, (), "Get the GSCHEM_TOPLEVEL for the current dynamic context.") { return scm_fluid_ref (scheme_window_fluid); } /*! * \brief Get the value of the #GSCHEM_TOPLEVEL fluid. * \par Function Description * Return the value of the #GSCHEM_TOPLEVEL fluid in the current dynamic * context. */ GSCHEM_TOPLEVEL * g_current_window () { SCM window_s = current_window (); if (!(SCM_SMOB_PREDICATE (window_smob_tag, window_s) && ((void *)SCM_SMOB_DATA (window_s) != NULL))) { scm_misc_error (NULL, _("Found invalid gschem window smob ~S"), scm_list_1 (window_s)); } return (GSCHEM_TOPLEVEL *) SCM_SMOB_DATA (window_s); } /*! * \brief Get the active page. * \par Function Description * Returns the page which is active in the current gschem window. If * there is no active page, returns SCM_BOOL_F. * * \note Scheme API: Implements the %active-page procedure in the * (gschem core window) module. * * \return the active page. */ SCM_DEFINE (active_page, "%active-page", 0, 0, 0, (), "Get the active page.") { TOPLEVEL *toplevel = edascm_c_current_toplevel (); if (toplevel->page_current != NULL) { return edascm_from_page (toplevel->page_current); } else { return SCM_BOOL_F; } } /*! * \brief Set the active page. * \par Function Description * Sets the page which is active in the current gschem window to \a * page_s. * * \note Scheme API: Implements the %set-active-page! procedure in the * (gschem core window) module. * * \param page_s Page to switch to. * \return \a page_s. */ SCM_DEFINE (set_active_page_x, "%set-active-page!", 1, 0, 0, (SCM page_s), "Set the active page.") { SCM_ASSERT (edascm_is_page (page_s), page_s, SCM_ARG1, s_set_active_page_x); PAGE *page = edascm_to_page (page_s); x_window_set_current_page (g_current_window (), page); return page_s; } /*! * \brief Close a page * \par Function Description * Closes the page \a page_s. * * \note Scheme API: Implements the %close-page! procedure in the * (gschem core window) module. Overrides the %close-page! procedure * in the (geda core page) module. * * \param page_s Page to close. * \return SCM_UNDEFINED */ SCM_DEFINE (override_close_page_x, "%close-page!", 1, 0, 0, (SCM page_s), "Close a page.") { /* Ensure that the argument is a page smob */ SCM_ASSERT (edascm_is_page (page_s), page_s, SCM_ARG1, s_override_close_page_x); GSCHEM_TOPLEVEL *w_current = g_current_window (); TOPLEVEL *toplevel = w_current->toplevel; PAGE *page = edascm_to_page (page_s); /* If page is not the current page, switch pages, then switch back * after closing page. */ PAGE *curr_page = toplevel->page_current; int reset_page = (page != curr_page); if (reset_page) x_window_set_current_page (w_current, page); x_window_close_page (w_current, w_current->toplevel->page_current); if (reset_page) x_window_set_current_page (w_current, curr_page); return SCM_UNDEFINED; } /*! * \brief Get the current pointer position * \par Function Description * Returns the current mouse pointer position, expressed in world * coordinates. If the pointer is outside the schematic drawing area, * returns SCM_BOOL_F. * * The coordinates are returned as a cons: * * (x . y) * * \note Scheme API: Implements the %pointer-position procedure in the * (gschem core window) module. * * \return The current pointer position, or SCM_BOOL_F. */ SCM_DEFINE (pointer_position, "%pointer-position", 0, 0, 0, (), "Get the current pointer position.") { int x, y; GSCHEM_TOPLEVEL *w_current = g_current_window (); if (x_event_get_pointer_position (w_current, FALSE, &x, &y)) { return scm_cons (scm_from_int (x), scm_from_int (y)); } return SCM_BOOL_F; } /*! * \brief Snap a point to the snap grid. * \par Function Description * Snaps the point (\a x_s, \a y_s) to the snap grid, returning the * snapped point position as a cons in the form: * * (x . y) * * This always snaps the given point to the grid, disregarding the * current user snap settings. * * \note Scheme API: Implements the %snap-point procedure in the * (gschem core window) module. * * \param x_s the x-coordinate of the point to be snapped to grid. * \param y_s the y-coordinate of the point to be snapped to grid. * \return the snapped coordinates. */ SCM_DEFINE (snap_point, "%snap-point", 2, 0, 0, (SCM x_s, SCM y_s), "Get the current snap grid size.") { SCM_ASSERT (scm_is_integer (x_s), x_s, SCM_ARG1, s_snap_point); SCM_ASSERT (scm_is_integer (y_s), y_s, SCM_ARG2, s_snap_point); /* We save and restore the current snap setting, because we want to * *always* snap the requested cordinates. */ GSCHEM_TOPLEVEL *w_current = g_current_window (); int save_snap = w_current->snap; w_current->snap = SNAP_GRID; int x = snap_grid (w_current, scm_to_int (x_s)); int y = snap_grid (w_current, scm_to_int (y_s)); w_current->snap = save_snap; return scm_cons (scm_from_int (x), scm_from_int (y)); } /*! * \brief Create the (gschem core window) Scheme module * \par Function Description * Defines procedures in the (gschem core window) module. The module * can be accessed using (use-modules (gschem core window)). */ static void init_module_gschem_core_window () { /* Register the functions */ #include "g_window.x" /* Add them to the module's public definitions. */ scm_c_export (s_current_window, s_active_page, s_set_active_page_x, s_override_close_page_x, s_pointer_position, s_snap_point, NULL); /* Override procedures in the (geda core page) module */ { SCM geda_page_module = scm_c_resolve_module ("geda core page"); SCM close_page_proc = scm_variable_ref (scm_c_lookup (s_override_close_page_x)); scm_c_module_define (geda_page_module, "close-page!", close_page_proc); } } /*! * \brief Initialise the GSCHEM_TOPLEVEL manipulation procedures. * \par Function Description * Registers some Scheme procedures for working with #GSCHEM_TOPLEVEL * smobs and creates the #GSCHEM_TOPLEVEL fluid. Should only be called * by main_prog(). */ void g_init_window () { /* Register gEDA smob type */ window_smob_tag = scm_make_smob_type ("gschem-window", 0); scm_set_smob_free (window_smob_tag, smob_free); scm_set_smob_print (window_smob_tag, smob_print); /* Create fluid */ scheme_window_fluid = scm_permanent_object (scm_make_fluid ()); /* Define the (gschem core window) module */ scm_c_define_module ("gschem core window", init_module_gschem_core_window, NULL); } geda-gaf-1.8.2/gschem/src/x_dialog.c0000664000175000017500000045355712220647257014121 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! \todo STILL NEED to clean up line lengths in aa and tr */ #include #include #include #include #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_STRING_H #include #endif #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif #define GLADE_HOOKUP_OBJECT(component,widget,name) \ g_object_set_data_full (G_OBJECT (component), name, \ gtk_widget_ref (widget), (GDestroyNotify) gtk_widget_unref) static GtkWidget* create_menu_linetype (GSCHEM_TOPLEVEL *w_current); static gint line_type_dialog_linetype_change (GtkWidget *w, gpointer data); static void line_type_dialog_ok (GtkWidget *w, gpointer data); static GtkWidget* create_menu_filltype (GSCHEM_TOPLEVEL *w_current); static gint fill_type_dialog_filltype_change(GtkWidget *w, gpointer data); static void fill_type_dialog_ok(GtkWidget *w, gpointer data); struct line_type_data { GtkWidget *dialog; GtkWidget *width_entry; GtkWidget *line_type; GtkWidget *length_entry; GtkWidget *space_entry; GSCHEM_TOPLEVEL *w_current; }; struct fill_type_data { GtkWidget *dialog; GtkWidget *fill_type; GtkWidget *width_entry; GtkWidget *angle1_entry; GtkWidget *pitch1_entry; GtkWidget *angle2_entry; GtkWidget *pitch2_entry; GSCHEM_TOPLEVEL *w_current; }; /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void destroy_window(GtkWidget *widget, GtkWidget **window) { *window = NULL; } /* TODO: This string is used by the dialogs: show_text, find_text and hide_text * I think it should be removed. (Werner Hoch) */ char generic_textstring[256] = "refdes=R"; /***************** Start of Text Input dialog box *********************/ /*! \brief worker function for the text entry dialog * \par Function Description * This function applies the text from the text entry dialog. */ void text_input_dialog_apply(GtkWidget *w, GSCHEM_TOPLEVEL *w_current) { gchar *string = NULL; gchar *tmp = NULL; GtkWidget *tientry; GtkTextBuffer *textbuffer; GtkTextIter start, end; tientry = gtk_object_get_data(GTK_OBJECT(w_current->tiwindow),"tientry"); textbuffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(tientry)); gtk_text_buffer_get_bounds (textbuffer, &start, &end); string = gtk_text_iter_get_text (&start, &end); if (string[0] == '\0' ) return; switch(w_current->text_caps) { case(LOWER): tmp = g_utf8_strdown (string, -1); break; case(UPPER): tmp = g_utf8_strup (string, -1); break; case(BOTH): default: /* do nothing */ break; } /* select the text, so you can continue immediatly writing the next text */ select_all_text_in_textview(GTK_TEXT_VIEW(tientry)); gtk_widget_grab_focus(tientry); w_current->toplevel->page_current->CHANGED=1; o_text_prepare_place (w_current, tmp == NULL ? string : tmp); g_free (string); g_free (tmp); } /*! \brief response function for the text entry dialog * \par Function Description * Callback function for the text entry dialog. */ void text_input_dialog_response(GtkWidget * widget, gint response, GSCHEM_TOPLEVEL *w_current) { switch(response) { case GTK_RESPONSE_ACCEPT: text_input_dialog_apply(widget, w_current); break; case GTK_RESPONSE_REJECT: case GTK_RESPONSE_DELETE_EVENT: i_set_state(w_current, SELECT); i_update_toolbar(w_current); gtk_widget_destroy(w_current->tiwindow); w_current->tiwindow=NULL; break; default: printf("text_edit_dialog_response(): strange signal %d\n", response); } } /*! \brief create or present the text entry dialog * \par Function Description * This function creates or raises the modal text entry dialog */ void text_input_dialog (GSCHEM_TOPLEVEL *w_current) { GtkWidget *label = NULL; GtkWidget *tientry = NULL; GtkWidget *vbox; GtkWidget *viewport1 = NULL; GtkWidget *scrolled_window = NULL; PangoTabArray *tab_array; int real_tab_width; if (!w_current->tiwindow) { /* dialog not created yet */ w_current->tiwindow = gschem_dialog_new_with_buttons(_("Text Entry..."), GTK_WINDOW(w_current->main_window), 0, /* NON_MODAL */ "text-entry", w_current, GTK_STOCK_CLOSE, GTK_RESPONSE_REJECT, GTK_STOCK_APPLY, GTK_RESPONSE_ACCEPT, NULL); /* Set the alternative button order (ok, cancel, help) for other systems */ gtk_dialog_set_alternative_button_order(GTK_DIALOG(w_current->tiwindow), GTK_RESPONSE_ACCEPT, GTK_RESPONSE_REJECT, -1); gtk_window_position(GTK_WINDOW (w_current->tiwindow), GTK_WIN_POS_NONE); g_signal_connect (G_OBJECT (w_current->tiwindow), "response", G_CALLBACK (text_input_dialog_response), w_current); gtk_dialog_set_default_response(GTK_DIALOG(w_current->tiwindow), GTK_RESPONSE_ACCEPT); gtk_container_border_width(GTK_CONTAINER (w_current->tiwindow), DIALOG_BORDER_SPACING); vbox = GTK_DIALOG(w_current->tiwindow)->vbox; gtk_box_set_spacing(GTK_BOX(vbox),DIALOG_V_SPACING); label = gtk_label_new (_("Enter text, click apply,\n" "move cursor into window, click to place text.\n" "Middle button to rotate while placing.")); gtk_misc_set_alignment(GTK_MISC(label),0,0); gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); viewport1 = gtk_viewport_new (NULL, NULL); gtk_widget_show (viewport1); scrolled_window = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled_window), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_container_add (GTK_CONTAINER (viewport1), scrolled_window); gtk_box_pack_start( GTK_BOX(vbox), viewport1, TRUE, TRUE, 0); tientry = gtk_text_view_new(); gtk_text_view_set_editable(GTK_TEXT_VIEW(tientry), TRUE); select_all_text_in_textview(GTK_TEXT_VIEW(tientry)); /* Set the tab width, using pango tab array */ /*! \bug FIXME: This doesn't work. Why? */ tab_array = pango_tab_array_new (1, TRUE); real_tab_width = text_view_calculate_real_tab_width(GTK_TEXT_VIEW(tientry), tab_in_chars); if (real_tab_width >= 0) { pango_tab_array_set_tab (tab_array, 0, PANGO_TAB_LEFT, real_tab_width); /* printf("Real tab width: %i\n", real_tab_width);*/ gtk_text_view_set_tabs (GTK_TEXT_VIEW (tientry), tab_array); } else { g_warning ("text_input_dialog: Impossible to set tab width.\n"); } pango_tab_array_free (tab_array); gtk_container_add(GTK_CONTAINER(scrolled_window), tientry); gtk_object_set_data(GTK_OBJECT(w_current->tiwindow), "tientry",tientry); gtk_widget_show_all (w_current->tiwindow); } else { /* dialog already created */ gtk_window_present (GTK_WINDOW(w_current->tiwindow)); } /* always select the text in the entry */ tientry = gtk_object_get_data(GTK_OBJECT(w_current->tiwindow),"tientry"); select_all_text_in_textview(GTK_TEXT_VIEW(tientry)); gtk_widget_grab_focus(tientry); } /***************** End of Text Input dialog box ***********************/ /***************** Start of Text Edit dialog box **********************/ /*! \brief CAllback for a text aligment change * \par Function Description * This function stores a change of the text alignment in the * GSCHEM_TOPLEVEL struct. * \todo Remove that function. Only the OK-Button should set any * properties in the GSCHEM_TOPLEVEL struct. */ gint change_alignment(GtkComboBox *w, GSCHEM_TOPLEVEL *w_current) { GtkTreeIter iter; GtkTreeModel *model; gint value; if( gtk_combo_box_get_active_iter(w, &iter)) { model = gtk_combo_box_get_model(w); gtk_tree_model_get(model, &iter, 1, &value, -1); w_current->text_alignment = value; } /*w_current->page_current->CHANGED=1; I don't think this belongs */ /* o_undo_savestate(w_current, UNDO_ALL); I don't think this belongs */ return 0; } /*! \brief Create the alignment combo box list store for the text * property dialog * \par Function Description * This function creates a GtkListStore with nine different alignment * entries. */ static GtkListStore *create_menu_alignment (GSCHEM_TOPLEVEL *w_current) { GtkListStore *store; GtkTreeIter iter; store = gtk_list_store_new(2, G_TYPE_STRING, G_TYPE_INT); gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, 0, _("Upper Left"), -1); gtk_list_store_set(store, &iter, 1, 2, -1); gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, 0, _("Upper Middle"), -1); gtk_list_store_set(store, &iter, 1, 5, -1); gtk_list_store_append( store, &iter); gtk_list_store_set(store, &iter, 0, _("Upper Right"), -1); gtk_list_store_set(store, &iter, 1, 8, -1); gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, 0, _("Middle Left"), -1); gtk_list_store_set(store, &iter, 1, 1, -1); gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, 0, _("Middle Middle"), -1); gtk_list_store_set(store, &iter, 1, 4, -1); gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, 0, _("Middle Right"), -1); gtk_list_store_set(store, &iter, 1, 7, -1); gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, 0, _("Lower Left"), -1); gtk_list_store_set(store, &iter, 1, 0, -1); gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, 0, _("Lower Middle"), -1); gtk_list_store_set(store, &iter, 1, 3, -1); gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, 0, _("Lower Right"), -1); gtk_list_store_set(store, &iter, 1, 6, -1); return store; } /* we reuse the color menu so we need to declare it */ static GtkWidget *create_color_menu(GSCHEM_TOPLEVEL * w_current); /*! \brief Apply the settings from the text property dialog * \par Function Description * This function applies the user settings to the selected text objects * and closes the dialog */ void text_edit_dialog_ok(GtkWidget *w, GSCHEM_TOPLEVEL *w_current) { int len=0; int text_size=8; char *text_string = NULL; char *text_size_string = NULL; int new_text_alignment; int num_selected; GtkTextBuffer *textbuffer; GtkTextIter start, end; GtkWidget *widget; num_selected = g_list_length( geda_list_get_glist( w_current->toplevel->page_current->selection_list )); /* text string entry will only show up if one object is selected */ if (num_selected == 1) { widget = g_object_get_data (G_OBJECT (w_current->tewindow), "textentry"); textbuffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(widget)); gtk_text_buffer_get_bounds (textbuffer, &start, &end); text_string = gtk_text_iter_get_text (&start, &end); } /* else the string will be null which is okay */ widget = g_object_get_data (G_OBJECT (w_current->tewindow), "sizeentry"); text_size_string = (char *) gtk_entry_get_text(GTK_ENTRY(widget)); if (text_string) { len = strlen(text_string); } if (text_size_string) { text_size = atoi(text_size_string); } if (text_size == 0) { text_size = default_text_size; } new_text_alignment = w_current->text_alignment; o_text_edit_end(w_current, text_string, len, text_size, new_text_alignment); } /*! \brief Response function for the text property dialog * \par Function Description * This function receives the user response of the text property dialog. * The response is either OK, Cancel or delete. * */ void text_edit_dialog_response(GtkWidget * widget, gint response, GSCHEM_TOPLEVEL *w_current) { switch(response) { case GTK_RESPONSE_ACCEPT: text_edit_dialog_ok(widget, w_current); break; case GTK_RESPONSE_REJECT: case GTK_RESPONSE_DELETE_EVENT: /* void */ break; default: printf("text_edit_dialog_response(): strange signal %d\n", response); } /* clean up */ i_set_state(w_current, SELECT); i_update_toolbar(w_current); gtk_widget_destroy(w_current->tewindow); w_current->tewindow = NULL; } /*! \brief Create the edit text properties dialog * \par Function Description * This Function creates the dialog to edit text properties. * \todo Check why there's no color in the calling parameters * \todo If more than one text element is selected, add an unchanged option */ void text_edit_dialog (GSCHEM_TOPLEVEL *w_current, const char *string, int text_size, int text_alignment) { GtkWidget *label; GtkWidget *table; GtkWidget *vbox; GtkWidget *optionmenu; GtkWidget *combobox; GtkListStore *align_menu_model; GtkCellRenderer *cell; GtkWidget *viewport1; GtkWidget *textentry; GtkWidget *sizeentry; GtkWidget *alignment; GtkWidget *scrolled_window; GtkTextBuffer *textbuffer; char *text_size_string; int num_selected; /* Lookup table for quickly translating between alignment values and the combo box list indices, index is alignment value, value is list index */ static int alignment_lookup[] = {6, 3, 0, 7, 4, 1, 8, 5, 2}; if (!w_current->tewindow) { w_current->tewindow = gschem_dialog_new_with_buttons(_("Edit Text Properties"), GTK_WINDOW(w_current->main_window), GTK_DIALOG_MODAL, "text-edit", w_current, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, NULL); /* Set the alternative button order (ok, cancel, help) for other systems */ gtk_dialog_set_alternative_button_order(GTK_DIALOG(w_current->tewindow), GTK_RESPONSE_ACCEPT, GTK_RESPONSE_REJECT, -1); gtk_dialog_set_default_response(GTK_DIALOG(w_current->tewindow), GTK_RESPONSE_ACCEPT); g_signal_connect (G_OBJECT (w_current->tewindow), "response", G_CALLBACK (text_edit_dialog_response), w_current); gtk_window_position(GTK_WINDOW (w_current->tewindow), GTK_WIN_POS_MOUSE); vbox = GTK_DIALOG(w_current->tewindow)->vbox; gtk_container_set_border_width(GTK_CONTAINER(w_current->tewindow),DIALOG_BORDER_SPACING); gtk_box_set_spacing(GTK_BOX(vbox), DIALOG_V_SPACING); /* add a text box if only one object is selected */ num_selected = g_list_length( geda_list_get_glist( w_current->toplevel->page_current->selection_list )); if (num_selected == 1) { label = gtk_label_new (_("Text Content")); gtk_label_set_use_markup (GTK_LABEL (label), TRUE); gtk_misc_set_alignment(GTK_MISC(label),0,0); gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); alignment = gtk_alignment_new(0,0,1,1); gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 0, DIALOG_INDENTATION, 0); gtk_box_pack_start(GTK_BOX(vbox), alignment, TRUE, TRUE, 0); viewport1 = gtk_viewport_new (NULL, NULL); gtk_widget_set_size_request(GTK_WIDGET(viewport1),-1,75); scrolled_window = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled_window), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_container_add (GTK_CONTAINER (viewport1), scrolled_window); gtk_container_add( GTK_CONTAINER(alignment), viewport1); textentry = gtk_text_view_new(); gtk_text_view_set_editable (GTK_TEXT_VIEW (textentry), TRUE); if (string != NULL) { textbuffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (textentry)); gtk_text_buffer_set_text (GTK_TEXT_BUFFER (textbuffer), string, -1); select_all_text_in_textview (GTK_TEXT_VIEW (textentry)); } /*! \bug FIXME: Set tab's width in the textview widget. */ /* See first the code in text_input_dialog and get it working before adding it here. */ gtk_container_add(GTK_CONTAINER(scrolled_window), textentry); gtk_widget_grab_focus(textentry); GLADE_HOOKUP_OBJECT(w_current->tewindow, textentry,"textentry"); } label = gtk_label_new(_("Text Properties")); gtk_label_set_use_markup(GTK_LABEL(label), TRUE); gtk_misc_set_alignment(GTK_MISC(label),0,0); gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); alignment = gtk_alignment_new(0,0,1,1); gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 0, DIALOG_INDENTATION, 0); gtk_box_pack_start(GTK_BOX(vbox), alignment, FALSE, FALSE, 0); table = gtk_table_new (3, 2, FALSE); gtk_table_set_row_spacings(GTK_TABLE(table), DIALOG_V_SPACING); gtk_table_set_col_spacings(GTK_TABLE(table), DIALOG_H_SPACING); gtk_container_add(GTK_CONTAINER(alignment), table); label = gtk_label_new(_("Color:")); gtk_misc_set_alignment(GTK_MISC(label),0,0); gtk_table_attach(GTK_TABLE(table), label, 0,1,0,1, GTK_FILL,0,0,0); optionmenu = create_color_menu (w_current); gtk_table_attach_defaults(GTK_TABLE(table), optionmenu, 1,2,0,1); label = gtk_label_new(_("Size:")); gtk_misc_set_alignment(GTK_MISC(label),0,0); gtk_table_attach(GTK_TABLE(table), label, 0,1,1,2, GTK_FILL,0,0,0); sizeentry = gtk_entry_new_with_max_length (10); gtk_editable_select_region(GTK_EDITABLE (sizeentry), 0, -1); gtk_table_attach_defaults(GTK_TABLE(table), sizeentry, 1,2,1,2); gtk_entry_set_activates_default(GTK_ENTRY(sizeentry), TRUE); label = gtk_label_new(_("Alignment:")); gtk_misc_set_alignment(GTK_MISC(label),0,0); gtk_table_attach(GTK_TABLE(table), label, 0,1,2,3, GTK_FILL,0,0,0); align_menu_model = create_menu_alignment(w_current); combobox = gtk_combo_box_new_with_model(GTK_TREE_MODEL(align_menu_model)); gtk_combo_box_set_wrap_width(GTK_COMBO_BOX(combobox), 3); cell = gtk_cell_renderer_text_new(); gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(combobox), cell, TRUE); gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(combobox), cell, "text", 0, NULL); gtk_combo_box_set_active(GTK_COMBO_BOX(combobox), alignment_lookup[text_alignment]); w_current->text_alignment = text_alignment; g_object_unref (align_menu_model); gtk_table_attach_defaults(GTK_TABLE(table), combobox, 1,2,2,3); g_signal_connect(G_OBJECT(combobox), "changed", G_CALLBACK(change_alignment), w_current); GLADE_HOOKUP_OBJECT(w_current->tewindow, sizeentry,"sizeentry"); gtk_widget_show_all(w_current->tewindow); } else { /* dialog already there */ gtk_window_present(GTK_WINDOW(w_current->tewindow)); } text_size_string = g_strdup_printf("%d", text_size); sizeentry = g_object_get_data (G_OBJECT (w_current->tewindow), "sizeentry"); gtk_entry_set_text(GTK_ENTRY(sizeentry), text_size_string); g_free(text_size_string); } /***************** End of Text Edit dialog box ************************/ /***************** Start of Line Type/width dialog box ****************/ /*! \brief Create a line type menu for the line type dialog * \par Function Description * This function creates a GtkMenu with the different linetypes. */ static GtkWidget *create_menu_linetype (GSCHEM_TOPLEVEL *w_current) { GtkWidget *menu; GSList *group; struct line_type { gchar *str; OBJECT_TYPE type; } types[] = { { N_("Solid"), TYPE_SOLID }, { N_("Dotted"), TYPE_DOTTED }, { N_("Dashed"), TYPE_DASHED }, { N_("Center"), TYPE_CENTER }, { N_("Phantom"), TYPE_PHANTOM }, { N_("*unchanged*"), TYPE_ERASE } }; gint i; menu = gtk_menu_new (); group = NULL; for (i = 0; i < sizeof (types) / sizeof (struct line_type); i++) { GtkWidget *menuitem; menuitem = gtk_radio_menu_item_new_with_label (group, _(types[i].str)); group = gtk_radio_menu_item_group (GTK_RADIO_MENU_ITEM (menuitem)); gtk_menu_append (GTK_MENU (menu), menuitem); gtk_object_set_data (GTK_OBJECT(menuitem), "linetype", GINT_TO_POINTER (types[i].type)); gtk_widget_show (menuitem); } return(menu); } /*! \brief get the linetype data from selected objects * \par Function Description * Get linetype information over all selected objects. * If a object property is different to the other objects, then * return -2 in that variable. * \param [in] selection the selection list * \param [out] end OBJECT_END type * \param [out] type OBJECT_FILLING type * \param [out] width line width * \param [out] length length of each line * \param [out] space space between points and lines * \returns TRUE if linetype found, FALSE otherwise */ static gboolean selection_get_line_type(GList *selection, OBJECT_END *end, OBJECT_TYPE *type, gint *width, gint *length, gint *space) { GList *iter; OBJECT *object; gboolean found = FALSE; OBJECT_END oend; OBJECT_TYPE otype; gint owidth, olength, ospace; for (iter = selection; iter != NULL; iter = g_list_next(iter)) { object = (OBJECT *) iter->data; if (! o_get_line_options(object, &oend, &otype, &owidth, &olength, &ospace)) continue; if (found == FALSE) { /* first object with filltype */ found = TRUE; *end = oend; *type = otype; *width = owidth; *length = olength; *space = ospace; } else { /* indicate different values with the value -2 */ if (*end != oend) *end = -2; if (*type != otype) *type = -2; if (*width != owidth) *width = -2; if (*length != olength) *length = -2; if (*space != ospace) *space = -2; } } return found; } /*! \brief set the linetype in the linetype dialog * \par Function Description * Set all widgets in the linetype dialog. Variables marked with the * invalid value -2 are set to *unchanged*. * \param [in] line_type_data dialog structure * \param [in] end OBJECT_END type (currently not used) * \param [in] type OBJECT_FILLING type * \param [in] width fill width. * \param [in] length length of each line * \param [in] space space between points and lines */ static void line_type_dialog_set_values(struct line_type_data *line_type_data, OBJECT_END end, OBJECT_TYPE type, gint width, gint length, gint space) { gchar *text; GtkWidget *menu, *menuitem; if (type == -2) type = TYPE_ERASE; gtk_option_menu_set_history(GTK_OPTION_MENU(line_type_data->line_type), type); menu = gtk_option_menu_get_menu(GTK_OPTION_MENU(line_type_data->line_type)); menuitem = gtk_menu_get_active(GTK_MENU(menu)); gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menuitem), TRUE); if (width == -2) text = g_strdup(_("*unchanged*")); else text = g_strdup_printf ("%d", width); gtk_entry_set_text (GTK_ENTRY (line_type_data->width_entry), text); gtk_entry_select_region (GTK_ENTRY (line_type_data->width_entry), 0, strlen (text)); g_free(text); if (length == -2) text = g_strdup(_("*unchanged*")); else text = g_strdup_printf ("%d", length); gtk_entry_set_text (GTK_ENTRY (line_type_data->length_entry), text); gtk_entry_select_region (GTK_ENTRY (line_type_data->length_entry), 0, strlen (text)); g_free(text); if (space == -2) text = g_strdup(_("*unchanged*")); else text = g_strdup_printf ("%d", space); gtk_entry_set_text (GTK_ENTRY (line_type_data->space_entry), text); gtk_entry_select_region (GTK_ENTRY (line_type_data->space_entry), 0, strlen (text)); g_free(text); } /*! \brief Callback function for the linetype menu item in the line type dialog * \par Function Description * This Function is called when the user changes the line type selection. * It sets the dash space/length entries either active or inactive. */ static gint line_type_dialog_linetype_change(GtkWidget *w, gpointer data) { struct line_type_data *line_type_data = (struct line_type_data*) data; GtkWidget *menuitem; gboolean activate_length_entry, activate_space_entry; gint type; menuitem = gtk_menu_get_active ( GTK_MENU (gtk_option_menu_get_menu ( GTK_OPTION_MENU (line_type_data->line_type)))); type = GPOINTER_TO_INT( gtk_object_get_data (GTK_OBJECT (menuitem), "linetype")); switch(type) { case(TYPE_SOLID): activate_length_entry = FALSE; activate_space_entry = FALSE; break; case(TYPE_DOTTED): activate_length_entry = FALSE; activate_space_entry = TRUE; break; case(TYPE_DASHED): case(TYPE_CENTER): case(TYPE_PHANTOM): activate_length_entry = TRUE; activate_space_entry = TRUE; break; default: activate_length_entry = TRUE; activate_space_entry = TRUE; } gtk_widget_set_sensitive (line_type_data->space_entry, activate_space_entry); gtk_widget_set_sensitive (line_type_data->length_entry, activate_length_entry); return(0); } /*! \brief Worker function for the line type and width dialog * \par Function Description * The function takes the properties of the dialog and applies * them to the selected objects. */ static void line_type_dialog_ok(GtkWidget *w, gpointer data) { struct line_type_data *line_type_data = (struct line_type_data*)data; GSCHEM_TOPLEVEL *w_current = line_type_data->w_current; TOPLEVEL *toplevel = w_current->toplevel; GList *selection, *iter; OBJECT *object; const gchar *width_str, *length_str, *space_str; OBJECT_TYPE type; gint width, length, space; OBJECT_TYPE otype; OBJECT_END oend; gint owidth, olength, ospace; /* get the selection */ if (! o_select_selected(w_current)) return; selection = geda_list_get_glist(w_current->toplevel->page_current->selection_list); /* get the new values from the text entries of the dialog */ width_str = gtk_entry_get_text (GTK_ENTRY ( line_type_data->width_entry)); length_str = gtk_entry_get_text (GTK_ENTRY ( line_type_data->length_entry)); space_str = gtk_entry_get_text (GTK_ENTRY ( line_type_data->space_entry)); type = GPOINTER_TO_INT( gtk_object_get_data ( GTK_OBJECT ( gtk_menu_get_active ( GTK_MENU (gtk_option_menu_get_menu ( GTK_OPTION_MENU ( line_type_data->line_type))))), "linetype")); if (type == TYPE_ERASE) type = -1; /* convert the options to integers (-1 means unchanged) */ width = g_utf8_collate (g_utf8_casefold (width_str, -1), g_utf8_casefold (_("*unchanged*"), -1)) ? atoi (width_str) : -1; length = g_utf8_collate (g_utf8_casefold (length_str, -1), g_utf8_casefold (_("*unchanged*"), -1)) ? atoi (length_str) : -1; space = g_utf8_collate (g_utf8_casefold (space_str, -1), g_utf8_casefold (_("*unchanged*"), -1)) ? atoi (space_str) : -1; for (iter = selection; iter != NULL; iter = g_list_next(iter)) { object = (OBJECT *) iter->data; if (! o_get_line_options(object, &oend, &otype, &owidth, &olength, &ospace)) continue; /* oend is not in the dialog, yet */ otype = type == -1 ? otype : type; owidth = width == -1 ? owidth : width; olength = length == -1 ? olength : length; ospace = space == -1 ? ospace : space; /* set all not required options to -1 and set nice parameters if not provided by the user */ switch (otype) { case (TYPE_SOLID): olength = ospace = -1; break; case (TYPE_DOTTED): olength = -1; if (ospace < 1) ospace = 100; break; case (TYPE_DASHED): case (TYPE_CENTER): case (TYPE_PHANTOM): if (ospace < 1) ospace = 100; if (olength < 1) olength = 100; break; default: g_assert_not_reached(); } o_set_line_options (toplevel, object, oend, otype, owidth, olength, ospace); } toplevel->page_current->CHANGED = 1; o_undo_savestate(w_current, UNDO_ALL); } /*! \brief response function for the line type and width dialog * \par Function Description * This function takes the user input and applies it to selected * objects. * After that it kills the dialog. */ void line_type_dialog_response(GtkWidget *widget, gint response, struct line_type_data *line_type_data) { switch (response) { case GTK_RESPONSE_REJECT: case GTK_RESPONSE_DELETE_EVENT: /* void */ break; case GTK_RESPONSE_ACCEPT: line_type_dialog_ok(widget, line_type_data); break; default: printf("line_type_dialog_response(): strange signal %d\n",response); } i_set_state (line_type_data->w_current, SELECT); i_update_toolbar (line_type_data->w_current); gtk_widget_destroy (line_type_data->dialog); g_free (line_type_data); } /*! \brief Creates the line type and width dialog * \par Function Description * This function creates and sets up a dialog for manipulating the * line width and the line type setting of objects. */ void line_type_dialog (GSCHEM_TOPLEVEL *w_current) { GtkWidget *dialog; GtkWidget *vbox; GtkWidget *optionmenu = NULL; GtkWidget *length_entry = NULL; GtkWidget *space_entry = NULL; GtkWidget *width_entry = NULL; GtkWidget *table; GtkWidget *label; struct line_type_data *line_type_data; GList *selection; OBJECT_END end=END_NONE; OBJECT_TYPE type=TYPE_SOLID; gint width=1, length=-1, space=-1; if (! o_select_selected(w_current)) return; selection = geda_list_get_glist(w_current->toplevel->page_current->selection_list); if (! selection_get_line_type(selection, &end, &type, &width, &length, &space)) return; line_type_data = (struct line_type_data*) g_malloc ( sizeof (struct line_type_data)); dialog = gschem_dialog_new_with_buttons(_("Edit Line Width & Type"), GTK_WINDOW(w_current->main_window), GTK_DIALOG_MODAL, "line-type", w_current, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, NULL); /* Set the alternative button order (ok, cancel, help) for other systems */ gtk_dialog_set_alternative_button_order(GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT, GTK_RESPONSE_REJECT, -1); gtk_window_position(GTK_WINDOW (dialog), GTK_WIN_POS_MOUSE); gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_ACCEPT); g_signal_connect (G_OBJECT (dialog), "response", G_CALLBACK (line_type_dialog_response), line_type_data); gtk_container_border_width(GTK_CONTAINER(dialog), DIALOG_BORDER_SPACING); vbox = GTK_DIALOG(dialog)->vbox; gtk_box_set_spacing(GTK_BOX(vbox), DIALOG_V_SPACING); /* Don't know whether to set the headline or not (Werner) */ /* label = gtk_label_new(_("Line Properties:")); gtk_misc_set_alignment(GTK_MISC(label),0,0); gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); */ table = gtk_table_new (4, 2, FALSE); gtk_table_set_row_spacings(GTK_TABLE(table), DIALOG_V_SPACING); gtk_table_set_col_spacings(GTK_TABLE(table), DIALOG_H_SPACING); gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0); label = gtk_label_new (_("Type:")); gtk_misc_set_alignment(GTK_MISC(label), 0, 0); gtk_table_attach(GTK_TABLE(table), label, 0,1,0,1, GTK_FILL,0,0,0); label = gtk_label_new (_("Width:")); gtk_misc_set_alignment(GTK_MISC(label), 0, 0); gtk_table_attach(GTK_TABLE(table), label, 0,1,1,2, GTK_FILL,0,0,0); label = gtk_label_new (_("Dash Length:")); gtk_misc_set_alignment(GTK_MISC(label), 0, 0); gtk_table_attach(GTK_TABLE(table), label, 0,1,2,3, GTK_FILL,0,0,0); label = gtk_label_new (_("Dash Space:")); gtk_misc_set_alignment(GTK_MISC(label), 0, 0); gtk_table_attach(GTK_TABLE(table), label, 0,1,3,4, GTK_FILL,0,0,0); optionmenu = gtk_option_menu_new (); gtk_option_menu_set_menu(GTK_OPTION_MENU(optionmenu), create_menu_linetype (w_current)); gtk_table_attach_defaults(GTK_TABLE(table), optionmenu, 1,2,0,1); width_entry = gtk_entry_new(); gtk_entry_set_activates_default (GTK_ENTRY(width_entry), TRUE); gtk_editable_select_region(GTK_EDITABLE(width_entry), 0, -1); gtk_table_attach_defaults(GTK_TABLE(table), width_entry, 1,2,1,2); g_signal_connect(G_OBJECT (optionmenu), "changed", G_CALLBACK (line_type_dialog_linetype_change), line_type_data); length_entry = gtk_entry_new(); gtk_entry_set_activates_default (GTK_ENTRY(length_entry), TRUE); gtk_editable_select_region(GTK_EDITABLE(length_entry), 0, -1); gtk_table_attach_defaults(GTK_TABLE(table), length_entry, 1,2,2,3); space_entry = gtk_entry_new(); gtk_entry_set_activates_default (GTK_ENTRY(space_entry), TRUE); gtk_editable_select_region(GTK_EDITABLE(space_entry), 0, -1); gtk_table_attach_defaults(GTK_TABLE(table), space_entry, 1,2,3,4); /* populate the data structure */ line_type_data->dialog = dialog; line_type_data->width_entry = width_entry; line_type_data->line_type = optionmenu; line_type_data->length_entry = length_entry; line_type_data->space_entry = space_entry; line_type_data->w_current = w_current; /* fill in the fields of the dialog */ line_type_dialog_set_values(line_type_data, end, type, width, length, space); /* calling it once will set the dash space/length activity */ line_type_dialog_linetype_change(optionmenu, line_type_data); gtk_widget_grab_focus(width_entry); gtk_widget_show_all (dialog); } /***************** End of Line Type / Width dialog box ****************/ /***************** Start of Fill Type dialog box **********************/ /*! \brief Create a menu with fill types for the line type dialog * \par Function Description * This function creates a GtkMenu with the different fill types. */ static GtkWidget *create_menu_filltype (GSCHEM_TOPLEVEL *w_current) { GtkWidget *menu; GSList *group; struct fill_type { gchar *str; OBJECT_FILLING type; } types[] = { { N_("Hollow"), FILLING_HOLLOW }, { N_("Filled"), FILLING_FILL }, { N_("Mesh"), FILLING_MESH }, { N_("Hatch"), FILLING_HATCH }, { N_("*unchanged*"), FILLING_VOID } }; gint i; menu = gtk_menu_new (); group = NULL; for (i = 0; i < sizeof (types) / sizeof (struct fill_type); i++) { GtkWidget *menuitem; menuitem = gtk_radio_menu_item_new_with_label (group, _(types[i].str)); group = gtk_radio_menu_item_group (GTK_RADIO_MENU_ITEM (menuitem)); gtk_menu_append (GTK_MENU (menu), menuitem); gtk_object_set_data (GTK_OBJECT(menuitem), "filltype", GINT_TO_POINTER (types[i].type)); gtk_widget_show (menuitem); } return menu; } /*! \brief get the filltype data from selected objects * \par Function Description * Get filltype information over all selected objects. * If a object property is different to the other objects, then * return -2 in that variable. * \param [in] selection the selection list * \param [out] type OBJECT_FILLING type * \param [out] width fill width. * \param [out] pitch1 cross hatch line distance * \param [out] angle1 cross hatch angle * \param [out] pitch2 cross hatch line distance * \param [out] angle2 cross hatch angle * \returns TRUE if filltype found, FALSE otherwise */ static gboolean selection_get_fill_type(GList *selection, OBJECT_FILLING *type, gint *width, gint *pitch1, gint *angle1, gint *pitch2, gint *angle2) { GList *iter; OBJECT *object; gboolean found = FALSE; OBJECT_FILLING otype; gint owidth, opitch1, oangle1, opitch2, oangle2; for (iter = selection; iter != NULL; iter = g_list_next(iter)) { object = (OBJECT *) iter->data; if (! o_get_fill_options(object, &otype, &owidth, &opitch1, &oangle1, &opitch2, &oangle2)) continue; if (found == FALSE) { /* first object with filltype */ found = TRUE; *type = otype; *width = owidth; *pitch1 = opitch1; *angle1 = oangle1; *pitch2 = opitch2; *angle2 = oangle2; } else { /* indicate different values with the value -2 */ if (*type != otype) *type = -2; if (*width != owidth) *width = -2; if (*pitch1 != opitch1) *pitch1 = -2; if (*angle1 != oangle1) *angle1 = -2; if (*pitch2 != opitch2) *pitch2 = -2; if (*angle2 != oangle2) *angle2 = -2; } } return found; } /*! \brief set the filltype in the filltype dialog * \par Function Description * Set all widgets in the filltype dialog. Variables marked with the * invalid value -2 are set to *unchanged*. * \param [in] fill_type_data dialog structure * \param [in] type OBJECT_FILLING type * \param [in] width fill width. * \param [in] pitch1 cross hatch line distance * \param [in] angle1 cross hatch angle * \param [in] pitch2 cross hatch line distance * \param [in] angle2 cross hatch angle */ static void fill_type_dialog_set_values(struct fill_type_data *fill_type_data, OBJECT_FILLING type, gint width, gint pitch1, gint angle1, gint pitch2, gint angle2) { gchar *text; GtkWidget *menu, *menuitem; if (type == -2) type = FILLING_VOID; gtk_option_menu_set_history(GTK_OPTION_MENU(fill_type_data->fill_type), type); menu = gtk_option_menu_get_menu(GTK_OPTION_MENU(fill_type_data->fill_type)); menuitem = gtk_menu_get_active(GTK_MENU(menu)); gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menuitem), TRUE); if (width == -2) text = g_strdup(_("*unchanged*")); else text = g_strdup_printf ("%d", width); gtk_entry_set_text (GTK_ENTRY (fill_type_data->width_entry), text); gtk_entry_select_region (GTK_ENTRY (fill_type_data->width_entry), 0, strlen (text)); g_free(text); if (pitch1 == -2) text = g_strdup(_("*unchanged*")); else text = g_strdup_printf ("%d", pitch1); gtk_entry_set_text (GTK_ENTRY (fill_type_data->pitch1_entry), text); gtk_entry_select_region (GTK_ENTRY (fill_type_data->pitch1_entry), 0, strlen (text)); g_free(text); if (angle1 == -2) text = g_strdup(_("*unchanged*")); else text = g_strdup_printf ("%d", angle1); gtk_entry_set_text (GTK_ENTRY (fill_type_data->angle1_entry), text); gtk_entry_select_region (GTK_ENTRY (fill_type_data->angle1_entry), 0, strlen (text)); g_free(text); if (pitch2 == -2) text = g_strdup(_("*unchanged*")); else text = g_strdup_printf ("%d", pitch2); gtk_entry_set_text (GTK_ENTRY (fill_type_data->pitch2_entry), text); gtk_entry_select_region (GTK_ENTRY (fill_type_data->pitch2_entry), 0, strlen (text)); g_free(text); if (angle2 == -2) text = g_strdup(_("*unchanged*")); else text = g_strdup_printf ("%d", angle2); gtk_entry_set_text (GTK_ENTRY (fill_type_data->angle2_entry), text); gtk_entry_select_region (GTK_ENTRY (fill_type_data->angle2_entry), 0, strlen (text)); g_free(text); } /*! \brief Callback function for the filltype menu in the filltype dialog * \par Function Description * This function sets the entry activity according to the selected * filltype of the filltype dialog. */ static gint fill_type_dialog_filltype_change(GtkWidget *w, gpointer data) { struct fill_type_data *fill_type_data = (struct fill_type_data*) data; GtkWidget *menuitem; gboolean activate_width_entry; gboolean activate_anglepitch1_entries; gboolean activate_anglepitch2_entries; gint type; menuitem = gtk_menu_get_active ( GTK_MENU (gtk_option_menu_get_menu ( GTK_OPTION_MENU (fill_type_data->fill_type)))); type = GPOINTER_TO_INT( gtk_object_get_data (GTK_OBJECT (menuitem), "filltype")); switch(type) { case(FILLING_HOLLOW): case(FILLING_FILL): activate_width_entry = FALSE; activate_anglepitch1_entries = FALSE; activate_anglepitch2_entries = FALSE; break; case(FILLING_HATCH): activate_width_entry = TRUE; activate_anglepitch1_entries = TRUE; activate_anglepitch2_entries = FALSE; break; case(FILLING_MESH): case(FILLING_VOID): activate_width_entry = TRUE; activate_anglepitch1_entries = TRUE; activate_anglepitch2_entries = TRUE; break; default: g_assert_not_reached (); } gtk_widget_set_sensitive (fill_type_data->width_entry, activate_width_entry); gtk_widget_set_sensitive (fill_type_data->angle1_entry, activate_anglepitch1_entries); gtk_widget_set_sensitive (fill_type_data->pitch1_entry, activate_anglepitch1_entries); gtk_widget_set_sensitive (fill_type_data->angle2_entry, activate_anglepitch2_entries); gtk_widget_set_sensitive (fill_type_data->pitch2_entry, activate_anglepitch2_entries); return(0); } /*! \brief Apply the settings of the filltype dialog to the selection * \par Function Description * This function applies the settings of the filltype dialog to the * selected objects */ static void fill_type_dialog_ok(GtkWidget *w, gpointer data) { struct fill_type_data *fill_type_data = (struct fill_type_data*) data; GSCHEM_TOPLEVEL *w_current = fill_type_data->w_current; TOPLEVEL *toplevel = w_current->toplevel; GList *selection, *iter; OBJECT *object; const gchar *width_str, *angle1_str, *pitch1_str, *angle2_str, *pitch2_str; OBJECT_FILLING type; gint width, angle1, pitch1, angle2, pitch2; OBJECT_FILLING otype; gint owidth, oangle1, opitch1, oangle2, opitch2; /* get the selection */ if (! o_select_selected(w_current)) return; selection = geda_list_get_glist(w_current->toplevel->page_current->selection_list); /* get the new values from the text entries of the dialog */ width_str = gtk_entry_get_text (GTK_ENTRY ( fill_type_data->width_entry)); angle1_str = gtk_entry_get_text (GTK_ENTRY ( fill_type_data->angle1_entry)); pitch1_str = gtk_entry_get_text (GTK_ENTRY ( fill_type_data->pitch1_entry)); angle2_str = gtk_entry_get_text (GTK_ENTRY ( fill_type_data->angle2_entry)); pitch2_str = gtk_entry_get_text (GTK_ENTRY ( fill_type_data->pitch2_entry)); type = GPOINTER_TO_INT( gtk_object_get_data ( GTK_OBJECT ( gtk_menu_get_active ( GTK_MENU (gtk_option_menu_get_menu ( GTK_OPTION_MENU ( fill_type_data->fill_type))))), "filltype")); if (type == FILLING_VOID) type = -1; /* convert the options to integers (-1 means unchanged) */ width = g_utf8_collate (g_utf8_casefold (width_str, -1), g_utf8_casefold(_("*unchanged*"), -1)) ? atoi (width_str) : -1; angle1 = g_utf8_collate (g_utf8_casefold (angle1_str, -1), g_utf8_casefold (_("*unchanged*"), -1)) ? atoi (angle1_str) : -1; pitch1 = g_utf8_collate (g_utf8_casefold (pitch1_str, -1), g_utf8_casefold (_("*unchanged*"), -1)) ? atoi (pitch1_str) : -1; angle2 = g_utf8_collate (g_utf8_casefold (angle2_str, -1), g_utf8_casefold (_("*unchanged*"), -1)) ? atoi (angle2_str) : -1; pitch2 = g_utf8_collate (g_utf8_casefold (pitch2_str, -1), g_utf8_casefold(_("*unchanged*"), -1)) ? atoi (pitch2_str) : -1; for (iter = selection; iter != NULL; iter = g_list_next(iter)) { object = (OBJECT *) iter->data; if (! o_get_fill_options(object, &otype, &owidth, &opitch1, &oangle1, &opitch2, &oangle2)) continue; otype = type == -1 ? otype : type; owidth = width == -1 ? owidth : width; opitch1 = pitch1 == -1 ? opitch1 : pitch1; oangle1 = angle1 == -1 ? oangle1 : angle1; opitch2 = pitch2 == -1 ? opitch2 : pitch2; oangle2 = angle2 == -1 ? oangle2 : angle2; /* set all not required options to -1 and set nice parameters if not provided by the user */ switch (otype) { case (FILLING_HOLLOW): case (FILLING_FILL): owidth = opitch1 = oangle1 = opitch2 = oangle2 = -1; break; case (FILLING_HATCH): if (owidth < 1) owidth = 1; if (opitch1 < 1) opitch1 = 100; opitch2 = oangle2 = -1; break; case (FILLING_MESH): if (owidth < 1) owidth = 1; if (opitch1 < 1) opitch1 = 100; if (opitch2 < 1) opitch2 = 100; break; default: g_assert_not_reached(); } o_set_fill_options (toplevel, object, otype, owidth, opitch1, oangle1, opitch2, oangle2); } toplevel->page_current->CHANGED = 1; o_undo_savestate(w_current, UNDO_ALL); } /*! \brief response function for the filltype dialog * \par Function Description * This function handles the user response to the filltype dialog. * It destroys the dialog after that. */ void fill_type_dialog_response(GtkWidget *widget, gint response, struct fill_type_data *fill_type_data) { switch (response) { case GTK_RESPONSE_REJECT: case GTK_RESPONSE_DELETE_EVENT: /* void */ break; case GTK_RESPONSE_ACCEPT: fill_type_dialog_ok(widget, fill_type_data); break; default: printf("line_type_dialog_response(): strange signal %d\n",response); } i_set_state (fill_type_data->w_current, SELECT); i_update_toolbar (fill_type_data->w_current); gtk_grab_remove (fill_type_data->dialog); gtk_widget_destroy (fill_type_data->dialog); g_free (fill_type_data); } /*! \brief Creates the fill type dialog * \par Function Description * This function creates the fill type dialog. * It uses the selection to set it's initial values. */ void fill_type_dialog(GSCHEM_TOPLEVEL *w_current) { GtkWidget *dialog; GtkWidget *vbox; GtkWidget *optionmenu = NULL; GtkWidget *width_entry = NULL; GtkWidget *angle1_entry = NULL; GtkWidget *pitch1_entry = NULL; GtkWidget *angle2_entry = NULL; GtkWidget *pitch2_entry = NULL; GtkWidget *label; GtkWidget *table; struct fill_type_data *fill_type_data; GList *selection; OBJECT_FILLING type=FILLING_VOID; gint width=0, pitch1=0, angle1=0, pitch2=0, angle2=0; if (! o_select_selected(w_current)) return; selection = geda_list_get_glist(w_current->toplevel->page_current->selection_list); if (! selection_get_fill_type(selection, &type, &width, &pitch1, &angle1, &pitch2, &angle2)) return; fill_type_data = (struct fill_type_data*) g_malloc ( sizeof (struct fill_type_data)); dialog = gschem_dialog_new_with_buttons(_("Edit Fill Type"), GTK_WINDOW(w_current->main_window), GTK_DIALOG_MODAL, "fill-type", w_current, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, NULL); /* Set the alternative button order (ok, cancel, help) for other systems */ gtk_dialog_set_alternative_button_order(GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT, GTK_RESPONSE_REJECT, -1); gtk_window_position(GTK_WINDOW (dialog), GTK_WIN_POS_MOUSE); gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT); g_signal_connect (G_OBJECT (dialog), "response", G_CALLBACK (fill_type_dialog_response), fill_type_data); gtk_container_border_width(GTK_CONTAINER(dialog), DIALOG_BORDER_SPACING); vbox = GTK_DIALOG(dialog)->vbox; gtk_box_set_spacing(GTK_BOX(vbox), DIALOG_V_SPACING); /* Don't know whether to use the headline or not (Werner) */ /* label = gtk_label_new(_("Fill Properties:")); gtk_misc_set_alignment(GTK_MISC(label), 0, 0); gtk_box_pack_start(GTK_BOX(vbox),label, FALSE, FALSE, 0); */ table = gtk_table_new (6, 2, FALSE); gtk_table_set_row_spacings(GTK_TABLE(table), DIALOG_V_SPACING); gtk_table_set_col_spacings(GTK_TABLE(table), DIALOG_H_SPACING); gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0); label = gtk_label_new (_("Fill Type:")); gtk_misc_set_alignment(GTK_MISC(label), 0, 0); gtk_table_attach(GTK_TABLE(table), label, 0,1,0,1, GTK_FILL,0,0,0); label = gtk_label_new (_("Line Width:")); gtk_misc_set_alignment(GTK_MISC(label), 0, 0); gtk_table_attach(GTK_TABLE(table), label, 0,1,1,2, GTK_FILL,0,0,0); label = gtk_label_new (_("Angle 1:")); gtk_misc_set_alignment(GTK_MISC(label), 0, 0); gtk_table_attach(GTK_TABLE(table), label, 0,1,2,3, GTK_FILL,0,0,0); label = gtk_label_new (_("Pitch 1:")); gtk_misc_set_alignment(GTK_MISC(label), 0, 0); gtk_table_attach(GTK_TABLE(table), label, 0,1,3,4, GTK_FILL,0,0,0); label = gtk_label_new (_("Angle 2:")); gtk_misc_set_alignment(GTK_MISC(label), 0, 0); gtk_table_attach(GTK_TABLE(table), label, 0,1,4,5, GTK_FILL,0,0,0); label = gtk_label_new (_("Pitch 2:")); gtk_misc_set_alignment(GTK_MISC(label), 0, 0); gtk_table_attach(GTK_TABLE(table), label, 0,1,5,6, GTK_FILL,0,0,0); optionmenu = gtk_option_menu_new (); gtk_option_menu_set_menu(GTK_OPTION_MENU(optionmenu), create_menu_filltype (w_current)); gtk_table_attach_defaults(GTK_TABLE(table), optionmenu, 1,2,0,1); g_signal_connect (G_OBJECT (optionmenu), "changed", G_CALLBACK (fill_type_dialog_filltype_change), fill_type_data); width_entry = gtk_entry_new(); gtk_entry_set_activates_default (GTK_ENTRY(width_entry), TRUE); gtk_table_attach_defaults(GTK_TABLE(table), width_entry, 1,2,1,2); angle1_entry = gtk_entry_new (); gtk_entry_set_activates_default (GTK_ENTRY(angle1_entry), TRUE); gtk_table_attach_defaults(GTK_TABLE(table), angle1_entry, 1,2,2,3); pitch1_entry = gtk_entry_new (); gtk_entry_set_activates_default (GTK_ENTRY(pitch1_entry), TRUE); gtk_table_attach_defaults(GTK_TABLE(table), pitch1_entry, 1,2,3,4); angle2_entry = gtk_entry_new (); gtk_entry_set_activates_default (GTK_ENTRY(angle2_entry), TRUE); gtk_table_attach_defaults(GTK_TABLE(table), angle2_entry, 1,2,4,5); pitch2_entry = gtk_entry_new (); gtk_entry_set_activates_default (GTK_ENTRY(pitch2_entry), TRUE); gtk_table_attach_defaults(GTK_TABLE(table), pitch2_entry, 1,2,5,6); /* populate the data structure */ fill_type_data->dialog = dialog; fill_type_data->fill_type = optionmenu; fill_type_data->width_entry = width_entry; fill_type_data->angle1_entry = angle1_entry; fill_type_data->pitch1_entry = pitch1_entry; fill_type_data->angle2_entry = angle2_entry; fill_type_data->pitch2_entry = pitch2_entry; fill_type_data->w_current = w_current; /* fill in the fields of the dialog */ fill_type_dialog_set_values(fill_type_data, type, width, pitch1, angle1, pitch2, angle2); /* Set the widget activity according to the current filltype */ fill_type_dialog_filltype_change(optionmenu, fill_type_data); gtk_widget_grab_focus(width_entry); gtk_widget_show_all (dialog); } /***************** End of Fill Type dialog box ***********************/ /***************** Start of Arc dialog box ***************************/ /*! \brief response function for the arc angle dialog * \par Function Description * The response function of th arc angle dialog takes the content of * the dialog and applies it on the current arc. * If the dialog is closed or canceled the function destroys the dialog. */ void arc_angle_dialog_response(GtkWidget *w, gint response, GSCHEM_TOPLEVEL *w_current) { GtkWidget *spinentry; gint radius, start_angle, sweep_angle; OBJECT *arc_object = NULL; switch (response) { case GTK_RESPONSE_REJECT: case GTK_RESPONSE_DELETE_EVENT: /* void */ break; case GTK_RESPONSE_ACCEPT: spinentry = g_object_get_data(G_OBJECT(w_current->aawindow),"radius"); radius = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON(spinentry)); spinentry = g_object_get_data(G_OBJECT(w_current->aawindow),"spin_start"); start_angle = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON(spinentry)); spinentry = g_object_get_data(G_OBJECT(w_current->aawindow),"spin_sweep"); sweep_angle = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON(spinentry)); arc_object = (OBJECT*) g_object_get_data(G_OBJECT(w_current->aawindow),"arc_object"); if (arc_object != NULL) { o_arc_modify(w_current->toplevel, arc_object, radius, 0, ARC_RADIUS); o_arc_modify(w_current->toplevel, arc_object, start_angle, 0, ARC_START_ANGLE); o_arc_modify(w_current->toplevel, arc_object, sweep_angle, 0, ARC_END_ANGLE); } else { o_arc_end4(w_current, radius, start_angle, sweep_angle); } break; default: printf("arc_angle_dialog_response(): strange signal %d\n",response); } gtk_widget_destroy(w_current->aawindow); w_current->aawindow = NULL; } /*! \brief Creates the arc angle dialog * \par Function Description * This function creates the arc angle dialog. Depending on the * \a arc_object the entries are filled with the arc OBJECT properties * or with some standard values. * * \param [in] w_current The GSCHEM_TOPLEVEL object * \param [in] arc_object an arc OBJECT if used to modify an arc * or NULL to create a new arc. */ void arc_angle_dialog (GSCHEM_TOPLEVEL *w_current, OBJECT *arc_object) { GtkWidget *label = NULL; GtkWidget *vbox; GtkWidget *alignment, *table; GtkWidget *radius, *spin_start, *spin_sweep; if (!w_current->aawindow) { w_current->aawindow = gschem_dialog_new_with_buttons(_("Arc Params"), GTK_WINDOW(w_current->main_window), GTK_DIALOG_MODAL, "arc-angle", w_current, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, NULL); /* Set the alternative button order (ok, cancel, help) for other systems */ gtk_dialog_set_alternative_button_order(GTK_DIALOG(w_current->aawindow), GTK_RESPONSE_ACCEPT, GTK_RESPONSE_REJECT, -1); gtk_window_position(GTK_WINDOW(w_current->aawindow), GTK_WIN_POS_MOUSE); g_signal_connect (G_OBJECT (w_current->aawindow), "response", G_CALLBACK (arc_angle_dialog_response), w_current); gtk_dialog_set_default_response(GTK_DIALOG(w_current->aawindow), GTK_RESPONSE_ACCEPT); gtk_container_border_width(GTK_CONTAINER(w_current->aawindow), DIALOG_BORDER_SPACING); vbox = GTK_DIALOG(w_current->aawindow)->vbox; gtk_box_set_spacing(GTK_BOX(vbox), DIALOG_V_SPACING); alignment = gtk_alignment_new(0,0,1,1); gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 0, 0 /*DIALOG_INDENTATION */, 0); gtk_box_pack_start(GTK_BOX(vbox), alignment, FALSE, FALSE, 0); table = gtk_table_new (2, 3, FALSE); gtk_table_set_row_spacings(GTK_TABLE(table), DIALOG_V_SPACING); gtk_table_set_col_spacings(GTK_TABLE(table), DIALOG_H_SPACING); gtk_container_add(GTK_CONTAINER(alignment), table); label = gtk_label_new (_("Arc Radius:")); gtk_misc_set_alignment(GTK_MISC(label), 0, 0); gtk_table_attach(GTK_TABLE(table), label, 0,1,0,1, GTK_FILL,0,0,0); radius = gtk_spin_button_new_with_range(1, 100000, 100); gtk_entry_set_activates_default(GTK_ENTRY(radius), TRUE); gtk_table_attach_defaults(GTK_TABLE(table), radius, 1,2,0,1); label = gtk_label_new (_("Start Angle:")); gtk_misc_set_alignment(GTK_MISC(label), 0, 0); gtk_table_attach(GTK_TABLE(table), label, 0,1,1,2, GTK_FILL,0,0,0); spin_start = gtk_spin_button_new_with_range(-360,360,1); gtk_entry_set_activates_default(GTK_ENTRY(spin_start), TRUE); gtk_table_attach_defaults(GTK_TABLE(table), spin_start, 1,2,1,2); label = gtk_label_new(_("Degrees of Sweep:")); gtk_misc_set_alignment(GTK_MISC(label), 0, 0); gtk_table_attach(GTK_TABLE(table), label, 0,1,2,3, GTK_FILL,0,0,0); spin_sweep = gtk_spin_button_new_with_range(-360,360,1); gtk_entry_set_activates_default(GTK_ENTRY(spin_sweep), TRUE); gtk_table_attach_defaults(GTK_TABLE(table), spin_sweep, 1,2,2,3); GLADE_HOOKUP_OBJECT(w_current->aawindow, radius, "radius"); GLADE_HOOKUP_OBJECT(w_current->aawindow, spin_start,"spin_start"); GLADE_HOOKUP_OBJECT(w_current->aawindow, spin_sweep,"spin_sweep"); g_object_set_data(G_OBJECT(w_current->aawindow), "arc_object", arc_object); gtk_widget_show_all (w_current->aawindow); } else { /* dialog already created */ gtk_window_present (GTK_WINDOW(w_current->aawindow)); radius = g_object_get_data(G_OBJECT(w_current->aawindow),"radius"); spin_start = g_object_get_data(G_OBJECT(w_current->aawindow),"spin_start"); spin_sweep = g_object_get_data(G_OBJECT(w_current->aawindow),"spin_sweep"); } if (arc_object == NULL) { gtk_spin_button_set_value(GTK_SPIN_BUTTON(radius), w_current->distance); gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin_start),0); gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin_sweep), 90); } else { gtk_spin_button_set_value(GTK_SPIN_BUTTON(radius), arc_object->arc->width / 2); gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin_start), arc_object->arc->start_angle); gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin_sweep), arc_object->arc->end_angle); } gtk_widget_grab_focus(radius); } /***************** End of Arc dialog box *****************************/ /***************** Start of Translate dialog box *********************/ /*! \brief response function for the translate dialog * \par Function Description * This function takes the user action and applies it. * \todo improve error detection / use a spin button? */ void translate_dialog_response(GtkWidget *widget, gint response, GSCHEM_TOPLEVEL *w_current) { GtkWidget *textentry; gchar *string; switch (response) { case GTK_RESPONSE_REJECT: case GTK_RESPONSE_DELETE_EVENT: /* void */ break; case GTK_RESPONSE_ACCEPT: textentry = g_object_get_data(G_OBJECT(w_current->trwindow),"textentry"); string = (gchar*) gtk_entry_get_text(GTK_ENTRY(textentry)); if (strlen(string) != 0) { o_complex_translate_all(w_current, atoi(string)); } break; default: printf("translate_edit_dialog_response(): strange signal %d\n",response); } i_set_state(w_current, SELECT); i_update_toolbar(w_current); gtk_widget_destroy(w_current->trwindow); w_current->trwindow=NULL; } /*! \brief Create the translate dialog * \par Function Description * Create the dialog to translate symbols. */ void translate_dialog (GSCHEM_TOPLEVEL *w_current) { GtkWidget *label; GtkWidget *textentry; GtkWidget *vbox; if (!w_current->trwindow) { w_current->trwindow = gschem_dialog_new_with_buttons(_("Translate"), GTK_WINDOW(w_current->main_window), GTK_DIALOG_MODAL, "translate", w_current, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, NULL); /* Set the alternative button order (ok, cancel, help) for other systems */ gtk_dialog_set_alternative_button_order(GTK_DIALOG(w_current->trwindow), GTK_RESPONSE_ACCEPT, GTK_RESPONSE_REJECT, -1); gtk_window_position(GTK_WINDOW (w_current->trwindow), GTK_WIN_POS_MOUSE); g_signal_connect (G_OBJECT (w_current->trwindow), "response", G_CALLBACK (translate_dialog_response), w_current); gtk_dialog_set_default_response(GTK_DIALOG(w_current->trwindow), GTK_RESPONSE_ACCEPT); gtk_container_border_width(GTK_CONTAINER(w_current->trwindow), DIALOG_BORDER_SPACING); vbox = GTK_DIALOG(w_current->trwindow)->vbox; gtk_box_set_spacing(GTK_BOX(vbox), DIALOG_V_SPACING); label = gtk_label_new(_("Offset to translate?\n(0 for origin)")); gtk_misc_set_alignment(GTK_MISC (label), 0, 0); gtk_box_pack_start(GTK_BOX(vbox), label, TRUE, TRUE, 0); textentry = gtk_entry_new_with_max_length (10); gtk_entry_set_text(GTK_ENTRY(textentry), "0"); gtk_editable_select_region(GTK_EDITABLE(textentry), 0, -1); gtk_entry_set_activates_default(GTK_ENTRY(textentry), TRUE); gtk_box_pack_start(GTK_BOX(vbox),textentry, FALSE, FALSE, 0); GLADE_HOOKUP_OBJECT(w_current->trwindow, textentry, "textentry"); gtk_widget_show_all (w_current->trwindow); } else { /* dialog already created */ gtk_window_present(GTK_WINDOW(w_current->trwindow)); } } /***************** End of Translate dialog box ***********************/ /***************** Start of Text size dialog box *********************/ /*! \brief response function for the text size dialog * \par Function Description * This function takes the user input and applies it to gschem */ void text_size_dialog_response(GtkWidget *w, gint response, GSCHEM_TOPLEVEL *w_current) { GtkWidget *spin_size; gint size; switch (response) { case GTK_RESPONSE_ACCEPT: spin_size = g_object_get_data(G_OBJECT(w_current->tswindow),"spin_size"); size = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON(spin_size)); w_current->text_size = size; w_current->toplevel->page_current->CHANGED=1; o_undo_savestate(w_current, UNDO_ALL); break; case GTK_RESPONSE_REJECT: case GTK_RESPONSE_DELETE_EVENT: /* void */ break; default: printf("text_size_dialog_response(): strange signal %d\n",response); } /* clean up */ i_set_state(w_current, SELECT); i_update_toolbar(w_current); gtk_widget_destroy(w_current->tswindow); w_current->tswindow = NULL; } /*! \brief Create the text size dialog * \par Function Description * This function creates the text size dialog. */ void text_size_dialog (GSCHEM_TOPLEVEL *w_current) { GtkWidget *label = NULL; GtkWidget *vbox; GtkWidget *spin_size; if (!w_current->tswindow) { w_current->tswindow = gschem_dialog_new_with_buttons(_("Text Size"), GTK_WINDOW(w_current->main_window), GTK_DIALOG_MODAL, "text-size", w_current, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, NULL); /* Set the alternative button order (ok, cancel, help) for other systems */ gtk_dialog_set_alternative_button_order(GTK_DIALOG(w_current->tswindow), GTK_RESPONSE_ACCEPT, GTK_RESPONSE_REJECT, -1); gtk_window_position(GTK_WINDOW(w_current->tswindow), GTK_WIN_POS_MOUSE); g_signal_connect (G_OBJECT (w_current->tswindow), "response", G_CALLBACK (text_size_dialog_response), w_current); gtk_dialog_set_default_response(GTK_DIALOG(w_current->tswindow), GTK_RESPONSE_ACCEPT); gtk_container_border_width(GTK_CONTAINER(w_current->tswindow), DIALOG_BORDER_SPACING); vbox = GTK_DIALOG(w_current->tswindow)->vbox; gtk_box_set_spacing(GTK_BOX(vbox), DIALOG_V_SPACING); label = gtk_label_new (_("Enter new text size:")); gtk_misc_set_alignment (GTK_MISC (label), 0, 0); gtk_box_pack_start(GTK_BOX(vbox), label, TRUE, TRUE, 0); spin_size = gtk_spin_button_new_with_range(2,10000,2); gtk_editable_select_region( GTK_EDITABLE(spin_size), 0, -1); gtk_box_pack_start(GTK_BOX(vbox), spin_size, FALSE, FALSE, 0); gtk_entry_set_activates_default(GTK_ENTRY(spin_size), TRUE); gtk_widget_grab_focus(spin_size); GLADE_HOOKUP_OBJECT(w_current->tswindow, spin_size, "spin_size"); gtk_widget_show_all(w_current->tswindow); } else { /* dialog already created */ gtk_window_present(GTK_WINDOW(w_current->tswindow)); } /* always set the current text size to the dialog */ spin_size = g_object_get_data(G_OBJECT(w_current->tswindow),"spin_size"); gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin_size), w_current->text_size); gtk_editable_select_region(GTK_EDITABLE(spin_size), 0, -1); } /***************** End of Text size dialog box ***********************/ /***************** Start of Snap size dialog box *********************/ /*! \brief response function for the snap size dialog * \par Function Description * This is the response function for the snap size dialog. * It sets the given snap size to gschem. */ void snap_size_dialog_response(GtkWidget *w, gint response, GSCHEM_TOPLEVEL *w_current) { GtkWidget *spin_size; gint size; switch (response) { case GTK_RESPONSE_ACCEPT: spin_size = g_object_get_data(G_OBJECT(w_current->tswindow),"spin_size"); size = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON(spin_size)); w_current->snap_size = size; i_update_grid_info (w_current); o_invalidate_all (w_current); w_current->toplevel->page_current->CHANGED=1; /* maybe remove those two lines */ o_undo_savestate(w_current, UNDO_ALL); break; case GTK_RESPONSE_REJECT: case GTK_RESPONSE_DELETE_EVENT: /* void */ break; default: printf("snap_size_dialog_response(): strange signal %d\n",response); } /* clean up */ i_set_state(w_current, SELECT); i_update_toolbar(w_current); gtk_widget_destroy(w_current->tswindow); w_current->tswindow = NULL; } /*! \brief Create the snap size dialog * \par Function Description * This function creates the snap size dialog. */ void snap_size_dialog (GSCHEM_TOPLEVEL *w_current) { GtkWidget *label = NULL; GtkWidget *vbox; GtkWidget *spin_size; if (!w_current->tswindow) { w_current->tswindow = gschem_dialog_new_with_buttons(_("Snap Size"), GTK_WINDOW(w_current->main_window), GTK_DIALOG_MODAL, "snap-size", w_current, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, NULL); /* Set the alternative button order (ok, cancel, help) for other systems */ gtk_dialog_set_alternative_button_order(GTK_DIALOG(w_current->tswindow), GTK_RESPONSE_ACCEPT, GTK_RESPONSE_REJECT, -1); gtk_window_position(GTK_WINDOW(w_current->tswindow), GTK_WIN_POS_MOUSE); g_signal_connect (G_OBJECT (w_current->tswindow), "response", G_CALLBACK (snap_size_dialog_response), w_current); gtk_dialog_set_default_response(GTK_DIALOG(w_current->tswindow), GTK_RESPONSE_ACCEPT); gtk_container_border_width(GTK_CONTAINER(w_current->tswindow), DIALOG_BORDER_SPACING); vbox = GTK_DIALOG(w_current->tswindow)->vbox; gtk_box_set_spacing(GTK_BOX(vbox), DIALOG_V_SPACING); label = gtk_label_new (_("Enter new snap grid spacing:")); gtk_misc_set_alignment (GTK_MISC (label), 0, 0); gtk_box_pack_start(GTK_BOX(vbox), label, TRUE, TRUE, 0); spin_size = gtk_spin_button_new_with_range(0,100000,5); gtk_editable_select_region( GTK_EDITABLE(spin_size), 0, -1); gtk_box_pack_start(GTK_BOX(vbox), spin_size, FALSE, FALSE, 0); gtk_entry_set_activates_default(GTK_ENTRY(spin_size), TRUE); gtk_widget_grab_focus(spin_size); GLADE_HOOKUP_OBJECT(w_current->tswindow, spin_size, "spin_size"); gtk_widget_show_all(w_current->tswindow); } else { /* dialog already there */ gtk_window_present(GTK_WINDOW(w_current->tswindow)); } /* always set the current gschem value to the dialog entry */ spin_size = g_object_get_data(G_OBJECT(w_current->tswindow),"spin_size"); gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin_size), w_current->snap_size); gtk_editable_select_region(GTK_EDITABLE(spin_size), 0, -1); } /***************** End of Snap size dialog box ***********************/ /***************** Start of slot edit dialog box *********************/ /*! \brief response function for the slot edit dialog * \par Function Description * The function takes the dialog entry and applies the new slot to the * symbol. */ void slot_edit_dialog_response(GtkWidget *widget, gint response, GSCHEM_TOPLEVEL *w_current) { GtkWidget *textentry; char *slot_string; int len; gchar *string = NULL; switch (response) { case GTK_RESPONSE_REJECT: case GTK_RESPONSE_DELETE_EVENT: /* void */ break; case GTK_RESPONSE_ACCEPT: textentry = g_object_get_data(G_OBJECT(w_current->sewindow),"textentry"); string = (gchar*) gtk_entry_get_text(GTK_ENTRY(textentry)); len = strlen(string); if (len != 0) { slot_string = g_strdup_printf ("slot=%s", string); o_slot_end (w_current, o_select_return_first_object (w_current), slot_string); g_free (slot_string); } break; default: printf("slot_edit_dialog_response(): strange signal %d\n",response); } i_set_state(w_current, SELECT); i_update_toolbar(w_current); gtk_widget_destroy(w_current->sewindow); w_current->sewindow = NULL; } /*! \brief Create the slot entry dialog * \par Function Description * This function creates the slot edit dialog. */ void slot_edit_dialog (GSCHEM_TOPLEVEL *w_current, const char *string) { GtkWidget *label = NULL; GtkWidget *textentry; GtkWidget *vbox; if (!w_current->sewindow) { w_current->sewindow = gschem_dialog_new_with_buttons(_("Edit slot number"), GTK_WINDOW(w_current->main_window), GTK_DIALOG_MODAL, "slot-edit", w_current, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, NULL); /* Set the alternative button order (ok, cancel, help) for other systems */ gtk_dialog_set_alternative_button_order(GTK_DIALOG(w_current->sewindow), GTK_RESPONSE_ACCEPT, GTK_RESPONSE_REJECT, -1); gtk_window_position(GTK_WINDOW(w_current->sewindow), GTK_WIN_POS_MOUSE); gtk_dialog_set_default_response (GTK_DIALOG (w_current->sewindow), GTK_RESPONSE_ACCEPT); g_signal_connect (G_OBJECT (w_current->sewindow), "response", G_CALLBACK (slot_edit_dialog_response), w_current); gtk_container_border_width(GTK_CONTAINER(w_current->sewindow), DIALOG_BORDER_SPACING); vbox = GTK_DIALOG(w_current->sewindow)->vbox; gtk_box_set_spacing(GTK_BOX(vbox), DIALOG_V_SPACING); label = gtk_label_new (_("Edit slot number:")); gtk_misc_set_alignment(GTK_MISC(label),0,0); gtk_box_pack_start(GTK_BOX (vbox), label, FALSE, FALSE, 0); textentry = gtk_entry_new(); gtk_box_pack_start( GTK_BOX(vbox), textentry, FALSE, FALSE, 0); gtk_entry_set_max_length(GTK_ENTRY(textentry), 80); gtk_entry_set_activates_default (GTK_ENTRY(textentry),TRUE); GLADE_HOOKUP_OBJECT(w_current->sewindow, textentry, "textentry"); gtk_widget_show_all (w_current->sewindow); } else { /* dialog already created */ gtk_window_present (GTK_WINDOW(w_current->sewindow)); } /* always set the current text and select the number of the slot */ if (string != NULL) { textentry = g_object_get_data(G_OBJECT(w_current->sewindow),"textentry"); gtk_entry_set_text(GTK_ENTRY(textentry), string); gtk_editable_select_region (GTK_EDITABLE(textentry), 0, -1); } } /***************** End of Slot Edit dialog box ***********************/ /***************** Start of help/about dialog box ********************/ /*! \brief Create the about dialog and show it * \par Function Description * This function creates the about dialog. */ void about_dialog (GSCHEM_TOPLEVEL *w_current) { char *version_string; char *logo_file; GdkPixbuf *logo; GError *error = NULL; version_string = g_strdup_printf (_("%s (g%.7s)"), PACKAGE_DOTTED_VERSION, PACKAGE_GIT_COMMIT); logo_file = g_strconcat (w_current->toplevel->bitmap_directory, G_DIR_SEPARATOR_S, "gschem-about-logo.png", NULL); logo = gdk_pixbuf_new_from_file (logo_file, &error); g_free (logo_file); if (error != NULL) { g_assert (logo == NULL); s_log_message ("Could not load image at file: %s\n%s\n", logo_file, error->message); g_error_free (error); } gtk_show_about_dialog ( GTK_WINDOW (w_current->main_window), "version", version_string, "logo", logo, "title", _("About gschem"), "comments", _("gEDA: GPL Electronic Design Automation"), "copyright", /* TRANSLATORS: "ChangeLog" is a literal filename; please don't translate it. */ _("Copyright © 1998-2012 Ales Hvezda" " \n" "Copyright © 1998-2012 gEDA Contributors" " (see ChangeLog for details)"), "website", "http://www.gpleda.org/", NULL); g_free (version_string); g_object_unref (logo); } /***************** End of help/about dialog box *********************/ /***************** Start of coord dialog box ************************/ /*! \brief Response function for the coord dialog * \par Function Description * This function destroys the coord dialog box and does some cleanup. */ void coord_dialog_response(GtkWidget *w, gint response, GSCHEM_TOPLEVEL *w_current) { gtk_widget_destroy(w_current->cowindow); w_current->cowindow = NULL; w_current->coord_world = NULL; w_current->coord_screen = NULL; } /*! \brief Update the coordinates in the coord dialog box. * \par Function Description * This function takes the screen coordinates and prints the * screen and the world coordinates in the coord dialog. */ void coord_display_update(GSCHEM_TOPLEVEL *w_current, int x, int y) { char *string; int world_x, world_y; string = g_strdup_printf("(%d, %d)", x, y); gtk_label_set_text(GTK_LABEL(w_current->coord_screen), string ); g_free(string); SCREENtoWORLD (w_current, x, y, &world_x, &world_y); world_x = snap_grid (w_current, world_x); world_y = snap_grid (w_current, world_y); string = g_strdup_printf("(%d, %d)", world_x, world_y); gtk_label_set_text(GTK_LABEL(w_current->coord_world), string ); g_free(string); } /*! \brief Create the coord dialog * \par Function Description * This function creates the coord dialog box. */ void coord_dialog (GSCHEM_TOPLEVEL *w_current, int x, int y) { GtkWidget *frame; GtkWidget *vbox; if (!w_current->cowindow) { w_current->cowindow = gschem_dialog_new_with_buttons(_("Coords"), GTK_WINDOW(w_current->main_window), 0, /* Not modal GTK_DIALOG_MODAL */ "coord", w_current, GTK_STOCK_CLOSE, GTK_RESPONSE_REJECT, NULL); gtk_window_position (GTK_WINDOW (w_current->cowindow), GTK_WIN_POS_NONE); g_signal_connect (G_OBJECT (w_current->cowindow), "response", G_CALLBACK (coord_dialog_response), w_current); gtk_container_border_width (GTK_CONTAINER(w_current->cowindow), DIALOG_BORDER_SPACING); vbox = GTK_DIALOG(w_current->cowindow)->vbox; gtk_box_set_spacing(GTK_BOX(vbox), DIALOG_V_SPACING); frame = gtk_frame_new (_("Screen")); w_current->coord_screen = gtk_label_new("(########, ########)"); gtk_label_set_justify( GTK_LABEL(w_current->coord_screen), GTK_JUSTIFY_LEFT); gtk_misc_set_padding(GTK_MISC(w_current->coord_screen), DIALOG_H_SPACING, DIALOG_V_SPACING); gtk_container_add(GTK_CONTAINER (frame), w_current->coord_screen); gtk_box_pack_start(GTK_BOX (vbox), frame, FALSE, FALSE, 0); frame = gtk_frame_new (_("World")); w_current->coord_world = gtk_label_new ("(########, ########)"); gtk_misc_set_padding(GTK_MISC(w_current->coord_world), DIALOG_H_SPACING, DIALOG_V_SPACING); gtk_label_set_justify(GTK_LABEL(w_current->coord_world), GTK_JUSTIFY_LEFT); gtk_container_add(GTK_CONTAINER (frame), w_current->coord_world); gtk_box_pack_start(GTK_BOX (vbox), frame, FALSE, FALSE, 0); gtk_widget_show_all(w_current->cowindow); } else { /* window already creatad */ gtk_window_present(GTK_WINDOW(w_current->cowindow)); } /* always update the coords when the dialog is requested */ coord_display_update(w_current, x, y); } /***************** End of coord dialog box **************************/ /***************** Start of color edit dialog box *******************/ /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \warning * Caller must g_free returned character string. * */ char *index2functionstring(int index) { char *string; switch(index) { case(BACKGROUND_COLOR): string = g_strdup (_("Background")); break; case(PIN_COLOR): string = g_strdup (_("Pin")); break; case(NET_ENDPOINT_COLOR): string = g_strdup (_("Net endpoint")); break; case(GRAPHIC_COLOR): string = g_strdup (_("Graphic")); break; case(NET_COLOR): string = g_strdup (_("Net")); break; case(ATTRIBUTE_COLOR): string = g_strdup (_("Attribute")); break; case(LOGIC_BUBBLE_COLOR): string = g_strdup (_("Logic bubble")); break; case(DOTS_GRID_COLOR): string = g_strdup (_("Grid point")); break; case(DETACHED_ATTRIBUTE_COLOR): string = g_strdup (_("Detached attribute")); break; case(TEXT_COLOR): string = g_strdup (_("Text")); break; case(BUS_COLOR): string = g_strdup (_("Bus")); break; case(SELECT_COLOR): string = g_strdup (_("Selection")); break; case(BOUNDINGBOX_COLOR): string = g_strdup (_("Bounding box")); break; case(ZOOM_BOX_COLOR): string = g_strdup (_("Zoom box")); break; case(STROKE_COLOR): string = g_strdup (_("Stroke")); break; case(LOCK_COLOR): string = g_strdup (_("Lock")); break; case(OUTPUT_BACKGROUND_COLOR): string = g_strdup (_("Output background")); break; case(JUNCTION_COLOR): string = g_strdup (_("Net junction")); break; case(MESH_GRID_MAJOR_COLOR): string = g_strdup (_("Mesh grid major")); break; case(MESH_GRID_MINOR_COLOR): string = g_strdup (_("Mesh grid minor")); break; default: string = g_strdup (_("Unknown")); break; } return(string); } /*! \brief Cell layout data function for color combobox. * \par Function Description * Cell layout data function to support color swatches in the color * combobox. * * \param layout * \param cell * \param model * \param iter * \param data the current #GSCHEM_TOPLEVEL pointer. */ static void color_menu_swatch_layout_data (GtkCellLayout *layout, GtkCellRenderer *cell, GtkTreeModel *model, GtkTreeIter *iter, gpointer data) { /* GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL *) data; */ GValue v = {0, }; gint idx; /* Get the index of the color on this row */ gtk_tree_model_get_value (model, iter, 1, &v); idx = g_value_get_int (&v); /* Set the cell's background color */ g_object_set (cell, "background-gdk", x_get_color (idx), NULL); } /*! \brief Handle color combobox selection change event. * \par Function Description * Update application state to reflect color combobox selection * changes. * * \param widget * \param data the current #GSCHEM_TOPLEVEL pointer. */ static void color_menu_change_selection (GtkWidget *widget, gpointer data) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL *) data; GtkComboBox *cbox = GTK_COMBO_BOX (widget); gint idx; GtkTreeIter iter; GValue v = {0, }; if (!gtk_combo_box_get_active_iter (cbox, &iter)) { return; /* No color selected */ } gtk_tree_model_get_value (gtk_combo_box_get_model (cbox), &iter, 1, &v); idx = g_value_get_int (&v); /* Stash the selected color in the GSCHEM_TOPLEVEL. * FIXME this is ugly. */ w_current->edit_color = idx; } /*! \brief Create a ComboBox with the gschem colors. * \par Function Description * Creates a #GtkComboBox with the color list and swatches showing * each of the available colors. * * The backing #GtkTreeModel is a #GtkListStore with two columns, the * first holding the user-friendly name of the color, and the other * the color map index. * * \param [in] w_current The current gschem context. */ static GtkWidget * create_color_menu (GSCHEM_TOPLEVEL *w_current) { GtkListStore *store; GtkComboBox *cbox; GtkCellLayout *layout; GtkCellRenderer *text_cell; GtkCellRenderer *color_cell; gint i; gchar *str; OBJECT *obj; GtkTreeIter iter; obj = o_select_return_first_object (w_current); if (obj != NULL) w_current->edit_color = obj->color; /* The columns are: name of color, index of color. */ store = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_INT); cbox = GTK_COMBO_BOX (gtk_combo_box_new_with_model (GTK_TREE_MODEL (store))); layout = GTK_CELL_LAYOUT (cbox); /* For convenience */ /* Renders the color swatch. Since this won't contain text, set a * minimum width. */ color_cell = GTK_CELL_RENDERER (gtk_cell_renderer_text_new()); g_object_set (color_cell, "width", 25, NULL); gtk_cell_layout_pack_start (layout, color_cell, FALSE); gtk_cell_layout_set_cell_data_func (layout, color_cell, color_menu_swatch_layout_data, (gpointer) w_current, NULL); /* Renders the name of the color */ text_cell = GTK_CELL_RENDERER (gtk_cell_renderer_text_new()); g_object_set (text_cell, "xpad", 5, NULL); gtk_cell_layout_pack_start (layout, text_cell, TRUE); gtk_cell_layout_add_attribute (layout, text_cell, "text", 0); /* Populate the list */ for (i = 0; i < MAX_COLORS; i++) { /* Skip 'invalid' colors. */ if (!x_color_display_enabled(i)) continue; str = index2functionstring (i); gtk_list_store_append (store, &iter); gtk_list_store_set (store, &iter, 0, str, 1, i, -1); if (i == w_current->edit_color) gtk_combo_box_set_active_iter (cbox, &iter); } g_signal_connect (cbox, "changed", GTK_SIGNAL_FUNC (color_menu_change_selection), w_current); return GTK_WIDGET (cbox); } /*! \brief Apply a color change to selected objects * \par Function Description * This function applies a color change to the currently selected objects. */ void color_edit_dialog_apply(GtkWidget *w, GSCHEM_TOPLEVEL *w_current) { GList *s_current = NULL; OBJECT *object = NULL; s_current = geda_list_get_glist( w_current->toplevel->page_current->selection_list ); while(s_current != NULL) { object = (OBJECT *) s_current->data; if (object == NULL) { fprintf(stderr, _("ERROR: NULL object in color_edit_dialog_apply!\n")); exit(-1); } o_set_color (w_current->toplevel, object, w_current->edit_color); w_current->toplevel->page_current->CHANGED = 1; s_current = g_list_next(s_current); } o_undo_savestate(w_current, UNDO_ALL); } /*! \brief response function for the color edit dialog * \par Function Description * This function takes the user response from the color edit dialog */ void color_edit_dialog_response(GtkWidget *widget, gint response, GSCHEM_TOPLEVEL *w_current) { switch (response) { case GTK_RESPONSE_REJECT: case GTK_RESPONSE_DELETE_EVENT: gtk_widget_destroy(w_current->clwindow); w_current->clwindow = NULL; break; case GTK_RESPONSE_ACCEPT: color_edit_dialog_apply(widget, w_current); break; default: printf("ERROR: color_edit_dialog_response(): strange signal %d\n",response); } } /*! \brief Create the color edit dialog * \par Function Description * This function creates the color edit dialog */ void color_edit_dialog (GSCHEM_TOPLEVEL *w_current) { GtkWidget *optionmenu; GtkWidget *label; GtkWidget *vbox; if (!w_current->clwindow) { w_current->clwindow = gschem_dialog_new_with_buttons(_("Color Edit"), GTK_WINDOW(w_current->main_window), 0, /* nonmodal dialog */ "color-edit", w_current, GTK_STOCK_CLOSE, GTK_RESPONSE_REJECT, GTK_STOCK_APPLY, GTK_RESPONSE_ACCEPT, NULL); /* Set the alternative button order (ok, cancel, help) for other systems */ gtk_dialog_set_alternative_button_order(GTK_DIALOG(w_current->clwindow), GTK_RESPONSE_ACCEPT, GTK_RESPONSE_REJECT, -1); gtk_window_position (GTK_WINDOW (w_current->clwindow), GTK_WIN_POS_MOUSE); gtk_dialog_set_default_response (GTK_DIALOG (w_current->clwindow), GTK_RESPONSE_ACCEPT); g_signal_connect (G_OBJECT (w_current->clwindow), "response", G_CALLBACK (color_edit_dialog_response), w_current); gtk_container_border_width(GTK_CONTAINER(w_current->clwindow), DIALOG_BORDER_SPACING); vbox = GTK_DIALOG(w_current->clwindow)->vbox; gtk_box_set_spacing(GTK_BOX(vbox), DIALOG_V_SPACING); label = gtk_label_new(_("Object color:")); gtk_misc_set_alignment(GTK_MISC(label),0,0); gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); optionmenu = create_color_menu (w_current); gtk_box_pack_start(GTK_BOX(vbox), optionmenu, FALSE, FALSE, 0); gtk_widget_show_all(w_current->clwindow); } else { /* dialog already created */ gtk_window_present(GTK_WINDOW(w_current->clwindow)); } } /***************** End of color edit dialog box *********************/ /***************** Start of help/keymapping dialog box **************/ /*! \brief Response function for the hotkey dialog * \par Function Description * This function destroys the hotkey dialog and does some cleanup. */ void x_dialog_hotkeys_response(GtkWidget *w, gint response, GSCHEM_TOPLEVEL *w_current) { switch(response) { case GTK_RESPONSE_REJECT: case GTK_RESPONSE_DELETE_EVENT: /* void */ break; default: printf("x_dialog_hotkeys_response(): strange signal %d\n", response); } /* clean up */ gtk_widget_destroy(w_current->hkwindow); w_current->hkwindow = NULL; } /*! \brief Creates the hotkeys dialog * \par Function Description * This function creates the hotkey dialog and puts the list of hotkeys * into it. */ void x_dialog_hotkeys (GSCHEM_TOPLEVEL *w_current) { GtkWidget *vbox, *scrolled_win; GtkListStore *store; GtkWidget *treeview; GtkCellRenderer *renderer; GtkTreeViewColumn *column; if (!w_current->hkwindow) { w_current->hkwindow = gschem_dialog_new_with_buttons(_("Hotkeys"), GTK_WINDOW(w_current->main_window), 0, /* not modal */ "hotkeys", w_current, GTK_STOCK_CLOSE, GTK_RESPONSE_REJECT, NULL); gtk_window_position (GTK_WINDOW (w_current->hkwindow), GTK_WIN_POS_NONE); g_signal_connect (G_OBJECT (w_current->hkwindow), "response", G_CALLBACK (x_dialog_hotkeys_response), w_current); gtk_dialog_set_default_response(GTK_DIALOG(w_current->hkwindow), GTK_RESPONSE_ACCEPT); gtk_container_border_width (GTK_CONTAINER (w_current->hkwindow), DIALOG_BORDER_SPACING); gtk_widget_set_usize(w_current->hkwindow, 300,300); vbox = GTK_DIALOG(w_current->hkwindow)->vbox; gtk_box_set_spacing(GTK_BOX(vbox), DIALOG_V_SPACING); scrolled_win = gtk_scrolled_window_new (NULL, NULL); gtk_box_pack_start (GTK_BOX (vbox), scrolled_win, TRUE, TRUE, 0); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_win), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); /* the model */ store = g_keys_to_list_store (); /* the tree view */ treeview = gtk_tree_view_new_with_model(GTK_TREE_MODEL(store)); gtk_container_add(GTK_CONTAINER(scrolled_win), treeview); /* the columns */ renderer = gtk_cell_renderer_text_new (); column = gtk_tree_view_column_new_with_attributes (_("Function"), renderer, "text", 0, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); renderer = gtk_cell_renderer_text_new (); column = gtk_tree_view_column_new_with_attributes (_("Keystroke(s)"), renderer, "text", 1, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); /* show all recursively */ gtk_widget_show_all(w_current->hkwindow); } else { /* dialog already created */ gtk_window_present(GTK_WINDOW(w_current->hkwindow)); } } /***************** End of help/keymapping dialog box ****************/ /*********** Start of misc support functions for dialog boxes *******/ extern GtkWidget *stwindow; /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void x_dialog_raise_all(GSCHEM_TOPLEVEL *w_current) { if(w_current->sowindow) { gdk_window_raise(w_current->sowindow->window); } if(w_current->cswindow) { gdk_window_raise(w_current->cswindow->window); } if(w_current->iwindow) { gdk_window_raise(w_current->iwindow->window); } if(w_current->tiwindow) { gdk_window_raise(w_current->tiwindow->window); } if(w_current->tewindow) { gdk_window_raise(w_current->tewindow->window); } if(w_current->sewindow) { gdk_window_raise(w_current->sewindow->window); } if(w_current->aawindow) { gdk_window_raise(w_current->aawindow->window); } if(w_current->mawindow) { gdk_window_raise(w_current->mawindow->window); } if(w_current->aewindow) { gdk_window_raise(w_current->aewindow->window); } if(w_current->trwindow) { gdk_window_raise(w_current->trwindow->window); } if(w_current->tswindow) { gdk_window_raise(w_current->tswindow->window); } if(w_current->hkwindow) { gdk_window_raise(w_current->hkwindow->window); } if(w_current->cowindow) { gdk_window_raise(w_current->cowindow->window); } if(w_current->clwindow) { gdk_window_raise(w_current->clwindow->window); } } /*********** End of misc support functions for dialog boxes *******/ /***************** Start of generic message dialog box *******************/ /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void generic_msg_dialog (const char *msg) { GtkWidget *dialog; dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, "%s", msg); gtk_dialog_run (GTK_DIALOG (dialog)); gtk_widget_destroy (dialog); } /***************** End of generic message dialog box *********************/ /***************** Start of generic confirm dialog box *******************/ /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ int generic_confirm_dialog (const char *msg) { GtkWidget *dialog; gint r; dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_INFO, GTK_BUTTONS_OK_CANCEL, "%s", msg); r = gtk_dialog_run (GTK_DIALOG (dialog)); gtk_widget_destroy (dialog); if (r == GTK_RESPONSE_OK) return 1; else return 0; } /***************** End of generic confirm dialog box *********************/ /***************** Start of generic file select dialog box ***************/ /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \warning * Caller must g_free returned character string. */ char *generic_filesel_dialog (const char *msg, const char *templ, gint flags) { GtkWidget *dialog; gchar *result = NULL, *folder, *seed; char *title; static gchar *path = NULL; static gchar *shortcuts = NULL; /* Default to load if not specified. Maybe this should cause an error. */ if (! (flags & (FSB_LOAD | FSB_SAVE))) { flags = flags | FSB_LOAD; } if (flags & FSB_LOAD) { title = g_strdup_printf("%s: Open", msg); dialog = gtk_file_chooser_dialog_new (title, NULL, GTK_FILE_CHOOSER_ACTION_OPEN, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OPEN, GTK_RESPONSE_OK, NULL); /* Since this is a load dialog box, the file must exist! */ flags = flags | FSB_MUST_EXIST; } else { title = g_strdup_printf("%s: Save", msg); dialog = gtk_file_chooser_dialog_new (title, NULL, GTK_FILE_CHOOSER_ACTION_SAVE, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OPEN, GTK_RESPONSE_OK, NULL); } /* Set the alternative button order (ok, cancel, help) for other systems */ gtk_dialog_set_alternative_button_order(GTK_DIALOG(dialog), GTK_RESPONSE_OK, GTK_RESPONSE_CANCEL, -1); gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK); /* Pick the current default folder to look for files in */ if (path && *path) { gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (dialog), path); } /* Pick the current template (*.rc) or default file name */ if (templ && *templ) { if (flags & FSB_SAVE) { gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER (dialog), templ); } else { gtk_file_chooser_select_filename (GTK_FILE_CHOOSER (dialog), templ); } } if (shortcuts && *shortcuts) { printf ("shortcuts = \"%s\"\n", shortcuts); folder = g_strdup (shortcuts); seed = folder; while ((folder = strtok (seed, ":")) != NULL) { gtk_file_chooser_add_shortcut_folder (GTK_FILE_CHOOSER (dialog), folder, NULL); seed = NULL; } g_free (folder); } if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_OK) { result = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog)); folder = gtk_file_chooser_get_current_folder (GTK_FILE_CHOOSER (dialog)); /*! \bug FIXME if (folder && path) { dup_string (path, folder); g_free (folder); } */ } gtk_widget_destroy (dialog); g_free (title); return result; } /***************** End of generic file select dialog box *****************/ /*********** Start of find text dialog box *******/ int start_find; PAGE *remember_page; /*! \brief response function for the find text dialog * \par Function Description * This function takes the string the user likes to find and searches it * in the schematic. */ void find_text_dialog_response(GtkWidget *w, gint response, GSCHEM_TOPLEVEL *w_current) { TOPLEVEL *toplevel = w_current->toplevel; GtkWidget *textentry; GtkWidget *checkdescend; gchar *string; gint done=0, close=0; switch (response) { case GTK_RESPONSE_ACCEPT: textentry = g_object_get_data(G_OBJECT(w_current->tfindwindow),"textentry"); string = (gchar*) gtk_entry_get_text(GTK_ENTRY(textentry)); checkdescend = g_object_get_data(G_OBJECT(w_current->tfindwindow),"checkdescend"); strncpy(generic_textstring, string, sizeof(generic_textstring)-1); generic_textstring[sizeof(generic_textstring)-1] = '\0'; if (remember_page != toplevel->page_current) { s_page_goto(toplevel, remember_page); } done = o_edit_find_text (w_current, s_page_objects (remember_page), string, gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (checkdescend)), !start_find); if (done) { o_invalidate_all (w_current); close = 1; } start_find = 0; break; case GTK_RESPONSE_REJECT: case GTK_RESPONSE_DELETE_EVENT: close = 1; break; default: printf("find_text_dialog_response(): strange signal %d\n", response); } if (close) { gtk_widget_destroy(w_current->tfindwindow); w_current->tfindwindow = NULL; } } /*! \brief Create the text find dialog * \par Function Description * This function creates the text find dialog. */ void find_text_dialog(GSCHEM_TOPLEVEL *w_current) { GtkWidget *label = NULL; GtkWidget *vbox; GtkWidget *checkdescend; GtkWidget *textentry; OBJECT *object = NULL; start_find = 1; remember_page = w_current->toplevel->page_current; if ((object = o_select_return_first_object(w_current)) != NULL) { if (object->type == OBJ_TEXT) { strncpy (generic_textstring, o_text_get_string (w_current->toplevel, object), sizeof(generic_textstring)-1); generic_textstring[sizeof(generic_textstring)-1] = '\0'; } } if (!w_current->tfindwindow) { w_current->tfindwindow = gschem_dialog_new_with_buttons(_("Find Text"), GTK_WINDOW(w_current->main_window), 0, /* not modal GTK_DIALOG_MODAL */ "find-text", w_current, GTK_STOCK_CLOSE, GTK_RESPONSE_REJECT, GTK_STOCK_FIND, GTK_RESPONSE_ACCEPT, NULL); /* Set the alternative button order (ok, cancel, help) for other systems */ gtk_dialog_set_alternative_button_order(GTK_DIALOG(w_current->tfindwindow), GTK_RESPONSE_ACCEPT, GTK_RESPONSE_REJECT, -1); gtk_window_position(GTK_WINDOW(w_current->tfindwindow), GTK_WIN_POS_MOUSE); g_signal_connect (G_OBJECT (w_current->tfindwindow), "response", G_CALLBACK (find_text_dialog_response), w_current); gtk_dialog_set_default_response(GTK_DIALOG(w_current->tfindwindow), GTK_RESPONSE_ACCEPT); gtk_container_border_width(GTK_CONTAINER(w_current->tfindwindow), DIALOG_BORDER_SPACING); vbox = GTK_DIALOG(w_current->tfindwindow)->vbox; gtk_box_set_spacing(GTK_BOX(vbox), DIALOG_V_SPACING); label = gtk_label_new(_("Text to find:")); gtk_misc_set_alignment(GTK_MISC(label), 0, 0); gtk_box_pack_start(GTK_BOX(vbox), label, TRUE, TRUE, 0); textentry = gtk_entry_new_with_max_length(20); gtk_editable_select_region(GTK_EDITABLE(textentry), 0, -1); gtk_box_pack_start(GTK_BOX(vbox), textentry, FALSE, FALSE, 0); gtk_entry_set_activates_default(GTK_ENTRY(textentry), TRUE); gtk_widget_grab_focus(textentry); checkdescend = gtk_check_button_new_with_label(_("descend into hierarchy")); gtk_box_pack_start(GTK_BOX(vbox), checkdescend, TRUE, TRUE, 0); GLADE_HOOKUP_OBJECT(w_current->tfindwindow, textentry, "textentry"); GLADE_HOOKUP_OBJECT(w_current->tfindwindow, checkdescend, "checkdescend"); gtk_widget_show_all(w_current->tfindwindow); } else { /* dialog already created */ gtk_window_present(GTK_WINDOW(w_current->tfindwindow)); } /* always select the text string in the entry */ textentry = g_object_get_data (G_OBJECT (w_current->tfindwindow), "textentry"); gtk_entry_set_text(GTK_ENTRY(textentry), generic_textstring); gtk_entry_select_region(GTK_ENTRY(textentry), 0, -1); } /*********** End of find text dialog box *******/ /*********** Start of hide text dialog box *******/ /*! \brief Response function for the hide text dialog * \par Function Description * This is the response function of the hide text dialog. It takes the user input * and hides all text elements that starts with the searchtext. */ void hide_text_dialog_response(GtkWidget *w, gint response, GSCHEM_TOPLEVEL *w_current) { GtkWidget *textentry; gchar *string; switch (response) { case GTK_RESPONSE_ACCEPT: textentry = g_object_get_data(G_OBJECT(w_current->thidewindow),"textentry"); string = (gchar*) gtk_entry_get_text(GTK_ENTRY(textentry)); strncpy(generic_textstring, string, sizeof(generic_textstring)-1); generic_textstring[sizeof(generic_textstring)-1] = '\0'; o_edit_hide_specific_text (w_current, s_page_objects (w_current->toplevel->page_current), string); break; case GTK_RESPONSE_REJECT: case GTK_RESPONSE_DELETE_EVENT: gtk_widget_destroy(w_current->thidewindow); w_current->thidewindow = NULL; break; default: printf("show_text_dialog_response(): strange signal %d\n",response); } } /*! \brief Creates the hide text dialog * \par Function Description * This function creates the hide text dialog. */ void hide_text_dialog(GSCHEM_TOPLEVEL * w_current) { GtkWidget *label = NULL; GtkWidget *textentry; GtkWidget *vbox; if (!w_current->thidewindow) { w_current->thidewindow = gschem_dialog_new_with_buttons(_("Hide Text"), GTK_WINDOW(w_current->main_window), 0, /* not modal GTK_DIALOG_MODAL, */ "hide-text", w_current, GTK_STOCK_CLOSE, GTK_RESPONSE_REJECT, GTK_STOCK_APPLY, GTK_RESPONSE_ACCEPT, NULL); /* Set the alternative button order (ok, cancel, help) for other systems */ gtk_dialog_set_alternative_button_order(GTK_DIALOG(w_current->thidewindow), GTK_RESPONSE_ACCEPT, GTK_RESPONSE_REJECT, -1); gtk_window_position(GTK_WINDOW(w_current->thidewindow), GTK_WIN_POS_MOUSE); g_signal_connect (G_OBJECT (w_current->thidewindow), "response", G_CALLBACK (hide_text_dialog_response), w_current); gtk_dialog_set_default_response(GTK_DIALOG(w_current->thidewindow), GTK_RESPONSE_ACCEPT); gtk_container_border_width(GTK_CONTAINER(w_current->thidewindow), DIALOG_BORDER_SPACING); vbox = GTK_DIALOG(w_current->thidewindow)->vbox; gtk_box_set_spacing(GTK_BOX(vbox), DIALOG_V_SPACING); label = gtk_label_new(_("Hide text starting with:")); gtk_misc_set_alignment(GTK_MISC(label), 0, 0); gtk_box_pack_start(GTK_BOX(vbox), label, TRUE, TRUE, 0); textentry = gtk_entry_new_with_max_length(20); gtk_box_pack_start(GTK_BOX(vbox), textentry, FALSE, FALSE, 0); gtk_entry_set_activates_default(GTK_ENTRY(textentry), TRUE); gtk_widget_grab_focus(textentry); GLADE_HOOKUP_OBJECT(w_current->thidewindow, textentry, "textentry"); gtk_widget_show_all(w_current->thidewindow); } else { /* dialog already created, just select it */ gtk_window_present(GTK_WINDOW(w_current->thidewindow)); } /* always select the text in the search entry */ textentry = g_object_get_data (G_OBJECT (w_current->thidewindow), "textentry"); gtk_entry_set_text(GTK_ENTRY(textentry), generic_textstring); gtk_entry_select_region(GTK_ENTRY(textentry), 0, -1); } /*********** End of hide text dialog box *******/ /*********** Start of show text dialog box *******/ /*! \brief Response function for the show text dialog * \par Function Description * This function takes the users input and searches all strings starting with * the given search text and hides those text objects. */ void show_text_dialog_response(GtkWidget *widget, gint response, GSCHEM_TOPLEVEL *w_current) { GtkWidget *textentry; gchar *string; switch (response) { case GTK_RESPONSE_ACCEPT: textentry = g_object_get_data(G_OBJECT(w_current->tshowwindow),"textentry"); string = (gchar*) gtk_entry_get_text(GTK_ENTRY(textentry)); strncpy(generic_textstring, string, sizeof(generic_textstring)-1); generic_textstring[sizeof(generic_textstring)-1] = '\0'; o_edit_show_specific_text (w_current, s_page_objects (w_current->toplevel->page_current), string); break; case GTK_RESPONSE_REJECT: case GTK_RESPONSE_DELETE_EVENT: gtk_widget_destroy(w_current->tshowwindow); w_current->tshowwindow = NULL; break; default: printf("show_text_dialog_response(): strange signal %d\n",response); } } /*! \brief Create the show text dialog. * \par Function Description * This function creates the show text dialog. */ void show_text_dialog(GSCHEM_TOPLEVEL * w_current) { GtkWidget *label = NULL; GtkWidget *textentry; GtkWidget *vbox; if (!w_current->tshowwindow) { w_current->tshowwindow = gschem_dialog_new_with_buttons(_("Show Text"), GTK_WINDOW(w_current->main_window), 0, /* not modal GTK_DIALOG_MODAL, */ "show-text", w_current, GTK_STOCK_CLOSE, GTK_RESPONSE_REJECT, GTK_STOCK_APPLY, GTK_RESPONSE_ACCEPT, NULL); /* Set the alternative button order (ok, cancel, help) for other systems */ gtk_dialog_set_alternative_button_order(GTK_DIALOG(w_current->tshowwindow), GTK_RESPONSE_ACCEPT, GTK_RESPONSE_REJECT, -1); gtk_window_position(GTK_WINDOW(w_current->tshowwindow), GTK_WIN_POS_MOUSE); g_signal_connect (G_OBJECT (w_current->tshowwindow), "response", G_CALLBACK (show_text_dialog_response), w_current); gtk_dialog_set_default_response(GTK_DIALOG(w_current->tshowwindow), GTK_RESPONSE_ACCEPT); gtk_container_border_width(GTK_CONTAINER(w_current->tshowwindow), DIALOG_BORDER_SPACING); vbox = GTK_DIALOG(w_current->tshowwindow)->vbox; gtk_box_set_spacing(GTK_BOX(vbox), DIALOG_V_SPACING); label = gtk_label_new(_("Show text starting with:")); gtk_misc_set_alignment(GTK_MISC(label), 0, 0); gtk_box_pack_start(GTK_BOX(vbox), label, TRUE, TRUE, 0); textentry = gtk_entry_new_with_max_length(20); gtk_box_pack_start(GTK_BOX(vbox), textentry, FALSE, FALSE, 0); gtk_entry_set_activates_default(GTK_ENTRY(textentry), TRUE); gtk_widget_grab_focus(textentry); GLADE_HOOKUP_OBJECT(w_current->tshowwindow, textentry, "textentry"); gtk_widget_show_all(w_current->tshowwindow); } else { /* dialog already created. Show it */ gtk_window_present(GTK_WINDOW(w_current->tshowwindow)); } /* always select the text in the entry */ textentry = g_object_get_data (G_OBJECT (w_current->tshowwindow), "textentry"); gtk_entry_set_text(GTK_ENTRY(textentry), generic_textstring); gtk_entry_select_region(GTK_ENTRY(textentry), 0, -1); } /*********** End of show text dialog box *******/ /*********** Start of some Gtk utils *******/ /*! \brief Selects all text in a TextView widget * \par Function Description * The function selects all the text in a TextView widget. */ void select_all_text_in_textview(GtkTextView *textview) { GtkTextBuffer *textbuffer; GtkTextIter start, end; textbuffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(textview)); gtk_text_buffer_get_bounds (textbuffer, &start, &end); gtk_text_buffer_select_range(textbuffer, &start, &end); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ int text_view_calculate_real_tab_width(GtkTextView *textview, int tab_size) { PangoLayout *layout; gchar *tab_string; gint tab_width = 0; if (tab_size == 0) return -1; tab_string = g_strnfill (tab_size, ' '); layout = gtk_widget_create_pango_layout ( GTK_WIDGET (textview), tab_string); g_free (tab_string); if (layout != NULL) { pango_layout_get_pixel_size (layout, &tab_width, NULL); g_object_unref (G_OBJECT (layout)); } else tab_width = -1; return tab_width; } /*********** End of some Gtk utils *******/ /*********** Start of major symbol changed dialog box *******/ /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void major_changed_dialog(GSCHEM_TOPLEVEL* w_current) { GtkWidget* dialog; char* refdes_string = NULL; char* tmp; if (w_current->toplevel->major_changed_refdes) { GList* current = w_current->toplevel->major_changed_refdes; while (current) { char *value = (char*) current->data; if (!refdes_string) { refdes_string = g_strdup (value); } else { tmp = g_strconcat (refdes_string, "\n", value, NULL); g_free(refdes_string); refdes_string = tmp; } current = g_list_next(current); } tmp = g_strconcat (refdes_string, "\n\nBe sure to verify each of these symbols!", NULL); g_free(refdes_string); refdes_string = tmp; dialog = gtk_message_dialog_new ((GtkWindow*) w_current->main_window, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, "Major symbol changes detected in refdes:\n\n%s\n", refdes_string); gtk_widget_show(dialog); g_signal_connect_swapped (dialog, "response", G_CALLBACK (gtk_widget_destroy), dialog); g_free(refdes_string); } } /*********** End of major symbol changed dialog box *******/ /***************** Start of Close Confirmation dialog box ************/ #define TYPE_CLOSE_CONFIRMATION_DIALOG (close_confirmation_dialog_get_type ()) #define CLOSE_CONFIRMATION_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CLOSE_CONFIRMATION_DIALOG, CloseConfirmationDialog)) #define CLOSE_CONFIRMATION_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CLOSE_CONFIRMATION_DIALOG, CloseConfirmationDialogClass)) #define IS_CLOSE_CONFIRMATION_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CLOSE_CONFIRMATION_DIALOG)) #define IS_CLOSE_CONFIRMATION_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CLOSE_CONFIRMATION_DIALOG)) #define CLOSE_CONFIRMATION_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj),TYPE_CLOSE_CONFIRMATION_DIALOG, CloseConfirmationDialogClass)) typedef struct _CloseConfirmationDialog CloseConfirmationDialog; typedef struct _CloseConfirmationDialogClass CloseConfirmationDialogClass; struct _CloseConfirmationDialog { GtkDialog parent; GtkListStore *store_unsaved_pages; }; struct _CloseConfirmationDialogClass { GtkDialogClass parent_class; }; enum { PROP_UNSAVED_PAGE=1, PROP_UNSAVED_PAGES, PROP_SELECTED_PAGES }; enum { COLUMN_SAVE, COLUMN_PAGE, NUM_COLUMNS }; static gpointer close_confirmation_dialog_parent_class = NULL; static void close_confirmation_dialog_class_init (CloseConfirmationDialogClass *klass); static void close_confirmation_dialog_init (CloseConfirmationDialog *self); static void close_confirmation_dialog_set_property (GObject *object, guint property_id, const GValue *value, GParamSpec *pspec); static void close_confirmation_dialog_get_property (GObject *object, guint property_id, GValue *value, GParamSpec *pspec); static GObject* close_confirmation_dialog_constructor (GType type, guint n_construct_properties, GObjectConstructParam *construct_params); GList *close_confirmation_dialog_get_selected_pages (CloseConfirmationDialog *dialog); GType close_confirmation_dialog_get_type () { static GType close_confirmation_dialog_type = 0; if (!close_confirmation_dialog_type) { static const GTypeInfo close_confirmation_dialog_info = { sizeof(CloseConfirmationDialogClass), NULL, /* base_init */ NULL, /* base_finalize */ (GClassInitFunc) close_confirmation_dialog_class_init, NULL, /* class_finalize */ NULL, /* class_data */ sizeof(CloseConfirmationDialog), 0, /* n_preallocs */ (GInstanceInitFunc) close_confirmation_dialog_init, }; close_confirmation_dialog_type = g_type_register_static (GTK_TYPE_DIALOG, "CloseConfirmationDialog", &close_confirmation_dialog_info, 0); } return close_confirmation_dialog_type; } static void close_confirmation_dialog_class_init (CloseConfirmationDialogClass *klass) { GObjectClass *gobject_class = G_OBJECT_CLASS (klass); close_confirmation_dialog_parent_class = g_type_class_peek_parent (klass); gobject_class->constructor = close_confirmation_dialog_constructor; gobject_class->set_property = close_confirmation_dialog_set_property; gobject_class->get_property = close_confirmation_dialog_get_property; g_object_class_install_property ( gobject_class, PROP_UNSAVED_PAGE, g_param_spec_pointer ("unsaved-page", "", "", G_PARAM_CONSTRUCT_ONLY | G_PARAM_WRITABLE)); g_object_class_install_property ( gobject_class, PROP_UNSAVED_PAGES, g_param_spec_pointer ("unsaved-pages", "", "", G_PARAM_CONSTRUCT_ONLY | G_PARAM_WRITABLE)); g_object_class_install_property ( gobject_class, PROP_SELECTED_PAGES, g_param_spec_pointer ("selected-pages", "", "", G_PARAM_READABLE)); } static void close_confirmation_dialog_init (CloseConfirmationDialog *self) { /* create model for treeview and populate */ self->store_unsaved_pages = gtk_list_store_new (NUM_COLUMNS, G_TYPE_BOOLEAN, /* save? */ G_TYPE_POINTER); /* page */ } /*! \brief Returns the number of pages in the model. * \par Function Description * This function determines the number of pages with unsaved changes * from the model. * * \param [in] model The tree model. * \returns The number of pages with unsaved changes. */ static gint count_pages (GtkTreeModel *model) { GtkTreeIter iter; gint n_pages; gtk_tree_model_get_iter_first (model, &iter); for (n_pages = 1; gtk_tree_model_iter_next (model, &iter); n_pages++); return n_pages; } /*! \brief Returns the name to use for the given page in the model. * \par Function Description * This function determines the text to be used to identify a * specific page from the model of pages with unsaved changes. * * If piter is NULL, the name for the first page of the model * is returned. Otherwise, it returns the name for the page defined * by the pointed iterator. * * The returned value must be freed by caller. * * \param [in] model The tree model. * \param [in] piter A pointer on a GtkTreeIter of model or NULL. * \returns The name for the page. */ static gchar* get_page_name (GtkTreeModel *model, GtkTreeIter *piter) { GtkTreeIter iter; PAGE *page; g_return_val_if_fail (GTK_IS_TREE_MODEL (model), NULL); if (piter == NULL) { gtk_tree_model_get_iter_first (model, &iter); } else { iter = *piter; } gtk_tree_model_get (model, &iter, COLUMN_PAGE, &page, -1); g_assert (page != NULL && page->page_filename != NULL); return g_path_get_basename (page->page_filename); } /*! \brief Sets the contents of the name cell in the treeview of dialog. * \par Function Description * This functions sets the cell of the treeview with the short name * of the page obtained with get_page_name(). * * \param [in] tree_column A GtkTreeColumn. * \param [in] cell The GtkCellRenderer that is being rendered by * tree_column. * \param [in] tree_model The GtkTreeModel being rendered. * \param [in] iter A GtkTreeIter of the current row rendered. * \param [in] data . */ static void close_confirmation_dialog_set_page_name (GtkTreeViewColumn *tree_column, GtkCellRenderer *cell, GtkTreeModel *tree_model, GtkTreeIter *iter, gpointer data) { gchar *page_name; page_name = get_page_name (tree_model, iter); g_object_set (cell, "text", page_name, NULL); g_free (page_name); } /*! \brief Callback function for the toggled signal of check box in treeview. * \par Function Description * This functions changes the value of the save column in the model * for the affected row when user toggles the check box in the * treeview. * * \param [in] cell_renderer The GtkCellRendererToggle. * \param [in] path The GtkTreePath to the concerned row in model. * \param [in] user_data The dialog as user data. */ static void close_confirmation_dialog_callback_renderer_toggled (GtkCellRendererToggle *cell_renderer, gchar *path, gpointer user_data) { CloseConfirmationDialog *dialog = CLOSE_CONFIRMATION_DIALOG (user_data); GtkTreeModel *model; GtkTreeIter iter; gboolean save; model = GTK_TREE_MODEL (dialog->store_unsaved_pages); if (!gtk_tree_model_get_iter_from_string (model, &iter, path)) { return; } gtk_tree_model_get (model, &iter, COLUMN_SAVE, &save, -1); gtk_list_store_set (GTK_LIST_STORE (model), &iter, COLUMN_SAVE, (save != TRUE), -1); } /*! \brief Adds a treeview to confirmation dialog for selecting of pages. * \par Function Description * This function adds a treeview and caption to display the content * of the dialog model of pages with unsaved changes. * * The treeview displays the page names with check boxes. * * \param [in] dialog The dialog. * \returns A pointer on the GtkVBox to add to dialog. */ static GtkWidget* close_confirmation_dialog_build_page_list (CloseConfirmationDialog *dialog) { GtkWidget *vbox, *scrolled_window, *treeview, *label; GtkCellRenderer *renderer; GtkTreeViewColumn *column; const gchar *text; /* place the treeview and its caption into their own box */ vbox = GTK_WIDGET (g_object_new (GTK_TYPE_VBOX, /* GtkBox */ "homogeneous", FALSE, "spacing", 8, NULL)); /* the list of pages with changes */ /* - scrolled window as container for the treeview first */ scrolled_window = GTK_WIDGET (g_object_new (GTK_TYPE_SCROLLED_WINDOW, /* GtkScrolledWindow */ "hscrollbar-policy", GTK_POLICY_AUTOMATIC, "vscrollbar-policy", GTK_POLICY_AUTOMATIC, "shadow-type", GTK_SHADOW_IN, NULL)); /* - then the treeview */ /* create model for treeview and populate */ treeview = GTK_WIDGET (g_object_new (GTK_TYPE_TREE_VIEW, /* GtkTreeView */ "enable-search", FALSE, "headers-visible", FALSE, "model", dialog->store_unsaved_pages, NULL)); renderer = gtk_cell_renderer_toggle_new (); g_signal_connect (renderer, "toggled", G_CALLBACK ( close_confirmation_dialog_callback_renderer_toggled), dialog); column = gtk_tree_view_column_new_with_attributes ("Save?", renderer, "active", COLUMN_SAVE, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column); renderer = gtk_cell_renderer_text_new (); column = GTK_TREE_VIEW_COLUMN ( g_object_new (GTK_TYPE_TREE_VIEW_COLUMN, /* GtkTreeViewColumn */ "title", _("Name"), NULL)); gtk_tree_view_column_pack_start (column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func (column, renderer, close_confirmation_dialog_set_page_name, NULL, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column); gtk_container_add (GTK_CONTAINER (scrolled_window), treeview); gtk_box_pack_end (GTK_BOX (vbox), scrolled_window, TRUE, TRUE, 0); /* the caption label above the list of pages */ label = GTK_WIDGET (g_object_new (GTK_TYPE_LABEL, /* GtkMisc */ "xalign", 0.0, "yalign", 0.0, /* GtkLabel */ "wrap", TRUE, "mnemonic-widget", treeview, NULL)); text = _("S_elect the schematics you want to save:"); gtk_label_set_text_with_mnemonic (GTK_LABEL (label), text); gtk_label_set_mnemonic_widget (GTK_LABEL (label), treeview); gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0); return vbox; } static GObject* close_confirmation_dialog_constructor (GType type, guint n_construct_properties, GObjectConstructParam *construct_params) { GObject *object; CloseConfirmationDialog *dialog; GtkWidget *hbox, *image, *vbox, *label; GtkTreeIter iter; gboolean ret, single_page; gchar *tmp, *str; const gchar *cstr; /* chain up to constructor of parent class */ object = G_OBJECT_CLASS (close_confirmation_dialog_parent_class)->constructor ( type, n_construct_properties, construct_params); dialog = CLOSE_CONFIRMATION_DIALOG (object); g_object_set (dialog, /* GtkDialog */ "has-separator", FALSE, /* GtkWindow */ "resizable", FALSE, "skip-taskbar-hint", TRUE, /* GtkContainer */ "border-width", 5, NULL); g_object_set (GTK_DIALOG (dialog)->vbox, /* GtkBox */ "spacing", 14, NULL); g_object_set (GTK_DIALOG (dialog)->action_area, /* GtkBox */ "spacing", 6, /* GtkContainer */ "border-width", 5, NULL); /* check if there is one or more than one page with changes */ ret = gtk_tree_model_get_iter_first (GTK_TREE_MODEL ( dialog->store_unsaved_pages), &iter); g_assert (ret); single_page = !gtk_tree_model_iter_next (GTK_TREE_MODEL ( dialog->store_unsaved_pages), &iter); /* here starts the layout of the dialog */ hbox = GTK_WIDGET (g_object_new (GTK_TYPE_HBOX, /* GtkContainer */ "border-width", 5, /* GtkBox */ "homogeneous", FALSE, "spacing", 12, NULL)); /* warning image */ image = g_object_new (GTK_TYPE_IMAGE, /* GtkMisc */ "xalign", 0.5, "yalign", 0.0, /* GtkImage */ "stock", GTK_STOCK_DIALOG_WARNING, "icon-size", GTK_ICON_SIZE_DIALOG, NULL); gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, FALSE, 0); /* vertical box on the right hand side of the dialog */ vbox = GTK_WIDGET (g_object_new (GTK_TYPE_VBOX, /* GtkBox */ "homogeneous", FALSE, "spacing", 12, NULL)); /* primary label */ if (single_page) { /* single page */ gchar *page_name; page_name = get_page_name (GTK_TREE_MODEL (dialog->store_unsaved_pages), NULL); tmp = g_strdup_printf ( _("Save the changes to schematic \"%s\" before closing?"), page_name); g_free (page_name); } else { /* multi page */ tmp = g_strdup_printf ( _("There are %d schematics with unsaved changes. " "Save changes before closing?"), count_pages (GTK_TREE_MODEL (dialog->store_unsaved_pages))); } str = g_strconcat ("", tmp, "", NULL); g_free (tmp); label = GTK_WIDGET (g_object_new (GTK_TYPE_LABEL, /* GtkMisc */ "xalign", 0.0, "yalign", 0.0, "selectable", TRUE, /* GtkLabel */ "wrap", TRUE, "use-markup", TRUE, "label", str, NULL)); g_free (str); gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0); if (!single_page) { /* more than one page with changes, display each page and offer */ /* the opportunity to save them before exiting */ gtk_box_pack_start (GTK_BOX (vbox), close_confirmation_dialog_build_page_list (dialog), FALSE, FALSE, 0); } /* secondary label */ cstr = _("If you don't save, all your changes will be permanently lost."); label = GTK_WIDGET (g_object_new (GTK_TYPE_LABEL, /* GtkMisc */ "xalign", 0.0, "yalign", 0.0, "selectable", TRUE, /* GtkLabel */ "wrap", TRUE, "label", cstr, NULL)); gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), vbox, FALSE, FALSE, 0); /* add buttons to dialog action area */ gtk_dialog_add_buttons (GTK_DIALOG (dialog), _("_Close without saving"), GTK_RESPONSE_NO, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_SAVE, GTK_RESPONSE_YES, NULL); /* Set the alternative button order (ok, cancel, help) for other systems */ gtk_dialog_set_alternative_button_order(GTK_DIALOG(dialog), GTK_RESPONSE_YES, GTK_RESPONSE_NO, GTK_RESPONSE_CANCEL, -1); gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_YES); /* all done, let's show the contents of the dialog */ gtk_widget_show_all (hbox); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), hbox, FALSE, FALSE, 0); return object; } static void close_confirmation_dialog_set_property (GObject *object, guint property_id, const GValue *value, GParamSpec *pspec) { CloseConfirmationDialog *dialog = CLOSE_CONFIRMATION_DIALOG (object); GtkTreeIter iter; gpointer data; GList *p_current; switch(property_id) { case PROP_UNSAVED_PAGE: data = g_value_get_pointer (value); if (data != NULL) { /* add single page to model */ gtk_list_store_append (dialog->store_unsaved_pages, &iter); gtk_list_store_set (dialog->store_unsaved_pages, &iter, COLUMN_SAVE, TRUE, COLUMN_PAGE, data, -1); } break; case PROP_UNSAVED_PAGES: data = g_value_get_pointer (value); /* add set of pages to model */ for (p_current = (GList*)data; p_current != NULL; p_current = g_list_next (p_current)) { gtk_list_store_append (dialog->store_unsaved_pages, &iter); gtk_list_store_set (dialog->store_unsaved_pages, &iter, COLUMN_SAVE, TRUE, COLUMN_PAGE, p_current->data, -1); } break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); } } static void close_confirmation_dialog_get_property (GObject *object, guint property_id, GValue *value, GParamSpec *pspec) { CloseConfirmationDialog *dialog = CLOSE_CONFIRMATION_DIALOG (object); switch(property_id) { case PROP_SELECTED_PAGES: g_value_set_pointer ( value, close_confirmation_dialog_get_selected_pages (dialog)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); } } /*! \brief Helps building a list of selected page to save. * \par Function Description * This is the GtkTreeModelForeachFunc for function * close_confirmation_dialog_get_selected_pages(). * * It builds from the tree model a list of PAGEs for which a save * action has been requested. Each selected page is appended to the * GList pointed by data * * \param [in] model The tree model. * \param [in] path . * \param [in] iter . * \param [in] data A pointer on a GList* to fill. * \returns FALSE to continue walking the tree. */ static gboolean get_selected_pages (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer data) { PAGE *page; gboolean save; gtk_tree_model_get (model, iter, COLUMN_SAVE, &save, COLUMN_PAGE, &page, -1); if (save) { g_assert (page != NULL); *(GList**)data = g_list_append (*(GList**)data, page); } return FALSE; } /*! \brief Returns a list of the selected pages with changes to save. * \par Function Description * This function returns the pages that the user has selected in the * confirmation dialog. * * The returned list must be freed. * * \param [in] dialog The dialog. * \returns A GList of selected PAGE* in dialog. */ GList* close_confirmation_dialog_get_selected_pages (CloseConfirmationDialog *dialog) { GList *selected = NULL; gtk_tree_model_foreach (GTK_TREE_MODEL (dialog->store_unsaved_pages), (GtkTreeModelForeachFunc)get_selected_pages, &selected); return selected; } /*! \brief Asks for confirmation before closing a changed page. * \par Function Description * This function asks the user to confirm its closing order for * page page while it still has unsaved changes. * * It displays a message dialog inviting the user to cancel the * closing, or to discard the changes or to save the changes to a * file. * * \param [in] w_current The toplevel environment. * \param [in] page The page to close. */ void x_dialog_close_changed_page (GSCHEM_TOPLEVEL *w_current, PAGE *page) { GtkWidget *dialog; PAGE *keep_page; g_return_if_fail (page != NULL && page->CHANGED); keep_page = w_current->toplevel->page_current; dialog = GTK_WIDGET (g_object_new (TYPE_CLOSE_CONFIRMATION_DIALOG, "unsaved-page", page, NULL)); /* set default response signal. This is usually triggered by the "Return" key */ gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_YES); switch (gtk_dialog_run (GTK_DIALOG (dialog))) { case GTK_RESPONSE_NO: /* action selected: close without saving */ /* close the page, discard changes */ x_window_close_page (w_current, page); break; case GTK_RESPONSE_YES: /* action selected: save */ s_page_goto (w_current->toplevel, page); i_callback_file_save(w_current, 0, NULL); /* has the page been really saved? */ if (!page->CHANGED) { x_window_close_page (w_current, page); } /* no, user has cancelled the save and page has changes */ /* do not close page */ break; case GTK_RESPONSE_CANCEL: /* action selected: cancel */ /* fall through */ default: /* Hit when the user breaks out of the dialog with the escape key * or otherwise destroys the dialog window without a proper response */ /* nothing to do */ break; } gtk_widget_destroy (dialog); /* Switch back to the page we were on if it wasn't the one being closed */ g_return_if_fail (keep_page != NULL); if (keep_page != page) s_page_goto (w_current->toplevel, keep_page); } /*! \brief Asks for confirmation before closing a window. * \par Function Description * This function asks the user to confirm its closing order for * the given window. * * The user is given the possibility to save the pages that currently * have unsaved changes, if any. * * It returns TRUE if the user really accepts the close of the * window. Otherwise the user has somehow cancelled and the window * must not be closed. * * \param [in] w_current The toplevel environment. * \returns TRUE if the window can be closed, FALSE otherwise. */ gboolean x_dialog_close_window (GSCHEM_TOPLEVEL *w_current) { TOPLEVEL *toplevel = w_current->toplevel; GList *iter; GtkWidget *dialog; PAGE *p_current; PAGE *keep_page; GList *unsaved_pages, *p_unsaved; gboolean ret = FALSE; keep_page = toplevel->page_current; for ( iter = geda_list_get_glist( toplevel->pages ), unsaved_pages = NULL; iter != NULL; iter = g_list_next( iter ) ) { p_current = (PAGE*)iter->data; if (p_current->CHANGED) { unsaved_pages = g_list_append (unsaved_pages, (gpointer)p_current); } } if (unsaved_pages == NULL) { /* no page with unsaved changes, close window */ return TRUE; } dialog = GTK_WIDGET (g_object_new (TYPE_CLOSE_CONFIRMATION_DIALOG, "unsaved-pages", unsaved_pages, NULL)); gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (w_current->main_window)); g_list_free (unsaved_pages); switch (gtk_dialog_run (GTK_DIALOG (dialog))) { case GTK_RESPONSE_NO: /* action selected: close without saving */ /* discard changes, ok to close window */ ret = TRUE; break; case GTK_RESPONSE_YES: /* action selected: save */ g_object_get (dialog, "selected-pages", &unsaved_pages, NULL); for (p_unsaved = unsaved_pages, ret = TRUE; p_unsaved != NULL; p_unsaved = g_list_next (p_unsaved)) { p_current = (PAGE*)p_unsaved->data; s_page_goto (toplevel, p_current); i_callback_file_save(w_current, 0, NULL); /* if user cancelled previous, do not close window */ ret &= !p_current->CHANGED; } g_list_free (unsaved_pages); break; case GTK_RESPONSE_CANCEL: /* action selected: cancel */ /* fall through */ default: /* Hit when the user breaks out of the dialog with the escape key * or otherwise destroys the dialog window without a proper response */ ret = FALSE; break; } gtk_widget_destroy (dialog); /* Switch back to the page we were on */ g_return_val_if_fail (keep_page != NULL, ret); s_page_goto (toplevel, keep_page); return ret; } /***************** End of Close Confirmation dialog box **************/ /***************** Start of misc helper dialog boxes **************/ /*! \brief Validate the input attribute * \par Function Description * This function validates the attribute and if it isn't valid * pops up an error message box. * * \param parent The parent window which spawned this dialog box. * \param attribute The attribute to be validated. * \returns TRUE if the attribute is valid, FALSE otherwise. */ int x_dialog_validate_attribute(GtkWindow* parent, char *attribute) { GtkWidget* message_box; /* validate the new attribute */ if (!o_attrib_string_get_name_value (attribute, NULL, NULL)) { message_box = gtk_message_dialog_new_with_markup (parent, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, _("The input attribute \"%s\" is invalid\nPlease correct in order to continue\n\nThe name and value must be non-empty.\nThe name cannot end with a space.\nThe value cannot start with a space."), attribute); gtk_window_set_title(GTK_WINDOW(message_box), _("Invalid Attribute")); gtk_dialog_run (GTK_DIALOG (message_box)); gtk_widget_destroy (message_box); return FALSE; } return TRUE; } /***************** End of misc helper dialog boxes **************/ /*! \brief Edit the type of a pin (bus or net) * \par Function Description * This function presents an app modal dialog to edit the type of a pin */ void x_dialog_edit_pin_type (GSCHEM_TOPLEVEL *w_current, const GList *obj_list) { GtkWidget *dialog; GtkWidget *vbox; GtkWidget *radio1; GtkWidget *radio2; const GList *iter; int new_type; int found_pins = FALSE; int changed_anything = FALSE; for (iter = obj_list; iter != NULL; iter = g_list_next (iter)) { OBJECT *object = iter->data; if (object->type == OBJ_PIN) { found_pins = TRUE; break; } } if (!found_pins) return; dialog = gschem_dialog_new_with_buttons(_("Pin type"), GTK_WINDOW(w_current->main_window), GTK_DIALOG_MODAL, "pin-type-edit", w_current, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL); /* Set the alternative button order (ok, cancel, help) for other systems */ gtk_dialog_set_alternative_button_order (GTK_DIALOG (dialog), GTK_RESPONSE_OK, GTK_RESPONSE_CANCEL, -1); gtk_window_position (GTK_WINDOW (dialog), GTK_WIN_POS_MOUSE); gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_CANCEL); gtk_container_border_width (GTK_CONTAINER (dialog), DIALOG_BORDER_SPACING); vbox = GTK_DIALOG (dialog)->vbox; gtk_box_set_spacing (GTK_BOX(vbox), DIALOG_V_SPACING); radio1 = gtk_radio_button_new_with_label (NULL, _("Net pin")); radio2 = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (radio1), _("Bus pin (graphical)")); /* Pack them into a box, then show all the widgets */ gtk_box_pack_start (GTK_BOX (vbox), radio1, TRUE, TRUE, 2); gtk_box_pack_start (GTK_BOX (vbox), radio2, TRUE, TRUE, 2); gtk_widget_show_all (vbox); switch (gtk_dialog_run (GTK_DIALOG (dialog))) { case GTK_RESPONSE_OK: new_type = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (radio1)) ? PIN_TYPE_NET : PIN_TYPE_BUS; for (iter = obj_list; iter != NULL; iter = g_list_next (iter)) { OBJECT *object = iter->data; if (object->type == OBJ_PIN && object->pin_type != new_type) { changed_anything = TRUE; s_conn_remove_object (w_current->toplevel, object); o_pin_set_type (w_current->toplevel, object, new_type); s_conn_update_object (w_current->toplevel, object); } } if (changed_anything) o_undo_savestate (w_current, UNDO_ALL); break; case GTK_RESPONSE_CANCEL: default: /* Do nothing */ break; } gtk_widget_destroy (dialog); } /***************** End of pin type edit dialog box *********************/ geda-gaf-1.8.2/gschem/src/o_find.c0000664000175000017500000001652512220647257013557 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \brief Tests a if a given OBJECT was hit at a given set of coordinates * * \par Function Description * Tests a if a given OBJECT was hit at a given set of coordinates. If an * object is not selectable (e.g. it is locked), or it is invisible and * not being rendered, this function will return FALSE. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] object The OBJECT being hit-tested. * \param [in] w_x The X coordinate to test (in world coords). * \param [in] w_y The Y coordinate to test (in world coords). * \param [in] w_slack The slack applied to the hit-test. * * \returns TRUE if the OBJECT was hit, otherwise FALSE. */ static gboolean is_object_hit (GSCHEM_TOPLEVEL *w_current, OBJECT *object, int w_x, int w_y, int w_slack) { if (!object->selectable) return FALSE; /* We can't hit invisible (text) objects unless show_hidden_text is active. */ if (!o_is_visible (w_current->toplevel, object) && !w_current->toplevel->show_hidden_text) return FALSE; /* Do a coarse test first to avoid computing distances for objects ouside * of the hit range. */ if (!inside_region (object->w_left - w_slack, object->w_top - w_slack, object->w_right + w_slack, object->w_bottom + w_slack, w_x, w_y)) return FALSE; return (o_shortest_distance (object, w_x, w_y) < w_slack); } /*! \brief Tests a if a given OBJECT was hit at a given set of coordinates * * \par Function Description * Tests a if a given OBJECT was hit at a given set of coordinates. If so, * processes selection changes as appropriate for the object and passed * flag. Saves a pointer to the found object so future find operations * resume after this object. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] object The OBJECT being hit-tested. * \param [in] w_x The X coordinate to test (in world coords). * \param [in] w_y The Y coordinate to test (in world coords). * \param [in] w_slack The slack applied to the hit-test. * \param [in] change_selection Whether to select the found object or not. * \returns TRUE if the OBJECT was hit, otherwise FALSE. */ static gboolean find_single_object (GSCHEM_TOPLEVEL *w_current, OBJECT *object, int w_x, int w_y, int w_slack, int change_selection) { if (!is_object_hit (w_current, object, w_x, w_y, w_slack)) return FALSE; if (change_selection) { /* FIXME: should this be moved to o_select_object()? (Werner) */ if (object->type == OBJ_NET && w_current->net_selection_mode) o_select_connected_nets (w_current, object); else o_select_object (w_current, object, SINGLE, 0); /* 0 is count */ } w_current->toplevel->page_current->object_lastplace = object; i_update_menus (w_current); return TRUE; } /*! \brief Find an OBJECT at a given set of coordinates * * \par Function Description * Tests for OBJECTS hit at a given set of coordinates. If * change_selection is TRUE, it updates the page's selection. * * Find operations resume searching after the last object which was * found, so multiple find operations at the same point will cycle * through any objects on top of each other at this location. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] w_x The X coordinate to test (in world coords). * \param [in] w_y The Y coordinate to test (in world coords). * \param [in] change_selection Whether to select the found object or not. * \returns TRUE if the object was hit at the given coordinates, * otherwise FALSE. */ gboolean o_find_object (GSCHEM_TOPLEVEL *w_current, int w_x, int w_y, gboolean change_selection) { TOPLEVEL *toplevel = w_current->toplevel; int w_slack; const GList *iter = NULL; w_slack = WORLDabs (w_current, w_current->select_slack_pixels); /* Decide whether to iterate over all object or start at the last found object. If there is more than one object below the (w_x/w_y) position, this will select the next object below the position point. You can change the selected object by clicking at the same place multiple times. */ if (toplevel->page_current->object_lastplace != NULL) { /* NB: g_list_find doesn't declare its input const, so we cast */ iter = g_list_find ((GList *)s_page_objects (toplevel->page_current), toplevel->page_current->object_lastplace); iter = g_list_next (iter); } /* do first search (if we found any objects after the last found object) */ while (iter != NULL) { OBJECT *o_current = iter->data; if (find_single_object (w_current, o_current, w_x, w_y, w_slack, change_selection)) { return TRUE; } iter = g_list_next (iter); } /* now search from the beginning up until the object_lastplace */ for (iter = s_page_objects (toplevel->page_current); iter != NULL; iter = g_list_next (iter)) { OBJECT *o_current = iter->data; if (find_single_object (w_current, o_current, w_x, w_y, w_slack, change_selection)) { return TRUE; } /* break once we've inspected up to where we started the first loop */ if (o_current == toplevel->page_current->object_lastplace) break; } /* didn't find anything.... reset lastplace */ toplevel->page_current->object_lastplace = NULL; /* deselect everything only if shift key isn't pressed and the caller allows it */ if (change_selection && (!w_current->SHIFTKEY)) { o_select_unselect_all (w_current); } i_update_menus(w_current); return FALSE; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ gboolean o_find_selected_object (GSCHEM_TOPLEVEL *w_current, int w_x, int w_y) { TOPLEVEL *toplevel = w_current->toplevel; int w_slack = WORLDabs (w_current, w_current->select_slack_pixels); GList *s_current; for (s_current = geda_list_get_glist (toplevel->page_current->selection_list); s_current != NULL; s_current = g_list_next (s_current)) { OBJECT *o_current = s_current->data; if (is_object_hit (w_current, o_current, w_x, w_y, w_slack)) return TRUE; } return FALSE; } geda-gaf-1.8.2/gschem/src/o_delete.c0000664000175000017500000000545112220647257014075 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2011 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \brief Delete an object. * \par Function Description * This function erases the object \a object before deleting it. It * deals with connection and object connected to it. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] object The object to delete. */ void o_delete (GSCHEM_TOPLEVEL *w_current, OBJECT *object) { TOPLEVEL *toplevel = w_current->toplevel; g_return_if_fail (object != NULL); o_selection_remove (toplevel, toplevel->page_current->selection_list, object); s_page_remove (toplevel, toplevel->page_current, object); g_run_hook_object (w_current, "%remove-objects-hook", object); s_delete_object (toplevel, object); toplevel->page_current->CHANGED = 1; } /*! \brief Delete objects from the selection. * \par Function Description * This function deletes the objects selected on the current page of * toplevel \a w_current. * * \param [in] w_current The GSCHEM_TOPLEVEL object. */ void o_delete_selected (GSCHEM_TOPLEVEL *w_current) { TOPLEVEL *toplevel = w_current->toplevel; SELECTION *selection = toplevel->page_current->selection_list; GList *to_remove; GList *iter; g_return_if_fail (o_select_selected (w_current)); to_remove = g_list_copy (geda_list_get_glist (selection)); for (iter = to_remove; iter != NULL; iter = g_list_next (iter)) { OBJECT *obj = (OBJECT *) iter->data; o_selection_remove (toplevel, selection, obj); s_page_remove (toplevel, toplevel->page_current, obj); } g_run_hook_object_list (w_current, "%remove-objects-hook", to_remove); for (iter = to_remove; iter != NULL; iter = g_list_next (iter)) { s_delete_object (toplevel, (OBJECT *) iter->data); } g_list_free (to_remove); w_current->inside_action = 0; o_undo_savestate (w_current, UNDO_ALL); i_update_menus (w_current); } geda-gaf-1.8.2/gschem/src/gschem.c0000664000175000017500000002417012220647257013562 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2011 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #include #ifdef HAVE_STRING_H #include #endif #ifdef HAVE_UNISTD_H #include #endif #include #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif #ifdef HAVE_LOCALE_H #include #endif /* These are generated by parse_commandline() */ extern SCM s_pre_load_expr; extern SCM s_post_load_expr; typedef struct { gschem_atexit_func func; gpointer arg; } gschem_atexit_struct; static GList *exit_functions = NULL; /*! \brief Register a function to be called on program exit * * \par Function Description * This function registers a function to be called on * program exit. Multiple functions will be executed in * the order they are registered. * * \param [in] func a pointer to the function to be registered * \param [in] data an arbitrary argument provided to the function * when it is called */ void gschem_atexit(gschem_atexit_func func, gpointer data) { gschem_atexit_struct *p; p = g_new(gschem_atexit_struct, 1); p->func = func; p->arg = data; exit_functions = g_list_append(exit_functions, p); } /*! \brief Cleanup gSchem on exit. * \par Function Description * This function cleans up all memory objects allocated during the * gSchem runtime. */ void gschem_quit(void) { GList *list; gschem_atexit_struct *p; /* Call all registered functions in order */ list = exit_functions; while(list != NULL) { p = (gschem_atexit_struct *) list->data; p->func(p->arg); g_free(p); list = g_list_next(list); } g_list_free(exit_functions); s_clib_free(); s_slib_free(); s_menu_free(); /* o_text_freeallfonts();*/ s_attrib_free(); s_papersizes_free(); #ifdef HAVE_LIBSTROKE x_stroke_free (); #endif /* HAVE_LIBSTROKE */ o_undo_cleanup(); /* s_stroke_free(); no longer needed */ i_vars_freenames(); i_vars_libgeda_freenames(); /* x_window_free_head(); can't do this since it causes a * condition in which window_head->... is still being refered * after this */ /* enable this to get more memory usage from glib */ /* You also have to enable something in glib I think */ /* g_mem_profile();*/ gtk_main_quit(); } /*! \brief Main Scheme(GUILE) program function. * \par Function Description * This function is the main program called from scm_boot_guile. * It handles initializing all libraries and gSchem variables * and passes control to the gtk main loop. */ void main_prog(void *closure, int argc, char *argv[]) { int i; char *cwd = NULL; GSCHEM_TOPLEVEL *w_current = NULL; char *input_str = NULL; int argv_index; int first_page = 1; char *filename; SCM scm_tmp; #ifdef HAVE_GTHREAD /* Gschem isn't threaded, but some of GTK's file chooser * backends uses threading so we need to call g_thread_init(). * GLib requires threading be initialised before any other GLib * functions are called. Do it now if its not already setup. */ if (!g_thread_supported ()) g_thread_init (NULL); #endif #if ENABLE_NLS /* this should be equivalent to setlocale (LC_ALL, "") */ gtk_set_locale(); /* This must be the same for all locales */ setlocale(LC_NUMERIC, "C"); /* Disable gtk's ability to set the locale. */ /* If gtk is allowed to set the locale, then it will override the */ /* setlocale for LC_NUMERIC (which is important for proper PS output. */ /* This may look funny here, given we make a call to gtk_set_locale() */ /* above. I don't know yet, if this is really the right thing to do. */ gtk_disable_setlocale(); #endif gtk_init(&argc, &argv); argv_index = parse_commandline(argc, argv); cwd = g_get_current_dir(); libgeda_init(); /* create log file right away even if logging is enabled */ s_log_init ("gschem"); s_log_message( _("gEDA/gschem version %s%s.%s\n"), PREPEND_VERSION_STRING, PACKAGE_DOTTED_VERSION, PACKAGE_DATE_VERSION); s_log_message( _("gEDA/gschem comes with ABSOLUTELY NO WARRANTY; see COPYING for more details.\n")); s_log_message( _("This is free software, and you are welcome to redistribute it under certain\n")); s_log_message( _("conditions; please see the COPYING file for more details.\n\n")); #if defined(__MINGW32__) && defined(DEBUG) fprintf(stderr, _("This is the MINGW32 port.\n")); #endif #if DEBUG fprintf(stderr, _("Current locale settings: %s\n"), setlocale(LC_ALL, NULL)); #endif /* init global buffers */ o_buffer_init(); /* register guile (scheme) functions */ g_register_funcs(); g_init_window (); g_init_select (); g_init_hook (); g_init_attrib (); g_init_keys (); g_init_util (); /* initialise color map (need to do this before reading rc files */ x_color_init (); o_undo_init(); if (s_path_sys_data () == NULL) { const gchar *message = _("You must set the GEDADATA environment variable!\n\n" "gschem cannot locate its data files. You must set the GEDADATA\n" "environment variable to point to the correct location.\n"); GtkWidget* error_diag = gtk_message_dialog_new (NULL, 0, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, "%s", message); gtk_dialog_run (GTK_DIALOG (error_diag)); g_error ("%s", message); } /* Allocate w_current */ w_current = gschem_toplevel_new (); gschem_toplevel_alloc_libgeda_toplevel (w_current); w_current->toplevel->load_newer_backup_func = x_fileselect_load_backup; w_current->toplevel->load_newer_backup_data = w_current; o_text_set_rendered_bounds_func (w_current->toplevel, o_text_get_rendered_bounds, w_current); /* Damage notifications should invalidate the object on screen */ o_add_change_notify (w_current->toplevel, (ChangeNotifyFunc) o_invalidate, (ChangeNotifyFunc) o_invalidate, w_current); scm_dynwind_begin (0); g_dynwind_window (w_current); /* Run pre-load Scheme expressions */ g_scm_eval_protected (s_pre_load_expr, scm_current_module ()); /* By this point, libgeda should have setup the Guile load path, so * we can take advantage of that. */ scm_tmp = scm_sys_search_load_path (scm_from_utf8_string ("gschem.scm")); if (scm_is_false (scm_tmp)) { s_log_message (_("Couldn't find init scm file [%s]\n"), "gschem.scm"); } input_str = scm_to_utf8_string (scm_tmp); if (g_read_file(w_current->toplevel, input_str, NULL)) { s_log_message(_("Read init scm file [%s]\n"), input_str); } else { /*! \todo These two messages are the same. Should be * integrated. */ s_log_message(_("Failed to read init scm file [%s]\n"), input_str); } free (input_str); /* M'allocated by scm_to_utf8_string() */ scm_remember_upto_here_1 (scm_tmp); /* Now read in RC files. */ g_rc_parse_gtkrc(); x_rc_parse_gschem (w_current, rc_filename); /* Set default icon */ x_window_set_default_icon(); /* At end, complete set up of window. */ x_color_allocate(); x_window_setup (w_current); #ifdef HAVE_LIBSTROKE x_stroke_init (); #endif /* HAVE_LIBSTROKE */ for (i = argv_index; i < argc; i++) { if (g_path_is_absolute(argv[i])) { /* Path is already absolute so no need to do any concat of cwd */ filename = g_strdup (argv[i]); } else { filename = g_build_filename (cwd, argv[i], NULL); } if ( first_page ) first_page = 0; /* * SDB notes: at this point the filename might be unnormalized, like * /path/to/foo/../bar/baz.sch. Bad filenames will be normalized in * f_open (called by x_window_open_page). This works for Linux and MINGW32. */ x_window_open_page(w_current, filename); g_free (filename); } g_free(cwd); /* If no page has been loaded (wasn't specified in the command line.) */ /* Then create an untitled page */ if ( first_page ) { x_window_open_page( w_current, NULL ); } /* Update the window to show the current page */ x_window_set_current_page( w_current, w_current->toplevel->page_current ); #if DEBUG scm_c_eval_string ("(display \"hello guile\n\")"); #endif /* Run post-load expressions */ g_scm_eval_protected (s_post_load_expr, scm_current_module ()); /* open up log window on startup */ if (w_current->log_window == MAP_ON_STARTUP) { x_log_open (); } /* if there were any symbols which had major changes, put up an error */ /* dialog box */ major_changed_dialog(w_current); scm_dynwind_end (); /* enter main loop */ gtk_main(); } /*! \brief Main executable entrance point. * \par Function Description * This is the main function for gSchem. It sets up the Scheme(GUILE) * environment and passes control to via scm_boot_guile to * the #main_prog function. */ int main (int argc, char *argv[]) { #if ENABLE_NLS setlocale(LC_ALL, ""); setlocale(LC_NUMERIC, "C"); bindtextdomain("geda-gschem", LOCALEDIR); textdomain("geda-gschem"); bind_textdomain_codeset("geda-gschem", "UTF-8"); #endif /* disable the deprecated warnings in guile 1.6.3 */ /* Eventually the warnings will need to be fixed */ if(getenv("GUILE_WARN_DEPRECATED") == NULL) putenv("GUILE_WARN_DEPRECATED=no"); scm_boot_guile (argc, argv, main_prog, 0); return 0; } geda-gaf-1.8.2/gschem/src/o_grips.c0000664000175000017500000015323212220647257013760 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif #define GET_BOX_WIDTH(w) abs((w)->second_wx - (w)->first_wx) #define GET_BOX_HEIGHT(w) abs((w)->second_wy - (w)->first_wy) #define GET_PICTURE_WIDTH(w) \ abs((w)->second_wx - (w)->first_wx) #define GET_PICTURE_HEIGHT(w) \ (w)->pixbuf_wh_ratio == 0 ? 0 : abs((w)->second_wx - (w)->first_wx)/(w)->pixbuf_wh_ratio #define GET_PICTURE_LEFT(w) \ min((w)->first_wx, (w)->second_wx) #define GET_PICTURE_TOP(w) \ (w)->first_wy > (w)->second_wy ? (w)->first_wy : \ (w)->first_wy+abs((w)->second_wx - (w)->first_wx)/(w)->pixbuf_wh_ratio /*! \brief Check if point is inside grip. * \par Function Description * This function is used to determine if the (x,y) point is * inside a grip of one of the selected object on the current sheet. * The selected object are in a list starting at * w_current->toplevel->page_current->selection2_head. * The x and y parameters are in world units. * If the point is inside one grip, a pointer on the object it belongs to is * returned and *whichone is set according to the position of the grip * on the object. * Else, *whichone is unchanged and the function returns NULL. * * A specific search function is provided for every kind of graphical object. * The list of selected object is covered : each object is tested with the * appropriate function. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] x Current x coordinate of pointer in world units. * \param [in] y Current y coordinate of pointer in world units. * \param [out] whichone Which grip point is selected. * \return Pointer to OBJECT the grip is on, NULL otherwise. */ OBJECT *o_grips_search_world(GSCHEM_TOPLEVEL *w_current, int x, int y, int *whichone) { TOPLEVEL *toplevel = w_current->toplevel; OBJECT *object=NULL; OBJECT *found=NULL; GList *s_current; int size; int w_size; if (!whichone) { return(NULL); } /* get the size of the grip according to zoom level */ size = o_grips_size(w_current); w_size = WORLDabs (w_current, size ); s_current = geda_list_get_glist( toplevel->page_current->selection_list ); while (s_current != NULL) { object = (OBJECT *) s_current->data; if (object) { switch(object->type) { case(OBJ_ARC): /* check the grips of the arc object */ found = o_grips_search_arc_world(w_current, object, x, y, w_size, whichone); if(found != NULL) return found; break; case(OBJ_BOX): /* check the grips of the box object */ found = o_grips_search_box_world(w_current, object, x, y, w_size, whichone); if(found != NULL) return found; break; case(OBJ_PATH): /* check the grips of the path object */ found = o_grips_search_path_world(w_current, object, x, y, w_size, whichone); if(found != NULL) return found; break; case(OBJ_PICTURE): /* check the grips of the picture object */ found = o_grips_search_picture_world(w_current, object, x, y, w_size, whichone); if(found != NULL) return found; break; case(OBJ_CIRCLE): /* check the grips of the circle object */ found = o_grips_search_circle_world(w_current, object, x, y, w_size, whichone); if(found != NULL) return found; break; case(OBJ_LINE): case(OBJ_PIN): case(OBJ_NET): case(OBJ_BUS): /* check the grips of the line object */ /* the function is the same for line, pin, net, bus */ found = o_grips_search_line_world(w_current, object, x, y, w_size, whichone); if(found != NULL) return found; break; default: break; } } s_current = g_list_next(s_current); } return(NULL); } /*! \brief Check if pointer is inside the grip region. * * \par Function Description * This function checks if the point (x,y) is * inside the grip centered at (grip_x,grip_y). * * \param [in] x Current x coordinate of pointer in world units. * \param [in] y Current y coordinate of pointer in world units. * \param [in] grip_x Current x coordinate of grip center in world units. * \param [in] grip_y Current y coordinate of grip center in world units. * \param [in] size Half the width of the grip square in world units. * \return True / False whether the mouse pointer is inside the grip. */ static gboolean inside_grip( int x, int y, int grip_x, int grip_y, int size ) { int xmin, ymin, xmax, ymax; xmin = grip_x - size; ymin = grip_y - size; xmax = xmin + 2 * size; ymax = ymin + 2 * size; return inside_region(xmin, ymin, xmax, ymax, x, y); } /*! \brief Check if pointer is inside arc grip. * \par Function Description * This function checks if the pointer event occuring at (x,y) is * inside one of the grips of an o_current pointed arc object. If so * the whichone pointed integer is set to the number of this grip and * the return pointer is a pointer on this object. If the point is not * inside a grip the function returns a NULL pointer and the whichone * pointed integer is unset. * * An arc object has three grips : *
    *
    *
    one at the center of the arc. This grip is used to modify * the radius of the arc. If this one is selected, the * whichone pointed integer is set to ARC_RADIUS. *
    *
    one at one end of the arc. It corresponds to the starting * angle of the arc. If this one is selected, the * whichone pointed integer is set to ARC_START_ANGLE. *
    *
    one at the other end of the arc. It corresponds to the * ending angle of the arc. If this one is selected, the * whichone pointed integer is set to ARC_END_ANGLE. *
    * * The x and y parameters are in world units. * * The size parameter is the width (and height) of the square * representing a grip in world units. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] o_current Arc OBJECT to check. * \param [in] x Current x coordinate of pointer in world units. * \param [in] y Current y coordinate of pointer in world units. * \param [in] size Half the width of the grip square in world units. * \param [out] whichone Which grip point is selected. * \return Pointer to OBJECT the grip is on, NULL otherwise. */ OBJECT *o_grips_search_arc_world(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current, int x, int y, int size, int *whichone) { int centerx, centery, radius, start_angle, end_angle; double tmp; centerx = o_current->arc->x; centery = o_current->arc->y; radius = o_current->arc->width / 2; start_angle = o_current->arc->start_angle; end_angle = o_current->arc->end_angle; /* check the grip on the center of the arc */ if (inside_grip(x, y, centerx, centery, size)) { *whichone = ARC_RADIUS; return(o_current); } /* check the grip at the end angle of the arc */ tmp = ((double) start_angle + end_angle) * M_PI / 180; if (inside_grip(x, y, centerx + radius * cos(tmp), centery + radius * sin(tmp), size)) { *whichone = ARC_END_ANGLE; return(o_current); } /* check the grip at the start angle of the arc */ tmp = ((double) start_angle) * M_PI / 180; if (inside_grip(x, y, centerx + radius * cos(tmp), centery + radius * sin(tmp), size)) { *whichone = ARC_START_ANGLE; return(o_current); } return NULL; } /*! \brief Check if pointer is inside box grip. * \par Function Description * This function checks if the pointer event occuring at (x,y) is * inside one of the grips of the o_current pointed box object. * If so, the whichone pointed integer is set to the identifier of * this grip and the returned pointer is a pointer on this object. * If the point is not inside a grip the function returns a NULL pointer * and the whichone pointed integer is unset. * * A box object has four grips : one at each corner of the box. The * identifiers of each corner are BOX_UPPER_LEFT, * BOX_UPPER_RIGHT, BOX_LOWER_LEFT and BOX_LOWER_RIGHT. * * The x and y parameters are in world units. * * The size parameter is half the width (and half the height) of * the square representing a grip in world units. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] o_current Box OBJECT to check. * \param [in] x Current x coordinate of pointer in world units. * \param [in] y Current y coordinate of pointer in world units. * \param [in] size Half the width of the grip square in world units. * \param [out] whichone Which grip point is selected. * \return Pointer to OBJECT the grip is on, NULL otherwise. */ OBJECT *o_grips_search_box_world(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current, int x, int y, int size, int *whichone) { /* inside upper left grip ? */ if (inside_grip(x, y, o_current->box->upper_x, o_current->box->upper_y, size)) { *whichone = BOX_UPPER_LEFT; return(o_current); } /* inside lower right grip ? */ if (inside_grip(x, y, o_current->box->lower_x, o_current->box->lower_y, size)) { *whichone = BOX_LOWER_RIGHT; return(o_current); } /* inside upper right grip ? */ if (inside_grip(x, y, o_current->box->lower_x, o_current->box->upper_y, size)) { *whichone = BOX_UPPER_RIGHT; return(o_current); } /* inside lower left grip ? */ if (inside_grip(x, y, o_current->box->upper_x, o_current->box->lower_y, size)) { *whichone = BOX_LOWER_LEFT; return(o_current); } return NULL; } /*! \brief Check if pointer is inside path grip. * \par Function Description * This function checks if the pointer event occuring at (x,y) * is inside one of the grips of the o_current pointed path object. * If so, the whichone pointed integer is set to the identifier of * this grip and the returned pointer is a pointer on this object. * If the point is not inside a grip the function returns a NULL pointer * and the whichone pointed integer is unset. * * A path object has four grips : one at each corner of the path. * The identifiers of each corner are #PICTURE_UPPER_LEFT, * #PICTURE_UPPER_RIGHT, #PICTURE_LOWER_LEFT and * #PICTURE_LOWER_RIGHT. * * The x and y parameters are in world units. * * The size parameter is half the width (and half the height) of the * square representing a grip in world units. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] o_current Picture OBJECT to check. * \param [in] x Current x coordinate of pointer in world units. * \param [in] y Current y coordinate of pointer in world units. * \param [in] size Half the width of the grip square in world units. * \param [out] whichone Which grip point is selected. * \return Pointer to OBJECT the grip is on, NULL otherwise. */ OBJECT *o_grips_search_path_world(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current, int x, int y, int size, int *whichone) { PATH_SECTION *section; int i; int grip_no = 0; for (i = 0; i < o_current->path->num_sections; i++) { section = &o_current->path->sections[i]; switch (section->code) { case PATH_CURVETO: /* inside first control grip ? */ if (inside_grip(x, y, section->x1, section->y1, size)) { *whichone = grip_no; return o_current; } grip_no ++; /* inside second control grip ? */ if (inside_grip(x, y, section->x2, section->y2, size)) { *whichone = grip_no; return o_current; } grip_no ++; /* Fall through */ case PATH_MOVETO: case PATH_MOVETO_OPEN: case PATH_LINETO: /* inside destination control grip ? */ if (inside_grip(x, y, section->x3, section->y3, size)) { *whichone = grip_no; return o_current; } grip_no ++; break; case PATH_END: break; } } return NULL; } /*! \brief Check if pointer is inside picture grip. * \par Function Description * This function checks if the pointer event occuring at (x,y) * is inside one of the grips of the o_current pointed picture object. * If so, the whichone pointed integer is set to the identifier of * this grip and the returned pointer is a pointer on this object. * If the point is not inside a grip the function returns a NULL pointer * and the whichone pointed integer is unset. * * A picture object has four grips : one at each corner of the picture. * The identifiers of each corner are #PICTURE_UPPER_LEFT, * #PICTURE_UPPER_RIGHT, #PICTURE_LOWER_LEFT and * #PICTURE_LOWER_RIGHT. * * The x and y parameters are in world units. * * The size parameter is half the width (and half the height) of the * square representing a grip in world units. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] o_current Picture OBJECT to check. * \param [in] x Current x coordinate of pointer in world units. * \param [in] y Current y coordinate of pointer in world units. * \param [in] size Half the width of the grip square in world units. * \param [out] whichone Which grip point is selected. * \return Pointer to OBJECT the grip is on, NULL otherwise. */ OBJECT *o_grips_search_picture_world(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current, int x, int y, int size, int *whichone) { /* inside upper left grip ? */ if (inside_grip(x, y, o_current->picture->upper_x, o_current->picture->upper_y, size)) { *whichone = PICTURE_UPPER_LEFT; return(o_current); } /* inside lower right grip ? */ if (inside_grip(x, y, o_current->picture->lower_x, o_current->picture->lower_y, size)) { *whichone = PICTURE_LOWER_RIGHT; return(o_current); } /* inside upper right grip ? */ if (inside_grip(x, y, o_current->picture->lower_x, o_current->picture->upper_y, size)) { *whichone = PICTURE_UPPER_RIGHT; return(o_current); } /* inside lower left grip ? */ if (inside_grip(x, y, o_current->picture->upper_x, o_current->picture->lower_y, size)) { *whichone = PICTURE_LOWER_LEFT; return(o_current); } return NULL; } /*! \brief Check if pointer is inside circle grip. * \par Function Description * This function determines if the (x,y) point is inside one of * the grip of the circle object o_current. * It computes the area covered by each grip and check if (x,y) * is in one of these areas. * If the event occured in one of the grip, a pointer on the object is * returned and *whichone is set to the identifier of the grip. * If not, the function returns a NULL pointer and *whichone * is unchanged. * * The parameter size is half the size of the grip in world units. * * A circle has only one grip on the lower right corner of the box it * is inscribed in. Moving this grip change the radius of the circle. * The identifier of this grip is CIRCLE_RADIUS. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] o_current Circle OBJECT to check. * \param [in] x Current x coordinate of pointer in world units. * \param [in] y Current y coordinate of pointer in world units. * \param [in] size Half the width of the grip square in world units. * \param [out] whichone Which grip point is selected. * \return Pointer to OBJECT the grip is on, NULL otherwise. */ OBJECT *o_grips_search_circle_world(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current, int x, int y, int size, int *whichone) { /* check the grip for radius */ if (inside_grip(x, y, o_current->circle->center_x + o_current->circle->radius, o_current->circle->center_y - o_current->circle->radius, size)) { *whichone = CIRCLE_RADIUS; return(o_current); } return NULL; } /*! \brief Check if pointer is inside line grip. * \par Function Description * This function determines if the (x,y) point is inside one of * the grip of the line object o_current. * It computes the area covered by each grip and check if (x,y) * is in one of these areas. * If the event occured in one of its grip, a pointer on the object is * returned and *whichone is set to the identifier of the grip. If not, * the function returns NULL pointer and *whichone is unchanged. * * The parameter size is half the size of the grip in world units. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] o_current Line OBJECT to check. * \param [in] x Current x coordinate of pointer in world units. * \param [in] y Current y coordinate of pointer in world units. * \param [in] size Half the width of the grip square in world units. * \param [out] whichone Which grip point is selected. * \return Pointer to OBJECT the grip is on, NULL otherwise. */ OBJECT *o_grips_search_line_world(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current, int x, int y, int size, int *whichone) { /* check the grip on the end of line 1 */ if (inside_grip(x, y, o_current->line->x[LINE_END1], o_current->line->y[LINE_END1], size)) { *whichone = LINE_END1; return(o_current); } /* check the grip on the end of line 2 */ if (inside_grip(x, y, o_current->line->x[LINE_END2], o_current->line->y[LINE_END2], size)) { *whichone = LINE_END2; return(o_current); } return NULL; } /*! \brief Initialize grip motion process for an arc. * \par Function Description * This function initializes the grip motion process for an arc. * From the o_current pointed object, it stores into the * GSCHEM_TOPLEVEL structure the coordinates of the center, the radius * and the two angle that describes an arc. These variables are used in * the grip process. * * The coordinates of the center of the arc on x- and y-axis are stored * into the first_wx and first_wy fields of the GSCHEM_TOPLEVEL * structure in screen units. * * The radius of the center is stored into the distance field of * the GSCHEM_TOPLEVEL structure in screen units. * * The two angles describing the arc on a circle are stored into the * second_wx for the starting angle and second_wy for the ending angle. * These angles are expressed in degrees. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] o_current Arc OBJECT to check. * \param [in] x (unused) * \param [in] y (unused) * \param [out] whichone (unused) */ static void o_grips_start_arc(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current, int x, int y, int whichone) { w_current->last_drawb_mode = LAST_DRAWB_MODE_NONE; /* describe the arc with GSCHEM_TOPLEVEL variables */ /* center */ w_current->first_wx = o_current->arc->x; w_current->first_wy = o_current->arc->y; /* radius */ w_current->distance = o_current->arc->width / 2; /* angles */ w_current->second_wx = o_current->arc->start_angle; w_current->second_wy = o_current->arc->end_angle; /* draw the first temporary arc */ /* o_arc_invalidate_rubber (w_current); */ w_current->rubber_visible = 1; } /*! \brief Initialize grip motion process for a box. * \par Function Description * This function initializes the grip motion process for a box. From the * o_current pointed object, it stores into the GSCHEM_TOPLEVEL * structure the .... These variables are used in the grip process. * * The function first erases the grips. * * The coordinates of the selected corner are put in * (w_current->second_wx,w_current->second_wx). * * The coordinates of the opposite corner go in * (w_current->first_wx,w_current->first_wy). They are not suppose * to change during the action. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] o_current Box OBJECT to check. * \param [in] x (unused) * \param [in] y (unused) * \param [out] whichone Which coordinate to check. */ static void o_grips_start_box(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current, int x, int y, int whichone) { w_current->last_drawb_mode = LAST_DRAWB_MODE_NONE; /* (second_wx, second_wy) is the selected corner */ /* (first_wx, first_wy) is the opposite corner */ switch(whichone) { case BOX_UPPER_LEFT: w_current->second_wx = o_current->box->upper_x; w_current->second_wy = o_current->box->upper_y; w_current->first_wx = o_current->box->lower_x; w_current->first_wy = o_current->box->lower_y; break; case BOX_LOWER_RIGHT: w_current->second_wx = o_current->box->lower_x; w_current->second_wy = o_current->box->lower_y; w_current->first_wx = o_current->box->upper_x; w_current->first_wy = o_current->box->upper_y; break; case BOX_UPPER_RIGHT: w_current->second_wx = o_current->box->lower_x; w_current->second_wy = o_current->box->upper_y; w_current->first_wx = o_current->box->upper_x; w_current->first_wy = o_current->box->lower_y; break; case BOX_LOWER_LEFT: w_current->second_wx = o_current->box->upper_x; w_current->second_wy = o_current->box->lower_y; w_current->first_wx = o_current->box->lower_x; w_current->first_wy = o_current->box->upper_y; break; default: return; /* error */ } /* draw the first temporary box */ /* o_box_invalidate_rubber (w_current); */ w_current->rubber_visible = 1; } /*! \brief Initialize grip motion process for a path. * \par Function Description * This function initializes the grip motion process for a path. * From the o_current pointed object, it stores into the * GSCHEM_TOPLEVEL structure the .... * These variables are used in the grip process. * * The function first erases the grips. * * The coordinates of the selected corner are put in * (w_current->second_wx,w_current->second_wy). * * The coordinates of the opposite corner go in * (w_current->first_wx,w_current->first_wy). They are not * suppose to change during the action. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] o_current Picture OBJECT to check. * \param [in] x (unused) * \param [in] y (unused) * \param [out] whichone Which coordinate to check. */ static void o_grips_start_path(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current, int x, int y, int whichone) { PATH_SECTION *section; int i; int grip_no = 0; int gx = -1; int gy = -1; w_current->last_drawb_mode = -1; for (i = 0; i < o_current->path->num_sections; i++) { section = &o_current->path->sections[i]; switch (section->code) { case PATH_CURVETO: /* Two control point grips */ if (whichone == grip_no++) { gx = section->x1; gy = section->y1; } if (whichone == grip_no++) { gx = section->x2; gy = section->y2; } /* Fall through */ case PATH_MOVETO: case PATH_MOVETO_OPEN: case PATH_LINETO: /* Destination point grip */ if (whichone == grip_no++) { gx = section->x3; gy = section->y3; } break; case PATH_END: break; } } w_current->first_wx = w_current->second_wx = gx; w_current->first_wy = w_current->second_wy = gy; /* draw the first temporary path */ /* o_path_invalidate_rubber (w_current); */ w_current->rubber_visible = 1; } /*! \brief Initialize grip motion process for a picture. * \par Function Description * This function initializes the grip motion process for a picture. * From the o_current pointed object, it stores into the * GSCHEM_TOPLEVEL structure the .... * These variables are used in the grip process. * * The function first erases the grips. * * The coordinates of the selected corner are put in * (w_current->second_wx,w_current->second_wy). * * The coordinates of the opposite corner go in * (w_current->first_wx,w_current->first_wy). They are not * suppose to change during the action. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] o_current Picture OBJECT to check. * \param [in] x (unused) * \param [in] y (unused) * \param [out] whichone Which coordinate to check. */ static void o_grips_start_picture(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current, int x, int y, int whichone) { TOPLEVEL *toplevel = w_current->toplevel; w_current->last_drawb_mode = LAST_DRAWB_MODE_NONE; w_current->current_pixbuf = o_picture_get_pixbuf (toplevel, o_current); w_current->pixbuf_filename = g_strdup (o_picture_get_filename (toplevel, o_current)); w_current->pixbuf_wh_ratio = o_picture_get_ratio (toplevel, o_current); /* (second_wx,second_wy) is the selected corner */ /* (first_wx, first_wy) is the opposite corner */ switch(whichone) { case PICTURE_UPPER_LEFT: w_current->second_wx = o_current->picture->upper_x; w_current->second_wy = o_current->picture->upper_y; w_current->first_wx = o_current->picture->lower_x; w_current->first_wy = o_current->picture->lower_y; break; case PICTURE_LOWER_RIGHT: w_current->second_wx = o_current->picture->lower_x; w_current->second_wy = o_current->picture->lower_y; w_current->first_wx = o_current->picture->upper_x; w_current->first_wy = o_current->picture->upper_y; break; case PICTURE_UPPER_RIGHT: w_current->second_wx = o_current->picture->lower_x; w_current->second_wy = o_current->picture->upper_y; w_current->first_wx = o_current->picture->upper_x; w_current->first_wy = o_current->picture->lower_y; break; case PICTURE_LOWER_LEFT: w_current->second_wx = o_current->picture->upper_x; w_current->second_wy = o_current->picture->lower_y; w_current->first_wx = o_current->picture->lower_x; w_current->first_wy = o_current->picture->upper_y; break; default: return; /* error */ } /* draw the first temporary picture */ /* o_picture_invalidate_rubber (w_current); */ w_current->rubber_visible = 1; } /*! \brief Initialize grip motion process for a circle. * \par Function Description * This function initializes the grip motion process for a circle. * From the o_current pointed object, it stores into the * GSCHEM_TOPLEVEL structure the coordinate of the center and the radius. * These variables are used in the grip process. * * The function first erases the grips. * * The coordinates of the center are put in * (w_current->first_wx,w_current->first_wy). They are not suppose * to change during the action. * * The radius of the circle is stored in w_current->distance. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] o_current Circle OBJECT to check. * \param [in] x (unused) * \param [in] y (unused) * \param [out] whichone Which coordinate to check. */ static void o_grips_start_circle(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current, int x, int y, int whichone) { w_current->last_drawb_mode = LAST_DRAWB_MODE_NONE; /* store circle center and radius in GSCHEM_TOPLEVEL structure */ w_current->first_wx = o_current->circle->center_x; w_current->first_wy = o_current->circle->center_y; w_current->distance = o_current->circle->radius; /* draw the first temporary circle */ /* o_circle_invalidate_rubber (w_current); */ w_current->rubber_visible = 1; } /*! \brief Initialize grip motion process for a line. * This function starts the move of one of the two grips of the line * object o_current. * * During the move of the grip, the line is described by * (w_current->first_wx,w_current->first_wy) and * (w_current->second_wx,w_current->second_wy). * * The line end that corresponds to the moving grip is in * (w_current->second_wx,w_current->second_wy). * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] o_current Line OBJECT to check. * \param [in] x (unused) * \param [in] y (unused) * \param [out] whichone Which coordinate to check. */ static void o_grips_start_line(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current, int x, int y, int whichone) { w_current->last_drawb_mode = LAST_DRAWB_MODE_NONE; /* describe the line with GSCHEM_TOPLEVEL variables */ w_current->second_wx = o_current->line->x[whichone]; w_current->second_wy = o_current->line->y[whichone]; w_current->first_wx = o_current->line->x[!whichone]; w_current->first_wy = o_current->line->y[!whichone]; /* draw the first temporary line */ /* o_line_invalidate_rubber (w_current); */ w_current->rubber_visible = 1; } /*! \brief Start process of modifiying one grip. * \par Function Description * This function starts the process of modifying one grip of an object * on the current sheet. The event occured in (w_x,w_y) in world unit. * If this position is related to a grip of an object, the function * prepares the modification of this grip thanks to the user input. * * The function returns FALSE if an error occured or if no grip * have been found under (w_x,w_y). It returns TRUE if a grip * has been found and modification of the object has been started. * * If a grip has been found, this function modifies the GSCHEM_TOPLEVEL * variables which_grip and which_object with the identifier * of the grip and the object it belongs to respectively. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] w_x Current x coordinate of pointer in world units. * \param [in] w_y Current y coordinate of pointer in world units. * \return FALSE if an error occurred or no grip was found, TRUE otherwise. */ int o_grips_start(GSCHEM_TOPLEVEL *w_current, int w_x, int w_y) { OBJECT *object; int whichone; if (w_current->draw_grips == FALSE) { return(FALSE); } /* search if there is a grip on a selected object at (w_x,w_y) */ object = o_grips_search_world(w_current, w_x, w_y, &whichone); if (object == NULL) return FALSE; w_current->which_grip = whichone; w_current->which_object = object; /* Switch off drawing for the object being modified */ object->dont_redraw = TRUE; o_invalidate (w_current, object); /* there is one */ /* depending on its type, start the modification process */ switch(object->type) { case(OBJ_ARC): /* start the modification of a grip on an arc */ o_grips_start_arc(w_current, object, w_x, w_y, whichone); return(TRUE); case(OBJ_BOX): /* start the modification of a grip on a box */ o_grips_start_box(w_current, object, w_x, w_y, whichone); return(TRUE); case(OBJ_PATH): /* start the modification of a grip on a path */ o_grips_start_path(w_current, object, w_x, w_y, whichone); return(TRUE); case(OBJ_PICTURE): /* start the modification of a grip on a picture */ o_grips_start_picture(w_current, object, w_x, w_y, whichone); return(TRUE); case(OBJ_CIRCLE): /* start the modification of a grip on a circle */ o_grips_start_circle(w_current, object, w_x, w_y, whichone); return(TRUE); case(OBJ_LINE): case(OBJ_NET): case(OBJ_PIN): case(OBJ_BUS): /* identical for line/net/pin/bus */ /* start the modification of a grip on a line */ o_grips_start_line(w_current, object, w_x, w_y, whichone); return(TRUE); default: /* object type unknown : error condition */ return(FALSE); } return(FALSE); } /*! \brief Modify previously selected object according to mouse position. * \par Function Description * This function modify the previously selected * object according to the mouse position in w_x and w_y. * The grip under modification is updated and the temporary object displayed. * * The object under modification is w_current->which_object and * the grip concerned is w_current->which_grip. * * Depending on the object type, a specific function is used. * It erases the temporary object, updates its internal representation, * and draws it again. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] w_x Current x coordinate of pointer in world units. * \param [in] w_y Current y coordinate of pointer in world units. */ void o_grips_motion(GSCHEM_TOPLEVEL *w_current, int w_x, int w_y) { int grip = w_current->which_grip; g_assert( w_current->inside_action != 0 ); g_return_if_fail( w_current->which_object != NULL ); switch(w_current->which_object->type) { case OBJ_ARC: o_arc_motion (w_current, w_x, w_y, grip); break; case OBJ_BOX: o_box_motion (w_current, w_x, w_y); break; case OBJ_PATH: o_path_motion (w_current, w_x, w_y); break; case OBJ_PICTURE: o_picture_motion (w_current, w_x, w_y); break; case OBJ_CIRCLE: o_circle_motion (w_current, w_x, w_y); break; case OBJ_LINE: case OBJ_NET: case OBJ_PIN: case OBJ_BUS: o_line_motion (w_current, w_x, w_y); break; default: return; /* error condition */ } } /*! \brief Cancel process of modifying object with grip. * * \par Function Description * This function cancels the process of modifying a parameter * of an object with a grip. It's main utility is to reset the * dont_redraw flag on the object which was being modified. * * \param [in,out] w_current The GSCHEM_TOPLEVEL object. */ void o_grips_cancel(GSCHEM_TOPLEVEL *w_current) { OBJECT *object = w_current->which_object; /* reset global variables */ w_current->which_grip = -1; w_current->which_object = NULL; w_current->rubber_visible = 0; /* Switch drawing of the object back on */ g_return_if_fail (object != NULL); object->dont_redraw = FALSE; } /*! \brief End process of modifying arc object with grip. * \par Function Description * This function ends the grips process specific to an arc object. It erases * the old arc and write back to the object the new parameters of the arc. * Depending on the grip selected and moved, the right fields are updated. * The function handles the conversion from screen unit to world unit before * updating and redrawing. * * If the grip at the center of the arc has been moved - modifying the radius * of the arc -, the new radius is calculated expressed in world unit * (the center is unchanged). It is updated with the function #o_arc_modify(). * * If one of the end of arc grip has been moved - modifying one of the * angles describing the arc -, this angle is updated with the * #o_arc_modify() function. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] o_current Arc OBJECT to end modification on. * \param [in] whichone Which grip is pointed to. */ static void o_grips_end_arc(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current, int whichone) { TOPLEVEL *toplevel = w_current->toplevel; int arg1, arg2; /* erase the temporary arc */ /* o_arc_invalidate_rubber (w_current); */ /* determination of the parameters to give to o_arc_modify() */ switch(whichone) { case ARC_RADIUS: /* get the radius from w_current */ arg1 = w_current->distance; /* second parameter is not used */ arg2 = -1; break; case ARC_START_ANGLE: /* get the start angle from w_current */ arg1 = w_current->second_wx; /* second parameter is not used */ arg2 = -1; break; case ARC_END_ANGLE: /* get the end angle from w_current */ arg1 = w_current->second_wy; /* second parameter is not used */ arg2 = -1; break; default: return; } /* modify the arc with the parameters determined above */ o_arc_modify(toplevel, o_current, arg1, arg2, whichone); } /*! \todo Finish function documentation!!! * \brief End process of modifying box object with grip. * \par Function Description * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] o_current Box OBJECT to end modification on. * \param [in] whichone Which grip is pointed to. */ static void o_grips_end_box(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current, int whichone) { TOPLEVEL *toplevel = w_current->toplevel; int box_width, box_height; box_width = GET_BOX_WIDTH (w_current); box_height = GET_BOX_HEIGHT(w_current); /* don't allow zero width/height boxes * this ends the box drawing behavior * we want this? hack */ if ((box_width == 0) || (box_height == 0)) { o_box_invalidate_rubber (w_current); o_invalidate (w_current, o_current); return; } o_box_modify(toplevel, o_current, w_current->second_wx, w_current->second_wy, whichone); } /*! \todo Finish function documentation!!! * \brief End process of modifying path object with grip. * \par Function Description * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] o_current Picture OBJECT to end modification on. * \param [in] whichone Which grip is pointed to. */ static void o_grips_end_path(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current, int whichone) { o_path_modify (w_current->toplevel, o_current, w_current->second_wx, w_current->second_wy, whichone); } /*! \todo Finish function documentation!!! * \brief End process of modifying picture object with grip. * \par Function Description * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] o_current Picture OBJECT to end modification on. * \param [in] whichone Which grip is pointed to. */ static void o_grips_end_picture(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current, int whichone) { TOPLEVEL *toplevel = w_current->toplevel; /* don't allow zero width/height picturees * this ends the picture drawing behavior * we want this? hack */ if ((GET_PICTURE_WIDTH(w_current) == 0) || (GET_PICTURE_HEIGHT(w_current) == 0)) { o_picture_invalidate_rubber (w_current); o_invalidate (w_current, o_current); return; } o_picture_modify(toplevel, o_current, w_current->second_wx, w_current->second_wy, whichone); g_object_unref (w_current->current_pixbuf); w_current->current_pixbuf = NULL; g_free (w_current->pixbuf_filename); w_current->pixbuf_filename = NULL; w_current->pixbuf_wh_ratio = 0; } /*! \brief End process of modifying circle object with grip. * \par Function Description * This function ends the process of modifying the radius of the circle * object *o_current. * The modified circle is finally normally drawn. * * A circle with a null radius is not allowed. In this case, the process * is stopped and the circle is left unchanged. * * The last value of the radius is in w_current->distance in screen units. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] o_current Circle OBJECT to end modification on. * \param [in] whichone Which grip is pointed to. */ static void o_grips_end_circle(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current, int whichone) { TOPLEVEL *toplevel = w_current->toplevel; /* don't allow zero radius circles * this ends the circle drawing behavior * we want this? hack */ if (w_current->distance == 0) { o_circle_invalidate_rubber (w_current); o_invalidate (w_current, o_current); return; } /* modify the radius of the circle */ o_circle_modify(toplevel, o_current, w_current->distance, -1, CIRCLE_RADIUS); } /*! \brief End process of modifying line object with grip. * \par Function Description * This function ends the process of modifying one end of the line * object *o_current. * This end is identified by whichone. The line object is modified * according to the whichone parameter and the last position of the * line end. * The modified line is finally normally drawn. * * A line with a null width, i.e. when both ends are identical, is not * allowed. In this case, the process is stopped and the line unchanged. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] o_current Line OBJECT to end modification on. * \param [in] whichone Which grip is pointed to. */ static void o_grips_end_line(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current, int whichone) { TOPLEVEL *toplevel = w_current->toplevel; /* don't allow zero length nets / lines / pins * this ends the net drawing behavior * we want this? hack */ if ((w_current->first_wx == w_current->second_wx) && (w_current->first_wy == w_current->second_wy)) { o_box_invalidate_rubber (w_current); o_invalidate (w_current, o_current); return; } /* modify the right line end according to whichone */ o_line_modify(toplevel, o_current, w_current->second_wx, w_current->second_wy, whichone); } /*! \brief End process of modifying net object with grip. * \par Function Description * This function ends the process of modifying one end of the net * object *o_current. * This end is identified by whichone. The line object is modified * according to the whichone parameter and the last position of the * line end. * The connections to the modified net are checked and recreated if neccessary. * * A net with zero length, i.e. when both ends are identical, is not * allowed. In this case, the process is stopped and the line unchanged. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] o_current Net OBJECT to end modification on. * \param [in] whichone Which grip is pointed to. */ static void o_grips_end_net(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current, int whichone) { TOPLEVEL *toplevel = w_current->toplevel; GList *connected_objects; /* don't allow zero length net * this ends the net drawing behavior * we want this? hack */ if ((w_current->first_wx == w_current->second_wx) && (w_current->first_wy == w_current->second_wy)) { o_invalidate (w_current, o_current); return; } s_conn_remove_object (toplevel, o_current); o_net_modify (toplevel, o_current, w_current->second_wx, w_current->second_wy, w_current->which_grip); s_conn_update_object (toplevel, o_current); /* add bus rippers if necessary */ connected_objects = s_conn_return_others (NULL, o_current); o_net_add_busrippers (w_current, o_current, connected_objects); g_list_free (connected_objects); } /*! \brief End process of modifying pin object with grip. * \par Function Description * This function ends the process of modifying one end of the pin * object *o_current. * This end is identified by whichone. The pin object is modified * according to the whichone parameter and the last position of the * pin end. * The connections to the modified pin are checked and recreated if neccessary. * * A pin with zero length, i.e. when both ends are identical, is not * allowed. In this case, the process is stopped and the line unchanged. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] o_current Net OBJECT to end modification on. * \param [in] whichone Which grip is pointed to. */ static void o_grips_end_pin(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current, int whichone) { TOPLEVEL *toplevel = w_current->toplevel; /* don't allow zero length pin * this ends the pin changing behavior * we want this? hack */ if ((w_current->first_wx == w_current->second_wx) && (w_current->first_wy == w_current->second_wy)) { o_invalidate (w_current, o_current); return; } s_conn_remove_object (toplevel, o_current); o_pin_modify (toplevel, o_current, w_current->second_wx, w_current->second_wy, w_current->which_grip); s_conn_update_object (toplevel, o_current); } /*! \brief End process of modifying bus object with grip. * \par Function Description * This function ends the process of modifying one end of the bus * object *o_current. * This end is identified by whichone. The line object is modified * according to the whichone parameter and the last position of the * bus end. * The connections to the modified bus are checked and recreated if neccessary. * * A bus with zero length, i.e. when both ends are identical, is not * allowed. In this case, the process is stopped and the bus unchanged. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] o_current bus OBJECT to end modification on. * \param [in] whichone Which grip is pointed to. */ static void o_grips_end_bus(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current, int whichone) { TOPLEVEL *toplevel = w_current->toplevel; /* don't allow zero length bus * this ends the bus changing behavior * we want this? hack */ if ((w_current->first_wx == w_current->second_wx) && (w_current->first_wy == w_current->second_wy)) { o_invalidate (w_current, o_current); return; } s_conn_remove_object (toplevel, o_current); o_bus_modify (toplevel, o_current, w_current->second_wx, w_current->second_wy, w_current->which_grip); s_conn_update_object (toplevel, o_current); } /*! \brief End process of modifying object with grip. * \par Function Description * This function ends the process of modifying a parameter of an object * with a grip. * The temporary representation of the object is erased, the object is * modified and finally drawn. * * The object under modification is w_current->which_object and * the grip concerned is w_current->which_grip. * * Depending on the object type, a specific function is used. It erases * the temporary object, updates the object and draws the modified object * normally. * * \param [in,out] w_current The GSCHEM_TOPLEVEL object. */ void o_grips_end(GSCHEM_TOPLEVEL *w_current) { TOPLEVEL *toplevel = w_current->toplevel; OBJECT *object; int grip; object = w_current->which_object; grip = w_current->which_grip; if (!object) { /* actually this is an error condition hack */ w_current->inside_action = 0; i_set_state(w_current, SELECT); return; } switch(object->type) { case(OBJ_ARC): /* modify an arc object */ o_grips_end_arc(w_current, object, grip); break; case(OBJ_BOX): /* modify a box object */ o_grips_end_box(w_current, object, grip); break; case(OBJ_PATH): /* modify a path object */ o_grips_end_path(w_current, object, grip); break; case(OBJ_PICTURE): /* modify a picture object */ o_grips_end_picture(w_current, object, grip); break; case(OBJ_CIRCLE): /* modify a circle object */ o_grips_end_circle(w_current, object, grip); break; case(OBJ_LINE): /* modify a line object */ o_grips_end_line(w_current, object, grip); break; case(OBJ_NET): /* modify a net object */ o_grips_end_net(w_current, object, grip); break; case(OBJ_PIN): /* modify a pin object */ o_grips_end_pin(w_current, object, grip); break; case(OBJ_BUS): /* modify a bus object */ o_grips_end_bus(w_current, object, grip); break; default: return; } /* Switch drawing of the object back on */ object->dont_redraw = FALSE; o_invalidate (w_current, object); /* reset global variables */ w_current->which_grip = -1; w_current->which_object = NULL; w_current->rubber_visible = 0; toplevel->page_current->CHANGED=1; o_undo_savestate(w_current, UNDO_ALL); } /*! \brief Get half the width and height of grip in screen units. * \par Function Description * According to the current zoom level, the function returns half the width * and height of a grip in screen units. * * GRIP_SIZE1 and GRIP_SIZE2 and GRIP_SIZE3 are macros defined * in gschem_defines.h. They are the half width/height of a grip in * world unit for a determined range of zoom factors. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \return Half grip size in screen units. */ int o_grips_size(GSCHEM_TOPLEVEL *w_current) { TOPLEVEL *toplevel = w_current->toplevel; int factor, size; factor = (int) toplevel->page_current->to_world_x_constant; if (factor > SMALL_ZOOMFACTOR1) { /* big zoom factor : small size converted to screen unit */ size = SCREENabs (w_current, GRIP_SIZE1); } else if (factor > SMALL_ZOOMFACTOR2) { /* medium zoom factor : medium size converted to screen unit */ size = SCREENabs (w_current, GRIP_SIZE2); } else { /* small zoom factor : big size converted to screen unit */ size = SCREENabs (w_current, GRIP_SIZE3); } return min(size, MAXIMUM_GRIP_PIXELS/2); } /*! \brief Draw grip centered at x, y * \par Function Description * This function draws a grip centered at (x,y). Its color is * either the selection color or the overriding color from * toplevel->override_color. * * The size of the grip depends on the current zoom factor. * * x and y are in screen unit. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] wx Center x world coordinate for drawing grip. * \param [in] wy Center y world coordinate for drawing grip. */ void o_grips_draw(GSCHEM_TOPLEVEL *w_current, int wx, int wy) { TOPLEVEL *toplevel = w_current->toplevel; int color; int size, w_size; /* * Depending on the current zoom level, the size of the grip is * determined. size is half the width and height of the grip. */ /* size is half the width of grip */ size = o_grips_size (w_current); w_size = WORLDabs (w_current, size); /* * The grip can be displayed or erased : if toplevel->override_color * is not set the grip is drawn with the selection color ; if * toplevel->override_color is set then the color it refers it * is used. This way the grip can be erased if this color is the * background color. */ if (toplevel->override_color != -1 ) { /* override : use the override_color instead */ color = toplevel->override_color; } else { /* use the normal selection color */ color = SELECT_COLOR; } /* You can only tell an offset of the grip when it is very small, * at which point, the object it's on is probably drawn 1px wide. * Pass 0 as a hint that we're centering on a "hardware" line. */ gschem_cairo_center_box (w_current, 0, 0, wx, wy, w_size, w_size); gschem_cairo_set_source_color (w_current, x_color_lookup (color)); gschem_cairo_stroke (w_current, TYPE_SOLID, END_NONE, 0, -1, -1); } /*! \brief Draw objects being grip maniuplated from GSCHEM_TOPLEVEL object. * * \par Function Description * This function draws the objects being grip manipulated. * * \param [in] w_current The GSCHEM_TOPLEVEL object. */ void o_grips_draw_rubber (GSCHEM_TOPLEVEL *w_current) { g_return_if_fail (w_current->which_object != NULL); switch(w_current->which_object->type) { case OBJ_ARC: o_arc_draw_rubber (w_current); break; case OBJ_BOX: o_box_draw_rubber (w_current); break; case OBJ_PATH: o_path_draw_rubber (w_current); break; case OBJ_PICTURE: o_picture_draw_rubber (w_current); break; case OBJ_CIRCLE: o_circle_draw_rubber (w_current); break; case OBJ_LINE: case OBJ_NET: case OBJ_PIN: case OBJ_BUS: o_line_draw_rubber (w_current); break; default: return; /* error condition */ } } geda-gaf-1.8.2/gschem/src/x_compselect.c0000664000175000017500000015714012220647257015005 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #include #ifdef HAVE_SYS_PARAM_H #include #endif #include #ifdef HAVE_UNISTD_H #include #endif #ifdef HAVE_STRING_H #include #endif #include "gschem.h" #include #ifdef HAVE_LIBDMALLOC #include #endif #include "../include/gschem_dialog.h" #include "../include/x_preview.h" #include "../include/x_compselect.h" /*! \def COMPSELECT_FILTER_INTERVAL * \brief The time interval between request and actual filtering * * This constant is the time-lag between user modifications in the * filter entry and the actual evaluation of the filter which * ultimately update the display. It helps reduce the frequency of * evaluation of the filter as user types. * * Unit is milliseconds. */ #define COMPSELECT_FILTER_INTERVAL 200 enum compselect_view { VIEW_INUSE=0, VIEW_CLIB }; /*! \brief Return currently active component-selector view * * \par Function Description * This function returns which one of the possible views is active * in the component selector: VIEW_INUSE for the in-use view, or * VIEW_CLIB for the component library view. * * \todo FIXME: This function assumes the GtkNotebook pages displaying the * views are in a specific order. * * \param [in] compselect The component selection dialog. * \returns The currently active view (from the compselect_view enum). */ static enum compselect_view compselect_get_view (Compselect *compselect) { switch (gtk_notebook_get_current_page (compselect->viewtabs)) { case 0: return VIEW_INUSE; /* In use page */ case 1: return VIEW_CLIB; /* Component library page */ default: g_critical ("compselect_get_view: Unknown tab position\n"); return 0; } } /*! \brief Process the response returned by the component selection dialog. * \par Function Description * This function handles the response arg1 of the component * selection dialog dialog. * * Parameter user_data is a pointer on the relevant toplevel * structure. * * \param [in] dialog The component selection dialog. * \param [in] arg1 The response ID. * \param [in] user_data A pointer on the GSCHEM_TOPLEVEL environment. */ static void x_compselect_callback_response (GtkDialog *dialog, gint arg1, gpointer user_data) { Compselect *compselect = (Compselect*)dialog; GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL *)user_data; TOPLEVEL *toplevel = w_current->toplevel; switch (arg1) { case COMPSELECT_RESPONSE_PLACE: { CLibSymbol *symbol = NULL; CompselectBehavior behavior; g_object_get (compselect, "symbol", &symbol, "behavior", &behavior, NULL); w_current->include_complex = w_current->embed_complex = 0; switch (behavior) { case COMPSELECT_BEHAVIOR_REFERENCE: break; case COMPSELECT_BEHAVIOR_EMBED: w_current->embed_complex = 1; break; case COMPSELECT_BEHAVIOR_INCLUDE: w_current->include_complex = 1; break; default: g_assert_not_reached (); } if (w_current->event_state == ENDCOMP) { /* Delete the component which was being placed */ if (w_current->rubber_visible) o_place_invalidate_rubber (w_current, FALSE); w_current->rubber_visible = 0; s_delete_object_glist (toplevel, toplevel->page_current->place_list); toplevel->page_current->place_list = NULL; } else { /* Cancel whatever other action is currently in progress */ o_redraw_cleanstates (w_current); } if (symbol == NULL) { /* If there is no symbol selected, switch to SELECT mode */ w_current->event_state = SELECT; } else { /* Otherwise set the new symbol to place */ o_complex_prepare_place (w_current, symbol); } break; } case COMPSELECT_RESPONSE_HIDE: /* Response when clicking on the "hide" button */ /* If there is no component in the complex place list, set the current one */ if (toplevel->page_current->place_list == NULL) { gtk_dialog_response (GTK_DIALOG (compselect), COMPSELECT_RESPONSE_PLACE); } /* Hide the component selector */ g_object_set (G_OBJECT (compselect), "hidden", TRUE, NULL); break; case GTK_RESPONSE_CLOSE: case GTK_RESPONSE_DELETE_EVENT: g_assert (GTK_WIDGET (dialog) == w_current->cswindow); gtk_widget_destroy (GTK_WIDGET (dialog)); w_current->cswindow = NULL; if (w_current->event_state == ENDCOMP) { /* Cancel the place operation currently in progress */ o_redraw_cleanstates (w_current); /* return to the default state */ i_set_state (w_current, SELECT); i_update_toolbar (w_current); } break; default: /* Do nothing, in case there's another handler function which can handle the response ID received. */ break; } } /*! \brief Opens a component selection dialog. * \par Function Description * This function opens the component chooser dialog for * toplevel if it is not already. In this last case, it only * raises the dialog. * * \param [in] w_current The GSCHEM_TOPLEVEL environment. */ void x_compselect_open (GSCHEM_TOPLEVEL *w_current) { GtkWidget *current_tab, *entry_filter; GtkNotebook *compselect_notebook; if (w_current->cswindow == NULL) { w_current->cswindow = GTK_WIDGET ( g_object_new (TYPE_COMPSELECT, /* GschemDialog */ "settings-name", "compselect", "gschem-toplevel", w_current, NULL)); g_signal_connect (w_current->cswindow, "response", G_CALLBACK (x_compselect_callback_response), w_current); gtk_window_set_transient_for (GTK_WINDOW (w_current->cswindow), GTK_WINDOW (w_current->main_window)); gtk_widget_show (w_current->cswindow); } else { gtk_window_present (GTK_WINDOW (w_current->cswindow)); } gtk_editable_select_region (GTK_EDITABLE (COMPSELECT (w_current->cswindow)->entry_filter), 0, -1); /* Set the focus to the filter entry only if it is in the current displayed tab */ compselect_notebook = GTK_NOTEBOOK (COMPSELECT (w_current->cswindow)->viewtabs); current_tab = gtk_notebook_get_nth_page (compselect_notebook, gtk_notebook_get_current_page (compselect_notebook)); entry_filter = GTK_WIDGET (COMPSELECT (w_current->cswindow)->entry_filter); if (gtk_widget_is_ancestor (entry_filter, current_tab)) { gtk_widget_grab_focus (entry_filter); } } /*! \brief Closes the component selection dialog. * \par Function Description * This function closes the component chooser dialog associated with * toplevel. * * \param [in] w_current The GSCHEM_TOPLEVEL environment. */ void x_compselect_close (GSCHEM_TOPLEVEL *w_current) { if (w_current->cswindow) { g_assert (IS_COMPSELECT (w_current->cswindow)); gtk_widget_destroy (w_current->cswindow); w_current->cswindow = NULL; } } void x_compselect_deselect (GSCHEM_TOPLEVEL *w_current) { Compselect *compselect = COMPSELECT (w_current->cswindow); if (compselect == NULL) return; switch (compselect_get_view (compselect)) { case VIEW_INUSE: gtk_tree_selection_unselect_all ( gtk_tree_view_get_selection (compselect->inusetreeview)); break; case VIEW_CLIB: gtk_tree_selection_unselect_all ( gtk_tree_view_get_selection (compselect->libtreeview)); break; default: g_assert_not_reached (); } } enum { PROP_SYMBOL=1, PROP_BEHAVIOR, PROP_HIDDEN }; static GObjectClass *compselect_parent_class = NULL; static void compselect_class_init (CompselectClass *class); static GObject *compselect_constructor (GType type, guint n_construct_properties, GObjectConstructParam *construct_params); static void compselect_finalize (GObject *object); static void compselect_set_property (GObject *object, guint property_id, const GValue *value, GParamSpec *pspec); static void compselect_get_property (GObject *object, guint property_id, GValue *value, GParamSpec *pspec); /*! \brief Sets data for a particular cell of the in use treeview. * \par Function Description * This function determines what data is to be displayed in the * "in use" symbol selection view. * * The model is a list of symbols. s_clib_symbol_get_name() is called * to get the text to display. */ static void inuse_treeview_set_cell_data (GtkTreeViewColumn *tree_column, GtkCellRenderer *cell, GtkTreeModel *tree_model, GtkTreeIter *iter, gpointer data) { CLibSymbol *symbol; gtk_tree_model_get (tree_model, iter, 0, &symbol, -1); g_object_set ((GObject*)cell, "text", s_clib_symbol_get_name (symbol), NULL); } /*! \brief Sets data for a particular cell of the library treeview. * \par Function Description * This function determines what data is to be displayed in the * selection selection view. * * The top level of the model contains sources, and the next symbols. * s_clib_source_get_name() or s_clib_symbol_get_name() as * appropriate is called to get the text to display. */ static void lib_treeview_set_cell_data (GtkTreeViewColumn *tree_column, GtkCellRenderer *cell, GtkTreeModel *tree_model, GtkTreeIter *iter, gpointer data) { GtkTreeIter parent; CLibSource *source; CLibSymbol *symbol; const char *text; if (!gtk_tree_model_iter_parent (tree_model, &parent, iter)) { /* If top level, must be a source. */ gtk_tree_model_get (tree_model, iter, 0, &source, -1); text = s_clib_source_get_name (source); } else { /* Otherwise, must be a symbol */ gtk_tree_model_get (tree_model, iter, 0, &symbol, -1); text = s_clib_symbol_get_name (symbol); } g_object_set ((GObject*)cell, "text", text, NULL); } /*! \brief Determines visibility of items of the library treeview. * \par Function Description * This is the function used to filter entries of the component * selection tree. * * \param [in] model The current selection in the treeview. * \param [in] iter An iterator on a component or folder in the tree. * \param [in] data The component selection dialog. * \returns TRUE if item should be visible, FALSE otherwise. */ static gboolean lib_model_filter_visible_func (GtkTreeModel *model, GtkTreeIter *iter, gpointer data) { Compselect *compselect = (Compselect*)data; CLibSymbol *sym; const gchar *compname; gchar *compname_upper, *text_upper, *pattern; const gchar *text; gboolean ret; g_assert (IS_COMPSELECT (data)); text = gtk_entry_get_text (compselect->entry_filter); if (g_ascii_strcasecmp (text, "") == 0) { return TRUE; } /* If this is a source, only display it if it has children that * match */ if (gtk_tree_model_iter_has_child (model, iter)) { GtkTreeIter iter2; gtk_tree_model_iter_children (model, &iter2, iter); ret = FALSE; do { if (lib_model_filter_visible_func (model, &iter2, data)) { ret = TRUE; break; } } while (gtk_tree_model_iter_next (model, &iter2)); } else { gtk_tree_model_get (model, iter, 0, &sym, -1); compname = s_clib_symbol_get_name (sym); /* Do a case insensitive comparison, converting the strings to uppercase */ compname_upper = g_ascii_strup (compname, -1); text_upper = g_ascii_strup (text, -1); pattern = g_strconcat ("*", text_upper, "*", NULL); ret = g_pattern_match_simple (pattern, compname_upper); g_free (compname_upper); g_free (text_upper); g_free (pattern); } return ret; } /*! \brief Handles activation (e.g. double-clicking) of a component row * \par Function Description * Component row activated handler: * As a convenince to the user, expand / contract any node with children. * * \param [in] tree_view The component treeview. * \param [in] path The GtkTreePath to the activated row. * \param [in] column The GtkTreeViewColumn in which the activation occurred. * \param [in] user_data The component selection dialog. */ static void tree_row_activated (GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *column, gpointer user_data) { GtkTreeModel *model; GtkTreeIter iter; Compselect *compselect = (Compselect*)user_data; model = gtk_tree_view_get_model (tree_view); gtk_tree_model_get_iter (model, &iter, path); if (!gtk_tree_model_iter_has_child (model, &iter)) { gtk_dialog_response (GTK_DIALOG (compselect), COMPSELECT_RESPONSE_HIDE); return; } if (gtk_tree_view_row_expanded (tree_view, path)) gtk_tree_view_collapse_row (tree_view, path); else gtk_tree_view_expand_row (tree_view, path, FALSE); } /*! \brief GCompareFunc to sort an text object list by the object strings */ static gint sort_object_text (OBJECT *a, OBJECT *b) { return strcmp (a->text->string, b->text->string); } enum { ATTRIBUTE_COLUMN_NAME = 0, ATTRIBUTE_COLUMN_VALUE, NUM_ATTRIBUTE_COLUMNS }; /*! \brief Update the model of the attributes treeview * \par Function Description * This function takes the toplevel attributes from the preview widget and * puts them into the model of the attrtreeview widget. * \param [in] compselect The dialog compselect * \param [in] preview_toplevel The toplevel of the preview widget */ void update_attributes_model (Compselect *compselect, TOPLEVEL *preview_toplevel) { GtkListStore *model; GtkTreeIter iter; GtkTreeViewColumn *column; GList *listiter, *o_iter, *o_attrlist, *filter_list; gchar *name, *value; OBJECT *o_current; model = (GtkListStore*) gtk_tree_view_get_model (compselect->attrtreeview); gtk_list_store_clear (model); /* Invalidate the column width for the attribute value column, so * the column is re-sized based on the new data being shown. Symbols * with long values are common, and we don't want having viewed those * forcing a h-scroll-bar on symbols with short valued attributes. * * We might also consider invalidating the attribute name columns, * however that gives an inconsistent column division when swithing * between symbols, which doesn't look nice. For now, assume that * the name column can keep the max width gained whilst previewing. */ column = gtk_tree_view_get_column (compselect->attrtreeview, ATTRIBUTE_COLUMN_VALUE); gtk_tree_view_column_queue_resize (column); if (preview_toplevel->page_current == NULL) { return; } o_attrlist = o_attrib_find_floating_attribs ( s_page_objects (preview_toplevel->page_current)); filter_list = GSCHEM_DIALOG (compselect)->w_current->component_select_attrlist; if (filter_list != NULL && strcmp (filter_list->data, "*") == 0) { /* display all attributes in alphabetical order */ o_attrlist = g_list_sort (o_attrlist, (GCompareFunc) sort_object_text); for (o_iter = o_attrlist; o_iter != NULL; o_iter = g_list_next (o_iter)) { o_current = o_iter->data; o_attrib_get_name_value (o_current, &name, &value); gtk_list_store_append (model, &iter); gtk_list_store_set (model, &iter, 0, name, 1, value, -1); g_free (name); g_free (value); } } else { /* display only attribute that are in the filter list */ for (listiter = filter_list; listiter != NULL; listiter = g_list_next (listiter)) { for (o_iter = o_attrlist; o_iter != NULL; o_iter = g_list_next (o_iter)) { o_current = o_iter->data; if (o_attrib_get_name_value (o_current, &name, &value)) { if (strcmp (name, listiter->data) == 0) { gtk_list_store_append (model, &iter); gtk_list_store_set (model, &iter, 0, name, 1, value, -1); } g_free (name); g_free (value); } } } } g_list_free (o_attrlist); } /*! \brief Handles changes in the treeview selection. * \par Function Description * This is the callback function that is called every time the user * select a row in either component treeview of the dialog. * * If the selection is not a selection of a component (a directory * name), it does nothing. Otherwise it retrieves the #CLibSymbol * from the model. * * It then emits the dialog's apply signal to let its parent * know that a component has been selected. * * \param [in] selection The current selection in the treeview. * \param [in] user_data The component selection dialog. */ static void compselect_callback_tree_selection_changed (GtkTreeSelection *selection, gpointer user_data) { GtkTreeView *view; GtkTreeModel *model; GtkTreeIter iter, parent; Compselect *compselect = (Compselect*)user_data; const CLibSymbol *sym = NULL; gchar *buffer = NULL; if (gtk_tree_selection_get_selected (selection, &model, &iter)) { view = gtk_tree_selection_get_tree_view (selection); if (view == compselect->inusetreeview || /* No special handling required */ (view == compselect->libtreeview && gtk_tree_model_iter_parent (model, &parent, &iter))) { /* Tree view needs to check that we're at a leaf node */ gtk_tree_model_get (model, &iter, 0, &sym, -1); buffer = s_clib_symbol_get_data (sym); } } /* update the preview with new symbol data */ g_object_set (compselect->preview, "buffer", buffer, "active", (buffer != NULL), NULL); /* update the attributes with the toplevel of the preview widget*/ if (compselect->attrtreeview != NULL) update_attributes_model (compselect, compselect->preview->preview_w_current->toplevel); /* signal a component has been selected to parent of dialog */ g_signal_emit_by_name (compselect, "response", COMPSELECT_RESPONSE_PLACE, NULL); g_free (buffer); } /*! \brief Requests re-evaluation of the filter. * \par Function Description * This is the timeout function for the filtering of component in the * tree of the dialog. * * The timeout this callback is attached to is removed after the * function. * * \param [in] data The component selection dialog. * \returns FALSE to remove the timeout. */ static gboolean compselect_filter_timeout (gpointer data) { Compselect *compselect = COMPSELECT (data); GtkTreeModel *model; /* resets the source id in compselect */ compselect->filter_timeout = 0; model = gtk_tree_view_get_model (compselect->libtreeview); if (model != NULL) { const gchar *text = gtk_entry_get_text (compselect->entry_filter); gtk_tree_model_filter_refilter ((GtkTreeModelFilter*)model); if (strcmp (text, "") != 0) { /* filter text not-empty */ gtk_tree_view_expand_all (compselect->libtreeview); } else { /* filter text is empty, collapse expanded tree */ gtk_tree_view_collapse_all (compselect->libtreeview); } } /* return FALSE to remove the source */ return FALSE; } /*! \brief Callback function for the changed signal of the filter entry. * \par Function Description * This function monitors changes in the entry filter of the dialog. * * It specifically manages the sensitivity of the clear button of the * entry depending on its contents. It also requests an update of the * component list by re-evaluating filter at every changes. * * \param [in] editable The filter text entry. * \param [in] user_data The component selection dialog. */ static void compselect_callback_filter_entry_changed (GtkEditable *editable, gpointer user_data) { Compselect *compselect = COMPSELECT (user_data); GtkWidget *button; gboolean sensitive; /* turns button off if filter entry is empty */ /* turns it on otherwise */ button = GTK_WIDGET (compselect->button_clear); sensitive = (g_ascii_strcasecmp (gtk_entry_get_text (compselect->entry_filter), "") != 0); if (GTK_WIDGET_IS_SENSITIVE (button) != sensitive) { gtk_widget_set_sensitive (button, sensitive); } /* Cancel any pending update of the component list filter */ if (compselect->filter_timeout != 0) g_source_remove (compselect->filter_timeout); /* Schedule an update of the component list filter in * COMPSELECT_FILTER_INTERVAL milliseconds */ compselect->filter_timeout = g_timeout_add (COMPSELECT_FILTER_INTERVAL, compselect_filter_timeout, compselect); } /*! \brief Handles a click on the clear button. * \par Function Description * This is the callback function called every time the user press the * clear button associated with the filter. * * It resets the filter entry, indirectly causing re-evaluation * of the filter on the list of symbols to update the display. * * \param [in] button The clear button * \param [in] user_data The component selection dialog. */ static void compselect_callback_filter_button_clicked (GtkButton *button, gpointer user_data) { Compselect *compselect = COMPSELECT (user_data); /* clears text in text entry for filter */ gtk_entry_set_text (compselect->entry_filter, ""); } /*! \brief Handles changes of behavior. * \par Function Description * This function is called every time the value of the option menu * for behaviors is modified. * * It emits the dialog's apply signal to let the parent know * that the requested behavior for the next adding of a component has * been changed. * * \param [in] optionmenu The behavior option menu. * \param [in] user_data The component selection dialog. */ static void compselect_callback_behavior_changed (GtkOptionMenu *optionmenu, gpointer user_data) { Compselect *compselect = (Compselect*)user_data; g_signal_emit_by_name (compselect, "response", COMPSELECT_RESPONSE_PLACE, NULL); } /* \brief Create the tree model for the "In Use" view. * \par Function Description * Creates a straightforward list of symbols which are currently in * use, using s_toplevel_get_symbols(). */ static GtkTreeModel* create_inuse_tree_model (Compselect *compselect) { GtkListStore *store; GList *symhead, *symlist; GtkTreeIter iter; store = (GtkListStore *) gtk_list_store_new (1, G_TYPE_POINTER); symhead = s_toplevel_get_symbols (GSCHEM_DIALOG (compselect)->w_current->toplevel); for (symlist = symhead; symlist != NULL; symlist = g_list_next (symlist)) { gtk_list_store_append (store, &iter); gtk_list_store_set (store, &iter, 0, symlist->data, -1); } g_list_free (symhead); return (GtkTreeModel*)store; } /* \brief Create the tree model for the "Library" view. * \par Function Description * Creates a tree where the branches are the available component * sources and the leaves are the symbols. */ static GtkTreeModel* create_lib_tree_model (Compselect *compselect) { GtkTreeStore *store; GList *srchead, *srclist; GList *symhead, *symlist; store = (GtkTreeStore*)gtk_tree_store_new (1, G_TYPE_POINTER); /* populate component store */ srchead = s_clib_get_sources (GSCHEM_DIALOG (compselect)->w_current->sort_component_library != 0); for (srclist = srchead; srclist != NULL; srclist = g_list_next (srclist)) { GtkTreeIter iter, iter2; gtk_tree_store_append (store, &iter, NULL); gtk_tree_store_set (store, &iter, 0, srclist->data, -1); symhead = s_clib_source_get_symbols ((CLibSource *)srclist->data); for (symlist = symhead; symlist != NULL; symlist = g_list_next (symlist)) { gtk_tree_store_append (store, &iter2, &iter); gtk_tree_store_set (store, &iter2, 0, symlist->data, -1); } g_list_free (symhead); } g_list_free (srchead); return (GtkTreeModel*)store; } /* \brief On-demand refresh of the component library. * \par Function Description * Requests a rescan of the component library in order to pick up any * new signals, and then updates the component selector. */ static void compselect_callback_refresh_library (GtkButton *button, gpointer user_data) { Compselect *compselect = COMPSELECT (user_data); GtkTreeModel *model; GtkTreeSelection *selection; /* Rescan the libraries for symbols */ s_clib_refresh (); /* Refresh the "Library" view */ g_object_unref (gtk_tree_view_get_model (compselect->libtreeview)); model = (GtkTreeModel *) g_object_new (GTK_TYPE_TREE_MODEL_FILTER, "child-model", create_lib_tree_model (compselect), "virtual-root", NULL, NULL); gtk_tree_model_filter_set_visible_func ((GtkTreeModelFilter*)model, lib_model_filter_visible_func, compselect, NULL); /* Block handling selection updated for duration of model changes */ selection = gtk_tree_view_get_selection (compselect->libtreeview); g_signal_handlers_block_by_func (selection, compselect_callback_tree_selection_changed, compselect); /* Update the view model with signals blocked */ gtk_tree_view_set_model (compselect->libtreeview, model); /* Refresh the "In Use" view */ g_object_unref (gtk_tree_view_get_model (compselect->inusetreeview)); model = create_inuse_tree_model (compselect); /* Here we can update the model without blocking signals * as this is the second (final) tree view we are updating */ gtk_tree_view_set_model (compselect->inusetreeview, model); /* Unblock & fire handler for libtreeview selection */ g_signal_handlers_unblock_by_func (selection, compselect_callback_tree_selection_changed, compselect); } /*! \brief Creates the treeview for the "In Use" view. */ static GtkWidget* create_inuse_treeview (Compselect *compselect) { GtkWidget *scrolled_win, *treeview, *vbox, *hbox, *button; GtkTreeModel *model; GtkTreeSelection *selection; GtkCellRenderer *renderer; GtkTreeViewColumn *column; model = create_inuse_tree_model (compselect); vbox = GTK_WIDGET (g_object_new (GTK_TYPE_VBOX, /* GtkContainer */ "border-width", 5, /* GtkBox */ "homogeneous", FALSE, "spacing", 5, NULL)); /* Create a scrolled window to accomodate the treeview */ scrolled_win = GTK_WIDGET ( g_object_new (GTK_TYPE_SCROLLED_WINDOW, /* GtkContainer */ "border-width", 5, /* GtkScrolledWindow */ "hscrollbar-policy", GTK_POLICY_AUTOMATIC, "vscrollbar-policy", GTK_POLICY_ALWAYS, "shadow-type", GTK_SHADOW_ETCHED_IN, NULL)); /* Create the treeview */ treeview = GTK_WIDGET (g_object_new (GTK_TYPE_TREE_VIEW, /* GtkTreeView */ "model", model, "rules-hint", TRUE, "headers-visible", FALSE, NULL)); /* Connect callback to selection */ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview)); gtk_tree_selection_set_mode (selection, GTK_SELECTION_SINGLE); g_signal_connect (selection, "changed", G_CALLBACK (compselect_callback_tree_selection_changed), compselect); /* Insert a column for symbol name */ renderer = GTK_CELL_RENDERER ( g_object_new (GTK_TYPE_CELL_RENDERER_TEXT, /* GtkCellRendererText */ "editable", FALSE, NULL)); column = GTK_TREE_VIEW_COLUMN ( g_object_new (GTK_TYPE_TREE_VIEW_COLUMN, /* GtkTreeViewColumn */ "title", _("Components"), NULL)); gtk_tree_view_column_pack_start (column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func (column, renderer, inuse_treeview_set_cell_data, NULL, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column); /* Add the treeview to the scrolled window */ gtk_container_add (GTK_CONTAINER (scrolled_win), treeview); /* set the inuse treeview of compselect */ compselect->inusetreeview = GTK_TREE_VIEW (treeview); /* add the scrolled window for directories to the vertical box */ gtk_box_pack_start (GTK_BOX (vbox), scrolled_win, TRUE, TRUE, 0); /* -- refresh button area -- */ hbox = GTK_WIDGET (g_object_new (GTK_TYPE_HBOX, /* GtkBox */ "homogeneous", FALSE, "spacing", 3, NULL)); /* create the refresh button */ button = GTK_WIDGET (g_object_new (GTK_TYPE_BUTTON, /* GtkWidget */ "sensitive", TRUE, /* GtkButton */ "relief", GTK_RELIEF_NONE, NULL)); gtk_container_add (GTK_CONTAINER (button), gtk_image_new_from_stock (GTK_STOCK_REFRESH, GTK_ICON_SIZE_SMALL_TOOLBAR)); /* add the refresh button to the horizontal box at the end */ gtk_box_pack_end (GTK_BOX (hbox), button, FALSE, FALSE, 0); g_signal_connect (button, "clicked", G_CALLBACK (compselect_callback_refresh_library), compselect); /* add the refresh button area to the vertical box */ gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); return vbox; } /*! \brief Creates the treeview for the "Library" view */ static GtkWidget * create_lib_treeview (Compselect *compselect) { GtkWidget *libtreeview, *vbox, *scrolled_win, *label, *hbox, *entry, *button; GtkTreeModel *child_model, *model; GtkTreeSelection *selection; GtkCellRenderer *renderer; GtkTreeViewColumn *column; /* -- library selection view -- */ /* vertical box for component selection and search entry */ vbox = GTK_WIDGET (g_object_new (GTK_TYPE_VBOX, /* GtkContainer */ "border-width", 5, /* GtkBox */ "homogeneous", FALSE, "spacing", 5, NULL)); child_model = create_lib_tree_model (compselect); model = (GtkTreeModel*)g_object_new (GTK_TYPE_TREE_MODEL_FILTER, "child-model", child_model, "virtual-root", NULL, NULL); scrolled_win = GTK_WIDGET ( g_object_new (GTK_TYPE_SCROLLED_WINDOW, /* GtkContainer */ "border-width", 5, /* GtkScrolledWindow */ "hscrollbar-policy", GTK_POLICY_AUTOMATIC, "vscrollbar-policy", GTK_POLICY_ALWAYS, "shadow-type", GTK_SHADOW_ETCHED_IN, NULL)); /* create the treeview */ libtreeview = GTK_WIDGET (g_object_new (GTK_TYPE_TREE_VIEW, /* GtkTreeView */ "model", model, "rules-hint", TRUE, "headers-visible", FALSE, NULL)); g_signal_connect (libtreeview, "row-activated", G_CALLBACK (tree_row_activated), compselect); /* connect callback to selection */ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (libtreeview)); gtk_tree_selection_set_mode (selection, GTK_SELECTION_SINGLE); g_signal_connect (selection, "changed", G_CALLBACK (compselect_callback_tree_selection_changed), compselect); /* insert a column to treeview for library/symbol name */ renderer = GTK_CELL_RENDERER ( g_object_new (GTK_TYPE_CELL_RENDERER_TEXT, /* GtkCellRendererText */ "editable", FALSE, NULL)); column = GTK_TREE_VIEW_COLUMN ( g_object_new (GTK_TYPE_TREE_VIEW_COLUMN, /* GtkTreeViewColumn */ "title", _("Components"), NULL)); gtk_tree_view_column_pack_start (column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func (column, renderer, lib_treeview_set_cell_data, NULL, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (libtreeview), column); /* add the treeview to the scrolled window */ gtk_container_add (GTK_CONTAINER (scrolled_win), libtreeview); /* set directory/component treeview of compselect */ compselect->libtreeview = GTK_TREE_VIEW (libtreeview); /* add the scrolled window for directories to the vertical box */ gtk_box_pack_start (GTK_BOX (vbox), scrolled_win, TRUE, TRUE, 0); /* -- filter area -- */ hbox = GTK_WIDGET (g_object_new (GTK_TYPE_HBOX, /* GtkBox */ "homogeneous", FALSE, "spacing", 3, NULL)); /* create the entry label */ label = GTK_WIDGET (g_object_new (GTK_TYPE_LABEL, /* GtkMisc */ "xalign", 0.0, /* GtkLabel */ "label", _("Filter:"), NULL)); /* add the search label to the filter area */ gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); /* create the text entry for filter in components */ entry = GTK_WIDGET (g_object_new (GTK_TYPE_ENTRY, /* GtkEntry */ "text", "", NULL)); g_signal_connect (entry, "changed", G_CALLBACK (compselect_callback_filter_entry_changed), compselect); /* now that that we have an entry, set the filter func of model */ gtk_tree_model_filter_set_visible_func ((GtkTreeModelFilter*)model, lib_model_filter_visible_func, compselect, NULL); /* add the filter entry to the filter area */ gtk_box_pack_start (GTK_BOX (hbox), entry, TRUE, TRUE, 0); /* set filter entry of compselect */ compselect->entry_filter = GTK_ENTRY (entry); /* and init the event source for component filter */ compselect->filter_timeout = 0; /* create the erase button for filter entry */ button = GTK_WIDGET (g_object_new (GTK_TYPE_BUTTON, /* GtkWidget */ "sensitive", FALSE, /* GtkButton */ "relief", GTK_RELIEF_NONE, NULL)); gtk_container_add (GTK_CONTAINER (button), gtk_image_new_from_stock (GTK_STOCK_CLEAR, GTK_ICON_SIZE_SMALL_TOOLBAR)); g_signal_connect (button, "clicked", G_CALLBACK (compselect_callback_filter_button_clicked), compselect); /* add the clear button to the filter area */ gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0); /* set clear button of compselect */ compselect->button_clear = GTK_BUTTON (button); /* create the refresh button */ button = GTK_WIDGET (g_object_new (GTK_TYPE_BUTTON, /* GtkWidget */ "sensitive", TRUE, /* GtkButton */ "relief", GTK_RELIEF_NONE, NULL)); gtk_container_add (GTK_CONTAINER (button), gtk_image_new_from_stock (GTK_STOCK_REFRESH, GTK_ICON_SIZE_SMALL_TOOLBAR)); /* add the refresh button to the filter area */ gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0); g_signal_connect (button, "clicked", G_CALLBACK (compselect_callback_refresh_library), compselect); /* add the filter area to the vertical box */ gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); compselect->libtreeview = GTK_TREE_VIEW (libtreeview); return vbox; } /*! \brief Creates the treeview widget for the attributes */ static GtkWidget* create_attributes_treeview (Compselect *compselect) { GtkWidget *attrtreeview, *scrolled_win; GtkListStore *model; GtkCellRenderer *renderer; GtkTreeViewColumn *column; model = gtk_list_store_new (NUM_ATTRIBUTE_COLUMNS, G_TYPE_STRING, G_TYPE_STRING); attrtreeview = GTK_WIDGET (g_object_new (GTK_TYPE_TREE_VIEW, /* GtkTreeView */ "model", model, "headers-visible", FALSE, "rules-hint", TRUE, NULL)); /* two columns for name and value of the attributes */ renderer = GTK_CELL_RENDERER (g_object_new (GTK_TYPE_CELL_RENDERER_TEXT, "editable", FALSE, NULL)); column = GTK_TREE_VIEW_COLUMN (g_object_new (GTK_TYPE_TREE_VIEW_COLUMN, "title", _("Name"), "resizable", TRUE, NULL)); gtk_tree_view_column_pack_start (column, renderer, TRUE); gtk_tree_view_column_add_attribute (column, renderer, "text", ATTRIBUTE_COLUMN_NAME); gtk_tree_view_append_column (GTK_TREE_VIEW (attrtreeview), column); column = GTK_TREE_VIEW_COLUMN (g_object_new (GTK_TYPE_TREE_VIEW_COLUMN, "title", _("Value"), "resizable", TRUE, NULL)); gtk_tree_view_column_pack_start (column, renderer, TRUE); gtk_tree_view_column_add_attribute (column, renderer, "text", ATTRIBUTE_COLUMN_VALUE); gtk_tree_view_append_column (GTK_TREE_VIEW (attrtreeview), column); scrolled_win = GTK_WIDGET (g_object_new (GTK_TYPE_SCROLLED_WINDOW, /* GtkContainer */ "border-width", 5, /* GtkScrolledWindow */ "hscrollbar-policy", GTK_POLICY_AUTOMATIC, "vscrollbar-policy", GTK_POLICY_AUTOMATIC, "shadow-type", GTK_SHADOW_ETCHED_IN, NULL)); gtk_container_add (GTK_CONTAINER (scrolled_win), attrtreeview); compselect->attrtreeview = GTK_TREE_VIEW (attrtreeview); return scrolled_win; } /*! \brief Create the combo box for behaviors. * \par Function Description * This function creates and returns a GtkComboBox for * selecting the behavior when a component is added to the sheet. */ static GtkWidget* create_behaviors_combo_box (void) { GtkWidget *combobox; combobox = gtk_combo_box_new_text (); /* Note: order of items in menu is important */ /* COMPSEL_BEHAVIOR_REFERENCE */ gtk_combo_box_append_text (GTK_COMBO_BOX (combobox), _("Default behavior - reference component")); /* COMPSEL_BEHAVIOR_EMBED */ gtk_combo_box_append_text (GTK_COMBO_BOX (combobox), _("Embed component in schematic")); /* COMPSEL_BEHAVIOR_INCLUDE */ gtk_combo_box_append_text (GTK_COMBO_BOX (combobox), _("Include component as individual objects")); gtk_combo_box_set_active (GTK_COMBO_BOX (combobox), 0); return combobox; } GType compselect_get_type () { static GType compselect_type = 0; if (!compselect_type) { static const GTypeInfo compselect_info = { sizeof (CompselectClass), NULL, /* base_init */ NULL, /* base_finalize */ (GClassInitFunc) compselect_class_init, NULL, /* class_finalize */ NULL, /* class_data */ sizeof (Compselect), 0, /* n_preallocs */ NULL /* instance_init */ }; compselect_type = g_type_register_static (GSCHEM_TYPE_DIALOG, "Compselect", &compselect_info, 0); } return compselect_type; } /*! \brief GschemDialog "geometry_save" class method handler * * \par Function Description * Chain up to our parent's method to save the dialog's size and * position, then save the dialog's current internal geometry. * * \param [in] dialog The GschemDialog to save the geometry of. * \param [in] key_file The GKeyFile to save the geometry data to. * \param [in] group_name The group name in the key file to store the data under. */ static void compselect_geometry_save (GschemDialog *dialog, GKeyFile *key_file, gchar *group_name) { int position; /* Call the parent's geometry_save method */ GSCHEM_DIALOG_CLASS (compselect_parent_class)-> geometry_save (dialog, key_file, group_name); position = gtk_paned_get_position (GTK_PANED (COMPSELECT (dialog)->hpaned)); g_key_file_set_integer (key_file, group_name, "hpaned", position); position = gtk_paned_get_position (GTK_PANED (COMPSELECT (dialog)->vpaned)); g_key_file_set_integer (key_file, group_name, "vpaned", position); position = gtk_notebook_get_current_page (COMPSELECT (dialog)->viewtabs); g_key_file_set_integer (key_file, group_name, "source-tab", position); } /*! \brief GschemDialog "geometry_restore" class method handler * * \par Function Description * Chain up to our parent's method to restore the dialog's size and * position, then restore the dialog's current internal geometry. * * \param [in] dialog The GschemDialog to restore the geometry of. * \param [in] key_file The GKeyFile to save the geometry data to. * \param [in] group_name The group name in the key file to store the data under. */ static void compselect_geometry_restore (GschemDialog *dialog, GKeyFile *key_file, gchar *group_name) { int position; /* Call the parent's geometry_restore method */ GSCHEM_DIALOG_CLASS (compselect_parent_class)-> geometry_restore (dialog, key_file, group_name); position = g_key_file_get_integer (key_file, group_name, "hpaned", NULL); if (position != 0) gtk_paned_set_position (GTK_PANED (COMPSELECT (dialog)->hpaned), position); position = g_key_file_get_integer (key_file, group_name, "vpaned", NULL); if (position != 0) gtk_paned_set_position (GTK_PANED (COMPSELECT (dialog)->vpaned), position); position = g_key_file_get_integer (key_file, group_name, "source-tab", NULL); gtk_notebook_set_current_page (COMPSELECT (dialog)->viewtabs, position); } static void compselect_class_init (CompselectClass *klass) { GObjectClass *gobject_class = G_OBJECT_CLASS (klass); GschemDialogClass *gschem_dialog_class = GSCHEM_DIALOG_CLASS (klass); gschem_dialog_class->geometry_save = compselect_geometry_save; gschem_dialog_class->geometry_restore = compselect_geometry_restore; gobject_class->constructor = compselect_constructor; gobject_class->finalize = compselect_finalize; gobject_class->set_property = compselect_set_property; gobject_class->get_property = compselect_get_property; compselect_parent_class = g_type_class_peek_parent (klass); g_object_class_install_property ( gobject_class, PROP_SYMBOL, g_param_spec_pointer ("symbol", "", "", G_PARAM_READABLE)); g_object_class_install_property ( gobject_class, PROP_BEHAVIOR, g_param_spec_enum ("behavior", "", "", COMPSELECT_TYPE_BEHAVIOR, COMPSELECT_BEHAVIOR_REFERENCE, G_PARAM_READWRITE)); g_object_class_install_property ( gobject_class, PROP_HIDDEN, g_param_spec_boolean ("hidden", "", "", FALSE, G_PARAM_READWRITE)); } static GObject* compselect_constructor (GType type, guint n_construct_properties, GObjectConstructParam *construct_params) { GObject *object; Compselect *compselect; GtkWidget *hpaned, *vpaned, *notebook, *attributes; GtkWidget *libview, *inuseview; GtkWidget *preview, *combobox; GtkWidget *alignment, *frame; /* chain up to constructor of parent class */ object = G_OBJECT_CLASS (compselect_parent_class)-> constructor (type, n_construct_properties, construct_params); compselect = COMPSELECT (object); /* dialog initialization */ g_object_set (object, /* GtkWindow */ "title", _("Select Component..."), "default-height", 300, "default-width", 400, NULL); /* vertical pane containing preview and attributes */ vpaned = GTK_WIDGET (g_object_new (GTK_TYPE_VPANED, NULL)); compselect->vpaned = vpaned; /* horizontal pane containing selection and preview */ hpaned = GTK_WIDGET (g_object_new (GTK_TYPE_HPANED, /* GtkContainer */ "border-width", 5, NULL)); compselect->hpaned = hpaned; /* notebook for library and inuse views */ notebook = GTK_WIDGET (g_object_new (GTK_TYPE_NOTEBOOK, NULL)); compselect->viewtabs = GTK_NOTEBOOK (notebook); inuseview = create_inuse_treeview (compselect); gtk_notebook_append_page (GTK_NOTEBOOK (notebook), inuseview, gtk_label_new (_("In Use"))); libview = create_lib_treeview (compselect); gtk_notebook_append_page (GTK_NOTEBOOK (notebook), libview, gtk_label_new (_("Libraries"))); /* include the vertical box in horizontal box */ gtk_paned_pack1 (GTK_PANED (hpaned), notebook, TRUE, FALSE); /* -- preview area -- */ frame = GTK_WIDGET (g_object_new (GTK_TYPE_FRAME, /* GtkFrame */ "label", _("Preview"), NULL)); alignment = GTK_WIDGET (g_object_new (GTK_TYPE_ALIGNMENT, /* GtkAlignment */ "border-width", 5, "xscale", 1.0, "yscale", 1.0, "xalign", 0.5, "yalign", 0.5, NULL)); preview = GTK_WIDGET (g_object_new (TYPE_PREVIEW, /* Preview */ "active", FALSE, NULL)); gtk_container_add (GTK_CONTAINER (alignment), preview); gtk_container_add (GTK_CONTAINER (frame), alignment); /* set preview of compselect */ compselect->preview = PREVIEW (preview); gtk_paned_pack1 (GTK_PANED (vpaned), frame, FALSE, FALSE); /* only create the attribute treeview if there are elements in the component_select_attrlist */ if (GSCHEM_DIALOG (compselect)->w_current->component_select_attrlist == NULL) { compselect->attrtreeview = NULL; } else { frame = GTK_WIDGET (g_object_new (GTK_TYPE_FRAME, /* GtkFrame */ "label", _("Attributes"), NULL)); attributes = create_attributes_treeview (compselect); gtk_paned_pack2 (GTK_PANED (vpaned), frame, FALSE, FALSE); gtk_container_add (GTK_CONTAINER (frame), attributes); } gtk_paned_pack2 (GTK_PANED (hpaned), vpaned, FALSE, FALSE); /* add the hpaned to the dialog vbox */ gtk_box_pack_start (GTK_BOX (GTK_DIALOG (compselect)->vbox), hpaned, TRUE, TRUE, 0); gtk_widget_show_all (hpaned); /* -- behavior combo box -- */ combobox = create_behaviors_combo_box (); g_signal_connect (combobox, "changed", G_CALLBACK (compselect_callback_behavior_changed), compselect); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (compselect)->vbox), combobox, FALSE, FALSE, 10); gtk_widget_show_all (combobox); /* set behavior combo box of compselect */ compselect->combobox_behaviors = GTK_COMBO_BOX (combobox); /* now add buttons in the action area */ gtk_dialog_add_buttons (GTK_DIALOG (compselect), /* - close button */ GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE, GTK_STOCK_OK, COMPSELECT_RESPONSE_HIDE, NULL); /* Set the alternative button order (ok, cancel, help) for other systems */ gtk_dialog_set_alternative_button_order (GTK_DIALOG (compselect), COMPSELECT_RESPONSE_HIDE, GTK_RESPONSE_CLOSE, -1); /* Initialize the hidden property */ compselect->hidden = FALSE; return object; } static void compselect_finalize (GObject *object) { Compselect *compselect = COMPSELECT (object); if (compselect->filter_timeout != 0) { g_source_remove (compselect->filter_timeout); compselect->filter_timeout = 0; } G_OBJECT_CLASS (compselect_parent_class)->finalize (object); } static void compselect_set_property (GObject *object, guint property_id, const GValue *value, GParamSpec *pspec) { Compselect *compselect = COMPSELECT (object); switch (property_id) { case PROP_BEHAVIOR: gtk_combo_box_set_active (compselect->combobox_behaviors, g_value_get_enum (value)); break; case PROP_HIDDEN: compselect->hidden = g_value_get_boolean (value); if (compselect->hidden) gtk_widget_hide (GTK_WIDGET (compselect)); else gtk_window_present (GTK_WINDOW (compselect)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); } } static void compselect_get_property (GObject *object, guint property_id, GValue *value, GParamSpec *pspec) { Compselect *compselect = COMPSELECT (object); switch (property_id) { case PROP_SYMBOL: { GtkTreeModel *model; GtkTreeIter iter, parent; CLibSymbol *symbol = NULL; switch (compselect_get_view (compselect)) { case VIEW_INUSE: if (gtk_tree_selection_get_selected ( gtk_tree_view_get_selection (compselect->inusetreeview), &model, &iter)) { gtk_tree_model_get (model, &iter, 0, &symbol, -1); } break; case VIEW_CLIB: if (gtk_tree_selection_get_selected ( gtk_tree_view_get_selection (compselect->libtreeview), &model, &iter) && gtk_tree_model_iter_parent (model, &parent, &iter)) { gtk_tree_model_get (model, &iter, 0, &symbol, -1); } break; default: g_assert_not_reached (); } g_value_set_pointer (value, symbol); break; } case PROP_BEHAVIOR: g_value_set_enum (value, gtk_combo_box_get_active ( compselect->combobox_behaviors)); break; case PROP_HIDDEN: g_value_set_boolean (value, compselect->hidden); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); } } GType compselect_behavior_get_type (void) { static GType etype = 0; if (etype == 0) { static const GEnumValue values[] = { { COMPSELECT_BEHAVIOR_REFERENCE, "COMPSELECT_BEHAVIOR_REFERENCE", "reference" }, { COMPSELECT_BEHAVIOR_EMBED, "COMPSELECT_BEHAVIOR_EMBED", "embed" }, { COMPSELECT_BEHAVIOR_INCLUDE, "COMPSELECT_BEHAVIOR_INCLUDE", "include" }, { 0, NULL, NULL } }; etype = g_enum_register_static ("CompselectBehavior", values); } return etype; } geda-gaf-1.8.2/gschem/src/g_hook.c0000664000175000017500000001305412220647257013561 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2011 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #ifdef HAVE_STRING_H #include #endif #include #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif SCM_SYMBOL (at_sym, "@"); SCM_SYMBOL (gschem_sym, "gschem"); SCM_SYMBOL (core_sym, "core"); SCM_SYMBOL (hook_sym, "hook"); SCM_SYMBOL (run_hook_sym, "run-hook"); SCM_SYMBOL (list_sym, "list"); /*! \brief Gets a Scheme hook object by name. * \par Function Description * Returns the contents of variable with the given name in the (gschem * core hook). Used for looking up hook objects. * * \param name name of hook to lookup. * \return value found in the (gschem core hook) module. */ static SCM g_get_hook_by_name (const char *name) { SCM exp = scm_list_3 (at_sym, scm_list_3 (gschem_sym, core_sym, hook_sym), scm_from_utf8_symbol (name)); return g_scm_eval_protected (exp, SCM_UNDEFINED); } /*! \brief Runs a object hook for a list of objects. * \par Function Description * Runs a hook called \a name, which should expect a list of #OBJECT * smobs as its argument, with \a obj_lst as the argument list. * * \see g_run_hook_object() * * \param name name of hook to run. * \param obj_lst list of #OBJECT smobs as hook argument. */ void g_run_hook_object_list (GSCHEM_TOPLEVEL *w_current, const char *name, GList *obj_lst) { SCM lst = SCM_EOL; GList *iter; scm_dynwind_begin (0); g_dynwind_window (w_current); for (iter = obj_lst; iter != NULL; iter = g_list_next (iter)) { lst = scm_cons (edascm_from_object ((OBJECT *) iter->data), lst); } SCM expr = scm_list_3 (run_hook_sym, g_get_hook_by_name (name), scm_cons (list_sym, scm_reverse_x (lst, SCM_EOL))); g_scm_eval_protected (expr, scm_interaction_environment ()); scm_dynwind_end (); scm_remember_upto_here_1 (expr); } /*! \brief Runs a object hook with a single OBJECT. * \par Function Description * Runs a hook called \a name, which should expect a list of #OBJECT * smobs as its argument, with a single-element list containing only \a obj. * * \see g_run_hook_object_list() * * \param name name of hook to run. * \param obj #OBJECT argument for hook. */ void g_run_hook_object (GSCHEM_TOPLEVEL *w_current, const char *name, OBJECT *obj) { scm_dynwind_begin (0); g_dynwind_window (w_current); SCM expr = scm_list_3 (run_hook_sym, g_get_hook_by_name (name), scm_list_2 (list_sym, edascm_from_object (obj))); g_scm_eval_protected (expr, scm_interaction_environment ()); scm_dynwind_end (); scm_remember_upto_here_1 (expr); } /*! \brief Runs a page hook. * \par Function Description * Runs a hook called \a name, which should expect the single #PAGE \a * page as its argument. * * \param name name of hook to run * \param page #PAGE argument for hook. */ void g_run_hook_page (GSCHEM_TOPLEVEL *w_current, const char *name, PAGE *page) { scm_dynwind_begin (0); g_dynwind_window (w_current); SCM expr = scm_list_3 (run_hook_sym, g_get_hook_by_name (name), edascm_from_page (page)); g_scm_eval_protected (expr, scm_interaction_environment ()); scm_dynwind_end (); scm_remember_upto_here_1 (expr); } /*! \brief Create the (gschem core hook) Scheme module. * \par Function Description * Defines some hooks in the (gschem core hook) module. These hooks * allow Scheme callbacks to be triggered on certain gschem actions. * For a description of the arguments and behaviour of these hooks, * please see ../scheme/gschem/hook.scm. */ static void init_module_gschem_core_hook () { #include "g_hook.x" #define DEFINE_HOOK(name) \ do { \ scm_c_define (name, scm_make_hook (scm_from_int (1))); \ scm_c_export (name, NULL); \ } while (0) DEFINE_HOOK ("%add-objects-hook"); DEFINE_HOOK ("%remove-objects-hook"); DEFINE_HOOK ("%move-objects-hook"); DEFINE_HOOK ("%mirror-objects-hook"); DEFINE_HOOK ("%rotate-objects-hook"); DEFINE_HOOK ("%paste-objects-hook"); DEFINE_HOOK ("%attach-attribs-hook"); DEFINE_HOOK ("%detach-attribs-hook"); DEFINE_HOOK ("%select-objects-hook"); DEFINE_HOOK ("%deselect-objects-hook"); DEFINE_HOOK ("%new-page-hook"); } /*! * \brief Initialise the gschem hooks. * \par Function Description * Registers gschem's Guile hooks for various events.. Should only be * called by main_prog(). */ void g_init_hook () { /* Define the (gschem core hook) module */ scm_c_define_module ("gschem core hook", init_module_gschem_core_hook, NULL); } geda-gaf-1.8.2/gschem/src/x_color.c0000664000175000017500000001442312050461155013751 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #ifdef HAVE_STRING_H #include #endif #include #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif COLOR display_colors[MAX_COLORS]; COLOR display_outline_colors[MAX_COLORS]; static GdkColor* gdk_colors[MAX_COLORS]; static GdkColor* gdk_outline_colors[MAX_COLORS]; static GdkColormap *colormap = NULL; /*! \brief Initializes the color system for the application. * \par Function Documentation * * Initialises the color maps to defaults. */ void x_color_init (void) { colormap = gdk_colormap_get_system (); /* Initialise default color maps */ s_color_map_defaults (display_colors); s_color_map_defaults (display_outline_colors); } /*! \brief Frees memory used by the color system. * \par Function Documentation * This function frees the colors from colormap along with * \b black and \b white. */ void x_color_free (void) { int i; gdk_colormap_free_colors (colormap, &black, 1); gdk_colormap_free_colors (colormap, &white, 1); for (i = 0; i < MAX_COLORS; i++) { if (display_colors[i].enabled) gdk_colormap_free_colors (colormap, gdk_colors[i], 1); if (display_outline_colors[i].enabled) gdk_colormap_free_colors (colormap, gdk_outline_colors[i], 1); } } /*! \todo Finish function documentation!!! * \brief * \par Function Documentation * */ void x_color_allocate (void) { int error; int i; COLOR c; gdk_color_parse ("black", &black); if (!gdk_colormap_alloc_color (colormap, &black, FALSE, TRUE)) { fprintf (stderr, _("Could not allocate the color %s!\n"), _("black")); exit (-1); } gdk_color_parse ("white", &white); if (!gdk_colormap_alloc_color (colormap, &white, FALSE, TRUE)) { fprintf (stderr, _("Could not allocate the color %s!\n"), _("white")); exit (-1); } for (i = 0; i < MAX_COLORS; i++) { if (display_colors[i].enabled) { gdk_colors[i] = (GdkColor *) g_malloc(sizeof(GdkColor)); c = display_colors[i]; /* Interpolate 8-bpp colours into 16-bpp GDK color * space. N.b. ignore transparency because GDK doesn't * understand it. */ gdk_colors[i]->red = c.r + (c.r<<8); gdk_colors[i]->green = c.g + (c.g<<8); gdk_colors[i]->blue = c.b + (c.b<<8); error = gdk_color_alloc(colormap, gdk_colors[i]); if (error == FALSE) { g_error (_("Could not allocate display color %i!\n"), i); } } else { gdk_colors[i] = NULL; } if (display_outline_colors[i].enabled) { gdk_outline_colors[i] = (GdkColor *) g_malloc(sizeof(GdkColor)); c = display_outline_colors[i]; /* Interpolate 8-bpp colours into 16-bpp GDK color * space. N.b. ignore transparency because GDK doesn't * understand it. */ gdk_outline_colors[i]->red = c.r + (c.r<<8); gdk_outline_colors[i]->green = c.g + (c.g<<8); gdk_outline_colors[i]->blue = c.b + (c.b<<8); error = gdk_color_alloc(colormap, gdk_outline_colors[i]); if (error == FALSE) { g_error (_("Could not allocate outline color %i!\n"), i); } } else { gdk_outline_colors[i] = NULL; } } } /*! \todo Finish function documentation!!! * \brief * \par Function Documentation * */ GdkColor *x_get_color(int color) { if ((color < 0) || (color >= MAX_COLORS) || (gdk_colors[color] == NULL)) { g_warning (_("Tried to get an invalid color: %d\n"), color); return(&white); } else { return(gdk_colors[color]); } } /*! \todo Finish function documentation!!! * \brief * \par Function Documentation * * \todo this has to change... to the right code */ GdkColor *x_get_darkcolor(int color) { if ((color < 0) || (color >= MAX_COLORS) || (gdk_outline_colors[color] == NULL)) { g_warning (_("Tried to get an invalid color: %d\n"), color); return(&white); } else { return(gdk_outline_colors[color]); } } /*! \todo Finish function documentation!!! * \brief * \par Function Documentation * */ COLOR *x_color_lookup (int color) { if (color < 0 || color >= MAX_COLORS || !display_colors[color].enabled) { fprintf(stderr, _("Tried to get an invalid color: %d\n"), color); return &display_colors[DEFAULT_COLOR]; } else { return &display_colors[color]; } } /*! \todo Finish function documentation!!! * \brief * \par Function Documentation * * \todo this has to change... to the right code */ COLOR *x_color_lookup_dark (int color) { if (color < 0 || color >= MAX_COLORS || !display_outline_colors[color].enabled) { g_warning (_("Tried to get an invalid outline color: %d\n"), color); return &display_outline_colors[DEFAULT_COLOR]; } else { return &display_outline_colors[color]; } } /*! \todo Finish function documentation!!! * \brief * \par Function Documentation * */ gchar *x_color_get_name(int index) { COLOR c; if ((index >= MAX_COLORS) || (index < 0)) { return(NULL); } if (display_colors[index].enabled) { c = display_colors[index]; return s_color_rgba_encode (c.r, c.g, c.b, c.a); } /* didn't find a color, but there still might be more */ return(NULL); } gboolean x_color_display_enabled (int index) { return (gdk_colors[index] != NULL); } geda-gaf-1.8.2/gschem/src/gschem_pango.c0000664000175000017500000003007212220647257014744 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 2008-2010 gEDA Contributors (see ChangeLog for details) * Copyright (C) 2000 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * This file based on GDK's gdkpango.c (LGPL V2+) * Copyright (C) 2000 Red Hat, Inc. */ #include #include "gschem.h" #include #include #include #define MAGIC_OVERBAR_POS_CONSTANT 0.8 struct _GschemPangoRendererPrivate { cairo_surface_t *surface; /* GschemPangoRenderer specific state */ gboolean overbar; cairo_t *cr; }; static PangoAttrType gschem_pango_attr_overbar_type; enum { PROP_0, PROP_CR }; G_DEFINE_TYPE (GschemPangoRenderer, gschem_pango_renderer, PANGO_TYPE_RENDERER) static void gschem_pango_renderer_finalize (GObject *object) { G_OBJECT_CLASS (gschem_pango_renderer_parent_class)->finalize (object); } static GObject* gschem_pango_renderer_constructor (GType type, guint n_construct_properties, GObjectConstructParam *construct_params) { GObject *object; GschemPangoRenderer *gschem_renderer; object = G_OBJECT_CLASS (gschem_pango_renderer_parent_class)->constructor (type, n_construct_properties, construct_params); gschem_renderer = GSCHEM_PANGO_RENDERER (object); if (gschem_renderer->priv->cr == NULL) { g_warning ("Cairo context must be specified at construct time for GschemPangoRenderer"); } return object; } static cairo_t * get_cairo_context (GschemPangoRenderer *gschem_renderer, PangoRenderPart part) { GschemPangoRendererPrivate *priv = gschem_renderer->priv; return priv->cr; } static void gschem_pango_renderer_draw_glyphs (PangoRenderer *renderer, PangoFont *font, PangoGlyphString *glyphs, int x, int y) { GschemPangoRenderer *gschem_renderer = GSCHEM_PANGO_RENDERER (renderer); GschemPangoRendererPrivate *priv = gschem_renderer->priv; cairo_t *cr; cr = get_cairo_context (gschem_renderer, PANGO_RENDER_PART_FOREGROUND); if (priv->overbar) { double rx, ry, rwidth, rheight, cheight; PangoFontMetrics *metrics; PangoRectangle logical; int underline_thickness; /* Make the thickness the same as for the font's underline */ metrics = pango_font_get_metrics (font, NULL); underline_thickness = pango_font_metrics_get_underline_thickness (metrics); pango_font_metrics_unref (metrics); pango_glyph_string_extents (glyphs, font, NULL, &logical); rx = x; ry = y - logical.height * MAGIC_OVERBAR_POS_CONSTANT; rwidth = logical.width; rheight = underline_thickness; cheight = rheight / PANGO_SCALE; /* Allow the overbar to fade out as it becomes < 1px high */ if (cheight > 1.0) cheight = (int)(cheight); /* \note The +1 on width is a hack to ensure hinting doesn't * sometimes cause the overbars to be broken by a 1px gap * if the overbar spans multiple calls to this function. */ cairo_rectangle (cr, (int)(rx / PANGO_SCALE), (int)(ry / PANGO_SCALE), (int)(rwidth / PANGO_SCALE) + 1, cheight); cairo_fill (cr); } cairo_move_to (cr, (double)x / PANGO_SCALE, (double)y / PANGO_SCALE); pango_cairo_show_glyph_string (cr, font, glyphs); } static void gschem_pango_renderer_draw_rectangle (PangoRenderer *renderer, PangoRenderPart part, int x, int y, int width, int height) { GschemPangoRenderer *gschem_renderer = GSCHEM_PANGO_RENDERER (renderer); cairo_t *cr; cr = get_cairo_context (gschem_renderer, part); cairo_rectangle (cr, (double)x / PANGO_SCALE, (double)y / PANGO_SCALE, (double)width / PANGO_SCALE, (double)height / PANGO_SCALE); cairo_fill (cr); } static void gschem_pango_renderer_draw_error_underline (PangoRenderer *renderer, int x, int y, int width, int height) { GschemPangoRenderer *gschem_renderer = GSCHEM_PANGO_RENDERER (renderer); cairo_t *cr; cr = get_cairo_context (gschem_renderer, PANGO_RENDER_PART_UNDERLINE); pango_cairo_show_error_underline (cr, (double)x / PANGO_SCALE, (double)y / PANGO_SCALE, (double)width / PANGO_SCALE, (double)height / PANGO_SCALE); } static void gschem_pango_renderer_part_changed (PangoRenderer *renderer, PangoRenderPart part) { } static void gschem_pango_renderer_begin (PangoRenderer *renderer) { } static void gschem_pango_renderer_end (PangoRenderer *renderer) { } static void gschem_pango_renderer_prepare_run (PangoRenderer *renderer, PangoLayoutRun *run) { GschemPangoRenderer *gschem_renderer = GSCHEM_PANGO_RENDERER (renderer); gboolean overbar = FALSE; gboolean changed = FALSE; GSList *l; for (l = run->item->analysis.extra_attrs; l; l = l->next) { PangoAttribute *attr = l->data; /* overbar_type isn't necessarily initialized, but it is 0, * which is an invalid type so won't occur. */ if (attr->klass->type == gschem_pango_attr_overbar_type) { overbar = ((GschemPangoAttrOverbar*)attr)->overbar; } } if (overbar != gschem_renderer->priv->overbar) { gschem_renderer->priv->overbar = overbar; changed = TRUE; } if (changed) pango_renderer_part_changed (renderer, PANGO_RENDER_PART_FOREGROUND); PANGO_RENDERER_CLASS (gschem_pango_renderer_parent_class)->prepare_run (renderer, run); } static void gschem_pango_renderer_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { GschemPangoRenderer *gschem_renderer = GSCHEM_PANGO_RENDERER (object); switch (prop_id) { case PROP_CR: gschem_renderer->priv->cr = g_value_get_pointer (value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } } static void gschem_pango_renderer_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { GschemPangoRenderer *gschem_renderer = GSCHEM_PANGO_RENDERER (object); switch (prop_id) { case PROP_CR: g_value_set_pointer (value, gschem_renderer->priv->cr); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } } static void gschem_pango_renderer_init (GschemPangoRenderer *renderer) { renderer->priv = G_TYPE_INSTANCE_GET_PRIVATE (renderer, GSCHEM_TYPE_PANGO_RENDERER, GschemPangoRendererPrivate); } static void gschem_pango_renderer_class_init (GschemPangoRendererClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); PangoRendererClass *renderer_class = PANGO_RENDERER_CLASS (klass); renderer_class->draw_glyphs = gschem_pango_renderer_draw_glyphs; renderer_class->draw_rectangle = gschem_pango_renderer_draw_rectangle; renderer_class->draw_error_underline = gschem_pango_renderer_draw_error_underline; renderer_class->part_changed = gschem_pango_renderer_part_changed; renderer_class->begin = gschem_pango_renderer_begin; renderer_class->end = gschem_pango_renderer_end; renderer_class->prepare_run = gschem_pango_renderer_prepare_run; object_class->finalize = gschem_pango_renderer_finalize; object_class->constructor = gschem_pango_renderer_constructor; object_class->set_property = gschem_pango_renderer_set_property; object_class->get_property = gschem_pango_renderer_get_property; g_object_class_install_property (object_class, PROP_CR, g_param_spec_pointer ("cr", _("cairo context"), _("the cairo context for the renderer"), G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_type_class_add_private (object_class, sizeof (GschemPangoRendererPrivate)); } /*! * \brief Create a new PangoRenderer * * Create a new #PangoRenderer. Normally you can use the results * of gschem_pango_renderer_get_default() rather than creating a new renderer. * * \param [in] cr a cairo renderer * \return a newly created #PangoRenderer. Free with g_object_unref(). */ PangoRenderer * gschem_pango_renderer_new (cairo_t *cr) { return g_object_new (GSCHEM_TYPE_PANGO_RENDERER, "cr", cr, NULL); } void gschem_pango_show_layout (cairo_t *cr, PangoLayout *pl) { static PangoRenderer *renderer = NULL; static cairo_t *cr_cache = NULL; double x_off, y_off; if (cr_cache != cr && renderer != NULL) { g_object_unref (renderer); renderer = NULL; } if (renderer == NULL) { renderer = gschem_pango_renderer_new (cr); cr_cache = cr; } cairo_get_current_point (cr, &x_off, &y_off); pango_renderer_draw_layout (renderer, pl, x_off * PANGO_SCALE, y_off * PANGO_SCALE); } /* GschemPangoAttrOverbar */ static PangoAttribute * gschem_pango_attr_overbar_copy (const PangoAttribute *attr) { const GschemPangoAttrOverbar *e = (const GschemPangoAttrOverbar*) attr; return gschem_pango_attr_overbar_new (e->overbar); } static void gschem_pango_attr_overbar_destroy (PangoAttribute *attr) { g_free (attr); } static gboolean gschem_pango_attr_overbar_compare (const PangoAttribute *attr1, const PangoAttribute *attr2) { const GschemPangoAttrOverbar *e1 = (const GschemPangoAttrOverbar*) attr1; const GschemPangoAttrOverbar *e2 = (const GschemPangoAttrOverbar*) attr2; return e1->overbar == e2->overbar; } /*! * Creates a new attribute flagging a region as being drawn with overbar or not * * \param [in] overbar if the region should be drawn with an overbar * \return a new #PangoAttribute */ PangoAttribute * gschem_pango_attr_overbar_new (gboolean overbar) { GschemPangoAttrOverbar *result; static PangoAttrClass klass = { 0, gschem_pango_attr_overbar_copy, gschem_pango_attr_overbar_destroy, gschem_pango_attr_overbar_compare }; if (!klass.type) klass.type = gschem_pango_attr_overbar_type = pango_attr_type_register ("GschemPangoAttrOverbar"); result = g_new (GschemPangoAttrOverbar, 1); result->attr.klass = &klass; result->overbar = overbar; return (PangoAttribute *)result; } geda-gaf-1.8.2/gschem/src/o_path.c0000664000175000017500000005174612220647257013577 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #include #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif #define NUM_BEZIER_SEGMENTS 100 typedef void (*FILL_FUNC) (GSCHEM_TOPLEVEL *w_current, COLOR *color, PATH *path, gint fill_width, gint angle1, gint pitch1, gint angle2, gint pitch2); static void hint_coordinates (int x, int y, double *fx, double *fy, int width) { double offset = ((width % 2) == 0) ? 0 : 0.5; *fx = (double)x + offset; *fy = (double)y + offset; } static void path_path (GSCHEM_TOPLEVEL *w_current, OBJECT *object) { PATH *path = object->path; int line_width; int i; int x1, y1, x2, y2, x3, y3; double fx1 = 0.0, fy1 = 0.0; double fx2 = 0.0, fy2 = 0.0; double fx3 = 0.0, fy3 = 0.0; line_width = SCREENabs (w_current, object->line_width); if (line_width <= 0) { line_width = 1; } for (i = 0; i < path->num_sections; i++) { PATH_SECTION *section = &path->sections[i]; switch (section->code) { case PATH_CURVETO: /* Two control point grips */ WORLDtoSCREEN (w_current, section->x1, section->y1, &x1, &y1); WORLDtoSCREEN (w_current, section->x2, section->y2, &x2, &y2); hint_coordinates (x1, y1, &fx1, &fy1, line_width); hint_coordinates (x2, y2, &fx2, &fy2, line_width); /* Fall through */ case PATH_MOVETO: case PATH_MOVETO_OPEN: case PATH_LINETO: /* Destination point grip */ WORLDtoSCREEN (w_current, section->x3, section->y3, &x3, &y3); hint_coordinates (x3, y3, &fx3, &fy3, line_width); case PATH_END: break; } switch (section->code) { case PATH_MOVETO: cairo_close_path (w_current->cr); /* fall-through */ case PATH_MOVETO_OPEN: cairo_move_to (w_current->cr, fx3, fy3); break; case PATH_CURVETO: cairo_curve_to (w_current->cr, fx1, fy1, fx2, fy2, fx3, fy3); break; case PATH_LINETO: cairo_line_to (w_current->cr, fx3, fy3); break; case PATH_END: cairo_close_path (w_current->cr); break; } } } static PATH *path_copy_modify (PATH *path, int dx, int dy, int new_x, int new_y, int whichone) { PATH *new_path; int x1, y1, x2, y2, x3, y3; int i; int grip_no = 0; new_path = g_malloc (sizeof (PATH)); new_path->sections = g_malloc (path->num_sections * sizeof (PATH_SECTION)); new_path->num_sections = path->num_sections; new_path->num_sections_max = path->num_sections; for (i = 0; i < path->num_sections; i++) { PATH_SECTION *section = &path->sections[i]; PATH_SECTION *new_section = &new_path->sections[i]; x1 = section->x1 + dx; y1 = section->y1 + dy; x2 = section->x2 + dx; y2 = section->y2 + dy; x3 = section->x3 + dx; y3 = section->y3 + dy; switch (section->code) { case PATH_CURVETO: /* Two control point grips */ if (whichone == grip_no++) { x1 = new_x; y1 = new_y; } if (whichone == grip_no++) { x2 = new_x; y2 = new_y; } /* Fall through */ case PATH_MOVETO: case PATH_MOVETO_OPEN: case PATH_LINETO: /* Destination point grip */ if (whichone == grip_no++) { x3 = new_x; y3 = new_y; } case PATH_END: break; } new_section->code = section->code; new_section->x1 = x1; new_section->y1 = y1; new_section->x2 = x2; new_section->y2 = y2; new_section->x3 = x3; new_section->y3 = y3; } return new_path; } /*! \brief Placeholder filling function. * \par Function Description * This function does nothing. It has the same prototype as all the * filling functions. It prevent from making a difference between filling * in function #o_path_draw(). * * \param [in] w_current Schematic top level * \param [in] color Box fill color. * \param [in] path The PATH object to draw * \param [in] fill_width PATH pattern fill width. * \param [in] angle1 1st angle for pattern. * \param [in] pitch1 1st pitch for pattern. * \param [in] angle2 2nd angle for pattern. * \param [in] pitch2 2nd pitch for pattern. */ static void o_path_fill_hollow (GSCHEM_TOPLEVEL *w_current, COLOR *color, PATH *path, gint fill_width, gint angle1, gint pitch1, gint angle2, gint pitch2) { /* NOP */ } /*! \brief Fill inside of path with a solid pattern. * \par Function Description * This function fills the inside of the path with a solid pattern. * Parameters angle1, pitch1 and angle2, * pitch2 and fill_width are unused here but kept for compatibility * with other path filling functions. * * \param [in] w_current Schematic top level * \param [in] color Box fill color. * \param [in] path The PATH object to draw * \param [in] fill_width PATH pattern fill width. * \param [in] angle1 (unused) * \param [in] pitch1 (unused) * \param [in] angle2 (unused) * \param [in] pitch2 (unused) */ static void o_path_fill_fill (GSCHEM_TOPLEVEL *w_current, COLOR *color, PATH *path, gint fill_width, gint angle1, gint pitch1, gint angle2, gint pitch2) { /* NOP: We'll fill it when we do the stroking */ } /*! \brief Fill inside of path with single line pattern. * \par Function Description * This function fills the inside of the path with a pattern made of lines. * The lines are drawn inside the path with an angle angle1 from the * horizontal. The distance between two of these lines is given by * pitch1 and their width by fill_width. * Parameters angle2 and pitch2 are unused here but kept for * compatbility with other path filling functions. * * \param [in] w_current Schematic top level * \param [in] color Box fill color. * \param [in] path The PATH object to draw * \param [in] fill_width PATH pattern fill width. * \param [in] angle1 1st angle for pattern. * \param [in] pitch1 1st pitch for pattern. * \param [in] angle2 (unused) * \param [in] pitch2 (unused) */ static void o_path_fill_hatch (GSCHEM_TOPLEVEL *w_current, COLOR *color, PATH *path, gint fill_width, gint angle1, gint pitch1, gint angle2, gint pitch2) { int i; GArray *lines; gschem_cairo_set_source_color (w_current, color); lines = g_array_new (FALSE, FALSE, sizeof (LINE)); m_hatch_path (path, angle1, pitch1, lines); for (i=0; i < lines->len; i++) { LINE *line = &g_array_index (lines, LINE, i); gschem_cairo_line (w_current, END_NONE, fill_width, line->x[0], line->y[0], line->x[1], line->y[1]); } gschem_cairo_stroke (w_current, TYPE_SOLID, END_NONE, fill_width, -1, -1); g_array_free (lines, TRUE); } /*! \brief Fill inside of path with mesh pattern. * \par Function Description * This function fills the inside of the path with a pattern made of two * sets of parallel lines in two directions. The first set is drawn inside * the path with an angle angle1 from the horizontal. The distance * between two of these lines is given by pitch1. * The second set is drawn inside the path with an angle angle2 from * the horizontal. The distance between two of these lines is given * by pitch2. * * \param [in] w_current Schematic top level * \param [in] color Box fill color. * \param [in] path The PATH object to draw * \param [in] fill_width PATH pattern fill width. * \param [in] angle1 1st angle for pattern. * \param [in] pitch1 1st pitch for pattern. * \param [in] angle2 2nd angle for pattern. * \param [in] pitch2 2nd pitch for pattern. */ static void o_path_fill_mesh (GSCHEM_TOPLEVEL *w_current, COLOR *color, PATH *path, gint fill_width, gint angle1, gint pitch1, gint angle2, gint pitch2) { o_path_fill_hatch (w_current, color, path, fill_width, angle1, pitch1, -1, -1); o_path_fill_hatch (w_current, color, path, fill_width, angle2, pitch2, -1, -1); } /*! \brief Draw a path on screen. * \par Function Description * This function is used to draw a path on screen. The path is described * in the object which is referred by o_current. The path is displayed * according to the current state, described in the GSCHEM_TOPLEVEL object pointed * by w_current. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] o_current The path OBJECT to draw. */ void o_path_draw(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current) { PATH *path = o_current->path; int angle1, pitch1, angle2, pitch2; FILL_FUNC fill_func; if (path == NULL) { return; } angle1 = o_current->fill_angle1; pitch1 = o_current->fill_pitch1; angle2 = o_current->fill_angle2; pitch2 = o_current->fill_pitch2; switch(o_current->fill_type) { case FILLING_HOLLOW: angle1 = -1; angle2 = -1; pitch1 = 1; pitch2 = 1; /* this function is empty ! however if it do not use it we have to add * a test before the call. Simply putting a return here instead is not * possible as it would prevent any hollow path from having its grips * drawn */ fill_func = o_path_fill_hollow; break; case FILLING_FILL: angle1 = -1; angle2 = -1; pitch1 = 1; pitch2 = 1; fill_func = o_path_fill_fill; break; case FILLING_MESH: fill_func = o_path_fill_mesh; break; case FILLING_HATCH: angle2 = -1; pitch2 = 1; fill_func = o_path_fill_hatch; break; case FILLING_VOID: default: angle1 = -1; angle2 = -1; pitch1 = 1; pitch2 = 1; fill_func = o_path_fill_hollow; fprintf(stderr, _("Unknown type for path (fill)!\n")); } if((pitch1 <= 0) || (pitch2 <= 0)) { fill_func = o_path_fill_fill; } (*fill_func) (w_current, o_drawing_color (w_current, o_current), path, o_current->fill_width, angle1, pitch1, angle2, pitch2); path_path (w_current, o_current); gschem_cairo_set_source_color (w_current, o_drawing_color (w_current, o_current)); if (o_current->fill_type == FILLING_FILL) cairo_fill_preserve (w_current->cr); gschem_cairo_stroke (w_current, o_current->line_type, o_current->line_end, o_current->line_width, o_current->line_length, o_current->line_space); if (o_current->selected && w_current->draw_grips) { o_path_draw_grips (w_current, o_current); } } /*! \todo Finish function documentation * \brief * \par Function Description */ void o_path_invalidate_rubber (GSCHEM_TOPLEVEL *w_current) { PATH *path = w_current->which_object->path; int min_x, min_y, max_x, max_y; int x1, y1, x2, y2, x3, y3; int new_x, new_y, whichone; int grip_no = 0; int i; min_x = G_MAXINT; max_x = G_MININT; min_y = G_MAXINT; max_y = G_MININT; new_x = w_current->second_wx; new_y = w_current->second_wy; whichone = w_current->which_grip; for (i = 0; i < path->num_sections; i++) { PATH_SECTION *section = &path->sections[i]; x1 = section->x1; y1 = section->y1; x2 = section->x2; y2 = section->y2; x3 = section->x3; y3 = section->y3; switch (section->code) { case PATH_CURVETO: /* Two control point grips */ if (whichone == grip_no++) { x1 = new_x; y1 = new_y; } if (whichone == grip_no++) { x2 = new_x; y2 = new_y; } min_x = MIN (min_x, x1); min_y = MIN (min_y, y1); max_x = MAX (max_x, x1); max_y = MAX (max_y, y1); min_x = MIN (min_x, x2); min_y = MIN (min_y, y2); max_x = MAX (max_x, x2); max_y = MAX (max_y, y2); /* Fall through */ case PATH_MOVETO: case PATH_MOVETO_OPEN: case PATH_LINETO: /* Destination point grip */ if (whichone == grip_no++) { x3 = new_x; y3 = new_y; } min_x = MIN (min_x, x3); min_y = MIN (min_y, y3); max_x = MAX (max_x, x3); max_y = MAX (max_y, y3); case PATH_END: break; } } WORLDtoSCREEN (w_current, min_x, max_y, &x1, &y1); WORLDtoSCREEN (w_current, max_x, min_y, &x2, &y2); o_invalidate_rect (w_current, x1, y1, x2, y2); } /*! \brief Draw a path object after applying translation. * \par Function Description * This function is used to draw the path object described by * *o_current after applying a translation on the two directions of * dx and dy in world units. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] dx Delta x coordinate for path. * \param [in] dy Delta y coordinate for path. * \param [in] o_current Line OBJECT to draw. */ void o_path_draw_place (GSCHEM_TOPLEVEL *w_current, int dx, int dy, OBJECT *o_current) { OBJECT object; g_return_if_fail (o_current->path != NULL); /* Setup a fake object to pass the drawing routine */ object.line_width = 0; /* clamped to 1 pixel in circle_path */ object.path = path_copy_modify (o_current->path, dx, dy, 0, 0, -1); path_path (w_current, &object); g_free (object.path->sections); g_free (object.path); gschem_cairo_set_source_color (w_current, x_color_lookup_dark (o_current->color)); gschem_cairo_stroke (w_current, TYPE_SOLID, END_NONE, 0, -1, -1); } /*! \brief Start process to input a new path. * \par Function Description * This function starts the process of interactively adding a path to * the current sheet. * * During all the process, the path is internally represented by the two * ends of the path as (w_current->first_wx,w_current->first_wy) and * (w_current->second_wx,w_current->second_wy). * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] w_x Current x coordinate of pointer in world units. * \param [in] w_y Current y coordinate of pointer in world units. */ void o_path_start(GSCHEM_TOPLEVEL *w_current, int w_x, int w_y) { /* TODO: Implement support for drawing paths from within gschem */ } /*! \brief End the input of a path. * \par Function Description * This function ends the process of interactively adding a path to the * current sheet. * * It first erases the last temporary path displayed, calculates the * corresponding world coordinates of the two ends of the path and finally * adds a new initialized path object to the list of object of the current * sheet. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] w_x (unused) * \param [in] w_y (unused) */ void o_path_end(GSCHEM_TOPLEVEL *w_current, int w_x, int w_y) { /* TODO: Implement support for drawing paths from within gschem */ } /*! \brief Draw temporary path while dragging end. * \par Function Description * This function manages the erase/update/draw process of temporary path * when modifying one end of the path. * The path is described by four *w_current variables : the first end * of the path is (first_wx,first_wy), the second end is * (second_wx,second_wy). * The first end is constant. The second end is updated to the (w_x,w_y). * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] w_x Current x coordinate of pointer in world units. * \param [in] w_y Current y coordinate of pointer in world units. */ void o_path_motion (GSCHEM_TOPLEVEL *w_current, int w_x, int w_y) { if (w_current->rubber_visible) o_path_invalidate_rubber (w_current); w_current->second_wx = w_x; w_current->second_wy = w_y; o_path_invalidate_rubber (w_current); w_current->rubber_visible = 1; } /*! \brief Draw path from GSCHEM_TOPLEVEL object. * \par Function Description * This function draws a path with an exclusive or function over the sheet. * The color of the box is SELECT_COLOR. The path is * described by the two points (w_current->first_wx, * w_current->first_wy) and (w_current->second_wx,w_current->second_wy). * * \param [in] w_current The GSCHEM_TOPLEVEL object. */ void o_path_draw_rubber (GSCHEM_TOPLEVEL *w_current) { OBJECT object; /* Setup a fake object to pass the drawing routine */ object.line_width = 0; /* clamped to 1 pixel in circle_path */ object.path = path_copy_modify (w_current->which_object->path, 0, 0, w_current->second_wx, w_current->second_wy, w_current->which_grip); path_path (w_current, &object); g_free (object.path->sections); g_free (object.path); gschem_cairo_set_source_color (w_current, x_color_lookup (SELECT_COLOR)); gschem_cairo_stroke (w_current, TYPE_SOLID, END_SQUARE, 0, -1, -1); } /*! \brief Draw lines between curve segment end-point and their control point. * * \par Function Description * This function Draws lines between the end-points and respective * control-points of curve segments in the path. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] o_current The path OBJECT. */ static void draw_control_lines (GSCHEM_TOPLEVEL *w_current, OBJECT *o_current) { TOPLEVEL *toplevel = w_current->toplevel; int i; int next_x, next_y; int last_x = 0, last_y = 0; PATH_SECTION *section; COLOR *color; if (toplevel->override_color != -1 ) { /* override : use the override_color instead */ color = x_color_lookup (toplevel->override_color); } else { /* use the normal selection color */ color = x_color_lookup_dark (SELECT_COLOR); } /* set the color for the grip */ gschem_cairo_set_source_color (w_current, color); for (i = 0; i < o_current->path->num_sections; i++) { section = &o_current->path->sections[i]; if (section->code != PATH_END) { next_x = section->x3; next_y = section->y3; } switch (section->code) { case PATH_CURVETO: /* Two control point grips */ gschem_cairo_line (w_current, END_NONE, 0, last_x, last_y, section->x1, section->y1); gschem_cairo_stroke (w_current, TYPE_SOLID, END_NONE, 0, -1, -1); gschem_cairo_line (w_current, END_NONE, 0, next_x, next_y, section->x2, section->y2); gschem_cairo_stroke (w_current, TYPE_SOLID, END_NONE, 0, -1, -1); /* Fall through */ case PATH_MOVETO: case PATH_MOVETO_OPEN: case PATH_LINETO: last_x = next_x; last_y = next_y; break; case PATH_END: break; } } } /*! \brief Draw grip marks on path. * \par Function Description * This function draws the grips on the path object o_current. * * A path has a grip at each end. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] o_current Line OBJECT to draw grip points on. */ void o_path_draw_grips(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current) { PATH_SECTION *section; int i; if (w_current->draw_grips == FALSE) return; draw_control_lines (w_current, o_current); for (i = 0; i < o_current->path->num_sections; i++) { section = &o_current->path->sections[i]; switch (section->code) { case PATH_CURVETO: /* Two control point grips */ o_grips_draw (w_current, section->x1, section->y1); o_grips_draw (w_current, section->x2, section->y2); /* Fall through */ case PATH_MOVETO: case PATH_MOVETO_OPEN: case PATH_LINETO: /* Destination point grip */ o_grips_draw (w_current, section->x3, section->y3); break; case PATH_END: break; } } } geda-gaf-1.8.2/gschem/src/x_clipboard.c0000664000175000017500000002012512063576065014601 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #ifdef HAVE_STRING_H #include #endif #ifdef HAVE_UNISTD_H #include #endif #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif #define MIME_TYPE_SCHEMATIC "application/x-geda-schematic" #define CLIP_TYPE_SCHEMATIC 1 /* \brief Callback for handling system clipboard owner change. * \par Function Description * */ static void clip_handle_owner_change (GtkClipboard *cb, GdkEvent *event, gpointer user_data) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL *) user_data; i_update_menus (w_current); } static void clip_get (GtkClipboard *cb, GtkSelectionData *selection_data, guint info, gpointer user_data_or_owner) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL *) user_data_or_owner; TOPLEVEL *toplevel = w_current->toplevel; GdkAtom type = gdk_atom_intern (MIME_TYPE_SCHEMATIC, FALSE); gchar *buf; if (info != CLIP_TYPE_SCHEMATIC) return; /* Convert the objects in the clipboard buffer to gEDA schematic * format */ buf = o_save_buffer (toplevel, w_current->clipboard_buffer); /* Set the selection appropriately */ gtk_selection_data_set (selection_data, type, 8, /* 8-bit data (UTF-8) */ (guchar *) buf, (gint) strlen(buf)); g_free (buf); } static void clip_clear (GtkClipboard *cb, gpointer user_data_or_owner) { GSCHEM_TOPLEVEL *w_current = user_data_or_owner; TOPLEVEL *toplevel = w_current->toplevel; /* Free the objects in the clipboard buffer */ s_delete_object_glist (toplevel, w_current->clipboard_buffer); w_current->clipboard_buffer = NULL; } /* \brief Initialises system clipboard support * \par Function Description * Registers a signal handler to detect if the clipboard has changed * and update the menu item sensitivity if necessary. */ void x_clipboard_init (GSCHEM_TOPLEVEL *w_current) { GtkClipboard *cb = gtk_clipboard_get (GDK_SELECTION_CLIPBOARD); g_signal_connect (G_OBJECT (cb), "owner-change", G_CALLBACK (clip_handle_owner_change), w_current); } /* \brief Initialises system clipboard support * \par Function Description * Registers a signal handler to detect if the clipboard has changed * and update the menu item sensitivity if necessary. */ void x_clipboard_finish (GSCHEM_TOPLEVEL *w_current) { GtkClipboard *cb = gtk_clipboard_get (GDK_SELECTION_CLIPBOARD); g_signal_handlers_disconnect_by_func (cb, clip_handle_owner_change, w_current); if (w_current->clipboard_buffer) gtk_clipboard_store (cb); } struct query_usable { void (*callback) (int, void *); void *userdata; }; /* \brief Callback for determining if any clipboard targets are pastable * \par Function Description * * Checks if the clipboard targets match any format we recognise, then * calls back into a supplied callback function which is interested in * the TRUE / FALSE answer to whether we can paste from the clipboard. */ static void query_usable_targets_cb (GtkClipboard *clip, GdkAtom *targets, gint ntargets, gpointer data) { struct query_usable *cbinfo = data; int i; int is_usable = FALSE; for (i = 0; i < ntargets; i++) { if (strcmp (gdk_atom_name (targets[i]), MIME_TYPE_SCHEMATIC) == 0) { is_usable = TRUE; break; } } cbinfo->callback (is_usable, cbinfo->userdata); g_free (cbinfo); } /* \brief Checks if the system clipboard contains schematic data. * \par Function Description * Checks whether the current owner of the system clipboard is * advertising gEDA schematic data. * * The check is performed asynchronously. When a response is * recieved, the provided callback is called with a TRUE / FALSE * result. * * \param [in] w_current The current GSCHEM_TOPLEVEL. * \param [in] callback The callback to recieve the response. * \param [in] userdata Arbitrary data to pass the callback. */ void x_clipboard_query_usable (GSCHEM_TOPLEVEL *w_current, void (*callback) (int, void *), void *userdata) { GtkClipboard *clip = gtk_clipboard_get (GDK_SELECTION_CLIPBOARD); struct query_usable *cbinfo; cbinfo = g_new (struct query_usable, 1); cbinfo->callback = callback; cbinfo->userdata = userdata; gtk_clipboard_request_targets (clip, query_usable_targets_cb, cbinfo); } /* \brief Set the contents of the system clipboard. * \par Function Description * Set the system clipboard to contain the gschem objects listed in \a * object_list. * * \param [in,out] w_current The current GSCHEM_TOPLEVEL. * \param [in] object_list The objects to put in the clipboard. * * \return TRUE if the clipboard is successfully set. */ gboolean x_clipboard_set (GSCHEM_TOPLEVEL *w_current, const GList *object_list) { GtkClipboard *cb = gtk_clipboard_get (GDK_SELECTION_CLIPBOARD); GtkTargetEntry target = { MIME_TYPE_SCHEMATIC, 0, CLIP_TYPE_SCHEMATIC }; TOPLEVEL *toplevel = w_current->toplevel; gboolean result; /* Clear the clipboard buffer */ if (w_current->clipboard_buffer) gtk_clipboard_clear (cb); /* Copy the objects to the clipboard buffer */ w_current->clipboard_buffer = o_glist_copy_all (toplevel, object_list, w_current->clipboard_buffer); /* Advertise that the data is available */ result = gtk_clipboard_set_with_data (cb, &target, 1, clip_get, clip_clear, w_current); /* Hint that the data can be stored to be accessed after the program * has quit. */ gtk_clipboard_set_can_store (cb, NULL, 0); return result; } /* \brief Get the contents of the system clipboard. * \par Function Description * If the system clipboard contains schematic data, retrieve it. * * \param [in,out] w_current The current GSCHEM_TOPLEVEL. * * \returns Any OBJECTs retrieved from the system clipboard, or NULL * if none were available. */ GList * x_clipboard_get (GSCHEM_TOPLEVEL *w_current) { GtkClipboard *cb = gtk_clipboard_get (GDK_SELECTION_CLIPBOARD); TOPLEVEL *toplevel = w_current->toplevel; GdkAtom type = gdk_atom_intern (MIME_TYPE_SCHEMATIC, FALSE); GtkSelectionData *selection_data; GList *object_list = NULL; const guchar *buf; GError * err = NULL; /* Try to get the contents of the clipboard */ selection_data = gtk_clipboard_wait_for_contents (cb, type); if (selection_data == NULL) return FALSE; /* Convert the data buffer to OBJECTs */ #if GTK_CHECK_VERSION(2,14,0) buf = gtk_selection_data_get_data (selection_data); #else buf = selection_data->data; #endif object_list = o_read_buffer (toplevel, object_list, (gchar *) buf, -1, "Clipboard", &err); if (err) { GtkWidget * dialog = gtk_message_dialog_new_with_markup (GTK_WINDOW (w_current->main_window), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _("Invalid schematic on clipboard.\n\nAn error occurred while inserting clipboard data: %s."), err->message); gtk_window_set_title (GTK_WINDOW (dialog), _("Clipboard insertion failed")); gtk_dialog_run (GTK_DIALOG (dialog)); gtk_widget_destroy (dialog); g_error_free(err); } gtk_selection_data_free (selection_data); return object_list; } geda-gaf-1.8.2/gschem/src/o_attrib.c0000664000175000017500000002337412220647257014124 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2011 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #ifdef HAVE_STRING_H #include #endif #include #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif /* No special type for attributes */ /* You can only edit text attributes */ /* be sure in o_copy o_move o_delete you maintain the attributes */ /* delete is a bare, because you will have to unattach the other end */ /* and in o_save o_read as well */ /* and in o_select when selecting objects, select the attributes */ /* there needs to be a modifier (in struct.h, such as a flag) which * signifies that this is an attribute */ /*! \todo Finish function documentation!!! * \brief * \par Function Description * Copy all attributes select to the selection list. * * \todo get a better name */ void o_attrib_add_selected(GSCHEM_TOPLEVEL *w_current, SELECTION *selection, OBJECT *selected) { OBJECT *a_current; GList *a_iter; GList *selected_objects = NULL; g_assert( selection != NULL ); for (a_iter = selected->attribs; a_iter != NULL; a_iter = g_list_next (a_iter)) { a_current = a_iter->data; /* make sure object isn't selected already */ if (!a_current->selected) { o_selection_add (w_current->toplevel, selection, a_current); selected_objects = g_list_prepend (selected_objects, a_current); } } if (selected_objects != NULL) { /* Run select-objects-hook */ g_run_hook_object_list (w_current, "%select-objects-hook", selected_objects); g_list_free (selected_objects); } } /*! \brief Remove invisible attributes of an object from the selection list. * \par Function Description * * Remove all invisible attributes attached to the given object * from the selection list. If hidden text is being shown, this * function returns immediately. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in,out] selection The SELECTION list to remove from. * \param [in] object The OBJECT whose invisible attributes to remove. */ void o_attrib_deselect_invisible (GSCHEM_TOPLEVEL *w_current, SELECTION *selection, OBJECT *selected) { OBJECT *a_current; GList *a_iter; g_assert( selection != NULL ); if (w_current->toplevel->show_hidden_text) { return; } for (a_iter = selected->attribs; a_iter != NULL; a_iter = g_list_next (a_iter)) { a_current = a_iter->data; if (a_current->selected && !o_is_visible(w_current->toplevel, a_current)) { o_selection_remove (w_current->toplevel, selection, a_current); } } } /*! \brief Add invisible attributes of an object to the selection list. * \par Function Description * * Add all invisible attributes attached to the given object * to the selection list. If hidden text is being shown, this * function returns immediately. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in,out] selection The SELECTION list to add to. * \param [in] object The OBJECT whose invisible attributes to add. */ void o_attrib_select_invisible (GSCHEM_TOPLEVEL *w_current, SELECTION *selection, OBJECT *selected) { OBJECT *a_current; GList *a_iter; g_assert( selection != NULL ); if (w_current->toplevel->show_hidden_text) { return; } for (a_iter = selected->attribs; a_iter != NULL; a_iter = g_list_next (a_iter)) { a_current = a_iter->data; if (!a_current->selected && !o_is_visible(w_current->toplevel, a_current)) { o_selection_add (w_current->toplevel, selection, a_current); } } } /*! \brief Change visibility status of attribute object. * \par Function Description * This function toggles the visibility status of the attribute \a * object and updates it. The object is erased or redrawn if * necessary. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] object The attribute object. */ void o_attrib_toggle_visibility(GSCHEM_TOPLEVEL *w_current, OBJECT *object) { TOPLEVEL *toplevel = w_current->toplevel; g_return_if_fail (object != NULL && object->type == OBJ_TEXT); if (o_is_visible (toplevel, object)) { /* only erase if we are not showing hidden text */ if (!toplevel->show_hidden_text) { o_invalidate (w_current, object); } o_set_visibility (toplevel, object, INVISIBLE); if (toplevel->show_hidden_text) { /* draw text so that little I is drawn */ o_invalidate (w_current, object); } } else { /* if we are in the special show hidden mode, then erase text first */ /* to get rid of the little I */ if (toplevel->show_hidden_text) { o_invalidate (w_current, object); } o_set_visibility (toplevel, object, VISIBLE); o_text_recreate(toplevel, object); } toplevel->page_current->CHANGED = 1; } /*! \brief Set what part of an attribute is shown. * \par Function Description * This function changes what part (name, value or both) of an * attribute is shown by its attribute object. The attribute object * is erased, updated and finally redrawn. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] object The attribute object. * \param [in] show_name_value The new display flag for attribute. */ void o_attrib_toggle_show_name_value(GSCHEM_TOPLEVEL *w_current, OBJECT *object, int show_name_value) { TOPLEVEL *toplevel = w_current->toplevel; g_return_if_fail (object != NULL && object->type == OBJ_TEXT); o_invalidate (w_current, object); object->show_name_value = show_name_value; o_text_recreate(toplevel, object); toplevel->page_current->CHANGED = 1; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ /* This function no longer returns NULL, but will always return the new */ /* text item */ OBJECT *o_attrib_add_attrib(GSCHEM_TOPLEVEL *w_current, const char *text_string, int visibility, int show_name_value, OBJECT *object) { TOPLEVEL *toplevel = w_current->toplevel; OBJECT *new_obj; int world_x = - 1, world_y = -1; int color; int left, right, top, bottom; OBJECT *o_current; color = DETACHED_ATTRIBUTE_COLOR; o_current = object; /* creating a toplevel or unattached attribute */ if (o_current) { /* get coordinates of where to place the text object */ switch(o_current->type) { case(OBJ_COMPLEX): case(OBJ_PLACEHOLDER): world_x = o_current->complex->x; world_y = o_current->complex->y; color = ATTRIBUTE_COLOR; break; case(OBJ_ARC): world_x = o_current->arc->x; world_y = o_current->arc->y; color = ATTRIBUTE_COLOR; break; case(OBJ_CIRCLE): world_x = o_current->circle->center_x; world_y = o_current->circle->center_y; color = ATTRIBUTE_COLOR; break; case(OBJ_BOX): world_x = o_current->box->upper_x; world_y = o_current->box->upper_y; color = ATTRIBUTE_COLOR; break; case(OBJ_LINE): case(OBJ_NET): case(OBJ_PIN): case(OBJ_BUS): world_x = o_current->line->x[0]; world_y = o_current->line->y[0]; color = ATTRIBUTE_COLOR; break; case(OBJ_TEXT): world_x = o_current->text->x; world_y = o_current->text->y; color = DETACHED_ATTRIBUTE_COLOR; o_current = NULL; break; } } else { world_get_object_glist_bounds (toplevel, s_page_objects (toplevel->page_current), &left, &top, &right, &bottom); /* this really is the lower left hand corner */ world_x = left; world_y = top; /* printf("%d %d\n", world_x, world_y); */ color = DETACHED_ATTRIBUTE_COLOR; } /* first create text item */ new_obj = o_text_new(toplevel, OBJ_TEXT, color, world_x, world_y, LOWER_LEFT, 0, text_string, /* zero is angle */ w_current->text_size, /* current text size */ visibility, show_name_value); s_page_append (toplevel, toplevel->page_current, new_obj); /* now attach the attribute to the object (if o_current is not NULL) */ /* remember that o_current contains the object to get the attribute */ if (o_current) { o_attrib_attach (toplevel, new_obj, o_current, FALSE); } o_selection_add (toplevel, toplevel->page_current->selection_list, new_obj); /* handle slot= attribute, it's a special case */ if (o_current != NULL && g_ascii_strncasecmp (text_string, "slot=", 5) == 0) { o_slot_end (w_current, o_current, text_string); } /* Call add-objects-hook. */ g_run_hook_object (w_current, "%add-objects-hook", new_obj); g_run_hook_object (w_current, "%select-objects-hook", new_obj); toplevel->page_current->CHANGED = 1; return new_obj; } geda-gaf-1.8.2/gschem/src/gschem_dialog.c0000664000175000017500000004453712220647257015112 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #include #include "gschem.h" #include #ifdef HAVE_LIBDMALLOC #include #endif #include "../include/gschem_dialog.h" /* Signal marshaller based on generated code from glib-genmarshal */ static void gschem_marshal_VOID__POINTER_STRING (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef void (*GMarshalFunc_VOID__POINTER_STRING) (gpointer data1, gpointer arg_1, gpointer arg_2, gpointer data2); register GMarshalFunc_VOID__POINTER_STRING callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; g_return_if_fail (n_param_values == 3); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_VOID__POINTER_STRING) (marshal_data ? marshal_data : cc->callback); callback (data1, g_value_get_pointer (param_values + 1), (gchar*)g_value_get_string (param_values + 2), data2); } /* End section based on generated code from glib-genmashal */ enum { PROP_SETTINGS_NAME = 1, PROP_GSCHEM_TOPLEVEL }; enum { GEOMETRY_SAVE, GEOMETRY_RESTORE, LAST_SIGNAL }; static guint gschem_dialog_signals[ LAST_SIGNAL ] = { 0 }; static GObjectClass *gschem_dialog_parent_class = NULL; static GKeyFile *dialog_geometry = NULL; #define DIALOG_GEOMETRY_STORE "gschem-dialog-geometry" /*! \brief Save all geometry data into a file. * * \par Function Description * This is called at program exit to save all window geometry data into a file * * \param [in] user_data unused */ static void save_geometry_to_file(gpointer user_data) { gchar *data, *file; g_assert( dialog_geometry != NULL ); data = g_key_file_to_data(dialog_geometry, NULL, NULL); file = g_build_filename(s_path_user_config (), DIALOG_GEOMETRY_STORE, NULL); g_file_set_contents(file, data, -1, NULL); g_free(data); g_free(file); } /*! \brief GschemDialog "geometry_save" class method handler * * \par Function Description * Save the dialog's current position and size to the passed GKeyFile * * \param [in] dialog The GschemDialog to save the position and size of. * \param [in] key_file The GKeyFile to save the geometry data to. * \param [in] group_name The group name in the key file to store the data under. */ static void geometry_save (GschemDialog *dialog, GKeyFile *key_file, gchar* group_name) { gint x, y, width, height; gtk_window_get_position (GTK_WINDOW (dialog), &x, &y); gtk_window_get_size (GTK_WINDOW (dialog), &width, &height); g_key_file_set_integer (key_file, group_name, "x", x); g_key_file_set_integer (key_file, group_name, "y", y); g_key_file_set_integer (key_file, group_name, "width", width ); g_key_file_set_integer (key_file, group_name, "height", height); } /*! \brief GschemDialog "geometry_restore" class method handler * * \par Function Description * Restore dialog's last position and size from the passed GKeyFile * * \param [in] dialog The GschemDialog to restore the position and size of. * \param [in] key_file The GKeyFile to load the geometry data from. * \param [in] group_name The group name in the key file to find the data under. */ static void geometry_restore (GschemDialog *dialog, GKeyFile *key_file, gchar* group_name) { gint x, y, width, height; x = g_key_file_get_integer (key_file, group_name, "x", NULL); y = g_key_file_get_integer (key_file, group_name, "y", NULL); width = g_key_file_get_integer (key_file, group_name, "width", NULL); height = g_key_file_get_integer (key_file, group_name, "height", NULL); gtk_window_move (GTK_WINDOW (dialog), x, y); gtk_window_resize (GTK_WINDOW (dialog), width, height); } /*! \brief Setup the GKeyFile for saving / restoring geometry * * \par Function Description * Check if the GKeyFile for saving / restoring geometry is open. * If it doesn't exist, we create it here, and also install a hook * to ensure its contents are saved at program exit. */ static void setup_keyfile () { if (dialog_geometry != NULL) return; gchar *file = g_build_filename (s_path_user_config (), DIALOG_GEOMETRY_STORE, NULL); dialog_geometry = g_key_file_new(); /* Remember to save data on program exit */ gschem_atexit(save_geometry_to_file, NULL); if (!g_file_test (file, G_FILE_TEST_EXISTS)) { g_mkdir (s_path_user_config (), S_IRWXU | S_IRWXG); g_file_set_contents (file, "", -1, NULL); } if (!g_key_file_load_from_file (dialog_geometry, file, G_KEY_FILE_NONE, NULL)) { /* error opening key file, create an empty one and try again */ g_file_set_contents (file, "", -1, NULL); if ( !g_key_file_load_from_file (dialog_geometry, file, G_KEY_FILE_NONE, NULL)) { g_free (file); return; } } g_free (file); } /*! \brief GtkWidget show signal handler * * \par Function Description * Just before the dialog widget is shown, call the hook * to restore its previously saved position and size. * * \param [in] widget The GtkWidget being shown. */ static void show_handler (GtkWidget *widget) { gchar *group_name; GschemDialog *dialog = GSCHEM_DIALOG( widget ); group_name = dialog->settings_name; if (group_name != NULL) { setup_keyfile (); g_assert( dialog_geometry != NULL ); if (g_key_file_has_group (dialog_geometry, group_name)) { g_signal_emit (dialog, gschem_dialog_signals[ GEOMETRY_RESTORE ], 0, dialog_geometry, group_name); } } /* Let GTK show the window */ GTK_WIDGET_CLASS (gschem_dialog_parent_class)->show (widget); } /*! \brief GtkWidget unmap signal handler * * \par Function Description * Just before the dialog widget is unmapped, call the hook * to save its current position and size. * * This typically happens when you call gtk_widget_destroy(). * * \param [in] widget The GtkWidget being unmapped. */ static void unmap_handler (GtkWidget *widget) { gchar *group_name; GschemDialog *dialog = GSCHEM_DIALOG (widget); group_name = dialog->settings_name; if (group_name != NULL) { g_assert( dialog_geometry != NULL ); g_signal_emit (dialog, gschem_dialog_signals[ GEOMETRY_SAVE ], 0, dialog_geometry, group_name); } /* Let GTK unmap the window */ GTK_WIDGET_CLASS (gschem_dialog_parent_class)->unmap (widget); } /*! \brief GObject finalise handler * * \par Function Description * Just before the GschemDialog GObject is finalized, free our * allocated data, and then chain up to the parent's finalize handler. * * \param [in] object The GObject being finalized. */ static void gschem_dialog_finalize (GObject *object) { GschemDialog *dialog = GSCHEM_DIALOG (object); g_free (dialog->settings_name); G_OBJECT_CLASS (gschem_dialog_parent_class)->finalize (object); } /*! \brief GObject property setter function * * \par Function Description * Setter function for GschemDialog's GObject properties, * "settings-name" and "toplevel". * * \param [in] object The GObject whose properties we are setting * \param [in] property_id The numeric id. under which the property was * registered with g_object_class_install_property() * \param [in] value The GValue the property is being set from * \param [in] pspec A GParamSpec describing the property being set */ static void gschem_dialog_set_property (GObject *object, guint property_id, const GValue *value, GParamSpec *pspec) { GschemDialog *dialog = GSCHEM_DIALOG (object); switch(property_id) { case PROP_SETTINGS_NAME: g_free (dialog->settings_name); dialog->settings_name = g_strdup (g_value_get_string (value)); break; case PROP_GSCHEM_TOPLEVEL: dialog->w_current = (GSCHEM_TOPLEVEL*)g_value_get_pointer (value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); } } /*! \brief GObject property getter function * * \par Function Description * Getter function for GschemDialog's GObject properties, * "settings-name" and "toplevel". * * \param [in] object The GObject whose properties we are getting * \param [in] property_id The numeric id. under which the property was * registered with g_object_class_install_property() * \param [out] value The GValue in which to return the value of the property * \param [in] pspec A GParamSpec describing the property being got */ static void gschem_dialog_get_property (GObject *object, guint property_id, GValue *value, GParamSpec *pspec) { GschemDialog *dialog = GSCHEM_DIALOG (object); switch(property_id) { case PROP_SETTINGS_NAME: g_value_set_string (value, dialog->settings_name); break; case PROP_GSCHEM_TOPLEVEL: g_value_set_pointer (value, (gpointer)dialog->w_current); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); } } /*! \brief GType class initialiser for GschemDialog * * \par Function Description * GType class initialiser for GschemDialog. We override our parent * virtual class methods as needed and register our GObject properties. * * \param [in] klass The GschemDialogClass we are initialising */ static void gschem_dialog_class_init (GschemDialogClass *klass) { GObjectClass *gobject_class = G_OBJECT_CLASS (klass); GtkWidgetClass *gtkwidget_class = GTK_WIDGET_CLASS (klass); klass->geometry_save = geometry_save; klass->geometry_restore = geometry_restore; gtkwidget_class->show = show_handler; gtkwidget_class->unmap = unmap_handler; gobject_class->finalize = gschem_dialog_finalize; gobject_class->set_property = gschem_dialog_set_property; gobject_class->get_property = gschem_dialog_get_property; gschem_dialog_parent_class = g_type_class_peek_parent (klass); gschem_dialog_signals[ GEOMETRY_SAVE ] = g_signal_new ("geometry-save", G_OBJECT_CLASS_TYPE( gobject_class ), G_SIGNAL_RUN_FIRST, /*signal_flags */ G_STRUCT_OFFSET( GschemDialogClass, geometry_save ), NULL, /* accumulator */ NULL, /* accu_data */ gschem_marshal_VOID__POINTER_STRING, G_TYPE_NONE, 2, /* n_params */ G_TYPE_POINTER, G_TYPE_STRING ); gschem_dialog_signals[ GEOMETRY_RESTORE ] = g_signal_new ("geometry-restore", G_OBJECT_CLASS_TYPE( gobject_class ), G_SIGNAL_RUN_FIRST, /*signal_flags */ G_STRUCT_OFFSET( GschemDialogClass, geometry_restore ), NULL, /* accumulator */ NULL, /* accu_data */ gschem_marshal_VOID__POINTER_STRING, G_TYPE_NONE, 2, /* n_params */ G_TYPE_POINTER, G_TYPE_STRING ); g_object_class_install_property ( gobject_class, PROP_SETTINGS_NAME, g_param_spec_string ("settings-name", "", "", NULL, G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE)); g_object_class_install_property ( gobject_class, PROP_GSCHEM_TOPLEVEL, g_param_spec_pointer ("gschem-toplevel", "", "", G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE)); } /*! \brief Function to retrieve GschemDialog's GType identifier. * * \par Function Description * Function to retrieve GschemDialog's GType identifier. * Upon first call, this registers the GschemDialog in the GType system. * Subsequently it returns the saved value from its first execution. * * \return the GType identifier associated with GschemDialog. */ GType gschem_dialog_get_type () { static GType gschem_dialog_type = 0; if (!gschem_dialog_type) { static const GTypeInfo gschem_dialog_info = { sizeof(GschemDialogClass), NULL, /* base_init */ NULL, /* base_finalize */ (GClassInitFunc) gschem_dialog_class_init, NULL, /* class_finalize */ NULL, /* class_data */ sizeof(GschemDialog), 0, /* n_preallocs */ NULL, /* instance_init */ }; gschem_dialog_type = g_type_register_static (GTK_TYPE_DIALOG, "GschemDialog", &gschem_dialog_info, 0); } return gschem_dialog_type; } /*! \brief Internal GTK function modified from GTK+-2.4.14 gtkdialog.c * to support gschem_dialog_new_with_buttons(...) * * \par Function Description * Convenience function which adds buttons to a pre-existing GtkDialog * * \param [in] dialog The GtkDialog buttons are being added to * \param [in] first_button_text The text string for the first button * \param [in] args The va_list containging the remaining button strings */ static void gschem_dialog_add_buttons_valist (GtkDialog *dialog, const gchar *first_button_text, va_list args) { const gchar* text; gint response_id; g_return_if_fail (GTK_IS_DIALOG (dialog)); if (first_button_text == NULL) return; text = first_button_text; response_id = va_arg (args, gint); while (text != NULL) { gtk_dialog_add_button (dialog, text, response_id); text = va_arg (args, gchar*); if (text == NULL) break; response_id = va_arg (args, int); } } /*! \brief Internal GTK function modified from GTK+-2.4.14 gtkdialog.c * to support gschem_dialog_new_with_buttons(...) * * \par Function Description * Convenience function which creates a blank GschemDialog with various options. * * \param [in] title The title text of the dialog * \param [in] parent The GtkWindow which will parent this dialog * \param [in] flags The GtkDialogFlags to use when setting up the dialog * \param [in] settings_name The name gschem should use to store this dialog's settings * \param [in] w_current The GSCHEM_TOPLEVEL object this dialog is associated with * * \return The GschemDialog created. */ static GtkWidget* gschem_dialog_new_empty (const gchar *title, GtkWindow *parent, GtkDialogFlags flags, const gchar *settings_name, GSCHEM_TOPLEVEL *w_current) { GschemDialog *dialog; dialog = g_object_new (GSCHEM_TYPE_DIALOG, "settings-name", settings_name, "gschem-toplevel", w_current, NULL); if (title) gtk_window_set_title (GTK_WINDOW (dialog), title); if (parent) gtk_window_set_transient_for (GTK_WINDOW (dialog), parent); if (flags & GTK_DIALOG_MODAL) gtk_window_set_modal (GTK_WINDOW (dialog), TRUE); if (flags & GTK_DIALOG_DESTROY_WITH_PARENT) gtk_window_set_destroy_with_parent (GTK_WINDOW (dialog), TRUE); if (flags & GTK_DIALOG_NO_SEPARATOR) gtk_dialog_set_has_separator (GTK_DIALOG (dialog), FALSE); return GTK_WIDGET (dialog); } /*! \brief GTK function modified from GTK+-2.4.14 gtkdialog.c * to provide a GschemDialog equivelant of the convenience function * gtk_dialog_new_with_buttons(...) * * \par Function Description * Convenience function which creates a GschemDialog with buttons and options. * * \param [in] title The title text of the dialog * \param [in] parent The GtkWindow which will parent this dialog * \param [in] flags The GtkDialogFlags to use when setting up the dialog * \param [in] settings_name The name gschem should use to store this dialog's settings * \param [in] w_current The GSCHEM_TOPLEVEL object this dialog is associated with * \param [in] first_button_text The text string for the first button * \param [in] ... A variable number of arguments with the remaining button strings * * \return The GschemDialog created. */ GtkWidget* gschem_dialog_new_with_buttons (const gchar *title, GtkWindow *parent, GtkDialogFlags flags, const gchar *settings_name, GSCHEM_TOPLEVEL *w_current, const gchar *first_button_text, ...) { GschemDialog *dialog; va_list args; dialog = GSCHEM_DIALOG (gschem_dialog_new_empty (title, parent, flags, settings_name, w_current)); va_start (args, first_button_text); gschem_dialog_add_buttons_valist (GTK_DIALOG (dialog), first_button_text, args); va_end (args); return GTK_WIDGET (dialog); } geda-gaf-1.8.2/gschem/src/o_bus.c0000664000175000017500000002203012220647257013414 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2011 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_bus_draw(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current) { TOPLEVEL *toplevel = w_current->toplevel; int x1, y1, x2, y2; int size = 0; if (o_current == NULL) { return; } if (o_current->line == NULL) { return; } /* reuse line's routine */ if (!o_line_visible (w_current, o_current->line, &x1, &y1, &x2, &y2)) { return; } if (toplevel->bus_style == THICK) size = BUS_WIDTH; gschem_cairo_line (w_current, END_SQUARE, size, x1, y1, x2, y2); gschem_cairo_set_source_color (w_current, o_drawing_color (w_current, o_current)); gschem_cairo_stroke (w_current, TYPE_SOLID, END_SQUARE, size, -1, -1); if (o_current->selected && w_current->draw_grips) { o_line_draw_grips (w_current, o_current); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_bus_draw_place (GSCHEM_TOPLEVEL *w_current, int dx, int dy, OBJECT *o_current) { int size = 0; if (o_current->line == NULL) { return; } if (w_current->toplevel->bus_style == THICK) size = BUS_WIDTH; gschem_cairo_line (w_current, END_NONE, size, o_current->line->x[0] + dx, o_current->line->y[0] + dy, o_current->line->x[1] + dx, o_current->line->y[1] + dy); gschem_cairo_set_source_color (w_current, x_color_lookup_dark (o_current->color)); gschem_cairo_stroke (w_current, TYPE_SOLID, END_NONE, size, -1, -1); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_bus_draw_stretch (GSCHEM_TOPLEVEL *w_current, int dx, int dy, int whichone, OBJECT *o_current) { int dx1= - 1, dy1 = - 1, dx2 = -1, dy2 = -1; if (o_current->line == NULL) { return; } if (whichone == 0) { dx1 = dx; dy1 = dy; dx2 = dy2 = 0; } else if (whichone == 1) { dx1 = dy1 = 0; dx2 = dx; dy2 = dy; } else { fprintf(stderr, _("Got an invalid which one in o_bus_draw_stretch\n")); } gschem_cairo_line (w_current, END_NONE, 0, o_current->line->x[0] + dx1, o_current->line->y[0] + dy1, o_current->line->x[1] + dx2, o_current->line->y[1] + dy2); gschem_cairo_set_source_color (w_current, x_color_lookup_dark (o_current->color)); gschem_cairo_stroke (w_current, TYPE_SOLID, END_NONE, 0, -1, -1); } /*! \brief set the start point of a new bus * \par Function Description * This function sets the start point (w_x,w_y) of a new bus * in the GSCHEM_TOPLEVEL structure. * * The start point is stored in first_wx, first_wy. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] w_x the x position in world coords * \param [in] w_y the y position in world coords */ void o_bus_start(GSCHEM_TOPLEVEL *w_current, int w_x, int w_y) { w_current->first_wx = w_current->second_wx = w_x; w_current->first_wy = w_current->second_wy = w_y; } /*! \brief finish a bus drawing action * \par Function Description * This function finishes a net drawing action. The function draws * a bus from the point (first_wx,first_wy) to * (second_wx,second_wy). Both points are taken from * the GSCHEM_TOPLEVEL structure. * * The function returns TRUE if a bus object has been created and * FALSE if no bus object has been created. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] w_x (unused) * \param [in] w_y (unused) */ int o_bus_end(GSCHEM_TOPLEVEL *w_current, int w_x, int w_y) { TOPLEVEL *toplevel = w_current->toplevel; OBJECT *new_obj; int color; GList *prev_conn_objects = NULL; g_assert( w_current->inside_action != 0 ); if (toplevel->override_bus_color == -1) { color = BUS_COLOR; } else { color = toplevel->override_bus_color; } /* erase the rubberbus */ /* o_bus_invalidate_rubber (w_current); */ w_current->rubber_visible = 0; /* don't allow zero length bus */ /* this ends the bus drawing behavior we want this? hack */ if ( (w_current->first_wx == w_current->second_wx) && (w_current->first_wy == w_current->second_wy) ) { return FALSE; } new_obj = o_bus_new(toplevel, OBJ_BUS, color, w_current->first_wx, w_current->first_wy, w_current->second_wx, w_current->second_wy, 0); s_page_append (toplevel, toplevel->page_current, new_obj); /* connect the new bus to the other busses */ prev_conn_objects = s_conn_return_others (prev_conn_objects, new_obj); o_invalidate_glist (w_current, prev_conn_objects); g_list_free (prev_conn_objects); /* Call add-objects-hook */ g_run_hook_object (w_current, "%add-objects-hook", new_obj); toplevel->page_current->CHANGED=1; w_current->first_wx = w_current->second_wx; w_current->first_wy = w_current->second_wy; o_undo_savestate(w_current, UNDO_ALL); return TRUE; } /*! \brief draw the bus rubber when creating a bus * \par Function Description * This function draws * a bus rubber from the point (first_wx,first_wy) from * the GSCHEM_TOPLEVEL structure to the input parameter * (w_x, w_y). * * The function stores creates an non-orthogonal bus segment if the * CONTROLKEY is pressed. The coordinates of the second rubberbus point * is stored as (second_wx,second_wy) in the * GSCHEM_TOPLEVEL structure. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] w_x current x position in world units * \param [in] w_y current y position in world units */ void o_bus_motion (GSCHEM_TOPLEVEL *w_current, int w_x, int w_y) { int diff_x, diff_y; g_assert( w_current->inside_action != 0 ); if (w_current->rubber_visible) o_bus_invalidate_rubber (w_current); w_current->second_wx = w_x; w_current->second_wy = w_y; /* If you press the control key then you can draw non-ortho bus */ if (!w_current->CONTROLKEY) { diff_x = abs(w_current->second_wx - w_current->first_wx); diff_y = abs(w_current->second_wy - w_current->first_wy); if (diff_x >= diff_y) { w_current->second_wy = w_current->first_wy; } else { w_current->second_wx = w_current->first_wx; } } o_bus_invalidate_rubber (w_current); w_current->rubber_visible = 1; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_bus_invalidate_rubber (GSCHEM_TOPLEVEL *w_current) { TOPLEVEL *toplevel = w_current->toplevel; int x1, y1, x2, y2; int min_x, min_y, max_x, max_y; int bloat = 0; WORLDtoSCREEN (w_current, w_current->first_wx, w_current->first_wy, &x1, &y1); WORLDtoSCREEN (w_current, w_current->second_wx, w_current->second_wy, &x2, &y2); if (toplevel->bus_style == THICK ) { bloat = SCREENabs (w_current, BUS_WIDTH) / 2; } min_x = min (x1, x2) - bloat; max_x = max (x1, x2) + bloat; min_y = min (y1, y2) - bloat; max_y = max (y1, y2) + bloat; o_invalidate_rect (w_current, min_x, min_y, max_x, max_y); } /*! \brief draw a rubberbus segment * \par Function Description * This function draws a bus segment from the point * (first_wx,first_wy) to the point * (second_wx,second_wy) from the GSCHEM_TOPLEVEL * structure. * * The function can be used to draw or erase the rubberbus on the screen. * * \param [in] w_current The GSCHEM_TOPLEVEL object */ void o_bus_draw_rubber (GSCHEM_TOPLEVEL *w_current) { int size = 0; if (w_current->toplevel->bus_style == THICK) size = BUS_WIDTH; gschem_cairo_line (w_current, END_NONE, size, w_current->first_wx, w_current->first_wy, w_current->second_wx, w_current->second_wy); gschem_cairo_set_source_color (w_current, x_color_lookup_dark (SELECT_COLOR)); gschem_cairo_stroke (w_current, TYPE_SOLID, END_NONE, size, -1, -1); } geda-gaf-1.8.2/gschem/src/o_arc.c0000664000175000017500000003364412220647257013405 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2011 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \brief Draw an arc on the screen. * \par Function Description * This function is used to draw an arc on screen. The arc is described * in the object which is referred by o_current. The arc is displayed * according to the current state, described in the GSCHEM_TOPLEVEL object * pointed by w_current. * * It first checkes if the object is valid or not. If not it returns * and do not output anything. That should never happen though. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] o_current The arc OBJECT to draw. */ void o_arc_draw(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current) { if (o_current->arc == NULL) { return; } gschem_cairo_arc (w_current, o_current->line_width, o_current->arc->x, o_current->arc->y, o_current->arc->width / 2, o_current->arc->start_angle, o_current->arc->end_angle); gschem_cairo_set_source_color (w_current, o_drawing_color (w_current, o_current)); gschem_cairo_stroke (w_current, o_current->line_type, o_current->line_end, o_current->line_width, o_current->line_length, o_current->line_space); if (o_current->selected && w_current->draw_grips == TRUE) { o_arc_draw_grips (w_current, o_current); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_arc_invalidate_rubber (GSCHEM_TOPLEVEL *w_current) { int cx, cy, radius; WORLDtoSCREEN (w_current, w_current->first_wx, w_current->first_wy, &cx, &cy); radius = SCREENabs (w_current, w_current->distance); /* FIXME: This isn't a tight bounding box */ o_invalidate_rect (w_current, cx - radius, cy - radius, cx + radius, cy + radius); } /*! \brief Draw an arc described by OBJECT with translation * \par Function Description * This function draws the arc object described by *o_current * translated by the vector (dx,dy). * The translation vector is in screen unit. * * The arc is displayed with the color of the object. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] dx Delta x coordinate for arc. * \param [in] dy Delta y coordinate for arc. * \param [in] o_current Arc OBJECT to draw. */ void o_arc_draw_place (GSCHEM_TOPLEVEL *w_current, int dx, int dy, OBJECT *o_current) { g_return_if_fail (o_current->arc != NULL); gschem_cairo_arc (w_current, 0, o_current->arc->x + dx, o_current->arc->y + dy, o_current->arc->width / 2, o_current->arc->start_angle, o_current->arc->end_angle); gschem_cairo_set_source_color (w_current, x_color_lookup_dark (o_current->color)); gschem_cairo_stroke (w_current, TYPE_SOLID, END_NONE, 0, -1, -1); } /*! \brief Start process to input a new arc. * \par Function Description * This function starts the process to input a new arc. Parameters for * this arc are put into/extracted from the w_current toplevel structure. * w_x and w_y are current coordinates of the pointer in screen unit. * * First step of the arc input is to set the radius of the arc. The center * of the arc is kept in (w_current->first_wx,w_current->first_wy). * The radius of the arc is in w_current->distance. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] w_x Current x coordinate of pointer in world units. * \param [in] w_y Current y coordinate of pointer in world units. */ void o_arc_start(GSCHEM_TOPLEVEL *w_current, int w_x, int w_y) { /* set the center of the arc */ w_current->first_wx = w_x; w_current->first_wy = w_y; /* set the radius */ w_current->distance = 0; /* set the start and end angles */ w_current->second_wx = w_current->second_wy = 0; /* start the rubberbanding process of the radius */ o_arc_invalidate_rubber (w_current); w_current->rubber_visible = 1; } /*! \brief End the input of an arc. * \par Function Description * This function ends the input of the radius of the arc. * The (w_x,w_y) point is taken as the other end of the radius segment. * The distance between this point and the center is the radius of the arc. * w_x and w_y are in world coords. * * At the end of this function, the center of the arc is at * (w_current->first_wx,w_current->first_wy) and its radius is * w_current->distance. * * The two angles needs to be input to fully define the arc. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] w_x (unused) * \param [in] w_y (unused) */ void o_arc_end1(GSCHEM_TOPLEVEL *w_current, int w_x, int w_y) { g_assert( w_current->inside_action != 0 ); /* erases the previous temporary radius segment */ /* o_arc_invalidate_rubber (w_current); */ w_current->rubber_visible = 0; /* ack! zero length radius */ if (w_current->distance == 0) { return; } #if DEBUG printf("DIST: %d\n", w_current->distance); #endif /* open a dialog to input the start and end angle */ arc_angle_dialog(w_current, NULL); } /*! \brief Ends the process of arc input. * \par Function Description * The #o_arc_end4() function ends the process of the input of an arc. * start_angle and end_angle are the start and end angle of the * arc in degrees. The partial internal representation of the arc, i.e. * the center and the radius of the arc, are converted in world units. * A new object is created and linked to the object list. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] radius Radius of the arc * \param [in] start_angle Start of angle in degrees. * \param [in] end_angle End of angle in degrees. */ void o_arc_end4(GSCHEM_TOPLEVEL *w_current, int radius, int start_angle, int end_angle) { TOPLEVEL *toplevel = w_current->toplevel; OBJECT *new_obj; /* create, initialize and link the new arc object */ new_obj = o_arc_new (toplevel, OBJ_ARC, GRAPHIC_COLOR, w_current->first_wx, w_current->first_wy, radius, start_angle, end_angle); s_page_append (toplevel, toplevel->page_current, new_obj); w_current->first_wx = -1; w_current->first_wy = -1; w_current->distance = 0; /* Call add-objects-hook */ g_run_hook_object (w_current, "%add-objects-hook", new_obj); toplevel->page_current->CHANGED = 1; o_undo_savestate(w_current, UNDO_ALL); } /*! \brief Draw an arc using one angle modification. * \par Function Description * This function draws an arc according to its internal representation * and allows the modification of one of its angle. The start or end * angle of the arc is updated according to whichone with the angle * that the current pointer and the arc center are making with the horizontal. * * The previous temporary arc is erased, the angle is then computed * and updated and finally a new temporary arc with the new angle is drawn. * * The arc is internally described by : *
    *
    *
    (w_current->first_wx,w_current->first_wy) as * its center. *
    *
    w_current->distance as its radius. *
    *
    w_current->second_wx and w_current->second_wx as its * start and end angle respectively. *
    * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] w_x Current x coordinate of pointer in world units. * \param [in] w_y Current y coordinate of pointer in world units. * \param [in] whichone Which angle to change. * * whichone can have one of the following values: *
    *
    ARC_RADIUS
    *
    at the center of the arc. This grip is used to modify * the radius of the arc. *
    ARC_START_ANGLE
    *
    at one end of the arc. It corresponds to the starting * angle of the arc. *
    ARC_END_ANGLE
    *
    at the other end of the arc. It corresponds to the * ending angle of the arc. *
    */ void o_arc_motion (GSCHEM_TOPLEVEL *w_current, int w_x, int w_y, int whichone) { int diff_x, diff_y, angle_deg; /* erase the previous temporary arc */ if (w_current->rubber_visible) o_arc_invalidate_rubber (w_current); if(whichone == ARC_RADIUS) { /* * The radius is taken as the biggest distance on the x and y * axis between the center of the arc and the mouse position. */ diff_x = abs(w_current->first_wx - snap_grid (w_current, w_x)); diff_y = abs(w_current->first_wy - snap_grid (w_current, w_y)); w_current->distance = max(diff_x, diff_y); } else if((whichone == ARC_START_ANGLE) || (whichone == ARC_END_ANGLE)) { /* compute the angle */ diff_x = w_x - w_current->first_wx; diff_y = w_y - w_current->first_wy; angle_deg = atan2 (diff_y, diff_x) * 180 / M_PI; /* set the start or end angle with this angle */ switch(whichone) { case ARC_START_ANGLE: w_current->second_wx = (angle_deg + 360) % 360; break; case ARC_END_ANGLE: w_current->second_wy = (((angle_deg + 360) % 360) - w_current->second_wx + 360) % 360; if (w_current->which_object->arc->end_angle < 0) w_current->second_wy = w_current->second_wy - 360; if (w_current->second_wy == 0) w_current->second_wy = 360; break; // No default required - one of above two branches // *must* be taken - Coverity ID 201571 } } /* draw the new temporary arc */ o_arc_invalidate_rubber (w_current); w_current->rubber_visible = 1; } /*! \brief Draw arc from GSCHEM_TOPLEVEL object. * \par Function Description * This function draws the arc from the variables in the GSCHEM_TOPLEVEL * structure *w_current. * The center of the arc is at (w_current->first_wx, * w_current->first_wy), its radius equal to w_current->distance, * and the start and end angle are given by w_current->second_wx and * w_current->second_wy. * * \param [in] w_current The GSCHEM_TOPLEVEL object. */ void o_arc_draw_rubber (GSCHEM_TOPLEVEL *w_current) { double rad_angle; int rdx, rdy; gschem_cairo_arc (w_current, 0, w_current->first_wx, w_current->first_wy, w_current->distance, w_current->second_wx, w_current->second_wy); gschem_cairo_set_source_color (w_current, x_color_lookup_dark (SELECT_COLOR)); /* draw the radius line */ rad_angle = ((double) w_current->second_wx) * M_PI / 180; rdx = (double) w_current->distance * cos (rad_angle); rdy = (double) w_current->distance * sin (rad_angle); gschem_cairo_line (w_current, END_NONE, 0, w_current->first_wx, w_current->first_wy, w_current->first_wx + rdx, w_current->first_wy + rdy); gschem_cairo_stroke (w_current, TYPE_SOLID, END_NONE, 0, -1, -1); } /*! \brief Draw grip marks on arc. * \par Function Description * This function draws three grips on the center and on the ends of * the arc object described by *o_current. * * \param [in] w_current The GSCHE_TOPLEVEL object. * \param [in] o_current Arc OBJECT to draw grip points on. */ void o_arc_draw_grips(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current) { double radius, start_angle, end_angle; int x1, y1, x2, y2, x3, y3; if (w_current->draw_grips == FALSE) return; /* * An arc has three grips: *
    *
    *
    one at the center that allows changes on the * radius - at (x,y). *
    *
    one at the start of the arc - at (x1,y1). *
    *
    one at the end of the arc - at (x2,y2). */ x1 = o_current->arc->x; y1 = o_current->arc->y; radius = o_current->arc->width / 2.; start_angle = o_current->arc->start_angle; end_angle = o_current->arc->end_angle; x2 = x1 + radius * cos ( start_angle * M_PI / 180); y2 = y1 + radius * sin ( start_angle * M_PI / 180); x3 = x1 + radius * cos ((start_angle + end_angle) * M_PI / 180); y3 = y1 + radius * sin ((start_angle + end_angle) * M_PI / 180); /* draw the grip at the center */ o_grips_draw (w_current, x1, y1); /* draw the grip at the start_angle end of the arc */ o_grips_draw (w_current, x2, y2); /* draw the grip at the end_angle end of the arc */ o_grips_draw (w_current, x3, y3); } geda-gaf-1.8.2/gschem/src/x_menus.c0000664000175000017500000003611512220647257013774 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include #ifdef HAVE_STRING_H #include #endif #include "gschem.h" #include #ifdef HAVE_LIBDMALLOC #include #endif static GtkItemFactoryEntry popup_items[] = { { N_("/Add Net"), NULL, i_callback_add_net, 0, NULL}, { N_("/Add Attribute..."), NULL, i_callback_add_attribute, 0, NULL}, { N_("/Add Component..."), NULL, i_callback_add_component, 0, NULL}, { N_("/Add Bus"), NULL, i_callback_add_bus, 0, NULL}, { N_("/Add Text"), NULL, i_callback_add_text, 0, NULL}, { "/sep1", NULL, NULL, 0, ""}, { N_("/Zoom In"), NULL, i_callback_view_zoom_in, 0, NULL}, { N_("/Zoom Out"), NULL, i_callback_view_zoom_out, 0, NULL}, { N_("/Zoom Box"), NULL, i_callback_view_zoom_box, 0, NULL}, { N_("/Zoom Extents"), NULL, i_callback_view_zoom_extents, 0, NULL}, { "/sep1", NULL, NULL, 0, ""}, { N_("/Select"), NULL, i_callback_edit_select, 0, NULL}, { N_("/Edit..."), NULL, i_callback_edit_edit, 0, NULL}, { N_("/Edit pin type..."), NULL, i_callback_edit_pin_type, 0, NULL}, { N_("/Copy"), NULL, i_callback_edit_copy, 0, NULL}, { N_("/Move"), NULL, i_callback_edit_move, 0, NULL}, { N_("/Delete"), NULL, i_callback_edit_delete, 0, NULL}, /* Menu items for hierarchy added by SDB 1.9.2005. */ {"/sep1", NULL, NULL, 0, ""}, {N_("/Down Schematic"), NULL, i_callback_hierarchy_down_schematic, 0, NULL}, {N_("/Down Symbol"), NULL, i_callback_hierarchy_down_symbol, 0, NULL}, {N_("/Up"), NULL, i_callback_hierarchy_up, 0, NULL}, }; int npopup_items = sizeof(popup_items) / sizeof(popup_items[0]); /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ static void g_menu_execute(GtkAction *action, gpointer user_data) { gchar *guile_string = NULL; const gchar *func = gtk_action_get_name (action); GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL *) user_data; guile_string = g_strdup_printf("(%s)", func); #if DEBUG printf("%s\n", guile_string); #endif scm_dynwind_begin (0); scm_dynwind_unwind_handler (g_free, guile_string, SCM_F_WIND_EXPLICITLY); g_dynwind_window (w_current); g_scm_c_eval_string_protected (guile_string); scm_dynwind_end (); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ GtkWidget * get_main_menu(GSCHEM_TOPLEVEL *w_current) { char *buf; GschemAction *action; GtkWidget *menu_item; GtkWidget *root_menu; GtkWidget *menu_bar; GtkWidget *menu; int scm_items_len; SCM scm_items; SCM scm_item; SCM scm_item_name; SCM scm_item_func; SCM scm_item_hotkey_func; SCM scm_item_stock; SCM scm_index; SCM scm_keys; char *menu_name; char *action_name; char **raw_menu_name = g_malloc (sizeof(char *)); char *menu_item_name; char *raw_menu_item_name; char *menu_item_hotkey_func; char *menu_item_stock; char *menu_item_keys; int i, j; menu_bar = gtk_menu_bar_new (); scm_dynwind_begin (0); g_dynwind_window (w_current); /*! \bug This function may leak memory if there is a non-local exit * in Guile code. At some point, unwind handlers need to be added to * clean up heap-allocated strings. */ for (i = 0 ; i < s_menu_return_num(); i++) { scm_items = s_menu_return_entry(i, raw_menu_name); if (*raw_menu_name == NULL) { fprintf(stderr, "Oops.. got a NULL menu name in get_main_menu()\n"); exit(-1); } menu = gtk_menu_new(); menu_item = gtk_tearoff_menu_item_new (); gtk_menu_append(GTK_MENU(menu), menu_item); gtk_widget_show(menu_item); scm_items_len = (int) scm_ilength (scm_items); for (j = 0 ; j < scm_items_len; j++) { scm_index = scm_from_int (j); scm_item = scm_list_ref (scm_items, scm_index); scm_item_name = SCM_CAR (scm_item); scm_item_func = SCM_CADR (scm_item); scm_item_hotkey_func = SCM_CADDR (scm_item); scm_item_stock = scm_is_pair (SCM_CDDDR (scm_item)) ? SCM_CADDDR (scm_item) : SCM_BOOL_F; SCM_ASSERT(scm_is_string(scm_item_name), scm_item_name, SCM_ARGn, "get_main_menu item_name"); SCM_ASSERT(scm_is_symbol (scm_item_func) || scm_is_false (scm_item_func), scm_item_func, SCM_ARGn, "get_main_menu item_func"); SCM_ASSERT (scm_is_symbol (scm_item_hotkey_func) || scm_is_false (scm_item_hotkey_func), scm_item_hotkey_func, SCM_ARGn, "get_main_menu hotkey_func"); SCM_ASSERT (scm_is_string (scm_item_stock) || scm_is_false (scm_item_stock), scm_item_stock, SCM_ARGn, "get_main_menu stock"); raw_menu_item_name = scm_to_utf8_string(scm_item_name); scm_dynwind_begin(0); scm_dynwind_free(raw_menu_item_name); menu_item_name = (char *) gettext(raw_menu_item_name); if (strcmp(menu_item_name, "SEPARATOR") == 0) { menu_item = gtk_menu_item_new(); gtk_menu_append(GTK_MENU(menu), menu_item); } else { if (scm_is_false (scm_item_hotkey_func)) { menu_item_hotkey_func = NULL; } else { menu_item_hotkey_func = scm_to_utf8_string (scm_symbol_to_string (scm_item_hotkey_func)); scm_dynwind_free (menu_item_hotkey_func); } if (menu_item_hotkey_func != NULL) { SCM s_expr = scm_list_2 (scm_from_utf8_symbol ("find-key"), scm_list_2 (scm_from_utf8_symbol ("quote"), scm_from_utf8_symbol (menu_item_hotkey_func))); scm_keys = g_scm_eval_protected (s_expr, scm_interaction_environment ()); if (scm_is_false (scm_keys)) { menu_item_keys = ""; } else { menu_item_keys = scm_to_utf8_string (scm_keys); scm_dynwind_free(menu_item_keys); } } else { menu_item_keys = ""; } if(scm_is_false (scm_item_func)) { menu_item = gtk_menu_item_new_with_mnemonic(menu_item_name); } else { if (scm_is_false (scm_item_stock)) menu_item_stock = NULL; else menu_item_stock = scm_to_utf8_string (scm_item_stock); action_name = scm_to_utf8_string (scm_symbol_to_string (scm_item_func)); action = gschem_action_new (action_name, /* Action name */ menu_item_name, /* Text */ menu_item_name, /* Tooltip */ menu_item_stock, /* Icon stock ID */ menu_item_keys); /* Accelerator string */ free(action_name); free(menu_item_stock); menu_item = gtk_action_create_menu_item (GTK_ACTION (action)); g_signal_connect (G_OBJECT(action), "activate", G_CALLBACK(g_menu_execute), w_current); } gtk_menu_append (GTK_MENU (menu), menu_item); } gtk_widget_show (menu_item); /* add a handle to the menu_bar object to get access to widget objects */ /* This string should NOT be internationalized */ buf = g_strdup_printf("%s/%s", *raw_menu_name, raw_menu_item_name); gtk_object_set_data(GTK_OBJECT(menu_bar), buf, menu_item); g_free(buf); scm_dynwind_end(); } menu_name = (char *) gettext(*raw_menu_name); root_menu = gtk_menu_item_new_with_mnemonic (menu_name); /* do not free *raw_menu_name */ /* no longer right justify the help menu since that has gone out of style */ gtk_widget_show (root_menu); gtk_menu_item_set_submenu (GTK_MENU_ITEM (root_menu), menu); gtk_menu_bar_append (GTK_MENU_BAR (menu_bar), root_menu); } scm_dynwind_end (); g_free(raw_menu_name); return menu_bar; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ static gchar* gettext_fn(const gchar *path, gpointer func_data ATTRIBUTE_UNUSED) { /*! \bug Note that we have to discard the 'const' qualifier here to * avoid build warnings when gettext is disabled. This is required * due to the prototype of the function pointer argument to * gtk_item_factory_set_translate_func() */ return (gchar *) gettext(path); } GtkWidget *get_main_popup(GSCHEM_TOPLEVEL *w_current) { static GtkItemFactory *item_factory; GtkAccelGroup *accel_group; GtkWidget *menu; accel_group = gtk_accel_group_new(); /* This function initializes the item factory. Param 1: The type of menu - can be GTK_TYPE_MENU_BAR, GTK_TYPE_MENU, or GTK_TYPE_OPTION_MENU. Param 2: The path of the menu. Param 3: A pointer to a gtk_accel_group. The item factory sets up the accelerator table while generating menus. */ item_factory = gtk_item_factory_new(GTK_TYPE_MENU, "", accel_group); gtk_item_factory_set_translate_func (item_factory, gettext_fn, NULL, NULL); /* This function creates the pop-up menu itself & attaches it to the GtkItemFactory. Pass the item factory, the number of items in the array, the array itself, and any callback data for the the menu items. Note that npopup_items is a static var declared in this file above; popup_items is also a static var declared above. */ gtk_item_factory_create_items(item_factory, npopup_items, popup_items, w_current); /* Finally, return the actual menu created by the item factory. */ menu = (GtkWidget *) gtk_item_factory_get_widget(item_factory, ""); return (menu); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \note * need to look at this... here and the setup */ gint do_popup (GSCHEM_TOPLEVEL *w_current, GdkEventButton *event) { GtkWidget *menu; /* =NULL; */ /* was static */ menu = NULL; /* Why do I need to do this? */ if (!menu) menu = (GtkWidget *) w_current->popup_menu; if (menu == NULL) { printf("null menu\n"); } gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, NULL, event->button, event->time); return FALSE; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void x_menus_sensitivity (GSCHEM_TOPLEVEL *w_current, const char *buf, int flag) { GtkWidget* item=NULL; if (!buf) { return; } if (!w_current->menubar) { return; } item = (GtkWidget *) gtk_object_get_data(GTK_OBJECT(w_current->menubar), buf); if (item) { gtk_widget_set_sensitive(GTK_WIDGET(item), flag); /* free(item); */ /* Why doesn't this need to be freed? */ } else { s_log_message(_("Tried to set the sensitivity on non-existent menu item '%s'\n"), buf); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * This function sets the sensitivity of the items in the right button * popup. * * \note * 1.9.2005 -- SDB. */ void x_menus_popup_sensitivity (GSCHEM_TOPLEVEL *w_current, const char *buf, int flag) { GtkWidget *menu_item; GtkItemFactory *menu_item_factory; if (!buf) { return; } if (!w_current->popup_menu) { s_log_message(_("Popup_menu_item_factory doesn't exist!\n")); return; } /* * first get entire item factory from popup, then get the individual * menu item indexed by buf. */ menu_item_factory = (GtkItemFactory *)gtk_item_factory_from_widget(w_current->popup_menu); menu_item = (GtkWidget *) gtk_item_factory_get_widget(menu_item_factory, buf); if (menu_item) { gtk_widget_set_sensitive(GTK_WIDGET(menu_item), flag); } else { s_log_message(_("Tried to set the sensitivity on a non-existent popup menu_item\n")); } } #define MAX_RECENT_FILES 10 /*! \brief Callback for recent-chooser. * * Will be called if element of recent-file-list is activated */ void recent_chooser_item_activated (GtkRecentChooser *chooser, GSCHEM_TOPLEVEL *w_current) { PAGE *page; gchar *uri; gchar *filename; uri = gtk_recent_chooser_get_current_uri (chooser); filename = g_filename_from_uri(uri, NULL, NULL); gtk_recent_manager_add_item(recent_manager, uri); page = x_window_open_page(w_current, (char *)filename); x_window_set_current_page(w_current, page); g_free(uri); g_free(filename); } /*! \brief Attach a submenu with filenames to the 'Open Recent' * menu item. * * Called from x_window_setup(). */ void x_menu_attach_recent_files_submenu(GSCHEM_TOPLEVEL *w_current) { GtkWidget* menuitem_to_append_to = NULL; GtkRecentFilter *recent_filter; GtkWidget *menuitem_file_recent_items; recent_manager = gtk_recent_manager_get_default(); menuitem_file_recent_items = gtk_recent_chooser_menu_new_for_manager(recent_manager); /* Show only schematic- and symbol-files (*.sch and *.sym) in list */ recent_filter = gtk_recent_filter_new(); gtk_recent_filter_add_mime_type(recent_filter, "application/x-geda-schematic"); gtk_recent_filter_add_mime_type(recent_filter, "application/x-geda-symbol"); gtk_recent_filter_add_pattern(recent_filter, "*.sch"); gtk_recent_filter_add_pattern(recent_filter, "*.sym"); gtk_recent_chooser_add_filter(GTK_RECENT_CHOOSER(menuitem_file_recent_items), recent_filter); gtk_recent_chooser_set_show_tips(GTK_RECENT_CHOOSER(menuitem_file_recent_items), TRUE); gtk_recent_chooser_set_sort_type(GTK_RECENT_CHOOSER(menuitem_file_recent_items), GTK_RECENT_SORT_MRU); gtk_recent_chooser_set_limit(GTK_RECENT_CHOOSER(menuitem_file_recent_items), MAX_RECENT_FILES); gtk_recent_chooser_set_local_only(GTK_RECENT_CHOOSER(menuitem_file_recent_items), FALSE); gtk_recent_chooser_menu_set_show_numbers(GTK_RECENT_CHOOSER_MENU(menuitem_file_recent_items), TRUE); g_signal_connect(GTK_OBJECT(menuitem_file_recent_items), "item-activated", G_CALLBACK(recent_chooser_item_activated), w_current); menuitem_to_append_to = (GtkWidget *) gtk_object_get_data(GTK_OBJECT(w_current->menubar), "_File/Open Recen_t"); if(menuitem_to_append_to == NULL) return; gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem_to_append_to), menuitem_file_recent_items); } geda-gaf-1.8.2/gschem/src/x_script.c0000664000175000017500000000450612063576065014153 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! \todo CLEAN up line length in this file */ #include #include #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_STRING_H #include #endif #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \brief Select a script and execute it * \par Function Description * This function opens a file selection dialog. The selected script * is executed. */ void setup_script_selector (GSCHEM_TOPLEVEL *w_current) { char *filename; w_current->sowindow = gtk_file_chooser_dialog_new (_("Execute Script..."), GTK_WINDOW(w_current->main_window), GTK_FILE_CHOOSER_ACTION_OPEN, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_EXECUTE, GTK_RESPONSE_ACCEPT, NULL); /* Set the alternative button order (ok, cancel, help) for other systems */ gtk_dialog_set_alternative_button_order(GTK_DIALOG(w_current->sowindow), GTK_RESPONSE_ACCEPT, GTK_RESPONSE_CANCEL, -1); if (gtk_dialog_run (GTK_DIALOG (w_current->sowindow)) == GTK_RESPONSE_ACCEPT) { filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (w_current->sowindow)); if (!(g_file_test(filename, G_FILE_TEST_IS_DIR))) { s_log_message(_("Executing guile script [%s]\n"), filename); g_read_file(w_current->toplevel, filename, NULL); } g_free (filename); } gtk_widget_destroy (GTK_WIDGET(w_current->sowindow)); w_current->sowindow = NULL; } geda-gaf-1.8.2/gschem/src/o_basic.c0000664000175000017500000004323012220647257013711 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif #define INVALIDATE_MARGIN 1 /*! \todo Lots of Gross code... needs lots of cleanup - mainly * readability issues */ /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_redraw_rects (GSCHEM_TOPLEVEL *w_current, GdkRectangle *rectangles, int n_rectangles) { TOPLEVEL *toplevel = w_current->toplevel; gboolean draw_selected; int grip_half_size; int cue_half_size; int bloat; int i; GList *obj_list; GList *iter; BOX *world_rects; for (i = 0; i < n_rectangles; i++) { x_repaint_background_region (w_current, rectangles[i].x, rectangles[i].y, rectangles[i].width, rectangles[i].height); } g_return_if_fail (toplevel != NULL); g_return_if_fail (toplevel->page_current != NULL); grip_half_size = o_grips_size (w_current); cue_half_size = SCREENabs (w_current, CUE_BOX_SIZE); bloat = MAX (grip_half_size, cue_half_size); world_rects = g_new (BOX, n_rectangles); for (i = 0; i < n_rectangles; i++) { int x, y, width, height; x = rectangles[i].x; y = rectangles[i].y; width = rectangles[i].width; height = rectangles[i].height; SCREENtoWORLD (w_current, x - bloat, y + height + bloat, &world_rects[i].lower_x, &world_rects[i].lower_y); SCREENtoWORLD (w_current, x + width + bloat, y - bloat, &world_rects[i].upper_x, &world_rects[i].upper_y); } obj_list = s_page_objects_in_regions (toplevel, toplevel->page_current, world_rects, n_rectangles); g_free (world_rects); draw_selected = !(w_current->inside_action && ((w_current->event_state == MOVE) || (w_current->event_state == ENDMOVE))); for (iter = obj_list; iter != NULL; iter = g_list_next (iter)) { OBJECT *o_current = iter->data; if (o_current->dont_redraw || (!draw_selected && o_current->selected)) continue; o_redraw_single (w_current, o_current); } o_cue_redraw_all (w_current, obj_list, draw_selected); if (w_current->inside_action) { /* Redraw the rubberband objects (if they were previously visible) */ switch (w_current->event_state) { case MOVE: case ENDMOVE: if (w_current->last_drawb_mode != -1) { o_move_draw_rubber (w_current, TRUE); } break; case ENDCOPY: case ENDMCOPY: case ENDCOMP: case ENDTEXT: case ENDPASTE: if (w_current->rubber_visible) o_place_draw_rubber (w_current, TRUE); break; case STARTDRAWNET: case DRAWNET: case NETCONT: if (w_current->rubber_visible) o_net_draw_rubber (w_current); break; case STARTDRAWBUS: case DRAWBUS: case BUSCONT: if (w_current->rubber_visible) o_bus_draw_rubber(w_current); break; case GRIPS: if (w_current->rubber_visible) o_grips_draw_rubber (w_current); break; case SBOX: if (w_current->rubber_visible) o_select_box_draw_rubber (w_current); break; case ZOOMBOXEND: if (w_current->rubber_visible) a_zoom_box_draw_rubber (w_current); break; case ENDLINE: if (w_current->rubber_visible) o_line_draw_rubber (w_current); break; case ENDBOX: if (w_current->rubber_visible) o_box_draw_rubber (w_current); break; case ENDPICTURE: if (w_current->rubber_visible) o_picture_draw_rubber (w_current); break; case ENDCIRCLE: if (w_current->rubber_visible) o_circle_draw_rubber (w_current); break; case ENDARC: if (w_current->rubber_visible) o_arc_draw_rubber (w_current); break; case ENDPIN: if (w_current->rubber_visible) o_pin_draw_rubber (w_current); break; } } g_list_free (obj_list); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_redraw (GSCHEM_TOPLEVEL *w_current, GList *object_list, gboolean draw_selected) { OBJECT *o_current; GList *iter; for (iter = object_list; iter != NULL; iter = g_list_next (iter)) { o_current = (OBJECT *)iter->data; if (o_current->dont_redraw || (!draw_selected && o_current->selected)) continue; o_redraw_single (w_current, o_current); } } /*! \brief Redraw an object on the screen. * \par Function Description * This function will redraw a single object on the screen. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] o_current The OBJECT to redraw. * */ void o_redraw_single(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current) { void (*func) (GSCHEM_TOPLEVEL *, OBJECT *) = NULL; if (o_current == NULL) return; switch (o_current->type) { case OBJ_LINE: func = o_line_draw; break; case OBJ_NET: func = o_net_draw; break; case OBJ_BUS: func = o_bus_draw; break; case OBJ_BOX: func = o_box_draw; break; case OBJ_PICTURE: func = o_picture_draw; break; case OBJ_CIRCLE: func = o_circle_draw; break; case OBJ_PLACEHOLDER: case OBJ_COMPLEX: func = o_complex_draw; break; case OBJ_TEXT: func = o_text_draw; break; case OBJ_PATH: func = o_path_draw; break; case OBJ_PIN: func = o_pin_draw; break; case OBJ_ARC: func = o_arc_draw; break; default: g_critical ("o_redraw_single: object %p has bad type '%c'\n", o_current, o_current->type); } if (func != NULL) (*func) (w_current, o_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ int o_invalidate_rubber (GSCHEM_TOPLEVEL *w_current) { /* return FALSE if it did not erase anything */ if (!w_current->inside_action) return(FALSE); switch(w_current->event_state) { case(STARTDRAWBUS): case(DRAWBUS): case(BUSCONT): o_bus_invalidate_rubber (w_current); break; case(STARTDRAWNET): case(DRAWNET): case(NETCONT): o_net_invalidate_rubber (w_current); break; case(DRAWPIN): case(ENDPIN): o_pin_invalidate_rubber (w_current); break; case(DRAWLINE): case(ENDLINE): o_line_invalidate_rubber (w_current); break; case(DRAWBOX): case(ENDBOX): o_box_invalidate_rubber (w_current); break; case(DRAWPICTURE): case(ENDPICTURE): o_picture_invalidate_rubber (w_current); break; case(DRAWCIRCLE): case(ENDCIRCLE): o_circle_invalidate_rubber (w_current); break; case(DRAWARC): case(ENDARC): o_arc_invalidate_rubber (w_current); break; default: return(FALSE); break; } return(TRUE); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * This function is neccesary to make jumps between event_states. * If we are inside an drawing action that created something on the dc, * e.g. if we are drawing a box and then jump to line drawing without * leaving the box drawing mode, there will remain some rubberbands on the * screen. * Usually a intermediate select state would clean (redraw) the screen. */ int o_redraw_cleanstates(GSCHEM_TOPLEVEL *w_current) { TOPLEVEL *toplevel = w_current->toplevel; /* returns FALSE if the function was'nt nessecary */ if (w_current->inside_action == 0) { return FALSE; } switch (w_current->event_state) { /* all states with something on the dc */ case(ENDCOMP): /* De-select the lists in the component selector */ x_compselect_deselect (w_current); /* Fall through */ case(COPY): case(MCOPY): case(DRAWBUS): case(DRAWNET): case(ENDARC): case(ENDBOX): case(ENDCIRCLE): case(ENDCOPY): case(ENDMCOPY): case(ENDLINE): case(ENDMOVE): case(ENDPASTE): case(ENDPIN): case(ENDTEXT): case(GRIPS): case(MOVE): case(NETCONT): case(ZOOMBOXEND): /* it is possible to cancel in the middle of a place, * so lets be sure to clean up the place_list structure */ /* If we're cancelling from a move action, re-wind the * page contents back to their state before we started. */ if ((w_current->event_state == MOVE) || (w_current->event_state == ENDMOVE)) { o_move_cancel (w_current); } /* If we're cancelling from a grip action, call the specific cancel * routine to reset the visibility of the object being modified */ if (w_current->event_state == GRIPS) o_grips_cancel (w_current); /* Free the place list and its contents. If we were in a move * action, the list (refering to objects on the page) would * already have been cleared in o_move_cancel(), so this is OK. */ s_delete_object_glist(toplevel, toplevel->page_current->place_list); toplevel->page_current->place_list = NULL; w_current->inside_action = 0; /* touch the select state */ i_set_state(w_current, SELECT); /* from i_callback_cancel() */ o_invalidate_all (w_current); return TRUE; /* all remaining states without dc changes */ case(NONE): case(SELECT): case(DRAWLINE): case(DRAWBOX): case(DRAWCIRCLE): case(ZOOM): case(PAN): case(BUSCONT): case(DRAWARC): case(DRAWPICTURE): case(DRAWPIN): case(ENDMIRROR): case(ENDPICTURE): case(ENDROTATEP): case(ENDROUTENET): case(MOUSEPAN): case(SBOX): case(STARTCOPY): case(STARTMCOPY): case(STARTDRAWBUS): case(STARTDRAWNET): case(STARTMOVE): case(STARTPAN): case(STARTPASTE): case(STARTROUTENET): case(STARTSELECT): case(ZOOMBOXSTART): return FALSE; } return FALSE; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_draw_place (GSCHEM_TOPLEVEL *w_current, int dx, int dy, OBJECT *object) { void (*func) (GSCHEM_TOPLEVEL *, int, int, OBJECT*) = NULL; switch (object->type) { case OBJ_LINE: func = o_line_draw_place; break; case OBJ_NET: func = o_net_draw_place; break; case OBJ_BUS: func = o_bus_draw_place; break; case OBJ_BOX: func = o_box_draw_place; break; case OBJ_PICTURE: func = o_picture_draw_place; break; case OBJ_CIRCLE: func = o_circle_draw_place; break; case OBJ_PLACEHOLDER: case OBJ_COMPLEX: func = o_complex_draw_place; break; case OBJ_TEXT: func = o_text_draw_place; break; case OBJ_PATH: func = o_path_draw_place; break; case OBJ_PIN: func = o_pin_draw_place; break; case OBJ_ARC: func = o_arc_draw_place; break; default: g_assert_not_reached (); } if (func != NULL) { (*func) (w_current, dx, dy, object); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_glist_draw_place (GSCHEM_TOPLEVEL *w_current, int dx, int dy, GList *list) { GList *iter = list; while (iter != NULL) { o_draw_place (w_current, dx, dy, (OBJECT *)iter->data); iter = g_list_next(iter); } } /*! \brief Invalidates a rectangular region of the on screen drawing area * \par Function Description * * Given a pair of (x,y) coordinates in SCREEN units, invalidate the * rectangular on-screen drawing area which has those two coordinate * pairs as opposite corners of its region. This will cause that region * to be blitted from the back-buffer once the mainloop reaches idle. * * A margin, INVALIDATE_MARGIN is added to the invalidated region as * a hacky workaround for rounding errors which may occur in the * WORLD -> SCREEN coordinate transform. This margin may also be used * to expand the invalidated region if anti-aliased drawing is ever * used. * * A further, larger margin is added to account for invalidating the * size occupied by an object's grips. * * If the GSCHEM_TOPLEVEL in question is not rendering to a GDK_WINDOW, * (e.g. image export), this function call is a no-op. A test is used: * GDK_IS_WINDOW(), which should be safe since in either case, * w_current->window is a GObject. This is really a _HACK_, * and should be fixed with a re-worked drawing model. * * \param [in] w_current The GSCHEM_TOPLEVEL who's drawing area is being invalidated. * \param [in] x1 X coord for corner 1 (SCREEN units) * \param [in] y1 Y coord for corner 1 (SCREEN units) * \param [in] x2 X coord for corner 2 (SCREEN units) * \param [in] y2 Y coord for corner 2 (SCREEN units) */ void o_invalidate_rect (GSCHEM_TOPLEVEL *w_current, int x1, int y1, int x2, int y2) { GdkRectangle rect; int grip_half_size; int cue_half_size; int bloat; /* BUG: We get called when rendering an image, and w_current->window * is a GdkPixmap. Ensure we only invalidate GdkWindows. */ if (!GDK_IS_WINDOW( w_current->window )) return; grip_half_size = o_grips_size (w_current); cue_half_size = SCREENabs (w_current, CUE_BOX_SIZE); bloat = MAX (grip_half_size, cue_half_size) + INVALIDATE_MARGIN; rect.x = MIN(x1, x2) - bloat; rect.y = MIN(y1, y2) - bloat; rect.width = 1 + abs( x1 - x2 ) + 2 * bloat; rect.height = 1 + abs( y1 - y2 ) + 2 * bloat; gdk_window_invalidate_rect( w_current->window, &rect, FALSE ); } /*! \brief Invalidate the whole on-screen area * * \par Function Description * This function calls gdk_window_invalidate_rect() with a rect * of NULL, causing the entire drawing area to be invalidated. * * \param [in] w_current The GSCHEM_TOPLEVEL object. */ void o_invalidate_all (GSCHEM_TOPLEVEL *w_current) { gdk_window_invalidate_rect (w_current->window, NULL, FALSE); } /*! \brief Invalidate on-screen area for an object * * \par Function Description * This function calls o_invalidate_rect() with the bounds of the * passed OBJECT, converted to screen coordinates. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] object The OBJECT invalidated on screen. */ void o_invalidate (GSCHEM_TOPLEVEL *w_current, OBJECT *object) { TOPLEVEL *toplevel = w_current->toplevel; int left, top, bottom, right; int s_left, s_top, s_bottom, s_right; if (world_get_single_object_bounds(toplevel, object, &left, &top, &right, &bottom)) { WORLDtoSCREEN (w_current, left, top, &s_left, &s_top); WORLDtoSCREEN (w_current, right, bottom, &s_right, &s_bottom); o_invalidate_rect (w_current, s_left, s_top, s_right, s_bottom); } } /*! \brief Invalidate on-screen area for a GList of objects * * \par Function Description * This function calls o_invalidate_rect() with the bounds of the * passed GList, converted to screen coordinates. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] list The glist objects invalidated on screen. */ void o_invalidate_glist (GSCHEM_TOPLEVEL *w_current, GList *list) { TOPLEVEL *toplevel = w_current->toplevel; int left, top, bottom, right; int s_left, s_top, s_bottom, s_right; if (world_get_object_glist_bounds (toplevel, list, &left, &top, &right, &bottom)) { WORLDtoSCREEN (w_current, left, top, &s_left, &s_top); WORLDtoSCREEN (w_current, right, bottom, &s_right, &s_bottom); o_invalidate_rect (w_current, s_left, s_top, s_right, s_bottom); } } /*! \brief Returns the color an object should be drawn in * * \par Function Description * This function looks up and returns either the SELECT_COLOR, or the * OBJECT's natural colour, as appropriate. If toplevel->override_color * is set, that takes precedence. * * The parent field of the OBJECT structure is used to recurse down * and check whether the OBJECT being drawn is a prim_obj belonging * to some selected OBJECT. If so, SELECT_COLOR is used. * * As a convenience, the appropriate color index is looked up using * x_color_lookup(), so that code is not duplicated in each drawing * function. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] object The OBJECT whos color to return. */ COLOR *o_drawing_color (GSCHEM_TOPLEVEL *w_current, OBJECT *object) { int color_idx; OBJECT *temp; color_idx = object->color; if (object->selected) color_idx = SELECT_COLOR; /* Check if the object, or its parent(s) are selected */ for (temp = object; temp != NULL; temp = temp->parent) { if (temp->selected) { color_idx = SELECT_COLOR; break; } } if (w_current->toplevel->override_color != -1) color_idx = w_current->toplevel->override_color; return x_color_lookup (color_idx); } geda-gaf-1.8.2/gschem/src/x_basic.c0000664000175000017500000001210612063576065013723 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void x_repaint_background_region (GSCHEM_TOPLEVEL *w_current, int x, int y, int width, int height) { TOPLEVEL *toplevel = w_current->toplevel; gdk_gc_set_foreground (w_current->gc, x_get_color (toplevel->background_color)); gdk_draw_rectangle (w_current->drawable, w_current->gc, TRUE, x, y, width, height); x_grid_draw_region (w_current, x, y, width, height); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void x_hscrollbar_set_ranges(GSCHEM_TOPLEVEL *w_current) { TOPLEVEL *toplevel = w_current->toplevel; GtkAdjustment *hadjustment; if (w_current->scrollbars_flag == FALSE) { return; } hadjustment = gtk_range_get_adjustment(GTK_RANGE(w_current->h_scrollbar)); hadjustment->lower = toplevel->init_left; hadjustment->upper = toplevel->init_right; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void x_hscrollbar_update(GSCHEM_TOPLEVEL *w_current) { TOPLEVEL *toplevel = w_current->toplevel; GtkAdjustment *hadjustment; if (w_current->scrollbars_flag == FALSE) { return; } if (w_current->h_scrollbar == NULL) { return; } hadjustment = gtk_range_get_adjustment (GTK_RANGE ( w_current->h_scrollbar)); hadjustment->value = toplevel->page_current->left; hadjustment->page_size = fabs(toplevel->page_current->right - toplevel->page_current->left); hadjustment->page_increment = hadjustment->page_size - 100.0; #if DEBUG printf("H %f %f\n", hadjustment->lower, hadjustment->upper); printf("Hp %f\n", hadjustment->page_size); #endif gtk_signal_emit_by_name(GTK_OBJECT(hadjustment), "changed"); gtk_signal_emit_by_name(GTK_OBJECT(hadjustment), "value_changed"); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void x_vscrollbar_set_ranges(GSCHEM_TOPLEVEL *w_current) { TOPLEVEL *toplevel = w_current->toplevel; GtkAdjustment *vadjustment; if (w_current->scrollbars_flag == FALSE) { return; } vadjustment = gtk_range_get_adjustment(GTK_RANGE(w_current->v_scrollbar)); vadjustment->lower = toplevel->init_top; vadjustment->upper = toplevel->init_bottom; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void x_vscrollbar_update(GSCHEM_TOPLEVEL *w_current) { TOPLEVEL *toplevel = w_current->toplevel; GtkAdjustment *vadjustment; if (w_current->scrollbars_flag == FALSE) { return; } if (w_current->v_scrollbar == NULL) { return; } vadjustment = gtk_range_get_adjustment(GTK_RANGE(w_current->v_scrollbar)); vadjustment->page_size = fabs(toplevel->page_current->bottom - toplevel->page_current->top); vadjustment->page_increment = vadjustment->page_size - 100.0; vadjustment->value = toplevel->init_bottom - toplevel->page_current->bottom; #if DEBUG printf("V %f %f\n", vadjustment->lower, vadjustment->upper); printf("Vp %f\n", vadjustment->page_size); #endif gtk_signal_emit_by_name(GTK_OBJECT(vadjustment), "changed"); gtk_signal_emit_by_name(GTK_OBJECT(vadjustment), "value_changed"); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void x_scrollbars_update(GSCHEM_TOPLEVEL *w_current) { if (w_current->scrollbars_flag == FALSE) { return; } x_hscrollbar_update(w_current); x_vscrollbar_update(w_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void x_basic_warp_cursor (GtkWidget* widget, gint x, gint y) { GdkScreen *screen; GdkDisplay *display; int window_x, window_y; gdk_window_get_origin (widget->window, &window_x, &window_y); screen = gtk_widget_get_screen (widget); display = gdk_screen_get_display (screen); gdk_display_warp_pointer (display, screen, window_x + x, window_y + y); } geda-gaf-1.8.2/gschem/src/o_complex.c0000664000175000017500000001740112220647257014300 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2011 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #ifdef HAVE_UNISTD_H #include #endif #include "gschem.h" #include #ifdef HAVE_LIBDMALLOC #include #endif /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_complex_draw(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current) { g_return_if_fail (o_current != NULL); g_return_if_fail (o_current->complex != NULL); o_redraw(w_current, o_current->complex->prim_objs, TRUE); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_complex_draw_place (GSCHEM_TOPLEVEL *w_current, int dx, int dy, OBJECT *object) { g_assert( (object->type == OBJ_COMPLEX || object->type == OBJ_PLACEHOLDER) ); o_glist_draw_place (w_current, dx, dy, object->complex->prim_objs); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_complex_prepare_place(GSCHEM_TOPLEVEL *w_current, const CLibSymbol *sym) { TOPLEVEL *toplevel = w_current->toplevel; GList *temp_list; OBJECT *o_current; char *buffer; const gchar *sym_name = s_clib_symbol_get_name (sym); GError *err = NULL; /* remove the old place list if it exists */ s_delete_object_glist(toplevel, toplevel->page_current->place_list); toplevel->page_current->place_list = NULL; /* Insert the new object into the buffer at world coordinates (0,0). * It will be translated to the mouse coordinates during placement. */ w_current->first_wx = 0; w_current->first_wy = 0; if (w_current->include_complex) { temp_list = NULL; buffer = s_clib_symbol_get_data (sym); temp_list = o_read_buffer (toplevel, temp_list, buffer, -1, sym_name, &err); g_free (buffer); if (err) { /* If an error occurs here, we can assume that the preview also has failed to load, and the error message is displayed there. We therefore ignore this error, but end the component insertion. */ g_error_free(err); i_set_state (w_current, SELECT); return; } /* Take the added objects */ toplevel->page_current->place_list = g_list_concat (toplevel->page_current->place_list, temp_list); } else { /* if (w_current->include_complex) {..} else { */ OBJECT *new_object; new_object = o_complex_new (toplevel, OBJ_COMPLEX, DEFAULT_COLOR, 0, 0, 0, 0, sym, sym_name, 1); if (new_object->type == OBJ_PLACEHOLDER) { /* If created object is a placeholder, the loading failed and we end the insert action */ s_delete_object(toplevel, new_object); i_set_state (w_current, SELECT); return; } else { toplevel->page_current->place_list = g_list_concat (toplevel->page_current->place_list, o_complex_promote_attribs (toplevel, new_object)); toplevel->page_current->place_list = g_list_append (toplevel->page_current->place_list, new_object); /* Flag the symbol as embedded if necessary */ o_current = (g_list_last (toplevel->page_current->place_list))->data; if (w_current->embed_complex) { o_current->complex_embedded = TRUE; } } } /* Run the complex place list changed hook without redrawing */ /* since the place list is going to be redrawn afterwards */ o_complex_place_changed_run_hook (w_current); w_current->inside_action = 1; i_set_state (w_current, ENDCOMP); } /*! \brief Run the complex place list changed hook. * \par Function Description * The complex place list is usually used when placing new components * in the schematic. This function should be called whenever that list * is modified. * \param [in] w_current GSCHEM_TOPLEVEL structure. * */ void o_complex_place_changed_run_hook(GSCHEM_TOPLEVEL *w_current) { TOPLEVEL *toplevel = w_current->toplevel; GList *ptr = NULL; /* Run the complex place list changed hook */ if (scm_is_false (scm_hook_empty_p (complex_place_list_changed_hook)) && toplevel->page_current->place_list != NULL) { ptr = toplevel->page_current->place_list; scm_dynwind_begin (0); g_dynwind_window (w_current); while (ptr) { SCM expr = scm_list_3 (scm_from_utf8_symbol ("run-hook"), complex_place_list_changed_hook, edascm_from_object ((OBJECT *) ptr->data)); g_scm_eval_protected (expr, scm_interaction_environment ()); ptr = g_list_next(ptr); } scm_dynwind_end (); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \note * don't know if this belongs yet */ void o_complex_translate_all(GSCHEM_TOPLEVEL *w_current, int offset) { TOPLEVEL *toplevel = w_current->toplevel; int w_rleft, w_rtop, w_rright, w_rbottom; OBJECT *o_current; const GList *iter; int x, y; /* first zoom extents */ a_zoom_extents (w_current, s_page_objects (toplevel->page_current), A_PAN_DONT_REDRAW); o_invalidate_all (w_current); world_get_object_glist_bounds (toplevel, s_page_objects (toplevel->page_current), &w_rleft, &w_rtop, &w_rright, &w_rbottom); /*! \todo do we want snap grid here? */ x = snap_grid (w_current, w_rleft); /* WARNING: w_rtop isn't the top of the bounds, it is the smaller * y_coordinate, which represents in the bottom in world coords. * These variables are as named from when screen-coords (which had * the correct sense) were in use . */ y = snap_grid (w_current, w_rtop); for (iter = s_page_objects (toplevel->page_current); iter != NULL; iter = g_list_next (iter)) { o_current = iter->data; s_conn_remove_object (toplevel, o_current); } if (offset == 0) { s_log_message(_("Translating schematic [%d %d]\n"), -x, -y); o_glist_translate_world (toplevel, -x, -y, s_page_objects (toplevel->page_current)); } else { s_log_message(_("Translating schematic [%d %d]\n"), offset, offset); o_glist_translate_world (toplevel, offset, offset, s_page_objects (toplevel->page_current)); } for (iter = s_page_objects (toplevel->page_current); iter != NULL; iter = g_list_next (iter)) { o_current = iter->data; s_conn_update_object (toplevel, o_current); } /* this is an experimental mod, to be able to translate to all * places */ a_zoom_extents (w_current, s_page_objects (toplevel->page_current), A_PAN_DONT_REDRAW); if (!w_current->SHIFTKEY) o_select_unselect_all(w_current); o_invalidate_all (w_current); toplevel->page_current->CHANGED=1; o_undo_savestate(w_current, UNDO_ALL); i_update_menus(w_current); } geda-gaf-1.8.2/gschem/src/parsecmd.c0000664000175000017500000001670612220647257014120 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2012 Ales Hvezda * Copyright (C) 1998-2012 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #include #include #ifdef HAVE_UNISTD_H #include #endif #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif #define GETOPT_OPTIONS "c:hL:o:pqr:s:vV" #ifndef OPTARG_IN_UNISTD extern char *optarg; extern int optind; #endif #ifdef HAVE_GETOPT_H #include #endif #ifdef HAVE_GETOPT_LONG struct option long_options[] = { {"help", 0, 0, 'h'}, {"version", 0, 0, 'V'}, {"quiet", 0, 0, 'q'}, {"verbose", 0, 0, 'v'}, {"config-file", 0, 0, 'r'}, {"output", 0, 0, 'o'}, {0, 0, 0, 0} }; #endif /*! Contains a Scheme expression arising from command-line arguments. * This is evaluated after initialising gschem, but before loading * any rc files. */ SCM s_pre_load_expr = SCM_EOL; /*! Contains a Scheme expression arising from command-line arguments. * This is evaluated after loading gschem and any schematic * files specified on the command-line. */ SCM s_post_load_expr = SCM_EOL; /*! \brief Print brief help message and exit. * \par Function Description * Print brief help message describing gschem usage & command-line * options, then exit with \a exit_status. * * \param cmd First element of argv (name of program as run). */ static void usage(char *cmd) { printf(_( "Usage: %s [OPTION ...] [--] [FILE ...]\n" "\n" "Interactively edit gEDA schematics or symbols. If one or more FILEs\n" "are specified, open them for editing; otherwise, create a new, empty\n" "schematic.\n" "\n" "Options:\n" " -q, --quiet Quiet mode.\n" " -v, --verbose Verbose mode.\n" " -r, --config-file=FILE Additional configuration file to load.\n" " -L DIR Add DIR to Scheme search path.\n" " -c EXPR Scheme expression to run at startup.\n" " -s FILE Scheme script to run at startup.\n" " -o, --output=FILE Output filename (for printing).\n" " -p Automatically place the window.\n" " -V, --version Show version information.\n" " -h, --help Help; this message.\n" " -- Treat all remaining arguments as filenames.\n" "\n" "Report bugs at \n" "gEDA/gaf homepage: \n"), cmd); exit(0); } /*! \brief Print version info and exit. * \par Function Description * Print gEDA version, and copyright/warranty notices, and exit with * exit status 0. */ static void version () { printf(_( "gEDA %s (g%.7s)\n" "Copyright (C) 1998-2012 gEDA developers\n" "This is free software, and you are welcome to redistribute it under\n" "certain conditions. For details, see the file `COPYING', which is\n" "included in the gEDA distribution.\n" "There is NO WARRANTY, to the extent permitted by law.\n"), PACKAGE_DOTTED_VERSION, PACKAGE_GIT_COMMIT); exit (0); } /*! \brief Parse gschem command-line options. * \par Function Description * Parse command line options, displaying usage message or version * information as required. * * \param argc Number of command-line arguments. * \param argv Array of command-line arguments. * \return index into \a argv of first non-option argument. */ int parse_commandline(int argc, char *argv[]) { int ch; SCM sym_cons = scm_from_utf8_symbol ("cons"); SCM sym_set_x = scm_from_utf8_symbol ("set!"); SCM sym_load_path = scm_from_utf8_symbol ("%load-path"); SCM sym_begin = scm_from_utf8_symbol ("begin"); SCM sym_load = scm_from_utf8_symbol ("load"); SCM sym_eval_string = scm_from_utf8_symbol ("eval-string"); #ifdef HAVE_GETOPT_LONG while ((ch = getopt_long (argc, argv, GETOPT_OPTIONS, long_options, NULL)) != -1) { #else while ((ch = getopt (argc, argv, GETOPT_OPTIONS)) != -1) { #endif switch (ch) { case 'v': verbose_mode = TRUE; break; case 'q': quiet_mode = TRUE; break; case 'r': rc_filename = g_strdup (optarg); break; case 's': /* Argument is filename of a Scheme script to be run on gschem * load. Add the necessary expression to be evaluated after * loading. */ s_post_load_expr = scm_cons (scm_list_2 (sym_load, scm_from_locale_string (optarg)), s_post_load_expr); break; case 'c': /* Argument is a Scheme expression to be evaluated on gschem * load. Add the necessary expression to be evaluated after * loading. */ s_post_load_expr = scm_cons (scm_list_2 (sym_eval_string, scm_from_locale_string (optarg)), s_post_load_expr); break; case 'o': output_filename = g_strdup (optarg); break; case 'p': auto_place_mode = TRUE; break; case 'L': /* Argument is a directory to add to the Scheme load path. * Add the necessary expression to be evaluated before rc file * loading. */ s_pre_load_expr = scm_cons (scm_list_3 (sym_set_x, sym_load_path, scm_list_3 (sym_cons, scm_from_locale_string (optarg), sym_load_path)), s_pre_load_expr); break; case 'h': usage(argv[0]); break; case 'V': version (); break; case '?': #ifndef HAVE_GETOPT_LONG if ((optopt != ':') && (strchr (GETOPT_OPTIONS, optopt) != NULL)) { fprintf (stderr, "ERROR: -%c option requires an argument.\n\n", optopt); } else if (isprint (optopt)) { fprintf (stderr, "ERROR: Unknown option -%c.\n\n", optopt); } else { fprintf (stderr, "ERROR: Unknown option character `\\x%x'.\n\n", optopt); } #endif fprintf (stderr, "\nRun `%s --help' for more information.\n", argv[0]); exit (1); break; default: g_assert_not_reached (); } } if (quiet_mode) { verbose_mode = FALSE; } /* Make sure Scheme expressions can be passed straight to eval */ s_pre_load_expr = scm_cons (sym_begin, scm_reverse_x (s_pre_load_expr, SCM_UNDEFINED)); scm_gc_protect_object (s_pre_load_expr); s_post_load_expr = scm_cons (sym_begin, scm_reverse_x (s_post_load_expr, SCM_UNDEFINED)); scm_gc_protect_object (s_post_load_expr); return(optind); } geda-gaf-1.8.2/gschem/src/o_select.c0000664000175000017500000004073712220647257014120 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2011 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! The code in this file is sometimes not obvious, especially * o_select_object (which implements the selection of objects either * when doing a single or multi select) * * Also, there are cases where it looks like there is redundant code, which * could be removed/merged, but I purposely didn't do so to keep the code * readable * * the count == 0 stuff really only applies to when you are coming from a * multi select case */ #include #include #include #ifdef HAVE_STRING_H #include #endif #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_select_run_hooks(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current, int flag) { switch (flag) { /* If flag == 0, then we are deselecting something. */ case 0: g_run_hook_object (w_current, "%deselect-objects-hook", o_current); break; /* If flag == 1, then we are selecting something. */ case 1: g_run_hook_object (w_current, "%select-objects-hook", o_current); break; default: g_assert_not_reached (); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \note * type can be either SINGLE meaning selection is a single mouse click * or it can be MULTIPLE meaning selection is a selection box */ void o_select_object(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current, int type, int count) { TOPLEVEL *toplevel = w_current->toplevel; int SHIFTKEY; int CONTROLKEY; int removing_obj = 0; SHIFTKEY = w_current->SHIFTKEY; CONTROLKEY = w_current->CONTROLKEY; #if DEBUG printf("OBJECT id: %d\n", o_current->sid); #endif switch(o_current->selected) { case(FALSE): /* object not selected */ switch(SHIFTKEY) { /* shift key pressed? */ case(TRUE): /* shift key pressed */ /* just fall through */ break; case(FALSE): /* condition: first object being added */ /* condition: control key not pressed */ /* condition: for both multiple and single object added */ /* result: remove all objects from selection */ if (count == 0 && !CONTROLKEY) { o_select_unselect_all(w_current); } break; } /* end shift key switch */ /* object not select, add it to the selection list */ o_select_run_hooks( w_current, o_current, 1 ); o_selection_add (toplevel, toplevel->page_current->selection_list, o_current); break; case(TRUE): /* object was already selected */ switch(SHIFTKEY) { /* shift key pressed ? */ case(TRUE): /* shift key pressed */ /* condition: not doing multiple */ /* result: remove object from selection */ if (type != MULTIPLE) { o_select_run_hooks( w_current, o_current, 0 ); o_selection_remove (toplevel, toplevel->page_current-> selection_list, o_current); removing_obj = 1; } break; case(FALSE): /* shift key not pressed */ /* condition: doing multiple */ /* condition: first object being added */ /* condition: control key not pressed */ /* 1st result: remove all objects from selection */ /* 2nd result: add object to selection */ if (type == MULTIPLE && count == 0 && !CONTROLKEY) { o_select_unselect_all (w_current); o_select_run_hooks( w_current, o_current, 1 ); o_selection_add (toplevel, toplevel->page_current->selection_list, o_current); } /* condition: doing single object add */ /* condition: control key not pressed */ /* 1st result: remove all objects from selection */ /* 2nd result: add object to selection list */ if (type == SINGLE && !CONTROLKEY) { o_select_unselect_all (w_current); o_select_run_hooks (w_current, o_current, 1); o_selection_add (toplevel, toplevel->page_current-> selection_list, o_current); } if (CONTROLKEY) { o_select_run_hooks(w_current, o_current, 0); o_selection_remove (toplevel, toplevel->page_current-> selection_list, o_current); removing_obj = 1; } break; } break; /* end object selected switch */ } /* do the attributes */ if (removing_obj) { /* Remove the invisible attributes from the object list as well, * so they don't remain selected without the user knowing. */ o_attrib_deselect_invisible (w_current, toplevel->page_current->selection_list, o_current); } else { /* If the type is MULTIPLE (meaning a select box was/is being used), only * select invisible attributes on objects. Otherwise attributes will be * "double selected", causing them to remain unselected if using * invert-selection (CONTROLKEY is pressed) */ if( type == MULTIPLE) { o_attrib_select_invisible (w_current, toplevel->page_current->selection_list, o_current); } else { /* Select all attributes of the object for a single click select */ o_attrib_add_selected (w_current, toplevel->page_current->selection_list, o_current); } } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ int o_select_box_start(GSCHEM_TOPLEVEL *w_current, int w_x, int w_y) { int diff_x, diff_y; diff_x = abs(w_current->first_wx - w_x); diff_y = abs(w_current->first_wy - w_y); /* if we are still close to the button press location, then don't enter the selection box mode */ if (SCREENabs (w_current, max(diff_x, diff_y)) < 10) { return FALSE; } w_current->second_wx = w_x; w_current->second_wy = w_y; return TRUE; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_select_box_end(GSCHEM_TOPLEVEL *w_current, int w_x, int w_y) { o_select_box_invalidate_rubber (w_current); w_current->rubber_visible = 0; o_select_box_search(w_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_select_box_motion (GSCHEM_TOPLEVEL *w_current, int w_x, int w_y) { if (w_current->rubber_visible) o_select_box_invalidate_rubber (w_current); w_current->second_wx = w_x; w_current->second_wy = w_y; o_select_box_invalidate_rubber (w_current); w_current->rubber_visible = 1; } /*! \todo Finish function documentation!!! * \brief * \par Function Description */ void o_select_box_invalidate_rubber (GSCHEM_TOPLEVEL *w_current) { int x1, y1, x2, y2; WORLDtoSCREEN (w_current, w_current->first_wx, w_current->first_wy, &x1, &y1); WORLDtoSCREEN (w_current, w_current->second_wx, w_current->second_wy, &x2, &y2); o_invalidate_rect (w_current, x1, y1, x2, y1); o_invalidate_rect (w_current, x1, y1, x1, y2); o_invalidate_rect (w_current, x2, y1, x2, y2); o_invalidate_rect (w_current, x1, y2, x2, y2); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_select_box_draw_rubber (GSCHEM_TOPLEVEL *w_current) { gschem_cairo_box (w_current, 0, w_current->first_wx, w_current->first_wy, w_current->second_wx, w_current->second_wy); gschem_cairo_set_source_color (w_current, x_color_lookup_dark (SELECT_COLOR)); gschem_cairo_stroke (w_current, TYPE_SOLID, END_NONE, 0, -1, -1); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_select_box_search(GSCHEM_TOPLEVEL *w_current) { TOPLEVEL *toplevel = w_current->toplevel; OBJECT *o_current=NULL; int count = 0; /* object count */ int SHIFTKEY = w_current->SHIFTKEY; int CONTROLKEY = w_current->CONTROLKEY; int left, right, top, bottom; const GList *iter; left = min(w_current->first_wx, w_current->second_wx); right = max(w_current->first_wx, w_current->second_wx); top = min(w_current->first_wy, w_current->second_wy); bottom = max(w_current->first_wy, w_current->second_wy); iter = s_page_objects (toplevel->page_current); while (iter != NULL) { o_current = iter->data; /* only select visible objects */ if (o_is_visible (toplevel, o_current) || toplevel->show_hidden_text) { if ( o_current->w_left >= left && o_current->w_right <= right && o_current->w_top >= top && o_current->w_bottom <= bottom ) { o_select_object(w_current, o_current, MULTIPLE, count); count++; } } iter = g_list_next (iter); } /* if there were no objects to be found in select box, count will be */ /* zero, and you need to deselect anything remaining (except when the */ /* shift or control keys are pressed) */ if (count == 0 && !SHIFTKEY && !CONTROLKEY) { o_select_unselect_all (w_current); } i_update_menus(w_current); } /*! \brief Select all nets connected to the current net * \par Depending on the state of the w_current->net_selection_mode variable * and the net_selection_state of the current net this function will either * select the single net, all directly connected nets or all nets connected * with netname labels. * \param [in] w_current GSCHEM_TOPLEVEL struct. * \param [in] o_net Pointer to a single net object */ void o_select_connected_nets(GSCHEM_TOPLEVEL *w_current, OBJECT* o_net) { TOPLEVEL *toplevel = w_current->toplevel; const GList *o_iter; GList *iter1; OBJECT *o_current; int count=0; gchar* netname; GList *netstack = NULL; GList *netnamestack = NULL; GList *netnameiter; g_assert(o_net->type == OBJ_NET); if (!o_net->selected) { w_current->net_selection_state = 1; } /* the current net is the startpoint for the stack */ netstack = g_list_prepend(netstack, o_net); count = 0; while (1) { netnameiter = g_list_last(netnamestack); for (iter1 = g_list_last(netstack); iter1 != NULL; iter1 = g_list_previous(iter1), count++) { o_current = iter1->data; if (o_current->type == OBJ_NET && (!o_current->selected || count == 0)) { o_select_object (w_current, o_current, SINGLE, count); if (w_current->net_selection_state > 1) { /* collect nets */ netstack = g_list_concat(s_conn_return_others(NULL, o_current), netstack); } if (w_current->net_selection_state > 2) { /* collect netnames */ netname = o_attrib_search_object_attribs_by_name (o_current, "netname", 0); if (netname != NULL) { if (g_list_find_custom(netnamestack, netname, (GCompareFunc) strcmp) == NULL) { netnamestack = g_list_append(netnamestack, netname); } else { g_free(netname); } } } } } g_list_free(netstack); netstack = NULL; if (netnameiter == g_list_last(netnamestack)) break; /* no new netnames in the stack --> finished */ /* get all the nets of the stacked netnames */ for (o_iter = s_page_objects (toplevel->page_current); o_iter != NULL; o_iter = g_list_next (o_iter)) { o_current = o_iter->data; if (o_current->type == OBJ_TEXT && o_current->attached_to != NULL) { if (o_current->attached_to->type == OBJ_NET) { netname = o_attrib_search_object_attribs_by_name (o_current->attached_to, "netname", 0); if (netname != NULL) { if (g_list_find_custom(netnamestack, netname, (GCompareFunc) strcmp) != NULL) { netstack = g_list_prepend(netstack, o_current->attached_to); } g_free(netname); } } } } } w_current->net_selection_state += 1; if (w_current->net_selection_state > w_current->net_selection_mode) w_current->net_selection_state = 1; for (iter1 = netnamestack; iter1 != NULL; iter1 = g_list_next(iter1)) g_free(iter1->data); g_list_free(netnamestack); } /* This is a wrapper for o_selection_return_first_object */ /* This function always looks at the current page selection list */ OBJECT *o_select_return_first_object(GSCHEM_TOPLEVEL *w_current) { TOPLEVEL *toplevel = w_current->toplevel; if (! (w_current && toplevel->page_current && geda_list_get_glist( toplevel->page_current->selection_list ))) return NULL; else return (OBJECT *)g_list_first( geda_list_get_glist( toplevel->page_current->selection_list ))->data; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \return TRUE if the selection list is not empty, otherwise false. * also make sure item is valid */ int o_select_selected(GSCHEM_TOPLEVEL *w_current) { TOPLEVEL *toplevel = w_current->toplevel; if ( geda_list_get_glist( toplevel->page_current->selection_list )) { return(TRUE); } return(FALSE); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_select_unselect_all(GSCHEM_TOPLEVEL *w_current) { TOPLEVEL *toplevel = w_current->toplevel; SELECTION *selection = toplevel->page_current->selection_list; GList *removed = NULL; GList *iter; removed = g_list_copy (geda_list_get_glist (selection)); for (iter = removed; iter != NULL; iter = g_list_next (iter)) { o_selection_remove (toplevel, selection, (OBJECT *) iter->data); } /* Call hooks */ if (removed != NULL) { g_run_hook_object_list (w_current, "%deselect-objects-hook", removed); } } /*! \brief Selects all visible objects on the current page. * \par Function Description * Clears any existing selection, then selects everything visible and * unlocked on the current page, and any attached attributes whether * visible or invisible.. * * \param w_current The current #GSCHEM_TOPLEVEL structure. */ void o_select_visible_unlocked (GSCHEM_TOPLEVEL *w_current) { TOPLEVEL *toplevel = w_current->toplevel; SELECTION *selection = toplevel->page_current->selection_list; const GList *iter; GList *added; o_select_unselect_all (w_current); for (iter = s_page_objects (toplevel->page_current); iter != NULL; iter = g_list_next (iter)) { OBJECT *obj = (OBJECT *) iter->data; /* Skip invisible objects. */ if (!o_is_visible (toplevel, obj) && !toplevel->show_hidden_text) continue; /* Skip locked objects. */ if (!obj->selectable) continue; /* Add object to selection. */ /*! \bug We can't call o_select_object() because it * behaves differently depending on the state of * w_current->SHIFTKEY and w_current->CONTROLKEY, which may well * be set if this function is called via a keystroke * (e.g. Ctrl-A). */ o_selection_add (toplevel, selection, obj); /* Add any attributes of object to selection as well. */ o_attrib_add_selected (w_current, selection, obj); } /* Run hooks for all items selected */ added = geda_list_get_glist (selection); if (added != NULL) { g_run_hook_object_list (w_current, "%select-objects-hook", added); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_select_move_to_place_list(GSCHEM_TOPLEVEL *w_current) { TOPLEVEL *toplevel = w_current->toplevel; GList *selection; GList *selection_copy; /* remove the old place list if it exists */ s_delete_object_glist(toplevel, toplevel->page_current->place_list); toplevel->page_current->place_list = NULL; selection = geda_list_get_glist( toplevel->page_current->selection_list ); selection_copy = g_list_copy( selection ); toplevel->page_current->place_list = selection_copy; } geda-gaf-1.8.2/gschem/src/globals.c0000664000175000017500000000271512204177071013732 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2011 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! \todo Add global variable documentation!!! * */ #include #include #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif /* window list */ GList *global_window_list = NULL; char *rc_filename = NULL; char *output_filename = NULL; /* colors */ GdkColor white; GdkColor black; int logging_dest = LOG_WINDOW; /* command line options */ int quiet_mode = FALSE; int verbose_mode = FALSE; int auto_place_mode = FALSE; /* Global buffers */ GList *object_buffer[MAX_BUFFERS]; /* Hooks */ SCM complex_place_list_changed_hook; geda-gaf-1.8.2/gschem/src/x_window.c0000664000175000017500000010054412220647257014152 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif #define GSCHEM_THEME_ICON_NAME "geda-gschem" /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void x_window_setup (GSCHEM_TOPLEVEL *w_current) { TOPLEVEL *toplevel = w_current->toplevel; /* immediately setup user params */ i_vars_set(w_current); /* Initialize the autosave callback */ s_page_autosave_init(toplevel); /* Initialize the clipboard callback */ x_clipboard_init (w_current); /* x_window_setup_world() - BEGIN */ toplevel->init_left = -45; toplevel->init_top = -45; /* init_right and _bottom are set before this function is called */ toplevel->width = default_width; toplevel->height = default_height; w_current->win_width = toplevel->width; w_current->win_height = toplevel->height; /* x_window_setup_world() - END */ /* Add to the list of windows */ global_window_list = g_list_append (global_window_list, w_current); /* X related stuff */ x_window_create_main (w_current); x_menu_attach_recent_files_submenu(w_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void x_window_setup_gc(GSCHEM_TOPLEVEL *w_current) { w_current->gc = gdk_gc_new(w_current->window); if (w_current->gc == NULL) { fprintf(stderr, _("Couldn't allocate gc\n")); exit(-1); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void x_window_free_gc(GSCHEM_TOPLEVEL *w_current) { gdk_gc_unref(w_current->gc); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void x_window_create_drawing(GtkWidget *drawbox, GSCHEM_TOPLEVEL *w_current) { /* drawing next */ w_current->drawing_area = gtk_drawing_area_new (); /* Set the size here. Be sure that it has an aspect ratio of 1.333 * We could calculate this based on root window size, but for now * lets just set it to: * Width = root_width*3/4 Height = Width/1.3333333333 * 1.3333333 is the desired aspect ratio! */ gtk_drawing_area_size (GTK_DRAWING_AREA (w_current->drawing_area), w_current->win_width, w_current->win_height); gtk_box_pack_start (GTK_BOX (drawbox), w_current->drawing_area, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (w_current->drawing_area, GTK_CAN_FOCUS ); gtk_widget_grab_focus (w_current->drawing_area); gtk_widget_show (w_current->drawing_area); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void x_window_setup_draw_events(GSCHEM_TOPLEVEL *w_current) { struct event_reg_t { gchar *detailed_signal; GCallback c_handler; }; struct event_reg_t drawing_area_events[] = { { "expose_event", G_CALLBACK(x_event_expose) }, { "button_press_event", G_CALLBACK(x_event_button_pressed) }, { "button_release_event", G_CALLBACK(x_event_button_released) }, { "motion_notify_event", G_CALLBACK(x_event_motion) }, { "configure_event", G_CALLBACK(x_event_configure) }, { "key_press_event", G_CALLBACK(x_event_key) }, { "key_release_event", G_CALLBACK(x_event_key) }, { NULL, NULL } }; struct event_reg_t main_window_events[] = { { "enter_notify_event", G_CALLBACK(x_event_enter) }, { "scroll_event", G_CALLBACK(x_event_scroll) }, { NULL, NULL } }; struct event_reg_t *tmp; /* is the configure event type missing here? hack */ gtk_widget_set_events (w_current->drawing_area, GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_ENTER_NOTIFY_MASK | GDK_KEY_PRESS_MASK | GDK_BUTTON_RELEASE_MASK); for (tmp = drawing_area_events; tmp->detailed_signal != NULL; tmp++) { g_signal_connect (w_current->drawing_area, tmp->detailed_signal, tmp->c_handler, w_current); } for (tmp = main_window_events; tmp->detailed_signal != NULL; tmp++) { g_signal_connect (w_current->main_window, tmp->detailed_signal, tmp->c_handler, w_current); } } /*! \brief Creates a new GtkImage displaying a GTK stock icon if available. * * If a stock GTK icon with the requested name was not found, this function * falls back to the bitmap icons provided in the distribution. * * \param stock Name of the stock icon ("new", "open", etc.) * \param w_current Schematic top level * \return Pointer to the new GtkImage object. */ static GtkWidget *x_window_stock_pixmap(const char *stock, GSCHEM_TOPLEVEL *w_current) { GtkWidget *wpixmap = NULL; GdkPixmap *pixmap; GdkBitmap *mask; GtkStockItem item; GdkWindow *window=w_current->main_window->window; GdkColor *background=&w_current->main_window->style->bg[GTK_STATE_NORMAL]; gchar *filename=g_strconcat(w_current->toplevel->bitmap_directory, G_DIR_SEPARATOR_S, "gschem-", stock, ".xpm", NULL); gchar *stockid=g_strconcat("gtk-", stock, NULL); /* First check if GTK knows this stock icon */ if(gtk_stock_lookup(stockid, &item)) { wpixmap = gtk_image_new_from_stock(stockid, GTK_ICON_SIZE_SMALL_TOOLBAR); } else { /* Fallback to the original custom icon */ pixmap = gdk_pixmap_create_from_xpm (window, &mask, background, filename); if (pixmap != NULL) { wpixmap = gtk_image_new_from_pixmap (pixmap, mask); } else { s_log_message("Could not find image at file: %s.\n", filename); wpixmap = gtk_image_new_from_stock(GTK_STOCK_MISSING_IMAGE , GTK_ICON_SIZE_SMALL_TOOLBAR); } } g_free(filename); g_free(stockid); return wpixmap; } static void x_window_invoke_macro(GtkEntry *entry, void *userdata) { GSCHEM_TOPLEVEL *w_current = userdata; SCM interpreter; interpreter = scm_list_2(scm_from_utf8_symbol("invoke-macro"), scm_from_utf8_string(gtk_entry_get_text(entry))); scm_dynwind_begin (0); g_dynwind_window (w_current); g_scm_eval_protected(interpreter, SCM_UNDEFINED); scm_dynwind_end (); gtk_widget_hide(w_current->macro_box); gtk_widget_grab_focus(w_current->drawing_area); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void x_window_create_main(GSCHEM_TOPLEVEL *w_current) { TOPLEVEL *toplevel = w_current->toplevel; GtkWidget *label=NULL; GtkWidget *main_box=NULL; GtkWidget *menubar=NULL; GtkWidget *drawbox=NULL; GtkWidget *bottom_box=NULL; GtkWidget *toolbar=NULL; GtkWidget *handlebox=NULL; /* used to signify that the window isn't mapped yet */ w_current->window = NULL; w_current->main_window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (w_current->main_window, "gschem"); gtk_window_set_policy (GTK_WINDOW (w_current->main_window), TRUE, TRUE, TRUE); /* We want the widgets to flow around the drawing area, so we don't * set a size of the main window. The drawing area's size is fixed, * see below */ /* * normally we let the window manager handle locating and sizing * the window. However, for some batch processing of schematics * (generating a pdf of all schematics for example) we want to * override this. Hence "auto_place_mode". */ if( auto_place_mode ) gtk_widget_set_uposition (w_current->main_window, 10, 10); /* this should work fine */ g_signal_connect (G_OBJECT (w_current->main_window), "delete_event", G_CALLBACK (i_callback_close_wm), w_current); /* Containers first */ main_box = gtk_vbox_new(FALSE, 1); gtk_container_border_width(GTK_CONTAINER(main_box), 0); gtk_container_add(GTK_CONTAINER(w_current->main_window), main_box); menubar = get_main_menu (w_current); if (w_current->handleboxes) { handlebox = gtk_handle_box_new (); gtk_box_pack_start(GTK_BOX(main_box), handlebox, FALSE, FALSE, 0); gtk_container_add (GTK_CONTAINER (handlebox), menubar); } else { gtk_box_pack_start(GTK_BOX(main_box), menubar, FALSE, FALSE, 0); } w_current->menubar = menubar; gtk_widget_realize (w_current->main_window); if (w_current->handleboxes && w_current->toolbars) { handlebox = gtk_handle_box_new (); gtk_box_pack_start (GTK_BOX (main_box), handlebox, FALSE, FALSE, 0); } if (w_current->toolbars) { toolbar = gtk_toolbar_new(); gtk_toolbar_set_orientation (GTK_TOOLBAR(toolbar), GTK_ORIENTATION_HORIZONTAL); gtk_toolbar_set_style (GTK_TOOLBAR(toolbar), GTK_TOOLBAR_ICONS); if (w_current->handleboxes) { gtk_container_add (GTK_CONTAINER (handlebox), toolbar); } else { gtk_box_pack_start(GTK_BOX(main_box), toolbar, FALSE, FALSE, 0); } gtk_toolbar_append_item (GTK_TOOLBAR (toolbar), _("New"), _("New file"), "toolbar/new", x_window_stock_pixmap("new", w_current), (GtkSignalFunc) i_callback_toolbar_file_new, w_current); gtk_toolbar_append_item (GTK_TOOLBAR (toolbar), _("Open"), _("Open file..."), "toolbar/open", x_window_stock_pixmap("open", w_current), (GtkSignalFunc) i_callback_toolbar_file_open, w_current); gtk_toolbar_append_item (GTK_TOOLBAR (toolbar), _("Save"), _("Save file"), "toolbar/save", x_window_stock_pixmap("save", w_current), (GtkSignalFunc) i_callback_toolbar_file_save, w_current); gtk_toolbar_append_space (GTK_TOOLBAR(toolbar)); gtk_toolbar_append_item (GTK_TOOLBAR (toolbar), _("Undo"), _("Undo last operation"), "toolbar/undo", x_window_stock_pixmap("undo", w_current), (GtkSignalFunc) i_callback_toolbar_edit_undo, w_current); gtk_toolbar_append_item (GTK_TOOLBAR (toolbar), _("Redo"), _("Redo last undo"), "toolbar/redo", x_window_stock_pixmap("redo", w_current), (GtkSignalFunc) i_callback_toolbar_edit_redo, w_current); gtk_toolbar_append_space (GTK_TOOLBAR(toolbar)); /* not part of any radio button group */ gtk_toolbar_append_item (GTK_TOOLBAR (toolbar), _("Component"), _("Add component...\nSelect library and component from list, move the mouse into main window, click to place\nRight mouse button to cancel"), "toolbar/component", x_window_stock_pixmap("comp", w_current), (GtkSignalFunc) i_callback_toolbar_add_component, w_current); w_current->toolbar_net = gtk_toolbar_append_element(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_CHILD_RADIOBUTTON, NULL, _("Nets"), _("Add nets mode\nRight mouse button to cancel"), "toolbar/nets", x_window_stock_pixmap("net", w_current), (GtkSignalFunc) i_callback_toolbar_add_net, w_current); w_current->toolbar_bus = gtk_toolbar_append_element(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_CHILD_RADIOBUTTON, w_current->toolbar_net, _("Bus"), _("Add buses mode\nRight mouse button to cancel"), "toolbar/bus", x_window_stock_pixmap("bus", w_current), (GtkSignalFunc) i_callback_toolbar_add_bus, w_current); /* not part of any radio button group */ gtk_toolbar_append_item (GTK_TOOLBAR (toolbar), _("Text"), _("Add Text..."), "toolbar/text", x_window_stock_pixmap("text", w_current), (GtkSignalFunc) i_callback_toolbar_add_text, w_current); gtk_toolbar_append_space (GTK_TOOLBAR(toolbar)); w_current->toolbar_select = gtk_toolbar_append_element(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_CHILD_RADIOBUTTON, w_current->toolbar_bus, _("Select"), _("Select mode"), "toolbar/select", x_window_stock_pixmap("select", w_current), (GtkSignalFunc) i_callback_toolbar_edit_select, w_current); gtk_toolbar_append_space (GTK_TOOLBAR(toolbar)); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w_current->toolbar_select), TRUE); } /* Try to create popup menu (appears in right mouse button */ w_current->popup_menu = (GtkWidget *) get_main_popup(w_current); drawbox = gtk_hbox_new(FALSE, 0); gtk_container_border_width(GTK_CONTAINER(drawbox), 0); gtk_container_add(GTK_CONTAINER(main_box), drawbox); x_window_create_drawing(drawbox, w_current); x_window_setup_draw_events(w_current); if (w_current->scrollbars_flag == TRUE) { /* setup scroll bars */ w_current->v_adjustment = GTK_ADJUSTMENT ( gtk_adjustment_new (toplevel->init_bottom, 0.0, toplevel->init_bottom, 100.0, 100.0, 10.0)); w_current->v_scrollbar = gtk_vscrollbar_new (w_current->v_adjustment); gtk_range_set_update_policy (GTK_RANGE (w_current->v_scrollbar), GTK_UPDATE_CONTINUOUS); gtk_box_pack_start (GTK_BOX (drawbox), w_current->v_scrollbar, FALSE, FALSE, 0); g_signal_connect (w_current->v_adjustment, "value_changed", G_CALLBACK (x_event_vschanged), w_current); w_current->h_adjustment = GTK_ADJUSTMENT ( gtk_adjustment_new (0.0, 0.0, toplevel->init_right, 100.0, 100.0, 10.0)); w_current->h_scrollbar = gtk_hscrollbar_new (w_current->h_adjustment); gtk_range_set_update_policy (GTK_RANGE (w_current->h_scrollbar), GTK_UPDATE_CONTINUOUS); gtk_box_pack_start (GTK_BOX (main_box), w_current->h_scrollbar, FALSE, FALSE, 0); g_signal_connect (w_current->h_adjustment, "value_changed", G_CALLBACK (x_event_hschanged), w_current); } /* macro box */ w_current->macro_entry = gtk_entry_new(); g_signal_connect(w_current->macro_entry, "activate", G_CALLBACK(&x_window_invoke_macro), w_current); w_current->macro_box = gtk_hbox_new(FALSE, 0); gtk_box_pack_start(GTK_BOX (w_current->macro_box), gtk_label_new (_("Evaluate:")), FALSE, FALSE, 2); gtk_box_pack_start(GTK_BOX(w_current->macro_box), w_current->macro_entry, TRUE, TRUE, 2); gtk_container_border_width(GTK_CONTAINER(w_current->macro_box), 1); gtk_box_pack_start (GTK_BOX (main_box), w_current->macro_box, FALSE, FALSE, 0); /* bottom box */ bottom_box = gtk_hbox_new(FALSE, 0); gtk_container_border_width(GTK_CONTAINER(bottom_box), 1); gtk_box_pack_start (GTK_BOX (main_box), bottom_box, FALSE, FALSE, 0); /* label = gtk_label_new ("Mouse buttons:"); gtk_box_pack_start (GTK_BOX (bottom_box), label, FALSE, FALSE, 10); */ label = gtk_label_new (" "); gtk_box_pack_start (GTK_BOX (bottom_box), label, FALSE, FALSE, 2); w_current->left_label = gtk_label_new (_("Pick")); gtk_box_pack_start (GTK_BOX (bottom_box), w_current->left_label, FALSE, FALSE, 0); label = gtk_label_new ("|"); gtk_box_pack_start (GTK_BOX (bottom_box), label, FALSE, FALSE, 5); if (w_current->middle_button == STROKE) { #ifdef HAVE_LIBSTROKE w_current->middle_label = gtk_label_new (_("Stroke")); #else w_current->middle_label = gtk_label_new (_("none")); #endif } else if (w_current->middle_button == ACTION) { w_current->middle_label = gtk_label_new (_("Action")); } else { w_current->middle_label = gtk_label_new (_("Repeat/none")); } gtk_box_pack_start (GTK_BOX (bottom_box), w_current->middle_label, FALSE, FALSE, 0); label = gtk_label_new ("|"); gtk_box_pack_start (GTK_BOX (bottom_box), label, FALSE, FALSE, 5); if (default_third_button == POPUP_ENABLED) { w_current->right_label = gtk_label_new (_("Menu/Cancel")); } else { w_current->right_label = gtk_label_new (_("Pan/Cancel")); } gtk_box_pack_start (GTK_BOX (bottom_box), w_current->right_label, FALSE, FALSE, 0); label = gtk_label_new (" "); gtk_box_pack_start (GTK_BOX (bottom_box), label, FALSE, FALSE, 5); w_current->grid_label = gtk_label_new (" "); gtk_box_pack_start (GTK_BOX (bottom_box), w_current->grid_label, FALSE, FALSE, 10); w_current->status_label = gtk_label_new (_("Select Mode")); gtk_box_pack_end (GTK_BOX (bottom_box), w_current->status_label, FALSE, FALSE, 10); gtk_widget_show_all (w_current->main_window); gtk_widget_hide(w_current->macro_box); w_current->window = w_current->drawing_area->window; w_current->drawable = w_current->window; x_window_setup_gc(w_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void x_window_close(GSCHEM_TOPLEVEL *w_current) { TOPLEVEL *toplevel = w_current->toplevel; gboolean last_window = FALSE; /* If we're closing whilst inside a move action, re-wind the * page contents back to their state before we started */ if (w_current->inside_action && (w_current->event_state == MOVE || w_current->event_state == ENDMOVE)) { o_move_cancel (w_current); } /* last chance to save possible unsaved pages */ if (!x_dialog_close_window (w_current)) { /* user somehow cancelled the close */ return; } x_clipboard_finish (w_current); #if DEBUG o_conn_print_hash(w_current->page_current->conn_table); #endif /* close all the dialog boxes */ if (w_current->sowindow) gtk_widget_destroy(w_current->sowindow); if (w_current->cswindow) gtk_widget_destroy(w_current->cswindow); if (w_current->tiwindow) gtk_widget_destroy(w_current->tiwindow); if (w_current->tewindow) gtk_widget_destroy(w_current->tewindow); if (w_current->aawindow) gtk_widget_destroy(w_current->aawindow); x_multiattrib_close (w_current); if (w_current->aewindow) gtk_widget_destroy(w_current->aewindow); if (w_current->trwindow) gtk_widget_destroy(w_current->trwindow); x_pagesel_close (w_current); if (w_current->tswindow) gtk_widget_destroy(w_current->tswindow); if (w_current->iwindow) gtk_widget_destroy(w_current->iwindow); if (w_current->hkwindow) gtk_widget_destroy(w_current->hkwindow); if (w_current->cowindow) gtk_widget_destroy(w_current->cowindow); if (w_current->clwindow) gtk_widget_destroy(w_current->clwindow); if (w_current->sewindow) gtk_widget_destroy(w_current->sewindow); if (g_list_length (global_window_list) == 1) { /* no more window after this one, remember to quit */ last_window = TRUE; } if (toplevel->major_changed_refdes) { GList* current = toplevel->major_changed_refdes; while (current) { /* printf("yeah freeing: %s\n", (char*) current->data); */ g_free(current->data); current = g_list_next(current); } g_list_free(toplevel->major_changed_refdes); } /* stuff that has to be done before we free w_current */ if (last_window) { /* close the log file */ s_log_close (); /* free the buffers */ o_buffer_free (w_current); } x_window_free_gc(w_current); /* Clear Guile smob weak ref */ if (w_current->smob != SCM_UNDEFINED) { SCM_SET_SMOB_DATA (w_current->smob, NULL); w_current->smob = SCM_UNDEFINED; } /* finally close the main window */ gtk_widget_destroy(w_current->main_window); s_toplevel_delete (toplevel); global_window_list = g_list_remove (global_window_list, w_current); g_free (w_current); /* just closed last window, so quit */ if (last_window) { gschem_quit(); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void x_window_close_all(GSCHEM_TOPLEVEL *w_current) { GSCHEM_TOPLEVEL *current; GList *list_copy, *iter; iter = list_copy = g_list_copy (global_window_list); while (iter != NULL ) { current = (GSCHEM_TOPLEVEL *)iter->data; iter = g_list_next (iter); x_window_close (current); } g_list_free (list_copy); } /*! \brief Opens a new page from a file. * \par Function Description * This function opens the file whose name is filename in a * new PAGE of toplevel. * * If there is no page for filename in toplevel's list * of pages, it creates a new PAGE, loads the file in it and returns * a pointer on the new page. Otherwise it returns a pointer on the * existing page. * * If the filename passed is NULL, this function creates an empty, * untitled page. The name of the untitled page is build from * configuration data ('untitled-name') and a counter for uniqueness. * * The opened page becomes the current page of toplevel. * * \param [in] w_current The toplevel environment. * \param [in] filename The name of the file to open or NULL for a blank page. * \returns A pointer on the new page. * * \bug This code should check to make sure any untitled filename * does not conflict with a file on disk. */ PAGE* x_window_open_page (GSCHEM_TOPLEVEL *w_current, const gchar *filename) { TOPLEVEL *toplevel = w_current->toplevel; PAGE *old_current, *page; gchar *fn; g_return_val_if_fail (toplevel != NULL, NULL); /* Generate untitled filename if none was specified */ if (filename == NULL) { gchar *cwd, *tmp; cwd = g_get_current_dir (); tmp = g_strdup_printf ("%s_%d.sch", toplevel->untitled_name, ++w_current->num_untitled); fn = g_build_filename (cwd, tmp, NULL); g_free(cwd); g_free(tmp); } else { fn = g_strdup (filename); } /* Return existing page if it is already loaded */ page = s_page_search (toplevel, fn); if ( page != NULL ) { g_free(fn); return page; } old_current = toplevel->page_current; page = s_page_new (toplevel, fn); s_page_goto (toplevel, page); /* Load from file if necessary, otherwise just print a message */ if (filename != NULL) { GError *err = NULL; if (!quiet_mode) s_log_message (_("Loading schematic [%s]\n"), fn); if (!f_open (toplevel, page, (gchar *) fn, &err)) { GtkWidget *dialog; g_warning ("%s\n", err->message); dialog = gtk_message_dialog_new_with_markup (GTK_WINDOW (w_current->main_window), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, _("An error occurred while loading the requested file.\n\nLoading from '%s' failed: %s. The gschem log may contain more information."), fn, err->message); gtk_window_set_title (GTK_WINDOW (dialog), _("Failed to load file")); gtk_dialog_run (GTK_DIALOG (dialog)); gtk_widget_destroy (dialog); g_error_free (err); } else { gtk_recent_manager_add_item (recent_manager, g_filename_to_uri(fn, NULL, NULL)); } } else { if (!quiet_mode) s_log_message (_("New file [%s]\n"), toplevel->page_current->page_filename); g_run_hook_page (w_current, "%new-page-hook", toplevel->page_current); } a_zoom_extents (w_current, s_page_objects (toplevel->page_current), A_PAN_DONT_REDRAW); o_undo_savestate (w_current, UNDO_ALL); if ( old_current != NULL ) s_page_goto (toplevel, old_current); /* This line is generally un-needed, however if some code * wants to open a page, yet not bring it to the front, it is * needed needed to add it into the page manager. Otherwise, * it will get done in x_window_set_current_page(...) */ x_pagesel_update (w_current); /* ??? */ g_free (fn); return page; } /*! \brief Changes the current page. * \par Function Description * This function displays the specified page page in the * window attached to toplevel. * * It changes the toplevel's current page to page, * draws it and updates the user interface. * * page has to be in the list of PAGEs attached to toplevel. * * \param [in] w_current The toplevel environment. * \param [in] page The page to become current page. */ void x_window_set_current_page (GSCHEM_TOPLEVEL *w_current, PAGE *page) { TOPLEVEL *toplevel = w_current->toplevel; g_return_if_fail (toplevel != NULL); g_return_if_fail (page != NULL); o_redraw_cleanstates (w_current); s_page_goto (toplevel, page); i_update_menus (w_current); i_set_filename (w_current, page->page_filename); x_pagesel_update (w_current); x_multiattrib_update (w_current); x_manual_resize (w_current); x_hscrollbar_update (w_current); x_vscrollbar_update (w_current); o_invalidate_all (w_current); } /*! \brief Saves a page to a file. * \par Function Description * This function saves the page page to a file named * filename. * * It returns the value returned by function f_save() trying * to save page page to file filename (1 on success, 0 * on failure). * * page may not be the current page of toplevel. The * current page of toplevel is not affected by this function. * * \param [in] w_current The toplevel environment. * \param [in] page The page to save. * \param [in] filename The name of the file in which to save page. * \returns 1 on success, 0 otherwise. */ gint x_window_save_page (GSCHEM_TOPLEVEL *w_current, PAGE *page, const gchar *filename) { TOPLEVEL *toplevel = w_current->toplevel; PAGE *old_current; const gchar *log_msg, *state_msg; gint ret; GError *err = NULL; g_return_val_if_fail (toplevel != NULL, 0); g_return_val_if_fail (page != NULL, 0); g_return_val_if_fail (filename != NULL, 0); /* save current page for restore after opening */ old_current = toplevel->page_current; /* change to page */ s_page_goto (toplevel, page); /* and try saving current page to filename */ ret = (gint)f_save (toplevel, toplevel->page_current, filename, &err); if (ret != 1) { log_msg = _("Could NOT save page [%s]\n"); state_msg = _("Error while trying to save"); GtkWidget *dialog; dialog = gtk_message_dialog_new (GTK_WINDOW (w_current->main_window), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, "%s", err->message); gtk_window_set_title (GTK_WINDOW (dialog), _("Failed to save file")); gtk_dialog_run (GTK_DIALOG (dialog)); gtk_widget_destroy (dialog); g_clear_error (&err); } else { /* successful save of page to file, update page... */ /* change page name if necessary and prepare log message */ if (g_ascii_strcasecmp (page->page_filename, filename) != 0) { g_free (page->page_filename); page->page_filename = g_strdup (filename); log_msg = _("Saved as [%s]\n"); } else { log_msg = _("Saved [%s]\n"); } state_msg = _("Saved"); /* reset page CHANGED flag */ page->CHANGED = 0; /* add to recent file list */ gtk_recent_manager_add_item (recent_manager, g_filename_to_uri(filename, NULL, NULL)); } /* log status of operation */ s_log_message (log_msg, filename); /* update display and page manager */ x_window_set_current_page (w_current, old_current); i_set_state_msg (w_current, SELECT, state_msg); i_update_toolbar (w_current); return ret; } /*! \brief Closes a page. * \par Function Description * This function closes the page page of toplevel * toplevel. * * If necessary, the current page of toplevel is changed to * the next valid page or to a new untitled page. * * \param [in] w_current The toplevel environment. * \param [in] page The page to close. */ void x_window_close_page (GSCHEM_TOPLEVEL *w_current, PAGE *page) { TOPLEVEL *toplevel = w_current->toplevel; PAGE *new_current = NULL; GList *iter; g_return_if_fail (toplevel != NULL); g_return_if_fail (page != NULL); g_assert (page->pid != -1); /* If we're closing whilst inside a move action, re-wind the * page contents back to their state before we started */ if (w_current->inside_action && (w_current->event_state == MOVE || w_current->event_state == ENDMOVE)) { o_move_cancel (w_current); } if (page == toplevel->page_current) { /* as it will delete current page, select new current page */ /* first look up in page hierarchy */ new_current = s_page_search_by_page_id (toplevel->pages, page->up); if (new_current == NULL) { /* no up in hierarchy, choice is prev, next, new page */ iter = g_list_find( geda_list_get_glist( toplevel->pages ), page ); if ( g_list_previous( iter ) ) { new_current = (PAGE *)g_list_previous( iter )->data; } else if ( g_list_next( iter ) ) { new_current = (PAGE *)g_list_next( iter )->data; } else { /* need to add a new untitled page */ new_current = NULL; } } /* new_current will be the new current page at the end of the function */ } s_log_message (page->CHANGED ? _("Discarding page [%s]\n") : _("Closing [%s]\n"), page->page_filename); /* remove page from toplevel list of page and free */ s_page_delete (toplevel, page); /* Switch to a different page if we just removed the current */ if (toplevel->page_current == NULL) { /* Create a new page if there wasn't another to switch to */ if (new_current == NULL) { new_current = x_window_open_page (w_current, NULL); } /* change to new_current and update display */ x_window_set_current_page (w_current, new_current); } } /*! \brief Setup default icon for GTK windows * * \par Function Description * Sets the default window icon by name, to be found in the current icon * theme. The name used is \#defined above as GSCHEM_THEME_ICON_NAME. */ void x_window_set_default_icon( void ) { gtk_window_set_default_icon_name( GSCHEM_THEME_ICON_NAME ); } geda-gaf-1.8.2/gschem/src/x_pagesel.c0000664000175000017500000004613312220647257014266 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_STRING_H #include #endif #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif static void x_pagesel_callback_response (GtkDialog *dialog, gint arg1, gpointer user_data); /*! \brief Open the page manager dialog. * \par Function Description * Opens the page manager dialog for toplevel if it is not already. * In this last case, it raises the dialog. * * \param [in] w_current The GSCHEM_TOPLEVEL object to open page manager for. */ void x_pagesel_open (GSCHEM_TOPLEVEL *w_current) { if (w_current->pswindow == NULL) { w_current->pswindow = GTK_WIDGET (g_object_new (TYPE_PAGESEL, /* GschemDialog */ "settings-name", "pagesel", "gschem-toplevel", w_current, NULL)); g_signal_connect (w_current->pswindow, "response", G_CALLBACK (x_pagesel_callback_response), w_current); gtk_widget_show (w_current->pswindow); } else { gdk_window_raise (w_current->pswindow->window); } } /*! \brief Close the page manager dialog. * \par Function Description * Closes the page manager dialog associated with toplevel. * * \param [in] w_current The GSCHEM_TOPLEVEL object to close page manager for. */ void x_pagesel_close (GSCHEM_TOPLEVEL *w_current) { if (w_current->pswindow) { g_assert (IS_PAGESEL (w_current->pswindow)); gtk_widget_destroy (w_current->pswindow); w_current->pswindow = NULL; } } /*! \brief Update the list and status of toplevel's pages. * \par Function Description * Updates the list and status of toplevel\'s pages if the page * manager dialog is opened. * * \param [in] w_current The GSCHEM_TOPLEVEL object to update. */ void x_pagesel_update (GSCHEM_TOPLEVEL *w_current) { if (w_current->pswindow) { g_assert (IS_PAGESEL (w_current->pswindow)); pagesel_update (PAGESEL (w_current->pswindow)); } } /*! \brief Callback for page manager response. * \par Function Description * Handles response arg1 of the page manager dialog dialog. * * \param [in] dialog GtkDialog that issues callback. * \param [in] arg1 Response argument of page manager dialog. * \param [in] user_data Pointer to relevant GSCHEM_TOPLEVEL structure. */ static void x_pagesel_callback_response (GtkDialog *dialog, gint arg1, gpointer user_data) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*)user_data; switch (arg1) { case PAGESEL_RESPONSE_UPDATE: pagesel_update (PAGESEL (dialog)); break; case GTK_RESPONSE_DELETE_EVENT: case PAGESEL_RESPONSE_CLOSE: g_assert (GTK_WIDGET (dialog) == w_current->pswindow); gtk_widget_destroy (GTK_WIDGET (dialog)); w_current->pswindow = NULL; break; default: g_assert_not_reached (); } } enum { COLUMN_PAGE, COLUMN_NAME, COLUMN_CHANGED, NUM_COLUMNS }; static void pagesel_class_init (PageselClass *class); static void pagesel_init (Pagesel *pagesel); static void pagesel_popup_menu (Pagesel *pagesel, GdkEventButton *event); /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ static void pagesel_callback_selection_changed (GtkTreeSelection *selection, gpointer user_data) { GtkTreeModel *model; GtkTreeIter iter; Pagesel *pagesel = (Pagesel*)user_data; GSCHEM_TOPLEVEL *w_current; PAGE *page; if (!gtk_tree_selection_get_selected (selection, &model, &iter)) { return; } w_current = GSCHEM_DIALOG (pagesel)->w_current; gtk_tree_model_get (model, &iter, COLUMN_PAGE, &page, -1); /* Since setting the current page may call x_pagesel_update(), which * might change the current page selection, make sure we do nothing * if the newly-selected page is already the current page. */ if (page == w_current->toplevel->page_current) return; x_window_set_current_page (w_current, page); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ static gboolean pagesel_callback_button_pressed (GtkWidget *widget, GdkEventButton *event, gpointer user_data) { Pagesel *pagesel = (Pagesel*)user_data; gboolean ret = FALSE; if (event->type == GDK_BUTTON_PRESS && event->button == 3) { pagesel_popup_menu (pagesel, event); ret = TRUE; } return ret; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ static gboolean pagesel_callback_popup_menu (GtkWidget *widget, gpointer user_data) { Pagesel *pagesel = (Pagesel*)user_data; pagesel_popup_menu (pagesel, NULL); return TRUE; } #define DEFINE_POPUP_CALLBACK(name, action) \ static void \ pagesel_callback_popup_ ## name (GtkMenuItem *menuitem, \ gpointer user_data) \ { \ i_callback_ ## action (GSCHEM_DIALOG (user_data)->w_current, 0, NULL); \ } DEFINE_POPUP_CALLBACK (new_page, file_new) DEFINE_POPUP_CALLBACK (open_page, file_open) DEFINE_POPUP_CALLBACK (save_page, file_save) DEFINE_POPUP_CALLBACK (close_page, page_close) DEFINE_POPUP_CALLBACK (discard_page, page_discard) /*! \brief Popup context-sensitive menu. * \par Function Description * Pops up a context-sensitive menu. * * event can be NULL if the popup is triggered by a key binding * instead of a mouse click. * * \param [in] pagesel The Pagesel object. * \param [in] event Mouse click event info. */ static void pagesel_popup_menu (Pagesel *pagesel, GdkEventButton *event) { GtkTreePath *path; GtkWidget *menu; struct menuitem_t { gchar *label; GCallback callback; }; struct menuitem_t menuitems[] = { { N_("New Page"), G_CALLBACK (pagesel_callback_popup_new_page) }, { N_("Open Page..."), G_CALLBACK (pagesel_callback_popup_open_page) }, { "-", NULL }, { N_("Save Page"), G_CALLBACK (pagesel_callback_popup_save_page) }, { N_("Close Page"), G_CALLBACK (pagesel_callback_popup_close_page) }, { N_("Discard Page"), G_CALLBACK (pagesel_callback_popup_discard_page) }, { NULL, NULL } }; struct menuitem_t *tmp; if (event != NULL && gtk_tree_view_get_path_at_pos (pagesel->treeview, (gint)event->x, (gint)event->y, &path, NULL, NULL, NULL)) { GtkTreeSelection *selection; selection = gtk_tree_view_get_selection (pagesel->treeview); gtk_tree_selection_unselect_all (selection); gtk_tree_selection_select_path (selection, path); gtk_tree_path_free (path); } /* create the context menu */ menu = gtk_menu_new(); for (tmp = menuitems; tmp->label != NULL; tmp++) { GtkWidget *menuitem; if (g_utf8_collate (tmp->label, "-") == 0) { menuitem = gtk_separator_menu_item_new (); } else { menuitem = gtk_menu_item_new_with_label (_(tmp->label)); g_signal_connect (menuitem, "activate", tmp->callback, pagesel); } gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); } gtk_widget_show_all (menu); /* make menu a popup menu */ gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, NULL, (event != NULL) ? event->button : 0, gdk_event_get_time ((GdkEvent*)event)); } /*! \brief Handler for the notify::gschem-toplevel signal of GschemDialog * * \par Function Description * * When the gschem-toplevel property is set on the parent GschemDialog, * we should update the pagesel dialog. * * \param [in] gobject the object which received the signal. * \param [in] arg1 the GParamSpec of the property which changed * \param [in] user_data user data set when the signal handler was connected. */ static void notify_gschem_toplevel_cb (GObject *gobject, GParamSpec *arg1, gpointer user_data) { Pagesel *pagesel = PAGESEL( gobject ); pagesel_update( pagesel ); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ GType pagesel_get_type() { static GType pagesel_type = 0; if (!pagesel_type) { static const GTypeInfo pagesel_info = { sizeof(PageselClass), NULL, /* base_init */ NULL, /* base_finalize */ (GClassInitFunc) pagesel_class_init, NULL, /* class_finalize */ NULL, /* class_data */ sizeof(Pagesel), 0, /* n_preallocs */ (GInstanceInitFunc) pagesel_init, }; pagesel_type = g_type_register_static (GSCHEM_TYPE_DIALOG, "Pagesel", &pagesel_info, 0); } return pagesel_type; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ static void pagesel_class_init (PageselClass *klass) { } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ static void pagesel_init (Pagesel *pagesel) { GtkWidget *scrolled_win, *treeview, *label; GtkTreeModel *store; GtkCellRenderer *renderer; GtkTreeViewColumn *column; GtkTreeSelection *selection; /* dialog initialization */ g_object_set (G_OBJECT (pagesel), /* GtkContainer */ "border-width", 0, /* GtkWindow */ "title", _("Page Manager"), "default-height", 180, "default-width", 515, "modal", FALSE, "window-position", GTK_WIN_POS_NONE, "type-hint", GDK_WINDOW_TYPE_HINT_NORMAL, /* GtkDialog */ "has-separator", TRUE, NULL); /* create the model for the treeview */ store = (GtkTreeModel*)gtk_tree_store_new (NUM_COLUMNS, G_TYPE_POINTER, /* page */ G_TYPE_STRING, /* name */ G_TYPE_BOOLEAN); /* changed */ /* create a scrolled window for the treeview */ scrolled_win = GTK_WIDGET ( g_object_new (GTK_TYPE_SCROLLED_WINDOW, /* GtkContainer */ "border-width", 5, /* GtkScrolledWindow */ "hscrollbar-policy", GTK_POLICY_AUTOMATIC, "vscrollbar-policy", GTK_POLICY_ALWAYS, "shadow-type", GTK_SHADOW_ETCHED_IN, NULL)); /* create the treeview */ treeview = GTK_WIDGET (g_object_new (GTK_TYPE_TREE_VIEW, /* GtkTreeView */ "model", store, "rules-hint", TRUE, NULL)); g_signal_connect (treeview, "button-press-event", G_CALLBACK (pagesel_callback_button_pressed), pagesel); g_signal_connect (treeview, "popup-menu", G_CALLBACK (pagesel_callback_popup_menu), pagesel); selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview)); gtk_tree_selection_set_mode (selection, GTK_SELECTION_SINGLE); g_signal_connect (selection, "changed", G_CALLBACK (pagesel_callback_selection_changed), pagesel); /* - first column: page name */ renderer = GTK_CELL_RENDERER ( g_object_new (GTK_TYPE_CELL_RENDERER_TEXT, /* GtkCellRendererText */ "editable", FALSE, NULL)); column = GTK_TREE_VIEW_COLUMN ( g_object_new (GTK_TYPE_TREE_VIEW_COLUMN, /* GtkTreeViewColumn */ "title", _("Filename"), "min-width", 400, "resizable", TRUE, NULL)); gtk_tree_view_column_pack_start (column, renderer, TRUE); gtk_tree_view_column_add_attribute (column, renderer, "text", COLUMN_NAME); gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column); /* - second column: changed */ renderer = GTK_CELL_RENDERER ( g_object_new (GTK_TYPE_CELL_RENDERER_TOGGLE, /* GtkCellRendererToggle */ "activatable", FALSE, NULL)); column = GTK_TREE_VIEW_COLUMN ( g_object_new (GTK_TYPE_TREE_VIEW_COLUMN, /* GtkTreeViewColumn */ "title", _("Changed"), "sizing", GTK_TREE_VIEW_COLUMN_FIXED, NULL)); gtk_tree_view_column_pack_start (column, renderer, TRUE); gtk_tree_view_column_add_attribute (column, renderer, "active", COLUMN_CHANGED); gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column); /* add the treeview to the scrolled window */ gtk_container_add (GTK_CONTAINER (scrolled_win), treeview); /* set treeview of pagesel */ pagesel->treeview = GTK_TREE_VIEW (treeview); /* add the scrolled window to the dialog vbox */ gtk_box_pack_start (GTK_BOX (GTK_DIALOG (pagesel)->vbox), scrolled_win, TRUE, TRUE, 0); gtk_widget_show_all (scrolled_win); /* add a label below the scrolled window */ label = GTK_WIDGET (g_object_new (GTK_TYPE_LABEL, /* GtkLabel */ "label", _("Right click on the filename for more options..."), NULL)); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (pagesel)->vbox), label, FALSE, TRUE, 5); gtk_widget_show (label); /* now add buttons in the action area */ gtk_dialog_add_buttons (GTK_DIALOG (pagesel), /* - update button */ GTK_STOCK_REFRESH, PAGESEL_RESPONSE_UPDATE, /* - close button */ GTK_STOCK_CLOSE, PAGESEL_RESPONSE_CLOSE, NULL); /* Set the alternative button order (ok, cancel, help) for other systems */ gtk_dialog_set_alternative_button_order(GTK_DIALOG(pagesel), PAGESEL_RESPONSE_UPDATE, PAGESEL_RESPONSE_CLOSE, -1); g_signal_connect( pagesel, "notify::gschem-toplevel", G_CALLBACK( notify_gschem_toplevel_cb ), NULL ); } /*! \brief Update tree model of pagesel's treeview. * \par Function Description * Updates the tree model of pagesel\'s treeview. * * Right now, each time it is called, it rebuilds all the model from the * list of pages passed in. * It is a recursive function to populate the tree store * * \param [in] model GtkTreeModel to update. * \param [in] parent GtkTreeIter pointer to tree root. * \param [in] pages GedaPageList of pages for this toplevel. * \param [in] page The PAGE object to update tree model from. */ static void add_page (GtkTreeModel *model, GtkTreeIter *parent, GedaPageList *pages, PAGE *page) { GtkTreeIter iter; PAGE *p_current; GList *p_iter; /* add the page to the store */ gtk_tree_store_append (GTK_TREE_STORE (model), &iter, parent); gtk_tree_store_set (GTK_TREE_STORE (model), &iter, COLUMN_PAGE, page, COLUMN_NAME, page->page_filename, COLUMN_CHANGED, page->CHANGED, -1); /* search a page that has a up field == p_current->pid */ for ( p_iter = geda_list_get_glist( pages ); p_iter != NULL; p_iter = g_list_next( p_iter ) ) { p_current = (PAGE *)p_iter->data; if (p_current->up == page->pid) { add_page (model, &iter, pages, p_current); } } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * Recursive function to select the current page in the treeview * */ static void select_page(GtkTreeView *treeview, GtkTreeIter *parent, PAGE *page) { GtkTreeModel *treemodel = gtk_tree_view_get_model (treeview); GtkTreeIter iter; PAGE *p_current; if (!gtk_tree_model_iter_children (treemodel, &iter, parent)) { return; } do { gtk_tree_model_get (treemodel, &iter, COLUMN_PAGE, &p_current, -1); if (p_current == page) { gtk_tree_view_expand_all (treeview); gtk_tree_selection_select_iter ( gtk_tree_view_get_selection (treeview), &iter); return; } select_page (treeview, &iter, page); } while (gtk_tree_model_iter_next (treemodel, &iter)); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void pagesel_update (Pagesel *pagesel) { GtkTreeModel *model; TOPLEVEL *toplevel; PAGE *p_current; GList *iter; g_assert (IS_PAGESEL (pagesel)); g_return_if_fail (GSCHEM_DIALOG (pagesel)->w_current); toplevel = GSCHEM_DIALOG (pagesel)->w_current->toplevel; model = gtk_tree_view_get_model (pagesel->treeview); /* wipe out every thing in the store */ gtk_tree_store_clear (GTK_TREE_STORE (model)); /* now rebuild */ for ( iter = geda_list_get_glist( toplevel->pages ); iter != NULL; iter = g_list_next( iter ) ) { p_current = (PAGE *)iter->data; /* find every page that is not a hierarchy-down of another page */ if (p_current->up < 0 || s_page_search_by_page_id (toplevel->pages, p_current->up) == NULL) { add_page (model, NULL, toplevel->pages, p_current); } } /* select the current page in the treeview */ select_page (pagesel->treeview, NULL, toplevel->page_current); } geda-gaf-1.8.2/gschem/src/x_event.c0000664000175000017500000011767712220647257014003 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2011 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #ifdef HAVE_STDLIB_H #include #endif #include "gschem.h" #include #ifdef HAVE_LIBDMALLOC #include #endif /* used by mouse pan */ int start_pan_x, start_pan_y; int throttle = 0; /* used for the stroke stuff */ #ifdef HAVE_LIBSTROKE static int DOING_STROKE = FALSE; #endif /* HAVE_LIBSTROKE */ /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ gint x_event_expose(GtkWidget *widget, GdkEventExpose *event, GSCHEM_TOPLEVEL *w_current) { GdkRectangle *rectangles; int n_rectangles; cairo_t *save_cr; PangoLayout *save_pl; #if DEBUG printf("EXPOSE\n"); #endif g_return_val_if_fail ((w_current != NULL), 0); save_cr = w_current->cr; save_pl = w_current->pl; w_current->cr = gdk_cairo_create( widget->window ); w_current->pl = pango_cairo_create_layout (w_current->cr); gdk_region_get_rectangles (event->region, &rectangles, &n_rectangles); o_redraw_rects (w_current, rectangles, n_rectangles); g_free (rectangles); /* raise the dialog boxes if this feature is enabled */ if (w_current->raise_dialog_boxes) { x_dialog_raise_all(w_current); } g_object_unref (w_current->pl); cairo_destroy (w_current->cr); w_current->cr = save_cr; w_current->pl = save_pl; return(0); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ gint x_event_button_pressed(GtkWidget *widget, GdkEventButton *event, GSCHEM_TOPLEVEL *w_current) { TOPLEVEL *toplevel = w_current->toplevel; int w_x, w_y; int unsnapped_wx, unsnapped_wy; g_return_val_if_fail ((w_current != NULL), 0); scm_dynwind_begin (0); g_dynwind_window (w_current); #if DEBUG printf("pressed button %d! \n", event->button); printf("event state: %d \n", event->state); printf("w_current state: %d \n", w_current->event_state); printf("Selection is:\n"); o_selection_print_all(&(toplevel->page_current->selection_list)); printf("\n"); #endif SCREENtoWORLD (w_current, (int) event->x, (int) event->y, &unsnapped_wx, &unsnapped_wy); w_x = snap_grid (w_current, unsnapped_wx); w_y = snap_grid (w_current, unsnapped_wy); if (event->type == GDK_2BUTTON_PRESS && (w_current->event_state == STARTSELECT || w_current->event_state == SELECT)) { o_find_object(w_current, w_x, w_y, TRUE); if (o_select_selected (w_current)) { o_edit(w_current, geda_list_get_glist( toplevel->page_current->selection_list )); i_set_state(w_current, SELECT); scm_dynwind_end (); return(0); } } w_current->SHIFTKEY = (event->state & GDK_SHIFT_MASK ) ? 1 : 0; w_current->CONTROLKEY = (event->state & GDK_CONTROL_MASK) ? 1 : 0; w_current->ALTKEY = (event->state & GDK_MOD1_MASK) ? 1 : 0; /* Huge switch statement to evaluate state transitions. Jump to * end_button_pressed label to escape the state evaluation rather than * returning from the function directly. */ if (event->button == 1) { switch(w_current->event_state) { case(SELECT): /* look for grips or fall through if not enabled */ if (!o_grips_start(w_current, unsnapped_wx, unsnapped_wy)) { /* now go into normal SELECT */ w_current->event_state = STARTSELECT; w_current->first_wx = w_current->second_wx = unsnapped_wx; w_current->first_wy = w_current->second_wy = unsnapped_wy; } else { /* a grip was found */ w_current->event_state = GRIPS; w_current->inside_action = 1; } break; case(STARTCOPY): if (o_select_selected(w_current)) { o_copy_start(w_current, w_x, w_y); w_current->event_state = COPY; w_current->inside_action = 1; } break; case(STARTMCOPY): if (o_select_selected(w_current)) { o_copy_start(w_current, w_x, w_y); w_current->event_state = MCOPY; w_current->inside_action = 1; } break; case(STARTMOVE): if (o_select_selected(w_current)) { o_move_start(w_current, w_x, w_y); w_current->event_state = MOVE; w_current->inside_action = 1; } break; case(STARTPASTE): o_buffer_paste_start(w_current, w_x, w_y, w_current->buffer_number); w_current->event_state = ENDPASTE; w_current->inside_action = 1; break; case(DRAWLINE): o_line_start(w_current, w_x, w_y); w_current->event_state = ENDLINE; w_current->inside_action = 1; break; case(ENDLINE): o_line_end(w_current, w_x, w_y); w_current->inside_action = 0; w_current->event_state = DRAWLINE; break; case(DRAWBOX): o_box_start(w_current, w_x, w_y); w_current->event_state = ENDBOX; w_current->inside_action = 1; break; case(ENDBOX): o_box_end(w_current, w_x, w_y); w_current->inside_action = 0; w_current->event_state = DRAWBOX; break; case(DRAWPICTURE): o_picture_start(w_current, w_x, w_y); w_current->event_state = ENDPICTURE; w_current->inside_action = 1; break; case(ENDPICTURE): o_picture_end(w_current, w_x, w_y); w_current->inside_action = 0; w_current->event_state = DRAWPICTURE; break; case(DRAWCIRCLE): o_circle_start(w_current, w_x, w_y); w_current->event_state = ENDCIRCLE; w_current->inside_action = 1; break; case(ENDCIRCLE): o_circle_end(w_current, w_x, w_y); w_current->inside_action = 0; w_current->event_state = DRAWCIRCLE; break; case(DRAWARC): o_arc_start(w_current, w_x, w_y); w_current->event_state = ENDARC; w_current->inside_action = 1; break; case(ENDARC): o_arc_end1(w_current, w_x, w_y); w_current->inside_action = 0; w_current->event_state = DRAWARC; break; case(DRAWPIN): o_pin_start(w_current, w_x, w_y); w_current->event_state = ENDPIN; w_current->inside_action = 1; break; case(ENDPIN): o_pin_end(w_current, w_x, w_y); w_current->inside_action = 0; w_current->event_state = DRAWPIN; break; case(STARTDRAWNET): /*! \todo change state name? */ o_net_start(w_current, w_x, w_y); w_current->inside_action = 1; w_current->event_state=DRAWNET; break; case(STARTDRAWBUS): o_bus_start(w_current, w_x, w_y); w_current->inside_action = 1; w_current->event_state=DRAWBUS; break; case(DRAWNET): case(NETCONT): /* Only continue the net if net end worked */ if (o_net_end(w_current, w_x, w_y)) { o_net_start(w_current, w_current->first_wx, w_current->first_wy); w_current->event_state=NETCONT; } else { /* cleanup and start a new net */ o_net_invalidate_rubber (w_current); o_net_reset(w_current); i_set_state(w_current, STARTDRAWNET); w_current->inside_action = 0; } break; case(DRAWBUS): case(BUSCONT): /* Only continue the net if net end worked */ if (o_bus_end(w_current, w_x, w_y)) { o_bus_start(w_current, w_current->first_wx, w_current->first_wy); w_current->event_state=BUSCONT; } else { w_current->inside_action=0; i_set_state(w_current, STARTDRAWBUS); } break; case(ENDCOMP): o_place_end(w_current, w_x, w_y, w_current->continue_component_place, NULL, "%add-objects-hook"); if (!w_current->continue_component_place) { w_current->inside_action = 0; i_set_state(w_current, SELECT); i_update_toolbar(w_current); } break; case(ENDPASTE): o_place_end(w_current, w_x, w_y, FALSE, NULL, "%paste-objects-hook"); w_current->inside_action = 0; i_set_state(w_current, SELECT); i_update_toolbar(w_current); break; case(ENDROTATEP): o_rotate_world_update(w_current, w_x, w_y, 90, geda_list_get_glist(toplevel->page_current->selection_list )); w_current->inside_action = 0; i_set_state(w_current, SELECT); i_update_toolbar(w_current); break; case(ENDMIRROR): o_mirror_world_update(w_current, w_x, w_y, geda_list_get_glist( toplevel->page_current->selection_list )); w_current->inside_action = 0; i_set_state(w_current, SELECT); i_update_toolbar(w_current); break; case(ENDTEXT): o_place_end(w_current, w_x, w_y, FALSE, NULL, "%add-objects-hook"); w_current->inside_action = 0; i_set_state(w_current, SELECT); i_update_toolbar(w_current); break; case(STARTPAN): a_pan(w_current, w_x, w_y); i_set_state(w_current, SELECT); i_update_toolbar(w_current); break; case(ZOOMBOXSTART): a_zoom_box_start(w_current, unsnapped_wx, unsnapped_wy); w_current->event_state = ZOOMBOXEND; w_current->inside_action = 1; break; } } else if (event->button == 2) { /* try this out and see how it behaves */ if (w_current->inside_action) { if (!(w_current->event_state == ENDCOMP || w_current->event_state == ENDTEXT || w_current->event_state == ENDMOVE || w_current->event_state == ENDCOPY || w_current->event_state == ENDMCOPY || w_current->event_state == ENDPASTE )) { i_callback_cancel(w_current, 0, NULL); } goto end_button_pressed; } switch(w_current->middle_button) { case(ACTION): /* determine here if copy or move */ /* for now do move only */ /* make sure the list is not empty */ if (o_select_selected(w_current)) { /* don't want to search if shift */ /* key is depresed */ if (!w_current->SHIFTKEY) { o_find_object(w_current, unsnapped_wx, unsnapped_wy, TRUE); } } else { o_select_unselect_all(w_current); /* don't want to search if shift */ /* key is depresed */ if (!w_current->SHIFTKEY) { o_find_object(w_current, unsnapped_wx, unsnapped_wy, TRUE); } } if (!o_select_selected(w_current)) { /* this means the above find did not * find anything */ w_current->inside_action = 0; i_set_state(w_current, SELECT); i_update_toolbar(w_current); goto end_button_pressed; } if (w_current->ALTKEY) { o_copy_start(w_current, w_x, w_y); w_current->inside_action = 1; i_set_state(w_current, COPY); } else { o_move_start(w_current, w_x, w_y); w_current->inside_action = 1; i_set_state(w_current, MOVE); } break; case(REPEAT): if (w_current->last_callback != NULL) { (*w_current->last_callback)(w_current, 0, NULL); } break; #ifdef HAVE_LIBSTROKE case(STROKE): DOING_STROKE=TRUE; break; #endif /* HAVE_LIBSTROKE */ case(MID_MOUSEPAN_ENABLED): w_current->event_state = MOUSEPAN; /* start */ w_current->inside_action = 1; w_current->doing_pan = TRUE; start_pan_x = (int) event->x; start_pan_y = (int) event->y; throttle=0; break; } } else if (event->button == 3) { if (!w_current->inside_action) { if (w_current->third_button == POPUP_ENABLED) { i_update_menus(w_current); /* update menus before popup */ do_popup(w_current, event); } else { w_current->event_state = MOUSEPAN; /* start */ w_current->inside_action = 1; w_current->doing_pan = TRUE; start_pan_x = (int) event->x; start_pan_y = (int) event->y; throttle=0; } } else { /* this is the default cancel */ switch (w_current->event_state) { case(STARTDRAWNET): case(DRAWNET): case(NETCONT): w_current->inside_action = 0; i_set_state(w_current, STARTDRAWNET); o_net_invalidate_rubber (w_current); o_net_reset(w_current); break; case(STARTDRAWBUS): case(DRAWBUS): case(BUSCONT): w_current->inside_action = 0; i_set_state(w_current, STARTDRAWBUS); o_bus_invalidate_rubber (w_current); break; case(DRAWPIN): case(ENDPIN): w_current->inside_action = 0; i_set_state(w_current, DRAWPIN); o_pin_invalidate_rubber (w_current); break; case(DRAWLINE): case(ENDLINE): w_current->inside_action = 0; i_set_state(w_current, DRAWLINE); o_line_invalidate_rubber (w_current); break; case(DRAWBOX): case(ENDBOX): w_current->inside_action = 0; i_set_state(w_current, DRAWBOX); o_box_invalidate_rubber (w_current); break; case(DRAWPICTURE): case(ENDPICTURE): w_current->inside_action = 0; i_set_state(w_current, DRAWPICTURE); o_picture_invalidate_rubber (w_current); break; case(DRAWCIRCLE): case(ENDCIRCLE): w_current->inside_action = 0; i_set_state(w_current, DRAWCIRCLE); o_circle_invalidate_rubber (w_current); break; case(DRAWARC): case(ENDARC): w_current->inside_action = 0; i_set_state(w_current, DRAWARC); o_arc_invalidate_rubber (w_current); break; default: i_callback_cancel(w_current, 0, NULL); break; } i_update_toolbar(w_current); } } end_button_pressed: scm_dynwind_end (); return(0); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ gint x_event_button_released(GtkWidget *widget, GdkEventButton *event, GSCHEM_TOPLEVEL *w_current) { int unsnapped_wx, unsnapped_wy; g_return_val_if_fail ((w_current != NULL), 0); #if DEBUG printf("released! %d \n", w_current->event_state); #endif w_current->SHIFTKEY = (event->state & GDK_SHIFT_MASK ) ? 1 : 0; w_current->CONTROLKEY = (event->state & GDK_CONTROL_MASK) ? 1 : 0; w_current->ALTKEY = (event->state & GDK_MOD1_MASK) ? 1 : 0; SCREENtoWORLD (w_current, (int) event->x, (int) event->y, &unsnapped_wx, &unsnapped_wy); /* Huge switch statement to evaluate state transitions. Jump to * end_button_released label to escape the state evaluation rather * than returning from the function directly. */ scm_dynwind_begin (0); g_dynwind_window (w_current); if (event->button == 1) { switch(w_current->event_state) { case(SELECT): /* do nothing */ break; case(MOVE): w_current->event_state = ENDMOVE; break; case(COPY): w_current->event_state = ENDCOPY; break; case(MCOPY): w_current->event_state = ENDMCOPY; break; case(GRIPS): o_grips_end(w_current), w_current->inside_action = 0; i_set_state(w_current, SELECT); i_update_toolbar(w_current); break; case(ENDMOVE): o_move_end(w_current); /* having this stay in copy was driving me nuts*/ w_current->inside_action = 0; i_set_state(w_current, SELECT); i_update_toolbar(w_current); break; case(ENDCOPY): o_copy_end(w_current); /* having this stay in copy was driving me nuts*/ w_current->inside_action = 0; i_set_state(w_current, SELECT); i_update_toolbar(w_current); break; case(ENDMCOPY): o_copy_multiple_end(w_current); /* having this stay in copy was driving me nuts*/ w_current->inside_action = 1; /* Keep the state and the inside_action, as the copy has not finished. */ i_set_state(w_current, ENDMCOPY); i_update_toolbar(w_current); o_undo_savestate(w_current, UNDO_ALL); break; case(SBOX): o_select_box_end(w_current, unsnapped_wx, unsnapped_wy); w_current->inside_action = 0; i_set_state(w_current, SELECT); i_update_toolbar(w_current); break; case(ZOOMBOXEND): a_zoom_box_end(w_current, unsnapped_wx, unsnapped_wy); w_current->inside_action = 0; i_set_state(w_current, SELECT); i_update_toolbar(w_current); break; case(STARTSELECT): /* first look for grips */ if (!o_grips_start(w_current, unsnapped_wx, unsnapped_wy)) { /* now go looking for objects to select */ o_find_object(w_current, unsnapped_wx, unsnapped_wy, TRUE); w_current->event_state = SELECT; w_current->inside_action = 0; } else { /* an grip was found */ w_current->event_state = GRIPS; w_current->inside_action = 1; } break; } } else if (event->button == 2) { if (w_current->inside_action) { if (w_current->event_state == ENDCOMP || w_current->event_state == ENDTEXT || w_current->event_state == ENDMOVE || w_current->event_state == ENDCOPY || w_current->event_state == ENDMCOPY || w_current->event_state == ENDPASTE ) { if (w_current->event_state == ENDMOVE) { o_move_invalidate_rubber (w_current, FALSE); } else { o_place_invalidate_rubber (w_current, FALSE); } w_current->rubber_visible = 0; o_place_rotate(w_current); if (w_current->event_state == ENDCOMP) { o_complex_place_changed_run_hook (w_current); } if (w_current->event_state == ENDMOVE) { o_move_invalidate_rubber (w_current, TRUE); } else { o_place_invalidate_rubber (w_current, TRUE); } w_current->rubber_visible = 1; goto end_button_released; } } switch(w_current->middle_button) { case(ACTION): switch(w_current->event_state) { case(MOVE): o_move_end(w_current); w_current->inside_action = 0; i_set_state(w_current, SELECT); i_update_toolbar(w_current); break; case(COPY): o_copy_end(w_current); w_current->inside_action = 0; i_set_state(w_current, SELECT); i_update_toolbar(w_current); break; } break; #ifdef HAVE_LIBSTROKE case(STROKE): DOING_STROKE = FALSE; x_stroke_translate_and_execute (w_current); break; #endif /* HAVE_LIBSTROKE */ case(MID_MOUSEPAN_ENABLED): w_current->doing_pan=FALSE; o_invalidate_all (w_current); if (w_current->undo_panzoom) { o_undo_savestate(w_current, UNDO_VIEWPORT_ONLY); } /* this needs to be REDONE */ /* if you mouse pan, you will be thrown out of the current mode. */ /* not good */ w_current->inside_action = 0; i_set_state(w_current, SELECT); i_update_toolbar(w_current); break; } } else if (event->button == 3) { if (w_current->doing_pan) { /* just for ending a mouse pan */ w_current->doing_pan=FALSE; o_invalidate_all (w_current); if (w_current->undo_panzoom) { o_undo_savestate(w_current, UNDO_VIEWPORT_ONLY); } /* this needs to be REDONE */ /* if you mouse pan, you will be thrown out of the current mode. */ /* not good */ w_current->inside_action = 0; i_set_state(w_current, SELECT); i_update_toolbar(w_current); } } end_button_released: scm_dynwind_end (); return(0); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ gint x_event_motion(GtkWidget *widget, GdkEventMotion *event, GSCHEM_TOPLEVEL *w_current) { int pdiff_x, pdiff_y; int w_x, w_y; int unsnapped_wx, unsnapped_wy; int skip_event=0; GdkEvent *test_event; g_return_val_if_fail ((w_current != NULL), 0); w_current->SHIFTKEY = (event->state & GDK_SHIFT_MASK ) ? 1 : 0; w_current->CONTROLKEY = (event->state & GDK_CONTROL_MASK) ? 1 : 0; w_current->ALTKEY = (event->state & GDK_MOD1_MASK) ? 1 : 0; #if DEBUG /* printf("MOTION!\n");*/ #endif #ifdef HAVE_LIBSTROKE if (DOING_STROKE == TRUE) { x_stroke_record (w_current, event->x, event->y); return(0); } #endif /* HAVE_LIBSTROKE */ /* skip the moving event if there are other moving events in the gdk event queue (Werner) Only skip the event if is the same event and no buttons or modifier keys changed*/ if ((test_event = gdk_event_get()) != NULL) { if (test_event->type == GDK_MOTION_NOTIFY && ((GdkEventMotion *) test_event)->state == event->state) { skip_event= 1; } gdk_event_put(test_event); /* put it back in front of the queue */ gdk_event_free(test_event); if (skip_event == 1) return 0; } SCREENtoWORLD (w_current, (int) event->x, (int) event->y, &unsnapped_wx, &unsnapped_wy); w_x = snap_grid (w_current, unsnapped_wx); w_y = snap_grid (w_current, unsnapped_wy); if (w_current->cowindow) { coord_display_update(w_current, (int) event->x, (int) event->y); } if (w_current->third_button == MOUSEPAN_ENABLED || w_current->middle_button == MID_MOUSEPAN_ENABLED) { if((w_current->event_state == MOUSEPAN) && w_current->inside_action) { pdiff_x = (int) event->x - start_pan_x; pdiff_y = (int) event->y - start_pan_y; if (!(throttle % 5)) { a_pan_mouse(w_current, pdiff_x*w_current->mousepan_gain, pdiff_y*w_current->mousepan_gain); start_pan_x = (int) event->x; start_pan_y = (int) event->y; } throttle++; return(0); } } /* Huge switch statement to evaluate state transitions. Jump to * end_motion label to escape the state evaluation rather * than returning from the function directly. */ scm_dynwind_begin (0); g_dynwind_window (w_current); switch(w_current->event_state) { case(SELECT): /* do nothing */ break; case(GRIPS): o_grips_motion(w_current, w_x, w_y); break; case(STARTSELECT): /* If the shift or control keys are pressed, that means the user definately wants to drag out a * selection box. Otherwise, if there is not a selected object under the cursor, look for one * that could be selected and start moving it. */ if (w_current->SHIFTKEY || w_current->CONTROLKEY || (!o_find_selected_object(w_current, w_current->first_wx, w_current->first_wy) && (!o_find_object(w_current, w_current->first_wx, w_current->first_wy, TRUE) || !o_select_selected(w_current)))) { if (o_select_box_start(w_current, unsnapped_wx, unsnapped_wy)) { w_current->event_state = SBOX; w_current->inside_action = 1; } break; } else { /* Start moving the selected object(s) */ o_move_start(w_current, w_x, w_y); w_current->event_state = ENDMOVE; w_current->inside_action = 1; /* Fall through bottom of case to finish the move */ } /* Fall through to handle move */ case(ENDMOVE): case(MOVE): if (w_current->inside_action) o_move_motion (w_current, w_x, w_y); break; case(ENDLINE): if (w_current->inside_action) o_line_motion (w_current, w_x, w_y); break; case(ENDBOX): if (w_current->inside_action) o_box_motion ( w_current, w_x, w_y); break; case(ENDPICTURE): if (w_current->inside_action) o_picture_motion ( w_current, w_x, w_y); break; case(ENDCIRCLE): if (w_current->inside_action) o_circle_motion (w_current, w_x, w_y); break; case(ENDARC): if (w_current->inside_action) o_arc_motion (w_current, w_x, w_y, ARC_RADIUS); break; case(STARTDRAWNET): if(w_current->magneticnet_mode == 1) { o_net_start_magnetic(w_current, w_x, w_y); } break; case(DRAWNET): case(NETCONT): if (w_current->inside_action) o_net_motion (w_current, w_x, w_y); break; case(DRAWBUS): case(BUSCONT): if (w_current->inside_action) o_bus_motion (w_current, w_x, w_y); break; case(ENDPIN): if (w_current->inside_action) o_pin_motion (w_current, w_x, w_y); break; case(COPY): case(MCOPY): case(ENDCOPY): case(ENDMCOPY): case(ENDCOMP): case(ENDPASTE): case(ENDTEXT): o_place_motion (w_current, w_x, w_y); break; case(SBOX): if (w_current->inside_action) o_select_box_motion (w_current, unsnapped_wx, unsnapped_wy); break; case(ZOOMBOXEND): if (w_current->inside_action) a_zoom_box_motion (w_current, unsnapped_wx, unsnapped_wy); break; } scm_dynwind_end (); return(0); } /*! \brief Updates the GSCHEM_TOPLEVEL and display when drawing area is configured. * \par Function Description * This is the callback function connected to the configure event of * the drawing area of the main window. * * It updates the size of the backingstore for the associated * toplevel structure (creates a new pixmap) and re-pans each of its * pages to keep their contents centered in the drawing area. * * When the window is maximised, the zoom of every page is changed to * best fit the previously displayed area of the page in the new * area. Otherwise the current zoom level is left unchanged. * * \param [in] widget The drawing area which received the signal. * \param [in] event The event structure of signal configure-event. * \param [in] user_data The toplevel environment as user data. * \returns FALSE to propagate the event further. */ gboolean x_event_configure (GtkWidget *widget, GdkEventConfigure *event, gpointer user_data) { GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*)user_data; TOPLEVEL *toplevel = w_current->toplevel; GList *iter; PAGE *old_page_current, *p_current; gint old_win_width, old_win_height, new_win_width, new_win_height; gdouble relativ_zoom_factor = 1.0; g_assert (toplevel != NULL); if (toplevel->page_current == NULL) { /* don't want to call this if the current page isn't setup yet */ return FALSE; } old_win_width = w_current->win_width; old_win_height = w_current->win_height; new_win_width = event->width; new_win_height = event->height; if (old_win_width == new_win_width && old_win_height == new_win_height) { /* the size of the drawing area has not changed */ /* nothing to do here */ return FALSE; } w_current->drawable = w_current->window; /* update the GSCHEM_TOPLEVEL with new size of drawing area */ w_current->win_width = toplevel->width = new_win_width; w_current->win_height = toplevel->height = new_win_height; /* in the case the user has maximised the window (hence the */ /* configure event) fit the view by playing with zoom level */ if (gdk_window_get_state ( (gtk_widget_get_toplevel ( widget))->window) & GDK_WINDOW_STATE_MAXIMIZED) { gdouble width_ratio, height_ratio; /* tweak relative_zoom to better fit page in maximized window */ width_ratio = ((gdouble)new_win_width) / ((gdouble)old_win_width); height_ratio = ((gdouble)new_win_height) / ((gdouble)old_win_height); /* keep smallest ratio as relative zoom factor when panning */ relativ_zoom_factor = (width_ratio < height_ratio) ? width_ratio : height_ratio; } /* save current page */ old_page_current = toplevel->page_current; /* re-pan each page of the TOPLEVEL */ for ( iter = geda_list_get_glist( toplevel->pages ); iter != NULL; iter = g_list_next( iter ) ) { gdouble cx, cy; p_current = (PAGE *)iter->data; /* doing this the aspectratio is kept when changing (hw)*/ cx = ((gdouble)(p_current->left + p_current->right)) / 2; cy = ((gdouble)(p_current->top + p_current->bottom)) / 2; s_page_goto (toplevel, p_current); a_pan_general (w_current, cx, cy, relativ_zoom_factor, A_PAN_DONT_REDRAW); } /* restore current page to saved value */ s_page_goto (toplevel, old_page_current); /* redraw the current page and update UI */ o_invalidate_all (w_current); x_scrollbars_update (w_current); return FALSE; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * * \note * this is used during an open command * to setup the correct sizes */ void x_manual_resize(GSCHEM_TOPLEVEL *w_current) { TOPLEVEL *toplevel = w_current->toplevel; /* of the actual win window (drawing_area) */ w_current->win_width = w_current->drawing_area->allocation.width; w_current->win_height = w_current->drawing_area->allocation.height; #if DEBUG printf("manual: %d %d\n", w_current->win_width, w_current->win_height); #endif toplevel->width = w_current->win_width; toplevel->height = w_current->win_height; /* need to do this every time you change width / height */ set_window(toplevel, toplevel->page_current, toplevel->page_current->left, toplevel->page_current->right, toplevel->page_current->top, toplevel->page_current->bottom); #if DEBUG printf("Window aspect: %f\n", (float) w_current->win_width / (float) w_current->win_height); /* No longer used? printf("w: %d h: %d\n", width, height); */ printf("aw: %d ah: %d\n", w_current->win_width, w_current->win_height); #endif } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void x_event_hschanged (GtkAdjustment *adj, GSCHEM_TOPLEVEL *w_current) { TOPLEVEL *toplevel = w_current->toplevel; int current_left; int new_left; GtkAdjustment *hadjustment; g_return_if_fail (w_current != NULL); if (w_current->scrollbars_flag == FALSE) { return; } hadjustment = gtk_range_get_adjustment(GTK_RANGE(w_current->h_scrollbar)); current_left = toplevel->page_current->left; new_left = (int) hadjustment->value; toplevel->page_current->left = new_left; toplevel->page_current->right = toplevel->page_current->right - (current_left - new_left); o_invalidate_all (w_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void x_event_vschanged (GtkAdjustment *adj, GSCHEM_TOPLEVEL *w_current) { TOPLEVEL *toplevel = w_current->toplevel; int current_bottom; int new_bottom; GtkAdjustment *vadjustment; g_return_if_fail (w_current != NULL); if (w_current->scrollbars_flag == FALSE) { return; } vadjustment = gtk_range_get_adjustment( GTK_RANGE(w_current->v_scrollbar)); current_bottom = toplevel->page_current->bottom; new_bottom = toplevel->init_bottom - (int) vadjustment->value; toplevel->page_current->bottom = new_bottom; toplevel->page_current->top = toplevel->page_current->top - (current_bottom - new_bottom); #if DEBUG printf("vrange %f %f\n", vadjustment->lower, vadjustment->upper); printf("vvalue %f\n", vadjustment->value); printf("actual: %d %d\n", toplevel->page_current->top, toplevel->page_current->bottom); #endif o_invalidate_all (w_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ gint x_event_enter(GtkWidget *widget, GdkEventCrossing *event, GSCHEM_TOPLEVEL *w_current) { g_return_val_if_fail ((w_current != NULL), 0); /* do nothing or now */ return(0); } /*! \brief Get a snapped pointer position in world coordinates * * \par Function Description * Queries GTK for the mouse location in world coordinates, * then snaps it to the grid. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [out] wx Return location for the snapped X coordinate. * \param [out] wy Return location for the snapped Y coordiante. */ static void get_snapped_pointer (GSCHEM_TOPLEVEL *w_current, int *wx, int *wy) { int sx, sy; int unsnapped_wx, unsnapped_wy; gtk_widget_get_pointer (w_current->drawing_area, &sx, &sy); SCREENtoWORLD (w_current, sx, sy, &unsnapped_wx, &unsnapped_wy); *wx = snap_grid (w_current, unsnapped_wx); *wy = snap_grid (w_current, unsnapped_wy); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ gboolean x_event_key (GtkWidget *widget, GdkEventKey *event, GSCHEM_TOPLEVEL *w_current) { gboolean retval = FALSE; int wx, wy; int alt_key = 0; int shift_key = 0; int control_key = 0; int pressed; #if DEBUG printf("x_event_key_pressed: Pressed key %i.\n", event->keyval); #endif /* update the state of the modifiers */ w_current->ALTKEY = (event->state & GDK_MOD1_MASK) ? 1 : 0; w_current->SHIFTKEY = (event->state & GDK_SHIFT_MASK) ? 1 : 0; w_current->CONTROLKEY = (event->state & GDK_CONTROL_MASK) ? 1 : 0; pressed = (event->type == GDK_KEY_PRESS) ? 1 : 0; switch (event->keyval) { case GDK_Alt_L: case GDK_Alt_R: alt_key = 1; w_current->ALTKEY = pressed; break; case GDK_Shift_L: case GDK_Shift_R: shift_key = 1; w_current->SHIFTKEY = pressed; break; case GDK_Control_L: case GDK_Control_R: control_key = 1; w_current->CONTROLKEY = pressed; break; } /* Huge switch statement to evaluate state transitions. Jump to * end_key label to escape the state evaluation rather * than returning from the function directly. */ scm_dynwind_begin (0); g_dynwind_window (w_current); switch (w_current->event_state) { case ENDLINE: if (control_key) { get_snapped_pointer (w_current, &wx, &wy); o_line_motion (w_current, wx, wy); } break; case STARTDRAWNET: if (control_key) { get_snapped_pointer (w_current, &wx, &wy); o_net_start_magnetic(w_current, wx, wy); } break; case DRAWNET: case NETCONT: if (shift_key || control_key) { get_snapped_pointer (w_current, &wx, &wy); o_net_motion (w_current, wx, wy); } break; case DRAWBUS: case BUSCONT: if (control_key) { get_snapped_pointer (w_current, &wx, &wy); o_bus_motion (w_current, wx, wy); } break; case ENDMOVE: if (control_key) { get_snapped_pointer (w_current, &wx, &wy); o_move_motion (w_current, wx, wy); } break; case ENDCOMP: /* FIXME: This state shouldn't respond to modifier keys */ case ENDPASTE: /* FIXME: This state shouldn't respond to modifier keys */ case ENDTEXT: /* FIXME: This state shouldn't respond to modifier keys */ case ENDCOPY: case ENDMCOPY: if (control_key) { get_snapped_pointer (w_current, &wx, &wy); o_place_motion (w_current, wx, wy); } break; } if (pressed) retval = g_keys_execute (w_current, event) ? TRUE : FALSE; scm_dynwind_end (); return retval; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ gint x_event_scroll (GtkWidget *widget, GdkEventScroll *event, GSCHEM_TOPLEVEL *w_current) { GtkAdjustment *adj; gboolean pan_xaxis = FALSE; gboolean pan_yaxis = FALSE; gboolean zoom = FALSE; int pan_direction = 1; int zoom_direction = ZOOM_IN; g_return_val_if_fail ((w_current != NULL), 0); /* update the state of the modifiers */ w_current->SHIFTKEY = (event->state & GDK_SHIFT_MASK ) ? 1 : 0; w_current->CONTROLKEY = (event->state & GDK_CONTROL_MASK) ? 1 : 0; w_current->ALTKEY = (event->state & GDK_MOD1_MASK) ? 1 : 0; if (w_current->scroll_wheel == SCROLL_WHEEL_CLASSIC) { /* Classic gschem behaviour */ zoom = !w_current->CONTROLKEY && !w_current->SHIFTKEY; pan_yaxis = !w_current->CONTROLKEY && w_current->SHIFTKEY; pan_xaxis = w_current->CONTROLKEY && !w_current->SHIFTKEY; } else { /* GTK style behaviour */ zoom = w_current->CONTROLKEY && !w_current->SHIFTKEY; pan_yaxis = !w_current->CONTROLKEY && !w_current->SHIFTKEY; pan_xaxis = !w_current->CONTROLKEY && w_current->SHIFTKEY; } /* If the user has a left/right scroll wheel, always scroll the y-axis */ if (event->direction == GDK_SCROLL_LEFT || event->direction == GDK_SCROLL_RIGHT) { zoom = FALSE; pan_yaxis = FALSE; pan_xaxis = TRUE; } /* You must have scrollbars enabled if you want to use the scroll wheel to pan */ if (!w_current->scrollbars_flag) { pan_xaxis = FALSE; pan_yaxis = FALSE; } switch (event->direction) { case GDK_SCROLL_UP: case GDK_SCROLL_LEFT: pan_direction = -1; zoom_direction = ZOOM_IN; break; case GDK_SCROLL_DOWN: case GDK_SCROLL_RIGHT: pan_direction = 1; zoom_direction = ZOOM_OUT; break; } if (zoom) { /*! \todo Change "HOTKEY" TO new "MOUSE" specifier? */ a_zoom(w_current, zoom_direction, HOTKEY, 0); } if (pan_xaxis) { adj = gtk_range_get_adjustment(GTK_RANGE(w_current->h_scrollbar)); gtk_adjustment_set_value(adj, min(adj->value + pan_direction * (adj->page_increment / w_current->scrollpan_steps), adj->upper - adj->page_size)); } if (pan_yaxis) { adj = gtk_range_get_adjustment(GTK_RANGE(w_current->v_scrollbar)); gtk_adjustment_set_value(adj, min(adj->value + pan_direction * (adj->page_increment / w_current->scrollpan_steps), adj->upper - adj->page_size)); } if (w_current->undo_panzoom && (zoom || pan_xaxis || pan_yaxis)) { o_undo_savestate(w_current, UNDO_VIEWPORT_ONLY); } return 0; } /*! \brief get the pointer position of a given GSCHEM_TOPLEVEL * \par Function Description * This function gets the pointer position of the drawing area of the * current workspace GSCHEM_TOPLEVEL. The flag snapped specifies * whether the pointer position should be snapped to the current grid. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] snapped An option flag to specify the wished coords * \param [out] wx snapped/unsnapped world x coordinate * \param [out] wy snapped/unsnapped world y coordinate * * \return Returns TRUE if the pointer position is inside the drawing area. * */ gboolean x_event_get_pointer_position (GSCHEM_TOPLEVEL *w_current, gboolean snapped, gint *wx, gint *wy) { int sx, sy, x, y; gtk_widget_get_pointer(w_current->drawing_area, &sx, &sy); /* check if we are inside the drawing area */ if (sx < 0 || sx >= w_current->win_width || sy <0 || sy >= w_current->win_height) return FALSE; SCREENtoWORLD (w_current, sx, sy, &x, &y); if (snapped) { x = snap_grid (w_current, x); y = snap_grid (w_current, y); } *wx = x; *wy = y; return TRUE; } geda-gaf-1.8.2/gschem/src/a_zoom.c0000664000175000017500000002614512220647257013604 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif /* Kazu - discuss with Ales * 1) rint * 2) SWAP & SORT */ /* Kazu on July 8, 1999 - added these macros to simplify the code */ /* keep these macros local to this file! KISS! */ /*! \brief */ #define GET_PAGE_WIDTH(w) \ ((w)->page_current->right - (w)->page_current->left) /*! \brief */ #define GET_PAGE_HEIGHT(w) \ ((w)->page_current->bottom - (w)->page_current->top ) /*! \brief */ #define GET_PAGE_ASPECT_RATIO(w) \ ((float) fabs(GET_PAGE_WIDTH (w)) / \ (float) fabs(GET_PAGE_HEIGHT(w))) /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ /* dir is either ZOOM_IN, ZOOM_OUT or ZOOM_FULL which are defined in globals.h */ void a_zoom(GSCHEM_TOPLEVEL *w_current, int dir, int selected_from, int pan_flags) { TOPLEVEL *toplevel = w_current->toplevel; double world_pan_center_x,world_pan_center_y,relativ_zoom_factor = - 1; int start_x, start_y; double top, bottom, right, left; /* NB: w_current->zoom_gain is a percentage increase */ switch(dir) { case(ZOOM_IN): relativ_zoom_factor = (100.0 + w_current->zoom_gain) / 100.0; break; case(ZOOM_OUT): relativ_zoom_factor = 100.0 / (100.0 + w_current->zoom_gain); break; case(ZOOM_FULL): /* indicate the zoom full with a negative zoomfactor */ relativ_zoom_factor = -1; break; } /* calc center: either "mouse_to_world" or center=center or a virtual center if warp_cursor is disabled */ if (w_current->zoom_with_pan == TRUE && selected_from == HOTKEY) { if (!x_event_get_pointer_position(w_current, FALSE, &start_x, &start_y)) return; if ( w_current->warp_cursor ) { world_pan_center_x = start_x; world_pan_center_y = start_y; } else { left = ((toplevel->page_current->left - start_x) * (1/relativ_zoom_factor) + start_x); right = ((toplevel->page_current->right - start_x) * (1/relativ_zoom_factor) + start_x); top = ((toplevel->page_current->top - start_y) * (1/relativ_zoom_factor) + start_y); bottom = ((toplevel->page_current->bottom - start_y) * (1/relativ_zoom_factor) + start_y); world_pan_center_x = (right + left) / 2; world_pan_center_y = (top + bottom) / 2; } } else { world_pan_center_x = (double) (toplevel->page_current->left + toplevel->page_current->right ) / 2; world_pan_center_y = (double) (toplevel->page_current->top + toplevel->page_current->bottom ) / 2; } #if DEBUG printf("relative zoomfactor: %E\n", relativ_zoom_factor); printf("new center: x: %E, y: %E \n", world_pan_center_x, world_pan_center_y); #endif /* calculate new window and draw it */ a_pan_general(w_current, world_pan_center_x, world_pan_center_y, relativ_zoom_factor, pan_flags); /* Before warping the cursor, filter out any consecutive scroll events * from the event queue. If the program receives more than one scroll * event before it can process the first one, then the globals mouse_x * and mouse_y won't contain the proper mouse position, * because the handler for the mouse moved event needs to * run first to set these values. */ GdkEvent *topEvent = gdk_event_get(); while( topEvent != NULL ) { if( topEvent->type != GDK_SCROLL ) { gdk_event_put( topEvent ); gdk_event_free( topEvent ); break; } gdk_event_free( topEvent ); topEvent = gdk_event_get(); } /* warp the cursor to the right position */ if (w_current->warp_cursor) { WORLDtoSCREEN (w_current, world_pan_center_x, world_pan_center_y, &start_x, &start_y); x_basic_warp_cursor (w_current->drawing_area, start_x, start_y); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void a_zoom_extents (GSCHEM_TOPLEVEL *w_current, const GList *list, int pan_flags) { TOPLEVEL *toplevel = w_current->toplevel; int lleft, lright, ltop, lbottom; double zx, zy, relativ_zoom_factor; double world_pan_center_x,world_pan_center_y; if (list == NULL) { return; } if (!world_get_object_glist_bounds (toplevel, list, &lleft, <op, &lright, &lbottom)) { return; } #if DEBUG printf("in a_zoom_extents: left: %d, right: %d, top: %d, bottom: %d\n", lleft, lright, ltop, lbottom); #endif /* Calc the necessary zoomfactor to show everything * Start with the windows width and height, then scale back to world * coordinates with the to_screen_y_constant as the initial page data * may not have the correct aspect ratio. */ zx = (double)toplevel->width / (lright-lleft); zy = (double)toplevel->height / (lbottom-ltop); /* choose the smaller one, 0.9 for paddings on all side*/ relativ_zoom_factor = (zx < zy ? zx : zy) * 0.9 / toplevel->page_current->to_screen_y_constant; /*get the center of the objects*/ world_pan_center_x = (double) (lright + lleft) /2.0; world_pan_center_y = (double) (lbottom + ltop) /2.0; /* and create the new window*/ a_pan_general(w_current, world_pan_center_x, world_pan_center_y, relativ_zoom_factor, pan_flags ); /*! \bug FIXME? trigger a x_event_motion() call without moving the cursor * this will redraw rubberband lines after zooming * removed!, it has side effects in the preview of the part dialog * need to find another way to trigger x_event_motion() (Werner) */ /* x_basic_warp_cursor(w_current->drawing_area, mouse_x, mouse_y); */ } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void a_zoom_box(GSCHEM_TOPLEVEL *w_current, int pan_flags) { TOPLEVEL *toplevel = w_current->toplevel; double zx, zy, relativ_zoom_factor; double world_pan_center_x, world_pan_center_y; /*test if there is really a box*/ if (w_current->first_wx == w_current->second_wx || w_current->first_wy == w_current->second_wy) { s_log_message(_("Zoom too small! Cannot zoom further.\n")); return; } /*calc new zoomfactors and choose the smaller one*/ zx = (double) abs(toplevel->page_current->left - toplevel->page_current->right) / abs(w_current->first_wx - w_current->second_wx); zy = (double) abs(toplevel->page_current->top - toplevel->page_current->bottom) / abs(w_current->first_wy - w_current->second_wy); relativ_zoom_factor = (zx < zy ? zx : zy); /* calculate the center of the zoom box */ world_pan_center_x = (w_current->first_wx + w_current->second_wx) / 2.0; world_pan_center_y = (w_current->first_wy + w_current->second_wy) / 2.0; /* and create the new window*/ a_pan_general(w_current, world_pan_center_x, world_pan_center_y, relativ_zoom_factor, pan_flags); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void a_zoom_box_start(GSCHEM_TOPLEVEL *w_current, int w_x, int w_y) { w_current->first_wx = w_current->second_wx = w_x; w_current->first_wy = w_current->second_wy = w_y; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void a_zoom_box_end(GSCHEM_TOPLEVEL *w_current, int x, int y) { g_assert( w_current->inside_action != 0 ); a_zoom_box_invalidate_rubber (w_current); w_current->rubber_visible = 0; a_zoom_box(w_current, 0); if (w_current->undo_panzoom) { o_undo_savestate(w_current, UNDO_VIEWPORT_ONLY); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void a_zoom_box_motion (GSCHEM_TOPLEVEL *w_current, int w_x, int w_y) { g_assert( w_current->inside_action != 0 ); if (w_current->rubber_visible) a_zoom_box_invalidate_rubber (w_current); w_current->second_wx = w_x; w_current->second_wy = w_y; a_zoom_box_invalidate_rubber (w_current); w_current->rubber_visible = 1; } /*! \todo Finish function documentation!!! * \brief * \par Function Description */ void a_zoom_box_invalidate_rubber (GSCHEM_TOPLEVEL *w_current) { int x1, y1, x2, y2; WORLDtoSCREEN (w_current, w_current->first_wx, w_current->first_wy, &x1, &y1); WORLDtoSCREEN (w_current, w_current->second_wx, w_current->second_wy, &x2, &y2); o_invalidate_rect (w_current, x1, y1, x2, y1); o_invalidate_rect (w_current, x1, y1, x1, y2); o_invalidate_rect (w_current, x2, y1, x2, y2); o_invalidate_rect (w_current, x1, y2, x2, y2); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void a_zoom_box_draw_rubber (GSCHEM_TOPLEVEL *w_current) { gschem_cairo_box (w_current, 1, w_current->first_wx, w_current->first_wy, w_current->second_wx, w_current->second_wy); gschem_cairo_set_source_color (w_current, x_color_lookup_dark (ZOOM_BOX_COLOR)); gschem_cairo_stroke (w_current, TYPE_SOLID, END_NONE, 0, -1, -1); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void correct_aspect(GSCHEM_TOPLEVEL *w_current) { TOPLEVEL *toplevel = w_current->toplevel; double new_aspect; new_aspect = GET_PAGE_ASPECT_RATIO(toplevel); /* Make sure aspect ratio is correct */ if (fabs(new_aspect - toplevel->page_current->coord_aspectratio)) { /* sign was > */ if (new_aspect > toplevel->page_current->coord_aspectratio) { #if DEBUG printf("new larger then coord\n"); printf("implies that height is too large\n"); #endif /* calculate neccesary padding on Y */ toplevel->page_current->bottom = toplevel->page_current->top + GET_PAGE_WIDTH(toplevel) / toplevel->page_current->coord_aspectratio; } else { #if DEBUG printf("new smaller then coord\n"); printf("implies that width is too small\n"); #endif /* calculate necessary padding on X */ toplevel->page_current->right = toplevel->page_current->left + GET_PAGE_HEIGHT(toplevel) * toplevel->page_current->coord_aspectratio; } #if DEBUG printf("invalid aspectratio corrected\n"); #endif } new_aspect = GET_PAGE_ASPECT_RATIO(toplevel); #if DEBUG printf("final %f\n", new_aspect); #endif } geda-gaf-1.8.2/gschem/src/o_net.c0000664000175000017500000010717112220647257013423 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2011 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif /* magnetic options */ /* half size of the magnetic marker on the screen. */ #define MAGNETIC_HALFSIZE 6 /* define how far the cursor could be to activate magnetic */ #define MAGNETIC_PIN_REACH 50 #define MAGNETIC_NET_REACH 20 #define MAGNETIC_BUS_REACH 30 /* weighting factors to tell that a pin is more important than a net */ #define MAGNETIC_PIN_WEIGHT 5.0 #define MAGNETIC_NET_WEIGHT 2.0 #define MAGNETIC_BUS_WEIGHT 3.0 /* Bit definitions for the four quardrants of the direction guessing */ #define QUADRANT1 0x01 #define QUADRANT2 0x02 #define QUADRANT3 0x04 #define QUADRANT4 0x08 /*! \brief Reset all variables used for net drawing * \par Function Description * This function resets all variables from GSCHEM_TOPLEVEL that are used * for net drawing. This function should be called when escaping from * a net drawing action or before entering it. */ void o_net_reset(GSCHEM_TOPLEVEL *w_current) { w_current->first_wx = w_current->first_wy = -1; w_current->second_wx = w_current->second_wy = -1; w_current->third_wx = w_current->third_wy = -1; w_current->magnetic_wx = w_current->magnetic_wy = -1; w_current->rubber_visible = 0; } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_net_draw(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current) { TOPLEVEL *toplevel = w_current->toplevel; int x1, y1, x2, y2; int size = 0; #if NET_DEBUG /* debug */ char *tempstring; GdkFont *font; #endif if (o_current == NULL) { return; } if (o_current->line == NULL) { return; } /* reuse line's routine */ if (!o_line_visible (w_current, o_current->line, &x1, &y1, &x2, &y2)) { return; } if (toplevel->net_style == THICK) size = NET_WIDTH; gschem_cairo_line (w_current, END_SQUARE, size, x1, y1, x2, y2); gschem_cairo_set_source_color (w_current, o_drawing_color (w_current, o_current)); gschem_cairo_stroke (w_current, TYPE_SOLID, END_SQUARE, size, -1, -1); if (o_current->selected && w_current->draw_grips) { o_line_draw_grips (w_current, o_current); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_net_draw_place (GSCHEM_TOPLEVEL *w_current, int dx, int dy, OBJECT *o_current) { int size = 0; if (o_current->line == NULL) { return; } if (w_current->toplevel->net_style == THICK) size = NET_WIDTH; gschem_cairo_line (w_current, END_NONE, size, o_current->line->x[0] + dx, o_current->line->y[0] + dy, o_current->line->x[1] + dx, o_current->line->y[1] + dy); gschem_cairo_set_source_color (w_current, x_color_lookup_dark (o_current->color)); gschem_cairo_stroke (w_current, TYPE_SOLID, END_NONE, size, -1, -1); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_net_draw_stretch (GSCHEM_TOPLEVEL *w_current, int dx, int dy, int whichone, OBJECT *o_current) { int dx1 = -1, dx2 = -1, dy1 = -1,dy2 = -1; if (o_current->line == NULL) { return; } if (whichone == 0) { dx1 = dx; dy1 = dy; dx2 = dy2 = 0; } else if (whichone == 1) { dx1 = dy1 = 0; dx2 = dx; dy2 = dy; } else { fprintf(stderr, _("Got an invalid which one in o_net_draw_stretch\n")); } gschem_cairo_line (w_current, END_NONE, 0, o_current->line->x[0] + dx1, o_current->line->y[0] + dy1, o_current->line->x[1] + dx2, o_current->line->y[1] + dy2); gschem_cairo_set_source_color (w_current, x_color_lookup_dark (o_current->color)); gschem_cairo_stroke (w_current, TYPE_SOLID, END_NONE, 0, -1, -1); } /*! \brief guess the best direction for the next net drawing action * \par Function Description * This function checks all connectable objects at a starting point. * It determines the best drawing direction for each quadrant of the * possible net endpoint. * * The directions are stored in the GSCHEM_TOPLEVEL->net_direction variable * as a bitfield. */ void o_net_guess_direction(GSCHEM_TOPLEVEL *w_current, int wx, int wy) { TOPLEVEL *toplevel = w_current->toplevel; int up=0, down=0, left=0, right=0; int x1, y1, x2, y2; int xmin, ymin, xmax, ymax; int orientation; GList *objectlists, *iter1, *iter2; OBJECT *o_current; int *current_rules; /* badness values {OVERWRITE, ORTHO, CONTINUE} */ const int pin_rules[] = {100, 50, 0}; const int bus_rules[] = {90, 0, 40}; const int net_rules[] = {80, 30, 0}; objectlists = s_tile_get_objectlists(toplevel, toplevel->page_current, wx, wy, wx, wy); for (iter1 = objectlists; iter1 != NULL; iter1 = g_list_next(iter1)) { for (iter2 = (GList*) iter1->data; iter2 != NULL; iter2 = g_list_next(iter2)) { o_current = (OBJECT*) iter2->data; if ((orientation = o_net_orientation(o_current)) == NEITHER) continue; switch (o_current->type) { case OBJ_NET: current_rules = (int*) net_rules; break; case OBJ_PIN: current_rules = (int*) pin_rules; break; case OBJ_BUS: current_rules = (int*) bus_rules; break; default: g_assert_not_reached (); } x1 = o_current->line->x[0]; x2 = o_current->line->x[1]; y1 = o_current->line->y[0]; y2 = o_current->line->y[1]; xmin = min(x1, x2); ymin = min(y1, y2); xmax = max(x1, x2); ymax = max(y1, y2); if (orientation == HORIZONTAL && wy == y1) { if (wx == xmin) { up = max(up, current_rules[1]); down = max(down, current_rules[1]); right = max(right, current_rules[0]); left = max(left, current_rules[2]); } else if (wx == xmax) { up = max(up, current_rules[1]); down = max(down, current_rules[1]); right = max(right, current_rules[2]); left = max(left, current_rules[0]); } else if (xmin < wx && wx < xmax) { up = max(up, current_rules[1]); down = max(down, current_rules[1]); right = max(right, current_rules[0]); left = max(left, current_rules[0]); } else { continue; } } if (orientation == VERTICAL && wx == x1) { if (wy == ymin) { up = max(up, current_rules[0]); down = max(down, current_rules[2]); right = max(right, current_rules[1]); left = max(left, current_rules[1]); } else if (wy == ymax) { up = max(up, current_rules[2]); down = max(down, current_rules[0]); right = max(right, current_rules[1]); left = max(left, current_rules[1]); } else if (ymin < wy && wy < ymax) { up = max(up, current_rules[0]); down = max(down, current_rules[0]); right = max(right, current_rules[1]); left = max(left, current_rules[1]); } else { continue; } } } } w_current->net_direction = 0; w_current->net_direction |= up >= right ? 0 : QUADRANT1; w_current->net_direction |= up >= left ? 0 : QUADRANT2; w_current->net_direction |= down >= left ? 0 : QUADRANT3; w_current->net_direction |= down >= right ? 0 : QUADRANT4; #if 0 printf("o_net_guess_direction: up=%d down=%d left=%d right=%d direction=%d\n", up, down, left, right, w_current->net_direction); #endif g_list_free(objectlists); } /*! \brief find the closest possible location to connect to * \par Function Description * This function calculates the distance to all connectable objects * and searches the closest connection point. * It searches for pins, nets and busses. * * The connection point is stored in GSCHEM_TOPLEVEL->magnetic_wx and * GSCHEM_TOPLEVEL->magnetic_wy. If no connection is found. Both variables * are set to -1. */ void o_net_find_magnetic(GSCHEM_TOPLEVEL *w_current, int w_x, int w_y) { TOPLEVEL *toplevel = w_current->toplevel; int x1, x2, y1, y2, min_x, min_y, w_magnetic_reach; double mindist, minbest, dist1, dist2; double weight, min_weight; int magnetic_reach = 0; OBJECT *o_current; OBJECT *o_magnetic = NULL; GList *objectlists, *iter1, *iter2; minbest = min_x = min_y = 0; min_weight = 0; /* max distance of all the different reaches */ magnetic_reach = max(MAGNETIC_PIN_REACH, MAGNETIC_NET_REACH); magnetic_reach = max(magnetic_reach, MAGNETIC_BUS_REACH); w_magnetic_reach = WORLDabs (w_current, magnetic_reach); /* get the objects of the tiles around the reach region */ x1 = w_x - w_magnetic_reach; y1 = w_y - w_magnetic_reach; x2 = w_x + w_magnetic_reach; y2 = w_y + w_magnetic_reach; objectlists = s_tile_get_objectlists(toplevel, toplevel->page_current, x1, y1, x2, y2); for (iter1 = objectlists; iter1 != NULL; iter1 = g_list_next(iter1)) { for (iter2 = (GList*) iter1->data; iter2 != NULL; iter2 = g_list_next(iter2)) { o_current = (OBJECT*) iter2->data; if (!visible (w_current, o_current->w_left, o_current->w_top, o_current->w_right, o_current->w_bottom)) continue; /* skip invisible objects */ if (o_current->type == OBJ_PIN) { min_x = o_current->line->x[o_current->whichend]; min_y = o_current->line->y[o_current->whichend]; mindist = sqrt((double) (w_x - min_x)*(w_x - min_x) + (double) (w_y - min_y)*(w_y - min_y)); weight = mindist / MAGNETIC_PIN_WEIGHT; } else if (o_current->type == OBJ_NET || o_current->type == OBJ_BUS) { /* we have 3 possible points to connect: 2 endpoints and 1 midpoint point */ x1 = o_current->line->x[0]; y1 = o_current->line->y[0]; x2 = o_current->line->x[1]; y2 = o_current->line->y[1]; /* endpoint tests */ dist1 = sqrt((double) (w_x - x1)*(w_x - x1) + (double) (w_y - y1)*(w_y - y1)); dist2 = sqrt((double) (w_x - x2)*(w_x - x2) + (double) (w_y - y2)*(w_y - y2)); if (dist1 < dist2) { min_x = x1; min_y = y1; mindist = dist1; } else { min_x = x2; min_y = y2; mindist = dist2; } /* midpoint tests */ if ((x1 == x2) /* vertical net */ && ((y1 >= w_y && w_y >= y2) || (y2 >= w_y && w_y >= y1))) { if (abs(w_x - x1) < mindist) { mindist = abs(w_x - x1); min_x = x1; min_y = w_y; } } if ((y1 == y2) /* horitontal net */ && ((x1 >= w_x && w_x >= x2) || (x2 >= w_x && w_x >= x1))) { if (abs(w_y - y1) < mindist) { mindist = abs(w_y - y1); min_x = w_x; min_y = y1; } } if (o_current->type == OBJ_BUS) weight = mindist / MAGNETIC_BUS_WEIGHT; else /* OBJ_NET */ weight = mindist / MAGNETIC_NET_WEIGHT; } else { /* neither pin nor net or bus */ continue; } if (o_magnetic == NULL || weight < min_weight) { minbest = mindist; min_weight = weight; o_magnetic = o_current; w_current->magnetic_wx = min_x; w_current->magnetic_wy = min_y; } } } /* check whether we found an object and if it's close enough */ if (o_magnetic != NULL) { switch (o_magnetic->type) { case (OBJ_PIN): magnetic_reach = MAGNETIC_PIN_REACH; break; case (OBJ_NET): magnetic_reach = MAGNETIC_NET_REACH; break; case (OBJ_BUS): magnetic_reach = MAGNETIC_BUS_REACH; break; } if (minbest > WORLDabs (w_current, magnetic_reach)) { w_current->magnetic_wx = -1; w_current->magnetic_wy = -1; } } else { w_current->magnetic_wx = -1; w_current->magnetic_wy = -1; } g_list_free(objectlists); } /*! \brief calcutates the net route to the magnetic marker * \par Function Description * Depending on the two rubbernet lines from start to last and from * last to second, the 3 coordinates are manipulated to find * a way to the magnetic marker. */ void o_net_finishmagnetic(GSCHEM_TOPLEVEL *w_current) { int primary_zero_length, secondary_zero_length; primary_zero_length = ((w_current->first_wx == w_current->second_wx) && (w_current->first_wy == w_current->second_wy)); secondary_zero_length = ((w_current->second_wx == w_current->third_wx) && (w_current->second_wy == w_current->third_wy)); if (!primary_zero_length && secondary_zero_length) { if (w_current->first_wx == w_current->second_wx) { /* expand vertical line to magnetic_wy */ w_current->second_wy = w_current->magnetic_wy; } else if (w_current->first_wy == w_current->second_wy) { /* expand horitontal line to vertical to magnetic_wx */ w_current->second_wx = w_current->magnetic_wx; } /* connect to magnetic */ w_current->third_wx = w_current->magnetic_wx; w_current->third_wy = w_current->magnetic_wy; } if (primary_zero_length && !secondary_zero_length) { /* move second line to the first (empty line) */ w_current->first_wx = w_current->second_wx; w_current->first_wy = w_current->second_wy; if (w_current->second_wx == w_current->third_wx) { /* expand vertical line to magnetic_wy */ w_current->second_wy = w_current->magnetic_wy; } else if (w_current->second_wy == w_current->third_wy) { /* expand horitontal line to magnetic_wx */ w_current->second_wx = w_current->magnetic_wx; } /* connect to magnetic */ w_current->third_wx = w_current->magnetic_wx; w_current->third_wy = w_current->magnetic_wy; } if (!primary_zero_length && !secondary_zero_length) { /* expand line in both directions */ if (w_current->first_wx == w_current->second_wx) { w_current->second_wy = w_current->magnetic_wy; } else { w_current->second_wx = w_current->magnetic_wx; } w_current->third_wx = w_current->magnetic_wx; w_current->third_wy = w_current->magnetic_wy; } } /*! \brief callback function to draw a net marker in magnetic mode * \par Function Description * If the mouse is moved, this function is called to update the * position of the magnetic marker. * If the controllkey is pressed the magnetic marker follows the mouse. */ void o_net_start_magnetic(GSCHEM_TOPLEVEL *w_current, int w_x, int w_y) { o_net_invalidate_rubber (w_current); if (w_current->CONTROLKEY) { w_current->magnetic_wx = w_x; w_current->magnetic_wy = w_y; } else { o_net_find_magnetic(w_current, w_x, w_y); } o_net_invalidate_rubber (w_current); w_current->rubber_visible = 1; w_current->inside_action = 1; } /*! \brief set the start point of a new net * \par Function Description * This function sets the start point of a new net at the position of the * cursor. If we have a visible magnetic marker, we use that instead of * the cursor position */ void o_net_start(GSCHEM_TOPLEVEL *w_current, int w_x, int w_y) { if (w_current->magnetic_wx != -1 && w_current->magnetic_wy != -1) { w_current->first_wx = w_current->magnetic_wx; w_current->first_wy = w_current->magnetic_wy; } else { w_current->first_wx = w_x; w_current->first_wy = w_y; } w_current->second_wx = w_current->third_wx = w_current->first_wx; w_current->second_wy = w_current->third_wy = w_current->first_wy; if (w_current->first_wx != snap_grid (w_current, w_current->first_wx) || w_current->first_wy != snap_grid (w_current, w_current->first_wy)) s_log_message(_("Warning: Starting net at off grid coordinate\n")); if (w_current->net_direction_mode) o_net_guess_direction(w_current, w_current->first_wx, w_current->first_wy); } /*! \brief finish a net drawing action * \par Function Description * This function finishes the drawing of a net. If we have a visible * magnetic marker, we use that instead of the current cursor * position. * * The rubber nets are removed, the nets and cues are drawn and the * net is added to the TOPLEVEL structure. * * The function returns TRUE if it has drawn a net, FALSE otherwise. */ int o_net_end(GSCHEM_TOPLEVEL *w_current, int w_x, int w_y) { TOPLEVEL *toplevel = w_current->toplevel; int color; int primary_zero_length, secondary_zero_length; int found_primary_connection = FALSE; int save_wx, save_wy; GList *prev_conn_objects; OBJECT *new_net = NULL; /* Save a list of added objects to run the %add-objects-hook later */ GList *added_objects = NULL; g_assert( w_current->inside_action != 0 ); o_net_invalidate_rubber (w_current); if (w_current->magnetic_wx != -1 && w_current->magnetic_wy != -1) o_net_finishmagnetic(w_current); w_current->rubber_visible = 0; /* See if either of the nets are zero length. We'll only add */ /* the non-zero ones */ primary_zero_length = (w_current->first_wx == w_current->second_wx) && (w_current->first_wy == w_current->second_wy); secondary_zero_length = (w_current->second_wx == w_current->third_wx) && (w_current->second_wy == w_current->third_wy); /* If both nets are zero length... */ /* this ends the net drawing behavior */ if ( primary_zero_length && secondary_zero_length ) { return FALSE; } save_wx = w_current->third_wx; save_wy = w_current->third_wy; if (toplevel->override_net_color == -1) { color = NET_COLOR; } else { color = toplevel->override_net_color; } if (w_current->third_wx != snap_grid (w_current, w_current->third_wx) || w_current->third_wy != snap_grid (w_current, w_current->third_wy)) s_log_message(_("Warning: Ending net at off grid coordinate\n")); if (!primary_zero_length ) { /* create primary net */ new_net = o_net_new(toplevel, OBJ_NET, color, w_current->first_wx, w_current->first_wy, w_current->second_wx, w_current->second_wy); s_page_append (toplevel, toplevel->page_current, new_net); added_objects = g_list_prepend (added_objects, new_net); /* conn stuff */ /* LEAK CHECK 1 */ prev_conn_objects = s_conn_return_others (NULL, new_net); o_net_add_busrippers (w_current, new_net, prev_conn_objects); g_list_free (prev_conn_objects); #if DEBUG printf("primary:\n"); s_conn_print(new_net->conn_list); #endif /* Go off and search for valid connection on this newly created net */ found_primary_connection = s_conn_net_search(new_net, 1, new_net->conn_list); if (found_primary_connection) { /* if a net connection is found, reset start point of next net */ save_wx = w_current->second_wx; save_wy = w_current->second_wy; } } /* If the second net is not zero length, add it as well */ /* Also, a valid net connection from the primary net was not found */ if (!secondary_zero_length && !found_primary_connection) { /* Add secondary net */ new_net = o_net_new(toplevel, OBJ_NET, color, w_current->second_wx, w_current->second_wy, w_current->third_wx, w_current->third_wy); s_page_append (toplevel, toplevel->page_current, new_net); added_objects = g_list_prepend (added_objects, new_net); /* conn stuff */ /* LEAK CHECK 2 */ prev_conn_objects = s_conn_return_others (NULL, new_net); o_net_add_busrippers (w_current, new_net, prev_conn_objects); g_list_free (prev_conn_objects); #if DEBUG s_conn_print(new_net->conn_list); #endif } /* Call add-objects-hook */ if (added_objects != NULL) { g_run_hook_object_list (w_current, "%add-objects-hook", added_objects); g_list_free (added_objects); } toplevel->page_current->CHANGED = 1; w_current->first_wx = save_wx; w_current->first_wy = save_wy; o_undo_savestate(w_current, UNDO_ALL); return (TRUE); } /*! \brief erase and redraw the rubber lines when drawing a net * \par Function Description * This function draws the rubbernet lines when drawing a net. */ void o_net_motion (GSCHEM_TOPLEVEL *w_current, int w_x, int w_y) { int ortho, horizontal, quadrant; g_assert( w_current->inside_action != 0 ); /* Orthognal mode enabled when Control Key is NOT pressed or if we are using magnetic mode */ ortho = !w_current->CONTROLKEY || w_current->magneticnet_mode; if (w_current->rubber_visible) o_net_invalidate_rubber (w_current); if (w_current->magneticnet_mode) { if (w_current->CONTROLKEY) { /* set the magnetic marker position to current xy if the controlkey is pressed. Thus the net will not connect to the closest net if we finish the net drawing */ w_current->magnetic_wx = w_x; w_current->magnetic_wy = w_y; } else { o_net_find_magnetic(w_current, w_x, w_y); } } w_current->second_wx = w_x; w_current->second_wy = w_y; /* In orthogonal mode secondary line is the same as the first */ if (!ortho) { w_current->third_wx = w_current->second_wx; w_current->third_wy = w_current->second_wy; } /* If you press the control key then you can draw non-ortho nets */ else { if (w_current->second_wy > w_current->first_wy) quadrant = w_current->second_wx > w_current->first_wx ? QUADRANT1: QUADRANT2; else quadrant = w_current->second_wx > w_current->first_wx ? QUADRANT4: QUADRANT3; horizontal = w_current->net_direction & quadrant; if (!w_current->SHIFTKEY) horizontal = !horizontal; /* calculate the co-ordinates necessary to draw the lines*/ /* Pressing the shift key will cause the vertical and horizontal lines to switch places */ if ( horizontal ) { w_current->second_wy = w_current->first_wy; w_current->third_wx = w_current->second_wx; w_current->third_wy = w_y; } else { w_current->second_wx = w_current->first_wx; w_current->third_wx = w_x; w_current->third_wy = w_current->second_wy; } } o_net_invalidate_rubber (w_current); w_current->rubber_visible = 1; } /*! \brief draw rubbernet lines to the gc * \par Function Description * This function draws the rubbernets to the graphic context */ void o_net_draw_rubber(GSCHEM_TOPLEVEL *w_current) { int size = 0, w_magnetic_halfsize; if (w_current->toplevel->net_style == THICK) size = NET_WIDTH; gschem_cairo_set_source_color (w_current, x_color_lookup_dark (SELECT_COLOR)); if (w_current->magneticnet_mode) { if (w_current->magnetic_wx != -1 && w_current->magnetic_wy != -1) { w_magnetic_halfsize = max (4 * size, WORLDabs (w_current, MAGNETIC_HALFSIZE)); gschem_cairo_arc (w_current, size, w_current->magnetic_wx, w_current->magnetic_wy, w_magnetic_halfsize, 0, 360); } } /* Primary line */ gschem_cairo_line (w_current, END_NONE, size, w_current->first_wx, w_current->first_wy, w_current->second_wx, w_current->second_wy); /* Secondary line */ gschem_cairo_line (w_current, END_NONE, size, w_current->second_wx, w_current->second_wy, w_current->third_wx, w_current->third_wy); gschem_cairo_stroke (w_current, TYPE_SOLID, END_NONE, size, -1, -1); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_net_invalidate_rubber (GSCHEM_TOPLEVEL *w_current) { TOPLEVEL *toplevel = w_current->toplevel; int size = 0, magnetic_halfsize; int bloat; int magnetic_x, magnetic_y; int first_x, first_y, third_x, third_y, second_x, second_y; int x1, y1, x2, y2; WORLDtoSCREEN (w_current, w_current->magnetic_wx, w_current->magnetic_wy, &magnetic_x, &magnetic_y); WORLDtoSCREEN (w_current, w_current->first_wx, w_current->first_wy, &first_x, &first_y); WORLDtoSCREEN (w_current, w_current->third_wx, w_current->third_wy, &third_x, &third_y); WORLDtoSCREEN (w_current, w_current->second_wx, w_current->second_wy, &second_x, &second_y); if (toplevel->net_style == THICK) { size = SCREENabs (w_current, NET_WIDTH); } size = max (size, 0); bloat = size / 2; if (w_current->magneticnet_mode) { if (w_current->magnetic_wx != -1 && w_current->magnetic_wy != -1) { magnetic_halfsize = max (4 * size, MAGNETIC_HALFSIZE); o_invalidate_rect (w_current, magnetic_x - magnetic_halfsize, magnetic_y - magnetic_halfsize, magnetic_x + magnetic_halfsize, magnetic_y + magnetic_halfsize); } } x1 = min (first_x, second_x) - bloat; x2 = max (first_x, second_x) + bloat; y1 = min (first_y, second_y) - bloat; y2 = max (first_y, second_y) + bloat; o_invalidate_rect (w_current, x1, y1, x2, y2); x1 = min (second_x, third_x) - bloat; x2 = max (second_x, third_x) + bloat; y1 = min (second_y, third_y) - bloat; y2 = max (second_y, third_y) + bloat; o_invalidate_rect (w_current, x1, y1, x2, y2); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ int o_net_add_busrippers(GSCHEM_TOPLEVEL *w_current, OBJECT *net_obj, GList *prev_conn_objects) { TOPLEVEL *toplevel = w_current->toplevel; OBJECT *new_obj; int color; GList *cl_current = NULL; OBJECT *bus_object = NULL; CONN *found_conn = NULL; int done; int otherone; BUS_RIPPER rippers[2]; int ripper_count = 0; int i; double length; int sign; double distance1, distance2; int first, second; int made_changes = FALSE; const int ripper_size = w_current->bus_ripper_size; int complex_angle = 0; const CLibSymbol *rippersym = NULL; length = o_line_length(net_obj); if (!prev_conn_objects) { return(FALSE); } if (length <= ripper_size) { return(FALSE); } if (toplevel->override_net_color == -1) { color = NET_COLOR; } else { color = toplevel->override_net_color; } /* check for a bus connection and draw rippers if so */ cl_current = prev_conn_objects; while (cl_current != NULL) { bus_object = (OBJECT *) cl_current->data; if (bus_object && bus_object->type == OBJ_BUS) { /* yes, using the net routine is okay */ int bus_orientation = o_net_orientation(bus_object); int net_orientation = o_net_orientation(net_obj); /* find the CONN structure which is associated with this object */ GList *cl_current2 = net_obj->conn_list; done = FALSE; while (cl_current2 != NULL && !done) { CONN *tmp_conn = (CONN *) cl_current2->data; if (tmp_conn && tmp_conn->other_object && tmp_conn->other_object == bus_object) { found_conn = tmp_conn; done = TRUE; } cl_current2 = g_list_next(cl_current2); } if (!found_conn) { return(FALSE); } otherone = !found_conn->whichone; /* now deal with the found connection */ if (bus_orientation == HORIZONTAL && net_orientation == VERTICAL) { /* printf("found horiz bus %s %d!\n", bus_object->name, found_conn->whichone);*/ sign = bus_object->bus_ripper_direction; if (!sign) { if (bus_object->line->x[0] < bus_object->line->x[1]) { first = 0; second = 1; } else { first = 1; second = 0; } distance1 = abs(bus_object->line->x[first] - net_obj->line->x[found_conn->whichone]); distance2 = abs(bus_object->line->x[second] - net_obj->line->x[found_conn->whichone]); if (distance1 <= distance2) { sign = 1; } else { sign = -1; } bus_object->bus_ripper_direction = sign; } /* printf("hor sign: %d\n", sign); */ if (net_obj->line->y[otherone] < bus_object->line->y[0]) { /* new net is below bus */ /*printf("below\n");*/ if (ripper_count >= 2) { /* try to exit gracefully */ fprintf(stderr, _("Tried to add more than two bus rippers. Internal gschem error.\n")); made_changes = FALSE; break; } if (w_current->bus_ripper_rotation == NON_SYMMETRIC) { /* non-symmetric */ if (sign == 1) { complex_angle = 0; } else { complex_angle = 90; } } else { /* symmetric */ complex_angle = 0; } net_obj->line->y[found_conn->whichone] -= ripper_size; o_recalc_single_object(toplevel, net_obj); rippers[ripper_count].x[0] = net_obj->line->x[found_conn->whichone]; rippers[ripper_count].y[0] = net_obj->line->y[found_conn->whichone]; rippers[ripper_count].x[1] = net_obj->line->x[found_conn->whichone] + sign*ripper_size; rippers[ripper_count].y[1] = net_obj->line->y[found_conn->whichone] + ripper_size; ripper_count++; /* printf("done\n"); */ made_changes++; } else { /* new net is above bus */ /* printf("above\n"); */ if (ripper_count >= 2) { /* try to exit gracefully */ fprintf(stderr, _("Tried to add more than two bus rippers. Internal gschem error.\n")); made_changes = FALSE; break; } if (w_current->bus_ripper_rotation == NON_SYMMETRIC) { /* non-symmetric */ if (sign == 1) { complex_angle = 270; } else { complex_angle = 180; } } else { /* symmetric */ complex_angle = 180; } net_obj->line->y[found_conn->whichone] += ripper_size; o_recalc_single_object(toplevel, net_obj); rippers[ripper_count].x[0] = net_obj->line->x[found_conn->whichone]; rippers[ripper_count].y[0] = net_obj->line->y[found_conn->whichone]; rippers[ripper_count].x[1] = net_obj->line->x[found_conn->whichone] + sign*ripper_size; rippers[ripper_count].y[1] = net_obj->line->y[found_conn->whichone] - ripper_size; ripper_count++; /* printf("done\n"); */ made_changes++; } } else if (bus_orientation == VERTICAL && net_orientation == HORIZONTAL) { /* printf("found vert bus %s %d!\n", bus_object->name, found_conn->whichone); */ sign = bus_object->bus_ripper_direction; if (!sign) { if (bus_object->line->y[0] < bus_object->line->y[1]) { first = 0; second = 1; } else { first = 1; second = 0; } distance1 = abs(bus_object->line->y[first] - net_obj->line->y[found_conn->whichone]); distance2 = abs(bus_object->line->y[second] - net_obj->line->y[found_conn->whichone]); if (distance1 <= distance2) { sign = 1; } else { sign = -1; } bus_object->bus_ripper_direction = sign; } /* printf("ver sign: %d\n", sign); */ if (net_obj->line->x[otherone] < bus_object->line->x[0]) { /* new net is to the left of the bus */ /* printf("left\n"); */ if (ripper_count >= 2) { /* try to exit gracefully */ fprintf(stderr, _("Tried to add more than two bus rippers. Internal gschem error.\n")); made_changes = FALSE; break; } if (w_current->bus_ripper_rotation == NON_SYMMETRIC) { /* non-symmetric */ if (sign == 1) { complex_angle = 0; } else { complex_angle = 270; } } else { /* symmetric */ complex_angle = 270; } net_obj->line->x[found_conn->whichone] -= ripper_size; o_recalc_single_object(toplevel, net_obj); rippers[ripper_count].x[0] = net_obj->line->x[found_conn->whichone]; rippers[ripper_count].y[0] = net_obj->line->y[found_conn->whichone]; rippers[ripper_count].x[1] = net_obj->line->x[found_conn->whichone] + ripper_size; rippers[ripper_count].y[1] = net_obj->line->y[found_conn->whichone] + sign*ripper_size; ripper_count++; made_changes++; } else { /* new net is to the right of the bus */ /* printf("right\n"); */ if (ripper_count >= 2) { /* try to exit gracefully */ fprintf(stderr, _("Tried to add more than two bus rippers. Internal gschem error.\n")); made_changes = FALSE; break; } if (w_current->bus_ripper_rotation == NON_SYMMETRIC) { /* non-symmetric */ if (sign == 1) { complex_angle = 90; } else { complex_angle = 180; } } else { /* symmetric */ complex_angle = 90; } net_obj->line->x[found_conn->whichone] += ripper_size; o_recalc_single_object(toplevel, net_obj); rippers[ripper_count].x[0] = net_obj->line->x[found_conn->whichone]; rippers[ripper_count].y[0] = net_obj->line->y[found_conn->whichone]; rippers[ripper_count].x[1] = net_obj->line->x[found_conn->whichone] - ripper_size; rippers[ripper_count].y[1] = net_obj->line->y[found_conn->whichone] + sign*ripper_size; ripper_count++; made_changes++; } } } cl_current = g_list_next(cl_current); } if (made_changes) { s_conn_remove_object (toplevel, net_obj); if (w_current->bus_ripper_type == COMP_BUS_RIPPER) { GList *symlist = s_clib_search (toplevel->bus_ripper_symname, CLIB_EXACT); if (symlist != NULL) { rippersym = (CLibSymbol *) symlist->data; } g_list_free (symlist); } for (i = 0; i < ripper_count; i++) { if (w_current->bus_ripper_type == NET_BUS_RIPPER) { new_obj = o_net_new(toplevel, OBJ_NET, color, rippers[i].x[0], rippers[i].y[0], rippers[i].x[1], rippers[i].y[1]); s_page_append (toplevel, toplevel->page_current, new_obj); } else { if (rippersym != NULL) { new_obj = o_complex_new (toplevel, OBJ_COMPLEX, DEFAULT_COLOR, rippers[i].x[0], rippers[i].y[0], complex_angle, 0, rippersym, toplevel->bus_ripper_symname, 1); s_page_append_list (toplevel, toplevel->page_current, o_complex_promote_attribs (toplevel, new_obj)); s_page_append (toplevel, toplevel->page_current, new_obj); } else { s_log_message(_("Bus ripper symbol [%s] was not found in any component library\n"), toplevel->bus_ripper_symname); } } } s_conn_update_object (toplevel, net_obj); return(TRUE); } return(FALSE); } geda-gaf-1.8.2/gschem/src/x_log.c0000664000175000017500000002645112063576065013433 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /* * \file x_log.c * \brief GType class and functions to support the gschem log window. */ #include #include #include #include #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_UNISTD_H #include #endif #ifdef HAVE_FCNTL_H #include #endif #ifdef HAVE_STRING_H #include #endif #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif static void x_log_callback_response (GtkDialog *dialog, gint arg1, gpointer user_data); static void log_message (Log *log, const gchar *message, const gchar *style); static void log_class_init (LogClass *class); static void log_init (Log *log); static GtkWidget *log_dialog = NULL; /*! * \brief Open the Log window * * \par Function Description * If the log dialog instance doesn't exist, create it, and read * the current log file contents (if they exist) and insert * them into the log dialog. * * If the log dialog instance does exist, present it to the user. */ void x_log_open () { if (log_dialog == NULL) { gchar *contents; log_dialog = GTK_WIDGET (g_object_new (TYPE_LOG, /* GtkWindow */ "type", GTK_WINDOW_TOPLEVEL, /* GschemDialog */ "settings-name", "log", /* "toplevel", TOPEVEL * */ NULL)); g_signal_connect (log_dialog, "response", G_CALLBACK (x_log_callback_response), NULL); /* make it read the content of the current log file */ /* and add its contents to the dialog */ contents = s_log_read (); /* s_log_read can return NULL if the log file cannot be written to */ if (contents == NULL) { return; } log_message (LOG (log_dialog), contents, "old"); g_free (contents); x_log_update_func = x_log_message; if( auto_place_mode ) gtk_widget_set_uposition( log_dialog, 10, 10); gtk_widget_show (log_dialog); } else { g_assert (IS_LOG (log_dialog)); gtk_window_present ((GtkWindow*)log_dialog); } } /*! * \brief Close the Log window * \par Function Description * If the log window exists, destroy it. */ void x_log_close () { if (log_dialog) { g_assert (IS_LOG (log_dialog)); gtk_widget_destroy (log_dialog); x_log_update_func = NULL; log_dialog = NULL; } } /*! * \brief Add a message to the Log window * \par Function Description * Add a message to the Log window. * Calls log_message() to do the actual logging. * \param [in] log_domain * \param [in] log_level The severity of the message * \param [in] message The message to be displayed */ void x_log_message (const gchar *log_domain, GLogLevelFlags log_level, const gchar *message) { gchar *style; g_return_if_fail (log_dialog != NULL); if (log_level & (G_LOG_LEVEL_CRITICAL | G_LOG_LEVEL_ERROR)) { style = "critical"; } else if (log_level & G_LOG_LEVEL_WARNING) { style = "warning"; } else { style = "message"; } log_message (LOG(log_dialog), message, style); } /*! * \brief Log window callback function * * \par Function Description * Callback function for the Log window. Only used to close the window. */ static void x_log_callback_response (GtkDialog *dialog, gint arg1, gpointer user_data) { switch (arg1) { case GTK_RESPONSE_DELETE_EVENT: case LOG_RESPONSE_CLOSE: g_assert (GTK_WIDGET (dialog) == log_dialog); x_log_close (); break; default: g_assert_not_reached (); } } /*! * \brief Add a message to the log window * * \par Function Description * \param [in] log The log instance * \param [in] message The message to be logged * \param [in] style The style to use in the text rendering */ static void log_message (Log *log, const gchar *message, const gchar *style) { GtkTextBuffer *buffer; GtkTextIter iter; GtkTextMark *mark; g_return_if_fail (IS_LOG (log)); buffer = gtk_text_view_get_buffer (log->textview); gtk_text_buffer_get_end_iter (buffer, &iter); /* Apply the "plain" tag before the level-specific tag in order to * reset the formatting */ if (g_utf8_validate (message, -1, NULL)) { gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, message, -1, "plain", style, NULL); } else { /* If UTF-8 wasn't valid (due to a system locale encoded filename or * other string being included by mistake), log a warning, and print * the original message to stderr, where it may be partly intelligible */ gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, _("** Invalid UTF-8 in log message. See stderr or gschem.log.\n"), -1, "plain", style, NULL); fprintf (stderr, "%s", message); } mark = gtk_text_buffer_create_mark(buffer, NULL, &iter, FALSE); gtk_text_view_scroll_to_mark (log->textview, mark, 0, TRUE, 0, 1); gtk_text_buffer_delete_mark (buffer, mark); } /*! * \brief Get the Log class type * * \par Function Description * * On first call, registers the Log class with the GType dynamic type system. * On subsequent calls, returns the saved value from first execution. * \returns the type identifier for the Log class */ GType log_get_type () { static GType log_type = 0; if (!log_type) { static const GTypeInfo log_info = { sizeof(LogClass), NULL, /* base_init */ NULL, /* base_finalize */ (GClassInitFunc) log_class_init, NULL, /* class_finalize */ NULL, /* class_data */ sizeof(Log), 0, /* n_preallocs */ (GInstanceInitFunc) log_init, }; log_type = g_type_register_static (GSCHEM_TYPE_DIALOG, "Log", &log_info, 0); } return log_type; } /*! * \brief Log class initialization function * * \par Function Description * * Class initialization function for the Log class. Currently * does nothing. */ static void log_class_init (LogClass *klass) { /* GObjectClass *gobject_class = G_OBJECT_CLASS (klass); */ } /*! * \brief Log class instance initialization function * * \par Function Description * * Instance initialization for the Log class. Sets up the log parameters, * creates a scrollable text view with highlighting and a Close button. * * \param log the instance of the class to initialize */ static void log_init (Log *log) { GtkWidget *scrolled_win, *text_view; GtkTextBuffer *text_buffer; GtkTextMark *mark; /* dialog initialization */ g_object_set (G_OBJECT (log), /* GtkContainer */ "border-width", 0, /* GtkWindow */ "title", _("Status"), "default-width", 600, "default-height", 200, "modal", FALSE, "window-position", GTK_WIN_POS_NONE, "type-hint", GDK_WINDOW_TYPE_HINT_NORMAL, /* GtkDialog */ "has-separator", TRUE, NULL); /* create a scrolled window for the textview */ scrolled_win = GTK_WIDGET ( g_object_new (GTK_TYPE_SCROLLED_WINDOW, /* GtkContainer */ "border-width", 5, /* GtkScrolledWindow */ "hscrollbar-policy", GTK_POLICY_AUTOMATIC, "vscrollbar-policy", GTK_POLICY_AUTOMATIC, "shadow-type", GTK_SHADOW_ETCHED_IN, NULL)); /* create the text buffer */ text_buffer = GTK_TEXT_BUFFER (g_object_new (GTK_TYPE_TEXT_BUFFER, NULL)); /* Add some tags for highlighting log messages to the buffer */ gtk_text_buffer_create_tag (text_buffer, "plain", "foreground", "black", "foreground-set", TRUE, "weight", PANGO_WEIGHT_NORMAL, "weight-set", TRUE, NULL); /* The default "message" style is plain */ gtk_text_buffer_create_tag (text_buffer, "message", NULL); /* "old" messages are in dark grey */ gtk_text_buffer_create_tag (text_buffer, "old", "foreground", "#404040", "foreground-set", TRUE, NULL); /* "warning" messages are printed in red */ gtk_text_buffer_create_tag (text_buffer, "warning", "foreground", "red", "foreground-set", TRUE, NULL); /* "critical" messages are bold red */ gtk_text_buffer_create_tag (text_buffer, "critical", "foreground", "red", "foreground-set", TRUE, "weight", PANGO_WEIGHT_BOLD, "weight-set", TRUE, NULL); /* create the text view and attach the buffer to it */ text_view = GTK_WIDGET (g_object_new (GTK_TYPE_TEXT_VIEW, /* GtkTextView */ /* unknown property in GTK 2.2, use gtk_text_view_set_buffer() instead */ /* "buffer", text_buffer, */ "editable", FALSE, NULL)); gtk_text_view_set_buffer (GTK_TEXT_VIEW (text_view), text_buffer); /* add the text view to the scrolled window */ gtk_container_add (GTK_CONTAINER (scrolled_win), text_view); /* set textview of log */ log->textview = GTK_TEXT_VIEW (text_view); /* add the scrolled window to the dialog vbox */ gtk_box_pack_start (GTK_BOX (GTK_DIALOG (log)->vbox), scrolled_win, TRUE, TRUE, 0); gtk_widget_show_all (scrolled_win); /* now add the close button to the action area */ gtk_dialog_add_button (GTK_DIALOG (log), GTK_STOCK_CLOSE, LOG_RESPONSE_CLOSE); /* scroll to the end of the buffer */ mark = gtk_text_buffer_get_insert (text_buffer); gtk_text_view_scroll_to_mark (GTK_TEXT_VIEW (text_view), mark, 0.0, TRUE, 0.0, 1.0); } geda-gaf-1.8.2/gschem/src/g_attrib.c0000664000175000017500000001251512063576065014112 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 2011 Peter Brett * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! * \file g_attrib.c * \brief Scheme API functions for manipulating attributes in * gschem-specific ways. */ #include #include #include "gschem.h" SCM_SYMBOL (name_sym , "name"); SCM_SYMBOL (value_sym , "value"); SCM_SYMBOL (both_sym , "both"); SCM_SYMBOL (object_state_sym, "object-state"); /*! \brief Add an attribute to an object, or floating. * \par Function Description * Creates a new attribute, either attached to an object or floating. * * The \a name_s and \a value_s should be strings. If \a visible_s is * false, the new attribute will be invisible; otherwise it will be * visible. \a show_s determines which parts of an * attribute-formatted string should be shown, and should be one of * the symbols "name", "value" or "both". * * If \a target_s is specified and is a gEDA object, the new attribute * will be attached to it. If \a target_s is not in gschem's active * page, an "object-state" error will be raised. * * If \a target_s is #f, the new attribute will be floating in * gschem's current active page. * * \note Scheme API: Implements the %add-attrib! procedure in the * (gschem core attrib) module. * * \bug This function does not verify that \a name_s is actually a * valid attribute name. * * \todo It would be nice to support pages other than the current * active page. * * \param target_s where to attach the new attribute. * \param name_s name for the new attribute. * \param value_s value for the new attribute. * \param visible_s visibility of the new attribute (true or false). * \param show_s the attribute part visibility setting. * * \return the newly created text object. */ SCM_DEFINE (add_attrib_x, "%add-attrib!", 5, 0, 0, (SCM target_s, SCM name_s, SCM value_s, SCM visible_s, SCM show_s), "Add an attribute to an object, or floating") { SCM_ASSERT ((edascm_is_page (target_s) || edascm_is_object (target_s) || scm_is_false (target_s)), target_s, SCM_ARG1, s_add_attrib_x); SCM_ASSERT (scm_is_string (name_s), name_s, SCM_ARG2, s_add_attrib_x); SCM_ASSERT (scm_is_string (value_s), value_s, SCM_ARG3, s_add_attrib_x); SCM_ASSERT (scm_is_symbol (show_s), show_s, SCM_ARG5, s_add_attrib_x); GSCHEM_TOPLEVEL *w_current = g_current_window (); TOPLEVEL *toplevel = w_current->toplevel; /* Check target object, if present */ OBJECT *obj = NULL; if (edascm_is_object (target_s)) { obj = edascm_to_object (target_s); if (o_get_page (toplevel, obj) != toplevel->page_current) { scm_error (object_state_sym, s_add_attrib_x, _("Object ~A is not included in the current gschem page."), scm_list_1 (target_s), SCM_EOL); } } /* Visibility */ int visibility; if (scm_is_false (visible_s)) { visibility = INVISIBLE; } else { visibility = VISIBLE; } /* Name/value visibility */ int show; if (show_s == name_sym) { show = SHOW_NAME; } else if (show_s == value_sym) { show = SHOW_VALUE; } else if (show_s == both_sym) { show = SHOW_NAME_VALUE; } else { scm_misc_error (s_add_attrib_x, _("Invalid text name/value visibility ~A."), scm_list_1 (show_s)); } scm_dynwind_begin (0); char *name; name = scm_to_utf8_string (name_s); scm_dynwind_free (name); char *value; value = scm_to_utf8_string (value_s); scm_dynwind_free (value); gchar *str = g_strdup_printf ("%s=%s", name, value); scm_dynwind_unwind_handler (g_free, str, SCM_F_WIND_EXPLICITLY); OBJECT *result = o_attrib_add_attrib (w_current, str, visibility, show, obj); scm_dynwind_end (); return edascm_from_object (result); } /*! * \brief Create the (geda core object) Scheme module. * \par Function Description * Defines procedures in the (geda core object) module. The module can * be accessed using (use-modules (geda core object)). */ static void init_module_gschem_core_attrib () { /* Register the functions and symbols */ #include "g_attrib.x" /* Add them to the module's public definitions. */ scm_c_export (s_add_attrib_x, NULL); } /*! * \brief Initialise the gschem attribute procedures. * \par Function Description * Registers some Scheme procedures for working with * attributes. Should only be called by main_prog(). */ void g_init_attrib () { /* Define the (gschem core attrib) module */ scm_c_define_module ("gschem core attrib", init_module_gschem_core_attrib, NULL); } geda-gaf-1.8.2/gschem/src/o_box.c0000664000175000017500000004753212220647257013431 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2011 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif #define GET_BOX_WIDTH(w) \ abs((w)->second_wx - (w)->first_wx) #define GET_BOX_HEIGHT(w) \ abs((w)->second_wy - (w)->first_wy) #define GET_BOX_LEFT(w) \ min((w)->first_wx, (w)->second_wx) #define GET_BOX_TOP(w) \ max((w)->first_wy, (w)->second_wy) typedef void (*FILL_FUNC) (GSCHEM_TOPLEVEL *w_current, COLOR *color, BOX *box, gint fill_width, gint angle1, gint pitch1, gint angle2, gint pitch2); /*! \brief Placeholder filling function. * \par Function Description * This function does nothing. It has the same prototype as all the * filling functions. It prevent from making a difference between filling * in function #o_box_draw(). * * \param [in] w_current Schematic top level * \param [in] color Box fill color. * \param [in] box Box definition * \param [in] fill_width BOX pattern fill width. * \param [in] angle1 1st angle for pattern. * \param [in] pitch1 1st pitch for pattern. * \param [in] angle2 2nd angle for pattern. * \param [in] pitch2 2nd pitch for pattern. */ static void o_box_fill_hollow (GSCHEM_TOPLEVEL *w_current, COLOR *color, BOX *box, gint fill_width, gint angle1, gint pitch1, gint angle2, gint pitch2) { } /*! \brief Fill inside of box with a solid pattern. * \par Function Description * This function fills the inside of the box with a solid pattern. * Parameters angle1, pitch1 and angle2, * pitch2 and fill_width are unused here but kept for compatibility * with other box filling functions. * * The box is defined in the same way as it is in GDK : one point and * the width and height of the box. * * All parameters are given in pixel. * * \param [in] w_current Schematic top level * \param [in] color Box fill color. * \param [in] box Box definition * \param [in] fill_width BOX pattern fill width. * \param [in] angle1 (unused) * \param [in] pitch1 (unused) * \param [in] angle2 (unused) * \param [in] pitch2 (unused) */ static void o_box_fill_fill (GSCHEM_TOPLEVEL *w_current, COLOR *color, BOX *box, gint fill_width, gint angle1, gint pitch1, gint angle2, gint pitch2) { /* NOP: We'll fill it when we do the stroking */ } /*! \brief Fill inside of box with single line pattern. * \par Function Description * This function fills the inside of the box with a pattern made of lines. * The lines are drawn inside the box with an angle angle1 from the * horizontal. The distance between two of these lines is given by * pitch1 and their width by fill_width. * Parameters angle2 and pitch2 are unused here but kept for * compatbility with other box filling functions. * * The box is defined in the same way as it is in GDK : one point and the * width and height of the box. * * All parameters are given in pixel. * * Negative or null values for pitch1 are not allowed as it leads to * an endless loop. * * \param [in] w_current Schematic top level * \param [in] color Box fill color. * \param [in] box Box definition * \param [in] fill_width BOX pattern fill width. * \param [in] angle1 1st angle for pattern. * \param [in] pitch1 1st pitch for pattern. * \param [in] angle2 (unused) * \param [in] pitch2 (unused) */ static void o_box_fill_hatch (GSCHEM_TOPLEVEL *w_current, COLOR *color, BOX *box, gint fill_width, gint angle1, gint pitch1, gint angle2, gint pitch2) { int i; GArray *lines; gschem_cairo_set_source_color (w_current, color); lines = g_array_new (FALSE, FALSE, sizeof (LINE)); m_hatch_box (box, angle1, pitch1, lines); for (i=0; i < lines->len; i++) { LINE *line = &g_array_index (lines, LINE, i); gschem_cairo_line (w_current, END_NONE, fill_width, line->x[0], line->y[0], line->x[1], line->y[1]); } gschem_cairo_stroke (w_current, TYPE_SOLID, END_NONE, fill_width, -1, -1); g_array_free (lines, TRUE); } /*! \brief Fill inside of box with mesh pattern. * \par Function Description * This function fills the inside of the box with a pattern made of two * sets of parallel lines in two directions. The first set is drawn inside * the box with an angle angle1 from the horizontal. The distance * between two of these lines is given by pitch1. * The second set is drawn inside the box with an angle angle2 from * the horizontal. The distance between two of these lines is given * by pitch2. * Every lines have the same width given be fill_width. * * This function simply makes two successive calls to the function * #o_box_fill_hatch() respectively with angle1, pitch1 and * angle2, pitch2 for parameters. * \param [in] w_current Schematic top level * \param [in] color Box fill color. * \param [in] box Box definition * \param [in] fill_width BOX pattern fill width. * \param [in] angle1 1st angle for pattern. * \param [in] pitch1 1st pitch for pattern. * \param [in] angle2 2nd angle for pattern. * \param [in] pitch2 2nd pitch for pattern. */ static void o_box_fill_mesh (GSCHEM_TOPLEVEL *w_current, COLOR *color, BOX *box, gint fill_width, gint angle1, gint pitch1, gint angle2, gint pitch2) { o_box_fill_hatch (w_current, color, box, fill_width, angle1, pitch1, -1, -1); o_box_fill_hatch (w_current, color, box, fill_width, angle2, pitch2, -1, -1); } /*! \brief Draw a box on the screen. * \par Function Description * This function is used to draw a box on screen. The box is described in * the OBJECT which is referred by o_current. The box is displayed * according to the current state, described in the GSCHEM_TOPLEVEL object * pointed by w_current. * * It first checks if the OBJECT pointed is valid or not. If not it * returns and do not output anything. That should never happen though. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] o_current BOX OBJECT to draw. */ void o_box_draw(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current) { int angle1, pitch1, angle2, pitch2; FILL_FUNC fill_func; if (o_current->box == NULL) { return; } /* * The drawing of the box is divided in two steps : first step is to * draw the outline, the second is to draw the filling pattern inside * (if any). Finally the function takes care of the grips. */ /* * The values describing the line type are extracted from the o_current * pointed structure. These are the width of the line, the field called * length and the field called space and the desired end type for the line. * * Depending on the type of the line that has to be used to draw the box * the appropriate function is called. Values of space and length are * adapted to the type of line. The possible functions are the following : * #o_box_draw_solid(), #o_box_draw_dotted(), #o_box_draw_dashed() and * #o_box_draw_phantom(). * * The combination length == 0 and space == 0 is avoided as it * lead to an endless loop in function called after. If such a case is * encountered the box is drawn as a solid box independently of its * initial type. */ /* * The values needed for the fill operation are taken from the * o_current pointed OBJECT. It include the type of fill required, * the width of the lines (if the fill use line) and angles and pitchs * for hatch based filling. * * Once again the width of the line is important as if it is equal to * 0 it may not be displayed. That is definetely not what we are looking for. * * Depending on the type of fill that has to be used inside the box the * appropriate function is called. Values of angle1, * angle2, pitch1 and pitch2 are adapted to the type of * filling. The possible functions are the following : * #o_box_fill_hollow(), #o_box_fill_fill(), #o_box_fill_mesh() and * #o_box_fill_hatch(). * * The combination pitch1 <= 0 and pitch2 <= 0 is avoided as * it lead to an endless loop in function called after. It happens when * the zoom factor is too small for two lines separated by the pitch * to be distinct. If such a case is encountered the circle is filled * hollow (e.q. not filled). */ angle1 = o_current->fill_angle1; pitch1 = o_current->fill_pitch1; angle2 = o_current->fill_angle2; pitch2 = o_current->fill_pitch2; switch (o_current->fill_type) { case FILLING_HOLLOW: angle1 = -1; angle2 = -1; pitch1 = 1; pitch2 = 1; /* this function is empty ! however if it do not use it we have to add * a test before the call. Simply putting a return here instead is not * possible as it would prevent any hollow box from having its grips * drawn */ fill_func = o_box_fill_hollow; break; case FILLING_FILL: angle1 = -1; angle2 = -1; pitch1 = 1; pitch2 = 1; fill_func = o_box_fill_fill; break; case FILLING_MESH: fill_func = o_box_fill_mesh; break; case FILLING_HATCH: angle2 = -1; pitch2 = 1; fill_func = o_box_fill_hatch; break; case FILLING_VOID: default: angle1 = -1; angle2 = -1; pitch1 = 1; pitch2 = 1; fill_func = o_box_fill_hollow; fprintf (stderr, _("Unknown type for box (fill)!\n")); } if ((pitch1 <= 0) || (pitch2 <= 0)) fill_func = o_box_fill_fill; (*fill_func) (w_current, o_drawing_color (w_current, o_current), o_current->box, o_current->fill_width, angle1, pitch1, angle2, pitch2); gschem_cairo_set_source_color (w_current, o_drawing_color (w_current, o_current)); gschem_cairo_box (w_current, o_current->line_width, o_current->box->lower_x, o_current->box->lower_y, o_current->box->upper_x, o_current->box->upper_y); if (o_current->fill_type == FILLING_FILL) cairo_fill_preserve (w_current->cr); gschem_cairo_stroke (w_current, o_current->line_type, o_current->line_end, o_current->line_width, o_current->line_length, o_current->line_space); if (o_current->selected && w_current->draw_grips) o_box_draw_grips (w_current, o_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_box_invalidate_rubber (GSCHEM_TOPLEVEL *w_current) { int x1, y1, x2, y2; WORLDtoSCREEN (w_current, w_current->first_wx, w_current->first_wy, &x1, &y1); WORLDtoSCREEN (w_current, w_current->second_wx, w_current->second_wy, &x2, &y2); o_invalidate_rect (w_current, x1, y1, x2, y1); o_invalidate_rect (w_current, x1, y1, x1, y2); o_invalidate_rect (w_current, x2, y1, x2, y2); o_invalidate_rect (w_current, x1, y2, x2, y2); } /*! \brief Draw a box described by OBJECT with translation * \par Function Description * This function daws the box object described by *o_current translated * by the vector (dx,dy). * The translation vector is in world unit. * * The box is displayed with the color of the object. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] dx Delta x coordinate for box. * \param [in] dy Delta y coordinate for box. * \param [in] o_current Box OBJECT to draw. */ void o_box_draw_place (GSCHEM_TOPLEVEL *w_current, int dx, int dy, OBJECT *o_current) { if (o_current->box == NULL) { return; } gschem_cairo_box (w_current, 0, o_current->box->upper_x + dx, o_current->box->upper_y + dy, o_current->box->lower_x + dx, o_current->box->lower_y + dy); gschem_cairo_set_source_color (w_current, x_color_lookup_dark (o_current->color)); gschem_cairo_stroke (w_current, TYPE_SOLID, END_NONE, 1, -1, -1); } /*! \brief Start process to input a new box. * \par Function Description * This function starts the process to input a new box. Parameters for this * box are put into/extracted from the w_current toplevel structure. * w_x and w_y are current coordinates of the pointer in world * coordinates. * * The first step is to input one corner of the box. This corner is * (w_x,w_y) snapped to the grid and saved in w_current->first_wx * and w_current->first_wy. * * The other corner will be saved in (w_current->second_wx, * w_current->second_wy). * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] w_x Current x coordinate of pointer in world. * \param [in] w_y Current y coordinate of pointer in world. */ void o_box_start(GSCHEM_TOPLEVEL *w_current, int w_x, int w_y) { /* init first_w[x|y], second_w[x|y] to describe box */ w_current->first_wx = w_current->second_wx = w_x; w_current->first_wy = w_current->second_wy = w_y; /* start to draw the box */ o_box_invalidate_rubber (w_current); } /*! \brief End the input of a box. * \par Function Description * This function ends the input of the second corner of a box. * The (w_x,w_y) point is set to be this second corner. The box is * then defined by (w_current->first_wx,w_current->first_wy and * (w_current->second_wx,w_current->second_wy. * w_x and w_y are in screen unit. * * The temporary box is erased ; a new box object is allocated, initialized * and linked to the object list ; The object is finally drawn on the * current sheet. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] w_x Current x coordinate of pointer in world units. * \param [in] w_y Current y coordinate of pointer in world units. */ void o_box_end(GSCHEM_TOPLEVEL *w_current, int w_x, int w_y) { TOPLEVEL *toplevel = w_current->toplevel; OBJECT *new_obj; int box_width, box_height; int box_left, box_top; g_assert( w_current->inside_action != 0 ); /* get the last coords of the pointer */ w_current->second_wx = w_x; w_current->second_wy = w_y; /* erase the temporary box */ /* o_box_invalidate_rubber (w_current); */ w_current->rubber_visible = 0; box_width = GET_BOX_WIDTH (w_current); box_height = GET_BOX_HEIGHT(w_current); box_left = GET_BOX_LEFT (w_current); box_top = GET_BOX_TOP (w_current); /* boxes with null width or height are not allowed */ if ((box_width == 0) || (box_height == 0)) { /* cancel the object creation */ w_current->first_wx = (-1); w_current->first_wy = (-1); w_current->second_wx = (-1); w_current->second_wy = (-1); return; } /* create the object */ new_obj = o_box_new (toplevel, OBJ_BOX, GRAPHIC_COLOR, box_left, box_top, box_left + box_width, box_top - box_height); s_page_append (toplevel, toplevel->page_current, new_obj); #if DEBUG printf("coords: %d %d %d %d\n", box_left, box_top, box_width, box_height); #endif w_current->first_wx = (-1); w_current->first_wy = (-1); w_current->second_wx = (-1); w_current->second_wy = (-1); /* Call add-objects-hook */ g_run_hook_object (w_current, "%add-objects-hook", new_obj); toplevel->page_current->CHANGED = 1; o_undo_savestate(w_current, UNDO_ALL); } /*! \brief Draw temporary box while dragging edge. * \par Function Description * This function is used to draw the box while dragging one of its edge or * angle. It erases the previous temporary box drawn before, and draws a new * updated one. w_x and w_y are the new position of the mobile point, * ie the mouse. * * The old values are inside the w_current pointed structure. Old width, * height and left and top values are recomputed by the corresponding macros. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] w_x Current x coordinate of pointer in world units. * \param [in] w_y Current y coordinate of pointer in world units. */ void o_box_motion (GSCHEM_TOPLEVEL *w_current, int w_x, int w_y) { g_assert( w_current->inside_action != 0 ); /* erase the previous temporary box if it is visible */ if (w_current->rubber_visible) o_box_invalidate_rubber (w_current); /* * New values are fixed according to the w_x and w_y parameters. * These are saved in w_current pointed structure as new temporary * values. The new box is then drawn. */ /* update the coords of the corner */ w_current->second_wx = w_x; w_current->second_wy = w_y; /* draw the new temporary box */ o_box_invalidate_rubber (w_current); w_current->rubber_visible = 1; } /*! \brief Draw box from GSCHEM_TOPLEVEL object. * \par Function Description * This function draws the box from the variables in the GSCHEM_TOPLEVEL * structure *w_current. * One corner of the box is at (w_current->first_wx, * w_current->first_wy) and the second corner is at * (w_current->second_wx,w_current->second_wy. * * \param [in] w_current The GSCHEM_TOPLEVEL object. */ void o_box_draw_rubber (GSCHEM_TOPLEVEL *w_current) { gschem_cairo_box (w_current, 0, w_current->first_wx, w_current->first_wy, w_current->second_wx, w_current->second_wy); gschem_cairo_set_source_color (w_current, x_color_lookup_dark (SELECT_COLOR)); gschem_cairo_stroke (w_current, TYPE_SOLID, END_NONE, 0, -1, -1); } /*! \brief Draw grip marks on box. * \par Function Description * This function draws four grips on the corners of the box described * by *o_current. * * \param [in] w_current The GSCHEM_TOPLEVEL object. * \param [in] o_current Box OBJECT to draw grip points on. */ void o_box_draw_grips(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current) { if (w_current->draw_grips == FALSE) return; /* grip on upper left corner (whichone = BOX_UPPER_LEFT) */ o_grips_draw (w_current, o_current->box->upper_x, o_current->box->upper_y); /* grip on upper right corner (whichone = BOX_UPPER_RIGHT) */ o_grips_draw (w_current, o_current->box->lower_x, o_current->box->upper_y); /* grip on lower left corner (whichone = BOX_LOWER_LEFT) */ o_grips_draw (w_current, o_current->box->upper_x, o_current->box->lower_y); /* grip on lower right corner (whichone = BOX_LOWER_RIGHT) */ o_grips_draw (w_current, o_current->box->lower_x, o_current->box->lower_y); } geda-gaf-1.8.2/gschem/src/o_cue.c0000664000175000017500000002106212220647257013403 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #include /* For M_PI */ #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_cue_redraw_all (GSCHEM_TOPLEVEL *w_current, GList *list, gboolean draw_selected) { OBJECT *o_current; GList *iter; iter = list; while (iter != NULL) { o_current = (OBJECT *)iter->data; switch(o_current->type) { case(OBJ_NET): case(OBJ_BUS): case(OBJ_PIN): if (!(o_current->dont_redraw || (o_current->selected && !draw_selected))) { o_cue_draw_single(w_current, o_current); if (o_current->selected && w_current->draw_grips) { o_line_draw_grips (w_current, o_current); } } break; case(OBJ_COMPLEX): case(OBJ_PLACEHOLDER): if (!(o_current->dont_redraw || (o_current->selected && !draw_selected))) { o_cue_redraw_all(w_current, o_current->complex->prim_objs, draw_selected); } break; } iter = g_list_next (iter); } } /*! * \brief Set the color on the gc depending on the passed in color id */ static void o_cue_set_color(GSCHEM_TOPLEVEL *w_current, int color) { if (w_current->toplevel->override_color != -1 ) { gschem_cairo_set_source_color (w_current, x_color_lookup (w_current->toplevel->override_color)); } else { gschem_cairo_set_source_color (w_current, x_color_lookup (color)); } } /*! \brief Draws a circular junction cue * * \par Function Description * Draws a cue at the given world coordinate, picking the size based * on whether a bus forms a part of the connection. * * The cue's drawn position is hinted to align with the widht a net or * bus would be drawn on screen. This helps to keep the cue looking * central when lines being hinted onto the pixel grid. * * \param [in] w_current The GSCHEM_TOPLEVEL object * \param [in] x The X coordinate of the cue (world units) * \param [in] y The Y coordinate of the cue (world units) * \param [in] bus_involved If a bus forms part of the connection (TRUE/FALSE) */ static void draw_junction_cue (GSCHEM_TOPLEVEL *w_current, int x, int y, int bus_involved) { int size; int line_width; if (bus_involved) { size = JUNCTION_CUE_SIZE_BUS / 2; line_width = BUS_WIDTH; } else { size = JUNCTION_CUE_SIZE_NET / 2; line_width = NET_WIDTH; } gschem_cairo_center_arc (w_current, line_width, -1, x, y, size, 0, 360); o_cue_set_color (w_current, JUNCTION_COLOR); cairo_fill (w_current->cr); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_cue_draw_lowlevel(GSCHEM_TOPLEVEL *w_current, OBJECT *object, int whichone) { int x, y; GList *cl_current; CONN *conn; int type, count = 0; int done = FALSE; int size; int bus_involved = FALSE; g_return_if_fail (whichone == 0 || whichone == 1); x = object->line->x[whichone]; y = object->line->y[whichone]; type = CONN_ENDPOINT; if (object->type == OBJ_BUS || (object->type == OBJ_PIN && object->pin_type == PIN_TYPE_BUS)) bus_involved = TRUE; cl_current = object->conn_list; while (cl_current != NULL && !done) { conn = (CONN *) cl_current->data; if (conn->x == x && conn->y == y) { if (conn->other_object && (conn->other_object->type == OBJ_BUS || (conn->other_object->type == OBJ_PIN && conn->other_object->pin_type == PIN_TYPE_BUS))) bus_involved=TRUE; switch(conn->type) { case(CONN_ENDPOINT): count++; break; case(CONN_MIDPOINT): type = CONN_MIDPOINT; done = TRUE; count = 0; break; } } cl_current = g_list_next(cl_current); } #if DEBUG printf("type: %d count: %d\n", type, count); #endif switch(type) { case(CONN_ENDPOINT): if (object->type == OBJ_NET || object->type == OBJ_PIN) { if (count < 1) { /* Didn't find anything connected directly there */ if ((object->type == OBJ_NET) && o_net_is_fully_connected (w_current->toplevel, object)) { /* Probably connected, so draw friendly arrow */ /* Here we compute a transformation so that the arrow is aligned with the net segment. FIXME This probably isn't efficient, unfortunately. */ cairo_save (w_current->cr); int s_x, s_y; WORLDtoSCREEN (w_current, x, y, &s_x, &s_y); double s_size = SCREENabs (w_current, CUE_BOX_SIZE); cairo_matrix_t mtx; double dx = object->line->x[whichone] - object->line->x[!whichone]; double dy = object->line->y[whichone] - object->line->y[!whichone]; double len = hypot (dx, dy); if (len != 0) { dx /= len; dy /= len; cairo_matrix_init (&mtx, dx, -dy, dy, dx, s_x, s_y); } else { cairo_matrix_init_translate (&mtx, s_x, s_y); } cairo_transform (w_current->cr, &mtx); cairo_move_to (w_current->cr, -s_size, -s_size); cairo_line_to (w_current->cr, -s_size, s_size); cairo_line_to (w_current->cr, s_size, 0); cairo_close_path (w_current->cr); o_cue_set_color (w_current, JUNCTION_COLOR); cairo_fill (w_current->cr); cairo_restore (w_current->cr); } else { /* Not properly connected, so draw warning box */ size = CUE_BOX_SIZE; gschem_cairo_center_box (w_current, -1, -1, x, y, size, size); o_cue_set_color (w_current, NET_ENDPOINT_COLOR); cairo_fill (w_current->cr); } } else if (count >= 2) { draw_junction_cue (w_current, x, y, bus_involved); } } break; case(CONN_MIDPOINT): draw_junction_cue (w_current, x, y, bus_involved); break; /* here is where you draw bus rippers */ } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_cue_draw_lowlevel_midpoints(GSCHEM_TOPLEVEL *w_current, OBJECT *object) { GList *iter; int bus_involved; for (iter = object->conn_list; iter != NULL; iter = g_list_next (iter)) { CONN *conn = iter->data; if (conn->type == CONN_MIDPOINT) { bus_involved = (object->type == OBJ_BUS || (conn->other_object && conn->other_object->type == OBJ_BUS)); draw_junction_cue (w_current, conn->x, conn->y, bus_involved); } } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_cue_draw_single(GSCHEM_TOPLEVEL *w_current, OBJECT *object) { if (!object) { return; } if (object->type != OBJ_NET && object->type != OBJ_PIN && object->type != OBJ_BUS) { return; } if (object->type != OBJ_PIN) { o_cue_draw_lowlevel(w_current, object, 0); o_cue_draw_lowlevel(w_current, object, 1); o_cue_draw_lowlevel_midpoints(w_current, object); } else { o_cue_draw_lowlevel(w_current, object, object->whichend); } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_cue_draw_list(GSCHEM_TOPLEVEL *w_current, GList *object_list) { OBJECT *object; GList *ol_current; ol_current = object_list; while(ol_current != NULL) { object = (OBJECT *) ol_current->data; o_cue_draw_single(w_current, object); ol_current = g_list_next(ol_current); } } geda-gaf-1.8.2/gschem/src/o_buffer.c0000664000175000017500000001054712213145633014077 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include "gschem.h" #ifdef HAVE_LIBDMALLOC #include #endif static void selection_to_buffer(GSCHEM_TOPLEVEL *w_current, int buf_num) { TOPLEVEL *toplevel = w_current->toplevel; GList *s_current = NULL; s_current = geda_list_get_glist( toplevel->page_current->selection_list ); if (object_buffer[buf_num] != NULL) { s_delete_object_glist(toplevel, object_buffer[buf_num]); object_buffer[buf_num] = NULL; } object_buffer[buf_num] = o_glist_copy_all (toplevel, s_current, object_buffer[buf_num]); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_buffer_copy(GSCHEM_TOPLEVEL *w_current, int buf_num) { if (buf_num < 0 || buf_num >= MAX_BUFFERS) { g_warning (_("o_buffer_copy: Invalid buffer %i\n"), buf_num); return; } selection_to_buffer (w_current, buf_num); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_buffer_cut(GSCHEM_TOPLEVEL *w_current, int buf_num) { if (buf_num < 0 || buf_num >= MAX_BUFFERS) { g_warning (_("o_buffer_cut: Invalid buffer %i\n"), buf_num); return; } selection_to_buffer (w_current, buf_num); o_delete_selected(w_current); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_buffer_paste_start(GSCHEM_TOPLEVEL *w_current, int w_x, int w_y, int buf_num) { TOPLEVEL *toplevel = w_current->toplevel; int rleft, rtop, rbottom, rright; int x, y; if (buf_num < 0 || buf_num >= MAX_BUFFERS) { fprintf(stderr, _("Got an invalid buffer_number [o_buffer_paste_start]\n")); return; } w_current->last_drawb_mode = LAST_DRAWB_MODE_NONE; /* remove the old place list if it exists */ s_delete_object_glist(toplevel, toplevel->page_current->place_list); toplevel->page_current->place_list = NULL; toplevel->page_current->place_list = o_glist_copy_all (toplevel, object_buffer[buf_num], toplevel->page_current->place_list); if (!world_get_object_glist_bounds (toplevel, toplevel->page_current->place_list, &rleft, &rtop, &rright, &rbottom)) { /* If the place buffer doesn't have any objects * to define its any bounds, we drop out here */ return; } /* Place the objects into the buffer at the mouse origin, (w_x, w_y). */ w_current->first_wx = w_x; w_current->first_wy = w_y; /* snap x and y to the grid, pointed out by Martin Benes */ x = snap_grid (w_current, rleft); y = snap_grid (w_current, rtop); o_glist_translate_world (toplevel, w_x - x, w_y - y, toplevel->page_current->place_list); w_current->inside_action = 1; i_set_state(w_current, ENDPASTE); o_place_start (w_current, w_x, w_y); } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_buffer_init(void) { int i; for (i = 0 ; i < MAX_BUFFERS; i++) { object_buffer[i] = NULL; } } /*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void o_buffer_free(GSCHEM_TOPLEVEL *w_current) { TOPLEVEL *toplevel = w_current->toplevel; int i; for (i = 0 ; i < MAX_BUFFERS; i++) { if (object_buffer[i]) { s_delete_object_glist(toplevel, object_buffer[i]); object_buffer[i] = NULL; } } } geda-gaf-1.8.2/gschem/include/0000775000175000017500000000000012220655752013057 500000000000000geda-gaf-1.8.2/gschem/include/x_pagesel.h0000664000175000017500000000304712204066537015122 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02111-1301 USA. */ typedef enum { PAGESEL_RESPONSE_CLOSE = 1, PAGESEL_RESPONSE_UPDATE = 2 } PageselResponseType; #define TYPE_PAGESEL (pagesel_get_type()) #define PAGESEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGESEL, Pagesel)) #define PAGESEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGESEL, PageselClass)) #define IS_PAGESEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGESEL)) typedef struct _PageselClass PageselClass; typedef struct _Pagesel Pagesel; struct _PageselClass { GschemDialogClass parent_class; }; struct _Pagesel { GschemDialog parent_instance; GtkTreeView *treeview; }; GType pagesel_get_type (void); void pagesel_update (Pagesel *pagesel); geda-gaf-1.8.2/gschem/include/x_states.h0000664000175000017500000000403412220647257015004 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 of * the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef X_STATES_H #define X_STATES_H #undef NONE /* NOTE: when adding states, also update i_status_string() function */ enum x_states { NONE, /* 0 */ SELECT, /* 1 */ DRAWLINE, /* 2 */ DRAWBOX, /* 3 */ MOVE, /* 4 */ COPY, /* 5 */ DRAWCIRCLE, /* 6 */ ZOOM, /* 7 */ PAN, /* 8 */ DRAWNET, /* 9 */ NETCONT, /* 10 */ DRAWPIN, /* 11 */ DRAWARC, /* 12 */ STARTDRAWNET, /* 13 */ DRAWCOMP, /* 14 */ SBOX, /* 15 */ STARTPAN, /* 16 */ STARTSELECT, /* 17 */ STARTCOPY, /* 18 */ STARTMOVE, /* 19 */ ENDCOPY, /* 20 */ ENDMOVE, /* 21 */ ENDLINE, /* 22 */ ENDBOX, /* 23 */ ENDCIRCLE, /* 24 */ ENDARC, /* 25 */ ENDPIN, /* 26 */ ENDCOMP, /* 27 */ DRAWTEXT, /* 28 */ ENDTEXT, /* 29 */ ENDROTATEP, /* 30 */ ENDMIRROR, /* 31 */ ZOOMBOXSTART, /* 32 */ ZOOMBOXEND, /* 33 */ STARTROUTENET, /* 34 */ ENDROUTENET, /* 35 */ MOUSEPAN, /* 36 */ DRAWBUS, /* 37 */ BUSCONT, /* 38 */ STARTDRAWBUS, /* 39 */ STARTPASTE, /* 40 */ ENDPASTE, /* 41 */ GRIPS, /* 42 */ DRAWPICTURE, /* 43 */ ENDPICTURE, /* 44 */ MCOPY, /* 45 */ STARTMCOPY, /* 46 */ ENDMCOPY /* 47 */ }; #endif geda-gaf-1.8.2/gschem/include/gschem_pango.h0000664000175000017500000000641412063576065015613 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 2008-2010 gEDA Contributors (see ChangeLog for details) * Copyright (C) 2000 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * This file based on GDK's gdkpango.h (LGPL V2+) * Copyright (C) 2000 Red Hat, Inc. */ #ifndef __GSCHEM_PANGO_H__ #define __GSCHEM_PANGO_H__ G_BEGIN_DECLS /* Pango interaction */ typedef struct _GschemPangoRenderer GschemPangoRenderer; typedef struct _GschemPangoRendererClass GschemPangoRendererClass; typedef struct _GschemPangoRendererPrivate GschemPangoRendererPrivate; #define GSCHEM_TYPE_PANGO_RENDERER (gschem_pango_renderer_get_type()) #define GSCHEM_PANGO_RENDERER(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GSCHEM_TYPE_PANGO_RENDERER, GschemPangoRenderer)) #define GSCHEM_IS_PANGO_RENDERER(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GSCHEM_TYPE_PANGO_RENDERER)) #define GSCHEM_PANGO_RENDERER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GSCHEM_TYPE_PANGO_RENDERER, GschemPangoRendererClass)) #define GSCHEM_IS_PANGO_RENDERER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GSCHEM_TYPE_PANGO_RENDERER)) #define GSCHEM_PANGO_RENDERER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GSCHEM_TYPE_PANGO_RENDERER, GschemPangoRendererClass)) /** * GschemPangoRenderer: * * #GschemPangoRenderer is a subclass of #PangoRenderer used for rendering * text of gschem TEXT objects. * * Pango functions like pango_renderer_draw_layout() and * pango_renderer_draw_layout_line() are then used to draw objects with * the renderer. **/ struct _GschemPangoRenderer { /*< private >*/ PangoRenderer parent_instance; GschemPangoRendererPrivate *priv; }; struct _GschemPangoRendererClass { /*< private >*/ PangoRendererClass parent_class; }; GType gschem_pango_renderer_get_type (void) G_GNUC_CONST; PangoRenderer *gschem_pango_renderer_new (cairo_t *cr); void gschem_pango_show_layout (cairo_t *cr, PangoLayout *pl); void gschem_pango_renderer_set_overbar (GschemPangoRenderer *gdk_renderer, gboolean overbar); /************************************************************************/ /* Attributes use to render text with overbars */ typedef struct _GschemPangoAttrOverbar GschemPangoAttrOverbar; struct _GschemPangoAttrOverbar { PangoAttribute attr; gboolean overbar; }; PangoAttribute *gschem_pango_attr_overbar_new (gboolean overbar); G_END_DECLS #endif /* __GSCHEM_PANGO_H__ */ geda-gaf-1.8.2/gschem/include/i_vars.h0000664000175000017500000000552712220647257014445 00000000000000 extern int default_text_size; extern int default_text_caps; extern gchar *default_print_command; extern int default_override_net_color; extern int default_override_bus_color; extern int default_override_pin_color; extern int default_net_endpoint_mode; extern int default_net_midpoint_mode; extern int default_net_direction_mode; extern int default_net_selection_mode; extern int default_line_style; extern int default_pin_style; extern int default_net_style; extern int default_bus_style; extern int default_background_color; extern int default_zoom_with_pan; extern int default_actionfeedback_mode; extern int default_text_feedback; extern int default_text_display_zoomfactor; extern int default_object_clipping; extern int default_do_logging; extern int default_logging_dest; extern int default_embed_complex; extern int default_include_complex; extern int default_snap_size; extern int default_paper_width; extern int default_paper_height; extern int default_init_right; extern int default_init_bottom; extern int default_scrollbars_flag; extern int default_print_output_type; extern int default_print_orientation; extern int default_print_color; extern int default_print_color_background; extern int default_print_output_capstyle; extern int default_image_color; extern int default_image_width; extern int default_image_height; extern int default_width; extern int default_height; extern int default_log_window; extern int default_log_window_type; extern int default_third_button; extern int default_middle_button; extern int default_scroll_wheel; extern int default_net_consolidate; extern int default_file_preview; extern int default_enforce_hierarchy; extern int default_text_origin_marker; extern int default_fast_mousepan; extern int default_raise_dialog_boxes; extern int default_continue_component_place; extern GList *default_component_select_attrlist; extern int default_undo_levels; extern int default_undo_control; extern int default_undo_type; extern int default_undo_panzoom; extern int default_draw_grips; extern int default_netconn_rubberband; extern int default_magnetic_net_mode; extern int default_sort_component_library; extern int default_warp_cursor; extern int default_toolbars; extern int default_handleboxes; extern int default_setpagedevice_orientation; extern int default_setpagedevice_pagesize; extern int default_bus_ripper_size; extern int default_bus_ripper_type; extern int default_bus_ripper_rotation; extern int default_force_boundingbox; extern int default_dots_grid_dot_size; extern int default_dots_grid_mode; extern int default_dots_grid_fixed_threshold; extern int default_mesh_grid_display_threshold; extern int default_add_attribute_offset; extern int default_auto_save_interval; extern int default_mousepan_gain; extern int default_keyboardpan_gain; extern int default_select_slack_pixels; extern int default_zoom_gain; extern int default_scrollpan_steps; geda-gaf-1.8.2/gschem/include/gschem_action.h0000664000175000017500000000413412204066537015754 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales V. Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02111-1301 USA. */ #ifndef __GSCHEM_ACTION_H__ #define __GSCHEM_ACTION_H__ #define GSCHEM_TYPE_ACTION (gschem_action_get_type()) #define GSCHEM_ACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GSCHEM_TYPE_ACTION, GschemAction)) #define GSCHEM_ACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GSCHEM_TYPE_ACTION, GschemActionClass)) #define GSCHEM_IS_ACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GSCHEM_TYPE_ACTION)) #define GSCHEM_ACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GSCHEM_TYPE_ACTION, GschemActionClass)) typedef struct _GschemActionClass GschemActionClass; typedef struct _GschemAction GschemAction; struct _GschemActionClass { GtkActionClass parent_class; }; struct _GschemAction { GtkAction parent_instance; gchar *multikey_accel; }; GType gschem_action_get_type (void); GschemAction *gschem_action_new (const gchar *name, const gchar *label, const gchar *tooltip, const gchar *stock_id, const gchar *multikey_accel); #endif /* __GSCHEM_ACTION_H__ */ geda-gaf-1.8.2/gschem/include/Makefile.am0000664000175000017500000000101712220647257015033 00000000000000## $Id$ ## ## Process this file with automake to produce Makefile.in noinst_HEADERS = \ globals.h i_vars.h prototype.h x_dialog.h x_states.h \ gettext.h \ x_compselect.h \ x_log.h x_multiattrib.h x_pagesel.h x_print.h x_preview.h \ gschem.h \ gschem_accel_label.h \ gschem_action.h \ gschem_defines.h \ gschem_dialog.h \ gschem_pango.h \ gschem_struct.h MOSTLYCLEANFILES = *.log core FILE *~ CLEANFILES = *.log core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in geda-gaf-1.8.2/gschem/include/x_print.h0000664000175000017500000000325212220647257014636 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02111-1301 USA. */ #ifndef __X_PRINT_H__ #define __X_PRINT_H__ /* * PrintDialog class */ #define TYPE_PRINT_DIALOG (print_dialog_get_type()) #define PRINT_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PRINT_DIALOG, PrintDialog)) #define PRINT_DIALOG_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), TYPE_PRINT_DIALOG)) #define IS_PRINT_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PRINT_DIALOG)) typedef struct _PrintDialogClass PrintDialogClass; typedef struct _PrintDialog PrintDialog; struct _PrintDialogClass { GschemDialogClass parent_class; }; struct _PrintDialog { GschemDialog parent_instance; GtkEntry *fnfield, *cmdfield; GtkRadioButton *fileradio, *cmdradio; GtkButton *saveasbutton; GtkComboBox *orientcbox, *typecbox, *papercbox; }; GType print_dialog_get_type (); #endif /* !__X_PRINT_H__ */ geda-gaf-1.8.2/gschem/include/x_multiattrib.h0000664000175000017500000000722312210655251016034 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02111-1301 USA. */ #ifndef __X_MULTIATTRIB_H__ #define __X_MULTIATTRIB_H__ /* * Multiattrib */ #define TYPE_MULTIATTRIB (multiattrib_get_type()) #define MULTIATTRIB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MULTIATTRIB, Multiattrib)) #define MULTIATTRIB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MULTIATTRIB, MultiattribClass)) #define IS_MULTIATTRIB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MULTIATTRIB)) typedef struct _MultiattribClass MultiattribClass; typedef struct _Multiattrib Multiattrib; struct _MultiattribClass { GschemDialogClass parent_class; }; struct _Multiattrib { GschemDialog parent_instance; OBJECT *object; GtkTreeView *treeview; GtkWidget *show_inherited; GtkCombo *combo_name; GtkTextView *textview_value; GtkCheckButton *button_visible; GtkOptionMenu *optionmenu_shownv; GtkWidget *frame_attributes; GtkWidget *frame_add; GdkColor value_normal_text_color; /* Workaround for lameness in GtkTextView */ GdkColor insensitive_text_color; }; GType multiattrib_get_type (void); void multiattrib_update (Multiattrib *multiattrib); /* * CellTextView */ #define TYPE_CELL_TEXT_VIEW (celltextview_get_type()) #define CELL_TEXT_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CELL_TEXT_VIEW, CellTextView)) #define CELL_TEXT_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CELL_TEXT_VIEW, CellTextViewClass)) #define IS_CELL_TEXT_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CELL_TEXT_VIEW)) typedef struct _CellTextViewClass CellTextViewClass; typedef struct _CellTextView CellTextView; struct _CellTextViewClass { GtkTextViewClass parent_class; }; struct _CellTextView { GtkTextView parent_instance; gboolean editing_canceled; }; GType celltextview_get_type (void); /* * CellRendererMultiLineText */ #define TYPE_CELL_RENDERER_MULTI_LINE_TEXT (cellrenderermultilinetext_get_type()) #define CELL_RENDERER_MULTI_LINE_TEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CELL_RENDERER_MULTI_LINE_TEXT, CellRendererMultiLineText)) #define CELL_RENDERER_MULTI_LINE_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CELL_RENDERER_MULTI_LINE_TEXT, CellRendererMultiLineText)) #define IS_CELL_RENDERER_MULTI_LINE_TEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CELL_RENDERER_MULTI_LINE_TEXT)) typedef struct _CellRendererMultiLineTextClass CellRendererMultiLineTextClass; typedef struct _CellRendererMultiLineText CellRendererMultiLineText; struct _CellRendererMultiLineTextClass { GtkCellRendererTextClass parent_class; }; struct _CellRendererMultiLineText { GtkCellRendererText parent_instance; /*< private >*/ guint focus_out_id; }; GType cellrenderermultilinetext_get_type (void); #endif /* __X_MULTIATTRIB_H__ */ geda-gaf-1.8.2/gschem/include/gschem_defines.h0000664000175000017500000000664512220647257016127 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02111-1301 USA. */ #ifndef _GSCHEM_DEFINES_H_INCL #define _GSCHEM_DEFINES_H_INCL #define ZOOM_OUT 0 #define ZOOM_IN 1 #define ZOOM_FULL 2 /* For grip size */ #define GRIP_SIZE1 25 #define GRIP_SIZE2 50 #define GRIP_SIZE3 80 #define SMALL_ZOOMFACTOR1 150 #define SMALL_ZOOMFACTOR2 30 #define MAXIMUM_GRIP_PIXELS 30 /* for bus_ripper_type */ #define COMP_BUS_RIPPER 0 #define NET_BUS_RIPPER 1 /* for bus_ripper_rotation */ #define SYMMETRIC 0 #define NON_SYMMETRIC 1 #define FREE 1 #define CONSTRAINED 2 /* for attrib_edit_dialog invocation flag */ #define FROM_MENU 0 #define FROM_HOTKEY 1 /* for text cap style */ #define LOWER 0 #define UPPER 1 #define BOTH 2 /* These modes are for net_endpoint_mode */ #define NONE 0 #define FILLEDBOX 1 #define EMPTYBOX 2 #define X 3 /* These modes are for net_midpoint_mode */ /* NONE also applies here */ #define FILLED 3 #define EMPTY 4 /* These modes are for actionfeedback_mode */ /* there's a hack in i_keypress.c dealing with the 0 and 1 (has to be these */ /* values */ #define OUTLINE 0 #define BOUNDINGBOX 1 /* This is an additional mode for last_drawb_mode, to indicate there was no * last bounding box drawn. last_drawb_mode also takes actionfeedback_mode * constants, so be sure not to clash with those */ #define LAST_DRAWB_MODE_NONE -1 /* there are modes for text-feedback */ #define ONLY_WHEN_READABLE 0 #define ALWAYS 1 /* used in o_undo_callback */ #define UNDO_ACTION 0 #define REDO_ACTION 1 /* used for undo_type */ #define UNDO_DISK 0 #define UNDO_MEMORY 1 /* selection types */ /* used in o_select_object */ #define SINGLE 0 #define MULTIPLE 1 /* for grid */ #define GRID_NONE 0 #define GRID_DOTS 1 #define GRID_MESH 2 /* for dots_grid_mode */ #define DOTS_GRID_VARIABLE_MODE 0 #define DOTS_GRID_FIXED_MODE 1 /* for log-window keyword */ #define MAP_LATER 0 #define MAP_ON_STARTUP 1 /* for log-window-type */ #define DECORATED 0 #define TRANSIENT 1 /* for third-mouse */ #define POPUP_ENABLED 0 #define MOUSEPAN_ENABLED 1 /* for middle-mouse */ #define STROKE 0 #define REPEAT 1 #define ACTION 2 #define MID_MOUSEPAN_ENABLED 3 /* for scroll-wheel */ #define SCROLL_WHEEL_CLASSIC 0 #define SCROLL_WHEEL_GTK 1 /* for selected_from */ #define DONTCARE 0 #define MENU 1 #define HOTKEY 2 /* for a_pan_general and a_zoom */ #define A_PAN_IGNORE_BORDERS 1 #define A_PAN_DONT_REDRAW 2 #endif /* !_GSCHEM_DEFINES_H_INCL */ geda-gaf-1.8.2/gschem/include/x_preview.h0000664000175000017500000000311412204066537015156 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02111-1301 USA. */ #ifndef __X_PREVIEW_H__ #define __X_PREVIEW_H__ /* * Preview */ #define TYPE_PREVIEW (preview_get_type()) #define PREVIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PREVIEW, Preview)) #define PREVIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PREVIEW, PreviewClass)) #define IS_PREVIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PREVIEW)) typedef struct _PreviewClass PreviewClass; typedef struct _Preview Preview; struct _PreviewClass { GtkDrawingAreaClass parent_class; }; struct _Preview { GtkDrawingArea parent_instance; GSCHEM_TOPLEVEL *preview_w_current; gchar *filename; gchar *buffer; gboolean active; }; GType preview_get_type (void); #endif /* __X_PREVIEW_H__ */ geda-gaf-1.8.2/gschem/include/globals.h0000664000175000017500000000411112204177070014562 00000000000000/* -*- geda-c -*- * gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2011 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef H_GSCHEM_GLOBALS_H #define H_GSCHEM_GLOBALS_H /* window list */ extern GList *global_window_list; /* Manager for recently used files */ GtkRecentManager *recent_manager; /* colors */ extern GdkColor white; extern GdkColor black; extern char *rc_filename; extern char *output_filename; extern int do_logging; extern int logging_dest; /* command line options */ extern int quiet_mode; extern int verbose_mode; extern int auto_place_mode; #define MAX_BUFFERS 5 /* Global buffers */ extern GList *object_buffer[MAX_BUFFERS]; /* Hooks */ extern SCM complex_place_list_changed_hook; #include "gettext.h" #ifdef ENABLE_NLS # ifdef gettext_noop # define N_(String) gettext_noop (String) # else # define N_(String) (String) # endif #else # define N_(String) (String) #endif /* * __attribute__((unused)) is a gcc extension so define * a portable macro, ATTRIBUTE_UNUSED, to use instead */ #ifndef GCC_VERSION #define GCC_VERSION (__GNUC__ * 1000 + __GNUC_MINOR__) #endif /* GCC_VERSION */ #if GCC_VERSION > 2007 #define ATTRIBUTE_UNUSED __attribute__((unused)) #else #define ATTRIBUTE_UNUSED #endif /*EK* used by prototype.h */ #include "../include/x_states.h" #endif geda-gaf-1.8.2/gschem/include/gschem_dialog.h0000664000175000017500000000444512220647257015745 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02111-1301 USA. */ #ifndef __GSCHEM_DIALOG_H__ #define __GSCHEM_DIALOG_H__ #define GSCHEM_TYPE_DIALOG (gschem_dialog_get_type()) #define GSCHEM_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GSCHEM_TYPE_DIALOG, GschemDialog)) #define GSCHEM_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GSCHEM_TYPE_DIALOG, GschemDialogClass)) #define GSCHEM_IS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GSCHEM_TYPE_DIALOG)) #define GSCHEM_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GSCHEM_TYPE_DIALOG, GschemDialogClass)) typedef struct _GschemDialogClass GschemDialogClass; typedef struct _GschemDialog GschemDialog; struct _GschemDialogClass { GtkDialogClass parent_class; void (*geometry_save) (GschemDialog *dialog, GKeyFile *key_file, gchar *group_name); void (*geometry_restore) (GschemDialog *dialog, GKeyFile *key_file, gchar *group_name); }; struct _GschemDialog { GtkDialog parent_instance; gchar *settings_name; GSCHEM_TOPLEVEL *w_current; }; GType gschem_dialog_get_type (void); GtkWidget* gschem_dialog_new_with_buttons (const gchar *title, GtkWindow *parent, GtkDialogFlags flags, const gchar *settings_name, GSCHEM_TOPLEVEL *w_current, const gchar *first_button_text, ...); #endif /* __GSCHEM_DIALOG_H__ */ geda-gaf-1.8.2/gschem/include/gschem_struct.h0000664000175000017500000002315212220647257016026 00000000000000/*! \brief different kind of snapping mechanisms used in TOPLEVEL */ typedef enum {SNAP_OFF, SNAP_GRID, SNAP_RESNAP, SNAP_STATE_COUNT} SNAP_STATE; typedef struct st_gschem_toplevel GSCHEM_TOPLEVEL; typedef struct st_stretch STRETCH; struct st_gschem_toplevel { TOPLEVEL *toplevel; /* ------------------- */ /* main window widgets */ /* ------------------- */ GtkWidget *main_window; GtkWidget *drawing_area; GtkWidget *menubar; GtkWidget *popup_menu; GtkWidget *h_scrollbar; GtkWidget *v_scrollbar; GtkAdjustment *h_adjustment; GtkAdjustment *v_adjustment; GtkWidget *macro_box; GtkWidget *macro_entry; GtkWidget *left_label; GtkWidget *middle_label; GtkWidget *right_label; GtkWidget *grid_label; GtkWidget *status_label; GtkWidget *toolbar_select; GtkWidget *toolbar_net; GtkWidget *toolbar_bus; gchar *keyaccel_string; /* visual feedback when pressing keyboard accelerators */ gboolean keyaccel_string_source_id; /* event source ID used by above */ /* ------------ */ /* Dialog boxes */ /* ------------ */ GtkWidget *sowindow; /* Script open */ GtkWidget *pfswindow; /* Picture File Selection window */ GtkWidget *cswindow; /* component select */ GtkWidget *iwindow; /* image write dialog box */ GtkWidget *pswindow; /* page select */ GtkWidget *tiwindow; /* text input */ GtkWidget *tewindow; /* text edit */ GtkWidget *sewindow; /* slot edit */ GtkWidget *aawindow; /* arc attribs */ GtkWidget *mawindow; /* multi attribute */ GtkWidget *aewindow; /* attribute edit */ GtkWidget *trwindow; /* translate */ GtkWidget *tswindow; /* text size */ GtkWidget *tshowwindow; /* text show window */ GtkWidget *thidewindow; /* text hide window */ GtkWidget *tfindwindow; /* text find window */ GtkWidget *hkwindow; /* Help/Hotkeys... dialog*/ GtkWidget *clwindow; /* Color edit dialog */ int edit_color; /* Used by the color edit dialog */ GtkWidget *cowindow; /* Coordinate window */ GtkWidget *coord_world; /* World coordinate label */ GtkWidget *coord_screen; /* Screen coordinate window */ /* ----------------- */ /* Picture placement */ /* ----------------- */ GdkPixbuf *current_pixbuf; /* used by add picture dialog */ double pixbuf_wh_ratio; /* width/height ratio of the pixbuf */ char *pixbuf_filename; /* ---------------- */ /* graphics context */ /* ---------------- */ GdkGC *gc; /* ---------------- */ /* Drawing surfaces */ /* ---------------- */ GdkWindow *window; /* drawing_area's X drawable */ GdkPixmap *drawable; /* drawable to paint onto */ cairo_t *cr; /* Cairo surface */ PangoLayout *pl; /* Pango layout */ int win_width, win_height; /* Actual size of window (?) */ /* ------------- */ /* Drawing state */ /* ------------- */ int first_wx; int first_wy; int second_wx; int second_wy; int third_wx; int third_wy; int magnetic_wx, magnetic_wy; /* Position of the magnetic marker*/ int distance; int inside_action; /* Are we doing an action? */ int rubber_visible; /* Are there any rubber lines on the screen? */ int net_direction; /* bit field to guess the best net direction */ int which_grip; /* Which grip is being manipulated. Its range of values depends on the type of object being manipulated. */ OBJECT *which_object; /* Object being manipulated */ /* ------------------ */ /* Rubberbanding nets */ /* ------------------ */ GList *stretch_list; /* --------------------- */ /* Gschem internal state */ /* --------------------- */ int num_untitled; /* keep track of untitled wins */ int event_state; /* Current event state */ int image_width, image_height; /* h, w of image write */ int grid; /* what type of grid to show */ int min_zoom; /* minimum zoom factor */ int max_zoom; /* maximum zoom factor */ int text_alignment; /* current alignment of text */ int inside_redraw; /* complex vs list redrawing */ int drawbounding_action_mode; /* outline vs bounding box */ int last_drawb_mode; /* last above mode */ int CONTROLKEY; /* control key pressed? */ int SHIFTKEY; /* shift key pressed? */ int ALTKEY; /* alt key pressed? */ int doing_pan; /* mouse pan status flag */ int buffer_number; /* current paste buffer in use */ void (*last_callback)(); /* Last i_call* cmd executed */ GList *clipboard_buffer; /* buffer for system clipboard integration */ /* ------------------ */ /* rc/user parameters */ /* ------------------ */ int text_caps; int text_size; int zoom_with_pan; int actionfeedback_mode; /* can be either OUTLINE or BOUNDINGBOX */ int text_feedback; /* is text is drawn or not in copy/move/place ops */ int text_display_zoomfactor; /* zoom factor at which text is displayed completely */ int net_endpoint_mode; /* can be either NONE, FILLEDBOX, EMPTYBOX, X */ int net_midpoint_mode; /* can be either NONE or FILLED or EMPTY */ int net_direction_mode; /* controls if the net direction mode is used */ int net_selection_mode; /* controls the behaviour when selecting a net */ int net_selection_state; /* current status of the net selecting mode */ int embed_complex; /* controls if complex objects are embedded */ int include_complex; /* controls if complex objects are included */ int scrollbars_flag; /* controls if scrollbars are displayed */ int log_window; /* controls if the log windows mapped on startup */ int log_window_type; /* controls if the log window is decorated or not */ int third_button; /* controls what the third mouse button does */ int middle_button; /* controls what the third mouse button does */ int scroll_wheel; /* controls what the mouse scroll wheel does */ int file_preview; /* controls if the preview area is enabled or not */ int enforce_hierarchy; /* controls how much freedom user has when traversing the hierarchy */ int text_origin_marker; /* controls if text origin marker is displayed or not */ int fast_mousepan; /* controls if text is completely drawn during mouse pan */ int raise_dialog_boxes; /*controls if expose events raise dialog boxes*/ /* controls if after doing a place the same component can be placed again */ int continue_component_place; GList *component_select_attrlist; /* holds a list of attribute names that are displayed in the component select dialog */ int undo_levels; /* number of undo levels stored on disk */ int undo_control; /* sets if undo is enabled or not */ int undo_type; /* type of undo (disk/memory) */ int undo_panzoom; /* sets if pan / zoom info is saved in undo */ int draw_grips; /* sets if grips are enabled or not */ /* sets whether nets rubberband as you move them (or connecting comps) */ int netconn_rubberband; int sort_component_library; /* sort the component library */ int warp_cursor; /* warp the cursor when zooming */ int toolbars; /* sets if the toolbar(s) are enabled or disabled */ int handleboxes; /* sets if the handleboxes are enabled or disabled */ int bus_ripper_size; /* sets size of the bus rippers */ int bus_ripper_type; /* sets type of the bus ripper (component or net) */ int bus_ripper_rotation; /* sets if the the bus ripper is symmetric or not */ int magneticnet_mode; /* enables/disables the magnetic net mode ON/OFF */ SNAP_STATE snap; /* Whether/how to snap to grid */ int snap_size; /* Snap grid parameter */ /* sets the mininum number of pixels necessary for the grid to be */ /* displayed */ int dots_grid_fixed_threshold; int dots_grid_dot_size; /* sets the grid dot size */ int dots_grid_mode; /* sets the mode of the dotted grid (either variable or fixed) */ /* Minimum grid line pitch to display. Applies to major and minor lines. */ int mesh_grid_display_threshold; /* sets the offset (in world coordinates) that are added to netname */ /* attributes when they are attached to vertical or horizontal nets */ int add_attribute_offset; int mousepan_gain; /* Controls the gain of the mouse pan */ int keyboardpan_gain; /* Controls the gain of the keyboard pan */ int select_slack_pixels; /* Number of pixels around an object we can still select it with */ int zoom_gain; /* Percentage increase in size for a zoom-in operation */ int scrollpan_steps; /* Number of scroll pan events required to traverse the viewed area */ char *print_command; /* The command to send postscript to when printing */ SCM smob; /* The Scheme representation of this window */ }; struct st_stretch { OBJECT *object; int whichone; }; geda-gaf-1.8.2/gschem/include/Makefile.in0000664000175000017500000004453112220655724015052 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = gschem/include DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(noinst_HEADERS) ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac HEADERS = $(noinst_HEADERS) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ noinst_HEADERS = \ globals.h i_vars.h prototype.h x_dialog.h x_states.h \ gettext.h \ x_compselect.h \ x_log.h x_multiattrib.h x_pagesel.h x_print.h x_preview.h \ gschem.h \ gschem_accel_label.h \ gschem_action.h \ gschem_defines.h \ gschem_dialog.h \ gschem_pango.h \ gschem_struct.h MOSTLYCLEANFILES = *.log core FILE *~ CLEANFILES = *.log core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gschem/include/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu gschem/include/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(HEADERS) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ clean-libtool cscopelist-am ctags ctags-am distclean \ distclean-generic distclean-libtool distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/gschem/include/x_dialog.h0000664000175000017500000000236612204066537014744 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 2006-2010 Dan McMahill * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02111-1301 USA. */ #ifndef __X_DIALOG_H__ #define __X_DIALOG_H__ /* * Flags for generic_filesel_dialog() */ #define FSB_MAY_EXIST 1 #define FSB_MUST_EXIST 2 #define FSB_SHOULD_NOT_EXIST 4 #define FSB_SAVE 256 #define FSB_LOAD 512 /* * define spacings for dialogs */ #define DIALOG_BORDER_SPACING 5 #define DIALOG_V_SPACING 8 #define DIALOG_H_SPACING 10 #define DIALOG_INDENTATION 10 #endif /* __X_DIALOG_H__ */ geda-gaf-1.8.2/gschem/include/prototype.h0000664000175000017500000013725512220647257015233 00000000000000/* $Id$ */ /* gschem_toplevel.c */ GSCHEM_TOPLEVEL *gschem_toplevel_new(); void gschem_toplevel_alloc_libgeda_toplevel(GSCHEM_TOPLEVEL *w_current); /* a_pan.c */ void a_pan_general(GSCHEM_TOPLEVEL *w_current, double world_cx, double world_cy, double relativ_zoom_factor, int flags); void a_pan(GSCHEM_TOPLEVEL *w_current, int x, int y); void a_pan_mouse(GSCHEM_TOPLEVEL *w_current, int diff_x, int diff_y); /* a_zoom.c */ void a_zoom(GSCHEM_TOPLEVEL *w_current, int dir, int selected_from, int pan_flags); void a_zoom_extents(GSCHEM_TOPLEVEL *w_current, const GList *list, int pan_flags); void a_zoom_box(GSCHEM_TOPLEVEL *w_current, int pan_flags); void a_zoom_box_start(GSCHEM_TOPLEVEL *w_current, int x, int y); void a_zoom_box_end(GSCHEM_TOPLEVEL *w_current, int x, int y); void a_zoom_box_motion(GSCHEM_TOPLEVEL *w_current, int x, int y); void a_zoom_box_invalidate_rubber(GSCHEM_TOPLEVEL *w_current); void a_zoom_box_draw_rubber(GSCHEM_TOPLEVEL *w_current); void correct_aspect(GSCHEM_TOPLEVEL *w_current); /* g_attrib.c */ void g_init_attrib (); /* g_funcs.c */ SCM g_funcs_print(SCM filename); SCM g_funcs_postscript(SCM filename); SCM g_funcs_image(SCM filename); SCM g_funcs_exit(void); SCM g_funcs_log(SCM msg); SCM g_funcs_msg(SCM msg); SCM g_funcs_confirm(SCM msg); SCM g_funcs_filesel(SCM msg, SCM templ, SCM flags); SCM g_funcs_use_rc_values(void); SCM get_selected_component_attributes(GSCHEM_TOPLEVEL *w_current); /* g_hook.c */ void g_init_hook (); void g_run_hook_object (GSCHEM_TOPLEVEL *w_current, const char *name, OBJECT *obj); void g_run_hook_object_list (GSCHEM_TOPLEVEL *w_current, const char *name, GList *obj_lst); void g_run_hook_page (GSCHEM_TOPLEVEL *w_current, const char *name, PAGE *page); /* g_keys.c */ void g_keys_reset (GSCHEM_TOPLEVEL *w_current); int g_keys_execute(GSCHEM_TOPLEVEL *w_current, GdkEventKey *event); GtkListStore *g_keys_to_list_store (void); SCM g_keys_file_new(SCM rest); SCM g_keys_file_new_window(SCM rest); SCM g_keys_file_open(SCM rest); SCM g_keys_file_script(SCM rest); SCM g_keys_file_save(SCM rest); SCM g_keys_file_save_as(SCM rest); SCM g_keys_file_save_all(SCM rest); SCM g_keys_file_print(SCM rest); SCM g_keys_file_write_png(SCM rest); SCM g_keys_file_close(SCM rest); SCM g_keys_file_quit(SCM rest); SCM g_keys_edit_undo(SCM rest); SCM g_keys_edit_redo(SCM rest); SCM g_keys_edit_select(SCM rest); SCM g_keys_edit_select_all(SCM rest); SCM g_keys_edit_deselect(SCM rest); SCM g_keys_edit_copy(SCM rest); SCM g_keys_edit_copy_hotkey(SCM rest); SCM g_keys_edit_mcopy(SCM rest); SCM g_keys_edit_mcopy_hotkey(SCM rest); SCM g_keys_edit_move(SCM rest); SCM g_keys_edit_move_hotkey(SCM rest); SCM g_keys_edit_delete(SCM rest); SCM g_keys_edit_rotate_90(SCM rest); SCM g_keys_edit_rotate_90_hotkey(SCM rest); SCM g_keys_edit_mirror(SCM rest); SCM g_keys_edit_mirror_hotkey(SCM rest); SCM g_keys_edit_slot(SCM rest); SCM g_keys_edit_color(SCM rest); SCM g_keys_edit_edit(SCM rest); SCM g_keys_edit_pin_type(SCM rest); SCM g_keys_edit_text(SCM rest); SCM g_keys_edit_lock(SCM rest); SCM g_keys_edit_unlock(SCM rest); SCM g_keys_edit_linetype(SCM rest); SCM g_keys_edit_filltype(SCM rest); SCM g_keys_edit_translate(SCM rest); SCM g_keys_edit_invoke_macro(SCM rest); SCM g_keys_edit_embed(SCM rest); SCM g_keys_edit_unembed(SCM rest); SCM g_keys_edit_update(SCM rest); SCM g_keys_edit_show_hidden(SCM rest); SCM g_keys_edit_find(SCM rest); SCM g_keys_edit_show_text(SCM rest); SCM g_keys_edit_hide_text(SCM rest); SCM g_keys_edit_autonumber_text(SCM rest); SCM g_keys_clipboard_copy(SCM rest); SCM g_keys_clipboard_cut(SCM rest); SCM g_keys_clipboard_paste(SCM rest); SCM g_keys_clipboard_paste_hotkey(SCM rest); SCM g_keys_buffer_copy1(SCM rest); SCM g_keys_buffer_copy2(SCM rest); SCM g_keys_buffer_copy3(SCM rest); SCM g_keys_buffer_copy4(SCM rest); SCM g_keys_buffer_copy5(SCM rest); SCM g_keys_buffer_cut1(SCM rest); SCM g_keys_buffer_cut2(SCM rest); SCM g_keys_buffer_cut3(SCM rest); SCM g_keys_buffer_cut4(SCM rest); SCM g_keys_buffer_cut5(SCM rest); SCM g_keys_buffer_paste1(SCM rest); SCM g_keys_buffer_paste2(SCM rest); SCM g_keys_buffer_paste3(SCM rest); SCM g_keys_buffer_paste4(SCM rest); SCM g_keys_buffer_paste5(SCM rest); SCM g_keys_buffer_paste1_hotkey(SCM rest); SCM g_keys_buffer_paste2_hotkey(SCM rest); SCM g_keys_buffer_paste3_hotkey(SCM rest); SCM g_keys_buffer_paste4_hotkey(SCM rest); SCM g_keys_buffer_paste5_hotkey(SCM rest); SCM g_keys_view_redraw(SCM rest); SCM g_keys_view_zoom_full(SCM rest); SCM g_keys_view_zoom_extents(SCM rest); SCM g_keys_view_zoom_in(SCM rest); SCM g_keys_view_zoom_out(SCM rest); SCM g_keys_view_zoom_in_hotkey(SCM rest); SCM g_keys_view_zoom_out_hotkey(SCM rest); SCM g_keys_view_zoom_box(SCM rest); SCM g_keys_view_zoom_box_hotkey(SCM rest); SCM g_keys_view_pan(SCM rest); SCM g_keys_view_pan_left(SCM rest); SCM g_keys_view_pan_right(SCM rest); SCM g_keys_view_pan_up(SCM rest); SCM g_keys_view_pan_down(SCM rest); SCM g_keys_view_pan_hotkey(SCM rest); SCM g_keys_view_dark_colors(SCM rest); SCM g_keys_view_light_colors(SCM rest); SCM g_keys_view_bw_colors(SCM rest); SCM g_keys_page_manager(SCM rest); SCM g_keys_page_next(SCM rest); SCM g_keys_page_prev(SCM rest); SCM g_keys_page_new(SCM rest); SCM g_keys_page_close(SCM rest); SCM g_keys_page_revert(SCM rest); SCM g_keys_page_discard(SCM rest); SCM g_keys_page_print(SCM rest); SCM g_keys_add_component(SCM rest); SCM g_keys_add_attribute(SCM rest); SCM g_keys_add_attribute_hotkey(SCM rest); SCM g_keys_add_net(SCM rest); SCM g_keys_add_net_hotkey(SCM rest); SCM g_keys_add_bus(SCM rest); SCM g_keys_add_bus_hotkey(SCM rest); SCM g_keys_add_text(SCM rest); SCM g_keys_add_line(SCM rest); SCM g_keys_add_line_hotkey(SCM rest); SCM g_keys_add_box(SCM rest); SCM g_keys_add_box_hotkey(SCM rest); SCM g_keys_add_picture(SCM rest); SCM g_keys_add_picture_hotkey(SCM rest); SCM g_keys_add_circle(SCM rest); SCM g_keys_add_circle_hotkey(SCM rest); SCM g_keys_add_arc(SCM rest); SCM g_keys_add_arc_hotkey(SCM rest); SCM g_keys_add_pin(SCM rest); SCM g_keys_add_pin_hotkey(SCM rest); SCM g_keys_hierarchy_down_schematic(SCM rest); SCM g_keys_hierarchy_down_symbol(SCM rest); SCM g_keys_hierarchy_up(SCM rest); SCM g_keys_attributes_attach(SCM rest); SCM g_keys_attributes_detach(SCM rest); SCM g_keys_attributes_show_name(SCM rest); SCM g_keys_attributes_show_value(SCM rest); SCM g_keys_attributes_show_both(SCM rest); SCM g_keys_attributes_visibility_toggle(SCM rest); SCM g_keys_script_console(SCM rest); SCM g_keys_options_text_size(SCM rest); SCM g_keys_options_afeedback(SCM rest); SCM g_keys_options_grid(SCM rest); SCM g_keys_options_snap(SCM rest); SCM g_keys_options_snap_size(SCM rest); SCM g_keys_options_scale_up_snap_size(SCM rest); SCM g_keys_options_scale_down_snap_size(SCM rest); SCM g_keys_options_rubberband(SCM rest); SCM g_keys_options_magneticnet(SCM rest); SCM g_keys_options_show_log_window(SCM rest); SCM g_keys_options_show_coord_window(SCM rest); SCM g_keys_misc(SCM rest); SCM g_keys_misc2(SCM rest); SCM g_keys_misc3(SCM rest); SCM g_keys_help_about(SCM rest); SCM g_keys_help_hotkeys(SCM rest); SCM g_keys_cancel(SCM rest); void g_init_keys (); /* g_rc.c */ void g_rc_parse_gtkrc(); SCM g_rc_gschem_version(SCM version); SCM g_rc_net_endpoint_mode(SCM mode); SCM g_rc_net_midpoint_mode(SCM mode); SCM g_rc_net_direction_mode(SCM mode); SCM g_rc_net_selection_mode(SCM mode); SCM g_rc_net_style(SCM mode); SCM g_rc_bus_style(SCM mode); SCM g_rc_pin_style(SCM mode); SCM g_rc_line_style(SCM mode); SCM g_rc_action_feedback_mode(SCM mode); SCM g_rc_zoom_with_pan(SCM mode); SCM g_rc_text_feedback(SCM mode); SCM g_rc_text_display_zoomfactor(SCM zoomfactor); SCM g_rc_scrollbar_update(SCM mode); SCM g_rc_object_clipping(SCM mode); SCM g_rc_logging(SCM mode); SCM g_rc_embed_components(SCM mode); SCM g_rc_component_dialog_attributes(SCM stringlist); SCM g_rc_text_size(SCM size); SCM g_rc_text_caps_style(SCM mode); SCM g_rc_snap_size(SCM size); SCM g_rc_logging_destination(SCM mode); SCM g_rc_attribute_name(SCM path); SCM g_rc_scrollbars(SCM mode); SCM g_rc_paper_size(SCM width, SCM height); SCM g_rc_paper_sizes(SCM papername, SCM scm_width, SCM scm_height); SCM g_rc_output_type(SCM mode); SCM g_rc_output_orientation(SCM mode); SCM g_rc_image_color(SCM mode); SCM g_rc_image_size(SCM width, SCM height); SCM g_rc_output_color(SCM mode); SCM g_rc_output_capstyle(SCM mode); SCM g_rc_log_window(SCM mode); SCM g_rc_log_window_type(SCM mode); SCM g_rc_third_button(SCM mode); SCM g_rc_middle_button(SCM mode); SCM g_rc_scroll_wheel(SCM mode); SCM g_rc_net_consolidate(SCM mode); SCM g_rc_file_preview(SCM mode); SCM g_rc_enforce_hierarchy(SCM mode); SCM g_rc_text_origin_marker(SCM mode); SCM g_rc_fast_mousepan(SCM mode); SCM g_rc_raise_dialog_boxes_on_expose(SCM mode); SCM g_rc_continue_component_place(SCM mode); SCM g_rc_undo_levels(SCM levels); SCM g_rc_undo_control(SCM mode); SCM g_rc_undo_type(SCM mode); SCM g_rc_undo_panzoom(SCM mode); SCM g_rc_draw_grips(SCM mode); SCM g_rc_netconn_rubberband(SCM mode); SCM g_rc_magnetic_net_mode(SCM mode); SCM g_rc_sort_component_library(SCM mode); SCM g_rc_add_menu(SCM menu_name, SCM menu_items); SCM g_rc_window_size(SCM width, SCM height); SCM g_rc_warp_cursor(SCM mode); SCM g_rc_toolbars(SCM mode); SCM g_rc_handleboxes(SCM mode); SCM g_rc_setpagedevice_orientation(SCM mode); SCM g_rc_setpagedevice_pagesize(SCM mode); SCM g_rc_bus_ripper_size(SCM size); SCM g_rc_bus_ripper_type(SCM mode); SCM g_rc_bus_ripper_rotation(SCM mode); SCM g_rc_force_boundingbox(SCM mode); SCM g_rc_dots_grid_dot_size(SCM dotsize); SCM g_rc_dots_grid_mode(SCM mode); SCM g_rc_dots_grid_fixed_threshold(SCM spacing); SCM g_rc_mesh_grid_display_threshold(SCM spacing); SCM g_rc_add_attribute_offset(SCM offset); SCM g_rc_auto_save_interval(SCM seconds); SCM g_rc_mousepan_gain(SCM mode); SCM g_rc_keyboardpan_gain(SCM mode); SCM g_rc_print_command(SCM mode); SCM g_rc_select_slack_pixels(SCM pixels); SCM g_rc_zoom_gain(SCM gain); SCM g_rc_scrollpan_steps(SCM steps); SCM g_rc_display_color_map (SCM scm_map); SCM g_rc_display_outline_color_map (SCM scm_map); /* g_register.c */ void g_register_funcs(void); /* g_select.c */ void g_init_select (); /* g_util.c */ void g_init_util (); /* g_window.c */ GSCHEM_TOPLEVEL *g_current_window (); void g_dynwind_window (GSCHEM_TOPLEVEL *w_current); void g_init_window (); /* globals.c */ /* gschem.c */ typedef void (*gschem_atexit_func)(gpointer data); void gschem_atexit(gschem_atexit_func func, gpointer data); void gschem_quit(void); void main_prog(void *closure, int argc, char *argv[]); int main(int argc, char *argv[]); /* gschem_cairo.c */ void gschem_cairo_line(GSCHEM_TOPLEVEL *w_current, int line_end, int line_width, int x1, int y1, int x2, int y2); void gschem_cairo_box(GSCHEM_TOPLEVEL *w_current, int line_width, int x1, int y1, int x2, int y2); void gschem_cairo_center_box(GSCHEM_TOPLEVEL *w_current, int center_width, int line_width, int x1, int y1, int x2, int y2); void gschem_cairo_arc(GSCHEM_TOPLEVEL *w_current, int line_width, int x, int y, int radius, int start_angle, int end_angle); void gschem_cairo_center_arc(GSCHEM_TOPLEVEL *w_current, int center_width, int line_width, int x, int y, int radius, int start_angle, int end_angle); void gschem_cairo_stroke(GSCHEM_TOPLEVEL *w_current, int line_type, int line_end, int width, int length, int space); void gschem_cairo_set_source_color(GSCHEM_TOPLEVEL *w_current, COLOR *color); /* i_basic.c */ void i_show_state(GSCHEM_TOPLEVEL *w_current, const char *message); void i_set_state(GSCHEM_TOPLEVEL *w_current, enum x_states newstate); void i_set_state_msg(GSCHEM_TOPLEVEL *w_current, enum x_states newstate, const char *message); void i_update_middle_button(GSCHEM_TOPLEVEL *w_current, void (*func_ptr)(), const char *string); void i_update_toolbar(GSCHEM_TOPLEVEL *w_current); void i_update_menus(GSCHEM_TOPLEVEL *w_current); void i_set_filename(GSCHEM_TOPLEVEL *w_current, const gchar *string); void i_update_grid_info(GSCHEM_TOPLEVEL *w_current); /* i_callbacks.c */ void i_callback_file_new(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_toolbar_file_new(GtkWidget *widget, gpointer data); void i_callback_file_new_window(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_file_open(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_toolbar_file_open(GtkWidget *widget, gpointer data); void i_callback_file_script(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_file_save(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_toolbar_file_save(GtkWidget *widget, gpointer data); void i_callback_file_save_all(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_file_save_as(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_file_print(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_file_write_png(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_file_close(gpointer data, guint callback_action, GtkWidget *widget); int i_callback_close(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_file_quit(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_edit_undo(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_toolbar_edit_undo(GtkWidget *widget, gpointer data); void i_callback_edit_redo(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_toolbar_edit_redo(GtkWidget *widget, gpointer data); void i_callback_edit_select(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_toolbar_edit_select(GtkWidget *widget, gpointer data); void i_callback_edit_select_all(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_edit_deselect(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_edit_copy(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_edit_copy_hotkey(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_edit_mcopy(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_edit_mcopy_hotkey(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_edit_move(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_edit_move_hotkey(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_edit_delete(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_edit_edit(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_edit_pin_type(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_edit_text(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_edit_slot(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_edit_color(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_edit_rotate_90(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_edit_rotate_90_hotkey(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_edit_mirror(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_edit_mirror_hotkey(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_edit_lock(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_edit_unlock(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_edit_translate(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_edit_invoke_macro(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_edit_embed(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_edit_unembed(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_edit_update(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_edit_show_hidden(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_edit_find(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_edit_hide_text(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_edit_show_text(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_edit_autonumber_text(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_edit_linetype(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_edit_filltype(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_view_redraw(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_view_zoom_full(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_view_zoom_extents(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_view_zoom_box(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_view_zoom_box_hotkey(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_view_zoom_in(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_view_zoom_out(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_view_zoom_in_hotkey(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_view_zoom_out_hotkey(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_view_pan(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_view_pan_left(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_view_pan_right(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_view_pan_up(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_view_pan_down(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_view_pan_hotkey(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_view_dark_colors(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_view_light_colors(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_view_bw_colors(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_page_manager(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_page_next(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_page_prev(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_page_new(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_page_close(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_page_revert(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_page_discard(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_page_print(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_clipboard_copy(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_clipboard_cut(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_clipboard_paste(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_clipboard_paste_hotkey(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_buffer_copy1(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_buffer_copy2(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_buffer_copy3(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_buffer_copy4(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_buffer_copy5(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_buffer_cut1(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_buffer_cut2(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_buffer_cut3(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_buffer_cut4(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_buffer_cut5(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_buffer_paste1(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_buffer_paste2(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_buffer_paste3(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_buffer_paste4(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_buffer_paste5(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_buffer_paste1_hotkey(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_buffer_paste2_hotkey(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_buffer_paste3_hotkey(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_buffer_paste4_hotkey(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_buffer_paste5_hotkey(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_add_component(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_toolbar_add_component(GtkWidget *widget, gpointer data); void i_callback_add_attribute(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_add_attribute_hotkey(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_add_net(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_add_net_hotkey(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_toolbar_add_net(GtkWidget *widget, gpointer data); void i_callback_add_bus(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_add_bus_hotkey(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_toolbar_add_bus(GtkWidget *widget, gpointer data); void i_callback_add_text(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_toolbar_add_text(GtkWidget *widget, gpointer data); void i_callback_add_line(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_add_line_hotkey(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_add_box(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_add_box_hotkey(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_add_picture(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_add_picture_hotkey(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_add_circle(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_add_circle_hotkey(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_add_arc(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_add_arc_hotkey(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_add_pin(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_add_pin_hotkey(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_hierarchy_down_schematic(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_hierarchy_down_symbol(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_hierarchy_up(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_attributes_attach(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_attributes_detach(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_attributes_show_name(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_attributes_show_value(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_attributes_show_both(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_attributes_visibility_toggle(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_script_console(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_options_text_size(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_options_snap_size(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_options_scale_up_snap_size(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_options_scale_down_snap_size(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_options_afeedback(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_options_grid(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_options_snap(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_options_rubberband(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_options_magneticnet(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_options_show_log_window(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_misc(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_misc2(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_misc3(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_cancel(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_help_about(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_help_hotkeys(gpointer data, guint callback_action, GtkWidget *widget); void i_callback_options_show_coord_window(gpointer data, guint callback_action, GtkWidget *widget); gboolean i_callback_close_wm(GtkWidget *widget, GdkEvent *event, gpointer data); /* i_vars.c */ void i_vars_set(GSCHEM_TOPLEVEL *w_current); void i_vars_freenames(); /* m_basic.c */ int mil_x(GSCHEM_TOPLEVEL *w_current, int val); int mil_y(GSCHEM_TOPLEVEL *w_current, int val); int pix_x(GSCHEM_TOPLEVEL *w_current, int val); int pix_y(GSCHEM_TOPLEVEL *w_current, int val); void WORLDtoSCREEN(GSCHEM_TOPLEVEL *w_current, int x, int y, int *px, int *py); void SCREENtoWORLD(GSCHEM_TOPLEVEL *w_current, int mx, int my, int *x, int *y); int snap_grid(GSCHEM_TOPLEVEL *w_current, int input); int SCREENabs(GSCHEM_TOPLEVEL *w_current, int val); int WORLDabs(GSCHEM_TOPLEVEL *w_current, int val); int WORLDclip_change(GSCHEM_TOPLEVEL *w_current, int *x1, int *y1, int *x2, int *y2); int clip_nochange(GSCHEM_TOPLEVEL *w_current, int x1, int y1, int x2, int y2); int visible(GSCHEM_TOPLEVEL *w_current, int wleft, int wtop, int wright, int wbottom); double round_5_2_1(double unrounded); /* o_arc.c */ void o_arc_draw(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current); void o_arc_invalidate_rubber(GSCHEM_TOPLEVEL *w_current); void o_arc_draw_place(GSCHEM_TOPLEVEL *w_current, int dx, int dy, OBJECT *o_current); void o_arc_start(GSCHEM_TOPLEVEL *w_current, int x, int y); void o_arc_end1(GSCHEM_TOPLEVEL *w_current, int x, int y); void o_arc_end4(GSCHEM_TOPLEVEL *w_current, int radius, int start_angle, int end_angle); void o_arc_motion(GSCHEM_TOPLEVEL *w_current, int x, int y, int whichone); void o_arc_draw_rubber(GSCHEM_TOPLEVEL *w_current); void o_arc_draw_grips(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current); /* o_attrib.c */ void o_attrib_add_selected(GSCHEM_TOPLEVEL *w_current, SELECTION *selection, OBJECT *selected); void o_attrib_deselect_invisible(GSCHEM_TOPLEVEL *w_current, SELECTION *selection, OBJECT *selected); void o_attrib_select_invisible(GSCHEM_TOPLEVEL *w_current, SELECTION *selection, OBJECT *selected); void o_attrib_toggle_visibility(GSCHEM_TOPLEVEL *w_current, OBJECT *object); void o_attrib_toggle_show_name_value(GSCHEM_TOPLEVEL *w_current, OBJECT *object, int new_show_name_value); OBJECT *o_attrib_add_attrib(GSCHEM_TOPLEVEL *w_current, const char *text_string, int visibility, int show_name_value, OBJECT *object); /* o_basic.c */ void o_redraw_rects(GSCHEM_TOPLEVEL *w_current, GdkRectangle *rectangles, int n_rectangles); void o_redraw(GSCHEM_TOPLEVEL *w_current, GList *object_list, gboolean draw_selected); void o_redraw_single(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current); int o_invalidate_rubber(GSCHEM_TOPLEVEL *w_current); int o_redraw_cleanstates(GSCHEM_TOPLEVEL *w_current); void o_draw_place(GSCHEM_TOPLEVEL *w_current, int dx, int dy, OBJECT *object); void o_glist_draw_place(GSCHEM_TOPLEVEL *w_current, int dx, int dy, GList *list); void o_invalidate_rect(GSCHEM_TOPLEVEL *w_current, int x1, int y1, int x2, int y2); void o_invalidate_all(GSCHEM_TOPLEVEL *w_current); void o_invalidate(GSCHEM_TOPLEVEL *w_current, OBJECT *object); void o_invalidate_glist(GSCHEM_TOPLEVEL *w_current, GList *list); COLOR *o_drawing_color(GSCHEM_TOPLEVEL *w_current, OBJECT *object); /* o_box.c */ void o_box_draw(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current); void o_box_invalidate_rubber(GSCHEM_TOPLEVEL *w_current); void o_box_draw_place(GSCHEM_TOPLEVEL *w_current, int dx, int dy, OBJECT *o_current); void o_box_start(GSCHEM_TOPLEVEL *w_current, int x, int y); void o_box_end(GSCHEM_TOPLEVEL *w_current, int x, int y); void o_box_motion(GSCHEM_TOPLEVEL *w_current, int x, int y); void o_box_draw_rubber(GSCHEM_TOPLEVEL *w_current); void o_box_draw_grips(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current); /* o_buffer.c */ void o_buffer_copy(GSCHEM_TOPLEVEL *w_current, int buf_num); void o_buffer_cut(GSCHEM_TOPLEVEL *w_current, int buf_num); void o_buffer_paste_start(GSCHEM_TOPLEVEL *w_current, int x, int y, int buf_num); void o_buffer_init(void); void o_buffer_free(GSCHEM_TOPLEVEL *w_current); /* o_bus.c */ void o_bus_draw(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current); void o_bus_draw_place(GSCHEM_TOPLEVEL *w_current, int dx, int dy, OBJECT *o_current); void o_bus_draw_stretch(GSCHEM_TOPLEVEL *w_current, int dx, int dy, int whichone, OBJECT *o_current); void o_bus_start(GSCHEM_TOPLEVEL *w_current, int x, int y); int o_bus_end(GSCHEM_TOPLEVEL *w_current, int x, int y); void o_bus_motion(GSCHEM_TOPLEVEL *w_current, int x, int y); void o_bus_draw_rubber(GSCHEM_TOPLEVEL *w_current); void o_bus_invalidate_rubber(GSCHEM_TOPLEVEL *w_current); /* o_circle.c */ void o_circle_draw(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current); void o_circle_invalidate_rubber(GSCHEM_TOPLEVEL *w_current); void o_circle_draw_place(GSCHEM_TOPLEVEL *w_current, int dx, int dy, OBJECT *o_current); void o_circle_start(GSCHEM_TOPLEVEL *w_current, int x, int y); void o_circle_end(GSCHEM_TOPLEVEL *w_current, int x, int y); void o_circle_motion(GSCHEM_TOPLEVEL *w_current, int x, int y); void o_circle_draw_rubber(GSCHEM_TOPLEVEL *w_current); void o_circle_draw_grips(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current); /* o_complex.c */ void o_complex_draw(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current); void o_complex_draw_place(GSCHEM_TOPLEVEL *w_current, int dx, int dy, OBJECT *complex); void o_complex_prepare_place(GSCHEM_TOPLEVEL *w_current, const CLibSymbol *sym); void o_complex_place_changed_run_hook(GSCHEM_TOPLEVEL *w_current); void o_complex_translate_all(GSCHEM_TOPLEVEL *w_current, int offset); /* o_copy.c */ void o_copy_start(GSCHEM_TOPLEVEL *w_current, int x, int y); void o_copy_end(GSCHEM_TOPLEVEL *w_current); void o_copy_multiple_end(GSCHEM_TOPLEVEL *w_current); /* o_cue.c */ void o_cue_redraw_all(GSCHEM_TOPLEVEL *w_current, GList *list, gboolean draw_selected); void o_cue_draw_lowlevel(GSCHEM_TOPLEVEL *w_current, OBJECT *object, int whichone); void o_cue_draw_lowlevel_midpoints(GSCHEM_TOPLEVEL *w_current, OBJECT *object); void o_cue_draw_single(GSCHEM_TOPLEVEL *w_current, OBJECT *object); void o_cue_draw_list(GSCHEM_TOPLEVEL *w_current, GList *object_list); /* o_delete.c */ void o_delete(GSCHEM_TOPLEVEL *w_current, OBJECT *object); void o_delete_selected(GSCHEM_TOPLEVEL *w_current); /* o_find.c */ gboolean o_find_object(GSCHEM_TOPLEVEL *w_current, int x, int y, gboolean deselect_afterwards); gboolean o_find_selected_object(GSCHEM_TOPLEVEL *w_current, int x, int y); /* o_grips.c */ OBJECT *o_grips_search_world(GSCHEM_TOPLEVEL *w_current, int x, int y, int *whichone); OBJECT *o_grips_search_arc_world(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current, int x, int y, int size, int *whichone); OBJECT *o_grips_search_box_world(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current, int x, int y, int size, int *whichone); OBJECT *o_grips_search_path_world(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current, int x, int y, int size, int *whichone); OBJECT *o_grips_search_picture_world(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current, int x, int y, int size, int *whichone); OBJECT *o_grips_search_circle_world(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current, int x, int y, int size, int *whichone); OBJECT *o_grips_search_line_world(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current, int x, int y, int size, int *whichone); int o_grips_start(GSCHEM_TOPLEVEL *w_current, int x, int y); void o_grips_motion(GSCHEM_TOPLEVEL *w_current, int x, int y); void o_grips_end(GSCHEM_TOPLEVEL *w_current); void o_grips_cancel(GSCHEM_TOPLEVEL *w_current); int o_grips_size(GSCHEM_TOPLEVEL *w_current); void o_grips_draw(GSCHEM_TOPLEVEL *w_current, int x, int y); void o_grips_draw_rubber(GSCHEM_TOPLEVEL *w_current); /* o_line.c */ void o_line_draw(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current); void o_line_invalidate_rubber(GSCHEM_TOPLEVEL *w_current); void o_line_draw_place(GSCHEM_TOPLEVEL *w_current, int dx, int dy, OBJECT *o_current); void o_line_start(GSCHEM_TOPLEVEL *w_current, int x, int y); void o_line_end(GSCHEM_TOPLEVEL *w_current, int x, int y); void o_line_motion(GSCHEM_TOPLEVEL *w_current, int x, int y); void o_line_draw_rubber(GSCHEM_TOPLEVEL *w_current); void o_line_draw_grips(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current); int o_line_visible(GSCHEM_TOPLEVEL *w_current, LINE *line, int *x1, int *y1, int *x2, int *y2); /* o_misc.c */ void o_edit(GSCHEM_TOPLEVEL *w_current, GList *list); void o_lock(GSCHEM_TOPLEVEL *w_current); void o_unlock(GSCHEM_TOPLEVEL *w_current); void o_rotate_world_update(GSCHEM_TOPLEVEL *w_current, int centerx, int centery, int angle, GList *list); void o_mirror_world_update(GSCHEM_TOPLEVEL *w_current, int centerx, int centery, GList *list); void o_edit_show_hidden_lowlevel(GSCHEM_TOPLEVEL *w_current, const GList *o_list); void o_edit_show_hidden(GSCHEM_TOPLEVEL *w_current, const GList *o_list); int o_edit_find_text(GSCHEM_TOPLEVEL *w_current, const GList *o_list, char *stext, int descend, int skip); void o_edit_hide_specific_text(GSCHEM_TOPLEVEL *w_current, const GList *o_list, char *stext); void o_edit_show_specific_text(GSCHEM_TOPLEVEL *w_current, const GList *o_list, char *stext); OBJECT *o_update_component(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current); void o_autosave_backups(GSCHEM_TOPLEVEL *w_current); /* o_move.c */ void o_move_start(GSCHEM_TOPLEVEL *w_current, int x, int y); void o_move_end_lowlevel(GSCHEM_TOPLEVEL *w_current, OBJECT *object, int diff_x, int diff_y); void o_move_end(GSCHEM_TOPLEVEL *w_current); void o_move_cancel(GSCHEM_TOPLEVEL *w_current); void o_move_motion(GSCHEM_TOPLEVEL *w_current, int x, int y); void o_move_invalidate_rubber(GSCHEM_TOPLEVEL *w_current, int drawing); void o_move_draw_rubber(GSCHEM_TOPLEVEL *w_current, int drawing); int o_move_return_whichone(OBJECT *object, int x, int y); void o_move_check_endpoint(GSCHEM_TOPLEVEL *w_current, OBJECT *object); void o_move_prep_rubberband(GSCHEM_TOPLEVEL *w_current); int o_move_zero_length(OBJECT *object); void o_move_end_rubberband(GSCHEM_TOPLEVEL *w_current, int world_diff_x, int world_diff_y, GList **objects); /* o_net.c */ void o_net_reset(GSCHEM_TOPLEVEL *w_current); void o_net_draw(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current); void o_net_draw_place(GSCHEM_TOPLEVEL *w_current, int dx, int dy, OBJECT *o_current); void o_net_draw_stretch(GSCHEM_TOPLEVEL *w_current, int dx, int dy, int whichone, OBJECT *o_current); void o_net_guess_direction(GSCHEM_TOPLEVEL *w_current, int x, int y); void o_net_find_magnetic(GSCHEM_TOPLEVEL *w_current, int event_x, int event_y); void o_net_finishmagnetic(GSCHEM_TOPLEVEL *w_current); void o_net_start_magnetic(GSCHEM_TOPLEVEL *w_current, int x, int y); void o_net_start(GSCHEM_TOPLEVEL *w_current, int x, int y); int o_net_end(GSCHEM_TOPLEVEL *w_current, int x, int y); void o_net_motion(GSCHEM_TOPLEVEL *w_current, int x, int y); void o_net_draw_rubber(GSCHEM_TOPLEVEL *w_current); void o_net_invalidate_rubber(GSCHEM_TOPLEVEL *w_current); int o_net_add_busrippers(GSCHEM_TOPLEVEL *w_current, OBJECT *net_obj, GList *other_objects); /* o_picture.c */ void o_picture_start(GSCHEM_TOPLEVEL *w_current, int x, int y); void o_picture_end(GSCHEM_TOPLEVEL *w_current, int x, int y); void o_picture_motion(GSCHEM_TOPLEVEL *w_current, int x, int y); void picture_selection_dialog (GSCHEM_TOPLEVEL *w_current); void o_picture_invalidate_rubber(GSCHEM_TOPLEVEL *w_current); void o_picture_draw_rubber(GSCHEM_TOPLEVEL *w_current); void o_picture_draw(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current); void o_picture_draw_grips(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current); void o_picture_draw_place(GSCHEM_TOPLEVEL *w_current, int dx, int dy, OBJECT *o_current); gboolean o_picture_exchange(GSCHEM_TOPLEVEL *w_current, const gchar *filename, GError **error); void picture_change_filename_dialog (GSCHEM_TOPLEVEL *w_current); void o_picture_set_pixbuf(GSCHEM_TOPLEVEL *w_current, GdkPixbuf *pixbuf, char *filename); /* o_path.c */ void o_path_draw(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current); void o_path_invalidate_rubber(GSCHEM_TOPLEVEL *w_current); void o_path_draw_place(GSCHEM_TOPLEVEL *w_current, int dx, int dy, OBJECT *o_current); void o_path_start(GSCHEM_TOPLEVEL *w_current, int x, int y); void o_path_end(GSCHEM_TOPLEVEL *w_current, int x, int y); void o_path_motion(GSCHEM_TOPLEVEL *w_current, int x, int y); void o_path_draw_rubber(GSCHEM_TOPLEVEL *w_current); void o_path_draw_grips(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current); /* o_pin.c */ void o_pin_draw(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current); void o_pin_draw_place(GSCHEM_TOPLEVEL *w_current, int dx, int dy, OBJECT *o_current); void o_pin_start(GSCHEM_TOPLEVEL *w_current, int x, int y); void o_pin_end(GSCHEM_TOPLEVEL *w_current, int x, int y); void o_pin_motion(GSCHEM_TOPLEVEL *w_current, int x, int y); void o_pin_draw_rubber(GSCHEM_TOPLEVEL *w_current); void o_pin_invalidate_rubber(GSCHEM_TOPLEVEL *w_current); /* o_place.c */ void o_place_start(GSCHEM_TOPLEVEL *w_current, int x, int y); void o_place_end(GSCHEM_TOPLEVEL *w_current, int x, int y, int continue_placing, GList **ret_new_objects, const char *hook_name); void o_place_motion(GSCHEM_TOPLEVEL *w_current, int x, int y); void o_place_invalidate_rubber(GSCHEM_TOPLEVEL *w_current, int drawing); void o_place_draw_rubber(GSCHEM_TOPLEVEL *w_current, int drawing); void o_place_rotate(GSCHEM_TOPLEVEL *w_current); /* o_select.c */ void o_select_run_hooks(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current, int flag); void o_select_object(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current, int type, int count); int o_select_box_start(GSCHEM_TOPLEVEL *w_current, int x, int y); void o_select_box_end(GSCHEM_TOPLEVEL *w_current, int x, int y); void o_select_box_motion(GSCHEM_TOPLEVEL *w_current, int x, int y); void o_select_box_invalidate_rubber(GSCHEM_TOPLEVEL *w_current); void o_select_box_draw_rubber(GSCHEM_TOPLEVEL *w_current); void o_select_box_search(GSCHEM_TOPLEVEL *w_current); void o_select_connected_nets(GSCHEM_TOPLEVEL *w_current, OBJECT* o_current); OBJECT *o_select_return_first_object(GSCHEM_TOPLEVEL *w_current); int o_select_selected(GSCHEM_TOPLEVEL *w_current); void o_select_unselect_all(GSCHEM_TOPLEVEL *w_current); void o_select_visible_unlocked(GSCHEM_TOPLEVEL *w_current); void o_select_move_to_place_list(GSCHEM_TOPLEVEL *w_current); /* o_slot.c */ void o_slot_start(GSCHEM_TOPLEVEL *w_current, OBJECT *object); void o_slot_end(GSCHEM_TOPLEVEL *w_current, OBJECT *object, const char *string); /* o_text.c */ int o_text_get_rendered_bounds(void *user_data, OBJECT *object, int *min_x, int *min_y, int *max_x, int *max_y); void o_text_draw(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current); void o_text_draw_place(GSCHEM_TOPLEVEL *w_current, int dx, int dy, OBJECT *o_current); void o_text_prepare_place(GSCHEM_TOPLEVEL *w_current, char *text); void o_text_edit(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current); void o_text_edit_end(GSCHEM_TOPLEVEL *w_current, char *string, int len, int text_size, int text_alignment); void o_text_change(GSCHEM_TOPLEVEL *w_current, OBJECT *object, char *string, int visibility, int show); /* o_undo.c */ void o_undo_init(void); void o_undo_savestate(GSCHEM_TOPLEVEL *w_current, int flag); char *o_undo_find_prev_filename(UNDO *start); GList *o_undo_find_prev_object_head(UNDO *start); void o_undo_callback(GSCHEM_TOPLEVEL *w_current, int type); void o_undo_cleanup(void); void o_undo_remove_last_undo(GSCHEM_TOPLEVEL *w_current); /* parsecmd.c */ int parse_commandline(int argc, char *argv[]); /* s_stretch.c */ GList *s_stretch_add(GList *list, OBJECT *object, int whichone); GList *s_stretch_remove(GList *list, OBJECT *object); void s_stretch_print_all(GList *list); void s_stretch_destroy_all(GList *list); /* x_attribedit.c */ gint option_menu_get_history(GtkOptionMenu *option_menu); void attrib_edit_dialog_ok(GtkWidget *w, GSCHEM_TOPLEVEL *w_current); void attrib_edit_dialog(GSCHEM_TOPLEVEL *w_current, OBJECT *attr_obj, int flag); /* x_autonumber.c */ void autonumber_text_dialog(GSCHEM_TOPLEVEL *w_current); /* x_basic.c */ void x_repaint_background_region(GSCHEM_TOPLEVEL *w_current, int x, int y, int width, int height); void x_hscrollbar_set_ranges(GSCHEM_TOPLEVEL *w_current); void x_hscrollbar_update(GSCHEM_TOPLEVEL *w_current); void x_vscrollbar_set_ranges(GSCHEM_TOPLEVEL *w_current); void x_vscrollbar_update(GSCHEM_TOPLEVEL *w_current); void x_scrollbars_update(GSCHEM_TOPLEVEL *w_current); void x_basic_warp_cursor(GtkWidget *widget, gint x, gint y); /* x_clipboard.c */ void x_clipboard_init (GSCHEM_TOPLEVEL *w_current); void x_clipboard_finish (GSCHEM_TOPLEVEL *w_current); void x_clipboard_query_usable (GSCHEM_TOPLEVEL *w_current, void (*callback) (int, void *), void *userdata); gboolean x_clipboard_set (GSCHEM_TOPLEVEL *w_current, const GList *object_list); GList *x_clipboard_get (GSCHEM_TOPLEVEL *w_current); /* x_color.c */ void x_color_init (void); void x_color_free (void); void x_color_allocate (void); GdkColor *x_get_color(int color); GdkColor *x_get_darkcolor(int color); COLOR *x_color_lookup(int color); COLOR *x_color_lookup_dark(int color); gchar *x_color_get_name(int index); gboolean x_color_display_enabled (int index); /* x_dialog.c */ int text_view_calculate_real_tab_width(GtkTextView *textview, int tab_size); void select_all_text_in_textview(GtkTextView *textview); void destroy_window(GtkWidget *widget, GtkWidget **window); void text_input_dialog_apply(GtkWidget *w, GSCHEM_TOPLEVEL *w_current); void text_input_dialog(GSCHEM_TOPLEVEL *w_current); gint change_alignment(GtkComboBox *w, GSCHEM_TOPLEVEL *w_current); void text_edit_dialog_ok(GtkWidget *w, GSCHEM_TOPLEVEL *w_current); void text_edit_dialog(GSCHEM_TOPLEVEL *w_current, const char *string, int text_size, int text_alignment); void line_type_dialog(GSCHEM_TOPLEVEL *w_current); void fill_type_dialog(GSCHEM_TOPLEVEL *w_current); void arc_angle_dialog(GSCHEM_TOPLEVEL *w_current, OBJECT *arc_object); void translate_dialog(GSCHEM_TOPLEVEL *w_current); void text_size_dialog(GSCHEM_TOPLEVEL *w_current); void snap_size_dialog(GSCHEM_TOPLEVEL *w_current); void slot_edit_dialog(GSCHEM_TOPLEVEL *w_current, const char *string); void about_dialog(GSCHEM_TOPLEVEL *w_current); void coord_display_update(GSCHEM_TOPLEVEL *w_current, int x, int y); void coord_dialog(GSCHEM_TOPLEVEL *w_current, int x, int y); gint color_set(GtkWidget *w, gpointer data); char *index2functionstring(int index); void color_edit_dialog_apply(GtkWidget *w, GSCHEM_TOPLEVEL *w_current); void color_edit_dialog(GSCHEM_TOPLEVEL *w_current); void x_dialog_hotkeys(GSCHEM_TOPLEVEL *w_current); void x_dialog_raise_all(GSCHEM_TOPLEVEL *w_current); void generic_msg_dialog(const char *); int generic_confirm_dialog(const char *); char * generic_filesel_dialog(const char *, const char *, gint); void find_text_dialog(GSCHEM_TOPLEVEL *w_current); void hide_text_dialog(GSCHEM_TOPLEVEL *w_current); void show_text_dialog(GSCHEM_TOPLEVEL *w_current); void major_changed_dialog(GSCHEM_TOPLEVEL* w_current); void x_dialog_close_changed_page (GSCHEM_TOPLEVEL *w_current, PAGE *page); gboolean x_dialog_close_window (GSCHEM_TOPLEVEL *w_current); int x_dialog_validate_attribute(GtkWindow* parent, char *attribute); void x_dialog_edit_pin_type(GSCHEM_TOPLEVEL *w_current, const GList *obj_list); /* x_event.c */ gint x_event_expose(GtkWidget *widget, GdkEventExpose *event, GSCHEM_TOPLEVEL *w_current); gint x_event_button_pressed(GtkWidget *widget, GdkEventButton *event, GSCHEM_TOPLEVEL *w_current); gint x_event_button_released(GtkWidget *widget, GdkEventButton *event, GSCHEM_TOPLEVEL *w_current); gint x_event_motion(GtkWidget *widget, GdkEventMotion *event, GSCHEM_TOPLEVEL *w_current); gboolean x_event_configure (GtkWidget *widget, GdkEventConfigure *event, gpointer user_data); void x_manual_resize(GSCHEM_TOPLEVEL *w_current); void x_event_hschanged(GtkAdjustment *adj, GSCHEM_TOPLEVEL *w_current); void x_event_vschanged(GtkAdjustment *adj, GSCHEM_TOPLEVEL *w_current); gint x_event_enter(GtkWidget *widget, GdkEventCrossing *event, GSCHEM_TOPLEVEL *w_current); gboolean x_event_key(GtkWidget *widget, GdkEventKey *event, GSCHEM_TOPLEVEL *w_current); gint x_event_scroll(GtkWidget *widget, GdkEventScroll *event, GSCHEM_TOPLEVEL *w_current); gboolean x_event_get_pointer_position (GSCHEM_TOPLEVEL *w_current, gboolean snapped, gint *wx, gint *wy); /* x_compselect.c */ void x_compselect_open (GSCHEM_TOPLEVEL *w_current); void x_compselect_close (GSCHEM_TOPLEVEL *w_current); void x_compselect_deselect (GSCHEM_TOPLEVEL *w_current); /* x_fileselect.c */ void x_fileselect_open(GSCHEM_TOPLEVEL *w_current); void x_fileselect_save(GSCHEM_TOPLEVEL *w_current); int x_fileselect_load_backup(void *user_data, GString *message); /* x_grid.c */ void x_grid_draw_region(GSCHEM_TOPLEVEL *w_current, int x, int y, int width, int height); int x_grid_query_drawn_spacing(GSCHEM_TOPLEVEL *w_current); void x_draw_tiles(GSCHEM_TOPLEVEL *w_current); /* x_image.c */ void x_image_lowlevel(GSCHEM_TOPLEVEL *w_current, const char* filename, int desired_width, int desired_height, char *filetype); void x_image_setup(GSCHEM_TOPLEVEL *w_current); GdkPixbuf *x_image_get_pixbuf (GSCHEM_TOPLEVEL *w_current); /* x_log.c */ void x_log_open (); void x_log_close (); void x_log_message (const gchar *log_domain, GLogLevelFlags log_level, const gchar *message); /* x_misc.c */ gboolean x_show_uri (GSCHEM_TOPLEVEL *w_current, const gchar *buf, GError **err); /* x_menus.c */ GtkWidget *get_main_menu(GSCHEM_TOPLEVEL *w_current); GtkWidget *get_main_popup(GSCHEM_TOPLEVEL *w_current); gint do_popup(GSCHEM_TOPLEVEL *w_current, GdkEventButton *event); void x_menus_sensitivity(GSCHEM_TOPLEVEL *w_current, const char *buf, int flag); void x_menus_popup_sensitivity(GSCHEM_TOPLEVEL *w_current, const char *buf, int flag); void x_menu_attach_recent_files_submenu(GSCHEM_TOPLEVEL *w_current); /* x_multiattrib.c */ void x_multiattrib_open (GSCHEM_TOPLEVEL *w_current); void x_multiattrib_close (GSCHEM_TOPLEVEL *w_current); void x_multiattrib_update (GSCHEM_TOPLEVEL *w_current); /* x_multimulti.c */ /* x_pagesel.c */ void x_pagesel_open (GSCHEM_TOPLEVEL *w_current); void x_pagesel_close (GSCHEM_TOPLEVEL *w_current); void x_pagesel_update (GSCHEM_TOPLEVEL *w_current); /* x_preview.c */ /* x_print.c */ void x_print_setup(GSCHEM_TOPLEVEL *w_current, char *filename); /* x_rc.c */ void x_rc_parse_gschem (GSCHEM_TOPLEVEL *w_current, const gchar *rcfile); /* x_script.c */ void setup_script_selector(GSCHEM_TOPLEVEL *w_current); /* x_stroke.c */ void x_stroke_init (void); void x_stroke_free (void); void x_stroke_record (GSCHEM_TOPLEVEL *w_current, gint x, gint y); gint x_stroke_translate_and_execute (GSCHEM_TOPLEVEL *w_current); /* x_window.c */ void x_window_setup (GSCHEM_TOPLEVEL *w_current); void x_window_setup_gc(GSCHEM_TOPLEVEL *w_current); void x_window_free_gc(GSCHEM_TOPLEVEL *w_current); void x_window_create_drawing(GtkWidget *drawbox, GSCHEM_TOPLEVEL *w_current); void x_window_setup_draw_events(GSCHEM_TOPLEVEL *w_current); void x_window_create_main(GSCHEM_TOPLEVEL *w_current); void x_window_close(GSCHEM_TOPLEVEL *w_current); void x_window_close_all(GSCHEM_TOPLEVEL *w_current); PAGE *x_window_open_page (GSCHEM_TOPLEVEL *w_current, const gchar *filename); void x_window_set_current_page (GSCHEM_TOPLEVEL *w_current, PAGE *page); gint x_window_save_page (GSCHEM_TOPLEVEL *w_current, PAGE *page, const gchar *filename); void x_window_close_page (GSCHEM_TOPLEVEL *w_current, PAGE *page); void x_window_set_default_icon (void); geda-gaf-1.8.2/gschem/include/x_log.h0000664000175000017500000000265112204066537014263 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02111-1301 USA. */ typedef enum { LOG_RESPONSE_CLOSE = 1 } LogResponseType; #define TYPE_LOG (log_get_type()) #define LOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LOG, Log)) #define LOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LOG, LogClass)) #define IS_LOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LOG)) typedef struct _LogClass LogClass; typedef struct _Log Log; struct _LogClass { GschemDialogClass parent_class; }; struct _Log { GschemDialog parent_instance; GtkTextView *textview; guint handler; }; GType log_get_type (void); geda-gaf-1.8.2/gschem/include/gschem.h0000664000175000017500000000122212220647257014414 00000000000000/* System headers which gschem headers rely on */ #include #include #include #include #include /* gschem headers */ #include "gschem_defines.h" #include "gschem_struct.h" #include "gschem_accel_label.h" #include "gschem_action.h" #include "gschem_dialog.h" #include "gschem_pango.h" #include "i_vars.h" #include "x_preview.h" #include "x_compselect.h" #include "x_dialog.h" #include "x_log.h" #include "x_multiattrib.h" #include "x_pagesel.h" #include "x_print.h" #include "x_states.h" #include "globals.h" #include "prototype.h" /* Gettext translation */ #include "gettext.h" geda-gaf-1.8.2/gschem/include/gschem_accel_label.h0000664000175000017500000000660712050461155016706 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * Code based on GTK 2.14.5 gtk/gtkaccellabel.h (LGPL) * * GTK - The GIMP Toolkit * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald * * GschemAccelLabel: GtkLabel with accelerator monitoring facilities. * Copyright (C) 1998 Tim Janik * * Modified by the GTK+ Team and others 1997-2001. See the AUTHORS * file for a list of people on the GTK+ Team. See the ChangeLog * files for a list of changes. These files are distributed with * GTK+ at ftp://ftp.gtk.org/pub/gtk/. * * Adapted for gEDA by Peter Clifton * * THIS FILE IS LGPL LICENSED, gEDA AS A WHOLE IS GPL LICENSED * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #ifndef __GSCHEM_ACCEL_LABEL_H__ #define __GSCHEM_ACCEL_LABEL_H__ G_BEGIN_DECLS #define GSCHEM_TYPE_ACCEL_LABEL (gschem_accel_label_get_type ()) #define GSCHEM_ACCEL_LABEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GSCHEM_TYPE_ACCEL_LABEL, GschemAccelLabel)) #define GSCHEM_ACCEL_LABEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GSCHEM_TYPE_ACCEL_LABEL, GschemAccelLabelClass)) #define GSCHEM_IS_ACCEL_LABEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GSCHEM_TYPE_ACCEL_LABEL)) #define GSCHEM_IS_ACCEL_LABEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GSCHEM_TYPE_ACCEL_LABEL)) #define GSCHEM_ACCEL_LABEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GSCHEM_TYPE_ACCEL_LABEL, GschemAccelLabelClass)) typedef struct _GschemAccelLabel GschemAccelLabel; typedef struct _GschemAccelLabelClass GschemAccelLabelClass; struct _GschemAccelLabel { GtkAccelLabel label; guint accel_padding; gchar *accel_string; guint16 accel_string_width; }; struct _GschemAccelLabelClass { GtkAccelLabelClass parent_class; }; GType gschem_accel_label_get_type (void) G_GNUC_CONST; GtkWidget* gschem_accel_label_new (const gchar *string); guint gschem_accel_label_get_accel_width (GschemAccelLabel *accel_label); void gschem_accel_label_set_accel_string (GschemAccelLabel *accel_label, const gchar *accel_string); gboolean gschem_accel_label_refetch (GschemAccelLabel *accel_label); /* private */ gchar * _gschem_accel_label_class_get_accelerator_label (GschemAccelLabelClass *klass, guint accelerator_key, GdkModifierType accelerator_mods); G_END_DECLS #endif /* __GSCHEM_ACCEL_LABEL_H__ */ geda-gaf-1.8.2/gschem/include/x_compselect.h0000664000175000017500000000462412220647257015644 00000000000000/* gEDA - GPL Electronic Design Automation * gschem - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02111-1301 USA. */ #ifndef __X_COMPSELECT_H__ #define __X_COMPSELECT_H__ /* * CompselectBehavior */ typedef enum { COMPSELECT_BEHAVIOR_REFERENCE, COMPSELECT_BEHAVIOR_EMBED, COMPSELECT_BEHAVIOR_INCLUDE } CompselectBehavior; GType compselect_behavior_get_type (void); #define COMPSELECT_TYPE_BEHAVIOR (compselect_behavior_get_type ()) /* * Compselect */ #define TYPE_COMPSELECT (compselect_get_type()) #define COMPSELECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMPSELECT, Compselect)) #define COMPSELECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMPSELECT, CompselectClass)) #define IS_COMPSELECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMPSELECT)) #define COMPSELECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMPSELECT, CompselectClass)) typedef struct _CompselectClass CompselectClass; typedef struct _Compselect Compselect; struct _CompselectClass { GschemDialogClass parent_class; guint behavior_changed_signal_id; }; struct _Compselect { GschemDialog parent_instance; GtkWidget *hpaned, *vpaned; GtkTreeView *libtreeview, *inusetreeview, *attrtreeview; GtkNotebook *viewtabs; Preview *preview; GtkEntry *entry_filter; GtkButton *button_clear; guint filter_timeout; GtkComboBox *combobox_behaviors; gboolean hidden; }; GType compselect_get_type (void); /* Response IDs for special dialog buttons */ typedef enum { COMPSELECT_RESPONSE_PLACE = 1, COMPSELECT_RESPONSE_HIDE = 2, COMPSELECT_RESPONSE_REFRESH = 3 } CompselectResponseType; #endif /* __X_COMPSEL_H__ */ geda-gaf-1.8.2/gschem/include/gettext.h0000664000175000017500000000601612050461155014630 00000000000000/* Convenience header for conditional use of GNU . Copyright (C) 1995-1998, 2000-2002 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef _LIBGETTEXT_H #define _LIBGETTEXT_H 1 /* NLS can be disabled through the configure --disable-nls option. */ #if ENABLE_NLS /* Get declarations of GNU message catalog functions. */ # include #else /* Solaris /usr/include/locale.h includes /usr/include/libintl.h, which chokes if dcgettext is defined as a macro. So include it now, to make later inclusions of a NOP. We don't include as well because people using "gettext.h" will not include , and also including would fail on SunOS 4, whereas is OK. */ #if defined(__sun) # include #endif /* Disabled NLS. The casts to 'const char *' serve the purpose of producing warnings for invalid uses of the value returned from these functions. On pre-ANSI systems without 'const', the config.h file is supposed to contain "#define const". */ # define gettext(Msgid) ((const char *) (Msgid)) # define dgettext(Domainname, Msgid) ((const char *) (Msgid)) # define dcgettext(Domainname, Msgid, Category) ((const char *) (Msgid)) # define ngettext(Msgid1, Msgid2, N) \ ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2)) # define dngettext(Domainname, Msgid1, Msgid2, N) \ ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2)) # define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \ ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2)) # define textdomain(Domainname) ((const char *) (Domainname)) # define bindtextdomain(Domainname, Dirname) ((const char *) (Dirname)) # define bind_textdomain_codeset(Domainname, Codeset) ((const char *) (Codeset)) #endif /* A pseudo function call that serves as a marker for the automated extraction of messages, but does not call gettext(). The run-time translation is done at a different place in the code. The argument, String, should be a literal string. Concatenated strings and other string expressions won't work. The macro's expansion is not parenthesized, so that it is suitable as initializer for static 'char[]' or 'const char[]' variables. */ #define gettext_noop(String) String #define _(String) gettext(String) #endif /* _LIBGETTEXT_H */ geda-gaf-1.8.2/gschem/lib/0000775000175000017500000000000012220655753012203 500000000000000geda-gaf-1.8.2/gschem/lib/system-gschemrc.scm0000664000175000017500000015716412220647257015762 00000000000000; -*-Scheme-*- ; ; Init file for gschem ; (use-modules (gschem deprecated)) ; ;'s are comments ; keywords are case sensitive (guile feature) ; mode strings are case sensitive ; colors are not case sensitive ; ; gschem-version string ; ; Specifies the version of this file. This number is used to make sure ; that the rc file is compatible with the version of gschem that is ; being run. The end user should *not* change this value. ; (gschem-version "@DATE_VERSION@") ; ; Start of color section ; ;; Make the gschem color maps more user-friendly (color-map-make-friendly display-color-map) (color-map-make-friendly display-outline-color-map) ; Load up a color scheme which has a dark (black) background. ; Comment out the first line and comment in the second line for a ; light (almost white) background. The dark background is the ; original look. ; (load (build-path geda-rc-path "gschem-colormap-darkbg")) ; dark background ;(load (build-path geda-rc-path "gschem-colormap-lightbg")) ; light background ;(load (build-path geda-rc-path "gschem-colormap-bw")) ; light background, bw ; ; End of color section ; ; ; Start of mode related keywords ; ; toolbars string ; ; Controls if the toolbars are visible or not. ; (toolbars "enabled") ;(toolbars "disabled") ; handleboxes string ; ; Controls if the handleboxes (which contain the menu and toolbar) are ; visible or not. ; (handleboxes "enabled") ;(handleboxes "disabled") ; undo-control string ; ; Controls if the undo is enabled or not ; (undo-control "enabled") ;(undo-control "disabled") ; undo-levels number ; ; Determines the number of levels of undo. Basically this number decides ; how many backup schematics are saved on disk. ; (undo-levels 10) ; undo-type string ; ; Controls which kind of undo is used. The default is to use the disk as ; the storing medium (ie after every action the undo information is stored ; to disk). The other mechanism uses only memory. The disk mechanism is ; nice because you get undo-level number of backups of the schematic written ; to disk as backups so you should never lose a schematic due to a crash. ; (undo-type "disk") ;(undo-type "memory") ; undo-panzoom string ; ; Controls if pan or zoom commands are saved in the undo list. If this ; is enabled then a pan or zoom command will be considered a command and ; can be undone. If this is false, then panning and zooming is not saved ; in the undo list and cannot be undone. Note, the current viewport ; information is saved for every command, so the display will change to the ; viewport before a command is executed. ; (undo-panzoom "enabled") ;(undo-panzoom "disabled") ; autosave interval ; ; Controls if a backup copy is made every "interval" seconds. ; Note that the backup copy is made when you make some change to the schematic, ; and there were more than "interval" seconds from the last autosave. ; Autosaving will not be allowed if setting it to zero. (auto-save-interval 120) ; draw-grips string ; ; Controls if the editing grips are drawn when selecting objects ; (draw-grips "enabled") ;(draw-grips "disabled") ; net-endpoint-mode string ; ; Not user changable. (net-endpoint-mode "filledbox") ; net-midpoint-mode string ; ; Not user changable. (net-midpoint-mode "filled") ; net-direction-mode string ; ; Controlls if the net direction mode is used. This mode tries to guess ; the best continuation direction of a L-shape net when adding a net. ; (net-direction-mode "enabled") ;(net-direction-mode "disabled") ; net-selection-mode string ; ; Controls how many net segments are selected when you click at a net ; If one of the enabled items is used, the selection state will toggle ; through all selection states. The mode defines the maximum search depth ; for the net selection mode ; ;(net-selection-mode "disabled") (net-selection-mode "enabled_net") ;(net-selection-mode "enabled_all") ; net-consolidate string ; ; Controls if the net consolidation code is used when schematics are read ; in, written to disk, and when nets are being drawn (does not consolidate ; when things are being copied or moved yet). Net consolidation is the ; connection of nets which can be combined into one. ; Comment out if you want the default mode ; (net-consolidate "enabled") ;(net-consolidate "disabled") ; net-style string ; ; Set to thin if you want thin nets. ; Set to thick if you want thick nets. ; This mode also determines what net style gets printed ; ;(net-style "thin") (net-style "thick") ; netconn-rubberband string ; ; Controls if net connections are maintained when you move a connecting ; component or net. ; (netconn-rubberband "enabled") ;(netconn-rubberband "disabled") ; magnetic-net-mode string ; ; Controls the initial setting of the magnetic net mode. The magnetic ; net mode marks a possible connection that is close to the current ; cursor position (magnetic-net-mode "enabled") ;(magnetic-net-mode "disabled") ; bus-style string ; ; Set to thin if you want thin buses. ; Set to thick if you want thick buses. ; This mode also determines what bus style gets printed ; ;(bus-style "thin") (bus-style "thick") ; pin-style string ; ; Set to thin if you want thin pins ; Set to thick if you want thick pins. ; This mode also determines what pin style gets printed ; ;(pin-style "thin") (pin-style "thick") ; line-style string ; ; Set to thin if you want thin lines ; Set to thick if you want thick lines. ; This mode also determines what line style gets printed ; ;(line-style "thin") (line-style "thick") ; zoom-with-pan string ; ; Sets the zoom in and zoom out functions to pan the display and then zoom. ; Basically zoom in / out where the mouse pointer sits on the display. ; Comment out if you want the default mode. ; (zoom-with-pan "enabled") ;(zoom-with-pan "disabled") ; zoom-gain integer ; ; Controls the percentage size increase when zooming into the page. ; Un-zooming uses the inverse factor such that a zoom in / zoom out ; pair will return the schematic to the same size. ; E.g: ; 20% increment => x 1.2 original size when zooming in ; => x 1 / 1.2 x original size when zooming out ; (zoom-gain 20) ;(zoom-gain 50) ; Hard-coded behaviour up to version 1.5.0.20080706 ; fast-mousepan string ; ; Controls if text is drawn properly or if a simplified version (a line which ; represents the text string) is drawn during mouse pan. Drawing a simple ; line speeds up mousepan a lot for big schematics (fast-mousepan "enabled") ;(fast-mousepan "disabled") ; mousepan-gain integer ; ; Controls how much the display pans when using mousepan. A larger value ; provides greater pan distance when moving the mouse, while a smaller value ; provides a smoother, but smaller pan distance when moving the mouse. (mousepan-gain 1) ;(mousepan-gain 5) ;(mousepan-gain 10) ; keyboardpan-gain integer ; ; Controls how much the display pans when using the keyboard cursor keys. ; A larger value provides greater pan distance when pressing the cursor ; keys, while a smaller value provides a smoother, but smaller pan ; distance when moving the cursor keys. (keyboardpan-gain 20) ;(keyboardpan-gain 10) ;(keyboardpan-gain 1) ;(keyboardpan-gain 5) ; select-slack-pixels integer ; ; Controls how many pixels around an object can still be clicked as part of ; that object. ; A larger value gives greater ease in selecting small, or narrow objects. (select-slack-pixels 10) ;(select-slack-pixels 4) ;(select-slack-pixels 0) ;(select-slack-pixels 1) ; action-feedback-mode string ; ; Set the default action feedback mode (for copy/move/component place). ; Set to outline to get an outline of the selection. ; Set to boundingbox to get a bounding box of the selection. ; For a fast machines with fast video use outline (it looks good). ; For a slow machine use boundingbox; it is much faster. ; Comment out if you want the default mode. ; (action-feedback-mode "outline") ;(action-feedback-mode "boundingbox") ; continue-component-place string ; ; If this enabled then multiple instances of the same component can be placed ; immediately without having to click on the name or Apply in the Component ; Place... dialog box. If this is disabled then only one component can be ; placed (the user must then press Apply in the dialog box to place multiple ; instances of the same component) ; (continue-component-place "enabled") ;(continue-component-place "disabled") ; sort-components-library string ; ; If this is enabled, then the component library will be sorted in ; alphanumeric order. Bear in mind that this option is totally ; cosmetic, and will not alter the component search order (latest ; added gets scanned first). ; (sort-component-library "disabled") ;(sort-component-library "enabled") ; text-feedback string ; ; Controls if text is drawn when doing an xor action (like copy/move) ; Comment out if you want the default mode. ; Not in production yet. ; (text-feedback "only-when-readable") ;(text-feedback "always") ; text-display-zoomfactor number ; ; Sets the zoomfactor number (~150 being the most zoomed out factor) ; (zoom factors get smaller as you zoom in) at which text is displayed ; completely (not a line). This is only valid if above is set to ; "only-when-readable" ; (text-display-zoomfactor 30) ; text-origin-marker string ; ; Controls if the text origin markers are displayed (or not) ; (text-origin-marker "enabled") ;(text-origin-marker "disabled") ; scrollbars string ; ; Controls if the scrollbars are displayed (enabled) or not (disabled) ; If you disable the scrollbars, you will not be able to use the scroll ; wheel on your mouse. This is an unfortunate side effect of how the ; code is implemented. ; (scrollbars "enabled") ;(scrollbars "disabled") ; scrollbar-update string ; ; Specifies the behavior of the scrollbars in the main window. ; continuous - display is redrawn as you move the scrollbar ; delayed - display is redrawn once you stop moving the scrollbar ; Default is continuous ; (scrollbar-update "continuous") ;(scrollbar-update "delayed") ; raise-dialog-boxes-on-expose string ; ; Controls if dialog boxes are raised whenever an expose event happens ; Default is disabled since gtk2 supposedly handles the raising of these ; dialogs correctly now. ; ;(raise-dialog-boxes-on-expose "enabled") (raise-dialog-boxes-on-expose "disabled") ; object-clipping string ; ; Determines if the object clipping code is executed or not ; This code does speed up redraws a bit. ; Possible options: enabled or disabled ; Default is enabled, I do not recommend turning this off, since some X ; servers don't handle clipping correctly. ; (object-clipping "enabled") ;(object-clipping "disabled") ; embed-components string ; ; Determines if the newly placed components are embedded in the schematic ; or if only the filename is specified and the component is searched for ; instead. If it is enabled, then all new components will be embedded ; othewise they are not embedded. This can be controlled on the fly during ; runtime with the "Embed Component" checkbox on the select component dialog ; box ; ;(embed-components "enabled") (embed-components "disabled") ; component-dialog-attributes stringlist ; ; Sets a list of attributs that are visible in the component select dialog. ; The attributes are sorted in the same order as they appear in the list. ; If the first list element is an asterisk "*", all attributes will be ; displayed in alphabetical order. ; An empty list will disable the attribute view in the dialog. ; ;(component-dialog-attributes '("device" "description" "footprint" "comment" ; "net" "model" "model-name" "file" "value" ; "numslots" "slotdef" "slot" ; "documentation" "symversion" "author" ; "use-license=" "dist-license=")) (component-dialog-attributes '("*")) ;(component-dialog-attributes '()) ; logging string ; ; Determines if the logging mechanism is enabled or disabled ; Possible options: enabled or disabled ; Default is enabled. ; See below for the logging-destination keyword for control over ; where the messages go. ; (logging "enabled") ;(logging "disabled") ; log-window string ; ; Controls if the log message window is mapped when gschem is started up ; Possible options: ; startup - opened up when gschem starts ; later - NOT opened up when gschem starts ; (can be opened by Options/Show Log Window) ; (log-window "startup") ;(log-window "later") ; log-window-type string ; ; Controls if the log message window is a transient or if it is decorated ; as a normal window (this is dependant on the window manager doing decoration ; right) ; ; Possible options: ; decorated - log window is a normal decorated window ; transient - log window is a transient dialog box, typically ; not decorated by the window manager ; (log-window-type "decorated") ;(log-window-type "transient") ; logging-destination string ; ; Specifies where log message go during run time. ; Possible options are: ; log_window The log window (if it's visible) ; tty The stdout of the terminal where gschem was run from ; both Both of the above locations ; Message are always written to the log file (unless logging is disabled) ; by the above keyword ; ; Default is log_window ; (logging-destination "log_window") ;(logging-destination "tty") ;(logging-destination "both") ; text-size number ; ; Sets the default text size. ; (text-size 10) ; snap-size number ; ; Sets the default grid spacing at start-up of gschem. ; (snap-size 100) ; text-caps-style string ; ; Sets the default caps style used for the input of text ; lower specifies that all inputed text is in lowercase ; upper specifies that all inputed text is in uppercase ; both specifies that all inputed text is used as is (no case conversion) ; (text-caps-style "both") ;(text-caps-style "lower") ;(text-caps-style "upper") ; file-preview string ; ; Controls if the preview area in the File Open/Save As and Component ; dialog boxes is enabled by default or not ; (file-preview "enabled") ;(file-preview "disabled") ; enforce-hierarchy string ; ; Controls if the movement between hierarchy levels (of the same underlying ; schematics) is allowed or not. ; If this is enabled, then the user cannot (without using the page manager) ; move between hierarchy levels otherwise, if enabled, the user sees all ; the hierarchy levels as being flat. ; (enforce-hierarchy "enabled") ;(enforce-hierarchy "disabled") ; untitled-name string ; ; Specify the default untitled basename (usually only used a startup time) ; And typically not changed at runtime ; (untitled-name "untitled") ; window-size width height ; ; Specifies the size of the drawing area window. The width and height ; are specified in pixels and do not include the three menu bars and ; scrollbars (so the window will be larger than the specified ; measurements). Try to keep an aspect ratio of 1.333333 if at all possible. ; These numbers are NOT the true size of the window, but of the drawing area. ; ;(window-size 650 487) ; Good size for 800x600 (window-size 900 650) ; Good size for 1024x768 ;(window-size 950 712) ; Good size for 1152x864 ;(window-size 1100 825) ; Good size for 1280x1024 ; world-size width height border ; ; Specifies the size of the world and a border (in world space units) ; Be sure all inputs are reals (floats/doubles) and don't try to reverse ; the values: to get a portrait mode. Code to support that needs to be added ; The code that implements this automatically transforms the dimensions into ; the proper aspect ratio. All units are in inches. ; This is not the paper size. That is specified elsewhere. End users should ; not change this at all. ; (world-size 120.0 90.0 1.0) ;(world-size 60.0 45.0 1.0) ; page-size width height ; ; Specifies the size of the default paper size ; Be sure all inputs are reals (floats/doubles) and don't try to reverse ; the values: to get a portrait mode. Code to support that needs to be added ; The code that implements this automatically transforms the dimensions into ; the proper aspect ratio. All units are in inches. (use output-orientation ; to get portrait mode) ; (paper-size 11.0 8.5) ; letter ;(paper-size 14.0 8.5) ; legal ;(paper-size 8.5 5.5) ; statement ;(paper-size 17.0 11.0) ; tabloid ;(paper-size 11.0 17.0) ; ledger ;(paper-size 13.0 8.5) ; folio ;(paper-size 10.833 8.472) ; quarto ;(paper-size 14 10) ; 10x14 ;(paper-size 10.0 7.5) ; executive ;(paper-size 11.0 8.5) ; A ;(paper-size 17.0 11.0) ; B ;(paper-size 22.0 17.0) ; C ;(paper-size 34.0 22.0) ; D ;(paper-size 44.0 34.0) ; E ;(paper-size 46.81 33.11) ; A0 ;(paper-size 33.11 23.39) ; A1 ;(paper-size 23.39 16.54) ; A2 ;(paper-size 16.54 11.69) ; A3 ;(paper-size 11.69 8.27) ; A4 ;(paper-size 8.27 5.83) ; A5 ;(paper-size 5.83 4.13) ; A6 ;(paper-size 4.13 2.91) ; A7 ;(paper-size 2.91 2.05) ; A8 ;(paper-size 2.05 1.46) ; A9 ;(paper-size 1.46 1.02) ; A10 ;(paper-size 1.02 0.71) ; A11 ;(paper-size 0.71 0.51) ; A12 ; paper-sizes string width height ; ; Specifies which paper sizes are available for printing. ; The width and height parameters are in the order for landscape printing, ; so reversing them for portrait won't work just yet. (and that will be ; implemented differently. ; The default paper size is set above. All units are in inches (forgiveness ; please). ; ; You MUST change this list in this file (gschem-systemrc) if you want ; any reordering changes to take effect. ; (paper-sizes "Letter : 8.5 in x 11 in" 11.0 8.5) (paper-sizes "Legal : 8.5 in x 14 in" 14.0 8.5) (paper-sizes "Statement : 5.5 in x 8.5 in" 8.5 5.5) (paper-sizes "Tabloid : 11 in x 17 in" 17.0 11.0) (paper-sizes "Ledger : 17 in x 11 in" 11.0 17.0) (paper-sizes "Folio : 8.5 in x 13 in" 13.0 8.5) (paper-sizes "Quarto : 8.472 in x 10.833 in" 10.833 8.472) (paper-sizes "10x14 : 10 in x 14 in " 14.0 10.0) (paper-sizes "Executive : 7.5 x 10" 10.0 7.5) (paper-sizes "A : 8.5 in x 11 in" 11.0 8.5) (paper-sizes "B : 11 in x 17 in" 17.0 11.0) (paper-sizes "C : 17 in x 22 in" 22.0 17.0) (paper-sizes "D : 22 in x 34 in" 34.0 22.0) (paper-sizes "E : 34 in x 44 in" 44.0 34.0) (paper-sizes "A0 84.10 cm x 118.90 cm" 46.81 33.11) (paper-sizes "A1 59.40 cm x 84.10 cm" 33.11 23.39) (paper-sizes "A2 42.00 cm x 59.40 cm" 23.39 16.54) (paper-sizes "A3 29.70 cm x 42.00 cm" 16.54 11.69) (paper-sizes "A4 21.00 cm x 29.70 cm" 11.69 8.27) (paper-sizes "A5 14.80 cm x 21.00 cm" 8.27 5.83) (paper-sizes "A6 10.50 cm x 14.80 cm" 5.83 4.13) (paper-sizes "A7 7.40 cm x 10.50 cm" 4.13 2.91) (paper-sizes "A8 5.20 cm x 7.40 cm" 2.91 2.05) (paper-sizes "A9 3.70 cm x 5.20 cm" 2.05 1.46) (paper-sizes "A10 2.60 cm x 3.70 cm" 1.46 1.02) (paper-sizes "A11 1.80 cm x 2.60 cm" 1.02 0.71) (paper-sizes "A12 1.30 cm x 1.80 cm" 0.71 0.51) ; print-command string ; ; The command to send data to in order to print to a printer. On most ; systems, this will be "lpr". ; (print-command "lpr") ; output-type string ; ; Controls what is actually printed ; string is either "extents" or "extents no margins" or ; "current window" ; (output-type "extents") ;(output-type "extents no margins") ;(output-type "current window") ;;; (output-type "limits") "limits" is considered deprecated and should ;;; not be used. ; output-orientation string ; ; Controls which way the output page is layed out (landscape or portrait) ; ;(output-orientation "portrait") (output-orientation "landscape") ; output-color string ; ; Controls if output (postscript) is color (enabled) or black/white (disabled) ; (output-color "disabled") ;(output-color "enabled") ; output-capstyle string ; ; Controls the capstyle at the end of lines in the postscript output ; (output-capstyle "square") ;(output-capstyle "round") ;(output-capstyle "butt") ; setpagedevice-orientation string ; ; If enabled, puts a << /Orientation x >> setpagedevice into the postscript ; output. x is either 1 for landscape or 0 for portrait. ; (setpagedevice-orientation "disabled") ;(setpagedevice-orientation "enabled") ; setpagedevice-pagesize string ; ; If enabled, puts a << /PageSize XxY >> setpagedevice into the postscript ; output. XxY is the size of the paper in points. ; (setpagedevice-pagesize "disabled") ;(setpagedevice-pagesize "enabled") ; image-color string ; ; Controls if image (png) is color (enabled) or black/white (disabled) ; (image-color "enabled") ;(image-color "disabled") ; middle-button string ; ; Controls if the middle mouse button draws strokes, repeats the last ; command, does an action (move and copy (holding down the ALT key) ; are supported) on a single objects, or if it does the mouse panning. ; (middle-button "mousepan") ;(middle-button "action") ;(middle-button "stroke") ;(middle-button "repeat") ; third-button string ; ; Controls if the third mouse button performs the popup ("popup") or ; if it does the mouse panning ("mousepan") ; (third-button "popup") ;(third-button "mousepan") ; scroll-wheel string ; ; Controls the binding of the mouse scroll wheel. ; "classic" style is the gschem default, where scrolling with no modifier ; key is mapped to zoom, + CTRL -> x-axis pan, + SHIFT -> y-axis pan. ; "gtk" style changes the behaviour to be more like other GTK appliactions, ; no modifier -> y-axis pan, + CTRL -> zoom, + SHIFT -> x-axis pan. (scroll-wheel "classic") ;(scroll-wheel "gtk") ; scrollpan-steps integer ; ; Controls the number of scroll pan events required to traverse the viewed ; schematic area. Larger numbers mean more scroll steps are required to ; pan across the viewed area and giving finer control over positioning. (scrollpan-steps 8) ;(scrollpan-steps 4) ; Hard-coded behaviour up to version 1.5.0.20080706 ; warp-cursor string ; ; Controls if the cursor is warped (or moved) when you zoom in and out. ; Some people find this forced cursor movement annoying. ; (warp-cursor "enabled") ;(warp-cursor "disabled") ; Bus ripper controls ; The following keywords control the auto bus ripper addition code ; ; bus-ripper-size : Sets the size of the auto bus rippers. ; bus-ripper-type : Sets the bus ripper type either a "component" or ; plain "net" ; bus-ripper-syname : If above is set to component, specify the symbol name. ; The symbol must exist in a component library ; bus-ripper-rotation : Either "symmetric" or "non-symmetric". This deals ; with how the bus ripper symbol is rotated when it ; is auto added to a schematic. ; ; The default bus ripper (bus-ripper-size 200) (bus-ripper-type "component") (bus-ripper-symname "busripper-1.sym") (bus-ripper-rotation "non-symmetric") ; A symmetric alternative ;(bus-ripper-size 200) ;(bus-ripper-type "component") ;(bus-ripper-symname "busripper-2.sym") ;(bus-ripper-rotation "symmetric") ; A simple net ;(bus-ripper-size 200) ;(bus-ripper-type "net") ; Dots grid dot size ; ; The dots-grid-dot-size keyword controls the size of the grid dots in the ; dots grid display. The units are in pixels. The default (min) value of 1 ; is the best performing as the grid dot size is rendered as a single pixel. ; Values of 2 and 3 are good values to try if the default grid dot size is ; too small for your tastes. Anything larger than 3 is probably too large. ; (dots-grid-dot-size 1) ;(dots-grid-dot-size 2) ;(dots-grid-dot-size 3) ; Dots grid mode ; ; The dots-grid-mode keyword controls the mode of the dotted grid, either ; variable or fixed. In the variable mode, the grid spacing changes ; depending on the zoom factor. In the fixed mode, the grid always ; represents the same number of units as the snap-spacing. You can ; control the density of the grid using the dots-grid-fixed-threshold. (dots-grid-mode "variable") ;(dots-grid-mode "fixed") ; Dots grid fixed threshold ; ; The dots-grid-fixed-threshold specifies the minimum number of pixels ; grid-spacing for the grid to be displayed. Using this parameter you can ; control thedensity of the displayed grid (smaller numbers will cause the ; grid to be drawn denser). This mode is only used when grid-mode is fixed. ; (dots-grid-fixed-threshold 10) ; Mesh grid display threshold ; ; The mesh-grid-display-threshold specifies the minimum line pitch for a the ; grid to be displayed. Using this parameter you can control maximum density ; of the displayed before the minor, then major grid-lines are switched off. ; (mesh-grid-display-threshold 3) ; force-boundingbox string ; ; Controls if the entire bounding box of a symbol is used when figuring out ; whichend of the pin is considered the active port. Enable this when ; gschem is guessing incorrectly. ; (force-boundingbox "disabled") ;(force-boundingbox "enabled") ; add-attribute-offset integer ; ; This has not been implemented/debugged yet. ; This has not been implemented/debugged yet. ; This has not been implemented/debugged yet. ; ; Controls a offset which is added to the location of text items that are ; added to an object as an attribute. This offset is added when the following ; conditions occur: ; ; 1) Add/Attribute... has been invoked via the hotkey ; 2) It is the the "netname" attribute being added ; 3) It is being attached to a horizontal or vertical net segment ; 4) The initial mouse position is at or near the actual net (with one ; grid unit). ; ; If these four conditions are not met, then this offset is not added. ;(add-attribute-offset 50) ; reset-componet-library ; ; When reset-component-library is executed, then all known component library ; paths are erased. This is useful if the user wants to override all the ; system provided paths and provide his/her own set. Normally this is not ; commented in. ; ; (reset-component-library) ; reset-source-library ; ; When reset-source-library is executed, then all known source library ; paths are erased. This is useful if the user wants to override all the ; system provided paths and provide his/her own set. Normally this is not ; commented in. ; ; (reset-source-library) ; ; End of mode related keywords ; ; ; Start of hooks ; ;; ;; Comment in this scheme code if you want automatic numbering when ;; placing new component and copying components. ; ;(load-from-path "auto-uref.scm") ;(add-hook! add-component-hook auto-uref) ;(add-hook! copy-component-hook auto-uref) ; ;; Define value of page-offset for auto number on insert. ;; Refdeses will be numbered from integer multiples of page-offset, ;; depending on the lowest refdes value found on the page. ;; If lowest value is 323 and page offset is 100, then next refdes ;; will be 301. ;; Setting to 0 disables the feature. ; ;(auto-uref-set-page-offset 100) ; Define default pin attributes ; Attributes: ; - Attribute name. ; - Value of the attribute. ; - Visibility: #t (visible) or #f (hidden). ; - Show_list: a list containing what to show, using ; elements like "name" or "value", or an empty list. (define default-pin-attributes '(("pintype" "unknown" #f ()) ("pinlabel" "unknown" #t ("value")) ("pinnumber" "0" #t ("value")) ("pinseq" "0" #f ()))) ; Convert a character into a string (define char2str (lambda (char) (list->string (list char)))) ; Attribute autoplacement grid (define autoplace-attributes-grid 50) ; Load the default position of attributes, for attribute autoplacing ; functions. (load-from-path "default-attrib-positions.scm") ; Adds the default pin attributes to each newly placed pin. (define (add-default-pin-attributes object) (for-each (lambda (a) (apply add-attribute-to-object object a)) default-pin-attributes)) ; Comment in this hook to automatically add the default attributes to ; each newly placed pin (add-hook! add-pin-hook add-default-pin-attributes) ; Comment in this to load the functions to place the attributes automatically. (load-from-path "auto-place-attribs.scm") ; Autoplace pin text attributes hook. ; Comment in these if you want the pin attributes to be automatically placed. ; There are different hooks for situations like adding a new pin and rotating ; or mirroring an existing one. ; The #t at the end means that function is appended to the end of the hook. (add-hook! add-pin-hook (lambda (pin) (autoplace-pin-attributes pin )) #t) (add-hook! rotate-pin-hook (lambda (pin) (autoplace-pin-attributes pin )) #t) (add-hook! mirror-pin-hook (lambda (pin) (autoplace-pin-attributes pin )) #t) ; Autoplace component/net/buses text attributes hook. ; Comment in these if you want the component attributes to be ; automatically placed. ; There are different hooks for situations like adding a new pin, rotating ; or mirroring an existing one, adding a new attribute or a new component. ; The #t at the end means that function is appended to the end of the hook. ;(add-hook! add-component-object-hook (lambda (object) ; (autoplace-object-attributes object)) #t) ;(add-hook! rotate-component-object-hook (lambda (object) ; (autoplace-object-attributes object)) #t) ;(add-hook! mirror-component-object-hook (lambda (object) ; (autoplace-object-attributes object)) #t) ;(add-hook! add-attribute-hook (lambda (object) ; (autoplace-object-attributes object)) #t) ;(add-hook! complex-place-list-changed-hook (lambda (object) ; (autoplace-object-attributes object)) #t) ; Automatically place a titleblock (or other components) when creating ; a new page. ; Comment in these lines if you want gschem to automatically place a titleblock ; when you create a new _empty_ page. ; Users can customize the default titleblock by adding the following line ; (without the semi-colons at the beginning) to the gschemrc file: ;; (define default-titleblock "title-A4.sym") ;; Change "title-A4.sym" by the name of your prefered titleblock! ; ; If you don't want a titleblock to be added automatically, then add one of ; the following lines to your gschemrc file (without the semicolon). ; There are several ways, so just choose one: ; (define default-titleblock "") ; (define default-titleblock '()) ; (define default-titleblock #f) ; (define default-titleblock "title-B.sym") ; Load the regular expressions module (if (provided? 'regex) (use-modules (ice-9 regex)) (display "Your Guile installation doesn't provide the regex module.\n")) (add-hook! (@ (gschem hook) new-page-hook) (lambda (page) ; Only place the titleblock if there are no objects in the page ; and the page filename ends in ".sym". (if (and (null? (get-objects-in-page page)) ; If the guile installation doesn't provide the regex module, ; don't care about the page filename. (if (provided? 'regex) (not (string-match ".*\\.[sS][yY][mM]" (get-page-filename page))) #t)) ; Syntax Symbol name X Y angle selectable mirrored (add-component-at-xy page default-titleblock 40000 40000 0 #f #f)) ;; After adding titleblock, reset page to mark as unchanged. ((@ (geda page) set-page-dirty!) (active-page) #f)) #t) ; Evaluate an expression entered in the magic-colon text box. ; In 20 years this might dispatch to an interpreter for some other language. (define (invoke-macro s-expr) (gschem-log (format #f "~s\n" (eval-string-protected s-expr)))) ; ; End of hooks ; ; ; Start of path related keywords ; ; attribute-name string ; ; Specifies the default attributes which are presented to the user in the ; "Add Attribute" dialog box. ; The main purpose of this keyword is to allow the user to add any attributes ; which should be in this dialog box. ; Some of these names are specific for symbols while others are for general ; components or nets. The attribute names are case sensitive. (change this?) ; ; The order of the attribute-name keywords determines the order they ; are displayed. ; (attribute-name "netname") (attribute-name "footprint") (attribute-name "value") (attribute-name "refdes") (attribute-name "source") (attribute-name "model-name") (attribute-name "model") (attribute-name "net") (attribute-name "device") (attribute-name "pinnumber") (attribute-name "pinseq") (attribute-name "pintype") (attribute-name "pinlabel") (attribute-name "numslots") (attribute-name "slot") (attribute-name "slotdef") (attribute-name "graphical") (attribute-name "description") (attribute-name "documentation") (attribute-name "symversion") (attribute-name "comment") (attribute-name "author") (attribute-name "dist-license") (attribute-name "use-license") (attribute-name "file") ; ; End of path related keywords ; ; ; Start of stroke related keywords ; ; ; This section defines associations between a stroke sequence and a ; guile function which is executed when the stroke is drawn in the ; gschem window ; ; Strokes are defined as follows: ; ; 1 2 3 ; ; 4 5 6 ; ; 7 8 9 ; ; The sequence of number such as "852" specify how the stroke is drawn. ; Sequence "852" happens to be a vertical line drawn from the bottom going ; up. ; ; Please see the libstroke documentation for further information on the ; stroke description. ; ; For the most part I went a little overboard on the stroke defs, you ; probably can get away with many less stroke defs, but I'm a very ; sloppy stroke drawing person. :-) Guess my teachers were always ; right-- my handwritting was/is awful. ; ; Be careful here, strokes is a rather large list, and make sure you maintain ; proper ( and )'s. ; (define strokes ; Letter L for line '(("14789" . add-line) ; Letter Z for zoom window ("125789" . view-zoom-box) ("1254789" . view-zoom-box) ("1235789" . view-zoom-box) ("2354789" . view-zoom-box) ("2324789" . view-zoom-box) ("12354789" . view-zoom-box) ("12324789" . view-zoom-box) ("12365789" . view-zoom-box) ("1232789" . view-zoom-box) ; line up for zoom out ("852" . view-zoom-out) ; line down for zoom in ("258" . view-zoom-in) ; Letter C for copy ("3214789" . edit-copy) ("214789" . edit-copy) ("21489" . edit-copy) ("32478" . edit-copy) ; Letter E for edit ("563214789" . edit-edit) ("53214789" . edit-edit) ("5321478" . edit-edit) ("5214789" . edit-edit) ("521478" . edit-edit) ("453214789" . edit-edit) ("45321478" . edit-edit) ("456321478" . edit-edit) ("456214789" . edit-edit) ("45621478" . edit-edit) ; Letter N for net ("415963" . add-net) ("7414863" . add-net) ("74148963" . add-net) ("74158963" . add-net) ("7415963" . add-net) ; Letter M for move ("741236963" . edit-move) ("7412572369" . edit-move) ("7412575369" . edit-move) ("741258369" . edit-move) ("74125852369" . edit-move) ("7412585369" . edit-move) ("74125863" . edit-move) ("74126963" . edit-move) ("741475369" . edit-move) ("7414785369" . edit-move) ("74148369" . edit-move) ("7414852369" . edit-move) ("741485369" . edit-move) ("74148669" . edit-move) ("741552369" . edit-move) ("741575369" . edit-move) ("7415852369" . edit-move) ("741585369" . edit-move) ("74185369" . edit-move) ("74255369" . edit-move) ("7425852369" . edit-move) ("742585369" . edit-move) ("7426963" . edit-move) ("74585369" . edit-move) ; Letter D for delete ("14786321" . edit-delete) ("14789621" . edit-delete) ("147896321" . edit-delete) ("15896321" . edit-delete) ("257896321" . edit-delete) ("25896321" . edit-delete) ("4789621" . edit-delete) ; Letter S for select ("2145987" . edit-select ) ("215987" . edit-select ) ("2156987" . edit-select ) ("21256987" . edit-select ) ("3215987" . edit-select ) ("32156987" . edit-select ) ("32148987" . edit-select ) ("32145987" . edit-select ))) ; ; End of stroke related keywords ; ; ; Start of keymapping related keywords ; ;;;; Keymapping ;; ;; Everything is case-sensitive. Any number of keys may be bound in ;; sequence, and each keystroke consists of a non-modifier key with ;; some number of modifiers applied. Examples: ;; ;; * (global-set-key "F N" 'file-new-window) ;; ;; The "New Window" command will be run when an is typed, ;; followed by an . ;; ;; * (global-set-key "A" 'edit-deselect) ;; ;; The "Deselect All" command will be run when the and ;; keys are held down, and the key is pressed. ;; ;; * (global-set-key "O S" 'options-snapsize) ;; ;; The "Snap Size" dialog box will be shown when an is typed, ;; followed by an typed with the key held down. ;; ;; Key names can be found in /usr/include/gtk-2.0/gdk/gdkkeysyms.h on ;; most Linux systems. For other systems, please see your platform ;; documentation. ;; ;; Later keybindings override earlier ones. (global-set-key "A C" 'add-component) (global-set-key "A A" 'add-attribute-hotkey) (global-set-key "A N" 'add-net-hotkey) (global-set-key "A U" 'add-bus-hotkey) (global-set-key "A T" 'add-text) (global-set-key "A L" 'add-line-hotkey) (global-set-key "A B" 'add-box-hotkey) (global-set-key "A I" 'add-circle-hotkey) (global-set-key "A R" 'add-arc-hotkey) (global-set-key "A P" 'add-pin-hotkey) (global-set-key "A G" 'add-picture-hotkey) (global-set-key "A" 'edit-select-all) (global-set-key "A" 'edit-deselect) (global-set-key "B" 'add-box-hotkey) (global-set-key "B" 'add-bus-hotkey) (global-set-key "C" 'edit-copy-hotkey) (global-set-key "C" 'clipboard-copy) (global-set-key "D" 'edit-delete) (global-set-key "E U" 'edit-undo) (global-set-key "E R" 'edit-redo) (global-set-key "E S" 'edit-select) (global-set-key "E C" 'edit-copy-hotkey) (global-set-key "E E" 'edit-edit) (global-set-key "E Y" 'edit-mcopy-hotkey) (global-set-key "E X" 'edit-text) (global-set-key "E M" 'edit-move-hotkey) (global-set-key "E D" 'edit-delete) (global-set-key "E R" 'edit-rotate-90-hotkey) (global-set-key "E I" 'edit-mirror-hotkey) (global-set-key "E S" 'edit-slot) (global-set-key "E O" 'edit-color) (global-set-key "E L" 'edit-lock) (global-set-key "E L" 'edit-unlock) (global-set-key "E W" 'edit-linetype) (global-set-key "E F" 'edit-filltype) (global-set-key "E T" 'edit-translate) (global-set-key "E colon" 'edit-invoke-macro) (global-set-key "E B" 'edit-embed) (global-set-key "E U" 'edit-unembed) (global-set-key "E P" 'edit-update) (global-set-key "E N" 'edit-show-hidden) (global-set-key "F W" 'file-new-window) (global-set-key "F N" 'file-new) (global-set-key "F O" 'file-open) (global-set-key "F S" 'file-save) (global-set-key "F E" 'page-close) (global-set-key "F A" 'file-save-as) (global-set-key "F L" 'file-save-all) (global-set-key "F P" 'file-print) (global-set-key "F R" 'page-revert) (global-set-key "F I" 'file-image) (global-set-key "F T" 'file-script) (global-set-key "F C" 'file-close-window) (global-set-key "F Q" 'file-quit) (global-set-key "H A" 'help-about) (global-set-key "H M" 'help-manual) (global-set-key "H F" 'help-faq) (global-set-key "H W" 'help-wiki) (global-set-key "H H" 'help-hotkeys) (global-set-key "H C" 'hierarchy-documentation) (global-set-key "H D" 'hierarchy-down-schematic) (global-set-key "H S" 'hierarchy-down-symbol) (global-set-key "H U" 'hierarchy-up) (global-set-key "H O" 'hierarchy-documentation) (global-set-key "I" 'add-component) (global-set-key "L" 'add-line-hotkey) (global-set-key "M" 'edit-move-hotkey) (global-set-key "N" 'add-net-hotkey) (global-set-key "O T" 'options-text-size) (global-set-key "O A" 'options-action-feedback) (global-set-key "O G" 'options-grid) (global-set-key "O S" 'options-snap) (global-set-key "O R" 'options-rubberband) (global-set-key "O M" 'options-magneticnet) (global-set-key "O S" 'options-snap-size) (global-set-key "O L" 'options-show-log-window) (global-set-key "O C" 'options-show-coord-window) (global-set-key "P M" 'page-manager) (global-set-key "P N" 'page-next) (global-set-key "P P" 'page-prev) (global-set-key "P E" 'page-new) (global-set-key "P R" 'page-revert) (global-set-key "P C" 'page-close) (global-set-key "P D" 'page-discard) (global-set-key "P P" 'page-print) (global-set-key "Q" 'file-quit) (global-set-key "R" 'view-redraw) (global-set-key "R" 'edit-redo) (global-set-key "S" 'edit-select) (global-set-key "T A" 'attributes-attach) (global-set-key "T D" 'attributes-detach) (global-set-key "T N" 'attributes-show-name) (global-set-key "T V" 'attributes-show-value) (global-set-key "T B" 'attributes-show-both) (global-set-key "T T" 'attributes-visibility-toggle) (global-set-key "T F" 'edit-find-text) (global-set-key "T H" 'edit-hide-text) (global-set-key "T H" 'edit-show-text) (global-set-key "T U" 'edit-autonumber) (global-set-key "U" 'edit-undo) (global-set-key "U" 'edit-undo) (global-set-key "V R" 'view-redraw) (global-set-key "V B" 'view-zoom-box-hotkey) (global-set-key "V F" 'view-zoom-full) (global-set-key "V E" 'view-zoom-extents) (global-set-key "V P" 'view-pan-hotkey) (global-set-key "V O" 'view-zoom-out-hotkey) (global-set-key "V I" 'view-zoom-in-hotkey) (global-set-key "V D" 'view-dark-colors) (global-set-key "V L" 'view-light-colors) (global-set-key "V W" 'view-bw-colors) (global-set-key "V" 'clipboard-paste-hotkey) (global-set-key "W" 'view-zoom-box-hotkey) (global-set-key "X" 'view-pan-hotkey) (global-set-key "X" 'clipboard-cut) (global-set-key "Y C" 'buffer-copy1) (global-set-key "Y U" 'buffer-cut1) (global-set-key "Y P" 'buffer-paste1-hotkey) (global-set-key "Y" 'edit-redo) (global-set-key "Z" 'view-zoom-in-hotkey) (global-set-key "Z" 'view-zoom-out-hotkey) (global-set-key "Z" 'edit-undo) (global-set-key "Escape" 'cancel) (global-set-key "bracketright" 'options-scale-up-snap-size) (global-set-key "bracketleft" 'options-scale-down-snap-size) (global-set-key "Left" 'view-pan-left) (global-set-key "Right" 'view-pan-right) (global-set-key "Up" 'view-pan-up) (global-set-key "Down" 'view-pan-down) (global-set-key "period" 'repeat-last-command) (global-set-key "colon" 'edit-invoke-macro) (global-set-key "comma" 'misc-misc) (global-set-key "equal" 'misc-misc2) (global-set-key "plus" 'misc-misc3) (global-set-key "Delete" 'edit-delete) (global-set-key "greater" 'page-next) (global-set-key "Page_Down" 'page-next) (global-set-key "less" 'page-prev) (global-set-key "Page_Up" 'page-prev) ; ; Here are the definitions for the top pull down menu bar ; ; The "menu item name" is the name of the item as it will appear in the menu ; The "menu action" is the scheme function which is executed when the item ; is selected off of the menu. And "menu hotkey function" is the scheme ; function which is executed when the hotkey is pressed. ; "menu hotkey function" has no real functionality in the menuing scheme other ; than providing the information as to what hotkey to display in the menu. ; "menu hotkey function" is not executed when you select an item off of the ; list. The hotkeys which are displayed are defined by the global-keymap. ; Actions can have several hotkeys, but the displayed keys are the last ; ones found. ; ; The SEPARATOR keyword is case sensitive and puts a seperator into the menu. ; (or (defined? 'define-syntax) (use-modules (ice-9 syncase))) ;; Define a no-op macro for flagging strings as translatable. (define-syntax N_ (syntax-rules () ((N_ expr) expr))) (define file-menu-items ;; ;; menu item name menu action menu hotkey function menu stock icon ;; `( (,(N_ "_New") file-new file-new "gtk-new") (,(N_ "_Open...") file-open file-open "gtk-open") ;; The entry below will be removed from the menu if glib < 2.6 is detected (,(N_ "Open Recen_t") #f #f #f) ("SEPARATOR" #f #f #f) (,(N_ "_Save") file-save file-save "gtk-save") (,(N_ "Save _As...") file-save-as file-save-as "gtk-save-as") (,(N_ "Save All") file-save-all file-save-all "gtk-save") (,(N_ "_Revert") page-revert page-revert "gtk-revert-to-saved") ("SEPARATOR" #f #f #f) (,(N_ "_Print...") file-print file-print "gtk-print") (,(N_ "Write _image...") file-image file-image #f) ("SEPARATOR" #f #f #f) (,(N_ "Execute Script...") file-script file-script "gtk-execute") ("SEPARATOR" #f #f #f) (,(N_ "New Window") file-new-window file-new-window #f) (,(N_ "_Close Window") file-close-window file-close-window "gtk-close") (,(N_ "_Quit") file-quit file-quit "gtk-quit"))) (define edit-menu-items ;; ;; menu item name menu action menu hotkey action menu stock icon ;; `( (,(N_ "_Undo") edit-undo edit-undo "gtk-undo") (,(N_ "_Redo") edit-redo edit-redo "gtk-redo") ("SEPARATOR" #f #f #f) (,(N_ "Cu_t") clipboard-cut clipboard-cut "gtk-cut") (,(N_ "_Copy") clipboard-copy clipboard-copy "gtk-copy") (,(N_ "_Paste") clipboard-paste-hotkey clipboard-paste-hotkey "gtk-paste") (,(N_ "_Delete") edit-delete edit-delete "gtk-delete" ) ("SEPARATOR" #f #f #f) (,(N_ "Select Mode") edit-select edit-select #f) (,(N_ "Select All") edit-select-all edit-select-all "gtk-select-all") (,(N_ "Deselect") edit-deselect edit-deselect #f) (,(N_ "Copy Mode") edit-copy edit-copy-hotkey #f) (,(N_ "Multiple Copy Mode") edit-mcopy edit-mcopy-hotkey #f) (,(N_ "Move Mode") edit-move edit-move-hotkey #f) (,(N_ "Rotate 90 Mode") edit-rotate-90 edit-rotate-90-hotkey #f) (,(N_ "Mirror Mode") edit-mirror edit-mirror-hotkey #f) ("SEPARATOR" #f #f #f) (,(N_ "Edit...") edit-edit edit-edit #f) (,(N_ "Edit Text...") edit-text edit-text "gtk-edit") (,(N_ "Slot...") edit-slot edit-slot #f) (,(N_ "Color...") edit-color edit-color "gtk-select-color") (,(N_ "Line Width & Type...") edit-linetype edit-linetype #f) (,(N_ "Fill Type...") edit-filltype edit-filltype #f) (,(N_ "Symbol Translate...") edit-translate edit-translate #f) (,(N_ "Lock") edit-lock edit-lock #f) (,(N_ "Unlock") edit-unlock edit-unlock #f) ("SEPARATOR" #f #f #f) (,(N_ "Invoke Macro") edit-invoke-macro edit-invoke-macro #f) (,(N_ "Embed Component/Picture") edit-embed edit-embed #f) (,(N_ "Unembed Component/Picture") edit-unembed edit-unembed #f) (,(N_ "Update Component") edit-update edit-update "gtk-refresh") (,(N_ "Show/Hide Inv Text") edit-show-hidden edit-show-hidden #f))) (define buffer-menu-items ;; ;; menu item name menu action menu hotkey action menu stock icon ;; `( (,(N_ "Copy into 1") buffer-copy1 buffer-copy1) (,(N_ "Copy into 2") buffer-copy2 buffer-copy2) (,(N_ "Copy into 3") buffer-copy3 buffer-copy3) (,(N_ "Copy into 4") buffer-copy4 buffer-copy4) (,(N_ "Copy into 5") buffer-copy5 buffer-copy5) (,(N_ "Cut into 1") buffer-cut1 buffer-cut1) (,(N_ "Cut into 2") buffer-cut2 buffer-cut2) (,(N_ "Cut into 3") buffer-cut3 buffer-cut3) (,(N_ "Cut into 4") buffer-cut4 buffer-cut4) (,(N_ "Cut into 5") buffer-cut5 buffer-cut5) (,(N_ "Paste from 1") buffer-paste1-hotkey buffer-paste1-hotkey) (,(N_ "Paste from 2") buffer-paste2-hotkey buffer-paste2-hotkey) (,(N_ "Paste from 3") buffer-paste3-hotkey buffer-paste3-hotkey) (,(N_ "Paste from 4") buffer-paste4-hotkey buffer-paste4-hotkey) (,(N_ "Paste from 5") buffer-paste5-hotkey buffer-paste5-hotkey))) (define view-menu-items ;; ;; menu item name menu action menu hotkey action menu stock icon ;; `( (,(N_ "_Redraw") view-redraw view-redraw "gtk-refresh") (,(N_ "_Pan") view-pan view-pan-hotkey #f) (,(N_ "Zoom _Box") view-zoom-box view-zoom-box-hotkey #f) (,(N_ "Zoom _Extents") view-zoom-extents view-zoom-extents "gtk-zoom-fit") (,(N_ "Zoom _In") view-zoom-in view-zoom-in-hotkey "gtk-zoom-in") (,(N_ "Zoom _Out") view-zoom-out view-zoom-out-hotkey "gtk-zoom-out") (,(N_ "Zoom _Full") view-zoom-full view-zoom-full #f) ("SEPARATOR" #f #f #f) (,(N_ "_Dark color scheme") view-dark-colors view-dark-colors #f) (,(N_ "_Light color scheme") view-light-colors view-light-colors #f) (,(N_ "B_W color scheme") view-bw-colors view-bw-colors #f) )) (define page-menu-items ;; ;; menu item name menu action menu hotkey action menu stock icon ;; `( (,(N_ "_Manager...") page-manager page-manager #f) (,(N_ "_Previous") page-prev page-prev "gtk-go-back") (,(N_ "_Next") page-next page-next "gtk-go-forward") (,(N_ "Ne_w") page-new page-new "gtk-new") (,(N_ "_Revert") page-revert page-revert "gtk-revert-to-saved") (,(N_ "_Close") page-close page-close "gtk-close") ("SEPARATOR" #f #f #f) (,(N_ "_Discard") page-discard page-discard "gtk-discard"))) (define add-menu-items ;; ;; menu item name menu action menu hotkey action menu stock icon ;; `( (,(N_ "_Component...") add-component add-component) (,(N_ "_Net") add-net add-net-hotkey) (,(N_ "B_us") add-bus add-bus-hotkey) (,(N_ "_Attribute...") add-attribute add-attribute-hotkey) (,(N_ "_Text...") add-text add-text) ("SEPARATOR" #f #f) (,(N_ "_Line") add-line add-line-hotkey) (,(N_ "_Box") add-box add-box-hotkey) (,(N_ "C_ircle") add-circle add-circle-hotkey) (,(N_ "A_rc") add-arc add-arc-hotkey) (,(N_ "_Pin") add-pin add-pin-hotkey) (,(N_ "Pictu_re...") add-picture add-picture-hotkey))) (define hierarchy-menu-items ;; ;; menu item name menu action menu hotkey action menu stock icon ;; `( (,(N_ "_Down Schematic") hierarchy-down-schematic hierarchy-down-schematic "gtk-go-down") (,(N_ "Down _Symbol") hierarchy-down-symbol hierarchy-down-symbol "gtk-goto-bottom") (,(N_ "_Up") hierarchy-up hierarchy-up "gtk-go-up") (,(N_ "D_ocumentation...") hierarchy-documentation hierarchy-documentation #f))) (define attributes-menu-items ;; ;; menu item name menu action menu hotkey action menu stock icon ;; `( (,(N_ "_Attach") attributes-attach attributes-attach #f) (,(N_ "_Detach") attributes-detach attributes-detach #f) (,(N_ "Show _Value") attributes-show-value attributes-show-value #f) (,(N_ "Show _Name") attributes-show-name attributes-show-name #f) (,(N_ "Show _Both") attributes-show-both attributes-show-both #f) (,(N_ "_Toggle Visibility") attributes-visibility-toggle attributes-visibility-toggle #f) (,(N_ "_Find Specific Text...") edit-find-text edit-find-text "gtk-find") (,(N_ "_Hide Specific Text...") edit-hide-text edit-hide-text #f) (,(N_ "_Show Specific Text...") edit-show-text edit-show-text #f) (,(N_ "A_utonumber Text...") edit-autonumber edit-autonumber #f))) (define options-menu-items ;; ;; menu item name menu action menu hotkey action menu stock icon ;; `( (,(N_ "_Text Size...") options-text-size options-text-size) (,(N_ "Cycle _grid styles") options-grid options-grid) (,(N_ "Toggle _Snap On/Off") options-snap options-snap) (,(N_ "Snap Grid S_pacing...") options-snap-size options-snap-size) (,(N_ "Scale _up Grid Spacing") options-scale-up-snap-size options-scale-up-snap-size) (,(N_ "Scale _down Grid Spacing") options-scale-down-snap-size options-scale-down-snap-size) (,(N_ "Toggle _Outline/Box") options-action-feedback options-action-feedback) (,(N_ "Toggle Net _Rubberband") options-rubberband options-rubberband) (,(N_ "Toggle _Magnetic Net") options-magneticnet options-magneticnet) (,(N_ "Show _Log Window...") options-show-log-window options-show-log-window) (,(N_ "Show _Coord Window...") options-show-coord-window options-show-coord-window))) (define help-menu-items ;; ;; menu item name menu action menu hotkey action menu stock icon ;; `( (,(N_ "gEDA Docu_mentation...") help-manual help-manual "gtk-help") (,(N_ "gschem _FAQ...") help-faq help-faq #f) (,(N_ "gEDA _Wiki...") help-wiki help-wiki #f) (,(N_ "Component D_ocumentation...") hierarchy-documentation hierarchy-documentation #f) ("SEPARATOR" #f #f #f) (,(N_ "_Hotkeys...") help-hotkeys help-hotkeys #f) (,(N_ "_About...") help-about help-about "gtk-about"))) ; ; Now actually add the menus. The order here defines the order in which ; the menus appear in the top menu bar. ; (add-menu (N_ "_File") file-menu-items) (add-menu (N_ "_Edit") edit-menu-items) (add-menu (N_ "_Buffer") buffer-menu-items) (add-menu (N_ "_View") view-menu-items) (add-menu (N_ "_Page") page-menu-items) (add-menu (N_ "_Add") add-menu-items) (add-menu (N_ "Hie_rarchy") hierarchy-menu-items) (add-menu (N_ "A_ttributes") attributes-menu-items) (add-menu (N_ "_Options") options-menu-items) (add-menu (N_ "_Help") help-menu-items) ; ; End of keymapping related keywords ; ;; ;; Major modes ;; ;; Comment in this scheme code if you want to link with pcb ;; ;; Please note that the code in pcb.scm is still highly experimental ;; and there are known (and easy) ways to crash pcb and/or gschem with this code. ;; The short answer is neither program likes a pipe to break. ;; ; (load-from-path "pcb.scm") geda-gaf-1.8.2/gschem/lib/Makefile.am0000664000175000017500000000156012210463147014152 00000000000000 rcdatadir = $(GEDARCDIR) rcdata_DATA = system-gschemrc gschem-gtkrc gschem-colormap-lightbg gschem-colormap-darkbg gschem-colormap-bw system-gschemrc: $(top_builddir)/configure system-gschemrc.scm @date_ver=$(DATE_VERSION); \ sed -e"s:[@]DATE_VERSION@:$$date_ver:" \ < $(srcdir)/system-gschemrc.scm > system-gschemrc.new; \ if diff system-gschemrc system-gschemrc.new > /dev/null 2>&1; then \ rm system-gschemrc.new; \ echo "system-gschemrc is unchanged"; \ else \ echo "Recreating system-gschemrc"; \ mv system-gschemrc.new system-gschemrc; \ fi EXTRA_DIST = system-gschemrc.scm gschem-gtkrc gschem-colormap-lightbg gschem-colormap-darkbg gschem-colormap-bw MOSTLYCLEANFILES = *.log *~ CLEANFILES = *.log *~ DISTCLEANFILES = *.log core FILE *~ system-gschemrc MAINTAINERCLEANFILES = system-gschemrc system-gnetlistrc system-gsymbolrc *.log *~ Makefile.in geda-gaf-1.8.2/gschem/lib/gschem-gtkrc0000664000175000017500000000055612210463147014423 00000000000000 # # gschem's gtkrc file # # A proportional font is not longer required # # Comment this in, if you want to change the font #style "default" #{ # font = "fixed" #} #widget_class "*" style "default" #old way commented out, still works, but use the above block. #style "defaultfont" #{ # font = "fixed" #} # common default #class "GtkWidget" style "defaultfont" geda-gaf-1.8.2/gschem/lib/gschem-colormap-lightbg0000664000175000017500000000377212210463147016546 00000000000000; -*-Scheme-*- ; ; Light background color map for gschem ; ; ;'s are comments ; Keywords are case sensitive (guile feature) ; Colors are not case sensitive ; ; Colors may be specified in "#RRGGBB" or "#RRGGBBAA" format. If the alpha ; value is not specified, full opacity is assumed. ; ; If a color is #f (not a string; Scheme 'false'), then objects of ; that color will never be drawn. (display-color-map '((background "#f0f0f0") (pin "#000000") (net-endpoint "#ff0000") (graphic "#008b00") (net "#0000ee") (attribute "#000000") (logic-bubble "#008b8b") (dots-grid "#7f7f7f") (mesh-grid-major "#e1e1e1") (mesh-grid-minor "#e8e8e8") (detached-attribute "#ff0000") (text "#008b00") (bus "#00ee00") (select "#b22222") (bounding-box "#ffa500") (stroke "#a020f0") (zoom-box "#008b8b") (lock "#666666") (output-background #f) (junction "#a020f0") (freestyle1 #f) (freestyle2 #f) (freestyle3 #f) (freestyle4 #f) )) (display-outline-color-map '((background #f) (pin "#4d4d4d") (net-endpoint "#cdcdcd") (graphic "#008b00") (net "#0000cd") (attribute "#4d4d4d") (logic-bubble "#008b8b") (dots-grid #f) (mesh-grid-major #f) (mesh-grid-minor #f) (detached-attribute "#cd0000") (text "#008b00") (bus "#00cd00") (select "#b22222") (bounding-box "#ffa500") (zoom-box "#008b8b") (stroke "#a020f0") (lock "#a9a9a9") (output-background #f) (junction "#7e26cd") (freestyle1 #f) (freestyle2 #f) (freestyle3 #f) (freestyle4 #f) )) geda-gaf-1.8.2/gschem/lib/Makefile.in0000664000175000017500000004553312220655724014200 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = gschem/lib DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(rcdatadir)" DATA = $(rcdata_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ rcdatadir = $(GEDARCDIR) rcdata_DATA = system-gschemrc gschem-gtkrc gschem-colormap-lightbg gschem-colormap-darkbg gschem-colormap-bw EXTRA_DIST = system-gschemrc.scm gschem-gtkrc gschem-colormap-lightbg gschem-colormap-darkbg gschem-colormap-bw MOSTLYCLEANFILES = *.log *~ CLEANFILES = *.log *~ DISTCLEANFILES = *.log core FILE *~ system-gschemrc MAINTAINERCLEANFILES = system-gschemrc system-gnetlistrc system-gsymbolrc *.log *~ Makefile.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gschem/lib/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu gschem/lib/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-rcdataDATA: $(rcdata_DATA) @$(NORMAL_INSTALL) @list='$(rcdata_DATA)'; test -n "$(rcdatadir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(rcdatadir)'"; \ $(MKDIR_P) "$(DESTDIR)$(rcdatadir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(rcdatadir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(rcdatadir)" || exit $$?; \ done uninstall-rcdataDATA: @$(NORMAL_UNINSTALL) @list='$(rcdata_DATA)'; test -n "$(rcdatadir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(rcdatadir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(rcdatadir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-rcdataDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-rcdataDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-rcdataDATA install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags-am uninstall uninstall-am uninstall-rcdataDATA system-gschemrc: $(top_builddir)/configure system-gschemrc.scm @date_ver=$(DATE_VERSION); \ sed -e"s:[@]DATE_VERSION@:$$date_ver:" \ < $(srcdir)/system-gschemrc.scm > system-gschemrc.new; \ if diff system-gschemrc system-gschemrc.new > /dev/null 2>&1; then \ rm system-gschemrc.new; \ echo "system-gschemrc is unchanged"; \ else \ echo "Recreating system-gschemrc"; \ mv system-gschemrc.new system-gschemrc; \ fi # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/gschem/lib/gschem-colormap-bw0000664000175000017500000000400112210463147015520 00000000000000; -*-Scheme-*- ; ; Light background color map for gschem ; ; ;'s are comments ; Keywords are case sensitive (guile feature) ; Colors are not case sensitive ; ; Colors may be specified in "#RRGGBB" or "#RRGGBBAA" format. If the alpha ; value is not specified, full opacity is assumed. ; ; If a color is #f (not a string; Scheme 'false'), then objects of ; that color will never be drawn. (display-color-map '((background "#f0f0f0") (pin "#000000") (net-endpoint "#ff0000") (graphic "#000000") (net "#000000") (attribute "#000000") (logic-bubble "#000000") (dots-grid "#7f7f7f") (mesh-grid-major "#e1e1e1") (mesh-grid-minor "#e8e8e8") (detached-attribute "#ff0000") (text "#000000") (bus "#000000") (select "#b22222") (bounding-box "#ffa500") (stroke "#a020f0") (zoom-box "#008b8b") (lock "#666666") (output-background #f) (junction "#000000") (freestyle1 #f) (freestyle2 #f) (freestyle3 #f) (freestyle4 #f) )) (display-outline-color-map '((background "#f0f0f0") (pin "#4d4d4d") (net-endpoint "#cdcdcd") (graphic "#008b00") (net "#0000cd") (attribute "#4d4d4d") (logic-bubble "#008b8b") (dots-grid #f) (mesh-grid-major #f) (mesh-grid-minor #f) (detached-attribute "#cd0000") (text "#008b00") (bus "#00cd00") (select "#b22222") (bounding-box "#ffa500") (zoom-box "#008b8b") (stroke "#a020f0") (lock "#a9a9a9") (output-background #f) (junction "#7e26cd") (freestyle1 #f) (freestyle2 #f) (freestyle3 #f) (freestyle4 #f) )) geda-gaf-1.8.2/gschem/lib/gschem-colormap-darkbg0000664000175000017500000000377112210463147016357 00000000000000; -*-Scheme-*- ; ; Dark background color map for gschem ; ; ;'s are comments ; Keywords are case sensitive (Guile feature) ; Colors are not case sensitive ; ; Colors may be specified in "#RRGGBB" or "#RRGGBBAA" format. If the alpha ; value is not specified, full opacity is assumed. ; ; If a color is #f (not a string; Scheme 'false'), then objects of ; that color will never be drawn. (display-color-map '((background "#000000") (pin "#ffffff") (net-endpoint "#ff0000") (graphic "#00ff00") (net "#0000ff") (attribute "#ffff00") (logic-bubble "#00ffff") (dots-grid "#bebebe") (mesh-grid-major "#1e1e1e") (mesh-grid-minor "#171717") (detached-attribute "#ff0000") (text "#00ff00") (bus "#00ff00") (select "#ffa500") (bounding-box "#ffa500") (zoom-box "#00ffff") (stroke "#e5e5e5") (lock "#bebebe") (output-background #f) (junction "#ffff00") (freestyle1 #f) (freestyle2 #f) (freestyle3 #f) (freestyle4 #f) )) (display-outline-color-map '((background #f) (pin "#ababab") (net-endpoint "#00ab00") (graphic "#00ab00") (net "#0000ab") (attribute "#abab00") (logic-bubble "#00abab") (dots-grid #f) (mesh-grid-major #f) (mesh-grid-minor #f) (detached-attribute "#ab0000") (text "#00ab00") (bus "#00ab00") (select "#ffa500") (bounding-box "#ffa500") (zoom-box "#00ffff") (stroke "#e5e5e5") (lock "#a9a9a9") (output-background #f) (junction "#abab00") (freestyle1 #f) (freestyle2 #f) (freestyle3 #f) (freestyle4 #f) )) geda-gaf-1.8.2/gschem/Makefile.am0000664000175000017500000000106012204177070013377 00000000000000SUBDIRS = \ po bitmap data docs examples include lib scheme scripts \ src tests EXTRA_DIST = BUGS ChangeLog ChangeLog-1.0 icon-theme-installer if HAVE_GIT_REPO ChangeLog: $(top_builddir)/stamp-git (cd $(srcdir) && $(GIT) log --pretty=medium $(CHANGELOG_BASE).. -- .) > $@ endif HAVE_GIT_REPO maintainer-clean-local: -rm -rf po/*.sed po/*.header po/*.sin po/*.template po/Rules-quot MOSTLYCLEANFILES = *.log core FILE *~ CLEANFILES = *.log core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in ChangeLog geda-gaf-1.8.2/gschem/examples/0000775000175000017500000000000012220655752013252 500000000000000geda-gaf-1.8.2/gschem/examples/multiplex_1.sch0000664000175000017500000000744212050461155016134 00000000000000v 20031231 1 C 27600 29900 1 0 0 7411-1.sym { T 28100 30800 5 10 1 1 0 0 1 refdes=U100 T 27600 29900 5 10 0 0 0 0 1 slot=2 } C 27600 28400 1 0 0 7411-1.sym { T 28100 29300 5 10 1 1 0 0 1 refdes=U100 T 27600 28400 5 10 0 0 0 0 1 slot=3 } C 27600 26900 1 0 0 7411-1.sym { T 28200 27800 5 10 1 1 0 0 1 refdes=U101 } C 27600 31400 1 0 0 7411-1.sym { T 28100 32400 5 10 1 1 0 0 1 refdes=U100 } C 30600 31200 1 0 0 7432-1.sym { T 30900 32100 5 10 1 1 0 0 1 refdes=U103 } C 30600 29700 1 0 0 7432-1.sym { T 30900 30600 5 10 1 1 0 0 1 refdes=U103 T 30600 29700 5 10 0 0 0 0 1 slot=2 } C 30600 28200 1 0 0 7432-1.sym { T 30900 29100 5 10 1 1 0 0 1 refdes=U103 T 30600 28200 5 10 0 0 0 0 1 slot=3 } C 30600 26700 1 0 0 7432-1.sym { T 30900 27600 5 10 1 1 0 0 1 refdes=U103 T 30600 26700 5 10 0 0 0 0 1 slot=4 } N 28900 27400 30600 27400 4 N 28900 28900 30600 28900 4 N 28900 30400 30600 30400 4 N 28900 31900 30600 31900 4 C 27600 23900 1 0 0 7411-1.sym { T 28200 24800 5 10 1 1 0 0 1 refdes=U101 T 27600 23900 5 10 0 0 0 0 1 slot=3 } C 27600 22400 1 0 0 7411-1.sym { T 28200 23300 5 10 1 1 0 0 1 refdes=U102 } C 27600 20900 1 0 0 7411-1.sym { T 28200 21800 5 10 1 1 0 0 1 refdes=U102 T 27600 20900 5 10 0 0 0 0 1 slot=2 } C 27600 25400 1 0 0 7411-1.sym { T 28200 26300 5 10 1 1 0 0 1 refdes=U101 T 27600 25400 5 10 0 0 0 0 1 slot=2 } N 30600 31500 29200 31500 4 N 29200 31500 29200 25900 4 N 29200 25900 28900 25900 4 N 28900 24400 29600 24400 4 N 29600 24400 29600 30000 4 N 29600 30000 30600 30000 4 N 30600 28500 30000 28500 4 N 28900 22900 30000 22900 4 N 30000 22900 30000 28500 4 N 28900 21400 30400 21400 4 N 30400 21400 30400 27000 4 N 30400 27000 30600 27000 4 N 27600 31500 27000 31500 4 N 27600 30000 27000 30000 4 N 27600 28500 27000 28500 4 N 27600 27000 27000 27000 4 N 27600 25500 27000 25500 4 N 27600 24000 27000 24000 4 N 27600 22500 27000 22500 4 N 27600 21000 27000 21000 4 C 23300 19700 1 0 0 7404-1.sym { T 23800 20500 5 10 1 1 0 0 1 refdes=U104 } C 24900 19700 1 0 0 7404-2.sym { T 25400 20500 5 10 1 1 0 0 1 refdes=U104 T 24900 19700 5 10 0 0 0 0 1 slot=2 } N 26600 20200 26600 25900 4 N 26600 25900 27600 25900 4 N 26600 24400 27600 24400 4 N 26600 22900 27600 22900 4 N 26600 21400 27600 21400 4 N 24700 31900 27600 31900 4 N 24700 30400 27600 30400 4 N 24700 28900 27600 28900 4 N 24700 27400 27600 27400 4 N 31900 31700 33200 31700 4 { T 32500 31800 5 10 1 1 0 0 1 netname=Y0_H } N 31900 30200 33200 30200 4 { T 32500 30300 5 10 1 1 0 0 1 netname=Y1_H } N 31900 28700 33200 28700 4 { T 32500 28800 5 10 1 1 0 0 1 netname=Y2_H } N 31900 27200 33200 27200 4 { T 32500 27300 5 10 1 1 0 0 1 netname=Y3_H } C 16700 16500 0 0 0 title-C.sym T 32000 17500 9 20 1 0 0 0 1 Quad 2 to 1 Multiplexer T 31700 16900 9 10 1 0 0 0 1 multiplex.sch T 32300 16600 9 10 1 0 0 0 1 1 T 33700 16600 9 10 1 0 0 0 1 1 T 35800 16900 9 10 1 0 0 0 1 1 T 35800 16600 9 10 1 0 0 0 1 Ales V. Hvezda N 27000 31500 27000 18900 4 C 27300 31900 1 0 0 decon-1.sym C 27300 30400 1 0 0 decon-1.sym C 27300 28900 1 0 0 decon-1.sym C 27300 27400 1 0 0 decon-1.sym N 23300 20200 21800 20200 4 { T 21800 20300 5 10 1 1 0 0 1 netname=SELECT_H } N 27000 18900 21800 18900 4 { T 21800 19000 5 10 1 1 0 0 1 netname=ENABLE_H } N 24700 31900 24700 20200 4 N 27600 21800 21800 21800 4 { T 21800 21900 5 10 1 1 0 0 1 netname=B3_H } N 27600 23300 21800 23300 4 { T 21800 23400 5 10 1 1 0 0 1 netname=B2_H } N 27600 24800 21800 24800 4 { T 21800 24900 5 10 1 1 0 0 1 netname=B1_H } N 27600 29300 21800 29300 4 { T 21800 29400 5 10 1 1 0 0 1 netname=A2_H } N 27600 27800 21800 27800 4 { T 21800 27900 5 10 1 1 0 0 1 netname=A3_H } N 27600 26300 21800 26300 4 { T 21800 26400 5 10 1 1 0 0 1 netname=B0_H } N 27600 32300 21800 32300 4 { T 21800 32400 5 10 1 1 0 0 1 netname=A0_H } N 27600 30800 21800 30800 4 { T 21800 30900 5 10 1 1 0 0 1 netname=A1_H } N 24900 20200 24400 20200 4 N 26600 20200 26000 20200 4 geda-gaf-1.8.2/gschem/examples/grey_counter_1.sch0000664000175000017500000001621712050461155016616 00000000000000v 20031231 1 C 21600 18900 0 0 0 title-C.sym C 23900 32400 1 0 0 7402-2.sym { T 24300 33300 5 10 1 1 0 0 1 refdes=U104 } C 23900 27200 1 0 0 7410-1.sym { T 24300 28100 5 10 1 1 0 0 1 refdes=U101 T 23900 27200 5 10 0 0 0 0 1 slot=2 } C 26000 28000 1 0 0 7400-2.sym { T 26400 28900 5 10 1 1 0 0 1 refdes=U102 } C 28700 25700 1 0 0 74107-1.sym { T 28700 25700 5 10 0 0 0 0 1 slot=2 T 29500 27700 5 10 1 1 0 0 1 refdes=U103 } N 25500 28700 26000 28700 4 N 25500 28300 26000 28300 4 N 25500 28700 25500 29300 4 N 25500 29300 25200 29300 4 N 25500 28300 25500 27700 4 N 25500 27700 25200 27700 4 C 23900 28800 1 0 0 7410-1.sym { T 24300 29700 5 10 1 1 0 0 1 refdes=U101 } C 23900 25400 1 0 0 7400-1.sym { T 24300 26300 5 10 1 1 0 0 1 refdes=U102 T 23900 25400 5 10 0 0 0 0 1 slot=3 } N 25500 25300 26000 25300 4 N 25500 24900 26000 24900 4 N 25500 25300 25500 25900 4 N 25500 25900 25200 25900 4 N 25500 24900 25500 24300 4 N 25500 24300 25200 24300 4 C 23900 23800 1 0 0 7400-1.sym { T 23900 23800 5 10 0 0 0 0 1 slot=4 T 24300 24700 5 10 1 1 0 0 1 refdes=U102 } C 26000 24600 1 0 0 7400-2.sym { T 26400 25500 5 10 1 1 0 0 1 refdes=U102 T 26000 24600 5 10 0 0 0 0 1 slot=2 } N 27300 28500 27700 28500 4 N 27700 28500 27700 27300 4 N 27700 26300 27700 25100 4 C 23900 31400 1 0 0 7402-2.sym { T 24800 31400 5 10 1 1 0 0 1 refdes=U104 T 23900 31400 5 10 0 0 0 0 1 slot=2 } C 28700 31300 1 0 0 74107-1.sym { T 29600 33300 5 10 1 1 0 0 1 refdes=U103 } N 23900 31700 22300 31700 4 { T 22400 31800 5 10 1 1 0 0 1 netname=B-L } N 23900 32100 22300 32100 4 { T 22400 32200 5 10 1 1 0 0 1 netname=C-L } N 23900 32700 22300 32700 4 { T 22400 32800 5 10 1 1 0 0 1 netname=B-H } N 23900 33100 22300 33100 4 { T 22400 33200 5 10 1 1 0 0 1 netname=C-L } N 23900 29300 22300 29300 4 { T 22400 29400 5 10 1 1 0 0 1 netname=B-L } N 23900 29700 22300 29700 4 { T 22400 29800 5 10 1 1 0 0 1 netname=D-L } N 23900 28900 22300 28900 4 { T 22400 29000 5 10 1 1 0 0 1 netname=A-L } N 23900 24100 22300 24100 4 { T 22400 24200 5 10 1 1 0 0 1 netname=B-L } N 23900 24500 22300 24500 4 { T 22400 24600 5 10 1 1 0 0 1 netname=D-H } N 23900 25700 22300 25700 4 { T 22400 25800 5 10 1 1 0 0 1 netname=B-H } N 23900 26100 22300 26100 4 { T 22400 26200 5 10 1 1 0 0 1 netname=D-L } N 23900 27700 22300 27700 4 { T 22400 27800 5 10 1 1 0 0 1 netname=B-H } N 23900 28100 22300 28100 4 { T 22400 28200 5 10 1 1 0 0 1 netname=D-H } N 23900 27300 22300 27300 4 { T 22400 27400 5 10 1 1 0 0 1 netname=A-L } N 31900 31900 30300 31900 4 { T 31500 32000 5 10 1 1 0 0 1 netname=D-L } N 31900 32900 30300 32900 4 { T 31500 33000 5 10 1 1 0 0 1 netname=D-H } N 31900 26300 30300 26300 4 { T 31500 26400 5 10 1 1 0 0 1 netname=C-L } N 31900 27300 30300 27300 4 { T 31500 27400 5 10 1 1 0 0 1 netname=C-H } N 27300 25100 27700 25100 4 N 27700 26300 28700 26300 4 N 27700 27300 28700 27300 4 N 25200 31900 28700 31900 4 N 25200 32900 28700 32900 4 N 28700 32400 28200 32400 4 N 28200 32400 28200 23000 4 N 28700 26800 28200 26800 4 N 29500 25700 29500 25100 4 N 29500 31300 29500 30700 4 C 23600 32700 1 0 0 decon-1.sym C 23600 29700 1 0 0 decon-1.sym C 23600 29300 1 0 0 decon-1.sym C 23600 28900 1 0 0 decon-1.sym C 23600 27300 1 0 0 decon-1.sym C 23600 26100 1 0 0 decon-1.sym C 23600 24100 1 0 0 decon-1.sym N 29500 25100 28500 25100 4 { T 28500 25200 5 10 1 1 0 0 1 netname=RESET-L } N 29500 30700 28500 30700 4 { T 28500 30800 5 10 1 1 0 0 1 netname=RESET-L } C 34100 32400 1 0 0 7402-2.sym { T 34500 33300 5 10 1 1 0 0 1 refdes=U104 T 34100 32400 5 10 0 0 0 0 1 slot=3 } C 34100 27200 1 0 0 7410-1.sym { T 34500 28100 5 10 1 1 0 0 1 refdes=U201 T 34100 27200 5 10 0 0 0 0 1 slot=2 } C 36200 28000 1 0 0 7400-2.sym { T 36500 28900 5 10 1 1 0 0 1 refdes=U202 } C 38900 25700 1 0 0 74107-1.sym { T 38900 25700 5 10 0 0 0 0 1 slot=2 T 39700 27700 5 10 1 1 0 0 1 refdes=U203 } N 35700 28700 36200 28700 4 N 35700 28300 36200 28300 4 N 35700 28700 35700 29300 4 N 35700 29300 35400 29300 4 N 35700 28300 35700 27700 4 N 35700 27700 35400 27700 4 C 34100 28800 1 0 0 7410-1.sym { T 34500 29700 5 10 1 1 0 0 1 refdes=U201 } C 34100 25400 1 0 0 7400-1.sym { T 34400 26300 5 10 1 1 0 0 1 refdes=U202 T 34100 25400 5 10 0 0 0 0 1 slot=3 } N 35700 25300 36200 25300 4 N 35700 24900 36200 24900 4 N 35700 25300 35700 25900 4 N 35700 25900 35400 25900 4 N 35700 24900 35700 24300 4 N 35700 24300 35400 24300 4 C 34100 23800 1 0 0 7400-1.sym { T 34400 24700 5 10 1 1 0 0 1 refdes=U202 T 34100 23800 5 10 0 0 0 0 1 slot=4 } C 36200 24600 1 0 0 7400-2.sym { T 36500 25500 5 10 1 1 0 0 1 refdes=U202 T 36200 24600 5 10 0 0 0 0 1 slot=2 } N 37500 28500 37900 28500 4 N 37900 28500 37900 27300 4 N 37900 26300 37900 25100 4 C 34100 31400 1 0 0 7402-2.sym { T 35100 31500 5 10 1 1 0 0 1 refdes=U104 T 34100 31400 5 10 0 0 0 0 1 slot=4 } C 38900 31300 1 0 0 74107-1.sym { T 39700 33300 5 10 1 1 0 0 1 refdes=U203 } N 34100 31700 32500 31700 4 { T 32600 31800 5 10 1 1 0 0 1 netname=A-L } N 34100 32100 32500 32100 4 { T 32600 32200 5 10 1 1 0 0 1 netname=D-H } N 34100 32700 32500 32700 4 { T 32600 32800 5 10 1 1 0 0 1 netname=A-L } N 34100 33100 32500 33100 4 { T 32600 33200 5 10 1 1 0 0 1 netname=D-L } N 34100 29300 32500 29300 4 { T 32600 29400 5 10 1 1 0 0 1 netname=D-H } N 34100 29700 32500 29700 4 { T 32600 29800 5 10 1 1 0 0 1 netname=B-L } N 34100 28900 32500 28900 4 { T 32600 29000 5 10 1 1 0 0 1 netname=C-L } N 34100 24100 32500 24100 4 { T 32600 24200 5 10 1 1 0 0 1 netname=B-H } N 34100 24500 32500 24500 4 { T 32600 24600 5 10 1 1 0 0 1 netname=D-H } N 34100 25700 32500 25700 4 { T 32600 25800 5 10 1 1 0 0 1 netname=B-L } N 34100 26100 32500 26100 4 { T 32600 26200 5 10 1 1 0 0 1 netname=D-L } N 34100 27700 32500 27700 4 { T 32600 27800 5 10 1 1 0 0 1 netname=D-L } N 34100 28100 32500 28100 4 { T 32600 28200 5 10 1 1 0 0 1 netname=B-H } N 34100 27300 32500 27300 4 { T 32600 27400 5 10 1 1 0 0 1 netname=C-L } N 42100 31900 40500 31900 4 { T 41700 32000 5 10 1 1 0 0 1 netname=B-L } N 42100 32900 40500 32900 4 { T 41700 33000 5 10 1 1 0 0 1 netname=B-H } N 42100 26300 40500 26300 4 { T 41700 26400 5 10 1 1 0 0 1 netname=A-L } N 42100 27300 40500 27300 4 { T 41700 27400 5 10 1 1 0 0 1 netname=A-H } N 37500 25100 37900 25100 4 N 37900 26300 38900 26300 4 N 37900 27300 38900 27300 4 N 35400 31900 38900 31900 4 N 35400 32900 38900 32900 4 N 38900 32400 38400 32400 4 N 38400 32400 38400 23000 4 N 38900 26800 38400 26800 4 N 39700 25700 39700 25100 4 N 39700 31300 39700 30700 4 C 33800 32100 1 0 0 decon-1.sym C 33800 29700 1 0 0 decon-1.sym C 33800 28900 1 0 0 decon-1.sym C 33800 27300 1 0 0 decon-1.sym C 33800 26100 1 0 0 decon-1.sym N 39700 25100 38700 25100 4 { T 38700 25200 5 10 1 1 0 0 1 netname=RESET-L } N 39700 30700 38700 30700 4 { T 38700 30800 5 10 1 1 0 0 1 netname=RESET-L } C 33800 27700 1 0 0 decon-1.sym C 33800 25700 1 0 0 decon-1.sym C 22500 22500 1 0 0 osc-1.sym { T 22500 23400 5 10 1 1 0 0 1 refdes=U204 } N 23700 23000 38400 23000 4 { T 23900 23100 5 10 1 1 0 0 1 netname=CLK-L } T 37800 19900 9 20 1 0 0 0 1 4-BIT GREY COUNTER T 40600 19000 9 10 1 0 0 0 1 Ales V. Hvezda T 40500 19300 9 10 1 0 0 0 1 1 T 36500 19300 9 10 1 0 0 0 1 grey_counter_1.sch T 37100 19000 9 10 1 0 0 0 1 1 T 38500 19000 9 10 1 0 0 0 1 1 T 22300 19400 9 10 1 0 0 0 1 This grey counter counts the following sequence: 4 12 8 9 11 10 14 6 2 9 1 0 geda-gaf-1.8.2/gschem/examples/flipflop_1.sch0000664000175000017500000001264712050461155015727 00000000000000v 20031231 1 N 21600 30400 21300 30400 4 N 21600 31300 21300 31300 4 N 22900 30200 24400 30200 4 { T 24000 30300 5 10 1 1 0 0 1 netname=Q_L } N 22900 31500 24400 31500 4 { T 24000 31600 5 10 1 1 0 0 1 netname=Q_H } N 23200 31500 23200 31200 4 N 23200 30500 23200 30200 4 N 21600 31700 19700 31700 4 { T 19700 31800 5 10 1 1 0 0 1 netname=SET_L } N 21600 30000 19700 30000 4 { T 19700 30100 5 10 1 1 0 0 1 netname=RESET_L } N 21300 30400 21300 30600 4 N 21300 31100 21300 31300 4 N 21300 31100 23200 30500 4 N 23200 31200 21300 30600 4 C 17000 16500 0 0 0 title-C.sym T 20600 28800 9 14 1 0 0 0 1 SET-RESET FLIP-FLOP N 21600 25400 21300 25400 4 N 21600 26300 21300 26300 4 N 22900 25200 24400 25200 4 { T 24000 25300 5 10 1 1 0 0 1 netname=Q_L } N 22900 26500 24400 26500 4 { T 24000 26600 5 10 1 1 0 0 1 netname=Q_H } N 23200 26500 23200 26200 4 N 23200 25500 23200 25200 4 N 21600 26700 19700 26700 4 { T 19700 26800 5 10 1 1 0 0 1 netname=SET_H } N 21600 25000 19700 25000 4 { T 19700 25100 5 10 1 1 0 0 1 netname=RESET_H } N 21300 25400 21300 25600 4 N 21300 26100 21300 26300 4 N 21300 26100 23200 25500 4 N 23200 26200 21300 25600 4 T 20600 23800 9 14 1 0 0 0 1 SET-RESET FLIP-FLOP T 21400 28400 9 12 1 0 0 0 1 NAND GATES T 21400 23400 9 12 1 0 0 0 1 NOR GATES T 32500 17400 9 14 1 0 0 0 1 Flip-Flops T 32100 16900 9 8 1 0 0 0 1 flipflop.sch T 32500 16600 9 8 1 0 0 0 1 1 T 34100 16600 9 8 1 0 0 0 1 1 T 36300 16900 9 8 1 0 0 0 1 1 T 36300 16600 9 8 1 0 0 0 1 Ales V. Hvezda N 29800 30500 29500 30500 4 N 29800 31400 29500 31400 4 N 31400 31600 31400 31300 4 N 31400 30600 31400 30300 4 N 29500 30500 29500 30700 4 N 29500 31200 29500 31400 4 N 29500 31200 31400 30600 4 N 31400 31300 29500 30700 4 N 31100 31600 31400 31600 4 N 29800 31800 29200 31800 4 N 29800 27500 29500 27500 4 N 29800 28400 29500 28400 4 N 31400 27600 31400 27300 4 N 29500 27500 29500 27700 4 N 29500 28200 29500 28400 4 N 29500 28200 31400 27600 4 N 31400 28300 29500 27700 4 N 31400 28300 31400 28800 4 N 29800 27100 28000 27100 4 { T 28000 27200 5 10 1 1 0 0 1 netname=D_H } N 28800 30100 28800 28800 4 N 28800 29500 28000 29500 4 { T 28000 29600 5 10 1 1 0 0 1 netname=C_H } N 28800 30100 29800 30100 4 N 28800 28800 29800 28800 4 N 29800 29200 29500 29200 4 N 29500 29200 29500 29400 4 N 29200 31800 29200 26400 4 N 29200 26400 31300 26400 4 N 31300 26400 31300 27300 4 N 31100 27300 31400 27300 4 N 32400 29200 32100 29200 4 N 32400 29900 32100 29900 4 N 32100 29200 32100 29400 4 N 32100 29700 32100 29900 4 N 34000 30100 34000 29800 4 N 34000 29300 34000 29000 4 N 33700 29000 35000 29000 4 { T 34600 29100 5 10 1 1 0 0 1 netname=Q_L } N 33700 30100 35000 30100 4 { T 34600 30200 5 10 1 1 0 0 1 netname=Q_H } N 34000 29300 32100 29700 4 N 32100 29400 34000 29800 4 N 31300 30300 31300 30000 4 N 31300 30000 29500 29400 4 N 31100 28800 32400 28800 4 N 31100 30300 32400 30300 4 T 31700 30400 9 10 1 0 0 0 1 SET T 31500 28900 9 10 1 0 0 0 1 RESET T 30100 25600 9 14 1 0 0 0 1 D FLIP-FLOP T 29200 25200 9 12 1 0 0 0 1 POSITIVE-EDGE TRIGGERED N 24800 20400 24500 20400 4 N 24800 21300 24500 21300 4 N 26100 20200 27600 20200 4 { T 27200 20300 5 10 1 1 0 0 1 netname=Q_L } N 26100 21500 27600 21500 4 { T 27200 21600 5 10 1 1 0 0 1 netname=Q_H } N 26400 21500 26400 21200 4 N 26400 20500 26400 20200 4 N 24500 20400 24500 20600 4 N 24500 21100 24500 21300 4 N 24500 21100 26400 20500 4 N 26400 21200 24500 20600 4 N 22500 21500 22000 21500 4 N 22000 21500 22000 20200 4 N 22000 20200 22500 20200 4 N 23800 20000 24800 20000 4 N 23800 21700 24800 21700 4 N 22500 21900 19700 21900 4 { T 19700 22000 5 10 1 1 0 0 1 netname=D_H } N 22000 20900 19700 20900 4 { T 19700 21000 5 10 1 1 0 0 1 netname=C_H } N 20500 19800 20500 21900 4 N 21900 19800 22500 19800 4 N 20800 19800 20500 19800 4 T 23000 18700 9 14 1 0 0 0 1 D LATCH N 32200 22100 30300 22100 4 { T 30300 22200 5 10 1 1 0 0 1 netname=INPUT_H } N 33800 22100 34500 22100 4 N 34500 22100 34500 20800 4 N 34500 20800 31700 20800 4 N 31700 20800 31700 23100 4 N 31700 23100 32200 23100 4 N 35700 23100 33800 23100 4 { T 35100 23200 5 10 1 1 0 0 1 netname=DIV_2_H } N 33000 21500 33000 21400 4 N 33000 23800 33000 23700 4 T 32200 19900 9 14 1 0 0 0 1 DIVIDE BY 2 C 21600 31000 1 0 0 7400-1.sym { T 21900 31900 5 10 1 1 0 0 1 refdes=U1 } C 21600 29700 1 0 0 7400-1.sym { T 21900 30600 5 10 1 1 0 0 1 refdes=U2 } C 21400 30000 1 0 0 decon-1.sym C 21400 31700 1 0 0 decon-1.sym C 21600 26000 1 0 0 7402-1.sym { T 21900 26900 5 10 1 1 0 0 1 refdes=U3 } C 21600 24700 1 0 0 7402-1.sym { T 21900 25600 5 10 1 1 0 0 1 refdes=U4 } C 29800 31100 1 0 0 7400-1.sym { T 30100 32000 5 10 1 1 0 0 1 refdes=U5 } C 29800 29800 1 0 0 7400-1.sym { T 30100 30700 5 10 1 1 0 0 1 refdes=U6 } C 29800 26800 1 0 0 7400-1.sym { T 30100 27700 5 10 1 1 0 0 1 refdes=U7 } C 29800 28300 1 0 0 7410-1.sym { T 30200 29200 5 10 1 1 0 0 1 refdes=U8 } C 32400 29600 1 0 0 7400-1.sym { T 32700 30500 5 10 1 1 0 0 1 refdes=U9 } C 32400 28500 1 0 0 7400-1.sym { T 32700 29400 5 10 1 1 0 0 1 refdes=U10 } C 22500 19500 1 0 0 7400-1.sym { T 22800 20400 5 10 1 1 0 0 1 refdes=U11 } C 22500 21200 1 0 0 7400-1.sym { T 22800 22100 5 10 1 1 0 0 1 refdes=U12 } C 24800 21000 1 0 0 7400-1.sym { T 25100 21900 5 10 1 1 0 0 1 refdes=U13 } C 24800 19700 1 0 0 7400-1.sym { T 25100 20600 5 10 1 1 0 0 1 refdes=U14 } C 20800 19300 1 0 0 7404-2.sym { T 21100 20200 5 10 1 1 0 0 1 refdes=U15 } C 32200 21500 1 0 0 7474-1.sym { T 33500 23500 5 10 1 1 0 6 1 refdes=U16 } C 33200 21400 1 180 0 vdd-1.sym C 32800 23800 1 0 0 vdd-1.sym C 32000 23100 1 0 0 decon-1.sym geda-gaf-1.8.2/gschem/examples/IEC417.sch0000664000175000017500000001642212050461155014523 00000000000000v 20031231 1 C 7100 6500 0 0 0 title-C.sym C 22300 22000 1 0 0 amp-var.sym T 22500 23000 9 10 1 0 0 0 1 amp-var C 14300 22000 1 0 0 amp.sym T 14500 23000 9 10 1 0 0 0 1 amp C 19100 22000 1 0 0 amp-step.sym T 19300 23000 9 10 1 0 0 0 1 amp-step C 23900 20400 1 0 0 block.sym T 24100 21400 9 10 1 0 0 0 1 block C 11100 20400 1 0 0 bandpass.sym T 11300 21400 9 10 1 0 0 0 1 bandpass C 15900 20400 1 0 0 bandpass-var.sym T 16100 21400 9 10 1 0 0 0 1 bandpass-var C 12700 20400 1 0 0 bandpass-step.sym T 12900 21400 9 10 1 0 0 0 1 bandpass-step C 19100 20400 1 0 0 bandstop-step.sym T 19300 21400 9 10 1 0 0 0 1 bandstop-step C 9500 22000 1 0 0 ac-dc.sym C 7900 22000 1 0 0 ac-ac.sym C 9500 20400 1 0 0 atten-var.sym C 25500 22000 1 0 0 atten-step.sym C 23900 22000 1 0 0 atten.sym C 13200 22200 1 0 0 aerial.sym C 17500 22000 1 0 0 amp-diff.sym C 20700 22000 1 0 0 amp-trim.sym C 27100 22000 1 0 0 atten-trim.sym C 15900 22000 1 0 0 amp-bidir.sym C 11100 22000 1 0 0 adc.sym T 17700 23000 9 10 1 0 0 0 1 amp-diff T 9700 23000 9 10 1 0 0 0 1 ac-dc T 8100 23000 9 10 1 0 0 0 1 ac-ac T 9700 21400 9 10 1 0 0 0 1 atten-var T 25700 23000 9 10 1 0 0 0 1 atten-step T 24100 23000 9 10 1 0 0 0 1 atten T 27300 23000 9 10 1 0 0 0 1 atten-trim T 20900 23000 9 10 1 0 0 0 1 amp-trim T 16100 23000 9 10 1 0 0 0 1 amp-bidir T 11300 23000 9 10 1 0 0 0 1 adc T 13000 23000 9 10 1 0 0 0 1 aerial C 17500 20400 1 0 0 bandstop.sym C 22300 20400 1 0 0 bandstop-var.sym C 25500 20400 1 0 0 block-convert.sym C 8400 20700 1 0 0 arrow.sym C 14300 20400 1 0 0 bandpass-trim.sym C 20700 20400 1 0 0 bandstop-trim.sym T 8100 21400 9 10 1 0 0 0 1 arrow T 14500 21400 9 10 1 0 0 0 1 bandpass-trim T 20900 21400 9 10 1 0 0 0 1 bandstop-trim T 22500 21400 9 10 1 0 0 0 1 bandstop-var T 17700 21400 9 10 1 0 0 0 1 bandstop T 25700 21400 9 10 1 0 0 0 1 block-convert C 27500 20700 1 0 0 chassis.sym C 11100 18800 1 0 0 combine-2.sym C 12700 18800 1 0 0 combine-3.sym C 14300 18800 1 0 0 combine-4.sym C 19100 18800 1 0 0 corrector.sym C 7900 18600 1 0 0 circulator.sym C 20700 18600 1 0 0 coupler.sym C 22300 18600 1 0 0 coupler-dual.sym C 17900 19100 1 0 0 con2.sym C 16300 19100 1 0 0 con-coaxial.sym C 10000 19200 1 0 0 common.sym T 8100 19800 9 10 1 0 0 0 1 circulator T 27300 21400 9 10 1 0 0 0 1 chassis T 11300 19800 9 10 1 0 0 0 1 combine-2 T 12900 19800 9 10 1 0 0 0 1 combine-3 T 14500 19800 9 10 1 0 0 0 1 combine-4 T 19300 19800 9 10 1 0 0 0 1 corrector T 20900 19800 9 10 1 0 0 0 1 coupler T 22500 19800 9 10 1 0 0 0 1 coupler-dual T 9700 19800 9 10 1 0 0 0 1 common T 16100 19700 9 10 1 0 0 0 1 con-coaxial T 17700 19700 9 10 1 0 0 0 1 con C 23900 18800 1 0 0 dac.sym C 25500 18800 1 0 0 dc-ac.sym C 27100 18800 1 0 0 dc-dc.sym C 7900 17100 1 0 0 decrypt.sym C 9500 17200 1 0 0 delay.sym C 11100 17200 1 0 0 delay-step.sym C 12700 17200 1 0 0 delay-trim.sym C 14300 17200 1 0 0 delay-var.sym C 15900 17100 1 0 0 demodulator.sym C 17500 17200 1 0 0 detector.sym C 19100 17200 1 0 0 diplexer.sym C 20700 17200 1 0 0 divide-by-N.sym C 24100 17300 1 0 0 dpst-noblock.sym C 22300 17000 1 0 0 down-converter.sym T 24100 19800 9 10 1 0 0 0 1 dac T 25700 19800 9 10 1 0 0 0 1 dc-ac T 27300 19800 9 10 1 0 0 0 1 dc-dc T 8100 18200 9 10 1 0 0 0 1 decrypt T 9700 18200 9 10 1 0 0 0 1 delay T 11300 18200 9 10 1 0 0 0 1 delay-step T 12900 18200 9 10 1 0 0 0 1 delay-trim T 14500 18200 9 10 1 0 0 0 1 delay-var T 16100 18200 9 10 1 0 0 0 1 demodulator T 17700 18200 9 10 1 0 0 0 1 detector T 19300 18200 9 10 1 0 0 0 1 diplexer T 20900 18200 9 10 1 0 0 0 1 divide-by-N T 22500 18200 9 10 1 0 0 0 1 down-converter T 24200 18200 9 10 1 0 0 0 1 dpst-noblock C 25500 17100 1 0 0 encrypt.sym T 25700 18200 9 10 1 0 0 0 1 encrypt C 27400 17500 1 0 0 ground.sym T 27300 18200 9 10 1 0 0 0 1 ground C 7900 15600 1 0 0 highpass.sym T 8100 16600 9 10 1 0 0 0 1 highpass C 9500 15600 1 0 0 highpass-step.sym C 12700 15600 1 0 0 highpass-var.sym C 11100 15600 1 0 0 highpass-trim.sym T 9700 16600 9 10 1 0 0 0 1 highpass-step T 11300 16600 9 10 1 0 0 0 1 highpass-trim T 12900 16600 9 10 1 0 0 0 1 highpass-var C 14300 15600 1 0 0 hybrid.sym T 14500 16600 9 10 1 0 0 0 1 hybrid C 19500 15900 1 0 0 io.sym C 16200 15800 1 0 0 input.sym C 17800 15800 1 0 0 input-output.sym T 16100 16600 9 10 1 0 0 0 1 input T 17700 16600 9 10 1 0 0 0 1 input-output T 19400 16600 9 10 1 0 0 0 1 io C 25500 15600 1 0 0 lowpass-step.sym C 23900 15600 1 0 0 lowpass.sym C 7900 14000 1 0 0 lowpass-var.sym C 22300 15600 1 0 0 logic.sym C 27100 15600 1 0 0 lowpass-trim.sym C 20700 15600 1 0 0 limiter.sym T 20900 16600 9 10 1 0 0 0 1 limiter T 22500 16600 9 10 1 0 0 0 1 logic T 24100 16600 9 10 1 0 0 0 1 lowpass T 25700 16600 9 10 1 0 0 0 1 lowpass-step T 27300 16600 9 10 1 0 0 0 1 lowpass-trim T 8100 15000 9 10 1 0 0 0 1 lowpass-var C 12700 13800 1 0 0 mixer-din.sym C 15900 13900 1 0 0 modulator.sym C 14300 13900 1 0 0 modem.sym C 9500 13800 1 0 0 mixer.sym C 11100 13800 1 0 0 mixer-ansi.sym T 9700 15000 9 10 1 0 0 0 1 mixer T 11300 15000 9 10 1 0 0 0 1 mixer-ansi T 12900 15000 9 10 1 0 0 0 1 mixer-din T 14500 15000 9 10 1 0 0 0 1 modem T 16100 15000 9 10 1 0 0 0 1 modulator C 20900 14000 1 0 0 osc-trim.sym C 17700 14000 1 0 0 osc.sym C 19300 14000 1 0 0 osc-step.sym C 22500 14000 1 0 0 osc-var.sym T 17700 15000 9 10 1 0 0 0 1 osc T 19300 15000 9 10 1 0 0 0 1 osc-step T 20900 15000 9 10 1 0 0 0 1 osc-trim T 22500 15000 9 10 1 0 0 0 1 osc-var C 24200 14200 1 0 0 output.sym T 24100 15000 9 10 1 0 0 0 1 output C 25900 14100 1 0 0 pad.sym C 7900 12400 1 0 0 process.sym C 27100 13800 1 0 0 phase-detector.sym C 9500 12400 1 0 0 pulse.sym C 12700 12400 1 0 0 pulse-trim.sym C 11100 12400 1 0 0 pulse-step.sym C 14300 12400 1 0 0 pulse-var.sym T 25700 15000 9 10 1 0 0 0 1 pad T 27300 15000 9 10 1 0 0 0 1 phase-detector T 8100 13400 9 10 1 0 0 0 1 process T 9700 13400 9 10 1 0 0 0 1 pulse T 11300 13400 9 10 1 0 0 0 1 pulse-step T 12900 13400 9 10 1 0 0 0 1 pulse-trim T 14500 13400 9 10 1 0 0 0 1 pulse-var T 16100 13400 9 10 1 0 0 0 1 pushbutton C 25500 12400 1 0 0 spdt.sym C 12700 10800 1 0 0 spst.sym C 7900 10800 1 0 0 split-2.sym C 9500 10800 1 0 0 split-3.sym C 11100 10800 1 0 0 split-4.sym C 15900 10800 1 0 0 square-up.sym C 17500 12400 1 0 0 sampler.sym C 19100 12400 1 0 0 sp3t.sym C 22300 12400 1 0 0 sp4t.sym C 24100 12400 1 0 0 sp4t-noblock.sym C 14500 11100 1 0 0 spst-noblock.sym C 27300 12500 1 0 0 spdt-noblock.sym C 20900 12500 1 0 0 sp3t-noblock.sym C 17700 10700 1 0 0 switch-5port.sym T 17700 13400 9 10 1 0 0 0 1 sampler T 19300 13400 9 10 1 0 0 0 1 sp3t T 20900 13400 9 10 1 0 0 0 1 sp3t-noblock T 24100 13400 9 10 1 0 0 0 1 sp4t-noblock T 22500 13400 9 10 1 0 0 0 1 sp4t T 25700 13400 9 10 1 0 0 0 1 spdt T 27300 13400 9 10 1 0 0 0 1 spdt-noblock T 8100 11800 9 10 1 0 0 0 1 split-2 T 9700 11800 9 10 1 0 0 0 1 split-3 T 11300 11800 9 10 1 0 0 0 1 split-4 T 12900 11800 9 10 1 0 0 0 1 spst T 14400 11800 9 10 1 0 0 0 1 spst-noblock T 16100 11800 9 10 1 0 0 0 1 square-up T 17700 11800 9 10 1 0 0 0 1 switch-5port C 20700 10800 1 0 0 transformer.sym C 19600 10800 1 0 0 termination.sym T 19300 11800 9 10 1 0 0 0 1 termination T 20900 11800 9 10 1 0 0 0 1 transformer C 22300 10600 1 0 0 up-converter.sym T 22500 11800 9 10 1 0 0 0 1 up-converter C 16100 12700 1 0 0 pushbutton.sym T 26200 6600 9 10 1 0 0 0 1 Roger Williams T 26200 6900 9 10 1 0 0 0 1 0.1, 17 Oct 98 T 22400 7600 9 20 1 0 0 0 1 Block Diagram Library T 22400 7200 9 20 1 0 0 0 1 Common IEC417 Symbols geda-gaf-1.8.2/gschem/examples/Makefile.am0000664000175000017500000000100412050461155015212 00000000000000## Process this file with automake to produce Makefile.in EXTRA_DIST = \ adders_1.sch \ cmos-invert.sch \ cmos-nand.sch \ cmos-nor.sch \ drawing_primitives.sch \ filter_1.sch \ flipflop_1.sch \ gEDA_Flow.sch \ grey_counter_1.sch \ gschem_buffers.sch \ IEC417.sch \ logo_1.sch \ multiplex_1.sch \ stack_1.sch \ README.agile MOSTLYCLEANFILES = core *.log FILE *.ps *~ CLEANFILES = core *.log FILE *.ps *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = core *.log FILE *.ps *~ Makefile.in geda-gaf-1.8.2/gschem/examples/README.agile0000664000175000017500000000120312050461155015117 00000000000000This is the block diagram for an actual commercial product being developed with gEDA. It is a agile VFO which will serve as part of the reference hardware implementation for an open-source encrypted frequency-hopping spread-spectrum communication protocol. Most of the symbols in this diagram may be found in the IEC417 libary provided with gEDA (the rest of the symbols are embedded, as they come from local libraries). As this product is being developed as part of an open-source (GPL) project, final schematics (being drawn with gschem) will also be released to the gEDA community. Roger Williams 1 November 1998 geda-gaf-1.8.2/gschem/examples/stack_1.sch0000664000175000017500000001361712050461155015217 00000000000000v 20031231 1 C 34400 23200 1 0 0 am9128-1.sym { T 35700 27500 5 10 1 1 0 0 1 refdes=U109 } C 17100 16500 0 0 0 title-C.sym C 20400 24700 1 0 0 74191-1.sym { T 21100 26700 5 10 1 1 0 0 1 refdes=U212 } C 20400 20600 1 0 0 74191-1.sym { T 21100 22600 5 10 1 1 0 0 1 refdes=U211 } C 27500 28700 1 0 0 74541-1.sym { T 28300 30900 5 10 1 1 0 0 1 refdes=U210 } T 22500 25600 9 10 1 0 0 0 1 NC T 22500 25300 9 10 1 0 0 0 1 NC N 20400 26800 17600 26800 4 { T 17700 26900 5 10 1 1 0 0 1 netname=DATA4_H } N 20400 26500 17600 26500 4 { T 17700 26600 5 10 1 1 0 0 1 netname=DATA5_H } N 20400 26200 17600 26200 4 { T 17700 26300 5 10 1 1 0 0 1 netname=DATA6_H } N 20400 25900 17600 25900 4 { T 17700 26000 5 10 1 1 0 0 1 netname=DATA7_H } N 20400 22700 17600 22700 4 { T 17700 22800 5 10 1 1 0 0 1 netname=DATA0_H } N 20400 22400 17600 22400 4 { T 17700 22500 5 10 1 1 0 0 1 netname=DATA1_H } N 20400 22100 17600 22100 4 { T 17700 22200 5 10 1 1 0 0 1 netname=DATA2_H } N 20400 21800 17600 21800 4 { T 17700 21900 5 10 1 1 0 0 1 netname=DATA3_H } N 32300 30500 29500 30500 4 { T 31300 30600 5 10 1 1 0 0 1 netname=DATA4_H } N 32300 30800 29500 30800 4 { T 31300 30900 5 10 1 1 0 0 1 netname=DATA5_H } N 32300 31100 29500 31100 4 { T 31300 31200 5 10 1 1 0 0 1 netname=DATA6_H } N 32300 31400 29500 31400 4 { T 31300 31500 5 10 1 1 0 0 1 netname=DATA7_H } N 32300 29300 29500 29300 4 { T 31300 29400 5 10 1 1 0 0 1 netname=DATA0_H } N 32300 29600 29500 29600 4 { T 31300 29700 5 10 1 1 0 0 1 netname=DATA1_H } N 32300 29900 29500 29900 4 { T 31300 30000 5 10 1 1 0 0 1 netname=DATA2_H } N 32300 30200 29500 30200 4 { T 31300 30300 5 10 1 1 0 0 1 netname=DATA3_H } N 22400 26800 29300 26800 4 { T 27800 26900 5 10 1 1 0 0 1 netname=DS_ADDRS4_H } N 22400 26500 29300 26500 4 { T 27800 26600 5 10 1 1 0 0 1 netname=DS_ADDRS5_H } N 22400 26200 29300 26200 4 { T 27800 26300 5 10 1 1 0 0 1 netname=DS_ADDRS6_H } N 22400 25900 29300 25900 4 { T 27800 26000 5 10 1 1 0 0 1 netname=DS_ADDRS7_H } N 22400 22700 29300 22700 4 { T 27800 22800 5 10 1 1 0 0 1 netname=DS_ADDRS0_H } N 22400 22400 29300 22400 4 { T 27800 22500 5 10 1 1 0 0 1 netname=DS_ADDRS1_H } N 22400 22100 29300 22100 4 { T 27800 22200 5 10 1 1 0 0 1 netname=DS_ADDRS2_H } N 22400 21800 29300 21800 4 { T 27800 21900 5 10 1 1 0 0 1 netname=DS_ADDRS3_H } N 25800 29300 27500 29300 4 N 25500 29600 27500 29600 4 N 25200 29900 27500 29900 4 N 24900 30200 27500 30200 4 N 24300 30800 27500 30800 4 N 24000 31100 27500 31100 4 N 23700 31400 27500 31400 4 N 24600 30500 27500 30500 4 N 28100 28700 28100 28400 4 N 28100 28400 26500 28400 4 { T 26500 28500 5 10 1 1 0 0 1 netname=SP_BUS_L } N 28900 28700 28900 27900 4 N 28900 27900 26500 27900 4 { T 26500 28000 5 10 1 1 0 0 1 netname=SEL_DS_L } N 23700 31400 23700 25900 4 N 24000 31100 24000 26200 4 N 24300 30800 24300 26500 4 N 24600 30500 24600 26800 4 N 24900 30200 24900 21800 4 N 25200 22100 25200 29900 4 N 25500 29600 25500 22400 4 N 25800 29300 25800 22700 4 N 34400 26800 32100 26800 4 { T 32200 26900 5 10 1 1 0 0 1 netname=DS_ADDRS7_H } N 34400 26500 32100 26500 4 { T 32200 26600 5 10 1 1 0 0 1 netname=DS_ADDRS6_H } N 34400 26200 32100 26200 4 { T 32200 26300 5 10 1 1 0 0 1 netname=DS_ADDRS5_H } N 34400 25900 32100 25900 4 { T 32200 26000 5 10 1 1 0 0 1 netname=DS_ADDRS4_H } N 34400 25600 32100 25600 4 { T 32200 25700 5 10 1 1 0 0 1 netname=DS_ADDRS3_H } N 34400 25300 32100 25300 4 { T 32200 25400 5 10 1 1 0 0 1 netname=DS_ADDRS2_H } N 34400 25000 32100 25000 4 { T 32200 25100 5 10 1 1 0 0 1 netname=DS_ADDRS1_H } N 34400 24700 32100 24700 4 { T 32200 24800 5 10 1 1 0 0 1 netname=DS_ADDRS0_H } N 34400 24400 32100 24400 4 { T 32200 24500 5 10 1 1 0 0 1 netname=BUS_STACK_L } N 34400 24100 32100 24100 4 { T 32200 24200 5 10 1 1 0 0 1 netname=STACK_BUS_L } N 34400 23800 32100 23800 4 { T 32200 23900 5 10 1 1 0 0 1 netname=SEL_DS_L } N 34400 27100 34100 27100 4 N 34100 27100 34100 28200 4 N 34400 27400 34100 27400 4 N 34400 27700 34100 27700 4 N 35000 23200 35000 22600 4 N 35000 22600 32100 22600 4 { T 32200 22700 5 10 1 1 0 0 1 netname=DATA7_H } N 35300 23200 35300 22300 4 N 35300 22300 32100 22300 4 { T 32200 22400 5 10 1 1 0 0 1 netname=DATA6_H } N 35600 23200 35600 22000 4 N 35600 22000 32100 22000 4 { T 32200 22100 5 10 1 1 0 0 1 netname=DATA5_H } N 35900 23200 35900 21700 4 N 35900 21700 32100 21700 4 { T 32200 21800 5 10 1 1 0 0 1 netname=DATA4_H } N 36200 23200 36200 21400 4 N 36200 21400 32100 21400 4 { T 32200 21500 5 10 1 1 0 0 1 netname=DATA3_H } N 36500 23200 36500 21100 4 N 36500 21100 32100 21100 4 { T 32200 21200 5 10 1 1 0 0 1 netname=DATA2_H } N 36800 23200 36800 20800 4 N 36800 20800 32100 20800 4 { T 32200 20900 5 10 1 1 0 0 1 netname=DATA1_H } N 32100 20500 37100 20500 4 { T 32200 20600 5 10 1 1 0 0 1 netname=DATA0_H } N 37100 20500 37100 23200 4 N 20400 25600 20000 25600 4 N 20000 25600 20000 20200 4 N 20000 20200 17600 20200 4 { T 17700 20300 5 10 1 1 0 0 1 netname=BUS_SP_L } N 20400 21500 20000 21500 4 N 19800 19900 19800 24400 4 N 20200 19300 20200 24200 4 T 34700 19400 9 20 1 0 0 0 1 Stack Memory T 20000 18500 9 20 1 0 0 0 1 Stack Pointer T 32700 16600 9 10 1 0 0 0 1 1 T 34000 16600 9 10 1 0 0 0 1 1 T 32200 16900 9 10 1 0 0 0 1 STACK.SCH T 32600 17400 9 20 1 0 0 0 1 SPUone - EECE447 T 36300 16900 9 10 1 0 0 0 1 1 T 36300 16600 9 10 1 0 0 0 1 ALES V. HVEZDA T 26900 18400 9 20 1 0 0 0 1 DATA STACK C 21600 19300 1 0 0 decon-1.sym C 21700 24200 1 0 0 decon-1.sym T 22500 21200 9 10 1 0 0 0 1 NC N 23200 21500 23200 23800 4 N 23200 21500 22400 21500 4 N 19800 24400 20900 24400 4 N 20900 24400 20900 24700 4 N 23200 23800 21400 23800 4 N 21400 23800 21400 24700 4 N 20200 24200 21900 24200 4 N 21900 24200 21900 24700 4 N 21900 20600 21900 19300 4 N 21400 20600 21400 19600 4 N 20900 20600 20900 19900 4 N 21900 19300 17600 19300 4 { T 17700 19400 5 10 1 1 0 0 1 netname=CLK_SP_L } N 21400 19600 17600 19600 4 { T 17700 19700 5 10 1 1 0 0 1 netname=SEL_DS_L } N 20900 19900 17600 19900 4 { T 17700 20000 5 10 1 1 0 0 1 netname=SPUP_L } C 34200 28500 1 180 0 gnd-1.sym geda-gaf-1.8.2/gschem/examples/logo_1.sch0000664000175000017500000000051412050461155015042 00000000000000v 20031231 1 C 11700 15700 1 0 0 7408-1.sym N 11700 16400 10700 16400 4 { T 10800 16500 5 20 1 0 0 0 1 GPL } N 11700 16000 10700 16000 4 { T 10800 15600 5 20 1 0 0 0 1 EDA } N 13000 16200 15500 16200 4 { T 13300 16200 5 40 1 0 0 0 1 gEDA } T 8600 13800 9 30 1 0 0 0 1 GPL Electronic Design Automation C 7500 10500 0 0 0 title-A.sym geda-gaf-1.8.2/gschem/examples/gEDA_Flow.sch0000664000175000017500000000566412050461155015424 00000000000000v 20050814 1 T 24687 51989 9 10 1 0 0 0 1 gschem B 24500 51700 1000 700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 24400 49500 1200 700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 24600 49800 9 10 1 0 0 0 1 gsch2pcb B 26200 50600 900 700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 26400 50905 9 10 1 0 0 0 1 gattrib B 24500 47300 1000 600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 24867 47578 9 10 1 0 0 0 1 pcb A 25300 50900 200 0 90 3 0 0 0 -1 -1 A 24700 50900 200 90 90 3 0 0 0 -1 -1 A 24700 50900 200 180 90 3 0 0 0 -1 -1 A 25300 50900 200 270 90 3 0 0 0 -1 -1 L 24700 51100 25300 51100 3 0 0 0 -1 -1 L 25300 50700 24700 50700 3 0 0 0 -1 -1 T 24822 50855 9 10 1 0 0 0 1 .sch A 25500 48800 200 0 90 3 0 0 0 -1 -1 A 24500 48800 200 90 90 3 0 0 0 -1 -1 A 24500 48600 200 180 90 3 0 0 0 -1 -1 A 25500 48600 200 270 90 3 0 0 0 -1 -1 L 24500 49000 25500 49000 3 0 0 0 -1 -1 L 25500 48400 24500 48400 3 0 0 0 -1 -1 T 24622 48522 9 10 1 0 0 0 2 .pcb .pcb.new L 25000 51700 25000 51100 3 0 0 0 -1 -1 L 25000 51100 25100 51300 3 0 0 0 -1 -1 L 25000 51100 24900 51300 3 0 0 0 -1 -1 L 25000 50700 25000 50200 3 0 0 0 -1 -1 L 25000 50200 25100 50400 3 0 0 0 -1 -1 L 25000 50200 24900 50400 3 0 0 0 -1 -1 L 25000 49500 25000 49000 3 0 0 0 -1 -1 L 25000 49000 25100 49200 3 0 0 0 -1 -1 L 25000 49000 24900 49200 3 0 0 0 -1 -1 L 26200 50900 26000 51000 3 0 0 0 -1 -1 L 26200 50900 26000 50800 3 0 0 0 -1 -1 L 25500 50900 25700 51000 3 0 0 0 -1 -1 L 25500 50900 25700 50800 3 0 0 0 -1 -1 L 25500 50900 26200 50900 3 0 0 0 -1 -1 L 25000 48400 25000 47900 3 0 0 0 -1 -1 L 25000 47900 25100 48100 3 0 0 0 -1 -1 L 25000 47900 24900 48100 3 0 0 0 -1 -1 T 26124 49105 9 10 1 0 0 0 2 Rectangles are programs Curved boxes are files A 25500 46600 200 0 90 3 0 0 0 -1 -1 A 24500 46600 200 90 90 3 0 0 0 -1 -1 A 24500 46600 200 180 90 3 0 0 0 -1 -1 A 25500 46600 200 270 90 3 0 0 0 -1 -1 L 24500 46800 25500 46800 3 0 0 0 -1 -1 L 25500 46400 24500 46400 3 0 0 0 -1 -1 T 24524 46546 9 10 1 0 0 0 1 Gerber files L 25000 47300 25000 46800 3 0 0 0 -1 -1 L 25000 46800 25100 47000 3 0 0 0 -1 -1 L 25000 46800 24900 47000 3 0 0 0 -1 -1 L 25000 51700 25100 51500 3 0 0 0 -1 -1 L 25000 51700 24900 51500 3 0 0 0 -1 -1 L 25700 48800 25700 48600 3 0 0 0 -1 -1 L 24300 48800 24300 48600 3 0 0 0 -1 -1 A 27000 47600 200 0 90 3 0 0 0 -1 -1 A 26400 47600 200 90 90 3 0 0 0 -1 -1 A 26400 47600 200 180 90 3 0 0 0 -1 -1 A 27000 47600 200 270 90 3 0 0 0 -1 -1 L 27000 47400 26400 47400 3 0 0 0 -1 -1 L 26200 47600 26000 47700 3 0 0 0 -1 -1 L 26200 47600 26000 47500 3 0 0 0 -1 -1 L 25500 47600 25700 47700 3 0 0 0 -1 -1 L 25500 47600 25700 47500 3 0 0 0 -1 -1 L 25500 47600 26200 47600 3 0 0 0 -1 -1 L 26400 47800 27000 47800 3 0 0 0 -1 -1 T 26522 47556 9 10 1 0 0 0 1 .pcb B 22400 50600 1400 700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 24500 50900 24300 51000 3 0 0 0 -1 -1 L 24500 50900 24300 50800 3 0 0 0 -1 -1 L 23800 50900 24000 51000 3 0 0 0 -1 -1 L 23800 50900 24000 50800 3 0 0 0 -1 -1 L 23800 50900 24500 50900 3 0 0 0 -1 -1 T 22518 50784 9 10 1 0 0 0 2 grenum refdes_renum geda-gaf-1.8.2/gschem/examples/Makefile.in0000664000175000017500000004043112220655724015240 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = gschem/examples DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = \ adders_1.sch \ cmos-invert.sch \ cmos-nand.sch \ cmos-nor.sch \ drawing_primitives.sch \ filter_1.sch \ flipflop_1.sch \ gEDA_Flow.sch \ grey_counter_1.sch \ gschem_buffers.sch \ IEC417.sch \ logo_1.sch \ multiplex_1.sch \ stack_1.sch \ README.agile MOSTLYCLEANFILES = core *.log FILE *.ps *~ CLEANFILES = core *.log FILE *.ps *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = core *.log FILE *.ps *~ Makefile.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gschem/examples/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu gschem/examples/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags-am uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/gschem/examples/drawing_primitives.sch0000664000175000017500000002347112220647257017607 00000000000000v 20111231 2 T 1500 11600 9 10 1 0 0 0 1 Text Justifications: T 2500 11100 9 10 1 0 0 0 1 Lower Left T 2500 10600 9 10 1 0 0 1 1 Middle Left T 2500 10100 9 10 1 0 0 2 1 Upper Left T 2500 9600 9 10 1 0 0 3 1 Lower Middle T 2500 9100 9 10 1 0 0 4 1 Middle Middle T 2500 8600 9 10 1 0 0 5 1 Upper Middle T 2500 8100 9 10 1 0 0 6 1 Lower Right T 2500 7600 9 10 1 0 0 7 1 Middle Right T 2500 7100 9 10 1 0 0 8 1 Upper Right L 2500 11400 2500 6700 3 0 0 0 -1 -1 L 2300 11100 2700 11100 3 0 0 0 -1 -1 L 2300 10600 2700 10600 3 0 0 0 -1 -1 L 2300 10100 2700 10100 3 0 0 0 -1 -1 L 2300 9600 2700 9600 3 0 0 0 -1 -1 L 2300 9100 2700 9100 3 0 0 0 -1 -1 L 2300 8600 2700 8600 3 0 0 0 -1 -1 L 2300 8100 2700 8100 3 0 0 0 -1 -1 L 2300 7600 2700 7600 3 0 0 0 -1 -1 L 2300 7100 2700 7100 3 0 0 0 -1 -1 T 3800 9700 9 10 1 0 0 0 6 Line Types: Solid: Dotted: Dashed: Center: Phantom: L 4900 10900 7300 10900 3 0 0 0 -1 -1 L 4900 10600 7300 10600 3 0 0 1 -1 100 L 4900 10300 7300 10300 3 0 0 2 100 100 L 4900 10000 7300 10000 3 0 0 3 100 100 L 4900 9700 7300 9700 3 0 0 4 100 100 T 4300 9400 9 10 1 0 0 5 6 Arc Types: Solid: Dotted: Dashed: Center: Phantom: A 5000 7700 1400 315 135 3 0 0 0 -1 -1 A 5000 7700 1200 315 135 3 0 0 1 -1 100 A 5000 7700 1000 315 135 3 0 0 2 100 100 A 5000 7700 800 315 135 3 0 0 3 100 100 A 5000 7700 600 315 135 3 0 0 4 100 100 T 14700 7100 9 10 1 0 0 7 1 Nets: N 14800 7100 15900 7100 4 N 14800 6900 16100 6900 4 N 16100 6900 16100 7300 4 N 15900 7300 16100 7300 4 U 15400 6500 15400 5200 10 -1 U 15400 5200 16400 5200 10 1 N 15600 6300 16000 6300 4 C 15600 6300 1 180 0 busripper-1.sym N 15600 5900 16000 5900 4 C 15600 5900 1 180 0 busripper-1.sym C 15200 6100 1 270 0 busripper-1.sym N 15800 5400 15800 5600 4 C 15800 5400 1 270 0 busripper-1.sym N 15600 5000 15600 4700 4 C 15600 5000 1 0 0 busripper-1.sym T 15200 5500 9 10 1 0 0 7 1 Busses: B 8900 7400 600 500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 8000 7900 9 10 1 0 0 0 1 Boxes B 9700 7400 600 500 3 0 0 1 -1 100 0 -1 -1 -1 -1 -1 B 10500 7400 600 500 3 0 0 2 100 100 0 -1 -1 -1 -1 -1 B 11300 7400 600 500 3 0 0 3 100 100 0 -1 -1 -1 -1 -1 B 12100 7400 600 500 3 0 0 4 100 100 0 -1 -1 -1 -1 -1 B 8900 6700 600 500 3 0 0 0 -1 -1 1 -1 -1 -1 -1 -1 B 9700 6700 600 500 3 0 0 1 -1 100 1 -1 -1 -1 -1 -1 B 10500 6700 600 500 3 0 0 2 100 100 1 -1 -1 -1 -1 -1 B 11300 6700 600 500 3 0 0 3 100 100 1 -1 -1 -1 -1 -1 B 12100 6700 600 500 3 0 0 4 100 100 1 -1 -1 -1 -1 -1 B 8900 6000 600 500 3 0 0 0 -1 -1 2 1 0 50 90 50 B 9700 6000 600 500 3 0 0 1 -1 100 2 1 0 50 90 50 B 10500 6000 600 500 3 0 0 2 100 100 2 1 0 50 90 50 B 11300 6000 600 500 3 0 0 3 100 100 2 1 0 50 90 50 B 12100 6000 600 500 3 0 0 4 100 100 2 1 0 50 90 50 B 8900 5300 600 500 3 0 0 0 -1 -1 3 1 45 50 -1 -1 B 9700 5300 600 500 3 0 0 1 -1 100 3 1 45 50 -1 -1 B 10500 5300 600 500 3 0 0 2 100 100 3 1 45 50 -1 -1 B 11300 5300 600 500 3 0 0 3 100 100 3 1 45 50 -1 -1 B 12100 5300 600 500 3 0 0 4 100 100 3 1 45 50 -1 -1 V 4300 5500 600 3 0 0 4 100 100 0 -1 -1 -1 -1 -1 V 4300 5500 800 3 0 0 3 100 100 0 -1 -1 -1 -1 -1 V 4300 5500 1000 3 0 0 2 100 100 0 -1 -1 -1 -1 -1 V 4300 5500 1200 3 0 0 1 -1 100 0 -1 -1 -1 -1 -1 V 4300 5500 1400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 4300 5500 9 10 1 0 0 4 1 Circles P 14800 3800 15300 3800 1 0 0 { T 14700 3800 5 10 0 0 0 0 1 pintype=unknown T 15350 3800 5 10 1 1 0 0 1 pinlabel=unknown T 15200 3850 5 10 1 1 0 6 1 pinnumber=0 T 14700 3800 5 10 0 0 0 0 1 pinseq=0 } P 16100 3500 15600 3500 1 0 0 { T 16100 3500 5 10 0 0 0 0 1 pintype=unknown T 15550 3500 5 10 1 1 0 6 1 pinlabel=unknown T 15700 3550 5 10 1 1 0 0 1 pinnumber=0 T 16100 3500 5 10 0 0 0 0 1 pinseq=0 } T 15300 4200 9 10 1 0 0 6 1 Pins: T 4400 11400 9 10 1 0 0 6 1 Picture: T 14400 8300 9 10 1 0 0 2 3 This is Multi-Line Text. This text takes up more than one line. B 14400 7600 2000 700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 15200 1100 9 10 1 0 0 0 1 Mike Jarabek T 15200 1400 9 10 1 0 0 0 1 1.0 T 11500 1100 9 10 1 0 0 0 1 1 T 13000 1100 9 10 1 0 0 0 1 1 T 11100 1400 9 10 1 0 0 0 1 drawing_primitives.sch T 11500 1900 9 20 1 0 0 0 1 All Drawing Primitives in gschem T 13000 10500 9 10 1 0 0 0 1 One Line Text with \_Overbar\_ and a \_second\_ with more text. T 14400 9100 9 10 1 0 0 0 5 This is \_Multiline\_ text with \_overbars\_ on a bunch of \_random\_ words scattered in the \_text\_. C 1000 1000 0 0 0 title-B.sym T 8000 11600 9 10 1 0 0 0 1 Circles V 9200 10700 300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 10000 10700 300 3 0 0 1 -1 100 0 -1 -1 -1 -1 -1 V 10800 10700 300 3 0 0 2 100 100 0 -1 -1 -1 -1 -1 V 11600 10700 300 3 0 0 3 100 100 0 -1 -1 -1 -1 -1 V 12400 10700 300 3 0 0 4 100 100 0 -1 -1 -1 -1 -1 V 9200 10000 300 3 0 0 0 -1 -1 1 -1 -1 -1 -1 -1 V 10000 10000 300 3 0 0 1 -1 100 1 -1 -1 -1 -1 -1 V 10800 10000 300 3 0 0 2 100 100 1 -1 -1 -1 -1 -1 V 11600 10000 300 3 0 0 3 100 100 1 -1 -1 -1 -1 -1 V 12400 10000 300 3 0 0 4 100 100 1 -1 -1 -1 -1 -1 V 9200 9200 300 3 0 0 0 -1 -1 2 -1 0 50 90 50 V 10000 9200 300 3 0 0 1 -1 100 2 -1 0 50 90 50 V 10800 9200 300 3 0 0 2 100 100 2 -1 0 50 90 50 V 11600 9200 300 3 0 0 3 100 100 2 -1 0 50 90 50 V 12400 9200 300 3 0 0 4 100 100 2 -1 0 50 90 50 V 9200 8400 300 3 0 0 0 -1 -1 3 1 45 50 -1 -1 V 10000 8400 300 3 0 0 1 -1 100 3 1 45 50 -1 -1 V 10800 8400 300 3 0 0 2 100 100 3 1 45 50 -1 -1 V 11600 8400 300 3 0 0 3 100 100 3 1 45 50 -1 -1 V 12400 8400 300 3 0 0 4 100 100 3 1 45 50 -1 -1 T 8700 10700 9 10 1 0 0 7 1 No Fill T 8700 10000 9 10 1 0 0 7 1 Solid Fill T 8700 9200 9 10 1 0 0 7 1 Mesh Fill T 8700 8400 9 10 1 0 0 7 1 Hatch Fill T 8600 7600 9 10 1 0 0 7 1 No Fill T 8600 6900 9 10 1 0 0 7 1 Solid Fill T 8600 6200 9 10 1 0 0 7 1 Mesh Fill T 8600 5500 9 10 1 0 0 7 1 Hatch Fill T 9200 11200 9 10 1 0 0 3 1 Solid T 10000 11200 9 10 1 0 0 3 1 Dotted T 10800 11200 9 10 1 0 0 3 1 Dashed T 11600 11200 9 10 1 0 0 3 1 Center T 12400 11200 9 10 1 0 0 3 1 Phantom T 8800 5000 9 10 1 0 0 6 1 Line Types with Thickness L 8900 4700 9500 4700 3 0 0 0 -1 -1 L 9700 4700 10300 4700 3 0 0 1 -1 100 L 10500 4700 11100 4700 3 0 0 2 100 100 L 11300 4700 11900 4700 3 0 0 3 100 100 L 12100 4700 12700 4700 3 0 0 4 100 100 L 8900 4300 9500 4300 3 10 0 0 -1 -1 L 9700 4300 10300 4300 3 10 0 1 -1 100 L 10500 4300 11100 4300 3 10 0 2 100 100 L 11300 4300 11900 4300 3 10 0 3 100 100 L 12100 4300 12700 4300 3 10 0 4 100 100 L 8900 3900 9500 3900 3 50 0 0 -1 -1 L 9700 3900 10300 3900 3 50 0 1 -1 100 L 10500 3900 11100 3900 3 50 0 2 100 100 L 11300 3900 11900 3900 3 50 0 3 100 100 L 12100 3900 12700 3900 3 50 0 4 100 100 L 8900 3400 9500 3400 3 100 0 0 -1 -1 L 9700 3400 10300 3400 3 100 0 1 -1 100 L 10500 3400 11100 3400 3 100 0 2 100 100 L 11300 3400 11900 3400 3 100 0 3 100 100 L 12100 3400 12700 3400 3 100 0 4 100 100 L 8900 2900 9500 2900 3 150 0 0 -1 -1 L 9700 2900 10300 2900 3 150 0 1 -1 100 L 10500 2900 11100 2900 3 150 0 2 100 100 L 11300 2900 11900 2900 3 150 0 3 100 100 L 12100 2900 12700 2900 3 150 0 4 100 100 T 8600 4700 9 10 1 0 0 7 1 0 T 8600 4300 9 10 1 0 0 7 1 10 T 8600 3900 9 10 1 0 0 7 1 50 T 8600 3400 9 10 1 0 0 7 1 100 T 8600 2900 9 10 1 0 0 7 1 150 T 1600 3800 9 10 1 0 0 0 1 Text Sizes T 2000 3500 9 10 1 0 0 0 1 10 Points T 2000 3100 9 15 1 0 0 0 1 15 Points T 2000 2500 9 30 1 0 0 0 1 30 Points T 2000 1300 9 72 1 0 0 0 1 72 Points T 5600 4300 9 10 1 0 0 0 1 Text Angles T 7200 3600 9 10 1 0 0 0 1 0 Degrees T 7100 3700 9 10 1 0 90 0 1 90 Degrees T 7000 3600 9 10 1 0 180 0 1 180 Degrees T 7100 3500 9 10 1 0 270 0 1 270 Degrees L 16100 3500 17400 3500 3 0 0 0 -1 -1 N 16100 7100 16700 7100 4 N 16400 6900 16400 7100 4 N 16500 7300 16500 7100 4 G 4900 11200 500 600 0 0 1 test.png iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAAAAACPAi4CAAAAAXNSR0IDN8dNUwAAANNpQ0NQ aWNjAAB42mNgYEzISc4tZlFgYMjNKylyD3KMjIiMUmC/zcDDwMkgzqDKoJeYXFzgGBDgw4AT fLvGwAiiL+uCzGIgDbCkpBYnA+ktQGyRXFBUAqTfALFfeUkBkM1oA2SLZIcEOQPZAUC2QG5O aTJUL8hWntS80GAgLQPG6QxFDIkMlQwKDEkMpQyZDDkMJQy6QDoP6D/s+ozA+vwY8oF6koFk AVB3EVBHOkMGUK8OULSUoZghFUinAcVTgTAHqAIIQOGE7v+CxKJEuM+YjI0Bpr8zRfhQAY0A AAAJcEhZcwAAD2EAAA9hAag/p2kAAAAfelRYdGF1dGhvcgAAeNpzyi9NSS3PzMpTCErNLSgB AC4pBdBUK6Y8AAAAM0lEQVRYw+3QsREAMAgDMWD0LJ6MQEFH5PpPhfPEbBUAAGAJkF1wnQgA AAAAAAAAAPwKPFhnAgC601zyAAAAAElFTkSuQmCC . G 5500 11200 500 600 90 0 1 test.png iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAAAAACPAi4CAAAAAXNSR0IDN8dNUwAAANNpQ0NQ aWNjAAB42mNgYEzISc4tZlFgYMjNKylyD3KMjIiMUmC/zcDDwMkgzqDKoJeYXFzgGBDgw4AT fLvGwAiiL+uCzGIgDbCkpBYnA+ktQGyRXFBUAqTfALFfeUkBkM1oA2SLZIcEOQPZAUC2QG5O aTJUL8hWntS80GAgLQPG6QxFDIkMlQwKDEkMpQyZDDkMJQy6QDoP6D/s+ozA+vwY8oF6koFk AVB3EVBHOkMGUK8OULSUoZghFUinAcVTgTAHqAIIQOGE7v+CxKJEuM+YjI0Bpr8zRfhQAY0A AAAJcEhZcwAAD2EAAA9hAag/p2kAAAAfelRYdGF1dGhvcgAAeNpzyi9NSS3PzMpTCErNLSgB AC4pBdBUK6Y8AAAAM0lEQVRYw+3QsREAMAgDMWD0LJ6MQEFH5PpPhfPEbBUAAGAJkF1wnQgA AAAAAAAAAPwKPFhnAgC601zyAAAAAElFTkSuQmCC . G 6100 11200 500 600 0 1 1 test.png iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAAAAACPAi4CAAAAAXNSR0IDN8dNUwAAANNpQ0NQ aWNjAAB42mNgYEzISc4tZlFgYMjNKylyD3KMjIiMUmC/zcDDwMkgzqDKoJeYXFzgGBDgw4AT fLvGwAiiL+uCzGIgDbCkpBYnA+ktQGyRXFBUAqTfALFfeUkBkM1oA2SLZIcEOQPZAUC2QG5O aTJUL8hWntS80GAgLQPG6QxFDIkMlQwKDEkMpQyZDDkMJQy6QDoP6D/s+ozA+vwY8oF6koFk AVB3EVBHOkMGUK8OULSUoZghFUinAcVTgTAHqAIIQOGE7v+CxKJEuM+YjI0Bpr8zRfhQAY0A AAAJcEhZcwAAD2EAAA9hAag/p2kAAAAfelRYdGF1dGhvcgAAeNpzyi9NSS3PzMpTCErNLSgB AC4pBdBUK6Y8AAAAM0lEQVRYw+3QsREAMAgDMWD0LJ6MQEFH5PpPhfPEbBUAAGAJkF1wnQgA AAAAAAAAAPwKPFhnAgC601zyAAAAAElFTkSuQmCC . G 6700 11200 500 600 270 1 1 test.png iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAAAAACPAi4CAAAAAXNSR0IDN8dNUwAAANNpQ0NQ aWNjAAB42mNgYEzISc4tZlFgYMjNKylyD3KMjIiMUmC/zcDDwMkgzqDKoJeYXFzgGBDgw4AT fLvGwAiiL+uCzGIgDbCkpBYnA+ktQGyRXFBUAqTfALFfeUkBkM1oA2SLZIcEOQPZAUC2QG5O aTJUL8hWntS80GAgLQPG6QxFDIkMlQwKDEkMpQyZDDkMJQy6QDoP6D/s+ozA+vwY8oF6koFk AVB3EVBHOkMGUK8OULSUoZghFUinAcVTgTAHqAIIQOGE7v+CxKJEuM+YjI0Bpr8zRfhQAY0A AAAJcEhZcwAAD2EAAA9hAag/p2kAAAAfelRYdGF1dGhvcgAAeNpzyi9NSS3PzMpTCErNLSgB AC4pBdBUK6Y8AAAAM0lEQVRYw+3QsREAMAgDMWD0LJ6MQEFH5PpPhfPEbBUAAGAJkF1wnQgA AAAAAAAAAPwKPFhnAgC601zyAAAAAElFTkSuQmCC . N 14800 7300 15700 7300 4 { T 14800 7350 5 8 1 1 0 0 1 netname=NETNAME } N 14900 6100 15200 6100 4 { T 15200 6150 5 8 1 1 0 6 1 netname=NETNAME } geda-gaf-1.8.2/gschem/examples/cmos-nand.sch0000664000175000017500000000201312050461155015535 00000000000000v 20031231 1 C 29900 23000 1 0 0 pmos-2.sym C 28500 23000 1 0 0 pmos-2.sym N 30400 23800 30400 24000 4 N 30400 19900 30400 19700 4 C 29900 19900 1 0 0 nmos-2.sym N 30600 20300 30700 20300 4 N 30600 23400 30700 23400 4 C 30800 24000 1 0 0 vdd-1.sym C 30900 19400 1 0 0 gnd-1.sym C 27300 22500 1 0 0 in-1.sym C 27300 21700 1 0 0 in-1.sym C 31300 22100 1 0 0 out-1.sym N 29900 20300 29800 20300 4 N 27900 22600 28400 22600 4 N 30400 22200 31300 22200 4 N 28400 23400 28500 23400 4 N 29000 23800 29000 24000 4 N 29000 24000 31000 24000 4 N 29200 23400 29300 23400 4 N 29300 23400 29300 24000 4 N 30700 23400 30700 24000 4 N 29000 23000 29000 22900 4 N 29000 22900 30400 22900 4 C 29900 20900 1 0 0 nmos-2.sym N 30400 20900 30400 20700 4 N 29900 23400 29800 23400 4 N 29800 23400 29800 20300 4 N 28400 23400 28400 21300 4 N 28400 21300 29900 21300 4 N 30400 19700 31000 19700 4 N 30400 23000 30400 21700 4 N 27900 21800 29800 21800 4 N 30600 21300 30700 21300 4 N 30700 21300 30700 19700 4 T 28500 18800 9 10 1 0 0 0 1 DRAWN BY ARNO PETERS geda-gaf-1.8.2/gschem/examples/filter_1.sch0000664000175000017500000002742112050461155015375 00000000000000v 20060824 1 C 31600 26500 1 180 1 opamp-1.sym { T 32200 25800 5 10 1 1 0 0 1 value=LMC662 T 32300 27300 5 10 0 0 0 0 1 device=OPAMP T 32300 27100 5 10 1 1 0 0 1 refdes=U1 T 32300 27900 5 10 0 0 0 0 1 symversion=0.1 } C 33600 20700 1 270 0 capacitor-1.sym { T 33800 21400 5 10 0 0 0 0 1 device=CAPACITOR T 33900 20400 5 10 1 1 0 0 1 refdes=C1 T 33800 21600 5 10 0 0 0 0 1 symversion=0.1 } C 34200 20700 1 270 0 capacitor-1.sym { T 34400 21400 5 10 0 0 0 0 1 device=CAPACITOR T 34500 20400 5 10 1 1 0 0 1 refdes=C2 T 34400 21600 5 10 0 0 0 0 1 symversion=0.1 } C 34800 20700 1 270 0 capacitor-1.sym { T 35000 21400 5 10 0 0 0 0 1 device=CAPACITOR T 35100 20400 5 10 1 1 0 0 1 refdes=C3 T 35000 21600 5 10 0 0 0 0 1 symversion=0.1 } C 35400 20700 1 270 0 capacitor-1.sym { T 35600 21400 5 10 0 0 0 0 1 device=CAPACITOR T 35700 20400 5 10 1 1 0 0 1 refdes=C4 T 35600 21600 5 10 0 0 0 0 1 symversion=0.1 } C 36000 20700 1 270 0 capacitor-1.sym { T 36200 21400 5 10 0 0 0 0 1 device=CAPACITOR T 36300 20400 5 10 1 1 0 0 1 refdes=C5 T 36200 21600 5 10 0 0 0 0 1 symversion=0.1 } C 36600 20700 1 270 0 capacitor-1.sym { T 36800 21400 5 10 0 0 0 0 1 device=CAPACITOR T 36900 20400 5 10 1 1 0 0 1 refdes=C6 T 36800 21600 5 10 0 0 0 0 1 symversion=0.1 } C 37200 20700 1 270 0 capacitor-1.sym { T 37400 21400 5 10 0 0 0 0 1 device=CAPACITOR T 37500 20400 5 10 1 1 0 0 1 refdes=C7 T 37400 21600 5 10 0 0 0 0 1 symversion=0.1 } C 37800 20700 1 270 0 capacitor-1.sym { T 38000 21400 5 10 0 0 0 0 1 device=CAPACITOR T 38100 20400 5 10 1 1 0 0 1 refdes=C8 T 38000 21600 5 10 0 0 0 0 1 symversion=0.1 } N 33800 20700 33800 20800 4 N 33800 20800 33300 20800 4 N 34400 20700 34400 21100 4 N 34400 21100 33300 21100 4 N 33300 21400 35000 21400 4 N 35000 21400 35000 20700 4 N 35600 20700 35600 21700 4 N 35600 21700 33300 21700 4 N 33300 22000 36200 22000 4 N 36200 22000 36200 20700 4 N 36800 20700 36800 22300 4 N 36800 22300 33300 22300 4 N 33300 22600 37400 22600 4 N 37400 22600 37400 20700 4 N 38000 20700 38000 22900 4 N 38000 22900 33300 22900 4 N 31300 21900 30700 21900 4 N 30400 26300 31600 26300 4 N 32600 26100 33600 26100 4 N 33100 26100 33100 27100 4 N 33100 27100 32600 27100 4 C 29500 25800 1 0 0 resistor-1.sym { T 29900 25600 5 10 1 1 0 0 1 value=47K T 29800 26200 5 10 0 0 0 0 1 device=RESISTOR T 29700 26100 5 10 1 1 0 0 1 refdes=R1 } C 32000 23800 1 0 0 gnd-1.sym N 30400 20800 31300 20800 4 C 35800 19200 1 0 0 gnd-1.sym N 33800 19800 33800 19600 4 N 33800 19600 35900 19600 4 N 35900 19600 35900 19500 4 N 38000 19800 38000 19600 4 N 38000 19600 35900 19600 4 N 35900 19600 34400 19600 4 N 34400 19800 34400 19600 4 N 34400 19600 35000 19600 4 N 35000 19800 35000 19600 4 N 35000 19600 35600 19600 4 N 35600 19800 35600 19600 4 N 35600 19600 36200 19600 4 N 36200 19800 36200 19600 4 N 36200 19600 36800 19600 4 N 36800 19600 36800 19800 4 N 36800 19600 37400 19600 4 N 37400 19800 37400 19600 4 N 37400 19600 35900 19600 4 N 29100 22900 31300 22900 4 N 29100 22600 31300 22600 4 N 31300 22300 29100 22300 4 C 26800 20800 1 0 0 gnd-1.sym C 31900 26500 1 0 0 vdd-1.sym C 18400 22000 1 0 0 resistor-1.sym { T 18700 21800 5 10 1 1 0 0 1 10K T 18700 22400 5 10 0 0 0 0 1 device=RESISTOR T 18600 22300 5 10 1 1 0 0 1 refdes=R2 } T 17200 22900 9 10 1 0 0 0 1 50/60Hz mains frequency T 17200 22700 9 10 1 0 0 0 1 at CMOS logic levels T 34900 20800 9 10 1 0 0 0 1 8 X 1uF Plastic T 24000 30900 9 10 1 0 0 0 1 COMMUTATING FILTER PHASE-LOCKED TO MAINS FREQUENCY C 22400 19500 1 0 0 4046-1.sym { T 22701 23050 5 10 0 0 0 0 1 device=4046 T 24100 22900 5 10 1 1 0 6 1 refdes=U2 T 22700 23250 5 10 0 0 0 0 1 footprint=DIP16 } N 27100 21300 26900 21300 4 N 26900 21300 26900 21100 4 N 24400 21600 27100 21600 4 C 25500 19200 1 270 0 resistor-1.sym { T 25800 18600 5 10 1 1 0 0 1 value=220K T 25800 19600 5 10 0 0 0 0 1 device=RESISTOR T 25700 19500 5 10 1 1 0 0 1 refdes=R3 } C 24900 19200 1 270 0 capacitor-1.sym { T 24300 18600 5 10 1 1 0 0 1 value=33nF T 25100 19900 5 10 0 0 0 0 1 device=CAPACITOR T 25100 19700 5 10 1 1 0 0 1 refdes=C9 T 25100 20100 5 10 0 0 0 0 1 symversion=0.1 } N 25100 18300 25100 18100 4 N 25100 18100 24800 18100 4 N 24800 18100 24800 20400 4 N 24800 20400 24400 20400 4 N 24400 20700 25100 20700 4 N 25100 20700 25100 19200 4 N 25600 19200 25600 21000 4 N 25600 21000 24400 21000 4 N 25600 18300 25600 18100 4 C 25500 17800 1 0 0 gnd-1.sym C 22900 23100 1 0 0 resistor-1.sym { T 23200 23500 5 10 1 1 0 0 1 value=100K T 23200 23500 5 10 0 0 0 0 1 device=RESISTOR T 23100 23400 5 10 1 1 0 0 1 refdes=R4 } C 21900 19200 1 270 0 capacitor-1.sym { T 22500 18700 5 10 1 1 0 0 1 value=6n8F T 22100 19900 5 10 0 0 0 0 1 device=CAPACITOR T 22100 19700 5 10 1 1 0 0 1 refdes=C10 T 22100 20100 5 10 0 0 0 0 1 symversion=0.1 } C 22000 17800 1 0 0 gnd-1.sym N 22100 18100 22100 18300 4 N 22100 19200 22100 23200 4 N 22100 23200 22900 23200 4 N 23800 23200 24600 23200 4 N 24600 23200 24600 22500 4 N 24600 22500 24400 22500 4 N 22400 21500 22100 21500 4 C 31300 20600 1 0 0 4051-1.sym { T 31600 23450 5 10 0 0 0 0 1 device=4051 T 33000 23300 5 10 1 1 0 6 1 refdes=U3 T 31600 23650 5 10 0 0 0 0 1 footprint=DIL16 } N 21800 22200 22400 22200 4 N 19500 22500 22400 22500 4 N 22400 20400 21100 20400 4 N 21100 18100 21100 21500 4 C 19900 27700 1 0 0 icl7660-1.sym { T 21700 29200 5 10 0 0 0 0 1 device=icl7660 T 21600 29300 5 10 1 1 0 6 1 refdes=U4 } C 21000 17800 1 0 0 gnd-1.sym C 22600 27700 1 270 0 capacitor-2.sym { T 23200 27200 5 10 1 1 0 0 1 value=22uF T 22800 28400 5 10 0 0 0 0 1 device=POLARIZED_CAPACITOR T 22800 28200 5 10 1 1 0 0 1 refdes=C11 T 22800 28600 5 10 0 0 0 0 1 symversion=0.1 } C 23400 29800 1 270 0 capacitor-2.sym { T 23900 29300 5 10 1 1 0 0 1 value=22uF T 23600 30500 5 10 0 0 0 0 1 device=POLARIZED_CAPACITOR T 23600 30300 5 10 1 1 0 0 1 refdes=C12 T 23600 30700 5 10 0 0 0 0 1 symversion=0.1 } C 24300 27700 1 270 0 capacitor-2.sym { T 24900 27200 5 10 1 1 0 0 1 value=22uF T 24500 28400 5 10 0 0 0 0 1 device=POLARIZED_CAPACITOR T 24500 28200 5 10 1 1 0 0 1 refdes=C13 T 24500 28600 5 10 0 0 0 0 1 symversion=0.1 } C 23500 28400 1 0 0 gnd-1.sym C 20800 25900 1 0 0 gnd-1.sym N 21900 28900 22000 28900 4 N 22000 28900 22000 30000 4 N 22000 30000 24100 30000 4 N 23600 28900 23600 28700 4 N 19900 28000 19700 28000 4 N 19700 28000 19700 26300 4 N 22000 26300 22000 28000 4 N 19700 26300 24500 26300 4 N 21900 28000 22000 28000 4 C 23300 27800 1 0 0 diode-1.sym { T 23700 28400 5 10 0 0 0 0 1 device=DIODE T 23600 28300 5 10 1 1 0 0 1 refdes=D? } C 22600 29400 1 270 0 diode-1.sym { T 23000 30000 5 10 0 0 0 0 1 device=DIODE T 22900 29900 5 10 1 1 0 0 1 refdes=D? } N 21900 28600 22400 28600 4 N 22400 26600 22400 28600 4 N 23300 28000 22800 28000 4 N 22800 27700 22800 28500 4 N 22800 29400 22800 30000 4 N 22400 26600 22800 26600 4 N 22800 26600 22800 26800 4 N 24200 28000 25000 28000 4 N 24500 27700 24500 28000 4 N 24500 26300 24500 26800 4 N 23600 29800 23600 30000 4 T 24300 30000 9 10 1 0 0 0 1 8V dc in T 24600 28100 9 10 1 0 0 0 1 Vdd = 15V dc C 31000 28200 1 270 0 resistor-1.sym { T 30800 27800 5 10 1 1 270 0 1 value=100K T 31300 28600 5 10 0 0 0 0 1 device=RESISTOR T 31200 28500 5 10 1 1 0 0 1 refdes=R5 } C 31000 25400 1 270 0 resistor-1.sym { T 30800 25200 5 10 1 1 270 0 1 value=100K T 31300 25800 5 10 0 0 0 0 1 device=RESISTOR T 31200 25700 5 10 1 1 0 0 1 refdes=R6 } N 31100 24500 31100 24300 4 C 27700 27100 1 0 0 vdd-1.sym T 25300 25800 9 10 1 0 0 0 1 unfiltered Vin T 33700 26200 9 10 1 0 0 0 1 comb-filtered Vout C 30300 20100 1 0 0 gnd-1.sym N 30400 20800 30400 20400 4 T 32000 30100 9 10 1 0 0 0 9 This op-amp may want to be dc isolated from the input which currently runs over dual 8V rails instead. Similarly, the output might want to be tailored to a 5V only (for example) control unit input. This depth of 8 points around the commutator will yield a theoretical maximum filter effect of 8x6=48dB, but extending this to 16 or more bits is not out of the question Good long term design takes care of these voltage shifts in one hit but of course, this is just a bodged up test cct... C 27100 19600 1 0 0 4040-1.sym { T 27400 23750 5 10 0 0 0 0 1 device=4040 T 28800 23600 5 10 1 1 0 6 1 refdes=U5 T 27400 23950 5 10 0 0 0 0 1 footprint=DIP16 } N 29400 22300 29400 23800 4 N 21800 23800 29400 23800 4 T 24500 21700 9 10 1 0 0 0 1 Fc = 16*50 = 800 Hz T 20400 25100 9 10 1 0 0 0 1 PLL Calculations T 19600 24800 9 10 1 0 0 0 1 Fcentre = 800Hz, Fmin = 40*16 = 640, Fmax = 70*16=1120 T 19600 24500 9 10 1 0 0 0 1 Flock = (1120-640)/2 = 240 Hz = Fcapture T 19600 24200 9 10 1 0 0 0 1 for Rlpf = 100K, Clpf = 1/(2*pi*Rlpf*240) = (1/(4.8*pi)) * 10^-7 = 6.8nF T 17300 22500 9 10 1 0 0 0 1 (ca. 12VAC peak) N 21800 22200 21800 23800 4 N 31100 28400 31100 28200 4 C 31700 26900 1 0 0 capacitor-1.sym { T 32000 27400 5 10 1 1 0 0 1 33nF T 31900 27600 5 10 0 0 0 0 1 device=CAPACITOR T 31900 27400 5 10 1 1 0 0 1 refdes=C14 T 31900 27800 5 10 0 0 0 0 1 symversion=0.1 } N 30700 21900 30700 25900 4 N 31700 27100 30700 27100 4 N 30700 27100 30700 26300 4 C 29500 26200 1 0 0 resistor-1.sym { T 29900 26500 5 10 1 1 0 0 1 value=47K T 29800 26600 5 10 0 0 0 0 1 device=RESISTOR T 29700 26500 5 10 1 1 0 0 1 refdes=R7 } N 30400 25900 31600 25900 4 N 31100 25400 31100 25900 4 N 31100 27300 31100 25900 4 T 29800 22900 9 10 1 0 0 0 1 200Hz T 29800 22600 9 10 1 0 0 0 1 100Hz T 29900 22300 9 10 1 0 0 0 1 50Hz T 33100 27400 9 10 1 0 0 0 1 post-commutator lowpass rolls off at 100 Hz T 31100 18200 9 10 1 0 0 0 1 Disadvantage with using 200/100/50 Hz in is low freq. to filter out C 16800 20600 1 0 0 pwrxfmr-1.sym { T 17100 22300 5 10 1 1 0 0 1 refdes=T? T 17100 22500 5 10 0 0 0 0 1 device=transformer } N 16400 21700 16400 22100 4 N 16400 22100 16800 22100 4 N 16800 21500 16700 21500 4 N 16700 21500 16700 21300 4 N 16700 21300 16800 21300 4 N 16800 20700 16400 20700 4 N 16400 20700 16400 21100 4 C 15000 20900 1 0 0 mains-plug-1.sym { T 15400 22000 5 10 1 1 0 0 1 refdes=CONN? T 15400 22200 5 10 0 0 0 0 1 device=MAINS_CONNECTOR } C 18400 21400 1 0 0 resistor-1.sym { T 18700 21200 5 10 1 1 0 0 1 10K T 18700 21800 5 10 0 0 0 0 1 device=RESISTOR T 18600 21700 5 10 1 1 0 0 1 refdes=R8 } N 19300 22100 19500 22100 4 N 19500 22000 19500 22500 4 N 20700 22000 21000 22000 4 N 21000 22000 21000 23600 4 N 19300 21500 19500 21500 4 N 20700 21500 21100 21500 4 T 20600 23800 9 10 1 0 0 0 1 8V dc in C 26300 19200 1 270 0 resistor-1.sym { T 26600 18600 5 10 1 1 0 0 1 value=100K T 26600 19600 5 10 0 0 0 0 1 device=RESISTOR T 26500 19500 5 10 1 1 0 0 1 refdes=R9 } N 24400 21300 26400 21300 4 N 26400 21300 26400 19200 4 N 26400 18300 26400 18100 4 C 26300 17800 1 0 0 gnd-1.sym T 24000 17600 9 10 1 0 0 0 1 Don't believe the data sheets. You DO need R2 C 27400 26300 1 180 1 opamp-1.sym { T 28000 25600 5 10 1 1 0 0 1 value=LMC662 T 28100 27100 5 10 0 0 0 0 1 device=OPAMP T 28100 26300 5 10 1 1 0 0 1 refdes=U6 T 28100 27700 5 10 0 0 0 0 1 symversion=0.1 } N 27400 26100 27100 26100 4 N 27100 26100 27100 26600 4 N 27100 26600 28600 26600 4 N 28600 26600 28600 25900 4 N 28400 25900 29500 25900 4 N 25900 25700 27400 25700 4 N 26700 25700 26700 27000 4 N 26700 27000 29100 27000 4 N 29100 27000 29100 26300 4 N 29100 26300 29500 26300 4 C 30900 28400 1 0 0 vdd-1.sym C 27800 24900 1 0 0 gnd-1.sym N 27900 25200 27900 25500 4 N 27900 26300 27900 27100 4 T 31100 18000 9 10 1 0 0 0 1 This is obvious in the built up version :-( C 31700 28000 1 0 0 resistor-1.sym { T 32000 28300 5 10 1 1 0 0 1 value=47K T 32000 28400 5 10 0 0 0 0 1 device=RESISTOR T 31900 28300 5 10 1 1 0 0 1 refdes=R10 } N 31100 24300 32100 24300 4 N 32100 25700 32100 24100 4 N 31700 28100 31500 28100 4 N 31500 28100 31500 27100 4 N 32800 28100 32600 28100 4 N 32800 28100 32800 27100 4 C 19500 21300 1 0 0 bridge-1.sym { T 19700 22300 5 10 1 1 0 0 1 refdes=U7 T 19700 22700 5 10 0 0 0 0 1 device=bridge T 19700 23100 5 10 0 0 0 0 1 symversion=0.1 } N 18300 22100 18400 22100 4 N 18300 21500 18400 21500 4 T 24700 30600 9 10 1 0 0 0 1 THIS SCHEMATIC WAS DRAWN BY ARNIM LITTEK C 11200 13700 0 0 0 title-D.sym N 20900 26300 20900 26200 4 geda-gaf-1.8.2/gschem/examples/cmos-invert.sch0000664000175000017500000000117412050461155016133 00000000000000v 20031231 1 C 29800 21900 1 0 0 pmos-2.sym N 30300 19900 30300 19700 4 C 29800 19900 1 0 0 nmos-2.sym N 30500 20300 31100 20300 4 N 31100 20300 31100 19700 4 N 30500 22300 30900 22300 4 C 30800 22900 1 0 0 vdd-1.sym C 31300 19400 1 0 0 gnd-1.sym C 28000 21200 1 0 0 in-1.sym C 30900 21200 1 0 0 out-1.sym N 29800 20300 29600 20300 4 N 30300 21900 30300 20700 4 N 29600 20300 29600 22300 4 N 29600 22300 29800 22300 4 N 28600 21300 29600 21300 4 N 30300 22900 31000 22900 4 N 30300 19700 31400 19700 4 N 30300 22700 30300 22900 4 N 30900 22300 30900 22900 4 N 30300 21300 30900 21300 4 T 28900 18900 9 10 1 0 0 0 1 DRAWN BY ARNO PETERS geda-gaf-1.8.2/gschem/examples/gschem_buffers.sch0000664000175000017500000001241412050461155016646 00000000000000v 20081221 2 C 40000 40000 0 0 0 title-bordered-A2.sym T 56300 40900 9 20 1 0 0 0 1 gschem place buffers T 56300 40600 9 10 1 0 0 0 1 gschem_buffers.sch T 56300 40300 9 10 1 0 0 0 1 1 T 57800 40300 9 10 1 0 0 0 1 1 T 60300 40600 9 10 1 0 0 0 1 1.0 T 60300 40300 9 10 1 0 0 0 1 Peter Clifton B 42000 49400 4200 3600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 41700 49900 41700 53400 3 0 0 0 -1 -1 L 41700 53400 45900 53400 3 0 0 0 -1 -1 L 45900 53000 45900 53400 3 0 0 0 -1 -1 L 45600 53400 45600 53800 3 0 0 0 -1 -1 L 41400 53800 45600 53800 3 0 0 0 -1 -1 L 41400 50300 41400 53800 3 0 0 0 -1 -1 L 41100 50700 41100 54200 3 0 0 0 -1 -1 L 45300 53800 45300 54200 3 0 0 0 -1 -1 L 41100 54200 45300 54200 3 0 0 0 -1 -1 L 41100 51100 40800 51100 3 0 0 0 -1 -1 L 40800 51100 40800 54600 3 0 0 0 -1 -1 L 45000 54200 45000 54600 3 0 0 0 -1 -1 L 40800 54600 45000 54600 3 0 0 0 -1 -1 L 41400 50700 41100 50700 3 0 0 0 -1 -1 L 41700 50300 41400 50300 3 0 0 0 -1 -1 L 42000 49900 41700 49900 3 0 0 0 -1 -1 T 42200 52600 9 20 1 0 0 0 1 Paste buffers B 47600 46500 6000 4800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 47900 50700 9 20 1 0 0 0 1 Schematic page B 56700 48700 4200 3600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 57000 51700 9 20 1 0 0 0 1 Place buffer B 57400 42200 4500 3000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 57700 42500 3900 1300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 57900 43500 9 10 1 0 0 0 1 words here T 57700 44600 9 20 1 0 0 0 1 Text entry L 52200 43000 52200 44500 3 0 0 0 -1 -1 L 55200 44500 55200 43000 3 0 0 0 -1 -1 A 53696 44499 1497 0 180 3 0 0 0 -1 -1 A 53704 43001 1494 180 180 3 0 0 0 -1 -1 A 53696 44501 1496 180 180 3 0 0 0 -1 -1 T 52800 44100 9 20 1 0 0 0 2 Component Library C 53300 41700 1 0 0 lm741-1.sym { T 53500 42600 5 10 1 1 0 0 1 refdes=U? } T 58400 46600 9 20 1 0 0 0 1 new C 49800 48600 1 0 0 7400-1.sym { T 50100 49500 5 10 1 1 0 0 1 refdes=U1 } C 49800 47500 1 0 0 7400-1.sym { T 50100 48400 5 10 1 1 0 0 1 refdes=U2 } N 49800 48900 49600 48900 4 N 49600 48900 49600 48600 4 N 49600 48600 51300 48600 4 N 51300 48600 51300 48000 4 N 51100 49100 51100 48500 4 N 51100 48500 49800 48500 4 N 49800 48500 49800 48200 4 N 49800 47800 49300 47800 4 N 49800 49300 49300 49300 4 N 51100 49100 51900 49100 4 N 51100 48000 51900 48000 4 C 43400 51000 1 0 0 7400-1.sym { T 43700 51900 5 10 1 1 0 0 1 refdes=U1 } C 43400 49900 1 0 0 7400-1.sym { T 43700 50800 5 10 1 1 0 0 1 refdes=U2 } N 43400 51300 43200 51300 4 N 43200 51300 43200 51000 4 N 43200 51000 44900 51000 4 N 44900 51000 44900 50400 4 N 44700 51500 44700 50900 4 N 44700 50900 43400 50900 4 N 43400 50900 43400 50600 4 N 43400 50200 42900 50200 4 N 43400 51700 42900 51700 4 N 44700 51500 45500 51500 4 N 44700 50400 45500 50400 4 A 47707 50297 2996 193 102 3 0 0 0 -1 -1 L 44700 49800 44700 49500 3 0 0 0 -1 -1 L 44700 49800 44900 49600 3 0 0 0 -1 -1 A 50098 39887 13440 56 56 3 0 0 0 -1 -1 L 57400 51000 57700 51000 3 0 0 0 -1 -1 L 57700 51000 57500 51200 3 0 0 0 -1 -1 L 54100 42500 57500 49300 3 0 0 0 -1 -1 L 59700 43500 58900 49200 3 0 0 0 -1 -1 L 57500 49300 57200 49100 3 0 0 0 -1 -1 L 57500 49300 57500 48900 3 0 0 0 -1 -1 L 58900 49200 58800 48900 3 0 0 0 -1 -1 L 58900 49200 59100 48900 3 0 0 0 -1 -1 L 53000 49400 57200 49400 3 0 0 0 -1 -1 L 57200 50700 53000 50700 3 0 0 0 -1 -1 L 57200 49400 56900 49500 3 0 0 0 -1 -1 L 57200 49400 56900 49300 3 0 0 0 -1 -1 L 53000 50700 53300 50800 3 0 0 0 -1 -1 L 53000 50700 53300 50600 3 0 0 0 -1 -1 T 49700 53600 9 20 1 0 0 0 1 deep copy T 45800 48200 9 20 1 0 0 0 1 deep copy T 55400 46700 9 20 1 0 0 0 1 new T 54600 50800 9 20 1 0 0 0 1 deep copy T 54600 51200 9 20 1 0 0 0 1 move T 41700 41800 9 20 1 0 0 0 8 1 Copy 2 Copy Multiple 3 Move (incl. dragging) 4 Copy (to) Buffer 5 Paste (from) Buffer 6 Place component 7 Place text 8 Delete T 54400 49600 9 20 1 0 0 0 1 deep copy T 54500 51200 9 20 1 0 0 6 1 1,5,7 T 54500 50800 9 20 1 0 0 6 1 2,6 T 49300 53600 9 20 1 0 0 0 1 5 T 55400 47100 9 20 1 0 0 0 1 6 T 58400 47000 9 20 1 0 0 0 1 7 T 45800 48600 9 20 1 0 0 0 1 4 T 54300 49600 9 20 1 0 0 6 1 1,2 T 53300 53800 9 20 1 0 0 0 5 NB: Can always free objects in the place buffer All but "move" have a trivial cancel operation Can rotate / mirror the place buffer as it does not reference any schematic page or paste-buffer objects except inside the "move" action A 48504 43001 1494 180 180 3 0 0 0 -1 -1 L 47000 43000 47000 44600 3 0 0 0 -1 -1 L 50000 43000 50000 44700 3 0 0 0 -1 -1 A 48496 44701 1496 180 180 3 0 0 0 -1 -1 A 48496 44699 1497 0 180 3 0 0 0 -1 -1 L 47300 43600 47300 42500 3 0 0 0 -1 -1 L 47500 43300 47500 42200 3 0 0 0 -1 -1 L 47800 43100 47800 42000 3 0 0 0 -1 -1 L 48200 42900 48200 41800 3 0 0 0 -1 -1 L 48600 42900 48600 41800 3 0 0 0 -1 -1 L 49000 43000 49000 41900 3 0 0 0 -1 -1 L 49400 43200 49400 42100 3 0 0 0 -1 -1 L 49700 43500 49700 42400 3 0 0 0 -1 -1 B 47900 44900 1200 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 47900 44900 47900 44700 3 0 0 0 -1 -1 L 49100 44900 49100 44700 3 0 0 0 -1 -1 L 53900 44600 53700 44700 3 0 0 0 -1 -1 T 48000 43800 9 20 1 0 0 0 2 Delete items L 50300 47400 48900 45500 3 0 0 0 -1 -1 L 48900 45500 48900 45700 3 0 0 0 -1 -1 L 48900 45500 49100 45500 3 0 0 0 -1 -1 T 49700 46100 9 20 1 0 0 0 1 8 T 49700 45700 9 20 1 0 0 0 1 delete A 48496 44601 1496 180 180 3 0 0 0 -1 -1 T 54300 49000 9 20 1 0 0 6 1 3 T 54400 49000 9 20 1 0 0 0 1 shallow copy T 54600 50300 9 20 1 0 0 0 1 shallow free T 54500 50300 9 20 1 0 0 6 1 3 geda-gaf-1.8.2/gschem/examples/adders_1.sch0000664000175000017500000000440112050461155015343 00000000000000v 20031231 1 C 17000 16700 0 0 0 title-C.sym C 26800 28000 1 0 0 7408-1.sym { T 27100 28900 5 10 1 1 0 0 1 refdes=U101 } C 26800 29600 1 0 0 7486-1.sym { T 27100 30500 5 10 1 1 0 0 1 refdes=U100 T 26800 29600 5 10 0 0 0 0 1 slot=1 } N 26800 28700 26300 28700 4 N 26300 28700 26300 30300 4 N 26800 28300 25900 28300 4 N 25900 29900 25900 28300 4 N 29600 30100 28100 30100 4 { T 29200 30200 5 8 1 1 0 0 1 netname=S_H } N 29600 28500 28100 28500 4 { T 29200 28600 5 8 1 1 0 0 1 netname=C_H } T 26400 27300 9 20 1 0 0 0 1 Half Adder C 23600 25200 1 0 0 7486-1.sym { T 23900 26100 5 10 1 1 0 0 1 refdes=U100 T 23600 25200 5 10 0 0 0 0 1 slot=2 } C 28500 23500 1 0 0 7408-1.sym { T 28800 24400 5 10 1 1 0 0 1 refdes=U101 T 28500 23500 5 10 0 0 0 0 1 slot=3 } C 28500 25000 1 0 0 7486-1.sym { T 28800 25900 5 10 1 1 0 0 1 refdes=U100 T 28500 25000 5 10 0 0 0 0 1 slot=3 } N 28500 25300 27000 25300 4 N 27000 23800 28500 23800 4 N 27000 25300 27000 22900 4 N 28500 24200 28000 24200 4 N 28000 24200 28000 25700 4 N 23600 24200 23100 24200 4 N 22800 23800 23600 23800 4 N 25800 24000 24900 24000 4 N 25800 24000 25800 23300 4 N 23100 24200 23100 25900 4 N 22800 23800 22800 25500 4 N 29800 25500 33900 25500 4 { T 33500 25600 5 8 1 1 0 0 1 netname=S_H } N 32700 23800 33900 23800 4 { T 33500 23900 5 8 1 1 0 0 1 netname=C_H } T 26500 21900 9 20 1 0 0 0 1 Full Adder N 25800 23300 31000 23300 4 N 31000 23300 31000 23600 4 C 23600 23500 1 0 0 7408-1.sym { T 23900 24400 5 10 1 1 0 0 1 refdes=U101 T 23600 23500 5 10 0 0 0 0 1 slot=2 } N 28500 25700 24900 25700 4 T 33100 17700 9 20 1 0 0 0 1 Half and Full Adders T 32000 17100 9 10 1 0 0 0 1 adders.sch T 32500 16800 9 10 1 0 0 0 1 1 T 34100 16800 9 10 1 0 0 0 1 1 T 36100 17100 9 10 1 0 0 0 1 1 T 36100 16800 9 10 1 0 0 0 1 Ales Hvezda C 31400 23300 1 0 0 7432-1.sym { T 31700 24200 5 10 1 1 0 0 1 refdes=U102 T 31400 23300 5 10 0 0 0 0 1 slot=1 } N 31400 23600 31000 23600 4 N 29800 24000 31400 24000 4 N 23600 25500 21500 25500 4 { T 21500 25600 5 8 1 1 0 0 1 netname=Y_H } N 23600 25900 21500 25900 4 { T 21500 26000 5 8 1 1 0 0 1 netname=X_H } N 27000 22900 21500 22900 4 { T 21500 23000 5 8 1 1 0 0 1 netname=Z_H } N 26800 29900 24700 29900 4 { T 24700 30000 5 8 1 1 0 0 1 netname=Y_H } N 26800 30300 24700 30300 4 { T 24700 30400 5 8 1 1 0 0 1 netname=X_H } geda-gaf-1.8.2/gschem/examples/cmos-nor.sch0000664000175000017500000000201312050461155015413 00000000000000v 20031231 1 C 29900 23000 1 0 0 pmos-2.sym C 29900 21900 1 0 0 pmos-2.sym C 28500 19900 1 0 0 nmos-2.sym N 30400 23000 30400 22700 4 N 30400 23800 30400 24000 4 N 29000 19900 29000 19700 4 N 29000 19700 31000 19700 4 N 30400 19900 30400 19700 4 N 29200 20300 29300 20300 4 N 29300 20300 29300 19700 4 C 29900 19900 1 0 0 nmos-2.sym N 30600 20300 30700 20300 4 N 30700 20300 30700 19700 4 N 30600 22300 30700 22300 4 N 30700 22300 30700 24000 4 N 30600 23400 30700 23400 4 C 30800 24000 1 0 0 vdd-1.sym C 30900 19400 1 0 0 gnd-1.sym C 27300 22100 1 0 0 in-1.sym C 27300 21300 1 0 0 in-1.sym C 31300 21600 1 0 0 out-1.sym N 28500 20300 28400 20300 4 N 29900 20300 29800 20300 4 N 28400 23400 28400 20300 4 N 29000 20700 29000 20800 4 N 29000 20800 30400 20800 4 N 30400 21900 30400 20700 4 N 29800 20300 29800 22300 4 N 29800 22300 29900 22300 4 N 28400 23400 29900 23400 4 N 27900 22200 28400 22200 4 N 27900 21400 29800 21400 4 N 30400 21700 31300 21700 4 N 30400 24000 31000 24000 4 T 28800 18700 9 10 1 0 0 0 1 DRAWN BY ARNO PETERS geda-gaf-1.8.2/gschem/BUGS0000664000175000017500000007571612220647257012060 00000000000000 Bugs (no particular order): ---------------------- Prioritize this list! When copying components, be sure to preserve locked bit. FIXED Text direction on rotated fast text line is wrong. BETTER Length of fast text line is wrong. Length of fast text line is still too long (for attributes) since I don't take SHOW_BOTH_VALUE into account Relative paths are not displayed properly in the component add dialog box Page Revert may or may not have a memory leak, investigate this. Try opening a file called untitled_1.sch, doesn't work since you have an untitled_1 (the default) already open. FIXED Change the color of an attached attribute, and then copy it (color changes to yellow oops). translate 0 does not seem to work right with nets in the file... (nets should not be in the picture anyway, but either way...) Zoom in a lot and try to select something with the select box. Not easy to do. GONE stretch seems to pick random objects to stretch if you don't select something (cannot replicate) Swedish characters don't work. In fact, any Multi key character acts funky (or core dump) FIXED still have some core problems with net extension and selections Thick lines aren't imaged (write png) correctly Zoom with pan doesn't work 100% when you are zoomed out all the way. FIXED Net consolidate will not work right (core dump) if you select a net and then try to extend that net.. You need to remove that net which is being deleted from the selection list, before you delete it. Misspell a keyword value in the rc file and gschem cores.. BETTER Almost got that 180 postscript printing bug fixed... not perfect yet Mouse pan crashed my X server once FIXED slow redraw (due to o_conn_disconnect_update being there), added o_redraw_all_fast to be used in places where it's necessary to redraw quickly (like in the panning) slow drawbounding box (caused by way too many get_complex_bound calls) GONE Select some text while a symbol is at 0,0 and you will see something being erased at 0,0. I haven't got a clue as to what is being erased. Actually I do, it's the selection list's copy of the text. it seems. I bet before I translate text object I erase it. hmmmm If a symbol isn't found, it's removed from the schematic.... Is this the behavior we want? Mirror still has some bugs in it when dealing with the new conn system (mirror will create extra midpoint connections which are temporary only) If you put bogus numbers (ie not 0 or 1) in for the visibility and/or show_name_value field, you get *totally bogus results! Multiple instances of gschem clobber each other's log file, solve this how? Document how tswindow is being used in the include file. (it's also used by snap size), have snapsize get it's own window selection2 related bugs: FIXED lock and unlock need a seperate color for locking.. FIXED go through o_misc and get them all working (lock, unlock, embed, unembed) FIXED o_mirror doesn't work FIXED color change doesn't work... FIXED o_edit temporarly #ifed out FIXED i_callback_attrib_attach. needs to loop over selection list... FIXED copy attribute, stays an attribute... ? FIXED i_callback_attrib_detach is also broken FIXED edit text and it gets an invalid color FIXED toggle vis totally broken FIXED selection of invisible FIXED Copy an object and attribute, then unselect each using CTRL and then click away to unselect both and attribute becomes invalid color (caused specifically by: select object, deselect object, text was already selected) (not related to copy at all...) FIXED net conslidate is broken on objects which have attributes and selected, totally broken (dumps core), fixed with a hack (unselect all before you attempt). Still todo in selection2: FIXED All slot= stuff does not work yet does it cause problems that the translate dialog box doesn't grab the focus for the app? there's a bug in arc visiblity clipping, just zoom around close in using DB*-1.sym (the corners) GONE Mirror something and then change slots... selection is wrong GONE Move a single net. You will see a stray visual cue at 0,0 Setting slot=something other than 1 in a symbol doesn't work (ie slot isn't updated when you place the component). Copy something with slot != 1 and it doesn't draw right when it's placed Start a component place and then change to a different page. You get a whole bunch of cmt2 NO! warnings GONE? Core dump on 64 bit architectures? 1) open stack_1.sch from the examples dir 2) box zoom somewhere in the schematic 3) drag the vertical scroll bar up to the top of its range KLUDGED Really odd behavior with display :'s... type some :'s and then ??????? add a component or net or pin and they disappear? huh? (FIXED by adding gdk_draw_point in o_line, not a good solution though) Also don't draw lines with zero length in general Observed some really odd characters being written to the log files (between Read local gschemrc and Saved ... GONE Rotate object... slot is wrong Rotate object with a slot number then copy it immediately. slot attribute not being selected. View Limits is broken for a single horizontal line (at least you can't see the line because it's below the drawing area) GONE When placing an invisible attribute, you get the left over image that needs to be erased. I'm not eraseing or dealing with the slot= attribute if you change the symbol and the attribute is visible. It won't get properly drawn. (need to do a redraw to see the visible results) GONE In o_select and o_select_many, when you try to update the tail to be proper, select_many doesn't work. I wonder what else is effected Might have fixed some of this, but it's still highly suspect. Got a "Ahh you blew it.. tried to delete something which does exist" error. need to watch for that and replicated it GONE? Got an unexplained core dump, dealing with trying to disconnect a bogus net (already freed?). I haven't been able to replicate this at all. GONE Figure out and fix why text when selected and deselected (and placed) is sometimes offset (visually). You have to do a redraw to get one image (non-offset) GONE When doing "open symbols...", the newly loaded symbols are not zoomed limits Bug in arcs and large large world-size... Don't draw right. I think this was caused by incorrect aspect ratio Minor bug dealing with zooming out of corners (the zoom factors going out are different then going in) GONE? Saw some odd selection behavior, ie selecting something when you were not inside it's bounding box. I think this was caused by not having snap on. OKAY? Selection boxes and hitting the control key does not behave as it should (ie selection box toggles existing objects) OKAY? Found some wierdness with the symbol translate (due to snap being off) OKAY? Unexplained core dump with related to object_lastplace being bogus. cannot replicate this. (haven't seen this at all again) Regular objects which are locked and then saved to a file will not be locked anymore... locking only seems to work on components. I'm not sure if tty vs both vs window_log stuff is working? low priority though Select an clib from the comp list and scroll down the component pane and then select another clib, other pane not starting from top OKAY? Another segfault. This one totally unexplained. Was seeing some odd behavor with the hotkeys (hotkeys not doing what they should). Core dump happened the moment I press the right mouse button (the popup menu) which makes me suspect a gtk problem. This might be related to the odd accelerator problem I was seeing (now accelerators are removed from the right mouse button popup) Unfortunately core not generated since gtk wasn't compiled to generate code dump files. Need to recompile gtk to do so. GONE A segfault will occur if you attach NON text items to other items and then delete the whole bunch and then try to select something. The cause is unknown but a possible fix is known. You should not be allowed to attach NON text items as attributes. (it segfault doesn't always happen, can't replicate it, but it's there somewhere) OKAY Apparently, an undocumented feature (or maybe it is documented), but if you press a key while you select a item off of a menu (popup or pulldown) then you can change the hot key? Hmmm... that's pretty interesting. Some sort of resize error when you open a file and the maximize Related to above: load up some schematics, maximize window, flip between pages... grid drawn wrong. (probably because in the resize handler, you don't go through and set width/height of window in all pages) You still get xor droppings during a place and expose event happens You still get window droppings due to interactions with: - status updating (causing expose events which are being ignored - middle button shortcut updates (same reason as above) GONE What happens if you attach an attribute to two places... nothing, but you should disallow that. GONE Still have dangling cue blip in lower corner... now seeing it on copys/moves, related to selected drawing conns. CHANGED flag -- make sure it's set in all places. BETTER Do some sanity on input files (check for zero's...) Need to fix +4 stuff in get_line_bounding etc... : - get consistant name - and perhaps make +4 zoom_factor aware OKAY You can't put ='s in text strings (unless it's the seperator for name=value in attributes) (is this a bug or just a restriction?) (either way, document it). MOSTLY Go through and be sure you use the #DEFINES created by configure DONE If a move/copy/compdraw is under an exposed area and an expose event happens then you get xor droppings There is still a bug.. draw a net and then another one which would cause a midpoint connection... only after you do a redraw do you get the change many ways to fix this... but all required either 1) a redraw after every major action, or 2) or a smarter "recalc" routine Check the issues related to visibility and if you can select it and if it's an attribute Pressing key during place causes droppings? Hitting keys and during an action (x_events.c) Select something, then hit 'n' instead of 'm' and you get left overs from the net command (same thing as mentioned above. inside action and hitting a key leaves ghosts) GONE? place two complex. - Connect net inbetween. - Connect another net to that new net Move all... see what happens? ( be sure components are at the end of each of the nets ) It's caused by order dependant searching and if the old and new overlap you will get a round connection Things get really slow with huge object copies... Perhaps we don't want to be doing the o_conn_recalc_all on actions. Major bug with add component with outline/bounding, if you zoom inbetween an add you get this HUGE monstrocity! (transparent zooms not implemented yet) MUCH Arcs are a hack by default BETTER This has gotten better (a lot better). FIXED? Unexplained grid locking when you draw an arc? must have something to do with the way width+x-x and height+y-y rounds off? Huge bounding box on arcs... uggg For now, arcs have been removed from the boundingbox calc. So if you just move an arc, you can't see the bounding box. Odd bug related to doing a objtosym (sym cmd), in that you don't get an exact move to zero unless you zoom one (or more?) XBUG? Saw some serious root-window corruption and drawing_area corruption because 1) of an X server bug in XF86S3V or 2) I'm not clipping lines (line clipping should be done by gschem) ----------------------------------------------------------------------------- Finished stuff: FIXED Zoomin far enough and lines/nets start acting really weird!!!!!!! (by properly clipping the line) FIXED pins colors are being written out as -1 FIXED Gschem core dumps when I hit the special Windows key... ha, it doesn't like microsoft keys? :) DONE THERE IS A SIGNIFICANT slowdown in this version (19981013 before another release) delete really (with o_conn_disconnect_all with big schematics) FIXED Attaching an attribute doesn't set CHANGED flag FIXED Right now you can attached a text item as an attribute in two places. Disallow that FIXED Right now you can attach non text items as attributes. Disallow that. FIXED MAJOR PROBLEM!!!!!!!!!!!!!!!!!!!!! gschem is broken with this broken Got a major annoyance... order in copying objects to get attributes to attach is a problem. How do I fix that? by copying text last FIXED If you try to unembed a symbol and it cannot be found in any search path then things get slightly screwed up. See a_basic.c o_unembed FIXED Found another core dump bug, if you send a DELETE event to the window (from the wm) then on exit gschem will core. This is okay, since I don't deal with the DELETE event yet... OKAY Order in the basename_list is not based on alphabetics (it's based NOW on the creation date/inode of the file) (make the order alphabetic) BETTER Get consistant behavior for SHIFT/CONTROL in the various modes FIXED AGGGG... stuff showing up in basename_list in the wrong order :( DONE Can't print )'s and spacing between chars on paper is much larger than on the screen (due to postscript using )'s : filter input) DONE limits on complex_filename, drawing_filename, text_string etc... REMOVE them (the limits that is) Size of drawing_filename and friends need to be dynamic.... drawing_filename text_string complex_filename basename clib FIXED Droppings with thick pins and move/copies/deletes? DONE Multiconnection midpoints, should draw a circle, but doesn't for now. Put warnings in documentation (ie when you draw many nets to a single point you should get a circle... instead you get nothing... DONE Cleanup grid/snapping so that it's more flexable so that you could have half grid snaps... (MAJOR ANNOYANCE) GONE! Related bug to above, drawing lines, first point must lock and then the second can be free. doesn't work vice versa! (related to above) OKAY A small bug dealing with arcs and the symbol command. The x,y location will get negative values (which may be okay actually) FIXED Roundoff errors creaping into move/copy commands ( some objects would be offset too much or too little relative to the other ones ) Fixed mostly, but still need to re-examine screen to world mapping functions. This still needs to be dealt with properly. I think this is fixed now. Did move in world coords instead of screen coords FIXED Unexplained core dump when opening another window (when compiled with -lccmalloc -ldl) related to: Odd behavior when quiting multiple windows and then opening another schematic in existing windows (can't find a font?) Was caused by freeing common rc variables (ie each window didn't have a proper copy of the string) GONE! The difference between a save (saveas) and open window is not enough. This has cause me to nuke a schematic more than once already! (this was fixed by removing this behavior) FIXED Opening up a second window (or more) causes the rc file to be read again and that adds the new paths to the current ones.. ugg! change that! DONE There is still some sort of odd behavior with the page manager losing its mind. Not good. not sure if it's a gtk problem or mine. Problem has been identified as bogus parameters to gtk_clist_moveto. DONE Need to check if file exists (or check the fp) when you open files. FIXED The dialog boxes (in x_dialog) don't look all the same FIXED Zoom in a bit, and try selecting something... and then something else (many times) and you will see a bug (objects not being selected when they should be). (only when zoomed in...) This is caused by the event state machine going into sbox mode when it should not! Fix this by converting the threshold into something that is dependent on the current zoom factor FIXED There is a condition that cause gschem to exit (unwanted), Edit some text and then unselect the text that is being edited. This bug surfaced when we removed the dialog box grabs. Other dialog box might be affected as well... (fixed by adding grab back to some dialog boxes) FIXED Suddenly some sort of an event happened and drawing window area was totally wrong (too small) (caused by status label being too long) ( Don't have too long status labels ) GONE For every drawing_filename and strcpy (sprintf) you need to check the size (now you need to worry about page_filename) GONE Once got a "(null)"... how? Haven't seen it again when I was drawing text. String was set to null. Should be fixed, but don't know. GONE Be sure to go back and fix the huge bounding boxes on (16,32pt) text FIXED The selection name in saveas file selectors (and/or others) is being nuked. (problem with gtk?) OKAY Set a default value for show_name_value FIXED Small erases happen once in a while when connecting three nets to the same point FIXED Also, you cannot print any filename (the path is the problem) that has a . in it. Fixed by replacing the .sch with .ps or just adding it FIXED Still a minor textsize vs pan vs zoom bug. zoom in all the way, the pan to the edge repeatedly then zoom out... text size doesn't look right (fix by getting flexable font system see below ) FIXED Drawing a box incorrectly (ie right then left) cause invalid boxes to be drawn and puts invalid boxes into the database. FIXED Printing arcs is broken! FIXED Uggg... open multiple windows... add ntext and then close them... core dumpy (caused by stupid programmer, freeing memory which was already freed accidentally) GONE Some xor droppings being left behind when moving text? X server bug? This was seen only on my old box and nowhere else DONE Change MOVE so it's sequence is: 1) press m, 2) click to start, 3) press to place. FIXED Odd coredump see CORE.LOG, have to see if the happens again with coredumping on. (wasn't reseting left,right,top,bottom for heads) FIXED Hitting delete and saveas window. and then hitting cancel. FIXED Misc pixels at the bottom of drawing area, cause by doing an open and then win_height gets set to 719 (supposed to be 720). The right height will be set if a configure event happens.... FIXED Don't get a configure event if you hit key while the window is coming up. DONE Inconcistancy with click and move and click-hold-draw of nets and others. GONE Semaphore the interface shared memory FIXED Place something when something is selected! BUG, original selection doesn't get unselected FIXED Cause of MAJOR instablity on SGI and others: Change type of type and p_type to be int or do something about the -1 Type is now an int GONE Try quitting program before gschem_intr starts.. you get: _X11TransSocketUNIXConnect: Can't connect: errno = 4 GONE Still occasionally see a screwup on the update of an interface DONE You need to put a linewidth fix in o_pin so that when you draw a pin it gets finish (redraw) with the right width (don't need this in o_net because of the o_conn_recalc stuff) FIXED Still have some doubts over which object should be unredraw ( the selection or the actual object ) (right now it's the actual object) FIXED Placing a component on another object causes the old comp to be selected. This is due to the way we handle the select mode ( on the release ). There should be another mode which is null which causes a switch to SELECT after the release. FIXED Still have some draws when you are doing mass deletes.... coredumps See o_conn_disconnect_all in s_basic (s_delete) OKAY Visibility of text works, but don't hit toggle vis during an action OKAY Fixed a small bug in o_select, verify it all still works FIXED Round connection droppings. Demonstrate: when you have many nets some with round connetions. Delete them all. Now, when you do this some of the nets where the round connections were are deleted (and the associated link in the other round connected net). So when you erase the round net, you get droppings, because the net doesn't know that it had round connections. Solution: put in some code in draw: which: 1) if override color == background 2) connection_1 or connection_2 are not zero 3) erase the corresponding one THE FIX is in o_net.c in the draw... just as above This fix might cause side effects if we start copy/moving the connection points FIXED Another round connection problem, draw a net. Then draw a net which would cause a round connection point to occur. You will see that second net is on top of first connection point. How do you solve this? (by having a redraw all connection points after doing a redraw) GONE Still occasionally see interface die or lock up... ???? FIXED when you draw some text and then you resize the window, the text isn't the same length as it was. (Fixed by drawing each char individually and varring this space depending on size of window) Height is still off though, and the lenght is still not *exactly* accurate, but this might be good enough (for now). OKAY? Minor bug, but resize events occure twice... put in flag so that it occures only once. FIXED Major pin/connection bug. Draw symbol. connect to another symbol I THINK (through just a pin) delete one of them.. then copy/move other. ? core dumpy... :( OKAY Odd bug, when you select a complex, the selected image doesn't I THINK always lineup. Has something to do with non snap objects and ? o_*_copy and o_*_translate (has to do with inaccuracies in the display at zoom_factor 0) FIXED Fix makefile so that it handles dependencies correctly FIXED Deal with pins touching pins... FIXED Deal with connections to the middle of an net OKAY? If you select a net, and then connect something to that selected net, it becomes unselected. (is this okay?) OKAY Connection points are NOT selected, minor asthetic bug, code gets messy if you try to select them, because un selection becomes hell OKAY Still have some minor net conns (the line) not being redrawn if you connect to the middle of a net. Have to go through code and really figure out what is happening where? What's happening is: how can the program know that you just drew a line with a possible midpoint connection? Well solution for now is the o_recalc_conn key DONE Move origin to lower left instead of upper left DONE Make aspect ratio of both window and coord system 4/3 DONE Still have some net connections not being update. Need a button for update nets KLUDGED Deleting object in particular a net, doesn't redraw connection points I THINK I CAN CLEANLY FIX THIS, BUT it's going to take a new s_delete???? OKAY Drawing a net, doesn't show the first connection point until you select the second. Is this the behavior we want? Yes, because you don't know what kind of connection you'll get FIXED: selecting object, and then zoom, doesn't redraw selected object FIXED: zooming too much core dump FIXED: possible, odd way net draw works with button down or up NOW, nets are drawn when the n key is hit. FIXED: When you move a complex, you get a total redraw! don't do that FIXED: Related to above, doing delete of a complex does a redraw! no! FIXED: Pan doesn't always give perfectly square aspects MOSTLY: Well there is still an aspect bug going to the far right/top bottom corner (still a bug with text size though) GONE Nasty constants in a_pan.c FIXED pan bug with interface. Select pan on the interface window, and then pick a point which will center an object. That object will be selected. (Fixed by removing the SELECT case in button_release, not needed and was causing this bug) DONE Change the add component so that you can either drag outline or boundingbox, should be straightforward, just change o_drawbounding to be more general GONE? There is still a select, copy with bounding box on (you get xor leftovers) FIXED Fixit so that aspect ratio of display/window doesn't matter?? Is this even possible? (It is possible, and it does matter!) DONE! Add hotkey for insert component (i perhaps? yes) DONE! Text dynamic storage, but it is still limited to 80 chars DONE! Text size selection (was solved through intr) DONE! Change arcs, so that degrees are stored, instead of deg*64 DONE! lack of coupling between zoom_factor and left,top,right,bottom MOSTLY (still need some work with font sizes and zoom_factor coupling ) NOT Zoom different amounts depending on the inital values for right, left DONE etc.. (Irrelavent) FIXED Contrained move/copy works for the most part, but try hitting the key AND and then going in and out of it... leaves ghosting... DONE The solution to this is to 1) disallow mode changing in the middle of an action or 2) erase old ghost depending on if you are entering contrained or exiting it. (you'll need a flag which is set depending on if your in it or not) This problem isn't with constrained but with copy/move and actions (Hitting any key will cause ghosting) I think? (key inside action...) DONE! Go through o_basic and move o_save(read)_attrib to o_attrib.c DONE Streamline all the X globals and stuff in setup NOTED Some sort of bug with text/zooming in all the way and outline moving Only with biggest font (only on my home machine, new linuxes works fine) GONE If you are typing text and before you hit enter you change sizes, the current text should reflect this text size FIXED Fonts and aspect ratio are not related, so they don't always look MOSTLY the same. GONE? Look for not eraseing bounding box with boundingbox draw outline mode GONE! Related to above try switching between outline and bounding while inside a move/copy, outline stuff is left behind! OKAY You need to redraw an object if you move/translate/ copy it, so I THINK that the bounding box is update... do we want to change that? (the way to fix this is recalc bounding in the translate functions) OKAY Minor mystery why attributes inside complex don't change colors (which is good), oh because they are read from disk! I think!? YES! FIXED Odd behavour of buttons (move/copy), wasn't written for multiselect FIXED BUG! Select something, and then draw a multiselect box (don't select anything in this box) and you will see that first object won't be unselected FIXED Coredump when you do an attach with nothing selected? GONE There is a small redraw bug in net/copy/cancel which is hard to reproduce, but basically object_selected wasn't being redrawn OKAY Another redraw bug related to hitting escape, if you have a redraw in that section then you get two redraws when you inside an action Be sure all cancel action buttons look like the right button one, because I think that's the most current one DONE! Having a too large text size causes a core dump, fix this by putting in a check during read/write and force value DONE! Corefile is still generated if you have lots of objects, connected it an odd fashion and then you do a delete. basically in the conn disconnect you get a dangling pointer. Solution is to go through and disconnect every object which points to the current object! Verify this! DONE! Go through and make all colors configurable DONE! Quirky multiple select cycle (okay I think) DONE! Not too happy with the feedback when you are placing a component Two lines are okay, but bounding box would be much much better! The way to do this is to create a dummy object (read in file) and use this as the object when you draw the bounding box (of course this is exactly what was done) MOSTLY Am I freeing everything when I leave? memory leak? FIXED There is still a small small leak somewhere (yup) NOTDONE go back and add gdk_flush wherever there was a XFlush Don't do this.. gdk_flush is not needed (and should be used). DONE When you copy/move something create a new list and copy those items into this list, so that you have something selected at the end. OKAY Attributes are going outside of a complex. Fine, but you need to do something about loads/saves so that some values which are inside a complex get put outside etc... DONE! Deleting all objects and then adding needs to call setup_struct(). FIXED Due to the new new_sel_head stuff, some buttons from interface are broken, see hack in x_events.c (next_state stuff) FIXED I think there is a bug related to this "it happened in deletes" NO Definately a data corruption bug - Select complex - copy complex - delete original - create copy of copy - unselect - redraw (copy is gone) Something with select and delete complex? broken behavior in s_delete, commented out "out for now" FIXED Possible bug in complex_draw and o_redraw Just copy and delete copy and delete DONE! Revamp structure by doing doubly linked list OKAY Not really a bug, but erasing the bounding box with an arc (since it is soo large) effects other parts of the drawing ( Fix this by making bounding box on arc smaller. OKAY Do we want to save complexs in a file or just the filename (like it is now) Yeah we want to keep it this way, gets way to complex OKAY Attributes, do we want a special structure or a regular one - Advantages of specialized, less data, simpler data struct - Disadvantages of specialized, whole new routines, code waste ( Attributes are text which special links on objects which link them ) DONE: Remove the font_inflation stuff DONE: Farthest left most point must be at the far left possible coord Solved with o_complex_to_symbol() GONE? When you do a delete (using keys), delete seems to want to erase an nonexistant bounding box (the cyan dashed thing). DONE! Fix names in i_keypressed.c FIXED using quit button isn't very clean for schem. stupid pause FIXED Maybe if you hit a action key (move/copy) and nothing is selected it can behave as if you were to hit the button... hmmmm GONE Work on detaching interface more... currently the program assumes that the interface is there... (this is getting there with the SIGCHLD handling ) -interface issues- ALL OF THESE ARE GONE with the intergration of the two RESOLVED If something is selected when you hit copy, schem will unselect it? Basically there are two modes: if an object is selected, then the next button press starts the action, else if not then first you go into select mode and then the action starts. GONE Add the ability to replace the file selection window when you hit the place command again (if the file selection window as already there) OKAY Ah, hitting okay when you don't select something.. ugg, in component select DONE outline of component for place, along with boundingbox GONE There is some sort of scrollbar problem with xforms? remove precision ( no more scroll bar for text size ) ( also no more xforms ) DONE Fix room for status (more more more!) DONE Fix right increment on text size DONE Component button needs ... DONE Fix grid color button DONE Fix default status line GONE Check for proper parameters, otherwise it will core DONE Possible race if both interface and schem try to send a command Yes.. solution is a semaphore DONE Free the semaphore when you are done? DONE somewhere put the hot key assignements (help? on buttons?) DONE Add outline toggle mode DONE Add attribute attach/detach stuff OKAY Missing GDK_CONFIGURE from event types wanted list? ---------------------- geda-gaf-1.8.2/gschem/icon-theme-installer0000775000175000017500000001252312050461155015321 00000000000000#!/bin/sh # icon-theme-installer # Copyright (C) 2006 Novell, Inc. # Written by Aaron Bockover # Licensed under the MIT/X11 license # # Modified by Peter Clifton to allow icons with numerals in the filename # # This script is meant to be invoked from within a Makefile/Makefile.am # in the install-data-local and uninstall-data sections. It handles the # task of properly installing icons into the icon theme. It requires a # few arguments to set up its environment, and a list of files to be # installed. The format of the file list is critical: # # , # # apps,music-player-banshee.svg # apps,music-player-banshee-16.png # apps,music-player-banshee-22.png # # is the icon theme category, for instance, apps, devices, # actions, emblems... # # must have a basename in the form of: # # proper-theme-name[-]. # # Where should be either nothing, which will default to scalable # or \-[0-9]{2}, which will expand to x. For example: # # music-player-banshee-16.png # # The here is -16 and will expand to 16x16 per the icon theme spec # # What follows is an example Makefile.am for icon theme installation: # # --------------- # theme=hicolor # themedir=$(datadir)/icons/$(theme) # theme_icons = \ # apps,music-player-banshee.svg \ # apps,music-player-banshee-16.png \ # apps,music-player-banshee-22.png \ # apps,music-player-banshee-24.png \ # apps,music-player-banshee-32.png # # install_icon_exec = $(top_srcdir)/build/icon-theme-installer -t $(theme) -s $(srcdir) -d "x$(DESTDIR)" -b $(themedir) -m "$(mkinstalldirs)" -x "$(INSTALL_DATA)" # install-data-local: # $(install_icon_exec) -i $(theme_icons) # # uninstall-hook: # $(install_icon_exec) -u $(theme_icons) # # MAINTAINERCLEANFILES = Makefile.in # EXTRA_DIST = $(wildcard *.svg *.png) # --------------- # # Arguments to this program: # # -i : Install # -u : Uninstall # -t : Theme name (hicolor) # -b : Theme installation dest directory [x$(DESTDIR)] - Always prefix # this argument with x; it will be stripped but will act as a # placeholder for zero $DESTDIRs (only set by packagers) # -d : Theme installation directory [$(hicolordir)] # -s : Source directory [$(srcdir)] # -m : Command to exec for directory creation [$(mkinstalldirs)] # -x : Command to exec for single file installation [$(INSTALL_DATA)] # : All remainging should be category,filename pairs while getopts "iut:b:d:s:m:x:" flag; do case "$flag" in i) INSTALL=yes ;; u) UNINSTALL=yes ;; t) THEME_NAME=$OPTARG ;; d) INSTALL_DEST_DIR="`echo $OPTARG | sed 's;^x;;'`" ;; b) INSTALL_BASE_DIR=$OPTARG ;; s) SRC_DIR=$OPTARG ;; m) MKINSTALLDIRS_EXEC=$OPTARG ;; x) INSTALL_DATA_EXEC=$OPTARG ;; esac done shift `expr $OPTIND - 1` if test "x$INSTALL" = "xyes" -a "x$UNINSTALL" = "xyes"; then echo "Cannot pass both -i and -u" exit 1 elif test "x$INSTALL" = "x" -a "x$UNINSTALL" = "x"; then echo "Must path either -i or -u" exit 1 fi if test -z "$THEME_NAME"; then echo "Theme name required (-t hicolor)" exit 1 fi if test -z "$INSTALL_BASE_DIR"; then echo "Base theme directory required [-d \$(hicolordir)]" exit 1 fi if test ! -x `echo "$MKINSTALLDIRS_EXEC" | cut -f1 -d' '`; then echo "Cannot find '$MKINSTALLDIRS_EXEC'; You probably want to pass -m \$(mkinstalldirs)" exit 1 fi if test ! -x `echo "$INSTALL_DATA_EXEC" | cut -f1 -d' '`; then echo "Cannot find '$INSTALL_DATA_EXEC'; You probably want to pass -x \$(INSTALL_DATA)" exit 1 fi if test -z "$SRC_DIR"; then SRC_DIR=. fi for icon in $@; do size=`echo $icon | sed -n 's/.*-\([0-9]*\).*/\1/p'` category=`echo $icon | cut -d, -f1` build_name=`echo $icon | cut -d, -f2` install_name=`echo $build_name | sed 's/-[0-9]\+//g'` install_name=`basename $install_name` if test -z $size; then size=scalable; else size=${size}x${size}; fi install_dir=${INSTALL_DEST_DIR}${INSTALL_BASE_DIR}/$size/$category install_path=$install_dir/$install_name if test "x$INSTALL" = "xyes"; then echo "Installing $size $install_name into $THEME_NAME icon theme" $MKINSTALLDIRS_EXEC $install_dir || { echo "Failed to create directory $install_dir" exit 1 } $INSTALL_DATA_EXEC $SRC_DIR/$build_name $install_path || { echo "Failed to install $SRC_DIR/$build_name into $install_path" exit 1 } if test ! -e $install_path; then echo "Failed to install $SRC_DIR/$build_name into $install_path" exit 1 fi else if test -e $install_path; then echo "Removing $size $install_name from $THEME_NAME icon theme" rm $install_path || { echo "Failed to remove $install_path" exit 1 } fi fi done if test "x$INSTALL" = "xyes"; then gtk_update_icon_cache_bin="`(which gtk-update-icon-cache || echo /opt/gnome/bin/gtk-update-icon-cache)2>/dev/null`" gtk_update_icon_cache_bin="${GTK_UPDATE_ICON_CACHE_BIN:-$gtk_update_icon_cache_bin}" gtk_update_icon_cache="$gtk_update_icon_cache_bin -f -t $INSTALL_BASE_DIR" if test -z "$INSTALL_DEST_DIR"; then if test -x $gtk_update_icon_cache_bin; then echo "Updating GTK icon cache" $gtk_update_icon_cache else echo "*** Icon cache not updated. Could not execute $gtk_update_icon_cache_bin" fi else echo "*** Icon cache not updated. After install, run this:" echo "*** $gtk_update_icon_cache" fi fi geda-gaf-1.8.2/gschem/ChangeLog-1.00000664000175000017500000103054112050461155013417 000000000000002007-05-26 Ales Hvezda * src/x_image.c: Applied fix for "Write image" seg fault found (and fixed) by Robert Fitzsimons. Thanks! 2007-05-25 Ales Hvezda * configure.ac: Updated version to 20070526 in prep for the next release. 2007-05-15 Peter Clifton * src/o_complex.c: Fixed offset in o_complex_translate_all to be relative to bottom left of world bounds. This bug appears to have crept in when switching to world coords, as the numerical sense of "top" and "bottom" are switched around. These variables eventually need renaming {x|y}_{min|max} to avoid further confusion. 2007-05-14 Werner Hoch *po/de_DE.po: updated german translation *src/rcstrings.c: added new menu entries 2007-05-13 Ales Hvezda * po/nl_NL.po: Copied in new updated Dutch translation from Bert Timmerman. Thanks. * po/it_IT.po: Copied in new updated Italian translation from Michele Petrecca. Thanks. 2007-05-10 Peter Brett * include/prototype.h, src/x_menus.c: Provide g_file_set_contents() if GLib < 2.8. Patch from Ivan Stankovic, fixing problem with recent files support where gschem didn't work on systems with older versions of GLib, due to g_file_set_contents() not being available. 2007-05-05 Peter Brett * include/prototype.h, lib/system-gschemrc.in, src/gschem.c, src/x_menus.c, src/x_window.c: Add "Recent Files" list to gschem. Applied patch #1706411 by Ivan Stankovic, which adds a list of recently-accessed files to gschem's File menu. 2007-04-27 Carlos Nieves Onega * src/x_image.c: Added sanity check. * po/es_ES.po: Updated spanish translation. 2007-04-22 Carlos Nieves Onega * include/prototype.h, src/g_keys.c, src/g_register.c, i_callbacks.c: Remove "help-manual" Guile callback. Apply patch by Peter Brett. The role of the "help-manual" Guile function exported by gschem has been superceded by the new "gschem-browse-wiki" function. This patch removes "help-manual" from the C source code entirely; "help-manual" is now a Scheme function defined in "system-gschemrc". * lib/system-gschemrc.in: Use gschem-browse-wiki also when opening the manual. Found a workaround to use gschem-browse-wiki if the user wants to display the manual (the manual page is not in the wiki directory). 2007-04-21 Ales Hvezda * gschem/po/de_DE.po gschem/po/es_ES.po gschem/po/fr_FR.po gschem/po/geda-gschem.pot gschem/po/it_IT.po gschem/po/ja_JP.po gschem/po/nl_NL.po gschem/po/pt_BR.po gschem/po/ru.po: Updated all po and pot files (via make dist) in prep for a release (a few weeks from now). 2007-04-21 Peter Clifton * src/gschem.c, src/i_callbacks.c, src/x_fileselect.c, src/x_pagesel.c, src/x_window.c: Cleaned up and consolidated code which creates new pages. This makes the code cleaner and easier to read, and fixes bugs related to stray, "unknown" named pages being left when creating a new window. Fixes bug #1699970, with changes based upon patch #1704834. * src/o_undo.c: Whitespace and readability fixes, removed some unused code. 2007-04-21 Mike Jarabek * scripts/print.scm: Commented out first the four lines so that printing defaults don't get accidentally overridden. 2007-04-21 Peter Brett * lib/system-gschemrc.in: Change keystrokes for grid size change shortcuts. Incrementing/decrementing the grid size is something that users are likely to do several times in quick succession. As such, it the keystroke should be a single key. This sets increment/decrement to ']' and '[' respectively. 2007-04-21 Peter Clifton * src/g_keys.c, src/x_print.c: Check return value of gdk_keyval_name() is non NULL before attempting to match against it. Fixes bug #1692634. * configure.ac.in: Added explicit test for locale.h * src/i_callbacks.c: Make test for revert page question more succinct, testing for the absence of the "YES" response, rather than for the various ways the user might cancel the dialog. * src/o_arc.c: Fix for drawing a dotted arc / circle with angular dot spacing too small to render. Was a sign error in the alternative codepath for drawing these cases. 2007-04-21 Carlos Nieves Onega * configure.ac.in, scripts/Makefile.am, scripts/config.sh.in, scripts/gschemdoc.sh: Applied patch by Peter Brett. Moved gschemdoc from utils/scripts to gschem/scripts. * lib/system-gschemrc.in: Use PgUp & PgDn to change pages in gschem. Applied patch from Peter Brett. Thanks! Not only is it more intuitive to use the page keys to swap between pages, but the current bindings ('<' & '>') don't work on German keyboards. * src/x_fileselect.c: Make "Save" the default response in the save page dialog. FR #1704919. Thanks to rikster for reporting this FR. * src/x_dialog.c: Make "Save changes" the default response in the close page confirmation dialog. * src/o_picture.c, src/x_attribedit.c, src/x_autonumber.c, src/x_compselect.c, src/x_dialog.c, src/x_fileselect.c, src/x_image.c, src/x_log.c, src/x_multiattrib.c, src/x_pagesel.c, src/x_print.c, src/x_script.c, src/i_callbacks.c: - Set the alternative button order for gtk dialogs (now with correct responses). - Reverted the changes below. gtk_dialog_set_alternative_button_order should have the same responses as the dialogs. - Set the alternative button order for gtk dialogs. This would allow to display the correct button order whatever system is running this app. Fix for bug #1553483. * src/i_callbacks.c: - Do nothing if the user deletes the page revert question dialog. - Pop up a message if there is no component selected and the user hits help->component documentation menu. * src/x_compselect.c: Make the component selector filter case insensitive. Fixes bug #1673589. Thanks to Phil Endecott for reporting the bug. * lib/system-gschemrc.in: Apply patch from Peter Brett. Thanks! Rearrange gschem help menu & make it link to wiki pages. Rearrange the gschem help menu: - "Manual" now links directly to the gschem User Guide. (Note by cnieves: I commented this out until the gsch2pcb tutorial gets into the wiki and the UG wiki page is improved). - "FAQ" now links directly to the gschem FAQ - Add menu item which links directly to the wiki root page - Rearrange "About" and "Hotkeys" to bottom of menu * include/prototype.h, src/g_funcs.h, src/g_register.c: Apply patch from Peter Brett, adding the gschem-browse-wiki Scheme function. Thanks! This function allows Scheme code to open a browser to a wiki page by calling gschemdoc with its -w option. This will facilitate adding more useful things to gschem's "Help" menu without needing a large number of callbacks to be added to gschem. 2007-04-21 Peter Clifton * src/x_print.c: Fix color printing of selected object to use the correct, non-selected color for the output. This required replacing code which manually cleared the selection GList with a call to o_selection_unselect_list(), which takes care of the color change. 2007-04-17 Peter Clifton Merge changes from noscreen branch 2007-04-12 Peter Clifton * src/g_hook.h: Fixed up documentation in to reflect the current code. Removed doc reference to world_get_complex_bounds(), which is not used. 2007-04-06 Peter Clifton * src/o_select.c: Fixed selection box testing which had some <= and => tests reversed during screen->world coordinate switching. The swap was incorrect, as "top" and "bottom" should actually be named "y_min" and "y_max". The nameing is wrong in the world coordinate system. 2007-04-02 Peter Clifton * src/o_attrib.c, src/o_buffer.c: Fix for paste-buffer operation, and for placing top-level attributes. Calls to world_get_complex_bounds() were incorrect, and needed replacing with world_get_object_list_bounds(). 2007-03-27 Peter Clifton * src/i_vars.c: Fixed copy-paste typo which over-wrote mousepan_gain instead of select_slack_pixels. 2007-03-26 Peter Clifton * src/o_text.c: Removed unused variables left in o_text_draw_rectangle() * src/o_box.c, src/o_circle.c, src/o_picture.c: Pass OBJECT instead of derived type into world_get_..._bounds(). * include/i_vars.h, include/prototype.h, lib/system-gschemrc.in, src/g_rc.c, src/g_register.c, src/i_vars.c, src/o_find.c: Added rc option (select-slack-pixels #) to control how near an object we have to be in order to select it by clicking. Default is 4 pixels. 2007-03-24 Peter Clifton * src/o_text.c: Modified text o_text_draw_rectangle() to use the world bounds of the text, fixing the outline offset when the text is aligned other than bottom, left. * src/o_grips.c: Removed call to o_line_recalc() after o_net_modify() in o_grips_end() since the recalc is done inside o_net_modify(). * src/o_misc.c: Add call to o_complex_recalc() in o_update_component() to ensure bounds are correct after an embeded component is updated. 2007-02-25 Peter Clifton * src/o_arc.c, src/o_basic.c, src/o_box.c, src/o_bus.c, src/o_circle.c, src/o_complex.c, src/o_line.c, src/o_net.c, src/o_picture.c, src/o_pin.c, src/o_text.c: Remove calls to o_..._recalc() or equivelant from drawing routines. * src/a_zoom.c: Changed call to world_get_complex_bounds() to world_get_object_list_bounds(), and added logic to stop the zoom-extents operation if the object list evaluated has no bounds (e.g. object list just has hidden attributes). * src/o_basic.c, src/o_complex.c, src/o_find.c, src/o_move.c, src/o_select.c, src/o_text.c: Switched over to caching world rather than screen coordinates * src/g_hook.c: Removed conditional update of screen coords in g_set_attrib_text_properties, since o_text_recreate() should be recalculating as necessary. 2007-04-15 Ales Hvezda * src/o_misc.c: Fixed memory leak in the update component code reported by valgrind. 2007-04-14 Carlos Nieves Onega * include/x_compselect.h, src/i_callbacks.c, src/x_compselect.c: Added an "ok" button to the component selector, which hides it while the user places the components. * scheme/auto-place-attribs.scm: - Use ceiling instead of inexact->exact. The latter doesn't round if the argument is 400.5 (example). - Added support for net and bus attributes. - In adjust_pos_to_avoid_collision, don't loop again if the offset is changed, and fixed x_offset instead of y_offset bug. * lib/system-gschemrc.in: - Added autoplacement grid. - Added complex list changed hook to the hooks to be enabled if the user wants attribute autoplacement. - Added default positions for device and netname attributes in default-position-of-text-attributes, * src/g_hook.c: Fixed custom_world_get_single_object_bounds, and custom_world_get_object_list_bounds, so they don't traverse the whole object list. * include/globals.h, include/prototype.h, src/g_register.c, src/globals.c, src/o_complex.c, src/x_event.c: Added complex place list changed hook. This is the list used when placing new components. 2007-04-07 Carlos Nieves Onega * src/x_dialog.c: Redraw the schematic after changing the snap size. Thanks to Peter Clifton for reporting the bug. Closes bug #1657496. 2007-04-06 Carlos Nieves Onega * lib/system-gschemrc.in, scheme/auto-place-attribs.scm: Improved the auto placing: if the attribute overlaps with pins (including pinnumbers), or the pin connection direction where a net is supposed to be drawn, then the attributes are moved automatically. 2007-03-31 Peter Clifton * src/x_dialog.c: Fixed confirm save on page-close dialogs to correctly cancel, rather than assert if the dialog is closed with the ESCAPE key, or with the window-manager's destroy button. 2007-02-25 Peter Clifton * src/o_arc.c, src/o_box.c, src/o_circle.c, src/o_line.c, src/x_multiattrib.c, src/x_pagesel.c, src/x_preview.c, src/x_window.c: Replaced loosely typed function pointers such as void (*draw_func)(); with more strongly typed pointers. 2007-02-24 Peter Clifton Merge changes to date from noscreen branch. 2007-02-24 Peter Clifton * src/o_box.c: Remove a copy-paste error which added an extra arguemnt when calling (*fill_func). Result was drawing errors, and an infinite loop when mesh filling. 2007-02-12 Peter Clifton * src/x_dialog.c: Removed all calls to o_object_recalc() now the data it calculates is no longer used. * src/o_arc.c, src/o_box.c, src/o_bus.c, src/o_circle.c, src/o_line.c, src/o_net.c, src/o_picture.c, src/o_pin.c, src/o_select.c, src/o_text.c: Modified drawing routines to calculate coordinates directly from object world coords. * src/o_arc.c, src/o_box.c, src/o_circle.c, src/o_line.c, src/o_picture.c: Modified grip drawing / undrawing code to calculate coordinates directly from object world coords. * include/prototype.h, src/o_grips.c: Changed to use world coordinates internally for region checking. * src/a_pan.c, src/i_callbacks.c, src/o_buffer.c, src/o_complex.c, src/o_copy.c, src/o_move.c, src/x_attribedit.c, src/x_dialog.c, src/x_event.c: Add manual grid-snapping after calls to SCREENtoWORLD() where grid snapping would be required. In preparation for removing grid snap from SCREENtoWORLD(). * src/x_event.c: Grid snap in x_event.c after converting to world coords, rather than before. (The computation for grid snapping in screen coords involves a conversion to world coords and back) 2006-12-27 Peter Clifton * include/prototype.h, src/o_move.c: Modify o_move_end_lowlevel() to not require screen coordinates as a parameter (which were unused). Alter usage in o_move_end() as appropriate. * src/o_text.c: Modify o_text_place_rotate() to use world coordinates, and o_text_rotate_world internally. * include/prototype.h, src/i_callbacks.c, src/o_complex.c, src/o_misc.c, src/x_event.c: Made o_complex_rotate(). into o_complex_rotate_world(), made o_rotate_90() into o_rotate_90_world(), and converted usage as appropriate. * include/prototype.h, src/o_complex.c: Remove unused function o_complex_mirror2() * include/prototype.h, src/o_misc.c, src/o_complex.c, src/i_callbacks.c, src/x_event.c: Made o_complex_mirror() into o_complex_mirror_world(), made o_mirror() into o_mirror_world(), and converted usage as appropriate. 2007-02-24 Werner Hoch * x_dialog.c: removed unused functions generic_text_input* * x_basic.c: removed unused dialog functions x_create_dialog_box* 2007-02-24 Werner Hoch * scheme/gschem.scm (dump-keymap): New procedure for g_keys_dump_keymap() replacing old fill-mapped-keys. * src/g_register.c, src/g_funcs.c (g_funcs_key_*): Removed functions. Replaced with g_keys_dump_keymap() * src/g_keys.c (g_keys_dump_keymap): New function to obtain current keymap from scheme. * src/x_event.c, src/gschem.c, src/g_keys.c: Removed empty function set_window_current_key() * src/gschem.c, src/x_dialog.c: Adaptation for new g_keys_dump_keymap(). (Patches written by Patrick Bernaud) 2007-02-24 Werner Hoch * src/x_window.c (x_window_search_page_clist(): Removed unused function (no more needed in page manager). (Patch written by Patrick Bernaud) 2007-02-23 Carlos Nieves Onega * include/prototype.h, lib/system-gschemrc.in, src/g_keys.c, src/g_register.c, src/i_callbacks.c: Added two new hotkeys to increase and decrease the snap grid size. Feature Request #1443637. Thanks to KaiMartin for the suggestion. * src/x_image.c: Free the GError after using it, and don't unlink the image file in case of errors. It's not always safe. For example: if the operation was not allowed due to permissions, the _previous existing_ file will be removed. 2007-02-22 Carlos Nieves Onega * lib/system-gschemrc.in : Changed the title of the save image dialog from "Write PNG..." to "Write image...", since gschem can now support more types than PNG. * include/prototype.h, src/g_funcs.c, src/i_callbacks.c, src/x_image.c: Changed the export image dialog by a new one using a GTK file chooser dialog with image size and image type drop-down lists. If compiled without libgd support (therefore using libgdk-pixbuf), gschem will support several image types (like PNG, JPEG and ICO). 2007-02-16 Ales Hvezda * po/nl_NL.po: Updated Dutch translation from Bert Timmerman. Thanks. * src/i_callbacks.c: Fixed update component to work again. It broken during the transition from Ales' custom linked list implementation for the selection lists to using GList for selection lists. It seems that iterating over a list that is being change doesn't work in the same way with GLists. Fix for this was to make a shallow copy of the selection list and use that copy when iterating. * src/i_callbacks.c: Change the behavior of update component a little. Update component will deselect all non OBJ_COMPLEX objects after it has finished running. This will give you an indication as to which components were update or changed. The behavior before was completely silent with no feedback that anything happened. * lib/system-gschemrc.in: Since gtk+ 2.x is supposedly correctly raising dialog boxes (and most of the dialog boxes within gschem have been converted to GtkDialog), raise-dialog-boxes-on-expose's default is now disabled. Thanks to Werner for figuring the dialog situation. 2007-02-16 Patrick Bernaud * po/fr_FR.po: Updated the French translation. 2007-02-15 Carlos Nieves Onega * test/ext_chars.sch: Added test for the new small mu greek char. 2007-02-14 Carlos Nieves Onega * test/ext_chars.sch: Added test for the new characters of the hungarian charset. 2007-02-12 Werner Hoch * src/x_autonumber.c: added gettext makro _() for sort options 2007-02-11 Carlos Nieves Onega * po/es_ES.po: Updated spanish translation. * ChangeLog: added author entry for the commits Ales made yesterday. 2007-02-11 Werner Hoch * po/de_DE.po: updated german translation * po/*po: updated files to add the strings for the attribute editor * include/prototypes.h: removed unused declarations * src/x_attribedit.c: switched the single attribut editor to GtkDialog. removed the delete button. 2007-02-10 Mike Jarabek * include/i_vars.h include/prototype.h lib/system-gschemrc.in src/g_rc.c src/g_register.c src/i_vars.c: Added code to scale the output postscript font under user control. This is controlled via the postscript-font-scale rc keyword. 2007-02-10 Ales Hvezda * include/x_compselect.h, include/x_pagesel.h, src/o_bus.c, src/o_grips.c, src/o_net.c, src/x_autonumber.c, src/x_compselect.c, src/x_dialog.c, src/x_image.c, src/x_menus.c, src/x_preview.c, src/x_print.c: Fixed a whole bunch of compiler warnings and work on [ 1620806 ] various probably bugs and comments about them * docs/gschem.1: Updated the man page a little for bug: [ 1556064 ] man page version out of date * configure.ac.in: Bumped package version to 20070216. 2007-02-10 Carlos Nieves Onega * src/g_funcs.c: propagate f_print_file errors to scheme functions. * src/x_print.c: Fixed compiler warning. Also added a popup message warning the user if the f_print_file function fails. * scheme/auto-place-attribs.scm: Check if the list is empty before calling to stable-sort. It is an error for guile versions >= 1.8. Thanks to DJ for reporting this. 2007-02-10 Ales Hvezda * src/globals.c: Removed quit_func since it is completely unused. * configure.ac.in: Added a call to AC_GNU_SOURCE to make autoconf and friends complain less. 2007-01-16 Ales Hvezda * src/x_image.c: Removed unnecessary printf 2007-01-09 Ales Hvezda * src/o_misc.c: Applied patch by Peter Clifton to prevent a crash when updating embedded components. Should not free strings that are owned by libgeda. 2007-01-08 Ales Hvezda * include/prototype.h, src/o_misc.c: Moved o_embed and o_unembed into libgeda so that gschlas can also call these functions (to add shell scriptable embed/unembed of all components/pictures functionality). 2007-01-05 Carlos Nieves Onega * configure.ac.in: Applied patch from Peter Clifton, adding missing AC_DEFINE(HAS_LIBGD, 1,...) which is still required to enable libgd support. 2007-01-04 Werner Hoch * src/x_compselect.c: added expand property for the filter entry * src/x_autonumber.c: set default the searchtext to the first history element, use SCOPE_PAGE as skip default value 2007-01-03 Werner Hoch * src/x_print.c: replaced saveas button with a fileopen icon, Changed labels and added colons, fixed widget packaging. * bitmap/Makefile.am, bitmap/gschem-alignment*.png, bitmap/gschem-filltype*.png: new icons for filltype and text alignment. 2007-01-02 Werner Hoch * src/o_picture.c: picture_change_selection_dialog() replaced GtkFileSelection dialog with a GtkFileChooserDialog. Refactored and renamed the callback function. * src/o_picture.c: picture_selection_dialog() replaced the GtkFileSelection dialog with a GtkFileChooserDialog * src/x_script.c: replaced the GtkFileSelection dialog with a GtkFileChooserDialog * src/x_log.c: insert text at the end of the buffer instead of cursor position. Replaced gtk_text_view_scroll_to_iter() with gtk_text_view_scroll_to_mark() which works more reliable. 2006-12-31 Werner Hoch * src/x_autonumber.c: fixed a bug if one searchtext is a subset of another one. Bug reported by Levente Kovacs. 2006-12-29 Werner Hoch * src/x_mulitattrib.c: added transient_for flag to the dialog. Suggested by Kurt Peters 2006-12-28 Werner Hoch * src/x_image.c: replaced the browse button with an icon. Misc cosmetics. * src/x_autonumber.c: switched the autonumber dialog to GtkDialog, fixed a bug when unselecting the "remove numbers" CheckButton 2006-12-26 Carlos Nieves Onega * lib/system-gschemrc.in: Don't place the titleblock automatically if editing a symbol file (page filename ending in ".sym"). 2006-12-23 Carlos Nieves Onega * src/g_hook.c (g_add_component): Return if scm_comp_name is an empty list (guile's NULL), or the scheme's boolean false. This was suggested by Peter TB Brett and Steve Tell. * src/g_hook.c (g_add_component): Changed the end of this function to avoid the "Statement not reached" compiler warning. Thanks to Dan McMahill for reporting this. 2006-12-22 Carlos Nieves Onega * src/g_hook.c: - Added some documentation to custom_world_get_complex_bounds and g_get_object_bounds. - g_add_component: Changed the remaining scheme function's name left on 2006-12-14. 2006-12-21 Peter Brett * src/o_copy.c, o_find.c, x_event.c: Update interface of o_selection_print_all() to match other o_selection_*() functions. Pass the GList by reference. * src/o_misc.c: Remove use of o_selection_select() and o_selection_unselect() (should only be used internally to libgeda). * src/o_attrib.c, src/o_buffer.c, src/o_complex.c, src/o_copy.c, src/o_misc.c, src/o_select.c, src/o_text.c: Update interface of o_selection_add() to match o_selection_remove(). Pass the GList by reference so head can be updated. 2006-12-21 Werner Hoch * src/x_dialog.c: use GtkDialog for the find text, the show text and the hide text dialog. Code cleanups. * src/x_autonumber.c: fixed o_selection_remove call which caused gschem to crash. suggestion by Ales, patch from Peter Brett. * src/x_dialog.c: cosmetics in the color dialog, use GtkDialog for the hotkeys dialog, use a GList to store the hotkeys and a GtkTreeView to show them. 2006-12-20 Werner Hoch * src/x_dialog.c: cosmetics in the slot dialog, use GtkDialog for the coords and the about dialog, Code cleanups 2006-12-19 Werner Hoch * src/x_dialog.c: cosmetics in the translate dialog use GtkDialog for the arc angle, the text size and the snap size dialog. Use GtkSpinButtons for the three dialogs. 2006-12-18 Werner Hoch * src/x_dialog.c: some more code refactoring in the dialogs edit filltype, edit linetype and edit text. Use the style constants from x_dialog.h * include/x_dialog.h: added constants for dialog layout style * src/x_dialog.c: use GtkDialog for text entry dialog, some code refactoring. Fixed a bug in select_all_text_in_textview() which toggled the selection instead of selecting it. * src/o_picture.c: set transient_for flag for the dialogs add image and modify image. * src/x_attribedit.c: set transient_for flag for the dialog * src/x_compselect.c: set the widget focus to the filter entry present the window and select the filter text when reselecting the dialog with "i". (ideas from Peter Clifton) 2006-12-17 Stuart Brorson * src/x_autonumber.c: Replace GTK-26 ism with 2.4 fcns. Thanks, Werner, for the suggestion! 2006-12-16 Ales Hvezda Merged Carlos' glist work via Peter Brett's patch sets to the trunk 2006-10-22 Carlos Nieves Onega * src/o_delete.c: Changed a check to use glib debugging functions. Don't free objects at the end of o_delete, but free only the list. * src/o_misc.c: Added a sanity check. * src/o_basic.c: Don't free objects in the complex place list. It is only a reference to the objects in the page. 2006-10-21 Carlos Nieves Onega * include/prototype.h, src/g_hook.c, src/i_basic.c, src/i_callbacks.c, src/o_attrib.c, src/o_basic.c, src/o_buffer.c, src/o_bus.c, src/o_copy.c, src/o_delete.c, src/o_find.c, src/o_grips.c, src/o_misc.c, src/o_move.c, src/o_net.c, src/o_picture.c, src/o_select.c, src/o_slot.c, src/o_text.c, src/o_undo.c, src/x_attribedit.c, src/x_compselect.c, src/x_dialog.c, src/x_event.c, src/x_multiattrib.c, src/x_print.c: Convert the SELECTION list to a GList. * src/a_zoom.c, src/o_arc.c, src/o_basic.c, src/o_box.c, * src/o_basic.c: Rename o_recalc to o_recalc_object_list. * src/o_basic.c, src/o_complex.c, src/o_move.c, src/o_text.c, src/x_image.c: Rename get_complex_bounds to get_object_list_bounds. 2006-12-15 Peter Clifton * intl/.cvsignore: Remove whitespace after .c and .y exclusions 2006-12-14 Carlos Nieves Onega * src/g_hook.c (g_add_component): Don't log message if a component name "" is passed to this function. Changed the function name in the error messages from add-component to add-component-at-xy. The scheme name of the function was changed on 2006-10-03, but not the error messages. * lib/system-gschemrc.in: Added comment about how to avoid gschem placing a titleblock automatically. 2006-12-13 Carlos Nieves Onega * src/g_hook.c: Improved error detection in g_add_attrib. This should fix bug #1599582. * scheme/auto-place-attribs.scm: - Define object types here (by now). This shouldn't be here, and should be defined in libgeda if anyone objects. - in get-reference, the object bounds should include the pins if the object is a pin, but otherwise don't . This makes the object bounds correctly calculated for pins. Thanks to Ales for reporting this bug. - Corrected typo (horiz-pos should be vertical-pos) in calcule-new-string-bounds. * lib/system-gschemrc.in: Fixed typo in the default pin attributes. 2006-12-12 Werner Hoch merged the autonumber branch back to trunk 2006-12-12 Werner Hoch sync autonumber branch with trunk 2006-11-28 Werner Hoch * src/x_autonumber.c: visual improvements of the sortorder combobox. Patch by Tomaz Solc, slightly changed. 2006-11-26 Werner Hoch * src/x_autonumber.c: remove the slot attribute if remove numbers and slotting is active. 2006-11-24 Werner Hoch * src/x_autonumber.c: repaired keypress events, added gettext macros replaced the sortorder ratio buttons with a combo box. That shrinks the dialog a lot. * po/POTFILES.in: added x_autonumber.c * bitmap/gschem-fileorder.png: added an ugly dummy bitmap 2006-11-11 Werner Hoch * src/x_autonumber.c: added used_slot database. This fixes a problem with duplicate slotted objects. Removed keyboard accelerators (by Tomaz Solz #1589430) 2006-11-09 Werner Hoch * src/x_autonumber.c: (scope_skip == SCOPE_SELECTED) didn't work as expected, fixed it. 2006-11-07 Werner Hoch * src/o_slot.c, x_dialog.c: removed redundant o_undo_savestate() in o_slot_end(). But it is required in the slot_edit_dialog_ok() function. This repairs to many undo states when using the autoslotting feature of the autonumber dialog. * src/x_autonumber.c: Added improved autonumber dialog from Tomaz Solz (#1589430) 2006-11-06 Werner Hoch * src/o_misc.c, src/x_dialog.c, src/x_autonumber.c: moved all autonumber related code to x_autonumber.c applied patch (#1589430) from Tomaz Solz * bitmap/: added bitmaps for the autonumber dialog 2006-12-10 Werner Hoch * src/x_dialog.c: use GtkDialog for color edit dialog, the slot attribute dialog, the linetype dialog, the linestyle dialog and the translate dialog. set default response, cosmetics changes and fixes. 2006-12-09 Werner Hoch * src/x_compselect.c: added transient_for flag to the dialog * src/x_fileselect.c: set default response to OK * src/x_print.c: set default response to print, added transient_for flag, fixed a keyval "Return" instead of "linefeed" * src/x_image.c: use GtkDialog for the PNG export dialog. added a filechooser dialog, misc cosmetics. * src/x_dialog.c: use GtkDialog for text property dialog. code cleanup and cosmetics 2006-12-06 Ales Hvezda * autogen.sh, Makefile.am, configure.ac, configure.ac.in: Changed the configure.ac and autogen.sh files to dynamically figure out the gettext version (instead of hard coding the version) when autogen.sh is ran. Hard coding 0.15 inside configure.ac broke everybody who doesn't have gettext 0.15 installed. The configure.ac file is now generated from the configure.ac.in. configure.ac was removed from CVS at this point. * .cvsignore: Added configure.ac into this file so that it is ignored when doing cvs update. 2006-12-05 Carlos Nieves Onega * lib/system_gschemrc.in, scheme/auto-place-attribs.scm: Make the auto place function smarter when dealing with objects with pins on 3 or 4 sides. Now it avoids to overlap the pins or the attributes when autoplacing. * include/prototype.h, src/g_hook.c, src/g_register.c: Changed scheme function g_get_object_bounds to accept two more parameters, allowing to exclude attributes, or objects types when calculing the object bounds. * src/x_compselect.c: clib_directories is now a double linked list. 2006-12-04 Ales Hvezda * lib/system-gschemrc.in: Added Control-x, Control-c, Control-v for cut buffer, copy buffer, and paste buffer menu and hotkey items. The paste automatically shows the outline (just like pressing "yp"). Changed the behavior of all the paste menu options to automatically show an outline of the paste buffer (just like pressing "yp"). This should make it more obvious as to what to do when pasting. * src/i_basic.c, src/i_callbacks.c: Modified the code to enable/disable the new Cut, Copy, and Paste commands. Also modified the code to properly enable and disable the "Buffer/Paste from X" commands only if there is something in the buffer. * src/i_basic.c: Also added the code to enable/disable "Multiple Copy Mode". Also fixed a unused variable compiler warning. * src/x_dialog.c: Increased the size of the hotkey char buffer for the hotkey dialog. * src/x_menus.c: Removed the right justification of the help menu item since it has gone out of style to have the help menu all the way on the right hand side. Something about usability. :) 2006-12-02 Mike Jarabek * include/i_vars.h include/prototype.h src/g_rc.c src/g_register.c src/i_vars.c: Support for rc command to set the postscript line default width. * lib/system-gschemrc.in: Added call to the new rc function to set the system wide default line width * examples/drawing_primitives.sch: Added extra line to show line width relative to pin and net width. 2006-12-02 Ales Hvezda The running of gettextize changed: ChangeLog, Makefile.am, configure.ac, m4/ChangeLog, m4/Makefile.am, po/Makevars. 2006-12-02 gettextize * Makefile.am (SUBDIRS): Remove intl. (EXTRA_DIST): Add config.rpath. * configure.ac (AC_CONFIG_FILES): Add po/Makefile.in. (AM_GNU_GETTEXT_VERSION): Bump to 0.15. 2006-11-21 Ales Hvezda * configure.ac: Fixed libgeda detection/find error message when the wrong libgeda version is found. (Bug reported by Karel Kulhavy; thanks) 2006-11-19 Werner Hoch * src/i_basic.c, src/x_grid.c, src/x_window.c: moved the filename from the status bar to the window title. Show grid settings in the status bar. 2006-11-13 Carlos Nieves Onega * src/x_compselect.c: Always update the complex place list. Before, the list wasn't updated if the user opens the file chooser and choose the same component and library than the last time. 2006-11-07 Werner Hoch * src/o_text.c, src/o_slot.c: fixed slot update errors (Bug #1589247) 2006-10-23 Carlos Nieves Onega * src/o_text.c: Changed polarity of one of the sanity checks in the o_text_draw function added on 2006-10-21. 2006-10-21 Carlos Nieves Onega * src/o_basic.c: Removed comment referencing to o_recalc_glist, which is not (yet) in CVS. * src/o_text.c: Added sanity checks in o_text_draw_lowlevel and o_text_draw functions using GLib functions. * src/o_text.c: Removed sanity checks in o_text_draw_lowlevel and o_text_draw functions added today. * src/a_zoom.c, src/o_arc.c, src/o_basic.c, src/o_box.c, src/o_buffer.c, /src/o_bus.c, src/o_circle.c, src/o_complex.c, src/o_cue.c, src/o_grips.c, /src/o_line.c, src/o_net.c, src/o_picture.c, src/o_pin.c, src/o_select.c, src/o_text.c: Added a new parameter to o_redraw and o_cue_redraw_all, to choose wether to draw the selected objects or not. Make o_redraw call o_redraw_all_fast, since they shared code. * src/o_arc.c, src/o_box.c, src/o_bus.c, src/o_circle.c, src/o_cue.c, src/o_grips.c, src/o_line.c, src/o_net.c, src/o_picture.c, src/o_pin.c, src/o_text.c: Don't draw objects if w_current->DONT_REDRAW is 1. * src/o_text.c: Added some sanity checks in o_text_draw_lowlevel and o_text_draw functions. 2006-10-21 Werner Hoch * po/de_DE.po: Updated German translation 2006-10-20 Ales Hvezda * src/x_dialog.c, src/x_print.c, src/x_attribedit.c: Applied patch by Patrick Bernaud to Change button order of dialogs to be more standard on *nix desktops. * configure.ac: Bumped package version to 20061020. * lib/system-gschemrc.in: Rearranged the order of the attribute-name entries and added some missing attributes. * po/*.po, geda-gschem.pot: make distcheck updated all po/port files. 2006-10-20 Patrick Bernaud * po/fr_FR.po: Updated the French translation. * po/*: Updated and merged i18n files for new POTFILES. * po/POTFILES.in: Added x_compselect.c to list. * src/i_callbacks.c (i_callback_close_wm): Modified prototype to match the one expected by GTK and made it stop further propagation of the signal to avoid closing the window when user cancels the close order. Bug reported by Werner Hoch. 2006-10-20 Carlos Nieves Onega * po/es_ES.po: Fixed the header of the spanish translation. Thanks to Werner Hoch for pointing it out. 2006-10-19 Carlos Nieves Onega * po/es_ES.po: Updated spanish translation. 2006-10-19 Patrick Bernaud * src/x_multiattrib.c: Fixed toggle renderers to update their appearance when they are activated from keyboard. Bug reported by Peter Clifton. * configure.ac: Cleaned up to remove remaining traces of noweb days. * noweb/.cvsignore: Removed file for directory to get pruned on checkout. * docs/gschemdoc.texi, docs/texinfo.tex: Removed unused files for old noweb documentation. * scripts/geda_totexi.in: * scripts/notangle_guile.in: Removed unused scripts for noweb. * po/fr_FR.po: Updated the French translation. * po/*: Updated and merged i18n files. * src/rcstrings.c: Rebuilt file from system-gschemrc for changes in the application menus. 2006-10-18 Carlos Nieves Onega * ChangeLog: Improved description of the "fit page when window is maximized" patch on 2006-10-04, and added src/x_window.c: it was changed, but it was missing in the ChangeLog. Also added a note in the entry for 2006-09-30 regarding this feature, which relates to the entry in 2006-10-04. * include/prototype.h: Removed the definition of x_event_window_state. This function was added on 2006-09-30 when doing a zoom extents when the user maximizes the gschem window. It was later removed on 2006-10-04 when Patrick found a new way to do it in x_event_configure. * src/i_callbacks.c: call the new page hook in the file_new_window callback, after the x_window_setup call (the latter creates a new page). Thanks to Peter Clifton for reporting the bug. * src/gschem.c: When modifying this file on 2006-10-16, the new page hook call was moved inside the parse arguments loop. Therefore, the hook was not called if gschem was executed without arguments. Call the hook after the loop again, but only if first_page is 1 (i.e: if no page was loaded before). 2006-10-17 Patrick Bernaud * src/x_multiattrib.c (cellrenderermultilinetext_start_editing): Fixed renderer to vertically fill the area when editing data (it was only displaying a line with GTK > 2.8). Bug reported by Peter Clifton. 2006-10-16 Carlos Nieves Onega * src/gschem.c: Call the new page hook for each schematic specified in the command line, instead of calling it for only the latest. This way all pages are zoomed extents when loaded. Thanks to Peter Clifton for reporting the bug. 2006-10-13 Patrick Bernaud * src/x_compselect.c: Modified to close when Escape is pressed. (x_compselect_callback_response): Fixed wrong cast for dialog. (COMPSELECT_FILTER_INTERVAL): Added new constant for the timeout interval of the filter as suggested by Peter Clifton. Fixed and improved code documentation as suggested by Peter Clifton. 2006-10-08 Ales Hvezda * src/x_window.c: Commited patch by Patrick to greatly reduce the flickering/unnecessary redrawing when opening up schematic pages. Thanks. 2006-10-04 Patrick Bernaud * src/x_compselect.c, include/x_compselect.h: Added a button to clear the filter entry of the component selection dialog. Modified to auto-update the component selection as user types in filter entry. * include/prototype.h, src/x_dialog.c: Deleted old exit_dialog. Added new dialog for user confirmation before closing a page or a window. * src/i_callbacks.c, src/x_fileselect.c: Adapted code to use new functions of x_window.c. * src/x_window.c: Added new functions to open, close, save and change page. * src/x_event.c (x_event_configure), src/x_window.c: Cleaned up. Fixed Bug#1527465: fit page zooms when window is maximized. Comment by cnieves on 2006-10-18: This change removes the code added on 2006-09-30, which tried to solve the same problem. Patrick found a cleaner way to do it in x_event_configure, so x_event_window_state is no longer needed. The x_window_state function is removed here, and its definition in include/prototype.h was deleted on 2006-10-18. Thus, all code added on 2006-09-30 regarding this feature is removed. 2006-10-03 Carlos Nieves Onega * lib/system-gschemrc.in, src/g_register.c: Changed the name of the new scheme function which adds a component at a given location to add-component-at-xy. The former name was already used. 2006-09-30 Carlos Nieves Onega * lib/system-gschemrc.in: Changed the definition of the default titleblock. Users can now easily override the default setting. * src/x_event.c, src/x_window.c, include/prototype.h: Fix for bug #1527465. Do a zoom extents for all pages when the main window is maximized. Comment by cnieves on 2006-10-18: This code was removed on 2006-10-04 when Patrick found a cleaner way to do this without x_event_window_state. Read the ChangeLog entry for the given date. * src/x_image.c: Added the border in the gdk-pixbuf's image output. Fix bug #1565433. 2006-09-30 Ales Hvezda * src/g_hook.c: Added code to g_add_component so that the component is added to the object list properly. * src/g_hook.c: Commented out o_redraw_single call to minimize flickering. At some point a g_redraw_all should be added for those users who want to use g_component_add from a script. * i_callbacks.c: Removed unnecessary redraw and scrollbar calls when adding a new page to minimize flicker * lib/system-gschemrc.in: Commented in Carlos' new file-new hook and change some of the defaults a little. No matter what default I pick will probably be wrong for somebody (sorry). * src/x_print.c: Applied patch by Peter Brett (Patch#1567622): Make print settings sticky for session. Thanks! 2006-09-30 Carlos Nieves Onega * include/prototype.h, lib/system-gschemrc.in, src/g_hook.c, src/g_register.c, src/gschem.c, src/x_window.c: Added a new scheme function to get the objects in a page. Improved the new-page-hook in system-gschemrc so it only adds the titleblock if the page has no objects. 2006-09-28 Carlos Nieves Onega * include/globals.h, include/prototype.h, lib/system-gschemrc.in, src/g_hook.c, src/g_register.c, src/globals.c, src/gschem.c, src/i_callbacks.c, src/x_window.c: Added a new page hook, a new add-component function for scheme, and some lines in the system-gschemrc file (commented by default), so gschem can add automatically a symbol when creating a new page. Commenting out these lines can solven bug #1443806 (gschem zoomed out way to much on startup). 2006-09-24 Ales Hvezda * AUTHORS: Greatly simplified the file since the ChangeLog tracks who has changed what. Also added a few missing names that should most certainly be in the list. Also consolidated all AUTHOR files for gEDA/gaf into this file. 2006-09-24 Ales Hvezda * configure.ac: Tweaked glib detection to not fail ./configure when gdlib is not installed. gdlib is an optional dependancy. 2006-09-24 03:57 Dan McMahill * configure.ac: Improve gdlib detection. Now instead of just dropping gd support if gdlib is not found, have configure error out with a message that tells the user what needs to be fixed or what feature will be missing if --disable-gd is used. Also add a variable to libgeda.pc.in so pkg-config can determine if libgeda was compiled with gdlib support. This makes determination of this by gschem more robust. 2006-09-23 Patrick Bernaud * src/x_fileselect.c (x_fileselect_save): Modified to set filename when saving a page. * src/x_compselect.c: Changed dialog layout for a single component selection tree with filtering capability. * src/i_callbacks.c: * src/x_window.c: Adapted for new file selection dialog. * src/x_fileselect.c: Removed code for custom file selection dialog: now uses only the GTK widget for file selection and the new preview widget. Cleaned-up code. * src/x_compselect.c, src/x_fileselect.c: Adapted for new preview. * include/x_preview.h: New file for new preview widget. * src/x_preview.c: Rewritten preview to make it a widget extending a GtkDrawingArea. * src/x_compselect.c: New source file for component selection dialog. * src/x_fileselect.c: Moved code of the component selection dialog to x_compselect.nw. 2006-09-22 Carlos Nieves Onega * README, configure.ac, src/i_callbacks.c, src/x_image.c: Use gd 2.0.x library instead of libgdgeda. libgdgeda is not used anymore. Work based on a patch by Wojciech Kazubski (patch #1479983). 2006-09-15 Carlos Nieves Onega * po/ru.po: Updated russian translation provided by Andy Shevchenko, (bug #1559106 submitted by Chitlesh). Thanks. 2006-09-08 Ales Hvezda * include/prototype.h, scheme/gschem.scm, src/g_keys.c, src/x_event.c, src/x_window.c: Applied another patch for Bug#1553544: "New pages inadvertantly created when adding nets in gschem" from Peter Clifton to address the focus problem with the first patch. This one is much better and cleaner. 2006-09-07 SDB * src/xprint.c: Added "static void" declaration to print_dialog_get_property to prevent compiler error under older version of gcc. 2006-09-06 Ales Hvezda * configure.ac: Updated program version to 20060906. * lib/system-gschemrc.in: Applied patch for Bug#1552338: system-gschemrc gedadata/rc mismatch (filed by Charles Lepple). Also fixed a few other instances where the directory for the scheme files were wrong. * lib/system-gschemrc.in: Changed the mouse gain to be unity since various people have mentioned that mouse pan doesn't feel right with a large value. * src/x_window.c: Had to put the keypress signal handler back on the main_window (instead of just the drawing_window), because the up cursor key stopped working. The original reason for this movement was to fix Bug#1552778 and Bug#1553544 which are still fixed (even with this move it seems), however the focus on the toolbar seems to move when you move the cursor keys (which is a little odd). * po/it_IT.po: Updated to the last version provided by Michele Petrecca. Thanks. * src/gschem.c, src/g_rc.c, src/x_dialog.c: Added CUSTOM_VERSION to all printfs/output/dialog boxes where VERSION is used so that it is easier to create custom version of gEDA/gaf. * include/Makefile.am: Oops, x_print.h wasn't added. This was discovered by make distcheck (have I mentioned how much I like make distcheck. :-) * po/*.po: make dist(check) updated all po files in prep for the new release (20060906). 2006-09-05 Ales Hvezda * src/x_fileselect.c: Applied patch by Peter Clifton: Removed the "discard changes" button from the file selection dialog. * src/x_window.c: Applied patch by Peter Clifton: Removed key press event from the main window and moved it to the drawing area and set the mouse focus on the drawing area initially. * src/x_fileselect.c: Applied patch by Peter Clifton: Fixed the odd behavior that if the user pressed the ESCAPE key in the saveas dialog box, subsequent attempts to open the dialog box will fail with a critical gtk+ error message: (gschem:4708): Gdk-CRITICAL **: gdk_window_raise: assertion `GDK_IS_WINDOW (window)' failed 2006-09-04 Ales Hvezda * src/i_vars.c: Removed code that sets up the autosave callback. The callback was being registered for the preview toplevel as well and that caused all sorts of problems. * src/x_window.c: Added a call to s_page_autosave_init() right after i_vars_set. This is the only place we want the autosave callback to be registered. 2006-08-31 Ales Hvezda * configure.ac: Updated gtk+ tests to look for 2.4.x or greater. 2006-08-29 Ales Hvezda * lib/system-gschemrc.in: Fixed some typos in comments. * gschem/include/x_print.h, gschem/include/i_vars.h, gschem/include/prototype.h, gschem/scripts/print.scm, gschem/src/g_funcs.c, gschem/src/g_rc.c, gschem/src/g_register.c, gschem/src/x_dialog.c, gschem/src/x_print.c, gschem/src/x_window.c: Applied second part of patch by Peter Brett to add a new print dialog to gschem. Patch#1530417. Unfortunately x_print.c was a completely by hand patch, so hopefully I got it right. Reversed the "Print" and "Cancel" buttons to follow application conventions. Reversed "Save As" and "Cancel" buttons to follow application conventions. 2006-08-24 Ales Hvezda * INSTALL: Updated install file a little (still somewhat dated) * src/o_misc.c: Fixed o_update_component to actually work correctly. All this time, it was just doing the wrong thing by search for existing components in the wrong place. Update Component still doesn't do the right thing for symversion, but that can be fixed later. * examples/filter_1.sch: Updated all components to the latest version. * examples/drawing_primitives.sch: Translated schematic a little so it looks better on the screen. 2006-08-22 Ales Hvezda * src/Makefile.am: Removed old VPATH, since it is no longer needed and it is interfering with make distcheck 2006-08-21 Ales Hvezda * README: Updated the README a little to be ready for the next release. * src/x_fileselect.c: Initialize preview_control to make valgrind happy. Pointed out by Peter Clifton. 2006-08-19 Ales Hvezda * configure.ac: Bumped version number to 20060821 in prep for the next gEDA/gaf release. * lib/system-gschemrc.in: Commented out the "Autoplace component text attributes hooks" since they were causing some interesting rendering/ghosting artifacts. These need to be fixed before these hooks can be commented in by default. * lib/system-gschemrc.in: Changed the middle mouse button default to be mousepan instead of action, since the first button now supports that functionality by default. 2006-08-09 Ales Hvezda * src/x_fileselect.c: Applied trival patch by Peter Brett to remove unused variable compiler warning. 2006-08-06 Ales Hvezda * src/o_copy.c: Fixed the copying of nets, pins, and buses. Copy for these objects has been broken for a while now in CVS only. This should be revisited later to fix the breakage this fix caused to the transparent rotation when copying objects. * src/x_preview.c: Applied Patch#1527418: Make preview-widget resizable and respond to scroll events by Peter Clifton. * src/x_event.c: Applied Patch#1527383: Zoom using mouse scroll-wheel by Peter Clifton. Behavior of the mouse wheel with modifiers: NONE = zoom in / out Shift = up / down Control = left / right (as existing) * src/o_attrib.c: Applied Patch#1531802: Bugfix for segfault when adding a global attribute by Tomaz Solc. * src/x_window.c: Applied Patch#1533822: gschem: Tidy up gtk_widget_show calls by Peter Brett. * src/*.c: Applied Patch#1533798: Remove pre-GTK2 code from geda by Peter Brett. * src/x_window.c: Applied patch by Tomaz Solc to use stock gtk icons and only fallback on the shipped icons if the stock ones are not available. Minor cleanup of the code afterwords. Removed obsolete code and functions. * src/*.c: Applied patch by Tomaz Solc to add cursor key panning. Minor cleanup of the code afterwards (mainly to add the keyboardpan_gain to the toplevel as a proper rc variable) * po/it_IT.po: Replaced Italian translation with updates from Michele Petrecca. * po/pt_BR.po: Replaced Portugese translation with updates from Antonio Augusto Todo Bom Neto. 2006-07-26 Ales Hvezda * src/x_window.c: Converted pro-active pointer check to a g_assert (a good suggestion by Peter Clifton). * src/x_menu.c: Applied patch by Gabriel Paubert to fix building with --disable-nls. Thanks! 2006-07-26 Carlos Nieves Onega * src/g_hook.c: Added pointer check. Fixes gschem crash when adding an attribute while some other attributes were selected. Thanks to Levente Kovacs for reporting the bug and testing the patch. 2006-07-24 Ales Hvezda * src/x_window.c: Added pointer check to be pro-active. Related to (Bugs#1528080) 2006-07-23 Ales Hvezda * src/x_color.c: Added a missing extern keyword on colors structure * include/defines.h: Applied mouse pan patch by Peter Clifton. (Patch #1527361): Allow middle button panning in gschem Thanks for the patch Peter! * include/i_vars.h, include/prototype.h, lib/system-gschemrc.in, src/g_rc.c, src/g_register.c, src/i_vars.c, src/x_event.c: Applied mouse gain patch by Peter Clifton. Added (mousepan-gain #) rc option to control this gain (default is still 5). (Patch #1527363): Set mousepan "gain" to unity Thanks for the patch Peter! 2006-07-23 Mike Jarabek * examples/drawing_primitives.sch: Removed extra line from text in drawing primitives. 2006-07-19 Ales Hvezda * po/POTFILES.in: Updated files to get rid of old noweb references. * po/*.po, po/gschem.pot: Updated files to take into account above changes (via make dist). * src/rcstrings.c, src/Makefile.am, po/POTFILES.in: Oops forgot about this file (thanks Werner); added file back and updated po files via make dist again. 2006-07-15 Ales Hvezda * include/x_log.h, src/g_hook.c, src/g_keys.c, src/g_rc.c, src/gschem.c, src/i_basic.c, src/i_callbacks.c, src/o_complex.c, src/o_misc.c, src/o_net.c, src/o_picture.c, src/o_slot.c, src/o_text.c, src/o_undo.c, src/x_attribedit.c, src/x_color.c, src/x_dialog.c, src/x_fileselect.c, src/x_grid.c, src/x_image.c, src/x_menus.c, src/x_pagesel.c, src/x_print.c, src/x_stroke.c, src/x_window.c: Converted all free, ?alloc, and strdup calls to use g_free, g_?alloc, and g_strdup. This is the first phase in fixing the slice crash under glib 2.10.x. Also fixed some -pedantic compiler warnings. * src/o_picture.c, src/x_image.c: Changed all g_free() calls on all pixbuf objects to be g_object_unref. This was causing crashes with glib 2.10.x. * src/x_image.c: Oops, g_object_unref, not g_object_ref 2006-07-13 Ales Hvezda * Applied and commited Jason Childs' noweb removal patch and added the new C source files. 2006-07-08 Jason Childs * noweb/a_pan.nw, noweb/a_zoom.nw, noweb/g_funcs.nw, noweb/g_hook.nw, noweb/g_keys.nw, noweb/g_rc.nw, noweb/g_register.nw, noweb/globals.nw, noweb/gschem.nw, noweb/i_basic.nw, noweb/i_callbacks.nw, noweb/i_vars.nw, noweb/o_arc.nw, noweb/o_attrib.nw, noweb/o_basic.nw, noweb/o_box.nw, noweb/o_buffer.nw, noweb/o_bus.nw, noweb/o_circle.nw, noweb/o_complex.nw, noweb/o_copy.nw, noweb/o_cue.nw, noweb/o_delete.nw, noweb/o_find.nw, noweb/o_grips.nw, noweb/o_line.nw, noweb/o_misc.nw, noweb/o_move.nw, noweb/o_net.nw, noweb/o_picture.nw, noweb/o_pin.nw, noweb/o_select.nw, noweb/o_slot.nw, noweb/o_text.nw, noweb/o_undo.nw, noweb/parsecmd.nw, noweb/x_attribedit.nw noweb/x_basic.nw, noweb/x_color.nw, noweb/x_dialog.nw, noweb/x_event.nw, noweb/x_fileselect.nw, noweb/x_grid.nw, noweb/x_image.nw, noweb/x_log.nw, noweb/x_menus.nw, noweb/x_multiattrib.nw, noweb/x_pagesel.nw, noweb/x_preview.nw, noweb/x_print.nw, noweb/x_script.nw, noweb/x_stroke.nw, noweb/x_window.nw Ported as real c source code file in the src directory. Deleted after porting all noweb comments into doxygen format in respective c source files. * noweb: Removed subdirectory. * src/Makefile.am: Updated to build from c source instead of noweb. Fixed distclean setup to not remove c source files. * docs/Makefile.am: Added support for Doxygen html and LaTex documents. Fixed distclean setup to not remove required Doxygen html files, and to remove html and latex subdirectories on clean. * Makefile.am: Removed noweb as a buildable subdirectory. * configure.ac: Removed checks for noweb and texi2html. Added check for Doxygen. 2006-06-02 Mike Jarabek * lib/system-gschemrc.in: Corrected comments about PS backend, and changed default to not render vector text for multiline text items. Added documentation that shows valid values. * noweb/g_rc.nw: Removed check for negative numbers in g_rc_output_vector_threshold() as any value is valid now. Negative numbers indicate that vector text is not desired when printing multiline text. 2006-05-21 Werner Hoch * include/prototype.h, noweb/o_find.nw, noweb/x_event.nw: Fixed issue with the selection box when some components overlap. This bug was introduced when adding support for object movement like "click and drag" style. * noweb/g_hook.nw: Fixed bug when calculating the object bounds in text autoplacing. * src/Makefile.am: Commented out the indentation of the C code, so gdb can return correct information when debugging. * noweb/i_callbacks.nw, noweb/x_event.nw: Moved rotated_inside into the TOPLEVEL structure. 2006-05-20 Ales Hvezda * scripts/notangle_guile.in: Applied patch by Steve Brown to fix guile stack overflow * src/Makefile.am: Changed the .nw.c: rule to redirect the generated C file to a temp file and then move it to the real one. This fixes the stale file problem when notangle fails. * noweb/o_find.nw: #if'ed out some print statements 2006-05-17 Mike Jarabek * examples/drawing_primitives.sch Added example file with a sample of each drawing primitive * examples/Makefile.am Added target to distribute drawing primitive schematic 2006-05-17 Carlos Nieves Onega * include/i_vars.h, include/prototype.h, lib/system-gschemrc.in, noweb/i_vars.nw, noweb/o_find.nw: Added support for moving the selected objects just dragging them. * include/prototype.h, include/x_states.h, noweb/g_keys.nw, noweb/g_rc.nw, noweb/g_register.nw, noweb/i_basic.nw, noweb/i_callbacks.nw, noweb/o_basic.nw: Added multiple copy command. * noweb/o_copy.nw, noweb/o_move.nw, noweb/o_undo.nw, include/prototype.h, noweb/x_event.nw: Allow rotating while copying or moving objects. * noweb/g_hook.nw, noweb/o_complex.nw, noweb/o_misc.nw: Don't draw text if w_current->DONT_REDRAW == 1. 2006-05-16 22:31 Dan McMahill * include/Makefile.am, include/prototype.h, noweb/g_funcs.nw, noweb/g_register.nw, noweb/x_dialog.nw, scheme/pcb.scm: Add a (gschem-filesel) guile function which gives a generic file open and save as dialog box. Add some placeholder code to the pcb major mode showing how this routine is used. While here update the pcb major mode TODO list a bit. 2006-05-16 Werner Hoch : * noweb/o_pin.nw: o_pin_end(): fixed whichend drawing and connection checks. 2006-05-14 Werner Hoch * noweb/x_event.nw: x_event_expose(): fixed some of the redraw error when changing the windows while drawing * noweb/o_basic.nw: moved DRAWCOMP state in o_redraw_cleanstates() * noweb/o_net.nw: o_net_xorrubber(): added code for L-net 2006-04-25 22:26 Dan McMahill * include/prototype.h, noweb/g_funcs.nw, noweb/g_register.nw, noweb/x_dialog.nw, scheme/pcb.scm: - add gschem-log, gschem-msg, gschem-confirm scheme functions for logging to the log, displaying a message in a dialog box and executing a confirm dialog box from scheme. - make the pcb mode take advantage of these new features. 2006-04-25 02:14 Dan McMahill * scheme/pcb.scm: - clean up the code which checks to see if the pipe to pcb is open. - add signal handlers and exception handlers to gracefully deal with the user exiting from PCB. No more crashes from that! - shorten the TODO list :) 2006-04-24 Werner Hoch * noweb/a_zoom.nw: removed redundant redraw * noweb/a_basic.nw, noweb/i_callback.nw: added support for transparent zoom while moving, copying and component placement and modifiing. (changes in o_redraw_all(), modifiing arc's and zoom does not work) Added a intermediary select state to enable state jumps. (o_redraw_cleanstates() and it's calls) 2006-04-24 04:02 Dan McMahill * lib/system-gschemrc.in: move the (still commented out) stuff about pcb to the bottom of the file so the PCB menu ends up on the right instead of the left. Also we only need to load the pcb.scm file, not manually install the hooks. 2006-04-24 03:59 Dan McMahill * scheme/pcb.scm: - add the add-hook calls to this file. We only want the user to have to load this file to get everything going. - add some real stuff to the custom menu. We can actually launch pcb now! - update the TODO list 2006-04-24 03:28 Dan McMahill * noweb/o_select.nw: repair broken select box 2006-04-24 03:06 Dan McMahill * noweb/: o_basic.nw, o_buffer.nw, o_copy.nw, o_find.nw, o_select.nw, o_text.nw, x_image.nw, x_print.nw: Repair a segfault introduced by my last commit. This makes sure we always pass in the correct types to o_select_run_hooks(). For the deselect all, we just pass in a NULL value for o_current and make sure we detect that. 2006-04-23 03:48 Dan McMahill * include/globals.h, include/prototype.h, lib/system-gschemrc.in, noweb/g_register.nw, noweb/globals.nw, noweb/o_basic.nw, noweb/o_buffer.nw, noweb/o_copy.nw, noweb/o_find.nw, noweb/o_select.nw, noweb/o_text.nw, noweb/x_image.nw, noweb/x_print.nw, scheme/Makefile.am, scheme/pcb.scm: add support for some new hooks: select_component_hook select_net_hook deselect_component_hook deselect_net_hook deselect_all In addition provide a partial example of how one can use these hooks to communicate to pcb. 2006-04-22 Carlos Nieves Onega * noweb/o_complex.nw, noweb/o_move.nw: Allow placing and moving complex objects inside complex objects. 2006-04-15 Werner Hoch * noweb/o_arc.nw: corrected ARC_END_ANGLE calculation in o_arc_rubberband(), simplified the function. this fixes bug 1468682 * noweb/a_pan.nw: set loc_x/y to 0 in a_pan_general, this fixes a zoom-while-drawing error 2006-04-14 Werner Hoch * noweb/a_zoom.nw, noweb/a_pan.nw: rubberband redrawing changed moved coordinate calculations to a_pan_general() * noweb/i_callback.nw: removed limitations of paning while drawing * noweb/o_basic.nw: small fix for moving while drawing * noweb/x_print.nw: GTK_BOX pointer type fixes * noweb/x_event.nw: drop redundant x_event_motion() events if no mouse button or modifier key change occured. This speeds up moving large selections, copying selections and mouse paning. 2006-04-09 Carlos Nieves Onega * scheme/auto-place-attribs.scm: Applied patch from Steve Brown It fixes the get_reference function to always return an integer value for horiz-pos and vertical-pos. This fixes bug 1463066. Thanks for the patch. * noweb/x_fileselect.nw: Add the "discard changes" button to the close page dialog. This fixes bug 1442948. 2006-04-09 Werner Hoch * noweb/x_dialog.nw: find_text_dialog(): moved the descend checkbutton from the action_area to the vbox. * noweb/a_pan.nw: a_pan(), a_pan_mouse() rewritten, they'll use a_pan_general() now, a_pan_calc() removed. * noweb/a_pan, noweb/a_zoom.nw, noweb/i_callbacks.nw, noweb/o_misc.nw, noweb/x_event.nw: bugfix for "[ 1443804 ] gschem scrollbars not updating in all cases", added missing scrollbar updates, removed duplicate o_redraw_all_fast() calls. 2006-04-03 Werner Hoch * noweb/x_print.nw: print dialog: widged packing fixed, reported by Tomasz Nowak 2006-03-12 Ales Hvezda * lib/system-gschemrc.in: Removed load for the system-gafrc file, since it is loaded by libgeda first. 2006-02-26 Carlos Nieves Onega * noweb/g_hook.nw: Erase the text before changing its attributes in g_set_attrib_text_properties. 2006-02-25 Carlos Nieves Onega * include/globals.h, include/prototype.h, noweb/g_hook.nw, noweb/g_register.nw, noweb/globals.nw, noweb/o_pin.nw, noweb/o_misc.nw, noweb/o_attrib.nw, noweb/o_complex.nw: Added new hooks. Added new scheme subroutines: - g_add_attrib, which adds an attribute to an object from scheme. - g_get_pin_ends, which returns the ends' coords of a pin. - g_set_attrib_text_properties, which sets all text properties of an attribute. - g_get_object_bounds, which returns a list with the object bounds. - g_get_object_pins, which returns a list with the pins. * scheme/Makefile.am, scheme/auto-place-attribs.scm: Added new functions to autoplace the attributes. * lib/system-gschemrc.in: Modified the system-gschemrc file so gschem adds automatically the default pin attributes when placing a new pin, and also to automatically place the text attributes. * noweb/i_vars.h: Fixed compiler warning. * po/es_ES.po: fixed some strings. 2006-02-25 Carlos Nieves Onega * noweb/o_misc.nw: Set the backup file readonly, so an 'rm *' command will ask the user if he really wants to delete the file. 2006-01-23 Ales Hvezda * po/*: auto* tools update all po files for distribution. * src/Makefile.am (and the toplevel Makefile): Applied build patch by Matthias Wenzel. Thanks. 2006-01-22 Ales Hvezda * autogen.sh, m4/guile.m4, m4/gettext.m4, src/Makefile.am: Removed m4 files since they are installation specifc. Also, all required libraries should be coming from LIBGEDA_LDFLAGS * po/it_IT.po: Updated to the latest version from Michele Petrecca. Thanks. 2006-01-16 Ales Hvezda * configure.ac: Bumped package version to 20060123 * noweb/x_fileselect.nw: Changed button order to be Open/Cancel and Save/Cancel. This is so that the application's dialog boxes are consistent everywhere. * README: Updated for the new year and release. 2006-01-13 Carlos Nieves Onega * po/es_ES.po: Updated the spanish translation. 2006-01-12 Patrick Bernaud * po/fr_FR.po: Updated the French translation. * po/*: Updated and merged i18n files. * noweb/rcstrings.nw: Rebuilt file from latest system-gschemrc. 2006-01-11 Patrick Bernaud * po/fr_FR.po: Updated the French translation. * po/*: Updated and merged i18n files. * noweb/i_callbacks.nw, noweb/o_misc.nw, noweb/o_picture.nw: * noweb/o_text.nw, noweb/x_image.nw, noweb/x_preview.nw: Added missing marks for gettext on log messages. * noweb/x_dialog.nw, noweb/x_menus.nw: * noweb/x_multiattrib.nw, noweb/x_pagesel.nw: Marked strings in structures (popup menus and option menus) for i18n with N_(). * include/globals.h: Introduced macro N_() as short for gettext_noop(). 2006-01-07 Stuart Brorson * autogen.sh, Included "-I m4" into aclocal to pick up macros from local m4 dir. * src/Makefile.am: Added @GUILE_LDFLAGS@ to gschem_LDADD to force pick-up of lguile. 2006-01-07 Patrick Bernaud * po/fr_FR.po: Updated the French translation. * noweb/rcstrings.nw: Updated menu entries for un/embedding components and pictures. 2005-12-17 Carlos Nieves Onega * noweb/o_attrib.nw, noweb/o_text.nw, noweb/x_multiattrib.nw: In x_multiattrib: moved handling of slot attribute after calling o_text_change or o_attrib_add_attrib into those functions. This is just calling o_slot_end after changed or added a slot attribute. This fixes the bug reported by Karel Kulhavy: graphic symbol is not updated when adding a slot attribute using the single attribute editor. Thanks for the bug report. 2005-12-17 Carlos Nieves Onega * noweb/x_attribedit.nw: When mass replacing properties using the add property command, don't delete the old attribute and add a new one: just change the property text, visibility and show proerties, keeping the text location. Bug reported by Karel Kulhavy. Thanks for the bug report. 2005-12-17 Carlos Nieves Onega * include/prototype.h, noweb/x_color.nw, noweb/x_dialog.nw: Changed function x_color_get_name to use dynamic memory allocation. Now it returns a newly allocated string with the colorname. This should fix a bug found by John Doty: the 'ex' command provoked a bus error in gschem under MacOS 10.4.3. Thanks for the bug report. 2005-12-02 Carlos Nieves Onega * noweb/x_preview.nw: Disable the autosave feature in previews. This change, together with some libgeda changes at the same date will fix some gschem crashes reported by David Carr. Thanks David! 2005-11-28 Carlos Nieves Onega * noweb/x_fileselect.nw: Applied minor patch to file selector so the user sees the "Save as" button instead of "Open" when saving the schematic. Thanks to David Carr for noticing it and sending the patch. 2005-11-27 Carlos Nieves Onega * include/prototype.h, noweb/globals.h, noweb/o_misc.nw, noweb/x_fileselect.nw: Now gschems checks if there is an autosave backup file when loading a schematic. If it exists, then gschem asks the user what to do. 2005-11-18 Carlos Nieves Onega * include/prototype.h, lib/system-gschemrc.in, noweb/o_misc.nw, noweb/o_undo.nw: Changed autosave code so the timer callback doesn't do the autosave backups. Now are made within o_undo_savestate, so backups will ONLY be saved when there was a change to the schematic and there was a timeout of the autosave timer. 2005-11-06 Ales Hvezda * noweb/o_pin.nw, o_bus.nw, o_net.nw: Changed the rubber band erase method to properly erase all xor segments properly. * noweb/o_net.nw: Changed the net "L" drawing to prevent the drawing of the secondary net if a connection is made after the primary net is drawn/added. * noweb/i_callbacks.nw: Added missing if test to allow pictures to be unembedded. * lib/system-gschemrc.in: Enabled preview by default when placing components. * lib/system-gschemrc.in, noweb/i_basic.nw: Updated Embed/Unembed menu option to also include pictures 2005-10-30 Ales Hvezda * noweb/x_log.nw: Added an if to prevent a core dump if the log file cannot be opened. Bug reported by John Luciani. * configure.ac: Removed check for gtk+ 2.6.x or greater since gtk+ already provides this information. 2005-10-29 Carlos Nieves Onega * include/i_vars.h, include/prototype.h, lib/system-gschemrc.in, noweb/g_rc.nw, noweb/g_register.nw, noweb/i_vars.nw, noweb/o_undo.nw: Added support for backup copies and autosaving every "interval" seconds (configurable through system-gschemrc). 2005-10-23 Carlos Nieves Onega * include/prototype.h, noweb/x_fileselect.nw, noweb/x_preview.nw: Removed a conditional #if in x_preview_setup. It was introduced in my last changes. x_preview_setup should create the drawing_area. Otherwise, it will segfault when adding a new component. Added check at the beginning of x_fileselect_setup to use the old function when adding a new component, before doing anything else. 2005-10-17 Carlos Nieves Onega * include/prototype.h, noweb/x_fileselect.nw, noweb/x_preview.nw: Updated file load/save window using GTK widgets. File preview is missing yet. 2005-10-15 Ales Hvezda * noweb/x_image.nw: Added some code to make sure non-default sized image are correctly created. Added code to convert pixbufs to greyscale to implement the image-color rc keyword. * configure.ac: Added check for gtk+ 2.6.x or greater to support some future additions. 2005-10-15 Carlos Nieves Onega * noweb/x_image.nw: Remove the grid when exporting to PNG. Reorganize and comment some code. Remove text origin markers when exporting to PNG. 2005-10-15 Carlos Nieves Onega * noweb/prototype.h, noweb/i_callbacks.nw, noweb/x_image.nw: Added code to export the schematic to PNG, including pictures, without using libgdgeda. 2005-10-09 Ales Hvezda * examples/gEDA_Flow.sch: Added simple PCB design flow diagram drawn by Stuart. 2005-10-05 Werner Hoch * noweb/o_net.nw: added the patch from David Carr. when drawing a net, there will be two segments in an L-shape. the shift-key changes the drawing path. 2005-10-04 Werner Hoch * noweb/x_dialog.nw: removed gettext makro from a programm string 2005-09-30 Carlos Nieves Onega * noweb/o_misc.nw, noweb/i_callbacks.nw: Added code to embed/unembed pictures. 2005-09-30 Carlos Nieves Onega * noweb/i_basic.nw: Added missing check. 2005-09-30 Carlos Nieves Onega * noweb/i_basic.nw: Fixed memory leak which maked gschem to segfault when adding pictures. Undid the last patch made by Dan (a NULL string is not the same as a "" string, so it maked gschem segfault), and changed the g_strdup_printf("") to g_strdup(""). This fixes the compiler warning Dan wanted to fix. 2005-09-27 18:38 Dan McMahill * docs/gschemdoc.texi: add title to remove warnings 2005-09-27 18:36 Dan McMahill * noweb/: i_basic.nw, o_misc.nw: remove various compiler warnings 2005-09-09 08:05 Dan McMahill * noweb/x_dialog.nw: don't declare variables in the middle of functions. Not all compilers like that. 2005-09-05 Ales Hvezda * noweb/x_image.nw: Applied patch by Michael Hanselmann which makes sure that proportions are preserved when exporting a schematic to a PNG file. Thanks for the bug fix. * po/it_IT.po: Updated the Italian translation by Petrecca Michele. 2005-08-20 Ales Hvezda * po/it_IT.po: Updated the Italian translation by Petrecca Michele. 2005-08-19 Ales Hvezda * noweb/o_text.nw, x_dialog.nw: Applied Matthias Wenzel's color and usability patch. Thanks. The Edit/Color... dialog now makes the selected object's color the default color in the dialog box and the Edit/Text Edit... dialog box has the color selector. * noweb/x_event.nw: Fixed a long standing crash that if you disable the scrollbars and tried to scroll with a wheel button, gschem will crash. You cannot disable the scrollbars and still scroll with the wheel. This is an unfortunate effect of how the scroll wheel code is implemented (it needs the scrollbars to exist). * configure.ac: Bumped the package version to 20050820 which will be a real snapshot. 2005-08-14 Ales Hvezda * noweb/g_rc.nw, g_register.nw, i_vars.nw: Added g_rc_grid_fixed_threshold, g_rc_grid_mode and g_rc_add_attribute_offset (which isn't used yet) * noweb/x_grid.nw: Added implmentation for fixed grid mode and threshold (control by grid-mode and grid-fixed-threshold keywords). * configure.ac: Updated package version to 20050814. This is a temporary version and not a real release number. 2005-08-04 22:49 Dan McMahill * include/globals.h, noweb/globals.nw, noweb/parsecmd.nw, noweb/x_log.nw, noweb/x_window.nw: add a new commandline option '-p' which automatically places the main gschem window and the gschem log window at startup time rather than letting the window manager figure out what to do. This is useful when doing batch processing of schematics and you want to call gschem several times with no manual interaction. 2005-06-26 Ales Hvezda * include/globals.h, noweb/global.c: Removed a completely bogus extern declaration and variable. Reported by Wojciech Kazubski. Thanks. 2005-06-17 Ales Hvezda * noweb/i_vars.nw, x_window.nw: Fixed a long standing bug found in the OSX which prevented the full world space to used. Basically a variable was defined twice, once in libgeda and once in gschem. Apparently OSX behaves very differently when this happens (the two variables are different while other platforms didn't complain but the "right" thing happened). This bug was created when the rc code was refactored. 2005-03-13 Ales Hvezda * configure.ac: Removed all tests for gtk+ 1.2.x and fixed error message if gtk+ 2.2.x is not found. 2005-03-12 Ales Hvezda * po/nl_NL.po: Checked in updated Dutch translation from Bert Timmerman. Thanks Bert. * po/nl_NL.po: Also converted file to UTF-8, even though there was no conversion necessary. This is to be consistent with the other translations. 2005-03-12 Carlos Nieves Onega * po/es_ES.po: updated spanish translation. 2005-03-10 Patrick Bernaud * noweb/x_multiattrib.nw: Made it close the dialog on a key press of Escape. 2005-03-09 Werner Hoch * po/de_DE.po: updated translation * noweb/x_dialog.nw: added refdes=U to the list, removed gettext brackets 2005-03-08 Ales Hvezda * configure.ac: Bumped version to 20050313 * po/POTFILES.in: For some odd reason, the list of files in this file was really out of date, so updated it. * Ran make dist to update geda-gschem.pot * noweb/x_fileselect.nw: Fixed uninitialized variable warning 2005-03-05 Werner Hoch * noweb/o_misc.nw: added error handling for missing source pages * noweb/x_dialog.nw: swapped apply and close button position 2005-03-06 Ales Hvezda * tests/Makefile.am: Added missing files to EXTRA_DIST * lib/system-gschemrc.in: Fixed hotkey for Autonumber Text... dialog box to be unique (so it will even work; hasn't worked since 01/2001). * noweb/gschem.c: Fixed code to allow user to specify absolute filenames on the command line again. * tests/agile-vfo-block_1.sch: Moved schematic into test directory since it's out-of-date. 2005-03-05 Werner Hoch * noweb/x_dialog.nw: changed the autonumber_text dialog * noweb/o_misc.nw: changed functions which support the autonumber dialog 2005-03-05 Carlos Nieves Onega * noweb/gschem.nw: Removing call to o_text_init, since it's now called in libgeda_init. 2005-02-28 Carlos Nieves Onega * po/es_ES.po: updated spanish translation. 2005-02-28 Patrick Bernaud * scripts/notangle_guile.in: Improved script with changes suggested by Thien-Thi Nguyen. * noweb/x_multiattrib.nw (multiattrib_callback_edited_name) (multiattrib_callback_edited_value): Added code to check for changes in a slot attribute. * noweb/x_log.nw (x_log_open): Fixed to actually raise the dialog. 2005-02-27 Patrick Bernaud * noweb/i_callbacks.nw (i_callback_hierarchy_down_symbol): Changed to exclude embedded symbols from the hierarchy feature. * noweb/x_multiattrib.nw: Modified dialog to make it possible to set multi-line values at adding of attributes. Changed the behavior of the value column to stop edition when hitting the Enter key: for a new line, use Ctrl+Enter. 2005-02-26 Patrick Bernaud * noweb/x_multiattrib.nw (x_multiattrib_open): Fixed bug #153 (first reported by Ales): added missing reset of toplevel's state at closing of dialog. Created a new CellRenderer for multi-line cells. It is used by the column 'value' of the attributes list. (multiattrib_callback_edited_name): Added a check on the future attribute's name: reject empty names and issue a message. 2005-02-25 Werner Hoch * noweb/o_misc.nw: fixed autonumber_text 2005-02-24 Patrick Bernaud * noweb/x_multiattrib.nw: Removed unused variables and fixed a couple of gcc warnings. * noweb/g_funcs.nw (hash_table_2_list): Replaced deprecated guile functions with their equivalents in the new scm interface. * scripts/notangle_guile.in: New version. * configure.ac, scripts/Makefile.am: Adapted for renaming of script. * scripts/notangle_guile.scm.in: Renamed to notangle_guile.in. 2005-02-22 Patrick Bernaud * noweb/x_log.nw: Fixed to work with GTK 2.2. 2005-02-21 Patrick Bernaud * noweb/o_misc.nw (o_edit): Adapted for new dialog. * include/x_multiattrib.h: New file for the new x_multiattrib.nw. * noweb/x_multiattrib.nw: Modified the dialog to remove deprecated widgets and enable edition of attributes directly from the list. * noweb/x_pagesel.nw: Added a context-sensitive menu to the list of pages and a label below for information. 2005-02-21 04:11 Dan McMahill * noweb/x_fileselect.nw: remove unused variable 2005-02-21 04:10 Dan McMahill * noweb/x_log.nw: add a missing GTK_TEXT_VIEW () 2005-02-21 04:06 Dan McMahill * noweb/x_pagesel.nw: specify return type for some static functions 2005-02-21 03:58 Dan McMahill * autogen.sh: avoid using the '-path' primary to find(1) as it's an extension to posix.2 and is not supported on some operating systems such as solaris. Now we can autogen.sh on solaris 9. 2005-02-21 03:07 Dan McMahill * noweb/o_text.nw: fix some format string/type mismatch bugs 2005-02-21 03:07 Dan McMahill * noweb/g_rc.nw: comment out some unused variables which are part of commented out code 2005-02-15 Ales Hvezda * noweb/x_log.nw: Added code to scroll to the end of the text buffer when the log window is opened up. * noweb/i_callbacks.nw: Added implementation for the add_picture_hotkey callback. * lib/system-gschemrc.in: Added hotkey assignment "ag" to Add/Picture... and move the new item to the bottom of the menu list. * noweb/x_menu.nw: Applied part of a patch from Patrick Ammann to add "Add/..." in front of some of the commands in the popup menu. 2005-02-20 Patrick Bernaud * noweb/i_callbacks.nw, noweb/gschem.nw: Adapted for new logging system. * include/x_log.h: New header file for new x_log.nw. * noweb/x_log.nw: Cleaned-up. 2005-02-19 Carlos Nieves Onega * bitmap/Makefile.am, bitmap/README: Added new file gschem-warning.png. * include/prototype.h, include/x_states.h, lib/system-gschemrc.in, noweb/Makefile.am, noweb/g_keys.nw, noweb/g_register.nw, noweb/globals.nw, noweb/i_basic.nw, noweb/i_callbacks.nw, noweb/o_basic.nw, noweb/o_complex.nw, noweb/o_copy.nw, noweb/o_delete.nw, noweb/o_grips.nw, noweb/o_misc.nw, noweb/o_move.nw, noweb/o_picture.nw, noweb/rcstrings.nw, noweb/x_event.nw, src/Makefile.am: Added picture support. 2005-02-15 Ales Hvezda * po/fr_FR.po, LINGUAS: Added French translation by Iznogood. 2005-02-14 22:29 Dan McMahill * noweb/x_preview.nw: add missing header file needed for chdir() 2005-02-13 Patrick Bernaud * noweb/g_keys.nw (g_get_selected_component_attributes): Adapted for new prototype of get_selected_component_attributes. (g_get_selected_filename): Adapted for new prototype of get_selected_filename; * noweb/g_funcs.nw (get_selected_component_attributes): Rewritten to use a GLib hash table instead of the libgeda s_scratch code. Also reduced number of parameters. (get_selected_filename): Reduced number of parameters. 2005-02-13 Carlos Nieves Onega * po/es_ES.po, po/LINGUAS: Added first version of spanish translation. 2005-02-13 Carlos Nieves Onega * include/prototype.h, noweb/x_pagesel.nw: Commented out the code defining the "Discard page" button, so it doesn't appear in the page manager. Added new function "e_gtk_button_new_with_icon" which allows to create a button with a given text, and an icon from the GTK stock. Which is the right file to include such a generic function? If texts like "Add page" are preferred in the buttons, then there is only needed to comment a line, and uncomment another. See the code of pagesel_init pagesel function. 2005-02-12 Carlos Nieves Onega * noweb/x_attribedit.nw, noweb/x_dialog.nw, noweb/x_fileselect.nw, noweb/x_image.nw, noweb/x_log.nw, noweb/x_multiattrib.nw, noweb/x_print.nw, noweb/x_pagesel.nw: Beautify buttons (use GTK stock). 2005-02-11 Patrick Bernaud * noweb/gschem.nw, noweb/i_callbacks.nw, noweb/o_undo.nw: * noweb/x_fileselect.nw, noweb/x_window.nw: Changed for new page manager. * include/x_pagesel.h: New header file for new page manager. * noweb/x_pagesel.nw: New page manager in GTK 2.x with hierarchy display. * noweb/i_callbacks.nw, noweb/o_undo.nw, noweb/x_fileselect.nw: * noweb/x_image.nw, noweb/x_preview.nw: Adapted for new toplevel and page APIs in libgeda. * noweb/x_window.nw: Refactored to avoid duplication of code with libgeda. 2005-02-08 22:28 Dan McMahill * noweb/g_register.nw: replace deprecated guile functions with approved guile-1.6.6 ones 2005-02-04 Patrick Bernaud * noweb/*.nw: Made it use GLib's G_DIR_SEPARATOR* instead of libgeda's *_SEPARATER_*. Replaced u_basic_strdup() and u_basic_strdup_multiple() by GLib functions. 2005-02-04 04:39 danmc * configure.ac, noweb/a_pan.nw, noweb/a_zoom.nw, noweb/g_funcs.nw, noweb/g_hook.nw, noweb/g_keys.nw, noweb/g_rc.nw, noweb/g_register.nw, noweb/globals.nw, noweb/gschem.nw, noweb/i_basic.nw, noweb/i_callbacks.nw, noweb/i_vars.nw, noweb/o_arc.nw, noweb/o_attrib.nw, noweb/o_basic.nw, noweb/o_box.nw, noweb/o_buffer.nw, noweb/o_bus.nw, noweb/o_circle.nw, noweb/o_complex.nw, noweb/o_copy.nw, noweb/o_cue.nw, noweb/o_delete.nw, noweb/o_find.nw, noweb/o_grips.nw, noweb/o_line.nw, noweb/o_misc.nw, noweb/o_move.nw, noweb/o_net.nw, noweb/o_pin.nw, noweb/o_select.nw, noweb/o_slot.nw, noweb/o_text.nw, noweb/o_undo.nw, noweb/parsecmd.nw, noweb/x_attribedit.nw, noweb/x_basic.nw, noweb/x_color.nw, noweb/x_dialog.nw, noweb/x_event.nw, noweb/x_fileselect.nw, noweb/x_grid.nw, noweb/x_image.nw, noweb/x_log.nw, noweb/x_menus.nw, noweb/x_multiattrib.nw, noweb/x_pagesel.nw, noweb/x_preview.nw, noweb/x_print.nw, noweb/x_script.nw, noweb/x_stroke.nw, noweb/x_window.nw: - add dmalloc debugging support, enabled by --enable-dmalloc - add Electric Fence debugging support, enabled by --enable-efence Both are off by default 2005-02-03 23:04 danmc * include/prototype.h, noweb/o_misc.nw, noweb/o_net.nw, noweb/x_attribedit.nw, noweb/x_fileselect.nw, noweb/x_image.nw, noweb/x_print.nw, noweb/x_script.nw: - lots of clean up of 'const' usage. Seems to have squished all gcc warnings around const. Mostly this involved adding lots of missing const's. - also add a few missing prototypes and header files. - fix call to realpath (it was being given a pointer to a pointer rather than a pointer). 2005-02-01 Patrick Bernaud * noweb/*.nw: Switched to the new scm interface of guile. 2005-01-29 Patrick Bernaud * noweb/gschem.nw, noweb/o_misc.nw: * noweb/o_net.nw, noweb/x_fileselect.nw: Adapted for new component library code. 2005-01-28 Stuart Brorson * noweb/x_preview.nw: Incorporated patch from Patrick Bernaud. 2005-01-27 Stuart Brorson * include/prototype.h, noweb/gschem.nw, noweb/i_callbacks.nw, noweb/x_fileselect.nw, noweb/x_preview.nw, noweb/x_window.nw: Changes made to enable correct opening of schematics in foreign directories. New algorithm: 1. Take the filename the user wants to open. 2. Turn it into an absolute path, like /foo/bar/baz.sch 3. From the path, figure out the directory, /foo/bar 4. From this, create the absolute path to the local gafrc, /foo/bar/gafrc. 5. cd to /foo/bar 6. read /foo/bar/gafrc while sitting in the directory /foo/bar. This takes care of all the guile search path problems, like when people put things like (component-library "../common/symlib") or some such into their RC files. 7. After that, read the file itself. 8. Leave the directory set to this directory. 2005-01-23 Ales Hvezda * tests/missing.sch, Makefile.am: Added test schematic to test missing component rendering. * tests/symversion3.sch: Added components which have no attributes (one in the middle of the file and one at the end). This tests a but which has been fixed in libgeda dealing with symversion= handling. 2005-01-23 Patrick Bernaud * noweb/x_fileselect.nw (x_fileselect_comp_fill_components): Removed the duplicate message of failure to open directory. It also fix the problem reported by Bob Paddock. 2005-01-22 Ales Hvezda * noweb/o_attrib.nw, o_buffer.nw, o_bus.nw, o_complex.nw, o_copy.nw, o_cue.nw, o_delete.nw, o_misc.nw, o_move.nw, o_net.nw, x_attribedit.nw: Added code to make OBJ_PLACEHOLDER a first class object/citizen (it is rendered and can be manipulated to some degree in gschem) 2005-01-16 Stuart Brorson * noweb/i_basic.nw, noweb/x_menus.nw: incorporated right mouse button bring-up of "up hierarchy", as requested. 2005-01-15 Stuart Brorson * noweb/(gschem.nw, i_basic.nw, x_event.nw, x_menus.nw, w_window.nw): Various changes made to enable right-button- mouse bring up of hierarchy menus. Made hierarchy menus grey out when no components are selected. * noweb/x_log.nw, include/prototype.h: changed x_log_init to take const char as arg since it's always called with a quoted string. 2005-01-14 Handsome Greg * noweb/g_keys.nw: Replaced all g_key_ functions with g_keys_X and changed associated makefile generation scripts and docs to reflect this change. (fixes Gtk/Glib-2.6.0). Applied by Ales, the following files changed: M include/prototype.h M docs/gschemdoc.texi M src/Makefile.am M docs/Makefile.am M noweb/Makefile.am A noweb/g_keys.nw R noweb/g_key.nw M noweb/g_register.nw M noweb/x_event.nw 2005-01-08 Stuart Brorson * noweb/x_multiattrib.nw: Added symbol name to items displayed in multiattrib dialog box. 2005-01-07 Patrick Bernaud * noweb/x_fileselect.nw (x_fileselect_comp_fill_components) (x_fileselect_search_library): Updated for the new s_clib_getfiles() that fixes file number limitation. * noweb/i_callbacks.nw (i_callback_edit_embed, i_callback_edit_unembed): Updated for new o_embed() and o_unembed(). * noweb/o_misc.nw (o_embed, o_unembed): Cleaned-up code, changed prototype to take a single object and make it issue a message to log when done. * noweb/i_callbacks.nw (i_callback_edit_filltype): Modified to create a list of relevant objects that is passed to fill_type_dialog. * noweb/x_dialog.nw (fill_type_dialog*): Rewrote code for this dialog to work one more than a single object (on the model of line_type_dialog). * noweb/o_misc.nw (o_update_component): Added initialization of attribute list and a redraw for each new attribute object. 2005-01-04 Stuart Broson * lib/system-gschemrc: Changed system-commonrc to system-gafrc. 2005-01-04 Ales Hvezda * include/i_vars.h, prototype.h, noweb/g_rc.nw, g_register.nw, i_vars.nw, lib/system-gschemrc.in: Added a new keyword "output-vector-threshold" which controls the minimum number lines (in a multi-line text object) that are output using the postscript font. If the threshold (in number of lines) is exceeded then the multi-line text item is output using the vector font. 2005-01-04 Patrick Bernaud * noweb/i_callbacks.nw (i_callback_edit_linetype): Modified to create a list of relevant objects that is passed to line_type_dialog. * noweb/x_dialog.nw (line_type_dialog*): Rewrote most of the code for the line type dialog. Now it applies to more than a single object. * noweb/i_callbacks.nw (i_callback_edit_update): Adapted for the new o_update_component(). * noweb/o_misc.nw (o_update_component): Rewritten function to avoid duplication of attributes when updating. Prototype change to take a single object as second argument. 2004-12-28 Ales Hvezda * po/it_IT.po: Added the Italian translation by Petrecca Michele. Thanks! * noweb/o_misc.nw: Fixed one possible cause for a crash when updating components. Also started adding the other two requested modes of update component (delete and intelligent replace). These two other modes are not functional yet. * noweb/x_grid.nw, i_vars.nw, g_rc.nw, g_register.nw, lib/system-gschemrc.in: Added the ability to adjust the grid dot size via the "grid-dot-size" rc keyword. 2004-12-27 Ales Hvezda * configure.ac: Updated version to 20041228 2004-10-27 Ales Hvezda * lib/system-gschemrc.in: Added comment to attribute list. 2004-07-06 Ales Hvezda * tests/versionsym1.sch versionsym2.sch versionsym3.sch versionsym_basic.sym versionsym_invalid.sym versionsym_major.sym versionsym_minor.sym versionsym_minor2.sym: Added a bunch of test schematic for the symversion attribute * tests/gafrc: Added the first global rc file for all gaf tools. * lib/system-gschemrc.in: Added symversion= to the attribute list keyword. * noweb/gschem.nw: Added call to put up an error dialog box if there are symbols which have changed too much. * noweb/x_window.nw: Added code to free up the list of changed refdes (symbols which have changed too much are put into a list which the major changed dialog displays). * noweb/x_dialog.nw: Added code to implement the symbol has "changed majorly" dialog box. * noweb/x_dialog.nw: Added some code to make the new dialog box work with gtk+ 1.2.x. * noweb/i_callbacks.nw: Added a question dialog box when reverting a page. I lost several schematics because I accidentally hit page revert (you cannot undo a page revert). This dialog box is only implemented for gtk+ 2.2.x * tests/versionsym*.sch: Minor updates 2004-07-03 Ales Hvezda * configure.ac: spelling and grammar fixes * include/Makefile.am, include/papersizes.h: Moved papersizes.h into libgeda and fixed makefile for this change. * noweb/*.nw: Removed reference to papersizes.h include file (now inside of libgeda). * include/i_vars.h, prototype.h, noweb/g_rc.nw, g_register.nw, gschem.nw, i_vars.nw: Removed a whole bunch of rc related code. The removed code was moved into libgeda. * noweb/g_rc.nw: Added g_rc_parse_gtkrc() as a special parse routine for gschem only. * configure.ac: Updated version to 20040710 2004-05-31 Ales Hvezda * lib/system-gschemrc.in: Removed a false comment from the comment block around sort-components-library. Pointed out by Andreas Fester. * noweb/gschem.nw: Added an #ifdef HAS_GTK22 around the call to gtk_disable_locale call, since it is gtk+ 2.2.x specific. * include/prototype.h noweb/x_event.nw noweb/x_window.nw: Applied scrolled wheel patch by Sascha Silbe. Thanks! * noweb/x_event.nw, x_window.nw: Added #ifdef HAS_GTK22 since these functions used are gtk+ 2.2.x specific. Also added some code that if you hold down the control key and scroll in the vertical direction, you will pan left or right. This is for people who don't have two scroll wheels. 2004-05-23 Ales Hvezda * noweb/gschem.nw: Applied patch (with additional comments) to fix gtk's desire to override LC_NUMERIC which breaks the postscript output (by changing periods to commas). Original fix by Bill Wilson, patch by Andreas Fester. Thanks. 2004-01-17 Ales Hvezda * noweb/x_fileselect.nw: Moved the component option combo menu into the vbox to fix the garbage which people have been seeing. Turns out that if the combomenu is in the searchbox, then the preview drawing area gets resized which is not permited (otherwise you get garbage). Pointed out and fixed by Carlos. Thanks. * noweb/x_preview.nw: Removed the gtk+ 1.2.x hack, because the above fixed it for both gtk+ 1.2.x and 2.2.x. * config.h.in: Remove machine generated file. 2004-01-11 Ales Hvezda * noweb/gschem.nw: Added a call to the scrollbar update code to fix the "scrollbars are wrong on startup" bug. * configure.ac: Updated version to 20040111 * noweb/i_basic.nw o_slot.nw o_text.nw x_fileselect.nw x_image.nw: Fixed most -Wall warnings 2004-01-10 Ales Hvezda * tests/multiline3.sch: Added another test schematic for the multiline code (mainly for PS testing) 2004-01-04 Ales Hvezda * tests/ext_chars.sch: Added all the new spanish characters by Carlos to the test schematic. * docs/gschem.1: Spent a little time fixing up the man page. * examples/*.sch: Updated most schematics to the last file format version. 2004-01-01 Ales Hvezda * noweb/x_preview.nw: Set the size of all preview windows to the minimum of 160x136. Even though this does not have the right aspect ratio, it does get rid of some garbage that was showing up when using gtk+ 1.2.x. gtk+ 1.2.x was ignoring my specification of 160x120 and instead setting the window size to 160x136. This change is only for gtk+ 1.2.x, gtk+ 2.2.x uses 160x120 and allows this size. * configure.ac: Added --with-docdir command line flag as well all the code to support installing documentation. Also added a prog check for groff. * docs/Makefile.am: Added commands to generate an html version of the man page. This html man page gets installed into the documentation directory. * docs/gschem.1: Minor updates and fixes. * noweb/x_window.nw: Fixed a very long standing bug identified by Karel Kulhav which deals with opening up a schematic, then a new window and then opening a new schematic or closing the new window. The bug was that the wrong window will get the open or close event. The fix was to change enter_notify event to be the main window and not the drawing_area. Thanks for the bug report Karel. 2003-12-31 Ales Hvezda * noweb/x_multiattrib.nw: Moved some code around to fix a memory leak. * include/prototype.h: Added missing function prototype. * tests/attributes.sch: Added test schematic specifically for all the different types of valid/invalid attributes. * configure.ac: Bumped version to 20031231 * m4/Makefile.am: Added some missing *.m4 files to EXTRA_DIST. 2003-12-30 Ales Hvezda * noweb/o_text.nw: Fixed the quick text rectangle to be the right size using the new displayed_width and displayed_height variables in the st_text structure. * noweb/o_text.nw: Refactored the quick text rectangle rendering code into its own function. Added some #if 0'ed code in prep for a future performance enhancement. * noweb/x_log.nw: Further refined the appearance of the log/status dialog box. * noweb/x_fileselect.nw: Integrated Stuart's multiple select/open code changes. Thanks Stuart. You can now pick multiple files from the file list and they will all be opened. Use the shift and control keys to pick the individual files. 2003-12-29 Ales Hvezda * po/pt_BR.po: Replaced file by new UTF-8 version provided by Antonio. * noweb/x_multiattrib.nw: Applied a patch by Carlos to add multi line attribute editing. This work should also be ported to the single attribute add/edit dialog box. * noweb/x_multiattrib.nw: Improved the appearance of the new GtkTextView by placing it into a GtkViewport which provides a nice border. Not sure this is the most correct way of doing this, but it does work. * noweb/x_dialog.nw: Applied the same appearance fix to the add text and edit text dialog box. Put some white space around the edit text dialog box to make it look a little better. The edit text dialog box needs a major overhaul. * noweb/x_log.nw: Also added a viewport to the log/status dialog box. Changed the large close button to an edge aligned button and increased the size of the log/status dialog box. * noweb/x_print.nw, x_attribedit.nw: Various appearance improvements. * noweb/x_dialog.nw: Added border space to almost all most dialog boxes. They look a little better now. * tests/multiline.sch, multiline2.sch: Added and improved these test schematics to test the postscript printing code. 2003-12-22 Ales Hvezda * ABOUT-NLS: Removed machine generated file from CVS * po/.cvsignore, intl/.cvsignore: Updated files with new files from gettext 0.12.1 * configure.ac: Updated to gettext 0.12.1 2003-11-27 Ales Hvezda * noweb/x_menus.nw: Fixed the alignment of the hotkeys in the pull down menus to be mostly correct when using gtk+ 2.2.x. This involved using Pango. * noweb/x_menus.nw: Removed some old dead code. 2003-11-09 Ales Hvezda * config.guess config.rpath config.sub depcomp install-sh missing mkinstalldirs: Removed machine generated files from cvs. * Makefile.am: Added above files to maintainer-clean target * autogen.sh: Added script to generate all the auto* files. 2003-10-22 Ales Hvezda * noweb/gschem.nw: Fixed missing #include . Pointed out by Karel Kulhav. * noweb/x_dialog.nw: Applied Carlos' patch to fix the text alignment dialog box so that it show the correct item in the options menu. 2003-10-19 Ales Hvezda * include/i_vars.h, include/prototype.h, noweb/g_funcs.nw, noweb/g_rc.nw, noweb/g_register.nw, noweb/i_vars.nw, noweb/x_image.nw, scripts/image.scm: Added the ability to generate images (png) of schematics from the command line: gschem -o test.png -s image.scm filename.sch * noweb/g_rc.nw: Added rc keyword: (image-size width height) * noweb/g_funcs.nw: Added new gschem command: gschem-image which outputs a png to a file. * noweb/g_key.nw, g_rc.nw, gschem.nw, i_basic.nw, o_misc.nw, o_net.nw, o_slot.nw, o_text.nw, o_undo.nw, x_attribedit.nw, x_dialog.nw, x_fileselect.nw, x_grid.nw, x_image.nw, x_menus.nw, x_multiattrib.nw, x_print.nw, x_stroke.nw, x_window.nw: Applied Carlos Nieves Onega's multi-line text patch. Thank you Carlos! The next items are the all changes from Carlos' patch and my integration changes. The changes happened over a period of a few weeks, but were checked in on the above date. * noweb/g_key.nw: Removed a couple fixed sized character buffers. * noweb/g_key.nw: Rearranged g_key_execute() to avoid a possible memory leak. Removed some ancient code. * noweb/g_rc.nw: Added the word "optional" to the ~/.gEDA/gschemrc and local gschemrc warning message if these files are not found. Added "required" to the system-gschemrc message. * noweb/gschem.nw: Fixed memory leak due to default_bus_ripper_symname not being freed on exit. * noweb/gschem.nw: Removed a fixed size character buffer. * noweb/i_basic.nw: Removed a few fixed size character buffers. Fixed a possible core dump. * noweb/o_misc.nw: Fixed the attribute edit detection code to only start the attribute editor for one line text attributes. * noweb/o_misc.nw: Fixed up references to o_text_height (takes string and does not take w_current anymore). * noweb/o_misc.nw: Removed fixed size character buffer. * noweb/o_net.nw: Removed fixed size character buffer. * noweb/o_slot.nw: Fixed up a call to o_attrib_get_name_value to use the new function signature. * noweb/o_slot.nw x_multiattrib.nw x_attribedit.nw: Added some checks to make sure valid pointers are freed (everywhere o_attrib_get_name_value) is called. * noweb/o_text.nw: Changed the quick text drawing code to draw a rectangle instead of a single line now that text can be multiple lines long. * noweb/o_text.nw: Fixed a minor typo (was outline_xor_gc instead of just gc). * noweb/o_undo.nw: Removed fixed size character buffer. * noweb/x_attribedit.nw: Fixed up a few of calls to o_attrib_get_name_value to use the new function signature. Also initalized two pointers to null, so they wouldn't be attempted to be freed. * noweb/x_dialog.nw: Added select_all_text_in_textview and text_view_calculate_real_tab_width utillity functions. * noweb/x_dialog.nw: Converted the text_input_dialog and text_edit_dialog boxes to use the new gtk+ 2.2.x GtkText API to provide a way of entering multiple lines of text. This is only available when using gtk+ 2.2.x. The old single line interface is still there for users of gtk+ 1.2.x. * noweb/x_dialog.nw: Remove a fixed size character buffer in the alignment menu, linetype menu, line type dialog box, fill type menu, fill type dialog box, text size dialog box, snap size dialog box, about dialog box, coord update dialog box, and color menu. * noweb/x_dialog.nw: Moved a few activate signal connects to GTK1.2 only #ifdef sections. This fixes a warning when using gtk+ 2.2.x. * noweb/x_dialog.nw: Fixed a warning from gtk+ 1.2.x where a non scrolled widget (text entry) was being added to a scrolled window. Fixed by making the scrolled window for text input and text edit dialog boxes specific to gtk+ 2.2.x. * noweb/x_image.nw: Removed fixed size character buffer in image write size menu. * noweb/x_menus.nw: Removed fixed size character buffer in guile menu execute function (g_menu_execute), and get main menu function (get_main_menu). * noweb/x_multiattrib.nw: Fixed up a call to o_attrib_get_name_value to use the new function signature. * noweb/x_multiattrib.nw: Fixed a core dump in a free call. If a component with no attribute was edited, the text array would never be allocated, but an attempt would be made to free it. Moved free code to the right spot. * noweb/x_multiattrib.nw: Removed two printfs * noweb/x_print.nw: Removed fixed size character buffer in orientation menu and type menu. * noweb/x_stroke.nw: Removed fixed size character buffer in x_stroke_search_execute (stroke execute function). * noweb/x_window.nw: Added casts around gtk+ toolbar functions. * examples/*.sch: Updated all example schematics * noweb/x_attribedit.nw, noweb/x_dialog.nw, noweb/o_grips.nw, noweb/x_multiattrib.nw, noweb/o_misc.nw, noweb/o_text.nw: Removed all // comments (replaced with proper C comments) * tests/multiline.sch: Added new test schematic. 2003-10-18 Ales Hvezda * configure.ac: Updated version to something more recent, but this version is not an official release. 2003-10-11 Ales Hvezda * include/prototype.h: Added #ifdef HAS_GTK22 around gtk+ 2.2.x specific functions. This means the prototype file is no longer machine generated. * noweb/x_dialog.nw: Added some more #ifdef HAS_GTK22 around gtk+ 2.2.x specific functions. 2003-10-04 Ales Hvezda * configure.ac: Updated version to something more recent, but this version is not an official release. 2003-09-27 Ales Hvezda * tests/*.sch: Added a few new test schematics * noweb/x_print.nw: Changed the print dialog box so that it closes when the print button is pressed. * noweb/x_log.nw: Under gtk+ 2.2.x, change log window to scroll to the end when a new message is displayed. This is the same behavior that was the default under gtk+ 1.2.x 2003-09-21 Ales Hvezda * noweb/i_callbacks.nw: Minor log message tweak * configure.ac: Added --with-stroke configure command line option so that users can tell the mechanism where to find libstroke. 2003-09-20 Ales Hvezda * configure.ac: Fixed MinGW cflags/ldflags * auto* files: Updated to autoconf 2.57 and automake 1.7.6 * noweb/i_callbacks.nw: Disabled the use of gschemdoc under MinGW * noweb/gschem.nw: Added a call to bind_textdomain_codeset to fix the i18n support when using gtk+ 2.2.x * src/Makefile.am: Added -I and -l for libintl when using the supplied libintl library. 2003-08-31 Ales Hvezda * configure.ac: Changed AC_CONFIG_HEADER to AM_CONFIG_HEADER * noweb/x_dialog.nw: Rewrote the exit dialog box to look better under gtk+ 2.2.x and 1.2.x * configure.ac: Removed the use of GUILE_PROGS as it is not part of guile 1.4. Put in a manual check for guile-config. * examples/*.sch: Updated schematics to 20030901 2003-08-24 Ales Hvezda * noweb/x_multiattrib.nw: Oops wasn't return true or false in the keypress routine, so no input was going to the entries. Fixed. * noweb/x_attribedit.nw, x_dialog.nw, x_fileselect.nw, x_image.nw x_log.nw, x_menus.nw, x_multiattrib.nw, x_pagesel.nw, x_print.nw, x_window.nw: Add #ifdef HAS_GTK?2 depending on the gtk version so that the code base builds for both gtk+ 1.2.x and 2.2.x. * noweb/g_rc.nw, gschem.nw, x_event.nw, x_window.nw: Changed a few #if ... to #ifdef ... * noweb/x_attribedit.nw: Improved the looks of the bottom buttons in gtk+ 2.2.x while preserving the 1.2.x look. 2003-08-23 Ales Hvezda * include/prototype.h, noweb/x_multiattrib.nw: Applied Carlos Nieves O'nega's multi attribute add/change patch. Thanks! * examples/cmos-invert.sch: Minor tweak * src/parsecmd.c: Cleaned up help message a little. * docs/gschem.1: Updated manpage a little 2003-07-20 Ales Hvezda * configure.ac: Renamed from configure.in. * configure.ac: A whole bunch of changes to support both gtk+-1.2.x and gtk+-2.2.x. * configure.ac: Lots of cleanup and moved to the use of pkg-config for the configuration of almost all libraries (most importantly libgeda). * *.in, *.h, etc: Removed a bunch of old unneeded auto* files. 2003-05-25 Ales Hvezda * noweb/i_basic.nw: Removed unused variable * noweb/o_slot.nw: Changed a include from strings.h to string.h 2003-05-22 Ales Hvezda * configure.in: Updated version * examples/*.sch: Updated to latest version 2003-04-27 Ales Hvezda * po/pt_BR.po: Added update translation from Antonio. 2003-04-15 Ales Hvezda * configure.in, noweb/Makefile.am: Removed x_multimulti.nw from the build and removed the dependancy on gtk+extra (also removed references to this file in the docs/ directory) * noweb/x_multimulti.nw: Removed file from CVS 2003-04-06 Ales Hvezda * noweb/g_rc.nw, g_register.nw: Added reset-component-library and reset-source-library rc keywords. These empty the component/source libraries when executed. Useful when a user wants set (override) all the paths themselves from a user rc file. 2003-03-30 Ales Hvezda * noweb/i_callbacks.nw: Fixed bug #43: "If gschemdoc is not install, gschem crashes", by changing exit to _exit. Fix by Mario Klebsch. 2003-03-09 Ales Hvezda * scheme/gschem.scm: Fixed the crashing bug when you press a "no-action" bound key. Patch by Dan McMahill. Thanks. 2003-02-23 Ales Hvezda * noweb/g_rc.nw, noweb/i_vars.nw, noweb/x_print.nw: Applied Antonio's no margin printing patch (with minor modifications). Thanks. * noweb/g_rc.nw, noweb/i_vars.nw, noweb/x_print.nw: Renamed "limits" to "extents". * lib/system-gschemrc.in: Added new example usage of the output-type rc keyword, and also put in a note that "limits" should no longer be used. 2003-02-22 Ales Hvezda * lib/system-gschemrc.in: Added comment to sort-component-library keyword that it is broken and that users should not use it. Filed bug #53. 2003-02-20 Ales Hvezda * noweb/i_callbacks.nw: Fixed the annoying flicker if you keep executing the page next/prev commands. * noweb/gschem.nw: Applied patchlet from Steve Tell for disabling the guile 1.6.3 deprecated warnings. * README: Added note suggestion by Steve Tell about warning users that deprecated guile warnings are turned off. 2003-02-18 Ales Hvezda * configure.in: Bumped version to 20030223 * noweb/g_funcs.nw, noweb/x_menus.nw, scheme/gschem.scm: Applied Steve Tell's guile 1.6.3 patch. Thanks. 2003-02-06 Ales Hvezda * configure.in: Applied Gabriel Paubert's warning reducing patch with a few minor mods. 2003-01-26 Ales Hvezda * po/ru.po: Updated version from Andy Shevchenko * configure.in: Changed -fnative-struct to -mms-bitfields for gcc 3.2 mingw compiler (older mingw compilers are no longer supported) 2003-01-16 Ales Hvezda * noweb/x_image.nw: Added 3200x1600 to the image write dialog box. Suggestions by Karel Kulhavy. 2003-01-11 Ales Hvezda * noweb/o_arc.nw: Applied patch by Patrick to fix Bug #45: arc's being drawn incorrectly with snap on. Thanks Patrick. * Makefile.am: Fixed the distclean-local target. * lib/system-gschemrc.in: Fixed typo (gif->png) 2003-01-10 Chris Ellec * noweb/o_misc.nw: Find Specific Text, replaced the strcmp used to search for the text with a strstr so that we can search for C12 instead of having to seach for refdes=C12. That way the user doesn't have to know what the symbol internal names are. 2003-01-09 Ales Hvezda * noweb/i_basic.nw: Hierarchy/Up should never be greyed out. Fixed. 2003-01-07 Ales Hvezda * noweb/o_arc.nw: Added the first of Patrick's suggestions to fixing bug #45. Not completely fixed yet. * noweb/i_callbacks.nw: Added code to properly output a failed error message when executing File/Save All and one of the files cannot be saved. 2002-12-29 Ales Hvezda * tests/ext_chars.sch: Applied Egil's patch to add the new chars to this test schematic. 2002-12-22 Ales Hvezda * noweb/x_attribedit.nw, o_undo.nw, o_misc.nw, o_delete.nw: Added missing calls to i_update_menus() 2002-12-15 Ales Hvezda * noweb/o_basic.nw: Added o_draw_list() and o_draw_selected() helper functions (used by below change) * noweb/o_move.nw: Changed the behavior of move: When you start the move, the objects are erased first and then the rubber outline is drawn. This looks a whole lot better, but the downside is that it required the reordering of some operations (namely when things are drawn), so the change is non-trivial. * lib/system-gschemrc.in: Fixed spelling mistake: "Dettach" is not a word. * noweb/x_menus.nw: Added data (via gtk_object_set_data()) to the toplevel menubar. This data is the individual menu items (of all menus) via the menu path. * noweb/x_menus.nw: Added x_menus_sensitivity which given a path to a menu item (using above) allows for the disabled (greyed out) or enabled menu item control. * noweb/x_menus.nw: Removed some cruft which has been around for too long. * noweb/x_window.nw: Added code to store the menubar in the TOPLEVEL structure. Also called i_update_menus when the main window first appears. * noweb/i_basic.nw: Added i_update_menus, which, for now, simply disables or enables menu items depending on if there is something selected or not. This should be improved to take into account what is inside the selection list. * noweb/i_callbacks.nw, o_buffer.nw, o_complex.nw, o_find.nw, o_select.nw, o_text.nw: Added calls to i_update_menus to keep the menu item disabled/enabled state up to date. 2002-12-01 Ales Hvezda * m4/Makefile.am: Added Makefile.in to the maintainer-clean target. 2002-11-30 Ales Hvezda * lib/system-gschemrc.in: Changed the variable names which hold the paths to the data and rc directories. Fixed all references to these variables. * noweb/gschem.nw: Applied Alexandre's latest patch to fix the "i18n bug regarding LC_NUMERIC" caused by gtk_set_locale. * aclocal.m4: Removed file from cvs. * m4/Makefile.in: Removed machine generated file from cvs. 2002-11-26 Ales Hvezda * gschem/noweb.nw: Applied patch by Alexandre P. Nunes for gtk_set_locale bug/misbehaving. 2002-11-23 Ales Hvezda * po/ru.po, LINGUAS: Added Russian translation by Andy Shevchenko. Thank you. 2002-11-03 gettextize * configure.in (AM_GNU_GETTEXT_VERSION): Bump to 0.11.5. 2002-11-03 Ales Hvezda * examples/*.sch, tests/*.sch: Updated schematics to the latest version via gschupdate * configure.in: Updated version to 20021103 (an official version) * noweb/o_net.nw, noweb/x_multiattrib.nw: Got rid of some unused variables. 2002-10-31 Ales Hvezda * docs/gschem.txt: Move this file into ../docs/gschem 2002-10-29 Ales Hvezda * po/nl_NL.po, LINGUAS: Added Dutch translation by Bert Timmerman. 2002-10-28 Ales Hvezda * noweb/gschem.nw, o_net.nw, x_grid.nw, x_log.nw, x_menus.nw, x_multiattrib.nw, po/LINGUAS, po/ja_JP.po: Added Japanese translation done by MIYAMOTO Takanori. Thank you. * configure.in: Bumped version to 20021031 2002-10-27 Ales Hvezda * noweb/o_net.nw, o_pin.nw, o_bus.nw: Fixed all hardcoded widths to be #define'd * noweb/o_cue.nw: Fixed all hardcoded sizes for the visual cues to be #define'd * configure and friends: Upgraded to gettext 0.11.5 * configure.in: Added AM_GNU_GETTEXT_VERSION(x.yy.zz) macro to make autopoint happy. * configure and friends: Ran "autoreconf --force --install -v" to really upgrade to the auto* tools. * noweb/g_rc.nw, g_register.nw, i_vars.nw, include/i_vars.h: Added force-boundingbox gschemrc rc variable. Controls if the bounding box is used in the pin auto whichend code. * lib/system-gschemrc.in: Added default for force-boundingbox variable * noweb/x_attribedit.nw: Fixed Bug #28: gschem hangs in loop when adding an attribute, by not trying to attach an attribute to a text item. 2002-10-26 Ales Hvezda * noweb/g_rc.nw, g_register.nw, i_vars.nw, i_vars.h: Added the following rc keywords: bus-ripper-type, bus-ripper-symname, and bus-ripper-rotation * noweb/o_net.nw: Added code to act on the above rc keyword info. * noweb/x_window.nw: Properly init/free some of newly added variables to the TOPLEVEL structure. * noweb/o_line.nw: Properly reset the thickness of lines to zero. * lib/system-gschemrc.in: Added defaults for all the bus ripper keywords. * tests/buses.sch: Added test schematic for buses. 2002-10-22 Ales Hvezda * noweb/o_net.nw: Added o_net_add_busrippers function. This function adds the bus rippers after a net addition and after a net is changed via the grips. * noweb/o_net.nw: Added calls to above in o_net_end. * noweb/o_net.nw: Rearranged o_net_end a little to accommodate the bus ripper code. * noweb/o_cue.nw: Added code to render the smaller sized connection cues that connect buses to nets. * noweb/o_grips.nw: Added code to the net case (when ending grip manipulations) to draw the bus rippers when connecting the net to a bus. * noweb/o_bus.nw: Fix to o_bus_add to init the bus_ripper_direction to zero. * noweb/g_rc.nw, g_register.nw, i_vars.nw and friends: Added code to implement the bus-ripper-size rc keyword. * lib/system-gschemrc.in: Added defaults for bus-ripper-size. * tests/nets.sch: Added test schematic for nets. * tests/pins.sch: Added a few more test cases. 2002-10-19 Ales Hvezda * tests/pins.sch: Update test schematic to include single pin components * tests/oldsym2.sch: Added an old single pin symbol, to test that the auto whichend code handles the single pin correctly. * noweb/*.nw, include/*.h: Intergrated patch from Egil for "Snap Off" and "Show Hidden" status indicators (originally written on 10/09/2002). * configure.in, *.m4: Upgraded to automake 1.7.1 and autoconf 2.54 2002-10-17 Ales Hvezda * noweb/o_cues.nw: Added patch by Egil Kvaleberg to prevent core dumps when whichend is somehow invalid (added checks in libgeda so this really should NEVER happen). * tests/oldsym.sym: Added test .sym which tests the auto whichend code in libgeda (for older <= 20020825 symbols). The whichends on all the pins should always be correct. Do not update this file to the current gEDA/gaf file format ever. * configure.in, docs/gschem.txt, include/prototype.h, lib/system-gschemrc.in, noweb/g_key.nw, noweb/g_register.nw, noweb/i_callbacks.nw, noweb/rcstrings.nw, noweb/x_menus.nw, noweb/x_multiattrib.nw: Added Egil Kvaleberg's find documentation patch. 2002-10-09 Egil Kvaleberg * noweb/*, include/*: Implemented "Snap Off" and "Show Hidden" status indicators. 2002-10-07 Egil Kvaleberg * Added Hierarchy/Documentation * Added Help/Manual 2002-10-07 Ales Hvezda * lib/system-gschemrc.in: Added some missing attributes, noticed and patch by Egil Kvaleberg. Removed "name" from attribute-name list. 2002-09-30 Ales Hvezda * noweb/x_menus.nw: Fixed the code so that toplevel menu names are now translated. Also fixed it so that "Help" gets translated as well. 2002-09-26 Ales Hvezda * po/de_DE.po: Updated the Project-Id-Version so that gettext is happy (I hope). * noweb/rcstrings.nw: Added the toplevel menu items into this file so that they can be translated. * po/*.po: Removed geda-gschem.pot which caused the translation files to be rebuilt. 2002-09-25 Ales Hvezda * noweb/x_attribedit.nw, x_dialog.nw, x_fileselect.nw: Added a few missing _(" "). Patch by Antonio and Alexandre. * po/geda-gschem.pot, pt_BR.po: Updated these file from what Antonio and Alexandre sent me. * tests/pins.sch: Added test schematic which exercises the pin whichend flag * noweb/rcstrings.nw: Added file which contains all the strings which are related to the menus so that they get translated. The strings are surrounded by _(" "). This file is NOT built. * noweb/Makefile.am: Added above file to EXTRA_DIST= * po/*: Updates to the files from rcstrings.nw 2002-09-22 Ales Hvezda * examples/flipflop_1.sch: Fixed invalid attributes and gave all components a refdes. * configure.in: Bumped version to 20020922, which is NOT a release. * noweb/o_pin.nw: Added a call to draw the cues with pin's draw. This may affect rendering performance a little. This call is needed to update pin's new cues when an object is selected/unselected. * noweb/o_pin.nw: Added default parameters for pin_type and whichend when adding a pin. * noweb/o_cue.nw: Added code to draw the new pin dangling cues. * noweb/o_cue.nw: Added an if in various places so that only the appropriate cue (based on whichend) is drawn or erase. This gets rid of a very annoying visual artifiact which was driving me nuts: parts of symbols were being erased when a connection was being made at the WRONG end. 2002-09-16 Ales Hvezda * noweb/globals.c: Added variable_set_func and quit_func. These are not used by gschem. 2002-09-07 Ales Hvezda * noweb/x_multiattrib.nw: Redid the "Flags" column to be now "Vis?" and "SN". Basically added 2 columns instead of one. * noweb/x_multiattrib.nw: Changed the justification of the last two columns to be center * noweb/x_mulitattrib.nw: Fixed the slot changing code to be correct (use the correct column) * noweb/x_multiattrib.nw: After clicking Change, re-highlight the value entry 2002-09-03 Ales Hvezda * noweb/x_multiattrib.nw: Redid multi attribute dialog box using glade. Internals very similar, a few widget changes. * noweb/x_multiattrib.nw: Not done yet, still need to redo flags column in the clist (not good enough yet) * noweb/x_attribedit.nw: Removed a static keyword to allow function reuse. 2002-09-02 Ales Hvezda * noweb/x_multiattrib.nw: Created new file. * noweb/x_dialog.nw: Moved multi attrib edit dialog box code into above new file. 2002-09-01 Ales Hvezda * noweb/x_window.nw: Added code to allows the main window to be resized to any smaller size. 2002-08-29 Ales Hvezda * scheme/auto-uref.scm: Fixed left over "uref". Pointed out/fixed by Antonio A Todo Bom. Thanks. * lib/gschem-lightbg: Fixed the background color for images. Bug pointed out by John Eaton. * noweb/gschem.nw: Added bug fix by Alexandre P. Nunes to get the postscript output working again when you pick a locale which uses ","'s instead of "."'s. 2002-08-25 Ales Hvezda * noweb/x_attribedit.nw: Fixed the focus on the value entry to be correct when labeling (naming) nets. * noweb/x_attribedit.nw: Added the key binding for the Escape key * noweb/x_fileselect.nw: Added the key binding for the Escape key * src/Makefile.am: Remove x_attrsel.nw (obsolete file) * lib/system-gschemrc.in: Added setpagedevice-* keywords * noweb/g_rc.nw, and others: Added support for above keywords * noweb/x_pagesel.nw: Added the key binding for the Escape key * noweb/x_print.nw: Added the key binding for the Escape key * noweb/x_image.nw: Added the key binding for the Escape key * noweb/o_misc.nw: Fixed the long standing bug in o_edit_find_text where the found text would sometimes be unlegible because of the zoom factor (pointed out by Dave Lawrence a long long time ago). * noweb/*.nw: Cleaned up -Wall warnings * configure.in: Added -mwindows flag for the mingw port 2002-08-18 Ales Hvezda * noweb/o_grips.nw: Fixed a bug where searching for grips would stop if something that did not have grips was selected. * noweb/o_misc.nw: Changed used_list initial value to be 0 so that the number one is used when autonumbering refdes's. * noweb/o_text.nw: Changed the color of the x and I (origin/invisible) graphical cues to be grey (locked color) instead of red. Red is reserved for errors. * noweb/x_attribedit.nw: Changed the cursor focus entry to be the name entry when nothing is selected (i.e. not editing an attribute) 2002-08-05 Ales Hvezda * noweb/i_basic.nw: Added a const to get rid of compiler warnings when compiling with --disable-nls 2002-08-04 Ales Hvezda * noweb/*: Added gettext patch by Alexandre P. Nunes. Thank you for the work on i18n. * intl/ m4/ po/ ABOUT-NLS config.rpath: Added directories / files to support above * configure.in: Updated to support above * include/gettext.h: Added include file to support above * include/globals.h: Added #include for gettext.h 2002-07-27 Ales Hvezda * noweb/x_attribedit.nw: Changed the show options to be an option menu instead of a combo box 2002-07-14 Ales Hvezda * noweb/o_misc.nw, x_dialog.nw, lib/system-gschemrc.in: Renamed user visible references of uref to refdes * examples/*.sch: Update all schematics using gschupdate 2002-07-09 Ales Hvezda * noweb/x_attribedit.nw: Added code so that value entry field is selected if there is something to select (makes replacing the text much faster). * tests/: Created tests directory mainly to hold various tests * examples/*.sch: Moved some of the developer only schematics into the test/ directory * tests/ext_chars.sch: Added a simple little schematic to test the loading of the extended characters. This should not crash gschem anymore. :) 2002-07-06 Ales Hvezda * examples/*.sch: Updated all schematics to use netname instead of label * noweb/x_attribedit.nw: Changed all occurrances of label to netname * lib/system-gschemrc.in: Changed all occurrances of label to netname 2002-07-06 Ales Hvezda * noweb/o_basic.c: Added code for o_erase_selected (not used currently) * configure.in and Makefile.am: Upgraded to automake 1.6.2 * noweb/x_dialog.nw: Removed attrib edit dialog box from this file * noweb/x_attribedit.nw: Created new file for attrib edit dialog box * src/Makefile.am, noweb/Makefile.am: Added above file to Makefiles * noweb/x_attribedit.nw: Completely reworked attrib edit dialog box to be much simpler and cleaner * noweb/x_attribedit.nw: Integrated patch from Dave Lawrence which adds a bunch of useful capabilities to the attrib add dialog box, add an attribute to multiple objects, replace existing attributes 2002-07-05 Ales Hvezda * lib/system-gschemrc.in: Fixed spelling mistake * lib/system-gschemrc.in: Fixed the load of the commonrc file to work with --with-rcdir again. * noweb/g_key.nw, g_register.nw, i_callbacks.nw: Added Edit/update command 2002-06-25 Ales Hvezda * noweb/o_attrib.nw: Changed o_attrib_add_selected to take a selection list as a parameter (allows for code reuse) * noweb/o_select.nw, o_complex.nw: Updated calls to above to pass in the appropriate selection list. * noweb/o_misc.nw: Added o_update_component which updates a component from disk and forces attributes to be repromoted. * noweb/o_delete.nw: Removed a static keyword from o_delete_complex(...) to allow for code reuse. 2002-06-22 Ales Hvezda * noweb/o_misc.nw, i_callbacks.nw: Fixed all u_basic_breakup_string calls to take the extra character which is the delimiter. 2002-06-18 Ales Hvezda * noweb/o_slot.nw: Plugged a small memory leak which has been there for a long time. * noweb/i_basic.nw: Added some experimental code which changes the cursor image. Something I'm playing with. 2002-06-13 Ales Hvezda * TODO: A little bit of cleanup, organizing things. I will move most of the critical items into jitterbug * noweb/x_fileselect.nw: Fixed a bug which could have caused a crash. Turn on the preview button with nothing (or just a directory) selected, and gschem tried to open that garbage. * noweb/x_dialog.nw: Fixed add/edit attribute dialog box to not add improper attributes * noweb/x_dialog.nw, i_callbacks.nw: Added a bunch i_update_toolbar calls 2002-06-10 Ales Hvezda * noweb/x_fileselect.nw: A bit more work on getting the WinME problem fixed. * noweb/x_preview.nw: A few fixes to address the WinME problem. * noweb/g_rc.nw, gschem.nw, i_callbacks.nw, x_fileselect.nw: Made sure that all of this trailing slash nonsense is only built on mingw and does not impact the unix port. * noweb/x_preview.nw: Made sure the toolbars are disabled in the preview window. Otherwise you get gtk warnings... 2002-06-09 Ales Hvezda * noweb/g_rc.nw, gschem.nw, i_callbacks.nw, x_fileselect.nw: Added a call to u_basic_strip_trailing for the mingw port to make WinME happy (ME was interpreting \\ anywhere in filenames as network paths). 2002-06-07 Ales Hvezda * noweb/x_window.nw: Oops forgot to free a temporary string. Fixed. * bitmaps/*.xpm: Updated some of the bitmaps I drew to look a little better. 2002-06-03 Ales Hvezda * lib/gschem-lightbg: Changed green3 to green4 for text and graphics. 2002-05-27 Ales Hvezda * lib/system-gschemrc.in: Fixed incorrect environment variable name "GEDADATARC" to be GEDADATA. * lib/system-gschemrc.in: After reading all the negative opinions of a light colored background, changed default back to a black background. * noweb/x_window.nw: Improved tooltip for Add Component... * noweb/x_dialog.nw: Improved the appearance of the Add Text... dialog box. * noweb/o_line.nw: Added o_line_eraserubber(...) (erase any rubber banding line) * noweb/o_box.nw: Added o_box_eraserubber(...) (erase any rubber banding box) * noweb/o_circle.nw: Added o_circle_eraserubber(...) (erase any rubber banding circle) * noweb/o_basic.nw: Added o_erase_rubber(...) which erases any rubber banding object in progress. * noweb/o_arc.nw: Added o_arc_eraserubber(...) (erase any rubber banding arc) * noweb/i_callbacks.nw: Fixed a whole slew of quirks when you are drawing something and cancel it or start another command (that used to leave ghosts around) * noweb/i_callbacks.nw: Fixed it so that in some modes, the right mouse button no longer completely cancels the mode * noweb/x_dialog.nw: Added modal grab for add arc dialog box. 2002-05-23 Ales Hvezda * noweb/i_basic.nw, o_grips.nw, x_fileselect.nw, i_callbacks.nw, x_event.nw: Add a bunch of i_update_toolbar calls to make sure that the toolbar reflects the current event_state. 2002-05-19 Ales Hvezda * lib/gschem-darkbg, gschem-lightbg: Added these files which allow the user the ability to easily switch between a dark or light background. * lib/system-gschemrc.in: Added code to easily switch between a dark or light background color scheme. * noweb/g_rc.nw, g_register.nw, i_vars.nw, x_window.nw: Implemented the toolbars and handleboxes rc variables * lib/system-gschemrc.in: Add the use of toolbars and handleboxes rc variables * lib/system-gschemrc.in: Adjusted the size of the window to take into account the handleboxes and toolbar. * noweb/x_event.nw: A code to get the toolbar buttons to act correctly. * noweb/i_basic.nw: Added i_update_toolbar_select, which sets the toolbar icon to select. This code needs to be refactored. * noweb/x_window.nw: Commented out the toolbars which are not ready for use yet. 2002-05-16 Ales Hvezda * noweb/g_rc.nw, g_register.nw, i_vars.nw: Added bitmap-directory rc keyword * noweb/x_window.nw: Added the use of bitmap_directory * noweb/x_window.nw, x_preview.nw and others: Fixed a few possible places where something is freed but wasn't be initialized to NULL * lib/system-gschemrc.in: Changed the default background color and all the colors to correspond to a light (almost white) background Commented out the black background colors * noweb/x_window.nw: Much more work on the toolbar. Added Edit, Add Text... Also got some of the callbacks working. * noweb/x_dialog.nw: Improved the label which appears on top of the Text entry dialog box. * noweb/x_window.nw: Much more work on getting toolbar complete. Still need to add the appropriate callbacks to the buttons. 2002-05-14 Ales Hvezda * lib/system-gschemrc.in: Added in white background color theme. Commented out. * noweb/x_window.nw, i_callbacks.nw: Added toolbar with New, Open, Save, Undo, Redo * noweb/x_window.nw: Moved menu bar into a handlebox 2002-05-13 Ales Hvezda * noweb/x_color.nw: Fixed outline colors so that they xor properly for non-black backgrounds * noweb/o_arc.nw, o_attrib.nw, o_box.nw, o_bus.nw, o_circle.nw, o_grips.nw, o_line.nw, o_net.nw, o_pin.nw, o_select.nw, o_text.nw: Fixed select color getter so that it returns the dark color which has been corrected for a non-black background. Also did some minor cleanup. * noweb/o_attrib.nw, o_basic.nw, o_buffer.nw o_complex.nw, o_copy.nw, o_move.nw, o_text.nw, x_event.nw: Fixed boundbox color getter so that it returns the dark color which has been corrected for a non-black background. 2002-05-12 Ales Hvezda * noweb/g_rc.nw and friends: Added warp cursor rc keyword and support to disable the warping of the cursor when zooming * lib/system-gschemrc.in: Added warp-cursor rc keyword * noweb/x_menus.nw: Got rid of the requirement to use a fixed width font for the menus etc... Properly calculated the space pad between the item name and hotkey. Also removed code for mingw32 port * lib/gschem-gtkrc: Commented out the setting of the font 2002-04-14 Ales Hvezda * noweb/x_dialog.nw: Added the rest of the signal connects for keypresses * lib/system-gschemrc.in: Moved some attribute related items from the Edit/ menu to the Attribute/ menu (Find Specific Text, Hide Specific Text, Show Specific Text) * lib/system-gschemrc.in: Changed the hotkeys for the above items to be under the Attribute/ menu) 2002-04-09 Ales Hvezda * noweb/x_dialog.nw: Added a key binding to each dialog box so that Escape closes the dialog box. Suggestion by Mauricio de Alencar. 2002-04-08 Ales Hvezda * noweb/g_rc.nw: Missed a few hardcoded /'s, fixed. * noweb/x_event.nw: Added a few lines of code to support the double click on an object to open up the edit dialog box. Suggestion by Mauricio de Alencar. * noweb/x_dialog.nw: Added a few lines of code to automatically select the value entry on open in the attrib edit dialog box. Suggestion by Mauricio de Alencar. * noweb/o_text.nw: Changed the default color of the little x that marks the origin to red (the detached attribute color). Suggestion by Mauricio de Alencar. * configure.in: Changed the function which is search for libpng. This was needed for the win32 port. * noweb/x_basic.nw: Added x_warp_cursor utility function. * noweb/a_zoom.nw: Used above x_warp_cursor to move the cursor to the right place after a zoom in/out. Suggestion by Mauricio de Alencar. 2002-04-06 Ales Hvezda * noweb/x_fileselect.c: More work getting file dialog boxes to work with the new path separater. 2002-04-04 Ales Hvezda * noweb/x_fileselect.c: Removed a / which was confusing the mingw32 port 2002-04-03 Ales Hvezda * configure.in and friends: More work on getting the upgrade of autoconf, automake, and libtool to behave correctly. * configure.in: Added PATHSEP variable which holds the proper path separater depending on the platform. * lib/system-*.in: Work on getting rc files to use above variable. 2002-04-01 Ales Hvezda * configure.in: Added -liberty for the Mingw32 port * noweb/g_rc.nw: Used new path separater #defines in a few sprintf/u_strdup_multiple * noweb/gschem.nw: Used new path separater #defines in a few sprintf/u_strdup_multiple * noweb/i_callbacks.nw: Used new path separater #defines in a few sprintf/u_strdup_multiple * noweb/o_complex.nw: Used new path separater #defines in a few sprintf/u_strdup_multiple * noweb/x_filesel.nw: Used new path separater #defines in a few sprintf/u_strdup_multiple * noweb/x_log.nw: Used new path separater #defines in a few sprintf/u_strdup_multiple * noweb/x_preview.nw: Used new path separater #defines in a few sprintf/u_strdup_multiple * configure.in and friends: Upgraded to autoconf 2.53, libtool 1.5, and automake 1.5. Lots of changes in various places for this upgrade. 2002-02-24 Ales Hvezda * configure.in, config.h.in: Added a few checks for some non-portable #includes * configure.in: Added checks for mingw32 and disabled the cygwin port 2002-02-18 Ales Hvezda * configure.in: Removed all trace of GUILE_LIB and GUILE_INCLUDE 2002-02-16 Ales Hvezda * noweb/x_event.nw: Added a check in the configure callback to return if gschem hasn't finished setting up the current page. 2002-02-11 Ales Hvezda * lib/system-gschemrc.in: Added "..." to some of the Edit/ menu options which popup a dialog box. 2002-02-09 Ales Hvezda * noweb/o_text.nw: Improved o_text_edit_end to loop over all selected objects and change the text size or alignment. If more than one object is selected then only change size and alignment and not the string. String can only be changed if one object is selected. * noweb/x_dialog.nw, noweb/o_text.nw: If you select multiple text strings and you cannot edit the string, so do not give the user that option (I removed the text entry if the number of selected objects > 1) * noweb/x_fileselect.nw: Also applied the changes that Chris Ellec did for checking if a save was successful to the save as mechanism. * noweb/o_select.nw: Fixed an annoying selection behavior, if you select stuff with the selection box while holding down the SHIFT key and you happen to not find anything, any previous selection should be unaffected. Previous behavior was to unselect everything (which is wrong). * noweb/o_misc.nw: Added suggestion by Wojciech Kazubski for a function which just shows hidden text, but doesn't toggle the visibility. This new function is called o_edit_show_hidden. The original function is now called o_edit_make_visible. Added it to the rc/lib (g_*.nw) files as well. * noweb/o_attrib.nw, o_text.nw: Further improved on above to draw a little "I" when showing invisible text * noweb/o_text.nw: Fixed the above behavior to work for text items within placed components. Now you can show all hidden text on a schematic and see exactly what text is within a symbol! :-) * noweb/x_dialog.nw: Put in fix from Dave Lawrence wrt find_text_ok, redraw_all after you find no more text occurances * noweb/*.nw: Removed all -Wall warnings 2002-01-24 Stefan Petersen * lib/system-gschemrc.in: Fixed bug in path when loading auto-uref. (geda-data => gedarcdir). Thanks to Cris Ellec for spotting this. Code is usually commented out. 2002-01-07 Ales Hvezda * noweb/o_misc.nw: Added autonumber_text patch by Dave Lawrence. Reference info (from Dave): "Attached is a patch to the autonumber_text function that I wrote a while back that numbers components starting at the lowest unused component number >0 and skips used component numbers. The earlier version started at the maximum used component number +1. I assume the new functionality is usually what people would want.. if not, I could make a checkbox that would allow people to revert to the old way if you think that would be useful." 2001-11-25 Patrick Bernaud * noweb/x_dialog.nw: Corrected a bug about arc creation due to the last changes (2001-11-21) : my fault. 2001-11-21 Patrick Bernaud * configure.in, Makefile.am: Added test to use notangle_guile.scm if notangle is not available. * docs/Makefile.am: Moved the documentation generation here. * src/Makefile.am: Added a rule to produce prototype.h from noweb files and moved the documentation generation to docs/. * scripts/geda_totexi.in: Changed geda_totexi to geda_totexi.in to take benefit from the configure test on AWK. Backend updated to handle cross-references. * scripts/notangle_guile.scm.in: Added guile script to tangle noweb code without the whole noweb package installed. * noweb/o_{arc|box|circle|line}.nw: Full documentation, code clean-up. * noweb/o_grips.nw: Full documentation, code clean-up : old function splitted in one function for each object type. Added function to draw and erase grips. * noweb/o_{bus|net|pin}.nw: Grip stuff modified to suit new grip handling (described above). * include/prototype.h: Automatically updated after above changes. 2001-10-09 Ales Hvezda * noweb/o_misc.nw: Changed all instances of strnlen to strlen 2001-10-07 Ales Hvezda * noweb/g_key.nw, g_register.nw: Added first bit of Dave Lawrence's find text patch (hotkey for find text) * noweb/o_misc.nw: Added more of Dave's patch (lowlevel support functions) * noweb/x_dialog.nw: Added more of Dave's patch (new dialog boxes) * lib/system-gschemrc.in: Added Dave's new commands to the menu. * noweb/g_key.nw, g_register.nw: Added some missing hotkey scheme functions * noweb/o_misc.nw: Minor updates to the patch wrt find-text, did a true blue pan instead of calling set_window(...) Also added a zoom extents so that the zoom is about right (still experimental) * src/Makefile.am: Changed the order of source file building, so that g_key.* is before g_register.* 2001-07-24 Ales Hvezda * noweb/g_rc.nw, g_register.nw, i_vars.nw, x_window.nw: Added (window-size w h) keyword to make some users (including myself) happy and in control of the window size (instead of having gschem pick some always too large window size for me) 2001-07-22 Ales Hvezda * configure.in: Cleaned up all the data dir variables (to only have two) * noweb/gschem.nw, g_rc.nw: Fixed up code to look for rc files in different place when specifing the rc dirs using --with-rcdir. This used to work, but it was broken me when I added GEDADATA * lib/system-gschemrc.in, noweb/gschem.nw: Added a bunch of code to allow the rc files to live somewhere else * noweb/gschem.nw, g_rc.nw: More work on getting GEDADATA and GEDADATARC environment variables to work right when you move the binaries around * noweb/gschem.nw, i_basic.nw, o_slot.nw, o_undo.nw, x_color.nw, x_grid.nw: Added patch by Dan Mcmahill for 64-bit architectures. * docs/gschem.txt: Misc doc update 2001-07-21 Ales Hvezda * noweb/o_undo.nw: Whoops was hardcoding "/tmp", should look at environment variable TMP instead 2001-07-20 Ales Hvezda * noweb/x_menu.nw: Added code for Cygwin to get monospaced fonts for the menus. * noweb/i_callbacks.nw: Fixed the "scrollbar not updating when panning" bug pointed out by Chris; wasn't updating the scrollbars when panning :) * noweb/i_callbacks.nw: Fixed the wasn't updating connections when doing a symbol translate in a schematic (valid and should work) This still does NOT work. :( 2001-07-19 Ales Hvezda * configure.in: Fixed all the LDFLAGS to be correct (and only link the libraries once) * configure.in: Bumped up version to 20010722 * configure.in: More updates to get cygwin to build right * src/Makefile.am: Changed the order in which things are linked (guile last) 2001-07-08 Ales Hvezda * noweb/x_fileselect.nw: Changed a constant two days ago in defines.h, but in the code the value was being hard coded which cause a very hard to find (and frustrating) bug to live. Fixed! * lib/system-gschemrc.in: Finished adding menu items * noweb/x_menu.c: More work on the top menu bar code, discovered that some menu actions are not in the keymap (hotkey vs not), so had to add a third item to the menu item list (the hotkey scheme function) * noweb/*.nw: Renamed all *zoom_limits* functions to *zoom_extents* * lib/system-gschemrc.in: Misc updates to some of the key mappings (added options-rubberband : or and added zoom-extents : ze) 2001-07-07 Ales Hvezda * scheme/gschem.scm: Added a bunch of scheme code to search through the global-keymap to find keys which are associated with a scheme procedure * noweb/x_menus.nw: Changed get_main_menu to get its info from the s_menu_* datastructures as well as put the hotkeys into the menu * noweb/g_rc.nw: Added g_rc_add_menu * noweb/g_register.nw: Added register call for above * noweb/gschem.nw: Added s_menu_init() and s_menu_free() calls * lib/gschem-gtkrc: Added gtkrc file to set the font on all dialog boxes to be fixed (this can be another font as long as it is fixed spaced) * lib/system-gschemrc.in: Slowely started adding menu entries using add-menu 2001-07-05 Ales Hvezda * noweb/gschem.nw: Removed the "This is alpha software" message and added the standard gpl/gnu software message * noweb/a_pan.nw: Oops, if you mouse pan around in a corner you get really weird aspect ratio changes. Fixed. * noweb/o_basic.nw: Added a parameter to o_drawbounding which controls if this is the first time this function is being called for this operation, should improve performance a tremendous amount when dealing with bounding boxes (constant time to draw) * noweb/*.nw: Went through all code which references o_drawbounding and set the above parameter to the correct value * noweb/o_copy.nw, o_move.nw: The bounding box (when enabled) was not being erased properly after doing a move or copy. Fixed. 2001-07-02 Ales Hvezda * configure.in: A little more work to get indent vs gindent to be detected correctly * lib/system-gschemrc.in: Added the commented out hook lines 2001-07-01 Ales Hvezda * configure.in: Now searching for gindent as well as indent * configure.in: Make sure configure scripts work with autoconf-2.50 (had to fix cygwin check), they do not yet work with 2.50 * Removed all traces of libtool from gschem, libtool is not required to build gschem 2001-06-24 Ales Hvezda * lib/system-gschemrc.in: Added sort-component-library keyword default (disabled) * noweb/g_rc.c: Added code to support the sort-component-library * noweb/x_fileselect.c: Added code to enable/disable the sorting of component libraries 2001-06-16 Ales Hvezda * configure.in: More work on getting build mechanism for noweb working better * src/Makefile.am: Lots of work on getting this makefile up to snuff * docs/Makefile.am: Added target to install gschem.1 2001-06-10 Ales Hvezda * configure.in: Minor cleanup * src/Makefile.am: Added support for automatic dependency tracking wrt the noweb files (using VPATH) * noweb/g_rc.c: Changed g_rc_parse_system to look for the *rc file in the right place using GEDADATA environment variables * lib/gschem-systemrc.in: Changed the load of the commonrc file to use the GEDADATA environment variable 2001-06-07 Ales Hvezda * src/gschem.c: Added call to libgeda_init 2001-06-05 Ales Hvezda * noweb/Makefile: misc path changes * scripts/geda_totexi: renamed gawk to just plain awk 2001-06-03 Ales Hvezda * noweb/*: Added .nw files from Patrick B. * Started down the path toward using noweb (still need to integrated noweb tools into the configure mechanism) * scripts/*: Added noweb -> texi backed written by Patrick B. * Moved some files around for above move 2001-05-26 Ales Hvezda * src/x_fileselect.c: Commented out a debugging printf * src/x_fileselect.c: Chris Ellec integrated his component window sort into the code 2001-03-18 Ales Hvezda * Removed all Makefile.in files and configure 2001-03-17 Ales Hvezda * Got make dist and make distcheck working (means all files which are in CVS are in some Makefile) * configure.in: Added DATADIR instead of PACKAGE 2001-03-16 Stefan Petersen * configure.in, configure: didn't build properly if libgdgeda wasn't placed in it' "usual place". * src/x_menus.c: if libgdgeda isn't added, the menu alternative will not appear (silly, but I did it). 2001-03-07 Stefan Petersen * configure.in: Added patch from Bruno Schwander on libgeda also on this library. 2001-03-06 Stefan Petersen * configure.in: Removed some hard coded libraries. Patch and suggestion from Bruno Schwander. 2001-03-04 Ales Hvezda * src/o_complex.c: Fixed the symbol translate code to do a zoom limits first and then the translate, fixes a bug where symbol didn't always get to the origin * src/o_misc.c: Put back the code to call the screen coord version of arc mirror/rotate * lib/system-gschemrc: Removed some old unused keyword options * src/g_rc.c: Removed some old unused keyword options * configure.in: Updated version * configure.in: Added a check to make sure libgeda-config and gesym-config are the right version 2001-03-03 Ales Hvezda * configure.in: Fixed a few bugs dealing with the enabling and disabling of features via the command line (pointed out by Karel Kulhavy) 2001-03-02 Ales Hvezda * src/o_copy.c: Oops lines were not being redraw selected after a copy 2001-03-01 Ales Hvezda * src/o_move.c: Fixed a bug (pointed out by Matt Ettus) where an endpoint was added to the netconn rubberband structure when it should not have been. Bug was in an if statement which included an || which was causing a false hit * src/*.c: Changed some // comments to be /* */ * src/*.c: Fixed a bunch of -Wall warnings 2001-02-23 Ales Hvezda * src/x_print.c: Fixed a bug where if you specified portrait printing via the *rc files, you would get incorrect centering of the image. Bug pointed out by Wolfgang Buesser. 2001-02-19 Ales Hvezda * src/o_complex.c: Added code to get symbol translate working with the new connection / cue system 2001-02-17 Ales Hvezda * src/o_move.c: Modified and put back the code which implements netconn rubberbanding * src/o_basic.c: Enabled some code to support above * src/x_event.c: Enabled some code to support above * src/o_grips.c: Added a redraw_single of the original object if you try to create a zero length object with a grip * src/i_callbacks.c, g_*.c, x_menus.c: Integrated patch from Chris Ellec for turning on and off the netconn rubberbanding * src/x_window.c: Integrated patch by Rolf Fiedler, increasing the size of the main window depending on the screen resolution * lib/system-gschemrc.in: Made the default for netconn-rubberband enabled by default 2001-02-11 Ales Hvezda * src/x_print.c: Fixed a filename entry widget bug, filenames are typically longer than 79 characters, so increased size to 200 chars * src/x_image.c: Fixed same bug as above for image dialog box * src/o_buffer.c: Misc code changes to support the new connection and cue system 2001-02-10 Ales Hvezda * src/o_complex.c: Added code to properly update connection / cues when placing complex objects * src/o_complex.c: Found/Fixed a memory leak when placing the individual objects inside a schematic (via "include objects ...") * Started resyncing with the cvs repository. * src/o_grips.c: Got grips to use the new connection / cues system * src/o_grips.c: Removed the global o_redraw at the end of o_grips_end * src/o_grips.c: Finally fixed the "disappearing object" bug when you use a grip on any of the objects. Now the grips behave like they should (finally)! :-) 2001-02-08 Ales Hvezda * src/o_misc.c: Got mirror to use the new connection / cue system * src/o_misc.c: Removed the call to o_complex_mirror2 from the mirror switch. I don't think this special exception is needed anymore. Have to watch out for any breakage. * src/o_misc.c: Finally removed the restriction that you could not mirror embedded components. :-) Have to watch out for any breakage. 2001-02-03 Patrick Bernaud * src/o_arc.c: Added code to draw grips on an arc * src/o_grips.c : Added code to handle grips on arc with o_grips__arc() functions. 2001-02-03 Ales Hvezda * src/o_copy.c: Got copy to use the new connection / cue system * src/o_copy.c: Rearranged things around in the switch statement so that you don't have to do a o_redraw at the end * src/o_basic.c: Minor cleanup * src/o_delete.c: Got delete to use the new connection / cue system * src/o_net.c: Updated o_net_end to use the new connection / cue system (also removed some old obsolete functions) * src/o_pin.c: Updated o_pin_end to use the new connection / cue system (also removed some old obsolete functions) * src/o_bus.c: Updated o_bus_end to use the new connection / cue system (also removed some old obsolete functions) * src/o_misc.c: #if'd out some function calls which don't exist anymore (but I need the place holder to add new functions) 2001-01-27 Ales Hvezda * src/i_callbacks.c: Added code to draw the grid when a new window is opened (bug) 2001-01-24 Patrick Bernaud * src/o_arc.c: Changed the meaning of arc parameters * src/o_circle.c: Modified the calls to arc drawing functions to match the change in the meaning of arc parameters 2001-01-23 Ales Hvezda * src/o_move.c, o_cue.c: Work on getting the new conn system to work with move 2001-01-19 Ales Hvezda * src/o_cue.c: Renamed o_conn.c to o_cue.c (makefile updates etc...) * src/o_cue.c: More work on getting cues done 2001-01-19 Stefan Petersen * scheme/auto-uref.scm: If there wasn't a question mark in the uref string, the auto-ref function blew up. 2001-01-18 Ales Hvezda * src/o_conn.c: A lot of work on getting the visual cues done 2001-01-17 Stefan Petersen * scheme/auto-uref.scm: Made the associative list,used to keep track of used prefixes, using _real_ Guile associative list functions. 2001-01-16 Ales Hvezda * src/x_event.c, g_key.c: Fixed a bug pointed out by Thomas Lundin which was causing a core dump. Basically, g_key_* functions were using a stale w_current pointer; switched them to use the always correct global_window_current pointer. 2001-01-16 Ales Hvezda * docs/gschem.txt: Added a few lines about label= attribute 2001-01-11 Stefan Petersen * lib/system-gschemrc.in: minor paper-sizes bug that will break future typechecking. * src/g_rc.c: minor spell error in boundingbox 2001-01-07 Ales Hvezda * src/o_net.c: Added some text drawing to nets to make debugging easier. This code will not be executed in real builds (needs to #if DEBUG'ed out) 2001-01-01 Ales Hvezda * src/*.c: Removed all trace of conn table (and functions), nethash table (and functions), and temporarily commented out stretch code * src/x_grid.c: Added x_draw_tiles to help in the coding of the tile storage system 2000-12-17 Ales Hvezda * docs/gschem.txt: Misc doc updates * README and INSTALL: minor updates 2000-12-15 Ales Hvezda * src/a_pan.c: Changed o_redraw_all call to o_redraw_all_fast just to speed things up a bit * src/gschem.c: Changed o_redraw_all call to o_redraw_all_fast just to speed things up a bit 2000-12-14 Ales Hvezda * src/x_preview.c: Fixed a bug relating to the preview box randomly not being drawn. Fix by Werner Hoch 2000-12-13 Ales Hvezda * configure.in: Added -lregexp for CYGWIN32 build 2000-12-12 Ales Hvezda * src/g_register.c: Added guile helper functions for netlist generation (code by Eduard Moser and Martin Lehmann) * src/g_key.c: Guile bindings to generate netlists on the fly (code by Eduard Moser and Martin Lehmann) * src/g_funcs.c: Added support functions for above (code by Eduard Moser and Martin Lehmann) * scheme/generate_netlist.scm: This is the scheme code which pulls together all of the above (new file added) (code by Eduard Moser and Martin Lehmann) 2000-12-11 Ales Hvezda * src/o_text.c: Added o_text_place_rotate() to support the rotation of text as it is being placed * src/x_event.c: Modified state machine to support the rotation of text as it is being placed * src/o_text.c: More work to support above 2000-12-10 Ales Hvezda * src/o_text.c: Removed all trace of zoom_factor * lib/system-gschemrc.in: Changed default text_zoom_factor to 30 * src/a_zoom.c: Removed one last unused reference to zoom_factor * src/configure.in: Added back the lines (saved_cflags etc...) which caused debug output to be included in the build 2000-12-09 Ales Hvezda * src/o_net.c: Removed all trace of zoom_factor * src/o_pin.c: Removed all trace of zoom_factor * src/o_line.c: Removed all trace of zoom_factor * src/o_grips.c: Removed all trace of zoom_factor * src/o_text.c: Added another lame patch to fix the short storage of X coords problem. Not really a solution, just a lame patch * src/o_circle.c: Removed all trace of zoom_factor * src/o_line.c, o_circle.c, o_arc.c: re-ran indent against these files with -kr flags * src/o_bus.c: Removed all trace of zoom_factor * src/o_box.c: Removed all trace of zoom_factor * src/x_dialog.c: Added some more text to the about dialog box 2000-12-03 Ales Hvezda * src/*.c: Removed some of the DONT_REDRAW from the code (the DONT_* are total hacks) * src/i_callbacks.c, a_zoom.c, a_pan.c and friends: Added a flag to a_zoom_* to control if the display is redraw or not (augmenting the current DONT_REDRAW). Need to fix this properly soon 2000-12-03 Ales Hvezda * configure.in: Slightly rearranged things to make cygwin port happy * src/a_pan.c: Integrated changes by Werner Hoch, Panning is now done using a_pan_general * src/a_zoom.c: Integrated changes by Werner Hoch, Panning is now done using a_pan_general * src/i_callbacks.c: Integrated changes by Werner Hoch, Bunch of code cleanup, removed some redundant code * src/x_grid.c: Integrated changes by Werner Hoch, Changed the way the grid spacing is calculated (and drawn) * src/x_basic.c: Integrated changes by Werner Hoch, changed some init variables for the scrollbars * src/x_event.c: Integrated changes by Werner Hoch, rewrote (and fixed) resize callback to properly maintain aspect ratio * src/x_window.c: Integrated changes by Werner Hoch, changed some init variables relating to scrollbars * src/a_pan.c: Put in some code to bound the left and top borders when mouse panning 2000-12-02 Ales Hvezda * src/gschem.c: Changed Cygwin warning message 2000-11-30 Ales Hvezda * src/o_bus.c, o_box.c, o_move.c: Removed unused variable * configure.in: Added -fnative-struct flag for CYGWIN port only * configure.in: Added --enable-debug flag to enable -g flag 2000-11-22 Ales Hvezda * src/o_move.c, x_event.c, o_basic.c: Finished adding the code to support the netconn-rubberband rc keyword 2000-11-21 Ales Hvezda * src/g_rc.c and friends: Added netconn-rubberband rc keyword which controls if the net connection rubberband code is enabled 2000-11-16 Ales Hvezda * src/o_move.c: Added support to the various o_move_* functions for midpoint connections when moving objects around (basically added o_move_check_midpoint) * src/o_move.c: Added calls to the creation and destruction of the nethash table (supporting above) * src/o_move.c: Changed all stretch_tail instances (when passing into s_stretch_add) so that duplicates can be check for (and prevented) 2000-11-12 Ales Hvezda * src/o_move.c: Started working on the first cut of the net/pin/bus stretch while doing a move * src/*.c: Removed all traces of the old stretch callback etc... * include/x_states.c: Removed all traces of the old stretch command * src/o_delete.c: Removed static flag from o_delete_net (for use in o_move_end_rubberband) * src/o_delete.c: Removed static flag from o_delete_bus (for use in o_move_end_rubberband) * src/o_basic.c: Added a call to o_move_stretch_rubberband to erase old rubberbands (when doing a move and switching from free to constrained move) * src/x_event.c: Added calls to o_move_stretch_rubberband * src/o_net.c o_bus.c: Added some routines to support above * src/x_window.c: Oops forgot to init ftwindow which will cause a core dump on some systems, fixed 2000-11-09 Ales Hvezda * src/x_dialog.c: Fixed a core dumper. Basically did not unselect the text attribute before you deleted it via the multi attribute dialog box. (Pointed out by Chris Ellec and Stefan). 2000-11-04 Ales Hvezda * src/o_undo.c: Added code to use the new hierarchy saved state variables * src/i_callbacks.c: Misc variable initing * docs/: Added new directory, and put gschem.txt inside 2000-11-03 Ales Hvezda * src/i_callbacks.c: Oops, forgot to save the undo state after pushing down into a hierarchy (schematic and symbol) 2000-10-31 Ales Hvezda * lib/system-gschemrc.in: Added some comments (based on feedback from Arnim Littek). 2000-10-29 Ales Hvezda * src/a_pan.c src/a_zoom.c: Integrated bug fixes and much needed improvement to zoom / pan functions (patch by Werner Hoch) Thanks * src/a_pan.c: Fixed a long standing annoyance with mouse pan: near the borders the display would jitter, very annoying * src/g_register.c etc...: Added support for hotkey for edit_filltype * lib/system-gschemrc.in: Added hotkey for edit_filltype * src/x_dialog.c: Intergate slot change patch by Chris Ellec (change the slot attribute and a the symbol updates; with minor modifications by AVH) 2000-10-26 Patrick Bernaud * examples/fill_test.sch: Added example schematic to demonstrate fill capabilities * src/o_arc.c, o_line.c: Minor changes to line type support * src/o_box.c, o_circle.c: Added fill (both solid and pattern) to boxes and circles (also misc line type changes). * src/x_dialog.c, x_menu.c, i_callbacks.c: Added fill style dialog box 2000-10-10 Stefan Petersen * src/gschem.c, src/i_callbacks.c, src/x_fileselect.c, src/x_preview.c f_open calls silently ignores the error code returned. 2000-10-07 Ales Hvezda * src/g_rc.c: Removed a #if defined around #include for CYGWIN32 * src/x_fileselect.c: Removed a #if defined around #include for CYGWIN32 * configure.in config.h: Removed an old GTK+ test which is not longer used 2000-10-06 Ales Hvezda * src/*.c: Removed all // comments * src/gschem.c: Changed CYGWIN32 warning message * src/o_arc.c: Patrick checked in a rotate fix for arcs * src/o_misc.c: Added *_erase_grips calls to o_rotate_90 and o_mirror * src/o_slot.c: Fixed a core dumper. Basically tried to use text paramters when instead wanted to use the complex structure 2000-10-05 Ales Hvezda * src/x_dialog.c: Also remove the log window and the page manger from the raise dialog function * src/o_move.c: Added a missing erase grip function for boxes * src/o_delete.c: Added a bunch of erase grip functions for all primitives * src/o_circle.c: Added code to support circles * src/o_grips.c: Added code to support circles * src/o_circle.c, o_line.c, o_box.c: Made sure the line width was 0 before drawing all grips * src/*.c: Added draw-grips *rc keyword and enabling/disabling code * src/o_grips.c: Oops forgot to update the CHANGED flag at the end of o_grips_end * src/o_grips.c: Put in a o_redraw at the end of grips; We'll see if this is acceptable * src/o_.c: Added some defaults to various error conditions to prevent visual errors and core dumps * src/*.c: Fixed all -Wall warnings * src/o_complex.c: Added o_complex_place_rotate (allows you to rotate a component before you place it) * src/x_event.c: Added code to call o_complex_place_rotate * src/x_dialog.c: Removed some code (o_undo_savestate) which didn't belong * src/x_dialog.c: Added line type / line width dialog box * src/i_callbacks.c: Added code to call new line width / line type dialog box * src/x_menus.c: Added Edit/Line Width & Type menu option * src/*.c, lib/system-gschemrc.in: Added hotkeys for Edit/Line Width & Type 2000-10-04 Ales Hvezda * src/o_line.c: Added code to draw grips * src/o_grips.c: Added new file which will contain code which deals with drawing grips * src/x_event.c: Added calls to grip routines * src/o_net.c: Added code to draw grips * src/o_pin.c: Added code to draw grips * src/o_bus.c: Added code to draw grips * */*: Removed all calls to *stretch functions * src/x_dialog.c: Removed the file/component selection dialog box from the "raise on expose event" * src/o_move.c: Added grip erase function calls to clean up any droppings * src/o_box.c: Added code to draw grips * src/o_grips.c: Added support for box grips 2000-10-02 Ales Hvezda * src/o_arc.c: Renamed all d1 to length and d2 to space Misc number to #define substitutions * src/o_line.c: Renamed all d1 to length and d2 to space Misc number to #define substitutions * src/o_box.c: Renamed all d1 to length and d2 to space * src/o_circle.c: Renamed all d1 to length and d2 to space * src/o_*.c: Found a minor bug in o_*_draw which caused primitives to sometimes not be drawn * src/o_box.c: Renamed box_width to line_width (when it applied to the thickness of a line) * src/o_*.c: Made sure the thickness of all graphic contexts are 0 before starting to draw 2000-09-26 Ales Hvezda * src/o_arc.c: Intergrated changes to the arc primitive by Patrick Bernaud * src/o_box.c: Intergrated changes to the box primitive by Patrick Bernaud * src/o_circle.c: Intergrated changes to the circle primitive by Patrick Bernaud * src/o_line.c: Intergrated changes to the line primitive by Patrick Bernaud * Above files: Removed temporary function prototype * src/create_proto: Update to be more general like libgeda's version (but it is slightly different) 2000-08-30 Stefan Petersen * Added auto-uref.scm and print-NB-attribs.scm scheme programs. Changed scheme/Makefile.am accordingly and reran automake. 2000-08-28 Stefan Petersen * Fixed bug in configure.in. Probably a bug in autoconf. Now it should work to configure when libguile is dependent on other libs. 2000-08-26 Stefan Petersen * Cleaned up configure stuff and added guile.m4 to enhance guile configuration. 2000-08-22 Stefan Petersen * configure.in/configure: Made configure look for scm_run_hook in libguile. 2000-08-21 Ales Hvezda * src/o_text.c: Converted all complex references to use the new complex pointer inside text structure * src/o_text.c: Added o_text_draw_lowlevel * src/o_complex.c *.c: Converted all complex references to use the new complex structure * src/*.c: Went through all code and made sure code compiles with all the renamed variables 2000-08-20 Ales Hvezda * src/o_arc.c: Converted all line_points references to use the new arc structure * src/o_box.c: Converted all line_points references to use the new box structure * src/o_text.c: Converted all text_* references to use the new text structure * src/o_text.c: Found a long hidden bug, wasn't properly recomputing screen_x and screen_y for text items * src/*.c: Converted all text_* references to use the new text structure * src/o_line.c: Converted all line_points references to use the new line structure * src/o_net.c, o_pin.c, o_bus.c: Changed o_line_visible's parameters to be correct (use line structure). * src/o_pin.c: Converted all line_points references to use the new line structure * src/o_net.c: Converted all line_points references to use the new line structure * src/o_bus.c: Converted all line_points references to use the new line structure * src/o_stretch.c: Converted all line_points references to use the new line structure * src/o_attrib.c: Converted all line_points references to use the new line structure * src/o_conn.c: Converted all line_points references to use the new line structure 2000-08-17 Ales Hvezda * src/x_dialog.c: Fixed a bug pointed out by Martin Benes. Martin also provided the bug fix. Thanks. Needed to init the "selected" data item to -1. 2000-08-12 Stefan Petersen * src/g_hook.c: Added. Contains hook support functions. * src/Makefile.am: Added above source file. -> all Makefile* and configure are regenerated. * src/globals.c, include/globals.h: Defined three hooks; *_component_hook * src/g_register.c: Init attrib smob stuff and defines hooks * src/o_complex.c, src/o_copy.c, src/o_move.c: Calls to hooks added * include/prototype.h: two hook support functions. 2000-07-20 Ales Hvezda * src/x_event.c: Fixed a bug in the middle mouse button move when you pressed the shift key and had the mouse over an existing object. Now the object is not selected. 2000-07-04 Ales Hvezda * src/*.c: Updated copyright info in each file * src/*.c: Changed all GNU to GPL in the appropriate places * src/x_multimulti.c: Added copyright banner to file * src/g_rc.c: Added a #ifdef to the #include to make Cygwin builds happy * configure.in: Bumped version up to 20000704 * src/*.c: Removed all warnings 2000-06-27 Ales Hvezda * src/o_undo.c: DOH! Didn't #include which caused rint to cause highly unpredictable behavior (core dumping). Fixed * src/o_undo.c: Added code to look for undo save data when you zoom and then make a schematic change (zoom undo does not store state of schematic), so you have to go looking for the data. * src/g_rc.c: Added component-library-search rc keyword which implements the automatic searching and adding of component libraries given a directory (requested feature for Steve Williams) * src/g_register.c: Added code to support component-library-search rc keyword * src/g_rc.c, src/g_register.c: Added very similar code to above to support source-library-search rc keyword * src/x_dialog.c (bunch of other files): Fixed attribute add bug where when Add/Attribute... is execute from the menu and the attribute text location is weird. * src/g_register.c, src/i_callbacks.c, src/g_key.c: Added new function add-attribute-hotkey to support above * lib/system-gschemrc.in: Added add-attribute-hotkey in the appropriate place (in the keymapping structure) 2000-06-26 Ales Hvezda * src/o_buffer.c: Indentation nit fixed * src/o_undo.c: Added a bunch of code to deal with the new object_head pointer in the undo struct (for doing in memory undo) * src/g_rc.c, src/g_register.c, src/i_vars.c, include/i_vars.h: Added code to support undo-type rc keyword * lib/system-gschemrc.in: Added undo-type rc file /***********************************************************************/ /* NOT DONE */ src/*.c: Removed all traces of the ADDING_SEL flag /* NOT DONE */ /***********************************************************************/ * src/a_zoom.c, src/a_pan.c: Moved some of the redraw functions around * src/x_event.c: Changed one of the o_redraw_all_fast functions to be a plain old simple o_redraw_all * src/o_move.c: Putzed around with the NET move code case to see if I could improve the net_conn drawing problems. Not much success though (probably broke things) * src/a_pan.c, src/a_zoom.c, src/x_event.c, src/i_callbacks.c: Removed o_undo_savestate from zoom and pan functions (for now, eventually routines need to go back in) * src/o_undo.c: Added a flag to the save state function which allows for you to just store viewport info (and not the whole schematic); speeds up zooming/panning a lot * src/o_undo.c: Fixed code so that zoom factor is calculated after an undo 2000-06-23 Ales Hvezda * src/x_fileselect.c, src/i_callbacks.c: Removed the "unselect all before save" call since the lowlevel routines in libgeda now take care of saving primitives correctly * src/o_undo.c: Moved undo_* pointers into page structure * src/o_undo.c: Moved chunks of code into libgeda/src/s_undo.c (init and free function) * src/x_window.c: Removed o_undo* function calls (now the exist in s_page_* in libgeda) * src/o_undo.c: Added global init and clean functions * src/gschem.c: Added some global init and cleanup undo func calls * src/g_rc.c, src/g_register.c, src/i_vars.c, include/i_vars.h: Added code to support undo-levels and undo-control rc keywords * lib/system-gschemrc.in: Added undo-levels and undo-control to rc file * src/gschem.c, src/i_callbacks.c, src/x_fileselect.c, src/x_window.c: Added a o_undo_savestate immediately after you open/create a new page * src/*.c: Added an o_undo_savestate after all code which causes a schematic change * src/a_zoom.c, src/a_pan.c, src/x_events.c: Added an o_undo_savestate after all zoom/pan type code 2000-06-22 Ales Hvezda * src/o_undo.c: Added new file which includes higher level undo management routines * src/x_window.c: Added undo init and free routines * src/o_line.c: Added first call to o_undo_savestate in o_line_end * src/g_key.c, src/i_callbacks.c: Added new key callbacks (for undo and redo) * src/g_register.c, lib/system-gschemrc.in: Added keys U and R for undo and redo * src/x_menus.c: Added undo and redo to the menu 2000-06-08 Ales Hvezda * src/o_buffer.c: Fixed bug which was causing buffers which are pasted to be misaligned * src/x_dialog.c, src/o_attrib.c: Changed the bug fix with o_attrib_add_attrib and gschem crashing to now just not attach the attribute, now o_attrib_add_attrib cannot return NULL (returns the new text object always) * src/o_attrib.c: For some odd reason I wasn't using the color variable in o_attrib_add_attrib, fixed that. Also attributes which are floating should not be yellow (attached color), so they are now red which signify a floating attrib. It is the user's responsibility to change the color to something else. The red is meant as a warning that this attribute isn't attached to anything. 2000-06-04 Ales Hvezda * lib/system-gschemrc.in: Made net-consolidate enabled by default * src/i_vars.c: Made net_consolidate variable enabled (TRUE) * src/x_dialog.c: Added an if to make sure returned object from o_attrib_add_attrib isn't NULL (that can happen if you try to attach an attribute to another text item). This bug caused at least one core dump. 2000-06-03 Ales Hvezda * src/g_rc.c, src/i_vars.c: Added continue-component-place *rc keyword (functions and variables) * lib/system-gschemrc.in: Added continue-component-place keyword 2000-06-01 Ales Hvezda * src/g_rc.c, src/i_vars.c: Added promote-invisible *rc keyword (functions and variables) * lib/system-gschemrc.in: Added promote-invisible keyword * src/o_complex.c: Removed some lame cleverness related to the attribute_promotion variable (it was being used instead of a real flag which lead to some ambiguous code) * src/g_rc.c, src/i_vars.c: Added keep-invisible *rc keyword (functions and variables) * lib/system-gschemrc.in: Added keep-invisible keyword * lib/system-gschemrc.in: Spent a little time cleaning this file up. (more whitespace, a few missing comments) 2000-05-29 Ales Hvezda * src/o_complex.c: Added Martin Benes' changes which implement the promotion and attachment of floating attributes when you instanciate a component. * src/o_complex.c, src/g_rc.c, src/i_vars.c: Made the above code configureable through the *rc files (keyword: "attribute-promotion") * lib/system-gschemrc.in: Added attribute-promotion keyword (enabled by default) 2000-05-27 Ales Hvezda * src/o_misc.c: Oops, had a typo in o_rotate_90 which caused boxes to be rotated but not drawn * src/x_dialog.c: In the multimulti dialog box, give the value entry the keyboard focus by default (when an attribute is selected) Written by Martin Benes * src/x_dialog.c: In the multimulti dialog box, hitting return in the value entry caues the dialog box to close Written by Martin Benes * src/x_dialog.c: In the atribute edit dialog box, give the value entry the keyboard focus by default Written by Martin Benes * src/x_dialog.c: If you add an attribute to a net, the name entry gets a default value of "label" Written by Martin Benes * src/x_dialog.c: When adding an attribute to an object using the attribute add dialog box, the current mouse location is used as the origin point for the new text item. Written by Martin Benes * src/x_event.c: After placing a component (using the place dialog box), immediately starting placing the same dialog again. Written by Martin Benes 2000-05-23 Ales Hvezda * src/globals.c: Renamed buffers to object_buffers * src/x_event.c: Added the beginning of the event states which will be needed to implement the buffer copy/paste * src/x_event.h: Added states (STARTPASTE and ENDPASTE) to the state enumerated type * src/Makefile.am: Added o_buffer.c * src/o_buffer.c: Finished adding o_buffer_paste_* routines * src/o_buffer.c: Finished adding o_buffer_copy and o_buffer_cut routines * src/x_menus.c: Added Buffer pulldown menu as well as the menu items inside * src/globals.c: Added #include ".../globals.h" * src/i_callbacks.c: Added a huge bunch of callbacks to support the buffer paste/copy/cut feature * src/x_window.c: Added o_buffer_free to allow for the tracking down of memory leaks with ccmalloc * src/g_key.c: Added buffer_* calls as guile registered functions * lib/system-gschemrc.in: Added keystroke hotkeys for buffer functions * lib/system-gschemrc.in: Changed raise-dialog-boxes-on-expose to be enabled by default. Let's see if anybody complains 2000-05-22 Ales Hvezda * src/i_callbacks.c: Started experimenting with the concept of global (across all windows/pages) buffers to hold cut and paste type objects * src/globals.c include/globals.h: Added OBJECT *buffers[10] array for cut and paste type operations between pages * src/o_copy.c: Found and fixed a bug which caused circles to be copied incorrectly * src/o_complex.c: Removed some #if'ed out ancient code * src/gschem.c: Added some init code to main() to handle the highly experimental buffers * src/i_callbacks.c: Found a minor bug in the new experimental routines (was copying to the wrong end of the object list) 2000-04-21 Ales Hvezda * lib/system-gschemrc.in: Changed the default case to be both (allow both lower and upper case characters when entering text) * lib/system-gschemrc.in: Added footprint attribute name to attribute-name list 2000-04-16 Ales Hvezda * src/i_callbacks.c: Worked more on the source= and hierarchy down schematic feature by adding the ability to have multiple filenames (comma seperated) in the source= attribute (Idea by Thepthai Tabtieng) * src/i_callbacks.c: Fixed the Attribute/Attach... segfault (added an if ...) (Bug pointed out by Stefan, Thanks) * src/i_callbacks.c: Added the ability to search for the source= attribute inside the symbol if it isn't found attached to the outside of the symbol (omission pointed out by Thepthai Tabtieng). If you attach source= attribute to the outside, then inside is NEVER searched. * src/x_window.c: Oops forgot to init and destroy w_current->sewindow Oops forgot to init and destroy w_current->mawindow Oops forgot to init and destroy w_current->aewindow * src/x_dialog.c: Added x_dialog_raise_all which raises all dialog boxes if they are displayed * src/g_rc.c: Added raise-dialog-boxes-on-expose rc keyword to control above 2000-04-15 Ales Hvezda * src/create_proto: Updated prototype.h creation script to use gtk/glib paths from my machine (installed in /usr/local ...) 2000-03-23 Ales Hvezda * src/o_net.c: Removed the stupidity of unselecting the selection when we consolidate nets * src/o_text.c: Fixed both instances of the fast text drawing code for 90 and 270 rotated text (line was going the wrong direction). * src/o_text.c: Alsmot got the length of the fast text line right. Still not perfect, but better * src/o_slot.c: o_slot_end, got the changing of sloting to look right with the new selection mechanism 2000-03-20 Ales Hvezda * src/o_misc.c: Got o_embed and o_unembed working with the new selection mechanism * src/o_misc.c: Got o_lock and o_unlock to use a new variable (locked_color) instead of the selection reserved variable saved_color * src/o_misc.c: Added some diag messages to lock and unlock routines * src/o_net.c: Introduced a hack which simplifies the handling of net consolidation and selections (unselect everything before you attempt consolidation) Not a good solution, but for now it will do. * src/*.c: Removed most // comments 2000-03-16 Ales Hvezda * src/o_misc.c: Got o_mirror totally working with new selection mechanism 2000-03-15 Ales Hvezda * src/i_callbacks.c: Got the parameters to o_mirror correct * src/o_misc.c: Started getting o_mirror to work with new selection mechanism (still has some serious bugs) 2000-03-12 Ales Hvezda * src/Makefile.am: Removed obsolete i_sbox.c from Makefile * src/x_dialog.c: Got color edit dialog box to work with new selection mechanism 2000-03-10 Ales Hvezda * src/o_basic.c: Added o_redraw_all_fast (which is a faster version of o_redraw_all) * src/a_pan.c: Made mouse pan use the above routine * src/x_event.c src/o_text.c: Added code to increase the speed of the mouse pan (by not drawing all the text) * src/a_zoom.c src/x_event.c: Also speed up zoom box and zoom in/out with new faster redraw function * src/g_rc.c and friends: Added fast-mousepan keyword which controls if text is drawn during a pan or not. * src/o_misc.c: Fixed up o_edit to work with new selection mechanism * src/o_misc.c: Cleanup of code which calls the multi_* functions to be simpler * src/x_dialog.c: Got multi_attrib_edit to work with new selection mechanism * src/x_multimult.c: Got multi_multi_edit to work with new selection mechanism 2000-03-09 Ales Hvezda * src/i_callbacks.c: Got attribute attach and detach working with the new selection mechanism 2000-03-08 Ales Hvezda * src/o_copy.c: Got the setting of color on detached attributes right * src/o_attrib.c: Fixed a bug where you could pick an object with attributes and then deselect it and then select it again, and you would end up with invalid colors for the attributes. (in o_attrib_add_selected) 2000-03-07 Matt Ettus * src/x_multimulti.c: Moving along on dialog box Shouldn't segault anymore, looks nicer. 2000-03-05 Ales Hvezda * src/x_image.c: Unselected all objects first before writing image * src/x_print.c: Unselected all objects first before writing postscript * src/o_text.c: Got text edit to work with new selection mechanism (proper erase before and redraw after the edit) * src/o_text.c: Got attrib text edit to work with new selection mechanism * src/o_attrib.c: Fixed toggle visibility to work with new selection mechanism * src/o_select.c: Fixed a bug where you could select invisible objects using the selection box and caused other invisible objects to be selected (don't consider invisible objects for anything). * src/Makefile.am: Removed old *.h entries * src/o_attrib.c: Fixed o_attrib_toggle_show_name_value to work with the new selection mechanism * src/o_misc.c: Got Edit/Show Hidden... working again. 2000-03-04 Ales Hvezda * src/o_basic.c: Combined o_drawbounding and o_drawbounding_new into a single function. * src/o_complex.c: Put the new o_drawbounding into place (new prototype, which means all instances need to be fixed) * src/o_basic.c: More o_drawbounding cases fixed * src/o_basic.c: Fixed a bug where text would not be draw properly if a redraw came in the middle of a place * src/o_text.c, o_attrib.c: Fixed o_drawbounding in code * src/*.c: Fixed rest of the o_drawbounding[_new] in the code 2000-02-28 Ales Hvezda * src/o_*.c: Added required o_*_erase functions * src/*.c: Continued work on getting new selection mechanism working * src/o_misc.c: Finished a few of the functions for above, but #if 0'ed out the rest * src/o_slot.c: Update function for new selection mechanism * src/o_stretch.c: Update function for new selection mechanism * src/o_copy.c, o_move.c, o_delete.c: Basically working again. Still have lots to work here. * Finished first draft of selection mechanism rewrite... _a lot_ of things still broken 2000-02-28 Matt Ettus * Makefile.am: Added x_multimulti.c * o_misc.c: Added call to multi_multi_edit * x_multi_multi.c: New File, contains beginnings of multi component attrib editor dialog 2000-02-27 Ales Hvezda * src/o_selection.c: Added new selection code * src/o_find.c: Added new object find function * src/o_select.c: Added new object selection code * src/*.c: Changed #define SELECTION to SELECTION_FLAG in all the code * src/*.c: Changed #define NORMAL to NORMAL_FLAG in all the code * src/*.c: Started work on using new selection mechanism, got basic selection (single/multiple) working * src/o_misc: Fixed a minor bug in o_unlock (will be rewritten anyway) * src/o_attrib.c: Renamed deal_attrib to o_attrib_add_selected * src/o_basic.c: Removed a whole bunch of old functions * src/*.c: Started removing all traces of the old selection mechanism * src/o_basic.c: Removed a bunch of functions which are no longer needed * src/o_move.c: Rewrote the functions to use new selection mechanism * src/o_copy.c: Rewrote the functions to use new selection mechanism * src/o_delete.c: Rewrote the functions to use new selection mechanism * src/o_misc.c: Rewrote the functions to use new selection mechanism * Still todo/broken is o_drawbounding, o_erasebounding, an o_attrib_slot_copy?, referenced to undraw unselect functions, and need to write a bunch of _erase functions 2000-02-25 Ales Hvezda * configure.in: Added gtk+extra widget set (libgtkextra.*) to the link list of gschem (linked in only if it is installed) 2000-02-23 Ales Hvezda * src/gschem.c: Fixed a bug in the parsing/locating of the first schematic filename commandline parameter 2000-02-19 Ales Hvezda * README/INSTALL: Updated files to reflect next release * src/*.c: Removed all // comments (changed to /* */) * src/i_callbacks.c: Got rid of setup_attr_selector, instead now calling attrib_edit_dialog directly * src/*.c: Fixed all warnings (using -Wall -Werror) 2000-02-17 Ales Hvezda * src/o_text.c: Put the text origin markers in the backingstore so they show up when you open up initally in the window. * src/o_text.c and friends: Added text-origin-marker keyword to control if the markers are displayed or not * src/o_text.c: Added the ability to edit the text alignment using Edit/Edit... (or Edit/Edit Text...) * examples/*.sch: Loaded and saved all example schematics so that they use the new text format 2000-02-16 Ales Hvezda * src/o_misc.c: Selecting Edit/Edit... on nets, buses, and pins now brings up the multi-attrib * src/*.c: Update a bunch of files to use call o_text_add with the extra text alignment parameter * src/o_text.c: Added a small x where the origin of a text object is when the text item (only as debugging, might be perm later) 2000-02-16 Matt Ettus * src/x_dialog.c: Lots of changes to finish and clean up the multi-attrib editor. Code is cleaner now, too. 2000-02-15 Ales Hvezda * src/o_attrib.c: Made o_attrib_add_attrib return a pointer to the attached (or new) attribute. * src/i_callbacks.c: Update one of the misc callbacks to test above change 2000-02-01 Ales Hvezda * src/x_pagesel.c: Added a hierarchy level flag as well as rearranged the page manager dialog box a little bit * src/i_callbacks.c: Added code to go up the hierarchy if you close an underlying page first. * src/i_callbacks.c: Bug fix to make all hierarchy down opened pages be zoomed limits * src/i_callbacks.c: Bug fix to page revert to make sure hierarchy info is preserved when a page is closed and reopened. 2000-01-25 Ales Hvezda * src/i_callbacks.c: Added code to allow you to specify a lower (source) schematic use the source= attribute * src/x_dialog.c: Fixed that bug which I introduced in the multi-attrib edit dialog box which caused it to not open if a component with no attached attributes is selected * src/g_rc.c and friends: Added enforce-hierarchy rc keyword which controls if how easy it is to move between hierarchy levels * src/x_dialog.c: Increased the height of the multi-attrib edit dialog box by using gtk_widget_set_usize function * lib/system-gschemrc.in: Add source attribute name to attribute-list * src/x_dialog.c: Gave multi attrib, slot edit, and attrib edit their very own entries in the toplevel structure (mawindow, sewindow, aewindow). Also gave slot edit it's very own entry "entry" (seentry) * src/o_misc.c: Added checks in o_edit to make sure that an attribute is really an attribute (='s not sorrounded by spaces) * src/x_dialog.c: Hopefully got the grab for attribute edit dialog and multi attribute dialog boxes working * src/i_callbacks.c and friends: Added edit_text callback just so that the user an forcely edit text even if that text is an attribute 2000-01-26 Matt Ettus * src/x_dialog.c: Added capability for Edit Attribute Dialog to handle attribute additions also * src/x_attrsel.c: Commented out old attrib add, made it call new dialog. NOTE: The way it calls the new dialog is kind of indirect. 2000-01-25 Ales Hvezda * src/o_attrib.c: Added o_attrib_add_attrib which takes some parms and adds a text attribute to the selected object. * src/i_callbacks.c: Modified misc-misc callback to test and demo the above function. 2000-01-19 Matt Ettus * src/x_dialog.c: Merged in Ales's changes * src/x_dialog.c: Lot's of rework on multi-attrib editor 2000-01-18 Ales Hvezda * src/x_dialog.c: Moved some code around and added a check to the multiple attrib edit dialog box so gschem won't crash * src/x_dialog.c: Filled a string (text[1]) with some thing to avoid garbage chars in the multi edit dialog box * src/o_delete.c: Make o_delete_text a non-static function (so that it can be used in routines/files * src/x_dialog.c: Got the delete callback on the attribute edit dialog box working (by calling o_delete_text) * src/x_dialog.c: Moved the "hint" to the multi attrib edit dialog box to place itself at the mouse pointer location (gtk_window_position) to be closer to the creation time of the window to avoid dialog box placement gitter. * src/x_dialog.c: Added a few memory frees to avoid memory leaks 2000-01-17 Ales Hvezda * src/i_callbacks.c: Renamed Hierarchy menu options * src/g_*.c: Added Hierarchy/Down Schematic and Hierarchy/Down symbol * src/x_menus.c: Added renamed appropriate menu options for above * lib/system-gschemrc.in: Updated hotkeys for above new callbacks * src/i_callbacks.c: Fixed page next and page prev to look at the page control variable 2000-01-13 Matt Ettus * src/x_dialog.c: Moved Multi-attribute editor here, improved it * src/o_misc.c: Added call to multi-attrib editor * Removed "Mattribute" menu item 2000-01-12 Matt Ettus * src/x_dialog.c: Fixed attrib editor dialog to comply with UI guidelines 2000-01-08 Ales Hvezda * src/o_text.c: Fixed o_text.c so that it works with Matt's dialog boxes. * src/x_dialog.c: Minor comment updates 2000-01-07 Matt Ettus * src/o_text.c: Update o_text_change to properly change the selection as well as the real objects 2000-01-07 Matt Ettus * Added Individual Attribute Editor (nearly done) * Added Multiple Attribute Editor (only displays) * include/prototype.h: added my proto's. Please regenerate * src/i_callbacks.c: Added callbacks for 2 attrib dialogs * src/o_misc.c: Changed o_edit to call attrib edit dialog on attribs, text edit dialog on text * src/o_text.c: Added show options to o_text_change() * src/x_attrsel.c: Added start of new multiple attribute dialog * src/x_dialog.c: Added new single attribute editor dialog functions (all the attrib_edit_dialog* functions) * src/x_menus.c: Added "Mattribute" menu item for new dialog 2000-01-06 Ales Hvezda * src/i_callbacks.c: Created misc-misc2 and misc-misc3 callbacks and hotkeys (src/g_key.c src/g_register.c lib/system-gschemrc.in) * src/o_text.c: Created o_text_change which takes a text object, a new string, and a visiblity flag and recreates that text object. 2000-01-04 Ales Hvezda * src/i_callbacks.c: Updated misc-misc callback to use the new o_attrib_return_attribs which now returns an object array 2000-01-03 Ales Hvezda * src/i_callbacks.c: Changed misc-misc callback to test out the o_attrib_return_attribs functions 2000-01-02 Ales Hvezda * src/i_callbacks.c: Minor bug fix deal with rotate/mirror modes not updating the status message on the bottom of the screen 1999-12-27 Ales Hvezda * src/x_menus.c: Added File/Revert Page to make Magnus happy. :-) * src/i_callbacks.c: Added code to implement above * lib/system-gschemrc: Added hotkey for revert page. * src/g_key.c and src/g_register: Changes to support above. * lib/system-gschemrc: Changed file script hotkey from "fr" to "ft" "fr" is now used for revert. * src/x_menus.c: Added Zoom limits/Zoom box to the right mouse button popup menu to make Mangus happy. :-) 1999-11-19 Ales Hvezda * src/x_menus.c: Added Zoom in and Zoom out to the third mouse button popup menu * src/parsecmd.c: Add -h (help) flag 1999-11-11 Ales Hvezda * src/x_fileselect.c: Fixed the dialog box title for the SAVEAS_CLOSE case * src/o_net.c: Fixed a nasty bug when enabling net consolidation and drawing non-ortho nets (non-ortho nets would disappear, since gschem thought it could consolidate them; it cannot not) * src/x_menu.c: Change Edit/Stretch to read Edit/Stretch Mode 1999-11-06 Ales Hvezda * src/x_fileselect.c: Fixed all calls to s_clib_getfiles with the right number of arguments (new filter argument) 1999-11-06 Ales Hvezda * examples/adders_1.sch: Fixed a label= attribute which was incorrectly spelled (1abel) 1999-10-19 Ales Hvezda * src/gschem.c: Found/Fixed an old bug which basically was causing the first argument to always be interpreted as a filename which isn't always true. 1999-10-18 Ales Hvezda * src/x_print.c: Added some error checking to properly log a successful print or error 1999-10-17 Ales Hvezda * src/g_rc.c: Fixed component-library and source-library keywords to add the current working directory (conditionally) to the specified path. This fixes the bug which Mike Jarabek pointed out when specifing relative path component/source libraries 1999-10-14 Ales Hvezda * src/x_fileselect.c: Changed Close button to be Cancel when doing Open... or Save As... (Stefan pointed this out) 1999-10-13 Ales Hvezda * src/x_fileselect.c: Fixed the callback setup for the enter key for Save As (so that it calls the save function instead of the open func) 1999-10-12 Ales Hvezda * src/x_fileselect.c: Changed filename_entry to be read-only when the dialog box is a Component place * src/x_fileselect.c: Made the search on files behave the same as on components (getting feedback when you have reached the end of the list) 1999-10-11 Ales Hvezda * src/x_fs.c: Got the component search working * src/x_fs.c: Changed all calls to s_clib_getfiles to use the new prototype (the extra param at the end) * src/x_filesel.c: Removed file from cvs repository * src/x_compsel.c: Removed file from cvs repository * src/x_fs.c: Renamed to x_fileselect.c * src/x_fileselect.c: Fixed all -Wall warnings * src/x_preview.c: Fixed all -Wall warnings * general: You can only place *.sym files as components. * src/o_pin.c: added o_pin_eraserubber() * src/o_stretch.c: Updated _end function to allow for the stretching of pins * src/x_window.c: Used the appropriate #defines for filedialog box init 1999-10-10 Ales Hvezda * src/x_fs.c: Lots of changes related to getting filedialog to act as the component place dialog box * src/i_callback.c: Made the new component place dialog box the default * src/x_log.c: Fixed memory leak (added x_log_free) * src/gschem.c: Added some free()'s for some vars which were allocated but never freed (in gschem_quit) 1999-10-09 Ales Hvezda * src/gschem.c: Added full path to page_filename (if filename doesn't start with a / * src/x_log.c: Added x_log_init to deal with the chdir gschem is doing now * src/x_fs.c: Lots of work to get file selection dialog box to work with saving * src/i_callbacks.c: Changed saveas and open to use new fileselect dialog box * src/x_filesel.c: Removed file from Makefile.am * src/x_dialog.c: Added x_destroy_window * src/x_fs.c: Made sure you can't open up a directory 1999-10-05 Ales Hvezda * src/x_fs.c: Changed filter entry to a filter option box * examples/filter_1.sch: misc updates (moved some symbols around so that they are connected to the right place) 1999-10-04 Ales Hvezda * src/x_fs.c: Fixed a coredump bug in x_fileselect_update_dirfile * src/x_fs.c: Added "enter key" callback to filename entry 1999-10-03 Ales Hvezda * Started serious work on new file/component select dialog box * src/x_preview.c: New file which hold preview window code * src/x_fs.c: New file which hold new fileselect/component place dialog box. * src/x_menu.c: Added File/Open (EXP)... and Add/Component (EXP)... entries in the top menu bar * src/g_rc.c: Added file-preview keyword * src/g_register.c: Registered above file-preview * src/i_vars.c, include/i_vars.h: Added default_file_preview and init * lib/system-gschemrc.in: Added file-preview keyword * In all *.c included defines.h before struct.h * src/x_window.c: Added x_fileselect_free_list_buffers * Much work still remains on the new file/component dialog box 1999-09-28 Ales Hvezda * src/x_menu.c: Added File/Page Close * src/i_callbacks.c: Added code to close the last visible page. Now it opens up a blank page and close the current visible page. * lib/system-gschemrc.in: Added hotkey for File/Close Page (fe) * src/x_dialog.c: Fixed the color selection menu on the color edit dialog box to display the right default color (color 1 - white) 9/25/99 Rearranged right mouse button menu (suggestion by Magnus) 9/23/99 Updated all the man pages (in all the program dirs) warning users to specify options first. 9/21/99 Fixed all the dialog boxes so that they listened to the WM_DELETE signal from the window manager Forgot to init iwindow to NULL Added a few gtk_widget_destroys to x_window_close which I forgot to add when I created the dialog boxes 9/20/99 Changed the project logo to GPL Electronic Design Automation instead of GNU ... 9/19/99 Make sure gschem runs with guile-1.3.2a Misplaced a bracket in x_event.c (gschem would not build if you did not have libstroke installed) Fixed all warnings Added OBJ_BUS and OBJ_PIN to the color change routine in the color edit dialog box 9/18/99 Increased world size to be much much larger. Hopefully this won't break anything. Fixed the extension code in i_callback.c to add the NULL character to the right place. Removed freestyle color 17, it was unnecessary, the IEC417 symbols can use the lock color (15). Fixed the grid drawing to draw the grid at the right zoom levels (since I doubled the world size) 9/17/99 Put some code into i_set_filename which truncates extra long files, so that the window size isn't affected. Changed the botton status bar a bit. - Removed the "Mouse buttons" label - Change the buttons to labels Added the "middle-button" keywork which allows you to control what the middle button is assigned to do. (also added keyword to system rc file) Added code to support the "move" mode of middle-button, which allows you to move stuff around by just clicking the middle button and moving the object. This only work on single objects, unless you select the objects ahead of time and then hold the shift key down and click somewhere OUTSIDE of an object. Renamed [left|middle|right]_button to _label Simplifed i_update_middle_button with using the new middle_button variable Added w_current->ALTKEY (so we know if the alt key is being pressed or not) If middle-button is "action" and you hold down the ALT key, the object will be copied instead of moved. Fixed the RETURN_G_RC_MODE macro. Added a number of entries parameter (size), since gschem was core dumping when you passed an unknown string to the mode functions. (sizeof(mode_table) was always returning # of bytes, not entries. Made the "action" mode the default for the middle-button Created freestyle-color which allows the user to create generic colors which can be used in the schematic. This should be used with great care, since these colors are not attached to any type of object. Fixed a bug in the color scheme used by the symbols, using the freestyle-color (color 7 which is the grid color, should not be used by symbols, created color 17) 9/16/99 Updated all the schematic/symbol opening functions so that only sch's/sym's which are not loaded are actually opened up. If a schematic is loaded and an attempt is made to open it again, gschem displays the original schematic 9/14/99 Fixed a really longstanding bug, you could not close gschem by using window manager functions, now you can. (Matt Ettus convinced me to finally fix this) 9/13/99 Inited hkwindow in all x_window.c and s_project.c (all other programs) Fixed all example schematics to make sure they display the v*-1.sym symbols properly Remove attribute_1.sch example schematic Fixed a keymapping error with show hidden text (renamed show hidden text keymap to "n") 9/12/99 Added g_funcs_key_name which is used in the list-keys.scm script and in the list keys dialog box Added g_funcs_key_value which is used in the list-keys.scm script and in the list keys dialog box Added g_funcs_key_done which is used in the list-keys.scm script and in the list keys dialog box Added x_dialog_hotkeys dialog box Added above dialog box to the menu Modified Stefan's list-key.scm script to fill x_dialog_hotkeys. It's pretty crude, but functional Unmodified Stefan's list-key.scm script and moved modified functions into gschem.scm Added hotkeys for Help/About... and Help/Hotkeys... Put a tear off bar on the Help menu Renamed Shift H (Help) to h (and change Hierarchy to Shift H) in the system-gschemrc file Adding net= attribute to the attribute selection list dialog box (put net in system-gschemrc.in) 9/7/99 Removed all the stupid function pointers I added yesterday Moved huge chunks of x_color.c into libgeda/src/s_color.c Cleaned up the code to reflect the above Re created embedded_1.sch (using all_1.sch) Finished up the color edit dialog box, by doing some rather questionable casting of int's to int *'s. 9/6/99 Finally fixed the very broken color system, now you can allocate any color for any object type (bus, net, background, select color) - Created x_color.c - Removed all global colors from globals.[ch] Except black and white - Fixed up x_window.c, gschem.c to call proper init functions - Fixed up g_rc.c to call proper x_color functions Also fixed up g_register.c - Added logic bubble color keyword / variable / init - Fixed up rc file to use the new system (a lot of cleanup) - Added zoom box color keyword / variable / init - Updated zoom box code to use above color - Added lock color keyword / variable / init - Made output-background-color an official color - A few updates to make the color allocation a bit more robust - Created x_color_ps_string which returns the ps string - Changed the default select color to orange... - Created ptr for image color specifing - You now get feedback that you specified an invalid color With the above changes, users MUST update their rc files to use the new color scheme. Things will fail badly if they try to use the old system Update all example schematic to use the text color (index for that is 9) Fixed a few -1's in the example schematics Almost got the color edit dialog box to work with this new color scheme 9/5/99 Removed some examples schematic from examples/ directory (moved them to the gnetlist/examples directory) Created all74_1.sch for testing purposes 9/4/99 Removed some obsolete stuff from include/globals.h 9/3/99 Update g_key to use gdk_keyval_name instead of XKeysymToString 8/31/99 Renamed ntext to text (finally) Updated the stroke mechanism to what Stefan suggested. Much better 8/30/99 Fixed a bug in the print dialog box, where it wasn't setting the state of the window to the previous states Fixed net stretch to only stretch ONE net for now Finally renamed all ALES -> CONN and ales -> conn 8/29/99 More work on getting bus midpoint cues to work Added bus_gc for bus cue drawing Fixed some bugs related to the visual bus cues Removed all warnings from the code Disabled bus stretching... still doesn't work Fixed stretch_start so that it doesn't try to start a stretch on an unsupported object Commented out the ps/png extension code in i_callbacks.c till it's debugged (next release) 8/28/99 Lots of work to get bus midpoint cues working 8/27/99 Set the program version to 19990829 to force Ales to release on the 29th :) Updated all *.c and *.h files to have the right address for the FSF in the copyright/licence header 8/20/99 Fixed a really really subtle bug in i_sbox.c wasn't checking for the head node. This bug causes some rather nasty coredumps. Hidden for so long, because of the way the selection head node was being initialized in the new leaner object creation scheme. Finished up the below dialog box cleanup Changed the image size from 1280x1024 to 1280x960 in the image/png creation, 1280x960 is the right aspect ratio. Temporarily disabled the extension replacement code in ps and image creation till it gets fixed. Default filename: output.* 8/19/99 Added x_create_dialog_box which is basically just like gtk_dialog_new but will hopefully clean up the code and this will work on the Windows platform. Replaced all instances of gtk_dialog_new with x_create_dialog_box 8/18/99 Added output-capstyle keyword which control the cap style for postscript output Added the idea of an invalid connection to pins Added o_ales_draw_invalid which draws the invalid cue Added code to o_pin to use above new function Removed some old code from o_ales.c Fixed a minor bug when writing an image, wasn't removing .sch from filename 8/17/99 Started adding bus object Added all bus base code Update system-gschemrc.in file 8/12/99 Fixed inconsistant naming of some g_key_*/i_callback_* functions (pointed out by Kazu Hirata, thanks) Started integrating crude net stretch code into the official devel source tree Added o_stretch.c to dist Update x_states.h to include STRETCH event state enums Added o_ales_find_closest Added stretch callbacks (i_callbacks/g_key_*/x_menu.c) Added event state machine code (x_event.c) Added key to keymapping in rc file Filled in some missing functionality Finish getting the above net stretch working, mostly. 8/5/99 Added some stuff to configure.in for win32 builds Added some misc #ifdefs to support the CYGWIN32 port 8/3/99 Added net-consolidate keyword to the rc file, controls if the net consolidation code is used or not. Fixed a very minor bug in x_attrib.c (dealing with order of which attribute combined name/value string) Upgraded to libtool 1.3.3 Due to the unfinishedness of net consolidation, it is turned off by default 8/1/99 Removed my_strdup() from i_vars.c and o_comples.c. (by Kazu Hirata) 7/31/99 Cleaned up *.c. (by Kazu Hirata) 7/27/99 Added o_net_consolidate_segments to o_net_end (so that when you draw nets, you get the minimum number of net segments (if possible)) 7/25/99 Cleaned up r_gc.c and i_callbacks.c. (by Kazu Hirata) 7/21/99 Found an attribute in test_verilog.sch to be attached to two objects, fixed. Removed all traces of s_passing.h 7/16/99 Cleaned up i_sbox.c and i_vars.c o_ales.c (by Kazu Hirata) Increased world coord space to 120x90, don't know if there are any side effects of this. Increased the max zoom factor to 256 Changed x_grid to be draw grid the grid at a larger zoom factor Reverted back to previous world coord space, adjusting above to match. Not ready for a change yet. 7/15/99 Added support for libgdgeda 1.6 (mainly means searching for libpng) Removed all traces of old libgdgeda 1.5 gif support replaced it with png support Changed menu name from Write Image... to Write PNG... Minor bug fix in the x_image dialog box code (o_redraw_all in the wrong place) 7/14/99 Wrote functions to handle file name extention in i_callback.c. Fixed a memory leak in g_funcs_print(). (by Kazu Hirata) 7/13/99 Cleaned up i_callbacks.c (by Kazu Hirata) 7/12/99 Moved the core of a_pan into a_pan_calc Implemented the zoom and pan to where the mouse is (center at the current mouse location). Only works with the hotkeys. Added i_callback_*_zoom_in_hotkey and *_zoom_out_hotkey 7/11/99 Chnaged the return values of the Scheme functions in g_*.c from 0 and -1 to #t and #f. Cleaned up gschem.c and i_basic.c. (by Kazu Hirata) 7/11/99 Cleaned up a_pan.c, a_zoom.c, g_key.c, g_funcs.c. (by Kazu Hirata) 7/10/99 Updated a few places where it's important to call set_window (part of the math speed improvements) Put in code that controls if text is either: xored (completely drawn) when doing a copy/move/place (the outline that's dragged) or a simple line is drawn. This makes the placing/copying/moving of large symbols faster Added an rc keyword to control above: text-feedback (either only-when-readable or always) Added text-display-zoomfactor to *rc file (control at which zoom factor text is displayed completely during operations like copy/move/place) Removed some // comments (should not use // comments in general) 7/6/99 Didn't really disable libgdgeda when using --disable-gdgeda Now fixed. 7/5/99 Added in manually configure.in patch Manu provided to help in his rpm building procedures Added pintype to attribute-name list in system-gschemrc Slightly rearranged attribute-name list Fixed all warnings Fixed some misc problems in configure.in (missing if test to make sure libgeda-config was found) Got configure.in to be almost identical to gnetlist/configure.in Updated man page a tiny bit 7/4/99 Added updated test_verilog_1.sch to the dist from Mike Jarabek Added an options menu to the image write dialog box 7/3/99 Went through all sample schematic and removed all zero length/etc... objects 7/2/99 Fixed the ./configure stuff dealing with libgdgeda so that it works when libgdgeda isn't installed in a system directory 7/1/99 Removed the libgd #include from all files (not needed) Fixed some stuff in configure.in (typos) 6/26/99 Fixed a bug dealing with the font-directory/scheme-directory/etc... which broke opening up a second window Fixed a visual annoyance: Place lots of components and inbetween each place there would be a redraw. Not necessary. Fixed. 6/25/99 Added the rc keyword "image-color" which controls if image is in color (enabled) or black and white (disabled) Added the start of mouse button pan. Added 'third-button' keyword to rc Added support to configure to look for optarg and friends otherwise include the right externs... Forgot to add the hotkey for Edit/Show Hidden Text Removed all traces of GTK_DEVEL Got mouse pan working, with the exception of the once it crashed my X server 6/24/99 Made the Image write dialog box go away once you pressed write 6/23/99 Added the first bits of support for the writing of images Added configure ability to find and turn off libgd support Added image-orientation keyword to control the future ability to write portrait and landscape images 6/19/99 Fixed a bug where you would select something and then visual cues would disappear when you hit redraw 6/10/99 Added support for this idea that hidden text is NOT created, main changes were in the hidding and unhidding of text items 5/31/99 Found a minor bug in move, not all nets were being redrawn Worked a bit more to reduce the flashing of nets/pins when a complex is moved Put a redraw in o_delete, just to make things look better after something is deleted I think I got the flashing (when doing move's under control now) A few updates to the sample schematics Added agile-vfo-block.sch to the dist finally (as an example schematic) Added the ability to change colors of objects from within gschem (finally) Added hotkey assignment for above dialog box 5/29/99 Worked some more on the copy operation for nets Added o_redraw_real (which redraws all objects given a list which might not be the real objects) Started updating the conn hash table in when nets are being drawn Added o_ales_draw_objects Added o_net_ales_erase Added o_net_ales_draw More updates to getting copy/move/rotate/mirror working for nets. Got copy/move/rotate/mirror working for nets only. Worked on getting copy/move/rotate/mirror working for pins Worked on getting copy/move/rotate/mirror working for complex objects (with contain nets/pins) Got pins to properly update visual cues when they are being drawn Got the adding of a component to update the nets properly Started removing the dead code from the previous connection scheme Tried to improve the "flashing" of net cues when you move something, but did not succeed. Added the show all hidden attributes function (useful with the new ability to have toplevel hidden unattached attributes) And everything required to implement the above Fixed that stupid log problem where if you couldn't open the log the log window would lose it's mind (fixed by disabling logging if you can't read/write the log file) If logging is off or disabled, don't show the log window on startup 5/28/99 Got ./configure working with gesym-config Misc integration work 5/16/99 Changed most #include's to include stuff from since libgeda is now totally seperate #include some missing includes (in g_rc.c) Removed -I../include from the Makefile just to force all includes to be included using a ../include path or libgeda/... Fixed up ./configure to use libgeda-config 5/99 Removed all traces of the old connection system All removals should be tagged with either CONNECTION or CONN Added new connection (called ALES and st_ales) structures Got gschem to use the includes from libgeda package GTK+ 1.2.x is now required due to the use of g_hash_table_lookup_extended Got misc callback to print out hash table structure Started work on getting delete to delete nets properly fixed old bug when you cancelled the drawing of a net, prog would erase too much started work on getting copy to copy nets properly Got gschem to properly update with nets added comma key to gschemrc files Removed all conn stuff from include/struct.h ---------------- Development division starts here -------------------------- 5/16/99 Removed some redundant labels from the coord window 5/14/99 Fixed an old bug dealing with the erase of the draw in progress net (erased way too much) 5/9/99 Removed some redundant code from o_move.c Fixed log-window keyword code to work with the later option. (didn't work at all) 4/18/99 Added some #ifdefs to the coord dialog box so that it compiles under gtk+ 1.0.x Make sure cowindow was being set to NULL. (caused a core dump otherwise) 4/17/99 Fixed coord dialog box to look right 4/15/99 Added coord dialog box Added callbacks for above Added hotkey (oc) for above 4/11/99 Added some more debugging information when reading in the .scm file Made the log window startup when gschem is run (updated all *rc files) Added log-window keyword which controls if the log window is opened when the program starts up Added the ability to make the log window transient or not (configurable through the log-window-type keyword) (only works with gtk+ 1.2) 4/9/99 Fixed Makefile.am so that gschem.1 is installed 3/27/99 As a request, added a default keymapping (Delete -> edit-delete) 3/25/99 Removed all traces of i_callbacks.h from the C files (haven't removed the actual include file yet) Changed x_window and x_menu so that those warnings about menufactory disappear (by using itemfactory with gtk+ 1.2.0) Involved adding the appropriate new functions to x_menu.c and modifing x_window.c Got rid of warning messages when you start up gschem With the new itemfactory stuff from gtk+ 1.2.x you can now have tear off menus Got the passing of callback data working with the menus Got all the popup menu i_callback_* functions to use the new callback parameter passing order Got all menu structure to work with the gtk+ 1.2.0 itemfactor (major pain) Went through and add the proper parameter passing order to *ALL* i_callback calls (major pain) Found that g_key_edit_mirror was calling the wrong i_callback function Fixed. Added some functions to x_pagesel to wrapper the i_callback_ functions since these i_callback_ functions were used a button click callbacks which take a different (the old one) function prototype. Missed a reference to a callback (last_callback) which is a pointer to a callback function, it too needs the new function prototype Changed the default text size in the C code to be 10, (it was 8, which was a really really old default value) rc file is the same as before (size in there is still 10) Added the ability to change the text size; added this to the Edit/Edit... dialog box Text size and snap size and (as before text edit) dialog boxes once again grab the focus for the whole app. This is because they share common variables 3/23/99 Added a menu option Help/About... Added callback/dialog box for above Put the code back into use which right justified Help menu option 3/21/99 Added code to warn the user if he/she tries to translate a symbol and the snap_size is not set to 100. Minor cosmetic changes to gschem.1 3/19/99 Fixed changed flag so that when you do some attribute associated actions, you are prompted for a save instead of just quitting When opening a symbol using hierarchy, filename at the bottom wasn't being set right 3/18/99 Updated g_rc_parse to use new macro for system-gschemrc file 3/17/99 Found one more instance of a uninit-ed variable (pwindow) (Thanks to Jeff McNeal for pointing out that things were not working under Solaris) 3/10/99 Fixed usage output to be somewhat more accurate 2/26/99 Fixed some labels since we are no longer supporting gtk+ 1.1.x Removed some duplicate strokes from the gschemrc's Made the stroke output (when running with the -t flag) a bit cleaner (and hopefully clearer) 2/25/99 Added stroke_info_mode (enabled with -t flag) so that users can get stroke related info Misc warning updates (missing prototypes) 2/12/99 Removed the o_ntext_free_all from x_window_close (actually just moved it so that it only is called once, when you quit) The call is in the right place now Added x_stroke_free_all which just frees all remaining stroke points Fixed a major bug dealing with multiple windows and the freeing of several common (rc strings) variables, which caused some bad behavior Added some more space to the above variable mallocs, since ccmalloc seemed to have some problems dealing with them, and there was enough space for the strings + null (there is now) Discovered why sometimes if you close a window you lose any subsequent log message (it's because I was closing the log file in the wrong place), fixed (the call is in the right place now) 2/11/99 Added call to s_stroke_free in gschem_quit Forgot to set the mode label to Select mode after a zoom box, fixed Added stroke sequence printing if verbose mode (-v) is on Added x_stroke.c which contains routines to record and erase the stroke points Changed it so that stroke points are only erased when a valid stroke is found. Leave invalid strokes around Added some more basic strokes to gschemrc Put back middle button repeat for when strokes are enabled. Holding down the control key and pressing the middle button executes the repeat command. Added "Stroke/" to the middle button repeat button label (only if strokes are enabled) Added stroke-color keyword (controls color of the mouse droppings) 2/9/99 Started work getting stroke support into gschem (using LibStroke) Added stroke_init to gschem.c Put a #ifndef ... around some code in i_basic.c Added most basic support to x_event.c Added stroke keyword to rc files Added s_stroke_search_exeecute to x_event.c Started adding most basic strokes to gschemrc 1/31/99 Made postscript font text ouput the default (output-text "ps") Updated page manager to work with gtk+ 1.1.x (scrolled window works better, but not 100%) 1/24/99 Added a read/execute guile script option (-s script_filename) Added a script file selection dialog box (for executing scripts) Added menu option and keymapping for File/Script Execute... Added global variable global_window_current, which will be used by various guile functions, since they have no idea which window they are executing for/in. (careful with multi windows anyway) Added command line flag -o (for specifing output an filename) Added file g_funcs.c which will hold basic guile functions Added gschem-print, gschem-exit, gschem-use-rc-values guile functions 1/23/99 Finally changed where the rc file(s) are read -- before the window is created. This allows for much more flexiablity in the user interface Found most of the bugs in above (I hope) Did some further rearranging in x_window.c so that above works better Added "scrollbars" keyword to the rc file, which controls if scrollbars are displayed or not (default will be on for now) Added "output-orientation" keyword to the rc file, which controls the default page orientation (landscape/portrait) Added support for portrait postscript printing to the print dialog box Changed the radio buttons (for print output type, limits/window) to be an options menu instead, much cleaner. Added some labels Fixed a minor bug in above (wrong label being displayed) Added "output-color-background" keyword for controlling the background color in postcript output (also added supporting code) (letter size sheets ONLY) Added "output-color" keyword for controlling if postscript is color or not Added "output-type" keyword which specifies "limits" or "current-window" Renamed keyword "text-output" to "output-text" just to be consistant Might eventually change output to postscript 1/21/98 Added a message to the start of gschem about the warnings when using gtk+ 1.1.x 1/12/98 Worked on x_attrsel.c and x_print.c to get them gtk+ 1.1.x compliant. 1/10/98 Spent some time working on the scrolled_window changes in x_compsel.c for gtk+ 1.1.x, still needs some work though 1/9/98 Started integrating patch for 1.1.x (provided by Egil Kvaleberg) (using GTK_DEVEL #define) GtkAcceleratorTable -> GtkAccelGroup (x_menu.c) GtkAcceleratorTable -> GtkAccelGroup (x_window.c) gtk_window_add_accelerator_table -> gtk_window_add_accel_group (x_window.c) Added a few #include where they were missing (compiler warnings for fabs) 1/06/98 Fixed some code in o_erase_* where a constant instead of a variable was being used for a color (BLACK -> w_current->background_color), pointed out by Anatole Sokolov 1/05/98 Incorperated negative grid point display patch by Mike Jarabek Found and fixed (I think) a bug with displaying schematics for the first time (after a load), display wasn't being zoomed limits if there where coordinates with negative values (display will not be zoomed properly, since negative values are not supported for scrollbars) 12/29/98 Changed x_grid_draw to draw to backingstore and then copy that to the drawing area, hopefully that'll speed things up when gschem runs over a lan? Commented out the above code, need to due some further testing. 12/15/98 Fixed line/pin/net to deal with the real clipping code Now all line related objects are being clipped, fixed the disappearing lines/nets/pins when zoomed in really close 12/13/98 Integrated Jeff McNeal transparent zoom/pan patch. It works, but it still needs some work, since panning and zooming while drawing nets/pins leaves xor droppings Added pin-color to gschemrc file. For some odd reason was missing. Also found another bug which was causing the pin color to be saved as -1, fixed Added File/Save All menu option and hotkey to save all documents and not bother asking. Added code to o_complex_end to support the concept of an included component, which basically is the inclusion of all the pieces of a component so they can be edited. Useful in symbol creation; you can reuse other components. Changed the add component dialog box to allow for a selection between the default, embed and now include ways of adding components. I don't like the way it works, so I'm probably going to go with a option menu instead of radio buttons Changed the above radio boxes to an option menu, much cleaner looking Found a place where I was trying to strcpy into a NULL rc_filename doh! 12/10/98 Finished adding the first step for autoconnect to the nearest net point Added o_conn_search_closest to search inside complex objects for the nearest pin Added an event_state = STARTDRAWNET to i_callback_add_net_hotkey to make the o_net_start connection code work Added o_conn_search_closest_range to search for the nearest pin/net with range Removed the net snapping stuff for now, it still needs a lot of work. Added command line argument -r (which specifies an rc file after it tries to read all the other standard rc files) Finally make rc_filename a pointer instead of statically allocating the space 12/9/98 Changed how circles are drawn, specify center point and then the radius. o_circle_start, o_circle_end, o_circle_rubberband Includes a line which shows the radius of the circle when you rubberband Changed the way the width of pins and nets is determined, now using the SCREENabs routine when drawing thick pins/nets Fixed the way the size of the endpoint/midpoint cues is calculated (o_conn_*) Minor circle cleanup: made sure radius is multiple of grid snap if snap is on; made sure final circle is drawn on backingstore 12/8/98 In order to fix the bugs below, have to rewrite some circle code, integrated changes to deal with struct.h changes and libgeda changes (o_circle.c) 12/6/98 Found the reason why dist was working all this time. Another bug with adding in a circle, o_circle_end, sending the wrong coord into the add function (dumb luck circles ever worked) 11/15/98 Changed the way the print dialog box works, no longer grabs the application focus. You can leave it open and print whenever you want Changed the size of the visual cues for nets (in o_conn.c) 11/10/98 Changed a label in the print dialog box: "Current Window" 11/8/98 Found a bug when drawing single point lines (ie line as zero length) Fixed by adding a (few) call for draw point in o_line_draw, not sure that's the best solution. Added zero length error checking code to all primitive objects ( interesting side effect, you can end net draw by drawing a zero length net and that stops the action ) Removed some code in o_arc.c which erased the rubberband line incorrectly You could segfault gschem by inputing a null string (nothing) and then hitting apply and drawing over to the drawing area. Fixed by moving x state change code inside the if "check if not null" (attribute add is okay) 11/7/98 After applying text input, highlight the selection in the dialog box (changed to behave this way) 11/6/98 Added some checks to prevent gschem from core dumping when you hit one of the special "microsoft keys" Added code to handle the new papersize list Added x_print.c (the printing dialog box) and supporting code Added paper-sizes keyword to rc file Added print_output_type init in i_vars.c Called new dialog box from i_callbacks_print Added some ... to the Print entry in the pulldown menu Got print dialog mostly working Added many entries in the *rc files for page-size and page-sizes 11/5/98 Added paper-size to gschemrc file (changes to g_rc, g_register) 10/30/98 Cleaned up (indentation, long lines) a_zoom and a_pan code a lot 10/28/98 Rearranged View menu a bit Applied patch by Manu for a_zoom_limits Had to make minor modifications to make above work on all cases. 10/27/98 Started to add zoom box code (a_zoom_box_*) Modified x_events.c and associated files to support above Finished off a_zoom_box_start/_end and the actual work function a_zoom_box() I think this works okay, but it's not perfect. Added hotkey zoom-box version and added key to keymaps in the *rc files 10/25/98 Cleaned up all warnings 10/24/98 Added slotting update to rotate/mirror code. Got keyboard shortcut implemented for the slotting Re arranged the edit menu Changed a few of the status lines in the copy/move (and hotkey) callbacks 10/22/98 Added code in o_read to update the slot if the last read object was a component Added o_attrib_slot_update in o_copy_end Added code to o_copy_end to deal with slotting (ie copy the info from the object that is being copied) and the selection list Updated o_slot_end to use the new o_attrib_slot_update Added o_erase_single, just as a function to make life easier Attempted to get the slot= attribute to be update and drawn correctly if it is visible. This does not work right yet. Got the first working version of the slotting done bug: Old component outline not being erased if you select a new component from the list (pointed out by Patrick Bertholon, thanks) 10/20/98 Added Stefan's and thi's latest gschem.scm - repeat-last-command doesn't cause a stack overflow - bit more paranoid code. - last-command-sequence (holds what it says) Change rc file guile primitive version to gschem-version 10/18/98 Added callbacks for change Slot... code Added o_slot_start which starts the change of a slot number Added dialog box for slot editing... Added o_slot_end which finished up the slot number change operation Split up some of the bigger functions in a_basic.c into o_move.c, o_copy.c, o_slot.c, and o_delete.c Worked some on o_slot_end, slot attribute value is being changed and added if needed as of today, but schematic not reflected. (to be finished later..) 10/17/98 misc minor fix to the rc file (text-input "ps") Applied patch by Roger which added variable snap spacing. 10/15/98 Increased the size of the component select dialog box Display ONLY symbols with the extension .sym, this implies that u symbols must end .sym to be displayed An attempt fix the arc bound box code of arcs, doesn't quite work 100%. 10/12/98 Added device attribute to the list of default attributes in the rc files Finally fixed an outstanding bug in the arc drawing/adding etc... (this fix might have broken arcs, but so far it looks good) 10/11/98 Added parsecmd.c (command line argument parsing) Simplifed the loading of schematic pages and incorperated above Added quiet_mode and verbose_mode to the command line arguments as well as the usage() function which exits Removed all warnings Added "graphical" as a default attribute in the rc files 10/9/98 Removed some #if 0 code and did some minor code cleanup Fix an asthetic problem (misc pin/net droppings in lower left corner when doing mirrors/rotates) Added thi's improved gschem.scm (not fully using all the new stuff in there yet) 10/8/98 Worked some more on mirroring of complex objects, almost got it completely right except for text inside complex objects I got the above fixed (with really ugly kludge) :-( will eventually get it totally fixed once I figure out how to flip/rotate text in place. 10/6/98 Added code to deal with mirror of complexs (mainly change to complex_add) 10/5/98 Added o_mirror (and all required support code, events, i_callbacks...) Added *_mirror_hotkeys Added g_key *mirror code 10/4/98 Changed default size for a 800x600 sized display Added text-output keyword to control how text is rendered 10/1/98 Fixed all warnings 9/29/98 Today starts the new release system: 19980929 Added code to properly keep attached attributes attached when you rotate a component Fixed a bug that was causing text to be saved twice (once as an attribute and once as a regular text item). 0.0.5 ------- 9/27/98 Discovered that selection_tail wasn't being set to tail in o_select Fixed. I think I got my kludge for rotating complex objects done. Need to de-kludge it one of these days Found a bug in o_complex_end, where the selection tail and the prev pointers where not being set Fixed the same bug in o_ntext_end Found/fixed a really nasty old bug in o_unselect_all where selection_tail wasn't being update at all Found/fixed a whole bunch more places where selection_tail (in o_select_*) wasn't being update (ie it was dangling) Fixed a bunch of places in the i_callback functions where the middle button short cut key wasn't been set to the hotkey version of the function Added selection_list code for rotating complex objects (ie once a complex is rotated, it stays in the selection list) Went back and change Edit/Rotate Primative to Edit/Rotate 90 in all applicable locations (x_menus, g_*, gschemrc.in files) Added code and a message stating that rotating an embedded component isn't possible yet. (it should be, but I'll worry about that later) Changed default pan behavior when you select it from the hotkey-- it pan using the current mouse position as the center Set zoom_scale to a constant in the code which determines whether we are drawing an sbox or just selecting single object Found a few more misused selection_tails in o_attrib (tag new ales) Go rid of net que droppings being left behind by rotate Added needed function call so that nets and pin associations are recalculated after a rotate 9/25/98 Worked some more on o_rotate (a_basic) Missed a zoom_scale/factor bug dealing with sboxes, you couldn't draw an sbox at high zoom factors. Now fixed, by removing multipler Removed all attempts at getting complex's rotating... that will be handled differently. Removed some dead code from i_callbacks.c (old ntext stuff) Changed o_rotate to o_rotate_primitives (fixed in all places) Changed menu option and rc files edit-rotate to edit-rotate-prim Edit/Rotate Primative Successfully intergrated rotate ntext into the o_rotate_primitive command 9/21/98 Minor gschemrc changes (keymapping fixes) Fixed a minor asthetic bug dealing with placing text and seeing a ghost image of the newly placed text (erase the bounding/outline box) (Migrated change to attribute place as well) Fixed a minor bug with the keymapping code, modifiers are no longer passed to the guile code Made the default select color grey Added ENDROTATE define to x_states.h Added i_callback_edit_rotate, g_key_edit_rotate and the guile register function Started changing rotate and "Add *" functions to start their actions the moment the hotkey is pressed Started adding code and support functions for edit-rotate (not finished yet) Fixed o_rotate to at least call the various o_*_rotate funcs 9/19/98 Added a few more hot key defs into the rc files Added no-action guile function to gschem.scm Changed 3rd button cancel for all modes (net/box etc..) so that it changes you into select mode Changed the way text is placed. Now it is similar to the way attributes are placed (dialog box comes up, type in text, move and place text) 9/18/98 Adding code to do the move/copy action change (action starts right away after mouse press Added edit-move-hotkey and edit-copy-hotkey to take above change into account (changed rc files as well) Renamed paper-size to world-size to reflect that paper is no longer specified in the same fashion Fixed the lack of scrollbar updates when you don't specify a schematic to be loaded 9/17/98 Added the modifiers (Alt, Shift, Control) into the string which is passed to the guile key lookup routines Fixed/Added a few misc items to the keymapping in the rc files 9/13/98 Added some feedback (loading message) if you specify schematics at the commandline Added scheme-directory keyword (and supporting code) to the rc file Disabled all GtkAccelerators in x_menu.c Added g_key.c (support functions of guile key mapping support) Added all menu callback functions to g_key (as g_key_*) Added gh_register functions for above (g_register.c) Deleted ifdefd out keymapping code in g_rc.c Added gschem.scm file which has scheme code for keymapping Added data structures to support scheme keymapping (gschemrc.in) 9/12/98 Added Zoom Limits option (and underlying code) experimental Started preliminary change to make zoom_factor represent the magnification, not the zoom number (how many times you zoomed in) Changed zoom functions to take above into account Changed o_conn functions to use return_zoom_number (in libgeda) Also fixed o_pin and o_net thickness Changed x_grid to use return_zoom_number -- also new grid spacing for the different levels, also experimental Changed default page-size to be big, this will change to world-size soon. Made most necessary changes to accomodate this. Found a very very serious bug when the above change was made (copy/move of objects wouldn't copy complex vs nets/pins correctly) Fixed by making all *_translate -> *_translate_world (in a_basic.c) Spent some more time getting size of endpoint cues and friends to look right Added a a_zoom_limits call when schematics are opened from the command line and from the file dialog box Added a few experimantal DONT_REDRAW lines to see if I can prevent the drawing of schematics and connection points when gschem comes up (and when you open schematics) 9/4/98 Added a few more libgeda/prototypes.h in a few missed files Moved f_print.c to libgeda Moved a few misc routines back and forth between gschem and libgeda Renamed some routines to take into account the vectoring of some functions in libgeda Extensive work here and libgeda to get rid of all prototype related warnings Playing some games with the o_pin_conn* and o_net_conn* functions (and revectoring) to see if I can improve the look of reading in of schematics 9/3/98 Major code reoganization with the new libgeda Fixed a bug in o_box, where the new recalc routine wasn't setting some local variables (shouldn't have been using the vars anyways) Removed Add/NEW text menu item (old test code) 8/31/98 More bug fixes to the copy attribute change. . o_ntext_copy does not handle attributes now, it is handled by who ever called it . o_list_copy_to and o_list_copy_all now take a flag which is either NORMAL or SELECTION (we don't want to do attributes) when we are adding stuff to the selection buffer . Text is copied (o_list_* and o_copy_end routines) last to make sure that all the attribute recieving objects exist in the list Fixed another attribute which changed color (to red) at the wrong time (basically all text was changing color, eventhough it wasn't supposed to) (fixed in o_copy_end) Divided the x_create_drawing into the drawing function and a function which sets up the events (x_window_setup_draw_events) Added a check to make sure a widget wasn't null in i_set_filename Added a check to make sure a widget wasn't null in x_hscrollbar_update and x_vscrollbar_update Created x_preview.c, a highly temp file demonstrating the preview capabilities (removed from dist for the time being) 8/30/98 Added support for embedded symbols in schematics loading / saving / copying Added o_embed (embed all object which are selected) Added callback for above and menu option "Embed" Added o_unembed (unembed all object which are selected) Added callback for above and menu option "Unembed" Added embed_complex flag to window structure Added default_embed_complex to i_vars.c Added checkbutton to component place dialog box for embedded components Added embed-components to gschemrc file Robustified the condition if you cannot unembed a component because it was not in the path Propagated p_text_string[0] = '\0' changes from gnetlist to gschem Propagated head node attribs->object change from gnetlist to gschem Started to fix attribute copy problem which has existed for a long time (ie attributes were not being copied) (this is highly unstable I think) Fixed a bug related to the above attribs->object change, bug was in detach routine, making the original object all red... Continued to fix bugs related to attribute copy fix, several in o_list_copy_* and in other places, seems to work now, but highly experimental Changed the way copies are handled. First all non text items are copied and then text items are copied. This is for the attribute copy code, the text copy is the final stage for attribute copies so it has to happen last. Put code back in that make floating text which was an attribute, but no longer the color red. 8/29/98 Added complex_parent pointer to object structure Added code to fill above pointer 8/27/98 Made some further improvements to the grid code so it uses less memory, but is still faster then drawing one point at a time 8/26/98 Changed the grid from drawing one point at a time to drawing all the points with one call (gdk_draw_points) Changed the max zoom factor to 8 instead of 4 Fixed a bug dealing with different paper sizes and the scrollbars (max value on the scrollbars was being set incorrectly) 8/9/98 Added page-size keyword to the rc file (lets you specify the size of the drawing area) 8/8/98 Removed old OBJ_TEXT primitive (replaced by OBJ_NTEXT) Changed OBJ_NTEXT's key code to T (was E so that it could coexist with OBJ_TEXT) Fixed a minor bug with symbol translate and the new text. Basically the origin point wasn't being translated, object were, but not that one point In the code, changed font def files from .sch to .sym You should not symbol translate with the snap off, so put in warnings to log and snap is automatically turned on. Might change this later 8/7/98 Slightly robustified the reading in of font defs, if char isn't found then use something else (only then do you exit) Fixed a minor bug where copying an attached attribute didn't change to the detached attribute color Fixed a bug in o_list_copy_all (new routine) which was nuking the ADDING_SEL (per window variable). Fixed it by saving contents before calling o_list_copy_to Fixed a really old bug in o_text_print (and the new routine for ntext). Invisible text was getting printed (oops)! 8/6/98 Fixed stupid core dump related to freeing a already freed string Fixed g_rc_font_directory to be implemented correctly Changed text_input dialog box to call new o_ntext routines Changed text_input read and save to actually work Added OBJ_NTEXT support to: o_move_end, o_copy_end, o_delete, o_save, o_read, and a whole bunch of o_complex/attribute routines Fixed up o_ntext_translate, o_ntext_xor_draw o_ntext_translate* and the rest of the o_ntext routines Redirected end of a text edit to called o_ntext_edit_end Fixed o_attrib* so that attributes are the right color (ntext attribs) Fixed font_set data structure so that each char has a head. This was needed to make attributes happy. 8/5/98 Added rotate core rotate functions back into source code, not working yet Added o_line_scale_world Added o_line_rotate Added o_scale, not done yet Added o_rotate, not done yet Added/worked on core routines for o_ntext Integrated/indented new g_read_file from thi (thanks!) Added the keyword font-directory which specify where the vector font definitions are contained Added font_directory string to the WINDOW structure Worked on vector text stuff, getting font_set stuff working Added o_list_copy_all Added code to free up the font set 8/3/98 Changed startup behavior of gschem (it doesn't set it position to 0,0) (basically causes most window managers to prompt for the position) Cleaned up o_ntext a bit more 7/26/98 Work continues with a freshly installed Debian GNU/Linux devel box Fixed all #include to #include Added s_clib_uniq and supporting functions to see if a clib path is uniq (if so add it, else don't) Added s_attrib_uniq to make sure attribute names (which are specified in the init file are uniq Changed search order for components. Components are now searched for backwards (ie the last specifed clib path is searched first) Changed search order for source. Source is now searched for backwards (ie the last specifed slib path is searched first) Finished getting all gschemrc keywords converted to new guile format 7/25/98 Added g_basic.c which will contain basic guile setup routines Added code to start up the guile interpreter (gschem.c) guile is now *required* Removed all calls to f_rc_parse (old init file) Added g_rc.c which holds new guile init file functions Started converting all f_rc keywords to g_rc keywords Wrote g_rc_parse (basically it is f_rc_parse) The order of rcfile reading is now: - system-gschemrc - ~/.gEDA/gschemrc - ./gschemrc where latter rc files override previous ones Discovered/fixed a bug in o_net.c, net_style wasn't being used (accidentally left to pin_style), hence you would always get nets which were the same style as pins. oops Removed f_rc.c and lex.l from existance (file and Makefile). Flex/Lex is no longer required Work stopped very abruptly as my machine decided to corrupt /etc (Perfect excuse to try out debian :-) 7/22/98 A user trying to build gEDA on HP-UX discovered that I missed an rint call (it wasn't wrappered by the HAS_RINT define). Fixed it. 7/21/98 Finally fixed arcs so that any start or end angle arcs print properly, involved changing how I handled the translate and rotate (used to be scale) in the output postscript Put back the filename*.sch -> filename*.ps code when you print to postscript. Even fixed it so that it changes the .sch to .ps or if there isn't a .sch extension then just adds it. 7/19/98 Fixed some misc formatting on most case statements (break statement now lined up correctly) and some indentation was wrong as well When through and added OBJ_NTEXT type Stubbed routines for OBJ_NTEXT (in new file o_ntext.c) 0.0.4 ------- 7/11/98 Found and squashed a nasty bug dealing with the object clipping code. Basically objects that were not visible were not being update (ie bounding boxes not being updated) so selections would find fantom objects. Rearranged some code (bounding box recalc) inside the object draws just to be consistent Removed the /* PAGE */ tag from almost every file Fixed the threshold bug when you are zoomed in really close, now the start an sbox or not is based on the zoom scale Removed the STARTSBOX state (fixed states.sch appropriately) Removed some snap_grids from o_arc.c, these were a hack and I am not sure if I broke arcs now. Added some s_log_messages in f_parse_rc so you know which rcfiles were read 7/10/98 Fixed some minor nits in some comments Removed some // accidentally left in 7/6/98 Added x_status.c which implements the status/log window Added s_log.c which holds the log file init/write/close routines Fixed a few bugs with the logging mechanism Added the ability to read the log file from disk when the status window is opened Added the rc keywords LoggingDestination and Logging to control this logging mechanism Added a whole bunch of s_log_message calls through the code so that the user gets some feedback as to what is happening 7/4/98 Moved around some of the *visible functions to improve "the detect if an object is to be drawn" time (determine if, earlier) Added ObjectClipping keyword to control the behavior of the new object clipping code (on or off) Fixed some minor bugs in the *visible functions 7/3/98 Added low level clipping routines in m_basic.c Added high level routine to determine if object is visible Added code in all relavent o_* files to use above routine (execpt o_text, which will be added later) Changed default scrollbar update policy to be continuous (vs delayed) Added ScrollbarUpdate to control above behavior Squashed a few bugs related to above 7/1/98 Fixed a minor bug in selection box, causing selection box to erase underlying schematic Changed open symbol behavior so that the FIRST page of the schematic is left display after all the schematic pages are opened. Fixed a minor memory leak dealing with the allocation of page_filename Fixed a core dump condition (if there was no gschemrc, untiled_name or series_name would be null and doing a strlen of a null doesn't work. 6/30/98 Fixed the page manager core dump (open schematic, open page manager, open another page (page manager now messed up), click on another page) 6/23/98 Integrated patch by Erick Britis Ortiz which fixed the well known selection box problems. Selection boxes could only be drawn in one direction; now you can draw them in all directions. Extended patch to work with boxes, so those work as well now! A similar patch was provided by Jeff McNeal. Thanks! 6/21/98 Added series_name variable to WINDOW structure. This variable lets you set a series filename, especially useful when adding new pages Added series_name and untitled_name to WINDOW structure Added DefaultSeriesName keyword to gschemrc file Added UntitledName keyword to gschemrc file Went through and changed all the places where the above two changes would affect. Slightly changed where defaults are set and where the rc file is read when a new window is opened. 6/20/98 Started working on the Source Library code Added s_slib.c (source library) Added SourceLibrary keyword to the rc file Got basic routines in s_slib working Wrote s_slib_getbasename which strips extenstions and trailing _#'s from the filename Started working on s_slib_search which goes out and hunts for all the associated source files Squashed a nasty stupid bug in the parse filenames startup code was doing: strlen(blah+5) instead of strlen(blah)+5 (still not completely correct but close enough for now) Squashed another nasty bug, which should have been caught by the prototype mechanism, but I didn't update my prototype.h DOH! Wrong number of parameters to update_page_manager 6/14/98 Changed the way the CHANGED flag works. Now you get a single dialog box saying that "there are schematics unsaved!". You now get one exit dialog for each window instead of the mess of multiple exit dialog boxes Added back the window grab for exit dialog boxes. Removed the SaveAs dialog box when you exit / create a new page / open a new schematic Modified x_window_close taking in account the above changes Modified exit_dialog to be larger and give a more blarring warning about unsaved dialog boxes. Removed the all tcl support; all of it was experiemental Found and squashed a minor memory leak, was allocating a structure twice Added code to free *all* pages when you exit the program Found a minor bug in above code which caused a coredump (w_current-> page_current wasn't being reset) Added very prelim ability to load up *all* specified schematics (which are on the commandline) at startup. (try gschem *.sch in ../bin) Found a bug in the calling of s_page_free_all, the last parameter was not page_tail (it has to be) Added back the code which if you hit Save (not saveas) and the filename had an "untitled.sch" in it, you would get a SaveAs dialog box When you create a new filename the cwd is prepended to it. (that wasn't the case till I added the code back to do so) Started work on the page manager (nothing more than a dialog box which makes dealing with all the open pages easier). Added update button and current page tracking to the page manager Added num_untitled counter to keep track of untitled pages (for uniqueness) 6/9/98 Put an #if 0 around TRUE/FALSE defines in defines.h since gtk+ 1.0.4 defines these in glib.h now. Changed page mechanism so that zoom factor and zoom display is included in a per page structure Fixed a minor bug when drawing arc and the new page mechanism, wasn't setting up the world coord system at the right time (too late) Added a check to see if a schematic file exists, if it doesn't then do nothing else load the file. This was causing a core dump. Found a few places where the HAS_TCL wasn't and hence gschem wouldn't compile (added the HAS_TCL #ifdef). 6/8/98 Did some more testing of the page mechanism. Still very crude. Made it so that open adds a new page, instead of replacing current 6/7/98 Got core page mechanism working. Still need to verify free routine and decided on how to have pages created deleted. 6/6/98 Put scripting stuff on hold, worked on getting multi page stuff done - 3 weeks of no significant work :( - 5/18/98 Started experimenting with tcl and gschem, still not convinced this is the way to go. Will look into guile (and swig) 5/17/98 Started adding support for tcl Create interp Delete interp Started adding multi page support Added st_page structure Added stub s_page routines 5/16/98 Fixed several bugs in cancel callbacks for most dialog boxs; was not setting event_state to select mode, but was setting status label to Select Mode 0.0.3 ------- 5/10/98 Changed MOVE/COPY/PAN modes so that they DO NOT stay in MOVE/COPY/PAN Staying after execution of these modes was driving me nuts. Fixed a minor cosmetic bug in the saveas dialog box (wasn't updating the filename at the bottom of the screen) Fixed a nasty (been there since v0.0.1) with the creation of selection lists in o_move_end and o_copy_end. prev link wasn't being set, which caused a segfault in o_attrib_get_name_value Found another bug in change_basename (x_compsel.c) which has a holdout from pre-multiwindow days (caused a coredump). An incorrect pointer was being passed to the apply button callback (should be w_current). 5/9/98 Quit now checks the CHANGED flag properly and prompts you to save. Still some weirdness with multi window quit and dialog boxes Went through the code and changed the interface code so that you stay in a mode unless you change modes (there are exceptions to this) Added some error condition functions (in call callback and event functions) Re-enabled the window grab on the text edit dialog box. This might stay this way for a while. Fixed a minor bug in x_window_close_all, so that you didn't free the window_head node unless next was empty Fixed the names of menu items (New/Close Window etc...) 5/7/98 Worked a bit more on the multi window code, getting it solid Added a head node to window_head just to make my life easier ( head nodes aren't deallocated and so window_head doesn't change) Fixed a nasty bug with the text size dialog box. Had a variable entry which wasn't inited or used, but was being referenced! Fixed another holdover bug (from the days when null entry input caused gtk to coredump) in the text size dialog box 5/6/98 Fixed a few memory leaks, there are still a few, but those are in gtk/my code that doesn't deallocate resources which gtk provides 5/3/98 Fixed a minor bug dealing with not having a default for override_net|pin_color, which caused problems when gschem could not find a gschemrc file. Fixed a minor bug dealing with sending delete events to a window, data parameter wasn't being passed. (disabled both delete and destroy for now) 5/2/98 Finished global cleanup, gschem now builds cleanly, and seems to run and seems to be stable. *All* functionality needs to be checked Added New window menu item 5/1/98 Continued work on global cleanup 4/29/98 Started final cleanup to remove all globals. This involves passing WINDOW * to all function that require the contained variables. Got rid of i_vars.h file, moved contents into defines.h 4/26/98 Worked some more on new WINDOW structure (MAJOR code CHANGE) Got program to compile, works mostly, not completely stable yet. 4/25/98 Further reduced the number of globals in x_dialog.c Created the new WINDOW structure and started changing every file to use this new structure (MAJOR code CHANGE) 4/24/98 Typedefed st_objects, st_attrib, and st_linepts (major code change) Began process of figuring out which variables are getting encapsulated in the "per-window" and "pages" structures 4/23/98 Whole bunch of code cleanup, including making most variables consistant renaming a few functions. 4/20/98 Fixed Makefile.am to not include the math library (-lm) twice 0.0.2 ------- 4/16/98 Tested code with GTK+ 1.0.0. This will be the version of gtk which will work with gschem. Changed the order of init functions in main.c Fixed two nasty bugs that deal with the Add Attribute code 1) wasn't properly checking for no input in the name/value boxes 2) wasn't allocating enough memory for current_attribute. 4/15/98 Added some finishing touches to the Add Attribute dialog box and the code that actually does the work. Removed accelerator keys from popup menu. They were misbehaving (sometimes the accelerator key would be reassigned a new one???) and this way the right mouse button popup will be smaller. 4/14/98 Worked some more on the Add Attribute dialog box Added AttributeName keyword to the rc file(s). This keyword adds the names to the Add/Attribute dialog box. Started putting in the underlying code that is called by the various Add Attribute buttons. Added some low level functions to o_attrib.c to support above activity Changed Arc hotkey to Shift-R and added Add/Attribute as "a" 4/12/98 Added the #ifdefs to things that configure checks for (some of them) Disabled the very broken "get correct filename.ps" code when you print something. Right now all postscript output goes to out.ps Fixed a minor bug: if you are drawing a net and haven't yet placed the first point and then you hit the right button a redraw is not needed. (removed the redraw) Started to add : Add/Attribute dialog box and mechanism(s) 4/11/98 Fixed up most compiler warnings about missing prototypes and unused variables Tested code with gtk version 0.99.10 Due to changes in this version, several changes had to occur: Now forcing a update of scrollbars when you startup Fixed dialog boxes when users enters null string Added scrollbar updates to open and new callback routines Fixed text enter, text edit, text size, translate, arc angles dialog boxes so that enter is equivalent to clicking OK. Added the ability to draw non-orthogonal nets if you press the CONTROL key as you are drawing the nets. Normally you would want to draw nets which are orthogonal but there are exceptions to this. NOTE: if you draw an non-ortho net then you cannot connect to it in the middle; you can only connect to it at the ends. (need to document this) As a result of above, a bug was found in the connection search routine. The fix is highly experimental so if any midpoint nets which should be connected are not, then e-mail the maintainers. Likewise added the ability to draw ortho lines by pressing the CONTROL key as you draw the line. Lines are normally non-ortho, but sometimes it's nice to draw a prefectly straight line without being coordinated. (need to document this) 4/10/98 Added underlying code to implement the scrollbars Minor changes (asthetic code changes) to drawing window size 4/9/98 Added TextCapsStyle rcfile keyword Totally rewrote o_text to allow text to be any point size Added some code to put a few pixels inbetween each text character (right now turned off) Added text size selection dialog Changed Version keyword in rcfile to reflect new version (0.0.2) Changed default text size to be 10 point Removed the code that controlled (limited) text size in rcfiles Fixed most dialog box titles Fixed all example .sch files to have 10 point text labels Fixed postscript printing to deal with new text size system 4/7/98 Fixed minor bug with opening a file and CHANGED flag not being cleared 4/6/98 Relaxed aspectratio calculation (no more aspectratio enforcement) Changed default drawing area min size to 800x600 Merged m_prims.c and m_matrix.c into m_basic.c (new file) Added a pixmap unref to i_callback_file_quit() Added call to hide file ops in all file selection dialog boxes Fixed searching order of rc files Added scroll bars to right and bottom. Underlying code not impl. 0.0.1 ------- 4/1/98 First Release to the public pre-release ------- 3/15/98 Intergrated gtk GUI into main window 1/98 Work resumed at a almost continues pace First, second, third GUI's were written in XForms (detached) Fourth GUI was written in gtk (detached) 8/97 to 1/98 Great pause in work 7/28/97 First attempt with just an plain Xlib 7/25/97 Start of development (at least that's the date on the first backup tar) geda-gaf-1.8.2/gschem/data/0000775000175000017500000000000012220655752012345 500000000000000geda-gaf-1.8.2/gschem/data/Makefile.am0000664000175000017500000000223512220647257014324 00000000000000theme=hicolor xdgdatadir=@XDGDATADIR@ themedir=$(xdgdatadir)/icons/$(theme) app_icon = geda-gschem app_icon_files = \ $(app_icon:%=%-48.png) \ $(app_icon:%=%.svg) # $(app_icon:%=%-16.png) # $(app_icon:%=%-22.png) # $(app_icon:%=%-24.png) # $(app_icon:%=%-32.png) # theme_icons = \ $(app_icon_files:%=apps,%) desktopdir=$(xdgdatadir)/applications desktop_in_files = geda-gschem.desktop.in desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) DOMAIN=geda-gschem @DESKTOP_I18N_LANGS_RULE@ @DESKTOP_I18N_DESKTOP_RULE@ install_icon_exec = \ $(ICON_THEME_INSTALLER) \ -t $(theme) \ -s $(srcdir) \ -d "x$(DESTDIR)" \ -b $(themedir) \ -m "$(mkinstalldirs)" \ -x "$(INSTALL_DATA)" install-data-local: $(install_icon_exec) -i $(theme_icons) install-data-hook: if ENABLE_UPDATE_XDG_DATABASE $(UPDATE_DESKTOP_DATABASE) "$(DESTDIR)$(desktopdir)" endif uninstall-hook: if ENABLE_UPDATE_XDG_DATABASE $(UPDATE_DESKTOP_DATABASE) "$(DESTDIR)$(desktopdir)" endif $(install_icon_exec) -u $(theme_icons) MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in DISTCLEANFILES = $(desktop_DATA) EXTRA_DIST = $(app_icon_files) \ $(desktop_in_files) $(desktop_DATA) geda-gaf-1.8.2/gschem/data/README0000664000175000017500000000074712210462614013145 00000000000000 gEDA GPL Electronic Design Automation ------------------------------------------------------------------------------ README for icon data This file describes where the various icons came from and their license. These application icons were created by Peter Clifton, based upon the Gnome "text-editor" icon created by Lapo Calamandrei. The gEDA specific additions are from the mime-type icons by Tomaz Solc. These icons are licensed under the GPL2 license. gschem.svg gschem-48.png geda-gaf-1.8.2/gschem/data/Makefile.in0000664000175000017500000004643512220655724014345 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = gschem/data DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am README ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(desktopdir)" DATA = $(desktop_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ theme = hicolor xdgdatadir = @XDGDATADIR@ themedir = $(xdgdatadir)/icons/$(theme) app_icon = geda-gschem app_icon_files = \ $(app_icon:%=%-48.png) \ $(app_icon:%=%.svg) # $(app_icon:%=%-16.png) # $(app_icon:%=%-22.png) # $(app_icon:%=%-24.png) # $(app_icon:%=%-32.png) # theme_icons = \ $(app_icon_files:%=apps,%) desktopdir = $(xdgdatadir)/applications desktop_in_files = geda-gschem.desktop.in desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) DOMAIN = geda-gschem install_icon_exec = \ $(ICON_THEME_INSTALLER) \ -t $(theme) \ -s $(srcdir) \ -d "x$(DESTDIR)" \ -b $(themedir) \ -m "$(mkinstalldirs)" \ -x "$(INSTALL_DATA)" MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in DISTCLEANFILES = $(desktop_DATA) EXTRA_DIST = $(app_icon_files) \ $(desktop_in_files) $(desktop_DATA) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gschem/data/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu gschem/data/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-desktopDATA: $(desktop_DATA) @$(NORMAL_INSTALL) @list='$(desktop_DATA)'; test -n "$(desktopdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(desktopdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(desktopdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(desktopdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(desktopdir)" || exit $$?; \ done uninstall-desktopDATA: @$(NORMAL_UNINSTALL) @list='$(desktop_DATA)'; test -n "$(desktopdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(desktopdir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(desktopdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-data-local install-desktopDATA @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) install-data-hook install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-desktopDATA @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) uninstall-hook .MAKE: install-am install-data-am install-strip uninstall-am .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am \ install-data-hook install-data-local install-desktopDATA \ install-dvi install-dvi-am install-exec install-exec-am \ install-html install-html-am install-info install-info-am \ install-man install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags-am uninstall uninstall-am uninstall-desktopDATA \ uninstall-hook @DESKTOP_I18N_LANGS_RULE@ @DESKTOP_I18N_DESKTOP_RULE@ install-data-local: $(install_icon_exec) -i $(theme_icons) install-data-hook: @ENABLE_UPDATE_XDG_DATABASE_TRUE@ $(UPDATE_DESKTOP_DATABASE) "$(DESTDIR)$(desktopdir)" uninstall-hook: @ENABLE_UPDATE_XDG_DATABASE_TRUE@ $(UPDATE_DESKTOP_DATABASE) "$(DESTDIR)$(desktopdir)" $(install_icon_exec) -u $(theme_icons) # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/gschem/data/geda-gschem.desktop0000664000175000017500000000044612220651640016020 00000000000000[Desktop Entry] Version=1.0 GenericName=gschem Name=gEDA Schematic Editor Comment=Create and edit electrical schematics and symbols with gschem Type=Application Exec=gschem %F Icon=geda-gschem MimeType=application/x-geda-schematic;application/x-geda-symbol; Categories=Engineering;Electronics; geda-gaf-1.8.2/gschem/data/geda-gschem.svg0000664000175000017500000015751612210466013015156 00000000000000 image/svg+xml Lapo Calamandrei Text editor geda-gaf-1.8.2/gschem/data/geda-gschem.desktop.in0000664000175000017500000000045012210462614016420 00000000000000[Desktop Entry] Version=1.0 GenericName=gschem _Name=gEDA Schematic Editor _Comment=Create and edit electrical schematics and symbols with gschem Type=Application Exec=gschem %F Icon=geda-gschem MimeType=application/x-geda-schematic;application/x-geda-symbol; Categories=Engineering;Electronics; geda-gaf-1.8.2/gschem/data/geda-gschem-48.png0000664000175000017500000000552712210462614015371 00000000000000PNG  IHDR00WsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org< IDATh}?;g.DD[IRb%QI)PɊ*SUjDRRlB ԦUZiKPV8vp`nwggg}ЪXH=wg}~gn֚r/B\ p{^ݻwq]τA/~/'g=tgoz|| MB<={Zh};7 hveHiͣǘ9|c.^j޲w^; x#ρk`zzZ(äZMƱ4~n^֚̾BϿ14#f wyS̭ ;i:CHUKJ){A8}ͱ?#щI~ RoA"l걭;Bq|̍_>"E) :QX?k^븼py~f͇yijq7ul7^O? 'ݿ7y+4g ve$8}t@\ވX)r^M7!( X ʳvhJ4- ia3沘)=HK?sŧh;hk\ԩ QX$ Zӛ#B D/N?8-l~=ZL?M7o|D,@3z!0Lr9믻!P%$\CI0!Dj$uVY N>na&JYH՞!RiU#@j3ۘF I !cOqض}92+ ٶ* , x .d}l:f$tl~趄|! ;qaq@+c^Ktzk<7=ߙ)\lx'̟}ۮ{GB@\Lz}!Hz+ ;eL {${qȧ-WG+,C=#1uȯ( %4($f6ڽXlJK[B,BɹN6|lˢl:,oȏ/D9ȁʍs_Q@E) ,|:^Xis.^'UGO>d|oקP/W%rH{rrqPYDDվ< KEB*jwǏ=|4EZ!t[ZSXgr ~P OncfKc L7BŒTLUX,ZC+m'+w-Nkkk1 gp֬Mx Х)~L~k9\n}GJJiIR F)b<$^~T"  hyS}$Y:}~,=(G&X5(~!um7܀jd2ҧ]:^ĵO}{_d*1??o !~WVFҼ_$t/eq'.R lIL_ `8, +!{3Ż~@4xUk=h9`,Gz@h[{[E!ݖrK IENDB`geda-gaf-1.8.2/gschem/Makefile.in0000664000175000017500000005523312220655723013427 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = gschem DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ChangeLog \ TODO ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = \ po bitmap data docs examples include lib scheme scripts \ src tests EXTRA_DIST = BUGS ChangeLog ChangeLog-1.0 icon-theme-installer MOSTLYCLEANFILES = *.log core FILE *~ CLEANFILES = *.log core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in ChangeLog all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gschem/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu gschem/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic \ maintainer-clean-local mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic clean-libtool cscopelist-am ctags \ ctags-am distclean distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ maintainer-clean-local mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am @HAVE_GIT_REPO_TRUE@ChangeLog: $(top_builddir)/stamp-git @HAVE_GIT_REPO_TRUE@ (cd $(srcdir) && $(GIT) log --pretty=medium $(CHANGELOG_BASE).. -- .) > $@ maintainer-clean-local: -rm -rf po/*.sed po/*.header po/*.sin po/*.template po/Rules-quot # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/gschem/scheme/0000775000175000017500000000000012220655753012701 500000000000000geda-gaf-1.8.2/gschem/scheme/auto-uref.scm0000664000175000017500000001075212063576065015244 00000000000000;; gEDA - GPL Electronic Design Automation ;; gschem - gEDA Schematic Capture ;; Copyright (C) 1998-2010 Ales Hvezda ;; Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) ;; ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 2 of the License, or ;; (at your option) any later version. ;; ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; ;; You should have received a copy of the GNU General Public License ;; along with this program; if not, write to the Free Software ;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA (use-modules (ice-9 regex) (srfi srfi-1) (geda page) (geda attrib) (gschem window)) (define auto-uref-page-offset 0) ;; Redefine value of page-offset. ;; Refdeses will be numbered from integer multiples of page-offset, ;; depending on the lowest refdes value found on the page. ;; If lowest value is 323 and page offset is 100, then next refdes ;; will be 301. ;; Setting to 0 disables the feature. (define (auto-uref-set-page-offset new-offset) (set! auto-uref-page-offset new-offset)) ;; Modify attributes of an object to assign next unused refdes value (define (auto-uref attribs) ; Return (prefix . number) on match or #f on failure (define (split-value value) (let ((match (string-match "^([A-Za-z]*)([0-9]+)$" value))) (if match (cons (match:substring match 1) (string->number (match:substring match 2))) #f))) ; Extract prefix from a refdes attribute value (define (get-prefix value) (let ((prefix (string-match "^[A-Za-z]*" value))) (if prefix (match:substring prefix) #f))) ; Filter non-inherited refdes values (define (refdes-attrs attribs) (filter (lambda (a) (and (not (attrib-inherited? a)) (string=? "refdes" (attrib-name a)))) attribs)) ; Extract numbers from refdeses that have given prefix (define (extract-numbers object prefix) (let* ((refdeses (refdes-attrs (object-attribs object))) (vals (map attrib-value refdeses)) (prefix-numbers (filter-map split-value vals)) (numbers (filter-map (lambda (n.v) (if (string=? prefix (car n.v)) (cdr n.v) #f)) prefix-numbers))) numbers)) ; Collect all numbers associated with prefix on current page (define (collect-all-numbers prefix) (let ((objects (page-contents (active-page)))) (concatenate (map (lambda (o) (extract-numbers o prefix)) objects)))) ; Return first number not present in used greater or equal to minimum (define (find-first-unused used minimum) (define (go n xs) (cond ((null? xs) n) ((< n (car xs)) n) ((= n (car xs)) (go (1+ n) (cdr xs))) (else (go n (cdr xs))))) (go minimum used)) ; Do the work - first check if attributes contain refdes with prefix (let* ((refdeses (refdes-attrs attribs)) (refdes (if (null? refdeses) #f (car refdeses))) (prefix (if refdes (get-prefix (attrib-value refdes)) #f))) (if prefix (let* ((used-nums (sort-list (collect-all-numbers prefix) <)) ; minimum value considering the page-offset (min-num (if (or (null? used-nums) (<= auto-uref-page-offset 0)) 0 (* (floor (/ (car used-nums) auto-uref-page-offset)) auto-uref-page-offset))) ; next refdes number to be assigned (next-num (find-first-unused used-nums (1+ min-num)))) ;(simple-format #t "~A: ~A -> ~A~%" ; prefix ; used-nums ; next-num) (set-attrib-value! refdes (string-append prefix (number->string next-num))))))) geda-gaf-1.8.2/gschem/scheme/Makefile.am0000664000175000017500000000110412220647257014651 00000000000000## -*- Makefile -*- scmdatadir = $(GEDADATADIR)/scheme nobase_dist_scmdata_DATA = \ auto-uref.scm \ generate_netlist.scm \ gschem.scm \ list-keys.scm \ print-NB-attribs.scm \ auto-place-attribs.scm \ pcb.scm \ default-attrib-positions.scm \ gschem/core/gettext.scm \ gschem/gschemdoc.scm \ gschem/window.scm \ gschem/selection.scm \ gschem/deprecated.scm \ gschem/hook.scm \ gschem/attrib.scm \ gschem/keymap.scm \ gschem/util.scm MOSTLYCLEANFILES = *.log *~ CLEANFILES = *.log *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log *~ Makefile.in geda-gaf-1.8.2/gschem/scheme/default-attrib-positions.scm0000664000175000017500000002624212220647257020267 00000000000000(define default-position-of-text-attributes ; Specifies the default position of text attributes. ; Each list entry is a list specifying the position of a text attribute. ; Dividing each list entry in two lines: ; - the first line is the attribute matching. It specifies the properties ; of the object and the attribute that should match in order to use ; that entry (all the specified properties should match). ; It has the following items: ; - attrib_name: the attribute's name for this entry. ; - direction: direction of the pin(s) (the arrow points to the inside ; of the symbol. The direction is specified by one character of ; v, ^, < or >. This item is a string with one or several direction ; characters. Including several directions here means that the ; object should have pins in all those directions if using this ; entry. ; ; - list of object attribute matching properties. It's a list with ; attribute_name, attribute_value pairs. A regular expression can be ; used in the attribute_values field. ; There is a special attribute name: "OBJ_TYPE" if you want to check ; the object type. However, the attribute_value field should be ; one of the already defined variables: ; OBJ_LINE, OBJ_BOX, OBJ_PICTURE, OBJ_CIRCLE, OBJ_NET, OBJ_BUS, ; OBJ_COMPLEX, OBJ_TEXT, OBJ_PIN, OBJ_ARC, OBJ_PLACEHOLDER ; converted into strings (for example using the function char2str). ; ; - the second line defines where and how the attribute will be placed. ; The attribute is going to be placed at a position of the ; component, given by the "reference" item. ; It has the following items: ; - x_offset, y_offset: the position offset to the reference point. ; The attribute position is offset by these amounts from the ; reference point. They can be positive or negative integers. ; - reference: the component's reference point where to place ; the attribute. The reference point is calculated using ; component's bounds, so pin's line width, for example, matter. ; Example: Pin from (100,50) to (400,50), pin's line width is 10. ; Pin bounds: ; top: 55 ; bottom: 45 ; left: 95 ; right: 405 ; "Lower left": (95,45) ; It is a string with the format "horizontal vertical", where: ; - "horizontal" is one of: "Left", "Middle", "Right". ; - "vertical" is one of: "Lower", "Middle", "Upper". ; Example: "Lower Right". ; - alignment: the attribute text's alignment. ; - angle: the attribute's angle. ; ; As a special case, the attributes can be automaticaly moved if ; they overlap with the pins or the pin connection direction, in ; order to avoid cluttering the schematic. Note that pinnames are ; also included when calculing the new position. ; By pin connection direction I mean the space in front of a pin ; where a net connecting to that pin is supposed to be drawn ; afterwards. ; ; For this purpose, two more items are added: ; - mov_dir: specify the movement directions, or where can the ; attribute be moved if overlapping. ; It is an empty string if no movement is allowed, or a string ; containing one or several horizontal/vertical directions. ; Each direction is specified with one character of v,^,< or >. ; ; When overlapping with vertical pins, the attribute will be ; moved horizontally (< or > characters). ; When overlapping with horizontal pins, the attribute will be ; moved vertically (v or ^ characters). ; ; Example: "<^" means that the attribute will be moved to the ; left if overlapping with vertical pins, or to the top if ; overlapping horizontal pins. ; ; - spacing: minimum spacing between the attributes and the pins. ; It sould be a positive integer number. ; ;Attrib_name Direct. Attribute_match <--- first line of each entry. ;X_offset Y_offset Reference Alignment Angle Mov_dir Spacing (>0) ; (list (list "pinlabel" ">" (list "OBJ_TYPE" (char2str OBJ_PIN)) 50 0 "Lower Right" "Lower Left" 0 "" 0) (list "pinlabel" "<" (list "OBJ_TYPE" (char2str OBJ_PIN)) -50 0 "Lower Left" "Lower Right" 0 "" 0) (list "pinlabel" "^" (list "OBJ_TYPE" (char2str OBJ_PIN)) 0 50 "Upper Middle" "Lower Left" 90 "" 0) (list "pinlabel" "v" (list "OBJ_TYPE" (char2str OBJ_PIN)) 0 -50 "Lower Middle" "Lower Right" 90 "" 0) (list "pinnumber" ">" (list "OBJ_TYPE" (char2str OBJ_PIN)) -100 50 "Lower Right" "Lower Right" 0 "" 0) (list "pinnumber" "<" (list "OBJ_TYPE" (char2str OBJ_PIN)) 100 50 "Lower Left" "Lower Left" 0 "" 0) (list "pinnumber" "^" (list "OBJ_TYPE" (char2str OBJ_PIN)) -50 -100 "Upper Middle" "Lower Right" 90 "" 0) (list "pinnumber" "v" (list "OBJ_TYPE" (char2str OBJ_PIN)) -50 100 "Lower Middle" "Lower Left" 90 "" 0) ; Component attributes ; One direction (list "refdes" "<" (list "OBJ_TYPE" (char2str OBJ_COMPLEX)) 0 50 "Upper Middle" "Lower Middle" 0 "" 0) (list "value" "<" (list "OBJ_TYPE" (char2str OBJ_COMPLEX)) 0 -50 "Lower Middle" "Upper Middle" 0 "" 0) (list "device" "<" (list "OBJ_TYPE" (char2str OBJ_COMPLEX)) 0 -50 "Lower Middle" "Upper Middle" 0 "" 0) (list "refdes" ">" (list "OBJ_TYPE" (char2str OBJ_COMPLEX)) 0 50 "Upper Middle" "Lower Middle" 0 "" 0) (list "value" ">" (list "OBJ_TYPE" (char2str OBJ_COMPLEX)) 0 -50 "Lower Middle" "Upper Middle" 0 "" 0) (list "device" ">" (list "OBJ_TYPE" (char2str OBJ_COMPLEX)) 0 -50 "Lower Middle" "Upper Middle" 0 "" 0) (list "refdes" "^" (list "OBJ_TYPE" (char2str OBJ_COMPLEX)) 0 100 "Middle Left" "Lower Right" 0 "" 0) (list "value" "^" (list "OBJ_TYPE" (char2str OBJ_COMPLEX)) 0 -100 "Middle Left" "Lower Right" 0 "" 0) (list "device" "^" (list "OBJ_TYPE" (char2str OBJ_COMPLEX)) 0 -100 "Middle Left" "Lower Right" 0 "" 0) (list "refdes" "v" (list "OBJ_TYPE" (char2str OBJ_COMPLEX)) 0 100 "Middle Left" "Lower Right" 0 "" 0) (list "value" "v" (list "OBJ_TYPE" (char2str OBJ_COMPLEX)) 0 -100 "Middle Left" "Lower Right" 0 "" 0) (list "device" "v" (list "OBJ_TYPE" (char2str OBJ_COMPLEX)) 0 -100 "Middle Left" "Lower Right" 0 "" 0) ; Two directions (list "refdes" "<>" (list "OBJ_TYPE" (char2str OBJ_COMPLEX)) 0 50 "Upper Middle" "Lower Middle" 0 "" 0) (list "value" "<>" (list "OBJ_TYPE" (char2str OBJ_COMPLEX)) 0 -50 "Lower Middle" "Upper Middle" 0 "" 0) (list "device" "<>" (list "OBJ_TYPE" (char2str OBJ_COMPLEX)) 0 -50 "Lower Middle" "Upper Middle" 0 "" 0) (list "refdes" "^v" (list "OBJ_TYPE" (char2str OBJ_COMPLEX)) 50 100 "Middle Right" "Lower Left" 0 "" 0) (list "value" "^v" (list "OBJ_TYPE" (char2str OBJ_COMPLEX)) 50 -100 "Middle Right" "Lower Left" 0 "" 0) (list "device" "^v" (list "OBJ_TYPE" (char2str OBJ_COMPLEX)) 50 -100 "Middle Right" "Lower Left" 0 "" 0) ; Three directions (list "refdes" "<^v" (list "OBJ_TYPE" (char2str OBJ_COMPLEX)) -50 100 "Middle Left" "Lower Right" 0 "" 0) (list "value" "<^v" (list "OBJ_TYPE" (char2str OBJ_COMPLEX)) -50 -100 "Middle Left" "Lower Right" 0 "" 0) (list "device" "<^v" (list "OBJ_TYPE" (char2str OBJ_COMPLEX)) -50 -100 "Middle Left" "Lower Right" 0 "" 0) (list "refdes" ">^v" (list "OBJ_TYPE" (char2str OBJ_COMPLEX)) 50 100 "Middle Right" "Lower Left" 0 "" 0) (list "value" ">^v" (list "OBJ_TYPE" (char2str OBJ_COMPLEX)) 50 -100 "Middle Right" "Lower Left" 0 "" 0) (list "device" ">^v" (list "OBJ_TYPE" (char2str OBJ_COMPLEX)) 50 -100 "Middle Right" "Lower Left" 0 "" 0) (list "refdes" "<>v" (list "OBJ_TYPE" (char2str OBJ_COMPLEX)) -50 -50 "Lower Middle" "Upper Right" 0 "" 0) (list "value" "<>v" (list "OBJ_TYPE" (char2str OBJ_COMPLEX)) 50 -50 "Lower Middle" "Upper Left" 0 "" 0) (list "device" "<>v" (list "OBJ_TYPE" (char2str OBJ_COMPLEX)) 50 -50 "Lower Middle" "Upper Left" 0 "" 0) (list "refdes" "<>^" (list "OBJ_TYPE" (char2str OBJ_COMPLEX)) -50 50 "Upper Middle" "Lower Right" 0 "" 0) (list "value" "<>^" (list "OBJ_TYPE" (char2str OBJ_COMPLEX)) 50 50 "Upper Middle" "Lower Left" 0 "" 0) (list "device" "<>^" (list "OBJ_TYPE" (char2str OBJ_COMPLEX)) 50 50 "Upper Middle" "Lower Left" 0 "" 0) ; Four directions (list "refdes" "<>^v"(list "OBJ_TYPE" (char2str OBJ_COMPLEX)) 50 50 "Upper Left" "Lower Left" 0 "^<" 50) (list "value" "<>^v"(list "OBJ_TYPE" (char2str OBJ_COMPLEX)) 50 -50 "Lower Right" "Upper Right" 0 "v>" 50) (list "device" "<>^v"(list "OBJ_TYPE" (char2str OBJ_COMPLEX)) 50 -50 "Lower Right" "Upper Right" 0 "v>" 50) ; Net attributes ; Two directions (list "netname" "<>" (list "OBJ_TYPE" (char2str OBJ_NET)) 0 50 "Upper Middle" "Lower Middle" 0 "" 0) (list "netname" "^v" (list "OBJ_TYPE" (char2str OBJ_NET)) -50 0 "Middle Middle" "Lower Middle" 90 "" 0) ; Bus attributes ; Two directions (list "netname" "<>" (list "OBJ_TYPE" (char2str OBJ_BUS)) 0 50 "Upper Middle" "Lower Middle" 0 "" 0) (list "netname" "^v" (list "OBJ_TYPE" (char2str OBJ_BUS)) -50 0 "Middle Middle" "Lower Middle" 90 "" 0) )) ; Position of parameters inside default-position-of-text-attributes (define def-attrib-name-pos 0) (define def-direction-pos 1) (define def-attrib-match 2) (define def-x-offset-pos 3) (define def-y-offset-pos 4) (define def-reference-pos 5) (define def-alignment-pos 6) (define def-angle-pos 7) (define def-move-pos 8) (define def-spacing-pos 9) geda-gaf-1.8.2/gschem/scheme/Makefile.in0000664000175000017500000004570412220655724014676 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = gschem/scheme DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(nobase_dist_scmdata_DATA) ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(scmdatadir)" DATA = $(nobase_dist_scmdata_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ scmdatadir = $(GEDADATADIR)/scheme nobase_dist_scmdata_DATA = \ auto-uref.scm \ generate_netlist.scm \ gschem.scm \ list-keys.scm \ print-NB-attribs.scm \ auto-place-attribs.scm \ pcb.scm \ default-attrib-positions.scm \ gschem/core/gettext.scm \ gschem/gschemdoc.scm \ gschem/window.scm \ gschem/selection.scm \ gschem/deprecated.scm \ gschem/hook.scm \ gschem/attrib.scm \ gschem/keymap.scm \ gschem/util.scm MOSTLYCLEANFILES = *.log *~ CLEANFILES = *.log *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log *~ Makefile.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gschem/scheme/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu gschem/scheme/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-nobase_dist_scmdataDATA: $(nobase_dist_scmdata_DATA) @$(NORMAL_INSTALL) @list='$(nobase_dist_scmdata_DATA)'; test -n "$(scmdatadir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(scmdatadir)'"; \ $(MKDIR_P) "$(DESTDIR)$(scmdatadir)" || exit 1; \ fi; \ $(am__nobase_list) | while read dir files; do \ xfiles=; for file in $$files; do \ if test -f "$$file"; then xfiles="$$xfiles $$file"; \ else xfiles="$$xfiles $(srcdir)/$$file"; fi; done; \ test -z "$$xfiles" || { \ test "x$$dir" = x. || { \ echo " $(MKDIR_P) '$(DESTDIR)$(scmdatadir)/$$dir'"; \ $(MKDIR_P) "$(DESTDIR)$(scmdatadir)/$$dir"; }; \ echo " $(INSTALL_DATA) $$xfiles '$(DESTDIR)$(scmdatadir)/$$dir'"; \ $(INSTALL_DATA) $$xfiles "$(DESTDIR)$(scmdatadir)/$$dir" || exit $$?; }; \ done uninstall-nobase_dist_scmdataDATA: @$(NORMAL_UNINSTALL) @list='$(nobase_dist_scmdata_DATA)'; test -n "$(scmdatadir)" || list=; \ $(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \ dir='$(DESTDIR)$(scmdatadir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(scmdatadir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-nobase_dist_scmdataDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-nobase_dist_scmdataDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-nobase_dist_scmdataDATA install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am uninstall-nobase_dist_scmdataDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/gschem/scheme/generate_netlist.scm0000664000175000017500000001061512050461155016654 00000000000000;;; --------------------------------------------------------------------- ;;; Written by Martin Lehmann ;;; --------------------------------------------------------------------- ;;; This file contents two functions to the hot-keys ;;; g-n and g-e, which stand for (g)enerate (n)etlist and - (e)ntity. ;;; ;; The generate-mode will be gave to the gnetlist environment, with help ;; of the -c parameter of gEDA gnetlist. ;; The same is doing with all toplevel attributes of a component (or schematic). ;; they are defined in the variable top-attribs. ;; ;; generate-mode sets : ;; 1 - generate netlist of current schematic ;; 2 - generate entity of selected component, or of toplevel, when non selected ;; ;; get-selected-filename: - returns the whole filename of ;; the current-gschem-schematic ;; ;; get-selected-component-attributes: - returns all toplevel attributes ;; of the current entity ;; This function only put together the gnetlist command for the ;; generating-netlist-call. (define generate-netlist (lambda () (let* ((command "") (source-file (get-selected-filename)) (source-file-length (string-length source-file)) ;;generate a sensible output-filename (/.vhdl) (target-file (string-append (substring source-file (+ (string-rindex source-file #\/ 0 (string-length source-file)) 1) (- (string-length source-file) 4)) ".vhdl"))) ;;generating the complex gnetlist command (display (getenv 'PWD)) (set! command "gnetlist") (set! command (string-append command " -o " vhdl-path "/" target-file)) (set! command (string-append command " -g vams " source-file)) (display "\ngenerating netlist from current schematic\n") (display command) (newline) (system command) ;; this part is not really important ;;(set! command (string-append "dtpad " vhdl-path "/" ;; (string-append (substring target-file 0 ;; (string-rindex ;; target-file #\. 0)) ;; "_arc.vhdl") ;; " &")) ;;(system command) ))) ;; Makes the same like generate-netlist, but its activate a ;; generating-entity-call. (define generate-entity (lambda () (let* ((command "") (guile-comm "") (top-attribs (get-selected-component-attributes)) ;; search the right schematic-file for gnetlist call ;; Is necessary, when the selected component contents a ;; underlying schematic (hierachical schematic) (source-file (which-source-file top-attribs)) ;; generates the target-file, like .vhdl (target-file (string-append (substring source-file (if (string-rindex source-file #\/ 0 (string-length source-file)) (+ (string-rindex source-file #\/ 0 (string-length source-file)) 1) 0) (- (string-length source-file) 4)) ".vhdl"))) ;; put the whole gnetlist command together (set! guile-comm (string-append guile-comm "\"(define top-attribs " "'" (list2string top-attribs) ") (define generate-mode '2)\"")) (set! command (string-append "gnetlist -c " guile-comm " -o " vhdl-path "/" target-file " -g vams " (get-selected-filename))) (display command) (newline) (system command) ;; not important ;;(set! command (string-append "dtpad " vhdl-path "/" target-file " &")) ;;(if (null? top-attribs) ;; (system command)) ))) ;; HELP FUNCTIONS ;; generates a string from a list. (define list2string (lambda (list) (let ((string "(")) (for-each (lambda (element) (set! string (string-append string element " "))) list) (set! string (string-append string ")")) (append string)))) ;; search the right source-file, when selected component contents a ;; underlying schematic. which is saved in the source-attribute of ;; this component (define which-source-file (lambda (top-attribs) (if (not (null? top-attribs)) (if (string-prefix=? "source=" (car top-attribs)) (begin (append (substring (car top-attribs) 7 (string-length (car top-attribs))))) (which-source-file (cdr top-attribs))) (append (get-selected-filename))))) ;; define the default vhdl-path, where netlist- and entity-files are ;; saved to. (define vhdl-path ".") (display "loaded generate-netlist.scm\n") geda-gaf-1.8.2/gschem/scheme/gschem/0000775000175000017500000000000012220655753014147 500000000000000geda-gaf-1.8.2/gschem/scheme/gschem/deprecated.scm0000664000175000017500000003603412220647257016701 00000000000000;; gEDA - GPL Electronic Design Automation ;; gschem - gEDA Schematic Capture - Scheme API ;; Copyright (C) 2010-2011 Peter Brett ;; ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 2 of the License, or ;; (at your option) any later version. ;; ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; ;; You should have received a copy of the GNU General Public License ;; along with this program; if not, write to the Free Software ;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA ;; ;; This file contains deprecated Scheme API features, which should not ;; be used in new code. (define-module (gschem deprecated) #:use-module (gschem core gettext) #:use-module (geda page) #:use-module (geda object) #:use-module (geda attrib) #:use-module (gschem window) #:use-module (gschem hook) #:use-module (gschem selection) #:use-module (gschem attrib) #:use-module (geda deprecated) #:use-module (srfi srfi-1)) ;; add-attribute-to-object object name value visible show ;; ;; Add an attribute "name=value" to object. If visible is #f, the new ;; attribute will be invisible. show should be a list containing one ;; or both of the strings "name and "value" (if neither is specified, ;; both are assumed). ;; ;; See also add-attrib! in the (gschem attrib) module. (define-public (add-attribute-to-object object name value visible show) (add-attrib! object name value visible (let ((n (member "name" show)) (v (member "value" show))) (cond ((and n v) 'both) (n 'name) (v 'value) (else 'both))))) ;; Default ;; set-attribute-text-properties! attrib color size alignment ;; rotation x y ;; ;; Sets several parameters of the text object attrib. x and y are the ;; coordinates of the text anchor. color is the colormap index of the ;; color with which to draw the text. size is the font size, and ;; angle is the angle at which to draw the text. ;; ;; All of the former parameters may be set to -1 to leave the current ;; value unchanged. ;; ;; alignment should be one of the following strings: ;; ;; "Lower Left" ;; "Middle Left" ;; "Upper Left" ;; "Lower Middle" ;; "Middle Middle" ;; "Upper Middle" ;; "Lower Right" ;; "Middle Right" ;; "Upper Right" ;; ;; or the empty string "" to leave the alignment unchanged. (define-public (set-attribute-text-properties! attrib color size alignment rotation x y) (set-text! attrib ;; anchor (let ((anchor (text-anchor attrib))) (cons (if (= x -1) (car anchor) x) (if (= y -1) (cdr anchor) y))) ;; align (or (assoc-ref '(("Lower Left" . lower-left) ("Middle Left" . middle-left) ("Upper Left" . upper-left) ("Lower Middle" . lower-center) ("Middle Middle" . middle-center) ("Upper Middle" . upper-center) ("Lower Right" . lower-right) ("Middle Right" . middle-right) ("Upper Right" . upper-right)) alignment) (and (string=? "" alignment) (text-align attrib)) (error (_ "Invalid text alignment ~A.") alignment)) ;; angle (if (= rotation -1) (text-angle attrib) rotation) ;; string (text-string attrib) ;; size (if (= size -1) (text-size attrib) size) ;; visible (text-visible? attrib) ;; show (text-attribute-mode attrib))) ;; add-component-at-xy page basename x y angle selectable mirror ;; ;; Adds the component called basename from the component library to a ;; page, at the coordinates (x, y) and rotated by the given angle. If ;; selectable is false, the component will be locked. If mirror is ;; true, the component will be mirrored. (define-public (add-component-at-xy page basename x y angle selectable mirror) (if (or (null? basename) (not basename) (string=? basename "")) #f (let ((C (make-component/library basename (cons x y) angle mirror (not selectable)))) (page-append! page C) (run-hook add-objects-hook (cons C (promote-attribs! C)))))) ;; set-attribute-value! attrib value ;; ;; Set the value part of the text object attrib. (define-public (set-attribute-value! attrib value) (let ((params (text-info attrib)) (name-value (parse-attrib attrib))) (list-set! params 3 (simple-format #f "~A=~A" (car name-value) value)) (apply set-text! attrib params))) ;; get-objects-in-page page ;; ;; Get the contents of page, in reverse order. (define-public (get-objects-in-page page) (reverse! (page-contents page))) ;; get-current-page ;; ;; Return the page which currently has focus in gschem. (define-public get-current-page active-page) ;; get-object-pins object ;; ;; Return the pin objects from a component's contents, in reverse ;; order, or the empty list if object is not a component. (define-public (get-object-pins object) (if (component? object) (reverse! (filter! pin? (component-contents object))) '())) ;; get-object-bounds object exclude-attribs exclude-types ;; ;; Return the bounds of an object, excluding attributes with ;; particular names or certain object types. ;; ;; The exclude-attribs should be a list of attribute names to be ;; omitted, as strings. If the special string "all" appears in the ;; list, all attributes are excluded. ;; ;; The exclude-types should be a list of single-character strings ;; containing object type characters (as returned by the deprecated ;; get-object-type function). ;; ;; Note that attributes attached to pins (but not attached to anything ;; else) are included in the bounds. ;; ;; The bounds are returned in the form: ;; ;; ((left . right) . (bottom . top)) ;; ;; N.b. that this is a different form to that returned by ;; object-bounds, so you can't use fold-bounds directly with bounds ;; returned by this function. (define-public (get-object-bounds object exclude-attribs exclude-types) (define no-attribs (member "all" exclude-attribs)) (define (exclude? object) (or ;; Is it an excluded type? (member (string (get-object-type object)) exclude-types) ;; Is it invisible text? (and (text? object) (not (text-visible? object))) ;; Is it an excluded attribute? (and (attribute? object) (or no-attribs (member (attrib-name object) exclude-attribs))))) (define (excluding-bounds object) (cond ;; If it's excluded, no bounds! ((exclude? object) #f) ;; If it's a component, recurse ((component? object) (fold fold-bounds #f (map excluding-bounds (component-contents object)))) ;; If it's a pin, include its attributes ((pin? object) (fold fold-bounds #f (cons (object-bounds object) (map excluding-bounds (object-attribs object))))) ;; Otherwise, just return the object bounds (else (object-bounds object)))) (let ((bounds (excluding-bounds object))) (if bounds ;; Re-arrange the bounds into the format expected (cons (cons (caar bounds) (cadr bounds)) (cons (cddr bounds) (cdar bounds))) ;; Stupid default '((1000000 . 0) . (1000000 . 0))))) ;; get-pin-ends pin ;; ;; Return the coordinates of the endpoints of a pin, in the format: ;; ;; ((x1 . y1) x2 . y2) (define-public (get-pin-ends pin) (let ((params (line-info pin))) (cons (list-ref params 0) (list-ref params 1)))) ;; get-selected-filename ;; ;; Returns the filename associated with the active page in the current ;; gschem window. (define-public (get-selected-filename) (page-filename (active-page))) ;; get-selected-component-attributes ;; ;; Returns a list of all selected text object strings, with duplicate ;; values removed (i.e. the name is pretty much unrelated to the ;; behaviour). Really, seriously, just don't use this in new code. (define-public (get-selected-component-attributes) (delete-duplicates! (map text-string (filter! text? (page-selection (active-page)))))) ;;;; Old-style hooks ;; Adds a function to src-hook. The function is called with a single ;; argument, lst, which should be a list of objects. For each member ;; of lst which matches filter?, the function calls tgt-hook with that ;; object as the argument. (define (add-hook!/filter src-hook tgt-hook filter?) (add-hook! src-hook (lambda (lst) (if (not (hook-empty? tgt-hook)) (for-each (lambda (obj) (if (filter? obj) (run-hook tgt-hook obj))) lst))))) ;; Adds a function to src-hook. The function is called with a single ;; argument, lst, which should be a list of objects. For each member ;; of lst which matches filter?, the function calls tgt-hook with a ;; list of all attributes (attached and inherited) of that object. (define (add-hook!/full-attribs src-hook tgt-hook filter?) (add-hook! src-hook (lambda (lst) (if (not (hook-empty? tgt-hook)) (for-each (lambda (obj) (if (filter? obj) (run-hook tgt-hook (append! (object-attribs obj) (inherited-attribs obj))))) lst))))) ;; add-component-hook: ;; ;; Called when a new component is added to the page (not copied etc). ;; Argument is a list of all attributes (inherited & promoted) of the ;; component. Differs from the classic behaviour in that it is *not* ;; also called once for each promoted attribute with the empty list as ;; the argument. (define-public add-component-hook (make-hook 1)) (add-hook!/full-attribs add-objects-hook add-component-hook component?) ;; add-component-object-hook: ;; ;; Called when a new component is added to the page (not copied etc). ;; Called once with the component itself as the argument, and once for ;; each promoted attribute, with the attribute as the argument. (define-public add-component-object-hook (make-hook 1)) (add-hook! add-objects-hook (lambda (lst) (if (not (hook-empty? add-component-object-hook)) (for-each (lambda (obj) (define (run x) (run-hook add-component-object-hook x)) (if (component? obj) (begin (run obj) (for-each run (object-attribs obj))))) lst)))) ;; add-attribute-hook ;; ;; Called each time an attribute is added to something. Argument is ;; the thing that had an attribute added. The behaviour here emulates ;; the classic behaviour as closely as possible -- it doesn't run the ;; hook on explicit attribute attachment operations (via ;; "Attributes->Attach"), but does run when an individual attribute is ;; created and simultaneously attached to something. (define-public add-attribute-hook (make-hook 1)) (add-hook! add-objects-hook (lambda (lst) (if (and (not (hook-empty? add-attribute-hook)) (= 1 (length lst))) (let* ((attrib (car lst)) (target (attrib-attachment attrib))) (if (and (attribute? attrib) target) (run-hook add-attribute-hook target)))))) ;; add-pin-hook ;; ;; Called each time a pin is added to the schematic. Argument is the ;; pin itself. (define-public add-pin-hook (make-hook 1)) (add-hook!/filter add-objects-hook add-pin-hook pin?) ;; mirror-component-object-hook ;; ;; Called for each component in the selection when a mirror operation ;; is carried out. The argument is the component itself. (define-public mirror-component-object-hook (make-hook 1)) (add-hook!/filter mirror-objects-hook mirror-component-object-hook component?) ;; mirror-pin-hook ;; ;; Same as mirror-component-object-hook, but for pins. (define-public mirror-pin-hook (make-hook 1)) (add-hook!/filter mirror-objects-hook mirror-pin-hook pin?) ;; rotate-component-object-hook ;; ;; Called for each component in the selection when a rotate operation ;; is carried out (including using the middle mouse button during a ;; move operation, but excluding rotations during component ;; placement). The argument is the component itself. (define-public rotate-component-object-hook (make-hook 1)) (add-hook!/filter rotate-objects-hook rotate-component-object-hook component?) ;; rotate-pin-hook ;; ;; Same as rotate-component-object-hook, but for pins. (define-public rotate-pin-hook (make-hook 1)) (add-hook!/filter rotate-objects-hook rotate-pin-hook pin?) ;; copy-component-hook: ;; ;; Called each time a component is copied into the schematic. ;; Argument is a list off all attributes (inherited & promoted) of the ;; component. Differs from classic behaviour in that it is called on ;; pasting from buffers and the clipboard, in addition to "Edit->Copy ;; Mode" and "Edit->Multiple Copy Mode". (define-public copy-component-hook (make-hook 1)) (add-hook!/full-attribs paste-objects-hook copy-component-hook component?) ;; move-component-hook: ;; ;; Called each time a component is moved in the schematic. ;; Argument is as copy-component-hook. (define-public move-component-hook (make-hook 1)) (add-hook!/full-attribs move-objects-hook move-component-hook component?) ;; deselect-component-hook: ;; ;; Called each time a component is removed from the selection, ;; except if the selection is cleared entirely. Argument is ;; as select-component-hook. (define-public deselect-component-hook (make-hook 1)) (add-hook!/full-attribs deselect-objects-hook deselect-component-hook component?) ;; deselect-net-hook: ;; ;; Called each time a net segment (n.b. *not* bus segment) is added to ;; the selection. Argument is a list of all attributes of the ;; net. (define-public deselect-net-hook (make-hook 1)) (add-hook!/full-attribs deselect-objects-hook deselect-net-hook net?) ;; deselect-all-hook: ;; ;; Called with the empty list as the argument each time the ;; selection is emptied, even if the selection is already ;; empty. (define-public deselect-all-hook (make-hook 1)) (add-hook! deselect-objects-hook (lambda (arg) (if (and (not (null? deselect-all-hook)) (null? (page-selection (active-page)))) (run-hook deselect-all-hook '())))) ;; select-component-hook: ;; ;; Called each time a component is added to the selection. ;; Argument is a list of all attributes (inherited & promoted) ;; of the component. (define-public select-component-hook (make-hook 1)) (add-hook!/full-attribs select-objects-hook select-component-hook component?) ;; select-net-hook: ;; ;; Called each time a net segment (n.b. *not* bus segment) is ;; added to the selection. Argument is the empty list. (define-public select-net-hook (make-hook 1)) (add-hook!/full-attribs select-objects-hook select-net-hook net?) geda-gaf-1.8.2/gschem/scheme/gschem/attrib.scm0000664000175000017500000000270212063576065016064 00000000000000;; gEDA - GPL Electronic Design Automation ;; gschem - gEDA Schematic Capture - Scheme API ;; Copyright (C) 2011 Peter Brett ;; ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 2 of the License, or ;; (at your option) any later version. ;; ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; ;; You should have received a copy of the GNU General Public License ;; along with this program; if not, write to the Free Software ;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA ;; (define-module (gschem attrib) #:use-module (gschem core attrib)) ;; add-attrib! target name value visible attribute-mode ;; ;; Create a new attribute, either attached to a target object in the ;; current page, or floating in the current page if target is #f. The ;; name and value for the attribute must be strings, and if visible is ;; #f, the attribute will be invisible. The attribute-mode controls ;; which parts of the attribute will be visible, and must be one of ;; the following symbols: ;; ;; name ;; value ;; both ;; ;; See also active-page in the (gschem window) module. (define-public add-attrib! %add-attrib!) geda-gaf-1.8.2/gschem/scheme/gschem/util.scm0000664000175000017500000000205612063576065015556 00000000000000;; gEDA - GPL Electronic Design Automation ;; gschem - gEDA Schematic Capture - Scheme API ;; Copyright (C) 2011 Peter Brett ;; ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 2 of the License, or ;; (at your option) any later version. ;; ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; ;; You should have received a copy of the GNU General Public License ;; along with this program; if not, write to the Free Software ;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA ;; (define-module (gschem util) ; Import C procedures #:use-module (gschem core util)) (define-public show-uri %show-uri) (define-public (show-file filename) (show-uri (string-append "file://" filename))) geda-gaf-1.8.2/gschem/scheme/gschem/selection.scm0000664000175000017500000000220612063576065016563 00000000000000;; gEDA - GPL Electronic Design Automation ;; gschem - gEDA Schematic Capture - Scheme API ;; Copyright (C) 2010 Peter Brett ;; ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 2 of the License, or ;; (at your option) any later version. ;; ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; ;; You should have received a copy of the GNU General Public License ;; along with this program; if not, write to the Free Software ;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA ;; (define-module (gschem selection) ;; Import C procedures #:use-module (gschem core selection)) (define-public page-selection %page-selection) (define-public select-object! %select-object!) (define-public deselect-object! %deselect-object!) (define-public object-selected? %object-selected?) geda-gaf-1.8.2/gschem/scheme/gschem/hook.scm0000664000175000017500000000302012220647257015526 00000000000000;; gEDA - GPL Electronic Design Automation ;; gschem - gEDA Schematic Capture - Scheme API ;; Copyright (C) 2010-2011 Peter Brett ;; ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 2 of the License, or ;; (at your option) any later version. ;; ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; ;; You should have received a copy of the GNU General Public License ;; along with this program; if not, write to the Free Software ;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA ;; (define-module (gschem hook) ;; Import C definitions #:use-module (gschem core hook)) (define-public add-objects-hook %add-objects-hook) (define-public remove-objects-hook %remove-objects-hook) (define-public move-objects-hook %move-objects-hook) (define-public mirror-objects-hook %mirror-objects-hook) (define-public rotate-objects-hook %rotate-objects-hook) (define-public paste-objects-hook %paste-objects-hook) (define-public attach-attribs-hook %attach-attribs-hook) (define-public detach-attribs-hook %detach-attribs-hook) (define-public select-objects-hook %select-objects-hook) (define-public deselect-objects-hook %deselect-objects-hook) (define-public new-page-hook %new-page-hook) geda-gaf-1.8.2/gschem/scheme/gschem/window.scm0000664000175000017500000000232212063576065016104 00000000000000;; gEDA - GPL Electronic Design Automation ;; gschem - gEDA Schematic Capture - Scheme API ;; Copyright (C) 2010-2011 Peter Brett ;; ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 2 of the License, or ;; (at your option) any later version. ;; ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; ;; You should have received a copy of the GNU General Public License ;; along with this program; if not, write to the Free Software ;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA ;; (define-module (gschem window) ; Import C procedures #:use-module (gschem core window) #:use-module (geda page) #:re-export (close-page!)) (define-public active-page %active-page) (define-public set-active-page! %set-active-page!) (define-public pointer-position %pointer-position) (define-public (snap-point point) (%snap-point (car point) (cdr point))) geda-gaf-1.8.2/gschem/scheme/gschem/keymap.scm0000664000175000017500000001553412220647257016071 00000000000000;; gEDA - GPL Electronic Design Automation ;; gschem - gEDA Schematic Capture - Scheme API ;; Copyright (C) 2011 Peter Brett ;; ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 2 of the License, or ;; (at your option) any later version. ;; ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; ;; You should have received a copy of the GNU General Public License ;; along with this program; if not, write to the Free Software ;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA ;; (define-module (gschem keymap) #:use-module (gschem core keymap) #:use-module (gschem core gettext) #:use-module (ice-9 optargs) #:use-module (srfi srfi-1) #:use-module (srfi srfi-9)) ;; -------------------- Key combinations -------------------- (define-public key? %key?) (define-public key->string %key->string) (define-public key->display-string %key->display-string) (define-public (string->key str) (or (%string->key str) (scm-error 'key-format #f (_ "~S is not a valid key combination.") (list str) #f))) ;; -------------------- Key sequences -------------------- (define-public (keys? obj) (and (vector? obj) (> (vector-length obj) 0) (call/cc (lambda (return) (array-for-each (lambda (x) (or (key? x) (return #f))) obj))))) (define-public (keys->string keys) (string-join (map key->string (vector->list keys)) " ")) (define-public (string->keys str) (list->vector (map string->key (filter! (lambda (x) (not (string-null? x))) (string-split str #\space))))) (define-public (keys->display-string keys) (string-join (map key->display-string (vector->list keys)) " ")) ;; -------------------- Keymaps -------------------- ;; We use a record type here in case we later want to add additional ;; information into the keymap (e.g. default actions, canonical ;; ordering, keymap names, etc). (define (make-record-type "gschem-keymap" '(key-table))) (define %make-keymap (record-constructor '(key-table))) (define keymap-key-table (record-accessor 'key-table)) (define set-keymap-key-table! (record-modifier 'key-table)) (define-public keymap? (record-predicate )) (define*-public (make-keymap) (%make-keymap ;; This is actually an association list. '())) (define-public (keymap-lookup-key keymap key) (assoc-ref (keymap-key-table keymap) key)) (define*-public (keymap-bind-key! keymap key #:optional (bindable #f)) (let ((alist (keymap-key-table keymap))) (set-keymap-key-table! keymap (if bindable (assoc-set! alist key bindable) (assoc-remove! alist key))))) (define-public (keymap-lookup-binding keymap bindable) (let ((entry (find (lambda (x) (eq? bindable (cdr x))) (keymap-key-table keymap)))) (and entry (car entry)))) (define-public (keymap-for-each proc keymap) (for-each (lambda (x) (proc (car x) (cdr x))) (keymap-key-table keymap))) ;; -------------------- Recursive keymaps -------------------- ;; This helper function takes a string, key or key sequence, and ;; returns a key sequence. (define (resolve-keys keys) (cond ((keys? keys) keys) ((key? keys) (vector keys)) ((string? keys) (resolve-keys (string->keys keys))) (error "~S is not a valid key sequence" keys))) ;; This helper function recursively looks up the prefix of a key ;; sequence (i.e. all keystrokes apart from the last one) and returns ;; the corresponding keymap, or #f if there is no prefix keymap for ;; the given key sequence. If create is #t, it creates empty keymaps ;; for missing prefix keys as it goes. (define* (keymap-for-prefix-keys! keymap keys #:optional (create #f)) ;; Returns a new key sequence containing only the prefix key ;; combinations from KEYS. This is relatively expensive, so it's ;; only used when constructing error messages. (define (prefix-keys keys) (let* ((N (1- (vector-length keys))) (p (make-vector N))) (vector-move-left! keys 0 N p 0) p)) ;; Recursive function that does the heavy lifting. (define (lookup keymap keys ofs) (if (= (1+ ofs) (vector-length keys)) ;; We've seen all the prefix keys, so return the keymap. keymap ;; Otherwise, check that the current key is bound to a keymap. ;; If so, recurse; otherwise, error. (let* ((key (vector-ref keys ofs)) (binding (keymap-lookup-key keymap key))) (cond ;; If not bound and we're creating new keymaps, create a ;; new one, bind it, and recurse. ((and create (not binding)) (let ((km (make-keymap))) (keymap-bind-key! keymap key km) (lookup km keys (1+ ofs)))) ;; If not bound and we're not creating new keymaps, return ;; #f. ((not binding) #f) ;; If bound to a keymap already, recurse. ((keymap? binding) (lookup binding keys (1+ ofs))) ;; Otherwise, generate an error. (else (error (_ "~S is not a prefix key sequence.") (keys->display-string (prefix-keys keys)))))))) (lookup keymap keys 0)) (define-public (lookup-keys keymap keys) (let* ((keyseq (resolve-keys keys)) (km (keymap-for-prefix-keys! keymap keyseq))) (and km (keymap-lookup-key km (vector-ref keyseq (1- (vector-length keyseq))))))) (define*-public (bind-keys! keymap keys #:optional (bindable #f)) (let* ((keyseq (resolve-keys keys)) (km (keymap-for-prefix-keys! keymap keyseq #t))) (keymap-bind-key! km (vector-ref keyseq (1- (vector-length keyseq))) bindable))) (define-public (lookup-binding keymap bindable) ;; Recursive function that does the heavy lifting. This ends up ;; being a depth-first search, unfortunately. Return is a ;; continuation to pass the result to. (define (lookup-binding-recursive km prefix return) (keymap-for-each (lambda (key bound) (cond ;; Success! Return the full key sequence. ((eq? bound bindable) (return (list->vector (reverse (cons key prefix))))) ;; If a keymap, recurse. ((keymap? bound) (lookup-binding-recursive bound (cons key prefix) return)) (else #f))) km)) (call/cc (lambda (return) (lookup-binding-recursive keymap '() return) #f))) ;; Return #f if no binding found. geda-gaf-1.8.2/gschem/scheme/gschem/gschemdoc.scm0000664000175000017500000002015012220647257016525 00000000000000;; gEDA - GPL Electronic Design Automation ;; libgeda - gEDA's library - Scheme API ;; Copyright (C) 2011 Peter Brett ;; ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 2 of the License, or ;; (at your option) any later version. ;; ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; ;; You should have received a copy of the GNU General Public License ;; along with this program; if not, write to the Free Software ;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA ;; (define-module (gschem gschemdoc) #:use-module (gschem core gettext) #:use-module (geda os) #:use-module (geda object) #:use-module (geda attrib) #:use-module (gschem util) #:use-module (ice-9 optargs) #:use-module (ice-9 regex) #:use-module (srfi srfi-1)) ;; FIXME this should probably be set via configure (define %configured-sys-doc-dir #f) (define-public (sys-doc-dir) "sys-doc-dir Get the directory where gEDA documentation is stored." ;; Given a gEDA data directory path, guess the installation prefix. (define (guess-prefix dir) (let ((ofs (string-contains dir (string-append separator "share")))) (and ofs (substring dir 0 ofs)))) ;; Guess the gEDA documentation directory, using the gEDA data ;; search path. Guaranteed to only return paths that correspond to ;; actual directories. (define (guess-docdir) (any (lambda (dir) (let ((docdir (string-join (list (guess-prefix dir) "share" "doc" "geda-gaf") separator))) (and (false-if-exception (eq? 'directory (stat:type (stat docdir)))) docdir))) (sys-data-dirs))) (or (guess-docdir) (if (platform? 'win32-native) #f %configured-sys-doc-dir))) ;; Munge a wiki page name so that it can be used in a filename (define (wiki-munge name) (string-map (lambda (c) (case c ((#\? #\\ #\! #\*) #\_) ((#\:) #\-) (else c))) name)) (define*-public (show-wiki #:optional (page "index")) "show-wiki PAGE Launch a browser to display a page from the offline version of the gEDA wiki shipped with gEDA/gaf. The specified PAGE should be a string containing the page name as used on the live version of the wiki." (show-uri (string-append "file://" (string-join (list (sys-doc-dir) "wiki") separator 'suffix) (wiki-munge page) ".html"))) (define %pdf-search-template "http://www.google.com/search?q=~S%20filetype:pdf") ;; Get the value of a named attribute. Attached attributes are ;; searched first, followed by inherited attributes. The first ;; non-empty result found is returned. (define (attribute-value-by-name obj name) (define (any-proc attrib) (and (equal? name (attrib-name attrib)) (let ((v (attrib-value attrib))) (and (> (string-length v) 0) v)))) (or (any any-proc (object-attribs obj)) (any any-proc (inherited-attribs obj)))) ;; For each entry in DIRNAME, PROC is called. If PROC returns a ;; true value, the iteration stops and the result returned by PROC ;; is returned to the caller. (define (directory-any dirname proc) (call/cc (lambda (return) (let ((dir #f)) (dynamic-wind (lambda () (set! dir (opendir dirname))) (lambda () (do ((entry (readdir dir) (readdir dir))) ((eof-object? entry)) (case entry ((".." ".") #f) (else (let ((result (proc entry))) (if result (return result) #f)))))) (lambda () (closedir dir)))) #f))) ;; Searches for and displays documentation in DIRNAME. A ;; documentation file is expected to start with BASENAME and ;; (optionally) end with EXT. Comparisons are carried out ;; case-insensitively. If no file was found, returns #f. (define* (directory-doc-search dirname basename #:optional (ext "")) (define (test-dir-entry entry) (let ((filename (string-append dirname separator entry))) (and (string-prefix-ci? basename entry) (string-suffix-ci? ext entry) (file-exists? filename) filename))) (let ((filename (false-if-exception (directory-any dirname test-dir-entry)))) (and filename (begin (show-file filename) #t)))) ;; Searches for documentation STRING on the Internet, using ;; %pdf-search-template. ;; ;; FIXME string should be URL-encoded. (define (internet-doc-search string) (show-uri (format #f %pdf-search-template string)) #t) ;; Munges a component basename to look more like a device name (define (munge-basename basename) (let* ((rx (make-regexp "(-[0-9]+)?.sym$" regexp/icase)) (match (regexp-exec rx basename))) (if match (regexp-substitute #f match 'pre) basename))) (define-public (show-component-documentation obj) "show-component-documentation COMPONENT Find the documentation for COMPONENT, by inspecting (in order) its \"documentation\", \"device\" and \"value\" attributes, and its component basename, and searching in the current directory, the system gEDA documentation directory, and Google. In most cases, results are restricted to \".pdf\" files. The documentation is displayed in the system associated viewer application." (let ((documentation (attribute-value-by-name obj "documentation")) (device (attribute-value-by-name obj "device")) (value (attribute-value-by-name obj "value")) (basename (component-basename obj))) ;; Try several different ways of finding documentation (or ;; 1) Checks based on "documentation=" attribute (and documentation (or ;; a) First check the obvious -- does the documentation ;; attribute match a file in the current directory? (directory-doc-search (getcwd) documentation) ;; b) What about in the documentation directory? (directory-doc-search (sys-doc-dir) documentation) ;; c) Does the documentation attribute look like a URL? (and (any (lambda (prefix) (string-prefix? prefix documentation)) '("http://" "ftp://" "file://")) (show-uri documentation)) ;; d) If a documentation attribute was specified at all, search ;; for it with Google. (internet-doc-search documentation))) ;; 2) Checks based on "device=" and "value=" attributes (and device value (or ;; a) Look for a DEVICE-VALUE*.PDF file in the current directory (directory-doc-search (getcwd) (string-append device "-" value) ".pdf") ;; b) Look for a DEVICE-VALUE*.PDF file in the documentation directory (directory-doc-search (sys-doc-dir) (string-append device "-" value) ".pdf"))) (and device (or ;; c) Look for a DEVICE*.PDF file in the current directory (directory-doc-search (getcwd) device ".pdf") ;; d) Look for a DEVICE*.PDF file in the documentation directory (directory-doc-search (sys-doc-dir) device ".pdf") ;; d) If there's a device attribute, search for it with Google. (internet-doc-search device))) (and value ;; e) If there's a value attribute, search for it with Google. (internet-doc-search value)) ;; 3) Checks based on component basename (and basename (string-length basename) ; Check basename is non-empty ;; Munge basename to look more like a device name (let ((name (munge-basename basename))) (or ;; a) Look for BASENAME*.PDF file in current directory (directory-doc-search (getcwd) name ".pdf") ;; b) Look for BASENAME*.PDF file in documentation directory (directory-doc-search (sys-doc-dir) name ".pdf")))) ;; 4) Fail miserably (error (_ "No documentation found"))))) geda-gaf-1.8.2/gschem/scheme/gschem/core/0000775000175000017500000000000012220655753015077 500000000000000geda-gaf-1.8.2/gschem/scheme/gschem/core/gettext.scm0000664000175000017500000000207312204066537017207 00000000000000;; gEDA - GPL Electronic Design Automation ;; gschem - gEDA Schematic Capture - Scheme API ;; Copyright (C) 2011 Peter Brett ;; ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 2 of the License, or ;; (at your option) any later version. ;; ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; ;; You should have received a copy of the GNU General Public License ;; along with this program; if not, write to the Free Software ;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA ;; ;; I18n for libgeda Scheme API. ;; ;; This module is for internal use only. (define-module (gschem core gettext)) (define %gschem-gettext-domain "geda-gschem") (define-public (_ msg) (gettext msg %gschem-gettext-domain)) geda-gaf-1.8.2/gschem/scheme/gschem.scm0000664000175000017500000001375612220647257014607 00000000000000;;; gEDA - GPL Electronic Design Automation ;;; gschem - gEDA Schematic Capture ;;; Copyright (C) 1998-2010 Ales Hvezda ;;; Copyright (C) 1998-2011 gEDA Contributors (see ChangeLog for details) ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 2 of the License, or ;;; (at your option) any later version. ;;; ;;; This program is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with this program; if not, write to the Free Software ;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, ;;; MA 02111-1301 USA. (use-modules (gschem keymap) (gschem selection) (gschem window) (gschem gschemdoc) (geda object) (srfi srfi-1)) ;; Define an eval-in-currentmodule procedure (define (eval-cm expr) (eval expr (current-module))) (define last-action #f) (define current-keys '()) (define %global-keymap (make-keymap)) (define current-keymap %global-keymap) ;; Set a global keybinding (define (global-set-key key binding) (bind-keys! %global-keymap key binding)) ;; Called from C code to evaluate keys. (define (press-key key) (eval-pressed-key current-keymap key)) ;; Function for resetting current key sequence (define (reset-keys) (set! current-keys '()) #f) ;; Does the work of evaluating a key. Adds the key to the current key ;; sequence, then looks up the key sequence in the current keymap. If ;; the key sequence resolves to an action, calls the action. If the ;; key sequence can be resolved to an action, returns #t; if it ;; resolves to a keymap (i.e. it's a prefix key), returns the "prefix" ;; symbol; otherwise, returns #f. If the key is #f, clears the ;; current key sequence. (define (eval-pressed-key keymap key) (if key (begin ;; Add key to current key sequence (set! current-keys (cons key current-keys)) (let* ((keys (list->vector (reverse current-keys))) (bound (lookup-keys keymap keys))) (cond ;; Keys are a prefix -- do nothing successfully ((keymap? bound) 'prefix) ;; Keys are bound to something -- reset current key ;; sequence, then try to run the action (bound (begin (reset-keys) (eval-keymap-action bound))) ;; No binding (else (reset-keys))))) (reset-keys))) ;; Evaluates a keymap action. A keymap action is expected to be a ;; symbol naming a thunk variable in the current module. ;; ;; The special-case symbol repeat-last-command causes the last action ;; executed via keypress to be repeated. (define (eval-keymap-action action) (define (invalid-action-error) (error "~S is not a valid action for keybinding." action)) (cond ;; Handle repeat-last-command ((equal? 'repeat-last-command action) (eval-keymap-action last-action)) ;; Normal actions ((symbol? action) (let ((proc (false-if-exception (eval-cm action)))) (if (thunk? proc) (begin (set! last-action action) (proc) #t) (invalid-action-error)))) ;; Otherwise, fail (else (invalid-action-error)))) (define (eval-stroke stroke) (let ((action (assoc stroke strokes))) (cond ((not action) ; (display "No such stroke\n") ; (display stroke) #f) (else ; (display "Scheme found action ") ; (display action) ; (display "\n") ((eval-cm (cdr action))) #t)))) ;; Search the global keymap for a particular symbol and return the ;; keys which execute this hotkey, as a string suitable for display to ;; the user. This is used by the gschem menu system. (define (find-key action) (let ((keys (lookup-binding %global-keymap action))) (and keys (keys->display-string keys)))) ;; Printing out current key bindings for gEDA (gschem) (define (dump-global-keymap) (dump-keymap %global-keymap)) (define (dump-keymap keymap) (define lst '()) (define (binding->entry prefix key binding) (let ((keys (list->vector (reverse (cons key prefix))))) (set! lst (cons (cons (symbol->string binding) (keys->display-string keys)) lst)))) (define (build-dump! km prefix) (keymap-for-each (lambda (key binding) (cond ((symbol? binding) (binding->entry prefix key binding)) ((keymap? binding) (build-dump! binding (cons key prefix))) (else (error "Invalid action ~S bound to ~S" binding (list->vector (reverse (cons key prefix))))))) km)) (build-dump! keymap '()) lst) ;;;; Documentation-related actions (define (hierarchy-documentation) "hierarchy-documentation If a component is selected, search for and display corresponding documentation in a browser or PDF viewer. If no documentation can be found, shows a dialog with an error message." (catch 'misc-error (lambda () (let ((component (any (lambda (obj) (and (component? obj) obj)) (page-selection (active-page))))) (and component (show-component-documentation component)))) (lambda (key subr msg args . rest) (gschem-msg (string-append "Could not show documentation for selected component:\n\n" (apply format #f msg args)))))) (define (help-manual) "help-manual Display the front page of the gEDA manuals in a browser." (show-wiki "geda:documentation")) (define (help-faq) "help-faq Display the gschem Frequently Asked Questions in a browser." (show-wiki "geda:faq-gschem")) (define (help-wiki) "help-faq Display the gEDA wiki in a browser." (show-wiki)) geda-gaf-1.8.2/gschem/scheme/print-NB-attribs.scm0000664000175000017500000000224312050461155016415 00000000000000;; gEDA - GPL Electronic Design Automation ;; gschem - gEDA Schematic Capture ;; Copyright (C) 1998-2010 Ales Hvezda ;; Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) ;; ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 2 of the License, or ;; (at your option) any later version. ;; ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; ;; You should have received a copy of the GNU General Public License ;; along with this program; if not, write to the Free Software ;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA (define (print-NB-attribs attribs) (for-each (lambda (attrib) (let* ((name-value (get-attribute-name-value attrib)) (name (car name-value)) (value (cdr name-value))) (if (string=? name "NB") (display (string-append value "\n"))))) attribs)) geda-gaf-1.8.2/gschem/scheme/pcb.scm0000664000175000017500000001653412050461155014072 00000000000000;; -*- Scheme -*- ;; ;; Copyright (C) 2006-2010 Dan McMahill ;; ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 2 of the License, or ;; (at your option) any later version. ;; ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; ;; You should have received a copy of the GNU General Public License ;; along with this program; if not, write to the Free Software ;; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ;; ;; ;; ** WARNING ** ;; This file contains highly experimental code. Use at your own risk. ;; ;; TODO ;; Note: This list is incomplete. ;; ;; - complete a project file which is essentially the same as a gsch2pcb ;; project file. ;; ;; - figure out how we should specify gsch2pcb arguments. The project file? ;; ;; - figure out how to launch a gsch2pcb editor to modify the gsch2pcb project ;; file. ;; ;; - figure out how to capture standard output from gsch2pcb and put it to ;; the gschem log. Perhaps a gschem-system-and-log function? ;; ;; - tell the listening pcb to load the new netlist and also load the ;; new elements to the paste buffer after running gsch2pcb ;; ;; - when launching pcb, tell it to load the correct file or maybe after after ;; running gsch2pcb, tell pcb what to load. ;; ;; - back annotate (once we implement it) ;; ;; - figure out how to have pcb talk back to gschem for selecting/deselecting ;; elements. ;; ;; - figure out how to install the hotkeys ;; (use-modules (ice-9 popen)) (gschem-log "Loading the PCB major mode\n") (gschem-log "PCB-mode version $Id$\n") (gschem-log "The PCB major mode is incomplete and considered experimental at this time\n") ;; These may be changed by the user in their gafrc files (FIXME -- make this ;; preceeding comment be true) ;; Various executibles (define pcb:pcb-cmd "pcb") (define pcb:gsch2pcb-cmd "gsch2pcb") ;; FIXME ;; should probably look for a value defined in a gafrc, the EDITOR env variable, ;; and then some default here. (define pcb:editor-cmd "emacs &") ;; In general, we should probably load gnetlist.scm and the appropriate ;; gnetlist backend to have the refdes aliasing code available. (define pcb:pipe #f) (define pcb:project-file-name "") ;; (close-pipe pcb:pipe) ;; Use this instead of ;; (display val pcb:pipe) ;; (define (pcb:pipe-write val) (if pcb:pipe ;; pipe is open so try and write out our value (begin (catch #t ;; try to write our value (lambda () (display val pcb:pipe) ) ;; and if we fail spit out a message ;; and set pcb:pipe to false so we don't ;; try and write again (lambda (key . args) (gschem-log "It appears that PCB has terminated.\n") (gschem-log "If this is not the case, you should save and exit and\n") (gschem-log "report this as a bug.\n\n") (gschem-log "If you exited PCB on purpose, you can ignore \n") (gschem-log "this message\n\n") (set! pcb:pipe #f) ) ) ) ;; pipe is not open so don't try and write to it ;;(display "pcb:pipe is not open\n") ) ) ;; ;; ;; pcb-select-component-hook ;; (define (pcb-select-component-hook attribs) (for-each (lambda (attrib) (let* ((name-value (get-attribute-name-value attrib)) (name (car name-value)) (value (cdr name-value)) ) (if (string=? name "refdes") (let () (pcb:pipe-write "Select(ElementByName, ^") (pcb:pipe-write value) (pcb:pipe-write "$)\n") ) ) ) ) attribs ) ) ;; ;; ;; pcb-deselect-component-hook ;; (define (pcb-deselect-component-hook attribs) (for-each (lambda (attrib) (let* ((name-value (get-attribute-name-value attrib)) (name (car name-value)) (value (cdr name-value)) ) (if (string=? name "refdes") (let () (pcb:pipe-write "Unselect(ElementByName, ^") (pcb:pipe-write value) (pcb:pipe-write "$)\n") ) ) ) ) attribs ) ) ;; ;; ;; pcb-select-net-hook ;; (define (pcb-select-net-hook attribs) ;; Select net hook #t ) ;; ;; ;; pcb-deselect-net-hook ;; (define (pcb-deselect-net-hook attribs) ;; Select net hook #t ) ;; ;; ;; pcb-deselect-all-hook ;; (define (pcb-deselect-all-hook attribs) (pcb:pipe-write "Unselect(All)\n") ) ;; ;; ;; Add the hooks ;; (add-hook! deselect-component-hook pcb-deselect-component-hook) (add-hook! deselect-net-hook pcb-deselect-net-hook) (add-hook! deselect-all-hook pcb-deselect-all-hook) (add-hook! select-component-hook pcb-select-component-hook) (add-hook! select-net-hook pcb-select-net-hook) ;; ;; ;; Menus ;; ;; ;; (define (pcb:about) (gschem-msg (string-append "This is the pcb major mode for gschem\n" "pcb.scm version $Id$\n" "***** WARNING *****\n" "This is highly experimental\n" "You should save your work often\n" "and keep backup copies. You have\n" "been warned.\n" ) ) ) (define (pcb:launch-pcb) ;; We don't want to crash on a SIGPIPE if the user ;; exits from PCB (if pcb:pipe (begin (gschem-log "PCB is already running\n") (gschem-msg "PCB is already running\n") ) (begin (if (gschem-confirm "Start pcb?") (begin (sigaction SIGPIPE SIG_IGN) (gschem-log "Launching PCB\n") (set! pcb:pipe (open-output-pipe (string-append pcb:pcb-cmd " --listen") ) ) (if (not pcb:pipe) (gschem-log "Failed to launch PCB\n") (gschem-log "Launched PCB\n") ) ) (gschem-msg "Not launching PCB\n") ) ) ) ) (define (pcb:run-gsch2pcb) (gschem-log "Running gsch2pcb") (system pcb:gsch2pcb-cmd) ) (define (pcb:run-editor) (system pcb:editor-cmd) ) (define (pcb:load-project) (let ((f nil)) (gschem-msg "This menu choice does not really do anything yet other than select a file\n") (set! f (gschem-filesel "Select Project File" pcb:project-file-name 'open 'must_exist)) (if f (set! pcb:project-file-name f) ) ) ) (define (pcb:save-project) (let ((f def nil)) (gschem-msg "This menu choice does not really do anything yet other than select a file\n") (set! f (gschem-filesel "Save Project File As" pcb:project-file-name 'save 'may_exist)) (if f (set! pcb:project-file-name f) ) ) ) ; All keys in this keymap *must* be unique (define pcb:pcb-keymap '( ("?" . pcb:about) ("l" . pcb:launch-pcb) ("n" . pcb:run-gsch2pcb) ("e" . pcb:run-editor) ("o" . pcb:load-project) ("s" . pcb:save-project) ) ) (define pcb:menu-items ;; ;; menu item name menu action menu hotkey action ;; '( ("About..." pcb:about pcb:about) ("Launch PCB" pcb:launch-pcb pcb:launch-pcb) ("Run gsch2pcb" pcb:run-gsch2pcb pcb:run-gsch2pcb) ("Edit gsch2pcb project" pcb:run-editor pcb:run-editor) ("Load Project..." pcb:load-project pcb:load-project) ("Save Project..." pcb:save-project pcb:save-project) ) ) (add-menu "PCB" pcb:menu-items) geda-gaf-1.8.2/gschem/scheme/list-keys.scm0000664000175000017500000000144012050461155015240 00000000000000;; Printing out current key bindings for gEDA (gschem) ; Stefan Petersen 1999-04-04 (spe@stacken.kth.se) ; Free for all use. Just don't blame me when your house burns up. (define (print-mapped-keys mapped-keys) (display (car mapped-keys)) (display " = ") (for-each (lambda (key) (cond ((not (null? key)) (display key) (display " ")))) (cdr mapped-keys)) (newline)) (define (mapping-keys keymap keys) (for-each (lambda (mapped-key) ; Receives a pair (let ((action (eval (cdr mapped-key)))) (cond ((list? action) (mapping-keys action (append keys (car mapped-key)))) (else (print-mapped-keys (list ; was print (cdr mapped-key) keys (car mapped-key))))))) keymap)) (mapping-keys global-keymap '()) geda-gaf-1.8.2/gschem/scheme/auto-place-attribs.scm0000664000175000017500000006655012220647257017041 00000000000000;;; gEDA - GPL Electronic Design Automation ;;; gschem - gEDA Schematic Capture ;;; Copyright (C) 1998-2010 Ales Hvezda ;;; Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 2 of the License, or ;;; (at your option) any later version. ;;; ;;; This program is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with this program; if not, write to the Free Software ;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, ;;; MA 02111-1301 USA. (use-modules (ice-9 regex)) ;; -------------------------------------------------------------------------- ;; ;; Code to place new text attributes automatically ;; written by Carlos Nieves Onega starts here. ;; ; Copyright (C) 2006 Carlos Nieves Onega ; Given a bound, defined as a list of the form ( (x1 x2) (y1 y2) ) with: ; - (x1, y1): bottom left corner. ; - (x2, y2): upper right corner. ; Returns: ; - The minimum x value if point is "min-x". ; - The maximum x value if point is "max-x". ; - The minimum y value if point is "min-y". ; - The maximum y value if point is "max-y". (define get-point-of-bound (lambda (point bound) (if (string=? point "min-x") (min (car (car bound)) (cdr (car bound))) (if (string=? point "max-x") (max (car (car bound)) (cdr (car bound))) (if (string=? point "min-y") (min (car (cdr bound)) (cdr (cdr bound))) (if (string=? point "max-y") (max (car (cdr bound)) (cdr (cdr bound))) (error (string-append "get-point-of-bound : Unknown point to get: " point)) )))))) ; This function returns the pin direction of the pin object parameter. ; It returns a one character string: "^", "v", "<" or ">". The arrow ; points the pin's end, which is NOT the active connection end. ; This function takes care of the pin's whichend property: if it's 1, ; then the pin ends should be reversed. (define get-pin-direction (lambda (pin) (let* ( (pin-ends (get-pin-ends pin)) (pin-beginning (car pin-ends)) (pin-end (cdr pin-ends)) ) (begin (if (eq? (car pin-beginning) (car pin-end) ) (if (<= (cdr pin-beginning) (cdr pin-end)) ; The x coords are equal. The pin is vertical. "^" "v") (if (<= (car pin-beginning) (car pin-end)) ; The x coords are not equal. The pin is horizontal. ">" "<")))))) ; This function returns the net direction of the net object parameter. ; It returns a string : ; "^v": vertical net ; "<>": horizontal net (define get-net-connection-sides (lambda (object) (let ( (bounds (get-object-bounds object (list "all") (list))) ) (begin (if (or (char=? (get-object-type object) OBJ_NET) (char=? (get-object-type object) OBJ_BUS)) (let ( ; Get the net bounds without the attribute (min-x (get-point-of-bound "min-x" bounds)) (max-x (get-point-of-bound "max-x" bounds)) (min-y (get-point-of-bound "min-y" bounds)) (max-y (get-point-of-bound "max-y" bounds)) ) ; Line's width needs to be considered here. (if (eq? (- max-x min-x) (get-line-width object)) ; If the x bounds are the same, this is a vertical segment. "^v" (if (eq? (- max-y min-y) (get-line-width object)) ; If the y bounds are, this is a horizontal segment. "<>" ; X or Y bounds are not the same. We don't know. (begin (display "Warning: get-net-connection-sides: Can't guess net direction.\n") "") ) ) ) ; This is not a OBJ_NET object. Return an empty list. (list) ) ) ) ) ) ; This function returns a list with the end coordinate of the pins, ; if they are in the desired side. ; - desired_side: is a one character string: "^", "v", "<" or ">". ; - coordinate: is a one character string: ; - "B" if the pin beginnings are desired. ; - "E" if the pin ends are desired. (define get-bound-of-pins (lambda (desired_side coordinate pins) (if (eq? (length pins) 0) (list) (let* ( (pin (car pins)) (pin-ends (get-pin-ends pin)) (pin-beginning (car pin-ends)) (pin-end (cdr pin-ends)) ) (begin (if (string=? (get-pin-direction pin) desired_side) (if (string=? coordinate "B") (cons (car pin-beginning) (cons (car pin-end) (get-bound-of-pins desired_side coordinate (cdr pins)))) (if (string=? coordinate "E") (cons (cdr pin-beginning) (cons (cdr pin-end) (get-bound-of-pins desired_side coordinate (cdr pins)))) (error (string-append "get-bound-of-pin : Unknown coordinate: " coordinate)))) (get-bound-of-pins desired_side coordinate (cdr pins)))) ) ))) ; This function returns the bounds of the pins in the given side of the object ; The side is a one character string: "^", "v", "<" or ">". The arrow ; points the pin's end, which is NOT the active connection end. (define get-bounds-of-pins-in-side (lambda (object desired_side) (let* ( (pins (get-object-pins object)) (pins-beginning (get-bound-of-pins desired_side "B" pins)) (pins-beginning-sorted (if (eq? (length pins-beginning) 0) (list) (stable-sort pins-beginning <))) (pins-end (get-bound-of-pins desired_side "E" pins)) (pins-end-sorted (if (eq? (length pins-end) 0) (list) (stable-sort pins-end <))) ) (begin (if (or (eq? (length pins-beginning-sorted) 0) (eq? (length pins-end-sorted) 0)) (list) (let* ( (min-x (car pins-beginning-sorted)) (max-x (list-ref pins-beginning-sorted (- (length pins-beginning-sorted) 1))) (min-y (car pins-end-sorted)) (max-y (list-ref pins-end-sorted (- (length pins-end-sorted) 1)))) (cons (cons min-x max-x) (cons min-y max-y))) ) )))) ; This function returns the bounds of the pins in the given side of the object ; The side is a one character string: "^", "v", "<" or ">". The arrow ; points the pin's end, which is NOT the active connection end. (define get-bounds-of-pins-with-attribs-in-side (lambda (object desired_side) (define get-bound-of-list-of-pins-with-attribs (lambda (bounds desired-side pin-list) (if (null? pin-list) bounds (begin (let* ( (pin (car pin-list)) (pin-direction (get-pin-direction pin)) (pin-bounds (get-object-bounds pin (list) (list))) (new-bounds bounds) (old-bounds bounds) ) (begin (if (string=? pin-direction desired-side) (begin (if (null? bounds) (begin (set! old-bounds pin-bounds) )) (if (not (null? pin-bounds)) (set! new-bounds (cons (cons (min (get-point-of-bound "min-x" pin-bounds) (get-point-of-bound "min-x" old-bounds)) (max (get-point-of-bound "max-x" pin-bounds) (get-point-of-bound "max-x" old-bounds))) (cons (min (get-point-of-bound "min-y" pin-bounds) (get-point-of-bound "min-y" old-bounds)) (max (get-point-of-bound "max-y" pin-bounds) (get-point-of-bound "max-y" old-bounds)))))))) (get-bound-of-list-of-pins-with-attribs new-bounds desired-side (cdr pin-list)) )))))) (get-bound-of-list-of-pins-with-attribs (list) desired_side (get-object-pins object)) )) ; Check if a point (x,y) if inside a region with the given bounds. ; - bounds is a list of the form ( (x1 x2) (y1 y2) ) with: ; - (x1, y1): bottom left corner. ; - (x2, y2): upper right corner. ; Return true if the point is inside the region, or false otherwise. (define inside-region (lambda (bounds x y) (let* ( (right (get-point-of-bound "max-x" bounds)) (left (get-point-of-bound "min-x" bounds)) (top (get-point-of-bound "max-y" bounds)) (bottom (get-point-of-bound "min-y" bounds)) (collision (and (>= x left) (<= x right) (<= y top) (>= y bottom))) ) (begin collision)))) ; Chech if two regions are overlapping. ; Each bound is defined as a list of the form ( (x1 x2) (y1 y2) ) with: ; - (x1, y1): bottom left corner. ; - (x2, y2): upper right corner. ; Return true if the regions are overlapping, or false otherwise. (define check-collision-of-bounds (lambda (bounds1 bounds2) (let* ( (bounds1_x1 (get-point-of-bound "min-x" bounds1)) (bounds1_x2 (get-point-of-bound "max-x" bounds1)) (bounds1_y1 (get-point-of-bound "min-y" bounds1)) (bounds1_y2 (get-point-of-bound "max-y" bounds1)) (bounds2_x1 (get-point-of-bound "min-x" bounds2)) (bounds2_x2 (get-point-of-bound "max-x" bounds2)) (bounds2_y1 (get-point-of-bound "min-y" bounds2)) (bounds2_y2 (get-point-of-bound "max-y" bounds2)) ) (begin (or (inside-region bounds1 bounds2_x1 bounds2_y1) (inside-region bounds1 bounds2_x2 bounds2_y2) (inside-region bounds1 bounds2_x1 bounds2_y2) (inside-region bounds1 bounds2_x2 bounds2_y1) (inside-region bounds2 bounds1_x1 bounds1_y1) (inside-region bounds2 bounds1_x2 bounds1_y2) (inside-region bounds2 bounds1_x1 bounds1_y2) (inside-region bounds2 bounds1_x2 bounds1_y1) ; horizontal bounds or region 1 are within ; horizontal bounds of region 2 and ; vertical bounds of region 1 are within ; vertical bounds of region 2 (and (< bounds1_x1 bounds2_x1) (< bounds1_x1 bounds2_x2) (> bounds1_x2 bounds2_x1) (> bounds1_x2 bounds2_x2) (> bounds1_y1 bounds2_y1) (< bounds1_y2 bounds2_y2)) ; horizontal bounds or region 2 are within ; horizontal bounds of region 1 and ; vertical bounds of region 2 are within ; vertical bounds of region 1 (and (< bounds2_x1 bounds1_x1) (< bounds2_x1 bounds1_x2) (> bounds2_x2 bounds1_x1) (> bounds2_x2 bounds1_x2) (> bounds2_y1 bounds1_y1) (< bounds2_y2 bounds1_y2))))))) ; Chech if the attribute bounds may overlap the net conections of ; the pin bounds. ; Each bound is defined as a list of the form ( (x1 x2) (y1 y2) ) with: ; - (x1, y1): bottom left corner. ; - (x2, y2): upper right corner. ; Return true if the regions are overlapping, or false otherwise. (define check-overlapping-of-pin-connections (lambda (pins-bounds pin-direction attrib-bounds spacing) (let* ( (pins-min-x (get-point-of-bound "min-x" pins-bounds)) (pins-max-x (get-point-of-bound "max-x" pins-bounds)) (pins-min-y (get-point-of-bound "min-y" pins-bounds)) (pins-max-y (get-point-of-bound "max-y" pins-bounds)) (attrib-min-x (get-point-of-bound "min-x" attrib-bounds)) (attrib-max-x (get-point-of-bound "max-x" attrib-bounds)) (attrib-min-y (get-point-of-bound "min-y" attrib-bounds)) (attrib-max-y (get-point-of-bound "max-y" attrib-bounds)) ) (if (string=? pin-direction "^") (and (>= pins-min-y attrib-max-y) (check-collision-of-bounds ; Calcule the collision as if the attribute has the same ; vertical coordinates as the pins (including spacing). (cons (cons attrib-min-x attrib-max-x) (cons pins-min-y pins-max-y)) (cons (cons (- pins-min-x spacing) (+ pins-max-x spacing)) (cons pins-min-y pins-max-y)) ) ) (if (string=? pin-direction "v") (and (<= pins-max-y attrib-min-y) (check-collision-of-bounds ; Calcule the collision as if the attribute has the same ; vertical coordinates as the pins (including spacing). (cons (cons attrib-min-x attrib-max-x) (cons pins-min-y pins-max-y)) (cons (cons (- pins-min-x spacing) (+ pins-max-x spacing)) (cons pins-min-y pins-max-y)) ) ) (if (string=? pin-direction "<") (and (<= pins-max-x attrib-min-x) (check-collision-of-bounds ; Calcule the collision as if the attribute has ; the same horizontal coordinates as the pins ; (including spacing). (cons (cons pins-min-x pins-max-x) (cons attrib-min-y attrib-max-y)) (cons (cons pins-min-x pins-max-x) (cons (- pins-min-y spacing) (+ pins-max-y spacing)) ) ) ) (if (string=? pin-direction ">") (and (>= pins-min-x attrib-max-x) (check-collision-of-bounds ; Calcule the collision as if the attribute has ; the same horizontal coordinates as the pins ; (including spacing). (cons (cons pins-min-x pins-max-x) (cons attrib-min-y attrib-max-y)) (cons (cons pins-min-x pins-max-x) (cons (- pins-min-y spacing) (+ pins-max-y spacing)) ) ) ) (error (string-append "check-overlapping-of-pin-connections : Unknown pin-direction: " pin-direction))))))))) ; Given a coordinate, snap it to the nearest point in the grid. (define snap-coord-to-grid (lambda (coord) (if (> autoplace-attributes-grid 0) (if (<= coord 0) (inexact->exact (* (floor (/ coord autoplace-attributes-grid)) autoplace-attributes-grid)) (inexact->exact (* (ceiling (/ coord autoplace-attributes-grid)) autoplace-attributes-grid))) coord) )) ; Given the new desired bounds of an object's attribute, ; calcule the new bounds so the new position don't overlap with pins ; or pin attributes. ; Returns the new bounds of the attribute. (define adjust-pos-to-avoid-collision (lambda (new-attrib-bounds object move-direction spacing) (let* ( (pin-directions-list (list ">" "<" "v" "^")) (pin-directions-list-index 0) (new-attrib-bounds-adjusted new-attrib-bounds) (pass 1) ) ; For each pin-direction in the pin-directions-list, make a 2 pass loop. ; The first one checks the attribute bounds with the pin bounds (without ; attributes like pinname, pinnumber,...), and taking care of not overlap ; the pin connections side, so the nets connecting to the pins don't ; overlap the attribute. ; The second one checks the attribute bounds with the pin bounds, ; this time including all the pin attributes. (while (<= pin-directions-list-index (- (length pin-directions-list) 1)) (let* ( (pin-direction (list-ref pin-directions-list pin-directions-list-index)) (pins-bounds (if (eq? pass 1) (get-bounds-of-pins-in-side object pin-direction) (get-bounds-of-pins-with-attribs-in-side object pin-direction))) (x_offset 0) (y_offset 0) ) (begin (if (not (null? pins-bounds)) (if (if (eq? pass 1) (check-overlapping-of-pin-connections pins-bounds pin-direction new-attrib-bounds-adjusted spacing) (check-collision-of-bounds new-attrib-bounds-adjusted pins-bounds) ) (begin ; Calcule the offset for vertical pins. (if (or (string=? pin-direction "^") (string=? pin-direction "v") ) (begin (if (string-index move-direction #\<) (set! x_offset (- (- (get-point-of-bound "min-x" pins-bounds) 2 (get-point-of-bound "max-x" new-attrib-bounds-adjusted) ) spacing )) ;; add spacing (if (string-index move-direction #\>) (set! x_offset (+ (- (get-point-of-bound "max-x" pins-bounds) (get-point-of-bound "min-x" new-attrib-bounds-adjusted) ) spacing)))) ; If the offset is zero, there is probably ; an overlap with pin connections, so add ; one grid spacing to the offset. (if (eq? x_offset 0) (if (string-index move-direction #\<) (set! x_offset (- 0 autoplace-attributes-grid)) (set! x_offset autoplace-attributes-grid)) ) ; Snap the offset to the grid. (set! x_offset (snap-coord-to-grid x_offset)) ; Set the new attrib bounds. (set! new-attrib-bounds-adjusted (cons (cons (+ (get-point-of-bound "min-x" new-attrib-bounds-adjusted) x_offset) (+ (get-point-of-bound "max-x" new-attrib-bounds-adjusted) x_offset)) (cons (get-point-of-bound "min-y" new-attrib-bounds-adjusted) (get-point-of-bound "max-y" new-attrib-bounds-adjusted)))) ) ; Calcule the offset for horizontal pins. (if (or (string=? pin-direction "<") (string=? pin-direction ">") ) (begin (if (string-index move-direction #\^) (set! y_offset (+ y_offset (+ (- (get-point-of-bound "max-y" pins-bounds) (get-point-of-bound "min-y" new-attrib-bounds-adjusted) ) spacing))) (if (string-index move-direction #\v) (set! y_offset (+ y_offset (- (- (get-point-of-bound "min-y" pins-bounds) (get-point-of-bound "max-y" new-attrib-bounds-adjusted)) spacing))))) ; If the offset is zero, there is probably ; an overlap with pin connections, so add ; one grid spacing to the offset. (if (eq? y_offset 0) (if (string-index move-direction #\v) (set! y_offset (- 0 autoplace-attributes-grid)) (set! y_offset autoplace-attributes-grid)) ) ; Snap the offset to the grid. (set! y_offset (snap-coord-to-grid y_offset)) ; Set the new attrib bounds. (set! new-attrib-bounds-adjusted (cons (cons (get-point-of-bound "min-x" new-attrib-bounds-adjusted) (get-point-of-bound "max-x" new-attrib-bounds-adjusted)) (cons (+ (get-point-of-bound "min-y" new-attrib-bounds-adjusted) y_offset) (+ (get-point-of-bound "max-y" new-attrib-bounds-adjusted) y_offset) ))) ) (error "adjust-pos-to-avoid-collision: Wrong pin-direction format") )))) ) ; Update the index and pass number for the next loop. (if (not (eq? pass 1)) (begin (set! pin-directions-list-index (+ pin-directions-list-index 1)) (set! pass 1)) (set! pass (+ pass 1))) ))) new-attrib-bounds-adjusted ))) ; This function gets the reference point of an object. ; The position string is the reference to return. It has the format: ; "horizontal vertical", where: ; - "horizontal" is one of the following: "Left", "Middle", "Right". ; - "vertical" is one of the following: "Lower", "Middle", "Upper". ; Example: "Lower Right". (define (get-reference object position-string) (if (not (string-index position-string #\ )) (error "get-reference : Wrong reference format")) (let* ( (object-type (get-object-type object)) ; Get the object bounds: ; - If it's a pin: including everything. ; - otherwise: without attributes neither pins. (bounds (if (char=? object-type OBJ_PIN) (get-object-bounds object (list "all") (list)) (get-object-bounds object (list "all") (list (list->string (list OBJ_PIN))))) ) (horiz-bounds (car bounds)) (vertical-bounds (cdr bounds)) (space-pos (string-index position-string #\ )) (vertical-string (substring position-string 0 space-pos)) (horiz-string (substring position-string (+ space-pos 1))) (horiz-pos (if (string=? horiz-string "Left") (min (car horiz-bounds) (cdr horiz-bounds)) (if (string=? horiz-string "Middle") (ceiling (/ (+ (car horiz-bounds) (cdr horiz-bounds)) 2)) (if (string=? horiz-string "Right") (max (car horiz-bounds) (cdr horiz-bounds)) (error (string-append "get-reference : Unknown reference (horizontal): " horiz-string)))))) (vertical-pos (if (string=? vertical-string "Lower") (min (car vertical-bounds) (cdr vertical-bounds)) (if (string=? vertical-string "Middle") (ceiling (/ (+ (car vertical-bounds) (cdr vertical-bounds)) 2)) (if (string=? vertical-string "Upper") (max (car vertical-bounds) (cdr vertical-bounds)) (error (string-append "get-reference : Unknown reference (vertical): " vertical-string)))))) ) (cons horiz-pos vertical-pos))) ; Given a matching pattern and a list, return false if no member of the list ; matches the pattern, or true if any does. (define (list-string-match matching-pattern attributes_list) (if (null? attributes_list) #f (if (list? attributes_list) (if (string-match matching-pattern (car attributes_list)) #t (list-string-match matching-pattern (cdr attributes_list))) (if (string-match matching-pattern attributes_list) #t #f) ))) ; Given an object and an attribute matching pattern, this function checks ; if the object attributes match the pattern. ; The attributes_list has the form ( [attribute-name attribute-pattern]* ) (define (check-object-attributes object attributes_list) (if (null? attributes_list) #t (if (< (length attributes_list) 2) (error (string-append "check-object-attributes: Odd number in attributes list.")) (let* ( (attribute-name (car attributes_list)) (attribute-pattern (car (cdr attributes_list))) (attribute-values (if (string=? attribute-name "OBJ_TYPE") (list (list->string (list (get-object-type object)))) (get-attrib-value-by-attrib-name object attribute-name))) ) (begin (if (null? attribute-values) #f (if (list-string-match attribute-pattern attribute-values) (check-object-attributes object (cdr (cdr attributes_list))) #f ) ) ) ) ) ) ) ; This function sets the default parameters of each attribute, ; provided it is specified in the default-position-of-text-attributes. ; It gets the attrib name from the attribute and sets ; the text properties as specified in default-position-of-text-attributes. (define (set-default-position object attribute direction defaults) (if (null? defaults) 0 (let* ( (attrib-name-value (get-attribute-name-value attribute)) (attrib-name (car attrib-name-value)) ; Attribute name (default-def (car defaults)) ; Default definition (def-attrib-name (list-ref default-def ; Default attrib name def-attrib-name-pos)) (def-direction (list-ref default-def ; Default direction def-direction-pos)) ) ; Check if the attribute's name and direction matches. (if (and (string=? attrib-name def-attrib-name) (string=? def-direction direction) (check-object-attributes object (list-ref default-def ; attrib match def-attrib-match))) (begin ; It matches, so change the text parameters (let* ( (ref (get-reference object (list-ref default-def def-reference-pos))) (new-alignment (list-ref default-def def-alignment-pos)) (new-angle (list-ref default-def def-angle-pos)) (new-x (+ (list-ref default-def def-x-offset-pos) (car ref))) (new-y (+ (list-ref default-def def-y-offset-pos) (cdr ref))) (attrib-move-dir (list-ref default-def def-move-pos)) (attrib-spacing (abs (list-ref default-def def-spacing-pos))) (new-attrib-bounds (calcule-new-attrib-bounds attribute new-alignment new-angle new-x new-y)) (new-attrib-bounds-adjusted (adjust-pos-to-avoid-collision new-attrib-bounds object attrib-move-dir attrib-spacing)) (x_offset (if (null? new-attrib-bounds-adjusted) 0 (- (get-point-of-bound "min-x" new-attrib-bounds-adjusted) (get-point-of-bound "min-x" new-attrib-bounds)))) (y_offset (if (null? new-attrib-bounds-adjusted) 0 (- (get-point-of-bound "min-y" new-attrib-bounds-adjusted) (get-point-of-bound "min-y" new-attrib-bounds)))) ) (set-attribute-text-properties! attribute -1 ; keep previous color -1 ; keep previous size new-alignment new-angle (+ new-x x_offset) (+ new-y y_offset)) ) ) ) (set-default-position object attribute direction (cdr defaults)) ; process the rest )) ) ; End of definition of set-default-position ; This function processes the attribute list and calls ; set-default-position for each attribute (define autoplace-text (lambda (object direction attrib-list) (if (not (eq? (length attrib-list) 0)) (begin (set-default-position object (car attrib-list) direction default-position-of-text-attributes) (autoplace-text object direction (cdr attrib-list)) )))) ; End of definition of autoplace-pin-text ; Autoplace the attributes of the given pin object. (define (autoplace-pin-attributes pin) (let ((pin-direction (get-pin-direction pin)) (attribute-list (get-object-attributes pin)) ) (autoplace-text pin pin-direction attribute-list))) ; Get the pin directions of the given list of pins. ; It returns a list with all the pin directions of the pins. (define get-pin-directions (lambda (pins) (if (eq? (length pins) 0) (list) (cons (get-pin-direction (car pins)) (get-pin-directions (cdr pins)))))) ; Get the connection sides where there are pins. ; The parameter pin-directions is a list with the directions of ; all the pins. (As given by get-pin-directions). ; It returns a string with the sides where there are pins. ; It is needed that the return value doesn't depend on the order of the pins. ; (Notice the arrow always points to the inside of the symbol). ; Examples of return values: "<>^v", "<>", "^v". (define get-connection-sides (lambda (pin-directions) (define (check-side side-list pin-directions) (if (eq? (length side-list) 0) "" (if (member (car side-list) pin-directions) (string-append (car side-list) (check-side (cdr side-list) pin-directions)) (check-side (cdr side-list) pin-directions)))) (check-side (list "<" ">" "^" "v") pin-directions))) ; Autoplace the attributes of the given object. ; This function gets some info of the object and calls autoplace-text. (define (autoplace-object-attributes object) (let* ((pin-list (get-object-pins object)) (pin-directions (get-pin-directions pin-list)) (connection-sides (if (or (char=? (get-object-type object) OBJ_NET) (char=? (get-object-type object) OBJ_BUS)) (get-net-connection-sides object) (get-connection-sides pin-directions))) (attribute-list (get-object-attributes object)) ) (autoplace-text object connection-sides attribute-list))) ;; ;; Code to place new text attributes automatically ;; written by Carlos Nieves Onega ends here. ;; ;; -------------------------------------------------------------------------- geda-gaf-1.8.2/gschem/ChangeLog0000664000175000017500000157255012220655751013144 00000000000000commit 875406c9d1211fd88e3e7e1ee5349cba41a7becf Author: Peter TB Brett Date: Wed Sep 25 22:17:56 2013 +0100 Update NEWS and version information for 1.8.2. commit 1ae405d39a3822875d3dbc5f20f8152bf172bed7 Author: Peter TB Brett Date: Wed Sep 25 22:24:51 2013 +0100 Update translations. commit d088ec192ac9fbc1dff3509527cb238520c2ee33 Author: Peter TB Brett Date: Fri Nov 23 21:24:42 2012 +0000 Update version numbers to 1.8.1. commit 988e63ef358d7d44e447e08f4be58ac15f008d3e Author: Peter TB Brett Date: Fri Nov 23 21:32:49 2012 +0000 Update translations. commit 79c242437c4ba0a32c499a8c922f41759398c23e Author: Peter TB Brett Date: Fri Nov 23 21:18:03 2012 +0000 gschem: Update copyright date in usage & 'About' dialog. commit 2f5799e3936040e186db0ebc9c5188e62a2706d8 Author: Peter TB Brett Date: Tue Nov 20 00:18:50 2012 +0000 commit bbb663612afa98c274279edbe167f86dd7b3f6d8 Author: Peter TB Brett Date: Sun Nov 18 16:03:31 2012 +0000 Final .po file update before release. commit 87f1e0e76965a514277c949dbf2191993962cb88 Author: Peter TB Brett Date: Sun Nov 18 15:26:09 2012 +0000 Update version numbers to 1.8.0-20121118. commit 7f6d142d6a17d77d3185f8bbc690d13f2e128c18 Author: Krzysztof Kościuszkiewicz Date: Mon Jan 30 23:32:34 2012 +0100 gschem: fix segfault when multiple windows are closed Reported-by Vladimir Zhbanov , introduced in commit 8342bddce4487edf4a7214d5d6ab83cb73a066d4. Add new function gschem_toplevel_alloc_libgeda_toplevel which allocates the TOPLEVEL and appends new hooks that force pin cues redraw when net connectivity changes. Previously each new TOPLEVEL had invalidation hooks attached which had the GSCHEM_TOPLEVEL hardcoded, pointing at the very first window created when gschem was launched. Closes-bug: lp-1070243 commit f0b0b0d7e26cae671692a23edc0251a59c3a7e6b Author: Peter TB Brett Date: Sat Nov 17 22:39:42 2012 +0000 gschem: Add "fully-connected" net to "drawing primitives" example. Useful for testing how net ends appear, now that the "connection-tracking" function has been added that affects when warning markers are printed at the ends of nets. commit 1598b5884ba8790efe713907c5707240c97a934e Author: Peter TB Brett Date: Sat Nov 17 21:35:31 2012 +0000 gschem: Draw arrows on 'connected' dangling net ends. Recently, gschem was changed to not draw anything at a net endpoint when it thinks the net is connected. This has the drawback that in some cases the eye can be fooled into thinking that two nets are connected together when they are not, with the concomitant risk of badly breaking a design. This patch alters gschem to draw an arrow in 'junction colour' on dangling net segment ends when it thinks the net is properly connected. This is not an ideal solution, but should go most of the way towards solving the "invisible errors wrecking my expensive boards" problem. A follow-up patch should probably do the same for printed output. Affects-bug: lp-1014160 commit 546d2bb9333209059a00810ddf386242651cdb95 Author: Sergey Alyoshin Date: Fri Nov 16 22:13:06 2012 +0000 gschem: unreference existing view models on library refresh Closes-bug: lp-1075142 commit e6cdf09ad9330c2066363809f7839f698ca2476b Author: Peter TB Brett Date: Thu Nov 15 23:22:20 2012 +0000 Hand-merge Dutch translations from master branch. Merge Dutch translation improvements made by Bert Timmerman in from the unstable branch (commits 4b17c888, f9bd70f6, and a164660f). commit 24ef353613c1a0114920a90c89167127cbcdf925 Author: Gareth Edwards Date: Wed Nov 14 21:45:45 2012 +0000 gschem: update translations with new URLs in usage message Commit 10e8788d updated the address for filing bugs and the gEDA/gaf webpage. Update the translation strings to match. Affects-bug: lp-926456 commit 96a2822b1e5b5ee9d789dea2cd7b0efa04c70b01 Author: Gareth Edwards Date: Thu Nov 8 19:07:28 2012 +0000 gschem: replace deprecated calls to g_strcasecmp () g_strcasecmp() is deprecated, so replace it with a combination of calls to g_utf8_collate() and g_utf8_casefold() in various bits of dialog code. commit eeba9560d8c015a6ce3bba2ad9d489e42a4bd8b0 Author: Gareth Edwards Date: Wed Oct 31 22:59:41 2012 +0000 gschem: remove unused pointer values in multiattrib code In function multiattrib_action_promote_attribute(), the pointer "o_new" returned by "o_attrib_add_attrib()" is never used. In function attrib_edit_dialog_ok(), Pointer "new" returned by "o_attrib_add_attrib()" is never used. In gschem_action_connect_proxy(), "label" is unused. Replace all with cast to (void). Coverity-ID: 201684 Coverity-ID: 201683 Coverity-ID: 201682 commit e7b0a2338de5f31d2bab6d3348fec69ae9c9c2fa Author: Gareth Edwards Date: Mon Oct 29 15:14:10 2012 +0000 gschem: replace deprecated call to g_strcasecmp () in gschem-version Guile function. g_rc_gschem_version() was using g_strcasecmp () which has been deprecated since glib 2.2. Replace it with UTF8 implementations as recommended in the glib documentation. commit d189176e41b642ddd227cf35dc0535574560084a Author: Gareth Edwards Date: Mon Oct 29 18:14:46 2012 +0000 gschem: suppress compiler warning in line type dialog code gcc is complaining that "end" may not be set. Pre-set it to a sensible default at declaration. commit 0e8dada182d9045677e92d44f9254f1f07b375b3 Author: Gareth Edwards Date: Fri Mar 16 21:54:45 2012 +0000 gschem: fix unsafe use of strncpy Make sure string is zero-terminated after using strncpy. Coverity-ID: 201559 Coverity-ID: 201560 Coverity-ID: 201561 Coverity-ID: 201562 commit ac4757af8ef6db9509e137f49ae1b106ea4698a4 Author: Gareth Edwards Date: Fri Mar 16 21:35:44 2012 +0000 gschem: Remove dead code Default statement in switch in o_arc.c will never be executed due to the earlier "if" statement. Coverity-ID: 201571 commit 10e8788d2bc4d227dc62bd46013ab29ca5b4219c Author: Gareth Edwards Date: Mon Mar 19 22:28:51 2012 +0000 gschem: update usage with bug-filing address Change the bug filing address from email to the launchpad site. Also update the website address for the gEDA project and update the copyright date range for the file to include 2012. Closes-bug: lp-926456 commit f0923997c5ea727f6b73afad23ee2f974ac6b6b0 Author: Gareth Edwards Date: Sun Mar 18 11:36:59 2012 +0000 Update FSF mailing address. Change all references to the FSF mailing address to the new Franklin Street location. Closes-bug: lp-934934 commit a6dff5449e17ebe2bd3a6a4ee4ca0fabef9d04bb Author: Peter TB Brett Date: Wed Nov 14 17:15:13 2012 +0000 gschem: Import translations from Launchpad N.b. Did not import AF, AR, or ZH_CN translations, as Launchpad translations were less fully-translated than translations already in tree. commit 74f1fcc061a4f08ed4bcce3dba7c6e1f3006c41d Author: Peter TB Brett Date: Thu Feb 9 12:51:41 2012 +0000 gschem: Fix unchecked return value. Coverity-ID: 201567 commit 6a5247b6d5706c95f8f9af3b9f056b035603ee2f Author: Peter TB Brett Date: Thu Feb 9 12:07:10 2012 +0000 gschem: Fix dereference after NULL check. In o_undo_savestate(), we assume that u_current must be non-NULL. Make this explicit by adding an assertion. Coverity-ID: 201602 commit e5465cc12e620be1c4cf6d2b41f672d6c13f97cc Author: Peter TB Brett Date: Thu Feb 9 11:27:51 2012 +0000 gschem: Fix buffer overruns in buffer handling code. Off-by-one errors. Coverity-ID: 201623 Coverity-ID: 201624 Coverity-ID: 201625 commit ea3a3214312203f886c10faa5a28ade7c5e9d4f6 Author: Peter TB Brett Date: Tue Jan 31 10:50:10 2012 +0000 gschem: Don't import srfi-69 in keymap.scm. We don't currently use SRFI 69 functions in the keymap system anyway. Closes-bug: lp-923874 commit 82e62f3dcb2a55f69a892b9922edeb4fde80244a Author: Krzysztof Kościuszkiewicz Date: Wed Jan 18 23:54:10 2012 +0100 gschem: cleanup o_cue_draw_lowlevel (cherry picked from commit bbcb153180b2c45fe74012059b428b06ad61eaae) commit 18658e26cb65aa99b7dba4954a973000e057929f Author: Krzysztof Kościuszkiewicz Date: Wed Jan 18 23:53:41 2012 +0100 gschem: fix drawing of junction cues Closes bug "disappearing dots in gschem" reported by Gabriel Paubert . Issue was introduced in commit 6cae96e. Additionally, now junction cues are also drawn when 3 or more pins are connected (same behavior as for net segments). (cherry picked from commit 0df45c9f859537bf9683b7fa8fb3d4b35828672e) commit 7943b8a2c696265b334dbfa4dce1101e95754024 Author: Vladimir Zhbanov Date: Sun Jan 15 19:24:45 2012 +0400 Updated Russian translation commit 59eafeb48043ec092e7b33017698a4ed10b0f5f6 Author: Vladimir Zhbanov Date: Tue Jan 17 02:53:52 2012 +0400 libgeda,gschem: add three missing files to POTFILES.in Reported by Sergey Alyoshin commit b0a8dc828c4a94f90ca90b966f141924d45d3c64 Author: Peter TB Brett Date: Sun Jan 15 18:51:08 2012 +0000 gschem: Use correct textdomain in Scheme code. Reported-by: Sergey Alyoshin Closes-bug: lp-916803 commit cc53dd4e0671c27fde2738d12be7d44a416e753d Author: Vladimir Zhbanov Date: Sun Jan 15 19:02:28 2012 +0400 gschem l10n: add missing file to POTFILES.in x_rc.c is missing in POTFILES.in (reported by Sergey Alyoshin) and contains typo (missing space) in one of strings. commit 037b21c18cb674ac50970e8474138b6809d3fcb6 Author: Nathan Schulte Date: Fri Jan 13 19:32:21 2012 -0600 gschem: Fix formatting and code style Affects-bug: lp-916234 commit e0140ecc98a57fc480a152717b53ac6fe5463611 Author: Nathan Schulte Date: Fri Jan 13 19:23:04 2012 -0600 gschem: Fix bug with selection and hidden attributes Fixes a regression caused by 9b73a4c7f6f5e9dade0ddaca5aadc9ecb326bb5c. When selecting an object via box selection it's invisible attributes are now automatically selected as well. Closes-bug: lp-916234 commit 13664d6acc70b939668493bb43e60eeaa9c202ea Author: Peter TB Brett Date: Thu Jan 12 00:14:35 2012 +0000 gschem: Remove some unused variables and labels. commit f86efb8f2d426810c6405f4a9696280e1cf63215 Author: Gareth Edwards Date: Wed Jan 11 21:52:17 2012 +0000 gschem: fix potential memory leak in g_funcs_filesel() Guard against non-local guile exit using a dynamic context. commit cfaf93e4a1fd5592ed40caf7ed643a7011f8d727 Author: Gareth Edwards Date: Wed Jan 11 21:37:27 2012 +0000 gschem: Fix potential memory leak in g_rc_paper_sizes() Move the conversion of the "papername" string from a Scheme object to be the last Scheme call in the function, so that no potential non-local exits in guile could cause the string not to be freed. commit 321c005a6170b34fc9f3e9f6ab1e4ab931120f81 Author: Gareth Edwards Date: Wed Jan 11 07:37:47 2012 +0000 gschem: display gschemrc filename properly on version failure Add a new Scheme function "rc-filename" to libgeda to extract the filename of the Scheme file under evaluation, and use this in the "gschem-version" Scheme function in gschem to show which file is wrong. Closes-bug: lp-910663 commit 684211777ffcf0414887f814207da97dc37dd5fa Merge: 72be40e cbdd5af Author: Peter TB Brett Date: Wed Jan 11 20:06:11 2012 +0000 Merge branch 'entropy_reduction' of git://github.com/gareth8118/geda-gaf into for-stable-1.8 commit cbdd5af9825c99a38164fdd76f49be6a5e887821 Author: Gareth Edwards Date: Wed Jan 4 22:35:21 2012 +0000 gschem: add function documentation for g_rc_gschem_version() commit 72be40e1081e56050a81e73e74c5a4e0c645fe3d Author: Nathan Schulte Date: Sat Jan 7 15:16:44 2012 -0600 gschem: Fix a bug with invert selection When invert selecting "nothing", all currently selected objects are deselected. This is annoying when you "miss" trying to invert select a small group of objects. This is now fixed such that "missing" and selecting "nothing" does not deselect everything. Closes-bug: lp-912489 commit 97bea3a73c9c8d25d54454ea28a942b9c9c38c57 Author: Nathan Schulte Date: Tue Jan 10 12:28:51 2012 -0600 gschem: Fix bug with invert selection and attributes This fixes a bug that causes attributes to be left unselected when selected in the same select box as their parent object. Closes-bug: lp-912475 commit 3671d4acdab78025b658cdba81f53c2ecec0208d Author: Peter TB Brett Date: Tue Jan 10 09:20:26 2012 +0000 Update translations. commit 31440e054a54001bf462f7da9d31bfc0f0063d3f Merge: c6db159 0884425 Author: Peter TB Brett Date: Mon Jan 9 20:13:41 2012 +0000 Merge branch 'bug-700448-load-error'. Eivind Kvedalen has provided some changes to libgeda and tools that provide better error detection when loading schematic and symbol files, and I have made a few improvements and bugfixes based on his branch. Closes-bug: lp-700448 Conflicts: libgeda/src/a_basic.c commit 08844256caf27c2ac0be8614388f6e30c034437d Author: Peter TB Brett Date: Mon Jan 9 19:48:55 2012 +0000 gschem: Improve clipboard paste error dialog. commit fbb6ccced155992563052f4c23ac40dec43998f4 Author: Peter TB Brett Date: Mon Jan 9 19:40:01 2012 +0000 gschem: Make file load error dialog more useful. commit 08573f2f4f53afa3735081ea129cd1d86f14a6a2 Author: Peter TB Brett Date: Fri Jan 6 23:48:30 2012 +0000 gschem: Correctly checked-cast arguments when creating dialog. commit 8342bddce4487edf4a7214d5d6ab83cb73a066d4 Author: Krzysztof Kościuszkiewicz Date: Wed May 18 22:27:51 2011 +0200 gschem: refresh pin-cues on connectivity change Closes-bug: lp-707064 commit 6cae96ed0629a87bd71cecce4cc966e58b8bd0af Author: Krzysztof Kosciuszkiewicz Date: Fri Mar 11 00:13:23 2011 +0100 gschem: skip drawing endpoint cues on fully connected nets Affects-bug: lp-707064 commit b5f994f7c439cb0fbc863eec4843594165986683 Author: Krzysztof Kosciuszkiewicz Date: Sat Jan 22 17:55:42 2011 +0100 gschem: replace pin end markings with boxes Affects-bug: lp-706552 commit 58af3327f4fbca32597f7081cc84453fdf4c8dee Author: Nathan Schulte Date: Thu Jan 5 12:49:50 2012 -0600 gschem: Fix bug with inverted (control key) selection. Fixes a regression caused by commit 7f88749446b6. The previous commit made it so that making a selection with the control key pressed no longer inverts the selection state of the objects selected, but instead starts a new selection. Reviewed-by: Peter TB Brett Closes-bug: lp-721445 commit 7fa7d9ec42e089fcba9f2876c45330c406b19891 Author: Eivind Kvedalen Date: Tue Jan 3 00:25:39 2012 +0100 Use an "Ok" button instead of "Close" button for dialog box if parsing data from clipboard fails. commit 8c4438ef6071fede03c687c317a1f9d1489dd5f4 Author: Eivind Kvedalen Date: Wed Sep 7 20:33:02 2011 +0200 Improved error reporting/behaviour when a symbol cannot be loaded. commit 4cebffe4ffc464cc16ac08191083deb0cbc76bbc Author: Eivind Kvedalen Date: Wed Sep 7 20:32:09 2011 +0200 Use GtkMeessageDialog instead of the generic dialog. commit d1305adf92982b3a159707c940bafb8c293223fe Author: Eivind Kvedalen Date: Tue Jun 28 21:43:13 2011 +0200 Partial fix for bug #700448. NULL is returned from o_*_read and o_read_buffer functions if parsing of the input buffer fails. An error object is returned in these cases, describing in detail what error occured. gnetlist is updated to exit with status code 2 if the input file can't be read. gschem is updated to report errors when using o_read_buffer. TODO: * Prone to segfaults on bad input files (separate patch) commit 5033a7a8765b35c405cd5cc44269b67d17dc2b19 Author: Peter TB Brett Date: Mon Jan 2 19:20:17 2012 +0000 gschem: Correctly construct expressions for running hooks. In commit 71cc3eb5583b, the way hooks were run was changed from directly calling libguile's scm_run_hook(). Instead, an expression was constructed as a Scheme list structure, to be evaluated. Unfortunately, the way that the expression was constructed was wrong, and led to the Guile evaluator attempting (and failing) to evaluate gEDA OBJECT smobs. commit c5d37e544e04f42db420f9f6f3e4d042311947b7 Author: Peter TB Brett Date: Mon Jan 2 18:52:27 2012 +0000 gschem: Don't dirty page by adding default titleblock. The hook that adds the default titleblock to a newly-created, empty schematic page shouldn't mark the page as having been changed. gschem will now no longer prompt to save when you run gschem and immediately quit. commit d68a5277f1a4f1ad67a3cd9448b11d1a3dda6d01 Author: Peter TB Brett Date: Mon Jan 2 18:27:58 2012 +0000 gschem: Unbreak most of the dialog boxes. In commit 78c8ee905dad, OBJECT smobs were altered to store a TOPLEVEL pointer for use when freeing them during garbage collection. The TOPLEVEL pointer is obtained using edascm_current_toplevel(). Unfortunately, since edascm_current_toplevel() raises a Scheme error when the TOPLEVEL fluid is not set, this means that edascm_from_object() can crash gEDA applications if it is not called from inside a Scheme catch context *and* the TOPLEVEL fluid isn't set in the current dynamic context. This exposed a bug in commit 71cc3eb5583b, where OBJECT smobs were created *before* setting the TOPLEVEL fluid. As a result, gschem crashed pretty reliably when hooks were triggered via dialog boxes rather than via keystrokes or menu item (e.g. when adding attributes with the "Add Attribute" dialog box). This patch fixes the issue. commit 528ae278c95dd38dee2c4747effb18d723cbc271 Author: Gareth Edwards Date: Sun Jan 1 18:46:02 2012 +0000 gschem: add zero termination to invalid keycode list. A loop in g_key_is_valid() scans a list of keycodes to see if the current one matches. Add a zero to the end of the list so that the search terminates correctly. commit e2eda476fb8f3a16aeba8eab0cc8b7fa12e37d6b Author: Ales Hvezda Date: Sat Dec 31 16:00:23 2011 -0500 Updated man page date and version in prep for a new release (1.7.2) commit 46bfb5cf26f33947a2efc7522dabd1107ce0afe4 Author: Ales Hvezda Date: Sat Dec 31 15:56:11 2011 -0500 Updated all po files in prep for a new release (1.7.2) commit 0bf198375db72ec4ec2ba2b288993fd054e059fb Author: Peter TB Brett Date: Sat Dec 31 11:59:01 2011 +0000 gschem: Add some guidance comments for translators. Make it clear that "ChangeLog" is a filename and shouldn't be translated. Also untranslate it in the Dutch translation. commit eb13877a8e1f5d270d70dbb68739f506a7fd8873 Author: Peter TB Brett Date: Sat Dec 31 12:00:37 2011 +0000 gschem: Remove postscript-font-scale option. Since 1.6.0, this has emitted a warning that it will be removed in 1.8.0. So remove it. commit 0f2b06d2aa2693de9baf79a7bb6ac0bc5110bbcf Author: Bert Timmerman Date: Sat Dec 31 11:48:58 2011 +0100 gschem: updated the Dutch translation. Signed-off-by: Bert Timmerman commit 6b1c656f8833b6f3b893d5c204c72eb789a2221d Author: Vladimir Zhbanov Date: Tue Dec 27 16:57:46 2011 +0400 gattrib/po, gschem/po: Updated Russian translation commit ec9259f77f9af88f0bf3dbaa1c09a92b87b2c36b Author: Peter TB Brett Date: Wed Dec 28 11:01:55 2011 +0000 gschem: Correct dynamic extent for complex place list changed hook. Note that the changes in commit 71cc3eb5583b did not affect this hook, since it works through a different mechanism to the rest of the hooks. Closes-bug: 909193 commit 71cc3eb5583b88e886d2a7bbd652db415af52259 Author: Peter TB Brett Date: Wed Dec 28 10:53:08 2011 +0000 gschem: Always set gschem state fluid & catch errors for hooks. This should squash any remaining bugs of the same class as bug 908997 or bug 908444. At some point in the future, we should do something helpful if an error occurs when running a hook, rather than just dumping it into the log and carrying on blithely. commit a8cd39f99d2c354b76edc064bda1b6936c6ff736 Author: Peter TB Brett Date: Tue Dec 27 11:18:01 2011 +0000 gschem: Set GSCHEM_TOPLEVEL fluid when calling deselect-object-hook. Closes-bug: lp-908997 commit 5e557fdfcb55b64dea1492df898785694f9ed155 Author: Peter TB Brett Date: Sat Dec 24 20:07:01 2011 +0000 scheme-api: Correct bug in set-attribute-value! Closes-bug: lp-908444 commit df9c96cc352c7723e5ba64cad7835c3972433556 Author: Peter TB Brett Date: Sat Dec 24 01:00:56 2011 +0000 Update translation files. commit dd18397d667622407f0cf2856c5f407b0c3dca80 Author: Peter TB Brett Date: Fri Dec 23 21:14:30 2011 +0000 gschem: Remove special case for Escape. In commit ef8cf3e9cd75, the key was special-cased to do nothing in g_keys_execute(). This meant that pressing no longer fired the 'cancel' action to reset to Select Mode. A better approach is to just treat like any other key. commit 6fac0c0f99b51a845f8ab7be2c358f703a54d61f Author: Peter TB Brett Date: Wed Dec 21 15:14:03 2011 +0000 scheme-api: Add 'snap-point' function to (gschem window) module. The snap-point function returns the closest on-grid position to a given point. Suggested by Luigi Palese. Affects-bug: lp-905294 commit f958bbe344b9834291446858e884ee742927596f Author: Peter TB Brett Date: Wed Dec 21 15:44:22 2011 +0000 scheme-api: Correct some comments. commit 8134a47e969c9025b7469d40d5ae1e56a8bab9a5 Author: Peter TB Brett Date: Wed Dec 14 12:12:53 2011 +0000 gschem: Error in gschemdoc PDF internet search. gschemdoc was trying to call internet-pdf-search to Google for documentation, but the correct function was internet-doc-search. commit fea67660e14d7e927e5ec2c6df5d18c2ea23f82c Author: Peter TB Brett Date: Wed Dec 14 11:41:51 2011 +0000 gschem: Update state properly on changing pages using page manager. Closes-bug: lp-705524 commit 9c9744fa1a4dec33ecd3022412d80267a93a8370 Author: Vladimir Zhbanov Date: Tue Dec 13 23:38:49 2011 +0400 gschem: Fixed incorrectly formed list for stroke Z Closes-bug: 904101 commit 42182f0ae6b16171329f00f32ff1857d38c1c33e Author: Peter TB Brett Date: Mon Dec 12 23:45:53 2011 +0000 gschem: Workaround for zero-height text view bug. This is a temporary workaround for a bug on systems using overlay scrollbars for GTK+ widgets, where the value editing GtkTextView in the multi-attribute editing dialog was appearing with zero height. Obviously, setting the height request to a constant size isn't ideal. It would be better to set the height request based on the font size, so that a certain number of lines are displayed. This should be revisited at a later date. Affects-bug: lp-876299 commit ed520a7824eef460c3924e064330ccef3696592e Author: Peter TB Brett Date: Mon Dec 12 14:52:22 2011 +0000 gschem: Remove empty FIXME file. commit 0e506ebd5d5cc87a7f373b83b24f2ad3c90fd18b Author: Peter TB Brett Date: Mon Dec 12 14:13:22 2011 +0000 Remove per-tool INSTALL files. Only one top-level INSTALL file is needed, and that is provided by automake. commit a957588adee2ec54f0cc3c23f9650dff6ed03d09 Author: Peter TB Brett Date: Mon Dec 12 13:50:01 2011 +0000 gschem: Correct error in (gschem core gettext) Corrects an error introduced in commit 8d4c574efc3a, where the wrong Scheme module name was defined. commit 8d4c574efc3a081324ef92d16e6feb6720c86c33 Author: Peter TB Brett Date: Mon Dec 12 10:31:12 2011 +0000 scheme-api: Translate strings. Makes the messages emitted by Scheme API functions internationalizable. This required an update to the gnetlist testsuite to set the library path for built-but-not-installed Scheme modules. Closes-bug: lp-901013 commit 182110f690c51eb53ea1799fd022e87322d742e3 Author: Dima Kogan Date: Thu Sep 8 01:40:46 2011 -0700 gschem: Move variables closer to where they are used, for clarity Signed-off-by: Dima Kogan Reviewed-by: Peter TB Brett Affects-bug: lp-845380 commit 039e012397f2638d1577dd7c80fb862a5503dbfd Author: Dima Kogan Date: Thu Sep 8 01:40:17 2011 -0700 gschem: Fix searching for hidden text. searching (and finding) hidden text no longer produces random results by looking at uninitialized data. Signed-off-by: Dima Kogan Reviewed-by: Peter TB Brett Affects-bug: lp-845380 commit bd7a0be7431df1a2a03027edb96cfde558256cb1 Author: Dima Kogan Date: Thu Sep 8 01:05:02 2011 -0700 gschem: Update optional debug printing to work with the latest code Signed-off-by: Dima Kogan Reviewed-by: Peter TB Brett Affects-bug: lp-845380 commit ebfe6ae6a76b6a44a0bbe2d184bf99bfee7d97bf Author: Peter TB Brett Date: Sun Dec 11 00:11:59 2011 +0000 Add s_clib_symbol_invalidate_data(). This allows a symbol's data to be reloaded from disk without invalidating the full symbol data cache. Closes-bug: lp-698504 commit 0f978cc519016ac1cbb56c772107e1f23c98c831 Author: Peter TB Brett Date: Tue Jan 4 17:25:51 2011 +0000 Remove exit_if_null(). Replace with g_return_if_fail(), g_return_val_if_fail(), etc. We shouldn't exit() from a shared library anyway. Also, this patch makes gschem *not* crash in a bunch of places where it doesn't really make sense to just give up. Affects-bug: lp-698851 commit bccf15c104d64b33d33bb7167703469d75884a7e Author: Peter TB Brett Date: Fri Dec 9 23:52:19 2011 +0000 General fixes for pictures, picture rendering and picture operations. Streamlined the API for picture objects to make it harder to leave a picture object in an inconsistent state. This is a prerequisite patch to providing a Scheme API for working with picture objects. This patch also makes primitive transformations of pictures actually work, and fixes rendering of pictures in gschem, because the changes weren't really feasible to separate. commit 121bd353ac7c4e9de0f94c4b7378945cf33222c6 Author: Peter TB Brett Date: Sat Dec 10 02:06:02 2011 +0000 gschem: Fix a crash when cancelling out of an action. In some cases, the new keybinding code could cause a crash when cancelling out of an action with the right mouse button. This was because there was an call to scm_c_eval_string() which could sometimes be called in a context where Guile exceptions weren't caught, and which hadn't been updated to reflect the changes to the keybinding system. commit 32ca3b25355ca4bef14ed3a2d15277367c32fead Author: Peter TB Brett Date: Fri Dec 9 16:46:20 2011 +0000 scheme-api: Stop show-uri from leaking a GError on failure. commit 6a2b3ff8557ebd8c321cdbe6e23abe1ef1df1580 Author: Peter TB Brett Date: Thu Dec 8 18:59:02 2011 +0000 gschem: Tidy up status bar keystroke display. Tidies up the behaviour of the status bar when it displays user keystrokes. - If the keystroke is a prefix (i.e. it resolves to a keymap), the display will persist indefinitely. - Otherwise, the keystroke will be displayed for 400 ms or until another keystroke is typed, whichever is sooner. This also fixes a problem where keybindings that resolve to pure Scheme functions were not clearing the displayed key sequence. commit 1c00bf53cb8b49eb29e84a63e5c49253fc479f21 Author: Peter TB Brett Date: Thu Dec 8 17:23:10 2011 +0000 gschem: Rewrite gschemdoc in Scheme. This completely removes the "gschemdoc" helper tool, and reimplements almost all its functionality in Scheme, using the "show-uri" function added in commit b4452ce0b1d4. This permits gschem's documentation and component documentation to be found and shown in an appropriate viewer on all platforms, including Windows. I have verified that this works correctly on Linux, Cygwin and Windows XP. There is a drawback, however, in that "locate" is no longer used to search for candidate files -- only the gEDA documentation directory and the working directory are checked. In future, this functionality should probably be restored using desktop search. There may also be problems displaying documentation if gEDA data or documentation were installed to non-standard directories, due to the slightly inelegant methods used to detect the gEDA documentation directory relocatably. The component documentation search behaviour can be altered by redefining the 'hierarchy-documentation' function in a gschemrc file. commit 30fa50eb42e33e4c8ff616eef7c4ba10eb65d228 Author: Peter TB Brett Date: Thu Dec 8 18:04:31 2011 +0000 scheme-api: Add show-uri and show-file functions to (gschem util). commit c0d2ef0cd57cd566c457979b67a017503591d7aa Author: Peter TB Brett Date: Thu Dec 8 17:23:10 2011 +0000 gschem: Add x_show_uri(). This function launches a URI in the appropriate application for handling it, as determined by the platform's filetype association settings. GTK+ 2.16.0 and later provide a the gtk_show_uri() function, which attempts to use GIO to launch the default application for a URI. Unfortunately, it doesn't work properly on Windows with HTTP and FTP URLs, does evil things with FUSE when passed some URIs, and insists on GNOME applications even when you're not running GNOME. Unfortunately, it is also currently considered the Right Way of doing things, and has the advantage of providing detailed error messages when things go wrong. With this patch, x_show_url() defaults to using gtk_show_url() on Linux, but not on other host platforms. The --enable-gio and --disable-gio arguments to configure can be used to override this behaviour. If GIO is not enabled, the default behaviour differs depending on the platform: - On native Windows, the ShellExecute() API call is used by default. - On other platforms, a helper command is used. If the URI_VIEWER variable was not set during configure, the command used is: * `cygstart' on Cygwin * `open' on Mac OS X * `xdg-open' otherwise. Using a helper command can be forced on Windows by setting URI_VIEWER. For example, to disable GIO and select an alternative URI launcher command: ./configure URI_VIEWER=my-open --disable-gio commit c41a838b680ed158ddd8e2acb880de21caf0a352 Author: Peter TB Brett Date: Thu Dec 8 17:23:09 2011 +0000 scheme-api: Fix duplicate function name close_page_x. This was causing build failures on Cygwin. commit 0f3a44ec39dfb562ccfd9d3d458ba5e9062d2259 Author: Peter TB Brett Date: Mon Dec 5 17:37:30 2011 +0000 gschem: Use g_assert() instead of exit(). commit decfce058604a9d8a595b7917234d8a0b0e715c2 Author: Peter TB Brett Date: Sun Dec 4 18:51:46 2011 +0000 gschem: Fix some "set but not used" warnings. commit ef8cf3e9cd75779d17927c5a4ce51104d42a0ada Author: Peter TB Brett Date: Wed Nov 30 09:34:40 2011 +0000 gschem: Use new keymaps. Modify gschem to use the new keymaps throughout. This is a fairly intrusive change, requiring changes to the keybinding syntax for configuration files. The new syntax one is *much* simpler and easier to understand for people who are not familiar to Scheme, and lends itself well to modifications in user and local gschemrc files. Major improvements include: * gschem now behaves properly when the user accidentally hits Caps Lock. This has been a source of great annoyance to me in the past, when gschem would stop responding to keystrokes for no obvious reason, only for me to realise that Caps Lock was on. Now keybindings ignore Caps Lock entirely. * Menus now show the same symbols as should appear on a user's keyboard, instead of raw X keynames. This is much more accessible and user-friendly than having to remember which bracket "bracketright" refers to. * The heavy lifting of parsing key specification strings, and of converting keystrokes to a correctly-internationalised representation for display, is now carried out by GTK+. This also cheaply provides support for extended modifiers such as Super ("Windows" key on most keyboards). * Changing the keybinding to show documentation to "Ctrl+D" is now as simple as adding: (global-set-key "D" 'hierarchy-documentation) to my "~/.gEDA/gschemrc", rather than some more complex Scheme code to patch it correctly into the tree constructed by "system-gschemrc". commit 70be3926b8f0604faadbe59651a1a7384fddb873 Author: Peter TB Brett Date: Wed Nov 30 14:48:28 2011 +0000 gschem: Load `gschem.scm' earlier in boot process. `gschem.scm' provides several core services to gschem, particularly w.r.t. key- and stroke-bindings. Since rc files may wish to override or make use of these functions, gschem.scm needs to be loaded *before* the rc files are. commit 54bb85c55e147a0222a41f415e3200194d3e70ac Author: Peter TB Brett Date: Wed Nov 30 18:43:57 2011 +0000 gschem: Recursive keymaps. Adds the bind-keys! and lookup-keys functions, which are used to work with key sequences and sub-keymaps. commit d29eb4d67b08065be7e7961725d9b40a234ef1f7 Author: Peter TB Brett Date: Wed Nov 30 18:44:06 2011 +0000 gschem: Basic keymaps. Adds a basic keymap type. A keymap maps key combinations to "bindable objects", which at the moment are expected (but not required) to be thunks or other keymaps. commit 675c01fe262c1bbc912a43a74c3c96ca78dc88e2 Author: Peter TB Brett Date: Wed Nov 30 19:24:06 2011 +0000 gschem: Key sequences. Adds some Scheme API functions for working with key sequences. A key sequence is a vector of key combinations. commit 5a3917a2fe89a1b3e43d0fe9f7ee6a466f65e57c Author: Peter TB Brett Date: Tue Nov 29 16:33:28 2011 +0000 gschem: Key combinations as first-class objects. Adds a new Scheme type to gschem that represents a key combination (e.g. Ctrl+Shift+A). The interface for working with them simply wraps the GTK+ accelerator handling API, which means it's easy to convert the key combination smobs either into a precise representation for storing or into a properly-translated "pretty" representation for display. commit b34be3c923c680efac20e3fafc68f9f820eb7255 Author: Peter TB Brett Date: Wed Nov 30 14:31:06 2011 +0000 scheme-api: Fix parse-attrib usage in deprecated set-attribute-value! commit 1bf087eac8287e5d835be9961e82bb6a523a2c75 Author: Peter Clifton Date: Fri Sep 2 01:48:38 2011 +0100 Revert "gschem: Make the user click the first point when adding nets or buses" This reverts commit 2197952617d42ccbe2355747ef48668c63ece30b. It turns out this behaviour was unpopular, and until I (or someone) has time to make the behaviour configurable, it is better to revert this. Perhaps we may be able to come up with another way of allowing magnetic net mode for the start-point of a net, whilst retaining the immediate action of the shortcut key. (Revert tweaked a little to avoid re-adding whitespace errors) commit d1b632e03de0610209e24d8c72ccb37beb3c4aa3 Author: Peter Clifton Date: Fri Sep 2 01:44:22 2011 +0100 Revert the last four commits - pushed by accident Those last four commits weren't ready for prime-time yet. This reverts: commit bdb529ee1c070c0119cafbd143e067d2aea99457 commit 7b4bd14b22cb890cfc156ef83678fef44e41afad commit a909848f6efd539c10348f23f1b01ae35882a956 commit 50365b0d5da45201a834574441cdc02f0181db2a Thanks to Peter Brett for spotting my mistake. commit bdb529ee1c070c0119cafbd143e067d2aea99457 Author: Peter Clifton Date: Fri Aug 26 05:58:59 2011 +0100 gschem: Play with move net-rubberbanding heuristics a little commit 7b4bd14b22cb890cfc156ef83678fef44e41afad Author: Peter Clifton Date: Fri Aug 26 05:58:59 2011 +0100 gschem: Add more abstract API for rubberbanding nets commit a909848f6efd539c10348f23f1b01ae35882a956 Author: Peter Clifton Date: Fri Aug 26 05:58:59 2011 +0100 TEMPORARY: Debug redraws by removing updates to status-bar Changing the status bar text triggers a full-page redraw, don't do it! commit 50365b0d5da45201a834574441cdc02f0181db2a Author: Peter Clifton Date: Fri Aug 26 05:58:58 2011 +0100 gschem: Fix rendering artifacts when object creation is cancelled Object creation cancelled due to dragging out an invalid sized object (zero radius circle, box or picture with zero width or height), left an impression of the rubber-band lines on the screen. Cancelling object creation with the escape key does not cause this effect, as it triggers a state change which includes a complete redraw of the schematic page. TODO: Actually write the code! commit 6633fa2583170a30032d57962d64a6e56a3fe324 Author: Kai-Martin Knaak Date: Mon Jun 20 00:00:00 2011 +0200 Revert "gschem: enhance grid contrast in lightbg color map" This reverts commit 142077b9769041195dd58d9f6cd59487bcb8afca. Needs discussion before we commit this, as the existing colours were chosen with some careful consideration and testing. In particular, the off-white background was designed to avoid eye-strain. From recollcetion, it was intended that the grid be subtle, and not distract from the schematic. commit 142077b9769041195dd58d9f6cd59487bcb8afca Author: Kai-Martin Knaak Date: Mon Jun 20 00:00:00 2011 +0200 gschem: enhance grid contrast in lightbg color map Closes-bug: lp-799926 commit c9d4f6638bbc7ba84534c2460037f19915114a95 Author: Karl Hammar Date: Tue Jul 26 16:08:01 2011 +0200 Correct SCM_ASSERT() usage with incorrect SCM_ARGx. From guile documentation: -- Macro: void SCM_ASSERT (int TEST, SCM OBJ, unsigned int POSITION, const char *SUBR) ... -- Macro: int SCM_ARG1 ... -- Macro: int SCM_ARG7 One of the above values can be used for POSITION to indicate the number of the argument of SUBR which is being checked. ... Some SCM_ASSERT() calls have the wrong SCM_ARGx for its TEST and OBJ. Reviewed-by: Peter TB Brett commit 7686d165f994a3064032de749b7b44cec6794c55 Author: Krzysztof Kościuszkiewicz Date: Sun Jul 3 00:54:53 2011 +0200 auto-uref: align with new scheme-api commit 9ab022fb196c38e00711148e590193ac423233aa Author: Krzysztof Kościuszkiewicz Date: Sun Jul 3 00:36:25 2011 +0200 auto-uref: allow for empty refdes prefix Fix the case when regex in get-prefix does not match. Closes-bug: lp-804898 commit f68f9a31c57e2aa343db14d6d7c98997a4c533ad Author: Peter TB Brett Date: Wed Jun 29 07:12:30 2011 +0100 gschem: Make sure window fluid is set for double-click events. This patch prevents a Scheme crash when double-clicking on objects to bring up the edit window. Reported-by: Eivind Kvedalen commit d01e46055593990e918d94e4b30609df989561b4 Author: Peter TB Brett Date: Tue Jun 28 06:25:03 2011 +0100 build-sys: guile-snarf should use host CPP. Fix cross-compilation by making sure that guile-snarf uses the same C preprocessor that will be later used for compilation. Reported-by: DJ Delorie commit ec7825e81a6ac142972bc4f0c28fb2276c3df60c Merge: 2fa4f57 c4ca820 Author: Peter TB Brett Date: Fri Jun 24 20:35:29 2011 +0100 Merge changes from main unstable branch commit 4f6d3a0fd5810d8fabd93a1629495f5c916ae4d3 Author: Peter TB Brett Date: Fri Jun 24 20:04:21 2011 +0100 scheme-api: gschem API documentation (hooks). commit 6b299b8b9f423976f746cf3694a49b9124950237 Author: Peter TB Brett Date: Thu Jun 23 19:49:10 2011 +0100 scheme-api: Make gschem's overridden close-page! never ask. The original version of the overridden version of close-page! loaded by gschem into the (geda core page) asked the user to confirm closing of dirtied pages. It turns out that this was a really bad idea, because it made the close-page! function impossible to document clearly. This patch makes the behaviour of gschem's close-page! match the core library version, i.e. close immediately without question. commit c4ca82095d88e29ade47c8c9f69734cfeaea5c1a Author: Krzysztof Kościuszkiewicz Date: Sat Jun 4 22:26:12 2011 +0200 auto-uref: smarter calculation of first refes on page Introduces the "page-offset" concept, where it is assumed refdeses on each page should start at multiple of page-offset. So for page-offset = 100 and minimum refdes used on page = 224 the hook will assign next refdes equal to 201. To enable this feature use (auto-uref-set-page-offset ). Default value of page-offset is 0 which disables the feature. Currently minimum refdes is calculated separately for each prefix. commit f479409ac22750160df85e012012b81785afc37b Author: Krzysztof Kościuszkiewicz Date: Sat Jun 4 00:45:38 2011 +0200 auto-uref: rewrite to support reusing refdeses auto-uref now scans all objects in the current page in order to find the first unused refdes which can be assigned to the object. Duplicate refdeses are handled correctly. commit 9c540461df266e548684ab2f0bd3294605cf749e Merge: f7cc583 12260ba Author: Peter TB Brett Date: Sun Jun 19 18:16:48 2011 +0100 Merge changes from main unstable branch commit 12260baebf9f828e9297fc794e911224b8dcd163 Author: Ales Hvezda Date: Sun Jun 19 10:36:02 2011 -0400 Updated all man page dates/versions commit 7eb55e097bf26bef7a4c57753837ee69c5c3471e Author: Ales Hvezda Date: Sun Jun 19 10:33:58 2011 -0400 Updated all po files in prep for a release commit ad289e2ea5d5402fd7061965a3939d33323e4292 Author: Peter TB Brett Date: Sat Jun 18 13:06:57 2011 +0100 gschem: Add pointer-position function. commit 0aaabc599c8146801364d5b8bc9e984ea764cc5b Author: Peter TB Brett Date: Sat Jun 18 10:42:42 2011 +0100 gschem: Reimplement get-object-bounds in Scheme. commit 0f7d19313b0a8e2ecd7d4a5ea24ee6e0ab243d60 Author: Peter TB Brett Date: Fri Jun 17 21:43:22 2011 +0100 gschem: Remove unused g_make_attrib_smob_list(). commit 6b3c4f7f52f684e10c08ef478e341b954032c94b Author: Peter TB Brett Date: Fri Jun 17 20:27:49 2011 +0100 gschem: Reimplement set-attribute-text-properties! in Scheme. commit 4af6da495fd9233bfcf002d9addf9c36fe5d9751 Author: Peter TB Brett Date: Fri Jun 17 20:43:23 2011 +0100 gschem: Make "About" dialog version match --version. commit 0b9ce5de9589b09ec35cdf321f5ac8540f81daa1 Author: Peter TB Brett Date: Fri Jun 17 19:24:28 2011 +0100 gschem: Reimplement get-selected-component-attributes in Scheme. commit c761f0ed17f915369143bcf180eafbf52076e1ae Author: Peter TB Brett Date: Thu Jun 16 21:45:27 2011 +0100 gschem: Reimplement add-component-at-xy in Scheme. commit 1cd1b3ecf56c183c6b7fd6cd968574f4a3f9c8eb Author: Peter TB Brett Date: Fri Jun 17 19:18:09 2011 +0100 gschem: Reimplement add-attribute-to-object in Scheme. commit 4feb90789ff1394465d2d6b8a5556da2c1462a14 Author: Peter TB Brett Date: Fri Jun 17 19:12:10 2011 +0100 gschem: Improve documentation comments in Scheme code. commit c5ec85006694d354462680339dbd67499ad1f0a2 Author: Peter TB Brett Date: Fri Jun 17 18:43:17 2011 +0100 gschem: Reimplement get-selected-filename in Scheme. commit 4e191297be1c7a47566a072f1d6e44905fe4647a Merge: 0a5ccba a6cce78 Author: Peter TB Brett Date: Thu Jun 16 21:47:18 2011 +0100 Merge changes from main unstable branch Conflicts: gschem/src/g_hook.c commit a6cce7844d1a1553ec5d39a49ad9426d9ed86417 Author: Ivan Stankovic Date: Thu Jun 16 21:42:25 2011 +0100 gschem: get_main_menu: remove use of deprecated SCM_{SYMBOL,STRING}_CHARS Reviewed-by: Peter TB Brett commit 4d62c8dfcb4f062485f033a01e2ff88dbfab1feb Author: Ivan Stankovic Date: Thu Jun 16 21:42:24 2011 +0100 gschem: g_rc_print_command: remove use of deprecated SCM_STRING_CHARS Reviewed-by: Peter TB Brett commit 994c9f2625c01b34759bed81392f5deb6c5e47f5 Author: Ivan Stankovic Date: Thu Jun 16 21:42:24 2011 +0100 gschem: g_rc_add_menu: remove use of deprecated SCM_STRING_CHARS Reviewed-by: Peter TB Brett commit 24fb619b41e5548c2433969680ba11f9fa00b4ca Author: Ivan Stankovic Date: Thu Jun 16 21:42:24 2011 +0100 gschem: g_rc_paper_sizes: remove use of deprecated SCM_STRING_CHARS Reviewed-by: Peter TB Brett commit 8aed0ad4e3771067cf98b654ea1b927f3c581291 Author: Ivan Stankovic Date: Thu Jun 16 21:42:24 2011 +0100 gschem: g_rc_attribute_name: remove use of deprecated SCM_STRING_CHARS Reviewed-by: Peter TB Brett commit c67055e0619ec803ca76cbe24de2b4289a7fd455 Author: Ivan Stankovic Date: Thu Jun 16 21:42:24 2011 +0100 gschem: g_rc_component_dialog_attributes: remove use of deprecated SCM_STRING_CHARS Reviewed-by: Peter TB Brett commit 30e2f85555b1b6728bbc7c7435ccc426fff69aee Author: Ivan Stankovic Date: Thu Jun 16 21:42:24 2011 +0100 gschem: g_rc_gschem_version: remove use of deprecated SCM_STRING_CHARS Reviewed-by: Peter TB Brett commit e0d12f118f80bb403cbaa1f22e1d5f4766a501d4 Author: Ivan Stankovic Date: Thu Jun 16 21:42:24 2011 +0100 gschem: g_keys_dump_keymap: remove use of deprecated SCM_{STRING,SYMBOL}_CHARS Reviewed-by: Peter TB Brett commit 70ea4a4f4c649762ae0990a2708bf18d22b558c7 Author: Ivan Stankovic Date: Thu Jun 16 21:42:24 2011 +0100 gschem: g_add_component: remove use of deprecated SCM_STRING_CHARS Reviewed-by: Peter TB Brett commit bd53f9e5993d66e0c315ee7fa555f721864db02a Author: Ivan Stankovic Date: Thu Jun 16 21:42:24 2011 +0100 gschem: g_get_object_bounds: remove use of deprecated SCM_STRING_CHARS Reviewed-by: Peter TB Brett commit 0de35b4cb726e712961b153cf26fcf5c0ebebc78 Author: Ivan Stankovic Date: Thu Jun 16 21:42:24 2011 +0100 gschem: g_set_attrib_text_properties: remove use of deprecated SCM_STRING_CHARS Reviewed-by: Peter TB Brett commit 156c4ac93245aa9075f5134221a06a185d140f3c Author: Ivan Stankovic Date: Thu Jun 16 21:42:23 2011 +0100 gschem: g_add_attrib: remove use of deprecated SCM_STRING_CHARS Reviewed-by: Peter TB Brett commit 8c66dc1b9545ed60d25fe7fa2a7f9aa95c2b4a92 Merge: 25952c3 5f4308e Author: Peter TB Brett Date: Wed Jun 15 18:12:44 2011 +0100 Merge changes from main unstable branch Conflicts: gschem/src/g_funcs.c commit 5f4308e8a6421175751aac21763d694973b6a016 Author: Ivan Stankovic Date: Wed Jun 15 10:20:49 2011 +0200 gschem: g_funcs_browse_wiki: remove use of deprecated SCM_STRING_CHARS Reviewed-by: Peter TB Brett commit d908e616b814fa2b2836c953684fdb6e6cfa5361 Author: Ivan Stankovic Date: Wed Jun 15 10:06:51 2011 +0200 gschem: g_funcs_filesel: remove use of deprecated SCM_STRING_CHARS Reviewed-by: Peter TB Brett commit 113ab5ee6cf557b17bf47c521147230e462e92af Author: Ivan Stankovic Date: Wed Jun 15 09:40:08 2011 +0200 gschem: g_funcs_confirm: remove use of deprecated SCM_STRING_CHARS Reviewed-by: Peter TB Brett commit 2404ee24d3679ee55b7c0d28c54a456a13363fab Author: Ivan Stankovic Date: Wed Jun 15 09:38:11 2011 +0200 gschem: g_funcs_msg: remove use of deprecated SCM_STRING_CHARS Reviewed-by: Peter TB Brett commit 6eaf4f05e794741194c16151854f54df5cd73092 Author: Ivan Stankovic Date: Wed Jun 15 09:26:00 2011 +0200 gschem: g_funcs_log: remove use of deprecated SCM_STRING_CHARS Reviewed-by: Peter TB Brett commit b7edaba5db2059cae36b9b83c67507ffb6e601b2 Author: Ivan Stankovic Date: Wed Jun 15 09:20:46 2011 +0200 gschem: g_funcs_image: remove use of deprecated SCM_STRING_CHARS Reviewed-by: Peter TB Brett commit c005781278c095fffa6e31a68698204ae6e41f2c Author: Ivan Stankovic Date: Wed Jun 15 09:16:56 2011 +0200 gschem: g_funcs_postscript: remove use of deprecated SCM_STRING_CHARS Reviewed-by: Peter TB Brett commit faffc3449660df53cd7f42a51687ed09f77fc9b6 Author: Ivan Stankovic Date: Wed Jun 15 08:53:17 2011 +0200 gschem: g_funcs_print: remove use of deprecated SCM_STRING_CHARS Reviewed-by: Peter TB Brett commit 25952c382fc199fb91502279267c45f880a55cdd Author: Peter TB Brett Date: Tue Jun 14 00:20:50 2011 +0100 scheme-api: Correct import of (gschem core attrib) module. commit 5cf897c1c107dc3d0b2e4ef82d1f15cbdeb76041 Author: Peter TB Brett Date: Tue Jun 14 00:10:36 2011 +0100 scheme-api: Use missing.h to pull in SCM<->C string funcs. commit 1a96308dcf365d4cad0de8373beb108c14dfeae2 Author: Peter TB Brett Date: Sat Jun 11 16:24:02 2011 +0100 scheme-api: Add add-attrib! function. Add convenience Scheme API function in gschem to shadow the o_attrib_add_attrib() C function. Although most of the behaviour of this function could be provided in pure Scheme, it would be somewhat annoying to have two lots of code which do the same thing. Also, the slotting mess is still in C only. commit 623341482a94b2f92e662dd8e9ff8f6a218f42cc Author: Peter TB Brett Date: Sat Jun 11 21:43:57 2011 +0100 Use UTF-8 instead of locale Scheme string functions. See commit 09c6613f93b6. commit 91865253d6e4422b06648fe5b0334a5013a7d08a Merge: 4bccef2 09c6613 Author: Peter TB Brett Date: Sat Jun 11 21:42:48 2011 +0100 Merge changes from main unstable branch Conflicts: libgeda/src/g_register.c libgeda/src/g_smob.c commit 09c6613f93b65d3f9193e7dbc65bd696cf8a6b06 Author: Peter TB Brett Date: Sat Jun 11 20:35:37 2011 +0100 libgeda: Use UTF-8 instead of locale Scheme string functions. Note that there are several places where locale string functions are still used, because the input depends on the current locale (e.g. strings obtained from command-line options or from the filesystem). There are still a lot of places where we're still treating locale-dependent strings as UTF-8 strings (and probably vice-versa). Enough bugs for everybody to share! commit 4bccef20f38b43da0d9916f63601dec35fd5b33c Author: Peter TB Brett Date: Sat Jun 11 12:57:45 2011 +0100 gschem: Better hook behaviour for "Select All". Run select-objects-hook for all objects selected by the "Select All" operation at once, not one at a time. commit 0d5ec53d5ce3baa3004bd1dbfea2f33c4d4abece Author: Peter TB Brett Date: Fri Nov 12 13:24:08 2010 +0000 gschem: Enable new-page-hook. This varies slightly from the original behaviour, in that it is only called when a *new* page is created (e.g. through File->New), and not on page load. commit d8abb509c60de0fbd4c288ff7fa9c32c2448f1cf Author: Peter TB Brett Date: Thu Nov 11 19:33:29 2010 +0000 gschem: Enable select-objects-hook and deselect-objects-hook. Not a brilliant implementation -- calls hooks one object at a time even when a large number of objects are selected/deselected. But it works. commit b4a75a6ebc480d866d2b268059de04cfcecff40f Author: Peter TB Brett Date: Thu Nov 11 19:33:29 2010 +0000 gschem: Enable attach-attribs-hook and detach-attribs-hook. commit 228f6b55dc0d95e2a9695fc9cbb019099811524f Author: Peter TB Brett Date: Thu Nov 11 19:33:29 2010 +0000 gschem: Enable move-objects-hook and paste-objects-hook. commit 91e869f566c82cf2bcd9c501bad2060a257c2192 Author: Peter TB Brett Date: Thu Nov 11 19:33:29 2010 +0000 gschem: Enable mirror-objects-hook and rotate-objects-hook. commit d0467a2c5c6fde4155bfc57f0345bbb162e1b4c7 Author: Peter TB Brett Date: Thu Nov 11 19:33:29 2010 +0000 gschem: Enable remove-objects-hook. commit 05954f101e9ae90193150e030fb66c1b3d32e44b Author: Peter TB Brett Date: Thu Nov 11 19:33:28 2010 +0000 gschem: Enable add-objects-hook. commit 62f51dcfeb8a08288bc1854fd1d49e667b03f490 Author: Peter TB Brett Date: Thu Nov 11 19:33:28 2010 +0000 gschem: Start implementing simplified hook system. Rather than the current hook system, which uses misleading hook names and is only useful for a limited range of use cases, use a smaller number of more general hooks. commit 1121d83a5450ad9040cabb7ef9a8cfb6c2a395f3 Author: Peter TB Brett Date: Fri Jun 10 13:46:15 2011 +0100 scheme-api: Only use (ice-9 syncase) if define-syntax missing. In Guile 2.0, syntax-case is built in by default and importing the (ice-9 syncase) module isn't required. commit e9f2f0b1285b877a12f0338635af0eade60c7c68 Author: Peter TB Brett Date: Thu Jun 9 17:37:16 2011 +0100 scheme-api: Fix (gschem deprecated) module. The set-attribute-value! function contained a let with invalid syntax. Guile 2.0 rightly gets upset by this. commit 1543eda1dbb823fd3052a3b831eae5b8316ed690 Merge: 19963e9 014b30b Author: Peter TB Brett Date: Thu Jun 9 15:06:46 2011 +0100 Merge changes from main unstable branch Conflicts: gschem/scheme/gschem.scm libgeda/include/prototype_priv.h libgeda/src/g_smob.c libgeda/src/o_basic.c commit bd939b78afa64e27bd9366133ecf636b145c2fe7 Author: Krzysztof Kościuszkiewicz Date: Sat Jun 4 23:04:56 2011 +0200 gschem: enlarge macro entry box commit 84949b85df8e8ac1475ae8555bcffe060624d254 Author: Peter TB Brett Date: Sat Jun 4 12:43:28 2011 +0100 Silently skip duplicate config files. Affects-bug: lp-710587 commit 83777ec203d9dfcf6a257a0c92e2fe2a3deeb552 Author: Peter TB Brett Date: Sat Jun 4 12:30:36 2011 +0100 Silently skip missing config files. Closes-bug: lp-710587 commit 2fd51c888dfeb536481b7cbfefe2484f4ddede33 Author: Peter TB Brett Date: Sat Jun 4 09:45:34 2011 +0100 gschem: Use scm_is_pair(x) instead of scm_pair_p(x) == SCM_BOOL_T. commit e89ef317e6603e41f2fde56ec02cf98775e51b27 Author: Peter TB Brett Date: Sat Jun 4 09:36:01 2011 +0100 Use scm_is_false instead of comparing with SCM_BOOL_F. commit ec5a4822f2f30ff48f521ed62ad0b3fda1021faf Author: Peter TB Brett Date: Sat Jun 4 09:12:07 2011 +0100 Remove uses of deprecated SCM_STRINGP and SCM_SYMBOLP. commit edac96258eb6ff8888f05479de942f3e239da87c Author: Peter TB Brett Date: Sat Jun 4 09:10:03 2011 +0100 gschem: Add missing regex module to autoplace plugin. commit 4809fe081c03bd3a9468db4aa6ad7823c4717b0d Author: Peter TB Brett Date: Sat Jun 4 09:07:08 2011 +0100 gschem: Rename File->Close to File->Close Window. There has been some confusion over whether File->Close closes the current page or current window. Affects-bug: lp-792459 commit b410e0b5965e4d0fd95b032676e3f3b658ee2792 Author: Krzysztof Kościuszkiewicz Date: Sat Jun 4 01:34:58 2011 +0200 gschem: add property "editing-canceled" in CellTextView Since GTK 2.20 the GtkCellEditable interface requires boolean property "editing-canceled". This patch silences warnings from GTK. commit 8db0bdda749c1b30a1b2295db9e80d4dd98f67a9 Author: Peter TB Brett Date: Fri Jun 3 21:19:49 2011 +0100 gschem: Stricter R5RS definitions. Guile 2.0 requires definitions to occur only at the top level of a and at the beginning of a . commit fb917f8b61f58b3cde5f1730b94c28c5992edea1 Author: Peter TB Brett Date: Fri Jun 3 15:58:31 2011 +0100 Remove uses of deprecated scm_makfrom0str. commit eb2eeee3626c6f127ba2790f708b03d06bb04122 Author: Peter TB Brett Date: Fri Jun 3 15:29:46 2011 +0100 Remove uses of deprecated scm_num2double. commit 9e3496eb1b753ae9e42dfddd2343892a6618455d Author: Krzysztof Kościuszkiewicz Date: Wed May 25 22:59:10 2011 +0200 auto-uref: initialise data structures at page load New toplevel procedure is defined in auto-uref.scm to be used with the new-page-hook: (add-hook! new-page-hook auto-uref-init-page) When called, internal refdes map is initialised from attributes of existing elements on the page. Closes-bug: lp-787637 commit a827a0424b456e9f4b7b05a24a245cd871b6ce15 Author: Krzysztof Kościuszkiewicz Date: Wed May 25 01:54:10 2011 +0200 auto-uref: keep track of refdeses per page Affects-bug: lp-787637 commit cbd30169122f7882c4d70db7e6c03604a917c8d2 Author: Krzysztof Kościuszkiewicz Date: Tue May 24 23:40:56 2011 +0200 auto-uref: omit inherited refdes attribute Affects-bug: lp-787637 commit 2dfb5547bdf486ca4375af9e73cbe318768cb59f Author: Krzysztof Kościuszkiewicz Date: Fri May 20 23:47:09 2011 +0200 gschem: recent file list checks file extensions In the recently used files both symbol and schematic files are shown. Change the filtering method, so recently used files are chosen not only by MIME type, but also by the file extension as well. Rationale: if gEDA is installed in a location other than default (say in users home dir), the MIME type databases will not be updated and list of recently used files will always be empty. commit 2197952617d42ccbe2355747ef48668c63ece30b Author: Peter Clifton Date: Wed May 11 18:06:20 2011 +0100 gschem: Make the user click the first point when adding nets or buses This allows "magnetic net" mode to be used for the start-point of a net as well as its end-point, whilst still being able to initiate net drawing with the "n" key. I have updated buses as well in an effort not to have them diverge yet further in their behaviour. commit c24bbf855cd3d5f5840ce33d6ad06195008dc141 Author: Ivan Stankovic Date: Fri Feb 11 23:38:57 2011 +0100 gschem: disable menu items operating on text objects if no text is selected And ignore non-text objects while iterating the list of selected objects. This patch fixes the following warning: ** (gschem:31478): CRITICAL **: o_attrib_toggle_show_name_value: assertion `object != NULL && object->type == OBJ_TEXT' failed which can be trivially reproduced by (for example) selecting a net and then choosing the "Attributes/Show Value" menu item. Reviewed-by: Peter Clifton Reviewed-by: Krzysztof Kościuszkiewicz commit 7f88749446b61493e881ad6aeb0a82f909a8c0d7 Author: Peter Clifton Date: Mon Mar 21 22:51:23 2011 +0000 gschem: Don't require select to drag objects This comes from watching users interacting with gschem and their clear expectations that objects can be dragged around the canvas without an explicit selection step first. When a mouse drag starts on non-selected object, starting dragging that object rather than forming a box selection. commit 0fffd6b16214cd05cba9de9e4d65d4e1ea2cf16a Author: Peter TB Brett Date: Mon Mar 21 19:53:29 2011 +0000 Remove draw funcs from libgeda. Removes all of the statically-registered draw functions from libgeda, as well as the draw_func field from the OBJECT structure. Makes o_redraw_single() dispatch to type-specific drawing functions directly. Refreshed by Peter Clifton commit 7cc025db90267d5cb5b038e2cc39cb15544e0367 Author: Peter Clifton Date: Mon Mar 21 19:21:49 2011 +0000 Remove OBJECT->sel_func in favour of an OBJECT->selectable flag Only gschem called OBJECT->sel_func anyway, so lets avoid passing vfunc pointers everywhere as a flag. This has the added benefit of removing some dummy functions from gattrib and gschlas which were only present so the status of locked objects could be preserved across load/save. commit 1eb06387f70cef7e46f37d6be70ea4429a29c894 Author: Peter Clifton Date: Mon Mar 21 19:07:27 2011 +0000 gschem: Make dragging selected objects obey the same hit test as selecting This makes dragging a group of selected objects more consistent with the action required to select the objects in the first place, most notably when dealing objects whos bounding boxes don't fit tightly to the selectable geometry - e.g. lines and curves. In order to start a drag, the user must hit within some distance of some selected geometry. This makes it easier to change selection to another object with overlapping bounding box if the user did not intend to initiate a drag. commit 497241f260a728e485cf68dfbf3eea8ce9433a29 Author: Peter Clifton Date: Mon Mar 21 18:35:17 2011 +0000 gschem: Remove (drag-can-move ...) option from system-gschemrc. Make this non-configurable to reduce the number of options I would bet money on no-one using. On a more practical note, I am trying to reduce the number of combinations we need to test when altering mouse bindings. commit 3f0e6e8bc8771a83ed8df36a0818258f51813580 Author: Krzysztof Kościuszkiewicz Date: Sat Mar 12 16:17:10 2011 +0100 gschem: show error dialog when save fails Closes-bug: lp-698566 commit d506039d41aea6ecd9e15e62e7b79de8cca284bd Author: Krzysztof Kościuszkiewicz Date: Sat Mar 12 16:07:34 2011 +0100 libgeda: add GError argument to f_save and o_save o_save and f_save now can report errors during file write using GLib GError mechanism, similar to f_open. Affects-bug: lp-698566 commit 5da67a77456e288a0e54c2243779261b191c8cf2 Author: Kai-Martin Knaak Date: Sun Jan 30 12:34:46 2011 +0100 gschem: Do not suggest in system-gschemrc, that snap-size is not grid size. Reviewed-by: Peter Clifton Closes-bug: lp-706758 commit 66de7e71a2e8a4b2b1f4f9ccc33021c0cff08028 Author: Peter Clifton Date: Sat Jan 29 03:43:39 2011 +0000 gschem: Remove unnecessary include from gschem_pango.h commit ddb932b52888c181d1eea9934776fb303e463c56 Author: Peter Clifton Date: Sat Jan 29 03:35:29 2011 +0000 gschem: Use GtkAdjustment type, not deprecated GtkObject commit 877ff2236bd6e2d397143d92ff80ace193524f36 Author: Peter Clifton Date: Sat Jan 29 03:08:33 2011 +0000 gschem: Use cairo drawing for text bounding box / mark / "I" marker commit 0e49b41b82323f4632410314b680a9d9d6450540 Author: Peter Clifton Date: Sat Jan 29 03:03:23 2011 +0000 gschem: Make object fill functions static inside their o_*.c file Move the o_*_draw() functions down after the fill functions, so we don't even have to prototype them in the C file. commit 465db62f713eb8f1f6c73842a166160a24ba18fd Author: Peter Clifton Date: Sat Jan 29 03:02:50 2011 +0000 gschem: Remove unused GdkGC and GdkDrawable arguments from fill routines Also swap the (GSCHEM_TOPLEVEL *) argument to be the first, to better match other API. commit 6f30672e88af11776aa1a1fed74d00fab7c492f7 Author: Peter Clifton Date: Fri Jan 28 01:12:27 2011 +0000 gschem: Remove some commented out code from o_grips.c commit 854581f8b60756ee6bd79b41095084215395469d Author: Krzysztof Kosciuszkiewicz Date: Wed Jan 19 17:37:46 2011 +0100 gschem: plug GList leak in create_inuse_tree_model commit 2e5decb6ff1601935cc1f005a312ca04b6d13dfb Author: Krzysztof Kosciuszkiewicz Date: Wed Jan 19 23:12:49 2011 +0100 gschem: fix refresh in component seleciton dialog Block signal handler for GtkTreeSelection "updated" signal while the refreshed GtkTreeModel is installed in the GtkTreeView widget. This is necessary as x_compselect_callback_response cannot reliably determine whether it has been triggered by update of "library" or "in use" tree views. Closes-bug: lp-704829 commit 77b5bd3b9b49d907492aa3b20e3362f3fc4f6209 Author: Peter TB Brett Date: Tue Jan 18 23:04:42 2011 +0000 gschem: Don't use "Select All" icon for "Deselect" action. The wrong icon was set in commit cfed6e31d278. commit f4c86354333a8dfc0d5bca04532a9fb0efe7513f Author: Krzysztof Kosciuszkiewicz Date: Tue Jan 18 18:33:15 2011 +0100 gschem: add keymapping for edit-deselect action Deselect is now triggered by Ctrl+Shift+A shortcut. Closes-bug: lp-699852 commit 0c46b10b3965054be0d2ad00a6659164b830a91b Author: Krzysztof Kosciuszkiewicz Date: Tue Jan 18 23:16:49 2011 +0100 gschem: normalize key mappings defined in rc files Add Scheme routines to normalize defind key mappings at gschem startup. List of accel modifiers is sorted alphabetically to match ordering implemented in g_keys_execute. This allows the user can specify accelerators in any order. Affects-bug: lp-699852 commit cf7da69276fe7626677cc843fbb7a916ed36e0e4 Author: Krzysztof Kosciuszkiewicz Date: Tue Jan 18 18:21:58 2011 +0100 gschem: support multiple key modifiers in c-code Modify g_keys_execute() to support multiple keypress modifiers. Modifiers are ordered alphabetically: Alt Control Shift. Affects-bug: lp-699852 commit 9379c19a7563a02c271c8640fdb814ef0add5981 Merge: f9156f1 23383c5 Author: Peter TB Brett Date: Tue Jan 18 22:36:59 2011 +0000 Merge changes from main unstable branch Conflicts: gnetlist/src/gnetlist.c gschem/src/g_hook.c gschem/src/gschem.c libgeda/include/libgeda/prototype.h libgeda/src/g_basic.c libgeda/src/g_smob.c commit dc66dc0af3426f92381e9b35573f5365371e527a Author: Ales Hvezda Date: Sun Jan 16 01:59:23 2011 -0500 Another set of changes to all the po files These changes were made when 'make distcheck' was run to create the 1.7.0 tarball. commit cb0eaabe02c154e6fe95ac49dd638fd6057e9883 Author: Ales Hvezda Date: Sun Jan 16 00:16:42 2011 -0500 Updated copyright data in gschem's about box commit 799d67452921ed1447e8b030ee268fe8c34c5785 Author: Ales Hvezda Date: Sun Jan 16 00:15:29 2011 -0500 Updated version strings in all man pages commit 2e2e2bf53458d6fea7e4c8dd7736818470fde248 Author: Ales Hvezda Date: Sun Jan 16 00:12:48 2011 -0500 Manually ran make update-po in order to prep for the make distcheck commit 1c531ec953bb3a7fe895eafc65c3d4f85c2603c6 Author: Peter Clifton Date: Sat Jan 15 13:45:08 2011 +0000 gschem: Delete "Edit"->"Make Inv Text Vis" menu item This menu item trips up more people than it helps. Remove it and associated code. (By popular request on geda-user.) commit 2a6c81e6b88e23b9f391c80b2c8a042cf5a87a1a Author: Krzysztof Kosciuszkiewicz Date: Tue Jan 11 23:59:22 2011 +0100 gschem: write object visibility field with setter Replace direct write to visibility field with calls to o_set_visibility. Affects-bug: lp-701431 Reviewed-by: Peter Clifton commit 0fad1e0c5aafa043387a8a5114795cdd352af3a6 Author: Krzysztof Kosciuszkiewicz Date: Tue Jan 11 23:55:09 2011 +0100 gschem: read object visibility field with getter Replace direct attribute access with calls to o_is_visible. Affects-bug: lp-701431 Reviewed-by: Peter Clifton commit 502ab80495c45e092eca6052edd6cf8e7ff55429 Merge: 27f7a52 e1c3ba4 Author: Peter TB Brett Date: Thu Jan 13 19:59:35 2011 +0000 Merge branch 'stable-1.6' Conflicts: NEWS libgeda/include/prototype_priv.h libgeda/src/gdk-pixbuf-hacks.c libgeda/src/o_basic.c libgeda/src/o_complex_basic.c utils/src/gsch2pcb.c commit bbab4c1f8c9fc13ed6276cde8371b77cc9c08342 Author: Peter TB Brett Date: Wed Jan 12 17:03:45 2011 +0000 gschem: Warning dialogs when rc file load fails. When loading configuration files at gschem startup, display informative dialog boxes if an error occurs. This still does not apply to configuration files loaded "on-the-fly" when loading new pages from disk. Affects-bug: lp-698578 commit 7ca2b049dbcfb9f0eb8d3dd3fcf21cbd66c0ec95 Author: Peter TB Brett Date: Wed Jan 12 17:03:44 2011 +0000 Print message and exit if rc file load fails. Modifies g_rc_parse() to print useful messages to standard error and exit with non-zero status if an error other than ENOENT occurs while attempting to parse any configuration file. N.b. only copes with rc files loaded at startup; rc files loaded later (e.g. a gafrc auto-loaded while loading a schematic using gschem "File->Open") can't cause the application to die. Since this means that under some circumstances gschem and gattrib can appear to do nothing silently (e.g. when launched from via a .desktop file) subsequent patches need to make gschem and gattrib generate appropriate warning and/or error message dialogs. Affects-bug: lp-698578 commit f82c6d0e497d7d18905d65b8499f33f3e7e3e073 Author: Peter TB Brett Date: Wed Jan 12 17:03:44 2011 +0000 Upgrade g_read_file() to support GError. Allow g_read_file() to return error information in a GError if an error occurs while loading the requested rc file or Scheme script. commit d50f80399fc8de5bcc24723b87f9132324569fb9 Author: Peter TB Brett Date: Wed Jan 12 17:03:44 2011 +0000 Invert g_read_file() return values. Make g_read_file() return TRUE on success and FALSE on failure. It turns out that not only had the return value on success been incorrect for some time, there was only one use of g_read_file() that cared about the return value anyway. commit 3fa62435953d75e9a927e36fb5edab7bdc17535e Author: Krzysztof Kosciuszkiewicz Date: Tue Jan 4 01:49:51 2011 +0100 gschem: replace gtk_signal_connect with g_signal_connect gtk_signal_connect is deprecated and should not be used in new code. Reviewed-by: Peter TB Brett Closes-bug: lp-698742 commit 355fd9bae3392c120d85f81feff04cae5a0ed42e Author: Krzysztof Kosciuszkiewicz Date: Sat Jan 8 02:46:28 2011 +0100 gschem: fix secondary label in close confirmation dialog Secondary label used a pointer string that was previously freed. This bug was introduced in commit d8803215ea59. Reviewed-by: Peter TB Brett Closes-bug: lp-700189 commit 8a3a0bb070d1b288fceac2fcdd7b317a8f77a464 Author: Peter TB Brett Date: Fri Jan 7 22:00:09 2011 +0000 Update FSF address in copyright headers. The FSF have now moved to 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Our GPL and LPGL copyright headers need to updated to reflect this. Only files remaining with old address are wiki files (although the wiki has now been updated) and PostScript files. commit 86c305d9a2c62f062cbd9b63810a0173e4855310 Author: Peter TB Brett Date: Fri Jan 7 14:53:51 2011 +0000 Install HTML versions of manpages even without groff. If groff isn't available, try to install HTML manpages anyway. This allows users to install manpages even if they don't have groff as long as they aren't compiling from git and don't edit the manpages. Closes-bug: lp-698586 commit cfed6e31d2781f3e0981d62c1b965f0565a03420 Author: Peter TB Brett Date: Fri Jan 7 13:02:16 2011 +0000 gschem: Add "Deselect" to "Edit" menu. Add an action to deselect all objects on the page to the gschem "Edit" menu. Ideally, it would be bound to , but gschem keybindings can only have a single modifier key. For now, don't bind the action to a key. Related-bugs: lp-699794 commit d8803215ea591b9349999c17c5a85aee7da473af Author: Peter TB Brett Date: Fri Jan 7 09:45:11 2011 +0000 Remove warnings when building with "--disable-nls". Closes-bug: lp-698450 commit d1569f38123674ffa71b0160cd0fb56806673c84 Author: Peter TB Brett Date: Thu Jan 6 23:28:49 2011 +0000 gschem: Fix some compilation warnings. Removes a bunch of unused variables that were causing compilation warnings. commit 5dcaa34495465cfc413b9d2cf3bbd217c1b8c6a3 Author: Peter TB Brett Date: Thu Jan 6 00:40:20 2011 +0000 gschem: Add `-c EXPR' to evaluate Scheme EXPR on load. Adds a `-c' option to gschem, which allows a Scheme expression to be evaluated on gschem load. Multiple `-s' and `-c' options can be specified, and they are applied in order. commit 0881305f47b16bb530983604a55abe4fe4fbd1b3 Author: Peter TB Brett Date: Thu Jan 6 00:24:40 2011 +0000 gschem: Allow multiple `-s' scripts to be specified. commit c3193a03970dfe1b19a595a6d7f86be445c3bb70 Author: Peter TB Brett Date: Wed Jan 5 13:50:20 2011 +0000 gschem: Add `-L' option for adding to Guile load path. commit d56ec6d94b1ecd8e08a8ee9beb56b3b8dd9eb01f Author: Peter TB Brett Date: Wed Jan 5 17:10:15 2011 +0000 gschem: Provide long-form options and update man page. Make gschem support long-form alternatives for several command-line options. Additionally, make some further improvements to the gschem man page. commit 0f9554ec1bcb37dba92a09f1b69680ca8cd3366f Author: Peter TB Brett Date: Wed Jan 5 13:52:56 2011 +0000 gschem: Remove `-t' option from usage message. The `-t' option was removed in commit 65b79e360357, but was not removed from the usage message at the that time. commit 7a3e9f294d12732cd6fb043412c1bf92eaf5b268 Author: Peter TB Brett Date: Wed Jan 5 11:52:35 2011 +0000 Make `scheme-directory' rc function prepend to Guile load path. Guile already provides infrastructure for loading Scheme files from a library, so this patch makes gEDA use it properly. With this (fully backward-compatible) patch it's now possible to load Scheme files, including gnetlist backends, from more than one directory. Note: This commit makes the gnetlist test suite pass again. commit 2a9e92fa59aafcd18286ebf0816fb54bafaac386 Author: Patrick Bernaud Date: Tue Jan 4 19:08:19 2011 +0100 gschem: Do not attempt to set GtkWindow's type after construction. Reviewed-by: Peter TB Brett commit 9ae03d499783cbbc42dfd5180d0abfa88b8ed8f0 Author: Wojciech Kazubski Date: Tue Jan 4 15:37:48 2011 +0000 gschem: Don't crop the png output [3100660] [3100680] Gschem sometimes crops the image exported to bitmap file (png, bmp... but not eps). This appears in certain range of picture proportions, landscape but close to square. This patch alters the algorithm that adjusts the image proportions to remove this problem. commit bafbcd605c7beaacfdaf9a46801553be5b0c97ad Author: Peter Clifton Date: Tue Jan 4 15:37:47 2011 +0000 gschem: Exit any current event state before switching pages If we don't do this, state from an operation on one page can cause corruption and genereral chaos. This was reproducable by moving some objects (em), then switching pages with a key-binding. commit 0d658babe176af44e2a58fe09ca18b718aea2412 Author: Peter TB Brett Date: Tue Jan 4 15:11:09 2011 +0000 gschem: Add "Select All" bound to Ctrl-A. [3143355] commit 371bd6130c77ae0d671ade3a82410f9a3a6105c3 Author: Krzysztof Kosciuszkiewicz Date: Mon Jan 3 00:40:03 2011 +0100 gschem: expand component tree after filtering This patch changes the behavior of the component selection dialog. After filtering by name is applied the tree view of matching components is automatically expanded so that all leafs are immediately selectable. The tree view is collapsed when the filter is cleared. Reviewed-by: Peter TB Brett commit 1e93f7bea2cbe0fa8887337c261093b55c31dd6d Author: Peter TB Brett Date: Mon Jan 3 23:07:25 2011 +0000 Revert "Remove some CVS keywords." This reverts commit f5ada1de1372bd3772b4f4bd33afa59803c1dade, which was pushed to the repository in error. commit f5ada1de1372bd3772b4f4bd33afa59803c1dade Author: Peter TB Brett Date: Tue Dec 21 12:37:10 2010 +0000 Remove some CVS keywords. commit a49c4cf66556570af7ba8dd2af1a6186015ea367 Author: Felix Ruoff Date: Sun Jan 2 22:22:37 2011 +0100 gschem: Replace recent file list with GtkRecentManager. This patch replaces the implemented recent-file - list by the recent-manager provided by GTK since version 2.10. Only schematic-files (*.sch) and symbol-files (*.sym) will be shown (case insensitive). Known differences to previous version: * No 'free recent list' option * Shows just filename (not full path) as menu-label * Full file-path avaiable as tooltip * Shows filetype-icons Reviewed-by: Peter TB Brett commit 3b0905a748953a6b1cb72b747f096ccc7b936884 Author: Felix Ruoff Date: Sat Oct 9 18:35:33 2010 +0200 gschem: Fix warning on moving over menu-item without action Fix a warning at the info-dialog if the mouse moves over a menu-item which has no action defined, e.g. the top item of a submenu. Reviewed-by: Peter TB Brett commit ec2648696c5574205ff36caab1b81b0dba6a1901 Author: Peter TB Brett Date: Wed Dec 22 21:57:34 2010 +0000 gschem: Update man page. Numerous changes: - Simplify synopsis section. - Improve English grammar. - Generally abbreviate. - Update copyright information. - Add instructions for accessing full manual from inside gschem. - Describe GEDADATARC environment variable. commit 65b79e3603571b159b8f1283fb64e4ba257c69f5 Author: Peter TB Brett Date: Wed Dec 22 22:08:19 2010 +0000 gschem: Remove non-functional -t option. The -t option hasn't done anything for quite some time now (since commit d96ad3c39121, in fact). Since no-one's complained that it's broken, remove it completely. commit f3d2f1a8b2820ab053219c9453d9f32c3172ce2c Author: Gareth Edwards Date: Sat Dec 18 23:12:10 2010 +0000 Don't set construct-only 'type' property on log dialog. [3140276] Running gschem gives a warning: (gschem:62319): GLib-GObject-WARNING **: g_object_set_valist: construct property "type" for object `Log' can't be set after construction This patch removes the attempt to set the CONSTRUCT-ONLY GtkWindow property "type" from the g_object_set call in the Log instance initializer and moves it into the g_object_new call when the Log instance is created. Signed-off-by: Peter TB Brett commit 0f95f7181b3824c278e034b40fe9c5156da7c527 Author: Gareth Edwards Date: Sat Dec 18 23:11:47 2010 +0000 Added doxygen comments to Log class functions [3140275] Added some doxygen comments to the class functions for the Log class throughout x_log.c Signed-off-by: Peter TB Brett commit f66597934bf8c88519396956637792533ba3a151 Author: Peter TB Brett Date: Sun Dec 12 08:14:06 2010 +0000 Don't use page_current in hierarchy traversal. With this patch, the only remaining functions in libgeda which care about the "current page" are: - o_get_page_compat() [deprecated] - s_page_goto() - s_page_delete() - s_page_delete_list() - s_toplevel_new() commit 3d7719ca26bd4a77bce4f3ce3100c72d93d5e933 Author: Peter TB Brett Date: Sat Dec 11 11:36:11 2010 +0000 Add PAGE argument to o_net_consolidate(). commit 0b94d2379a5bd5d14690f941690e0df761df13c9 Merge: 63cd6d7 a33839a Author: Peter TB Brett Date: Sun Dec 12 09:48:07 2010 +0000 Merge some changes from Peter Brett. Merge a series of more generally useful changes from Peter Brett's `guile-scheme-api' branch, most of which remove uses of TOPLEVEL.page_current from libgeda. commit 0db9dce07c52cb5f905c0c68d78b9d7656371c98 Author: Peter TB Brett Date: Wed Nov 17 11:59:02 2010 +0000 Revert po file changes in previous commit. This reverts most of the incorrectly-commited po file updates in commit 5cc5a1743e97. commit f9156f1642e0a24661f06cc335178a14d5fa7b1c Author: Peter TB Brett Date: Thu Nov 11 19:33:28 2010 +0000 scheme-api: Remove some legacy Scheme functions. Remove some trivially-replaced Scheme functions from gschem to the (gschem deprecated) module. commit 5cc5a1743e97218325285975bfb68e090d382143 Author: Peter TB Brett Date: Wed Nov 17 11:33:25 2010 +0000 gschem: Make 7-byte SHA-1 prefix using %.7s format specifier. This is slightly more elegant than using g_strndup(). Suggested-by: Patrick Bernaud commit f74b3ba70dc5b7c16613b6e751935fb9e7bdb37a Merge: b70513b 6dff7f3 Author: Peter TB Brett Date: Wed Nov 17 09:17:28 2010 +0000 Merge changes from main unstable branch commit 6dff7f35a0ab76a2d07b8f6e68d48e638498426f Author: Peter TB Brett Date: Wed Nov 17 08:47:51 2010 +0000 gschem: Use g_strndup() instead of strndup(). strndup() is not in the OS X libc. Reported-by: Matthew Wampler-Doty commit 3940ee1a2704d07f7e6f9f2c71eb65346a709f46 Merge: 8c4d33a ee7e4a8 Author: Peter TB Brett Date: Tue Nov 16 22:23:15 2010 +0000 Merge changes from main unstable branch commit ee7e4a8e823dd362bc0dc998cc584ab6ea84bdcd Author: Peter TB Brett Date: Sat Nov 13 17:42:14 2010 +0000 Remove DONT_REDRAW flag. Because we now use the GTK/Cairo renderer for gschem, we use the GTK model for redrawing. In this model, objects are queued for redrawing by invalidating them, and at some point later all invalidated regions of the viewable area are drawn together. Due to this mechanism, the TOPLEVEL.DONT_REDRAW flag is redundant, as it as always set and then restored without visiting the GTK main loop, and thus no drawing would occur in that context anyway. This patch removes the now-useless TOPLEVEL.DONT_REDRAW flag entirely. commit 700d8c7bb6ed397185f4aee5e857979af07d2d96 Author: Peter TB Brett Date: Sat Nov 13 13:12:03 2010 +0000 libgeda: Allow registration of multiple change notify functions. A mechanism for getting notifications when OBJECTs are changed was added in commit 8b1faf85362b, but this only allowed one set of change handlers to be added to a TOPLEVEL. This patch allows the multiple sets of handlers to be registered, and also fleshes out the API documentation. commit 49fb65103d192a462edb5f0db8ace851c675b749 Author: Peter TB Brett Date: Fri Nov 12 23:30:15 2010 +0000 gschem: Add -V (version info) command-line option. commit a3433b6a4c088b8926f8768e20eff18d0dafea4b Author: Peter TB Brett Date: Thu Nov 11 19:33:28 2010 +0000 Remove most legacy libgeda Scheme types & functions. Removes most of the legacy Scheme types, functions and definitions from libgeda, replacing them with compatible equivalents based on the new Scheme API. The remaining Scheme functions are those for working with the component and source libraries, the various rc functions, and the eval-* functions, all of which need to be revisited at a later date. Also removes set-attribute-value! from gschem and reimplements in Scheme, since it was sole user of g_set_attrib_value_internal() and it was easier to replace than rewrite. commit fc8bcac43b6f3dd611f6030ffe36465d67be379d Author: Peter TB Brett Date: Thu Nov 11 19:33:28 2010 +0000 scheme-api: Port legacy Scheme procedures in C to new smob system. Make all users of legacy Scheme smobs in libgeda use new Scheme smob system. This is a preliminary patch so that unit tests can be written to verify that functions ported to new API work the same way as the originals. commit 7f85f28e67c59dbccb0f2a321794b0ddbb3e578f Author: Peter TB Brett Date: Thu Nov 11 19:33:27 2010 +0000 Add e-mail address to copyright headers. commit 6359f03b8615d707b122d84c6e73ae6bf99c097b Author: Peter TB Brett Date: Thu Nov 11 19:33:27 2010 +0000 scheme_api: Give modifying functions _x suffixes in C. When Scheme functions modify their arguments or have side-effects, they use a `!' at the end of the function name. In C, this is commonly represented with a _x suffix. This patch adopts that convention. commit bf643e97eef4919fb11aace7dd597d0b092170cb Author: Peter TB Brett Date: Tue Nov 9 14:31:59 2010 +0000 scheme-api: Test if an object is selected. An obvious omission from commit 85753049b2b9. commit 85753049b2b9455d815ede96dca161cb0de2f22b Author: Peter TB Brett Date: Tue Nov 9 10:01:45 2010 +0000 scheme-api: Access to gschem selection. Makes it possible to retrieve and modify the current selection in gschem from Scheme code. commit d1d4dbf5841368874215b7ef102090ce4dfc0780 Author: Peter TB Brett Date: Mon Nov 8 16:54:35 2010 +0000 scheme-api: Correct some comments. commit 3c2636864cc838286d31799d800f13c4f38f6d07 Author: Peter TB Brett Date: Mon Nov 8 23:48:39 2010 +0000 gschem: Don't select placed objects. Stop o_place_end() from modifying the selection. This makes the behaviour when placing text and components consistent with the behaviour when placing other objects. commit 7dacbe7ca2c9d7a209a5f5cc474c58a4cb9a6c24 Author: Peter TB Brett Date: Mon Nov 8 13:51:31 2010 +0000 gschem: Make Scheme command entry text box full width of window. Makes it easier to see what you're doing when playing with Scheme functions in gschem. commit 7aff6e91ae4520072f4b0272a8fed56e27b82c0a Merge: e92b66a 03a529b Author: Peter TB Brett Date: Sun Nov 7 21:02:16 2010 +0000 Merge changes from main unstable branch commit 03a529b993bc5f7b432a8c11e74a69dee12043ed Author: Peter TB Brett Date: Sun Nov 7 12:23:18 2010 +0000 gschem: Extract translatable strings directly from system-gschemrc. Reduces the number of matching lists of menu accelerator strings from three to two... commit 64fc02d71b235f5b1b5a5640f15d9cf3270672a6 Author: Peter TB Brett Date: Sun Nov 7 10:40:24 2010 +0000 desktop-i18n: Don't have misleading ".h" suffixes in .po files. commit 803ea8cd6ee3203559d99fbaa178a869c2046d38 Author: Peter TB Brett Date: Sun Nov 7 13:54:15 2010 +0000 Update po files, fixing Language and Language-Team strings. Updates all po files using update-po, making sure all po files have their Language string set, and set all Language-Team strings to geda-dev@seul.org. commit 5ee02960cb8cc90c6c6fd946c53cdf94b0b46b0e Author: Peter TB Brett Date: Sun Nov 7 12:11:03 2010 +0000 Make new C files translatable. Also marks an new error message in gschem as translatable. commit bb9e4bcd4d3e5b9b598105f7f6f1aecae880783b Author: Peter TB Brett Date: Sat Nov 6 09:22:02 2010 +0000 Delete guile-snarf output files during distclean. commit 19fbd43464e59cbbed0fb98371b1daf5b3edc363 Author: Peter TB Brett Date: Fri Nov 5 15:11:47 2010 +0000 gschem: Include by default. commit c759a14672a1ee047c8d27f2d9c39339c88da18e Author: Peter TB Brett Date: Fri Nov 5 08:00:19 2010 +0000 scheme-api: Closing pages. Since it's possible to create new pages from the Scheme API, it's also useful to be able to close them. This patch adds the close-page! function to the (geda page) module. It's necessary for gschem to provide a slightly different implementation of close-page! which allows for the GUI to be updated and for the user to be prompted to save changes. To do this, gschem uses Guile module reflection to change the binding of the close-page! function during startup. commit dbfcf03ba08226b6c752f57006a3e2cde7ffcde8 Author: Peter TB Brett Date: Fri Nov 5 07:45:22 2010 +0000 gschem: Remove some Guile 1.4/1.6 compatibility code. commit 275740ab72ae6fd9ab2ddcc024181d1c3330064d Author: Peter TB Brett Date: Thu Nov 4 19:53:13 2010 +0000 scheme-api: Retrieve and change the current gschem page. commit 2cd6cf4922ef828ed8bbb2d409d0e40b04f7d8ff Author: Peter TB Brett Date: Tue Nov 2 10:27:25 2010 +0000 gschem: Remove global_window_current. Instead, use the GSCHEM_TOPLEVEL fluid (accessed via g_current_toplevel()). Although this does indeed remove one magic global variable in favour of another, the fluid has the advantage of coping correctly with non-local exits, and is more clearly only for the benefit of procedures that are called via Scheme. commit c51711b32a5673b6ee3f18d5160c9c4e16d15b5e Author: Peter TB Brett Date: Tue Nov 2 10:27:25 2010 +0000 gschem: Add a fluid for current GSCHEM_TOPLEVEL. Adds a smob that represents a gschem window structure, and a Guile fluid that tracks the active window and that can be accessed from Scheme code. The functions which update the fluid also ensure that the libgeda TOPLEVEL fluid is updated in lockstep. This ensures that Scheme code that is not gschem-aware will run correctly in gschem, and will allow the global_window_current variable to be removed. commit e883ed4bf0681db9e67da5e176d2caa6d8876f4c Author: Peter TB Brett Date: Tue Nov 2 10:27:24 2010 +0000 libgeda: Remove o_save_curr_page(). commit 3abdca2a4ee088184e976822c444069d67e20a20 Author: Peter TB Brett Date: Tue Nov 2 10:27:25 2010 +0000 libgeda: Add PAGE argument to file load/save functions. commit 4a3a3d9e4cc72fa94165306c5b8d411d47812d45 Author: Peter TB Brett Date: Tue Nov 2 10:27:24 2010 +0000 libgeda: Add PAGE argument to print functions. commit c26ed9d5b126f7e2b67285e465438aa9b5ee4ffd Author: Peter TB Brett Date: Tue Nov 2 10:27:23 2010 +0000 libgeda: Make g_read_file() take a TOPLEVEL argument. commit 4491d031d5f02a43ec72443a3be6668c9cdc58b6 Author: Peter Clifton Date: Mon Nov 1 20:59:11 2010 +0000 Fix hiding the command prompt window on Win32 builds with -mwindows There was a mistake in gschem and gattrib's Makefile.am, where it included the non-existant MINGW_GUI_CFLAGS rather than pulling in MINGW_GUI_LDFLAGS where the required -mwindows was set. Cherry-picked from: e5f32954a1fb23534309d6fa06d887859afbc664 and subsequent fix: 66e54fd03f75f70d9fcf101d6ed3cad1bb354b13 commit bb8ca8df886f6a800e96910424d6b3ba55f2f14f Author: Wojciech Kazubski Date: Mon Nov 1 18:24:56 2010 +0000 gschem: Don't crop the png output [3100660] [3100680] Gschem sometimes crops the image exported to bitmap file (png, bmp... but not eps). This appears in certain range of picture proportions, landscape but close to square. This patch alters the algorithm that adjusts the image proportions to remove this problem. commit e5f32954a1fb23534309d6fa06d887859afbc664 Author: Peter Clifton Date: Sat May 1 13:42:35 2010 +0100 Fix hiding the command prompt window on Win32 builds with -mwindows There was a mistake in gschem and gattrib's Makefile.am, where it included the non-existant MINGW_GUI_CFLAGS rather than pulling in MINGW_GUI_LDFLAGS where the required -mwindows was set. commit 0768fc34916818904623a914780fe583a8bcf186 Author: Robert Drehmel Date: Thu Apr 22 11:13:06 2010 +0100 gschem: Fix memory corruption in o_update_component() s_page_append_list() consumes the GList passed, which must not be g_list_free'd afterwards. commit 8e19b5509a40826aeacd6b43efa35403f13763f8 Author: Peter Clifton Date: Fri Apr 2 16:55:25 2010 +0100 gschem: Introduce B/W colour scheme commit 923116bc968ff32ed2c997afa596af59ce9752ce Author: Peter TB Brett Date: Sun Mar 7 23:16:03 2010 +0000 libgeda: Add PAGE argument to tile functions. With this patch, the tile system no longer uses TOPLEVEL.page_current anywhere. commit 3b76382b7624bd6f22c6e96353185d41053f5e15 Author: Peter Clifton Date: Sun Mar 7 21:12:39 2010 +0000 gschem: Remove unused connection field from the STRETCH struct This field was only ever used for debug purposes, remove it. commit 9c42a66c0a985ef424f35ac93a289e82ef88b32b Author: Peter Clifton Date: Sun Mar 7 19:00:01 2010 +0000 Move STRETCH structure and s_stretch.c from libgeda to gschem This structure and related functions deal with rubberbanding nets during move operations. They are only used from within gschem, although there is of course setup and tear-down in libgeda. Move this all to gschem. This isn't a 1-1 move, since various headers and structures needed to be fixed up in the process. The stretch_list now lives in the GSCHEM_TOPLEVEL, not the PAGE, matching the fact that we don't allow action state to persist when a GSCHEM_TOPLEVEL changes active PAGE. A free of the stretch list is removed from s_page_delete(), but no equivalent is re-added in gschem. Action state is torn down when an action is cancelled, which is done before deleting any GSCHEM_TOPLEVEL. commit d4820b644781b337812a78a1416b67025fa79c2a Author: Peter Clifton Date: Sun Mar 7 18:39:43 2010 +0000 gschem: Exit any current event state before switching pages If we don't do this, state from an operation on one page can cause corruption and genereral chaos. This was reproducable by moving some objects (em), then switching pages with a key-binding. commit d4908a377f6a1ebcc80d12a08d96d85e8d0473c1 Author: Peter TB Brett Date: Sun Mar 7 17:40:38 2010 +0000 gschem: Correct some type casts; comment out not-yet-used variable. commit 8a290f30e3f89e7d2c7dd4459c02fa0dce366e02 Author: Peter Clifton Date: Sun Mar 7 15:00:40 2010 +0000 gschem: Tidy up o_move_prep_rubberband() Delete some debug printf and generally tidy up the function. Should be no functional changes. commit b5cf93429f13cf9e68cc9cf86a05d72eae239f6f Author: Peter TB Brett Date: Thu Nov 12 18:14:18 2009 +0000 gschem: Pass the current GSCHEM_TOPLEVEL to menu signal handlers. This has the beneficial side-effect of fixing a memory leak. commit 84c708ec13ab8cbd2f66eea3239ce8106232ffab Author: Peter TB Brett Date: Wed Mar 3 11:01:19 2010 +0000 gschem: Rewrite o_update_component() to replace, not modify, OBJECTs. Instead of deleting the contents of a compound OBJECT and adding new contents loaded from file, make o_update_component() create a new OBJECT, move attributes across, and then replace the original OBJECT with the new OBJECT. This works much more nicely with the use of an event-based connection-update scheme in libgeda. Fixes a crash bug reported by Peter Clifton , where component prim_objs were not being correctly removed and re-added to the page's tile system. commit cc0ced2f6d765e5be43de4cd8d0e7caacee9478d Author: Peter Clifton Date: Sun Feb 28 18:37:24 2010 +0000 gschem: Remove o_invalidate_glist() call from i_callback_edit_(un)embed This invalidate calls are not required, as any relevant changes will cause change notifications from within libgeda to trigger redraws of specific areas of the page. NB: Changing the embedded status of an object doesn't actually cause a change notification at present, since it should not affect the how the objects are rendered. commit 5e8f2be04fd2a1371dcfc2dd595ca319749fe7e2 Author: Peter Clifton Date: Wed Mar 3 00:57:23 2010 +0000 gschem: Remove o_invalidate_all() call from i_callback_edit_update This invalidate call is not required, as any changes will cause change notifications from within libgeda to trigger specific areas of the page to be redrawn. commit b59058138ce5057b3520f70754a610a99fb440a7 Author: Peter Clifton Date: Wed Feb 24 16:33:08 2010 +0000 Use change notification to redraw objects when connectivity changes Emit change notifications in the connectivity tracking functions s_conn_remove_other() and s_conn_update_line_object(). This frees gschem from the somewhat complex task of tracking which objects were connected to a given object before and after a particular set of operations. This change leads to a significant simplification of many operations, and removes quantities of code from: o_pin_end() o_net_end() o_move_end() o_move_end_rubberband() o_move_end_lowlevel() o_mirror_world_update() o_rotate_world_update() o_grips_end_bus() o_grips_end_pin() o_grips_end_net() o_delete() commit cf6ea830c56a04ebb47e958dc1f8895dcc8f60e7 Author: Peter Clifton Date: Sun Feb 28 18:37:23 2010 +0000 Use change notification to redraw when a pin's type is modified Emit change notifications in o_pin_set_type(), and remove o_invalidate() calls where this function is used in gschem. commit 5e43eb790eee741c861862d27435fac0cca55df2 Author: Peter Clifton Date: Wed Mar 3 00:34:35 2010 +0000 Add change notification when objects are modified via o_*_modify() Emit change notification in the o_*_modify() functions, and remove some o_invalidate() calls where o_arc_modify() is also used in gschem's arc editing dialog. The o_*_modify() routines are also used in o_grips.c, where there is no explicit o_invalidate() call after them. o_grips_end() calls o_invalidate(), which is strictly un-necessary, but I've left it for clarity, as it comes after resetting the OBJECT's dont_redraw flag. commit 51461b59d30487e9c1c2dbf3beb6883bd66314e1 Author: Peter Clifton Date: Sun Feb 28 18:37:23 2010 +0000 Use change notification to redraw when an object's fill properties change Emit change notifications in o_set_fill_options(), and remove o_invalidate() calls where this function is used in gschem. commit ca60bcbdab636a6ee28a004d5ce802a57933e6bb Author: Peter Clifton Date: Sun Feb 28 18:37:22 2010 +0000 Use change notification to redraw when an object's line properties change Emit change notification in o_set_line_options(), and remove o_invalidate() calls where this function is used in gschem. commit 51c180d137513668925fe2f5834f8ec5cb1d4563 Author: Peter Clifton Date: Sun Feb 28 18:37:22 2010 +0000 Use change notifications to redraw objects with selection changes Emit change notifications when an OBJECT's selected flag is changed, and removes o_invalidate() calls where the selection is manipulated in gschem. commit 47ebe0bb0145d95946d05fa1fd8d9bab7bd08175 Author: Peter Clifton Date: Sun Feb 28 18:37:22 2010 +0000 Use change notifications for redraw when text is recreated Emit change notifications in the o_text_recreate() function, and remove o_invalidate() calls from gschem where o_text_recreate(), or other functions calling it are made. commit 5c14a649bd633950624dfda4128bd83ed77ef4bc Author: Peter Clifton Date: Sun Feb 28 18:37:21 2010 +0000 Use change notifications for objects added / removed from the page Adds emission of the change and pre-change notify events for adding and removing objects from the page respectively. Remove explicit invalidation calls after performing these actions in gschem. commit ccf8b757df96f9eafb676a8ab0960c76f9692238 Author: Peter Clifton Date: Sun Feb 28 18:37:21 2010 +0000 gschem: Hookup change notify functions to invalidate on-screen objects When change pre-change and change notifications are emitted on objects, we need to invalidate their on-screen representation. The pre-change notification is used to invalidate the area where an object is currently drawn, which is expected (usually) to be followed by a change notification - so the new object bounds are invalidated to be repainted. Certain operations might skip one of these events. For cases where the bounding box of an object is known to remain constant, the "pre-change" notification could potentially be omitted. Adding an object to the page will (obviously) only be able to generate a "change" notification, and removing an object will only generate a "pre-change" notification. commit 6e5fa46cc04db09e0fa0fee54985fa98413c339e Author: Peter Clifton Date: Wed Feb 24 16:32:51 2010 +0000 gschem: Make sure we invalidate the rubberbanded object before cancelling This showed up as a rendering artefact left behind after grip-resizing objects to an invalid size, then letting go of the grip. The grip operation is cancelled, and the original object re-drawn - but it is possible that the rubber-banded view of the object just before cancelling the action covers an area of the screen not touched by the original object. commit 4a2baceb1bf4546f8888045f80fb989794d9130f Author: Peter Clifton Date: Sat Feb 20 14:27:07 2010 +0000 gschem: Remove some redundant alias variables in o_pin_end() Whilst I'm here, remove a NULL test.. o_pin_new() doesn't return NULL. commit 4474d121a1c2c81f8c79b95a426e3e7245eb032d Author: Peter Clifton Date: Sat Feb 20 01:59:11 2010 +0000 gschem: Make o_grips_{start,end}_*() functions private to o_grips.c commit 960875cc1d57986f2d626b1843330b3bcc2efafa Author: Peter Clifton Date: Sat Feb 20 02:05:47 2010 +0000 gschem: Tidy up some coding style in text_edit_dialog Don't initialise variables to NULL un-necessarily. Also, tidy up some bits of the function which could usefully be grouped together. commit 92302408ad3d0ba01f1e969b39d04dba3c91cf24 Author: Peter Clifton Date: Sat Feb 20 02:04:38 2010 +0000 gschem: Fix object type for align_menu in text_edit_dialog The type is GtkListStore *, not GtkWidget *. I've renamed the variable from align_menu to align_menu_model to reflect its contents more clearly. As a cleanup, don't bother casting align_menu_model to G_OBJECT when calling g_object_unref(). g_object_unref() takes a gpointer argument so it isn't necessary. commit 833a0a181cbc012a7c68f02371524a51aa362a43 Author: Peter Clifton Date: Sat Feb 20 00:12:44 2010 +0000 gschem: Move o_invalidate calls out of o_grips_{start,end}_*() Put the o_invalidate() calls in o_grips_start() and o_grips_end() instead, which dispatch to the more specific functions. commit c3e6a002e3361f4341e7e09557cf12c4dbfd0c8b Author: Peter Clifton Date: Sat Feb 20 00:20:05 2010 +0000 gschem: Cancel box grip operation if height is collapsed to zero The cancel worked for the case where width was collapsed to zero, but not height. Seems to be due to 1) To a copy-paste error meaning the box height was always read as zero, and 2) A logic error in that either a zero width, OR zero height box should abort the grip opeation. commit 351bdfd3b45c8283c5dd9b9e903edf648fa5df00 Author: Peter Clifton Date: Fri Feb 19 23:08:43 2010 +0000 Move o_text_recreate() call inside o_text_set_string() All callers of o_text_set_string() call o_text_recreate() to update the text object. o_text_set_string() should call it directly. Despite being a hold over from the old "prim_objs" based text rendering system, this function still does useful work preparing the string to be displayed on screen. commit 54ef9936ca0f046ea37d4aa3b2d9b5ca524bbbc8 Author: Peter Clifton Date: Fri Feb 19 23:16:14 2010 +0000 gschem: Don't second-guess whether to call o_invalidate on text objects The o_invalidate() call is a NOP if the text is invisible (or hidden text is not shown), so there is no need to check before calling. commit 7a2311b5e144601594c5b99b2ceb8a8e8567ac5e Author: Peter Clifton Date: Fri Feb 19 23:28:04 2010 +0000 gschem: Rename o_attrib_remove_selected_invisible() This function had a todo note "get a better name". Lets go with o_attrib_deselect_invisible(). Whilst I'm here, complete the doxygen comments for this function. commit 6045569126c44bd5f09f77d74e472e75e36c908d Author: Peter Clifton Date: Fri Feb 19 23:25:21 2010 +0000 gschem: Tidy the o_attrib_remove_selected_invisible() function This function does nothing when toplevel->show_hidden_text is true. Returning immediately when this is the case, rather than looping over the entire selection not doing anything. commit 5cad2cd9a184e1af8273dba6d8ddc3c02a2b72d6 Author: Peter Clifton Date: Fri Feb 19 22:52:58 2010 +0000 gschem: Tidy up o_grips_end_{net,pin,bus}() a little Somewhat of a pointless change, but I ended up moving these functions about a bit in another patch - so I figured a NOP patch to do most of the tidying would be better than mixing this with functional changes. commit 8e3d9a6a219ee166260bdc1e1d2980878b524450 Author: Peter Clifton Date: Fri Feb 19 22:50:35 2010 +0000 gschem: Remove the view_update_cues function This function doesn't do anything different to view->redraw. commit e5aecb64ebaa24e9511a7f814aeffc2a334d563f Author: Peter TB Brett Date: Wed Feb 17 18:24:13 2010 +0000 Kill ADDING_SEL flag with FIRE! The TOPLEVEL.ADDING_SEL flag has long preyed upon intrepid programmers venturing into the labyrinthine and treacherous depths of the gEDA source code, introducing strange and hard-to-trace logic errors and segmentation faults to hinder them on their various quests to fix bugs and add features. But no more! The beast lies slain! No more will developers need to perform the dance of "flag save and restore" to placate the ravening beast! No more will they mutter strange incantations for hours as they seek to determine whether the flag should be set or unset! In serious terms: the flag was only used for controlling whether or not objects should be added to the tile system. By ensuring that objects are only added to or removed from the tile system when added to or removed from the tile's corresponding page, it's then possible to replace the flag check by checking whether the OBJECT is currently part of a PAGE. commit ace44e31ae453dc7f1fe7c55e514c3435d70932f Author: Richard Barlow Date: Mon Feb 15 15:15:49 2010 +0000 gschem: Improve the text edit dialog's alignment menu This patch alters the way the alignment for text is set in the text edit dialogue. I've always felt that the linear list of options doesn't work very well and slows down my work flow quite a bit. The GtkOptionsMenu, which is now deprecated, has been replaced with a GtkComboBox. The alignment options are laid out in a table allowing the correct option to be selected much quicker. commit e85bf2f103667368768939dfc2c40484be8abf8f Merge: 0e5defe 93b0370 Author: Peter Clifton Date: Mon Feb 15 20:30:22 2010 +0000 Merge translations from the stable-1.6 branch NB: Translations were merged manually commit 0e5defe4871370a93c6ccb8bbf4a10e5df098884 Author: Ales Hvezda Date: Sun Feb 14 21:26:37 2010 -0500 Updated man page dates (cherry picked from commit 11921dc18209ed4ea12288114634bb94a5b9b8a9) (from stable-1.6) commit c31d9a1a90db32dd1e1d41f9d3d5ef5888424ba1 Author: Ales Hvezda Date: Sun Feb 14 17:09:45 2010 -0500 Updated copyright text/header in most source files. Updated all copyright text dates that should be updated for the new year. Fixed a bunch of GNU text typos (these should have been either GPL or gEDA). Removed some $Id$ tags which are no longer used/needed. Fixed a few file header that were just plain incorrect. (cherry picked from commit bd34cfde2450790b357e574281f9562adce64303) (from stable-1.6 branch) commit 5df2c5c6f400facb3f81963d6fb0332832cc9e6b Author: Peter Clifton Date: Mon Feb 15 19:26:10 2010 +0000 Make update-po commit f186753e6e229e2dd3e8e317ec5f71884b5c04d0 Author: أحمد المحمودي (Ahmed El-Mahmoudy) Date: Mon Feb 15 15:04:35 2010 +0000 gschem: Fix a couple of typos in the gschem manpage commit 11921dc18209ed4ea12288114634bb94a5b9b8a9 Author: Ales Hvezda Date: Sun Feb 14 21:26:37 2010 -0500 Updated man page dates commit bd34cfde2450790b357e574281f9562adce64303 Author: Ales Hvezda Date: Sun Feb 14 17:09:45 2010 -0500 Updated copyright text/header in most source files. Updated all copyright text dates that should be updated for the new year. Fixed a bunch of GNU text typos (these should have been either GPL or gEDA). Removed some $Id$ tags which are no longer used/needed. Fixed a few file header that were just plain incorrect. commit 93b0370c433f5eb6716ce537288803df4ff99549 Author: Ales Hvezda Date: Sun Feb 14 09:01:16 2010 -0500 First set of changes done by make update-po (ran by prelim make distcheck) commit dcfcb835d5dec2c0ec71526188bbd6c1b76a94ac Author: Peter Clifton Date: Sun Feb 14 13:03:47 2010 +0000 Import translations from Launchpad commit fae9fef150f96412b592817e98d09a2c8300fbfc Author: Peter Clifton Date: Sat Feb 13 14:15:40 2010 +0000 gschem/po: Update some fuzzy strings in the Dutch translation These changes relate to menu-accelerators, so I was able to take an educated guess at the correct strings. commit e20d11966e03c54fc9279bc4bdb3d64a9fc81389 Author: Peter Clifton Date: Sat Feb 13 13:13:02 2010 +0000 gschem/po: Apply updated Dutch translations from Bert Timmerman commit c8af8579d460fdbf9591133c7e30556ce77ba329 Author: Peter Clifton Date: Sat Feb 13 12:57:57 2010 +0000 gschem/po: Merge changes to Dutch translation Merges changes sent by Bert Timmerman. These didn't apply cleanly, so I've had to merge them manually. This commit introduces a number of fuzzy translations which should be fixed before release. They are mostly relateed to menu accelerators, so could probably be un-fuzzied without too much risk. commit 20fd55710ff9d4529f2ce4703559d39e2fa6abd9 Author: Peter Clifton Date: Fri Feb 12 18:23:01 2010 +0000 gschem: Fix hard-coded menu names to match new accelerators Fixes breakage caused by changing the root menu names to include accelerators. (cherry picked from commit 11dd19eedb4fedf06858ec7af1f13371b69441f9) commit 11dd19eedb4fedf06858ec7af1f13371b69441f9 Author: Peter Clifton Date: Fri Feb 12 18:17:56 2010 +0000 gschem: Fix hard-coded menu names to match new accelerators Fixes breakage caused by changing the root menu names to include accelerators. commit 4e91bc5e52699639cf78a9112b0422d2763a6346 Author: Peter Clifton Date: Fri Feb 12 18:00:44 2010 +0000 Update translations from Launchpad commit 9a21d1e7e67cccd3d8f6285d1582a1933cc48fe6 Author: Krzysztof Kosciuszkiewicz Date: Fri Feb 12 11:25:40 2010 +0000 gschem: update polish translation I did most of the previous translation in Launchpad but now I'm using git so it's more handy for me to submit a patch. commit 885f9686ce0997015f3baf69d7c545b889a33b78 Author: Werner Hoch Date: Fri Feb 12 10:57:07 2010 +0100 gschem: updated german translation copied from 7ebe889c777237eed359da7687202fa1f23be537 commit 7ebe889c777237eed359da7687202fa1f23be537 Author: Werner Hoch Date: Fri Feb 12 10:41:22 2010 +0100 gschem: updated german translation commit 8ec97e5432679849f1dcac3bdabeac32d67c6b29 Author: Carlos Nieves Onega Date: Thu Feb 11 19:01:01 2010 +0100 Fixed some menu accelerators for spanish translation. There were some duplicated, or assigned to letter with accents. commit d8b5d756ae661bb15dc4e24f470e36d833442513 Author: Carlos Nieves Onega Date: Thu Feb 11 18:56:39 2010 +0100 Updated spanish translation. commit c5454e79e1a79e2a172c43544bf528c8f0b0cb28 Author: Carlos Nieves Onega Date: Thu Feb 11 17:54:24 2010 +0100 Updated spanish translation. commit bf9d3b95633bbb575e0d480561990af43569d184 Author: Peter Clifton Date: Thu Feb 11 01:45:01 2010 +0000 gschem: Update translations to reflect accelerator changes In this instance, I'm going to un-fuzzy the appropriate translations, as I don't want to break strings which were previously translated at this stage in the release process. For certain languages - those where it was simple, I've updated some or all of the accelerator strings. commit 5e8b72937c09caf15ef791459d6086e3aaf77be6 Author: Peter Clifton Date: Thu Feb 11 01:34:37 2010 +0000 gschem: Provide accelerator mnemonics for root menus (cherry picked from commit e94dd5222f2267218572e81cfae9fbbdc2f70021) commit f5efae4bcb1d79abd21400e08a1bf63bcb43aa4d Author: Peter Clifton Date: Thu Feb 11 01:34:28 2010 +0000 gschem: Allow mnemonics for root menus, such as _File, _Edit etc.. (cherry picked from commit a800451bef4df21797df3707b672571e5441e594) commit d66d391c8ade7b7e55df3cb23b802238c92de4fa Author: Peter Clifton Date: Thu Feb 11 01:34:20 2010 +0000 gschem: Fix update of pinnumbers after auto-renumberering slots Call o_slot_end() rather than o_text_set_string(), in order to ensure the object's pinnumbers are updated correctly. NB: This patch requires the changes making o_slot_end() to take an OBJECT * arguement, as the objects being updated aren't necessarily selected. (cherry-picked from commit 9c71110a49be8a677f7ea3eabaebf6479873c7af) commit d1a6a10c62f993e22ec4b752f803f907ad0b9a35 Author: Peter Clifton Date: Thu Feb 11 01:34:06 2010 +0000 gschem: Pass o_slot_end() an OBJECT *object parameter The OBJECT * parameter points to the object who's slot is being updated - not the slot attribute itself. Previously o_slot_end() used the first object in the selection. This call is used for other cases where slotting needs to be updated - not all will necessarily have the object selected. (cherry picked from commit 040db4675fcbd7739ad8c0dfbc82bbcf2eaff815) commit 920c90fcc90ca188cbbbbdbcbdfec4ed65e54493 Author: Peter Clifton Date: Thu Feb 11 01:33:45 2010 +0000 gschem: Remove the exit(-1) error path from o_slot_end() This is not a friendly way to treat the user.. g_return_if_fail() instead. (cherry picked from commit d03c03949e17313a222645fc38c376b802f5fb4c) commit 2bed5dcf9424ecc238d3bba391db73fb12a170cb Author: Peter Clifton Date: Thu Feb 11 01:33:37 2010 +0000 gschem: Remove unused "len" parameter from o_slot_end() (cherry picked from commit 2998c43e60e95a28df9ce7db2cd64dfaf46712b9) commit f4bda0a16f626235ada74f0b7ec5fec51e0f2c73 Author: Peter Clifton Date: Thu Feb 11 01:33:28 2010 +0000 gschem: Fix slot editing routines to not edit inherited attributes (#2949232) Fixes a bug where symbols without a promoted slot= attribute had their non-promited slot= attribute modified. Also, a similar bug was lurking in the auto-number code, which could break the auto-number slots feature or cause crashes when the remove numbers feature was used on slotted components without a promoted slot= attribute. Tidied up some variable names to make all the fixed functions consistent. A neater fix might have been changing the interface to s_slot_search_slot() back, such that it only reports non-inherited attributes. This would ideally involve renaming the function in libgeda, to (say, for example) s_slot_search_attached_slot(). Since this change is intended for back- port to stable-1.6 as well, I don't want to break libgeda ABI. It seems unwise to change the function's behaviour without a break in API, hence the solution in this patch.. to have callers to s_slot_search_slot() check !o_attrib_is_inherited() on the returned attribute before editing it. Reported-by: John Doty (cherry picked from commit b635dd1c3b9297d3f6e1487f4e2a03cc9effcf05) commit e94dd5222f2267218572e81cfae9fbbdc2f70021 Author: Peter Clifton Date: Thu Feb 11 00:21:54 2010 +0000 gschem: Provide accelerator mnemonics for root menus commit a800451bef4df21797df3707b672571e5441e594 Author: Peter Clifton Date: Wed Feb 10 19:52:44 2010 +0000 gschem: Allow mnemonics for root menus, such as _File, _Edit etc.. commit 9c71110a49be8a677f7ea3eabaebf6479873c7af Author: Peter Clifton Date: Wed Feb 10 21:05:38 2010 +0000 gschem: Fix update of pinnumbers after auto-renumberering slots Call o_slot_end() rather than o_text_set_string(), in order to ensure the object's pinnumbers are updated correctly. NB: This patch requires the changes making o_slot_end() to take an OBJECT * arguement, as the objects being updated aren't necessarily selected. commit 040db4675fcbd7739ad8c0dfbc82bbcf2eaff815 Author: Peter Clifton Date: Wed Feb 10 21:36:37 2010 +0000 gschem: Pass o_slot_end() an OBJECT *object parameter The OBJECT * parameter points to the object who's slot is being updated - not the slot attribute itself. Previously o_slot_end() used the first object in the selection. This call is used for other cases where slotting needs to be updated - not all will necessarily have the object selected. commit d03c03949e17313a222645fc38c376b802f5fb4c Author: Peter Clifton Date: Wed Feb 10 22:18:45 2010 +0000 gschem: Remove the exit(-1) error path from o_slot_end() This is not a friendly way to treat the user.. g_return_if_fail() instead. commit 2998c43e60e95a28df9ce7db2cd64dfaf46712b9 Author: Peter Clifton Date: Wed Feb 10 19:53:09 2010 +0000 gschem: Remove unused "len" parameter from o_slot_end() commit b635dd1c3b9297d3f6e1487f4e2a03cc9effcf05 Author: Peter Clifton Date: Wed Feb 10 19:59:08 2010 +0000 gschem: Fix slot editing routines to not edit inherited attributes (#2949232) Fixes a bug where symbols without a promoted slot= attribute had their non-promited slot= attribute modified. Also, a similar bug was lurking in the auto-number code, which could break the auto-number slots feature or cause crashes when the remove numbers feature was used on slotted components without a promoted slot= attribute. Tidied up some variable names to make all the fixed functions consistent. A neater fix might have been changing the interface to s_slot_search_slot() back, such that it only reports non-inherited attributes. This would ideally involve renaming the function in libgeda, to (say, for example) s_slot_search_attached_slot(). Since this change is intended for back- port to stable-1.6 as well, I don't want to break libgeda ABI. It seems unwise to change the function's behaviour without a break in API, hence the solution in this patch.. to have callers to s_slot_search_slot() check !o_attrib_is_inherited() on the returned attribute before editing it. Reported-by: John Doty commit 6261b5ea22dfcff6aac6060f98dd7606b7cb4ed2 Author: Peter Clifton Date: Mon Feb 8 16:31:00 2010 +0000 Merge translations with those exported from launchpad commit 375c146d8700ea02a31edb10dfebcde4b85d7aa1 Author: Bert Timmerman Date: Sun Feb 7 12:07:16 2010 +0000 gschem/po: Merge updated Dutch translations. Translations merged by Peter Clifton commit 124a73f493b15948ad8c5babe4593c63f4278235 Merge: 0b87692 9d6d0a0 Author: Peter Clifton Date: Sun Feb 7 01:34:00 2010 +0000 Merge updated translations from stable-1.6 branch commit 9d6d0a0cc0cf0675a6f5f313272dcd224675ebf8 Author: Peter Clifton Date: Sun Feb 7 00:39:07 2010 +0000 gschem/po: A few updates to the en_GB translation (Actually with some changes this time!) commit 89a4b16eb855aa65480c82766a1cc559ca31ea5f Author: Peter Clifton Date: Sat Feb 6 23:11:49 2010 +0000 gschem: Make update-po for changed rcstrings.c Updated en_GB translations for menu accelerators, as they are trivial. Other languages still have their menu strings marked as fuzzy, meaning the translations won't work (they didn't before anyway). I've deliberately not unmaked the strings as fuzzy, as if this were done, it would be much harder for translators to see that the keyboard accelerators need fixing. commit 2525daa773aa3c5713e1ff40913236256cf2e2de Author: Peter Clifton Date: Sat Feb 6 23:10:52 2010 +0000 gschem: Fix rcstrings.c to relect text in menus This makes our menus translatable again. Looks like most cases were due to adding "_" to the menu text to make _Accelerators. (cherry picked from commit 0b87692907ad83635fab42a59fa4e86f464905c5) commit 0b87692907ad83635fab42a59fa4e86f464905c5 Author: Peter Clifton Date: Sat Feb 6 23:09:51 2010 +0000 gschem: Fix rcstrings.c to relect text in menus This makes our menus translatable again. Looks like most cases were due to adding "_" to the menu text to make _Accelerators. commit 99c5e8ce7cb7d2f06d3da3c3b841b0d40c583583 Merge: 89ad783 d3b0112 Author: Peter Clifton Date: Sat Feb 6 21:36:08 2010 +0000 Manually merge translations from the stable-1.6 branch For newly translated languages, this was fairly simple, using msgmerge to update the stable-1.6 "$LANG.po" files with the current git HEAD translation template ".pot" files. For existing languages, I used msgcat to combine the two, allowing it to choose the "newer" translation - ie.. the one on the stable-1.6 branch if there were any conflicts. To assist, I used the following short script: \#!/bin/sh LINGUAS=`cat LINGUAS` TEMPLATE="geda-gschem.pot" NEW_DIR="stable-1.6" OLD_DIR="HEAD" for TR_LANG in $LINGUAS do echo "Attempting to merge for language ${TR_LANG}" if [ -e ${OLD_DIR}/${TR_LANG}.po ]; then echo -n "Old translation exists.. merging" msgcat --use-first ${NEW_DIR}/${TR_LANG}.po ${OLD_DIR}/${TR_LANG}.po -o merge_tmp.po msgmerge merge_tmp.po ${TEMPLATE} -o ${TR_LANG}.po else echo -n "Translation is new, updating" msgmerge ${NEW_DIR}/${TR_LANG}.po ${TEMPLATE} -o ${TR_LANG}.po fi done (Modified appropriately for each */po/ directory.) The current translations were placed in po/HEAD/ and the (newer) stable-1.6 translations were placed in po/stable-1.6/ The script requires the LINGUAS file to be updated to include all new languages before it is run. The resulting changes have been reviewed to ensure nothing massively broken happened during the merge, and committed as a merge to show the origin of the translations. commit 431772cec853ba3344ca68865dc29441c73d6b14 Author: Peter Clifton Date: Sun Jan 31 13:09:30 2010 +0000 gschem: Import translations from Launchpad commit cd8a454298c0dc4860e4a81260a41c8d7476c2d9 Author: Peter Clifton Date: Sun Jan 31 13:34:14 2010 +0000 gschem/po: Update af.po translation (removing many bogus fuzzy translations) Some fixes were obvious, others were obviously wrong, so I removed them. commit 5d55f0efdbf386d672179e7b1c5c0e905029dc23 Author: Peter Clifton Date: Sun Jan 31 12:38:06 2010 +0000 gschem/po: Fix plural form header for es.po Looks like something accidentally mangled this header. (cherry picked from commit 89ad783e3f1298ee1ea0a12d148a192c74e4d78f) commit 89ad783e3f1298ee1ea0a12d148a192c74e4d78f Author: Peter Clifton Date: Sun Jan 31 12:36:15 2010 +0000 gschem/po: Fix plural form header for es.po Looks like something accidentally mangled this header. commit 7b97171ff386bb96e16dbd879aed45b8da908efe Author: Peter Clifton Date: Sun Jan 31 11:09:45 2010 +0000 Update en_GB translation commit fd66d4de4dd32b4d080a9cbd4f53f2a598269b63 Author: Peter Clifton Date: Sun Jan 31 11:08:04 2010 +0000 Update en_GB translation (actually do it this time!) commit 67f8e23339892fbcb958c2051e8fabe5345350fe Author: Peter Clifton Date: Sun Jan 31 10:27:32 2010 +0000 Run make update-po in all */po/ directories commit abc32686e9bf42b25e0f6b0548d620436ee05da6 Author: Peter Clifton Date: Sun Jan 31 10:58:55 2010 +0000 gschem: Remove _() translatable markers from some internal strings Save work for the translators, as we don't really need or want to translate the descriptive strings for GObject properties. Introduce a P_() helper as in GTK code. This means we can find the potentially translatable strings at a later date. (cherry picked from commit 3c64f506a6b3babc4db67a5841d5b95a2189b34c) commit bf82ca8680254c7752fed304fb67716fcc0f6023 Author: Peter Clifton Date: Sun Jan 31 10:45:01 2010 +0000 Run make update-po in the */po/ directories commit 3c64f506a6b3babc4db67a5841d5b95a2189b34c Author: Peter Clifton Date: Sun Jan 31 10:42:19 2010 +0000 gschem: Remove _() translatable markers from some internal strings Save work for the translators, as we don't really need or want to translate the descriptive strings for GObject properties. Introduce a P_() helper as in GTK code. This means we can find the potentially translatable strings at a later date. commit 041d55bf82f356ef01d2c17305a973192323644c Author: Peter Clifton Date: Sun Jan 31 10:51:05 2010 +0000 gschem/po: Fix keywords passed to xgettext, it is N_, not _N This was broken accidentally in commit 7cf778da5905cf4189eeb043c1b98cb0efa2b305 commit c603cb9f75068837eb8f5a309f590fb3d8e5156e Author: أحمد المحمودي (Ahmed El-Mahmoudy) Date: Fri Nov 20 16:23:15 2009 +0000 Fix for some manpage issues. [2901183] Fixes undefined use of `l' macro, and incorrect uses of `-' character. (cherry picked from commit 93dd5a941f34d1dd58cf9a57a07dec1e01ce3afe) commit ce53e956128a330f7c13e1953cad937b27027323 Author: Peter Brett Date: Sun Jan 31 10:01:02 2010 +0000 Move snap state tracking out of libgeda. Since snapping is only relevant to gschem, store snap state in the GSCHEM_TOPLEVEL structure. commit 3f30ab76bbf247e8151fd4bbfd43bb7703e0fb80 Author: Peter Brett Date: Sun Jan 31 10:01:00 2010 +0000 gschem: Fix some warnings about non-literal format strings. commit 7575c114b590077a3399d28a499005625f7ae212 Author: Peter Clifton Date: Sun Jan 31 02:00:34 2010 +0000 gschem: Don't update page connectivity from o_place_rotate() Bug #2904715 This fixes bug #2904715, where gschem would crash if an object being multi-copied contained nets, and the place-buffer was rotated (by 90 degrees) four times during the place operation. Items in the place list should never have their connectivity updated on the page. (They don't belong to the page, so have no business being referenced from the page, or objects on it). Rather than calling o_rotate_world_update() (which updates connectivity) call o_glist_rotate_world() and then the scheme rotate hooks explictly. Rotate hook handling was split from o_rotate_world_update() into a new function, o_rotate_call_hooks(). When doing this split, I took the chance to remove a few pointless tests of o_current != NULL in there. We know o_current isn't going to be NULL, and we already dereferenced it (unchecked) a few lines above. As o_place_rotate() is always called from within an action - and in those cases, o_rotate_world_update() would not update the undo list, I have not included the conditional undo update in o_place_rotate(). (cherry picked from commit 16090ce2eedc014d82e96fd340ec27f9ea6b186d) commit 16090ce2eedc014d82e96fd340ec27f9ea6b186d Author: Peter Clifton Date: Sun Jan 31 02:00:34 2010 +0000 gschem: Don't update page connectivity from o_place_rotate() Bug #2904715 This fixes bug #2904715, where gschem would crash if an object being multi-copied contained nets, and the place-buffer was rotated (by 90 degrees) four times during the place operation. Items in the place list should never have their connectivity updated on the page. (They don't belong to the page, so have no business being referenced from the page, or objects on it). Rather than calling o_rotate_world_update() (which updates connectivity) call o_glist_rotate_world() and then the scheme rotate hooks explictly. Rotate hook handling was split from o_rotate_world_update() into a new function, o_rotate_call_hooks(). When doing this split, I took the chance to remove a few pointless tests of o_current != NULL in there. We know o_current isn't going to be NULL, and we already dereferenced it (unchecked) a few lines above. As o_place_rotate() is always called from within an action - and in those cases, o_rotate_world_update() would not update the undo list, I have not included the conditional undo update in o_place_rotate(). commit 2eae6d63738a0a27578e2868d788d59313d75583 Author: Peter Clifton Date: Sun Jan 31 01:03:00 2010 +0000 gschem: Don't duplicate registration of new zero-length rubber-band nets o_net_new() adds the net into the tile system and updates conectivity (assuming toplevel->ADDING_SEL is false). commit f1a5270236c98274f3d02a1513823fd9a8ff707f Author: Peter Clifton Date: Sun Jan 31 00:35:42 2010 +0000 libgeda: Tidy up some calls in o_complex_translate_all() Convert a couple of short while loops over a GList into a for() structure. Remove a completely redundant if statement. The if () {...} and else {...} branches had the same code in them! commit 7cf778da5905cf4189eeb043c1b98cb0efa2b305 Author: Peter Brett Date: Sat Jan 30 15:54:28 2010 +0000 Add --from-code=UTF-8 to XGETTEXT_OPTIONS. Some of the translatable strings in the source code contain UTF-8 encoded characters. Without setting the --from-code argument appropriately, xgettext chokes on these strings, which can result in an infinitely-recursing build. Reported-by: Peter commit 037651cdde1684c640d1339f699e1e45838e35e1 Author: Peter Clifton Date: Tue Jan 19 23:17:06 2010 +0000 gschem: Set font description explictly, rather than by parsing a string This makes the font description string robust against numeric locale settings, which could cause problems if "," gets used as the decimal separator in the requested font size. This issue caused text rendering to be broken in gschem on Win32 for locales where "," was used as the decimal specifier. The underlying bug (failing to override the LC_NUMERIC settings) is now fixed, although it is just as well to be as robust as possible here. Thanks to Cesar and Bert for testing this fix. Tested-by: Cesar Strauss Tested-by: Bert Timmerman (cherry picked from commit 620ee00b6211b04c75e9cadffe5547ce4ed1ca8b) commit a78d166a1b57b80ff46e2ac98a14989b8af77c3e Author: Peter Clifton Date: Tue Jan 19 23:11:36 2010 +0000 Set the LC_NUMERIC locale to "C" rather than "POSIX" This value is supported on Win32 platforms, whereas "POSIX" doesn't appear to have any effect. This is required in order to get correct postscript output in locales where "," is used as the decimal point separator. It also affects the font strings passed to Pango, causing broken text rendering in gschem. Thanks to Cesar for testing this change indeed fixes the issue. Tested-by: Cesar Strauss (cherry picked from commit 5d130060e694cfd3b3be177f1fae4a576728ff25) commit 620ee00b6211b04c75e9cadffe5547ce4ed1ca8b Author: Peter Clifton Date: Tue Jan 19 23:17:06 2010 +0000 gschem: Set font description explictly, rather than by parsing a string This makes the font description string robust against numeric locale settings, which could cause problems if "," gets used as the decimal separator in the requested font size. This issue caused text rendering to be broken in gschem on Win32 for locales where "," was used as the decimal specifier. The underlying bug (failing to override the LC_NUMERIC settings) is now fixed, although it is just as well to be as robust as possible here. Thanks to Cesar and Bert for testing this fix. Tested-by: Cesar Strauss Tested-by: Bert Timmerman commit 5d130060e694cfd3b3be177f1fae4a576728ff25 Author: Peter Clifton Date: Tue Jan 19 23:11:36 2010 +0000 Set the LC_NUMERIC locale to "C" rather than "POSIX" This value is supported on Win32 platforms, whereas "POSIX" doesn't appear to have any effect. This is required in order to get correct postscript output in locales where "," is used as the decimal point separator. It also affects the font strings passed to Pango, causing broken text rendering in gschem. Thanks to Cesar for testing this change indeed fixes the issue. Tested-by: Cesar Strauss commit 7ffb3884c477ea4c54dc7e80fbc9120407ec6fcf Author: Peter Clifton Date: Thu Dec 31 12:52:19 2009 +0000 gschem: Re-trace about logo to have transparency in anti-aliasing The previous version was partially flattened, so the anti-aliasing only worked on a light coloured background. Re-trace the gate, red net end cues and re-export. Is otherwise identical to the website logo. commit 7f8f8beb4d2ab3e2508c125da15ac817c5ab0f68 Author: Ales Hvezda Date: Wed Dec 30 21:41:53 2009 -0500 Changed the new gschem about logo to be the same as the gEDA website logo commit 1af6cf8dcc23174a6e57e8cdf2f3b84996a5b23e Author: Peter Clifton Date: Wed Dec 30 20:29:04 2009 +0000 gschem: New about dialog, including gEDA logo graphics commit f1e5729f9638731595c2af4ecf5c492d8de4076d Author: Gareth Edwards Date: Fri Nov 20 22:17:43 2009 +0000 gschem: Clean up doxygen warnings [2899355] Quite a few of the doxygen comments for gschem have fallen into bitrot, particularly around parameter names and lists. This patch updates doxygen comments to fix almost all warnings generated in the gschem doxygen run. Also corrected apostrophe error on main page. commit 93dd5a941f34d1dd58cf9a57a07dec1e01ce3afe Author: أحمد المحمودي (Ahmed El-Mahmoudy) Date: Fri Nov 20 16:23:15 2009 +0000 Fix for some manpage issues. [2901183] Fixes undefined use of `l' macro, and incorrect uses of `-' character. commit 4885969f50e7942ce4180ff5e59907876ccf39aa Author: أحمد المحمودي (Ahmed El-Mahmoudy) Date: Fri Nov 20 16:09:19 2009 +0000 Don't use Encoding field in .desktop files [2901187] The .desktop files contain the deprecated Encoding field. The Encoding key is now deprecated by the FreeDesktop standard and all strings are required to be encoded in UTF-8. commit 9fb9761c0ae5b34670683de30f4251e24d55e652 Author: Peter Clifton Date: Fri Nov 20 06:58:57 2009 +0000 Don't immediately redraw rubberband objects after placing This allows the user to see the placed (and selected) object without it being overwriten by any object still attached to the mouse cursor. (This made it appear that the object had not been placed). The rubberband objects attached to the cursor are re-drawn as soon as the mouse moves. commit df1a9efec9a33336723c863f7a4c9844c3c12b3c Author: Sergey Alyoshin Date: Fri Nov 20 06:58:56 2009 +0000 gschem: Updated Russian translation. commit 18fc37097a266ecdb70560524e6c161f0807d36e Author: Werner Hoch Date: Fri Nov 20 06:58:55 2009 +0000 gschem: Fix rendering with zoomed out dashed lines. Bug #2876373 Rather than using SCREENabs, use the screen_width function to determine the on-screen size of dash elements. This clamps the width at a rendereable size, so cairo does not get tripped into an error state (and stop drawing other objects on the schematic). commit b98d2ea8aa5ce3dfab39ce5fa4a52c39e5a467b3 Author: Werner Hoch Date: Fri Nov 20 06:58:54 2009 +0000 updated german translation for gschem commit d5d8bf2982724c52fa66431801534a35b75a3e52 Author: Bert Timmerman Date: Fri Nov 20 06:58:53 2009 +0000 Updated the Dutch translations for gschem commit 4a952841e7aca364018a9ebd81a0c1793c371273 Author: Werner Hoch Date: Fri Nov 20 06:58:52 2009 +0000 gschem, gattrib desktop file: add trailing semicolon the openSUSE buildservice claims that it's necessary to add a trailing semicolon to the Categories list entries. commit 858982a2a05ff3e128de3621f1d301ecd989f35c Author: Gareth Edwards Date: Fri Nov 20 06:39:59 2009 +0000 Changed message on failure to generate doxygen docs If --enable-doxygen was not a configure flag, change the error message on an attempt to build doxygen documentation to suggest the configure flag was the cause of the failure rather than the lack of a doxygen install itself. commit ea34de8e761f40b697fc4800375ab8c5ef642c60 Author: Gareth Edwards Date: Fri Nov 20 06:39:59 2009 +0000 Don't drop a file called "doxygen" Remove the file redirection that causes a file called "doxygen" to be created in the */docs/ directories if --enable-doxygen is *not* one of the configure flags. commit ef86dc34509308a29c2acca9eca73d7953b49346 Author: Peter Clifton Date: Mon Nov 16 20:42:26 2009 +0000 Don't immediately redraw rubberband objects after placing This allows the user to see the placed (and selected) object without it being overwriten by any object still attached to the mouse cursor. (This made it appear that the object had not been placed). The rubberband objects attached to the cursor are re-drawn as soon as the mouse moves. commit 90ab35e96c4c2a9c37c5913ab4b574a131133b31 Author: Sergey Alyoshin Date: Thu Nov 12 19:01:00 2009 +0000 gschem: Updated Russian translation. commit 69f7faf706f7eba312d012fdaa2d4c81df97051c Author: Roland Lutz Date: Thu Nov 12 18:48:55 2009 +0000 Allow double-click to select component in Compselect dialog [#2661223] commit a7c7e96e17937ea0780261101a4c45383df71134 Author: Werner Hoch Date: Sun Oct 18 23:03:23 2009 +0100 gschem: Fix rendering with zoomed out dashed lines. Bug #2876373 Rather than using SCREENabs, use the screen_width function to determine the on-screen size of dash elements. This clamps the width at a rendereable size, so cairo does not get tripped into an error state (and stop drawing other objects on the schematic). commit dac4cc228ac75df18311b8d7cf7b920772fa2038 Author: Werner Hoch Date: Sat Oct 17 11:05:27 2009 +0200 updated german translation for gschem commit 9cf811f0bd4269fa21ed3fb42ede93945f95e935 Author: Bert Timmerman Date: Sat Oct 17 10:14:14 2009 +0200 Updated the Dutch translations for gschem commit 4e558bed59a13d9e3197f68bdd54fcc3ab28c79d Author: Werner Hoch Date: Tue Oct 6 20:12:02 2009 +0200 gschem, gattrib desktop file: add trailing semicolon the openSUSE buildservice claims that it's necessary to add a trailing semicolon to the Categories list entries. commit 3fd50335ddfe0ed7f358d46a0fba23bff25073e6 Author: Ales Hvezda Date: Sun Oct 4 21:23:05 2009 -0400 Updated date and version in all man pages commit a8d42b7de50639897c888646883ce88d819d2589 Author: Ales Hvezda Date: Sun Oct 4 21:11:20 2009 -0400 Ran make update-po in all po directories in prep for a new release commit b7ca06041ea464b0d064bfa965843d2907a83571 Author: Ales Hvezda Date: Sun Oct 4 19:39:14 2009 -0400 Updated the wiki docs from the online version (in prep for the next release) (Un)fortunately, the previous mechanism for updating the wiki offline docs from the online version is completely broken now (due to a segfault in an external tool), so a new mechanism was used to download the files. The good news is that the number of files and directories that need to be downloaded has been reduced considerably. This is the first cut of the wiki sync. commit 4f40000aff79919a3894de4e2e6e560e224220ce Author: Peter Clifton Date: Tue Sep 29 01:43:05 2009 +0100 libgeda: Move slot handling code to its own file, s_slot.c Separates special-case attribute handling from o_attrib.c Renamed functions: o_attrib_search_slot() -> s_slot_search_slot() o_attrib_slot_update() -> s_slot_update_object() libgeda private API: o_attrib_find_attrib_by_name() is no longer static to o_attrib.c commit ff7738b406991a47bf77d2af4b20d0e59d148e1f Author: Peter Clifton Date: Mon Sep 28 21:30:51 2009 +0100 Rubberband pin to pin connections by adding nets This relies on the fact that (as an implementation detail), gschem will rubber-band a zero length net created at the pin-pin interface. Somewhat of a kludge, but the behaviour is nice for the user. commit 5ca5b9768cf70f3d0f905d784d0896c6b442c34f Author: Cesar Strauss Date: Wed Sep 23 19:29:07 2009 -0300 build-sys: Check and set Windows-specific flags. The Windows platform has a native gcc port (MinGW) and a POSIX compliant one (Cygwin). Both need specific flags to build correctly. The rules are: * On all Windows platforms, pass -no-undefined to libtool. This allows shared libraries (DLLs) to be built. * On MinGW, use the -mms-bitfields compiler flag. This increases compatibility with the MSVC compiler. * On MinGW, pass -mwindows when linking GUI-only applications. This avoids opening a text console when running from a shortcut. commit e70cfefcd69a9038ba12759e7f690bc3a041d98c Author: Peter Clifton Date: Mon Aug 31 19:38:10 2009 +0100 gschem: Don't explicitly consolidate nets as they are drawn There is no need to do this here, since all nets are consolidated in each call to o_undo_savestate(). commit 394425f81b0653fc8efa9f5890217ee4fae631e0 Author: Peter Clifton Date: Mon Aug 31 19:38:10 2009 +0100 Don't consolidate nets when loading files. Nets should be consolidated when placed, not when the file is loaded. commit 399560caafde7046fe0e361712389e559969a424 Author: Peter Clifton Date: Mon Aug 31 19:38:09 2009 +0100 gschem: Fix net consolidation (HACK) Net consolidation was previously triggered at file save time, until commit 1f05fb8e7b857c2bba2fbcaa4893ecbedcc478a9 removed the call to o_net_consolidate() from o_save_buffer(). Unfortunately, gschem relied on this call to ensure net consolidation behaviour worked as expected. When changes were made on the schematic, o_undo_savestate() was called to save an undo state (to a temporary file), which eventually called o_save_buffer(), and this caused nets on in the schematic to be consolidated. As a kludge to work around this regression, this commit adds a call to o_net_consolidate() in o_undo_savestate(). This of course, is not a nice place to put it! This issue should be revisited after 1.6.x is released, ideally finding a cleaner place to trigger consolidations. Notes on the problem: Consolidate nets needs to happen when: A new net is drawn (and added to the page) A net end-point is rubber-banded A net is moved / copied into place A net sitting perpendicularly between two colinear nets (preventing them consolidating) is removed (Cut/Move/Delete) We want the "undo" state saved to be inclusive of the net consolidation.. therefore it needs to happen _before_ the undo state is saved, or we would have to cheat, and consolidate again after any "undo" / "redo" operation. Since o_undo_savestate() is called after modifications are made to the page, it provides a useful (but kludgy) place to catch all of the above cases before the undo state is saved. commit 45002f0be0efb9638bcb96e67bbd1e5d3cd602c6 Author: Ales Hvezda Date: Sun Aug 30 19:26:36 2009 -0400 Updated all manpage versions in prep for a new release (v1.5.4) commit 52946266fdb9c6d039c378af94b8b6f311996b48 Author: Ales Hvezda Date: Sun Aug 30 19:25:03 2009 -0400 Ran make update-po in gschem in prep for a new release (v1.5.4) commit b1f7256890fe8ff48ae077d1fa3cdfcf29ccdc0f Author: Peter Clifton Date: Sun Aug 30 20:16:53 2009 +0100 gschem: Substitute spaces for underscores in displayed accelerator strings This makes accelerators such as "Page_Up" display as "Page Up", in line with how normal GTK accelerators are displayed. commit 0dd9b27c559a4056312c0ad6275ba5c31d1aee46 Author: Ales Hvezda Date: Sat Aug 29 22:39:16 2009 -0400 Fixed bug where none of the translated languages were working correctly. The meaning and value of the PACKAGE #define has changed in the new build system and we don't need to use it in certain places (like when calling bindtextdomain or textdomain). This bug was reported by Carlos Nieves (Thanks!) commit 52f809520c670690cb73b00b4207feb6860b073d Author: Ales Hvezda Date: Sat Aug 29 21:42:10 2009 -0400 Ran make update-po in all po directories in prep for the next release commit a34e326784706cb761ba689a75bef19a5b1ee880 Author: Mark Rages Date: Sat Aug 29 17:05:06 2009 -0400 Modify the drawing of the grips to set a hard limit on the screen size This patch changes the size of the grips in gschem. In the past, the grip size was always directly related to the zoom factor (you would get really large grips when zoomed in a lot). Now the grip sizes are a fixed size at certain zoom factors (grip sizes are reasonably sized when zoomed in a lot). This patch also renders the grips on top of endpoint cues so that you can see the grip rectangle when you are zoomed in a lot (there might be a better way of doing this, but this works for now). Signed-off-by: Ales Hvezda commit b0fa7dd7839915703d9101006bed1c7305477e30 Author: Ales Hvezda Date: Sat Aug 29 16:51:44 2009 -0400 Updated the versions of the software in all man pages commit a8295ba6d957394c9d56465bc2bfc14a43fc251d Author: Ales Hvezda Date: Sat Aug 29 13:14:57 2009 -0400 Added some machine generated documentation files to be ignored commit 8db05013c0542a6e2f8931b9c2ba2318fe8b613f Author: Carlos Nieves Onega Date: Wed Aug 26 21:38:44 2009 +0200 Updated spanish translation for libgeda and gschem. commit af3f6fc265cb30972df4344a39a67451ab1148b2 Author: Carlos Nieves Onega Date: Sun Feb 1 13:13:29 2009 +0100 Run the add component hook after adding a new component using scheme. Run the add component hook after adding a new component using the scheme function add-component-at-x-y. commit dbcfd09c99266379d08d90b9d8a9dd23a6566eec Author: Carlos Nieves Onega Date: Sun Feb 1 12:51:15 2009 +0100 Fix x coordinate in add-component-at-xy function. X coordinate was previously get from the Y coordinate parameter. commit 1b152740c10b5198d16a43a73f08ccbe90d37ccb Author: Ales Hvezda Date: Tue Aug 18 22:56:56 2009 -0400 Updated all po files by running make update-po in all the */po directories Run make update-po again might be necessary as we get closer to release time. commit e5ae12ec1091bd6e3c4067e395714efd3934b0c2 Author: Peter Clifton Date: Mon Aug 17 13:18:10 2009 +0100 Remove old text mechanism, including TEXT->prim_objs, symbols/font/* Now we have pango rendering, the old text mechanism and its glyph symbols are redundant and can be removed. commit 9cd19557085a7ef98408e1a73aa15471a88fb5e8 Author: Peter Clifton Date: Mon Aug 17 12:32:09 2009 +0100 gschem: Save cairo and pango contexts when entering expose handlers For some operations we might want to replace the renderers in order to do off-screen drawing (e.g. printing). As these operations could instantiate a sub-main-loop (which can service expose events), the expose event handler needs not to trample on the drawing contexts. commit e9a944c1525228fbe80b0adc3910949d650a100c Author: Peter Clifton Date: Mon Aug 17 12:08:31 2009 +0100 gschem: Register a function with libgeda to provide accurate text bounds This allows invalidating a text object to use the correct region and, importantly, allows us to find accurately which text objects were need repainting if a given area of screen is damaged. commit 21be5c504a4a48da63526fce53cce00a9a76a1eb Author: Peter Clifton Date: Mon Aug 17 12:08:30 2009 +0100 gschem: Add custom pango renderer to handle overbars commit 391eb25cb8e426df8f57fac2dc2d6e3515ff2acf Author: Peter Clifton Date: Mon Aug 17 12:08:27 2009 +0100 Attempt drawing text with cairo + pango We use libgeda's o_text_get_font_size_in_points() to try and match old gEDA font sizes. This scaling factor of 1.3 applied to the font size defined in the schematic reflects the fact that gEDA's old font at given nominal point size, is larger than most other fonts at nominally the same size. This (may) be due to the cap height of gEDA's font being designed to match its design height, rather than having the baseline height of the font match the design height. commit b9adcffad55d8f6a5633afb79b9522ba840bda22 Author: Peter Clifton Date: Mon Aug 17 12:07:14 2009 +0100 Reinstate (postscript-font-scale ...) option to catch deprecated usage. The replacement handler issues a warning that the parameter is deprecated and will be removed. The parameter value is ignored. commit f9e5481638f4ab3b86054d82ce10e10b008d9657 Author: Peter Clifton Date: Mon Aug 17 12:01:57 2009 +0100 Hard-code the gEDA font-size to postscript points scale factor. Replaces the (postscript-font-scale ...) option, and the scale factor hard-coded in gschem's pango text rendering routines. commit c394dc703ac479b4d095b65bdb67526ed6e7c1e0 Author: Peter TB Brett Date: Mon Aug 17 11:19:58 2009 +0100 Always use PostScript fonts in PostScript output. Removes the "output-text", "text-output" and "output-vector-threshold" config functions. commit 3191d47aa5f71847c876a35371a89cb38825e66b Author: Peter Clifton Date: Mon Aug 17 11:19:06 2009 +0100 gschem: Render images using cairo, not GDK commit ff6ea4955d0490d6436bc74d840325e76098304f Author: Peter TB Brett Date: Thu Aug 13 07:56:57 2009 +0100 build-sys: Don't use AC_HEADER_DIRENT. The Autoconf manual says that AC_HEADER_DIRENT is now unnecessary: This macro is obsolescent, as all current systems with directory libraries have `dirent.h'. New programs need not use this macro. This patch removes AC_HEADER_DIRENT and all checks for HAVE_DIRENT_H. It turned out that in most of the places where `dirent.h' was being #include'd it wasn't needed anyway. (Fix for a Cygwin build bug reported by Dan McMahill). commit cf772193f3042184e5ca624cc7b1e8daef6f4a53 Author: Peter TB Brett Date: Thu Aug 13 06:43:16 2009 +0100 build-sys: Improve HTML conversion rules. We want to make sure the HTML version of the man pages is always distributed, but make building/installing it optional (in case users don't have a proper groff installed). This can be achieved by making sure that Automake only tries to install the HTML man pages if a working groff is available. In addition, `make distcheck' is set up to behave as if groff is not installed. Unfortunately, this still isn't ideal, because users who build from a source archive (with pre-built HTML) won't get HTML installed unless they have a working groff. In the long run, what needs to happen is to use a mechanism like `missing' to handle rebuilding of HTML man pages -- or just drop HTML man pages altogether. commit 476299cad187c839cb252d6d2d985590f99bb6e9 Author: Peter TB Brett Date: Tue Aug 11 22:11:22 2009 +0100 gschem: Modify o_complex_prepare_place() to take CLibSymbol arg. This saves a roundtrip from s_clib_symbol_get_name() to s_clib_symbol_get_data_by_name(). commit ee3878f7c238f75ba3305ab63d3b26e5a4849d7f Author: Peter TB Brett Date: Sun Aug 9 07:46:33 2009 +0100 gschem: Remove use of deprecated scm_create_hook(). ...by providing our own create_hook() function. commit a4a8c19bb3389548d641a0874a77c77f623ad7a5 Author: Ales Hvezda Date: Fri Aug 7 23:02:01 2009 -0400 Makefile.am cleanup (removal of ChangeLog and Makefile.in files) Details on this commit: * Now that we are no longer storing machine generated ChangeLogs inside the git repository, make maintainer-clean should remove the machine generated ChangeLogs. This way nobody accidently edits the ChangeLog. Only 7 ChangeLogs are left after a make maintainer-clean (intl, po, and one toplevel ChangeLog). * Some directories were missing the removal of Makefile.in when make maintainer-clean is run. Only 3 Makefile.in files remain now after make maintainer-clean (only in the intl directories). * Removed $Id$ tags from some of the Makefiles since we are no longer using CVS. * Removed some unnecessary ChangeLogs from ever being created (from example/gTAG gschem/scripts, and symbol/font). Note 1: There are still some machine generated files still hanging around, but I'm going to leave those alone for now as the .gitignore mechanism properly masks those. Note 2: Made sure that all files that are to be removed in the *CLEANFILES lists comes before the #*# otherwise they will be ignored. commit 1a3b04db4b811a853b9d2d7c5c57038f2146f919 Author: Ales Hvezda Date: Fri Aug 7 21:21:22 2009 -0400 Added a bunch of files that should be included in any distribution The only file which I might want to not distribute is update-version.sh, which technically is a developer/maintainer only file, but for now I'll include it. Also libgeda/docs/images isn't integrated into the build properly yet, so it will not be in the distribution for now. commit fc2b205314545d92ea2a7e8f40a7a4c7d5af893d Author: Peter TB Brett Date: Thu Aug 6 17:15:29 2009 +0100 Don't store git-generated ChangeLog files in repository. Don't store ChangeLog files in the git repository and have to remember to update them each time a release is made. Instead, get `make dist' to create the ChangeLogs for you if a git repository is detected. Note: make distcheck does not pass in this commit. commit 77d96e9154d9cfc81b25353ef99b8f8f42999bfb Author: Peter TB Brett Date: Thu Aug 6 14:35:12 2009 +0100 Add top-level NEWS file. This contains important user-visible changes. It should be kept up-to-date, in order to make writing release notes easier. commit 09fcc6d689defb8f43bfc27aac87ee4ac34ce66a Author: Peter TB Brett Date: Thu Aug 6 12:33:07 2009 +0100 Update top-level README file. Well, actually rewrite it entirely. Note: make distcheck does not pass in this commit. commit 433c672579aabb282999377139c9242b319ba044 Author: Peter TB Brett Date: Thu Aug 6 12:38:31 2009 +0100 Only need a single `AUTHORS' file. Move the gschem one to the toplevel (adding several missing names on the way), and remove most of the others. The `AUTHORS' files in the `symbols' and `utils' directories are retained, because they contain some useful information. Note: make distcheck does not pass in this commit. commit ed7134fd403b9f1dc0a75d50e4e7bcfb2fd95cb8 Author: Peter TB Brett Date: Thu Aug 6 11:19:57 2009 +0100 Only need one copy of GPLv2. Also, update to latest version of GPLv2 (from http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt). This corrects the FSF contact address, along with some minor formatting modernisations. Note: make distcheck does not pass in this commit. commit 75e35a9265199e310e4778773b0b3341659ff4a5 Author: Peter TB Brett Date: Thu Aug 6 21:15:37 2009 +0100 Add gschem to unified build system. N.b. gschemdoc is now created directly rather than by prepending config.sh. commit 03943792b7606534fba0fd4e158dc6ff8d6adb97 Author: Peter TB Brett Date: Fri Aug 7 23:21:36 2009 +0100 Start implementing unified build system. Restructuring of build system, including new m4 macros and helper programs. Note: only libgeda can be built from this commit. Important differences from previous versions: - The tarball is now called gEDA-.tar.gz. - Documentation is now installed to ${docdir} - A `version.h' file is generated containing the package version strings, including the git commit SHA-1 and the descriptive string from `git describe'. `version.h' is distributed in the source tarball so that gEDA can be built without git. commit e55e9e247eb33c4a5be56687b4610c6649ef74d7 Author: Peter TB Brett Date: Tue Aug 4 22:06:16 2009 +0100 Remove existing build infrastructure. This simply strips out all configure, m4 and autogen scripts from the whole repository, including the toplevel Makefile. This commit does not compile (what a surprise)! commit 8cb318276281c1eacb9dc5246ed5b338839a55d8 Author: Krzysztof Kościuszkiewicz Date: Mon Jul 20 18:42:28 2009 +0100 gschem: Add name completion to attribute edit dialog commit 82c4e182c71d8a4fb9584b059a2f3215f6438cfe Author: Peter TB Brett Date: Mon Jul 20 18:12:25 2009 +0100 Reduce stderr spew. It's not necessary to spew massive amounts of output to stderr on startup. It's ugly and not legally necessary. This patch modifies the tools only to spew a GPL header to stderr when entering gnetlist's interactive mode -- and to be nice and quiet the rest of the time. commit d66220b8d3085c7ab55bac419b125d9287c0520d Author: Peter TB Brett Date: Sun Jul 5 17:36:57 2009 +0100 Ignore yet more unnecessary m4 files installed by autopoint. commit 64cdf2bd7250e97749a308e19916c1d65c9a2c95 Author: Peter TB Brett Date: Thu Jun 18 18:09:56 2009 +0100 Use a static configure.ac and constant gettext version. commit ad38ef86300b9eae33e241333863201b7b28b688 Author: Peter Clifton Date: Mon Jun 22 23:46:17 2009 +0100 Fix o_line_visible() to work when object clipping is switched off() We need to transfer the line's coordinates to the return locations before returning TRUE. commit b166d053e62c01b3b6413e0c6df275a432ba9792 Author: Peter Clifton Date: Mon Jun 22 11:34:25 2009 +0100 Add new functions o_set_color() and o_glist_set_color() Replaces the inaccurately named o_complex_set_color() and o_complex_set_color_single(). Also replaces o_attrib_set_color(), which was static to libgeda/src/o_attrib.c commit edf9fad0a84807199acba250e8ec6461fafd89cf Author: Peter Clifton Date: Mon Jun 22 11:33:11 2009 +0100 Fix breakage in last commit. OBJECT->complex_parent is now OBJECT->parent commit 2dc3c8dad90b4b02a962929edf2b6ce5b75939aa Author: Peter Clifton Date: Mon Jun 22 10:53:23 2009 +0100 Remove OBJECT->saved_color field Rather than resetting the color of selected objects, we instead add a helper function, o_drawing_color(), which decides at drawing time what color an OBJECT should be drawn. o_drawing_color() checks if there are any color overrides in effect, and whether the OBJECT (or its parent, in the case of TEXT or COMPLEX prim_objs) is selected. Remove now unused functions: o_complex_set_color_save (); o_complex_unset_color (); o_complex_unset_color_single (); o_complex_set_saved_color_only (); commit 5f52ce5d7f4be7ee1eb2246b896135d01fb320c0 Author: Peter Clifton Date: Mon Jun 22 10:50:36 2009 +0100 Rename OBJECT->complex_parent field to OBJECT->parent We might wish to track the ownership of text prim_objs as well as complex, so calling this field complex_parent is confusing. commit a13db9af93154fe25d39abe52a82fa369bdfc62b Author: Peter TB Brett Date: Thu Jun 18 18:23:51 2009 +0100 Don't delete project-specific m4 files. commit 9f6ddf9126a312fb0fdd25ba8da3c4f9944b78a8 Author: Peter TB Brett Date: Thu Jun 18 09:38:51 2009 +0100 gschem: Don't use intltool. commit d0fdb127e16c46f85ceddca00bff1103ac075b68 Author: Peter TB Brett Date: Wed Jun 17 15:24:26 2009 +0100 Pass correct search path flags to aclocal. The autotools install several m4 files into the top-level m4 directories in each project. aclocal (and automake) need to be taught to look there before searching the system directories. commit 33715a1a58c7c13f45772eba02ef463c3a422c7e Author: Dan McMahill Date: Mon Jun 15 07:27:37 2009 -0400 Add missing src/gschem_accel_label.c Added a missing file that contains translations to POTFILE.in. Helps 'make check' be happy again. commit 67aeb9b999d29080118a7af899ad1de362ccd2b8 Author: Peter Clifton Date: Mon Jun 8 23:31:22 2009 +0100 Fix autogen.sh scripts to look for AC_CONFIG_HEADER to run autoheader Since commit #9a7c363c572d32a30fa1522cd7d14b21c2958ca8, the configure scripts in gEDA use AC_CONFIG_HEADER, not AM_CONFIG_HEADER Fixes build problems noted by various users. Identified by Dan McMahill. commit 65ab1fad22f6879f1a296ee5382f633870613c78 Author: Peter TB Brett Date: Mon Jun 8 11:09:56 2009 +0100 Remove support for GLib < 2.12.0. Requiring GLib 2.12.0 means that we no longer require *any* of the existing GLIB_CHECK_VERSION ifdef blocks. commit 61f488315da15d0be48acbe65ee9c1bf69c60e03 Author: Peter TB Brett Date: Mon Jun 8 10:57:32 2009 +0100 Require GLib 2.12.0 or newer. We now require GTK+ 2.10.0, and since that requires GLib 2.12.0, we can bump the GLib version we require up to match. Thanks to Peter Clifton for spotting this. commit 9a7c363c572d32a30fa1522cd7d14b21c2958ca8 Author: Peter TB Brett Date: Mon Jun 8 10:48:25 2009 +0100 Use AC_CONFIG_HEADER instead of AM_CONFIG_HEADER. This fixes an issue with config.h.in not being correctly regenerated with autoheader on changes to configure.ac. Thanks to Maciej Pijanka for working out the solution to this problem! commit 209e55a6a0ab33478cea41c154be64d7ec0620ea Author: Peter TB Brett Date: Sun Jun 7 19:34:30 2009 +0100 Require GTK+ 2.10 or newer. commit d5e06e6ee657f80d1cb8d82884122ac958e9d3a4 Author: Peter TB Brett Date: Sun Jun 7 19:34:30 2009 +0100 Remove Guile 1.6 support. commit b4862c3c120c8144f47393333e2e6bec2f302bc7 Author: Peter TB Brett Date: Sun Jun 7 19:34:29 2009 +0100 Require Guile 1.8.0 or newer. Guile 1.8 became the stable branch of Guile on 2006-02-12, over three *years* ago. All major distributions ship it, including Debian stable. Expecting its availability makes testing of new Scheme-based features much easier, as most gEDA developers normally write and test code against 1.8. Furthermore, it allows better advantage to be taken of 1.8-only features (such as improvements in debugging support), without requiring vast swathes of hard-to-maintain preprocessor trickery. commit 2e559b0607c5d007dbaa5ef8bc1858a18dec7b39 Author: Peter Clifton Date: Sun Jun 7 16:41:25 2009 +0100 gschem: Fixup menu names in i_basic.c to match those in system-gschemrc Since the sensitivity updates are keyed off the menu text, we need to update the strings after changing the text in commit #501f6d99dc6cb7ba207138b52d1e86371b924bfe commit 501f6d99dc6cb7ba207138b52d1e86371b924bfe Author: Peter Clifton Date: Sun Jun 7 15:44:44 2009 +0100 gschem: Add "_" style accelerators within menus Copying accelerators for other common applications, such as "_Open", "_New" etc. This aids keyboard navigation once we are in the menus (which have a key-grab, so gschem's multi-key accelerators don't work.) To set the accelerator on "Open Recen_t", we also have to edit x_menu.c, since the recent files magic is hooked on the menu text (including the accelerator). We also remove the explicit override of the label text in x_menus.c, since we want to show the accelerator. commit 34eed8e6b473e15590116d12c76db580fa41b789 Author: Peter Clifton Date: Sun Jun 7 15:44:39 2009 +0100 gschem: Assign shortcuts "vd" and "vl" for changing between color schemes NB: "vl" was previously an alias for zoom extents. commit fb7ad07015ae8c55d3885c32afb0a1744f8d83c2 Author: Peter Clifton Date: Sun Jun 7 15:42:51 2009 +0100 gschem: Reorder / rename some menu items to better match other programs commit c7ed765efa438a9028799cf16cd1b6318c5fc4ec Author: Peter Clifton Date: Sun Jun 7 15:30:10 2009 +0100 gschem: Add stock icons to menus as appropriate Using stock GTK icons as appropriate to help increase the usability of gschem's menus. commit 8adc9d6195c13f6e898d8f9cef6341681a119f46 Author: Peter Clifton Date: Sun Jun 7 15:30:01 2009 +0100 gschem: Specify menus have no bound actions with #f, rather than no-action commit 8ca990145aee1532c0cde02d329ceba13a1b9b86 Author: Peter Clifton Date: Sun Jun 7 15:29:57 2009 +0100 Add GschemAction and GschemAccelLabel subclasses of their Gtk equivalents These subclass are intended to encapsulate information relating to gschem's multi-key shortcuts. Their code is based on GTK 2.14.5 (LGPL). For GschemAccelLabel, we have to subclass GtkAccelLabel rather than just GtkLabel, otherwise the menu doesn't correctly pad the accelerators into their own column. To set the accel_width, we have to go poking in a private part of the GtkAccelLabel widget. The relevant field has been protected with GSEAL, so this will not work in GTK3.0, or when compiled with GSEAL active. commit 4aa6cd61c253046806a5818bd6fd8be87296d634 Author: Peter Clifton Date: Sun Jun 7 01:41:46 2009 +0100 Pass the OBJECT having its attribs removed to o_attrib_detach_all() This function only worked correctly when passed an OBJECT.attribs GList, so it makes more sense to just pass the OBJECT whos attributes should be detached. The function can then set the OBEJCT.attribs to NULL, ensuring the OBJECT stays in a consistent state. commit a9d64bf7db382ed3c6ac2b89e0434af80bc1e19c Author: Peter Clifton Date: Sun Jun 7 01:40:11 2009 +0100 Add TOPLEVEL parameter to some libgeda APIs For consistency with other libgeda functions, and in order to allow these functions to call others which require the toplevel parameter. commit 047a3ecad3fe1bcd98c6eb209134772cd894fe6c Author: Peter Clifton Date: Sun Jun 7 01:40:10 2009 +0100 Remove o_attrib_search_numslots(), instead call the attribute API directly commit d3bd67e8ccb5ed47f17603392f480f220380daa5 Author: Peter Clifton Date: Sat Jun 6 12:15:12 2009 +0100 gschem: Deselect invisible attribs with their parent object (Bug #2430369) Previously, when a component was selected and you deselected it with a ctrl-click or ctrl-drag, the invisible attributes attached to the component remained selected. This has caused problems for users in the past, when trying to delete everything in a given area - except for a few components in the middle. Drag selecting the area, deselecting the desired components, then deleting would also delete the (still selected) invisible attributes belonging to the deselected components. To fix this, make sure that when we remove an object from the selection list, we also remove any invisible attributes. When invisible text is being shown, there is no need to do this, since the user can manually de-select these attributes. (And they may want the finer grained control afforded by the ability to do so). commit c006ec0603fd570ec6c10386f3a3d19f9cbd525d Author: Peter Clifton Date: Sat Jun 6 11:19:56 2009 +0100 gschem: Focus the "save" button in the close confirmation dialog For safety, "Close without saving" should not be the default action. Looking at other GTK (and GNOME) applications, the default action used seems to be "Save" (this is what the user will probably want to choose). commit 9686b31bc86c7e57a26bad0c65e21b97ed713e5b Author: Peter Clifton Date: Sat Jun 6 10:38:58 2009 +0100 Make o_attrib_get_name_value() take an attrib OBJECT, not char * Rename the old function as exported API o_attrib_string_get_name_value(), so existing code (such as validating potential attribute strings) can still work unaltered. The new o_attrib_get_name_value() wraps o_attrib_string_get_name_value(). commit 7e0e339dc47211254ff5e968fa402f4735ef41fa Author: Peter Clifton Date: Sat Jun 6 01:47:57 2009 +0100 gschem,libgeda: Tidy up invocation of the slot dialog Avoid presenting the whole "slot=..." attribute text in the slot dialog, since the user only needs to see the value portion. We now use o_attrib_search_object_attribs_by_name() to retrieve the current slot for a component when bringing up the dialog. This means that if there is no slot= attribute attached, the default slot= value (if any) from the symbol will be returned automatically, and we don't need an explicit call to o_attrib_search_default_slot(). Remove the now unused function o_attrib_search_default_slot(). commit aa7b65e3a1cc59eadf247ed0fe74afeaeb7c5fe3 Author: Peter Clifton Date: Sat Jun 6 01:47:43 2009 +0100 Make use of the new API o_attrib_search_attached_attribs_by_name() commit 04a22009e68284327bdb57bf7c31e5788b0bfc67 Author: Peter Clifton Date: Sat Jun 6 01:44:19 2009 +0100 Make use of new API o_attrib_search_inherited_attribs_by_name() Replaces the less specific API, o_attrib_search_name() previously used to search for floating attributes inside complex objects. commit 33b113b078e9647d7304b4c2caa04da1dd367e4f Author: Peter Clifton Date: Sat Jun 6 01:34:53 2009 +0100 Use o_attrib_search_object_attribs_by_name() where appropriate commit f505ad65da209bd8d7e766d495466b904643e9b7 Author: Peter Clifton Date: Sat Jun 6 01:29:14 2009 +0100 Remove o_complex_get_toplevel_attribs() in favour of newer attrib API o_attrib_find_floating_attribs() is functionally identical. commit 02fde480e0d58300d9e7ee1cf0357fb96d14adbb Author: Peter Clifton Date: Sat Jun 6 01:09:16 2009 +0100 Add inherited attributes to the list returned by o_attrib_return_attribs() This starts to allow a common place where attributes from the symbol will be combined with attached attributes to form an aggregate attribute list. Currently, various pieces of code which deal with reading attributes will check the attached attributes of a symbol, then the inherited attributes explicitly. For cases where a simple combining rule exists, we can reduce such checks to a single lookup of the aggregate list. Atttributes such as "net=" and "source=" which often exist multiple times, possibly both as inherited and attahched attributes, present difficulties though. For now, just pile all inherited attributes at the end of the returned list. This means any code which wants to check for the first attribtue with a given name should do the "right thing", with attached attributes taking presidence over inherited ones. commit 3d8c6f9e7e5be0728d43b6fba0d366a92a0cdf40 Author: Peter Clifton Date: Sun May 31 14:30:15 2009 +0100 gschem: Add support for viewing inherited attributes in x_multiattrib.c Inherited attributes (those from inside the symbol itself) are not editable, and are shown greyed out. The context popup menu for an inherited attribute shows a single option, "promote", which will make an attached (and editable) copy of that attribute in the schematic. commit ff9e5a377265e1960359bb290a159e1db5b6f59a Author: Peter Clifton Date: Sun May 31 14:30:10 2009 +0100 Make g_make_attrib_smob_list() use o_attrib_return_attribs() Get the list of attributes from a common place, so if we want to make that list based on aggregation of attached and inherited attributes in the future, we won't have so many places to change. commit 57362274fcbe133d9fa545b761fc104310325d0f Author: Peter Clifton Date: Sun May 31 14:30:08 2009 +0100 Make o_attrib_return_attribs() return a GList, not an array This fits better with our GList centric view of list data. Also validate the attributes in o_attrib_return_attribs(), so we aren't passing potentially malformed attributes to our callers. commit 1cd106ae2c1cb9162d88ab0af69a48e2fe62d8eb Author: Peter Clifton Date: Sat May 30 22:31:46 2009 +0100 gschem: Add "fixme" warning about the text search hierarchy traversal The search only descends into the first source schematic, so will not work correctly for hierarchy blocks with multiple source schematics. commit 7a7b553b395a78a9d53b64cc50d1077342999a75 Author: Peter Clifton Date: Sat May 30 18:45:38 2009 +0100 Remove unused "return_found" argument to o_attrib_search_numslots() commit 963ac330d97e843f6ec4580b64d9b36c51807783 Author: Peter Clifton Date: Sat May 30 18:34:17 2009 +0100 Rename o_attrib_free_all() to o_attrib_detach_all() This name better reflects the function's action. Add some notes to the doxygen comments about this function. Specifically, it must be called with some (OBJECT *)->attribs pointer, since the attributes which are detached would otherwise not be removed from the (OBJECT *)->attribs GList. commit 39ef03ab5490e7187d251109137ed0c9a1263ecc Author: Peter Clifton Date: Sat May 30 18:33:50 2009 +0100 gschem: Tidy up function o_attrib_add_selected commit 1937476f6a6d68d41ab8e59940c843be7746a207 Author: Peter Clifton Date: Sat May 30 18:33:36 2009 +0100 gschem: Remove obsolete comment from o_attrib.c commit 124db2417dbfc6a44c8d1d01213c4c3e7609d93e Author: Dan McMahill Date: Fri May 29 21:58:01 2009 -0400 Use $(includedir) instead of $(prefix)/include and $(libdir) instead of $(prefix)/lib. This makes sure things still work when some of the less mainstream configure arguments are used. commit ab590ab70cddfe6a0954d56a31c0ebd1f0bc7691 Author: Ales Hvezda Date: Sat Mar 28 15:55:19 2009 -0400 Updated ChangeLogs one more time for 1.5.2 commit 7ac576ba0560998415b32151389d0ab3334de652 Author: Ales Hvezda Date: Sat Mar 28 15:48:02 2009 -0400 Added missing \ so that all example schematics are incluced in release tarballs commit 546d4dbe0124d3f9421116b9e5a8889cccf97b84 Author: Ales Hvezda Date: Sat Mar 28 15:22:19 2009 -0400 Updated all ChangeLogs Updated the ChangeLogs by running: ./update-changelogs.sh 1.0-20070526..master in the toplevel directory commit 21e8c0b232e08927fd091a1d46413990b4c61358 Author: Ales Hvezda Date: Sat Mar 28 15:18:34 2009 -0400 Updated all dates in the relavent man pages (for 1.5.2.20090328) commit 859abe69912ba99ca27bb58c378284e9eec56259 Author: Ales Hvezda Date: Sat Mar 28 15:13:59 2009 -0400 Updated all versions to 1.5.2 20090328 36:0:0 Updated by running: ./update-versions.sh 1.5.2 20090328 36:0:0 commit b297d32b70c02bfe800b7bf4c434d1fd4447e2f5 Author: Ales Hvezda Date: Sat Mar 28 14:55:22 2009 -0400 Updated all po files by running make update-po commit 03fa830460f97518b3fdba0dd96f5932c9885281 Author: Peter TB Brett Date: Thu Mar 19 10:15:19 2009 +0000 gschem: Fix documentation creation from tarballs. gschem's doxygen configuration file was not marked for inclusion in release tarballs. commit 77a59c3af731937f5952bbb61a6faccd97a07f38 Author: Peter Clifton Date: Fri Feb 20 23:32:41 2009 +0000 gschem: Update the clipboard menu item sensitivities asynchronously Spawning a sub-main loop to do this can cause reentrancy problems due to processing of other X events from within the sub-main loop. This could end up with states changing whilst updating menus, and this has been noted to cause crashes whilst moving objects. commit c3081930ed224394f645de4bfb51e86fa3e15e65 Author: Peter Clifton Date: Fri Feb 20 23:26:12 2009 +0000 Remove obsolete references to libgd and libgdgeda commit 357db04ba91ad4047abf12f5fd7bf61db849a718 Author: Peter Clifton Date: Thu Feb 5 03:54:18 2009 +0000 gschem: Avoid the use of gtk_selection_data_get_data on old GTK versions This API was added in GTK 2.14 commit 43af79264390283ac861cb4a9bab3d27c0436eda Author: Peter Clifton Date: Fri Jan 30 16:52:05 2009 +0000 gschem: Fix cues on vertical pins to be drawn inwards, not extend the pin Bug was probably introduced when switching the drawing functions to use world coordinates. commit 20be2df71df169f041cafeb7ad0c26e96901fefe Author: Peter Clifton Date: Wed Jan 28 21:20:48 2009 +0000 gschem: Draw paths being moved in the their non-selected colours commit 904ce8cf81d555debc439ed122322663e74988bf Author: Peter Clifton Date: Tue Jan 27 15:34:58 2009 +0000 gschem: Rework how clipboards are cleaned up. Detach selection monitoring callback when deletting a window. The callback userdata passes the GSCHEM_TOPLEVEL we're busy freeing, causing a crash. We also need to ensure the clipboard manager (if any) takes our data before we free things, so explicitly call gtk_clipboard_store() during cleanup if we still own the selection. Add some code to track when we own the selection, including explicitly clearing the clipboard before setting new contents - to avoid a race between a clip_clear callback for our old selection, and the new data. commit a6522190a5102d3b7c7a10726e667ac9d6ea6c3f Author: Peter Clifton Date: Tue Jan 27 15:34:58 2009 +0000 gschem: Don't add objects read from the cliboard to the tile system Prevents corruption / crashes when pasting connectable objects, such as nets / pins. The objects are added to the tile system when they are placed. (Avoid adding them when reading into the temporary buffer). commit 6fcb0765a9bf487003d21214454d474606d807f8 Author: Peter TB Brett Date: Sun Jan 25 15:25:19 2009 +0000 Update menu item sensitivity setting again. One was left out in b1f93c9c02c3adf719b8b63e1d09669cfd0a201f. commit b1f93c9c02c3adf719b8b63e1d09669cfd0a201f Author: Peter TB Brett Date: Sat Jan 24 17:30:58 2009 +0000 gschem: Update menus for clipboard support. Make 'Edit' menu items' enabled status reflect the state of the clipboard & selection. commit 6a07d737a32a816f43e1f061409a10e616d7aa2a Author: Peter TB Brett Date: Sat Jan 24 16:11:39 2009 +0000 Enable basic clipboard support. Enable clipboard support using the GTK Clipboard API. gschem advertises 'application/x-geda-schematic' data, and transfers it in the gEDA on-disc file format. This works between gschem instances, but data does not remain in the clipboard after the advertising instance of gschem exits. commit 246acd46e591e542ac3f00f9064905ae0311b0ec Author: Peter TB Brett Date: Sat Jan 24 16:08:43 2009 +0000 Make o_save(), o_read() and friends take an object list argument. Sometimes we may want to save or read in a list of objects which isn't the current page. This adds a new function o_save_curr_page() which behaves the same as o_save() previously did. commit 17077786f635102715f3d6c225d6f16396e531f6 Author: Peter TB Brett Date: Sat Jan 24 16:07:48 2009 +0000 git ignore gschem/m4 differently. This reverts commit 89b918657378a457197630602d7bb016caf36a3e, and ignores the gschem/m4 directory from gschem's toplevel .gitignore file. commit 89b918657378a457197630602d7bb016caf36a3e Author: Peter TB Brett Date: Sat Jan 24 16:00:23 2009 +0000 Add a .gitignore for gschem/m4. commit 81b2df2f166fde454c2f93d193e11cd69453d308 Author: Peter TB Brett Date: Sat Jan 24 00:12:52 2009 +0000 gschem: Remove redundant buffer cut code. Part of the buffer cut/copy code can be factored out into a separate function to reduce code duplication. Also use g_warning for warnings. commit 0ff9e9ac91823074f6240e1e762a1cca84b49d05 Author: Peter TB Brett Date: Thu Jan 22 08:09:29 2009 +0000 gschem: Always register load_newer_backup_func. Cases were missed out in 4d83eae30b789deb8ab9235a89c191630ebf18be. commit 4d83eae30b789deb8ab9235a89c191630ebf18be Author: Peter TB Brett Date: Wed Jan 21 21:17:01 2009 +0000 libgeda: Refactor load backup query callback. Passing user data allows the gschem callback to be called with a GSCHEM_TOPLEVEL instead of a TOPLEVEL. commit 253caac857e22ba28ba7ce05b36f95a5f78bd683 Author: Peter TB Brett Date: Wed Jan 21 21:16:43 2009 +0000 gschem: Better checks that GEDADATA has been found. If libgeda fails to locate the gEDA data directory, show a dialog before quitting. This is important for users running gschem from e.g. a .desktop file in their system menu, when the stderr/stdout may not be easy to get at. commit 3c0d85eae92d5764aa7dee2899c6a066c3470ee3 Author: Peter TB Brett Date: Wed Jan 21 14:11:39 2009 +0000 Write logs to $HOME/.gEDA/logs/. Rewrite s_log_init() to put log files in a centralised location. A user application (e.g. gnetlist) provides a prefix, and log file is opened at: $HOME/.gEDA/logs/--.log [1] The serial is found by the following procedure: 1. Read through the directory to find the highest existing . 2. Starting with that number, repeatedly attempt to open() incrementing files with O_CREAT|O_EXCL flags to guarantee that a new file is created. 3. If after LOG_OPEN_ATTEMPTS = 5 attempts a unique filename hasn't been found, fail. The logic *intentionally* does not fill in gaps in the sequence -- if I delete logs, I still want a new log to appear at the end of the list. [1] The actual location is a subdirectory "logs" of the user config directory, which may not be ~/.gEDA on all platforms. commit 7cc4a67795c9ee8dcb28edc6d71b895c5b4f1dc9 Author: Peter TB Brett Date: Wed Jan 21 14:10:41 2009 +0000 Refactor finding paths for config etc. This is intended to provide a centralised place for determining the paths more "smartly" in the future (e.g. for platforms with different conventions on where config should go). Only user-visible change should be that log messages when loading config files no longer hardcode "~/.gEDA". commit 48103eca0ded6fd42a2e3abe48c0cdcdc381f902 Author: Peter TB Brett Date: Wed Jan 21 13:45:56 2009 +0000 gschem: Open recent files in the same window. All of the other methods of opening files open them in the current window. The recent files mechanism should match. commit f4af51afc5af2059cfb9389cea25589d6a1ba8eb Author: Peter TB Brett Date: Wed Jan 21 09:39:22 2009 +0000 gschem: Recent files list fixes. 1. List a maximum of 10 recent files. 2. Normalize pathnames before storing. commit 5a31a49d4d1635a1f3a8f82dc68fa8e78ebc0f44 Author: Peter TB Brett Date: Tue Jan 20 15:32:06 2009 +0000 gschem: Change load path for gschem-gtkrc. Expect the GTK rc file for gschem to be read from $HOME/.gEDA/gschem-gtkrc instead of $HOME/.gschem-gtkrc. commit fda82eb96e2c785efe91fd59d01f6e7e26b897ed Author: Peter TB Brett Date: Sun Jan 18 01:48:58 2009 +0000 Protect some strings passed to pkgconfig. Ensure that pkgconfig version requirement strings are protected from M4 expansion. commit ee250c9bd2e88bf352a03d1719603b7d54fe430c Author: Peter Clifton Date: Tue Jan 13 23:58:30 2009 +0000 Avoid underlinking of apps due to missing explicit depends These went unnoticed because the apps were resolving the necessary symbols when pulling in libgeda and its dependencies. Fix applications using GLib and guile within the suite to explicitly pull in the appropriate CFLAGS and LIBS. This commit removes some LDFLAGS and LIBS from grenum, since they weren't being used. commit c05d63f61ffc08bb130bca8f14e4c429240938d1 Author: Peter Clifton Date: Sun Jan 11 00:36:24 2009 +0000 gschem: Make requirement for cairo non-conditional. We can't build without it. commit e452c5097edd72942ef02a82996dfab5651ceab3 Author: Peter Clifton Date: Sat Jan 10 23:50:57 2009 +0000 gschem: Fix rubberbanding box when resizing pictures Its position was broken when changing the drawing routines to take world coordinates directly. commit 02fa8f658d315796df7c6ab8790e5310e8548d37 Author: Peter Clifton Date: Sat Jan 10 22:29:21 2009 +0000 Remove explicit checks for X11 - we're not using X11 APIs directly commit ef5ab409dc62994ce6aea57586c0698c11291bac Author: Ales Hvezda Date: Tue Jan 6 18:16:31 2009 -0500 Darkened the outline colors of objects that are being dragged/modified The outline colors should be different than the default colors. Previously the XOR rendering made the outlines look differently, but with cairo rendering the dragged objects look exactly the same as non-dragged objects. This patch darkens the outline colors in the dark colormap only. commit e84330457016f1bfb3db1cd6c8a6980a72a6e90c Author: Werner Hoch Date: Mon Jan 5 20:52:47 2009 +0100 gschem: final fix for the dropdown menus of filltype and linetype Set the current active check marks of the filltype and linetype dropdown menu items. I guesss this was the true meaning of the bug reports [2344956] and [2344964]. commit 2a73a64f42e7e3613d5265e5ec38593ea232d418 Author: Werner Hoch Date: Mon Jan 5 19:44:47 2009 +0100 gschem: show correct properties in linetype dialog The linetype dialog uses the selection list now. With the new functions selection_get_line_type() and line_type_dialog_set_values() it will be possible to convert the dialog into a non_modal dialog. This fixes bug [#2344956]. commit 807f3d81883ce8075d41588f41e67ea19fd6bef3 Author: Peter Clifton Date: Mon Jan 5 16:57:38 2009 +0000 gschem: Calculate radius of centered arcs and boxes with 2x precision Since we may have to hint the radius by 0.5px to bring it onto the pixel grid, we will get better results if we compute the radius to half-pixel precision. Re-enable radius hinting for centered arcs back on, but only for arcs which have radius > 1px to start with. If we don't, there is an abrupt transition between when the arc lights a single pixel, and when it is the next largest size. A little anti-aliasing in that case helps. commit 8ca598852f51c04183ab872f35bcc156628bdf79 Author: Werner Hoch Date: Mon Jan 5 17:20:47 2009 +0100 gschem: fill type dialog: improved default values If the user changes the fill type from HOLLOW to HATCHED and does not define the angle and pitch, then the gschem could either reject the change of the type, or guess the pitch values. I've decided that it is better to set the missing values. In the opposite case, when the user switches the type from HATCHED to HOLLOW, the pitch is still set. Reset the not required parameters to -1. Maybe the functionality should be moved to o_set_fill_type() in libgeda. commit 31e883e9666c7721c9a73995ff071cb628c241e6 Author: Werner Hoch Date: Mon Jan 5 16:08:38 2009 +0100 gschem: show correct properties in filltype dialog The filltype dialog uses the selection list now. With the new functions selection_get_fill_type() and fill_type_dialog_set_values() it will be possible to convert the dialog into a non_modal dialog. In the dialog only those values are marked as *unchanged* that differ from each other. This also fixes the bug [#2344964]. commit d48b0b36c5348abd52413de14afb6ab0958b260d Author: Werner Hoch Date: Mon Jan 5 11:31:56 2009 +0100 gschem: fixed the math for warp-cursor "disabled" This fixes the bug [2212748] and the feature request [2001299]. The fix calculates a new center out of the mouse cursor,the current visible area and the zoom factor. # Please enter the commit message for your changes. Lines starting commit d615982103652c0143eca430570bbfcfa0d206fe Author: Peter Clifton Date: Mon Jan 5 05:01:13 2009 +0000 gschem: Clamp minimum size to draw stoke dots using cairo, apply hinting (Rest!) Activate the code partially committed in the last commit, and add the remaining code to hint the position of dots in a stroke. Since cairo uses antialiased drawings, a dot of diameter 1px will actually render ligher than it would have with GDK. Once the line width reaches 1px switch back to drawing dots as squares. Also add hinting to the position of the drawn dots drawn along the stroke to ensure they land centered on pixels. commit 1626b1a02a6e55327ac7f2d00dd976aba57855d7 Author: Peter Clifton Date: Mon Jan 5 04:44:24 2009 +0000 gschem: Clamp minimum size to draw stoke dots using cairo, apply hinting Since cairo uses antialiased drawings, a dot of diameter 1px will actually render ligher than it would have with GDK. Once the line width reaches 1px switch back to drawing dots as squares. Also add hinting to the position of the drawn dots drawn along the stroke to ensure they land centered on pixels. commit 6079c8102f6ac41ce5bf2a61aef6d65e7bb9df4b Author: Peter Clifton Date: Mon Jan 5 04:23:24 2009 +0000 gschem: Make gschem_cairo_* functions take parameters in world coordinates. This changes the prototype of all gschem_cairo_* functions to take a GSCHEM_TOPLEVEL parameter rather than cairo_t as their first argument. This change cuts down a significant number of lines of code, and also paves the way to having world-coordinates passed straight into the cairo routines, should we want to use cairo for printing at some stage. A few cases of direct cairo usage in screen coordinates remain; these are in o_cue.c, and x_grid.c. The case in o_cue.c remains because it relates to a filled box. gschem_cairo_box () hints the path coordinates for a stroked box and clamps the minimum on-screen stroke width to 1px, thus rendering it unsuitable for hinting a path to be filled. commit 4a217cd1109b03f6d5f75f9fca46513d7679ddb6 Author: Peter Clifton Date: Mon Jan 5 03:36:25 2009 +0000 gschem: Add new primitves to draw a centered arc and box These primitives take care of hinting specifically to keep the drawn object looking centered, adjusting to take into account both the radius / extents of the object being drawn, and how the object we're trying to center on would have been hinted. Use these new primitives for drawing cues and grip boxes. commit 39d552cd16af51eaae793f3837bb1f77fac0723f Author: Peter Clifton Date: Mon Jan 5 03:36:24 2009 +0000 gschem: Use gschem_cairo_box() to create path for box cues. commit a57db7244d9789c4b92cbec61072497c031016ad Author: Peter Clifton Date: Mon Jan 5 00:59:13 2009 +0000 gschem_cairo_box(): Allow passing line_width as -1 to switch off hinting This may be useful for drawing a box path which is to be filled. If at some point, gschem_cairo_* were to take 0 line-width as instruction to draw "hardware" type lines, passing 0 to avoid hinting would clash with that feature. When the line_width is passed as -1, an extra pixel is added to the larger X and Y coordinates, so the fill touches the pixel which would be lit if a line was drawn at the passed coordinates. commit 1bd789ec463564710ab71c4bd7b7d01311237919 Author: Peter Clifton Date: Sun Jan 4 22:51:04 2009 +0000 gschem: Make o_grips_draw() take world coordinates commit 21ad139e3bc59d796a2a54f1cb35b71060848687 Author: Peter Clifton Date: Sun Jan 4 21:16:08 2009 +0000 gschem: Compute the bounding box of a rubberbanded path analytically For now, actualy just take a big bounding box which includes the control points. commit d9daf573f87edf46f2b74235db1e66bf669a2986 Author: Peter Clifton Date: Sun Jan 4 20:06:36 2009 +0000 gschem: Refactor partially duplicated drawing code in various files. For each object type, there is drawing code for the normal object on the page, an object being placed, and objects being rubberbanded. In many cases (arc, circle and path being good examples), each of these functions repeat non-trivial amounts of very similar setup and drawing code. Only the line-width, stroke style need to be specific to each. Refactor the code such that the place and rubberbanding routines (which adjust the rendered geometry based on state variables) construct a temporary object with the modified geometry. Common parts of the cairo setup and path generation can be combined and shared between routines. commit 95432ccffdbb39434981f87050433c00f40125da Author: Peter Clifton Date: Sun Jan 4 19:38:11 2009 +0000 gschem: Revert change in cue size "fixed" when introducing bus pins. The old behaviour was intentional.. smaller cues were in fact supposed to be used for buses, so that the dot was contained inside the bus graphic. Rename the variables defining the sizes to be clear about their purpose. commit 5702951f92bb0c693f030c07ef61f0c5986fb5dd Author: Peter Clifton Date: Sun Jan 4 19:03:06 2009 +0000 gschem: Adjust position hinting when drawing round junction cues Apply hinting to the cue's position to match the position of the object it is sitting on. This is done by passing the on-screen width (pixels) of a net / bus into gschem_cairo_arc(). If the line-width is odd, that function will shift the origin of the arc by 0.5px. Refactor the places where we draw circular arcs to use a single helper function in o_cue.c commit a50629e77c16758e44d857a929abe98437ab4583 Author: Peter Clifton Date: Sun Jan 4 18:56:51 2009 +0000 gschem: Drawing circle radius line with a non translated cairo matrix. Hinting for drawing the circle may have caused us to translate a non- integer amount, which would cause the radius line to be shown blurred. commit 7a6b1a22fec9785f503c46d24406046feb04d87f Author: Peter Clifton Date: Sun Jan 4 18:43:26 2009 +0000 gschem: Fix rubberbanding of arcs with negative end_angles Such arcs are typically generated by mirroring. If the arc being rubberbanded previously had a negative sweep, keep that the case in the rubberbanded version. Also fixes a bug where we're rubberband to give a zero degree sweep arc rather than a 360 degree one. commit d6c486a1fac1abce71b8805285fef664e252af98 Author: Peter Clifton Date: Sun Jan 4 17:48:18 2009 +0000 gschem: Alter order of grip search when rubberbanding arcs If you inadvertently land the grip which adjusts the sweep of the arc on top of the one which sets its offset angle, it is impossible to do anything but rotate the whole arc segment. commit 30b150c00aa04b05dd6e85cd5f336f379b4def1b Author: Peter Clifton Date: Sat Jan 3 23:54:05 2009 +0000 gschem: Fix redrawing of other selected objects during rubberbanding Rather than switching off redrawing of selected objects during a grip rubberbanding operation, set the "dont_redraw" property of the object being modied. Add a cancel function o_grips_cancel() to reset that property in the case where grip modification is prematurely terminated. commit 2874ca6c016115363ab9edb7809d5ca66509ca14 Author: Peter Clifton Date: Sat Jan 3 19:54:04 2009 +0000 Move world <-> screen coordinate transformation functions into gschem Convert them and their callers to use a GSCHEM_TOPLEVEL as an arguemnt rather than TOPLEVEL. This commit moves most of libgeda/src/m_basic.c to a new file, gschem/src/m_basic.c commit 4d79aa73981d6caa2c803250d1be266d7657f0c2 Author: Peter Clifton Date: Sat Jan 3 19:54:03 2009 +0000 Move o_line_visible() from libgeda into gschem This function relates to on-screen visibility, so should be in gschem. commit e3cbd2a5505f6b284cbe12fdcf72acde6f6ef291 Author: Peter Clifton Date: Sat Jan 3 16:10:24 2009 +0000 gschem: Add undo point after converting pins to / from being bus pins Also fix the edit dialog not to show if the selection doesn't contain any pins. commit f37c893edfeb016e57aae5e92f48093608e5cdfb Author: Peter Clifton Date: Sat Jan 3 02:38:29 2009 +0000 gschem: Add interface to toggle a pin between net pin and bus pin types. This allows schematic diagrams of hierarchical connections to include buses. Since gnetlist does not currently support buses, this feature is useful only for diagrams, or when used with a custom netlister. Since we don't want to mislead users into thinking bus pins netlist, the option to set pin type is only present on the page's popup menu, and is marked "(graphical)". commit 998e8546754fe2ab41a57ce112c3966190c501df Author: Peter Clifton Date: Fri Jan 2 23:14:52 2009 +0000 gschem: Add support for rendering and adding pins with type PIN_TYPE_BUS Bus pins are rendered thicker, and with a bigger cue than standard pins of PIN_TYPE_NET. This commit also fixes a bug where the wrong sized cue circle was drawn for net-net interconnections. commit 6249029131003dc6191f804ea2866e9bad28ed8c Author: Peter Clifton Date: Fri Jan 2 23:13:25 2009 +0000 gschem: Add strings to describe the mesh colour indices added recently. commit ac5d484934d355055328d48b2c16b8ed551ca912 Author: Werner Hoch Date: Fri Jan 2 22:14:14 2009 +0100 gschem: deploy the new resnap mode in o_move.c If the selection contains only one element or one element with it's attributes then we can use the resnap feature. This functionality uses the new functions from the last commits to get the object position and to check the attribute/object relation. commit 5844e01ce1eff3d756d3c77c7a6981316a098cd1 Author: Werner Hoch Date: Sun Nov 16 13:54:28 2008 +0100 gschem: use the new snap states to toggle The previous snap grid ON/OFF now toggles through the three states SNAP_OFF, SNAP_GRID and SNAP_RESNAP. Updated all status bar messages and added an "R" to the displayed grid if the SNAP_RESNAP mode is active. commit 8a1b27af48d06ffe4fa2dc71a67810f7b4a71e32 Author: Peter Clifton Date: Fri Jan 2 14:17:31 2009 +0000 Update en_GB translations for libgeda and gschem commit 3c456a61a4a4a551545558fd3189894bfc081e1c Author: Bert Timmerman Date: Fri Jan 2 14:13:30 2009 +0000 Updated the Dutch translations for gschem. (Patched PO file updated on 2009-01-02 by Peter Clifton) commit fef99d7912ebc1feb4890e5babff1772f6b20703 Author: Peter Clifton Date: Fri Jan 2 04:35:49 2009 +0000 gschem: Draw using cairo when rubberbanding objects Migrates to cairo drawing in *_draw_rubber() and *_draw_stretch(). commit 9784a9117e42632527601faef9a3ed937b718208 Author: Peter Clifton Date: Fri Jan 2 03:51:22 2009 +0000 gschem: Ensure circles are well hinted to the grid gschem's canvas can have a fractionally different X and Y scale factor in some cases, which can cause misalignment of circles with other objects. Since logic bubbles are often placed to touch the boxes of components, ensuring they align well is important. The code used here is similar to that added for arcs in commit 508ab0fd9a1e4317ee660bc9eba79fcb49329841 commit 88c2a580ef65de000a3e797301fd8b4f302fc2ff Author: Peter Clifton Date: Fri Jan 2 03:29:28 2009 +0000 gschem: Remove a redundant comment about gdk used for filling in o_circle.c commit 7e3eacb3fb9f96b1adf707b459f0d62dd2d5d276 Author: Ales Hvezda Date: Thu Jan 1 21:45:39 2009 -0500 Fixed pin place code to draw pins (thick pins were not being drawn at all) Trying to draw a pin (white line) with zero width doesn't draw anything. This commit makes sure that we are always drawing pins with a min width of 1 if the pin style is set to THICK. commit 6737adc47d1a2083ac432582b6b64d6aaf1b9632 Author: Peter Clifton Date: Fri Jan 2 00:30:06 2009 +0000 gschem: Only add extra pixel when drawing for non-capped lines. Adding it for square capped lines resulted in visible overshoot of one pixel when drawing nets with square caps, so was perhaps a mistake. commit 212b0cf870e05a105fc5a6c134b7803cf6c63c28 Author: Peter Clifton Date: Thu Jan 1 16:38:09 2009 +0000 gschem: Use cairo for drawing when in "place" mode. Converts all *_draw_place() functions to using cairo. commit 8ad9acc2c5ceda2b1e5f4e52461dd0f078f8122c Author: Peter Clifton Date: Thu Jan 1 16:36:31 2009 +0000 gschem: Remove old comment from o_box.c refering to gdk drawing commit 4c67ed93d72228e475513caaa1c5d7d593469316 Author: Peter Clifton Date: Thu Jan 1 16:27:40 2009 +0000 gschem: Remove old code for erasing a picture by drawing with override We don't erase objects by painting to the background colour any more, so this old code can be scrapped. Whilst we're here (and have re-intented a large portion of this function), tidy up the rest of it, removing old debugging code and fixing whitespace. commit 8eaa961a02b01133f6e96defcb9e13af60209ae9 Author: Peter Clifton Date: Thu Jan 1 15:12:24 2009 +0000 gschem: Add missing invalidate when changing to outline mode commit 0af3c1c6285de7431075131015234e6bda42f02d Author: Peter Clifton Date: Thu Jan 1 14:51:40 2009 +0000 gschem: Group fill hatching into a single cairo path before stroking This ought to improve performance. Since the hatch lines are drawn in parallel, the path doesn't self-intersect, and we can gain a speed increase by sending the whole operation in one go. (Self-intersection, e.g. in the case of a grid would slow cairo down computing the mask to render with). commit dba5ef64f4425d61bf43eef5ae69d863b740edbf Author: Peter Clifton Date: Thu Jan 1 14:07:22 2009 +0000 gschem: Adjust hinting of lines to include an extra overlapping pixel When drawing using GDK, a span of pixels being rendered in a line would light all pixels touched by the span. Since moving to cairo, our hinting code has rounded the line's end-points to land between pixels. (So cairo paints the whole pixel), however it means that there is one pixel less being painted (as both ends are adjusted in the same direction). Fix this with a manual addition of 1px as appropriate to the coordinates such that an extra pixel is hit for horizontal and vertical lines. This now means that a line drawn between two grid positions will acually be drawn on top of both of those grid lines, rather than being drawn on top of one, and just touching the other. Apply the offset factor (0 or 0.5px) to both X and Y coordinate pairs for non horizontal / vertical lines, since that gives better alignment with the grid. Apply the same hinting to round capped lines as to square capped. commit 508ab0fd9a1e4317ee660bc9eba79fcb49329841 Author: Peter Clifton Date: Thu Jan 1 13:56:25 2009 +0000 gschem: Attempt better hinted alignment when drawing arcs. gschem's canvas can have a fractionally different X and Y scale factor in some cases, which can cause misalignment of arcs drawn assuming the scale factors are uniform. This manifests because at high zoom levels, the center of an arc can be a large distance from the drawn stroke, over which distance the scaling errors magnify to give a visible offset. The other adjustment made here is rather than hinting the center of the arc to the pixel grid, we take the case where the arc forms a full circle, then find the center (in floating point screen coordinates) which would align the tangent of the arc at 0, 90, 180 and 270 degree positions, to lines hinted to the pixel grid at those positions. A 0.5px offset correction made in gschem_cairo_arc() to the arc center, for odd stroke width accounts for lining up the those tangents with the hinting which is applied to odd width lines in gschem_cairo_line(). commit ec83993b811eefd66d873f4c0f861f9cc6d9aebb Author: Peter Clifton Date: Thu Jan 1 13:51:03 2009 +0000 gschem: Remove retrival of unused bounds during drawing commit ac4c8346638aa2e789d93ca4d621a8522681b57e Author: Peter Clifton Date: Thu Jan 1 12:23:55 2009 +0000 gschem: Add example schematic with diagram of how gschem buffers work Since I already drew this and it was helpful when reworking the object place code, it seemed sensible to check it in somewhere. commit e375e0c2c655d2320962febfdfcbb29b9867f2d2 Author: Peter Clifton Date: Wed Dec 31 19:53:38 2008 +0000 gschem: Add cairo helper function for drawing arcs with geda semantics The angle parameters to gschem_cairo_arc() match those of start_angle and end_angle in libgeda's internal data-structures. commit 217d45c0cfb9e8a5a7ea074ae70369ea42932453 Author: Peter Clifton Date: Wed Dec 31 19:52:11 2008 +0000 gschem: Remove unused function o_path_draw_solid() commit d7b7b23721b4054172587c9961d4b87f47bee198 Author: Peter Clifton Date: Wed Dec 31 17:26:03 2008 +0000 libgeda: Remove non-private access of PAGE->object_list This allows us to keep better track of where the PAGE must be updated should we have any spatially keyed data-structures in the future. Rename PAGE->object_list PAGE->_object_list to try and discorage any use of it outside libgeda (ideally, outside s_page.c) in the future. commit ca6556ace0a06ec1dd697852f7a1f0ffb86bfb97 Author: Peter Clifton Date: Wed Dec 31 17:25:57 2008 +0000 Add "const" to some places where we deal with GLists of OBJECTs. These GLists themselves are not (and shouldn't be) modified, although the OBJECTs they point at may well be. commit 15ed098497ddac2bc671657c4d4347eb509f7449 Author: Peter Clifton Date: Wed Dec 31 17:25:50 2008 +0000 Refactor o_complex_promote_attribs() not to link the promoted objects. By returning the GList of promoted attributes, we allow the caller to use whatever specialised linking procedures are appropriate for the list they are linking to. For example, linking objects into the PAGE's object_list might in future require calling notification functions. commit 44fba5a262c283f927f08f51966c74d62dca7988 Author: Peter Clifton Date: Wed Dec 31 17:24:30 2008 +0000 gschem: Mark "Preview buffer" string passed to o_read_buffer as translatable. commit b6377b27c45305b641eac03e697353e9ecfdcd23 Author: Peter Clifton Date: Wed Dec 31 17:16:29 2008 +0000 gschem: Emit notify signal when adjusting a property in the preview widget. For correctness, kill the latent bug where we fail to emit a "notify" signal on the other preview widget properties modified whilst setting the source to preview from. commit de01318825c08f8d62c2266b16f7e826c7d3a196 Author: Peter Clifton Date: Wed Dec 31 17:16:25 2008 +0000 gschem: Ensure we don't allow the preview to load from file _and_ a buffer When setting either the "filename", or "buffer" property on the preview window, we g_free() the old values for filename and buffer. We missed the required assignment of the old value back to NULL. The code isn't strictly correct though, as when changing a property internally like this, we should really emit a "notify" signal on the property we've changed using g_object_notify(). commit 2324874f08009f431d174865d305f04736adc4eb Author: Peter Clifton Date: Mon Dec 29 00:09:37 2008 +0000 gschem: Change _rubber, _place and _stretch drawing routines to not XOR Since we're using the invalidate/expose model now, there is no need that these functions must use XOR drawing to the screen. Just painting the desired image should be faster than XOR (which may require a read-back of video ram contents). Also remove the XOR against the background colour when processing "outline" colours in x_colour_allocate(). (Since we're no longer using those colours with XOR operations). commit a29573b885273459bbf24ff68ae508d345f1037f Author: Peter Clifton Date: Sat Dec 27 15:32:16 2008 +0000 gschem: Change direct redraws to invalidates in the move action. These were missed when changing to the invalidate / expose model. commit d89549022d3ff8fc3e3605fb20186cc4600eef87 Author: Peter Clifton Date: Sat Dec 27 15:44:18 2008 +0000 gschem: Remove unused device context "bus_gc" commit 935ca0a8a6329c018d85c8b91f6a0d8deadeafba Author: Peter Clifton Date: Sat Dec 27 15:43:38 2008 +0000 gschem: Move code in o_move_stretch_rubberband() into o_move_draw_rubber() o_move_draw_rubber() was the only caller, and was deferring almost all of its work to o_move_stretch_rubberband(). commit 957c90a8ff286e6eba4f960cbbcf8ac05d24faf3 Author: Peter Clifton Date: Sat Dec 27 14:52:49 2008 +0000 gschem: Rename o_path_xor_control_lines() to draw_control_lines() Since we're using the invalidate/expose model now, there is no need that these functions must use XOR drawing to the screen. The function is static, so doesn't need the o_path_ prefix, so rename it to something simpler. commit e167a181f295b33ffd4771f93b779023eeae948b Author: Peter Clifton Date: Sat Dec 27 14:26:14 2008 +0000 gschem: Rename o_*_draw_xor_single() o_*_draw_stretch() Since we're using the invalidate/expose model now, there is no need that these functions must use XOR drawing to the screen. These routines are used to draw lines being stretched during a rubberbanded move operation, so name them something relevant. commit d061b8dd35db031e43f179e700d991f63c6d2eac Author: Peter Clifton Date: Sat Dec 27 14:26:14 2008 +0000 gschem: Rename o_*_draw_xor() functions to o_*_draw_place() Since we're using the invalidate/expose model now, there is no need that these functions must use XOR drawing to the screen. These routines are just used to draw objects being moved or placed, so lets call them something relevant to that. commit 0840e3d74e6289083516190e973a1c05228c6145 Author: Peter Clifton Date: Sat Dec 27 14:26:13 2008 +0000 gschem: Rename *_rubber*_xor() functions to *_draw_rubber() Since we're using the invalidate/expose model now, there is no need that these functions must use XOR drawing to the screen. commit 21cc888f59fb005d7c6b7f88fde7dec187fd5db8 Author: Peter Clifton Date: Sat Dec 27 11:46:53 2008 +0000 gschem: Ok, make the mesh grid darker again Apparently on some monitors, there wasn't enough contrast between the grid lines and the background. commit 8c07fecee9fb59fc65f24b75f03b3765f032fec6 Author: Peter Clifton Date: Sat Dec 27 11:40:13 2008 +0000 gschem: Improve clarity of text rendering by turning its origin mark off The origin mark is now only drawn when text is selected, and the mark its self is greater than a certain size on screen. This allows us to retain the mark's utility in checking text is correctly aligned. commit 6b4ffb9c7c7b635c52e018347866287a85a6ace0 Author: Peter Clifton Date: Sat Dec 27 11:40:13 2008 +0000 gschem: Use a lighter colour for major grid lines in the mesh grid. This makes the major squares less obtrusive on the page, whilst still retaining a visible distinction to the minor lines. commit a887176190cf5a0bea019b5cdc150611edb7a603 Author: Peter Clifton Date: Fri Dec 26 21:54:08 2008 +0000 gschem: Add actions to view menu to switch to light or dark colour scheme For now, these menu entries are hard-coded to the colour scheme files which we ship. It would be nice in the future (when menus are reworked), to add these options from a registered list of colour schemes. commit 5031f6846f2ae9ec703bcdcd689ab4e0d87373c8 Author: Peter Clifton Date: Fri Dec 26 21:53:45 2008 +0000 gschem: Fix x_color_free() and make it free the whole colour map The previous code would have caused breakage if it were executed, since gdk_colormap_free_colors expects to take a pointer to an array of GdkColor elements. commit 94f3f4f753e255538d1376ab9a9b334d53f0be60 Author: Peter Clifton Date: Fri Dec 26 21:53:45 2008 +0000 gschem: Move handling of the gdk colour map into x_color.c commit 714580df3fee12732d5e1180722f008a47aaf973 Author: Peter Clifton Date: Fri Dec 26 21:53:42 2008 +0000 gschem: Don't define key-bindings for keys which have no-action If we do this, then when we set "no-action" to a menu item's key binding, the code will try to display one of the keys associated with "no-action" as a binding for that menu item. commit 826676196547f44c7923e4103a0789c1e1be63ca Author: Peter Clifton Date: Fri Dec 26 21:42:55 2008 +0000 gschem: Remove a few unused variables from x_menus.c Removed some an debugging printf as well, which printed them. commit c43c40260ec072e2ad31a3b42b9d5437bea2a529 Author: Peter Clifton Date: Fri Dec 26 19:24:01 2008 +0000 gschem: Use cairo rendering for the mesh grid Since we're grouping the stroking of all horizonal lines into a single command, and all vertical lines into another, this has the potential to be drawn quicker by the X11 server. NB: If the horizontal and vertical lines were to be grouped together into a single path, a large slowdown in incurred as cairo computes their intersections. commit d7b18c4466a1183842d8dfeae47119cb71caa8d7 Author: Peter Clifton Date: Fri Dec 26 18:19:29 2008 +0000 gschem: Remove stupid debugging message accidentally added in last commit commit 331e1125d0847a3b9ff8bff6042fccce6befddd0 Author: Peter Clifton Date: Fri Dec 26 18:17:24 2008 +0000 gschem: Fix gschem_cairo_set_source_color to divide by 255, not 256. This not only gives a more correct colour, but fixes a large performance bottle-neck where an alpha value of 0xFF would lead to a cairo alpha != 1.0, triggering far slower translucent rendering code-paths. commit b6e8608d5642912ce10bf29119e5c86eb91634f7 Author: Peter Clifton Date: Fri Dec 26 00:36:49 2008 +0000 gschem: Add status bar info updates when altering grid / snap settings Changes mistakenly missed from index at last commit: commit 52df0d861e880e019c7aeea71f1ed448bbed47db Author: Peter Clifton Date: Fri Dec 26 00:18:13 2008 +0000 gschem: Move update of status bar information out of the grid drawing code. For now, and in the absence of any better place to hook, just trigger this update explicitly when we pan or alter the grid settings. The code removing the status bar update from the grid redraw functions was staged and committed, but not that which re-added the updates elsewhere. This commit adds those updates. commit 52df0d861e880e019c7aeea71f1ed448bbed47db Author: Peter Clifton Date: Fri Dec 26 00:18:13 2008 +0000 gschem: Move update of status bar information out of the grid drawing code. For now, and in the absence of any better place to hook, just trigger this update explicitly when we pan or alter the grid settings. commit 756dd7ecceed8dc23430a5c36462c36c4244fa46 Author: Peter Clifton Date: Thu Dec 25 23:57:57 2008 +0000 gschem: New helper function to query rendered grid spacing. The status bar contains an label which lists the current rendered grid spacing. We should not be forcing an update of this each time we repaint a portion of the grid. Introduce a helper function to ask the grid code what size it would end up drawing. This will then allow us to query the rendered grid size after zoom / grid settings changes, and update there. commit 60460d8990af99999da2a611721bdb591a4723f4 Author: Peter Clifton Date: Thu Dec 25 23:39:35 2008 +0000 gschem: Change default grid to GRID_MESH to give it more exposure. This may be reverted later in the 1.5.x development series, depending on user preferences. For now, it is important to get this more testing. commit 2dc8887523ffe603c76849a8ca3cdee055d200ce Author: Peter Clifton Date: Thu Dec 25 23:39:26 2008 +0000 gschem: Change grid on/off to cycle through grid modes commit f013cb1d70d868093ad9aa3ae1e38a5c9079ecc9 Author: Peter Clifton Date: Thu Dec 25 22:08:49 2008 +0000 gschem: Add a code to draw a mesh grid with major / minor lines. Adds new configuration option (mesh-grid-display-threshold {pixels}) which configures the minimum line pitch rendered before switching off the minor, then subsequently major grid lines. (NB: This grid mode is currently not accessible.) commit 059f1be046494e1d1171953138f259b0af90409b Author: Peter Clifton Date: Thu Dec 25 21:25:16 2008 +0000 gschem: Separate out dotted grid drawing and tidy up the code somewhat. Creates a separate static function for drawing the dotted style of grid, and a switch function to pick which grid drawing routine is in use, which is currently just dotted grids or nothing. Adds doxygen documentation for the grid drawing functions. Renames the "grid-color" colour map index and other dotted grid specific config parameters to prepend "dots-". commit e7d328775323dea2d82f9c22d431bf2740a90f97 Author: Peter Clifton Date: Thu Dec 25 20:37:37 2008 +0000 Remove i_vars.h variables left over when removing colour index variables. commit 165de888d86506583241dab79573e81f2cf44dd7 Author: Peter Clifton Date: Thu Dec 25 15:46:09 2008 +0000 Remove GSCHEM_TOPLEVEL and TOPLEVEL indirection for fixed colour indices Colour indices such as grid_colour and select_color are not changed at run-time since (by definition) those graphic elements are always drawn with the sepcified index. Remove the indirection through GSCHEM_TOPLEVEL or TOPLEVEL, and use the appropriate index constant instead. The background_color indirection remains, since swapping this is used to override the background to white when exporting black and white image. commit 1843d875be92a4935c3581a1f24e7a33f8f76042 Author: Peter Clifton Date: Thu Dec 25 15:36:58 2008 +0000 gschem: Invalidate region to erase damage due to stroke trails We don't erase things by painting to the background colour any more, that leaves drawing artifacts. commit 88118f5d62e1655d30c4680ac0f68a89fbc1a213 Author: Peter Clifton Date: Wed Dec 24 20:21:03 2008 +0000 gschem: Use new COLOR system commit c122c32cdd82419159786720b9c2cdd82b382a68 Author: Peter Clifton Date: Wed Dec 24 13:21:07 2008 +0000 Replace portions of the GDK drawing code with cairo routines. commit 95abdb28b1ededc4a57f13627bea544c8a7fe41b Author: Peter Clifton Date: Wed Dec 24 13:21:00 2008 +0000 Add a cairo context member, cairo_t *cr to GSCHEM_TOPLEVEL commit 95a097e95de6291ccf901f6849c7246e8e04090a Author: Peter Clifton Date: Wed Dec 24 00:42:40 2008 +0000 gschem: Fix the colour editing dialog to work with paths (Added missing case OBJ_PATH:) commit 0029ee5696a4f8c0fd2a0edb64c0096792e24912 Author: Peter Clifton Date: Tue Dec 23 03:46:50 2008 +0000 Fix attribute colours for embedded objects [#2157598] Add an argument, "set_color" to o_attrib_attach[_list]() to specify whether the colour of the attribute should be reset to the default attribute colour when performing the attachment. We set this to true when promoting toplevel unattached attributes inside a symbol onto the schematic page, when the user explicitly attaches an attribute inside gschem. It is FALSE in other cases. In cases where we're creating new attributes, such as o_slot_end(), we specify the attribute colour we want to o_text_new(). Remove colour setting from o_attrib_add(), since there is no point having this code in two places. o_attrib_add() just deals with the datastructures now. commit 51a19f38bdff7c3fa3f5656a0e9347b303a2c215 Author: Peter TB Brett Date: Mon Dec 22 21:57:39 2008 +0000 gschem: Add undo point when editing fill and line styles commit f583363e84d42001b0abb65bf828d013f120df63 Author: Peter TB Brett Date: Mon Dec 22 21:16:35 2008 +0000 gschem: Fix light background net color. Net color was incorrectly converted to #rrggbb. commit 9d2dea918ee72b474e11962adbd9ca6167162c14 Author: Peter Clifton Date: Mon Dec 22 21:02:48 2008 +0000 gschem: Fix PNG export broken by invalidate/expose drawing model changes We need to explicitly redraw the objects to form the image, we can't use o_invalidate_all() as that only works for drawing to the screen. commit c08a776a0a68a9bc89ca17089120db305fda6167 Author: Peter Clifton Date: Mon Dec 22 19:34:29 2008 +0000 gschem: Expose accessors to get the COLOUR for a given colour index. commit 56985b0d059fc0487f7b8245cad7b468e737f2fe Author: Peter Clifton Date: Mon Dec 22 19:33:18 2008 +0000 Change s_page_get_objects_in_region[s]() to take a TOPLEVEL parameter This is needed in case we have to re-calculate the bounds of any object. commit 1cb0094c404926fa28cdc1968041f14b4c1e4779 Author: Peter TB Brett Date: Mon Dec 22 17:59:03 2008 +0000 gschem: Extra sanity checking for color indices. commit 2e4ec93e8689501983a891280d8b1869901113c9 Author: Peter TB Brett Date: Mon Dec 22 16:38:38 2008 +0000 Revert "Use light background color maps as the default." This reverts commit 01bd6420ecad411d804f4a1a3d41af67d901ce6a, and corrects the comments to refer to the dark background as the default. commit 01bd6420ecad411d804f4a1a3d41af67d901ce6a Author: Peter TB Brett Date: Mon Dec 22 15:43:17 2008 +0000 Use light background color maps as the default. The comments in the rc files have stated for a while that a light background is the default. Furthermore, all the cool CAD software uses light backgrounds these days. commit 619aea627a81a5621036b0a2949e774bb5cb2e6e Author: Peter TB Brett Date: Mon Dec 22 15:42:46 2008 +0000 Separate display and print color map config files. We should be able to print in color using libgeda without needing gschem. commit 12d9e2127329a880ed8532808635d3ffdbf46caa Author: Peter TB Brett Date: Mon Dec 22 15:29:51 2008 +0000 Remove display colormaps from libgeda. Libgeda doesn't need to know about the color maps used by gschem at all. Add a generic function for initialising a color map to a built-in default, and get gschem to use it for its main and outline maps. commit 9f5e54f022b73adb429633461ca88c81c394fd16 Author: Peter TB Brett Date: Mon Dec 22 15:29:51 2008 +0000 Remove (ab)use of "customary" colors. colors.h defines a number of color index index constants with color names (white, black, cyan, etc.) This is evil and bad, because the color map might actually be loaded with entirely different colors. This also adds a DEFAULT_COLOR macro, usable in most places the "evil" existing contacts are used. commit a8b55895fd6833fa36ef92c6bc7c82490ea3a294 Author: Peter TB Brett Date: Mon Dec 22 15:29:50 2008 +0000 Remove legacy color Guile functions and variables. Remove the color-mapping functions and variables obsoleted by the new system. commit 06449db86b91db91bf5d4551acc2794cf34c97f1 Author: Peter TB Brett Date: Mon Dec 22 15:29:47 2008 +0000 New Scheme colormap syntax. Add new color map functions for setting multiple colors at a time with a simple list-based structure. Use one per color map rather than one per color. Use a wrapper macro in Scheme to make it easier to construct Scheme color map structures by using symbols instead of indexes to specify map entries. commit af4756b843d6da32b8355a50bf3bb1f2bee0a539 Author: Peter TB Brett Date: Mon Dec 22 15:20:17 2008 +0000 Store colors as components rather than as strings. Rather than storing colors in libgeda as strings or GdkColor structures, store them as a set of four 8-bit unsigned integers. Since the GdkColor structure is renderer-specific, remove all trace of it from libgeda -- only gschem needs to know about it. commit 05c77c57cc78b0963e52a91e6f56e8005089690a Author: Peter TB Brett Date: Mon Dec 22 15:20:14 2008 +0000 Specify colors with RGB/RGBA hexadecimal notation only. Transparency (alpha channel) is used as follows for PostScript: if alpha is non-zero, objects are drawn fully opaque. If alpha is zero, objects are not drawn. The alpha channel is ignored for GDK drawing. commit e2d6f2bfb1c24d5dfaf193dfae4aaa7cf4d0f236 Author: Peter TB Brett Date: Mon Dec 22 00:36:27 2008 +0000 Add explicit 'enabled' field to COLOR structure. Colors are implicitly 'enabled' by having values specified in the configuration file. Up until now, whether a given color is enabled has been checked by checking if the color name strings are NULL. This patch adds an explicit 'enabled' field to the COLOR structure. It is set TRUE when s_color_request() is called for that color index. commit 3c49636e1a9e9e703fab4c6aafc69affb4fd2bab Author: Ales Hvezda Date: Sun Dec 21 16:23:26 2008 -0500 Updated ChangeLogs one more time. commit e97e63ac7955c34f6fbd820cbdea9ea9b90e9ec9 Author: Carlos Nieves Onega Date: Sun Dec 21 22:16:33 2008 +0100 Updated spanish translation for libgeda and gschem. commit 2f3e07a1fa7fd92ab163d2cd966efd98ab306512 Author: Ales Hvezda Date: Sun Dec 21 14:40:21 2008 -0500 Updated ChangeLogs again in prep for the 1.5.1 release commit 413d46d3cbe4c21d3ec3f3e2b99d7f250f0d5ef4 Author: Ales Hvezda Date: Sun Dec 21 14:34:25 2008 -0500 Removed m4 from being distributed when building tarballs (using make distcheck) This makes gschem and libgeda's distribution of m4 the same (not distributed) commit 76d02f7f935d930d8093bd49b7eb0836d3b1aa6e Author: Ales Hvezda Date: Sun Dec 21 14:06:17 2008 -0500 Updated all ChangeLogs in prep for the 1.5.1 release. The update was done by running: ./update-changelogs.sh 1.0-20070526..master commit 84d3b0199bec40652b1381474f7f76d7b24a6ff7 Author: Ales Hvezda Date: Sun Dec 21 13:48:42 2008 -0500 Manually ran make update-po in all the po directories This is in prep for the upcomging 1.5.1 release. commit 680e08085d44c9876bdadef0ca7ef25b474c2006 Author: Ales Hvezda Date: Sun Dec 21 13:39:29 2008 -0500 Updated all versions to 1.5.1 20081221 35:0:0 Updated by running: ./update-versions.sh 1.5.1 20081221 35:0:0 commit 4f9f4336a123f91318ec2d1ffd8e9739eb756348 Author: Ales Hvezda Date: Sun Dec 21 13:10:23 2008 -0500 Updated dates and versions in all man pages commit 2c1c7ff82e5ba02c432eb9e1e9fe44ac97e5ecc7 Author: Ales Hvezda Date: Sun Dec 21 11:24:43 2008 -0500 Added libintl.rc to .gitignore to make git status less cluttered commit 7289597377b3a0efd00c29b5da08956b25dffafc Author: Werner Hoch Date: Sun Dec 21 12:32:57 2008 +0100 gschem/libgeda: updated german translation commit 9e9b1ab60ff8740f4039471efaa5435193d83c14 Author: Ales Hvezda Date: Sat Dec 20 18:12:46 2008 -0500 Manually ran make update-po in all the po directories make update-po was run in prep for an upcoming release. It will probably have to be run one more time before the final release is done. commit ba3af993a28bf244f9fae7a216827c94cacf2c3c Author: Peter Clifton Date: Sat Dec 20 22:07:44 2008 +0000 gschem: Refactor duplicated code in o_find_object() Also add documentation for this and our new helper function. commit d0df24b4e4346327275c4e17cbeff63afeb0df4f Author: Peter Clifton Date: Sat Dec 20 22:07:44 2008 +0000 gschem: Fix breakage in multiple-object hit select-cycling This was broken when switching to OBJECT GLists. We need to start our first search for objects _after_ the one we selected last time, otherwise we just find the same object again and again. commit e51ce946141363fa796a8744d5600bbe3436b925 Author: Peter Clifton Date: Sat Dec 20 19:10:18 2008 +0000 gschem: Remove visible() checks from drawing functions The expose handler, via o_redraw_rects() only calls drawing functions for objects which need repainting. No need for them to re-check visibility. commit 6329c5a7bdae9573f01f92403e4645e79e66aab5 Author: Peter TB Brett Date: Sat Dec 20 14:41:05 2008 +0000 Update copyright header dates to 2008. (And I'll have to do this all again in a few days time). commit 0fe820aa442bba02d164832ce771932f2189d231 Author: Peter Clifton Date: Sat Dec 20 08:25:12 2008 +0000 gschem: Make rubberbanding operations use the invalidate / expose model Introduce a new function for each rubberbanding operation, o_*_invaldate_rubber() which invalidates an on-screen area matching the area where the rubberbanding operation would paint. The actual drawing happens from the expose handler, which already had appropriate code to ensure any damaged rubberband objects were re-painted during an expose event. commit 883bb3377a83623fe47792aabe8023c556de25f3 Author: Peter Clifton Date: Sat Dec 20 08:25:10 2008 +0000 gschem: Remove the dummy o_cue_invalidate*() functions Actually invalidate the objects which would have had their cues redrawn using o_invalidate() and o_invalidate_glist() instead. We're probably invalidating more than we need to in some cases, since just invalidating a single object will be enough to update any cues it is touching. We don't really need to invalidate its connected objects as well. commit b64b7ce3970d819173e20578e9adf91b19179068 Author: Peter Clifton Date: Sat Dec 20 08:25:09 2008 +0000 gschem: Replace o_cue_erase_single() by o_cue_invalidate() We don't want to be drawing anything onto the screen outside of the expose handler. o_cue_invalidate() is actually a NOP, since we actually invalidate enough around a given object to encompass redrawing of its cues. commit 0a9650f1c5877d68c792f4c37bc0d47132425c49 Author: Peter Clifton Date: Sat Dec 20 08:25:07 2008 +0000 gschem: Move invalidate call from o_move_check_endpoint to o_move_start This invalidate ensure rubberbanded objects are removed from their old position on screen. It is more suited to living in o_move_start() than a function supposed to find objects to rubberband. commit 978a127bf1f7174fd5146371d0cbbfc6a8f2baf8 Author: Peter Clifton Date: Sat Dec 20 08:25:06 2008 +0000 Avoid and remove OBJECT variable draw_grips We can infer the required logic from OBJECT->selected, and the resulting code is cleaner. commit c9b89c259334c0f310afcc1dc3fb2b752078caad Author: Peter Clifton Date: Sat Dec 20 08:25:04 2008 +0000 Don't ever erase grips, we invalidate things to get rid of them. Delete now unused function o_erase_grips(), along with the object specific routines o_*_erase_grips() commit 111e9e78fded24189f58e420b291ba444323ac25 Author: Peter Clifton Date: Sat Dec 20 08:25:03 2008 +0000 Remove now unused functions o_{draw,erase}_list() and o_erase_single() commit 20b87f17855b3a0cd09b1865d661de8e039ae903 Author: Peter Clifton Date: Sat Dec 20 08:25:01 2008 +0000 Changed caller of o_{erase,draw}_selected() to use o_invalidate_glist() Remove the now unused functions o_{erase,draw}_selected(). commit 4287b770933148477d613c97f7b0d60bd9236603 Author: Peter Clifton Date: Sat Dec 20 08:11:03 2008 +0000 gschem: Change redraw and erase calls to invalidate calls In the new drawing model, "invalidate" calls actually specify which primitives or areas of the screen need redrawing. The redraw code called from the expose event handler then draws objects directly onto the screen. Remove the now unused function o_redraw_all() commit 1deba1aba224cd2e87a34148949edaaeec630ed0 Author: Peter Clifton Date: Sat Dec 20 08:10:47 2008 +0000 gschem: Change object specific redraw calls to o_redraw_single() Makes switching redraw calls to invalidate calls more formulic. commit c7c5a24102474d6d9c607c4592736c8f93fe090b Author: Peter Clifton Date: Sat Dec 20 08:10:43 2008 +0000 gschem: Add size of grip (or cue) to invalidate and redraw regions. Adding to the invalidated region cures screen artifacts left due to the bounds of an object not including the area occupied by its rubberbanding grips. Adding to the coordinates used with s_page_objects_in_region() ensures that grips / cues from adjacent objects are drawn correctly when repainting a damaged region from the expose handler. This is a bit of a hack and could be better catered for by invalidating the grip regions separately from an object specific invalidate function. s_page_objects_in_region() would also have to return objects with grips or cues touching the passed region. commit 68f782583cc41b542dc237cb9173f64ffc01ce76 Author: Peter Clifton Date: Sat Dec 20 08:09:57 2008 +0000 gschem: Just redraw everything when we get an expose event Disable generation of our backing pixmap and remove o_invalidate_rect() calls from various drawing functions. The backingstore is straight to the screen, so there is no need to make that call (it causes a redraw loop). commit c914c30f8bbb72e5d0df635947055e642b972f0b Author: Peter Clifton Date: Sat Dec 20 08:00:36 2008 +0000 gschem: Move o_drawbounding into its only caller, o_place_rubberplace_xor commit 87682d35b4238c7db9bbc3583a7db8313bb8577f Author: Peter Clifton Date: Sat Dec 20 07:33:15 2008 +0000 gschem: Fix crash closing window from window-manager during move action Since the move action uses the place list for drawing, and the objects are still on the page, we must be careful to cancel the move action, otherwise when the window is closed, we try to double-free the objects which are both on the page, and in the place list. commit 4afbecd9128f87980e47221b439d7292395c20bd Author: Peter Clifton Date: Sat Dec 20 07:31:19 2008 +0000 gschem: Avoid critical assersion being triggered when cancelling move We need to set inside_action to 0 before calling o_undo_callback(), since that then calls o_redraw_all(). We don't want that redraw to think we're still inside an action and attept to draw the (now empty) place list. For good measure, place that call after we've cleared out the stretch list as well. commit 43644681ba1486a5dec10fcfcdad36432ecc071c Author: Peter Clifton Date: Sat Dec 20 06:36:58 2008 +0000 gschem: Add function o_grips_rubbergrip_xor() to repaint XOR objects This function will be useful to recreate the on-screen state during an expose event when using an invalidate / expose drawing model. commit 94602fdc724dd31527c3ceed2092ddeee1d954e0 Author: Edward Hennessy Date: Sat Dec 20 04:42:25 2008 +0000 Symbols now selectable by clicking inside their shapes. This patch changes the selection behavior by allowing symbols to be selected by clicking inside any contained shape. This behavior works for symbols with boxes, circles, and paths. Patch modified by Peter Clifton: Added m_line_shortest_distance(), (m_line.c) and make use of that in m_polygon_shortest_distance() rather than faking a line OBJECT. Change all o_*_shortest_distance() functions to take a parameter "force_solid" so we avoid having to use a specialised dispatch function to treat constituent primitive objects inside a COMPLEX as solid. commit 3d8b3efb5a4ce8672133658ccdbe5c57d341f0fc Author: Peter Clifton Date: Sat Dec 20 03:17:31 2008 +0000 gschem: Check for self-connecting COMPLEX before deleting. Fix #1912859 Remove any references to objects inside the COMPLEX being deleted when we build the list of objects to redraw on screen following the COMPLEX's deletion. This fixes a crash observed when deleting symbols with co-incident pins. commit c69785fe267e2cdc70e2748dfab7268fbdcc3e7e Author: Peter Clifton Date: Sat Dec 20 01:08:08 2008 +0000 o_move_end_rubberband(): Rework creating connectivity lists. Fix #2017356 We were previously making a lists of pre- and post-move connected objects incrementally as we moved each individual object being stretched. In some cases this meant that as we moved one object, we artifically changed the connectivity of future ones to be moved, making the resulting connectivity lists inaccurate. In some examples, the objects being stretched themselves appeared in the lists. We want to avoid this, since if we delete a stretched object when it reaches zero length, we don't want that object to be referenced in the list of connected objects. Since we don't want to do more work than necessary re-drawing affected objects on screen, it is generally desirable to keep the lists as accurate as possible. To avoid the problem with incremental updates, build the connectivity lists before and after the entire move operation for stretched objects. This alone doesn't fix the case where a stretched object being deleted happens to touch another to start with. We have to check when deleting an object for its presence in the prev_conn_objects list. We check and remove _all_ references to the deleted object from that list. Thanks go to Patrick Bernaud for the test-case for this very tricky to reproduce bug, and an initial patch. commit fe8640898cb843b72e1c3cc01ee52c33db736ccf Author: Peter Clifton Date: Sat Dec 20 01:07:17 2008 +0000 gschem: Remove stretched object from stretch list if we delete it When a stretched object becomes zero length when rubberbanding, we delete it. We must also remember to delete it from the stretch list, otherwise it will be referenced later, and could cause a crash. NB: This isn't the whole story.. the before / after connectivity lists can still reference the deleted object and cause a crash. commit ba14128c0710a12665b07c29e74c00c55993b3d1 Author: Peter Clifton Date: Sat Dec 20 01:05:11 2008 +0000 gschem: Further tidying in o_move_end_rubberband() Changes a switch statement with only one active code-path into an if (...) { ... } clause. Should be no functional changes. commit 20e4ffcd895f344b8124ca16990f04e9570140c0 Author: Peter Clifton Date: Fri Dec 19 23:49:36 2008 +0000 gschem: Tidy function o_move_end_rubberband() This function is still buggy when objects are deleted as part of the rubberbanding operation, but for now, tidy up the existing code. No functional changes. commit 4abd473222827786c2480fa128464c7ff45448ea Author: Peter Clifton Date: Fri Dec 19 23:25:48 2008 +0000 gschem: Rename "other_objects" to "prev_conn_objects" for clarity commit 6e8f757d3aa23219bb0259064dbed5ffa64fb341 Author: Peter Clifton Date: Fri Dec 19 00:59:52 2008 +0000 Remove next/prev linking from the STRETCH structure. Use GLists instead. The PAGE now maintains a GList of STRETCH objects instead. This keeps the code a lot simpler and allows us to use more standard GList functions. commit da649f4066f8ce35a1717a1d0a298fe82817a8b5 Author: Peter Clifton Date: Thu Dec 18 18:17:48 2008 +0000 gschem: Make key press / release events update modifier states If a sensitive action is taking place when a modifier key changes state, fetch the current mouse pointer and call the action's motion handler. This allows us to see instant on-screen changes when (say) pressing the modifier key to switch magnetic net mode off, or between orthogonal / non-orthogonal constraints mode when copying or moving objects. Preivously motion was needed after pressing the modifier key to get an on-screen update. commit 1d16923d30f2348184675df66e5b67e893d3c519 Author: Peter Clifton Date: Wed Dec 17 14:43:20 2008 +0000 gschem: Use o_{erase,redraw}_single() not o_{erase,draw}_selected() x_dialog.c: arc_angle_dialog_response() used the selection specific routines where it could have just used the pointer to the OBJECT. commit 1d7d0b9f7f0cc38a79b7e392756dcb359b61bdbb Author: Ales Hvezda Date: Tue Dec 16 21:37:20 2008 -0500 Increased the select-slack-pixels value to be much larger This makes it a lot easier to select objects, especially now that you have to click on the object itself instead of the object's bounding box. commit 822d04bc29291979b91dd3222a27bbcb295e7b56 Author: Peter Clifton Date: Mon Dec 15 22:50:24 2008 +0000 Delete references to the non-existent object type OBJ_HEAD. (CODE!) Ok, cleaned up some whitespace as well.. couldn't resist. commit a6df3915ee452f175650c86f0074169ad6756c02 Author: Peter Clifton Date: Mon Dec 15 00:46:17 2008 +0000 gschem: Rename o_*_rubber*() o_*_motion() This is consistent with the naming of the equivalent function for grip manipulation. These functions are called from the motion event handler, and the new names make that clearer. commit 29ae53c1010c0afaa719fa2234ac0563368f05fe Author: Peter Clifton Date: Sun Dec 14 14:50:14 2008 +0000 Roll the various o_grips_motion_*() routines into o_grips_motion() commit ec14a2d9b48696417e3122793a71170b833de9c2 Author: Peter Clifton Date: Sun Dec 14 03:50:24 2008 +0000 gschem: Remove un-needed GSCHEM_TOPLEVEL flag "inside_redraw" A check of where this was tested revealed that the code-paths where a test was present should not be hit from inside a redraw operation. commit 2a768bee990afdb7e73a7f9c01aa0be372fd59ea Author: Peter Clifton Date: Sat Dec 13 22:06:25 2008 +0000 gschem: Don't re-invent the drawing routines in o_net_end() Use o_redraw_single() in o_net_ned() rather than replicating parts of the net drawing code. commit 1a8e62cded4076f9711f86e50b1749972bc01b87 Author: Peter Clifton Date: Sat Dec 13 21:27:01 2008 +0000 gschem: Empty "misc" callbacks Remove apparently left over debugging code commit a8ae46996fe78d138e83a99744e7ade0036399bc Author: Peter Clifton Date: Fri Dec 12 21:01:45 2008 +0000 Rename GSCHEM_TOPLEVEL member "backingstore" to "drawable" commit 7b663063f659aac854f844bda40160f697f7c3ef Author: Peter Clifton Date: Fri Dec 12 19:03:52 2008 +0000 Use (rubber_visible == 0) to avoid "undrawing" invisible objects. For some operations, such as text and component placement, there is a gap between inserting components into the place buffer (at 0,0) and knowing where to draw them. This is presently handled with separate one-shot states used to special case the first mouse event recieved. These states are transitioned from as soon as the first drawing operation has been made. If we track the fact that no "undrawing" should take place, it's otherwise OK to use the same motion event handler for the first and subsequent motions. commit 3d5fce8f9e6a1172a285dd4a49943f2b05712ca4 Author: Peter Clifton Date: Fri Dec 12 16:43:13 2008 +0000 Avoid crash observed when trying to undo whilst moving. Move uses the place list, and it leaves the objects in the place list on the page. Calling undo free's the page structure, including place list objects, AND page objects. Double-free / corruption -> crash. TODO: Fix move code NOT to use the place list, OR, use more intelligence about cancelling from move operations. commit c24af025cba433db83db48d4b614632b2d5a517c Author: Peter Clifton Date: Fri Dec 12 16:08:43 2008 +0000 Replace calls to s_conn_return_complex_others() with s_conn_return_others() Teach s_conn_return_others() to understand COMPLEX objects. commit 7f4ec05b6812bf412ad23da67b82c9378c57aa0c Author: Peter Clifton Date: Fri Dec 12 15:28:07 2008 +0000 Replace calls to s_conn_..._complex with a non-specialised version Renamed s_conn_remove() to s_conn_remove_object() s_conn_..._object() can then call s_conn_..._complex() as needed. commit eca34fca24e6d29a1b42c95daee0602c452fecd6 Author: Peter Clifton Date: Thu Dec 11 22:26:56 2008 +0000 Revert "Remove unused "toplevel" argument to s_conn_* functions" This reverts commit b211658fcddb84828c437a65bf6bd73fcc4b1918. commit 28e12a770b23ffbe08c994cbd98d21a581b2cd2d Author: Peter Clifton Date: Thu Dec 11 21:44:24 2008 +0000 Add API s_page_delete_objects() to delete all OBJECTs on a page commit 921a39edd130ed3bbfe83d9c39c3a9085c405d9a Author: Peter Clifton Date: Thu Dec 11 21:21:03 2008 +0000 Remove function o_delete(), which just wraps o_delete_object() commit b211658fcddb84828c437a65bf6bd73fcc4b1918 Author: Peter Clifton Date: Thu Dec 11 20:40:15 2008 +0000 Remove unused "toplevel" argument to s_conn_* functions commit ee0eaa9c885db7022b9cb5ef4ddf50b459fd92fc Author: Peter Clifton Date: Thu Dec 11 14:49:40 2008 +0000 gattrib: Bump GTK and GLIB version requirements to match gschem (2.8.x) Also remove a remaining 2.4 comment from the gschem configure.ac.in commit 38ce8aae73beec00d603e4cda0ca5eee738a3cb8 Author: Peter Clifton Date: Tue Dec 9 19:23:22 2008 +0000 libgeda: Abstract removing objects from the page with s_page_remove () commit 617797b5a47d370c4fee19110c826502b7e3082b Author: Peter Clifton Date: Tue Dec 9 16:19:09 2008 +0000 Remove linkage between OBJECTs and use GList for OBJECTs on the page This affords quite a lot of code clean-up, since we no longer have to maintain two versions of each operation which works on lists. commit de9c919b925ff989c3f26914e666d2e38062bfe1 Author: Peter Clifton Date: Tue Dec 9 16:02:00 2008 +0000 gschem: Fix memory undo not to update tile system commit 9dd241d9f87ad78f27772e9490d3afa2a80621bf Author: Peter Clifton Date: Tue Dec 9 01:38:21 2008 +0000 libgeda: Add convenience function for adding objects to the page Adds s_page_append() which links the passed object to the end of the page's object list. commit 54d2fd7dc6bf09dad1d9657c5cd3635bb31e14b7 Author: Peter Clifton Date: Mon Dec 8 18:57:11 2008 +0000 gschem: Use libgeda's hatching routines for drawing hatched boxes. commit 3b8bbb1f0e4f549ad2e366e36365e59f7657622e Author: Peter Clifton Date: Mon Dec 8 18:43:56 2008 +0000 gschem: Use libgeda's hatching routines for drawing hatched circles. commit 2f5b7e9d890953680caa4fa111c31a0be4123d97 Author: Peter Clifton Date: Mon Dec 8 17:16:20 2008 +0000 Adjust MINGW32 specific CFLAGS from the suite Console applications should not build with the -mwindows flag, otherwise output reach the console. Conversely, we should build the GUI apps, gschem and gattrib with -mwindows so they don't bring up a console window when running. commit 939998b8b4f6742814910a043778962f4654d5a9 Author: Peter Clifton Date: Mon Dec 8 17:15:20 2008 +0000 Use solid painting, no XOR to draw path control lines when erasing. When the override_color is set, we are likely to be erasing the control lines inside o_erase_single(). To avoid leaving artifacts, don't use the XOR drawing context in this case. commit d8f1aa4780edaee8b4552a7fd942126a07464b6d Author: Peter Clifton Date: Mon Dec 8 16:44:53 2008 +0000 Add support for drawing curved paths with GDK commit c01757cd814e7c92cb4c64a6e134aa670b9750d1 Author: Peter Clifton Date: Mon Dec 8 16:29:11 2008 +0000 Add rendering code to draw hatched fill in paths commit 0545db388236ea7a7aaa49d8911ad96481b4978e Author: Peter Clifton Date: Sun Dec 7 17:33:46 2008 +0000 Remove some old comments better explained in commit history Comments annotated with a dates and developers initials clutter the code with historical details people may be reluctant to remove. Not all of these are still relevant, and those which are should probably could be kept in such a way as not to suggest code ownership. The commit revision log is a better place for determining authorship. Fix some whitespace in surrounding areas where I couldn't resist. commit 3f607ec3eefd9477d277747be089ac94e5afbd57 Author: Peter Clifton Date: Mon Nov 24 01:35:02 2008 +0000 Use g_get_home_dir() if we can't find the HOME environment variable. NB: We can't just use g_get_home_dir() on its own without changing semantics. g_get_home_dir() prefers the home directory specified in the passwd file, over $HOME, so we try looking for the HOME env. variable first. BUT: some places in gEDA do just call g_get_home_dir() directly. Ideally we should tidy these up to be consistent at some point. commit cc1d5ae1489b4534ae485cdea4df0815663dcb1d Author: Peter Clifton Date: Sun Nov 23 17:30:37 2008 +0000 gschem: Update EXTRA_DIST list in gschem/tests/Makefile.am Remove reference to deleted schematic ext_chars.sch, and added new schematics net_selection.sch and geda_fonts.sch Reformatted list to one element per line, so future diffs will be easier to view. commit d2ab7cfcc4dd21e06a3d2e9ac6d756b7968c0b7a Author: Dan McMahill Date: Tue Nov 18 22:33:45 2008 -0500 Use the SHELL variable to locate a shell for icon-theme-installer /bin/sh on some systems like SunOS (solaris) is too broken but in those cases SHELL is typically set to a functioning shell like /bin/ksh. This repairs the install on "shell challenged" systems. commit 70bf7f8e7470d9962af920553b2e858db0d95938 Author: Werner Hoch Date: Mon Nov 17 20:23:26 2008 +0100 gschem: fix select state when double clicking an object After the o_edit() call in x_event_button_pressed() the state is STARTSELECT. If a MODAL dialog is called (arc or change picture) the state will will still be STARTSELECT after closing the dialog. This state turns into the MOVE state right after the dialog is closed and the first motion is done in gschem (x_event_motion()). This is not correct. The state needs to be reset to SELECT right after the o_edit() call. commit 9b2b755a4cc07a5de15ea88794e78612b0d2ca00 Author: Werner Hoch Date: Sun Nov 16 17:35:46 2008 +0100 created a new test file for all font characters commit 8ba14774f506f7b2143f0caf74ae3eba42504930 Author: Bernd Jendrissek Date: Sat Nov 15 12:41:09 2008 +0100 Invert assertion added in bbe251bc64ed2db2976a26116d22a69fe678b9fd. commit 27fc407b656e2996e31922be1352eea21de85422 Author: Werner Hoch Date: Sun Nov 9 18:21:09 2008 +0100 updated text and alignment test schematic Added all kinds of overbar and tabulator tests. Use multiline text for all alignment tests. commit 75f53b0b7a1a2859a604b70dfecc6a439b8b57da Author: Werner Hoch Date: Wed Oct 29 22:37:13 2008 +0100 gschem: replaced fnameext* functions with glib functions Removed the functions fnameext_get, fnameext_remove and fnameext_add. commit 8801ff019dc2ccc64a3dd7367b65e7ea6ce5229e Author: Peter Clifton Date: Wed Nov 5 00:37:08 2008 +0000 gschem: White-space update in x_complselect.c for consistency Mixed tabs and spaces are driving me nuts, since I don't default to having tabstop=8 in my editor. This file was pretty good before, but recent commits mixed in a load of tabs. I've also changed call instances to "func (args);" white-space, since the majority of this file already used it. commit c785af63a4d32adeaa7912a4559381d8daefde18 Author: Peter Clifton Date: Wed Nov 5 00:37:02 2008 +0000 gschem: Allow attribute value column in component selector to shrink Symbols with long values are common, and we don't want having viewed those to force a h-scroll-bar on symbols with short valued attributes. If we don't allow them to shrink, the columns retain the width of the largest item they displayed, and we often get stuck with a scroll bar after displaying components with lengthy attribute values. When updating the model, invalidate the column width for the attribute value column so it is re-sized based on the new data being shown. We might also consider invalidating the attribute name columns, however that gives an inconsistent column division when swithing between symbols, which doesn't look nice. For now, assume that the name column can keep the max width gained whilst previewing. commit dab769968c3b65d5b28b6ae26996ddc8b4e311fe Author: Peter Clifton Date: Wed Nov 5 00:36:56 2008 +0000 gschem: Use an enum for column numbers in the compselect attrib preview This avoids the need to use magic constants in the code when we refer to a particular column by number. commit 8a53e426c09ee25c1ce1e1c720d408662374c04b Author: Peter Clifton Date: Wed Nov 5 00:36:50 2008 +0000 gschem: Adjust padding in component selector dialog box. Make the preview and attributes windows the same size as the library notebook on the left, by avoiding adding a border to the GtkVPaned control. commit c5db389c6f104e22ab486451283b2fe94faf2606 Author: Peter Clifton Date: Wed Nov 5 00:36:45 2008 +0000 gschem: Don't override GtkDialog default positioning in compselect dialog The old code explictly overrode the window positioning hint set by the GtkDialog (GTK_WIN_POS_CENTER_ON_PARENT) to GTK_WIN_POS_NONE. For people with multi-screen setups, the GtkDialog default is probably a better choice. We might in the future consider GTK_WIN_POS_MOUSE, where the windows appears at the current mouse position. In either case, this only affects a user's inital usage of the dialog as its geometry is saved to disk for later re-use. commit 2f6e297d4ef9b5104675081a4066503779695b9d Author: Peter Clifton Date: Wed Nov 5 00:36:39 2008 +0000 gschem: Don't reset default properties on the component selector widgets. There is no point setting GtkWindow or GtkDialog properties when we don't actually desire to rigidly specify those parameters. The removed settings are all defaults within GTK. commit 811233695be6f5d58ba576054d9763be11c6aa4c Author: Peter Clifton Date: Sun Nov 2 15:25:46 2008 +0000 gschem: Take copy of "TMP" environment variable with g_strdup() It isn't gauranteed that the result of getenv can't get modified at some point after the call (e.g. by another call to getenv), and testing of the mingw32 port has revealed that the returned string was getting corrupted at some point. Take a g_strdup() of the string immediately, so we don't have to worry. Since capitalised variable names should really be reserved for #define'd constants, rename "TMP" to tmp_path. commit 8628c10167df204222d77b4f18e550f7486aa2a1 Author: Peter Clifton Date: Sat Nov 1 20:51:36 2008 +0000 gschem: Use gdk_display_warp_pointer() rather than an X11 specific call Fixes bug #2212753 gdk_display_warp_pointer() was added in GTK/GDK 2.8, and allows greater portability to other platforms supported by GDK. Remove the unimplemented "relative" option to x_basic_warp_cursor() commit f470af7a28afe423ded6171ea3c8a2b31ff56f43 Author: Peter Clifton Date: Sat Nov 1 20:47:41 2008 +0000 Revert applying -Werror to compiler flags when linking with GCC (CODE!!) Depending on the gcc version, the original developers might not see the warning until the software gets into the end user's hands (and tries building it with an older/newer version of gcc). Most warnings are not catastropic, but by using -Werror they are _all_ catastropic. If a developer wants to get rid of all warnings, they should either: 1) run make -s and see/fix all the warnings, and/or 2) modify the Makefile's themselves and add the -Werror flag temporarily. (Comments explaining rationale snipped out of an email from Ales). commit 09eacbfb36e2b00758bce8d8add2f8f56cdcfdbb Author: Peter Clifton Date: Sat Nov 1 16:09:26 2008 +0000 Use -Werror when building with gcc compilers. Hopefully this will help to ensure compiler warnings get noticed and fixed by developers. commit ab3e5337562359df11e8b679096574b2c01fdbc7 Author: Peter Clifton Date: Sat Nov 1 16:09:26 2008 +0000 gschem: Fix more non-literal format strings which cause compiler warnings. We should be careful to avoid passing arbitrary strings into functions which take printf style arguments. In that case, always use the construct ("%s", string) rather than passing string as the format argument. commit 333c7bc53e05e1c024486b8191b8f7031f0f506e Author: Peter Clifton Date: Sat Nov 1 00:42:24 2008 +0000 gschem: Check for visibility / toplevel->DONT_REDRAW in o_path_draw() These test were mistakenly removed in commit 2d2d9d90d07080ed18a899dcccc34e99c83a7402 commit 1aab94354f053887db67aa5702abc595795dfe82 Author: Peter TB Brett Date: Wed Oct 29 12:14:19 2008 +0000 Define select_func only in libgeda. Importing definitions from linkees breaks when linking libraries on Windows. commit 79da8125fa7ac7a005710ed2a6340004a66402a5 Author: Werner Hoch Date: Tue Oct 28 19:40:04 2008 +0100 gschem: removed unsnapped arc modification special case When using the grips to modify an arc, then always unsnapped coords have been used. There two reasons to remove that: * it's a special case that is not neccessary as the user can easily switch off the snapping to get the unsnapped behaviour * with snapped arcs it's easier to draw 45° and 90° arcs commit fba1fe91258e62ad0d5ffd685adad93336542e30 Author: Werner Hoch Date: Tue Oct 28 19:38:52 2008 +0100 gschem: use the arc dialog to modify arc objects Using edit->edit now raises the arc dialog. The properties of the arc can be modified and applied. The arc needs to be the first or only element of the selection list. commit 91cef383fbeaa0f48afe404f15ac39009f41fda7 Author: Werner Hoch Date: Mon Oct 27 20:59:47 2008 +0100 gschem: added radius to the arc angle dialog Now you can set the radius, too, when creating an arc. commit cee5dea44626c4e442fc02841c26c8f3951817b7 Author: Peter TB Brett Date: Sun Oct 26 23:42:48 2008 +0000 gschem: Initialise color combobox from current selection. This (rather necessary) feature was unfortunately missed out in 219f5d708fbe5e26f77808bb08810b96dfa984eb. Ideally, of course, the combobox constructor should be passed the color index to initialise itself with rather than poking global state, but for now let's just get it working again. commit 986bb906bbac1198c5f8b3ae507aab84d49fb3c9 Author: Peter TB Brett Date: Sun Oct 26 20:10:02 2008 +0000 gschem: Re-arrange component selection dialog. Most people have monitors which are wider than they are tall. Therefore, it makes sense to allow them to have wide, short dialog boxes. This patch moves the component selector attribute treeview to share the right-hand side of the dialog with the preview widget. Signed-Off-By: Peter Clifton commit cd01bc7d056983beb3957618cdc7557af2d40c8e Author: Peter Clifton Date: Sun Oct 26 20:07:12 2008 +0000 gschem: Add missing header file gschem_defines.h to Makefile.am Missed this when splitting out gschem_defines.h commit d99fb5c1cebfed26e027b134ebf2a4c3a0d524bd Author: Peter TB Brett Date: Sun Oct 26 17:51:54 2008 +0000 gschem: Put color swatches before names in combo box cells. It's easier to associate names with colours with a smaller gap between them. (Yes, this will work properly for RTL locales). commit 2d2d9d90d07080ed18a899dcccc34e99c83a7402 Author: Peter Clifton Date: Sun Oct 26 10:42:58 2008 +0000 Add place-holders for printing paths with different line / fill styles Currently, paths are always drawn with a solid stroked outline, and only solid filling is implemented. commit bcaf9f8dafcd25335b61b2ea80d071bde720bbd1 Author: Cesar Strauss Date: Sun Oct 26 10:41:31 2008 +0000 Use pkg-config support for Guile if present. Using pkg-config allows easier cross-compilation, since the build process can use a pkg-config binary native to the build machine with .pc files for the host machine. commit 690c85d16d63e5350ce67f4f045cfbc8bb10e8aa Author: Peter Clifton Date: Sat Oct 11 11:11:30 2008 +0200 gschem: save configuration of component dialog Save the position of the vpaned widget in the dialog configuration file. (added static function definition suggested by Peter) commit 90413c7fe36fe73d9ab93a7ceadc0debe2b840ee Author: Werner Hoch Date: Fri Oct 10 10:41:26 2008 +0200 gschem: show attributes in the component select dialog [#1444029] gui code to show the attributes in the component select dialog. The attributes are taken from the TOPLEVEL structure of the preview widget. The attribute treeview is only created if the GList of the attributs is not empty and the attributes are only updated if the treeview is present. Added an option that will print all attributes in alphabetical order. To do that the first element of the option has to be and "*": (component-dialog-attributes '(*)) commit 0d1615ffc21c995ddc554a407941230eb1ea6677 Author: Werner Hoch Date: Wed Oct 8 20:10:41 2008 +0200 gschem: configs for the attributes in the select dialog [#1444029] configuration code to get the attribute list for the component select dialog into gschem toplevel structure. commit 2e83bf2b37e093578088eef616e15ee361e85199 Author: Peter TB Brett Date: Sat Oct 25 20:01:50 2008 +0100 Remove legacy PNG color specifications. The configuration files provide a way of specifying colors for PNG output, but these are never used -- the PNG output just uses the same color map used for on-screen display. Remove the redundant specification and associated data structures completely. commit bbe251bc64ed2db2976a26116d22a69fe678b9fd Author: Peter TB Brett Date: Sat Oct 25 18:57:16 2008 +0100 Get rid of s_color_get_index(). This function is very clearly the Wrong Thing, and could potentially result in incorrect color indices ending up in schematic files if two or more color map entries have the same value. This patch removes the function entirely, and modifies the Scheme code which uses it to simply pass color indices around instead. Note that the results of s_color_get_index() were never actually *used* in the existing code. commit f63b79f3483b54a064a2bb74f8355d28232e78fd Author: Peter TB Brett Date: Sat Oct 25 18:17:25 2008 +0100 gschem: Add missing break statement. Break statement was missed in commit 405f5ac08806c0e7d6c91e8881182b0bdfa5838b. commit 219f5d708fbe5e26f77808bb08810b96dfa984eb Author: Peter TB Brett Date: Sat Oct 25 17:10:53 2008 +0100 gschem: Show colour swatches in color selection combobox. Rather than color names, show the color itself. Also hides color indexes from view, as if users need to know about these during day-to-day normal usage of gschem then we're doing something very wrong. commit 405f5ac08806c0e7d6c91e8881182b0bdfa5838b Author: Peter TB Brett Date: Sat Oct 25 17:10:50 2008 +0100 gschem: Translate color names. Make the color map names shown in the color selection dialog translated. Also add the net junction color to the lookup table. commit 2a4fdb13021d0153e788fe3b2fc005f273dcdf4b Author: Peter TB Brett Date: Tue Oct 21 16:52:09 2008 +0100 Validate calls to scm_c_eval_string(). [2105219] Because the reporter's version of Guile is broken, a lovely garbage collector segfault occurs if a null string is passed to scm_c_eval_string(). For now, wrap all calls to scm_c_eval_string() with mutable arguments in g_scm_c_eval_string_protected(), and since the latter function seems to behave when passed a NULL string this bug should just go away. commit 87a19a19e52a37f8ad14ae0c4c68f3292b0c3285 Author: Werner Hoch Date: Sat Oct 11 16:21:34 2008 +0200 gschem: redraw empty preview on configure events [#2159047] If the preview widget contained an empty page, the redraw failed. In the preview_event_configure() function the function a_zoom_extents() returns without drawing if there are no objects on the page. Thus I've added a complement logic to redraw the background of the preview if required. commit f76f82985f325d436e3522359a5b3f7d0a2344ea Author: Werner Hoch Date: Sat Oct 11 13:13:36 2008 +0200 gschem: prevent hierarchy symbol down there's file [#1861665] Only try to load real existing files. commit f0a96de8b545dbd900e87db6abf54a0b6df830ab Author: Werner Hoch Date: Sat Oct 11 09:02:03 2008 +0200 .gitignore: log files and source tagging files added Added the files of the "global" source tagging program and the logfiles of the gEDA programs to .gitignore. commit f5205cdb145a423012f446b16d0211005b55695e Author: Peter Clifton Date: Wed Oct 8 19:54:55 2008 +0100 Cleanup whitespace errors introduced in last commit (Introduces toplevel convenience variable to cut down on line lengths) commit 7e6e166d3f594ee822ef615e8766a3f712b5f80c Author: Werner Hoch Date: Sun Oct 5 15:54:18 2008 +0200 gschem: suggest a filename in the saveas file dialog [#2001387] If a schematic is saved the first time, put a suggested name ("untitled.sch") into the file saveas dialog. commit f58328ec7a4d445b98b67a63b23647f25ae7bb4c Author: Werner Hoch Date: Sun Oct 5 10:01:03 2008 +0200 gschem: code and test file for the net selection patch This commit adds the main functionality to gschem. The new function o_select_connected_nets() will select nets depending on the configured net_selection_mode and the current net_selection_state. The implementation uses two stacks for traversing the connections. The netnames stack contains all connected netnames and the net stack contains a collection of all currently collected nets. Note: The search for the netnames is very expensive, because of the required search of all netnames in all objects. The default net_selection_mode in system-gschemrc is set to "enable-net", only the directly connected nets are selected. The functionality can be testet with the test schematic tests/net_selection.sch. This patches are based on the work of Franz Mottas [1895538]. commit d0c0a23543aaa266a63799d4decff58768cf961b Author: Werner Hoch Date: Sun Oct 5 09:58:29 2008 +0200 variables and configuration for net selection patch The net selection lets you select all connected segments of a single net segment. The behaviour can be configured with the net-selection-mode variable in system-gschemrc. This patch is based on the work of Franz Mottas [1895538]. commit 392dd3354812e812f548eadac2c83d8430acd7bf Author: Peter Clifton Date: Mon Sep 29 01:19:39 2008 +0100 Remove conditionally compiled code for GTK/GLIB < 2.6 commit 2b36577f5634ff99e919773c4e34aa2e39dbce51 Author: Ales Hvezda Date: Sun Sep 28 14:09:50 2008 -0400 Added code to do something more sane when trying to print tabs Previously if a tab character was encountered in a text string, the postscript output code would output a Y with a dot on top. This is clearly not a tab character. The patch adds explict handling of the tab character to output 8 spaces instead. Not perfect, but better behavior than before. commit c9f4ae9298141915f11214d6339c4d9a27bb3eee Author: Peter Clifton Date: Sun Sep 28 18:40:55 2008 +0100 gschem: Add ./configure support for detecting and disabling cairo Since some users might not have cairo installed, and the intention is to retain support for the old GDK drawing code (for now), --disable-cairo is added to allow conditional compilation. commit 9d9d09b0bddba85b5712cb063f3a6b806550cb3b Author: Peter Clifton Date: Sun Sep 28 18:40:55 2008 +0100 gschem: Bump minimum GTK / GLIB version requirement to 2.8 This is needed to enable the use of cairo rendering functions. Remove AC_DEFINE for HAS_GTK24 since it isn't used. Switch configure.ac variables such as GTK24_... to use just GTK_..., since we don't need to specify the version in those. It just makes bumping the version harder. commit 900274f0d6b08031f7cfc18a332da6b1939a44d1 Author: Peter Clifton Date: Sun Sep 28 18:40:55 2008 +0100 Fix non-literal format strings which cause compiler warnings. We should be careful to avoid passing arbitrary strings into functions which take printf style arguments. In that case, always use the construct ("%s", string) rather than passing string as the format argument. Some cases were fixed by using g_strdup instead of g_strdup_printf(), some simply replace printf() for puts(). commit d424abcf4e93934fd6268d9cb186f7415e0e83c2 Author: Ales Hvezda Date: Sun Sep 28 13:21:42 2008 -0400 Removed unused OBJ_ROUTE and OBJ_THRU_HOLE object types commit 2550db8e1d981ccab55b7f2ae6e9932198a53b59 Author: Peter Clifton Date: Sun Sep 28 01:03:06 2008 +0100 Make o_..._add() into o_..._new() which don't link the new OBJECT. Allows cleaner use of objects where we might want to insert the object into a GList rather than a self-linked list of OBJECTs. commit b74ce15668b87380fb348a94aab6452eba6f5551 Author: Peter Clifton Date: Sat Sep 27 22:58:09 2008 +0100 Use g_return_if_fail to exit o_drawbounding() if called with a NULL list. Function previously returned silently, lets log this as an error condition if it should happen. commit 853f1ef289fb7ebd7406ede1e48940a07772a756 Author: Peter Clifton Date: Sat Sep 27 22:50:20 2008 +0100 Remove some commented out code in x_window_create_main () (CODE!) Tidyup where the window used to be painted black at startup. commit 0f93a4b4d52da6c7c34c6420cdb93263d5b5bbdc Author: Peter Clifton Date: Sat Sep 27 02:03:13 2008 +0100 Make use of new object invalidating API to avoid duplicated code. commit 04774120c0ab1701e10fcc2709cd3a9963d0a54f Author: Peter Clifton Date: Sat Sep 27 02:00:47 2008 +0100 Add API for invalidating drawing of a given object or list of objects. Avoids needing to lookup and pass bounds of an object being invalidated. Adds: void o_invalidate_all (GSCHEM_TOPLEVEL *w_current); void o_invalidate (GSCHEM_TOPLEVEL *w_current, OBJECT *object); void o_invalidate_list (GSCHEM_TOPLEVEL *w_current, OBJECT *list); void o_invalidate_glist (GSCHEM_TOPLEVEL *w_current, GList *list); commit 1fffc27a3b62cc32a70edcc1ee89ff458318c6bc Author: Peter Clifton Date: Fri Sep 26 00:57:52 2008 +0100 Add support for arbitrary paths (filled and unfilled) The data-structures and on-disk format (which utiliseSVG style path strings) support stright line and bezier curve segments. Paths can be closed or open, and store line style and fill information in common with other geda objects. The path string parser is based on (slightly modified) code from librsvg version 2.22.2 (LGPL). Code from rsvg-path.c and rsvg-bpath-util.c (Copyright (C) 2000 Eazel, Inc.) was combined to form libgeda/src/s_path.c. These have been modified to use gEDA defined path data structures. The rendering implementation is based upon a small porion of the function rsvg_cairo_render_path (..) from rsvg-cairo-draw.c The parser still retains support the full richness of SVG path strings, although all instructions are subsequently normalised on to move, line, bezier and "close path" records. This support retained for convenience when entering artwork (which can be copied from an SVG editor). When saved, normalised paths are written out. The current rendering and shortest-distance computations are limited to straight line segments. Bezier segments, where encountered are treated as a straight line between their two endpoints. commit e9f4a9a4bb05bc554e165b2215f8e7358b2315de Author: Peter Clifton Date: Fri Sep 26 00:57:44 2008 +0100 Move some static variables inside o_grips.c to GSCHEM_TOPLEVEL This is necessary for grip manipulation of more complex OBJECT types such as the forthcoming PATHs. As the entire drawing state can't of a path can't conveniently be stashed in the GSCHEM_TOPLEVEL variables such as first_w{x,y}, second_w{x,y} etc., we need to reference the OBJECT and grip being manipulated from the drawing functions which are outside o_grips.c. commit ec2e929742bb682be52d02818916b1f57c343e48 Author: Peter Clifton Date: Wed Sep 24 01:07:37 2008 +0100 libgeda: Set complex_parent on all prim objects, not just their HEAD node Allows a primitive object inside a COMPLEX to be linked back to the COMPLEX without traversing to the HEAD node of the prim_objs list. commit b14f3bf215963529b89f650ff3bd6f0b0c90450f Author: Peter Clifton Date: Wed Sep 24 00:57:57 2008 +0100 gschem: Don't add invalid attributes to the multiattrib dialog list Since we can't edit them, don't treat them as attributes. Gschem validates attributes upon creation, so an invalid attribute attached to an object must come from a hand-edited file, or a text object which has been attached to an object. (Validation that the text item is a valid attribute isn't performed in that code-path). In the future we might want to add validation of attributes at file-load and at before attaching text OBJECTs to a COMPLEX. commit acb96234eed1e51ab22b17cd718d5f627d292a96 Author: Peter Clifton Date: Mon Sep 22 02:05:14 2008 +0100 gschem: Fix left/right scroll events to move the schematic left/right. Commit which broke this was 048bd6f8e2fc1c5f5b01ff3f1cad3a7c9bf43f3e. Looks like I broke the behaviour when I refactored the x_event_scroll() to support a more "gtk" style modifier binding as well as the classic gschem behaviour. The refactored code inadvertently lumped up/down and left/right scroll events together as if they were up/down events. Up/down scroll events retain their existing behaviour and act according to the (scroll-wheel "{gtk|classic}") configuration setting. Left/right scroll events now always scroll the schematic left and right, irrespective of modifier key. commit 45efb32383b15576cc98a95e1d93d44793e6f2e8 Author: Peter Clifton Date: Mon Sep 22 01:54:24 2008 +0100 Move calls to attribute promotion code from inside o_complex_add() Previously o_complex_add() would perform attribute promotion or delete / hide eligible attributes depending on the "attribute_promotion" argument passed to o_complex_add(). Break these into separate operations: 1. Get / add to OBJECT list, a single complex object with o_complex_add(). This object has its prim_objs exactly as the symbol exists on disk. 2. EITHER: Promote the eligible attribtues with o_complex_promote_attribs(). (For GList based processing use o_complex_get_promotable(), attach the returned objects as attribs and place in the appropriate GList.) OR: Delete / hide eligible attributes with o_complex_remove_promotable_attribs() All behaviour relating to attribute promotion should be identical after this commit. If not, it is a bug should be reported. (This includes the insertion order of the OBJECT and it's attributes into the object list). commit 9993a0c13cc1b1aa5bb0c61a7355e89cd8f37fca Author: Peter Clifton Date: Wed Sep 17 19:33:03 2008 +0100 Remove un-necessary use of o_list_search() g_make_attrib_smob_list() and o_attrib_return_attribs() are passed the object they are operating on directly. There is no need to prove it can be found in the object list as well. commit 1745bca0359488bb6f8bd06d84f7ae952e48d665 Author: Peter Clifton Date: Wed Sep 17 19:24:59 2008 +0100 Remove unused TOPLEVEL variable object_parent commit 7baf5c629eb620e7db9b3fa5837cc07bdfe29f4f Author: Peter Clifton Date: Thu Sep 11 21:36:35 2008 +0100 libgeda: Tidy o_attrib_attach() harder Remove searching in parent_list for the attribute we're about to attach. This check isn't needed, we were passed the attribute as an argument. Let the caller be responsible for making sure it is linked into the appropriate object list. commit 29010f3c07076c31eaaf39a0209b6b9e8cd7cadd Author: Peter Clifton Date: Thu Sep 11 18:34:35 2008 +0100 Use gtk_window_set_transient_for() not a GObject property. Fix #2075842 Revert part of the changes made in 1aaf6613a7c6991d858c1143ed3917675a115a5a Author: Patrick Bernaud Date: Fri Jul 25 17:52:40 2008 +0200 Move selection monitoring out of the multi attrib widget. Reinstated the 'object' property for multi attrib widget in place of the 'selection' one: the widget does not have to mess with selections, it is only interested in objects. Moved the selection watch stuff outside. This commit changed an unrelated setting from using a widely supported API, to a GObject property only introduced in GTK+ 2.10. Changing it back now! commit b4ed5e92d203c7449b7d33e924a41b093e1de930 Author: Peter TB Brett Date: Tue Aug 26 12:55:07 2008 +0100 Remove duplicate definitions of do_logging. Also sets the default in libgeda to TRUE. commit 6a7ab649d6f77ccab9be7f3562197c2d15d92ee7 Author: Peter TB Brett Date: Mon Aug 25 18:39:22 2008 +0100 gschem: Tidy list of source files. Purely for readability of the Makefile.am. commit a974a4c6d2c233c9209c5b4597f7d4f86154f484 Author: Peter Clifton Date: Sun Aug 24 22:27:28 2008 +0100 Remove default-series-name from all rc files Fixes brokenness leftover from previous removal of "series_name". commit 9a54c6de1fa6af39ec97b8bb0cd1a251094ad3f1 Author: Peter Clifton Date: Sun Aug 17 01:34:20 2008 +0100 Only explicitly switch object types which are "special" in o_move.c For other objects, which should use the default move action, use the "default:" construct, rather than explicitly listing them in "case OBJ_...:" statements. This makes adding new objects types simpler. commit bcda75d109f12bc4d763bcaa05c08cbf3f0451c1 Author: Peter Clifton Date: Sun Aug 17 01:33:56 2008 +0100 Remove some unused #defines from o_text.c commit a19feb2bf0e13ad3d030dfbb126a2b0558db6add Author: Peter TB Brett Date: Sat Aug 16 22:28:52 2008 +0100 Bring back default Postscript filename. The print dialog has recently stopped providing a default filename for the Postscript output, due to a regression introduced in a3513b7e6dc7bf6c36d95d4da86082beeb79831d. commit 1a1460c65a9d4e0aee35e39fff0f083c95bd380d Author: Peter Clifton Date: Sat Aug 16 19:18:24 2008 +0100 Remove the ATTRIB struct as it only contained one variable. The OBJECT.attribs GList now points directly at the text objects which hold and display the attribute name and value. commit 2fe94f7887ccf4b990bb285fc9def966ce857e0b Author: Peter TB Brett Date: Sat Aug 16 18:32:53 2008 +0100 gschem: Use accessors to get/set TEXT strings. Don't access the TEXT struct directly. commit 6718a8d2187b4a871051eee299cef8bbbef02280 Author: Peter TB Brett Date: Sat Aug 16 18:10:53 2008 +0100 gschem: Pass dialog to multiattrib treeview data funcs. The cell data funcs for the multi-attribute editor dialog's treeview need to have access to a libgeda TOPLEVEL to be able to use o_text_get_string(). The obvious thing to do is to pass in a pointer to the dialog (which contains a pointer to the GSCHEM_TOPLEVEL, etc) as the user data pointer. commit 0865651615cf79b1392c34381cbee3095faa5a01 Author: Peter TB Brett Date: Sat Aug 16 16:47:10 2008 +0100 gschem: Fixup installation of drawing callbacks. Now libgeda properly declares them, can just set the function pointers in gschem's initialisation function. commit 1bfa2bacae85a59758c6b6ddb16bc62362b9ac7e Author: Peter Clifton Date: Sat Aug 16 15:48:00 2008 +0100 gschem: Add #define LAST_DRAWB_MODE_NONE -1 This flag will be used to indicate that the bounding box was not drawn onto the page at all yet. commit 288d9e67af83f03534398319d0e8ad16fa631fb0 Author: Peter Clifton Date: Sat Aug 16 15:48:00 2008 +0100 Move gschem defines from libgeda into gschem/include/gschem_defines.h Whilst we're at it, remove some unused definitions. commit 80f19b131300110c67d332193959e33f230f0b1d Author: Peter Clifton Date: Sat Aug 16 15:47:59 2008 +0100 gschem: Create new include file, "gschem.h" to various gschem headers commit a27996354d61af13a4f0a1eed2db4b979b7f148f Author: Peter Clifton Date: Sat Aug 16 15:47:59 2008 +0100 gschem: Pass GTK's CFLAGS into GSCHEM_CFLAGS. Don't rely on LIBGEDA_CFLAGS libgeda really shouldn't be pulling in GTK, so we need to do it properly ourselves. commit 2e87904a34cd5ad58bc8a9511dd5915adf9df405 Author: Peter Clifton Date: Sat Aug 16 15:47:58 2008 +0100 libgeda: Rename gtk_[outline_]color variables gdk_... to their types Also added NULL initaliser for gdk_outline_color which was missing. commit 11a2692a1ab8bcee14178286fd719d1ec39e6b9a Author: Peter TB Brett Date: Sat Aug 16 15:24:16 2008 +0100 Draw func cleanup. Rather than having libgeda require other applications to provide the *_draw_func symbols, libgeda should provide them itself. Other applications should then override them as required near their call to libgeda_init(). commit 62a38eefd8d3d9f84d8aeb78e2a1e365080d819c Author: Peter TB Brett Date: Fri Aug 15 22:48:11 2008 +0100 Make some string arguments const. In a few places, strings are being passed into functions and no changes are made to them. Mark these arguments as const. commit 11fa9b447a32bbee93734628233f6ca5b807c740 Author: Peter Clifton Date: Fri Aug 15 12:36:53 2008 +0100 gschem: Only add nets and buses to the stretch list. (CODE THIS TIME!) Only nets and buses are rubberbanded, so there is no point adding other connected items (such as pins) into the stretch list. This fixes a bug where pins attached to nets being moved disappear if the user pans whilst moving. (The objects in the stretch list are marked "don't redraw" when starting a move operation.) To avoid nesting (yet another) huge "if" clause in the length of the loop in o_move_check_endpoint(), the loop has been re-written as a "for" loop to ensure its iterator is incremented when the loop is "continue"'d. The various nested : if (test) {...} // wrapping the loop's core are now: if (!test) continue; commit 25c4e8e0a45dbe9abe664be23240eafd903e7814 Author: Peter Clifton Date: Fri Aug 15 11:26:26 2008 +0100 Check toplevel->DONT_REDRAW before redrawing text There is no point in trying to draw text if it is not wanted on screen. Rendering of the underlying line-segments would just be stopped anyway in o_line_draw(), where there is also such a test. commit 675738b3b7a0c37e3511297040c3abc59619dd0c Author: Peter TB Brett Date: Thu Aug 14 23:27:12 2008 +0100 libgeda: Hide o_*_recalc() from public API. Applications which wish to force recalculation of an OBJECT's bounds should use o_recalc_single_object(). commit 8f1a084c1e26cc08cdab08a1c44e7e802cbdbec8 Author: Peter TB Brett Date: Thu Aug 14 23:27:12 2008 +0100 libgeda: Hide world_get_*_bounds() from public API. Applications which wish to retrieve an OBJECT's bounds should use world_get_single_object_bounds(). commit a504567fa312888bd3e467f01f68eadaf6c0440d Author: Peter TB Brett Date: Thu Aug 14 18:45:47 2008 +0100 gschem: Add 1.6 compat. for scm_from_locale_symbol() [2051731] The new Scheme prompt in gschem uses scm_from_locale_symbol(), which isn't present in Guile 1.6.x. Add it to the compatibility layer. commit 57815bd72e62999193641f301af9184c0d524cf6 Author: Peter TB Brett Date: Wed Aug 13 23:30:35 2008 +0100 Print command is a gschem setting. Move print command from TOPLEVEL to GSCHEM_TOPLEVEL, and move static defaults too. commit 19f5e9965dc12818b0d4f2771b020989065a83fb Author: Peter TB Brett Date: Wed Aug 13 23:30:35 2008 +0100 gschem: Add infrastructure for string options. There are still some gschem settings in libgeda just because they take string values. This patch makes it possible to boot them out. commit 46eda8a55b9197f7a24d5b04ff94cedc1abc74fe Author: Peter TB Brett Date: Wed Aug 13 23:06:03 2008 +0100 Name i_vars_... functions consistently. Apps should use i_vars_blah(), libgeda uses i_vars_libgeda_blah(). commit 0fe03039f1eda8b1c2aab1701948532513e920fe Author: Peter TB Brett Date: Wed Aug 13 22:38:44 2008 +0100 gschem: Don't use default_scheme_directory. gschem uses default_scheme_directory to find gschem.scm. It doesn't need to, because libgeda should have already set the Guile load path correctly by this point. commit b26a13cbf455297ab27702fb9964e947e83bd30b Author: Peter TB Brett Date: Wed Aug 13 15:06:43 2008 +0100 Revert "Fix for dialogs drifting downwards on Cygwin/X." This reverts commit d86ac8ce4b16d41699ec64a3d88fd8d2c760b770. The effects were so annoying on non-broken X servers that another solution needs to be found. commit 6f42af29cfe5c70203ce6b881d48d904c1bb0fc7 Author: Bernd Jendrissek Date: Wed Aug 13 02:18:41 2008 +0100 o_grips_start(): Propagate world coords of pointers to o_grips_start_*() The (unused) x and y parameters to o_grips_start_*() were previously passed as 0, 0. It seems obviously right to me to propagate w_x and w_y, even if the target object pulls the pointer position out of w_current again, which itself is quite evil. commit 0db6ea2341ce7cc8c631df75c4d3c30390590b29 Author: Bernd Jendrissek Date: Wed Aug 13 01:55:59 2008 +0100 Split OBJECT allocation from its initialization. Split memory allocation for OBJECTs out of s_basic_init_object(). Add a new helper function s_basic_new_object() which allocates memory for the OBJECT structure, then calls s_basic_init_object(). These changes make it possible to embed an OBJECT structure within another struct, or to initialise an OBJECT in static memory. (Patch modified by Peter Clifton) commit 0d28977cd5e275a799ec3773f302ddf9b9544fd3 Author: Bernd Jendrissek Date: Wed Aug 13 01:48:12 2008 +0100 gschem: Erase the newly placed attribute before changing its position. Changing the position first then erasing causes the wrong bounding rectangle on the screen to be invalidated. We need to invalidate the bounding rectangle of the *old* position. commit 6c9b043233a645f6293d62f5a8c598cd5f95940b Author: Bernd Jendrissek Date: Wed Aug 13 01:33:45 2008 +0100 o_picture_rubberbox(): Update comments to reflect reality. Coordinates passed are in world units, not screen. commit 7bdd0362b87bcfc29a647f650a2d610465314526 Author: Bernd Jendrissek Date: Wed Aug 13 01:33:45 2008 +0100 o_arc_rubberarc(): Document the effect of moving each grip. The documentation was elsewhere far away. Moving it closer to the arc moving code mitigates the "action at a distance" antipattern. commit 17c64b764cb42afc8d5b80a66361029655dd644b Author: Bernd Jendrissek Date: Tue Aug 12 23:36:35 2008 +0100 s_basic_init_object(): Set OBJECT type according to new parameter. commit 235d219c4c9b96409cd4b95be3960e7e9f2689eb Author: Bernd Jendrissek Date: Tue Aug 12 23:36:35 2008 +0100 Add header guard. commit 3d09a3fffd1f97816583ca92d73d0c792646bf2e Author: Bernd Jendrissek Date: Sun Aug 10 00:19:01 2008 +0200 Rather pass the user-supplied scripting command to a scheme dispatcher. Passing the command to a scheme dispatcher gives the configuration files an opportunity to define the language in which these scripting commands are interpreted. It doesn't really need to be scheme, but it is for now. (New patch with changes suggested by Peter TB Brett.) commit 4ef611b6e1cc6eb47538148ce1d196d495313969 Author: Edward Hennessy Date: Fri Jul 18 20:24:46 2008 -0700 Altered point selection mechanism to use distance instead of just a bounding box. This patch improves the mechanism used to select objects when using a single point. In addition to using the bounding box, this patch calculates the distance between the selection point and the object itself. This calculated distance provides a more accurate means to determine the actual object the user selected. Signed-off-by: Peter TB Brett commit 371c37024225e506b1018445e61f4392e13d7db9 Author: Bernd Jendrissek Date: Thu Aug 7 01:19:04 2008 +0200 Make the current page accessible to scheme. Signed-off-by: Peter TB Brett commit 4f7b81ccb2246c8eae803ce13dd3927f5743b3ad Author: Bernd Jendrissek Date: Wed Aug 6 23:40:26 2008 +0200 Don't expect a "rest" argument in the i_callback_*() functions. commit d86ac8ce4b16d41699ec64a3d88fd8d2c760b770 Author: Cesar Strauss Date: Sun Sep 16 16:56:18 2007 -0300 Fix for dialogs drifting downwards on Cygwin/X. On Cygwin/X, reopening a gschem dialog restores its original position, but with a small vertical offset. The workaround is to show the dialog before restoring its position. The docs for gtk_window_move() offer a possible justification: "Most window managers ignore requests for initial window positions (instead using a user-defined placement algorithm) and honor requests after the window has already been shown." The downside is, if you have a slow system, you could see the dialog appear briefly at the old position, I suppose. commit 713225e719fa1bab8bc4b31dfc3cd50ea6c44f4e Author: Bernd Jendrissek Date: Tue Jul 8 02:15:46 2008 +0200 Add the magic colon to the global keymap. commit cae8edda94f240d5bbdae08d6f8b67a037e0e6ba Author: Bernd Jendrissek Date: Tue Jul 8 01:13:49 2008 +0200 Use g_scm_c_eval_string_protected() so we don't crash on bad forms. commit 57fc3a940f9609b45d26cb73b696ffcd1df15c58 Author: Bernd Jendrissek Date: Mon Jul 7 04:46:19 2008 +0200 Invoke scheme forms from a command prompt below the drawing area. commit 61255c9b68aeae2ae845eea82babf445036a72f1 Author: Bernd Jendrissek Date: Sat Aug 2 12:11:19 2008 +0100 Allow key bindings to accept a REST argument list. In order to support adding optional arguments to key bindings, the function signature of ALL the bindings has to change. Supply REST (if available) or SCM_EOL (no extra arguments) where the caller is a C function. Conflicts merged by Peter B: gschem/include/prototype.h gschem/src/x_event.c commit da5b6b6ae5848d988c22ed5528917bf050a54a2d Author: Bernd Jendrissek Date: Thu Jan 17 03:12:39 2008 +0200 Desensitise function signature to function pointer parameters. func_ptr gets assigned to last_callback anyway, which itself does not specify any formal parameters. commit 1e247aeb7a4f568578bd8612f886d7f64f24c858 Author: Patrick Bernaud Date: Fri Aug 1 14:37:48 2008 +0200 Keep raising the page changed flag local to mutation for o_attrib_toggle_*(). Reverted the settings of the CHANGED flag in o_attrib_toggle_*(): they had been moved inadvertently to i_callback_*() functions (see commits 903e06d9fc9253e87e530bfaec2e8386664d464f and fd51b8163c5af2d8124dc7afb1ca1c4bfa944fe6) while they really should stay close to where the object is modified. Problem reported by Bernd Jendrissek on gEDA-dev. commit f154fcb921e75e7940e0b4dbd9ad5bab6a61e704 Author: Patrick Bernaud Date: Sat Jun 28 12:14:00 2008 +0200 Enable promotion of attributes when adding a component from guile. g_add_component()/add-component-at-xy was adding component with attribute promotion turned off. This change fixes bug [#1932474]. commit 0c8b23528692e0d9406503a400c71dd458cea878 Author: Peter Clifton Date: Tue Jul 29 03:26:07 2008 +0100 Remove the unused TEXTENTRY state commit a90588ec6566f944756800f38f74a02f867dca87 Author: Peter Clifton Date: Tue Jul 29 03:18:39 2008 +0100 Remove the TOPLEVEL variable internal_symbol_name which is now redundant. Also removes functions which set and free'd this variable: o_complex_set_filename() o_complex_free_filename(). commit d1ff81f8d8a1d18781f8cb7c4476417947a61cec Author: Peter Clifton Date: Tue Jul 29 03:18:38 2008 +0100 Remove the TOPLEVEL variable current_attribute which is now redundant. Also removes functions which set and free'd this variable: o_attrib_set_string() o_attrib_free_current(). commit d3b75982a9507c05cb2699ae9d875fa344608196 Author: Peter Clifton Date: Tue Jul 29 03:11:27 2008 +0100 Add support for rotating whilst placing Due to the consolidation of the OBJECT place code, rotation can now work across uniformly various different placemenet actions. commit 0eea7587957ef3e01c2d1942d7bc6c940c237e4a Author: Peter Clifton Date: Tue Jul 29 03:05:11 2008 +0100 Remove un-necessary variable w_current->rotated_inside. The rotation of placed objects is always started at zero degrees, and since the rework of the copy / place code, is done on the fly. Remove the old code to track the angle rotated during placement. need to track the rotation angle commit 1e4eb30f7cab3f3cb9e49478ed05d24cba99858b Author: Peter Clifton Date: Tue Jul 29 03:05:02 2008 +0100 Remove un-necessary variable w_current->complex_rotate. The rotation of placed objects is always started at zero degrees, and since the rework of the copy / place code, is done on the fly. Remove the old code to track the angle rotated during placement. need to track the rotation angle commit aa7fb5c523e57cf7e3bbb4224e0ffbbf524ab95e Author: Peter Clifton Date: Tue Jul 29 03:04:24 2008 +0100 Consolidate specialised o_..._rubber...() and o_..._rubber...__xor() Since these operations now use the same place list, we can share code. commit e931091e28f90e7bd0f755ee30665cc5b7461b74 Author: Peter Clifton Date: Tue Jul 29 03:00:59 2008 +0100 gschem: Combine code for operations which handle placement of OBJECTs. Replaces duplicated code related to component / text placement, copying / multi-copying objects and pasting from buffers with a common set of routines in the new file, gschem/src/o_place.c This refactoring lays the foundation to allow rotatation / mirroring whilst performing any kind of place action, without extensive duplicate code. All of the above operations now use a new PAGE variable, "place_list", rather than previous specialised variants complex_place_list, and attrib_place_list. Paste-buffer contents are copied into the place list, rather than placing directly from the paste-buffer, ensuring that any rotation / mirroring of the place-buffer does not change the paste-buffer. Helper functions, o_text_prepare_place() and o_complex_prepare_place() are added to load the place list with appropriate text, or a symbol. These are passed as arguments to the respective functions, avoiding the use of state stored in toplevel->current_attribute and toplevel->internal_symbol_name. commit d0d18117a483029a61077a792203df5bd1a7f22a Author: Peter Clifton Date: Tue Jul 29 01:47:11 2008 +0100 Don't drop artifacts when redrawing in the middle of a move operation The nets being rubberbanded should not be redrawn in their original positions, so we set the "dont_redraw" flag on the rubberband objects to ensure they are not drawn (in their un-stretched position) during screen updates. We unset the flag in o_move_end() and o_move_cancel(). commit 1ecd2a345ba49d7eb428d528d056f2c9f5e9b590 Author: Peter Clifton Date: Tue Jul 29 01:40:20 2008 +0100 gschem: Move freeing stretch list of to after move operation is ended Previously, the stretch list was left stale with pointers after a move operation, and only cleared when commencing a new move. By clearing it after each move operation (completed, or cancelled), we can ensure its contents are always valid. This is important so that at the end / cancellation of a move operation, we can operate on the stretch list without danger it was not up-to-date. If a move operation is started with rubberbanding disabled, and the user subsequently activates rubberbanding (during the move) with a key-stroke, stale pointers in the stretch list may have been dereferenced in error. commit cc5ea879b0ccfc7815b43b30ddfae13941aff4eb Author: Peter Clifton Date: Tue Jul 29 01:20:04 2008 +0100 Add OBJECT flag "dont_redraw", to skip drawing individual objects. This flag is to be useful when handling move operations which hide rubberbanded objects on the page whilst a temporary copy is manipulated on screen. commit 29600e269da20822ec0443024c63cb5e0ae34ea2 Author: Peter Clifton Date: Mon Jul 28 00:44:55 2008 +0100 Add redraw for items being placed from paste-buffer in o_redraw_all() Added missing "w_current->inside_action = 1;" to o_buffer_paste_start(), noticed when the new redraw added didn't work on its own. Fixes ghosts left when zooming whilst pasting from a buffer. commit 1dc71988f58df1bbe828aebacc5d81d7bd21b954 Author: Peter Clifton Date: Mon Jul 28 00:40:13 2008 +0100 Always "undo" when cancelling from a move action The undo state is always saved in o_move_start(), so when cancelling from a move action we should always undo. Adds helper function o_move_cancel() to avoid code duplication of the various operations when cancelling a move action. commit 03056b53bfe6865d77c585bb7d190ce4f2aa0cd6 Author: Peter Clifton Date: Mon Jul 28 00:29:33 2008 +0100 Add o_move_rubbermove_xor() Make use of o_move_rubbermove_xor() throught the code to avoid duplication of o_drawbounding() calls. commit a3ee37bbb4a87379a129d6993e175136416721da Author: Peter Clifton Date: Mon Jul 28 00:27:13 2008 +0100 Adjust scroll pan increment to be finer Scrolling in a smaller steps gives a greater degree of control when navigating around the schematic, with a (subjective) improvement to usability. This commit changes the number of scroll events required to traverse the viewed area from 4 to 8. commit 78f18664289a29ca137c341fac9c7bbceb17cd06 Author: Peter Clifton Date: Mon Jul 28 00:27:12 2008 +0100 Change default zoom-gain to from 50%, to 20% increase in size. Zooming in a smaller amount gives a greater degree of control when navigating around the schematic, with a (subjective) improvement to usability. commit 20bd89fa6fd55d757194bd7d0143f8b9fff58ee7 Author: Peter Clifton Date: Mon Jul 28 00:27:11 2008 +0100 Make size of panning steps with the mouse scroll wheel adjustable The new gschemrc function, (scrollpan-steps integer) controls how many scroll wheel events are required to pan across the viewed area of the schematic. The default setting keeps gschem's previous hard-coded behaviour of 4 scroll events (in a particular direction) across the viewed area. commit 59cf57b8eb960b5e8041778d5377c160a4af57d3 Author: Peter Clifton Date: Sun Jul 27 23:50:55 2008 +0100 Make the "gain" of zoom in / out operations an adjustable parameter. The new gschemrc function, (zoom-gain integer) controls the percentage size increase when zooming into the page. Zooming out uses the inverse factor such that a zoom in followed by a zoom out will return the schematic to the same size. E.g: 20% increment => x 1.2 original size when zooming in => x 1 / 1.2 x original size when zooming out The default gain keeps gschem's previous hard-coded behaviour of zooming in by a factor of 1.5. This is now specified with the command (zoom-gain 50). commit 6802a78d5a19069919e4524530b91c34c1d099fe Author: Peter Clifton Date: Sun Jul 27 02:22:22 2008 +0100 gschem: Activating component selector rows expands / contracts groups Observation of a user working with gschem showed that opening the groups of components from varous libraries was not particularly discoverable to a user not familiar with GTK. The user was noticed to be double-clicking the library sub-groups, rather than identifying the expander arrow. Fix this usibility issue by making double click, and other row-activation methods expand / contract the library groups. Keyboard navigation (where space / return activate given rows) is also easier now. commit b02d9540d1bc0cdcfd5935f84bf8ee2f52dde2bd Author: Patrick Bernaud Date: Fri Jul 25 17:52:41 2008 +0200 Use functions from o_select.c rather than low-level geda_list functions. commit 1aaf6613a7c6991d858c1143ed3917675a115a5a Author: Patrick Bernaud Date: Fri Jul 25 17:52:40 2008 +0200 Move selection monitoring out of the multi attrib widget. Reinstated the 'object' property for multi attrib widget in place of the 'selection' one: the widget does not have to mess with selections, it is only interested in objects. Moved the selection watch stuff outside. commit 4ad46d1b431bceb665fdd45778345118dfc1d414 Author: Patrick Bernaud Date: Fri Jul 25 17:52:34 2008 +0200 Limit scope of gschem x_color_allocate_all(). commit 67bb084eef2f0e97bd9573fdea0faa5dfd2e53bc Author: Patrick Bernaud Date: Fri Jul 25 17:52:33 2008 +0200 Move color-related stuff from x_window.c to x_color.c. Renamed x_window_setup_colors() and x_window_free_colors() to x_color_init() and x_color_free() respectively. And moved them to x_color.c commit d96ad3c39121d6c7e32128493d5445f0825f1751 Author: Patrick Bernaud Date: Fri Jul 25 17:52:32 2008 +0200 Cleanup the stroke interface. Improved the API and memory allocation, added documentation. commit 19aab8901a7519879231c680060f89a69c125e85 Author: Patrick Bernaud Date: Fri Jul 25 17:52:31 2008 +0200 Modify o_attrib_toggle_show_name_value() to work on a single object. commit 306d5722847b4d8c152bd369bc68846b9a19abb0 Author: Patrick Bernaud Date: Fri Jul 25 17:52:30 2008 +0200 Modify o_attrib_toggle_visibility() to work on a single object. commit 658516c080eae8d78685113e48290bb291af0715 Author: Patrick Bernaud Date: Fri Jul 25 17:52:29 2008 +0200 Add new function to delete any object. Added o_delete() as replacement for individual object deletion function. Adapted o_delete_selected() accordingly. commit 64a6741c858de019ab26058afcc417b821d37117 Author: Patrick Bernaud Date: Fri Jul 25 17:52:28 2008 +0200 Merge cue undrawing functions for complex and objects. Merged o_cue_undraw() and o_cue_undraw_complex(). Also added documentation. commit 0cdcdf4cfe8bf3c6aa078b91e5696a26f7a60f23 Author: Patrick Bernaud Date: Fri Jul 25 17:52:27 2008 +0200 Add new function to erase grips on any object. commit 37eaad0765b34e85275706b6cffbc73ec9b5c4cd Author: Patrick Bernaud Date: Fri Jul 25 17:52:26 2008 +0200 Rename o_delete() to o_delete_selected(). commit 83de2270e9d0f159975e833e1fec213f952c7315 Author: Patrick Bernaud Date: Fri Jul 25 17:52:25 2008 +0200 Remove o_complex_delete(). Removed function as s_delete() does the same thing. commit b86ffc45f699781c220153e2390a54f8b823a930 Author: Patrick Bernaud Date: Fri Jul 11 16:03:16 2008 +0200 Refactor hierarchy function searching for parent page. Renamed s_hierarchy_up() to s_hierarchy_find_up_page() for consistency and modified it to return a pointer on the page found (as other hierarchy find functions) instead of changing the current page. Added description. And finally adapted gschem for this refactoring. commit 06dc1e65b688f88695e47dd38cd9022eb67bbb7c Author: Patrick Bernaud Date: Fri Jul 11 16:03:15 2008 +0200 Simplify prototype of functions for searching pages in hierarchy. Removed 3rd parameter to s_hierarchy_find_[next|prev]_page(): now explicitly search for sibling page of page in 2nd parameter. Also added description for functions. commit 6b15947087caebaa4c85805799362c169e09adba Author: Patrick Bernaud Date: Fri Jul 11 16:03:14 2008 +0200 Rename s_hierarchy_find_page() to s_page_search_by_page_id(). Moved s_hierarchy_find_page() to libgeda s_page.c and renamed to s_page_search_by_page_id(). Also added description. commit 57a4fd272e10a68e05051a9ab9309e252e2103f7 Author: Patrick Bernaud Date: Fri Jul 11 16:03:12 2008 +0200 Purge AC_CHECK_FUNCS() in configure.ac in each package of unused functions. commit c50ba14cea1d60e21d587164612b1866d8e58bba Author: Patrick Bernaud Date: Fri Jul 11 16:03:10 2008 +0200 Replace case conversion functions with GLib functions. Now use GLib case conversion functions, with the added benefit of UTF8 support, instead of libgeda string_tolower() and string_toupper(). Consequently these two functions have been removed. commit fa54e090d67849762c83231557bc6047bf035a03 Author: Patrick Bernaud Date: Fri Jul 11 16:03:08 2008 +0200 Cleanup detection of attribute when editing text object in gschem. Modified the verification on the text object in gschem o_edit() to use o_attrib_get_name_value() instead of local custom testing code. commit 872287f23b4880b01babed777efe7976783feab2 Author: Patrick Bernaud Date: Fri Jul 11 16:03:05 2008 +0200 Cleanup of libgeda o_attrib_get_name_value(). Rewrote o_attrib_get_name_value(): it now has support for UTF-8 attribute strings ; plus it can return only the name or the value or both name and value. Finally adapted code wherever it can benefits this new feature. commit 5d97c15d614030eb32ddc30e316fadd4d1416c6c Author: Patrick Bernaud Date: Fri Jul 11 16:03:03 2008 +0200 Fix memory leak in gschem. When processing file names passed on command line, the pathname built for each one was not freed. commit a76cf5cdda91c7070f4765107d3f8be89bbd05b6 Author: Patrick Bernaud Date: Fri Jul 11 16:03:01 2008 +0200 Remove unnecessary strippings of trailing directory separator. These strippings is no more necessary as GLib functions for building filenames (in particular g_build_filename()) takes care of any trailing directory separator for us. commit cd70e88b8c7faa4beea8b13b846e92807a252e63 Author: Patrick Bernaud Date: Fri Jul 11 16:03:00 2008 +0200 Replace getcwd() with g_get_current_dir(). commit 90b0ece453efc80490c6c277386f4f5f7bfdc4af Author: Patrick Bernaud Date: Fri Jul 11 16:02:59 2008 +0200 Simplify build of filenames with g_build_filename() (!). Modified code where possible to use preferably g_build_filename() instead of g_build_path(), or g_strconcat() and friends. commit a3513b7e6dc7bf6c36d95d4da86082beeb79831d Author: Patrick Bernaud Date: Fri Jul 11 16:02:57 2008 +0200 Replace standard string manipulations with GLib string utility functions. commit da1d2e7b304f9d832bdee9c8dfb9fe4604e19cc9 Author: Patrick Bernaud Date: Fri Jul 11 16:02:56 2008 +0200 Remove tests for NULL prior to freeing with g_free(). Testing if pointer on memory to free is not NULL is unnecessary since g_free() does the test itself. commit 21bdf2fbbad2146234fd32a0fe04bddcaddb64f8 Author: Ales Hvezda Date: Sun Jul 6 22:21:00 2008 -0400 Updated versions in the important man pages commit 8479d01b6a4a819ae105659a9b9f1e6ab2d85136 Author: Ales Hvezda Date: Sun Jul 6 22:03:02 2008 -0400 Updated all ChangeLogs by running ./update-changelogs.sh 1.0-20070526..master commit 8773525a45c1e33a2f020ac511f628e04ff373b9 Author: Ales Hvezda Date: Sun Jul 6 22:01:37 2008 -0400 Ran make update-po in all po directories (in prep for a new release) commit 2740891d2b1a2e9b8ad0ef27ef1cb54ec47f9b74 Author: Ales Hvezda Date: Sun Jul 6 21:51:28 2008 -0400 Removed some m4 files which no longer exist commit 97c1b01e1c95d2f8a334d916ffc60d35797782c2 Author: Ales Hvezda Date: Sun Jul 6 09:34:01 2008 -0400 Fixed up all icon-theme-installer files to work with non-bash Grabbed the latest icon-theme-installer files from the pcb repository since they have been fully patched to work with non-bash shells. On my ubuntu system, /bin/sh is linked to dash which prevented me from running the previous version of icon-theme-installer. This commit is related to a7e7a28613abe4705ec01011d0f4308ff024251b commit 7ae9572f269c8b973bb4a38014e28dbc10cdcb32 Author: Ales Hvezda Date: Sun Jul 6 08:38:24 2008 -0400 Bumped versions to 1.5.0/20080706/34:0:0 for the next development release commit a7e7a28613abe4705ec01011d0f4308ff024251b Author: Carlos Nieves Onega Date: Sun Jun 29 19:00:10 2008 +0200 Changed shell from bash to sh in icon-theme-installer Changed shell from bash to sh in icon-theme-installer. This commit is still not tested in non-bash systems. Applied partially geda patch #1978537 (only bash to sh change, not removal of $INSTALL_DATA_EXEC check) from anonymous contributor and Dan McMahill's test case change in line 103 from: http://pcb.cvs.sourceforge.net/pcb/pcb/icon-theme-installer?r1=1.1&r2=1.2 commit 55b378f5eddc78f0f3f48c83f401e454323d9bd9 Author: Werner Hoch Date: Fri May 23 17:02:51 2008 +0200 gschem: use pointer from drawing area in preview and x_attribedit The preview widget used in the file dialog and in the component dialog is now using the pointer from the drawing area, too. The motion event function that tracked the pointer is no longer required. The attribedit dialog used the mouse_wx/y variables to set the attribute postion when activated with the hotkey. This usage has been removed. Removed all mouse_wx/y occurences in x_event and in the global.h file. This variables are completly gone now. commit 5681a43743b2ccfdf246679ad78f186b5a7f1f14 Author: Werner Hoch Date: Fri May 23 16:54:28 2008 +0200 gschem: use pointer from drawing area for all gschem callbacks The global variable for the pointer mouse_wx/y are no longer used. The zoom and panning actions have a unsnapped position again. Note: If the pointer is outside the drawing area and a hotkey action is triggered the action will be ignored. commit 0b0100eefa31acbd56f41ca639856da904645e74 Author: Werner Hoch Date: Fri May 23 10:22:25 2008 +0200 gschem: added function to get the pointer from the drawing area The new function x_event_get_pointer_position() get's the mouse position from a given GSCHEM_TOPLEVEL object. This function will replace the global mouse_wx, mouse_wy variables in the following commits. commit 016cd29c2d4cb540f70f01c14059b0d538b801d6 Author: Peter Clifton Date: Sun May 18 18:11:45 2008 +0100 Add o_copy_rubbercopy() and o_copy_rubbercopy_xor() Make use of o_copy_rubbercopy_xor() throught the code to avoid duplication of o_drawbounding() calls. commit cc5017e65222ec97e084c17a3920dc29f5e65532 Author: Peter Clifton Date: Sun May 18 18:11:42 2008 +0100 Rework o_buffer_place_rubberplace() to follow usual semantics. Renames o_buffer_place_rubberplace() o_buffer_place_rubberplace_xor() and re-adds o_buffer_place_rubberplace() which now follows the "undraw, move, draw" sequence like the other functions with this naming pattern. Make use of o_buffer_rubberpaste_xor() throught the code to avoid duplication of o_drawbounding() calls. commit f8bc1947ddf59f8e437702b6f83c1292cb6f50ac Author: Peter Clifton Date: Sun May 18 18:10:25 2008 +0100 Rework o_text_rubberattrib() to follow usual semantics. Renames o_text_rubberattrib() o_text_rubberattrib_xor() and re-adds o_text_rubberattrib() which now follows the "undraw, move, draw" sequence like the other functions with this naming pattern. Make use of o_text_rubberattrib_xor() throught the code to avoid duplication of o_drawbounding() calls. commit deae2c854ddc1461811c176e78f69842be738321 Author: Peter Clifton Date: Sun May 18 18:09:49 2008 +0100 Use o_complex_rubbercomplex_xor() where possible to simplify code. Adds a parameter "int drawing" to this call, which is passed on to o_drawbounding(). This is used to determine whether the operation is to undraw an old object (in which case, the old feedback mode is used), or is drawing new objects, in which case the current action feedback mode is used. commit 6359729a98bb9f34a4b460d6b42e85cf502ae010 Author: Peter Clifton Date: Sun May 18 15:34:29 2008 +0100 Fix rotate whilst moving to rotate about the current mouse coordinates Bug appears to have been introduced when changing from screen to world coordiantes in 1b05cbfcbb07970159c58b2b18d583516e257a45 commit 62a3123ce33d825855735ed8727c8f617b46b61e Author: Peter Clifton Date: Sun May 18 14:27:46 2008 +0100 Add o_move_rubbermove(...) function to keep move logic in o_move.c commit ec074cb3ca38db23516d89df6bf4f60f13229822 Author: Peter Clifton Date: Sun May 18 14:27:44 2008 +0100 Rework o_complex_rubbercomplex(...) to follow usual semantics. Renames o_complex_rubbercomplex() o_complex_rubbercomplex_xor() and re-adds o_complex_rubbercomplex() which now follows the "undraw, move, draw" sequence like the other functions with this naming pattern. commit 4768b20db9983ae7d0b3221d9340a61ca2a805c0 Author: Peter Clifton Date: Sat Apr 26 17:58:06 2008 +0100 Various whitespace changes and tidy-up split from code-change patches No code changes. commit d76dfc090cd97a1aa582fd215468ec6b6d234f57 Author: Peter Clifton Date: Sun May 18 13:55:38 2008 +0100 Remove bounding box undraws in DRAWTEXT and DRAWCOMP states These two states are used when no drawing has yet hit the screen, so there should not be XOR drawing calls to "undraw" changes which haven't been made. commit de5a6de1643a041e70acf1f27b02281fe16f23b7 Author: Peter Clifton Date: Sun May 18 13:54:54 2008 +0100 Fixup prototype variable names to reflect their usage (screen vs. world) commit 2337e0a71a5c5f2181801441e4435d0cb44c5ba0 Author: Peter Clifton Date: Sat Apr 26 17:57:50 2008 +0100 Tidy up some whitespace in gschem/src/x_event.c commit 38bf778654574851469b6b280cf2aef5bc2bff0e Author: Werner Hoch Date: Sun Apr 20 21:55:04 2008 +0200 set rubber invisible at the end of each object draw action, cleanup It's more save to reset the variable GSCHEM_TOPLEVLE->rubber_visible after any creation of an object. This variable is usually reset inside any redraw action, too. Moved some event code from o_bus to x_event. Moved setup of w_x/y variables some lines up to prevent uninitialised usage. commit 73d59cd8394c172ffdcb17e860ae0d9a01b46bc9 Author: Werner Hoch Date: Sun Apr 20 11:12:38 2008 +0200 balancing snapped and unsnapped x/y coordinates All object actions need snapped coords, while selecting and zooming/panning need unsnapped coords. Unsnapped actions are now select, select-box, zoom-box and grips actions. grips motion is slightly special for arcs. While the radius is snapped the manipulation of start and endangle needs to remain unsnapped. All other grid motion actions (line, box, ...) still needs snapped coords. commit eb3a7b13f85c9a84b88d9de2e3ad29f1245dd865 Author: Werner Hoch Date: Sat Apr 19 19:38:06 2008 +0200 use world coord for to find objects, cleanup Removed all uses of the global screen variables mouse_x, mouse_y. This included changes when adding an attribut and when finding an object. Additionally fixed a buggy call to o_pan. commit c484c83a3890ea22619c1c84757b83632e128ab4 Author: Werner Hoch Date: Fri Apr 18 20:54:29 2008 +0200 switched zoom and pan to world coordinates, cleanup zoom and pan are the last users of the old variables start_x, start_y, last_x, last_y, second_x, second_y, save_x, save_y. Those variables are obsolete and have been removed from the GSCHEM_TOPLEVEL structure. The panning also affected the preview widget. Which needed to be fixed, too. commit 69fa323b708bc5784a475a0911d1c100927edab8 Author: Werner Hoch Date: Thu Apr 17 23:08:20 2008 +0200 switch complex copy and complex place to world coords switched all functions to world coords. The temporary calculation of the world coords can be removed now, as all complex objects are in world coords now. commit 1e0500f9e3abb6ac431a8b69e4d97b5c17775155 Author: Werner Hoch Date: Thu Apr 17 22:12:23 2008 +0200 switched buffer insertion mode to world coords commit eb46913531447bd975e438c8697aded9ce07ee2f Author: Werner Hoch Date: Thu Apr 17 21:37:48 2008 +0200 switched selection and selection box to world coords The holdoff distance before starting to draw the selection box has been moved from x_event.c to o_select_box_start() commit 4820283ca1f6977ffbfed1565da5b2a70aa0eb77 Author: Werner Hoch Date: Tue Apr 15 21:44:07 2008 +0200 switched text code to world coords Changed all text creation functions to use world coords. commit 70afd4b31ebbb9dfc6c7a8ed0a33bb53f0ff0511 Author: Werner Hoch Date: Tue Apr 15 20:56:57 2008 +0200 switched o_draw_bounding and all xor drawing functions to world coords All object xor drawing functions are called in world dx/dy coordinates now. Changed the object code and the o_draw_bounding code. BUG: o_draw_bounding is still used in world and nonworld coords. commit 2d880f35530c43d5f291af6c70535c99a378ffdb Author: Werner Hoch Date: Tue Apr 15 19:09:24 2008 +0200 switched move mode to world coordinates Switched move functions to world corrdinates. This affects the net and bus when stretching them. BUG: The function o_draw_bounding is used by world and nonworld coordinates. This needs to be fixed with the next commits. commit 4cace928604a9b799e761a80d7b0424d45d554ce Author: Werner Hoch Date: Mon Apr 14 20:52:15 2008 +0200 fixed rubber color for pin and bus, fixed line erase The color of the rubber wasn't correct for pins and buses. The o_line_eraserubber function still used start_x. commit c4abffeb78305f3c7ede736b027def82c3171181 Author: Werner Hoch Date: Sun Apr 13 12:00:24 2008 +0200 switched picture rubber and manipulation to world coords Call all picture functions with world coords. commit 6cfafdaf3c09dde2aedfa7fc3f57662dd0b25ba9 Author: Werner Hoch Date: Tue Apr 8 21:15:36 2008 +0200 switched pin rubber drawing to world coordinates Call all pin functions with world coordinates. Replaced some of the gdk drawing functions with object drawing functions. commit ef2871ee0ee34af000205cdfe889fb2bad3a74bb Author: Werner Hoch Date: Mon Apr 7 20:47:44 2008 +0200 removed redundant x event state code from o_grips.c The removed code for updating the state and the toolbar is already present in the state code in x_event.c after the o_grips_end() call. Reseting the state variables first_wx, second_wx, ... is not required at all. commit 60b734ed80d7ccefba7a78a878714261a9637a67 Author: Werner Hoch Date: Mon Apr 7 20:32:01 2008 +0200 fixed o_grips_end manipulation for net/line and pin Fixed the code for the end of the net line and pin manipulations. Extracted the functionality to three new functions and switched them to world coordinates. Removed some gdk drawing code and replaced it with object drawing functions. commit f003de85165f11280f909acd6b785ebf38bacf39 Author: Werner Hoch Date: Sun Apr 6 21:41:19 2008 +0200 switched grips for line manipulation to world coords This also affects the line/bus and pin manipulation. While start and motion is identical, the end point of the manipulation has to be fixed separatly. commit 6efa4f6c16894852b409f130d50acef88d78aa22 Author: Werner Hoch Date: Sun Apr 6 20:05:25 2008 +0200 switched line rubber drawing to world coords Call all line functions with world coordinates. Removed some unused code. commit bdcb6e63c3ed1b19f0d1d854536b0e51aad85429 Author: Werner Hoch Date: Sun Apr 6 19:10:31 2008 +0200 switched bus rubber drawing to world coords Call all bus function with world coordinates. Added rubberbus_xor function to simplify code. Added some function documentations. commit 87aeb1ee33995af7645aa4d72265254d217f62ef Author: Werner Hoch Date: Sun Apr 6 17:29:40 2008 +0200 switched arc rubber drawing and manipulation to world coords Call all arc function with world coords. Removed obsolete loc_x/y variables. Removed unused functions o_arc_end2 and o_arc_end3. commit 0720815ae4594ae3a73ca96d6392ae35c2172e4a Author: Werner Hoch Date: Sun Apr 6 15:03:22 2008 +0200 switched circle rubber drawing and manipulation to world coords Call all cirle functions in world coords. Use rubber_visible variable to protect the drawing code from erasing errors. commit 4f5cf44b196790dbf5cf318977463b487a17ec89 Author: Werner Hoch Date: Sun Apr 6 13:09:35 2008 +0200 switched box grips to world coordinates This fixes the manipulation of a box, that broke in the previous commit. commit 693d7fbb8630bcb846ee72bb594a6c8612ec2f17 Author: Werner Hoch Date: Sun Apr 6 12:15:21 2008 +0200 switched box rubber drawing to world coordinates Call all box functions with world coordinates. Protect the rubber box from erasing if the rubber box has been erased by the redraw_all function. This happend if the user zoomed while drawing the box. The variable w_current->rubber_visible is used for this purpose. commit 1b05cbfcbb07970159c58b2b18d583516e257a45 Author: Werner Hoch Date: Sat Apr 26 17:09:58 2008 +0200 switched x events to world coordinates in net drawing code This includes the creation of w_x, w_y, mouse_wx, mouse_wy variables in the x_event functions. Call all net drawing functions in world coordinates. Print a warning message when connecting to offgrid pins and nets. commit 3372a6ff3e99fb1d46c694b1d7bb7a586c9eebb9 Author: Werner Hoch Date: Tue Apr 1 13:50:07 2008 +0200 removed redundant snap grid code in o_net.c commit fadb2326204bb6375749653d1e8a3035462b3479 Author: Werner Hoch Date: Tue Apr 1 13:37:05 2008 +0200 add world coordinates for the rubber lines, use them for net drawing This commit adds new variables to GSCHEM_TOPLEVEL. first_wx, second_wx, third_wx. They are intended to replace the screen coordinates start_x, last_x and last_y. Deployed that change in the net drawing code. This should finally fix Bug [#1928544]. commit 5f62a34fc821ced98f6faa7d4901ccd47e48380e Author: Werner Hoch Date: Tue Apr 1 10:20:18 2008 +0200 switched the net rubber code from screen to world coordinates Using screen coordinates for start_x, second_x and last_x causes integer arithmetic errors whenever the coordinates are converted between the screen an the world. The conversion occurs with the fix_x function and whenever the user zooms/pans in the drawing mode. This change fixes bug [#1928544] pointed out by Thomas Arndt. Note: This breaks the zooming and paning inside net drawing commit deacf7e8bc9a67aa4ac446f8627f177e8daa249a Author: Werner Hoch Date: Mon Mar 31 14:42:14 2008 +0200 Add CTRL modifier key to mangetic net mode If magnetic net mode is active and you don't want to connect to the closest possible connetion, you can use the CTRL key now. Note: You're losing the ability to draw non-orthogonal nets in magnetic net mode. commit 087374bd49bdc0fcefc535fe901de55439c28a17 Author: Werner Hoch Date: Sun Mar 9 10:14:50 2008 +0100 make the net direction mode configurable (ON/OFF) Add all variables and callbacks to make the net direction mode configurable. The configuration variable is used in o_net.c. commit c377b5f84dd046dd6716d262bc6b5c883bb9f280 Author: Werner Hoch Date: Sun Mar 9 09:40:11 2008 +0100 guess net direction when adding nets in gschem When drawing a L-shape net the old behavier was to draw the horizontal net first and the vertikal after. This patch guesses the direction dependant of the starting point of the net. It tries to continue nets and not to overwrite them. This functionality was originally written by "ar" and posted to the geda-dev mailing list. commit e089678b9fc068a4b14f41a47e7cef304d5d8221 Author: Peter Clifton Date: Fri Apr 18 14:11:06 2008 +0100 gschem: Fix memory leak in x_window_open_page() commit 949ebc253254a4ec4798ea5faab6bce698fabbb0 Author: Peter Clifton Date: Thu Apr 17 21:55:09 2008 +0100 gschem: Use argc, rather than relying that char **argv is NULL terminated commit f1754277410f7e42fa86371ff875dbbf9f5dd100 Author: Peter Clifton Date: Thu Apr 17 20:00:30 2008 +0100 gschem: Remove unused GDK global variable "visual" commit 84e20e053383201472c32834f4ea9995b8d20c45 Author: Werner Hoch Date: Wed Apr 2 22:49:42 2008 +0200 fixed syntax error typo in x_image.c repaced ":" with ";", Typo catched by Thomas Arndt commit af0d9f2e8825f7d23c691deec0e70f1eaaac0e38 Author: Ales Hvezda Date: Wed Mar 5 05:27:41 2008 -0500 Updated version to 1.5.0 to mark the start of the next development cycle commit fa3091a4da63abd5312be5b1cd132baefb9e77c1 Author: Werner Hoch Date: Sun Mar 2 18:06:51 2008 +0100 show the magnetic net mode in the status bar commit 24f0395aab9589f8e98f284e63fe77e6dc2d2836 Author: Werner Hoch Date: Sun Mar 2 16:42:06 2008 +0100 Fix drawing artefact in rubbernet drawing code The invalidation rectangles are to small if you're zoomed in. The half of the net width needs to be added to the rectangels. To do that, you need to sort the rectangle borders. commit 0b2ce2cb246fa46eae2abe53c32e2c1a2f100093 Author: Werner Hoch Date: Sun Mar 2 16:20:27 2008 +0100 Enlarge the magnetic net marker with increasing net line width When zooming in the magnetic marker became small relativ to the net width. This commit enlarges the magnetic marker with a constant factor relative to the net width. The line width of the marker is the same as the net width. commit ffd2298ca90e9e8616a2804c5708cb3d2ccb0a83 Merge: b62e017 1a49d46 Author: Werner Hoch Date: Sat Mar 1 09:43:53 2008 +0100 Merge branch 'magneticnet' commit 1a49d46192ff0e84e5727ba92829c56961119e5b Author: Werner Hoch Date: Wed Feb 27 20:12:26 2008 +0100 added configuration option for magnetic net mode in system-gschemrc Added a configuration option magnetic-net-mode and the g_rc function Set the default value to enabled. commit 855f29d44df73caef03ee49bd58f19897f31b69d Author: Werner Hoch Date: Fri Feb 22 21:46:21 2008 +0100 use tiles to find connections for magnetic net mode This commit changes the magnetic net code to use the tiles. This reduces the load when checking all the possible connections for every mouse movement. The patch adds a library function to get object lists which may contain objects in the region of the magnetic reach. In o_net.c the object iterator code has been changed to use the new library function. commit c283e8416d058258bab90b176ee94bb96308c710 Author: Werner Hoch Date: Sun Feb 17 12:14:27 2008 +0100 Only look for visible objects in magnetic net mode In a large circuit the cpu load can be quite large. Checking only visible objects decreases the cpu load. The magnetic reach area is now a circle (Pythagoras). A rectangle gives several points with the same distance at each side. commit 4b53eba9204af5eee37c308f23d396df21b2edad Author: Peter Clifton Date: Fri Feb 15 22:24:33 2008 +0000 Don't change back to a deleted page after the "Save changes?" dialog. Only switch back to the previous page being edited if that was not the one just deleted. Fixes crash or memory corruption after closing this dialog. commit de64a4f9ff006a80536359d148da9db57594083f Author: Werner Hoch Date: Fri Feb 15 00:38:51 2008 +0000 o_delete_text(): only call o_attrib_slot_update() for COMPLEX objects. Fixes crash observed when deleting attributes from a net. commit 26883a66c3711ffe04eb5280c4b49c483ca50e95 Author: Werner Hoch Date: Thu Feb 14 21:49:25 2008 +0100 added reset function to net drawing code This reset function cleans up all variables required to draw nets. It is used before entering net drawing mode and should be used whenever the STARTDRAWNET mode is entered. Fixed the last drawing artefact in STARTDRAWNET state. commit aa26da60b8c2a7e66c8b4d6446e7b67de2c3537a Author: Werner Hoch Date: Wed Feb 13 21:38:54 2008 +0100 misc cosmetic corrections for the magnetic net Put the magnetic marker onto grid (fix_x/y) Changed the marker from a rectangle to a circle. Changed the calculation of the magnetic reach from x+y to max(x,y). This enlarges the reach into the 45 direction. commit 6e092d15b6e1881789561653ded80f98c5bdc2f5 Author: Werner Hoch Date: Sat Feb 9 12:56:09 2008 +0100 connect the magnetic net mode into the net drawing functions The magnetic net mode is now use to set the start net point, track the closest connection in the rubbernet function and to get the end point of the net. The endpoint in the magnetic mode is calculated in the new function o_net_finishmagnetic. This commit is based on the patch written by Franz Mottas and Thomas Arndt [#1824420]. commit 96fbd6214a4a364d0aa45b405293421623ea939c Author: Werner Hoch Date: Sat Feb 9 11:09:10 2008 +0100 core code for magnetic net mode: find connections and draw marker When in STARTDRAWNET state, search for the closest connection. Added code to search for that connection and to draw and erase a rectangular magnetic net marker. This commit is based on the patch written by Franz Mottas and Thomas Arndt [#1824420]. commit 3a412167fe7e16526fafdfea273b3daf8be207b3 Author: Werner Hoch Date: Sat Feb 9 08:54:45 2008 +0100 added menu entry and callbacks for magnetic net mode Added a entry into the options menu to toggle the magnetic net mode. Added all required variables in GSCHEM_TOPLEVEL. This commit is based on the patch written by Franz Mottas and Thomas Arndt [#1824420]. commit 1d1c604d63bfe8f6eff91749953ba713f7b3745c Author: Werner Hoch Date: Sat Feb 9 08:11:38 2008 +0100 fix drawing artefact when drawing a net and zoom/pan Zooming and paning redraw everything and if there are rubbernets they get deleted, too. We have to tell the rubbernet function that the rubbernet is no longer on the screen. Thus I've added a flag rubbernet_visible as indicator. This flag needs to be set when drawing, and reset when the rubbernet gets erased. commit 20e0e015622bd57d9b0704d39593f209e49a3396 Author: Werner Hoch Date: Fri Feb 8 20:57:09 2008 +0100 moved rubbernet drawing code into a extra function commit 921ed5c0b907fb0f11cfff2233758a2c0169c3e0 Author: Werner Hoch Date: Fri Feb 8 20:40:43 2008 +0100 Reuse common code from o_net_eraserubber in o_net_rubbernet The removal code or the rubbernets is the same in both cases, reuse it. commit 3ebfd10448ffefd902325b115193cb95cbeeaaf5 Author: Werner Hoch Date: Fri Feb 8 20:24:14 2008 +0100 reuse common code from o_net_eraserubber in o_net_end reuse the o_net_eraserubber function in o_net_end. o_net_end deleted a rubbernet the same way as o_net_eraserubber does. commit cf7689c9b6950c1694edacf9d750a48d87d462be Author: Werner Hoch Date: Fri Feb 8 19:34:18 2008 +0100 Remove unused drawing code from function o_net_start() This code was never used as the line lenght of both rubbernet segments was set to zero before drawing it. commit 56a787446f3f5a244c8b4cec21cdc4e489e19568 Author: Carlos Nieves Onega Date: Wed Feb 6 21:25:58 2008 +0100 Fix documentation about list format. - Applied patch from Timur Aydin , fixing a comment on top of the list that explains each individual item in that list. The comment didn't match the actual list definition. - Added comment about considering line width when calculating a component's reference point. commit 5757ce41ac1846814b0e96885942f2e011f2d3b7 Author: Peter Clifton Date: Fri Feb 1 13:06:15 2008 +0000 Rename translations to drop un-needed ISO-3166 country codes. From Debian bug #336796: Using a country part in a translation file is a discouraged practice except in very few cases (such as pt_BR). Using a fr_FR.po file instead of a fr.po file prevents users of fr_CA, fr_BE, fr_LU, fr_CH and all other existing and future locales for French to benefit from the French translation of the program. In general PO files should only be named after the ISO_639 code of the given language and should not use a country part with a ISO-3166 code. The only accepted expcetions to this are: -pt_BR for Brazilian Portuguese and pt alone for "standard Portuguese" -zh_CN for "Simplified Chinese" use in mailand China and Singapore -zh_TW for "Traditional Chinese" used in Taiwan commit 22396b286d50c454287ff94a3c3de414b3f9a08a Author: Werner Hoch Date: Sat Jan 26 19:27:15 2008 +0100 update the pinnumbers if a slot attribute is deleted Update the slots whenever a text line that is attached to an object gets deleted. The update checks the slotting even if there's no slot attribut. This catches the case when the user deletes a slot attribute and the current displayed pinnumbers are not the ones defined in the symbol. This commit fixes [#1880221] commit b202ee510fb90cedd038ce5ec41cc6de453dbeea Author: Ales Hvezda Date: Sun Jan 27 11:47:13 2008 -0500 Updated ChangeLogs for the 1.4.0 release commit 5e4ee69035885d76fba09aa453789be68481c69a Author: Ales Hvezda Date: Sun Jan 27 11:46:06 2008 -0500 Ran make update-po one more time before the 1.4.0 release commit b11f5701b2329f1cb7ff64d2419197a6587d2008 Author: Werner Hoch Date: Sun Jan 27 09:24:01 2008 +0100 Updated german translation of gschem commit 58898d9db5403355c3984d4c4c970e4477d7e85a Author: Ales Hvezda Date: Sat Jan 26 22:12:05 2008 -0500 Fix a crash when running a script that calls (gschem-image ...) x_image_lowlevel frees the last parameter (filetype). This free was causing a segfault when x_image_lowlevel was being passed a constant character string. Bernd Jendrissek found this bug during an irc discussion. Thanks. commit 5d619d94e6142ad683b26aa302348b3cf559d459 Author: Peter Clifton Date: Sun Jan 27 02:51:01 2008 +0000 Only call gdk_window_invalidate_rect() when drawing to a GdkWindow. For image export, a GdkPixmap is used in place of w_current->window, and calling gdk_window_invalidate_rect() with this as an argument causes lots of nasty warnings. It led to a crash when print.scm is used to export from the command line. This "fix" is really quite a nasty hack. Since w_current->window is a GObject in both cases, a test with GDK_IS_WINDOW() can be used to distinguish the cases. A better fix will come from future rework of the drawing code. commit bab0fb5d22b22b5452da553306555d7ff069ebd3 Author: Ales Hvezda Date: Sat Jan 26 21:03:50 2008 -0500 Changed Edit/Undo and Add/Bus hotkeys Previously, "u" was add-bus-hotkey, which was annoying a growing number of users. Now "u" is undo and "Shift-B" is add-bus. There are now like four different keys for undo (u, Shift-U, Control-Z, and "e Shift-U") in the default keymap. Add/bus has "Shift-B" and "au" as hotkeys. commit 3d43c5d642ebe12a69380e8accf5533d338ee5e5 Author: Ales Hvezda Date: Sat Jan 26 20:07:45 2008 -0500 Bumped versions to 1.4.0/20080127/33:0:0 for the next stable release commit ecda6ee9e101563f7fed092150532256fd9b343e Author: Ales Hvezda Date: Sat Jan 26 19:50:16 2008 -0500 Updated all dates and versions in all man pages commit 9a4bbc16c5c0e408aabbc69c1c1cc10cb4b7675f Author: Ales Hvezda Date: Sat Jan 26 19:48:29 2008 -0500 Manually ran make update-po in all po dirs in prep for the 1.4.0 release commit 915463b5f3fe41419307e5dee4d227f3c9a9bb5e Author: Peter Clifton Date: Sat Jan 26 22:06:06 2008 +0000 Invalidate component cache when updating symbols. [#1880211] Temporary fix for Bug #1880211, "symbol update reads the symbol from the cache". Ensure that when refreshing symbols, the symbol is read from the component source, not from the cache. (Suggested by Peter Brett). A more complete fix will be to add API which invalidates a single symbol name, rather than the entire cache. commit 968c37becebd630b85abd8bf3546a834db419aaa Author: Werner Hoch Date: Sat Jan 26 15:26:53 2008 +0000 Update the pinnumbers when updating a symbol with slots Fix for [#1880207]. When updating symbols, gschem loaded the pinnumbers from the symbol file without respect to the slot attribute. commit fccaae6b363d7f81ab94725751314813c42b718d Author: Peter Clifton Date: Wed Jan 16 20:08:27 2008 +0000 Fix use after free corruption when consolidating nets commit bcea0ec85eb10a97b2f794fa240052b25d386cb9 Author: Bernd Jendrissek Date: Fri Jan 18 22:54:33 2008 +0000 Update Afrikaans translation to fix spelling error. commit ec4b6287bbb4f709a7d3258a7474ec716933ca4b Author: Ales Hvezda Date: Fri Jan 11 01:23:39 2008 -0500 Manually ran make update-po in all po directories in prep for the 1.3.1 release commit d2047bc2a06e6534ff32464d36f8a95aec11b9d7 Author: Ales Hvezda Date: Fri Jan 11 01:11:12 2008 -0500 Updated all ChangeLogs for this release (1.3.1) commit bab45317a9e009449942e87d2ce2506287368187 Author: Bernd Jendrissek Date: Fri Jan 11 05:10:13 2008 +0000 Add Afrikaans translation for gschem (af_ZA.po converted to UTF-8 encoding by Peter Clifton for consistency) commit 8eeb92aa5d10d7c4808d039e09b4b6626e380138 Author: Ales Hvezda Date: Thu Jan 10 23:51:08 2008 -0500 When doing a find_text into hierarchy, the titlebar was not being updated Added a update call into o_edit_find_text that made sure the titlebar and scrollbars are properly updated when the found attribute is displayed. This addition will do a full redraw as well (not sure if that is going to cause problems at this point). commit c1e3075cb263a6098d2351440b680247456ae0d0 Author: Ales Hvezda Date: Thu Jan 10 00:27:16 2008 -0500 Updated and correct the gEDA/gaf man pages a little bit. This is the fix for SF Bug: [ 1556064 ] man page version out of date commit 7b0c15cea18baf9a2a3bb8c89ccb02034a821156 Author: Bernd Jendrissek Date: Thu Jan 10 01:24:26 2008 +0000 gnetlist: Fix typo (Peter Clifton modified the patch to fix translations at the same time) commit 015f1dc8f08ef4ff9510dc04859b88311dedf237 Author: Carlos Nieves Onega Date: Mon Jan 7 20:22:46 2008 +0100 Updated gschem's spanish (Spain) translation. commit fd560649436835795f173f0fd3dc498133040f9a Author: Peter Clifton Date: Sun Jan 6 21:02:26 2008 +0000 Validate log messages to ensure they are UTF-8 before passing to GTK commit 048bd6f8e2fc1c5f5b01ff3f1cad3a7c9bf43f3e Author: Peter Clifton Date: Sun Jan 6 20:36:52 2008 +0000 Allow configuration of the scroll wheel's action to match GTK app. norms Adds configuration parameter (scroll-wheel ...) which takes either "classic" or "gtk" as a string argument. "classic" remains the default. Tidies x_event_scroll() to deal with the various options in a neater way. commit 3aaba690a9360bfe9acd480acf5d549d05513f52 Author: Bert Timmerman Date: Sun Jan 6 12:18:06 2008 +0100 Dutch translation file reviewed for upcoming release. - Updated modified texts. - Corrected minor typos near exclamation marks. - Tried to conform to new Dutch spelling definitions. commit e800618afe70c93c3739d725172dfdba95386232 Author: Ales Hvezda Date: Sat Jan 5 21:14:51 2008 -0500 Manually ran make update-po in all directories commit b2380c0f70344117be7045a5fc1483698fdf4358 Author: Ales Hvezda Date: Sat Jan 5 20:57:51 2008 -0500 Bumped versions to 1.3.1/20080110/32:0:0 for the next development snapshot Note, libgeda's so did not change at this time. commit 6b36311d3be00d9b4901a876f5f4da4f892e3bce Author: Peter Clifton Date: Sat Jan 5 22:10:31 2008 +0000 Remove extraneous printf where they duplicate log messages. commit d367e94f7d11ceb66c8ad95332052d2abf5ed09c Author: Ales Hvezda Date: Fri Jan 4 13:33:15 2008 -0500 Added consistent border width to the in-use scrolled window Without this border width, switching between the in-use and library tabs caused the scrolled windows to jump around. Plus now the spacing is consistent between the two tabs. commit 3fb40e7713e33a034632386a1446e3d94b25e6a5 Author: Ales Hvezda Date: Fri Jan 4 13:30:26 2008 -0500 Added refresh button to the in-use tab in the component selection dialog The refresh button refresh the in-use component list as well as the library component list. Before this patch, the refresh button was only in the library tab and not accessible from the in-use tab. commit cf1ebffc8fc1634dc82cfd3a5e2748edadea4565 Author: Peter Clifton Date: Fri Jan 4 20:26:24 2008 +0000 Remove "Apply" button from the component selector. As the component list is de-selected when placement mode is cancelled, the action of re-selecting a component to place switches back to this mode without the need for an explit "Apply" button. commit 8333e806fef245815235d8f96a81fcd06b96dfa4 Author: Peter Clifton Date: Fri Jan 4 20:23:22 2008 +0000 De-select list in the compselect dialog when placement is cancelled. By de-selecting the list, we ensure that the list state reflects the component the user may currently place. It allows the same component to be selected for again, without either using the "Apply" button, or having to temporarily select a different component first. As a hook to de-select the list is added in o_redraw_cleanstates(), we now avoid using that call as a shortcut to cleanup our last place operation. It is still used if the last operation was not a component placement. commit 3ae9c752b203ddc66b94c3f6cda352ee9306f13d Author: Peter Clifton Date: Fri Jan 4 20:06:24 2008 +0000 Add call to o_redraw_cleanstates() in the edit_{copy,mcopy,move} actions. Ensures that any existing action is appropriately cancelled before starting the new action. commit 09c5d9fe73e0874b8b86b50c1ddc552254ee8661 Author: Peter Clifton Date: Fri Jan 4 18:08:22 2008 +0000 gschem: Remove extraneous debugging printf from g_hook.c commit 9aca06cdb70c3fc9595beb82713eedd90a7e1d16 Author: Ales Hvezda Date: Fri Jan 4 12:57:58 2008 -0500 Added checks at the autogen.sh stage for missing m4 macros This commit adds a autoconf friendly m4 macro to check for undefined macros (originally written by Peter Brett). This macro is used in configure.ac.in to check for a few troublesome macros (guile, nls, gettext, intltool) that are usually missing because a required -dev package is not installed/missing. commit ef9f1e110cc8d67a98310e9c689c5afe5363be25 Author: Peter Clifton Date: Wed Jan 2 19:15:14 2008 +0000 Prefix "geda-" to icon names to help namespace the icon theme. commit 1697a90e5465dde296199745991e76df8f68c3be Author: Peter Clifton Date: Wed Jan 2 15:41:07 2008 +0000 Changed --with-xdgdir to --with-xdgdatadir for consistency commit ee47fc5fa6d418a54af62a55a78e508d95a0f913 Author: Peter Clifton Date: Wed Jan 2 02:46:14 2008 +0000 Change usage of ${datarootdir} to ${datadir} for autoconf compatibility. commit 208cb97b474b29efea9b76d8b9099ffe2bf446af Author: Peter Clifton Date: Wed Jan 2 01:22:20 2008 +0000 Fix typo in --disable-update-desktop-database help text Also fixed closing comment which had "mime" instead of "desktop" commit 25557429d0ca8baaa921b4a2ce5f243f8df8dfc2 Author: Ales Hvezda Date: Tue Jan 1 16:14:09 2008 -0500 Updated gschem's autogen.sh to be identical libgeda's This commit also fixed up the build mechanism for gschem to recreate configure.ac if configure.ac.in changes. These changes are identical to 1a1cbb29f5d1ff118fb91235463e57a48ba81054 commit 5f3cde4f20975275cb38b52cd3155fda41201209 Author: Peter TB Brett Date: Tue Jan 1 17:24:18 2008 +0000 Fix configure checks for Guile (again). The previous patch missed changing the gschem configure script (generated from configure.ac.in), and got the logic wrong anyway. commit 2f7e3ae60480743a8268d392272d05bd77dd75c8 Author: Ales Hvezda Date: Mon Dec 31 20:43:08 2007 -0500 Updated all ChangeLogs for the past development release (1.3.0) This step was supposed to happen before the 1.3.0 tarballs were released. These changes will be picked up in a subsequent release. commit 0525e60123ab47ff62c9c30f4a3159ca75bbb456 Author: Peter TB Brett Date: Sun Dec 30 20:15:19 2007 +0000 Add TAGS to some .gitignore files. commit ec101c69efe4cef25410fc6e8b9e43a3dbafd5f0 Author: Peter TB Brett Date: Sun Dec 30 20:15:19 2007 +0000 gschem: Use protected evaluator to run menu functions. commit 46f8e5671e1f22ed32d02ce7fd4f87f65f257c0f Author: Ales Hvezda Date: Sat Dec 29 22:32:31 2007 -0500 Created POTFILES.skip (with intl/plural.c inside) to make distcheck happy commit ba474af87840a0d49e04a00de96b7df2944c09bd Author: Ales Hvezda Date: Sat Dec 29 09:57:43 2007 -0500 Bumped versions to 1.3.0/20071229/32:0:0 for the next development snapshot commit 7c82238f3b2433607f8af6c873af99a642f05409 Author: Ales Hvezda Date: Sat Dec 29 09:22:38 2007 -0500 Ran make update-po in all po directories in prep for a new release. commit ae6aeb9b656ead47d5cad5cbc7370cf59877eda7 Author: Werner Hoch Date: Sat Dec 29 09:00:36 2007 +0100 ignore deleted geda-gschem.pot in .gitignore commit e2f7ebf5903560592cd31168085068310c2a12fb Author: Werner Hoch Date: Sat Dec 29 08:56:40 2007 +0100 gschem: updated german translations commit 15ff1a06a1352871426a9774a5037519e74759f6 Author: Ales Hvezda Date: Fri Dec 28 23:52:17 2007 -0500 Removed now machine generated file commit fdf272053572b5017fa342d91e7ed2ee559e1e2d Author: Ales Hvezda Date: Fri Dec 28 23:36:02 2007 -0500 Fixed a minor newline typo commit 91a9b7a5391544f961c96d376186228a72410f67 Author: Peter Clifton Date: Sat Dec 29 03:12:06 2007 +0000 gschem: Fix copy-paste error handling line-style keyword in g_rc.c commit 91726e0964602983e8f896be86aa056afc96baff Author: Peter Clifton Date: Sat Dec 29 01:41:14 2007 +0000 Change image embedding format to base64 encode the original files Previously, the format was a base64 encoding of serialised output from the gdk_pixbuf used to store the image internally. Due to another bug (now fixed) it is known that no official gEDA release could re-load the embedded images that it saved. This hopefully provides some justification as to why its OK to change the embedding format here. commit 1061b44d8af612e15b4179b71aac44c3959e09b9 Author: Peter Clifton Date: Sat Dec 29 01:38:55 2007 +0000 gschem: Redraw after embedding or unembedding components commit cf5a697b83f1d53d6c9299a39d37d7d685f374eb Author: Peter Clifton Date: Sat Dec 29 01:37:18 2007 +0000 Add undo save for embed / unembed operations commit 5ad632442a79dcf8ddb0fd60cdd9a1c09acfc39a Author: Peter Clifton Date: Sat Dec 29 01:37:10 2007 +0000 Use gdk_pixbuf_copy(...), not gdk_pixbuf_rotate(.., 0) to copy pixbufs commit 70293381f5af9957afbd3e3fd0614d838738c7a7 Author: Peter Clifton Date: Sat Dec 29 01:37:02 2007 +0000 Compute picture aspect ratio in double arithmetic, not integer. Avoids a nasty bug where coordinates would overflow when attempting to grip-adjust the picture size due to this ratio being incorrect. commit c356556b29a991ec1f40b6be01e332fdfd663dac Author: Peter Clifton Date: Sat Dec 29 00:48:09 2007 +0000 gschem: Fix erase drawing of objects Code which used o_..._erase() was not causing invalidations of the dirty screen regions. Refactored to the code to use o_erase_single() instead, and deleted the then unused o_..._erase() functions. commit 532aa7129dafe872d0993fed52d0dcba92e78399 Author: Bert Timmerman Date: Fri Dec 28 22:04:26 2007 +0100 Updated the Dutch translation for gschem. commit b03232ea8fe9f911af8265c63b16425cf7ee70cb Author: Peter Clifton Date: Fri Dec 28 18:52:30 2007 +0000 Allow standard glob matches in the component selector's filter entry. commit f2101950cde757e1b51c8e6e70a5d764d8a7fa99 Author: Peter Clifton Date: Thu Dec 27 21:54:16 2007 +0000 gschem: Don't delete po/ChangeLog on make maintainer-clean Also removed rule to delete po/Makefile.in.in as this also exists in the po/Makefile maintainer-clean rule. commit 127cff28ce52f41ce0972e8109049ecb78b09cc3 Author: Peter Clifton Date: Tue Dec 25 23:09:28 2007 +0000 Add English (British) translations for libgeda and gschem commit b9f741e0906295754fa5e1301cf3079aee88ff55 Author: Peter Clifton Date: Tue Dec 25 05:12:40 2007 +0000 Remove intltool-*.in files during make maintainer-clean commit 76885149df80234cd91c42ca83752cfe5cd470f8 Author: Peter Clifton Date: Sun Dec 23 06:11:31 2007 +0000 Add --with-xdgdir=... option to gschem and gattrib to match libgeda commit 5ee84ba2b7f534b11b7487c91413deaf393cb7ca Author: Peter Clifton Date: Sun Nov 18 22:55:34 2007 +0000 Add .desktop and icon files to gschem and gattrib Ship application icons and .desktop files for gschem and gattrib. The gschem icons were contributed by Tomaz Solc, and the gattrib icons created by Peter Clifton. Uses the intltool framework to translate the .desktop files. commit cd5263a602c8da768d3af7fdf9aca99847324d9e Author: Peter TB Brett Date: Sat Dec 22 21:46:25 2007 +0000 gschem: Don't lose close confirmation dialog behind window It was possible to lose gschem's close confirmation dialog behind the gschem main window, which could lead to data loss as it was then very difficult to recover gracefully. commit b10a0ed7e99910a5d83565ede63a7ff9b11bc528 Author: Peter Clifton Date: Sat Dec 22 05:32:31 2007 +0000 Switch back to the page we were on after a saving changed pages. The changed page saving code switches pages with s_page_goto(), but the page was not switched back. This lead to gschem being left editing a different page after a cancelled close operation. No redraw or GUI update was called, so the screen still showed the old page. commit ceacc48fd83d27953a9510374962f267c42e22e9 Author: Peter Clifton Date: Sat Dec 22 05:32:28 2007 +0000 Use Save, not Save As.. after prompt when closing modified schematics If the schematic is changed at exit time, a prompt is given. the "Save" option will save into the existing schematic file. If the page is untitled, a file-chooser will be presented.This is in keeping with other applications. commit f3de6fdfcd78b60d201e8786c78ea59bcc3f437e Author: Peter Clifton Date: Fri Dec 21 23:48:42 2007 +0000 gschem: Set default window icon to the "gschem" icon from the icon theme. When a "gschem" icon is found in the icon theme, this will be used as the default application icon. For GTK versions < 2.6, some default sizes have been picked at which to look for icons. GTK >= 2.6 will find the best icon by name. commit f024b92045527776c0ddf86ac16de5dfb09837ad Author: Peter TB Brett Date: Fri Dec 21 17:44:15 2007 +0000 gschem: Don't use direct o_???_translate_world() funcs Use o_translate_world() instead of the direct functions, so we can hide the internal implementation in libgeda. Only a very small performance hit. commit 52bb24c3868d14b12480037dc8f0b1450cc78d7f Author: Peter TB Brett Date: Fri Dec 21 17:26:30 2007 +0000 libgeda: Make sure that Guile smobs are initialised. Rather than initialising them in gschem, which is a WTF. commit 0a5ba355c6719172ec1e6325108d5c0e716d1a2e Author: Robert Fitzsimons Date: Fri Dec 21 14:13:51 2007 +0000 gschem: Fix segfault when trying to write an image. The change to split out gschem TOPLEVEL variables, left some code which tries to copy the TOPLEVEL variables from the old data structure. This caused a segfalut to happen on my system. commit 3b040cf8d60a8fbe45f6e7c5f3d71a3dea119357 Author: Peter Clifton Date: Wed Dec 19 17:48:57 2007 +0000 Add intltoolize to the build infrastructure Provide intltoolize infrastructure for translating .desktop and MIME XML files. Run gettextize after intltoolize if required, so that the infrastructure for providing libintl on a non GNU system still works. commit c290fcbcb34bd4adaee35a7ba4f655f88e4e252a Author: Peter Clifton Date: Mon Dec 17 23:11:47 2007 +0000 Check if bounds were found before invalidating drawn areas. If world_get_..._bounds() return zero (for example, in the case of invisible attributes, or an empty schematic), no bound coordinates are returned and we can't use them for further processing. commit 17998a71cc46a7eff3c738fcbd3851c7c8ea5930 Author: Peter Clifton Date: Mon Dec 17 23:11:44 2007 +0000 Fix bug #1851403: Crash after adding component while in move mode Ensure any operation already in progress when opening the component selector is cancelled by calling o_redraw_cleanstates() first. Also call o_redraw_cleanstates() just before placing the component, rather then directly freeing the objects in the complex place list. Since the component selector isn't modal, the user may have switched to a different action whilst the component selector was open. To avoid a similar crash, use o_redraw_cleanstates() upon closing the component selector (if we are still in component placement mode). commit 83b4c4f7d62c8a0a6a52ec092c9535f81f82deac Author: Peter Clifton Date: Mon Dec 17 23:03:53 2007 +0000 Fix memory leak in o_redraw_cleanstates() called during copy or place. For actions other than "MOVE", the objects in the complex_place_list must be free'd as they are otherwise unowned. commit 95a9632f6b4970b578fe06647496f339ee5fa1f8 Author: Peter Clifton Date: Mon Dec 17 23:03:49 2007 +0000 Fix i_callback_edit_copy_hotkey() to set new state after clearing old. o_redraw_cleanstates() needs to know the state it's clearing up. commit fb274693d442e16890582d7442f1d52d60e95755 Author: Peter Clifton Date: Sat Dec 15 16:53:25 2007 +0000 Add private function compselect_get_view() in x_compselect.c This function abstracts away an assumption we make that the tabs of the GtkNotebook inside the component selection dialog are in a particular order. Separating this into a function call which returns from an enum of views will stop this ordering assumption spreading throughout the code. commit a5f930da86483f05c58a92ea5ae436b25e548486 Author: Peter Clifton Date: Sat Dec 15 13:42:55 2007 +0000 Remove unused functions o_{net,bus}_xorrubber() commit 79f8378827becac265f5cd3a3327ab79a2c8befc Author: Peter Clifton Date: Sat Dec 15 13:31:39 2007 +0000 Always redraw the screen using a blit from the backbuffer. The previous redraw scheme which would draw to the screen concurrently with drawing to the backbuffer is proving to be a bottle-neck to recent desktops using compositing. Every draw we make forces the X server to compute a damaged region and re-composite the window. We now draw only into the backbuffer, and then invalidate the extents of the region we've drawn. commit 33e12c8916f6b3bcd2d0df2246ef925e7b25b0dd Author: Peter Clifton Date: Sat Dec 15 13:31:38 2007 +0000 XOR draw to remove component ghost when cancelling component placement. Changes previous full-screen redraw when cancelling component placement to use XOR drawing. Adds similar code to remove the ghost which exists (usually underneath the dialog) when the component selection dialog is closed. Don't rely on an expose event to re-paint it for us. commit ebf8dd81c398f39adcdbe4801d4a624ab1f73241 Author: Peter Clifton Date: Sat Dec 15 13:31:36 2007 +0000 Remove unused toplevel variable in o_grips_motion() commit 20f61e1aaebcf565e5d7dcf111b1c07cd8483fd1 Author: Peter Clifton Date: Sat Dec 15 12:32:52 2007 +0000 Fix test of object_changing in o_grips_motion() to a g_return_if_fail() This test isn't hit unless o_grips_motion() is called before the object_changing variable is set, and this would indicate a bug in libgeda or its client. This could currently cause a segfault if it were to happen, as the variable isn't initialised to NULL. Initialise object_changing to NULL, so any bug will always be caught. Tidy up indentation levels in o_grips_start() by returning early if we don't have any object to manipulate, rather than wrapping most of the funciton in an if (...) {...} test. commit 49bce50cbcfe83e7b53c4ffe76e4ca1edb333c38 Author: Peter Clifton Date: Sat Dec 15 11:37:51 2007 +0000 Remove un-needed box size computation in o_select_box_start() commit ec2269ef825369b75ab932f5395a2f64dae72847 Author: Peter Clifton Date: Sat Dec 15 11:19:48 2007 +0000 Fix stroke trail to be visible on light background color scheme commit a02bc0b501b7acbdf419ad306b46ec6a9522b61c Author: Peter Clifton Date: Sat Dec 15 11:12:47 2007 +0000 Erase stroke trails after an un-successful stroke recognition Previous behaviour was only to erase stroke trails after a successful match. commit 47240f890c2282d19a1822c280de4fac18a50e66 Author: Peter TB Brett Date: Wed Dec 12 19:19:13 2007 +0000 gschem: Warn before overwriting files. [1846593] Also fixes a memory leak in the file save function. commit 405e7a33706d1e82d53c8d607aad11f9be8ad559 Author: Peter TB Brett Date: Fri Dec 7 21:48:43 2007 +0000 General log handler improvements - Handle all messages above "debug" level - Send all messages which are neither "message" nor "warning" levels to console using default log handler - Don't print to console from the gschem log handler commit 22b3fde6c98fc0219e54bf7edfcd8dcb33c5fe92 Author: Peter TB Brett Date: Fri Dec 7 21:48:18 2007 +0000 gschem: Show log in pretty colours. commit 668ada22ec0f2a48adffcc62daacc6876108ee71 Author: Peter TB Brett Date: Fri Dec 7 21:48:17 2007 +0000 Pass all log info to x_log_update_func In order to enable applications to do interesting things with log messages, they need to have all of the log info (including severity and log domain). commit e0dda20b072897d6c00fddeddf729cab283a2810 Author: Peter TB Brett Date: Fri Dec 7 21:48:17 2007 +0000 gschem: Show an informative message dialog when loading a file fails. commit be301530f468e4d0057b3be68e218ac444c2d2be Author: Peter TB Brett Date: Fri Dec 7 17:20:55 2007 +0000 Make libgeda's f_open() & f_open_flags use GError. This patch actually *removes* error message output from file loading errors is some cases. This is for the sake of keeping the patch concise, and will be addressed in later patches. commit e4a1fa8545e76b4ef82cc1253e65a844fa5fea88 Author: Peter TB Brett Date: Thu Nov 29 13:32:15 2007 +0000 symbols: Nicer names for default libraries Use the features added in the component library backend rewrite to give the default component libraries less cryptic names. Also, put them in a sensible order, and disable component library sorting by default so that that order is preserved. commit 49059356b318abbfa2ce977e017859049fd40162 Author: Peter TB Brett Date: Thu Nov 29 08:37:12 2007 +0000 gschem: Fix file loading commit 5cb63878f258bc836a9908b329608268c38cf64c inadvertently broken file loading completely due to a logic error. commit 5cb63878f258bc836a9908b329608268c38cf64c Author: Peter TB Brett Date: Thu Nov 29 01:29:16 2007 +0000 gschem: Fix new page behaviour Currently, gschem attempts to load "untitled-1.sch" from the cwd at startup. This is clearly wrong -- gschem should present a blank page regardless of whether there is a page available on disk (consider behaviour for "untitled-N.sch", N>1). This has the side effect of stopping gschem from trying to load backup files for new pages (this is a good thing). commit 7228144a2195734300776a868ee88ee648a93df8 Author: Peter TB Brett Date: Thu Nov 29 00:29:15 2007 +0000 gschem: Fix "failed to set sensitivity" log spam A bad string in i_basic.c was making x_menus_sensitivity() spam error messages to the log. Altered the log message to make it easier to fix in the future. Bug was introduced in commit 93199b2f50c31691722ed154fc42fd4c01a2dac5 by editing menu definitions in system-gschemrc without updating i_basic.c. commit e97af7cb9cd0b79534cc2bf93e6e5dbf336e883a Author: Peter TB Brett Date: Wed Nov 28 14:58:15 2007 +0000 gschemdoc: Use xdg-open if available xdg-open is a tool from freedesktop.org which tries to use the user's preferred application to open a file or URL. This is a big improvement over using a hardcoded list of applications to try. commit ae225157603f063747709fa3d639ed8cdf63f6b1 Merge: 1abfd25 43b5713 Author: Peter TB Brett Date: Tue Nov 27 07:53:37 2007 +0000 Merge with Cesar's mingw/pu branch Merge commit 'cesar/mingw/pu' into premerge commit 1abfd25bf917ee4e90ccdbbbe9921db6ff46c49f Author: Peter TB Brett Date: Sat Nov 24 08:34:13 2007 +0000 gschem: Fix NULL pointer risk in x_image.c [1802087] x_image_update_dialog_filename may attempt to deference a NULL pointer. commit 74e7888ed1d23eac05d097f9d635d4a58a6576a3 Author: Peter TB Brett Date: Fri Nov 23 21:43:49 2007 +0000 gschemdoc: Quote variables in case they contain spaces. [1792986] In the gschemdoc shell script, the variables $pdfreader and $browser need quoting on lines 86, 113 and 128 (eg "${browser}"). Otherwise, paths with spaces in, like "Program Files/Mozilla Firefox" commonly used in Windows don't work. Based on anonymous SourceForge patch. commit 8b490a404e682ac4f1e4cbd46e22c92f58b2ae76 Author: Tomaž Šolc Date: Fri Nov 23 21:42:50 2007 +0000 Compilation fixes for Mac OS X 10.5 [1832417] This patch contains changes to gEDA source tree that were necessary to compile on Mac OS X (10.5 Leopard, PPC). commit 0b0d1259692ffe36e3bbc617af78bbf8a1c8f716 Author: Peter Clifton Date: Sun Nov 18 21:34:57 2007 +0000 Improve object mirroring API in libgeda + gschem Implements the o_mirror_world() function which rotates any object, and o_{glist,list}_mirror_world() functions which mirror lists of objects. Moves o_complex_mirror_world() from gschem into libgeda, and modifies appropriate places in libgeda + gschem to use the new API. The old gschem function o_mirror_world() becomes o_mirror_world_update(), a convenience function calling o_glist_mirror_world() and ensuring all necessary drawing and connection updates are made. Removes the o_complex_mirror_lowlevel() function which is made redundant by the above changes. commit 21a8790b0540c374b00cfc45ad79ab474a4655b0 Author: Peter Clifton Date: Sun Nov 18 21:34:35 2007 +0000 Improve object rotation API in libgeda + gschem Implements the o_rotate_world() function which rotates any object, and o_{glist,list}_rotate_world() functions which rotate lists of objects. Moves o_complex_rotate_world() from gschem into libgeda, and modifies appropriate places in libgeda + gschem to use this new API. The gschem function o_rotate_90_world() is greatly simplified, becoming a convenience function calling o_glist_rotate_world() and ensuring all necessary drawing and connection updates are made. This function is renamed o_rotate_world_update(). Removes the o_{complex,text}_rotate_lowlevel() functions which are made redundant with the above changes. commit 626f5c071a1dfea55e0214f6064b29908152d792 Author: Peter Clifton Date: Sun Nov 18 19:21:34 2007 +0000 Update the all drawing state SCREEN co-ordinates when zooming / panning. By updating all of the co-ordinate state when zooming / panning, a redraw which includes a draw of any rubberbanded items will show them in the correct location. This allows XOR drawing to continue without dropping artifacts, or flashing up a "ghost" where the original element being moved was. The explicit erase for the gost item when moving is no longer needed. commit b20fa7e79e364fc8b5188ce8f6d9d807d8185a44 Author: Peter Clifton Date: Sun Nov 18 19:19:20 2007 +0000 Rework o_drawbounding() to work without dropping artifacts in all modes. Simplifies both o_drawbounding(), and many functions which call it. No special casing outside o_drawbounding() is needed for OUTLINE vs. BOUNDINGBOX mode. Duplicated code has been reduced by making more use of o_drawbounding() during copying / complex OBJECT placement. This commit fixes bugs in code paths which aren't normally exercised, as the BOUNDINGBOX drawing mode isn't used any more. The code could be simplified further by removing the BOUNDINGBOX mode if desired. commit c3e9ed7bd974e4c8f8adbd7d61b44a11ed0edfe1 Author: Peter Clifton Date: Sun Nov 18 19:03:12 2007 +0000 Don't redraw the selected objects which are being manipulated by grips This saves the need to explicitly erase those object after every redraw. commit 0b34786f4d28b57854f5cc4851afa40ac44b4ac3 Author: Cesar Strauss Date: Fri Nov 16 09:33:52 2007 -0200 MinGW does not have getuid nor getgid. commit bdd7ef7ee9047c3942b43c165396ebe48d31e95a Author: Cesar Strauss Date: Sun Nov 11 14:17:21 2007 -0200 Use g_path_is_absolute from GLIB instead of platform specific code. commit 40c0582e39d6a7ed0a41e0e5deedc0bfd03bbddc Author: Cesar Strauss Date: Thu Nov 15 19:11:12 2007 -0200 Use forward slashes as path separators on MinGW. They are also acceptable as path separators on MinGW. commit d715ba7dc3e02d77e671b9ab54b994379daefec5 Author: Cesar Strauss Date: Thu Nov 15 13:34:40 2007 -0200 Tell git to ignore .exe files. commit f71ae05abf00acdafa0d5626304ca6baa9851a53 Author: Peter Clifton Date: Tue Nov 6 23:11:41 2007 +0000 Free gdk events obtained with gtk_event_get(). gtk_event_put() copies an event given to it, so if we retrieve an event and re-push it into the event queue, we still need to free our copy. commit 21f35c531c68e6ceafa09548e0de6040e1b1ce52 Author: Peter Clifton Date: Tue Nov 6 23:11:39 2007 +0000 Refactor XOR drawing functions to avoid code duplication. commit 14da6cd4ad1e318b53f0d3b745667842a442bf66 Author: Peter Clifton Date: Tue Nov 6 23:09:38 2007 +0000 Remove full screen redraw calls the rubberbanding and ..._end() functions. These calls aren't hit, as they were conditional on the inside_action flag being 0, which should not be the case when these functions are called. Temporarily add g_assert() statments to verify inside_action != 0 to prove these changes are appropriate. Assertions should be removed after testing. commit 5f08590dee1f13d4b771880d46f317e49253ccff Author: Peter Clifton Date: Fri Nov 2 18:27:56 2007 +0000 Remove the o_redraw_all_fast() function, as its not any faster now. Historically, o_redraw_all_fast() may have been used for faster drawing in some cases, however the o_redraw_all() call is now equivelant, with the addition of redrawing any "place" trails should gschem be mid-action. commit 23ead18086e59aab22945c37ff95f49e5747f277 Author: Peter Clifton Date: Wed Oct 17 04:50:39 2007 +0100 Remove the ATTRIB linked list in favour of a GList The ATTRIB.copied_to pointer is moved from the ATTRIB struct to reside in the source OBJECT being copied. The ATTRIB *attached_to pointer of an attribute's text OBJECT is changed to OBJECT *attached_to, pointing directly at the OBJECT to which that attribute is attached. This avoids the need to traverse the ATTRIB list and retrieve this pointer from the HEAD attribute node. (A HEAD node is not used in the GList of ATTRIBs). The ATTRIB structure now only contains one element, OBJECT *object. This points to the text OBJECT holding and displaying that attribute's "name=value". commit 6f0ab03ed06d5cf0265a4f5bee516866efc16828 Author: Peter Clifton Date: Wed Oct 17 04:14:38 2007 +0100 Tidy the o_drawbounding() function to make it more readable. commit 1ec03e992136e524a24b6bd593a4e0de3ce0158f Author: Peter Clifton Date: Wed Oct 17 04:14:25 2007 +0100 Add function o_erase_list() to gschem, to undraw a GList of OBJECTS. commit 20df014334dbd0b62e2ec3515ff932726c2a29c9 Author: Peter Clifton Date: Tue Oct 9 22:27:02 2007 +0100 Tidy o_redraw() to be more concise and have a tighter inner loop. commit ccd73092afbe22bdd6ef9f17318481dc32e50c8a Author: Peter Clifton Date: Tue Oct 9 22:05:22 2007 +0100 Avoid use of global_window_current in gschem/src/x_dialog.c: color_set() commit f914d437f4a76df5ba28e80e7dab6f55996a8b59 Author: Peter Clifton Date: Tue Oct 9 22:05:21 2007 +0100 Split out gschem specific TOPLEVEL variables into a new GSCHEM_TOPLEVEL GSCHEM_TOPLEVEL has a TOPLEVEL *toplevel pointer as its first elelment, gschem uses this to call libgeda functions. (Almost) all gschem functions now take the GSCHEM_TOPLEVEL as their first argument. commit 3da83d39b58ab2cb642b93b798ec31be0a725d81 Author: Peter Clifton Date: Tue Oct 9 20:08:26 2007 +0100 Move o_redraw_single() from libgeda to gschem commit fe4375d7185c0d5f7cc8186c1a214981fb6d0edd Author: Peter Clifton Date: Tue Oct 9 20:08:26 2007 +0100 Move libgeda's o_selection_unselect_list() into gschem. The function calls o_redraw_single(), so should be in gschem. It is now named o_select_unselect_list(). commit f217428f8248d6e8491d943256d30d5e11d808d1 Author: Peter Clifton Date: Thu Oct 4 19:42:01 2007 +0100 Remove OBJECT* linked list argument to o_drawbounding(). All code is now passing GLists of objects to this function. commit 185958029cb58e26d37854c7580bef1b0869a7c9 Author: Peter Clifton Date: Thu Oct 4 19:42:01 2007 +0100 Use GLists to store OBJECTs in the "object_buffers[]" paste buffers. Replaces o_list_copy_all_selection2() with o_glist_copy_all_to_glist(). commit 38d3c48fd5a2ea57af5d772854393b39fd3b7e78 Author: Peter Clifton Date: Thu Oct 4 19:42:00 2007 +0100 Make attribute / text placing use a new attrib_place_list GList. commit d1e77cc6b87f6bd78cfc38630c292ac2c0f1f09b Author: Peter Clifton Date: Thu Oct 4 02:44:18 2007 +0100 Remove the redundant toplevel variables current_{show,visible}. These variables were previously used for an interactive method of attrib placement which has since been removed. The current_visible variable was also tested during non-attribute text placement, but to no effect. Whilst the file-format does technically allow invisible text, gschem's UI pesesnts no way to achieve it, so removing this variable does no harm. The ability to correctly load schematics with invisible text remains. commit aa91395ad62805ec4112d602406888a328c43519 Author: Peter Clifton Date: Thu Oct 4 02:36:19 2007 +0100 Remove the unused states for attrib placement: DRAWATTRIB and ENDATTRIB. Also removes the functions: o_attrib_{start|end|rubberattrib} which are no longer used after this. commit 6a0fb625ba8dfd3d8dceb1b44055d4920e4b2658 Author: Peter Clifton Date: Thu Oct 4 02:35:53 2007 +0100 Remove the unused function o_erasebounding(). commit 4595948e41b2d195eb78a820fc15d0d8596067a4 Author: Peter Clifton Date: Thu Oct 4 02:34:50 2007 +0100 Avoid accessing (GList)->{next|priv} directly to aid debugging. Instead use g_list_{next|previous}, allowing us to catch errors where changing from gEDA structures which had their own next and prev pointers. To debug, edit the glist.h include file from glib, renaming the next and prev elements in the GList structure and macros. Recompile gEDA to see any bad accesses such as those where the HEAD nodes were previously skipped. commit fc2b607031341f2f15b9c6f3d881e11895bdef50 Author: Michele Petrecca Date: Tue Sep 11 22:49:03 2007 -0400 Updated Italian translation. commit e84c1d4ba2ad15e18f94346389d2671eb49d0cf5 Author: Ales Hvezda Date: Tue Sep 11 22:37:55 2007 -0400 Fixed a whole bunch of gtk+ 2.4.x and misc issues building on an older box This is a fix for (Patch#) 1789290 libgeda-1.2.0 fprintf which supplied a similar patch which fixes the issues in libgeda/src/s_clib.c and libgeda/src/s_textbuffer.c. In the future, all releases will be built with gtk+ 2.4.x so that these sorts of problems do not get released. commit bdc4d9ce6522fca0bf5332cb9c5228e03861c079 Author: Peter Clifton Date: Sun Sep 9 14:14:44 2007 +0100 Avoid un-necessary usage of global_window_current in g_keys_execute() commit 8ca8f4d38990365a2455999ea7e649156d2f6f90 Author: Peter Clifton Date: Sun Sep 9 14:14:42 2007 +0100 Avoid use of global_window_current in gschem/src/x_compselect.c commit fcbfa052a9bafdd11092a99909dc587476ef8612 Author: Peter Clifton Date: Sun Sep 9 14:04:21 2007 +0100 Use a GObject constructor, not instance_init for compselect the dialog. Using a GObject constructor allows access to the construct time properties of the object during initialisation, whereas at execution of the GType instance_init function, those properties have not been set. commit 201b6aecab7f3f0f86b6d89479e7c229d4e6fb30 Author: Peter Clifton Date: Sun Sep 9 12:51:00 2007 +0100 Remove unused TOPLEVEL variables display_{width,height} commit 2be89fae224e359b5e349341da160cd19542d53d Author: Peter Clifton Date: Sun Sep 9 00:54:12 2007 +0100 Fix grid snapping in "Edit->Mirror Mode" Where the user selectes Edit->Mirror Mode, then clicks a point about which to mirror, the snap operation on the mouse coordinates was not taking place until after the mirror. Bug was introduced with noscreen changes. commit 2e3c06cbcdce8254f70162ecebd650980cf70ee9 Author: Peter Clifton Date: Sun Sep 9 00:18:34 2007 +0100 Remove the globally exported variable_set_func. Only gattrib provided a non-NULL export of this symbol, and such imports into libgeda prevent libgeda being dynamically linked on some platforms. To better match the other tools in the suite, gattrib's i_vars_set() and i_window_vars_set() functions were combined into a single i_vars_set(). commit f94d63a9a9f73e70b51c16b1e9f337bfa26b0de2 Author: Peter Clifton Date: Sat Sep 8 23:26:47 2007 +0100 Use o_translate_world() to tidy up o_complex_translate_world() Removed o_complex_world_translate_toplevel(), and changed all useage of o_complex_translate_world() for generic lists of objects to instead use the new o_list_translate_world(). o_glist_translate_world() is also added. commit 36dc96b81aadceb9bb6e4c3d8b59939a2dc240e0 Author: Peter Clifton Date: Sat Sep 8 23:24:27 2007 +0100 Rename o_complex_world_translate() to o_complex_translate_world() The function name now matches the pattern for other objects types. commit 4c7705297748e544ceeb1ac119ee44f7a72595c4 Author: Peter Clifton Date: Sat Sep 8 15:26:31 2007 +0100 Remove unused function o_text_input(). commit 7e04d192b78dc0821efda3326e6ec676db424472 Author: Peter Clifton Date: Sat Sep 8 00:17:05 2007 +0100 Remove o_complex_translate{2,_selection,_display_selection}() o_complex_translate{_selection,_display_selection}() were unused, o_complex_translate2() simply wrapped o_complex_translate_display(). commit 32dbd8536c17bcce9fbd9436fbb4c7efa32ee546 Author: Peter Clifton Date: Sat Sep 8 00:17:03 2007 +0100 Removed unnecessary angle parameter to o_complex_rotate_world(), fix bug. Fix rotation code to support angles other than 90 degrees. All current users actually pass 90 degrees so this bug had no visible effect. commit 08ac872c975a587cf4125c6468c79c453661ee8f Author: Peter Clifton Date: Fri Sep 7 23:58:51 2007 +0100 Removed unused angle parameter to o_complex_rotate_lowlevel(). commit c66d009979f49bd7ac8ba0641a6974be9e6a82d5 Author: Peter Clifton Date: Fri Sep 7 23:57:38 2007 +0100 Removed unused angle parameter to o_text_rotate_world(). From an old unmerged patch by Patrick Bernaud. commit 0529c40c453c6f1a958acc87a85974c7a3f871b1 Author: Peter Clifton Date: Fri Sep 7 00:20:29 2007 +0100 Avoid use of gtk_cell_renderer_stop_editing(), which is GTK 2.6+ Instead emit the "editing-canceled" signal directly if necessary. commit 613dcf8d3c2cf0ef40278ff481cc44e68c98428a Author: Peter Clifton Date: Wed Sep 5 14:38:13 2007 +0100 Remove un-necessary variable re-initialisations in x_window_setup(). The initialisations removed are the same as those in s_toplevel_new(). commit bd101aa36356082f479e1bd4970ea93b01bbfa5d Author: Peter Clifton Date: Wed Sep 5 14:38:02 2007 +0100 Remove the un-needed TOPLEVEL variable: DONT_RECALC, and its usage. commit 5e9f49ed25bf87783207906daaf915714f43259c Author: Peter Clifton Date: Wed Sep 5 14:37:56 2007 +0100 Remove the redundant TOPLEVEL variable: DONT_RESIZE commit 863d3c63667dc1a106b21758f957d810ee6f5583 Author: Peter Clifton Date: Wed Sep 5 14:37:49 2007 +0100 Remove the redundant TOPLEVEL variable: DONT_DRAW_CONN commit bf3a364ed474ce6f5824a5f3fe94a3c17ce8bc28 Author: Peter Clifton Date: Wed Sep 5 14:37:41 2007 +0100 Remove unused variables from the TOPLEVEL structure commit 96495b7a87701b2ea8d7eb6b4da206d6c169a85c Author: Peter Clifton Date: Wed Sep 5 13:46:57 2007 +0100 Fix memory corruption and possible segfault copying attributes If an object (but not all its attributes) was selected and copied, dangling pointers were left in the un-copied attributes. A subsequent copy operation containing those missed attributes would attempt to reattach them to the copy of their parent. If this had been deleted in the mean time, memory corruption and a possible segfault would occur. Consolidates the duplicated code which sets the ATTRIB property "copied_to" into a helper function, o_attrib_list_copied_to(). This is also used to clean up after copy operations. commit 5b2cb25e06604a8d31dff974f323477a78f02f46 Author: Peter Clifton Date: Mon Sep 3 16:48:32 2007 +0100 Move o_picture_set_pixbuf() from libgeda to gschem commit 07d5a095c313e031b939d45f89afcd1c0ca9bc97 Author: Peter Clifton Date: Mon Sep 3 16:48:09 2007 +0100 Remove unused TOPLEVEL variable REMOVING_SEL. commit 70d8cc898e42b95a7ac463d9e879c959690fbd5c Author: Peter Clifton Date: Mon Sep 3 16:47:22 2007 +0100 Remove unused dialog pointers from TOPLEVEL commit 9044d41a2305c97522bc70cfd7945f9d843482ae Author: Peter Clifton Date: Mon Sep 3 16:41:28 2007 +0100 Removes the linking between TOPLEVELs, instead uses a GList in gschem commit d68adb7f7d91836a9fb4553e7cb7067c9ec2cd33 Author: Peter Clifton Date: Mon Sep 3 15:32:27 2007 +0100 Make use of o_select_unselect_all() to reduce code duplication in gschem commit bae595bf000b1d64ff83053cef76bce7839640b4 Author: Peter Clifton Date: Mon Sep 3 15:32:27 2007 +0100 Remove o_unselect_all() function, instead use o_select_unselect_all() commit ebabf4fa5667d2ab74b5443367b83228fad4d6d0 Author: Peter Clifton Date: Mon Sep 3 15:32:25 2007 +0100 Remove unused GType instance_init functions in gschem. commit 96ca8a9a2804176b689f4fe89393259ec109a6d9 Author: Peter Clifton Date: Mon Sep 3 15:28:33 2007 +0100 Remove unused header file gschem/include/x_event.h commit 283c545e77ada97b7bee7834c34708a8053abe60 Author: Peter Clifton Date: Mon Sep 3 13:49:51 2007 +0100 x_compselect.c: Avoid using GValue to set properties where unnecessary commit 63ee20a80cd42e1af745f9a52cd1d632c1bc345a Author: Peter Clifton Date: Mon Sep 3 12:17:25 2007 +0100 Avoid using s_hierarchy_up() for traversal when we know where we're going. When trying to reach a specific parent we've come from before, we can use s_page_goto() and avoid the search through the page list. commit a1b83a7ed4edf0d857a7bcbb98d551a5653f0476 Author: Peter Clifton Date: Mon Sep 3 12:17:19 2007 +0100 Fix indenting / whitespace in gschem/src/o_misc.c commit adca8b7d5897b11331c6a20392d22ad1e58ee572 Author: Peter Clifton Date: Mon Sep 3 12:15:43 2007 +0100 Replace the linked list of PAGEs with a GedaList (typecast to GedaPageList) commit 086908ed44c9abc6d5907888695933b59ead4684 Author: Ales Hvezda Date: Sun Sep 2 22:48:59 2007 -0400 Last minute updates to the READMEs for all projects Cherry picked from stable-1.2 branch, since these changes apply to master too. (cherry picked from commit 88fcb8d1bcdaa1436572d6a0ebe86f4df242a8d6) commit 2a79a231e0ced47d36636690614af348f47fe1d6 Author: Ales Hvezda Date: Sun Sep 2 21:11:05 2007 -0400 Updated po/pot files by running make update-po commit b018b88a1f2a88d246af850a67a15be5b19825b2 Author: Ales Hvezda Date: Sun Sep 2 20:54:49 2007 -0400 Fix for Bug# 1782032: Blank attibute name when attribute value starts with " " In order to fix this bug, we needed to validate the input attribute when: 1) input an attribute using the single attribute editor, 2) Add an attribute in the multi-attribute editor 3) Modify the name or value of an attribute in the multi-attribute editor An attribute is not valid if the name or value are empty, name ends with a space, and/or value starts with a space. o_attrib_get_name_value does this validation throughout gaf. commit 5a67f8a879c0f5bcfaa14daf6847064beebaf783 Author: Ales Hvezda Date: Sun Sep 2 18:52:50 2007 -0400 Moved refresh button in component select dialog box The refresh button was along the very bottom of the component select dialog box at the same level as Close, Apply, and OK. The refresh operation is not nearly as important or first class as these actions. The refresh button was moved to the filter area. Whether this change sticks depends on what users think of the new location (I'm quite willing to move it elsewhere if there is a better spot). commit f0c1bf37611b14dedcf1c4b45ac2319216f3293c Author: Ales Hvezda Date: Sun Sep 2 18:21:24 2007 -0400 Added standard Control-z and Control-y keymappings for Undo and Redo commit 9f3b4e2520b8dc5adf3b77fd0dfbe1beec8398ef Author: Ales Hvezda Date: Sun Aug 19 23:03:54 2007 -0400 Another set of po files changed via make distcheck commit 6056ef48272778419d39e0233f395bfd60019ab9 Author: Ales Hvezda Date: Sun Aug 19 22:40:19 2007 -0400 Update ChangeLogs using: ./update-changelogs.sh 1.0-20070526..master commit 19aacfff985ee9b478c4c50dfeeb1a8af5957c3a Author: Ales Hvezda Date: Sat Aug 18 16:41:24 2007 -0400 Added undo-panzoom keyword to control if pan/zoom cmds are undoable The default is to still store the pan/zoom info when panning or zooming, but now the user has a choice. commit 93199b2f50c31691722ed154fc42fd4c01a2dac5 Author: Ales Hvezda Date: Sat Aug 18 16:17:45 2007 -0400 Toplevel gschem menu tweaks Added ... to some entries that open up dialog boxes or other windows Changed the ordering of Hotkeys and About in the Help menu Removed obsolete comment about the help menu being right justified commit 92b3b65d0cec286b0ce59fc43cc07dcb60c39fa1 Author: Ales Hvezda Date: Sat Aug 18 16:14:30 2007 -0400 Bumped versions to 1.1.2/20070818/30:2:0 for the next development snapshot commit e4b8aac64806c5f345d009ce725e16660d67cee4 Author: Ales Hvezda Date: Sat Aug 18 14:21:53 2007 -0400 Added dist-license and use-license to the attribute-name keyword commit f90d327e8f415f35c94c686db846e8377bc0cd26 Author: Ales Hvezda Date: Tue Aug 14 08:01:18 2007 -0400 Updated po files using make update-po commit 72c4db8aa20c22baa4243a0d27b3bb3f32f3ef64 Author: Ales Hvezda Date: Tue Aug 14 07:46:06 2007 -0400 Moved 3 rc promotion keywords from gschem into libgeda (fix for bug#1748143) All the promotion keywords were moved from gschem into libgeda to fix: [ 1748143 ] gschlas causes duplicate prompted attributes The primary cause of this bug was that the promotion variables within TOPLEVEL were not being setup by gschlas and so duplicate refdes attributes were showing up in the schematic. The three rc keywords that were moved are: (attribute-promotion ... ) (promote-invisible ... ) (keep-invisible ... ) commit e04284b595dffa4b9931872ae33b76daede58dd7 Author: Peter Clifton Date: Sun Aug 12 01:57:17 2007 +0100 Fix component selector filtering after using the "Refresh" button. commit 802a2fea15d9bd918bd2398ac06bf6ca9b2e75c4 Author: Peter Clifton Date: Sun Aug 12 01:57:00 2007 +0100 Make updates faster when typing in the component selector filter. The filtering process doesn't happen until after the user pauses typing. Reducing the update delay from 300ms to 200ms makes this feel better. commit fa2045b8e9cac268fe0c0b7af2028ea768c8e465 Author: Peter Clifton Date: Sun Aug 12 01:56:58 2007 +0100 Fix crash closing component selector window quickly after filtering. Typing in the filter box adds new update timeouts (300ms) with each keystroke. If typing fast there could be more than one timer active at once, however only the last added is cancelled when closing the dialog. Timers which ran after the dialog closed could cause a segfault. We now cancel any pending timeout before adding a new one. commit 663e133ff0c0e153a8081b36404c0808222c6dcb Author: Ales Hvezda Date: Fri Aug 10 22:00:58 2007 -0400 Added some net midpoint connections for testing purposes commit 703151a94b0eece6b24b3b18ce2465eeae068814 Author: Peter Clifton Date: Thu Aug 9 12:36:17 2007 +0100 Remove old prototypes from various prototype.h where no function exists. commit 71600215311af0a98ed371ab750b09182de139a1 Author: Peter Clifton Date: Sat Aug 11 00:52:25 2007 +0100 Revert inadvertent commits: dbfe00a20de3f875e519ef60629b968977fc5db8 (commit) f1451161914a0ed0bb43123279906d82cb7d5b49 (commit) 2ad315fc0badd16a9614d1107b22c973908893d5 (commit) d8844bb48969aa45a05cbe6836fc96c198e88c19 (commit) ee1b64a1ae07eb99eae5d63307e9fe23f9604662 (commit) commit dbfe00a20de3f875e519ef60629b968977fc5db8 Author: Peter Clifton Date: Fri Aug 10 22:52:18 2007 +0100 Avoid using s_hierarchy_up() for traversal when we know where we're going. When trying to reach a specific parent we've come from before, we can use s_page_goto() and avoid the search through the page list. commit f1451161914a0ed0bb43123279906d82cb7d5b49 Author: Peter Clifton Date: Fri Aug 10 22:45:48 2007 +0100 Fix indenting / whitespace in gschem/src/o_misc.c commit 2ad315fc0badd16a9614d1107b22c973908893d5 Author: Peter Clifton Date: Fri Aug 10 21:30:24 2007 +0100 Add page list "changed" signal handler to gschem's page manager dialog. commit d8844bb48969aa45a05cbe6836fc96c198e88c19 Author: Peter Clifton Date: Fri Aug 10 21:26:10 2007 +0100 Replace the linked list of PAGEs with a GedaList (typecast to GedaPageList) commit ee1b64a1ae07eb99eae5d63307e9fe23f9604662 Author: Peter Clifton Date: Fri Aug 10 01:32:27 2007 +0100 Add different select box behaviour for left-right and right-left drags Selections boxes dragged from... left to right: select elements entirely contained within the box. right to left: select any element partially inside the box. commit 0f5c72daacfa7d78666769e4063122934861da5c Author: Peter Clifton Date: Sun Aug 5 22:36:56 2007 +0100 Alter guile 1.6 compat tests to work with older autoconf versions Don't use AC_DEFINE to define function like macros, instead use AC_CHECK_DECLS to set a HAVE_DECL_..., then use AH_VERBATIM to insert a test which defines a replacement if necessary. commit 5c098070b87709540345afb1b3b79d9db470ed53 Author: Peter Clifton Date: Thu Aug 2 22:09:52 2007 +0100 Fix configure checks enabling guile 1.6.x compatability routines. commit 512561395fb348a0fb71625edb4fe1ec96553c3f Author: Peter Clifton Date: Thu Aug 2 13:17:58 2007 +0100 Fix to allow automatic loading of untitled backup files commit 4cbb0c15240f649cfd69b120e7ed7ecd6c752896 Author: Peter Clifton Date: Thu Aug 2 13:16:22 2007 +0100 Fix drawing artifact when dragging a net / bus to zero length. The grip dragging code cancels editing if you resize to a zero length line segment. Don't attempt to undraw the (zero length) rubberbanded line after the coordinates have been invalidated. commit 8dc511639494940987582871d9f2efa09ecc2b37 Author: Peter Clifton Date: Thu Aug 2 13:07:30 2007 +0100 Refactor code in o_grips.c to reduce duplication Also make many whitespace fixes. The code paths should remain the same. commit 92ef419c46d5a41aa33b399d43ccde2ba2a99998 Author: Peter Clifton Date: Thu Aug 2 13:06:09 2007 +0100 Fix drawing of cues after moving a single line segment commit 0a7ab22a482a896818dff52fbf289856d76efc87 Author: Peter Clifton Date: Wed Aug 1 22:58:05 2007 +0100 Alter grammar in gschem's "Unsaved changes" dialog box. commit c31bd4adb677d671af8bdf5aed71f96a4995f9b1 Author: Peter Clifton Date: Tue Jul 31 20:03:51 2007 +0100 Changed configure.ac(.in) to allow guile-1.6 Introduces compatibility #defines where guile 1.8 funcs are missing in guile 1.6. Also adds missing configure.ac checks for guile in packages gattrib, gnetlist, gsymcheck and utils. commit 30a86f3458c5a1562d97d33b06320647ed23132e Author: Peter Clifton Date: Sat Jul 28 01:18:44 2007 +0100 Change color in the multi-attrib dialog "value" entry when insensitive. Makes the "value" GtkTextView look the same as its neighbouring widgets when insensitive. Unfortunately GtkTextView always appears to render using the style's GTK_STATE_NORMAL text color. We save that initial value, and copy across either the saved value, or the GTK_STATE_INSENSITIVE text color when setting the widget sensitivities. NB: This is just a workaround for what appears to be a bug in GTK+. commit f8f5c1f05c9c2dfa1d2566a113e9c295049f7564 Author: Peter Clifton Date: Sat Jul 28 00:05:03 2007 +0100 Update the multi-attrib dialog after an undo operation. The undo mechanism replaces the page (and selection object), so we need to poke the multi-attrib dialog after an undo operation for it to watch the new page's selection object. commit ae2ddeb6839ae4e2c9e9c73272b0372c63810717 Author: Peter Clifton Date: Wed Jul 25 15:36:42 2007 +0100 Don't blank the add attribute boxes in the Multiattrib dialog. Leaving the text present after adding an attribute makes it is easier to add the same attribute to multiple objects. Instead we add a "grab-focus" signal handler to select the text box contents as we tab into it. commit 31f65059cf1ce5be9b8a0987d4538fed075a6805 Author: Peter Clifton Date: Wed Jul 25 02:09:15 2007 +0100 Fixed two calls to free() where g_free() should have been used. Updated Doxygen comments to note where memory should be freed with g_free() rather than free(). Commented three instances where free() is correct. commit 852786d7dc90eebdc677e5d2af916d577d5f3aaa Author: Peter Clifton Date: Sun Jul 22 17:12:12 2007 +0100 Clamp page canvas size in the preview to the size of the page contents Ensures the user can't zoom way off the page contents being previewed. commit 41ce0eb61b4b91d407d788a7ae1eb823d60fbdfd Author: Peter Clifton Date: Sun Jul 22 17:12:08 2007 +0100 Alter panning code to center the page in the viewport if under-zoomed Centering is independant in the X and Y directions. When the viewport is larger than the page canvas in a particular direction the page is re-centered in that direction. This is necessary for a nice preview. Also change preview widget code to remove the A_PAN_IGNORE_BORDERS flag from zoom operations, which is no-longer needed with the above changes. commit 42034b5e81a0a4d40254aa2ef557083531d38291 Author: Peter Clifton Date: Sun Jul 22 14:32:05 2007 +0100 Stop scroll events wraping the pointer when the preview widget is inavtive Also corrects the prototype of the scroll event handler to return gboolean commit 3345932d7fcaad0570ebd793f88253696a014895 Author: Peter Clifton Date: Sun Jul 22 14:15:35 2007 +0100 Clear the preview when no valid file is selected in the file chooser Previously the preview widget would continue to display the last schematic or symbol which had been selected. commit 867525cce75bcf9996992db1681f506f4fcdc84f Author: Peter Clifton Date: Sun Jul 22 14:14:37 2007 +0100 Clear preview and stop placing components when no valid symbol is selected. Previously the component selector preview would continue to display the last symbol which selected, and component placement could continue. commit c217b2b5160867c85ef89d53c5035adfc430da09 Author: Peter Clifton Date: Sun Jul 22 14:02:12 2007 +0100 Fix some memory leaks when placing components. In several places the complex_place_list glist was freed, but its contents were not. commit ac28aaa56a684a07fe3ee5590a31baf3fa8adbe7 Author: Peter Clifton Date: Sun Jul 22 05:33:42 2007 +0100 Save/restore which component selector source tab was last used. commit 7f54d6e4996f15d14781a49b3400ce89a39a60dd Author: Peter Clifton Date: Sun Jul 22 05:10:27 2007 +0100 Make the preview widget resizable Added handler for the configure event to resize the backing store and re-zoom the preview. Added the A_PAN_IGNORE_BORDERS flag to the zoom extents calls - giving a nice centered preview. Altered component selector dialog's alignment widget to allow the preview widget to expand to fill the available space. commit 50a6da87868ce9d0f3cc788a8a9918fd9210a536 Author: Peter Clifton Date: Sun Jul 22 04:52:23 2007 +0100 Fix mouse initiated zoom / panning operations on the preview widget The preview widget isn't called with a filename for previewing component sources, so the test for filename != NULL in the mouse event handlers stopped those callbacks working. Also added a scroll event handler to allow zooming with the mouse wheel. commit 8ad905e0d55b7ed60b3f5c63cf6056ddccee7a8b Author: Peter Clifton Date: Sun Jul 22 04:49:35 2007 +0100 Fix zoom extents to work correctly first time. Closes bug #1699959. A page's visible area is intialised to be the same size as the canvas extents. The zoom extents code scales based on this visible area, however this initialisation isn't correct, since the aspect ratio of the screen doesn't always match the canvas extents. The first call to zoom extents would fix this by correctly setting the visible area. By making the zoom extents code work from the screen aspect ratio (scaled to world coordinates), we can zoom to the visible extents in one shot. Also fixed some /2 operations, which for doubles should be /2.0 commit e4f7225254cb5168131d31347a8de277181f41ea Author: Peter Clifton Date: Sat Jul 21 19:16:50 2007 +0100 Save/restore geometry of the GtkHPaned in the component selection dialog. commit a139f2ed1ec50ad2a0fec4e91c7e51dd690d983a Author: Peter Clifton Date: Sat Jul 21 19:16:24 2007 +0100 Extend GschemDialog to allow hooking to save/restore internal geometry GschemDialog now emits "geometry-save" and "geometry-restore" signals which instances can connect to. Subclasses may over-ride and chain the "geometry_save" and "geometry_restore" class members. These signal handlers are passed a pointer to the GKeyFile and a text string identifying the group it expects data to be saved under. The code relies on features only available in GLIB 2.6 onwards. When using this functionality the code must be surrounded with an appropriate test as the class functions are not defined when compiling against an older GLIB. commit 91ffb796f41ca6ee7a5ed1063917f7bb3fd03464 Author: Peter Clifton Date: Sat Jul 21 19:16:09 2007 +0100 Separate the list and preview with a GtkHPaned in the compselect dialog. commit 5e47599e07b5bed9d24b5c295db7a5e05f7c4624 Author: Peter Clifton Date: Fri Jul 20 17:36:39 2007 +0100 Added missing test to allow pins to work with the multiattrib dialog commit 6287df1357bdfc0188f5fa60df5d88f5fc5e4b40 Author: Peter Clifton Date: Fri Jul 20 14:15:10 2007 +0100 Make the multi-attribute editor non-modal This implementation only supports editing when a single object which can have attributes is selected. Work is required to act more intelligently if an attribute its-self is selected, and with multiple selections. commit 1dfb3a4b9907ff81552de57080d2897ab40e512c Author: Peter Clifton Date: Thu Jul 19 15:13:03 2007 +0100 Make the Escape key cancel editing in the multiattrib dialog. The previous behaviour where it would quit editing but save the changes is counter-intuitive for the user. commit c06b6684296a2ec6765036b28e8c48a50c2b8928 Author: Peter Clifton Date: Thu Jul 19 15:13:00 2007 +0100 Remove workaround for an unknown property with GTK 2.2 in x_multiattrib.c commit cb9c4ee19ca58158308a234782fdad6fb60257da Author: Peter Clifton Date: Thu Jul 19 15:09:56 2007 +0100 Change selection code to use a generic GedaList typecast to SELECTION. GedaList allows various parts of the program to keep track of changes to the selection via callbacks attached to the GedaList object. commit b5caa78a6dd9227d328397cb77ac4b0731c7d1c9 Author: Peter Clifton Date: Sun Jul 15 12:55:54 2007 +0100 Remove unused function e_gtk_button_new_with_icon() from x_pagesel.c commit 5dfe42146dfee7dd0909cda7615279228bc09d70 Author: Peter Clifton Date: Sun Jul 15 12:55:47 2007 +0100 Split out update(s) when notify::toplevel on GschemDialog is recieved. We need to perform various setup actions when the toplevel property of our parent GschemDialog is set. We need to make this a specific function, as the current method of just calling pagesel_update isn't correct for all future cases. commit cd7db8026b00934afc6acc1ff8f5467021194287 Author: Peter Clifton Date: Sun Jun 24 04:21:39 2007 +0100 Fixed memory leak placing components. When placing components we free'd the complex_place_list without removing the objects it pointed to. The code now uses s_delete_object_glist(..) rather than g_list_free(..) to free the complex_place list and its objects. commit 9cc487143fe371181bc0fea41e94c03a54b776f9 Author: Werner Hoch Date: Tue Jul 10 17:32:59 2007 +0200 gschem: updated german translation commit b41713e02347002424ca8c18aaa0f9f6a4a6e660 Author: Carlos Nieves Onega Date: Mon Jul 9 19:33:45 2007 +0200 Updated spanish translation. commit ff036cbb89336c48106b064af499b6e841c7d8a5 Author: Carlos Nieves Onega Date: Mon Jul 9 18:36:36 2007 +0200 Disable rotating while copying, & fix hitting rotate hotkey/menu while moving. Rotating while copying is still not supported, so disable it. Fix behaviour when hitting the rotate hotkey, or select the edit->rotate menu while moving. Previously the move action was cancelled and then the selection was rotated. Now, the objects being moved are rotated, and the move action continues. commit e978b9098c7567ad3b9c834a5e4914de3bc039ec Author: Ales Hvezda Date: Sun Jul 8 18:18:39 2007 -0400 Updated ChangeLogs using ./update-changelogs.sh 1.0-20070526..master commit e653983c3177bdadfecb56f49662f5cb39c5749b Author: Ales Hvezda Date: Sun Jul 8 18:17:28 2007 -0400 Updated all pot/po files (via make update-po). commit d7e8f5abc35644e90bfabf84396023cab09f2968 Author: Ales Hvezda Date: Sun Jul 8 16:18:57 2007 -0400 Updated configure.ac[.in] and Makefile versions in prep for a release. The update was done by running ./update-versions.sh 1.1.1 20070708 30:1 at the toplevel. libgeda's shared library version is now 30:1:0 commit 3f3505662fe4bb8c585aea0ea965296bd923956c Author: Carlos Nieves Onega Date: Sun Jul 8 21:16:17 2007 +0200 Added *~ to .gitignore files. commit 3cf1cca33ed2e567b959ad8486cad0d4cdbb47e9 Author: Ales Hvezda Date: Sun Jul 8 13:55:38 2007 -0400 Added some missing code to controlling junction color (more for #1746675) commit 4f245d7023eec872e5dd484530dff9a77ff77dfc Author: Carlos Nieves Onega Date: Sun Jul 8 19:47:14 2007 +0200 Set the focus to the filter entry only if it is visible. In the compselect window, focus can be set to the filter entry only if it is visible (i.e.: its ancestor is the current tab). Otherwise, GTK is confused. commit 29f4868bb8ac570445da493c69afb91aafcf69d0 Author: Carlos Nieves Onega Date: Sat Jul 7 01:03:41 2007 +0200 Disable rotating using middle mouse button while copying. Rotating while copying is still not supported, so it should be disabled. Now middle mouse button does nothing while copying. commit f30cf1a2fd45898b62e236116a84059bd0df9544 Author: Carlos Nieves Onega Date: Sat Jul 7 00:55:05 2007 +0200 Fixed drawing bug when attribute autoplacing is enabled. When rotating while placing a new component, the refdes was drawn wrongly, and it was shown fixed in the screen despite the component being moved. This was due to attribute autoplacing function was called before drawing the component. This function erases the old text (which wasn't drawn), thus drawing the text in the screen permanently. This fix disables all drawing functions when calling autoplacing function, and renables them afterwards. commit ecf159040422c5625de6b615c1070b7a1d58c511 Author: Carlos Nieves Onega Date: Sat Jul 7 00:41:05 2007 +0200 Fixed drawing bug when using attribute autoplacing. When placing a new component, if attribute autoplacing was enabled, the refdes was drawn wrongly, and it was shown fixed in the screen despite the component being moved. This was due to attribute autoplacing function was called before drawing the component. This function erases the old text (which wasn't drawn), thus drawing the text in the screen permanently. This fix disables all drawing functions when calling autoplacing function, and renables them afterwards. commit 5dc09fc232bf36dc219e86e78bad92631d2c244a Author: Carlos Nieves Onega Date: Sat Jul 7 00:35:07 2007 +0200 Moved default attrib positions out of system-gschemrc. All default attribute positions, used for attribute autoplacing, have been moved into its own file, scheme/default-attrib-positions.scm . The above file is loaded in system-gschemrc. commit 411ddc16df3bf9388d80107503c165a8c88304b1 Author: Carlos Nieves Onega Date: Fri Jul 6 23:38:31 2007 +0200 Consider line's width when calculing net directions. In text autoplacing function get-net-connection-sides, consider line's width when guessing net directions. commit 68b495e6b75b802a9c77889c223d680e8359ce91 Author: Carlos Nieves Onega Date: Fri Jul 6 23:13:03 2007 +0200 Display a warning message if can't guess net direction. In attribute autoplacing, display a warning message if net direction can't be guessed. commit 1361831fc9e44bcc719f73d68f4d5b119963bb57 Author: Ivan Stankovic Date: Thu Jul 5 09:18:48 2007 -0400 Possible fix for bug #1748079: CRASH: gschem segfault on file save or open commit dd995d808b9f4440db48d2daa2473a9d9cfd88ef Author: Ales Hvezda Date: Thu Jul 5 01:36:31 2007 -0400 Updated ChangeLogs using ./update-changelogs.sh 1.0-20070526..master commit a680faf8e3121c2b999bc5168a2910fb83f11ffc Author: Ales Hvezda Date: Thu Jul 5 00:57:07 2007 -0400 Updated all pot/po files (via make update-po). Added new menus to rcstrings.c. commit 099c49e5689afda4b8a5221dde73f9fdf1972ce7 Author: Ales Hvezda Date: Thu Jul 5 00:11:45 2007 -0400 Updated all version strings to 1.1.0 and 20070705 commit 87731dda219b0986fed0d1a7789e17678dd79d8c Author: Ales Hvezda Date: Wed Jul 4 23:55:07 2007 -0400 Removed AM_MAINTAINER_MODE from all configure.ac[.in] files. Maintainer mode is no longer needed or desired now that we are no longer using CVS. Hopefully this will prevent some of the odd problems that were observed during the last release when the Makefile's didn't get auto regenerated. commit dc7b8c53f4bc94626634887e46167a367a91f707 Author: Ales Hvezda Date: Wed Jul 4 23:32:15 2007 -0400 Changed gEDA/gaf's version mechanism to use new dotted X.Y.Z convention Added DOTTED_VERSION and DATE_VERSION variables to all configure.ac[.in] files. Changed all version related output to be DOTTED_VERSION.DATE_VERSION. Updated the configure.ac[.in] files to have consistent top sections. Updated code and various scheme files to use the new DOTTED_VERSION and DATE_VERSION variables available via config.h. Stopped using PREPEND_VERSION_STRING as the mechanism for doing the dotted versions (not intended for that use). Updated update-versions.sh script to set the version in all the configure.ac[.in] files and the toplevel Makefile. Went through all the g_rc.c files and make the handling of rc file mismatch handling consistent. commit dbf600e34e2284fe1ec59242d541334bc27d3d49 Author: Ales Hvezda Date: Wed Jul 4 16:51:32 2007 -0400 Implemented the ability to change the color of junctions (code for #1746675). The filled circles (at the junction of nets) and filled boxes (at the end of unconnected nets) were the same color and it was hard to tell the difference from a distance. This patch addes (junction-color ...) rc keyword and allows the user to change the junction color. The default color for the dark color scheme is yellow and the default color for the light color scheme is purple. commit ca4571b1a6a49c97feb8fc6cc8cb926acc287ece Author: Peter TB Brett Date: Wed Jul 4 18:03:53 2007 +0100 libgeda: s_clib_toplevel_get_symbol_names() is poorly named. s_clib_toplevel_get_symbol_names() returns symbols, not names of symbols, so rename it to s_clib_toplevel_get_symbols(). commit 96f9c87ef4063b52dd4d13f51958b916ba4e5939 Author: Peter TB Brett Date: Wed Jul 4 18:03:53 2007 +0100 gschem: Add "In Use" view to component selector. The "In Use" view shows symbols which are instantiated in open schematics, for ease of adding more symbols similar to the ones already present. This is particularly useful for frequently-used symbols such as resistors and capacitors. commit b1733d4d69d3a2e6fcb64e91a26dab2768f4e171 Author: Peter TB Brett Date: Wed Jul 4 18:03:53 2007 +0100 gschem: Add a "Refresh" button to component selector. In order to update the symbol library, a "Refresh" button is needed (because we don't do it automatically any more). commit cb6e4e5e98ed45427f60d718f7dbb5d5439eecef Author: Peter TB Brett Date: Wed Jul 4 18:03:53 2007 +0100 gschem: Don't use generic response IDs for compselect actions. The component selector "OK" and "Apply" buttons aren't actually "OK" and "Apply" actions, so they shouldn't use those response IDs -- it's confusing. This patch adds special response IDs for these actions. This is a preparation for using "proper" Place and Hide icons & text. commit 7c6419f49cb211ce74e7a8787148d2fd624482e7 Author: Alex Precosky Date: Sun Jul 1 16:55:13 2007 -0700 gschem: Fix a race condition with mouse wheel scroll events (1740327) If more than one mouse wheel scroll events are received into the event queue before the first one can be processed, then the program was zooming in to the wrong location. This is because the mouse moved event handler, which is triggered by a call to warp the cursor in the scroll event handler, must run to update the mouse postion global variables that the scroll event handler needs. commit 62b214780e34aea9b56993f2b699cb78d50d4769 Author: Werner Hoch Date: Wed Jul 4 17:35:06 2007 +0200 Set default button for single attribute edit dialog Fixed wrong setting of the default button in the dialog. Added the set property to the value entry. [Suggested by Kai-Martin Knaak] commit b034307ae05d909a726c09d4eb02a5eed6f401ea Author: Peter TB Brett Date: Thu Jun 28 18:08:04 2007 +0100 gschem: Support preview of symbols from all library types. commit 907857c70c12707f00696d0688eb8392ac1e9294 Author: Peter TB Brett Date: Thu Jun 28 18:08:00 2007 +0100 gschem: Preview data from a buffer. Add the ability to parse & preview a gEDA schematic or symbol from a character buffer. commit c144221daf8ef133f39e14c76447a1b556c54853 Author: Peter TB Brett Date: Thu Jun 28 15:50:31 2007 +0100 libgeda: Add fine-grained control over f_open() behaviour. Add a function f_open_flags() which takes an extra argument which is a set of flags controlling actions taking while opening a file. f_open() wraps this with a default set of flags. Coincidentally, this also leads to a trivial fix for the file open dialog backup-message bug. commit dc88c870d8d9ba66855f03fd3bc678d8b9f34cf2 Author: Ivan Stankovic Date: Wed Jun 27 19:47:46 2007 +0100 This patch removes most of the unused code from gschem. commit 2a0abb503110a7b7cfe5739f26bc1e4c7d939fff Author: Peter TB Brett Date: Wed Jun 27 16:47:20 2007 +0100 Correct some typos in gschem default texts. commit 2b8cc26ddbb4af4db653d913c49f6d365dc89df9 Author: Werner Hoch Date: Tue Jun 26 22:25:01 2007 +0200 updated german translation commit 57b2848a7e69d19e18ac03a1264cb55d41c65d0e Author: Ales Hvezda Date: Mon Jun 25 22:31:07 2007 -0400 Changed/updated the #define mechanism for creating custom gEDA/gaf versions. Previously this mechanism was used to create custom versions of gEDA/gaf. With the coming of stable and development versions of gEDA/gaf, this mechanism was changed so that end users can tell the difference between a stable release vs a development release (by looking at the version string). The CUSTOM_VERSION #define was changed PREPEND_VERSION_STRING and is now prepended to any strings that output the VERSION string. commit daa5d16aee1f0ec58cced5ca835dcb4f53339339 Author: Ales Hvezda Date: Mon Jun 25 21:23:32 2007 -0400 Updated Makefile.am to not include VOCABULARY file. commit 0ad58a2c8e82ff00b71c600d54cf76bc4860e24a Author: Ales Hvezda Date: Sun Jun 24 23:57:16 2007 -0400 Removed ancient VOCABULARY file. This file has been superceeded by the glossary that is in the wiki. commit 0ed9cf080cfc8509cb29cbe4e976f86b2821c407 Author: Ales Hvezda Date: Sun Jun 24 23:48:51 2007 -0400 Updated copyright text/header in most source files. Updated all copyright text dates that have my name (Ales) associated with them. Added gEDA contributer copyright text where appropriate. Fixed a bunch of GNU text typos (these should have been either GPL or gEDA). Removed some $Id$ tags which are no longer used/needed. Fixed a few file header that were just plain incorrect. commit a4e956c6272ea982ec54327dcc5e3aa528ac8c99 Author: Ales Hvezda Date: Sun Jun 24 22:22:32 2007 -0400 Added *.o (all object files) to all src .gitignore files. commit 1c76ee9d84ea4fcdc924d992ecc3a828887eff4f Author: Ales Hvezda Date: Sun Jun 24 22:17:03 2007 -0400 Removed all trace of libgd usage and removed some old ps printing routines. All trace of libgd and HAS_LIBGD has been removed. Some obsoleted and commit 868d31c36736b1ceebdd9a7cea6d12d12ecf89a9 Author: Ales Hvezda Date: Sun Jun 24 15:46:46 2007 -0400 Removed libgd and indent tests from configure scripts. indent is no longer use since noweb was removed a long time ago. libgd is no longer used since libgeda/gschem uses mage export support in gdk. commit cb63bf6506caf145d44f454734a1f4d712fa9216 Author: Ales Hvezda Date: Sun Jun 24 15:07:58 2007 -0400 Compile fix to the NL translation. commit cdd6b8669301baafb118ef3d76bb54a2f99a077b Author: Bert Timmerman Date: Sat Jun 23 23:47:06 2007 +0200 Update gschem Dutch translations. commit df71a28480510dd3c82eb1e551325f17ae16f958 Author: Peter TB Brett Date: Sun Jun 24 06:37:21 2007 +0100 Always draw text placeholder box in correct place (#1740620). When dragging text in "fast" mode (where the text is replaced by a bounding box), the box was drawn in the wrong place if the text isn't anchored in the usual bottom-left position. commit adb2dc9eedb72dc180e081ded2fc1ed20dde0a23 Author: Peter Clifton Date: Sun Jun 24 03:48:30 2007 +0100 Fix bug #1741452, segfault on "Include component as individual objects" Inserted a missing line to set the complex place list to NULL after freeing its contents. commit 214166747c3146cd21af1e346c8ad1b1351dcde8 Author: Peter TB Brett Date: Sat Jun 23 20:07:36 2007 +0100 Revert po file changes in edff766e8b15c311505810241528026f722e30b6. commit edff766e8b15c311505810241528026f722e30b6 Author: Peter TB Brett Date: Sat Jun 23 18:19:11 2007 +0100 Make sure various files are installed. Several new files were not being distributed. This patch addresses the problem by adding files to EXTRA_DIST in automake input files. commit e57c37a66edc1c4d4e4d7160001749df51b96c4b Author: Peter Clifton Date: Sat Jun 23 18:17:29 2007 +0100 Move all .cvsignore files to .gitignore files commit 065595ccd8b5e77616c29a37742357cfab0ae7f7 Author: Peter TB Brett Date: Sat Jun 23 16:11:44 2007 +0100 Changes to ChangeLog usage. With actual changes this time. Old-style changelogs as of gaf 1.0 (release of 26th June 2007) are moved to ChangeLog-1.0; new (blank) ChangeLogs replace them. A script has been added to the gaf top level to allow maintainers to update all the ChangeLog files immediately prior to making out a release. commit 67038ed9bece3a1317757b58a982ed29af2831c6 Author: Peter TB Brett Date: Sat Jun 23 13:50:57 2007 +0100 Don't cache symbol pointers in persistent structures. Several persistent structures, including TOPLEVEL and OBJECT, cache pointers to CLibSymbols. This is bad, because it makes removing component sources or rescanning them likely to cause stale pointers around the place. With fast hashtable-cached searches in place, this is no longer necessary. This patch ensures that only symbol names are stored persistently. This patch also enables descending into embedded symbols using a component library lookup on the embedded symbol's name. commit 1c226a4ebe5f297460cccf8568b7d7b7b2179253 Author: Peter TB Brett Date: Sat Jun 23 13:32:45 2007 +0100 Factor out TOPLEVEL.current_clib. commit fe621022acfbe69688878b70d4c40883f8f2a3df Author: Peter TB Brett Date: Fri Jun 22 08:34:33 2007 +0100 Add s_clib_get_symbol_by_name(). Add a new function which returns the first exact match for a given symbol name, printing log messages if either there are more than one match or no matches are found at all. Also update s_clib_symbol_get_data_by_name() to use new function and remove o_complex_add_by_name() as more or less redundant. commit 01fd87d78aa26d3c29b4141878b5f48edab264ec Author: Peter TB Brett Date: Fri Jun 15 09:05:53 2007 +0100 Make comp. library search faster and more flexible Replace s_clib_glob() with s_clib_search(), which can operate in either exact matching or glob matching mode. Use a hashtable to cache the results of library searches. The hashtable is cleared every time it is invalidated (for instance if a component source is added or removed, or the component sources are rescanned). commit 9dde0233ebed32065511b567445f9f34d4b3bea1 Author: Peter TB Brett Date: Fri Jun 15 09:06:56 2007 +0100 Refactor system RC files Moved system-gafrc into the libgeda package, where it belongs. Removed all environment and configure substitutions. Created separate font and component library setup scripts in the symbols package, automatically loaded by system-gafrc if they exist. Updated system-gschemrc to use new infrastructure. commit 7067e71ef1558ceb94772a703cde1463233460fe Author: Carlos Nieves Onega Date: Wed Jun 13 16:59:29 2007 +0000 Removed code handling escape key presses in dialogs. Since GTK takes care of escape key presses, this code is not needed. Applied patch from Ivan Stankovic. Fixes bug #1710818 for gschem. Thanks. commit 2a2fa60eee536f48cc27c16f2577106e78250ed6 Author: Peter TB Brett Date: Sat Jun 9 20:30:14 2007 +0000 Fix gschem's sort-component-library option In the last release, the sort-component-library gschemrc option did nothing. This patch corrects the issue, by adding an argument to s_clib_get_sources which enables or disables sorting the list of component sources. commit 1b18f93b85cc01a9d091795f94f4559372d165ad Author: Carlos Nieves Onega Date: Sat Jun 9 19:09:13 2007 +0000 Load the GTK missing image pixmap if a pixmap is not found. Improve fix for bug #171449, loading the GTK missing image pixmap if a pixmap is not found. commit 378040ccd23339eedffd06e9d84867ca719fa659 Author: Carlos Nieves Onega Date: Sat Jun 9 16:42:34 2007 +0000 Added check for missing pixmap file. Fix for bug #1714493. If a pixmap file doesn't exist, write a message to the log window. Thanks to the anonymous submitter. commit eed0be648afd9bc421a8d0059de621df778c5fbe Author: Carlos Nieves Onega Date: Sat Jun 9 16:09:36 2007 +0000 Avoid writting '\r' to files on MinGW. Applied patch #1733826 from Cesar Strauss. Thanks. When using the "w" mode in fopen, MinGW translates LF into CR-LF. This creates havoc when reading the same file again, when sharing schematics files with other systems, and when placing them in a VCS. This can be avoided by using the "wb" mode. The "b" is ignored on all POSIX conforming systems, according to these sources: http://www.die.net/doc/linux/man/man3/fopen.3.html http://www.opengroup.org/onlinepubs/009695399/functions/fopen.html There are other ways, however. Adding #include int _fmode = _O_BINARY; on some source file should work as well. Another way is linking against the MinGW supplied binmode.o, which does exactly that. commit 21d3dbc1ef88701b60aacc700d2cc9fec1a88f8d Author: Ales Hvezda Date: Sat Jun 9 15:14:07 2007 +0000 Applied a few patches from Ivan Stankovic commit 419b4d152b0b2ae6546052ccb8d87ef26fa83752 Author: Carlos Nieves Onega Date: Sat Jun 9 14:59:01 2007 +0000 Added EPS support. Applied patch #1713747 (with minor tweaks) from Wojciech Kazubski adding support for EPS when writing an image. Thanks. commit 4e55d9355a69f2005b9afc2596526a133caf8524 Author: Peter Clifton Date: Sat Jun 9 14:54:33 2007 +0000 Added call to g_thread_init() in Gschem and Gattrib. Gschem and Gattrib aren't threaded, but some of GTK's file chooser backends uses threading so we need to call g_thread_init(). commit ef0ca7042e49ed3f26ec61c71085378ab04fef6e Author: Ales Hvezda Date: Sat Jun 9 14:44:27 2007 +0000 Applied patch from Ivan Stankovic that displays entered characters in the status bar commit 251771e1f9acab07a3721d5828873464f56fa347 Author: Carlos Nieves Onega Date: Sat Jun 9 12:59:32 2007 +0000 Changed nil by #f. Nil is no longer supported by guile 1.8. Applied patch from Peter Clifton changing nil by #f. Thanks. Note there are still some files using nil. commit bca8aacb0b3dd8f03851fa7c50d287b458eb045e Author: Carlos Nieves Onega Date: Sat Jun 9 12:17:28 2007 +0000 Set alternative button order after buttons are created. Apply patch from Cesar Strauss, moving the gtk_dialog_set_alternative_button_order call after buttons are created, in the component selector window. Thanks. commit 3d58ffc27e6d915c4b1ebbd6f6b96d98d6126b7b Author: Peter TB Brett Date: Mon Jun 4 16:15:37 2007 +0000 Replace deprecated Guile functions & macros. Replace deprecated SCM_STRINGP, SCM_INUM, SXM_INUMP & SCM_MAKINUM with recommended equivalents for Guile 1.8. commit 66fb25858496cdf33e1456b835d68a16bb7ccdcd Author: Peter TB Brett Date: Sat Jun 2 16:33:34 2007 +0000 Improve Guile configure checks & remove 1.4 compat. code. Removes compatibility code for Guile 1.4, and makes configure scripts check for actual Guile version. commit 14fb224ec0f09b0b95a083abcaf3f5eaaf41b74f Author: Ales Hvezda Date: Sat Jun 2 01:02:42 2007 +0000 Fixed a behavior where you would cancel (via right mouse button or escape) the placing of components, but gschem would still be in the add component mode (and clicks would still place components). commit dcb48381f14f16e8786f70c4dae231f170539aac Author: Peter TB Brett Date: Thu May 31 21:29:47 2007 +0000 Cleanup code for status bar messages. Applied patch from Ivan Stankovic cleaning up code used for displaying status bar messages. commit a50de86a4c0f45a1202c3fac77ba1b712de29330 Author: Dan McMahill Date: Wed May 30 04:11:07 2007 +0000 Use "=" instead of "==" as an operator for test as the former is portable and the latter is a bash-ism commit 103524d50813c8a9490c9f4ebba1b72a3e4f36b5 Author: Peter Clifton Date: Wed May 30 00:10:22 2007 +0000 Committing src/gschem_dialog.c and include/gschem_dialog.h which were missed in the last commit. commit 98e738a12c2351a2613f3fef9ff0400df62247c3 Author: Peter Clifton Date: Tue May 29 23:06:04 2007 +0000 Applied patch by Ivan Stankovic making dialogs within gschem save their position and size on exit and restore it on opening. Geometry is saved to {$HOME}/.gEDA/gschem-dialog-geometry Dialogs inherit this functionality by using, or deriving from the new GschemDialog class (A GtkDialog subclass). commit 4eca6e40036bdeb68e15588180636c14c56fd71d Author: Peter TB Brett Date: Mon May 28 07:42:19 2007 +0000 Implement new component library system in gschem. A new component library model was introduced into libgeda to allow gschem etc. to work well with database systems. This patch updates gschem to use the new library system. Most code dealing with creating, updating and (un)embedding symbols is affected. However, this patch should not introduce any changes for the end-user. commit b0810d4d71e27bc32e0e0b1e903d230d97ca9ad6 Author: Peter TB Brett Date: Sat May 26 19:21:28 2007 +0000 Help menu updates. Change help menu now that all documentation is in the wiki. geda-gaf-1.8.2/gschem/tests/0000775000175000017500000000000012220655753012577 500000000000000geda-gaf-1.8.2/gschem/tests/net_selection.sch0000664000175000017500000000567112050461155016052 00000000000000v 20080127 1 N 33300 53100 33300 52800 4 N 33300 52800 35600 52800 4 N 36000 52800 38300 52800 4 N 38300 52800 38300 53100 4 C 34300 52800 1 0 0 vcc-1.sym C 36400 52800 1 0 0 vcc-1.sym T 32800 58300 9 10 1 0 0 0 1 Test0: connected net segments N 32800 58100 36200 58100 4 N 36200 58100 36200 57800 4 N 36200 57800 38900 57800 4 N 38900 58100 38900 57600 4 T 32800 56300 9 10 1 0 0 0 1 Test2: connected net segment with netnames N 32800 56000 34400 56000 4 N 34400 56000 34400 55800 4 N 34400 55800 35600 55800 4 { T 35300 55900 5 10 1 1 0 0 1 netname=aaa } N 36400 55800 37300 55800 4 { T 36400 55900 5 10 1 1 0 0 1 netname=aaa } N 37300 55800 37300 56000 4 N 37300 56000 38900 56000 4 N 38900 56200 38900 55800 4 T 32800 55200 9 10 1 0 0 0 1 Test3: connected net segment with multiple netnames N 32800 55000 33600 55000 4 N 33600 55000 33600 54800 4 N 33600 54800 34600 54800 4 { T 34100 54900 5 10 1 1 0 0 1 netname=bb1 } N 35000 54800 35800 54800 4 { T 35200 54900 5 10 1 1 0 0 1 netname=bb1 } N 35800 54800 35800 55000 4 N 35800 55000 36300 55000 4 N 36300 55000 36300 54800 4 N 36300 54800 36800 54800 4 { T 36500 54900 5 10 1 1 0 0 1 netname=bb2 } N 37200 54800 38000 54800 4 { T 37400 54900 5 10 1 1 0 0 1 netname=bb2 } N 38000 54800 38000 55000 4 N 38000 55000 38900 55000 4 N 38900 55100 38900 54800 4 N 32800 54100 33600 54100 4 { T 33000 53900 5 10 1 1 0 0 1 netname=cc0 } N 33600 54100 33600 53900 4 N 33600 53900 34600 53900 4 { T 34100 54000 5 10 1 1 0 0 1 netname=cc1 } N 35000 53900 35800 53900 4 { T 35200 54000 5 10 1 1 0 0 1 netname=cc1 } N 35800 53900 35800 54100 4 N 35800 54100 36300 54100 4 N 36300 54100 36300 53900 4 N 36300 53900 36800 53900 4 { T 36500 54000 5 10 1 1 0 0 1 netname=cc2 } N 37200 53900 38000 53900 4 { T 37400 54000 5 10 1 1 0 0 1 netname=cc2 } N 38000 53900 38000 54100 4 N 38000 54100 38900 54100 4 N 38900 54200 38900 53900 4 { T 39000 54000 5 10 1 1 0 0 1 netname=cc0 } T 32800 54300 9 10 1 0 0 0 1 Test4: connected netssegment with multiple netnames and netname loop N 36200 56900 38900 56900 4 N 38900 57200 38900 56700 4 T 32800 57400 9 10 1 0 0 0 1 Test1: connected net segments with loops N 33400 57200 33400 56800 4 N 33800 56800 33800 57200 4 N 34300 56800 34300 57200 4 N 33800 57000 34300 57000 4 N 34100 57000 34100 56800 4 N 33400 56800 35100 56800 4 N 35100 56800 35100 57200 4 N 35100 57000 36200 57000 4 N 35200 56800 35700 56800 4 N 35700 56800 35700 57000 4 N 36200 56800 36200 57200 4 N 36200 56800 37000 56800 4 N 37000 56800 37000 56900 4 N 36500 56800 36500 57200 4 N 32800 57200 36500 57200 4 N 36300 56800 36300 57100 4 N 36300 57100 35100 57100 4 T 32800 53400 9 10 1 0 0 0 1 Test5: Nets connected with labels N 33300 53100 32800 53100 4 N 38300 53100 38900 53100 4 N 38900 53300 38900 52800 4 T 32800 59500 9 10 1 0 0 0 3 This is a collection of possible connections that can appear in a schematic. The net selection code should work with all tests. N 32800 58800 35400 58800 4 T 32800 58900 9 10 1 0 0 0 1 single net, of course geda-gaf-1.8.2/gschem/tests/versionsym_minor.sym0000664000175000017500000000261712050461155016671 00000000000000v 20040710 1 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 1 7400 L 300 800 700 800 3 0 0 0 -1 -1 T 500 900 5 10 0 0 0 0 1 device=7400 T 500 1100 5 10 0 0 0 0 1 slot=1 T 500 1300 5 10 0 0 0 0 1 numslots=4 T 500 1500 5 10 0 0 0 0 1 slotdef=1:1,2,3 T 500 1700 5 10 0 0 0 0 1 slotdef=2:4,5,6 T 500 1900 5 10 0 0 0 0 1 slotdef=3:9,10,8 T 500 2100 5 10 0 0 0 0 1 slotdef=4:12,13,11 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 T 1000 100 8 10 1 1 0 0 1 blah=This needs to be outside! V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 0 1 { T 1100 550 5 8 1 1 0 0 1 pinnumber=3 T 1100 450 5 8 0 1 0 2 1 pinseq=3 T 950 500 9 8 0 1 0 6 1 pinlabel=Y T 950 500 5 8 0 1 0 8 1 pintype=out } P 300 300 0 300 1 0 1 { T 200 350 5 8 1 1 0 6 1 pinnumber=2 T 200 250 5 8 0 1 0 8 1 pinseq=2 T 350 300 9 8 0 1 0 0 1 pinlabel=B T 350 300 5 8 0 1 0 2 1 pintype=in } P 300 700 0 700 1 0 1 { T 200 750 5 8 1 1 0 6 1 pinnumber=1 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 0 1 0 0 1 pinlabel=A T 350 700 5 8 0 1 0 2 1 pintype=in } T 300 900 8 10 1 1 0 0 1 refdes=U? T 500 2250 5 10 0 0 0 0 1 footprint=DIP14 T 500 2450 5 10 0 0 0 0 1 description=4 NAND gates with 2 inputs T 500 2850 5 10 0 0 0 0 1 net=Vcc:14 T 500 3050 5 10 0 0 0 0 1 net=GND:7 T 500 2650 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc00.pdf T 1300 700 5 10 0 0 0 0 1 symversion=1.999 T 400 300 9 10 1 0 0 0 1 minor geda-gaf-1.8.2/gschem/tests/alignment.sch0000664000175000017500000003541112050461155015170 00000000000000v 20080706 2 B 15000 69200 7300 3700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 15400 72500 9 10 1 0 0 2 3 Text first line Text second \_line Text third\_ line L 15400 72500 15300 72600 2 0 0 0 -1 -1 L 15200 72500 15400 72700 2 0 0 0 -1 -1 T 15400 71000 9 10 1 0 0 1 3 Text first line Text second \_line Text third\_ line T 15400 69600 9 10 1 0 0 0 3 Text first line Text second \_line Text third\_ line T 18600 72500 9 10 1 0 0 5 3 Text first line Text second \_line Text third\_ line T 18600 71000 9 10 1 0 0 4 3 Text first line Text second \_line Text third\_ line T 18600 69600 9 10 1 0 0 3 3 Text first line Text second \_line Text third\_ line T 21900 72500 9 10 1 0 0 8 3 Text first line Text second \_line Text third\_ line T 21900 71000 9 10 1 0 0 7 3 Text first line Text second \_line Text third\_ line T 21900 69600 9 10 1 0 0 6 3 Text first line Text second \_line Text third\_ line L 18600 72500 18600 72700 2 0 0 0 -1 -1 L 18400 72700 18800 72700 2 0 0 0 -1 -1 L 21900 72500 22000 72600 2 0 0 0 -1 -1 L 21900 72700 22100 72500 2 0 0 0 -1 -1 L 21900 71000 22100 71000 2 0 0 0 -1 -1 L 22100 71200 22100 70800 2 0 0 0 -1 -1 L 21900 69600 22000 69500 2 0 0 0 -1 -1 L 22100 69600 21900 69400 2 0 0 0 -1 -1 L 18600 69600 18600 69400 2 0 0 0 -1 -1 L 18400 69400 18800 69400 2 0 0 0 -1 -1 L 15400 69600 15300 69500 2 0 0 0 -1 -1 L 15200 69600 15400 69400 2 0 0 0 -1 -1 L 15400 71000 15200 71000 2 0 0 0 -1 -1 L 15200 71200 15200 70800 2 0 0 0 -1 -1 L 18500 71100 18700 70900 2 0 0 0 -1 -1 L 18500 70900 18700 71100 2 0 0 0 -1 -1 T 12100 59300 9 24 1 0 90 0 1 Rotation T 22800 75000 9 24 1 0 0 0 1 Mirroring L 14600 75000 14600 48500 3 0 0 0 -1 -1 L 13900 73500 33500 73500 3 0 0 0 -1 -1 T 17200 73800 9 24 1 0 0 0 1 Unmirrord Text T 27100 73800 9 24 1 0 0 0 1 Mirrored Text T 14000 70200 9 24 1 0 90 0 1 0 degree T 14000 64300 9 24 1 0 90 0 1 90 degree T 13900 57800 9 24 1 0 90 0 1 180 degree T 14000 51300 9 24 1 0 90 0 1 270 degree L 23900 74400 23900 48700 3 0 0 0 -1 -1 B 16800 61400 3700 7300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 17200 61800 17100 61700 2 0 0 0 -1 -1 L 17200 61600 17000 61800 2 0 0 0 -1 -1 L 17200 65000 17000 65000 2 0 0 0 -1 -1 L 17000 64800 17000 65200 2 0 0 0 -1 -1 L 17200 68300 17100 68400 2 0 0 0 -1 -1 L 17000 68300 17200 68500 2 0 0 0 -1 -1 L 18700 68300 18700 68500 2 0 0 0 -1 -1 L 18500 68500 18900 68500 2 0 0 0 -1 -1 L 20100 68300 20200 68400 2 0 0 0 -1 -1 L 20100 68500 20300 68300 2 0 0 0 -1 -1 L 20100 65000 20300 65000 2 0 0 0 -1 -1 L 20300 64800 20300 65200 2 0 0 0 -1 -1 L 20100 61800 20200 61700 2 0 0 0 -1 -1 L 20100 61600 20300 61800 2 0 0 0 -1 -1 L 18700 61800 18700 61600 2 0 0 0 -1 -1 L 18500 61600 18900 61600 2 0 0 0 -1 -1 L 18600 64900 18800 65100 2 0 0 0 -1 -1 L 18800 64900 18600 65100 2 0 0 0 -1 -1 T 17200 61800 9 10 1 0 90 2 3 Text first line Text second \_line Text third\_ line T 18700 61800 9 10 1 0 90 1 3 Text first line Text second \_line Text third\_ line T 20100 61800 9 10 1 0 90 0 3 Text first line Text second \_line Text third\_ line T 17200 65000 9 10 1 0 90 5 3 Text first line Text second \_line Text third\_ line T 18700 65000 9 10 1 0 90 4 3 Text first line Text second \_line Text third\_ line T 20100 65000 9 10 1 0 90 3 3 Text first line Text second \_line Text third\_ line T 17200 68300 9 10 1 0 90 8 3 Text first line Text second \_line Text third\_ line T 18700 68300 9 10 1 0 90 7 3 Text first line Text second \_line Text third\_ line T 20100 68300 9 10 1 0 90 6 3 Text first line Text second \_line Text third\_ line B 15600 56800 7300 3700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 22500 57200 22600 57100 2 0 0 0 -1 -1 L 22700 57200 22500 57000 2 0 0 0 -1 -1 L 19300 57200 19300 57000 2 0 0 0 -1 -1 L 19500 57000 19100 57000 2 0 0 0 -1 -1 L 16000 57200 15900 57100 2 0 0 0 -1 -1 L 16000 57000 15800 57200 2 0 0 0 -1 -1 L 16000 58700 15800 58700 2 0 0 0 -1 -1 L 15800 58500 15800 58900 2 0 0 0 -1 -1 L 16000 60100 15900 60200 2 0 0 0 -1 -1 L 15800 60100 16000 60300 2 0 0 0 -1 -1 L 19300 60100 19300 60300 2 0 0 0 -1 -1 L 19500 60300 19100 60300 2 0 0 0 -1 -1 L 22500 60100 22600 60200 2 0 0 0 -1 -1 L 22700 60100 22500 60300 2 0 0 0 -1 -1 L 22500 58700 22700 58700 2 0 0 0 -1 -1 L 22700 58500 22700 58900 2 0 0 0 -1 -1 L 19400 58600 19200 58800 2 0 0 0 -1 -1 L 19400 58800 19200 58600 2 0 0 0 -1 -1 T 22500 57200 9 10 1 0 180 2 3 Text first line Text second \_line Text third\_ line T 22500 58700 9 10 1 0 180 1 3 Text first line Text second \_line Text third\_ line T 22500 60100 9 10 1 0 180 0 3 Text first line Text second \_line Text third\_ line T 19300 57200 9 10 1 0 180 5 3 Text first line Text second \_line Text third\_ line T 19300 58700 9 10 1 0 180 4 3 Text first line Text second \_line Text third\_ line T 19300 60100 9 10 1 0 180 3 3 Text first line Text second \_line Text third\_ line T 16000 57200 9 10 1 0 180 8 3 Text first line Text second \_line Text third\_ line T 16000 58700 9 10 1 0 180 7 3 Text first line Text second \_line Text third\_ line T 16000 60100 9 10 1 0 180 6 3 Text first line Text second \_line Text third\_ line B 17000 48700 3700 7300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 20300 55600 20400 55700 2 0 0 0 -1 -1 L 20300 55800 20500 55600 2 0 0 0 -1 -1 L 20300 52400 20500 52400 2 0 0 0 -1 -1 L 20500 52600 20500 52200 2 0 0 0 -1 -1 L 20300 49100 20400 49000 2 0 0 0 -1 -1 L 20500 49100 20300 48900 2 0 0 0 -1 -1 L 18800 49100 18800 48900 2 0 0 0 -1 -1 L 19000 48900 18600 48900 2 0 0 0 -1 -1 L 17400 49100 17300 49000 2 0 0 0 -1 -1 L 17400 48900 17200 49100 2 0 0 0 -1 -1 L 17400 52400 17200 52400 2 0 0 0 -1 -1 L 17200 52600 17200 52200 2 0 0 0 -1 -1 L 17400 55600 17300 55700 2 0 0 0 -1 -1 L 17400 55800 17200 55600 2 0 0 0 -1 -1 L 18800 55600 18800 55800 2 0 0 0 -1 -1 L 19000 55800 18600 55800 2 0 0 0 -1 -1 L 18900 52500 18700 52300 2 0 0 0 -1 -1 L 18700 52500 18900 52300 2 0 0 0 -1 -1 T 20300 55600 9 10 1 0 270 2 3 Text first line Text second \_line Text third\_ line T 18800 55600 9 10 1 0 270 1 3 Text first line Text second \_line Text third\_ line T 17400 55600 9 10 1 0 270 0 3 Text first line Text second \_line Text third\_ line T 20300 52400 9 10 1 0 270 5 3 Text first line Text second \_line Text third\_ line T 18800 52400 9 10 1 0 270 4 3 Text first line Text second \_line Text third\_ line T 17400 52400 9 10 1 0 270 3 3 Text first line Text second \_line Text third\_ line T 20300 49100 9 10 1 0 270 8 3 Text first line Text second \_line Text third\_ line T 18800 49100 9 10 1 0 270 7 3 Text first line Text second \_line Text third\_ line T 17400 49100 9 10 1 0 270 6 3 Text first line Text second \_line Text third\_ line B 25700 69200 7300 3700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 32600 72500 32700 72600 2 0 0 0 -1 -1 L 32800 72500 32600 72700 2 0 0 0 -1 -1 L 29400 72500 29400 72700 2 0 0 0 -1 -1 L 29600 72700 29200 72700 2 0 0 0 -1 -1 L 26100 72500 26000 72600 2 0 0 0 -1 -1 L 26100 72700 25900 72500 2 0 0 0 -1 -1 L 26100 71000 25900 71000 2 0 0 0 -1 -1 L 25900 71200 25900 70800 2 0 0 0 -1 -1 L 26100 69600 26000 69500 2 0 0 0 -1 -1 L 25900 69600 26100 69400 2 0 0 0 -1 -1 L 29400 69600 29400 69400 2 0 0 0 -1 -1 L 29600 69400 29200 69400 2 0 0 0 -1 -1 L 32600 69600 32700 69500 2 0 0 0 -1 -1 L 32800 69600 32600 69400 2 0 0 0 -1 -1 L 32600 71000 32800 71000 2 0 0 0 -1 -1 L 32800 71200 32800 70800 2 0 0 0 -1 -1 L 29500 71100 29300 70900 2 0 0 0 -1 -1 L 29500 70900 29300 71100 2 0 0 0 -1 -1 B 27500 61400 3700 7300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 30800 61800 30900 61700 2 0 0 0 -1 -1 L 30800 61600 31000 61800 2 0 0 0 -1 -1 L 30800 65000 31000 65000 2 0 0 0 -1 -1 L 31000 64800 31000 65200 2 0 0 0 -1 -1 L 30800 68300 30900 68400 2 0 0 0 -1 -1 L 31000 68300 30800 68500 2 0 0 0 -1 -1 L 29300 68300 29300 68500 2 0 0 0 -1 -1 L 29500 68500 29100 68500 2 0 0 0 -1 -1 L 27900 68300 27800 68400 2 0 0 0 -1 -1 L 27900 68500 27700 68300 2 0 0 0 -1 -1 L 27900 65000 27700 65000 2 0 0 0 -1 -1 L 27700 64800 27700 65200 2 0 0 0 -1 -1 L 27900 61800 27800 61700 2 0 0 0 -1 -1 L 27900 61600 27700 61800 2 0 0 0 -1 -1 L 29300 61800 29300 61600 2 0 0 0 -1 -1 L 29500 61600 29100 61600 2 0 0 0 -1 -1 L 29400 64900 29200 65100 2 0 0 0 -1 -1 L 29200 64900 29400 65100 2 0 0 0 -1 -1 B 25100 56800 7300 3700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 25500 57200 25400 57100 2 0 0 0 -1 -1 L 25300 57200 25500 57000 2 0 0 0 -1 -1 L 28700 57200 28700 57000 2 0 0 0 -1 -1 L 28500 57000 28900 57000 2 0 0 0 -1 -1 L 32000 57200 32100 57100 2 0 0 0 -1 -1 L 32000 57000 32200 57200 2 0 0 0 -1 -1 L 32000 58700 32200 58700 2 0 0 0 -1 -1 L 32200 58500 32200 58900 2 0 0 0 -1 -1 L 32000 60100 32100 60200 2 0 0 0 -1 -1 L 32200 60100 32000 60300 2 0 0 0 -1 -1 L 28700 60100 28700 60300 2 0 0 0 -1 -1 L 28500 60300 28900 60300 2 0 0 0 -1 -1 L 25500 60100 25400 60200 2 0 0 0 -1 -1 L 25300 60100 25500 60300 2 0 0 0 -1 -1 L 25500 58700 25300 58700 2 0 0 0 -1 -1 L 25300 58500 25300 58900 2 0 0 0 -1 -1 L 28600 58600 28800 58800 2 0 0 0 -1 -1 L 28600 58800 28800 58600 2 0 0 0 -1 -1 B 27300 48700 3700 7300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 27700 55600 27600 55700 2 0 0 0 -1 -1 L 27700 55800 27500 55600 2 0 0 0 -1 -1 L 27700 52400 27500 52400 2 0 0 0 -1 -1 L 27500 52600 27500 52200 2 0 0 0 -1 -1 L 27700 49100 27600 49000 2 0 0 0 -1 -1 L 27500 49100 27700 48900 2 0 0 0 -1 -1 L 29200 49100 29200 48900 2 0 0 0 -1 -1 L 29000 48900 29400 48900 2 0 0 0 -1 -1 L 30600 49100 30700 49000 2 0 0 0 -1 -1 L 30600 48900 30800 49100 2 0 0 0 -1 -1 L 30600 52400 30800 52400 2 0 0 0 -1 -1 L 30800 52600 30800 52200 2 0 0 0 -1 -1 L 30600 55600 30700 55700 2 0 0 0 -1 -1 L 30600 55800 30800 55600 2 0 0 0 -1 -1 L 29200 55600 29200 55800 2 0 0 0 -1 -1 L 29000 55800 29400 55800 2 0 0 0 -1 -1 L 29100 52500 29300 52300 2 0 0 0 -1 -1 L 29300 52500 29100 52300 2 0 0 0 -1 -1 T 32600 72500 9 10 1 0 0 8 3 Text first line Text second \_line Text third\_ line T 32600 71000 9 10 1 0 0 7 3 Text first line Text second \_line Text third\_ line T 32600 69600 9 10 1 0 0 6 3 Text first line Text second \_line Text third\_ line T 29400 72500 9 10 1 0 0 5 3 Text first line Text second \_line Text third\_ line T 29400 71000 9 10 1 0 0 4 3 Text first line Text second \_line Text third\_ line T 29400 69600 9 10 1 0 0 3 3 Text first line Text second \_line Text third\_ line T 26100 72500 9 10 1 0 0 2 3 Text first line Text second \_line Text third\_ line T 26100 71000 9 10 1 0 0 1 3 Text first line Text second \_line Text third\_ line T 26100 69600 9 10 1 0 0 0 3 Text first line Text second \_line Text third\_ line T 30800 61800 9 10 1 0 90 0 3 Text first line Text second \_line Text third\_ line T 29300 61800 9 10 1 0 90 1 3 Text first line Text second \_line Text third\_ line T 27900 61800 9 10 1 0 90 2 3 Text first line Text second \_line Text third\_ line T 30800 65000 9 10 1 0 90 3 3 Text first line Text second \_line Text third\_ line T 29300 65000 9 10 1 0 90 4 3 Text first line Text second \_line Text third\_ line T 27900 65000 9 10 1 0 90 5 3 Text first line Text second \_line Text third\_ line T 30800 68300 9 10 1 0 90 6 3 Text first line Text second \_line Text third\_ line T 29300 68300 9 10 1 0 90 7 3 Text first line Text second \_line Text third\_ line T 27900 68300 9 10 1 0 90 8 3 Text first line Text second \_line Text third\_ line T 25500 57200 9 10 1 0 180 8 3 Text first line Text second \_line Text third\_ line T 25500 58700 9 10 1 0 180 7 3 Text first line Text second \_line Text third\_ line T 25500 60100 9 10 1 0 180 6 3 Text first line Text second \_line Text third\_ line T 28700 57200 9 10 1 0 180 5 3 Text first line Text second \_line Text third\_ line T 28700 58700 9 10 1 0 180 4 3 Text first line Text second \_line Text third\_ line T 28700 60100 9 10 1 0 180 3 3 Text first line Text second \_line Text third\_ line T 32000 57200 9 10 1 0 180 2 3 Text first line Text second \_line Text third\_ line T 32000 58700 9 10 1 0 180 1 3 Text first line Text second \_line Text third\_ line T 32000 60100 9 10 1 0 180 0 3 Text first line Text second \_line Text third\_ line T 27700 55600 9 10 1 0 270 0 3 Text first line Text second \_line Text third\_ line T 29200 55600 9 10 1 0 270 1 3 Text first line Text second \_line Text third\_ line T 30600 55600 9 10 1 0 270 2 3 Text first line Text second \_line Text third\_ line T 27700 52400 9 10 1 0 270 3 3 Text first line Text second \_line Text third\_ line T 29200 52400 9 10 1 0 270 4 3 Text first line Text second \_line Text third\_ line T 30600 52400 9 10 1 0 270 5 3 Text first line Text second \_line Text third\_ line T 27700 49100 9 10 1 0 270 6 3 Text first line Text second \_line Text third\_ line T 29200 49100 9 10 1 0 270 7 3 Text first line Text second \_line Text third\_ line T 30600 49100 9 10 1 0 270 8 3 Text first line Text second \_line Text third\_ line T 16800 77100 9 36 1 0 0 0 1 alignment, rotation and mirroring test L 13900 69000 33500 69000 3 0 0 0 -1 -1 L 13900 61000 33500 61000 3 0 0 0 -1 -1 L 13900 56400 33500 56400 3 0 0 0 -1 -1 T 40500 77100 9 36 1 0 0 0 1 tabulator tests T 40500 72350 9 10 1 0 0 0 7 bbbbbbbbaaaaaaaaaa tab without prefix aa tab with prefix aa two tabs bbbbbbbb bbbbbbbb bbbbbbb short tab more than one tab L 40700 73700 41000 73700 2 0 0 0 -1 -1 L 41000 73700 40900 73750 2 0 0 0 -1 -1 L 41000 73700 40900 73650 2 0 0 0 -1 -1 L 40900 73450 41200 73450 2 0 0 0 -1 -1 L 41200 73450 41100 73500 2 0 0 0 -1 -1 L 41200 73450 41100 73400 2 0 0 0 -1 -1 L 40750 73150 41050 73150 2 0 0 0 -1 -1 L 41050 73150 40950 73200 2 0 0 0 -1 -1 L 41050 73150 40950 73100 2 0 0 0 -1 -1 L 41650 73150 41950 73150 2 0 0 0 -1 -1 L 41950 73150 41850 73200 2 0 0 0 -1 -1 L 41950 73150 41850 73100 2 0 0 0 -1 -1 L 41650 72950 41950 72950 2 0 0 0 -1 -1 L 41950 72950 41850 73000 2 0 0 0 -1 -1 L 41950 72950 41850 72900 2 0 0 0 -1 -1 L 41250 72650 41350 72650 2 0 0 0 -1 -1 L 41350 72650 41250 72700 2 0 0 0 -1 -1 L 41350 72650 41250 72600 2 0 0 0 -1 -1 L 41000 72400 41300 72400 2 0 0 0 -1 -1 L 41300 72400 41200 72450 2 0 0 0 -1 -1 L 41300 72400 41200 72350 2 0 0 0 -1 -1 L 41900 72400 42200 72400 2 0 0 0 -1 -1 L 42200 72400 42100 72450 2 0 0 0 -1 -1 L 42200 72400 42100 72350 2 0 0 0 -1 -1 L 42650 72400 42950 72400 2 0 0 0 -1 -1 L 42950 72400 42850 72450 2 0 0 0 -1 -1 L 42950 72400 42850 72350 2 0 0 0 -1 -1 T 47500 77100 9 36 1 0 0 0 1 overbar tests T 47500 73900 9 10 1 0 0 0 1 simple \_overbar\_ T 47500 73500 9 10 1 0 0 0 1 \_overbar with tabs\_ T 47500 73100 9 10 1 0 0 0 1 attribute_name=\_attribute_value\_ T 51800 73100 9 10 1 1 0 0 1 attribute_name=\_attribute_value\_ T 50450 73200 9 10 1 0 0 0 1 show_value T 47500 72300 9 10 1 0 0 0 2 multiline \_overbar continued\_ on the second line L 50400 73150 51600 73150 2 0 0 0 -1 -1 L 51600 73150 51500 73200 2 0 0 0 -1 -1 L 51600 73150 51500 73100 2 0 0 0 -1 -1 T 47500 71900 9 10 1 0 0 0 1 escaped backslash character _\\_ T 47500 71500 9 10 1 0 0 0 1 escaped normal characters \a\b\c\d T 47500 70500 9 10 1 0 0 0 3 escaped\ tab and escaped \ newline character, both are treated as normal characters L 48200 71100 48350 71100 2 0 0 0 -1 -1 L 48350 71100 48250 71150 2 0 0 0 -1 -1 L 48350 71100 48250 71050 2 0 0 0 -1 -1 T 47500 70000 9 10 1 0 0 0 1 unbalanced \_overbar geda-gaf-1.8.2/gschem/tests/states_1.sch0000664000175000017500000001474212050461155014741 00000000000000v 20070818 1 C 17300 16400 0 0 0 title-C.sym V 21250 30050 850 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 23350 31750 850 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 18450 29550 850 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 18000 29500 9 10 1 0 0 0 1 SBOX T 20700 30000 9 10 1 0 0 0 1 SELECT T 22600 31700 9 10 1 0 0 0 1 STARTSELECT L 19300 29600 20400 29900 3 0 0 0 -1 -1 L 21900 30600 22700 31200 3 0 0 0 -1 -1 L 22800 32400 19000 33100 3 0 0 0 -1 -1 L 19000 33100 18100 32600 3 0 0 0 -1 -1 L 18100 32600 17800 31700 3 0 0 0 -1 -1 L 17800 31700 18200 30400 3 0 0 0 -1 -1 L 18200 30400 18200 30600 3 0 0 0 -1 -1 L 18200 30400 18000 30500 3 0 0 0 -1 -1 L 20400 29900 20300 29900 3 0 0 0 -1 -1 L 20400 29900 20300 29800 3 0 0 0 -1 -1 L 22700 31200 22600 31200 3 0 0 0 -1 -1 L 22700 31200 22700 31100 3 0 0 0 -1 -1 V 22250 28150 850 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 24850 28150 850 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 19200 30000 9 10 1 0 0 0 1 RELEASE T 22200 30600 9 10 1 0 0 0 1 DOWN T 21400 32700 9 10 1 0 0 0 1 MOTION V 27350 28150 850 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 27350 25950 850 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 24850 25850 850 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 22250 25850 850 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 { T 21800 25800 5 10 1 1 0 0 1 name=ENDCOPY } L 24000 28200 23100 28200 3 0 0 0 -1 -1 L 26500 28100 25700 28100 3 0 0 0 -1 -1 L 24000 25800 23100 25800 3 0 0 0 -1 -1 L 26500 25900 25700 25900 3 0 0 0 -1 -1 T 21600 28100 9 10 1 0 0 0 1 ENDMOVE T 24500 28100 9 10 1 0 0 0 1 MOVE T 26500 28100 9 10 1 0 0 0 1 STARTMOVE T 24400 25800 9 10 1 0 0 0 1 COPY T 26600 25900 9 10 1 0 0 0 1 STARTCOPY L 21800 28900 21600 29300 3 0 0 0 -1 -1 L 21600 29300 21600 29100 3 0 0 0 -1 -1 L 21600 29300 21800 29300 3 0 0 0 -1 -1 L 23100 28200 23300 28400 3 0 0 0 -1 -1 L 23100 28200 23300 28000 3 0 0 0 -1 -1 L 25700 28100 25900 28300 3 0 0 0 -1 -1 L 25700 28100 25900 27900 3 0 0 0 -1 -1 L 23100 25800 23300 26000 3 0 0 0 -1 -1 L 23100 25800 23300 25600 3 0 0 0 -1 -1 L 25700 25900 25900 26100 3 0 0 0 -1 -1 L 25700 25900 25900 25700 3 0 0 0 -1 -1 T 26000 28200 9 10 1 0 0 0 1 BP T 23400 28300 9 10 1 0 0 0 1 BR T 22000 29200 9 10 1 0 0 0 1 BR L 21500 26200 20700 26800 3 0 0 0 -1 -1 L 20700 26800 21000 29200 3 0 0 0 -1 -1 L 21000 29200 20800 29000 3 0 0 0 -1 -1 L 21000 29200 21100 29000 3 0 0 0 -1 -1 T 20900 27200 9 10 1 0 0 0 1 BR T 26000 26000 9 10 1 0 0 0 1 BP T 23400 25900 9 10 1 0 0 0 1 BR B 28900 28000 1800 400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 22900 29900 9 10 1 0 0 0 1 EDIT_SELECT T 29000 28100 9 10 1 0 0 0 1 EDIT_MOVE B 22900 29800 2000 400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 22900 30000 22100 30000 3 0 0 0 -1 -1 L 22100 30000 22200 30100 3 0 0 0 -1 -1 L 22100 30000 22200 29900 3 0 0 0 -1 -1 L 28900 28200 28200 28200 3 0 0 0 -1 -1 L 28200 28200 28300 28300 3 0 0 0 -1 -1 L 28200 28200 28300 28100 3 0 0 0 -1 -1 B 28900 25800 1800 400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 28900 26000 28200 26000 3 0 0 0 -1 -1 L 28200 26000 28300 26100 3 0 0 0 -1 -1 L 28200 26000 28300 25900 3 0 0 0 -1 -1 T 29000 25900 9 10 1 0 0 0 1 EDIT_COPY T 32600 16800 9 8 1 0 0 0 1 GSCHEM_STATES.SCH T 36700 16500 9 8 1 0 0 0 1 SPE V 22150 22950 850 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 { T 21500 22900 5 10 1 1 0 0 1 name=DRAWCOMP } V 20350 24550 850 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 { T 19900 24500 5 10 1 1 0 0 1 name=ENDCOMP } V 20250 18750 850 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 { T 19700 18600 5 10 1 1 0 0 1 name=STARTPAN } L 18100 22800 18300 25200 3 0 0 0 -1 -1 L 18100 22800 19700 19500 3 0 0 0 -1 -1 T 17800 24900 9 10 1 0 0 0 1 BP L 21500 23500 21000 24000 3 0 0 0 -1 -1 L 21000 24000 21100 23800 3 0 0 0 -1 -1 L 21000 24000 21200 23900 3 0 0 0 -1 -1 T 21500 24000 9 10 1 0 0 0 1 MOTION V 33950 20450 850 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 30950 20450 850 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 32900 20300 9 10 1 0 0 0 1 STARTDRAWNET T 30400 20500 9 10 1 0 0 0 1 DRAWNET T 30400 20200 9 10 1 0 0 0 1 NETCONT L 33200 20100 31800 20100 3 0 0 0 -1 -1 L 31800 20100 31700 20100 3 0 0 0 -1 -1 L 33100 20700 31800 20700 3 0 0 0 -1 -1 L 31700 20100 31900 20200 3 0 0 0 -1 -1 L 31700 20100 31900 20000 3 0 0 0 -1 -1 L 33100 20700 32900 20600 3 0 0 0 -1 -1 L 33100 20700 32900 20800 3 0 0 0 -1 -1 T 32200 19900 9 10 1 0 0 0 1 BP T 32100 20800 9 10 1 0 0 0 1 B3P L 30300 21000 30200 21200 3 0 0 0 -1 -1 L 30200 21200 30000 21300 3 0 0 0 -1 -1 L 30000 21300 29800 21200 3 0 0 0 -1 -1 L 29800 21200 29800 21100 3 0 0 0 -1 -1 L 29800 21100 29900 21000 3 0 0 0 -1 -1 L 29900 21000 30100 20900 3 0 0 0 -1 -1 L 30100 20900 30200 20800 3 0 0 0 -1 -1 L 30200 20800 30100 20800 3 0 0 0 -1 -1 L 30200 20800 30200 20900 3 0 0 0 -1 -1 T 29800 21400 9 10 1 0 0 0 1 BP V 32250 27450 850 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 34700 26900 32900 26900 3 0 0 0 -1 -1 L 34800 27900 33000 27900 3 0 0 0 -1 -1 L 34800 27900 34700 28000 3 0 0 0 -1 -1 L 34800 27900 34700 27800 3 0 0 0 -1 -1 V 35450 27350 850 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 32900 26900 33000 27000 3 0 0 0 -1 -1 L 32900 26900 33000 26800 3 0 0 0 -1 -1 T 33500 26700 9 10 1 0 0 0 1 BP T 33600 28000 9 10 1 0 0 0 1 BP T 31500 25500 9 10 1 0 0 0 1 ENDLINE T 34500 25500 9 10 1 0 0 0 1 DRAWLINE T 31500 25100 9 10 1 0 0 0 1 ENDBOX T 34500 25100 9 10 1 0 0 0 1 DRAWBOX T 31500 24700 9 10 1 0 0 0 1 ENDCIRCLE T 34500 24700 9 10 1 0 0 0 1 DRAWCIRCLE T 31500 24300 9 10 1 0 0 0 1 ENDARC T 34500 24300 9 10 1 0 0 0 1 DRAWARC T 32000 26100 9 10 1 0 0 0 1 FITS IN THESE BOX'S T 31500 23900 9 10 1 0 0 0 1 ENDPIN T 34500 23900 9 10 1 0 0 0 1 DRAWPIN T 29100 30400 9 10 1 0 0 0 1 I_CALLBACKS.C SETS T 29100 30000 9 10 1 0 0 0 1 X_EVENT.C STATEMACHINE T 29100 29600 9 10 1 0 0 0 1 X_STATES.H DEFINES B 22100 18300 1800 400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 { T 22300 18400 5 10 1 1 0 0 1 name=WIEW_PAN } B 23500 22700 1800 400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 36700 27100 1800 400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 35500 20200 1800 400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 29100 31500 9 10 1 0 0 0 1 BP=BUTTON PRESSED T 29100 31000 9 10 1 0 0 0 1 BR=BUTTON RELEASED L 22100 18500 21100 18600 3 0 0 0 -1 -1 L 21100 18600 21300 18700 3 0 0 0 -1 -1 L 21100 18600 21200 18400 3 0 0 0 -1 -1 T 23500 22800 9 10 1 0 0 0 1 DON'T CARE L 35500 20400 34800 20400 3 0 0 0 -1 -1 T 35700 20300 9 10 1 0 0 0 1 ADD_NET L 36700 27300 36300 27300 3 0 0 0 -1 -1 T 36900 25500 9 10 1 0 0 0 1 ADD_LINE T 36900 25100 9 10 1 0 0 0 1 ADD_BOX T 36900 24700 9 10 1 0 0 0 1 ADD_CIRCLE T 36900 24300 9 10 1 0 0 0 1 ADD_ARC T 36900 23900 9 10 1 0 0 0 1 ADD_PIN L 23500 22900 23000 22900 3 0 0 0 -1 -1 L 23000 22900 23100 23000 3 0 0 0 -1 -1 L 23000 22900 23100 22800 3 0 0 0 -1 -1 L 19000 27300 19800 25200 3 0 0 0 -1 -1 L 19000 27300 20800 29300 3 0 0 0 -1 -1 L 18300 25200 19000 27300 3 0 0 0 -1 -1 geda-gaf-1.8.2/gschem/tests/multiline4.sch0000664000175000017500000000136612050461155015302 00000000000000v 20041228 1 T 43300 54200 9 10 1 0 0 0 1 one line ONE LINE T 43300 53400 9 10 1 0 0 0 2 two lines TWO LINES two lines TWO LINES B 43200 54100 1800 300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 43200 53300 2000 600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 43300 52300 9 10 1 0 0 0 3 three lines THREE LINES three lines THREE LINES three lines THREE LINES B 43200 52200 2400 900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 43300 51000 9 10 1 0 0 0 4 four lines FOUR LINES four lines FOUR LINES four lines FOUR LINES four lines FOUR LINES B 43200 50900 2100 1100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 43300 49400 9 10 1 0 0 0 5 five lines FIVE LINES five lines FIVE LINES five lines FIVE LINES five lines FIVE LINES five lines FIVE LINES B 43200 49300 2000 1400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/gschem/tests/autonumber.sch0000664000175000017500000004151312050461155015373 00000000000000v 20061020 1 C 30400 57400 1 0 0 resistor-1.sym { T 30600 57700 5 10 1 1 0 0 1 refdes=R? } C 30400 56800 1 0 0 resistor-1.sym { T 30600 57100 5 10 1 1 0 0 1 refdes=R? } C 30400 56100 1 0 0 resistor-1.sym { T 30600 56400 5 10 1 1 0 0 1 refdes=R? } C 30400 55400 1 0 0 resistor-1.sym { T 30600 55700 5 10 1 1 0 0 1 refdes=R? } C 30400 54800 1 0 0 resistor-1.sym { T 30600 55100 5 10 1 1 0 0 1 refdes=R? } C 30400 54200 1 0 0 resistor-1.sym { T 30600 54500 5 10 1 1 0 0 1 refdes=R? } C 31500 54200 1 0 0 resistor-1.sym { T 31700 54500 5 10 1 1 0 0 1 refdes=R? } C 31900 54800 1 0 0 resistor-1.sym { T 32100 55100 5 10 1 1 0 0 1 refdes=R? } C 32500 55400 1 0 0 resistor-1.sym { T 32700 55700 5 10 1 1 0 0 1 refdes=R? } C 33000 56100 1 0 0 resistor-1.sym { T 33200 56400 5 10 1 1 0 0 1 refdes=R? } C 33400 56800 1 0 0 resistor-1.sym { T 33600 57100 5 10 1 1 0 0 1 refdes=R? } C 33900 57400 1 0 0 resistor-1.sym { T 34100 57700 5 10 1 1 0 0 1 refdes=R? } C 34600 56800 1 0 0 resistor-1.sym { T 34800 57100 5 10 1 1 0 0 1 refdes=R? } C 34600 56200 1 0 0 resistor-1.sym { T 34800 56500 5 10 1 1 0 0 1 refdes=R? } C 34600 55700 1 0 0 resistor-1.sym { T 34800 56000 5 10 1 1 0 0 1 refdes=R? } C 34600 55100 1 0 0 resistor-1.sym { T 34800 55400 5 10 1 1 0 0 1 refdes=R? } C 34600 54600 1 0 0 resistor-1.sym { T 34800 54900 5 10 1 1 0 0 1 refdes=R? } C 34600 54100 1 0 0 resistor-1.sym { T 34800 54400 5 10 1 1 0 0 1 refdes=R? } C 36200 57500 1 0 0 capacitor-1.sym { T 36400 58000 5 10 1 1 0 0 1 refdes=C? T 36400 58200 5 10 0 0 0 0 1 device=CAPACITOR T 36400 58400 5 10 0 0 0 0 1 symversion=0.1 } C 36200 56800 1 0 0 capacitor-1.sym { T 36400 57300 5 10 1 1 0 0 1 refdes=C? T 36400 57500 5 10 0 0 0 0 1 device=CAPACITOR T 36400 57700 5 10 0 0 0 0 1 symversion=0.1 } C 36100 56100 1 0 0 capacitor-1.sym { T 36300 56600 5 10 1 1 0 0 1 refdes=C? T 36300 56800 5 10 0 0 0 0 1 device=CAPACITOR T 36300 57000 5 10 0 0 0 0 1 symversion=0.1 } C 36100 55400 1 0 0 capacitor-1.sym { T 36300 55900 5 10 1 1 0 0 1 refdes=C? T 36300 56100 5 10 0 0 0 0 1 device=CAPACITOR T 36300 56300 5 10 0 0 0 0 1 symversion=0.1 } C 36200 54600 1 0 0 capacitor-1.sym { T 36400 55100 5 10 1 1 0 0 1 refdes=C? T 36400 55300 5 10 0 0 0 0 1 device=CAPACITOR T 36400 55500 5 10 0 0 0 0 1 symversion=0.1 } C 36300 53900 1 0 0 capacitor-1.sym { T 36500 54400 5 10 1 1 0 0 1 refdes=C? T 36500 54600 5 10 0 0 0 0 1 device=CAPACITOR T 36500 54800 5 10 0 0 0 0 1 symversion=0.1 } C 37100 54200 1 0 0 capacitor-1.sym { T 37300 54700 5 10 1 1 0 0 1 refdes=C? T 37300 54900 5 10 0 0 0 0 1 device=CAPACITOR T 37300 55100 5 10 0 0 0 0 1 symversion=0.1 } C 37300 55000 1 0 0 capacitor-1.sym { T 37500 55500 5 10 1 1 0 0 1 refdes=C? T 37500 55700 5 10 0 0 0 0 1 device=CAPACITOR T 37500 55900 5 10 0 0 0 0 1 symversion=0.1 } C 37800 55700 1 0 0 capacitor-1.sym { T 38000 56200 5 10 1 1 0 0 1 refdes=C? T 38000 56400 5 10 0 0 0 0 1 device=CAPACITOR T 38000 56600 5 10 0 0 0 0 1 symversion=0.1 } C 38300 56400 1 0 0 capacitor-1.sym { T 38500 56900 5 10 1 1 0 0 1 refdes=C? T 38500 57100 5 10 0 0 0 0 1 device=CAPACITOR T 38500 57300 5 10 0 0 0 0 1 symversion=0.1 } C 38800 57100 1 0 0 capacitor-1.sym { T 39000 57600 5 10 1 1 0 0 1 refdes=C? T 39000 57800 5 10 0 0 0 0 1 device=CAPACITOR T 39000 58000 5 10 0 0 0 0 1 symversion=0.1 } C 39300 57700 1 0 0 capacitor-1.sym { T 39500 58200 5 10 1 1 0 0 1 refdes=C? T 39500 58400 5 10 0 0 0 0 1 device=CAPACITOR T 39500 58600 5 10 0 0 0 0 1 symversion=0.1 } C 39600 57000 1 0 0 capacitor-1.sym { T 39800 57500 5 10 1 1 0 0 1 refdes=C? T 39800 57700 5 10 0 0 0 0 1 device=CAPACITOR T 39800 57900 5 10 0 0 0 0 1 symversion=0.1 } C 39500 56100 1 0 0 capacitor-1.sym { T 39700 56600 5 10 1 1 0 0 1 refdes=C? T 39700 56800 5 10 0 0 0 0 1 device=CAPACITOR T 39700 57000 5 10 0 0 0 0 1 symversion=0.1 } C 39600 55300 1 0 0 capacitor-1.sym { T 39800 55800 5 10 1 1 0 0 1 refdes=C? T 39800 56000 5 10 0 0 0 0 1 device=CAPACITOR T 39800 56200 5 10 0 0 0 0 1 symversion=0.1 } C 39600 54600 1 0 0 capacitor-1.sym { T 39800 55100 5 10 1 1 0 0 1 refdes=C? T 39800 55300 5 10 0 0 0 0 1 device=CAPACITOR T 39800 55500 5 10 0 0 0 0 1 symversion=0.1 } C 39500 54000 1 0 0 capacitor-1.sym { T 39700 54500 5 10 1 1 0 0 1 refdes=C? T 39700 54700 5 10 0 0 0 0 1 device=CAPACITOR T 39700 54900 5 10 0 0 0 0 1 symversion=0.1 } C 34600 53600 1 0 0 resistor-1.sym { T 34800 53900 5 10 1 1 0 0 1 refdes=R? } C 34000 53300 1 0 0 resistor-1.sym { T 34200 53600 5 10 1 1 0 0 1 refdes=R? } C 33100 53200 1 0 0 resistor-1.sym { T 33300 53500 5 10 1 1 0 0 1 refdes=R? } C 32300 53100 1 0 0 resistor-1.sym { T 32500 53400 5 10 1 1 0 0 1 refdes=R? } C 31500 53000 1 0 0 resistor-1.sym { T 31700 53300 5 10 1 1 0 0 1 refdes=R? } C 36200 51600 1 0 0 block.sym { T 35800 51400 5 10 1 0 0 0 1 source=autonumber_sub2.sch T 36700 52000 5 10 1 1 0 0 1 refdes=U? } C 33400 51600 1 0 0 block.sym { T 32800 51400 5 10 1 0 0 0 1 source=autonumber_sub1.sch T 33900 51900 5 10 1 1 0 0 1 refdes=U? } L 31600 58200 31500 54800 3 0 0 0 -1 -1 L 31500 54800 34700 58700 3 0 0 0 -1 -1 L 34700 58700 34500 54100 3 0 0 0 -1 -1 L 34500 54100 30900 53400 3 0 0 0 -1 -1 L 30900 53400 31100 53700 3 0 0 0 -1 -1 L 30900 53400 31200 53300 3 0 0 0 -1 -1 L 37000 58400 37100 55200 3 0 0 0 -1 -1 L 37100 55200 40000 59300 3 0 0 0 -1 -1 L 40000 59300 40500 54400 3 0 0 0 -1 -1 L 40500 54400 40600 54900 3 0 0 0 -1 -1 L 40500 54400 40300 54900 3 0 0 0 -1 -1 T 30500 59000 9 14 1 0 0 0 2 testfile for autonumber_text dialog the arrows are marking the file order T 44100 58900 9 10 1 0 0 0 4 Test for autoslotting: Test1: Mark some of the logik symbols and renumber them without autoslotting Test2: Mark some of the logik symbols and renumber them with autoslotting C 43700 57300 1 0 0 7400-1.sym { T 44200 58200 5 10 0 0 0 0 1 device=7400 T 44000 58200 5 10 1 1 0 0 1 refdes=U? T 44200 59550 5 10 0 0 0 0 1 footprint=DIP14 } C 43600 55500 1 0 0 7400-1.sym { T 44100 56400 5 10 0 0 0 0 1 device=7400 T 43900 56400 5 10 1 1 0 0 1 refdes=U? T 44100 57750 5 10 0 0 0 0 1 footprint=DIP14 } C 46400 57300 1 0 0 7400-1.sym { T 46900 58200 5 10 0 0 0 0 1 device=7400 T 46700 58200 5 10 1 1 0 0 1 refdes=U? T 46900 59550 5 10 0 0 0 0 1 footprint=DIP14 } C 46400 55600 1 0 0 7400-1.sym { T 46900 56500 5 10 0 0 0 0 1 device=7400 T 46700 56500 5 10 1 1 0 0 1 refdes=U? T 46900 57850 5 10 0 0 0 0 1 footprint=DIP14 } C 49400 57400 1 0 0 7400-1.sym { T 49900 58300 5 10 0 0 0 0 1 device=7400 T 49700 58300 5 10 1 1 0 0 1 refdes=U? T 49900 59650 5 10 0 0 0 0 1 footprint=DIP14 } C 49400 55600 1 0 0 7400-1.sym { T 49900 56500 5 10 0 0 0 0 1 device=7400 T 49700 56500 5 10 1 1 0 0 1 refdes=U? T 49900 57850 5 10 0 0 0 0 1 footprint=DIP14 } C 43700 53300 1 0 0 7400-1.sym { T 44200 54200 5 10 0 0 0 0 1 device=7400 T 44000 54200 5 10 1 1 0 0 1 refdes=U? T 44200 55550 5 10 0 0 0 0 1 footprint=DIP14 } C 46300 53300 1 0 0 7400-1.sym { T 46800 54200 5 10 0 0 0 0 1 device=7400 T 46600 54200 5 10 1 1 0 0 1 refdes=U? T 46800 55550 5 10 0 0 0 0 1 footprint=DIP14 } C 49400 53400 1 0 0 7400-1.sym { T 49900 54300 5 10 0 0 0 0 1 device=7400 T 49700 54300 5 10 1 1 0 0 1 refdes=U? T 49900 55650 5 10 0 0 0 0 1 footprint=DIP14 } C 43700 50700 1 0 0 7400-1.sym { T 44200 51600 5 10 0 0 0 0 1 device=7400 T 44000 51600 5 10 1 1 0 0 1 refdes=U? T 44200 52950 5 10 0 0 0 0 1 footprint=DIP14 } C 46400 50800 1 0 0 7400-1.sym { T 46900 51700 5 10 0 0 0 0 1 device=7400 T 46700 51700 5 10 1 1 0 0 1 refdes=U? T 46900 53050 5 10 0 0 0 0 1 footprint=DIP14 } C 44900 56500 1 0 0 7402-1.sym { T 45500 57400 5 10 0 0 0 0 1 device=7402 T 45200 57400 5 10 1 1 0 0 1 refdes=U? T 45500 58800 5 10 0 0 0 0 1 footprint=DIP14 } C 48000 56600 1 0 0 7402-1.sym { T 48600 57500 5 10 0 0 0 0 1 device=7402 T 48300 57500 5 10 1 1 0 0 1 refdes=U? T 48600 58900 5 10 0 0 0 0 1 footprint=DIP14 } C 45100 54500 1 0 0 7402-1.sym { T 45700 55400 5 10 0 0 0 0 1 device=7402 T 45400 55400 5 10 1 1 0 0 1 refdes=U? T 45700 56800 5 10 0 0 0 0 1 footprint=DIP14 } C 47800 54500 1 0 0 7402-1.sym { T 48400 55400 5 10 0 0 0 0 1 device=7402 T 48100 55400 5 10 1 1 0 0 1 refdes=U? T 48400 56800 5 10 0 0 0 0 1 footprint=DIP14 } C 45100 52000 1 0 0 7402-1.sym { T 45700 52900 5 10 0 0 0 0 1 device=7402 T 45400 52900 5 10 1 1 0 0 1 refdes=U? T 45700 54300 5 10 0 0 0 0 1 footprint=DIP14 } C 47900 52100 1 0 0 7402-1.sym { T 48500 53000 5 10 0 0 0 0 1 device=7402 T 48200 53000 5 10 1 1 0 0 1 refdes=U? T 48500 54400 5 10 0 0 0 0 1 footprint=DIP14 } C 45100 49500 1 0 0 7402-1.sym { T 45700 50400 5 10 0 0 0 0 1 device=7402 T 45400 50400 5 10 1 1 0 0 1 refdes=U? T 45700 51800 5 10 0 0 0 0 1 footprint=DIP14 } C 43400 47000 1 0 0 7474-1.sym { T 45200 48800 5 10 0 0 0 0 1 device=7474 T 44700 49000 5 10 1 1 0 6 1 refdes=U? T 45200 49800 5 10 0 0 0 0 1 footprint=DIP14 } C 45500 47000 1 0 0 7474-1.sym { T 47300 48800 5 10 0 0 0 0 1 device=7474 T 46800 49000 5 10 1 1 0 6 1 refdes=U? T 47300 49800 5 10 0 0 0 0 1 footprint=DIP14 } C 47700 47000 1 0 0 7474-1.sym { T 49500 48800 5 10 0 0 0 0 1 device=7474 T 49000 49000 5 10 1 1 0 6 1 refdes=U? T 49500 49800 5 10 0 0 0 0 1 footprint=DIP14 } C 49800 47000 1 0 0 7474-1.sym { T 51600 48800 5 10 0 0 0 0 1 device=7474 T 51100 49000 5 10 1 1 0 6 1 refdes=U? T 51600 49800 5 10 0 0 0 0 1 footprint=DIP14 } C 51700 47000 1 0 0 7474-1.sym { T 53500 48800 5 10 0 0 0 0 1 device=7474 T 53000 49000 5 10 1 1 0 6 1 refdes=U? T 53500 49800 5 10 0 0 0 0 1 footprint=DIP14 } C 43000 51900 1 0 0 7414-1.sym { T 43300 52900 5 10 0 0 0 0 1 device=7414 T 43800 52700 5 10 1 1 0 0 1 refdes=U? T 43300 55300 5 10 0 0 0 0 1 footprint=DIP14 } C 42900 54200 1 0 0 7414-1.sym { T 43200 55200 5 10 0 0 0 0 1 device=7414 T 43700 55000 5 10 1 1 0 0 1 refdes=U? T 43200 57600 5 10 0 0 0 0 1 footprint=DIP14 } C 48300 50900 1 0 0 7414-1.sym { T 48600 51900 5 10 0 0 0 0 1 device=7414 T 49100 51700 5 10 1 1 0 0 1 refdes=U? T 48600 54300 5 10 0 0 0 0 1 footprint=DIP14 } C 47400 49800 1 0 0 7414-1.sym { T 47700 50800 5 10 0 0 0 0 1 device=7414 T 48200 50600 5 10 1 1 0 0 1 refdes=U? T 47700 53200 5 10 0 0 0 0 1 footprint=DIP14 } C 49800 51900 1 0 0 7414-1.sym { T 50100 52900 5 10 0 0 0 0 1 device=7414 T 50600 52700 5 10 1 1 0 0 1 refdes=U? T 50100 55300 5 10 0 0 0 0 1 footprint=DIP14 } C 49500 50000 1 0 0 7414-1.sym { T 49800 51000 5 10 0 0 0 0 1 device=7414 T 50300 50800 5 10 1 1 0 0 1 refdes=U? T 49800 53400 5 10 0 0 0 0 1 footprint=DIP14 } C 50400 51000 1 0 0 7414-1.sym { T 50700 52000 5 10 0 0 0 0 1 device=7414 T 51200 51800 5 10 1 1 0 0 1 refdes=U? T 50700 54400 5 10 0 0 0 0 1 footprint=DIP14 } C 51300 50000 1 0 0 7414-1.sym { T 51600 51000 5 10 0 0 0 0 1 device=7414 T 52100 50800 5 10 1 1 0 0 1 refdes=U? T 51600 53400 5 10 0 0 0 0 1 footprint=DIP14 } C 36200 49900 1 0 0 block.sym { T 35800 49700 5 10 1 0 0 0 1 source=autonumber_sub2.sch T 36700 50300 5 10 1 1 0 0 1 refdes=U? } B 35400 49200 3300 3500 3 0 0 2 100 100 0 -1 -1 -1 -1 -1 T 35400 52800 9 10 1 0 0 0 2 multiple instances of one subschematic should not lead to refdes gaps T 54400 59100 9 10 1 0 0 0 2 Bus test: Limit the scope for renumbering only to the selection or to nothing. U 54200 47300 54200 58000 10 0 U 54200 58000 60500 58000 10 0 U 60500 58000 60500 47400 10 -1 N 58300 56500 60300 56500 4 { T 60100 56600 5 10 1 1 0 6 1 netname=A? } C 60300 56500 1 270 0 busripper-1.sym { T 60300 56900 5 8 0 0 0 0 1 device=none } N 58300 56000 60300 56000 4 { T 60100 56100 5 10 1 1 0 6 1 netname=A? } C 60300 56000 1 270 0 busripper-1.sym { T 60300 56400 5 8 0 0 0 0 1 device=none } N 58300 55400 60300 55400 4 { T 60100 55500 5 10 1 1 0 6 1 netname=A? } C 60300 55400 1 270 0 busripper-1.sym { T 60300 55800 5 8 0 0 0 0 1 device=none } N 58300 54900 60300 54900 4 { T 60100 55000 5 10 1 1 0 6 1 netname=A? } C 60300 54900 1 270 0 busripper-1.sym { T 60300 55300 5 8 0 0 0 0 1 device=none } N 58300 54400 60300 54400 4 { T 60100 54500 5 10 1 1 0 6 1 netname=A? } C 60300 54400 1 270 0 busripper-1.sym { T 60300 54800 5 8 0 0 0 0 1 device=none } N 58300 53900 60300 53900 4 { T 60100 54000 5 10 1 1 0 6 1 netname=A? } C 60300 53900 1 270 0 busripper-1.sym { T 60300 54300 5 8 0 0 0 0 1 device=none } N 58300 53400 60300 53400 4 { T 60100 53500 5 10 1 1 0 6 1 netname=A? } C 60300 53400 1 270 0 busripper-1.sym { T 60300 53800 5 8 0 0 0 0 1 device=none } N 58300 52900 60300 52900 4 { T 60100 53000 5 10 1 1 0 6 1 netname=A? } C 60300 52900 1 270 0 busripper-1.sym { T 60300 53300 5 8 0 0 0 0 1 device=none } N 58300 52400 60300 52400 4 { T 60100 52500 5 10 1 1 0 6 1 netname=A? } C 60300 52400 1 270 0 busripper-1.sym { T 60300 52800 5 8 0 0 0 0 1 device=none } N 58300 51500 60300 51500 4 { T 60100 51600 5 10 1 1 0 6 1 netname=D? } C 60300 51500 1 270 0 busripper-1.sym { T 60300 51900 5 8 0 0 0 0 1 device=none } N 58300 51100 60300 51100 4 { T 60100 51200 5 10 1 1 0 6 1 netname=D? } C 60300 51100 1 270 0 busripper-1.sym { T 60300 51500 5 8 0 0 0 0 1 device=none } N 58300 50700 60300 50700 4 { T 60100 50800 5 10 1 1 0 6 1 netname=D? } C 60300 50700 1 270 0 busripper-1.sym { T 60300 51100 5 8 0 0 0 0 1 device=none } N 58300 50300 60300 50300 4 { T 60100 50400 5 10 1 1 0 6 1 netname=D? } C 60300 50300 1 270 0 busripper-1.sym { T 60300 50700 5 8 0 0 0 0 1 device=none } N 58300 49900 60300 49900 4 { T 60100 50000 5 10 1 1 0 6 1 netname=D? } C 60300 49900 1 270 0 busripper-1.sym { T 60300 50300 5 8 0 0 0 0 1 device=none } N 58300 49500 60300 49500 4 { T 60100 49600 5 10 1 1 0 6 1 netname=D? } C 60300 49500 1 270 0 busripper-1.sym { T 60300 49900 5 8 0 0 0 0 1 device=none } N 58300 49100 60300 49100 4 { T 60100 49200 5 10 1 1 0 6 1 netname=D? } C 60300 49100 1 270 0 busripper-1.sym { T 60300 49500 5 8 0 0 0 0 1 device=none } N 58300 48700 60300 48700 4 { T 60100 48800 5 10 1 1 0 6 1 netname=D? } C 60300 48700 1 270 0 busripper-1.sym { T 60300 49100 5 8 0 0 0 0 1 device=none } N 56400 51600 54400 51600 4 { T 54600 51700 5 10 1 1 0 0 1 netname=D? } C 54400 51600 1 90 1 busripper-1.sym { T 54400 52000 5 8 0 0 0 6 1 device=none } N 56400 51200 54400 51200 4 { T 54600 51300 5 10 1 1 0 0 1 netname=D? } C 54400 51200 1 90 1 busripper-1.sym { T 54400 51600 5 8 0 0 0 6 1 device=none } N 56400 50800 54400 50800 4 { T 54600 50900 5 10 1 1 0 0 1 netname=D? } C 54400 50800 1 90 1 busripper-1.sym { T 54400 51200 5 8 0 0 0 6 1 device=none } N 56400 50400 54400 50400 4 { T 54600 50500 5 10 1 1 0 0 1 netname=D? } C 54400 50400 1 90 1 busripper-1.sym { T 54400 50800 5 8 0 0 0 6 1 device=none } N 56400 50000 54400 50000 4 { T 54600 50100 5 10 1 1 0 0 1 netname=D? } C 54400 50000 1 90 1 busripper-1.sym { T 54400 50400 5 8 0 0 0 6 1 device=none } N 56400 49600 54400 49600 4 { T 54600 49700 5 10 1 1 0 0 1 netname=D? } C 54400 49600 1 90 1 busripper-1.sym { T 54400 50000 5 8 0 0 0 6 1 device=none } N 56400 49200 54400 49200 4 { T 54600 49300 5 10 1 1 0 0 1 netname=D? } C 54400 49200 1 90 1 busripper-1.sym { T 54400 49600 5 8 0 0 0 6 1 device=none } N 56400 48800 54400 48800 4 { T 54600 48900 5 10 1 1 0 0 1 netname=D? } C 54400 48800 1 90 1 busripper-1.sym { T 54400 49200 5 8 0 0 0 6 1 device=none } N 56400 56800 54400 56800 4 { T 54600 56900 5 10 1 1 0 0 1 netname=A? } C 54400 56800 1 90 1 busripper-1.sym { T 54400 57200 5 8 0 0 0 6 1 device=none } N 56400 56300 54400 56300 4 { T 54600 56400 5 10 1 1 0 0 1 netname=A? } C 54400 56300 1 90 1 busripper-1.sym { T 54400 56700 5 8 0 0 0 6 1 device=none } N 56400 55700 54400 55700 4 { T 54600 55800 5 10 1 1 0 0 1 netname=A? } C 54400 55700 1 90 1 busripper-1.sym { T 54400 56100 5 8 0 0 0 6 1 device=none } N 56400 55200 54400 55200 4 { T 54600 55300 5 10 1 1 0 0 1 netname=A? } C 54400 55200 1 90 1 busripper-1.sym { T 54400 55600 5 8 0 0 0 6 1 device=none } N 56400 54700 54400 54700 4 { T 54600 54800 5 10 1 1 0 0 1 netname=A? } C 54400 54700 1 90 1 busripper-1.sym { T 54400 55100 5 8 0 0 0 6 1 device=none } N 56400 54200 54400 54200 4 { T 54600 54300 5 10 1 1 0 0 1 netname=A? } C 54400 54200 1 90 1 busripper-1.sym { T 54400 54600 5 8 0 0 0 6 1 device=none } N 56400 53700 54400 53700 4 { T 54600 53800 5 10 1 1 0 0 1 netname=A? } C 54400 53700 1 90 1 busripper-1.sym { T 54400 54100 5 8 0 0 0 6 1 device=none } N 56400 53200 54400 53200 4 { T 54600 53300 5 10 1 1 0 0 1 netname=A? } C 54400 53200 1 90 1 busripper-1.sym { T 54400 53600 5 8 0 0 0 6 1 device=none } N 56400 52700 54400 52700 4 { T 54600 52800 5 10 1 1 0 0 1 netname=A? } C 54400 52700 1 90 1 busripper-1.sym { T 54400 53100 5 8 0 0 0 6 1 device=none } T 62500 59100 9 10 1 0 0 0 2 Prefix Test: Check correct numbering if the searchstrings are party indentical T 63100 57800 9 10 1 0 0 0 1 prefix=a? T 63100 57500 9 10 1 0 0 0 1 prefix=a? T 63100 57200 9 10 1 0 0 0 1 prefix=a? T 63100 56800 9 10 1 0 0 0 1 prefix=abc? T 63100 56500 9 10 1 0 0 0 1 prefix=abc? T 63100 56200 9 10 1 0 0 0 1 prefix=abc? T 63100 55700 9 10 1 0 0 0 1 prefix=ab? T 63100 55400 9 10 1 0 0 0 1 prefix=ab? T 63100 55100 9 10 1 0 0 0 1 prefix=ab? T 62500 52300 9 10 1 0 0 0 1 prefix=ab44n? T 62500 52000 9 10 1 0 0 0 1 prefix=ab44n? T 62500 51700 9 10 1 0 0 0 1 prefix=ab44n? T 62500 51400 9 10 1 0 0 0 1 prefix=ab44n? L 62600 57800 62600 55100 3 0 0 0 -1 -1 L 62600 55100 62700 55400 3 0 0 0 -1 -1 L 62600 55100 62500 55400 3 0 0 0 -1 -1 T 62500 56000 9 10 1 0 90 0 1 fileorder T 62500 53100 9 10 1 0 0 0 2 Test: The prefix of the searchtext has numbers geda-gaf-1.8.2/gschem/tests/Makefile.am0000664000175000017500000000150312050461155014542 00000000000000 EXTRA_DIST = \ agile-vfo-block_1.sch \ alignment.sch \ all_1.sch \ all74_1.sch \ arc.sch \ attributes.sch \ autonumber.sch \ autonumber_sub1.sch \ autonumber_sub2.sch \ autonumber_sub_sub1.sch \ buses.sch \ embedded_1.sch \ fill_test.sch \ gafrc \ geda_fonts.sch \ letters_1.sch \ missing.sch \ multiline2.sch \ multiline3.sch \ multiline4.sch \ multiline.sch \ net_selection.sch \ nets.sch \ oldsym2.sym \ oldsym.sym \ pins.sch \ radio_1.sch \ rotation.sch \ states_1.sch \ type_test.sch \ versionsym1.sch \ versionsym2.sch \ versionsym3.sch \ versionsym_basic.sym \ versionsym_invalid.sym \ versionsym_major.sym \ versionsym_minor2.sym \ versionsym_minor.sym MOSTLYCLEANFILES = *.log *~ CLEANFILES = *.log *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log *~ Makefile.in geda-gaf-1.8.2/gschem/tests/autonumber_sub2.sch0000664000175000017500000003226312050461155016330 00000000000000v 20060906 1 C 31400 56100 1 0 0 resistor-1.sym { T 31600 56400 5 10 1 1 0 0 1 refdes=R? T 31700 56500 5 10 0 0 0 0 1 device=RESISTOR } C 33600 56100 1 0 0 resistor-1.sym { T 33800 56400 5 10 1 1 0 0 1 refdes=R? T 33900 56500 5 10 0 0 0 0 1 device=RESISTOR } C 36200 54200 1 0 0 resistor-1.sym { T 36400 54500 5 10 1 1 0 0 1 refdes=R? T 36500 54600 5 10 0 0 0 0 1 device=RESISTOR } C 33500 52600 1 0 0 resistor-1.sym { T 33700 52900 5 10 1 1 0 0 1 refdes=R? T 33800 53000 5 10 0 0 0 0 1 device=RESISTOR } C 31200 53900 1 0 0 resistor-1.sym { T 31400 54200 5 10 1 1 0 0 1 refdes=R? T 31500 54300 5 10 0 0 0 0 1 device=RESISTOR } C 31400 54900 1 0 0 resistor-1.sym { T 31600 55200 5 10 1 1 0 0 1 refdes=R? T 31700 55300 5 10 0 0 0 0 1 device=RESISTOR } C 31400 54900 1 0 0 resistor-1.sym { T 31600 55200 5 10 1 1 0 0 1 refdes=R? T 31700 55300 5 10 0 0 0 0 1 device=RESISTOR } C 33600 55200 1 0 0 resistor-1.sym { T 33800 55500 5 10 1 1 0 0 1 refdes=R? T 33900 55600 5 10 0 0 0 0 1 device=RESISTOR } C 35400 54100 1 0 0 resistor-1.sym { T 35600 54400 5 10 1 1 0 0 1 refdes=R? T 35700 54500 5 10 0 0 0 0 1 device=RESISTOR } C 35400 54100 1 0 0 resistor-1.sym { T 35600 54400 5 10 1 1 0 0 1 refdes=R? T 35700 54500 5 10 0 0 0 0 1 device=RESISTOR } C 35900 51700 1 0 0 resistor-1.sym { T 36100 52000 5 10 1 1 0 0 1 refdes=R? T 36200 52100 5 10 0 0 0 0 1 device=RESISTOR } C 33000 51000 1 0 0 resistor-1.sym { T 33200 51300 5 10 1 1 0 0 1 refdes=R? T 33300 51400 5 10 0 0 0 0 1 device=RESISTOR } C 33000 51000 1 0 0 resistor-1.sym { T 33200 51300 5 10 1 1 0 0 1 refdes=R? T 33300 51400 5 10 0 0 0 0 1 device=RESISTOR } C 31000 51800 1 0 0 resistor-1.sym { T 31200 52100 5 10 1 1 0 0 1 refdes=R? T 31300 52200 5 10 0 0 0 0 1 device=RESISTOR } C 31000 51800 1 0 0 resistor-1.sym { T 31200 52100 5 10 1 1 0 0 1 refdes=R? T 31300 52200 5 10 0 0 0 0 1 device=RESISTOR } C 32800 53400 1 0 0 resistor-1.sym { T 33000 53700 5 10 1 1 0 0 1 refdes=R? T 33100 53800 5 10 0 0 0 0 1 device=RESISTOR } C 33600 54000 1 0 0 resistor-1.sym { T 33800 54300 5 10 1 1 0 0 1 refdes=R? T 33900 54400 5 10 0 0 0 0 1 device=RESISTOR } C 33000 55100 1 0 0 resistor-1.sym { T 33200 55400 5 10 1 1 0 0 1 refdes=R? T 33300 55500 5 10 0 0 0 0 1 device=RESISTOR } C 32500 56200 1 0 0 resistor-1.sym { T 32700 56500 5 10 1 1 0 0 1 refdes=R? T 32800 56600 5 10 0 0 0 0 1 device=RESISTOR } C 32800 57200 1 0 0 resistor-1.sym { T 33000 57500 5 10 1 1 0 0 1 refdes=R? T 33100 57600 5 10 0 0 0 0 1 device=RESISTOR } C 35300 57300 1 0 0 resistor-1.sym { T 35500 57600 5 10 1 1 0 0 1 refdes=R? T 35600 57700 5 10 0 0 0 0 1 device=RESISTOR } C 36600 56100 1 0 0 resistor-1.sym { T 36800 56400 5 10 1 1 0 0 1 refdes=R? T 36900 56500 5 10 0 0 0 0 1 device=RESISTOR } C 36600 56100 1 0 0 resistor-1.sym { T 36800 56400 5 10 1 1 0 0 1 refdes=R? T 36900 56500 5 10 0 0 0 0 1 device=RESISTOR } C 35000 55600 1 0 0 resistor-1.sym { T 35200 55900 5 10 1 1 0 0 1 refdes=R? T 35300 56000 5 10 0 0 0 0 1 device=RESISTOR } C 33800 57000 1 0 0 resistor-1.sym { T 34000 57300 5 10 1 1 0 0 1 refdes=R? T 34100 57400 5 10 0 0 0 0 1 device=RESISTOR } C 31400 57600 1 0 0 resistor-1.sym { T 31600 57900 5 10 1 1 0 0 1 refdes=R? T 31700 58000 5 10 0 0 0 0 1 device=RESISTOR } C 30500 57000 1 0 0 resistor-1.sym { T 30700 57300 5 10 1 1 0 0 1 refdes=R? T 30800 57400 5 10 0 0 0 0 1 device=RESISTOR } C 30500 57000 1 0 0 resistor-1.sym { T 30700 57300 5 10 1 1 0 0 1 refdes=R? T 30800 57400 5 10 0 0 0 0 1 device=RESISTOR } C 29400 55300 1 0 0 resistor-1.sym { T 29600 55600 5 10 1 1 0 0 1 refdes=R? T 29700 55700 5 10 0 0 0 0 1 device=RESISTOR } C 30100 53100 1 0 0 resistor-1.sym { T 30300 53400 5 10 1 1 0 0 1 refdes=R? T 30400 53500 5 10 0 0 0 0 1 device=RESISTOR } C 32200 52400 1 0 0 resistor-1.sym { T 32400 52700 5 10 1 1 0 0 1 refdes=R? T 32500 52800 5 10 0 0 0 0 1 device=RESISTOR } C 33200 51900 1 0 0 resistor-1.sym { T 33400 52200 5 10 1 1 0 0 1 refdes=R? T 33500 52300 5 10 0 0 0 0 1 device=RESISTOR } C 34800 52000 1 0 0 resistor-1.sym { T 35000 52300 5 10 1 1 0 0 1 refdes=R? T 35100 52400 5 10 0 0 0 0 1 device=RESISTOR } C 34600 53400 1 0 0 resistor-1.sym { T 34800 53700 5 10 1 1 0 0 1 refdes=R? T 34900 53800 5 10 0 0 0 0 1 device=RESISTOR } C 32000 54500 1 0 0 resistor-1.sym { T 32200 54800 5 10 1 1 0 0 1 refdes=R? T 32300 54900 5 10 0 0 0 0 1 device=RESISTOR } C 31300 52800 1 0 0 resistor-1.sym { T 31500 53100 5 10 1 1 0 0 1 refdes=R? T 31600 53200 5 10 0 0 0 0 1 device=RESISTOR } C 30000 53900 1 0 0 resistor-1.sym { T 30200 54200 5 10 1 1 0 0 1 refdes=R? T 30300 54300 5 10 0 0 0 0 1 device=RESISTOR } C 30400 55200 1 0 0 resistor-1.sym { T 30600 55500 5 10 1 1 0 0 1 refdes=R? T 30700 55600 5 10 0 0 0 0 1 device=RESISTOR } C 29900 56400 1 0 0 resistor-1.sym { T 30100 56700 5 10 1 1 0 0 1 refdes=R? T 30200 56800 5 10 0 0 0 0 1 device=RESISTOR } C 31400 55600 1 0 0 resistor-1.sym { T 31600 55900 5 10 1 1 0 0 1 refdes=R? T 31700 56000 5 10 0 0 0 0 1 device=RESISTOR } C 34300 54700 1 0 0 resistor-1.sym { T 34500 55000 5 10 1 1 0 0 1 refdes=R? T 34600 55100 5 10 0 0 0 0 1 device=RESISTOR } C 36500 52600 1 0 0 resistor-1.sym { T 36700 52900 5 10 1 1 0 0 1 refdes=R? T 36800 53000 5 10 0 0 0 0 1 device=RESISTOR } C 34800 51200 1 0 0 resistor-1.sym { T 35000 51500 5 10 1 1 0 0 1 refdes=R? T 35100 51600 5 10 0 0 0 0 1 device=RESISTOR } C 32100 51500 1 0 0 resistor-1.sym { T 32300 51800 5 10 1 1 0 0 1 refdes=R? T 32400 51900 5 10 0 0 0 0 1 device=RESISTOR } C 30200 52400 1 0 0 resistor-1.sym { T 30400 52700 5 10 1 1 0 0 1 refdes=R? T 30500 52800 5 10 0 0 0 0 1 device=RESISTOR } C 35400 56400 1 0 0 capacitor-1.sym { T 35600 56900 5 10 1 1 0 0 1 refdes=C? T 35600 57100 5 10 0 0 0 0 1 device=CAPACITOR T 35600 57300 5 10 0 0 0 0 1 symversion=0.1 } C 36300 57000 1 0 0 capacitor-1.sym { T 36500 57500 5 10 1 1 0 0 1 refdes=C? T 36500 57700 5 10 0 0 0 0 1 device=CAPACITOR T 36500 57900 5 10 0 0 0 0 1 symversion=0.1 } C 36900 57800 1 0 0 capacitor-1.sym { T 37100 58300 5 10 1 1 0 0 1 refdes=C? T 37100 58500 5 10 0 0 0 0 1 device=CAPACITOR T 37100 58700 5 10 0 0 0 0 1 symversion=0.1 } C 38100 57700 1 0 0 capacitor-1.sym { T 38300 58200 5 10 1 1 0 0 1 refdes=C? T 38300 58400 5 10 0 0 0 0 1 device=CAPACITOR T 38300 58600 5 10 0 0 0 0 1 symversion=0.1 } C 38400 56600 1 0 0 capacitor-1.sym { T 38600 57100 5 10 1 1 0 0 1 refdes=C? T 38600 57300 5 10 0 0 0 0 1 device=CAPACITOR T 38600 57500 5 10 0 0 0 0 1 symversion=0.1 } C 38200 54800 1 0 0 capacitor-1.sym { T 38400 55300 5 10 1 1 0 0 1 refdes=C? T 38400 55500 5 10 0 0 0 0 1 device=CAPACITOR T 38400 55700 5 10 0 0 0 0 1 symversion=0.1 } C 37200 54600 1 0 0 capacitor-1.sym { T 37400 55100 5 10 1 1 0 0 1 refdes=C? T 37400 55300 5 10 0 0 0 0 1 device=CAPACITOR T 37400 55500 5 10 0 0 0 0 1 symversion=0.1 } C 36000 54800 1 0 0 capacitor-1.sym { T 36200 55300 5 10 1 1 0 0 1 refdes=C? T 36200 55500 5 10 0 0 0 0 1 device=CAPACITOR T 36200 55700 5 10 0 0 0 0 1 symversion=0.1 } C 35700 53400 1 0 0 capacitor-1.sym { T 35900 53900 5 10 1 1 0 0 1 refdes=C? T 35900 54100 5 10 0 0 0 0 1 device=CAPACITOR T 35900 54300 5 10 0 0 0 0 1 symversion=0.1 } C 37100 53400 1 0 0 capacitor-1.sym { T 37300 53900 5 10 1 1 0 0 1 refdes=C? T 37300 54100 5 10 0 0 0 0 1 device=CAPACITOR T 37300 54300 5 10 0 0 0 0 1 symversion=0.1 } C 38100 54100 1 0 0 capacitor-1.sym { T 38300 54600 5 10 1 1 0 0 1 refdes=C? T 38300 54800 5 10 0 0 0 0 1 device=CAPACITOR T 38300 55000 5 10 0 0 0 0 1 symversion=0.1 } C 39100 53600 1 0 0 capacitor-1.sym { T 39300 54100 5 10 1 1 0 0 1 refdes=C? T 39300 54300 5 10 0 0 0 0 1 device=CAPACITOR T 39300 54500 5 10 0 0 0 0 1 symversion=0.1 } C 38500 52600 1 0 0 capacitor-1.sym { T 38700 53100 5 10 1 1 0 0 1 refdes=C? T 38700 53300 5 10 0 0 0 0 1 device=CAPACITOR T 38700 53500 5 10 0 0 0 0 1 symversion=0.1 } C 37800 51900 1 0 0 capacitor-1.sym { T 38000 52400 5 10 1 1 0 0 1 refdes=C? T 38000 52600 5 10 0 0 0 0 1 device=CAPACITOR T 38000 52800 5 10 0 0 0 0 1 symversion=0.1 } C 35200 52600 1 0 0 capacitor-1.sym { T 35400 53100 5 10 1 1 0 0 1 refdes=C? T 35400 53300 5 10 0 0 0 0 1 device=CAPACITOR T 35400 53500 5 10 0 0 0 0 1 symversion=0.1 } C 37100 51300 1 0 0 capacitor-1.sym { T 37300 51800 5 10 1 1 0 0 1 refdes=C? T 37300 52000 5 10 0 0 0 0 1 device=CAPACITOR T 37300 52200 5 10 0 0 0 0 1 symversion=0.1 } C 36600 50600 1 0 0 capacitor-1.sym { T 36800 51100 5 10 1 1 0 0 1 refdes=C? T 36800 51300 5 10 0 0 0 0 1 device=CAPACITOR T 36800 51500 5 10 0 0 0 0 1 symversion=0.1 } C 38600 50700 1 0 0 capacitor-1.sym { T 38800 51200 5 10 1 1 0 0 1 refdes=C? T 38800 51400 5 10 0 0 0 0 1 device=CAPACITOR T 38800 51600 5 10 0 0 0 0 1 symversion=0.1 } C 39200 51900 1 0 0 capacitor-1.sym { T 39400 52400 5 10 1 1 0 0 1 refdes=C? T 39400 52600 5 10 0 0 0 0 1 device=CAPACITOR T 39400 52800 5 10 0 0 0 0 1 symversion=0.1 } C 39900 52900 1 0 0 capacitor-1.sym { T 40100 53400 5 10 1 1 0 0 1 refdes=C? T 40100 53600 5 10 0 0 0 0 1 device=CAPACITOR T 40100 53800 5 10 0 0 0 0 1 symversion=0.1 } C 40200 54100 1 0 0 capacitor-1.sym { T 40400 54600 5 10 1 1 0 0 1 refdes=C? T 40400 54800 5 10 0 0 0 0 1 device=CAPACITOR T 40400 55000 5 10 0 0 0 0 1 symversion=0.1 } C 39400 55100 1 0 0 capacitor-1.sym { T 39600 55600 5 10 1 1 0 0 1 refdes=C? T 39600 55800 5 10 0 0 0 0 1 device=CAPACITOR T 39600 56000 5 10 0 0 0 0 1 symversion=0.1 } C 39700 55900 1 0 0 capacitor-1.sym { T 39900 56400 5 10 1 1 0 0 1 refdes=C? T 39900 56600 5 10 0 0 0 0 1 device=CAPACITOR T 39900 56800 5 10 0 0 0 0 1 symversion=0.1 } C 38000 55900 1 0 0 capacitor-1.sym { T 38200 56400 5 10 1 1 0 0 1 refdes=C? T 38200 56600 5 10 0 0 0 0 1 device=CAPACITOR T 38200 56800 5 10 0 0 0 0 1 symversion=0.1 } C 37300 56800 1 0 0 capacitor-1.sym { T 37500 57300 5 10 1 1 0 0 1 refdes=C? T 37500 57500 5 10 0 0 0 0 1 device=CAPACITOR T 37500 57700 5 10 0 0 0 0 1 symversion=0.1 } C 34300 57900 1 0 0 capacitor-1.sym { T 34500 58400 5 10 1 1 0 0 1 refdes=C? T 34500 58600 5 10 0 0 0 0 1 device=CAPACITOR T 34500 58800 5 10 0 0 0 0 1 symversion=0.1 } C 32900 58000 1 0 0 capacitor-1.sym { T 33100 58500 5 10 1 1 0 0 1 refdes=C? T 33100 58700 5 10 0 0 0 0 1 device=CAPACITOR T 33100 58900 5 10 0 0 0 0 1 symversion=0.1 } C 31500 58100 1 0 0 capacitor-1.sym { T 31700 58600 5 10 1 1 0 0 1 refdes=C? T 31700 58800 5 10 0 0 0 0 1 device=CAPACITOR T 31700 59000 5 10 0 0 0 0 1 symversion=0.1 } C 30300 58100 1 0 0 capacitor-1.sym { T 30500 58600 5 10 1 1 0 0 1 refdes=C? T 30500 58800 5 10 0 0 0 0 1 device=CAPACITOR T 30500 59000 5 10 0 0 0 0 1 symversion=0.1 } C 29900 57600 1 0 0 capacitor-1.sym { T 30100 58100 5 10 1 1 0 0 1 refdes=C? T 30100 58300 5 10 0 0 0 0 1 device=CAPACITOR T 30100 58500 5 10 0 0 0 0 1 symversion=0.1 } C 28900 57700 1 0 0 capacitor-1.sym { T 29100 58200 5 10 1 1 0 0 1 refdes=C? T 29100 58400 5 10 0 0 0 0 1 device=CAPACITOR T 29100 58600 5 10 0 0 0 0 1 symversion=0.1 } C 28900 56900 1 0 0 capacitor-1.sym { T 29100 57400 5 10 1 1 0 0 1 refdes=C? T 29100 57600 5 10 0 0 0 0 1 device=CAPACITOR T 29100 57800 5 10 0 0 0 0 1 symversion=0.1 } C 28900 55800 1 0 0 capacitor-1.sym { T 29100 56300 5 10 1 1 0 0 1 refdes=C? T 29100 56500 5 10 0 0 0 0 1 device=CAPACITOR T 29100 56700 5 10 0 0 0 0 1 symversion=0.1 } C 29000 54400 1 0 0 capacitor-1.sym { T 29200 54900 5 10 1 1 0 0 1 refdes=C? T 29200 55100 5 10 0 0 0 0 1 device=CAPACITOR T 29200 55300 5 10 0 0 0 0 1 symversion=0.1 } C 28800 53200 1 0 0 capacitor-1.sym { T 29000 53700 5 10 1 1 0 0 1 refdes=C? T 29000 53900 5 10 0 0 0 0 1 device=CAPACITOR T 29000 54100 5 10 0 0 0 0 1 symversion=0.1 } C 29100 52400 1 0 0 capacitor-1.sym { T 29300 52900 5 10 1 1 0 0 1 refdes=C? T 29300 53100 5 10 0 0 0 0 1 device=CAPACITOR T 29300 53300 5 10 0 0 0 0 1 symversion=0.1 } C 29000 51600 1 0 0 capacitor-1.sym { T 29200 52100 5 10 1 1 0 0 1 refdes=C? T 29200 52300 5 10 0 0 0 0 1 device=CAPACITOR T 29200 52500 5 10 0 0 0 0 1 symversion=0.1 } C 30300 51600 1 0 0 capacitor-1.sym { T 30500 52100 5 10 1 1 0 0 1 refdes=C? T 30500 52300 5 10 0 0 0 0 1 device=CAPACITOR T 30500 52500 5 10 0 0 0 0 1 symversion=0.1 } C 29600 50600 1 0 0 capacitor-1.sym { T 29800 51100 5 10 1 1 0 0 1 refdes=C? T 29800 51300 5 10 0 0 0 0 1 device=CAPACITOR T 29800 51500 5 10 0 0 0 0 1 symversion=0.1 } C 31400 50800 1 0 0 capacitor-1.sym { T 31600 51300 5 10 1 1 0 0 1 refdes=C? T 31600 51500 5 10 0 0 0 0 1 device=CAPACITOR T 31600 51700 5 10 0 0 0 0 1 symversion=0.1 } C 40000 50900 1 0 0 capacitor-1.sym { T 40200 51400 5 10 1 1 0 0 1 refdes=C? T 40200 51600 5 10 0 0 0 0 1 device=CAPACITOR T 40200 51800 5 10 0 0 0 0 1 symversion=0.1 } C 40400 51700 1 0 0 capacitor-1.sym { T 40600 52200 5 10 1 1 0 0 1 refdes=C? T 40600 52400 5 10 0 0 0 0 1 device=CAPACITOR T 40600 52600 5 10 0 0 0 0 1 symversion=0.1 } C 40400 55200 1 0 0 capacitor-1.sym { T 40600 55700 5 10 1 1 0 0 1 refdes=C? T 40600 55900 5 10 0 0 0 0 1 device=CAPACITOR T 40600 56100 5 10 0 0 0 0 1 symversion=0.1 } C 40300 56700 1 0 0 capacitor-1.sym { T 40500 57200 5 10 1 1 0 0 1 refdes=C? T 40500 57400 5 10 0 0 0 0 1 device=CAPACITOR T 40500 57600 5 10 0 0 0 0 1 symversion=0.1 } C 40200 57700 1 0 0 capacitor-1.sym { T 40400 58200 5 10 1 1 0 0 1 refdes=C? T 40400 58400 5 10 0 0 0 0 1 device=CAPACITOR T 40400 58600 5 10 0 0 0 0 1 symversion=0.1 } C 39100 57500 1 0 0 capacitor-1.sym { T 39300 58000 5 10 1 1 0 0 1 refdes=C? T 39300 58200 5 10 0 0 0 0 1 device=CAPACITOR T 39300 58400 5 10 0 0 0 0 1 symversion=0.1 } C 39200 56500 1 0 0 capacitor-1.sym { T 39400 57000 5 10 1 1 0 0 1 refdes=C? T 39400 57200 5 10 0 0 0 0 1 device=CAPACITOR T 39400 57400 5 10 0 0 0 0 1 symversion=0.1 } geda-gaf-1.8.2/gschem/tests/type_test.sch0000664000175000017500000000416212050461155015231 00000000000000v 20021103 L 23000 74000 28000 74000 3 0 0 0 -1 -1 L 23000 73000 28000 73000 3 0 0 1 -1 75 L 23000 72000 28000 72000 3 0 0 2 75 50 L 23000 71000 28000 71000 3 0 0 3 75 50 L 23000 70000 28000 70000 3 0 0 4 75 50 L 23000 69000 28000 69000 3 40 0 1 -1 75 L 23000 68000 28000 68000 3 60 0 2 75 50 L 23000 67000 28000 67000 3 80 0 3 75 50 L 23000 66000 28000 66000 3 100 0 4 75 50 L 23000 65300 28000 65300 3 2 0 0 -1 -1 L 23000 65000 28000 65000 3 5 0 0 -1 -1 L 23000 64700 28000 64700 3 10 0 0 -1 -1 L 23000 64400 28000 64400 3 20 0 0 -1 -1 L 23000 64100 28000 64100 3 30 0 0 -1 -1 L 23000 63800 28000 63800 3 40 0 0 -1 -1 L 23000 63500 28000 63500 3 50 0 0 -1 -1 L 23000 63200 28000 63200 3 60 0 0 -1 -1 L 23000 62900 28000 62900 3 70 0 0 -1 -1 L 23000 62600 28000 62600 3 80 0 0 -1 -1 L 23000 62300 28000 62300 3 90 0 0 -1 -1 L 23000 62000 28000 62000 3 100 0 0 -1 -1 B 30000 72000 2000 2000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 30000 69700 2000 2000 3 0 0 1 -1 75 0 -1 -1 -1 -1 -1 B 30000 67300 2000 2000 3 0 0 2 75 50 0 -1 -1 -1 -1 -1 B 30000 64800 2000 2000 3 0 0 3 75 50 0 -1 -1 -1 -1 -1 B 30000 62300 2000 2000 3 0 0 4 75 50 0 -1 -1 -1 -1 -1 B 33000 72000 2000 2000 3 20 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 33000 69700 2000 2000 3 40 0 1 -1 75 0 -1 -1 -1 -1 -1 B 33000 67300 2000 2000 3 60 0 2 75 50 0 -1 -1 -1 -1 -1 B 33000 64800 2000 2000 3 80 0 3 75 50 0 -1 -1 -1 -1 -1 B 33000 62300 2000 2000 3 100 0 4 75 50 0 -1 -1 -1 -1 -1 V 38000 73000 900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 38000 70000 900 3 0 0 1 -1 75 0 -1 -1 -1 -1 -1 V 38000 67000 900 3 0 0 2 75 50 0 -1 -1 -1 -1 -1 V 38000 64000 900 3 0 0 3 75 50 0 -1 -1 -1 -1 -1 V 41000 73000 900 3 40 0 1 -1 75 0 -1 -1 -1 -1 -1 V 41000 70000 900 3 60 0 2 75 50 0 -1 -1 -1 -1 -1 V 41000 67000 900 3 80 0 3 75 50 0 -1 -1 -1 -1 -1 V 41000 64000 900 3 100 0 4 75 50 0 -1 -1 -1 -1 -1 A 24600 75000 2000 0 45 3 0 0 0 -1 -1 A 26600 75000 2000 0 45 3 0 0 1 -1 75 A 28600 75000 2000 0 45 3 0 0 2 75 50 A 30600 75000 2000 0 45 3 0 0 3 75 50 A 32600 75000 2000 0 45 3 40 0 1 -1 75 A 34600 75000 2000 0 45 3 60 0 2 75 50 A 36600 75000 2000 0 45 3 80 0 3 75 50 A 38600 75000 2000 0 45 3 100 0 4 75 50 C 21400 60900 0 0 0 title-A2.sym geda-gaf-1.8.2/gschem/tests/rotation.sch0000664000175000017500000000126712050461155015053 00000000000000v 20030921 C 34900 66700 1 0 0 7400-1.sym { T 35200 67600 5 10 1 1 0 0 refdes=U? } C 34500 65700 1 90 0 7400-1.sym { T 33600 66000 5 10 1 1 90 0 refdes=U? } C 35800 66000 1 180 0 7400-1.sym { T 35500 65100 5 10 1 1 180 0 refdes=U? } C 36000 66700 1 270 0 7400-1.sym { T 36900 66400 5 10 1 1 270 0 refdes=U? } T 33500 65000 9 10 1 0 0 0 Just Rotated C 33400 67800 1 0 1 7400-1.sym { T 33100 68700 5 10 1 1 0 6 refdes=U? } T 28900 67200 9 10 1 0 0 0 Mirrored and Rotated C 32000 70100 1 90 1 7400-1.sym { T 31100 69800 5 10 1 1 90 6 refdes=U? } C 29300 68900 1 180 1 7400-1.sym { T 29600 68000 5 10 1 1 180 6 refdes=U? } C 31000 67000 1 270 1 7400-1.sym { T 31900 67300 5 10 1 1 270 6 refdes=U? } geda-gaf-1.8.2/gschem/tests/multiline2.sch0000664000175000017500000004360012050461155015275 00000000000000v 20031019 1 T 13400 49000 9 4 1 0 0 0 173 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. T 20700 57900 9 4 1 0 0 0 88 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and T 16700 57900 9 4 1 0 0 0 87 of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. B 12600 48700 11300 19000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 13200 67100 21200 67100 3 0 0 0 -1 -1 geda-gaf-1.8.2/gschem/tests/versionsym2.sch0000664000175000017500000001226412050461155015513 00000000000000v 20040710 1 C 68100 56000 1 0 0 versionsym_basic.sym { T 68400 56900 5 10 1 1 0 0 1 refdes=U1 T 69500 56500 5 10 1 1 0 0 1 blah=1.0 only inside } C 69700 52400 1 0 0 versionsym_basic.sym { T 71000 53100 5 10 1 1 0 0 1 blah=equal inside and outside T 70000 53300 5 10 1 1 0 0 1 refdes=U2 T 71000 53100 5 10 0 0 0 0 1 symversion=24.0 } C 68100 54700 1 0 0 versionsym_basic.sym { T 69500 55300 5 10 1 1 0 0 1 blah=outside younger T 68400 55600 5 10 1 1 0 0 1 refdes=U3 T 69400 55400 5 10 0 0 0 0 1 symversion=0.5 } C 71600 54900 1 0 0 versionsym_basic.sym { T 72600 55000 5 10 1 1 0 0 1 blah=outside older T 71900 55800 5 10 1 1 0 0 1 refdes=U4 T 72900 55600 5 10 0 0 0 0 1 symversion=26.0 } C 71700 56400 1 0 0 7400-1.sym { T 72000 57300 5 10 1 1 0 0 1 refdes=U5 T 71700 56200 5 10 1 1 0 0 1 blah=outside only T 71600 56400 5 10 1 1 0 0 1 symversion=1.5 } C 68200 52400 1 0 0 7400-1.sym { T 68500 53300 5 10 1 1 0 0 1 refdes=U6 T 68500 52200 5 10 1 1 0 0 1 blah=none } C 75100 52700 1 0 0 versionsym_basic.sym { T 75100 52500 5 10 1 1 0 0 1 blah=parse outside error T 75400 53600 5 10 1 1 0 0 1 refdes=U7 T 76400 53400 5 10 0 0 0 0 1 symversion=asdf } C 75100 54200 1 0 0 versionsym_invalid.sym { T 75000 54000 5 10 1 1 0 0 1 blah=parse inside error T 75400 55100 5 10 1 1 0 0 1 refdes=U8 T 76400 54900 5 10 0 0 0 0 1 symversion=!!!-1.0 } B 67800 52100 5400 1800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 67700 54300 3400 3200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 71400 54500 2300 3000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 74400 52100 2600 3600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 67900 53700 9 10 1 0 0 0 1 OK! T 67800 57300 9 10 1 0 0 0 1 newer library T 71500 54600 9 10 1 0 0 0 1 oddities T 74500 55500 9 10 1 0 0 0 1 errors C 74500 57800 1 0 0 EMBEDDEDversionsym_basic.sym [ L 74800 58000 74800 58600 3 0 0 0 -1 -1 T 74800 57800 9 8 1 0 0 0 1 7400 L 74800 58600 75200 58600 3 0 0 0 -1 -1 T 75000 58700 5 10 0 0 0 0 1 device=7400 T 75000 58900 5 10 0 0 0 0 1 slot=1 T 75000 59100 5 10 0 0 0 0 1 numslots=4 T 75000 59300 5 10 0 0 0 0 1 slotdef=1:1,2,3 T 75000 59500 5 10 0 0 0 0 1 slotdef=2:4,5,6 T 75000 59700 5 10 0 0 0 0 1 slotdef=3:9,10,8 T 75000 59900 5 10 0 0 0 0 1 slotdef=4:12,13,11 L 74800 58000 75200 58000 3 0 0 0 -1 -1 A 75200 58300 300 270 180 3 0 0 0 -1 -1 T 75500 57900 8 10 0 1 0 0 1 blah=This needs to be outside! V 75550 58300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 75600 58300 75800 58300 1 0 1 { T 75600 58350 5 8 1 1 0 0 1 pinnumber=3 T 75600 58250 5 8 0 1 0 2 1 pinseq=3 T 75450 58300 9 8 0 1 0 6 1 pinlabel=Y T 75450 58300 5 8 0 1 0 8 1 pintype=out } P 74800 58100 74500 58100 1 0 1 { T 74700 58150 5 8 1 1 0 6 1 pinnumber=2 T 74700 58050 5 8 0 1 0 8 1 pinseq=2 T 74850 58100 9 8 0 1 0 0 1 pinlabel=B T 74850 58100 5 8 0 1 0 2 1 pintype=in } P 74800 58500 74500 58500 1 0 1 { T 74700 58550 5 8 1 1 0 6 1 pinnumber=1 T 74700 58450 5 8 0 1 0 8 1 pinseq=1 T 74850 58500 9 8 0 1 0 0 1 pinlabel=A T 74850 58500 5 8 0 1 0 2 1 pintype=in } T 74800 58700 8 10 0 1 0 0 1 refdes=U? T 75000 60050 5 10 0 0 0 0 1 footprint=DIP14 T 75000 60250 5 10 0 0 0 0 1 description=4 NAND gates with 2 inputs T 75000 60650 5 10 0 0 0 0 1 net=Vcc:14 T 75000 60850 5 10 0 0 0 0 1 net=GND:7 T 75000 60450 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc00.pdf T 75800 58500 5 10 0 0 0 0 1 symversion=24.0 T 74900 58100 9 10 1 0 0 0 1 local ] { T 74800 58700 5 10 1 1 0 0 1 refdes=U1 T 75900 58300 5 10 1 1 0 0 1 blah=1.0 only inside } C 74500 56500 1 0 0 EMBEDDEDversionsym_basic.sym [ L 74800 56700 74800 57300 3 0 0 0 -1 -1 T 74800 56500 9 8 1 0 0 0 1 7400 L 74800 57300 75200 57300 3 0 0 0 -1 -1 T 75000 57400 5 10 0 0 0 0 1 device=7400 T 75000 57600 5 10 0 0 0 0 1 slot=1 T 75000 57800 5 10 0 0 0 0 1 numslots=4 T 75000 58000 5 10 0 0 0 0 1 slotdef=1:1,2,3 T 75000 58200 5 10 0 0 0 0 1 slotdef=2:4,5,6 T 75000 58400 5 10 0 0 0 0 1 slotdef=3:9,10,8 T 75000 58600 5 10 0 0 0 0 1 slotdef=4:12,13,11 L 74800 56700 75200 56700 3 0 0 0 -1 -1 A 75200 57000 300 270 180 3 0 0 0 -1 -1 T 75500 56600 8 10 0 1 0 0 1 blah=This needs to be outside! V 75550 57000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 75600 57000 75800 57000 1 0 1 { T 75600 57050 5 8 1 1 0 0 1 pinnumber=3 T 75600 56950 5 8 0 1 0 2 1 pinseq=3 T 75450 57000 9 8 0 1 0 6 1 pinlabel=Y T 75450 57000 5 8 0 1 0 8 1 pintype=out } P 74800 56800 74500 56800 1 0 1 { T 74700 56850 5 8 1 1 0 6 1 pinnumber=2 T 74700 56750 5 8 0 1 0 8 1 pinseq=2 T 74850 56800 9 8 0 1 0 0 1 pinlabel=B T 74850 56800 5 8 0 1 0 2 1 pintype=in } P 74800 57200 74500 57200 1 0 1 { T 74700 57250 5 8 1 1 0 6 1 pinnumber=1 T 74700 57150 5 8 0 1 0 8 1 pinseq=1 T 74850 57200 9 8 0 1 0 0 1 pinlabel=A T 74850 57200 5 8 0 1 0 2 1 pintype=in } T 74800 57400 8 10 0 1 0 0 1 refdes=U? T 75000 58750 5 10 0 0 0 0 1 footprint=DIP14 T 75000 58950 5 10 0 0 0 0 1 description=4 NAND gates with 2 inputs T 75000 59350 5 10 0 0 0 0 1 net=Vcc:14 T 75000 59550 5 10 0 0 0 0 1 net=GND:7 T 75000 59150 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc00.pdf T 75800 57200 5 10 0 0 0 0 1 symversion=24.0 T 74900 56800 9 10 1 0 0 0 1 local ] { T 75900 57100 5 10 1 1 0 0 1 blah=outside younger T 74800 57400 5 10 1 1 0 0 1 refdes=U3 T 75800 57200 5 10 0 0 0 0 1 symversion=0.5 } B 74100 56100 3400 3200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 74200 59100 9 10 1 0 0 0 1 newer library (embedded; ignored) geda-gaf-1.8.2/gschem/tests/versionsym_basic.sym0000664000175000017500000000261612050461155016625 00000000000000v 20040710 1 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 1 7400 L 300 800 700 800 3 0 0 0 -1 -1 T 500 900 5 10 0 0 0 0 1 device=7400 T 500 1100 5 10 0 0 0 0 1 slot=1 T 500 1300 5 10 0 0 0 0 1 numslots=4 T 500 1500 5 10 0 0 0 0 1 slotdef=1:1,2,3 T 500 1700 5 10 0 0 0 0 1 slotdef=2:4,5,6 T 500 1900 5 10 0 0 0 0 1 slotdef=3:9,10,8 T 500 2100 5 10 0 0 0 0 1 slotdef=4:12,13,11 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 T 1000 100 8 10 1 1 0 0 1 blah=This needs to be outside! V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 0 1 { T 1100 550 5 8 1 1 0 0 1 pinnumber=3 T 1100 450 5 8 0 1 0 2 1 pinseq=3 T 950 500 9 8 0 1 0 6 1 pinlabel=Y T 950 500 5 8 0 1 0 8 1 pintype=out } P 300 300 0 300 1 0 1 { T 200 350 5 8 1 1 0 6 1 pinnumber=2 T 200 250 5 8 0 1 0 8 1 pinseq=2 T 350 300 9 8 0 1 0 0 1 pinlabel=B T 350 300 5 8 0 1 0 2 1 pintype=in } P 300 700 0 700 1 0 1 { T 200 750 5 8 1 1 0 6 1 pinnumber=1 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 0 1 0 0 1 pinlabel=A T 350 700 5 8 0 1 0 2 1 pintype=in } T 300 900 8 10 1 1 0 0 1 refdes=U? T 500 2250 5 10 0 0 0 0 1 footprint=DIP14 T 500 2450 5 10 0 0 0 0 1 description=4 NAND gates with 2 inputs T 500 2850 5 10 0 0 0 0 1 net=Vcc:14 T 500 3050 5 10 0 0 0 0 1 net=GND:7 T 500 2650 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc00.pdf T 1300 700 5 10 0 0 0 0 1 symversion=24.0 T 400 300 9 10 1 0 0 0 1 local geda-gaf-1.8.2/gschem/tests/agile-vfo-block_1.sch0000664000175000017500000002413512050461155016374 00000000000000v 20031019 1 T 26500 6400 9 10 1 0 0 0 1 Roger Williams T 23400 6400 9 10 1 0 0 0 1 v0.1, 1 Nov 1998 T 22400 7400 9 20 1 0 0 0 1 Agile 0.1-110 MHz VFO T 22400 7000 9 20 1 0 0 0 1 FHSS Development Platform C 10500 18900 1 0 0 dac.sym { T 10600 18700 5 10 1 1 0 0 1 value=15..25 MHz } C 11700 18900 1 0 0 lowpass.sym C 13300 18700 1 0 0 mixer-ansi.sym { T 13600 19800 5 10 1 1 0 0 1 value=AD831 } C 11300 17200 1 0 0 lowpass.sym C 10100 17000 1 0 0 phase-detector.sym C 12900 16000 1 0 1 divide-by-N.sym { T 12025 15800 5 10 1 1 0 0 1 value=N=160 } C 12500 17200 1 0 0 EMBEDDEDosc-var2.sym [ B 12702 17199 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 13500 17600 13700 17600 1 0 -1 A 13020 17559 90 27 125 3 0 0 0 -1 -1 A 13180 17641 90 207 125 3 0 0 0 -1 -1 V 13100 17600 250 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 13400 17900 13300 17860 3 0 0 0 -1 -1 L 13400 17900 13360 17800 3 0 0 0 -1 -1 L 13360 17800 13300 17860 3 0 0 0 -1 -1 L 12800 17300 13330 17830 3 0 0 0 -1 -1 P 12700 17600 12500 17600 1 0 -1 ] { T 12700 17000 5 10 1 1 0 0 1 value=160 MHz } N 10700 17000 10700 16400 4 T 9400 19800 9 10 1 0 0 0 1 AD9851 DDS T 9000 15800 9 10 1 0 0 0 1 160 MHz Synthesiser C 14700 18900 1 0 0 bandpass.sym { T 15050 19800 5 10 1 1 0 0 1 name=SAW T 14750 18700 5 10 1 1 0 0 1 value=135..145 MHz } C 16100 18900 1 0 0 amp.sym { T 16400 18700 5 10 1 1 0 0 1 value=+12 dB } C 17500 18700 1 0 0 mixer-ansi.sym { T 17800 19800 5 10 1 1 0 0 1 value=AD831 } C 5800 6100 0 0 0 EMBEDDEDtitle-C.sym [ B 5900 6200 22000 17000 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 { T 20300 7700 5 10 0 0 0 0 1 graphical=1 } T 22000 6300 15 8 1 0 0 0 1 REVISION: T 25000 6300 15 8 1 0 0 0 1 DRAWN BY: T 22000 8750 15 20 1 0 0 0 1 Coelacanth Engineering Inc T 22000 8500 15 10 1 0 0 0 1 69 Highland Street, Middleborough, MA 02346, USA T 22000 8300 15 10 1 0 0 0 1 tel +1 508 947-5585 http://www.coelacanth.com/ L 21900 6200 21900 9100 15 0 0 0 -1 -1 L 24900 6700 24900 6200 15 0 0 0 -1 -1 L 21900 9100 27900 9100 15 0 0 0 -1 -1 L 21900 8100 27900 8100 15 0 0 0 -1 -1 L 21900 8200 27900 8200 15 0 0 0 -1 -1 L 21900 6700 27900 6700 15 0 0 0 -1 -1 ] C 15500 14300 1 0 0 lowpass.sym C 14300 14100 1 0 0 phase-detector.sym C 17100 13100 1 0 1 divide-by-N.sym { T 16025 12900 5 10 1 1 0 0 1 value=N=145..245 } C 16700 14300 1 0 0 EMBEDDEDosc-var2.sym [ B 16902 14299 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 17700 14700 17900 14700 1 0 -1 A 17220 14659 90 27 125 3 0 0 0 -1 -1 A 17380 14741 90 207 125 3 0 0 0 -1 -1 V 17300 14700 250 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 17600 15000 17500 14960 3 0 0 0 -1 -1 L 17600 15000 17560 14900 3 0 0 0 -1 -1 L 17560 14900 17500 14960 3 0 0 0 -1 -1 L 17000 14400 17530 14930 3 0 0 0 -1 -1 P 16900 14700 16700 14700 1 0 -1 ] { T 16700 14100 5 10 1 1 0 0 1 value=145..245 MHz } N 14900 14100 14900 13500 4 N 18100 13500 18100 14700 4 N 18100 14700 17900 14700 4 T 13200 12900 9 10 1 0 0 0 1 145..245 MHz Synthesiser N 13900 16400 13900 17600 4 N 13900 17600 13700 17600 4 N 13900 18700 13900 17600 4 B 8900 15700 5200 2500 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 N 8500 17600 8500 19300 4 N 8500 14700 8500 17600 4 N 14900 13500 15900 13500 4 N 18100 13500 17100 13500 4 B 13100 12800 5200 2500 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 N 11700 16400 10700 16400 4 N 12900 16400 13900 16400 4 N 14500 19300 14700 19300 4 N 15900 19300 16100 19300 4 C 18900 18900 1 0 0 lowpass.sym { T 19150 18700 5 10 1 1 0 0 1 value=110 MHz } C 20300 18900 1 0 0 amp.sym { T 20550 18700 5 10 1 1 0 0 1 value=+27 dB } C 21900 19700 1 0 0 atten-var.sym { T 22050 19500 5 10 1 1 0 0 1 value=-3..-23 dB } N 18100 14700 18100 18700 4 N 17300 19300 17500 19300 4 N 18700 19300 18900 19300 4 N 20100 19300 20300 19300 4 C 24700 19700 1 0 0 amp.sym { T 25000 19500 5 10 1 1 0 0 1 value=+13 dB } C 23300 19700 1 0 0 spst.sym N 23100 20100 23300 20100 4 N 24500 20100 24700 20100 4 C 23300 18100 1 0 0 spst.sym N 23100 18500 23300 18500 4 N 24500 18500 24700 18500 4 C 26400 20000 1 0 1 con-coaxial.sym N 26100 20100 25900 20100 4 C 26400 18400 1 0 1 con-coaxial.sym N 26100 18500 25900 18500 4 N 12900 19300 13300 19300 4 N 21700 19300 21500 19300 4 N 21700 19300 21700 20100 4 N 21700 20100 21900 20100 4 N 21700 19300 21700 18500 4 N 21700 18500 21900 18500 4 C 13900 21200 1 0 0 amp.sym N 13700 21600 13900 21600 4 C 15600 21500 1 0 1 con-coaxial.sym N 15300 21600 15100 21600 4 T 15700 21550 9 10 1 0 0 0 1 Reference T 15700 21350 9 10 1 0 0 0 1 Output T 15700 21750 9 10 1 0 0 0 1 30 MHz T 26500 20050 9 10 1 0 0 0 1 0.1..110 MHz T 26500 20250 9 10 1 0 0 0 1 Output 1 T 26500 18450 9 10 1 0 0 0 1 0.1..110 MHz T 26500 18650 9 10 1 0 0 0 1 Output 2 T 26500 19850 9 10 1 0 0 0 1 0..+20 dBm T 26500 18250 9 10 1 0 0 0 1 0..+20 dBm C 9900 21000 1 0 0 phase-detector.sym { T 10050 22100 5 10 1 1 0 0 1 value=Harmonic } C 11100 21200 1 0 0 lowpass.sym { T 11500 21000 5 10 1 1 0 0 1 value=1 Hz } C 12300 21200 1 0 0 EMBEDDEDosc-xtal2.sym [ B 12502 21199 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 13300 21600 13500 21600 1 0 -1 A 12820 21659 90 27 125 3 0 0 0 -1 -1 A 12980 21741 90 207 125 3 0 0 0 -1 -1 V 12900 21700 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 12800 21320 200 60 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 12840 21400 12960 21400 3 0 0 0 -1 -1 L 12840 21300 12960 21300 3 0 0 0 -1 -1 P 12500 21600 12300 21600 1 0 -1 ] { T 12550 22100 5 10 1 1 0 0 1 name=VTCXO T 12550 21000 5 10 1 1 0 0 1 value=30 MHz } N 10500 20800 13700 20800 4 N 13700 20800 13700 21600 4 N 13700 21600 13500 21600 4 C 8700 21200 1 0 0 square-up.sym N 8500 21600 8700 21600 4 C 8200 21500 1 0 0 con-coaxial.sym T 7160 21550 9 10 1 0 0 0 1 Reference T 7670 21350 9 10 1 0 0 0 1 Input T 7225 21750 9 10 1 0 0 0 1 1..30 MHz N 10500 21000 10500 20800 4 N 10500 20800 8500 20800 4 N 13100 14700 8500 14700 4 { T 9000 14800 5 10 1 1 0 0 1 netname=30 MHz fref } N 8900 17600 8500 17600 4 C 21900 18100 1 0 0 atten-var.sym { T 22050 17900 5 10 1 1 0 0 1 value=-3..-23 dB } C 24700 18100 1 0 0 amp.sym { T 25000 17900 5 10 1 1 0 0 1 value=+13 dB } C 8900 17200 1 0 0 EMBEDDEDdivide-by-30.sym [ B 9100 17200 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 9100 17600 8900 17600 1 0 -1 P 9900 17600 10100 17600 1 0 -1 L 9100 17200 9900 18000 3 0 0 0 -1 -1 T 9650 17350 9 10 1 0 0 0 1 1 T 9250 17700 9 10 1 0 0 0 1 30 ] C 13100 14300 1 0 0 EMBEDDEDdivide-by-30.sym [ B 13300 14300 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 13300 14700 13100 14700 1 0 -1 P 14100 14700 14300 14700 1 0 -1 L 13300 14300 14100 15100 3 0 0 0 -1 -1 T 13850 14450 9 10 1 0 0 0 1 1 T 13450 14800 9 10 1 0 0 0 1 30 ] C 10600 9500 1 0 0 EMBEDDEDselector-switch-16.sym [ V 10400 9900 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 10100 9600 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 10010 10060 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 10010 9740 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 10100 10200 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 10120 10180 10220 10140 3 0 0 0 -1 -1 L 10120 10180 10160 10080 3 0 0 0 -1 -1 L 10160 10080 10220 10140 3 0 0 0 -1 -1 L 10190 10110 10380 9920 3 0 0 0 -1 -1 P 10600 9900 10430 9900 1 0 -1 T 9930 9840 9 10 1 0 0 0 1 16 ] C 8400 11300 1 0 0 EMBEDDEDcon-rect.sym [ B 8400 11300 200 400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 8600 11500 8800 11500 1 0 -1 ] C 9200 11100 1 0 0 amp-bidir.sym C 8900 11100 1 270 0 spst-noblock.sym C 8900 9500 1 0 0 termination.sym N 8800 11500 9000 11500 4 N 9000 11500 9200 11500 4 T 7570 11550 9 10 1 0 0 0 1 RS-485 T 7515 11350 9 10 1 0 0 0 1 Interface N 9000 11100 9000 11500 4 T 9800 10400 9 10 1 0 0 0 1 Address T 8070 10400 9 10 1 0 0 0 1 RS-485 T 7710 10200 9 10 1 0 0 0 1 Termination C 10600 9500 1 0 0 EMBEDDEDblock-1x3-2-3.sym [ P 10800 11500 10600 11500 1 0 -1 P 11600 9900 11800 9900 1 0 -1 B 10800 9500 800 2400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 11600 10700 11800 10700 1 0 -1 P 11600 11500 11800 11500 1 0 -1 P 10800 9900 10600 9900 1 0 -1 ] { T 10950 12000 5 10 1 1 0 0 1 device=EPLD } N 10400 11500 10600 11500 4 C 12000 11100 1 0 0 EMBEDDEDblock-in.sym [ B 12200 11100 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 12200 11500 12000 11500 1 0 -1 ] { T 12200 12000 5 10 1 1 0 0 1 device=EEPROM } C 12000 9500 1 0 0 EMBEDDEDblock-in.sym [ B 12200 9500 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 12200 9900 12000 9900 1 0 -1 ] { T 12400 10400 5 10 1 1 0 0 1 device=RTC } N 11800 11500 12000 11500 4 N 11800 9900 12000 9900 4 C 9000 7600 1 0 0 lowpass.sym C 10600 7600 1 0 0 spst.sym C 12000 7600 1 0 0 dc-dc.sym N 12000 8000 11800 8000 4 N 10200 8000 10400 8000 4 N 10400 8000 10400 8700 4 N 10400 8700 11200 8700 4 { T 10400 8800 5 10 1 1 0 0 1 netname=Vstby } N 10400 8000 10600 8000 4 N 13200 8000 14000 8000 4 { T 13200 8100 5 10 1 1 0 0 1 netname=+9V } C 8400 7800 1 0 0 EMBEDDEDcon-rect.sym [ B 8400 7800 200 400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 8600 8000 8800 8000 1 0 -1 ] T 7310 7950 9 10 1 0 0 0 1 +10..18 Vdc N 8800 8000 9000 8000 4 N 8500 20800 8500 19300 4 C 9300 18900 1 0 0 EMBEDDEDmultiply-by-6.sym [ B 9500 18900 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 9500 19300 9300 19300 1 0 -1 P 10300 19300 10500 19300 1 0 -1 L 9500 18900 10300 19700 3 0 0 0 -1 -1 T 10050 19050 9 10 1 0 0 0 1 6 T 9700 19400 9 10 1 0 0 0 1 1 ] { T 9500 18700 5 10 1 1 0 0 1 value=180 MHz } B 9300 18600 3600 1400 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 N 9300 19300 8500 19300 4 T 22400 12100 9 10 1 0 0 0 1 SSB phase noise < -120 dBc/Hz @ 10 kHz T 22400 11200 9 10 1 0 0 0 1 Reference stability < 0.1 ppm T 22400 12400 9 10 1 0 0 0 1 Offset synthesiser switching time < 1 ms T 22400 12700 9 10 1 0 0 0 1 DDS chip rate > 30 kHz (10 MHz range) T 22400 13000 9 10 1 0 0 0 1 Output level flatness < 1 dB (10 MHz range) T 22300 14200 9 10 1 0 0 0 1 Selected Target Specifications T 22400 10600 9 10 1 0 0 0 1 Active current drain < 500 mA T 22400 10300 9 10 1 0 0 0 1 Standby current drain < 50 mA T 22400 10000 9 10 1 0 0 0 1 Construction: 4-layer SMD board w/removable shields T 22400 13900 9 10 1 0 0 0 1 Complete FHSS synthesiser for any HF transceiver T 22400 13600 9 10 1 0 0 0 1 Individual TX and RX local oscillator outputs T 22400 10900 9 10 1 0 0 0 1 Real-time clock resolution = 1 ms T 22400 13300 9 10 1 0 0 0 1 Frequency resolution << 1 Hz T 22400 11800 9 10 1 0 0 0 1 Spurious outputs < -70 dBc T 22400 11500 9 10 1 0 0 0 1 Harmonics < -40 dBc N 11800 10700 12600 10700 4 { T 11800 10800 5 10 1 1 0 0 1 netname=Control } T 22400 9700 9 10 1 0 0 0 1 Prototype release date: January 1999 B 22300 9600 5400 4500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/gschem/tests/buses.sch0000664000175000017500000000157712050461155014341 00000000000000v 20021103 U 34300 73000 35100 73000 10 1 N 34400 71700 34400 72800 4 C 34400 72800 1 0 0 busripper-1.sym U 35400 73000 36200 73000 10 -1 N 36100 71700 36100 72800 4 C 36100 72800 1 90 0 busripper-1.sym U 36800 73000 37600 73000 10 1 N 36900 74000 36900 73200 4 C 36900 73200 1 270 0 busripper-1.sym U 38100 73000 38900 73000 10 -1 U 35200 70500 35200 69800 10 -1 N 36300 70400 35400 70400 4 C 35400 70400 1 180 0 busripper-1.sym U 35200 69600 35200 68900 10 1 N 36300 69000 35400 69000 4 C 35400 69000 1 90 0 busripper-1.sym U 38000 68900 38000 69600 10 1 N 37000 69000 37800 69000 4 C 37800 69000 1 0 0 busripper-1.sym U 38000 70500 38000 69800 10 -1 N 37000 70400 37800 70400 4 C 37800 70400 1 270 0 busripper-1.sym B 33900 71100 5500 3100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 33900 68500 5500 2500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 N 38800 74000 38800 73200 4 C 38800 73200 1 180 0 busripper-1.sym geda-gaf-1.8.2/gschem/tests/missing.sch0000664000175000017500000000144312050461155014661 00000000000000v 20041228 1 C 54200 62300 1 0 0 Missing_4000-1.sym { T 55700 64600 5 10 1 1 0 6 1 refdes=U? } C 58700 62400 1 90 0 Missing_4000-1.sym { T 56400 63900 5 10 1 1 90 6 1 refdes=U? } C 61200 64300 1 180 0 Missing_4000-1.sym { T 59700 62000 5 10 1 1 180 6 1 refdes=U? } C 61900 62000 1 0 0 Missing_4000-1.sym { T 63400 64300 5 10 1 1 0 6 1 refdes=U? } C 63700 57200 1 0 1 Missing_4000-1.sym { T 62200 59500 5 10 1 1 0 0 1 refdes=U? } C 59200 57300 1 270 1 Missing_4000-1.sym { T 61500 58800 5 10 1 1 90 8 1 refdes=U? } C 56700 59200 1 180 1 Missing_4000-1.sym { T 58200 56900 5 10 1 1 180 0 1 refdes=U? } C 56000 56900 1 0 1 Missing_4000-1.sym { T 54500 59200 5 10 1 1 0 0 1 refdes=U? } T 54400 65200 9 10 1 0 0 0 1 Rotated: T 54300 60100 9 10 1 0 0 0 1 Rotated and Mirrored: C 51100 54900 0 0 0 title-B.sym geda-gaf-1.8.2/gschem/tests/attributes.sch0000664000175000017500000000274212050461155015401 00000000000000v 20031231 1 T 61600 59200 8 10 1 0 0 0 1 name=value (both) T 61600 58900 8 10 1 1 0 0 1 name=value only T 61600 58600 8 10 1 2 0 0 1 name only=value T 61600 55200 8 10 1 0 0 0 1 improper= T 61600 57400 8 10 1 0 0 0 1 name=name1=value1 (value) T 61600 57100 8 10 1 1 0 0 1 name=name1=value1 (value only) T 61600 56800 8 10 1 2 0 0 1 name (only)=name1=value1 (value only) T 61700 58200 8 10 0 0 0 0 1 name=value (both) B 61600 58100 1800 300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 63500 58200 9 10 1 0 0 0 1 Invisible T 60600 59200 9 10 1 0 0 0 1 regular T 60600 57100 9 10 1 0 0 0 2 multiple equals T 60600 55200 9 10 1 0 0 0 1 invalid T 61600 54900 8 10 1 0 0 0 1 = L 61400 59400 61400 54700 3 0 0 0 -1 -1 T 60600 56000 9 10 1 0 0 0 2 multiple line L 60300 57800 66400 57800 3 0 0 0 -1 -1 L 60300 56600 66400 56600 3 0 0 0 -1 -1 L 60300 55500 66400 55500 3 0 0 0 -1 -1 T 61600 55800 8 10 1 0 0 0 3 name=line1 line2 line3 T 62800 55800 8 10 1 1 0 0 3 name=line1 line2 line3 (value only) T 63600 56300 8 10 1 2 0 0 3 name (only)=line1 line2 line3 C 67600 57100 1 0 0 7400-1.sym { T 67900 58000 5 10 1 1 0 0 1 refdes=U1 T 67500 59100 5 10 1 0 0 0 1 name=value (regular) T 67500 56000 5 10 1 0 0 0 3 name multiple lines=line1 line2 line3 T 67500 58800 5 10 1 0 0 0 1 name (multiple equals)=name1=value1 (value) T 67500 54900 5 10 1 0 0 0 3 name (blank first)= line2 line3 } T 67200 58300 9 10 1 0 0 0 1 Attached T 64800 55800 8 10 1 0 0 0 3 name (blank first)= line2 line3 T 60300 59800 9 10 1 0 0 0 1 Unattached geda-gaf-1.8.2/gschem/tests/gafrc0000664000175000017500000000021512050461155013512 00000000000000(define current-working-directory (getenv "PWD")) (component-library current-working-directory) (source-library current-working-directory) geda-gaf-1.8.2/gschem/tests/Makefile.in0000664000175000017500000004120612220655724014565 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = gschem/tests DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = \ agile-vfo-block_1.sch \ alignment.sch \ all_1.sch \ all74_1.sch \ arc.sch \ attributes.sch \ autonumber.sch \ autonumber_sub1.sch \ autonumber_sub2.sch \ autonumber_sub_sub1.sch \ buses.sch \ embedded_1.sch \ fill_test.sch \ gafrc \ geda_fonts.sch \ letters_1.sch \ missing.sch \ multiline2.sch \ multiline3.sch \ multiline4.sch \ multiline.sch \ net_selection.sch \ nets.sch \ oldsym2.sym \ oldsym.sym \ pins.sch \ radio_1.sch \ rotation.sch \ states_1.sch \ type_test.sch \ versionsym1.sch \ versionsym2.sch \ versionsym3.sch \ versionsym_basic.sym \ versionsym_invalid.sym \ versionsym_major.sym \ versionsym_minor2.sym \ versionsym_minor.sym MOSTLYCLEANFILES = *.log *~ CLEANFILES = *.log *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log *~ Makefile.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gschem/tests/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu gschem/tests/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags-am uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/gschem/tests/letters_1.sch0000664000175000017500000002125012050461155015110 00000000000000v 20031231 1 T 6700 14700 9 10 1 0 0 0 1 ABCDEFGHIJKLMNOPQRSTUVWXYZ T 5900 13700 9 20 1 0 0 0 1 ABCDEFGHIJKLMNOPQRSTUVWXYZ T 5000 12300 9 40 1 0 0 0 1 ABCDEFGHIJKLMNOPQRSTUVWXYZ T 8500 11100 9 10 1 0 0 0 1 0123456789 T 8200 10300 9 20 1 0 0 0 1 0123456789 T 7700 9200 5 40 1 0 0 0 1 0123456789 T 15300 6200 9 10 1 0 0 0 1 THIS IS A TEST T 15200 6800 9 20 1 0 0 0 1 THIS IS ANOTHER TEST T 12100 10700 9 40 1 0 0 0 1 ~`!@#$%^&*()_+=-{}[] T 3000 5600 9 40 1 0 0 0 1 abcdefghijklmnopqrstuvwxyz T 3500 6300 9 20 1 0 0 0 1 abcdefghijklmnopqrstuvwxyz T 3600 7100 9 10 1 0 0 0 1 abcdefghijklmnopqrstuvwxyz T 13300 9700 9 40 1 0 0 0 1 \|:"';<>,.?/ L 3000 5500 12900 5500 3 0 0 0 -1 -1 L 3600 7100 6100 7100 3 0 0 0 -1 -1 L 6100 7100 6100 7300 3 0 0 0 -1 -1 L 6100 7300 6000 7100 3 0 0 0 -1 -1 B 15200 6800 4500 300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 2500 5200 17700 11400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 3100 16000 9 10 1 0 0 0 1 Text with spaces L 3100 16000 4600 16000 3 0 0 0 -1 -1 L 4600 16000 4600 16100 3 0 0 0 -1 -1 L 4600 16100 4500 16000 3 0 0 0 -1 -1 L 3100 15700 6900 15700 3 0 0 0 -1 -1 L 4600 15700 4600 15800 3 0 0 0 -1 -1 L 4600 15800 4500 15700 3 0 0 0 -1 -1 T 3100 15700 9 10 1 0 0 0 1 a b c d e f g h i j k l m n o p q r s t u v w x y z T 3000 15300 9 10 1 0 0 0 1 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z L 3000 15300 7800 15300 3 0 0 0 -1 -1 L 8700 16000 11600 16000 3 0 0 0 -1 -1 L 10200 16000 10200 16100 3 0 0 0 -1 -1 L 10200 16100 10100 16000 3 0 0 0 -1 -1 L 8700 15700 16400 15700 3 0 0 0 -1 -1 L 10200 15700 10200 15800 3 0 0 0 -1 -1 L 10200 15800 10100 15700 3 0 0 0 -1 -1 L 8600 15300 18200 15300 3 0 0 0 -1 -1 T 8700 16000 9 20 1 0 0 0 1 Text with spaces T 8700 15700 9 20 1 0 0 0 1 a b c d e f g h i j k l m n o p q r s t u v w x y z T 8600 15300 9 20 1 0 0 0 1 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z T 14700 14700 9 10 1 0 0 0 1 1 2 3 4 5 6 7 8 9 10 ! @ # $ % ^ & * ( ) _ + - = L 14700 14700 18700 14700 3 0 0 0 -1 -1 L 18700 14700 18700 14800 3 0 0 0 -1 -1 L 18700 14800 18600 14700 3 0 0 0 -1 -1 L 3700 8100 15500 8100 3 0 0 0 -1 -1 T 3700 8100 9 30 1 0 0 0 1 1 2 3 4 5 6 7 8 9 10 ! @ # $ % ^ & * ( ) _ + - = L 32000 5700 32000 15600 3 0 0 0 -1 -1 L 30400 6300 30400 8800 3 0 0 0 -1 -1 L 30400 8800 30200 8800 3 0 0 0 -1 -1 L 30200 8800 30400 8700 3 0 0 0 -1 -1 B 30400 17900 300 4500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 20900 5200 11400 17700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 21500 5800 21500 7300 3 0 0 0 -1 -1 L 21500 7300 21400 7300 3 0 0 0 -1 -1 L 21400 7300 21500 7200 3 0 0 0 -1 -1 L 21800 5800 21800 9600 3 0 0 0 -1 -1 L 21800 7300 21700 7300 3 0 0 0 -1 -1 L 21700 7300 21800 7200 3 0 0 0 -1 -1 L 22200 5700 22200 10500 3 0 0 0 -1 -1 L 21500 11400 21500 14300 3 0 0 0 -1 -1 L 21500 12900 21400 12900 3 0 0 0 -1 -1 L 21400 12900 21500 12800 3 0 0 0 -1 -1 L 21800 11400 21800 19100 3 0 0 0 -1 -1 L 21800 12900 21700 12900 3 0 0 0 -1 -1 L 21700 12900 21800 12800 3 0 0 0 -1 -1 L 22200 11300 22200 20900 3 0 0 0 -1 -1 L 22800 17400 22800 21400 3 0 0 0 -1 -1 L 22800 21400 22700 21400 3 0 0 0 -1 -1 L 22700 21400 22800 21300 3 0 0 0 -1 -1 L 29400 6400 29400 18200 3 0 0 0 -1 -1 T 22800 9400 9 10 1 0 90 0 1 ABCDEFGHIJKLMNOPQRSTUVWXYZ T 23800 8600 9 20 1 0 90 0 1 ABCDEFGHIJKLMNOPQRSTUVWXYZ T 25200 7700 9 40 1 0 90 0 1 ABCDEFGHIJKLMNOPQRSTUVWXYZ T 26400 11200 9 10 1 0 90 0 1 0123456789 T 27200 10900 9 20 1 0 90 0 1 0123456789 T 28300 10400 5 40 1 0 90 0 1 0123456789 T 31300 18000 9 10 1 0 90 0 1 THIS IS A TEST T 30700 17900 9 20 1 0 90 0 1 THIS IS ANOTHER TEST T 26800 14800 9 40 1 0 90 0 1 ~`!@#$%^&*()_+=-{}[] T 31900 5700 9 40 1 0 90 0 1 abcdefghijklmnopqrstuvwxyz T 31200 6200 9 20 1 0 90 0 1 abcdefghijklmnopqrstuvwxyz T 30400 6300 9 10 1 0 90 0 1 abcdefghijklmnopqrstuvwxyz T 27800 16000 9 40 1 0 90 0 1 \|:"';<>,.?/ T 21500 5800 9 10 1 0 90 0 1 Text with spaces T 21800 5800 9 10 1 0 90 0 1 a b c d e f g h i j k l m n o p q r s t u v w x y z T 22200 5700 9 10 1 0 90 0 1 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z T 21500 11400 9 20 1 0 90 0 1 Text with spaces T 21800 11400 9 20 1 0 90 0 1 a b c d e f g h i j k l m n o p q r s t u v w x y z T 22200 11300 9 20 1 0 90 0 1 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z T 22800 17400 9 10 1 0 90 0 1 1 2 3 4 5 6 7 8 9 10 ! @ # $ % ^ & * ( ) _ + - = T 29400 6400 9 30 1 0 90 0 1 1 2 3 4 5 6 7 8 9 10 ! @ # $ % ^ & * ( ) _ + - = L 19800 28300 9900 28300 3 0 0 0 -1 -1 L 19200 26700 16700 26700 3 0 0 0 -1 -1 L 16700 26700 16700 26500 3 0 0 0 -1 -1 L 16700 26500 16800 26700 3 0 0 0 -1 -1 B 3100 26700 4500 300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 2600 17200 17700 11400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 19700 17800 18200 17800 3 0 0 0 -1 -1 L 18200 17800 18200 17700 3 0 0 0 -1 -1 L 18200 17700 18300 17800 3 0 0 0 -1 -1 L 19700 18100 15900 18100 3 0 0 0 -1 -1 L 18200 18100 18200 18000 3 0 0 0 -1 -1 L 18200 18000 18300 18100 3 0 0 0 -1 -1 L 19800 18500 15000 18500 3 0 0 0 -1 -1 L 14100 17800 11200 17800 3 0 0 0 -1 -1 L 12600 17800 12600 17700 3 0 0 0 -1 -1 L 12600 17700 12700 17800 3 0 0 0 -1 -1 L 14100 18100 6400 18100 3 0 0 0 -1 -1 L 12600 18100 12600 18000 3 0 0 0 -1 -1 L 12600 18000 12700 18100 3 0 0 0 -1 -1 L 14200 18500 4600 18500 3 0 0 0 -1 -1 L 8100 19100 4100 19100 3 0 0 0 -1 -1 L 4100 19100 4100 19000 3 0 0 0 -1 -1 L 4100 19000 4200 19100 3 0 0 0 -1 -1 L 19100 25700 7300 25700 3 0 0 0 -1 -1 T 16100 19100 9 10 1 0 180 0 1 ABCDEFGHIJKLMNOPQRSTUVWXYZ T 16900 20100 9 20 1 0 180 0 1 ABCDEFGHIJKLMNOPQRSTUVWXYZ T 17800 21500 9 40 1 0 180 0 1 ABCDEFGHIJKLMNOPQRSTUVWXYZ T 14300 22700 9 10 1 0 180 0 1 0123456789 T 14600 23500 9 20 1 0 180 0 1 0123456789 T 15100 24600 5 40 1 0 180 0 1 0123456789 T 7500 27600 9 10 1 0 180 0 1 THIS IS A TEST T 7600 27000 9 20 1 0 180 0 1 THIS IS ANOTHER TEST T 10700 23100 9 40 1 0 180 0 1 ~`!@#$%^&*()_+=-{}[] T 19800 28200 9 40 1 0 180 0 1 abcdefghijklmnopqrstuvwxyz T 19300 27500 9 20 1 0 180 0 1 abcdefghijklmnopqrstuvwxyz T 19200 26700 9 10 1 0 180 0 1 abcdefghijklmnopqrstuvwxyz T 9500 24100 9 40 1 0 180 0 1 \|:"';<>,.?/ T 19700 17800 9 10 1 0 180 0 1 Text with spaces T 19700 18100 9 10 1 0 180 0 1 a b c d e f g h i j k l m n o p q r s t u v w x y z T 19800 18500 9 10 1 0 180 0 1 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z T 14100 17800 9 20 1 0 180 0 1 Text with spaces T 14100 18100 9 20 1 0 180 0 1 a b c d e f g h i j k l m n o p q r s t u v w x y z T 14200 18500 9 20 1 0 180 0 1 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z T 8100 19100 9 10 1 0 180 0 1 1 2 3 4 5 6 7 8 9 10 ! @ # $ % ^ & * ( ) _ + - = T 19100 25700 9 30 1 0 180 0 1 1 2 3 4 5 6 7 8 9 10 ! @ # $ % ^ & * ( ) _ + - = L 33000 22500 33000 12600 3 0 0 0 -1 -1 L 34600 21900 34600 19400 3 0 0 0 -1 -1 L 34600 19400 34800 19400 3 0 0 0 -1 -1 L 34800 19400 34600 19500 3 0 0 0 -1 -1 B 34300 5800 300 4500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 32700 5300 11400 17700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 43500 22400 43500 20900 3 0 0 0 -1 -1 L 43500 20900 43600 20900 3 0 0 0 -1 -1 L 43600 20900 43500 21000 3 0 0 0 -1 -1 L 43200 22400 43200 18600 3 0 0 0 -1 -1 L 43200 20900 43300 20900 3 0 0 0 -1 -1 L 43300 20900 43200 21000 3 0 0 0 -1 -1 L 42800 22500 42800 17700 3 0 0 0 -1 -1 L 43500 16800 43500 13900 3 0 0 0 -1 -1 L 43500 15300 43600 15300 3 0 0 0 -1 -1 L 43600 15300 43500 15400 3 0 0 0 -1 -1 L 43200 16800 43200 9100 3 0 0 0 -1 -1 L 43200 15300 43300 15300 3 0 0 0 -1 -1 L 43300 15300 43200 15400 3 0 0 0 -1 -1 L 42800 16900 42800 7300 3 0 0 0 -1 -1 L 42200 10800 42200 6800 3 0 0 0 -1 -1 L 42200 6800 42300 6800 3 0 0 0 -1 -1 L 42300 6800 42200 6900 3 0 0 0 -1 -1 L 35600 21800 35600 10000 3 0 0 0 -1 -1 T 42200 18800 9 10 1 0 270 0 1 ABCDEFGHIJKLMNOPQRSTUVWXYZ T 41200 19600 9 20 1 0 270 0 1 ABCDEFGHIJKLMNOPQRSTUVWXYZ T 39800 20500 9 40 1 0 270 0 1 ABCDEFGHIJKLMNOPQRSTUVWXYZ T 38600 17000 9 10 1 0 270 0 1 0123456789 T 37800 17300 9 20 1 0 270 0 1 0123456789 T 36700 17800 5 40 1 0 270 0 1 0123456789 T 33700 10200 9 10 1 0 270 0 1 THIS IS A TEST T 34300 10300 9 20 1 0 270 0 1 THIS IS ANOTHER TEST T 38200 13400 9 40 1 0 270 0 1 ~`!@#$%^&*()_+=-{}[] T 33100 22500 9 40 1 0 270 0 1 abcdefghijklmnopqrstuvwxyz T 33800 22000 9 20 1 0 270 0 1 abcdefghijklmnopqrstuvwxyz T 34600 21900 9 10 1 0 270 0 1 abcdefghijklmnopqrstuvwxyz T 37200 12200 9 40 1 0 270 0 1 \|:"';<>,.?/ T 43500 22400 9 10 1 0 270 0 1 Text with spaces T 43200 22400 9 10 1 0 270 0 1 a b c d e f g h i j k l m n o p q r s t u v w x y z T 42800 22500 9 10 1 0 270 0 1 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z T 43500 16800 9 20 1 0 270 0 1 Text with spaces T 43200 16800 9 20 1 0 270 0 1 a b c d e f g h i j k l m n o p q r s t u v w x y z T 42800 16900 9 20 1 0 270 0 1 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z T 42200 10800 9 10 1 0 270 0 1 1 2 3 4 5 6 7 8 9 10 ! @ # $ % ^ & * ( ) _ + - = T 35600 21800 9 30 1 0 270 0 1 1 2 3 4 5 6 7 8 9 10 ! @ # $ % ^ & * ( ) _ + - = B 15300 6200 1500 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/gschem/tests/versionsym_minor2.sym0000664000175000017500000000261612050461155016752 00000000000000v 20040710 1 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 1 7400 L 300 800 700 800 3 0 0 0 -1 -1 T 500 900 5 10 0 0 0 0 1 device=7400 T 500 1100 5 10 0 0 0 0 1 slot=1 T 500 1300 5 10 0 0 0 0 1 numslots=4 T 500 1500 5 10 0 0 0 0 1 slotdef=1:1,2,3 T 500 1700 5 10 0 0 0 0 1 slotdef=2:4,5,6 T 500 1900 5 10 0 0 0 0 1 slotdef=3:9,10,8 T 500 2100 5 10 0 0 0 0 1 slotdef=4:12,13,11 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 T 1000 100 8 10 1 1 0 0 1 blah=This needs to be outside! V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 0 1 { T 1100 550 5 8 1 1 0 0 1 pinnumber=3 T 1100 450 5 8 0 1 0 2 1 pinseq=3 T 950 500 9 8 0 1 0 6 1 pinlabel=Y T 950 500 5 8 0 1 0 8 1 pintype=out } P 300 300 0 300 1 0 1 { T 200 350 5 8 1 1 0 6 1 pinnumber=2 T 200 250 5 8 0 1 0 8 1 pinseq=2 T 350 300 9 8 0 1 0 0 1 pinlabel=B T 350 300 5 8 0 1 0 2 1 pintype=in } P 300 700 0 700 1 0 1 { T 200 750 5 8 1 1 0 6 1 pinnumber=1 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 0 1 0 0 1 pinlabel=A T 350 700 5 8 0 1 0 2 1 pintype=in } T 300 900 8 10 1 1 0 0 1 refdes=U? T 500 2250 5 10 0 0 0 0 1 footprint=DIP14 T 500 2450 5 10 0 0 0 0 1 description=4 NAND gates with 2 inputs T 500 2850 5 10 0 0 0 0 1 net=Vcc:14 T 500 3050 5 10 0 0 0 0 1 net=GND:7 T 500 2650 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc00.pdf T 1300 700 5 10 0 0 0 0 1 symversion=0.5 T 400 300 9 10 1 0 0 0 1 minor2 geda-gaf-1.8.2/gschem/tests/all74_1.sch0000664000175000017500000000767112050461155014364 00000000000000v 20021103 C 15200 23300 1 0 0 7400-1.sym C 14000 21300 1 0 0 7400-2.sym C 17500 21800 1 0 0 7401-1.sym C 19100 23600 1 0 0 7401-2.sym C 20900 21900 1 0 0 7402-1.sym C 22000 24800 1 0 0 7402-2.sym C 17700 19700 1 0 0 7403-1.sym C 21700 18100 1 0 0 7403-2.sym C 17100 26800 1 0 0 7404-1.sym C 20100 26900 1 0 0 7404-2.sym C 22400 27200 1 0 0 7405-1.sym C 24500 23600 1 0 0 7405-2.sym C 13900 24900 1 0 0 7407-1.sym C 19000 28300 1 0 0 7408-1.sym C 21200 29000 1 0 0 7408-2.sym C 25700 27200 1 0 0 7409-1.sym C 24600 29900 1 0 0 7409-2.sym C 26700 29000 1 0 0 7410-1.sym C 26800 25800 1 0 0 7410-2.sym C 18900 31300 1 0 0 74107-1.sym C 22300 32500 1 0 0 74107-2.sym C 26400 33500 1 0 0 74109-1.sym C 29100 33000 1 0 0 74109-2.sym C 29500 31000 1 0 0 7411-1.sym C 29400 29100 1 0 0 7411-2.sym C 30200 25900 1 0 0 74112-1.sym C 28900 22900 1 0 0 74113-1.sym C 15800 31200 1 0 0 74114-1.sym C 25200 21200 1 0 0 7412-1.sym C 15500 29200 1 0 0 7412-2.sym C 27600 19200 1 0 0 74121-1.sym C 25200 16900 1 0 0 74122-1.sym C 31200 19800 1 0 0 74123-1.sym C 19200 34900 1 0 0 74123-2.sym C 31400 31000 1 0 0 74124-1.sym C 32300 29000 1 0 0 74125-1.sym C 25200 36400 1 0 0 74126-1.sym C 22600 37500 1 0 0 74131-1.sym C 26100 38100 1 0 0 74137-1.sym C 28700 36500 1 0 0 74138-1.sym C 33000 24000 1 0 0 74138-2.sym C 31800 34600 1 0 0 74139-1.sym C 34200 32300 1 0 0 74139-2.sym C 35000 30000 1 0 0 74139-3.sym C 31300 38200 1 0 0 74141-1.sym C 35500 36300 1 0 0 74145-1.sym C 38000 31600 1 0 0 74147-1.sym C 36800 24400 1 0 0 74148-1.sym C 35300 22100 1 0 0 7415-1.sym C 37300 21900 1 0 0 7415-2.sym C 40300 20300 1 0 0 74150-1.sym C 35500 15400 1 0 0 74151-1.sym C 13700 14300 1 0 0 74151-2.sym C 17000 13300 1 0 0 74152-1.sym C 20400 13100 1 0 0 74153-1.sym C 30900 13300 1 0 0 74153-2.sym C 27400 11600 1 0 0 74154-1.sym C 24000 9100 1 0 0 74154-2.sym C 11900 28100 1 0 0 74157-1.sym C 38700 15400 1 0 0 74158-1.sym C 41300 30500 1 0 0 74159-1.sym C 11500 22100 1 0 0 74160-1.sym C 43100 21000 1 0 0 74161-1.sym C 33500 12100 1 0 0 74161-2.sym C 36400 11300 1 0 0 74162-1.sym C 41500 15200 1 0 0 74163-1.sym C 39400 11900 1 0 0 74164-1.sym C 11100 18100 1 0 0 74164-2.sym C 30400 7300 1 0 0 74165-1.sym C 44800 25500 1 0 0 74166-1.sym C 45900 21100 1 0 0 74168-1.sym C 45400 16600 1 0 0 74169-1.sym C 44300 11800 1 0 0 74170-1.sym C 33400 7000 1 0 0 74173-1.sym C 39700 7500 1 0 0 74175-1.sym C 44400 32800 1 0 0 74181-1.sym C 47900 30700 1 0 0 74182-1.sym C 48100 27100 1 0 0 74190-1.sym C 48500 23500 1 0 0 74191-1.sym C 48600 19700 1 0 0 74191-2.sym C 48400 15900 1 0 0 74192-1.sym C 47000 11400 1 0 0 74194-1.sym C 42500 8200 1 0 0 74195-1.sym C 45100 7500 1 0 0 74196-1.sym C 48000 7200 1 0 0 74197-1.sym C 26800 23700 1 0 0 7420-1.sym C 20400 20100 1 0 0 7420-2.sym C 15300 26600 1 0 0 7421-1.sym C 15900 20300 1 0 0 7421-2.sym C 17000 24600 1 0 0 7422-1.sym C 19700 18500 1 0 0 7422-2.sym C 21300 9800 1 0 0 74244-1.sym C 18900 10800 1 0 0 74244-2.sym C 15900 9800 1 0 0 74245-1.sym C 23300 21400 1 0 0 74265-1.sym C 23900 26100 1 0 0 7427-1.sym C 47600 36100 1 0 0 74273-1.sym C 18500 6600 1 0 0 7431-1.sym C 23000 20100 1 0 0 7432-1.sym C 38700 38400 1 0 0 7442-1.sym C 19700 37100 1 0 0 7445-1.sym C 49700 12300 1 0 0 7446-1.sym C 51400 16500 1 0 0 7447-1.sym C 27800 7300 1 0 0 7448-1.sym C 21600 4700 1 0 0 7451-1.sym C 24000 3100 1 0 0 7454-1.sym C 42500 27400 1 0 0 74541-1.sym C 41300 38000 1 0 0 7455-1.sym C 13200 12400 1 0 0 7456-1.sym C 11200 16200 1 0 0 7457-1.sym C 26300 3900 1 0 0 74574-1.sym C 13500 32800 1 0 0 7472-1.sym C 16000 35200 1 0 0 7473-1.sym C 17500 37500 1 0 0 7474-1.sym C 29000 40000 1 0 0 7474-2.sym C 28800 5000 1 0 0 7475-1.sym C 31300 4700 1 0 0 7476-1.sym C 33900 3300 1 0 0 7478-1.sym C 36300 3300 1 0 0 7483-1.sym C 44100 39600 1 0 0 7485-1.sym C 39100 6000 1 0 0 7486-1.sym C 41000 4300 1 0 0 7490-1.sym C 43400 5900 1 0 0 7491-1.sym C 51000 22200 1 0 0 7492-1.sym C 51200 24900 1 0 0 7493-1.sym C 50800 27500 1 0 0 7495-1.sym C 50500 31300 1 0 0 7496-1.sym C 50200 35700 1 0 0 7497-1.sym geda-gaf-1.8.2/gschem/tests/versionsym_invalid.sym0000664000175000017500000000262312050461155017170 00000000000000v 20040710 1 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 1 7400 L 300 800 700 800 3 0 0 0 -1 -1 T 500 900 5 10 0 0 0 0 1 device=7400 T 500 1100 5 10 0 0 0 0 1 slot=1 T 500 1300 5 10 0 0 0 0 1 numslots=4 T 500 1500 5 10 0 0 0 0 1 slotdef=1:1,2,3 T 500 1700 5 10 0 0 0 0 1 slotdef=2:4,5,6 T 500 1900 5 10 0 0 0 0 1 slotdef=3:9,10,8 T 500 2100 5 10 0 0 0 0 1 slotdef=4:12,13,11 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 T 1000 100 8 10 1 1 0 0 1 blah=This needs to be outside! V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 0 1 { T 1100 550 5 8 1 1 0 0 1 pinnumber=3 T 1100 450 5 8 0 1 0 2 1 pinseq=3 T 950 500 9 8 0 1 0 6 1 pinlabel=Y T 950 500 5 8 0 1 0 8 1 pintype=out } P 300 300 0 300 1 0 1 { T 200 350 5 8 1 1 0 6 1 pinnumber=2 T 200 250 5 8 0 1 0 8 1 pinseq=2 T 350 300 9 8 0 1 0 0 1 pinlabel=B T 350 300 5 8 0 1 0 2 1 pintype=in } P 300 700 0 700 1 0 1 { T 200 750 5 8 1 1 0 6 1 pinnumber=1 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 0 1 0 0 1 pinlabel=A T 350 700 5 8 0 1 0 2 1 pintype=in } T 300 900 8 10 1 1 0 0 1 refdes=U? T 500 2250 5 10 0 0 0 0 1 footprint=DIP14 T 500 2450 5 10 0 0 0 0 1 description=4 NAND gates with 2 inputs T 500 2850 5 10 0 0 0 0 1 net=Vcc:14 T 500 3050 5 10 0 0 0 0 1 net=GND:7 T 500 2650 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc00.pdf T 1300 700 5 10 0 0 0 0 1 symversion=!!!-1.0 T 400 400 9 10 1 0 0 0 1 invalid geda-gaf-1.8.2/gschem/tests/geda_fonts.sch0000664000175000017500000001534612050461155015330 00000000000000v 20080706 2 T 10000 20000 9 10 1 0 0 0 1 _0_0_ 0.sym T 10000 19800 9 10 1 0 0 0 1 _1_1_ 1.sym T 10000 19600 9 10 1 0 0 0 1 _2_2_ 2.sym T 10000 19400 9 10 1 0 0 0 1 _3_3_ 3.sym T 10000 19200 9 10 1 0 0 0 1 _4_4_ 4.sym T 10000 19000 9 10 1 0 0 0 1 _5_5_ 5.sym T 10000 18800 9 10 1 0 0 0 1 _6_6_ 6.sym T 10000 18600 9 10 1 0 0 0 1 _7_7_ 7.sym T 10000 18400 9 10 1 0 0 0 1 _8_8_ 8.sym T 10000 18200 9 10 1 0 0 0 1 _9_9_ 9.sym T 10000 18000 9 10 1 0 0 0 1 _Á_Á_ A-acute-accent.sym T 10000 17800 9 10 1 0 0 0 1 _Ä_Ä_ A-diaeresis.sym T 10000 17600 9 10 1 0 0 0 1 _Ą_Ą_ A-ogonek.sym T 10000 17400 9 10 1 0 0 0 1 _Å_Å_ A-ring.sym T 10000 17200 9 10 1 0 0 0 1 _A_A_ A.sym T 10000 17000 9 10 1 0 0 0 1 _Æ_Æ_ AE-lig.sym T 10000 16800 9 10 1 0 0 0 1 _B_B_ B.sym T 10000 16600 9 10 1 0 0 0 1 _Ć_Ć_ C-acute-accent.sym T 10000 16400 9 10 1 0 0 0 1 _C_C_ C.sym T 10000 16200 9 10 1 0 0 0 1 _D_D_ D.sym T 10000 16000 9 10 1 0 0 0 1 _É_É_ E-acute-accent.sym T 10000 15800 9 10 1 0 0 0 1 _Ę_Ę_ E-ogonek.sym T 10000 15600 9 10 1 0 0 0 1 _E_E_ E.sym T 10000 15400 9 10 1 0 0 0 1 _F_F_ F.sym T 10000 15200 9 10 1 0 0 0 1 _G_G_ G.sym T 10000 15000 9 10 1 0 0 0 1 _H_H_ H.sym T 10000 14800 9 10 1 0 0 0 1 _Í_Í_ I-acute-accent.sym T 10000 14600 9 10 1 0 0 0 1 _I_I_ I.sym T 10000 14400 9 10 1 0 0 0 1 _J_J_ J.sym T 10000 14200 9 10 1 0 0 0 1 _K_K_ K.sym T 10000 14000 9 10 1 0 0 0 1 _Ł_Ł_ L-slash.sym T 10000 13800 9 10 1 0 0 0 1 _L_L_ L.sym T 10000 13600 9 10 1 0 0 0 1 _M_M_ M.sym T 10000 13400 9 10 1 0 0 0 1 _Ń_Ń_ N-acute-accent.sym T 10000 13200 9 10 1 0 0 0 1 _Ñ_Ñ_ N-tilde.sym T 10000 13000 9 10 1 0 0 0 1 _N_N_ N.sym T 10000 12800 9 10 1 0 0 0 1 _Ó_Ó_ O-acute-accent.sym T 10000 12600 9 10 1 0 0 0 1 _Ö_Ö_ O-diaeresis.sym T 10000 12400 9 10 1 0 0 0 1 _Ő_Ő_ O-double-acute-accent.sym T 10000 12200 9 10 1 0 0 0 1 _Ø_Ø_ O-slash.sym T 10000 12000 9 10 1 0 0 0 1 _O_O_ O.sym T 10000 11800 9 10 1 0 0 0 1 _Ω_Ω_ Omega.sym T 10000 11600 9 10 1 0 0 0 1 _P_P_ P.sym T 10000 11400 9 10 1 0 0 0 1 _Q_Q_ Q.sym T 10000 11200 9 10 1 0 0 0 1 _R_R_ R.sym T 10000 11000 9 10 1 0 0 0 1 _Ś_Ś_ S-acute-accent.sym T 10000 10800 9 10 1 0 0 0 1 _S_S_ S.sym T 10000 10600 9 10 1 0 0 0 1 _T_T_ T.sym T 10000 10400 9 10 1 0 0 0 1 _Ú_Ú_ U-acute-accent.sym T 10000 10200 9 10 1 0 0 0 1 _Ü_Ü_ U-diaeresis.sym T 10000 10000 9 10 1 0 0 0 1 _Ű_Ű_ U-double-acute-accent.sym T 14000 20000 9 10 1 0 0 0 1 _U_U_ U.sym T 14000 19800 9 10 1 0 0 0 1 _V_V_ V.sym T 14000 19600 9 10 1 0 0 0 1 _W_W_ W.sym T 14000 19400 9 10 1 0 0 0 1 _X_X_ X.sym T 14000 19200 9 10 1 0 0 0 1 _Y_Y_ Y.sym T 14000 19000 9 10 1 0 0 0 1 _Ź_Ź_ Z-acute-accent.sym T 14000 18800 9 10 1 0 0 0 1 _Ż_Ż_ Z-dot.sym T 14000 18600 9 10 1 0 0 0 1 _Z_Z_ Z.sym T 14000 18400 9 10 1 0 0 0 1 _á_á_ a_-acute-accent.sym T 14000 18200 9 10 1 0 0 0 1 _ä_ä_ a_-diaeresis.sym T 14000 18000 9 10 1 0 0 0 1 _ą_ą_ a_-ogonek.sym T 14000 17800 9 10 1 0 0 0 1 _å_å_ a_-ring.sym T 14000 17600 9 10 1 0 0 0 1 _a_a_ a_.sym T 14000 17400 9 10 1 0 0 0 1 _æ_æ_ ae_-lig.sym T 14000 17200 9 10 1 0 0 0 1 _&_&_ amper.sym T 14000 17000 9 10 1 0 0 0 1 _'_'_ apost.sym T 14000 16800 9 10 1 0 0 0 1 _*_*_ astericks.sym T 14000 16600 9 10 1 0 0 0 1 _@_@_ at.sym T 14000 16400 9 10 1 0 0 0 1 _b_b_ b_.sym T 14000 16200 9 10 1 0 0 0 1 _\\_\\_ backslash.sym T 14000 16000 9 10 1 0 0 0 1 _`_`_ backtick.sym T 14000 15800 9 10 1 0 0 0 1 _ć_ć_ c_-acute-accent.sym T 14000 15600 9 10 1 0 0 0 1 _c_c_ c_.sym T 14000 15400 9 10 1 0 0 0 1 _^_^_ caret.sym T 14000 15200 9 10 1 0 0 0 1 _:_:_ colon.sym T 14000 15000 9 10 1 0 0 0 1 _,_,_ comma.sym T 14000 14800 9 10 1 0 0 0 1 _d_d_ d_.sym T 14000 14600 9 10 1 0 0 0 1 _$_$_ dollar.sym T 14000 14400 9 10 1 0 0 0 1 _é_é_ e_-acute-accent.sym T 14000 14200 9 10 1 0 0 0 1 _ę_ę_ e_-ogonek.sym T 14000 14000 9 10 1 0 0 0 1 _e_e_ e_.sym T 14000 13800 9 10 1 0 0 0 1 _=_=_ equal.sym T 14000 13600 9 10 1 0 0 0 1 _¡_¡_ excl-open.sym T 14000 13400 9 10 1 0 0 0 1 _!_!_ excl.sym T 14000 13200 9 10 1 0 0 0 1 _f_f_ f_.sym T 14000 13000 9 10 1 0 0 0 1 _g_g_ g_.sym T 14000 12800 9 10 1 0 0 0 1 _h_h_ h_.sym T 14000 12600 9 10 1 0 0 0 1 _í_í_ i_-acute-accent.sym T 14000 12400 9 10 1 0 0 0 1 _i_i_ i_.sym T 14000 12200 9 10 1 0 0 0 1 _j_j_ j_.sym T 14000 12000 9 10 1 0 0 0 1 _k_k_ k_.sym T 14000 11800 9 10 1 0 0 0 1 _ł_ł_ l_-slash.sym T 14000 11600 9 10 1 0 0 0 1 _l_l_ l_.sym T 14000 11400 9 10 1 0 0 0 1 _{_{_ lbrace.sym T 14000 11200 9 10 1 0 0 0 1 _[_[_ lbrack.sym T 14000 11000 9 10 1 0 0 0 1 _<_<_ less.sym T 14000 10800 9 10 1 0 0 0 1 _(_(_ lparen.sym T 14000 10600 9 10 1 0 0 0 1 _m_m_ m_.sym T 14000 10400 9 10 1 0 0 0 1 _-_-_ minus.sym T 14000 10200 9 10 1 0 0 0 1 _>_>_ more.sym T 14000 10000 9 10 1 0 0 0 1 _µ_µ_ mu_.sym T 18000 20000 9 10 1 0 0 0 1 _ń_ń_ n_-acute-accent.sym T 18000 19800 9 10 1 0 0 0 1 _ñ_ñ_ n_-tilde.sym T 18000 19600 9 10 1 0 0 0 1 _n_n_ n_.sym T 18000 19400 9 10 1 0 0 0 1 _n_n_ newline.sym T 18000 19200 9 10 1 0 0 0 1 _ó_ó_ o_-acute-accent.sym T 18000 19000 9 10 1 0 0 0 1 _ö_ö_ o_-diaeresis.sym T 18000 18800 9 10 1 0 0 0 1 _ő_ő_ o_-double-acute-accent.sym T 18000 18600 9 10 1 0 0 0 1 _ø_ø_ o_-slash.sym T 18000 18400 9 10 1 0 0 0 1 _o_o_ o_.sym T 18000 18200 9 10 1 0 0 0 1 _p_p_ p_.sym T 18000 18000 9 10 1 0 0 0 1 _%_%_ percent.sym T 18000 17800 9 10 1 0 0 0 1 _._._ period.sym T 18000 17600 9 10 1 0 0 0 1 _+_+_ plus.sym T 18000 17400 9 10 1 0 0 0 1 _#_#_ pound.sym T 18000 17200 9 10 1 0 0 0 1 _q_q_ q_.sym T 18000 17000 9 10 1 0 0 0 1 _¿_¿_ quest-open.sym T 18000 16800 9 10 1 0 0 0 1 _?_?_ quest.sym T 18000 16600 9 10 1 0 0 0 1 _"_"_ quote.sym T 18000 16400 9 10 1 0 0 0 1 _r_r_ r_.sym T 18000 16200 9 10 1 0 0 0 1 _}_}_ rbrace.sym T 18000 16000 9 10 1 0 0 0 1 _]_]_ rbrack.sym T 18000 15800 9 10 1 0 0 0 1 _)_)_ rparen.sym T 18000 15600 9 10 1 0 0 0 1 _ś_ś_ s_-acute-accent.sym T 18000 15400 9 10 1 0 0 0 1 _ß_ß_ s_-sharp.sym T 18000 15200 9 10 1 0 0 0 1 _s_s_ s_.sym T 18000 15000 9 10 1 0 0 0 1 _;_;_ semi.sym T 18000 14800 9 10 1 0 0 0 1 _/_/_ slash.sym T 18000 14600 9 10 1 0 0 0 1 _ _ _ space.sym T 18000 14400 9 10 1 0 0 0 1 _t_t_ t_.sym T 18000 14200 9 10 1 0 0 0 1 _~_~_ tilde.sym T 18000 14000 9 10 1 0 0 0 1 _ú_ú_ u_-acute-accent.sym T 18000 13800 9 10 1 0 0 0 1 _ü_ü_ u_-diaeresis.sym T 18000 13600 9 10 1 0 0 0 1 _ű_ű_ u_-double-acute-accent.sym T 18000 13400 9 10 1 0 0 0 1 _u_u_ u_.sym T 18000 13200 9 10 1 0 0 0 1 _____ under.sym T 18000 13000 9 10 1 0 0 0 1 _v_v_ v_.sym T 18000 12800 9 10 1 0 0 0 1 _|_|_ vbar.sym T 18000 12600 9 10 1 0 0 0 1 _w_w_ w_.sym T 18000 12400 9 10 1 0 0 0 1 _x_x_ x_.sym T 18000 12200 9 10 1 0 0 0 1 _y_y_ y_.sym T 18000 12000 9 10 1 0 0 0 1 _ź_ź_ z_-acute-accent.sym T 18000 11800 9 10 1 0 0 0 1 _ż_ż_ z_-dot.sym T 18000 11600 9 10 1 0 0 0 1 _z_z_ z_.sym T 9800 20500 9 16 1 0 0 0 1 List with all font characters and their file names B 9800 9900 11900 10400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/gschem/tests/fill_test.sch0000664000175000017500000000415712050461155015202 00000000000000v 20021103 C 21400 60900 0 0 0 title-A2.sym B 22200 74600 2000 2000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 22200 71900 2000 2000 3 0 0 1 -1 50 0 -1 -1 -1 -1 -1 B 22200 69200 2000 2000 3 0 0 2 50 50 0 -1 -1 -1 -1 -1 B 22200 66500 2000 2000 3 0 0 3 50 50 0 -1 -1 -1 -1 -1 B 22200 63800 2000 2000 3 0 0 4 50 50 0 -1 -1 -1 -1 -1 B 25000 74600 2000 2000 3 10 0 0 -1 -1 1 -1 -1 -1 -1 -1 B 25000 71900 2000 2000 3 10 0 1 -1 50 1 -1 -1 -1 -1 -1 B 25000 69200 2000 2000 3 10 0 2 50 50 1 -1 -1 -1 -1 -1 B 25000 66500 2000 2000 3 10 0 3 50 50 1 -1 -1 -1 -1 -1 B 25000 63800 2000 2000 3 10 0 4 50 50 1 -1 -1 -1 -1 -1 B 27800 74600 2000 2000 3 20 0 0 -1 -1 2 1 90 100 0 100 B 27800 71900 2000 2000 3 20 0 1 -1 50 2 1 80 100 10 100 B 27800 69200 2000 2000 3 20 0 2 50 50 2 1 70 100 20 100 B 27800 66500 2000 2000 3 20 0 3 50 50 2 1 60 100 30 100 B 27800 63800 2000 2000 3 20 0 4 50 50 2 1 50 100 40 100 B 30600 74600 2000 2000 3 30 0 0 -1 -1 3 1 90 100 -1 -1 B 30600 71900 2000 2000 3 30 0 1 -1 50 3 1 80 100 -1 -1 B 30600 69200 2000 2000 3 30 0 2 50 50 3 1 70 100 -1 -1 B 30600 66500 2000 2000 3 30 0 3 50 50 3 1 60 100 -1 -1 B 30600 63800 2000 2000 3 30 0 4 50 50 3 1 50 100 -1 -1 V 34300 75600 900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 34300 72900 900 3 0 0 1 -1 50 0 -1 -1 -1 -1 -1 V 34300 70200 900 3 0 0 2 50 50 0 -1 -1 -1 -1 -1 V 34300 67500 900 3 0 0 3 50 50 0 -1 -1 -1 -1 -1 V 34300 64800 900 3 0 0 4 50 50 0 -1 -1 -1 -1 -1 V 42700 75600 900 3 30 0 0 -1 -1 2 1 90 100 50 100 V 42700 72900 900 3 30 0 1 -1 50 2 1 80 100 60 100 V 42700 70200 900 3 30 0 2 50 50 2 1 70 100 160 100 V 42700 67500 900 3 30 0 3 50 50 2 1 60 100 80 100 V 42700 64800 900 3 30 0 4 30 30 2 1 50 100 90 100 V 39800 75600 900 3 20 0 0 -1 -1 3 1 90 50 -1 -1 V 39800 72900 900 3 20 0 1 -1 50 3 1 80 50 -1 -1 V 39800 70200 900 3 20 0 2 50 50 3 1 70 50 -1 -1 V 39800 67500 900 3 20 0 3 50 50 3 1 60 50 -1 -1 V 39800 64800 900 3 20 0 4 50 50 3 1 50 50 -1 -1 V 37100 75600 900 3 10 0 0 -1 -1 1 -1 -1 -1 -1 -1 V 37100 72900 900 3 10 0 1 -1 50 1 -1 -1 -1 -1 -1 V 37100 70200 900 3 10 0 2 50 50 1 -1 -1 -1 -1 -1 V 37100 67500 900 3 10 0 3 50 50 1 -1 -1 -1 -1 -1 V 37100 64800 900 3 10 0 4 50 50 1 -1 -1 -1 -1 -1 geda-gaf-1.8.2/gschem/tests/radio_1.sch0000664000175000017500000000103612050461155014524 00000000000000v 20021103 C 21900 21100 1 0 0 12SA7-1.sym C 25600 21200 1 0 0 12SK7-1.sym C 27700 23300 1 0 0 12SQ7-1.sym C 25200 25000 1 0 0 35Z5GT-1.sym C 22100 24000 1 0 0 50L6GT-1.sym C 24800 19000 1 0 0 af_output_transformer-1.sym C 20100 22300 1 0 0 capacitor-variable-1.sym C 29400 19200 1 0 0 if_trans_aircore-1.sym C 30800 25800 1 0 0 loop_antenna-1.sym C 22700 17200 1 0 0 osc_coil_aircore-1.sym C 20500 23500 1 0 0 resistor-variable-1.sym C 19200 24700 1 0 0 speaker-1.sym C 18900 27800 1 0 0 speaker-2.sym C 31600 20300 1 0 0 loop_antenna-2.sym geda-gaf-1.8.2/gschem/tests/autonumber_sub1.sch0000664000175000017500000001540612050461155016327 00000000000000v 20060906 1 C 35500 50100 1 0 0 block.sym { T 35500 49900 5 10 1 0 0 0 1 source=autonumber_sub_sub1.sch T 35900 50400 5 10 1 1 0 0 1 refdes=U? } C 33500 59200 1 0 0 resistor-1.sym { T 33700 59500 5 10 1 1 0 0 1 refdes=R? } C 33800 58600 1 0 0 resistor-1.sym { T 34000 58900 5 10 1 1 0 0 1 refdes=R? } C 34100 58000 1 0 0 resistor-1.sym { T 34300 58300 5 10 1 1 0 0 1 refdes=R? } C 34600 58400 1 0 0 resistor-1.sym { T 34800 58700 5 10 1 1 0 0 1 refdes=R? } C 35100 58900 1 0 0 resistor-1.sym { T 35300 59200 5 10 1 1 0 0 1 refdes=R? } C 35600 59300 1 0 0 resistor-1.sym { T 35800 59600 5 10 1 1 0 0 1 refdes=R? } C 36200 59700 1 0 0 resistor-1.sym { T 36400 60000 5 10 1 1 0 0 1 refdes=R? } C 36800 59200 1 0 0 resistor-1.sym { T 37000 59500 5 10 1 1 0 0 1 refdes=R? } C 37400 58600 1 0 0 resistor-1.sym { T 37600 58900 5 10 1 1 0 0 1 refdes=R? } C 37800 58000 1 0 0 resistor-1.sym { T 38000 58300 5 10 1 1 0 0 1 refdes=R? } C 37200 57600 1 0 0 resistor-1.sym { T 37400 57900 5 10 1 1 0 0 1 refdes=R? } C 36700 57100 1 0 0 resistor-1.sym { T 36900 57400 5 10 1 1 0 0 1 refdes=R? } C 36200 56600 1 0 0 resistor-1.sym { T 36400 56900 5 10 1 1 0 0 1 refdes=R? } C 35800 56100 1 0 0 resistor-1.sym { T 36000 56400 5 10 1 1 0 0 1 refdes=R? } C 35300 55600 1 0 0 resistor-1.sym { T 35500 55900 5 10 1 1 0 0 1 refdes=R? } C 35700 52500 1 0 0 npn-1.sym { T 36300 53000 5 10 1 1 0 0 1 refdes=Q? } C 36400 52200 1 0 0 npn-1.sym { T 37000 52700 5 10 1 1 0 0 1 refdes=Q? } C 37000 51500 1 0 0 npn-1.sym { T 37600 52000 5 10 1 1 0 0 1 refdes=Q? } C 37700 51100 1 0 0 npn-1.sym { T 38300 51600 5 10 1 1 0 0 1 refdes=Q? } C 38300 50400 1 0 0 npn-1.sym { T 38900 50900 5 10 1 1 0 0 1 refdes=Q? } C 38900 49600 1 0 0 npn-1.sym { T 39500 50100 5 10 1 1 0 0 1 refdes=Q? } C 24900 58400 1 0 0 7400-1.sym { T 25200 59300 5 10 1 1 0 0 1 refdes=U? T 25400 59300 5 10 0 0 0 0 1 device=7400 T 25400 60650 5 10 0 0 0 0 1 footprint=DIP14 } C 24800 56600 1 0 0 7400-1.sym { T 25100 57500 5 10 1 1 0 0 1 refdes=U? T 25300 57500 5 10 0 0 0 0 1 device=7400 T 25300 58850 5 10 0 0 0 0 1 footprint=DIP14 } C 27600 58400 1 0 0 7400-1.sym { T 27900 59300 5 10 1 1 0 0 1 refdes=U? T 28100 59300 5 10 0 0 0 0 1 device=7400 T 28100 60650 5 10 0 0 0 0 1 footprint=DIP14 } C 27600 56700 1 0 0 7400-1.sym { T 27900 57600 5 10 1 1 0 0 1 refdes=U? T 28100 57600 5 10 0 0 0 0 1 device=7400 T 28100 58950 5 10 0 0 0 0 1 footprint=DIP14 } C 30600 58500 1 0 0 7400-1.sym { T 30900 59400 5 10 1 1 0 0 1 refdes=U? T 31100 59400 5 10 0 0 0 0 1 device=7400 T 31100 60750 5 10 0 0 0 0 1 footprint=DIP14 } C 30600 56700 1 0 0 7400-1.sym { T 30900 57600 5 10 1 1 0 0 1 refdes=U? T 31100 57600 5 10 0 0 0 0 1 device=7400 T 31100 58950 5 10 0 0 0 0 1 footprint=DIP14 } C 24900 54400 1 0 0 7400-1.sym { T 25200 55300 5 10 1 1 0 0 1 refdes=U? T 25400 55300 5 10 0 0 0 0 1 device=7400 T 25400 56650 5 10 0 0 0 0 1 footprint=DIP14 } C 27500 54400 1 0 0 7400-1.sym { T 27800 55300 5 10 1 1 0 0 1 refdes=U? T 28000 55300 5 10 0 0 0 0 1 device=7400 T 28000 56650 5 10 0 0 0 0 1 footprint=DIP14 } C 30600 54500 1 0 0 7400-1.sym { T 30900 55400 5 10 1 1 0 0 1 refdes=U? T 31100 55400 5 10 0 0 0 0 1 device=7400 T 31100 56750 5 10 0 0 0 0 1 footprint=DIP14 } C 24900 51800 1 0 0 7400-1.sym { T 25200 52700 5 10 1 1 0 0 1 refdes=U? T 25400 52700 5 10 0 0 0 0 1 device=7400 T 25400 54050 5 10 0 0 0 0 1 footprint=DIP14 } C 27600 51900 1 0 0 7400-1.sym { T 27900 52800 5 10 1 1 0 0 1 refdes=U? T 28100 52800 5 10 0 0 0 0 1 device=7400 T 28100 54150 5 10 0 0 0 0 1 footprint=DIP14 } C 26100 57600 1 0 0 7402-1.sym { T 26400 58500 5 10 1 1 0 0 1 refdes=U? T 26700 58500 5 10 0 0 0 0 1 device=7402 T 26700 59900 5 10 0 0 0 0 1 footprint=DIP14 } C 29200 57700 1 0 0 7402-1.sym { T 29500 58600 5 10 1 1 0 0 1 refdes=U? T 29800 58600 5 10 0 0 0 0 1 device=7402 T 29800 60000 5 10 0 0 0 0 1 footprint=DIP14 } C 26300 55600 1 0 0 7402-1.sym { T 26600 56500 5 10 1 1 0 0 1 refdes=U? T 26900 56500 5 10 0 0 0 0 1 device=7402 T 26900 57900 5 10 0 0 0 0 1 footprint=DIP14 } C 29000 55600 1 0 0 7402-1.sym { T 29300 56500 5 10 1 1 0 0 1 refdes=U? T 29600 56500 5 10 0 0 0 0 1 device=7402 T 29600 57900 5 10 0 0 0 0 1 footprint=DIP14 } C 26300 53100 1 0 0 7402-1.sym { T 26600 54000 5 10 1 1 0 0 1 refdes=U? T 26900 54000 5 10 0 0 0 0 1 device=7402 T 26900 55400 5 10 0 0 0 0 1 footprint=DIP14 } C 29100 53200 1 0 0 7402-1.sym { T 29400 54100 5 10 1 1 0 0 1 refdes=U? T 29700 54100 5 10 0 0 0 0 1 device=7402 T 29700 55500 5 10 0 0 0 0 1 footprint=DIP14 } C 26300 50600 1 0 0 7402-1.sym { T 26600 51500 5 10 1 1 0 0 1 refdes=U? T 26900 51500 5 10 0 0 0 0 1 device=7402 T 26900 52900 5 10 0 0 0 0 1 footprint=DIP14 } C 24600 48100 1 0 0 7474-1.sym { T 25900 50100 5 10 1 1 0 6 1 refdes=U? T 26400 49900 5 10 0 0 0 0 1 device=7474 T 26400 50900 5 10 0 0 0 0 1 footprint=DIP14 } C 26700 48100 1 0 0 7474-1.sym { T 28000 50100 5 10 1 1 0 6 1 refdes=U? T 28500 49900 5 10 0 0 0 0 1 device=7474 T 28500 50900 5 10 0 0 0 0 1 footprint=DIP14 } C 28900 48100 1 0 0 7474-1.sym { T 30200 50100 5 10 1 1 0 6 1 refdes=U? T 30700 49900 5 10 0 0 0 0 1 device=7474 T 30700 50900 5 10 0 0 0 0 1 footprint=DIP14 } C 31000 48100 1 0 0 7474-1.sym { T 32300 50100 5 10 1 1 0 6 1 refdes=U? T 32800 49900 5 10 0 0 0 0 1 device=7474 T 32800 50900 5 10 0 0 0 0 1 footprint=DIP14 } C 32900 48100 1 0 0 7474-1.sym { T 34200 50100 5 10 1 1 0 6 1 refdes=U? T 34700 49900 5 10 0 0 0 0 1 device=7474 T 34700 50900 5 10 0 0 0 0 1 footprint=DIP14 } C 24200 53000 1 0 0 7414-1.sym { T 25000 53800 5 10 1 1 0 0 1 refdes=U? T 24500 54000 5 10 0 0 0 0 1 device=7414 T 24500 56400 5 10 0 0 0 0 1 footprint=DIP14 } C 24100 55300 1 0 0 7414-1.sym { T 24900 56100 5 10 1 1 0 0 1 refdes=U? T 24400 56300 5 10 0 0 0 0 1 device=7414 T 24400 58700 5 10 0 0 0 0 1 footprint=DIP14 } C 29500 52000 1 0 0 7414-1.sym { T 30300 52800 5 10 1 1 0 0 1 refdes=U? T 29800 53000 5 10 0 0 0 0 1 device=7414 T 29800 55400 5 10 0 0 0 0 1 footprint=DIP14 } C 28600 50900 1 0 0 7414-1.sym { T 29400 51700 5 10 1 1 0 0 1 refdes=U? T 28900 51900 5 10 0 0 0 0 1 device=7414 T 28900 54300 5 10 0 0 0 0 1 footprint=DIP14 } C 31000 53000 1 0 0 7414-1.sym { T 31800 53800 5 10 1 1 0 0 1 refdes=U? T 31300 54000 5 10 0 0 0 0 1 device=7414 T 31300 56400 5 10 0 0 0 0 1 footprint=DIP14 } C 30700 51100 1 0 0 7414-1.sym { T 31500 51900 5 10 1 1 0 0 1 refdes=U? T 31000 52100 5 10 0 0 0 0 1 device=7414 T 31000 54500 5 10 0 0 0 0 1 footprint=DIP14 } C 31600 52100 1 0 0 7414-1.sym { T 32400 52900 5 10 1 1 0 0 1 refdes=U? T 31900 53100 5 10 0 0 0 0 1 device=7414 T 31900 55500 5 10 0 0 0 0 1 footprint=DIP14 } C 32500 51100 1 0 0 7414-1.sym { T 33300 51900 5 10 1 1 0 0 1 refdes=U? T 32800 52100 5 10 0 0 0 0 1 device=7414 T 32800 54500 5 10 0 0 0 0 1 footprint=DIP14 } T 25300 60000 9 10 1 0 0 0 4 Test for autoslotting: Test1: Mark some of the logik symbols and renumber them without autoslotting Test2: Mark some of the logik symbols and renumber them with autoslotting geda-gaf-1.8.2/gschem/tests/versionsym3.sch0000664000175000017500000000270012050461155015506 00000000000000v 20041228 1 C 40100 59500 1 0 0 versionsym_basic.sym { T 41100 59600 5 10 1 1 0 0 1 blah=Okay! T 40400 60400 5 10 1 1 0 0 1 refdes=Uokay T 41400 60200 5 10 0 0 0 0 1 symversion=24.0 } C 40300 58000 1 0 0 versionsym_minor.sym { T 40200 57800 5 10 1 1 0 0 1 blah=minor change with attached T 40600 58900 5 10 1 1 0 0 1 refdes=Uminor1 T 41600 58700 5 10 0 0 0 0 1 symversion=1.0 } C 43700 58900 1 0 0 versionsym_major.sym { T 43700 58700 5 10 1 1 0 0 1 blah=major change with attached T 44000 59800 5 10 1 1 0 0 1 refdes=Umajor1 T 45000 59600 5 10 0 0 0 0 1 symversion=1.0 } C 43700 57400 1 0 0 versionsym_major.sym { T 43700 57200 5 10 1 1 0 0 1 blah=major change without T 44000 58300 5 10 1 1 0 0 1 refdes=Umajor2 } C 40300 56400 1 0 0 versionsym_minor2.sym { T 41300 56500 5 10 1 1 0 0 1 blah=minor change with attached T 40600 57300 5 10 1 1 0 0 1 refdes=Uminor2 T 41600 57100 5 10 0 0 0 0 1 symversion=0.3 } C 41800 61300 1 0 0 versionsym_major.sym C 40300 54900 1 0 0 versionsym_minor2.sym { T 41300 55000 5 10 1 1 0 0 1 blah=minor change without T 40600 55800 5 10 1 1 0 0 1 refdes=Uminor3 } C 43900 55900 1 0 0 versionsym_major.sym { T 43900 55700 5 10 1 1 0 0 1 blah=major & minor change with attached T 44200 56800 5 10 1 1 0 0 1 refdes=Umajor3 T 45200 56600 5 10 0 0 0 0 1 symversion=2.9 } C 44700 61300 1 0 0 versionsym_major.sym T 41100 62200 9 10 1 0 0 0 1 This is the first unknown component T 44400 61100 9 10 1 0 0 0 1 This is the second unknown component geda-gaf-1.8.2/gschem/tests/versionsym1.sch0000664000175000017500000000552212050461155015511 00000000000000v 20040710 1 C 48700 70600 1 0 0 4002-1.sym { T 49400 72300 5 10 1 1 0 0 1 refdes=U1 } C 53000 69200 1 0 0 40107-1.sym { T 53300 70300 5 10 1 1 0 0 1 refdes=U2 } C 60900 63200 1 0 0 4011-1.sym { T 61200 64300 5 10 1 1 0 0 1 refdes=U3 } C 53000 65000 1 0 0 4012-1.sym { T 53300 67000 5 10 1 1 0 0 1 refdes=U4 } C 56100 70200 1 0 0 4023-1.sym { T 56450 71500 5 10 1 1 0 0 1 refdes=U5 } C 54200 72800 1 0 0 4025-1.sym { T 54550 74050 5 10 1 1 0 0 1 refdes=U6 } C 54600 74700 1 0 0 4030-1.sym { T 55000 75800 5 10 1 1 0 0 1 refdes=U7 } C 59600 74000 1 0 0 4068-1.sym { T 60000 77900 5 10 1 1 0 0 1 refdes=U8 } C 66900 72700 1 0 0 4070-1.sym { T 67300 73800 5 10 1 1 0 0 1 refdes=U9 } C 68500 66300 1 0 0 4072-1.sym { T 69200 68200 5 10 1 1 0 0 1 refdes=U10 } C 69500 72100 1 0 0 4073-1.sym { T 69850 73600 5 10 1 1 0 0 1 refdes=U11 } C 64600 64500 1 0 0 4075-1.sym { T 64950 65750 5 10 1 1 0 0 1 refdes=U12 } C 55300 67800 1 0 0 4078-1.sym { T 59900 71700 5 10 1 1 0 0 1 refdes=U13 } C 53500 76600 1 0 0 4081-1.sym { T 53800 77700 5 10 1 1 0 0 1 refdes=U14 } C 56300 77300 1 0 0 4082-1.sym { T 56600 79200 5 10 1 1 0 0 1 refdes=U15 } C 47700 74500 1 0 0 4085-1.sym { T 48000 76800 5 10 1 1 0 0 1 refdes=U16 } N 52000 75700 52900 75700 4 N 52900 75700 52900 77000 4 N 52900 77000 53500 77000 4 N 55300 77200 55800 77200 4 N 55800 77200 55800 77700 4 N 55800 77700 56300 77700 4 N 56500 75300 58600 75300 4 N 58600 75300 58600 76200 4 N 59600 76200 58600 76200 4 N 56600 73500 58600 73500 4 N 58600 73500 58600 74600 4 N 58600 74600 59600 74600 4 N 51900 71400 52500 71400 4 N 52500 71400 52500 70000 4 N 52500 70000 53000 70000 4 N 54800 69800 55500 69800 4 N 55500 69800 55500 70400 4 N 55500 70400 56100 70400 4 N 58500 70800 59500 70800 4 N 65900 70300 66400 70300 4 N 66400 70300 66400 73100 4 N 66400 73100 66900 73100 4 N 65600 75600 66400 75600 4 N 66400 75600 66400 73500 4 N 66400 73500 66900 73500 4 N 68800 73300 69500 73300 4 N 55700 66100 56500 66100 4 N 56500 66100 56500 65000 4 N 56500 65000 59900 65000 4 N 59900 65000 59900 64000 4 N 59900 64000 60900 64000 4 N 62700 63800 63600 63800 4 N 63600 63800 63600 65200 4 N 63600 65200 64700 65200 4 N 66900 65200 68100 65200 4 N 68100 65200 68100 67100 4 N 68100 67100 69000 67100 4 N 71700 72900 72900 72900 4 N 72900 72900 72900 67300 4 N 72900 67300 71600 67300 4 N 49200 71600 46700 71600 4 N 46700 71600 46700 76500 4 N 46700 76500 47700 76500 4 N 53000 66300 47700 66300 4 N 47700 66300 47700 71200 4 N 47700 71200 49200 71200 4 N 59000 78300 59200 78300 4 N 59200 78300 59200 77400 4 N 59200 77400 59600 77400 4 N 54600 75100 51800 75100 4 N 51800 75100 51800 74100 4 N 47400 74100 51800 74100 4 N 47400 74100 47400 74900 4 N 47400 74900 47700 74900 4 N 54300 73100 47800 73100 4 N 47800 72000 47800 73100 4 N 47800 72000 49200 72000 4 C 44000 60400 0 0 0 title-D.sym T 44700 81400 9 40 1 0 0 0 1 This schematic intentionally broken geda-gaf-1.8.2/gschem/tests/embedded_1.sch0000664000175000017500000024576212050461155015177 00000000000000v 20001006 C 18600 21500 1 0 0 EMBEDDEDlm555-1.sym [ T 20200 22000 9 8 1 0 0 0 OUT T 20130 22698 9 8 1 0 0 0 CTRL T 20000 23100 9 8 1 0 0 0 THRES T 20169 23502 9 8 1 0 0 0 DISC P 20600 22000 20900 22000 1 { T 20698 22068 5 8 1 1 0 0 pin3=3 } P 20600 22700 20900 22700 1 { T 20698 22766 5 8 1 1 0 0 pin5=5 } P 20600 23100 20900 23100 1 { T 20698 23165 5 8 1 1 0 0 pin6=6 } P 20600 23500 20900 23500 1 { T 20698 23570 5 8 1 1 0 0 pin7=7 } T 19106 23902 9 8 1 0 0 0 RESET T 20040 23902 9 8 1 0 0 0 VCC P 20200 24100 20200 24400 1 { T 20001 24222 5 8 1 1 0 0 pin8=8 } P 19400 24100 19400 24400 1 { T 19202 24222 5 8 1 1 0 0 pin4=4 } T 19000 23100 9 8 1 0 0 0 TRIG T 19000 22000 9 8 1 0 0 0 GND P 18600 23100 18900 23100 1 { T 18696 23165 5 8 1 1 0 0 pin2=2 } P 18600 22000 18900 22000 1 { T 18729 22068 5 8 1 1 0 0 pin1=1 } T 18900 21500 9 10 1 0 0 0 LM555 B 18900 21800 1700 2300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 20900 24000 5 10 0 0 0 0 device=LM555 ] C 28800 22500 1 0 0 EMBEDDEDam9128-1.sym [ P 29400 22800 29400 22500 1 { T 29348 22600 5 8 1 1 90 0 pin17=17 } P 29700 22800 29700 22500 1 { T 29648 22600 5 8 1 1 90 0 pin16=16 } P 30000 22800 30000 22500 1 { T 29948 22600 5 8 1 1 90 0 pin15=15 } P 30300 22800 30300 22500 1 { T 30248 22600 5 8 1 1 90 0 pin14=14 } P 30600 22800 30600 22500 1 { T 30548 22600 5 8 1 1 90 0 pin13=13 } P 30900 22800 30900 22500 1 { T 30848 22600 5 8 1 1 90 0 pin11=11 } P 31200 22800 31200 22500 1 { T 31148 22600 5 8 1 1 90 0 pin10=10 } P 31500 22800 31500 22500 1 { T 31448 22600 5 8 1 1 90 0 pin9=9 } T 29448 22860 9 8 1 0 90 0 D7 T 29748 22860 9 8 1 0 90 0 D6 T 30048 22860 9 8 1 0 90 0 D5 T 30348 22860 9 8 1 0 90 0 D4 T 30648 22860 9 8 1 0 90 0 D3 T 30948 22860 9 8 1 0 90 0 D2 T 31248 22860 9 8 1 0 90 0 D1 T 31548 22860 9 8 1 0 90 0 D0 T 30100 23600 9 10 1 0 0 0 AM9128 P 28800 24300 29100 24300 1 { T 28942 24352 5 8 1 1 0 0 pin7=7 } P 28800 24000 29100 24000 1 { T 28942 24052 5 8 1 1 0 0 pin8=8 } P 28800 24600 29100 24600 1 { T 28942 24652 5 8 1 1 0 0 pin6=6 } P 28800 24900 29100 24900 1 { T 28942 24952 5 8 1 1 0 0 pin5=5 } P 28800 26400 29100 26400 1 { T 28900 26452 5 8 1 1 0 0 pin23=23 } P 28800 26100 29100 26100 1 { T 28942 26152 5 8 1 1 0 0 pin1=1 } P 28800 25800 29100 25800 1 { T 28942 25852 5 8 1 1 0 0 pin2=2 } P 28800 25500 29100 25500 1 { T 28942 25552 5 8 1 1 0 0 pin3=3 } P 28800 25200 29100 25200 1 { T 28942 25252 5 8 1 1 0 0 pin4=4 } P 28800 26700 29100 26700 1 { T 28900 26752 5 8 1 1 0 0 pin22=22 } P 28800 27000 29100 27000 1 { T 28942 27052 5 8 1 1 0 0 pin19=19 } T 29160 27000 9 8 1 0 0 0 A10 T 29160 26700 9 8 1 0 0 0 A9 T 29160 26400 9 8 1 0 0 0 A8 T 29160 26100 9 8 1 0 0 0 A7 T 29160 25800 9 8 1 0 0 0 A6 T 29160 25500 9 8 1 0 0 0 A5 T 29160 25200 9 8 1 0 0 0 A4 T 29160 24900 9 8 1 0 0 0 A3 T 29160 24600 9 8 1 0 0 0 A2 T 29160 24300 9 8 1 0 0 0 A1 T 29160 24000 9 8 1 0 0 0 A0 T 29160 23700 9 8 1 0 0 0 WE T 29160 23400 9 8 1 0 0 0 OE T 29160 23100 9 8 1 0 0 0 CE V 29050 23700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 29050 23400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 29050 23100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 29000 23700 28800 23700 1 { T 28815 23752 5 8 1 1 0 0 pin21=21 } P 29000 23400 28800 23400 1 { T 28815 23452 5 8 1 1 0 0 pin20=20 } P 29000 23100 28800 23100 1 { T 28815 23152 5 8 1 1 0 0 pin18=18 } B 29100 22800 2700 4500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 31900 27200 5 10 0 0 0 0 device=AM9128 ] C 18000 18700 1 0 0 EMBEDDEDcapacitor-1.sym [ P 18000 18900 18200 18900 1 { T 18100 18950 5 8 0 1 0 0 pin1=1 } P 18900 18900 18700 18900 1 { T 18700 18950 5 8 0 1 0 0 pin2=2 } L 18400 19100 18400 18700 3 0 0 0 -1 -1 L 18500 19100 18500 18700 3 0 0 0 -1 -1 L 18700 18900 18500 18900 3 0 0 0 -1 -1 L 18400 18900 18200 18900 3 0 0 0 -1 -1 T 18300 19300 5 10 0 0 0 0 device=CAPACITOR ] C 18000 18000 1 0 0 EMBEDDEDcapacitor-2.sym [ P 18000 18200 18200 18200 1 { T 18100 18250 5 8 0 1 0 0 pin1=1 } P 18900 18200 18700 18200 1 { T 18700 18250 5 8 0 1 0 0 pin2=2 } L 18400 18400 18400 18000 3 0 0 0 -1 -1 L 18700 18200 18500 18200 3 0 0 0 -1 -1 L 18400 18200 18200 18200 3 0 0 0 -1 -1 T 18400 18600 5 10 0 0 0 0 device=POLARIZED CAPACITOR A 19200 18200 700 165 30 3 0 0 0 -1 -1 L 18289 18400 18289 18300 3 0 0 0 -1 -1 L 18340 18349 18240 18349 3 0 0 0 -1 -1 ] C 20300 18200 1 0 0 EMBEDDEDled-1.sym [ P 20300 18400 20500 18400 1 { T 20400 18450 5 8 0 1 0 0 pin1=1 } P 21200 18400 21000 18400 1 { T 21000 18450 5 8 0 1 0 0 pin2=2 } L 20700 18500 20800 18400 3 0 0 0 -1 -1 L 20800 18400 20700 18300 3 0 0 0 -1 -1 L 20700 18500 20700 18300 3 0 0 0 -1 -1 L 20800 18500 20800 18300 3 0 0 0 -1 -1 L 20800 18400 21000 18400 3 0 0 0 -1 -1 L 20700 18400 20500 18400 3 0 0 0 -1 -1 V 20750 18400 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 20900 19200 5 10 0 0 0 0 device=LED L 20816 18703 20917 18804 3 0 0 0 -1 -1 L 20917 18804 20921 18755 3 0 0 0 -1 -1 L 20921 18755 21022 18857 3 0 0 0 -1 -1 L 20784 18618 20885 18718 3 0 0 0 -1 -1 L 20885 18718 20889 18669 3 0 0 0 -1 -1 L 20889 18669 20990 18770 3 0 0 0 -1 -1 ] C 20300 16800 1 0 0 EMBEDDEDosc-1.sym [ P 21500 17300 21200 17300 1 { T 21250 17350 5 10 1 1 0 0 pin8=8 } T 20300 16800 9 8 1 0 0 0 OSC B 20300 17000 900 600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 21200 17700 5 10 0 0 0 0 device=OSC ] C 18000 17400 1 0 0 EMBEDDEDresistor-1.sym [ L 18600 17600 18500 17400 3 0 0 0 -1 -1 L 18500 17400 18400 17600 3 0 0 0 -1 -1 L 18400 17600 18300 17400 3 0 0 0 -1 -1 L 18300 17400 18200 17600 3 0 0 0 -1 -1 T 18300 17800 5 10 0 0 0 0 device=RESISTOR L 18600 17600 18700 17400 3 0 0 0 -1 -1 L 18700 17400 18750 17500 3 0 0 0 -1 -1 P 18900 17500 18750 17500 1 { T 18800 17550 5 8 0 1 0 0 pin2=2 } P 18000 17500 18152 17500 1 { T 18100 17550 5 8 0 1 0 0 pin1=1 } L 18201 17600 18150 17500 3 0 0 0 -1 -1 ] C 26000 17300 1 0 0 EMBEDDED7402-1.sym [ L 26260 17500 26600 17500 3 0 0 0 -1 -1 L 26260 18100 26600 18100 3 0 0 0 -1 -1 T 26600 18200 5 10 0 0 0 0 device=7402 T 26600 18400 5 10 0 0 0 0 slot=1 T 26600 18600 5 10 0 0 0 0 numslots=4 T 26600 18800 5 10 0 0 0 0 slot1=1,2,3 T 26600 19000 5 10 0 0 0 0 slot2=4,5,6 T 26600 19200 5 10 0 0 0 0 slot3=10,8,9 T 26600 19400 5 10 0 0 0 0 slot4=13,11,12 T 26300 17300 9 8 1 0 0 0 7402 A 26000 17800 400 -48 97 3 0 0 0 -1 -1 P 26300 18000 26000 18000 1 { T 26100 18050 5 8 1 1 0 0 pin3=3 } P 26300 17600 26000 17600 1 { T 26100 17650 5 8 1 1 0 0 pin2=2 } V 27038 17800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 27300 17800 27088 17800 1 { T 27085 17850 5 8 1 1 0 0 pin1=1 } A 26600 17900 400 270 76 3 0 0 0 -1 -1 A 26600 17700 400 90 -76 3 0 0 0 -1 -1 ] C 25100 16500 1 0 0 EMBEDDED7404-1.sym [ L 25400 17300 25900 17000 3 0 0 0 -1 -1 T 25700 17400 5 10 0 0 0 0 device=7404 T 25700 17600 5 10 0 0 0 0 slot=1 T 25700 17800 5 10 0 0 0 0 numslots=6 T 25700 18000 5 10 0 0 0 0 slot1=1,2 T 25700 18200 5 10 0 0 0 0 slot2=3,4 T 25700 18400 5 10 0 0 0 0 slot3=5,6 T 25700 18600 5 10 0 0 0 0 slot4=9,8 T 25700 18800 5 10 0 0 0 0 slot5=11,10 T 25700 19000 5 10 0 0 0 0 slot6=13,12 L 25900 17000 25400 16700 3 0 0 0 -1 -1 L 25400 17300 25400 17000 3 0 0 0 -1 -1 L 25400 17000 25400 16700 3 0 0 0 -1 -1 V 25950 17000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 25400 17000 25100 17000 1 { T 25200 17050 5 8 1 1 0 0 pin1=1 } P 26200 17000 26000 17000 1 { T 26015 17050 5 8 1 1 0 0 pin2=2 } T 25400 16500 9 8 1 0 0 0 7404 ] C 26600 15900 1 0 0 EMBEDDED7404-2.sym [ L 26900 16700 27400 16400 3 0 0 0 -1 -1 T 27200 16800 5 10 0 0 0 0 device=7404 T 27200 17000 5 10 0 0 0 0 slot=1 T 27200 17200 5 10 0 0 0 0 numslots=6 T 27200 17400 5 10 0 0 0 0 slot1=1,2 T 27200 17600 5 10 0 0 0 0 slot2=3,4 T 27200 17800 5 10 0 0 0 0 slot3=5,6 T 27200 18000 5 10 0 0 0 0 slot4=9,8 T 27200 18200 5 10 0 0 0 0 slot5=11,10 T 27200 18400 5 10 0 0 0 0 slot6=13,12 L 27400 16400 26900 16100 3 0 0 0 -1 -1 L 26900 16700 26900 16400 3 0 0 0 -1 -1 L 26900 16400 26900 16100 3 0 0 0 -1 -1 V 26850 16400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 26900 15900 9 8 1 0 0 0 7404 P 27700 16400 27400 16400 1 { T 27415 16450 5 8 1 1 0 0 pin2=2 } P 26800 16400 26600 16400 1 { T 26700 16450 5 8 1 1 0 0 pin1=1 } ] C 25000 15300 1 0 0 EMBEDDED7407-1.sym [ L 25300 16100 25800 15800 3 0 0 0 -1 -1 T 25600 16200 5 10 0 0 0 0 device=7407 T 25600 16400 5 10 0 0 0 0 slot=1 T 25600 16600 5 10 0 0 0 0 numslots=6 T 25600 16800 5 10 0 0 0 0 slot1=1,2 T 25600 17000 5 10 0 0 0 0 slot2=3,4 T 25600 17200 5 10 0 0 0 0 slot3=5,6 T 25600 17400 5 10 0 0 0 0 slot4=9,8 T 25600 17600 5 10 0 0 0 0 slot5=11,10 T 25600 17800 5 10 0 0 0 0 slot6=13,12 L 25800 15800 25300 15500 3 0 0 0 -1 -1 L 25300 16100 25300 15800 3 0 0 0 -1 -1 L 25300 15800 25300 15500 3 0 0 0 -1 -1 P 25300 15800 25000 15800 1 { T 25100 15850 5 8 1 1 0 0 pin1=1 } T 25300 15300 9 8 1 0 0 0 7407 P 26100 15800 25800 15800 1 { T 25885 15850 5 8 1 1 0 0 pin2=2 } L 25488 15613 25619 15906 3 0 0 0 -1 -1 ] C 26500 14600 1 0 0 EMBEDDED7408-1.sym [ L 26800 14800 26800 15400 3 0 0 0 -1 -1 T 26800 14600 9 8 1 0 0 0 7408 L 26800 15400 27200 15400 3 0 0 0 -1 -1 T 27200 15500 5 10 0 0 0 0 device=7408 T 27200 15700 5 10 0 0 0 0 slot=1 T 27200 15900 5 10 0 0 0 0 numslots=4 T 27200 16100 5 10 0 0 0 0 slot1=1,2,3 T 27200 16300 5 10 0 0 0 0 slot2=4,5,6 T 27200 16500 5 10 0 0 0 0 slot3=9,10,8 T 27200 16700 5 10 0 0 0 0 slot4=12,13,11 L 26800 14800 27200 14800 3 0 0 0 -1 -1 A 27200 15100 300 -90 180 3 0 0 0 -1 -1 P 27500 15100 27800 15100 1 { T 27585 15150 5 8 1 1 0 0 pin3=3 } P 26800 15300 26500 15300 1 { T 26600 15350 5 8 1 1 0 0 pin1=1 } P 26800 14900 26500 14900 1 { T 26600 14950 5 8 1 1 0 0 pin2=2 } ] C 24900 13700 1 0 0 EMBEDDED7410-1.sym [ L 25200 13900 25200 14500 3 0 0 0 -1 -1 L 25200 14500 25600 14500 3 0 0 0 -1 -1 T 25500 14600 5 10 0 0 0 0 device=7410 T 25500 14800 5 10 0 0 0 0 slot=1 T 25500 15000 5 10 0 0 0 0 numslots=3 T 25500 15200 5 10 0 0 0 0 slot1=1,2,13,12 T 25500 15400 5 10 0 0 0 0 slot2=3,4,5,6 T 25500 15600 5 10 0 0 0 0 slot3=9,10,11,8 L 25200 13900 25600 13900 3 0 0 0 -1 -1 A 25600 14200 300 -90 180 3 0 0 0 -1 -1 V 25950 14200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 26000 14200 26200 14200 1 { T 25985 14250 5 8 1 1 0 0 pin4=12 } P 25200 13800 24900 13800 1 { T 25000 13850 5 8 1 1 0 0 pin3=13 } P 25200 14600 24900 14600 1 { T 25000 14650 5 8 1 1 0 0 pin1=1 } P 25200 14200 24900 14200 1 { T 25000 14250 5 8 1 1 0 0 pin2=2 } T 25300 13700 9 8 1 0 0 0 7410 L 25200 13900 25200 13700 3 0 0 0 -1 -1 L 25200 14700 25200 14500 3 0 0 0 -1 -1 ] C 26600 13100 1 0 0 EMBEDDED7411-1.sym [ L 26900 13900 27300 13900 3 0 0 0 -1 -1 T 27200 14000 5 10 0 0 0 0 device=7411 T 27200 14200 5 10 0 0 0 0 slot=1 T 27200 14400 5 10 0 0 0 0 numslots=3 T 27200 14600 5 10 0 0 0 0 slot1=1,2,13,12 T 27200 14800 5 10 0 0 0 0 slot2=3,4,5,6 T 27200 15000 5 10 0 0 0 0 slot3=9,10,11,8 L 26900 13300 27300 13300 3 0 0 0 -1 -1 A 27300 13600 300 -90 180 3 0 0 0 -1 -1 P 27600 13600 27900 13600 1 { T 27685 13650 5 8 1 1 0 0 pin4=12 } P 26900 14000 26600 14000 1 { T 26700 14050 5 8 1 1 0 0 pin1=1 } P 26900 13200 26600 13200 1 { T 26700 13250 5 8 1 1 0 0 pin3=13 } P 26900 13600 26600 13600 1 { T 26700 13650 5 8 1 1 0 0 pin2=2 } L 26900 13900 26900 13300 3 0 0 0 -1 -1 L 26900 13300 26900 13100 3 0 0 0 -1 -1 L 26900 14100 26900 13900 3 0 0 0 -1 -1 T 27000 13100 9 8 1 0 0 0 7411 ] C 29400 18100 1 0 0 EMBEDDED74191-1.sym [ P 31100 20200 31400 20200 1 { T 31185 20250 5 8 1 1 0 0 pin3=3 } P 31100 19900 31400 19900 1 { T 31185 19950 5 8 1 1 0 0 pin2=2 } P 31100 19600 31400 19600 1 { T 31185 19650 5 8 1 1 0 0 pin6=6 } P 31100 19300 31400 19300 1 { T 31185 19350 5 8 1 1 0 0 pin7=7 } P 31100 18700 31400 18700 1 { T 31185 18750 5 8 1 1 0 0 pin12=12 } P 29400 20200 29700 20200 1 { T 29500 20250 5 8 1 1 0 0 pin15=15 } P 29400 19900 29700 19900 1 { T 29500 19950 5 8 1 1 0 0 pin1=1 } P 29400 19600 29700 19600 1 { T 29500 19650 5 8 1 1 0 0 pin10=10 } P 29400 19300 29700 19300 1 { T 29500 19350 5 8 1 1 0 0 pin9=9 } P 29900 18400 29900 18100 1 { T 29760 18200 5 8 1 1 0 0 pin5=5 } P 30900 18400 30900 18100 1 { T 30700 18200 5 8 1 1 0 0 pin14=14 } T 29749 20198 9 8 1 0 0 0 A T 29749 19900 9 8 1 0 0 0 B T 29749 19602 9 8 1 0 0 0 C T 29749 19298 9 8 1 0 0 0 D T 29770 19001 9 8 1 0 0 0 LOAD T 29800 18500 9 8 1 0 0 0 DU T 30153 18500 9 8 1 0 0 0 CTEN T 30700 18500 9 8 1 0 0 0 CLK T 30826 18697 9 8 1 0 0 0 EC T 30700 19000 9 8 1 0 0 0 RCO T 30826 20199 9 8 1 0 0 0 QA T 30826 19900 9 8 1 0 0 0 QB T 30826 19601 9 8 1 0 0 0 QC T 30826 19302 9 8 1 0 0 0 QD T 29700 20600 9 10 1 0 0 0 74191 V 31150 19000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 29650 19000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 29400 19000 29600 19000 1 { T 29500 19050 5 8 1 1 0 0 pin11=11 } P 31400 19000 31200 19000 1 { T 31185 19050 5 8 1 1 0 0 pin13=13 } V 30400 18350 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 30400 18300 30400 18100 1 { T 30260 18200 5 8 1 1 0 0 pin4=4 } B 29700 18400 1400 2100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 31500 20500 5 10 0 0 0 0 device=74191 ] C 27400 16600 1 0 0 EMBEDDED74265-1.sym [ L 27700 17400 28200 17100 3 0 0 0 -1 -1 T 27900 17400 5 10 0 0 0 0 device=74265 L 28200 17100 27700 16800 3 0 0 0 -1 -1 L 27700 17400 27700 17100 3 0 0 0 -1 -1 L 27700 17100 27700 16800 3 0 0 0 -1 -1 V 28003 16896 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 27700 17100 27400 17100 1 T 27700 16600 9 8 1 0 0 0 74265 P 28300 16900 28060 16900 1 P 28300 17300 28000 17300 1 ] C 28000 15300 1 0 0 EMBEDDED7432-1.sym [ L 28260 15500 28600 15500 3 0 0 0 -1 -1 L 28260 16100 28600 16100 3 0 0 0 -1 -1 T 28600 16200 5 10 0 0 0 0 device=7432 T 28600 16400 5 10 0 0 0 0 slot=1 T 28600 16600 5 10 0 0 0 0 numslots=4 T 28600 16800 5 10 0 0 0 0 slot1=1,2,3 T 28600 17000 5 10 0 0 0 0 slot2=4,5,6 T 28600 17200 5 10 0 0 0 0 slot3=9,10,8 T 28600 17400 5 10 0 0 0 0 slot4=12,13,11 T 28300 15300 9 8 1 0 0 0 7432 A 28000 15800 400 -48 97 3 0 0 0 -1 -1 P 28300 16000 28000 16000 1 { T 28100 16050 5 8 1 1 0 0 pin1=1 } P 28300 15600 28000 15600 1 { T 28100 15650 5 8 1 1 0 0 pin2=2 } P 29300 15800 28988 15800 1 { T 29085 15850 5 8 1 1 0 0 pin3=3 } A 28600 15900 400 270 76 3 0 0 0 -1 -1 A 28600 15700 400 90 -76 3 0 0 0 -1 -1 ] C 35200 19100 1 0 0 EMBEDDED74541-1.sym [ P 35200 21800 35500 21800 1 { T 35342 21850 5 8 1 1 0 0 pin2=2 } P 35200 21500 35500 21500 1 { T 35342 21550 5 8 1 1 0 0 pin3=3 } P 35200 21200 35500 21200 1 { T 35342 21250 5 8 1 1 0 0 pin4=4 } P 35200 20900 35500 20900 1 { T 35342 20950 5 8 1 1 0 0 pin5=5 } T 35500 22100 9 10 1 0 0 0 74541 V 35800 19350 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 35800 19300 35800 19100 1 { T 35684 19201 5 8 1 1 0 0 pin1=1 } T 35560 21800 9 8 1 0 0 0 A1 T 35560 21500 9 8 1 0 0 0 A2 T 35560 21200 9 8 1 0 0 0 A3 T 35560 20900 9 8 1 0 0 0 A4 T 35560 20300 9 8 1 0 0 0 A6 T 35560 20000 9 8 1 0 0 0 A7 T 35560 19700 9 8 1 0 0 0 A8 P 35200 20600 35500 20600 1 { T 35342 20650 5 8 1 1 0 0 pin6=6 } P 35200 20300 35500 20300 1 { T 35342 20350 5 8 1 1 0 0 pin7=7 } P 35200 20000 35500 20000 1 { T 35342 20050 5 8 1 1 0 0 pin8=8 } P 35200 19700 35500 19700 1 { T 35342 19750 5 8 1 1 0 0 pin9=9 } T 35560 20600 9 8 1 0 0 0 A5 T 36655 21800 9 8 1 0 0 0 Y1 T 36655 21500 9 8 1 0 0 0 Y2 T 36655 20900 9 8 1 0 0 0 Y4 T 36655 20300 9 8 1 0 0 0 Y6 T 36655 20000 9 8 1 0 0 0 Y7 T 36655 19700 9 8 1 0 0 0 Y8 T 36655 20600 9 8 1 0 0 0 Y5 V 36600 19350 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 36600 19300 36600 19100 1 { T 36399 19201 5 8 1 1 0 0 pin19=19 } T 35702 19460 9 8 1 0 0 0 1G T 36498 19460 9 8 1 0 0 0 2G P 36900 21800 37200 21800 1 { T 36985 21850 5 8 1 1 0 0 pin18=18 } P 36900 21500 37200 21500 1 { T 36985 21550 5 8 1 1 0 0 pin17=17 } P 36900 21200 37200 21200 1 { T 36985 21250 5 8 1 1 0 0 pin16=16 } P 36900 20900 37200 20900 1 { T 36985 20950 5 8 1 1 0 0 pin15=15 } P 36900 20600 37200 20600 1 { T 36985 20650 5 8 1 1 0 0 pin14=14 } P 36900 20300 37200 20300 1 { T 36985 20350 5 8 1 1 0 0 pin13=13 } P 36900 20000 37200 20000 1 { T 36985 20050 5 8 1 1 0 0 pin12=12 } P 36900 19700 37200 19700 1 { T 36985 19750 5 8 1 1 0 0 pin11=11 } T 36655 21200 9 8 1 0 0 0 Y3 B 35500 19400 1400 2600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 37500 21800 5 10 0 0 0 0 device=74541 ] C 31700 19300 1 0 0 EMBEDDED7474-1.sym [ L 32000 20000 32100 19900 3 0 0 0 -1 -1 L 32100 19900 32000 19800 3 0 0 0 -1 -1 T 32100 20000 9 8 1 0 0 0 CLK T 32800 20900 9 8 1 0 0 0 Q T 32100 20900 9 8 1 0 0 0 D T 32748 19900 9 8 1 0 0 0 /Q T 32600 19400 9 8 1 0 0 0 7474 B 32000 19600 1000 1600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 33500 21100 5 10 0 0 0 0 device=7474 T 33500 20300 5 10 0 0 0 0 slot=1 T 33500 20500 5 10 0 0 0 0 numslots=2 T 33500 20700 5 10 0 0 0 0 slot1=1,2,3,4,5,6 T 33500 20900 5 10 0 0 0 0 slot2=10,12,11,13,9,8 T 32356 20999 9 8 1 0 0 0 CLR T 32356 19701 9 8 1 0 0 0 PRE P 32000 19900 31700 19900 1 { T 31800 19950 5 8 1 1 0 0 pin3=3 } P 32000 20900 31700 20900 1 { T 31800 20950 5 8 1 1 0 0 pin2=2 } P 33300 20900 33000 20900 1 { T 33085 20950 5 8 1 1 0 0 pin5=5 } P 32500 21300 32500 21500 1 { T 32300 21300 5 8 1 1 0 0 pin4=4 } P 32500 19300 32500 19500 1 { T 32300 19400 5 8 1 1 0 0 pin1=1 } P 33100 19900 33300 19900 1 { T 33130 19950 5 8 1 1 0 0 pin6=6 } V 33050 19900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 32500 21250 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 32500 19550 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 ] C 28200 13700 1 0 0 EMBEDDED7486-1.sym [ L 28460 13900 28800 13900 3 0 0 0 -1 -1 L 28460 14500 28800 14500 3 0 0 0 -1 -1 T 28900 14600 5 10 0 0 0 0 device=7486 T 28900 14800 5 10 0 0 0 0 slot=1 T 28900 15000 5 10 0 0 0 0 numslots=4 T 28900 15200 5 10 0 0 0 0 slot1=1,2,3 T 28900 15400 5 10 0 0 0 0 slot2=4,5,6 T 28900 15600 5 10 0 0 0 0 slot3=9,10,8 T 28900 15800 5 10 0 0 0 0 slot4=12,13,11 A 28200 14200 400 -48 97 3 0 0 0 -1 -1 A 28100 14200 400 -48 97 3 0 0 0 -1 -1 T 28500 13700 9 8 1 0 0 0 7486 P 28500 14400 28200 14400 1 { T 28240 14450 5 8 1 1 0 0 pin1=1 } P 28500 14000 28200 14000 1 { T 28240 14050 5 8 1 1 0 0 pin2=2 } P 29188 14200 29500 14200 1 { T 29285 14250 5 8 1 1 0 0 pin3=3 } A 28800 14300 400 270 76 3 0 0 0 -1 -1 A 28800 14100 400 90 -76 3 0 0 0 -1 -1 ] C 47400 23300 1 0 0 EMBEDDED74541-1.sym [ P 47400 26000 47700 26000 1 { T 47542 26050 5 8 1 1 0 0 pin2=2 } P 47400 25700 47700 25700 1 { T 47542 25750 5 8 1 1 0 0 pin3=3 } P 47400 25400 47700 25400 1 { T 47542 25450 5 8 1 1 0 0 pin4=4 } P 47400 25100 47700 25100 1 { T 47542 25150 5 8 1 1 0 0 pin5=5 } T 47700 26300 9 10 1 0 0 0 74541 V 48000 23550 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 48000 23500 48000 23300 1 { T 47884 23401 5 8 1 1 0 0 pin1=1 } T 47760 26000 9 8 1 0 0 0 A1 T 47760 25700 9 8 1 0 0 0 A2 T 47760 25400 9 8 1 0 0 0 A3 T 47760 25100 9 8 1 0 0 0 A4 T 47760 24500 9 8 1 0 0 0 A6 T 47760 24200 9 8 1 0 0 0 A7 T 47760 23900 9 8 1 0 0 0 A8 P 47400 24800 47700 24800 1 { T 47542 24850 5 8 1 1 0 0 pin6=6 } P 47400 24500 47700 24500 1 { T 47542 24550 5 8 1 1 0 0 pin7=7 } P 47400 24200 47700 24200 1 { T 47542 24250 5 8 1 1 0 0 pin8=8 } P 47400 23900 47700 23900 1 { T 47542 23950 5 8 1 1 0 0 pin9=9 } T 47760 24800 9 8 1 0 0 0 A5 T 48855 26000 9 8 1 0 0 0 Y1 T 48855 25700 9 8 1 0 0 0 Y2 T 48855 25100 9 8 1 0 0 0 Y4 T 48855 24500 9 8 1 0 0 0 Y6 T 48855 24200 9 8 1 0 0 0 Y7 T 48855 23900 9 8 1 0 0 0 Y8 T 48855 24800 9 8 1 0 0 0 Y5 V 48800 23550 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 48800 23500 48800 23300 1 { T 48599 23401 5 8 1 1 0 0 pin19=19 } T 47902 23660 9 8 1 0 0 0 1G T 48698 23660 9 8 1 0 0 0 2G P 49100 26000 49400 26000 1 { T 49185 26050 5 8 1 1 0 0 pin18=18 } P 49100 25700 49400 25700 1 { T 49185 25750 5 8 1 1 0 0 pin17=17 } P 49100 25400 49400 25400 1 { T 49185 25450 5 8 1 1 0 0 pin16=16 } P 49100 25100 49400 25100 1 { T 49185 25150 5 8 1 1 0 0 pin15=15 } P 49100 24800 49400 24800 1 { T 49185 24850 5 8 1 1 0 0 pin14=14 } P 49100 24500 49400 24500 1 { T 49185 24550 5 8 1 1 0 0 pin13=13 } P 49100 24200 49400 24200 1 { T 49185 24250 5 8 1 1 0 0 pin12=12 } P 49100 23900 49400 23900 1 { T 49185 23950 5 8 1 1 0 0 pin11=11 } T 48855 25400 9 8 1 0 0 0 Y3 B 47700 23600 1400 2600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 49700 26000 5 10 0 0 0 0 device=74541 ] C 44900 19700 1 0 0 EMBEDDED74138-1.sym [ P 44900 22000 45200 22000 1 { T 45000 22050 5 8 1 1 0 0 pin1=1 } T 45260 22000 9 8 1 0 0 0 A P 44900 21700 45200 21700 1 { T 45000 21750 5 8 1 1 0 0 pin2=2 } T 45260 21700 9 8 1 0 0 0 B P 44900 21400 45200 21400 1 { T 45000 21450 5 8 1 1 0 0 pin3=3 } T 45260 21400 9 8 1 0 0 0 C V 45150 20200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 44900 20200 45100 20200 1 { T 45000 20250 5 8 1 1 0 0 pin4=4 } T 45260 20200 9 8 1 0 0 0 G2A V 45150 19900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 44900 19900 45100 19900 1 { T 45000 19950 5 8 1 1 0 0 pin5=5 } T 45260 19900 9 8 1 0 0 0 G2B P 44900 20500 45200 20500 1 { T 45000 20550 5 8 1 1 0 0 pin6=6 } T 45260 20500 9 8 1 0 0 0 G1 T 46360 19900 9 8 1 0 0 0 Y7 V 46650 22000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 46700 22000 46900 22000 1 { T 46685 22050 5 8 1 1 0 0 pin15=15 } T 46360 22000 9 8 1 0 0 0 Y0 V 46650 21700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 46700 21700 46900 21700 1 { T 46685 21750 5 8 1 1 0 0 pin14=14 } T 46360 21700 9 8 1 0 0 0 Y1 V 46650 21400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 46700 21400 46900 21400 1 { T 46685 21450 5 8 1 1 0 0 pin13=13 } T 46360 21400 9 8 1 0 0 0 Y2 V 46650 21100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 46700 21100 46900 21100 1 { T 46685 21150 5 8 1 1 0 0 pin12=12 } T 46360 21100 9 8 1 0 0 0 Y3 V 46650 20800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 46700 20800 46900 20800 1 { T 46685 20850 5 8 1 1 0 0 pin11=11 } T 46360 20800 9 8 1 0 0 0 Y4 V 46650 20500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 46700 20500 46900 20500 1 { T 46685 20550 5 8 1 1 0 0 pin10=10 } T 46360 20500 9 8 1 0 0 0 Y5 V 46650 20200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 46700 20200 46900 20200 1 { T 46685 20250 5 8 1 1 0 0 pin9=9 } T 46360 20200 9 8 1 0 0 0 Y6 T 45200 22340 9 10 1 0 0 0 74138 P 46700 19900 46900 19900 1 { T 46685 19950 5 8 1 1 0 0 pin7=7 } V 46650 19900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 45200 19700 1400 2600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 46700 22300 5 10 0 0 0 0 device=74138 ] C 35500 23100 1 0 0 EMBEDDED74139-1.sym [ V 35750 25500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 35500 25500 35700 25500 1 { T 35600 25550 5 8 1 1 0 0 pin1=1 } T 35860 25500 9 8 1 0 0 0 G1 P 35500 25200 35800 25200 1 { T 35600 25250 5 8 1 1 0 0 pin2=2 } T 35860 25200 9 8 1 0 0 0 A1 P 35500 24900 35800 24900 1 { T 35600 24950 5 8 1 1 0 0 pin3=3 } T 35860 24900 9 8 1 0 0 0 B1 V 37250 25500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 37300 25500 37500 25500 1 { T 37285 25550 5 8 1 1 0 0 pin4=4 } T 36860 25500 9 8 1 0 0 0 1Y0 V 37250 25200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 37300 25200 37500 25200 1 { T 37285 25250 5 8 1 1 0 0 pin5=5 } T 36860 25200 9 8 1 0 0 0 1Y1 V 37250 24900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 37300 24900 37500 24900 1 { T 37285 24950 5 8 1 1 0 0 pin6=6 } T 36860 24900 9 8 1 0 0 0 1Y2 V 37250 24600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 37300 24600 37500 24600 1 { T 37285 24650 5 8 1 1 0 0 pin7=7 } T 36860 24600 9 8 1 0 0 0 1Y3 V 35750 24200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 35500 24200 35700 24200 1 { T 35600 24250 5 8 1 1 0 0 pin15=15 } T 35860 24200 9 8 1 0 0 0 G2 P 35500 23900 35800 23900 1 { T 35600 23950 5 8 1 1 0 0 pin14=14 } T 35860 23900 9 8 1 0 0 0 A2 P 35500 23600 35800 23600 1 { T 35600 23650 5 8 1 1 0 0 pin13=13 } T 35860 23600 9 8 1 0 0 0 B2 V 37250 24200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 37300 24200 37500 24200 1 { T 37285 24250 5 8 1 1 0 0 pin12=12 } T 36860 24200 9 8 1 0 0 0 2Y0 V 37250 23900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 37300 23900 37500 23900 1 { T 37285 23950 5 8 1 1 0 0 pin11=11 } T 36860 23900 9 8 1 0 0 0 2Y1 V 37250 23600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 37300 23600 37500 23600 1 { T 37285 23650 5 8 1 1 0 0 pin10=10 } T 36860 23600 9 8 1 0 0 0 2Y2 V 37250 23300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 37300 23300 37500 23300 1 { T 37285 23350 5 8 1 1 0 0 pin9=9 } T 36860 23300 9 8 1 0 0 0 2Y3 T 35800 25840 9 10 1 0 0 0 74139 B 35800 23100 1400 2700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 37300 25800 5 10 0 0 0 0 device=74139 ] C 45000 23000 1 0 0 EMBEDDED74151-1.sym [ P 45000 24800 45300 24800 1 { T 45100 24850 5 8 1 1 0 0 pin1=1 } T 45360 24800 9 8 1 0 0 0 3 T 45480 24722 9 8 1 0 0 0 IN P 45000 25100 45300 25100 1 { T 45100 25150 5 8 1 1 0 0 pin2=2 } T 45360 25100 9 8 1 0 0 0 2 T 45480 25022 9 8 1 0 0 0 IN P 45000 25400 45300 25400 1 { T 45100 25450 5 8 1 1 0 0 pin3=3 } T 45380 25400 9 8 1 0 0 0 1 T 45480 25322 9 8 1 0 0 0 IN P 45000 25700 45300 25700 1 { T 45100 25750 5 8 1 1 0 0 pin4=4 } T 45360 25700 9 8 1 0 0 0 0 T 45480 25622 9 8 1 0 0 0 IN P 46700 25700 47000 25700 1 { T 46785 25750 5 8 1 1 0 0 pin5=5 } T 46160 25700 9 8 1 0 0 0 Y T 46300 25622 9 8 1 0 0 0 OUT V 46750 24300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 46800 24300 47000 24300 1 { T 46785 24350 5 8 1 1 0 0 pin6=6 } T 46140 24300 9 8 1 0 0 0 W T 46300 24222 9 8 1 0 0 0 OUT V 45250 23200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 45000 23200 45200 23200 1 { T 45100 23250 5 8 1 1 0 0 pin7=7 } T 45360 23200 9 8 1 0 0 0 STROBE P 45000 24500 45300 24500 1 { T 45100 24550 5 8 1 1 0 0 pin15=15 } T 45360 24500 9 8 1 0 0 0 4 T 45480 24422 9 8 1 0 0 0 IN P 45000 24200 45300 24200 1 { T 45100 24250 5 8 1 1 0 0 pin14=14 } T 45360 24200 9 8 1 0 0 0 5 T 45480 24122 9 8 1 0 0 0 IN P 45000 23900 45300 23900 1 { T 45100 23950 5 8 1 1 0 0 pin13=13 } T 45360 23900 9 8 1 0 0 0 6 T 45480 23822 9 8 1 0 0 0 IN P 45000 23600 45300 23600 1 { T 45100 23650 5 8 1 1 0 0 pin12=12 } T 45360 23600 9 8 1 0 0 0 7 T 45480 23522 9 8 1 0 0 0 IN P 45000 26800 45300 26800 1 { T 45100 26850 5 8 1 1 0 0 pin11=11 } T 45360 26800 9 8 1 0 0 0 A T 45480 26722 9 8 1 0 0 0 SEL P 45000 26500 45300 26500 1 { T 45100 26550 5 8 1 1 0 0 pin10=10 } T 45360 26500 9 8 1 0 0 0 B T 45480 26422 9 8 1 0 0 0 SEL P 45000 26200 45300 26200 1 { T 45100 26250 5 8 1 1 0 0 pin9=9 } T 45360 26200 9 8 1 0 0 0 C T 45480 26122 9 8 1 0 0 0 SEL T 45300 27150 9 10 1 0 0 0 74151 B 45300 23000 1400 4100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 46800 27100 5 10 0 0 0 0 device=74151 ] C 41900 13900 1 0 0 EMBEDDED74153-1.sym [ V 42150 16900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 41900 16900 42100 16900 1 { T 42000 16950 5 8 1 1 0 0 pin1=1 } T 42260 16900 9 8 1 0 0 0 EN T 42520 16822 9 8 1 0 0 0 1G P 41900 17300 42200 17300 1 { T 42000 17350 5 8 1 1 0 0 pin2=2 } T 42260 17300 9 8 1 0 0 0 B T 42380 17222 9 8 1 0 0 0 SEL P 41900 15700 42200 15700 1 { T 42000 15750 5 8 1 1 0 0 pin3=3 } T 42260 15700 9 8 1 0 0 0 1C3 T 42600 15622 9 8 1 0 0 0 IN P 41900 16000 42200 16000 1 { T 42000 16050 5 8 1 1 0 0 pin4=4 } T 42260 16000 9 8 1 0 0 0 1C2 T 42600 15922 9 8 1 0 0 0 IN P 41900 16300 42200 16300 1 { T 42000 16350 5 8 1 1 0 0 pin5=5 } T 42260 16300 9 8 1 0 0 0 1C1 T 42600 16222 9 8 1 0 0 0 IN P 41900 16600 42200 16600 1 { T 42000 16650 5 8 1 1 0 0 pin6=6 } T 42260 16600 9 8 1 0 0 0 1C0 T 42600 16522 9 8 1 0 0 0 IN P 43600 16900 43900 16900 1 { T 43685 16950 5 8 1 1 0 0 pin7=7 } T 43000 16900 9 8 1 0 0 0 1Y T 43200 16822 9 8 1 0 0 0 OUT V 42150 15300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 41900 15300 42100 15300 1 { T 41985 15350 5 8 1 1 0 0 pin15=15 } T 42260 15300 9 8 1 0 0 0 EN T 42520 15222 9 8 1 0 0 0 2G P 41900 17600 42200 17600 1 { T 42000 17650 5 8 1 1 0 0 pin14=14 } T 42260 17600 9 8 1 0 0 0 A T 42380 17522 9 8 1 0 0 0 SEL P 41900 14100 42200 14100 1 { T 42000 14150 5 8 1 1 0 0 pin13=13 } T 42260 14100 9 8 1 0 0 0 2C3 T 42600 14022 9 8 1 0 0 0 IN P 41900 14400 42200 14400 1 { T 42000 14450 5 8 1 1 0 0 pin12=12 } T 42260 14400 9 8 1 0 0 0 2C2 T 42600 14322 9 8 1 0 0 0 IN P 41900 14700 42200 14700 1 { T 42000 14750 5 8 1 1 0 0 pin11=11 } T 42260 14700 9 8 1 0 0 0 2C1 T 42600 14622 9 8 1 0 0 0 IN P 41900 15000 42200 15000 1 { T 42000 15050 5 8 1 1 0 0 pin10=10 } T 42260 15000 9 8 1 0 0 0 2C0 T 42600 14922 9 8 1 0 0 0 IN P 43600 15300 43900 15300 1 { T 43685 15350 5 8 1 1 0 0 pin9=9 } T 43000 15300 9 8 1 0 0 0 2Y T 43200 15222 9 8 1 0 0 0 OUT T 42200 17950 9 10 1 0 0 0 74153 B 42200 13900 1400 4000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 43700 17900 5 10 0 0 0 0 device=74153 ] C 42700 18400 1 0 0 EMBEDDED74154-1.sym [ P 44400 23100 44700 23100 1 { T 44485 23150 5 8 1 1 0 0 pin1=1 } T 44090 23100 9 8 1 0 0 0 Y0 P 44400 22800 44700 22800 1 { T 44485 22850 5 8 1 1 0 0 pin2=2 } T 44090 22800 9 8 1 0 0 0 Y1 P 44400 22500 44700 22500 1 { T 44485 22550 5 8 1 1 0 0 pin3=3 } T 44090 22500 9 8 1 0 0 0 Y2 P 44400 22200 44700 22200 1 { T 44485 22250 5 8 1 1 0 0 pin4=4 } T 44090 22200 9 8 1 0 0 0 Y3 P 44400 21900 44700 21900 1 { T 44485 21950 5 8 1 1 0 0 pin5=5 } T 44090 21900 9 8 1 0 0 0 Y4 P 44400 21600 44700 21600 1 { T 44485 21650 5 8 1 1 0 0 pin6=6 } T 44090 21600 9 8 1 0 0 0 Y5 P 44400 21300 44700 21300 1 { T 44485 21350 5 8 1 1 0 0 pin7=7 } T 44090 21300 9 8 1 0 0 0 Y6 P 44400 21000 44700 21000 1 { T 44485 21050 5 8 1 1 0 0 pin8=8 } T 44090 21000 9 8 1 0 0 0 Y7 P 44400 20700 44700 20700 1 { T 44485 20750 5 8 1 1 0 0 pin9=9 } T 44090 20700 9 8 1 0 0 0 Y8 P 44400 20400 44700 20400 1 { T 44485 20450 5 8 1 1 0 0 pin10=10 } T 44090 20400 9 8 1 0 0 0 Y9 P 44400 20100 44700 20100 1 { T 44485 20150 5 8 1 1 0 0 pin11=11 } T 44090 20100 9 8 1 0 0 0 Y10 P 42700 23100 43000 23100 1 { T 42785 23150 5 8 1 1 0 0 pin23=23 } T 43060 23100 9 8 1 0 0 0 A T 43180 23022 9 8 1 0 0 0 SEL P 42700 22800 43000 22800 1 { T 42785 22850 5 8 1 1 0 0 pin22=22 } T 43060 22800 9 8 1 0 0 0 B T 43180 22722 9 8 1 0 0 0 SEL P 42700 22500 43000 22500 1 { T 42785 22550 5 8 1 1 0 0 pin21=21 } T 43060 22500 9 8 1 0 0 0 C T 43180 22422 9 8 1 0 0 0 SEL P 42700 22200 43000 22200 1 { T 42785 22250 5 8 1 1 0 0 pin20=20 } T 43060 22200 9 8 1 0 0 0 D T 43180 22122 9 8 1 0 0 0 SEL P 42700 18900 43000 18900 1 { T 42785 18950 5 8 1 1 0 0 pin19=19 } T 43090 18900 9 8 1 0 0 0 G2 P 42700 18600 43000 18600 1 { T 42785 18650 5 8 1 1 0 0 pin18=18 } T 43090 18600 9 8 1 0 0 0 G1 P 44400 18600 44700 18600 1 { T 44485 18650 5 8 1 1 0 0 pin17=17 } T 44090 18600 9 8 1 0 0 0 Y15 P 44400 18900 44700 18900 1 { T 44485 18950 5 8 1 1 0 0 pin16=16 } T 44090 18900 9 8 1 0 0 0 Y14 P 44400 19200 44700 19200 1 { T 44485 19250 5 8 1 1 0 0 pin15=15 } T 44090 19200 9 8 1 0 0 0 Y13 P 44400 19500 44700 19500 1 { T 44485 19550 5 8 1 1 0 0 pin14=14 } T 44090 19500 9 8 1 0 0 0 Y12 P 44400 19800 44700 19800 1 { T 44485 19850 5 8 1 1 0 0 pin13=13 } T 44090 19800 9 8 1 0 0 0 Y11 T 43000 23450 9 10 1 0 0 0 74154 B 43000 18400 1400 5000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 44600 23400 5 10 0 0 0 0 device=74154 ] C 48900 15600 1 0 0 EMBEDDED74161-1.sym [ V 49150 16100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 48900 16100 49100 16100 1 { T 49000 16150 5 8 1 1 0 0 pin1=1 } T 49260 16100 9 8 1 0 0 0 CLR P 48900 15800 49200 15800 1 { T 49000 15850 5 8 1 1 0 0 pin2=2 } T 49260 15800 9 8 1 0 0 0 CLK P 48900 18300 49200 18300 1 { T 49000 18350 5 8 1 1 0 0 pin3=3 } T 49260 18300 9 8 1 0 0 0 A P 48900 18000 49200 18000 1 { T 49000 18050 5 8 1 1 0 0 pin4=4 } T 49260 18000 9 8 1 0 0 0 B P 48900 17700 49200 17700 1 { T 49000 17750 5 8 1 1 0 0 pin5=5 } T 49260 17700 9 8 1 0 0 0 C P 48900 17400 49200 17400 1 { T 49000 17450 5 8 1 1 0 0 pin6=6 } T 49260 17400 9 8 1 0 0 0 D P 48900 16700 49200 16700 1 { T 49000 16750 5 8 1 1 0 0 pin7=7 } T 49260 16700 9 8 1 0 0 0 EN T 49490 16622 9 8 1 0 0 0 P P 50600 15800 50900 15800 1 { T 50685 15850 5 8 1 1 0 0 pin15=15 } T 49970 15800 9 8 1 0 0 0 CARRY P 50600 18300 50900 18300 1 { T 50685 18350 5 8 1 1 0 0 pin14=14 } T 50340 18300 9 8 1 0 0 0 Q T 50460 18222 9 8 1 0 0 0 A P 50600 18000 50900 18000 1 { T 50685 18050 5 8 1 1 0 0 pin13=13 } T 50340 18000 9 8 1 0 0 0 Q T 50460 17922 9 8 1 0 0 0 B P 50600 17700 50900 17700 1 { T 50685 17750 5 8 1 1 0 0 pin12=12 } T 50340 17700 9 8 1 0 0 0 Q T 50460 17622 9 8 1 0 0 0 C P 50600 17400 50900 17400 1 { T 50685 17450 5 8 1 1 0 0 pin11=11 } T 50340 17400 9 8 1 0 0 0 Q T 50460 17322 9 8 1 0 0 0 D P 48900 17000 49200 17000 1 { T 49000 17050 5 8 1 1 0 0 pin10=10 } T 49260 17000 9 8 1 0 0 0 EN T 49490 16922 9 8 1 0 0 0 T P 48900 16400 49200 16400 1 { T 49000 16450 5 8 1 1 0 0 pin9=9 } T 49260 16400 9 8 1 0 0 0 LOAD T 49200 18650 9 10 1 0 0 0 74161 B 49200 15600 1400 3000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 50700 18600 5 10 0 0 0 0 device=74161 ] C 40200 23500 1 0 0 EMBEDDED74164-1.sym [ P 40200 25800 40500 25800 1 { T 40300 25850 5 8 1 1 0 0 pin1=1 } T 40560 25800 9 8 1 0 0 0 A P 40200 25500 40500 25500 1 { T 40300 25550 5 8 1 1 0 0 pin2=2 } T 40560 25500 9 8 1 0 0 0 B P 41900 25800 42200 25800 1 { T 41985 25850 5 8 1 1 0 0 pin3=3 } T 41640 25800 9 8 1 0 0 0 Q T 41760 25722 9 8 1 0 0 0 A P 41900 25500 42200 25500 1 { T 41985 25550 5 8 1 1 0 0 pin4=4 } T 41640 25500 9 8 1 0 0 0 Q T 41760 25422 9 8 1 0 0 0 B P 41900 25200 42200 25200 1 { T 41985 25250 5 8 1 1 0 0 pin5=5 } T 41640 25200 9 8 1 0 0 0 Q T 41760 25122 9 8 1 0 0 0 C P 41900 24900 42200 24900 1 { T 41985 24950 5 8 1 1 0 0 pin6=6 } T 41640 24900 9 8 1 0 0 0 Q T 41760 24822 9 8 1 0 0 0 D P 41900 23700 42200 23700 1 { T 41985 23750 5 8 1 1 0 0 pin13=13 } T 41640 23700 9 8 1 0 0 0 Q T 41760 23622 9 8 1 0 0 0 H P 41900 24000 42200 24000 1 { T 41985 24050 5 8 1 1 0 0 pin12=12 } T 41640 24000 9 8 1 0 0 0 Q T 41760 23922 9 8 1 0 0 0 G P 41900 24300 42200 24300 1 { T 41985 24350 5 8 1 1 0 0 pin11=11 } T 41640 24300 9 8 1 0 0 0 Q T 41760 24222 9 8 1 0 0 0 F P 41900 24600 42200 24600 1 { T 41985 24650 5 8 1 1 0 0 pin10=10 } T 41640 24600 9 8 1 0 0 0 Q T 41760 24522 9 8 1 0 0 0 E V 40450 24000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 40200 24000 40400 24000 1 { T 40300 24050 5 8 1 1 0 0 pin9=9 } T 40560 24000 9 8 1 0 0 0 CLR P 40200 23700 40500 23700 1 { T 40300 23750 5 8 1 1 0 0 pin8=8 } T 40560 23700 9 8 1 0 0 0 CLK T 40500 26140 9 10 1 0 0 0 74164 B 40500 23500 1400 2600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 42000 26100 5 10 0 0 0 0 device=74164 ] C 40200 19500 1 0 0 EMBEDDED74245-1.sym [ P 40200 19600 40500 19600 1 { T 40300 19650 5 8 1 1 0 0 pin1=1 } T 40560 19600 9 8 1 0 0 0 DIR P 40200 22300 40500 22300 1 { T 40300 22350 5 8 1 1 0 0 pin2=2 } T 40560 22300 9 8 1 0 0 0 A1 P 40200 22000 40500 22000 1 { T 40300 22050 5 8 1 1 0 0 pin3=3 } T 40560 22000 9 8 1 0 0 0 A2 P 40200 21700 40500 21700 1 { T 40300 21750 5 8 1 1 0 0 pin4=4 } T 40560 21700 9 8 1 0 0 0 A3 P 40200 21400 40500 21400 1 { T 40300 21450 5 8 1 1 0 0 pin5=5 } T 40560 21400 9 8 1 0 0 0 A4 P 40200 21100 40500 21100 1 { T 40300 21150 5 8 1 1 0 0 pin6=6 } T 40560 21100 9 8 1 0 0 0 A5 P 40200 20800 40500 20800 1 { T 40300 20850 5 8 1 1 0 0 pin7=7 } T 40560 20800 9 8 1 0 0 0 A6 P 40200 20500 40500 20500 1 { T 40300 20550 5 8 1 1 0 0 pin8=8 } T 40560 20500 9 8 1 0 0 0 A7 P 40200 20200 40500 20200 1 { T 40300 20250 5 8 1 1 0 0 pin9=9 } T 40560 20200 9 8 1 0 0 0 A8 V 40450 19900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 40200 19900 40400 19900 1 { T 40300 19950 5 8 1 1 0 0 pin19=19 } T 40560 19900 9 8 1 0 0 0 ENABLE P 41900 22300 42200 22300 1 { T 41985 22350 5 8 1 1 0 0 pin18=18 } T 41660 22300 9 8 1 0 0 0 B1 P 41900 22000 42200 22000 1 { T 41985 22050 5 8 1 1 0 0 pin17=17 } T 41660 22000 9 8 1 0 0 0 B2 P 41900 21700 42200 21700 1 { T 41985 21750 5 8 1 1 0 0 pin16=16 } T 41660 21700 9 8 1 0 0 0 B3 P 41900 21400 42200 21400 1 { T 41985 21450 5 8 1 1 0 0 pin15=15 } T 41660 21400 9 8 1 0 0 0 B4 P 41900 21100 42200 21100 1 { T 41985 21150 5 8 1 1 0 0 pin14=14 } T 41660 21100 9 8 1 0 0 0 B5 P 41900 20800 42200 20800 1 { T 41985 20850 5 8 1 1 0 0 pin13=13 } T 41660 20800 9 8 1 0 0 0 B6 P 41900 20500 42200 20500 1 { T 41985 20550 5 8 1 1 0 0 pin12=12 } T 41660 20500 9 8 1 0 0 0 B7 P 41900 20200 42200 20200 1 { T 41985 20250 5 8 1 1 0 0 pin11=11 } T 41660 20200 9 8 1 0 0 0 B8 T 40500 22640 9 10 1 0 0 0 74245 B 40500 19400 1400 3200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 42100 22600 5 10 0 0 0 0 device=74245 ] C 37800 23000 1 0 0 EMBEDDED74574-1.sym [ P 37800 23500 38000 23500 1 { T 37900 23550 5 8 1 1 0 0 pin1=1 } T 38160 23500 9 8 1 0 0 0 OUT P 37800 25900 38100 25900 1 { T 37900 25950 5 8 1 1 0 0 pin2=2 } T 38160 25900 9 8 1 0 0 0 1D P 37800 25600 38100 25600 1 { T 37900 25650 5 8 1 1 0 0 pin3=3 } T 38160 25600 9 8 1 0 0 0 2D P 37800 25300 38100 25300 1 { T 37900 25350 5 8 1 1 0 0 pin4=4 } T 38160 25300 9 8 1 0 0 0 3D P 37800 25000 38100 25000 1 { T 37900 25050 5 8 1 1 0 0 pin5=5 } T 38160 25000 9 8 1 0 0 0 4D P 37800 24700 38100 24700 1 { T 37900 24750 5 8 1 1 0 0 pin6=6 } T 38160 24700 9 8 1 0 0 0 5D P 37800 24400 38100 24400 1 { T 37900 24450 5 8 1 1 0 0 pin7=7 } T 38160 24400 9 8 1 0 0 0 6D P 37800 24100 38100 24100 1 { T 37900 24150 5 8 1 1 0 0 pin8=8 } T 38160 24100 9 8 1 0 0 0 7D P 37800 23800 38100 23800 1 { T 37900 23850 5 8 1 1 0 0 pin9=9 } T 38160 23800 9 8 1 0 0 0 8D P 39500 25900 39800 25900 1 { T 39585 25950 5 8 1 1 0 0 pin19=19 } T 39260 25900 9 8 1 0 0 0 1Q P 39500 25600 39800 25600 1 { T 39585 25650 5 8 1 1 0 0 pin18=18 } T 39260 25600 9 8 1 0 0 0 2Q P 39500 25300 39800 25300 1 { T 39585 25350 5 8 1 1 0 0 pin17=17 } T 39260 25300 9 8 1 0 0 0 3Q P 39500 25000 39800 25000 1 { T 39585 25000 5 8 1 1 0 0 pin16=16 } T 39260 25000 9 8 1 0 0 0 4Q P 39500 24700 39800 24700 1 { T 39585 24750 5 8 1 1 0 0 pin15=15 } T 39260 24700 9 8 1 0 0 0 5Q P 39500 24400 39800 24400 1 { T 39585 24450 5 8 1 1 0 0 pin14=14 } T 39260 24400 9 8 1 0 0 0 6Q P 39500 24100 39800 24100 1 { T 39585 24150 5 8 1 1 0 0 pin13=13 } T 39260 24100 9 8 1 0 0 0 7Q P 39500 23800 39800 23800 1 { T 39585 23850 5 8 1 1 0 0 pin12=12 } T 39260 23800 9 8 1 0 0 0 8Q P 37800 23200 38100 23200 1 { T 37900 23250 5 8 1 1 0 0 pin11=11 } T 38160 23200 9 8 1 0 0 0 CLOCK T 38100 26240 9 10 1 0 0 0 74574 B 38100 23000 1400 3200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 39600 26200 5 10 0 0 0 0 device=74574 V 38050 23500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 ] C 37800 19600 1 0 0 EMBEDDED74123-1.sym [ P 37800 21900 38100 21900 1 { T 37900 21950 5 8 1 1 0 0 pin1=1 } T 38160 21900 9 8 1 0 0 0 A1 P 37800 21600 38100 21600 1 { T 37900 21650 5 8 1 1 0 0 pin2=2 } T 38160 21600 9 8 1 0 0 0 B1 V 38050 21300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 37800 21300 38000 21300 1 { T 37900 21350 5 8 1 1 0 0 pin3=3 } T 38160 21300 9 8 1 0 0 0 CLR1 V 38050 21000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 37800 21000 38000 21000 1 { T 37900 21050 5 8 1 1 0 0 pin4=4 } T 38160 21000 9 8 1 0 0 0 Q1 P 37800 20600 38100 20600 1 { T 37900 20650 5 8 1 1 0 0 pin5=5 } T 38160 20600 9 8 1 0 0 0 Q2 P 37800 20300 38100 20300 1 { T 37900 20350 5 8 1 1 0 0 pin6=6 } T 38160 20300 9 8 1 0 0 0 C T 38290 20222 9 8 1 0 0 0 EXT2 P 37800 20000 38100 20000 1 { T 37900 20050 5 8 1 1 0 0 pin7=7 } T 38160 20000 9 8 1 0 0 0 R T 38290 19922 9 8 1 0 0 0 EXT2 P 39500 21900 39800 21900 1 { T 39585 21950 5 8 1 1 0 0 pin15=15 } T 38930 21900 9 8 1 0 0 0 R T 39070 21822 9 8 1 0 0 0 EXT1 P 39500 21600 39800 21600 1 { T 39585 21650 5 8 1 1 0 0 pin14=14 } T 38930 21600 9 8 1 0 0 0 C T 39070 21522 9 8 1 0 0 0 EXT1 P 39500 21300 39800 21300 1 { T 39585 21350 5 8 1 1 0 0 pin13=13 } T 39200 21300 9 8 1 0 0 0 Q1 V 39550 20900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 39600 20900 39800 20900 1 { T 39585 20950 5 8 1 1 0 0 pin12=12 } T 39200 20900 9 8 1 0 0 0 Q2 V 39550 20600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 39600 20600 39800 20600 1 { T 39585 20650 5 8 1 1 0 0 pin11=11 } T 39000 20600 9 8 1 0 0 0 CLR2 P 39500 20300 39800 20300 1 { T 39585 20350 5 8 1 1 0 0 pin10=10 } T 39200 20300 9 8 1 0 0 0 B2 P 39500 20000 39800 20000 1 { T 39585 20050 5 8 1 1 0 0 pin9=9 } T 39200 20000 9 8 1 0 0 0 A2 T 38100 22340 9 10 1 0 0 0 74123 B 38100 19600 1400 2700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 38400 19700 9 4 1 0 0 0 Symbol Unfinished ] C 18300 16500 1 0 0 EMBEDDEDzener-1.sym [ L 18600 16900 18600 16500 3 0 0 0 -1 -1 L 18900 16700 18600 16500 3 0 0 0 -1 -1 L 18900 16700 18600 16900 3 0 0 0 -1 -1 T 18700 17100 5 10 0 0 0 0 device=ZENER DIODE L 18900 16900 18900 16500 3 0 0 0 -1 -1 P 19200 16700 19000 16700 1 { T 19000 16750 5 8 0 1 0 0 pin2=2 } P 18500 16700 18300 16700 1 { T 18400 16750 5 8 0 1 0 0 pin1=1 } L 19000 16700 18900 16700 3 0 0 0 -1 -1 L 18600 16700 18500 16700 3 0 0 0 -1 -1 L 18900 16900 18800 16900 3 0 0 0 -1 -1 L 18900 16500 19000 16500 3 0 0 0 -1 -1 ] C 18400 15800 1 0 0 EMBEDDEDdiode-1.sym [ L 18700 16200 18700 15800 3 0 0 0 -1 -1 L 18700 16200 19000 16000 3 0 0 0 -1 -1 T 18800 16400 5 10 0 0 0 0 device=DIODE L 19000 16000 18700 15800 3 0 0 0 -1 -1 L 19000 16200 19000 15800 3 0 0 0 -1 -1 P 18400 16000 18600 16000 1 { T 18500 16050 5 8 0 1 0 0 pin1=1 } P 19300 16000 19100 16000 1 { T 19100 16050 5 8 0 1 0 0 pin2=2 } L 19100 16000 19000 16000 3 0 0 0 -1 -1 L 18700 16000 18600 16000 3 0 0 0 -1 -1 ] C 35300 12400 1 0 0 EMBEDDED27512-1.sym [ P 35300 13300 35600 13300 1 { T 35400 13350 5 8 1 1 0 0 pin1=1 } T 35660 13300 9 8 1 0 0 0 A15 P 35300 14200 35600 14200 1 { T 35400 14250 5 8 1 1 0 0 pin2=2 } T 35660 14200 9 8 1 0 0 0 A12 P 35300 15700 35600 15700 1 { T 35400 15750 5 8 1 1 0 0 pin3=3 } T 35660 15700 9 8 1 0 0 0 A7 P 35300 16000 35600 16000 1 { T 35400 16050 5 8 1 1 0 0 pin4=4 } T 35660 16000 9 8 1 0 0 0 A6 P 35300 16300 35600 16300 1 { T 35400 16350 5 8 1 1 0 0 pin5=5 } T 35660 16300 9 8 1 0 0 0 A5 P 35300 16600 35600 16600 1 { T 35400 16650 5 8 1 1 0 0 pin6=6 } T 35660 16600 9 8 1 0 0 0 A4 P 35300 16900 35600 16900 1 { T 35400 16950 5 8 1 1 0 0 pin7=7 } T 35660 16900 9 8 1 0 0 0 A3 P 35300 17200 35600 17200 1 { T 35400 17250 5 8 1 1 0 0 pin8=8 } T 35660 17200 9 8 1 0 0 0 A2 P 35300 17500 35600 17500 1 { T 35400 17550 5 8 1 1 0 0 pin9=9 } T 35660 17500 9 8 1 0 0 0 A1 P 35300 17800 35600 17800 1 { T 35400 17850 5 8 1 1 0 0 pin10=10 } T 35660 17800 9 8 1 0 0 0 A0 P 37600 17800 37900 17800 1 { T 37685 17850 5 8 1 1 0 0 pin11=11 } T 37360 17800 9 8 1 0 0 0 D0 P 37600 17500 37900 17500 1 { T 37685 17550 5 8 1 1 0 0 pin12=12 } T 37360 17500 9 8 1 0 0 0 D1 P 37600 17200 37900 17200 1 { T 37685 17250 5 8 1 1 0 0 pin13=13 } T 37360 17200 9 8 1 0 0 0 D2 P 35300 13600 35600 13600 1 { T 35400 13650 5 8 1 1 0 0 pin27=27 } T 35660 13600 9 8 1 0 0 0 A14 P 35300 13900 35600 13900 1 { T 35400 13950 5 8 1 1 0 0 pin26=26 } T 35660 13900 9 8 1 0 0 0 A13 P 35300 15400 35600 15400 1 { T 35400 15450 5 8 1 1 0 0 pin25=25 } T 35660 15400 9 8 1 0 0 0 A8 P 35300 15100 35600 15100 1 { T 35400 15150 5 8 1 1 0 0 pin24=24 } T 35660 15100 9 8 1 0 0 0 A9 P 35300 14500 35600 14500 1 { T 35400 14550 5 8 1 1 0 0 pin23=23 } T 35660 14500 9 8 1 0 0 0 A11 V 35550 12900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 35300 12900 35500 12900 1 { T 35315 12950 5 8 1 1 0 0 pin22=22 } T 35660 12900 9 8 1 0 0 0 OE/VPP L 35660 13034 35860 13034 3 0 0 0 -1 -1 P 35300 14800 35600 14800 1 { T 35400 14850 5 8 1 1 0 0 pin21=21 } T 35660 14800 9 8 1 0 0 0 A10 V 35550 12600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 35300 12600 35500 12600 1 { T 35314 12650 5 8 1 1 0 0 pin20=20 } T 35660 12600 9 8 1 0 0 0 CE L 35660 12734 35860 12734 3 0 0 0 -1 -1 P 37600 15700 37900 15700 1 { T 37685 15750 5 8 1 1 0 0 pin19=19 } T 37360 15700 9 8 1 0 0 0 D7 P 37600 16000 37900 16000 1 { T 37685 16050 5 8 1 1 0 0 pin18=18 } T 37360 16000 9 8 1 0 0 0 D6 P 37600 16300 37900 16300 1 { T 37685 16350 5 8 1 1 0 0 pin17=17 } T 37360 16300 9 8 1 0 0 0 D5 P 37600 16600 37900 16600 1 { T 37685 16650 5 8 1 1 0 0 pin16=16 } T 37360 16600 9 8 1 0 0 0 D4 P 37600 16900 37900 16900 1 { T 37685 16950 5 8 1 1 0 0 pin15=15 } T 37360 16900 9 8 1 0 0 0 D3 T 35600 18150 9 10 1 0 0 0 27512 B 35600 12400 2000 5700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 37700 18100 5 10 0 0 0 0 device=27512 ] C 38300 12400 1 0 0 EMBEDDED62256-1.sym [ P 38300 13600 38600 13600 1 { T 38400 13650 5 8 1 1 0 0 pin1=1 } T 38660 13600 9 8 1 0 0 0 A14 P 38300 14200 38600 14200 1 { T 38400 14250 5 8 1 1 0 0 pin2=2 } T 38660 14200 9 8 1 0 0 0 A12 P 38300 15700 38600 15700 1 { T 38400 15750 5 8 1 1 0 0 pin3=3 } T 38660 15700 9 8 1 0 0 0 A7 P 38300 16000 38600 16000 1 { T 38400 16050 5 8 1 1 0 0 pin4=4 } T 38660 16000 9 8 1 0 0 0 A6 P 38300 16300 38600 16300 1 { T 38400 16350 5 8 1 1 0 0 pin5=5 } T 38660 16300 9 8 1 0 0 0 A5 P 38300 16600 38600 16600 1 { T 38400 16650 5 8 1 1 0 0 pin6=6 } T 38660 16600 9 8 1 0 0 0 A4 P 38300 16900 38600 16900 1 { T 38400 16950 5 8 1 1 0 0 pin7=7 } T 38660 16900 9 8 1 0 0 0 A3 P 38300 17200 38600 17200 1 { T 38400 17250 5 8 1 1 0 0 pin8=8 } T 38660 17200 9 8 1 0 0 0 A2 P 38300 17500 38600 17500 1 { T 38400 17550 5 8 1 1 0 0 pin9=9 } T 38660 17500 9 8 1 0 0 0 A1 P 38300 17800 38600 17800 1 { T 38400 17850 5 8 1 1 0 0 pin10=10 } T 38660 17800 9 8 1 0 0 0 A0 P 40600 17800 40900 17800 1 { T 40685 17850 5 8 1 1 0 0 pin11=11 } T 40360 17800 9 8 1 0 0 0 D0 P 40600 17500 40900 17500 1 { T 40685 17550 5 8 1 1 0 0 pin12=12 } T 40360 17500 9 8 1 0 0 0 D1 P 40600 17200 40900 17200 1 { T 40685 17250 5 8 1 1 0 0 pin13=13 } T 40360 17200 9 8 1 0 0 0 D2 P 38300 13200 38600 13200 1 { T 38400 13250 5 8 1 1 0 0 pin27=27 } T 38660 13200 9 8 1 0 0 0 WE L 38660 13334 38860 13334 3 0 0 0 -1 -1 P 38300 13900 38600 13900 1 { T 38400 13950 5 8 1 1 0 0 pin26=26 } T 38660 13900 9 8 1 0 0 0 A13 P 38300 15400 38600 15400 1 { T 38400 15450 5 8 1 1 0 0 pin25=25 } T 38660 15400 9 8 1 0 0 0 A8 P 38300 15100 38600 15100 1 { T 38400 15150 5 8 1 1 0 0 pin24=24 } T 38660 15100 9 8 1 0 0 0 A9 P 38300 14500 38600 14500 1 { T 38400 14550 5 8 1 1 0 0 pin23=23 } T 38660 14500 9 8 1 0 0 0 A11 V 38550 12900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 38300 12900 38500 12900 1 { T 38315 12950 5 8 1 1 0 0 pin22=22 } T 38660 12900 9 8 1 0 0 0 OE L 38660 13034 38860 13034 3 0 0 0 -1 -1 P 38300 14800 38600 14800 1 { T 38400 14850 5 8 1 1 0 0 pin21=21 } T 38660 14800 9 8 1 0 0 0 A10 V 38550 12610 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 38300 12600 38500 12600 1 { T 38315 12650 5 8 1 1 0 0 pin20=20 } T 38660 12600 9 8 1 0 0 0 CS L 38660 12734 38860 12734 3 0 0 0 -1 -1 P 40600 15700 40900 15700 1 { T 40685 15750 5 8 1 1 0 0 pin19=19 } T 40360 15700 9 8 1 0 0 0 D7 P 40600 16000 40900 16000 1 { T 40685 16050 5 8 1 1 0 0 pin18=18 } T 40360 16000 9 8 1 0 0 0 D6 P 40600 16300 40900 16300 1 { T 40685 16350 5 8 1 1 0 0 pin17=17 } T 40360 16300 9 8 1 0 0 0 D5 P 40600 16600 40900 16600 1 { T 40685 16650 5 8 1 1 0 0 pin16=16 } T 40360 16600 9 8 1 0 0 0 D4 P 40600 16900 40900 16900 1 { T 40685 16950 5 8 1 1 0 0 pin15=15 } T 40360 16900 9 8 1 0 0 0 D3 T 38600 18150 9 10 1 0 0 0 62256 B 38600 12400 2000 5700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 40700 18100 5 10 0 0 0 0 device=62256 ] C 40900 30900 1 90 0 EMBEDDED8086-1.sym [ P 34100 30900 34100 31200 1 { T 34048 31042 5 8 1 1 90 0 pin1=1 } T 34100 31260 9 8 1 0 90 0 GND P 34600 30900 34600 31200 1 { T 34548 31042 5 8 1 1 90 0 pin2=2 } T 34600 31260 9 8 1 0 90 0 AD14 P 34900 30900 34900 31200 1 { T 34848 31042 5 8 1 1 90 0 pin3=3 } T 34900 31260 9 8 1 0 90 0 AD13 P 35200 30900 35200 31200 1 { T 35148 31042 5 8 1 1 90 0 pin4=4 } T 35200 31260 9 8 1 0 90 0 AD12 P 35500 30900 35500 31200 1 { T 35448 31042 5 8 1 1 90 0 pin5=5 } T 35500 31260 9 8 1 0 90 0 AD11 P 35800 30900 35800 31200 1 { T 35748 31042 5 8 1 1 90 0 pin6=6 } T 35800 31260 9 8 1 0 90 0 AD10 P 36100 30900 36100 31200 1 { T 36048 31042 5 8 1 1 90 0 pin7=7 } T 36100 31260 9 8 1 0 90 0 AD9 P 36400 30900 36400 31200 1 { T 36348 31042 5 8 1 1 90 0 pin8=8 } T 36400 31260 9 8 1 0 90 0 AD8 P 36900 30900 36900 31200 1 { T 36848 31042 5 8 1 1 90 0 pin9=9 } T 36900 31260 9 8 1 0 90 0 AD7 P 37200 30900 37200 31200 1 { T 37148 31042 5 8 1 1 90 0 pin10=10 } T 37200 31260 9 8 1 0 90 0 AD6 P 37500 30900 37500 31200 1 { T 37448 31042 5 8 1 1 90 0 pin11=11 } T 37500 31260 9 8 1 0 90 0 AD5 P 37800 30900 37800 31200 1 { T 37748 31042 5 8 1 1 90 0 pin12=12 } T 37800 31260 9 8 1 0 90 0 AD4 P 38100 30900 38100 31200 1 { T 38048 31042 5 8 1 1 90 0 pin13=13 } T 38100 31260 9 8 1 0 90 0 AD3 P 38400 30900 38400 31200 1 { T 38348 31042 5 8 1 1 90 0 pin14=14 } T 38400 31260 9 8 1 0 90 0 AD2 P 38700 30900 38700 31200 1 { T 38648 31042 5 8 1 1 90 0 pin15=15 } T 38700 31260 9 8 1 0 90 0 AD1 P 39000 30900 39000 31200 1 { T 38948 31042 5 8 1 1 90 0 pin16=16 } T 39000 31260 9 8 1 0 90 0 AD0 P 39400 30900 39400 31200 1 { T 39348 31042 5 8 1 1 90 0 pin17=17 } T 39400 31260 9 8 1 0 90 0 NMI P 39700 30900 39700 31200 1 { T 39648 31042 5 8 1 1 90 0 pin18=18 } T 39700 31260 9 8 1 0 90 0 INTR P 40100 30900 40100 31200 1 { T 40048 31042 5 8 1 1 90 0 pin19=19 } T 40100 31260 9 8 1 0 90 0 CLK P 40500 30900 40500 31200 1 { T 40448 31002 5 8 1 1 90 0 pin20=20 } T 40500 31260 9 8 1 0 90 0 GND P 34100 33200 34100 33500 1 { T 34048 33285 5 8 1 1 90 0 pin40=40 } T 34100 32850 9 8 1 0 90 0 Vcc P 34500 33200 34500 33500 1 { T 34448 33285 5 8 1 1 90 0 pin39=39 } T 34500 32700 9 8 1 0 90 0 AD15 P 34800 33200 34800 33500 1 { T 34748 33285 5 8 1 1 90 0 pin38=38 } T 34800 32550 9 8 1 0 90 0 A16/S3 P 35100 33200 35100 33500 1 { T 35048 33285 5 8 1 1 90 0 pin37=37 } T 35100 32550 9 8 1 0 90 0 A17/S4 P 35400 33200 35400 33500 1 { T 35348 33285 5 8 1 1 90 0 pin36=36 } T 35400 32550 9 8 1 0 90 0 A18/S5 P 35700 33200 35700 33500 1 { T 35648 33285 5 8 1 1 90 0 pin35=35 } T 35700 32550 9 8 1 0 90 0 A19/S6 V 36100 33250 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 36100 33300 36100 33500 1 { T 36048 33285 5 8 1 1 90 0 pin34=34 } T 36100 32475 9 8 1 0 90 0 BHE/S7 L 35966 32470 35966 32790 3 0 0 0 -1 -1 P 36400 33200 36400 33500 1 { T 36348 33285 5 8 1 1 90 0 pin33=33 } T 36400 32525 9 8 1 0 90 0 MN/MX L 36266 32850 36266 33080 3 0 0 0 -1 -1 V 36800 33250 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 36800 33300 36800 33500 1 { T 36748 33285 5 8 1 1 90 0 pin32=32 } T 36800 32850 9 8 1 0 90 0 RD L 36666 32840 36666 33070 3 0 0 0 -1 -1 P 37100 33200 37100 33500 1 { T 37048 33285 5 8 1 1 90 0 pin31=31 } T 37100 31830 9 8 1 0 90 0 RQ/GT0 (HOLD) L 36966 31830 36966 32070 3 0 0 0 -1 -1 L 36966 32150 36966 32480 3 0 0 0 -1 -1 P 37400 33200 37400 33500 1 { T 37348 33285 5 8 1 1 90 0 pin30=30 } T 37400 31900 9 8 1 0 90 0 RQ/GT1 (HLDA) L 37266 31900 37266 32125 3 0 0 0 -1 -1 L 37266 32220 37266 32490 3 0 0 0 -1 -1 V 37700 33250 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 37700 33300 37700 33500 1 { T 37648 33285 5 8 1 1 90 0 pin29=29 } T 37700 32225 9 8 1 0 90 0 LOCK (WR) L 37566 32805 37566 33070 3 0 0 0 -1 -1 P 38000 33200 38000 33500 1 { T 37948 33285 5 8 1 1 90 0 pin28=28 } T 38000 32382 9 8 1 0 90 0 S2 (M/IO) L 37866 32382 37866 32575 3 0 0 0 -1 -1 L 37866 32925 37866 33080 3 0 0 0 -1 -1 P 38300 33200 38300 33500 1 { T 38248 33285 5 8 1 1 90 0 pin27=27 } T 38300 32375 9 8 1 0 90 0 S1 (DT/R) L 38166 32375 38166 32540 3 0 0 0 -1 -1 L 38166 32925 38166 33050 3 0 0 0 -1 -1 V 38600 33250 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 38600 33300 38600 33500 1 { T 38548 33285 5 8 1 1 90 0 pin26=26 } T 38600 32400 9 8 1 0 90 0 S0 (DEN) L 38466 32400 38466 32600 3 0 0 0 -1 -1 L 38466 32755 38466 33080 3 0 0 0 -1 -1 P 38900 33200 38900 33500 1 { T 38848 33285 5 8 1 1 90 0 pin25=25 } T 38900 32300 9 8 1 0 90 0 QS0 (ALE) V 39300 33250 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 39300 33300 39300 33500 1 { T 39248 33285 5 8 1 1 90 0 pin24=24 } T 39300 32300 9 8 1 0 90 0 QS1 (INTA) L 39166 32690 39166 33080 3 0 0 0 -1 -1 V 39800 33250 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 39800 33300 39800 33500 1 { T 39748 33285 5 8 1 1 90 0 pin23=23 } T 39800 32650 9 8 1 0 90 0 TEST L 39666 32630 39666 33080 3 0 0 0 -1 -1 P 40100 33200 40100 33500 1 { T 40048 33285 5 8 1 1 90 0 pin22=22 } T 40100 32550 9 8 1 0 90 0 READY P 40500 33200 40500 33500 1 { T 40448 33285 5 8 1 1 90 0 pin21=21 } T 40500 32550 9 8 1 0 90 0 RESET B 33900 31200 6700 2000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 34100 33900 5 10 0 0 90 0 device=8086 T 33850 31200 9 10 1 0 90 0 8086 ] C 45000 14200 1 0 0 EMBEDDED8254-1.sym [ P 45000 18200 45300 18200 1 { T 45142 18252 5 8 1 1 0 0 pin1=1 } T 45360 18200 9 8 1 0 0 0 D T 45460 18122 9 8 1 0 0 0 7 P 45000 17900 45300 17900 1 { T 45142 17952 5 8 1 1 0 0 pin2=2 } T 45360 17900 9 8 1 0 0 0 D T 45460 17822 9 8 1 0 0 0 6 P 45000 17600 45300 17600 1 { T 45142 17652 5 8 1 1 0 0 pin3=3 } T 45360 17600 9 8 1 0 0 0 D T 45460 17522 9 8 1 0 0 0 5 P 45000 17300 45300 17300 1 { T 45142 17352 5 8 1 1 0 0 pin4=4 } T 45360 17300 9 8 1 0 0 0 D T 45460 17222 9 8 1 0 0 0 4 P 45000 17000 45300 17000 1 { T 45142 17052 5 8 1 1 0 0 pin5=5 } T 45360 17000 9 8 1 0 0 0 D T 45460 16922 9 8 1 0 0 0 3 P 45000 16700 45300 16700 1 { T 45142 16752 5 8 1 1 0 0 pin6=6 } T 45360 16700 9 8 1 0 0 0 D T 45460 16622 9 8 1 0 0 0 2 P 45000 16400 45300 16400 1 { T 45142 16452 5 8 1 1 0 0 pin7=7 } T 45360 16400 9 8 1 0 0 0 D T 45460 16322 9 8 1 0 0 0 1 P 45000 16100 45300 16100 1 { T 45142 16152 5 8 1 1 0 0 pin8=8 } T 45360 16100 9 8 1 0 0 0 D T 45460 16022 9 8 1 0 0 0 0 P 45000 15600 45300 15600 1 { T 45142 15652 5 8 1 1 0 0 pin9=9 } T 45360 15600 9 8 1 0 0 0 CLK T 45700 15522 9 8 1 0 0 0 0 P 45000 15300 45300 15300 1 { T 45142 15352 5 8 1 1 0 0 pin10=10 } T 45360 15300 9 8 1 0 0 0 OUT T 45700 15222 9 8 1 0 0 0 0 P 45000 15000 45300 15000 1 { T 45142 15052 5 8 1 1 0 0 pin11=11 } T 45360 15000 9 8 1 0 0 0 GATE T 45800 14922 9 8 1 0 0 0 0 P 45000 14600 45300 14600 1 { T 45142 14652 5 8 1 1 0 0 pin12=12 } T 45360 14600 9 8 1 0 0 0 GND P 47300 14600 47600 14600 1 { T 47385 14652 5 8 1 1 0 0 pin13=13 } T 46850 14600 9 8 1 0 0 0 OUT T 47200 14522 9 8 1 0 0 0 1 P 47300 14900 47600 14900 1 { T 47385 14952 5 8 1 1 0 0 pin14=14 } T 46725 14900 9 8 1 0 0 0 GATE T 47200 14822 9 8 1 0 0 0 1 P 47300 15200 47600 15200 1 { T 47385 15252 5 8 1 1 0 0 pin15=15 } T 46850 15200 9 8 1 0 0 0 CLK T 47200 15122 9 8 1 0 0 0 1 P 47300 15600 47600 15600 1 { T 47385 15652 5 8 1 1 0 0 pin16=16 } T 46675 15600 9 8 1 0 0 0 GATE T 47150 15522 9 8 1 0 0 0 2 P 47300 15900 47600 15900 1 { T 47385 15952 5 8 1 1 0 0 pin17=17 } T 46800 15900 9 8 1 0 0 0 OUT T 47150 15822 9 8 1 0 0 0 2 P 47300 16200 47600 16200 1 { T 47385 16252 5 8 1 1 0 0 pin18=18 } T 46800 16200 9 8 1 0 0 0 CLK T 47150 16122 9 8 1 0 0 0 2 P 47300 16600 47600 16600 1 { T 47385 16652 5 8 1 1 0 0 pin19=19 } T 47050 16600 9 8 1 0 0 0 A T 47150 16522 9 8 1 0 0 0 0 P 47300 16900 47600 16900 1 { T 47385 16952 5 8 1 1 0 0 pin20=20 } T 47050 16900 9 8 1 0 0 0 A T 47165 16822 9 8 1 0 0 0 1 V 47350 17300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 47400 17300 47600 17300 1 { T 47385 17352 5 8 1 1 0 0 pin21=21 } T 47000 17300 9 8 1 0 0 0 CS L 47000 17434 47200 17434 3 0 0 0 -1 -1 V 47350 17600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 47400 17600 47600 17600 1 { T 47385 17652 5 8 1 1 0 0 pin22=22 } T 47000 17600 9 8 1 0 0 0 RD L 47000 17734 47200 17734 3 0 0 0 -1 -1 V 47350 17900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 47400 17900 47600 17900 1 { T 47385 17952 5 8 1 1 0 0 pin23=23 } T 47000 17900 9 8 1 0 0 0 WR L 47000 18034 47200 18034 3 0 0 0 -1 -1 P 47300 18300 47600 18300 1 { T 47385 18352 5 8 1 1 0 0 pin24=24 } T 46925 18300 9 8 1 0 0 0 Vcc B 45300 14500 2000 4000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 48000 18400 5 10 0 0 0 0 device=8254 T 45300 18550 9 10 1 0 0 0 8254 ] C 33100 30900 1 90 0 EMBEDDED8255A-1.sym [ P 26500 30900 26500 31200 1 { T 26448 31042 5 8 1 1 90 0 pin1=1 } T 26500 31260 9 8 1 0 90 0 PA T 26578 31480 9 8 1 0 90 0 3 P 26800 30900 26800 31200 1 { T 26748 31042 5 8 1 1 90 0 pin2=2 } T 26800 31260 9 8 1 0 90 0 PA T 26878 31480 9 8 1 0 90 0 2 P 27100 30900 27100 31200 1 { T 27048 31042 5 8 1 1 90 0 pin3=3 } T 27100 31260 9 8 1 0 90 0 PA T 27178 31480 9 8 1 0 90 0 1 P 27400 30900 27400 31200 1 { T 27348 31042 5 8 1 1 90 0 pin4=4 } T 27400 31260 9 8 1 0 90 0 PA T 27478 31480 9 8 1 0 90 0 0 V 27800 31150 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 27800 30900 27800 31100 1 { T 27748 31042 5 8 1 1 90 0 pin5=5 } T 27800 31260 9 8 1 0 90 0 RD L 27666 31260 27666 31480 3 0 0 0 -1 -1 V 28100 31150 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 28100 30900 28100 31100 1 { T 28048 31042 5 8 1 1 90 0 pin6=6 } T 28100 31260 9 8 1 0 90 0 CS L 27966 31260 27966 31480 3 0 0 0 -1 -1 P 28500 30900 28500 31200 1 { T 28448 31042 5 8 1 1 90 0 pin7=7 } T 28500 31260 9 8 1 0 90 0 GND P 28900 30900 28900 31200 1 { T 28848 31042 5 8 1 1 90 0 pin8=8 } T 28900 31260 9 8 1 0 90 0 A T 28978 31360 9 8 1 0 90 0 1 P 29200 30900 29200 31200 1 { T 29148 31042 5 8 1 1 90 0 pin9=9 } T 29200 31260 9 8 1 0 90 0 A T 29278 31360 9 8 1 0 90 0 0 P 29600 30900 29600 31200 1 { T 29548 31042 5 8 1 1 90 0 pin10=10 } T 29600 31260 9 8 1 0 90 0 PC T 29678 31480 9 8 1 0 90 0 7 P 29900 30900 29900 31200 1 { T 29848 31042 5 8 1 1 90 0 pin10=11 } T 29900 31260 9 8 1 0 90 0 PC T 29978 31480 9 8 1 0 90 0 6 P 30200 30900 30200 31200 1 { T 30148 31042 5 8 1 1 90 0 pin12=12 } T 30200 31260 9 8 1 0 90 0 PC T 30278 31480 9 8 1 0 90 0 5 P 30500 30900 30500 31200 1 { T 30448 31042 5 8 1 1 90 0 pin13=13 } T 30500 31260 9 8 1 0 90 0 PC T 30578 31480 9 8 1 0 90 0 4 P 30800 30900 30800 31200 1 { T 30748 31042 5 8 1 1 90 0 pin14=14 } T 30800 31260 9 8 1 0 90 0 PC T 30878 31480 9 8 1 0 90 0 0 P 31100 30900 31100 31200 1 { T 31048 31042 5 8 1 1 90 0 pin15=15 } T 31100 31260 9 8 1 0 90 0 PC T 31178 31480 9 8 1 0 90 0 1 P 31400 30900 31400 31200 1 { T 31348 31042 5 8 1 1 90 0 pin16=16 } T 31400 31260 9 8 1 0 90 0 PC T 31478 31480 9 8 1 0 90 0 2 P 31700 30900 31700 31200 1 { T 31648 31042 5 8 1 1 90 0 pin17=17 } T 31700 31260 9 8 1 0 90 0 PC T 31778 31480 9 8 1 0 90 0 3 P 32100 30900 32100 31200 1 { T 32048 31042 5 8 1 1 90 0 pin18=18 } T 32100 31260 9 8 1 0 90 0 PB T 32178 31480 9 8 1 0 90 0 0 P 32400 30900 32400 31200 1 { T 32348 31042 5 8 1 1 90 0 pin19=19 } T 32400 31260 9 8 1 0 90 0 PB T 32478 31480 9 8 1 0 90 0 1 P 32700 30900 32700 31200 1 { T 32648 31002 5 8 1 1 90 0 pin20=20 } T 32700 31260 9 8 1 0 90 0 PB T 32778 31480 9 8 1 0 90 0 2 P 32700 33200 32700 33500 1 { T 32648 33285 5 8 1 1 90 0 pin21=21 } T 32700 32800 9 8 1 0 90 0 PB T 32778 33050 9 8 1 0 90 0 3 P 32400 33200 32400 33500 1 { T 32348 33285 5 8 1 1 90 0 pin22=22 } T 32400 32800 9 8 1 0 90 0 PB T 32478 33050 9 8 1 0 90 0 4 P 32100 33200 32100 33500 1 { T 32048 33285 5 8 1 1 90 0 pin23=23 } T 32100 32800 9 8 1 0 90 0 PB T 32178 33050 9 8 1 0 90 0 5 P 31800 33200 31800 33500 1 { T 31748 33285 5 8 1 1 90 0 pin24=24 } T 31800 32800 9 8 1 0 90 0 PB T 31878 33050 9 8 1 0 90 0 6 P 31500 33200 31500 33500 1 { T 31448 33285 5 8 1 1 90 0 pin25=25 } T 31500 32800 9 8 1 0 90 0 PB T 31578 33050 9 8 1 0 90 0 7 P 31100 33200 31100 33500 1 { T 31048 33285 5 8 1 1 90 0 pin26=26 } T 31100 32850 9 8 1 0 90 0 Vcc P 30700 33200 30700 33500 1 { T 30648 33285 5 8 1 1 90 0 pin27=27 } T 30700 32950 9 8 1 0 90 0 D T 30778 33050 9 8 1 0 90 0 7 P 30400 33200 30400 33500 1 { T 30348 33285 5 8 1 1 90 0 pin28=28 } T 30400 32950 9 8 1 0 90 0 D T 30478 33050 9 8 1 0 90 0 6 P 30100 33200 30100 33500 1 { T 30048 33285 5 8 1 1 90 0 pin29=29 } T 30100 32950 9 8 1 0 90 0 D T 30178 33050 9 8 1 0 90 0 5 P 29800 33200 29800 33500 1 { T 29748 33285 5 8 1 1 90 0 pin30=30 } T 29800 32950 9 8 1 0 90 0 D T 29878 33050 9 8 1 0 90 0 4 P 29500 33200 29500 33500 1 { T 29448 33285 5 8 1 1 90 0 pin31=31 } T 29500 32950 9 8 1 0 90 0 D T 29578 33050 9 8 1 0 90 0 3 P 29200 33200 29200 33500 1 { T 29148 33285 5 8 1 1 90 0 pin32=32 } T 29200 32950 9 8 1 0 90 0 D T 29278 33050 9 8 1 0 90 0 2 P 28900 33200 28900 33500 1 { T 28848 33285 5 8 1 1 90 0 pin33=33 } T 28900 32950 9 8 1 0 90 0 D T 28978 33050 9 8 1 0 90 0 1 P 28600 33200 28600 33500 1 { T 28548 33285 5 8 1 1 90 0 pin34=34 } T 28600 32950 9 8 1 0 90 0 D T 28678 33050 9 8 1 0 90 0 0 P 28200 33200 28200 33500 1 { T 28148 33285 5 8 1 1 90 0 pin35=35 } T 28200 32575 9 8 1 0 90 0 RESET V 27800 33250 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 27800 33300 27800 33500 1 { T 27748 33285 5 8 1 1 90 0 pin36=36 } T 27800 32870 9 8 1 0 90 0 WR L 27666 32870 27666 33100 3 0 0 0 -1 -1 P 27400 33200 27400 33500 1 { T 27348 33285 5 8 1 1 90 0 pin37=37 } T 27400 32850 9 8 1 0 90 0 PA T 27478 33050 9 8 1 0 90 0 7 P 27100 33200 27100 33500 1 { T 27048 33285 5 8 1 1 90 0 pin38=38 } T 27100 32850 9 8 1 0 90 0 PA T 27178 33050 9 8 1 0 90 0 6 P 26800 33200 26800 33500 1 { T 26748 33285 5 8 1 1 90 0 pin39=39 } T 26800 32850 9 8 1 0 90 0 PA T 26878 33050 9 8 1 0 90 0 5 P 26500 33200 26500 33500 1 { T 26748 33285 5 8 1 1 90 0 pin40=40 } T 26500 32850 9 8 1 0 90 0 PA T 26578 33050 9 8 1 0 90 0 4 B 26250 31200 6550 2000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 26700 34200 5 10 0 0 90 0 device=8255A T 26200 31200 9 10 1 0 90 0 8255A ] C 32700 22100 1 0 0 EMBEDDED8259A-1.sym [ V 32950 26700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 32700 26700 32900 26700 1 { T 32842 26752 5 8 1 1 0 0 pin1=1 } T 33060 26700 9 8 1 0 0 0 CS L 33060 26834 33260 26834 3 0 0 0 -1 -1 V 32950 26400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 32700 26400 32900 26400 1 { T 32842 26452 5 8 1 1 0 0 pin2=2 } T 33060 26400 9 8 1 0 0 0 WR L 33060 26534 33260 26534 3 0 0 0 -1 -1 V 32950 26100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 32700 26100 32900 26100 1 { T 32842 26152 5 8 1 1 0 0 pin3=3 } T 33060 26100 9 8 1 0 0 0 RD L 33060 26234 33260 26234 3 0 0 0 -1 -1 P 32700 25700 33000 25700 1 { T 32842 25752 5 8 1 1 0 0 pin4=4 } T 33060 25700 9 8 1 0 0 0 D T 33160 25622 9 8 1 0 0 0 7 P 32700 25400 33000 25400 1 { T 32842 25452 5 8 1 1 0 0 pin5=5 } T 33060 25400 9 8 1 0 0 0 D T 33160 25322 9 8 1 0 0 0 6 P 32700 25100 33000 25100 1 { T 32842 25152 5 8 1 1 0 0 pin6=6 } T 33060 25100 9 8 1 0 0 0 D T 33160 25022 9 8 1 0 0 0 5 P 32700 24800 33000 24800 1 { T 32842 24852 5 8 1 1 0 0 pin7=7 } T 33060 24800 9 8 1 0 0 0 D T 33160 24722 9 8 1 0 0 0 4 P 32700 24500 33000 24500 1 { T 32842 24552 5 8 1 1 0 0 pin8=8 } T 33060 24500 9 8 1 0 0 0 D T 33160 24422 9 8 1 0 0 0 3 P 32700 24200 33000 24200 1 { T 32842 24252 5 8 1 1 0 0 pin9=9 } T 33060 24200 9 8 1 0 0 0 D T 33160 24122 9 8 1 0 0 0 2 P 32700 23900 33000 23900 1 { T 32842 23952 5 8 1 1 0 0 pin10=10 } T 33060 23900 9 8 1 0 0 0 D T 33160 23822 9 8 1 0 0 0 1 P 32700 23600 33000 23600 1 { T 32842 23652 5 8 1 1 0 0 pin11=11 } T 33060 23600 9 8 1 0 0 0 D T 33160 23522 9 8 1 0 0 0 0 P 32700 23200 33000 23200 1 { T 32842 23252 5 8 1 1 0 0 pin12=12 } T 33060 23200 9 8 1 0 0 0 CAS T 33400 23122 9 8 1 0 0 0 0 P 32700 22900 33000 22900 1 { T 32842 22952 5 8 1 1 0 0 pin13=13 } T 33060 22900 9 8 1 0 0 0 CAS T 33400 22822 9 8 1 0 0 0 1 P 32700 22500 33000 22500 1 { T 32842 22552 5 8 1 1 0 0 pin14=14 } T 33060 22500 9 8 1 0 0 0 GND P 35000 26700 35300 26700 1 { T 35085 26752 5 8 1 1 0 0 pin28=28 } T 34600 26700 9 8 1 0 0 0 Vcc P 35000 26300 35300 26300 1 { T 35085 26352 5 8 1 1 0 0 pin27=27 } T 34675 26300 9 8 1 0 0 0 A T 34775 26222 9 8 1 0 0 0 0 V 35050 26000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 35100 26000 35300 26000 1 { T 35085 26052 5 8 1 1 0 0 pin26=26 } T 34525 26000 9 8 1 0 0 0 INTA L 34525 26134 34880 26134 3 0 0 0 -1 -1 P 35000 25700 35300 25700 1 { T 35085 25752 5 8 1 1 0 0 pin25=25 } T 34650 25700 9 8 1 0 0 0 IR T 34800 25622 9 8 1 0 0 0 7 P 35000 25400 35300 25400 1 { T 35085 25452 5 8 1 1 0 0 pin24=24 } T 34650 25400 9 8 1 0 0 0 IR T 34800 25322 9 8 1 0 0 0 6 P 35000 25100 35300 25100 1 { T 35085 25152 5 8 1 1 0 0 pin23=23 } T 34650 25100 9 8 1 0 0 0 IR T 34800 25022 9 8 1 0 0 0 5 P 35000 24800 35300 24800 1 { T 35085 24852 5 8 1 1 0 0 pin22=22 } T 34650 24800 9 8 1 0 0 0 IR T 34800 24722 9 8 1 0 0 0 4 P 35000 24500 35300 24500 1 { T 35085 24552 5 8 1 1 0 0 pin21=21 } T 34650 24500 9 8 1 0 0 0 IR T 34800 24422 9 8 1 0 0 0 3 P 35000 24200 35300 24200 1 { T 35085 24252 5 8 1 1 0 0 pin20=20 } T 34650 24200 9 8 1 0 0 0 IR T 34800 24122 9 8 1 0 0 0 2 P 35000 23900 35300 23900 1 { T 35085 23952 5 8 1 1 0 0 pin19=19 } T 34650 23900 9 8 1 0 0 0 IR T 34800 23822 9 8 1 0 0 0 1 P 35000 23600 35300 23600 1 { T 35085 23652 5 8 1 1 0 0 pin18=18 } T 34650 23600 9 8 1 0 0 0 IR T 34800 23522 9 8 1 0 0 0 0 P 35000 23300 35300 23300 1 { T 35085 23352 5 8 1 1 0 0 pin17=17 } T 34650 23300 9 8 1 0 0 0 INT P 35000 22900 35300 22900 1 { T 35085 22952 5 8 1 1 0 0 pin16=16 } T 34375 22900 9 8 1 0 0 0 SP/EN L 34375 23034 34575 23034 3 0 0 0 -1 -1 L 34675 23034 34880 23034 3 0 0 0 -1 -1 P 35000 22600 35300 22600 1 { T 35085 22652 5 8 1 1 0 0 pin15=15 } T 34475 22600 9 8 1 0 0 0 CAS T 34820 22522 9 8 1 0 0 0 2 B 33000 22400 2000 4600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 35700 26900 5 10 0 0 0 0 device=8259A T 33000 27050 9 10 1 0 0 0 8259A ] C 32200 12400 1 0 0 EMBEDDED27256-1.sym [ P 32200 17900 32500 17900 1 { T 32300 17950 5 8 1 1 0 0 pin1=1 } T 32560 17900 9 8 1 0 0 0 VPP P 32200 13900 32500 13900 1 { T 32300 13950 5 8 1 1 0 0 pin2=2 } T 32550 13900 9 8 1 0 0 0 A12 P 32200 15400 32500 15400 1 { T 32300 15450 5 8 1 1 0 0 pin3=3 } T 32560 15400 9 8 1 0 0 0 A7 P 32200 15700 32500 15700 1 { T 32300 15750 5 8 1 1 0 0 pin4=4 } T 32560 15700 9 8 1 0 0 0 A6 P 32200 16000 32500 16000 1 { T 32300 16050 5 8 1 1 0 0 pin5=5 } T 32560 16000 9 8 1 0 0 0 A5 P 32200 16300 32500 16300 1 { T 32300 16350 5 8 1 1 0 0 pin6=6 } T 32560 16300 9 8 1 0 0 0 A4 P 32200 16600 32500 16600 1 { T 32300 16650 5 8 1 1 0 0 pin7=7 } T 32560 16600 9 8 1 0 0 0 A3 P 32200 16900 32500 16900 1 { T 32300 16950 5 8 1 1 0 0 pin8=8 } T 32560 16900 9 8 1 0 0 0 A2 P 32200 17200 32500 17200 1 { T 32300 17250 5 8 1 1 0 0 pin9=9 } T 32560 17200 9 8 1 0 0 0 A1 P 32200 17500 32500 17500 1 { T 32300 17550 5 8 1 1 0 0 pin10=10 } T 32560 17500 9 8 1 0 0 0 A0 P 34500 17500 34800 17500 1 { T 34585 17550 5 8 1 1 0 0 pin11=11 } T 34260 17500 9 8 1 0 0 0 D0 P 34500 17200 34800 17200 1 { T 34585 17250 5 8 1 1 0 0 pin12=12 } T 34260 17200 9 8 1 0 0 0 D1 P 34500 16900 34800 16900 1 { T 34585 16950 5 8 1 1 0 0 pin13=13 } T 34260 16900 9 8 1 0 0 0 D2 P 32200 13300 32500 13300 1 { T 32300 13350 5 8 1 1 0 0 pin27=27 } T 32550 13300 9 8 1 0 0 0 A14 P 32200 13600 32500 13600 1 { T 32300 13650 5 8 1 1 0 0 pin26=26 } T 32550 13600 9 8 1 0 0 0 A13 P 32200 15100 32500 15100 1 { T 32300 15150 5 8 1 1 0 0 pin25=25 } T 32550 15100 9 8 1 0 0 0 A8 P 32200 14800 32500 14800 1 { T 32300 14850 5 8 1 1 0 0 pin24=24 } T 32550 14800 9 8 1 0 0 0 A9 P 32200 14200 32500 14200 1 { T 32300 14250 5 8 1 1 0 0 pin23=23 } T 32550 14200 9 8 1 0 0 0 A11 V 32450 12900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 32200 12900 32400 12900 1 { T 32215 12950 5 8 1 1 0 0 pin22=22 } T 32550 12900 9 8 1 0 0 0 OE L 32550 13034 32760 13034 3 0 0 0 -1 -1 P 32200 14500 32500 14500 1 { T 32300 14550 5 8 1 1 0 0 pin21=21 } T 32550 14500 9 8 1 0 0 0 A10 V 32450 12600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 32200 12600 32400 12600 1 { T 32215 12650 5 8 1 1 0 0 pin20=20 } T 32550 12600 9 8 1 0 0 0 CE L 32550 12734 32760 12734 3 0 0 0 -1 -1 P 34500 15400 34800 15400 1 { T 34585 15450 5 8 1 1 0 0 pin19=19 } T 34260 15400 9 8 1 0 0 0 D7 P 34500 15700 34800 15700 1 { T 34585 15750 5 8 1 1 0 0 pin18=18 } T 34260 15700 9 8 1 0 0 0 D6 P 34500 16000 34800 16000 1 { T 34585 16050 5 8 1 1 0 0 pin17=17 } T 34260 16000 9 8 1 0 0 0 D5 P 34500 16300 34800 16300 1 { T 34585 16350 5 8 1 1 0 0 pin16=16 } T 34260 16300 9 8 1 0 0 0 D4 P 34500 16600 34800 16600 1 { T 34585 16650 5 8 1 1 0 0 pin15=15 } T 34260 16600 9 8 1 0 0 0 D3 T 32500 18250 9 10 1 0 0 0 27256 B 32500 12400 2000 5800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 34600 18100 5 10 0 0 0 0 device=27256 ] C 25600 30900 1 90 0 EMBEDDED8088-1.sym [ P 18800 30900 18800 31200 1 { T 18748 31042 5 8 1 1 90 0 pin1=1 } T 18800 31260 9 8 1 0 90 0 GND P 19300 30900 19300 31200 1 { T 19248 31042 5 8 1 1 90 0 pin2=2 } T 19300 31260 9 8 1 0 90 0 A14 P 19600 30900 19600 31200 1 { T 19548 31042 5 8 1 1 90 0 pin3=3 } T 19600 31260 9 8 1 0 90 0 A13 P 19900 30900 19900 31200 1 { T 19848 31042 5 8 1 1 90 0 pin4=4 } T 19900 31260 9 8 1 0 90 0 A12 P 20200 30900 20200 31200 1 { T 20148 31042 5 8 1 1 90 0 pin5=5 } T 20200 31260 9 8 1 0 90 0 A11 P 20500 30900 20500 31200 1 { T 20448 31042 5 8 1 1 90 0 pin6=6 } T 20500 31260 9 8 1 0 90 0 A10 P 20800 30900 20800 31200 1 { T 20748 31042 5 8 1 1 90 0 pin7=7 } T 20800 31260 9 8 1 0 90 0 A9 P 21100 30900 21100 31200 1 { T 21048 31042 5 8 1 1 90 0 pin8=8 } T 21100 31260 9 8 1 0 90 0 A8 P 21600 30900 21600 31200 1 { T 21548 31042 5 8 1 1 90 0 pin9=9 } T 21600 31260 9 8 1 0 90 0 AD7 P 21900 30900 21900 31200 1 { T 21848 31042 5 8 1 1 90 0 pin10=10 } T 21900 31260 9 8 1 0 90 0 AD6 P 22200 30900 22200 31200 1 { T 22148 31042 5 8 1 1 90 0 pin11=11 } T 22200 31260 9 8 1 0 90 0 AD5 P 22500 30900 22500 31200 1 { T 22448 31042 5 8 1 1 90 0 pin12=12 } T 22500 31260 9 8 1 0 90 0 AD4 P 22800 30900 22800 31200 1 { T 22748 31042 5 8 1 1 90 0 pin13=13 } T 22800 31260 9 8 1 0 90 0 AD3 P 23100 30900 23100 31200 1 { T 23048 31042 5 8 1 1 90 0 pin14=14 } T 23100 31260 9 8 1 0 90 0 AD2 P 23400 30900 23400 31200 1 { T 23348 31042 5 8 1 1 90 0 pin15=15 } T 23400 31260 9 8 1 0 90 0 AD1 P 23700 30900 23700 31200 1 { T 23648 31042 5 8 1 1 90 0 pin16=16 } T 23700 31260 9 8 1 0 90 0 AD0 P 24100 30900 24100 31200 1 { T 24048 31042 5 8 1 1 90 0 pin17=17 } T 24100 31260 9 8 1 0 90 0 NMI P 24400 30900 24400 31200 1 { T 24348 31042 5 8 1 1 90 0 pin18=18 } T 24400 31260 9 8 1 0 90 0 INTR P 24800 30900 24800 31200 1 { T 24748 31042 5 8 1 1 90 0 pin19=19 } T 24800 31260 9 8 1 0 90 0 CLK P 25200 30900 25200 31200 1 { T 25148 31002 5 8 1 1 90 0 pin20=20 } T 25200 31260 9 8 1 0 90 0 GND P 18800 33200 18800 33500 1 { T 18748 33285 5 8 1 1 90 0 pin40=40 } T 18800 32850 9 8 1 0 90 0 Vcc P 19200 33200 19200 33500 1 { T 19148 33285 5 8 1 1 90 0 pin39=39 } T 19200 32850 9 8 1 0 90 0 A15 P 19500 33200 19500 33500 1 { T 19448 33285 5 8 1 1 90 0 pin38=38 } T 19500 32550 9 8 1 0 90 0 A16/S3 P 19800 33200 19800 33500 1 { T 19748 33285 5 8 1 1 90 0 pin37=37 } T 19800 32550 9 8 1 0 90 0 A17/S4 P 20100 33200 20100 33500 1 { T 20048 33285 5 8 1 1 90 0 pin36=36 } T 20100 32550 9 8 1 0 90 0 A18/S5 P 20400 33200 20400 33500 1 { T 20348 33285 5 8 1 1 90 0 pin35=35 } T 20400 32550 9 8 1 0 90 0 A19/S6 V 20800 33250 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 20800 33300 20800 33500 1 { T 20748 33285 5 8 1 1 90 0 pin34=34 } T 20800 32775 9 8 1 0 90 0 SS0 L 20666 32770 20666 33080 3 0 0 0 -1 -1 P 21100 33200 21100 33500 1 { T 21048 33285 5 8 1 1 90 0 pin33=33 } T 21100 32525 9 8 1 0 90 0 MN/MX L 20966 32850 20966 33080 3 0 0 0 -1 -1 V 21500 33250 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 21500 33300 21500 33500 1 { T 21448 33285 5 8 1 1 90 0 pin32=32 } T 21500 32850 9 8 1 0 90 0 RD L 21366 32840 21366 33070 3 0 0 0 -1 -1 P 21800 33200 21800 33500 1 { T 21748 33285 5 8 1 1 90 0 pin31=31 } T 21800 32675 9 8 1 0 90 0 HOLD P 22100 33200 22100 33500 1 { T 22048 33285 5 8 1 1 90 0 pin30=30 } T 22100 32675 9 8 1 0 90 0 HLDA V 22400 33250 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 22400 33300 22400 33500 1 { T 22348 33285 5 8 1 1 90 0 pin29=29 } T 22400 32825 9 8 1 0 90 0 WR L 22266 32805 22266 33070 3 0 0 0 -1 -1 P 22700 33200 22700 33500 1 { T 22648 33285 5 8 1 1 90 0 pin28=28 } T 22700 32725 9 8 1 0 90 0 IO/M L 22566 32975 22566 33080 3 0 0 0 -1 -1 P 23000 33200 23000 33500 1 { T 22948 33285 5 8 1 1 90 0 pin27=27 } T 23000 32700 9 8 1 0 90 0 DT/R L 22866 32995 22866 33080 3 0 0 0 -1 -1 V 23300 33250 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 23300 33300 23300 33500 1 { T 23248 33285 5 8 1 1 90 0 pin26=26 } T 23300 32750 9 8 1 0 90 0 DEN L 23166 32755 23166 33080 3 0 0 0 -1 -1 P 23600 33200 23600 33500 1 { T 23548 33285 5 8 1 1 90 0 pin25=25 } T 23600 32780 9 8 1 0 90 0 ALE V 24000 33250 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 24000 33300 24000 33500 1 { T 23948 33285 5 8 1 1 90 0 pin24=24 } T 24000 32700 9 8 1 0 90 0 INTA L 23866 32690 23866 33080 3 0 0 0 -1 -1 V 24500 33250 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 24500 33300 24500 33500 1 { T 24448 33285 5 8 1 1 90 0 pin23=23 } T 24500 32650 9 8 1 0 90 0 TEST L 24366 32630 24366 33080 3 0 0 0 -1 -1 P 24800 33200 24800 33500 1 { T 24748 33285 5 8 1 1 90 0 pin22=22 } T 24800 32550 9 8 1 0 90 0 READY P 25200 33200 25200 33500 1 { T 25148 33285 5 8 1 1 90 0 pin21=21 } T 25200 32550 9 8 1 0 90 0 RESET B 18600 31200 6700 2000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 18700 33800 5 10 0 0 90 0 device=8088 T 18550 31200 9 10 1 0 90 0 8088 ] C 20600 16100 1 0 0 EMBEDDEDdecon-1.sym [ L 20600 16200 20750 16200 3 0 0 0 -1 -1 L 20750 16200 20675 16100 3 0 0 0 -1 -1 L 20675 16100 20600 16200 3 0 0 0 -1 -1 T 20700 16400 5 10 0 0 0 0 graphical=1 T 21100 16700 5 10 0 0 0 0 device=none ] C 20200 15300 1 0 0 EMBEDDEDin-1.sym [ P 20600 15400 20800 15400 1 L 20300 15400 20200 15500 6 0 0 0 -1 -1 L 20300 15400 20200 15300 6 0 0 0 -1 -1 L 20600 15400 20300 15400 6 0 0 0 -1 -1 ] C 20900 14900 1 0 0 EMBEDDEDout-1.sym [ P 20900 15000 21100 15000 1 L 21100 15000 21500 15000 6 0 0 0 -1 -1 L 21500 15000 21400 15100 6 0 0 0 -1 -1 L 21500 15000 21400 14900 6 0 0 0 -1 -1 ] C 22400 15500 1 0 0 EMBEDDEDvdd-1.sym [ L 22400 15700 22800 15700 3 0 0 0 -1 -1 T 22800 15800 5 10 0 1 0 0 vdd=+5V T 22800 15800 5 10 0 0 0 0 device=VDD T 22453 15549 9 8 1 0 0 0 VDD P 22600 15700 22600 15900 1 { T 22600 15700 5 6 0 1 0 0 pin1=+5V } ] C 23400 16100 1 90 0 EMBEDDEDvdd-1.sym [ L 23200 16100 23200 16500 3 0 0 0 -1 -1 T 23100 16500 5 10 0 1 90 0 vdd=+5V T 23100 16500 5 10 0 0 90 0 device=VDD T 23351 16153 9 8 1 0 90 0 VDD P 23200 16300 23000 16300 1 { T 23200 16300 5 6 0 1 90 0 pin1=+5V } ] C 22800 17500 1 180 0 EMBEDDEDvdd-1.sym [ L 22800 17300 22400 17300 3 0 0 0 -1 -1 T 22400 17200 5 10 0 1 180 0 vdd=+5V T 22400 17200 5 10 0 0 180 0 device=VDD T 22747 17451 9 8 1 0 180 0 VDD P 22600 17300 22600 17100 1 { T 22600 17300 5 6 0 1 180 0 pin1=+5V } ] C 23300 17200 1 270 0 EMBEDDEDvdd-1.sym [ L 23500 17200 23500 16800 3 0 0 0 -1 -1 T 23600 16800 5 10 0 1 270 0 vdd=+5V T 23600 16800 5 10 0 0 270 0 device=VDD T 23349 17147 9 8 1 0 270 0 VDD P 23500 17000 23700 17000 1 { T 23500 17000 5 6 0 1 270 0 pin1=+5V } ] C 21800 15900 1 90 0 EMBEDDEDgnd-1.sym [ P 21700 16000 21500 16000 1 { T 21389 16308 5 4 0 0 90 0 pin1=GND } L 21700 15900 21700 16100 3 0 0 0 -1 -1 T 21300 16300 5 10 0 0 90 0 device=GND L 21750 15955 21750 16045 3 0 0 0 -1 -1 L 21790 15980 21790 16020 3 0 0 0 -1 -1 { T 21100 16300 5 10 0 0 90 0 gnd=gnd } ] C 23400 15300 1 180 0 EMBEDDEDgnd-1.sym [ P 23300 15200 23300 15000 1 { T 22992 14889 5 4 0 0 180 0 pin1=GND } L 23400 15200 23200 15200 3 0 0 0 -1 -1 T 23000 14800 5 10 0 0 180 0 device=GND L 23345 15250 23255 15250 3 0 0 0 -1 -1 L 23320 15290 23280 15290 3 0 0 0 -1 -1 { T 23000 14600 5 10 0 0 180 0 gnd=gnd } ] C 22100 14800 1 270 0 EMBEDDEDgnd-1.sym [ P 22200 14700 22400 14700 1 { T 22511 14392 5 4 0 0 270 0 pin1=GND } L 22200 14800 22200 14600 3 0 0 0 -1 -1 T 22600 14400 5 10 0 0 270 0 device=GND L 22150 14745 22150 14655 3 0 0 0 -1 -1 L 22110 14720 22110 14680 3 0 0 0 -1 -1 { T 22800 14400 5 10 0 0 270 0 gnd=gnd } ] C 23200 14000 1 0 0 EMBEDDEDgnd-1.sym [ P 23300 14100 23300 14300 1 { T 23608 14411 5 4 0 0 0 0 pin1=GND } L 23200 14100 23400 14100 3 0 0 0 -1 -1 T 23600 14500 5 10 0 0 0 0 device=GND L 23255 14050 23345 14050 3 0 0 0 -1 -1 L 23280 14010 23320 14010 3 0 0 0 -1 -1 { T 23600 14700 5 10 0 0 0 0 gnd=gnd } ] C 18200 14800 1 0 0 EMBEDDEDinductor-1.sym [ P 19100 14900 18950 14900 1 { T 19000 14950 5 8 0 1 0 0 pin2=2 } P 18200 14900 18350 14900 1 { T 18300 14950 5 8 0 1 0 0 pin1=1 } A 18437 14900 75 0 180 3 0 0 0 -1 -1 A 18579 14900 75 0 180 3 0 0 0 -1 -1 A 18721 14900 75 0 180 3 0 0 0 -1 -1 A 18863 14900 75 0 180 3 0 0 0 -1 -1 T 18900 15000 5 10 0 0 0 0 device=INDUCTOR L 18938 14900 18950 14900 3 0 0 0 -1 -1 L 18350 14900 18362 14900 3 0 0 0 -1 -1 A 18508 14900 4 -180 180 3 0 0 0 -1 -1 A 18650 14900 4 -180 180 3 0 0 0 -1 -1 A 18792 14900 4 -180 180 3 0 0 0 -1 -1 ] C 18900 14300 1 0 0 EMBEDDEDvoltage-1.sym [ P 18900 14500 19100 14500 1 { T 19000 14550 5 8 0 1 0 0 pin1=1 } P 19800 14500 19600 14500 1 { T 19600 14550 5 8 0 1 0 0 pin2=2 } V 19350 14500 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 19500 15300 5 10 0 0 0 0 device=VOLTAGE SOURCE L 19100 14500 19150 14500 3 0 0 0 -1 -1 L 19550 14500 19600 14500 3 0 0 0 -1 -1 A 19300 14500 50 0 180 3 0 0 0 -1 -1 A 19400 14500 50 180 180 3 0 0 0 -1 -1 ] C 20000 13900 1 0 0 EMBEDDEDcurrent-1.sym [ P 20000 14100 20200 14100 1 { T 20100 14150 5 8 0 1 0 0 pin1=1 } P 20900 14100 20700 14100 1 { T 20700 14150 5 8 0 1 0 0 pin2=2 } V 20450 14100 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 20600 14900 5 10 0 0 0 0 device=CURRENT SOURCE L 20200 14100 20250 14100 3 0 0 0 -1 -1 L 20650 14100 20700 14100 3 0 0 0 -1 -1 L 20350 14100 20550 14100 3 0 0 0 -1 -1 L 20550 14100 20500 14150 3 0 0 0 -1 -1 L 20550 14100 20500 14050 3 0 0 0 -1 -1 ] C 17600 12000 0 0 0 EMBEDDEDtitle-D.sym [ B 17600 12000 34000 22000 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 44000 13700 5 10 0 0 0 0 graphical=1 L 47600 12600 47600 12000 15 0 0 0 -1 -1 T 44100 12400 15 8 1 0 0 0 FILE: T 47700 12400 15 8 1 0 0 0 REVISION: T 47700 12100 15 8 1 0 0 0 DRAWN BY: T 44100 12100 15 8 1 0 0 0 PAGE T 45800 12100 15 8 1 0 0 0 OF T 44100 12700 15 8 1 0 0 0 TITLE B 44000 12000 7600 1400 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 44000 12600 51600 12600 15 0 0 0 -1 -1 ] C 28600 16600 1 0 0 EMBEDDED7400-1.sym [ L 28900 16800 28900 17400 3 0 0 0 -1 -1 T 28900 16600 9 8 1 0 0 0 7400 L 28900 17400 29300 17400 3 0 0 0 -1 -1 T 29100 17500 5 10 0 0 0 0 device=7400 T 29100 17700 5 10 0 0 0 0 slot=1 T 29100 17900 5 10 0 0 0 0 numslots=4 T 29100 18100 5 10 0 0 0 0 slot1=1,2,3 T 29100 18300 5 10 0 0 0 0 slot2=4,5,6 T 29100 18500 5 10 0 0 0 0 slot3=9,10,8 T 29100 18700 5 10 0 0 0 0 slot4=12,13,11 L 28900 16800 29300 16800 3 0 0 0 -1 -1 A 29300 17100 300 -90 180 3 0 0 0 -1 -1 V 29650 17100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 29700 17100 29900 17100 1 { T 29685 17150 5 8 1 1 0 0 pin3=3 } P 28900 16900 28600 16900 1 { T 28700 16950 5 8 1 1 0 0 pin2=2 } P 28900 17300 28600 17300 1 { T 28700 17350 5 8 1 1 0 0 pin1=1 } ] C 27600 17700 1 0 0 EMBEDDED7400-2.sym [ L 27860 17900 28200 17900 3 0 0 0 -1 -1 L 27860 18500 28200 18500 3 0 0 0 -1 -1 T 28000 18600 5 10 0 0 0 0 device=7400 T 28000 18800 5 10 0 0 0 0 numslots=4 T 28000 19000 5 10 0 0 0 0 slot1=1,2,3 T 28000 19200 5 10 0 0 0 0 slot2=4,5,6 T 28000 19400 5 10 0 0 0 0 slot3=9,10,8 T 28000 19600 5 10 0 0 0 0 slot4=12,13,11 T 27900 17700 9 8 1 0 0 0 7400 A 27600 18200 400 -48 97 3 0 0 0 -1 -1 V 27850 18400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 27850 18000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 28588 18200 28900 18200 1 { T 28673 18250 5 8 1 1 0 0 pin3=3 } P 27800 18400 27600 18400 1 { T 27700 18450 5 8 1 1 0 0 pin1=1 } P 27800 18000 27600 18000 1 { T 27700 18050 5 8 1 1 0 0 pin2=2 } A 28200 18300 400 270 76 3 0 0 0 -1 -1 A 28200 18100 400 90 -76 3 0 0 0 -1 -1 ] C 42700 24100 1 0 0 EMBEDDED74139-2.sym [ V 42950 25500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 42700 25500 42900 25500 1 { T 42770 25550 5 8 1 1 0 0 pin1=1 } T 43060 25500 9 8 1 0 0 0 G P 42700 25200 43000 25200 1 { T 42770 25250 5 8 1 1 0 0 pin2=2 } T 43060 25200 9 8 1 0 0 0 A P 42700 24900 43000 24900 1 { T 42770 24950 5 8 1 1 0 0 pin3=3 } T 43060 24900 9 8 1 0 0 0 B V 44450 25500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 44500 25500 44700 25500 1 { T 44500 25550 5 8 1 1 0 0 pin4=4 } T 44160 25500 9 8 1 0 0 0 Y0 V 44450 25200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 44500 25200 44700 25200 1 { T 44500 25250 5 8 1 1 0 0 pin5=5 } T 44160 25200 9 8 1 0 0 0 Y1 V 44450 24900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 44500 24900 44700 24900 1 { T 44500 24950 5 8 1 1 0 0 pin6=6 } T 44160 24900 9 8 1 0 0 0 Y2 V 44450 24600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 44500 24600 44700 24600 1 { T 44500 24650 5 8 1 1 0 0 pin7=7 } T 44160 24600 9 8 1 0 0 0 Y3 T 43000 25840 9 10 1 0 0 0 74139 B 43000 24300 1400 1500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 43900 26700 5 10 0 0 0 0 device=74139 T 43900 25900 5 10 0 0 0 0 slot=1 T 43900 26100 5 10 0 0 0 0 numslots=2 T 43900 26300 5 10 0 0 0 0 slot1=1,2,3,4,5,6,7 T 43900 26500 5 10 0 0 0 0 slot2=15,14,13,12,11,10,9 ] C 47300 19400 1 0 0 EMBEDDED74273-1.sym [ P 47300 19500 47600 19500 1 { T 47400 19550 5 8 1 1 0 0 pin11=11 } T 47760 19500 9 8 1 0 0 0 CLK P 47300 22500 47600 22500 1 { T 47400 22550 5 8 1 1 0 0 pin3=3 } T 47660 22500 9 8 1 0 0 0 D0 P 47300 22200 47600 22200 1 { T 47400 22250 5 8 1 1 0 0 pin4=4 } T 47660 22200 9 8 1 0 0 0 D1 P 47300 21900 47600 21900 1 { T 47400 21950 5 8 1 1 0 0 pin7=7 } T 47660 21900 9 8 1 0 0 0 D2 P 47300 21600 47600 21600 1 { T 47400 21650 5 8 1 1 0 0 pin8=8 } T 47660 21600 9 8 1 0 0 0 D3 P 47300 21300 47600 21300 1 { T 47400 21350 5 8 1 1 0 0 pin13=13 } T 47660 21300 9 8 1 0 0 0 D4 P 47300 21000 47600 21000 1 { T 47400 21050 5 8 1 1 0 0 pin14=14 } T 47660 21000 9 8 1 0 0 0 D5 P 47300 20700 47600 20700 1 { T 47400 20750 5 8 1 1 0 0 pin17=17 } T 47660 20700 9 8 1 0 0 0 D6 P 47300 20400 47600 20400 1 { T 47400 20450 5 8 1 1 0 0 pin18=18 } T 47660 20400 9 8 1 0 0 0 D7 V 47550 19800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 47300 19800 47500 19800 1 { T 47400 19850 5 8 1 1 0 0 pin1=1 } T 47660 19800 9 8 1 0 0 0 RESET P 49000 22500 49300 22500 1 { T 49085 22550 5 8 1 1 0 0 pin2=2 } T 48760 22500 9 8 1 0 0 0 Q0 P 49000 22200 49300 22200 1 { T 49085 22250 5 8 1 1 0 0 pin5=5 } T 48760 22200 9 8 1 0 0 0 Q1 P 49000 21900 49300 21900 1 { T 49085 21950 5 8 1 1 0 0 pin6=6 } T 48760 21900 9 8 1 0 0 0 Q2 P 49000 21600 49300 21600 1 { T 49085 21650 5 8 1 1 0 0 pin9=9 } T 48760 21600 9 8 1 0 0 0 Q3 P 49000 21300 49300 21300 1 { T 49085 21350 5 8 1 1 0 0 pin12=12 } T 48760 21300 9 8 1 0 0 0 Q4 P 49000 21000 49300 21000 1 { T 49085 21050 5 8 1 1 0 0 pin15=15 } T 48760 21000 9 8 1 0 0 0 Q5 P 49000 20700 49300 20700 1 { T 49085 20750 5 8 1 1 0 0 pin16=16 } T 48760 20700 9 8 1 0 0 0 Q6 P 49000 20400 49300 20400 1 { T 49085 20450 5 8 1 1 0 0 pin19=19 } T 48760 20400 9 8 1 0 0 0 Q7 T 47600 22840 9 10 1 0 0 0 74273 B 47600 19300 1400 3500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 49200 22800 5 10 0 0 0 0 device=74273 L 47600 19600 47700 19500 3 0 0 0 -1 -1 L 47600 19400 47700 19500 3 0 0 0 -1 -1 ] C 33500 19300 1 0 0 EMBEDDED74109-1.sym [ L 33800 20500 33900 20400 3 0 0 0 -1 -1 L 33900 20400 33800 20300 3 0 0 0 -1 -1 T 33900 20500 9 8 1 0 0 0 CLK T 34600 20900 9 8 1 0 0 0 Q T 33900 20900 9 8 1 0 0 0 J T 34600 19900 9 8 1 0 0 0 Q T 34400 19400 9 8 1 0 0 0 74109 B 33800 19600 1000 1600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 35300 21100 5 10 0 0 0 0 device=74109 T 35300 20300 5 10 0 0 0 0 slot=1 T 35300 20500 5 10 0 0 0 0 numslots=2 T 35300 20700 5 10 0 0 0 0 slot1=1,2,3,4,5,6,7 T 35300 20900 5 10 0 0 0 0 slot2=15,14,13,12,11,10,9 T 34156 19699 9 8 1 0 0 0 CLR T 34156 21001 9 8 1 0 0 0 PRE P 33800 20400 33500 20400 1 { T 33570 20450 5 8 1 1 0 0 pin4=4 } P 33800 20900 33500 20900 1 { T 33570 20950 5 8 1 1 0 0 pin2=2 } P 33500 19900 33700 19900 1 { T 33570 19950 5 8 1 1 0 0 pin3=3 } P 35100 20900 34800 20900 1 { T 34885 20950 5 8 1 1 0 0 pin6=6 } P 34300 21300 34300 21500 1 { T 34100 21300 5 8 1 1 0 0 pin5=5 } P 34300 19300 34300 19500 1 { T 34100 19400 5 8 1 1 0 0 pin1=1 } P 34900 19900 35100 19900 1 { T 34900 19950 5 8 1 1 0 0 pin7=7 } V 34850 19900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 34300 21250 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 34300 19550 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 33750 19900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 33900 19900 9 8 1 0 0 0 K ] C 19000 25100 1 0 0 EMBEDDEDidt7204-1.sym [ P 19000 27400 19300 27400 1 { T 19100 27450 5 8 1 1 0 0 pin24=24 } T 19360 27400 9 8 1 0 0 0 D7 P 19000 27700 19300 27700 1 { T 19100 27750 5 8 1 1 0 0 pin25=25 } T 19360 27700 9 8 1 0 0 0 D6 P 19000 28000 19300 28000 1 { T 19100 28050 5 8 1 1 0 0 pin26=26 } P 19000 28300 19300 28300 1 { T 19100 28350 5 8 1 1 0 0 pin27=27 } T 19360 28300 9 8 1 0 0 0 D4 P 19000 28600 19300 28600 1 { T 19100 28650 5 8 1 1 0 0 pin3=3 } T 19360 28600 9 8 1 0 0 0 D3 P 19000 28900 19300 28900 1 { T 19100 28950 5 8 1 1 0 0 pin4=4 } T 19360 28900 9 8 1 0 0 0 D2 P 19000 29200 19300 29200 1 { T 19100 29250 5 8 1 1 0 0 pin5=5 } T 19360 29200 9 8 1 0 0 0 D1 P 19000 29500 19300 29500 1 { T 19100 29550 5 8 1 1 0 0 pin6=6 } T 19360 29500 9 8 1 0 0 0 D0 P 21300 29500 21600 29500 1 { T 21385 29550 5 8 1 1 0 0 pin9=9 } T 21060 29500 9 8 1 0 0 0 Q0 P 21300 29200 21600 29200 1 { T 21385 29250 5 8 1 1 0 0 pin10=10 } T 21060 29200 9 8 1 0 0 0 Q1 P 21300 28900 21600 28900 1 { T 21385 28950 5 8 1 1 0 0 pin11=11 } T 21060 28900 9 8 1 0 0 0 Q2 T 19360 26500 9 8 1 0 0 0 W P 19000 27100 19300 27100 1 { T 19100 27150 5 8 1 1 0 0 pin2=2 } T 19360 27100 9 8 1 0 0 0 D8 V 19250 26500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 19000 26500 19200 26500 1 { T 19100 26550 5 8 1 1 0 0 pin1=1 } V 19250 25310 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 19000 25300 19200 25300 1 { T 19100 25350 5 8 1 1 0 0 pin7=7 } T 19360 25300 9 8 1 0 0 0 XI P 21300 27400 21600 27400 1 { T 21385 27450 5 8 1 1 0 0 pin19=19 } T 21060 27400 9 8 1 0 0 0 D7 P 21300 27700 21600 27700 1 { T 21385 27750 5 8 1 1 0 0 pin18=18 } T 21060 27700 9 8 1 0 0 0 D6 P 21300 28000 21600 28000 1 { T 21385 28050 5 8 1 1 0 0 pin17=17 } T 21060 28000 9 8 1 0 0 0 D5 P 21300 28300 21600 28300 1 { T 21385 28350 5 8 1 1 0 0 pin16=16 } T 21060 28300 9 8 1 0 0 0 D4 P 21300 28600 21600 28600 1 { T 21385 28650 5 8 1 1 0 0 pin12=12 } T 21060 28600 9 8 1 0 0 0 D3 T 19400 29750 9 10 1 0 0 0 IDT7204 B 19300 25100 2000 4600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 21300 29800 5 10 0 0 0 0 device=IDT7204 P 21300 27100 21600 27100 1 { T 21385 27150 5 8 1 1 0 0 pin13=13 } T 21060 27100 9 8 1 0 0 0 D8 V 21350 26500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 21400 26500 21600 26500 1 { T 21400 26550 5 8 1 1 0 0 pin15=15 } T 21160 26500 9 8 1 0 0 0 R T 19360 28000 9 8 1 0 0 0 D5 V 21350 25900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 21350 25600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 21350 25300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 21060 25900 9 8 1 0 0 0 EF T 20760 25300 9 8 1 0 0 0 XO/HF T 21060 25600 9 8 1 0 0 0 FF V 19250 25610 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 19000 25600 19200 25600 1 { T 19015 25650 5 8 1 1 0 0 pin22=22 } T 19360 25600 9 8 1 0 0 0 RS V 19250 25910 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 19000 25900 19200 25900 1 { T 19015 25950 5 8 1 1 0 0 pin23=23 } T 19360 25900 9 8 1 0 0 0 FL/RT P 21400 25900 21600 25900 1 { T 21400 25950 5 8 1 1 0 0 pin21=21 } P 21400 25600 21600 25600 1 { T 21400 25650 5 8 1 1 0 0 pin8=8 } P 21400 25300 21600 25300 1 { T 21400 25350 5 8 1 1 0 0 pin20=20 } ] T 27900 29200 9 40 1 0 0 0 EMBEDDED COMPONENTS! geda-gaf-1.8.2/gschem/tests/oldsym.sym0000664000175000017500000000142512050461155014552 00000000000000v 20020825 B 300 0 700 1000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 300 900 0 900 1 P 300 700 0 700 1 P 300 500 0 500 1 P 300 300 0 300 1 P 300 100 0 100 1 P 1300 900 1000 900 1 P 1300 700 1000 700 1 P 1300 500 1000 500 1 P 1300 300 1000 300 1 P 1300 100 1000 100 1 T 300 1025 9 2 1 0 0 0 this symbol should never be updated T 300 1075 9 2 1 0 0 0 to the current gEDA/gaf file format B 1200 1900 100 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1100 1600 9 8 1 0 0 0 text which should not throw off pin whichends V 1600 1900 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 1800 2100 2400 1900 3 0 0 0 -1 -1 L 2500 1900 3300 2200 3 0 0 0 -1 -1 L 2500 2200 3300 1900 3 0 0 0 -1 -1 T 400 2400 9 9 1 0 0 0 all of these graphics should be ignored by the auto whichend code A 3900 1900 300 29 131 3 0 0 0 -1 -1 geda-gaf-1.8.2/gschem/tests/autonumber_sub_sub1.sch0000664000175000017500000002010112050461155017164 00000000000000v 20060906 1 C 29500 57900 1 0 0 resistor-1.sym { T 29700 58200 5 10 1 1 0 0 1 refdes=R? } C 29500 57400 1 0 0 resistor-1.sym { T 29700 57700 5 10 1 1 0 0 1 refdes=R? } C 29500 56900 1 0 0 resistor-1.sym { T 29700 57200 5 10 1 1 0 0 1 refdes=R? } C 29500 56400 1 0 0 resistor-1.sym { T 29700 56700 5 10 1 1 0 0 1 refdes=R? } C 29500 55900 1 0 0 resistor-1.sym { T 29700 56200 5 10 1 1 0 0 1 refdes=R? } C 29500 55400 1 0 0 resistor-1.sym { T 29700 55700 5 10 1 1 0 0 1 refdes=R? } C 29500 54900 1 0 0 resistor-1.sym { T 29700 55200 5 10 1 1 0 0 1 refdes=R? } C 29500 54400 1 0 0 resistor-1.sym { T 29700 54700 5 10 1 1 0 0 1 refdes=R? } C 29500 53900 1 0 0 resistor-1.sym { T 29700 54200 5 10 1 1 0 0 1 refdes=R? } C 29500 53400 1 0 0 resistor-1.sym { T 29700 53700 5 10 1 1 0 0 1 refdes=R? } C 30600 57900 1 0 0 resistor-1.sym { T 30800 58200 5 10 1 1 0 0 1 refdes=R? } C 30600 57400 1 0 0 resistor-1.sym { T 30800 57700 5 10 1 1 0 0 1 refdes=R? } C 30600 56900 1 0 0 resistor-1.sym { T 30800 57200 5 10 1 1 0 0 1 refdes=R? } C 30600 56400 1 0 0 resistor-1.sym { T 30800 56700 5 10 1 1 0 0 1 refdes=R? } C 30600 55900 1 0 0 resistor-1.sym { T 30800 56200 5 10 1 1 0 0 1 refdes=R? } C 30600 55400 1 0 0 resistor-1.sym { T 30800 55700 5 10 1 1 0 0 1 refdes=R? } C 30600 54900 1 0 0 resistor-1.sym { T 30800 55200 5 10 1 1 0 0 1 refdes=R? } C 30600 54400 1 0 0 resistor-1.sym { T 30800 54700 5 10 1 1 0 0 1 refdes=R? } C 30600 53900 1 0 0 resistor-1.sym { T 30800 54200 5 10 1 1 0 0 1 refdes=R? } C 30600 53400 1 0 0 resistor-1.sym { T 30800 53700 5 10 1 1 0 0 1 refdes=R? } C 31800 57900 1 0 0 resistor-1.sym { T 32000 58200 5 10 1 1 0 0 1 refdes=R? } C 31800 57400 1 0 0 resistor-1.sym { T 32000 57700 5 10 1 1 0 0 1 refdes=R? } C 31800 56900 1 0 0 resistor-1.sym { T 32000 57200 5 10 1 1 0 0 1 refdes=R? } C 31800 56400 1 0 0 resistor-1.sym { T 32000 56700 5 10 1 1 0 0 1 refdes=R? } C 31800 55900 1 0 0 resistor-1.sym { T 32000 56200 5 10 1 1 0 0 1 refdes=R? } C 31800 55400 1 0 0 resistor-1.sym { T 32000 55700 5 10 1 1 0 0 1 refdes=R? } C 31800 54900 1 0 0 resistor-1.sym { T 32000 55200 5 10 1 1 0 0 1 refdes=R? } C 31800 54400 1 0 0 resistor-1.sym { T 32000 54700 5 10 1 1 0 0 1 refdes=R? } C 31800 53900 1 0 0 resistor-1.sym { T 32000 54200 5 10 1 1 0 0 1 refdes=R? } C 31800 53400 1 0 0 resistor-1.sym { T 32000 53700 5 10 1 1 0 0 1 refdes=R? } C 32900 57900 1 0 0 resistor-1.sym { T 33100 58200 5 10 1 1 0 0 1 refdes=R? } C 32900 57400 1 0 0 resistor-1.sym { T 33100 57700 5 10 1 1 0 0 1 refdes=R? } C 32900 56900 1 0 0 resistor-1.sym { T 33100 57200 5 10 1 1 0 0 1 refdes=R? } C 32900 56400 1 0 0 resistor-1.sym { T 33100 56700 5 10 1 1 0 0 1 refdes=R? } C 32900 55900 1 0 0 resistor-1.sym { T 33100 56200 5 10 1 1 0 0 1 refdes=R? } C 32900 55400 1 0 0 resistor-1.sym { T 33100 55700 5 10 1 1 0 0 1 refdes=R? } C 32900 54900 1 0 0 resistor-1.sym { T 33100 55200 5 10 1 1 0 0 1 refdes=R? } C 32900 54400 1 0 0 resistor-1.sym { T 33100 54700 5 10 1 1 0 0 1 refdes=R? } C 32900 53900 1 0 0 resistor-1.sym { T 33100 54200 5 10 1 1 0 0 1 refdes=R? } C 32900 53400 1 0 0 resistor-1.sym { T 33100 53700 5 10 1 1 0 0 1 refdes=R? } C 34000 57900 1 0 0 resistor-1.sym { T 34200 58200 5 10 1 1 0 0 1 refdes=R? } C 34000 57400 1 0 0 resistor-1.sym { T 34200 57700 5 10 1 1 0 0 1 refdes=R? } C 34000 56900 1 0 0 resistor-1.sym { T 34200 57200 5 10 1 1 0 0 1 refdes=R? } C 34000 56400 1 0 0 resistor-1.sym { T 34200 56700 5 10 1 1 0 0 1 refdes=R? } C 34000 55900 1 0 0 resistor-1.sym { T 34200 56200 5 10 1 1 0 0 1 refdes=R? } C 34000 55400 1 0 0 resistor-1.sym { T 34200 55700 5 10 1 1 0 0 1 refdes=R? } C 34000 54900 1 0 0 resistor-1.sym { T 34200 55200 5 10 1 1 0 0 1 refdes=R? } C 34000 54400 1 0 0 resistor-1.sym { T 34200 54700 5 10 1 1 0 0 1 refdes=R? } C 34000 53900 1 0 0 resistor-1.sym { T 34200 54200 5 10 1 1 0 0 1 refdes=R? } C 34000 53400 1 0 0 resistor-1.sym { T 34200 53700 5 10 1 1 0 0 1 refdes=R? } C 35300 57900 1 0 0 resistor-1.sym { T 35500 58200 5 10 1 1 0 0 1 refdes=R? } C 35300 57400 1 0 0 resistor-1.sym { T 35500 57700 5 10 1 1 0 0 1 refdes=R? } C 35300 56900 1 0 0 resistor-1.sym { T 35500 57200 5 10 1 1 0 0 1 refdes=R? } C 35300 56400 1 0 0 resistor-1.sym { T 35500 56700 5 10 1 1 0 0 1 refdes=R? } C 35300 55900 1 0 0 resistor-1.sym { T 35500 56200 5 10 1 1 0 0 1 refdes=R? } C 35300 55400 1 0 0 resistor-1.sym { T 35500 55700 5 10 1 1 0 0 1 refdes=R? } C 35300 54900 1 0 0 resistor-1.sym { T 35500 55200 5 10 1 1 0 0 1 refdes=R? } C 35300 54400 1 0 0 resistor-1.sym { T 35500 54700 5 10 1 1 0 0 1 refdes=R? } C 35300 53900 1 0 0 resistor-1.sym { T 35500 54200 5 10 1 1 0 0 1 refdes=R? } C 35300 53400 1 0 0 resistor-1.sym { T 35500 53700 5 10 1 1 0 0 1 refdes=R? } C 36400 57900 1 0 0 resistor-1.sym { T 36600 58200 5 10 1 1 0 0 1 refdes=R? } C 36400 57400 1 0 0 resistor-1.sym { T 36600 57700 5 10 1 1 0 0 1 refdes=R? } C 36400 56900 1 0 0 resistor-1.sym { T 36600 57200 5 10 1 1 0 0 1 refdes=R? } C 36400 56400 1 0 0 resistor-1.sym { T 36600 56700 5 10 1 1 0 0 1 refdes=R? } C 36400 55900 1 0 0 resistor-1.sym { T 36600 56200 5 10 1 1 0 0 1 refdes=R? } C 36400 55400 1 0 0 resistor-1.sym { T 36600 55700 5 10 1 1 0 0 1 refdes=R? } C 36400 54900 1 0 0 resistor-1.sym { T 36600 55200 5 10 1 1 0 0 1 refdes=R? } C 36400 54400 1 0 0 resistor-1.sym { T 36600 54700 5 10 1 1 0 0 1 refdes=R? } C 36400 53900 1 0 0 resistor-1.sym { T 36600 54200 5 10 1 1 0 0 1 refdes=R? } C 36400 53400 1 0 0 resistor-1.sym { T 36600 53700 5 10 1 1 0 0 1 refdes=R? } C 37600 57900 1 0 0 resistor-1.sym { T 37800 58200 5 10 1 1 0 0 1 refdes=R? } C 37600 57400 1 0 0 resistor-1.sym { T 37800 57700 5 10 1 1 0 0 1 refdes=R? } C 37600 56900 1 0 0 resistor-1.sym { T 37800 57200 5 10 1 1 0 0 1 refdes=R? } C 37600 56400 1 0 0 resistor-1.sym { T 37800 56700 5 10 1 1 0 0 1 refdes=R? } C 37600 55900 1 0 0 resistor-1.sym { T 37800 56200 5 10 1 1 0 0 1 refdes=R? } C 37600 55400 1 0 0 resistor-1.sym { T 37800 55700 5 10 1 1 0 0 1 refdes=R? } C 37600 54900 1 0 0 resistor-1.sym { T 37800 55200 5 10 1 1 0 0 1 refdes=R? } C 37600 54400 1 0 0 resistor-1.sym { T 37800 54700 5 10 1 1 0 0 1 refdes=R? } C 37600 53900 1 0 0 resistor-1.sym { T 37800 54200 5 10 1 1 0 0 1 refdes=R? } C 37600 53400 1 0 0 resistor-1.sym { T 37800 53700 5 10 1 1 0 0 1 refdes=R? } C 38700 57900 1 0 0 resistor-1.sym { T 38900 58200 5 10 1 1 0 0 1 refdes=R? } C 38700 57400 1 0 0 resistor-1.sym { T 38900 57700 5 10 1 1 0 0 1 refdes=R? } C 38700 56900 1 0 0 resistor-1.sym { T 38900 57200 5 10 1 1 0 0 1 refdes=R? } C 38700 56400 1 0 0 resistor-1.sym { T 38900 56700 5 10 1 1 0 0 1 refdes=R? } C 38700 55900 1 0 0 resistor-1.sym { T 38900 56200 5 10 1 1 0 0 1 refdes=R? } C 38700 55400 1 0 0 resistor-1.sym { T 38900 55700 5 10 1 1 0 0 1 refdes=R? } C 38700 54900 1 0 0 resistor-1.sym { T 38900 55200 5 10 1 1 0 0 1 refdes=R? } C 38700 54400 1 0 0 resistor-1.sym { T 38900 54700 5 10 1 1 0 0 1 refdes=R? } C 38700 53900 1 0 0 resistor-1.sym { T 38900 54200 5 10 1 1 0 0 1 refdes=R? } C 38700 53400 1 0 0 resistor-1.sym { T 38900 53700 5 10 1 1 0 0 1 refdes=R? } C 39800 57900 1 0 0 resistor-1.sym { T 40000 58200 5 10 1 1 0 0 1 refdes=R? } C 39800 57400 1 0 0 resistor-1.sym { T 40000 57700 5 10 1 1 0 0 1 refdes=R? } C 39800 56900 1 0 0 resistor-1.sym { T 40000 57200 5 10 1 1 0 0 1 refdes=R? } C 39800 56400 1 0 0 resistor-1.sym { T 40000 56700 5 10 1 1 0 0 1 refdes=R? } C 39800 55900 1 0 0 resistor-1.sym { T 40000 56200 5 10 1 1 0 0 1 refdes=R? } C 39800 55400 1 0 0 resistor-1.sym { T 40000 55700 5 10 1 1 0 0 1 refdes=R? } C 39800 54900 1 0 0 resistor-1.sym { T 40000 55200 5 10 1 1 0 0 1 refdes=R? } C 39800 54400 1 0 0 resistor-1.sym { T 40000 54700 5 10 1 1 0 0 1 refdes=R? } C 39800 53900 1 0 0 resistor-1.sym { T 40000 54200 5 10 1 1 0 0 1 refdes=R? } C 39800 53400 1 0 0 resistor-1.sym { T 40000 53700 5 10 1 1 0 0 1 refdes=R? } C 34600 52100 1 0 0 block.sym { T 34600 51900 5 10 1 0 0 0 1 source=autonumber_sub_sub1.sch T 35000 52400 5 10 1 1 0 0 1 refdes=U? } T 31300 52700 9 10 1 0 0 0 1 This symbols are hierarchy loops L 31100 52500 34100 52500 3 0 0 0 -1 -1 L 34100 52500 33900 52600 3 0 0 0 -1 -1 L 34100 52500 33900 52400 3 0 0 0 -1 -1 C 37900 52100 1 0 0 block.sym { T 37900 51900 5 10 1 0 0 0 1 source=autonumber_sub1.sch T 38300 52400 5 10 1 1 0 0 1 refdes=U? } geda-gaf-1.8.2/gschem/tests/pins.sch0000664000175000017500000000636312050461155014167 00000000000000v 20021103 P 72500 49800 72800 49800 1 0 0 P 73500 49600 73800 49600 1 0 0 P 73800 49600 74100 49600 1 0 0 P 72500 49600 72800 49600 1 0 1 P 73500 49400 73800 49400 1 0 1 P 73800 49400 74100 49400 1 0 1 P 72500 50500 72500 50200 1 0 0 P 72600 48400 72600 48100 1 0 1 P 73700 50300 73700 50000 1 0 0 P 73700 50600 73700 50300 1 0 0 P 74000 50300 74000 50000 1 0 1 P 74000 50600 74000 50300 1 0 1 T 73400 50800 9 10 1 0 0 0 no connect B 73300 49200 1100 1800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 75000 49400 75300 49400 1 0 0 P 75000 49600 75300 49600 1 0 0 P 74700 49600 75000 49600 1 0 1 P 74700 49400 75000 49400 1 0 1 P 74900 50300 74900 50000 1 0 0 P 75200 50300 75200 50000 1 0 0 P 75200 50600 75200 50300 1 0 1 P 74900 50600 74900 50300 1 0 1 B 74500 49200 1000 1800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 74600 50800 9 10 1 0 0 0 connect B 72100 47300 1400 1700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 72400 47700 72700 47700 1 0 1 N 73400 47700 72200 47700 4 T 72200 48800 9 10 1 0 0 0 single connect P 72400 47500 72700 47500 1 0 0 N 73400 47500 72200 47500 4 C 73800 47400 1 0 0 7400-1.sym { T 74100 48300 5 10 1 1 0 0 refdes=U1 } N 73700 48100 75300 48100 4 N 75300 47900 73700 47900 4 N 73700 47700 75300 47700 4 B 73600 47300 1800 1700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 73700 48800 9 10 1 0 0 0 component B 72100 49200 1100 1800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 72200 50800 9 10 1 0 0 0 standalone P 75800 49800 76100 49800 1 0 0 P 76000 47900 76300 47900 1 0 1 P 76000 50700 76000 50400 1 0 0 P 76100 50400 76100 50100 1 0 1 B 75600 49200 1100 1800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 75700 50800 9 10 1 0 0 0 no midpoint N 72600 48600 72600 47900 4 P 72800 50500 72800 50200 1 0 1 P 72900 48400 72900 48100 1 0 0 N 72900 48600 72900 47900 4 N 75800 50400 76500 50400 4 N 76100 49400 76100 50000 4 B 75500 47300 1200 1700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 75600 48800 9 10 1 0 0 0 no midpoint N 76200 47900 76200 48500 4 P 76100 49600 76400 49600 1 0 1 P 76000 48500 76300 48500 1 0 0 P 75800 47800 75800 47500 1 0 0 P 76500 47800 76500 47500 1 0 1 N 75800 47700 76500 47700 4 T 73700 48600 9 10 1 0 0 0 single connect P 77300 49800 77600 49800 1 0 0 P 77200 50400 77200 50100 1 0 0 P 77300 50700 77300 50400 1 0 1 B 76800 49200 1100 1800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 N 77000 50400 77700 50400 4 N 77300 49400 77300 50000 4 P 77000 49600 77300 49600 1 0 1 T 76900 50800 9 10 1 0 0 0 midpoint B 76800 47300 1200 1700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 C 77200 47400 1 0 0 nc-bottom-1.sym C 76900 47900 1 0 0 nc-left-1.sym C 77200 48100 1 0 0 nc-top-1.sym C 77400 47800 1 0 0 nc-right-1.sym P 78500 49800 78800 49800 1 0 0 P 78400 50400 78400 50100 1 0 0 P 78500 50700 78500 50400 1 0 1 B 78000 49200 1100 1800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 78200 49600 78500 49600 1 0 1 T 78100 50800 9 10 1 0 0 0 no midpoint U 78900 50400 78100 50400 10 0 U 78500 50000 78500 49400 10 0 P 78800 49500 78500 49500 1 0 0 P 78500 49900 78200 49900 1 0 1 P 78700 50400 78700 50100 1 0 1 P 78800 50700 78800 50400 1 0 0 B 78100 47300 1100 1700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 U 78700 48000 78700 47600 10 0 P 78700 48000 79000 48000 1 0 0 P 78700 47600 78400 47600 1 0 0 U 78900 48400 78400 48400 10 0 P 78400 48400 78400 48100 1 0 0 P 78900 48700 78900 48400 1 0 1 T 78200 48800 9 10 1 0 0 0 no endpoint T 76900 48800 9 10 1 0 0 0 single pin ok geda-gaf-1.8.2/gschem/tests/all_1.sch0000664000175000017500000000370512050461155014203 00000000000000v 20021103 C 18600 21500 1 0 0 lm555-1.sym C 28800 22500 1 0 0 am9128-1.sym C 18000 18700 1 0 0 capacitor-1.sym C 18000 18000 1 0 0 capacitor-2.sym C 20300 18200 1 0 0 led-1.sym C 20300 16800 1 0 0 osc-1.sym C 18000 17400 1 0 0 resistor-1.sym C 26000 17300 1 0 0 7402-1.sym C 25100 16500 1 0 0 7404-1.sym C 26600 15900 1 0 0 7404-2.sym C 25000 15300 1 0 0 7407-1.sym C 26500 14600 1 0 0 7408-1.sym C 24900 13700 1 0 0 7410-1.sym C 26600 13100 1 0 0 7411-1.sym C 29400 18100 1 0 0 74191-1.sym C 27400 16600 1 0 0 74265-1.sym C 28000 15300 1 0 0 7432-1.sym C 35200 19100 1 0 0 74541-1.sym C 31700 19300 1 0 0 7474-1.sym C 28200 13700 1 0 0 7486-1.sym C 47400 23300 1 0 0 74541-1.sym C 44900 19700 1 0 0 74138-1.sym C 35500 23100 1 0 0 74139-1.sym C 45000 23000 1 0 0 74151-1.sym C 41900 13900 1 0 0 74153-1.sym C 42700 18400 1 0 0 74154-1.sym C 48900 15600 1 0 0 74161-1.sym C 40200 23500 1 0 0 74164-1.sym C 40200 19500 1 0 0 74245-1.sym C 37800 23000 1 0 0 74574-1.sym C 37800 19600 1 0 0 74123-1.sym C 18300 16500 1 0 0 zener-1.sym C 18400 15800 1 0 0 diode-1.sym C 35300 12400 1 0 0 27512-1.sym C 38300 12400 1 0 0 62256-1.sym C 40900 30900 1 90 0 8086-1.sym C 45000 14200 1 0 0 8254-1.sym C 33100 30900 1 90 0 8255A-1.sym C 32700 22100 1 0 0 8259A-1.sym C 32200 12400 1 0 0 27256-1.sym C 25600 30900 1 90 0 8088-1.sym C 20600 16100 1 0 0 decon-1.sym C 20200 15300 1 0 0 in-1.sym C 20900 14900 1 0 0 out-1.sym C 22400 15500 1 0 0 vdd-1.sym C 23400 16100 1 90 0 vdd-1.sym C 22800 17500 1 180 0 vdd-1.sym C 23300 17200 1 270 0 vdd-1.sym C 21800 15900 1 90 0 gnd-1.sym C 23400 15300 1 180 0 gnd-1.sym C 22100 14800 1 270 0 gnd-1.sym C 23200 14000 1 0 0 gnd-1.sym C 18200 14800 1 0 0 inductor-1.sym C 18900 14300 1 0 0 voltage-1.sym C 20000 13900 1 0 0 current-1.sym C 17600 12000 0 0 0 title-D.sym C 28600 16600 1 0 0 7400-1.sym C 27600 17700 1 0 0 7400-2.sym C 42700 24100 1 0 0 74139-2.sym C 47300 19400 1 0 0 74273-1.sym C 33500 19300 1 0 0 74109-1.sym C 19000 25100 1 0 0 idt7204-1.sym geda-gaf-1.8.2/gschem/tests/multiline3.sch0000664000175000017500000004524712050461155015307 00000000000000v 20031231 1 T 48400 59900 9 10 1 0 0 0 3 Line1 Line2 Line3 L 48300 59900 48300 60600 3 0 0 0 -1 -1 L 48300 59900 48000 59900 3 0 0 0 -1 -1 B 47800 57700 4100 3000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 48300 60600 48000 59900 3 0 0 0 -1 -1 L 48300 59400 48000 59400 3 0 0 0 -1 -1 T 48400 59400 9 10 1 0 0 1 3 Line1a Line2b Line3c L 48300 59700 48300 59000 3 0 0 0 -1 -1 L 48300 59000 48100 59000 3 0 0 0 -1 -1 L 48300 59700 48100 59700 3 0 0 0 -1 -1 L 48400 59400 49000 59400 3 0 0 0 -1 -1 L 48300 59900 48900 59900 3 0 0 0 -1 -1 L 48300 59400 48100 59700 3 0 0 0 -1 -1 L 48300 59400 48100 59000 3 0 0 0 -1 -1 L 48300 58800 48300 58100 3 0 0 0 -1 -1 L 48300 58800 48100 58800 3 0 0 0 -1 -1 L 48400 58800 49000 58800 3 0 0 0 -1 -1 T 48400 58800 9 10 1 0 0 2 3 Line1a Line2b Line3c L 48300 58100 48100 58800 3 0 0 0 -1 -1 L 49600 59900 49600 60600 3 0 0 0 -1 -1 L 49600 59900 49300 59900 3 0 0 0 -1 -1 L 49600 60600 49300 59900 3 0 0 0 -1 -1 L 49600 59400 49300 59400 3 0 0 0 -1 -1 L 49600 59700 49600 59000 3 0 0 0 -1 -1 L 49600 59000 49400 59000 3 0 0 0 -1 -1 L 49600 59700 49400 59700 3 0 0 0 -1 -1 L 49700 59400 50300 59400 3 0 0 0 -1 -1 L 49600 59900 50200 59900 3 0 0 0 -1 -1 L 49600 59400 49400 59700 3 0 0 0 -1 -1 L 49600 59400 49400 59000 3 0 0 0 -1 -1 L 49600 58800 49600 58100 3 0 0 0 -1 -1 L 49600 58800 49400 58800 3 0 0 0 -1 -1 L 49700 58800 50300 58800 3 0 0 0 -1 -1 L 49600 58100 49400 58800 3 0 0 0 -1 -1 T 50000 59900 9 10 1 0 0 3 3 Line1 Line2 Line3 T 50000 59400 9 10 1 0 0 4 3 Line1a Line2b Line3c T 50000 58800 9 10 1 0 0 5 3 Line1a Line2b Line3c L 50000 57700 50000 60700 3 0 0 0 -1 -1 L 51300 59900 51300 60600 3 0 0 0 -1 -1 L 51300 59900 51600 59900 3 0 0 0 -1 -1 L 51300 60600 51600 59900 3 0 0 0 -1 -1 L 51300 59400 51600 59400 3 0 0 0 -1 -1 L 51300 59700 51300 59000 3 0 0 0 -1 -1 L 51300 59000 51500 59000 3 0 0 0 -1 -1 L 51300 59700 51500 59700 3 0 0 0 -1 -1 L 50600 59400 51200 59400 3 0 0 0 -1 -1 L 50600 59900 51200 59900 3 0 0 0 -1 -1 L 51300 59400 51500 59700 3 0 0 0 -1 -1 L 51300 59400 51500 59000 3 0 0 0 -1 -1 L 51300 58800 51300 58100 3 0 0 0 -1 -1 L 51300 58800 51500 58800 3 0 0 0 -1 -1 L 50600 58800 51200 58800 3 0 0 0 -1 -1 L 51300 58100 51500 58800 3 0 0 0 -1 -1 T 51200 59900 9 10 1 0 0 6 3 Line1 Line2 Line3 T 51200 59400 9 10 1 0 0 7 3 Line1a Line2b Line3c T 51200 58800 9 10 1 0 0 8 3 Line1a Line2b Line3c L 51200 60700 51200 57700 3 0 0 0 -1 -1 L 45400 57100 44700 57100 3 0 0 0 -1 -1 L 45400 57100 45400 56800 3 0 0 0 -1 -1 B 44600 56600 3000 4100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 44700 57100 45400 56800 3 0 0 0 -1 -1 L 45900 57100 45900 56800 3 0 0 0 -1 -1 L 45600 57100 46300 57100 3 0 0 0 -1 -1 L 46300 57100 46300 56900 3 0 0 0 -1 -1 L 45600 57100 45600 56900 3 0 0 0 -1 -1 L 45900 57200 45900 57800 3 0 0 0 -1 -1 L 45400 57100 45400 57700 3 0 0 0 -1 -1 L 45900 57100 45600 56900 3 0 0 0 -1 -1 L 45900 57100 46300 56900 3 0 0 0 -1 -1 L 46500 57100 47200 57100 3 0 0 0 -1 -1 L 46500 57100 46500 56900 3 0 0 0 -1 -1 L 46500 57200 46500 57800 3 0 0 0 -1 -1 L 47200 57100 46500 56900 3 0 0 0 -1 -1 L 45400 58400 44700 58400 3 0 0 0 -1 -1 L 45400 58400 45400 58100 3 0 0 0 -1 -1 L 44700 58400 45400 58100 3 0 0 0 -1 -1 L 45900 58400 45900 58100 3 0 0 0 -1 -1 L 45600 58400 46300 58400 3 0 0 0 -1 -1 L 46300 58400 46300 58200 3 0 0 0 -1 -1 L 45600 58400 45600 58200 3 0 0 0 -1 -1 L 45900 58500 45900 59100 3 0 0 0 -1 -1 L 45400 58400 45400 59000 3 0 0 0 -1 -1 L 45900 58400 45600 58200 3 0 0 0 -1 -1 L 45900 58400 46300 58200 3 0 0 0 -1 -1 L 46500 58400 47200 58400 3 0 0 0 -1 -1 L 46500 58400 46500 58200 3 0 0 0 -1 -1 L 46500 58500 46500 59100 3 0 0 0 -1 -1 L 47200 58400 46500 58200 3 0 0 0 -1 -1 L 47600 58800 44600 58800 3 0 0 0 -1 -1 L 45400 60100 44700 60100 3 0 0 0 -1 -1 L 45400 60100 45400 60400 3 0 0 0 -1 -1 L 44700 60100 45400 60400 3 0 0 0 -1 -1 L 45900 60100 45900 60400 3 0 0 0 -1 -1 L 45600 60100 46300 60100 3 0 0 0 -1 -1 L 46300 60100 46300 60300 3 0 0 0 -1 -1 L 45600 60100 45600 60300 3 0 0 0 -1 -1 L 45900 59400 45900 60000 3 0 0 0 -1 -1 L 45400 59400 45400 60000 3 0 0 0 -1 -1 L 45900 60100 45600 60300 3 0 0 0 -1 -1 L 45900 60100 46300 60300 3 0 0 0 -1 -1 L 46500 60100 47200 60100 3 0 0 0 -1 -1 L 46500 60100 46500 60300 3 0 0 0 -1 -1 L 46500 59400 46500 60000 3 0 0 0 -1 -1 L 47200 60100 46500 60300 3 0 0 0 -1 -1 L 44600 60000 47600 60000 3 0 0 0 -1 -1 T 45400 57200 9 10 1 0 90 0 3 Line1 Line2 Line3 T 45900 57200 9 10 1 0 90 1 3 Line1a Line2b Line3c T 46500 57200 9 10 1 0 90 2 3 Line1a Line2b Line3c T 45400 58800 9 10 1 0 90 3 3 Line1 Line2 Line3 T 45900 58800 9 10 1 0 90 4 3 Line1a Line2b Line3c T 46500 58800 9 10 1 0 90 5 3 Line1a Line2b Line3c T 45400 60000 9 10 1 0 90 6 3 Line1 Line2 Line3 T 45900 60000 9 10 1 0 90 7 3 Line1a Line2b Line3c T 46500 60000 9 10 1 0 90 8 3 Line1a Line2b Line3c L 51400 55300 51400 54600 3 0 0 0 -1 -1 L 51400 55300 51700 55300 3 0 0 0 -1 -1 B 47800 54500 4100 3000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 51400 54600 51700 55300 3 0 0 0 -1 -1 L 51400 55800 51700 55800 3 0 0 0 -1 -1 L 51400 55500 51400 56200 3 0 0 0 -1 -1 L 51400 56200 51600 56200 3 0 0 0 -1 -1 L 51400 55500 51600 55500 3 0 0 0 -1 -1 L 51300 55800 50700 55800 3 0 0 0 -1 -1 L 51400 55300 50800 55300 3 0 0 0 -1 -1 L 51400 55800 51600 55500 3 0 0 0 -1 -1 L 51400 55800 51600 56200 3 0 0 0 -1 -1 L 51400 56400 51400 57100 3 0 0 0 -1 -1 L 51400 56400 51600 56400 3 0 0 0 -1 -1 L 51300 56400 50700 56400 3 0 0 0 -1 -1 L 51400 57100 51600 56400 3 0 0 0 -1 -1 L 50100 55300 50100 54600 3 0 0 0 -1 -1 L 50100 55300 50400 55300 3 0 0 0 -1 -1 L 50100 54600 50400 55300 3 0 0 0 -1 -1 L 50100 55800 50400 55800 3 0 0 0 -1 -1 L 50100 55500 50100 56200 3 0 0 0 -1 -1 L 50100 56200 50300 56200 3 0 0 0 -1 -1 L 50100 55500 50300 55500 3 0 0 0 -1 -1 L 50000 55800 49400 55800 3 0 0 0 -1 -1 L 50100 55300 49500 55300 3 0 0 0 -1 -1 L 50100 55800 50300 55500 3 0 0 0 -1 -1 L 50100 55800 50300 56200 3 0 0 0 -1 -1 L 50100 56400 50100 57100 3 0 0 0 -1 -1 L 50100 56400 50300 56400 3 0 0 0 -1 -1 L 50000 56400 49400 56400 3 0 0 0 -1 -1 L 50100 57100 50300 56400 3 0 0 0 -1 -1 L 49700 57500 49700 54500 3 0 0 0 -1 -1 L 48400 55300 48400 54600 3 0 0 0 -1 -1 L 48400 55300 48100 55300 3 0 0 0 -1 -1 L 48400 54600 48100 55300 3 0 0 0 -1 -1 L 48400 55800 48100 55800 3 0 0 0 -1 -1 L 48400 55500 48400 56200 3 0 0 0 -1 -1 L 48400 56200 48200 56200 3 0 0 0 -1 -1 L 48400 55500 48200 55500 3 0 0 0 -1 -1 L 49100 55800 48500 55800 3 0 0 0 -1 -1 L 49100 55300 48500 55300 3 0 0 0 -1 -1 L 48400 55800 48200 55500 3 0 0 0 -1 -1 L 48400 55800 48200 56200 3 0 0 0 -1 -1 L 48400 56400 48400 57100 3 0 0 0 -1 -1 L 48400 56400 48200 56400 3 0 0 0 -1 -1 L 49100 56400 48500 56400 3 0 0 0 -1 -1 L 48400 57100 48200 56400 3 0 0 0 -1 -1 L 48500 54500 48500 57500 3 0 0 0 -1 -1 T 51300 55300 9 10 1 0 180 0 3 Line1 Line2 Line3 T 51300 55800 9 10 1 0 180 1 3 Line1a Line2b Line3c T 51300 56400 9 10 1 0 180 2 3 Line1a Line2b Line3c T 49700 55300 9 10 1 0 180 3 3 Line1 Line2 Line3 T 49700 55800 9 10 1 0 180 4 3 Line1a Line2b Line3c T 49700 56400 9 10 1 0 180 5 3 Line1a Line2b Line3c T 48500 55300 9 10 1 0 180 6 3 Line1 Line2 Line3 T 48500 55800 9 10 1 0 180 7 3 Line1a Line2b Line3c T 48500 56400 9 10 1 0 180 8 3 Line1a Line2b Line3c L 54300 60200 55000 60200 3 0 0 0 -1 -1 L 54300 60200 54300 60500 3 0 0 0 -1 -1 B 52100 56600 3000 4100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 55000 60200 54300 60500 3 0 0 0 -1 -1 L 53800 60200 53800 60500 3 0 0 0 -1 -1 L 54100 60200 53400 60200 3 0 0 0 -1 -1 L 53400 60200 53400 60400 3 0 0 0 -1 -1 L 54100 60200 54100 60400 3 0 0 0 -1 -1 L 53800 60100 53800 59500 3 0 0 0 -1 -1 L 54300 60200 54300 59600 3 0 0 0 -1 -1 L 53800 60200 54100 60400 3 0 0 0 -1 -1 L 53800 60200 53400 60400 3 0 0 0 -1 -1 L 53200 60200 52500 60200 3 0 0 0 -1 -1 L 53200 60200 53200 60400 3 0 0 0 -1 -1 L 53200 60100 53200 59500 3 0 0 0 -1 -1 L 52500 60200 53200 60400 3 0 0 0 -1 -1 L 54300 58900 55000 58900 3 0 0 0 -1 -1 L 54300 58900 54300 59200 3 0 0 0 -1 -1 L 55000 58900 54300 59200 3 0 0 0 -1 -1 L 53800 58900 53800 59200 3 0 0 0 -1 -1 L 54100 58900 53400 58900 3 0 0 0 -1 -1 L 53400 58900 53400 59100 3 0 0 0 -1 -1 L 54100 58900 54100 59100 3 0 0 0 -1 -1 L 53800 58800 53800 58200 3 0 0 0 -1 -1 L 54300 58900 54300 58300 3 0 0 0 -1 -1 L 53800 58900 54100 59100 3 0 0 0 -1 -1 L 53800 58900 53400 59100 3 0 0 0 -1 -1 L 53200 58900 52500 58900 3 0 0 0 -1 -1 L 53200 58900 53200 59100 3 0 0 0 -1 -1 L 53200 58800 53200 58200 3 0 0 0 -1 -1 L 52500 58900 53200 59100 3 0 0 0 -1 -1 L 52100 58500 55100 58500 3 0 0 0 -1 -1 L 54300 57200 55000 57200 3 0 0 0 -1 -1 L 54300 57200 54300 56900 3 0 0 0 -1 -1 L 55000 57200 54300 56900 3 0 0 0 -1 -1 L 53800 57200 53800 56900 3 0 0 0 -1 -1 L 54100 57200 53400 57200 3 0 0 0 -1 -1 L 53400 57200 53400 57000 3 0 0 0 -1 -1 L 54100 57200 54100 57000 3 0 0 0 -1 -1 L 53800 57900 53800 57300 3 0 0 0 -1 -1 L 54300 57900 54300 57300 3 0 0 0 -1 -1 L 53800 57200 54100 57000 3 0 0 0 -1 -1 L 53800 57200 53400 57000 3 0 0 0 -1 -1 L 53200 57200 52500 57200 3 0 0 0 -1 -1 L 53200 57200 53200 57000 3 0 0 0 -1 -1 L 53200 57900 53200 57300 3 0 0 0 -1 -1 L 52500 57200 53200 57000 3 0 0 0 -1 -1 L 55100 57300 52100 57300 3 0 0 0 -1 -1 T 54300 60100 9 10 1 0 270 0 3 Line1 Line2 Line3 T 53800 60100 9 10 1 0 270 1 3 Line1a Line2b Line3c T 53200 60100 9 10 1 0 270 2 3 Line1a Line2b Line3c T 54300 58500 9 10 1 0 270 3 3 Line1 Line2 Line3 T 53800 58500 9 10 1 0 270 4 3 Line1a Line2b Line3c T 53200 58500 9 10 1 0 270 5 3 Line1a Line2b Line3c T 54300 57300 9 10 1 0 270 6 3 Line1 Line2 Line3 T 53800 57300 9 10 1 0 270 7 3 Line1a Line2b Line3c T 53200 57300 9 10 1 0 270 8 3 Line1a Line2b Line3c L 51400 53200 51400 53900 3 0 0 0 -1 -1 L 51400 53200 51700 53200 3 0 0 0 -1 -1 B 47800 51000 4100 3000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 51400 53900 51700 53200 3 0 0 0 -1 -1 L 51400 52700 51700 52700 3 0 0 0 -1 -1 L 51400 53000 51400 52300 3 0 0 0 -1 -1 L 51400 52300 51600 52300 3 0 0 0 -1 -1 L 51400 53000 51600 53000 3 0 0 0 -1 -1 L 51300 52700 50700 52700 3 0 0 0 -1 -1 L 51400 53200 50800 53200 3 0 0 0 -1 -1 L 51400 52700 51600 53000 3 0 0 0 -1 -1 L 51400 52700 51600 52300 3 0 0 0 -1 -1 L 51400 52100 51400 51400 3 0 0 0 -1 -1 L 51400 52100 51600 52100 3 0 0 0 -1 -1 L 51300 52100 50700 52100 3 0 0 0 -1 -1 L 51400 51400 51600 52100 3 0 0 0 -1 -1 L 50100 53200 50100 53900 3 0 0 0 -1 -1 L 50100 53200 50400 53200 3 0 0 0 -1 -1 L 50100 53900 50400 53200 3 0 0 0 -1 -1 L 50100 52700 50400 52700 3 0 0 0 -1 -1 L 50100 53000 50100 52300 3 0 0 0 -1 -1 L 50100 52300 50300 52300 3 0 0 0 -1 -1 L 50100 53000 50300 53000 3 0 0 0 -1 -1 L 50000 52700 49400 52700 3 0 0 0 -1 -1 L 50100 53200 49500 53200 3 0 0 0 -1 -1 L 50100 52700 50300 53000 3 0 0 0 -1 -1 L 50100 52700 50300 52300 3 0 0 0 -1 -1 L 50100 52100 50100 51400 3 0 0 0 -1 -1 L 50100 52100 50300 52100 3 0 0 0 -1 -1 L 50000 52100 49400 52100 3 0 0 0 -1 -1 L 50100 51400 50300 52100 3 0 0 0 -1 -1 L 49700 51000 49700 54000 3 0 0 0 -1 -1 L 48400 53200 48400 53900 3 0 0 0 -1 -1 L 48400 53200 48100 53200 3 0 0 0 -1 -1 L 48400 53900 48100 53200 3 0 0 0 -1 -1 L 48400 52700 48100 52700 3 0 0 0 -1 -1 L 48400 53000 48400 52300 3 0 0 0 -1 -1 L 48400 52300 48200 52300 3 0 0 0 -1 -1 L 48400 53000 48200 53000 3 0 0 0 -1 -1 L 49100 52700 48500 52700 3 0 0 0 -1 -1 L 49100 53200 48500 53200 3 0 0 0 -1 -1 L 48400 52700 48200 53000 3 0 0 0 -1 -1 L 48400 52700 48200 52300 3 0 0 0 -1 -1 L 48400 52100 48400 51400 3 0 0 0 -1 -1 L 48400 52100 48200 52100 3 0 0 0 -1 -1 L 49100 52100 48500 52100 3 0 0 0 -1 -1 L 48400 51400 48200 52100 3 0 0 0 -1 -1 L 48500 54000 48500 51000 3 0 0 0 -1 -1 L 54300 50400 55000 50400 3 0 0 0 -1 -1 L 54300 50400 54300 50100 3 0 0 0 -1 -1 B 52100 49900 3000 4100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 55000 50400 54300 50100 3 0 0 0 -1 -1 L 53800 50400 53800 50100 3 0 0 0 -1 -1 L 54100 50400 53400 50400 3 0 0 0 -1 -1 L 53400 50400 53400 50200 3 0 0 0 -1 -1 L 54100 50400 54100 50200 3 0 0 0 -1 -1 L 53800 50500 53800 51100 3 0 0 0 -1 -1 L 54300 50400 54300 51000 3 0 0 0 -1 -1 L 53800 50400 54100 50200 3 0 0 0 -1 -1 L 53800 50400 53400 50200 3 0 0 0 -1 -1 L 53200 50400 52500 50400 3 0 0 0 -1 -1 L 53200 50400 53200 50200 3 0 0 0 -1 -1 L 53200 50500 53200 51100 3 0 0 0 -1 -1 L 52500 50400 53200 50200 3 0 0 0 -1 -1 L 54300 51700 55000 51700 3 0 0 0 -1 -1 L 54300 51700 54300 51400 3 0 0 0 -1 -1 L 55000 51700 54300 51400 3 0 0 0 -1 -1 L 53800 51700 53800 51400 3 0 0 0 -1 -1 L 54100 51700 53400 51700 3 0 0 0 -1 -1 L 53400 51700 53400 51500 3 0 0 0 -1 -1 L 54100 51700 54100 51500 3 0 0 0 -1 -1 L 53800 51800 53800 52400 3 0 0 0 -1 -1 L 54300 51700 54300 52300 3 0 0 0 -1 -1 L 53800 51700 54100 51500 3 0 0 0 -1 -1 L 53800 51700 53400 51500 3 0 0 0 -1 -1 L 53200 51700 52500 51700 3 0 0 0 -1 -1 L 53200 51700 53200 51500 3 0 0 0 -1 -1 L 53200 51800 53200 52400 3 0 0 0 -1 -1 L 52500 51700 53200 51500 3 0 0 0 -1 -1 L 52100 52100 55100 52100 3 0 0 0 -1 -1 L 54300 53400 55000 53400 3 0 0 0 -1 -1 L 54300 53400 54300 53700 3 0 0 0 -1 -1 L 55000 53400 54300 53700 3 0 0 0 -1 -1 L 53800 53400 53800 53700 3 0 0 0 -1 -1 L 54100 53400 53400 53400 3 0 0 0 -1 -1 L 53400 53400 53400 53600 3 0 0 0 -1 -1 L 54100 53400 54100 53600 3 0 0 0 -1 -1 L 53800 52700 53800 53300 3 0 0 0 -1 -1 L 54300 52700 54300 53300 3 0 0 0 -1 -1 L 53800 53400 54100 53600 3 0 0 0 -1 -1 L 53800 53400 53400 53600 3 0 0 0 -1 -1 L 53200 53400 52500 53400 3 0 0 0 -1 -1 L 53200 53400 53200 53600 3 0 0 0 -1 -1 L 53200 52700 53200 53300 3 0 0 0 -1 -1 L 52500 53400 53200 53600 3 0 0 0 -1 -1 L 55100 53300 52100 53300 3 0 0 0 -1 -1 L 48300 48600 48300 47900 3 0 0 0 -1 -1 L 48300 48600 48000 48600 3 0 0 0 -1 -1 B 47800 47800 4100 3000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 48300 47900 48000 48600 3 0 0 0 -1 -1 L 48300 49100 48000 49100 3 0 0 0 -1 -1 L 48300 48800 48300 49500 3 0 0 0 -1 -1 L 48300 49500 48100 49500 3 0 0 0 -1 -1 L 48300 48800 48100 48800 3 0 0 0 -1 -1 L 48400 49100 49000 49100 3 0 0 0 -1 -1 L 48300 48600 48900 48600 3 0 0 0 -1 -1 L 48300 49100 48100 48800 3 0 0 0 -1 -1 L 48300 49100 48100 49500 3 0 0 0 -1 -1 L 48300 49700 48300 50400 3 0 0 0 -1 -1 L 48300 49700 48100 49700 3 0 0 0 -1 -1 L 48400 49700 49000 49700 3 0 0 0 -1 -1 L 48300 50400 48100 49700 3 0 0 0 -1 -1 L 49600 48600 49600 47900 3 0 0 0 -1 -1 L 49600 48600 49300 48600 3 0 0 0 -1 -1 L 49600 47900 49300 48600 3 0 0 0 -1 -1 L 49600 49100 49300 49100 3 0 0 0 -1 -1 L 49600 48800 49600 49500 3 0 0 0 -1 -1 L 49600 49500 49400 49500 3 0 0 0 -1 -1 L 49600 48800 49400 48800 3 0 0 0 -1 -1 L 49700 49100 50300 49100 3 0 0 0 -1 -1 L 49600 48600 50200 48600 3 0 0 0 -1 -1 L 49600 49100 49400 48800 3 0 0 0 -1 -1 L 49600 49100 49400 49500 3 0 0 0 -1 -1 L 49600 49700 49600 50400 3 0 0 0 -1 -1 L 49600 49700 49400 49700 3 0 0 0 -1 -1 L 49700 49700 50300 49700 3 0 0 0 -1 -1 L 49600 50400 49400 49700 3 0 0 0 -1 -1 L 50000 50800 50000 47800 3 0 0 0 -1 -1 L 51300 48600 51300 47900 3 0 0 0 -1 -1 L 51300 48600 51600 48600 3 0 0 0 -1 -1 L 51300 47900 51600 48600 3 0 0 0 -1 -1 L 51300 49100 51600 49100 3 0 0 0 -1 -1 L 51300 48800 51300 49500 3 0 0 0 -1 -1 L 51300 49500 51500 49500 3 0 0 0 -1 -1 L 51300 48800 51500 48800 3 0 0 0 -1 -1 L 50600 49100 51200 49100 3 0 0 0 -1 -1 L 50600 48600 51200 48600 3 0 0 0 -1 -1 L 51300 49100 51500 48800 3 0 0 0 -1 -1 L 51300 49100 51500 49500 3 0 0 0 -1 -1 L 51300 49700 51300 50400 3 0 0 0 -1 -1 L 51300 49700 51500 49700 3 0 0 0 -1 -1 L 50600 49700 51200 49700 3 0 0 0 -1 -1 L 51300 50400 51500 49700 3 0 0 0 -1 -1 L 51200 47800 51200 50800 3 0 0 0 -1 -1 L 45400 53500 44700 53500 3 0 0 0 -1 -1 L 45400 53500 45400 53800 3 0 0 0 -1 -1 B 44600 49900 3000 4100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 44700 53500 45400 53800 3 0 0 0 -1 -1 L 45900 53500 45900 53800 3 0 0 0 -1 -1 L 45600 53500 46300 53500 3 0 0 0 -1 -1 L 46300 53500 46300 53700 3 0 0 0 -1 -1 L 45600 53500 45600 53700 3 0 0 0 -1 -1 L 45900 53400 45900 52800 3 0 0 0 -1 -1 L 45400 53500 45400 52900 3 0 0 0 -1 -1 L 45900 53500 45600 53700 3 0 0 0 -1 -1 L 45900 53500 46300 53700 3 0 0 0 -1 -1 L 46500 53500 47200 53500 3 0 0 0 -1 -1 L 46500 53500 46500 53700 3 0 0 0 -1 -1 L 46500 53400 46500 52800 3 0 0 0 -1 -1 L 47200 53500 46500 53700 3 0 0 0 -1 -1 L 45400 52200 44700 52200 3 0 0 0 -1 -1 L 45400 52200 45400 52500 3 0 0 0 -1 -1 L 44700 52200 45400 52500 3 0 0 0 -1 -1 L 45900 52200 45900 52500 3 0 0 0 -1 -1 L 45600 52200 46300 52200 3 0 0 0 -1 -1 L 46300 52200 46300 52400 3 0 0 0 -1 -1 L 45600 52200 45600 52400 3 0 0 0 -1 -1 L 45900 52100 45900 51500 3 0 0 0 -1 -1 L 45400 52200 45400 51600 3 0 0 0 -1 -1 L 45900 52200 45600 52400 3 0 0 0 -1 -1 L 45900 52200 46300 52400 3 0 0 0 -1 -1 L 46500 52200 47200 52200 3 0 0 0 -1 -1 L 46500 52200 46500 52400 3 0 0 0 -1 -1 L 46500 52100 46500 51500 3 0 0 0 -1 -1 L 47200 52200 46500 52400 3 0 0 0 -1 -1 L 47600 51800 44600 51800 3 0 0 0 -1 -1 L 45400 50500 44700 50500 3 0 0 0 -1 -1 L 45400 50500 45400 50200 3 0 0 0 -1 -1 L 44700 50500 45400 50200 3 0 0 0 -1 -1 L 45900 50500 45900 50200 3 0 0 0 -1 -1 L 45600 50500 46300 50500 3 0 0 0 -1 -1 L 46300 50500 46300 50300 3 0 0 0 -1 -1 L 45600 50500 45600 50300 3 0 0 0 -1 -1 L 45900 51200 45900 50600 3 0 0 0 -1 -1 L 45400 51200 45400 50600 3 0 0 0 -1 -1 L 45900 50500 45600 50300 3 0 0 0 -1 -1 L 45900 50500 46300 50300 3 0 0 0 -1 -1 L 46500 50500 47200 50500 3 0 0 0 -1 -1 L 46500 50500 46500 50300 3 0 0 0 -1 -1 L 46500 51200 46500 50600 3 0 0 0 -1 -1 L 47200 50500 46500 50300 3 0 0 0 -1 -1 L 44600 50600 47600 50600 3 0 0 0 -1 -1 T 51300 53200 9 10 1 0 0 6 3 Line1 Line2 Line3 T 51300 52700 9 10 1 0 0 7 3 Line1a Line2b Line3c T 51300 52100 9 10 1 0 0 8 3 Line1a Line2b Line3c T 49700 53200 9 10 1 0 0 3 3 Line1 Line2 Line3 T 49700 52700 9 10 1 0 0 4 3 Line1a Line2b Line3c T 49700 52100 9 10 1 0 0 5 3 Line1a Line2b Line3c T 48500 53200 9 10 1 0 0 0 3 Line1 Line2 Line3 T 48500 52700 9 10 1 0 0 1 3 Line1a Line2b Line3c T 48500 52100 9 10 1 0 0 2 3 Line1a Line2b Line3c T 54300 50500 9 10 1 0 90 2 3 Line1 Line2 Line3 T 53800 50500 9 10 1 0 90 1 3 Line1a Line2b Line3c T 53200 50500 9 10 1 0 90 0 3 Line1a Line2b Line3c T 54300 52100 9 10 1 0 90 5 3 Line1 Line2 Line3 T 53800 52100 9 10 1 0 90 4 3 Line1a Line2b Line3c T 53200 52100 9 10 1 0 90 3 3 Line1a Line2b Line3c T 54300 53300 9 10 1 0 90 8 3 Line1 Line2 Line3 T 53800 53300 9 10 1 0 90 7 3 Line1a Line2b Line3c T 53200 53300 9 10 1 0 90 6 3 Line1a Line2b Line3c T 48400 48600 9 10 1 0 180 6 3 Line1 Line2 Line3 T 48400 49100 9 10 1 0 180 7 3 Line1a Line2b Line3c T 48400 49700 9 10 1 0 180 8 3 Line1a Line2b Line3c T 50000 48600 9 10 1 0 180 3 3 Line1 Line2 Line3 T 50000 49100 9 10 1 0 180 4 3 Line1a Line2b Line3c T 50000 49700 9 10 1 0 180 5 3 Line1a Line2b Line3c T 51200 48600 9 10 1 0 180 0 3 Line1 Line2 Line3 T 51200 49100 9 10 1 0 180 1 3 Line1a Line2b Line3c T 51200 49700 9 10 1 0 180 2 3 Line1a Line2b Line3c T 45400 53400 9 10 1 0 270 2 3 Line1 Line2 Line3 T 45900 53400 9 10 1 0 270 1 3 Line1a Line2b Line3c T 46500 53400 9 10 1 0 270 0 3 Line1a Line2b Line3c T 45400 51800 9 10 1 0 270 5 3 Line1 Line2 Line3 T 45900 51800 9 10 1 0 270 4 3 Line1a Line2b Line3c T 46500 51800 9 10 1 0 270 3 3 Line1a Line2b Line3c T 45400 50600 9 10 1 0 270 8 3 Line1 Line2 Line3 T 45900 50600 9 10 1 0 270 7 3 Line1a Line2b Line3c T 46500 50600 9 10 1 0 270 6 3 Line1a Line2b Line3c geda-gaf-1.8.2/gschem/tests/oldsym2.sym0000664000175000017500000000033412050461155014632 00000000000000v 20020209 P 100 100 100 300 1 { T 158 161 5 4 0 1 0 0 pinnumber=1 T 158 161 5 4 0 0 0 0 pinseq=1 } L 0 100 200 100 3 0 0 0 -1 -1 L 55 50 145 50 3 0 0 0 -1 -1 L 80 10 120 10 3 0 0 0 -1 -1 T 300 50 8 10 0 0 0 0 net=GND:1 geda-gaf-1.8.2/gschem/tests/arc.sch0000664000175000017500000000426312050461155013760 00000000000000v 20030921 A 32000 53900 700 90 90 3 0 0 0 -1 -1 A 32200 53900 700 0 90 3 0 0 0 -1 -1 A 32200 53700 700 270 90 3 0 0 0 -1 -1 A 32000 53700 700 180 90 3 0 0 0 -1 -1 A 31800 50900 700 180 90 3 0 0 0 -1 -1 A 31800 51100 700 90 90 3 0 0 0 -1 -1 A 32000 51100 700 0 90 3 0 0 0 -1 -1 A 32000 50900 700 270 90 3 0 0 0 -1 -1 A 29700 50800 700 270 90 3 0 0 0 -1 -1 A 29500 50800 700 180 90 3 0 0 0 -1 -1 A 29500 51000 700 90 90 3 0 0 0 -1 -1 A 29700 51000 700 0 90 3 0 0 0 -1 -1 A 29800 54000 700 0 90 3 0 0 0 -1 -1 A 29800 53800 700 270 90 3 0 0 0 -1 -1 A 29600 53800 700 180 90 3 0 0 0 -1 -1 A 29600 54000 700 90 90 3 0 0 0 -1 -1 A 29800 48300 600 270 90 3 0 0 0 -1 -1 A 29800 48500 600 0 90 3 0 0 0 -1 -1 A 29700 48500 600 90 90 3 0 0 0 -1 -1 A 29700 48300 600 180 90 3 0 0 0 -1 -1 A 32300 48300 600 180 90 3 0 0 0 -1 -1 A 32300 48500 600 90 90 3 0 0 0 -1 -1 A 32400 48500 600 0 90 3 0 0 0 -1 -1 A 32400 48300 600 270 90 3 0 0 0 -1 -1 A 32000 45900 600 90 90 3 0 0 0 -1 -1 A 32000 45700 600 180 90 3 0 0 0 -1 -1 A 32100 45700 600 270 90 3 0 0 0 -1 -1 A 32100 45900 600 0 90 3 0 0 0 -1 -1 A 29500 45900 600 0 90 3 0 0 0 -1 -1 A 29500 45700 600 270 90 3 0 0 0 -1 -1 A 29400 45700 600 180 90 3 0 0 0 -1 -1 A 29400 45900 600 90 90 3 0 0 0 -1 -1 A 36900 48300 600 180 90 3 0 0 0 -1 -1 A 36900 48500 600 90 90 3 0 0 0 -1 -1 A 37000 48500 600 0 90 3 0 0 0 -1 -1 A 37000 48300 600 270 90 3 0 0 0 -1 -1 A 34400 48300 600 270 90 3 0 0 0 -1 -1 A 34400 48500 600 0 90 3 0 0 0 -1 -1 A 34300 48500 600 90 90 3 0 0 0 -1 -1 A 34300 48300 600 180 90 3 0 0 0 -1 -1 A 34700 45900 600 0 90 3 0 0 0 -1 -1 A 34700 45700 600 270 90 3 0 0 0 -1 -1 A 34600 45700 600 180 90 3 0 0 0 -1 -1 A 34600 45900 600 90 90 3 0 0 0 -1 -1 A 37200 45900 600 90 90 3 0 0 0 -1 -1 A 37200 45700 600 180 90 3 0 0 0 -1 -1 A 37300 45700 600 270 90 3 0 0 0 -1 -1 A 37300 45900 600 0 90 3 0 0 0 -1 -1 A 35800 53700 1000 270 180 3 0 0 0 -1 -1 A 35500 53700 1000 90 180 3 0 0 0 -1 -1 A 38500 53900 1000 0 180 3 0 0 0 -1 -1 A 38500 53600 1000 180 180 3 0 0 0 -1 -1 A 38300 51100 1000 90 180 3 0 0 0 -1 -1 A 38600 51100 1000 270 180 3 0 0 0 -1 -1 A 35600 51100 1000 270 180 3 0 0 0 -1 -1 A 35300 51100 1000 90 180 3 0 0 0 -1 -1 B 27400 44100 12900 11400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/gschem/tests/nets.sch0000664000175000017500000000136712050461155014166 00000000000000v 20021103 U 35600 60400 36400 60400 10 0 N 35600 60400 35600 59800 4 N 36400 61000 36400 60400 4 U 37300 59600 37300 60400 10 0 N 37300 59600 37900 59600 4 N 36700 60400 37300 60400 4 B 35300 59200 3000 2300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 35400 61300 9 10 1 0 0 0 No net endpoint to bus allowed B 38600 59200 3000 2300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 38700 61300 9 10 1 0 0 0 No bus endpoint to net allowed U 39300 60700 39600 60700 10 0 N 39300 61000 39300 60400 4 N 39600 61000 39600 60400 4 U 40500 60700 40500 61000 10 0 N 40200 60700 40800 60700 4 N 40200 61000 40800 61000 4 N 39300 59500 39300 60100 4 N 39600 59500 39600 60100 4 U 39600 59800 39300 59800 10 0 N 40800 60100 40200 60100 4 N 40800 59800 40200 59800 4 U 40500 59800 40500 60100 10 0 geda-gaf-1.8.2/gschem/tests/multiline.sch0000664000175000017500000003341712050461155015220 00000000000000v 20031019 1 T 19400 72400 9 10 1 0 0 0 4 test Multiple Lines 1234567890 abcdefghijklmnopqrstuvwxyz T 19400 71100 9 10 1 0 0 1 4 test Multiple Lines 1234567890 abcdefghijklmnopqrstuvwxyz L 19400 71100 18900 71100 2 0 0 0 -1 -1 L 19400 71100 19300 71200 2 0 0 0 -1 -1 L 19400 71100 19300 71000 2 0 0 0 -1 -1 L 19400 72400 18900 72400 2 0 0 0 -1 -1 L 19400 72400 19300 72500 2 0 0 0 -1 -1 L 19400 72400 19300 72300 2 0 0 0 -1 -1 L 19400 69800 18900 69800 2 0 0 0 -1 -1 L 19400 69800 19300 69900 2 0 0 0 -1 -1 L 19400 69800 19300 69700 2 0 0 0 -1 -1 T 19400 69800 9 10 1 0 0 2 4 test Multiple Lines 1234567890 abcdefghijklmnopqrstuvwxyz L 29000 71100 29500 71100 2 0 0 0 -1 -1 L 29000 71100 29100 71200 2 0 0 0 -1 -1 L 29000 71100 29100 71000 2 0 0 0 -1 -1 L 29000 72400 29500 72400 2 0 0 0 -1 -1 L 29000 72400 29100 72500 2 0 0 0 -1 -1 L 29000 72400 29100 72300 2 0 0 0 -1 -1 L 29000 69800 29500 69800 2 0 0 0 -1 -1 L 29000 69800 29100 69900 2 0 0 0 -1 -1 L 29000 69800 29100 69700 2 0 0 0 -1 -1 T 29000 72400 9 10 1 0 0 6 4 test Multiple Lines 1234567890 abcdefghijklmnopqrstuvwxyz T 29000 71100 9 10 1 0 0 7 4 test Multiple Lines 1234567890 abcdefghijklmnopqrstuvwxyz T 29000 69800 9 10 1 0 0 8 4 test Multiple Lines 1234567890 abcdefghijklmnopqrstuvwxyz T 24300 72300 9 10 1 0 0 3 4 test Multiple Lines 1234567890 abcdefghijklmnopqrstuvwxyz T 24300 71100 9 10 1 0 0 4 4 test Multiple Lines 1234567890 abcdefghijklmnopqrstuvwxyz T 24300 69800 9 10 1 0 0 5 4 test Multiple Lines 1234567890 abcdefghijklmnopqrstuvwxyz L 24300 69800 24300 70000 2 0 0 0 -1 -1 L 24300 69800 24400 69900 2 0 0 0 -1 -1 L 24300 69800 24200 69900 2 0 0 0 -1 -1 L 24300 71000 24300 70800 2 0 0 0 -1 -1 L 24300 71000 24200 70900 2 0 0 0 -1 -1 L 24300 71000 24400 70900 2 0 0 0 -1 -1 L 24300 72300 24300 72100 2 0 0 0 -1 -1 L 24300 72300 24200 72200 2 0 0 0 -1 -1 L 24300 72300 24400 72200 2 0 0 0 -1 -1 L 36300 63600 36300 63100 2 0 0 0 -1 -1 L 36300 63600 36200 63500 2 0 0 0 -1 -1 L 36300 63600 36400 63500 2 0 0 0 -1 -1 L 35700 63600 35700 63100 2 0 0 0 -1 -1 L 35700 63600 35600 63500 2 0 0 0 -1 -1 L 35700 63600 35800 63500 2 0 0 0 -1 -1 L 36900 63600 36900 63100 2 0 0 0 -1 -1 L 36900 63600 36800 63500 2 0 0 0 -1 -1 L 36900 63600 37000 63500 2 0 0 0 -1 -1 L 36300 72900 36300 73400 2 0 0 0 -1 -1 L 36300 72900 36200 73000 2 0 0 0 -1 -1 L 36300 72900 36400 73000 2 0 0 0 -1 -1 L 35700 72900 35700 73400 2 0 0 0 -1 -1 L 35700 72900 35600 73000 2 0 0 0 -1 -1 L 35700 72900 35800 73000 2 0 0 0 -1 -1 L 36900 72900 36900 73400 2 0 0 0 -1 -1 L 36900 72900 36800 73000 2 0 0 0 -1 -1 L 36900 72900 37000 73000 2 0 0 0 -1 -1 L 37000 68200 37200 68200 2 0 0 0 -1 -1 L 37000 68200 37100 68100 2 0 0 0 -1 -1 L 37000 68200 37100 68300 2 0 0 0 -1 -1 L 36400 68200 36600 68200 2 0 0 0 -1 -1 L 36400 68200 36500 68100 2 0 0 0 -1 -1 L 36400 68200 36500 68300 2 0 0 0 -1 -1 L 35800 68200 36000 68200 2 0 0 0 -1 -1 L 35800 68200 35900 68100 2 0 0 0 -1 -1 L 35800 68200 35900 68300 2 0 0 0 -1 -1 T 35700 63600 9 10 1 0 90 0 4 test Multiple Lines 1234567890 abcdefghijklmnopqrstuvwxyz T 36300 63600 9 10 1 0 90 1 4 test Multiple Lines 1234567890 abcdefghijklmnopqrstuvwxyz T 36900 63600 9 10 1 0 90 2 4 test Multiple Lines 1234567890 abcdefghijklmnopqrstuvwxyz T 35700 72900 9 10 1 0 90 6 4 test Multiple Lines 1234567890 abcdefghijklmnopqrstuvwxyz T 36300 72900 9 10 1 0 90 7 4 test Multiple Lines 1234567890 abcdefghijklmnopqrstuvwxyz T 36900 72900 9 10 1 0 90 8 4 test Multiple Lines 1234567890 abcdefghijklmnopqrstuvwxyz T 35800 68200 9 10 1 0 90 3 4 test Multiple Lines 1234567890 abcdefghijklmnopqrstuvwxyz T 36400 68200 9 10 1 0 90 4 4 test Multiple Lines 1234567890 abcdefghijklmnopqrstuvwxyz T 37000 68200 9 10 1 0 90 5 4 test Multiple Lines 1234567890 abcdefghijklmnopqrstuvwxyz C 17500 56900 0 0 0 title-C.sym L 28900 66300 29400 66300 2 0 0 0 -1 -1 L 28900 66300 29000 66200 2 0 0 0 -1 -1 L 28900 66300 29000 66400 2 0 0 0 -1 -1 L 28900 65400 29400 65400 2 0 0 0 -1 -1 L 28900 65400 29000 65300 2 0 0 0 -1 -1 L 28900 65400 29000 65500 2 0 0 0 -1 -1 L 28900 67200 29400 67200 2 0 0 0 -1 -1 L 28900 67200 29000 67100 2 0 0 0 -1 -1 L 28900 67200 29000 67300 2 0 0 0 -1 -1 L 19300 66300 18800 66300 2 0 0 0 -1 -1 L 19300 66300 19200 66200 2 0 0 0 -1 -1 L 19300 66300 19200 66400 2 0 0 0 -1 -1 L 19200 65500 18700 65500 2 0 0 0 -1 -1 L 19200 65500 19100 65400 2 0 0 0 -1 -1 L 19200 65500 19100 65600 2 0 0 0 -1 -1 L 19300 67200 18800 67200 2 0 0 0 -1 -1 L 19300 67200 19200 67100 2 0 0 0 -1 -1 L 19300 67200 19200 67300 2 0 0 0 -1 -1 L 24300 67200 24300 67000 2 0 0 0 -1 -1 L 24300 67200 24200 67100 2 0 0 0 -1 -1 L 24300 67200 24400 67100 2 0 0 0 -1 -1 L 24300 66300 24300 66500 2 0 0 0 -1 -1 L 24300 66300 24400 66400 2 0 0 0 -1 -1 L 24300 66300 24200 66400 2 0 0 0 -1 -1 L 24300 65500 24300 65700 2 0 0 0 -1 -1 L 24300 65500 24400 65600 2 0 0 0 -1 -1 L 24300 65500 24200 65600 2 0 0 0 -1 -1 T 28900 65400 9 10 1 0 180 0 4 test Multiple Lines 1234567890 abcdefghijklmnopqrstuvwxyz T 28900 66300 9 10 1 0 180 1 4 test Multiple Lines 1234567890 abcdefghijklmnopqrstuvwxyz T 28900 67200 9 10 1 0 180 2 4 test Multiple Lines 1234567890 abcdefghijklmnopqrstuvwxyz T 19200 65500 9 10 1 0 180 6 4 test Multiple Lines 1234567890 abcdefghijklmnopqrstuvwxyz T 19300 66300 9 10 1 0 180 7 4 test Multiple Lines 1234567890 abcdefghijklmnopqrstuvwxyz T 19300 67200 9 10 1 0 180 8 4 test Multiple Lines 1234567890 abcdefghijklmnopqrstuvwxyz T 24300 65500 9 10 1 0 180 3 4 test Multiple Lines 1234567890 abcdefghijklmnopqrstuvwxyz T 24300 66300 9 10 1 0 180 4 4 test Multiple Lines 1234567890 abcdefghijklmnopqrstuvwxyz T 24300 67200 9 10 1 0 180 5 4 test Multiple Lines 1234567890 abcdefghijklmnopqrstuvwxyz L 33300 72900 33300 73400 2 0 0 0 -1 -1 L 33300 72900 33400 73000 2 0 0 0 -1 -1 L 33300 72900 33200 73000 2 0 0 0 -1 -1 L 33900 72900 33900 73400 2 0 0 0 -1 -1 L 33900 72900 34000 73000 2 0 0 0 -1 -1 L 33900 72900 33800 73000 2 0 0 0 -1 -1 L 32700 72900 32700 73400 2 0 0 0 -1 -1 L 32700 72900 32800 73000 2 0 0 0 -1 -1 L 32700 72900 32600 73000 2 0 0 0 -1 -1 L 33300 63600 33300 63100 2 0 0 0 -1 -1 L 33300 63600 33400 63500 2 0 0 0 -1 -1 L 33300 63600 33200 63500 2 0 0 0 -1 -1 L 33900 63600 33900 63100 2 0 0 0 -1 -1 L 33900 63600 34000 63500 2 0 0 0 -1 -1 L 33900 63600 33800 63500 2 0 0 0 -1 -1 L 32700 63600 32700 63100 2 0 0 0 -1 -1 L 32700 63600 32800 63500 2 0 0 0 -1 -1 L 32700 63600 32600 63500 2 0 0 0 -1 -1 L 32600 68300 32400 68300 2 0 0 0 -1 -1 L 32600 68300 32500 68400 2 0 0 0 -1 -1 L 32600 68300 32500 68200 2 0 0 0 -1 -1 L 33200 68300 33000 68300 2 0 0 0 -1 -1 L 33200 68300 33100 68400 2 0 0 0 -1 -1 L 33200 68300 33100 68200 2 0 0 0 -1 -1 L 33800 68300 33600 68300 2 0 0 0 -1 -1 L 33800 68300 33700 68400 2 0 0 0 -1 -1 L 33800 68300 33700 68200 2 0 0 0 -1 -1 T 33900 72900 9 10 1 0 270 0 4 test Multiple Lines 1234567890 abcdefghijklmnopqrstuvwxyz T 33300 72900 9 10 1 0 270 1 4 test Multiple Lines 1234567890 abcdefghijklmnopqrstuvwxyz T 32700 72900 9 10 1 0 270 2 4 test Multiple Lines 1234567890 abcdefghijklmnopqrstuvwxyz T 33900 63600 9 10 1 0 270 6 4 test Multiple Lines 1234567890 abcdefghijklmnopqrstuvwxyz T 33300 63600 9 10 1 0 270 7 4 test Multiple Lines 1234567890 abcdefghijklmnopqrstuvwxyz T 32700 63600 9 10 1 0 270 8 4 test Multiple Lines 1234567890 abcdefghijklmnopqrstuvwxyz T 33800 68300 9 10 1 0 270 3 4 test Multiple Lines 1234567890 abcdefghijklmnopqrstuvwxyz T 33200 68300 9 10 1 0 270 4 4 test Multiple Lines 1234567890 abcdefghijklmnopqrstuvwxyz T 32600 68300 9 10 1 0 270 5 4 test Multiple Lines 1234567890 abcdefghijklmnopqrstuvwxyz T 20300 61700 9 10 1 0 0 0 6 1 a 2 b 3 c 4 d 5 e 6 f T 20300 60400 9 10 1 0 0 1 6 1 a 2 b 3 c 4 d 5 e 6 f L 20000 61700 20300 61700 8 0 0 0 -1 -1 L 20300 61700 20100 61800 8 0 0 0 -1 -1 L 20300 61700 20100 61600 8 0 0 0 -1 -1 L 20000 60400 20300 60400 8 0 0 0 -1 -1 L 20300 60400 20100 60500 8 0 0 0 -1 -1 L 20300 60400 20100 60300 8 0 0 0 -1 -1 L 20000 59100 20300 59100 8 0 0 0 -1 -1 L 20300 59100 20100 59200 8 0 0 0 -1 -1 L 20300 59100 20100 59000 8 0 0 0 -1 -1 T 20300 59100 9 10 1 0 0 2 6 1 a 2 b 3 c 4 d 5 e 6 f L 21100 61500 21100 61700 8 0 0 0 -1 -1 L 21100 61700 21000 61500 8 0 0 0 -1 -1 L 21100 61700 21200 61500 8 0 0 0 -1 -1 L 20800 60400 21100 60400 8 0 0 0 -1 -1 L 21100 60400 20900 60500 8 0 0 0 -1 -1 L 21100 60400 20900 60300 8 0 0 0 -1 -1 L 21100 59300 21100 59100 8 0 0 0 -1 -1 L 21100 59100 21200 59300 8 0 0 0 -1 -1 L 21100 59100 21000 59300 8 0 0 0 -1 -1 T 21100 61700 9 10 1 0 0 3 6 1 a 2 b 3 c 4 d 5 e 6 f T 21100 60400 9 10 1 0 0 4 6 1 a 2 b 3 c 4 d 5 e 6 f T 21100 59100 9 10 1 0 0 5 6 1 a 2 b 3 c 4 d 5 e 6 f L 21800 61500 21800 61700 8 0 0 0 -1 -1 L 21800 61700 21700 61500 8 0 0 0 -1 -1 L 21800 61700 21900 61500 8 0 0 0 -1 -1 L 22100 60400 21800 60400 8 0 0 0 -1 -1 L 21800 60400 22000 60300 8 0 0 0 -1 -1 L 21800 60400 22000 60500 8 0 0 0 -1 -1 L 21800 59300 21800 59100 8 0 0 0 -1 -1 L 21800 59100 21900 59300 8 0 0 0 -1 -1 L 21800 59100 21700 59300 8 0 0 0 -1 -1 T 21800 61700 9 10 1 0 0 6 6 1 a 2 b 3 c 4 d 5 e 6 f T 21800 60400 9 10 1 0 0 7 6 1 a 2 b 3 c 4 d 5 e 6 f T 21800 59100 9 10 1 0 0 8 6 1 a 2 b 3 c 4 d 5 e 6 f L 24100 60800 24100 61100 8 0 0 0 -1 -1 L 24100 61100 24000 60900 8 0 0 0 -1 -1 L 24100 61100 24200 60900 8 0 0 0 -1 -1 L 25400 60800 25400 61100 8 0 0 0 -1 -1 L 25400 61100 25300 60900 8 0 0 0 -1 -1 L 25400 61100 25500 60900 8 0 0 0 -1 -1 L 26600 60800 26600 61100 8 0 0 0 -1 -1 L 26600 61100 26500 60900 8 0 0 0 -1 -1 L 26600 61100 26700 60900 8 0 0 0 -1 -1 L 24300 61900 24100 61900 8 0 0 0 -1 -1 L 24100 61900 24300 61800 8 0 0 0 -1 -1 L 24100 61900 24300 62000 8 0 0 0 -1 -1 L 25400 61600 25400 61900 8 0 0 0 -1 -1 L 25400 61900 25300 61700 8 0 0 0 -1 -1 L 25400 61900 25500 61700 8 0 0 0 -1 -1 L 26400 61900 26600 61900 8 0 0 0 -1 -1 L 26600 61900 26400 62000 8 0 0 0 -1 -1 L 26600 61900 26400 61800 8 0 0 0 -1 -1 L 24300 62600 24100 62600 8 0 0 0 -1 -1 L 24100 62600 24300 62500 8 0 0 0 -1 -1 L 24100 62600 24300 62700 8 0 0 0 -1 -1 L 25400 62900 25400 62600 8 0 0 0 -1 -1 L 25400 62600 25500 62800 8 0 0 0 -1 -1 L 25400 62600 25300 62800 8 0 0 0 -1 -1 L 26400 62600 26600 62600 8 0 0 0 -1 -1 L 26600 62600 26400 62700 8 0 0 0 -1 -1 L 26600 62600 26400 62500 8 0 0 0 -1 -1 T 24100 61100 9 10 1 0 90 0 6 1 a 2 b 3 c 4 d 5 e 6 f T 25400 61100 9 10 1 0 90 1 6 1 a 2 b 3 c 4 d 5 e 6 f T 26600 61100 9 10 1 0 90 2 6 1 a 2 b 3 c 4 d 5 e 6 f T 24100 61900 9 10 1 0 90 3 6 1 a 2 b 3 c 4 d 5 e 6 f T 25400 61900 9 10 1 0 90 4 6 1 a 2 b 3 c 4 d 5 e 6 f T 26600 61900 9 10 1 0 90 5 6 1 a 2 b 3 c 4 d 5 e 6 f T 24100 62600 9 10 1 0 90 6 6 1 a 2 b 3 c 4 d 5 e 6 f T 25400 62600 9 10 1 0 90 7 6 1 a 2 b 3 c 4 d 5 e 6 f T 26600 62600 9 10 1 0 90 8 6 1 a 2 b 3 c 4 d 5 e 6 f L 31700 60500 31400 60500 8 0 0 0 -1 -1 L 31400 60500 31600 60400 8 0 0 0 -1 -1 L 31400 60500 31600 60600 8 0 0 0 -1 -1 L 34100 60700 33800 60700 8 0 0 0 -1 -1 L 33800 60700 34000 60600 8 0 0 0 -1 -1 L 33800 60700 34000 60800 8 0 0 0 -1 -1 L 31700 61100 31400 61100 8 0 0 0 -1 -1 L 31400 61100 31600 61000 8 0 0 0 -1 -1 L 31400 61100 31600 61200 8 0 0 0 -1 -1 L 30600 60700 30600 60500 8 0 0 0 -1 -1 L 30600 60500 30700 60700 8 0 0 0 -1 -1 L 30600 60500 30500 60700 8 0 0 0 -1 -1 L 33300 60700 33000 60700 8 0 0 0 -1 -1 L 33000 60700 33200 60600 8 0 0 0 -1 -1 L 33000 60700 33200 60800 8 0 0 0 -1 -1 L 30600 60900 30600 61100 8 0 0 0 -1 -1 L 30600 61100 30500 60900 8 0 0 0 -1 -1 L 30600 61100 30700 60900 8 0 0 0 -1 -1 L 29900 60700 29900 60500 8 0 0 0 -1 -1 L 29900 60500 30000 60700 8 0 0 0 -1 -1 L 29900 60500 29800 60700 8 0 0 0 -1 -1 L 32000 60700 32300 60700 8 0 0 0 -1 -1 L 32300 60700 32100 60800 8 0 0 0 -1 -1 L 32300 60700 32100 60600 8 0 0 0 -1 -1 L 29900 60900 29900 61100 8 0 0 0 -1 -1 L 29900 61100 29800 60900 8 0 0 0 -1 -1 L 29900 61100 30000 60900 8 0 0 0 -1 -1 T 31400 60500 9 10 1 0 180 0 6 1 a 2 b 3 c 4 d 5 e 6 f T 33800 60700 9 10 1 0 180 1 6 1 a 2 b 3 c 4 d 5 e 6 f T 31400 61100 9 10 1 0 180 2 6 1 a 2 b 3 c 4 d 5 e 6 f T 30600 60500 9 10 1 0 180 3 6 1 a 2 b 3 c 4 d 5 e 6 f T 33000 60700 9 10 1 0 180 4 6 1 a 2 b 3 c 4 d 5 e 6 f T 30600 61100 9 10 1 0 180 5 6 1 a 2 b 3 c 4 d 5 e 6 f T 29900 60500 9 10 1 0 180 6 6 1 a 2 b 3 c 4 d 5 e 6 f T 32300 60700 9 10 1 0 180 7 6 1 a 2 b 3 c 4 d 5 e 6 f T 29900 61100 9 10 1 0 180 8 6 1 a 2 b 3 c 4 d 5 e 6 f L 26600 60500 26600 60200 8 0 0 0 -1 -1 L 26600 60200 26700 60400 8 0 0 0 -1 -1 L 26600 60200 26500 60400 8 0 0 0 -1 -1 L 25400 60500 25400 60200 8 0 0 0 -1 -1 L 25400 60200 25500 60400 8 0 0 0 -1 -1 L 25400 60200 25300 60400 8 0 0 0 -1 -1 L 24100 60500 24100 60200 8 0 0 0 -1 -1 L 24100 60200 24200 60400 8 0 0 0 -1 -1 L 24100 60200 24000 60400 8 0 0 0 -1 -1 L 26400 59400 26600 59400 8 0 0 0 -1 -1 L 26600 59400 26400 59500 8 0 0 0 -1 -1 L 26600 59400 26400 59300 8 0 0 0 -1 -1 L 25400 59700 25400 59400 8 0 0 0 -1 -1 L 25400 59400 25500 59600 8 0 0 0 -1 -1 L 25400 59400 25300 59600 8 0 0 0 -1 -1 L 24300 59400 24100 59400 8 0 0 0 -1 -1 L 24100 59400 24300 59300 8 0 0 0 -1 -1 L 24100 59400 24300 59500 8 0 0 0 -1 -1 L 26400 58700 26600 58700 8 0 0 0 -1 -1 L 26600 58700 26400 58800 8 0 0 0 -1 -1 L 26600 58700 26400 58600 8 0 0 0 -1 -1 L 25400 58400 25400 58700 8 0 0 0 -1 -1 L 25400 58700 25300 58500 8 0 0 0 -1 -1 L 25400 58700 25500 58500 8 0 0 0 -1 -1 L 24300 58700 24100 58700 8 0 0 0 -1 -1 L 24100 58700 24300 58600 8 0 0 0 -1 -1 L 24100 58700 24300 58800 8 0 0 0 -1 -1 T 26600 60200 9 10 1 0 270 0 6 1 a 2 b 3 c 4 d 5 e 6 f T 25400 60200 9 10 1 0 270 1 6 1 a 2 b 3 c 4 d 5 e 6 f T 24100 60200 9 10 1 0 270 2 6 1 a 2 b 3 c 4 d 5 e 6 f T 26600 59400 9 10 1 0 270 3 6 1 a 2 b 3 c 4 d 5 e 6 f T 25400 59400 9 10 1 0 270 4 6 1 a 2 b 3 c 4 d 5 e 6 f T 24100 59400 9 10 1 0 270 5 6 1 a 2 b 3 c 4 d 5 e 6 f T 26600 58700 9 10 1 0 270 6 6 1 a 2 b 3 c 4 d 5 e 6 f T 25400 58700 9 10 1 0 270 7 6 1 a 2 b 3 c 4 d 5 e 6 f T 24100 58700 9 10 1 0 270 8 6 1 a 2 b 3 c 4 d 5 e 6 f L 18500 68200 30100 68200 3 0 0 0 -1 -1 L 18500 67000 30100 67000 3 0 0 0 -1 -1 L 18700 65700 30100 65700 3 0 0 0 -1 -1 L 22500 73600 22500 63500 3 0 0 0 -1 -1 L 26000 73600 26000 63500 3 0 0 0 -1 -1 L 18500 70200 30100 70200 3 0 0 0 -1 -1 L 18500 71800 30100 71800 3 0 0 0 -1 -1 geda-gaf-1.8.2/gschem/tests/versionsym_major.sym0000664000175000017500000000261512050461155016653 00000000000000v 20040710 1 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 1 7400 L 300 800 700 800 3 0 0 0 -1 -1 T 500 900 5 10 0 0 0 0 1 device=7400 T 500 1100 5 10 0 0 0 0 1 slot=1 T 500 1300 5 10 0 0 0 0 1 numslots=4 T 500 1500 5 10 0 0 0 0 1 slotdef=1:1,2,3 T 500 1700 5 10 0 0 0 0 1 slotdef=2:4,5,6 T 500 1900 5 10 0 0 0 0 1 slotdef=3:9,10,8 T 500 2100 5 10 0 0 0 0 1 slotdef=4:12,13,11 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 T 1000 100 8 10 1 1 0 0 1 blah=This needs to be outside! V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 0 1 { T 1100 550 5 8 1 1 0 0 1 pinnumber=3 T 1100 450 5 8 0 1 0 2 1 pinseq=3 T 950 500 9 8 0 1 0 6 1 pinlabel=Y T 950 500 5 8 0 1 0 8 1 pintype=out } P 300 300 0 300 1 0 1 { T 200 350 5 8 1 1 0 6 1 pinnumber=2 T 200 250 5 8 0 1 0 8 1 pinseq=2 T 350 300 9 8 0 1 0 0 1 pinlabel=B T 350 300 5 8 0 1 0 2 1 pintype=in } P 300 700 0 700 1 0 1 { T 200 750 5 8 1 1 0 6 1 pinnumber=1 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 0 1 0 0 1 pinlabel=A T 350 700 5 8 0 1 0 2 1 pintype=in } T 300 900 8 10 1 1 0 0 1 refdes=U? T 500 2250 5 10 0 0 0 0 1 footprint=DIP14 T 500 2450 5 10 0 0 0 0 1 description=4 NAND gates with 2 inputs T 500 2850 5 10 0 0 0 0 1 net=Vcc:14 T 500 3050 5 10 0 0 0 0 1 net=GND:7 T 500 2650 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc00.pdf T 1300 700 5 10 0 0 0 0 1 symversion=3.0 T 400 300 9 10 1 0 0 0 1 major geda-gaf-1.8.2/gschem/scripts/0000775000175000017500000000000012220655753013124 500000000000000geda-gaf-1.8.2/gschem/scripts/Makefile.am0000664000175000017500000000044012220647257015076 00000000000000scmdatadir = $(GEDADATADIR)/scheme scmdata_DATA = image.scm print.scm EXTRA_DIST = ChangeLog-1.0 makeallimages makeimages print.scm image.scm MOSTLYCLEANFILES = *.log *~ CLEANFILES = *.log *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log *~ Makefile.in ChangeLog geda-gaf-1.8.2/gschem/scripts/image.scm0000664000175000017500000000103712220647257014633 00000000000000;; $Id$ ;; ;; This file may be used to produce png files from gschem schematics from the ;; command line. Typical usage is: ;; ;; gschem -p -o mysch.png -s /path/to/this/file/image.scm mysch.sch ;; ;; The schematic in "mysch.sch" will be exported to the file "mysch.png" (image-size 1024 768) ;(image-size 3200 2400) (image-color "enabled") ;(image-color "disabled") ; You need call this after you call any rc file function (gschem-use-rc-values) ; filename is specified on the command line (gschem-image "dummyfilename") (gschem-exit) geda-gaf-1.8.2/gschem/scripts/ChangeLog-1.00000664000175000017500000000210312204177070015077 00000000000000gEDA GPL Electronic Design Automation ------------------------------------------------------------------------------ ChangeLog for scripts directory Most recent changes (version wise) are at the top of this file All the changes are usually noted in this file when they are checked into the cvs repository. 2001-11-09 Ales Hvezda * image.scm: Added guile script for outputing images from the commandline 2001-03-06 Ales Hvezda * Updated makeimage and makeallimage scripts to output png via ghostscript 2000-02-23 Ales Hvezda * Added mkimage* and print.scm files back into existance 4/25/99 Added some tweeks to the various makeimage* scripts to: - get a web ready set of directories - reduce the size of the created gifs 4/14/99 Added list-keys.scm by Stefan 3/14/99 Added some basic stuff to makeimage (per sym .html) 2/04/99 Tweeks to makeimages - Added small.html generation - Some experimental stuff commented out 1/24/99 Created directory Created first revision of makeimages geda-gaf-1.8.2/gschem/scripts/Makefile.in0000664000175000017500000004444712220655724015124 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = gschem/scripts DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(scmdatadir)" DATA = $(scmdata_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ scmdatadir = $(GEDADATADIR)/scheme scmdata_DATA = image.scm print.scm EXTRA_DIST = ChangeLog-1.0 makeallimages makeimages print.scm image.scm MOSTLYCLEANFILES = *.log *~ CLEANFILES = *.log *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log *~ Makefile.in ChangeLog all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gschem/scripts/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu gschem/scripts/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-scmdataDATA: $(scmdata_DATA) @$(NORMAL_INSTALL) @list='$(scmdata_DATA)'; test -n "$(scmdatadir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(scmdatadir)'"; \ $(MKDIR_P) "$(DESTDIR)$(scmdatadir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(scmdatadir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(scmdatadir)" || exit $$?; \ done uninstall-scmdataDATA: @$(NORMAL_UNINSTALL) @list='$(scmdata_DATA)'; test -n "$(scmdatadir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(scmdatadir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(scmdatadir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-scmdataDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-scmdataDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-scmdataDATA install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags-am uninstall uninstall-am uninstall-scmdataDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/gschem/scripts/makeallimages0000775000175000017500000000316312220647257015571 00000000000000#!/bin/sh ./makeimages /home/ahvezda/devel/symbols/4000/ ./makeimages /home/ahvezda/devel/symbols/74/ ./makeimages /home/ahvezda/devel/symbols/supervisor/ ./makeimages /home/ahvezda/devel/symbols/bus/ ./makeimages /home/ahvezda/devel/symbols/power/ ./makeimages /home/ahvezda/devel/symbols/IEC417/ ./makeimages /home/ahvezda/devel/symbols/altera/ ./makeimages /home/ahvezda/devel/symbols/analog/ ./makeimages /home/ahvezda/devel/symbols/connector/ ./makeimages /home/ahvezda/devel/symbols/idt/ ./makeimages /home/ahvezda/devel/symbols/local/ ./makeimages /home/ahvezda/devel/symbols/maxim/ ./makeimages /home/ahvezda/devel/symbols/memory/ ./makeimages /home/ahvezda/devel/symbols/micro/ ./makeimages /home/ahvezda/devel/symbols/misc/ ./makeimages /home/ahvezda/devel/symbols/radio/ ./makeimages /home/ahvezda/devel/symbols/switch/ ./makeimages /home/ahvezda/devel/symbols/tube/ ./makeimages /home/ahvezda/devel/symbols/verilog/ ./makeimages /home/ahvezda/devel/symbols/rf/ ./makeimages /home/ahvezda/devel/symbols/spice/ ./makeimages /home/ahvezda/devel/symbols/pla/ ./makeimages /home/ahvezda/devel/symbols/diode/ ./makeimages /home/ahvezda/devel/symbols/lattice/ ./makeimages /home/ahvezda/devel/symbols/titleblock/ ./makeimages /home/ahvezda/devel/symbols/national/ ./makeimages /home/ahvezda/devel/symbols/opto/ ./makeimages /home/ahvezda/devel/symbols/transistor/ ./makeimages /home/ahvezda/devel/symbols/io/ ./makeimages /home/ahvezda/devel/symbols/ecl/ ./makeimages /home/ahvezda/devel/symbols/xilinx/ ./makeimages /home/ahvezda/devel/symbols/dec/ ./makeimages /home/ahvezda/devel/symbols/vhdl/ ./makeimages /home/ahvezda/devel/symbols/relay/ geda-gaf-1.8.2/gschem/scripts/makeimages0000775000175000017500000001272412220647257015103 00000000000000#!/bin/sh # # $Id$ # This script requires the following packages : # - gschem (located the your PATH ) # - ghostscript (I use aladdin gs) # if [ $# -ne 1 ] then echo "usage: makeimages path_to_libary" exit 1 fi version=`libgeda-config --version` basedir=`basename $1` echo Creating $basedir if [ -e $basedir ] then echo Removing old $basedir rm -rf $basedir/* else mkdir $basedir fi # do basic html stuff echo " gEDA: $basedir library symbols " > ${basedir}/index.html echo "" >> ${basedir}/index.html echo "" >> ${basedir}/index.html echo "" >> ${basedir}/index.html echo "" >> ${basedir}/index.html echo "

    $basedir library

    " >> ${basedir}/index.html echo "" >> ${basedir}/index.html # setup small.html echo " gEDA: $basedir library symbols " > ${basedir}/small.html echo "" >> ${basedir}/small.html echo "" >> ${basedir}/small.html echo "" >> ${basedir}/small.html echo "" >> ${basedir}/small.html echo "

    $basedir library

    " >> ${basedir}/small.html echo "" >> ${basedir}/small.html echo "" >> ${basedir}/small.html echo "

    Click on the symbol for detailed information

    " >> ${basedir}/small.html echo "" >> ${basedir}/small.html # Clear textlist.html echo "" > ${basedir}/textlist.html # now start going over each .sym file in the library for i in $1/*.sym do symname=`basename $i .sym` echo $i $symname ${basedir}/${symname}.ps # Create a copy of the .sym for the directory (refenced by the per # symbol .html page cp -f $i $basedir # First create postscript file using gschem and print.scm gschem -o ${basedir}/${symname}.ps \ -s print.scm \ -p \ $i # Then take postscript file and create thumbnail ppm # GNU ghostscript: # use this if you have Aladdin 5.50 ghostscript: #gs -q -dTextAlphaBits=4 -dGraphicsAlphaBits=4 \ gs -q \ -dNOPAUSE -sOutputFile=${basedir}/${symname}_tn.png \ -r20 -sDEVICE=png16 \ ${basedir}/${symname}.ps quit.ps # # make a really really small thumbnail # gs -q \ -dNOPAUSE -sOutputFile=${basedir}/${symname}_stn.png \ -r5 -sDEVICE=png16 \ ${basedir}/${symname}.ps quit.ps # Then take original postscript file and convert to png16 # GNU ghostscript: # use this if you have Aladdin 5.50 ghostscript: #gs -q -dTextAlphaBits=4 -dGraphicsAlphaBits=4 \ gs -q -r100 \ -dNOPAUSE -sOutputFile=${basedir}/${symname}.png \ -sDEVICE=png16 \ ${basedir}/${symname}.ps quit.ps # Add entry to index.html echo "" >> ${basedir}/index.html echo "

    ${symname}.sym" >> ${basedir}/index.html echo "PNG PS

    " >> ${basedir}/index.html echo "


    " >> ${basedir}/index.html # Add entry to small.html echo -n "" >> ${basedir}/small.html echo -n "\"${symname}\"" >> ${basedir}/small.html echo "" >> ${basedir}/small.html # Create per sym html file echo " gEDA: $basedir/$symname symbol " > ${basedir}/$symname.html echo "" >> ${basedir}/$symname.html echo "" >> ${basedir}/$symname.html echo "" >> ${basedir}/${symname}.html echo "" >> ${basedir}/$symname.html echo "

    $basedir/$symname library

    " >> ${basedir}/$symname.html echo "" >> ${basedir}/$symname.html echo "" >> ${basedir}/$symname.html echo "

    ${symname}.sym" >> ${basedir}/$symname.html echo "PNG PS

    " >> ${basedir}/$symname.html echo "


    " >> ${basedir}/$symname.html echo "" >> ${basedir}/$symname.html echo "

    Automatically extracted from symbol library: ${basedir} version ${version}
    " >> ${basedir}/$symname.html echo "" >> ${basedir}/$symname.html echo "

    Up one level

    " >> ${basedir}/$symname.html echo "" >> ${basedir}/$symname.html echo " " >> ${basedir}/$symname.html # Added text link to small.html (added after everything is done) echo "$symname" >> ${basedir}/textlist.html rm -f ${basedir}/*.ppm done # basic html echo "" >> ${basedir}/index.html echo "
    Automatically extracted from symbol library: ${basedir} version ${version}
    " >> ${basedir}/index.html echo "" >> ${basedir}/index.html echo "

    Up one level

    " >> ${basedir}/index.html echo "" >> ${basedir}/index.html echo " " >> ${basedir}/index.html # small.html echo "" >> ${basedir}/small.html echo "

    " >> ${basedir}/small.html cat ${basedir}/textlist.html >> ${basedir}/small.html echo "

    " >> ${basedir}/small.html echo "
    Automatically extracted from symbol library: ${basedir} version ${version}
    " >> ${basedir}/small.html #echo "


    " >> ${basedir}/small.html echo "" >> ${basedir}/small.html echo "

    Up one level

    " >> ${basedir}/small.html echo "" >> ${basedir}/small.html echo " " >> ${basedir}/small.html rm ${basedir}/textlist.html geda-gaf-1.8.2/gschem/scripts/print.scm0000664000175000017500000000114312220647257014703 00000000000000;; $Id$ ;; ;; This file may be used to print gschem schematics from the ;; command line. Typical usage is: ;; ;; gschem -p -o mysch.ps -s /path/to/this/file/print.scm mysch.sch ;; ;; The schematic in "mysch.sch" will be printed to the file "mysch.ps" ;; Uncomment these to override defaults when printing from the command line ;(output-orientation "portrait") ;(output-type "limits") ;(output-color "enabled") ;(output-text "ps") ; You need call this after you call any rc file function (gschem-use-rc-values) ; filename is specified on the command line (gschem-postscript "dummyfilename") (gschem-exit) geda-gaf-1.8.2/gschem/po/0000775000175000017500000000000012220655752012052 500000000000000geda-gaf-1.8.2/gschem/po/zh_CN.gmo0000664000175000017500000000514012220655645013500 000000000000003GLhim t             '. 3@H Zg|         - 6 @LQXix)07>E I V` g t            + ; N U b o      ( 5 < C P # -%&')/ "23!1. 0$+*,(ArcAttachAttributesBusCircleClose PageColor...CopyCopy ModeCopy into 1Copy into 2Copy into 3Copy into 4Copy into 5Cut into 1Cut into 2Cut into 3Cut into 4Cut into 5DeleteDetachEditEdit Text...Edit...Execute Script...Fill Type...Line Width & Type...LockMirror ModeMove ModeMultiple Copy ModeNewNew PageNew WindowOpen Page...Paste from 1Paste from 2Paste from 3Paste from 4Paste from 5Print...RedoRotate 90 ModeSave AllSave PageSelect ModeUndoUnlockUpdate ComponentWrite image...Project-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2010-02-11 03:18+0000 Last-Translator: FULL NAME Language-Team: gEDA developers Language: zh_CN MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2010-02-14 12:56+0000 X-Generator: Launchpad (build Unknown) 弧线连接属性总线圆关闭页面颜色...复制复制模式复制到 1复制到 2复制到 3复制到 4复制到 5剪切到 1剪切到 2剪切到 3剪切到 4剪切到 5删除脱离编辑编辑文本...编辑...执行脚本...填充类型...线宽和线型...锁定镜像模式移动模式多重复制模式新建新建页面新建窗口打开页面...粘贴自 1粘贴自 2粘贴自 3粘贴自 4粘贴自 5打印...重做旋转 90 度全部保存保存页面选择模式撤销解锁更新组件写入图片...geda-gaf-1.8.2/gschem/po/es.po0000664000175000017500000020154312220655644012746 00000000000000# Spanish/Spain translation of gschem. # Copyright (C) 2005-2008 Carlos Nieves Onega # This file is distributed under the same license as the gschem package. # # # Carlos Nieves Ónega , 2005-2010. msgid "" msgstr "" "Project-Id-Version: gschem VERSION\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-03-23 03:04+0000\n" "Last-Translator: Adolfo Jayme Barrientos \n" "Language-Team: gEDA developers \n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: gschem/src/a_zoom.c:212 msgid "Zoom too small! Cannot zoom further.\n" msgstr "¡Vista demasiado ampliada! No se puede ampliar más.\n" #: gschem/src/g_attrib.c:92 msgid "Object ~A is not included in the current gschem page." msgstr "El objeto ~A no está en la página actual de gschem." #: gschem/src/g_attrib.c:112 msgid "Invalid text name/value visibility ~A." msgstr "Visibilidad de nombre/valor de texto inválida ~A" #: gschem/src/g_rc.c:312 #, c-format msgid "Invalid zoomfactor [%d] passed to %s\n" msgstr "" "Se ha especificado un factor de ampliación no válido [%d] a la función %s\n" #: gschem/src/g_rc.c:458 #, c-format msgid "Invalid size [%d] passed to text-size\n" msgstr "Se ha especificado un tamaño no válido [%d] a la función text-size\n" #: gschem/src/g_rc.c:501 #, c-format msgid "Invalid size [%d] passed to snap-size\n" msgstr "Se ha especificado un tamaño no válido [%d] a la función snap-size\n" #: gschem/src/g_rc.c:958 #, c-format msgid "Invalid num levels [%d] passed to undo-levels\n" msgstr "" "Número de niveles [%d] no válidos especificados a la función undo-levels\n" #: gschem/src/g_rc.c:1220 #, c-format msgid "Invalid size [%d] passed to bus-ripper-size\n" msgstr "Tamaño no válido [%d] especificado a la función bus-ripper-size\n" #: gschem/src/g_rc.c:1295 #, c-format msgid "Invalid dot size [%d] passed to dots-grid-dot-size\n" msgstr "" "Tamaño de punto no válido [%d] especificado a la función dots-grid-dot-size\n" #: gschem/src/g_rc.c:1336 #, c-format msgid "Invalid pixel spacing [%d] passed to dots-grid-fixed-threshold\n" msgstr "" "Espaciado de punto no válido [%d] especificado a la función dots-grid-fixed-" "threshold\n" #: gschem/src/g_rc.c:1362 #, c-format msgid "Invalid pixel spacing [%d] passed to mesh-grid-display-threshold\n" msgstr "" "Espaciado de punto no válido [%d] especificado a la función mesh-grid-" "display-threshold\n" #: gschem/src/g_rc.c:1387 #, c-format msgid "Invalid offset [%d] passed to add-attribute-offset\n" msgstr "" "Se ha especificado un desplazamiento no válido [%d] a la función add-" "attribute-offset\n" #: gschem/src/g_rc.c:1411 #, c-format msgid "Invalid number of seconds [%d] passed to auto-save-interval\n" msgstr "" "Se ha especificado un número de segundos no válido [%d] a la función auto-" "save-interval\n" #: gschem/src/g_rc.c:1435 #, c-format msgid "Invalid gain [%d] passed to mousepan-gain\n" msgstr "" "Se ha especificado un aumento no válido [%d] a la función mousepan-gain\n" #: gschem/src/g_rc.c:1458 #, c-format msgid "Invalid gain [%d] passed to keyboardpan-gain\n" msgstr "" "Se ha especificado un aumento no válido [%d] a la función keyboardpan-gain\n" #: gschem/src/g_rc.c:1505 #, c-format msgid "Invalid number of pixels [%d] passed to select-slack-pixels\n" msgstr "" "Se ha especificado un número de pixels no válido [%d] a la función select-" "slack-pixels\n" #: gschem/src/g_rc.c:1531 #, c-format msgid "Invalid gain [%d] passed to zoom-gain\n" msgstr "" "Se ha llamado a la función zoom-gain con un nivel de aumento [%d] no válido\n" #: gschem/src/g_rc.c:1556 #, c-format msgid "Invalid number of steps [%d] scrollpan-steps\n" msgstr "" "Se ha llamado a la función scrollpan-steps con un número de pasos no válido " "[%d]\n" #: gschem/src/g_select.c:79 gschem/src/g_select.c:116 #: gschem/src/g_select.c:152 msgid "Object ~A is not directly included in a page." msgstr "El objeto ~A no está incluído directamente en una página." #: gschem/src/g_util.c:56 msgid "Could not launch URI ~S: ~A" msgstr "No se puede abrir la URI ~S: ~A" #: gschem/src/g_window.c:136 msgid "Found invalid gschem window smob ~S" msgstr "Se encontró `smob' de ventana de gschem inválido ~S" #: gschem/src/gschem.c:175 #, c-format msgid "gEDA/gschem version %s%s.%s\n" msgstr "Versión de gEDA/gschem %s%s.%s\n" #: gschem/src/gschem.c:178 msgid "" "gEDA/gschem comes with ABSOLUTELY NO WARRANTY; see COPYING for more " "details.\n" msgstr "" "gEDA/gschem no incluye NINGUNA GARANTÍA; véase el fichero COPYING para más " "detalles.\n" #: gschem/src/gschem.c:180 msgid "" "This is free software, and you are welcome to redistribute it under certain\n" msgstr "Esto es software libre, y puede redistribuirlo bajo ciertas\n" #: gschem/src/gschem.c:182 msgid "" "conditions; please see the COPYING file for more details.\n" "\n" msgstr "" "condiciones; por favor vea el fichero COPYING para más detalles.\n" "\n" #: gschem/src/gschem.c:185 #, c-format msgid "This is the MINGW32 port.\n" msgstr "Ésta es la adaptación MINGW32.\n" #: gschem/src/gschem.c:189 #, c-format msgid "Current locale settings: %s\n" msgstr "Entorno actual de locale: %s\n" #: gschem/src/gschem.c:211 msgid "" "You must set the GEDADATA environment variable!\n" "\n" "gschem cannot locate its data files. You must set the GEDADATA\n" "environment variable to point to the correct location.\n" msgstr "" "¡Debe configurar la variable de entorno GEDADATA!\n" "\n" "gschem no puede encontrar sus archivos de datos. Debe configurar la variable " "de entorno GEDADATA con el camino adecuado.\n" #: gschem/src/gschem.c:248 #, c-format msgid "Couldn't find init scm file [%s]\n" msgstr "No se ha podido encontrar el fichero de inicialización scm [%s]\n" #: gschem/src/gschem.c:252 #, c-format msgid "Read init scm file [%s]\n" msgstr "Leído fichero de inicialización scm [%s]\n" #: gschem/src/gschem.c:256 #, c-format msgid "Failed to read init scm file [%s]\n" msgstr "Fallo al leer fichero de inicialización scm [%s]\n" #: gschem/src/gschem_cairo.c:310 #, c-format msgid "Unknown end for line (%d)\n" msgstr "Final de línea desconocido (%d)\n" #: gschem/src/gschem_cairo.c:318 #, c-format msgid "Unknown type for stroke (%d) !\n" msgstr "¡ Tipo desconocido para gesto (%d) !\n" #: gschem/src/gschem_pango.c:289 msgid "cairo context" msgstr "Contexto de Cairo" #: gschem/src/gschem_pango.c:290 msgid "the cairo context for the renderer" msgstr "Contexto de Cairo para dibujar" #: gschem/src/i_basic.c:77 gschem/src/x_window.c:524 #: gschem/lib/system-gschemrc.scm:1399 msgid "Select Mode" msgstr "Seleccionar" #: gschem/src/i_basic.c:79 msgid "Component Mode" msgstr "Modo Componentes" #: gschem/src/i_basic.c:81 msgid "Text Mode" msgstr "Modo Texto" #: gschem/src/i_basic.c:84 gschem/lib/system-gschemrc.scm:1402 msgid "Copy Mode" msgstr "Copiar" #: gschem/src/i_basic.c:87 gschem/lib/system-gschemrc.scm:1404 msgid "Move Mode" msgstr "Mover" #: gschem/src/i_basic.c:89 msgid "Rotate Mode" msgstr "Rotar" #: gschem/src/i_basic.c:91 gschem/lib/system-gschemrc.scm:1406 msgid "Mirror Mode" msgstr "Voltear" #: gschem/src/i_basic.c:95 msgid "Zoom Box" msgstr "Ampliar" #: gschem/src/i_basic.c:99 msgid "Pan Mode" msgstr "Modo Centrar" #: gschem/src/i_basic.c:103 #, c-format msgid "Paste %d Mode" msgstr "Modo Pegar %d" #: gschem/src/i_basic.c:109 msgid "Magnetic Net Mode" msgstr "Modo Ayuda a la conexión" #: gschem/src/i_basic.c:111 msgid "Net Mode" msgstr "Modo Conexión" #: gschem/src/i_basic.c:115 msgid "Bus Mode" msgstr "Modo Bus" #: gschem/src/i_basic.c:118 msgid "Line Mode" msgstr "Modo Línea" #: gschem/src/i_basic.c:121 msgid "Box Mode" msgstr "Modo Rectángulo" #: gschem/src/i_basic.c:124 msgid "Picture Mode" msgstr "Modo Imagen" #: gschem/src/i_basic.c:127 msgid "Circle Mode" msgstr "Modo Círculo" #: gschem/src/i_basic.c:130 msgid "Arc Mode" msgstr "Modo Arco" #: gschem/src/i_basic.c:133 msgid "Pin Mode" msgstr "Modo Pin" #: gschem/src/i_basic.c:135 gschem/src/i_callbacks.c:529 #: gschem/src/i_callbacks.c:553 msgid "Copy" msgstr "Copiar" #: gschem/src/i_basic.c:137 gschem/src/i_callbacks.c:619 #: gschem/src/i_callbacks.c:643 msgid "Move" msgstr "Mover" #: gschem/src/i_basic.c:139 gschem/src/i_callbacks.c:574 #: gschem/src/i_callbacks.c:598 msgid "Multiple Copy" msgstr "Copia múltiple" #: gschem/src/i_basic.c:142 gschem/lib/system-gschemrc.scm:1403 msgid "Multiple Copy Mode" msgstr "Modo de copia múltiple" #: gschem/src/i_basic.c:168 msgid "Show Hidden" msgstr "Mostrar ocultos" #: gschem/src/i_basic.c:171 msgid "Snap Off" msgstr "Desactivado el ajuste a la rejilla" #: gschem/src/i_basic.c:173 msgid "Resnap Active" msgstr "Reajuste a la rejilla activado" #: gschem/src/i_basic.c:254 gschem/src/x_window.c:498 msgid "Action" msgstr "Acción" #: gschem/src/i_basic.c:260 gschem/src/x_dialog.c:2325 #: gschem/src/x_window.c:493 msgid "Stroke" msgstr "Gesto" #: gschem/src/i_basic.c:266 gschem/src/x_window.c:495 msgid "none" msgstr "ninguno" #: gschem/src/i_basic.c:271 msgid "Repeat/" msgstr "Repetir/" #: gschem/src/i_basic.c:566 gschem/src/i_basic.c:580 msgid "OFF" msgstr "○" #: gschem/src/i_basic.c:584 msgid "NONE" msgstr "NINGUNO" #: gschem/src/i_basic.c:589 #, c-format msgid "Grid(%s, %s)" msgstr "Rejilla(%s, %s)" #: gschem/src/i_callbacks.c:76 gschem/src/i_callbacks.c:1659 #, c-format msgid "New page created [%s]\n" msgstr "Se ha creado una página nueva [%s]\n" #: gschem/src/i_callbacks.c:124 #, c-format msgid "New Window created [%s]\n" msgstr "Se ha creado una nueva ventana [%s]\n" #: gschem/src/i_callbacks.c:242 msgid "Failed to Save All" msgstr "No se ha podido guardar todo" #: gschem/src/i_callbacks.c:244 msgid "Saved All" msgstr "Guardado todo" #: gschem/src/i_callbacks.c:334 msgid "Closing Window\n" msgstr "Cerrando ventana\n" #: gschem/src/i_callbacks.c:534 gschem/src/i_callbacks.c:579 #: gschem/src/i_callbacks.c:624 msgid "Select objs first" msgstr "Antes seleccione objetos" #: gschem/src/i_callbacks.c:663 gschem/src/x_multiattrib.c:1549 msgid "Delete" msgstr "Borrar" #: gschem/src/i_callbacks.c:688 msgid "Edit" msgstr "Editar" #: gschem/src/i_callbacks.c:703 msgid "Edit pin type" msgstr "Editar tipo de pin" #: gschem/src/i_callbacks.c:722 msgid "Edit Text" msgstr "Editar texto" #: gschem/src/i_callbacks.c:745 msgid "Slot" msgstr "Elemento" #: gschem/src/i_callbacks.c:762 msgid "Color" msgstr "Color" #: gschem/src/i_callbacks.c:799 gschem/src/i_callbacks.c:844 msgid "Rotate" msgstr "Rotar" #: gschem/src/i_callbacks.c:866 gschem/src/i_callbacks.c:891 msgid "Mirror" msgstr "Voltear" #: gschem/src/i_callbacks.c:912 gschem/src/x_dialog.c:2328 #: gschem/lib/system-gschemrc.scm:1415 msgid "Lock" msgstr "Fijar" #: gschem/src/i_callbacks.c:930 gschem/lib/system-gschemrc.scm:1416 msgid "Unlock" msgstr "Desfijar" #: gschem/src/i_callbacks.c:948 gschem/src/x_dialog.c:1746 msgid "Translate" msgstr "Mover" #: gschem/src/i_callbacks.c:951 msgid "WARNING: Do not translate with snap off!\n" msgstr "" "ADVERTENCIA: ¡No mueva objetos con el ajuste a la rejilla desactivado!\n" #: gschem/src/i_callbacks.c:952 msgid "WARNING: Turning snap on and continuing with translate.\n" msgstr "" "ADVERTENCIA: Activando el ajuste a la rejilla y continuando con el " "movimiento.\n" #: gschem/src/i_callbacks.c:959 msgid "WARNING: Snap grid size is not equal to 100!\n" msgstr "ADVERTENCIA: ¡El tamaño de la rejilla no es 100!\n" #: gschem/src/i_callbacks.c:961 msgid "" "WARNING: If you are translating a symbol to the origin, the snap grid size " "should be set to 100\n" msgstr "" "ADVERTENCIA: Si está moviendo un símbolo al origen, el tamaño de la " "rejilladebe ser de 100\n" #: gschem/src/i_callbacks.c:992 msgid "Embed" msgstr "Incrustar" #: gschem/src/i_callbacks.c:1031 msgid "Unembed" msgstr "Desincrustar" #: gschem/src/i_callbacks.c:1073 msgid "Update" msgstr "Actualizar" #: gschem/src/i_callbacks.c:1120 msgid "ShowHidden" msgstr "Mostrar ocultos" #: gschem/src/i_callbacks.c:1426 gschem/src/i_callbacks.c:1498 msgid "Pan" msgstr "Centrar respecto al cursor" #: gschem/src/i_callbacks.c:1703 msgid "Really revert page?" msgstr "¿Seguro que quiere recargar la página?" #: gschem/src/i_callbacks.c:1773 msgid "Copy to clipboard" msgstr "Copiar al portapapeles" #: gschem/src/i_callbacks.c:1791 msgid "Cut to clipboard" msgstr "Cortar al portapapeles" #: gschem/src/i_callbacks.c:1809 msgid "Paste from clipboard" msgstr "Pegar desde el portapapeles" #: gschem/src/i_callbacks.c:1821 gschem/src/i_callbacks.c:2060 #: gschem/src/i_callbacks.c:2082 gschem/src/i_callbacks.c:2104 #: gschem/src/i_callbacks.c:2126 gschem/src/i_callbacks.c:2148 msgid "Empty buffer" msgstr "Buffer vacío" #: gschem/src/i_callbacks.c:1866 msgid "Copy 1" msgstr "Copiar 1" #: gschem/src/i_callbacks.c:1885 msgid "Copy 2" msgstr "Copiar 2" #: gschem/src/i_callbacks.c:1904 msgid "Copy 3" msgstr "Copiar 3" #: gschem/src/i_callbacks.c:1923 msgid "Copy 4" msgstr "Copiar 4" #: gschem/src/i_callbacks.c:1942 msgid "Copy 5" msgstr "Copiar 5" #: gschem/src/i_callbacks.c:1961 msgid "Cut 1" msgstr "Cortar 1" #: gschem/src/i_callbacks.c:1980 msgid "Cut 2" msgstr "Cortar 2" #: gschem/src/i_callbacks.c:1999 msgid "Cut 3" msgstr "Cortar 3" #: gschem/src/i_callbacks.c:2018 msgid "Cut 4" msgstr "Cortar 4" #: gschem/src/i_callbacks.c:2037 msgid "Cut 5" msgstr "Cortar 5" #: gschem/src/i_callbacks.c:2053 msgid "Paste 1" msgstr "Pegar 1" #: gschem/src/i_callbacks.c:2075 msgid "Paste 2" msgstr "Pegar 2" #: gschem/src/i_callbacks.c:2097 msgid "Paste 3" msgstr "Pegar 3" #: gschem/src/i_callbacks.c:2119 msgid "Paste 4" msgstr "Pegar 4" #: gschem/src/i_callbacks.c:2141 msgid "Paste 5" msgstr "Pegar 5" #: gschem/src/i_callbacks.c:2278 gschem/src/x_window.c:359 msgid "Component" msgstr "Componente" #: gschem/src/i_callbacks.c:2314 gschem/src/i_callbacks.c:2333 #: gschem/src/x_dialog.c:2298 msgid "Attribute" msgstr "Propiedad" #: gschem/src/i_callbacks.c:2355 gschem/src/i_callbacks.c:2382 #: gschem/src/x_dialog.c:2295 msgid "Net" msgstr "Conexión" #: gschem/src/i_callbacks.c:2426 gschem/src/i_callbacks.c:2453 #: gschem/src/x_dialog.c:2313 gschem/src/x_window.c:379 msgid "Bus" msgstr "Bus" #: gschem/src/i_callbacks.c:2534 gschem/src/i_callbacks.c:2557 msgid "Line" msgstr "Línea" #: gschem/src/i_callbacks.c:2579 gschem/src/i_callbacks.c:2602 msgid "Box" msgstr "Rectángulo" #: gschem/src/i_callbacks.c:2658 gschem/src/i_callbacks.c:2682 msgid "Circle" msgstr "Círculo" #: gschem/src/i_callbacks.c:2704 gschem/src/i_callbacks.c:2727 msgid "Arc" msgstr "Arco" #: gschem/src/i_callbacks.c:2749 gschem/src/i_callbacks.c:2772 #: gschem/src/x_dialog.c:2286 msgid "Pin" msgstr "Pin" #: gschem/src/i_callbacks.c:2831 #, c-format msgid "Searching for source [%s]\n" msgstr "Buscando origen [%s]\n" #: gschem/src/i_callbacks.c:2855 #, c-format msgid "Cannot find source [%s]\n" msgstr "No se ha podido encontrar la fuente [%s]\n" #: gschem/src/i_callbacks.c:2918 #, c-format msgid "Searching for symbol [%s]\n" msgstr "Buscando símbolo [%s]\n" #: gschem/src/i_callbacks.c:2924 msgid "Symbol is not a real file. Symbol cannot be loaded.\n" msgstr "El símbolo no es un archivo físico. No se puede cargar el símbolo.\n" #: gschem/src/i_callbacks.c:2955 msgid "Cannot find any schematics above the current one!\n" msgstr "¡No se ha podido encontrar ningún esquema jerárquico superior!\n" #: gschem/src/i_callbacks.c:2985 msgid "Attach" msgstr "Adjuntar" #: gschem/src/i_callbacks.c:3041 msgid "Detach" msgstr "No adjuntar" #: gschem/src/i_callbacks.c:3085 msgid "ShowN" msgstr "Mostrar nombre" #: gschem/src/i_callbacks.c:3122 msgid "ShowV" msgstr "Mostrar valor" #: gschem/src/i_callbacks.c:3159 msgid "ShowB" msgstr "Mostrar ambos" #: gschem/src/i_callbacks.c:3197 msgid "VisToggle" msgstr "Cambiar visibilidad" #: gschem/src/i_callbacks.c:3228 #, c-format msgid "Sorry but this is a non-functioning menu option\n" msgstr "Disculpe. Esta opción del menú no funciona\n" #: gschem/src/i_callbacks.c:3318 msgid "Action feedback mode set to OUTLINE\n" msgstr "Modo de realimentación seleccionado: SILUETA\n" #: gschem/src/i_callbacks.c:3321 msgid "Action feedback mode set to BOUNDINGBOX\n" msgstr "Modo de realimentación seleccionado: CONTENEDOR\n" #: gschem/src/i_callbacks.c:3346 msgid "Grid OFF\n" msgstr "Rejilla DESACTIVADA\n" #: gschem/src/i_callbacks.c:3347 msgid "Dot grid selected\n" msgstr "Seleccionada rejilla de puntos\n" #: gschem/src/i_callbacks.c:3348 msgid "Mesh grid selected\n" msgstr "Seleccionada rejilla de malla\n" #: gschem/src/i_callbacks.c:3369 msgid "Snap OFF (CAUTION!)\n" msgstr "¡PRECAUCIÓN!: Ajuste a la rejilla DESACTIVADO\n" #: gschem/src/i_callbacks.c:3372 msgid "Snap ON\n" msgstr "Ajuste a la rejilla ACTIVADO\n" #: gschem/src/i_callbacks.c:3375 msgid "Snap back to the grid (CAUTION!)\n" msgstr "Reajuste a la rejilla (¡PRECAUCIÓN!)\n" #: gschem/src/i_callbacks.c:3401 msgid "Rubber band OFF \n" msgstr "Goma de borrar DESACT \n" #: gschem/src/i_callbacks.c:3404 msgid "Rubber band ON\n" msgstr "Goma de borrar ACT\n" #: gschem/src/i_callbacks.c:3419 msgid "magnetic net mode: ON\n" msgstr "Modo de Ayuda a la conexión: ACTIVADO\n" #: gschem/src/i_callbacks.c:3422 msgid "magnetic net mode: OFF\n" msgstr "Modo de Ayuda a la conexión: DESACTIVADO\n" #: gschem/src/o_box.c:292 #, c-format msgid "Unknown type for box (fill)!\n" msgstr "¡Tipo de relleno de rectángulo desconocido!\n" #: gschem/src/o_buffer.c:54 #, c-format msgid "o_buffer_copy: Invalid buffer %i\n" msgstr "o_buffer_copy: memoria intermedia no válida %i\n" #: gschem/src/o_buffer.c:69 #, c-format msgid "o_buffer_cut: Invalid buffer %i\n" msgstr "o_buffer_cut: memoria intermedia no válida %i\n" #: gschem/src/o_buffer.c:90 #, c-format msgid "Got an invalid buffer_number [o_buffer_paste_start]\n" msgstr "" "Se ha recibido un número de memoria intermedia no válida en la función " "o_buffer_paste_start\n" #: gschem/src/o_bus.c:117 #, c-format msgid "Got an invalid which one in o_bus_draw_stretch\n" msgstr "" "Se ha recibido un parámetro no válido (\"whichone\") en la función " "o_bus_draw_stretch\n" #: gschem/src/o_circle.c:284 #, c-format msgid "Unknown type for circle (fill)!\n" msgstr "¡Tipo de relleno de círculo desconocido!\n" #: gschem/src/o_complex.c:223 gschem/src/o_complex.c:227 #, c-format msgid "Translating schematic [%d %d]\n" msgstr "Convirtiendo esquema [%d %d]\n" #: gschem/src/o_misc.c:61 #, c-format msgid "Got an unexpected NULL in o_edit\n" msgstr "Se ha recibido NULL (no esperado) en la función o_edit\n" #: gschem/src/o_misc.c:125 msgid "Object already locked\n" msgstr "Objeto previamente fijado\n" #: gschem/src/o_misc.c:163 msgid "Object already unlocked\n" msgstr "El objeto no estaba fijado\n" #: gschem/src/o_misc.c:339 msgid "Hidden text is now visible\n" msgstr "El texto oculto es ahora visible\n" #: gschem/src/o_misc.c:341 msgid "Hidden text is now invisible\n" msgstr "El texto oculto es ahora invisible\n" #: gschem/src/o_misc.c:568 #, c-format msgid "Could not find symbol [%s] in library. Update failed.\n" msgstr "" "No se pudo encontrar el símbolo [%s] en la librería. Error al actualizar.\n" #: gschem/src/o_misc.c:683 #, c-format msgid "o_autosave_backups: Can't get the real filename of %s." msgstr "" "o_autosave_backups: Imposible averiguar el nombre de archivo real de %s." #: gschem/src/o_misc.c:727 #, c-format msgid "Could NOT set previous backup file [%s] read-write\n" msgstr "" "NO se han podido cambiar los permisos de la copia de seguridad anterior [%s] " "a lectura-escritura\n" #: gschem/src/o_misc.c:747 #, c-format msgid "Could NOT set backup file [%s] readonly\n" msgstr "" "NO se han podido cambiar los permisos de la copia de seguridad anterior [%s] " "a sólo lectura\n" #: gschem/src/o_misc.c:752 #, c-format msgid "Could NOT save backup file [%s]\n" msgstr "NO se ha podido guardar la copia de seguridad [%s]\n" #: gschem/src/o_move.c:174 #, c-format msgid "ERROR: NULL object in o_move_end!\n" msgstr "ERROR: en la función o_move_end, ¡el objeto es NULL!\n" #: gschem/src/o_move.c:431 #, c-format msgid "DOH! tried to find the whichone, but didn't find it!\n" msgstr "" "¡Eh! Se ha intentado encontrar el parámetro \"whichone\", pero ¡no se ha " "encontrado!\n" #: gschem/src/o_move.c:453 #, c-format msgid "Got a non line object in o_move_check_endpoint\n" msgstr "" "Se ha recibido un objeto que no es una línea en la función " "o_move_check_endpoint\n" #: gschem/src/o_net.c:158 #, c-format msgid "Got an invalid which one in o_net_draw_stretch\n" msgstr "" "Se ha recibido un parámetro no válido (\"whichone\") en la función " "o_net_draw_stretch\n" #: gschem/src/o_net.c:537 msgid "Warning: Starting net at off grid coordinate\n" msgstr "" "Advertencia: se ha iniciado la conexión en una coordenada fuera de la " "rejilla\n" #: gschem/src/o_net.c:602 msgid "Warning: Ending net at off grid coordinate\n" msgstr "" "Advertencia: se ha finalizado la conexión en una coordenada fuera de la " "rejilla\n" #: gschem/src/o_net.c:944 gschem/src/o_net.c:981 gschem/src/o_net.c:1052 #: gschem/src/o_net.c:1088 #, c-format msgid "Tried to add more than two bus rippers. Internal gschem error.\n" msgstr "" "Se ha intentado añadir más de dos conexiones a bus. Error interno de " "gschem.\n" #: gschem/src/o_net.c:1156 #, c-format msgid "Bus ripper symbol [%s] was not found in any component library\n" msgstr "No se ha encontrado el símbolo %s en ninguna librería de componentes\n" #: gschem/src/o_path.c:340 #, c-format msgid "Unknown type for path (fill)!\n" msgstr "¡Tipo de camino (relleno) desconocido!\n" #: gschem/src/o_picture.c:166 #, c-format msgid "Failed to load picture: %s" msgstr "Fallo al cargar la imagen: %s" #: gschem/src/o_picture.c:180 msgid "Picture" msgstr "Imagen" #: gschem/src/o_picture.c:544 #, c-format msgid "Failed to replace pictures: %s" msgstr "Falló al reemplazar las imágenes: %s" #: gschem/src/o_slot.c:81 msgid "Slot attribute malformed\n" msgstr "El atributo del elemento está mal especificado\n" #: gschem/src/o_slot.c:89 msgid "numslots attribute missing\n" msgstr "La propiedad \"numslots\" no está definida\n" #: gschem/src/o_slot.c:90 msgid "Slotting not allowed for this component\n" msgstr "No se permiten múltiples elementos para este componente\n" #: gschem/src/o_slot.c:105 msgid "New slot number out of range\n" msgstr "El nuevo número de elemento está fuera de rango\n" #: gschem/src/o_undo.c:307 msgid "Undo/Redo disabled in rc file\n" msgstr "¡Deshacer/Rehacer deshabilitado en el fichero rc!\n" #: gschem/src/parsecmd.c:82 #, c-format msgid "" "Usage: %s [OPTION ...] [--] [FILE ...]\n" "\n" "Interactively edit gEDA schematics or symbols. If one or more FILEs\n" "are specified, open them for editing; otherwise, create a new, empty\n" "schematic.\n" "\n" "Options:\n" " -q, --quiet Quiet mode.\n" " -v, --verbose Verbose mode.\n" " -r, --config-file=FILE Additional configuration file to load.\n" " -L DIR Add DIR to Scheme search path.\n" " -c EXPR Scheme expression to run at startup.\n" " -s FILE Scheme script to run at startup.\n" " -o, --output=FILE Output filename (for printing).\n" " -p Automatically place the window.\n" " -V, --version Show version information.\n" " -h, --help Help; this message.\n" " -- Treat all remaining arguments as filenames.\n" "\n" "Report bugs at \n" "gEDA/gaf homepage: \n" msgstr "" "Uso: %s [OPCION ...] [--] [FICHERO ...]\n" "\n" "Editar esquemas o símbolos de gEDA en forma interactiva. \n" "Si uno o más FICHEROs son especificados, se abren para edición; de lo " "contrario, \n" "se crea un esquema nuevo en blanco.\n" "\n" "Opciones:\n" " -q, --quiet Modo silencioso.\n" " -v, --verbose Modo comunicativo\n" " -r, --config-file=FICHERO Archivo de configuración adicional para cargar.\n" " -L DIR Agrega DIR a las rutas de búsqueda de Scheme.\n" " -c EXPR Expresión de Scheme para ejecutar al inicio.\n" " -s FICHERO Script de Scheme para ejecutar al inicio.\n" " -o, --output=FICHERO Nombre de fichero de salida (para imprimir).\n" " -p Posicionar la ventana en forma automática.\n" " -V, --version Muestra información de la versión del programa.\n" " -h, --help Mensaje de ayuda (este mensaje).\n" " -- Trata todos los argumentos siguientes como nombres de archivos.\n" "\n" "Reportar errores a \n" "Sitio Web de gEDA/gaf: \n" #: gschem/src/parsecmd.c:116 #, c-format msgid "" "gEDA %s (g%.7s)\n" "Copyright (C) 1998-2012 gEDA developers\n" "This is free software, and you are welcome to redistribute it under\n" "certain conditions. For details, see the file `COPYING', which is\n" "included in the gEDA distribution.\n" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" "gEDA %s (g%.7s)\n" "Derechos Reservados (C) 1998-2012 desarrolladores de gEDA\n" "Esto es software libre, y eres bienvenido a redistribuirlo bajo\n" "ciertas condiciones. Para más detalles, revisa el fichero `COPYING', que se\n" "incluye en la distribución de gEDA.\n" "NO EXISTEN GARANTIAS, dentro de lo que la ley permite.\n" #: gschem/src/x_attribedit.c:127 #, c-format msgid "Got invalid show option; defaulting to show both\n" msgstr "" "Se ha recibido una opción de mostrar no válida; mostrando ambos por defecto\n" #: gschem/src/x_attribedit.c:141 #, c-format msgid "ERROR: NULL object!\n" msgstr "ERROR: ¡objeto vacío (NULL)!\n" #: gschem/src/x_attribedit.c:329 msgid "Single Attribute Editor" msgstr "Editor de una única propiedad" #: gschem/src/x_attribedit.c:359 msgid "Edit Attribute" msgstr "Editar propiedades" #: gschem/src/x_attribedit.c:361 msgid "Add Attribute" msgstr "Añadir propiedad" #: gschem/src/x_attribedit.c:377 gschem/src/x_multiattrib.c:1973 msgid "Name:" msgstr "Nombre:" #: gschem/src/x_attribedit.c:394 gschem/src/x_multiattrib.c:1992 msgid "Value:" msgstr "Valor:" #: gschem/src/x_attribedit.c:410 gschem/src/x_multiattrib.c:2038 msgid "Visible" msgstr "Visible" #: gschem/src/x_attribedit.c:430 msgid "Show Value Only" msgstr "Mostrar sólo valor" #: gschem/src/x_attribedit.c:432 msgid "Show Name Only" msgstr "Mostrar sólo nombre" #: gschem/src/x_attribedit.c:434 gschem/src/x_multiattrib.c:1512 msgid "Show Name & Value" msgstr "Mostrar nombre y valor" #: gschem/src/x_attribedit.c:441 msgid "Attach Options" msgstr "Opciones de asociación" #: gschem/src/x_attribedit.c:456 msgid "All" msgstr "Todo" #: gschem/src/x_attribedit.c:464 gschem/src/x_compselect.c:922 #: gschem/src/x_compselect.c:1036 msgid "Components" msgstr "Componentes" #: gschem/src/x_attribedit.c:472 gschem/src/x_window.c:369 msgid "Nets" msgstr "Conexiones" #: gschem/src/x_attribedit.c:480 msgid "Replace existing attributes" msgstr "Reemplazar las propiedades existentes" #: gschem/src/x_autonumber.c:415 msgid "" "slotted object without slot attribute may cause problems when autonumbering " "slots\n" msgstr "" "Un componente con varios elementos sin la propiedad 'slot' puede causar " "problemas al autonumerar los números de elemento\n" #: gschem/src/x_autonumber.c:430 #, c-format msgid "" "duplicate slot may cause problems: [symbolname=%s, number=%d, slot=%d]\n" msgstr "" "La duplicidad de la propiedad 'slot' puede causar problemas: [nombre del " "símbolo=%s, número=%d, slot=%d]\n" #: gschem/src/x_autonumber.c:672 msgid "No searchstring given in autonumber text.\n" msgstr "No se ha especificado una cadena de búsqueda para autonumerar texto.\n" #: gschem/src/x_autonumber.c:724 msgid "No '*' or '?' given at the end of the autonumber text.\n" msgstr "No se ha especificado '*' o '?' al final del texto a autonumerar.\n" #: gschem/src/x_autonumber.c:859 msgid "Diagonal" msgstr "Diagonal" #: gschem/src/x_autonumber.c:860 msgid "Top to bottom" msgstr "De arriba hacia abajo" #: gschem/src/x_autonumber.c:860 msgid "Bottom to top" msgstr "De abajo hacia arriba" #: gschem/src/x_autonumber.c:861 msgid "Left to right" msgstr "De izquierda hacia derecha" #: gschem/src/x_autonumber.c:861 msgid "Right to left" msgstr "De derecha hacia izquierda" #: gschem/src/x_autonumber.c:862 msgid "File order" msgstr "Orden de archivos:" #: gschem/src/x_autonumber.c:1198 msgid "Autonumber text" msgstr "Autoenumerar texto" #: gschem/src/x_autonumber.c:1222 msgid "Scope" msgstr "Ámbito" #: gschem/src/x_autonumber.c:1244 msgid "Search for:" msgstr "Buscar:" #: gschem/src/x_autonumber.c:1258 msgid "Autonumber text in:" msgstr "Autoenumerar texto en:" #: gschem/src/x_autonumber.c:1265 msgid "Skip numbers found in:" msgstr "Ignorar números encontrados en:" #: gschem/src/x_autonumber.c:1277 gschem/src/x_autonumber.c:1286 msgid "Selected objects" msgstr "Objetos seleccionados" #: gschem/src/x_autonumber.c:1278 gschem/src/x_autonumber.c:1287 msgid "Current page" msgstr "Hoja actual" #: gschem/src/x_autonumber.c:1279 gschem/src/x_autonumber.c:1288 msgid "Whole hierarchy" msgstr "Jerarquía completa" #: gschem/src/x_autonumber.c:1290 msgid "Overwrite existing numbers" msgstr "Sobreescribir los números existentes" #: gschem/src/x_autonumber.c:1295 msgid "Options" msgstr "Opciones" #: gschem/src/x_autonumber.c:1317 msgid "Starting number:" msgstr "Número inicial:" #: gschem/src/x_autonumber.c:1324 msgid "Sort order:" msgstr "Método de ordenación:" #: gschem/src/x_autonumber.c:1345 msgid "Remove numbers" msgstr "Borrar los números" #: gschem/src/x_autonumber.c:1349 msgid "Automatic slotting" msgstr "Asignar números de elemento automáticamente" #: gschem/src/x_clipboard.c:249 #, c-format msgid "" "Invalid schematic on clipboard.\n" "\n" "An error occurred while inserting clipboard data: %s." msgstr "" "Esquema inválido en el portapapeles.\n" "\n" "Ocurrió un error al insertar el contenido del portapapeles: %s." #: gschem/src/x_clipboard.c:251 msgid "Clipboard insertion failed" msgstr "Fallo al insertar el contenido del portapapeles" #: gschem/src/x_color.c:94 gschem/src/x_color.c:103 #, c-format msgid "Could not allocate the color %s!\n" msgstr "¡No se puede reservar memoria para el color %s!\n" #: gschem/src/x_color.c:94 msgid "black" msgstr "negro" #: gschem/src/x_color.c:103 msgid "white" msgstr "blanco" #: gschem/src/x_color.c:125 #, c-format msgid "Could not allocate display color %i!\n" msgstr "¡No se puede reservar memoria para el color %i!\n" #: gschem/src/x_color.c:147 #, c-format msgid "Could not allocate outline color %i!\n" msgstr "¡No se puede reservar memoria para el color del contorno %i!\n" #: gschem/src/x_color.c:164 gschem/src/x_color.c:181 gschem/src/x_color.c:197 #, c-format msgid "Tried to get an invalid color: %d\n" msgstr "Se ha intentado obtener un color no válido: %d\n" #: gschem/src/x_color.c:214 #, c-format msgid "Tried to get an invalid outline color: %d\n" msgstr "Se ha intentado obtener un color para el contorno no válido: %d\n" #: gschem/src/x_compselect.c:1066 msgid "Filter:" msgstr "Filtro:" #: gschem/src/x_compselect.c:1169 gschem/src/x_dialog.c:3653 #: gschem/src/x_multiattrib.c:1839 msgid "Name" msgstr "Nombre" #: gschem/src/x_compselect.c:1178 gschem/src/x_multiattrib.c:1863 msgid "Value" msgstr "Valor" #: gschem/src/x_compselect.c:1217 msgid "Default behavior - reference component" msgstr "Comportamiento por defecto - designar componente" #: gschem/src/x_compselect.c:1220 msgid "Embed component in schematic" msgstr "Incrustar componente en el esquema" #: gschem/src/x_compselect.c:1223 msgid "Include component as individual objects" msgstr "Incluir componentes como objetos individuales" #: gschem/src/x_compselect.c:1380 msgid "Select Component..." msgstr "Seleccionar componente..." #: gschem/src/x_compselect.c:1403 msgid "In Use" msgstr "En uso" #: gschem/src/x_compselect.c:1407 msgid "Libraries" msgstr "Librerías" #: gschem/src/x_compselect.c:1416 gschem/src/x_fileselect.c:122 msgid "Preview" msgstr "Vista preliminar" #: gschem/src/x_compselect.c:1444 msgid "Attributes" msgstr "Propiedades" #: gschem/src/x_dialog.c:176 msgid "Text Entry..." msgstr "Introducción de texto..." #: gschem/src/x_dialog.c:207 msgid "" "Enter text, click apply,\n" "move cursor into window, click to place text.\n" "Middle button to rotate while placing." msgstr "" "Introduzca el texto, pulse \"Aplicar\",\n" "mueva el cursor en la ventana, presione el botón izq. del ratón\n" "para colocar el texto.\n" "Botón intermedio para rotar mientras está colocando el texto." #: gschem/src/x_dialog.c:301 msgid "Upper Left" msgstr "Arriba a la izquierda" #: gschem/src/x_dialog.c:304 msgid "Upper Middle" msgstr "Arriba centrado" #: gschem/src/x_dialog.c:307 msgid "Upper Right" msgstr "Arriba a la derecha" #: gschem/src/x_dialog.c:311 msgid "Middle Left" msgstr "Centrado a la izquierda" #: gschem/src/x_dialog.c:314 msgid "Middle Middle" msgstr "Centrado Centrado" #: gschem/src/x_dialog.c:317 msgid "Middle Right" msgstr "Centrado a la derecha" #: gschem/src/x_dialog.c:321 msgid "Lower Left" msgstr "Abajo a la izquierda" #: gschem/src/x_dialog.c:324 msgid "Lower Middle" msgstr "Abajo centrado" #: gschem/src/x_dialog.c:327 msgid "Lower Right" msgstr "Abajo a la derecha" #: gschem/src/x_dialog.c:438 msgid "Edit Text Properties" msgstr "Editar las propiedades del texto" #: gschem/src/x_dialog.c:473 msgid "Text Content" msgstr "Contenido del texto" #: gschem/src/x_dialog.c:509 msgid "Text Properties" msgstr "Propiedades del texto" #: gschem/src/x_dialog.c:524 msgid "Color:" msgstr "Color:" #: gschem/src/x_dialog.c:531 msgid "Size:" msgstr "Tamaño:" #: gschem/src/x_dialog.c:540 msgid "Alignment:" msgstr "Alineación:" #: gschem/src/x_dialog.c:589 msgid "Solid" msgstr "Sólido" #: gschem/src/x_dialog.c:590 msgid "Dotted" msgstr "Punteado" #: gschem/src/x_dialog.c:591 msgid "Dashed" msgstr "Guión" #: gschem/src/x_dialog.c:592 msgid "Center" msgstr "Centrar" #: gschem/src/x_dialog.c:593 msgid "Phantom" msgstr "Fantasma" #: gschem/src/x_dialog.c:594 gschem/src/x_dialog.c:691 #: gschem/src/x_dialog.c:700 gschem/src/x_dialog.c:709 #: gschem/src/x_dialog.c:810 gschem/src/x_dialog.c:813 #: gschem/src/x_dialog.c:816 gschem/src/x_dialog.c:1043 #: gschem/src/x_dialog.c:1146 gschem/src/x_dialog.c:1155 #: gschem/src/x_dialog.c:1164 gschem/src/x_dialog.c:1173 #: gschem/src/x_dialog.c:1182 gschem/src/x_dialog.c:1295 #: gschem/src/x_dialog.c:1298 gschem/src/x_dialog.c:1301 #: gschem/src/x_dialog.c:1304 gschem/src/x_dialog.c:1307 msgid "*unchanged*" msgstr "*sin modificar*" #: gschem/src/x_dialog.c:921 msgid "Edit Line Width & Type" msgstr "Editar ancho y tipo de línea" #: gschem/src/x_dialog.c:960 gschem/src/x_print.c:307 msgid "Type:" msgstr "Tipo:" #: gschem/src/x_dialog.c:964 msgid "Width:" msgstr "Ancho:" #: gschem/src/x_dialog.c:968 msgid "Dash Length:" msgstr "Longitud de la línea en la discontinuidad:" #: gschem/src/x_dialog.c:972 msgid "Dash Space:" msgstr "Espaciado de la discontinuidad:" #: gschem/src/x_dialog.c:1039 msgid "Hollow" msgstr "Hueco" #: gschem/src/x_dialog.c:1040 msgid "Filled" msgstr "Relleno" #: gschem/src/x_dialog.c:1041 msgid "Mesh" msgstr "Malla" #: gschem/src/x_dialog.c:1042 msgid "Hatch" msgstr "Trama" #: gschem/src/x_dialog.c:1416 msgid "Edit Fill Type" msgstr "Editar tipo de relleno" #: gschem/src/x_dialog.c:1455 msgid "Fill Type:" msgstr "Tipo de relleno:" #: gschem/src/x_dialog.c:1459 msgid "Line Width:" msgstr "Ancho de línea:" #: gschem/src/x_dialog.c:1463 msgid "Angle 1:" msgstr "Ángulo 1:" #: gschem/src/x_dialog.c:1467 msgid "Pitch 1:" msgstr "Separación 1:" #: gschem/src/x_dialog.c:1471 msgid "Angle 2:" msgstr "Ángulo 2:" #: gschem/src/x_dialog.c:1475 msgid "Pitch 2:" msgstr "Separación 2:" #: gschem/src/x_dialog.c:1602 msgid "Arc Params" msgstr "Parámetros de arco" #: gschem/src/x_dialog.c:1643 msgid "Arc Radius:" msgstr "Radio de arco:" #: gschem/src/x_dialog.c:1651 msgid "Start Angle:" msgstr "Ángulo de comienzo:" #: gschem/src/x_dialog.c:1659 msgid "Degrees of Sweep:" msgstr "Grados de barrido:" #: gschem/src/x_dialog.c:1777 msgid "" "Offset to translate?\n" "(0 for origin)" msgstr "" "¿Desplazamiento del movimiento?\n" "(0 para el origen)" #: gschem/src/x_dialog.c:1845 msgid "Text Size" msgstr "Tamaño de texto" #: gschem/src/x_dialog.c:1875 msgid "Enter new text size:" msgstr "Introduzca nuevo tamaño de texto:" #: gschem/src/x_dialog.c:1951 msgid "Snap Size" msgstr "Tamaño de la rejilla" #: gschem/src/x_dialog.c:1981 msgid "Enter new snap grid spacing:" msgstr "Introduzca el nuevo espaciado de la rejilla:" #: gschem/src/x_dialog.c:2058 msgid "Edit slot number" msgstr "Editar número de elemento" #: gschem/src/x_dialog.c:2089 msgid "Edit slot number:" msgstr "Editar número de elemento:" #: gschem/src/x_dialog.c:2130 #, c-format msgid "%s (g%.7s)" msgstr "%s (g%.7s)" #: gschem/src/x_dialog.c:2151 msgid "About gschem" msgstr "Acerca de gschem" #: gschem/src/x_dialog.c:2152 msgid "gEDA: GPL Electronic Design Automation" msgstr "gEDA: Automatización de Diseño Electrónico GPL" #. TRANSLATORS: "ChangeLog" is a literal filename; please don't translate it. #: gschem/src/x_dialog.c:2155 msgid "" "Copyright © 1998-2012 Ales Hvezda \n" "Copyright © 1998-2012 gEDA Contributors (see ChangeLog for details)" msgstr "" "Todos los derechos reservados © 1998-2012 Ales Hvezda \n" "Todos los derechos reservados © 1998-2012 Contribuyentes de gEDA (revisar el " "ChangeLog para más detalles)" #: gschem/src/x_dialog.c:2214 msgid "Coords" msgstr "Coordenadas" #: gschem/src/x_dialog.c:2235 msgid "Screen" msgstr "Pantalla" #: gschem/src/x_dialog.c:2244 msgid "World" msgstr "Mundo" #: gschem/src/x_dialog.c:2283 msgid "Background" msgstr "Fondo" #: gschem/src/x_dialog.c:2289 msgid "Net endpoint" msgstr "Punto final de conexión" #: gschem/src/x_dialog.c:2292 msgid "Graphic" msgstr "Gráfico" #: gschem/src/x_dialog.c:2301 msgid "Logic bubble" msgstr "Negación lógica" #: gschem/src/x_dialog.c:2304 msgid "Grid point" msgstr "Punto de rejilla" #: gschem/src/x_dialog.c:2307 msgid "Detached attribute" msgstr "Desvincular propiedad" #: gschem/src/x_dialog.c:2310 gschem/src/x_window.c:387 msgid "Text" msgstr "Texto" #: gschem/src/x_dialog.c:2316 msgid "Selection" msgstr "Selección" #: gschem/src/x_dialog.c:2319 msgid "Bounding box" msgstr "Envolvente" #: gschem/src/x_dialog.c:2322 msgid "Zoom box" msgstr "Ventana de ampliado" #: gschem/src/x_dialog.c:2331 msgid "Output background" msgstr "Fondo de salida" #: gschem/src/x_dialog.c:2334 msgid "Net junction" msgstr "Unión de conexiones" #: gschem/src/x_dialog.c:2337 msgid "Mesh grid major" msgstr "Rejilla de malla mayor" #: gschem/src/x_dialog.c:2340 msgid "Mesh grid minor" msgstr "Rejilla de malla menor" #: gschem/src/x_dialog.c:2343 msgid "Unknown" msgstr "Desconocido" #: gschem/src/x_dialog.c:2494 #, c-format msgid "ERROR: NULL object in color_edit_dialog_apply!\n" msgstr "ERROR: ¡objeto vacío (NULL) en la función color_edit_dialog_apply!\n" #: gschem/src/x_dialog.c:2538 msgid "Color Edit" msgstr "Editar color" #: gschem/src/x_dialog.c:2569 msgid "Object color:" msgstr "Color del componente:" #: gschem/src/x_dialog.c:2622 msgid "Hotkeys" msgstr "Teclas rápidas" #: gschem/src/x_dialog.c:2662 msgid "Function" msgstr "Función" #: gschem/src/x_dialog.c:2669 msgid "Keystroke(s)" msgstr "Pulsación(es)" #: gschem/src/x_dialog.c:2977 msgid "Find Text" msgstr "Encontrar texto:" #: gschem/src/x_dialog.c:3008 msgid "Text to find:" msgstr "Texto a encontrar:" #: gschem/src/x_dialog.c:3018 msgid "descend into hierarchy" msgstr "Descender en la jerarquía" #: gschem/src/x_dialog.c:3084 msgid "Hide Text" msgstr "Ocultar texto:" #: gschem/src/x_dialog.c:3115 msgid "Hide text starting with:" msgstr "Ocultar texto que comienza por:" #: gschem/src/x_dialog.c:3185 msgid "Show Text" msgstr "Mostrar texto" #: gschem/src/x_dialog.c:3216 msgid "Show text starting with:" msgstr "Mostrar texto que comienza por:" #: gschem/src/x_dialog.c:3675 msgid "S_elect the schematics you want to save:" msgstr "S_eleccione los esquemas que quiere guardar:" #: gschem/src/x_dialog.c:3770 #, c-format msgid "Save the changes to schematic \"%s\" before closing?" msgstr "¿Guardar cambios del esquema \"%s\" antes de salir?" #: gschem/src/x_dialog.c:3776 #, c-format msgid "" "There are %d schematics with unsaved changes. Save changes before closing?" msgstr "" "Hay %d esquemas con cambios sin guardar. ¿Guardar cambios antes de cerrar?" #: gschem/src/x_dialog.c:3805 msgid "If you don't save, all your changes will be permanently lost." msgstr "Si no los guarda, todos los cambios se perderán definitivamente." #: gschem/src/x_dialog.c:3825 msgid "_Close without saving" msgstr "_Cerrar sin guardar" #: gschem/src/x_dialog.c:4161 #, c-format msgid "" "The input attribute \"%s\" is invalid\n" "Please correct in order to continue\n" "\n" "The name and value must be non-empty.\n" "The name cannot end with a space.\n" "The value cannot start with a space." msgstr "" "La propiedad introducida \"%s\" no es " "correcta\n" "Por favor, corríjala para continuar\n" "\n" "El nombre y el valor no pueden estar en blanco.\n" "El nombre no puede finalizar en un espacio.\n" "El valor no puede empezar con un espacio." #: gschem/src/x_dialog.c:4163 msgid "Invalid Attribute" msgstr "Propiedad incorrecta" #: gschem/src/x_dialog.c:4199 msgid "Pin type" msgstr "Tipo de Pin" #: gschem/src/x_dialog.c:4223 msgid "Net pin" msgstr "Pin para conexión simple" #: gschem/src/x_dialog.c:4225 msgid "Bus pin (graphical)" msgstr "Pin para conexión a bus (gráfico)" #: gschem/src/x_fileselect.c:42 msgid "Schematics" msgstr "Esquemas" #: gschem/src/x_fileselect.c:47 msgid "Symbols" msgstr "Símbolos" #: gschem/src/x_fileselect.c:52 msgid "Schematics and symbols" msgstr "Esquemas y símbolos" #: gschem/src/x_fileselect.c:58 msgid "All files" msgstr "Todos los archivos" #: gschem/src/x_fileselect.c:171 msgid "Open..." msgstr "Abrir..." #: gschem/src/x_fileselect.c:231 msgid "Save as..." msgstr "Guardar como..." #: gschem/src/x_fileselect.c:284 #, c-format msgid "" "The selected file `%s' already exists.\n" "\n" "Would you like to overwrite it?" msgstr "" "El archivo seleccionado '%s' ya existe.\n" "\n" "¿Quiere sobreescribirlo?" #: gschem/src/x_fileselect.c:287 msgid "Overwrite file?" msgstr "¿Sobreescribir el archivo?" #: gschem/src/x_fileselect.c:289 msgid "Save cancelled on user request\n" msgstr "El usuario ha cancelado la operación de guardar los cambios\n" #: gschem/src/x_image.c:176 msgid "Encapsulated Postscript" msgstr "Postscript encapsulado" #: gschem/src/x_image.c:296 #, c-format msgid "x_image_lowlevel: Unable to write eps file %s.\n" msgstr "x_image_lowlevel: Imposible escribir archivo eps: %s.\n" #: gschem/src/x_image.c:374 #, c-format msgid "x_image_lowlevel: Unable to write %s file %s.\n" msgstr "x_image_lowlevel: Imposible escribir archivo %s: %s.\n" #: gschem/src/x_image.c:384 #, c-format msgid "" "There was the following error when saving image with type %s to filename:\n" "%s\n" "\n" "%s.\n" msgstr "" "Se produjo el siguiente error al salvar la imagen con tipo %s al fichero:\n" "%s\n" "\n" "%s.\n" #: gschem/src/x_image.c:403 #, c-format msgid "Wrote color image to [%s] [%d x %d]\n" msgstr "Se ha guardado la imagen en color en [%s] [%d x %d]\n" #: gschem/src/x_image.c:405 #, c-format msgid "Wrote black and white image to [%s] [%d x %d]\n" msgstr "Se ha guardado la imagen en blanco y negro en [%s] [%d x %d]\n" #: gschem/src/x_image.c:413 msgid "x_image_lowlevel: Unable to get pixbuf from gschem's window.\n" msgstr "x_image_lowlevel: Imposible obtener pixbuf de la ventana de gschem.\n" #: gschem/src/x_image.c:458 msgid "Width x Height" msgstr "Anchura x Altura" #: gschem/src/x_image.c:474 msgid "Image type" msgstr "Tipo de imagen" #: gschem/src/x_image.c:495 msgid "Write image..." msgstr "Guardar imagen..." #: gschem/src/x_log.c:209 msgid "** Invalid UTF-8 in log message. See stderr or gschem.log.\n" msgstr "" "** mensaje sin codificación UTF-8 en la ventana de registro. Véase la " "ventana de registro de gschem o la salida de errores.\n" #: gschem/src/x_log.c:288 msgid "Status" msgstr "Estado" #: gschem/src/x_menus.c:37 msgid "/Add Net" msgstr "/Añadir conexión..." #: gschem/src/x_menus.c:38 msgid "/Add Attribute..." msgstr "/Añadir propiedad" #: gschem/src/x_menus.c:39 msgid "/Add Component..." msgstr "/Añadir componente..." #: gschem/src/x_menus.c:40 msgid "/Add Bus" msgstr "/Añadir bus" #: gschem/src/x_menus.c:41 msgid "/Add Text" msgstr "/Añadir texto" #: gschem/src/x_menus.c:43 msgid "/Zoom In" msgstr "/Aumentar ampliación" #: gschem/src/x_menus.c:44 msgid "/Zoom Out" msgstr "/Disminuir ampliación" #: gschem/src/x_menus.c:45 msgid "/Zoom Box" msgstr "/Ampliar zona" #: gschem/src/x_menus.c:46 msgid "/Zoom Extents" msgstr "/Mostrar todo" #: gschem/src/x_menus.c:48 msgid "/Select" msgstr "/Seleccionar" #: gschem/src/x_menus.c:49 msgid "/Edit..." msgstr "/Editar..." #: gschem/src/x_menus.c:50 msgid "/Edit pin type..." msgstr "/Editar tipo de pin" #: gschem/src/x_menus.c:51 msgid "/Copy" msgstr "/Copiar" #: gschem/src/x_menus.c:52 msgid "/Move" msgstr "/Mover" #: gschem/src/x_menus.c:53 msgid "/Delete" msgstr "/Borrar" #: gschem/src/x_menus.c:56 msgid "/Down Schematic" msgstr "/Descender en esquema" #: gschem/src/x_menus.c:57 msgid "/Down Symbol" msgstr "/Descender en símbolo" #: gschem/src/x_menus.c:58 msgid "/Up" msgstr "/Arriba" #: gschem/src/x_menus.c:348 #, c-format msgid "Tried to set the sensitivity on non-existent menu item '%s'\n" msgstr "" "Se ha intentado modificar la sensibilidad de una opción de menú que no " "existe '%s'\n" #: gschem/src/x_menus.c:372 msgid "Popup_menu_item_factory doesn't exist!\n" msgstr "¡No existen menúes contextuales!\n" #: gschem/src/x_menus.c:385 msgid "Tried to set the sensitivity on a non-existent popup menu_item\n" msgstr "" "Se ha intentado modificar la sensibilidad de una opción de menú que no " "existe\n" #: gschem/src/x_misc.c:74 msgid "The operating system is out of memory or resources." msgstr "El sistema se encuentra sin memoria o recursos suficientes." #: gschem/src/x_misc.c:155 #, c-format msgid "%s failed to launch URI" msgstr "%s falló en abrir la URI" #: gschem/src/x_multiattrib.c:961 msgid "Attributes with empty name are not allowed. Please set a name." msgstr "" "No se permiten las propiedades sin nombre. Por favor, introduzca un nombre." #: gschem/src/x_multiattrib.c:1514 msgid "Show Value only" msgstr "Mostrar sólo valor" #: gschem/src/x_multiattrib.c:1516 msgid "Show Name only" msgstr "Mostrar sólo nombre" #: gschem/src/x_multiattrib.c:1544 msgid "Promote" msgstr "Promocionar" #: gschem/src/x_multiattrib.c:1548 msgid "Duplicate" msgstr "Duplicar" #: gschem/src/x_multiattrib.c:1765 msgid "Edit Attributes" msgstr "Editar propiedades" #: gschem/src/x_multiattrib.c:1883 msgid "Vis?" msgstr "Visible?" #: gschem/src/x_multiattrib.c:1901 msgid "N" msgstr "N" #: gschem/src/x_multiattrib.c:1919 msgid "V" msgstr "V" #: gschem/src/x_multiattrib.c:1941 msgid "Show inherited attributes" msgstr "Mostrar propiedades heredadas" #: gschem/src/x_multiattrib.c:1957 msgid "Add Attribute" msgstr "Añadir propiedad" #: gschem/src/x_pagesel.c:246 msgid "New Page" msgstr "Nueva página" #: gschem/src/x_pagesel.c:247 msgid "Open Page..." msgstr "Abrir página" #: gschem/src/x_pagesel.c:249 msgid "Save Page" msgstr "Guardar página" #: gschem/src/x_pagesel.c:250 msgid "Close Page" msgstr "Cerrar página" #: gschem/src/x_pagesel.c:251 msgid "Discard Page" msgstr "Descartar página" #: gschem/src/x_pagesel.c:369 msgid "Page Manager" msgstr "Administrador de páginas" #: gschem/src/x_pagesel.c:425 msgid "Filename" msgstr "Nombre de archivo" #: gschem/src/x_pagesel.c:441 msgid "Changed" msgstr "Modificado" #: gschem/src/x_pagesel.c:461 msgid "Right click on the filename for more options..." msgstr "Pulse con el botón derecho para ver más opciones..." #: gschem/src/x_preview.c:231 msgid "Preview Buffer" msgstr "Previsualizar memoria intermedia" #: gschem/src/x_print.c:84 msgid "Select PostScript Filename..." msgstr "Seleccionar archivo PostScript..." #: gschem/src/x_print.c:164 msgid "Extents with margins" msgstr "Completo con márgenes" #: gschem/src/x_print.c:170 msgid "Extents no margins" msgstr "Completo sin márgenes" #: gschem/src/x_print.c:176 msgid "Current Window" msgstr "Ventana actual" #: gschem/src/x_print.c:210 msgid "Landscape" msgstr "Apaisado" #: gschem/src/x_print.c:216 msgid "Portrait" msgstr "Vertical" #: gschem/src/x_print.c:276 msgid "Print..." msgstr "Imprimir..." #: gschem/src/x_print.c:284 msgid "Settings" msgstr "Opciones" #: gschem/src/x_print.c:296 msgid "Output paper size:" msgstr "Tamaño de papel:" #: gschem/src/x_print.c:318 msgid "Orientation:" msgstr "Orientación:" #: gschem/src/x_print.c:330 msgid "Destination" msgstr "Destino" #: gschem/src/x_print.c:343 msgid "File:" msgstr "Archivo:" #: gschem/src/x_print.c:373 msgid "Command:" msgstr "Comando:" #: gschem/src/x_print.c:745 msgid "No print destination specified\n" msgstr "No se ha especificado el destino de impresión\n" #: gschem/src/x_print.c:752 #, c-format msgid "Cannot print current schematic to [%s]\n" msgstr "No se puede imprimir el esquema actual a [%s]\n" #: gschem/src/x_print.c:761 #, c-format msgid "" "Error printing to file '%s'\n" "Check the log window for more information" msgstr "" "Error al imprimir al fichero '%s'\n" "Vea la ventana de registro para más información" #: gschem/src/x_print.c:768 #, c-format msgid "Printed current schematic to [%s]\n" msgstr "Se ha imprimido el esquema actual a [%s]\n" #: gschem/src/x_rc.c:40 msgid "ERROR: An unknown error occurred while parsing configuration files.\n" msgstr "" "ERROR: Ocurrió un error desconocido al interpretar los archivos de " "configuración.\n" #: gschem/src/x_rc.c:45 msgid "" "An unknown error occurred while parsing configuration files.\n" "\n" "The gschem log may contain more information." msgstr "" "Ocurrió un error desconocido al interpretar los archivos de configuración.\n" "\n" "El log de gschem debería tener mas información." #: gschem/src/x_rc.c:57 #, c-format msgid "ERROR: %s\n" msgstr "ERROR: %s\n" #: gschem/src/x_rc.c:60 #, c-format msgid "" "%s\n" "\n" "The gschem log may contain more information." msgstr "" "%s\n" "\n" "El log (registro) de gschem puede tener más información." #: gschem/src/x_rc.c:68 msgid "Cannot load gschem configuration." msgstr "No se puede cargar la configuración de gschem." #: gschem/src/x_script.c:47 gschem/lib/system-gschemrc.scm:1381 msgid "Execute Script..." msgstr "Ejecutar subprograma..." #: gschem/src/x_script.c:66 #, c-format msgid "Executing guile script [%s]\n" msgstr "Ejecutando programa de guile [%s]\n" #: gschem/src/x_window.c:82 #, c-format msgid "Couldn't allocate gc\n" msgstr "No se ha podido reservar memoria para la variable gc\n" #: gschem/src/x_window.c:321 msgid "New" msgstr "Nuevo" #: gschem/src/x_window.c:322 msgid "New file" msgstr "Nuevo archivo" #: gschem/src/x_window.c:328 msgid "Open" msgstr "Abrir" #: gschem/src/x_window.c:329 msgid "Open file..." msgstr "Abrir archivo" #: gschem/src/x_window.c:335 msgid "Save" msgstr "Guardar" #: gschem/src/x_window.c:336 msgid "Save file" msgstr "Guardar archivo" #: gschem/src/x_window.c:343 msgid "Undo" msgstr "Deshacer" #: gschem/src/x_window.c:344 msgid "Undo last operation" msgstr "Deshacer última operación" #: gschem/src/x_window.c:350 msgid "Redo" msgstr "Rehacer" #: gschem/src/x_window.c:351 msgid "Redo last undo" msgstr "Rehacer el último deshacer" #: gschem/src/x_window.c:360 msgid "" "Add component...\n" "Select library and component from list, move the mouse into main window, " "click to place\n" "Right mouse button to cancel" msgstr "" "Añadir componente...\n" "Seleccione la librería y el componente de la lista, mueva el ratón a la " "ventana principal, y presione el botón izq. del ratón para colocarlo.\n" "Botón derecho del ratón para cancelar" #: gschem/src/x_window.c:370 msgid "" "Add nets mode\n" "Right mouse button to cancel" msgstr "" "Añadir conexión\n" "Botón derecho del ratón para cancelar" #: gschem/src/x_window.c:380 msgid "" "Add buses mode\n" "Right mouse button to cancel" msgstr "" "Añadir bus\n" "Botón derecho del ratón para cancelar" #: gschem/src/x_window.c:388 msgid "Add Text..." msgstr "Añadir texto..." #: gschem/src/x_window.c:398 msgid "Select" msgstr "Seleccionar" #: gschem/src/x_window.c:399 msgid "Select mode" msgstr "Seleccionar" #: gschem/src/x_window.c:465 msgid "Evaluate:" msgstr "Evaluar:" #: gschem/src/x_window.c:484 msgid "Pick" msgstr "Coger" #: gschem/src/x_window.c:500 msgid "Repeat/none" msgstr "Repetir/ninguno" #: gschem/src/x_window.c:510 msgid "Menu/Cancel" msgstr "Menú/Cancelar" #: gschem/src/x_window.c:512 msgid "Pan/Cancel" msgstr "Panorámica/Cancelar" #: gschem/src/x_window.c:737 #, c-format msgid "Loading schematic [%s]\n" msgstr "Cargando esquema [%s]\n" #: gschem/src/x_window.c:748 #, c-format msgid "" "An error occurred while loading the requested file.\n" "\n" "Loading from '%s' failed: %s. The gschem log may contain more information." msgstr "" "Ocurrió un error al cargar el archivo seleccionado.\n" "\n" "\n" "Cargar desde '%s' falló: %s. El log de gschem puede tener mas información." #: gschem/src/x_window.c:750 msgid "Failed to load file" msgstr "Fallo al cargar el archivo" #: gschem/src/x_window.c:759 #, c-format msgid "New file [%s]\n" msgstr "Nuevo archivo [%s]\n" #: gschem/src/x_window.c:862 #, c-format msgid "Could NOT save page [%s]\n" msgstr "NO se ha podido guardar la página [%s]\n" #: gschem/src/x_window.c:863 msgid "Error while trying to save" msgstr "Error al intentar guardar" #: gschem/src/x_window.c:873 msgid "Failed to save file" msgstr "Error al guardar archivo" #: gschem/src/x_window.c:884 #, c-format msgid "Saved as [%s]\n" msgstr "Guardado como [%s]\n" #: gschem/src/x_window.c:886 #, c-format msgid "Saved [%s]\n" msgstr "Guardado [%s]\n" #: gschem/src/x_window.c:888 msgid "Saved" msgstr "Guardado" #: gschem/src/x_window.c:962 #, c-format msgid "Discarding page [%s]\n" msgstr "Descartando página [%s]\n" #: gschem/src/x_window.c:962 #, c-format msgid "Closing [%s]\n" msgstr "Cerrando [%s]\n" #: gschem/data/geda-gschem.desktop.in:3 msgid "gEDA Schematic Editor" msgstr "Editor de esquemas gEDA" #: gschem/data/geda-gschem.desktop.in:4 msgid "Create and edit electrical schematics and symbols with gschem" msgstr "Crear y modificar esquemas y símbolos con gschem" #: gschem/lib/system-gschemrc.scm:1368 msgid "_New" msgstr "_Nuevo" #: gschem/lib/system-gschemrc.scm:1369 msgid "_Open..." msgstr "_Abrir..." #: gschem/lib/system-gschemrc.scm:1371 msgid "Open Recen_t" msgstr "Abrir recien_te" #: gschem/lib/system-gschemrc.scm:1373 msgid "_Save" msgstr "_Guardar" #: gschem/lib/system-gschemrc.scm:1374 msgid "Save _As..." msgstr "Guardar _como..." #: gschem/lib/system-gschemrc.scm:1375 msgid "Save All" msgstr "Guardar todo" #: gschem/lib/system-gschemrc.scm:1376 gschem/lib/system-gschemrc.scm:1469 msgid "_Revert" msgstr "_Recargar" #: gschem/lib/system-gschemrc.scm:1378 msgid "_Print..." msgstr "Im_primir..." #: gschem/lib/system-gschemrc.scm:1379 msgid "Write _image..." msgstr "Guardar _imagen..." #: gschem/lib/system-gschemrc.scm:1383 msgid "New Window" msgstr "Nueva ventana" #: gschem/lib/system-gschemrc.scm:1384 msgid "_Close Window" msgstr "_Cerrar ventana" #: gschem/lib/system-gschemrc.scm:1385 msgid "_Quit" msgstr "_Salir" #: gschem/lib/system-gschemrc.scm:1391 msgid "_Undo" msgstr "_Deshacer" #: gschem/lib/system-gschemrc.scm:1392 msgid "_Redo" msgstr "_Rehacer" #: gschem/lib/system-gschemrc.scm:1394 msgid "Cu_t" msgstr "Cor_tar" #: gschem/lib/system-gschemrc.scm:1395 msgid "_Copy" msgstr "_Copiar" #: gschem/lib/system-gschemrc.scm:1396 msgid "_Paste" msgstr "_Pegar" #: gschem/lib/system-gschemrc.scm:1397 msgid "_Delete" msgstr "_Borrar" #: gschem/lib/system-gschemrc.scm:1400 msgid "Select All" msgstr "Seleccionar todo" #: gschem/lib/system-gschemrc.scm:1401 msgid "Deselect" msgstr "Deseleccionar" #: gschem/lib/system-gschemrc.scm:1405 msgid "Rotate 90 Mode" msgstr "Rotar 90º" #: gschem/lib/system-gschemrc.scm:1408 msgid "Edit..." msgstr "Editar..." #: gschem/lib/system-gschemrc.scm:1409 msgid "Edit Text..." msgstr "Editar texto..." #: gschem/lib/system-gschemrc.scm:1410 msgid "Slot..." msgstr "Elemento..." #: gschem/lib/system-gschemrc.scm:1411 msgid "Color..." msgstr "Color..." #: gschem/lib/system-gschemrc.scm:1412 msgid "Line Width & Type..." msgstr "Anchura y tipo de línea" #: gschem/lib/system-gschemrc.scm:1413 msgid "Fill Type..." msgstr "Tipo de relleno" #: gschem/lib/system-gschemrc.scm:1414 msgid "Symbol Translate..." msgstr "Mover símbolo..." #: gschem/lib/system-gschemrc.scm:1418 msgid "Invoke Macro" msgstr "Ejecutar macro" #: gschem/lib/system-gschemrc.scm:1419 msgid "Embed Component/Picture" msgstr "Incrustar componente/imagen" #: gschem/lib/system-gschemrc.scm:1420 msgid "Unembed Component/Picture" msgstr "Desincrustar componente/imagen" #: gschem/lib/system-gschemrc.scm:1421 msgid "Update Component" msgstr "Actualizar componente" #: gschem/lib/system-gschemrc.scm:1422 msgid "Show/Hide Inv Text" msgstr "Mostrar/Ocultar texto oculto" #: gschem/lib/system-gschemrc.scm:1428 msgid "Copy into 1" msgstr "Copiar en memoria intermedia 1" #: gschem/lib/system-gschemrc.scm:1429 msgid "Copy into 2" msgstr "Copiar en memoria intermedia 2" #: gschem/lib/system-gschemrc.scm:1430 msgid "Copy into 3" msgstr "Copiar en memoria intermedia 3" #: gschem/lib/system-gschemrc.scm:1431 msgid "Copy into 4" msgstr "Copiar en memoria intermedia 4" #: gschem/lib/system-gschemrc.scm:1432 msgid "Copy into 5" msgstr "Copiar en memoria intermedia 5" #: gschem/lib/system-gschemrc.scm:1433 msgid "Cut into 1" msgstr "Cortar en memoria intermedia 1" #: gschem/lib/system-gschemrc.scm:1434 msgid "Cut into 2" msgstr "Cortar en memoria intermedia 2" #: gschem/lib/system-gschemrc.scm:1435 msgid "Cut into 3" msgstr "Cortar en memoria intermedia 3" #: gschem/lib/system-gschemrc.scm:1436 msgid "Cut into 4" msgstr "Cortar en memoria intermedia 4" #: gschem/lib/system-gschemrc.scm:1437 msgid "Cut into 5" msgstr "Cortar en memoria intermedia 5" #: gschem/lib/system-gschemrc.scm:1438 msgid "Paste from 1" msgstr "Pegar memoria intermedia 1" #: gschem/lib/system-gschemrc.scm:1439 msgid "Paste from 2" msgstr "Pegar memoria intermedia 2" #: gschem/lib/system-gschemrc.scm:1440 msgid "Paste from 3" msgstr "Pegar memoria intermedia 3" #: gschem/lib/system-gschemrc.scm:1441 msgid "Paste from 4" msgstr "Pegar memoria intermedia 4" #: gschem/lib/system-gschemrc.scm:1442 msgid "Paste from 5" msgstr "Pegar memoria intermedia 5" #: gschem/lib/system-gschemrc.scm:1448 msgid "_Redraw" msgstr "_Redibujar" #: gschem/lib/system-gschemrc.scm:1449 msgid "_Pan" msgstr "Centrar res_pecto al cursor" #: gschem/lib/system-gschemrc.scm:1450 msgid "Zoom _Box" msgstr "Ampliar z_ona" #: gschem/lib/system-gschemrc.scm:1451 msgid "Zoom _Extents" msgstr "Mostrar _todo" #: gschem/lib/system-gschemrc.scm:1452 msgid "Zoom _In" msgstr "_Aumentar ampliación" #: gschem/lib/system-gschemrc.scm:1453 msgid "Zoom _Out" msgstr "_Disminuir ampliación" #: gschem/lib/system-gschemrc.scm:1454 msgid "Zoom _Full" msgstr "Vista co_mpleta" #: gschem/lib/system-gschemrc.scm:1456 msgid "_Dark color scheme" msgstr "Configuración de colores os_curos" #: gschem/lib/system-gschemrc.scm:1457 msgid "_Light color scheme" msgstr "Configuración de co_lores claros" #: gschem/lib/system-gschemrc.scm:1458 msgid "B_W color scheme" msgstr "Esquema de colores en blanco y negro." #: gschem/lib/system-gschemrc.scm:1465 msgid "_Manager..." msgstr "Ad_ministrador..." #: gschem/lib/system-gschemrc.scm:1466 msgid "_Previous" msgstr "_Anterior" #: gschem/lib/system-gschemrc.scm:1467 msgid "_Next" msgstr "_Siguiente" #: gschem/lib/system-gschemrc.scm:1468 msgid "Ne_w" msgstr "_Nuevo" #: gschem/lib/system-gschemrc.scm:1470 msgid "_Close" msgstr "C_errar" #: gschem/lib/system-gschemrc.scm:1472 msgid "_Discard" msgstr "_Descartar" #: gschem/lib/system-gschemrc.scm:1478 msgid "_Component..." msgstr "_Componente..." #: gschem/lib/system-gschemrc.scm:1479 msgid "_Net" msgstr "Co_nexión" #: gschem/lib/system-gschemrc.scm:1480 msgid "B_us" msgstr "B_us" #: gschem/lib/system-gschemrc.scm:1481 msgid "_Attribute..." msgstr "Propied_ad..." #: gschem/lib/system-gschemrc.scm:1482 msgid "_Text..." msgstr "_Texto..." #: gschem/lib/system-gschemrc.scm:1484 msgid "_Line" msgstr "_Línea" #: gschem/lib/system-gschemrc.scm:1485 msgid "_Box" msgstr "Rectán_gulo" #: gschem/lib/system-gschemrc.scm:1486 msgid "C_ircle" msgstr "Círcul_o" #: gschem/lib/system-gschemrc.scm:1487 msgid "A_rc" msgstr "A_rco" #: gschem/lib/system-gschemrc.scm:1488 msgid "_Pin" msgstr "_Pin" #: gschem/lib/system-gschemrc.scm:1489 msgid "Pictu_re..." msgstr "I_magen..." #: gschem/lib/system-gschemrc.scm:1495 msgid "_Down Schematic" msgstr "_Descender en esquema" #: gschem/lib/system-gschemrc.scm:1496 msgid "Down _Symbol" msgstr "Descender en _símbolo" #: gschem/lib/system-gschemrc.scm:1497 msgid "_Up" msgstr "A_rriba" #: gschem/lib/system-gschemrc.scm:1498 msgid "D_ocumentation..." msgstr "D_ocumentación" #: gschem/lib/system-gschemrc.scm:1504 msgid "_Attach" msgstr "_Adjuntar" #: gschem/lib/system-gschemrc.scm:1505 msgid "_Detach" msgstr "No a_djuntar" #: gschem/lib/system-gschemrc.scm:1506 msgid "Show _Value" msgstr "Mostrar _valor" #: gschem/lib/system-gschemrc.scm:1507 msgid "Show _Name" msgstr "Mostrar _nombre" #: gschem/lib/system-gschemrc.scm:1508 msgid "Show _Both" msgstr "Mostrar am_bos" #: gschem/lib/system-gschemrc.scm:1509 msgid "_Toggle Visibility" msgstr "Cambiar v_isibilidad" #: gschem/lib/system-gschemrc.scm:1511 msgid "_Find Specific Text..." msgstr "_Encontrar texto específico..." #: gschem/lib/system-gschemrc.scm:1512 msgid "_Hide Specific Text..." msgstr "_Ocultar texto específico..." #: gschem/lib/system-gschemrc.scm:1513 msgid "_Show Specific Text..." msgstr "Mo_strar texto específico..." #: gschem/lib/system-gschemrc.scm:1514 msgid "A_utonumber Text..." msgstr "A_utonumerar texto..." #: gschem/lib/system-gschemrc.scm:1520 msgid "_Text Size..." msgstr "_Tamaño de texto..." #: gschem/lib/system-gschemrc.scm:1521 msgid "Cycle _grid styles" msgstr "Cambiar estilos de re_jilla" #: gschem/lib/system-gschemrc.scm:1522 msgid "Toggle _Snap On/Off" msgstr "Act/Desact aju_ste a la rejilla" #: gschem/lib/system-gschemrc.scm:1523 msgid "Snap Grid S_pacing..." msgstr "Es_paciado de la rejilla..." #: gschem/lib/system-gschemrc.scm:1524 msgid "Scale _up Grid Spacing" msgstr "A_umentar espaciado de la rejilla..." #: gschem/lib/system-gschemrc.scm:1526 msgid "Scale _down Grid Spacing" msgstr "_Disminuir espaciado de la rejilla..." #: gschem/lib/system-gschemrc.scm:1528 msgid "Toggle _Outline/Box" msgstr "Cambiar Silueta/Rectángul_o" #: gschem/lib/system-gschemrc.scm:1530 msgid "Toggle Net _Rubberband" msgstr "Act/Desact conserva_r conexiones" #: gschem/lib/system-gschemrc.scm:1531 msgid "Toggle _Magnetic Net" msgstr "Modo ayuda _magnética a la conexión" #: gschem/lib/system-gschemrc.scm:1532 msgid "Show _Log Window..." msgstr "Mostrar ventana de re_gistro..." #: gschem/lib/system-gschemrc.scm:1534 msgid "Show _Coord Window..." msgstr "Mostrar ventana de _coordenadas..." #: gschem/lib/system-gschemrc.scm:1542 msgid "gEDA Docu_mentation..." msgstr "Docu_mentación de gEDA" #: gschem/lib/system-gschemrc.scm:1543 msgid "gschem _FAQ..." msgstr "PU_F de gschem" #: gschem/lib/system-gschemrc.scm:1544 msgid "gEDA _Wiki..." msgstr "_Wiki de gEDA..." #: gschem/lib/system-gschemrc.scm:1545 msgid "Component D_ocumentation..." msgstr "D_ocumentación del componente..." #: gschem/lib/system-gschemrc.scm:1547 msgid "_Hotkeys..." msgstr "_Teclas rápidas" #: gschem/lib/system-gschemrc.scm:1548 msgid "_About..." msgstr "_Acerca de..." #: gschem/lib/system-gschemrc.scm:1554 msgid "_File" msgstr "_Archivo" #: gschem/lib/system-gschemrc.scm:1555 msgid "_Edit" msgstr "_Editar" #: gschem/lib/system-gschemrc.scm:1556 msgid "_Buffer" msgstr "Me_moria intermedia" #: gschem/lib/system-gschemrc.scm:1557 msgid "_View" msgstr "_Ver" #: gschem/lib/system-gschemrc.scm:1558 msgid "_Page" msgstr "_Página" #: gschem/lib/system-gschemrc.scm:1559 msgid "_Add" msgstr "Aña_dir" #: gschem/lib/system-gschemrc.scm:1560 msgid "Hie_rarchy" msgstr "Je_rarquía" #: gschem/lib/system-gschemrc.scm:1561 msgid "A_ttributes" msgstr "Prop_iedades" #: gschem/lib/system-gschemrc.scm:1562 msgid "_Options" msgstr "_Opciones" #: gschem/lib/system-gschemrc.scm:1563 msgid "_Help" msgstr "Ay_uda" #: gschem/scheme/gschem/deprecated.scm:102 #, scheme-format msgid "Invalid text alignment ~A." msgstr "Alineación de texto inválida ~A" #: gschem/scheme/gschem/gschemdoc.scm:225 msgid "No documentation found" msgstr "No se encontró la documentación" #: gschem/scheme/gschem/keymap.scm:38 #, scheme-format msgid "~S is not a valid key combination." msgstr "~S no es una combinación de teclas válida." #: gschem/scheme/gschem/keymap.scm:153 #, scheme-format msgid "~S is not a prefix key sequence." msgstr "~S no es una secuencia de teclas válida como prefijo." geda-gaf-1.8.2/gschem/po/LINGUAS0000664000175000017500000000013212204066537013012 00000000000000af ar bg bs de el en_GB es fa fi fr he hu it ja ml nl pl pt pt_BR ru sl sr tr zh_CN zh_TW geda-gaf-1.8.2/gschem/po/fi.po0000664000175000017500000014077012220655644012741 00000000000000# Finnish translation for geda # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-01-27 14:18+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Finnish \n" "Language: fi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: gschem/src/a_zoom.c:212 msgid "Zoom too small! Cannot zoom further.\n" msgstr "" #: gschem/src/g_attrib.c:92 msgid "Object ~A is not included in the current gschem page." msgstr "" #: gschem/src/g_attrib.c:112 msgid "Invalid text name/value visibility ~A." msgstr "" #: gschem/src/g_rc.c:312 #, c-format msgid "Invalid zoomfactor [%d] passed to %s\n" msgstr "Virheellinen suurennuskerroin [%d] annettu %s\n" #: gschem/src/g_rc.c:458 #, c-format msgid "Invalid size [%d] passed to text-size\n" msgstr "Virheellinen koko [%d] annettu tekstin kooksi.\n" #: gschem/src/g_rc.c:501 #, c-format msgid "Invalid size [%d] passed to snap-size\n" msgstr "virheellinen koko [%d] annettu apuruudukonkooksi.\n" #: gschem/src/g_rc.c:958 #, c-format msgid "Invalid num levels [%d] passed to undo-levels\n" msgstr "Virheellinen määrä [%d] kumoamistasoja.\n" #: gschem/src/g_rc.c:1220 #, c-format msgid "Invalid size [%d] passed to bus-ripper-size\n" msgstr "" #: gschem/src/g_rc.c:1295 #, c-format msgid "Invalid dot size [%d] passed to dots-grid-dot-size\n" msgstr "" #: gschem/src/g_rc.c:1336 #, c-format msgid "Invalid pixel spacing [%d] passed to dots-grid-fixed-threshold\n" msgstr "" #: gschem/src/g_rc.c:1362 #, c-format msgid "Invalid pixel spacing [%d] passed to mesh-grid-display-threshold\n" msgstr "" #: gschem/src/g_rc.c:1387 #, c-format msgid "Invalid offset [%d] passed to add-attribute-offset\n" msgstr "" #: gschem/src/g_rc.c:1411 #, c-format msgid "Invalid number of seconds [%d] passed to auto-save-interval\n" msgstr "" #: gschem/src/g_rc.c:1435 #, c-format msgid "Invalid gain [%d] passed to mousepan-gain\n" msgstr "" #: gschem/src/g_rc.c:1458 #, c-format msgid "Invalid gain [%d] passed to keyboardpan-gain\n" msgstr "" #: gschem/src/g_rc.c:1505 #, c-format msgid "Invalid number of pixels [%d] passed to select-slack-pixels\n" msgstr "" #: gschem/src/g_rc.c:1531 #, c-format msgid "Invalid gain [%d] passed to zoom-gain\n" msgstr "" #: gschem/src/g_rc.c:1556 #, c-format msgid "Invalid number of steps [%d] scrollpan-steps\n" msgstr "" #: gschem/src/g_select.c:79 gschem/src/g_select.c:116 #: gschem/src/g_select.c:152 msgid "Object ~A is not directly included in a page." msgstr "" #: gschem/src/g_util.c:56 msgid "Could not launch URI ~S: ~A" msgstr "" #: gschem/src/g_window.c:136 msgid "Found invalid gschem window smob ~S" msgstr "" #: gschem/src/gschem.c:175 #, c-format msgid "gEDA/gschem version %s%s.%s\n" msgstr "" #: gschem/src/gschem.c:178 msgid "" "gEDA/gschem comes with ABSOLUTELY NO WARRANTY; see COPYING for more " "details.\n" msgstr "" #: gschem/src/gschem.c:180 msgid "" "This is free software, and you are welcome to redistribute it under certain\n" msgstr "" #: gschem/src/gschem.c:182 msgid "" "conditions; please see the COPYING file for more details.\n" "\n" msgstr "" #: gschem/src/gschem.c:185 #, c-format msgid "This is the MINGW32 port.\n" msgstr "" #: gschem/src/gschem.c:189 #, c-format msgid "Current locale settings: %s\n" msgstr "" #: gschem/src/gschem.c:211 msgid "" "You must set the GEDADATA environment variable!\n" "\n" "gschem cannot locate its data files. You must set the GEDADATA\n" "environment variable to point to the correct location.\n" msgstr "" #: gschem/src/gschem.c:248 #, c-format msgid "Couldn't find init scm file [%s]\n" msgstr "" #: gschem/src/gschem.c:252 #, c-format msgid "Read init scm file [%s]\n" msgstr "" #: gschem/src/gschem.c:256 #, c-format msgid "Failed to read init scm file [%s]\n" msgstr "" #: gschem/src/gschem_cairo.c:310 #, c-format msgid "Unknown end for line (%d)\n" msgstr "" #: gschem/src/gschem_cairo.c:318 #, c-format msgid "Unknown type for stroke (%d) !\n" msgstr "" #: gschem/src/gschem_pango.c:289 msgid "cairo context" msgstr "" #: gschem/src/gschem_pango.c:290 msgid "the cairo context for the renderer" msgstr "" #: gschem/src/i_basic.c:77 gschem/src/x_window.c:524 #: gschem/lib/system-gschemrc.scm:1399 msgid "Select Mode" msgstr "Valintatila" #: gschem/src/i_basic.c:79 msgid "Component Mode" msgstr "" #: gschem/src/i_basic.c:81 msgid "Text Mode" msgstr "" #: gschem/src/i_basic.c:84 gschem/lib/system-gschemrc.scm:1402 msgid "Copy Mode" msgstr "Kopiointi" #: gschem/src/i_basic.c:87 gschem/lib/system-gschemrc.scm:1404 msgid "Move Mode" msgstr "Siirrä" #: gschem/src/i_basic.c:89 msgid "Rotate Mode" msgstr "" #: gschem/src/i_basic.c:91 gschem/lib/system-gschemrc.scm:1406 msgid "Mirror Mode" msgstr "Peilaa" #: gschem/src/i_basic.c:95 msgid "Zoom Box" msgstr "" #: gschem/src/i_basic.c:99 msgid "Pan Mode" msgstr "" #: gschem/src/i_basic.c:103 #, c-format msgid "Paste %d Mode" msgstr "" #: gschem/src/i_basic.c:109 msgid "Magnetic Net Mode" msgstr "" #: gschem/src/i_basic.c:111 msgid "Net Mode" msgstr "" #: gschem/src/i_basic.c:115 msgid "Bus Mode" msgstr "" #: gschem/src/i_basic.c:118 msgid "Line Mode" msgstr "" #: gschem/src/i_basic.c:121 msgid "Box Mode" msgstr "" #: gschem/src/i_basic.c:124 msgid "Picture Mode" msgstr "" #: gschem/src/i_basic.c:127 msgid "Circle Mode" msgstr "" #: gschem/src/i_basic.c:130 msgid "Arc Mode" msgstr "" #: gschem/src/i_basic.c:133 msgid "Pin Mode" msgstr "" #: gschem/src/i_basic.c:135 gschem/src/i_callbacks.c:529 #: gschem/src/i_callbacks.c:553 msgid "Copy" msgstr "" #: gschem/src/i_basic.c:137 gschem/src/i_callbacks.c:619 #: gschem/src/i_callbacks.c:643 msgid "Move" msgstr "" #: gschem/src/i_basic.c:139 gschem/src/i_callbacks.c:574 #: gschem/src/i_callbacks.c:598 msgid "Multiple Copy" msgstr "" #: gschem/src/i_basic.c:142 gschem/lib/system-gschemrc.scm:1403 msgid "Multiple Copy Mode" msgstr "Kopioi useita" #: gschem/src/i_basic.c:168 msgid "Show Hidden" msgstr "" #: gschem/src/i_basic.c:171 msgid "Snap Off" msgstr "" #: gschem/src/i_basic.c:173 msgid "Resnap Active" msgstr "" #: gschem/src/i_basic.c:254 gschem/src/x_window.c:498 msgid "Action" msgstr "" #: gschem/src/i_basic.c:260 gschem/src/x_dialog.c:2325 #: gschem/src/x_window.c:493 msgid "Stroke" msgstr "" #: gschem/src/i_basic.c:266 gschem/src/x_window.c:495 msgid "none" msgstr "" #: gschem/src/i_basic.c:271 msgid "Repeat/" msgstr "" #: gschem/src/i_basic.c:566 gschem/src/i_basic.c:580 msgid "OFF" msgstr "" #: gschem/src/i_basic.c:584 msgid "NONE" msgstr "" #: gschem/src/i_basic.c:589 #, c-format msgid "Grid(%s, %s)" msgstr "" #: gschem/src/i_callbacks.c:76 gschem/src/i_callbacks.c:1659 #, c-format msgid "New page created [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:124 #, c-format msgid "New Window created [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:242 msgid "Failed to Save All" msgstr "" #: gschem/src/i_callbacks.c:244 msgid "Saved All" msgstr "" #: gschem/src/i_callbacks.c:334 msgid "Closing Window\n" msgstr "" #: gschem/src/i_callbacks.c:534 gschem/src/i_callbacks.c:579 #: gschem/src/i_callbacks.c:624 msgid "Select objs first" msgstr "" #: gschem/src/i_callbacks.c:663 gschem/src/x_multiattrib.c:1549 msgid "Delete" msgstr "" #: gschem/src/i_callbacks.c:688 msgid "Edit" msgstr "" #: gschem/src/i_callbacks.c:703 msgid "Edit pin type" msgstr "" #: gschem/src/i_callbacks.c:722 msgid "Edit Text" msgstr "" #: gschem/src/i_callbacks.c:745 msgid "Slot" msgstr "" #: gschem/src/i_callbacks.c:762 msgid "Color" msgstr "" #: gschem/src/i_callbacks.c:799 gschem/src/i_callbacks.c:844 msgid "Rotate" msgstr "" #: gschem/src/i_callbacks.c:866 gschem/src/i_callbacks.c:891 msgid "Mirror" msgstr "" #: gschem/src/i_callbacks.c:912 gschem/src/x_dialog.c:2328 #: gschem/lib/system-gschemrc.scm:1415 msgid "Lock" msgstr "Lukitse" #: gschem/src/i_callbacks.c:930 gschem/lib/system-gschemrc.scm:1416 msgid "Unlock" msgstr "Vapauta" #: gschem/src/i_callbacks.c:948 gschem/src/x_dialog.c:1746 msgid "Translate" msgstr "" #: gschem/src/i_callbacks.c:951 msgid "WARNING: Do not translate with snap off!\n" msgstr "" #: gschem/src/i_callbacks.c:952 msgid "WARNING: Turning snap on and continuing with translate.\n" msgstr "" #: gschem/src/i_callbacks.c:959 msgid "WARNING: Snap grid size is not equal to 100!\n" msgstr "" #: gschem/src/i_callbacks.c:961 msgid "" "WARNING: If you are translating a symbol to the origin, the snap grid size " "should be set to 100\n" msgstr "" #: gschem/src/i_callbacks.c:992 msgid "Embed" msgstr "" #: gschem/src/i_callbacks.c:1031 msgid "Unembed" msgstr "" #: gschem/src/i_callbacks.c:1073 msgid "Update" msgstr "" #: gschem/src/i_callbacks.c:1120 msgid "ShowHidden" msgstr "" #: gschem/src/i_callbacks.c:1426 gschem/src/i_callbacks.c:1498 msgid "Pan" msgstr "" #: gschem/src/i_callbacks.c:1703 msgid "Really revert page?" msgstr "" #: gschem/src/i_callbacks.c:1773 msgid "Copy to clipboard" msgstr "" #: gschem/src/i_callbacks.c:1791 msgid "Cut to clipboard" msgstr "" #: gschem/src/i_callbacks.c:1809 msgid "Paste from clipboard" msgstr "" #: gschem/src/i_callbacks.c:1821 gschem/src/i_callbacks.c:2060 #: gschem/src/i_callbacks.c:2082 gschem/src/i_callbacks.c:2104 #: gschem/src/i_callbacks.c:2126 gschem/src/i_callbacks.c:2148 msgid "Empty buffer" msgstr "" #: gschem/src/i_callbacks.c:1866 msgid "Copy 1" msgstr "" #: gschem/src/i_callbacks.c:1885 msgid "Copy 2" msgstr "" #: gschem/src/i_callbacks.c:1904 msgid "Copy 3" msgstr "" #: gschem/src/i_callbacks.c:1923 msgid "Copy 4" msgstr "" #: gschem/src/i_callbacks.c:1942 msgid "Copy 5" msgstr "" #: gschem/src/i_callbacks.c:1961 msgid "Cut 1" msgstr "" #: gschem/src/i_callbacks.c:1980 msgid "Cut 2" msgstr "" #: gschem/src/i_callbacks.c:1999 msgid "Cut 3" msgstr "" #: gschem/src/i_callbacks.c:2018 msgid "Cut 4" msgstr "" #: gschem/src/i_callbacks.c:2037 msgid "Cut 5" msgstr "" #: gschem/src/i_callbacks.c:2053 msgid "Paste 1" msgstr "" #: gschem/src/i_callbacks.c:2075 msgid "Paste 2" msgstr "" #: gschem/src/i_callbacks.c:2097 msgid "Paste 3" msgstr "" #: gschem/src/i_callbacks.c:2119 msgid "Paste 4" msgstr "" #: gschem/src/i_callbacks.c:2141 msgid "Paste 5" msgstr "" #: gschem/src/i_callbacks.c:2278 gschem/src/x_window.c:359 msgid "Component" msgstr "" #: gschem/src/i_callbacks.c:2314 gschem/src/i_callbacks.c:2333 #: gschem/src/x_dialog.c:2298 msgid "Attribute" msgstr "" #: gschem/src/i_callbacks.c:2355 gschem/src/i_callbacks.c:2382 #: gschem/src/x_dialog.c:2295 msgid "Net" msgstr "" #: gschem/src/i_callbacks.c:2426 gschem/src/i_callbacks.c:2453 #: gschem/src/x_dialog.c:2313 gschem/src/x_window.c:379 msgid "Bus" msgstr "" #: gschem/src/i_callbacks.c:2534 gschem/src/i_callbacks.c:2557 msgid "Line" msgstr "" #: gschem/src/i_callbacks.c:2579 gschem/src/i_callbacks.c:2602 msgid "Box" msgstr "" #: gschem/src/i_callbacks.c:2658 gschem/src/i_callbacks.c:2682 msgid "Circle" msgstr "" #: gschem/src/i_callbacks.c:2704 gschem/src/i_callbacks.c:2727 msgid "Arc" msgstr "" #: gschem/src/i_callbacks.c:2749 gschem/src/i_callbacks.c:2772 #: gschem/src/x_dialog.c:2286 msgid "Pin" msgstr "" #: gschem/src/i_callbacks.c:2831 #, c-format msgid "Searching for source [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:2855 #, c-format msgid "Cannot find source [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:2918 #, c-format msgid "Searching for symbol [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:2924 msgid "Symbol is not a real file. Symbol cannot be loaded.\n" msgstr "" #: gschem/src/i_callbacks.c:2955 msgid "Cannot find any schematics above the current one!\n" msgstr "" #: gschem/src/i_callbacks.c:2985 msgid "Attach" msgstr "" #: gschem/src/i_callbacks.c:3041 msgid "Detach" msgstr "" #: gschem/src/i_callbacks.c:3085 msgid "ShowN" msgstr "" #: gschem/src/i_callbacks.c:3122 msgid "ShowV" msgstr "" #: gschem/src/i_callbacks.c:3159 msgid "ShowB" msgstr "" #: gschem/src/i_callbacks.c:3197 msgid "VisToggle" msgstr "" #: gschem/src/i_callbacks.c:3228 #, c-format msgid "Sorry but this is a non-functioning menu option\n" msgstr "" #: gschem/src/i_callbacks.c:3318 msgid "Action feedback mode set to OUTLINE\n" msgstr "" #: gschem/src/i_callbacks.c:3321 msgid "Action feedback mode set to BOUNDINGBOX\n" msgstr "" #: gschem/src/i_callbacks.c:3346 msgid "Grid OFF\n" msgstr "" #: gschem/src/i_callbacks.c:3347 msgid "Dot grid selected\n" msgstr "" #: gschem/src/i_callbacks.c:3348 msgid "Mesh grid selected\n" msgstr "" #: gschem/src/i_callbacks.c:3369 msgid "Snap OFF (CAUTION!)\n" msgstr "" #: gschem/src/i_callbacks.c:3372 msgid "Snap ON\n" msgstr "" #: gschem/src/i_callbacks.c:3375 msgid "Snap back to the grid (CAUTION!)\n" msgstr "" #: gschem/src/i_callbacks.c:3401 msgid "Rubber band OFF \n" msgstr "" #: gschem/src/i_callbacks.c:3404 msgid "Rubber band ON\n" msgstr "" #: gschem/src/i_callbacks.c:3419 msgid "magnetic net mode: ON\n" msgstr "" #: gschem/src/i_callbacks.c:3422 msgid "magnetic net mode: OFF\n" msgstr "" #: gschem/src/o_box.c:292 #, c-format msgid "Unknown type for box (fill)!\n" msgstr "" #: gschem/src/o_buffer.c:54 #, c-format msgid "o_buffer_copy: Invalid buffer %i\n" msgstr "" #: gschem/src/o_buffer.c:69 #, c-format msgid "o_buffer_cut: Invalid buffer %i\n" msgstr "" #: gschem/src/o_buffer.c:90 #, c-format msgid "Got an invalid buffer_number [o_buffer_paste_start]\n" msgstr "" #: gschem/src/o_bus.c:117 #, c-format msgid "Got an invalid which one in o_bus_draw_stretch\n" msgstr "" #: gschem/src/o_circle.c:284 #, c-format msgid "Unknown type for circle (fill)!\n" msgstr "" #: gschem/src/o_complex.c:223 gschem/src/o_complex.c:227 #, c-format msgid "Translating schematic [%d %d]\n" msgstr "" #: gschem/src/o_misc.c:61 #, c-format msgid "Got an unexpected NULL in o_edit\n" msgstr "" #: gschem/src/o_misc.c:125 msgid "Object already locked\n" msgstr "" #: gschem/src/o_misc.c:163 msgid "Object already unlocked\n" msgstr "" #: gschem/src/o_misc.c:339 msgid "Hidden text is now visible\n" msgstr "" #: gschem/src/o_misc.c:341 msgid "Hidden text is now invisible\n" msgstr "" #: gschem/src/o_misc.c:568 #, c-format msgid "Could not find symbol [%s] in library. Update failed.\n" msgstr "" #: gschem/src/o_misc.c:683 #, c-format msgid "o_autosave_backups: Can't get the real filename of %s." msgstr "" #: gschem/src/o_misc.c:727 #, c-format msgid "Could NOT set previous backup file [%s] read-write\n" msgstr "" #: gschem/src/o_misc.c:747 #, c-format msgid "Could NOT set backup file [%s] readonly\n" msgstr "" #: gschem/src/o_misc.c:752 #, c-format msgid "Could NOT save backup file [%s]\n" msgstr "" #: gschem/src/o_move.c:174 #, c-format msgid "ERROR: NULL object in o_move_end!\n" msgstr "" #: gschem/src/o_move.c:431 #, c-format msgid "DOH! tried to find the whichone, but didn't find it!\n" msgstr "" #: gschem/src/o_move.c:453 #, c-format msgid "Got a non line object in o_move_check_endpoint\n" msgstr "" #: gschem/src/o_net.c:158 #, c-format msgid "Got an invalid which one in o_net_draw_stretch\n" msgstr "" #: gschem/src/o_net.c:537 msgid "Warning: Starting net at off grid coordinate\n" msgstr "" #: gschem/src/o_net.c:602 msgid "Warning: Ending net at off grid coordinate\n" msgstr "" #: gschem/src/o_net.c:944 gschem/src/o_net.c:981 gschem/src/o_net.c:1052 #: gschem/src/o_net.c:1088 #, c-format msgid "Tried to add more than two bus rippers. Internal gschem error.\n" msgstr "" #: gschem/src/o_net.c:1156 #, c-format msgid "Bus ripper symbol [%s] was not found in any component library\n" msgstr "" #: gschem/src/o_path.c:340 #, c-format msgid "Unknown type for path (fill)!\n" msgstr "" #: gschem/src/o_picture.c:166 #, c-format msgid "Failed to load picture: %s" msgstr "" #: gschem/src/o_picture.c:180 msgid "Picture" msgstr "" #: gschem/src/o_picture.c:544 #, c-format msgid "Failed to replace pictures: %s" msgstr "" #: gschem/src/o_slot.c:81 msgid "Slot attribute malformed\n" msgstr "" #: gschem/src/o_slot.c:89 msgid "numslots attribute missing\n" msgstr "" #: gschem/src/o_slot.c:90 msgid "Slotting not allowed for this component\n" msgstr "" #: gschem/src/o_slot.c:105 msgid "New slot number out of range\n" msgstr "" #: gschem/src/o_undo.c:307 msgid "Undo/Redo disabled in rc file\n" msgstr "" #: gschem/src/parsecmd.c:82 #, c-format msgid "" "Usage: %s [OPTION ...] [--] [FILE ...]\n" "\n" "Interactively edit gEDA schematics or symbols. If one or more FILEs\n" "are specified, open them for editing; otherwise, create a new, empty\n" "schematic.\n" "\n" "Options:\n" " -q, --quiet Quiet mode.\n" " -v, --verbose Verbose mode.\n" " -r, --config-file=FILE Additional configuration file to load.\n" " -L DIR Add DIR to Scheme search path.\n" " -c EXPR Scheme expression to run at startup.\n" " -s FILE Scheme script to run at startup.\n" " -o, --output=FILE Output filename (for printing).\n" " -p Automatically place the window.\n" " -V, --version Show version information.\n" " -h, --help Help; this message.\n" " -- Treat all remaining arguments as filenames.\n" "\n" "Report bugs at \n" "gEDA/gaf homepage: \n" msgstr "" #: gschem/src/parsecmd.c:116 #, c-format msgid "" "gEDA %s (g%.7s)\n" "Copyright (C) 1998-2012 gEDA developers\n" "This is free software, and you are welcome to redistribute it under\n" "certain conditions. For details, see the file `COPYING', which is\n" "included in the gEDA distribution.\n" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" #: gschem/src/x_attribedit.c:127 #, c-format msgid "Got invalid show option; defaulting to show both\n" msgstr "" #: gschem/src/x_attribedit.c:141 #, c-format msgid "ERROR: NULL object!\n" msgstr "" #: gschem/src/x_attribedit.c:329 msgid "Single Attribute Editor" msgstr "" #: gschem/src/x_attribedit.c:359 msgid "Edit Attribute" msgstr "" #: gschem/src/x_attribedit.c:361 msgid "Add Attribute" msgstr "" #: gschem/src/x_attribedit.c:377 gschem/src/x_multiattrib.c:1973 msgid "Name:" msgstr "" #: gschem/src/x_attribedit.c:394 gschem/src/x_multiattrib.c:1992 msgid "Value:" msgstr "" #: gschem/src/x_attribedit.c:410 gschem/src/x_multiattrib.c:2038 msgid "Visible" msgstr "" #: gschem/src/x_attribedit.c:430 msgid "Show Value Only" msgstr "" #: gschem/src/x_attribedit.c:432 msgid "Show Name Only" msgstr "" #: gschem/src/x_attribedit.c:434 gschem/src/x_multiattrib.c:1512 msgid "Show Name & Value" msgstr "" #: gschem/src/x_attribedit.c:441 msgid "Attach Options" msgstr "" #: gschem/src/x_attribedit.c:456 msgid "All" msgstr "" #: gschem/src/x_attribedit.c:464 gschem/src/x_compselect.c:922 #: gschem/src/x_compselect.c:1036 msgid "Components" msgstr "" #: gschem/src/x_attribedit.c:472 gschem/src/x_window.c:369 msgid "Nets" msgstr "" #: gschem/src/x_attribedit.c:480 msgid "Replace existing attributes" msgstr "" #: gschem/src/x_autonumber.c:415 msgid "" "slotted object without slot attribute may cause problems when autonumbering " "slots\n" msgstr "" #: gschem/src/x_autonumber.c:430 #, c-format msgid "" "duplicate slot may cause problems: [symbolname=%s, number=%d, slot=%d]\n" msgstr "" #: gschem/src/x_autonumber.c:672 msgid "No searchstring given in autonumber text.\n" msgstr "" #: gschem/src/x_autonumber.c:724 msgid "No '*' or '?' given at the end of the autonumber text.\n" msgstr "" #: gschem/src/x_autonumber.c:859 msgid "Diagonal" msgstr "" #: gschem/src/x_autonumber.c:860 msgid "Top to bottom" msgstr "" #: gschem/src/x_autonumber.c:860 msgid "Bottom to top" msgstr "" #: gschem/src/x_autonumber.c:861 msgid "Left to right" msgstr "" #: gschem/src/x_autonumber.c:861 msgid "Right to left" msgstr "" #: gschem/src/x_autonumber.c:862 msgid "File order" msgstr "" #: gschem/src/x_autonumber.c:1198 msgid "Autonumber text" msgstr "" #: gschem/src/x_autonumber.c:1222 msgid "Scope" msgstr "" #: gschem/src/x_autonumber.c:1244 msgid "Search for:" msgstr "" #: gschem/src/x_autonumber.c:1258 msgid "Autonumber text in:" msgstr "" #: gschem/src/x_autonumber.c:1265 msgid "Skip numbers found in:" msgstr "" #: gschem/src/x_autonumber.c:1277 gschem/src/x_autonumber.c:1286 msgid "Selected objects" msgstr "" #: gschem/src/x_autonumber.c:1278 gschem/src/x_autonumber.c:1287 msgid "Current page" msgstr "" #: gschem/src/x_autonumber.c:1279 gschem/src/x_autonumber.c:1288 msgid "Whole hierarchy" msgstr "" #: gschem/src/x_autonumber.c:1290 msgid "Overwrite existing numbers" msgstr "" #: gschem/src/x_autonumber.c:1295 msgid "Options" msgstr "" #: gschem/src/x_autonumber.c:1317 msgid "Starting number:" msgstr "" #: gschem/src/x_autonumber.c:1324 msgid "Sort order:" msgstr "" #: gschem/src/x_autonumber.c:1345 msgid "Remove numbers" msgstr "" #: gschem/src/x_autonumber.c:1349 msgid "Automatic slotting" msgstr "" #: gschem/src/x_clipboard.c:249 #, c-format msgid "" "Invalid schematic on clipboard.\n" "\n" "An error occurred while inserting clipboard data: %s." msgstr "" #: gschem/src/x_clipboard.c:251 msgid "Clipboard insertion failed" msgstr "" #: gschem/src/x_color.c:94 gschem/src/x_color.c:103 #, c-format msgid "Could not allocate the color %s!\n" msgstr "" #: gschem/src/x_color.c:94 msgid "black" msgstr "" #: gschem/src/x_color.c:103 msgid "white" msgstr "" #: gschem/src/x_color.c:125 #, c-format msgid "Could not allocate display color %i!\n" msgstr "" #: gschem/src/x_color.c:147 #, c-format msgid "Could not allocate outline color %i!\n" msgstr "" #: gschem/src/x_color.c:164 gschem/src/x_color.c:181 gschem/src/x_color.c:197 #, c-format msgid "Tried to get an invalid color: %d\n" msgstr "" #: gschem/src/x_color.c:214 #, c-format msgid "Tried to get an invalid outline color: %d\n" msgstr "" #: gschem/src/x_compselect.c:1066 msgid "Filter:" msgstr "" #: gschem/src/x_compselect.c:1169 gschem/src/x_dialog.c:3653 #: gschem/src/x_multiattrib.c:1839 msgid "Name" msgstr "" #: gschem/src/x_compselect.c:1178 gschem/src/x_multiattrib.c:1863 msgid "Value" msgstr "" #: gschem/src/x_compselect.c:1217 msgid "Default behavior - reference component" msgstr "" #: gschem/src/x_compselect.c:1220 msgid "Embed component in schematic" msgstr "" #: gschem/src/x_compselect.c:1223 msgid "Include component as individual objects" msgstr "" #: gschem/src/x_compselect.c:1380 msgid "Select Component..." msgstr "" #: gschem/src/x_compselect.c:1403 msgid "In Use" msgstr "" #: gschem/src/x_compselect.c:1407 msgid "Libraries" msgstr "" #: gschem/src/x_compselect.c:1416 gschem/src/x_fileselect.c:122 msgid "Preview" msgstr "" #: gschem/src/x_compselect.c:1444 msgid "Attributes" msgstr "" #: gschem/src/x_dialog.c:176 msgid "Text Entry..." msgstr "" #: gschem/src/x_dialog.c:207 msgid "" "Enter text, click apply,\n" "move cursor into window, click to place text.\n" "Middle button to rotate while placing." msgstr "" #: gschem/src/x_dialog.c:301 msgid "Upper Left" msgstr "" #: gschem/src/x_dialog.c:304 msgid "Upper Middle" msgstr "" #: gschem/src/x_dialog.c:307 msgid "Upper Right" msgstr "" #: gschem/src/x_dialog.c:311 msgid "Middle Left" msgstr "" #: gschem/src/x_dialog.c:314 msgid "Middle Middle" msgstr "" #: gschem/src/x_dialog.c:317 msgid "Middle Right" msgstr "" #: gschem/src/x_dialog.c:321 msgid "Lower Left" msgstr "" #: gschem/src/x_dialog.c:324 msgid "Lower Middle" msgstr "" #: gschem/src/x_dialog.c:327 msgid "Lower Right" msgstr "" #: gschem/src/x_dialog.c:438 msgid "Edit Text Properties" msgstr "" #: gschem/src/x_dialog.c:473 msgid "Text Content" msgstr "" #: gschem/src/x_dialog.c:509 msgid "Text Properties" msgstr "" #: gschem/src/x_dialog.c:524 msgid "Color:" msgstr "" #: gschem/src/x_dialog.c:531 msgid "Size:" msgstr "" #: gschem/src/x_dialog.c:540 msgid "Alignment:" msgstr "" #: gschem/src/x_dialog.c:589 msgid "Solid" msgstr "" #: gschem/src/x_dialog.c:590 msgid "Dotted" msgstr "" #: gschem/src/x_dialog.c:591 msgid "Dashed" msgstr "" #: gschem/src/x_dialog.c:592 msgid "Center" msgstr "" #: gschem/src/x_dialog.c:593 msgid "Phantom" msgstr "" #: gschem/src/x_dialog.c:594 gschem/src/x_dialog.c:691 #: gschem/src/x_dialog.c:700 gschem/src/x_dialog.c:709 #: gschem/src/x_dialog.c:810 gschem/src/x_dialog.c:813 #: gschem/src/x_dialog.c:816 gschem/src/x_dialog.c:1043 #: gschem/src/x_dialog.c:1146 gschem/src/x_dialog.c:1155 #: gschem/src/x_dialog.c:1164 gschem/src/x_dialog.c:1173 #: gschem/src/x_dialog.c:1182 gschem/src/x_dialog.c:1295 #: gschem/src/x_dialog.c:1298 gschem/src/x_dialog.c:1301 #: gschem/src/x_dialog.c:1304 gschem/src/x_dialog.c:1307 msgid "*unchanged*" msgstr "" #: gschem/src/x_dialog.c:921 msgid "Edit Line Width & Type" msgstr "" #: gschem/src/x_dialog.c:960 gschem/src/x_print.c:307 msgid "Type:" msgstr "" #: gschem/src/x_dialog.c:964 msgid "Width:" msgstr "" #: gschem/src/x_dialog.c:968 msgid "Dash Length:" msgstr "" #: gschem/src/x_dialog.c:972 msgid "Dash Space:" msgstr "" #: gschem/src/x_dialog.c:1039 msgid "Hollow" msgstr "" #: gschem/src/x_dialog.c:1040 msgid "Filled" msgstr "" #: gschem/src/x_dialog.c:1041 msgid "Mesh" msgstr "" #: gschem/src/x_dialog.c:1042 msgid "Hatch" msgstr "" #: gschem/src/x_dialog.c:1416 msgid "Edit Fill Type" msgstr "" #: gschem/src/x_dialog.c:1455 msgid "Fill Type:" msgstr "" #: gschem/src/x_dialog.c:1459 msgid "Line Width:" msgstr "" #: gschem/src/x_dialog.c:1463 msgid "Angle 1:" msgstr "" #: gschem/src/x_dialog.c:1467 msgid "Pitch 1:" msgstr "" #: gschem/src/x_dialog.c:1471 msgid "Angle 2:" msgstr "" #: gschem/src/x_dialog.c:1475 msgid "Pitch 2:" msgstr "" #: gschem/src/x_dialog.c:1602 msgid "Arc Params" msgstr "" #: gschem/src/x_dialog.c:1643 msgid "Arc Radius:" msgstr "" #: gschem/src/x_dialog.c:1651 msgid "Start Angle:" msgstr "" #: gschem/src/x_dialog.c:1659 msgid "Degrees of Sweep:" msgstr "" #: gschem/src/x_dialog.c:1777 msgid "" "Offset to translate?\n" "(0 for origin)" msgstr "" #: gschem/src/x_dialog.c:1845 msgid "Text Size" msgstr "" #: gschem/src/x_dialog.c:1875 msgid "Enter new text size:" msgstr "" #: gschem/src/x_dialog.c:1951 msgid "Snap Size" msgstr "" #: gschem/src/x_dialog.c:1981 msgid "Enter new snap grid spacing:" msgstr "" #: gschem/src/x_dialog.c:2058 msgid "Edit slot number" msgstr "" #: gschem/src/x_dialog.c:2089 msgid "Edit slot number:" msgstr "" #: gschem/src/x_dialog.c:2130 #, c-format msgid "%s (g%.7s)" msgstr "" #: gschem/src/x_dialog.c:2151 msgid "About gschem" msgstr "" #: gschem/src/x_dialog.c:2152 msgid "gEDA: GPL Electronic Design Automation" msgstr "" #. TRANSLATORS: "ChangeLog" is a literal filename; please don't translate it. #: gschem/src/x_dialog.c:2155 msgid "" "Copyright © 1998-2012 Ales Hvezda \n" "Copyright © 1998-2012 gEDA Contributors (see ChangeLog for details)" msgstr "" #: gschem/src/x_dialog.c:2214 msgid "Coords" msgstr "" #: gschem/src/x_dialog.c:2235 msgid "Screen" msgstr "" #: gschem/src/x_dialog.c:2244 msgid "World" msgstr "" #: gschem/src/x_dialog.c:2283 msgid "Background" msgstr "" #: gschem/src/x_dialog.c:2289 msgid "Net endpoint" msgstr "" #: gschem/src/x_dialog.c:2292 msgid "Graphic" msgstr "" #: gschem/src/x_dialog.c:2301 msgid "Logic bubble" msgstr "" #: gschem/src/x_dialog.c:2304 msgid "Grid point" msgstr "" #: gschem/src/x_dialog.c:2307 msgid "Detached attribute" msgstr "" #: gschem/src/x_dialog.c:2310 gschem/src/x_window.c:387 msgid "Text" msgstr "" #: gschem/src/x_dialog.c:2316 msgid "Selection" msgstr "" #: gschem/src/x_dialog.c:2319 msgid "Bounding box" msgstr "" #: gschem/src/x_dialog.c:2322 msgid "Zoom box" msgstr "" #: gschem/src/x_dialog.c:2331 msgid "Output background" msgstr "" #: gschem/src/x_dialog.c:2334 msgid "Net junction" msgstr "" #: gschem/src/x_dialog.c:2337 msgid "Mesh grid major" msgstr "" #: gschem/src/x_dialog.c:2340 msgid "Mesh grid minor" msgstr "" #: gschem/src/x_dialog.c:2343 msgid "Unknown" msgstr "" #: gschem/src/x_dialog.c:2494 #, c-format msgid "ERROR: NULL object in color_edit_dialog_apply!\n" msgstr "" #: gschem/src/x_dialog.c:2538 msgid "Color Edit" msgstr "" #: gschem/src/x_dialog.c:2569 msgid "Object color:" msgstr "" #: gschem/src/x_dialog.c:2622 msgid "Hotkeys" msgstr "" #: gschem/src/x_dialog.c:2662 msgid "Function" msgstr "" #: gschem/src/x_dialog.c:2669 msgid "Keystroke(s)" msgstr "" #: gschem/src/x_dialog.c:2977 msgid "Find Text" msgstr "" #: gschem/src/x_dialog.c:3008 msgid "Text to find:" msgstr "" #: gschem/src/x_dialog.c:3018 msgid "descend into hierarchy" msgstr "" #: gschem/src/x_dialog.c:3084 msgid "Hide Text" msgstr "" #: gschem/src/x_dialog.c:3115 msgid "Hide text starting with:" msgstr "" #: gschem/src/x_dialog.c:3185 msgid "Show Text" msgstr "" #: gschem/src/x_dialog.c:3216 msgid "Show text starting with:" msgstr "" #: gschem/src/x_dialog.c:3675 msgid "S_elect the schematics you want to save:" msgstr "" #: gschem/src/x_dialog.c:3770 #, c-format msgid "Save the changes to schematic \"%s\" before closing?" msgstr "" #: gschem/src/x_dialog.c:3776 #, c-format msgid "" "There are %d schematics with unsaved changes. Save changes before closing?" msgstr "" #: gschem/src/x_dialog.c:3805 msgid "If you don't save, all your changes will be permanently lost." msgstr "" #: gschem/src/x_dialog.c:3825 msgid "_Close without saving" msgstr "" #: gschem/src/x_dialog.c:4161 #, c-format msgid "" "The input attribute \"%s\" is invalid\n" "Please correct in order to continue\n" "\n" "The name and value must be non-empty.\n" "The name cannot end with a space.\n" "The value cannot start with a space." msgstr "" #: gschem/src/x_dialog.c:4163 msgid "Invalid Attribute" msgstr "" #: gschem/src/x_dialog.c:4199 msgid "Pin type" msgstr "" #: gschem/src/x_dialog.c:4223 msgid "Net pin" msgstr "" #: gschem/src/x_dialog.c:4225 msgid "Bus pin (graphical)" msgstr "" #: gschem/src/x_fileselect.c:42 msgid "Schematics" msgstr "" #: gschem/src/x_fileselect.c:47 msgid "Symbols" msgstr "" #: gschem/src/x_fileselect.c:52 msgid "Schematics and symbols" msgstr "" #: gschem/src/x_fileselect.c:58 msgid "All files" msgstr "" #: gschem/src/x_fileselect.c:171 msgid "Open..." msgstr "" #: gschem/src/x_fileselect.c:231 msgid "Save as..." msgstr "" #: gschem/src/x_fileselect.c:284 #, c-format msgid "" "The selected file `%s' already exists.\n" "\n" "Would you like to overwrite it?" msgstr "" #: gschem/src/x_fileselect.c:287 msgid "Overwrite file?" msgstr "" #: gschem/src/x_fileselect.c:289 msgid "Save cancelled on user request\n" msgstr "" #: gschem/src/x_image.c:176 msgid "Encapsulated Postscript" msgstr "" #: gschem/src/x_image.c:296 #, c-format msgid "x_image_lowlevel: Unable to write eps file %s.\n" msgstr "" #: gschem/src/x_image.c:374 #, c-format msgid "x_image_lowlevel: Unable to write %s file %s.\n" msgstr "" #: gschem/src/x_image.c:384 #, c-format msgid "" "There was the following error when saving image with type %s to filename:\n" "%s\n" "\n" "%s.\n" msgstr "" #: gschem/src/x_image.c:403 #, c-format msgid "Wrote color image to [%s] [%d x %d]\n" msgstr "" #: gschem/src/x_image.c:405 #, c-format msgid "Wrote black and white image to [%s] [%d x %d]\n" msgstr "" #: gschem/src/x_image.c:413 msgid "x_image_lowlevel: Unable to get pixbuf from gschem's window.\n" msgstr "" #: gschem/src/x_image.c:458 msgid "Width x Height" msgstr "" #: gschem/src/x_image.c:474 msgid "Image type" msgstr "" #: gschem/src/x_image.c:495 msgid "Write image..." msgstr "" #: gschem/src/x_log.c:209 msgid "** Invalid UTF-8 in log message. See stderr or gschem.log.\n" msgstr "" #: gschem/src/x_log.c:288 msgid "Status" msgstr "" #: gschem/src/x_menus.c:37 msgid "/Add Net" msgstr "" #: gschem/src/x_menus.c:38 msgid "/Add Attribute..." msgstr "" #: gschem/src/x_menus.c:39 msgid "/Add Component..." msgstr "" #: gschem/src/x_menus.c:40 msgid "/Add Bus" msgstr "" #: gschem/src/x_menus.c:41 msgid "/Add Text" msgstr "" #: gschem/src/x_menus.c:43 msgid "/Zoom In" msgstr "" #: gschem/src/x_menus.c:44 msgid "/Zoom Out" msgstr "" #: gschem/src/x_menus.c:45 msgid "/Zoom Box" msgstr "" #: gschem/src/x_menus.c:46 msgid "/Zoom Extents" msgstr "" #: gschem/src/x_menus.c:48 msgid "/Select" msgstr "" #: gschem/src/x_menus.c:49 msgid "/Edit..." msgstr "" #: gschem/src/x_menus.c:50 msgid "/Edit pin type..." msgstr "" #: gschem/src/x_menus.c:51 msgid "/Copy" msgstr "" #: gschem/src/x_menus.c:52 msgid "/Move" msgstr "" #: gschem/src/x_menus.c:53 msgid "/Delete" msgstr "" #: gschem/src/x_menus.c:56 msgid "/Down Schematic" msgstr "" #: gschem/src/x_menus.c:57 msgid "/Down Symbol" msgstr "" #: gschem/src/x_menus.c:58 msgid "/Up" msgstr "" #: gschem/src/x_menus.c:348 #, c-format msgid "Tried to set the sensitivity on non-existent menu item '%s'\n" msgstr "" #: gschem/src/x_menus.c:372 msgid "Popup_menu_item_factory doesn't exist!\n" msgstr "" #: gschem/src/x_menus.c:385 msgid "Tried to set the sensitivity on a non-existent popup menu_item\n" msgstr "" #: gschem/src/x_misc.c:74 msgid "The operating system is out of memory or resources." msgstr "" #: gschem/src/x_misc.c:155 #, c-format msgid "%s failed to launch URI" msgstr "" #: gschem/src/x_multiattrib.c:961 msgid "Attributes with empty name are not allowed. Please set a name." msgstr "" #: gschem/src/x_multiattrib.c:1514 msgid "Show Value only" msgstr "" #: gschem/src/x_multiattrib.c:1516 msgid "Show Name only" msgstr "" #: gschem/src/x_multiattrib.c:1544 msgid "Promote" msgstr "" #: gschem/src/x_multiattrib.c:1548 msgid "Duplicate" msgstr "" #: gschem/src/x_multiattrib.c:1765 msgid "Edit Attributes" msgstr "" #: gschem/src/x_multiattrib.c:1883 msgid "Vis?" msgstr "" #: gschem/src/x_multiattrib.c:1901 msgid "N" msgstr "" #: gschem/src/x_multiattrib.c:1919 msgid "V" msgstr "" #: gschem/src/x_multiattrib.c:1941 msgid "Show inherited attributes" msgstr "" #: gschem/src/x_multiattrib.c:1957 msgid "Add Attribute" msgstr "" #: gschem/src/x_pagesel.c:246 msgid "New Page" msgstr "" #: gschem/src/x_pagesel.c:247 msgid "Open Page..." msgstr "" #: gschem/src/x_pagesel.c:249 msgid "Save Page" msgstr "" #: gschem/src/x_pagesel.c:250 msgid "Close Page" msgstr "" #: gschem/src/x_pagesel.c:251 msgid "Discard Page" msgstr "" #: gschem/src/x_pagesel.c:369 msgid "Page Manager" msgstr "" #: gschem/src/x_pagesel.c:425 msgid "Filename" msgstr "" #: gschem/src/x_pagesel.c:441 msgid "Changed" msgstr "" #: gschem/src/x_pagesel.c:461 msgid "Right click on the filename for more options..." msgstr "" #: gschem/src/x_preview.c:231 msgid "Preview Buffer" msgstr "" #: gschem/src/x_print.c:84 msgid "Select PostScript Filename..." msgstr "" #: gschem/src/x_print.c:164 msgid "Extents with margins" msgstr "" #: gschem/src/x_print.c:170 msgid "Extents no margins" msgstr "" #: gschem/src/x_print.c:176 msgid "Current Window" msgstr "" #: gschem/src/x_print.c:210 msgid "Landscape" msgstr "" #: gschem/src/x_print.c:216 msgid "Portrait" msgstr "" #: gschem/src/x_print.c:276 msgid "Print..." msgstr "" #: gschem/src/x_print.c:284 msgid "Settings" msgstr "" #: gschem/src/x_print.c:296 msgid "Output paper size:" msgstr "" #: gschem/src/x_print.c:318 msgid "Orientation:" msgstr "" #: gschem/src/x_print.c:330 msgid "Destination" msgstr "" #: gschem/src/x_print.c:343 msgid "File:" msgstr "" #: gschem/src/x_print.c:373 msgid "Command:" msgstr "" #: gschem/src/x_print.c:745 msgid "No print destination specified\n" msgstr "" #: gschem/src/x_print.c:752 #, c-format msgid "Cannot print current schematic to [%s]\n" msgstr "" #: gschem/src/x_print.c:761 #, c-format msgid "" "Error printing to file '%s'\n" "Check the log window for more information" msgstr "" #: gschem/src/x_print.c:768 #, c-format msgid "Printed current schematic to [%s]\n" msgstr "" #: gschem/src/x_rc.c:40 msgid "ERROR: An unknown error occurred while parsing configuration files.\n" msgstr "" #: gschem/src/x_rc.c:45 msgid "" "An unknown error occurred while parsing configuration files.\n" "\n" "The gschem log may contain more information." msgstr "" #: gschem/src/x_rc.c:57 #, c-format msgid "ERROR: %s\n" msgstr "" #: gschem/src/x_rc.c:60 #, c-format msgid "" "%s\n" "\n" "The gschem log may contain more information." msgstr "" #: gschem/src/x_rc.c:68 msgid "Cannot load gschem configuration." msgstr "" #: gschem/src/x_script.c:47 gschem/lib/system-gschemrc.scm:1381 msgid "Execute Script..." msgstr "Aja skripti" #: gschem/src/x_script.c:66 #, c-format msgid "Executing guile script [%s]\n" msgstr "" #: gschem/src/x_window.c:82 #, c-format msgid "Couldn't allocate gc\n" msgstr "" #: gschem/src/x_window.c:321 msgid "New" msgstr "" #: gschem/src/x_window.c:322 msgid "New file" msgstr "" #: gschem/src/x_window.c:328 msgid "Open" msgstr "" #: gschem/src/x_window.c:329 msgid "Open file..." msgstr "" #: gschem/src/x_window.c:335 msgid "Save" msgstr "" #: gschem/src/x_window.c:336 msgid "Save file" msgstr "" #: gschem/src/x_window.c:343 msgid "Undo" msgstr "" #: gschem/src/x_window.c:344 msgid "Undo last operation" msgstr "" #: gschem/src/x_window.c:350 msgid "Redo" msgstr "" #: gschem/src/x_window.c:351 msgid "Redo last undo" msgstr "" #: gschem/src/x_window.c:360 msgid "" "Add component...\n" "Select library and component from list, move the mouse into main window, " "click to place\n" "Right mouse button to cancel" msgstr "" #: gschem/src/x_window.c:370 msgid "" "Add nets mode\n" "Right mouse button to cancel" msgstr "" #: gschem/src/x_window.c:380 msgid "" "Add buses mode\n" "Right mouse button to cancel" msgstr "" #: gschem/src/x_window.c:388 msgid "Add Text..." msgstr "" #: gschem/src/x_window.c:398 msgid "Select" msgstr "" #: gschem/src/x_window.c:399 msgid "Select mode" msgstr "" #: gschem/src/x_window.c:465 msgid "Evaluate:" msgstr "" #: gschem/src/x_window.c:484 msgid "Pick" msgstr "" #: gschem/src/x_window.c:500 msgid "Repeat/none" msgstr "" #: gschem/src/x_window.c:510 msgid "Menu/Cancel" msgstr "" #: gschem/src/x_window.c:512 msgid "Pan/Cancel" msgstr "" #: gschem/src/x_window.c:737 #, c-format msgid "Loading schematic [%s]\n" msgstr "" #: gschem/src/x_window.c:748 #, c-format msgid "" "An error occurred while loading the requested file.\n" "\n" "Loading from '%s' failed: %s. The gschem log may contain more information." msgstr "" #: gschem/src/x_window.c:750 msgid "Failed to load file" msgstr "" #: gschem/src/x_window.c:759 #, c-format msgid "New file [%s]\n" msgstr "" #: gschem/src/x_window.c:862 #, c-format msgid "Could NOT save page [%s]\n" msgstr "" #: gschem/src/x_window.c:863 msgid "Error while trying to save" msgstr "" #: gschem/src/x_window.c:873 msgid "Failed to save file" msgstr "" #: gschem/src/x_window.c:884 #, c-format msgid "Saved as [%s]\n" msgstr "" #: gschem/src/x_window.c:886 #, c-format msgid "Saved [%s]\n" msgstr "" #: gschem/src/x_window.c:888 msgid "Saved" msgstr "" #: gschem/src/x_window.c:962 #, c-format msgid "Discarding page [%s]\n" msgstr "" #: gschem/src/x_window.c:962 #, c-format msgid "Closing [%s]\n" msgstr "" #: gschem/data/geda-gschem.desktop.in:3 msgid "gEDA Schematic Editor" msgstr "" #: gschem/data/geda-gschem.desktop.in:4 msgid "Create and edit electrical schematics and symbols with gschem" msgstr "" #: gschem/lib/system-gschemrc.scm:1368 msgid "_New" msgstr "_Uusi" #: gschem/lib/system-gschemrc.scm:1369 msgid "_Open..." msgstr "_Avaa…" #: gschem/lib/system-gschemrc.scm:1371 msgid "Open Recen_t" msgstr "_Viimeisimmät tiedostot" #: gschem/lib/system-gschemrc.scm:1373 msgid "_Save" msgstr "_Tallenna" #: gschem/lib/system-gschemrc.scm:1374 msgid "Save _As..." msgstr "Tallenna _nimellä..." #: gschem/lib/system-gschemrc.scm:1375 msgid "Save All" msgstr "Tallenna _kaikki" #: gschem/lib/system-gschemrc.scm:1376 gschem/lib/system-gschemrc.scm:1469 msgid "_Revert" msgstr "_Hylkää muutokset" #: gschem/lib/system-gschemrc.scm:1378 msgid "_Print..." msgstr "T_ulosta…" #: gschem/lib/system-gschemrc.scm:1379 msgid "Write _image..." msgstr "_Vie kuvaksi..." #: gschem/lib/system-gschemrc.scm:1383 msgid "New Window" msgstr "Uusi ikkuna" #: gschem/lib/system-gschemrc.scm:1384 msgid "_Close Window" msgstr "" #: gschem/lib/system-gschemrc.scm:1385 msgid "_Quit" msgstr "L_opeta" #: gschem/lib/system-gschemrc.scm:1391 msgid "_Undo" msgstr "K_umoa" #: gschem/lib/system-gschemrc.scm:1392 msgid "_Redo" msgstr "_Tee uudelleen" #: gschem/lib/system-gschemrc.scm:1394 msgid "Cu_t" msgstr "_Leikkaa" #: gschem/lib/system-gschemrc.scm:1395 msgid "_Copy" msgstr "_Kopioi" #: gschem/lib/system-gschemrc.scm:1396 msgid "_Paste" msgstr "L_iitä" #: gschem/lib/system-gschemrc.scm:1397 msgid "_Delete" msgstr "_Poista" #: gschem/lib/system-gschemrc.scm:1400 msgid "Select All" msgstr "" #: gschem/lib/system-gschemrc.scm:1401 msgid "Deselect" msgstr "" #: gschem/lib/system-gschemrc.scm:1405 msgid "Rotate 90 Mode" msgstr "Käännä 90 astetta" #: gschem/lib/system-gschemrc.scm:1408 msgid "Edit..." msgstr "Muokkaa..." #: gschem/lib/system-gschemrc.scm:1409 msgid "Edit Text..." msgstr "Muokkaa tekstiä..." #: gschem/lib/system-gschemrc.scm:1410 msgid "Slot..." msgstr "" #: gschem/lib/system-gschemrc.scm:1411 msgid "Color..." msgstr "Väri..." #: gschem/lib/system-gschemrc.scm:1412 msgid "Line Width & Type..." msgstr "viivan leveys ja tyyppi" #: gschem/lib/system-gschemrc.scm:1413 msgid "Fill Type..." msgstr "Täyttö" #: gschem/lib/system-gschemrc.scm:1414 msgid "Symbol Translate..." msgstr "" #: gschem/lib/system-gschemrc.scm:1418 msgid "Invoke Macro" msgstr "Suorita makro" #: gschem/lib/system-gschemrc.scm:1419 msgid "Embed Component/Picture" msgstr "" #: gschem/lib/system-gschemrc.scm:1420 msgid "Unembed Component/Picture" msgstr "" #: gschem/lib/system-gschemrc.scm:1421 msgid "Update Component" msgstr "Päivitä komponentti" #: gschem/lib/system-gschemrc.scm:1422 msgid "Show/Hide Inv Text" msgstr "" #: gschem/lib/system-gschemrc.scm:1428 msgid "Copy into 1" msgstr "Kopioi puskuriin 1" #: gschem/lib/system-gschemrc.scm:1429 msgid "Copy into 2" msgstr "Kopioi puskuriin 2" #: gschem/lib/system-gschemrc.scm:1430 msgid "Copy into 3" msgstr "Kopioi puskuriin 3" #: gschem/lib/system-gschemrc.scm:1431 msgid "Copy into 4" msgstr "Kopioi puskuriin 4" #: gschem/lib/system-gschemrc.scm:1432 msgid "Copy into 5" msgstr "Kopioi puskuriin 5" #: gschem/lib/system-gschemrc.scm:1433 msgid "Cut into 1" msgstr "Leikkaa puskuriin 1" #: gschem/lib/system-gschemrc.scm:1434 msgid "Cut into 2" msgstr "Leikkaa puskuriin 2" #: gschem/lib/system-gschemrc.scm:1435 msgid "Cut into 3" msgstr "Leikkaa puskuriin 3" #: gschem/lib/system-gschemrc.scm:1436 msgid "Cut into 4" msgstr "Leikkaa puskuriin 4" #: gschem/lib/system-gschemrc.scm:1437 msgid "Cut into 5" msgstr "Leikkaa puskuriin 5" #: gschem/lib/system-gschemrc.scm:1438 msgid "Paste from 1" msgstr "Liitä puskurista 1" #: gschem/lib/system-gschemrc.scm:1439 msgid "Paste from 2" msgstr "Liitä puskurista 2" #: gschem/lib/system-gschemrc.scm:1440 msgid "Paste from 3" msgstr "Liitä puskurista 3" #: gschem/lib/system-gschemrc.scm:1441 msgid "Paste from 4" msgstr "Liitä puskurista 4" #: gschem/lib/system-gschemrc.scm:1442 msgid "Paste from 5" msgstr "Liitä puskurista 5" #: gschem/lib/system-gschemrc.scm:1448 msgid "_Redraw" msgstr "_Päivitä näkymä" #: gschem/lib/system-gschemrc.scm:1449 msgid "_Pan" msgstr "" #: gschem/lib/system-gschemrc.scm:1450 msgid "Zoom _Box" msgstr "" #: gschem/lib/system-gschemrc.scm:1451 msgid "Zoom _Extents" msgstr "" #: gschem/lib/system-gschemrc.scm:1452 msgid "Zoom _In" msgstr "_Lähennä" #: gschem/lib/system-gschemrc.scm:1453 msgid "Zoom _Out" msgstr "L_oitonna" #: gschem/lib/system-gschemrc.scm:1454 msgid "Zoom _Full" msgstr "" #: gschem/lib/system-gschemrc.scm:1456 msgid "_Dark color scheme" msgstr "" #: gschem/lib/system-gschemrc.scm:1457 msgid "_Light color scheme" msgstr "" #: gschem/lib/system-gschemrc.scm:1458 msgid "B_W color scheme" msgstr "" #: gschem/lib/system-gschemrc.scm:1465 msgid "_Manager..." msgstr "" #: gschem/lib/system-gschemrc.scm:1466 msgid "_Previous" msgstr "_Edellinen" #: gschem/lib/system-gschemrc.scm:1467 msgid "_Next" msgstr "_Seuraava" #: gschem/lib/system-gschemrc.scm:1468 msgid "Ne_w" msgstr "_Uusi" #: gschem/lib/system-gschemrc.scm:1470 msgid "_Close" msgstr "Sul_je" #: gschem/lib/system-gschemrc.scm:1472 msgid "_Discard" msgstr "_Hylkää" #: gschem/lib/system-gschemrc.scm:1478 msgid "_Component..." msgstr "_komponentti..." #: gschem/lib/system-gschemrc.scm:1479 msgid "_Net" msgstr "Johdi_n" #: gschem/lib/system-gschemrc.scm:1480 msgid "B_us" msgstr "Väy_lä" #: gschem/lib/system-gschemrc.scm:1481 msgid "_Attribute..." msgstr "_Määrite..." #: gschem/lib/system-gschemrc.scm:1482 msgid "_Text..." msgstr "_Teksti..." #: gschem/lib/system-gschemrc.scm:1484 msgid "_Line" msgstr "_Viiva" #: gschem/lib/system-gschemrc.scm:1485 msgid "_Box" msgstr "" #: gschem/lib/system-gschemrc.scm:1486 msgid "C_ircle" msgstr "Ympyrä" #: gschem/lib/system-gschemrc.scm:1487 msgid "A_rc" msgstr "Kaa_ri" #: gschem/lib/system-gschemrc.scm:1488 msgid "_Pin" msgstr "" #: gschem/lib/system-gschemrc.scm:1489 msgid "Pictu_re..." msgstr "Kuva..." #: gschem/lib/system-gschemrc.scm:1495 msgid "_Down Schematic" msgstr "" #: gschem/lib/system-gschemrc.scm:1496 msgid "Down _Symbol" msgstr "" #: gschem/lib/system-gschemrc.scm:1497 msgid "_Up" msgstr "_Ylös" #: gschem/lib/system-gschemrc.scm:1498 msgid "D_ocumentation..." msgstr "D_okumentaatio..." #: gschem/lib/system-gschemrc.scm:1504 msgid "_Attach" msgstr "" #: gschem/lib/system-gschemrc.scm:1505 msgid "_Detach" msgstr "" #: gschem/lib/system-gschemrc.scm:1506 msgid "Show _Value" msgstr "Näytä _Arvo" #: gschem/lib/system-gschemrc.scm:1507 msgid "Show _Name" msgstr "Näytä _Nimi" #: gschem/lib/system-gschemrc.scm:1508 msgid "Show _Both" msgstr "Näytä _Molemmat" #: gschem/lib/system-gschemrc.scm:1509 msgid "_Toggle Visibility" msgstr "Vaihda Näk_yvyys" #: gschem/lib/system-gschemrc.scm:1511 msgid "_Find Specific Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1512 msgid "_Hide Specific Text..." msgstr "_Piilota" #: gschem/lib/system-gschemrc.scm:1513 msgid "_Show Specific Text..." msgstr "_Näytä Maarite tekstillä..." #: gschem/lib/system-gschemrc.scm:1514 msgid "A_utonumber Text..." msgstr "A_utonumeroi määritteet tekstillä..." #: gschem/lib/system-gschemrc.scm:1520 msgid "_Text Size..." msgstr "_Tekstin Koko" #: gschem/lib/system-gschemrc.scm:1521 msgid "Cycle _grid styles" msgstr "_Vaihda Ruudukon tyyliä" #: gschem/lib/system-gschemrc.scm:1522 msgid "Toggle _Snap On/Off" msgstr "Kinnity Ruudukkoon Päälle/Pois" #: gschem/lib/system-gschemrc.scm:1523 msgid "Snap Grid S_pacing..." msgstr "" #: gschem/lib/system-gschemrc.scm:1524 msgid "Scale _up Grid Spacing" msgstr "" #: gschem/lib/system-gschemrc.scm:1526 msgid "Scale _down Grid Spacing" msgstr "Nosta Ruudukon Tiheyttä" #: gschem/lib/system-gschemrc.scm:1528 msgid "Toggle _Outline/Box" msgstr "Näytä _Liikutettaessa Komponentti/Neliö" #: gschem/lib/system-gschemrc.scm:1530 msgid "Toggle Net _Rubberband" msgstr "" #: gschem/lib/system-gschemrc.scm:1531 msgid "Toggle _Magnetic Net" msgstr "" #: gschem/lib/system-gschemrc.scm:1532 msgid "Show _Log Window..." msgstr "Näytä _Loki-ikkuna..." #: gschem/lib/system-gschemrc.scm:1534 msgid "Show _Coord Window..." msgstr "Näytä _Koordinaatti-ikkuna..." #: gschem/lib/system-gschemrc.scm:1542 msgid "gEDA Docu_mentation..." msgstr "gEDA Dokumentaatio..." #: gschem/lib/system-gschemrc.scm:1543 msgid "gschem _FAQ..." msgstr "gschem _UKK..." #: gschem/lib/system-gschemrc.scm:1544 msgid "gEDA _Wiki..." msgstr "gEDA _Wiki..." #: gschem/lib/system-gschemrc.scm:1545 msgid "Component D_ocumentation..." msgstr "Komponentin D_okumentaatio..." #: gschem/lib/system-gschemrc.scm:1547 msgid "_Hotkeys..." msgstr "_Pikanäppäimet" #: gschem/lib/system-gschemrc.scm:1548 msgid "_About..." msgstr "_Tietoja..." #: gschem/lib/system-gschemrc.scm:1554 msgid "_File" msgstr "_Tiedosto" #: gschem/lib/system-gschemrc.scm:1555 msgid "_Edit" msgstr "_Muokkaa" #: gschem/lib/system-gschemrc.scm:1556 msgid "_Buffer" msgstr "_Puskuri" #: gschem/lib/system-gschemrc.scm:1557 msgid "_View" msgstr "_Näytä" #: gschem/lib/system-gschemrc.scm:1558 msgid "_Page" msgstr "_Sivu" #: gschem/lib/system-gschemrc.scm:1559 msgid "_Add" msgstr "_Lisää" #: gschem/lib/system-gschemrc.scm:1560 msgid "Hie_rarchy" msgstr "" #: gschem/lib/system-gschemrc.scm:1561 msgid "A_ttributes" msgstr "Määri_tteet..." #: gschem/lib/system-gschemrc.scm:1562 msgid "_Options" msgstr "" #: gschem/lib/system-gschemrc.scm:1563 msgid "_Help" msgstr "O_hje" #: gschem/scheme/gschem/deprecated.scm:102 #, scheme-format msgid "Invalid text alignment ~A." msgstr "" #: gschem/scheme/gschem/gschemdoc.scm:225 msgid "No documentation found" msgstr "" #: gschem/scheme/gschem/keymap.scm:38 #, scheme-format msgid "~S is not a valid key combination." msgstr "" #: gschem/scheme/gschem/keymap.scm:153 #, scheme-format msgid "~S is not a prefix key sequence." msgstr "" geda-gaf-1.8.2/gschem/po/es.gmo0000664000175000017500000012706012220655645013114 00000000000000H\$000 1%1;=1 y11111 1111 112 222 2 '252 >2H2]222]3n3 }33334 44 44(4$4 5 )5+55a5*5 66 !6j+66666 6 66 6 6>6'7:7J7^7o7 t7 7 777777>7828B8![8'}8888 88 88 8 9 99%9,9 59?9[9 j9u9|999999 9 9 9 9 9 999 |::(:3:%;%:;!`;6;;;!;= <K<P<_< |<<<<<< < < < < <<<5=8= J= W=c=&j==== ==== ==>> > ,> 6>DA>/>">>>>?? )?3? H? U?c?t????? ??? @m @E@@ @@ A(A;APAcAwA"AAA AAA B BB!B )B#3BWB/`B4B/B/B!%C1GCyC C C CCCC CC DDD= D ^DiD'pDD3D-D* E&7E.^E<E<E-F35F?iFAF,F&G&?GfG&G%G G G G G H H HH .H:HRH WH dH oH |HH HHHHH H H HI II I (I6IIIKIPIUI[I`IdI mI zIIIII IIIIII7JJJaJ*JJJJ J-J5K#RKvK {K K KK KKKKK LLL !L ,L:LBLJLRLZL bL oL |L L LLLL LL LLLLLM'M6M?MGMVM"_MMMMMMMM MM N/N HNVN]N lNxNN(NNN N N NN O2OOO UO _OkOzOO OOO OOOP P'P ;PGP ePqPP PP PPPP PPP QQ.Q BQ MQYQsQQQ QQQQQQQQR(RARWRlRuR ~R!RR0R R RR SSS4-SbSjS oS }S S S3SGSJTRfTLTU!U8UMUaU uU UU?U"U*V?:V<zVVVVVVVWW:W XWyWWWWW W W WW[[[[ [[)[`[-A\8o\+\-\]]!](].]>].M]$|]]I^ R^ \^ j^u^ ~^^&^ ^^^ ^^^^ ^^ _#_)_<_D_L_U_e_k_q___ ___ ________` ` ` `$`*`0`8`@`F` ]`k`t````` `;``G`Fa^bub bMbb&c+c:cRcicnc6c!c cRd"Wdzd=d.d/d e">eae>,g kgvg~ghh 2h?hVhlh{hhhhh hh hh h ii%iVu1uLuv54vAjv1vvvv ww(w1w:wCwLwkwwwwwwVxqx+xxx0xyy y-y 5yAyWy`yryyyyy yTyF5z7|zzzzz{ #{ 0{Q{a{t{{ { {{"{ { |,#|"P|s|S2}}}}"}}}~/~J~2h~&~~~~~ *2:5KS_W>W8N'v#!߁ 0<BAR-؂OM=JNփL%Zr[̈́T)X~XׅZ0CFφF!]1M& AL S_x͈܈ 5Lklj׉ (AV p{ $ ŠЊ$2 B<!/Fы7S<i53܌ $ 4B KYi%{׍  "*2:BJeю   '3B#Qu~ ) +(GOk%5ݐ. 4?E],q Ñԑ="22e n|%$Œ/ GSd ~! ѓ  "7 LZn"Ԕ1 N\l { ҕ0ە 9R0n"'-&TlF  "->;QBKИR<o! Ι%2RhnO0ܚA POU3! Ub !.+ޜ( &3Z cnqsyH^3MOQѢO#s=ʣ4= 5L6`  ƥӥ""*M U bm٦!  &1 8 C MW`|  ħͧ  )16<CNk3Me}X 1:*I't*Hϫ0/IzyD5_66̭,o0~>)!<TE8B^1v 3@qmy>1=SE7W/5ajQcdefgH9rHw&ys+&iFUH)92!Z*bb c %PwvI4Y-Q }n-4nZ76:S qd#5M%:R6L87k@') (3R$(u 4`0 ^+ M90*sJ tU=VlXu|`.? +"I5CJ(VxKY 1O>\t@2{/.#*$<_K;,|Df8p]3/TAaCW%= Ge"OzzAChB][;_2r N,h6g.B\? <}!#m:E[LPo{;ND~"FX D$ p?A- 'FGijkl,&'xG%s The gschem log may contain more information.%s (g%.7s)%s failed to launch URI** Invalid UTF-8 in log message. See stderr or gschem.log. *unchanged*/Add Attribute.../Add Bus/Add Component.../Add Net/Add Text/Copy/Delete/Down Schematic/Down Symbol/Edit pin type.../Edit.../Move/Select/Up/Zoom Box/Zoom Extents/Zoom In/Zoom OutAdd AttributeAn error occurred while loading the requested file. Loading from '%s' failed: %s. The gschem log may contain more information.Attach OptionsEdit AttributeInvalid schematic on clipboard. An error occurred while inserting clipboard data: %s.OptionsScopeText ContentText PropertiesThe input attribute "%s" is invalid Please correct in order to continue The name and value must be non-empty. The name cannot end with a space. The value cannot start with a space.A_rcA_ttributesA_utonumber Text...About gschemActionAction feedback mode set to BOUNDINGBOX Action feedback mode set to OUTLINE Add AttributeAdd Text...Add buses mode Right mouse button to cancelAdd component... Select library and component from list, move the mouse into main window, click to place Right mouse button to cancelAdd nets mode Right mouse button to cancelAlignment:AllAll filesAn unknown error occurred while parsing configuration files. The gschem log may contain more information.Angle 1:Angle 2:ArcArc ModeArc ParamsArc Radius:AttachAttributeAttributesAttributes with empty name are not allowed. Please set a name.Automatic slottingAutonumber textAutonumber text in:B_W color schemeB_usBackgroundBottom to topBounding boxBoxBox ModeBusBus ModeBus pin (graphical)Bus ripper symbol [%s] was not found in any component library C_ircleCannot find any schematics above the current one! Cannot find source [%s] Cannot load gschem configuration.Cannot print current schematic to [%s] CenterChangedCircleCircle ModeClipboard insertion failedClose PageClosing Window Closing [%s] ColorColor EditColor...Color:Command:ComponentComponent D_ocumentation...Component ModeComponentsCoordsCopyCopy 1Copy 2Copy 3Copy 4Copy 5Copy ModeCopy into 1Copy into 2Copy into 3Copy into 4Copy into 5Copy to clipboardCopyright © 1998-2012 Ales Hvezda Copyright © 1998-2012 gEDA Contributors (see ChangeLog for details)Could NOT save backup file [%s] Could NOT save page [%s] Could NOT set backup file [%s] readonly Could NOT set previous backup file [%s] read-write Could not allocate display color %i! Could not allocate outline color %i! Could not allocate the color %s! Could not find symbol [%s] in library. Update failed. Could not launch URI ~S: ~ACouldn't allocate gc Couldn't find init scm file [%s] Create and edit electrical schematics and symbols with gschemCu_tCurrent WindowCurrent locale settings: %s Current pageCut 1Cut 2Cut 3Cut 4Cut 5Cut into 1Cut into 2Cut into 3Cut into 4Cut into 5Cut to clipboardCycle _grid stylesDOH! tried to find the whichone, but didn't find it! D_ocumentation...Dash Length:Dash Space:DashedDefault behavior - reference componentDegrees of Sweep:DeleteDeselectDestinationDetachDetached attributeDiagonalDiscard PageDiscarding page [%s] Dot grid selected DottedDown _SymbolDuplicateERROR: %s ERROR: An unknown error occurred while parsing configuration files. ERROR: NULL object in color_edit_dialog_apply! ERROR: NULL object in o_move_end! ERROR: NULL object! EditEdit AttributesEdit Fill TypeEdit Line Width & TypeEdit TextEdit Text PropertiesEdit Text...Edit pin typeEdit slot numberEdit slot number:Edit...EmbedEmbed Component/PictureEmbed component in schematicEmpty bufferEncapsulated PostscriptEnter new snap grid spacing:Enter new text size:Enter text, click apply, move cursor into window, click to place text. Middle button to rotate while placing.Error printing to file '%s' Check the log window for more informationError while trying to saveEvaluate:Execute Script...Executing guile script [%s] Extents no marginsExtents with marginsFailed to Save AllFailed to load fileFailed to load picture: %sFailed to read init scm file [%s] Failed to replace pictures: %sFailed to save fileFile orderFile:FilenameFill Type...Fill Type:FilledFilter:Find TextFound invalid gschem window smob ~SFunctionGot a non line object in o_move_check_endpoint Got an invalid buffer_number [o_buffer_paste_start] Got an invalid which one in o_bus_draw_stretch Got an invalid which one in o_net_draw_stretch Got an unexpected NULL in o_edit Got invalid show option; defaulting to show both GraphicGrid OFF Grid pointGrid(%s, %s)HatchHidden text is now invisible Hidden text is now visible Hide TextHide text starting with:Hie_rarchyHollowHotkeysIf you don't save, all your changes will be permanently lost.Image typeIn UseInclude component as individual objectsInvalid AttributeInvalid dot size [%d] passed to dots-grid-dot-size Invalid gain [%d] passed to keyboardpan-gain Invalid gain [%d] passed to mousepan-gain Invalid gain [%d] passed to zoom-gain Invalid num levels [%d] passed to undo-levels Invalid number of pixels [%d] passed to select-slack-pixels Invalid number of seconds [%d] passed to auto-save-interval Invalid number of steps [%d] scrollpan-steps Invalid offset [%d] passed to add-attribute-offset Invalid pixel spacing [%d] passed to dots-grid-fixed-threshold Invalid pixel spacing [%d] passed to mesh-grid-display-threshold Invalid size [%d] passed to bus-ripper-size Invalid size [%d] passed to snap-size Invalid size [%d] passed to text-size Invalid text alignment ~A.Invalid text name/value visibility ~A.Invalid zoomfactor [%d] passed to %s Invoke MacroKeystroke(s)LandscapeLeft to rightLibrariesLineLine ModeLine Width & Type...Line Width:Loading schematic [%s] LockLogic bubbleLower LeftLower MiddleLower RightMagnetic Net ModeMenu/CancelMeshMesh grid majorMesh grid minorMesh grid selected Middle LeftMiddle MiddleMiddle RightMirrorMirror ModeMoveMove ModeMultiple CopyMultiple Copy ModeNNONENameName:Ne_wNetNet ModeNet endpointNet junctionNet pinNetsNewNew PageNew WindowNew Window created [%s] New fileNew file [%s] New page created [%s] New slot number out of range No '*' or '?' given at the end of the autonumber text. No documentation foundNo print destination specified No searchstring given in autonumber text. OFFObject already locked Object already unlocked Object color:Object ~A is not directly included in a page.Object ~A is not included in the current gschem page.Offset to translate? (0 for origin)OpenOpen Page...Open Recen_tOpen file...Open...Orientation:Output backgroundOutput paper size:Overwrite existing numbersOverwrite file?Page ManagerPanPan ModePan/CancelPaste %d ModePaste 1Paste 2Paste 3Paste 4Paste 5Paste from 1Paste from 2Paste from 3Paste from 4Paste from 5Paste from clipboardPhantomPickPictu_re...PicturePicture ModePinPin ModePin typePitch 1:Pitch 2:Popup_menu_item_factory doesn't exist! PortraitPreviewPreview BufferPrint...Printed current schematic to [%s] PromoteRead init scm file [%s] Really revert page?RedoRedo last undoRemove numbersRepeat/Repeat/noneReplace existing attributesResnap ActiveRight click on the filename for more options...Right to leftRotateRotate 90 ModeRotate ModeRubber band OFF Rubber band ON S_elect the schematics you want to save:SaveSave AllSave PageSave _As...Save as...Save cancelled on user request Save fileSave the changes to schematic "%s" before closing?SavedSaved AllSaved [%s] Saved as [%s] Scale _down Grid SpacingScale _up Grid SpacingSchematicsSchematics and symbolsScreenSearch for:Searching for source [%s] Searching for symbol [%s] SelectSelect AllSelect Component...Select ModeSelect PostScript Filename...Select modeSelect objs firstSelected objectsSelectionSettingsShow HiddenShow Name & ValueShow Name OnlyShow Name onlyShow TextShow Value OnlyShow Value onlyShow _BothShow _Coord Window...Show _Log Window...Show _NameShow _ValueShow inherited attributesShow text starting with:Show/Hide Inv TextShowBShowHiddenShowNShowVSingle Attribute EditorSize:Skip numbers found in:SlotSlot attribute malformed Slot...Slotting not allowed for this component Snap Grid S_pacing...Snap OFF (CAUTION!) Snap ON Snap OffSnap SizeSnap back to the grid (CAUTION!) SolidSorry but this is a non-functioning menu option Sort order:Start Angle:Starting number:StatusStrokeSymbol Translate...Symbol is not a real file. Symbol cannot be loaded. SymbolsTextText Entry...Text ModeText SizeText to find:The operating system is out of memory or resources.The selected file `%s' already exists. Would you like to overwrite it?There are %d schematics with unsaved changes. Save changes before closing?There was the following error when saving image with type %s to filename: %s %s. This is free software, and you are welcome to redistribute it under certain This is the MINGW32 port. Toggle Net _RubberbandToggle _Magnetic NetToggle _Outline/BoxToggle _Snap On/OffTop to bottomTranslateTranslating schematic [%d %d] Tried to add more than two bus rippers. Internal gschem error. Tried to get an invalid color: %d Tried to get an invalid outline color: %d Tried to set the sensitivity on a non-existent popup menu_item Tried to set the sensitivity on non-existent menu item '%s' Type:UndoUndo last operationUndo/Redo disabled in rc file UnembedUnembed Component/PictureUnknownUnknown end for line (%d) Unknown type for box (fill)! Unknown type for circle (fill)! Unknown type for path (fill)! Unknown type for stroke (%d) ! UnlockUpdateUpdate ComponentUpper LeftUpper MiddleUpper RightUsage: %s [OPTION ...] [--] [FILE ...] Interactively edit gEDA schematics or symbols. If one or more FILEs are specified, open them for editing; otherwise, create a new, empty schematic. Options: -q, --quiet Quiet mode. -v, --verbose Verbose mode. -r, --config-file=FILE Additional configuration file to load. -L DIR Add DIR to Scheme search path. -c EXPR Scheme expression to run at startup. -s FILE Scheme script to run at startup. -o, --output=FILE Output filename (for printing). -p Automatically place the window. -V, --version Show version information. -h, --help Help; this message. -- Treat all remaining arguments as filenames. Report bugs at gEDA/gaf homepage: VValueValue:Vis?VisToggleVisibleWARNING: Do not translate with snap off! WARNING: If you are translating a symbol to the origin, the snap grid size should be set to 100 WARNING: Snap grid size is not equal to 100! WARNING: Turning snap on and continuing with translate. Warning: Ending net at off grid coordinate Warning: Starting net at off grid coordinate Whole hierarchyWidth x HeightWidth:WorldWrite _image...Write image...Wrote black and white image to [%s] [%d x %d] Wrote color image to [%s] [%d x %d] You must set the GEDADATA environment variable! gschem cannot locate its data files. You must set the GEDADATA environment variable to point to the correct location. Zoom BoxZoom _BoxZoom _ExtentsZoom _FullZoom _InZoom _OutZoom boxZoom too small! Cannot zoom further. _About..._Add_Attach_Attribute..._Box_Buffer_Close_Close Window_Close without saving_Component..._Copy_Dark color scheme_Delete_Detach_Discard_Down Schematic_Edit_File_Find Specific Text..._Help_Hide Specific Text..._Hotkeys..._Light color scheme_Line_Manager..._Net_New_Next_Open..._Options_Page_Pan_Paste_Pin_Previous_Print..._Quit_Redo_Redraw_Revert_Save_Show Specific Text..._Text Size..._Text..._Toggle Visibility_Undo_Up_Viewblackcairo contextconditions; please see the COPYING file for more details. descend into hierarchyduplicate slot may cause problems: [symbolname=%s, number=%d, slot=%d] gEDA %s (g%.7s) Copyright (C) 1998-2012 gEDA developers This is free software, and you are welcome to redistribute it under certain conditions. For details, see the file `COPYING', which is included in the gEDA distribution. There is NO WARRANTY, to the extent permitted by law. gEDA Docu_mentation...gEDA Schematic EditorgEDA _Wiki...gEDA/gschem comes with ABSOLUTELY NO WARRANTY; see COPYING for more details. gEDA/gschem version %s%s.%s gEDA: GPL Electronic Design Automationgschem _FAQ...magnetic net mode: OFF magnetic net mode: ON nonenumslots attribute missing o_autosave_backups: Can't get the real filename of %s.o_buffer_copy: Invalid buffer %i o_buffer_cut: Invalid buffer %i slotted object without slot attribute may cause problems when autonumbering slots the cairo context for the rendererwhitex_image_lowlevel: Unable to get pixbuf from gschem's window. x_image_lowlevel: Unable to write %s file %s. x_image_lowlevel: Unable to write eps file %s. ~S is not a prefix key sequence.~S is not a valid key combination.Project-Id-Version: gschem VERSION Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-03-23 03:04+0000 Last-Translator: Adolfo Jayme Barrientos Language-Team: gEDA developers Language: es MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) %s El log (registro) de gschem puede tener más información.%s (g%.7s)%s falló en abrir la URI** mensaje sin codificación UTF-8 en la ventana de registro. Véase la ventana de registro de gschem o la salida de errores. *sin modificar*/Añadir propiedad/Añadir bus/Añadir componente.../Añadir conexión.../Añadir texto/Copiar/Borrar/Descender en esquema/Descender en símbolo/Editar tipo de pin/Editar.../Mover/Seleccionar/Arriba/Ampliar zona/Mostrar todo/Aumentar ampliación/Disminuir ampliaciónAñadir propiedadOcurrió un error al cargar el archivo seleccionado. Cargar desde '%s' falló: %s. El log de gschem puede tener mas información.Opciones de asociaciónEditar propiedadesEsquema inválido en el portapapeles. Ocurrió un error al insertar el contenido del portapapeles: %s.OpcionesÁmbitoContenido del textoPropiedades del textoLa propiedad introducida "%s" no es correcta Por favor, corríjala para continuar El nombre y el valor no pueden estar en blanco. El nombre no puede finalizar en un espacio. El valor no puede empezar con un espacio.A_rcoProp_iedadesA_utonumerar texto...Acerca de gschemAcciónModo de realimentación seleccionado: CONTENEDOR Modo de realimentación seleccionado: SILUETA Añadir propiedadAñadir texto...Añadir bus Botón derecho del ratón para cancelarAñadir componente... Seleccione la librería y el componente de la lista, mueva el ratón a la ventana principal, y presione el botón izq. del ratón para colocarlo. Botón derecho del ratón para cancelarAñadir conexión Botón derecho del ratón para cancelarAlineación:TodoTodos los archivosOcurrió un error desconocido al interpretar los archivos de configuración. El log de gschem debería tener mas información.Ángulo 1:Ángulo 2:ArcoModo ArcoParámetros de arcoRadio de arco:AdjuntarPropiedadPropiedadesNo se permiten las propiedades sin nombre. Por favor, introduzca un nombre.Asignar números de elemento automáticamenteAutoenumerar textoAutoenumerar texto en:Esquema de colores en blanco y negro.B_usFondoDe abajo hacia arribaEnvolventeRectánguloModo RectánguloBusModo BusPin para conexión a bus (gráfico)No se ha encontrado el símbolo %s en ninguna librería de componentes Círcul_o¡No se ha podido encontrar ningún esquema jerárquico superior! No se ha podido encontrar la fuente [%s] No se puede cargar la configuración de gschem.No se puede imprimir el esquema actual a [%s] CentrarModificadoCírculoModo CírculoFallo al insertar el contenido del portapapelesCerrar páginaCerrando ventana Cerrando [%s] ColorEditar colorColor...Color:Comando:ComponenteD_ocumentación del componente...Modo ComponentesComponentesCoordenadasCopiarCopiar 1Copiar 2Copiar 3Copiar 4Copiar 5CopiarCopiar en memoria intermedia 1Copiar en memoria intermedia 2Copiar en memoria intermedia 3Copiar en memoria intermedia 4Copiar en memoria intermedia 5Copiar al portapapelesTodos los derechos reservados © 1998-2012 Ales Hvezda Todos los derechos reservados © 1998-2012 Contribuyentes de gEDA (revisar el ChangeLog para más detalles)NO se ha podido guardar la copia de seguridad [%s] NO se ha podido guardar la página [%s] NO se han podido cambiar los permisos de la copia de seguridad anterior [%s] a sólo lectura NO se han podido cambiar los permisos de la copia de seguridad anterior [%s] a lectura-escritura ¡No se puede reservar memoria para el color %i! ¡No se puede reservar memoria para el color del contorno %i! ¡No se puede reservar memoria para el color %s! No se pudo encontrar el símbolo [%s] en la librería. Error al actualizar. No se puede abrir la URI ~S: ~ANo se ha podido reservar memoria para la variable gc No se ha podido encontrar el fichero de inicialización scm [%s] Crear y modificar esquemas y símbolos con gschemCor_tarVentana actualEntorno actual de locale: %s Hoja actualCortar 1Cortar 2Cortar 3Cortar 4Cortar 5Cortar en memoria intermedia 1Cortar en memoria intermedia 2Cortar en memoria intermedia 3Cortar en memoria intermedia 4Cortar en memoria intermedia 5Cortar al portapapelesCambiar estilos de re_jilla¡Eh! Se ha intentado encontrar el parámetro "whichone", pero ¡no se ha encontrado! D_ocumentaciónLongitud de la línea en la discontinuidad:Espaciado de la discontinuidad:GuiónComportamiento por defecto - designar componenteGrados de barrido:BorrarDeseleccionarDestinoNo adjuntarDesvincular propiedadDiagonalDescartar páginaDescartando página [%s] Seleccionada rejilla de puntos PunteadoDescender en _símboloDuplicarERROR: %s ERROR: Ocurrió un error desconocido al interpretar los archivos de configuración. ERROR: ¡objeto vacío (NULL) en la función color_edit_dialog_apply! ERROR: en la función o_move_end, ¡el objeto es NULL! ERROR: ¡objeto vacío (NULL)! EditarEditar propiedadesEditar tipo de rellenoEditar ancho y tipo de líneaEditar textoEditar las propiedades del textoEditar texto...Editar tipo de pinEditar número de elementoEditar número de elemento:Editar...IncrustarIncrustar componente/imagenIncrustar componente en el esquemaBuffer vacíoPostscript encapsuladoIntroduzca el nuevo espaciado de la rejilla:Introduzca nuevo tamaño de texto:Introduzca el texto, pulse "Aplicar", mueva el cursor en la ventana, presione el botón izq. del ratón para colocar el texto. Botón intermedio para rotar mientras está colocando el texto.Error al imprimir al fichero '%s' Vea la ventana de registro para más informaciónError al intentar guardarEvaluar:Ejecutar subprograma...Ejecutando programa de guile [%s] Completo sin márgenesCompleto con márgenesNo se ha podido guardar todoFallo al cargar el archivoFallo al cargar la imagen: %sFallo al leer fichero de inicialización scm [%s] Falló al reemplazar las imágenes: %sError al guardar archivoOrden de archivos:Archivo:Nombre de archivoTipo de rellenoTipo de relleno:RellenoFiltro:Encontrar texto:Se encontró `smob' de ventana de gschem inválido ~SFunciónSe ha recibido un objeto que no es una línea en la función o_move_check_endpoint Se ha recibido un número de memoria intermedia no válida en la función o_buffer_paste_start Se ha recibido un parámetro no válido ("whichone") en la función o_bus_draw_stretch Se ha recibido un parámetro no válido ("whichone") en la función o_net_draw_stretch Se ha recibido NULL (no esperado) en la función o_edit Se ha recibido una opción de mostrar no válida; mostrando ambos por defecto GráficoRejilla DESACTIVADA Punto de rejillaRejilla(%s, %s)TramaEl texto oculto es ahora invisible El texto oculto es ahora visible Ocultar texto:Ocultar texto que comienza por:Je_rarquíaHuecoTeclas rápidasSi no los guarda, todos los cambios se perderán definitivamente.Tipo de imagenEn usoIncluir componentes como objetos individualesPropiedad incorrectaTamaño de punto no válido [%d] especificado a la función dots-grid-dot-size Se ha especificado un aumento no válido [%d] a la función keyboardpan-gain Se ha especificado un aumento no válido [%d] a la función mousepan-gain Se ha llamado a la función zoom-gain con un nivel de aumento [%d] no válido Número de niveles [%d] no válidos especificados a la función undo-levels Se ha especificado un número de pixels no válido [%d] a la función select-slack-pixels Se ha especificado un número de segundos no válido [%d] a la función auto-save-interval Se ha llamado a la función scrollpan-steps con un número de pasos no válido [%d] Se ha especificado un desplazamiento no válido [%d] a la función add-attribute-offset Espaciado de punto no válido [%d] especificado a la función dots-grid-fixed-threshold Espaciado de punto no válido [%d] especificado a la función mesh-grid-display-threshold Tamaño no válido [%d] especificado a la función bus-ripper-size Se ha especificado un tamaño no válido [%d] a la función snap-size Se ha especificado un tamaño no válido [%d] a la función text-size Alineación de texto inválida ~AVisibilidad de nombre/valor de texto inválida ~ASe ha especificado un factor de ampliación no válido [%d] a la función %s Ejecutar macroPulsación(es)ApaisadoDe izquierda hacia derechaLibreríasLíneaModo LíneaAnchura y tipo de líneaAncho de línea:Cargando esquema [%s] FijarNegación lógicaAbajo a la izquierdaAbajo centradoAbajo a la derechaModo Ayuda a la conexiónMenú/CancelarMallaRejilla de malla mayorRejilla de malla menorSeleccionada rejilla de malla Centrado a la izquierdaCentrado CentradoCentrado a la derechaVoltearVoltearMoverMoverCopia múltipleModo de copia múltipleNNINGUNONombreNombre:_NuevoConexiónModo ConexiónPunto final de conexiónUnión de conexionesPin para conexión simpleConexionesNuevoNueva páginaNueva ventanaSe ha creado una nueva ventana [%s] Nuevo archivoNuevo archivo [%s] Se ha creado una página nueva [%s] El nuevo número de elemento está fuera de rango No se ha especificado '*' o '?' al final del texto a autonumerar. No se encontró la documentaciónNo se ha especificado el destino de impresión No se ha especificado una cadena de búsqueda para autonumerar texto. ○Objeto previamente fijado El objeto no estaba fijado Color del componente:El objeto ~A no está incluído directamente en una página.El objeto ~A no está en la página actual de gschem.¿Desplazamiento del movimiento? (0 para el origen)AbrirAbrir páginaAbrir recien_teAbrir archivoAbrir...Orientación:Fondo de salidaTamaño de papel:Sobreescribir los números existentes¿Sobreescribir el archivo?Administrador de páginasCentrar respecto al cursorModo CentrarPanorámica/CancelarModo Pegar %dPegar 1Pegar 2Pegar 3Pegar 4Pegar 5Pegar memoria intermedia 1Pegar memoria intermedia 2Pegar memoria intermedia 3Pegar memoria intermedia 4Pegar memoria intermedia 5Pegar desde el portapapelesFantasmaCogerI_magen...ImagenModo ImagenPinModo PinTipo de PinSeparación 1:Separación 2:¡No existen menúes contextuales! VerticalVista preliminarPrevisualizar memoria intermediaImprimir...Se ha imprimido el esquema actual a [%s] PromocionarLeído fichero de inicialización scm [%s] ¿Seguro que quiere recargar la página?RehacerRehacer el último deshacerBorrar los númerosRepetir/Repetir/ningunoReemplazar las propiedades existentesReajuste a la rejilla activadoPulse con el botón derecho para ver más opciones...De derecha hacia izquierdaRotarRotar 90ºRotarGoma de borrar DESACT Goma de borrar ACT S_eleccione los esquemas que quiere guardar:GuardarGuardar todoGuardar páginaGuardar _como...Guardar como...El usuario ha cancelado la operación de guardar los cambios Guardar archivo¿Guardar cambios del esquema "%s" antes de salir?GuardadoGuardado todoGuardado [%s] Guardado como [%s] _Disminuir espaciado de la rejilla...A_umentar espaciado de la rejilla...EsquemasEsquemas y símbolosPantallaBuscar:Buscando origen [%s] Buscando símbolo [%s] SeleccionarSeleccionar todoSeleccionar componente...SeleccionarSeleccionar archivo PostScript...SeleccionarAntes seleccione objetosObjetos seleccionadosSelecciónOpcionesMostrar ocultosMostrar nombre y valorMostrar sólo nombreMostrar sólo nombreMostrar textoMostrar sólo valorMostrar sólo valorMostrar am_bosMostrar ventana de _coordenadas...Mostrar ventana de re_gistro...Mostrar _nombreMostrar _valorMostrar propiedades heredadasMostrar texto que comienza por:Mostrar/Ocultar texto ocultoMostrar ambosMostrar ocultosMostrar nombreMostrar valorEditor de una única propiedadTamaño:Ignorar números encontrados en:ElementoEl atributo del elemento está mal especificado Elemento...No se permiten múltiples elementos para este componente Es_paciado de la rejilla...¡PRECAUCIÓN!: Ajuste a la rejilla DESACTIVADO Ajuste a la rejilla ACTIVADO Desactivado el ajuste a la rejillaTamaño de la rejillaReajuste a la rejilla (¡PRECAUCIÓN!) SólidoDisculpe. Esta opción del menú no funciona Método de ordenación:Ángulo de comienzo:Número inicial:EstadoGestoMover símbolo...El símbolo no es un archivo físico. No se puede cargar el símbolo. SímbolosTextoIntroducción de texto...Modo TextoTamaño de textoTexto a encontrar:El sistema se encuentra sin memoria o recursos suficientes.El archivo seleccionado '%s' ya existe. ¿Quiere sobreescribirlo?Hay %d esquemas con cambios sin guardar. ¿Guardar cambios antes de cerrar?Se produjo el siguiente error al salvar la imagen con tipo %s al fichero: %s %s. Esto es software libre, y puede redistribuirlo bajo ciertas Ésta es la adaptación MINGW32. Act/Desact conserva_r conexionesModo ayuda _magnética a la conexiónCambiar Silueta/Rectángul_oAct/Desact aju_ste a la rejillaDe arriba hacia abajoMoverConvirtiendo esquema [%d %d] Se ha intentado añadir más de dos conexiones a bus. Error interno de gschem. Se ha intentado obtener un color no válido: %d Se ha intentado obtener un color para el contorno no válido: %d Se ha intentado modificar la sensibilidad de una opción de menú que no existe Se ha intentado modificar la sensibilidad de una opción de menú que no existe '%s' Tipo:DeshacerDeshacer última operación¡Deshacer/Rehacer deshabilitado en el fichero rc! DesincrustarDesincrustar componente/imagenDesconocidoFinal de línea desconocido (%d) ¡Tipo de relleno de rectángulo desconocido! ¡Tipo de relleno de círculo desconocido! ¡Tipo de camino (relleno) desconocido! ¡ Tipo desconocido para gesto (%d) ! DesfijarActualizarActualizar componenteArriba a la izquierdaArriba centradoArriba a la derechaUso: %s [OPCION ...] [--] [FICHERO ...] Editar esquemas o símbolos de gEDA en forma interactiva. Si uno o más FICHEROs son especificados, se abren para edición; de lo contrario, se crea un esquema nuevo en blanco. Opciones: -q, --quiet Modo silencioso. -v, --verbose Modo comunicativo -r, --config-file=FICHERO Archivo de configuración adicional para cargar. -L DIR Agrega DIR a las rutas de búsqueda de Scheme. -c EXPR Expresión de Scheme para ejecutar al inicio. -s FICHERO Script de Scheme para ejecutar al inicio. -o, --output=FICHERO Nombre de fichero de salida (para imprimir). -p Posicionar la ventana en forma automática. -V, --version Muestra información de la versión del programa. -h, --help Mensaje de ayuda (este mensaje). -- Trata todos los argumentos siguientes como nombres de archivos. Reportar errores a Sitio Web de gEDA/gaf: VValorValor:Visible?Cambiar visibilidadVisibleADVERTENCIA: ¡No mueva objetos con el ajuste a la rejilla desactivado! ADVERTENCIA: Si está moviendo un símbolo al origen, el tamaño de la rejilladebe ser de 100 ADVERTENCIA: ¡El tamaño de la rejilla no es 100! ADVERTENCIA: Activando el ajuste a la rejilla y continuando con el movimiento. Advertencia: se ha finalizado la conexión en una coordenada fuera de la rejilla Advertencia: se ha iniciado la conexión en una coordenada fuera de la rejilla Jerarquía completaAnchura x AlturaAncho:MundoGuardar _imagen...Guardar imagen...Se ha guardado la imagen en blanco y negro en [%s] [%d x %d] Se ha guardado la imagen en color en [%s] [%d x %d] ¡Debe configurar la variable de entorno GEDADATA! gschem no puede encontrar sus archivos de datos. Debe configurar la variable de entorno GEDADATA con el camino adecuado. AmpliarAmpliar z_onaMostrar _todoVista co_mpleta_Aumentar ampliación_Disminuir ampliaciónVentana de ampliado¡Vista demasiado ampliada! No se puede ampliar más. _Acerca de...Aña_dir_AdjuntarPropied_ad...Rectán_guloMe_moria intermediaC_errar_Cerrar ventana_Cerrar sin guardar_Componente..._CopiarConfiguración de colores os_curos_BorrarNo a_djuntar_Descartar_Descender en esquema_Editar_Archivo_Encontrar texto específico...Ay_uda_Ocultar texto específico..._Teclas rápidasConfiguración de co_lores claros_LíneaAd_ministrador...Co_nexión_Nuevo_Siguiente_Abrir..._Opciones_PáginaCentrar res_pecto al cursor_Pegar_Pin_AnteriorIm_primir..._Salir_Rehacer_Redibujar_Recargar_GuardarMo_strar texto específico..._Tamaño de texto..._Texto...Cambiar v_isibilidad_DeshacerA_rriba_VernegroContexto de Cairocondiciones; por favor vea el fichero COPYING para más detalles. Descender en la jerarquíaLa duplicidad de la propiedad 'slot' puede causar problemas: [nombre del símbolo=%s, número=%d, slot=%d] gEDA %s (g%.7s) Derechos Reservados (C) 1998-2012 desarrolladores de gEDA Esto es software libre, y eres bienvenido a redistribuirlo bajo ciertas condiciones. Para más detalles, revisa el fichero `COPYING', que se incluye en la distribución de gEDA. NO EXISTEN GARANTIAS, dentro de lo que la ley permite. Docu_mentación de gEDAEditor de esquemas gEDA_Wiki de gEDA...gEDA/gschem no incluye NINGUNA GARANTÍA; véase el fichero COPYING para más detalles. Versión de gEDA/gschem %s%s.%s gEDA: Automatización de Diseño Electrónico GPLPU_F de gschemModo de Ayuda a la conexión: DESACTIVADO Modo de Ayuda a la conexión: ACTIVADO ningunoLa propiedad "numslots" no está definida o_autosave_backups: Imposible averiguar el nombre de archivo real de %s.o_buffer_copy: memoria intermedia no válida %i o_buffer_cut: memoria intermedia no válida %i Un componente con varios elementos sin la propiedad 'slot' puede causar problemas al autonumerar los números de elemento Contexto de Cairo para dibujarblancox_image_lowlevel: Imposible obtener pixbuf de la ventana de gschem. x_image_lowlevel: Imposible escribir archivo %s: %s. x_image_lowlevel: Imposible escribir archivo eps: %s. ~S no es una secuencia de teclas válida como prefijo.~S no es una combinación de teclas válida.geda-gaf-1.8.2/gschem/po/bg.po0000664000175000017500000013755612220655644012743 00000000000000# Bulgarian translation for geda # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-01-27 14:23+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: gEDA developers \n" "Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: gschem/src/a_zoom.c:212 msgid "Zoom too small! Cannot zoom further.\n" msgstr "" #: gschem/src/g_attrib.c:92 msgid "Object ~A is not included in the current gschem page." msgstr "" #: gschem/src/g_attrib.c:112 msgid "Invalid text name/value visibility ~A." msgstr "" #: gschem/src/g_rc.c:312 #, c-format msgid "Invalid zoomfactor [%d] passed to %s\n" msgstr "" #: gschem/src/g_rc.c:458 #, c-format msgid "Invalid size [%d] passed to text-size\n" msgstr "" #: gschem/src/g_rc.c:501 #, c-format msgid "Invalid size [%d] passed to snap-size\n" msgstr "" #: gschem/src/g_rc.c:958 #, c-format msgid "Invalid num levels [%d] passed to undo-levels\n" msgstr "" #: gschem/src/g_rc.c:1220 #, c-format msgid "Invalid size [%d] passed to bus-ripper-size\n" msgstr "" #: gschem/src/g_rc.c:1295 #, c-format msgid "Invalid dot size [%d] passed to dots-grid-dot-size\n" msgstr "" #: gschem/src/g_rc.c:1336 #, c-format msgid "Invalid pixel spacing [%d] passed to dots-grid-fixed-threshold\n" msgstr "" #: gschem/src/g_rc.c:1362 #, c-format msgid "Invalid pixel spacing [%d] passed to mesh-grid-display-threshold\n" msgstr "" #: gschem/src/g_rc.c:1387 #, c-format msgid "Invalid offset [%d] passed to add-attribute-offset\n" msgstr "" #: gschem/src/g_rc.c:1411 #, c-format msgid "Invalid number of seconds [%d] passed to auto-save-interval\n" msgstr "" #: gschem/src/g_rc.c:1435 #, c-format msgid "Invalid gain [%d] passed to mousepan-gain\n" msgstr "" #: gschem/src/g_rc.c:1458 #, c-format msgid "Invalid gain [%d] passed to keyboardpan-gain\n" msgstr "" #: gschem/src/g_rc.c:1505 #, c-format msgid "Invalid number of pixels [%d] passed to select-slack-pixels\n" msgstr "" #: gschem/src/g_rc.c:1531 #, c-format msgid "Invalid gain [%d] passed to zoom-gain\n" msgstr "" #: gschem/src/g_rc.c:1556 #, c-format msgid "Invalid number of steps [%d] scrollpan-steps\n" msgstr "" #: gschem/src/g_select.c:79 gschem/src/g_select.c:116 #: gschem/src/g_select.c:152 msgid "Object ~A is not directly included in a page." msgstr "" #: gschem/src/g_util.c:56 msgid "Could not launch URI ~S: ~A" msgstr "" #: gschem/src/g_window.c:136 msgid "Found invalid gschem window smob ~S" msgstr "" #: gschem/src/gschem.c:175 #, c-format msgid "gEDA/gschem version %s%s.%s\n" msgstr "" #: gschem/src/gschem.c:178 msgid "" "gEDA/gschem comes with ABSOLUTELY NO WARRANTY; see COPYING for more " "details.\n" msgstr "" #: gschem/src/gschem.c:180 msgid "" "This is free software, and you are welcome to redistribute it under certain\n" msgstr "" #: gschem/src/gschem.c:182 msgid "" "conditions; please see the COPYING file for more details.\n" "\n" msgstr "" #: gschem/src/gschem.c:185 #, c-format msgid "This is the MINGW32 port.\n" msgstr "" #: gschem/src/gschem.c:189 #, c-format msgid "Current locale settings: %s\n" msgstr "" #: gschem/src/gschem.c:211 msgid "" "You must set the GEDADATA environment variable!\n" "\n" "gschem cannot locate its data files. You must set the GEDADATA\n" "environment variable to point to the correct location.\n" msgstr "" #: gschem/src/gschem.c:248 #, c-format msgid "Couldn't find init scm file [%s]\n" msgstr "" #: gschem/src/gschem.c:252 #, c-format msgid "Read init scm file [%s]\n" msgstr "" #: gschem/src/gschem.c:256 #, c-format msgid "Failed to read init scm file [%s]\n" msgstr "" #: gschem/src/gschem_cairo.c:310 #, c-format msgid "Unknown end for line (%d)\n" msgstr "" #: gschem/src/gschem_cairo.c:318 #, c-format msgid "Unknown type for stroke (%d) !\n" msgstr "" #: gschem/src/gschem_pango.c:289 msgid "cairo context" msgstr "" #: gschem/src/gschem_pango.c:290 msgid "the cairo context for the renderer" msgstr "" #: gschem/src/i_basic.c:77 gschem/src/x_window.c:524 #: gschem/lib/system-gschemrc.scm:1399 msgid "Select Mode" msgstr "Избери режим" #: gschem/src/i_basic.c:79 msgid "Component Mode" msgstr "" #: gschem/src/i_basic.c:81 msgid "Text Mode" msgstr "" #: gschem/src/i_basic.c:84 gschem/lib/system-gschemrc.scm:1402 msgid "Copy Mode" msgstr "Копирен Режим" #: gschem/src/i_basic.c:87 gschem/lib/system-gschemrc.scm:1404 msgid "Move Mode" msgstr "Режим Местене" #: gschem/src/i_basic.c:89 msgid "Rotate Mode" msgstr "" #: gschem/src/i_basic.c:91 gschem/lib/system-gschemrc.scm:1406 msgid "Mirror Mode" msgstr "Огледален Режим" #: gschem/src/i_basic.c:95 msgid "Zoom Box" msgstr "" #: gschem/src/i_basic.c:99 msgid "Pan Mode" msgstr "" #: gschem/src/i_basic.c:103 #, c-format msgid "Paste %d Mode" msgstr "" #: gschem/src/i_basic.c:109 msgid "Magnetic Net Mode" msgstr "" #: gschem/src/i_basic.c:111 msgid "Net Mode" msgstr "" #: gschem/src/i_basic.c:115 msgid "Bus Mode" msgstr "" #: gschem/src/i_basic.c:118 msgid "Line Mode" msgstr "" #: gschem/src/i_basic.c:121 msgid "Box Mode" msgstr "" #: gschem/src/i_basic.c:124 msgid "Picture Mode" msgstr "" #: gschem/src/i_basic.c:127 msgid "Circle Mode" msgstr "" #: gschem/src/i_basic.c:130 msgid "Arc Mode" msgstr "" #: gschem/src/i_basic.c:133 msgid "Pin Mode" msgstr "" #: gschem/src/i_basic.c:135 gschem/src/i_callbacks.c:529 #: gschem/src/i_callbacks.c:553 msgid "Copy" msgstr "" #: gschem/src/i_basic.c:137 gschem/src/i_callbacks.c:619 #: gschem/src/i_callbacks.c:643 msgid "Move" msgstr "" #: gschem/src/i_basic.c:139 gschem/src/i_callbacks.c:574 #: gschem/src/i_callbacks.c:598 msgid "Multiple Copy" msgstr "" #: gschem/src/i_basic.c:142 gschem/lib/system-gschemrc.scm:1403 msgid "Multiple Copy Mode" msgstr "Многокопирен Режим" #: gschem/src/i_basic.c:168 msgid "Show Hidden" msgstr "" #: gschem/src/i_basic.c:171 msgid "Snap Off" msgstr "" #: gschem/src/i_basic.c:173 msgid "Resnap Active" msgstr "" #: gschem/src/i_basic.c:254 gschem/src/x_window.c:498 msgid "Action" msgstr "" #: gschem/src/i_basic.c:260 gschem/src/x_dialog.c:2325 #: gschem/src/x_window.c:493 msgid "Stroke" msgstr "" #: gschem/src/i_basic.c:266 gschem/src/x_window.c:495 msgid "none" msgstr "" #: gschem/src/i_basic.c:271 msgid "Repeat/" msgstr "" #: gschem/src/i_basic.c:566 gschem/src/i_basic.c:580 msgid "OFF" msgstr "" #: gschem/src/i_basic.c:584 msgid "NONE" msgstr "" #: gschem/src/i_basic.c:589 #, c-format msgid "Grid(%s, %s)" msgstr "" #: gschem/src/i_callbacks.c:76 gschem/src/i_callbacks.c:1659 #, c-format msgid "New page created [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:124 #, c-format msgid "New Window created [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:242 msgid "Failed to Save All" msgstr "" #: gschem/src/i_callbacks.c:244 msgid "Saved All" msgstr "" #: gschem/src/i_callbacks.c:334 msgid "Closing Window\n" msgstr "" #: gschem/src/i_callbacks.c:534 gschem/src/i_callbacks.c:579 #: gschem/src/i_callbacks.c:624 msgid "Select objs first" msgstr "" #: gschem/src/i_callbacks.c:663 gschem/src/x_multiattrib.c:1549 msgid "Delete" msgstr "Изтрий" #: gschem/src/i_callbacks.c:688 msgid "Edit" msgstr "Редактирай" #: gschem/src/i_callbacks.c:703 msgid "Edit pin type" msgstr "" #: gschem/src/i_callbacks.c:722 msgid "Edit Text" msgstr "" #: gschem/src/i_callbacks.c:745 msgid "Slot" msgstr "" #: gschem/src/i_callbacks.c:762 msgid "Color" msgstr "" #: gschem/src/i_callbacks.c:799 gschem/src/i_callbacks.c:844 msgid "Rotate" msgstr "" #: gschem/src/i_callbacks.c:866 gschem/src/i_callbacks.c:891 msgid "Mirror" msgstr "" #: gschem/src/i_callbacks.c:912 gschem/src/x_dialog.c:2328 #: gschem/lib/system-gschemrc.scm:1415 msgid "Lock" msgstr "Заключване" #: gschem/src/i_callbacks.c:930 gschem/lib/system-gschemrc.scm:1416 msgid "Unlock" msgstr "Отключване" #: gschem/src/i_callbacks.c:948 gschem/src/x_dialog.c:1746 msgid "Translate" msgstr "" #: gschem/src/i_callbacks.c:951 msgid "WARNING: Do not translate with snap off!\n" msgstr "" #: gschem/src/i_callbacks.c:952 msgid "WARNING: Turning snap on and continuing with translate.\n" msgstr "" #: gschem/src/i_callbacks.c:959 msgid "WARNING: Snap grid size is not equal to 100!\n" msgstr "" #: gschem/src/i_callbacks.c:961 msgid "" "WARNING: If you are translating a symbol to the origin, the snap grid size " "should be set to 100\n" msgstr "" #: gschem/src/i_callbacks.c:992 msgid "Embed" msgstr "" #: gschem/src/i_callbacks.c:1031 msgid "Unembed" msgstr "" #: gschem/src/i_callbacks.c:1073 msgid "Update" msgstr "" #: gschem/src/i_callbacks.c:1120 msgid "ShowHidden" msgstr "" #: gschem/src/i_callbacks.c:1426 gschem/src/i_callbacks.c:1498 msgid "Pan" msgstr "" #: gschem/src/i_callbacks.c:1703 msgid "Really revert page?" msgstr "" #: gschem/src/i_callbacks.c:1773 msgid "Copy to clipboard" msgstr "" #: gschem/src/i_callbacks.c:1791 msgid "Cut to clipboard" msgstr "" #: gschem/src/i_callbacks.c:1809 msgid "Paste from clipboard" msgstr "" #: gschem/src/i_callbacks.c:1821 gschem/src/i_callbacks.c:2060 #: gschem/src/i_callbacks.c:2082 gschem/src/i_callbacks.c:2104 #: gschem/src/i_callbacks.c:2126 gschem/src/i_callbacks.c:2148 msgid "Empty buffer" msgstr "" #: gschem/src/i_callbacks.c:1866 msgid "Copy 1" msgstr "" #: gschem/src/i_callbacks.c:1885 msgid "Copy 2" msgstr "" #: gschem/src/i_callbacks.c:1904 msgid "Copy 3" msgstr "" #: gschem/src/i_callbacks.c:1923 msgid "Copy 4" msgstr "" #: gschem/src/i_callbacks.c:1942 msgid "Copy 5" msgstr "" #: gschem/src/i_callbacks.c:1961 msgid "Cut 1" msgstr "" #: gschem/src/i_callbacks.c:1980 msgid "Cut 2" msgstr "" #: gschem/src/i_callbacks.c:1999 msgid "Cut 3" msgstr "" #: gschem/src/i_callbacks.c:2018 msgid "Cut 4" msgstr "" #: gschem/src/i_callbacks.c:2037 msgid "Cut 5" msgstr "" #: gschem/src/i_callbacks.c:2053 msgid "Paste 1" msgstr "" #: gschem/src/i_callbacks.c:2075 msgid "Paste 2" msgstr "" #: gschem/src/i_callbacks.c:2097 msgid "Paste 3" msgstr "" #: gschem/src/i_callbacks.c:2119 msgid "Paste 4" msgstr "" #: gschem/src/i_callbacks.c:2141 msgid "Paste 5" msgstr "" #: gschem/src/i_callbacks.c:2278 gschem/src/x_window.c:359 msgid "Component" msgstr "" #: gschem/src/i_callbacks.c:2314 gschem/src/i_callbacks.c:2333 #: gschem/src/x_dialog.c:2298 msgid "Attribute" msgstr "" #: gschem/src/i_callbacks.c:2355 gschem/src/i_callbacks.c:2382 #: gschem/src/x_dialog.c:2295 msgid "Net" msgstr "" #: gschem/src/i_callbacks.c:2426 gschem/src/i_callbacks.c:2453 #: gschem/src/x_dialog.c:2313 gschem/src/x_window.c:379 msgid "Bus" msgstr "" #: gschem/src/i_callbacks.c:2534 gschem/src/i_callbacks.c:2557 msgid "Line" msgstr "" #: gschem/src/i_callbacks.c:2579 gschem/src/i_callbacks.c:2602 msgid "Box" msgstr "" #: gschem/src/i_callbacks.c:2658 gschem/src/i_callbacks.c:2682 msgid "Circle" msgstr "" #: gschem/src/i_callbacks.c:2704 gschem/src/i_callbacks.c:2727 msgid "Arc" msgstr "" #: gschem/src/i_callbacks.c:2749 gschem/src/i_callbacks.c:2772 #: gschem/src/x_dialog.c:2286 msgid "Pin" msgstr "" #: gschem/src/i_callbacks.c:2831 #, c-format msgid "Searching for source [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:2855 #, c-format msgid "Cannot find source [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:2918 #, c-format msgid "Searching for symbol [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:2924 msgid "Symbol is not a real file. Symbol cannot be loaded.\n" msgstr "" #: gschem/src/i_callbacks.c:2955 msgid "Cannot find any schematics above the current one!\n" msgstr "" #: gschem/src/i_callbacks.c:2985 msgid "Attach" msgstr "" #: gschem/src/i_callbacks.c:3041 msgid "Detach" msgstr "" #: gschem/src/i_callbacks.c:3085 msgid "ShowN" msgstr "" #: gschem/src/i_callbacks.c:3122 msgid "ShowV" msgstr "" #: gschem/src/i_callbacks.c:3159 msgid "ShowB" msgstr "" #: gschem/src/i_callbacks.c:3197 msgid "VisToggle" msgstr "" #: gschem/src/i_callbacks.c:3228 #, c-format msgid "Sorry but this is a non-functioning menu option\n" msgstr "" #: gschem/src/i_callbacks.c:3318 msgid "Action feedback mode set to OUTLINE\n" msgstr "" #: gschem/src/i_callbacks.c:3321 msgid "Action feedback mode set to BOUNDINGBOX\n" msgstr "" #: gschem/src/i_callbacks.c:3346 msgid "Grid OFF\n" msgstr "" #: gschem/src/i_callbacks.c:3347 msgid "Dot grid selected\n" msgstr "" #: gschem/src/i_callbacks.c:3348 msgid "Mesh grid selected\n" msgstr "" #: gschem/src/i_callbacks.c:3369 msgid "Snap OFF (CAUTION!)\n" msgstr "" #: gschem/src/i_callbacks.c:3372 msgid "Snap ON\n" msgstr "" #: gschem/src/i_callbacks.c:3375 msgid "Snap back to the grid (CAUTION!)\n" msgstr "" #: gschem/src/i_callbacks.c:3401 msgid "Rubber band OFF \n" msgstr "" #: gschem/src/i_callbacks.c:3404 msgid "Rubber band ON\n" msgstr "" #: gschem/src/i_callbacks.c:3419 msgid "magnetic net mode: ON\n" msgstr "" #: gschem/src/i_callbacks.c:3422 msgid "magnetic net mode: OFF\n" msgstr "" #: gschem/src/o_box.c:292 #, c-format msgid "Unknown type for box (fill)!\n" msgstr "" #: gschem/src/o_buffer.c:54 #, c-format msgid "o_buffer_copy: Invalid buffer %i\n" msgstr "" #: gschem/src/o_buffer.c:69 #, c-format msgid "o_buffer_cut: Invalid buffer %i\n" msgstr "" #: gschem/src/o_buffer.c:90 #, c-format msgid "Got an invalid buffer_number [o_buffer_paste_start]\n" msgstr "" #: gschem/src/o_bus.c:117 #, c-format msgid "Got an invalid which one in o_bus_draw_stretch\n" msgstr "" #: gschem/src/o_circle.c:284 #, c-format msgid "Unknown type for circle (fill)!\n" msgstr "" #: gschem/src/o_complex.c:223 gschem/src/o_complex.c:227 #, c-format msgid "Translating schematic [%d %d]\n" msgstr "" #: gschem/src/o_misc.c:61 #, c-format msgid "Got an unexpected NULL in o_edit\n" msgstr "" #: gschem/src/o_misc.c:125 msgid "Object already locked\n" msgstr "" #: gschem/src/o_misc.c:163 msgid "Object already unlocked\n" msgstr "" #: gschem/src/o_misc.c:339 msgid "Hidden text is now visible\n" msgstr "" #: gschem/src/o_misc.c:341 msgid "Hidden text is now invisible\n" msgstr "" #: gschem/src/o_misc.c:568 #, c-format msgid "Could not find symbol [%s] in library. Update failed.\n" msgstr "" #: gschem/src/o_misc.c:683 #, c-format msgid "o_autosave_backups: Can't get the real filename of %s." msgstr "" #: gschem/src/o_misc.c:727 #, c-format msgid "Could NOT set previous backup file [%s] read-write\n" msgstr "" #: gschem/src/o_misc.c:747 #, c-format msgid "Could NOT set backup file [%s] readonly\n" msgstr "" #: gschem/src/o_misc.c:752 #, c-format msgid "Could NOT save backup file [%s]\n" msgstr "" #: gschem/src/o_move.c:174 #, c-format msgid "ERROR: NULL object in o_move_end!\n" msgstr "" #: gschem/src/o_move.c:431 #, c-format msgid "DOH! tried to find the whichone, but didn't find it!\n" msgstr "" #: gschem/src/o_move.c:453 #, c-format msgid "Got a non line object in o_move_check_endpoint\n" msgstr "" #: gschem/src/o_net.c:158 #, c-format msgid "Got an invalid which one in o_net_draw_stretch\n" msgstr "" #: gschem/src/o_net.c:537 msgid "Warning: Starting net at off grid coordinate\n" msgstr "" #: gschem/src/o_net.c:602 msgid "Warning: Ending net at off grid coordinate\n" msgstr "" #: gschem/src/o_net.c:944 gschem/src/o_net.c:981 gschem/src/o_net.c:1052 #: gschem/src/o_net.c:1088 #, c-format msgid "Tried to add more than two bus rippers. Internal gschem error.\n" msgstr "" #: gschem/src/o_net.c:1156 #, c-format msgid "Bus ripper symbol [%s] was not found in any component library\n" msgstr "" #: gschem/src/o_path.c:340 #, c-format msgid "Unknown type for path (fill)!\n" msgstr "" #: gschem/src/o_picture.c:166 #, c-format msgid "Failed to load picture: %s" msgstr "" #: gschem/src/o_picture.c:180 msgid "Picture" msgstr "" #: gschem/src/o_picture.c:544 #, c-format msgid "Failed to replace pictures: %s" msgstr "" #: gschem/src/o_slot.c:81 msgid "Slot attribute malformed\n" msgstr "" #: gschem/src/o_slot.c:89 msgid "numslots attribute missing\n" msgstr "" #: gschem/src/o_slot.c:90 msgid "Slotting not allowed for this component\n" msgstr "" #: gschem/src/o_slot.c:105 msgid "New slot number out of range\n" msgstr "" #: gschem/src/o_undo.c:307 msgid "Undo/Redo disabled in rc file\n" msgstr "" #: gschem/src/parsecmd.c:82 #, c-format msgid "" "Usage: %s [OPTION ...] [--] [FILE ...]\n" "\n" "Interactively edit gEDA schematics or symbols. If one or more FILEs\n" "are specified, open them for editing; otherwise, create a new, empty\n" "schematic.\n" "\n" "Options:\n" " -q, --quiet Quiet mode.\n" " -v, --verbose Verbose mode.\n" " -r, --config-file=FILE Additional configuration file to load.\n" " -L DIR Add DIR to Scheme search path.\n" " -c EXPR Scheme expression to run at startup.\n" " -s FILE Scheme script to run at startup.\n" " -o, --output=FILE Output filename (for printing).\n" " -p Automatically place the window.\n" " -V, --version Show version information.\n" " -h, --help Help; this message.\n" " -- Treat all remaining arguments as filenames.\n" "\n" "Report bugs at \n" "gEDA/gaf homepage: \n" msgstr "" #: gschem/src/parsecmd.c:116 #, c-format msgid "" "gEDA %s (g%.7s)\n" "Copyright (C) 1998-2012 gEDA developers\n" "This is free software, and you are welcome to redistribute it under\n" "certain conditions. For details, see the file `COPYING', which is\n" "included in the gEDA distribution.\n" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" #: gschem/src/x_attribedit.c:127 #, c-format msgid "Got invalid show option; defaulting to show both\n" msgstr "" #: gschem/src/x_attribedit.c:141 #, c-format msgid "ERROR: NULL object!\n" msgstr "" #: gschem/src/x_attribedit.c:329 msgid "Single Attribute Editor" msgstr "" #: gschem/src/x_attribedit.c:359 msgid "Edit Attribute" msgstr "" #: gschem/src/x_attribedit.c:361 msgid "Add Attribute" msgstr "" #: gschem/src/x_attribedit.c:377 gschem/src/x_multiattrib.c:1973 msgid "Name:" msgstr "" #: gschem/src/x_attribedit.c:394 gschem/src/x_multiattrib.c:1992 msgid "Value:" msgstr "" #: gschem/src/x_attribedit.c:410 gschem/src/x_multiattrib.c:2038 msgid "Visible" msgstr "" #: gschem/src/x_attribedit.c:430 msgid "Show Value Only" msgstr "" #: gschem/src/x_attribedit.c:432 msgid "Show Name Only" msgstr "" #: gschem/src/x_attribedit.c:434 gschem/src/x_multiattrib.c:1512 msgid "Show Name & Value" msgstr "" #: gschem/src/x_attribedit.c:441 msgid "Attach Options" msgstr "" #: gschem/src/x_attribedit.c:456 msgid "All" msgstr "" #: gschem/src/x_attribedit.c:464 gschem/src/x_compselect.c:922 #: gschem/src/x_compselect.c:1036 msgid "Components" msgstr "" #: gschem/src/x_attribedit.c:472 gschem/src/x_window.c:369 msgid "Nets" msgstr "" #: gschem/src/x_attribedit.c:480 msgid "Replace existing attributes" msgstr "" #: gschem/src/x_autonumber.c:415 msgid "" "slotted object without slot attribute may cause problems when autonumbering " "slots\n" msgstr "" #: gschem/src/x_autonumber.c:430 #, c-format msgid "" "duplicate slot may cause problems: [symbolname=%s, number=%d, slot=%d]\n" msgstr "" #: gschem/src/x_autonumber.c:672 msgid "No searchstring given in autonumber text.\n" msgstr "" #: gschem/src/x_autonumber.c:724 msgid "No '*' or '?' given at the end of the autonumber text.\n" msgstr "" #: gschem/src/x_autonumber.c:859 msgid "Diagonal" msgstr "" #: gschem/src/x_autonumber.c:860 msgid "Top to bottom" msgstr "" #: gschem/src/x_autonumber.c:860 msgid "Bottom to top" msgstr "" #: gschem/src/x_autonumber.c:861 msgid "Left to right" msgstr "" #: gschem/src/x_autonumber.c:861 msgid "Right to left" msgstr "" #: gschem/src/x_autonumber.c:862 msgid "File order" msgstr "" #: gschem/src/x_autonumber.c:1198 msgid "Autonumber text" msgstr "" #: gschem/src/x_autonumber.c:1222 msgid "Scope" msgstr "" #: gschem/src/x_autonumber.c:1244 msgid "Search for:" msgstr "" #: gschem/src/x_autonumber.c:1258 msgid "Autonumber text in:" msgstr "" #: gschem/src/x_autonumber.c:1265 msgid "Skip numbers found in:" msgstr "" #: gschem/src/x_autonumber.c:1277 gschem/src/x_autonumber.c:1286 msgid "Selected objects" msgstr "" #: gschem/src/x_autonumber.c:1278 gschem/src/x_autonumber.c:1287 msgid "Current page" msgstr "" #: gschem/src/x_autonumber.c:1279 gschem/src/x_autonumber.c:1288 msgid "Whole hierarchy" msgstr "" #: gschem/src/x_autonumber.c:1290 msgid "Overwrite existing numbers" msgstr "" #: gschem/src/x_autonumber.c:1295 msgid "Options" msgstr "" #: gschem/src/x_autonumber.c:1317 msgid "Starting number:" msgstr "" #: gschem/src/x_autonumber.c:1324 msgid "Sort order:" msgstr "" #: gschem/src/x_autonumber.c:1345 msgid "Remove numbers" msgstr "" #: gschem/src/x_autonumber.c:1349 msgid "Automatic slotting" msgstr "" #: gschem/src/x_clipboard.c:249 #, c-format msgid "" "Invalid schematic on clipboard.\n" "\n" "An error occurred while inserting clipboard data: %s." msgstr "" #: gschem/src/x_clipboard.c:251 msgid "Clipboard insertion failed" msgstr "" #: gschem/src/x_color.c:94 gschem/src/x_color.c:103 #, c-format msgid "Could not allocate the color %s!\n" msgstr "" #: gschem/src/x_color.c:94 msgid "black" msgstr "" #: gschem/src/x_color.c:103 msgid "white" msgstr "" #: gschem/src/x_color.c:125 #, c-format msgid "Could not allocate display color %i!\n" msgstr "" #: gschem/src/x_color.c:147 #, c-format msgid "Could not allocate outline color %i!\n" msgstr "" #: gschem/src/x_color.c:164 gschem/src/x_color.c:181 gschem/src/x_color.c:197 #, c-format msgid "Tried to get an invalid color: %d\n" msgstr "" #: gschem/src/x_color.c:214 #, c-format msgid "Tried to get an invalid outline color: %d\n" msgstr "" #: gschem/src/x_compselect.c:1066 msgid "Filter:" msgstr "" #: gschem/src/x_compselect.c:1169 gschem/src/x_dialog.c:3653 #: gschem/src/x_multiattrib.c:1839 msgid "Name" msgstr "" #: gschem/src/x_compselect.c:1178 gschem/src/x_multiattrib.c:1863 msgid "Value" msgstr "" #: gschem/src/x_compselect.c:1217 msgid "Default behavior - reference component" msgstr "" #: gschem/src/x_compselect.c:1220 msgid "Embed component in schematic" msgstr "" #: gschem/src/x_compselect.c:1223 msgid "Include component as individual objects" msgstr "" #: gschem/src/x_compselect.c:1380 msgid "Select Component..." msgstr "" #: gschem/src/x_compselect.c:1403 msgid "In Use" msgstr "" #: gschem/src/x_compselect.c:1407 msgid "Libraries" msgstr "" #: gschem/src/x_compselect.c:1416 gschem/src/x_fileselect.c:122 msgid "Preview" msgstr "" #: gschem/src/x_compselect.c:1444 msgid "Attributes" msgstr "" #: gschem/src/x_dialog.c:176 msgid "Text Entry..." msgstr "" #: gschem/src/x_dialog.c:207 msgid "" "Enter text, click apply,\n" "move cursor into window, click to place text.\n" "Middle button to rotate while placing." msgstr "" #: gschem/src/x_dialog.c:301 msgid "Upper Left" msgstr "" #: gschem/src/x_dialog.c:304 msgid "Upper Middle" msgstr "" #: gschem/src/x_dialog.c:307 msgid "Upper Right" msgstr "" #: gschem/src/x_dialog.c:311 msgid "Middle Left" msgstr "" #: gschem/src/x_dialog.c:314 msgid "Middle Middle" msgstr "" #: gschem/src/x_dialog.c:317 msgid "Middle Right" msgstr "" #: gschem/src/x_dialog.c:321 msgid "Lower Left" msgstr "" #: gschem/src/x_dialog.c:324 msgid "Lower Middle" msgstr "" #: gschem/src/x_dialog.c:327 msgid "Lower Right" msgstr "" #: gschem/src/x_dialog.c:438 msgid "Edit Text Properties" msgstr "" #: gschem/src/x_dialog.c:473 msgid "Text Content" msgstr "" #: gschem/src/x_dialog.c:509 msgid "Text Properties" msgstr "" #: gschem/src/x_dialog.c:524 msgid "Color:" msgstr "" #: gschem/src/x_dialog.c:531 msgid "Size:" msgstr "" #: gschem/src/x_dialog.c:540 msgid "Alignment:" msgstr "" #: gschem/src/x_dialog.c:589 msgid "Solid" msgstr "" #: gschem/src/x_dialog.c:590 msgid "Dotted" msgstr "" #: gschem/src/x_dialog.c:591 msgid "Dashed" msgstr "" #: gschem/src/x_dialog.c:592 msgid "Center" msgstr "" #: gschem/src/x_dialog.c:593 msgid "Phantom" msgstr "" #: gschem/src/x_dialog.c:594 gschem/src/x_dialog.c:691 #: gschem/src/x_dialog.c:700 gschem/src/x_dialog.c:709 #: gschem/src/x_dialog.c:810 gschem/src/x_dialog.c:813 #: gschem/src/x_dialog.c:816 gschem/src/x_dialog.c:1043 #: gschem/src/x_dialog.c:1146 gschem/src/x_dialog.c:1155 #: gschem/src/x_dialog.c:1164 gschem/src/x_dialog.c:1173 #: gschem/src/x_dialog.c:1182 gschem/src/x_dialog.c:1295 #: gschem/src/x_dialog.c:1298 gschem/src/x_dialog.c:1301 #: gschem/src/x_dialog.c:1304 gschem/src/x_dialog.c:1307 msgid "*unchanged*" msgstr "" #: gschem/src/x_dialog.c:921 msgid "Edit Line Width & Type" msgstr "" #: gschem/src/x_dialog.c:960 gschem/src/x_print.c:307 msgid "Type:" msgstr "" #: gschem/src/x_dialog.c:964 msgid "Width:" msgstr "" #: gschem/src/x_dialog.c:968 msgid "Dash Length:" msgstr "" #: gschem/src/x_dialog.c:972 msgid "Dash Space:" msgstr "" #: gschem/src/x_dialog.c:1039 msgid "Hollow" msgstr "" #: gschem/src/x_dialog.c:1040 msgid "Filled" msgstr "" #: gschem/src/x_dialog.c:1041 msgid "Mesh" msgstr "" #: gschem/src/x_dialog.c:1042 msgid "Hatch" msgstr "" #: gschem/src/x_dialog.c:1416 msgid "Edit Fill Type" msgstr "" #: gschem/src/x_dialog.c:1455 msgid "Fill Type:" msgstr "" #: gschem/src/x_dialog.c:1459 msgid "Line Width:" msgstr "" #: gschem/src/x_dialog.c:1463 msgid "Angle 1:" msgstr "" #: gschem/src/x_dialog.c:1467 msgid "Pitch 1:" msgstr "" #: gschem/src/x_dialog.c:1471 msgid "Angle 2:" msgstr "" #: gschem/src/x_dialog.c:1475 msgid "Pitch 2:" msgstr "" #: gschem/src/x_dialog.c:1602 msgid "Arc Params" msgstr "" #: gschem/src/x_dialog.c:1643 msgid "Arc Radius:" msgstr "" #: gschem/src/x_dialog.c:1651 msgid "Start Angle:" msgstr "" #: gschem/src/x_dialog.c:1659 msgid "Degrees of Sweep:" msgstr "" #: gschem/src/x_dialog.c:1777 msgid "" "Offset to translate?\n" "(0 for origin)" msgstr "" #: gschem/src/x_dialog.c:1845 msgid "Text Size" msgstr "" #: gschem/src/x_dialog.c:1875 msgid "Enter new text size:" msgstr "" #: gschem/src/x_dialog.c:1951 msgid "Snap Size" msgstr "" #: gschem/src/x_dialog.c:1981 msgid "Enter new snap grid spacing:" msgstr "" #: gschem/src/x_dialog.c:2058 msgid "Edit slot number" msgstr "" #: gschem/src/x_dialog.c:2089 msgid "Edit slot number:" msgstr "" #: gschem/src/x_dialog.c:2130 #, c-format msgid "%s (g%.7s)" msgstr "" #: gschem/src/x_dialog.c:2151 msgid "About gschem" msgstr "" #: gschem/src/x_dialog.c:2152 msgid "gEDA: GPL Electronic Design Automation" msgstr "" #. TRANSLATORS: "ChangeLog" is a literal filename; please don't translate it. #: gschem/src/x_dialog.c:2155 msgid "" "Copyright © 1998-2012 Ales Hvezda \n" "Copyright © 1998-2012 gEDA Contributors (see ChangeLog for details)" msgstr "" #: gschem/src/x_dialog.c:2214 msgid "Coords" msgstr "" #: gschem/src/x_dialog.c:2235 msgid "Screen" msgstr "" #: gschem/src/x_dialog.c:2244 msgid "World" msgstr "" #: gschem/src/x_dialog.c:2283 msgid "Background" msgstr "" #: gschem/src/x_dialog.c:2289 msgid "Net endpoint" msgstr "" #: gschem/src/x_dialog.c:2292 msgid "Graphic" msgstr "" #: gschem/src/x_dialog.c:2301 msgid "Logic bubble" msgstr "" #: gschem/src/x_dialog.c:2304 msgid "Grid point" msgstr "" #: gschem/src/x_dialog.c:2307 msgid "Detached attribute" msgstr "" #: gschem/src/x_dialog.c:2310 gschem/src/x_window.c:387 msgid "Text" msgstr "" #: gschem/src/x_dialog.c:2316 msgid "Selection" msgstr "" #: gschem/src/x_dialog.c:2319 msgid "Bounding box" msgstr "" #: gschem/src/x_dialog.c:2322 msgid "Zoom box" msgstr "" #: gschem/src/x_dialog.c:2331 msgid "Output background" msgstr "" #: gschem/src/x_dialog.c:2334 msgid "Net junction" msgstr "" #: gschem/src/x_dialog.c:2337 msgid "Mesh grid major" msgstr "" #: gschem/src/x_dialog.c:2340 msgid "Mesh grid minor" msgstr "" #: gschem/src/x_dialog.c:2343 msgid "Unknown" msgstr "" #: gschem/src/x_dialog.c:2494 #, c-format msgid "ERROR: NULL object in color_edit_dialog_apply!\n" msgstr "" #: gschem/src/x_dialog.c:2538 msgid "Color Edit" msgstr "" #: gschem/src/x_dialog.c:2569 msgid "Object color:" msgstr "" #: gschem/src/x_dialog.c:2622 msgid "Hotkeys" msgstr "" #: gschem/src/x_dialog.c:2662 msgid "Function" msgstr "" #: gschem/src/x_dialog.c:2669 msgid "Keystroke(s)" msgstr "" #: gschem/src/x_dialog.c:2977 msgid "Find Text" msgstr "" #: gschem/src/x_dialog.c:3008 msgid "Text to find:" msgstr "" #: gschem/src/x_dialog.c:3018 msgid "descend into hierarchy" msgstr "" #: gschem/src/x_dialog.c:3084 msgid "Hide Text" msgstr "" #: gschem/src/x_dialog.c:3115 msgid "Hide text starting with:" msgstr "" #: gschem/src/x_dialog.c:3185 msgid "Show Text" msgstr "" #: gschem/src/x_dialog.c:3216 msgid "Show text starting with:" msgstr "" #: gschem/src/x_dialog.c:3675 msgid "S_elect the schematics you want to save:" msgstr "" #: gschem/src/x_dialog.c:3770 #, c-format msgid "Save the changes to schematic \"%s\" before closing?" msgstr "" #: gschem/src/x_dialog.c:3776 #, c-format msgid "" "There are %d schematics with unsaved changes. Save changes before closing?" msgstr "" #: gschem/src/x_dialog.c:3805 msgid "If you don't save, all your changes will be permanently lost." msgstr "" #: gschem/src/x_dialog.c:3825 msgid "_Close without saving" msgstr "" #: gschem/src/x_dialog.c:4161 #, c-format msgid "" "The input attribute \"%s\" is invalid\n" "Please correct in order to continue\n" "\n" "The name and value must be non-empty.\n" "The name cannot end with a space.\n" "The value cannot start with a space." msgstr "" #: gschem/src/x_dialog.c:4163 msgid "Invalid Attribute" msgstr "" #: gschem/src/x_dialog.c:4199 msgid "Pin type" msgstr "" #: gschem/src/x_dialog.c:4223 msgid "Net pin" msgstr "" #: gschem/src/x_dialog.c:4225 msgid "Bus pin (graphical)" msgstr "" #: gschem/src/x_fileselect.c:42 msgid "Schematics" msgstr "" #: gschem/src/x_fileselect.c:47 msgid "Symbols" msgstr "" #: gschem/src/x_fileselect.c:52 msgid "Schematics and symbols" msgstr "" #: gschem/src/x_fileselect.c:58 msgid "All files" msgstr "" #: gschem/src/x_fileselect.c:171 msgid "Open..." msgstr "" #: gschem/src/x_fileselect.c:231 msgid "Save as..." msgstr "" #: gschem/src/x_fileselect.c:284 #, c-format msgid "" "The selected file `%s' already exists.\n" "\n" "Would you like to overwrite it?" msgstr "" #: gschem/src/x_fileselect.c:287 msgid "Overwrite file?" msgstr "" #: gschem/src/x_fileselect.c:289 msgid "Save cancelled on user request\n" msgstr "" #: gschem/src/x_image.c:176 msgid "Encapsulated Postscript" msgstr "" #: gschem/src/x_image.c:296 #, c-format msgid "x_image_lowlevel: Unable to write eps file %s.\n" msgstr "" #: gschem/src/x_image.c:374 #, c-format msgid "x_image_lowlevel: Unable to write %s file %s.\n" msgstr "" #: gschem/src/x_image.c:384 #, c-format msgid "" "There was the following error when saving image with type %s to filename:\n" "%s\n" "\n" "%s.\n" msgstr "" #: gschem/src/x_image.c:403 #, c-format msgid "Wrote color image to [%s] [%d x %d]\n" msgstr "" #: gschem/src/x_image.c:405 #, c-format msgid "Wrote black and white image to [%s] [%d x %d]\n" msgstr "" #: gschem/src/x_image.c:413 msgid "x_image_lowlevel: Unable to get pixbuf from gschem's window.\n" msgstr "" #: gschem/src/x_image.c:458 msgid "Width x Height" msgstr "" #: gschem/src/x_image.c:474 msgid "Image type" msgstr "" #: gschem/src/x_image.c:495 msgid "Write image..." msgstr "Запиши Снимката..." #: gschem/src/x_log.c:209 msgid "** Invalid UTF-8 in log message. See stderr or gschem.log.\n" msgstr "" #: gschem/src/x_log.c:288 msgid "Status" msgstr "" #: gschem/src/x_menus.c:37 msgid "/Add Net" msgstr "" #: gschem/src/x_menus.c:38 msgid "/Add Attribute..." msgstr "" #: gschem/src/x_menus.c:39 msgid "/Add Component..." msgstr "" #: gschem/src/x_menus.c:40 msgid "/Add Bus" msgstr "" #: gschem/src/x_menus.c:41 msgid "/Add Text" msgstr "" #: gschem/src/x_menus.c:43 msgid "/Zoom In" msgstr "" #: gschem/src/x_menus.c:44 msgid "/Zoom Out" msgstr "" #: gschem/src/x_menus.c:45 msgid "/Zoom Box" msgstr "" #: gschem/src/x_menus.c:46 msgid "/Zoom Extents" msgstr "" #: gschem/src/x_menus.c:48 msgid "/Select" msgstr "" #: gschem/src/x_menus.c:49 msgid "/Edit..." msgstr "" #: gschem/src/x_menus.c:50 msgid "/Edit pin type..." msgstr "" #: gschem/src/x_menus.c:51 msgid "/Copy" msgstr "" #: gschem/src/x_menus.c:52 msgid "/Move" msgstr "" #: gschem/src/x_menus.c:53 msgid "/Delete" msgstr "" #: gschem/src/x_menus.c:56 msgid "/Down Schematic" msgstr "" #: gschem/src/x_menus.c:57 msgid "/Down Symbol" msgstr "" #: gschem/src/x_menus.c:58 msgid "/Up" msgstr "" #: gschem/src/x_menus.c:348 #, c-format msgid "Tried to set the sensitivity on non-existent menu item '%s'\n" msgstr "" #: gschem/src/x_menus.c:372 msgid "Popup_menu_item_factory doesn't exist!\n" msgstr "" #: gschem/src/x_menus.c:385 msgid "Tried to set the sensitivity on a non-existent popup menu_item\n" msgstr "" #: gschem/src/x_misc.c:74 msgid "The operating system is out of memory or resources." msgstr "" #: gschem/src/x_misc.c:155 #, c-format msgid "%s failed to launch URI" msgstr "" #: gschem/src/x_multiattrib.c:961 msgid "Attributes with empty name are not allowed. Please set a name." msgstr "" #: gschem/src/x_multiattrib.c:1514 msgid "Show Value only" msgstr "" #: gschem/src/x_multiattrib.c:1516 msgid "Show Name only" msgstr "" #: gschem/src/x_multiattrib.c:1544 msgid "Promote" msgstr "" #: gschem/src/x_multiattrib.c:1548 msgid "Duplicate" msgstr "" #: gschem/src/x_multiattrib.c:1765 msgid "Edit Attributes" msgstr "" #: gschem/src/x_multiattrib.c:1883 msgid "Vis?" msgstr "" #: gschem/src/x_multiattrib.c:1901 msgid "N" msgstr "" #: gschem/src/x_multiattrib.c:1919 msgid "V" msgstr "" #: gschem/src/x_multiattrib.c:1941 msgid "Show inherited attributes" msgstr "" #: gschem/src/x_multiattrib.c:1957 msgid "Add Attribute" msgstr "" #: gschem/src/x_pagesel.c:246 msgid "New Page" msgstr "Нова Страница" #: gschem/src/x_pagesel.c:247 msgid "Open Page..." msgstr "Отвори Страница..." #: gschem/src/x_pagesel.c:249 msgid "Save Page" msgstr "Съхрани Страницата" #: gschem/src/x_pagesel.c:250 msgid "Close Page" msgstr "Затвори Страницата" #: gschem/src/x_pagesel.c:251 msgid "Discard Page" msgstr "" #: gschem/src/x_pagesel.c:369 msgid "Page Manager" msgstr "" #: gschem/src/x_pagesel.c:425 msgid "Filename" msgstr "" #: gschem/src/x_pagesel.c:441 msgid "Changed" msgstr "" #: gschem/src/x_pagesel.c:461 msgid "Right click on the filename for more options..." msgstr "" #: gschem/src/x_preview.c:231 msgid "Preview Buffer" msgstr "" #: gschem/src/x_print.c:84 msgid "Select PostScript Filename..." msgstr "" #: gschem/src/x_print.c:164 msgid "Extents with margins" msgstr "" #: gschem/src/x_print.c:170 msgid "Extents no margins" msgstr "" #: gschem/src/x_print.c:176 msgid "Current Window" msgstr "" #: gschem/src/x_print.c:210 msgid "Landscape" msgstr "" #: gschem/src/x_print.c:216 msgid "Portrait" msgstr "" #: gschem/src/x_print.c:276 msgid "Print..." msgstr "Принтирай..." #: gschem/src/x_print.c:284 msgid "Settings" msgstr "" #: gschem/src/x_print.c:296 msgid "Output paper size:" msgstr "" #: gschem/src/x_print.c:318 msgid "Orientation:" msgstr "" #: gschem/src/x_print.c:330 msgid "Destination" msgstr "" #: gschem/src/x_print.c:343 msgid "File:" msgstr "" #: gschem/src/x_print.c:373 msgid "Command:" msgstr "" #: gschem/src/x_print.c:745 msgid "No print destination specified\n" msgstr "" #: gschem/src/x_print.c:752 #, c-format msgid "Cannot print current schematic to [%s]\n" msgstr "" #: gschem/src/x_print.c:761 #, c-format msgid "" "Error printing to file '%s'\n" "Check the log window for more information" msgstr "" #: gschem/src/x_print.c:768 #, c-format msgid "Printed current schematic to [%s]\n" msgstr "" #: gschem/src/x_rc.c:40 msgid "ERROR: An unknown error occurred while parsing configuration files.\n" msgstr "" #: gschem/src/x_rc.c:45 msgid "" "An unknown error occurred while parsing configuration files.\n" "\n" "The gschem log may contain more information." msgstr "" #: gschem/src/x_rc.c:57 #, c-format msgid "ERROR: %s\n" msgstr "" #: gschem/src/x_rc.c:60 #, c-format msgid "" "%s\n" "\n" "The gschem log may contain more information." msgstr "" #: gschem/src/x_rc.c:68 msgid "Cannot load gschem configuration." msgstr "" #: gschem/src/x_script.c:47 gschem/lib/system-gschemrc.scm:1381 msgid "Execute Script..." msgstr "Изпълни Скрипт" #: gschem/src/x_script.c:66 #, c-format msgid "Executing guile script [%s]\n" msgstr "" #: gschem/src/x_window.c:82 #, c-format msgid "Couldn't allocate gc\n" msgstr "" #: gschem/src/x_window.c:321 msgid "New" msgstr "" #: gschem/src/x_window.c:322 msgid "New file" msgstr "" #: gschem/src/x_window.c:328 msgid "Open" msgstr "" #: gschem/src/x_window.c:329 msgid "Open file..." msgstr "" #: gschem/src/x_window.c:335 msgid "Save" msgstr "" #: gschem/src/x_window.c:336 msgid "Save file" msgstr "" #: gschem/src/x_window.c:343 msgid "Undo" msgstr "Върни" #: gschem/src/x_window.c:344 msgid "Undo last operation" msgstr "" #: gschem/src/x_window.c:350 msgid "Redo" msgstr "Направи отново" #: gschem/src/x_window.c:351 msgid "Redo last undo" msgstr "" #: gschem/src/x_window.c:360 msgid "" "Add component...\n" "Select library and component from list, move the mouse into main window, " "click to place\n" "Right mouse button to cancel" msgstr "" #: gschem/src/x_window.c:370 msgid "" "Add nets mode\n" "Right mouse button to cancel" msgstr "" #: gschem/src/x_window.c:380 msgid "" "Add buses mode\n" "Right mouse button to cancel" msgstr "" #: gschem/src/x_window.c:388 msgid "Add Text..." msgstr "" #: gschem/src/x_window.c:398 msgid "Select" msgstr "" #: gschem/src/x_window.c:399 msgid "Select mode" msgstr "" #: gschem/src/x_window.c:465 msgid "Evaluate:" msgstr "" #: gschem/src/x_window.c:484 msgid "Pick" msgstr "" #: gschem/src/x_window.c:500 msgid "Repeat/none" msgstr "" #: gschem/src/x_window.c:510 msgid "Menu/Cancel" msgstr "" #: gschem/src/x_window.c:512 msgid "Pan/Cancel" msgstr "" #: gschem/src/x_window.c:737 #, c-format msgid "Loading schematic [%s]\n" msgstr "" #: gschem/src/x_window.c:748 #, c-format msgid "" "An error occurred while loading the requested file.\n" "\n" "Loading from '%s' failed: %s. The gschem log may contain more information." msgstr "" #: gschem/src/x_window.c:750 msgid "Failed to load file" msgstr "" #: gschem/src/x_window.c:759 #, c-format msgid "New file [%s]\n" msgstr "" #: gschem/src/x_window.c:862 #, c-format msgid "Could NOT save page [%s]\n" msgstr "" #: gschem/src/x_window.c:863 msgid "Error while trying to save" msgstr "" #: gschem/src/x_window.c:873 msgid "Failed to save file" msgstr "" #: gschem/src/x_window.c:884 #, c-format msgid "Saved as [%s]\n" msgstr "" #: gschem/src/x_window.c:886 #, c-format msgid "Saved [%s]\n" msgstr "" #: gschem/src/x_window.c:888 msgid "Saved" msgstr "" #: gschem/src/x_window.c:962 #, c-format msgid "Discarding page [%s]\n" msgstr "" #: gschem/src/x_window.c:962 #, c-format msgid "Closing [%s]\n" msgstr "" #: gschem/data/geda-gschem.desktop.in:3 msgid "gEDA Schematic Editor" msgstr "" #: gschem/data/geda-gschem.desktop.in:4 msgid "Create and edit electrical schematics and symbols with gschem" msgstr "" #: gschem/lib/system-gschemrc.scm:1368 msgid "_New" msgstr "" #: gschem/lib/system-gschemrc.scm:1369 msgid "_Open..." msgstr "" #: gschem/lib/system-gschemrc.scm:1371 msgid "Open Recen_t" msgstr "" #: gschem/lib/system-gschemrc.scm:1373 msgid "_Save" msgstr "" #: gschem/lib/system-gschemrc.scm:1374 msgid "Save _As..." msgstr "" #: gschem/lib/system-gschemrc.scm:1375 msgid "Save All" msgstr "Съхрани Всичко" #: gschem/lib/system-gschemrc.scm:1376 gschem/lib/system-gschemrc.scm:1469 msgid "_Revert" msgstr "" #: gschem/lib/system-gschemrc.scm:1378 msgid "_Print..." msgstr "" #: gschem/lib/system-gschemrc.scm:1379 msgid "Write _image..." msgstr "" #: gschem/lib/system-gschemrc.scm:1383 msgid "New Window" msgstr "Нов Прозорец" #: gschem/lib/system-gschemrc.scm:1384 msgid "_Close Window" msgstr "" #: gschem/lib/system-gschemrc.scm:1385 msgid "_Quit" msgstr "" #: gschem/lib/system-gschemrc.scm:1391 msgid "_Undo" msgstr "" #: gschem/lib/system-gschemrc.scm:1392 msgid "_Redo" msgstr "" #: gschem/lib/system-gschemrc.scm:1394 msgid "Cu_t" msgstr "" #: gschem/lib/system-gschemrc.scm:1395 msgid "_Copy" msgstr "" #: gschem/lib/system-gschemrc.scm:1396 msgid "_Paste" msgstr "" #: gschem/lib/system-gschemrc.scm:1397 msgid "_Delete" msgstr "" #: gschem/lib/system-gschemrc.scm:1400 msgid "Select All" msgstr "" #: gschem/lib/system-gschemrc.scm:1401 msgid "Deselect" msgstr "" #: gschem/lib/system-gschemrc.scm:1405 msgid "Rotate 90 Mode" msgstr "Завърти 90 Режим" #: gschem/lib/system-gschemrc.scm:1408 msgid "Edit..." msgstr "Редактирай..." #: gschem/lib/system-gschemrc.scm:1409 msgid "Edit Text..." msgstr "Редактирай Текст..." #: gschem/lib/system-gschemrc.scm:1410 msgid "Slot..." msgstr "" #: gschem/lib/system-gschemrc.scm:1411 msgid "Color..." msgstr "Цвят..." #: gschem/lib/system-gschemrc.scm:1412 msgid "Line Width & Type..." msgstr "Широчина на Линията & Тип" #: gschem/lib/system-gschemrc.scm:1413 msgid "Fill Type..." msgstr "" #: gschem/lib/system-gschemrc.scm:1414 msgid "Symbol Translate..." msgstr "Превеждане на Символ" #: gschem/lib/system-gschemrc.scm:1418 msgid "Invoke Macro" msgstr "" #: gschem/lib/system-gschemrc.scm:1419 msgid "Embed Component/Picture" msgstr "Вграден Компонент/Картина" #: gschem/lib/system-gschemrc.scm:1420 msgid "Unembed Component/Picture" msgstr "Невграден Компонент/Картина" #: gschem/lib/system-gschemrc.scm:1421 msgid "Update Component" msgstr "Обнови Компонент" #: gschem/lib/system-gschemrc.scm:1422 msgid "Show/Hide Inv Text" msgstr "" #: gschem/lib/system-gschemrc.scm:1428 msgid "Copy into 1" msgstr "" #: gschem/lib/system-gschemrc.scm:1429 msgid "Copy into 2" msgstr "" #: gschem/lib/system-gschemrc.scm:1430 msgid "Copy into 3" msgstr "" #: gschem/lib/system-gschemrc.scm:1431 msgid "Copy into 4" msgstr "" #: gschem/lib/system-gschemrc.scm:1432 msgid "Copy into 5" msgstr "" #: gschem/lib/system-gschemrc.scm:1433 msgid "Cut into 1" msgstr "" #: gschem/lib/system-gschemrc.scm:1434 msgid "Cut into 2" msgstr "" #: gschem/lib/system-gschemrc.scm:1435 msgid "Cut into 3" msgstr "" #: gschem/lib/system-gschemrc.scm:1436 msgid "Cut into 4" msgstr "" #: gschem/lib/system-gschemrc.scm:1437 msgid "Cut into 5" msgstr "" #: gschem/lib/system-gschemrc.scm:1438 msgid "Paste from 1" msgstr "" #: gschem/lib/system-gschemrc.scm:1439 msgid "Paste from 2" msgstr "" #: gschem/lib/system-gschemrc.scm:1440 msgid "Paste from 3" msgstr "" #: gschem/lib/system-gschemrc.scm:1441 msgid "Paste from 4" msgstr "" #: gschem/lib/system-gschemrc.scm:1442 msgid "Paste from 5" msgstr "" #: gschem/lib/system-gschemrc.scm:1448 msgid "_Redraw" msgstr "" #: gschem/lib/system-gschemrc.scm:1449 msgid "_Pan" msgstr "" #: gschem/lib/system-gschemrc.scm:1450 msgid "Zoom _Box" msgstr "" #: gschem/lib/system-gschemrc.scm:1451 msgid "Zoom _Extents" msgstr "" #: gschem/lib/system-gschemrc.scm:1452 msgid "Zoom _In" msgstr "" #: gschem/lib/system-gschemrc.scm:1453 msgid "Zoom _Out" msgstr "" #: gschem/lib/system-gschemrc.scm:1454 msgid "Zoom _Full" msgstr "" #: gschem/lib/system-gschemrc.scm:1456 msgid "_Dark color scheme" msgstr "" #: gschem/lib/system-gschemrc.scm:1457 msgid "_Light color scheme" msgstr "" #: gschem/lib/system-gschemrc.scm:1458 msgid "B_W color scheme" msgstr "" #: gschem/lib/system-gschemrc.scm:1465 msgid "_Manager..." msgstr "" #: gschem/lib/system-gschemrc.scm:1466 msgid "_Previous" msgstr "" #: gschem/lib/system-gschemrc.scm:1467 msgid "_Next" msgstr "" #: gschem/lib/system-gschemrc.scm:1468 msgid "Ne_w" msgstr "" #: gschem/lib/system-gschemrc.scm:1470 msgid "_Close" msgstr "" #: gschem/lib/system-gschemrc.scm:1472 msgid "_Discard" msgstr "" #: gschem/lib/system-gschemrc.scm:1478 msgid "_Component..." msgstr "" #: gschem/lib/system-gschemrc.scm:1479 msgid "_Net" msgstr "" #: gschem/lib/system-gschemrc.scm:1480 msgid "B_us" msgstr "" #: gschem/lib/system-gschemrc.scm:1481 msgid "_Attribute..." msgstr "" #: gschem/lib/system-gschemrc.scm:1482 msgid "_Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1484 msgid "_Line" msgstr "" #: gschem/lib/system-gschemrc.scm:1485 msgid "_Box" msgstr "" #: gschem/lib/system-gschemrc.scm:1486 msgid "C_ircle" msgstr "" #: gschem/lib/system-gschemrc.scm:1487 msgid "A_rc" msgstr "" #: gschem/lib/system-gschemrc.scm:1488 msgid "_Pin" msgstr "" #: gschem/lib/system-gschemrc.scm:1489 msgid "Pictu_re..." msgstr "" #: gschem/lib/system-gschemrc.scm:1495 msgid "_Down Schematic" msgstr "" #: gschem/lib/system-gschemrc.scm:1496 msgid "Down _Symbol" msgstr "" #: gschem/lib/system-gschemrc.scm:1497 msgid "_Up" msgstr "" #: gschem/lib/system-gschemrc.scm:1498 msgid "D_ocumentation..." msgstr "" #: gschem/lib/system-gschemrc.scm:1504 msgid "_Attach" msgstr "" #: gschem/lib/system-gschemrc.scm:1505 msgid "_Detach" msgstr "" #: gschem/lib/system-gschemrc.scm:1506 msgid "Show _Value" msgstr "" #: gschem/lib/system-gschemrc.scm:1507 msgid "Show _Name" msgstr "" #: gschem/lib/system-gschemrc.scm:1508 msgid "Show _Both" msgstr "" #: gschem/lib/system-gschemrc.scm:1509 msgid "_Toggle Visibility" msgstr "" #: gschem/lib/system-gschemrc.scm:1511 msgid "_Find Specific Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1512 msgid "_Hide Specific Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1513 msgid "_Show Specific Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1514 msgid "A_utonumber Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1520 msgid "_Text Size..." msgstr "" #: gschem/lib/system-gschemrc.scm:1521 msgid "Cycle _grid styles" msgstr "" #: gschem/lib/system-gschemrc.scm:1522 msgid "Toggle _Snap On/Off" msgstr "" #: gschem/lib/system-gschemrc.scm:1523 msgid "Snap Grid S_pacing..." msgstr "" #: gschem/lib/system-gschemrc.scm:1524 msgid "Scale _up Grid Spacing" msgstr "" #: gschem/lib/system-gschemrc.scm:1526 msgid "Scale _down Grid Spacing" msgstr "" #: gschem/lib/system-gschemrc.scm:1528 msgid "Toggle _Outline/Box" msgstr "" #: gschem/lib/system-gschemrc.scm:1530 msgid "Toggle Net _Rubberband" msgstr "" #: gschem/lib/system-gschemrc.scm:1531 msgid "Toggle _Magnetic Net" msgstr "" #: gschem/lib/system-gschemrc.scm:1532 msgid "Show _Log Window..." msgstr "" #: gschem/lib/system-gschemrc.scm:1534 msgid "Show _Coord Window..." msgstr "" #: gschem/lib/system-gschemrc.scm:1542 msgid "gEDA Docu_mentation..." msgstr "" #: gschem/lib/system-gschemrc.scm:1543 msgid "gschem _FAQ..." msgstr "" #: gschem/lib/system-gschemrc.scm:1544 msgid "gEDA _Wiki..." msgstr "" #: gschem/lib/system-gschemrc.scm:1545 msgid "Component D_ocumentation..." msgstr "" #: gschem/lib/system-gschemrc.scm:1547 msgid "_Hotkeys..." msgstr "" #: gschem/lib/system-gschemrc.scm:1548 msgid "_About..." msgstr "" #: gschem/lib/system-gschemrc.scm:1554 msgid "_File" msgstr "Файл" #: gschem/lib/system-gschemrc.scm:1555 msgid "_Edit" msgstr "Редактирай" #: gschem/lib/system-gschemrc.scm:1556 msgid "_Buffer" msgstr "" #: gschem/lib/system-gschemrc.scm:1557 msgid "_View" msgstr "" #: gschem/lib/system-gschemrc.scm:1558 msgid "_Page" msgstr "Нова Страница" #: gschem/lib/system-gschemrc.scm:1559 msgid "_Add" msgstr "" #: gschem/lib/system-gschemrc.scm:1560 msgid "Hie_rarchy" msgstr "" #: gschem/lib/system-gschemrc.scm:1561 msgid "A_ttributes" msgstr "" #: gschem/lib/system-gschemrc.scm:1562 msgid "_Options" msgstr "" #: gschem/lib/system-gschemrc.scm:1563 msgid "_Help" msgstr "" #: gschem/scheme/gschem/deprecated.scm:102 #, scheme-format msgid "Invalid text alignment ~A." msgstr "" #: gschem/scheme/gschem/gschemdoc.scm:225 msgid "No documentation found" msgstr "" #: gschem/scheme/gschem/keymap.scm:38 #, scheme-format msgid "~S is not a valid key combination." msgstr "" #: gschem/scheme/gschem/keymap.scm:153 #, scheme-format msgid "~S is not a prefix key sequence." msgstr "" geda-gaf-1.8.2/gschem/po/ja.gmo0000664000175000017500000004305012220655645013073 00000000000000,|  ! &2 9+Eq*"&* 3> E OZjos|'    & /9 HSZ_fmt{      !   ' 2 = HSZa hu   m("  *0Nj .,&&%? e r |         # * 6 ; E X Z _ e j n w |    #   ! ! !$! -! 8!F!N!V!^!f! n! {! ! ! !!! !!!!!!"!"+"0"?" G"S"Z" i"u"""" " " "" " """##%# 9# E#Q# c#o######## ##$$ $%$?$(G$p$$$$0$$$$$ $ % % %L%%r% %%"%%%%&&3&N& l&&&& & & &&&&& &&)&` '-'8'''.'$-(R( [( e( s(~( (&(( (((( ((())))#)))=) C)O)T)Y)_)h)q)w)|)) ) ))))))))));)*M,*z**** L,W,m,},4,,7t- ---- --.!. >. I.V.l.s..).;... . /(/0O0 h0 s0 ~0 0 0 0 0 0 0 00000)0(1/161R1k1~111 1 1-12!22243863o3333 343.3-4@4G4LN4?4>4>57Y55555 5555 !6+6 36>6F6 c6 p6 {6 666666666 6 67 7#7*7:7P74c7 77 7"77 88)808@8W8 o8}8888 8 8 8 8 88 9 9$9+9;9N9 ^98h9;9 9 9 99::/:?:]:z::::::::;;.;I;P;`;p;6;;;;; << ,<9<V<^<w<<-< <1<<==B=b=y==4==== >>>1>G>yZ>>>5>$%? J? W?Od??3??1@(H@q@@ @@ @@@@@@@@?@oA9ADA BB94B<nBBBBB B C(C;CBC\CmC ~C C CC C C CC CC D D D *D5D IDWD gDuD|D DD D DD DD DDE $E/E93EmEpEE(E$F#cN'()*+ h }EY3LF!dyg*&Ij% :; =>% |ev[~Q]Kk1(laC`i<56789J$@Dr_2H,?nBG Ru\!{"#wP"V ts)+Z &qSzpo4XWf -./0 b T'x$UA,OMm^A_rcA_ttributesActionAdd Text...Add buses mode Right mouse button to cancelAdd component... Select library and component from list, move the mouse into main window, click to place Right mouse button to cancelAdd nets mode Right mouse button to cancelAllArcArc ModeArc ParamsAttachAttributeAttributesAutonumber textB_usBoxBox ModeBusBus ModeC_ircleCannot find source [%s] Cannot print current schematic to [%s] CenterCircleCircle ModeClose PageClosing Window Closing [%s] ColorColor EditColor...ComponentComponent ModeComponentsCoordsCopyCopy 1Copy 2Copy 3Copy 4Copy 5Copy ModeCopy into 1Copy into 2Copy into 3Copy into 4Copy into 5Could not allocate the color %s! Cu_tCurrent WindowCut 1Cut 2Cut 3Cut 4Cut 5Cut into 1Cut into 2Cut into 3Cut into 4Cut into 5DashedDeleteDetachDiscard PageDiscarding page [%s] DottedEditEdit AttributesEdit Fill TypeEdit Line Width & TypeEdit TextEdit Text...Edit slot numberEdit...EmbedEmbed Component/PictureEmpty bufferEnter text, click apply, move cursor into window, click to place text. Middle button to rotate while placing.Error while trying to saveExecute Script...Executing guile script [%s] Failed to read init scm file [%s] FilenameFill Type...FilledGrid OFF HatchHidden text is now invisible Hidden text is now visible Hide text starting with:Hie_rarchyHollowInvalid num levels [%d] passed to undo-levels Invalid size [%d] passed to bus-ripper-size Invalid size [%d] passed to snap-size Invalid size [%d] passed to text-size Invalid zoomfactor [%d] passed to %s Invoke MacroLandscapeLibrariesLineLine ModeLine Width & Type...Loading schematic [%s] LockLower LeftLower MiddleLower RightMenu/CancelMeshMiddle LeftMiddle MiddleMiddle RightMirrorMirror ModeMoveMove ModeMultiple Copy ModeNNameName:Ne_wNetNet ModeNetsNewNew PageNew WindowNew fileNew slot number out of range Offset to translate? (0 for origin)OpenOpen Page...Open Recen_tOpen file...Open...Page ManagerPanPan ModePan/CancelPaste %d ModePaste 1Paste 2Paste 3Paste 4Paste 5Paste from 1Paste from 2Paste from 3Paste from 4Paste from 5PhantomPickPictu_re...PinPin ModePortraitPreviewPrint...Printed current schematic to [%s] Read init scm file [%s] RedoRedo last undoRepeat/Repeat/noneRotateRotate 90 ModeRotate ModeRubber band OFF Rubber band ON SaveSave AllSave PageSave _As...Save fileSavedSaved AllSaved [%s] ScreenSearching for source [%s] Searching for symbol [%s] SelectSelect Component...Select ModeSelect modeSelect objs firstShow HiddenShow Name & ValueShow Name OnlyShow Name onlyShow Value OnlyShow Value onlyShow text starting with:Show/Hide Inv TextShowBShowHiddenShowNShowVSingle Attribute EditorSlotSlot attribute malformed Slot...Slotting not allowed for this component Snap OFF (CAUTION!) Snap ON Snap OffSolidSorry but this is a non-functioning menu option StatusStrokeSymbol Translate...TextText Entry...Text ModeText SizeText to find:This is free software, and you are welcome to redistribute it under certain This is the MINGW32 port. TranslateTranslating schematic [%d %d] Tried to get an invalid color: %d UndoUndo last operationUndo/Redo disabled in rc file UnembedUnembed Component/PictureUnknown end for line (%d) Unknown type for box (fill)! Unknown type for circle (fill)! UnlockUpdateUpdate ComponentUpper LeftUpper MiddleUpper RightVValueValue:Vis?VisToggleVisibleWARNING: Do not translate with snap off! WARNING: If you are translating a symbol to the origin, the snap grid size should be set to 100 WARNING: Snap grid size is not equal to 100! WARNING: Turning snap on and continuing with translate. WorldWrite _image...Wrote black and white image to [%s] [%d x %d] Wrote color image to [%s] [%d x %d] Zoom BoxZoom _BoxZoom _ExtentsZoom _FullZoom _InZoom _OutZoom too small! Cannot zoom further. _Add_Attribute..._Box_Buffer_Close_Component..._Copy_Dark color scheme_Delete_Discard_Edit_File_Help_Light color scheme_Line_Manager..._Net_New_Next_Open..._Options_Page_Pan_Paste_Pin_Previous_Print..._Quit_Redo_Redraw_Revert_Save_Text..._Undo_Viewblackconditions; please see the COPYING file for more details. descend into hierarchygEDA/gschem comes with ABSOLUTELY NO WARRANTY; see COPYING for more details. nonenumslots attribute missing whiteProject-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-01-31 12:07+0000 Last-Translator: Peter TB Brett Language-Team: gEDA developers Language: ja MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) 円弧(_R)アトリビュートアクションテキスト追加...バス追加モード 右ボタンでキャンセル部品追加... ライブラリから部品を選択し、メインウィンドウで クリックすると、配置します。 右ボタンでキャンセルします。ネット追加モード 右ボタンでキャンセルすべて円弧円弧モード円弧パラメータアタッチアトリビュートアトリビュートオートナンバーテキストバス(_U)ボックスボックスモードバスバスモード円(_I)ソースが見付かりません。[%s] 現在のスケマチックを印刷できません。[%s] 中央円円モード閉じるウィンドウを閉じています。 閉じています。[%s] 色色編集色...部品部品モード部品座標コピーコピー1コピー2コピー3コピー4コピー5コピーモードコピー1コピー2コピー3コピー4コピー5指定できない色[%s]です! 切り取り(_T)現在のウィンドウカット1カット2カット3カット4カット5カット1カット2カット3カット4カット5破線削除アタッチ解除破棄ページを破棄しています。[%s] 点線編集アトリビュート編集塗りつぶしを編集線種と幅編集テキスト編集テキスト編集...スロット番号編集編集...組み込み画像・コンポーネントの埋め込みバッファが空です。テキストを入力し、クリックしてください。 ウィンドウ内でクリックするとテキストを配置します。 中ボタンで回転します。保存中にエラー発生スクリプト実行...guileスクリプトを実行しています。[%s] 初期化scmファイルの読み込みに失敗。[%s] ファイル名塗りつぶし種類...塗りつぶしグリッド・オフ ハッチ隠しテキストが非表示になりました。 隠しテキストが表示されました。 隠しテキスト階層空洞無効なアンドゥレベル[%d]がundo-levelsに指定されました。 無効なサイズ[%d]がbus-ripperに指定されました。 無効なサイズ[%d]がsnap-sizeに指定されました。 無効なサイズ[%d]がtext-sizeに指定されました。 無効な拡大率[%d]が%sに指定されました。 マクロの実行ランドスケープライブラリ線線モード線種と幅...スケマチックを読み込んでいます。[%s] ロック下 左下 中央下 右メニュー/キャンセルメッシュ中央 左中央 中央中央 右反転反転モード移動移動モード複数コピーモード名前名前名前:新規(_W)ネットネットモードネット新規新規ページ新規ウィンドウ新規ファイルスロット番号が範囲を越えています。 転送しますか? (0で原点)開く開く...最近使用したファイル(_T)ファイルを開く...開く...ページマネージャパンパンモードパン/キャンセルペースト%dモードペースト1ペースト 2ペースト 3ペースト 4ペースト 5ペースト1ペースト2ペースト3ペースト4ペースト5ファントムピック画像(_R)ピンピンモードポートレイトプレビュー印刷...現在のスケマチックを印刷しました。[%s] 初期化scmファイルを読み込んでいます。[%s] リドゥリドゥ繰り返し/繰り返し/なし回転90度回転モード回転モードラバーバンド・オフ ラバーバンド・オン 保存すべて保存保存別名で保存(_A)...ファイルを保存保存しました。すべて保存保存しました。[%s] スクリーンソース検索中[%s] シンボル検索中[%s] 選択部品選択...選択モード選択モードまずオブジェクトを選択してください。隠しテキスト表示名前と値を表示名前のみ表示名前のみ表示値のみ表示値のみ表示テキストテキスト表示/非表示表示B隠しテキスト表示N表示表示Vシングルアトルビュートエディタスロットスロットアトリビュートが変です。 スロット...この部品にスロットは許可されていません。 スナップ・オフ(注意!) スナップ・オン スナップ・オフ実線機能しないメニューオプションです。 ステータスストロークシンボル転送...テキストテキスト...ネットモードテキストサイズ検索テキストこれはフリーソフトウェアであり、ある条件の下で再頒布することが奨励されています。 MIGW32版です。 転送スケマチックを転送しています。[%d %d] 無効な色の指定です。 : %d アンドゥアンドゥアンドゥ/リドゥはrcファイルで無効に設定されています。 組み込み解除画像・コンポーネントの埋め込み解除不明な線の先端(%d) 不明なボックスの種類(塗りつぶし)! 不明な円の種類(塗りつぶし)! ロック解除更新部品更新上 左上 中央上 右値値値:表示表示切替え表示警告:スナップ・オフで転送しないでください! 警告:原点へ転送するときはスナップのグリッドサイズを 100に設定してください。 警告:グリッドサイズが100ではありません! 警告:スナップをオンしてから転送してください。 ワールド画像として保存(_I)...白黒イメージを出力しました。[%s] [%d x %d] カラーイメージを出力しました。[%s] [%d x %d] 拡大ズームボックス回路全体の表示(_E)最縮小して表示(_F)拡大(_I)縮小(_O)これ以上ズームできません。 追加アトリビュート(_A)ボックス(_B)バッファ(_B)閉じる(_C)部品(_C)コピー(_C)暗い配色(_D)削除(_D)破棄(_D)編集(_E)ファイル(_F)ヘルプ明るい配色(_L)直線(_L)管理(_M)ネット(_N)新規(_N)次のページ(_N)開く(_O)...オプションページ(_P)パン貼り付け(_P)ピン(_P)前のページ(_P)印刷(_P)...終了(_Q)やり直す(_R)再描画再読み込み(_R)保存(_S)テキスト(_T)...元に戻す(_U)表示(_V)黒詳しくはCOPYINGファイルをご覧ください。 下の階層も検索gEDA/gschemは完全に無保証で提供されます。詳しくはCOPYINGファイルをご覧ください。 なしスロット番号がありません。 白geda-gaf-1.8.2/gschem/po/bg.gmo0000664000175000017500000000461412220655645013074 00000000000000!$/,    (@Rg l x     %,=LRX^#  .: Ta"v0-,A_#y "?#[& 4 3 T i r  !    Close PageColor...Copy ModeDeleteEditEdit Text...Edit...Embed Component/PictureExecute Script...Line Width & Type...LockMirror ModeMove ModeMultiple Copy ModeNew PageNew WindowOpen Page...Print...RedoRotate 90 ModeSave AllSave PageSelect ModeSymbol Translate...UndoUnembed Component/PictureUnlockUpdate ComponentWrite image..._Edit_File_PageProject-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-01-27 14:23+0000 Last-Translator: FULL NAME Language-Team: gEDA developers Language: bg MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) Затвори СтраницатаЦвят...Копирен РежимИзтрийРедактирайРедактирай Текст...Редактирай...Вграден Компонент/КартинаИзпълни СкриптШирочина на Линията & ТипЗаключванеОгледален РежимРежим МестенеМногокопирен РежимНова СтраницаНов ПрозорецОтвори Страница...Принтирай...Направи отновоЗавърти 90 РежимСъхрани ВсичкоСъхрани СтраницатаИзбери режимПревеждане на СимволВърниНевграден Компонент/КартинаОтключванеОбнови КомпонентЗапиши Снимката...РедактирайФайлНова Страницаgeda-gaf-1.8.2/gschem/po/ar.po0000664000175000017500000021023212220655644012734 00000000000000# Arabic translation for geda # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the geda package. # عبدالله شلي (Abdellah Chelli) , 2010. msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2010-02-14 06:08+0000\n" "Last-Translator: عبدالله شلي (Abdellah Chelli) \n" "Language-Team: gEDA developers \n" "Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2010-02-14 12:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" "X-Poedit-Language: Arabic\n" "X-Poedit-SourceCharset: utf-8\n" #: gschem/src/a_zoom.c:212 msgid "Zoom too small! Cannot zoom further.\n" msgstr "التبعيد كبير جدا! لا يمكن التبعيد أكثر.\n" #: gschem/src/g_attrib.c:92 msgid "Object ~A is not included in the current gschem page." msgstr "" #: gschem/src/g_attrib.c:112 msgid "Invalid text name/value visibility ~A." msgstr "" #: gschem/src/g_rc.c:312 #, c-format msgid "Invalid zoomfactor [%d] passed to %s\n" msgstr "مرّر معامل تقريب غير صالح [%d] إلى %s\n" #: gschem/src/g_rc.c:458 #, c-format msgid "Invalid size [%d] passed to text-size\n" msgstr "مرّر حجم غير صالح [%d] إلى 'حجم النص'\n" #: gschem/src/g_rc.c:501 #, c-format msgid "Invalid size [%d] passed to snap-size\n" msgstr "مرّر حجم غير صالح [%d] إلى 'حجم الجذب'\n" #: gschem/src/g_rc.c:958 #, c-format msgid "Invalid num levels [%d] passed to undo-levels\n" msgstr "مرّر عدد مستويات غير صالح [%d] إلى 'مستويات التراجع'\n" #: gschem/src/g_rc.c:1220 #, c-format msgid "Invalid size [%d] passed to bus-ripper-size\n" msgstr "مرّر حجم غير صالح [%d] إلى 'حجم كسار الناقل'\n" #: gschem/src/g_rc.c:1295 #, c-format msgid "Invalid dot size [%d] passed to dots-grid-dot-size\n" msgstr "مرّر حجم نقط غير صالح [%d] إلى 'حجم النقط للشبيكة النقطية'\n" #: gschem/src/g_rc.c:1336 #, c-format msgid "Invalid pixel spacing [%d] passed to dots-grid-fixed-threshold\n" msgstr "مرّر تباعد بكسل غير صالح [%d] إلى 'العتبة الثابتة للشبيكة النقطية'\n" #: gschem/src/g_rc.c:1362 #, c-format msgid "Invalid pixel spacing [%d] passed to mesh-grid-display-threshold\n" msgstr "مرّر تباعد بكسل غير صالح [%d] إلى 'عتبة العرض لشبيكة الشُرَط'\n" #: gschem/src/g_rc.c:1387 #, c-format msgid "Invalid offset [%d] passed to add-attribute-offset\n" msgstr "مرّرت قيمة إزاحة غير صالحة [%d] إلى 'إزاحة إضافة السمة'\n" #: gschem/src/g_rc.c:1411 #, c-format msgid "Invalid number of seconds [%d] passed to auto-save-interval\n" msgstr "مرّر عدد ثواني غير صالح [%d] إلى 'مدّة الحفظ الآلي'\n" #: gschem/src/g_rc.c:1435 #, c-format msgid "Invalid gain [%d] passed to mousepan-gain\n" msgstr "مرّر معامل ربح غير صالح [%d] إلى 'معامل ربح الفأرة'\n" #: gschem/src/g_rc.c:1458 #, c-format msgid "Invalid gain [%d] passed to keyboardpan-gain\n" msgstr "مرّر معامل ربح غير صالح [%d] إلى 'معامل ربح لوحة المفاتيح'\n" #: gschem/src/g_rc.c:1505 #, c-format msgid "Invalid number of pixels [%d] passed to select-slack-pixels\n" msgstr "مرّر عدد بكسلات غير صالح [%d] إلى 'بكسلات مهملة للانتقاء'\n" #: gschem/src/g_rc.c:1531 #, c-format msgid "Invalid gain [%d] passed to zoom-gain\n" msgstr "مرّر معامل ربح غير صالح [%d] إلى 'معامل ربح التقريب'\n" #: gschem/src/g_rc.c:1556 #, c-format msgid "Invalid number of steps [%d] scrollpan-steps\n" msgstr "مرّر عدد خطوات غير صالح [%d] إلى 'خطوات شريط التمرير'\n" #: gschem/src/g_select.c:79 gschem/src/g_select.c:116 #: gschem/src/g_select.c:152 msgid "Object ~A is not directly included in a page." msgstr "" #: gschem/src/g_util.c:56 msgid "Could not launch URI ~S: ~A" msgstr "" #: gschem/src/g_window.c:136 msgid "Found invalid gschem window smob ~S" msgstr "" #: gschem/src/gschem.c:175 #, c-format msgid "gEDA/gschem version %s%s.%s\n" msgstr "إصدار gEDA/gschem‫ %s%s.%s\n" #: gschem/src/gschem.c:178 msgid "" "gEDA/gschem comes with ABSOLUTELY NO WARRANTY; see COPYING for more " "details.\n" msgstr "يقدم gEDA/gschem بلا أي ضمان، راجع COPYING لتفاصيل أكثر.\n" #: gschem/src/gschem.c:180 msgid "" "This is free software, and you are welcome to redistribute it under certain\n" msgstr "هذا برنامج حر، مرحب بإعادة توزيعه مع بعض الشروط،\n" #: gschem/src/gschem.c:182 msgid "" "conditions; please see the COPYING file for more details.\n" "\n" msgstr "" "من فضلك راجع الملف COPYING لتفاصيل أكثر.\n" "\n" #: gschem/src/gschem.c:185 #, c-format msgid "This is the MINGW32 port.\n" msgstr "هذا نقل(Port) عن طريق MINGW32.\n" #: gschem/src/gschem.c:189 #, c-format msgid "Current locale settings: %s\n" msgstr "الإعدادات المحلية الحالية: %s\n" #: gschem/src/gschem.c:211 msgid "" "You must set the GEDADATA environment variable!\n" "\n" "gschem cannot locate its data files. You must set the GEDADATA\n" "environment variable to point to the correct location.\n" msgstr "" "يجب أن تعيّن متغيّر البيئة GEDADATA!\n" "\n" "لا يمكن لـ gschem تحديد مكان ملفات البيانات خاصته. يجب أن تعيّن متغيّر البيئة\n" "‏GEDADATA ليشير إلى المكان الصّحيح.\n" #: gschem/src/gschem.c:248 #, c-format msgid "Couldn't find init scm file [%s]\n" msgstr "تعذّر العثور على ملف الاستهلال [‎%s‬]\n" #: gschem/src/gschem.c:252 #, c-format msgid "Read init scm file [%s]\n" msgstr "قراءة ملف الاستهلال [‎%s‬]\n" #: gschem/src/gschem.c:256 #, c-format msgid "Failed to read init scm file [%s]\n" msgstr "فشل قراءة ملف الاستهلال [‎%s‬]\n" #: gschem/src/gschem_cairo.c:310 #, c-format msgid "Unknown end for line (%d)\n" msgstr "نهاية السطر (%d) مجهولة\n" #: gschem/src/gschem_cairo.c:318 #, c-format msgid "Unknown type for stroke (%d) !\n" msgstr "نوع مجهول للجرّة-‪stroke‬ (%d) !\n" #: gschem/src/gschem_pango.c:289 msgid "cairo context" msgstr "" #: gschem/src/gschem_pango.c:290 msgid "the cairo context for the renderer" msgstr "" #: gschem/src/i_basic.c:77 gschem/src/x_window.c:524 #: gschem/lib/system-gschemrc.scm:1399 msgid "Select Mode" msgstr "وضع الانتقاء" #: gschem/src/i_basic.c:79 msgid "Component Mode" msgstr "وضع المكون" #: gschem/src/i_basic.c:81 msgid "Text Mode" msgstr "وضع النص" #: gschem/src/i_basic.c:84 gschem/lib/system-gschemrc.scm:1402 msgid "Copy Mode" msgstr "وضع النسخ" #: gschem/src/i_basic.c:87 gschem/lib/system-gschemrc.scm:1404 msgid "Move Mode" msgstr "وضع التّحريك" #: gschem/src/i_basic.c:89 msgid "Rotate Mode" msgstr "وضع الإستدارة" #: gschem/src/i_basic.c:91 gschem/lib/system-gschemrc.scm:1406 msgid "Mirror Mode" msgstr "وضع المرآة" #: gschem/src/i_basic.c:95 msgid "Zoom Box" msgstr "قرّب المربع" #: gschem/src/i_basic.c:99 msgid "Pan Mode" msgstr "وضع الإنتقال الإختياري" #: gschem/src/i_basic.c:103 #, c-format msgid "Paste %d Mode" msgstr "وضع اللصق %d" #: gschem/src/i_basic.c:109 msgid "Magnetic Net Mode" msgstr "وضع الشبكة المغناطيسية" #: gschem/src/i_basic.c:111 msgid "Net Mode" msgstr "وضع الشبكة" #: gschem/src/i_basic.c:115 msgid "Bus Mode" msgstr "وضع الناقل" #: gschem/src/i_basic.c:118 msgid "Line Mode" msgstr "وضع الخط" #: gschem/src/i_basic.c:121 msgid "Box Mode" msgstr "وضع الإطار" #: gschem/src/i_basic.c:124 msgid "Picture Mode" msgstr "وضع الصورة" #: gschem/src/i_basic.c:127 msgid "Circle Mode" msgstr "وضع الدائرة" #: gschem/src/i_basic.c:130 msgid "Arc Mode" msgstr "وضع القوس" #: gschem/src/i_basic.c:133 msgid "Pin Mode" msgstr "وضع الدبوس" #: gschem/src/i_basic.c:135 gschem/src/i_callbacks.c:529 #: gschem/src/i_callbacks.c:553 msgid "Copy" msgstr "انسخ" #: gschem/src/i_basic.c:137 gschem/src/i_callbacks.c:619 #: gschem/src/i_callbacks.c:643 msgid "Move" msgstr "حرّك" #: gschem/src/i_basic.c:139 gschem/src/i_callbacks.c:574 #: gschem/src/i_callbacks.c:598 msgid "Multiple Copy" msgstr "نسخ متعدد" #: gschem/src/i_basic.c:142 gschem/lib/system-gschemrc.scm:1403 msgid "Multiple Copy Mode" msgstr "وضع النسخ المتعدد" #: gschem/src/i_basic.c:168 msgid "Show Hidden" msgstr "أظهر المخفي" #: gschem/src/i_basic.c:171 msgid "Snap Off" msgstr "إيقاف الجذب" #: gschem/src/i_basic.c:173 msgid "Resnap Active" msgstr "تفعيل إعادة الجذب" #: gschem/src/i_basic.c:254 gschem/src/x_window.c:498 msgid "Action" msgstr "إجراء" #: gschem/src/i_basic.c:260 gschem/src/x_dialog.c:2325 #: gschem/src/x_window.c:493 msgid "Stroke" msgstr "جرة (Stroke)" #: gschem/src/i_basic.c:266 gschem/src/x_window.c:495 msgid "none" msgstr "لا شيء" #: gschem/src/i_basic.c:271 msgid "Repeat/" msgstr "كرّر/" #: gschem/src/i_basic.c:566 gschem/src/i_basic.c:580 msgid "OFF" msgstr "إيقاف" #: gschem/src/i_basic.c:584 msgid "NONE" msgstr "لا شيئ" #: gschem/src/i_basic.c:589 #, c-format msgid "Grid(%s, %s)" msgstr "شبيكة(%s, %s)" #: gschem/src/i_callbacks.c:76 gschem/src/i_callbacks.c:1659 #, c-format msgid "New page created [%s]\n" msgstr "أنشئت صفحة جديدة [‎%s‬]\n" #: gschem/src/i_callbacks.c:124 #, c-format msgid "New Window created [%s]\n" msgstr "أنشئت نافذة جديدة [‎%s‬]\n" #: gschem/src/i_callbacks.c:242 msgid "Failed to Save All" msgstr "فشل حفظ الكل" #: gschem/src/i_callbacks.c:244 msgid "Saved All" msgstr "حفظ الكل" #: gschem/src/i_callbacks.c:334 msgid "Closing Window\n" msgstr "إغلاق النافذة\n" #: gschem/src/i_callbacks.c:534 gschem/src/i_callbacks.c:579 #: gschem/src/i_callbacks.c:624 msgid "Select objs first" msgstr "انتق الكائنات أولا" #: gschem/src/i_callbacks.c:663 gschem/src/x_multiattrib.c:1549 msgid "Delete" msgstr "احذف" #: gschem/src/i_callbacks.c:688 msgid "Edit" msgstr "تحرير" #: gschem/src/i_callbacks.c:703 msgid "Edit pin type" msgstr "حرّر نوع الدبوس" #: gschem/src/i_callbacks.c:722 msgid "Edit Text" msgstr "حرّر النص" #: gschem/src/i_callbacks.c:745 msgid "Slot" msgstr "شقّ" #: gschem/src/i_callbacks.c:762 msgid "Color" msgstr "لون" #: gschem/src/i_callbacks.c:799 gschem/src/i_callbacks.c:844 msgid "Rotate" msgstr "أدر" #: gschem/src/i_callbacks.c:866 gschem/src/i_callbacks.c:891 msgid "Mirror" msgstr "مرآة" #: gschem/src/i_callbacks.c:912 gschem/src/x_dialog.c:2328 #: gschem/lib/system-gschemrc.scm:1415 msgid "Lock" msgstr "أقفل" #: gschem/src/i_callbacks.c:930 gschem/lib/system-gschemrc.scm:1416 msgid "Unlock" msgstr "فكّ القفل" #: gschem/src/i_callbacks.c:948 gschem/src/x_dialog.c:1746 msgid "Translate" msgstr "اسحب" #: gschem/src/i_callbacks.c:951 msgid "WARNING: Do not translate with snap off!\n" msgstr "تحذير: لا تسحب مع جذب موقف!\n" #: gschem/src/i_callbacks.c:952 msgid "WARNING: Turning snap on and continuing with translate.\n" msgstr "تحذير: تشغيل الجذب و المتابعة مع السحب.\n" #: gschem/src/i_callbacks.c:959 msgid "WARNING: Snap grid size is not equal to 100!\n" msgstr "تحذير: حجم شبيكة الجذب لا يساوي 100!\n" #: gschem/src/i_callbacks.c:961 msgid "" "WARNING: If you are translating a symbol to the origin, the snap grid size " "should be set to 100\n" msgstr "" "تحذير: إذا كنت تسحب رمزا إلى المبدأ، يجب أن يعيّن حجم شبيكة الجذب إلى 100\n" #: gschem/src/i_callbacks.c:992 msgid "Embed" msgstr "ضمّن" #: gschem/src/i_callbacks.c:1031 msgid "Unembed" msgstr "لا تضمّن" #: gschem/src/i_callbacks.c:1073 msgid "Update" msgstr "حدّث" #: gschem/src/i_callbacks.c:1120 msgid "ShowHidden" msgstr "أظهر المخفي" #: gschem/src/i_callbacks.c:1426 gschem/src/i_callbacks.c:1498 msgid "Pan" msgstr "انتقل" #: gschem/src/i_callbacks.c:1703 msgid "Really revert page?" msgstr "تريد استعادة الصفحة حقا؟" #: gschem/src/i_callbacks.c:1773 msgid "Copy to clipboard" msgstr "انسخ إلى الحافظة" #: gschem/src/i_callbacks.c:1791 msgid "Cut to clipboard" msgstr "قصّ إلى الحافظة" #: gschem/src/i_callbacks.c:1809 msgid "Paste from clipboard" msgstr "ألصق من الحافظة" #: gschem/src/i_callbacks.c:1821 gschem/src/i_callbacks.c:2060 #: gschem/src/i_callbacks.c:2082 gschem/src/i_callbacks.c:2104 #: gschem/src/i_callbacks.c:2126 gschem/src/i_callbacks.c:2148 msgid "Empty buffer" msgstr "أفرغ المخزن" #: gschem/src/i_callbacks.c:1866 msgid "Copy 1" msgstr "انسخ 1" #: gschem/src/i_callbacks.c:1885 msgid "Copy 2" msgstr "انسخ 2" #: gschem/src/i_callbacks.c:1904 msgid "Copy 3" msgstr "انسخ 3" #: gschem/src/i_callbacks.c:1923 msgid "Copy 4" msgstr "انسخ 4" #: gschem/src/i_callbacks.c:1942 msgid "Copy 5" msgstr "انسخ 5" #: gschem/src/i_callbacks.c:1961 msgid "Cut 1" msgstr "قص 1" #: gschem/src/i_callbacks.c:1980 msgid "Cut 2" msgstr "قص 2" #: gschem/src/i_callbacks.c:1999 msgid "Cut 3" msgstr "قص 3" #: gschem/src/i_callbacks.c:2018 msgid "Cut 4" msgstr "قص 4" #: gschem/src/i_callbacks.c:2037 msgid "Cut 5" msgstr "قص 5" #: gschem/src/i_callbacks.c:2053 msgid "Paste 1" msgstr "ألصق 1" #: gschem/src/i_callbacks.c:2075 msgid "Paste 2" msgstr "ألصق 2" #: gschem/src/i_callbacks.c:2097 msgid "Paste 3" msgstr "ألصق 3" #: gschem/src/i_callbacks.c:2119 msgid "Paste 4" msgstr "ألصق 4" #: gschem/src/i_callbacks.c:2141 msgid "Paste 5" msgstr "ألصق 5" #: gschem/src/i_callbacks.c:2278 gschem/src/x_window.c:359 msgid "Component" msgstr "مكوّن" #: gschem/src/i_callbacks.c:2314 gschem/src/i_callbacks.c:2333 #: gschem/src/x_dialog.c:2298 msgid "Attribute" msgstr "سمة" #: gschem/src/i_callbacks.c:2355 gschem/src/i_callbacks.c:2382 #: gschem/src/x_dialog.c:2295 msgid "Net" msgstr "شبكة" #: gschem/src/i_callbacks.c:2426 gschem/src/i_callbacks.c:2453 #: gschem/src/x_dialog.c:2313 gschem/src/x_window.c:379 msgid "Bus" msgstr "ناقل" #: gschem/src/i_callbacks.c:2534 gschem/src/i_callbacks.c:2557 msgid "Line" msgstr "خط" #: gschem/src/i_callbacks.c:2579 gschem/src/i_callbacks.c:2602 msgid "Box" msgstr "إطار" #: gschem/src/i_callbacks.c:2658 gschem/src/i_callbacks.c:2682 msgid "Circle" msgstr "دائرة" #: gschem/src/i_callbacks.c:2704 gschem/src/i_callbacks.c:2727 msgid "Arc" msgstr "قوس" #: gschem/src/i_callbacks.c:2749 gschem/src/i_callbacks.c:2772 #: gschem/src/x_dialog.c:2286 msgid "Pin" msgstr "دبوس" #: gschem/src/i_callbacks.c:2831 #, c-format msgid "Searching for source [%s]\n" msgstr "البحث عن المنبع [%s]\n" #: gschem/src/i_callbacks.c:2855 #, c-format msgid "Cannot find source [%s]\n" msgstr "يتعذر العثور على المنبع [%s]\n" #: gschem/src/i_callbacks.c:2918 #, c-format msgid "Searching for symbol [%s]\n" msgstr "البحث عن الرمز [%s]\n" #: gschem/src/i_callbacks.c:2924 msgid "Symbol is not a real file. Symbol cannot be loaded.\n" msgstr "الرمز ليس ملفا حقيقيا. يتعذر تحميل الرمز.\n" #: gschem/src/i_callbacks.c:2955 msgid "Cannot find any schematics above the current one!\n" msgstr "يتعذر إيجاد أي مخطط فوق الحالي!\n" #: gschem/src/i_callbacks.c:2985 msgid "Attach" msgstr "أرفق" #: gschem/src/i_callbacks.c:3041 msgid "Detach" msgstr "افصل" #: gschem/src/i_callbacks.c:3085 msgid "ShowN" msgstr "أظهرN" #: gschem/src/i_callbacks.c:3122 msgid "ShowV" msgstr "أظهرV" #: gschem/src/i_callbacks.c:3159 msgid "ShowB" msgstr "أظهرB" #: gschem/src/i_callbacks.c:3197 msgid "VisToggle" msgstr "تبديل الرؤية" #: gschem/src/i_callbacks.c:3228 #, c-format msgid "Sorry but this is a non-functioning menu option\n" msgstr "عذرا خيار القائمة هذا غير فعّال\n" #: gschem/src/i_callbacks.c:3318 msgid "Action feedback mode set to OUTLINE\n" msgstr "وضع ردود الإجراء معيّن إلى حد الخارجي\n" #: gschem/src/i_callbacks.c:3321 msgid "Action feedback mode set to BOUNDINGBOX\n" msgstr "وضع ردود الإجراء معيّن إلى الإطار المحيط\n" #: gschem/src/i_callbacks.c:3346 msgid "Grid OFF\n" msgstr "شبيكة موقفة\n" #: gschem/src/i_callbacks.c:3347 msgid "Dot grid selected\n" msgstr "انتقيت الشبيكة النقطية\n" #: gschem/src/i_callbacks.c:3348 msgid "Mesh grid selected\n" msgstr "انتقيت شبيكة الشرط\n" #: gschem/src/i_callbacks.c:3369 msgid "Snap OFF (CAUTION!)\n" msgstr "الجذب موقف (تنبيه)\n" #: gschem/src/i_callbacks.c:3372 msgid "Snap ON\n" msgstr "الجذب مشغّل\n" #: gschem/src/i_callbacks.c:3375 msgid "Snap back to the grid (CAUTION!)\n" msgstr "جذب نحو الشبيكة (تنبيه!)\n" #: gschem/src/i_callbacks.c:3401 msgid "Rubber band OFF \n" msgstr "الشريط المطاطي موقف \n" #: gschem/src/i_callbacks.c:3404 msgid "Rubber band ON\n" msgstr "الشريط المطاطي مشغل\n" #: gschem/src/i_callbacks.c:3419 msgid "magnetic net mode: ON\n" msgstr "وضع الشبكة المغناطيسية: مشغل\n" #: gschem/src/i_callbacks.c:3422 msgid "magnetic net mode: OFF\n" msgstr "وضع الشبكة المغناطيسية: موقف\n" #: gschem/src/o_box.c:292 #, c-format msgid "Unknown type for box (fill)!\n" msgstr "نوع مجهول للإطار (الملء)!\n" #: gschem/src/o_buffer.c:54 #, c-format msgid "o_buffer_copy: Invalid buffer %i\n" msgstr "‏o_buffer_copy: مخزن‏ %i غير صالح\n" #: gschem/src/o_buffer.c:69 #, c-format msgid "o_buffer_cut: Invalid buffer %i\n" msgstr "‏o_buffer_cut: مخزن‏ %i غير صالح\n" #: gschem/src/o_buffer.c:90 #, c-format msgid "Got an invalid buffer_number [o_buffer_paste_start]\n" msgstr "حصلت على buffer_number غير صالح [o_buffer_paste_start]\n" #: gschem/src/o_bus.c:117 #, c-format msgid "Got an invalid which one in o_bus_draw_stretch\n" msgstr "حصلت على أيّ-واحد غير صالح في o_bus_draw_stretch\n" #: gschem/src/o_circle.c:284 #, c-format msgid "Unknown type for circle (fill)!\n" msgstr "نوع مجهول للدائرة (الملء)!\n" #: gschem/src/o_complex.c:223 gschem/src/o_complex.c:227 #, c-format msgid "Translating schematic [%d %d]\n" msgstr "سحب المخطط [%d %d]\n" #: gschem/src/o_misc.c:61 #, c-format msgid "Got an unexpected NULL in o_edit\n" msgstr "حصلت على NULL غير متوقع في o_edit\n" #: gschem/src/o_misc.c:125 msgid "Object already locked\n" msgstr "تم إقفال الكائن مسبقا\n" #: gschem/src/o_misc.c:163 msgid "Object already unlocked\n" msgstr "تم فك قفل الكائن مسبقا\n" #: gschem/src/o_misc.c:339 msgid "Hidden text is now visible\n" msgstr "أصبح الآن النص المخفي ظاهرا\n" #: gschem/src/o_misc.c:341 msgid "Hidden text is now invisible\n" msgstr "أصبح الآن النص المخفي مستترا\n" #: gschem/src/o_misc.c:568 #, c-format msgid "Could not find symbol [%s] in library. Update failed.\n" msgstr "تعذر العثور على الرمز [%s] في المكتبة. فشل التحديث.\n" #: gschem/src/o_misc.c:683 #, c-format msgid "o_autosave_backups: Can't get the real filename of %s." msgstr "‏o_autosave_backups: تعذر الحصول على اسم الحقيقي للملف %s." #: gschem/src/o_misc.c:727 #, c-format msgid "Could NOT set previous backup file [%s] read-write\n" msgstr "تعذر تعيين الملف الاحتياطي السابق [‎%s‬] للقراءة والكتابة\n" #: gschem/src/o_misc.c:747 #, c-format msgid "Could NOT set backup file [%s] readonly\n" msgstr "تعذر تعيين الملف الاحتياطي [‎%s‬] للقراءة فقط\n" #: gschem/src/o_misc.c:752 #, c-format msgid "Could NOT save backup file [%s]\n" msgstr "تعذر حفظ الملف الاحتياطي [‎%s‬]\n" #: gschem/src/o_move.c:174 #, c-format msgid "ERROR: NULL object in o_move_end!\n" msgstr "خطأ: كائن فارغ (NULL) في o_move_end!\n" #: gschem/src/o_move.c:431 #, c-format msgid "DOH! tried to find the whichone, but didn't find it!\n" msgstr "عجبا! حاولت العثور على أيّ-واحد ولكن لم أعثر عليه!\n" #: gschem/src/o_move.c:453 #, c-format msgid "Got a non line object in o_move_check_endpoint\n" msgstr "حصلت على كائن غير مشكّل من خط في o_move_check_endpoint\n" #: gschem/src/o_net.c:158 #, c-format msgid "Got an invalid which one in o_net_draw_stretch\n" msgstr "حصلت على أيّ-واحد غير صالح في o_net_draw_stretch\n" #: gschem/src/o_net.c:537 msgid "Warning: Starting net at off grid coordinate\n" msgstr "تحذير: بدء الشبكة خارج إحداثيات الشبيكة\n" #: gschem/src/o_net.c:602 msgid "Warning: Ending net at off grid coordinate\n" msgstr "تحذير: إنهاء الشبكة خارج إحداثيات الشبيكة\n" #: gschem/src/o_net.c:944 gschem/src/o_net.c:981 gschem/src/o_net.c:1052 #: gschem/src/o_net.c:1088 #, c-format msgid "Tried to add more than two bus rippers. Internal gschem error.\n" msgstr "حاولت إضافة أكثر من اثنين من كسارات الناقل. خطأ داخلي ل‍ gschem.\n" #: gschem/src/o_net.c:1156 #, c-format msgid "Bus ripper symbol [%s] was not found in any component library\n" msgstr "لم يتم العثور على رمز كسار الناقل [%s] في أي مكتبة مكون\n" #: gschem/src/o_path.c:340 #, c-format msgid "Unknown type for path (fill)!\n" msgstr "نوع مجهول للمسار (ملء)!\n" #: gschem/src/o_picture.c:166 #, c-format msgid "Failed to load picture: %s" msgstr "فشل تحميل الصورة: %s" #: gschem/src/o_picture.c:180 msgid "Picture" msgstr "صورة" #: gschem/src/o_picture.c:544 #, fuzzy, c-format msgid "Failed to replace pictures: %s" msgstr "فشل تحميل الصورة: %s" #: gschem/src/o_slot.c:81 msgid "Slot attribute malformed\n" msgstr "سمة الشقّ تالفة\n" #: gschem/src/o_slot.c:89 msgid "numslots attribute missing\n" msgstr "السمة numslots (عدد الشقوق) مفقودة\n" #: gschem/src/o_slot.c:90 msgid "Slotting not allowed for this component\n" msgstr "التقسيم (الشقّ) غير مسموح لهذا المكون\n" #: gschem/src/o_slot.c:105 msgid "New slot number out of range\n" msgstr "عدد شق جديد خارج النطاق\n" #: gschem/src/o_undo.c:307 msgid "Undo/Redo disabled in rc file\n" msgstr "التراجع/الإعادة معطلين في الملف rc\n" #: gschem/src/parsecmd.c:82 #, c-format msgid "" "Usage: %s [OPTION ...] [--] [FILE ...]\n" "\n" "Interactively edit gEDA schematics or symbols. If one or more FILEs\n" "are specified, open them for editing; otherwise, create a new, empty\n" "schematic.\n" "\n" "Options:\n" " -q, --quiet Quiet mode.\n" " -v, --verbose Verbose mode.\n" " -r, --config-file=FILE Additional configuration file to load.\n" " -L DIR Add DIR to Scheme search path.\n" " -c EXPR Scheme expression to run at startup.\n" " -s FILE Scheme script to run at startup.\n" " -o, --output=FILE Output filename (for printing).\n" " -p Automatically place the window.\n" " -V, --version Show version information.\n" " -h, --help Help; this message.\n" " -- Treat all remaining arguments as filenames.\n" "\n" "Report bugs at \n" "gEDA/gaf homepage: \n" msgstr "" #: gschem/src/parsecmd.c:116 #, c-format msgid "" "gEDA %s (g%.7s)\n" "Copyright (C) 1998-2012 gEDA developers\n" "This is free software, and you are welcome to redistribute it under\n" "certain conditions. For details, see the file `COPYING', which is\n" "included in the gEDA distribution.\n" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" #: gschem/src/x_attribedit.c:127 #, c-format msgid "Got invalid show option; defaulting to show both\n" msgstr "حصلت على خيار عرض غير صحيح ؛تعيين الافتراضي لإظهار كليهما\n" #: gschem/src/x_attribedit.c:141 #, c-format msgid "ERROR: NULL object!\n" msgstr "خطأ: كائن فارغ (NULL)!\n" #: gschem/src/x_attribedit.c:329 msgid "Single Attribute Editor" msgstr "محرّر سمة منفردة" #: gschem/src/x_attribedit.c:359 msgid "Edit Attribute" msgstr "حرّر السّمة" #: gschem/src/x_attribedit.c:361 msgid "Add Attribute" msgstr "أضف سمة" #: gschem/src/x_attribedit.c:377 gschem/src/x_multiattrib.c:1973 msgid "Name:" msgstr "الاسم:" #: gschem/src/x_attribedit.c:394 gschem/src/x_multiattrib.c:1992 msgid "Value:" msgstr "القيمة:" #: gschem/src/x_attribedit.c:410 gschem/src/x_multiattrib.c:2038 msgid "Visible" msgstr "مرئي" #: gschem/src/x_attribedit.c:430 msgid "Show Value Only" msgstr "أظهر القيمة فقط" #: gschem/src/x_attribedit.c:432 msgid "Show Name Only" msgstr "أظهر الاسم فقط" #: gschem/src/x_attribedit.c:434 gschem/src/x_multiattrib.c:1512 msgid "Show Name & Value" msgstr "أظهر الاسم و القيمة" #: gschem/src/x_attribedit.c:441 msgid "Attach Options" msgstr "أرفق الخيارات" #: gschem/src/x_attribedit.c:456 msgid "All" msgstr "الكل" #: gschem/src/x_attribedit.c:464 gschem/src/x_compselect.c:922 #: gschem/src/x_compselect.c:1036 msgid "Components" msgstr "مكونات" #: gschem/src/x_attribedit.c:472 gschem/src/x_window.c:369 msgid "Nets" msgstr "شبكات" #: gschem/src/x_attribedit.c:480 msgid "Replace existing attributes" msgstr "استبدل السمات الموجودة" #: gschem/src/x_autonumber.c:415 msgid "" "slotted object without slot attribute may cause problems when autonumbering " "slots\n" msgstr "" "كائن مقسم (مشقوق) بدون سمة الشقّ قد يسبب مشاكل عند الترقيم الآلي للشقوق\n" #: gschem/src/x_autonumber.c:430 #, c-format msgid "" "duplicate slot may cause problems: [symbolname=%s, number=%d, slot=%d]\n" msgstr "شقّ مكرر قد يسبب مشاكل: [اسم​الرمز=%s، العدد=%d، الشقّ=%d]\n" #: gschem/src/x_autonumber.c:672 msgid "No searchstring given in autonumber text.\n" msgstr "لا يوجد نص بحث في نص الترقيم الآلي.\n" #: gschem/src/x_autonumber.c:724 msgid "No '*' or '?' given at the end of the autonumber text.\n" msgstr "لا توجد '*' و لا '؟' في نهاية نص الترقيم الآلي.\n" #: gschem/src/x_autonumber.c:859 msgid "Diagonal" msgstr "قطري" #: gschem/src/x_autonumber.c:860 msgid "Top to bottom" msgstr "من الأعلى للأسفل" #: gschem/src/x_autonumber.c:860 msgid "Bottom to top" msgstr "من الأسفل للأعلى" #: gschem/src/x_autonumber.c:861 msgid "Left to right" msgstr "من اليسار لليمين" #: gschem/src/x_autonumber.c:861 msgid "Right to left" msgstr "من اليمين لليسار" #: gschem/src/x_autonumber.c:862 msgid "File order" msgstr "ترتيب الملف" #: gschem/src/x_autonumber.c:1198 msgid "Autonumber text" msgstr "نص تعداد آلي" #: gschem/src/x_autonumber.c:1222 msgid "Scope" msgstr "المجال" #: gschem/src/x_autonumber.c:1244 msgid "Search for:" msgstr "البحث عن:" #: gschem/src/x_autonumber.c:1258 msgid "Autonumber text in:" msgstr "نص تعداد آلي في:" #: gschem/src/x_autonumber.c:1265 msgid "Skip numbers found in:" msgstr "تخطي الأرقام الموجودة في:" #: gschem/src/x_autonumber.c:1277 gschem/src/x_autonumber.c:1286 msgid "Selected objects" msgstr "الكائنات المنتقاة" #: gschem/src/x_autonumber.c:1278 gschem/src/x_autonumber.c:1287 msgid "Current page" msgstr "الصفحة الحالية" #: gschem/src/x_autonumber.c:1279 gschem/src/x_autonumber.c:1288 msgid "Whole hierarchy" msgstr "التسلسل الهرمي الكامل" #: gschem/src/x_autonumber.c:1290 msgid "Overwrite existing numbers" msgstr "أكتب فوق الأرقام الموجودة" #: gschem/src/x_autonumber.c:1295 msgid "Options" msgstr "الخيارات" #: gschem/src/x_autonumber.c:1317 msgid "Starting number:" msgstr "رقم البدأ:" #: gschem/src/x_autonumber.c:1324 msgid "Sort order:" msgstr "الترتيب:" #: gschem/src/x_autonumber.c:1345 msgid "Remove numbers" msgstr "أزل الأعداد" #: gschem/src/x_autonumber.c:1349 msgid "Automatic slotting" msgstr "شقّ آلي" #: gschem/src/x_clipboard.c:249 #, c-format msgid "" "Invalid schematic on clipboard.\n" "\n" "An error occurred while inserting clipboard data: %s." msgstr "" #: gschem/src/x_clipboard.c:251 msgid "Clipboard insertion failed" msgstr "" #: gschem/src/x_color.c:94 gschem/src/x_color.c:103 #, c-format msgid "Could not allocate the color %s!\n" msgstr "تعذر تعيين اللون %s!\n" #: gschem/src/x_color.c:94 msgid "black" msgstr "أسود" #: gschem/src/x_color.c:103 msgid "white" msgstr "أبيض" #: gschem/src/x_color.c:125 #, c-format msgid "Could not allocate display color %i!\n" msgstr "تعذر تعيين لون العرض %i!\n" #: gschem/src/x_color.c:147 #, c-format msgid "Could not allocate outline color %i!\n" msgstr "تعذر تعيين لون الخط الخارجي %i!\n" #: gschem/src/x_color.c:164 gschem/src/x_color.c:181 gschem/src/x_color.c:197 #, c-format msgid "Tried to get an invalid color: %d\n" msgstr "حاول الحصول على لون غير صالح: %d\n" #: gschem/src/x_color.c:214 #, c-format msgid "Tried to get an invalid outline color: %d\n" msgstr "حاول الحصول على لون خط خارجي غير صالح: %d\n" #: gschem/src/x_compselect.c:1066 msgid "Filter:" msgstr "المرشح:" #: gschem/src/x_compselect.c:1169 gschem/src/x_dialog.c:3653 #: gschem/src/x_multiattrib.c:1839 msgid "Name" msgstr "اسم" #: gschem/src/x_compselect.c:1178 gschem/src/x_multiattrib.c:1863 msgid "Value" msgstr "قيمة" #: gschem/src/x_compselect.c:1217 msgid "Default behavior - reference component" msgstr "السلوك الافتراضي - العنصر المرجعي" #: gschem/src/x_compselect.c:1220 msgid "Embed component in schematic" msgstr "ضمّن المكون في المخطط" #: gschem/src/x_compselect.c:1223 msgid "Include component as individual objects" msgstr "ضمّن المكون ككائنات فردية" #: gschem/src/x_compselect.c:1380 msgid "Select Component..." msgstr "انتق مكونا..." #: gschem/src/x_compselect.c:1403 msgid "In Use" msgstr "قيد الاستخدام" #: gschem/src/x_compselect.c:1407 msgid "Libraries" msgstr "مكتبات" #: gschem/src/x_compselect.c:1416 gschem/src/x_fileselect.c:122 msgid "Preview" msgstr "معاينة" #: gschem/src/x_compselect.c:1444 msgid "Attributes" msgstr "سمات" #: gschem/src/x_dialog.c:176 msgid "Text Entry..." msgstr "مدخل نص..." #: gschem/src/x_dialog.c:207 msgid "" "Enter text, click apply,\n" "move cursor into window, click to place text.\n" "Middle button to rotate while placing." msgstr "" "أدخل النص، انقر فوق تطبيق،\n" "حرّك المؤشر إلى داخل النافذة،ثم انقر لوضع النص.\n" "الزر الأوسط للتدوير عند الوضع." #: gschem/src/x_dialog.c:301 msgid "Upper Left" msgstr "اليسار العلوي" #: gschem/src/x_dialog.c:304 msgid "Upper Middle" msgstr "الوسط العلوي" #: gschem/src/x_dialog.c:307 msgid "Upper Right" msgstr "اليمين العلوي" #: gschem/src/x_dialog.c:311 msgid "Middle Left" msgstr "اليسار الوسطي" #: gschem/src/x_dialog.c:314 msgid "Middle Middle" msgstr "الوسط الوسطي" #: gschem/src/x_dialog.c:317 msgid "Middle Right" msgstr "اليمين الوسطي" #: gschem/src/x_dialog.c:321 msgid "Lower Left" msgstr "اليسار السفلي" #: gschem/src/x_dialog.c:324 msgid "Lower Middle" msgstr "الوسط السفلي" #: gschem/src/x_dialog.c:327 msgid "Lower Right" msgstr "اليمين السفلي" #: gschem/src/x_dialog.c:438 msgid "Edit Text Properties" msgstr "حرّر خصائص النص" #: gschem/src/x_dialog.c:473 msgid "Text Content" msgstr "محتوى النص" #: gschem/src/x_dialog.c:509 msgid "Text Properties" msgstr "خصائص النص" #: gschem/src/x_dialog.c:524 msgid "Color:" msgstr "اللون:" #: gschem/src/x_dialog.c:531 msgid "Size:" msgstr "الحجم:" #: gschem/src/x_dialog.c:540 msgid "Alignment:" msgstr "المحاذاة:" #: gschem/src/x_dialog.c:589 msgid "Solid" msgstr "متواصل" #: gschem/src/x_dialog.c:590 msgid "Dotted" msgstr "منقط" #: gschem/src/x_dialog.c:591 msgid "Dashed" msgstr "شُرَط" #: gschem/src/x_dialog.c:592 msgid "Center" msgstr "وسط" #: gschem/src/x_dialog.c:593 msgid "Phantom" msgstr "وهم" #: gschem/src/x_dialog.c:594 gschem/src/x_dialog.c:691 #: gschem/src/x_dialog.c:700 gschem/src/x_dialog.c:709 #: gschem/src/x_dialog.c:810 gschem/src/x_dialog.c:813 #: gschem/src/x_dialog.c:816 gschem/src/x_dialog.c:1043 #: gschem/src/x_dialog.c:1146 gschem/src/x_dialog.c:1155 #: gschem/src/x_dialog.c:1164 gschem/src/x_dialog.c:1173 #: gschem/src/x_dialog.c:1182 gschem/src/x_dialog.c:1295 #: gschem/src/x_dialog.c:1298 gschem/src/x_dialog.c:1301 #: gschem/src/x_dialog.c:1304 gschem/src/x_dialog.c:1307 msgid "*unchanged*" msgstr "*لم يغيّر*" #: gschem/src/x_dialog.c:921 msgid "Edit Line Width & Type" msgstr "حرّر عرض و نوع الخط" #: gschem/src/x_dialog.c:960 gschem/src/x_print.c:307 msgid "Type:" msgstr "النّوع:" #: gschem/src/x_dialog.c:964 msgid "Width:" msgstr "العرض:" #: gschem/src/x_dialog.c:968 msgid "Dash Length:" msgstr "طول الشرطة:" #: gschem/src/x_dialog.c:972 msgid "Dash Space:" msgstr "فراغ الشرطة:" #: gschem/src/x_dialog.c:1039 msgid "Hollow" msgstr "مجوّف" #: gschem/src/x_dialog.c:1040 msgid "Filled" msgstr "مملوء" #: gschem/src/x_dialog.c:1041 msgid "Mesh" msgstr "خيط الشبكة" #: gschem/src/x_dialog.c:1042 msgid "Hatch" msgstr "تهشير" #: gschem/src/x_dialog.c:1416 msgid "Edit Fill Type" msgstr "حرّر نوع الملء" #: gschem/src/x_dialog.c:1455 msgid "Fill Type:" msgstr "نوع الملء:" #: gschem/src/x_dialog.c:1459 msgid "Line Width:" msgstr "عرض الخط:" #: gschem/src/x_dialog.c:1463 msgid "Angle 1:" msgstr "الزاوية 1:" #: gschem/src/x_dialog.c:1467 msgid "Pitch 1:" msgstr "الإنحدار 1:" #: gschem/src/x_dialog.c:1471 msgid "Angle 2:" msgstr "الزاوية 2:" #: gschem/src/x_dialog.c:1475 msgid "Pitch 2:" msgstr "الإنحدار 2:" #: gschem/src/x_dialog.c:1602 msgid "Arc Params" msgstr "معاملات القوس" #: gschem/src/x_dialog.c:1643 msgid "Arc Radius:" msgstr "شعاع القوس:" #: gschem/src/x_dialog.c:1651 msgid "Start Angle:" msgstr "زاوية البدأ:" #: gschem/src/x_dialog.c:1659 msgid "Degrees of Sweep:" msgstr "درجات الاجتياح:" #: gschem/src/x_dialog.c:1777 msgid "" "Offset to translate?\n" "(0 for origin)" msgstr "" "قيمة الإزاحة من أجل السحب؟\n" "(0 من أجل المبدأ)" #: gschem/src/x_dialog.c:1845 msgid "Text Size" msgstr "حجم النص" #: gschem/src/x_dialog.c:1875 msgid "Enter new text size:" msgstr "أدخل حجم نص جديد:" #: gschem/src/x_dialog.c:1951 msgid "Snap Size" msgstr "حجم الجذب" #: gschem/src/x_dialog.c:1981 msgid "Enter new snap grid spacing:" msgstr "أدخل تباعد جديد لشبيكة الجذب:" #: gschem/src/x_dialog.c:2058 msgid "Edit slot number" msgstr "حرّر عدد الشقّ" #: gschem/src/x_dialog.c:2089 msgid "Edit slot number:" msgstr "تحرير عدد الشقّ:" #: gschem/src/x_dialog.c:2130 #, c-format msgid "%s (g%.7s)" msgstr "" #: gschem/src/x_dialog.c:2151 msgid "About gschem" msgstr "عن gschem" #: gschem/src/x_dialog.c:2152 msgid "gEDA: GPL Electronic Design Automation" msgstr "gEDA: GPL Electronic Design Automation (أتمتة التصميم الإلكتروني)" #. TRANSLATORS: "ChangeLog" is a literal filename; please don't translate it. #: gschem/src/x_dialog.c:2155 msgid "" "Copyright © 1998-2012 Ales Hvezda \n" "Copyright © 1998-2012 gEDA Contributors (see ChangeLog for details)" msgstr "" #: gschem/src/x_dialog.c:2214 msgid "Coords" msgstr "إحداثيات" #: gschem/src/x_dialog.c:2235 msgid "Screen" msgstr "شاشة" #: gschem/src/x_dialog.c:2244 msgid "World" msgstr "عالم" #: gschem/src/x_dialog.c:2283 msgid "Background" msgstr "خلفيّة" #: gschem/src/x_dialog.c:2289 msgid "Net endpoint" msgstr "نقطة النهاية للشبكة" #: gschem/src/x_dialog.c:2292 msgid "Graphic" msgstr "رسم" #: gschem/src/x_dialog.c:2301 msgid "Logic bubble" msgstr "فقاعة المنطق" #: gschem/src/x_dialog.c:2304 msgid "Grid point" msgstr "نقطة شبيكة" #: gschem/src/x_dialog.c:2307 msgid "Detached attribute" msgstr "سمة مفصولة" #: gschem/src/x_dialog.c:2310 gschem/src/x_window.c:387 msgid "Text" msgstr "نص" #: gschem/src/x_dialog.c:2316 msgid "Selection" msgstr "منتقى" #: gschem/src/x_dialog.c:2319 msgid "Bounding box" msgstr "مربع إحاطة" #: gschem/src/x_dialog.c:2322 msgid "Zoom box" msgstr "قرّب المربع" #: gschem/src/x_dialog.c:2331 msgid "Output background" msgstr "خلفية الإخراج" #: gschem/src/x_dialog.c:2334 msgid "Net junction" msgstr "وصلة شبكة" #: gschem/src/x_dialog.c:2337 msgid "Mesh grid major" msgstr "أساسي - خيط الشبيكة" #: gschem/src/x_dialog.c:2340 msgid "Mesh grid minor" msgstr "ثانوي - خيط الشبيكة" #: gschem/src/x_dialog.c:2343 msgid "Unknown" msgstr "مجهول" #: gschem/src/x_dialog.c:2494 #, c-format msgid "ERROR: NULL object in color_edit_dialog_apply!\n" msgstr "خطأ: كائن فارغ (NULL) في color_edit_dialog_apply!\n" #: gschem/src/x_dialog.c:2538 msgid "Color Edit" msgstr "تحرير اللون" #: gschem/src/x_dialog.c:2569 msgid "Object color:" msgstr "لون الكائن:" #: gschem/src/x_dialog.c:2622 msgid "Hotkeys" msgstr "مفاتيح ساخنة" #: gschem/src/x_dialog.c:2662 msgid "Function" msgstr "وظيفة" #: gschem/src/x_dialog.c:2669 msgid "Keystroke(s)" msgstr "ضغطة مفاتيح" #: gschem/src/x_dialog.c:2977 msgid "Find Text" msgstr "ابحث عن نص" #: gschem/src/x_dialog.c:3008 msgid "Text to find:" msgstr "النص المطلوب:" #: gschem/src/x_dialog.c:3018 msgid "descend into hierarchy" msgstr "انحدر في التسلسل الهرمي" #: gschem/src/x_dialog.c:3084 msgid "Hide Text" msgstr "أخف النص" #: gschem/src/x_dialog.c:3115 msgid "Hide text starting with:" msgstr "أخف النص البادئ بـ:" #: gschem/src/x_dialog.c:3185 msgid "Show Text" msgstr "أظهر النص" #: gschem/src/x_dialog.c:3216 msgid "Show text starting with:" msgstr "أظهر النص البادئ بـ:" #: gschem/src/x_dialog.c:3675 msgid "S_elect the schematics you want to save:" msgstr "انتق المخططات التي تريد حفظها:" #: gschem/src/x_dialog.c:3770 #, c-format msgid "Save the changes to schematic \"%s\" before closing?" msgstr "هل تريد حفظ التغييرات إلى المخطط \"%s\" قبل الإغلاق؟" #: gschem/src/x_dialog.c:3776 #, c-format msgid "" "There are %d schematics with unsaved changes. Save changes before closing?" msgstr "هناك %d مخطط مع تغييرات غير محفوظة. هل تريد حفظ التغييرات قبل الإغلاق؟" #: gschem/src/x_dialog.c:3805 msgid "If you don't save, all your changes will be permanently lost." msgstr "ستضيع جميع التّغييرات للأبد إذا لم تحفظ." #: gschem/src/x_dialog.c:3825 msgid "_Close without saving" msgstr "أ_غلق دون حفظ" #: gschem/src/x_dialog.c:4161 #, c-format msgid "" "The input attribute \"%s\" is invalid\n" "Please correct in order to continue\n" "\n" "The name and value must be non-empty.\n" "The name cannot end with a space.\n" "The value cannot start with a space." msgstr "" "‏سمة الإدخال \"%s\" غير صالحة\n" "الرجاء تصحيحها من أجل الاستمرار\n" "\n" "يجب أن يكون الاسم و القيمة غير فارغين.\n" "لا يمكن أن ينتهي الاسم بمسافة.\n" "لا يمكن بدء القيمة بمسافة." #: gschem/src/x_dialog.c:4163 msgid "Invalid Attribute" msgstr "سمة غير صالحة" #: gschem/src/x_dialog.c:4199 msgid "Pin type" msgstr "نوع الدبوس" #: gschem/src/x_dialog.c:4223 msgid "Net pin" msgstr "دبوس لشبكة" #: gschem/src/x_dialog.c:4225 msgid "Bus pin (graphical)" msgstr "دبوس لناقل (رسومي)" #: gschem/src/x_fileselect.c:42 msgid "Schematics" msgstr "مخططات" #: gschem/src/x_fileselect.c:47 msgid "Symbols" msgstr "رموز" #: gschem/src/x_fileselect.c:52 msgid "Schematics and symbols" msgstr "مخططات و رموز" #: gschem/src/x_fileselect.c:58 msgid "All files" msgstr "كل الملفات" #: gschem/src/x_fileselect.c:171 msgid "Open..." msgstr "افتح..." #: gschem/src/x_fileselect.c:231 msgid "Save as..." msgstr "احفظ كـ..." #: gschem/src/x_fileselect.c:284 #, c-format msgid "" "The selected file `%s' already exists.\n" "\n" "Would you like to overwrite it?" msgstr "" "الملف المنتقى '%s' موجود مسبقا.\n" "\n" "هل تريد الكتابة فوقه؟" #: gschem/src/x_fileselect.c:287 msgid "Overwrite file?" msgstr "اكتب على الملف؟" #: gschem/src/x_fileselect.c:289 msgid "Save cancelled on user request\n" msgstr "ألغي الحفظ بناء على طلب المستخدم\n" #: gschem/src/x_image.c:176 msgid "Encapsulated Postscript" msgstr "بوست-سكريبت مغلف" #: gschem/src/x_image.c:296 #, c-format msgid "x_image_lowlevel: Unable to write eps file %s.\n" msgstr "‏x_image_lowlevel: غير قادر على كتابة ملف ‬eps %s.\n" #: gschem/src/x_image.c:374 #, c-format msgid "x_image_lowlevel: Unable to write %s file %s.\n" msgstr "‏x_image_lowlevel: غير قادر على كتابة ملف ‬%s %s.\n" #: gschem/src/x_image.c:384 #, c-format msgid "" "There was the following error when saving image with type %s to filename:\n" "%s\n" "\n" "%s.\n" msgstr "" "حدث الخطأ التالي عند حفظ صورة مع النوع %s تحت اسم الملف:\n" "%s\n" "\n" "%s.\n" #: gschem/src/x_image.c:403 #, c-format msgid "Wrote color image to [%s] [%d x %d]\n" msgstr "كتب صورة ملونة إلى [%s] [%d x %d]\n" #: gschem/src/x_image.c:405 #, c-format msgid "Wrote black and white image to [%s] [%d x %d]\n" msgstr "كتب صورة بالأبيض والأسود إلى [%s] [%d x %d]\n" #: gschem/src/x_image.c:413 msgid "x_image_lowlevel: Unable to get pixbuf from gschem's window.\n" msgstr "‏x_image_lowlevel: تعذر الحصول على pixbuf من نافذة gschem.\n" #: gschem/src/x_image.c:458 msgid "Width x Height" msgstr "عرض × ارتفاع" #: gschem/src/x_image.c:474 msgid "Image type" msgstr "نوع الصورة" #: gschem/src/x_image.c:495 msgid "Write image..." msgstr "أكتب صورة..." #: gschem/src/x_log.c:209 msgid "** Invalid UTF-8 in log message. See stderr or gschem.log.\n" msgstr "‏** UTF-8 غير صالح في رسالة سجل. راجع stderr أو gschem.log.\n" #: gschem/src/x_log.c:288 msgid "Status" msgstr "الحالة" #: gschem/src/x_menus.c:37 msgid "/Add Net" msgstr "/أضف شبكة" #: gschem/src/x_menus.c:38 msgid "/Add Attribute..." msgstr "/أضف سمة..." #: gschem/src/x_menus.c:39 msgid "/Add Component..." msgstr "/أضف مكونا..." #: gschem/src/x_menus.c:40 msgid "/Add Bus" msgstr "/أضف ناقلا" #: gschem/src/x_menus.c:41 msgid "/Add Text" msgstr "/أضف نصا" #: gschem/src/x_menus.c:43 msgid "/Zoom In" msgstr "/قرّب" #: gschem/src/x_menus.c:44 msgid "/Zoom Out" msgstr "/بعّد" #: gschem/src/x_menus.c:45 msgid "/Zoom Box" msgstr "/قرب الإطار" #: gschem/src/x_menus.c:46 msgid "/Zoom Extents" msgstr "/قرّب مع شمل الامتدادات" #: gschem/src/x_menus.c:48 msgid "/Select" msgstr "/انتق" #: gschem/src/x_menus.c:49 msgid "/Edit..." msgstr "/حرّر..." #: gschem/src/x_menus.c:50 msgid "/Edit pin type..." msgstr "/حرّر نوع الدبوس" #: gschem/src/x_menus.c:51 msgid "/Copy" msgstr "/انسخ" #: gschem/src/x_menus.c:52 msgid "/Move" msgstr "/حرّك" #: gschem/src/x_menus.c:53 msgid "/Delete" msgstr "/احذف" #: gschem/src/x_menus.c:56 msgid "/Down Schematic" msgstr "/انزل إلى المخطط" #: gschem/src/x_menus.c:57 msgid "/Down Symbol" msgstr "/انزل إلى الرمز" #: gschem/src/x_menus.c:58 msgid "/Up" msgstr "/اصعد" #: gschem/src/x_menus.c:348 #, c-format msgid "Tried to set the sensitivity on non-existent menu item '%s'\n" msgstr "محاولة تعيين الحساسية على عنصر قائمة غير موجود '%s'\n" #: gschem/src/x_menus.c:372 msgid "Popup_menu_item_factory doesn't exist!\n" msgstr "مصنع-عنصر-القائمة-المنبثقة غير موجود!\n" #: gschem/src/x_menus.c:385 msgid "Tried to set the sensitivity on a non-existent popup menu_item\n" msgstr "محاولة تعيين الحساسية على عنصر قائمة منبثقة غير موجود '%s'\n" #: gschem/src/x_misc.c:74 msgid "The operating system is out of memory or resources." msgstr "" #: gschem/src/x_misc.c:155 #, c-format msgid "%s failed to launch URI" msgstr "" #: gschem/src/x_multiattrib.c:961 msgid "Attributes with empty name are not allowed. Please set a name." msgstr "غير مسموح بسمات مع اسم فارغ. الرجاء تعيين اسم." #: gschem/src/x_multiattrib.c:1514 msgid "Show Value only" msgstr "أظهر القيمة فقط" #: gschem/src/x_multiattrib.c:1516 msgid "Show Name only" msgstr "أظهر الاسم فقط" #: gschem/src/x_multiattrib.c:1544 msgid "Promote" msgstr "رَقِّ" #: gschem/src/x_multiattrib.c:1548 msgid "Duplicate" msgstr "ضاعف" #: gschem/src/x_multiattrib.c:1765 msgid "Edit Attributes" msgstr "حرّر المواصفات" #: gschem/src/x_multiattrib.c:1883 msgid "Vis?" msgstr "ظاهر؟" #: gschem/src/x_multiattrib.c:1901 msgid "N" msgstr "N" #: gschem/src/x_multiattrib.c:1919 msgid "V" msgstr "V" #: gschem/src/x_multiattrib.c:1941 msgid "Show inherited attributes" msgstr "أظهر السمات الموروثة" #: gschem/src/x_multiattrib.c:1957 msgid "Add Attribute" msgstr "أضف سمة" #: gschem/src/x_pagesel.c:246 msgid "New Page" msgstr "صفحة جديدة" #: gschem/src/x_pagesel.c:247 msgid "Open Page..." msgstr "افتح صفحة..." #: gschem/src/x_pagesel.c:249 msgid "Save Page" msgstr "احفظ الصفحة" #: gschem/src/x_pagesel.c:250 msgid "Close Page" msgstr "أغلق الصفحة" #: gschem/src/x_pagesel.c:251 msgid "Discard Page" msgstr "أهمل الصفحة" #: gschem/src/x_pagesel.c:369 msgid "Page Manager" msgstr "مدير الصفحات" #: gschem/src/x_pagesel.c:425 msgid "Filename" msgstr "اسم الملف" #: gschem/src/x_pagesel.c:441 msgid "Changed" msgstr "غُيّر" #: gschem/src/x_pagesel.c:461 msgid "Right click on the filename for more options..." msgstr "نقرة يمنى فوق اسم الملف للحصول على المزيد من الخيارات..." #: gschem/src/x_preview.c:231 msgid "Preview Buffer" msgstr "معاينة المخزن" #: gschem/src/x_print.c:84 msgid "Select PostScript Filename..." msgstr "انتق اسم ملف بوست-سكريبت..." #: gschem/src/x_print.c:164 msgid "Extents with margins" msgstr "امتدادات مع هوامش" #: gschem/src/x_print.c:170 msgid "Extents no margins" msgstr "امتدادات بلا هوامش" #: gschem/src/x_print.c:176 msgid "Current Window" msgstr "النافذة الحالية" #: gschem/src/x_print.c:210 msgid "Landscape" msgstr "عرضيّ" #: gschem/src/x_print.c:216 msgid "Portrait" msgstr "طوليّ" #: gschem/src/x_print.c:276 msgid "Print..." msgstr "اطبع..." #: gschem/src/x_print.c:284 msgid "Settings" msgstr "إعدادات" #: gschem/src/x_print.c:296 msgid "Output paper size:" msgstr "حجم ورق الإخراج:" #: gschem/src/x_print.c:318 msgid "Orientation:" msgstr "الاتّجاه:" #: gschem/src/x_print.c:330 msgid "Destination" msgstr "الوجهة" #: gschem/src/x_print.c:343 msgid "File:" msgstr "الملف:" #: gschem/src/x_print.c:373 msgid "Command:" msgstr "الأمر:" #: gschem/src/x_print.c:745 msgid "No print destination specified\n" msgstr "لم تعيّن وجهة للطباعة\n" #: gschem/src/x_print.c:752 #, c-format msgid "Cannot print current schematic to [%s]\n" msgstr "لا يمكن طباعة المخطط الحالي إلى [‎%s‬]\n" #: gschem/src/x_print.c:761 #, c-format msgid "" "Error printing to file '%s'\n" "Check the log window for more information" msgstr "" "خطأ في الطباعة إلى الملف '%s'\n" "تحقق من نافذة السجل للمزيد من المعلومات" #: gschem/src/x_print.c:768 #, c-format msgid "Printed current schematic to [%s]\n" msgstr "طُبع المخطط الحالي إلى [‎%s‬]\n" #: gschem/src/x_rc.c:40 msgid "ERROR: An unknown error occurred while parsing configuration files.\n" msgstr "" #: gschem/src/x_rc.c:45 msgid "" "An unknown error occurred while parsing configuration files.\n" "\n" "The gschem log may contain more information." msgstr "" #: gschem/src/x_rc.c:57 #, c-format msgid "ERROR: %s\n" msgstr "" #: gschem/src/x_rc.c:60 #, c-format msgid "" "%s\n" "\n" "The gschem log may contain more information." msgstr "" #: gschem/src/x_rc.c:68 msgid "Cannot load gschem configuration." msgstr "" #: gschem/src/x_script.c:47 gschem/lib/system-gschemrc.scm:1381 msgid "Execute Script..." msgstr "نفذ مخطوطا (سكربت)..." #: gschem/src/x_script.c:66 #, c-format msgid "Executing guile script [%s]\n" msgstr "تنفيذ مخطوط guile [‎%s‬]\n" #: gschem/src/x_window.c:82 #, c-format msgid "Couldn't allocate gc\n" msgstr "تعذر تحديد موقع gc\n" #: gschem/src/x_window.c:321 msgid "New" msgstr "جديد" #: gschem/src/x_window.c:322 msgid "New file" msgstr "ملف جديد" #: gschem/src/x_window.c:328 msgid "Open" msgstr "افتح" #: gschem/src/x_window.c:329 msgid "Open file..." msgstr "افتح ملفا..." #: gschem/src/x_window.c:335 msgid "Save" msgstr "احفظ" #: gschem/src/x_window.c:336 msgid "Save file" msgstr "احفظ الملف" #: gschem/src/x_window.c:343 msgid "Undo" msgstr "تراجع" #: gschem/src/x_window.c:344 msgid "Undo last operation" msgstr "تراجع عن العملية الأخيرة" #: gschem/src/x_window.c:350 msgid "Redo" msgstr "كرّر" #: gschem/src/x_window.c:351 msgid "Redo last undo" msgstr "أعد آخر عملية متراجع عنها" #: gschem/src/x_window.c:360 msgid "" "Add component...\n" "Select library and component from list, move the mouse into main window, " "click to place\n" "Right mouse button to cancel" msgstr "" "أضف مكونا...\n" "انتق مكتبة و مكونا من القائمة، حرك الفأرة إلى داخل النافذة الرئيسية،ثم انقر " "لوضعه\n" "الزر الأيمن للفارة للإلغاء" #: gschem/src/x_window.c:370 msgid "" "Add nets mode\n" "Right mouse button to cancel" msgstr "" "وضع إضافة شبكات\n" "الزر الأيمن للفارة للإلغاء" #: gschem/src/x_window.c:380 msgid "" "Add buses mode\n" "Right mouse button to cancel" msgstr "" "وضع إضافة النواقل\n" "الزر الأيمن للفارة للإلغاء" #: gschem/src/x_window.c:388 msgid "Add Text..." msgstr "أضف نصا..." #: gschem/src/x_window.c:398 msgid "Select" msgstr "انتق" #: gschem/src/x_window.c:399 msgid "Select mode" msgstr "وضع الإنتقاء" #: gschem/src/x_window.c:465 msgid "Evaluate:" msgstr "" #: gschem/src/x_window.c:484 msgid "Pick" msgstr "التقط" #: gschem/src/x_window.c:500 msgid "Repeat/none" msgstr "كرّر/لا شيء" #: gschem/src/x_window.c:510 msgid "Menu/Cancel" msgstr "قائمة/ألغِ" #: gschem/src/x_window.c:512 msgid "Pan/Cancel" msgstr "انتقل/ألغِ" #: gschem/src/x_window.c:737 #, c-format msgid "Loading schematic [%s]\n" msgstr "تحميل المخطط [‎%s‬]\n" #: gschem/src/x_window.c:748 #, c-format msgid "" "An error occurred while loading the requested file.\n" "\n" "Loading from '%s' failed: %s. The gschem log may contain more information." msgstr "" #: gschem/src/x_window.c:750 msgid "Failed to load file" msgstr "فشل تحميل الملف" #: gschem/src/x_window.c:759 #, c-format msgid "New file [%s]\n" msgstr "ملف جديد [‎%s‬]\n" #: gschem/src/x_window.c:862 #, c-format msgid "Could NOT save page [%s]\n" msgstr "تعذّر حفظ الصفحة [‎%s‬]\n" #: gschem/src/x_window.c:863 msgid "Error while trying to save" msgstr "خطا عند محاولة الحفظ" #: gschem/src/x_window.c:873 #, fuzzy msgid "Failed to save file" msgstr "فشل تحميل الملف" #: gschem/src/x_window.c:884 #, c-format msgid "Saved as [%s]\n" msgstr "حُفظ كـ [‎%s‬]\n" #: gschem/src/x_window.c:886 #, c-format msgid "Saved [%s]\n" msgstr "‏حُفظ [‎%s‬]\n" #: gschem/src/x_window.c:888 msgid "Saved" msgstr "محفوظ" #: gschem/src/x_window.c:962 #, c-format msgid "Discarding page [%s]\n" msgstr "إهمال الصفحة [‎%s‬]\n" #: gschem/src/x_window.c:962 #, c-format msgid "Closing [%s]\n" msgstr "غلق [‎%s‬]\n" #: gschem/data/geda-gschem.desktop.in:3 msgid "gEDA Schematic Editor" msgstr "محرّر المخططات gEDA" #: gschem/data/geda-gschem.desktop.in:4 msgid "Create and edit electrical schematics and symbols with gschem" msgstr "أنشء و حرّر المخططات الكهربائية والرموز مع gschem" #: gschem/lib/system-gschemrc.scm:1368 msgid "_New" msgstr "_جديد" #: gschem/lib/system-gschemrc.scm:1369 msgid "_Open..." msgstr "ا_فتح..." #: gschem/lib/system-gschemrc.scm:1371 msgid "Open Recen_t" msgstr "افتح الأح_دث" #: gschem/lib/system-gschemrc.scm:1373 msgid "_Save" msgstr "ا_حفظ" #: gschem/lib/system-gschemrc.scm:1374 msgid "Save _As..." msgstr "احفظ _ك‍..." #: gschem/lib/system-gschemrc.scm:1375 msgid "Save All" msgstr "احفظ الكل" #: gschem/lib/system-gschemrc.scm:1376 gschem/lib/system-gschemrc.scm:1469 msgid "_Revert" msgstr "ت_راجع" #: gschem/lib/system-gschemrc.scm:1378 msgid "_Print..." msgstr "ا_طبع..." #: gschem/lib/system-gschemrc.scm:1379 msgid "Write _image..." msgstr "أكتب _صورة..." #: gschem/lib/system-gschemrc.scm:1383 msgid "New Window" msgstr "نافذة جديدة" #: gschem/lib/system-gschemrc.scm:1384 #, fuzzy msgid "_Close Window" msgstr "أغلق النافذة" #: gschem/lib/system-gschemrc.scm:1385 msgid "_Quit" msgstr "أ_خرج" #: gschem/lib/system-gschemrc.scm:1391 msgid "_Undo" msgstr "ت_راجع" #: gschem/lib/system-gschemrc.scm:1392 msgid "_Redo" msgstr "_كرّر" #: gschem/lib/system-gschemrc.scm:1394 msgid "Cu_t" msgstr "_قصّ" #: gschem/lib/system-gschemrc.scm:1395 msgid "_Copy" msgstr "ا_نسخ" #: gschem/lib/system-gschemrc.scm:1396 msgid "_Paste" msgstr "أ_لصق" #: gschem/lib/system-gschemrc.scm:1397 msgid "_Delete" msgstr "ا_حذف" #: gschem/lib/system-gschemrc.scm:1400 #, fuzzy msgid "Select All" msgstr "انتق" #: gschem/lib/system-gschemrc.scm:1401 #, fuzzy msgid "Deselect" msgstr "انتق" #: gschem/lib/system-gschemrc.scm:1405 msgid "Rotate 90 Mode" msgstr "وضع الاستدارة 90" #: gschem/lib/system-gschemrc.scm:1408 msgid "Edit..." msgstr "حرّر..." #: gschem/lib/system-gschemrc.scm:1409 msgid "Edit Text..." msgstr "حرّر النص..." #: gschem/lib/system-gschemrc.scm:1410 msgid "Slot..." msgstr "شقّ..." #: gschem/lib/system-gschemrc.scm:1411 msgid "Color..." msgstr "لون..." #: gschem/lib/system-gschemrc.scm:1412 msgid "Line Width & Type..." msgstr "عرض و نوع الخط..." #: gschem/lib/system-gschemrc.scm:1413 msgid "Fill Type..." msgstr "نوع الملء..." #: gschem/lib/system-gschemrc.scm:1414 msgid "Symbol Translate..." msgstr "سحب الرمز..." #: gschem/lib/system-gschemrc.scm:1418 msgid "Invoke Macro" msgstr "استدع ماكرو" #: gschem/lib/system-gschemrc.scm:1419 msgid "Embed Component/Picture" msgstr "ضمّن المكون/الصورة" #: gschem/lib/system-gschemrc.scm:1420 msgid "Unembed Component/Picture" msgstr "لا تضمّن المكون/الصورة" #: gschem/lib/system-gschemrc.scm:1421 msgid "Update Component" msgstr "حدّث المكون" #: gschem/lib/system-gschemrc.scm:1422 msgid "Show/Hide Inv Text" msgstr "أظهر/أخف النص الخفي" #: gschem/lib/system-gschemrc.scm:1428 msgid "Copy into 1" msgstr "انسخ إلى 1" #: gschem/lib/system-gschemrc.scm:1429 msgid "Copy into 2" msgstr "انسخ إلى 2" #: gschem/lib/system-gschemrc.scm:1430 msgid "Copy into 3" msgstr "انسخ إلى 3" #: gschem/lib/system-gschemrc.scm:1431 msgid "Copy into 4" msgstr "انسخ إلى 4" #: gschem/lib/system-gschemrc.scm:1432 msgid "Copy into 5" msgstr "انسخ إلى 5" #: gschem/lib/system-gschemrc.scm:1433 msgid "Cut into 1" msgstr "قص إلى 1" #: gschem/lib/system-gschemrc.scm:1434 msgid "Cut into 2" msgstr "قص إلى 2" #: gschem/lib/system-gschemrc.scm:1435 msgid "Cut into 3" msgstr "قص إلى 3" #: gschem/lib/system-gschemrc.scm:1436 msgid "Cut into 4" msgstr "قص إلى 4" #: gschem/lib/system-gschemrc.scm:1437 msgid "Cut into 5" msgstr "قص إلى 5" #: gschem/lib/system-gschemrc.scm:1438 msgid "Paste from 1" msgstr "ألصق من 1" #: gschem/lib/system-gschemrc.scm:1439 msgid "Paste from 2" msgstr "ألصق من 2" #: gschem/lib/system-gschemrc.scm:1440 msgid "Paste from 3" msgstr "ألصق من 3" #: gschem/lib/system-gschemrc.scm:1441 msgid "Paste from 4" msgstr "ألصق من 4" #: gschem/lib/system-gschemrc.scm:1442 msgid "Paste from 5" msgstr "ألصق من 5" #: gschem/lib/system-gschemrc.scm:1448 msgid "_Redraw" msgstr "أ_عد الرسم" #: gschem/lib/system-gschemrc.scm:1449 msgid "_Pan" msgstr "ا_نتقل" #: gschem/lib/system-gschemrc.scm:1450 msgid "Zoom _Box" msgstr "قرّب الم_ربع" #: gschem/lib/system-gschemrc.scm:1451 msgid "Zoom _Extents" msgstr "قرّب مع شمل الا_متدادات" #: gschem/lib/system-gschemrc.scm:1452 msgid "Zoom _In" msgstr "_قرّب" #: gschem/lib/system-gschemrc.scm:1453 msgid "Zoom _Out" msgstr "_بعّد" #: gschem/lib/system-gschemrc.scm:1454 msgid "Zoom _Full" msgstr "بعّد لل_حد الأقصى" #: gschem/lib/system-gschemrc.scm:1456 msgid "_Dark color scheme" msgstr "مخطط ألوان _داكنة" #: gschem/lib/system-gschemrc.scm:1457 msgid "_Light color scheme" msgstr "مخطط ألوان _فاتحة" #: gschem/lib/system-gschemrc.scm:1458 #, fuzzy msgid "B_W color scheme" msgstr "مخطط ألوان _داكنة" #: gschem/lib/system-gschemrc.scm:1465 msgid "_Manager..." msgstr "م_دير..." #: gschem/lib/system-gschemrc.scm:1466 msgid "_Previous" msgstr "ال_سّابقة" #: gschem/lib/system-gschemrc.scm:1467 msgid "_Next" msgstr "ال_تّالية" #: gschem/lib/system-gschemrc.scm:1468 msgid "Ne_w" msgstr "_جديدة" #: gschem/lib/system-gschemrc.scm:1470 msgid "_Close" msgstr "أ_غلق" #: gschem/lib/system-gschemrc.scm:1472 msgid "_Discard" msgstr "أ_همل" #: gschem/lib/system-gschemrc.scm:1478 msgid "_Component..." msgstr "م_كون..." #: gschem/lib/system-gschemrc.scm:1479 msgid "_Net" msgstr "_شبكة" #: gschem/lib/system-gschemrc.scm:1480 msgid "B_us" msgstr "نا_قل" #: gschem/lib/system-gschemrc.scm:1481 msgid "_Attribute..." msgstr "_سمة..." #: gschem/lib/system-gschemrc.scm:1482 msgid "_Text..." msgstr "_نص..." #: gschem/lib/system-gschemrc.scm:1484 msgid "_Line" msgstr "_خط" #: gschem/lib/system-gschemrc.scm:1485 msgid "_Box" msgstr "_إطار" #: gschem/lib/system-gschemrc.scm:1486 msgid "C_ircle" msgstr "_دائرة" #: gschem/lib/system-gschemrc.scm:1487 msgid "A_rc" msgstr "ق_وس" #: gschem/lib/system-gschemrc.scm:1488 msgid "_Pin" msgstr "د_بوس" #: gschem/lib/system-gschemrc.scm:1489 msgid "Pictu_re..." msgstr "_صورة..." #: gschem/lib/system-gschemrc.scm:1495 msgid "_Down Schematic" msgstr "ا_نزل إلى المخطّط" #: gschem/lib/system-gschemrc.scm:1496 msgid "Down _Symbol" msgstr "انزل إلى ال_رمز" #: gschem/lib/system-gschemrc.scm:1497 msgid "_Up" msgstr "ا_صعد" #: gschem/lib/system-gschemrc.scm:1498 msgid "D_ocumentation..." msgstr "ت_وثيق" #: gschem/lib/system-gschemrc.scm:1504 msgid "_Attach" msgstr "أ_رفق" #: gschem/lib/system-gschemrc.scm:1505 msgid "_Detach" msgstr "ا_فصل" #: gschem/lib/system-gschemrc.scm:1506 msgid "Show _Value" msgstr "أظهر ال_قيمة" #: gschem/lib/system-gschemrc.scm:1507 msgid "Show _Name" msgstr "أظهر ال_اسم" #: gschem/lib/system-gschemrc.scm:1508 msgid "Show _Both" msgstr "أظهر الإ_ثنين" #: gschem/lib/system-gschemrc.scm:1509 msgid "_Toggle Visibility" msgstr "_بدل الرؤية" #: gschem/lib/system-gschemrc.scm:1511 msgid "_Find Specific Text..." msgstr "اب_حث عن نص معين..." #: gschem/lib/system-gschemrc.scm:1512 msgid "_Hide Specific Text..." msgstr "أ_خف نصا معينا..." #: gschem/lib/system-gschemrc.scm:1513 msgid "_Show Specific Text..." msgstr "أ_ظهر نصا معينا..." #: gschem/lib/system-gschemrc.scm:1514 msgid "A_utonumber Text..." msgstr "_نص الترقيم الآلي..." #: gschem/lib/system-gschemrc.scm:1520 msgid "_Text Size..." msgstr "حجم ال_نص..." #: gschem/lib/system-gschemrc.scm:1521 msgid "Cycle _grid styles" msgstr "دوّر أنماط ال_شبيكة" #: gschem/lib/system-gschemrc.scm:1522 msgid "Toggle _Snap On/Off" msgstr "شغل/أوقف ال_جذب" #: gschem/lib/system-gschemrc.scm:1523 msgid "Snap Grid S_pacing..." msgstr "ت_باعد شبيكة الجذب..." #: gschem/lib/system-gschemrc.scm:1524 msgid "Scale _up Grid Spacing" msgstr "_كبّر تباعد الشبيكة" #: gschem/lib/system-gschemrc.scm:1526 msgid "Scale _down Grid Spacing" msgstr "_صغّر تباعد الشبيكة" #: gschem/lib/system-gschemrc.scm:1528 msgid "Toggle _Outline/Box" msgstr "بدّل ال_حد الخارجي/الإطار" #: gschem/lib/system-gschemrc.scm:1530 msgid "Toggle Net _Rubberband" msgstr "بدّل الشريط الم_طاطي للشبكة" #: gschem/lib/system-gschemrc.scm:1531 msgid "Toggle _Magnetic Net" msgstr "وضع الشبكة الم_غناطيسية" #: gschem/lib/system-gschemrc.scm:1532 msgid "Show _Log Window..." msgstr "أظهر نافذة ال_سجل..." #: gschem/lib/system-gschemrc.scm:1534 msgid "Show _Coord Window..." msgstr "أظهر نافذة الم_علم..." #: gschem/lib/system-gschemrc.scm:1542 msgid "gEDA Docu_mentation..." msgstr "تو_ثيق gEDA" #: gschem/lib/system-gschemrc.scm:1543 msgid "gschem _FAQ..." msgstr "الأ_سئلة الأكثر شيوعا لـ gschem" #: gschem/lib/system-gschemrc.scm:1544 msgid "gEDA _Wiki..." msgstr "_ويكي gEDA..." #: gschem/lib/system-gschemrc.scm:1545 msgid "Component D_ocumentation..." msgstr "توثيق الم_كونات" #: gschem/lib/system-gschemrc.scm:1547 msgid "_Hotkeys..." msgstr "مفاتيح _ساخنة" #: gschem/lib/system-gschemrc.scm:1548 msgid "_About..." msgstr "_عن..." #: gschem/lib/system-gschemrc.scm:1554 msgid "_File" msgstr "_ملف" #: gschem/lib/system-gschemrc.scm:1555 msgid "_Edit" msgstr "_تحرير" #: gschem/lib/system-gschemrc.scm:1556 msgid "_Buffer" msgstr "م_خزن" #: gschem/lib/system-gschemrc.scm:1557 msgid "_View" msgstr "_عرض" #: gschem/lib/system-gschemrc.scm:1558 msgid "_Page" msgstr "_صفحة" #: gschem/lib/system-gschemrc.scm:1559 msgid "_Add" msgstr "_أضف" #: gschem/lib/system-gschemrc.scm:1560 msgid "Hie_rarchy" msgstr "تسلسل​_هرمي" #: gschem/lib/system-gschemrc.scm:1561 msgid "A_ttributes" msgstr "_سمات" #: gschem/lib/system-gschemrc.scm:1562 msgid "_Options" msgstr "_خيارات" #: gschem/lib/system-gschemrc.scm:1563 msgid "_Help" msgstr "مساع_دة" #: gschem/scheme/gschem/deprecated.scm:102 #, scheme-format msgid "Invalid text alignment ~A." msgstr "" #: gschem/scheme/gschem/gschemdoc.scm:225 #, fuzzy msgid "No documentation found" msgstr "ت_وثيق" #: gschem/scheme/gschem/keymap.scm:38 #, scheme-format msgid "~S is not a valid key combination." msgstr "" #: gschem/scheme/gschem/keymap.scm:153 #, scheme-format msgid "~S is not a prefix key sequence." msgstr "" #~ msgid "" #~ "\n" #~ "The config option postscript-font-scale is deprecated and will be removed " #~ "in gEDA 1.8.0.\n" #~ "Printed text is fixed to match on-screen sizes. Please remove this option " #~ "from your config files.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "تمّ احتضار خيار الإعداد 'حجم الخط لـ postscript' و سيُزال في gEDA 1.8.0.\n" #~ "ثُبّت النص المطبوع ليطابق الحجم على الشاشة. الرجاء إزالة هذا الخيار من " #~ "ملفات الإعداد لديك.\n" #~ "\n" #~ msgid "Could not fork\n" #~ msgstr "تعذّر التشعيب\n" #~ msgid "Could not invoke %s\n" #~ msgstr "تعذّر استحضار %s\n" #~ msgid "Documentation commands not supported under MinGW.\n" #~ msgstr "أوامر التوثيق غير مدعومة تحت MinGW.\n" #~ msgid "Documentation for [%s,%s,%s,%s]\n" #~ msgstr "التوثيق لأجل [%s,%s,%s,%s]\n" #~ msgid "" #~ "This command retrieves the component documentation from the web, but " #~ "there is no component selected" #~ msgstr "هذا الأمر يستردّ توثيق المكوّن من الموقع، لكن لا يوجد أي مكوّن منتقى" #~ msgid "Scheme directory NOT set!\n" #~ msgstr "دليل المخطط غير معين!\n" #~ msgid "MakeVisible" #~ msgstr "أظهر" #~ msgid "" #~ "Usage: %s [OPTIONS] schematic_filename1 ... schematic_filenameN\n" #~ " -q Quiet mode\n" #~ " -v Verbose mode on\n" #~ " -r filename Rc filename\n" #~ " -s filename Script (guile) filename\n" #~ " -o filename Output filename (for printing)\n" #~ " -p Automatically place the window\n" #~ " -t Print stroke information\n" #~ " -h Help; this message\n" #~ "\n" #~ msgstr "" #~ "Usage: %s [OPTIONS] schematic_filename1 ... schematic_filenameN\n" #~ " -q Quiet mode\n" #~ " -v Verbose mode on\n" #~ " -r filename Rc filename\n" #~ " -s filename Script (guile) filename\n" #~ " -o filename Output filename (for printing)\n" #~ " -p Automatically place the window\n" #~ " -t Print stroke information\n" #~ " -h Help; this message\n" #~ "\n" #~ msgid "Couldn't open file %s\n" #~ msgstr "تعذر فتح الملف %s\n" #~ msgid "Clear" #~ msgstr "امسح" #~ msgid "Make Inv Text Vis" #~ msgstr "إجعل النص الخفي ظاهرا" #~ msgid "Update Cues" #~ msgstr "حدّث الإشارات" #~ msgid "About..." #~ msgstr "عن..." #~ msgid "gEDA: GPL Electronic Design Automation" #~ msgstr "" #~ "gEDA: GPL Electronic Design Automation (أتمتة التصميم الإلكتروني)" #~ msgid "gschem version %s%s.%s" #~ msgstr "‏إصدار gschem %s%s.%s" #~ msgid "" #~ "Written by:\n" #~ "Ales Hvezda\n" #~ "ahvezda@geda.seul.org\n" #~ "And many others (See AUTHORS file)" #~ msgstr "" #~ "كتبه:\n" #~ "‫Ales Hvezda\n" #~ "‫ahvezda@geda.seul.org\n" #~ "وكثيرين غيره (طالع الملف AUTHORS)" #~ msgid "Manual" #~ msgstr "يدوي" #~ msgid "Recent files" #~ msgstr "آخر الملفات" #~ msgid "Save Page As..." #~ msgstr "إحفظ الصفحة كـ..." #~ msgid "Revert Page" #~ msgstr "أعد الصفحة" #~ msgid "File" #~ msgstr "ملف" #~ msgid "Buffer" #~ msgstr "ذاكرة وسيطة" #~ msgid "View" #~ msgstr "عرض" #~ msgid "Page" #~ msgstr "الصفحة" #~ msgid "Add" #~ msgstr "أضف" #~ msgid "Hierarchy" #~ msgstr "تسلسل هرمي" #~ msgid "Options" #~ msgstr "خيارات" #~ msgid "Help" #~ msgstr "مساعدة" geda-gaf-1.8.2/gschem/po/sr.po0000664000175000017500000013617212220655644012770 00000000000000# Serbian translation for geda # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-01-27 14:18+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Serbian \n" "Language: sr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: gschem/src/a_zoom.c:212 msgid "Zoom too small! Cannot zoom further.\n" msgstr "" #: gschem/src/g_attrib.c:92 msgid "Object ~A is not included in the current gschem page." msgstr "" #: gschem/src/g_attrib.c:112 msgid "Invalid text name/value visibility ~A." msgstr "" #: gschem/src/g_rc.c:312 #, c-format msgid "Invalid zoomfactor [%d] passed to %s\n" msgstr "" #: gschem/src/g_rc.c:458 #, c-format msgid "Invalid size [%d] passed to text-size\n" msgstr "" #: gschem/src/g_rc.c:501 #, c-format msgid "Invalid size [%d] passed to snap-size\n" msgstr "" #: gschem/src/g_rc.c:958 #, c-format msgid "Invalid num levels [%d] passed to undo-levels\n" msgstr "" #: gschem/src/g_rc.c:1220 #, c-format msgid "Invalid size [%d] passed to bus-ripper-size\n" msgstr "" #: gschem/src/g_rc.c:1295 #, c-format msgid "Invalid dot size [%d] passed to dots-grid-dot-size\n" msgstr "" #: gschem/src/g_rc.c:1336 #, c-format msgid "Invalid pixel spacing [%d] passed to dots-grid-fixed-threshold\n" msgstr "" #: gschem/src/g_rc.c:1362 #, c-format msgid "Invalid pixel spacing [%d] passed to mesh-grid-display-threshold\n" msgstr "" #: gschem/src/g_rc.c:1387 #, c-format msgid "Invalid offset [%d] passed to add-attribute-offset\n" msgstr "" #: gschem/src/g_rc.c:1411 #, c-format msgid "Invalid number of seconds [%d] passed to auto-save-interval\n" msgstr "" #: gschem/src/g_rc.c:1435 #, c-format msgid "Invalid gain [%d] passed to mousepan-gain\n" msgstr "" #: gschem/src/g_rc.c:1458 #, c-format msgid "Invalid gain [%d] passed to keyboardpan-gain\n" msgstr "" #: gschem/src/g_rc.c:1505 #, c-format msgid "Invalid number of pixels [%d] passed to select-slack-pixels\n" msgstr "" #: gschem/src/g_rc.c:1531 #, c-format msgid "Invalid gain [%d] passed to zoom-gain\n" msgstr "" #: gschem/src/g_rc.c:1556 #, c-format msgid "Invalid number of steps [%d] scrollpan-steps\n" msgstr "" #: gschem/src/g_select.c:79 gschem/src/g_select.c:116 #: gschem/src/g_select.c:152 msgid "Object ~A is not directly included in a page." msgstr "" #: gschem/src/g_util.c:56 msgid "Could not launch URI ~S: ~A" msgstr "" #: gschem/src/g_window.c:136 msgid "Found invalid gschem window smob ~S" msgstr "" #: gschem/src/gschem.c:175 #, c-format msgid "gEDA/gschem version %s%s.%s\n" msgstr "" #: gschem/src/gschem.c:178 msgid "" "gEDA/gschem comes with ABSOLUTELY NO WARRANTY; see COPYING for more " "details.\n" msgstr "" #: gschem/src/gschem.c:180 msgid "" "This is free software, and you are welcome to redistribute it under certain\n" msgstr "" #: gschem/src/gschem.c:182 msgid "" "conditions; please see the COPYING file for more details.\n" "\n" msgstr "" #: gschem/src/gschem.c:185 #, c-format msgid "This is the MINGW32 port.\n" msgstr "" #: gschem/src/gschem.c:189 #, c-format msgid "Current locale settings: %s\n" msgstr "" #: gschem/src/gschem.c:211 msgid "" "You must set the GEDADATA environment variable!\n" "\n" "gschem cannot locate its data files. You must set the GEDADATA\n" "environment variable to point to the correct location.\n" msgstr "" #: gschem/src/gschem.c:248 #, c-format msgid "Couldn't find init scm file [%s]\n" msgstr "" #: gschem/src/gschem.c:252 #, c-format msgid "Read init scm file [%s]\n" msgstr "" #: gschem/src/gschem.c:256 #, c-format msgid "Failed to read init scm file [%s]\n" msgstr "" #: gschem/src/gschem_cairo.c:310 #, c-format msgid "Unknown end for line (%d)\n" msgstr "" #: gschem/src/gschem_cairo.c:318 #, c-format msgid "Unknown type for stroke (%d) !\n" msgstr "" #: gschem/src/gschem_pango.c:289 msgid "cairo context" msgstr "" #: gschem/src/gschem_pango.c:290 msgid "the cairo context for the renderer" msgstr "" #: gschem/src/i_basic.c:77 gschem/src/x_window.c:524 #: gschem/lib/system-gschemrc.scm:1399 msgid "Select Mode" msgstr "" #: gschem/src/i_basic.c:79 msgid "Component Mode" msgstr "" #: gschem/src/i_basic.c:81 msgid "Text Mode" msgstr "" #: gschem/src/i_basic.c:84 gschem/lib/system-gschemrc.scm:1402 msgid "Copy Mode" msgstr "" #: gschem/src/i_basic.c:87 gschem/lib/system-gschemrc.scm:1404 msgid "Move Mode" msgstr "" #: gschem/src/i_basic.c:89 msgid "Rotate Mode" msgstr "" #: gschem/src/i_basic.c:91 gschem/lib/system-gschemrc.scm:1406 msgid "Mirror Mode" msgstr "" #: gschem/src/i_basic.c:95 msgid "Zoom Box" msgstr "" #: gschem/src/i_basic.c:99 msgid "Pan Mode" msgstr "" #: gschem/src/i_basic.c:103 #, c-format msgid "Paste %d Mode" msgstr "" #: gschem/src/i_basic.c:109 msgid "Magnetic Net Mode" msgstr "" #: gschem/src/i_basic.c:111 msgid "Net Mode" msgstr "" #: gschem/src/i_basic.c:115 msgid "Bus Mode" msgstr "" #: gschem/src/i_basic.c:118 msgid "Line Mode" msgstr "" #: gschem/src/i_basic.c:121 msgid "Box Mode" msgstr "" #: gschem/src/i_basic.c:124 msgid "Picture Mode" msgstr "" #: gschem/src/i_basic.c:127 msgid "Circle Mode" msgstr "" #: gschem/src/i_basic.c:130 msgid "Arc Mode" msgstr "" #: gschem/src/i_basic.c:133 msgid "Pin Mode" msgstr "" #: gschem/src/i_basic.c:135 gschem/src/i_callbacks.c:529 #: gschem/src/i_callbacks.c:553 msgid "Copy" msgstr "" #: gschem/src/i_basic.c:137 gschem/src/i_callbacks.c:619 #: gschem/src/i_callbacks.c:643 msgid "Move" msgstr "" #: gschem/src/i_basic.c:139 gschem/src/i_callbacks.c:574 #: gschem/src/i_callbacks.c:598 msgid "Multiple Copy" msgstr "" #: gschem/src/i_basic.c:142 gschem/lib/system-gschemrc.scm:1403 msgid "Multiple Copy Mode" msgstr "" #: gschem/src/i_basic.c:168 msgid "Show Hidden" msgstr "" #: gschem/src/i_basic.c:171 msgid "Snap Off" msgstr "" #: gschem/src/i_basic.c:173 msgid "Resnap Active" msgstr "" #: gschem/src/i_basic.c:254 gschem/src/x_window.c:498 msgid "Action" msgstr "" #: gschem/src/i_basic.c:260 gschem/src/x_dialog.c:2325 #: gschem/src/x_window.c:493 msgid "Stroke" msgstr "" #: gschem/src/i_basic.c:266 gschem/src/x_window.c:495 msgid "none" msgstr "" #: gschem/src/i_basic.c:271 msgid "Repeat/" msgstr "" #: gschem/src/i_basic.c:566 gschem/src/i_basic.c:580 msgid "OFF" msgstr "" #: gschem/src/i_basic.c:584 msgid "NONE" msgstr "" #: gschem/src/i_basic.c:589 #, c-format msgid "Grid(%s, %s)" msgstr "" #: gschem/src/i_callbacks.c:76 gschem/src/i_callbacks.c:1659 #, c-format msgid "New page created [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:124 #, c-format msgid "New Window created [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:242 msgid "Failed to Save All" msgstr "" #: gschem/src/i_callbacks.c:244 msgid "Saved All" msgstr "" #: gschem/src/i_callbacks.c:334 msgid "Closing Window\n" msgstr "" #: gschem/src/i_callbacks.c:534 gschem/src/i_callbacks.c:579 #: gschem/src/i_callbacks.c:624 msgid "Select objs first" msgstr "" #: gschem/src/i_callbacks.c:663 gschem/src/x_multiattrib.c:1549 msgid "Delete" msgstr "" #: gschem/src/i_callbacks.c:688 msgid "Edit" msgstr "" #: gschem/src/i_callbacks.c:703 msgid "Edit pin type" msgstr "" #: gschem/src/i_callbacks.c:722 msgid "Edit Text" msgstr "" #: gschem/src/i_callbacks.c:745 msgid "Slot" msgstr "" #: gschem/src/i_callbacks.c:762 msgid "Color" msgstr "" #: gschem/src/i_callbacks.c:799 gschem/src/i_callbacks.c:844 msgid "Rotate" msgstr "" #: gschem/src/i_callbacks.c:866 gschem/src/i_callbacks.c:891 msgid "Mirror" msgstr "" #: gschem/src/i_callbacks.c:912 gschem/src/x_dialog.c:2328 #: gschem/lib/system-gschemrc.scm:1415 msgid "Lock" msgstr "" #: gschem/src/i_callbacks.c:930 gschem/lib/system-gschemrc.scm:1416 msgid "Unlock" msgstr "" #: gschem/src/i_callbacks.c:948 gschem/src/x_dialog.c:1746 msgid "Translate" msgstr "" #: gschem/src/i_callbacks.c:951 msgid "WARNING: Do not translate with snap off!\n" msgstr "" #: gschem/src/i_callbacks.c:952 msgid "WARNING: Turning snap on and continuing with translate.\n" msgstr "" #: gschem/src/i_callbacks.c:959 msgid "WARNING: Snap grid size is not equal to 100!\n" msgstr "" #: gschem/src/i_callbacks.c:961 msgid "" "WARNING: If you are translating a symbol to the origin, the snap grid size " "should be set to 100\n" msgstr "" #: gschem/src/i_callbacks.c:992 msgid "Embed" msgstr "" #: gschem/src/i_callbacks.c:1031 msgid "Unembed" msgstr "" #: gschem/src/i_callbacks.c:1073 msgid "Update" msgstr "" #: gschem/src/i_callbacks.c:1120 msgid "ShowHidden" msgstr "" #: gschem/src/i_callbacks.c:1426 gschem/src/i_callbacks.c:1498 msgid "Pan" msgstr "" #: gschem/src/i_callbacks.c:1703 msgid "Really revert page?" msgstr "" #: gschem/src/i_callbacks.c:1773 msgid "Copy to clipboard" msgstr "" #: gschem/src/i_callbacks.c:1791 msgid "Cut to clipboard" msgstr "" #: gschem/src/i_callbacks.c:1809 msgid "Paste from clipboard" msgstr "" #: gschem/src/i_callbacks.c:1821 gschem/src/i_callbacks.c:2060 #: gschem/src/i_callbacks.c:2082 gschem/src/i_callbacks.c:2104 #: gschem/src/i_callbacks.c:2126 gschem/src/i_callbacks.c:2148 msgid "Empty buffer" msgstr "" #: gschem/src/i_callbacks.c:1866 msgid "Copy 1" msgstr "" #: gschem/src/i_callbacks.c:1885 msgid "Copy 2" msgstr "" #: gschem/src/i_callbacks.c:1904 msgid "Copy 3" msgstr "" #: gschem/src/i_callbacks.c:1923 msgid "Copy 4" msgstr "" #: gschem/src/i_callbacks.c:1942 msgid "Copy 5" msgstr "" #: gschem/src/i_callbacks.c:1961 msgid "Cut 1" msgstr "" #: gschem/src/i_callbacks.c:1980 msgid "Cut 2" msgstr "" #: gschem/src/i_callbacks.c:1999 msgid "Cut 3" msgstr "" #: gschem/src/i_callbacks.c:2018 msgid "Cut 4" msgstr "" #: gschem/src/i_callbacks.c:2037 msgid "Cut 5" msgstr "" #: gschem/src/i_callbacks.c:2053 msgid "Paste 1" msgstr "" #: gschem/src/i_callbacks.c:2075 msgid "Paste 2" msgstr "" #: gschem/src/i_callbacks.c:2097 msgid "Paste 3" msgstr "" #: gschem/src/i_callbacks.c:2119 msgid "Paste 4" msgstr "" #: gschem/src/i_callbacks.c:2141 msgid "Paste 5" msgstr "" #: gschem/src/i_callbacks.c:2278 gschem/src/x_window.c:359 msgid "Component" msgstr "" #: gschem/src/i_callbacks.c:2314 gschem/src/i_callbacks.c:2333 #: gschem/src/x_dialog.c:2298 msgid "Attribute" msgstr "" #: gschem/src/i_callbacks.c:2355 gschem/src/i_callbacks.c:2382 #: gschem/src/x_dialog.c:2295 msgid "Net" msgstr "" #: gschem/src/i_callbacks.c:2426 gschem/src/i_callbacks.c:2453 #: gschem/src/x_dialog.c:2313 gschem/src/x_window.c:379 msgid "Bus" msgstr "" #: gschem/src/i_callbacks.c:2534 gschem/src/i_callbacks.c:2557 msgid "Line" msgstr "" #: gschem/src/i_callbacks.c:2579 gschem/src/i_callbacks.c:2602 msgid "Box" msgstr "" #: gschem/src/i_callbacks.c:2658 gschem/src/i_callbacks.c:2682 msgid "Circle" msgstr "" #: gschem/src/i_callbacks.c:2704 gschem/src/i_callbacks.c:2727 msgid "Arc" msgstr "" #: gschem/src/i_callbacks.c:2749 gschem/src/i_callbacks.c:2772 #: gschem/src/x_dialog.c:2286 msgid "Pin" msgstr "" #: gschem/src/i_callbacks.c:2831 #, c-format msgid "Searching for source [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:2855 #, c-format msgid "Cannot find source [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:2918 #, c-format msgid "Searching for symbol [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:2924 msgid "Symbol is not a real file. Symbol cannot be loaded.\n" msgstr "" #: gschem/src/i_callbacks.c:2955 msgid "Cannot find any schematics above the current one!\n" msgstr "" #: gschem/src/i_callbacks.c:2985 msgid "Attach" msgstr "" #: gschem/src/i_callbacks.c:3041 msgid "Detach" msgstr "" #: gschem/src/i_callbacks.c:3085 msgid "ShowN" msgstr "" #: gschem/src/i_callbacks.c:3122 msgid "ShowV" msgstr "" #: gschem/src/i_callbacks.c:3159 msgid "ShowB" msgstr "" #: gschem/src/i_callbacks.c:3197 msgid "VisToggle" msgstr "" #: gschem/src/i_callbacks.c:3228 #, c-format msgid "Sorry but this is a non-functioning menu option\n" msgstr "" #: gschem/src/i_callbacks.c:3318 msgid "Action feedback mode set to OUTLINE\n" msgstr "" #: gschem/src/i_callbacks.c:3321 msgid "Action feedback mode set to BOUNDINGBOX\n" msgstr "" #: gschem/src/i_callbacks.c:3346 msgid "Grid OFF\n" msgstr "" #: gschem/src/i_callbacks.c:3347 msgid "Dot grid selected\n" msgstr "" #: gschem/src/i_callbacks.c:3348 msgid "Mesh grid selected\n" msgstr "" #: gschem/src/i_callbacks.c:3369 msgid "Snap OFF (CAUTION!)\n" msgstr "" #: gschem/src/i_callbacks.c:3372 msgid "Snap ON\n" msgstr "" #: gschem/src/i_callbacks.c:3375 msgid "Snap back to the grid (CAUTION!)\n" msgstr "" #: gschem/src/i_callbacks.c:3401 msgid "Rubber band OFF \n" msgstr "" #: gschem/src/i_callbacks.c:3404 msgid "Rubber band ON\n" msgstr "" #: gschem/src/i_callbacks.c:3419 msgid "magnetic net mode: ON\n" msgstr "" #: gschem/src/i_callbacks.c:3422 msgid "magnetic net mode: OFF\n" msgstr "" #: gschem/src/o_box.c:292 #, c-format msgid "Unknown type for box (fill)!\n" msgstr "" #: gschem/src/o_buffer.c:54 #, c-format msgid "o_buffer_copy: Invalid buffer %i\n" msgstr "" #: gschem/src/o_buffer.c:69 #, c-format msgid "o_buffer_cut: Invalid buffer %i\n" msgstr "" #: gschem/src/o_buffer.c:90 #, c-format msgid "Got an invalid buffer_number [o_buffer_paste_start]\n" msgstr "" #: gschem/src/o_bus.c:117 #, c-format msgid "Got an invalid which one in o_bus_draw_stretch\n" msgstr "" #: gschem/src/o_circle.c:284 #, c-format msgid "Unknown type for circle (fill)!\n" msgstr "" #: gschem/src/o_complex.c:223 gschem/src/o_complex.c:227 #, c-format msgid "Translating schematic [%d %d]\n" msgstr "" #: gschem/src/o_misc.c:61 #, c-format msgid "Got an unexpected NULL in o_edit\n" msgstr "" #: gschem/src/o_misc.c:125 msgid "Object already locked\n" msgstr "" #: gschem/src/o_misc.c:163 msgid "Object already unlocked\n" msgstr "" #: gschem/src/o_misc.c:339 msgid "Hidden text is now visible\n" msgstr "" #: gschem/src/o_misc.c:341 msgid "Hidden text is now invisible\n" msgstr "" #: gschem/src/o_misc.c:568 #, c-format msgid "Could not find symbol [%s] in library. Update failed.\n" msgstr "" #: gschem/src/o_misc.c:683 #, c-format msgid "o_autosave_backups: Can't get the real filename of %s." msgstr "" #: gschem/src/o_misc.c:727 #, c-format msgid "Could NOT set previous backup file [%s] read-write\n" msgstr "" #: gschem/src/o_misc.c:747 #, c-format msgid "Could NOT set backup file [%s] readonly\n" msgstr "" #: gschem/src/o_misc.c:752 #, c-format msgid "Could NOT save backup file [%s]\n" msgstr "" #: gschem/src/o_move.c:174 #, c-format msgid "ERROR: NULL object in o_move_end!\n" msgstr "" #: gschem/src/o_move.c:431 #, c-format msgid "DOH! tried to find the whichone, but didn't find it!\n" msgstr "" #: gschem/src/o_move.c:453 #, c-format msgid "Got a non line object in o_move_check_endpoint\n" msgstr "" #: gschem/src/o_net.c:158 #, c-format msgid "Got an invalid which one in o_net_draw_stretch\n" msgstr "" #: gschem/src/o_net.c:537 msgid "Warning: Starting net at off grid coordinate\n" msgstr "" #: gschem/src/o_net.c:602 msgid "Warning: Ending net at off grid coordinate\n" msgstr "" #: gschem/src/o_net.c:944 gschem/src/o_net.c:981 gschem/src/o_net.c:1052 #: gschem/src/o_net.c:1088 #, c-format msgid "Tried to add more than two bus rippers. Internal gschem error.\n" msgstr "" #: gschem/src/o_net.c:1156 #, c-format msgid "Bus ripper symbol [%s] was not found in any component library\n" msgstr "" #: gschem/src/o_path.c:340 #, c-format msgid "Unknown type for path (fill)!\n" msgstr "" #: gschem/src/o_picture.c:166 #, c-format msgid "Failed to load picture: %s" msgstr "" #: gschem/src/o_picture.c:180 msgid "Picture" msgstr "" #: gschem/src/o_picture.c:544 #, c-format msgid "Failed to replace pictures: %s" msgstr "" #: gschem/src/o_slot.c:81 msgid "Slot attribute malformed\n" msgstr "" #: gschem/src/o_slot.c:89 msgid "numslots attribute missing\n" msgstr "" #: gschem/src/o_slot.c:90 msgid "Slotting not allowed for this component\n" msgstr "" #: gschem/src/o_slot.c:105 msgid "New slot number out of range\n" msgstr "" #: gschem/src/o_undo.c:307 msgid "Undo/Redo disabled in rc file\n" msgstr "" #: gschem/src/parsecmd.c:82 #, c-format msgid "" "Usage: %s [OPTION ...] [--] [FILE ...]\n" "\n" "Interactively edit gEDA schematics or symbols. If one or more FILEs\n" "are specified, open them for editing; otherwise, create a new, empty\n" "schematic.\n" "\n" "Options:\n" " -q, --quiet Quiet mode.\n" " -v, --verbose Verbose mode.\n" " -r, --config-file=FILE Additional configuration file to load.\n" " -L DIR Add DIR to Scheme search path.\n" " -c EXPR Scheme expression to run at startup.\n" " -s FILE Scheme script to run at startup.\n" " -o, --output=FILE Output filename (for printing).\n" " -p Automatically place the window.\n" " -V, --version Show version information.\n" " -h, --help Help; this message.\n" " -- Treat all remaining arguments as filenames.\n" "\n" "Report bugs at \n" "gEDA/gaf homepage: \n" msgstr "" #: gschem/src/parsecmd.c:116 #, c-format msgid "" "gEDA %s (g%.7s)\n" "Copyright (C) 1998-2012 gEDA developers\n" "This is free software, and you are welcome to redistribute it under\n" "certain conditions. For details, see the file `COPYING', which is\n" "included in the gEDA distribution.\n" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" #: gschem/src/x_attribedit.c:127 #, c-format msgid "Got invalid show option; defaulting to show both\n" msgstr "" #: gschem/src/x_attribedit.c:141 #, c-format msgid "ERROR: NULL object!\n" msgstr "" #: gschem/src/x_attribedit.c:329 msgid "Single Attribute Editor" msgstr "" #: gschem/src/x_attribedit.c:359 msgid "Edit Attribute" msgstr "" #: gschem/src/x_attribedit.c:361 msgid "Add Attribute" msgstr "" #: gschem/src/x_attribedit.c:377 gschem/src/x_multiattrib.c:1973 msgid "Name:" msgstr "" #: gschem/src/x_attribedit.c:394 gschem/src/x_multiattrib.c:1992 msgid "Value:" msgstr "" #: gschem/src/x_attribedit.c:410 gschem/src/x_multiattrib.c:2038 msgid "Visible" msgstr "" #: gschem/src/x_attribedit.c:430 msgid "Show Value Only" msgstr "" #: gschem/src/x_attribedit.c:432 msgid "Show Name Only" msgstr "" #: gschem/src/x_attribedit.c:434 gschem/src/x_multiattrib.c:1512 msgid "Show Name & Value" msgstr "" #: gschem/src/x_attribedit.c:441 msgid "Attach Options" msgstr "" #: gschem/src/x_attribedit.c:456 msgid "All" msgstr "" #: gschem/src/x_attribedit.c:464 gschem/src/x_compselect.c:922 #: gschem/src/x_compselect.c:1036 msgid "Components" msgstr "" #: gschem/src/x_attribedit.c:472 gschem/src/x_window.c:369 msgid "Nets" msgstr "" #: gschem/src/x_attribedit.c:480 msgid "Replace existing attributes" msgstr "" #: gschem/src/x_autonumber.c:415 msgid "" "slotted object without slot attribute may cause problems when autonumbering " "slots\n" msgstr "" #: gschem/src/x_autonumber.c:430 #, c-format msgid "" "duplicate slot may cause problems: [symbolname=%s, number=%d, slot=%d]\n" msgstr "" #: gschem/src/x_autonumber.c:672 msgid "No searchstring given in autonumber text.\n" msgstr "" #: gschem/src/x_autonumber.c:724 msgid "No '*' or '?' given at the end of the autonumber text.\n" msgstr "" #: gschem/src/x_autonumber.c:859 msgid "Diagonal" msgstr "" #: gschem/src/x_autonumber.c:860 msgid "Top to bottom" msgstr "" #: gschem/src/x_autonumber.c:860 msgid "Bottom to top" msgstr "" #: gschem/src/x_autonumber.c:861 msgid "Left to right" msgstr "" #: gschem/src/x_autonumber.c:861 msgid "Right to left" msgstr "" #: gschem/src/x_autonumber.c:862 msgid "File order" msgstr "" #: gschem/src/x_autonumber.c:1198 msgid "Autonumber text" msgstr "" #: gschem/src/x_autonumber.c:1222 msgid "Scope" msgstr "" #: gschem/src/x_autonumber.c:1244 msgid "Search for:" msgstr "" #: gschem/src/x_autonumber.c:1258 msgid "Autonumber text in:" msgstr "" #: gschem/src/x_autonumber.c:1265 msgid "Skip numbers found in:" msgstr "" #: gschem/src/x_autonumber.c:1277 gschem/src/x_autonumber.c:1286 msgid "Selected objects" msgstr "" #: gschem/src/x_autonumber.c:1278 gschem/src/x_autonumber.c:1287 msgid "Current page" msgstr "" #: gschem/src/x_autonumber.c:1279 gschem/src/x_autonumber.c:1288 msgid "Whole hierarchy" msgstr "" #: gschem/src/x_autonumber.c:1290 msgid "Overwrite existing numbers" msgstr "" #: gschem/src/x_autonumber.c:1295 msgid "Options" msgstr "" #: gschem/src/x_autonumber.c:1317 msgid "Starting number:" msgstr "" #: gschem/src/x_autonumber.c:1324 msgid "Sort order:" msgstr "" #: gschem/src/x_autonumber.c:1345 msgid "Remove numbers" msgstr "" #: gschem/src/x_autonumber.c:1349 msgid "Automatic slotting" msgstr "" #: gschem/src/x_clipboard.c:249 #, c-format msgid "" "Invalid schematic on clipboard.\n" "\n" "An error occurred while inserting clipboard data: %s." msgstr "" #: gschem/src/x_clipboard.c:251 msgid "Clipboard insertion failed" msgstr "" #: gschem/src/x_color.c:94 gschem/src/x_color.c:103 #, c-format msgid "Could not allocate the color %s!\n" msgstr "" #: gschem/src/x_color.c:94 msgid "black" msgstr "" #: gschem/src/x_color.c:103 msgid "white" msgstr "" #: gschem/src/x_color.c:125 #, c-format msgid "Could not allocate display color %i!\n" msgstr "" #: gschem/src/x_color.c:147 #, c-format msgid "Could not allocate outline color %i!\n" msgstr "" #: gschem/src/x_color.c:164 gschem/src/x_color.c:181 gschem/src/x_color.c:197 #, c-format msgid "Tried to get an invalid color: %d\n" msgstr "" #: gschem/src/x_color.c:214 #, c-format msgid "Tried to get an invalid outline color: %d\n" msgstr "" #: gschem/src/x_compselect.c:1066 msgid "Filter:" msgstr "" #: gschem/src/x_compselect.c:1169 gschem/src/x_dialog.c:3653 #: gschem/src/x_multiattrib.c:1839 msgid "Name" msgstr "" #: gschem/src/x_compselect.c:1178 gschem/src/x_multiattrib.c:1863 msgid "Value" msgstr "" #: gschem/src/x_compselect.c:1217 msgid "Default behavior - reference component" msgstr "" #: gschem/src/x_compselect.c:1220 msgid "Embed component in schematic" msgstr "" #: gschem/src/x_compselect.c:1223 msgid "Include component as individual objects" msgstr "" #: gschem/src/x_compselect.c:1380 msgid "Select Component..." msgstr "" #: gschem/src/x_compselect.c:1403 msgid "In Use" msgstr "" #: gschem/src/x_compselect.c:1407 msgid "Libraries" msgstr "" #: gschem/src/x_compselect.c:1416 gschem/src/x_fileselect.c:122 msgid "Preview" msgstr "" #: gschem/src/x_compselect.c:1444 msgid "Attributes" msgstr "" #: gschem/src/x_dialog.c:176 msgid "Text Entry..." msgstr "" #: gschem/src/x_dialog.c:207 msgid "" "Enter text, click apply,\n" "move cursor into window, click to place text.\n" "Middle button to rotate while placing." msgstr "" #: gschem/src/x_dialog.c:301 msgid "Upper Left" msgstr "" #: gschem/src/x_dialog.c:304 msgid "Upper Middle" msgstr "" #: gschem/src/x_dialog.c:307 msgid "Upper Right" msgstr "" #: gschem/src/x_dialog.c:311 msgid "Middle Left" msgstr "" #: gschem/src/x_dialog.c:314 msgid "Middle Middle" msgstr "" #: gschem/src/x_dialog.c:317 msgid "Middle Right" msgstr "" #: gschem/src/x_dialog.c:321 msgid "Lower Left" msgstr "" #: gschem/src/x_dialog.c:324 msgid "Lower Middle" msgstr "" #: gschem/src/x_dialog.c:327 msgid "Lower Right" msgstr "" #: gschem/src/x_dialog.c:438 msgid "Edit Text Properties" msgstr "" #: gschem/src/x_dialog.c:473 msgid "Text Content" msgstr "" #: gschem/src/x_dialog.c:509 msgid "Text Properties" msgstr "" #: gschem/src/x_dialog.c:524 msgid "Color:" msgstr "" #: gschem/src/x_dialog.c:531 msgid "Size:" msgstr "" #: gschem/src/x_dialog.c:540 msgid "Alignment:" msgstr "" #: gschem/src/x_dialog.c:589 msgid "Solid" msgstr "" #: gschem/src/x_dialog.c:590 msgid "Dotted" msgstr "" #: gschem/src/x_dialog.c:591 msgid "Dashed" msgstr "" #: gschem/src/x_dialog.c:592 msgid "Center" msgstr "" #: gschem/src/x_dialog.c:593 msgid "Phantom" msgstr "" #: gschem/src/x_dialog.c:594 gschem/src/x_dialog.c:691 #: gschem/src/x_dialog.c:700 gschem/src/x_dialog.c:709 #: gschem/src/x_dialog.c:810 gschem/src/x_dialog.c:813 #: gschem/src/x_dialog.c:816 gschem/src/x_dialog.c:1043 #: gschem/src/x_dialog.c:1146 gschem/src/x_dialog.c:1155 #: gschem/src/x_dialog.c:1164 gschem/src/x_dialog.c:1173 #: gschem/src/x_dialog.c:1182 gschem/src/x_dialog.c:1295 #: gschem/src/x_dialog.c:1298 gschem/src/x_dialog.c:1301 #: gschem/src/x_dialog.c:1304 gschem/src/x_dialog.c:1307 msgid "*unchanged*" msgstr "" #: gschem/src/x_dialog.c:921 msgid "Edit Line Width & Type" msgstr "" #: gschem/src/x_dialog.c:960 gschem/src/x_print.c:307 msgid "Type:" msgstr "" #: gschem/src/x_dialog.c:964 msgid "Width:" msgstr "" #: gschem/src/x_dialog.c:968 msgid "Dash Length:" msgstr "" #: gschem/src/x_dialog.c:972 msgid "Dash Space:" msgstr "" #: gschem/src/x_dialog.c:1039 msgid "Hollow" msgstr "" #: gschem/src/x_dialog.c:1040 msgid "Filled" msgstr "" #: gschem/src/x_dialog.c:1041 msgid "Mesh" msgstr "" #: gschem/src/x_dialog.c:1042 msgid "Hatch" msgstr "" #: gschem/src/x_dialog.c:1416 msgid "Edit Fill Type" msgstr "" #: gschem/src/x_dialog.c:1455 msgid "Fill Type:" msgstr "" #: gschem/src/x_dialog.c:1459 msgid "Line Width:" msgstr "" #: gschem/src/x_dialog.c:1463 msgid "Angle 1:" msgstr "" #: gschem/src/x_dialog.c:1467 msgid "Pitch 1:" msgstr "" #: gschem/src/x_dialog.c:1471 msgid "Angle 2:" msgstr "" #: gschem/src/x_dialog.c:1475 msgid "Pitch 2:" msgstr "" #: gschem/src/x_dialog.c:1602 msgid "Arc Params" msgstr "" #: gschem/src/x_dialog.c:1643 msgid "Arc Radius:" msgstr "" #: gschem/src/x_dialog.c:1651 msgid "Start Angle:" msgstr "" #: gschem/src/x_dialog.c:1659 msgid "Degrees of Sweep:" msgstr "" #: gschem/src/x_dialog.c:1777 msgid "" "Offset to translate?\n" "(0 for origin)" msgstr "" #: gschem/src/x_dialog.c:1845 msgid "Text Size" msgstr "" #: gschem/src/x_dialog.c:1875 msgid "Enter new text size:" msgstr "" #: gschem/src/x_dialog.c:1951 msgid "Snap Size" msgstr "" #: gschem/src/x_dialog.c:1981 msgid "Enter new snap grid spacing:" msgstr "" #: gschem/src/x_dialog.c:2058 msgid "Edit slot number" msgstr "" #: gschem/src/x_dialog.c:2089 msgid "Edit slot number:" msgstr "" #: gschem/src/x_dialog.c:2130 #, c-format msgid "%s (g%.7s)" msgstr "" #: gschem/src/x_dialog.c:2151 msgid "About gschem" msgstr "" #: gschem/src/x_dialog.c:2152 msgid "gEDA: GPL Electronic Design Automation" msgstr "" #. TRANSLATORS: "ChangeLog" is a literal filename; please don't translate it. #: gschem/src/x_dialog.c:2155 msgid "" "Copyright © 1998-2012 Ales Hvezda \n" "Copyright © 1998-2012 gEDA Contributors (see ChangeLog for details)" msgstr "" #: gschem/src/x_dialog.c:2214 msgid "Coords" msgstr "" #: gschem/src/x_dialog.c:2235 msgid "Screen" msgstr "" #: gschem/src/x_dialog.c:2244 msgid "World" msgstr "" #: gschem/src/x_dialog.c:2283 msgid "Background" msgstr "" #: gschem/src/x_dialog.c:2289 msgid "Net endpoint" msgstr "" #: gschem/src/x_dialog.c:2292 msgid "Graphic" msgstr "" #: gschem/src/x_dialog.c:2301 msgid "Logic bubble" msgstr "" #: gschem/src/x_dialog.c:2304 msgid "Grid point" msgstr "" #: gschem/src/x_dialog.c:2307 msgid "Detached attribute" msgstr "" #: gschem/src/x_dialog.c:2310 gschem/src/x_window.c:387 msgid "Text" msgstr "" #: gschem/src/x_dialog.c:2316 msgid "Selection" msgstr "" #: gschem/src/x_dialog.c:2319 msgid "Bounding box" msgstr "" #: gschem/src/x_dialog.c:2322 msgid "Zoom box" msgstr "" #: gschem/src/x_dialog.c:2331 msgid "Output background" msgstr "" #: gschem/src/x_dialog.c:2334 msgid "Net junction" msgstr "" #: gschem/src/x_dialog.c:2337 msgid "Mesh grid major" msgstr "" #: gschem/src/x_dialog.c:2340 msgid "Mesh grid minor" msgstr "" #: gschem/src/x_dialog.c:2343 msgid "Unknown" msgstr "" #: gschem/src/x_dialog.c:2494 #, c-format msgid "ERROR: NULL object in color_edit_dialog_apply!\n" msgstr "" #: gschem/src/x_dialog.c:2538 msgid "Color Edit" msgstr "" #: gschem/src/x_dialog.c:2569 msgid "Object color:" msgstr "" #: gschem/src/x_dialog.c:2622 msgid "Hotkeys" msgstr "" #: gschem/src/x_dialog.c:2662 msgid "Function" msgstr "" #: gschem/src/x_dialog.c:2669 msgid "Keystroke(s)" msgstr "" #: gschem/src/x_dialog.c:2977 msgid "Find Text" msgstr "" #: gschem/src/x_dialog.c:3008 msgid "Text to find:" msgstr "" #: gschem/src/x_dialog.c:3018 msgid "descend into hierarchy" msgstr "" #: gschem/src/x_dialog.c:3084 msgid "Hide Text" msgstr "" #: gschem/src/x_dialog.c:3115 msgid "Hide text starting with:" msgstr "" #: gschem/src/x_dialog.c:3185 msgid "Show Text" msgstr "" #: gschem/src/x_dialog.c:3216 msgid "Show text starting with:" msgstr "" #: gschem/src/x_dialog.c:3675 msgid "S_elect the schematics you want to save:" msgstr "" #: gschem/src/x_dialog.c:3770 #, c-format msgid "Save the changes to schematic \"%s\" before closing?" msgstr "" #: gschem/src/x_dialog.c:3776 #, c-format msgid "" "There are %d schematics with unsaved changes. Save changes before closing?" msgstr "" #: gschem/src/x_dialog.c:3805 msgid "If you don't save, all your changes will be permanently lost." msgstr "" #: gschem/src/x_dialog.c:3825 msgid "_Close without saving" msgstr "" #: gschem/src/x_dialog.c:4161 #, c-format msgid "" "The input attribute \"%s\" is invalid\n" "Please correct in order to continue\n" "\n" "The name and value must be non-empty.\n" "The name cannot end with a space.\n" "The value cannot start with a space." msgstr "" #: gschem/src/x_dialog.c:4163 msgid "Invalid Attribute" msgstr "" #: gschem/src/x_dialog.c:4199 msgid "Pin type" msgstr "" #: gschem/src/x_dialog.c:4223 msgid "Net pin" msgstr "" #: gschem/src/x_dialog.c:4225 msgid "Bus pin (graphical)" msgstr "" #: gschem/src/x_fileselect.c:42 msgid "Schematics" msgstr "" #: gschem/src/x_fileselect.c:47 msgid "Symbols" msgstr "" #: gschem/src/x_fileselect.c:52 msgid "Schematics and symbols" msgstr "" #: gschem/src/x_fileselect.c:58 msgid "All files" msgstr "" #: gschem/src/x_fileselect.c:171 msgid "Open..." msgstr "" #: gschem/src/x_fileselect.c:231 msgid "Save as..." msgstr "" #: gschem/src/x_fileselect.c:284 #, c-format msgid "" "The selected file `%s' already exists.\n" "\n" "Would you like to overwrite it?" msgstr "" #: gschem/src/x_fileselect.c:287 msgid "Overwrite file?" msgstr "" #: gschem/src/x_fileselect.c:289 msgid "Save cancelled on user request\n" msgstr "" #: gschem/src/x_image.c:176 msgid "Encapsulated Postscript" msgstr "" #: gschem/src/x_image.c:296 #, c-format msgid "x_image_lowlevel: Unable to write eps file %s.\n" msgstr "" #: gschem/src/x_image.c:374 #, c-format msgid "x_image_lowlevel: Unable to write %s file %s.\n" msgstr "" #: gschem/src/x_image.c:384 #, c-format msgid "" "There was the following error when saving image with type %s to filename:\n" "%s\n" "\n" "%s.\n" msgstr "" #: gschem/src/x_image.c:403 #, c-format msgid "Wrote color image to [%s] [%d x %d]\n" msgstr "" #: gschem/src/x_image.c:405 #, c-format msgid "Wrote black and white image to [%s] [%d x %d]\n" msgstr "" #: gschem/src/x_image.c:413 msgid "x_image_lowlevel: Unable to get pixbuf from gschem's window.\n" msgstr "" #: gschem/src/x_image.c:458 msgid "Width x Height" msgstr "" #: gschem/src/x_image.c:474 msgid "Image type" msgstr "" #: gschem/src/x_image.c:495 msgid "Write image..." msgstr "" #: gschem/src/x_log.c:209 msgid "** Invalid UTF-8 in log message. See stderr or gschem.log.\n" msgstr "" #: gschem/src/x_log.c:288 msgid "Status" msgstr "" #: gschem/src/x_menus.c:37 msgid "/Add Net" msgstr "" #: gschem/src/x_menus.c:38 msgid "/Add Attribute..." msgstr "" #: gschem/src/x_menus.c:39 msgid "/Add Component..." msgstr "" #: gschem/src/x_menus.c:40 msgid "/Add Bus" msgstr "" #: gschem/src/x_menus.c:41 msgid "/Add Text" msgstr "" #: gschem/src/x_menus.c:43 msgid "/Zoom In" msgstr "" #: gschem/src/x_menus.c:44 msgid "/Zoom Out" msgstr "" #: gschem/src/x_menus.c:45 msgid "/Zoom Box" msgstr "" #: gschem/src/x_menus.c:46 msgid "/Zoom Extents" msgstr "" #: gschem/src/x_menus.c:48 msgid "/Select" msgstr "" #: gschem/src/x_menus.c:49 msgid "/Edit..." msgstr "" #: gschem/src/x_menus.c:50 msgid "/Edit pin type..." msgstr "" #: gschem/src/x_menus.c:51 msgid "/Copy" msgstr "" #: gschem/src/x_menus.c:52 msgid "/Move" msgstr "" #: gschem/src/x_menus.c:53 msgid "/Delete" msgstr "" #: gschem/src/x_menus.c:56 msgid "/Down Schematic" msgstr "" #: gschem/src/x_menus.c:57 msgid "/Down Symbol" msgstr "" #: gschem/src/x_menus.c:58 msgid "/Up" msgstr "" #: gschem/src/x_menus.c:348 #, c-format msgid "Tried to set the sensitivity on non-existent menu item '%s'\n" msgstr "" #: gschem/src/x_menus.c:372 msgid "Popup_menu_item_factory doesn't exist!\n" msgstr "" #: gschem/src/x_menus.c:385 msgid "Tried to set the sensitivity on a non-existent popup menu_item\n" msgstr "" #: gschem/src/x_misc.c:74 msgid "The operating system is out of memory or resources." msgstr "" #: gschem/src/x_misc.c:155 #, c-format msgid "%s failed to launch URI" msgstr "" #: gschem/src/x_multiattrib.c:961 msgid "Attributes with empty name are not allowed. Please set a name." msgstr "" #: gschem/src/x_multiattrib.c:1514 msgid "Show Value only" msgstr "" #: gschem/src/x_multiattrib.c:1516 msgid "Show Name only" msgstr "" #: gschem/src/x_multiattrib.c:1544 msgid "Promote" msgstr "" #: gschem/src/x_multiattrib.c:1548 msgid "Duplicate" msgstr "" #: gschem/src/x_multiattrib.c:1765 msgid "Edit Attributes" msgstr "" #: gschem/src/x_multiattrib.c:1883 msgid "Vis?" msgstr "" #: gschem/src/x_multiattrib.c:1901 msgid "N" msgstr "" #: gschem/src/x_multiattrib.c:1919 msgid "V" msgstr "" #: gschem/src/x_multiattrib.c:1941 msgid "Show inherited attributes" msgstr "" #: gschem/src/x_multiattrib.c:1957 msgid "Add Attribute" msgstr "" #: gschem/src/x_pagesel.c:246 msgid "New Page" msgstr "" #: gschem/src/x_pagesel.c:247 msgid "Open Page..." msgstr "" #: gschem/src/x_pagesel.c:249 msgid "Save Page" msgstr "" #: gschem/src/x_pagesel.c:250 msgid "Close Page" msgstr "" #: gschem/src/x_pagesel.c:251 msgid "Discard Page" msgstr "" #: gschem/src/x_pagesel.c:369 msgid "Page Manager" msgstr "" #: gschem/src/x_pagesel.c:425 msgid "Filename" msgstr "" #: gschem/src/x_pagesel.c:441 msgid "Changed" msgstr "" #: gschem/src/x_pagesel.c:461 msgid "Right click on the filename for more options..." msgstr "" #: gschem/src/x_preview.c:231 msgid "Preview Buffer" msgstr "" #: gschem/src/x_print.c:84 msgid "Select PostScript Filename..." msgstr "" #: gschem/src/x_print.c:164 msgid "Extents with margins" msgstr "" #: gschem/src/x_print.c:170 msgid "Extents no margins" msgstr "" #: gschem/src/x_print.c:176 msgid "Current Window" msgstr "" #: gschem/src/x_print.c:210 msgid "Landscape" msgstr "" #: gschem/src/x_print.c:216 msgid "Portrait" msgstr "" #: gschem/src/x_print.c:276 msgid "Print..." msgstr "" #: gschem/src/x_print.c:284 msgid "Settings" msgstr "" #: gschem/src/x_print.c:296 msgid "Output paper size:" msgstr "" #: gschem/src/x_print.c:318 msgid "Orientation:" msgstr "" #: gschem/src/x_print.c:330 msgid "Destination" msgstr "" #: gschem/src/x_print.c:343 msgid "File:" msgstr "" #: gschem/src/x_print.c:373 msgid "Command:" msgstr "" #: gschem/src/x_print.c:745 msgid "No print destination specified\n" msgstr "" #: gschem/src/x_print.c:752 #, c-format msgid "Cannot print current schematic to [%s]\n" msgstr "" #: gschem/src/x_print.c:761 #, c-format msgid "" "Error printing to file '%s'\n" "Check the log window for more information" msgstr "" #: gschem/src/x_print.c:768 #, c-format msgid "Printed current schematic to [%s]\n" msgstr "" #: gschem/src/x_rc.c:40 msgid "ERROR: An unknown error occurred while parsing configuration files.\n" msgstr "" #: gschem/src/x_rc.c:45 msgid "" "An unknown error occurred while parsing configuration files.\n" "\n" "The gschem log may contain more information." msgstr "" #: gschem/src/x_rc.c:57 #, c-format msgid "ERROR: %s\n" msgstr "" #: gschem/src/x_rc.c:60 #, c-format msgid "" "%s\n" "\n" "The gschem log may contain more information." msgstr "" #: gschem/src/x_rc.c:68 msgid "Cannot load gschem configuration." msgstr "" #: gschem/src/x_script.c:47 gschem/lib/system-gschemrc.scm:1381 msgid "Execute Script..." msgstr "" #: gschem/src/x_script.c:66 #, c-format msgid "Executing guile script [%s]\n" msgstr "" #: gschem/src/x_window.c:82 #, c-format msgid "Couldn't allocate gc\n" msgstr "" #: gschem/src/x_window.c:321 msgid "New" msgstr "" #: gschem/src/x_window.c:322 msgid "New file" msgstr "" #: gschem/src/x_window.c:328 msgid "Open" msgstr "" #: gschem/src/x_window.c:329 msgid "Open file..." msgstr "" #: gschem/src/x_window.c:335 msgid "Save" msgstr "" #: gschem/src/x_window.c:336 msgid "Save file" msgstr "" #: gschem/src/x_window.c:343 msgid "Undo" msgstr "" #: gschem/src/x_window.c:344 msgid "Undo last operation" msgstr "" #: gschem/src/x_window.c:350 msgid "Redo" msgstr "" #: gschem/src/x_window.c:351 msgid "Redo last undo" msgstr "" #: gschem/src/x_window.c:360 msgid "" "Add component...\n" "Select library and component from list, move the mouse into main window, " "click to place\n" "Right mouse button to cancel" msgstr "" #: gschem/src/x_window.c:370 msgid "" "Add nets mode\n" "Right mouse button to cancel" msgstr "" #: gschem/src/x_window.c:380 msgid "" "Add buses mode\n" "Right mouse button to cancel" msgstr "" #: gschem/src/x_window.c:388 msgid "Add Text..." msgstr "" #: gschem/src/x_window.c:398 msgid "Select" msgstr "" #: gschem/src/x_window.c:399 msgid "Select mode" msgstr "" #: gschem/src/x_window.c:465 msgid "Evaluate:" msgstr "" #: gschem/src/x_window.c:484 msgid "Pick" msgstr "" #: gschem/src/x_window.c:500 msgid "Repeat/none" msgstr "" #: gschem/src/x_window.c:510 msgid "Menu/Cancel" msgstr "" #: gschem/src/x_window.c:512 msgid "Pan/Cancel" msgstr "" #: gschem/src/x_window.c:737 #, c-format msgid "Loading schematic [%s]\n" msgstr "" #: gschem/src/x_window.c:748 #, c-format msgid "" "An error occurred while loading the requested file.\n" "\n" "Loading from '%s' failed: %s. The gschem log may contain more information." msgstr "" #: gschem/src/x_window.c:750 msgid "Failed to load file" msgstr "" #: gschem/src/x_window.c:759 #, c-format msgid "New file [%s]\n" msgstr "" #: gschem/src/x_window.c:862 #, c-format msgid "Could NOT save page [%s]\n" msgstr "" #: gschem/src/x_window.c:863 msgid "Error while trying to save" msgstr "" #: gschem/src/x_window.c:873 msgid "Failed to save file" msgstr "" #: gschem/src/x_window.c:884 #, c-format msgid "Saved as [%s]\n" msgstr "" #: gschem/src/x_window.c:886 #, c-format msgid "Saved [%s]\n" msgstr "" #: gschem/src/x_window.c:888 msgid "Saved" msgstr "" #: gschem/src/x_window.c:962 #, c-format msgid "Discarding page [%s]\n" msgstr "" #: gschem/src/x_window.c:962 #, c-format msgid "Closing [%s]\n" msgstr "" #: gschem/data/geda-gschem.desktop.in:3 msgid "gEDA Schematic Editor" msgstr "" #: gschem/data/geda-gschem.desktop.in:4 msgid "Create and edit electrical schematics and symbols with gschem" msgstr "" #: gschem/lib/system-gschemrc.scm:1368 msgid "_New" msgstr "Но_во" #: gschem/lib/system-gschemrc.scm:1369 msgid "_Open..." msgstr "Отв_ори..." #: gschem/lib/system-gschemrc.scm:1371 msgid "Open Recen_t" msgstr "" #: gschem/lib/system-gschemrc.scm:1373 msgid "_Save" msgstr "Сачу_вај" #: gschem/lib/system-gschemrc.scm:1374 msgid "Save _As..." msgstr "" #: gschem/lib/system-gschemrc.scm:1375 msgid "Save All" msgstr "Сачувај све" #: gschem/lib/system-gschemrc.scm:1376 gschem/lib/system-gschemrc.scm:1469 msgid "_Revert" msgstr "_Врати" #: gschem/lib/system-gschemrc.scm:1378 msgid "_Print..." msgstr "_Штампај..." #: gschem/lib/system-gschemrc.scm:1379 msgid "Write _image..." msgstr "" #: gschem/lib/system-gschemrc.scm:1383 msgid "New Window" msgstr "Нови прозор" #: gschem/lib/system-gschemrc.scm:1384 msgid "_Close Window" msgstr "" #: gschem/lib/system-gschemrc.scm:1385 msgid "_Quit" msgstr "" #: gschem/lib/system-gschemrc.scm:1391 msgid "_Undo" msgstr "" #: gschem/lib/system-gschemrc.scm:1392 msgid "_Redo" msgstr "" #: gschem/lib/system-gschemrc.scm:1394 msgid "Cu_t" msgstr "" #: gschem/lib/system-gschemrc.scm:1395 msgid "_Copy" msgstr "" #: gschem/lib/system-gschemrc.scm:1396 msgid "_Paste" msgstr "" #: gschem/lib/system-gschemrc.scm:1397 msgid "_Delete" msgstr "" #: gschem/lib/system-gschemrc.scm:1400 msgid "Select All" msgstr "" #: gschem/lib/system-gschemrc.scm:1401 msgid "Deselect" msgstr "" #: gschem/lib/system-gschemrc.scm:1405 msgid "Rotate 90 Mode" msgstr "" #: gschem/lib/system-gschemrc.scm:1408 msgid "Edit..." msgstr "" #: gschem/lib/system-gschemrc.scm:1409 msgid "Edit Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1410 msgid "Slot..." msgstr "" #: gschem/lib/system-gschemrc.scm:1411 msgid "Color..." msgstr "" #: gschem/lib/system-gschemrc.scm:1412 msgid "Line Width & Type..." msgstr "" #: gschem/lib/system-gschemrc.scm:1413 msgid "Fill Type..." msgstr "" #: gschem/lib/system-gschemrc.scm:1414 msgid "Symbol Translate..." msgstr "" #: gschem/lib/system-gschemrc.scm:1418 msgid "Invoke Macro" msgstr "" #: gschem/lib/system-gschemrc.scm:1419 msgid "Embed Component/Picture" msgstr "" #: gschem/lib/system-gschemrc.scm:1420 msgid "Unembed Component/Picture" msgstr "" #: gschem/lib/system-gschemrc.scm:1421 msgid "Update Component" msgstr "" #: gschem/lib/system-gschemrc.scm:1422 msgid "Show/Hide Inv Text" msgstr "" #: gschem/lib/system-gschemrc.scm:1428 msgid "Copy into 1" msgstr "" #: gschem/lib/system-gschemrc.scm:1429 msgid "Copy into 2" msgstr "" #: gschem/lib/system-gschemrc.scm:1430 msgid "Copy into 3" msgstr "" #: gschem/lib/system-gschemrc.scm:1431 msgid "Copy into 4" msgstr "" #: gschem/lib/system-gschemrc.scm:1432 msgid "Copy into 5" msgstr "" #: gschem/lib/system-gschemrc.scm:1433 msgid "Cut into 1" msgstr "" #: gschem/lib/system-gschemrc.scm:1434 msgid "Cut into 2" msgstr "" #: gschem/lib/system-gschemrc.scm:1435 msgid "Cut into 3" msgstr "" #: gschem/lib/system-gschemrc.scm:1436 msgid "Cut into 4" msgstr "" #: gschem/lib/system-gschemrc.scm:1437 msgid "Cut into 5" msgstr "" #: gschem/lib/system-gschemrc.scm:1438 msgid "Paste from 1" msgstr "" #: gschem/lib/system-gschemrc.scm:1439 msgid "Paste from 2" msgstr "" #: gschem/lib/system-gschemrc.scm:1440 msgid "Paste from 3" msgstr "" #: gschem/lib/system-gschemrc.scm:1441 msgid "Paste from 4" msgstr "" #: gschem/lib/system-gschemrc.scm:1442 msgid "Paste from 5" msgstr "" #: gschem/lib/system-gschemrc.scm:1448 msgid "_Redraw" msgstr "" #: gschem/lib/system-gschemrc.scm:1449 msgid "_Pan" msgstr "" #: gschem/lib/system-gschemrc.scm:1450 msgid "Zoom _Box" msgstr "" #: gschem/lib/system-gschemrc.scm:1451 msgid "Zoom _Extents" msgstr "" #: gschem/lib/system-gschemrc.scm:1452 msgid "Zoom _In" msgstr "" #: gschem/lib/system-gschemrc.scm:1453 msgid "Zoom _Out" msgstr "" #: gschem/lib/system-gschemrc.scm:1454 msgid "Zoom _Full" msgstr "" #: gschem/lib/system-gschemrc.scm:1456 msgid "_Dark color scheme" msgstr "" #: gschem/lib/system-gschemrc.scm:1457 msgid "_Light color scheme" msgstr "" #: gschem/lib/system-gschemrc.scm:1458 msgid "B_W color scheme" msgstr "" #: gschem/lib/system-gschemrc.scm:1465 msgid "_Manager..." msgstr "" #: gschem/lib/system-gschemrc.scm:1466 msgid "_Previous" msgstr "" #: gschem/lib/system-gschemrc.scm:1467 msgid "_Next" msgstr "" #: gschem/lib/system-gschemrc.scm:1468 msgid "Ne_w" msgstr "" #: gschem/lib/system-gschemrc.scm:1470 msgid "_Close" msgstr "" #: gschem/lib/system-gschemrc.scm:1472 msgid "_Discard" msgstr "" #: gschem/lib/system-gschemrc.scm:1478 msgid "_Component..." msgstr "" #: gschem/lib/system-gschemrc.scm:1479 msgid "_Net" msgstr "" #: gschem/lib/system-gschemrc.scm:1480 msgid "B_us" msgstr "" #: gschem/lib/system-gschemrc.scm:1481 msgid "_Attribute..." msgstr "" #: gschem/lib/system-gschemrc.scm:1482 msgid "_Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1484 msgid "_Line" msgstr "" #: gschem/lib/system-gschemrc.scm:1485 msgid "_Box" msgstr "" #: gschem/lib/system-gschemrc.scm:1486 msgid "C_ircle" msgstr "" #: gschem/lib/system-gschemrc.scm:1487 msgid "A_rc" msgstr "" #: gschem/lib/system-gschemrc.scm:1488 msgid "_Pin" msgstr "" #: gschem/lib/system-gschemrc.scm:1489 msgid "Pictu_re..." msgstr "" #: gschem/lib/system-gschemrc.scm:1495 msgid "_Down Schematic" msgstr "" #: gschem/lib/system-gschemrc.scm:1496 msgid "Down _Symbol" msgstr "" #: gschem/lib/system-gschemrc.scm:1497 msgid "_Up" msgstr "" #: gschem/lib/system-gschemrc.scm:1498 msgid "D_ocumentation..." msgstr "" #: gschem/lib/system-gschemrc.scm:1504 msgid "_Attach" msgstr "" #: gschem/lib/system-gschemrc.scm:1505 msgid "_Detach" msgstr "" #: gschem/lib/system-gschemrc.scm:1506 msgid "Show _Value" msgstr "" #: gschem/lib/system-gschemrc.scm:1507 msgid "Show _Name" msgstr "" #: gschem/lib/system-gschemrc.scm:1508 msgid "Show _Both" msgstr "" #: gschem/lib/system-gschemrc.scm:1509 msgid "_Toggle Visibility" msgstr "" #: gschem/lib/system-gschemrc.scm:1511 msgid "_Find Specific Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1512 msgid "_Hide Specific Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1513 msgid "_Show Specific Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1514 msgid "A_utonumber Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1520 msgid "_Text Size..." msgstr "" #: gschem/lib/system-gschemrc.scm:1521 msgid "Cycle _grid styles" msgstr "" #: gschem/lib/system-gschemrc.scm:1522 msgid "Toggle _Snap On/Off" msgstr "" #: gschem/lib/system-gschemrc.scm:1523 msgid "Snap Grid S_pacing..." msgstr "" #: gschem/lib/system-gschemrc.scm:1524 msgid "Scale _up Grid Spacing" msgstr "" #: gschem/lib/system-gschemrc.scm:1526 msgid "Scale _down Grid Spacing" msgstr "" #: gschem/lib/system-gschemrc.scm:1528 msgid "Toggle _Outline/Box" msgstr "" #: gschem/lib/system-gschemrc.scm:1530 msgid "Toggle Net _Rubberband" msgstr "" #: gschem/lib/system-gschemrc.scm:1531 msgid "Toggle _Magnetic Net" msgstr "" #: gschem/lib/system-gschemrc.scm:1532 msgid "Show _Log Window..." msgstr "" #: gschem/lib/system-gschemrc.scm:1534 msgid "Show _Coord Window..." msgstr "" #: gschem/lib/system-gschemrc.scm:1542 msgid "gEDA Docu_mentation..." msgstr "" #: gschem/lib/system-gschemrc.scm:1543 msgid "gschem _FAQ..." msgstr "" #: gschem/lib/system-gschemrc.scm:1544 msgid "gEDA _Wiki..." msgstr "" #: gschem/lib/system-gschemrc.scm:1545 msgid "Component D_ocumentation..." msgstr "" #: gschem/lib/system-gschemrc.scm:1547 msgid "_Hotkeys..." msgstr "" #: gschem/lib/system-gschemrc.scm:1548 msgid "_About..." msgstr "" #: gschem/lib/system-gschemrc.scm:1554 msgid "_File" msgstr "Да_тотека" #: gschem/lib/system-gschemrc.scm:1555 msgid "_Edit" msgstr "" #: gschem/lib/system-gschemrc.scm:1556 msgid "_Buffer" msgstr "" #: gschem/lib/system-gschemrc.scm:1557 msgid "_View" msgstr "" #: gschem/lib/system-gschemrc.scm:1558 msgid "_Page" msgstr "" #: gschem/lib/system-gschemrc.scm:1559 msgid "_Add" msgstr "" #: gschem/lib/system-gschemrc.scm:1560 msgid "Hie_rarchy" msgstr "" #: gschem/lib/system-gschemrc.scm:1561 msgid "A_ttributes" msgstr "" #: gschem/lib/system-gschemrc.scm:1562 msgid "_Options" msgstr "" #: gschem/lib/system-gschemrc.scm:1563 msgid "_Help" msgstr "" #: gschem/scheme/gschem/deprecated.scm:102 #, scheme-format msgid "Invalid text alignment ~A." msgstr "" #: gschem/scheme/gschem/gschemdoc.scm:225 msgid "No documentation found" msgstr "" #: gschem/scheme/gschem/keymap.scm:38 #, scheme-format msgid "~S is not a valid key combination." msgstr "" #: gschem/scheme/gschem/keymap.scm:153 #, scheme-format msgid "~S is not a prefix key sequence." msgstr "" geda-gaf-1.8.2/gschem/po/sl.gmo0000664000175000017500000000207312220655645013117 00000000000000x y        ' /   New WindowNew file [%s] Open Recen_tSave AllSave _As..._Close_Edit_File_New_Open..._Print..._Quit_Revert_Save_UndoProject-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-01-27 14:18+0000 Last-Translator: FULL NAME Language-Team: Slovenian Language: sl MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) Novo oknoNova datoteka [%s] Odpri nedav_noShrani vseShrani _kot ..._Zapri_Uredi_Datoteka_Nova_Odpri ...Na_tisni ..._Končaj_Povrni_Shrani_Razveljavigeda-gaf-1.8.2/gschem/po/ml.gmo0000664000175000017500000001106012220655645013105 000000000000005Gl           #*/7Oaf{         /4NUfot|$@e x(22 24 2g 2 5 4 58 5n 5  4 .+ EZ a  7 D Z m }  % V V7 U U V:4*/)1V[7.s+uP/65 2 /' # )5 *4 $-!(.+13&0,%"ArcBoxBusCircleClose PageColor...Copy into 1Copy into 2Copy into 3Copy into 4Copy into 5Cut into 1Cut into 2Cut into 3Cut into 4Cut into 5DeleteEditEdit...Embed Component/PictureExecute Script...LineLine Width & Type...LockNetNewNew PageNew WindowOpen Page...Paste from 1Paste from 2Paste from 3Paste from 4Paste from 5PinPrint...RedoSave AllSave PageSelect ModeSymbol Translate...UndoUnembed Component/PictureUnlockUpdate ComponentZoom Box_Add_Buffer_Edit_File_Page_ViewProject-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-01-27 14:23+0000 Last-Translator: FULL NAME Language-Team: gEDA developers Language: ml MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) അര്ദ്ധവൃത്തംബോക്സ്ബസ്വൃത്തംപേജ് അടയ്ക്കുകകളര്‍പകര്‍ത്തുക 1ലേക്ക്പകര്‍ത്തുക 2ലേക്ക്പകര്‍ത്തുക 3ലേക്ക്പകര്‍ത്തുക 4ലേക്ക്പകര്‍ത്തുക 5ലേക്ക്കട്ട് ചെയുക 1 ലേക്ക്കട്ട് ചെയുക 2 ലേക്ക്കട്ട് ചെയുക 3 ലേക്ക്കട്ട് ചെയുക 4 ലേക്ക്കട്ട് ചെയുക 5 ലേക്ക്മായ്ക്കുകതിരുത്തിയെഴുതുക (Edit)മാറ്റം വരുത്തുക...പടം/സാധനം ഉള്ളടക്കം ചെയുകസ്ക്രിപ്റ്റ് പ്രവര്‍ത്തിപ്പിക്കുകരേഖലൈന്‍ വീതിയും , തരവുംപൂട്ടുകനെറ്റ്പുതിയപുതിയ പേജ്പുതിയ ജാലകംപേജ് തുറക്കുകപകര്‍ത്തി എടുക്കുക 1 ല്‍ നിന്നുംപകര്‍ത്തി എടുക്കുക 2 ല്‍ നിന്നുംപകര്‍ത്തി എടുക്കുക 3ല്‍ നിന്നുംപകര്‍ത്തി എടുക്കുക 4ല്‍ നിന്നുംപകര്‍ത്തി എടുക്കുക 5 ല്‍ നിന്നുംപിന്‍പ്രിന്‍റ് ചെയ്യുക...ആവര്‍ത്തിക്കുകഎല്ലാം സേവ് ചെയുകപേജ് സേവ് ചെയുകപ്രവര്‍ത്തന രീതി നിര്‍ണയിക്കുകസിംബല്‍ വിവര്‍ത്തനംതിരിച്ച് ചെയ്യുകപടം/സാധനം ഉള്ളടക്കം വേണ്ടയെന്നു വെയ്ക്കുകപൂട്ടു തുറക്കുകസാധനത്തിലെ മാറ്റങ്ങള്‍ നടപ്പില്‍ വരുത്തുകവലുതാക്കി കാണിക്കുന്ന പെട്ടികൂട്ടിച്ചേര്‍ക്കുകബഫര്‍തിരുത്തിയെഴുതുക (_Edit)ഫയല്‍താള്വീക്ഷണംgeda-gaf-1.8.2/gschem/po/fi.gmo0000664000175000017500000001255612220655645013106 00000000000000d<\         # . 9 D O Z m    . & & %0 V c x }      ( 4 M Y d z          % - 4 B H P Y _ e k                 1 7 ; A X f u ')QZbk #7K_x  +2/.M |  .BV^s   *% Pqy      $*3DKS Yclr z    $+2; Q_9d'UcI8bL V+,%B=(:)*P7D3_1FX-M";\[#<`KQ6?H>R@E/WANJOZ $Ca0^SY2&]45.GT !A_rcA_ttributesA_utonumber Text...B_usC_ircleColor...Component D_ocumentation...Copy ModeCopy into 1Copy into 2Copy into 3Copy into 4Copy into 5Cu_tCut into 1Cut into 2Cut into 3Cut into 4Cut into 5Cycle _grid stylesD_ocumentation...Edit Text...Edit...Execute Script...Fill Type...Invalid num levels [%d] passed to undo-levels Invalid size [%d] passed to snap-size Invalid size [%d] passed to text-size Invalid zoomfactor [%d] passed to %s Invoke MacroLine Width & Type...LockMirror ModeMove ModeMultiple Copy ModeNe_wNew WindowOpen Recen_tPaste from 1Paste from 2Paste from 3Paste from 4Paste from 5Pictu_re...Rotate 90 ModeSave AllSave _As...Scale _down Grid SpacingSelect ModeShow _BothShow _Coord Window...Show _Log Window...Show _NameShow _ValueToggle _Outline/BoxToggle _Snap On/OffUnlockUpdate ComponentWrite _image...Zoom _InZoom _Out_About..._Add_Attribute..._Buffer_Close_Component..._Copy_Delete_Discard_Edit_File_Help_Hide Specific Text..._Hotkeys..._Line_Net_New_Next_Open..._Page_Paste_Previous_Print..._Quit_Redo_Redraw_Revert_Save_Show Specific Text..._Text Size..._Text..._Toggle Visibility_Undo_Up_ViewgEDA Docu_mentation...gEDA _Wiki...gschem _FAQ...Project-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-01-27 14:18+0000 Last-Translator: FULL NAME Language-Team: Finnish Language: fi MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) Kaa_riMääri_tteet...A_utonumeroi määritteet tekstillä...Väy_läYmpyräVäri...Komponentin D_okumentaatio...KopiointiKopioi puskuriin 1Kopioi puskuriin 2Kopioi puskuriin 3Kopioi puskuriin 4Kopioi puskuriin 5_LeikkaaLeikkaa puskuriin 1Leikkaa puskuriin 2Leikkaa puskuriin 3Leikkaa puskuriin 4Leikkaa puskuriin 5_Vaihda Ruudukon tyyliäD_okumentaatio...Muokkaa tekstiä...Muokkaa...Aja skriptiTäyttöVirheellinen määrä [%d] kumoamistasoja. virheellinen koko [%d] annettu apuruudukonkooksi. Virheellinen koko [%d] annettu tekstin kooksi. Virheellinen suurennuskerroin [%d] annettu %s Suorita makroviivan leveys ja tyyppiLukitsePeilaaSiirräKopioi useita_UusiUusi ikkuna_Viimeisimmät tiedostotLiitä puskurista 1Liitä puskurista 2Liitä puskurista 3Liitä puskurista 4Liitä puskurista 5Kuva...Käännä 90 astettaTallenna _kaikkiTallenna _nimellä...Nosta Ruudukon TiheyttäValintatilaNäytä _MolemmatNäytä _Koordinaatti-ikkuna...Näytä _Loki-ikkuna...Näytä _NimiNäytä _ArvoNäytä _Liikutettaessa Komponentti/NeliöKinnity Ruudukkoon Päälle/PoisVapautaPäivitä komponentti_Vie kuvaksi..._LähennäL_oitonna_Tietoja..._Lisää_Määrite..._PuskuriSul_je_komponentti..._Kopioi_Poista_Hylkää_Muokkaa_TiedostoO_hje_Piilota_Pikanäppäimet_ViivaJohdi_n_Uusi_Seuraava_Avaa…_SivuL_iitä_EdellinenT_ulosta…L_opeta_Tee uudelleen_Päivitä näkymä_Hylkää muutokset_Tallenna_Näytä Maarite tekstillä..._Tekstin Koko_Teksti...Vaihda Näk_yvyysK_umoa_Ylös_NäytägEDA Dokumentaatio...gEDA _Wiki...gschem _UKK...geda-gaf-1.8.2/gschem/po/zh_CN.po0000664000175000017500000014132612220655644013342 00000000000000# Chinese (Simplified) translation for geda # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2010-02-11 03:18+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: gEDA developers \n" "Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2010-02-14 12:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: gschem/src/a_zoom.c:212 msgid "Zoom too small! Cannot zoom further.\n" msgstr "" #: gschem/src/g_attrib.c:92 msgid "Object ~A is not included in the current gschem page." msgstr "" #: gschem/src/g_attrib.c:112 msgid "Invalid text name/value visibility ~A." msgstr "" #: gschem/src/g_rc.c:312 #, c-format msgid "Invalid zoomfactor [%d] passed to %s\n" msgstr "" #: gschem/src/g_rc.c:458 #, c-format msgid "Invalid size [%d] passed to text-size\n" msgstr "" #: gschem/src/g_rc.c:501 #, c-format msgid "Invalid size [%d] passed to snap-size\n" msgstr "" #: gschem/src/g_rc.c:958 #, c-format msgid "Invalid num levels [%d] passed to undo-levels\n" msgstr "" #: gschem/src/g_rc.c:1220 #, c-format msgid "Invalid size [%d] passed to bus-ripper-size\n" msgstr "" #: gschem/src/g_rc.c:1295 #, c-format msgid "Invalid dot size [%d] passed to dots-grid-dot-size\n" msgstr "" #: gschem/src/g_rc.c:1336 #, c-format msgid "Invalid pixel spacing [%d] passed to dots-grid-fixed-threshold\n" msgstr "" #: gschem/src/g_rc.c:1362 #, c-format msgid "Invalid pixel spacing [%d] passed to mesh-grid-display-threshold\n" msgstr "" #: gschem/src/g_rc.c:1387 #, c-format msgid "Invalid offset [%d] passed to add-attribute-offset\n" msgstr "" #: gschem/src/g_rc.c:1411 #, c-format msgid "Invalid number of seconds [%d] passed to auto-save-interval\n" msgstr "" #: gschem/src/g_rc.c:1435 #, c-format msgid "Invalid gain [%d] passed to mousepan-gain\n" msgstr "" #: gschem/src/g_rc.c:1458 #, c-format msgid "Invalid gain [%d] passed to keyboardpan-gain\n" msgstr "" #: gschem/src/g_rc.c:1505 #, c-format msgid "Invalid number of pixels [%d] passed to select-slack-pixels\n" msgstr "" #: gschem/src/g_rc.c:1531 #, c-format msgid "Invalid gain [%d] passed to zoom-gain\n" msgstr "" #: gschem/src/g_rc.c:1556 #, c-format msgid "Invalid number of steps [%d] scrollpan-steps\n" msgstr "" #: gschem/src/g_select.c:79 gschem/src/g_select.c:116 #: gschem/src/g_select.c:152 msgid "Object ~A is not directly included in a page." msgstr "" #: gschem/src/g_util.c:56 msgid "Could not launch URI ~S: ~A" msgstr "" #: gschem/src/g_window.c:136 msgid "Found invalid gschem window smob ~S" msgstr "" #: gschem/src/gschem.c:175 #, c-format msgid "gEDA/gschem version %s%s.%s\n" msgstr "" #: gschem/src/gschem.c:178 msgid "" "gEDA/gschem comes with ABSOLUTELY NO WARRANTY; see COPYING for more " "details.\n" msgstr "" #: gschem/src/gschem.c:180 msgid "" "This is free software, and you are welcome to redistribute it under certain\n" msgstr "" #: gschem/src/gschem.c:182 msgid "" "conditions; please see the COPYING file for more details.\n" "\n" msgstr "" #: gschem/src/gschem.c:185 #, c-format msgid "This is the MINGW32 port.\n" msgstr "" #: gschem/src/gschem.c:189 #, c-format msgid "Current locale settings: %s\n" msgstr "" #: gschem/src/gschem.c:211 msgid "" "You must set the GEDADATA environment variable!\n" "\n" "gschem cannot locate its data files. You must set the GEDADATA\n" "environment variable to point to the correct location.\n" msgstr "" #: gschem/src/gschem.c:248 #, c-format msgid "Couldn't find init scm file [%s]\n" msgstr "" #: gschem/src/gschem.c:252 #, c-format msgid "Read init scm file [%s]\n" msgstr "" #: gschem/src/gschem.c:256 #, c-format msgid "Failed to read init scm file [%s]\n" msgstr "" #: gschem/src/gschem_cairo.c:310 #, c-format msgid "Unknown end for line (%d)\n" msgstr "" #: gschem/src/gschem_cairo.c:318 #, c-format msgid "Unknown type for stroke (%d) !\n" msgstr "" #: gschem/src/gschem_pango.c:289 msgid "cairo context" msgstr "" #: gschem/src/gschem_pango.c:290 msgid "the cairo context for the renderer" msgstr "" #: gschem/src/i_basic.c:77 gschem/src/x_window.c:524 #: gschem/lib/system-gschemrc.scm:1399 msgid "Select Mode" msgstr "选择模式" #: gschem/src/i_basic.c:79 msgid "Component Mode" msgstr "" #: gschem/src/i_basic.c:81 msgid "Text Mode" msgstr "" #: gschem/src/i_basic.c:84 gschem/lib/system-gschemrc.scm:1402 msgid "Copy Mode" msgstr "复制模式" #: gschem/src/i_basic.c:87 gschem/lib/system-gschemrc.scm:1404 msgid "Move Mode" msgstr "移动模式" #: gschem/src/i_basic.c:89 msgid "Rotate Mode" msgstr "" #: gschem/src/i_basic.c:91 gschem/lib/system-gschemrc.scm:1406 msgid "Mirror Mode" msgstr "镜像模式" #: gschem/src/i_basic.c:95 msgid "Zoom Box" msgstr "" #: gschem/src/i_basic.c:99 msgid "Pan Mode" msgstr "" #: gschem/src/i_basic.c:103 #, c-format msgid "Paste %d Mode" msgstr "" #: gschem/src/i_basic.c:109 msgid "Magnetic Net Mode" msgstr "" #: gschem/src/i_basic.c:111 msgid "Net Mode" msgstr "" #: gschem/src/i_basic.c:115 msgid "Bus Mode" msgstr "" #: gschem/src/i_basic.c:118 msgid "Line Mode" msgstr "" #: gschem/src/i_basic.c:121 msgid "Box Mode" msgstr "" #: gschem/src/i_basic.c:124 msgid "Picture Mode" msgstr "" #: gschem/src/i_basic.c:127 msgid "Circle Mode" msgstr "" #: gschem/src/i_basic.c:130 msgid "Arc Mode" msgstr "" #: gschem/src/i_basic.c:133 msgid "Pin Mode" msgstr "" #: gschem/src/i_basic.c:135 gschem/src/i_callbacks.c:529 #: gschem/src/i_callbacks.c:553 msgid "Copy" msgstr "复制" #: gschem/src/i_basic.c:137 gschem/src/i_callbacks.c:619 #: gschem/src/i_callbacks.c:643 msgid "Move" msgstr "" #: gschem/src/i_basic.c:139 gschem/src/i_callbacks.c:574 #: gschem/src/i_callbacks.c:598 msgid "Multiple Copy" msgstr "" #: gschem/src/i_basic.c:142 gschem/lib/system-gschemrc.scm:1403 msgid "Multiple Copy Mode" msgstr "多重复制模式" #: gschem/src/i_basic.c:168 msgid "Show Hidden" msgstr "" #: gschem/src/i_basic.c:171 msgid "Snap Off" msgstr "" #: gschem/src/i_basic.c:173 msgid "Resnap Active" msgstr "" #: gschem/src/i_basic.c:254 gschem/src/x_window.c:498 msgid "Action" msgstr "" #: gschem/src/i_basic.c:260 gschem/src/x_dialog.c:2325 #: gschem/src/x_window.c:493 msgid "Stroke" msgstr "" #: gschem/src/i_basic.c:266 gschem/src/x_window.c:495 msgid "none" msgstr "" #: gschem/src/i_basic.c:271 msgid "Repeat/" msgstr "" #: gschem/src/i_basic.c:566 gschem/src/i_basic.c:580 msgid "OFF" msgstr "" #: gschem/src/i_basic.c:584 msgid "NONE" msgstr "" #: gschem/src/i_basic.c:589 #, c-format msgid "Grid(%s, %s)" msgstr "" #: gschem/src/i_callbacks.c:76 gschem/src/i_callbacks.c:1659 #, c-format msgid "New page created [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:124 #, c-format msgid "New Window created [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:242 msgid "Failed to Save All" msgstr "" #: gschem/src/i_callbacks.c:244 msgid "Saved All" msgstr "" #: gschem/src/i_callbacks.c:334 msgid "Closing Window\n" msgstr "" #: gschem/src/i_callbacks.c:534 gschem/src/i_callbacks.c:579 #: gschem/src/i_callbacks.c:624 msgid "Select objs first" msgstr "" #: gschem/src/i_callbacks.c:663 gschem/src/x_multiattrib.c:1549 msgid "Delete" msgstr "删除" #: gschem/src/i_callbacks.c:688 msgid "Edit" msgstr "编辑" #: gschem/src/i_callbacks.c:703 msgid "Edit pin type" msgstr "" #: gschem/src/i_callbacks.c:722 msgid "Edit Text" msgstr "" #: gschem/src/i_callbacks.c:745 msgid "Slot" msgstr "" #: gschem/src/i_callbacks.c:762 msgid "Color" msgstr "" #: gschem/src/i_callbacks.c:799 gschem/src/i_callbacks.c:844 msgid "Rotate" msgstr "" #: gschem/src/i_callbacks.c:866 gschem/src/i_callbacks.c:891 msgid "Mirror" msgstr "" #: gschem/src/i_callbacks.c:912 gschem/src/x_dialog.c:2328 #: gschem/lib/system-gschemrc.scm:1415 msgid "Lock" msgstr "锁定" #: gschem/src/i_callbacks.c:930 gschem/lib/system-gschemrc.scm:1416 msgid "Unlock" msgstr "解锁" #: gschem/src/i_callbacks.c:948 gschem/src/x_dialog.c:1746 msgid "Translate" msgstr "" #: gschem/src/i_callbacks.c:951 msgid "WARNING: Do not translate with snap off!\n" msgstr "" #: gschem/src/i_callbacks.c:952 msgid "WARNING: Turning snap on and continuing with translate.\n" msgstr "" #: gschem/src/i_callbacks.c:959 msgid "WARNING: Snap grid size is not equal to 100!\n" msgstr "" #: gschem/src/i_callbacks.c:961 msgid "" "WARNING: If you are translating a symbol to the origin, the snap grid size " "should be set to 100\n" msgstr "" #: gschem/src/i_callbacks.c:992 msgid "Embed" msgstr "" #: gschem/src/i_callbacks.c:1031 msgid "Unembed" msgstr "" #: gschem/src/i_callbacks.c:1073 msgid "Update" msgstr "" #: gschem/src/i_callbacks.c:1120 msgid "ShowHidden" msgstr "" #: gschem/src/i_callbacks.c:1426 gschem/src/i_callbacks.c:1498 msgid "Pan" msgstr "" #: gschem/src/i_callbacks.c:1703 msgid "Really revert page?" msgstr "" #: gschem/src/i_callbacks.c:1773 msgid "Copy to clipboard" msgstr "" #: gschem/src/i_callbacks.c:1791 msgid "Cut to clipboard" msgstr "" #: gschem/src/i_callbacks.c:1809 msgid "Paste from clipboard" msgstr "" #: gschem/src/i_callbacks.c:1821 gschem/src/i_callbacks.c:2060 #: gschem/src/i_callbacks.c:2082 gschem/src/i_callbacks.c:2104 #: gschem/src/i_callbacks.c:2126 gschem/src/i_callbacks.c:2148 msgid "Empty buffer" msgstr "" #: gschem/src/i_callbacks.c:1866 msgid "Copy 1" msgstr "" #: gschem/src/i_callbacks.c:1885 msgid "Copy 2" msgstr "" #: gschem/src/i_callbacks.c:1904 msgid "Copy 3" msgstr "" #: gschem/src/i_callbacks.c:1923 msgid "Copy 4" msgstr "" #: gschem/src/i_callbacks.c:1942 msgid "Copy 5" msgstr "" #: gschem/src/i_callbacks.c:1961 msgid "Cut 1" msgstr "" #: gschem/src/i_callbacks.c:1980 msgid "Cut 2" msgstr "" #: gschem/src/i_callbacks.c:1999 msgid "Cut 3" msgstr "" #: gschem/src/i_callbacks.c:2018 msgid "Cut 4" msgstr "" #: gschem/src/i_callbacks.c:2037 msgid "Cut 5" msgstr "" #: gschem/src/i_callbacks.c:2053 msgid "Paste 1" msgstr "" #: gschem/src/i_callbacks.c:2075 msgid "Paste 2" msgstr "" #: gschem/src/i_callbacks.c:2097 msgid "Paste 3" msgstr "" #: gschem/src/i_callbacks.c:2119 msgid "Paste 4" msgstr "" #: gschem/src/i_callbacks.c:2141 msgid "Paste 5" msgstr "" #: gschem/src/i_callbacks.c:2278 gschem/src/x_window.c:359 msgid "Component" msgstr "" #: gschem/src/i_callbacks.c:2314 gschem/src/i_callbacks.c:2333 #: gschem/src/x_dialog.c:2298 msgid "Attribute" msgstr "" #: gschem/src/i_callbacks.c:2355 gschem/src/i_callbacks.c:2382 #: gschem/src/x_dialog.c:2295 msgid "Net" msgstr "" #: gschem/src/i_callbacks.c:2426 gschem/src/i_callbacks.c:2453 #: gschem/src/x_dialog.c:2313 gschem/src/x_window.c:379 msgid "Bus" msgstr "总线" #: gschem/src/i_callbacks.c:2534 gschem/src/i_callbacks.c:2557 msgid "Line" msgstr "" #: gschem/src/i_callbacks.c:2579 gschem/src/i_callbacks.c:2602 msgid "Box" msgstr "" #: gschem/src/i_callbacks.c:2658 gschem/src/i_callbacks.c:2682 msgid "Circle" msgstr "圆" #: gschem/src/i_callbacks.c:2704 gschem/src/i_callbacks.c:2727 msgid "Arc" msgstr "弧线" #: gschem/src/i_callbacks.c:2749 gschem/src/i_callbacks.c:2772 #: gschem/src/x_dialog.c:2286 msgid "Pin" msgstr "" #: gschem/src/i_callbacks.c:2831 #, c-format msgid "Searching for source [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:2855 #, c-format msgid "Cannot find source [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:2918 #, c-format msgid "Searching for symbol [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:2924 msgid "Symbol is not a real file. Symbol cannot be loaded.\n" msgstr "" #: gschem/src/i_callbacks.c:2955 msgid "Cannot find any schematics above the current one!\n" msgstr "" #: gschem/src/i_callbacks.c:2985 msgid "Attach" msgstr "连接" #: gschem/src/i_callbacks.c:3041 msgid "Detach" msgstr "脱离" #: gschem/src/i_callbacks.c:3085 msgid "ShowN" msgstr "" #: gschem/src/i_callbacks.c:3122 msgid "ShowV" msgstr "" #: gschem/src/i_callbacks.c:3159 msgid "ShowB" msgstr "" #: gschem/src/i_callbacks.c:3197 msgid "VisToggle" msgstr "" #: gschem/src/i_callbacks.c:3228 #, c-format msgid "Sorry but this is a non-functioning menu option\n" msgstr "" #: gschem/src/i_callbacks.c:3318 msgid "Action feedback mode set to OUTLINE\n" msgstr "" #: gschem/src/i_callbacks.c:3321 msgid "Action feedback mode set to BOUNDINGBOX\n" msgstr "" #: gschem/src/i_callbacks.c:3346 msgid "Grid OFF\n" msgstr "" #: gschem/src/i_callbacks.c:3347 msgid "Dot grid selected\n" msgstr "" #: gschem/src/i_callbacks.c:3348 msgid "Mesh grid selected\n" msgstr "" #: gschem/src/i_callbacks.c:3369 msgid "Snap OFF (CAUTION!)\n" msgstr "" #: gschem/src/i_callbacks.c:3372 msgid "Snap ON\n" msgstr "" #: gschem/src/i_callbacks.c:3375 msgid "Snap back to the grid (CAUTION!)\n" msgstr "" #: gschem/src/i_callbacks.c:3401 msgid "Rubber band OFF \n" msgstr "" #: gschem/src/i_callbacks.c:3404 msgid "Rubber band ON\n" msgstr "" #: gschem/src/i_callbacks.c:3419 msgid "magnetic net mode: ON\n" msgstr "" #: gschem/src/i_callbacks.c:3422 msgid "magnetic net mode: OFF\n" msgstr "" #: gschem/src/o_box.c:292 #, c-format msgid "Unknown type for box (fill)!\n" msgstr "" #: gschem/src/o_buffer.c:54 #, c-format msgid "o_buffer_copy: Invalid buffer %i\n" msgstr "" #: gschem/src/o_buffer.c:69 #, c-format msgid "o_buffer_cut: Invalid buffer %i\n" msgstr "" #: gschem/src/o_buffer.c:90 #, c-format msgid "Got an invalid buffer_number [o_buffer_paste_start]\n" msgstr "" #: gschem/src/o_bus.c:117 #, c-format msgid "Got an invalid which one in o_bus_draw_stretch\n" msgstr "" #: gschem/src/o_circle.c:284 #, c-format msgid "Unknown type for circle (fill)!\n" msgstr "" #: gschem/src/o_complex.c:223 gschem/src/o_complex.c:227 #, c-format msgid "Translating schematic [%d %d]\n" msgstr "" #: gschem/src/o_misc.c:61 #, c-format msgid "Got an unexpected NULL in o_edit\n" msgstr "" #: gschem/src/o_misc.c:125 msgid "Object already locked\n" msgstr "" #: gschem/src/o_misc.c:163 msgid "Object already unlocked\n" msgstr "" #: gschem/src/o_misc.c:339 msgid "Hidden text is now visible\n" msgstr "" #: gschem/src/o_misc.c:341 msgid "Hidden text is now invisible\n" msgstr "" #: gschem/src/o_misc.c:568 #, c-format msgid "Could not find symbol [%s] in library. Update failed.\n" msgstr "" #: gschem/src/o_misc.c:683 #, c-format msgid "o_autosave_backups: Can't get the real filename of %s." msgstr "" #: gschem/src/o_misc.c:727 #, c-format msgid "Could NOT set previous backup file [%s] read-write\n" msgstr "" #: gschem/src/o_misc.c:747 #, c-format msgid "Could NOT set backup file [%s] readonly\n" msgstr "" #: gschem/src/o_misc.c:752 #, c-format msgid "Could NOT save backup file [%s]\n" msgstr "" #: gschem/src/o_move.c:174 #, c-format msgid "ERROR: NULL object in o_move_end!\n" msgstr "" #: gschem/src/o_move.c:431 #, c-format msgid "DOH! tried to find the whichone, but didn't find it!\n" msgstr "" #: gschem/src/o_move.c:453 #, c-format msgid "Got a non line object in o_move_check_endpoint\n" msgstr "" #: gschem/src/o_net.c:158 #, c-format msgid "Got an invalid which one in o_net_draw_stretch\n" msgstr "" #: gschem/src/o_net.c:537 msgid "Warning: Starting net at off grid coordinate\n" msgstr "" #: gschem/src/o_net.c:602 msgid "Warning: Ending net at off grid coordinate\n" msgstr "" #: gschem/src/o_net.c:944 gschem/src/o_net.c:981 gschem/src/o_net.c:1052 #: gschem/src/o_net.c:1088 #, c-format msgid "Tried to add more than two bus rippers. Internal gschem error.\n" msgstr "" #: gschem/src/o_net.c:1156 #, c-format msgid "Bus ripper symbol [%s] was not found in any component library\n" msgstr "" #: gschem/src/o_path.c:340 #, c-format msgid "Unknown type for path (fill)!\n" msgstr "" #: gschem/src/o_picture.c:166 #, c-format msgid "Failed to load picture: %s" msgstr "" #: gschem/src/o_picture.c:180 msgid "Picture" msgstr "" #: gschem/src/o_picture.c:544 #, c-format msgid "Failed to replace pictures: %s" msgstr "" #: gschem/src/o_slot.c:81 msgid "Slot attribute malformed\n" msgstr "" #: gschem/src/o_slot.c:89 msgid "numslots attribute missing\n" msgstr "" #: gschem/src/o_slot.c:90 msgid "Slotting not allowed for this component\n" msgstr "" #: gschem/src/o_slot.c:105 msgid "New slot number out of range\n" msgstr "" #: gschem/src/o_undo.c:307 msgid "Undo/Redo disabled in rc file\n" msgstr "" #: gschem/src/parsecmd.c:82 #, c-format msgid "" "Usage: %s [OPTION ...] [--] [FILE ...]\n" "\n" "Interactively edit gEDA schematics or symbols. If one or more FILEs\n" "are specified, open them for editing; otherwise, create a new, empty\n" "schematic.\n" "\n" "Options:\n" " -q, --quiet Quiet mode.\n" " -v, --verbose Verbose mode.\n" " -r, --config-file=FILE Additional configuration file to load.\n" " -L DIR Add DIR to Scheme search path.\n" " -c EXPR Scheme expression to run at startup.\n" " -s FILE Scheme script to run at startup.\n" " -o, --output=FILE Output filename (for printing).\n" " -p Automatically place the window.\n" " -V, --version Show version information.\n" " -h, --help Help; this message.\n" " -- Treat all remaining arguments as filenames.\n" "\n" "Report bugs at \n" "gEDA/gaf homepage: \n" msgstr "" #: gschem/src/parsecmd.c:116 #, c-format msgid "" "gEDA %s (g%.7s)\n" "Copyright (C) 1998-2012 gEDA developers\n" "This is free software, and you are welcome to redistribute it under\n" "certain conditions. For details, see the file `COPYING', which is\n" "included in the gEDA distribution.\n" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" #: gschem/src/x_attribedit.c:127 #, c-format msgid "Got invalid show option; defaulting to show both\n" msgstr "" #: gschem/src/x_attribedit.c:141 #, c-format msgid "ERROR: NULL object!\n" msgstr "" #: gschem/src/x_attribedit.c:329 msgid "Single Attribute Editor" msgstr "" #: gschem/src/x_attribedit.c:359 msgid "Edit Attribute" msgstr "" #: gschem/src/x_attribedit.c:361 msgid "Add Attribute" msgstr "" #: gschem/src/x_attribedit.c:377 gschem/src/x_multiattrib.c:1973 msgid "Name:" msgstr "" #: gschem/src/x_attribedit.c:394 gschem/src/x_multiattrib.c:1992 msgid "Value:" msgstr "" #: gschem/src/x_attribedit.c:410 gschem/src/x_multiattrib.c:2038 msgid "Visible" msgstr "" #: gschem/src/x_attribedit.c:430 msgid "Show Value Only" msgstr "" #: gschem/src/x_attribedit.c:432 msgid "Show Name Only" msgstr "" #: gschem/src/x_attribedit.c:434 gschem/src/x_multiattrib.c:1512 msgid "Show Name & Value" msgstr "" #: gschem/src/x_attribedit.c:441 msgid "Attach Options" msgstr "" #: gschem/src/x_attribedit.c:456 msgid "All" msgstr "" #: gschem/src/x_attribedit.c:464 gschem/src/x_compselect.c:922 #: gschem/src/x_compselect.c:1036 msgid "Components" msgstr "" #: gschem/src/x_attribedit.c:472 gschem/src/x_window.c:369 msgid "Nets" msgstr "" #: gschem/src/x_attribedit.c:480 msgid "Replace existing attributes" msgstr "" #: gschem/src/x_autonumber.c:415 msgid "" "slotted object without slot attribute may cause problems when autonumbering " "slots\n" msgstr "" #: gschem/src/x_autonumber.c:430 #, c-format msgid "" "duplicate slot may cause problems: [symbolname=%s, number=%d, slot=%d]\n" msgstr "" #: gschem/src/x_autonumber.c:672 msgid "No searchstring given in autonumber text.\n" msgstr "" #: gschem/src/x_autonumber.c:724 msgid "No '*' or '?' given at the end of the autonumber text.\n" msgstr "" #: gschem/src/x_autonumber.c:859 msgid "Diagonal" msgstr "" #: gschem/src/x_autonumber.c:860 msgid "Top to bottom" msgstr "" #: gschem/src/x_autonumber.c:860 msgid "Bottom to top" msgstr "" #: gschem/src/x_autonumber.c:861 msgid "Left to right" msgstr "" #: gschem/src/x_autonumber.c:861 msgid "Right to left" msgstr "" #: gschem/src/x_autonumber.c:862 msgid "File order" msgstr "" #: gschem/src/x_autonumber.c:1198 msgid "Autonumber text" msgstr "" #: gschem/src/x_autonumber.c:1222 msgid "Scope" msgstr "" #: gschem/src/x_autonumber.c:1244 msgid "Search for:" msgstr "" #: gschem/src/x_autonumber.c:1258 msgid "Autonumber text in:" msgstr "" #: gschem/src/x_autonumber.c:1265 msgid "Skip numbers found in:" msgstr "" #: gschem/src/x_autonumber.c:1277 gschem/src/x_autonumber.c:1286 msgid "Selected objects" msgstr "" #: gschem/src/x_autonumber.c:1278 gschem/src/x_autonumber.c:1287 msgid "Current page" msgstr "" #: gschem/src/x_autonumber.c:1279 gschem/src/x_autonumber.c:1288 msgid "Whole hierarchy" msgstr "" #: gschem/src/x_autonumber.c:1290 msgid "Overwrite existing numbers" msgstr "" #: gschem/src/x_autonumber.c:1295 msgid "Options" msgstr "" #: gschem/src/x_autonumber.c:1317 msgid "Starting number:" msgstr "" #: gschem/src/x_autonumber.c:1324 msgid "Sort order:" msgstr "" #: gschem/src/x_autonumber.c:1345 msgid "Remove numbers" msgstr "" #: gschem/src/x_autonumber.c:1349 msgid "Automatic slotting" msgstr "" #: gschem/src/x_clipboard.c:249 #, c-format msgid "" "Invalid schematic on clipboard.\n" "\n" "An error occurred while inserting clipboard data: %s." msgstr "" #: gschem/src/x_clipboard.c:251 msgid "Clipboard insertion failed" msgstr "" #: gschem/src/x_color.c:94 gschem/src/x_color.c:103 #, c-format msgid "Could not allocate the color %s!\n" msgstr "" #: gschem/src/x_color.c:94 msgid "black" msgstr "" #: gschem/src/x_color.c:103 msgid "white" msgstr "" #: gschem/src/x_color.c:125 #, c-format msgid "Could not allocate display color %i!\n" msgstr "" #: gschem/src/x_color.c:147 #, c-format msgid "Could not allocate outline color %i!\n" msgstr "" #: gschem/src/x_color.c:164 gschem/src/x_color.c:181 gschem/src/x_color.c:197 #, c-format msgid "Tried to get an invalid color: %d\n" msgstr "" #: gschem/src/x_color.c:214 #, c-format msgid "Tried to get an invalid outline color: %d\n" msgstr "" #: gschem/src/x_compselect.c:1066 msgid "Filter:" msgstr "" #: gschem/src/x_compselect.c:1169 gschem/src/x_dialog.c:3653 #: gschem/src/x_multiattrib.c:1839 msgid "Name" msgstr "" #: gschem/src/x_compselect.c:1178 gschem/src/x_multiattrib.c:1863 msgid "Value" msgstr "" #: gschem/src/x_compselect.c:1217 msgid "Default behavior - reference component" msgstr "" #: gschem/src/x_compselect.c:1220 msgid "Embed component in schematic" msgstr "" #: gschem/src/x_compselect.c:1223 msgid "Include component as individual objects" msgstr "" #: gschem/src/x_compselect.c:1380 msgid "Select Component..." msgstr "" #: gschem/src/x_compselect.c:1403 msgid "In Use" msgstr "" #: gschem/src/x_compselect.c:1407 msgid "Libraries" msgstr "" #: gschem/src/x_compselect.c:1416 gschem/src/x_fileselect.c:122 msgid "Preview" msgstr "" #: gschem/src/x_compselect.c:1444 msgid "Attributes" msgstr "属性" #: gschem/src/x_dialog.c:176 msgid "Text Entry..." msgstr "" #: gschem/src/x_dialog.c:207 msgid "" "Enter text, click apply,\n" "move cursor into window, click to place text.\n" "Middle button to rotate while placing." msgstr "" #: gschem/src/x_dialog.c:301 msgid "Upper Left" msgstr "" #: gschem/src/x_dialog.c:304 msgid "Upper Middle" msgstr "" #: gschem/src/x_dialog.c:307 msgid "Upper Right" msgstr "" #: gschem/src/x_dialog.c:311 msgid "Middle Left" msgstr "" #: gschem/src/x_dialog.c:314 msgid "Middle Middle" msgstr "" #: gschem/src/x_dialog.c:317 msgid "Middle Right" msgstr "" #: gschem/src/x_dialog.c:321 msgid "Lower Left" msgstr "" #: gschem/src/x_dialog.c:324 msgid "Lower Middle" msgstr "" #: gschem/src/x_dialog.c:327 msgid "Lower Right" msgstr "" #: gschem/src/x_dialog.c:438 msgid "Edit Text Properties" msgstr "" #: gschem/src/x_dialog.c:473 msgid "Text Content" msgstr "" #: gschem/src/x_dialog.c:509 msgid "Text Properties" msgstr "" #: gschem/src/x_dialog.c:524 msgid "Color:" msgstr "" #: gschem/src/x_dialog.c:531 msgid "Size:" msgstr "" #: gschem/src/x_dialog.c:540 msgid "Alignment:" msgstr "" #: gschem/src/x_dialog.c:589 msgid "Solid" msgstr "" #: gschem/src/x_dialog.c:590 msgid "Dotted" msgstr "" #: gschem/src/x_dialog.c:591 msgid "Dashed" msgstr "" #: gschem/src/x_dialog.c:592 msgid "Center" msgstr "" #: gschem/src/x_dialog.c:593 msgid "Phantom" msgstr "" #: gschem/src/x_dialog.c:594 gschem/src/x_dialog.c:691 #: gschem/src/x_dialog.c:700 gschem/src/x_dialog.c:709 #: gschem/src/x_dialog.c:810 gschem/src/x_dialog.c:813 #: gschem/src/x_dialog.c:816 gschem/src/x_dialog.c:1043 #: gschem/src/x_dialog.c:1146 gschem/src/x_dialog.c:1155 #: gschem/src/x_dialog.c:1164 gschem/src/x_dialog.c:1173 #: gschem/src/x_dialog.c:1182 gschem/src/x_dialog.c:1295 #: gschem/src/x_dialog.c:1298 gschem/src/x_dialog.c:1301 #: gschem/src/x_dialog.c:1304 gschem/src/x_dialog.c:1307 msgid "*unchanged*" msgstr "" #: gschem/src/x_dialog.c:921 msgid "Edit Line Width & Type" msgstr "" #: gschem/src/x_dialog.c:960 gschem/src/x_print.c:307 msgid "Type:" msgstr "" #: gschem/src/x_dialog.c:964 msgid "Width:" msgstr "" #: gschem/src/x_dialog.c:968 msgid "Dash Length:" msgstr "" #: gschem/src/x_dialog.c:972 msgid "Dash Space:" msgstr "" #: gschem/src/x_dialog.c:1039 msgid "Hollow" msgstr "" #: gschem/src/x_dialog.c:1040 msgid "Filled" msgstr "" #: gschem/src/x_dialog.c:1041 msgid "Mesh" msgstr "" #: gschem/src/x_dialog.c:1042 msgid "Hatch" msgstr "" #: gschem/src/x_dialog.c:1416 msgid "Edit Fill Type" msgstr "" #: gschem/src/x_dialog.c:1455 msgid "Fill Type:" msgstr "" #: gschem/src/x_dialog.c:1459 msgid "Line Width:" msgstr "" #: gschem/src/x_dialog.c:1463 msgid "Angle 1:" msgstr "" #: gschem/src/x_dialog.c:1467 msgid "Pitch 1:" msgstr "" #: gschem/src/x_dialog.c:1471 msgid "Angle 2:" msgstr "" #: gschem/src/x_dialog.c:1475 msgid "Pitch 2:" msgstr "" #: gschem/src/x_dialog.c:1602 msgid "Arc Params" msgstr "" #: gschem/src/x_dialog.c:1643 msgid "Arc Radius:" msgstr "" #: gschem/src/x_dialog.c:1651 msgid "Start Angle:" msgstr "" #: gschem/src/x_dialog.c:1659 msgid "Degrees of Sweep:" msgstr "" #: gschem/src/x_dialog.c:1777 msgid "" "Offset to translate?\n" "(0 for origin)" msgstr "" #: gschem/src/x_dialog.c:1845 msgid "Text Size" msgstr "" #: gschem/src/x_dialog.c:1875 msgid "Enter new text size:" msgstr "" #: gschem/src/x_dialog.c:1951 msgid "Snap Size" msgstr "" #: gschem/src/x_dialog.c:1981 msgid "Enter new snap grid spacing:" msgstr "" #: gschem/src/x_dialog.c:2058 msgid "Edit slot number" msgstr "" #: gschem/src/x_dialog.c:2089 msgid "Edit slot number:" msgstr "" #: gschem/src/x_dialog.c:2130 #, c-format msgid "%s (g%.7s)" msgstr "" #: gschem/src/x_dialog.c:2151 msgid "About gschem" msgstr "" #: gschem/src/x_dialog.c:2152 msgid "gEDA: GPL Electronic Design Automation" msgstr "" #. TRANSLATORS: "ChangeLog" is a literal filename; please don't translate it. #: gschem/src/x_dialog.c:2155 msgid "" "Copyright © 1998-2012 Ales Hvezda \n" "Copyright © 1998-2012 gEDA Contributors (see ChangeLog for details)" msgstr "" #: gschem/src/x_dialog.c:2214 msgid "Coords" msgstr "" #: gschem/src/x_dialog.c:2235 msgid "Screen" msgstr "" #: gschem/src/x_dialog.c:2244 msgid "World" msgstr "" #: gschem/src/x_dialog.c:2283 msgid "Background" msgstr "" #: gschem/src/x_dialog.c:2289 msgid "Net endpoint" msgstr "" #: gschem/src/x_dialog.c:2292 msgid "Graphic" msgstr "" #: gschem/src/x_dialog.c:2301 msgid "Logic bubble" msgstr "" #: gschem/src/x_dialog.c:2304 msgid "Grid point" msgstr "" #: gschem/src/x_dialog.c:2307 msgid "Detached attribute" msgstr "" #: gschem/src/x_dialog.c:2310 gschem/src/x_window.c:387 msgid "Text" msgstr "" #: gschem/src/x_dialog.c:2316 msgid "Selection" msgstr "" #: gschem/src/x_dialog.c:2319 msgid "Bounding box" msgstr "" #: gschem/src/x_dialog.c:2322 msgid "Zoom box" msgstr "" #: gschem/src/x_dialog.c:2331 msgid "Output background" msgstr "" #: gschem/src/x_dialog.c:2334 msgid "Net junction" msgstr "" #: gschem/src/x_dialog.c:2337 msgid "Mesh grid major" msgstr "" #: gschem/src/x_dialog.c:2340 msgid "Mesh grid minor" msgstr "" #: gschem/src/x_dialog.c:2343 msgid "Unknown" msgstr "" #: gschem/src/x_dialog.c:2494 #, c-format msgid "ERROR: NULL object in color_edit_dialog_apply!\n" msgstr "" #: gschem/src/x_dialog.c:2538 msgid "Color Edit" msgstr "" #: gschem/src/x_dialog.c:2569 msgid "Object color:" msgstr "" #: gschem/src/x_dialog.c:2622 msgid "Hotkeys" msgstr "" #: gschem/src/x_dialog.c:2662 msgid "Function" msgstr "" #: gschem/src/x_dialog.c:2669 msgid "Keystroke(s)" msgstr "" #: gschem/src/x_dialog.c:2977 msgid "Find Text" msgstr "" #: gschem/src/x_dialog.c:3008 msgid "Text to find:" msgstr "" #: gschem/src/x_dialog.c:3018 msgid "descend into hierarchy" msgstr "" #: gschem/src/x_dialog.c:3084 msgid "Hide Text" msgstr "" #: gschem/src/x_dialog.c:3115 msgid "Hide text starting with:" msgstr "" #: gschem/src/x_dialog.c:3185 msgid "Show Text" msgstr "" #: gschem/src/x_dialog.c:3216 msgid "Show text starting with:" msgstr "" #: gschem/src/x_dialog.c:3675 msgid "S_elect the schematics you want to save:" msgstr "" #: gschem/src/x_dialog.c:3770 #, c-format msgid "Save the changes to schematic \"%s\" before closing?" msgstr "" #: gschem/src/x_dialog.c:3776 #, c-format msgid "" "There are %d schematics with unsaved changes. Save changes before closing?" msgstr "" #: gschem/src/x_dialog.c:3805 msgid "If you don't save, all your changes will be permanently lost." msgstr "" #: gschem/src/x_dialog.c:3825 msgid "_Close without saving" msgstr "" #: gschem/src/x_dialog.c:4161 #, c-format msgid "" "The input attribute \"%s\" is invalid\n" "Please correct in order to continue\n" "\n" "The name and value must be non-empty.\n" "The name cannot end with a space.\n" "The value cannot start with a space." msgstr "" #: gschem/src/x_dialog.c:4163 msgid "Invalid Attribute" msgstr "" #: gschem/src/x_dialog.c:4199 msgid "Pin type" msgstr "" #: gschem/src/x_dialog.c:4223 msgid "Net pin" msgstr "" #: gschem/src/x_dialog.c:4225 msgid "Bus pin (graphical)" msgstr "" #: gschem/src/x_fileselect.c:42 msgid "Schematics" msgstr "" #: gschem/src/x_fileselect.c:47 msgid "Symbols" msgstr "" #: gschem/src/x_fileselect.c:52 msgid "Schematics and symbols" msgstr "" #: gschem/src/x_fileselect.c:58 msgid "All files" msgstr "" #: gschem/src/x_fileselect.c:171 msgid "Open..." msgstr "" #: gschem/src/x_fileselect.c:231 msgid "Save as..." msgstr "" #: gschem/src/x_fileselect.c:284 #, c-format msgid "" "The selected file `%s' already exists.\n" "\n" "Would you like to overwrite it?" msgstr "" #: gschem/src/x_fileselect.c:287 msgid "Overwrite file?" msgstr "" #: gschem/src/x_fileselect.c:289 msgid "Save cancelled on user request\n" msgstr "" #: gschem/src/x_image.c:176 msgid "Encapsulated Postscript" msgstr "" #: gschem/src/x_image.c:296 #, c-format msgid "x_image_lowlevel: Unable to write eps file %s.\n" msgstr "" #: gschem/src/x_image.c:374 #, c-format msgid "x_image_lowlevel: Unable to write %s file %s.\n" msgstr "" #: gschem/src/x_image.c:384 #, c-format msgid "" "There was the following error when saving image with type %s to filename:\n" "%s\n" "\n" "%s.\n" msgstr "" #: gschem/src/x_image.c:403 #, c-format msgid "Wrote color image to [%s] [%d x %d]\n" msgstr "" #: gschem/src/x_image.c:405 #, c-format msgid "Wrote black and white image to [%s] [%d x %d]\n" msgstr "" #: gschem/src/x_image.c:413 msgid "x_image_lowlevel: Unable to get pixbuf from gschem's window.\n" msgstr "" #: gschem/src/x_image.c:458 msgid "Width x Height" msgstr "" #: gschem/src/x_image.c:474 msgid "Image type" msgstr "" #: gschem/src/x_image.c:495 msgid "Write image..." msgstr "写入图片..." #: gschem/src/x_log.c:209 msgid "** Invalid UTF-8 in log message. See stderr or gschem.log.\n" msgstr "" #: gschem/src/x_log.c:288 msgid "Status" msgstr "" #: gschem/src/x_menus.c:37 msgid "/Add Net" msgstr "" #: gschem/src/x_menus.c:38 msgid "/Add Attribute..." msgstr "" #: gschem/src/x_menus.c:39 msgid "/Add Component..." msgstr "" #: gschem/src/x_menus.c:40 msgid "/Add Bus" msgstr "" #: gschem/src/x_menus.c:41 msgid "/Add Text" msgstr "" #: gschem/src/x_menus.c:43 msgid "/Zoom In" msgstr "" #: gschem/src/x_menus.c:44 msgid "/Zoom Out" msgstr "" #: gschem/src/x_menus.c:45 msgid "/Zoom Box" msgstr "" #: gschem/src/x_menus.c:46 msgid "/Zoom Extents" msgstr "" #: gschem/src/x_menus.c:48 msgid "/Select" msgstr "" #: gschem/src/x_menus.c:49 msgid "/Edit..." msgstr "" #: gschem/src/x_menus.c:50 msgid "/Edit pin type..." msgstr "" #: gschem/src/x_menus.c:51 msgid "/Copy" msgstr "" #: gschem/src/x_menus.c:52 msgid "/Move" msgstr "" #: gschem/src/x_menus.c:53 msgid "/Delete" msgstr "" #: gschem/src/x_menus.c:56 msgid "/Down Schematic" msgstr "" #: gschem/src/x_menus.c:57 msgid "/Down Symbol" msgstr "" #: gschem/src/x_menus.c:58 msgid "/Up" msgstr "" #: gschem/src/x_menus.c:348 #, c-format msgid "Tried to set the sensitivity on non-existent menu item '%s'\n" msgstr "" #: gschem/src/x_menus.c:372 msgid "Popup_menu_item_factory doesn't exist!\n" msgstr "" #: gschem/src/x_menus.c:385 msgid "Tried to set the sensitivity on a non-existent popup menu_item\n" msgstr "" #: gschem/src/x_misc.c:74 msgid "The operating system is out of memory or resources." msgstr "" #: gschem/src/x_misc.c:155 #, c-format msgid "%s failed to launch URI" msgstr "" #: gschem/src/x_multiattrib.c:961 msgid "Attributes with empty name are not allowed. Please set a name." msgstr "" #: gschem/src/x_multiattrib.c:1514 msgid "Show Value only" msgstr "" #: gschem/src/x_multiattrib.c:1516 msgid "Show Name only" msgstr "" #: gschem/src/x_multiattrib.c:1544 msgid "Promote" msgstr "" #: gschem/src/x_multiattrib.c:1548 msgid "Duplicate" msgstr "" #: gschem/src/x_multiattrib.c:1765 msgid "Edit Attributes" msgstr "" #: gschem/src/x_multiattrib.c:1883 msgid "Vis?" msgstr "" #: gschem/src/x_multiattrib.c:1901 msgid "N" msgstr "" #: gschem/src/x_multiattrib.c:1919 msgid "V" msgstr "" #: gschem/src/x_multiattrib.c:1941 msgid "Show inherited attributes" msgstr "" #: gschem/src/x_multiattrib.c:1957 msgid "Add Attribute" msgstr "" #: gschem/src/x_pagesel.c:246 msgid "New Page" msgstr "新建页面" #: gschem/src/x_pagesel.c:247 msgid "Open Page..." msgstr "打开页面..." #: gschem/src/x_pagesel.c:249 msgid "Save Page" msgstr "保存页面" #: gschem/src/x_pagesel.c:250 msgid "Close Page" msgstr "关闭页面" #: gschem/src/x_pagesel.c:251 msgid "Discard Page" msgstr "" #: gschem/src/x_pagesel.c:369 msgid "Page Manager" msgstr "" #: gschem/src/x_pagesel.c:425 msgid "Filename" msgstr "" #: gschem/src/x_pagesel.c:441 msgid "Changed" msgstr "" #: gschem/src/x_pagesel.c:461 msgid "Right click on the filename for more options..." msgstr "" #: gschem/src/x_preview.c:231 msgid "Preview Buffer" msgstr "" #: gschem/src/x_print.c:84 msgid "Select PostScript Filename..." msgstr "" #: gschem/src/x_print.c:164 msgid "Extents with margins" msgstr "" #: gschem/src/x_print.c:170 msgid "Extents no margins" msgstr "" #: gschem/src/x_print.c:176 msgid "Current Window" msgstr "" #: gschem/src/x_print.c:210 msgid "Landscape" msgstr "" #: gschem/src/x_print.c:216 msgid "Portrait" msgstr "" #: gschem/src/x_print.c:276 msgid "Print..." msgstr "打印..." #: gschem/src/x_print.c:284 msgid "Settings" msgstr "" #: gschem/src/x_print.c:296 msgid "Output paper size:" msgstr "" #: gschem/src/x_print.c:318 msgid "Orientation:" msgstr "" #: gschem/src/x_print.c:330 msgid "Destination" msgstr "" #: gschem/src/x_print.c:343 msgid "File:" msgstr "" #: gschem/src/x_print.c:373 msgid "Command:" msgstr "" #: gschem/src/x_print.c:745 msgid "No print destination specified\n" msgstr "" #: gschem/src/x_print.c:752 #, c-format msgid "Cannot print current schematic to [%s]\n" msgstr "" #: gschem/src/x_print.c:761 #, c-format msgid "" "Error printing to file '%s'\n" "Check the log window for more information" msgstr "" #: gschem/src/x_print.c:768 #, c-format msgid "Printed current schematic to [%s]\n" msgstr "" #: gschem/src/x_rc.c:40 msgid "ERROR: An unknown error occurred while parsing configuration files.\n" msgstr "" #: gschem/src/x_rc.c:45 msgid "" "An unknown error occurred while parsing configuration files.\n" "\n" "The gschem log may contain more information." msgstr "" #: gschem/src/x_rc.c:57 #, c-format msgid "ERROR: %s\n" msgstr "" #: gschem/src/x_rc.c:60 #, c-format msgid "" "%s\n" "\n" "The gschem log may contain more information." msgstr "" #: gschem/src/x_rc.c:68 msgid "Cannot load gschem configuration." msgstr "" #: gschem/src/x_script.c:47 gschem/lib/system-gschemrc.scm:1381 msgid "Execute Script..." msgstr "执行脚本..." #: gschem/src/x_script.c:66 #, c-format msgid "Executing guile script [%s]\n" msgstr "" #: gschem/src/x_window.c:82 #, c-format msgid "Couldn't allocate gc\n" msgstr "" #: gschem/src/x_window.c:321 msgid "New" msgstr "新建" #: gschem/src/x_window.c:322 msgid "New file" msgstr "" #: gschem/src/x_window.c:328 msgid "Open" msgstr "" #: gschem/src/x_window.c:329 msgid "Open file..." msgstr "" #: gschem/src/x_window.c:335 msgid "Save" msgstr "" #: gschem/src/x_window.c:336 msgid "Save file" msgstr "" #: gschem/src/x_window.c:343 msgid "Undo" msgstr "撤销" #: gschem/src/x_window.c:344 msgid "Undo last operation" msgstr "" #: gschem/src/x_window.c:350 msgid "Redo" msgstr "重做" #: gschem/src/x_window.c:351 msgid "Redo last undo" msgstr "" #: gschem/src/x_window.c:360 msgid "" "Add component...\n" "Select library and component from list, move the mouse into main window, " "click to place\n" "Right mouse button to cancel" msgstr "" #: gschem/src/x_window.c:370 msgid "" "Add nets mode\n" "Right mouse button to cancel" msgstr "" #: gschem/src/x_window.c:380 msgid "" "Add buses mode\n" "Right mouse button to cancel" msgstr "" #: gschem/src/x_window.c:388 msgid "Add Text..." msgstr "" #: gschem/src/x_window.c:398 msgid "Select" msgstr "" #: gschem/src/x_window.c:399 msgid "Select mode" msgstr "" #: gschem/src/x_window.c:465 msgid "Evaluate:" msgstr "" #: gschem/src/x_window.c:484 msgid "Pick" msgstr "" #: gschem/src/x_window.c:500 msgid "Repeat/none" msgstr "" #: gschem/src/x_window.c:510 msgid "Menu/Cancel" msgstr "" #: gschem/src/x_window.c:512 msgid "Pan/Cancel" msgstr "" #: gschem/src/x_window.c:737 #, c-format msgid "Loading schematic [%s]\n" msgstr "" #: gschem/src/x_window.c:748 #, c-format msgid "" "An error occurred while loading the requested file.\n" "\n" "Loading from '%s' failed: %s. The gschem log may contain more information." msgstr "" #: gschem/src/x_window.c:750 msgid "Failed to load file" msgstr "" #: gschem/src/x_window.c:759 #, c-format msgid "New file [%s]\n" msgstr "" #: gschem/src/x_window.c:862 #, c-format msgid "Could NOT save page [%s]\n" msgstr "" #: gschem/src/x_window.c:863 msgid "Error while trying to save" msgstr "" #: gschem/src/x_window.c:873 msgid "Failed to save file" msgstr "" #: gschem/src/x_window.c:884 #, c-format msgid "Saved as [%s]\n" msgstr "" #: gschem/src/x_window.c:886 #, c-format msgid "Saved [%s]\n" msgstr "" #: gschem/src/x_window.c:888 msgid "Saved" msgstr "" #: gschem/src/x_window.c:962 #, c-format msgid "Discarding page [%s]\n" msgstr "" #: gschem/src/x_window.c:962 #, c-format msgid "Closing [%s]\n" msgstr "" #: gschem/data/geda-gschem.desktop.in:3 msgid "gEDA Schematic Editor" msgstr "" #: gschem/data/geda-gschem.desktop.in:4 msgid "Create and edit electrical schematics and symbols with gschem" msgstr "" #: gschem/lib/system-gschemrc.scm:1368 #, fuzzy msgid "_New" msgstr "新建" #: gschem/lib/system-gschemrc.scm:1369 #, fuzzy msgid "_Open..." msgstr "打开页面..." #: gschem/lib/system-gschemrc.scm:1371 msgid "Open Recen_t" msgstr "" #: gschem/lib/system-gschemrc.scm:1373 #, fuzzy msgid "_Save" msgstr "全部保存" #: gschem/lib/system-gschemrc.scm:1374 #, fuzzy msgid "Save _As..." msgstr "页面保存为..." #: gschem/lib/system-gschemrc.scm:1375 msgid "Save All" msgstr "全部保存" #: gschem/lib/system-gschemrc.scm:1376 gschem/lib/system-gschemrc.scm:1469 #, fuzzy msgid "_Revert" msgstr "翻转页面" #: gschem/lib/system-gschemrc.scm:1378 #, fuzzy msgid "_Print..." msgstr "打印..." #: gschem/lib/system-gschemrc.scm:1379 #, fuzzy msgid "Write _image..." msgstr "写入图片..." #: gschem/lib/system-gschemrc.scm:1383 msgid "New Window" msgstr "新建窗口" #: gschem/lib/system-gschemrc.scm:1384 #, fuzzy msgid "_Close Window" msgstr "关闭窗口" #: gschem/lib/system-gschemrc.scm:1385 #, fuzzy msgid "_Quit" msgstr "退出" #: gschem/lib/system-gschemrc.scm:1391 #, fuzzy msgid "_Undo" msgstr "撤销" #: gschem/lib/system-gschemrc.scm:1392 #, fuzzy msgid "_Redo" msgstr "重做" #: gschem/lib/system-gschemrc.scm:1394 #, fuzzy msgid "Cu_t" msgstr "剪切" #: gschem/lib/system-gschemrc.scm:1395 #, fuzzy msgid "_Copy" msgstr "复制" #: gschem/lib/system-gschemrc.scm:1396 #, fuzzy msgid "_Paste" msgstr "粘贴" #: gschem/lib/system-gschemrc.scm:1397 #, fuzzy msgid "_Delete" msgstr "删除" #: gschem/lib/system-gschemrc.scm:1400 #, fuzzy msgid "Select All" msgstr "选择模式" #: gschem/lib/system-gschemrc.scm:1401 msgid "Deselect" msgstr "" #: gschem/lib/system-gschemrc.scm:1405 msgid "Rotate 90 Mode" msgstr "旋转 90 度" #: gschem/lib/system-gschemrc.scm:1408 msgid "Edit..." msgstr "编辑..." #: gschem/lib/system-gschemrc.scm:1409 msgid "Edit Text..." msgstr "编辑文本..." #: gschem/lib/system-gschemrc.scm:1410 msgid "Slot..." msgstr "" #: gschem/lib/system-gschemrc.scm:1411 msgid "Color..." msgstr "颜色..." #: gschem/lib/system-gschemrc.scm:1412 msgid "Line Width & Type..." msgstr "线宽和线型..." #: gschem/lib/system-gschemrc.scm:1413 msgid "Fill Type..." msgstr "填充类型..." #: gschem/lib/system-gschemrc.scm:1414 msgid "Symbol Translate..." msgstr "" #: gschem/lib/system-gschemrc.scm:1418 msgid "Invoke Macro" msgstr "" #: gschem/lib/system-gschemrc.scm:1419 msgid "Embed Component/Picture" msgstr "" #: gschem/lib/system-gschemrc.scm:1420 msgid "Unembed Component/Picture" msgstr "" #: gschem/lib/system-gschemrc.scm:1421 msgid "Update Component" msgstr "更新组件" #: gschem/lib/system-gschemrc.scm:1422 msgid "Show/Hide Inv Text" msgstr "" #: gschem/lib/system-gschemrc.scm:1428 msgid "Copy into 1" msgstr "复制到 1" #: gschem/lib/system-gschemrc.scm:1429 msgid "Copy into 2" msgstr "复制到 2" #: gschem/lib/system-gschemrc.scm:1430 msgid "Copy into 3" msgstr "复制到 3" #: gschem/lib/system-gschemrc.scm:1431 msgid "Copy into 4" msgstr "复制到 4" #: gschem/lib/system-gschemrc.scm:1432 msgid "Copy into 5" msgstr "复制到 5" #: gschem/lib/system-gschemrc.scm:1433 msgid "Cut into 1" msgstr "剪切到 1" #: gschem/lib/system-gschemrc.scm:1434 msgid "Cut into 2" msgstr "剪切到 2" #: gschem/lib/system-gschemrc.scm:1435 msgid "Cut into 3" msgstr "剪切到 3" #: gschem/lib/system-gschemrc.scm:1436 msgid "Cut into 4" msgstr "剪切到 4" #: gschem/lib/system-gschemrc.scm:1437 msgid "Cut into 5" msgstr "剪切到 5" #: gschem/lib/system-gschemrc.scm:1438 msgid "Paste from 1" msgstr "粘贴自 1" #: gschem/lib/system-gschemrc.scm:1439 msgid "Paste from 2" msgstr "粘贴自 2" #: gschem/lib/system-gschemrc.scm:1440 msgid "Paste from 3" msgstr "粘贴自 3" #: gschem/lib/system-gschemrc.scm:1441 msgid "Paste from 4" msgstr "粘贴自 4" #: gschem/lib/system-gschemrc.scm:1442 msgid "Paste from 5" msgstr "粘贴自 5" #: gschem/lib/system-gschemrc.scm:1448 #, fuzzy msgid "_Redraw" msgstr "重画" #: gschem/lib/system-gschemrc.scm:1449 msgid "_Pan" msgstr "" #: gschem/lib/system-gschemrc.scm:1450 #, fuzzy msgid "Zoom _Box" msgstr "放大" #: gschem/lib/system-gschemrc.scm:1451 #, fuzzy msgid "Zoom _Extents" msgstr "放大" #: gschem/lib/system-gschemrc.scm:1452 #, fuzzy msgid "Zoom _In" msgstr "放大" #: gschem/lib/system-gschemrc.scm:1453 #, fuzzy msgid "Zoom _Out" msgstr "缩小" #: gschem/lib/system-gschemrc.scm:1454 #, fuzzy msgid "Zoom _Full" msgstr "缩小" #: gschem/lib/system-gschemrc.scm:1456 msgid "_Dark color scheme" msgstr "" #: gschem/lib/system-gschemrc.scm:1457 msgid "_Light color scheme" msgstr "" #: gschem/lib/system-gschemrc.scm:1458 msgid "B_W color scheme" msgstr "" #: gschem/lib/system-gschemrc.scm:1465 #, fuzzy msgid "_Manager..." msgstr "打开页面..." #: gschem/lib/system-gschemrc.scm:1466 #, fuzzy msgid "_Previous" msgstr "上一个" #: gschem/lib/system-gschemrc.scm:1467 #, fuzzy msgid "_Next" msgstr "下一个" #: gschem/lib/system-gschemrc.scm:1468 #, fuzzy msgid "Ne_w" msgstr "新建" #: gschem/lib/system-gschemrc.scm:1470 #, fuzzy msgid "_Close" msgstr "关闭" #: gschem/lib/system-gschemrc.scm:1472 #, fuzzy msgid "_Discard" msgstr "丢弃" #: gschem/lib/system-gschemrc.scm:1478 #, fuzzy msgid "_Component..." msgstr "组件..." #: gschem/lib/system-gschemrc.scm:1479 #, fuzzy msgid "_Net" msgstr "下一个" #: gschem/lib/system-gschemrc.scm:1480 #, fuzzy msgid "B_us" msgstr "总线" #: gschem/lib/system-gschemrc.scm:1481 #, fuzzy msgid "_Attribute..." msgstr "属性..." #: gschem/lib/system-gschemrc.scm:1482 #, fuzzy msgid "_Text..." msgstr "文本..." #: gschem/lib/system-gschemrc.scm:1484 msgid "_Line" msgstr "" #: gschem/lib/system-gschemrc.scm:1485 msgid "_Box" msgstr "" #: gschem/lib/system-gschemrc.scm:1486 #, fuzzy msgid "C_ircle" msgstr "圆" #: gschem/lib/system-gschemrc.scm:1487 #, fuzzy msgid "A_rc" msgstr "弧线" #: gschem/lib/system-gschemrc.scm:1488 msgid "_Pin" msgstr "" #: gschem/lib/system-gschemrc.scm:1489 #, fuzzy msgid "Pictu_re..." msgstr "图片..." #: gschem/lib/system-gschemrc.scm:1495 msgid "_Down Schematic" msgstr "" #: gschem/lib/system-gschemrc.scm:1496 msgid "Down _Symbol" msgstr "" #: gschem/lib/system-gschemrc.scm:1497 msgid "_Up" msgstr "" #: gschem/lib/system-gschemrc.scm:1498 #, fuzzy msgid "D_ocumentation..." msgstr "文档" #: gschem/lib/system-gschemrc.scm:1504 #, fuzzy msgid "_Attach" msgstr "连接" #: gschem/lib/system-gschemrc.scm:1505 #, fuzzy msgid "_Detach" msgstr "脱离" #: gschem/lib/system-gschemrc.scm:1506 #, fuzzy msgid "Show _Value" msgstr "显示数值" #: gschem/lib/system-gschemrc.scm:1507 #, fuzzy msgid "Show _Name" msgstr "显示名称" #: gschem/lib/system-gschemrc.scm:1508 #, fuzzy msgid "Show _Both" msgstr "都显示" #: gschem/lib/system-gschemrc.scm:1509 #, fuzzy msgid "_Toggle Visibility" msgstr "变换可见性" #: gschem/lib/system-gschemrc.scm:1511 msgid "_Find Specific Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1512 msgid "_Hide Specific Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1513 msgid "_Show Specific Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1514 msgid "A_utonumber Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1520 #, fuzzy msgid "_Text Size..." msgstr "文本..." #: gschem/lib/system-gschemrc.scm:1521 msgid "Cycle _grid styles" msgstr "" #: gschem/lib/system-gschemrc.scm:1522 msgid "Toggle _Snap On/Off" msgstr "" #: gschem/lib/system-gschemrc.scm:1523 msgid "Snap Grid S_pacing..." msgstr "" #: gschem/lib/system-gschemrc.scm:1524 msgid "Scale _up Grid Spacing" msgstr "" #: gschem/lib/system-gschemrc.scm:1526 msgid "Scale _down Grid Spacing" msgstr "" #: gschem/lib/system-gschemrc.scm:1528 msgid "Toggle _Outline/Box" msgstr "" #: gschem/lib/system-gschemrc.scm:1530 msgid "Toggle Net _Rubberband" msgstr "" #: gschem/lib/system-gschemrc.scm:1531 msgid "Toggle _Magnetic Net" msgstr "" #: gschem/lib/system-gschemrc.scm:1532 msgid "Show _Log Window..." msgstr "" #: gschem/lib/system-gschemrc.scm:1534 msgid "Show _Coord Window..." msgstr "" #: gschem/lib/system-gschemrc.scm:1542 #, fuzzy msgid "gEDA Docu_mentation..." msgstr "文档" #: gschem/lib/system-gschemrc.scm:1543 msgid "gschem _FAQ..." msgstr "" #: gschem/lib/system-gschemrc.scm:1544 msgid "gEDA _Wiki..." msgstr "" #: gschem/lib/system-gschemrc.scm:1545 #, fuzzy msgid "Component D_ocumentation..." msgstr "文档" #: gschem/lib/system-gschemrc.scm:1547 msgid "_Hotkeys..." msgstr "" #: gschem/lib/system-gschemrc.scm:1548 #, fuzzy msgid "_About..." msgstr "属性..." #: gschem/lib/system-gschemrc.scm:1554 #, fuzzy msgid "_File" msgstr "文件" #: gschem/lib/system-gschemrc.scm:1555 #, fuzzy msgid "_Edit" msgstr "编辑" #: gschem/lib/system-gschemrc.scm:1556 #, fuzzy msgid "_Buffer" msgstr "缓冲区" #: gschem/lib/system-gschemrc.scm:1557 #, fuzzy msgid "_View" msgstr "查看" #: gschem/lib/system-gschemrc.scm:1558 #, fuzzy msgid "_Page" msgstr "页面" #: gschem/lib/system-gschemrc.scm:1559 #, fuzzy msgid "_Add" msgstr "添加" #: gschem/lib/system-gschemrc.scm:1560 #, fuzzy msgid "Hie_rarchy" msgstr "层次" #: gschem/lib/system-gschemrc.scm:1561 #, fuzzy msgid "A_ttributes" msgstr "属性" #: gschem/lib/system-gschemrc.scm:1562 msgid "_Options" msgstr "" #: gschem/lib/system-gschemrc.scm:1563 msgid "_Help" msgstr "" #: gschem/scheme/gschem/deprecated.scm:102 #, scheme-format msgid "Invalid text alignment ~A." msgstr "" #: gschem/scheme/gschem/gschemdoc.scm:225 #, fuzzy msgid "No documentation found" msgstr "文档" #: gschem/scheme/gschem/keymap.scm:38 #, scheme-format msgid "~S is not a valid key combination." msgstr "" #: gschem/scheme/gschem/keymap.scm:153 #, scheme-format msgid "~S is not a prefix key sequence." msgstr "" #~ msgid "File" #~ msgstr "文件" #~ msgid "Buffer" #~ msgstr "缓冲区" #~ msgid "Page" #~ msgstr "页面" #~ msgid "Add" #~ msgstr "添加" #~ msgid "Hierarchy" #~ msgstr "层次" #~ msgid "Recent files" #~ msgstr "最近打开的文件" geda-gaf-1.8.2/gschem/po/Makefile.in.in0000644000175000017500000003714412220651542014444 00000000000000# Makefile for PO directory in any package using GNU gettext. # Copyright (C) 1995-1997, 2000-2006 by Ulrich Drepper # # This file can be copied and used freely without restrictions. It can # be used in projects which are not available under the GNU General Public # License but which still want to provide support for the GNU gettext # functionality. # Please note that the actual code of GNU gettext is covered by the GNU # General Public License and is *not* in the public domain. # # Origin: gettext-0.16 PACKAGE = @PACKAGE@ VERSION = @VERSION@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ SHELL = /bin/sh @SET_MAKE@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ datarootdir = @datarootdir@ datadir = @datadir@ localedir = @localedir@ gettextsrcdir = $(datadir)/gettext/po INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ # We use $(mkdir_p). # In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as # "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions, # @install_sh@ does not start with $(SHELL), so we add it. # In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined # either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake # versions, $(mkinstalldirs) and $(install_sh) are unused. mkinstalldirs = $(SHELL) @install_sh@ -d install_sh = $(SHELL) @install_sh@ MKDIR_P = @MKDIR_P@ mkdir_p = @mkdir_p@ GMSGFMT_ = @GMSGFMT@ GMSGFMT_no = @GMSGFMT@ GMSGFMT_yes = @GMSGFMT_015@ GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT)) MSGFMT_ = @MSGFMT@ MSGFMT_no = @MSGFMT@ MSGFMT_yes = @MSGFMT_015@ MSGFMT = $(MSGFMT_$(USE_MSGCTXT)) XGETTEXT_ = @XGETTEXT@ XGETTEXT_no = @XGETTEXT@ XGETTEXT_yes = @XGETTEXT_015@ XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT)) MSGMERGE = msgmerge MSGMERGE_UPDATE = @MSGMERGE@ --update MSGINIT = msginit MSGCONV = msgconv MSGFILTER = msgfilter POFILES = @POFILES@ GMOFILES = @GMOFILES@ UPDATEPOFILES = @UPDATEPOFILES@ DUMMYPOFILES = @DUMMYPOFILES@ DISTFILES.common = Makefile.in.in remove-potcdate.sin \ $(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3) DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \ $(POFILES) $(GMOFILES) \ $(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3) POTFILES = \ CATALOGS = @CATALOGS@ # Makevars gets inserted here. (Don't remove this line!) .SUFFIXES: .SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update .po.mo: @echo "$(MSGFMT) -c -o $@ $<"; \ $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ .po.gmo: @lang=`echo $* | sed -e 's,.*/,,'`; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o $${lang}.gmo $${lang}.po"; \ cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo .sin.sed: sed -e '/^#/d' $< > t-$@ mv t-$@ $@ all: all-@USE_NLS@ all-yes: stamp-po all-no: # $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no # internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because # we don't want to bother translators with empty POT files). We assume that # LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty. # In this case, stamp-po is a nop (i.e. a phony target). # stamp-po is a timestamp denoting the last time at which the CATALOGS have # been loosely updated. Its purpose is that when a developer or translator # checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, # "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent # invocations of "make" will do nothing. This timestamp would not be necessary # if updating the $(CATALOGS) would always touch them; however, the rule for # $(POFILES) has been designed to not touch files that don't need to be # changed. stamp-po: $(srcdir)/$(DOMAIN).pot test ! -f $(srcdir)/$(DOMAIN).pot || \ test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) @test ! -f $(srcdir)/$(DOMAIN).pot || { \ echo "touch stamp-po" && \ echo timestamp > stamp-poT && \ mv stamp-poT stamp-po; \ } # Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', # otherwise packages like GCC can not be built if only parts of the source # have been downloaded. # This target rebuilds $(DOMAIN).pot; it is an expensive operation. # Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \ msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ else \ msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ fi; \ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \ --files-from=$(srcdir)/POTFILES.in \ --copyright-holder='$(COPYRIGHT_HOLDER)' \ --msgid-bugs-address="$$msgid_bugs_address" test ! -f $(DOMAIN).po || { \ if test -f $(srcdir)/$(DOMAIN).pot; then \ sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ else \ rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ fi; \ else \ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ fi; \ } # This rule has no dependencies: we don't need to update $(DOMAIN).pot at # every "make" invocation, only create it when it is missing. # Only "make $(DOMAIN).pot-update" or "make dist" will force an update. $(srcdir)/$(DOMAIN).pot: $(MAKE) $(DOMAIN).pot-update # This target rebuilds a PO file if $(DOMAIN).pot has changed. # Note that a PO file is not touched if it doesn't need to be changed. $(POFILES): $(srcdir)/$(DOMAIN).pot @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ if test -f "$(srcdir)/$${lang}.po"; then \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \ cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot; \ else \ $(MAKE) $${lang}.po-create; \ fi install: install-exec install-data install-exec: install-data: install-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ for file in $(DISTFILES.common) Makevars.template; do \ $(INSTALL_DATA) $(srcdir)/$$file \ $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ for file in Makevars; do \ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ else \ : ; \ fi install-data-no: all install-data-yes: all $(mkdir_p) $(DESTDIR)$(datadir) @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ dir=$(localedir)/$$lang/LC_MESSAGES; \ $(mkdir_p) $(DESTDIR)$$dir; \ if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ if test -n "$$lc"; then \ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ for file in *; do \ if test -f $$file; then \ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ fi; \ done); \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ else \ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ :; \ else \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ fi; \ fi; \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \ fi; \ done; \ done install-strip: install installdirs: installdirs-exec installdirs-data installdirs-exec: installdirs-data: installdirs-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ else \ : ; \ fi installdirs-data-no: installdirs-data-yes: $(mkdir_p) $(DESTDIR)$(datadir) @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ dir=$(localedir)/$$lang/LC_MESSAGES; \ $(mkdir_p) $(DESTDIR)$$dir; \ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ if test -n "$$lc"; then \ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ for file in *; do \ if test -f $$file; then \ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ fi; \ done); \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ else \ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ :; \ else \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ fi; \ fi; \ fi; \ done; \ done # Define this as empty until I found a useful application. installcheck: uninstall: uninstall-exec uninstall-data uninstall-exec: uninstall-data: uninstall-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ for file in $(DISTFILES.common) Makevars.template; do \ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ else \ : ; \ fi uninstall-data-no: uninstall-data-yes: catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ done; \ done check: all info dvi ps pdf html tags TAGS ctags CTAGS ID: mostlyclean: rm -f remove-potcdate.sed rm -f stamp-poT rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po rm -fr *.o clean: mostlyclean distclean: clean rm -f Makefile Makefile.in POTFILES *.mo maintainer-clean: distclean @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." rm -f stamp-po $(GMOFILES) distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) dist distdir: $(MAKE) update-po @$(MAKE) dist2 # This is a separate target because 'update-po' must be executed before. dist2: stamp-po $(DISTFILES) dists="$(DISTFILES)"; \ if test "$(PACKAGE)" = "gettext-tools"; then \ dists="$$dists Makevars.template"; \ fi; \ if test -f $(srcdir)/$(DOMAIN).pot; then \ dists="$$dists $(DOMAIN).pot stamp-po"; \ fi; \ if test -f $(srcdir)/ChangeLog; then \ dists="$$dists ChangeLog"; \ fi; \ for i in 0 1 2 3 4 5 6 7 8 9; do \ if test -f $(srcdir)/ChangeLog.$$i; then \ dists="$$dists ChangeLog.$$i"; \ fi; \ done; \ if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \ for file in $$dists; do \ if test -f $$file; then \ cp -p $$file $(distdir) || exit 1; \ else \ cp -p $(srcdir)/$$file $(distdir) || exit 1; \ fi; \ done update-po: Makefile $(MAKE) $(DOMAIN).pot-update test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) $(MAKE) update-gmo # General rule for creating PO files. .nop.po-create: @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ exit 1 # General rule for updating PO files. .nop.po-update: @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \ tmpdir=`pwd`; \ echo "$$lang:"; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}$(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ cd $(srcdir); \ if $(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$tmpdir/$$lang.new.po; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ exit 1; \ fi; \ fi; \ else \ echo "msgmerge for $$lang.po failed!" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ fi $(DUMMYPOFILES): update-gmo: Makefile $(GMOFILES) @: Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@ cd $(top_builddir) \ && $(SHELL) ./config.status $(subdir)/$@.in po-directories force: # Tell versions [3.59,3.63) of GNU make not to export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: # DESKTOP_I18N_RULES (Do not edit or remove this line) ##################################################################### # Makefile rules needed by the desktop-i18n tool. # Copyright (C) 2009-2010 Peter Brett # Copyright (C) 2010 Dan McMahill # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA top_builddir = @top_builddir@ MKDIR_P = @MKDIR_P@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ # We need to temporarily install the localisation files somewhere so # that desktop-i18n --create can look up messages in them. We recreate # the timestamp before *and* after running 'make install' so that the # make doesn't go into an infinite loop! all: stamp-i18n stamp-i18n: $(DESKTOP_I18N_LOCALE_DIR) stamp-po Makefile @echo timestamp > stamp-i18nT && mv stamp-i18nT stamp-i18n $(MAKE) prefix=$(DESKTOP_I18N_LOCALE_DIR) localedir=$(DESKTOP_I18N_LOCALE_DIR)/share/locale DESTDIR= install && cp $(srcdir)/LINGUAS $(DESKTOP_I18N_LOCALE_DIR)/$(DOMAIN).LINGUAS || rm stamp-i18n @echo timestamp > stamp-i18nT && mv stamp-i18nT stamp-i18n $(DESKTOP_I18N_LOCALE_DIR): $(MKDIR_P) $(DESKTOP_I18N_LOCALE_DIR) clean: clean-i18n clean-i18n: -rm -rf $(DESKTOP_I18N_LOCALE_DIR) stamp-i18n # End of desktop-i18n rules ##################################################################### geda-gaf-1.8.2/gschem/po/zh_TW.gmo0000664000175000017500000002011212220655645013526 00000000000000         * 5C LV ep u      (=UZ w      #5Rey       '5HNSW `k        ( 0=ENSbi x        *<K [ej~ & .8 =KS Zhn    "(17=Sp3 GU \ jw ~       ,AVk#5 +@Uj   ;Na x"(     $ 1> Q [ h u   2H^t      ) 6C J Wdt {    " <IP cm}  .   - 4AHOV ] j w         . U}2jRWd ECl^cv=qD*-.hJ4 m!K58FuOHSb?rwf+Z<M ns;( :zxP#$%&'Ga@k0~g 6`L]piY_9oA)X\B/Q"| Nt[y7{1VIT3>,eAdd AttributeEdit AttributeOptionsA_ttributesAbout gschemAdd Text...ArcArc ModeAttributeAttributesBoxBox ModeCircleCircle ModeClose PageClosing [%s] Color...ComponentComponent ModeComponentsCopyCopy ModeCopy into 1Copy into 2Copy into 3Copy into 4Copy into 5Copy to clipboardCould NOT save backup file [%s] Could NOT set backup file [%s] readonly Create and edit electrical schematics and symbols with gschemCu_tCurrent locale settings: %s Cut into 1Cut into 2Cut into 3Cut into 4Cut into 5Cut to clipboardDeleteEditEdit TextEdit Text...Edit...EmbedEmbed Component/PictureError while trying to saveExecute Script...Executing guile script [%s] Failed to Save AllFailed to load fileFailed to load picture: %sGrid OFF Grid(%s, %s)Hidden text is now invisible Hidden text is now visible HotkeysImage typeLineLine ModeLockMirror ModeMoveMove ModeMultiple CopyMultiple Copy ModeName:Ne_wNewNew PageNew WindowObject already locked Object already unlocked Open Page...Open Recen_tOpen file...Overwrite file?Paste from 1Paste from 2Paste from 3Paste from 4Paste from 5Paste from clipboardPicturePicture ModePreviewPrint...RedoRedo last undoRotateRotate 90 ModeRotate ModeSaveSave AllSave PageSave _As...Save as...Save fileSavedSaved AllSaved [%s] Saved as [%s] SelectSelect ModeSelect modeSelect objs firstSelected objectsShow Name & ValueShow Name OnlyShow Value OnlyText ModeUndoUndo last operationUnembedUnembed Component/PictureUnlockUpdateUpdate ComponentValue:Width x HeightWrite _image...Write image...Zoom _InZoom _OutZoom too small! Cannot zoom further. _About..._Add_Attribute..._Buffer_Close_Component..._Copy_Dark color scheme_Delete_Discard_Edit_File_Help_Hotkeys..._Light color scheme_Manager..._New_Next_Open..._Options_Page_Paste_Previous_Print..._Quit_Redo_Revert_Save_Text..._Undo_ViewgEDA Schematic EditorgEDA/gschem version %s%s.%s Project-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-01-27 14:22+0000 Last-Translator: FULL NAME Language-Team: gEDA developers Language: zh_TW MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) 增加屬性編輯屬性選項屬性關於 gschem新增文字弧線弧線模式屬性屬性矩形矩形模式圓形圓形模式關閉檔案關閉 [%s] 變更顏色元件元件模式元件複製複製模式複製到 緩衝區1複製到 緩衝區2複製到 緩衝區3複製到 緩衝區4複製到 緩衝區5複製到剪貼簿無法儲存備份檔 [%s] 無法設定備份檔[%s]為唯讀 用 gschem 建立並編輯電子電路圖表及符號剪下目前的語系設定: %s 剪下至 緩衝區1剪下至 緩衝區2剪下至 緩衝區3剪下至 緩衝區4剪下至 緩衝區5剪下至剪貼簿刪除編輯編輯文字編輯文字編輯嵌入嵌入元件/圖片儲存檔案時發生錯誤執行命令稿正在執行guile腳本 [%s] 儲存全部失敗讀取檔案失敗無法讀取圖片: %s關閉網格 網格(%s, %s)隱藏的文字現在無法看見 隱藏的文字現在已經可以看見 熱鍵圖片格式直線直線模式鎖定水平鏡射搬移移動元件多重複製多重複製模式名稱:新增分頁新增分頁新增分頁開新視窗物件已經被固定住了 物件已經被解除固定了 開啟舊檔最近的檔案開啟檔案覆蓋檔案?自 緩衝區1 貼上自 緩衝區2 貼上自 緩衝區3 貼上自 緩衝區4 貼上自 緩衝區5 貼上從剪貼簿貼上圖片圖片模式預覽列印取消上次復原取消上一次復原旋轉逆時針旋轉90度旋轉模式儲存儲存全部儲存檔案另存新檔另存為...儲存檔案儲存儲存全部儲存 [%s] 另存為 [%s] 選擇選擇模式選擇模式請先選擇物件選擇物件顯示名稱與數值僅顯示名稱僅顯示數值文字模式復原復原上一次操作解除嵌入解除嵌入元件/圖片解除鎖定更新更新元件資訊數值:寬度 x 高度轉換成圖片匯出成圖片放大檢視縮小檢視已經縮到最小了,無法再縮小囉! 關於新增屬性緩衝區關閉視窗元件複製黑色背景刪除捨棄分頁編輯檔案幫助熱鍵白色背景管理分頁新增檔案下一個分頁開啟舊檔選項分頁貼上上一個分頁列印檔案結束程式取消還原還原儲存檔案文字還原顯示gEDA 電路圖編輯器gEDA/gschem 版本 %s%s.%s geda-gaf-1.8.2/gschem/po/zh_TW.po0000664000175000017500000014226612220655644013400 00000000000000# Chinese (Traditional) translation for geda # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-01-27 14:22+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: gEDA developers \n" "Language: zh_TW\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: gschem/src/a_zoom.c:212 msgid "Zoom too small! Cannot zoom further.\n" msgstr "已經縮到最小了,無法再縮小囉!\n" #: gschem/src/g_attrib.c:92 msgid "Object ~A is not included in the current gschem page." msgstr "" #: gschem/src/g_attrib.c:112 msgid "Invalid text name/value visibility ~A." msgstr "" #: gschem/src/g_rc.c:312 #, c-format msgid "Invalid zoomfactor [%d] passed to %s\n" msgstr "" #: gschem/src/g_rc.c:458 #, c-format msgid "Invalid size [%d] passed to text-size\n" msgstr "" #: gschem/src/g_rc.c:501 #, c-format msgid "Invalid size [%d] passed to snap-size\n" msgstr "" #: gschem/src/g_rc.c:958 #, c-format msgid "Invalid num levels [%d] passed to undo-levels\n" msgstr "" #: gschem/src/g_rc.c:1220 #, c-format msgid "Invalid size [%d] passed to bus-ripper-size\n" msgstr "" #: gschem/src/g_rc.c:1295 #, c-format msgid "Invalid dot size [%d] passed to dots-grid-dot-size\n" msgstr "" #: gschem/src/g_rc.c:1336 #, c-format msgid "Invalid pixel spacing [%d] passed to dots-grid-fixed-threshold\n" msgstr "" #: gschem/src/g_rc.c:1362 #, c-format msgid "Invalid pixel spacing [%d] passed to mesh-grid-display-threshold\n" msgstr "" #: gschem/src/g_rc.c:1387 #, c-format msgid "Invalid offset [%d] passed to add-attribute-offset\n" msgstr "" #: gschem/src/g_rc.c:1411 #, c-format msgid "Invalid number of seconds [%d] passed to auto-save-interval\n" msgstr "" #: gschem/src/g_rc.c:1435 #, c-format msgid "Invalid gain [%d] passed to mousepan-gain\n" msgstr "" #: gschem/src/g_rc.c:1458 #, c-format msgid "Invalid gain [%d] passed to keyboardpan-gain\n" msgstr "" #: gschem/src/g_rc.c:1505 #, c-format msgid "Invalid number of pixels [%d] passed to select-slack-pixels\n" msgstr "" #: gschem/src/g_rc.c:1531 #, c-format msgid "Invalid gain [%d] passed to zoom-gain\n" msgstr "" #: gschem/src/g_rc.c:1556 #, c-format msgid "Invalid number of steps [%d] scrollpan-steps\n" msgstr "" #: gschem/src/g_select.c:79 gschem/src/g_select.c:116 #: gschem/src/g_select.c:152 msgid "Object ~A is not directly included in a page." msgstr "" #: gschem/src/g_util.c:56 msgid "Could not launch URI ~S: ~A" msgstr "" #: gschem/src/g_window.c:136 msgid "Found invalid gschem window smob ~S" msgstr "" #: gschem/src/gschem.c:175 #, c-format msgid "gEDA/gschem version %s%s.%s\n" msgstr "gEDA/gschem 版本 %s%s.%s\n" #: gschem/src/gschem.c:178 msgid "" "gEDA/gschem comes with ABSOLUTELY NO WARRANTY; see COPYING for more " "details.\n" msgstr "" #: gschem/src/gschem.c:180 msgid "" "This is free software, and you are welcome to redistribute it under certain\n" msgstr "" #: gschem/src/gschem.c:182 msgid "" "conditions; please see the COPYING file for more details.\n" "\n" msgstr "" #: gschem/src/gschem.c:185 #, c-format msgid "This is the MINGW32 port.\n" msgstr "" #: gschem/src/gschem.c:189 #, c-format msgid "Current locale settings: %s\n" msgstr "目前的語系設定: %s\n" #: gschem/src/gschem.c:211 msgid "" "You must set the GEDADATA environment variable!\n" "\n" "gschem cannot locate its data files. You must set the GEDADATA\n" "environment variable to point to the correct location.\n" msgstr "" #: gschem/src/gschem.c:248 #, c-format msgid "Couldn't find init scm file [%s]\n" msgstr "" #: gschem/src/gschem.c:252 #, c-format msgid "Read init scm file [%s]\n" msgstr "" #: gschem/src/gschem.c:256 #, c-format msgid "Failed to read init scm file [%s]\n" msgstr "" #: gschem/src/gschem_cairo.c:310 #, c-format msgid "Unknown end for line (%d)\n" msgstr "" #: gschem/src/gschem_cairo.c:318 #, c-format msgid "Unknown type for stroke (%d) !\n" msgstr "" #: gschem/src/gschem_pango.c:289 msgid "cairo context" msgstr "" #: gschem/src/gschem_pango.c:290 msgid "the cairo context for the renderer" msgstr "" #: gschem/src/i_basic.c:77 gschem/src/x_window.c:524 #: gschem/lib/system-gschemrc.scm:1399 msgid "Select Mode" msgstr "選擇模式" #: gschem/src/i_basic.c:79 msgid "Component Mode" msgstr "元件模式" #: gschem/src/i_basic.c:81 msgid "Text Mode" msgstr "文字模式" #: gschem/src/i_basic.c:84 gschem/lib/system-gschemrc.scm:1402 msgid "Copy Mode" msgstr "複製模式" #: gschem/src/i_basic.c:87 gschem/lib/system-gschemrc.scm:1404 msgid "Move Mode" msgstr "移動元件" #: gschem/src/i_basic.c:89 msgid "Rotate Mode" msgstr "旋轉模式" #: gschem/src/i_basic.c:91 gschem/lib/system-gschemrc.scm:1406 msgid "Mirror Mode" msgstr "水平鏡射" #: gschem/src/i_basic.c:95 msgid "Zoom Box" msgstr "" #: gschem/src/i_basic.c:99 msgid "Pan Mode" msgstr "" #: gschem/src/i_basic.c:103 #, c-format msgid "Paste %d Mode" msgstr "" #: gschem/src/i_basic.c:109 msgid "Magnetic Net Mode" msgstr "" #: gschem/src/i_basic.c:111 msgid "Net Mode" msgstr "" #: gschem/src/i_basic.c:115 msgid "Bus Mode" msgstr "" #: gschem/src/i_basic.c:118 msgid "Line Mode" msgstr "直線模式" #: gschem/src/i_basic.c:121 msgid "Box Mode" msgstr "矩形模式" #: gschem/src/i_basic.c:124 msgid "Picture Mode" msgstr "圖片模式" #: gschem/src/i_basic.c:127 msgid "Circle Mode" msgstr "圓形模式" #: gschem/src/i_basic.c:130 msgid "Arc Mode" msgstr "弧線模式" #: gschem/src/i_basic.c:133 msgid "Pin Mode" msgstr "" #: gschem/src/i_basic.c:135 gschem/src/i_callbacks.c:529 #: gschem/src/i_callbacks.c:553 msgid "Copy" msgstr "複製" #: gschem/src/i_basic.c:137 gschem/src/i_callbacks.c:619 #: gschem/src/i_callbacks.c:643 msgid "Move" msgstr "搬移" #: gschem/src/i_basic.c:139 gschem/src/i_callbacks.c:574 #: gschem/src/i_callbacks.c:598 msgid "Multiple Copy" msgstr "多重複製" #: gschem/src/i_basic.c:142 gschem/lib/system-gschemrc.scm:1403 msgid "Multiple Copy Mode" msgstr "多重複製模式" #: gschem/src/i_basic.c:168 msgid "Show Hidden" msgstr "" #: gschem/src/i_basic.c:171 msgid "Snap Off" msgstr "" #: gschem/src/i_basic.c:173 msgid "Resnap Active" msgstr "" #: gschem/src/i_basic.c:254 gschem/src/x_window.c:498 msgid "Action" msgstr "" #: gschem/src/i_basic.c:260 gschem/src/x_dialog.c:2325 #: gschem/src/x_window.c:493 msgid "Stroke" msgstr "" #: gschem/src/i_basic.c:266 gschem/src/x_window.c:495 msgid "none" msgstr "" #: gschem/src/i_basic.c:271 msgid "Repeat/" msgstr "" #: gschem/src/i_basic.c:566 gschem/src/i_basic.c:580 msgid "OFF" msgstr "" #: gschem/src/i_basic.c:584 msgid "NONE" msgstr "" #: gschem/src/i_basic.c:589 #, c-format msgid "Grid(%s, %s)" msgstr "網格(%s, %s)" #: gschem/src/i_callbacks.c:76 gschem/src/i_callbacks.c:1659 #, c-format msgid "New page created [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:124 #, c-format msgid "New Window created [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:242 msgid "Failed to Save All" msgstr "儲存全部失敗" #: gschem/src/i_callbacks.c:244 msgid "Saved All" msgstr "儲存全部" #: gschem/src/i_callbacks.c:334 msgid "Closing Window\n" msgstr "" #: gschem/src/i_callbacks.c:534 gschem/src/i_callbacks.c:579 #: gschem/src/i_callbacks.c:624 msgid "Select objs first" msgstr "請先選擇物件" #: gschem/src/i_callbacks.c:663 gschem/src/x_multiattrib.c:1549 msgid "Delete" msgstr "刪除" #: gschem/src/i_callbacks.c:688 msgid "Edit" msgstr "編輯" #: gschem/src/i_callbacks.c:703 msgid "Edit pin type" msgstr "" #: gschem/src/i_callbacks.c:722 msgid "Edit Text" msgstr "編輯文字" #: gschem/src/i_callbacks.c:745 msgid "Slot" msgstr "" #: gschem/src/i_callbacks.c:762 msgid "Color" msgstr "" #: gschem/src/i_callbacks.c:799 gschem/src/i_callbacks.c:844 msgid "Rotate" msgstr "旋轉" #: gschem/src/i_callbacks.c:866 gschem/src/i_callbacks.c:891 msgid "Mirror" msgstr "" #: gschem/src/i_callbacks.c:912 gschem/src/x_dialog.c:2328 #: gschem/lib/system-gschemrc.scm:1415 msgid "Lock" msgstr "鎖定" #: gschem/src/i_callbacks.c:930 gschem/lib/system-gschemrc.scm:1416 msgid "Unlock" msgstr "解除鎖定" #: gschem/src/i_callbacks.c:948 gschem/src/x_dialog.c:1746 msgid "Translate" msgstr "" #: gschem/src/i_callbacks.c:951 msgid "WARNING: Do not translate with snap off!\n" msgstr "" #: gschem/src/i_callbacks.c:952 msgid "WARNING: Turning snap on and continuing with translate.\n" msgstr "" #: gschem/src/i_callbacks.c:959 msgid "WARNING: Snap grid size is not equal to 100!\n" msgstr "" #: gschem/src/i_callbacks.c:961 msgid "" "WARNING: If you are translating a symbol to the origin, the snap grid size " "should be set to 100\n" msgstr "" #: gschem/src/i_callbacks.c:992 msgid "Embed" msgstr "嵌入" #: gschem/src/i_callbacks.c:1031 msgid "Unembed" msgstr "解除嵌入" #: gschem/src/i_callbacks.c:1073 msgid "Update" msgstr "更新" #: gschem/src/i_callbacks.c:1120 msgid "ShowHidden" msgstr "" #: gschem/src/i_callbacks.c:1426 gschem/src/i_callbacks.c:1498 msgid "Pan" msgstr "" #: gschem/src/i_callbacks.c:1703 msgid "Really revert page?" msgstr "" #: gschem/src/i_callbacks.c:1773 msgid "Copy to clipboard" msgstr "複製到剪貼簿" #: gschem/src/i_callbacks.c:1791 msgid "Cut to clipboard" msgstr "剪下至剪貼簿" #: gschem/src/i_callbacks.c:1809 msgid "Paste from clipboard" msgstr "從剪貼簿貼上" #: gschem/src/i_callbacks.c:1821 gschem/src/i_callbacks.c:2060 #: gschem/src/i_callbacks.c:2082 gschem/src/i_callbacks.c:2104 #: gschem/src/i_callbacks.c:2126 gschem/src/i_callbacks.c:2148 msgid "Empty buffer" msgstr "" #: gschem/src/i_callbacks.c:1866 msgid "Copy 1" msgstr "" #: gschem/src/i_callbacks.c:1885 msgid "Copy 2" msgstr "" #: gschem/src/i_callbacks.c:1904 msgid "Copy 3" msgstr "" #: gschem/src/i_callbacks.c:1923 msgid "Copy 4" msgstr "" #: gschem/src/i_callbacks.c:1942 msgid "Copy 5" msgstr "" #: gschem/src/i_callbacks.c:1961 msgid "Cut 1" msgstr "" #: gschem/src/i_callbacks.c:1980 msgid "Cut 2" msgstr "" #: gschem/src/i_callbacks.c:1999 msgid "Cut 3" msgstr "" #: gschem/src/i_callbacks.c:2018 msgid "Cut 4" msgstr "" #: gschem/src/i_callbacks.c:2037 msgid "Cut 5" msgstr "" #: gschem/src/i_callbacks.c:2053 msgid "Paste 1" msgstr "" #: gschem/src/i_callbacks.c:2075 msgid "Paste 2" msgstr "" #: gschem/src/i_callbacks.c:2097 msgid "Paste 3" msgstr "" #: gschem/src/i_callbacks.c:2119 msgid "Paste 4" msgstr "" #: gschem/src/i_callbacks.c:2141 msgid "Paste 5" msgstr "" #: gschem/src/i_callbacks.c:2278 gschem/src/x_window.c:359 msgid "Component" msgstr "元件" #: gschem/src/i_callbacks.c:2314 gschem/src/i_callbacks.c:2333 #: gschem/src/x_dialog.c:2298 msgid "Attribute" msgstr "屬性" #: gschem/src/i_callbacks.c:2355 gschem/src/i_callbacks.c:2382 #: gschem/src/x_dialog.c:2295 msgid "Net" msgstr "" #: gschem/src/i_callbacks.c:2426 gschem/src/i_callbacks.c:2453 #: gschem/src/x_dialog.c:2313 gschem/src/x_window.c:379 msgid "Bus" msgstr "" #: gschem/src/i_callbacks.c:2534 gschem/src/i_callbacks.c:2557 msgid "Line" msgstr "直線" #: gschem/src/i_callbacks.c:2579 gschem/src/i_callbacks.c:2602 msgid "Box" msgstr "矩形" #: gschem/src/i_callbacks.c:2658 gschem/src/i_callbacks.c:2682 msgid "Circle" msgstr "圓形" #: gschem/src/i_callbacks.c:2704 gschem/src/i_callbacks.c:2727 msgid "Arc" msgstr "弧線" #: gschem/src/i_callbacks.c:2749 gschem/src/i_callbacks.c:2772 #: gschem/src/x_dialog.c:2286 msgid "Pin" msgstr "" #: gschem/src/i_callbacks.c:2831 #, c-format msgid "Searching for source [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:2855 #, c-format msgid "Cannot find source [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:2918 #, c-format msgid "Searching for symbol [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:2924 msgid "Symbol is not a real file. Symbol cannot be loaded.\n" msgstr "" #: gschem/src/i_callbacks.c:2955 msgid "Cannot find any schematics above the current one!\n" msgstr "" #: gschem/src/i_callbacks.c:2985 msgid "Attach" msgstr "" #: gschem/src/i_callbacks.c:3041 msgid "Detach" msgstr "" #: gschem/src/i_callbacks.c:3085 msgid "ShowN" msgstr "" #: gschem/src/i_callbacks.c:3122 msgid "ShowV" msgstr "" #: gschem/src/i_callbacks.c:3159 msgid "ShowB" msgstr "" #: gschem/src/i_callbacks.c:3197 msgid "VisToggle" msgstr "" #: gschem/src/i_callbacks.c:3228 #, c-format msgid "Sorry but this is a non-functioning menu option\n" msgstr "" #: gschem/src/i_callbacks.c:3318 msgid "Action feedback mode set to OUTLINE\n" msgstr "" #: gschem/src/i_callbacks.c:3321 msgid "Action feedback mode set to BOUNDINGBOX\n" msgstr "" #: gschem/src/i_callbacks.c:3346 msgid "Grid OFF\n" msgstr "關閉網格\n" #: gschem/src/i_callbacks.c:3347 msgid "Dot grid selected\n" msgstr "" #: gschem/src/i_callbacks.c:3348 msgid "Mesh grid selected\n" msgstr "" #: gschem/src/i_callbacks.c:3369 msgid "Snap OFF (CAUTION!)\n" msgstr "" #: gschem/src/i_callbacks.c:3372 msgid "Snap ON\n" msgstr "" #: gschem/src/i_callbacks.c:3375 msgid "Snap back to the grid (CAUTION!)\n" msgstr "" #: gschem/src/i_callbacks.c:3401 msgid "Rubber band OFF \n" msgstr "" #: gschem/src/i_callbacks.c:3404 msgid "Rubber band ON\n" msgstr "" #: gschem/src/i_callbacks.c:3419 msgid "magnetic net mode: ON\n" msgstr "" #: gschem/src/i_callbacks.c:3422 msgid "magnetic net mode: OFF\n" msgstr "" #: gschem/src/o_box.c:292 #, c-format msgid "Unknown type for box (fill)!\n" msgstr "" #: gschem/src/o_buffer.c:54 #, c-format msgid "o_buffer_copy: Invalid buffer %i\n" msgstr "" #: gschem/src/o_buffer.c:69 #, c-format msgid "o_buffer_cut: Invalid buffer %i\n" msgstr "" #: gschem/src/o_buffer.c:90 #, c-format msgid "Got an invalid buffer_number [o_buffer_paste_start]\n" msgstr "" #: gschem/src/o_bus.c:117 #, c-format msgid "Got an invalid which one in o_bus_draw_stretch\n" msgstr "" #: gschem/src/o_circle.c:284 #, c-format msgid "Unknown type for circle (fill)!\n" msgstr "" #: gschem/src/o_complex.c:223 gschem/src/o_complex.c:227 #, c-format msgid "Translating schematic [%d %d]\n" msgstr "" #: gschem/src/o_misc.c:61 #, c-format msgid "Got an unexpected NULL in o_edit\n" msgstr "" #: gschem/src/o_misc.c:125 msgid "Object already locked\n" msgstr "物件已經被固定住了\n" #: gschem/src/o_misc.c:163 msgid "Object already unlocked\n" msgstr "物件已經被解除固定了\n" #: gschem/src/o_misc.c:339 msgid "Hidden text is now visible\n" msgstr "隱藏的文字現在已經可以看見\n" #: gschem/src/o_misc.c:341 msgid "Hidden text is now invisible\n" msgstr "隱藏的文字現在無法看見\n" #: gschem/src/o_misc.c:568 #, c-format msgid "Could not find symbol [%s] in library. Update failed.\n" msgstr "" #: gschem/src/o_misc.c:683 #, c-format msgid "o_autosave_backups: Can't get the real filename of %s." msgstr "" #: gschem/src/o_misc.c:727 #, c-format msgid "Could NOT set previous backup file [%s] read-write\n" msgstr "" #: gschem/src/o_misc.c:747 #, c-format msgid "Could NOT set backup file [%s] readonly\n" msgstr "無法設定備份檔[%s]為唯讀\n" #: gschem/src/o_misc.c:752 #, c-format msgid "Could NOT save backup file [%s]\n" msgstr "無法儲存備份檔 [%s]\n" #: gschem/src/o_move.c:174 #, c-format msgid "ERROR: NULL object in o_move_end!\n" msgstr "" #: gschem/src/o_move.c:431 #, c-format msgid "DOH! tried to find the whichone, but didn't find it!\n" msgstr "" #: gschem/src/o_move.c:453 #, c-format msgid "Got a non line object in o_move_check_endpoint\n" msgstr "" #: gschem/src/o_net.c:158 #, c-format msgid "Got an invalid which one in o_net_draw_stretch\n" msgstr "" #: gschem/src/o_net.c:537 msgid "Warning: Starting net at off grid coordinate\n" msgstr "" #: gschem/src/o_net.c:602 msgid "Warning: Ending net at off grid coordinate\n" msgstr "" #: gschem/src/o_net.c:944 gschem/src/o_net.c:981 gschem/src/o_net.c:1052 #: gschem/src/o_net.c:1088 #, c-format msgid "Tried to add more than two bus rippers. Internal gschem error.\n" msgstr "" #: gschem/src/o_net.c:1156 #, c-format msgid "Bus ripper symbol [%s] was not found in any component library\n" msgstr "" #: gschem/src/o_path.c:340 #, c-format msgid "Unknown type for path (fill)!\n" msgstr "" #: gschem/src/o_picture.c:166 #, c-format msgid "Failed to load picture: %s" msgstr "無法讀取圖片: %s" #: gschem/src/o_picture.c:180 msgid "Picture" msgstr "圖片" #: gschem/src/o_picture.c:544 #, c-format msgid "Failed to replace pictures: %s" msgstr "" #: gschem/src/o_slot.c:81 msgid "Slot attribute malformed\n" msgstr "" #: gschem/src/o_slot.c:89 msgid "numslots attribute missing\n" msgstr "" #: gschem/src/o_slot.c:90 msgid "Slotting not allowed for this component\n" msgstr "" #: gschem/src/o_slot.c:105 msgid "New slot number out of range\n" msgstr "" #: gschem/src/o_undo.c:307 msgid "Undo/Redo disabled in rc file\n" msgstr "" #: gschem/src/parsecmd.c:82 #, c-format msgid "" "Usage: %s [OPTION ...] [--] [FILE ...]\n" "\n" "Interactively edit gEDA schematics or symbols. If one or more FILEs\n" "are specified, open them for editing; otherwise, create a new, empty\n" "schematic.\n" "\n" "Options:\n" " -q, --quiet Quiet mode.\n" " -v, --verbose Verbose mode.\n" " -r, --config-file=FILE Additional configuration file to load.\n" " -L DIR Add DIR to Scheme search path.\n" " -c EXPR Scheme expression to run at startup.\n" " -s FILE Scheme script to run at startup.\n" " -o, --output=FILE Output filename (for printing).\n" " -p Automatically place the window.\n" " -V, --version Show version information.\n" " -h, --help Help; this message.\n" " -- Treat all remaining arguments as filenames.\n" "\n" "Report bugs at \n" "gEDA/gaf homepage: \n" msgstr "" #: gschem/src/parsecmd.c:116 #, c-format msgid "" "gEDA %s (g%.7s)\n" "Copyright (C) 1998-2012 gEDA developers\n" "This is free software, and you are welcome to redistribute it under\n" "certain conditions. For details, see the file `COPYING', which is\n" "included in the gEDA distribution.\n" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" #: gschem/src/x_attribedit.c:127 #, c-format msgid "Got invalid show option; defaulting to show both\n" msgstr "" #: gschem/src/x_attribedit.c:141 #, c-format msgid "ERROR: NULL object!\n" msgstr "" #: gschem/src/x_attribedit.c:329 msgid "Single Attribute Editor" msgstr "" #: gschem/src/x_attribedit.c:359 msgid "Edit Attribute" msgstr "編輯屬性" #: gschem/src/x_attribedit.c:361 msgid "Add Attribute" msgstr "增加屬性" #: gschem/src/x_attribedit.c:377 gschem/src/x_multiattrib.c:1973 msgid "Name:" msgstr "名稱:" #: gschem/src/x_attribedit.c:394 gschem/src/x_multiattrib.c:1992 msgid "Value:" msgstr "數值:" #: gschem/src/x_attribedit.c:410 gschem/src/x_multiattrib.c:2038 msgid "Visible" msgstr "" #: gschem/src/x_attribedit.c:430 msgid "Show Value Only" msgstr "僅顯示數值" #: gschem/src/x_attribedit.c:432 msgid "Show Name Only" msgstr "僅顯示名稱" #: gschem/src/x_attribedit.c:434 gschem/src/x_multiattrib.c:1512 msgid "Show Name & Value" msgstr "顯示名稱與數值" #: gschem/src/x_attribedit.c:441 msgid "Attach Options" msgstr "" #: gschem/src/x_attribedit.c:456 msgid "All" msgstr "" #: gschem/src/x_attribedit.c:464 gschem/src/x_compselect.c:922 #: gschem/src/x_compselect.c:1036 msgid "Components" msgstr "元件" #: gschem/src/x_attribedit.c:472 gschem/src/x_window.c:369 msgid "Nets" msgstr "" #: gschem/src/x_attribedit.c:480 msgid "Replace existing attributes" msgstr "" #: gschem/src/x_autonumber.c:415 msgid "" "slotted object without slot attribute may cause problems when autonumbering " "slots\n" msgstr "" #: gschem/src/x_autonumber.c:430 #, c-format msgid "" "duplicate slot may cause problems: [symbolname=%s, number=%d, slot=%d]\n" msgstr "" #: gschem/src/x_autonumber.c:672 msgid "No searchstring given in autonumber text.\n" msgstr "" #: gschem/src/x_autonumber.c:724 msgid "No '*' or '?' given at the end of the autonumber text.\n" msgstr "" #: gschem/src/x_autonumber.c:859 msgid "Diagonal" msgstr "" #: gschem/src/x_autonumber.c:860 msgid "Top to bottom" msgstr "" #: gschem/src/x_autonumber.c:860 msgid "Bottom to top" msgstr "" #: gschem/src/x_autonumber.c:861 msgid "Left to right" msgstr "" #: gschem/src/x_autonumber.c:861 msgid "Right to left" msgstr "" #: gschem/src/x_autonumber.c:862 msgid "File order" msgstr "" #: gschem/src/x_autonumber.c:1198 msgid "Autonumber text" msgstr "" #: gschem/src/x_autonumber.c:1222 msgid "Scope" msgstr "" #: gschem/src/x_autonumber.c:1244 msgid "Search for:" msgstr "" #: gschem/src/x_autonumber.c:1258 msgid "Autonumber text in:" msgstr "" #: gschem/src/x_autonumber.c:1265 msgid "Skip numbers found in:" msgstr "" #: gschem/src/x_autonumber.c:1277 gschem/src/x_autonumber.c:1286 msgid "Selected objects" msgstr "選擇物件" #: gschem/src/x_autonumber.c:1278 gschem/src/x_autonumber.c:1287 msgid "Current page" msgstr "" #: gschem/src/x_autonumber.c:1279 gschem/src/x_autonumber.c:1288 msgid "Whole hierarchy" msgstr "" #: gschem/src/x_autonumber.c:1290 msgid "Overwrite existing numbers" msgstr "" #: gschem/src/x_autonumber.c:1295 msgid "Options" msgstr "選項" #: gschem/src/x_autonumber.c:1317 msgid "Starting number:" msgstr "" #: gschem/src/x_autonumber.c:1324 msgid "Sort order:" msgstr "" #: gschem/src/x_autonumber.c:1345 msgid "Remove numbers" msgstr "" #: gschem/src/x_autonumber.c:1349 msgid "Automatic slotting" msgstr "" #: gschem/src/x_clipboard.c:249 #, c-format msgid "" "Invalid schematic on clipboard.\n" "\n" "An error occurred while inserting clipboard data: %s." msgstr "" #: gschem/src/x_clipboard.c:251 msgid "Clipboard insertion failed" msgstr "" #: gschem/src/x_color.c:94 gschem/src/x_color.c:103 #, c-format msgid "Could not allocate the color %s!\n" msgstr "" #: gschem/src/x_color.c:94 msgid "black" msgstr "" #: gschem/src/x_color.c:103 msgid "white" msgstr "" #: gschem/src/x_color.c:125 #, c-format msgid "Could not allocate display color %i!\n" msgstr "" #: gschem/src/x_color.c:147 #, c-format msgid "Could not allocate outline color %i!\n" msgstr "" #: gschem/src/x_color.c:164 gschem/src/x_color.c:181 gschem/src/x_color.c:197 #, c-format msgid "Tried to get an invalid color: %d\n" msgstr "" #: gschem/src/x_color.c:214 #, c-format msgid "Tried to get an invalid outline color: %d\n" msgstr "" #: gschem/src/x_compselect.c:1066 msgid "Filter:" msgstr "" #: gschem/src/x_compselect.c:1169 gschem/src/x_dialog.c:3653 #: gschem/src/x_multiattrib.c:1839 msgid "Name" msgstr "" #: gschem/src/x_compselect.c:1178 gschem/src/x_multiattrib.c:1863 msgid "Value" msgstr "" #: gschem/src/x_compselect.c:1217 msgid "Default behavior - reference component" msgstr "" #: gschem/src/x_compselect.c:1220 msgid "Embed component in schematic" msgstr "" #: gschem/src/x_compselect.c:1223 msgid "Include component as individual objects" msgstr "" #: gschem/src/x_compselect.c:1380 msgid "Select Component..." msgstr "" #: gschem/src/x_compselect.c:1403 msgid "In Use" msgstr "" #: gschem/src/x_compselect.c:1407 msgid "Libraries" msgstr "" #: gschem/src/x_compselect.c:1416 gschem/src/x_fileselect.c:122 msgid "Preview" msgstr "預覽" #: gschem/src/x_compselect.c:1444 msgid "Attributes" msgstr "屬性" #: gschem/src/x_dialog.c:176 msgid "Text Entry..." msgstr "" #: gschem/src/x_dialog.c:207 msgid "" "Enter text, click apply,\n" "move cursor into window, click to place text.\n" "Middle button to rotate while placing." msgstr "" #: gschem/src/x_dialog.c:301 msgid "Upper Left" msgstr "" #: gschem/src/x_dialog.c:304 msgid "Upper Middle" msgstr "" #: gschem/src/x_dialog.c:307 msgid "Upper Right" msgstr "" #: gschem/src/x_dialog.c:311 msgid "Middle Left" msgstr "" #: gschem/src/x_dialog.c:314 msgid "Middle Middle" msgstr "" #: gschem/src/x_dialog.c:317 msgid "Middle Right" msgstr "" #: gschem/src/x_dialog.c:321 msgid "Lower Left" msgstr "" #: gschem/src/x_dialog.c:324 msgid "Lower Middle" msgstr "" #: gschem/src/x_dialog.c:327 msgid "Lower Right" msgstr "" #: gschem/src/x_dialog.c:438 msgid "Edit Text Properties" msgstr "" #: gschem/src/x_dialog.c:473 msgid "Text Content" msgstr "" #: gschem/src/x_dialog.c:509 msgid "Text Properties" msgstr "" #: gschem/src/x_dialog.c:524 msgid "Color:" msgstr "" #: gschem/src/x_dialog.c:531 msgid "Size:" msgstr "" #: gschem/src/x_dialog.c:540 msgid "Alignment:" msgstr "" #: gschem/src/x_dialog.c:589 msgid "Solid" msgstr "" #: gschem/src/x_dialog.c:590 msgid "Dotted" msgstr "" #: gschem/src/x_dialog.c:591 msgid "Dashed" msgstr "" #: gschem/src/x_dialog.c:592 msgid "Center" msgstr "" #: gschem/src/x_dialog.c:593 msgid "Phantom" msgstr "" #: gschem/src/x_dialog.c:594 gschem/src/x_dialog.c:691 #: gschem/src/x_dialog.c:700 gschem/src/x_dialog.c:709 #: gschem/src/x_dialog.c:810 gschem/src/x_dialog.c:813 #: gschem/src/x_dialog.c:816 gschem/src/x_dialog.c:1043 #: gschem/src/x_dialog.c:1146 gschem/src/x_dialog.c:1155 #: gschem/src/x_dialog.c:1164 gschem/src/x_dialog.c:1173 #: gschem/src/x_dialog.c:1182 gschem/src/x_dialog.c:1295 #: gschem/src/x_dialog.c:1298 gschem/src/x_dialog.c:1301 #: gschem/src/x_dialog.c:1304 gschem/src/x_dialog.c:1307 msgid "*unchanged*" msgstr "" #: gschem/src/x_dialog.c:921 msgid "Edit Line Width & Type" msgstr "" #: gschem/src/x_dialog.c:960 gschem/src/x_print.c:307 msgid "Type:" msgstr "" #: gschem/src/x_dialog.c:964 msgid "Width:" msgstr "" #: gschem/src/x_dialog.c:968 msgid "Dash Length:" msgstr "" #: gschem/src/x_dialog.c:972 msgid "Dash Space:" msgstr "" #: gschem/src/x_dialog.c:1039 msgid "Hollow" msgstr "" #: gschem/src/x_dialog.c:1040 msgid "Filled" msgstr "" #: gschem/src/x_dialog.c:1041 msgid "Mesh" msgstr "" #: gschem/src/x_dialog.c:1042 msgid "Hatch" msgstr "" #: gschem/src/x_dialog.c:1416 msgid "Edit Fill Type" msgstr "" #: gschem/src/x_dialog.c:1455 msgid "Fill Type:" msgstr "" #: gschem/src/x_dialog.c:1459 msgid "Line Width:" msgstr "" #: gschem/src/x_dialog.c:1463 msgid "Angle 1:" msgstr "" #: gschem/src/x_dialog.c:1467 msgid "Pitch 1:" msgstr "" #: gschem/src/x_dialog.c:1471 msgid "Angle 2:" msgstr "" #: gschem/src/x_dialog.c:1475 msgid "Pitch 2:" msgstr "" #: gschem/src/x_dialog.c:1602 msgid "Arc Params" msgstr "" #: gschem/src/x_dialog.c:1643 msgid "Arc Radius:" msgstr "" #: gschem/src/x_dialog.c:1651 msgid "Start Angle:" msgstr "" #: gschem/src/x_dialog.c:1659 msgid "Degrees of Sweep:" msgstr "" #: gschem/src/x_dialog.c:1777 msgid "" "Offset to translate?\n" "(0 for origin)" msgstr "" #: gschem/src/x_dialog.c:1845 msgid "Text Size" msgstr "" #: gschem/src/x_dialog.c:1875 msgid "Enter new text size:" msgstr "" #: gschem/src/x_dialog.c:1951 msgid "Snap Size" msgstr "" #: gschem/src/x_dialog.c:1981 msgid "Enter new snap grid spacing:" msgstr "" #: gschem/src/x_dialog.c:2058 msgid "Edit slot number" msgstr "" #: gschem/src/x_dialog.c:2089 msgid "Edit slot number:" msgstr "" #: gschem/src/x_dialog.c:2130 #, c-format msgid "%s (g%.7s)" msgstr "" #: gschem/src/x_dialog.c:2151 msgid "About gschem" msgstr "關於 gschem" #: gschem/src/x_dialog.c:2152 msgid "gEDA: GPL Electronic Design Automation" msgstr "" #. TRANSLATORS: "ChangeLog" is a literal filename; please don't translate it. #: gschem/src/x_dialog.c:2155 msgid "" "Copyright © 1998-2012 Ales Hvezda \n" "Copyright © 1998-2012 gEDA Contributors (see ChangeLog for details)" msgstr "" #: gschem/src/x_dialog.c:2214 msgid "Coords" msgstr "" #: gschem/src/x_dialog.c:2235 msgid "Screen" msgstr "" #: gschem/src/x_dialog.c:2244 msgid "World" msgstr "" #: gschem/src/x_dialog.c:2283 msgid "Background" msgstr "" #: gschem/src/x_dialog.c:2289 msgid "Net endpoint" msgstr "" #: gschem/src/x_dialog.c:2292 msgid "Graphic" msgstr "" #: gschem/src/x_dialog.c:2301 msgid "Logic bubble" msgstr "" #: gschem/src/x_dialog.c:2304 msgid "Grid point" msgstr "" #: gschem/src/x_dialog.c:2307 msgid "Detached attribute" msgstr "" #: gschem/src/x_dialog.c:2310 gschem/src/x_window.c:387 msgid "Text" msgstr "" #: gschem/src/x_dialog.c:2316 msgid "Selection" msgstr "" #: gschem/src/x_dialog.c:2319 msgid "Bounding box" msgstr "" #: gschem/src/x_dialog.c:2322 msgid "Zoom box" msgstr "" #: gschem/src/x_dialog.c:2331 msgid "Output background" msgstr "" #: gschem/src/x_dialog.c:2334 msgid "Net junction" msgstr "" #: gschem/src/x_dialog.c:2337 msgid "Mesh grid major" msgstr "" #: gschem/src/x_dialog.c:2340 msgid "Mesh grid minor" msgstr "" #: gschem/src/x_dialog.c:2343 msgid "Unknown" msgstr "" #: gschem/src/x_dialog.c:2494 #, c-format msgid "ERROR: NULL object in color_edit_dialog_apply!\n" msgstr "" #: gschem/src/x_dialog.c:2538 msgid "Color Edit" msgstr "" #: gschem/src/x_dialog.c:2569 msgid "Object color:" msgstr "" #: gschem/src/x_dialog.c:2622 msgid "Hotkeys" msgstr "熱鍵" #: gschem/src/x_dialog.c:2662 msgid "Function" msgstr "" #: gschem/src/x_dialog.c:2669 msgid "Keystroke(s)" msgstr "" #: gschem/src/x_dialog.c:2977 msgid "Find Text" msgstr "" #: gschem/src/x_dialog.c:3008 msgid "Text to find:" msgstr "" #: gschem/src/x_dialog.c:3018 msgid "descend into hierarchy" msgstr "" #: gschem/src/x_dialog.c:3084 msgid "Hide Text" msgstr "" #: gschem/src/x_dialog.c:3115 msgid "Hide text starting with:" msgstr "" #: gschem/src/x_dialog.c:3185 msgid "Show Text" msgstr "" #: gschem/src/x_dialog.c:3216 msgid "Show text starting with:" msgstr "" #: gschem/src/x_dialog.c:3675 msgid "S_elect the schematics you want to save:" msgstr "" #: gschem/src/x_dialog.c:3770 #, c-format msgid "Save the changes to schematic \"%s\" before closing?" msgstr "" #: gschem/src/x_dialog.c:3776 #, c-format msgid "" "There are %d schematics with unsaved changes. Save changes before closing?" msgstr "" #: gschem/src/x_dialog.c:3805 msgid "If you don't save, all your changes will be permanently lost." msgstr "" #: gschem/src/x_dialog.c:3825 msgid "_Close without saving" msgstr "" #: gschem/src/x_dialog.c:4161 #, c-format msgid "" "The input attribute \"%s\" is invalid\n" "Please correct in order to continue\n" "\n" "The name and value must be non-empty.\n" "The name cannot end with a space.\n" "The value cannot start with a space." msgstr "" #: gschem/src/x_dialog.c:4163 msgid "Invalid Attribute" msgstr "" #: gschem/src/x_dialog.c:4199 msgid "Pin type" msgstr "" #: gschem/src/x_dialog.c:4223 msgid "Net pin" msgstr "" #: gschem/src/x_dialog.c:4225 msgid "Bus pin (graphical)" msgstr "" #: gschem/src/x_fileselect.c:42 msgid "Schematics" msgstr "" #: gschem/src/x_fileselect.c:47 msgid "Symbols" msgstr "" #: gschem/src/x_fileselect.c:52 msgid "Schematics and symbols" msgstr "" #: gschem/src/x_fileselect.c:58 msgid "All files" msgstr "" #: gschem/src/x_fileselect.c:171 msgid "Open..." msgstr "" #: gschem/src/x_fileselect.c:231 msgid "Save as..." msgstr "另存為..." #: gschem/src/x_fileselect.c:284 #, c-format msgid "" "The selected file `%s' already exists.\n" "\n" "Would you like to overwrite it?" msgstr "" #: gschem/src/x_fileselect.c:287 msgid "Overwrite file?" msgstr "覆蓋檔案?" #: gschem/src/x_fileselect.c:289 msgid "Save cancelled on user request\n" msgstr "" #: gschem/src/x_image.c:176 msgid "Encapsulated Postscript" msgstr "" #: gschem/src/x_image.c:296 #, c-format msgid "x_image_lowlevel: Unable to write eps file %s.\n" msgstr "" #: gschem/src/x_image.c:374 #, c-format msgid "x_image_lowlevel: Unable to write %s file %s.\n" msgstr "" #: gschem/src/x_image.c:384 #, c-format msgid "" "There was the following error when saving image with type %s to filename:\n" "%s\n" "\n" "%s.\n" msgstr "" #: gschem/src/x_image.c:403 #, c-format msgid "Wrote color image to [%s] [%d x %d]\n" msgstr "" #: gschem/src/x_image.c:405 #, c-format msgid "Wrote black and white image to [%s] [%d x %d]\n" msgstr "" #: gschem/src/x_image.c:413 msgid "x_image_lowlevel: Unable to get pixbuf from gschem's window.\n" msgstr "" #: gschem/src/x_image.c:458 msgid "Width x Height" msgstr "寬度 x 高度" #: gschem/src/x_image.c:474 msgid "Image type" msgstr "圖片格式" #: gschem/src/x_image.c:495 msgid "Write image..." msgstr "匯出成圖片" #: gschem/src/x_log.c:209 msgid "** Invalid UTF-8 in log message. See stderr or gschem.log.\n" msgstr "" #: gschem/src/x_log.c:288 msgid "Status" msgstr "" #: gschem/src/x_menus.c:37 msgid "/Add Net" msgstr "" #: gschem/src/x_menus.c:38 msgid "/Add Attribute..." msgstr "" #: gschem/src/x_menus.c:39 msgid "/Add Component..." msgstr "" #: gschem/src/x_menus.c:40 msgid "/Add Bus" msgstr "" #: gschem/src/x_menus.c:41 msgid "/Add Text" msgstr "" #: gschem/src/x_menus.c:43 msgid "/Zoom In" msgstr "" #: gschem/src/x_menus.c:44 msgid "/Zoom Out" msgstr "" #: gschem/src/x_menus.c:45 msgid "/Zoom Box" msgstr "" #: gschem/src/x_menus.c:46 msgid "/Zoom Extents" msgstr "" #: gschem/src/x_menus.c:48 msgid "/Select" msgstr "" #: gschem/src/x_menus.c:49 msgid "/Edit..." msgstr "" #: gschem/src/x_menus.c:50 msgid "/Edit pin type..." msgstr "" #: gschem/src/x_menus.c:51 msgid "/Copy" msgstr "" #: gschem/src/x_menus.c:52 msgid "/Move" msgstr "" #: gschem/src/x_menus.c:53 msgid "/Delete" msgstr "" #: gschem/src/x_menus.c:56 msgid "/Down Schematic" msgstr "" #: gschem/src/x_menus.c:57 msgid "/Down Symbol" msgstr "" #: gschem/src/x_menus.c:58 msgid "/Up" msgstr "" #: gschem/src/x_menus.c:348 #, c-format msgid "Tried to set the sensitivity on non-existent menu item '%s'\n" msgstr "" #: gschem/src/x_menus.c:372 msgid "Popup_menu_item_factory doesn't exist!\n" msgstr "" #: gschem/src/x_menus.c:385 msgid "Tried to set the sensitivity on a non-existent popup menu_item\n" msgstr "" #: gschem/src/x_misc.c:74 msgid "The operating system is out of memory or resources." msgstr "" #: gschem/src/x_misc.c:155 #, c-format msgid "%s failed to launch URI" msgstr "" #: gschem/src/x_multiattrib.c:961 msgid "Attributes with empty name are not allowed. Please set a name." msgstr "" #: gschem/src/x_multiattrib.c:1514 msgid "Show Value only" msgstr "" #: gschem/src/x_multiattrib.c:1516 msgid "Show Name only" msgstr "" #: gschem/src/x_multiattrib.c:1544 msgid "Promote" msgstr "" #: gschem/src/x_multiattrib.c:1548 msgid "Duplicate" msgstr "" #: gschem/src/x_multiattrib.c:1765 msgid "Edit Attributes" msgstr "" #: gschem/src/x_multiattrib.c:1883 msgid "Vis?" msgstr "" #: gschem/src/x_multiattrib.c:1901 msgid "N" msgstr "" #: gschem/src/x_multiattrib.c:1919 msgid "V" msgstr "" #: gschem/src/x_multiattrib.c:1941 msgid "Show inherited attributes" msgstr "" #: gschem/src/x_multiattrib.c:1957 msgid "Add Attribute" msgstr "" #: gschem/src/x_pagesel.c:246 msgid "New Page" msgstr "新增分頁" #: gschem/src/x_pagesel.c:247 msgid "Open Page..." msgstr "開啟舊檔" #: gschem/src/x_pagesel.c:249 msgid "Save Page" msgstr "儲存檔案" #: gschem/src/x_pagesel.c:250 msgid "Close Page" msgstr "關閉檔案" #: gschem/src/x_pagesel.c:251 msgid "Discard Page" msgstr "" #: gschem/src/x_pagesel.c:369 msgid "Page Manager" msgstr "" #: gschem/src/x_pagesel.c:425 msgid "Filename" msgstr "" #: gschem/src/x_pagesel.c:441 msgid "Changed" msgstr "" #: gschem/src/x_pagesel.c:461 msgid "Right click on the filename for more options..." msgstr "" #: gschem/src/x_preview.c:231 msgid "Preview Buffer" msgstr "" #: gschem/src/x_print.c:84 msgid "Select PostScript Filename..." msgstr "" #: gschem/src/x_print.c:164 msgid "Extents with margins" msgstr "" #: gschem/src/x_print.c:170 msgid "Extents no margins" msgstr "" #: gschem/src/x_print.c:176 msgid "Current Window" msgstr "" #: gschem/src/x_print.c:210 msgid "Landscape" msgstr "" #: gschem/src/x_print.c:216 msgid "Portrait" msgstr "" #: gschem/src/x_print.c:276 msgid "Print..." msgstr "列印" #: gschem/src/x_print.c:284 msgid "Settings" msgstr "" #: gschem/src/x_print.c:296 msgid "Output paper size:" msgstr "" #: gschem/src/x_print.c:318 msgid "Orientation:" msgstr "" #: gschem/src/x_print.c:330 msgid "Destination" msgstr "" #: gschem/src/x_print.c:343 msgid "File:" msgstr "" #: gschem/src/x_print.c:373 msgid "Command:" msgstr "" #: gschem/src/x_print.c:745 msgid "No print destination specified\n" msgstr "" #: gschem/src/x_print.c:752 #, c-format msgid "Cannot print current schematic to [%s]\n" msgstr "" #: gschem/src/x_print.c:761 #, c-format msgid "" "Error printing to file '%s'\n" "Check the log window for more information" msgstr "" #: gschem/src/x_print.c:768 #, c-format msgid "Printed current schematic to [%s]\n" msgstr "" #: gschem/src/x_rc.c:40 msgid "ERROR: An unknown error occurred while parsing configuration files.\n" msgstr "" #: gschem/src/x_rc.c:45 msgid "" "An unknown error occurred while parsing configuration files.\n" "\n" "The gschem log may contain more information." msgstr "" #: gschem/src/x_rc.c:57 #, c-format msgid "ERROR: %s\n" msgstr "" #: gschem/src/x_rc.c:60 #, c-format msgid "" "%s\n" "\n" "The gschem log may contain more information." msgstr "" #: gschem/src/x_rc.c:68 msgid "Cannot load gschem configuration." msgstr "" #: gschem/src/x_script.c:47 gschem/lib/system-gschemrc.scm:1381 msgid "Execute Script..." msgstr "執行命令稿" #: gschem/src/x_script.c:66 #, c-format msgid "Executing guile script [%s]\n" msgstr "正在執行guile腳本 [%s]\n" #: gschem/src/x_window.c:82 #, c-format msgid "Couldn't allocate gc\n" msgstr "" #: gschem/src/x_window.c:321 msgid "New" msgstr "新增分頁" #: gschem/src/x_window.c:322 msgid "New file" msgstr "" #: gschem/src/x_window.c:328 msgid "Open" msgstr "" #: gschem/src/x_window.c:329 msgid "Open file..." msgstr "開啟檔案" #: gschem/src/x_window.c:335 msgid "Save" msgstr "儲存" #: gschem/src/x_window.c:336 msgid "Save file" msgstr "儲存檔案" #: gschem/src/x_window.c:343 msgid "Undo" msgstr "復原" #: gschem/src/x_window.c:344 msgid "Undo last operation" msgstr "復原上一次操作" #: gschem/src/x_window.c:350 msgid "Redo" msgstr "取消上次復原" #: gschem/src/x_window.c:351 msgid "Redo last undo" msgstr "取消上一次復原" #: gschem/src/x_window.c:360 msgid "" "Add component...\n" "Select library and component from list, move the mouse into main window, " "click to place\n" "Right mouse button to cancel" msgstr "" #: gschem/src/x_window.c:370 msgid "" "Add nets mode\n" "Right mouse button to cancel" msgstr "" #: gschem/src/x_window.c:380 msgid "" "Add buses mode\n" "Right mouse button to cancel" msgstr "" #: gschem/src/x_window.c:388 msgid "Add Text..." msgstr "新增文字" #: gschem/src/x_window.c:398 msgid "Select" msgstr "選擇" #: gschem/src/x_window.c:399 msgid "Select mode" msgstr "選擇模式" #: gschem/src/x_window.c:465 msgid "Evaluate:" msgstr "" #: gschem/src/x_window.c:484 msgid "Pick" msgstr "" #: gschem/src/x_window.c:500 msgid "Repeat/none" msgstr "" #: gschem/src/x_window.c:510 msgid "Menu/Cancel" msgstr "" #: gschem/src/x_window.c:512 msgid "Pan/Cancel" msgstr "" #: gschem/src/x_window.c:737 #, c-format msgid "Loading schematic [%s]\n" msgstr "" #: gschem/src/x_window.c:748 #, c-format msgid "" "An error occurred while loading the requested file.\n" "\n" "Loading from '%s' failed: %s. The gschem log may contain more information." msgstr "" #: gschem/src/x_window.c:750 msgid "Failed to load file" msgstr "讀取檔案失敗" #: gschem/src/x_window.c:759 #, c-format msgid "New file [%s]\n" msgstr "" #: gschem/src/x_window.c:862 #, c-format msgid "Could NOT save page [%s]\n" msgstr "" #: gschem/src/x_window.c:863 msgid "Error while trying to save" msgstr "儲存檔案時發生錯誤" #: gschem/src/x_window.c:873 msgid "Failed to save file" msgstr "" #: gschem/src/x_window.c:884 #, c-format msgid "Saved as [%s]\n" msgstr "另存為 [%s]\n" #: gschem/src/x_window.c:886 #, c-format msgid "Saved [%s]\n" msgstr "儲存 [%s]\n" #: gschem/src/x_window.c:888 msgid "Saved" msgstr "儲存" #: gschem/src/x_window.c:962 #, c-format msgid "Discarding page [%s]\n" msgstr "" #: gschem/src/x_window.c:962 #, c-format msgid "Closing [%s]\n" msgstr "關閉 [%s]\n" #: gschem/data/geda-gschem.desktop.in:3 msgid "gEDA Schematic Editor" msgstr "gEDA 電路圖編輯器" #: gschem/data/geda-gschem.desktop.in:4 msgid "Create and edit electrical schematics and symbols with gschem" msgstr "用 gschem 建立並編輯電子電路圖表及符號" #: gschem/lib/system-gschemrc.scm:1368 msgid "_New" msgstr "新增檔案" #: gschem/lib/system-gschemrc.scm:1369 msgid "_Open..." msgstr "開啟舊檔" #: gschem/lib/system-gschemrc.scm:1371 msgid "Open Recen_t" msgstr "最近的檔案" #: gschem/lib/system-gschemrc.scm:1373 msgid "_Save" msgstr "儲存檔案" #: gschem/lib/system-gschemrc.scm:1374 msgid "Save _As..." msgstr "另存新檔" #: gschem/lib/system-gschemrc.scm:1375 msgid "Save All" msgstr "儲存全部" #: gschem/lib/system-gschemrc.scm:1376 gschem/lib/system-gschemrc.scm:1469 msgid "_Revert" msgstr "還原" #: gschem/lib/system-gschemrc.scm:1378 msgid "_Print..." msgstr "列印檔案" #: gschem/lib/system-gschemrc.scm:1379 msgid "Write _image..." msgstr "轉換成圖片" #: gschem/lib/system-gschemrc.scm:1383 msgid "New Window" msgstr "開新視窗" #: gschem/lib/system-gschemrc.scm:1384 msgid "_Close Window" msgstr "" #: gschem/lib/system-gschemrc.scm:1385 msgid "_Quit" msgstr "結束程式" #: gschem/lib/system-gschemrc.scm:1391 msgid "_Undo" msgstr "還原" #: gschem/lib/system-gschemrc.scm:1392 msgid "_Redo" msgstr "取消還原" #: gschem/lib/system-gschemrc.scm:1394 msgid "Cu_t" msgstr "剪下" #: gschem/lib/system-gschemrc.scm:1395 msgid "_Copy" msgstr "複製" #: gschem/lib/system-gschemrc.scm:1396 msgid "_Paste" msgstr "貼上" #: gschem/lib/system-gschemrc.scm:1397 msgid "_Delete" msgstr "刪除" #: gschem/lib/system-gschemrc.scm:1400 msgid "Select All" msgstr "" #: gschem/lib/system-gschemrc.scm:1401 msgid "Deselect" msgstr "" #: gschem/lib/system-gschemrc.scm:1405 msgid "Rotate 90 Mode" msgstr "逆時針旋轉90度" #: gschem/lib/system-gschemrc.scm:1408 msgid "Edit..." msgstr "編輯" #: gschem/lib/system-gschemrc.scm:1409 msgid "Edit Text..." msgstr "編輯文字" #: gschem/lib/system-gschemrc.scm:1410 msgid "Slot..." msgstr "" #: gschem/lib/system-gschemrc.scm:1411 msgid "Color..." msgstr "變更顏色" #: gschem/lib/system-gschemrc.scm:1412 msgid "Line Width & Type..." msgstr "" #: gschem/lib/system-gschemrc.scm:1413 msgid "Fill Type..." msgstr "" #: gschem/lib/system-gschemrc.scm:1414 msgid "Symbol Translate..." msgstr "" #: gschem/lib/system-gschemrc.scm:1418 msgid "Invoke Macro" msgstr "" #: gschem/lib/system-gschemrc.scm:1419 msgid "Embed Component/Picture" msgstr "嵌入元件/圖片" #: gschem/lib/system-gschemrc.scm:1420 msgid "Unembed Component/Picture" msgstr "解除嵌入元件/圖片" #: gschem/lib/system-gschemrc.scm:1421 msgid "Update Component" msgstr "更新元件資訊" #: gschem/lib/system-gschemrc.scm:1422 msgid "Show/Hide Inv Text" msgstr "" #: gschem/lib/system-gschemrc.scm:1428 msgid "Copy into 1" msgstr "複製到 緩衝區1" #: gschem/lib/system-gschemrc.scm:1429 msgid "Copy into 2" msgstr "複製到 緩衝區2" #: gschem/lib/system-gschemrc.scm:1430 msgid "Copy into 3" msgstr "複製到 緩衝區3" #: gschem/lib/system-gschemrc.scm:1431 msgid "Copy into 4" msgstr "複製到 緩衝區4" #: gschem/lib/system-gschemrc.scm:1432 msgid "Copy into 5" msgstr "複製到 緩衝區5" #: gschem/lib/system-gschemrc.scm:1433 msgid "Cut into 1" msgstr "剪下至 緩衝區1" #: gschem/lib/system-gschemrc.scm:1434 msgid "Cut into 2" msgstr "剪下至 緩衝區2" #: gschem/lib/system-gschemrc.scm:1435 msgid "Cut into 3" msgstr "剪下至 緩衝區3" #: gschem/lib/system-gschemrc.scm:1436 msgid "Cut into 4" msgstr "剪下至 緩衝區4" #: gschem/lib/system-gschemrc.scm:1437 msgid "Cut into 5" msgstr "剪下至 緩衝區5" #: gschem/lib/system-gschemrc.scm:1438 msgid "Paste from 1" msgstr "自 緩衝區1 貼上" #: gschem/lib/system-gschemrc.scm:1439 msgid "Paste from 2" msgstr "自 緩衝區2 貼上" #: gschem/lib/system-gschemrc.scm:1440 msgid "Paste from 3" msgstr "自 緩衝區3 貼上" #: gschem/lib/system-gschemrc.scm:1441 msgid "Paste from 4" msgstr "自 緩衝區4 貼上" #: gschem/lib/system-gschemrc.scm:1442 msgid "Paste from 5" msgstr "自 緩衝區5 貼上" #: gschem/lib/system-gschemrc.scm:1448 msgid "_Redraw" msgstr "" #: gschem/lib/system-gschemrc.scm:1449 msgid "_Pan" msgstr "" #: gschem/lib/system-gschemrc.scm:1450 msgid "Zoom _Box" msgstr "" #: gschem/lib/system-gschemrc.scm:1451 msgid "Zoom _Extents" msgstr "" #: gschem/lib/system-gschemrc.scm:1452 msgid "Zoom _In" msgstr "放大檢視" #: gschem/lib/system-gschemrc.scm:1453 msgid "Zoom _Out" msgstr "縮小檢視" #: gschem/lib/system-gschemrc.scm:1454 msgid "Zoom _Full" msgstr "" #: gschem/lib/system-gschemrc.scm:1456 msgid "_Dark color scheme" msgstr "黑色背景" #: gschem/lib/system-gschemrc.scm:1457 msgid "_Light color scheme" msgstr "白色背景" #: gschem/lib/system-gschemrc.scm:1458 msgid "B_W color scheme" msgstr "" #: gschem/lib/system-gschemrc.scm:1465 msgid "_Manager..." msgstr "管理分頁" #: gschem/lib/system-gschemrc.scm:1466 msgid "_Previous" msgstr "上一個分頁" #: gschem/lib/system-gschemrc.scm:1467 msgid "_Next" msgstr "下一個分頁" #: gschem/lib/system-gschemrc.scm:1468 msgid "Ne_w" msgstr "新增分頁" #: gschem/lib/system-gschemrc.scm:1470 msgid "_Close" msgstr "關閉視窗" #: gschem/lib/system-gschemrc.scm:1472 msgid "_Discard" msgstr "捨棄分頁" #: gschem/lib/system-gschemrc.scm:1478 msgid "_Component..." msgstr "元件" #: gschem/lib/system-gschemrc.scm:1479 msgid "_Net" msgstr "" #: gschem/lib/system-gschemrc.scm:1480 msgid "B_us" msgstr "" #: gschem/lib/system-gschemrc.scm:1481 msgid "_Attribute..." msgstr "屬性" #: gschem/lib/system-gschemrc.scm:1482 msgid "_Text..." msgstr "文字" #: gschem/lib/system-gschemrc.scm:1484 msgid "_Line" msgstr "" #: gschem/lib/system-gschemrc.scm:1485 msgid "_Box" msgstr "" #: gschem/lib/system-gschemrc.scm:1486 msgid "C_ircle" msgstr "" #: gschem/lib/system-gschemrc.scm:1487 msgid "A_rc" msgstr "" #: gschem/lib/system-gschemrc.scm:1488 msgid "_Pin" msgstr "" #: gschem/lib/system-gschemrc.scm:1489 msgid "Pictu_re..." msgstr "" #: gschem/lib/system-gschemrc.scm:1495 msgid "_Down Schematic" msgstr "" #: gschem/lib/system-gschemrc.scm:1496 msgid "Down _Symbol" msgstr "" #: gschem/lib/system-gschemrc.scm:1497 msgid "_Up" msgstr "" #: gschem/lib/system-gschemrc.scm:1498 msgid "D_ocumentation..." msgstr "" #: gschem/lib/system-gschemrc.scm:1504 msgid "_Attach" msgstr "" #: gschem/lib/system-gschemrc.scm:1505 msgid "_Detach" msgstr "" #: gschem/lib/system-gschemrc.scm:1506 msgid "Show _Value" msgstr "" #: gschem/lib/system-gschemrc.scm:1507 msgid "Show _Name" msgstr "" #: gschem/lib/system-gschemrc.scm:1508 msgid "Show _Both" msgstr "" #: gschem/lib/system-gschemrc.scm:1509 msgid "_Toggle Visibility" msgstr "" #: gschem/lib/system-gschemrc.scm:1511 msgid "_Find Specific Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1512 msgid "_Hide Specific Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1513 msgid "_Show Specific Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1514 msgid "A_utonumber Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1520 msgid "_Text Size..." msgstr "" #: gschem/lib/system-gschemrc.scm:1521 msgid "Cycle _grid styles" msgstr "" #: gschem/lib/system-gschemrc.scm:1522 msgid "Toggle _Snap On/Off" msgstr "" #: gschem/lib/system-gschemrc.scm:1523 msgid "Snap Grid S_pacing..." msgstr "" #: gschem/lib/system-gschemrc.scm:1524 msgid "Scale _up Grid Spacing" msgstr "" #: gschem/lib/system-gschemrc.scm:1526 msgid "Scale _down Grid Spacing" msgstr "" #: gschem/lib/system-gschemrc.scm:1528 msgid "Toggle _Outline/Box" msgstr "" #: gschem/lib/system-gschemrc.scm:1530 msgid "Toggle Net _Rubberband" msgstr "" #: gschem/lib/system-gschemrc.scm:1531 msgid "Toggle _Magnetic Net" msgstr "" #: gschem/lib/system-gschemrc.scm:1532 msgid "Show _Log Window..." msgstr "" #: gschem/lib/system-gschemrc.scm:1534 msgid "Show _Coord Window..." msgstr "" #: gschem/lib/system-gschemrc.scm:1542 msgid "gEDA Docu_mentation..." msgstr "" #: gschem/lib/system-gschemrc.scm:1543 msgid "gschem _FAQ..." msgstr "" #: gschem/lib/system-gschemrc.scm:1544 msgid "gEDA _Wiki..." msgstr "" #: gschem/lib/system-gschemrc.scm:1545 msgid "Component D_ocumentation..." msgstr "" #: gschem/lib/system-gschemrc.scm:1547 msgid "_Hotkeys..." msgstr "熱鍵" #: gschem/lib/system-gschemrc.scm:1548 msgid "_About..." msgstr "關於" #: gschem/lib/system-gschemrc.scm:1554 msgid "_File" msgstr "檔案" #: gschem/lib/system-gschemrc.scm:1555 msgid "_Edit" msgstr "編輯" #: gschem/lib/system-gschemrc.scm:1556 msgid "_Buffer" msgstr "緩衝區" #: gschem/lib/system-gschemrc.scm:1557 msgid "_View" msgstr "顯示" #: gschem/lib/system-gschemrc.scm:1558 msgid "_Page" msgstr "分頁" #: gschem/lib/system-gschemrc.scm:1559 msgid "_Add" msgstr "新增" #: gschem/lib/system-gschemrc.scm:1560 msgid "Hie_rarchy" msgstr "" #: gschem/lib/system-gschemrc.scm:1561 msgid "A_ttributes" msgstr "屬性" #: gschem/lib/system-gschemrc.scm:1562 msgid "_Options" msgstr "選項" #: gschem/lib/system-gschemrc.scm:1563 msgid "_Help" msgstr "幫助" #: gschem/scheme/gschem/deprecated.scm:102 #, scheme-format msgid "Invalid text alignment ~A." msgstr "" #: gschem/scheme/gschem/gschemdoc.scm:225 msgid "No documentation found" msgstr "" #: gschem/scheme/gschem/keymap.scm:38 #, scheme-format msgid "~S is not a valid key combination." msgstr "" #: gschem/scheme/gschem/keymap.scm:153 #, scheme-format msgid "~S is not a prefix key sequence." msgstr "" geda-gaf-1.8.2/gschem/po/pt.po0000664000175000017500000017142612220655644012770 00000000000000# Portuguese translation for geda # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-01-27 14:23+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: gEDA developers \n" "Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: gschem/src/a_zoom.c:212 msgid "Zoom too small! Cannot zoom further.\n" msgstr "Ampliação ampliação pequena! Não é possível ampliar mais.\n" #: gschem/src/g_attrib.c:92 msgid "Object ~A is not included in the current gschem page." msgstr "" #: gschem/src/g_attrib.c:112 msgid "Invalid text name/value visibility ~A." msgstr "" #: gschem/src/g_rc.c:312 #, c-format msgid "Invalid zoomfactor [%d] passed to %s\n" msgstr "Factor de ampliação inválido [%d] passado a %s\n" #: gschem/src/g_rc.c:458 #, c-format msgid "Invalid size [%d] passed to text-size\n" msgstr "Tamanho inválido [%d] passado a tamanho de texto\n" #: gschem/src/g_rc.c:501 #, c-format msgid "Invalid size [%d] passed to snap-size\n" msgstr "Tamanho inválido [%d] passado a função snap-size\n" #: gschem/src/g_rc.c:958 #, c-format msgid "Invalid num levels [%d] passed to undo-levels\n" msgstr "Numero de níveis inválidos [%d] passados a função undo-levels\n" #: gschem/src/g_rc.c:1220 #, c-format msgid "Invalid size [%d] passed to bus-ripper-size\n" msgstr "Tamanho inválido [%d] passado a função bus-ripper-size\n" #: gschem/src/g_rc.c:1295 #, c-format msgid "Invalid dot size [%d] passed to dots-grid-dot-size\n" msgstr "Tamanho de ponto inválido [%d] passado a função dots-grid-dot-size\n" #: gschem/src/g_rc.c:1336 #, c-format msgid "Invalid pixel spacing [%d] passed to dots-grid-fixed-threshold\n" msgstr "" "Espaçamento de pixel inválido [%d] passado a função dots-grid-fixed-" "threshold\n" #: gschem/src/g_rc.c:1362 #, c-format msgid "Invalid pixel spacing [%d] passed to mesh-grid-display-threshold\n" msgstr "" "Espaçamento de pixel inválido [%d] passado a função mesh-grid-display-" "threshold\n" #: gschem/src/g_rc.c:1387 #, c-format msgid "Invalid offset [%d] passed to add-attribute-offset\n" msgstr "Deslocamento inválido [%d] passado a função add-attribute-offset\n" #: gschem/src/g_rc.c:1411 #, c-format msgid "Invalid number of seconds [%d] passed to auto-save-interval\n" msgstr "Numero de segundos inválido [%d] passado a função auto-save-interval\n" #: gschem/src/g_rc.c:1435 #, c-format msgid "Invalid gain [%d] passed to mousepan-gain\n" msgstr "Ganho inválido [%d] passado a função mousepan-gain\n" #: gschem/src/g_rc.c:1458 #, c-format msgid "Invalid gain [%d] passed to keyboardpan-gain\n" msgstr "Ganho inválido [%d] passado a função keyboardpan-gain\n" #: gschem/src/g_rc.c:1505 #, c-format msgid "Invalid number of pixels [%d] passed to select-slack-pixels\n" msgstr "Número de pixeis inválido [%d] passado a função select-slack-pixels\n" #: gschem/src/g_rc.c:1531 #, c-format msgid "Invalid gain [%d] passed to zoom-gain\n" msgstr "Ganho inválido [%d] passado a função zoom-gain\n" #: gschem/src/g_rc.c:1556 #, c-format msgid "Invalid number of steps [%d] scrollpan-steps\n" msgstr "Numero de passos inválido [%d] passado a função scrollpan-steps\n" #: gschem/src/g_select.c:79 gschem/src/g_select.c:116 #: gschem/src/g_select.c:152 msgid "Object ~A is not directly included in a page." msgstr "" #: gschem/src/g_util.c:56 msgid "Could not launch URI ~S: ~A" msgstr "" #: gschem/src/g_window.c:136 msgid "Found invalid gschem window smob ~S" msgstr "" #: gschem/src/gschem.c:175 #, c-format msgid "gEDA/gschem version %s%s.%s\n" msgstr "gEDA/gschem versão %s%s.%s\n" #: gschem/src/gschem.c:178 msgid "" "gEDA/gschem comes with ABSOLUTELY NO WARRANTY; see COPYING for more " "details.\n" msgstr "" "gEDA/gschem não incluí GARANTIA ABSOLUTAMENTE NENHUMA; veja COPYING para " "mais detalhes.\n" #: gschem/src/gschem.c:180 msgid "" "This is free software, and you are welcome to redistribute it under certain\n" msgstr "Este é software livre, é bem-vindo que o redistribua sob certas\n" #: gschem/src/gschem.c:182 msgid "" "conditions; please see the COPYING file for more details.\n" "\n" msgstr "" "condições; por favor veja COPYING para mais detalhes.\n" "\n" #: gschem/src/gschem.c:185 #, c-format msgid "This is the MINGW32 port.\n" msgstr "Este é uma adaptação para MINGW32.\n" #: gschem/src/gschem.c:189 #, c-format msgid "Current locale settings: %s\n" msgstr "Definições actuais de localização: %s\n" #: gschem/src/gschem.c:211 msgid "" "You must set the GEDADATA environment variable!\n" "\n" "gschem cannot locate its data files. You must set the GEDADATA\n" "environment variable to point to the correct location.\n" msgstr "" "Deve definir a variável de ambiente GETDATA!\n" "\n" "gschem não consegue localizar os seus ficheiros de dados.\n" "Deverá definir a variável de ambiente GEDADATA a apontar para a \n" "correcta localização.\n" #: gschem/src/gschem.c:248 #, c-format msgid "Couldn't find init scm file [%s]\n" msgstr "Não foi possível encontrar ficheiro scm de inicialização [%s]\n" #: gschem/src/gschem.c:252 #, c-format msgid "Read init scm file [%s]\n" msgstr "Lido ficheiro de inicialização scm [%s]\n" #: gschem/src/gschem.c:256 #, c-format msgid "Failed to read init scm file [%s]\n" msgstr "Falha ao ler ficheiro de inicialização scm [%s]\n" #: gschem/src/gschem_cairo.c:310 #, c-format msgid "Unknown end for line (%d)\n" msgstr "Fim desconhecido para linha (%d)\n" #: gschem/src/gschem_cairo.c:318 #, c-format msgid "Unknown type for stroke (%d) !\n" msgstr "Tipo desconhecido para gesto (%d) !\n" #: gschem/src/gschem_pango.c:289 msgid "cairo context" msgstr "" #: gschem/src/gschem_pango.c:290 msgid "the cairo context for the renderer" msgstr "" #: gschem/src/i_basic.c:77 gschem/src/x_window.c:524 #: gschem/lib/system-gschemrc.scm:1399 msgid "Select Mode" msgstr "Modo de Selecção" #: gschem/src/i_basic.c:79 msgid "Component Mode" msgstr "Modo Componente" #: gschem/src/i_basic.c:81 msgid "Text Mode" msgstr "Modo de texto" #: gschem/src/i_basic.c:84 gschem/lib/system-gschemrc.scm:1402 msgid "Copy Mode" msgstr "Modo de Cópia" #: gschem/src/i_basic.c:87 gschem/lib/system-gschemrc.scm:1404 msgid "Move Mode" msgstr "Modo de Movimentação" #: gschem/src/i_basic.c:89 msgid "Rotate Mode" msgstr "Modo de Rotação" #: gschem/src/i_basic.c:91 gschem/lib/system-gschemrc.scm:1406 msgid "Mirror Mode" msgstr "Modo simetria" #: gschem/src/i_basic.c:95 msgid "Zoom Box" msgstr "Zona de Ampliação" #: gschem/src/i_basic.c:99 msgid "Pan Mode" msgstr "Modo Centrar" #: gschem/src/i_basic.c:103 #, c-format msgid "Paste %d Mode" msgstr "Modo pegar %d" #: gschem/src/i_basic.c:109 msgid "Magnetic Net Mode" msgstr "Modo Ligação Magnética" #: gschem/src/i_basic.c:111 msgid "Net Mode" msgstr "Modo Ligação" #: gschem/src/i_basic.c:115 msgid "Bus Mode" msgstr "Modo de Barramento" #: gschem/src/i_basic.c:118 msgid "Line Mode" msgstr "Modo de Linha" #: gschem/src/i_basic.c:121 msgid "Box Mode" msgstr "Modo Rectângulo" #: gschem/src/i_basic.c:124 msgid "Picture Mode" msgstr "Modo de Imagem" #: gschem/src/i_basic.c:127 msgid "Circle Mode" msgstr "Modo de Círculo" #: gschem/src/i_basic.c:130 msgid "Arc Mode" msgstr "Modo de Arco" #: gschem/src/i_basic.c:133 msgid "Pin Mode" msgstr "Modo de Pino" #: gschem/src/i_basic.c:135 gschem/src/i_callbacks.c:529 #: gschem/src/i_callbacks.c:553 msgid "Copy" msgstr "Copiar" #: gschem/src/i_basic.c:137 gschem/src/i_callbacks.c:619 #: gschem/src/i_callbacks.c:643 msgid "Move" msgstr "Mover" #: gschem/src/i_basic.c:139 gschem/src/i_callbacks.c:574 #: gschem/src/i_callbacks.c:598 msgid "Multiple Copy" msgstr "Cópia Múltipla" #: gschem/src/i_basic.c:142 gschem/lib/system-gschemrc.scm:1403 msgid "Multiple Copy Mode" msgstr "Modo de Cópia Múltiplo" #: gschem/src/i_basic.c:168 msgid "Show Hidden" msgstr "Mostrar Escondidos" #: gschem/src/i_basic.c:171 msgid "Snap Off" msgstr "Desactivado o Ajuste à Grelha" #: gschem/src/i_basic.c:173 msgid "Resnap Active" msgstr "Reajuste a Grelha Activo" #: gschem/src/i_basic.c:254 gschem/src/x_window.c:498 msgid "Action" msgstr "Acção" #: gschem/src/i_basic.c:260 gschem/src/x_dialog.c:2325 #: gschem/src/x_window.c:493 msgid "Stroke" msgstr "Gesto" #: gschem/src/i_basic.c:266 gschem/src/x_window.c:495 msgid "none" msgstr "nenhum" #: gschem/src/i_basic.c:271 msgid "Repeat/" msgstr "Repetir/" #: gschem/src/i_basic.c:566 gschem/src/i_basic.c:580 msgid "OFF" msgstr "DESLIGADO" #: gschem/src/i_basic.c:584 msgid "NONE" msgstr "NENHUM" #: gschem/src/i_basic.c:589 #, c-format msgid "Grid(%s, %s)" msgstr "Grelha(%s, %s)" #: gschem/src/i_callbacks.c:76 gschem/src/i_callbacks.c:1659 #, c-format msgid "New page created [%s]\n" msgstr "Nova pagina criada [%s]\n" #: gschem/src/i_callbacks.c:124 #, c-format msgid "New Window created [%s]\n" msgstr "Nova Janela criada [%s]\n" #: gschem/src/i_callbacks.c:242 msgid "Failed to Save All" msgstr "Falhou a Gravar Tudo" #: gschem/src/i_callbacks.c:244 msgid "Saved All" msgstr "Tudo Gravado" #: gschem/src/i_callbacks.c:334 msgid "Closing Window\n" msgstr "A Fechar janela\n" #: gschem/src/i_callbacks.c:534 gschem/src/i_callbacks.c:579 #: gschem/src/i_callbacks.c:624 msgid "Select objs first" msgstr "Seleccione objectos primeiro" #: gschem/src/i_callbacks.c:663 gschem/src/x_multiattrib.c:1549 msgid "Delete" msgstr "Eliminar" #: gschem/src/i_callbacks.c:688 msgid "Edit" msgstr "Editar" #: gschem/src/i_callbacks.c:703 msgid "Edit pin type" msgstr "Editar tipo de pino" #: gschem/src/i_callbacks.c:722 msgid "Edit Text" msgstr "Editar Texto" #: gschem/src/i_callbacks.c:745 msgid "Slot" msgstr "Elemento" #: gschem/src/i_callbacks.c:762 msgid "Color" msgstr "Cor" #: gschem/src/i_callbacks.c:799 gschem/src/i_callbacks.c:844 msgid "Rotate" msgstr "Rodar" #: gschem/src/i_callbacks.c:866 gschem/src/i_callbacks.c:891 msgid "Mirror" msgstr "Simetria" #: gschem/src/i_callbacks.c:912 gschem/src/x_dialog.c:2328 #: gschem/lib/system-gschemrc.scm:1415 msgid "Lock" msgstr "Trancar" #: gschem/src/i_callbacks.c:930 gschem/lib/system-gschemrc.scm:1416 msgid "Unlock" msgstr "Destrancar" #: gschem/src/i_callbacks.c:948 gschem/src/x_dialog.c:1746 msgid "Translate" msgstr "Mover" #: gschem/src/i_callbacks.c:951 msgid "WARNING: Do not translate with snap off!\n" msgstr "AVISO: Não mova com ajuste à grelha desligado!\n" #: gschem/src/i_callbacks.c:952 msgid "WARNING: Turning snap on and continuing with translate.\n" msgstr "AVISO: Active ajuste à grelha e continue com a movimentação.\n" #: gschem/src/i_callbacks.c:959 msgid "WARNING: Snap grid size is not equal to 100!\n" msgstr "AVISO: O tamanha do ajuste a grelha não é igual a 100!\n" #: gschem/src/i_callbacks.c:961 msgid "" "WARNING: If you are translating a symbol to the origin, the snap grid size " "should be set to 100\n" msgstr "" "AVISO: Se está a mover um símbolo para a origem, o tamanho do ajuste a " "grelha deve ser definido para 100\n" #: gschem/src/i_callbacks.c:992 msgid "Embed" msgstr "Embutir" #: gschem/src/i_callbacks.c:1031 msgid "Unembed" msgstr "Retirar" #: gschem/src/i_callbacks.c:1073 msgid "Update" msgstr "Actualizar" #: gschem/src/i_callbacks.c:1120 msgid "ShowHidden" msgstr "Mostrar Objectos Escondidos" #: gschem/src/i_callbacks.c:1426 gschem/src/i_callbacks.c:1498 msgid "Pan" msgstr "Centrar em respeito com o cursor" #: gschem/src/i_callbacks.c:1703 msgid "Really revert page?" msgstr "Reverter pagina realmente?" #: gschem/src/i_callbacks.c:1773 msgid "Copy to clipboard" msgstr "Copiar para a área de transferência" #: gschem/src/i_callbacks.c:1791 msgid "Cut to clipboard" msgstr "Cortar para a área de transferência" #: gschem/src/i_callbacks.c:1809 msgid "Paste from clipboard" msgstr "Colar da área de transferência" #: gschem/src/i_callbacks.c:1821 gschem/src/i_callbacks.c:2060 #: gschem/src/i_callbacks.c:2082 gschem/src/i_callbacks.c:2104 #: gschem/src/i_callbacks.c:2126 gschem/src/i_callbacks.c:2148 msgid "Empty buffer" msgstr "Buffer vazio" #: gschem/src/i_callbacks.c:1866 msgid "Copy 1" msgstr "Cópia 1" #: gschem/src/i_callbacks.c:1885 msgid "Copy 2" msgstr "Cópia 2" #: gschem/src/i_callbacks.c:1904 msgid "Copy 3" msgstr "Cópia 3" #: gschem/src/i_callbacks.c:1923 msgid "Copy 4" msgstr "Cópia 4" #: gschem/src/i_callbacks.c:1942 msgid "Copy 5" msgstr "Cópia 5" #: gschem/src/i_callbacks.c:1961 msgid "Cut 1" msgstr "Cortar 1" #: gschem/src/i_callbacks.c:1980 msgid "Cut 2" msgstr "Cortar 2" #: gschem/src/i_callbacks.c:1999 msgid "Cut 3" msgstr "Cortar 3" #: gschem/src/i_callbacks.c:2018 msgid "Cut 4" msgstr "Cortar 4" #: gschem/src/i_callbacks.c:2037 msgid "Cut 5" msgstr "Cortar 5" #: gschem/src/i_callbacks.c:2053 msgid "Paste 1" msgstr "Colar 1" #: gschem/src/i_callbacks.c:2075 msgid "Paste 2" msgstr "Colar 2" #: gschem/src/i_callbacks.c:2097 msgid "Paste 3" msgstr "Colar 3" #: gschem/src/i_callbacks.c:2119 msgid "Paste 4" msgstr "Colar 4" #: gschem/src/i_callbacks.c:2141 msgid "Paste 5" msgstr "Colar 5" #: gschem/src/i_callbacks.c:2278 gschem/src/x_window.c:359 msgid "Component" msgstr "Componente" #: gschem/src/i_callbacks.c:2314 gschem/src/i_callbacks.c:2333 #: gschem/src/x_dialog.c:2298 msgid "Attribute" msgstr "Atributo" #: gschem/src/i_callbacks.c:2355 gschem/src/i_callbacks.c:2382 #: gschem/src/x_dialog.c:2295 msgid "Net" msgstr "Ligação" #: gschem/src/i_callbacks.c:2426 gschem/src/i_callbacks.c:2453 #: gschem/src/x_dialog.c:2313 gschem/src/x_window.c:379 msgid "Bus" msgstr "Barramento" #: gschem/src/i_callbacks.c:2534 gschem/src/i_callbacks.c:2557 msgid "Line" msgstr "Linha" #: gschem/src/i_callbacks.c:2579 gschem/src/i_callbacks.c:2602 msgid "Box" msgstr "Rectângulo" #: gschem/src/i_callbacks.c:2658 gschem/src/i_callbacks.c:2682 msgid "Circle" msgstr "Círculo" #: gschem/src/i_callbacks.c:2704 gschem/src/i_callbacks.c:2727 msgid "Arc" msgstr "Arco" #: gschem/src/i_callbacks.c:2749 gschem/src/i_callbacks.c:2772 #: gschem/src/x_dialog.c:2286 msgid "Pin" msgstr "Pino" #: gschem/src/i_callbacks.c:2831 #, c-format msgid "Searching for source [%s]\n" msgstr "A procura da fonte [%s]\n" #: gschem/src/i_callbacks.c:2855 #, c-format msgid "Cannot find source [%s]\n" msgstr "Não foi possível encontrar fonte [%s]\n" #: gschem/src/i_callbacks.c:2918 #, c-format msgid "Searching for symbol [%s]\n" msgstr "A procurar por símbolo [%s]\n" #: gschem/src/i_callbacks.c:2924 msgid "Symbol is not a real file. Symbol cannot be loaded.\n" msgstr "" "O símbolo não existe como ficheiro. O não é possível carregar o símbolo.\n" #: gschem/src/i_callbacks.c:2955 msgid "Cannot find any schematics above the current one!\n" msgstr "Não é possível encontrar mais esquemas acima do esquema corrente!\n" #: gschem/src/i_callbacks.c:2985 msgid "Attach" msgstr "Anexar" #: gschem/src/i_callbacks.c:3041 msgid "Detach" msgstr "Retirar" #: gschem/src/i_callbacks.c:3085 msgid "ShowN" msgstr "Mostrar Nome" #: gschem/src/i_callbacks.c:3122 msgid "ShowV" msgstr "Mostrar valor" #: gschem/src/i_callbacks.c:3159 msgid "ShowB" msgstr "Mostrar Ambos" #: gschem/src/i_callbacks.c:3197 msgid "VisToggle" msgstr "Alterar Visibilidade" #: gschem/src/i_callbacks.c:3228 #, c-format msgid "Sorry but this is a non-functioning menu option\n" msgstr "Desculpe mas esta é uma função do menu não funcional\n" #: gschem/src/i_callbacks.c:3318 msgid "Action feedback mode set to OUTLINE\n" msgstr "Acção modo de retorno definida para OUTLINE\n" #: gschem/src/i_callbacks.c:3321 msgid "Action feedback mode set to BOUNDINGBOX\n" msgstr "Acção modo de retorno definida para BOUNDINGBOX\n" #: gschem/src/i_callbacks.c:3346 msgid "Grid OFF\n" msgstr "Grelha Desligada\n" #: gschem/src/i_callbacks.c:3347 msgid "Dot grid selected\n" msgstr "Seleccionada grelha de pontos\n" #: gschem/src/i_callbacks.c:3348 msgid "Mesh grid selected\n" msgstr "Seleccionada grelha de traços\n" #: gschem/src/i_callbacks.c:3369 msgid "Snap OFF (CAUTION!)\n" msgstr "PRECAUÇÃO Ajuste a grelha DESLIGADO!\n" #: gschem/src/i_callbacks.c:3372 msgid "Snap ON\n" msgstr "Ajuste a grelha LIGADO\n" #: gschem/src/i_callbacks.c:3375 msgid "Snap back to the grid (CAUTION!)\n" msgstr "Reajuste a grelha (ATENÇÃO!)\n" #: gschem/src/i_callbacks.c:3401 msgid "Rubber band OFF \n" msgstr "Banda de borracha Desligada \n" #: gschem/src/i_callbacks.c:3404 msgid "Rubber band ON\n" msgstr "Banda de borracha Ligada\n" #: gschem/src/i_callbacks.c:3419 msgid "magnetic net mode: ON\n" msgstr "Modo de ligação magnética: Activa\n" #: gschem/src/i_callbacks.c:3422 msgid "magnetic net mode: OFF\n" msgstr "Modo de ligação magnética: Desactiva\n" #: gschem/src/o_box.c:292 #, c-format msgid "Unknown type for box (fill)!\n" msgstr "Tipo desconhecido para preenchimento de rectângulo!\n" #: gschem/src/o_buffer.c:54 #, c-format msgid "o_buffer_copy: Invalid buffer %i\n" msgstr "o_buffer_copy: Buffer inválido %i\n" #: gschem/src/o_buffer.c:69 #, c-format msgid "o_buffer_cut: Invalid buffer %i\n" msgstr "o_buffer_cut: Buffer inválido %i\n" #: gschem/src/o_buffer.c:90 #, c-format msgid "Got an invalid buffer_number [o_buffer_paste_start]\n" msgstr "Foi obtido um buffer_number [o_buffer_paste_start] inválido\n" #: gschem/src/o_bus.c:117 #, c-format msgid "Got an invalid which one in o_bus_draw_stretch\n" msgstr "Foi obtido um inválido que está em o_bus_draw_stretch\n" #: gschem/src/o_circle.c:284 #, c-format msgid "Unknown type for circle (fill)!\n" msgstr "Tipo desconhecido para preenchimento de circulo!\n" #: gschem/src/o_complex.c:223 gschem/src/o_complex.c:227 #, c-format msgid "Translating schematic [%d %d]\n" msgstr "A converter esquema [%d %d]\n" #: gschem/src/o_misc.c:61 #, c-format msgid "Got an unexpected NULL in o_edit\n" msgstr "Foi obtido um NULL inesperado em o_edit\n" #: gschem/src/o_misc.c:125 msgid "Object already locked\n" msgstr "Objecto trancado previamente\n" #: gschem/src/o_misc.c:163 msgid "Object already unlocked\n" msgstr "Objecto destrancado previamente\n" #: gschem/src/o_misc.c:339 msgid "Hidden text is now visible\n" msgstr "Texto escondido é agora visível\n" #: gschem/src/o_misc.c:341 msgid "Hidden text is now invisible\n" msgstr "Texto escondido é agora invisível\n" #: gschem/src/o_misc.c:568 #, c-format msgid "Could not find symbol [%s] in library. Update failed.\n" msgstr "" "Não foi possível encontrar símbolo [%s] na biblioteca. Actualização falhou.\n" #: gschem/src/o_misc.c:683 #, c-format msgid "o_autosave_backups: Can't get the real filename of %s." msgstr "o_autosave_backups: Não foi possível obter o verdadeiro nome de %s." #: gschem/src/o_misc.c:727 #, c-format msgid "Could NOT set previous backup file [%s] read-write\n" msgstr "" "NÃO foi possível definir o ficheiro de salvaguarda anterior [%s] como " "leitura e escrita\n" #: gschem/src/o_misc.c:747 #, c-format msgid "Could NOT set backup file [%s] readonly\n" msgstr "" "Não foi possível definir o ficheiro de salvaguarda [%s] apenas como leitura\n" #: gschem/src/o_misc.c:752 #, c-format msgid "Could NOT save backup file [%s]\n" msgstr "Não foi possível guardar ficheiro de salvaguarda [%s]\n" #: gschem/src/o_move.c:174 #, c-format msgid "ERROR: NULL object in o_move_end!\n" msgstr "ERRO: Objecto NULL em o_move_end!\n" #: gschem/src/o_move.c:431 #, c-format msgid "DOH! tried to find the whichone, but didn't find it!\n" msgstr "" "EH! Tentou-se encontrar o parâmetro whichone, mas tal não foi possível!\n" #: gschem/src/o_move.c:453 #, c-format msgid "Got a non line object in o_move_check_endpoint\n" msgstr "Foi obtido um objecto que não é linha em o_move_check_endpoint\n" #: gschem/src/o_net.c:158 #, c-format msgid "Got an invalid which one in o_net_draw_stretch\n" msgstr "Foi obtido um parâmetro whichone inválido em o_net_draw_stretch\n" #: gschem/src/o_net.c:537 msgid "Warning: Starting net at off grid coordinate\n" msgstr "Aviso: A iniciar ligação numa coordenada fora da grelha\n" #: gschem/src/o_net.c:602 msgid "Warning: Ending net at off grid coordinate\n" msgstr "Aviso: A terminar ligação numa coordenada fora da grelha\n" #: gschem/src/o_net.c:944 gschem/src/o_net.c:981 gschem/src/o_net.c:1052 #: gschem/src/o_net.c:1088 #, c-format msgid "Tried to add more than two bus rippers. Internal gschem error.\n" msgstr "" "Tentativa de adicionar mais de duas ligações ao barramento. Erro interno do " "gschem.\n" #: gschem/src/o_net.c:1156 #, c-format msgid "Bus ripper symbol [%s] was not found in any component library\n" msgstr "" "Símbolo de ligação ao barramento [%s] não foi encontrado em nenhuma " "biblioteca de componentes\n" #: gschem/src/o_path.c:340 #, c-format msgid "Unknown type for path (fill)!\n" msgstr "Tipo desconhecido para (enchimento de) caminho!\n" #: gschem/src/o_picture.c:166 #, c-format msgid "Failed to load picture: %s" msgstr "Falha ao carregar imagem: %s" #: gschem/src/o_picture.c:180 msgid "Picture" msgstr "Imagem" #: gschem/src/o_picture.c:544 #, c-format msgid "Failed to replace pictures: %s" msgstr "" #: gschem/src/o_slot.c:81 msgid "Slot attribute malformed\n" msgstr "Atribuição de elemento mal especificado\n" #: gschem/src/o_slot.c:89 msgid "numslots attribute missing\n" msgstr "numslots atributo em falta\n" #: gschem/src/o_slot.c:90 msgid "Slotting not allowed for this component\n" msgstr "Não são permitidos múltiplos elementos para este componente\n" #: gschem/src/o_slot.c:105 msgid "New slot number out of range\n" msgstr "Novo numero de elemento fora de alcance\n" #: gschem/src/o_undo.c:307 msgid "Undo/Redo disabled in rc file\n" msgstr "Desfazer/Refazer não activo no ficheiro rc\n" #: gschem/src/parsecmd.c:82 #, c-format msgid "" "Usage: %s [OPTION ...] [--] [FILE ...]\n" "\n" "Interactively edit gEDA schematics or symbols. If one or more FILEs\n" "are specified, open them for editing; otherwise, create a new, empty\n" "schematic.\n" "\n" "Options:\n" " -q, --quiet Quiet mode.\n" " -v, --verbose Verbose mode.\n" " -r, --config-file=FILE Additional configuration file to load.\n" " -L DIR Add DIR to Scheme search path.\n" " -c EXPR Scheme expression to run at startup.\n" " -s FILE Scheme script to run at startup.\n" " -o, --output=FILE Output filename (for printing).\n" " -p Automatically place the window.\n" " -V, --version Show version information.\n" " -h, --help Help; this message.\n" " -- Treat all remaining arguments as filenames.\n" "\n" "Report bugs at \n" "gEDA/gaf homepage: \n" msgstr "" #: gschem/src/parsecmd.c:116 #, c-format msgid "" "gEDA %s (g%.7s)\n" "Copyright (C) 1998-2012 gEDA developers\n" "This is free software, and you are welcome to redistribute it under\n" "certain conditions. For details, see the file `COPYING', which is\n" "included in the gEDA distribution.\n" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" #: gschem/src/x_attribedit.c:127 #, c-format msgid "Got invalid show option; defaulting to show both\n" msgstr "" "Obtida opção de visualização inválida; A alterar para visualizar ambos\n" #: gschem/src/x_attribedit.c:141 #, c-format msgid "ERROR: NULL object!\n" msgstr "ERROR: Objecto NULL!\n" #: gschem/src/x_attribedit.c:329 msgid "Single Attribute Editor" msgstr "Editor de único atributo" #: gschem/src/x_attribedit.c:359 msgid "Edit Attribute" msgstr "Editar Atributo" #: gschem/src/x_attribedit.c:361 msgid "Add Attribute" msgstr "Adicionar Atributo" #: gschem/src/x_attribedit.c:377 gschem/src/x_multiattrib.c:1973 msgid "Name:" msgstr "Nome:" #: gschem/src/x_attribedit.c:394 gschem/src/x_multiattrib.c:1992 msgid "Value:" msgstr "Valor:" #: gschem/src/x_attribedit.c:410 gschem/src/x_multiattrib.c:2038 msgid "Visible" msgstr "Visível" #: gschem/src/x_attribedit.c:430 msgid "Show Value Only" msgstr "Mostrar Valor Apenas" #: gschem/src/x_attribedit.c:432 msgid "Show Name Only" msgstr "Mostrar Nome Apenas" #: gschem/src/x_attribedit.c:434 gschem/src/x_multiattrib.c:1512 msgid "Show Name & Value" msgstr "Mostrar Nome & Valor" #: gschem/src/x_attribedit.c:441 msgid "Attach Options" msgstr "Opções de Anexação " #: gschem/src/x_attribedit.c:456 msgid "All" msgstr "Tudo" #: gschem/src/x_attribedit.c:464 gschem/src/x_compselect.c:922 #: gschem/src/x_compselect.c:1036 msgid "Components" msgstr "Componentes" #: gschem/src/x_attribedit.c:472 gschem/src/x_window.c:369 msgid "Nets" msgstr "Ligações" #: gschem/src/x_attribedit.c:480 msgid "Replace existing attributes" msgstr "Substituir atributos existentes" #: gschem/src/x_autonumber.c:415 msgid "" "slotted object without slot attribute may cause problems when autonumbering " "slots\n" msgstr "" "Objecto elementar atribuição de elemento pode causar problemas durante auto-" "numeração de elementos\n" #: gschem/src/x_autonumber.c:430 #, c-format msgid "" "duplicate slot may cause problems: [symbolname=%s, number=%d, slot=%d]\n" msgstr "" "Duplicação de elementos pode causar problemas: [symbolname=%s, number=%d, " "slot=%d]\n" #: gschem/src/x_autonumber.c:672 msgid "No searchstring given in autonumber text.\n" msgstr "Nenhuma frase de procura dada no texto de auto-numeração.\n" #: gschem/src/x_autonumber.c:724 msgid "No '*' or '?' given at the end of the autonumber text.\n" msgstr "Sem '*' ou '?' dado no fim do texto de auto-numeração.\n" #: gschem/src/x_autonumber.c:859 msgid "Diagonal" msgstr "Diagonal" #: gschem/src/x_autonumber.c:860 msgid "Top to bottom" msgstr "De cima para baixo" #: gschem/src/x_autonumber.c:860 msgid "Bottom to top" msgstr "De baixo para cima" #: gschem/src/x_autonumber.c:861 msgid "Left to right" msgstr "Da esquerda para a direita" #: gschem/src/x_autonumber.c:861 msgid "Right to left" msgstr "Da direita para a esquerda" #: gschem/src/x_autonumber.c:862 msgid "File order" msgstr "Ordem de ficheiro" #: gschem/src/x_autonumber.c:1198 msgid "Autonumber text" msgstr "Texto de auto-numeração" #: gschem/src/x_autonumber.c:1222 msgid "Scope" msgstr "Âmbito" #: gschem/src/x_autonumber.c:1244 msgid "Search for:" msgstr "Procurar por:" #: gschem/src/x_autonumber.c:1258 msgid "Autonumber text in:" msgstr "Texto de auto-numeração em:" #: gschem/src/x_autonumber.c:1265 msgid "Skip numbers found in:" msgstr "Ignorar números encontrados em:" #: gschem/src/x_autonumber.c:1277 gschem/src/x_autonumber.c:1286 msgid "Selected objects" msgstr "Objectos seleccionados" #: gschem/src/x_autonumber.c:1278 gschem/src/x_autonumber.c:1287 msgid "Current page" msgstr "Página actual" #: gschem/src/x_autonumber.c:1279 gschem/src/x_autonumber.c:1288 msgid "Whole hierarchy" msgstr "Hierarquia inteira" #: gschem/src/x_autonumber.c:1290 msgid "Overwrite existing numbers" msgstr "Reescrever números existentes" #: gschem/src/x_autonumber.c:1295 msgid "Options" msgstr "Opções" #: gschem/src/x_autonumber.c:1317 msgid "Starting number:" msgstr "Numero inicial:" #: gschem/src/x_autonumber.c:1324 msgid "Sort order:" msgstr "Ordenação:" #: gschem/src/x_autonumber.c:1345 msgid "Remove numbers" msgstr "Retirar números" #: gschem/src/x_autonumber.c:1349 msgid "Automatic slotting" msgstr "Atribuição automática" #: gschem/src/x_clipboard.c:249 #, c-format msgid "" "Invalid schematic on clipboard.\n" "\n" "An error occurred while inserting clipboard data: %s." msgstr "" #: gschem/src/x_clipboard.c:251 msgid "Clipboard insertion failed" msgstr "" #: gschem/src/x_color.c:94 gschem/src/x_color.c:103 #, c-format msgid "Could not allocate the color %s!\n" msgstr "Não foi possível atribuir a cor %s!\n" #: gschem/src/x_color.c:94 msgid "black" msgstr "preto" #: gschem/src/x_color.c:103 msgid "white" msgstr "branco" #: gschem/src/x_color.c:125 #, c-format msgid "Could not allocate display color %i!\n" msgstr "Não foi possível atribuir cor do ecran %i!\n" #: gschem/src/x_color.c:147 #, c-format msgid "Could not allocate outline color %i!\n" msgstr "Não foi possível atribuir cor do contorno %i!\n" #: gschem/src/x_color.c:164 gschem/src/x_color.c:181 gschem/src/x_color.c:197 #, c-format msgid "Tried to get an invalid color: %d\n" msgstr "Tentou obter uma cor inválida: %d\n" #: gschem/src/x_color.c:214 #, c-format msgid "Tried to get an invalid outline color: %d\n" msgstr "Tentou obter uma cor de contorno inválida: %d\n" #: gschem/src/x_compselect.c:1066 msgid "Filter:" msgstr "Filtro:" #: gschem/src/x_compselect.c:1169 gschem/src/x_dialog.c:3653 #: gschem/src/x_multiattrib.c:1839 msgid "Name" msgstr "Nome" #: gschem/src/x_compselect.c:1178 gschem/src/x_multiattrib.c:1863 msgid "Value" msgstr "Valor" #: gschem/src/x_compselect.c:1217 msgid "Default behavior - reference component" msgstr "Comportamento padrão - componente de referência" #: gschem/src/x_compselect.c:1220 msgid "Embed component in schematic" msgstr "Embutir componente no esquema" #: gschem/src/x_compselect.c:1223 msgid "Include component as individual objects" msgstr "Inclua componentes como objectos individuais" #: gschem/src/x_compselect.c:1380 msgid "Select Component..." msgstr "Seleccione Componente..." #: gschem/src/x_compselect.c:1403 msgid "In Use" msgstr "Em Uso" #: gschem/src/x_compselect.c:1407 msgid "Libraries" msgstr "Bibliotecas" #: gschem/src/x_compselect.c:1416 gschem/src/x_fileselect.c:122 msgid "Preview" msgstr "Pré-visualizar" #: gschem/src/x_compselect.c:1444 msgid "Attributes" msgstr "Atributos" #: gschem/src/x_dialog.c:176 msgid "Text Entry..." msgstr "Entrada de Texto..." #: gschem/src/x_dialog.c:207 msgid "" "Enter text, click apply,\n" "move cursor into window, click to place text.\n" "Middle button to rotate while placing." msgstr "" "Introduza texto, pressione aplicar,\n" "desloque cursor para a janela, pressione para introduzir texto.\n" "Botão do meio para rodar durante posicionamento." #: gschem/src/x_dialog.c:301 msgid "Upper Left" msgstr "Superior Esquerdo" #: gschem/src/x_dialog.c:304 msgid "Upper Middle" msgstr "Superior, ao Meio" #: gschem/src/x_dialog.c:307 msgid "Upper Right" msgstr "Superior Direito" #: gschem/src/x_dialog.c:311 msgid "Middle Left" msgstr "Centro Esquerda" #: gschem/src/x_dialog.c:314 msgid "Middle Middle" msgstr "Ao meio, no centro" #: gschem/src/x_dialog.c:317 msgid "Middle Right" msgstr "Centro Direito" #: gschem/src/x_dialog.c:321 msgid "Lower Left" msgstr "Inferior Esquerdo" #: gschem/src/x_dialog.c:324 msgid "Lower Middle" msgstr "Inferior ao Meio" #: gschem/src/x_dialog.c:327 msgid "Lower Right" msgstr "Inferior Direito" #: gschem/src/x_dialog.c:438 msgid "Edit Text Properties" msgstr "Editar Propriedades do Texto" #: gschem/src/x_dialog.c:473 msgid "Text Content" msgstr "Conteúdo do texto" #: gschem/src/x_dialog.c:509 msgid "Text Properties" msgstr "Propriedades do Texto" #: gschem/src/x_dialog.c:524 msgid "Color:" msgstr "Cor:" #: gschem/src/x_dialog.c:531 msgid "Size:" msgstr "Tamanho:" #: gschem/src/x_dialog.c:540 msgid "Alignment:" msgstr "Alinhamento:" #: gschem/src/x_dialog.c:589 msgid "Solid" msgstr "Solido" #: gschem/src/x_dialog.c:590 msgid "Dotted" msgstr "Tracejado" #: gschem/src/x_dialog.c:591 msgid "Dashed" msgstr "Tracejado" #: gschem/src/x_dialog.c:592 msgid "Center" msgstr "Centrado" #: gschem/src/x_dialog.c:593 msgid "Phantom" msgstr "Fantasma" #: gschem/src/x_dialog.c:594 gschem/src/x_dialog.c:691 #: gschem/src/x_dialog.c:700 gschem/src/x_dialog.c:709 #: gschem/src/x_dialog.c:810 gschem/src/x_dialog.c:813 #: gschem/src/x_dialog.c:816 gschem/src/x_dialog.c:1043 #: gschem/src/x_dialog.c:1146 gschem/src/x_dialog.c:1155 #: gschem/src/x_dialog.c:1164 gschem/src/x_dialog.c:1173 #: gschem/src/x_dialog.c:1182 gschem/src/x_dialog.c:1295 #: gschem/src/x_dialog.c:1298 gschem/src/x_dialog.c:1301 #: gschem/src/x_dialog.c:1304 gschem/src/x_dialog.c:1307 msgid "*unchanged*" msgstr "*inalterado*" #: gschem/src/x_dialog.c:921 msgid "Edit Line Width & Type" msgstr "Editar Largura & Tipo de Linha" #: gschem/src/x_dialog.c:960 gschem/src/x_print.c:307 msgid "Type:" msgstr "Tipo:" #: gschem/src/x_dialog.c:964 msgid "Width:" msgstr "Largura:" #: gschem/src/x_dialog.c:968 msgid "Dash Length:" msgstr "Comprimento do Traço:" #: gschem/src/x_dialog.c:972 msgid "Dash Space:" msgstr "Espaçamento do Traço:" #: gschem/src/x_dialog.c:1039 msgid "Hollow" msgstr "Oco" #: gschem/src/x_dialog.c:1040 msgid "Filled" msgstr "Preenchido" #: gschem/src/x_dialog.c:1041 msgid "Mesh" msgstr "Malha" #: gschem/src/x_dialog.c:1042 msgid "Hatch" msgstr "Escotilha" #: gschem/src/x_dialog.c:1416 msgid "Edit Fill Type" msgstr "Editar Tipo de Enchimento" #: gschem/src/x_dialog.c:1455 msgid "Fill Type:" msgstr "Tipo de Enchimento:" #: gschem/src/x_dialog.c:1459 msgid "Line Width:" msgstr "Espessura de Linha" #: gschem/src/x_dialog.c:1463 msgid "Angle 1:" msgstr "Ângulo 1:" #: gschem/src/x_dialog.c:1467 msgid "Pitch 1:" msgstr "Espaçamento 1:" #: gschem/src/x_dialog.c:1471 msgid "Angle 2:" msgstr "Ângulo 2:" #: gschem/src/x_dialog.c:1475 msgid "Pitch 2:" msgstr "Espaçamento 2:" #: gschem/src/x_dialog.c:1602 msgid "Arc Params" msgstr "Parâmetros do Arco" #: gschem/src/x_dialog.c:1643 msgid "Arc Radius:" msgstr "Raio do Arco:" #: gschem/src/x_dialog.c:1651 msgid "Start Angle:" msgstr "Ângulo Inicial:" #: gschem/src/x_dialog.c:1659 msgid "Degrees of Sweep:" msgstr "Graus de Varrimento:" #: gschem/src/x_dialog.c:1777 msgid "" "Offset to translate?\n" "(0 for origin)" msgstr "" "Valor de ajuste para deslocamento?\n" "(0 para a origem)" #: gschem/src/x_dialog.c:1845 msgid "Text Size" msgstr "Tamanho do Texto" #: gschem/src/x_dialog.c:1875 msgid "Enter new text size:" msgstr "Introduza novo tamanho do texto:" #: gschem/src/x_dialog.c:1951 msgid "Snap Size" msgstr "Tamanho da Grelha" #: gschem/src/x_dialog.c:1981 msgid "Enter new snap grid spacing:" msgstr "Introduza o novo espaçamento da grelha:" #: gschem/src/x_dialog.c:2058 msgid "Edit slot number" msgstr "Editar numero de elemento" #: gschem/src/x_dialog.c:2089 msgid "Edit slot number:" msgstr "Editar numero de elemento:" #: gschem/src/x_dialog.c:2130 #, c-format msgid "%s (g%.7s)" msgstr "" #: gschem/src/x_dialog.c:2151 msgid "About gschem" msgstr "Sobre gschem" #: gschem/src/x_dialog.c:2152 msgid "gEDA: GPL Electronic Design Automation" msgstr "" #. TRANSLATORS: "ChangeLog" is a literal filename; please don't translate it. #: gschem/src/x_dialog.c:2155 msgid "" "Copyright © 1998-2012 Ales Hvezda \n" "Copyright © 1998-2012 gEDA Contributors (see ChangeLog for details)" msgstr "" #: gschem/src/x_dialog.c:2214 msgid "Coords" msgstr "Coordenadas" #: gschem/src/x_dialog.c:2235 msgid "Screen" msgstr "Ecrã" #: gschem/src/x_dialog.c:2244 msgid "World" msgstr "Mundo" #: gschem/src/x_dialog.c:2283 msgid "Background" msgstr "Plano de fundo" #: gschem/src/x_dialog.c:2289 msgid "Net endpoint" msgstr "Destino da ligação" #: gschem/src/x_dialog.c:2292 msgid "Graphic" msgstr "Gráficos" #: gschem/src/x_dialog.c:2301 msgid "Logic bubble" msgstr "Negação lógica" #: gschem/src/x_dialog.c:2304 msgid "Grid point" msgstr "Ponto da grelha" #: gschem/src/x_dialog.c:2307 msgid "Detached attribute" msgstr "Atributo Removido" #: gschem/src/x_dialog.c:2310 gschem/src/x_window.c:387 msgid "Text" msgstr "Texto" #: gschem/src/x_dialog.c:2316 msgid "Selection" msgstr "Selecção" #: gschem/src/x_dialog.c:2319 msgid "Bounding box" msgstr "Caixa de contorno" #: gschem/src/x_dialog.c:2322 msgid "Zoom box" msgstr "Zona de ampliação" #: gschem/src/x_dialog.c:2331 msgid "Output background" msgstr "Imagem de fundo de saída" #: gschem/src/x_dialog.c:2334 msgid "Net junction" msgstr "Junção da ligação" #: gschem/src/x_dialog.c:2337 msgid "Mesh grid major" msgstr "Grelha de malha maior" #: gschem/src/x_dialog.c:2340 msgid "Mesh grid minor" msgstr "Grelha de malha menor" #: gschem/src/x_dialog.c:2343 msgid "Unknown" msgstr "Desconhecido" #: gschem/src/x_dialog.c:2494 #, c-format msgid "ERROR: NULL object in color_edit_dialog_apply!\n" msgstr "ERRO: Objecto NULL em color_edit_dialog_apply!\n" #: gschem/src/x_dialog.c:2538 msgid "Color Edit" msgstr "Editar Cor" #: gschem/src/x_dialog.c:2569 msgid "Object color:" msgstr "Cor do Objecto:" #: gschem/src/x_dialog.c:2622 msgid "Hotkeys" msgstr "Teclas de Atalho" #: gschem/src/x_dialog.c:2662 msgid "Function" msgstr "Função" #: gschem/src/x_dialog.c:2669 msgid "Keystroke(s)" msgstr "Premir de tecla(s)" #: gschem/src/x_dialog.c:2977 msgid "Find Text" msgstr "Procurar Texto" #: gschem/src/x_dialog.c:3008 msgid "Text to find:" msgstr "Texto a procurar:" #: gschem/src/x_dialog.c:3018 msgid "descend into hierarchy" msgstr "descender na hierarquia" #: gschem/src/x_dialog.c:3084 msgid "Hide Text" msgstr "Esconder Texto" #: gschem/src/x_dialog.c:3115 msgid "Hide text starting with:" msgstr "Esconder texto que comece por:" #: gschem/src/x_dialog.c:3185 msgid "Show Text" msgstr "Mostrar Texto" #: gschem/src/x_dialog.c:3216 msgid "Show text starting with:" msgstr "Mostrar texto que comece por:" #: gschem/src/x_dialog.c:3675 msgid "S_elect the schematics you want to save:" msgstr "S_eleccione os esquemas que quer gravar:" #: gschem/src/x_dialog.c:3770 #, c-format msgid "Save the changes to schematic \"%s\" before closing?" msgstr "Gravar as alterações no esquema \"%s\" antes de fechar?" #: gschem/src/x_dialog.c:3776 #, c-format msgid "" "There are %d schematics with unsaved changes. Save changes before closing?" msgstr "" "Existem %d esquemas com alterações não gravadas. Gravar alterações antes de " "fechar?" #: gschem/src/x_dialog.c:3805 msgid "If you don't save, all your changes will be permanently lost." msgstr "Se não gravar, todas as alterações serão permanentemente perdidas." #: gschem/src/x_dialog.c:3825 msgid "_Close without saving" msgstr "_Fechar sem gravar" #: gschem/src/x_dialog.c:4161 #, c-format msgid "" "The input attribute \"%s\" is invalid\n" "Please correct in order to continue\n" "\n" "The name and value must be non-empty.\n" "The name cannot end with a space.\n" "The value cannot start with a space." msgstr "" "O atributo de entrada \"%s\" é " "inválido\n" "Por favor corrija para continuar\n" "\n" "O nome e valor têm de estar preenchidos.\n" "O nome não pode terminar com um espaço.\n" "O valor não pode começar com um espaço." #: gschem/src/x_dialog.c:4163 msgid "Invalid Attribute" msgstr "Atributo Inválido" #: gschem/src/x_dialog.c:4199 msgid "Pin type" msgstr "Tipo de pino" #: gschem/src/x_dialog.c:4223 msgid "Net pin" msgstr "Pino de Ligação" #: gschem/src/x_dialog.c:4225 msgid "Bus pin (graphical)" msgstr "Pino do Barramento (gráfico)" #: gschem/src/x_fileselect.c:42 msgid "Schematics" msgstr "Esquemas" #: gschem/src/x_fileselect.c:47 msgid "Symbols" msgstr "Símbolos" #: gschem/src/x_fileselect.c:52 msgid "Schematics and symbols" msgstr "Esquemas e símbolos" #: gschem/src/x_fileselect.c:58 msgid "All files" msgstr "Todos os ficheiros" #: gschem/src/x_fileselect.c:171 msgid "Open..." msgstr "Abrir..." #: gschem/src/x_fileselect.c:231 msgid "Save as..." msgstr "Gravar como..." #: gschem/src/x_fileselect.c:284 #, c-format msgid "" "The selected file `%s' already exists.\n" "\n" "Would you like to overwrite it?" msgstr "" "O ficheiro seleccionado `%s' já existe.\n" "\n" "Pretende sobrepor a gravação?" #: gschem/src/x_fileselect.c:287 msgid "Overwrite file?" msgstr "Sobrepor a gravação?" #: gschem/src/x_fileselect.c:289 msgid "Save cancelled on user request\n" msgstr "Gravação cancelada a pedido do utilizador\n" #: gschem/src/x_image.c:176 msgid "Encapsulated Postscript" msgstr "Encapsulated Postscript" #: gschem/src/x_image.c:296 #, c-format msgid "x_image_lowlevel: Unable to write eps file %s.\n" msgstr "x_image_lowlevel: Não foi possível escrever ficheiro eps %s.\n" #: gschem/src/x_image.c:374 #, c-format msgid "x_image_lowlevel: Unable to write %s file %s.\n" msgstr "x_image_lowlevel: Não foi possível escrever %s no ficheiro %s.\n" #: gschem/src/x_image.c:384 #, c-format msgid "" "There was the following error when saving image with type %s to filename:\n" "%s\n" "\n" "%s.\n" msgstr "" "Ocorreu o seguinte erro durante a gravação da imagem com o tipo %s no " "ficheiro com nome:\n" "%s\n" "\n" "%s.\n" #: gschem/src/x_image.c:403 #, c-format msgid "Wrote color image to [%s] [%d x %d]\n" msgstr "Escreveu-se imagem a cores em [%s] [%d x %d]\n" #: gschem/src/x_image.c:405 #, c-format msgid "Wrote black and white image to [%s] [%d x %d]\n" msgstr "Escreveu-se imagem a preto e branco em [%s] [%d x %d]\n" #: gschem/src/x_image.c:413 msgid "x_image_lowlevel: Unable to get pixbuf from gschem's window.\n" msgstr "" "x_image_lowlevel: Não foi possível obter mapa de bits a partir janela do " "gschem.\n" #: gschem/src/x_image.c:458 msgid "Width x Height" msgstr "Largura x Altura" #: gschem/src/x_image.c:474 msgid "Image type" msgstr "Tipo de imagem" #: gschem/src/x_image.c:495 msgid "Write image..." msgstr "Escrever Imagem..." #: gschem/src/x_log.c:209 msgid "** Invalid UTF-8 in log message. See stderr or gschem.log.\n" msgstr "** UTF-8 inválido na mensagem de registo. Veja stderr ou gschem.log.\n" #: gschem/src/x_log.c:288 msgid "Status" msgstr "Estado" #: gschem/src/x_menus.c:37 msgid "/Add Net" msgstr "/Adicionar Ligação" #: gschem/src/x_menus.c:38 msgid "/Add Attribute..." msgstr "/Adicionar Atributo" #: gschem/src/x_menus.c:39 msgid "/Add Component..." msgstr "/Adicionar Componente..." #: gschem/src/x_menus.c:40 msgid "/Add Bus" msgstr "/Adicionar Barramento" #: gschem/src/x_menus.c:41 msgid "/Add Text" msgstr "/Adicionar Texto" #: gschem/src/x_menus.c:43 msgid "/Zoom In" msgstr "/Ampliar" #: gschem/src/x_menus.c:44 msgid "/Zoom Out" msgstr "/Diminuir" #: gschem/src/x_menus.c:45 msgid "/Zoom Box" msgstr "/Zona de Ampliação" #: gschem/src/x_menus.c:46 msgid "/Zoom Extents" msgstr "/Mostrar Tudo" #: gschem/src/x_menus.c:48 msgid "/Select" msgstr "/Selecionar" #: gschem/src/x_menus.c:49 msgid "/Edit..." msgstr "/Editar" #: gschem/src/x_menus.c:50 msgid "/Edit pin type..." msgstr "/Editar tipo de pino..." #: gschem/src/x_menus.c:51 msgid "/Copy" msgstr "/Copiar" #: gschem/src/x_menus.c:52 msgid "/Move" msgstr "/Mover" #: gschem/src/x_menus.c:53 msgid "/Delete" msgstr "/Eliminar" #: gschem/src/x_menus.c:56 msgid "/Down Schematic" msgstr "/Baixar Esquema" #: gschem/src/x_menus.c:57 msgid "/Down Symbol" msgstr "/Baixar Símbolo" #: gschem/src/x_menus.c:58 msgid "/Up" msgstr "/Acima" #: gschem/src/x_menus.c:348 #, c-format msgid "Tried to set the sensitivity on non-existent menu item '%s'\n" msgstr "Tentou-se definir a sensibilidade num menu_item não existente '%s'\n" #: gschem/src/x_menus.c:372 msgid "Popup_menu_item_factory doesn't exist!\n" msgstr "Popup_menu_item_factory não existe!\n" #: gschem/src/x_menus.c:385 msgid "Tried to set the sensitivity on a non-existent popup menu_item\n" msgstr "Tentou-se definir a sensibilidade num menu_item não existente\n" #: gschem/src/x_misc.c:74 msgid "The operating system is out of memory or resources." msgstr "" #: gschem/src/x_misc.c:155 #, c-format msgid "%s failed to launch URI" msgstr "" #: gschem/src/x_multiattrib.c:961 msgid "Attributes with empty name are not allowed. Please set a name." msgstr "" "Atributos com nome sem conteúdo não são permitidos. Por favor defina um nome." #: gschem/src/x_multiattrib.c:1514 msgid "Show Value only" msgstr "Mostrar Valor apenas" #: gschem/src/x_multiattrib.c:1516 msgid "Show Name only" msgstr "Mostrar Nome Apenas" #: gschem/src/x_multiattrib.c:1544 msgid "Promote" msgstr "Promover" #: gschem/src/x_multiattrib.c:1548 msgid "Duplicate" msgstr "Duplicar" #: gschem/src/x_multiattrib.c:1765 msgid "Edit Attributes" msgstr "Editar Atributos" #: gschem/src/x_multiattrib.c:1883 msgid "Vis?" msgstr "Visivel?" #: gschem/src/x_multiattrib.c:1901 msgid "N" msgstr "N" #: gschem/src/x_multiattrib.c:1919 msgid "V" msgstr "V" #: gschem/src/x_multiattrib.c:1941 msgid "Show inherited attributes" msgstr "Mostrar atributos inerentes" #: gschem/src/x_multiattrib.c:1957 msgid "Add Attribute" msgstr "Adicionar Atributo" #: gschem/src/x_pagesel.c:246 msgid "New Page" msgstr "Nova Página" #: gschem/src/x_pagesel.c:247 msgid "Open Page..." msgstr "Abrir Página..." #: gschem/src/x_pagesel.c:249 msgid "Save Page" msgstr "Guardar Página" #: gschem/src/x_pagesel.c:250 msgid "Close Page" msgstr "Fechar Página" #: gschem/src/x_pagesel.c:251 msgid "Discard Page" msgstr "Anular Pagina" #: gschem/src/x_pagesel.c:369 msgid "Page Manager" msgstr "Gestor de Pagina" #: gschem/src/x_pagesel.c:425 msgid "Filename" msgstr "Nome de ficheiro" #: gschem/src/x_pagesel.c:441 msgid "Changed" msgstr "Alterado" #: gschem/src/x_pagesel.c:461 msgid "Right click on the filename for more options..." msgstr "Use o botão direito sobre o nome do ficheiro para mais opções..." #: gschem/src/x_preview.c:231 msgid "Preview Buffer" msgstr "Previsualizar Buffer" #: gschem/src/x_print.c:84 msgid "Select PostScript Filename..." msgstr "Seleccione nome do ficheiro PostScript..." #: gschem/src/x_print.c:164 msgid "Extents with margins" msgstr "Completo com margens" #: gschem/src/x_print.c:170 msgid "Extents no margins" msgstr "Completo sem margens" #: gschem/src/x_print.c:176 msgid "Current Window" msgstr "Janela Actual" #: gschem/src/x_print.c:210 msgid "Landscape" msgstr "Paisagem" #: gschem/src/x_print.c:216 msgid "Portrait" msgstr "Retrato" #: gschem/src/x_print.c:276 msgid "Print..." msgstr "Imprimir..." #: gschem/src/x_print.c:284 msgid "Settings" msgstr "Preferências" #: gschem/src/x_print.c:296 msgid "Output paper size:" msgstr "Tamanho do papel de saída:" #: gschem/src/x_print.c:318 msgid "Orientation:" msgstr "Orientação:" #: gschem/src/x_print.c:330 msgid "Destination" msgstr "Destino" #: gschem/src/x_print.c:343 msgid "File:" msgstr "Ficheiro:" #: gschem/src/x_print.c:373 msgid "Command:" msgstr "Comando:" #: gschem/src/x_print.c:745 msgid "No print destination specified\n" msgstr "Não foi especificado destino de impressão\n" #: gschem/src/x_print.c:752 #, c-format msgid "Cannot print current schematic to [%s]\n" msgstr "Não é possível imprimir esquema actual em [%s]\n" #: gschem/src/x_print.c:761 #, c-format msgid "" "Error printing to file '%s'\n" "Check the log window for more information" msgstr "" "Erro durante a impressão para ficheiro '%s'\n" "Verifique a janela de registo para mais informação" #: gschem/src/x_print.c:768 #, c-format msgid "Printed current schematic to [%s]\n" msgstr "Esquema actual impresso em [%s]\n" #: gschem/src/x_rc.c:40 msgid "ERROR: An unknown error occurred while parsing configuration files.\n" msgstr "" #: gschem/src/x_rc.c:45 msgid "" "An unknown error occurred while parsing configuration files.\n" "\n" "The gschem log may contain more information." msgstr "" #: gschem/src/x_rc.c:57 #, c-format msgid "ERROR: %s\n" msgstr "" #: gschem/src/x_rc.c:60 #, c-format msgid "" "%s\n" "\n" "The gschem log may contain more information." msgstr "" #: gschem/src/x_rc.c:68 msgid "Cannot load gschem configuration." msgstr "" #: gschem/src/x_script.c:47 gschem/lib/system-gschemrc.scm:1381 msgid "Execute Script..." msgstr "Executar Script..." #: gschem/src/x_script.c:66 #, c-format msgid "Executing guile script [%s]\n" msgstr "A executar script guile [%s]\n" #: gschem/src/x_window.c:82 #, c-format msgid "Couldn't allocate gc\n" msgstr "Não foi possível reservar memoria para a variável gc\n" #: gschem/src/x_window.c:321 msgid "New" msgstr "Novo" #: gschem/src/x_window.c:322 msgid "New file" msgstr "Novo ficheiro" #: gschem/src/x_window.c:328 msgid "Open" msgstr "Abrir" #: gschem/src/x_window.c:329 msgid "Open file..." msgstr "Abrir ficheiro..." #: gschem/src/x_window.c:335 msgid "Save" msgstr "Gravar" #: gschem/src/x_window.c:336 msgid "Save file" msgstr "Gravar ficheiro" #: gschem/src/x_window.c:343 msgid "Undo" msgstr "Anular" #: gschem/src/x_window.c:344 msgid "Undo last operation" msgstr "Desfazer a ultima operação" #: gschem/src/x_window.c:350 msgid "Redo" msgstr "Repetir" #: gschem/src/x_window.c:351 msgid "Redo last undo" msgstr "Refazer a ultima anulação" #: gschem/src/x_window.c:360 msgid "" "Add component...\n" "Select library and component from list, move the mouse into main window, " "click to place\n" "Right mouse button to cancel" msgstr "" "Adicinar componente...\n" "Seleccione biblioteca e componente na lista, mova o rato para a janela " "principal, pressione para colocar\n" "Use botão direito do rato para cancelar" #: gschem/src/x_window.c:370 msgid "" "Add nets mode\n" "Right mouse button to cancel" msgstr "" "Modo de adição de ligações\n" "Use botão direito do rato para cancelar" #: gschem/src/x_window.c:380 msgid "" "Add buses mode\n" "Right mouse button to cancel" msgstr "" "Modo de adição de barramentos\n" "Use botão direito do rato para cancelar" #: gschem/src/x_window.c:388 msgid "Add Text..." msgstr "Adicionar Texto..." #: gschem/src/x_window.c:398 msgid "Select" msgstr "Seleccionar" #: gschem/src/x_window.c:399 msgid "Select mode" msgstr "Seleccionar modo" #: gschem/src/x_window.c:465 msgid "Evaluate:" msgstr "" #: gschem/src/x_window.c:484 msgid "Pick" msgstr "Escolher" #: gschem/src/x_window.c:500 msgid "Repeat/none" msgstr "Repetir/nenhum" #: gschem/src/x_window.c:510 msgid "Menu/Cancel" msgstr "Menu/Cancelar" #: gschem/src/x_window.c:512 msgid "Pan/Cancel" msgstr "Panorâmica/Cancelar" #: gschem/src/x_window.c:737 #, c-format msgid "Loading schematic [%s]\n" msgstr "A carregar esquema [%s]\n" #: gschem/src/x_window.c:748 #, c-format msgid "" "An error occurred while loading the requested file.\n" "\n" "Loading from '%s' failed: %s. The gschem log may contain more information." msgstr "" #: gschem/src/x_window.c:750 msgid "Failed to load file" msgstr "Falha ao carregar ficheiro" #: gschem/src/x_window.c:759 #, c-format msgid "New file [%s]\n" msgstr "Novo ficheiro [%s]\n" #: gschem/src/x_window.c:862 #, c-format msgid "Could NOT save page [%s]\n" msgstr "NÃO foi possível gravar pagina [%s]\n" #: gschem/src/x_window.c:863 msgid "Error while trying to save" msgstr "Erro ao tentar gravar" #: gschem/src/x_window.c:873 msgid "Failed to save file" msgstr "" #: gschem/src/x_window.c:884 #, c-format msgid "Saved as [%s]\n" msgstr "Gravado como [%s]\n" #: gschem/src/x_window.c:886 #, c-format msgid "Saved [%s]\n" msgstr "Guardado [%s]\n" #: gschem/src/x_window.c:888 msgid "Saved" msgstr "Guardado" #: gschem/src/x_window.c:962 #, c-format msgid "Discarding page [%s]\n" msgstr "A anular página [%s]\n" #: gschem/src/x_window.c:962 #, c-format msgid "Closing [%s]\n" msgstr "A Fechar [%s]\n" #: gschem/data/geda-gschem.desktop.in:3 msgid "gEDA Schematic Editor" msgstr "gEDA - Editor Esquemático" #: gschem/data/geda-gschem.desktop.in:4 msgid "Create and edit electrical schematics and symbols with gschem" msgstr "Crie e edite esquemas e símbolos eléctricos e electrónicos com gschem" #: gschem/lib/system-gschemrc.scm:1368 msgid "_New" msgstr "_Novo" #: gschem/lib/system-gschemrc.scm:1369 msgid "_Open..." msgstr "_Abrir..." #: gschem/lib/system-gschemrc.scm:1371 msgid "Open Recen_t" msgstr "Abrir Recen_te" #: gschem/lib/system-gschemrc.scm:1373 msgid "_Save" msgstr "_Guardar" #: gschem/lib/system-gschemrc.scm:1374 msgid "Save _As..." msgstr "Gu_ardar como..." #: gschem/lib/system-gschemrc.scm:1375 msgid "Save All" msgstr "Guardar Tudo" #: gschem/lib/system-gschemrc.scm:1376 gschem/lib/system-gschemrc.scm:1469 msgid "_Revert" msgstr "_Reverter" #: gschem/lib/system-gschemrc.scm:1378 msgid "_Print..." msgstr "Im_primir..." #: gschem/lib/system-gschemrc.scm:1379 msgid "Write _image..." msgstr "Escrever _imagem..." #: gschem/lib/system-gschemrc.scm:1383 msgid "New Window" msgstr "Nova Janela" #: gschem/lib/system-gschemrc.scm:1384 msgid "_Close Window" msgstr "" #: gschem/lib/system-gschemrc.scm:1385 msgid "_Quit" msgstr "_Sair" #: gschem/lib/system-gschemrc.scm:1391 msgid "_Undo" msgstr "_Desfazer" #: gschem/lib/system-gschemrc.scm:1392 msgid "_Redo" msgstr "_Refazer" #: gschem/lib/system-gschemrc.scm:1394 msgid "Cu_t" msgstr "Cor_tar" #: gschem/lib/system-gschemrc.scm:1395 msgid "_Copy" msgstr "_Copiar" #: gschem/lib/system-gschemrc.scm:1396 msgid "_Paste" msgstr "C_olar" #: gschem/lib/system-gschemrc.scm:1397 msgid "_Delete" msgstr "_Eliminar" #: gschem/lib/system-gschemrc.scm:1400 msgid "Select All" msgstr "" #: gschem/lib/system-gschemrc.scm:1401 msgid "Deselect" msgstr "" #: gschem/lib/system-gschemrc.scm:1405 msgid "Rotate 90 Mode" msgstr "Modo rotação 90" #: gschem/lib/system-gschemrc.scm:1408 msgid "Edit..." msgstr "Editar..." #: gschem/lib/system-gschemrc.scm:1409 msgid "Edit Text..." msgstr "Editar Texto..." #: gschem/lib/system-gschemrc.scm:1410 msgid "Slot..." msgstr "Elemento..." #: gschem/lib/system-gschemrc.scm:1411 msgid "Color..." msgstr "Cor..." #: gschem/lib/system-gschemrc.scm:1412 msgid "Line Width & Type..." msgstr "Espessura e Tipo de Linha" #: gschem/lib/system-gschemrc.scm:1413 msgid "Fill Type..." msgstr "Tipo de Enchimento" #: gschem/lib/system-gschemrc.scm:1414 msgid "Symbol Translate..." msgstr "Traduzir Símbolo..." #: gschem/lib/system-gschemrc.scm:1418 msgid "Invoke Macro" msgstr "Chamar Macro" #: gschem/lib/system-gschemrc.scm:1419 msgid "Embed Component/Picture" msgstr "Componente/Imagem Embutida" #: gschem/lib/system-gschemrc.scm:1420 msgid "Unembed Component/Picture" msgstr "Remover Componente/Imagem" #: gschem/lib/system-gschemrc.scm:1421 msgid "Update Component" msgstr "Actualizar Componente" #: gschem/lib/system-gschemrc.scm:1422 msgid "Show/Hide Inv Text" msgstr "Mostrar/Esconder Texto Escondido" #: gschem/lib/system-gschemrc.scm:1428 msgid "Copy into 1" msgstr "Copiar para 1" #: gschem/lib/system-gschemrc.scm:1429 msgid "Copy into 2" msgstr "Copiar para 2" #: gschem/lib/system-gschemrc.scm:1430 msgid "Copy into 3" msgstr "Copiar para 3" #: gschem/lib/system-gschemrc.scm:1431 msgid "Copy into 4" msgstr "Copiar para 4" #: gschem/lib/system-gschemrc.scm:1432 msgid "Copy into 5" msgstr "Copiar para 5" #: gschem/lib/system-gschemrc.scm:1433 msgid "Cut into 1" msgstr "Cortar para 1" #: gschem/lib/system-gschemrc.scm:1434 msgid "Cut into 2" msgstr "Cortar para 2" #: gschem/lib/system-gschemrc.scm:1435 msgid "Cut into 3" msgstr "Cortar para 3" #: gschem/lib/system-gschemrc.scm:1436 msgid "Cut into 4" msgstr "Cortar para 4" #: gschem/lib/system-gschemrc.scm:1437 msgid "Cut into 5" msgstr "Cortar para 5" #: gschem/lib/system-gschemrc.scm:1438 msgid "Paste from 1" msgstr "Colar de 1" #: gschem/lib/system-gschemrc.scm:1439 msgid "Paste from 2" msgstr "Colar de 2" #: gschem/lib/system-gschemrc.scm:1440 msgid "Paste from 3" msgstr "Colar de 3" #: gschem/lib/system-gschemrc.scm:1441 msgid "Paste from 4" msgstr "Colar de 4" #: gschem/lib/system-gschemrc.scm:1442 msgid "Paste from 5" msgstr "Colar de 5" #: gschem/lib/system-gschemrc.scm:1448 msgid "_Redraw" msgstr "Re_desenhar" #: gschem/lib/system-gschemrc.scm:1449 msgid "_Pan" msgstr "Centrar no _Cursor" #: gschem/lib/system-gschemrc.scm:1450 msgid "Zoom _Box" msgstr "Ampliar _Zona" #: gschem/lib/system-gschemrc.scm:1451 msgid "Zoom _Extents" msgstr "Mostrar _Tudo" #: gschem/lib/system-gschemrc.scm:1452 msgid "Zoom _In" msgstr "_Ampliar" #: gschem/lib/system-gschemrc.scm:1453 msgid "Zoom _Out" msgstr "_Reduzir" #: gschem/lib/system-gschemrc.scm:1454 msgid "Zoom _Full" msgstr "_Ver tudo" #: gschem/lib/system-gschemrc.scm:1456 msgid "_Dark color scheme" msgstr "Esquema _Escuro de Cor" #: gschem/lib/system-gschemrc.scm:1457 msgid "_Light color scheme" msgstr "Esquema C_laro de Cor" #: gschem/lib/system-gschemrc.scm:1458 msgid "B_W color scheme" msgstr "" #: gschem/lib/system-gschemrc.scm:1465 msgid "_Manager..." msgstr "_Gerente..." #: gschem/lib/system-gschemrc.scm:1466 msgid "_Previous" msgstr "_Anterior" #: gschem/lib/system-gschemrc.scm:1467 msgid "_Next" msgstr "_Seguinte" #: gschem/lib/system-gschemrc.scm:1468 msgid "Ne_w" msgstr "_Novo" #: gschem/lib/system-gschemrc.scm:1470 msgid "_Close" msgstr "Fe_char" #: gschem/lib/system-gschemrc.scm:1472 msgid "_Discard" msgstr "_Desfazer" #: gschem/lib/system-gschemrc.scm:1478 msgid "_Component..." msgstr "_Componente" #: gschem/lib/system-gschemrc.scm:1479 msgid "_Net" msgstr "_Ligação" #: gschem/lib/system-gschemrc.scm:1480 msgid "B_us" msgstr "_Barramento" #: gschem/lib/system-gschemrc.scm:1481 msgid "_Attribute..." msgstr "_Atributo" #: gschem/lib/system-gschemrc.scm:1482 msgid "_Text..." msgstr "_Texto..." #: gschem/lib/system-gschemrc.scm:1484 msgid "_Line" msgstr "Li_nha" #: gschem/lib/system-gschemrc.scm:1485 msgid "_Box" msgstr "Rectân_gulo" #: gschem/lib/system-gschemrc.scm:1486 msgid "C_ircle" msgstr "Círc_ulo" #: gschem/lib/system-gschemrc.scm:1487 msgid "A_rc" msgstr "A_rco" #: gschem/lib/system-gschemrc.scm:1488 msgid "_Pin" msgstr "_Pino" #: gschem/lib/system-gschemrc.scm:1489 msgid "Pictu_re..." msgstr "_Imagem" #: gschem/lib/system-gschemrc.scm:1495 msgid "_Down Schematic" msgstr "_Descender no Esquema" #: gschem/lib/system-gschemrc.scm:1496 msgid "Down _Symbol" msgstr "Descender no _Símbolo" #: gschem/lib/system-gschemrc.scm:1497 msgid "_Up" msgstr "_Acima" #: gschem/lib/system-gschemrc.scm:1498 msgid "D_ocumentation..." msgstr "D_ocumentação..." #: gschem/lib/system-gschemrc.scm:1504 msgid "_Attach" msgstr "_Anexar" #: gschem/lib/system-gschemrc.scm:1505 msgid "_Detach" msgstr "_Retirar" #: gschem/lib/system-gschemrc.scm:1506 msgid "Show _Value" msgstr "Mostrar _Valor" #: gschem/lib/system-gschemrc.scm:1507 msgid "Show _Name" msgstr "Mostrar _Nome" #: gschem/lib/system-gschemrc.scm:1508 msgid "Show _Both" msgstr "_Mostrar Ambos" #: gschem/lib/system-gschemrc.scm:1509 msgid "_Toggle Visibility" msgstr "Al_ternar Visibilidade" #: gschem/lib/system-gschemrc.scm:1511 msgid "_Find Specific Text..." msgstr "_Procurar Texto Específico..." #: gschem/lib/system-gschemrc.scm:1512 msgid "_Hide Specific Text..." msgstr "_Esconder Texto Específico..." #: gschem/lib/system-gschemrc.scm:1513 msgid "_Show Specific Text..." msgstr "_Mostrar Texto Específico" #: gschem/lib/system-gschemrc.scm:1514 msgid "A_utonumber Text..." msgstr "Auton_umerar texto" #: gschem/lib/system-gschemrc.scm:1520 msgid "_Text Size..." msgstr "_Tamanho do Texto..." #: gschem/lib/system-gschemrc.scm:1521 msgid "Cycle _grid styles" msgstr "Alternar _Estilos de Grelha" #: gschem/lib/system-gschemrc.scm:1522 msgid "Toggle _Snap On/Off" msgstr "Ajuste a _Grelha Lig/Des" #: gschem/lib/system-gschemrc.scm:1523 msgid "Snap Grid S_pacing..." msgstr "Alterar Es_paçamento da grelha..." #: gschem/lib/system-gschemrc.scm:1524 msgid "Scale _up Grid Spacing" msgstr "_Aumentar Espaçamento da Grelha" #: gschem/lib/system-gschemrc.scm:1526 msgid "Scale _down Grid Spacing" msgstr "_Diminuir Espaçamento da Grelha" #: gschem/lib/system-gschemrc.scm:1528 msgid "Toggle _Outline/Box" msgstr "Alternar _Contorno/Rectângulo" #: gschem/lib/system-gschemrc.scm:1530 msgid "Toggle Net _Rubberband" msgstr "Alternar Conservar _Ligações" #: gschem/lib/system-gschemrc.scm:1531 msgid "Toggle _Magnetic Net" msgstr "Alternar Ligação _Magnética" #: gschem/lib/system-gschemrc.scm:1532 msgid "Show _Log Window..." msgstr "Mostrar Janela de _Registo" #: gschem/lib/system-gschemrc.scm:1534 msgid "Show _Coord Window..." msgstr "Mostrar Janela de _Coordenadas..." #: gschem/lib/system-gschemrc.scm:1542 msgid "gEDA Docu_mentation..." msgstr "_Documentação gEDA" #: gschem/lib/system-gschemrc.scm:1543 msgid "gschem _FAQ..." msgstr "gschem _Perguntas Frequentes..." #: gschem/lib/system-gschemrc.scm:1544 msgid "gEDA _Wiki..." msgstr "gEDA _Wiki..." #: gschem/lib/system-gschemrc.scm:1545 msgid "Component D_ocumentation..." msgstr "Documentação de _Componente..." #: gschem/lib/system-gschemrc.scm:1547 msgid "_Hotkeys..." msgstr "_Teclas Rápidas..." #: gschem/lib/system-gschemrc.scm:1548 msgid "_About..." msgstr "_Acerca de..." #: gschem/lib/system-gschemrc.scm:1554 msgid "_File" msgstr "_Ficheiro" #: gschem/lib/system-gschemrc.scm:1555 msgid "_Edit" msgstr "_Editar" #: gschem/lib/system-gschemrc.scm:1556 msgid "_Buffer" msgstr "_Buffer" #: gschem/lib/system-gschemrc.scm:1557 msgid "_View" msgstr "_Ver" #: gschem/lib/system-gschemrc.scm:1558 msgid "_Page" msgstr "_Página" #: gschem/lib/system-gschemrc.scm:1559 msgid "_Add" msgstr "_Adicionar" #: gschem/lib/system-gschemrc.scm:1560 msgid "Hie_rarchy" msgstr "Hie_rarquia" #: gschem/lib/system-gschemrc.scm:1561 msgid "A_ttributes" msgstr "A_tributos" #: gschem/lib/system-gschemrc.scm:1562 msgid "_Options" msgstr "_Opções" #: gschem/lib/system-gschemrc.scm:1563 msgid "_Help" msgstr "_Ajuda" #: gschem/scheme/gschem/deprecated.scm:102 #, scheme-format msgid "Invalid text alignment ~A." msgstr "" #: gschem/scheme/gschem/gschemdoc.scm:225 msgid "No documentation found" msgstr "" #: gschem/scheme/gschem/keymap.scm:38 #, scheme-format msgid "~S is not a valid key combination." msgstr "" #: gschem/scheme/gschem/keymap.scm:153 #, scheme-format msgid "~S is not a prefix key sequence." msgstr "" geda-gaf-1.8.2/gschem/po/insert-header.sin0000644000175000017500000000124012210331572015220 00000000000000# Sed script that inserts the file called HEADER before the header entry. # # At each occurrence of a line starting with "msgid ", we execute the following # commands. At the first occurrence, insert the file. At the following # occurrences, do nothing. The distinction between the first and the following # occurrences is achieved by looking at the hold space. /^msgid /{ x # Test if the hold space is empty. s/m/m/ ta # Yes it was empty. First occurrence. Read the file. r HEADER # Output the file's contents by reading the next line. But don't lose the # current line while doing this. g N bb :a # The hold space was nonempty. Following occurrences. Do nothing. x :b } geda-gaf-1.8.2/gschem/po/POTFILES.in0000664000175000017500000000307612220647257013556 00000000000000gschem/src/a_pan.c gschem/src/a_zoom.c gschem/src/g_attrib.c gschem/src/g_funcs.c gschem/src/g_hook.c gschem/src/g_keys.c gschem/src/g_rc.c gschem/src/g_register.c gschem/src/g_select.c gschem/src/g_util.c gschem/src/g_window.c gschem/src/globals.c gschem/src/gschem.c gschem/src/gschem_accel_label.c gschem/src/gschem_cairo.c gschem/src/gschem_pango.c gschem/src/i_basic.c gschem/src/i_callbacks.c gschem/src/i_vars.c gschem/src/o_arc.c gschem/src/o_attrib.c gschem/src/o_basic.c gschem/src/o_box.c gschem/src/o_buffer.c gschem/src/o_bus.c gschem/src/o_circle.c gschem/src/o_complex.c gschem/src/o_copy.c gschem/src/o_cue.c gschem/src/o_delete.c gschem/src/o_find.c gschem/src/o_grips.c gschem/src/o_line.c gschem/src/o_misc.c gschem/src/o_move.c gschem/src/o_net.c gschem/src/o_path.c gschem/src/o_picture.c gschem/src/o_pin.c gschem/src/o_select.c gschem/src/o_slot.c gschem/src/o_text.c gschem/src/o_undo.c gschem/src/parsecmd.c gschem/src/x_attribedit.c gschem/src/x_autonumber.c gschem/src/x_basic.c gschem/src/x_clipboard.c gschem/src/x_color.c gschem/src/x_compselect.c gschem/src/x_dialog.c gschem/src/x_event.c gschem/src/x_fileselect.c gschem/src/x_grid.c gschem/src/x_image.c gschem/src/x_log.c gschem/src/x_menus.c gschem/src/x_misc.c gschem/src/x_multiattrib.c gschem/src/x_pagesel.c gschem/src/x_preview.c gschem/src/x_print.c gschem/src/x_rc.c gschem/src/x_script.c gschem/src/x_stroke.c gschem/src/x_window.c gschem/data/geda-gschem.desktop.in gschem/lib/system-gschemrc.scm gschem/scheme/gschem/deprecated.scm gschem/scheme/gschem/gschemdoc.scm gschem/scheme/gschem/keymap.scm geda-gaf-1.8.2/gschem/po/bs.gmo0000664000175000017500000001361712220655645013113 00000000000000L|H I N U Y ` j o s w             $ * 0 6 < B M X c n y             2 7 < @ K d {         &-< EQ l x       & -;AIY_ekqv{       " , 6 @J [ g s            '?GN]fu     '.4 ;Ga|      #'/7 R \j~    .7?N Uajq z      ") 0;B I S]ckW[R^0Vj h`BCDEFr,}H9]Gs bTkcy13X"#$%&8tUS~ueYN;>z+ q{|_ !x@Lo?27lMa'-A<vOdm.w\:46Qg(nf5*= )IJKP /piZA_rcActionArcAttachAttributeB_usBoxBusC_ircleCircleColorColor...ComponentCopyCopy 1Copy 2Copy 3Copy 4Copy 5Copy ModeCopy into 1Copy into 2Copy into 3Copy into 4Copy into 5Copy to clipboardCu_tCut 1Cut 2Cut 3Cut 4Cut 5Cut into 1Cut into 2Cut into 3Cut into 4Cut into 5Cut to clipboardDeleteDetachDown _SymbolEditEdit TextEdit Text...Edit...Empty bufferExecute Script...Hie_rarchyLineLockMirrorMirror ModeMoveMove ModeMultiple Copy ModeNONENe_wNetNew WindowNew Window created [%s] New page created [%s] OFFOpen Recen_tPanPaste 1Paste 2Paste 3Paste 4Paste 5Paste from 1Paste from 2Paste from 3Paste from 4Paste from 5Paste from clipboardPictu_re...PinRepeat/RotateRotate 90 ModeSave AllSave _As...Searching for source [%s] Select ModeShow HiddenShowHiddenSlotSlot...StrokeText ModeTranslateUnlockUpdateWrite _image...Zoom BoxZoom _FullZoom _InZoom _Out_About..._Add_Attribute..._Box_Buffer_Close_Component..._Copy_Delete_Down Schematic_Edit_File_Help_Line_Net_New_Next_Open..._Options_Page_Paste_Pin_Previous_Print..._Quit_Redo_Redraw_Revert_Save_Text..._Undo_Up_ViewgEDA/gschem version %s%s.%s noneProject-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-01-27 14:18+0000 Last-Translator: FULL NAME Language-Team: Bosnian Language: bs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) L_ukAkcijaLukPriložiAtributSab_irnicaOkvirSabirnicaKrugKrugBojaBoja...KomponentaKopirajKopiraj 1Kopiraj 2Kopiraj 3Kopiraj 4Kopiraj 5Režim kopiranjaKopiraj u 1Kopiraj u 2Kopiraj u 3Kopiraj u 4Kopiraj u 5Kopiraj na međuspremnik_IsijeciIsijeci 1Isijeci 2Isijeci 3Isijeci 4Isijeci 5Isijeci u 1Isijeci u 2Isijeci u 3Isijeci u 4Isijeci u 5Isijeci u međuspremnikObrišiOdvojiDoljen _SimbolIzmijeniIzmijeni tekstIzmijeni tekst...Izmijeni...Isprazni baferIzvrši Skriptu...Hije_rarhijaLinijaZaključajOgledaloRežim ogledalaPremjestiRežim pomjeranjaRežim višestrukog kopiranjaNIŠTANo_vaMrežaNovi prozorNovi prozor keriran [%s] Nova strana kreirana [%s] ISKLJO_tvori ranijePanirajUmetniUmetni 2Umetni 3Umetni 4Umetni 5Umetni iz 1Umetni iz 2Umetni iz 3Umetni iz 4Umetni iz 5Umetni iz međuspremnikaSli_ka...PinPonovi/RotirajRežim rotacije 90 stepeniSnimi sveSnimi _kao...Tražim izvor [%s] Režim izabiranjaPrikaži skrivenoPrikaz skrivenih objekataSlotSlot...PotezTekstualni režimTranslacijaOtključajAžurirajPiši sl_iku...Okvir zoomaPuna _veličina_UvećajU_manji_O programu..._Dodaj_Atribut..._Kvadrat_Bafer_Zatvori_Kmponenta..._Kopiraj_Obriši_Dolje Shemu_Izmijeni_Datoteka_Pomoć_Linija_Mreža_Nova_Naredna_Otvori..._Opcije_Strana_Umetni_Pin_Prethodna_Štampaj..._Izlaz_Vrati_Reiscrtaj_Vrati_Snimi_Tekst..._Poništi_Gore_PogledgEDA/gschem verzija %s%s.%s ništageda-gaf-1.8.2/gschem/po/ml.po0000664000175000017500000014271012220655644012747 00000000000000# Malayalam translation for geda # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-01-27 14:23+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: gEDA developers \n" "Language: ml\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: gschem/src/a_zoom.c:212 msgid "Zoom too small! Cannot zoom further.\n" msgstr "" #: gschem/src/g_attrib.c:92 msgid "Object ~A is not included in the current gschem page." msgstr "" #: gschem/src/g_attrib.c:112 msgid "Invalid text name/value visibility ~A." msgstr "" #: gschem/src/g_rc.c:312 #, c-format msgid "Invalid zoomfactor [%d] passed to %s\n" msgstr "" #: gschem/src/g_rc.c:458 #, c-format msgid "Invalid size [%d] passed to text-size\n" msgstr "" #: gschem/src/g_rc.c:501 #, c-format msgid "Invalid size [%d] passed to snap-size\n" msgstr "" #: gschem/src/g_rc.c:958 #, c-format msgid "Invalid num levels [%d] passed to undo-levels\n" msgstr "" #: gschem/src/g_rc.c:1220 #, c-format msgid "Invalid size [%d] passed to bus-ripper-size\n" msgstr "" #: gschem/src/g_rc.c:1295 #, c-format msgid "Invalid dot size [%d] passed to dots-grid-dot-size\n" msgstr "" #: gschem/src/g_rc.c:1336 #, c-format msgid "Invalid pixel spacing [%d] passed to dots-grid-fixed-threshold\n" msgstr "" #: gschem/src/g_rc.c:1362 #, c-format msgid "Invalid pixel spacing [%d] passed to mesh-grid-display-threshold\n" msgstr "" #: gschem/src/g_rc.c:1387 #, c-format msgid "Invalid offset [%d] passed to add-attribute-offset\n" msgstr "" #: gschem/src/g_rc.c:1411 #, c-format msgid "Invalid number of seconds [%d] passed to auto-save-interval\n" msgstr "" #: gschem/src/g_rc.c:1435 #, c-format msgid "Invalid gain [%d] passed to mousepan-gain\n" msgstr "" #: gschem/src/g_rc.c:1458 #, c-format msgid "Invalid gain [%d] passed to keyboardpan-gain\n" msgstr "" #: gschem/src/g_rc.c:1505 #, c-format msgid "Invalid number of pixels [%d] passed to select-slack-pixels\n" msgstr "" #: gschem/src/g_rc.c:1531 #, c-format msgid "Invalid gain [%d] passed to zoom-gain\n" msgstr "" #: gschem/src/g_rc.c:1556 #, c-format msgid "Invalid number of steps [%d] scrollpan-steps\n" msgstr "" #: gschem/src/g_select.c:79 gschem/src/g_select.c:116 #: gschem/src/g_select.c:152 msgid "Object ~A is not directly included in a page." msgstr "" #: gschem/src/g_util.c:56 msgid "Could not launch URI ~S: ~A" msgstr "" #: gschem/src/g_window.c:136 msgid "Found invalid gschem window smob ~S" msgstr "" #: gschem/src/gschem.c:175 #, c-format msgid "gEDA/gschem version %s%s.%s\n" msgstr "" #: gschem/src/gschem.c:178 msgid "" "gEDA/gschem comes with ABSOLUTELY NO WARRANTY; see COPYING for more " "details.\n" msgstr "" #: gschem/src/gschem.c:180 msgid "" "This is free software, and you are welcome to redistribute it under certain\n" msgstr "" #: gschem/src/gschem.c:182 msgid "" "conditions; please see the COPYING file for more details.\n" "\n" msgstr "" #: gschem/src/gschem.c:185 #, c-format msgid "This is the MINGW32 port.\n" msgstr "" #: gschem/src/gschem.c:189 #, c-format msgid "Current locale settings: %s\n" msgstr "" #: gschem/src/gschem.c:211 msgid "" "You must set the GEDADATA environment variable!\n" "\n" "gschem cannot locate its data files. You must set the GEDADATA\n" "environment variable to point to the correct location.\n" msgstr "" #: gschem/src/gschem.c:248 #, c-format msgid "Couldn't find init scm file [%s]\n" msgstr "" #: gschem/src/gschem.c:252 #, c-format msgid "Read init scm file [%s]\n" msgstr "" #: gschem/src/gschem.c:256 #, c-format msgid "Failed to read init scm file [%s]\n" msgstr "" #: gschem/src/gschem_cairo.c:310 #, c-format msgid "Unknown end for line (%d)\n" msgstr "" #: gschem/src/gschem_cairo.c:318 #, c-format msgid "Unknown type for stroke (%d) !\n" msgstr "" #: gschem/src/gschem_pango.c:289 msgid "cairo context" msgstr "" #: gschem/src/gschem_pango.c:290 msgid "the cairo context for the renderer" msgstr "" #: gschem/src/i_basic.c:77 gschem/src/x_window.c:524 #: gschem/lib/system-gschemrc.scm:1399 msgid "Select Mode" msgstr "പ്രവര്‍ത്തന രീതി നിര്‍ണയിക്കുക" #: gschem/src/i_basic.c:79 msgid "Component Mode" msgstr "" #: gschem/src/i_basic.c:81 msgid "Text Mode" msgstr "" #: gschem/src/i_basic.c:84 gschem/lib/system-gschemrc.scm:1402 msgid "Copy Mode" msgstr "" #: gschem/src/i_basic.c:87 gschem/lib/system-gschemrc.scm:1404 msgid "Move Mode" msgstr "" #: gschem/src/i_basic.c:89 msgid "Rotate Mode" msgstr "" #: gschem/src/i_basic.c:91 gschem/lib/system-gschemrc.scm:1406 msgid "Mirror Mode" msgstr "" #: gschem/src/i_basic.c:95 msgid "Zoom Box" msgstr "വലുതാക്കി കാണിക്കുന്ന പെട്ടി" #: gschem/src/i_basic.c:99 msgid "Pan Mode" msgstr "" #: gschem/src/i_basic.c:103 #, c-format msgid "Paste %d Mode" msgstr "" #: gschem/src/i_basic.c:109 msgid "Magnetic Net Mode" msgstr "" #: gschem/src/i_basic.c:111 msgid "Net Mode" msgstr "" #: gschem/src/i_basic.c:115 msgid "Bus Mode" msgstr "" #: gschem/src/i_basic.c:118 msgid "Line Mode" msgstr "" #: gschem/src/i_basic.c:121 msgid "Box Mode" msgstr "" #: gschem/src/i_basic.c:124 msgid "Picture Mode" msgstr "" #: gschem/src/i_basic.c:127 msgid "Circle Mode" msgstr "" #: gschem/src/i_basic.c:130 msgid "Arc Mode" msgstr "" #: gschem/src/i_basic.c:133 msgid "Pin Mode" msgstr "" #: gschem/src/i_basic.c:135 gschem/src/i_callbacks.c:529 #: gschem/src/i_callbacks.c:553 msgid "Copy" msgstr "" #: gschem/src/i_basic.c:137 gschem/src/i_callbacks.c:619 #: gschem/src/i_callbacks.c:643 msgid "Move" msgstr "" #: gschem/src/i_basic.c:139 gschem/src/i_callbacks.c:574 #: gschem/src/i_callbacks.c:598 msgid "Multiple Copy" msgstr "" #: gschem/src/i_basic.c:142 gschem/lib/system-gschemrc.scm:1403 msgid "Multiple Copy Mode" msgstr "" #: gschem/src/i_basic.c:168 msgid "Show Hidden" msgstr "" #: gschem/src/i_basic.c:171 msgid "Snap Off" msgstr "" #: gschem/src/i_basic.c:173 msgid "Resnap Active" msgstr "" #: gschem/src/i_basic.c:254 gschem/src/x_window.c:498 msgid "Action" msgstr "" #: gschem/src/i_basic.c:260 gschem/src/x_dialog.c:2325 #: gschem/src/x_window.c:493 msgid "Stroke" msgstr "" #: gschem/src/i_basic.c:266 gschem/src/x_window.c:495 msgid "none" msgstr "" #: gschem/src/i_basic.c:271 msgid "Repeat/" msgstr "" #: gschem/src/i_basic.c:566 gschem/src/i_basic.c:580 msgid "OFF" msgstr "" #: gschem/src/i_basic.c:584 msgid "NONE" msgstr "" #: gschem/src/i_basic.c:589 #, c-format msgid "Grid(%s, %s)" msgstr "" #: gschem/src/i_callbacks.c:76 gschem/src/i_callbacks.c:1659 #, c-format msgid "New page created [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:124 #, c-format msgid "New Window created [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:242 msgid "Failed to Save All" msgstr "" #: gschem/src/i_callbacks.c:244 msgid "Saved All" msgstr "" #: gschem/src/i_callbacks.c:334 msgid "Closing Window\n" msgstr "" #: gschem/src/i_callbacks.c:534 gschem/src/i_callbacks.c:579 #: gschem/src/i_callbacks.c:624 msgid "Select objs first" msgstr "" #: gschem/src/i_callbacks.c:663 gschem/src/x_multiattrib.c:1549 msgid "Delete" msgstr "മായ്ക്കുക" #: gschem/src/i_callbacks.c:688 msgid "Edit" msgstr "തിരുത്തിയെഴുതുക (Edit)" #: gschem/src/i_callbacks.c:703 msgid "Edit pin type" msgstr "" #: gschem/src/i_callbacks.c:722 msgid "Edit Text" msgstr "" #: gschem/src/i_callbacks.c:745 msgid "Slot" msgstr "" #: gschem/src/i_callbacks.c:762 msgid "Color" msgstr "" #: gschem/src/i_callbacks.c:799 gschem/src/i_callbacks.c:844 msgid "Rotate" msgstr "" #: gschem/src/i_callbacks.c:866 gschem/src/i_callbacks.c:891 msgid "Mirror" msgstr "" #: gschem/src/i_callbacks.c:912 gschem/src/x_dialog.c:2328 #: gschem/lib/system-gschemrc.scm:1415 msgid "Lock" msgstr "പൂട്ടുക" #: gschem/src/i_callbacks.c:930 gschem/lib/system-gschemrc.scm:1416 msgid "Unlock" msgstr "പൂട്ടു തുറക്കുക" #: gschem/src/i_callbacks.c:948 gschem/src/x_dialog.c:1746 msgid "Translate" msgstr "" #: gschem/src/i_callbacks.c:951 msgid "WARNING: Do not translate with snap off!\n" msgstr "" #: gschem/src/i_callbacks.c:952 msgid "WARNING: Turning snap on and continuing with translate.\n" msgstr "" #: gschem/src/i_callbacks.c:959 msgid "WARNING: Snap grid size is not equal to 100!\n" msgstr "" #: gschem/src/i_callbacks.c:961 msgid "" "WARNING: If you are translating a symbol to the origin, the snap grid size " "should be set to 100\n" msgstr "" #: gschem/src/i_callbacks.c:992 msgid "Embed" msgstr "" #: gschem/src/i_callbacks.c:1031 msgid "Unembed" msgstr "" #: gschem/src/i_callbacks.c:1073 msgid "Update" msgstr "" #: gschem/src/i_callbacks.c:1120 msgid "ShowHidden" msgstr "" #: gschem/src/i_callbacks.c:1426 gschem/src/i_callbacks.c:1498 msgid "Pan" msgstr "" #: gschem/src/i_callbacks.c:1703 msgid "Really revert page?" msgstr "" #: gschem/src/i_callbacks.c:1773 msgid "Copy to clipboard" msgstr "" #: gschem/src/i_callbacks.c:1791 msgid "Cut to clipboard" msgstr "" #: gschem/src/i_callbacks.c:1809 msgid "Paste from clipboard" msgstr "" #: gschem/src/i_callbacks.c:1821 gschem/src/i_callbacks.c:2060 #: gschem/src/i_callbacks.c:2082 gschem/src/i_callbacks.c:2104 #: gschem/src/i_callbacks.c:2126 gschem/src/i_callbacks.c:2148 msgid "Empty buffer" msgstr "" #: gschem/src/i_callbacks.c:1866 msgid "Copy 1" msgstr "" #: gschem/src/i_callbacks.c:1885 msgid "Copy 2" msgstr "" #: gschem/src/i_callbacks.c:1904 msgid "Copy 3" msgstr "" #: gschem/src/i_callbacks.c:1923 msgid "Copy 4" msgstr "" #: gschem/src/i_callbacks.c:1942 msgid "Copy 5" msgstr "" #: gschem/src/i_callbacks.c:1961 msgid "Cut 1" msgstr "" #: gschem/src/i_callbacks.c:1980 msgid "Cut 2" msgstr "" #: gschem/src/i_callbacks.c:1999 msgid "Cut 3" msgstr "" #: gschem/src/i_callbacks.c:2018 msgid "Cut 4" msgstr "" #: gschem/src/i_callbacks.c:2037 msgid "Cut 5" msgstr "" #: gschem/src/i_callbacks.c:2053 msgid "Paste 1" msgstr "" #: gschem/src/i_callbacks.c:2075 msgid "Paste 2" msgstr "" #: gschem/src/i_callbacks.c:2097 msgid "Paste 3" msgstr "" #: gschem/src/i_callbacks.c:2119 msgid "Paste 4" msgstr "" #: gschem/src/i_callbacks.c:2141 msgid "Paste 5" msgstr "" #: gschem/src/i_callbacks.c:2278 gschem/src/x_window.c:359 msgid "Component" msgstr "" #: gschem/src/i_callbacks.c:2314 gschem/src/i_callbacks.c:2333 #: gschem/src/x_dialog.c:2298 msgid "Attribute" msgstr "" #: gschem/src/i_callbacks.c:2355 gschem/src/i_callbacks.c:2382 #: gschem/src/x_dialog.c:2295 msgid "Net" msgstr "നെറ്റ്" #: gschem/src/i_callbacks.c:2426 gschem/src/i_callbacks.c:2453 #: gschem/src/x_dialog.c:2313 gschem/src/x_window.c:379 msgid "Bus" msgstr "ബസ്" #: gschem/src/i_callbacks.c:2534 gschem/src/i_callbacks.c:2557 msgid "Line" msgstr "രേഖ" #: gschem/src/i_callbacks.c:2579 gschem/src/i_callbacks.c:2602 msgid "Box" msgstr "ബോക്സ്" #: gschem/src/i_callbacks.c:2658 gschem/src/i_callbacks.c:2682 msgid "Circle" msgstr "വൃത്തം" #: gschem/src/i_callbacks.c:2704 gschem/src/i_callbacks.c:2727 msgid "Arc" msgstr "അര്ദ്ധവൃത്തം" #: gschem/src/i_callbacks.c:2749 gschem/src/i_callbacks.c:2772 #: gschem/src/x_dialog.c:2286 msgid "Pin" msgstr "പിന്‍" #: gschem/src/i_callbacks.c:2831 #, c-format msgid "Searching for source [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:2855 #, c-format msgid "Cannot find source [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:2918 #, c-format msgid "Searching for symbol [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:2924 msgid "Symbol is not a real file. Symbol cannot be loaded.\n" msgstr "" #: gschem/src/i_callbacks.c:2955 msgid "Cannot find any schematics above the current one!\n" msgstr "" #: gschem/src/i_callbacks.c:2985 msgid "Attach" msgstr "" #: gschem/src/i_callbacks.c:3041 msgid "Detach" msgstr "" #: gschem/src/i_callbacks.c:3085 msgid "ShowN" msgstr "" #: gschem/src/i_callbacks.c:3122 msgid "ShowV" msgstr "" #: gschem/src/i_callbacks.c:3159 msgid "ShowB" msgstr "" #: gschem/src/i_callbacks.c:3197 msgid "VisToggle" msgstr "" #: gschem/src/i_callbacks.c:3228 #, c-format msgid "Sorry but this is a non-functioning menu option\n" msgstr "" #: gschem/src/i_callbacks.c:3318 msgid "Action feedback mode set to OUTLINE\n" msgstr "" #: gschem/src/i_callbacks.c:3321 msgid "Action feedback mode set to BOUNDINGBOX\n" msgstr "" #: gschem/src/i_callbacks.c:3346 msgid "Grid OFF\n" msgstr "" #: gschem/src/i_callbacks.c:3347 msgid "Dot grid selected\n" msgstr "" #: gschem/src/i_callbacks.c:3348 msgid "Mesh grid selected\n" msgstr "" #: gschem/src/i_callbacks.c:3369 msgid "Snap OFF (CAUTION!)\n" msgstr "" #: gschem/src/i_callbacks.c:3372 msgid "Snap ON\n" msgstr "" #: gschem/src/i_callbacks.c:3375 msgid "Snap back to the grid (CAUTION!)\n" msgstr "" #: gschem/src/i_callbacks.c:3401 msgid "Rubber band OFF \n" msgstr "" #: gschem/src/i_callbacks.c:3404 msgid "Rubber band ON\n" msgstr "" #: gschem/src/i_callbacks.c:3419 msgid "magnetic net mode: ON\n" msgstr "" #: gschem/src/i_callbacks.c:3422 msgid "magnetic net mode: OFF\n" msgstr "" #: gschem/src/o_box.c:292 #, c-format msgid "Unknown type for box (fill)!\n" msgstr "" #: gschem/src/o_buffer.c:54 #, c-format msgid "o_buffer_copy: Invalid buffer %i\n" msgstr "" #: gschem/src/o_buffer.c:69 #, c-format msgid "o_buffer_cut: Invalid buffer %i\n" msgstr "" #: gschem/src/o_buffer.c:90 #, c-format msgid "Got an invalid buffer_number [o_buffer_paste_start]\n" msgstr "" #: gschem/src/o_bus.c:117 #, c-format msgid "Got an invalid which one in o_bus_draw_stretch\n" msgstr "" #: gschem/src/o_circle.c:284 #, c-format msgid "Unknown type for circle (fill)!\n" msgstr "" #: gschem/src/o_complex.c:223 gschem/src/o_complex.c:227 #, c-format msgid "Translating schematic [%d %d]\n" msgstr "" #: gschem/src/o_misc.c:61 #, c-format msgid "Got an unexpected NULL in o_edit\n" msgstr "" #: gschem/src/o_misc.c:125 msgid "Object already locked\n" msgstr "" #: gschem/src/o_misc.c:163 msgid "Object already unlocked\n" msgstr "" #: gschem/src/o_misc.c:339 msgid "Hidden text is now visible\n" msgstr "" #: gschem/src/o_misc.c:341 msgid "Hidden text is now invisible\n" msgstr "" #: gschem/src/o_misc.c:568 #, c-format msgid "Could not find symbol [%s] in library. Update failed.\n" msgstr "" #: gschem/src/o_misc.c:683 #, c-format msgid "o_autosave_backups: Can't get the real filename of %s." msgstr "" #: gschem/src/o_misc.c:727 #, c-format msgid "Could NOT set previous backup file [%s] read-write\n" msgstr "" #: gschem/src/o_misc.c:747 #, c-format msgid "Could NOT set backup file [%s] readonly\n" msgstr "" #: gschem/src/o_misc.c:752 #, c-format msgid "Could NOT save backup file [%s]\n" msgstr "" #: gschem/src/o_move.c:174 #, c-format msgid "ERROR: NULL object in o_move_end!\n" msgstr "" #: gschem/src/o_move.c:431 #, c-format msgid "DOH! tried to find the whichone, but didn't find it!\n" msgstr "" #: gschem/src/o_move.c:453 #, c-format msgid "Got a non line object in o_move_check_endpoint\n" msgstr "" #: gschem/src/o_net.c:158 #, c-format msgid "Got an invalid which one in o_net_draw_stretch\n" msgstr "" #: gschem/src/o_net.c:537 msgid "Warning: Starting net at off grid coordinate\n" msgstr "" #: gschem/src/o_net.c:602 msgid "Warning: Ending net at off grid coordinate\n" msgstr "" #: gschem/src/o_net.c:944 gschem/src/o_net.c:981 gschem/src/o_net.c:1052 #: gschem/src/o_net.c:1088 #, c-format msgid "Tried to add more than two bus rippers. Internal gschem error.\n" msgstr "" #: gschem/src/o_net.c:1156 #, c-format msgid "Bus ripper symbol [%s] was not found in any component library\n" msgstr "" #: gschem/src/o_path.c:340 #, c-format msgid "Unknown type for path (fill)!\n" msgstr "" #: gschem/src/o_picture.c:166 #, c-format msgid "Failed to load picture: %s" msgstr "" #: gschem/src/o_picture.c:180 msgid "Picture" msgstr "" #: gschem/src/o_picture.c:544 #, c-format msgid "Failed to replace pictures: %s" msgstr "" #: gschem/src/o_slot.c:81 msgid "Slot attribute malformed\n" msgstr "" #: gschem/src/o_slot.c:89 msgid "numslots attribute missing\n" msgstr "" #: gschem/src/o_slot.c:90 msgid "Slotting not allowed for this component\n" msgstr "" #: gschem/src/o_slot.c:105 msgid "New slot number out of range\n" msgstr "" #: gschem/src/o_undo.c:307 msgid "Undo/Redo disabled in rc file\n" msgstr "" #: gschem/src/parsecmd.c:82 #, c-format msgid "" "Usage: %s [OPTION ...] [--] [FILE ...]\n" "\n" "Interactively edit gEDA schematics or symbols. If one or more FILEs\n" "are specified, open them for editing; otherwise, create a new, empty\n" "schematic.\n" "\n" "Options:\n" " -q, --quiet Quiet mode.\n" " -v, --verbose Verbose mode.\n" " -r, --config-file=FILE Additional configuration file to load.\n" " -L DIR Add DIR to Scheme search path.\n" " -c EXPR Scheme expression to run at startup.\n" " -s FILE Scheme script to run at startup.\n" " -o, --output=FILE Output filename (for printing).\n" " -p Automatically place the window.\n" " -V, --version Show version information.\n" " -h, --help Help; this message.\n" " -- Treat all remaining arguments as filenames.\n" "\n" "Report bugs at \n" "gEDA/gaf homepage: \n" msgstr "" #: gschem/src/parsecmd.c:116 #, c-format msgid "" "gEDA %s (g%.7s)\n" "Copyright (C) 1998-2012 gEDA developers\n" "This is free software, and you are welcome to redistribute it under\n" "certain conditions. For details, see the file `COPYING', which is\n" "included in the gEDA distribution.\n" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" #: gschem/src/x_attribedit.c:127 #, c-format msgid "Got invalid show option; defaulting to show both\n" msgstr "" #: gschem/src/x_attribedit.c:141 #, c-format msgid "ERROR: NULL object!\n" msgstr "" #: gschem/src/x_attribedit.c:329 msgid "Single Attribute Editor" msgstr "" #: gschem/src/x_attribedit.c:359 msgid "Edit Attribute" msgstr "" #: gschem/src/x_attribedit.c:361 msgid "Add Attribute" msgstr "" #: gschem/src/x_attribedit.c:377 gschem/src/x_multiattrib.c:1973 msgid "Name:" msgstr "" #: gschem/src/x_attribedit.c:394 gschem/src/x_multiattrib.c:1992 msgid "Value:" msgstr "" #: gschem/src/x_attribedit.c:410 gschem/src/x_multiattrib.c:2038 msgid "Visible" msgstr "" #: gschem/src/x_attribedit.c:430 msgid "Show Value Only" msgstr "" #: gschem/src/x_attribedit.c:432 msgid "Show Name Only" msgstr "" #: gschem/src/x_attribedit.c:434 gschem/src/x_multiattrib.c:1512 msgid "Show Name & Value" msgstr "" #: gschem/src/x_attribedit.c:441 msgid "Attach Options" msgstr "" #: gschem/src/x_attribedit.c:456 msgid "All" msgstr "" #: gschem/src/x_attribedit.c:464 gschem/src/x_compselect.c:922 #: gschem/src/x_compselect.c:1036 msgid "Components" msgstr "" #: gschem/src/x_attribedit.c:472 gschem/src/x_window.c:369 msgid "Nets" msgstr "" #: gschem/src/x_attribedit.c:480 msgid "Replace existing attributes" msgstr "" #: gschem/src/x_autonumber.c:415 msgid "" "slotted object without slot attribute may cause problems when autonumbering " "slots\n" msgstr "" #: gschem/src/x_autonumber.c:430 #, c-format msgid "" "duplicate slot may cause problems: [symbolname=%s, number=%d, slot=%d]\n" msgstr "" #: gschem/src/x_autonumber.c:672 msgid "No searchstring given in autonumber text.\n" msgstr "" #: gschem/src/x_autonumber.c:724 msgid "No '*' or '?' given at the end of the autonumber text.\n" msgstr "" #: gschem/src/x_autonumber.c:859 msgid "Diagonal" msgstr "" #: gschem/src/x_autonumber.c:860 msgid "Top to bottom" msgstr "" #: gschem/src/x_autonumber.c:860 msgid "Bottom to top" msgstr "" #: gschem/src/x_autonumber.c:861 msgid "Left to right" msgstr "" #: gschem/src/x_autonumber.c:861 msgid "Right to left" msgstr "" #: gschem/src/x_autonumber.c:862 msgid "File order" msgstr "" #: gschem/src/x_autonumber.c:1198 msgid "Autonumber text" msgstr "" #: gschem/src/x_autonumber.c:1222 msgid "Scope" msgstr "" #: gschem/src/x_autonumber.c:1244 msgid "Search for:" msgstr "" #: gschem/src/x_autonumber.c:1258 msgid "Autonumber text in:" msgstr "" #: gschem/src/x_autonumber.c:1265 msgid "Skip numbers found in:" msgstr "" #: gschem/src/x_autonumber.c:1277 gschem/src/x_autonumber.c:1286 msgid "Selected objects" msgstr "" #: gschem/src/x_autonumber.c:1278 gschem/src/x_autonumber.c:1287 msgid "Current page" msgstr "" #: gschem/src/x_autonumber.c:1279 gschem/src/x_autonumber.c:1288 msgid "Whole hierarchy" msgstr "" #: gschem/src/x_autonumber.c:1290 msgid "Overwrite existing numbers" msgstr "" #: gschem/src/x_autonumber.c:1295 msgid "Options" msgstr "" #: gschem/src/x_autonumber.c:1317 msgid "Starting number:" msgstr "" #: gschem/src/x_autonumber.c:1324 msgid "Sort order:" msgstr "" #: gschem/src/x_autonumber.c:1345 msgid "Remove numbers" msgstr "" #: gschem/src/x_autonumber.c:1349 msgid "Automatic slotting" msgstr "" #: gschem/src/x_clipboard.c:249 #, c-format msgid "" "Invalid schematic on clipboard.\n" "\n" "An error occurred while inserting clipboard data: %s." msgstr "" #: gschem/src/x_clipboard.c:251 msgid "Clipboard insertion failed" msgstr "" #: gschem/src/x_color.c:94 gschem/src/x_color.c:103 #, c-format msgid "Could not allocate the color %s!\n" msgstr "" #: gschem/src/x_color.c:94 msgid "black" msgstr "" #: gschem/src/x_color.c:103 msgid "white" msgstr "" #: gschem/src/x_color.c:125 #, c-format msgid "Could not allocate display color %i!\n" msgstr "" #: gschem/src/x_color.c:147 #, c-format msgid "Could not allocate outline color %i!\n" msgstr "" #: gschem/src/x_color.c:164 gschem/src/x_color.c:181 gschem/src/x_color.c:197 #, c-format msgid "Tried to get an invalid color: %d\n" msgstr "" #: gschem/src/x_color.c:214 #, c-format msgid "Tried to get an invalid outline color: %d\n" msgstr "" #: gschem/src/x_compselect.c:1066 msgid "Filter:" msgstr "" #: gschem/src/x_compselect.c:1169 gschem/src/x_dialog.c:3653 #: gschem/src/x_multiattrib.c:1839 msgid "Name" msgstr "" #: gschem/src/x_compselect.c:1178 gschem/src/x_multiattrib.c:1863 msgid "Value" msgstr "" #: gschem/src/x_compselect.c:1217 msgid "Default behavior - reference component" msgstr "" #: gschem/src/x_compselect.c:1220 msgid "Embed component in schematic" msgstr "" #: gschem/src/x_compselect.c:1223 msgid "Include component as individual objects" msgstr "" #: gschem/src/x_compselect.c:1380 msgid "Select Component..." msgstr "" #: gschem/src/x_compselect.c:1403 msgid "In Use" msgstr "" #: gschem/src/x_compselect.c:1407 msgid "Libraries" msgstr "" #: gschem/src/x_compselect.c:1416 gschem/src/x_fileselect.c:122 msgid "Preview" msgstr "" #: gschem/src/x_compselect.c:1444 msgid "Attributes" msgstr "" #: gschem/src/x_dialog.c:176 msgid "Text Entry..." msgstr "" #: gschem/src/x_dialog.c:207 msgid "" "Enter text, click apply,\n" "move cursor into window, click to place text.\n" "Middle button to rotate while placing." msgstr "" #: gschem/src/x_dialog.c:301 msgid "Upper Left" msgstr "" #: gschem/src/x_dialog.c:304 msgid "Upper Middle" msgstr "" #: gschem/src/x_dialog.c:307 msgid "Upper Right" msgstr "" #: gschem/src/x_dialog.c:311 msgid "Middle Left" msgstr "" #: gschem/src/x_dialog.c:314 msgid "Middle Middle" msgstr "" #: gschem/src/x_dialog.c:317 msgid "Middle Right" msgstr "" #: gschem/src/x_dialog.c:321 msgid "Lower Left" msgstr "" #: gschem/src/x_dialog.c:324 msgid "Lower Middle" msgstr "" #: gschem/src/x_dialog.c:327 msgid "Lower Right" msgstr "" #: gschem/src/x_dialog.c:438 msgid "Edit Text Properties" msgstr "" #: gschem/src/x_dialog.c:473 msgid "Text Content" msgstr "" #: gschem/src/x_dialog.c:509 msgid "Text Properties" msgstr "" #: gschem/src/x_dialog.c:524 msgid "Color:" msgstr "" #: gschem/src/x_dialog.c:531 msgid "Size:" msgstr "" #: gschem/src/x_dialog.c:540 msgid "Alignment:" msgstr "" #: gschem/src/x_dialog.c:589 msgid "Solid" msgstr "" #: gschem/src/x_dialog.c:590 msgid "Dotted" msgstr "" #: gschem/src/x_dialog.c:591 msgid "Dashed" msgstr "" #: gschem/src/x_dialog.c:592 msgid "Center" msgstr "" #: gschem/src/x_dialog.c:593 msgid "Phantom" msgstr "" #: gschem/src/x_dialog.c:594 gschem/src/x_dialog.c:691 #: gschem/src/x_dialog.c:700 gschem/src/x_dialog.c:709 #: gschem/src/x_dialog.c:810 gschem/src/x_dialog.c:813 #: gschem/src/x_dialog.c:816 gschem/src/x_dialog.c:1043 #: gschem/src/x_dialog.c:1146 gschem/src/x_dialog.c:1155 #: gschem/src/x_dialog.c:1164 gschem/src/x_dialog.c:1173 #: gschem/src/x_dialog.c:1182 gschem/src/x_dialog.c:1295 #: gschem/src/x_dialog.c:1298 gschem/src/x_dialog.c:1301 #: gschem/src/x_dialog.c:1304 gschem/src/x_dialog.c:1307 msgid "*unchanged*" msgstr "" #: gschem/src/x_dialog.c:921 msgid "Edit Line Width & Type" msgstr "" #: gschem/src/x_dialog.c:960 gschem/src/x_print.c:307 msgid "Type:" msgstr "" #: gschem/src/x_dialog.c:964 msgid "Width:" msgstr "" #: gschem/src/x_dialog.c:968 msgid "Dash Length:" msgstr "" #: gschem/src/x_dialog.c:972 msgid "Dash Space:" msgstr "" #: gschem/src/x_dialog.c:1039 msgid "Hollow" msgstr "" #: gschem/src/x_dialog.c:1040 msgid "Filled" msgstr "" #: gschem/src/x_dialog.c:1041 msgid "Mesh" msgstr "" #: gschem/src/x_dialog.c:1042 msgid "Hatch" msgstr "" #: gschem/src/x_dialog.c:1416 msgid "Edit Fill Type" msgstr "" #: gschem/src/x_dialog.c:1455 msgid "Fill Type:" msgstr "" #: gschem/src/x_dialog.c:1459 msgid "Line Width:" msgstr "" #: gschem/src/x_dialog.c:1463 msgid "Angle 1:" msgstr "" #: gschem/src/x_dialog.c:1467 msgid "Pitch 1:" msgstr "" #: gschem/src/x_dialog.c:1471 msgid "Angle 2:" msgstr "" #: gschem/src/x_dialog.c:1475 msgid "Pitch 2:" msgstr "" #: gschem/src/x_dialog.c:1602 msgid "Arc Params" msgstr "" #: gschem/src/x_dialog.c:1643 msgid "Arc Radius:" msgstr "" #: gschem/src/x_dialog.c:1651 msgid "Start Angle:" msgstr "" #: gschem/src/x_dialog.c:1659 msgid "Degrees of Sweep:" msgstr "" #: gschem/src/x_dialog.c:1777 msgid "" "Offset to translate?\n" "(0 for origin)" msgstr "" #: gschem/src/x_dialog.c:1845 msgid "Text Size" msgstr "" #: gschem/src/x_dialog.c:1875 msgid "Enter new text size:" msgstr "" #: gschem/src/x_dialog.c:1951 msgid "Snap Size" msgstr "" #: gschem/src/x_dialog.c:1981 msgid "Enter new snap grid spacing:" msgstr "" #: gschem/src/x_dialog.c:2058 msgid "Edit slot number" msgstr "" #: gschem/src/x_dialog.c:2089 msgid "Edit slot number:" msgstr "" #: gschem/src/x_dialog.c:2130 #, c-format msgid "%s (g%.7s)" msgstr "" #: gschem/src/x_dialog.c:2151 msgid "About gschem" msgstr "" #: gschem/src/x_dialog.c:2152 msgid "gEDA: GPL Electronic Design Automation" msgstr "" #. TRANSLATORS: "ChangeLog" is a literal filename; please don't translate it. #: gschem/src/x_dialog.c:2155 msgid "" "Copyright © 1998-2012 Ales Hvezda \n" "Copyright © 1998-2012 gEDA Contributors (see ChangeLog for details)" msgstr "" #: gschem/src/x_dialog.c:2214 msgid "Coords" msgstr "" #: gschem/src/x_dialog.c:2235 msgid "Screen" msgstr "" #: gschem/src/x_dialog.c:2244 msgid "World" msgstr "" #: gschem/src/x_dialog.c:2283 msgid "Background" msgstr "" #: gschem/src/x_dialog.c:2289 msgid "Net endpoint" msgstr "" #: gschem/src/x_dialog.c:2292 msgid "Graphic" msgstr "" #: gschem/src/x_dialog.c:2301 msgid "Logic bubble" msgstr "" #: gschem/src/x_dialog.c:2304 msgid "Grid point" msgstr "" #: gschem/src/x_dialog.c:2307 msgid "Detached attribute" msgstr "" #: gschem/src/x_dialog.c:2310 gschem/src/x_window.c:387 msgid "Text" msgstr "" #: gschem/src/x_dialog.c:2316 msgid "Selection" msgstr "" #: gschem/src/x_dialog.c:2319 msgid "Bounding box" msgstr "" #: gschem/src/x_dialog.c:2322 msgid "Zoom box" msgstr "" #: gschem/src/x_dialog.c:2331 msgid "Output background" msgstr "" #: gschem/src/x_dialog.c:2334 msgid "Net junction" msgstr "" #: gschem/src/x_dialog.c:2337 msgid "Mesh grid major" msgstr "" #: gschem/src/x_dialog.c:2340 msgid "Mesh grid minor" msgstr "" #: gschem/src/x_dialog.c:2343 msgid "Unknown" msgstr "" #: gschem/src/x_dialog.c:2494 #, c-format msgid "ERROR: NULL object in color_edit_dialog_apply!\n" msgstr "" #: gschem/src/x_dialog.c:2538 msgid "Color Edit" msgstr "" #: gschem/src/x_dialog.c:2569 msgid "Object color:" msgstr "" #: gschem/src/x_dialog.c:2622 msgid "Hotkeys" msgstr "" #: gschem/src/x_dialog.c:2662 msgid "Function" msgstr "" #: gschem/src/x_dialog.c:2669 msgid "Keystroke(s)" msgstr "" #: gschem/src/x_dialog.c:2977 msgid "Find Text" msgstr "" #: gschem/src/x_dialog.c:3008 msgid "Text to find:" msgstr "" #: gschem/src/x_dialog.c:3018 msgid "descend into hierarchy" msgstr "" #: gschem/src/x_dialog.c:3084 msgid "Hide Text" msgstr "" #: gschem/src/x_dialog.c:3115 msgid "Hide text starting with:" msgstr "" #: gschem/src/x_dialog.c:3185 msgid "Show Text" msgstr "" #: gschem/src/x_dialog.c:3216 msgid "Show text starting with:" msgstr "" #: gschem/src/x_dialog.c:3675 msgid "S_elect the schematics you want to save:" msgstr "" #: gschem/src/x_dialog.c:3770 #, c-format msgid "Save the changes to schematic \"%s\" before closing?" msgstr "" #: gschem/src/x_dialog.c:3776 #, c-format msgid "" "There are %d schematics with unsaved changes. Save changes before closing?" msgstr "" #: gschem/src/x_dialog.c:3805 msgid "If you don't save, all your changes will be permanently lost." msgstr "" #: gschem/src/x_dialog.c:3825 msgid "_Close without saving" msgstr "" #: gschem/src/x_dialog.c:4161 #, c-format msgid "" "The input attribute \"%s\" is invalid\n" "Please correct in order to continue\n" "\n" "The name and value must be non-empty.\n" "The name cannot end with a space.\n" "The value cannot start with a space." msgstr "" #: gschem/src/x_dialog.c:4163 msgid "Invalid Attribute" msgstr "" #: gschem/src/x_dialog.c:4199 msgid "Pin type" msgstr "" #: gschem/src/x_dialog.c:4223 msgid "Net pin" msgstr "" #: gschem/src/x_dialog.c:4225 msgid "Bus pin (graphical)" msgstr "" #: gschem/src/x_fileselect.c:42 msgid "Schematics" msgstr "" #: gschem/src/x_fileselect.c:47 msgid "Symbols" msgstr "" #: gschem/src/x_fileselect.c:52 msgid "Schematics and symbols" msgstr "" #: gschem/src/x_fileselect.c:58 msgid "All files" msgstr "" #: gschem/src/x_fileselect.c:171 msgid "Open..." msgstr "" #: gschem/src/x_fileselect.c:231 msgid "Save as..." msgstr "" #: gschem/src/x_fileselect.c:284 #, c-format msgid "" "The selected file `%s' already exists.\n" "\n" "Would you like to overwrite it?" msgstr "" #: gschem/src/x_fileselect.c:287 msgid "Overwrite file?" msgstr "" #: gschem/src/x_fileselect.c:289 msgid "Save cancelled on user request\n" msgstr "" #: gschem/src/x_image.c:176 msgid "Encapsulated Postscript" msgstr "" #: gschem/src/x_image.c:296 #, c-format msgid "x_image_lowlevel: Unable to write eps file %s.\n" msgstr "" #: gschem/src/x_image.c:374 #, c-format msgid "x_image_lowlevel: Unable to write %s file %s.\n" msgstr "" #: gschem/src/x_image.c:384 #, c-format msgid "" "There was the following error when saving image with type %s to filename:\n" "%s\n" "\n" "%s.\n" msgstr "" #: gschem/src/x_image.c:403 #, c-format msgid "Wrote color image to [%s] [%d x %d]\n" msgstr "" #: gschem/src/x_image.c:405 #, c-format msgid "Wrote black and white image to [%s] [%d x %d]\n" msgstr "" #: gschem/src/x_image.c:413 msgid "x_image_lowlevel: Unable to get pixbuf from gschem's window.\n" msgstr "" #: gschem/src/x_image.c:458 msgid "Width x Height" msgstr "" #: gschem/src/x_image.c:474 msgid "Image type" msgstr "" #: gschem/src/x_image.c:495 msgid "Write image..." msgstr "" #: gschem/src/x_log.c:209 msgid "** Invalid UTF-8 in log message. See stderr or gschem.log.\n" msgstr "" #: gschem/src/x_log.c:288 msgid "Status" msgstr "" #: gschem/src/x_menus.c:37 msgid "/Add Net" msgstr "" #: gschem/src/x_menus.c:38 msgid "/Add Attribute..." msgstr "" #: gschem/src/x_menus.c:39 msgid "/Add Component..." msgstr "" #: gschem/src/x_menus.c:40 msgid "/Add Bus" msgstr "" #: gschem/src/x_menus.c:41 msgid "/Add Text" msgstr "" #: gschem/src/x_menus.c:43 msgid "/Zoom In" msgstr "" #: gschem/src/x_menus.c:44 msgid "/Zoom Out" msgstr "" #: gschem/src/x_menus.c:45 msgid "/Zoom Box" msgstr "" #: gschem/src/x_menus.c:46 msgid "/Zoom Extents" msgstr "" #: gschem/src/x_menus.c:48 msgid "/Select" msgstr "" #: gschem/src/x_menus.c:49 msgid "/Edit..." msgstr "" #: gschem/src/x_menus.c:50 msgid "/Edit pin type..." msgstr "" #: gschem/src/x_menus.c:51 msgid "/Copy" msgstr "" #: gschem/src/x_menus.c:52 msgid "/Move" msgstr "" #: gschem/src/x_menus.c:53 msgid "/Delete" msgstr "" #: gschem/src/x_menus.c:56 msgid "/Down Schematic" msgstr "" #: gschem/src/x_menus.c:57 msgid "/Down Symbol" msgstr "" #: gschem/src/x_menus.c:58 msgid "/Up" msgstr "" #: gschem/src/x_menus.c:348 #, c-format msgid "Tried to set the sensitivity on non-existent menu item '%s'\n" msgstr "" #: gschem/src/x_menus.c:372 msgid "Popup_menu_item_factory doesn't exist!\n" msgstr "" #: gschem/src/x_menus.c:385 msgid "Tried to set the sensitivity on a non-existent popup menu_item\n" msgstr "" #: gschem/src/x_misc.c:74 msgid "The operating system is out of memory or resources." msgstr "" #: gschem/src/x_misc.c:155 #, c-format msgid "%s failed to launch URI" msgstr "" #: gschem/src/x_multiattrib.c:961 msgid "Attributes with empty name are not allowed. Please set a name." msgstr "" #: gschem/src/x_multiattrib.c:1514 msgid "Show Value only" msgstr "" #: gschem/src/x_multiattrib.c:1516 msgid "Show Name only" msgstr "" #: gschem/src/x_multiattrib.c:1544 msgid "Promote" msgstr "" #: gschem/src/x_multiattrib.c:1548 msgid "Duplicate" msgstr "" #: gschem/src/x_multiattrib.c:1765 msgid "Edit Attributes" msgstr "" #: gschem/src/x_multiattrib.c:1883 msgid "Vis?" msgstr "" #: gschem/src/x_multiattrib.c:1901 msgid "N" msgstr "" #: gschem/src/x_multiattrib.c:1919 msgid "V" msgstr "" #: gschem/src/x_multiattrib.c:1941 msgid "Show inherited attributes" msgstr "" #: gschem/src/x_multiattrib.c:1957 msgid "Add Attribute" msgstr "" #: gschem/src/x_pagesel.c:246 msgid "New Page" msgstr "പുതിയ പേജ്" #: gschem/src/x_pagesel.c:247 msgid "Open Page..." msgstr "പേജ് തുറക്കുക" #: gschem/src/x_pagesel.c:249 msgid "Save Page" msgstr "പേജ് സേവ് ചെയുക" #: gschem/src/x_pagesel.c:250 msgid "Close Page" msgstr "പേജ് അടയ്ക്കുക" #: gschem/src/x_pagesel.c:251 msgid "Discard Page" msgstr "" #: gschem/src/x_pagesel.c:369 msgid "Page Manager" msgstr "" #: gschem/src/x_pagesel.c:425 msgid "Filename" msgstr "" #: gschem/src/x_pagesel.c:441 msgid "Changed" msgstr "" #: gschem/src/x_pagesel.c:461 msgid "Right click on the filename for more options..." msgstr "" #: gschem/src/x_preview.c:231 msgid "Preview Buffer" msgstr "" #: gschem/src/x_print.c:84 msgid "Select PostScript Filename..." msgstr "" #: gschem/src/x_print.c:164 msgid "Extents with margins" msgstr "" #: gschem/src/x_print.c:170 msgid "Extents no margins" msgstr "" #: gschem/src/x_print.c:176 msgid "Current Window" msgstr "" #: gschem/src/x_print.c:210 msgid "Landscape" msgstr "" #: gschem/src/x_print.c:216 msgid "Portrait" msgstr "" #: gschem/src/x_print.c:276 msgid "Print..." msgstr "പ്രിന്‍റ് ചെയ്യുക..." #: gschem/src/x_print.c:284 msgid "Settings" msgstr "" #: gschem/src/x_print.c:296 msgid "Output paper size:" msgstr "" #: gschem/src/x_print.c:318 msgid "Orientation:" msgstr "" #: gschem/src/x_print.c:330 msgid "Destination" msgstr "" #: gschem/src/x_print.c:343 msgid "File:" msgstr "" #: gschem/src/x_print.c:373 msgid "Command:" msgstr "" #: gschem/src/x_print.c:745 msgid "No print destination specified\n" msgstr "" #: gschem/src/x_print.c:752 #, c-format msgid "Cannot print current schematic to [%s]\n" msgstr "" #: gschem/src/x_print.c:761 #, c-format msgid "" "Error printing to file '%s'\n" "Check the log window for more information" msgstr "" #: gschem/src/x_print.c:768 #, c-format msgid "Printed current schematic to [%s]\n" msgstr "" #: gschem/src/x_rc.c:40 msgid "ERROR: An unknown error occurred while parsing configuration files.\n" msgstr "" #: gschem/src/x_rc.c:45 msgid "" "An unknown error occurred while parsing configuration files.\n" "\n" "The gschem log may contain more information." msgstr "" #: gschem/src/x_rc.c:57 #, c-format msgid "ERROR: %s\n" msgstr "" #: gschem/src/x_rc.c:60 #, c-format msgid "" "%s\n" "\n" "The gschem log may contain more information." msgstr "" #: gschem/src/x_rc.c:68 msgid "Cannot load gschem configuration." msgstr "" #: gschem/src/x_script.c:47 gschem/lib/system-gschemrc.scm:1381 msgid "Execute Script..." msgstr "സ്ക്രിപ്റ്റ് പ്രവര്‍ത്തിപ്പിക്കുക" #: gschem/src/x_script.c:66 #, c-format msgid "Executing guile script [%s]\n" msgstr "" #: gschem/src/x_window.c:82 #, c-format msgid "Couldn't allocate gc\n" msgstr "" #: gschem/src/x_window.c:321 msgid "New" msgstr "പുതിയ" #: gschem/src/x_window.c:322 msgid "New file" msgstr "" #: gschem/src/x_window.c:328 msgid "Open" msgstr "" #: gschem/src/x_window.c:329 msgid "Open file..." msgstr "" #: gschem/src/x_window.c:335 msgid "Save" msgstr "" #: gschem/src/x_window.c:336 msgid "Save file" msgstr "" #: gschem/src/x_window.c:343 msgid "Undo" msgstr "തിരിച്ച് ചെയ്യുക" #: gschem/src/x_window.c:344 msgid "Undo last operation" msgstr "" #: gschem/src/x_window.c:350 msgid "Redo" msgstr "ആവര്‍ത്തിക്കുക" #: gschem/src/x_window.c:351 msgid "Redo last undo" msgstr "" #: gschem/src/x_window.c:360 msgid "" "Add component...\n" "Select library and component from list, move the mouse into main window, " "click to place\n" "Right mouse button to cancel" msgstr "" #: gschem/src/x_window.c:370 msgid "" "Add nets mode\n" "Right mouse button to cancel" msgstr "" #: gschem/src/x_window.c:380 msgid "" "Add buses mode\n" "Right mouse button to cancel" msgstr "" #: gschem/src/x_window.c:388 msgid "Add Text..." msgstr "" #: gschem/src/x_window.c:398 msgid "Select" msgstr "" #: gschem/src/x_window.c:399 msgid "Select mode" msgstr "" #: gschem/src/x_window.c:465 msgid "Evaluate:" msgstr "" #: gschem/src/x_window.c:484 msgid "Pick" msgstr "" #: gschem/src/x_window.c:500 msgid "Repeat/none" msgstr "" #: gschem/src/x_window.c:510 msgid "Menu/Cancel" msgstr "" #: gschem/src/x_window.c:512 msgid "Pan/Cancel" msgstr "" #: gschem/src/x_window.c:737 #, c-format msgid "Loading schematic [%s]\n" msgstr "" #: gschem/src/x_window.c:748 #, c-format msgid "" "An error occurred while loading the requested file.\n" "\n" "Loading from '%s' failed: %s. The gschem log may contain more information." msgstr "" #: gschem/src/x_window.c:750 msgid "Failed to load file" msgstr "" #: gschem/src/x_window.c:759 #, c-format msgid "New file [%s]\n" msgstr "" #: gschem/src/x_window.c:862 #, c-format msgid "Could NOT save page [%s]\n" msgstr "" #: gschem/src/x_window.c:863 msgid "Error while trying to save" msgstr "" #: gschem/src/x_window.c:873 msgid "Failed to save file" msgstr "" #: gschem/src/x_window.c:884 #, c-format msgid "Saved as [%s]\n" msgstr "" #: gschem/src/x_window.c:886 #, c-format msgid "Saved [%s]\n" msgstr "" #: gschem/src/x_window.c:888 msgid "Saved" msgstr "" #: gschem/src/x_window.c:962 #, c-format msgid "Discarding page [%s]\n" msgstr "" #: gschem/src/x_window.c:962 #, c-format msgid "Closing [%s]\n" msgstr "" #: gschem/data/geda-gschem.desktop.in:3 msgid "gEDA Schematic Editor" msgstr "" #: gschem/data/geda-gschem.desktop.in:4 msgid "Create and edit electrical schematics and symbols with gschem" msgstr "" #: gschem/lib/system-gschemrc.scm:1368 msgid "_New" msgstr "" #: gschem/lib/system-gschemrc.scm:1369 msgid "_Open..." msgstr "" #: gschem/lib/system-gschemrc.scm:1371 msgid "Open Recen_t" msgstr "" #: gschem/lib/system-gschemrc.scm:1373 msgid "_Save" msgstr "" #: gschem/lib/system-gschemrc.scm:1374 msgid "Save _As..." msgstr "" #: gschem/lib/system-gschemrc.scm:1375 msgid "Save All" msgstr "എല്ലാം സേവ് ചെയുക" #: gschem/lib/system-gschemrc.scm:1376 gschem/lib/system-gschemrc.scm:1469 msgid "_Revert" msgstr "" #: gschem/lib/system-gschemrc.scm:1378 msgid "_Print..." msgstr "" #: gschem/lib/system-gschemrc.scm:1379 msgid "Write _image..." msgstr "" #: gschem/lib/system-gschemrc.scm:1383 msgid "New Window" msgstr "പുതിയ ജാലകം" #: gschem/lib/system-gschemrc.scm:1384 msgid "_Close Window" msgstr "" #: gschem/lib/system-gschemrc.scm:1385 msgid "_Quit" msgstr "" #: gschem/lib/system-gschemrc.scm:1391 msgid "_Undo" msgstr "" #: gschem/lib/system-gschemrc.scm:1392 msgid "_Redo" msgstr "" #: gschem/lib/system-gschemrc.scm:1394 msgid "Cu_t" msgstr "" #: gschem/lib/system-gschemrc.scm:1395 msgid "_Copy" msgstr "" #: gschem/lib/system-gschemrc.scm:1396 msgid "_Paste" msgstr "" #: gschem/lib/system-gschemrc.scm:1397 msgid "_Delete" msgstr "" #: gschem/lib/system-gschemrc.scm:1400 msgid "Select All" msgstr "" #: gschem/lib/system-gschemrc.scm:1401 msgid "Deselect" msgstr "" #: gschem/lib/system-gschemrc.scm:1405 msgid "Rotate 90 Mode" msgstr "" #: gschem/lib/system-gschemrc.scm:1408 msgid "Edit..." msgstr "മാറ്റം വരുത്തുക..." #: gschem/lib/system-gschemrc.scm:1409 msgid "Edit Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1410 msgid "Slot..." msgstr "" #: gschem/lib/system-gschemrc.scm:1411 msgid "Color..." msgstr "കളര്‍" #: gschem/lib/system-gschemrc.scm:1412 msgid "Line Width & Type..." msgstr "ലൈന്‍ വീതിയും , തരവും" #: gschem/lib/system-gschemrc.scm:1413 msgid "Fill Type..." msgstr "" #: gschem/lib/system-gschemrc.scm:1414 msgid "Symbol Translate..." msgstr "സിംബല്‍ വിവര്‍ത്തനം" #: gschem/lib/system-gschemrc.scm:1418 msgid "Invoke Macro" msgstr "" #: gschem/lib/system-gschemrc.scm:1419 msgid "Embed Component/Picture" msgstr "പടം/സാധനം ഉള്ളടക്കം ചെയുക" #: gschem/lib/system-gschemrc.scm:1420 msgid "Unembed Component/Picture" msgstr "പടം/സാധനം ഉള്ളടക്കം വേണ്ടയെന്നു വെയ്ക്കുക" #: gschem/lib/system-gschemrc.scm:1421 msgid "Update Component" msgstr "സാധനത്തിലെ മാറ്റങ്ങള്‍ നടപ്പില്‍ വരുത്തുക" #: gschem/lib/system-gschemrc.scm:1422 msgid "Show/Hide Inv Text" msgstr "" #: gschem/lib/system-gschemrc.scm:1428 msgid "Copy into 1" msgstr "പകര്‍ത്തുക 1ലേക്ക്" #: gschem/lib/system-gschemrc.scm:1429 msgid "Copy into 2" msgstr "പകര്‍ത്തുക 2ലേക്ക്" #: gschem/lib/system-gschemrc.scm:1430 msgid "Copy into 3" msgstr "പകര്‍ത്തുക 3ലേക്ക്" #: gschem/lib/system-gschemrc.scm:1431 msgid "Copy into 4" msgstr "പകര്‍ത്തുക 4ലേക്ക്" #: gschem/lib/system-gschemrc.scm:1432 msgid "Copy into 5" msgstr "പകര്‍ത്തുക 5ലേക്ക്" #: gschem/lib/system-gschemrc.scm:1433 msgid "Cut into 1" msgstr "കട്ട് ചെയുക 1 ലേക്ക്" #: gschem/lib/system-gschemrc.scm:1434 msgid "Cut into 2" msgstr "കട്ട് ചെയുക 2 ലേക്ക്" #: gschem/lib/system-gschemrc.scm:1435 msgid "Cut into 3" msgstr "കട്ട് ചെയുക 3 ലേക്ക്" #: gschem/lib/system-gschemrc.scm:1436 msgid "Cut into 4" msgstr "കട്ട് ചെയുക 4 ലേക്ക്" #: gschem/lib/system-gschemrc.scm:1437 msgid "Cut into 5" msgstr "കട്ട് ചെയുക 5 ലേക്ക്" #: gschem/lib/system-gschemrc.scm:1438 msgid "Paste from 1" msgstr "പകര്‍ത്തി എടുക്കുക 1 ല്‍ നിന്നും" #: gschem/lib/system-gschemrc.scm:1439 msgid "Paste from 2" msgstr "പകര്‍ത്തി എടുക്കുക 2 ല്‍ നിന്നും" #: gschem/lib/system-gschemrc.scm:1440 msgid "Paste from 3" msgstr "പകര്‍ത്തി എടുക്കുക 3ല്‍ നിന്നും" #: gschem/lib/system-gschemrc.scm:1441 msgid "Paste from 4" msgstr "പകര്‍ത്തി എടുക്കുക 4ല്‍ നിന്നും" #: gschem/lib/system-gschemrc.scm:1442 msgid "Paste from 5" msgstr "പകര്‍ത്തി എടുക്കുക 5 ല്‍ നിന്നും" #: gschem/lib/system-gschemrc.scm:1448 msgid "_Redraw" msgstr "" #: gschem/lib/system-gschemrc.scm:1449 msgid "_Pan" msgstr "" #: gschem/lib/system-gschemrc.scm:1450 msgid "Zoom _Box" msgstr "" #: gschem/lib/system-gschemrc.scm:1451 msgid "Zoom _Extents" msgstr "" #: gschem/lib/system-gschemrc.scm:1452 msgid "Zoom _In" msgstr "" #: gschem/lib/system-gschemrc.scm:1453 msgid "Zoom _Out" msgstr "" #: gschem/lib/system-gschemrc.scm:1454 msgid "Zoom _Full" msgstr "" #: gschem/lib/system-gschemrc.scm:1456 msgid "_Dark color scheme" msgstr "" #: gschem/lib/system-gschemrc.scm:1457 msgid "_Light color scheme" msgstr "" #: gschem/lib/system-gschemrc.scm:1458 msgid "B_W color scheme" msgstr "" #: gschem/lib/system-gschemrc.scm:1465 msgid "_Manager..." msgstr "" #: gschem/lib/system-gschemrc.scm:1466 msgid "_Previous" msgstr "" #: gschem/lib/system-gschemrc.scm:1467 msgid "_Next" msgstr "" #: gschem/lib/system-gschemrc.scm:1468 msgid "Ne_w" msgstr "" #: gschem/lib/system-gschemrc.scm:1470 msgid "_Close" msgstr "" #: gschem/lib/system-gschemrc.scm:1472 msgid "_Discard" msgstr "" #: gschem/lib/system-gschemrc.scm:1478 msgid "_Component..." msgstr "" #: gschem/lib/system-gschemrc.scm:1479 msgid "_Net" msgstr "" #: gschem/lib/system-gschemrc.scm:1480 msgid "B_us" msgstr "" #: gschem/lib/system-gschemrc.scm:1481 msgid "_Attribute..." msgstr "" #: gschem/lib/system-gschemrc.scm:1482 msgid "_Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1484 msgid "_Line" msgstr "" #: gschem/lib/system-gschemrc.scm:1485 msgid "_Box" msgstr "" #: gschem/lib/system-gschemrc.scm:1486 msgid "C_ircle" msgstr "" #: gschem/lib/system-gschemrc.scm:1487 msgid "A_rc" msgstr "" #: gschem/lib/system-gschemrc.scm:1488 msgid "_Pin" msgstr "" #: gschem/lib/system-gschemrc.scm:1489 msgid "Pictu_re..." msgstr "" #: gschem/lib/system-gschemrc.scm:1495 msgid "_Down Schematic" msgstr "" #: gschem/lib/system-gschemrc.scm:1496 msgid "Down _Symbol" msgstr "" #: gschem/lib/system-gschemrc.scm:1497 msgid "_Up" msgstr "" #: gschem/lib/system-gschemrc.scm:1498 msgid "D_ocumentation..." msgstr "" #: gschem/lib/system-gschemrc.scm:1504 msgid "_Attach" msgstr "" #: gschem/lib/system-gschemrc.scm:1505 msgid "_Detach" msgstr "" #: gschem/lib/system-gschemrc.scm:1506 msgid "Show _Value" msgstr "" #: gschem/lib/system-gschemrc.scm:1507 msgid "Show _Name" msgstr "" #: gschem/lib/system-gschemrc.scm:1508 msgid "Show _Both" msgstr "" #: gschem/lib/system-gschemrc.scm:1509 msgid "_Toggle Visibility" msgstr "" #: gschem/lib/system-gschemrc.scm:1511 msgid "_Find Specific Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1512 msgid "_Hide Specific Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1513 msgid "_Show Specific Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1514 msgid "A_utonumber Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1520 msgid "_Text Size..." msgstr "" #: gschem/lib/system-gschemrc.scm:1521 msgid "Cycle _grid styles" msgstr "" #: gschem/lib/system-gschemrc.scm:1522 msgid "Toggle _Snap On/Off" msgstr "" #: gschem/lib/system-gschemrc.scm:1523 msgid "Snap Grid S_pacing..." msgstr "" #: gschem/lib/system-gschemrc.scm:1524 msgid "Scale _up Grid Spacing" msgstr "" #: gschem/lib/system-gschemrc.scm:1526 msgid "Scale _down Grid Spacing" msgstr "" #: gschem/lib/system-gschemrc.scm:1528 msgid "Toggle _Outline/Box" msgstr "" #: gschem/lib/system-gschemrc.scm:1530 msgid "Toggle Net _Rubberband" msgstr "" #: gschem/lib/system-gschemrc.scm:1531 msgid "Toggle _Magnetic Net" msgstr "" #: gschem/lib/system-gschemrc.scm:1532 msgid "Show _Log Window..." msgstr "" #: gschem/lib/system-gschemrc.scm:1534 msgid "Show _Coord Window..." msgstr "" #: gschem/lib/system-gschemrc.scm:1542 msgid "gEDA Docu_mentation..." msgstr "" #: gschem/lib/system-gschemrc.scm:1543 msgid "gschem _FAQ..." msgstr "" #: gschem/lib/system-gschemrc.scm:1544 msgid "gEDA _Wiki..." msgstr "" #: gschem/lib/system-gschemrc.scm:1545 msgid "Component D_ocumentation..." msgstr "" #: gschem/lib/system-gschemrc.scm:1547 msgid "_Hotkeys..." msgstr "" #: gschem/lib/system-gschemrc.scm:1548 msgid "_About..." msgstr "" #: gschem/lib/system-gschemrc.scm:1554 msgid "_File" msgstr "ഫയല്‍" #: gschem/lib/system-gschemrc.scm:1555 msgid "_Edit" msgstr "തിരുത്തിയെഴുതുക (_Edit)" #: gschem/lib/system-gschemrc.scm:1556 msgid "_Buffer" msgstr "ബഫര്‍" #: gschem/lib/system-gschemrc.scm:1557 msgid "_View" msgstr "വീക്ഷണം" #: gschem/lib/system-gschemrc.scm:1558 msgid "_Page" msgstr "താള്" #: gschem/lib/system-gschemrc.scm:1559 msgid "_Add" msgstr "കൂട്ടിച്ചേര്‍ക്കുക" #: gschem/lib/system-gschemrc.scm:1560 msgid "Hie_rarchy" msgstr "" #: gschem/lib/system-gschemrc.scm:1561 msgid "A_ttributes" msgstr "" #: gschem/lib/system-gschemrc.scm:1562 msgid "_Options" msgstr "" #: gschem/lib/system-gschemrc.scm:1563 msgid "_Help" msgstr "" #: gschem/scheme/gschem/deprecated.scm:102 #, scheme-format msgid "Invalid text alignment ~A." msgstr "" #: gschem/scheme/gschem/gschemdoc.scm:225 msgid "No documentation found" msgstr "" #: gschem/scheme/gschem/keymap.scm:38 #, scheme-format msgid "~S is not a valid key combination." msgstr "" #: gschem/scheme/gschem/keymap.scm:153 #, scheme-format msgid "~S is not a prefix key sequence." msgstr "" geda-gaf-1.8.2/gschem/po/Rules-quot0000644000175000017500000000337612210331571013771 00000000000000# Special Makefile rules for English message catalogs with quotation marks. DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot .SUFFIXES: .insert-header .po-update-en en@quot.po-create: $(MAKE) en@quot.po-update en@boldquot.po-create: $(MAKE) en@boldquot.po-update en@quot.po-update: en@quot.po-update-en en@boldquot.po-update: en@boldquot.po-update-en .insert-header.po-update-en: @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \ if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \ tmpdir=`pwd`; \ echo "$$lang:"; \ ll=`echo $$lang | sed -e 's/@.*//'`; \ LC_ALL=C; export LC_ALL; \ cd $(srcdir); \ if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$ll -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ exit 1; \ fi; \ fi; \ else \ echo "creation of $$lang.po failed!" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ fi en@quot.insert-header: insert-header.sin sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header en@boldquot.insert-header: insert-header.sin sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header mostlyclean: mostlyclean-quot mostlyclean-quot: rm -f *.insert-header geda-gaf-1.8.2/gschem/po/pl.gmo0000664000175000017500000011100012220655645013103 00000000000000%Dl"-0- ..;5. q.}.... .... .../ // / /-/ 6/@/U///]0f0 u00001 11 11(1$1 2 !2+-2Y2*2 33 3j#33333 3 33 3 3>34/4C4 H4 S4 a4n4r4{444244!4'4&5-555 <5H5 c5n5 ~55 5555 555 5556 6666 %6 /6 ;6 G6 S6 _6k6}6 67(873a7%7%7!768:8V8!l8=8888 8 9999"9 (9 39 >9 I9 T9_9p99 9 99&9999 9 ::$: -:::P:c: j: w: :D:/:";$;9;>;N;]; t;~; ; ;;;;; ;;<3<mH<E<<=)=F=Y=n==="== === > >> > (>#2>V>/_>4>!>1>? ? *? 5?B?H?f? ?? ???=? ?@'@7@3I@-}@*@&@.@<,A<iA-A3A?BAHB,B&B&B&C%,C RC _C lC vC CC CC CCC C C C D D D*D/D?DOD cD oD }DD DD D DDDDDDDDD D D EEE E(EAEJEYE7pEE*EEEF 'F-5F5cFF F F FF FFFFG *G7G;G DG OG]GeGmGuG}G G G G G GGGG GG G H HHH'(HPHYHaH"jHHHHHHHH HH/I EISIZI iIuII(III I I II J2JLJ RJ \JhJwJJ JJJ JJJKK -K9K WKcKuK KK KKKK KKK K L L 4L ?LKLeL~LL LLLLLLLLM M M5M>M GMQM0WM M MMMMM4M NN N $N .N 8N3FNGzNJNR OL`OOOOOP P *P"4P*WP?P<PPQ QQ=QEQ_QgQQ QQQQQ R R R$R&R,R3R 8RBR-JR+xR-RRRRRRS.S$LSqST "T ,T :TET NTXT&aT TTT TTTTT TTTTUUU'U-U3UJUPU gUsUU UUUUUUUUUU U UUUUUVV V-V6VIVOVSVYV _V;mVVVV VMVIW&fWWWWWW6W!#X EX"fXX=X.X/X,Y7Z [*&[gQ[ [[[[[ \\%\,\>\O\ c\ n\x\ \\\ \ \\\v]]i] ^ ^+^A^^^)_ /_9_ S_ __8j_/_ __8_)`:`aaaJ,a wa aa aaaaaa@a b7b Pb\bab sb }bb bbb6b%b(c3Ec yc cccccccc cd d dd&d@dPdYdhd od {d d d dd d d d d dd e4e*eHeG7f(f1ffLf&Eg3lg0gEghh%/hUh hh th h h h h h h h hhh ii-i@i/Giwiiiiiiiiiijj*j 3jS?j7j*jj kk'k?k Rk_k|kk kkkkkk*l ;l\lGl@m`mrmmm3m!n&%n8Ln"nnn nnnnn o5oGoJOoQo/oWp tp~p pp p$p!p q! q /q;q@qGSq q q1qqLqEFrBr>rGsNVsKs:sF,tTstVtBu<bu<u2uAv Qv _vjvrv vv v vvvvvv ww /w Pw\wcwrwww wwwwwwxx+x-x2x8x?x ExRxcxvx xx x xx xxx>y)Fy py yyyy(y.z@zHzWzrz zz zz!zzz {{0{F{ a{ k{ u{ { { { { { { {{{{ {{ || |!|<|&W|~|| |%||%|!| }} 8} E} O}]}Gz}}}} }8}86~*o~~~ ~~~*~ 1IRo~ 3?R"c ƀ Ҁ ݀ 0@V lzƁف%# A L Zhy)3 $Af} * ̓ڃ6 W_e |7FD'BlN5$4 Y#zʆ+ӆ4>45sNӇ"3OX-x)Ј )=Q S ] hr8-ɉ0(: S`gx/*ϋދ  C"fv }  ʌ֌ތ #+1CJby ʍ֍ ލ   (4<V is [%=S jux& 2A^zJ'% 2Q:X74ˑoM ==#d>L +V'.eS:XoZ$#{b7897pc[ $@rm r 0-k2wN)5|v\s*H u(`%(!$134J{y5l] %>!xAvUWK,|}~ [s P/z_`abcpOn; ,?uxy?LVEq_P&Z%S2<FY^QG H - QDRC ;BN)68O&FM\ .iq~fR3!tl:4kz'"EB^ j<YA#6IdWj/UK@G 1maX0T}gefghi"T9wI J+nDt]"*Ch%s The gschem log may contain more information.%s (g%.7s)%s failed to launch URI** Invalid UTF-8 in log message. See stderr or gschem.log. *unchanged*/Add Attribute.../Add Bus/Add Component.../Add Net/Add Text/Copy/Delete/Down Schematic/Down Symbol/Edit pin type.../Edit.../Move/Select/Up/Zoom Box/Zoom Extents/Zoom In/Zoom OutAdd AttributeAn error occurred while loading the requested file. Loading from '%s' failed: %s. The gschem log may contain more information.Attach OptionsEdit AttributeInvalid schematic on clipboard. An error occurred while inserting clipboard data: %s.OptionsScopeText ContentText PropertiesThe input attribute "%s" is invalid Please correct in order to continue The name and value must be non-empty. The name cannot end with a space. The value cannot start with a space.A_rcA_ttributesA_utonumber Text...About gschemActionAction feedback mode set to BOUNDINGBOX Action feedback mode set to OUTLINE Add AttributeAdd Text...Add buses mode Right mouse button to cancelAdd component... Select library and component from list, move the mouse into main window, click to place Right mouse button to cancelAdd nets mode Right mouse button to cancelAlignment:AllAll filesAn unknown error occurred while parsing configuration files. The gschem log may contain more information.Angle 1:Angle 2:ArcArc ModeArc ParamsArc Radius:AttachAttributeAttributesAttributes with empty name are not allowed. Please set a name.Autonumber textAutonumber text in:B_usBackgroundBottom to topBounding boxBoxBox ModeBusBus ModeC_ircleCannot find any schematics above the current one! Cannot find source [%s] Cannot load gschem configuration.Cannot print current schematic to [%s] CenterChangedCircleCircle ModeClipboard insertion failedClose PageClosing Window Closing [%s] ColorColor EditColor...Color:Command:ComponentComponent D_ocumentation...Component ModeComponentsCoordsCopyCopy 1Copy 2Copy 3Copy 4Copy 5Copy ModeCopy into 1Copy into 2Copy into 3Copy into 4Copy into 5Copy to clipboardCopyright © 1998-2012 Ales Hvezda Copyright © 1998-2012 gEDA Contributors (see ChangeLog for details)Could NOT save backup file [%s] Could NOT save page [%s] Could NOT set backup file [%s] readonly Could NOT set previous backup file [%s] read-write Could not allocate display color %i! Could not allocate outline color %i! Could not allocate the color %s! Could not find symbol [%s] in library. Update failed. Could not launch URI ~S: ~ACouldn't allocate gc Couldn't find init scm file [%s] Create and edit electrical schematics and symbols with gschemCu_tCurrent WindowCurrent locale settings: %s Current pageCut 1Cut 2Cut 3Cut 4Cut 5Cut into 1Cut into 2Cut into 3Cut into 4Cut into 5Cut to clipboardCycle _grid stylesD_ocumentation...Dash Length:Dash Space:DashedDefault behavior - reference componentDegrees of Sweep:DeleteDeselectDestinationDetachDetached attributeDiagonalDiscard PageDiscarding page [%s] Dot grid selected DottedDown _SymbolDuplicateERROR: %s ERROR: An unknown error occurred while parsing configuration files. ERROR: NULL object in color_edit_dialog_apply! ERROR: NULL object in o_move_end! ERROR: NULL object! EditEdit AttributesEdit Fill TypeEdit Line Width & TypeEdit TextEdit Text PropertiesEdit Text...Edit pin typeEdit...EmbedEmbed Component/PictureEmbed component in schematicEmpty bufferEncapsulated PostscriptEnter new snap grid spacing:Enter new text size:Enter text, click apply, move cursor into window, click to place text. Middle button to rotate while placing.Error printing to file '%s' Check the log window for more informationError while trying to saveExecute Script...Executing guile script [%s] Extents no marginsExtents with marginsFailed to Save AllFailed to load fileFailed to load picture: %sFailed to read init scm file [%s] Failed to save fileFile orderFile:FilenameFill Type...Fill Type:FilledFilter:Find TextFound invalid gschem window smob ~SFunctionGot a non line object in o_move_check_endpoint Got an invalid buffer_number [o_buffer_paste_start] Got an unexpected NULL in o_edit Got invalid show option; defaulting to show both GraphicGrid OFF Grid pointGrid(%s, %s)HatchHidden text is now invisible Hidden text is now visible Hide TextHide text starting with:Hie_rarchyHollowHotkeysIf you don't save, all your changes will be permanently lost.Image typeIn UseInclude component as individual objectsInvalid AttributeInvalid dot size [%d] passed to dots-grid-dot-size Invalid gain [%d] passed to keyboardpan-gain Invalid gain [%d] passed to mousepan-gain Invalid gain [%d] passed to zoom-gain Invalid num levels [%d] passed to undo-levels Invalid number of pixels [%d] passed to select-slack-pixels Invalid number of seconds [%d] passed to auto-save-interval Invalid number of steps [%d] scrollpan-steps Invalid offset [%d] passed to add-attribute-offset Invalid pixel spacing [%d] passed to dots-grid-fixed-threshold Invalid pixel spacing [%d] passed to mesh-grid-display-threshold Invalid size [%d] passed to bus-ripper-size Invalid size [%d] passed to snap-size Invalid size [%d] passed to text-size Invalid text name/value visibility ~A.Invalid zoomfactor [%d] passed to %s Invoke MacroKeystroke(s)LandscapeLeft to rightLibrariesLineLine ModeLine Width & Type...Line Width:Loading schematic [%s] LockLogic bubbleLower LeftLower MiddleLower RightMagnetic Net ModeMenu/CancelMeshMesh grid majorMesh grid minorMesh grid selected Middle LeftMiddle MiddleMiddle RightMirrorMirror ModeMoveMove ModeMultiple CopyMultiple Copy ModeNNONENameName:Ne_wNetNet ModeNet endpointNet junctionNetsNewNew PageNew WindowNew Window created [%s] New fileNew file [%s] New page created [%s] No '*' or '?' given at the end of the autonumber text. No print destination specified No searchstring given in autonumber text. OFFObject already locked Object already unlocked Object color:Object ~A is not directly included in a page.Object ~A is not included in the current gschem page.OpenOpen Page...Open Recen_tOpen file...Open...Orientation:Output backgroundOutput paper size:Overwrite existing numbersOverwrite file?Page ManagerPanPan ModePan/CancelPaste %d ModePaste 1Paste 2Paste 3Paste 4Paste 5Paste from 1Paste from 2Paste from 3Paste from 4Paste from 5Paste from clipboardPhantomPickPictu_re...PicturePicture ModePinPin ModePitch 1:Pitch 2:Popup_menu_item_factory doesn't exist! PortraitPreviewPrint...Printed current schematic to [%s] PromoteRead init scm file [%s] Really revert page?RedoRedo last undoRemove numbersRepeat/Repeat/noneReplace existing attributesRight click on the filename for more options...Right to leftRotateRotate 90 ModeRotate ModeRubber band OFF Rubber band ON S_elect the schematics you want to save:SaveSave AllSave PageSave _As...Save as...Save cancelled on user request Save fileSave the changes to schematic "%s" before closing?SavedSaved AllSaved [%s] Saved as [%s] Scale _down Grid SpacingScale _up Grid SpacingSchematicsSchematics and symbolsScreenSearch for:Searching for source [%s] Searching for symbol [%s] SelectSelect Component...Select ModeSelect PostScript Filename...Select modeSelect objs firstSelected objectsSelectionSettingsShow HiddenShow Name & ValueShow Name OnlyShow Name onlyShow TextShow Value OnlyShow Value onlyShow _BothShow _Coord Window...Show _Log Window...Show _NameShow _ValueShow inherited attributesShow text starting with:Show/Hide Inv TextShowBShowHiddenShowNShowVSingle Attribute EditorSize:Skip numbers found in:SlotSlot attribute malformed Slot...Snap Grid S_pacing...Snap OFF (CAUTION!) Snap ON Snap OffSnap SizeSolidSorry but this is a non-functioning menu option Sort order:Start Angle:Starting number:StatusStrokeSymbol Translate...Symbol is not a real file. Symbol cannot be loaded. SymbolsTextText Entry...Text ModeText SizeText to find:The operating system is out of memory or resources.The selected file `%s' already exists. Would you like to overwrite it?There are %d schematics with unsaved changes. Save changes before closing?There was the following error when saving image with type %s to filename: %s %s. This is free software, and you are welcome to redistribute it under certain This is the MINGW32 port. Toggle Net _RubberbandToggle _Magnetic NetToggle _Outline/BoxToggle _Snap On/OffTop to bottomTranslateTried to get an invalid color: %d Tried to get an invalid outline color: %d Tried to set the sensitivity on a non-existent popup menu_item Tried to set the sensitivity on non-existent menu item '%s' Type:UndoUndo last operationUndo/Redo disabled in rc file UnembedUnembed Component/PictureUnknownUnknown end for line (%d) Unknown type for box (fill)! Unknown type for circle (fill)! Unknown type for stroke (%d) ! UnlockUpdateUpdate ComponentUpper LeftUpper MiddleUpper RightVValueValue:Vis?VisToggleVisibleWARNING: Snap grid size is not equal to 100! Warning: Ending net at off grid coordinate Warning: Starting net at off grid coordinate Whole hierarchyWidth x HeightWidth:WorldWrite _image...Write image...Wrote black and white image to [%s] [%d x %d] Wrote color image to [%s] [%d x %d] You must set the GEDADATA environment variable! gschem cannot locate its data files. You must set the GEDADATA environment variable to point to the correct location. Zoom BoxZoom _BoxZoom _ExtentsZoom _FullZoom _InZoom _OutZoom boxZoom too small! Cannot zoom further. _About..._Add_Attach_Attribute..._Box_Buffer_Close_Close without saving_Component..._Copy_Dark color scheme_Delete_Detach_Discard_Down Schematic_Edit_File_Find Specific Text..._Help_Hide Specific Text..._Hotkeys..._Light color scheme_Line_Manager..._Net_New_Next_Open..._Options_Page_Pan_Paste_Pin_Previous_Print..._Quit_Redo_Redraw_Revert_Save_Show Specific Text..._Text Size..._Text..._Toggle Visibility_Undo_Up_Viewblackcairo contextconditions; please see the COPYING file for more details. descend into hierarchygEDA Docu_mentation...gEDA Schematic EditorgEDA _Wiki...gEDA/gschem comes with ABSOLUTELY NO WARRANTY; see COPYING for more details. gEDA/gschem version %s%s.%s gEDA: GPL Electronic Design Automationgschem _FAQ...magnetic net mode: OFF magnetic net mode: ON nonenumslots attribute missing o_autosave_backups: Can't get the real filename of %s.o_buffer_copy: Invalid buffer %i o_buffer_cut: Invalid buffer %i the cairo context for the rendererwhitex_image_lowlevel: Unable to get pixbuf from gschem's window. x_image_lowlevel: Unable to write %s file %s. x_image_lowlevel: Unable to write eps file %s. Project-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-02-04 00:18+0000 Last-Translator: Krzysztof Kościuszkiewicz Language-Team: gEDA developers Language: pl MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) %s Logi programu mogą zawierać dodatkowe informacje.%s (g%.7s)Program %s nie mógł otworzyć adresu URI** Nieprawidłowy znak UTF-8 w komunikacie. Zobacz standardowe wyjście błędów lub plik gschem.log. *bez zmian*/Dodaj atrybut.../Dodaj magistralę/Dodaj element.../Dodaj połączenie/Dodaj tekst/Kopiuj/Usuń/Wgłąb schematu/Wgłąb symbolu/Edytuj typ pinu.../Edytuj.../Przesuń/Zaznacz/Do góry/Powiększ fragment/Dopasuj do ekranu/Powiększ/PomniejszDodaj atrybutWystąpił błąd podczas wczytywania pliku. Wczytywanie z pliku '%s' nie powiodło się: %s. Log programu może zawierać dodatkowe informacje.Opcje dołączeniaEdytuj atrybutNiepoprawny format schematu w schowku. Wystąpił błąd podczas wklejania danych ze schowka: %s.OpcjeZakresTreść tekstuWłaściwości tekstuAtrybut "%s" jest nieprawidłowy Nazwa i wartość nie mogą być puste. Nazwa nie może zaczynać się od spacji. Wartość nie może zaczynać się od spacji.Ł_ukA_trybutyA_utomatycznie numeruj...O programieCzynnośćTryb wyświetlania obwiedni przemieszczanych elementów Tryb wyświetlania przemieszczanych elementów Dodaj atrybutDodaj tekst...Tryb dodawania magistral Anuluj prawym przyciskiem myszyDodaj element... Wybierz bibliotekę i element z listy, przenieś kursor do głównego okna, kliknij aby umieścić element Anuluj prawym przyciskiem myszyTryb dodawania połączeń Anuluj prawym przyciskiem myszyPunkt odniesienia:WszystkoWszystkie plikiWystąpił nieznany błąd podczas przetwarzania plików konfiguracyjnych.Kąt linii 1:Kąt linii 2:ŁukTryb łukówParametry łukuPromień łuku:DołączAtrybutAtrybutyAtrybuty bez nazwy nie są dozwolone. Podaj prawidłową nazwę.Automatyczna numeracjaAutomatycznie numeruj w:_MagistralaTłoOd dołu do góryObwiedniaProstokątTryb prostokątówMagistralęTryb magistrali_OkrągNie znaleziono żadnego schematu wyżej w hierarchii! Nie można odnaleźć źródła [%s] Nie można wczytać konfiguracji gschem.Nie można wydrukować bieżącego arkusza do [%s] Kropka-kreskaZmienionoOkrągTryb okręgówBłąd podczas wklejaniaZamknij arkuszZamykanie okna Zamykanie [%s] KolorEdycja koloruKolor...Kolor:Polecenie:ElementDokumentacja _elementu...Tryb elementówElementyWspółrzędneKopiujKopiuj do 1Kopiuj do 2Kopiuj do 3Kopiuj do 4Kopiuj do 5Tryb kopiowaniaKopiuj do 1Kopiuj do 2Kopiuj do 3Kopiuj do 4Kopiuj do 5Kopiuj do schowkaCopyright © 1998-2012 Ales Hvezda Copyright © 1998-2012 Kontrybutorzy gEDA (szczegóły w pliku ChangeLog)Zapisywanie kopii zapasowej [%s] nie powiodło się Zapisanie arkusza [%s] nie powiodło się Nie można ustawić pliku kopii zapasowej w tryb tylko do odczytu [%s]. Nie można ustawić pliku kopii zapasowej w tryb zapisu i odczytu [%s] Nie udało się przydzielić koloru %i! Nie udało się przydzielić koloru obwiedni %i! Nieudana alokacja koloru %s! Nie odnaleziono symbolu [%s] w bibliotece. Aktualizacja nie powiodła się. Nie można otworzyć adresu URI ~S: ~ABłąd podczas alokacji kontekstu graficznego "gc" Nie znaleziono pliku inicjalizacyjnego scm [%s] Projektuj i edytuj schematy i symbole elektroniczne za pomocą gschemWy_tnijBieżący widokBieżące ustawienia lokalizacji: %s Bieżącej stronieWytnij do 1Wytnij do 2Wytnij do 3Wytnij do 4Wytnij do 5Wytnij do 1Wytnij do 2Wytnij do 3Wytnij do 4Wytnij do 5Wytnij do schowkaPrzełącz styl _siatkiDo_kumentacja...Długość kreskiDługość przerwyKreskiDomyślnie - użyj odniesiena do pliku elementuKąt rozwarciaUsuńOdznaczLokalizacja docelowaOdłączOdłączony atrybutPo przekątnejPorzuć arkuszPorzucanie arkusza [%s] Siatka kropkowana KropkiW głąb _elementuDuplikujBŁĄD: %s BŁĄD: Wystąpił nieznany błąd podczas przetwarzania plików konfiguracyjnych. BŁĄD: obiekt NULL w funkcji color_edit_dialog_apply! BŁĄD: objekt NULL w funkcji o_move_end! BŁĄD: obiekt NULL! EdycjaZmodyfikuj atrybutyEdytuj typ wypełnieniaEdycja stylu liniiEdytuj tekstEdycja właściwości tekstuEdytuj tekst...Edytuj rodzaj pinuEdytuj...OsadźOsadź element/obrazOsadź element w pliku schematuSchowek jest pustyEncapsulated PostscriptWprowadź nową odległość przyciąganiaWprowadź nowy rozmiar czcionki:Wprowadź tekst, kliknij "Zastosuj", przenieś kursor do głownego okna, kliknij aby umieścić tekst. Środkowy przycisk obraca tekst przed umieszczeniem.Błąd wydruku do pliku '%s' Więcej szczegółów w oknie komunikatówBłąd podczas próby zapisaniaWykonaj skrypt...Wykonywanie skryptu guile [%s] Cały arkusz bez marginesówCały arkusz wraz z marginesamiZapisanie wszystkich dokumentów nie powiodło sięOtwarcie pliku nie powiodło sięWczytanie obrazu %s nie powiodło sięBłąd podczas wczytywania pliku inicjalizacji scm [%s] Zapisanie pliku nie powiodło sięKolejność plikówPlik:Nazwa plikuStyl wypełnienia...Typ wypełnienia:PełneFiltr:Znajdź tekstNieprawidłowy obiekt reprezentujący okno gschem: ~SFunkcjaObiekt który nie jest linią przekazany do funkcji o_move_check_endpoint Nieprawidłowy parametr buffer_number przekazany do funkcji o_buffer_paste_start Niespodziewany wskaźnik NULL w funkcji o_edit Nieprawidłowa opcja; przyjmuję domyślną wartość "wyświetlaj nazwę i wartość" GraficzneSiatka: włączona Punkt siatkiSiatka(%s, %s)KreskowanieUkryty tekst jest teraz niewidoczny Ukryty tekst jest teraz widoczny Ukryj tekstUkryj tekst zaczynający się od:Hie_rarchiaBrakKlawisze skrótówJeżeli nie zapiszesz, wszystkie zmiany zostaną bezpowrotnie utracone.Typ obrazuW użyciuWstaw element jako indywidualne obiekty składoweNieprawidłowy atrybutNieprawidłowy rozmiar punktu [%d] przekazany do funkcji dots-grid-dot-size Nieprawidłowa wartość [%d] przekazana do funkcji keyboardpan-gain Nieprawidłowa wartość [%d] przekazana do funkcji mousepan-gain Nieprawidłowa wartość [%d] przekazana do funkcji zoom-gain Nieprawidłowa liczba poziomów [%d] przekazana do funkcji undo-levels Nieprawidłowa ilość pikseli [%d] przekazana do funkcji select-slack-pixels Nieprawidłowa liczba sekund [%d] przekazana do funkcji auto-save-interval Niepoprawna liczba kroków [%d] w funkcji scrollpan-steps Nieprawidłowy offset [%d] przekazany do funkcji add-attribute-offset Nieprawidłowy odstęp pikseli [%d] przekazany do funkcji dots-grid-fixed-threshold Nieprawidłowy odstęp pikseli [%d] przekazany do funkcji mesh-grid-display-threshold Nieprawidłowy rozmiar [%d] przekazany do funkcji bus-ripper-size Nieprawidłowy rozmiar [%d] przekazany do funkcji snap-size Nieprawidłowy rozmiar [%d] przekazany do funkcji text-size Nieprawidłowe ustawienie widoczności tekstu: ~A.Nieprawidłowa skala powiększenia [%d] przekazana do funkcji %s Wykonaj makroKlawisz(e)PoziomeOd lewej do prawejBibliotekiLinięTryb liniiStyl linii...Szerokość linii:Wczytywanie schematu [%s] ZablokujNegacja logicznaNa dole po lewejNa środku poniżejNa dole po prawejTryb "magnetycznych" połączeńMenu/AnulujSiatkaSiatka zgrubnaSiatka dokładnaSiatka z linii Na środku po lewejPośrodkuNa środku po prawejLustrzane odbicieTryb odbijaniaPrzesuńTryb przesuwaniaKopiuj wielokrotnieDuplikuj wielokrotnieNBRAKNazwaNazwa:No_wyPołączenieTryb połączeńKoniec połączeniPołączenie przewodówPołączeniaNowyNowy arkuszNowe o_knoUtworzono nowe okno [%s] Nowy plikNowy plik [%s] Utworzono nowy arkusz [%s] Brak '*' lub '?' na końcu tekstu do automatycznej numeracji. Nie podano lokalizacji docelowej wydruku Nie podano tekstu wyszukiwania. WYŁĄCZONEObiekt jest już zablokowany Obiekt jest już odblokowany Kolor obiektu:Obiekt ~A nie jest przypisany do arkuszaObiekt ~A nie występuje w bieżącym arkuszu.OtwórzOtwórz arkuszOtwórz os_tatnio używaneOtwórz plik...Otwórz...Ułożenie papieru:Tło wydrukuRozmiar papieru:Zastępuj istniejącą numeracjęZastąpić plik?Zarządzanie arkuszamiPrzesuń widokTryb przesuwania widokuPrzesuń widok/AnulujTryb wklejania z bufora %dWklej z 1Wklej z 2Wklej z 3Wklej z 4Wklej z 5Wklej z 1Wklej z 2Wklej z 3Wklej z 4Wklej z 5Wklej ze schowkaKropka-kropka-kreskaWybierzOb_raz...ObrazTryb obrazówPinTryb pinówOdstęp między liniami 1:Odstęp między liniami 2:Popup_menu_item_factory nie istnieje! PionowePodglądDrukuj...Wydrukowano bieżący arkusz do [%s] PromujWczytano plik inicjalizacji scm [%s] Czy na pewno przywrócić arkusz?PrzywróćPrzywróć ostatnią operacjęUsuń numeryPowtórz/Powtórz/brakZastąp istniejące atrybutyKliknij prawym przyciskiem myszy na nazwie pliku aby zobaczyć opcje...Od prawej do lewejObróćObróć o 90 stopniTryb obrotuUzupełnianie połączeń przy przesuwaniu: włączone Uzupełnianie połączeń przy przesuwaniu: wyłączone Wybi_erz schematy, które chcesz zapisać:ZapiszZapisz _wszystkieZapisz arkuszZapisz j_ako...Zapisz jako...Zapis anulowany na życzenie użytkownika Zapisz plikZapisać zmiany w schemacie "%s" przed wyjściem?ZapisanoZapisano wszystkie dokumentyZapisano [%s] Zapisano jako [%s] Z_większ siatkę przyciąganiaZ_mniejsz siatkę przyciąganiaSchematySchematy i symboleEkranWyszukiwany tekst:Szukam źródła [%s] Szukam symbolu [%s] ZaznaczanieWybierz element...Tryb zaznaczaniaWybierz nazwę pliku PostScript...Tryb zaznaczaniaWpierw wybierz obiektyZaznaczonych elementachZaznaczenieUstawieniaPokaż ukryteWyświetlaj nazwę i wartośćWyświetlaj nazwęWyświetlaj nazwęWyświetl tekstWyświetlaj wartośćWyświetlaj wartośćPokazuj o_biePokaż okno współrzędnych...Pokaż okno komunikatów...Pokazuj _nazwęPokazuj _wartośćPokaż odziedziczone atrybutyWyświetl tekst zaczynający się od:Wyświetlaj/ukryj niewidoczny tekstWyśw. obaWyśw. ukryteWyśw. nazwęWyśw. wartośćEdycja pojedyńczego atrybutuRozmiar:Pomiń numery znalezione w:SlotNieprawidłowa wartość atrybutu "slot" Slot..._Odstęp przyciągania...Przyciąganie do siatki: wyłączone (OSTROŻNIE!) Przyciąganie do siatki: włączone Wyłącz przyciąganieOdległość przyciąganiaJednolitaNiestety to polecenie jeszcze nie działa Kolejność:Kąt początkowy:Numer początkowyStanGestTłumaczenie symbolu...Symbol nie jest plikiem. Nie można wczytać symbolu. SymboleTekstWprowadzanie tekstu...Tryb tekstuRozmiar czcionkiSzukany tekst:Brak pamięci lub innych zasobów systemu operacyjnego.Plik %s już istnieje. Czy chcesz go zastąpić bieżącym schematem?Niezapisane zmiany w %d schematach. Zapisać zmiany przed wyjściem?Wystąpił błąd podczas zapisywania obrazu %s do pliku: %s %s. Ten program jest dostępny jako wolne oprogramowanie, można go rozprowadzać Ta wersja programu została skompilowana na MINGW32. Przełącz _rozciąganie połączeńPrzełącz "_magnes" połączeńPrzełącz wyświetlanie _konturówPrzełącz _przyciąganieOd góry do dołuTłumaczPróba użycia nieprawidłowego koloru: %d Próba użycia nieprawidłowego koloru obwiedni: %d Próba aktywacji nieistniejącego elementu menu kontekstowego Próba aktywacji nieistniejącego elementu menu '%s' Rodzaj:CofnijCofnij ostatnią operacjęFunkcjonalność Cofnij/Powtórz zostały wyłączone w pliku konfiguracyjnym Cofnij osadzanieCofnij osadzanie elem./obr.NieznaneNieznany koniec dla linii (%d) Nieznany typ dla prostokąta (wypełnienie)! Nieznany typ dla okręgu (wypełnienie)! Niepoprawny styl linii (%d) ! OdblokujAktualizujAktualizuj elementNa górze po lewejNa środku powyżejNa górze po prawejWWartośćWartość:Widoczny?Przeł. widocznośćWidocznyUWAGA: Rozmiar siatki przyciągania jest inny niż 100! Uwaga: Koniec połączenia jest poza siatką Uwaga: Początek połączenia jest poza siatką Całej hierarchiiSzerokość x WysokośćSzerokość:ŚwiatZap_isz obraz...Zapisz jako obraz...Zapisano czarno-biały obraz do [%s] [%d x %d] Zapisano kolorowy obraz do [%s] [%d x %d] Wymagane ustawienie wartości zmiennej środowiskowej GEDADATA! gschem nie może odnaleźć plików z danymi. Należy wskazać lokalizację plików poprzez zmienną środowiskową GEDADATA. Dopasuj do fragmentuPowiększ _obszar_Dopasuj widokMaksymalne pomniejszeniePow_iększP_omniejszObszar powiększeniaZbyt mały obszar! Osiągnięto maksymalny stopień powiększenia. _O programie..._Dodaj_Dołącz_Atrybut...Pros_tokąt_Schowek_Zamknij_Zamknij bez zapisywania_Element..._Kopiuj_Ciemny zestaw kolorów_Usuń_OdłączPo_rzućW głąb _schematu_Edycja_Plik_Szukaj tekstu..._Pomoc_Ukryj wybrany tekst...Skróty _klawiszowe..._Jasny zestaw kolorów_Linia_Zarządzaj..._Sieć_Nowy_Następny_Otwórz..._Ustawienia_Arkusz_Przesuń_Wklej_Pin_Poprzedni_Drukuj...Za_kończ_Ponów_AktualizujP_rzywróćZapi_sz_Pokazuj wybrany tekst...Rozmiar _tekstu..._Tekst...Przełącz _widoczność_CofnijW _górę_Widokczarnykontekst cairopod pewnymi warunkami. Szczegóły (w języku angielskim) znajdują się w pliku COPYING. Szukaj również wewnątrz elementówDoku_mentacja gEDA...gEDA Edytor Schematów_Wiki gEDA...Autorzy gEDA/gschem nie udzielają ŻADNYCH gwarancji; szczegóły (w języku angielskim) w pliku o nazwie COPYING . gEDA/gschem, wersja %s%s.%s gEDA: GPL Electronic Design Automation_FAQ gschem...tryb "magnesu": wyłączony tryb "magnesu": włączony brakBrak atrybutu "numslots" o_autosave_backups: Nie można określić rzeczywistej nazwy pliku dla %s.o_buffer_copy: Nieprawidłowy bufor %i o_buffer_cut: Nieprawidłowy bufor%i kontekst cairo do renderowaniabiałyx_image_lowlevel: Nieudane pobranie obrazu z okna gschem. x_image_lowlevel: Nieudany zapis pliku %s o nazwie %s. x_image_lowlevel: Nie można zapisać pliku eps %s. geda-gaf-1.8.2/gschem/po/sr.gmo0000664000175000017500000000150512220655645013124 00000000000000 d  !  )5 New WindowSave All_File_New_Open..._Print..._Revert_SaveProject-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-01-27 14:18+0000 Last-Translator: FULL NAME Language-Team: Serbian Language: sr MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) Нови прозорСачувај свеДа_тотекаНо_воОтв_ори..._Штампај..._ВратиСачу_вајgeda-gaf-1.8.2/gschem/po/hu.gmo0000664000175000017500000006042512220655645013122 00000000000000 -";" """"" " ### '#4#=#C#K# O#]# f#p### ### ## #$ $ $+!$M$*$ $ % %%% $%/% 6% @%>K%%%% %%%%%%%'%#&*&2& 9& E&P& `&n& t&&&& &&& &&&&&&&' ' ' ' )' 5' A'M'!g'6''='(((( E(R(X(^(d(j( p( {( ( ( ((( ( ((&()#) *)6)=) F)S)i) p) }))))) )) ))))* 1*>*V*s*m*E*<+W+i++++++"+ ,,$, -, :,E,L, T,^, g, q,~, ,, ,,,=, , -'-9-&K-&r-&-%- - - - .. .$. 9.E.]. b. m. z. .. . . .. .. . ..////// /%/)/ 2/=/V/_/n/7///*/0#0 :05H0#~00 0 0 00 0001 !1.121 ;1 F1T1\1d1l1t1 |1 1 1 1 111 11 111222"2B2[2o2t222 22/2 233 3("3K3P3 Y3 c3 o3z3 3233 3 33 4 4$4 +474R4m4t4 44 4444 4455 &505@5 P5 [5 f5r55 55505 5 5566+636 86 B6 L6GZ6J6R6L@777 7 777778848;8B8 S8 ^8 k8w8y888 88`8-8,9<9K9R9X9.g9$999 9&9 9: :: :(:/: E:S:Y:l:t:}:::::: ::: ::; ;;;!;'; .; 8;B;H;N;V;^;d; {;;;;;;;;;;<M$<r<<<<<<Ne>>>>> ?(? >? I?S?f? ? ??? ? ??? ?@%@7@U@^@m@@@@@@@$pA AA AA AA A A AVAQBpBBB BBBBB!B%B C (C4C9CHCWCiCzCCCCC CCC C C CDD*D;DLD^DnD}DDDD$DDBD?EYUE EE%EEFF#F4FEFWFfFuFFFFFFF F)F &G2G;G @GNGVGeG GG G GGG(GH#1HUHnH ~HH H HHHIIwI*J?J#VJzJJJ"J#J*K 9KFK MKWKjK ~KKKK KK KK.K L"L(L?9L yL L0LL+L.M21M1dMMMM MMMMNN )N 3N =N KN VNdN kNwN N N N NNNNNNOO OO+O>OBO JOTO mOwOO0OO"O4PEPHPhP1yP(P PPPQ Q )Q 4QBQaQwQ QQQQQQRR.RERYRmRRRRRRRRRRS S "S&0SWS!wSS!SS SSSDTTT cTmTT&TT TTTTBUFU8UUUUUUUU U UV V ;VIVfV&yVVVV VVW-WCWYWkWWWWW-W)X-XGX OX,YXX X X XX XXX YYF&YNmY^Y=ZYZmZ}ZZZ ZZ=Z [0%[V[ k[w[ [[ [[[[ [[ [d['W\\\ \\\+\%\#] 4] ?]4M]] ] ]]] ]] ]]] ^ ^ ^ ?^L^S^ e^p^^^^ ^^^ ^^^^^ __ #_-_4_C_U_^_p___ ____F_` .`jO```` `afc)EXgPQRST\qiB0Oy|z4+xd'?0uC *^ ,UB[!<$A  pH*k])5al}7k;iI1PjY4VTA- L&ls(O'3F2]E e RF`ZCu`?W D-qGyh6[;.=S},G/{xXM:9Hp{=@/Q t#$rn>JIJKLMNmY>+f21o~W98w~6"7:N .@_|Z ^_ab%de8g#t3!(KUw5<nVsm Dvzj%&bo\crvh"** Invalid UTF-8 in log message. See stderr or gschem.log. *unchanged*/Add Attribute.../Add Bus/Add Component.../Add Net/Add Text/Copy/Delete/Down Schematic/Down Symbol/Edit.../Move/Select/Up/Zoom Extents/Zoom In/Zoom OutAdd AttributeEdit AttributeOptionsScopeText PropertiesA_rcA_ttributesA_utonumber Text...About gschemActionAdd AttributeAdd Text...Add buses mode Right mouse button to cancelAdd component... Select library and component from list, move the mouse into main window, click to place Right mouse button to cancelAdd nets mode Right mouse button to cancelAlignment:AllAll filesArcArc ModeArc ParamsAttachAttributeAttributesAttributes with empty name are not allowed. Please set a name.Automatic slottingAutonumber textB_usBottom to topBoxBox ModeBusBus ModeC_ircleCannot find source [%s] Cannot print current schematic to [%s] CenterChangedCircleCircle ModeClose PageClosing Window Closing [%s] ColorColor EditColor...Color:Command:ComponentComponent D_ocumentation...Component ModeComponentsCoordsCopyCopy 1Copy 2Copy 3Copy 4Copy 5Copy ModeCopy into 1Copy into 2Copy into 3Copy into 4Copy into 5Could NOT save page [%s] Could not allocate the color %s! Could not find symbol [%s] in library. Update failed. Couldn't allocate gc Create and edit electrical schematics and symbols with gschemCu_tCurrent WindowCurrent locale settings: %s Current pageCut 1Cut 2Cut 3Cut 4Cut 5Cut into 1Cut into 2Cut into 3Cut into 4Cut into 5Cut to clipboardD_ocumentation...Dash Length:Dash Space:DashedDefault behavior - reference componentDegrees of Sweep:DeleteDestinationDetachDiagonalDiscard PageDiscarding page [%s] DottedDown _SymbolDuplicateEditEdit AttributesEdit Fill TypeEdit Line Width & TypeEdit TextEdit Text PropertiesEdit Text...Edit...EmbedEmbed Component/PictureEmbed component in schematicEmpty bufferEncapsulated PostscriptEnter new snap grid spacing:Enter new text size:Enter text, click apply, move cursor into window, click to place text. Middle button to rotate while placing.Error printing to file '%s' Check the log window for more informationError while trying to saveExecute Script...Executing guile script [%s] Extents no marginsExtents with marginsFailed to Save AllFailed to load fileFailed to load picture: %sFailed to read init scm file [%s] File orderFile:FilenameFill Type...Fill Type:FilledFilter:Find TextFunctionGrid OFF Grid(%s, %s)HatchHide TextHide text starting with:Hie_rarchyHollowHotkeysIf you don't save, all your changes will be permanently lost.Image typeIn UseInclude component as individual objectsInvalid AttributeInvalid size [%d] passed to snap-size Invalid size [%d] passed to text-size Invalid text name/value visibility ~A.Invalid zoomfactor [%d] passed to %s Invoke MacroLandscapeLeft to rightLibrariesLineLine ModeLine Width & Type...Line Width:Loading schematic [%s] LockLower LeftLower MiddleLower RightMenu/CancelMeshMiddle LeftMiddle MiddleMiddle RightMirrorMirror ModeMoveMove ModeMultiple CopyMultiple Copy ModeNNameName:Ne_wNetNet ModeNetsNewNew PageNew WindowNew Window created [%s] New fileNew file [%s] New page created [%s] No '*' or '?' given at the end of the autonumber text. No documentation foundNo print destination specified No searchstring given in autonumber text. OFFObject already locked Object color:Object ~A is not included in the current gschem page.Offset to translate? (0 for origin)OpenOpen Page...Open Recen_tOpen file...Open...Orientation:Output paper size:Overwrite existing numbersOverwrite file?Page ManagerPanPan ModePan/CancelPaste %d ModePaste 1Paste 2Paste 3Paste 4Paste 5Paste from 1Paste from 2Paste from 3Paste from 4Paste from 5Paste from clipboardPickPictu_re...PicturePicture ModePinPin ModePortraitPreviewPrint...Printed current schematic to [%s] Read init scm file [%s] Really revert page?RedoRedo last undoRemove numbersRepeat/Repeat/noneReplace existing attributesRight click on the filename for more options...Right to leftRotateRotate 90 ModeRotate ModeS_elect the schematics you want to save:SaveSave AllSave PageSave _As...Save as...Save cancelled on user request Save fileSave the changes to schematic "%s" before closing?SavedSaved AllSaved [%s] Saved as [%s] SchematicsSchematics and symbolsScreenSearch for:Searching for source [%s] Searching for symbol [%s] SelectSelect Component...Select ModeSelect PostScript Filename...Select modeSelect objs firstSelected objectsSettingsShow HiddenShow Name & ValueShow Name OnlyShow Name onlyShow TextShow Value OnlyShow Value onlyShow _BothShow _NameShow _ValueShow text starting with:Show/Hide Inv TextShowHiddenSize:SolidSorry but this is a non-functioning menu option Sort order:Start Angle:Starting number:StatusSymbol Translate...SymbolsTextText ModeText SizeText to find:The selected file `%s' already exists. Would you like to overwrite it?There are %d schematics with unsaved changes. Save changes before closing?There was the following error when saving image with type %s to filename: %s %s. This is free software, and you are welcome to redistribute it under certain This is the MINGW32 port. Toggle _Snap On/OffTop to bottomTranslateType:UndoUndo last operationUndo/Redo disabled in rc file UnembedUnembed Component/PictureUnlockUpdateUpdate ComponentUpper LeftUpper MiddleUpper RightVValueValue:Vis?VisToggleVisibleWARNING: If you are translating a symbol to the origin, the snap grid size should be set to 100 WARNING: Snap grid size is not equal to 100! Whole hierarchyWidth x HeightWidth:WorldWrite image...Wrote black and white image to [%s] [%d x %d] Wrote color image to [%s] [%d x %d] Zoom BoxZoom _InZoom _OutZoom too small! Cannot zoom further. _About..._Add_Attribute..._Box_Buffer_Close_Close without saving_Component..._Copy_Dark color scheme_Delete_Discard_Down Schematic_Edit_File_Find Specific Text..._Help_Hide Specific Text..._Hotkeys..._Light color scheme_Line_Manager..._Net_New_Next_Open..._Options_Page_Paste_Previous_Print..._Quit_Redo_Redraw_Revert_Save_Show Specific Text..._Text Size..._Text..._Toggle Visibility_Undo_Up_Viewblackconditions; please see the COPYING file for more details. gEDA Docu_mentation...gEDA Schematic EditorgEDA/gschem comes with ABSOLUTELY NO WARRANTY; see COPYING for more details. gEDA/gschem version %s%s.%s gschem _FAQ...nonenumslots attribute missing whiteProject-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-01-27 14:23+0000 Last-Translator: kop Language-Team: gEDA developers Language: hu MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) ** hibás UTF-8 a log üzenetben. Nézd meg az stderr-t vagy a gschem.log-ot. *változatlan*/Attribútum hozzáadása/Busz hozzáadása/Alkatrész hozzáadása/Összeköttetés hozzáadása/Szöveg hozzáadása/Másolás/TörlésRajz szerkesztése/Szimbólum szerkesztése/Szerkesztés/Mozgatás/Kiválasztás/Fel/Teljes rajz/Nagyítás/KicsinyítésAttribútum hozzáadásaAttribútum szerkesztéseOpciókHatáskörSzöveg tulajdonságaiKö_rívA_ttribútumokSzöveg automatikus számozásaNévjegyMűveletAttribútum hozzáadásaSzöveg hozzáadásaBusz hozzáadása módAlkatrész hozzáadása... Válaszd ki a könyvtárt és abból az alkatrészt, mozgasd az egérmutatót a rajz fölé, lerakás bal klikk.Összeköttetések hozzáadása módIgazítás:MindÖsszes fájlÍvÍv üzemmódÍvparaméterekCsatolásAttribútumAttribútumokNév nélküli attribútumok nem használhatóak. Kérlek adj nevet az attribútumnak!Automatikus slot-kiválasztásAutomatikus számozásB_uszLentről felfeléTéglalapTéglalap üzemmódBuszBusz üzemmódKörNem találom a(z) [%s] forrást. Nem tudom [%s]-ba nyomtatni a rajzot KözépreMódosítvaKörKör üzemmódLap bezárásaAblak bezárása [%s] bezárása SzínSzín szerkesztéseSzín...Szín:Parancs:AlkatrészAlkatrész dokumentációAlkatrész módAlkatrészekKoordinátákMásolásMásolás az 1-beMásolás a 2-beMásolás a 3-baMásolás a 4-beMásolás az 5-beMásolási módMásolás 1-beMásolás 2-beMásolás 3-baMásolás 4-beMásolás 5-beA [%s] rajz mentése nem sikerült. Nem találom a(z) %s színt! Nem találom a(z) [%s] szimbólumot. A frissítés nem sikerült. Nem találom a gc-t. Elektromos kapcsolási rajzok és szimbólumok készítése és szerkesztése a gschemmelKivágásJelenlegi nézetJelenlegi területi beállítás: %s Jelenlegi oldalKivágás az 1-beKivágás a 2-beKivágás a 3-baKivágás a 4-beKivágás az 5-beKivágás 1-beKivágás 2-beKivágás 3-baKivágás 4-beKivágás 5-beKivágás a vágólapraD_okumentációVonalszakasz hossza:Kihagyás hossza:SzaggatottAlapviselkedés - mutató az alkatrészreÍv szöge:TörlésCélLeválasztásÁtlósRajz eldobásaA(z) [%s] rajz eldobása PontvonalSzimbólum szerkesztéseMegkettőzésSzerkesztésAttribútumok szerkesztéseKitöltés szerkesztéseVonalvastagság és típus szerkesztéseSzöveg szerkesztéseSzövegtulajdonságok szerkesztéseSzöveg szerkesztése...Szerkesztés...BeágyazásAlkatrész/kép beágyazásaAlkatrész beágyazása a rajzbaÜres bufferBeágyazott Postscript (EPS)Új hálóméret:Új betűméret:Írd be a szöveget, kattints az "Alkalmaz"-ra, mozgasd az egérmutatót a rajz fölé, kattints a szöveg lerakásához. Elforgatás: középső egérgomb.Hiba a(z) '%s' fájlba történő nyomtatás közben. Olvasd el a log ablakban leírtakat a további információkért.Hiba mentés közbenSzkript végrehajtása[%s] guile szkript végrehajtása. Körvonal margó nélkülKörvonal margóvalNem sikerült mindent menteni.A fájl betöltése nem sikerült.Sikertelen a(z) %s kép betöltése[%s] init scm fájl olvasása sikertelen. FáljsorrendFájl:FájlnévKitöltés típusaKitöltés típusa:KitöltöttSzűrő:Szöveg kereséseFunkcióHáló ki Háló (%s, %s)SraffozottSzöveg elrejtéseA következővel kezdődő szöveg elrejtése:Hie_rarchiaÜresGyorsbillentyűkHa nem menti, akkor az összes változás véglegesen elveszik.KéptípusHasználatbanAlkatrész hozzáadása mint független objektumHibás attribútumÉrvénytelen méret [%d] snap méretként Érvénytelen méret [%d] szöveg méretként Érvénytelen szöveg név/érték megjelenés ~A.Érvénytelen nagyítás arány [%d] %s-nek adva Makró végrehajtásaFekvőBalról jobbraKönyvtárakVonalVonal üzemmódVonalszélesség és típusVonalvastagság:[%s] rajz betöltése ZárolásBal alsóKözép alsóJobb alsóMenü/mégsemHálóBal középKözép középJobb középTükrözésTükrözésMozgatásMozgatási módTöbbszörös másolásTöbbszörös másolás módNNévNév:ÚjNetÖsszeköttetés üzemmódÖsszeköttetésekÚjÚj lapÚj ablak[%s] ablak létrehozva. Új fájlÚj fájl: [%s] [%s] oldal létrehozva. Hiányzik a '*' vagy '?' a szöveg végéről. Nem találtam dokumentumotNincs megadva a nyomtatási cél! Nincs keresőszöveg megadva az újraszámozáshoz. KiAz objektum már zárolva van. Objektum színe:A ~A objektum nem tálható a jelen gschem lapon.Offszet az eltoláshoz? (0 az origóhoz)MegnyitásLap megnyitásaLegutóbbi megnyitásaFájl megnyitása…Megnyitás…Tájolás:Papírméret:Meglevő számok felülírásaFelülírod a fájlt?OldalkiválasztóKözépre"Középre" üzemmódKözépre/mégsemBeillesztés %d üzemmódBeillesztés az 1-bőlBeillesztés a 2-bőlBeillesztés a 3-bólBeillesztés a 4-bőlBeillesztés az 5-bőlBeillesztés 1-bőlBeillesztés 2-bőlBeillesztés 3-bólBeillesztés 4-bőlBeillesztés 5-bőlBeillesztés a vágólaprólKijelölKépKépKép üzemmódAlkatrészlábAlkatrészláb üzemmódÁllóElőnézetNyomtatás...A rajz kinyomtatva a(z) [%s] fájlba. [%s] init scm fájl olvasása. Biztosan újratöltsem az oldalt?ÚjraUtolsó visszavont művelet újraSzámok törléseImétlés/Ismétlés/semmiMeglevő attribútumok cseréjeKattints a jobb egérgombbal a fájlnével a további opciókért...Jobbról balraForgatásElforgatás 90 fokkalForgatás üzemmódVálaszd ki a menteni kívánt rajzot:MentésMind mentéseMentésMentés máskéntMentés másként...A mentés a felhasználó kérésének megfelelően megszakítva. Fájl mentéseElmentsem a(z) "%s" rajz változásait bezárás előtt?ElmentveMinden oldal elmentve.[%s] elmentve. [%s]-ként elmentve. rajzokrajzok és szimbólumokKépernyőKeresés:[%s] forrás keresése [%s] szimbólum keresése KiválasztásAlkatrész kiválasztása...Kiválasztás módPostScript fájlnév kiválasztása...Kiválasztás módElőször válassz objektumokatKiválasztott objektumokBeállitásokRejtett megjelenítéseNév és érték mutatásaCsak a név mutatásaCsak a név mutatásaSzöveg mutatásaCsak az érték mutatásaCsak az érték mutatásaMindkettő mutatásaNév mutatásaÉrték mutatásaA következővel kezdődő szöveg mutatása:Láthatatlan szöveg mutatása/elrejtéseRejtettek megjelenítéseMéret:FolytonosElnézést, ez egy nem működő menüpont. Rendezési sorrend:Kezdőszög:Kezdőszám:Állapot.Szimbólum áthelyezéseszimbólumokSzövegSzövegbeviteli üzemmódBetűméretKeresendő szöveg:A kiválasztott fájl - '%s' - már létezik. Felül szeretnéd írni?%d megváltoztatott rajz van még megnyitva. Elmentsem őket kilépés előtt?A következő hiba lépett fel a %s típusú kép mentésekor az alábbi fájlnévvel: %s %s Ez egy szabad program, bizonyos feltételek mellett szabadon Ez a MinGW32 port. _Snap váltásaFentről lefeléEltolásTípus:VisszavonásUtolsó művelet visszavonásaA visszavonás/újra művelet nem használható rc fájlban. Beágyazás megszüntetéseAlkatrész/kép beágyazásának megszüntetéseZárolás feloldásaFrissítésAlkatrész frissítéseBal felsőKözép felsőJobb felsőÉÉrtékÉrték:Látható?Láthatóság be/kiLáthatóVigyázat, az alkatrész kezdőponthoz való tolásához a hálószemméretnek 100-nak kell lennie! Vigyázat, a hálószemméret nem 100! Teljes hierarchiaszélesség x magasságVastagság:VilágKépfájl írása...Fekete-fehér kép kiírva: [%s] [%d x %d] Színes kép kiírva: [%s] [%d x %d] Doboz nagyításNagyításKicsinyítésTúl nagy nagyítás! Nem tudok tovább nagyítani. NévjegyHozzá_adás_AttribútumDo_boz_Buffer_Bezárás_Bezárás mentés nélkülAlkatrészMásolás (_C)Sötét színsémaTörlés (_D)El_dobásKapcsolási rajz szerkesztéseSzerkesztés_FájlSzöveg kereséseSegítségSzöveg elrejtése_Gyorsbillentyűk...Világos színsémaVona_l_Kezelő..._Net_ÚjKövetkező_Megnyitás...Beállítás_okOldalBeillesztés (_P)Előző_Nyomtatás…KilépésÚj_raÚjrarajzolás_VisszaállításMenté_sSzöveg mutatásaSzöveg mére_teSzövegLá_thatóság váltása_VisszavonásVissza a rajzhozNézetfeketeterjeszthető, olvasd el a COPYING fájt további információkért. gEDA Doku_mentáció...gEDA kapcsolásirajz-szerkesztőA gEDA/gschem NEM RENDELKEZIK SEMMIFÉLE GARANCIÁVAL; olvasd el a COPYING fájlt további részletekért gEDA/gschem verzió %s%s.%s gschem _GYIK...semminumslots attribútum hiányzik. fehérgeda-gaf-1.8.2/gschem/po/en_GB.gmo0000664000175000017500000011560512220655645013461 00000000000000H\$000 1%1;=1 y11111 1111 112 222 2 '252 >2H2]222]3n3 }33334 44 44(4$4 5 )5+55a5*5 66 !6j+66666 6 66 6 6>6'7:7J7^7o7 t7 7 777777>7828B8![8'}8888 88 88 8 9 99%9,9 59?9[9 j9u9|999999 9 9 9 9 9 999 |::(:3:%;%:;!`;6;;;!;= <K<P<_< |<<<<<< < < < < <<<5=8= J= W=c=&j==== ==== ==>> > ,> 6>DA>/>">>>>?? )?3? H? U?c?t????? ??? @m @E@@ @@ A(A;APAcAwA"AAA AAA B BB!B )B#3BWB/`B4B/B/B!%C1GCyC C C CCCC CC DDD= D ^DiD'pDD3D-D* E&7E.^E<E<E-F35F?iFAF,F&G&?GfG&G%G G G G G H H HH .H:HRH WH dH oH |HH HHHHH H H HI II I (I6IIIKIPIUI[I`IdI mI zIIIII IIIIII7JJJaJ*JJJJ J-J5K#RKvK {K K KK KKKKK LLL !L ,L:LBLJLRLZL bL oL |L L LLLL LL LLLLLM'M6M?MGMVM"_MMMMMMMM MM N/N HNVN]N lNxNN(NNN N N NN O2OOO UO _OkOzOO OOO OOOP P'P ;PGP ePqPP PP PPPP PPP QQ.Q BQ MQYQsQQQ QQQQQQQQR(RARWRlRuR ~R!RR0R R RR SSS4-SbSjS oS }S S S3SGSJTRfTLTU!U8UMUaU uU UU?U"U*V?:V<zVVVVVVVWW:W XWyWWWWW W W WW[[[[ [[)[`[-A\8o\+\-\]]!](].]>].M]$|]]I^ R^ \^ j^u^ ~^^&^ ^^^ ^^^^ ^^ _#_)_<_D_L_U_e_k_q___ ___ ________` ` ` `$`*`0`8`@`F` ]`k`t````` `;``G`Fa^bub bMbb&c+c:cRcicnc6c!c cRd"Wdzd=d.d/d e">eae0g @gKg;cg ggggg gggg hh(h1h7h?h Ch Mh[h dhnhh i i]6ii iiiij jj jj(j$k Ak Ok+[kk* l 8lCl GljQlllll l ll l m>mMm`mpmmm m m mmmmmm>m-n25nhn!n'nnnn nn oo #o1o 8o DoNoVo _oioo oooooooo o o o o o pp#p pp(p3q&;q&bq"q6qqq!r=7rurzrr rrrrrr r r r r rss5,sbs qs ~ss&ssss ssst tt,t?t Ft St ]tDht/t"tuuu*u9u PuZu ou |uuuuuuu uuv2vmGvEvv w w2wOwbwwwww"www xx x )x 6xAxHx Px#Zx~x/x4x/x/y!Ly1nyy y y yyyy zz -z8z?z=Gz zz'zz3z-{*3{&^{.{<{<{-.|3\|?|A|,}&?}&f}}&}%} } ~ ~ ~ '~1~ 6~@~ U~a~y~ ~~ ~ ~ ~~ ~~~~~   - 4@ E O]prw|   79q*Ӏ׀-5D#z ʁ ҁ߁ /<@ I Tbjrz ˂  $-'6^go~"˃߃  2/@ p~ („   :2Dw }  ҅݅ "= DO co  Ɔ φۆ % 5@V j uLJ ͇؇އ8(@i !҈0؈ "3:A4U 3ljGJCRL.I`u ?ԋ#+8?d<'AId   %‘ɑ Αؑ)` -k8+Ғ-,<KRXh.w%̓t }  &    * @NThpxѕڕ  #).5 : DNTZbjp  ǖ;ՖG(p M&+ R^v6! R("{=./ A"bo0~>)!<TE8B^1v 3@qmy>1=SE7W/5ajQcdefgH9rHw&ys+&iFUH)92!Z*bb c %PwvI4Y-Q }n-4nZ76:S qd#5M%:R6L87k@') (3R$(u 4`0 ^+ M90*sJ tU=VlXu|`.? +"I5CJ(VxKY 1O>\t@2{/.#*$<_K;,|Df8p]3/TAaCW%= Ge"OzzAChB][;_2r N,h6g.B\? <}!#m:E[LPo{;ND~"FX D$ p?A- 'FGijkl,&'xG%s The gschem log may contain more information.%s (g%.7s)%s failed to launch URI** Invalid UTF-8 in log message. See stderr or gschem.log. *unchanged*/Add Attribute.../Add Bus/Add Component.../Add Net/Add Text/Copy/Delete/Down Schematic/Down Symbol/Edit pin type.../Edit.../Move/Select/Up/Zoom Box/Zoom Extents/Zoom In/Zoom OutAdd AttributeAn error occurred while loading the requested file. Loading from '%s' failed: %s. The gschem log may contain more information.Attach OptionsEdit AttributeInvalid schematic on clipboard. An error occurred while inserting clipboard data: %s.OptionsScopeText ContentText PropertiesThe input attribute "%s" is invalid Please correct in order to continue The name and value must be non-empty. The name cannot end with a space. The value cannot start with a space.A_rcA_ttributesA_utonumber Text...About gschemActionAction feedback mode set to BOUNDINGBOX Action feedback mode set to OUTLINE Add AttributeAdd Text...Add buses mode Right mouse button to cancelAdd component... Select library and component from list, move the mouse into main window, click to place Right mouse button to cancelAdd nets mode Right mouse button to cancelAlignment:AllAll filesAn unknown error occurred while parsing configuration files. The gschem log may contain more information.Angle 1:Angle 2:ArcArc ModeArc ParamsArc Radius:AttachAttributeAttributesAttributes with empty name are not allowed. Please set a name.Automatic slottingAutonumber textAutonumber text in:B_W color schemeB_usBackgroundBottom to topBounding boxBoxBox ModeBusBus ModeBus pin (graphical)Bus ripper symbol [%s] was not found in any component library C_ircleCannot find any schematics above the current one! Cannot find source [%s] Cannot load gschem configuration.Cannot print current schematic to [%s] CenterChangedCircleCircle ModeClipboard insertion failedClose PageClosing Window Closing [%s] ColorColor EditColor...Color:Command:ComponentComponent D_ocumentation...Component ModeComponentsCoordsCopyCopy 1Copy 2Copy 3Copy 4Copy 5Copy ModeCopy into 1Copy into 2Copy into 3Copy into 4Copy into 5Copy to clipboardCopyright © 1998-2012 Ales Hvezda Copyright © 1998-2012 gEDA Contributors (see ChangeLog for details)Could NOT save backup file [%s] Could NOT save page [%s] Could NOT set backup file [%s] readonly Could NOT set previous backup file [%s] read-write Could not allocate display color %i! Could not allocate outline color %i! Could not allocate the color %s! Could not find symbol [%s] in library. Update failed. Could not launch URI ~S: ~ACouldn't allocate gc Couldn't find init scm file [%s] Create and edit electrical schematics and symbols with gschemCu_tCurrent WindowCurrent locale settings: %s Current pageCut 1Cut 2Cut 3Cut 4Cut 5Cut into 1Cut into 2Cut into 3Cut into 4Cut into 5Cut to clipboardCycle _grid stylesDOH! tried to find the whichone, but didn't find it! D_ocumentation...Dash Length:Dash Space:DashedDefault behavior - reference componentDegrees of Sweep:DeleteDeselectDestinationDetachDetached attributeDiagonalDiscard PageDiscarding page [%s] Dot grid selected DottedDown _SymbolDuplicateERROR: %s ERROR: An unknown error occurred while parsing configuration files. ERROR: NULL object in color_edit_dialog_apply! ERROR: NULL object in o_move_end! ERROR: NULL object! EditEdit AttributesEdit Fill TypeEdit Line Width & TypeEdit TextEdit Text PropertiesEdit Text...Edit pin typeEdit slot numberEdit slot number:Edit...EmbedEmbed Component/PictureEmbed component in schematicEmpty bufferEncapsulated PostscriptEnter new snap grid spacing:Enter new text size:Enter text, click apply, move cursor into window, click to place text. Middle button to rotate while placing.Error printing to file '%s' Check the log window for more informationError while trying to saveEvaluate:Execute Script...Executing guile script [%s] Extents no marginsExtents with marginsFailed to Save AllFailed to load fileFailed to load picture: %sFailed to read init scm file [%s] Failed to replace pictures: %sFailed to save fileFile orderFile:FilenameFill Type...Fill Type:FilledFilter:Find TextFound invalid gschem window smob ~SFunctionGot a non line object in o_move_check_endpoint Got an invalid buffer_number [o_buffer_paste_start] Got an invalid which one in o_bus_draw_stretch Got an invalid which one in o_net_draw_stretch Got an unexpected NULL in o_edit Got invalid show option; defaulting to show both GraphicGrid OFF Grid pointGrid(%s, %s)HatchHidden text is now invisible Hidden text is now visible Hide TextHide text starting with:Hie_rarchyHollowHotkeysIf you don't save, all your changes will be permanently lost.Image typeIn UseInclude component as individual objectsInvalid AttributeInvalid dot size [%d] passed to dots-grid-dot-size Invalid gain [%d] passed to keyboardpan-gain Invalid gain [%d] passed to mousepan-gain Invalid gain [%d] passed to zoom-gain Invalid num levels [%d] passed to undo-levels Invalid number of pixels [%d] passed to select-slack-pixels Invalid number of seconds [%d] passed to auto-save-interval Invalid number of steps [%d] scrollpan-steps Invalid offset [%d] passed to add-attribute-offset Invalid pixel spacing [%d] passed to dots-grid-fixed-threshold Invalid pixel spacing [%d] passed to mesh-grid-display-threshold Invalid size [%d] passed to bus-ripper-size Invalid size [%d] passed to snap-size Invalid size [%d] passed to text-size Invalid text alignment ~A.Invalid text name/value visibility ~A.Invalid zoomfactor [%d] passed to %s Invoke MacroKeystroke(s)LandscapeLeft to rightLibrariesLineLine ModeLine Width & Type...Line Width:Loading schematic [%s] LockLogic bubbleLower LeftLower MiddleLower RightMagnetic Net ModeMenu/CancelMeshMesh grid majorMesh grid minorMesh grid selected Middle LeftMiddle MiddleMiddle RightMirrorMirror ModeMoveMove ModeMultiple CopyMultiple Copy ModeNNONENameName:Ne_wNetNet ModeNet endpointNet junctionNet pinNetsNewNew PageNew WindowNew Window created [%s] New fileNew file [%s] New page created [%s] New slot number out of range No '*' or '?' given at the end of the autonumber text. No documentation foundNo print destination specified No searchstring given in autonumber text. OFFObject already locked Object already unlocked Object color:Object ~A is not directly included in a page.Object ~A is not included in the current gschem page.Offset to translate? (0 for origin)OpenOpen Page...Open Recen_tOpen file...Open...Orientation:Output backgroundOutput paper size:Overwrite existing numbersOverwrite file?Page ManagerPanPan ModePan/CancelPaste %d ModePaste 1Paste 2Paste 3Paste 4Paste 5Paste from 1Paste from 2Paste from 3Paste from 4Paste from 5Paste from clipboardPhantomPickPictu_re...PicturePicture ModePinPin ModePin typePitch 1:Pitch 2:Popup_menu_item_factory doesn't exist! PortraitPreviewPreview BufferPrint...Printed current schematic to [%s] PromoteRead init scm file [%s] Really revert page?RedoRedo last undoRemove numbersRepeat/Repeat/noneReplace existing attributesResnap ActiveRight click on the filename for more options...Right to leftRotateRotate 90 ModeRotate ModeRubber band OFF Rubber band ON S_elect the schematics you want to save:SaveSave AllSave PageSave _As...Save as...Save cancelled on user request Save fileSave the changes to schematic "%s" before closing?SavedSaved AllSaved [%s] Saved as [%s] Scale _down Grid SpacingScale _up Grid SpacingSchematicsSchematics and symbolsScreenSearch for:Searching for source [%s] Searching for symbol [%s] SelectSelect AllSelect Component...Select ModeSelect PostScript Filename...Select modeSelect objs firstSelected objectsSelectionSettingsShow HiddenShow Name & ValueShow Name OnlyShow Name onlyShow TextShow Value OnlyShow Value onlyShow _BothShow _Coord Window...Show _Log Window...Show _NameShow _ValueShow inherited attributesShow text starting with:Show/Hide Inv TextShowBShowHiddenShowNShowVSingle Attribute EditorSize:Skip numbers found in:SlotSlot attribute malformed Slot...Slotting not allowed for this component Snap Grid S_pacing...Snap OFF (CAUTION!) Snap ON Snap OffSnap SizeSnap back to the grid (CAUTION!) SolidSorry but this is a non-functioning menu option Sort order:Start Angle:Starting number:StatusStrokeSymbol Translate...Symbol is not a real file. Symbol cannot be loaded. SymbolsTextText Entry...Text ModeText SizeText to find:The operating system is out of memory or resources.The selected file `%s' already exists. Would you like to overwrite it?There are %d schematics with unsaved changes. Save changes before closing?There was the following error when saving image with type %s to filename: %s %s. This is free software, and you are welcome to redistribute it under certain This is the MINGW32 port. Toggle Net _RubberbandToggle _Magnetic NetToggle _Outline/BoxToggle _Snap On/OffTop to bottomTranslateTranslating schematic [%d %d] Tried to add more than two bus rippers. Internal gschem error. Tried to get an invalid color: %d Tried to get an invalid outline color: %d Tried to set the sensitivity on a non-existent popup menu_item Tried to set the sensitivity on non-existent menu item '%s' Type:UndoUndo last operationUndo/Redo disabled in rc file UnembedUnembed Component/PictureUnknownUnknown end for line (%d) Unknown type for box (fill)! Unknown type for circle (fill)! Unknown type for path (fill)! Unknown type for stroke (%d) ! UnlockUpdateUpdate ComponentUpper LeftUpper MiddleUpper RightUsage: %s [OPTION ...] [--] [FILE ...] Interactively edit gEDA schematics or symbols. If one or more FILEs are specified, open them for editing; otherwise, create a new, empty schematic. Options: -q, --quiet Quiet mode. -v, --verbose Verbose mode. -r, --config-file=FILE Additional configuration file to load. -L DIR Add DIR to Scheme search path. -c EXPR Scheme expression to run at startup. -s FILE Scheme script to run at startup. -o, --output=FILE Output filename (for printing). -p Automatically place the window. -V, --version Show version information. -h, --help Help; this message. -- Treat all remaining arguments as filenames. Report bugs at gEDA/gaf homepage: VValueValue:Vis?VisToggleVisibleWARNING: Do not translate with snap off! WARNING: If you are translating a symbol to the origin, the snap grid size should be set to 100 WARNING: Snap grid size is not equal to 100! WARNING: Turning snap on and continuing with translate. Warning: Ending net at off grid coordinate Warning: Starting net at off grid coordinate Whole hierarchyWidth x HeightWidth:WorldWrite _image...Write image...Wrote black and white image to [%s] [%d x %d] Wrote color image to [%s] [%d x %d] You must set the GEDADATA environment variable! gschem cannot locate its data files. You must set the GEDADATA environment variable to point to the correct location. Zoom BoxZoom _BoxZoom _ExtentsZoom _FullZoom _InZoom _OutZoom boxZoom too small! Cannot zoom further. _About..._Add_Attach_Attribute..._Box_Buffer_Close_Close Window_Close without saving_Component..._Copy_Dark color scheme_Delete_Detach_Discard_Down Schematic_Edit_File_Find Specific Text..._Help_Hide Specific Text..._Hotkeys..._Light color scheme_Line_Manager..._Net_New_Next_Open..._Options_Page_Pan_Paste_Pin_Previous_Print..._Quit_Redo_Redraw_Revert_Save_Show Specific Text..._Text Size..._Text..._Toggle Visibility_Undo_Up_Viewblackcairo contextconditions; please see the COPYING file for more details. descend into hierarchyduplicate slot may cause problems: [symbolname=%s, number=%d, slot=%d] gEDA %s (g%.7s) Copyright (C) 1998-2012 gEDA developers This is free software, and you are welcome to redistribute it under certain conditions. For details, see the file `COPYING', which is included in the gEDA distribution. There is NO WARRANTY, to the extent permitted by law. gEDA Docu_mentation...gEDA Schematic EditorgEDA _Wiki...gEDA/gschem comes with ABSOLUTELY NO WARRANTY; see COPYING for more details. gEDA/gschem version %s%s.%s gEDA: GPL Electronic Design Automationgschem _FAQ...magnetic net mode: OFF magnetic net mode: ON nonenumslots attribute missing o_autosave_backups: Can't get the real filename of %s.o_buffer_copy: Invalid buffer %i o_buffer_cut: Invalid buffer %i slotted object without slot attribute may cause problems when autonumbering slots the cairo context for the rendererwhitex_image_lowlevel: Unable to get pixbuf from gschem's window. x_image_lowlevel: Unable to write %s file %s. x_image_lowlevel: Unable to write eps file %s. ~S is not a prefix key sequence.~S is not a valid key combination.Project-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-01-31 12:14+0000 Last-Translator: Peter TB Brett Language-Team: gEDA developers Language: en_GB MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) %s The gschem log may contain more information.%s (g%.7s)%s failed to launch URI** Invalid UTF-8 in log message. See stderr or gschem.log. *unchanged*/Add Attribute.../Add Bus/Add Component.../Add Net/Add Text/Copy/Delete/Down Schematic/Down Symbol/Edit pin type.../Edit.../Move/Select/Up/Zoom Box/Zoom Extents/Zoom In/Zoom OutAdd AttributeAn error occurred while loading the requested file. Loading from '%s' failed: %s. The gschem log may contain more information.Attach OptionsEdit AttributeInvalid schematic on clipboard. An error occurred while inserting clipboard data: %s.OptionsScopeText ContentText PropertiesThe input attribute "%s" is invalid Please correct in order to continue The name and value must be non-empty. The name cannot end with a space. The value cannot start with a space.A_rcA_ttributesA_utonumber Text...About gschemActionAction feedback mode set to BOUNDINGBOX Action feedback mode set to OUTLINE Add AttributeAdd Text...Add buses mode Right mouse button to cancelAdd component... Select library and component from list, move the mouse into main window, click to place Right mouse button to cancelAdd nets mode Right mouse button to cancelAlignment:AllAll filesAn unknown error occurred while parsing configuration files. The gschem log may contain more information.Angle 1:Angle 2:ArcArc ModeArc ParamsArc Radius:AttachAttributeAttributesAttributes with empty name are not allowed. Please set a name.Automatic slottingAutonumber textAutonumber text in:B_W color schemeB_usBackgroundBottom to topBounding boxBoxBox ModeBusBus ModeBus pin (graphical)Bus ripper symbol [%s] was not found in any component library C_ircleCannot find any schematics above the current one! Cannot find source [%s] Cannot load gschem configuration.Cannot print current schematic to [%s] CenterChangedCircleCircle ModeClipboard insertion failedClose PageClosing Window Closing [%s] ColourColour EditColour...Colour:Command:ComponentComponent D_ocumentationComponent ModeComponentsCoordsCopyCopy 1Copy 2Copy 3Copy 4Copy 5Copy ModeCopy into 1Copy into 2Copy into 3Copy into 4Copy into 5Copy to clipboardCopyright © 1998-2012 Ales Hvezda Copyright © 1998-2012 gEDA Contributors (see ChangeLog for details)Could NOT save backup file [%s] Could NOT save page [%s] Could NOT set backup file [%s] readonly Could NOT set previous backup file [%s] read-write Could not allocate display colour %i! Could not allocate outline colour %i! Could not allocate the colour %s! Could not find symbol [%s] in library. Update failed. Could not launch URI ~S: ~ACouldn't allocate gc Couldn't find init scm file [%s] Create and edit electrical schematics and symbols with gschemCu_tCurrent WindowCurrent locale settings: %s Current pageCut 1Cut 2Cut 3Cut 4Cut 5Cut into 1Cut into 2Cut into 3Cut into 4Cut into 5Cut to clipboardCycle _grid stylesDOH! tried to find the whichone, but didn't find it! D_ocumentationDash Length:Dash Space:DashedDefault behavior - reference componentDegrees of Sweep:DeleteDeselectDestinationDetachDetached attributeDiagonalDiscard PageDiscarding page [%s] Dot grid selected DottedDown _SymbolDuplicateERROR: %s ERROR: An unknown error occurred while parsing configuration files. ERROR: NULL object in color_edit_dialog_apply! ERROR: NULL object in o_move_end! ERROR: NULL object! EditEdit AttributesEdit Fill TypeEdit Line Width & TypeEdit TextEdit Text PropertiesEdit Text...Edit pin typeEdit slot numberEdit slot number:Edit...EmbedEmbed Component/PictureEmbed component in schematicEmpty bufferEncapsulated PostscriptEnter new snap grid spacing:Enter new text size:Enter text, click apply, move cursor into window, click to place text. Middle button to rotate while placing.Error printing to file '%s' Check the log window for more informationError while trying to saveEvaluate:Execute Script...Executing guile script [%s] Extents no marginsExtents with marginsFailed to Save AllFailed to load fileFailed to load picture: %sFailed to read init scm file [%s] Failed to replace pictures: %sFailed to save fileFile orderFile:FilenameFill Type...Fill Type:FilledFilter:Find TextFound invalid gschem window smob ~SFunctionGot a non line object in o_move_check_endpoint Got an invalid buffer_number [o_buffer_paste_start] Got an invalid which one in o_bus_draw_stretch Got an invalid which one in o_net_draw_stretch Got an unexpected NULL in o_edit Got invalid show option; defaulting to show both GraphicGrid OFF Grid pointGrid(%s, %s)HatchHidden text is now invisible Hidden text is now visible Hide TextHide text starting with:Hie_rarchyHollowHotkeysIf you don't save, all your changes will be permanently lost.Image typeIn UseInclude component as individual objectsInvalid AttributeInvalid dot size [%d] passed to dots-grid-dot-size Invalid gain [%d] passed to keyboardpan-gain Invalid gain [%d] passed to mousepan-gain Invalid gain [%d] passed to zoom-gain Invalid num levels [%d] passed to undo-levels Invalid number of pixels [%d] passed to select-slack-pixels Invalid number of seconds [%d] passed to auto-save-interval Invalid number of steps [%d] scrollpan-steps Invalid offset [%d] passed to add-attribute-offset Invalid pixel spacing [%d] passed to dots-grid-fixed-threshold Invalid pixel spacing [%d] passed to mesh-grid-display-threshold Invalid size [%d] passed to bus-ripper-size Invalid size [%d] passed to snap-size Invalid size [%d] passed to text-size Invalid text alignment ~A.Invalid text name/value visibility ~A.Invalid zoomfactor [%d] passed to %s Invoke MacroKeystroke(s)LandscapeLeft to rightLibrariesLineLine ModeLine Width & Type...Line Width:Loading schematic [%s] LockLogic bubbleLower LeftLower MiddleLower RightMagnetic Net ModeMenu/CancelMeshMesh grid majorMesh grid minorMesh grid selected Middle LeftMiddle MiddleMiddle RightMirrorMirror ModeMoveMove ModeMultiple CopyMultiple Copy ModeNNONENameName:Ne_wNetNet ModeNet endpointNet junctionNet pinNetsNewNew PageNew WindowNew Window created [%s] New fileNew file [%s] New page created [%s] New slot number out of range No '*' or '?' given at the end of the autonumber text. No documentation foundNo print destination specified No searchstring given in autonumber text. OFFObject already locked Object already unlocked Object colour:Object ~A is not directly included in a page.Object ~A is not included in the current gschem page.Offset to translate? (0 for origin)OpenOpen Page...Open Recen_tOpen file...Open...Orientation:Output backgroundOutput paper size:Overwrite existing numbersOverwrite file?Page ManagerPanPan ModePan/CancelPaste %d ModePaste 1Paste 2Paste 3Paste 4Paste 5Paste from 1Paste from 2Paste from 3Paste from 4Paste from 5Paste from clipboardPhantomPickPictu_re...PicturePicture ModePinPin ModePin typePitch 1:Pitch 2:Popup_menu_item_factory doesn't exist! PortraitPreviewPreview BufferPrint...Printed current schematic to [%s] PromoteRead init scm file [%s] Really revert page?RedoRedo last undoRemove numbersRepeat/Repeat/noneReplace existing attributesResnap ActiveRight click on the filename for more options...Right to leftRotateRotate 90 ModeRotate ModeRubber band OFF Rubber band ON S_elect the schematics you want to save:SaveSave AllSave PageSave _As...Save as...Save cancelled on user request Save fileSave the changes to schematic "%s" before closing?SavedSaved AllSaved [%s] Saved as [%s] Scale _down Grid SpacingScale _up Grid SpacingSchematicsSchematics and symbolsScreenSearch for:Searching for source [%s] Searching for symbol [%s] SelectSelect AllSelect Component...Select ModeSelect PostScript Filename...Select modeSelect objs firstSelected objectsSelectionSettingsShow HiddenShow Name & ValueShow Name OnlyShow Name onlyShow TextShow Value OnlyShow Value onlyShow _BothShow _Coord Window...Show _Log Window...Show _NameShow _ValueShow inherited attributesShow text starting with:Show/Hide Inv TextShowBShowHiddenShowNShowVSingle Attribute EditorSize:Skip numbers found in:SlotSlot attribute malformed Slot...Slotting not allowed for this component Snap Grid S_pacing...Snap OFF (CAUTION!) Snap ON Snap OffSnap SizeSnap back to the grid (CAUTION!) SolidSorry but this is a non-functioning menu option Sort order:Start Angle:Starting number:StatusStrokeSymbol Translate...Symbol is not a real file. Symbol cannot be loaded. SymbolsTextText Entry...Text ModeText SizeText to find:The operating system is out of memory or resources.The selected file `%s' already exists. Would you like to overwrite it?There are %d schematics with unsaved changes. Save changes before closing?There was the following error when saving image with type %s to filename: %s %s. This is free software, and you are welcome to redistribute it under certain This is the MINGW32 port. Toggle Net _RubberbandToggle _Magnetic NetToggle _Outline/BoxToggle _Snap On/OffTop to bottomTranslateTranslating schematic [%d %d] Tried to add more than two bus rippers. Internal gschem error. Tried to get an invalid colour: %d Tried to get an invalid outline colour: %d Tried to set the sensitivity on a non-existent popup menu_item Tried to set the sensitivity on non-existent menu item '%s' Type:UndoUndo last operationUndo/Redo disabled in rc file UnembedUnembed Component/PictureUnknownUnknown end for line (%d) Unknown type for box (fill)! Unknown type for circle (fill)! Unknown type for path (fill)! Unknown type for stroke (%d) ! UnlockUpdateUpdate ComponentUpper LeftUpper MiddleUpper RightUsage: %s [OPTION ...] [--] [FILE ...] Interactively edit gEDA schematics or symbols. If one or more FILEs are specified, open them for editing; otherwise, create a new, empty schematic. Options: -q, --quiet Quiet mode. -v, --verbose Verbose mode. -r, --config-file=FILE Additional configuration file to load. -L DIR Add DIR to Scheme search path. -c EXPR Scheme expression to run at startup. -s FILE Scheme script to run at startup. -o, --output=FILE Output filename (for printing). -p Automatically place the window. -V, --version Show version information. -h, --help Help; this message. -- Treat all remaining arguments as filenames. Report bugs at gEDA/gaf homepage: VValueValue:Vis?VisToggleVisibleWARNING: Do not translate with snap off! WARNING: If you are translating a symbol to the origin, the snap grid size should be set to 100 WARNING: Snap grid size is not equal to 100! WARNING: Turning snap on and continuing with translate. Warning: Ending net at off grid coordinate Warning: Starting net at off grid coordinate Whole hierarchyWidth x HeightWidth:WorldWrite _image...Write image...Wrote black and white image to [%s] [%d x %d] Wrote colour image to [%s] [%d x %d] You must set the GEDADATA environment variable! gschem cannot locate its data files. You must set the GEDADATA environment variable to point to the correct location. Zoom BoxZoom _BoxZoom _ExtentsZoom _FullZoom _InZoom _OutZoom boxZoom too small! Cannot zoom further. _About..._Add_Attach_Attribute..._Box_Buffer_Close_Close Window_Close without saving_Component..._Copy_Dark colour scheme_Delete_Detach_Discard_Down Schematic_Edit_File_Find Specific Text..._Help_Hide Specific Text..._Hotkeys_Light colour scheme_Line_Manager..._Net_New_Next_Open..._Options_Page_Pan_Paste_Pin_Previous_Print..._Quit_Redo_Redraw_Revert_Save_Show Specific Text..._Text Size..._Text..._Toggle Visibility_Undo_Up_Viewblackcairo contextconditions; please see the COPYING file for more details. descend into hierarchyduplicate slot may cause problems: [symbolname=%s, number=%d, slot=%d] gEDA %s (g%.7s) Copyright (C) 1998-2012 gEDA developers This is free software, and you are welcome to redistribute it under certain conditions. For details, see the file `COPYING', which is included in the gEDA distribution. There is NO WARRANTY, to the extent permitted by law. gEDA Docu_mentationgEDA Schematic EditorgEDA _Wiki...gEDA/gschem comes with ABSOLUTELY NO WARRANTY; see COPYING for more details. gEDA/gschem version %s%s.%s gEDA: GPL Electronic Design Automationgschem _FAQmagnetic net mode: OFF magnetic net mode: ON nonenumslots attribute missing o_autosave_backups: Can't get the real filename of %s.o_buffer_copy: Invalid buffer %i o_buffer_cut: Invalid buffer %i slotted object without slot attribute may cause problems when autonumbering slots the cairo context for the rendererwhitex_image_lowlevel: Unable to get pixbuf from gschem's window. x_image_lowlevel: Unable to write %s file %s. x_image_lowlevel: Unable to write eps file %s. ~S is not a prefix key sequence.~S is not a valid key combination.geda-gaf-1.8.2/gschem/po/af.po0000664000175000017500000016735212220655644012736 00000000000000# Afrikaans translation for the gEDA gschem package. # Copyright (C) 2008 Bernd Jendrissek # This file is distributed under the same license as the gschem package. # msgid "" msgstr "" "Project-Id-Version: geda-gschem\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2010-02-14 01:03+0000\n" "Last-Translator: Bernd Jendrissek \n" "Language-Team: gEDA developers \n" "Language: af\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2010-02-14 12:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: gschem/src/a_zoom.c:212 msgid "Zoom too small! Cannot zoom further.\n" msgstr "Zoem is te klein! Kan nie verder zoem nie.\n" #: gschem/src/g_attrib.c:92 msgid "Object ~A is not included in the current gschem page." msgstr "" #: gschem/src/g_attrib.c:112 msgid "Invalid text name/value visibility ~A." msgstr "" #: gschem/src/g_rc.c:312 #, c-format msgid "Invalid zoomfactor [%d] passed to %s\n" msgstr "Ongeldige zoemmaat [%d] aan %s gegee\n" #: gschem/src/g_rc.c:458 #, c-format msgid "Invalid size [%d] passed to text-size\n" msgstr "Ongeldige grootte [%d] gegee aan text-size\n" #: gschem/src/g_rc.c:501 #, c-format msgid "Invalid size [%d] passed to snap-size\n" msgstr "Ongeldige grootte [%d] aan snap-size gegee\n" #: gschem/src/g_rc.c:958 #, c-format msgid "Invalid num levels [%d] passed to undo-levels\n" msgstr "Ongeldige getal vlakke [%d] gegee aan undo-levels\n" #: gschem/src/g_rc.c:1220 #, c-format msgid "Invalid size [%d] passed to bus-ripper-size\n" msgstr "Ongeldige grootte [%d] gegee aan bus-ripper-size\n" #: gschem/src/g_rc.c:1295 #, c-format msgid "Invalid dot size [%d] passed to dots-grid-dot-size\n" msgstr "Ongeldige puntgrootte [%d] gegee aan dots-grid-dot-size\n" #: gschem/src/g_rc.c:1336 #, c-format msgid "Invalid pixel spacing [%d] passed to dots-grid-fixed-threshold\n" msgstr "" #: gschem/src/g_rc.c:1362 #, c-format msgid "Invalid pixel spacing [%d] passed to mesh-grid-display-threshold\n" msgstr "" #: gschem/src/g_rc.c:1387 #, c-format msgid "Invalid offset [%d] passed to add-attribute-offset\n" msgstr "Ongeldige verkuiwing [%d] gegee aan add-attribute-offset\n" #: gschem/src/g_rc.c:1411 #, c-format msgid "Invalid number of seconds [%d] passed to auto-save-interval\n" msgstr "Ongeldige hoeveelheid sekondes [%d] gegee aan auto-save-interval\n" #: gschem/src/g_rc.c:1435 #, c-format msgid "Invalid gain [%d] passed to mousepan-gain\n" msgstr "Ongeldige versterking [%d] gegee aan mousepan-gain\n" #: gschem/src/g_rc.c:1458 #, c-format msgid "Invalid gain [%d] passed to keyboardpan-gain\n" msgstr "Ongeldige versterking [%d] gegee aan keyboardpan-gain\n" #: gschem/src/g_rc.c:1505 #, c-format msgid "Invalid number of pixels [%d] passed to select-slack-pixels\n" msgstr "" #: gschem/src/g_rc.c:1531 #, c-format msgid "Invalid gain [%d] passed to zoom-gain\n" msgstr "Ongeldige versterking [%d] gegee aan zoom-gain\n" #: gschem/src/g_rc.c:1556 #, c-format msgid "Invalid number of steps [%d] scrollpan-steps\n" msgstr "" #: gschem/src/g_select.c:79 gschem/src/g_select.c:116 #: gschem/src/g_select.c:152 msgid "Object ~A is not directly included in a page." msgstr "" #: gschem/src/g_util.c:56 msgid "Could not launch URI ~S: ~A" msgstr "" #: gschem/src/g_window.c:136 msgid "Found invalid gschem window smob ~S" msgstr "" #: gschem/src/gschem.c:175 #, c-format msgid "gEDA/gschem version %s%s.%s\n" msgstr "gEDA/gschem uitgawe %s%s.%s\n" # FIXME: Best to get a real lawyer to translate this into Afrikaans legalese. #: gschem/src/gschem.c:178 msgid "" "gEDA/gschem comes with ABSOLUTELY NO WARRANTY; see COPYING for more " "details.\n" msgstr "" "gEDA/gschem comes with ABSOLUTELY NO WARRANTY; see COPYING for more " "details.\n" #: gschem/src/gschem.c:180 msgid "" "This is free software, and you are welcome to redistribute it under certain\n" msgstr "" #: gschem/src/gschem.c:182 msgid "" "conditions; please see the COPYING file for more details.\n" "\n" msgstr "" #: gschem/src/gschem.c:185 #, c-format msgid "This is the MINGW32 port.\n" msgstr "" #: gschem/src/gschem.c:189 #, c-format msgid "Current locale settings: %s\n" msgstr "" #: gschem/src/gschem.c:211 msgid "" "You must set the GEDADATA environment variable!\n" "\n" "gschem cannot locate its data files. You must set the GEDADATA\n" "environment variable to point to the correct location.\n" msgstr "" #: gschem/src/gschem.c:248 #, c-format msgid "Couldn't find init scm file [%s]\n" msgstr "" #: gschem/src/gschem.c:252 #, c-format msgid "Read init scm file [%s]\n" msgstr "Het scm-aanvangslêer [%s] gelees\n" #: gschem/src/gschem.c:256 #, c-format msgid "Failed to read init scm file [%s]\n" msgstr "Het misluk of scm-aanvangslêer [%s] te lees\n" #: gschem/src/gschem_cairo.c:310 #, c-format msgid "Unknown end for line (%d)\n" msgstr "Onbekende einde vir lyn (%d)\n" #: gschem/src/gschem_cairo.c:318 #, c-format msgid "Unknown type for stroke (%d) !\n" msgstr "" #: gschem/src/gschem_pango.c:289 msgid "cairo context" msgstr "" #: gschem/src/gschem_pango.c:290 msgid "the cairo context for the renderer" msgstr "" #: gschem/src/i_basic.c:77 gschem/src/x_window.c:524 #: gschem/lib/system-gschemrc.scm:1399 msgid "Select Mode" msgstr "Uitsoekmodus" #: gschem/src/i_basic.c:79 msgid "Component Mode" msgstr "Komponentmodus" #: gschem/src/i_basic.c:81 msgid "Text Mode" msgstr "Teksmodues" #: gschem/src/i_basic.c:84 gschem/lib/system-gschemrc.scm:1402 msgid "Copy Mode" msgstr "Kopieermodus" #: gschem/src/i_basic.c:87 gschem/lib/system-gschemrc.scm:1404 msgid "Move Mode" msgstr "Skuifmodus" #: gschem/src/i_basic.c:89 msgid "Rotate Mode" msgstr "Roteermodus" #: gschem/src/i_basic.c:91 gschem/lib/system-gschemrc.scm:1406 msgid "Mirror Mode" msgstr "Weerkaatsmodus" #: gschem/src/i_basic.c:95 msgid "Zoom Box" msgstr "Zoem Reghoek" #: gschem/src/i_basic.c:99 msgid "Pan Mode" msgstr "Aansigskuifmodus" #: gschem/src/i_basic.c:103 #, c-format msgid "Paste %d Mode" msgstr "Plak %d Modus" #: gschem/src/i_basic.c:109 msgid "Magnetic Net Mode" msgstr "" #: gschem/src/i_basic.c:111 msgid "Net Mode" msgstr "Netmodus" #: gschem/src/i_basic.c:115 msgid "Bus Mode" msgstr "Busmodus" #: gschem/src/i_basic.c:118 msgid "Line Mode" msgstr "Lynmodus" #: gschem/src/i_basic.c:121 msgid "Box Mode" msgstr "Reghoekmodus" #: gschem/src/i_basic.c:124 msgid "Picture Mode" msgstr "Afbeeldingmodus" #: gschem/src/i_basic.c:127 msgid "Circle Mode" msgstr "Sirkelmodus" #: gschem/src/i_basic.c:130 msgid "Arc Mode" msgstr "Boogmodus" #: gschem/src/i_basic.c:133 msgid "Pin Mode" msgstr "Penmodus" #: gschem/src/i_basic.c:135 gschem/src/i_callbacks.c:529 #: gschem/src/i_callbacks.c:553 msgid "Copy" msgstr "Kopieer" #: gschem/src/i_basic.c:137 gschem/src/i_callbacks.c:619 #: gschem/src/i_callbacks.c:643 msgid "Move" msgstr "Beweeg" #: gschem/src/i_basic.c:139 gschem/src/i_callbacks.c:574 #: gschem/src/i_callbacks.c:598 msgid "Multiple Copy" msgstr "Veelvoudige Kopieer" #: gschem/src/i_basic.c:142 gschem/lib/system-gschemrc.scm:1403 msgid "Multiple Copy Mode" msgstr "Meervoudige Kopieermodus" #: gschem/src/i_basic.c:168 msgid "Show Hidden" msgstr "Toon Verskuilde" #: gschem/src/i_basic.c:171 msgid "Snap Off" msgstr "" #: gschem/src/i_basic.c:173 msgid "Resnap Active" msgstr "" #: gschem/src/i_basic.c:254 gschem/src/x_window.c:498 msgid "Action" msgstr "Handeling" #: gschem/src/i_basic.c:260 gschem/src/x_dialog.c:2325 #: gschem/src/x_window.c:493 msgid "Stroke" msgstr "Wyserslag" #: gschem/src/i_basic.c:266 gschem/src/x_window.c:495 msgid "none" msgstr "geen" #: gschem/src/i_basic.c:271 msgid "Repeat/" msgstr "Herhaal/" #: gschem/src/i_basic.c:566 gschem/src/i_basic.c:580 msgid "OFF" msgstr "AF" #: gschem/src/i_basic.c:584 msgid "NONE" msgstr "" #: gschem/src/i_basic.c:589 #, c-format msgid "Grid(%s, %s)" msgstr "Rooster(%s, %s)" #: gschem/src/i_callbacks.c:76 gschem/src/i_callbacks.c:1659 #, c-format msgid "New page created [%s]\n" msgstr "Nuwe bladsy geskep [%s]\n" #: gschem/src/i_callbacks.c:124 #, c-format msgid "New Window created [%s]\n" msgstr "Nuwe Venster geskep [%s]\n" #: gschem/src/i_callbacks.c:242 msgid "Failed to Save All" msgstr "Misluk om alles te bewaar" #: gschem/src/i_callbacks.c:244 msgid "Saved All" msgstr "Alles Bewaar" #: gschem/src/i_callbacks.c:334 msgid "Closing Window\n" msgstr "Sluit Venster\n" #: gschem/src/i_callbacks.c:534 gschem/src/i_callbacks.c:579 #: gschem/src/i_callbacks.c:624 msgid "Select objs first" msgstr "Kies eers voorwerpe" #: gschem/src/i_callbacks.c:663 gschem/src/x_multiattrib.c:1549 msgid "Delete" msgstr "Verwyder" #: gschem/src/i_callbacks.c:688 msgid "Edit" msgstr "Bewerk" #: gschem/src/i_callbacks.c:703 msgid "Edit pin type" msgstr "" #: gschem/src/i_callbacks.c:722 msgid "Edit Text" msgstr "Bewerk Teks" #: gschem/src/i_callbacks.c:745 msgid "Slot" msgstr "Gleuf" #: gschem/src/i_callbacks.c:762 msgid "Color" msgstr "Kleur" #: gschem/src/i_callbacks.c:799 gschem/src/i_callbacks.c:844 msgid "Rotate" msgstr "Roteer" #: gschem/src/i_callbacks.c:866 gschem/src/i_callbacks.c:891 msgid "Mirror" msgstr "Weerkaats" #: gschem/src/i_callbacks.c:912 gschem/src/x_dialog.c:2328 #: gschem/lib/system-gschemrc.scm:1415 msgid "Lock" msgstr "Sluit" #: gschem/src/i_callbacks.c:930 gschem/lib/system-gschemrc.scm:1416 msgid "Unlock" msgstr "Ontsluit" #: gschem/src/i_callbacks.c:948 gschem/src/x_dialog.c:1746 msgid "Translate" msgstr "Verskuif" #: gschem/src/i_callbacks.c:951 msgid "WARNING: Do not translate with snap off!\n" msgstr "" #: gschem/src/i_callbacks.c:952 msgid "WARNING: Turning snap on and continuing with translate.\n" msgstr "" #: gschem/src/i_callbacks.c:959 msgid "WARNING: Snap grid size is not equal to 100!\n" msgstr "" #: gschem/src/i_callbacks.c:961 msgid "" "WARNING: If you are translating a symbol to the origin, the snap grid size " "should be set to 100\n" msgstr "" #: gschem/src/i_callbacks.c:992 msgid "Embed" msgstr "Lê In" # FIXME: too klunky! #: gschem/src/i_callbacks.c:1031 msgid "Unembed" msgstr "Ont-lê In" #: gschem/src/i_callbacks.c:1073 msgid "Update" msgstr "" #: gschem/src/i_callbacks.c:1120 msgid "ShowHidden" msgstr "ToonVerskuil" #: gschem/src/i_callbacks.c:1426 gschem/src/i_callbacks.c:1498 msgid "Pan" msgstr "Skuif Aansig" #: gschem/src/i_callbacks.c:1703 msgid "Really revert page?" msgstr "" #: gschem/src/i_callbacks.c:1773 msgid "Copy to clipboard" msgstr "" #: gschem/src/i_callbacks.c:1791 msgid "Cut to clipboard" msgstr "" #: gschem/src/i_callbacks.c:1809 msgid "Paste from clipboard" msgstr "" #: gschem/src/i_callbacks.c:1821 gschem/src/i_callbacks.c:2060 #: gschem/src/i_callbacks.c:2082 gschem/src/i_callbacks.c:2104 #: gschem/src/i_callbacks.c:2126 gschem/src/i_callbacks.c:2148 msgid "Empty buffer" msgstr "Maak buffer leeg" #: gschem/src/i_callbacks.c:1866 msgid "Copy 1" msgstr "Kopieer 1" #: gschem/src/i_callbacks.c:1885 msgid "Copy 2" msgstr "Kopieer 2" #: gschem/src/i_callbacks.c:1904 msgid "Copy 3" msgstr "Kopieer 3" #: gschem/src/i_callbacks.c:1923 msgid "Copy 4" msgstr "Kopieer 4" #: gschem/src/i_callbacks.c:1942 msgid "Copy 5" msgstr "Kopieer 5" #: gschem/src/i_callbacks.c:1961 msgid "Cut 1" msgstr "Sny 1" #: gschem/src/i_callbacks.c:1980 msgid "Cut 2" msgstr "Sny 2" #: gschem/src/i_callbacks.c:1999 msgid "Cut 3" msgstr "Sny 3" #: gschem/src/i_callbacks.c:2018 msgid "Cut 4" msgstr "Sny 4" #: gschem/src/i_callbacks.c:2037 msgid "Cut 5" msgstr "Sny 5" #: gschem/src/i_callbacks.c:2053 msgid "Paste 1" msgstr "Plak 1" #: gschem/src/i_callbacks.c:2075 msgid "Paste 2" msgstr "Plak 2" #: gschem/src/i_callbacks.c:2097 msgid "Paste 3" msgstr "Plak 3" #: gschem/src/i_callbacks.c:2119 msgid "Paste 4" msgstr "Plak 4" #: gschem/src/i_callbacks.c:2141 msgid "Paste 5" msgstr "Plak 5" #: gschem/src/i_callbacks.c:2278 gschem/src/x_window.c:359 msgid "Component" msgstr "Komponent" #: gschem/src/i_callbacks.c:2314 gschem/src/i_callbacks.c:2333 #: gschem/src/x_dialog.c:2298 msgid "Attribute" msgstr "Eienskap" #: gschem/src/i_callbacks.c:2355 gschem/src/i_callbacks.c:2382 #: gschem/src/x_dialog.c:2295 msgid "Net" msgstr "Skakeling" #: gschem/src/i_callbacks.c:2426 gschem/src/i_callbacks.c:2453 #: gschem/src/x_dialog.c:2313 gschem/src/x_window.c:379 msgid "Bus" msgstr "Bus" #: gschem/src/i_callbacks.c:2534 gschem/src/i_callbacks.c:2557 msgid "Line" msgstr "Lyn" #: gschem/src/i_callbacks.c:2579 gschem/src/i_callbacks.c:2602 msgid "Box" msgstr "Reghoek" #: gschem/src/i_callbacks.c:2658 gschem/src/i_callbacks.c:2682 msgid "Circle" msgstr "Sirkel" #: gschem/src/i_callbacks.c:2704 gschem/src/i_callbacks.c:2727 msgid "Arc" msgstr "Boog" #: gschem/src/i_callbacks.c:2749 gschem/src/i_callbacks.c:2772 #: gschem/src/x_dialog.c:2286 msgid "Pin" msgstr "Pen" #: gschem/src/i_callbacks.c:2831 #, c-format msgid "Searching for source [%s]\n" msgstr "Soek vir bron [%s]\n" #: gschem/src/i_callbacks.c:2855 #, c-format msgid "Cannot find source [%s]\n" msgstr "Kan nie bron [%s] vind nie\n" #: gschem/src/i_callbacks.c:2918 #, c-format msgid "Searching for symbol [%s]\n" msgstr "Soek vir simbool [%s]\n" #: gschem/src/i_callbacks.c:2924 msgid "Symbol is not a real file. Symbol cannot be loaded.\n" msgstr "" #: gschem/src/i_callbacks.c:2955 msgid "Cannot find any schematics above the current one!\n" msgstr "" #: gschem/src/i_callbacks.c:2985 msgid "Attach" msgstr "Heg aan" #: gschem/src/i_callbacks.c:3041 msgid "Detach" msgstr "Heg af" #: gschem/src/i_callbacks.c:3085 msgid "ShowN" msgstr "ToonN" #: gschem/src/i_callbacks.c:3122 msgid "ShowV" msgstr "ToonW" #: gschem/src/i_callbacks.c:3159 msgid "ShowB" msgstr "ToonB" #: gschem/src/i_callbacks.c:3197 msgid "VisToggle" msgstr "SigSkakel" #: gschem/src/i_callbacks.c:3228 #, c-format msgid "Sorry but this is a non-functioning menu option\n" msgstr "Jammer, maar hierdie opsie werk nie\n" #: gschem/src/i_callbacks.c:3318 msgid "Action feedback mode set to OUTLINE\n" msgstr "Handelingsterugvoermodus na SKETS gestel\n" #: gschem/src/i_callbacks.c:3321 msgid "Action feedback mode set to BOUNDINGBOX\n" msgstr "Handelingsterugvoermodus na OMTREKREGHOEK\n" #: gschem/src/i_callbacks.c:3346 msgid "Grid OFF\n" msgstr "Rooster AF\n" #: gschem/src/i_callbacks.c:3347 msgid "Dot grid selected\n" msgstr "" #: gschem/src/i_callbacks.c:3348 msgid "Mesh grid selected\n" msgstr "" #: gschem/src/i_callbacks.c:3369 msgid "Snap OFF (CAUTION!)\n" msgstr "" #: gschem/src/i_callbacks.c:3372 msgid "Snap ON\n" msgstr "" #: gschem/src/i_callbacks.c:3375 msgid "Snap back to the grid (CAUTION!)\n" msgstr "" #: gschem/src/i_callbacks.c:3401 msgid "Rubber band OFF \n" msgstr "Rubberband AF \n" #: gschem/src/i_callbacks.c:3404 msgid "Rubber band ON\n" msgstr "Rubberband AAN\n" #: gschem/src/i_callbacks.c:3419 msgid "magnetic net mode: ON\n" msgstr "" #: gschem/src/i_callbacks.c:3422 msgid "magnetic net mode: OFF\n" msgstr "" #: gschem/src/o_box.c:292 #, c-format msgid "Unknown type for box (fill)!\n" msgstr "Onbekende tipe vir reghoek (vul)!\n" #: gschem/src/o_buffer.c:54 #, c-format msgid "o_buffer_copy: Invalid buffer %i\n" msgstr "" #: gschem/src/o_buffer.c:69 #, c-format msgid "o_buffer_cut: Invalid buffer %i\n" msgstr "" #: gschem/src/o_buffer.c:90 #, c-format msgid "Got an invalid buffer_number [o_buffer_paste_start]\n" msgstr "Het 'n ongeldige buffer_number gekry [o_buffer_paste_start]\n" #: gschem/src/o_bus.c:117 #, c-format msgid "Got an invalid which one in o_bus_draw_stretch\n" msgstr "Het 'n ongeldige whichone in o_bus_draw_stretch gekry\n" #: gschem/src/o_circle.c:284 #, c-format msgid "Unknown type for circle (fill)!\n" msgstr "Onbekende tipe vir sirkel (vul)!\n" #: gschem/src/o_complex.c:223 gschem/src/o_complex.c:227 #, c-format msgid "Translating schematic [%d %d]\n" msgstr "Verskuif stroombaandiagram [%d %d]\n" #: gschem/src/o_misc.c:61 #, c-format msgid "Got an unexpected NULL in o_edit\n" msgstr "Het 'n onverwagte NULL in o_edit gekry\n" #: gschem/src/o_misc.c:125 msgid "Object already locked\n" msgstr "Voorwerp klaar gesluit\n" #: gschem/src/o_misc.c:163 msgid "Object already unlocked\n" msgstr "Voorwerp klaar ontsluit\n" #: gschem/src/o_misc.c:339 msgid "Hidden text is now visible\n" msgstr "Verskuilde teks is nou sigbaar\n" #: gschem/src/o_misc.c:341 msgid "Hidden text is now invisible\n" msgstr "Verskuilde teks is nou onsigbaar\n" #: gschem/src/o_misc.c:568 #, c-format msgid "Could not find symbol [%s] in library. Update failed.\n" msgstr "" #: gschem/src/o_misc.c:683 #, c-format msgid "o_autosave_backups: Can't get the real filename of %s." msgstr "o_autosave_backups: Kan nie die egte lêernaam van %s kry nie." #: gschem/src/o_misc.c:727 #, c-format msgid "Could NOT set previous backup file [%s] read-write\n" msgstr "Kon NIE vorige bestandlêer [%s] lees-skryf stel nie\n" #: gschem/src/o_misc.c:747 #, c-format msgid "Could NOT set backup file [%s] readonly\n" msgstr "Kon NIE bestandlêer [%s] lees-slegs stel nie\n" #: gschem/src/o_misc.c:752 #, c-format msgid "Could NOT save backup file [%s]\n" msgstr "Kon NIE bestandlêer [%s] bewaar nie\n" #: gschem/src/o_move.c:174 #, c-format msgid "ERROR: NULL object in o_move_end!\n" msgstr "FOUT: NULL voorwerp in o_move_end!\n" # Thanks to Frank Shearar for reminding me of BLIKSEM! #: gschem/src/o_move.c:431 #, c-format msgid "DOH! tried to find the whichone, but didn't find it!\n" msgstr "" "BLIKSEM! Het probeer om die whichone te vind, maar kon dit nie kry nie!\n" #: gschem/src/o_move.c:453 #, c-format msgid "Got a non line object in o_move_check_endpoint\n" msgstr "Het 'n voorwerp wat nie 'n lyn is nie in o_move_check_endpoint gekry\n" #: gschem/src/o_net.c:158 #, c-format msgid "Got an invalid which one in o_net_draw_stretch\n" msgstr "Het 'n ongeldige whichone in o_net_draw_stretch gekry\n" #: gschem/src/o_net.c:537 msgid "Warning: Starting net at off grid coordinate\n" msgstr "" #: gschem/src/o_net.c:602 msgid "Warning: Ending net at off grid coordinate\n" msgstr "" #: gschem/src/o_net.c:944 gschem/src/o_net.c:981 gschem/src/o_net.c:1052 #: gschem/src/o_net.c:1088 #, c-format msgid "Tried to add more than two bus rippers. Internal gschem error.\n" msgstr "" "Het probeer om meer as twee busrippers bytevoeg. Interne gschem fout.\n" #: gschem/src/o_net.c:1156 #, c-format msgid "Bus ripper symbol [%s] was not found in any component library\n" msgstr "Busrippersimbool [%s] is nie in enige komponentbiblioteek gevind nie\n" #: gschem/src/o_path.c:340 #, c-format msgid "Unknown type for path (fill)!\n" msgstr "" #: gschem/src/o_picture.c:166 #, c-format msgid "Failed to load picture: %s" msgstr "Kon nie afbeelding laai nie: %s" #: gschem/src/o_picture.c:180 msgid "Picture" msgstr "Afbeelding" #: gschem/src/o_picture.c:544 #, fuzzy, c-format msgid "Failed to replace pictures: %s" msgstr "Kon nie afbeelding laai nie: %s" #: gschem/src/o_slot.c:81 msgid "Slot attribute malformed\n" msgstr "\"slot\" eienskap is misvorm\n" #: gschem/src/o_slot.c:89 msgid "numslots attribute missing\n" msgstr "\"numslots\" eienskap bestaan nie\n" #: gschem/src/o_slot.c:90 msgid "Slotting not allowed for this component\n" msgstr "Gleuwe is nie toegelaat vir hierdie komponent nie\n" #: gschem/src/o_slot.c:105 msgid "New slot number out of range\n" msgstr "Nuwe gleufnommer buite bereik\n" #: gschem/src/o_undo.c:307 msgid "Undo/Redo disabled in rc file\n" msgstr "" #: gschem/src/parsecmd.c:82 #, c-format msgid "" "Usage: %s [OPTION ...] [--] [FILE ...]\n" "\n" "Interactively edit gEDA schematics or symbols. If one or more FILEs\n" "are specified, open them for editing; otherwise, create a new, empty\n" "schematic.\n" "\n" "Options:\n" " -q, --quiet Quiet mode.\n" " -v, --verbose Verbose mode.\n" " -r, --config-file=FILE Additional configuration file to load.\n" " -L DIR Add DIR to Scheme search path.\n" " -c EXPR Scheme expression to run at startup.\n" " -s FILE Scheme script to run at startup.\n" " -o, --output=FILE Output filename (for printing).\n" " -p Automatically place the window.\n" " -V, --version Show version information.\n" " -h, --help Help; this message.\n" " -- Treat all remaining arguments as filenames.\n" "\n" "Report bugs at \n" "gEDA/gaf homepage: \n" msgstr "" #: gschem/src/parsecmd.c:116 #, c-format msgid "" "gEDA %s (g%.7s)\n" "Copyright (C) 1998-2012 gEDA developers\n" "This is free software, and you are welcome to redistribute it under\n" "certain conditions. For details, see the file `COPYING', which is\n" "included in the gEDA distribution.\n" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" #: gschem/src/x_attribedit.c:127 #, c-format msgid "Got invalid show option; defaulting to show both\n" msgstr "" #: gschem/src/x_attribedit.c:141 #, c-format msgid "ERROR: NULL object!\n" msgstr "FOUT: NULL voorwerp!\n" #: gschem/src/x_attribedit.c:329 msgid "Single Attribute Editor" msgstr "Enkeleienskap-Bewerker" #: gschem/src/x_attribedit.c:359 msgid "Edit Attribute" msgstr "Bewerk Eienskap" #: gschem/src/x_attribedit.c:361 msgid "Add Attribute" msgstr "Voeg Eienskap By" #: gschem/src/x_attribedit.c:377 gschem/src/x_multiattrib.c:1973 msgid "Name:" msgstr "Naam:" #: gschem/src/x_attribedit.c:394 gschem/src/x_multiattrib.c:1992 msgid "Value:" msgstr "Waarde:" #: gschem/src/x_attribedit.c:410 gschem/src/x_multiattrib.c:2038 msgid "Visible" msgstr "Sigbaar" #: gschem/src/x_attribedit.c:430 msgid "Show Value Only" msgstr "Toon Slegs Waarde" #: gschem/src/x_attribedit.c:432 msgid "Show Name Only" msgstr "Toon Slegs Naam" #: gschem/src/x_attribedit.c:434 gschem/src/x_multiattrib.c:1512 msgid "Show Name & Value" msgstr "Toon Naam & Waarde" #: gschem/src/x_attribedit.c:441 msgid "Attach Options" msgstr "AAnhegopsies" #: gschem/src/x_attribedit.c:456 msgid "All" msgstr "Alles" #: gschem/src/x_attribedit.c:464 gschem/src/x_compselect.c:922 #: gschem/src/x_compselect.c:1036 msgid "Components" msgstr "Komponente" # FIXME: "Nette" #: gschem/src/x_attribedit.c:472 gschem/src/x_window.c:369 msgid "Nets" msgstr "Nette" #: gschem/src/x_attribedit.c:480 msgid "Replace existing attributes" msgstr "Vervang bestaande eienskappe" #: gschem/src/x_autonumber.c:415 msgid "" "slotted object without slot attribute may cause problems when autonumbering " "slots\n" msgstr "" #: gschem/src/x_autonumber.c:430 #, c-format msgid "" "duplicate slot may cause problems: [symbolname=%s, number=%d, slot=%d]\n" msgstr "" "duplikaatgleuf mag probleme veroorsaak: [symbolname=%s, number=%d, slot=%d]\n" #: gschem/src/x_autonumber.c:672 msgid "No searchstring given in autonumber text.\n" msgstr "" #: gschem/src/x_autonumber.c:724 msgid "No '*' or '?' given at the end of the autonumber text.\n" msgstr "" #: gschem/src/x_autonumber.c:859 msgid "Diagonal" msgstr "Diagonaal" #: gschem/src/x_autonumber.c:860 msgid "Top to bottom" msgstr "Bo to onder" #: gschem/src/x_autonumber.c:860 msgid "Bottom to top" msgstr "Onder tot bo" #: gschem/src/x_autonumber.c:861 msgid "Left to right" msgstr "Links tot regs" #: gschem/src/x_autonumber.c:861 msgid "Right to left" msgstr "Regs tot links" #: gschem/src/x_autonumber.c:862 msgid "File order" msgstr "Lêerorde" #: gschem/src/x_autonumber.c:1198 msgid "Autonumber text" msgstr "" #: gschem/src/x_autonumber.c:1222 msgid "Scope" msgstr "Bestek" #: gschem/src/x_autonumber.c:1244 msgid "Search for:" msgstr "Soek vir:" #: gschem/src/x_autonumber.c:1258 msgid "Autonumber text in:" msgstr "" #: gschem/src/x_autonumber.c:1265 msgid "Skip numbers found in:" msgstr "Slaan nommers oor in:" #: gschem/src/x_autonumber.c:1277 gschem/src/x_autonumber.c:1286 msgid "Selected objects" msgstr "" #: gschem/src/x_autonumber.c:1278 gschem/src/x_autonumber.c:1287 msgid "Current page" msgstr "Lopende bladsy" #: gschem/src/x_autonumber.c:1279 gschem/src/x_autonumber.c:1288 msgid "Whole hierarchy" msgstr "Hele hierargie" #: gschem/src/x_autonumber.c:1290 msgid "Overwrite existing numbers" msgstr "Vervang bestaande nommers" #: gschem/src/x_autonumber.c:1295 msgid "Options" msgstr "Opsies" #: gschem/src/x_autonumber.c:1317 msgid "Starting number:" msgstr "Begin by nommer:" #: gschem/src/x_autonumber.c:1324 msgid "Sort order:" msgstr "Rangskikkingsorde:" #: gschem/src/x_autonumber.c:1345 msgid "Remove numbers" msgstr "Verwyder syfers" #: gschem/src/x_autonumber.c:1349 msgid "Automatic slotting" msgstr "Outomatiese begleuwing" #: gschem/src/x_clipboard.c:249 #, c-format msgid "" "Invalid schematic on clipboard.\n" "\n" "An error occurred while inserting clipboard data: %s." msgstr "" #: gschem/src/x_clipboard.c:251 msgid "Clipboard insertion failed" msgstr "" #: gschem/src/x_color.c:94 gschem/src/x_color.c:103 #, c-format msgid "Could not allocate the color %s!\n" msgstr "Kon nie aanspraak maak op die kleur %s nie!\n" #: gschem/src/x_color.c:94 msgid "black" msgstr "swart" #: gschem/src/x_color.c:103 msgid "white" msgstr "wit" #: gschem/src/x_color.c:125 #, c-format msgid "Could not allocate display color %i!\n" msgstr "" #: gschem/src/x_color.c:147 #, c-format msgid "Could not allocate outline color %i!\n" msgstr "" #: gschem/src/x_color.c:164 gschem/src/x_color.c:181 gschem/src/x_color.c:197 #, c-format msgid "Tried to get an invalid color: %d\n" msgstr "Het probeer om 'n ongeldige kleur te kry: %d\n" #: gschem/src/x_color.c:214 #, c-format msgid "Tried to get an invalid outline color: %d\n" msgstr "" #: gschem/src/x_compselect.c:1066 msgid "Filter:" msgstr "Deursyfer:" #: gschem/src/x_compselect.c:1169 gschem/src/x_dialog.c:3653 #: gschem/src/x_multiattrib.c:1839 msgid "Name" msgstr "Naam" #: gschem/src/x_compselect.c:1178 gschem/src/x_multiattrib.c:1863 msgid "Value" msgstr "Waarde" #: gschem/src/x_compselect.c:1217 msgid "Default behavior - reference component" msgstr "Verstekgedrag - verwys na komponent" #: gschem/src/x_compselect.c:1220 msgid "Embed component in schematic" msgstr "Lê komponent in stroombaandiagram in" #: gschem/src/x_compselect.c:1223 msgid "Include component as individual objects" msgstr "Sluit komponent as afsonderlike voorwerpe in" #: gschem/src/x_compselect.c:1380 msgid "Select Component..." msgstr "Kies Komponent..." #: gschem/src/x_compselect.c:1403 msgid "In Use" msgstr "In Gebruik" #: gschem/src/x_compselect.c:1407 msgid "Libraries" msgstr "Biblioteke" #: gschem/src/x_compselect.c:1416 gschem/src/x_fileselect.c:122 msgid "Preview" msgstr "Voorskou" #: gschem/src/x_compselect.c:1444 msgid "Attributes" msgstr "Eienskappe" #: gschem/src/x_dialog.c:176 msgid "Text Entry..." msgstr "Teksaantekening..." #: gschem/src/x_dialog.c:207 msgid "" "Enter text, click apply,\n" "move cursor into window, click to place text.\n" "Middle button to rotate while placing." msgstr "" #: gschem/src/x_dialog.c:301 msgid "Upper Left" msgstr "Links Bo" #: gschem/src/x_dialog.c:304 msgid "Upper Middle" msgstr "Middel Bo" #: gschem/src/x_dialog.c:307 msgid "Upper Right" msgstr "Regs Bo" #: gschem/src/x_dialog.c:311 msgid "Middle Left" msgstr "Middel Links" #: gschem/src/x_dialog.c:314 msgid "Middle Middle" msgstr "Middel Middel" #: gschem/src/x_dialog.c:317 msgid "Middle Right" msgstr "Middel Regs" #: gschem/src/x_dialog.c:321 msgid "Lower Left" msgstr "Links Onder" #: gschem/src/x_dialog.c:324 msgid "Lower Middle" msgstr "Middel Onder" #: gschem/src/x_dialog.c:327 msgid "Lower Right" msgstr "Regs Onder" #: gschem/src/x_dialog.c:438 msgid "Edit Text Properties" msgstr "Bewerk Tekseienskappe" #: gschem/src/x_dialog.c:473 msgid "Text Content" msgstr "Teksinhoud" #: gschem/src/x_dialog.c:509 msgid "Text Properties" msgstr "Tekseienskappe" #: gschem/src/x_dialog.c:524 msgid "Color:" msgstr "Kleur:" #: gschem/src/x_dialog.c:531 msgid "Size:" msgstr "Grootte:" #: gschem/src/x_dialog.c:540 msgid "Alignment:" msgstr "Sporing:" #: gschem/src/x_dialog.c:589 msgid "Solid" msgstr "Solied" #: gschem/src/x_dialog.c:590 msgid "Dotted" msgstr "Gestippeld" #: gschem/src/x_dialog.c:591 msgid "Dashed" msgstr "Gebroke" #: gschem/src/x_dialog.c:592 msgid "Center" msgstr "Sentreer" #: gschem/src/x_dialog.c:593 msgid "Phantom" msgstr "Spook" #: gschem/src/x_dialog.c:594 gschem/src/x_dialog.c:691 #: gschem/src/x_dialog.c:700 gschem/src/x_dialog.c:709 #: gschem/src/x_dialog.c:810 gschem/src/x_dialog.c:813 #: gschem/src/x_dialog.c:816 gschem/src/x_dialog.c:1043 #: gschem/src/x_dialog.c:1146 gschem/src/x_dialog.c:1155 #: gschem/src/x_dialog.c:1164 gschem/src/x_dialog.c:1173 #: gschem/src/x_dialog.c:1182 gschem/src/x_dialog.c:1295 #: gschem/src/x_dialog.c:1298 gschem/src/x_dialog.c:1301 #: gschem/src/x_dialog.c:1304 gschem/src/x_dialog.c:1307 msgid "*unchanged*" msgstr "*onveranderd*" #: gschem/src/x_dialog.c:921 msgid "Edit Line Width & Type" msgstr "Bewerk Lynwyddte & -styl" #: gschem/src/x_dialog.c:960 gschem/src/x_print.c:307 msgid "Type:" msgstr "Styl:" #: gschem/src/x_dialog.c:964 msgid "Width:" msgstr "Wydte:" #: gschem/src/x_dialog.c:968 msgid "Dash Length:" msgstr "Streeplengte" #: gschem/src/x_dialog.c:972 msgid "Dash Space:" msgstr "Streepspasie" #: gschem/src/x_dialog.c:1039 msgid "Hollow" msgstr "Hol" #: gschem/src/x_dialog.c:1040 msgid "Filled" msgstr "Gevul" #: gschem/src/x_dialog.c:1041 msgid "Mesh" msgstr "Rooster" #: gschem/src/x_dialog.c:1042 msgid "Hatch" msgstr "Arseer" #: gschem/src/x_dialog.c:1416 msgid "Edit Fill Type" msgstr "Bewerk Vultipe" #: gschem/src/x_dialog.c:1455 msgid "Fill Type:" msgstr "Vultipe:" #: gschem/src/x_dialog.c:1459 msgid "Line Width:" msgstr "Lynwydte:" #: gschem/src/x_dialog.c:1463 msgid "Angle 1:" msgstr "Hoek 1:" #: gschem/src/x_dialog.c:1467 msgid "Pitch 1:" msgstr "Steek 1:" #: gschem/src/x_dialog.c:1471 msgid "Angle 2:" msgstr "Hoek 2:" #: gschem/src/x_dialog.c:1475 msgid "Pitch 2:" msgstr "Steek 2:" #: gschem/src/x_dialog.c:1602 msgid "Arc Params" msgstr "Boogparameters" #: gschem/src/x_dialog.c:1643 msgid "Arc Radius:" msgstr "" #: gschem/src/x_dialog.c:1651 msgid "Start Angle:" msgstr "Beginhoek:" #: gschem/src/x_dialog.c:1659 msgid "Degrees of Sweep:" msgstr "Grade van Kromming:" #: gschem/src/x_dialog.c:1777 msgid "" "Offset to translate?\n" "(0 for origin)" msgstr "" "Afwyking om te verskuif?\n" "(0 vir oorsprong)" #: gschem/src/x_dialog.c:1845 msgid "Text Size" msgstr "Teksgrootte" #: gschem/src/x_dialog.c:1875 msgid "Enter new text size:" msgstr "Gee nuwe teksgrootte aan:" #: gschem/src/x_dialog.c:1951 msgid "Snap Size" msgstr "" #: gschem/src/x_dialog.c:1981 msgid "Enter new snap grid spacing:" msgstr "" #: gschem/src/x_dialog.c:2058 msgid "Edit slot number" msgstr "Bewerk gleufnommer" #: gschem/src/x_dialog.c:2089 msgid "Edit slot number:" msgstr "Bewerk gleufnommer:" #: gschem/src/x_dialog.c:2130 #, c-format msgid "%s (g%.7s)" msgstr "" #: gschem/src/x_dialog.c:2151 msgid "About gschem" msgstr "Oor gschem" #: gschem/src/x_dialog.c:2152 msgid "gEDA: GPL Electronic Design Automation" msgstr "gEDA: GPL Elektroniese Ontwerp Outomatisering" #. TRANSLATORS: "ChangeLog" is a literal filename; please don't translate it. #: gschem/src/x_dialog.c:2155 msgid "" "Copyright © 1998-2012 Ales Hvezda \n" "Copyright © 1998-2012 gEDA Contributors (see ChangeLog for details)" msgstr "" # FIXME: May need to have a deëlteken on second 'o'. #: gschem/src/x_dialog.c:2214 msgid "Coords" msgstr "Koordinate" #: gschem/src/x_dialog.c:2235 msgid "Screen" msgstr "Skerm" #: gschem/src/x_dialog.c:2244 msgid "World" msgstr "Wêreld" #: gschem/src/x_dialog.c:2283 msgid "Background" msgstr "" #: gschem/src/x_dialog.c:2289 msgid "Net endpoint" msgstr "" #: gschem/src/x_dialog.c:2292 msgid "Graphic" msgstr "" #: gschem/src/x_dialog.c:2301 msgid "Logic bubble" msgstr "" #: gschem/src/x_dialog.c:2304 msgid "Grid point" msgstr "" #: gschem/src/x_dialog.c:2307 msgid "Detached attribute" msgstr "" #: gschem/src/x_dialog.c:2310 gschem/src/x_window.c:387 msgid "Text" msgstr "Teks" #: gschem/src/x_dialog.c:2316 msgid "Selection" msgstr "" #: gschem/src/x_dialog.c:2319 msgid "Bounding box" msgstr "" #: gschem/src/x_dialog.c:2322 msgid "Zoom box" msgstr "Zoem Reghoek" #: gschem/src/x_dialog.c:2331 msgid "Output background" msgstr "" #: gschem/src/x_dialog.c:2334 msgid "Net junction" msgstr "" #: gschem/src/x_dialog.c:2337 msgid "Mesh grid major" msgstr "" #: gschem/src/x_dialog.c:2340 msgid "Mesh grid minor" msgstr "" #: gschem/src/x_dialog.c:2343 msgid "Unknown" msgstr "" #: gschem/src/x_dialog.c:2494 #, c-format msgid "ERROR: NULL object in color_edit_dialog_apply!\n" msgstr "FOUT: NULL voorwerp in color_edit_dialog_apply!\n" #: gschem/src/x_dialog.c:2538 msgid "Color Edit" msgstr "Kleurbewerking" #: gschem/src/x_dialog.c:2569 msgid "Object color:" msgstr "Voorwerpkleur:" #: gschem/src/x_dialog.c:2622 msgid "Hotkeys" msgstr "" #: gschem/src/x_dialog.c:2662 msgid "Function" msgstr "Funksie" #: gschem/src/x_dialog.c:2669 msgid "Keystroke(s)" msgstr "Sleutelslae" #: gschem/src/x_dialog.c:2977 msgid "Find Text" msgstr "Vind Teks" #: gschem/src/x_dialog.c:3008 msgid "Text to find:" msgstr "Teks om te vind:" #: gschem/src/x_dialog.c:3018 msgid "descend into hierarchy" msgstr "daal in hierargie af" #: gschem/src/x_dialog.c:3084 msgid "Hide Text" msgstr "Verskuil Teks" #: gschem/src/x_dialog.c:3115 msgid "Hide text starting with:" msgstr "Verskuil teks beginnende met:" #: gschem/src/x_dialog.c:3185 msgid "Show Text" msgstr "Toon Teks" #: gschem/src/x_dialog.c:3216 msgid "Show text starting with:" msgstr "Toon Teks beginnende met:" #: gschem/src/x_dialog.c:3675 msgid "S_elect the schematics you want to save:" msgstr "Kies die stroombaandiagramme wat jy wil bewaar:" #: gschem/src/x_dialog.c:3770 #, c-format msgid "Save the changes to schematic \"%s\" before closing?" msgstr "" "Wil jy veranderinge aan stroombaandiagram \"%s\" bewaar voor jy afsluit?" #: gschem/src/x_dialog.c:3776 #, c-format msgid "" "There are %d schematics with unsaved changes. Save changes before closing?" msgstr "" "Daar is %d stroombaandiagramme met onbewaarde veranderinge. Wil jy die " "veranderinge bewaar voor jy afsluit?" #: gschem/src/x_dialog.c:3805 msgid "If you don't save, all your changes will be permanently lost." msgstr "As jy nie bewaar nie, sal al jou veranderinge permanent verloregaan." #: gschem/src/x_dialog.c:3825 msgid "_Close without saving" msgstr "Sluit sonder om te bewaar" #: gschem/src/x_dialog.c:4161 #, c-format msgid "" "The input attribute \"%s\" is invalid\n" "Please correct in order to continue\n" "\n" "The name and value must be non-empty.\n" "The name cannot end with a space.\n" "The value cannot start with a space." msgstr "" "Die ingevoerde eienskap \"%s\" is " "ongeldig\n" "Verbeter asseblief om voort te gaan\n" "\n" "Die naam en waarde mag nie leeg wees nie.\n" "Die naam mag nie met 'n spasie eindig nie.\n" "Die waarde mag nie met 'n spasie begin nie." #: gschem/src/x_dialog.c:4163 msgid "Invalid Attribute" msgstr "Ongeldige Eienskap" #: gschem/src/x_dialog.c:4199 msgid "Pin type" msgstr "" #: gschem/src/x_dialog.c:4223 msgid "Net pin" msgstr "" #: gschem/src/x_dialog.c:4225 msgid "Bus pin (graphical)" msgstr "" #: gschem/src/x_fileselect.c:42 msgid "Schematics" msgstr "Stroombaandiagramme" #: gschem/src/x_fileselect.c:47 msgid "Symbols" msgstr "Simbole" #: gschem/src/x_fileselect.c:52 msgid "Schematics and symbols" msgstr "Stroombaandiagramme en simbole" #: gschem/src/x_fileselect.c:58 msgid "All files" msgstr "Alle lêers" #: gschem/src/x_fileselect.c:171 msgid "Open..." msgstr "Open..." #: gschem/src/x_fileselect.c:231 msgid "Save as..." msgstr "Bewaar as..." #: gschem/src/x_fileselect.c:284 #, c-format msgid "" "The selected file `%s' already exists.\n" "\n" "Would you like to overwrite it?" msgstr "" #: gschem/src/x_fileselect.c:287 msgid "Overwrite file?" msgstr "Vervang lêer?" #: gschem/src/x_fileselect.c:289 msgid "Save cancelled on user request\n" msgstr "" #: gschem/src/x_image.c:176 msgid "Encapsulated Postscript" msgstr "" #: gschem/src/x_image.c:296 #, c-format msgid "x_image_lowlevel: Unable to write eps file %s.\n" msgstr "x_image_lowlevel: Kon nie eps-lêer %s skryf nie.\n" #: gschem/src/x_image.c:374 #, c-format msgid "x_image_lowlevel: Unable to write %s file %s.\n" msgstr "x_image_lowlevel: Kon nie %s-lêer %s skryf nie.\n" #: gschem/src/x_image.c:384 #, c-format msgid "" "There was the following error when saving image with type %s to filename:\n" "%s\n" "\n" "%s.\n" msgstr "" "Die volgende fout het gebeur gedurende die bewaring van %s-lêer:\n" "%s\n" "\n" "%s.\n" #: gschem/src/x_image.c:403 #, c-format msgid "Wrote color image to [%s] [%d x %d]\n" msgstr "Het kleurafbeelding na [%s] [%d x %d] geskryf\n" #: gschem/src/x_image.c:405 #, c-format msgid "Wrote black and white image to [%s] [%d x %d]\n" msgstr "Het swart-en-witafbeelding na [%s] [%d x %d] geskryf\n" #: gschem/src/x_image.c:413 msgid "x_image_lowlevel: Unable to get pixbuf from gschem's window.\n" msgstr "x_image_lowlevel: Kon nie pixbuf van gschem se venster kry nie.\n" #: gschem/src/x_image.c:458 msgid "Width x Height" msgstr "Wydte x Hoogte" #: gschem/src/x_image.c:474 msgid "Image type" msgstr "Afbeeldingsoort" #: gschem/src/x_image.c:495 msgid "Write image..." msgstr "Skryf afbeelding..." #: gschem/src/x_log.c:209 msgid "** Invalid UTF-8 in log message. See stderr or gschem.log.\n" msgstr "" #: gschem/src/x_log.c:288 msgid "Status" msgstr "Stand" #: gschem/src/x_menus.c:37 msgid "/Add Net" msgstr "/Voeg Net By" #: gschem/src/x_menus.c:38 msgid "/Add Attribute..." msgstr "/Voeg Eienskap By" #: gschem/src/x_menus.c:39 msgid "/Add Component..." msgstr "/Voeg Komponent By" #: gschem/src/x_menus.c:40 msgid "/Add Bus" msgstr "/Voeg Bus By" #: gschem/src/x_menus.c:41 msgid "/Add Text" msgstr "/Voeg Teks By" #: gschem/src/x_menus.c:43 msgid "/Zoom In" msgstr "/Zoem In" #: gschem/src/x_menus.c:44 msgid "/Zoom Out" msgstr "/Zoem Uit" #: gschem/src/x_menus.c:45 msgid "/Zoom Box" msgstr "/Zoem Reghoek" #: gschem/src/x_menus.c:46 msgid "/Zoom Extents" msgstr "/Zoem Uitmate" #: gschem/src/x_menus.c:48 msgid "/Select" msgstr "/Kies" #: gschem/src/x_menus.c:49 msgid "/Edit..." msgstr "/Bewerk" #: gschem/src/x_menus.c:50 msgid "/Edit pin type..." msgstr "" #: gschem/src/x_menus.c:51 msgid "/Copy" msgstr "/Kopieer" #: gschem/src/x_menus.c:52 msgid "/Move" msgstr "/Skuif" #: gschem/src/x_menus.c:53 msgid "/Delete" msgstr "/Verwyder" #: gschem/src/x_menus.c:56 msgid "/Down Schematic" msgstr "/Stroombaandiagram Af" #: gschem/src/x_menus.c:57 msgid "/Down Symbol" msgstr "/Simbool Af" #: gschem/src/x_menus.c:58 msgid "/Up" msgstr "/Op" #: gschem/src/x_menus.c:348 #, c-format msgid "Tried to set the sensitivity on non-existent menu item '%s'\n" msgstr "Het probeer om gevoeligheid op nie-bestaande menu-artikel '%s'\n" #: gschem/src/x_menus.c:372 msgid "Popup_menu_item_factory doesn't exist!\n" msgstr "popup_menu artikelfabriek bestaan nie!\n" #: gschem/src/x_menus.c:385 msgid "Tried to set the sensitivity on a non-existent popup menu_item\n" msgstr "" #: gschem/src/x_misc.c:74 msgid "The operating system is out of memory or resources." msgstr "" #: gschem/src/x_misc.c:155 #, c-format msgid "%s failed to launch URI" msgstr "" #: gschem/src/x_multiattrib.c:961 msgid "Attributes with empty name are not allowed. Please set a name." msgstr "Eienskappe met 'n leë naam word verbied. Kies asseblief 'n naam." #: gschem/src/x_multiattrib.c:1514 msgid "Show Value only" msgstr "Toon slegs waarde" #: gschem/src/x_multiattrib.c:1516 msgid "Show Name only" msgstr "Toon slegs naam" #: gschem/src/x_multiattrib.c:1544 msgid "Promote" msgstr "" #: gschem/src/x_multiattrib.c:1548 msgid "Duplicate" msgstr "Dupliseer" #: gschem/src/x_multiattrib.c:1765 msgid "Edit Attributes" msgstr "Bewerk Eienskappe" #: gschem/src/x_multiattrib.c:1883 msgid "Vis?" msgstr "Sig?" #: gschem/src/x_multiattrib.c:1901 msgid "N" msgstr "N" #: gschem/src/x_multiattrib.c:1919 msgid "V" msgstr "W" #: gschem/src/x_multiattrib.c:1941 msgid "Show inherited attributes" msgstr "" #: gschem/src/x_multiattrib.c:1957 msgid "Add Attribute" msgstr "Voeg Eienskap By" #: gschem/src/x_pagesel.c:246 msgid "New Page" msgstr "Nuwe Bladsy" #: gschem/src/x_pagesel.c:247 msgid "Open Page..." msgstr "Maak Bladsy Oop..." #: gschem/src/x_pagesel.c:249 msgid "Save Page" msgstr "Bewaar Bladsy" #: gschem/src/x_pagesel.c:250 msgid "Close Page" msgstr "Sluit Bladsy" #: gschem/src/x_pagesel.c:251 msgid "Discard Page" msgstr "Werp Bladsy Weg" #: gschem/src/x_pagesel.c:369 msgid "Page Manager" msgstr "Bladsybestuurder" #: gschem/src/x_pagesel.c:425 msgid "Filename" msgstr "Lêernaam" #: gschem/src/x_pagesel.c:441 msgid "Changed" msgstr "Veranderd" #: gschem/src/x_pagesel.c:461 msgid "Right click on the filename for more options..." msgstr "Regs-klik op die lêernaam vir meer opsies..." #: gschem/src/x_preview.c:231 msgid "Preview Buffer" msgstr "" #: gschem/src/x_print.c:84 msgid "Select PostScript Filename..." msgstr "Kies PostScript Lêernaam" #: gschem/src/x_print.c:164 msgid "Extents with margins" msgstr "Uitmate met kantlyn" #: gschem/src/x_print.c:170 msgid "Extents no margins" msgstr "Uitmate sonder kantlyn" #: gschem/src/x_print.c:176 msgid "Current Window" msgstr "Huidige Venster" #: gschem/src/x_print.c:210 msgid "Landscape" msgstr "Landskap" #: gschem/src/x_print.c:216 msgid "Portrait" msgstr "Portret" #: gschem/src/x_print.c:276 msgid "Print..." msgstr "Druk..." #: gschem/src/x_print.c:284 msgid "Settings" msgstr "Instellinge" #: gschem/src/x_print.c:296 msgid "Output paper size:" msgstr "Uitset-papiergrootte:" #: gschem/src/x_print.c:318 msgid "Orientation:" msgstr "Orientasie" #: gschem/src/x_print.c:330 msgid "Destination" msgstr "Bestemming" #: gschem/src/x_print.c:343 msgid "File:" msgstr "Lêer:" #: gschem/src/x_print.c:373 msgid "Command:" msgstr "Opdrag:" #: gschem/src/x_print.c:745 msgid "No print destination specified\n" msgstr "Geen drukbestemming aangegee nie\n" #: gschem/src/x_print.c:752 #, c-format msgid "Cannot print current schematic to [%s]\n" msgstr "Kan nie huidige stroombaandiagram na [%s] druk nie\n" #: gschem/src/x_print.c:761 #, c-format msgid "" "Error printing to file '%s'\n" "Check the log window for more information" msgstr "" "Fout gedurende lêerdruk na '%s'\n" "Ondersoek die log-venster vir meer inligting" #: gschem/src/x_print.c:768 #, c-format msgid "Printed current schematic to [%s]\n" msgstr "Het lopende stroombaandiagram na [%s] gedruk\n" #: gschem/src/x_rc.c:40 msgid "ERROR: An unknown error occurred while parsing configuration files.\n" msgstr "" #: gschem/src/x_rc.c:45 msgid "" "An unknown error occurred while parsing configuration files.\n" "\n" "The gschem log may contain more information." msgstr "" #: gschem/src/x_rc.c:57 #, c-format msgid "ERROR: %s\n" msgstr "" #: gschem/src/x_rc.c:60 #, c-format msgid "" "%s\n" "\n" "The gschem log may contain more information." msgstr "" #: gschem/src/x_rc.c:68 msgid "Cannot load gschem configuration." msgstr "" #: gschem/src/x_script.c:47 gschem/lib/system-gschemrc.scm:1381 msgid "Execute Script..." msgstr "Voer Script Uit..." #: gschem/src/x_script.c:66 #, c-format msgid "Executing guile script [%s]\n" msgstr "Voer guile script [%s] uit\n" #: gschem/src/x_window.c:82 #, c-format msgid "Couldn't allocate gc\n" msgstr "Kon nie aanspraak maak op gc nie\n" #: gschem/src/x_window.c:321 msgid "New" msgstr "Nuwe" #: gschem/src/x_window.c:322 msgid "New file" msgstr "Nuwe lêer" #: gschem/src/x_window.c:328 msgid "Open" msgstr "Maak Oop" #: gschem/src/x_window.c:329 msgid "Open file..." msgstr "Maak lêer oop..." #: gschem/src/x_window.c:335 msgid "Save" msgstr "Bewaar" #: gschem/src/x_window.c:336 msgid "Save file" msgstr "Bewaar lêer" #: gschem/src/x_window.c:343 msgid "Undo" msgstr "Maak Ongedaan" #: gschem/src/x_window.c:344 msgid "Undo last operation" msgstr "Maak laaste handeling ongedaan" #: gschem/src/x_window.c:350 msgid "Redo" msgstr "Herstel" #: gschem/src/x_window.c:351 msgid "Redo last undo" msgstr "Herhaal laas-ongedane handeling" #: gschem/src/x_window.c:360 msgid "" "Add component...\n" "Select library and component from list, move the mouse into main window, " "click to place\n" "Right mouse button to cancel" msgstr "" #: gschem/src/x_window.c:370 msgid "" "Add nets mode\n" "Right mouse button to cancel" msgstr "" #: gschem/src/x_window.c:380 msgid "" "Add buses mode\n" "Right mouse button to cancel" msgstr "" #: gschem/src/x_window.c:388 msgid "Add Text..." msgstr "Voeg Teks By..." #: gschem/src/x_window.c:398 msgid "Select" msgstr "Kies" #: gschem/src/x_window.c:399 msgid "Select mode" msgstr "Kiesmodus" #: gschem/src/x_window.c:465 msgid "Evaluate:" msgstr "" #: gschem/src/x_window.c:484 msgid "Pick" msgstr "Kies" #: gschem/src/x_window.c:500 msgid "Repeat/none" msgstr "Herhaal/geen" #: gschem/src/x_window.c:510 msgid "Menu/Cancel" msgstr "Menu/Kanselleer" #: gschem/src/x_window.c:512 msgid "Pan/Cancel" msgstr "" #: gschem/src/x_window.c:737 #, c-format msgid "Loading schematic [%s]\n" msgstr "Laai stroombaandiagram [%s]\n" #: gschem/src/x_window.c:748 #, c-format msgid "" "An error occurred while loading the requested file.\n" "\n" "Loading from '%s' failed: %s. The gschem log may contain more information." msgstr "" #: gschem/src/x_window.c:750 msgid "Failed to load file" msgstr "Misluk om lêer te laai" #: gschem/src/x_window.c:759 #, c-format msgid "New file [%s]\n" msgstr "Nuwe lêer [%s]\n" #: gschem/src/x_window.c:862 #, c-format msgid "Could NOT save page [%s]\n" msgstr "Kon nie bladsy [%s] bewaar nie\n" #: gschem/src/x_window.c:863 msgid "Error while trying to save" msgstr "Fout gedurende poging om te bewaar" #: gschem/src/x_window.c:873 #, fuzzy msgid "Failed to save file" msgstr "Misluk om lêer te laai" #: gschem/src/x_window.c:884 #, c-format msgid "Saved as [%s]\n" msgstr "Bewaar as [%s]\n" #: gschem/src/x_window.c:886 #, c-format msgid "Saved [%s]\n" msgstr "Bewaar [%s]\n" #: gschem/src/x_window.c:888 msgid "Saved" msgstr "Bewaar" #: gschem/src/x_window.c:962 #, c-format msgid "Discarding page [%s]\n" msgstr "Werp bladsy [%s] weg\n" #: gschem/src/x_window.c:962 #, c-format msgid "Closing [%s]\n" msgstr "Sluit [%s]\n" #: gschem/data/geda-gschem.desktop.in:3 msgid "gEDA Schematic Editor" msgstr "gEDA Stroombaandiagram Bewerker" #: gschem/data/geda-gschem.desktop.in:4 msgid "Create and edit electrical schematics and symbols with gschem" msgstr "Skep en bewerk stroombaandiagramme en simbole met gschem" #: gschem/lib/system-gschemrc.scm:1368 msgid "_New" msgstr "" #: gschem/lib/system-gschemrc.scm:1369 msgid "_Open..." msgstr "" #: gschem/lib/system-gschemrc.scm:1371 msgid "Open Recen_t" msgstr "" #: gschem/lib/system-gschemrc.scm:1373 msgid "_Save" msgstr "" #: gschem/lib/system-gschemrc.scm:1374 msgid "Save _As..." msgstr "" #: gschem/lib/system-gschemrc.scm:1375 msgid "Save All" msgstr "Bewaar Alles" #: gschem/lib/system-gschemrc.scm:1376 gschem/lib/system-gschemrc.scm:1469 msgid "_Revert" msgstr "" #: gschem/lib/system-gschemrc.scm:1378 msgid "_Print..." msgstr "" #: gschem/lib/system-gschemrc.scm:1379 msgid "Write _image..." msgstr "" #: gschem/lib/system-gschemrc.scm:1383 msgid "New Window" msgstr "Nuwe Venster" #: gschem/lib/system-gschemrc.scm:1384 #, fuzzy msgid "_Close Window" msgstr "Sluit Venster" #: gschem/lib/system-gschemrc.scm:1385 msgid "_Quit" msgstr "" #: gschem/lib/system-gschemrc.scm:1391 msgid "_Undo" msgstr "" #: gschem/lib/system-gschemrc.scm:1392 msgid "_Redo" msgstr "" #: gschem/lib/system-gschemrc.scm:1394 msgid "Cu_t" msgstr "" #: gschem/lib/system-gschemrc.scm:1395 msgid "_Copy" msgstr "" #: gschem/lib/system-gschemrc.scm:1396 msgid "_Paste" msgstr "" #: gschem/lib/system-gschemrc.scm:1397 msgid "_Delete" msgstr "" #: gschem/lib/system-gschemrc.scm:1400 #, fuzzy msgid "Select All" msgstr "Kies" #: gschem/lib/system-gschemrc.scm:1401 #, fuzzy msgid "Deselect" msgstr "Kies" #: gschem/lib/system-gschemrc.scm:1405 msgid "Rotate 90 Mode" msgstr "Roteer-90-modus" #: gschem/lib/system-gschemrc.scm:1408 msgid "Edit..." msgstr "Bewerk..." #: gschem/lib/system-gschemrc.scm:1409 msgid "Edit Text..." msgstr "Bewerk Teks..." #: gschem/lib/system-gschemrc.scm:1410 msgid "Slot..." msgstr "Gleuf..." #: gschem/lib/system-gschemrc.scm:1411 msgid "Color..." msgstr "Kleur..." #: gschem/lib/system-gschemrc.scm:1412 msgid "Line Width & Type..." msgstr "Lynwydte en -tipe..." #: gschem/lib/system-gschemrc.scm:1413 msgid "Fill Type..." msgstr "Vultipe" #: gschem/lib/system-gschemrc.scm:1414 msgid "Symbol Translate..." msgstr "Simboolverskuiwing..." #: gschem/lib/system-gschemrc.scm:1418 msgid "Invoke Macro" msgstr "" #: gschem/lib/system-gschemrc.scm:1419 msgid "Embed Component/Picture" msgstr "Lê Komponent/Afbeelding In" # FIXME: too klunky! #: gschem/lib/system-gschemrc.scm:1420 msgid "Unembed Component/Picture" msgstr "Ont-lê Komponent/Afbeelding In" #: gschem/lib/system-gschemrc.scm:1421 msgid "Update Component" msgstr "Vernuwe Komponent" #: gschem/lib/system-gschemrc.scm:1422 msgid "Show/Hide Inv Text" msgstr "Toon/Verberg Onsigbare Teks" #: gschem/lib/system-gschemrc.scm:1428 msgid "Copy into 1" msgstr "Kopieer in 1 in" #: gschem/lib/system-gschemrc.scm:1429 msgid "Copy into 2" msgstr "Kopieer in 2 in" #: gschem/lib/system-gschemrc.scm:1430 msgid "Copy into 3" msgstr "Kopieer in 3 in" #: gschem/lib/system-gschemrc.scm:1431 msgid "Copy into 4" msgstr "Kopieer in 4 in" #: gschem/lib/system-gschemrc.scm:1432 msgid "Copy into 5" msgstr "Kopieer in 5 in" #: gschem/lib/system-gschemrc.scm:1433 msgid "Cut into 1" msgstr "Sny in 1 in" #: gschem/lib/system-gschemrc.scm:1434 msgid "Cut into 2" msgstr "Sny in 2 in" #: gschem/lib/system-gschemrc.scm:1435 msgid "Cut into 3" msgstr "Sny in 3 in" #: gschem/lib/system-gschemrc.scm:1436 msgid "Cut into 4" msgstr "Sny in 4 in" #: gschem/lib/system-gschemrc.scm:1437 msgid "Cut into 5" msgstr "Sny in 5 in" #: gschem/lib/system-gschemrc.scm:1438 msgid "Paste from 1" msgstr "Plak vanuit 1" #: gschem/lib/system-gschemrc.scm:1439 msgid "Paste from 2" msgstr "Plak vanuit 2" #: gschem/lib/system-gschemrc.scm:1440 msgid "Paste from 3" msgstr "Plak vanuit 3" #: gschem/lib/system-gschemrc.scm:1441 msgid "Paste from 4" msgstr "Plak vanuit 4" #: gschem/lib/system-gschemrc.scm:1442 msgid "Paste from 5" msgstr "Plak vanuit 5" #: gschem/lib/system-gschemrc.scm:1448 msgid "_Redraw" msgstr "" #: gschem/lib/system-gschemrc.scm:1449 msgid "_Pan" msgstr "" #: gschem/lib/system-gschemrc.scm:1450 msgid "Zoom _Box" msgstr "" #: gschem/lib/system-gschemrc.scm:1451 msgid "Zoom _Extents" msgstr "" #: gschem/lib/system-gschemrc.scm:1452 msgid "Zoom _In" msgstr "" #: gschem/lib/system-gschemrc.scm:1453 msgid "Zoom _Out" msgstr "" #: gschem/lib/system-gschemrc.scm:1454 msgid "Zoom _Full" msgstr "" #: gschem/lib/system-gschemrc.scm:1456 msgid "_Dark color scheme" msgstr "" #: gschem/lib/system-gschemrc.scm:1457 msgid "_Light color scheme" msgstr "" #: gschem/lib/system-gschemrc.scm:1458 msgid "B_W color scheme" msgstr "" #: gschem/lib/system-gschemrc.scm:1465 msgid "_Manager..." msgstr "" #: gschem/lib/system-gschemrc.scm:1466 msgid "_Previous" msgstr "" #: gschem/lib/system-gschemrc.scm:1467 msgid "_Next" msgstr "" #: gschem/lib/system-gschemrc.scm:1468 msgid "Ne_w" msgstr "" #: gschem/lib/system-gschemrc.scm:1470 msgid "_Close" msgstr "" #: gschem/lib/system-gschemrc.scm:1472 msgid "_Discard" msgstr "" #: gschem/lib/system-gschemrc.scm:1478 msgid "_Component..." msgstr "" #: gschem/lib/system-gschemrc.scm:1479 msgid "_Net" msgstr "" #: gschem/lib/system-gschemrc.scm:1480 msgid "B_us" msgstr "" #: gschem/lib/system-gschemrc.scm:1481 msgid "_Attribute..." msgstr "" #: gschem/lib/system-gschemrc.scm:1482 msgid "_Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1484 msgid "_Line" msgstr "" #: gschem/lib/system-gschemrc.scm:1485 msgid "_Box" msgstr "" #: gschem/lib/system-gschemrc.scm:1486 msgid "C_ircle" msgstr "" #: gschem/lib/system-gschemrc.scm:1487 msgid "A_rc" msgstr "" #: gschem/lib/system-gschemrc.scm:1488 msgid "_Pin" msgstr "" #: gschem/lib/system-gschemrc.scm:1489 msgid "Pictu_re..." msgstr "" #: gschem/lib/system-gschemrc.scm:1495 msgid "_Down Schematic" msgstr "" #: gschem/lib/system-gschemrc.scm:1496 msgid "Down _Symbol" msgstr "" #: gschem/lib/system-gschemrc.scm:1497 msgid "_Up" msgstr "" #: gschem/lib/system-gschemrc.scm:1498 msgid "D_ocumentation..." msgstr "" #: gschem/lib/system-gschemrc.scm:1504 msgid "_Attach" msgstr "" #: gschem/lib/system-gschemrc.scm:1505 msgid "_Detach" msgstr "" #: gschem/lib/system-gschemrc.scm:1506 msgid "Show _Value" msgstr "" #: gschem/lib/system-gschemrc.scm:1507 msgid "Show _Name" msgstr "" #: gschem/lib/system-gschemrc.scm:1508 msgid "Show _Both" msgstr "" #: gschem/lib/system-gschemrc.scm:1509 msgid "_Toggle Visibility" msgstr "" #: gschem/lib/system-gschemrc.scm:1511 msgid "_Find Specific Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1512 msgid "_Hide Specific Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1513 msgid "_Show Specific Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1514 msgid "A_utonumber Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1520 msgid "_Text Size..." msgstr "" #: gschem/lib/system-gschemrc.scm:1521 msgid "Cycle _grid styles" msgstr "" #: gschem/lib/system-gschemrc.scm:1522 msgid "Toggle _Snap On/Off" msgstr "" #: gschem/lib/system-gschemrc.scm:1523 msgid "Snap Grid S_pacing..." msgstr "" #: gschem/lib/system-gschemrc.scm:1524 msgid "Scale _up Grid Spacing" msgstr "" #: gschem/lib/system-gschemrc.scm:1526 msgid "Scale _down Grid Spacing" msgstr "" #: gschem/lib/system-gschemrc.scm:1528 msgid "Toggle _Outline/Box" msgstr "" #: gschem/lib/system-gschemrc.scm:1530 msgid "Toggle Net _Rubberband" msgstr "" #: gschem/lib/system-gschemrc.scm:1531 msgid "Toggle _Magnetic Net" msgstr "" #: gschem/lib/system-gschemrc.scm:1532 msgid "Show _Log Window..." msgstr "" #: gschem/lib/system-gschemrc.scm:1534 msgid "Show _Coord Window..." msgstr "" #: gschem/lib/system-gschemrc.scm:1542 msgid "gEDA Docu_mentation..." msgstr "" #: gschem/lib/system-gschemrc.scm:1543 msgid "gschem _FAQ..." msgstr "" #: gschem/lib/system-gschemrc.scm:1544 msgid "gEDA _Wiki..." msgstr "" #: gschem/lib/system-gschemrc.scm:1545 msgid "Component D_ocumentation..." msgstr "" #: gschem/lib/system-gschemrc.scm:1547 msgid "_Hotkeys..." msgstr "" #: gschem/lib/system-gschemrc.scm:1548 msgid "_About..." msgstr "" #: gschem/lib/system-gschemrc.scm:1554 msgid "_File" msgstr "Lêer" #: gschem/lib/system-gschemrc.scm:1555 msgid "_Edit" msgstr "Bewerk" #: gschem/lib/system-gschemrc.scm:1556 msgid "_Buffer" msgstr "Buffer" #: gschem/lib/system-gschemrc.scm:1557 msgid "_View" msgstr "Aansig" #: gschem/lib/system-gschemrc.scm:1558 msgid "_Page" msgstr "Bladsy" #: gschem/lib/system-gschemrc.scm:1559 msgid "_Add" msgstr "Voeg By" #: gschem/lib/system-gschemrc.scm:1560 msgid "Hie_rarchy" msgstr "Hierargie" #: gschem/lib/system-gschemrc.scm:1561 msgid "A_ttributes" msgstr "Eienskappe" #: gschem/lib/system-gschemrc.scm:1562 msgid "_Options" msgstr "Opsies" #: gschem/lib/system-gschemrc.scm:1563 msgid "_Help" msgstr "Help" #: gschem/scheme/gschem/deprecated.scm:102 #, scheme-format msgid "Invalid text alignment ~A." msgstr "" #: gschem/scheme/gschem/gschemdoc.scm:225 msgid "No documentation found" msgstr "" #: gschem/scheme/gschem/keymap.scm:38 #, scheme-format msgid "~S is not a valid key combination." msgstr "" #: gschem/scheme/gschem/keymap.scm:153 #, scheme-format msgid "~S is not a prefix key sequence." msgstr "" #~ msgid "Could not fork\n" #~ msgstr "Kon nie vertak nie\n" #~ msgid "Could not invoke %s\n" #~ msgstr "Kon nie %s oproep nie\n" #~ msgid "Documentation commands not supported under MinGW.\n" #~ msgstr "Dokumentasieopdragte werk nie onder MinGW nie.\n" #~ msgid "Documentation for [%s,%s,%s,%s]\n" #~ msgstr "Documentasie vir [%s,%s,%s,%s]\n" # FIXME: "aangeduide". #~ msgid "" #~ "This command retrieves the component documentation from the web, but " #~ "there is no component selected" #~ msgstr "" #~ "Hierdie opdrag haal die komponentdokumentasie van die web, maar daar is " #~ "geen aangeduide komponent nie" #~ msgid "Scheme directory NOT set!\n" #~ msgstr "Scheme-gids is NIE gestel nie!\n" #~ msgid "MakeVisible" #~ msgstr "MaakSigbaar" #~ msgid "Couldn't open file %s\n" #~ msgstr "Kon nie lêer %s oopmaak nie\n" #~ msgid "Clear" #~ msgstr "Maak Skoon" #~ msgid "Make Inv Text Vis" #~ msgstr "Maak Onsigbare Teks Sigbaar" #~ msgid "About..." #~ msgstr "Omtrent..." #~ msgid "gEDA: GPL Electronic Design Automation" #~ msgstr "gEDA: GPL Elektroniese Ontwerp Outomatisering" #~ msgid "gschem version %s%s.%s" #~ msgstr "gschem uitgawe %s%s.%s" #~ msgid "" #~ "Written by:\n" #~ "Ales Hvezda\n" #~ "ahvezda@geda.seul.org\n" #~ "And many others (See AUTHORS file)" #~ msgstr "" #~ "Geskryf deur:\n" #~ "Ales Hvezda\n" #~ "ahvezda@geda.seul.org\n" #~ "en vele andere (Sien AUTHORS lêer)" #~ msgid "Revert Page" #~ msgstr "Gaan Bladsy Terug" #~ msgid "Save Page As..." #~ msgstr "Bewaar Bladsy As..." #~ msgid "Manual" #~ msgstr "Handleiding" #~ msgid "uggg! you tried to slot edit something that doesn't exist!\n" #~ msgstr "" #~ "uggg! Jy het probeer om iets as 'n gleuf te bewerk, maar dit bestaan " #~ "nie!\n" #~ msgid "Recent files" #~ msgstr "Onlangse lêers" #~ msgid "Slot Chooser" #~ msgstr "Gleufkieser" #~ msgid "Draw slot %s which is in %s\n" #~ msgstr "Teken gleuf %s wat in %s is\n" #~ msgid "Invalid size [%f] passed to postscript-font-scale\n" #~ msgstr "Ongeldige grootte [%f] aan postscript-font-scale gegee\n" #~ msgid "Cut Buffer" #~ msgstr "Sny Buffer" #~ msgid "Copy Buffer" #~ msgstr "Kopieer Buffer" #~ msgid "Invalid color [%s] passed to %s\n" #~ msgstr "Ongeldige kleur [%s] aan %s gegee\n" #~ msgid "You must set the GEDADATA environment variable!\n" #~ msgstr "Jy moet die GEDADATA omgewingswaarde stel!\n" #~ msgid "Grid ON\n" #~ msgstr "Rooster AAN\n" #~ msgid "Unknown end for arc (%d)\n" #~ msgstr "Onbekende einde vir boog (%d)\n" #~ msgid "Unknown type for arc !\n" #~ msgstr "Onbekende tipe vir boog!\n" #~ msgid "Unknown end for box (%d)\n" #~ msgstr "Onbekende einde vir reghoek (%d)\n" #~ msgid "Unknown type for box !\n" #~ msgstr "Onbekende tipe vir reghoek!\n" #~ msgid "Got an invalid buffer_number [o_buffer_copy]\n" #~ msgstr "Het 'n ongeldige buffer_number gekry [o_buffer_copy]\n" #~ msgid "Got an invalid buffer_number [o_buffer_cut]\n" #~ msgstr "Het 'n ongeldige buffer_number gekry [o_buffer_cut]\n" #~ msgid "Unknown end for circle\n" #~ msgstr "Onbekende einde vir sirkel\n" #~ msgid "Unknown type for circle!\n" #~ msgstr "Onbekende tipe vir sirkel!\n" #~ msgid "Could not find the color %s!\n" #~ msgstr "Kon nie die kleur %s vind nie!\n" #~ msgid "Ack! Cannot allocate white!\n" #~ msgstr "Ag! Kon nie aanspraak maak op wit nie!\n" #~ msgid "Couldn't allocate xor_gc\n" #~ msgstr "Kon nie aanspraak maak op xor_gc nie\n" #~ msgid "Couldn't allocate outline_xor_gc\n" #~ msgstr "Kon nie aanspraak maak op outline_xor_gc nie\n" #~ msgid "Couldn't allocate bounding_xor_gc\n" #~ msgstr "Kon nie aanspraak maak op bounding_xor_gc nie\n" #~ msgid "Couldn't allocate bus_gc\n" #~ msgstr "Kon nie aanspraak maak op bus_gc nie\n" #~ msgid "Got NULL in o_attrib_toggle_visibility\n" #~ msgstr "Kry NULL in o_attrib_toggle_visibility\n" #~ msgid "Got NULL in o_attrib_toggle_show_name_value\n" #~ msgstr "Kry NULL in o_attrib_toggle_show_name_value\n" #~ msgid "Got an invalid buffer_number [o_buffer_paste_end]\n" #~ msgstr "Het 'n ongeldige buffer_number gekry [o_buffer_paste_end]\n" #~ msgid "ERROR: NULL object in o_copy_end!\n" #~ msgstr "FOUT: NULL voorwerp in o_copy_end!\n" #~ msgid "File" #~ msgstr "Lêer" #~ msgid "Buffer" #~ msgstr "Buffer" #~ msgid "View" #~ msgstr "Aansig" #~ msgid "Page" #~ msgstr "Bladsy" #~ msgid "Add" #~ msgstr "Voeg By" #~ msgid "Hierarchy" #~ msgstr "Hierargie" #~ msgid "Options" #~ msgstr "Opsies" #~ msgid "Help" #~ msgstr "Help" #, fuzzy #~ msgid "Unknown end for path (%d)\n" #~ msgstr "Onbekende einde vir boog (%d)\n" #, fuzzy #~ msgid "Unknown type for path !\n" #~ msgstr "Onbekende tipe vir boog!\n" #, fuzzy #~ msgid "Could not find complex in new component placement!\n" #~ msgstr "Kon nie kompleks in nuwe komponentplasing vind nie!\n" geda-gaf-1.8.2/gschem/po/ChangeLog0000664000175000017500000000000012050461155013523 00000000000000geda-gaf-1.8.2/gschem/po/nl.gmo0000664000175000017500000012205212220655645013112 00000000000000GT$000 11;-1 i1u1111 1111 11112 2 2 2%2 .282M222]3^3 m3z3334 44 44(4$4 5 5+%5Q5*5 6 6 6j66666 6 66 6 6>67*7:7N7_7 d7 o7 }777777>772728!K8'm8888 88 88 88 9 999 %9/9K9 Z9e9l9q9x9999 9 9 9 9 9 999 l::(:3:%;%*;!P;6r;;;!;=;;<@<O< l<y<<<<< < < < < <<<5<(= := G=S=&Z==== ==== ===> > > &>D1>/v>">>>>>? ?#? 8? E?S?d?v?~??? ????m@E~@@ @@@A+A@ASAgA"AAA AAA A A BB B##BGB/PB4B/B/B!C17CiC qC {C CCCC CC CDD=D NDYD'`DD3D-D*D&'E.NE<}E<E-E3%F?YFAF,F&G&/GVG&qG%G G G G G GG G H H*HBH GH TH _H lHxH HHHHH H H HH H I I I&I9I;I@IEIKIPITI ]I jIwIIII IIIIII7J:JQJ*qJJJJ J-J5 K#BKfK kK xK KK KKKKK KLL L L*L2L:LBLJL RL _L lL yL LLLL LL LLLLLL'L&M/M7MFM"OMrMzMMMMMM MM M/N 8NFNMN \NhNzN(NNN N N NN O2 O?O EO OO[OjOO OOO OOOP PP +P7P UPaPsP PP PPPP PPP PQQ 2Q =QIQcQ|QQ QQQQQQQQR(R1RGR\ReR nR!xRR0R R RRRS S4SRSZS _S mS wS S3SGSJ TRVTLTTU(U=UQU eU sU}U?U"U*U?*V<jVVVVVVVWW*W HWiWWWWW W W WW[[[[ [[)[`[-1\8_\+\-\\]]]].].=]$l]]9^ B^ L^ Z^e^ n^x^&^ ^^^ ^^^^ ^ ^^___&_/_?_E_K_b_h_ ___ __________ _ __` ``` ` 7`E`N`a`g`k`q` w`;``G` a8bOb ebMsbb&bcc,cCcHc6dc!c cRc"1dTd=Zd.d/d d"e;e0f /g:gAVg gg gg g gg h h h'h ;h Fh Qh\hdh vh h hhh?iWidoi i iijjk k*k IkUk4[k/kkk4kl4l mmmx*mmmm mm m m m mAm@nTnonnn nnn nnnnoKoco3koo#o*o p pp p+p DpQp `pnptppp p ppp ppp p p q q q q+q:qIqXqgqvqq0r'Br?jrMr$r*s Hs@isss%s;t?tEt Ut vtttttt t t t t ttt< uIuZumu u%uu u u uuu v vv.v Hv Sv av kvQuv.v!vw,w3wDwYw rwwwwww w wwx2xCx"[x~xxT%yzy yy*yyy z$z%Cz1iz+z zzz {{ {/{6{ >{)I{s{6{{9{4{5!|'W|:|| | |||"| } 6}D} a}m} q}<{}} }+}}A~=T~:~6~9F>C-CK;M9Հ11As-5 5B GQ f r  ɂւ $ > K Yg o |ƒăɃ΃ԃۃ   " 0> Zh|#J!"6D{ 29..]b q~ #φ  + ;HOV]d k y  Ç·҇  &$K R^ q ~Èۈ! -J5\ ̉+ '5DT/c6 ڊ#@_h}  Ƌ֋ $ .I` iv ʌ݌  2 =Jb%| Ǎ-*5`x  ̎0ێ  *8?DDY ɏ֏:I"LlcVtˑ G50}:ML72  )?&i#! ֔ #  0-:ph7ٙ78I8˚ܚ1/K{2C Ua p z0 Ɯ Ҝ ݜ   ,5 L Wa jw ĝҝ  #+39> F T_ h t ՞:CLY Ǡݠ Y[.wҡB"U"xi"(@,4m5+أ%o/~>)!;TE8B^1v 3?qmy>0=SD6W/5ajQcdefgG8rHw%ys+&iEUH(92!Z*bb c %PwvI4Y-Q }n,3nZ76:Sqd#4M%:R6L77k@') (3R$(u4`0 ^* M90*sJ tU<VlXu|`.> +"I5CJ'VxKY 1O=\t@1{/-#)#<_K;+|Df8p]2.T@aBW$= Fe !OzzAChA][:_2r N,h5g.B\? <} "m9E[LPo{;ND~"FX C$ p?A- 'FGijkl,&&xG%s The gschem log may contain more information.%s (g%.7s)%s failed to launch URI** Invalid UTF-8 in log message. See stderr or gschem.log. *unchanged*/Add Attribute.../Add Bus/Add Component.../Add Net/Add Text/Copy/Delete/Down Schematic/Down Symbol/Edit pin type.../Edit.../Move/Select/Up/Zoom Box/Zoom Extents/Zoom In/Zoom OutAdd AttributeAn error occurred while loading the requested file. Loading from '%s' failed: %s. The gschem log may contain more information.Attach OptionsEdit AttributeInvalid schematic on clipboard. An error occurred while inserting clipboard data: %s.OptionsScopeText ContentText PropertiesThe input attribute "%s" is invalid Please correct in order to continue The name and value must be non-empty. The name cannot end with a space. The value cannot start with a space.A_rcA_ttributesA_utonumber Text...About gschemActionAction feedback mode set to BOUNDINGBOX Action feedback mode set to OUTLINE Add AttributeAdd Text...Add buses mode Right mouse button to cancelAdd component... Select library and component from list, move the mouse into main window, click to place Right mouse button to cancelAdd nets mode Right mouse button to cancelAlignment:AllAll filesAn unknown error occurred while parsing configuration files. The gschem log may contain more information.Angle 1:Angle 2:ArcArc ModeArc ParamsArc Radius:AttachAttributeAttributesAttributes with empty name are not allowed. Please set a name.Automatic slottingAutonumber textAutonumber text in:B_W color schemeB_usBackgroundBottom to topBounding boxBoxBox ModeBusBus ModeBus pin (graphical)Bus ripper symbol [%s] was not found in any component library C_ircleCannot find any schematics above the current one! Cannot find source [%s] Cannot load gschem configuration.Cannot print current schematic to [%s] CenterChangedCircleCircle ModeClipboard insertion failedClose PageClosing Window Closing [%s] ColorColor EditColor...Color:Command:ComponentComponent D_ocumentation...Component ModeComponentsCoordsCopyCopy 1Copy 2Copy 3Copy 4Copy 5Copy ModeCopy into 1Copy into 2Copy into 3Copy into 4Copy into 5Copy to clipboardCopyright © 1998-2012 Ales Hvezda Copyright © 1998-2012 gEDA Contributors (see ChangeLog for details)Could NOT save backup file [%s] Could NOT save page [%s] Could NOT set backup file [%s] readonly Could NOT set previous backup file [%s] read-write Could not allocate display color %i! Could not allocate outline color %i! Could not allocate the color %s! Could not find symbol [%s] in library. Update failed. Could not launch URI ~S: ~ACouldn't allocate gc Couldn't find init scm file [%s] Create and edit electrical schematics and symbols with gschemCu_tCurrent WindowCurrent locale settings: %s Current pageCut 1Cut 2Cut 3Cut 4Cut 5Cut into 1Cut into 2Cut into 3Cut into 4Cut into 5Cut to clipboardCycle _grid stylesDOH! tried to find the whichone, but didn't find it! D_ocumentation...Dash Length:Dash Space:DashedDefault behavior - reference componentDegrees of Sweep:DeleteDeselectDestinationDetachDetached attributeDiagonalDiscard PageDiscarding page [%s] Dot grid selected DottedDown _SymbolDuplicateERROR: %s ERROR: An unknown error occurred while parsing configuration files. ERROR: NULL object in color_edit_dialog_apply! ERROR: NULL object in o_move_end! ERROR: NULL object! EditEdit AttributesEdit Fill TypeEdit Line Width & TypeEdit TextEdit Text PropertiesEdit Text...Edit pin typeEdit slot numberEdit slot number:Edit...EmbedEmbed Component/PictureEmbed component in schematicEmpty bufferEncapsulated PostscriptEnter new snap grid spacing:Enter new text size:Enter text, click apply, move cursor into window, click to place text. Middle button to rotate while placing.Error printing to file '%s' Check the log window for more informationError while trying to saveEvaluate:Execute Script...Executing guile script [%s] Extents no marginsExtents with marginsFailed to Save AllFailed to load fileFailed to load picture: %sFailed to read init scm file [%s] Failed to replace pictures: %sFailed to save fileFile orderFile:FilenameFill Type...Fill Type:FilledFilter:Find TextFound invalid gschem window smob ~SFunctionGot a non line object in o_move_check_endpoint Got an invalid buffer_number [o_buffer_paste_start] Got an invalid which one in o_bus_draw_stretch Got an invalid which one in o_net_draw_stretch Got an unexpected NULL in o_edit Got invalid show option; defaulting to show both GraphicGrid OFF Grid pointGrid(%s, %s)HatchHidden text is now invisible Hidden text is now visible Hide TextHide text starting with:Hie_rarchyHollowHotkeysIf you don't save, all your changes will be permanently lost.Image typeIn UseInclude component as individual objectsInvalid AttributeInvalid dot size [%d] passed to dots-grid-dot-size Invalid gain [%d] passed to keyboardpan-gain Invalid gain [%d] passed to mousepan-gain Invalid gain [%d] passed to zoom-gain Invalid num levels [%d] passed to undo-levels Invalid number of pixels [%d] passed to select-slack-pixels Invalid number of seconds [%d] passed to auto-save-interval Invalid number of steps [%d] scrollpan-steps Invalid offset [%d] passed to add-attribute-offset Invalid pixel spacing [%d] passed to dots-grid-fixed-threshold Invalid pixel spacing [%d] passed to mesh-grid-display-threshold Invalid size [%d] passed to bus-ripper-size Invalid size [%d] passed to snap-size Invalid size [%d] passed to text-size Invalid text alignment ~A.Invalid text name/value visibility ~A.Invalid zoomfactor [%d] passed to %s Invoke MacroKeystroke(s)LandscapeLeft to rightLibrariesLineLine ModeLine Width & Type...Line Width:Loading schematic [%s] LockLogic bubbleLower LeftLower MiddleLower RightMagnetic Net ModeMenu/CancelMeshMesh grid majorMesh grid minorMesh grid selected Middle LeftMiddle MiddleMiddle RightMirrorMirror ModeMoveMove ModeMultiple CopyMultiple Copy ModeNNONENameName:Ne_wNetNet ModeNet endpointNet junctionNet pinNetsNewNew PageNew WindowNew Window created [%s] New fileNew file [%s] New page created [%s] New slot number out of range No '*' or '?' given at the end of the autonumber text. No documentation foundNo print destination specified No searchstring given in autonumber text. OFFObject already locked Object already unlocked Object color:Object ~A is not directly included in a page.Object ~A is not included in the current gschem page.Offset to translate? (0 for origin)OpenOpen Page...Open Recen_tOpen file...Open...Orientation:Output backgroundOutput paper size:Overwrite existing numbersOverwrite file?Page ManagerPanPan ModePan/CancelPaste %d ModePaste 1Paste 2Paste 3Paste 4Paste 5Paste from 1Paste from 2Paste from 3Paste from 4Paste from 5Paste from clipboardPhantomPickPictu_re...PicturePicture ModePinPin ModePin typePitch 1:Pitch 2:Popup_menu_item_factory doesn't exist! PortraitPreviewPreview BufferPrint...Printed current schematic to [%s] PromoteRead init scm file [%s] Really revert page?RedoRedo last undoRemove numbersRepeat/Repeat/noneReplace existing attributesResnap ActiveRight click on the filename for more options...Right to leftRotateRotate 90 ModeRotate ModeRubber band OFF Rubber band ON S_elect the schematics you want to save:SaveSave AllSave PageSave _As...Save as...Save cancelled on user request Save fileSave the changes to schematic "%s" before closing?SavedSaved AllSaved [%s] Saved as [%s] Scale _down Grid SpacingScale _up Grid SpacingSchematicsSchematics and symbolsScreenSearch for:Searching for source [%s] Searching for symbol [%s] SelectSelect AllSelect Component...Select ModeSelect PostScript Filename...Select modeSelect objs firstSelected objectsSelectionSettingsShow HiddenShow Name & ValueShow Name OnlyShow Name onlyShow TextShow Value OnlyShow Value onlyShow _BothShow _Coord Window...Show _Log Window...Show _NameShow _ValueShow inherited attributesShow text starting with:Show/Hide Inv TextShowBShowHiddenShowNShowVSingle Attribute EditorSize:Skip numbers found in:SlotSlot attribute malformed Slot...Slotting not allowed for this component Snap Grid S_pacing...Snap OFF (CAUTION!) Snap ON Snap OffSnap SizeSnap back to the grid (CAUTION!) SolidSorry but this is a non-functioning menu option Sort order:Start Angle:Starting number:StatusStrokeSymbol Translate...Symbol is not a real file. Symbol cannot be loaded. SymbolsTextText Entry...Text ModeText SizeText to find:The operating system is out of memory or resources.The selected file `%s' already exists. Would you like to overwrite it?There are %d schematics with unsaved changes. Save changes before closing?There was the following error when saving image with type %s to filename: %s %s. This is free software, and you are welcome to redistribute it under certain This is the MINGW32 port. Toggle Net _RubberbandToggle _Magnetic NetToggle _Outline/BoxToggle _Snap On/OffTop to bottomTranslateTranslating schematic [%d %d] Tried to add more than two bus rippers. Internal gschem error. Tried to get an invalid color: %d Tried to get an invalid outline color: %d Tried to set the sensitivity on a non-existent popup menu_item Tried to set the sensitivity on non-existent menu item '%s' Type:UndoUndo last operationUndo/Redo disabled in rc file UnembedUnembed Component/PictureUnknownUnknown end for line (%d) Unknown type for box (fill)! Unknown type for circle (fill)! Unknown type for path (fill)! Unknown type for stroke (%d) ! UnlockUpdateUpdate ComponentUpper LeftUpper MiddleUpper RightUsage: %s [OPTION ...] [--] [FILE ...] Interactively edit gEDA schematics or symbols. If one or more FILEs are specified, open them for editing; otherwise, create a new, empty schematic. Options: -q, --quiet Quiet mode. -v, --verbose Verbose mode. -r, --config-file=FILE Additional configuration file to load. -L DIR Add DIR to Scheme search path. -c EXPR Scheme expression to run at startup. -s FILE Scheme script to run at startup. -o, --output=FILE Output filename (for printing). -p Automatically place the window. -V, --version Show version information. -h, --help Help; this message. -- Treat all remaining arguments as filenames. Report bugs at gEDA/gaf homepage: VValueValue:Vis?VisToggleVisibleWARNING: Do not translate with snap off! WARNING: If you are translating a symbol to the origin, the snap grid size should be set to 100 WARNING: Snap grid size is not equal to 100! WARNING: Turning snap on and continuing with translate. Warning: Ending net at off grid coordinate Warning: Starting net at off grid coordinate Whole hierarchyWidth x HeightWidth:WorldWrite _image...Write image...Wrote black and white image to [%s] [%d x %d] Wrote color image to [%s] [%d x %d] You must set the GEDADATA environment variable! gschem cannot locate its data files. You must set the GEDADATA environment variable to point to the correct location. Zoom BoxZoom _BoxZoom _ExtentsZoom _FullZoom _InZoom _OutZoom boxZoom too small! Cannot zoom further. _About..._Add_Attach_Attribute..._Box_Buffer_Close_Close Window_Component..._Copy_Dark color scheme_Delete_Detach_Discard_Down Schematic_Edit_File_Find Specific Text..._Help_Hide Specific Text..._Hotkeys..._Light color scheme_Line_Manager..._Net_New_Next_Open..._Options_Page_Pan_Paste_Pin_Previous_Print..._Quit_Redo_Redraw_Revert_Save_Show Specific Text..._Text Size..._Text..._Toggle Visibility_Undo_Up_Viewblackcairo contextconditions; please see the COPYING file for more details. descend into hierarchyduplicate slot may cause problems: [symbolname=%s, number=%d, slot=%d] gEDA %s (g%.7s) Copyright (C) 1998-2012 gEDA developers This is free software, and you are welcome to redistribute it under certain conditions. For details, see the file `COPYING', which is included in the gEDA distribution. There is NO WARRANTY, to the extent permitted by law. gEDA Docu_mentation...gEDA Schematic EditorgEDA _Wiki...gEDA/gschem comes with ABSOLUTELY NO WARRANTY; see COPYING for more details. gEDA/gschem version %s%s.%s gEDA: GPL Electronic Design Automationgschem _FAQ...magnetic net mode: OFF magnetic net mode: ON nonenumslots attribute missing o_autosave_backups: Can't get the real filename of %s.o_buffer_copy: Invalid buffer %i o_buffer_cut: Invalid buffer %i slotted object without slot attribute may cause problems when autonumbering slots the cairo context for the rendererwhitex_image_lowlevel: Unable to get pixbuf from gschem's window. x_image_lowlevel: Unable to write %s file %s. x_image_lowlevel: Unable to write eps file %s. ~S is not a prefix key sequence.~S is not a valid key combination.Project-Id-Version: geda-gschem Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-11-15 08:58+0100 Last-Translator: Bert Timmerman Language-Team: gEDA developers Language: nl MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) %s Het gschem log kan meer informatie bevatten.%s (g%.7s)%s faalde om URI te starten** Ongeldige UTF-8 in logboek bericht. Zie stderr of gschem.log. *onveranderd*/Plaats Attribuut.../Plaats Bus/Plaats Component.../Plaats Draad/Plaats Tekst/Kopieer/Verwijder/Naar Schema/Naar Symbool/Bewerk pen type.../Bewerk.../Verplaats/Selecteer/Omhoog/Vergroot Venster/Toon Alles/Vergroot/VerkleinPlaats AttribuutEr trad een fout op tijdens het laden van het gevraagde bestand. Laden van '%s' faalde: %s. Het gschem log kan meer informatie bevatten.Opties VastmakenBewerk AttribuutOngeldig schema op klembord. Er trad een fout op tijdens het invoegen van klembord data: %s.OptiesOmvangTekst InhoudTekst EigenschappenDe invoer attribuut "%s" is ongeldig Alstublieft corrigeren voor dat je doorgaat De naam en waarde mogen niet leeg zijn. De naam mag niet eindigen met een spatie. De waarde mag niet met een spatie beginnen._Boog_AttributenA_utomatisch Tekst Nummeren...Over gschemAktieAktie terugkoppel mode is ingesteld op BOUNDINGBOX. Aktie terugkoppel mode is ingesteld op OUTLINE Plaats AttribuutPlaats een tekst...Plaats bussen modus Rechter muisknop om af te brekenVoeg een component toe... Selecteer een bibliotheek en component uit delijst, verplaats de muisindicator in het hoofdvensterklik om component te plaatsen Rechter muisknop om af te brekenPlaats draden modus Rechter muisknop om af te brekenUitlijning:AlleAlle bestandenEen onbekende fout trad op tijdens het ontleden van configuratiebestanden. Het gschem log kan meer informatie bevatten.Hoek 1:Hoek 2:BoogBoog ModeBoog parametersBoog Straal:VastmakenAttribuutAttributenAttributen met een lege naam zijn niet toegestaan. Geef een naam.Automatisch slottenAutomatisch tekst nummerenAutomatisch tekst nummeren in:Z_W kleuren schemaB_usAchtergrondVan beneden naar bovenOmhullende rechthoekRechthoekRechthoek ModeBusBus ModeBus pen (grafisch)Bus ripper symbool [%s] niet gevonden in een van de component bibliotheken C_irkelKan geen schema's vinden boven het huidige schema! Kan bron [%s] niet vinden Kan geen gschem configuratie laden.Kan huidige schema niet afdrukken op [%s] HartVeranderdCirkelCirkel ModeKlembord invoegen faaldeSluit PaginaSluit Venster Sluiten [%s] KleurKleur BewerkenKleur...Kleur:Opdracht:ComponentComponent D_ocumentatie...Component ModeComponentenCoord.KopieerKopieer 1Kopieer 2Kopieer 3Kopieer 4Kopieer 5Kopieer ModeKopieer naar 1Kopieer naar 2Kopieer naar 3Kopieer naar 4Kopieer naar 5Kopieer naar klembordCopyright © 1998-2012 Ales Hvezda Copyright © 1998-2012 gEDA Contributors (zie het ChangeLog voor details)Reserve bestand [%s] kan NIET opgeslagen worden Pagina [%s] kan NIET opgeslagen worden Reserve bestand [%s] kan NIET op alleen-lezen ingesteld worden Voorgaande reserve bestand [%s] kan NIET op lezen-schrijven ingesteld worden Kan scherm kleur %i niet toewijzen! Kan de omlijning kleur %i niet toewijzen! Kan de kleur %s niet toewijzen! Kan symbool [%s] niet in bibliotheek vinden. Vernieuwen faalde. Kan URI ~S: ~A niet startenKan gc niet toewijzen Kan init scm bestand [%s]niet vinden Creer en bewerk elektrische schema's en symbolen met gschemK_nipHuidige VensterHuidige locale instellingen: %s Huidig bladKnip 1Knip 2Knip 3Knip 4Knip 5Knip naar 1Knip naar 2Knip naar 3Knip naar 4Knip naar 5Knip naar klembordSchakel r_aster stijlenOH! probeerde er een te vinden, maar heb 'em niet gevonden! D_ocumentatie...Lijn Streeplengte:Lijn Tussenruimte:GestreeptNormaal gedrag - referentie componentDoorlopen Hoek:VerwijderDeselecteerBestemmingLosmakenLosgemaakte attribuutDiagonaalPagina WegdoenPagina [%s] wegdoen Punt raster geselecteerd GestippeldNaar _SymboolDupliceerFOUT: %s FOUT: Een onbekende fout trad op tijdens het ontleden van configuratiebestanden. FOUT: NULL object in color_edit_dialog_apply! FOUT: NULL object in o_move_end! FOUT: NULL object! BewerkBewerk AttribuutBewerk Arcering TypeBewerk Lijn Dikte & TypeBewerk TekstBewerk Tekst EigenschappenBewerk Tekst...Bewerk pen typeBewerk slot nummerBewerk slot nummer:Bewerk...InsluitenComponent/Afbeelding InsluitenComponent insluiten in schemaMaak buffer leegEncapsulated PostscriptVoer nieuwe snap raster waarde in:Voer nieuwe tekstgrootte in:Geef tekst in, en klik toepassen, verplaats cursor in het venster, klik om tekst te plaatsen. Middelste muisknop gebruiken om te plaatsenFout bij afdrukken naar bestand '%s' Controleer het log venster voor meer informatieFout tijdens het opslaanEvalueer:Script Uitvoeren...Bezig met uitvoeren van guile script [%s] Alles zonder kantlijnenAlles met kantlijnenFout tijdens Alles OpslaanFout bij het lezen van bestandFout bij het lezen van afbeelding: %sFout bij het lezen van het init scm bestand [%s] Fout bij het vervangen van afbeeldingen: %sFout bij het opslaan van bestandBestand volgordeBestand:BestandsnaamArcering Type...Arcering Type:GevuldFilter:Vind tekstOngeldige gschem venster smob ~S gevondenFunktieOntving een niet lijn object in o_move_check_endpoint Ontving een ongeldig buffernummer [o_buffer_paste_start] Ontving ereen die ongeldig is in o_bus_draw_stretch Ontving er een die ongeldig is in o_net_draw_stretch Ontving een onverwachte NULL in o_edit Kreeg ongeldige toon optie; standaardwaarde is toon beide GrafischRaster UIT RasterpuntRaster(%s, %s)ArceringVerborgen tekst is nu onzichtbaar Verborgen tekst is nu zichtbaar Verberg tekstVerberg tekst beginnend met:Hie_rarchieHolSneltoetsAls je niet opslaat, verlies je alle wijzigingen definitief.Afbeelding typeIn gebruikInvoegen component als individuele objectenOngeldig AttribuutOngeldige punt afmeting [%d] overgedragen aan dots-grid-dot-size Ongeldige versterking [%d] overgedragen aan keyboardpan-gain Ongeldige versterking [%d] overgedragen aan mousepan-gain Ongeldige versterking [%d] overgedragen aan zoom-gain Ongeldige num niveaus [%d] overgedragen naar undo-levels Ongeldig aantal beeldpunten [%d] overgedragen aan select-slack-pixels Ongeldig aantal seconden [%d] overgedragen naar auto-save-interval Ongeldig aantal stappen [%d] scrollpan-steps Ongeldige offset waarde [%d] overgedragen aan add-attribute-offset Ongeldige beeldpunt ruimte [%d] overgedragen aan dots-grid-fixed-threshold Ongeldige beeldpunt ruimte [%d] overgedragen aan mesh-grid-display-threshold Ongeldige afmeting [%d] overgedragen aan bus-ripper-size Ongeldige waarde [%d] overgedragen aan snap-size Ongeldige waarde [%d] overgedragen aan text-size Ongeldige tekst uitlijning ~A.Ongeldige tekst naam/waarde zichtbaarheid ~A.Ongeldige vergrotingsfactor [%d] overgedragen aan %s Macro AanroepenToetsaanslag(en)LiggendVan links naar rechtsBibliothekenLijnLijn ModeLijn Dikte & Type...Lijn Dikte:Bezig met laden van schema [%s] VergrendelLogische inverterOnder LinksOnder MiddenOnder RechtsMagnetische Draad ModeMenu/AfbrekenMaasMaas raster grootMaas raster kleinMaas raster geselecteerd Midden LinksMidden MiddenMidden RechtsSpiegelSpiegel ModeVerplaatsVerplaats ModeMeervoudig KopierenMeervoudige Kopieer ModeNGEENNaamNaam:Nieu_wDraadDraad ModeDraad eindpuntDraad aftakkingDraad penDradenNieuwNieuwe PaginaNieuw VensterNieuw venster gemaakt [%s] Nieuw bestandNieuw bestand [%s] Nieuwe pagina gemaakt [%s] Nieuw slotnummer buiten het bereik Geen '*' of '?' gegeven aan het einden van de automatisch nummeren tekst. Geen documentatie gevondenGeen afdruk bestemming opgegeven Geen zoektekst gegeven in automatisch nummeren tekst. UITObject reeds vergrendeld Object reeds ontgrendeld Object kleur:Object ~A is niet direct bijgevoegd in een pagina.Objekt ~A is niet bijgevoegd in de huidige gschem pagina.Offset van de verplaatsing? (0 voor oorsprong)OpenOpen Pagina...Open Recen_tOpen bestand...Open...Orientatie:Uitvoer achtergrondUitvoer papier afmeting:Overschrijven van bestaande nummersOverschrijf bestand ?Pagina ManagerSchuifSchuif ModeSchuif/AfbrekenPlak %d ModePlak 1Plak 2Plak 3Plak 4Plak 5Plak vanuit 1Plak vanuit 2Plak vanuit 3Plak vanuit 4Plak vanuit 5Plak van klembordBegrenzingPakA_fbeelding...AfbeeldingAfbeelding ModePenPen ModePen typeSteek 1:Steek 2:Popup_menu_item_factory bestaat niet! StaandVooraf zienVooraf zien BufferAfdrukken...Huidig schema afgedrukt op [%s] PromootLees init scm bestand [%s] Echt Terughalen pagina?HerstelHerstel de laatste ongedaanmakingVerwijder nummersHerhaal/Herhaal/geenVervang bestaande attributenHersnappen AktiefKlik met rechts op de bestandnaam voor meer opties...Van rechts naar linksRoteerRotatie 90 ModeRotatie ModeElastiek band UIT Elastiek band AAN S_electeer de schema's die je op wil slaan:OpslaanAlles OpslaanOpslaan PaginaOpslaan _Als...Opslaan Als...Opslaan afgebroken op verzoek van de gebruiker Opslaan bestandWijzigingen in schema "%s" opslaan voor het afsluiten?OpgeslagenAlles OpgeslagenOpgeslagen [%s] Opgeslagen Als [%s] Omlaag schalen Snap Raster Afstan_dOmhoog schalen Raster A_fstandSchema'sSchema's en symbolenSchermZoek naar:Zoek naar bron [%s] Zoek naar symbool [%s] SelecteerSelecteer AllesSelecteer Component...Selectie ModeSelecteer Postscript bestandsnaam...Selectie modeSelecteer voorwerpen eerstGeselecteerde objectenSelectieInstellingenZichtbaar VerborgenToon Naam & WaardeToon Alleen NaamToon alleen NaamToon tekstToon Alleen WaardeToon alleen WaardeToon _BeideToon _Coordinaten venster...Toon _Logboek venster...Toon _NaamToon _WaardeToon geerfde attributenToon tekst beginnend met:Zichtbaar/Verborgen Onzichtbare TekstToonBZichtbaarVerborgenToonNToonWEnkelvoudige Attribuut BewerkingGrootte:Sla nummers over gevonden in:SlotSlot attribuut misvormd Slot...Slots niet toegestaan voor deze component Sna_p Raster Afstand...Snap UIT (PAS OP!) Snap AAN Snap AanSnap GrootteSnap terug op raster (PAS OP!) Getrokken lijnSorry, maar dit is een niet werkende menu optie Sorteer volgorde:Start Hoek:Start nummer:StatusSlagVerplaats Symbool...Symbool is geen werkelijk bestand. Symbool kan niet geladen worden. SymbolenTekstTekst Ingeven...Tekst ModeTekst HoogteTe vinden tekst:Het besturingssysteem heeft niet meer geheugen of bronnen.Het geselecteerde bestand `%s' bestaat reeds. Wil je het overschrijven ?Er zijn %d schema's met wijzigingen. Wijzigingen opslaan voor het afsluiten?De volgende fout ontstond tijdens het opslaan van afbeelding met type %s naar bestandnaam: %s %s. Dit is vrije software, en je wordt aangemoedigt dit te herdistribueren onder bepaalde Dit is de MINGW32 versie. Schakel D_raad ElastiekbandSchakel _Magnetische Draad ModeSchakel C_ontour/RechthoekSchakel _Snap Aan/UitVan boven naar benedenVerplaatsVertaal schema [%d %d] Probeerde meer dan twee busrippers toe te voegen. Interne gschem fout. Probeerde een ongeldige kleur te verkrijgen: %d Probeerde een ongeldige omlijning kleur te verkrijgen: %d Probeerde de gevoeligheid in te stellen op een niet bestaand popup menu_item Probeerde de gevoeligheid in te stellen op een niet bestaand menu_item '%s' Type:Ongedaan makenMaak laatste bewerking ongedaanOngedaan/Opnieuw doen uitgeschakeld in rc bestand UitsluitenComponent/Afbeelding UitsluitenOnbekendOnbekend einde voor lijn (%d) Onbekend type voor rechthoek (arcering)! Onbekend type voor cirkel (arcering)! Onbekend type voor pad (arcering)! Onbekend type voor strook (%d) ! OntgrendelVernieuwHernieuw ComponentBoven LinksBoven MiddenBoven RechtsGebruik: %s [OPTIE ...] [--] [BESTAND ...] Interactief bewerken van gEDA schema's of symbolen. Als een of meer BESTANDen gespecificeerd zijn, open deze voor bewerken; of, creëer een nieuw, leeg schema. Opties: -q, --quiet Stille mode. -v, --verbose Verbale mode. -r, --config-file=FILE Additioneel configuratie bestand laden. -L DIR Voeg DIR toe aan Scheme zoekpad. -c EXPR Scheme expressie uitvoeren tijdens opstarten. -s FILE Scheme script uitvoeren tijdens opstarten. -o, --output=FILE Uitvoer bestandsnaam (voor afdrukken). -p Automatisch geplaatst in het venster. -V, --version Toon versie informatie. -h, --help Help; dit bericht. -- Behandel alle overblijvende argumenten als bestandnamen. Rapporteer fouten aan gEDA/gaf startpagina: WWaardeWaarde:Zichtbaar?SchakelZichtbaarheidZichtbaarWAARSCHUWING: Niet verplaatsen met snap uit! WAARSCHUWING: Als je een symbool naar de oorsprong verschuift, dan moet de snap grip waarde op 100 gezet worden WAARSCHUWING: Snap grid waarde is niet gelijk aan 100! WAARSCHUWING: Zet snap aan en vervolg de verplaatsing. Waarschuwing: einde van draad niet op raster coordinaat Waarschuwing: begin van draad niet op raster coordinaat Hele hierarchieBreedte x HoogteBreedte:WereldSchrijf afbeeld_ing...Schrijf afbeelding...Schreef zwart/wit afbeelding naar [%s] [%d x %d] Schreef kleuren afbeelding naar [%s] [%d x %d] Ie moet de GEDADATA omgevingsvariabele instellen! gschem kan geen lokatie vinden van de data bestanden. Je moet de GEDADATA omgevingsvariablele naar de juiste lokatie laten wijzen. Vergroot Venster_Vergroot VensterToon All_esToon _MaximaalVer_grootVer_kleinVergroot vensterVergroting te klein! Kan niet verder vergroten. Om_trent...Toe_voegenV_astmaken_Attribuut..._RechthoekB_ufferS_luitSluit Venster_Component..._Kopieer_Donker kleuren schemaVerwij_der_LosmakenWeg_doen_Naar SchemaB_ewerk_BestandVind Speci_fieke Tekst..._HelpVerberg Specifieke Tekst..._Sneltoets..._Licht kleuren schema_Lijn_Manager..._Draad_NieuwVolge_nde_Open..._Opties_Pagina_Schuif_Plak_Pen_VorigeAf_drukken...A_fsluitenHe_rstelHe_rtekenenTe_rughalenOp_slaanToon _Specifieke Tekst..._Tekst Hoogte..._Tekst...Schakel Zich_tbaarheid_Ongedaan makenO_mhoog_Toonzwartcairo contekstcondities; zie het COPYING bestand voor meer informatie. afdalen in hierarchieeen dubbel slot kan een probleem geven: [symbolname=%s, number=%d, slot=%d] gEDA %s (g%.7s) Copyright (C) 1998-2012 gEDA developers Dit is vrije software, en jij bent welkom om deze te herdistribueren onder bepaalde condities. Voor details, zie het bestand `COPYING', welke is bijgevoegd in de gEDA distributie. Er is GEEN GARANTIE, voor zover de wet dit toelaat. gEDA Docu_mentatie...gEDA schema bewerkinggEDA _Wiki...gEDA/gschem komt ABSOLUUT ZONDER GARANTIE; zie het COPYING bestand voor meer informatie. gEDA/gschem versie %s%s.%s gEDA: GPL Elektronische Ontwerp Automatiseringgschem _FAQ...magnetische draad mode: UIT magnetische draad mode: AAN geennumslots attribuut ontbreekt o_autosave_backups: Kan de echte bestandsnaam van %s niet krijgen.o_buffer_cut: Ongeldige buffer %i o_buffer_cut: Ongeldige buffer %i geslotte objecten zonder slot attribuut kunnen een probleem geven bij het automatisch nummeren van slots de cairo contekst voor de rendererwitx_image_lowlevel: Kan geen pixbuf krijgen van gschem's venster. x_image_lowlevel: Kan %s bestand %s niet schrijven. x_image_lowlevel: Kan EPS bestand %s niet schrijven. ~S is geen voorafgaande toetsen combinatie.~S is geen geldige toetsencombinatie.geda-gaf-1.8.2/gschem/po/geda-gschem.pot0000664000175000017500000013562312220651637014672 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR gEDA Developers # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: gschem/src/a_zoom.c:212 msgid "Zoom too small! Cannot zoom further.\n" msgstr "" #: gschem/src/g_attrib.c:92 msgid "Object ~A is not included in the current gschem page." msgstr "" #: gschem/src/g_attrib.c:112 msgid "Invalid text name/value visibility ~A." msgstr "" #: gschem/src/g_rc.c:312 #, c-format msgid "Invalid zoomfactor [%d] passed to %s\n" msgstr "" #: gschem/src/g_rc.c:458 #, c-format msgid "Invalid size [%d] passed to text-size\n" msgstr "" #: gschem/src/g_rc.c:501 #, c-format msgid "Invalid size [%d] passed to snap-size\n" msgstr "" #: gschem/src/g_rc.c:958 #, c-format msgid "Invalid num levels [%d] passed to undo-levels\n" msgstr "" #: gschem/src/g_rc.c:1220 #, c-format msgid "Invalid size [%d] passed to bus-ripper-size\n" msgstr "" #: gschem/src/g_rc.c:1295 #, c-format msgid "Invalid dot size [%d] passed to dots-grid-dot-size\n" msgstr "" #: gschem/src/g_rc.c:1336 #, c-format msgid "Invalid pixel spacing [%d] passed to dots-grid-fixed-threshold\n" msgstr "" #: gschem/src/g_rc.c:1362 #, c-format msgid "Invalid pixel spacing [%d] passed to mesh-grid-display-threshold\n" msgstr "" #: gschem/src/g_rc.c:1387 #, c-format msgid "Invalid offset [%d] passed to add-attribute-offset\n" msgstr "" #: gschem/src/g_rc.c:1411 #, c-format msgid "Invalid number of seconds [%d] passed to auto-save-interval\n" msgstr "" #: gschem/src/g_rc.c:1435 #, c-format msgid "Invalid gain [%d] passed to mousepan-gain\n" msgstr "" #: gschem/src/g_rc.c:1458 #, c-format msgid "Invalid gain [%d] passed to keyboardpan-gain\n" msgstr "" #: gschem/src/g_rc.c:1505 #, c-format msgid "Invalid number of pixels [%d] passed to select-slack-pixels\n" msgstr "" #: gschem/src/g_rc.c:1531 #, c-format msgid "Invalid gain [%d] passed to zoom-gain\n" msgstr "" #: gschem/src/g_rc.c:1556 #, c-format msgid "Invalid number of steps [%d] scrollpan-steps\n" msgstr "" #: gschem/src/g_select.c:79 gschem/src/g_select.c:116 #: gschem/src/g_select.c:152 msgid "Object ~A is not directly included in a page." msgstr "" #: gschem/src/g_util.c:56 msgid "Could not launch URI ~S: ~A" msgstr "" #: gschem/src/g_window.c:136 msgid "Found invalid gschem window smob ~S" msgstr "" #: gschem/src/gschem.c:175 #, c-format msgid "gEDA/gschem version %s%s.%s\n" msgstr "" #: gschem/src/gschem.c:178 msgid "" "gEDA/gschem comes with ABSOLUTELY NO WARRANTY; see COPYING for more " "details.\n" msgstr "" #: gschem/src/gschem.c:180 msgid "" "This is free software, and you are welcome to redistribute it under certain\n" msgstr "" #: gschem/src/gschem.c:182 msgid "" "conditions; please see the COPYING file for more details.\n" "\n" msgstr "" #: gschem/src/gschem.c:185 #, c-format msgid "This is the MINGW32 port.\n" msgstr "" #: gschem/src/gschem.c:189 #, c-format msgid "Current locale settings: %s\n" msgstr "" #: gschem/src/gschem.c:211 msgid "" "You must set the GEDADATA environment variable!\n" "\n" "gschem cannot locate its data files. You must set the GEDADATA\n" "environment variable to point to the correct location.\n" msgstr "" #: gschem/src/gschem.c:248 #, c-format msgid "Couldn't find init scm file [%s]\n" msgstr "" #: gschem/src/gschem.c:252 #, c-format msgid "Read init scm file [%s]\n" msgstr "" #: gschem/src/gschem.c:256 #, c-format msgid "Failed to read init scm file [%s]\n" msgstr "" #: gschem/src/gschem_cairo.c:310 #, c-format msgid "Unknown end for line (%d)\n" msgstr "" #: gschem/src/gschem_cairo.c:318 #, c-format msgid "Unknown type for stroke (%d) !\n" msgstr "" #: gschem/src/gschem_pango.c:289 msgid "cairo context" msgstr "" #: gschem/src/gschem_pango.c:290 msgid "the cairo context for the renderer" msgstr "" #: gschem/src/i_basic.c:77 gschem/src/x_window.c:524 #: gschem/lib/system-gschemrc.scm:1399 msgid "Select Mode" msgstr "" #: gschem/src/i_basic.c:79 msgid "Component Mode" msgstr "" #: gschem/src/i_basic.c:81 msgid "Text Mode" msgstr "" #: gschem/src/i_basic.c:84 gschem/lib/system-gschemrc.scm:1402 msgid "Copy Mode" msgstr "" #: gschem/src/i_basic.c:87 gschem/lib/system-gschemrc.scm:1404 msgid "Move Mode" msgstr "" #: gschem/src/i_basic.c:89 msgid "Rotate Mode" msgstr "" #: gschem/src/i_basic.c:91 gschem/lib/system-gschemrc.scm:1406 msgid "Mirror Mode" msgstr "" #: gschem/src/i_basic.c:95 msgid "Zoom Box" msgstr "" #: gschem/src/i_basic.c:99 msgid "Pan Mode" msgstr "" #: gschem/src/i_basic.c:103 #, c-format msgid "Paste %d Mode" msgstr "" #: gschem/src/i_basic.c:109 msgid "Magnetic Net Mode" msgstr "" #: gschem/src/i_basic.c:111 msgid "Net Mode" msgstr "" #: gschem/src/i_basic.c:115 msgid "Bus Mode" msgstr "" #: gschem/src/i_basic.c:118 msgid "Line Mode" msgstr "" #: gschem/src/i_basic.c:121 msgid "Box Mode" msgstr "" #: gschem/src/i_basic.c:124 msgid "Picture Mode" msgstr "" #: gschem/src/i_basic.c:127 msgid "Circle Mode" msgstr "" #: gschem/src/i_basic.c:130 msgid "Arc Mode" msgstr "" #: gschem/src/i_basic.c:133 msgid "Pin Mode" msgstr "" #: gschem/src/i_basic.c:135 gschem/src/i_callbacks.c:529 #: gschem/src/i_callbacks.c:553 msgid "Copy" msgstr "" #: gschem/src/i_basic.c:137 gschem/src/i_callbacks.c:619 #: gschem/src/i_callbacks.c:643 msgid "Move" msgstr "" #: gschem/src/i_basic.c:139 gschem/src/i_callbacks.c:574 #: gschem/src/i_callbacks.c:598 msgid "Multiple Copy" msgstr "" #: gschem/src/i_basic.c:142 gschem/lib/system-gschemrc.scm:1403 msgid "Multiple Copy Mode" msgstr "" #: gschem/src/i_basic.c:168 msgid "Show Hidden" msgstr "" #: gschem/src/i_basic.c:171 msgid "Snap Off" msgstr "" #: gschem/src/i_basic.c:173 msgid "Resnap Active" msgstr "" #: gschem/src/i_basic.c:254 gschem/src/x_window.c:498 msgid "Action" msgstr "" #: gschem/src/i_basic.c:260 gschem/src/x_dialog.c:2325 #: gschem/src/x_window.c:493 msgid "Stroke" msgstr "" #: gschem/src/i_basic.c:266 gschem/src/x_window.c:495 msgid "none" msgstr "" #: gschem/src/i_basic.c:271 msgid "Repeat/" msgstr "" #: gschem/src/i_basic.c:566 gschem/src/i_basic.c:580 msgid "OFF" msgstr "" #: gschem/src/i_basic.c:584 msgid "NONE" msgstr "" #: gschem/src/i_basic.c:589 #, c-format msgid "Grid(%s, %s)" msgstr "" #: gschem/src/i_callbacks.c:76 gschem/src/i_callbacks.c:1659 #, c-format msgid "New page created [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:124 #, c-format msgid "New Window created [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:242 msgid "Failed to Save All" msgstr "" #: gschem/src/i_callbacks.c:244 msgid "Saved All" msgstr "" #: gschem/src/i_callbacks.c:334 msgid "Closing Window\n" msgstr "" #: gschem/src/i_callbacks.c:534 gschem/src/i_callbacks.c:579 #: gschem/src/i_callbacks.c:624 msgid "Select objs first" msgstr "" #: gschem/src/i_callbacks.c:663 gschem/src/x_multiattrib.c:1549 msgid "Delete" msgstr "" #: gschem/src/i_callbacks.c:688 msgid "Edit" msgstr "" #: gschem/src/i_callbacks.c:703 msgid "Edit pin type" msgstr "" #: gschem/src/i_callbacks.c:722 msgid "Edit Text" msgstr "" #: gschem/src/i_callbacks.c:745 msgid "Slot" msgstr "" #: gschem/src/i_callbacks.c:762 msgid "Color" msgstr "" #: gschem/src/i_callbacks.c:799 gschem/src/i_callbacks.c:844 msgid "Rotate" msgstr "" #: gschem/src/i_callbacks.c:866 gschem/src/i_callbacks.c:891 msgid "Mirror" msgstr "" #: gschem/src/i_callbacks.c:912 gschem/src/x_dialog.c:2328 #: gschem/lib/system-gschemrc.scm:1415 msgid "Lock" msgstr "" #: gschem/src/i_callbacks.c:930 gschem/lib/system-gschemrc.scm:1416 msgid "Unlock" msgstr "" #: gschem/src/i_callbacks.c:948 gschem/src/x_dialog.c:1746 msgid "Translate" msgstr "" #: gschem/src/i_callbacks.c:951 msgid "WARNING: Do not translate with snap off!\n" msgstr "" #: gschem/src/i_callbacks.c:952 msgid "WARNING: Turning snap on and continuing with translate.\n" msgstr "" #: gschem/src/i_callbacks.c:959 msgid "WARNING: Snap grid size is not equal to 100!\n" msgstr "" #: gschem/src/i_callbacks.c:961 msgid "" "WARNING: If you are translating a symbol to the origin, the snap grid size " "should be set to 100\n" msgstr "" #: gschem/src/i_callbacks.c:992 msgid "Embed" msgstr "" #: gschem/src/i_callbacks.c:1031 msgid "Unembed" msgstr "" #: gschem/src/i_callbacks.c:1073 msgid "Update" msgstr "" #: gschem/src/i_callbacks.c:1120 msgid "ShowHidden" msgstr "" #: gschem/src/i_callbacks.c:1426 gschem/src/i_callbacks.c:1498 msgid "Pan" msgstr "" #: gschem/src/i_callbacks.c:1703 msgid "Really revert page?" msgstr "" #: gschem/src/i_callbacks.c:1773 msgid "Copy to clipboard" msgstr "" #: gschem/src/i_callbacks.c:1791 msgid "Cut to clipboard" msgstr "" #: gschem/src/i_callbacks.c:1809 msgid "Paste from clipboard" msgstr "" #: gschem/src/i_callbacks.c:1821 gschem/src/i_callbacks.c:2060 #: gschem/src/i_callbacks.c:2082 gschem/src/i_callbacks.c:2104 #: gschem/src/i_callbacks.c:2126 gschem/src/i_callbacks.c:2148 msgid "Empty buffer" msgstr "" #: gschem/src/i_callbacks.c:1866 msgid "Copy 1" msgstr "" #: gschem/src/i_callbacks.c:1885 msgid "Copy 2" msgstr "" #: gschem/src/i_callbacks.c:1904 msgid "Copy 3" msgstr "" #: gschem/src/i_callbacks.c:1923 msgid "Copy 4" msgstr "" #: gschem/src/i_callbacks.c:1942 msgid "Copy 5" msgstr "" #: gschem/src/i_callbacks.c:1961 msgid "Cut 1" msgstr "" #: gschem/src/i_callbacks.c:1980 msgid "Cut 2" msgstr "" #: gschem/src/i_callbacks.c:1999 msgid "Cut 3" msgstr "" #: gschem/src/i_callbacks.c:2018 msgid "Cut 4" msgstr "" #: gschem/src/i_callbacks.c:2037 msgid "Cut 5" msgstr "" #: gschem/src/i_callbacks.c:2053 msgid "Paste 1" msgstr "" #: gschem/src/i_callbacks.c:2075 msgid "Paste 2" msgstr "" #: gschem/src/i_callbacks.c:2097 msgid "Paste 3" msgstr "" #: gschem/src/i_callbacks.c:2119 msgid "Paste 4" msgstr "" #: gschem/src/i_callbacks.c:2141 msgid "Paste 5" msgstr "" #: gschem/src/i_callbacks.c:2278 gschem/src/x_window.c:359 msgid "Component" msgstr "" #: gschem/src/i_callbacks.c:2314 gschem/src/i_callbacks.c:2333 #: gschem/src/x_dialog.c:2298 msgid "Attribute" msgstr "" #: gschem/src/i_callbacks.c:2355 gschem/src/i_callbacks.c:2382 #: gschem/src/x_dialog.c:2295 msgid "Net" msgstr "" #: gschem/src/i_callbacks.c:2426 gschem/src/i_callbacks.c:2453 #: gschem/src/x_dialog.c:2313 gschem/src/x_window.c:379 msgid "Bus" msgstr "" #: gschem/src/i_callbacks.c:2534 gschem/src/i_callbacks.c:2557 msgid "Line" msgstr "" #: gschem/src/i_callbacks.c:2579 gschem/src/i_callbacks.c:2602 msgid "Box" msgstr "" #: gschem/src/i_callbacks.c:2658 gschem/src/i_callbacks.c:2682 msgid "Circle" msgstr "" #: gschem/src/i_callbacks.c:2704 gschem/src/i_callbacks.c:2727 msgid "Arc" msgstr "" #: gschem/src/i_callbacks.c:2749 gschem/src/i_callbacks.c:2772 #: gschem/src/x_dialog.c:2286 msgid "Pin" msgstr "" #: gschem/src/i_callbacks.c:2831 #, c-format msgid "Searching for source [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:2855 #, c-format msgid "Cannot find source [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:2918 #, c-format msgid "Searching for symbol [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:2924 msgid "Symbol is not a real file. Symbol cannot be loaded.\n" msgstr "" #: gschem/src/i_callbacks.c:2955 msgid "Cannot find any schematics above the current one!\n" msgstr "" #: gschem/src/i_callbacks.c:2985 msgid "Attach" msgstr "" #: gschem/src/i_callbacks.c:3041 msgid "Detach" msgstr "" #: gschem/src/i_callbacks.c:3085 msgid "ShowN" msgstr "" #: gschem/src/i_callbacks.c:3122 msgid "ShowV" msgstr "" #: gschem/src/i_callbacks.c:3159 msgid "ShowB" msgstr "" #: gschem/src/i_callbacks.c:3197 msgid "VisToggle" msgstr "" #: gschem/src/i_callbacks.c:3228 #, c-format msgid "Sorry but this is a non-functioning menu option\n" msgstr "" #: gschem/src/i_callbacks.c:3318 msgid "Action feedback mode set to OUTLINE\n" msgstr "" #: gschem/src/i_callbacks.c:3321 msgid "Action feedback mode set to BOUNDINGBOX\n" msgstr "" #: gschem/src/i_callbacks.c:3346 msgid "Grid OFF\n" msgstr "" #: gschem/src/i_callbacks.c:3347 msgid "Dot grid selected\n" msgstr "" #: gschem/src/i_callbacks.c:3348 msgid "Mesh grid selected\n" msgstr "" #: gschem/src/i_callbacks.c:3369 msgid "Snap OFF (CAUTION!)\n" msgstr "" #: gschem/src/i_callbacks.c:3372 msgid "Snap ON\n" msgstr "" #: gschem/src/i_callbacks.c:3375 msgid "Snap back to the grid (CAUTION!)\n" msgstr "" #: gschem/src/i_callbacks.c:3401 msgid "Rubber band OFF \n" msgstr "" #: gschem/src/i_callbacks.c:3404 msgid "Rubber band ON\n" msgstr "" #: gschem/src/i_callbacks.c:3419 msgid "magnetic net mode: ON\n" msgstr "" #: gschem/src/i_callbacks.c:3422 msgid "magnetic net mode: OFF\n" msgstr "" #: gschem/src/o_box.c:292 #, c-format msgid "Unknown type for box (fill)!\n" msgstr "" #: gschem/src/o_buffer.c:54 #, c-format msgid "o_buffer_copy: Invalid buffer %i\n" msgstr "" #: gschem/src/o_buffer.c:69 #, c-format msgid "o_buffer_cut: Invalid buffer %i\n" msgstr "" #: gschem/src/o_buffer.c:90 #, c-format msgid "Got an invalid buffer_number [o_buffer_paste_start]\n" msgstr "" #: gschem/src/o_bus.c:117 #, c-format msgid "Got an invalid which one in o_bus_draw_stretch\n" msgstr "" #: gschem/src/o_circle.c:284 #, c-format msgid "Unknown type for circle (fill)!\n" msgstr "" #: gschem/src/o_complex.c:223 gschem/src/o_complex.c:227 #, c-format msgid "Translating schematic [%d %d]\n" msgstr "" #: gschem/src/o_misc.c:61 #, c-format msgid "Got an unexpected NULL in o_edit\n" msgstr "" #: gschem/src/o_misc.c:125 msgid "Object already locked\n" msgstr "" #: gschem/src/o_misc.c:163 msgid "Object already unlocked\n" msgstr "" #: gschem/src/o_misc.c:339 msgid "Hidden text is now visible\n" msgstr "" #: gschem/src/o_misc.c:341 msgid "Hidden text is now invisible\n" msgstr "" #: gschem/src/o_misc.c:568 #, c-format msgid "Could not find symbol [%s] in library. Update failed.\n" msgstr "" #: gschem/src/o_misc.c:683 #, c-format msgid "o_autosave_backups: Can't get the real filename of %s." msgstr "" #: gschem/src/o_misc.c:727 #, c-format msgid "Could NOT set previous backup file [%s] read-write\n" msgstr "" #: gschem/src/o_misc.c:747 #, c-format msgid "Could NOT set backup file [%s] readonly\n" msgstr "" #: gschem/src/o_misc.c:752 #, c-format msgid "Could NOT save backup file [%s]\n" msgstr "" #: gschem/src/o_move.c:174 #, c-format msgid "ERROR: NULL object in o_move_end!\n" msgstr "" #: gschem/src/o_move.c:431 #, c-format msgid "DOH! tried to find the whichone, but didn't find it!\n" msgstr "" #: gschem/src/o_move.c:453 #, c-format msgid "Got a non line object in o_move_check_endpoint\n" msgstr "" #: gschem/src/o_net.c:158 #, c-format msgid "Got an invalid which one in o_net_draw_stretch\n" msgstr "" #: gschem/src/o_net.c:537 msgid "Warning: Starting net at off grid coordinate\n" msgstr "" #: gschem/src/o_net.c:602 msgid "Warning: Ending net at off grid coordinate\n" msgstr "" #: gschem/src/o_net.c:944 gschem/src/o_net.c:981 gschem/src/o_net.c:1052 #: gschem/src/o_net.c:1088 #, c-format msgid "Tried to add more than two bus rippers. Internal gschem error.\n" msgstr "" #: gschem/src/o_net.c:1156 #, c-format msgid "Bus ripper symbol [%s] was not found in any component library\n" msgstr "" #: gschem/src/o_path.c:340 #, c-format msgid "Unknown type for path (fill)!\n" msgstr "" #: gschem/src/o_picture.c:166 #, c-format msgid "Failed to load picture: %s" msgstr "" #: gschem/src/o_picture.c:180 msgid "Picture" msgstr "" #: gschem/src/o_picture.c:544 #, c-format msgid "Failed to replace pictures: %s" msgstr "" #: gschem/src/o_slot.c:81 msgid "Slot attribute malformed\n" msgstr "" #: gschem/src/o_slot.c:89 msgid "numslots attribute missing\n" msgstr "" #: gschem/src/o_slot.c:90 msgid "Slotting not allowed for this component\n" msgstr "" #: gschem/src/o_slot.c:105 msgid "New slot number out of range\n" msgstr "" #: gschem/src/o_undo.c:307 msgid "Undo/Redo disabled in rc file\n" msgstr "" #: gschem/src/parsecmd.c:82 #, c-format msgid "" "Usage: %s [OPTION ...] [--] [FILE ...]\n" "\n" "Interactively edit gEDA schematics or symbols. If one or more FILEs\n" "are specified, open them for editing; otherwise, create a new, empty\n" "schematic.\n" "\n" "Options:\n" " -q, --quiet Quiet mode.\n" " -v, --verbose Verbose mode.\n" " -r, --config-file=FILE Additional configuration file to load.\n" " -L DIR Add DIR to Scheme search path.\n" " -c EXPR Scheme expression to run at startup.\n" " -s FILE Scheme script to run at startup.\n" " -o, --output=FILE Output filename (for printing).\n" " -p Automatically place the window.\n" " -V, --version Show version information.\n" " -h, --help Help; this message.\n" " -- Treat all remaining arguments as filenames.\n" "\n" "Report bugs at \n" "gEDA/gaf homepage: \n" msgstr "" #: gschem/src/parsecmd.c:116 #, c-format msgid "" "gEDA %s (g%.7s)\n" "Copyright (C) 1998-2012 gEDA developers\n" "This is free software, and you are welcome to redistribute it under\n" "certain conditions. For details, see the file `COPYING', which is\n" "included in the gEDA distribution.\n" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" #: gschem/src/x_attribedit.c:127 #, c-format msgid "Got invalid show option; defaulting to show both\n" msgstr "" #: gschem/src/x_attribedit.c:141 #, c-format msgid "ERROR: NULL object!\n" msgstr "" #: gschem/src/x_attribedit.c:329 msgid "Single Attribute Editor" msgstr "" #: gschem/src/x_attribedit.c:359 msgid "Edit Attribute" msgstr "" #: gschem/src/x_attribedit.c:361 msgid "Add Attribute" msgstr "" #: gschem/src/x_attribedit.c:377 gschem/src/x_multiattrib.c:1973 msgid "Name:" msgstr "" #: gschem/src/x_attribedit.c:394 gschem/src/x_multiattrib.c:1992 msgid "Value:" msgstr "" #: gschem/src/x_attribedit.c:410 gschem/src/x_multiattrib.c:2038 msgid "Visible" msgstr "" #: gschem/src/x_attribedit.c:430 msgid "Show Value Only" msgstr "" #: gschem/src/x_attribedit.c:432 msgid "Show Name Only" msgstr "" #: gschem/src/x_attribedit.c:434 gschem/src/x_multiattrib.c:1512 msgid "Show Name & Value" msgstr "" #: gschem/src/x_attribedit.c:441 msgid "Attach Options" msgstr "" #: gschem/src/x_attribedit.c:456 msgid "All" msgstr "" #: gschem/src/x_attribedit.c:464 gschem/src/x_compselect.c:922 #: gschem/src/x_compselect.c:1036 msgid "Components" msgstr "" #: gschem/src/x_attribedit.c:472 gschem/src/x_window.c:369 msgid "Nets" msgstr "" #: gschem/src/x_attribedit.c:480 msgid "Replace existing attributes" msgstr "" #: gschem/src/x_autonumber.c:415 msgid "" "slotted object without slot attribute may cause problems when autonumbering " "slots\n" msgstr "" #: gschem/src/x_autonumber.c:430 #, c-format msgid "" "duplicate slot may cause problems: [symbolname=%s, number=%d, slot=%d]\n" msgstr "" #: gschem/src/x_autonumber.c:672 msgid "No searchstring given in autonumber text.\n" msgstr "" #: gschem/src/x_autonumber.c:724 msgid "No '*' or '?' given at the end of the autonumber text.\n" msgstr "" #: gschem/src/x_autonumber.c:859 msgid "Diagonal" msgstr "" #: gschem/src/x_autonumber.c:860 msgid "Top to bottom" msgstr "" #: gschem/src/x_autonumber.c:860 msgid "Bottom to top" msgstr "" #: gschem/src/x_autonumber.c:861 msgid "Left to right" msgstr "" #: gschem/src/x_autonumber.c:861 msgid "Right to left" msgstr "" #: gschem/src/x_autonumber.c:862 msgid "File order" msgstr "" #: gschem/src/x_autonumber.c:1198 msgid "Autonumber text" msgstr "" #: gschem/src/x_autonumber.c:1222 msgid "Scope" msgstr "" #: gschem/src/x_autonumber.c:1244 msgid "Search for:" msgstr "" #: gschem/src/x_autonumber.c:1258 msgid "Autonumber text in:" msgstr "" #: gschem/src/x_autonumber.c:1265 msgid "Skip numbers found in:" msgstr "" #: gschem/src/x_autonumber.c:1277 gschem/src/x_autonumber.c:1286 msgid "Selected objects" msgstr "" #: gschem/src/x_autonumber.c:1278 gschem/src/x_autonumber.c:1287 msgid "Current page" msgstr "" #: gschem/src/x_autonumber.c:1279 gschem/src/x_autonumber.c:1288 msgid "Whole hierarchy" msgstr "" #: gschem/src/x_autonumber.c:1290 msgid "Overwrite existing numbers" msgstr "" #: gschem/src/x_autonumber.c:1295 msgid "Options" msgstr "" #: gschem/src/x_autonumber.c:1317 msgid "Starting number:" msgstr "" #: gschem/src/x_autonumber.c:1324 msgid "Sort order:" msgstr "" #: gschem/src/x_autonumber.c:1345 msgid "Remove numbers" msgstr "" #: gschem/src/x_autonumber.c:1349 msgid "Automatic slotting" msgstr "" #: gschem/src/x_clipboard.c:249 #, c-format msgid "" "Invalid schematic on clipboard.\n" "\n" "An error occurred while inserting clipboard data: %s." msgstr "" #: gschem/src/x_clipboard.c:251 msgid "Clipboard insertion failed" msgstr "" #: gschem/src/x_color.c:94 gschem/src/x_color.c:103 #, c-format msgid "Could not allocate the color %s!\n" msgstr "" #: gschem/src/x_color.c:94 msgid "black" msgstr "" #: gschem/src/x_color.c:103 msgid "white" msgstr "" #: gschem/src/x_color.c:125 #, c-format msgid "Could not allocate display color %i!\n" msgstr "" #: gschem/src/x_color.c:147 #, c-format msgid "Could not allocate outline color %i!\n" msgstr "" #: gschem/src/x_color.c:164 gschem/src/x_color.c:181 gschem/src/x_color.c:197 #, c-format msgid "Tried to get an invalid color: %d\n" msgstr "" #: gschem/src/x_color.c:214 #, c-format msgid "Tried to get an invalid outline color: %d\n" msgstr "" #: gschem/src/x_compselect.c:1066 msgid "Filter:" msgstr "" #: gschem/src/x_compselect.c:1169 gschem/src/x_dialog.c:3653 #: gschem/src/x_multiattrib.c:1839 msgid "Name" msgstr "" #: gschem/src/x_compselect.c:1178 gschem/src/x_multiattrib.c:1863 msgid "Value" msgstr "" #: gschem/src/x_compselect.c:1217 msgid "Default behavior - reference component" msgstr "" #: gschem/src/x_compselect.c:1220 msgid "Embed component in schematic" msgstr "" #: gschem/src/x_compselect.c:1223 msgid "Include component as individual objects" msgstr "" #: gschem/src/x_compselect.c:1380 msgid "Select Component..." msgstr "" #: gschem/src/x_compselect.c:1403 msgid "In Use" msgstr "" #: gschem/src/x_compselect.c:1407 msgid "Libraries" msgstr "" #: gschem/src/x_compselect.c:1416 gschem/src/x_fileselect.c:122 msgid "Preview" msgstr "" #: gschem/src/x_compselect.c:1444 msgid "Attributes" msgstr "" #: gschem/src/x_dialog.c:176 msgid "Text Entry..." msgstr "" #: gschem/src/x_dialog.c:207 msgid "" "Enter text, click apply,\n" "move cursor into window, click to place text.\n" "Middle button to rotate while placing." msgstr "" #: gschem/src/x_dialog.c:301 msgid "Upper Left" msgstr "" #: gschem/src/x_dialog.c:304 msgid "Upper Middle" msgstr "" #: gschem/src/x_dialog.c:307 msgid "Upper Right" msgstr "" #: gschem/src/x_dialog.c:311 msgid "Middle Left" msgstr "" #: gschem/src/x_dialog.c:314 msgid "Middle Middle" msgstr "" #: gschem/src/x_dialog.c:317 msgid "Middle Right" msgstr "" #: gschem/src/x_dialog.c:321 msgid "Lower Left" msgstr "" #: gschem/src/x_dialog.c:324 msgid "Lower Middle" msgstr "" #: gschem/src/x_dialog.c:327 msgid "Lower Right" msgstr "" #: gschem/src/x_dialog.c:438 msgid "Edit Text Properties" msgstr "" #: gschem/src/x_dialog.c:473 msgid "Text Content" msgstr "" #: gschem/src/x_dialog.c:509 msgid "Text Properties" msgstr "" #: gschem/src/x_dialog.c:524 msgid "Color:" msgstr "" #: gschem/src/x_dialog.c:531 msgid "Size:" msgstr "" #: gschem/src/x_dialog.c:540 msgid "Alignment:" msgstr "" #: gschem/src/x_dialog.c:589 msgid "Solid" msgstr "" #: gschem/src/x_dialog.c:590 msgid "Dotted" msgstr "" #: gschem/src/x_dialog.c:591 msgid "Dashed" msgstr "" #: gschem/src/x_dialog.c:592 msgid "Center" msgstr "" #: gschem/src/x_dialog.c:593 msgid "Phantom" msgstr "" #: gschem/src/x_dialog.c:594 gschem/src/x_dialog.c:691 #: gschem/src/x_dialog.c:700 gschem/src/x_dialog.c:709 #: gschem/src/x_dialog.c:810 gschem/src/x_dialog.c:813 #: gschem/src/x_dialog.c:816 gschem/src/x_dialog.c:1043 #: gschem/src/x_dialog.c:1146 gschem/src/x_dialog.c:1155 #: gschem/src/x_dialog.c:1164 gschem/src/x_dialog.c:1173 #: gschem/src/x_dialog.c:1182 gschem/src/x_dialog.c:1295 #: gschem/src/x_dialog.c:1298 gschem/src/x_dialog.c:1301 #: gschem/src/x_dialog.c:1304 gschem/src/x_dialog.c:1307 msgid "*unchanged*" msgstr "" #: gschem/src/x_dialog.c:921 msgid "Edit Line Width & Type" msgstr "" #: gschem/src/x_dialog.c:960 gschem/src/x_print.c:307 msgid "Type:" msgstr "" #: gschem/src/x_dialog.c:964 msgid "Width:" msgstr "" #: gschem/src/x_dialog.c:968 msgid "Dash Length:" msgstr "" #: gschem/src/x_dialog.c:972 msgid "Dash Space:" msgstr "" #: gschem/src/x_dialog.c:1039 msgid "Hollow" msgstr "" #: gschem/src/x_dialog.c:1040 msgid "Filled" msgstr "" #: gschem/src/x_dialog.c:1041 msgid "Mesh" msgstr "" #: gschem/src/x_dialog.c:1042 msgid "Hatch" msgstr "" #: gschem/src/x_dialog.c:1416 msgid "Edit Fill Type" msgstr "" #: gschem/src/x_dialog.c:1455 msgid "Fill Type:" msgstr "" #: gschem/src/x_dialog.c:1459 msgid "Line Width:" msgstr "" #: gschem/src/x_dialog.c:1463 msgid "Angle 1:" msgstr "" #: gschem/src/x_dialog.c:1467 msgid "Pitch 1:" msgstr "" #: gschem/src/x_dialog.c:1471 msgid "Angle 2:" msgstr "" #: gschem/src/x_dialog.c:1475 msgid "Pitch 2:" msgstr "" #: gschem/src/x_dialog.c:1602 msgid "Arc Params" msgstr "" #: gschem/src/x_dialog.c:1643 msgid "Arc Radius:" msgstr "" #: gschem/src/x_dialog.c:1651 msgid "Start Angle:" msgstr "" #: gschem/src/x_dialog.c:1659 msgid "Degrees of Sweep:" msgstr "" #: gschem/src/x_dialog.c:1777 msgid "" "Offset to translate?\n" "(0 for origin)" msgstr "" #: gschem/src/x_dialog.c:1845 msgid "Text Size" msgstr "" #: gschem/src/x_dialog.c:1875 msgid "Enter new text size:" msgstr "" #: gschem/src/x_dialog.c:1951 msgid "Snap Size" msgstr "" #: gschem/src/x_dialog.c:1981 msgid "Enter new snap grid spacing:" msgstr "" #: gschem/src/x_dialog.c:2058 msgid "Edit slot number" msgstr "" #: gschem/src/x_dialog.c:2089 msgid "Edit slot number:" msgstr "" #: gschem/src/x_dialog.c:2130 #, c-format msgid "%s (g%.7s)" msgstr "" #: gschem/src/x_dialog.c:2151 msgid "About gschem" msgstr "" #: gschem/src/x_dialog.c:2152 msgid "gEDA: GPL Electronic Design Automation" msgstr "" #. TRANSLATORS: "ChangeLog" is a literal filename; please don't translate it. #: gschem/src/x_dialog.c:2155 msgid "" "Copyright © 1998-2012 Ales Hvezda \n" "Copyright © 1998-2012 gEDA Contributors (see ChangeLog for details)" msgstr "" #: gschem/src/x_dialog.c:2214 msgid "Coords" msgstr "" #: gschem/src/x_dialog.c:2235 msgid "Screen" msgstr "" #: gschem/src/x_dialog.c:2244 msgid "World" msgstr "" #: gschem/src/x_dialog.c:2283 msgid "Background" msgstr "" #: gschem/src/x_dialog.c:2289 msgid "Net endpoint" msgstr "" #: gschem/src/x_dialog.c:2292 msgid "Graphic" msgstr "" #: gschem/src/x_dialog.c:2301 msgid "Logic bubble" msgstr "" #: gschem/src/x_dialog.c:2304 msgid "Grid point" msgstr "" #: gschem/src/x_dialog.c:2307 msgid "Detached attribute" msgstr "" #: gschem/src/x_dialog.c:2310 gschem/src/x_window.c:387 msgid "Text" msgstr "" #: gschem/src/x_dialog.c:2316 msgid "Selection" msgstr "" #: gschem/src/x_dialog.c:2319 msgid "Bounding box" msgstr "" #: gschem/src/x_dialog.c:2322 msgid "Zoom box" msgstr "" #: gschem/src/x_dialog.c:2331 msgid "Output background" msgstr "" #: gschem/src/x_dialog.c:2334 msgid "Net junction" msgstr "" #: gschem/src/x_dialog.c:2337 msgid "Mesh grid major" msgstr "" #: gschem/src/x_dialog.c:2340 msgid "Mesh grid minor" msgstr "" #: gschem/src/x_dialog.c:2343 msgid "Unknown" msgstr "" #: gschem/src/x_dialog.c:2494 #, c-format msgid "ERROR: NULL object in color_edit_dialog_apply!\n" msgstr "" #: gschem/src/x_dialog.c:2538 msgid "Color Edit" msgstr "" #: gschem/src/x_dialog.c:2569 msgid "Object color:" msgstr "" #: gschem/src/x_dialog.c:2622 msgid "Hotkeys" msgstr "" #: gschem/src/x_dialog.c:2662 msgid "Function" msgstr "" #: gschem/src/x_dialog.c:2669 msgid "Keystroke(s)" msgstr "" #: gschem/src/x_dialog.c:2977 msgid "Find Text" msgstr "" #: gschem/src/x_dialog.c:3008 msgid "Text to find:" msgstr "" #: gschem/src/x_dialog.c:3018 msgid "descend into hierarchy" msgstr "" #: gschem/src/x_dialog.c:3084 msgid "Hide Text" msgstr "" #: gschem/src/x_dialog.c:3115 msgid "Hide text starting with:" msgstr "" #: gschem/src/x_dialog.c:3185 msgid "Show Text" msgstr "" #: gschem/src/x_dialog.c:3216 msgid "Show text starting with:" msgstr "" #: gschem/src/x_dialog.c:3675 msgid "S_elect the schematics you want to save:" msgstr "" #: gschem/src/x_dialog.c:3770 #, c-format msgid "Save the changes to schematic \"%s\" before closing?" msgstr "" #: gschem/src/x_dialog.c:3776 #, c-format msgid "" "There are %d schematics with unsaved changes. Save changes before closing?" msgstr "" #: gschem/src/x_dialog.c:3805 msgid "If you don't save, all your changes will be permanently lost." msgstr "" #: gschem/src/x_dialog.c:3825 msgid "_Close without saving" msgstr "" #: gschem/src/x_dialog.c:4161 #, c-format msgid "" "The input attribute \"%s\" is invalid\n" "Please correct in order to continue\n" "\n" "The name and value must be non-empty.\n" "The name cannot end with a space.\n" "The value cannot start with a space." msgstr "" #: gschem/src/x_dialog.c:4163 msgid "Invalid Attribute" msgstr "" #: gschem/src/x_dialog.c:4199 msgid "Pin type" msgstr "" #: gschem/src/x_dialog.c:4223 msgid "Net pin" msgstr "" #: gschem/src/x_dialog.c:4225 msgid "Bus pin (graphical)" msgstr "" #: gschem/src/x_fileselect.c:42 msgid "Schematics" msgstr "" #: gschem/src/x_fileselect.c:47 msgid "Symbols" msgstr "" #: gschem/src/x_fileselect.c:52 msgid "Schematics and symbols" msgstr "" #: gschem/src/x_fileselect.c:58 msgid "All files" msgstr "" #: gschem/src/x_fileselect.c:171 msgid "Open..." msgstr "" #: gschem/src/x_fileselect.c:231 msgid "Save as..." msgstr "" #: gschem/src/x_fileselect.c:284 #, c-format msgid "" "The selected file `%s' already exists.\n" "\n" "Would you like to overwrite it?" msgstr "" #: gschem/src/x_fileselect.c:287 msgid "Overwrite file?" msgstr "" #: gschem/src/x_fileselect.c:289 msgid "Save cancelled on user request\n" msgstr "" #: gschem/src/x_image.c:176 msgid "Encapsulated Postscript" msgstr "" #: gschem/src/x_image.c:296 #, c-format msgid "x_image_lowlevel: Unable to write eps file %s.\n" msgstr "" #: gschem/src/x_image.c:374 #, c-format msgid "x_image_lowlevel: Unable to write %s file %s.\n" msgstr "" #: gschem/src/x_image.c:384 #, c-format msgid "" "There was the following error when saving image with type %s to filename:\n" "%s\n" "\n" "%s.\n" msgstr "" #: gschem/src/x_image.c:403 #, c-format msgid "Wrote color image to [%s] [%d x %d]\n" msgstr "" #: gschem/src/x_image.c:405 #, c-format msgid "Wrote black and white image to [%s] [%d x %d]\n" msgstr "" #: gschem/src/x_image.c:413 msgid "x_image_lowlevel: Unable to get pixbuf from gschem's window.\n" msgstr "" #: gschem/src/x_image.c:458 msgid "Width x Height" msgstr "" #: gschem/src/x_image.c:474 msgid "Image type" msgstr "" #: gschem/src/x_image.c:495 msgid "Write image..." msgstr "" #: gschem/src/x_log.c:209 msgid "** Invalid UTF-8 in log message. See stderr or gschem.log.\n" msgstr "" #: gschem/src/x_log.c:288 msgid "Status" msgstr "" #: gschem/src/x_menus.c:37 msgid "/Add Net" msgstr "" #: gschem/src/x_menus.c:38 msgid "/Add Attribute..." msgstr "" #: gschem/src/x_menus.c:39 msgid "/Add Component..." msgstr "" #: gschem/src/x_menus.c:40 msgid "/Add Bus" msgstr "" #: gschem/src/x_menus.c:41 msgid "/Add Text" msgstr "" #: gschem/src/x_menus.c:43 msgid "/Zoom In" msgstr "" #: gschem/src/x_menus.c:44 msgid "/Zoom Out" msgstr "" #: gschem/src/x_menus.c:45 msgid "/Zoom Box" msgstr "" #: gschem/src/x_menus.c:46 msgid "/Zoom Extents" msgstr "" #: gschem/src/x_menus.c:48 msgid "/Select" msgstr "" #: gschem/src/x_menus.c:49 msgid "/Edit..." msgstr "" #: gschem/src/x_menus.c:50 msgid "/Edit pin type..." msgstr "" #: gschem/src/x_menus.c:51 msgid "/Copy" msgstr "" #: gschem/src/x_menus.c:52 msgid "/Move" msgstr "" #: gschem/src/x_menus.c:53 msgid "/Delete" msgstr "" #: gschem/src/x_menus.c:56 msgid "/Down Schematic" msgstr "" #: gschem/src/x_menus.c:57 msgid "/Down Symbol" msgstr "" #: gschem/src/x_menus.c:58 msgid "/Up" msgstr "" #: gschem/src/x_menus.c:348 #, c-format msgid "Tried to set the sensitivity on non-existent menu item '%s'\n" msgstr "" #: gschem/src/x_menus.c:372 msgid "Popup_menu_item_factory doesn't exist!\n" msgstr "" #: gschem/src/x_menus.c:385 msgid "Tried to set the sensitivity on a non-existent popup menu_item\n" msgstr "" #: gschem/src/x_misc.c:74 msgid "The operating system is out of memory or resources." msgstr "" #: gschem/src/x_misc.c:155 #, c-format msgid "%s failed to launch URI" msgstr "" #: gschem/src/x_multiattrib.c:961 msgid "Attributes with empty name are not allowed. Please set a name." msgstr "" #: gschem/src/x_multiattrib.c:1514 msgid "Show Value only" msgstr "" #: gschem/src/x_multiattrib.c:1516 msgid "Show Name only" msgstr "" #: gschem/src/x_multiattrib.c:1544 msgid "Promote" msgstr "" #: gschem/src/x_multiattrib.c:1548 msgid "Duplicate" msgstr "" #: gschem/src/x_multiattrib.c:1765 msgid "Edit Attributes" msgstr "" #: gschem/src/x_multiattrib.c:1883 msgid "Vis?" msgstr "" #: gschem/src/x_multiattrib.c:1901 msgid "N" msgstr "" #: gschem/src/x_multiattrib.c:1919 msgid "V" msgstr "" #: gschem/src/x_multiattrib.c:1941 msgid "Show inherited attributes" msgstr "" #: gschem/src/x_multiattrib.c:1957 msgid "Add Attribute" msgstr "" #: gschem/src/x_pagesel.c:246 msgid "New Page" msgstr "" #: gschem/src/x_pagesel.c:247 msgid "Open Page..." msgstr "" #: gschem/src/x_pagesel.c:249 msgid "Save Page" msgstr "" #: gschem/src/x_pagesel.c:250 msgid "Close Page" msgstr "" #: gschem/src/x_pagesel.c:251 msgid "Discard Page" msgstr "" #: gschem/src/x_pagesel.c:369 msgid "Page Manager" msgstr "" #: gschem/src/x_pagesel.c:425 msgid "Filename" msgstr "" #: gschem/src/x_pagesel.c:441 msgid "Changed" msgstr "" #: gschem/src/x_pagesel.c:461 msgid "Right click on the filename for more options..." msgstr "" #: gschem/src/x_preview.c:231 msgid "Preview Buffer" msgstr "" #: gschem/src/x_print.c:84 msgid "Select PostScript Filename..." msgstr "" #: gschem/src/x_print.c:164 msgid "Extents with margins" msgstr "" #: gschem/src/x_print.c:170 msgid "Extents no margins" msgstr "" #: gschem/src/x_print.c:176 msgid "Current Window" msgstr "" #: gschem/src/x_print.c:210 msgid "Landscape" msgstr "" #: gschem/src/x_print.c:216 msgid "Portrait" msgstr "" #: gschem/src/x_print.c:276 msgid "Print..." msgstr "" #: gschem/src/x_print.c:284 msgid "Settings" msgstr "" #: gschem/src/x_print.c:296 msgid "Output paper size:" msgstr "" #: gschem/src/x_print.c:318 msgid "Orientation:" msgstr "" #: gschem/src/x_print.c:330 msgid "Destination" msgstr "" #: gschem/src/x_print.c:343 msgid "File:" msgstr "" #: gschem/src/x_print.c:373 msgid "Command:" msgstr "" #: gschem/src/x_print.c:745 msgid "No print destination specified\n" msgstr "" #: gschem/src/x_print.c:752 #, c-format msgid "Cannot print current schematic to [%s]\n" msgstr "" #: gschem/src/x_print.c:761 #, c-format msgid "" "Error printing to file '%s'\n" "Check the log window for more information" msgstr "" #: gschem/src/x_print.c:768 #, c-format msgid "Printed current schematic to [%s]\n" msgstr "" #: gschem/src/x_rc.c:40 msgid "ERROR: An unknown error occurred while parsing configuration files.\n" msgstr "" #: gschem/src/x_rc.c:45 msgid "" "An unknown error occurred while parsing configuration files.\n" "\n" "The gschem log may contain more information." msgstr "" #: gschem/src/x_rc.c:57 #, c-format msgid "ERROR: %s\n" msgstr "" #: gschem/src/x_rc.c:60 #, c-format msgid "" "%s\n" "\n" "The gschem log may contain more information." msgstr "" #: gschem/src/x_rc.c:68 msgid "Cannot load gschem configuration." msgstr "" #: gschem/src/x_script.c:47 gschem/lib/system-gschemrc.scm:1381 msgid "Execute Script..." msgstr "" #: gschem/src/x_script.c:66 #, c-format msgid "Executing guile script [%s]\n" msgstr "" #: gschem/src/x_window.c:82 #, c-format msgid "Couldn't allocate gc\n" msgstr "" #: gschem/src/x_window.c:321 msgid "New" msgstr "" #: gschem/src/x_window.c:322 msgid "New file" msgstr "" #: gschem/src/x_window.c:328 msgid "Open" msgstr "" #: gschem/src/x_window.c:329 msgid "Open file..." msgstr "" #: gschem/src/x_window.c:335 msgid "Save" msgstr "" #: gschem/src/x_window.c:336 msgid "Save file" msgstr "" #: gschem/src/x_window.c:343 msgid "Undo" msgstr "" #: gschem/src/x_window.c:344 msgid "Undo last operation" msgstr "" #: gschem/src/x_window.c:350 msgid "Redo" msgstr "" #: gschem/src/x_window.c:351 msgid "Redo last undo" msgstr "" #: gschem/src/x_window.c:360 msgid "" "Add component...\n" "Select library and component from list, move the mouse into main window, " "click to place\n" "Right mouse button to cancel" msgstr "" #: gschem/src/x_window.c:370 msgid "" "Add nets mode\n" "Right mouse button to cancel" msgstr "" #: gschem/src/x_window.c:380 msgid "" "Add buses mode\n" "Right mouse button to cancel" msgstr "" #: gschem/src/x_window.c:388 msgid "Add Text..." msgstr "" #: gschem/src/x_window.c:398 msgid "Select" msgstr "" #: gschem/src/x_window.c:399 msgid "Select mode" msgstr "" #: gschem/src/x_window.c:465 msgid "Evaluate:" msgstr "" #: gschem/src/x_window.c:484 msgid "Pick" msgstr "" #: gschem/src/x_window.c:500 msgid "Repeat/none" msgstr "" #: gschem/src/x_window.c:510 msgid "Menu/Cancel" msgstr "" #: gschem/src/x_window.c:512 msgid "Pan/Cancel" msgstr "" #: gschem/src/x_window.c:737 #, c-format msgid "Loading schematic [%s]\n" msgstr "" #: gschem/src/x_window.c:748 #, c-format msgid "" "An error occurred while loading the requested file.\n" "\n" "Loading from '%s' failed: %s. The gschem log may contain more information." msgstr "" #: gschem/src/x_window.c:750 msgid "Failed to load file" msgstr "" #: gschem/src/x_window.c:759 #, c-format msgid "New file [%s]\n" msgstr "" #: gschem/src/x_window.c:862 #, c-format msgid "Could NOT save page [%s]\n" msgstr "" #: gschem/src/x_window.c:863 msgid "Error while trying to save" msgstr "" #: gschem/src/x_window.c:873 msgid "Failed to save file" msgstr "" #: gschem/src/x_window.c:884 #, c-format msgid "Saved as [%s]\n" msgstr "" #: gschem/src/x_window.c:886 #, c-format msgid "Saved [%s]\n" msgstr "" #: gschem/src/x_window.c:888 msgid "Saved" msgstr "" #: gschem/src/x_window.c:962 #, c-format msgid "Discarding page [%s]\n" msgstr "" #: gschem/src/x_window.c:962 #, c-format msgid "Closing [%s]\n" msgstr "" #: gschem/data/geda-gschem.desktop.in:3 msgid "gEDA Schematic Editor" msgstr "" #: gschem/data/geda-gschem.desktop.in:4 msgid "Create and edit electrical schematics and symbols with gschem" msgstr "" #: gschem/lib/system-gschemrc.scm:1368 msgid "_New" msgstr "" #: gschem/lib/system-gschemrc.scm:1369 msgid "_Open..." msgstr "" #: gschem/lib/system-gschemrc.scm:1371 msgid "Open Recen_t" msgstr "" #: gschem/lib/system-gschemrc.scm:1373 msgid "_Save" msgstr "" #: gschem/lib/system-gschemrc.scm:1374 msgid "Save _As..." msgstr "" #: gschem/lib/system-gschemrc.scm:1375 msgid "Save All" msgstr "" #: gschem/lib/system-gschemrc.scm:1376 gschem/lib/system-gschemrc.scm:1469 msgid "_Revert" msgstr "" #: gschem/lib/system-gschemrc.scm:1378 msgid "_Print..." msgstr "" #: gschem/lib/system-gschemrc.scm:1379 msgid "Write _image..." msgstr "" #: gschem/lib/system-gschemrc.scm:1383 msgid "New Window" msgstr "" #: gschem/lib/system-gschemrc.scm:1384 msgid "_Close Window" msgstr "" #: gschem/lib/system-gschemrc.scm:1385 msgid "_Quit" msgstr "" #: gschem/lib/system-gschemrc.scm:1391 msgid "_Undo" msgstr "" #: gschem/lib/system-gschemrc.scm:1392 msgid "_Redo" msgstr "" #: gschem/lib/system-gschemrc.scm:1394 msgid "Cu_t" msgstr "" #: gschem/lib/system-gschemrc.scm:1395 msgid "_Copy" msgstr "" #: gschem/lib/system-gschemrc.scm:1396 msgid "_Paste" msgstr "" #: gschem/lib/system-gschemrc.scm:1397 msgid "_Delete" msgstr "" #: gschem/lib/system-gschemrc.scm:1400 msgid "Select All" msgstr "" #: gschem/lib/system-gschemrc.scm:1401 msgid "Deselect" msgstr "" #: gschem/lib/system-gschemrc.scm:1405 msgid "Rotate 90 Mode" msgstr "" #: gschem/lib/system-gschemrc.scm:1408 msgid "Edit..." msgstr "" #: gschem/lib/system-gschemrc.scm:1409 msgid "Edit Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1410 msgid "Slot..." msgstr "" #: gschem/lib/system-gschemrc.scm:1411 msgid "Color..." msgstr "" #: gschem/lib/system-gschemrc.scm:1412 msgid "Line Width & Type..." msgstr "" #: gschem/lib/system-gschemrc.scm:1413 msgid "Fill Type..." msgstr "" #: gschem/lib/system-gschemrc.scm:1414 msgid "Symbol Translate..." msgstr "" #: gschem/lib/system-gschemrc.scm:1418 msgid "Invoke Macro" msgstr "" #: gschem/lib/system-gschemrc.scm:1419 msgid "Embed Component/Picture" msgstr "" #: gschem/lib/system-gschemrc.scm:1420 msgid "Unembed Component/Picture" msgstr "" #: gschem/lib/system-gschemrc.scm:1421 msgid "Update Component" msgstr "" #: gschem/lib/system-gschemrc.scm:1422 msgid "Show/Hide Inv Text" msgstr "" #: gschem/lib/system-gschemrc.scm:1428 msgid "Copy into 1" msgstr "" #: gschem/lib/system-gschemrc.scm:1429 msgid "Copy into 2" msgstr "" #: gschem/lib/system-gschemrc.scm:1430 msgid "Copy into 3" msgstr "" #: gschem/lib/system-gschemrc.scm:1431 msgid "Copy into 4" msgstr "" #: gschem/lib/system-gschemrc.scm:1432 msgid "Copy into 5" msgstr "" #: gschem/lib/system-gschemrc.scm:1433 msgid "Cut into 1" msgstr "" #: gschem/lib/system-gschemrc.scm:1434 msgid "Cut into 2" msgstr "" #: gschem/lib/system-gschemrc.scm:1435 msgid "Cut into 3" msgstr "" #: gschem/lib/system-gschemrc.scm:1436 msgid "Cut into 4" msgstr "" #: gschem/lib/system-gschemrc.scm:1437 msgid "Cut into 5" msgstr "" #: gschem/lib/system-gschemrc.scm:1438 msgid "Paste from 1" msgstr "" #: gschem/lib/system-gschemrc.scm:1439 msgid "Paste from 2" msgstr "" #: gschem/lib/system-gschemrc.scm:1440 msgid "Paste from 3" msgstr "" #: gschem/lib/system-gschemrc.scm:1441 msgid "Paste from 4" msgstr "" #: gschem/lib/system-gschemrc.scm:1442 msgid "Paste from 5" msgstr "" #: gschem/lib/system-gschemrc.scm:1448 msgid "_Redraw" msgstr "" #: gschem/lib/system-gschemrc.scm:1449 msgid "_Pan" msgstr "" #: gschem/lib/system-gschemrc.scm:1450 msgid "Zoom _Box" msgstr "" #: gschem/lib/system-gschemrc.scm:1451 msgid "Zoom _Extents" msgstr "" #: gschem/lib/system-gschemrc.scm:1452 msgid "Zoom _In" msgstr "" #: gschem/lib/system-gschemrc.scm:1453 msgid "Zoom _Out" msgstr "" #: gschem/lib/system-gschemrc.scm:1454 msgid "Zoom _Full" msgstr "" #: gschem/lib/system-gschemrc.scm:1456 msgid "_Dark color scheme" msgstr "" #: gschem/lib/system-gschemrc.scm:1457 msgid "_Light color scheme" msgstr "" #: gschem/lib/system-gschemrc.scm:1458 msgid "B_W color scheme" msgstr "" #: gschem/lib/system-gschemrc.scm:1465 msgid "_Manager..." msgstr "" #: gschem/lib/system-gschemrc.scm:1466 msgid "_Previous" msgstr "" #: gschem/lib/system-gschemrc.scm:1467 msgid "_Next" msgstr "" #: gschem/lib/system-gschemrc.scm:1468 msgid "Ne_w" msgstr "" #: gschem/lib/system-gschemrc.scm:1470 msgid "_Close" msgstr "" #: gschem/lib/system-gschemrc.scm:1472 msgid "_Discard" msgstr "" #: gschem/lib/system-gschemrc.scm:1478 msgid "_Component..." msgstr "" #: gschem/lib/system-gschemrc.scm:1479 msgid "_Net" msgstr "" #: gschem/lib/system-gschemrc.scm:1480 msgid "B_us" msgstr "" #: gschem/lib/system-gschemrc.scm:1481 msgid "_Attribute..." msgstr "" #: gschem/lib/system-gschemrc.scm:1482 msgid "_Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1484 msgid "_Line" msgstr "" #: gschem/lib/system-gschemrc.scm:1485 msgid "_Box" msgstr "" #: gschem/lib/system-gschemrc.scm:1486 msgid "C_ircle" msgstr "" #: gschem/lib/system-gschemrc.scm:1487 msgid "A_rc" msgstr "" #: gschem/lib/system-gschemrc.scm:1488 msgid "_Pin" msgstr "" #: gschem/lib/system-gschemrc.scm:1489 msgid "Pictu_re..." msgstr "" #: gschem/lib/system-gschemrc.scm:1495 msgid "_Down Schematic" msgstr "" #: gschem/lib/system-gschemrc.scm:1496 msgid "Down _Symbol" msgstr "" #: gschem/lib/system-gschemrc.scm:1497 msgid "_Up" msgstr "" #: gschem/lib/system-gschemrc.scm:1498 msgid "D_ocumentation..." msgstr "" #: gschem/lib/system-gschemrc.scm:1504 msgid "_Attach" msgstr "" #: gschem/lib/system-gschemrc.scm:1505 msgid "_Detach" msgstr "" #: gschem/lib/system-gschemrc.scm:1506 msgid "Show _Value" msgstr "" #: gschem/lib/system-gschemrc.scm:1507 msgid "Show _Name" msgstr "" #: gschem/lib/system-gschemrc.scm:1508 msgid "Show _Both" msgstr "" #: gschem/lib/system-gschemrc.scm:1509 msgid "_Toggle Visibility" msgstr "" #: gschem/lib/system-gschemrc.scm:1511 msgid "_Find Specific Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1512 msgid "_Hide Specific Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1513 msgid "_Show Specific Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1514 msgid "A_utonumber Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1520 msgid "_Text Size..." msgstr "" #: gschem/lib/system-gschemrc.scm:1521 msgid "Cycle _grid styles" msgstr "" #: gschem/lib/system-gschemrc.scm:1522 msgid "Toggle _Snap On/Off" msgstr "" #: gschem/lib/system-gschemrc.scm:1523 msgid "Snap Grid S_pacing..." msgstr "" #: gschem/lib/system-gschemrc.scm:1524 msgid "Scale _up Grid Spacing" msgstr "" #: gschem/lib/system-gschemrc.scm:1526 msgid "Scale _down Grid Spacing" msgstr "" #: gschem/lib/system-gschemrc.scm:1528 msgid "Toggle _Outline/Box" msgstr "" #: gschem/lib/system-gschemrc.scm:1530 msgid "Toggle Net _Rubberband" msgstr "" #: gschem/lib/system-gschemrc.scm:1531 msgid "Toggle _Magnetic Net" msgstr "" #: gschem/lib/system-gschemrc.scm:1532 msgid "Show _Log Window..." msgstr "" #: gschem/lib/system-gschemrc.scm:1534 msgid "Show _Coord Window..." msgstr "" #: gschem/lib/system-gschemrc.scm:1542 msgid "gEDA Docu_mentation..." msgstr "" #: gschem/lib/system-gschemrc.scm:1543 msgid "gschem _FAQ..." msgstr "" #: gschem/lib/system-gschemrc.scm:1544 msgid "gEDA _Wiki..." msgstr "" #: gschem/lib/system-gschemrc.scm:1545 msgid "Component D_ocumentation..." msgstr "" #: gschem/lib/system-gschemrc.scm:1547 msgid "_Hotkeys..." msgstr "" #: gschem/lib/system-gschemrc.scm:1548 msgid "_About..." msgstr "" #: gschem/lib/system-gschemrc.scm:1554 msgid "_File" msgstr "" #: gschem/lib/system-gschemrc.scm:1555 msgid "_Edit" msgstr "" #: gschem/lib/system-gschemrc.scm:1556 msgid "_Buffer" msgstr "" #: gschem/lib/system-gschemrc.scm:1557 msgid "_View" msgstr "" #: gschem/lib/system-gschemrc.scm:1558 msgid "_Page" msgstr "" #: gschem/lib/system-gschemrc.scm:1559 msgid "_Add" msgstr "" #: gschem/lib/system-gschemrc.scm:1560 msgid "Hie_rarchy" msgstr "" #: gschem/lib/system-gschemrc.scm:1561 msgid "A_ttributes" msgstr "" #: gschem/lib/system-gschemrc.scm:1562 msgid "_Options" msgstr "" #: gschem/lib/system-gschemrc.scm:1563 msgid "_Help" msgstr "" #: gschem/scheme/gschem/deprecated.scm:102 #, scheme-format msgid "Invalid text alignment ~A." msgstr "" #: gschem/scheme/gschem/gschemdoc.scm:225 msgid "No documentation found" msgstr "" #: gschem/scheme/gschem/keymap.scm:38 #, scheme-format msgid "~S is not a valid key combination." msgstr "" #: gschem/scheme/gschem/keymap.scm:153 #, scheme-format msgid "~S is not a prefix key sequence." msgstr "" geda-gaf-1.8.2/gschem/po/ru.po0000664000175000017500000025422712220655644012774 00000000000000# Russian translation for gschem # This file is distributed under the same license as the gschem package. # Copyright (C) 2003-2008 Andy Shevchenko # # Andy Shevchenko , 2003, 2006. # Sergey Alyoshin , 2009. # Vladimir Zhbanov , 2011. # msgid "" msgstr "" "Project-Id-Version: geda gschem\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-03-01 07:02+0000\n" "Last-Translator: Vladimir Zhbanov \n" "Language-Team: gEDA developers \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: gschem/src/a_zoom.c:212 msgid "Zoom too small! Cannot zoom further.\n" msgstr "Масштаб слишком мал! Дальнейшее изменение невозможно.\n" #: gschem/src/g_attrib.c:92 msgid "Object ~A is not included in the current gschem page." msgstr "Объект ~A не принадлежит текущей странице." #: gschem/src/g_attrib.c:112 msgid "Invalid text name/value visibility ~A." msgstr "Недопустимое сочетание видимости имени/значения ~A." #: gschem/src/g_rc.c:312 #, c-format msgid "Invalid zoomfactor [%d] passed to %s\n" msgstr "Недопустимое значение коэффициента масштабирования [%d] для %s\n" #: gschem/src/g_rc.c:458 #, c-format msgid "Invalid size [%d] passed to text-size\n" msgstr "text-size (размер текста по умолчанию): недопустимое значение [%d]\n" #: gschem/src/g_rc.c:501 #, c-format msgid "Invalid size [%d] passed to snap-size\n" msgstr "snap-size (размер сетки привязки): недопустимое значение [%d]\n" #: gschem/src/g_rc.c:958 #, c-format msgid "Invalid num levels [%d] passed to undo-levels\n" msgstr "undo-levels (количество шагов отмены): недопустимое значение [%d]\n" #: gschem/src/g_rc.c:1220 #, c-format msgid "Invalid size [%d] passed to bus-ripper-size\n" msgstr "" "bus-ripper-size (размер ответвления от шины): недопустимое значение [%d]\n" #: gschem/src/g_rc.c:1295 #, c-format msgid "Invalid dot size [%d] passed to dots-grid-dot-size\n" msgstr "dots-grid-dot-size (размер точки сетки): недопустимое значение [%d]\n" #: gschem/src/g_rc.c:1336 #, c-format msgid "Invalid pixel spacing [%d] passed to dots-grid-fixed-threshold\n" msgstr "" "dots-grid-fixed-threshold (мин. интервал между точками сетки в пикселах): " "недопустимое значение [%d]\n" #: gschem/src/g_rc.c:1362 #, c-format msgid "Invalid pixel spacing [%d] passed to mesh-grid-display-threshold\n" msgstr "" "mesh-grid-display-threshold (мин. интервал между линиями сетки в пикселах): " "недопустимое значение [%d]\n" #: gschem/src/g_rc.c:1387 #, c-format msgid "Invalid offset [%d] passed to add-attribute-offset\n" msgstr "" "add-attribute-offset (отступ атрибута от объекта при его добавлении): " "недопустимое значение [%d]\n" #: gschem/src/g_rc.c:1411 #, c-format msgid "Invalid number of seconds [%d] passed to auto-save-interval\n" msgstr "" "auto-save-interval (интервал автосохранения в секундах): недопустимое " "значение [%d]\n" #: gschem/src/g_rc.c:1435 #, c-format msgid "Invalid gain [%d] passed to mousepan-gain\n" msgstr "" "mousepan-gain (смещение при панорамировании мышью): недопустимое значение " "[%d]\n" #: gschem/src/g_rc.c:1458 #, c-format msgid "Invalid gain [%d] passed to keyboardpan-gain\n" msgstr "" "keyboardpan-gain (смещение при панорамировании клавишами): недопустимое " "значение [%d]\n" #: gschem/src/g_rc.c:1505 #, c-format msgid "Invalid number of pixels [%d] passed to select-slack-pixels\n" msgstr "" "select-slack-pixels (число соседних пикселов для выделения): недопустимое " "значение [%d]\n" #: gschem/src/g_rc.c:1531 #, c-format msgid "Invalid gain [%d] passed to zoom-gain\n" msgstr "zoom-gain (процент увеличения масштаба): недопустимое значение [%d]\n" #: gschem/src/g_rc.c:1556 #, c-format msgid "Invalid number of steps [%d] scrollpan-steps\n" msgstr "" "scrollpan-steps (число шагов сдвига области просмотра): недопустимое " "значение [%d]\n" # Данная ошибка возникает, например, в случае попытки отдельного выделения # объекта, не являющегося самостоятельной частью страницы, а входящего в # состав какого-то символа, то есть включенного в страницу косвенно. #: gschem/src/g_select.c:79 gschem/src/g_select.c:116 #: gschem/src/g_select.c:152 msgid "Object ~A is not directly included in a page." msgstr "Объект ~A непосредственно в данных страницы не содержится." #: gschem/src/g_util.c:56 msgid "Could not launch URI ~S: ~A" msgstr "Не удалось открыть URI ~S: ~A" # smob -- представление данных объекта для Scheme #: gschem/src/g_window.c:136 msgid "Found invalid gschem window smob ~S" msgstr "Обнаружена недопустимая структура данных smob окна gschem ~S" #: gschem/src/gschem.c:175 #, c-format msgid "gEDA/gschem version %s%s.%s\n" msgstr "gEDA/gschem версии %s%s.%s\n" #: gschem/src/gschem.c:178 msgid "" "gEDA/gschem comes with ABSOLUTELY NO WARRANTY; see COPYING for more " "details.\n" msgstr "" "gEDA/gschem поставляется БЕЗ КАКИХ БЫ ТО НИ БЫЛО ГАРАНТИЙ; подробности см. в " "файле COPYING.\n" #: gschem/src/gschem.c:180 msgid "" "This is free software, and you are welcome to redistribute it under certain\n" msgstr "" "Это свободное программное обеспечение, и его можно распространять при " "определённых\n" #: gschem/src/gschem.c:182 msgid "" "conditions; please see the COPYING file for more details.\n" "\n" msgstr "" "условиях. Подробности см. в файле COPYING.\n" "\n" #: gschem/src/gschem.c:185 #, c-format msgid "This is the MINGW32 port.\n" msgstr "Это версия для MINGW32.\n" #: gschem/src/gschem.c:189 #, c-format msgid "Current locale settings: %s\n" msgstr "Текущие настройки локализации: %s\n" #: gschem/src/gschem.c:211 msgid "" "You must set the GEDADATA environment variable!\n" "\n" "gschem cannot locate its data files. You must set the GEDADATA\n" "environment variable to point to the correct location.\n" msgstr "" "Необходимо установить переменную окружения GEDADATA!\n" "\n" "gschem не может найти свои файлы данных. Необходимо задать\n" "их местоположение в переменной окружения GEDADATA.\n" #: gschem/src/gschem.c:248 #, c-format msgid "Couldn't find init scm file [%s]\n" msgstr "Не удалось найти scm-файл инициализации [%s]\n" #: gschem/src/gschem.c:252 #, c-format msgid "Read init scm file [%s]\n" msgstr "Чтение scm-файла инициализации [%s]\n" #: gschem/src/gschem.c:256 #, c-format msgid "Failed to read init scm file [%s]\n" msgstr "Не удалось прочесть scm-файл инициализации [%s]\n" #: gschem/src/gschem_cairo.c:310 #, c-format msgid "Unknown end for line (%d)\n" msgstr "Неизвестный тип конца линии (%d)\n" #: gschem/src/gschem_cairo.c:318 #, c-format msgid "Unknown type for stroke (%d) !\n" msgstr "Неизвестный тип линии (%d) !\n" #: gschem/src/gschem_pango.c:289 msgid "cairo context" msgstr "cairo-контекст" #: gschem/src/gschem_pango.c:290 msgid "the cairo context for the renderer" msgstr "cairo-контекст для рендерера" #: gschem/src/i_basic.c:77 gschem/src/x_window.c:524 #: gschem/lib/system-gschemrc.scm:1399 msgid "Select Mode" msgstr "Выделение" #: gschem/src/i_basic.c:79 msgid "Component Mode" msgstr "Вставка компонентов" #: gschem/src/i_basic.c:81 msgid "Text Mode" msgstr "Ввод текста" #: gschem/src/i_basic.c:84 gschem/lib/system-gschemrc.scm:1402 msgid "Copy Mode" msgstr "Копирование" #: gschem/src/i_basic.c:87 gschem/lib/system-gschemrc.scm:1404 msgid "Move Mode" msgstr "Перемещение" #: gschem/src/i_basic.c:89 msgid "Rotate Mode" msgstr "Поворот" #: gschem/src/i_basic.c:91 gschem/lib/system-gschemrc.scm:1406 msgid "Mirror Mode" msgstr "Зеркальное отражение" #: gschem/src/i_basic.c:95 msgid "Zoom Box" msgstr "Масштаб на область" # Перевод в соответствии с пунктом меню #: gschem/src/i_basic.c:99 msgid "Pan Mode" msgstr "Центрирование" #: gschem/src/i_basic.c:103 #, c-format msgid "Paste %d Mode" msgstr "Вставка из %d" #: gschem/src/i_basic.c:109 msgid "Magnetic Net Mode" msgstr "Магнитные соединения" #: gschem/src/i_basic.c:111 msgid "Net Mode" msgstr "Ввод соединений" #: gschem/src/i_basic.c:115 msgid "Bus Mode" msgstr "Ввод шин" #: gschem/src/i_basic.c:118 msgid "Line Mode" msgstr "Ввод линий" #: gschem/src/i_basic.c:121 msgid "Box Mode" msgstr "Ввод прямоугольников" #: gschem/src/i_basic.c:124 msgid "Picture Mode" msgstr "Вставка изображений" #: gschem/src/i_basic.c:127 msgid "Circle Mode" msgstr "Ввод окружностей" #: gschem/src/i_basic.c:130 msgid "Arc Mode" msgstr "Ввод дуг" #: gschem/src/i_basic.c:133 msgid "Pin Mode" msgstr "Добавление выводов" # Это используется только в функциях обновления строки состояния, поэтому # переводится как существительное, а не глагол, так как означает режим работы. #: gschem/src/i_basic.c:135 gschem/src/i_callbacks.c:529 #: gschem/src/i_callbacks.c:553 msgid "Copy" msgstr "Копирование" # См. примечание выше для "Copy" #: gschem/src/i_basic.c:137 gschem/src/i_callbacks.c:619 #: gschem/src/i_callbacks.c:643 msgid "Move" msgstr "Перемещение" # См. примечание выше для "Copy" #: gschem/src/i_basic.c:139 gschem/src/i_callbacks.c:574 #: gschem/src/i_callbacks.c:598 msgid "Multiple Copy" msgstr "Многократное копирование" #: gschem/src/i_basic.c:142 gschem/lib/system-gschemrc.scm:1403 msgid "Multiple Copy Mode" msgstr "Многократное копирование" # См. примечание выше для "Copy" #: gschem/src/i_basic.c:168 msgid "Show Hidden" msgstr "Отображение скрытого текста" #: gschem/src/i_basic.c:171 msgid "Snap Off" msgstr "Привязка отключена" #: gschem/src/i_basic.c:173 msgid "Resnap Active" msgstr "Режим перепривязки" #: gschem/src/i_basic.c:254 gschem/src/x_window.c:498 msgid "Action" msgstr "Действие" #: gschem/src/i_basic.c:260 gschem/src/x_dialog.c:2325 #: gschem/src/x_window.c:493 msgid "Stroke" msgstr "Жест" # Эта строка выводится в режиме ввода жестов, когда библиотека жестов не # подключена. #: gschem/src/i_basic.c:266 gschem/src/x_window.c:495 msgid "none" msgstr "---" # Функция средней кнопки мыши. # За этой строкой следует название действия #: gschem/src/i_basic.c:271 msgid "Repeat/" msgstr "Повтор:" #: gschem/src/i_basic.c:566 gschem/src/i_basic.c:580 msgid "OFF" msgstr "ОТКЛ" # Этот случай используется, когда задано недопустимое значение для сетки #: gschem/src/i_basic.c:584 msgid "NONE" msgstr "НЕТ" #: gschem/src/i_basic.c:589 #, c-format msgid "Grid(%s, %s)" msgstr "Сетка (%s, %s)" #: gschem/src/i_callbacks.c:76 gschem/src/i_callbacks.c:1659 #, c-format msgid "New page created [%s]\n" msgstr "Создана новая страница [%s]\n" #: gschem/src/i_callbacks.c:124 #, c-format msgid "New Window created [%s]\n" msgstr "Создано новое окно [%s]\n" #: gschem/src/i_callbacks.c:242 msgid "Failed to Save All" msgstr "Не удалось сохранить все файлы" #: gschem/src/i_callbacks.c:244 msgid "Saved All" msgstr "Все файлы сохранены" #: gschem/src/i_callbacks.c:334 msgid "Closing Window\n" msgstr "Закрытие окна\n" #: gschem/src/i_callbacks.c:534 gschem/src/i_callbacks.c:579 #: gschem/src/i_callbacks.c:624 msgid "Select objs first" msgstr "Сначала что-нибудь выделите" #: gschem/src/i_callbacks.c:663 gschem/src/x_multiattrib.c:1549 msgid "Delete" msgstr "Удалить" #: gschem/src/i_callbacks.c:688 msgid "Edit" msgstr "Правка" #: gschem/src/i_callbacks.c:703 msgid "Edit pin type" msgstr "Правка типа вывода" #: gschem/src/i_callbacks.c:722 msgid "Edit Text" msgstr "Правка текста" # Отображение последнего действия для повтора #: gschem/src/i_callbacks.c:745 msgid "Slot" msgstr "Правка секции" # Отображение последнего действия для повтора #: gschem/src/i_callbacks.c:762 msgid "Color" msgstr "Правка цвета" #: gschem/src/i_callbacks.c:799 gschem/src/i_callbacks.c:844 msgid "Rotate" msgstr "Поворот" #: gschem/src/i_callbacks.c:866 gschem/src/i_callbacks.c:891 msgid "Mirror" msgstr "Отражение" #: gschem/src/i_callbacks.c:912 gschem/src/x_dialog.c:2328 #: gschem/lib/system-gschemrc.scm:1415 msgid "Lock" msgstr "Блокировка" #: gschem/src/i_callbacks.c:930 gschem/lib/system-gschemrc.scm:1416 msgid "Unlock" msgstr "Разблокировка" #: gschem/src/i_callbacks.c:948 gschem/src/x_dialog.c:1746 msgid "Translate" msgstr "Смещение" #: gschem/src/i_callbacks.c:951 msgid "WARNING: Do not translate with snap off!\n" msgstr "ВНИМАНИЕ! Не производите смещение с отключенной привязкой!\n" #: gschem/src/i_callbacks.c:952 msgid "WARNING: Turning snap on and continuing with translate.\n" msgstr "ВНИМАНИЕ! Включите привязку и повторите смещение.\n" #: gschem/src/i_callbacks.c:959 msgid "WARNING: Snap grid size is not equal to 100!\n" msgstr "ВНИМАНИЕ! Размер сетки привязки не равен 100!\n" #: gschem/src/i_callbacks.c:961 msgid "" "WARNING: If you are translating a symbol to the origin, the snap grid size " "should be set to 100\n" msgstr "" "ВНИМАНИЕ! Если символ смещается в начало координат, размер сетки привязки " "должен быть установлен в 100\n" #: gschem/src/i_callbacks.c:992 msgid "Embed" msgstr "Внедрение" #: gschem/src/i_callbacks.c:1031 msgid "Unembed" msgstr "Исключение" #: gschem/src/i_callbacks.c:1073 msgid "Update" msgstr "Обновление" # Как и прочие строки в gschem/src/i_callbacks.c данная строка используется # для показа последнего действия, которое будет использоваться при повторе. В # данном случае текст при повторе будет то скрываться, то отображаться #: gschem/src/i_callbacks.c:1120 msgid "ShowHidden" msgstr "Отображение/скрытие текста" #: gschem/src/i_callbacks.c:1426 gschem/src/i_callbacks.c:1498 msgid "Pan" msgstr "Центрирование" #: gschem/src/i_callbacks.c:1703 msgid "Really revert page?" msgstr "Действительно вернуть сохранённую страницу?" #: gschem/src/i_callbacks.c:1773 msgid "Copy to clipboard" msgstr "Копирование в буфер" #: gschem/src/i_callbacks.c:1791 msgid "Cut to clipboard" msgstr "Вырезание в буфер" #: gschem/src/i_callbacks.c:1809 msgid "Paste from clipboard" msgstr "Вставка из буфера" # Здесь на самом деле не действие, а состояние. Поэтому не "Очистить буфер", а # "Буфер пуст". #: gschem/src/i_callbacks.c:1821 gschem/src/i_callbacks.c:2060 #: gschem/src/i_callbacks.c:2082 gschem/src/i_callbacks.c:2104 #: gschem/src/i_callbacks.c:2126 gschem/src/i_callbacks.c:2148 msgid "Empty buffer" msgstr "Буфер пуст" #: gschem/src/i_callbacks.c:1866 msgid "Copy 1" msgstr "Копирование в 1" #: gschem/src/i_callbacks.c:1885 msgid "Copy 2" msgstr "Копирование в 2" #: gschem/src/i_callbacks.c:1904 msgid "Copy 3" msgstr "Копирование в 3" #: gschem/src/i_callbacks.c:1923 msgid "Copy 4" msgstr "Копирование в 4" #: gschem/src/i_callbacks.c:1942 msgid "Copy 5" msgstr "Копирование в 5" #: gschem/src/i_callbacks.c:1961 msgid "Cut 1" msgstr "Вырезание в 1" #: gschem/src/i_callbacks.c:1980 msgid "Cut 2" msgstr "Вырезание в 2" #: gschem/src/i_callbacks.c:1999 msgid "Cut 3" msgstr "Вырезание в 3" #: gschem/src/i_callbacks.c:2018 msgid "Cut 4" msgstr "Вырезание в 4" #: gschem/src/i_callbacks.c:2037 msgid "Cut 5" msgstr "Вырезание в 5" #: gschem/src/i_callbacks.c:2053 msgid "Paste 1" msgstr "Вставка из 1" #: gschem/src/i_callbacks.c:2075 msgid "Paste 2" msgstr "Вставка из 2" #: gschem/src/i_callbacks.c:2097 msgid "Paste 3" msgstr "Вставка из 3" #: gschem/src/i_callbacks.c:2119 msgid "Paste 4" msgstr "Вставка из 4" #: gschem/src/i_callbacks.c:2141 msgid "Paste 5" msgstr "Вставка из 5" # В обеих функциях речь идёт о добавлении компонента #: gschem/src/i_callbacks.c:2278 gschem/src/x_window.c:359 msgid "Component" msgstr "Добавление компонента" #: gschem/src/i_callbacks.c:2314 gschem/src/i_callbacks.c:2333 #: gschem/src/x_dialog.c:2298 msgid "Attribute" msgstr "Атрибут" #: gschem/src/i_callbacks.c:2355 gschem/src/i_callbacks.c:2382 #: gschem/src/x_dialog.c:2295 msgid "Net" msgstr "Соединение" #: gschem/src/i_callbacks.c:2426 gschem/src/i_callbacks.c:2453 #: gschem/src/x_dialog.c:2313 gschem/src/x_window.c:379 msgid "Bus" msgstr "Шина" # В обеих функциях речь идёт о вводе линии, но для единообразия с выводом # статуса повторения для других объектов (шина, атрибут, соединение, вывод, # ...), для которых эта строка используется ещё и в диалоге выбора цветов, # придётся оставить как есть. #: gschem/src/i_callbacks.c:2534 gschem/src/i_callbacks.c:2557 msgid "Line" msgstr "Линия" #: gschem/src/i_callbacks.c:2579 gschem/src/i_callbacks.c:2602 msgid "Box" msgstr "Прямоугольник" #: gschem/src/i_callbacks.c:2658 gschem/src/i_callbacks.c:2682 msgid "Circle" msgstr "Окружность" #: gschem/src/i_callbacks.c:2704 gschem/src/i_callbacks.c:2727 msgid "Arc" msgstr "Ввод дуги" #: gschem/src/i_callbacks.c:2749 gschem/src/i_callbacks.c:2772 #: gschem/src/x_dialog.c:2286 msgid "Pin" msgstr "Вывод" #: gschem/src/i_callbacks.c:2831 #, c-format msgid "Searching for source [%s]\n" msgstr "Поиск источника данных [%s]\n" #: gschem/src/i_callbacks.c:2855 #, c-format msgid "Cannot find source [%s]\n" msgstr "Невозможно найти источник [%s]\n" #: gschem/src/i_callbacks.c:2918 #, c-format msgid "Searching for symbol [%s]\n" msgstr "Поиск символа [%s]\n" #: gschem/src/i_callbacks.c:2924 msgid "Symbol is not a real file. Symbol cannot be loaded.\n" msgstr "Нет реального файла для символа. Символ не может быть загружен.\n" #: gschem/src/i_callbacks.c:2955 msgid "Cannot find any schematics above the current one!\n" msgstr "Для текущей схемы не удалось найти схему, вышестоящую по иерархии!\n" #: gschem/src/i_callbacks.c:2985 msgid "Attach" msgstr "Прикрепление" #: gschem/src/i_callbacks.c:3041 msgid "Detach" msgstr "Отделение" #: gschem/src/i_callbacks.c:3085 msgid "ShowN" msgstr "Отображение имени" #: gschem/src/i_callbacks.c:3122 msgid "ShowV" msgstr "Отображение значения" #: gschem/src/i_callbacks.c:3159 msgid "ShowB" msgstr "Отображение имя=значение" #: gschem/src/i_callbacks.c:3197 msgid "VisToggle" msgstr "Переключение видимости" #: gschem/src/i_callbacks.c:3228 #, c-format msgid "Sorry but this is a non-functioning menu option\n" msgstr "Извините, но это этот пункт меню не работает\n" #: gschem/src/i_callbacks.c:3318 msgid "Action feedback mode set to OUTLINE\n" msgstr "При выполнении действий объекты будут отрисовываться полностью\n" #: gschem/src/i_callbacks.c:3321 msgid "Action feedback mode set to BOUNDINGBOX\n" msgstr "При выполнении действий вместо объектов будет отрисовываться рамка\n" #: gschem/src/i_callbacks.c:3346 msgid "Grid OFF\n" msgstr "Сетка отключена\n" #: gschem/src/i_callbacks.c:3347 msgid "Dot grid selected\n" msgstr "Выбрана сетка из точек\n" #: gschem/src/i_callbacks.c:3348 msgid "Mesh grid selected\n" msgstr "Выбрана сетка из линий\n" #: gschem/src/i_callbacks.c:3369 msgid "Snap OFF (CAUTION!)\n" msgstr "ВНИМАНИЕ! Привязка отключена!\n" #: gschem/src/i_callbacks.c:3372 msgid "Snap ON\n" msgstr "Привязка включена\n" #: gschem/src/i_callbacks.c:3375 msgid "Snap back to the grid (CAUTION!)\n" msgstr "ВНИМАНИЕ! Включите привязку к сетке!\n" #: gschem/src/i_callbacks.c:3401 msgid "Rubber band OFF \n" msgstr "Режим \"резиновых\" соединений отключен \n" #: gschem/src/i_callbacks.c:3404 msgid "Rubber band ON\n" msgstr "Режим \"резиновых\" соединений включен\n" #: gschem/src/i_callbacks.c:3419 msgid "magnetic net mode: ON\n" msgstr "Режим \"магнитных\" соединений включен\n" #: gschem/src/i_callbacks.c:3422 msgid "magnetic net mode: OFF\n" msgstr "Режим \"магнитных\" соединений отключен\n" # Сообщение при недопустимом значении поля filltype #: gschem/src/o_box.c:292 #, c-format msgid "Unknown type for box (fill)!\n" msgstr "Неизвестный тип заполнения прямоугольника!\n" #: gschem/src/o_buffer.c:54 #, c-format msgid "o_buffer_copy: Invalid buffer %i\n" msgstr "o_buffer_copy: недопустимый номер буфера %i\n" #: gschem/src/o_buffer.c:69 #, c-format msgid "o_buffer_cut: Invalid buffer %i\n" msgstr "o_buffer_cut: недопустимый номер буфера %i\n" # Используется такая же функция проверки, как и для двух предыдущих случаев. # Поэтому вывод унифицирован с ними. #: gschem/src/o_buffer.c:90 #, c-format msgid "Got an invalid buffer_number [o_buffer_paste_start]\n" msgstr "o_buffer_paste_start: недопустимый номер буфера\n" #: gschem/src/o_bus.c:117 #, c-format msgid "Got an invalid which one in o_bus_draw_stretch\n" msgstr "" "o_bus_draw_stretch: недопустимое значение 'whichone' (флаг подключаемого " "конца соединения)\n" # Сообщение при недопустимом значении поля filltype #: gschem/src/o_circle.c:284 #, c-format msgid "Unknown type for circle (fill)!\n" msgstr "Неизвестный тип заполнения окружности!\n" #: gschem/src/o_complex.c:223 gschem/src/o_complex.c:227 #, c-format msgid "Translating schematic [%d %d]\n" msgstr "Смещение схемы [%d %d]\n" #: gschem/src/o_misc.c:61 #, c-format msgid "Got an unexpected NULL in o_edit\n" msgstr "o_edit: неожиданный NULL вместо объекта\n" #: gschem/src/o_misc.c:125 msgid "Object already locked\n" msgstr "Объект уже заблокирован\n" #: gschem/src/o_misc.c:163 msgid "Object already unlocked\n" msgstr "Объект уже разблокирован\n" #: gschem/src/o_misc.c:339 msgid "Hidden text is now visible\n" msgstr "Скрытый текст теперь видим\n" #: gschem/src/o_misc.c:341 msgid "Hidden text is now invisible\n" msgstr "Скрытый текст теперь невидим\n" #: gschem/src/o_misc.c:568 #, c-format msgid "Could not find symbol [%s] in library. Update failed.\n" msgstr "Символ [%s] в библиотеке не найден. Обновление не выполнено.\n" # Квадратные скобки добавлены для единообразия #: gschem/src/o_misc.c:683 #, c-format msgid "o_autosave_backups: Can't get the real filename of %s." msgstr "" "o_autosave_backups: не удалось определить имя реального файла для [%s]." #: gschem/src/o_misc.c:727 #, c-format msgid "Could NOT set previous backup file [%s] read-write\n" msgstr "" "Не удалось установить режим доступа на чтение-запись для предыдущей " "резервной копии файла [%s]\n" #: gschem/src/o_misc.c:747 #, c-format msgid "Could NOT set backup file [%s] readonly\n" msgstr "" "Не удалось установить режим доступа только на чтение для файла резервной " "копии [%s]\n" #: gschem/src/o_misc.c:752 #, c-format msgid "Could NOT save backup file [%s]\n" msgstr "Не удалось сохранить файл резервной копии [%s]\n" #: gschem/src/o_move.c:174 #, c-format msgid "ERROR: NULL object in o_move_end!\n" msgstr "o_move_end: ОШИБКА! NULL вместо объекта\n" # whichone -- флаг, определяющий подключаемый конец для соединения #: gschem/src/o_move.c:431 #, c-format msgid "DOH! tried to find the whichone, but didn't find it!\n" msgstr "" "Ох! Попытка найти точку подключения для соединения оказалась безуспешной!\n" # Имеется в виду, что объект не является соединением, выводом или шиной #: gschem/src/o_move.c:453 #, c-format msgid "Got a non line object in o_move_check_endpoint\n" msgstr "o_move_check_endpoint: задан объект, не являющийся линейным\n" #: gschem/src/o_net.c:158 #, c-format msgid "Got an invalid which one in o_net_draw_stretch\n" msgstr "" "o_net_draw_stretch: недопустимое значение 'whichone' (флаг подключаемого " "конца соединения)\n" #: gschem/src/o_net.c:537 msgid "Warning: Starting net at off grid coordinate\n" msgstr "Внимание: начальная точка соединения не совпадает с узлом сетки\n" #: gschem/src/o_net.c:602 msgid "Warning: Ending net at off grid coordinate\n" msgstr "Внимание: конечная точка соединения не совпадает с узлом сетки\n" #: gschem/src/o_net.c:944 gschem/src/o_net.c:981 gschem/src/o_net.c:1052 #: gschem/src/o_net.c:1088 #, c-format msgid "Tried to add more than two bus rippers. Internal gschem error.\n" msgstr "" "Попытка добавить более двух ответвлений шины. Внутренняя ошибка gschem.\n" #: gschem/src/o_net.c:1156 #, c-format msgid "Bus ripper symbol [%s] was not found in any component library\n" msgstr "" "Символ ответвления шины [%s] не найден ни в одной из библиотек компонентов\n" #: gschem/src/o_path.c:340 #, c-format msgid "Unknown type for path (fill)!\n" msgstr "Неизвестный тип заполнения контура!\n" # Квадратные скобки добавлены для единообразия #: gschem/src/o_picture.c:166 #, c-format msgid "Failed to load picture: %s" msgstr "Не удалось загрузить изображение: [%s]" # Используется для вывода действия повтора в строке состояния #: gschem/src/o_picture.c:180 msgid "Picture" msgstr "Вставка изображения" # Квадратные скобки добавлены для единообразия #: gschem/src/o_picture.c:544 #, c-format msgid "Failed to replace pictures: %s" msgstr "Не удалось заменить изображение: [%s]" #: gschem/src/o_slot.c:81 msgid "Slot attribute malformed\n" msgstr "Недопустимый формат атрибута 'slot'\n" # Используется в паре со следующей строкой #: gschem/src/o_slot.c:89 msgid "numslots attribute missing\n" msgstr "Атрибут 'numslots' отсутствует\n" # Используется в паре с предыдущей строкой #: gschem/src/o_slot.c:90 msgid "Slotting not allowed for this component\n" msgstr "Нумерация секций для этого компонента невозможна\n" #: gschem/src/o_slot.c:105 msgid "New slot number out of range\n" msgstr "Новый номер секции вне допустимого диапазона\n" #: gschem/src/o_undo.c:307 msgid "Undo/Redo disabled in rc file\n" msgstr "Отмена/повтор отключены в файле настроек\n" #: gschem/src/parsecmd.c:82 #, c-format msgid "" "Usage: %s [OPTION ...] [--] [FILE ...]\n" "\n" "Interactively edit gEDA schematics or symbols. If one or more FILEs\n" "are specified, open them for editing; otherwise, create a new, empty\n" "schematic.\n" "\n" "Options:\n" " -q, --quiet Quiet mode.\n" " -v, --verbose Verbose mode.\n" " -r, --config-file=FILE Additional configuration file to load.\n" " -L DIR Add DIR to Scheme search path.\n" " -c EXPR Scheme expression to run at startup.\n" " -s FILE Scheme script to run at startup.\n" " -o, --output=FILE Output filename (for printing).\n" " -p Automatically place the window.\n" " -V, --version Show version information.\n" " -h, --help Help; this message.\n" " -- Treat all remaining arguments as filenames.\n" "\n" "Report bugs at \n" "gEDA/gaf homepage: \n" msgstr "" "Использование: %s [КЛЮЧ ...] [--] [ФАЙЛ ...]\n" "\n" "Интерактивное редактирование принципиальных схем и символов gEDA.\n" "Если указан один или более ФАЙЛов, они открываются для редактирования;\n" "в противном случае создаётся новый пустой файл.\n" "\n" "Ключи:\n" " -q, --quiet Без вывода информации.\n" " -v, --verbose Подробный вывод.\n" " -r, --config-file=ФАЙЛ Загрузка дополнительного файла настройки.\n" " -L КАТАЛОГ Добавление каталога к пути поиска Scheme.\n" " -c ВЫРАЖЕНИЕ Вызов выражения Scheme при запуске.\n" " -s ФАЙЛ Вызов файла Scheme-скрипта при запуске.\n" " -o, --output=ФАЙЛ Имя выходного файла (для печати в файл).\n" " -p Автоматическое размещение окна.\n" " -V, --version Информация о версии.\n" " -h, --help Справка; данная информация.\n" " -- Считать все остальные аргументы именами файлов.\n" "\n" "Отчёты об ошибках отправляйте по адресу \n" "Домашняя страница gEDA/gaf: \n" #: gschem/src/parsecmd.c:116 #, c-format msgid "" "gEDA %s (g%.7s)\n" "Copyright (C) 1998-2012 gEDA developers\n" "This is free software, and you are welcome to redistribute it under\n" "certain conditions. For details, see the file `COPYING', which is\n" "included in the gEDA distribution.\n" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" "gEDA %s (g%.7s)\n" "Это свободное программное обеспечение, и его можно распространять при\n" "определённых условиях. Подробности см. в файле COPYING\n" "в дистрибутиве gEDA.\n" "Нет НИКАКИХ ГАРАНТИЙ в рамках, допустимых имеющимся\n" "законодательством.\n" #: gschem/src/x_attribedit.c:127 #, c-format msgid "Got invalid show option; defaulting to show both\n" msgstr "" "Выбран недопустимый способ отображения, установка отображения имени и " "значения\n" #: gschem/src/x_attribedit.c:141 #, c-format msgid "ERROR: NULL object!\n" msgstr "ОШИБКА! NULL вместо объекта\n" #: gschem/src/x_attribedit.c:329 msgid "Single Attribute Editor" msgstr "Редактор атрибута" # Надпись в редакторе атрибута. "Изменить атрибут" было бы излишне, так как # там далее идут поля "Имя" и "Значение". Т.е. "изменить ... имя" # представляется красивше, чем "изменить атрибут ... имя", т.к. и так известно # (из заголовка окна), что меняется атрибут. #: gschem/src/x_attribedit.c:359 msgid "Edit Attribute" msgstr "Изменить" # См. выше. Но тут слово "атрибут" необходимо. Иначе получается "добавить ... имя" или # "значение", а не "атрибут". #: gschem/src/x_attribedit.c:361 msgid "Add Attribute" msgstr "Добавить атрибут" #: gschem/src/x_attribedit.c:377 gschem/src/x_multiattrib.c:1973 msgid "Name:" msgstr "Имя:" #: gschem/src/x_attribedit.c:394 gschem/src/x_multiattrib.c:1992 msgid "Value:" msgstr "Значение:" #: gschem/src/x_attribedit.c:410 gschem/src/x_multiattrib.c:2038 msgid "Visible" msgstr "Видимый" #: gschem/src/x_attribedit.c:430 msgid "Show Value Only" msgstr "Показать значение" #: gschem/src/x_attribedit.c:432 msgid "Show Name Only" msgstr "Показать имя" #: gschem/src/x_attribedit.c:434 gschem/src/x_multiattrib.c:1512 msgid "Show Name & Value" msgstr "Показать имя и значение" #: gschem/src/x_attribedit.c:441 msgid "Attach Options" msgstr "" "Объекты, к которым следует\n" " прикрепить атрибут:" #: gschem/src/x_attribedit.c:456 msgid "All" msgstr "Все" #: gschem/src/x_attribedit.c:464 gschem/src/x_compselect.c:922 #: gschem/src/x_compselect.c:1036 msgid "Components" msgstr "Компоненты" #: gschem/src/x_attribedit.c:472 gschem/src/x_window.c:369 msgid "Nets" msgstr "Соединения" # Здесь под "существующими" понимаются, конечно же, одноимённые #: gschem/src/x_attribedit.c:480 msgid "Replace existing attributes" msgstr "Заместить одноимённые атрибуты" #: gschem/src/x_autonumber.c:415 msgid "" "slotted object without slot attribute may cause problems when autonumbering " "slots\n" msgstr "" "Многосекционный объект без атрибута 'slot' может вызвать проблемы при " "автонумерации секций\n" #: gschem/src/x_autonumber.c:430 #, c-format msgid "" "duplicate slot may cause problems: [symbolname=%s, number=%d, slot=%d]\n" msgstr "" "Дублирование секций может вызвать проблемы: [symbolname=%s, number=%d, slot=" "%d]\n" #: gschem/src/x_autonumber.c:672 msgid "No searchstring given in autonumber text.\n" msgstr "Не задано выражение для автонумерации.\n" #: gschem/src/x_autonumber.c:724 msgid "No '*' or '?' given at the end of the autonumber text.\n" msgstr "В конце выражения для автонумерации не задан символ '*' или '?'.\n" #: gschem/src/x_autonumber.c:859 msgid "Diagonal" msgstr "По диагонали" #: gschem/src/x_autonumber.c:860 msgid "Top to bottom" msgstr "Сверху вниз" #: gschem/src/x_autonumber.c:860 msgid "Bottom to top" msgstr "Снизу вверх" #: gschem/src/x_autonumber.c:861 msgid "Left to right" msgstr "Слева направо" #: gschem/src/x_autonumber.c:861 msgid "Right to left" msgstr "Справа налево" # По порядку нахождения элементов в тексте файла, то есть по порядку их # добавления #: gschem/src/x_autonumber.c:862 msgid "File order" msgstr "По порядку в файле" #: gschem/src/x_autonumber.c:1198 msgid "Autonumber text" msgstr "Автонумерация" #: gschem/src/x_autonumber.c:1222 msgid "Scope" msgstr "Ограничения" #: gschem/src/x_autonumber.c:1244 msgid "Search for:" msgstr "Выражение:" #: gschem/src/x_autonumber.c:1258 msgid "Autonumber text in:" msgstr "Область автонумерации:" # Здесь определяется область, уже имеющиеся номера в которой для новой # автонумерации использоваться не должны #: gschem/src/x_autonumber.c:1265 msgid "Skip numbers found in:" msgstr "Пропуск номеров, уже имеющихся в области:" #: gschem/src/x_autonumber.c:1277 gschem/src/x_autonumber.c:1286 msgid "Selected objects" msgstr "Выделенные объекты" #: gschem/src/x_autonumber.c:1278 gschem/src/x_autonumber.c:1287 msgid "Current page" msgstr "Текущая страница" #: gschem/src/x_autonumber.c:1279 gschem/src/x_autonumber.c:1288 msgid "Whole hierarchy" msgstr "Вся иерархия" #: gschem/src/x_autonumber.c:1290 msgid "Overwrite existing numbers" msgstr "Перезаписывать уже имеющиеся номера" #: gschem/src/x_autonumber.c:1295 msgid "Options" msgstr "Настройки" #: gschem/src/x_autonumber.c:1317 msgid "Starting number:" msgstr "Начальный номер:" # "Порядок сортировки:" не очень подходит в данном случае #: gschem/src/x_autonumber.c:1324 msgid "Sort order:" msgstr "Порядок нумерации:" #: gschem/src/x_autonumber.c:1345 msgid "Remove numbers" msgstr "Удалить все номера" #: gschem/src/x_autonumber.c:1349 msgid "Automatic slotting" msgstr "Автоматически нумеровать секции" #: gschem/src/x_clipboard.c:249 #, c-format msgid "" "Invalid schematic on clipboard.\n" "\n" "An error occurred while inserting clipboard data: %s." msgstr "" "Недопустимые данные схемы в системном буфере обмена.\n" "\n" "Ошибка при вставке данных из буфера: %s." # Заголовок окна ошибки #: gschem/src/x_clipboard.c:251 msgid "Clipboard insertion failed" msgstr "Ошибка вставки данных из буфера обмена" # Здесь я написал "Не удалось выделить цвет" вместо "назначить", так # как речь идёт о резервировании поля в colormap. # %s разместил по-другому, потому что будет выдаваться, например, "чёрный # цвет". #: gschem/src/x_color.c:94 gschem/src/x_color.c:103 #, c-format msgid "Could not allocate the color %s!\n" msgstr "Не удалось выделить %s цвет!\n" #: gschem/src/x_color.c:94 msgid "black" msgstr "чёрный" #: gschem/src/x_color.c:103 msgid "white" msgstr "белый" # См. перевод выше. # В этом случае речь идёт о выделении поля для цвета с указанным индексом. # Про "display color" и "outline color" см. примечания ниже #: gschem/src/x_color.c:125 #, c-format msgid "Could not allocate display color %i!\n" msgstr "Не удалось выделить цвет для индекса %i!\n" # "outline" ни к каким контурам отношения не имеет. Более того, ввиду ошибок # реализации вообще малоинформативное сообщение. См. примечания к # нижеследующим переводам. #: gschem/src/x_color.c:147 #, c-format msgid "Could not allocate outline color %i!\n" msgstr "Невозможно выделить цвет контура %i!\n" # "color" в данном случае означает цвет некоторых объектов # (точек соединения, маркеров привязки, ...), который в третьем случае # использования берётся из массива display_colors[]. Но в первых двух случаях # он берётся из двух разных таблиц цветов, первая из которых используется для # инициализации display_colors[], вторая для display_outline_colors[]. Так что # бессмысленно здесь делать какие-то различения. # См. также примечание к следующему переводу. #: gschem/src/x_color.c:164 gschem/src/x_color.c:181 gschem/src/x_color.c:197 #, c-format msgid "Tried to get an invalid color: %d\n" msgstr "Запрос недопустимого цвета: %d\n" # "outline color" в данном случае означает цвет разных отрисовываемых объектов # (линий, дуг, прямоугольников и т.д.), который берётся из массива # display_outline_colors[]. # Но на самом деле в исходном коде цвета выбираются то из массива # display_colors[], то из display_outline_colors[], так что бывают проблемы с # отображением цветов при смене таблицы цветов пользователем. # С учётом примечания к предыдущему переводу нет смысла использовать для этой # ошибки специального текста. Просто дублирую указанный выше. #: gschem/src/x_color.c:214 #, c-format msgid "Tried to get an invalid outline color: %d\n" msgstr "Запрос недопустимого цвета: %d\n" #: gschem/src/x_compselect.c:1066 msgid "Filter:" msgstr "Фильтр:" #: gschem/src/x_compselect.c:1169 gschem/src/x_dialog.c:3653 #: gschem/src/x_multiattrib.c:1839 msgid "Name" msgstr "Имя" #: gschem/src/x_compselect.c:1178 gschem/src/x_multiattrib.c:1863 msgid "Value" msgstr "Значение" #: gschem/src/x_compselect.c:1217 msgid "Default behavior - reference component" msgstr "Вставить как ссылку (по умолчанию)" #: gschem/src/x_compselect.c:1220 msgid "Embed component in schematic" msgstr "Внедрить в схему" #: gschem/src/x_compselect.c:1223 msgid "Include component as individual objects" msgstr "Вставить как отдельные объекты" #: gschem/src/x_compselect.c:1380 msgid "Select Component..." msgstr "Выбор компонента" #: gschem/src/x_compselect.c:1403 msgid "In Use" msgstr "Используемые" # Можно просто "Библиотеки", но вместе с "Используемые", думаю будет лучше так #: gschem/src/x_compselect.c:1407 msgid "Libraries" msgstr "Библиотечные" # Можно "Предварительный просмотр", но занимает много места на экране #: gschem/src/x_compselect.c:1416 gschem/src/x_fileselect.c:122 msgid "Preview" msgstr "Предпросмотр" #: gschem/src/x_compselect.c:1444 msgid "Attributes" msgstr "Атрибуты" #: gschem/src/x_dialog.c:176 msgid "Text Entry..." msgstr "Ввод текста" #: gschem/src/x_dialog.c:207 msgid "" "Enter text, click apply,\n" "move cursor into window, click to place text.\n" "Middle button to rotate while placing." msgstr "" "Введите текст, нажмите \"Применить\", \n" "переместите курсор в окно и щёлкните левой кнопкой в месте вставки.\n" "Перед вставкой текст можно повернуть щелчком средней кнопки мыши." #: gschem/src/x_dialog.c:301 msgid "Upper Left" msgstr "слева сверху" #: gschem/src/x_dialog.c:304 msgid "Upper Middle" msgstr "по центру сверху" #: gschem/src/x_dialog.c:307 msgid "Upper Right" msgstr "справа сверху" #: gschem/src/x_dialog.c:311 msgid "Middle Left" msgstr "слева по центру" #: gschem/src/x_dialog.c:314 msgid "Middle Middle" msgstr "по центру" #: gschem/src/x_dialog.c:317 msgid "Middle Right" msgstr "справа по центру" #: gschem/src/x_dialog.c:321 msgid "Lower Left" msgstr "слева снизу" #: gschem/src/x_dialog.c:324 msgid "Lower Middle" msgstr "по центру снизу" #: gschem/src/x_dialog.c:327 msgid "Lower Right" msgstr "справа снизу" #: gschem/src/x_dialog.c:438 msgid "Edit Text Properties" msgstr "Правка свойств текста" #: gschem/src/x_dialog.c:473 msgid "Text Content" msgstr "Текст" # Тут, в общем-то, такой перевод, так как речь идёт не о тексте, а об объекте #: gschem/src/x_dialog.c:509 msgid "Text Properties" msgstr "Свойства текстового объекта" #: gschem/src/x_dialog.c:524 msgid "Color:" msgstr "Цвет:" #: gschem/src/x_dialog.c:531 msgid "Size:" msgstr "Размер:" #: gschem/src/x_dialog.c:540 msgid "Alignment:" msgstr "Выравнивание:" #: gschem/src/x_dialog.c:589 msgid "Solid" msgstr "сплошная" #: gschem/src/x_dialog.c:590 msgid "Dotted" msgstr "пунктирная" #: gschem/src/x_dialog.c:591 msgid "Dashed" msgstr "штриховая" #: gschem/src/x_dialog.c:592 msgid "Center" msgstr "штрих-пунктирная" #: gschem/src/x_dialog.c:593 msgid "Phantom" msgstr "двойной штрих-пунктир" #: gschem/src/x_dialog.c:594 gschem/src/x_dialog.c:691 #: gschem/src/x_dialog.c:700 gschem/src/x_dialog.c:709 #: gschem/src/x_dialog.c:810 gschem/src/x_dialog.c:813 #: gschem/src/x_dialog.c:816 gschem/src/x_dialog.c:1043 #: gschem/src/x_dialog.c:1146 gschem/src/x_dialog.c:1155 #: gschem/src/x_dialog.c:1164 gschem/src/x_dialog.c:1173 #: gschem/src/x_dialog.c:1182 gschem/src/x_dialog.c:1295 #: gschem/src/x_dialog.c:1298 gschem/src/x_dialog.c:1301 #: gschem/src/x_dialog.c:1304 gschem/src/x_dialog.c:1307 msgid "*unchanged*" msgstr "*без изменений*" # В соответствии с текстом пункта меню #: gschem/src/x_dialog.c:921 msgid "Edit Line Width & Type" msgstr "Свойства линии" #: gschem/src/x_dialog.c:960 gschem/src/x_print.c:307 msgid "Type:" msgstr "Тип:" #: gschem/src/x_dialog.c:964 msgid "Width:" msgstr "Толщина:" #: gschem/src/x_dialog.c:968 msgid "Dash Length:" msgstr "Длина штриха:" # Не "интервал штриха", так как используется и для пунктира тоже #: gschem/src/x_dialog.c:972 msgid "Dash Space:" msgstr "Интервал:" #: gschem/src/x_dialog.c:1039 msgid "Hollow" msgstr "без заполнения" #: gschem/src/x_dialog.c:1040 msgid "Filled" msgstr "сплошная заливка" #: gschem/src/x_dialog.c:1041 msgid "Mesh" msgstr "в клетку" #: gschem/src/x_dialog.c:1042 msgid "Hatch" msgstr "в линейку" #: gschem/src/x_dialog.c:1416 msgid "Edit Fill Type" msgstr "Изменение заполнения" #: gschem/src/x_dialog.c:1455 msgid "Fill Type:" msgstr "Тип заполнения:" #: gschem/src/x_dialog.c:1459 msgid "Line Width:" msgstr "Толщина линии:" #: gschem/src/x_dialog.c:1463 msgid "Angle 1:" msgstr "Угол 1:" #: gschem/src/x_dialog.c:1467 msgid "Pitch 1:" msgstr "Шаг 1:" #: gschem/src/x_dialog.c:1471 msgid "Angle 2:" msgstr "Угол 2:" #: gschem/src/x_dialog.c:1475 msgid "Pitch 2:" msgstr "Шаг 2:" #: gschem/src/x_dialog.c:1602 msgid "Arc Params" msgstr "Параметры дуги" #: gschem/src/x_dialog.c:1643 msgid "Arc Radius:" msgstr "Радиус:" #: gschem/src/x_dialog.c:1651 msgid "Start Angle:" msgstr "Начальный угол:" #: gschem/src/x_dialog.c:1659 msgid "Degrees of Sweep:" msgstr "Угол разворота:" #: gschem/src/x_dialog.c:1777 msgid "" "Offset to translate?\n" "(0 for origin)" msgstr "" "Задайте относительное смещение схемы\n" "(или 0 для смещения в начало координат)" #: gschem/src/x_dialog.c:1845 msgid "Text Size" msgstr "Размер текста" #: gschem/src/x_dialog.c:1875 msgid "Enter new text size:" msgstr "Введите новый размер текста:" #: gschem/src/x_dialog.c:1951 msgid "Snap Size" msgstr "Шаг привязки" #: gschem/src/x_dialog.c:1981 msgid "Enter new snap grid spacing:" msgstr "Введите новый шаг привязки:" #: gschem/src/x_dialog.c:2058 msgid "Edit slot number" msgstr "Правка номера секции" #: gschem/src/x_dialog.c:2089 msgid "Edit slot number:" msgstr "Введите номер секции:" #: gschem/src/x_dialog.c:2130 #, c-format msgid "%s (g%.7s)" msgstr "%s (g%.7s)" #: gschem/src/x_dialog.c:2151 msgid "About gschem" msgstr "О программе..." #: gschem/src/x_dialog.c:2152 msgid "gEDA: GPL Electronic Design Automation" msgstr "gEDA: САПР электроники под лицензией GPL" #. TRANSLATORS: "ChangeLog" is a literal filename; please don't translate it. #: gschem/src/x_dialog.c:2155 msgid "" "Copyright © 1998-2012 Ales Hvezda \n" "Copyright © 1998-2012 gEDA Contributors (see ChangeLog for details)" msgstr "" "Copyright © 1998-2012 Ales Hvezda \n" "Copyright © 1998-2012 gEDA Contributors (подробности см. в файле ChangeLog)" #: gschem/src/x_dialog.c:2214 msgid "Coords" msgstr "Координаты" #: gschem/src/x_dialog.c:2235 msgid "Screen" msgstr "Отображаемая область" #: gschem/src/x_dialog.c:2244 msgid "World" msgstr "Вся рабочая область" #: gschem/src/x_dialog.c:2283 msgid "Background" msgstr "Фон" #: gschem/src/x_dialog.c:2289 msgid "Net endpoint" msgstr "Метка конца соединения" #: gschem/src/x_dialog.c:2292 msgid "Graphic" msgstr "Графический объект" #: gschem/src/x_dialog.c:2301 msgid "Logic bubble" msgstr "Логическая инверсия" #: gschem/src/x_dialog.c:2304 msgid "Grid point" msgstr "Точка сетки" #: gschem/src/x_dialog.c:2307 msgid "Detached attribute" msgstr "Неприкреплённый атрибут" #: gschem/src/x_dialog.c:2310 gschem/src/x_window.c:387 msgid "Text" msgstr "Текст" #: gschem/src/x_dialog.c:2316 msgid "Selection" msgstr "Выделение" #: gschem/src/x_dialog.c:2319 msgid "Bounding box" msgstr "Ограничительная рамка" # "Рамка выбора области просмотра" -- слишком длинно #: gschem/src/x_dialog.c:2322 msgid "Zoom box" msgstr "Рамка выбора области" # Можно было бы "Фон распечатки", но можно вывести и в файл... #: gschem/src/x_dialog.c:2331 msgid "Output background" msgstr "Фон вывода на печать" #: gschem/src/x_dialog.c:2334 msgid "Net junction" msgstr "Соединительная точка" #: gschem/src/x_dialog.c:2337 msgid "Mesh grid major" msgstr "Линии основной сетки" #: gschem/src/x_dialog.c:2340 msgid "Mesh grid minor" msgstr "Линии вспомогательной сетки" # Имеется в виду цвет #: gschem/src/x_dialog.c:2343 msgid "Unknown" msgstr "Неизвестный" #: gschem/src/x_dialog.c:2494 #, c-format msgid "ERROR: NULL object in color_edit_dialog_apply!\n" msgstr "color_edit_dialog_apply: ОШИБКА! NULL вместо объекта\n" #: gschem/src/x_dialog.c:2538 msgid "Color Edit" msgstr "Правка цвета" # Так, думаю, лучше звучит, чем просто "Цвет объекта:" #: gschem/src/x_dialog.c:2569 msgid "Object color:" msgstr "Выберите цвет объекта:" #: gschem/src/x_dialog.c:2622 msgid "Hotkeys" msgstr "Горячие клавиши" #: gschem/src/x_dialog.c:2662 msgid "Function" msgstr "Функция" #: gschem/src/x_dialog.c:2669 msgid "Keystroke(s)" msgstr "Сочетание клавиш" #: gschem/src/x_dialog.c:2977 msgid "Find Text" msgstr "Найти" #: gschem/src/x_dialog.c:3008 msgid "Text to find:" msgstr "Текст:" # Почти дословно "Спускаться по иерархии", подразумевается, что поиск ведётся # во всей иерархической структуре, корнем которой является данная страница #: gschem/src/x_dialog.c:3018 msgid "descend into hierarchy" msgstr "Искать в том числе в подсхемах" #: gschem/src/x_dialog.c:3084 msgid "Hide Text" msgstr "Скрыть" #: gschem/src/x_dialog.c:3115 msgid "Hide text starting with:" msgstr "Скрыть текст, начинающийся с:" #: gschem/src/x_dialog.c:3185 msgid "Show Text" msgstr "Показать" #: gschem/src/x_dialog.c:3216 msgid "Show text starting with:" msgstr "Показать текст, начинающийся с:" #: gschem/src/x_dialog.c:3675 msgid "S_elect the schematics you want to save:" msgstr "_Выберите сохраняемые схемы:" #: gschem/src/x_dialog.c:3770 #, c-format msgid "Save the changes to schematic \"%s\" before closing?" msgstr "Сохранить изменения в схеме \"%s\" перед закрытием?" #: gschem/src/x_dialog.c:3776 #, c-format msgid "" "There are %d schematics with unsaved changes. Save changes before closing?" msgstr "" "В %d схемах есть несохранённые изменения. Сохранить их перед закрытием?" #: gschem/src/x_dialog.c:3805 msgid "If you don't save, all your changes will be permanently lost." msgstr "Если их не сохранить, все изменения будут безвозвратно утрачены." #: gschem/src/x_dialog.c:3825 msgid "_Close without saving" msgstr "_Не сохранять" #: gschem/src/x_dialog.c:4161 #, c-format msgid "" "The input attribute \"%s\" is invalid\n" "Please correct in order to continue\n" "\n" "The name and value must be non-empty.\n" "The name cannot end with a space.\n" "The value cannot start with a space." msgstr "" "Недопустимое определение атрибута \"%s" "\".\n" "Исправьте его, прежде чем продолжить\n" "\n" "Имя и значение обязательно должны быть заданы.\n" "Имя не должно заканчиваться пробелом.\n" "Значение не должно начинаться с пробела." #: gschem/src/x_dialog.c:4163 msgid "Invalid Attribute" msgstr "Недопустимый атрибут" # Диалоговое окно правки типа вывода (вызывается из всплывающего меню) #: gschem/src/x_dialog.c:4199 msgid "Pin type" msgstr "Тип вывода" #: gschem/src/x_dialog.c:4223 msgid "Net pin" msgstr "Вывод соединения" #: gschem/src/x_dialog.c:4225 msgid "Bus pin (graphical)" msgstr "Вывод шины (графический)" #: gschem/src/x_fileselect.c:42 msgid "Schematics" msgstr "Схемы" #: gschem/src/x_fileselect.c:47 msgid "Symbols" msgstr "Символы" #: gschem/src/x_fileselect.c:52 msgid "Schematics and symbols" msgstr "Схемы и символы" #: gschem/src/x_fileselect.c:58 msgid "All files" msgstr "Все файлы" # Заголовок окна выбора файла при открывании существующего файла #: gschem/src/x_fileselect.c:171 msgid "Open..." msgstr "Выберите файл" # Заголовок окна выбора файла при сохранении #: gschem/src/x_fileselect.c:231 msgid "Save as..." msgstr "Введите имя файла для сохранения" #: gschem/src/x_fileselect.c:284 #, c-format msgid "" "The selected file `%s' already exists.\n" "\n" "Would you like to overwrite it?" msgstr "" "Файл `%s' уже существует.\n" "\n" "Перезаписать?" # Заголовок окна #: gschem/src/x_fileselect.c:287 msgid "Overwrite file?" msgstr "Перезаписать файл?" #: gschem/src/x_fileselect.c:289 msgid "Save cancelled on user request\n" msgstr "Сохранение отменено по команде пользователя\n" #: gschem/src/x_image.c:176 msgid "Encapsulated Postscript" msgstr "Encapsulated Postscript" #: gschem/src/x_image.c:296 #, c-format msgid "x_image_lowlevel: Unable to write eps file %s.\n" msgstr "x_image_lowlevel: не удалось записать eps-файл %s.\n" #: gschem/src/x_image.c:374 #, c-format msgid "x_image_lowlevel: Unable to write %s file %s.\n" msgstr "x_image_lowlevel: не удалось записать %s-файл %s.\n" #: gschem/src/x_image.c:384 #, c-format msgid "" "There was the following error when saving image with type %s to filename:\n" "%s\n" "\n" "%s.\n" msgstr "" "Ошибка сохранения изображения в формате %s под именем:\n" "%s\n" "\n" "%s.\n" #: gschem/src/x_image.c:403 #, c-format msgid "Wrote color image to [%s] [%d x %d]\n" msgstr "Записано цветное изображение в [%s] [%d×%d]\n" #: gschem/src/x_image.c:405 #, c-format msgid "Wrote black and white image to [%s] [%d x %d]\n" msgstr "Записано чёрно-белое изображение в [%s] [%d×%d]\n" #: gschem/src/x_image.c:413 msgid "x_image_lowlevel: Unable to get pixbuf from gschem's window.\n" msgstr "x_image_lowlevel: не удалось получить растровую копию окна gschem.\n" #: gschem/src/x_image.c:458 msgid "Width x Height" msgstr "Ширина × высота" #: gschem/src/x_image.c:474 msgid "Image type" msgstr "Формат" #: gschem/src/x_image.c:495 msgid "Write image..." msgstr "Введите имя файла для изображения" #: gschem/src/x_log.c:209 msgid "** Invalid UTF-8 in log message. See stderr or gschem.log.\n" msgstr "" "** Недопустимый символ в кодировке UTF-8 в окне журнала. См. stderr или " "gschem.log.\n" #: gschem/src/x_log.c:288 msgid "Status" msgstr "Журнал" # Контекстное меню, вызываемое по правой кнопке в основном окне. #: gschem/src/x_menus.c:37 msgid "/Add Net" msgstr "/Добавить соединение" #: gschem/src/x_menus.c:38 msgid "/Add Attribute..." msgstr "/Добавить атрибут..." #: gschem/src/x_menus.c:39 msgid "/Add Component..." msgstr "/Добавить компонент..." #: gschem/src/x_menus.c:40 msgid "/Add Bus" msgstr "/Добавить шину" #: gschem/src/x_menus.c:41 msgid "/Add Text" msgstr "/Добавить текст" #: gschem/src/x_menus.c:43 msgid "/Zoom In" msgstr "/Увеличить" #: gschem/src/x_menus.c:44 msgid "/Zoom Out" msgstr "/Уменьшить" #: gschem/src/x_menus.c:45 msgid "/Zoom Box" msgstr "/Масштаб на область" #: gschem/src/x_menus.c:46 msgid "/Zoom Extents" msgstr "/Уместить в окне" #: gschem/src/x_menus.c:48 msgid "/Select" msgstr "/Выделить" #: gschem/src/x_menus.c:49 msgid "/Edit..." msgstr "/Правка..." #: gschem/src/x_menus.c:50 msgid "/Edit pin type..." msgstr "Правка типа вывода..." #: gschem/src/x_menus.c:51 msgid "/Copy" msgstr "/Копировать" #: gschem/src/x_menus.c:52 msgid "/Move" msgstr "/Переместить" #: gschem/src/x_menus.c:53 msgid "/Delete" msgstr "/Удалить" #: gschem/src/x_menus.c:56 msgid "/Down Schematic" msgstr "/Войти в подсхему" #: gschem/src/x_menus.c:57 msgid "/Down Symbol" msgstr "/Войти в символ" #: gschem/src/x_menus.c:58 msgid "/Up" msgstr "/Наверх" #: gschem/src/x_menus.c:348 #, c-format msgid "Tried to set the sensitivity on non-existent menu item '%s'\n" msgstr "" "Попытка установки чувствительности несуществующего элемента меню '%s'\n" #: gschem/src/x_menus.c:372 msgid "Popup_menu_item_factory doesn't exist!\n" msgstr "Popup_menu_item_factory не существует!\n" #: gschem/src/x_menus.c:385 msgid "Tried to set the sensitivity on a non-existent popup menu_item\n" msgstr "" "Попытка установки чувствительности для несуществующего элемента контекстного " "меню\n" #: gschem/src/x_misc.c:74 msgid "The operating system is out of memory or resources." msgstr "Операционной системе не хватает памяти или ресурсов." #: gschem/src/x_misc.c:155 #, c-format msgid "%s failed to launch URI" msgstr "Не удалось открыть URI с помощью %s" #: gschem/src/x_multiattrib.c:961 msgid "Attributes with empty name are not allowed. Please set a name." msgstr "Отсутствие имени у атрибута не допускается. Введите имя." #: gschem/src/x_multiattrib.c:1514 msgid "Show Value only" msgstr "Показать значение" #: gschem/src/x_multiattrib.c:1516 msgid "Show Name only" msgstr "Показать имя" #: gschem/src/x_multiattrib.c:1544 msgid "Promote" msgstr "Вынести" #: gschem/src/x_multiattrib.c:1548 msgid "Duplicate" msgstr "Дублировать" #: gschem/src/x_multiattrib.c:1765 msgid "Edit Attributes" msgstr "Правка атрибутов" #: gschem/src/x_multiattrib.c:1883 msgid "Vis?" msgstr "Видимый" #: gschem/src/x_multiattrib.c:1901 msgid "N" msgstr "И" #: gschem/src/x_multiattrib.c:1919 msgid "V" msgstr "З" #: gschem/src/x_multiattrib.c:1941 msgid "Show inherited attributes" msgstr "Показать унаследованные атрибуты" #: gschem/src/x_multiattrib.c:1957 msgid "Add Attribute" msgstr "Добавить атрибут" #: gschem/src/x_pagesel.c:246 msgid "New Page" msgstr "Новая страница" #: gschem/src/x_pagesel.c:247 msgid "Open Page..." msgstr "Открыть страницу..." #: gschem/src/x_pagesel.c:249 msgid "Save Page" msgstr "Сохранить страницу" #: gschem/src/x_pagesel.c:250 msgid "Close Page" msgstr "Закрыть страницу" #: gschem/src/x_pagesel.c:251 msgid "Discard Page" msgstr "Отвергнуть страницу" #: gschem/src/x_pagesel.c:369 msgid "Page Manager" msgstr "Менеджер страниц" #: gschem/src/x_pagesel.c:425 msgid "Filename" msgstr "Имя файла" #: gschem/src/x_pagesel.c:441 msgid "Changed" msgstr "Изменён" #: gschem/src/x_pagesel.c:461 msgid "Right click on the filename for more options..." msgstr "" "Щёлкните по имени файла правой кнопкой для выбора дополнительных действий." #: gschem/src/x_preview.c:231 msgid "Preview Buffer" msgstr "Буфер предпросмотра" # Заголовок окна выбора файла назначения печати #: gschem/src/x_print.c:84 msgid "Select PostScript Filename..." msgstr "Выберите имя PostScript-файла" #: gschem/src/x_print.c:164 msgid "Extents with margins" msgstr "Содержимое с полями" #: gschem/src/x_print.c:170 msgid "Extents no margins" msgstr "Содержимое без полей" #: gschem/src/x_print.c:176 msgid "Current Window" msgstr "Текущее окно" # Есть варианты: "Книжная/Альбомная", "Портрет/Пейзаж". Второе более подходит, # по-моему, для растровой графики. Но у нас схемы, поэтому первый ближе. #: gschem/src/x_print.c:210 msgid "Landscape" msgstr "Альбомная" #: gschem/src/x_print.c:216 msgid "Portrait" msgstr "Книжная" # Заголовок окна печати #: gschem/src/x_print.c:276 msgid "Print..." msgstr "Печать" #: gschem/src/x_print.c:284 msgid "Settings" msgstr "Параметры" #: gschem/src/x_print.c:296 msgid "Output paper size:" msgstr "Размер бумаги:" #: gschem/src/x_print.c:318 msgid "Orientation:" msgstr "Ориентация:" #: gschem/src/x_print.c:330 msgid "Destination" msgstr "Назначение печати" #: gschem/src/x_print.c:343 msgid "File:" msgstr "Файл:" #: gschem/src/x_print.c:373 msgid "Command:" msgstr "Команда:" #: gschem/src/x_print.c:745 msgid "No print destination specified\n" msgstr "Не указано назначение для печати\n" #: gschem/src/x_print.c:752 #, c-format msgid "Cannot print current schematic to [%s]\n" msgstr "Не удалось распечатать текущую схему, используя [%s] как назначение\n" #: gschem/src/x_print.c:761 #, c-format msgid "" "Error printing to file '%s'\n" "Check the log window for more information" msgstr "" "Ошибка печати в файл [%s]\n" "Подробности см. в окне журнала" #: gschem/src/x_print.c:768 #, c-format msgid "Printed current schematic to [%s]\n" msgstr "Текущая схема распечатана с использованием [%s] как назначения\n" #: gschem/src/x_rc.c:40 msgid "ERROR: An unknown error occurred while parsing configuration files.\n" msgstr "ОШИБКА: неизвестная ошибка при анализе файлов настроек.\n" #: gschem/src/x_rc.c:45 msgid "" "An unknown error occurred while parsing configuration files.\n" "\n" "The gschem log may contain more information." msgstr "" "Неизвестная ошибка при анализе файлов настроек.\n" "\n" "В журнале gschem может быть больше информации." #: gschem/src/x_rc.c:57 #, c-format msgid "ERROR: %s\n" msgstr "ОШИБКА: %s\n" #: gschem/src/x_rc.c:60 #, c-format msgid "" "%s\n" "\n" "The gschem log may contain more information." msgstr "" "%s\n" "\n" "В журнале gschem может быть больше информации." #: gschem/src/x_rc.c:68 msgid "Cannot load gschem configuration." msgstr "Не удалось загрузить файлы настроек gschem" #: gschem/src/x_script.c:47 gschem/lib/system-gschemrc.scm:1381 msgid "Execute Script..." msgstr "Выполнить скрипт..." #: gschem/src/x_script.c:66 #, c-format msgid "Executing guile script [%s]\n" msgstr "Запуск guile-скрипта [%s]\n" #: gschem/src/x_window.c:82 #, c-format msgid "Couldn't allocate gc\n" msgstr "Не удалось выделить структуру графического контекста\n" # Подписи к кнопкам панели инструментов #: gschem/src/x_window.c:321 msgid "New" msgstr "Новый" #: gschem/src/x_window.c:322 msgid "New file" msgstr "Новый файл" #: gschem/src/x_window.c:328 msgid "Open" msgstr "Открыть" #: gschem/src/x_window.c:329 msgid "Open file..." msgstr "Открыть файл..." #: gschem/src/x_window.c:335 msgid "Save" msgstr "Сохранить" #: gschem/src/x_window.c:336 msgid "Save file" msgstr "Сохранить файл" #: gschem/src/x_window.c:343 msgid "Undo" msgstr "Отменить" #: gschem/src/x_window.c:344 msgid "Undo last operation" msgstr "Отменить последнее действие" #: gschem/src/x_window.c:350 msgid "Redo" msgstr "Повторить" #: gschem/src/x_window.c:351 msgid "Redo last undo" msgstr "Повторить отменённое действие" #: gschem/src/x_window.c:360 msgid "" "Add component...\n" "Select library and component from list, move the mouse into main window, " "click to place\n" "Right mouse button to cancel" msgstr "" "Добавление компонентов\n" "Выберите библиотеку и компонент из списка, переместите мышь в главное окно, " "для добавления щёлкните левой кнопкой в нужном месте.\n" "Щелчок правой кнопкой отменяет операцию" #: gschem/src/x_window.c:370 msgid "" "Add nets mode\n" "Right mouse button to cancel" msgstr "" "Ввод соединений\n" "Щелчок правой кнопкой отменяет операцию" #: gschem/src/x_window.c:380 msgid "" "Add buses mode\n" "Right mouse button to cancel" msgstr "" "Ввод шин\n" "Щелчок правой кнопкой отменяет операцию" #: gschem/src/x_window.c:388 msgid "Add Text..." msgstr "Ввод текста..." #: gschem/src/x_window.c:398 msgid "Select" msgstr "Выделение" #: gschem/src/x_window.c:399 msgid "Select mode" msgstr "Режим выделения" # Можно было бы перевести как "Оценить", но в этом случае не только # оцениваются выражения Scheme, но и можно выполнять встроенные процедуры #: gschem/src/x_window.c:465 msgid "Evaluate:" msgstr "Выполнить:" # Функция левой кнопки мыши. # Имеется в виду выбор чего угодно -- объектов, пунктов меню и т.д. #: gschem/src/x_window.c:484 msgid "Pick" msgstr "Выбор" # Функция средней кнопки мыши. # Должно соответствовать переводам строк "Repeat/" и "none", указанным выше #: gschem/src/x_window.c:500 msgid "Repeat/none" msgstr "Повтор: ---" #: gschem/src/x_window.c:510 msgid "Menu/Cancel" msgstr "Меню/Отмена действия" #: gschem/src/x_window.c:512 msgid "Pan/Cancel" msgstr "Прокрутка/Отмена действия" #: gschem/src/x_window.c:737 #, c-format msgid "Loading schematic [%s]\n" msgstr "Загрузка схемы [%s]\n" #: gschem/src/x_window.c:748 #, c-format msgid "" "An error occurred while loading the requested file.\n" "\n" "Loading from '%s' failed: %s. The gschem log may contain more information." msgstr "" "При загрузке указанного файла произошла ошибка.\n" "\n" "Не удалось загрузить файл '%s': %s. В журнале gschem может быть больше " "информации." #: gschem/src/x_window.c:750 msgid "Failed to load file" msgstr "Не удалось загрузить файл" #: gschem/src/x_window.c:759 #, c-format msgid "New file [%s]\n" msgstr "Новый файл [%s]\n" #: gschem/src/x_window.c:862 #, c-format msgid "Could NOT save page [%s]\n" msgstr "Не удалось сохранить страницу [%s]\n" #: gschem/src/x_window.c:863 msgid "Error while trying to save" msgstr "Ошибка при попытке сохранения" #: gschem/src/x_window.c:873 msgid "Failed to save file" msgstr "Не удалось сохранить файл" #: gschem/src/x_window.c:884 #, c-format msgid "Saved as [%s]\n" msgstr "Файл сохранён под именем [%s]\n" #: gschem/src/x_window.c:886 #, c-format msgid "Saved [%s]\n" msgstr "Файл [%s] сохранён\n" #: gschem/src/x_window.c:888 msgid "Saved" msgstr "Файл сохранён" #: gschem/src/x_window.c:962 #, c-format msgid "Discarding page [%s]\n" msgstr "Закрытие [%s] без сохранения изменений\n" #: gschem/src/x_window.c:962 #, c-format msgid "Closing [%s]\n" msgstr "Закрытие [%s]\n" #: gschem/data/geda-gschem.desktop.in:3 msgid "gEDA Schematic Editor" msgstr "Схемотехнический редактор gEDA" #: gschem/data/geda-gschem.desktop.in:4 msgid "Create and edit electrical schematics and symbols with gschem" msgstr "Создание и редактирование электрических схем и символов в gschem" #: gschem/lib/system-gschemrc.scm:1368 msgid "_New" msgstr "_Новый" #: gschem/lib/system-gschemrc.scm:1369 msgid "_Open..." msgstr "_Открыть..." #: gschem/lib/system-gschemrc.scm:1371 msgid "Open Recen_t" msgstr "Открыть не_давние" #: gschem/lib/system-gschemrc.scm:1373 msgid "_Save" msgstr "_Сохранить" #: gschem/lib/system-gschemrc.scm:1374 msgid "Save _As..." msgstr "Сохранить _как..." #: gschem/lib/system-gschemrc.scm:1375 msgid "Save All" msgstr "Сохранить все" #: gschem/lib/system-gschemrc.scm:1376 gschem/lib/system-gschemrc.scm:1469 msgid "_Revert" msgstr "_Возвратить" #: gschem/lib/system-gschemrc.scm:1378 msgid "_Print..." msgstr "_Печать..." #: gschem/lib/system-gschemrc.scm:1379 msgid "Write _image..." msgstr "Сохранить _изображение..." #: gschem/lib/system-gschemrc.scm:1383 msgid "New Window" msgstr "Новое окно" #: gschem/lib/system-gschemrc.scm:1384 msgid "_Close Window" msgstr "_Закрыть окно" #: gschem/lib/system-gschemrc.scm:1385 msgid "_Quit" msgstr "В_ыход" #: gschem/lib/system-gschemrc.scm:1391 msgid "_Undo" msgstr "_Отменить" #: gschem/lib/system-gschemrc.scm:1392 msgid "_Redo" msgstr "_Повторить" #: gschem/lib/system-gschemrc.scm:1394 msgid "Cu_t" msgstr "_Вырезать" #: gschem/lib/system-gschemrc.scm:1395 msgid "_Copy" msgstr "С_копировать" #: gschem/lib/system-gschemrc.scm:1396 msgid "_Paste" msgstr "В_ставить" #: gschem/lib/system-gschemrc.scm:1397 msgid "_Delete" msgstr "_Удалить" #: gschem/lib/system-gschemrc.scm:1400 msgid "Select All" msgstr "Выделить всё" #: gschem/lib/system-gschemrc.scm:1401 msgid "Deselect" msgstr "Снять выделение" # Можно было бы перевести как "Повернуть на 90°", но большинство соседних # пунктов меню переведены как существительные, так как они используются и для # отображения в строке состояния. #: gschem/lib/system-gschemrc.scm:1405 msgid "Rotate 90 Mode" msgstr "Поворот на 90°" #: gschem/lib/system-gschemrc.scm:1408 msgid "Edit..." msgstr "Правка..." #: gschem/lib/system-gschemrc.scm:1409 msgid "Edit Text..." msgstr "Правка текста..." #: gschem/lib/system-gschemrc.scm:1410 msgid "Slot..." msgstr "Секция..." #: gschem/lib/system-gschemrc.scm:1411 msgid "Color..." msgstr "Цвет..." #: gschem/lib/system-gschemrc.scm:1412 msgid "Line Width & Type..." msgstr "Свойства линии..." #: gschem/lib/system-gschemrc.scm:1413 msgid "Fill Type..." msgstr "Заполнение..." #: gschem/lib/system-gschemrc.scm:1414 msgid "Symbol Translate..." msgstr "Смещение символа..." #: gschem/lib/system-gschemrc.scm:1418 msgid "Invoke Macro" msgstr "Выполнить макрос" #: gschem/lib/system-gschemrc.scm:1419 msgid "Embed Component/Picture" msgstr "Внедрить компонент/изображение" #: gschem/lib/system-gschemrc.scm:1420 msgid "Unembed Component/Picture" msgstr "Исключить компонент/изображение" #: gschem/lib/system-gschemrc.scm:1421 msgid "Update Component" msgstr "Обновить компонент" #: gschem/lib/system-gschemrc.scm:1422 msgid "Show/Hide Inv Text" msgstr "Показать/скрыть невидимый текст" #: gschem/lib/system-gschemrc.scm:1428 msgid "Copy into 1" msgstr "Скопировать в 1" #: gschem/lib/system-gschemrc.scm:1429 msgid "Copy into 2" msgstr "Скопировать в 2" #: gschem/lib/system-gschemrc.scm:1430 msgid "Copy into 3" msgstr "Скопировать в 3" #: gschem/lib/system-gschemrc.scm:1431 msgid "Copy into 4" msgstr "Скопировать в 4" #: gschem/lib/system-gschemrc.scm:1432 msgid "Copy into 5" msgstr "Скопировать в 5" #: gschem/lib/system-gschemrc.scm:1433 msgid "Cut into 1" msgstr "Вырезать в 1" #: gschem/lib/system-gschemrc.scm:1434 msgid "Cut into 2" msgstr "Вырезать в 2" #: gschem/lib/system-gschemrc.scm:1435 msgid "Cut into 3" msgstr "Вырезать в 3" #: gschem/lib/system-gschemrc.scm:1436 msgid "Cut into 4" msgstr "Вырезать в 4" #: gschem/lib/system-gschemrc.scm:1437 msgid "Cut into 5" msgstr "Вырезать в 5" #: gschem/lib/system-gschemrc.scm:1438 msgid "Paste from 1" msgstr "Вставить из 1" #: gschem/lib/system-gschemrc.scm:1439 msgid "Paste from 2" msgstr "Вставить из 2" #: gschem/lib/system-gschemrc.scm:1440 msgid "Paste from 3" msgstr "Вставить из 3" #: gschem/lib/system-gschemrc.scm:1441 msgid "Paste from 4" msgstr "Вставить из 4" #: gschem/lib/system-gschemrc.scm:1442 msgid "Paste from 5" msgstr "Вставить из 5" #: gschem/lib/system-gschemrc.scm:1448 msgid "_Redraw" msgstr "Пе_рерисовать" #: gschem/lib/system-gschemrc.scm:1449 msgid "_Pan" msgstr "_Центрировать" #: gschem/lib/system-gschemrc.scm:1450 msgid "Zoom _Box" msgstr "Об_ласть масштабирования" #: gschem/lib/system-gschemrc.scm:1451 msgid "Zoom _Extents" msgstr "_Уместить в окне" #: gschem/lib/system-gschemrc.scm:1452 msgid "Zoom _In" msgstr "У_величить" #: gschem/lib/system-gschemrc.scm:1453 msgid "Zoom _Out" msgstr "Уме_ньшить" #: gschem/lib/system-gschemrc.scm:1454 msgid "Zoom _Full" msgstr "_Показать всё" #: gschem/lib/system-gschemrc.scm:1456 msgid "_Dark color scheme" msgstr "_Тёмная цветовая схема" #: gschem/lib/system-gschemrc.scm:1457 msgid "_Light color scheme" msgstr "_Светлая цветовая схема" #: gschem/lib/system-gschemrc.scm:1458 msgid "B_W color scheme" msgstr "_Чёрно-белая цветовая схема" #: gschem/lib/system-gschemrc.scm:1465 msgid "_Manager..." msgstr "_Менеджер..." #: gschem/lib/system-gschemrc.scm:1466 msgid "_Previous" msgstr "_Предыдущая" #: gschem/lib/system-gschemrc.scm:1467 msgid "_Next" msgstr "_Следующая" #: gschem/lib/system-gschemrc.scm:1468 msgid "Ne_w" msgstr "_Новая" #: gschem/lib/system-gschemrc.scm:1470 msgid "_Close" msgstr "_Закрыть" #: gschem/lib/system-gschemrc.scm:1472 msgid "_Discard" msgstr "_Отвергнуть" #: gschem/lib/system-gschemrc.scm:1478 msgid "_Component..." msgstr "_Компонент..." #: gschem/lib/system-gschemrc.scm:1479 msgid "_Net" msgstr "_Соединение" #: gschem/lib/system-gschemrc.scm:1480 msgid "B_us" msgstr "_Шину" #: gschem/lib/system-gschemrc.scm:1481 msgid "_Attribute..." msgstr "_Атрибут..." #: gschem/lib/system-gschemrc.scm:1482 msgid "_Text..." msgstr "_Текст..." #: gschem/lib/system-gschemrc.scm:1484 msgid "_Line" msgstr "_Линию" #: gschem/lib/system-gschemrc.scm:1485 msgid "_Box" msgstr "_Прямоугольник" #: gschem/lib/system-gschemrc.scm:1486 msgid "C_ircle" msgstr "_Окружность" #: gschem/lib/system-gschemrc.scm:1487 msgid "A_rc" msgstr "_Дугу" #: gschem/lib/system-gschemrc.scm:1488 msgid "_Pin" msgstr "_Вывод" #: gschem/lib/system-gschemrc.scm:1489 msgid "Pictu_re..." msgstr "_Изображение..." #: gschem/lib/system-gschemrc.scm:1495 msgid "_Down Schematic" msgstr "Войти в _подсхему" #: gschem/lib/system-gschemrc.scm:1496 msgid "Down _Symbol" msgstr "Войти в _символ" #: gschem/lib/system-gschemrc.scm:1497 msgid "_Up" msgstr "На_верх" #: gschem/lib/system-gschemrc.scm:1498 msgid "D_ocumentation..." msgstr "_Документация" #: gschem/lib/system-gschemrc.scm:1504 msgid "_Attach" msgstr "_Прикрепить" #: gschem/lib/system-gschemrc.scm:1505 msgid "_Detach" msgstr "_Отделить" #: gschem/lib/system-gschemrc.scm:1506 msgid "Show _Value" msgstr "Показать _значение" #: gschem/lib/system-gschemrc.scm:1507 msgid "Show _Name" msgstr "Показать _имя" #: gschem/lib/system-gschemrc.scm:1508 msgid "Show _Both" msgstr "По_казать имя и значение" #: gschem/lib/system-gschemrc.scm:1509 msgid "_Toggle Visibility" msgstr "Переключить _видимость" #: gschem/lib/system-gschemrc.scm:1511 msgid "_Find Specific Text..." msgstr "_Найти текст..." #: gschem/lib/system-gschemrc.scm:1512 msgid "_Hide Specific Text..." msgstr "_Скрыть текст..." #: gschem/lib/system-gschemrc.scm:1513 msgid "_Show Specific Text..." msgstr "Показать _текст..." #: gschem/lib/system-gschemrc.scm:1514 msgid "A_utonumber Text..." msgstr "_Автонумерация..." #: gschem/lib/system-gschemrc.scm:1520 msgid "_Text Size..." msgstr "Размер _текста..." #: gschem/lib/system-gschemrc.scm:1521 msgid "Cycle _grid styles" msgstr "Стиль _сетки" #: gschem/lib/system-gschemrc.scm:1522 msgid "Toggle _Snap On/Off" msgstr "Переключить _привязку" #: gschem/lib/system-gschemrc.scm:1523 msgid "Snap Grid S_pacing..." msgstr "_Шаг сетки привязки..." #: gschem/lib/system-gschemrc.scm:1524 msgid "Scale _up Grid Spacing" msgstr "У_величить шаг сетки" #: gschem/lib/system-gschemrc.scm:1526 msgid "Scale _down Grid Spacing" msgstr "Уме_ньшить шаг сетки" # Можно сказать "Контуры объектов/рамка". Но чаще всего, когда не используется # заполнение, контуры по виду эквивалентны самим объектам. Плюс так короче. А # "Контуры/рамка" было бы непонятнее. #: gschem/lib/system-gschemrc.scm:1528 msgid "Toggle _Outline/Box" msgstr "_Объекты/рамка" #: gschem/lib/system-gschemrc.scm:1530 msgid "Toggle Net _Rubberband" msgstr "_Резиновое соединение вкл/откл" #: gschem/lib/system-gschemrc.scm:1531 msgid "Toggle _Magnetic Net" msgstr "_Магнитное соединение вкл/откл" #: gschem/lib/system-gschemrc.scm:1532 msgid "Show _Log Window..." msgstr "Окно _журнала..." #: gschem/lib/system-gschemrc.scm:1534 msgid "Show _Coord Window..." msgstr "Окно _координат..." #: gschem/lib/system-gschemrc.scm:1542 msgid "gEDA Docu_mentation..." msgstr "Документация _gEDA..." #: gschem/lib/system-gschemrc.scm:1543 msgid "gschem _FAQ..." msgstr "gschem _FAQ..." #: gschem/lib/system-gschemrc.scm:1544 msgid "gEDA _Wiki..." msgstr "gEDA _Wiki..." #: gschem/lib/system-gschemrc.scm:1545 msgid "Component D_ocumentation..." msgstr "Документация на _компонент..." #: gschem/lib/system-gschemrc.scm:1547 msgid "_Hotkeys..." msgstr "_Горячие клавиши" #: gschem/lib/system-gschemrc.scm:1548 msgid "_About..." msgstr "_О программе..." #: gschem/lib/system-gschemrc.scm:1554 msgid "_File" msgstr "_Файл" #: gschem/lib/system-gschemrc.scm:1555 msgid "_Edit" msgstr "_Правка" #: gschem/lib/system-gschemrc.scm:1556 msgid "_Buffer" msgstr "_Буфер" #: gschem/lib/system-gschemrc.scm:1557 msgid "_View" msgstr "_Вид" #: gschem/lib/system-gschemrc.scm:1558 msgid "_Page" msgstr "Ст_раница" #: gschem/lib/system-gschemrc.scm:1559 msgid "_Add" msgstr "_Добавить" #: gschem/lib/system-gschemrc.scm:1560 msgid "Hie_rarchy" msgstr "_Иерархия" #: gschem/lib/system-gschemrc.scm:1561 msgid "A_ttributes" msgstr "_Атрибуты" #: gschem/lib/system-gschemrc.scm:1562 msgid "_Options" msgstr "_Настройки" #: gschem/lib/system-gschemrc.scm:1563 msgid "_Help" msgstr "_Справка" #: gschem/scheme/gschem/deprecated.scm:102 #, scheme-format msgid "Invalid text alignment ~A." msgstr "Недопустимое выравнивание текста ~A." #: gschem/scheme/gschem/gschemdoc.scm:225 msgid "No documentation found" msgstr "Документация не найдена" #: gschem/scheme/gschem/keymap.scm:38 #, scheme-format msgid "~S is not a valid key combination." msgstr "Недопустимая комбинация клавиш ~S." #: gschem/scheme/gschem/keymap.scm:153 #, scheme-format msgid "~S is not a prefix key sequence." msgstr "~S не является префиксом клавишной последовательности." geda-gaf-1.8.2/gschem/po/remove-potcdate.sin0000644000175000017500000000066012210331572015571 00000000000000# Sed script that remove the POT-Creation-Date line in the header entry # from a POT file. # # The distinction between the first and the following occurrences of the # pattern is achieved by looking at the hold space. /^"POT-Creation-Date: .*"$/{ x # Test if the hold space is empty. s/P/P/ ta # Yes it was empty. First occurrence. Remove the line. g d bb :a # The hold space was nonempty. Following occurrences. Do nothing. x :b } geda-gaf-1.8.2/gschem/po/fr.gmo0000664000175000017500000012405712220655645013117 00000000000000C4L$`00a0 00;0 0011*1 31=1C1K1 [1h1z1111 1 11 111\2r2]22 233-3 4 44 14>4(E4$n4 4 4+44*_5 55 5j566 6$6 -6 86D6 K6 U6>`666666 6 6 7777#7,7>@77277!7'78$8,8 38?8 Z8e8 u88 8888 888 88889999 9 &9 29 >9 J9 V9b9t9 9:(/:3X:%:%:!:6:1;M;!c;=;;;; ;<< <<< < *< 5< @< K<V<g<5z<< < <<&< =="= +=7=>=Q= Z=g=}== = = =D=/=".>Q>f>k>{>> >> > >>>>? ?$? A?N?f??m?E@L@ g@q@@@@@@@" A-ALA `AkAqA zA AAA AA/A4A/B/IB!yB1BB B B BBBC 7CAC ZCeClC=tC CC'CC3C-2D*`D&D.D<D<E-[E3E?EAE,?F&lF&FF%F F G G G -G7G f fffffff g g(gCg bg ngyg g gg gggghhwh=iLi [ihiixj jjjj6j2j/kCk)Wkk+:lfl|lll m)m2m6mIm[mkmtm }m5mmmm n n n n/nAn GnRnVn_nMynn:n" o1-o4_oooo o'ooo ppp 3p >p Hp Sp]pxp p ppppppp p p p p q q$qAq;q"rJ?rNr.r/s%8sX^s!ss1sG%tmt utttttttt t t t u u)uFu3_uuuuu4u v v v 2v >vHv [vgvzv v v vv vXv55w(kwwwwwwx x8xLxgxwxx xx&x xx2y$6y[ykz)lz zz zzz+{$1{)V{7{&{#{&| *|4|C|Z|p|v|~||>|:|5}6J}}O} } }~ ~$~5,~3b~~!~ ~~ ~X~ >K+b;.+ '76_?=ր/4DByH0*6*a%*݂ # )4 R_ { ȃ ߃ !6X lv Ȅ܄ބ   &:LS \j$|Dž#Zb.@+4@9u: * 4BZ$m ʈۈ"+;K[k{ ĉ ˉ׉ '"+= Y,e *Ȋ $.!> `Cmŋ͋ ދ <& co1ɌS fr"$ݍ07Lf !͎  : ESb~ݏ !'IZn"" Ԑ ސ">C]1e"Бّ)9#]exE  !,>GTE]w@R! -F`| K̕2+KHwK  ;= y#'З*%#IhwĘ֘ >mMF?HBL؞  "=14o=   (75O   ʠޠ   ) 4@ R\e} ̡ӡܡ     '4 = H T _l  ǢҢQע)fG0ߤ <[x¥ȥP)5(_uV9[H ާ/1e&1Y% %AN88dc q] 7fMLu>;S5R/,2},K5`J# BnD$/#"A^Cs=[\)':(1l\@96_="$Tz bh.rZ*!    pE:t4/?^-V >#&H3 J4~WG*2n?@BV-kx ;=z2(Mw'agP.<va0p~8Q&Omx> o+;wDEFGHBcdefgkt%s, 96o!vW4 -)Fr:U*I XyQPqyA5u|X<+ITiS{L)Oj[U}3_'0Y7K{"|(R.+@39hZ?C0b!]N$C 7ij<lm`6 %s The gschem log may contain more information.%s (g%.7s)%s failed to launch URI** Invalid UTF-8 in log message. See stderr or gschem.log. *unchanged*/Add Attribute.../Add Bus/Add Component.../Add Net/Add Text/Copy/Delete/Down Schematic/Down Symbol/Edit pin type.../Edit.../Move/Select/Up/Zoom Box/Zoom Extents/Zoom In/Zoom OutAdd AttributeAn error occurred while loading the requested file. Loading from '%s' failed: %s. The gschem log may contain more information.Attach OptionsEdit AttributeInvalid schematic on clipboard. An error occurred while inserting clipboard data: %s.OptionsScopeText ContentText PropertiesThe input attribute "%s" is invalid Please correct in order to continue The name and value must be non-empty. The name cannot end with a space. The value cannot start with a space.A_rcA_ttributesA_utonumber Text...About gschemActionAction feedback mode set to BOUNDINGBOX Action feedback mode set to OUTLINE Add AttributeAdd Text...Add buses mode Right mouse button to cancelAdd component... Select library and component from list, move the mouse into main window, click to place Right mouse button to cancelAdd nets mode Right mouse button to cancelAlignment:AllAll filesAn unknown error occurred while parsing configuration files. The gschem log may contain more information.Angle 1:Angle 2:ArcArc ModeArc ParamsArc Radius:AttachAttributeAttributesAttributes with empty name are not allowed. Please set a name.Automatic slottingAutonumber textAutonumber text in:B_W color schemeB_usBackgroundBottom to topBounding boxBoxBox ModeBusBus ModeBus pin (graphical)Bus ripper symbol [%s] was not found in any component library C_ircleCannot find any schematics above the current one! Cannot find source [%s] Cannot load gschem configuration.Cannot print current schematic to [%s] CenterChangedCircleCircle ModeClipboard insertion failedClose PageClosing Window Closing [%s] ColorColor EditColor...Color:Command:ComponentComponent D_ocumentation...Component ModeComponentsCoordsCopyCopy 1Copy 2Copy 3Copy 4Copy 5Copy ModeCopy into 1Copy into 2Copy into 3Copy into 4Copy into 5Copy to clipboardCopyright © 1998-2012 Ales Hvezda Copyright © 1998-2012 gEDA Contributors (see ChangeLog for details)Could NOT save backup file [%s] Could NOT save page [%s] Could NOT set backup file [%s] readonly Could NOT set previous backup file [%s] read-write Could not allocate display color %i! Could not allocate outline color %i! Could not allocate the color %s! Could not find symbol [%s] in library. Update failed. Could not launch URI ~S: ~ACouldn't allocate gc Couldn't find init scm file [%s] Create and edit electrical schematics and symbols with gschemCu_tCurrent WindowCurrent locale settings: %s Current pageCut 1Cut 2Cut 3Cut 4Cut 5Cut into 1Cut into 2Cut into 3Cut into 4Cut into 5Cut to clipboardCycle _grid stylesDOH! tried to find the whichone, but didn't find it! D_ocumentation...Dash Length:Dash Space:DashedDefault behavior - reference componentDegrees of Sweep:DeleteDeselectDestinationDetachDetached attributeDiagonalDiscard PageDiscarding page [%s] Dot grid selected DottedDown _SymbolDuplicateERROR: %s ERROR: An unknown error occurred while parsing configuration files. ERROR: NULL object in color_edit_dialog_apply! ERROR: NULL object in o_move_end! ERROR: NULL object! EditEdit AttributesEdit Fill TypeEdit Line Width & TypeEdit TextEdit Text PropertiesEdit Text...Edit pin typeEdit slot numberEdit slot number:Edit...EmbedEmbed Component/PictureEmbed component in schematicEmpty bufferEncapsulated PostscriptEnter new snap grid spacing:Enter new text size:Enter text, click apply, move cursor into window, click to place text. Middle button to rotate while placing.Error printing to file '%s' Check the log window for more informationError while trying to saveEvaluate:Execute Script...Executing guile script [%s] Extents no marginsExtents with marginsFailed to Save AllFailed to load fileFailed to load picture: %sFailed to read init scm file [%s] Failed to replace pictures: %sFailed to save fileFile orderFile:FilenameFill Type...Fill Type:FilledFilter:Find TextFunctionGot a non line object in o_move_check_endpoint Got an invalid buffer_number [o_buffer_paste_start] Got an invalid which one in o_bus_draw_stretch Got an invalid which one in o_net_draw_stretch Got an unexpected NULL in o_edit Got invalid show option; defaulting to show both GraphicGrid OFF Grid pointGrid(%s, %s)HatchHidden text is now invisible Hidden text is now visible Hide TextHide text starting with:Hie_rarchyHollowHotkeysIf you don't save, all your changes will be permanently lost.Image typeIn UseInclude component as individual objectsInvalid AttributeInvalid dot size [%d] passed to dots-grid-dot-size Invalid gain [%d] passed to keyboardpan-gain Invalid gain [%d] passed to mousepan-gain Invalid gain [%d] passed to zoom-gain Invalid num levels [%d] passed to undo-levels Invalid number of pixels [%d] passed to select-slack-pixels Invalid number of seconds [%d] passed to auto-save-interval Invalid number of steps [%d] scrollpan-steps Invalid offset [%d] passed to add-attribute-offset Invalid pixel spacing [%d] passed to dots-grid-fixed-threshold Invalid pixel spacing [%d] passed to mesh-grid-display-threshold Invalid size [%d] passed to bus-ripper-size Invalid size [%d] passed to snap-size Invalid size [%d] passed to text-size Invalid text alignment ~A.Invalid zoomfactor [%d] passed to %s Invoke MacroKeystroke(s)LandscapeLeft to rightLibrariesLineLine ModeLine Width & Type...Line Width:Loading schematic [%s] LockLogic bubbleLower LeftLower MiddleLower RightMagnetic Net ModeMenu/CancelMeshMesh grid majorMesh grid minorMesh grid selected Middle LeftMiddle MiddleMiddle RightMirrorMirror ModeMoveMove ModeMultiple CopyMultiple Copy ModeNNONENameName:Ne_wNetNet ModeNet endpointNet junctionNet pinNetsNewNew PageNew WindowNew Window created [%s] New fileNew file [%s] New page created [%s] New slot number out of range No '*' or '?' given at the end of the autonumber text. No documentation foundNo print destination specified No searchstring given in autonumber text. OFFObject already locked Object already unlocked Object color:Object ~A is not directly included in a page.Object ~A is not included in the current gschem page.Offset to translate? (0 for origin)OpenOpen Page...Open Recen_tOpen file...Open...Orientation:Output backgroundOutput paper size:Overwrite existing numbersOverwrite file?Page ManagerPanPan ModePan/CancelPaste %d ModePaste 1Paste 2Paste 3Paste 4Paste 5Paste from 1Paste from 2Paste from 3Paste from 4Paste from 5Paste from clipboardPhantomPickPictu_re...PicturePicture ModePinPin ModePin typePitch 1:Pitch 2:Popup_menu_item_factory doesn't exist! PortraitPreviewPreview BufferPrint...Printed current schematic to [%s] PromoteRead init scm file [%s] Really revert page?RedoRedo last undoRemove numbersRepeat/Repeat/noneReplace existing attributesResnap ActiveRight click on the filename for more options...Right to leftRotateRotate 90 ModeRotate ModeRubber band OFF Rubber band ON S_elect the schematics you want to save:SaveSave AllSave PageSave _As...Save as...Save cancelled on user request Save fileSave the changes to schematic "%s" before closing?SavedSaved AllSaved [%s] Saved as [%s] Scale _down Grid SpacingScale _up Grid SpacingSchematicsSchematics and symbolsScreenSearch for:Searching for source [%s] Searching for symbol [%s] SelectSelect AllSelect Component...Select ModeSelect PostScript Filename...Select modeSelect objs firstSelected objectsSelectionSettingsShow HiddenShow Name & ValueShow Name OnlyShow Name onlyShow TextShow Value OnlyShow Value onlyShow _BothShow _Coord Window...Show _Log Window...Show _NameShow _ValueShow inherited attributesShow text starting with:Show/Hide Inv TextShowBShowHiddenShowNShowVSingle Attribute EditorSize:Skip numbers found in:SlotSlot attribute malformed Slot...Slotting not allowed for this component Snap Grid S_pacing...Snap OFF (CAUTION!) Snap ON Snap OffSnap SizeSnap back to the grid (CAUTION!) SolidSorry but this is a non-functioning menu option Sort order:Start Angle:Starting number:StatusStrokeSymbol Translate...Symbol is not a real file. Symbol cannot be loaded. SymbolsTextText Entry...Text ModeText SizeText to find:The operating system is out of memory or resources.The selected file `%s' already exists. Would you like to overwrite it?There are %d schematics with unsaved changes. Save changes before closing?There was the following error when saving image with type %s to filename: %s %s. This is free software, and you are welcome to redistribute it under certain This is the MINGW32 port. Toggle Net _RubberbandToggle _Magnetic NetToggle _Outline/BoxToggle _Snap On/OffTop to bottomTranslateTranslating schematic [%d %d] Tried to add more than two bus rippers. Internal gschem error. Tried to get an invalid color: %d Tried to get an invalid outline color: %d Tried to set the sensitivity on a non-existent popup menu_item Tried to set the sensitivity on non-existent menu item '%s' Type:UndoUndo last operationUndo/Redo disabled in rc file UnembedUnembed Component/PictureUnknownUnknown end for line (%d) Unknown type for box (fill)! Unknown type for circle (fill)! Unknown type for path (fill)! Unknown type for stroke (%d) ! UnlockUpdateUpdate ComponentUpper LeftUpper MiddleUpper RightUsage: %s [OPTION ...] [--] [FILE ...] Interactively edit gEDA schematics or symbols. If one or more FILEs are specified, open them for editing; otherwise, create a new, empty schematic. Options: -q, --quiet Quiet mode. -v, --verbose Verbose mode. -r, --config-file=FILE Additional configuration file to load. -L DIR Add DIR to Scheme search path. -c EXPR Scheme expression to run at startup. -s FILE Scheme script to run at startup. -o, --output=FILE Output filename (for printing). -p Automatically place the window. -V, --version Show version information. -h, --help Help; this message. -- Treat all remaining arguments as filenames. Report bugs at gEDA/gaf homepage: VValueValue:Vis?VisToggleVisibleWARNING: Do not translate with snap off! WARNING: If you are translating a symbol to the origin, the snap grid size should be set to 100 WARNING: Snap grid size is not equal to 100! WARNING: Turning snap on and continuing with translate. Warning: Ending net at off grid coordinate Warning: Starting net at off grid coordinate Whole hierarchyWidth x HeightWidth:WorldWrite _image...Write image...Wrote black and white image to [%s] [%d x %d] Wrote color image to [%s] [%d x %d] You must set the GEDADATA environment variable! gschem cannot locate its data files. You must set the GEDADATA environment variable to point to the correct location. Zoom BoxZoom _BoxZoom _ExtentsZoom _FullZoom _InZoom _OutZoom boxZoom too small! Cannot zoom further. _About..._Add_Attach_Attribute..._Box_Buffer_Close_Close Window_Close without saving_Component..._Copy_Dark color scheme_Delete_Detach_Discard_Down Schematic_Edit_File_Find Specific Text..._Help_Hide Specific Text..._Hotkeys..._Light color scheme_Line_Manager..._Net_New_Next_Open..._Options_Page_Pan_Paste_Pin_Previous_Print..._Quit_Redo_Redraw_Revert_Save_Show Specific Text..._Text Size..._Text..._Toggle Visibility_Undo_Up_Viewblackconditions; please see the COPYING file for more details. descend into hierarchyduplicate slot may cause problems: [symbolname=%s, number=%d, slot=%d] gEDA %s (g%.7s) Copyright (C) 1998-2012 gEDA developers This is free software, and you are welcome to redistribute it under certain conditions. For details, see the file `COPYING', which is included in the gEDA distribution. There is NO WARRANTY, to the extent permitted by law. gEDA Docu_mentation...gEDA Schematic EditorgEDA _Wiki...gEDA/gschem comes with ABSOLUTELY NO WARRANTY; see COPYING for more details. gEDA/gschem version %s%s.%s gschem _FAQ...magnetic net mode: OFF magnetic net mode: ON nonenumslots attribute missing o_autosave_backups: Can't get the real filename of %s.o_buffer_copy: Invalid buffer %i o_buffer_cut: Invalid buffer %i slotted object without slot attribute may cause problems when autonumbering slots whitex_image_lowlevel: Unable to get pixbuf from gschem's window. x_image_lowlevel: Unable to write %s file %s. x_image_lowlevel: Unable to write eps file %s. ~S is not a prefix key sequence.~S is not a valid key combination.Project-Id-Version: fr_FR Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-10-28 15:46+0000 Last-Translator: Penegal Language-Team: gEDA developers Language: fr MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) %s Le journal gschem pourrait contenir plus d'informations.%s (g%.7s)%s n'a pas pu lancer l'URI** UTF-8 invalide dans le message de log. Regardez stderr ou gschem.log. *inchangé*/Ajouter un attribut.../Ajouter un bus/Ajouter un composant.../Ajouter une piste/Ajouter du texte/Copier/Supprimer/Descendre dans le schéma/Descendre dans le symbole/Édition de type de broche.../Éditer.../Déplacer/Sélectionner/Remonter/Zoom boîte/Agrandissement auto/Zoom avant/Zoom arrièreAjouter un attributUne erreur est survenue lors du chargement du fichier demandé. Le chargement de '%s' a échoué: %s. Le journal gschem pourrait contenir plus d'informations.Options d'attacheÉditer un attributSchéma du presse-papier invalide. Une erreur est survenue lors de l'insertion du contenu du presse-papier: %s.OptionsPortéeTextePropriétés du texteL'entrée d'attribut "%s" est invalide Veuillez corriger pour continuer Le nom et la valeur ne peuvent être vides. Le nom ne peut se terminer par un espace. La valeur ne peut débuter avec un espace.A_rc de cercleA_ttributsA_nnotation automatiqueÀ propos de gschemActionMode de retour utilisateur positionné à BOUNDINGBOX Mode de retour utilisateur positionné à OUTLINE Ajouter un attributAjouter du texte...Mode ajout de bus Clic droit pour annulerAjout de composant... Sélectionnez la bibliothèque et le composant dans la liste, déplacez le pointeur dans la fenêtre principale. Clic gauche pour placer, clic droit pour annuler.Mode ajout de piste Clic droit pour annulerAlignement du texte :Tous* - Tous fichiersUne erreur inconnue a eu lieu lors du chargement des fichiers de configuration. Le journal de gschem pourrait contenir plus d'informations.Angle1 :Angle2 :ArcMode Arc de cercleParamètres d'arcRayon de l'Arc:AttacherAttributAttributsLes attributs sans nom sont interdits. Donnez un nom.Slotting automatiqueAnnotation automatiqueAnnoter automatiquement :Mode N/_BB_usArrière-plande bas en hautBoîte englobanteCadreMode CadreBusMode BusBroche de bus (graphique)Bus ripper symbol [%s] n'a été trouvé dans aucune librairie de composants C_ercleImpossible de trouver des schémas au-dessus de celui-ci! Impossible de trouver source [%s] Impossible de charger la configuration de gschem.Impossible d'imprimer le schéma en cours dans [%s] CentréModifiéCercleMode CercleÉchec de l'insertion du contenu copiéFermer la pageFermeture de la fenêtre Ferme [%s] CouleurSélecteur de couleurCouleur...Couleur :Commande :ComposantDocumentation du composantMode ComposantComposantsCoordonnéesCopierCopier 1Copier 2Copier 3Copier 4Copier 5Mode CopieCopier dans 1Copier dans 2Copier dans 3Copier dans 4Copier dans 5Copier vers le presse-papierCopyright © 1998-2012 Ales Hvezda Copyright © 1998-2012 gEDA Contributors (reportez-vous au fichier CHANGELOG pour plus de détails)Échec lors de la création de la copie de sauvegarde [%s] Échec sauvegarde de la page [%s] Impossible de passer le fichier copie de sauvegarde [%s] en lecture seule Impossible de passer le fichier copie de sauvegarde [%s] en lecture/écriture Impossible d'allouer la couleur affichée %i! Impossible d'allouer la couleur de contour %i! Impossible d'allouer la couleur %s ! Impossible de trouver le symbole [%s] dans la bibliothèque. Échec de la mise à jour. Impossible de lancer l'URI ~S: ~AAllocation gc impossible Impossible de trouver le fichier scm d'init [%s] Créer et éditer des schémas électriques et des symboles avec gschemCo_uperVue en coursLocale en cours : %s la page en coursCouper 1Couper 2Couper 3Couper 4Couper 5Couper dans 1Couper dans 2Couper dans 3Couper dans 4Couper dans 5Coupe la sélection dans le presse-papierCycle styles de _grillesIncapable de déterminer le whichone de l'object ! D_ocumentation...Longueur du tiret :Espace entre tirets :TiretsComportement par défaut - référencer le composantBalayage :SupprimerDé-sélectionnerDestinationDétacherAttribut détachéen diagonalAbandonner la pageAbandonne page [%s] Grille à points sélectionnée PointillésPar _SymbolClonerERREUR : %s ERREUR: Une erreur inconnue a eu lieu lors du chargement des fichiers de configuration. ERREUR : object==NULL dans color_edit_dialog_apply ! ERREUR : object==NULL dans o_move_end ! ERREUR : object==NULL ! ÉditionÉditeur d'attributsÉditer le type de remplissageÉpaisseur et type de ligneÉditer le texteEditer les propriétés du texteÉditer le texte...Édition du type de brocheNuméro de slotNuméro de slot :ÉditerEmbarquerEmbarquer le composant/l'imageEmbarquer le composant dans le schémaTampon videPostScript encapsuléEntrez le nouvel espacement de la grille de snap :Entrez la nouvelle taille de texte :Entrez le texte, cliquez sur appliquer, déplacez le curseur dans la fenêtre, cliquez pour placer le texte. Bouton du milieu pour pivoter le texte avant placement.Erreur pendant l'impression du fichier '%s' Reportez-vous à la fenêtre des messages pour plus de détailsErreur lors de la tentative de sauvegardeÉvaluer :Exécuter le script...Exécution du script guile [%s] Totalité sans margeTotalité avec margesÉchec de la sauvegarde de toutes les pagesÉchec lors du chargement du fichierÉchec lors du chargement de l'image : %sÉchec de la lecture du fichier scm de démarrage [%s] Impossible de remplacer les images: %sImpossible d'enregistrer le fichierdans l'ordre des éléments du fichierFichier :Nom de fichierType de remplissage...Type de remplissage :PleinFiltre:Recherche de texteFonctionL'objet passé n'est pas une ligne dans o_move_check_endpoint Valeur de buffer_number incorrecte [o_buffer_paste_start] Vous avez une erreur dont une danso_bus_draw_stretch Vous avez une erreur dont une dans o_net_draw_stretch o_current==NULL dans o_edit() Option d'affichage invalide ; changement pour affichage du nom et de la valeur GraphiqueGrille OFF Point de grilleGrille(%s,%s)RayuresLe texte normalement caché est maintenant invisible Le texte normalement caché est maintenant visible Cacher le texteCacher le texte commençant par :Hié_rarchieVideRaccourcisSi vous n'enregistrez pas, les modifications effectuées seront définitivement perdues.Type d'imageEn cours d'utilisationÉclater le composant en objets individuelsAttribut invalideTaille de point [%d] invalide passé à dots-grid-dot-size Gain [%d] passé à keyboardpan-gain invalide Gain [%d] passé à mousepan-gain invalide Gain [%d] invalide passé à zoom-gain Nombre de niveaux [%d] passé à undo-levels invalide Nombre [%d] de pixels invalides passés à select-slack-pixels Nombre de secondes [%d] passé  auto-save-interval invalide Nombre d'étapes [%d] scrollpan-steps invalide Offset [%d] passé à add-attribute-offset invalide Espace de pixel [%d] invalide passé à dots-grid-fixed-threshold Espacement [%d] de pixel invalide passé à mesh-grid-display-threshold Taille [%d] passée à bus-ripper-size invalide Taille [%d] passée à snap-size invalide Taille [%d] passée à text-size invalide Alignement du paragraphe invalide ~A.Agrandissement [%d] passé à %s invalide Lancer une MacroTouche(s)Paysagede gauche à droiteBibliothèquesLigneMode LigneÉpaisseur & type de ligne...Épaisseur :Chargement du schéma [%s] VerrouillerBulle logiqueEn bas à gaucheEn bas au milieuEn bas à droiteMode Piste MagnétiqueMenu/AnnulerQuadrillageMaille de la grille principaleMaille de la grille secondaireGrille à mailles sélectionnée Au milieu à gaucheAu centreAu milieu à droiteMiroirMode MiroirDéplacerMode DéplacementCopie MultipleMode Copie MultipleNAUCUNNomNom :_NouvellePisteMode PistePoint d'arrêt de la liaisonJonction de liaisonBroche de liaisonPistesNouvelleNouvelle pageNouvelle fenêtreNouvelle création de fenêtre [%s] Nouveau fichierNouveau fichier [%s] Nouvelle page [%s] créée Nouvelle valeur de slot hors plage Pas de caractère '*' ou '?' à la fin du motif de recherche pour annotation automatique. Aucune documentation trouvéeDestination pour l'impression non spécifiée Pas de motif de recherche fourni pour l'annotation automatique. OFFObjet déjà verrouillé Objet déjà déverrouillé Couleur de l'objet :L'objet ~A n'est inclus directement par aucune page.L'objet ~A n'est pas inclus dans la page gschem courante.Cible pour translation ? (0 pour translation à l'origine)OuvrirOuvrir une page..._Récemment ouvertsOuvrir fichier...Ouvrir...Orientation :Arrière-plan de sortieTaille de papier :Remplacer les annotations existantesÉcraser le fichier ?Gestionnaire de pagesPanoramiqueMode PanoramiquePanoramique/AnnulerMode Coller %dColler 1Coller 2Coller 3Coller 4Coller 5Coller depuis 1Coller depuis 2Coller depuis 3Coller depuis 4Coller depuis 5Coller depuis le presse-papiersFantômePrendre_ImageImageMode ImageBrocheMode BrocheType de brocheÉcart1 :Écart2 :Popup_menu_item_factory n'existe pas ! PortraitPrévisualisationPrévisualisation du tamponImprimer...Schéma en cours imprimé dans fichier [%s] PromouvoirLecture du fichier scm de démarrage [%s] Abandonner les modifications ?RefaireRefaire le dernier défaitSupprimer les annotationsRépéterRépéter/aucunRemplacer les attributs existantsResnap ActifUtilisez le clic droit sur le nom de fichier pour plus d'options...de droite à gauchePivoterMode Rotation 90Mode RotationMode piste élastique : OFF Mode piste élastique : ON _Sélectionnez les schémas que vous souhaitez enregistrer :EnregistrerEnregistrer toutes les pagesEnregistrer la pageEnregistrer _sous...Enregistrer sous...Sauvegarde annulée sur demande de l'utilisateur Enregistrer le fichierVoulez-vous enregistrer les modifications dans le schéma "%s" avant de le fermer ?EnregistrerToutes les pages enregistréesEnregistrer [%s] Enregistré sous [%s] _Diminuer l'espacement de la grile_Augmenter l'espacement de la grillesch - Schémassym/sch - Schémas et symbolesÉcranMotif de recherche :Recherche de source [%s] Recherche du symbole [%s] SélectionnerSélectionner toutSélecteur de composant...Mode SélectionEnregistrer en PostScript sous...Mode sélectionSélectionnez d'abord des objetsles objets sélectionnésSélectionConfigurationMontrer cachéMontrer le nom et la valeurMontrer seulement le nomMontrer seulement le nomMontrer le texteMontrer seulement la valeurMontrer seulement la valeurAfficher les _deuxAfficher les _coordonnéesAfficher le _journal des messagesAfficher le _nomAfficher la _valeurMontrer les attributs héritésMontrer le texte commençant par :Afficher/Cacher le texte invisibleMontrerNVAfficheCachéMontrerNMontrerVÉditeur d'attributTaille :Passer les nombres trouvés dans :SlotAttribut slot mal formé Slot...Le slotting n'est pas supporté par ce composant Espacement de le grille de Snap...Snap OFF (ATTENTION) Snap ON Snap OffGrille de snapRetour brusque à la grille (ATTENTION!) ContinuDésolé mais c'est une option de menu non fonctionnelle Ordre :Angle de départ :Indice de départ :MessagesTraitTranslater le symbole...Le symbole n'est pas un fichier réel. Il ne peut pas être chargé. sym - SymbolesTexteAjout de texte...Mode TexteTaille de texte :Texte à rechercher :Le système d'exploitation n'a plus assez de mémoire ou de ressources.Le fichier sélectionné `%s' existe déjà. Voulez-vous l'écraser?Il y a %d schémas avec des modifications non sauvegardées. Les sauvegarder avant de fermer?L'erreur suivante a été rencontrée lors de la sauvegarde de l'image avec le type %s vers le nom de fichier: %s %s. Ceci est un logiciel libre et vous êtes invité à le redistribuer en respectant Ceci est le portage sous MINGW32 Piste é_lastique On/OffPiste _magnétique On/OffBasculer vers _Aperçu/ZoneBasculer _Snap On/Offde haut en basTranslaterTranslation du schéma [%d %d] Tentative d'ajout de plus de deux jonctions de bus. Erreur interne gschem. Tentative d'obtention d'une couleur invalide : %d Essai d'un couleur de bordure invalide: %d Tentative de rendre sensible un élément de menu contextuel inexistant Tentative de valider la sensibilité ou un menu inexistant d'un objet '%s' Type :DéfaireDéfaire la dernière opérationOpérations Défaire/Refaire désactivées dans fichier rc DébarquerDébarquer le composant/l'imageInconnuExtrémité de ligne inconnue (%d) Type de remplissage de cadre inconnu ! Type de remplissage pour cercle inconnu ! Type de chemin inconnu (à remplir)! Type de ligne inconnue (%d) ! DéverrouillerMettre à jourMise à jour du composantEn haut à gaucheEn haut au milieuEn haut à droiteUsage: %s [OPTION ...] [--] [FICHIER ...] Éditer de façon interactive un schéma ou des symboles gEDA. Si un FICHIER ou plus sont spécifiés, les ouvrir pour édition; sinon, créer un nouveau schéma vide. Options: -q, --quiet Mode silencieux. -v, --verbose Mode bavard. -r, --config-file=FICHIER Fichier de configuration additionnelle à charger. -L RÉP Ajouter RÉP au chemin de recherche du schéma. -c EXPR Expression de schéma à charger au démarrage. -s FICHIER Script de schéma à lancer au démarrage. -o, --output=FICHIER Fichier de résultat (pour impression). -p Placer la fenêtre automatiquement. -V, --version Afficher la version. -h, --help Aide; ce message. -- Traiter les arguments restants comme des noms de fichier. En cas de bug, prévenir Page d'accueil gEDA/gaf: VValeurValeur :Vis?VisToggleVisibleATTENTION : ne translatez pas quand le snap est désactivé ! ATTENTION : si vous déplacez un symbole à l'origine, la taille de snap de la grille devrait être de 100 ! ATTENTION : la taille du snap sur la grille n'est pas égale à 100 ! ATTENTION : activation du snap et poursuite de la translation. Attention; Arrêt d'une liaison en-dehors des coordonnées de la grille Attention; Démarrage d'une liaison en-dehors des coordonnées de la grille la hiérarchie complèteLargeur x HauteurLargeur :MondeTracer l'imageTracer l'imageImage noire et blanche exportée dans fichier [%s] [%d x %d] Image couleur exportée dans fichier [%s] [%d x %d] Vous devez positionner la variable d'environnement GEDADATA! Zoom boîte_Zone de ZoomA_juster au mieuxZoom _CompletZoom a_vantZoom a_rrièreBoîte d'agrandissementAgrandissement maximum ! Impossible d'agrandir plus. À _propos..._Ajouter_Attacher_Attribut..._Cadre_Tampon_Fermer_Fermer la fenêtreFermer sans sa_uvegarder_Composant..._CopierCouleurs _foncé_Supprimer_Détacher_Abandonner_Par SchématiqueÉ_dition_Fichier_Rechercher le texte...Aid_e_Cacher le texte..._RaccourcisCouleurs _clairs_Ligne_Gestionnaire..._Piste_Nouveau_Suivant_Ouvrir..._Options_Page_DéplacerC_oller_Broche_Précédent_Imprimer..._Quitter_Rétablir_Redessiner_Rétablir_Enregistrer_Afficher le texte...Taille de _texte_Texte..._Inverser la visibilitéA_nnuler_Monter_Affichagenoircertaines obligations ; pour plus de détails reportez vous au fichier COPYING. descendre dans la hiérarchieLes slots dupliqués sont susceptibles de créer des problèmes : [symbolname=%s, number=%d, slot=%d] gEDA %s (g%.7s) Copyright (C) 1998-2012 gEDA developers Ceci est un logiciel libre, et vous êtes invité à le diffuser sous certaines conditions. Pour plus de détails, reportez-vous au fichier `COPYING', inclus dans la distribution gEDA. Il n'y a AUCUNE GARANTIE autre que celles prévues par la loi. gEDA Docu_mentation...Éditeur de schémas gEDAgEDA _Wiki...gEDA/gschem n'est accompagné d'ABSOLUMENT AUCUNE GARANTIE. gEDA/gschem version %s%s.%s gschem _FAQ...Mode Piste Magnétique : OFF Mode Piste Magnétique : ON aucunattribut numslots manquant o_autosave_backups() : Impossible de récupérer le véritable nom du fichier %so_buffer_copy: Tampon buffer %i invalide o_buffer_cut: Tampon buffer %i invalide Les objets à slots sans attribut de slot sont susceptibles de créer des problèmes durant l'annotation automatique blancx_image_lowlevel(): Impossible de récupérer le pixbuf depuis la fenêtre de gschem. x_image_lowlevel: Impossible d'écrire le %s fichier %s. Copy text x_image_lowlevel: Impossible d'écrire le fichier eps %s. ~S n'est pas un préfixe valide.~S n'est pas une combinaison de touches valide.geda-gaf-1.8.2/gschem/po/pl.po0000664000175000017500000017116412220655644012757 00000000000000# Polish translation for geda # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-02-04 00:18+0000\n" "Last-Translator: Krzysztof Kościuszkiewicz \n" "Language-Team: gEDA developers \n" "Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: gschem/src/a_zoom.c:212 msgid "Zoom too small! Cannot zoom further.\n" msgstr "Zbyt mały obszar! Osiągnięto maksymalny stopień powiększenia.\n" #: gschem/src/g_attrib.c:92 msgid "Object ~A is not included in the current gschem page." msgstr "Obiekt ~A nie występuje w bieżącym arkuszu." #: gschem/src/g_attrib.c:112 msgid "Invalid text name/value visibility ~A." msgstr "Nieprawidłowe ustawienie widoczności tekstu: ~A." #: gschem/src/g_rc.c:312 #, c-format msgid "Invalid zoomfactor [%d] passed to %s\n" msgstr "Nieprawidłowa skala powiększenia [%d] przekazana do funkcji %s\n" #: gschem/src/g_rc.c:458 #, c-format msgid "Invalid size [%d] passed to text-size\n" msgstr "Nieprawidłowy rozmiar [%d] przekazany do funkcji text-size\n" #: gschem/src/g_rc.c:501 #, c-format msgid "Invalid size [%d] passed to snap-size\n" msgstr "Nieprawidłowy rozmiar [%d] przekazany do funkcji snap-size\n" #: gschem/src/g_rc.c:958 #, c-format msgid "Invalid num levels [%d] passed to undo-levels\n" msgstr "Nieprawidłowa liczba poziomów [%d] przekazana do funkcji undo-levels\n" #: gschem/src/g_rc.c:1220 #, c-format msgid "Invalid size [%d] passed to bus-ripper-size\n" msgstr "Nieprawidłowy rozmiar [%d] przekazany do funkcji bus-ripper-size\n" #: gschem/src/g_rc.c:1295 #, c-format msgid "Invalid dot size [%d] passed to dots-grid-dot-size\n" msgstr "" "Nieprawidłowy rozmiar punktu [%d] przekazany do funkcji dots-grid-dot-size\n" #: gschem/src/g_rc.c:1336 #, c-format msgid "Invalid pixel spacing [%d] passed to dots-grid-fixed-threshold\n" msgstr "" "Nieprawidłowy odstęp pikseli [%d] przekazany do funkcji dots-grid-fixed-" "threshold\n" #: gschem/src/g_rc.c:1362 #, c-format msgid "Invalid pixel spacing [%d] passed to mesh-grid-display-threshold\n" msgstr "" "Nieprawidłowy odstęp pikseli [%d] przekazany do funkcji mesh-grid-display-" "threshold\n" #: gschem/src/g_rc.c:1387 #, c-format msgid "Invalid offset [%d] passed to add-attribute-offset\n" msgstr "Nieprawidłowy offset [%d] przekazany do funkcji add-attribute-offset\n" #: gschem/src/g_rc.c:1411 #, c-format msgid "Invalid number of seconds [%d] passed to auto-save-interval\n" msgstr "" "Nieprawidłowa liczba sekund [%d] przekazana do funkcji auto-save-interval\n" #: gschem/src/g_rc.c:1435 #, c-format msgid "Invalid gain [%d] passed to mousepan-gain\n" msgstr "Nieprawidłowa wartość [%d] przekazana do funkcji mousepan-gain\n" #: gschem/src/g_rc.c:1458 #, c-format msgid "Invalid gain [%d] passed to keyboardpan-gain\n" msgstr "Nieprawidłowa wartość [%d] przekazana do funkcji keyboardpan-gain\n" #: gschem/src/g_rc.c:1505 #, c-format msgid "Invalid number of pixels [%d] passed to select-slack-pixels\n" msgstr "" "Nieprawidłowa ilość pikseli [%d] przekazana do funkcji select-slack-pixels\n" #: gschem/src/g_rc.c:1531 #, c-format msgid "Invalid gain [%d] passed to zoom-gain\n" msgstr "Nieprawidłowa wartość [%d] przekazana do funkcji zoom-gain\n" #: gschem/src/g_rc.c:1556 #, c-format msgid "Invalid number of steps [%d] scrollpan-steps\n" msgstr "Niepoprawna liczba kroków [%d] w funkcji scrollpan-steps\n" #: gschem/src/g_select.c:79 gschem/src/g_select.c:116 #: gschem/src/g_select.c:152 msgid "Object ~A is not directly included in a page." msgstr "Obiekt ~A nie jest przypisany do arkusza" #: gschem/src/g_util.c:56 msgid "Could not launch URI ~S: ~A" msgstr "Nie można otworzyć adresu URI ~S: ~A" #: gschem/src/g_window.c:136 msgid "Found invalid gschem window smob ~S" msgstr "Nieprawidłowy obiekt reprezentujący okno gschem: ~S" #: gschem/src/gschem.c:175 #, c-format msgid "gEDA/gschem version %s%s.%s\n" msgstr "gEDA/gschem, wersja %s%s.%s\n" #: gschem/src/gschem.c:178 msgid "" "gEDA/gschem comes with ABSOLUTELY NO WARRANTY; see COPYING for more " "details.\n" msgstr "" "Autorzy gEDA/gschem nie udzielają ŻADNYCH gwarancji; szczegóły (w języku " "angielskim) w pliku o nazwie COPYING .\n" #: gschem/src/gschem.c:180 msgid "" "This is free software, and you are welcome to redistribute it under certain\n" msgstr "" "Ten program jest dostępny jako wolne oprogramowanie, można go rozprowadzać\n" #: gschem/src/gschem.c:182 msgid "" "conditions; please see the COPYING file for more details.\n" "\n" msgstr "" "pod pewnymi warunkami. Szczegóły (w języku angielskim) znajdują się w pliku " "COPYING.\n" "\n" #: gschem/src/gschem.c:185 #, c-format msgid "This is the MINGW32 port.\n" msgstr "Ta wersja programu została skompilowana na MINGW32.\n" #: gschem/src/gschem.c:189 #, c-format msgid "Current locale settings: %s\n" msgstr "Bieżące ustawienia lokalizacji: %s\n" #: gschem/src/gschem.c:211 msgid "" "You must set the GEDADATA environment variable!\n" "\n" "gschem cannot locate its data files. You must set the GEDADATA\n" "environment variable to point to the correct location.\n" msgstr "" "Wymagane ustawienie wartości zmiennej środowiskowej GEDADATA!\n" "\n" "gschem nie może odnaleźć plików z danymi. Należy wskazać lokalizację\n" "plików poprzez zmienną środowiskową GEDADATA.\n" #: gschem/src/gschem.c:248 #, c-format msgid "Couldn't find init scm file [%s]\n" msgstr "Nie znaleziono pliku inicjalizacyjnego scm [%s]\n" #: gschem/src/gschem.c:252 #, c-format msgid "Read init scm file [%s]\n" msgstr "Wczytano plik inicjalizacji scm [%s]\n" #: gschem/src/gschem.c:256 #, c-format msgid "Failed to read init scm file [%s]\n" msgstr "Błąd podczas wczytywania pliku inicjalizacji scm [%s]\n" #: gschem/src/gschem_cairo.c:310 #, c-format msgid "Unknown end for line (%d)\n" msgstr "Nieznany koniec dla linii (%d)\n" #: gschem/src/gschem_cairo.c:318 #, c-format msgid "Unknown type for stroke (%d) !\n" msgstr "Niepoprawny styl linii (%d) !\n" #: gschem/src/gschem_pango.c:289 msgid "cairo context" msgstr "kontekst cairo" #: gschem/src/gschem_pango.c:290 msgid "the cairo context for the renderer" msgstr "kontekst cairo do renderowania" #: gschem/src/i_basic.c:77 gschem/src/x_window.c:524 #: gschem/lib/system-gschemrc.scm:1399 msgid "Select Mode" msgstr "Tryb zaznaczania" #: gschem/src/i_basic.c:79 msgid "Component Mode" msgstr "Tryb elementów" #: gschem/src/i_basic.c:81 msgid "Text Mode" msgstr "Tryb tekstu" #: gschem/src/i_basic.c:84 gschem/lib/system-gschemrc.scm:1402 msgid "Copy Mode" msgstr "Tryb kopiowania" #: gschem/src/i_basic.c:87 gschem/lib/system-gschemrc.scm:1404 msgid "Move Mode" msgstr "Tryb przesuwania" #: gschem/src/i_basic.c:89 msgid "Rotate Mode" msgstr "Tryb obrotu" #: gschem/src/i_basic.c:91 gschem/lib/system-gschemrc.scm:1406 msgid "Mirror Mode" msgstr "Tryb odbijania" #: gschem/src/i_basic.c:95 msgid "Zoom Box" msgstr "Dopasuj do fragmentu" #: gschem/src/i_basic.c:99 msgid "Pan Mode" msgstr "Tryb przesuwania widoku" #: gschem/src/i_basic.c:103 #, c-format msgid "Paste %d Mode" msgstr "Tryb wklejania z bufora %d" #: gschem/src/i_basic.c:109 msgid "Magnetic Net Mode" msgstr "Tryb \"magnetycznych\" połączeń" #: gschem/src/i_basic.c:111 msgid "Net Mode" msgstr "Tryb połączeń" #: gschem/src/i_basic.c:115 msgid "Bus Mode" msgstr "Tryb magistrali" #: gschem/src/i_basic.c:118 msgid "Line Mode" msgstr "Tryb linii" #: gschem/src/i_basic.c:121 msgid "Box Mode" msgstr "Tryb prostokątów" #: gschem/src/i_basic.c:124 msgid "Picture Mode" msgstr "Tryb obrazów" #: gschem/src/i_basic.c:127 msgid "Circle Mode" msgstr "Tryb okręgów" #: gschem/src/i_basic.c:130 msgid "Arc Mode" msgstr "Tryb łuków" #: gschem/src/i_basic.c:133 msgid "Pin Mode" msgstr "Tryb pinów" #: gschem/src/i_basic.c:135 gschem/src/i_callbacks.c:529 #: gschem/src/i_callbacks.c:553 msgid "Copy" msgstr "Kopiuj" #: gschem/src/i_basic.c:137 gschem/src/i_callbacks.c:619 #: gschem/src/i_callbacks.c:643 msgid "Move" msgstr "Przesuń" #: gschem/src/i_basic.c:139 gschem/src/i_callbacks.c:574 #: gschem/src/i_callbacks.c:598 msgid "Multiple Copy" msgstr "Kopiuj wielokrotnie" #: gschem/src/i_basic.c:142 gschem/lib/system-gschemrc.scm:1403 msgid "Multiple Copy Mode" msgstr "Duplikuj wielokrotnie" #: gschem/src/i_basic.c:168 msgid "Show Hidden" msgstr "Pokaż ukryte" #: gschem/src/i_basic.c:171 msgid "Snap Off" msgstr "Wyłącz przyciąganie" #: gschem/src/i_basic.c:173 msgid "Resnap Active" msgstr "" #: gschem/src/i_basic.c:254 gschem/src/x_window.c:498 msgid "Action" msgstr "Czynność" #: gschem/src/i_basic.c:260 gschem/src/x_dialog.c:2325 #: gschem/src/x_window.c:493 msgid "Stroke" msgstr "Gest" #: gschem/src/i_basic.c:266 gschem/src/x_window.c:495 msgid "none" msgstr "brak" #: gschem/src/i_basic.c:271 msgid "Repeat/" msgstr "Powtórz/" #: gschem/src/i_basic.c:566 gschem/src/i_basic.c:580 msgid "OFF" msgstr "WYŁĄCZONE" #: gschem/src/i_basic.c:584 msgid "NONE" msgstr "BRAK" #: gschem/src/i_basic.c:589 #, c-format msgid "Grid(%s, %s)" msgstr "Siatka(%s, %s)" #: gschem/src/i_callbacks.c:76 gschem/src/i_callbacks.c:1659 #, c-format msgid "New page created [%s]\n" msgstr "Utworzono nowy arkusz [%s]\n" #: gschem/src/i_callbacks.c:124 #, c-format msgid "New Window created [%s]\n" msgstr "Utworzono nowe okno [%s]\n" #: gschem/src/i_callbacks.c:242 msgid "Failed to Save All" msgstr "Zapisanie wszystkich dokumentów nie powiodło się" #: gschem/src/i_callbacks.c:244 msgid "Saved All" msgstr "Zapisano wszystkie dokumenty" #: gschem/src/i_callbacks.c:334 msgid "Closing Window\n" msgstr "Zamykanie okna\n" #: gschem/src/i_callbacks.c:534 gschem/src/i_callbacks.c:579 #: gschem/src/i_callbacks.c:624 msgid "Select objs first" msgstr "Wpierw wybierz obiekty" #: gschem/src/i_callbacks.c:663 gschem/src/x_multiattrib.c:1549 msgid "Delete" msgstr "Usuń" #: gschem/src/i_callbacks.c:688 msgid "Edit" msgstr "Edycja" #: gschem/src/i_callbacks.c:703 msgid "Edit pin type" msgstr "Edytuj rodzaj pinu" #: gschem/src/i_callbacks.c:722 msgid "Edit Text" msgstr "Edytuj tekst" #: gschem/src/i_callbacks.c:745 msgid "Slot" msgstr "Slot" #: gschem/src/i_callbacks.c:762 msgid "Color" msgstr "Kolor" #: gschem/src/i_callbacks.c:799 gschem/src/i_callbacks.c:844 msgid "Rotate" msgstr "Obróć" #: gschem/src/i_callbacks.c:866 gschem/src/i_callbacks.c:891 msgid "Mirror" msgstr "Lustrzane odbicie" #: gschem/src/i_callbacks.c:912 gschem/src/x_dialog.c:2328 #: gschem/lib/system-gschemrc.scm:1415 msgid "Lock" msgstr "Zablokuj" #: gschem/src/i_callbacks.c:930 gschem/lib/system-gschemrc.scm:1416 msgid "Unlock" msgstr "Odblokuj" #: gschem/src/i_callbacks.c:948 gschem/src/x_dialog.c:1746 msgid "Translate" msgstr "Tłumacz" #: gschem/src/i_callbacks.c:951 msgid "WARNING: Do not translate with snap off!\n" msgstr "" #: gschem/src/i_callbacks.c:952 msgid "WARNING: Turning snap on and continuing with translate.\n" msgstr "" #: gschem/src/i_callbacks.c:959 msgid "WARNING: Snap grid size is not equal to 100!\n" msgstr "UWAGA: Rozmiar siatki przyciągania jest inny niż 100!\n" #: gschem/src/i_callbacks.c:961 msgid "" "WARNING: If you are translating a symbol to the origin, the snap grid size " "should be set to 100\n" msgstr "" #: gschem/src/i_callbacks.c:992 msgid "Embed" msgstr "Osadź" #: gschem/src/i_callbacks.c:1031 msgid "Unembed" msgstr "Cofnij osadzanie" #: gschem/src/i_callbacks.c:1073 msgid "Update" msgstr "Aktualizuj" #: gschem/src/i_callbacks.c:1120 msgid "ShowHidden" msgstr "Wyśw. ukryte" #: gschem/src/i_callbacks.c:1426 gschem/src/i_callbacks.c:1498 msgid "Pan" msgstr "Przesuń widok" #: gschem/src/i_callbacks.c:1703 msgid "Really revert page?" msgstr "Czy na pewno przywrócić arkusz?" #: gschem/src/i_callbacks.c:1773 msgid "Copy to clipboard" msgstr "Kopiuj do schowka" #: gschem/src/i_callbacks.c:1791 msgid "Cut to clipboard" msgstr "Wytnij do schowka" #: gschem/src/i_callbacks.c:1809 msgid "Paste from clipboard" msgstr "Wklej ze schowka" #: gschem/src/i_callbacks.c:1821 gschem/src/i_callbacks.c:2060 #: gschem/src/i_callbacks.c:2082 gschem/src/i_callbacks.c:2104 #: gschem/src/i_callbacks.c:2126 gschem/src/i_callbacks.c:2148 msgid "Empty buffer" msgstr "Schowek jest pusty" #: gschem/src/i_callbacks.c:1866 msgid "Copy 1" msgstr "Kopiuj do 1" #: gschem/src/i_callbacks.c:1885 msgid "Copy 2" msgstr "Kopiuj do 2" #: gschem/src/i_callbacks.c:1904 msgid "Copy 3" msgstr "Kopiuj do 3" #: gschem/src/i_callbacks.c:1923 msgid "Copy 4" msgstr "Kopiuj do 4" #: gschem/src/i_callbacks.c:1942 msgid "Copy 5" msgstr "Kopiuj do 5" #: gschem/src/i_callbacks.c:1961 msgid "Cut 1" msgstr "Wytnij do 1" #: gschem/src/i_callbacks.c:1980 msgid "Cut 2" msgstr "Wytnij do 2" #: gschem/src/i_callbacks.c:1999 msgid "Cut 3" msgstr "Wytnij do 3" #: gschem/src/i_callbacks.c:2018 msgid "Cut 4" msgstr "Wytnij do 4" #: gschem/src/i_callbacks.c:2037 msgid "Cut 5" msgstr "Wytnij do 5" #: gschem/src/i_callbacks.c:2053 msgid "Paste 1" msgstr "Wklej z 1" #: gschem/src/i_callbacks.c:2075 msgid "Paste 2" msgstr "Wklej z 2" #: gschem/src/i_callbacks.c:2097 msgid "Paste 3" msgstr "Wklej z 3" #: gschem/src/i_callbacks.c:2119 msgid "Paste 4" msgstr "Wklej z 4" #: gschem/src/i_callbacks.c:2141 msgid "Paste 5" msgstr "Wklej z 5" #: gschem/src/i_callbacks.c:2278 gschem/src/x_window.c:359 msgid "Component" msgstr "Element" #: gschem/src/i_callbacks.c:2314 gschem/src/i_callbacks.c:2333 #: gschem/src/x_dialog.c:2298 msgid "Attribute" msgstr "Atrybut" #: gschem/src/i_callbacks.c:2355 gschem/src/i_callbacks.c:2382 #: gschem/src/x_dialog.c:2295 msgid "Net" msgstr "Połączenie" #: gschem/src/i_callbacks.c:2426 gschem/src/i_callbacks.c:2453 #: gschem/src/x_dialog.c:2313 gschem/src/x_window.c:379 msgid "Bus" msgstr "Magistralę" #: gschem/src/i_callbacks.c:2534 gschem/src/i_callbacks.c:2557 msgid "Line" msgstr "Linię" #: gschem/src/i_callbacks.c:2579 gschem/src/i_callbacks.c:2602 msgid "Box" msgstr "Prostokąt" #: gschem/src/i_callbacks.c:2658 gschem/src/i_callbacks.c:2682 msgid "Circle" msgstr "Okrąg" #: gschem/src/i_callbacks.c:2704 gschem/src/i_callbacks.c:2727 msgid "Arc" msgstr "Łuk" #: gschem/src/i_callbacks.c:2749 gschem/src/i_callbacks.c:2772 #: gschem/src/x_dialog.c:2286 msgid "Pin" msgstr "Pin" #: gschem/src/i_callbacks.c:2831 #, c-format msgid "Searching for source [%s]\n" msgstr "Szukam źródła [%s]\n" #: gschem/src/i_callbacks.c:2855 #, c-format msgid "Cannot find source [%s]\n" msgstr "Nie można odnaleźć źródła [%s]\n" #: gschem/src/i_callbacks.c:2918 #, c-format msgid "Searching for symbol [%s]\n" msgstr "Szukam symbolu [%s]\n" #: gschem/src/i_callbacks.c:2924 msgid "Symbol is not a real file. Symbol cannot be loaded.\n" msgstr "Symbol nie jest plikiem. Nie można wczytać symbolu.\n" #: gschem/src/i_callbacks.c:2955 msgid "Cannot find any schematics above the current one!\n" msgstr "Nie znaleziono żadnego schematu wyżej w hierarchii!\n" #: gschem/src/i_callbacks.c:2985 msgid "Attach" msgstr "Dołącz" #: gschem/src/i_callbacks.c:3041 msgid "Detach" msgstr "Odłącz" #: gschem/src/i_callbacks.c:3085 msgid "ShowN" msgstr "Wyśw. nazwę" #: gschem/src/i_callbacks.c:3122 msgid "ShowV" msgstr "Wyśw. wartość" #: gschem/src/i_callbacks.c:3159 msgid "ShowB" msgstr "Wyśw. oba" #: gschem/src/i_callbacks.c:3197 msgid "VisToggle" msgstr "Przeł. widoczność" #: gschem/src/i_callbacks.c:3228 #, c-format msgid "Sorry but this is a non-functioning menu option\n" msgstr "Niestety to polecenie jeszcze nie działa\n" #: gschem/src/i_callbacks.c:3318 msgid "Action feedback mode set to OUTLINE\n" msgstr "Tryb wyświetlania przemieszczanych elementów\n" #: gschem/src/i_callbacks.c:3321 msgid "Action feedback mode set to BOUNDINGBOX\n" msgstr "Tryb wyświetlania obwiedni przemieszczanych elementów\n" #: gschem/src/i_callbacks.c:3346 msgid "Grid OFF\n" msgstr "Siatka: włączona\n" #: gschem/src/i_callbacks.c:3347 msgid "Dot grid selected\n" msgstr "Siatka kropkowana\n" #: gschem/src/i_callbacks.c:3348 msgid "Mesh grid selected\n" msgstr "Siatka z linii\n" #: gschem/src/i_callbacks.c:3369 msgid "Snap OFF (CAUTION!)\n" msgstr "Przyciąganie do siatki: wyłączone (OSTROŻNIE!)\n" #: gschem/src/i_callbacks.c:3372 msgid "Snap ON\n" msgstr "Przyciąganie do siatki: włączone\n" #: gschem/src/i_callbacks.c:3375 msgid "Snap back to the grid (CAUTION!)\n" msgstr "" #: gschem/src/i_callbacks.c:3401 msgid "Rubber band OFF \n" msgstr "Uzupełnianie połączeń przy przesuwaniu: włączone \n" #: gschem/src/i_callbacks.c:3404 msgid "Rubber band ON\n" msgstr "Uzupełnianie połączeń przy przesuwaniu: wyłączone\n" #: gschem/src/i_callbacks.c:3419 msgid "magnetic net mode: ON\n" msgstr "tryb \"magnesu\": włączony\n" #: gschem/src/i_callbacks.c:3422 msgid "magnetic net mode: OFF\n" msgstr "tryb \"magnesu\": wyłączony\n" #: gschem/src/o_box.c:292 #, c-format msgid "Unknown type for box (fill)!\n" msgstr "Nieznany typ dla prostokąta (wypełnienie)!\n" #: gschem/src/o_buffer.c:54 #, c-format msgid "o_buffer_copy: Invalid buffer %i\n" msgstr "o_buffer_copy: Nieprawidłowy bufor %i\n" #: gschem/src/o_buffer.c:69 #, c-format msgid "o_buffer_cut: Invalid buffer %i\n" msgstr "o_buffer_cut: Nieprawidłowy bufor%i\n" #: gschem/src/o_buffer.c:90 #, c-format msgid "Got an invalid buffer_number [o_buffer_paste_start]\n" msgstr "" "Nieprawidłowy parametr buffer_number przekazany do funkcji " "o_buffer_paste_start\n" #: gschem/src/o_bus.c:117 #, c-format msgid "Got an invalid which one in o_bus_draw_stretch\n" msgstr "" #: gschem/src/o_circle.c:284 #, c-format msgid "Unknown type for circle (fill)!\n" msgstr "Nieznany typ dla okręgu (wypełnienie)!\n" #: gschem/src/o_complex.c:223 gschem/src/o_complex.c:227 #, c-format msgid "Translating schematic [%d %d]\n" msgstr "" #: gschem/src/o_misc.c:61 #, c-format msgid "Got an unexpected NULL in o_edit\n" msgstr "Niespodziewany wskaźnik NULL w funkcji o_edit\n" #: gschem/src/o_misc.c:125 msgid "Object already locked\n" msgstr "Obiekt jest już zablokowany\n" #: gschem/src/o_misc.c:163 msgid "Object already unlocked\n" msgstr "Obiekt jest już odblokowany\n" #: gschem/src/o_misc.c:339 msgid "Hidden text is now visible\n" msgstr "Ukryty tekst jest teraz widoczny\n" #: gschem/src/o_misc.c:341 msgid "Hidden text is now invisible\n" msgstr "Ukryty tekst jest teraz niewidoczny\n" #: gschem/src/o_misc.c:568 #, c-format msgid "Could not find symbol [%s] in library. Update failed.\n" msgstr "" "Nie odnaleziono symbolu [%s] w bibliotece. Aktualizacja nie powiodła się.\n" #: gschem/src/o_misc.c:683 #, c-format msgid "o_autosave_backups: Can't get the real filename of %s." msgstr "" "o_autosave_backups: Nie można określić rzeczywistej nazwy pliku dla %s." #: gschem/src/o_misc.c:727 #, c-format msgid "Could NOT set previous backup file [%s] read-write\n" msgstr "Nie można ustawić pliku kopii zapasowej w tryb zapisu i odczytu [%s]\n" #: gschem/src/o_misc.c:747 #, c-format msgid "Could NOT set backup file [%s] readonly\n" msgstr "" "Nie można ustawić pliku kopii zapasowej w tryb tylko do odczytu [%s].\n" #: gschem/src/o_misc.c:752 #, c-format msgid "Could NOT save backup file [%s]\n" msgstr "Zapisywanie kopii zapasowej [%s] nie powiodło się\n" #: gschem/src/o_move.c:174 #, c-format msgid "ERROR: NULL object in o_move_end!\n" msgstr "BŁĄD: objekt NULL w funkcji o_move_end!\n" #: gschem/src/o_move.c:431 #, c-format msgid "DOH! tried to find the whichone, but didn't find it!\n" msgstr "" #: gschem/src/o_move.c:453 #, c-format msgid "Got a non line object in o_move_check_endpoint\n" msgstr "" "Obiekt który nie jest linią przekazany do funkcji o_move_check_endpoint\n" #: gschem/src/o_net.c:158 #, c-format msgid "Got an invalid which one in o_net_draw_stretch\n" msgstr "" #: gschem/src/o_net.c:537 msgid "Warning: Starting net at off grid coordinate\n" msgstr "Uwaga: Początek połączenia jest poza siatką\n" #: gschem/src/o_net.c:602 msgid "Warning: Ending net at off grid coordinate\n" msgstr "Uwaga: Koniec połączenia jest poza siatką\n" #: gschem/src/o_net.c:944 gschem/src/o_net.c:981 gschem/src/o_net.c:1052 #: gschem/src/o_net.c:1088 #, c-format msgid "Tried to add more than two bus rippers. Internal gschem error.\n" msgstr "" #: gschem/src/o_net.c:1156 #, c-format msgid "Bus ripper symbol [%s] was not found in any component library\n" msgstr "" #: gschem/src/o_path.c:340 #, c-format msgid "Unknown type for path (fill)!\n" msgstr "" #: gschem/src/o_picture.c:166 #, c-format msgid "Failed to load picture: %s" msgstr "Wczytanie obrazu %s nie powiodło się" #: gschem/src/o_picture.c:180 msgid "Picture" msgstr "Obraz" #: gschem/src/o_picture.c:544 #, c-format msgid "Failed to replace pictures: %s" msgstr "" #: gschem/src/o_slot.c:81 msgid "Slot attribute malformed\n" msgstr "Nieprawidłowa wartość atrybutu \"slot\"\n" #: gschem/src/o_slot.c:89 msgid "numslots attribute missing\n" msgstr "Brak atrybutu \"numslots\"\n" #: gschem/src/o_slot.c:90 msgid "Slotting not allowed for this component\n" msgstr "" #: gschem/src/o_slot.c:105 msgid "New slot number out of range\n" msgstr "" #: gschem/src/o_undo.c:307 msgid "Undo/Redo disabled in rc file\n" msgstr "" "Funkcjonalność Cofnij/Powtórz zostały wyłączone w pliku konfiguracyjnym\n" #: gschem/src/parsecmd.c:82 #, c-format msgid "" "Usage: %s [OPTION ...] [--] [FILE ...]\n" "\n" "Interactively edit gEDA schematics or symbols. If one or more FILEs\n" "are specified, open them for editing; otherwise, create a new, empty\n" "schematic.\n" "\n" "Options:\n" " -q, --quiet Quiet mode.\n" " -v, --verbose Verbose mode.\n" " -r, --config-file=FILE Additional configuration file to load.\n" " -L DIR Add DIR to Scheme search path.\n" " -c EXPR Scheme expression to run at startup.\n" " -s FILE Scheme script to run at startup.\n" " -o, --output=FILE Output filename (for printing).\n" " -p Automatically place the window.\n" " -V, --version Show version information.\n" " -h, --help Help; this message.\n" " -- Treat all remaining arguments as filenames.\n" "\n" "Report bugs at \n" "gEDA/gaf homepage: \n" msgstr "" #: gschem/src/parsecmd.c:116 #, c-format msgid "" "gEDA %s (g%.7s)\n" "Copyright (C) 1998-2012 gEDA developers\n" "This is free software, and you are welcome to redistribute it under\n" "certain conditions. For details, see the file `COPYING', which is\n" "included in the gEDA distribution.\n" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" #: gschem/src/x_attribedit.c:127 #, c-format msgid "Got invalid show option; defaulting to show both\n" msgstr "" "Nieprawidłowa opcja; przyjmuję domyślną wartość \"wyświetlaj nazwę i wartość" "\"\n" #: gschem/src/x_attribedit.c:141 #, c-format msgid "ERROR: NULL object!\n" msgstr "BŁĄD: obiekt NULL!\n" #: gschem/src/x_attribedit.c:329 msgid "Single Attribute Editor" msgstr "Edycja pojedyńczego atrybutu" #: gschem/src/x_attribedit.c:359 msgid "Edit Attribute" msgstr "Edytuj atrybut" #: gschem/src/x_attribedit.c:361 msgid "Add Attribute" msgstr "Dodaj atrybut" #: gschem/src/x_attribedit.c:377 gschem/src/x_multiattrib.c:1973 msgid "Name:" msgstr "Nazwa:" #: gschem/src/x_attribedit.c:394 gschem/src/x_multiattrib.c:1992 msgid "Value:" msgstr "Wartość:" #: gschem/src/x_attribedit.c:410 gschem/src/x_multiattrib.c:2038 msgid "Visible" msgstr "Widoczny" #: gschem/src/x_attribedit.c:430 msgid "Show Value Only" msgstr "Wyświetlaj wartość" #: gschem/src/x_attribedit.c:432 msgid "Show Name Only" msgstr "Wyświetlaj nazwę" #: gschem/src/x_attribedit.c:434 gschem/src/x_multiattrib.c:1512 msgid "Show Name & Value" msgstr "Wyświetlaj nazwę i wartość" #: gschem/src/x_attribedit.c:441 msgid "Attach Options" msgstr "Opcje dołączenia" #: gschem/src/x_attribedit.c:456 msgid "All" msgstr "Wszystko" #: gschem/src/x_attribedit.c:464 gschem/src/x_compselect.c:922 #: gschem/src/x_compselect.c:1036 msgid "Components" msgstr "Elementy" #: gschem/src/x_attribedit.c:472 gschem/src/x_window.c:369 msgid "Nets" msgstr "Połączenia" #: gschem/src/x_attribedit.c:480 msgid "Replace existing attributes" msgstr "Zastąp istniejące atrybuty" #: gschem/src/x_autonumber.c:415 msgid "" "slotted object without slot attribute may cause problems when autonumbering " "slots\n" msgstr "" #: gschem/src/x_autonumber.c:430 #, c-format msgid "" "duplicate slot may cause problems: [symbolname=%s, number=%d, slot=%d]\n" msgstr "" #: gschem/src/x_autonumber.c:672 msgid "No searchstring given in autonumber text.\n" msgstr "Nie podano tekstu wyszukiwania.\n" #: gschem/src/x_autonumber.c:724 msgid "No '*' or '?' given at the end of the autonumber text.\n" msgstr "Brak '*' lub '?' na końcu tekstu do automatycznej numeracji.\n" #: gschem/src/x_autonumber.c:859 msgid "Diagonal" msgstr "Po przekątnej" #: gschem/src/x_autonumber.c:860 msgid "Top to bottom" msgstr "Od góry do dołu" #: gschem/src/x_autonumber.c:860 msgid "Bottom to top" msgstr "Od dołu do góry" #: gschem/src/x_autonumber.c:861 msgid "Left to right" msgstr "Od lewej do prawej" #: gschem/src/x_autonumber.c:861 msgid "Right to left" msgstr "Od prawej do lewej" #: gschem/src/x_autonumber.c:862 msgid "File order" msgstr "Kolejność plików" #: gschem/src/x_autonumber.c:1198 msgid "Autonumber text" msgstr "Automatyczna numeracja" #: gschem/src/x_autonumber.c:1222 msgid "Scope" msgstr "Zakres" #: gschem/src/x_autonumber.c:1244 msgid "Search for:" msgstr "Wyszukiwany tekst:" #: gschem/src/x_autonumber.c:1258 msgid "Autonumber text in:" msgstr "Automatycznie numeruj w:" #: gschem/src/x_autonumber.c:1265 msgid "Skip numbers found in:" msgstr "Pomiń numery znalezione w:" #: gschem/src/x_autonumber.c:1277 gschem/src/x_autonumber.c:1286 msgid "Selected objects" msgstr "Zaznaczonych elementach" #: gschem/src/x_autonumber.c:1278 gschem/src/x_autonumber.c:1287 msgid "Current page" msgstr "Bieżącej stronie" #: gschem/src/x_autonumber.c:1279 gschem/src/x_autonumber.c:1288 msgid "Whole hierarchy" msgstr "Całej hierarchii" #: gschem/src/x_autonumber.c:1290 msgid "Overwrite existing numbers" msgstr "Zastępuj istniejącą numerację" #: gschem/src/x_autonumber.c:1295 msgid "Options" msgstr "Opcje" #: gschem/src/x_autonumber.c:1317 msgid "Starting number:" msgstr "Numer początkowy" #: gschem/src/x_autonumber.c:1324 msgid "Sort order:" msgstr "Kolejność:" #: gschem/src/x_autonumber.c:1345 msgid "Remove numbers" msgstr "Usuń numery" #: gschem/src/x_autonumber.c:1349 msgid "Automatic slotting" msgstr "" #: gschem/src/x_clipboard.c:249 #, c-format msgid "" "Invalid schematic on clipboard.\n" "\n" "An error occurred while inserting clipboard data: %s." msgstr "" "Niepoprawny format schematu w schowku.\n" "\n" "Wystąpił błąd podczas wklejania danych ze schowka: %s." #: gschem/src/x_clipboard.c:251 msgid "Clipboard insertion failed" msgstr "Błąd podczas wklejania" #: gschem/src/x_color.c:94 gschem/src/x_color.c:103 #, c-format msgid "Could not allocate the color %s!\n" msgstr "Nieudana alokacja koloru %s!\n" #: gschem/src/x_color.c:94 msgid "black" msgstr "czarny" #: gschem/src/x_color.c:103 msgid "white" msgstr "biały" #: gschem/src/x_color.c:125 #, c-format msgid "Could not allocate display color %i!\n" msgstr "Nie udało się przydzielić koloru %i!\n" #: gschem/src/x_color.c:147 #, c-format msgid "Could not allocate outline color %i!\n" msgstr "Nie udało się przydzielić koloru obwiedni %i!\n" #: gschem/src/x_color.c:164 gschem/src/x_color.c:181 gschem/src/x_color.c:197 #, c-format msgid "Tried to get an invalid color: %d\n" msgstr "Próba użycia nieprawidłowego koloru: %d\n" #: gschem/src/x_color.c:214 #, c-format msgid "Tried to get an invalid outline color: %d\n" msgstr "Próba użycia nieprawidłowego koloru obwiedni: %d\n" #: gschem/src/x_compselect.c:1066 msgid "Filter:" msgstr "Filtr:" #: gschem/src/x_compselect.c:1169 gschem/src/x_dialog.c:3653 #: gschem/src/x_multiattrib.c:1839 msgid "Name" msgstr "Nazwa" #: gschem/src/x_compselect.c:1178 gschem/src/x_multiattrib.c:1863 msgid "Value" msgstr "Wartość" #: gschem/src/x_compselect.c:1217 msgid "Default behavior - reference component" msgstr "Domyślnie - użyj odniesiena do pliku elementu" #: gschem/src/x_compselect.c:1220 msgid "Embed component in schematic" msgstr "Osadź element w pliku schematu" #: gschem/src/x_compselect.c:1223 msgid "Include component as individual objects" msgstr "Wstaw element jako indywidualne obiekty składowe" #: gschem/src/x_compselect.c:1380 msgid "Select Component..." msgstr "Wybierz element..." #: gschem/src/x_compselect.c:1403 msgid "In Use" msgstr "W użyciu" #: gschem/src/x_compselect.c:1407 msgid "Libraries" msgstr "Biblioteki" #: gschem/src/x_compselect.c:1416 gschem/src/x_fileselect.c:122 msgid "Preview" msgstr "Podgląd" #: gschem/src/x_compselect.c:1444 msgid "Attributes" msgstr "Atrybuty" #: gschem/src/x_dialog.c:176 msgid "Text Entry..." msgstr "Wprowadzanie tekstu..." #: gschem/src/x_dialog.c:207 msgid "" "Enter text, click apply,\n" "move cursor into window, click to place text.\n" "Middle button to rotate while placing." msgstr "" "Wprowadź tekst, kliknij \"Zastosuj\",\n" "przenieś kursor do głownego okna, kliknij aby umieścić tekst.\n" "Środkowy przycisk obraca tekst przed umieszczeniem." #: gschem/src/x_dialog.c:301 msgid "Upper Left" msgstr "Na górze po lewej" #: gschem/src/x_dialog.c:304 msgid "Upper Middle" msgstr "Na środku powyżej" #: gschem/src/x_dialog.c:307 msgid "Upper Right" msgstr "Na górze po prawej" #: gschem/src/x_dialog.c:311 msgid "Middle Left" msgstr "Na środku po lewej" #: gschem/src/x_dialog.c:314 msgid "Middle Middle" msgstr "Pośrodku" #: gschem/src/x_dialog.c:317 msgid "Middle Right" msgstr "Na środku po prawej" #: gschem/src/x_dialog.c:321 msgid "Lower Left" msgstr "Na dole po lewej" #: gschem/src/x_dialog.c:324 msgid "Lower Middle" msgstr "Na środku poniżej" #: gschem/src/x_dialog.c:327 msgid "Lower Right" msgstr "Na dole po prawej" #: gschem/src/x_dialog.c:438 msgid "Edit Text Properties" msgstr "Edycja właściwości tekstu" #: gschem/src/x_dialog.c:473 msgid "Text Content" msgstr "Treść tekstu" #: gschem/src/x_dialog.c:509 msgid "Text Properties" msgstr "Właściwości tekstu" #: gschem/src/x_dialog.c:524 msgid "Color:" msgstr "Kolor:" #: gschem/src/x_dialog.c:531 msgid "Size:" msgstr "Rozmiar:" #: gschem/src/x_dialog.c:540 msgid "Alignment:" msgstr "Punkt odniesienia:" #: gschem/src/x_dialog.c:589 msgid "Solid" msgstr "Jednolita" #: gschem/src/x_dialog.c:590 msgid "Dotted" msgstr "Kropki" #: gschem/src/x_dialog.c:591 msgid "Dashed" msgstr "Kreski" #: gschem/src/x_dialog.c:592 msgid "Center" msgstr "Kropka-kreska" #: gschem/src/x_dialog.c:593 msgid "Phantom" msgstr "Kropka-kropka-kreska" #: gschem/src/x_dialog.c:594 gschem/src/x_dialog.c:691 #: gschem/src/x_dialog.c:700 gschem/src/x_dialog.c:709 #: gschem/src/x_dialog.c:810 gschem/src/x_dialog.c:813 #: gschem/src/x_dialog.c:816 gschem/src/x_dialog.c:1043 #: gschem/src/x_dialog.c:1146 gschem/src/x_dialog.c:1155 #: gschem/src/x_dialog.c:1164 gschem/src/x_dialog.c:1173 #: gschem/src/x_dialog.c:1182 gschem/src/x_dialog.c:1295 #: gschem/src/x_dialog.c:1298 gschem/src/x_dialog.c:1301 #: gschem/src/x_dialog.c:1304 gschem/src/x_dialog.c:1307 msgid "*unchanged*" msgstr "*bez zmian*" #: gschem/src/x_dialog.c:921 msgid "Edit Line Width & Type" msgstr "Edycja stylu linii" #: gschem/src/x_dialog.c:960 gschem/src/x_print.c:307 msgid "Type:" msgstr "Rodzaj:" #: gschem/src/x_dialog.c:964 msgid "Width:" msgstr "Szerokość:" #: gschem/src/x_dialog.c:968 msgid "Dash Length:" msgstr "Długość kreski" #: gschem/src/x_dialog.c:972 msgid "Dash Space:" msgstr "Długość przerwy" #: gschem/src/x_dialog.c:1039 msgid "Hollow" msgstr "Brak" #: gschem/src/x_dialog.c:1040 msgid "Filled" msgstr "Pełne" #: gschem/src/x_dialog.c:1041 msgid "Mesh" msgstr "Siatka" #: gschem/src/x_dialog.c:1042 msgid "Hatch" msgstr "Kreskowanie" #: gschem/src/x_dialog.c:1416 msgid "Edit Fill Type" msgstr "Edytuj typ wypełnienia" #: gschem/src/x_dialog.c:1455 msgid "Fill Type:" msgstr "Typ wypełnienia:" #: gschem/src/x_dialog.c:1459 msgid "Line Width:" msgstr "Szerokość linii:" #: gschem/src/x_dialog.c:1463 msgid "Angle 1:" msgstr "Kąt linii 1:" #: gschem/src/x_dialog.c:1467 msgid "Pitch 1:" msgstr "Odstęp między liniami 1:" #: gschem/src/x_dialog.c:1471 msgid "Angle 2:" msgstr "Kąt linii 2:" #: gschem/src/x_dialog.c:1475 msgid "Pitch 2:" msgstr "Odstęp między liniami 2:" #: gschem/src/x_dialog.c:1602 msgid "Arc Params" msgstr "Parametry łuku" #: gschem/src/x_dialog.c:1643 msgid "Arc Radius:" msgstr "Promień łuku:" #: gschem/src/x_dialog.c:1651 msgid "Start Angle:" msgstr "Kąt początkowy:" #: gschem/src/x_dialog.c:1659 msgid "Degrees of Sweep:" msgstr "Kąt rozwarcia" #: gschem/src/x_dialog.c:1777 msgid "" "Offset to translate?\n" "(0 for origin)" msgstr "" #: gschem/src/x_dialog.c:1845 msgid "Text Size" msgstr "Rozmiar czcionki" #: gschem/src/x_dialog.c:1875 msgid "Enter new text size:" msgstr "Wprowadź nowy rozmiar czcionki:" #: gschem/src/x_dialog.c:1951 msgid "Snap Size" msgstr "Odległość przyciągania" #: gschem/src/x_dialog.c:1981 msgid "Enter new snap grid spacing:" msgstr "Wprowadź nową odległość przyciągania" #: gschem/src/x_dialog.c:2058 msgid "Edit slot number" msgstr "" #: gschem/src/x_dialog.c:2089 msgid "Edit slot number:" msgstr "" #: gschem/src/x_dialog.c:2130 #, c-format msgid "%s (g%.7s)" msgstr "%s (g%.7s)" #: gschem/src/x_dialog.c:2151 msgid "About gschem" msgstr "O programie" #: gschem/src/x_dialog.c:2152 msgid "gEDA: GPL Electronic Design Automation" msgstr "gEDA: GPL Electronic Design Automation" #. TRANSLATORS: "ChangeLog" is a literal filename; please don't translate it. #: gschem/src/x_dialog.c:2155 msgid "" "Copyright © 1998-2012 Ales Hvezda \n" "Copyright © 1998-2012 gEDA Contributors (see ChangeLog for details)" msgstr "" "Copyright © 1998-2012 Ales Hvezda \n" "Copyright © 1998-2012 Kontrybutorzy gEDA (szczegóły w pliku ChangeLog)" #: gschem/src/x_dialog.c:2214 msgid "Coords" msgstr "Współrzędne" #: gschem/src/x_dialog.c:2235 msgid "Screen" msgstr "Ekran" #: gschem/src/x_dialog.c:2244 msgid "World" msgstr "Świat" #: gschem/src/x_dialog.c:2283 msgid "Background" msgstr "Tło" #: gschem/src/x_dialog.c:2289 msgid "Net endpoint" msgstr "Koniec połączeni" #: gschem/src/x_dialog.c:2292 msgid "Graphic" msgstr "Graficzne" #: gschem/src/x_dialog.c:2301 msgid "Logic bubble" msgstr "Negacja logiczna" #: gschem/src/x_dialog.c:2304 msgid "Grid point" msgstr "Punkt siatki" #: gschem/src/x_dialog.c:2307 msgid "Detached attribute" msgstr "Odłączony atrybut" #: gschem/src/x_dialog.c:2310 gschem/src/x_window.c:387 msgid "Text" msgstr "Tekst" #: gschem/src/x_dialog.c:2316 msgid "Selection" msgstr "Zaznaczenie" #: gschem/src/x_dialog.c:2319 msgid "Bounding box" msgstr "Obwiednia" #: gschem/src/x_dialog.c:2322 msgid "Zoom box" msgstr "Obszar powiększenia" #: gschem/src/x_dialog.c:2331 msgid "Output background" msgstr "Tło wydruku" #: gschem/src/x_dialog.c:2334 msgid "Net junction" msgstr "Połączenie przewodów" #: gschem/src/x_dialog.c:2337 msgid "Mesh grid major" msgstr "Siatka zgrubna" #: gschem/src/x_dialog.c:2340 msgid "Mesh grid minor" msgstr "Siatka dokładna" #: gschem/src/x_dialog.c:2343 msgid "Unknown" msgstr "Nieznane" #: gschem/src/x_dialog.c:2494 #, c-format msgid "ERROR: NULL object in color_edit_dialog_apply!\n" msgstr "BŁĄD: obiekt NULL w funkcji color_edit_dialog_apply!\n" #: gschem/src/x_dialog.c:2538 msgid "Color Edit" msgstr "Edycja koloru" #: gschem/src/x_dialog.c:2569 msgid "Object color:" msgstr "Kolor obiektu:" #: gschem/src/x_dialog.c:2622 msgid "Hotkeys" msgstr "Klawisze skrótów" #: gschem/src/x_dialog.c:2662 msgid "Function" msgstr "Funkcja" #: gschem/src/x_dialog.c:2669 msgid "Keystroke(s)" msgstr "Klawisz(e)" #: gschem/src/x_dialog.c:2977 msgid "Find Text" msgstr "Znajdź tekst" #: gschem/src/x_dialog.c:3008 msgid "Text to find:" msgstr "Szukany tekst:" #: gschem/src/x_dialog.c:3018 msgid "descend into hierarchy" msgstr "Szukaj również wewnątrz elementów" #: gschem/src/x_dialog.c:3084 msgid "Hide Text" msgstr "Ukryj tekst" #: gschem/src/x_dialog.c:3115 msgid "Hide text starting with:" msgstr "Ukryj tekst zaczynający się od:" #: gschem/src/x_dialog.c:3185 msgid "Show Text" msgstr "Wyświetl tekst" #: gschem/src/x_dialog.c:3216 msgid "Show text starting with:" msgstr "Wyświetl tekst zaczynający się od:" #: gschem/src/x_dialog.c:3675 msgid "S_elect the schematics you want to save:" msgstr "Wybi_erz schematy, które chcesz zapisać:" #: gschem/src/x_dialog.c:3770 #, c-format msgid "Save the changes to schematic \"%s\" before closing?" msgstr "Zapisać zmiany w schemacie \"%s\" przed wyjściem?" #: gschem/src/x_dialog.c:3776 #, c-format msgid "" "There are %d schematics with unsaved changes. Save changes before closing?" msgstr "Niezapisane zmiany w %d schematach. Zapisać zmiany przed wyjściem?" #: gschem/src/x_dialog.c:3805 msgid "If you don't save, all your changes will be permanently lost." msgstr "Jeżeli nie zapiszesz, wszystkie zmiany zostaną bezpowrotnie utracone." #: gschem/src/x_dialog.c:3825 msgid "_Close without saving" msgstr "_Zamknij bez zapisywania" #: gschem/src/x_dialog.c:4161 #, c-format msgid "" "The input attribute \"%s\" is invalid\n" "Please correct in order to continue\n" "\n" "The name and value must be non-empty.\n" "The name cannot end with a space.\n" "The value cannot start with a space." msgstr "" "Atrybut \"%s\" jest nieprawidłowy\n" "\n" "Nazwa i wartość nie mogą być puste.\n" "Nazwa nie może zaczynać się od spacji.\n" "Wartość nie może zaczynać się od spacji." #: gschem/src/x_dialog.c:4163 msgid "Invalid Attribute" msgstr "Nieprawidłowy atrybut" #: gschem/src/x_dialog.c:4199 msgid "Pin type" msgstr "" #: gschem/src/x_dialog.c:4223 msgid "Net pin" msgstr "" #: gschem/src/x_dialog.c:4225 msgid "Bus pin (graphical)" msgstr "" #: gschem/src/x_fileselect.c:42 msgid "Schematics" msgstr "Schematy" #: gschem/src/x_fileselect.c:47 msgid "Symbols" msgstr "Symbole" #: gschem/src/x_fileselect.c:52 msgid "Schematics and symbols" msgstr "Schematy i symbole" #: gschem/src/x_fileselect.c:58 msgid "All files" msgstr "Wszystkie pliki" #: gschem/src/x_fileselect.c:171 msgid "Open..." msgstr "Otwórz..." #: gschem/src/x_fileselect.c:231 msgid "Save as..." msgstr "Zapisz jako..." #: gschem/src/x_fileselect.c:284 #, c-format msgid "" "The selected file `%s' already exists.\n" "\n" "Would you like to overwrite it?" msgstr "" "Plik %s już istnieje.\n" "\n" "Czy chcesz go zastąpić bieżącym schematem?" #: gschem/src/x_fileselect.c:287 msgid "Overwrite file?" msgstr "Zastąpić plik?" #: gschem/src/x_fileselect.c:289 msgid "Save cancelled on user request\n" msgstr "Zapis anulowany na życzenie użytkownika\n" #: gschem/src/x_image.c:176 msgid "Encapsulated Postscript" msgstr "Encapsulated Postscript" #: gschem/src/x_image.c:296 #, c-format msgid "x_image_lowlevel: Unable to write eps file %s.\n" msgstr "x_image_lowlevel: Nie można zapisać pliku eps %s.\n" #: gschem/src/x_image.c:374 #, c-format msgid "x_image_lowlevel: Unable to write %s file %s.\n" msgstr "x_image_lowlevel: Nieudany zapis pliku %s o nazwie %s.\n" #: gschem/src/x_image.c:384 #, c-format msgid "" "There was the following error when saving image with type %s to filename:\n" "%s\n" "\n" "%s.\n" msgstr "" "Wystąpił błąd podczas zapisywania obrazu %s do pliku:\n" "%s\n" "\n" "%s.\n" #: gschem/src/x_image.c:403 #, c-format msgid "Wrote color image to [%s] [%d x %d]\n" msgstr "Zapisano kolorowy obraz do [%s] [%d x %d]\n" #: gschem/src/x_image.c:405 #, c-format msgid "Wrote black and white image to [%s] [%d x %d]\n" msgstr "Zapisano czarno-biały obraz do [%s] [%d x %d]\n" #: gschem/src/x_image.c:413 msgid "x_image_lowlevel: Unable to get pixbuf from gschem's window.\n" msgstr "x_image_lowlevel: Nieudane pobranie obrazu z okna gschem.\n" #: gschem/src/x_image.c:458 msgid "Width x Height" msgstr "Szerokość x Wysokość" #: gschem/src/x_image.c:474 msgid "Image type" msgstr "Typ obrazu" #: gschem/src/x_image.c:495 msgid "Write image..." msgstr "Zapisz jako obraz..." #: gschem/src/x_log.c:209 msgid "** Invalid UTF-8 in log message. See stderr or gschem.log.\n" msgstr "" "** Nieprawidłowy znak UTF-8 w komunikacie. Zobacz standardowe wyjście błędów " "lub plik gschem.log.\n" #: gschem/src/x_log.c:288 msgid "Status" msgstr "Stan" #: gschem/src/x_menus.c:37 msgid "/Add Net" msgstr "/Dodaj połączenie" #: gschem/src/x_menus.c:38 msgid "/Add Attribute..." msgstr "/Dodaj atrybut..." #: gschem/src/x_menus.c:39 msgid "/Add Component..." msgstr "/Dodaj element..." #: gschem/src/x_menus.c:40 msgid "/Add Bus" msgstr "/Dodaj magistralę" #: gschem/src/x_menus.c:41 msgid "/Add Text" msgstr "/Dodaj tekst" #: gschem/src/x_menus.c:43 msgid "/Zoom In" msgstr "/Powiększ" #: gschem/src/x_menus.c:44 msgid "/Zoom Out" msgstr "/Pomniejsz" #: gschem/src/x_menus.c:45 msgid "/Zoom Box" msgstr "/Powiększ fragment" #: gschem/src/x_menus.c:46 msgid "/Zoom Extents" msgstr "/Dopasuj do ekranu" #: gschem/src/x_menus.c:48 msgid "/Select" msgstr "/Zaznacz" #: gschem/src/x_menus.c:49 msgid "/Edit..." msgstr "/Edytuj..." #: gschem/src/x_menus.c:50 msgid "/Edit pin type..." msgstr "/Edytuj typ pinu..." #: gschem/src/x_menus.c:51 msgid "/Copy" msgstr "/Kopiuj" #: gschem/src/x_menus.c:52 msgid "/Move" msgstr "/Przesuń" #: gschem/src/x_menus.c:53 msgid "/Delete" msgstr "/Usuń" #: gschem/src/x_menus.c:56 msgid "/Down Schematic" msgstr "/Wgłąb schematu" #: gschem/src/x_menus.c:57 msgid "/Down Symbol" msgstr "/Wgłąb symbolu" #: gschem/src/x_menus.c:58 msgid "/Up" msgstr "/Do góry" #: gschem/src/x_menus.c:348 #, c-format msgid "Tried to set the sensitivity on non-existent menu item '%s'\n" msgstr "Próba aktywacji nieistniejącego elementu menu '%s'\n" #: gschem/src/x_menus.c:372 msgid "Popup_menu_item_factory doesn't exist!\n" msgstr "Popup_menu_item_factory nie istnieje!\n" #: gschem/src/x_menus.c:385 msgid "Tried to set the sensitivity on a non-existent popup menu_item\n" msgstr "Próba aktywacji nieistniejącego elementu menu kontekstowego\n" #: gschem/src/x_misc.c:74 msgid "The operating system is out of memory or resources." msgstr "Brak pamięci lub innych zasobów systemu operacyjnego." #: gschem/src/x_misc.c:155 #, c-format msgid "%s failed to launch URI" msgstr "Program %s nie mógł otworzyć adresu URI" #: gschem/src/x_multiattrib.c:961 msgid "Attributes with empty name are not allowed. Please set a name." msgstr "Atrybuty bez nazwy nie są dozwolone. Podaj prawidłową nazwę." #: gschem/src/x_multiattrib.c:1514 msgid "Show Value only" msgstr "Wyświetlaj wartość" #: gschem/src/x_multiattrib.c:1516 msgid "Show Name only" msgstr "Wyświetlaj nazwę" #: gschem/src/x_multiattrib.c:1544 msgid "Promote" msgstr "Promuj" #: gschem/src/x_multiattrib.c:1548 msgid "Duplicate" msgstr "Duplikuj" #: gschem/src/x_multiattrib.c:1765 msgid "Edit Attributes" msgstr "Zmodyfikuj atrybuty" #: gschem/src/x_multiattrib.c:1883 msgid "Vis?" msgstr "Widoczny?" #: gschem/src/x_multiattrib.c:1901 msgid "N" msgstr "N" #: gschem/src/x_multiattrib.c:1919 msgid "V" msgstr "W" #: gschem/src/x_multiattrib.c:1941 msgid "Show inherited attributes" msgstr "Pokaż odziedziczone atrybuty" #: gschem/src/x_multiattrib.c:1957 msgid "Add Attribute" msgstr "Dodaj atrybut" #: gschem/src/x_pagesel.c:246 msgid "New Page" msgstr "Nowy arkusz" #: gschem/src/x_pagesel.c:247 msgid "Open Page..." msgstr "Otwórz arkusz" #: gschem/src/x_pagesel.c:249 msgid "Save Page" msgstr "Zapisz arkusz" #: gschem/src/x_pagesel.c:250 msgid "Close Page" msgstr "Zamknij arkusz" #: gschem/src/x_pagesel.c:251 msgid "Discard Page" msgstr "Porzuć arkusz" #: gschem/src/x_pagesel.c:369 msgid "Page Manager" msgstr "Zarządzanie arkuszami" #: gschem/src/x_pagesel.c:425 msgid "Filename" msgstr "Nazwa pliku" #: gschem/src/x_pagesel.c:441 msgid "Changed" msgstr "Zmieniono" #: gschem/src/x_pagesel.c:461 msgid "Right click on the filename for more options..." msgstr "Kliknij prawym przyciskiem myszy na nazwie pliku aby zobaczyć opcje..." #: gschem/src/x_preview.c:231 msgid "Preview Buffer" msgstr "" #: gschem/src/x_print.c:84 msgid "Select PostScript Filename..." msgstr "Wybierz nazwę pliku PostScript..." #: gschem/src/x_print.c:164 msgid "Extents with margins" msgstr "Cały arkusz wraz z marginesami" #: gschem/src/x_print.c:170 msgid "Extents no margins" msgstr "Cały arkusz bez marginesów" #: gschem/src/x_print.c:176 msgid "Current Window" msgstr "Bieżący widok" #: gschem/src/x_print.c:210 msgid "Landscape" msgstr "Poziome" #: gschem/src/x_print.c:216 msgid "Portrait" msgstr "Pionowe" #: gschem/src/x_print.c:276 msgid "Print..." msgstr "Drukuj..." #: gschem/src/x_print.c:284 msgid "Settings" msgstr "Ustawienia" #: gschem/src/x_print.c:296 msgid "Output paper size:" msgstr "Rozmiar papieru:" #: gschem/src/x_print.c:318 msgid "Orientation:" msgstr "Ułożenie papieru:" #: gschem/src/x_print.c:330 msgid "Destination" msgstr "Lokalizacja docelowa" #: gschem/src/x_print.c:343 msgid "File:" msgstr "Plik:" #: gschem/src/x_print.c:373 msgid "Command:" msgstr "Polecenie:" #: gschem/src/x_print.c:745 msgid "No print destination specified\n" msgstr "Nie podano lokalizacji docelowej wydruku\n" #: gschem/src/x_print.c:752 #, c-format msgid "Cannot print current schematic to [%s]\n" msgstr "Nie można wydrukować bieżącego arkusza do [%s]\n" #: gschem/src/x_print.c:761 #, c-format msgid "" "Error printing to file '%s'\n" "Check the log window for more information" msgstr "" "Błąd wydruku do pliku '%s'\n" "Więcej szczegółów w oknie komunikatów" #: gschem/src/x_print.c:768 #, c-format msgid "Printed current schematic to [%s]\n" msgstr "Wydrukowano bieżący arkusz do [%s]\n" #: gschem/src/x_rc.c:40 msgid "ERROR: An unknown error occurred while parsing configuration files.\n" msgstr "" "BŁĄD: Wystąpił nieznany błąd podczas przetwarzania plików konfiguracyjnych.\n" #: gschem/src/x_rc.c:45 msgid "" "An unknown error occurred while parsing configuration files.\n" "\n" "The gschem log may contain more information." msgstr "Wystąpił nieznany błąd podczas przetwarzania plików konfiguracyjnych." #: gschem/src/x_rc.c:57 #, c-format msgid "ERROR: %s\n" msgstr "BŁĄD: %s\n" #: gschem/src/x_rc.c:60 #, c-format msgid "" "%s\n" "\n" "The gschem log may contain more information." msgstr "" "%s\n" "\n" "Logi programu mogą zawierać dodatkowe informacje." #: gschem/src/x_rc.c:68 msgid "Cannot load gschem configuration." msgstr "Nie można wczytać konfiguracji gschem." #: gschem/src/x_script.c:47 gschem/lib/system-gschemrc.scm:1381 msgid "Execute Script..." msgstr "Wykonaj skrypt..." #: gschem/src/x_script.c:66 #, c-format msgid "Executing guile script [%s]\n" msgstr "Wykonywanie skryptu guile [%s]\n" #: gschem/src/x_window.c:82 #, c-format msgid "Couldn't allocate gc\n" msgstr "Błąd podczas alokacji kontekstu graficznego \"gc\"\n" #: gschem/src/x_window.c:321 msgid "New" msgstr "Nowy" #: gschem/src/x_window.c:322 msgid "New file" msgstr "Nowy plik" #: gschem/src/x_window.c:328 msgid "Open" msgstr "Otwórz" #: gschem/src/x_window.c:329 msgid "Open file..." msgstr "Otwórz plik..." #: gschem/src/x_window.c:335 msgid "Save" msgstr "Zapisz" #: gschem/src/x_window.c:336 msgid "Save file" msgstr "Zapisz plik" #: gschem/src/x_window.c:343 msgid "Undo" msgstr "Cofnij" #: gschem/src/x_window.c:344 msgid "Undo last operation" msgstr "Cofnij ostatnią operację" #: gschem/src/x_window.c:350 msgid "Redo" msgstr "Przywróć" #: gschem/src/x_window.c:351 msgid "Redo last undo" msgstr "Przywróć ostatnią operację" #: gschem/src/x_window.c:360 msgid "" "Add component...\n" "Select library and component from list, move the mouse into main window, " "click to place\n" "Right mouse button to cancel" msgstr "" "Dodaj element...\n" "Wybierz bibliotekę i element z listy, przenieś kursor do głównego okna, " "kliknij aby umieścić element\n" "Anuluj prawym przyciskiem myszy" #: gschem/src/x_window.c:370 msgid "" "Add nets mode\n" "Right mouse button to cancel" msgstr "" "Tryb dodawania połączeń\n" "Anuluj prawym przyciskiem myszy" #: gschem/src/x_window.c:380 msgid "" "Add buses mode\n" "Right mouse button to cancel" msgstr "" "Tryb dodawania magistral\n" "Anuluj prawym przyciskiem myszy" #: gschem/src/x_window.c:388 msgid "Add Text..." msgstr "Dodaj tekst..." #: gschem/src/x_window.c:398 msgid "Select" msgstr "Zaznaczanie" #: gschem/src/x_window.c:399 msgid "Select mode" msgstr "Tryb zaznaczania" #: gschem/src/x_window.c:465 msgid "Evaluate:" msgstr "" #: gschem/src/x_window.c:484 msgid "Pick" msgstr "Wybierz" #: gschem/src/x_window.c:500 msgid "Repeat/none" msgstr "Powtórz/brak" #: gschem/src/x_window.c:510 msgid "Menu/Cancel" msgstr "Menu/Anuluj" #: gschem/src/x_window.c:512 msgid "Pan/Cancel" msgstr "Przesuń widok/Anuluj" #: gschem/src/x_window.c:737 #, c-format msgid "Loading schematic [%s]\n" msgstr "Wczytywanie schematu [%s]\n" #: gschem/src/x_window.c:748 #, c-format msgid "" "An error occurred while loading the requested file.\n" "\n" "Loading from '%s' failed: %s. The gschem log may contain more information." msgstr "" "Wystąpił błąd podczas wczytywania pliku.\n" "\n" "Wczytywanie z pliku '%s' nie powiodło się: %s. Log programu może zawierać " "dodatkowe informacje." #: gschem/src/x_window.c:750 msgid "Failed to load file" msgstr "Otwarcie pliku nie powiodło się" #: gschem/src/x_window.c:759 #, c-format msgid "New file [%s]\n" msgstr "Nowy plik [%s]\n" #: gschem/src/x_window.c:862 #, c-format msgid "Could NOT save page [%s]\n" msgstr "Zapisanie arkusza [%s] nie powiodło się\n" #: gschem/src/x_window.c:863 msgid "Error while trying to save" msgstr "Błąd podczas próby zapisania" #: gschem/src/x_window.c:873 msgid "Failed to save file" msgstr "Zapisanie pliku nie powiodło się" #: gschem/src/x_window.c:884 #, c-format msgid "Saved as [%s]\n" msgstr "Zapisano jako [%s]\n" #: gschem/src/x_window.c:886 #, c-format msgid "Saved [%s]\n" msgstr "Zapisano [%s]\n" #: gschem/src/x_window.c:888 msgid "Saved" msgstr "Zapisano" #: gschem/src/x_window.c:962 #, c-format msgid "Discarding page [%s]\n" msgstr "Porzucanie arkusza [%s]\n" #: gschem/src/x_window.c:962 #, c-format msgid "Closing [%s]\n" msgstr "Zamykanie [%s]\n" #: gschem/data/geda-gschem.desktop.in:3 msgid "gEDA Schematic Editor" msgstr "gEDA Edytor Schematów" #: gschem/data/geda-gschem.desktop.in:4 msgid "Create and edit electrical schematics and symbols with gschem" msgstr "Projektuj i edytuj schematy i symbole elektroniczne za pomocą gschem" #: gschem/lib/system-gschemrc.scm:1368 msgid "_New" msgstr "_Nowy" #: gschem/lib/system-gschemrc.scm:1369 msgid "_Open..." msgstr "_Otwórz..." #: gschem/lib/system-gschemrc.scm:1371 msgid "Open Recen_t" msgstr "Otwórz os_tatnio używane" #: gschem/lib/system-gschemrc.scm:1373 msgid "_Save" msgstr "Zapi_sz" #: gschem/lib/system-gschemrc.scm:1374 msgid "Save _As..." msgstr "Zapisz j_ako..." #: gschem/lib/system-gschemrc.scm:1375 msgid "Save All" msgstr "Zapisz _wszystkie" #: gschem/lib/system-gschemrc.scm:1376 gschem/lib/system-gschemrc.scm:1469 msgid "_Revert" msgstr "P_rzywróć" #: gschem/lib/system-gschemrc.scm:1378 msgid "_Print..." msgstr "_Drukuj..." #: gschem/lib/system-gschemrc.scm:1379 msgid "Write _image..." msgstr "Zap_isz obraz..." #: gschem/lib/system-gschemrc.scm:1383 msgid "New Window" msgstr "Nowe o_kno" #: gschem/lib/system-gschemrc.scm:1384 msgid "_Close Window" msgstr "" #: gschem/lib/system-gschemrc.scm:1385 msgid "_Quit" msgstr "Za_kończ" #: gschem/lib/system-gschemrc.scm:1391 msgid "_Undo" msgstr "_Cofnij" #: gschem/lib/system-gschemrc.scm:1392 msgid "_Redo" msgstr "_Ponów" #: gschem/lib/system-gschemrc.scm:1394 msgid "Cu_t" msgstr "Wy_tnij" #: gschem/lib/system-gschemrc.scm:1395 msgid "_Copy" msgstr "_Kopiuj" #: gschem/lib/system-gschemrc.scm:1396 msgid "_Paste" msgstr "_Wklej" #: gschem/lib/system-gschemrc.scm:1397 msgid "_Delete" msgstr "_Usuń" #: gschem/lib/system-gschemrc.scm:1400 msgid "Select All" msgstr "" #: gschem/lib/system-gschemrc.scm:1401 msgid "Deselect" msgstr "Odznacz" #: gschem/lib/system-gschemrc.scm:1405 msgid "Rotate 90 Mode" msgstr "Obróć o 90 stopni" #: gschem/lib/system-gschemrc.scm:1408 msgid "Edit..." msgstr "Edytuj..." #: gschem/lib/system-gschemrc.scm:1409 msgid "Edit Text..." msgstr "Edytuj tekst..." #: gschem/lib/system-gschemrc.scm:1410 msgid "Slot..." msgstr "Slot..." #: gschem/lib/system-gschemrc.scm:1411 msgid "Color..." msgstr "Kolor..." #: gschem/lib/system-gschemrc.scm:1412 msgid "Line Width & Type..." msgstr "Styl linii..." #: gschem/lib/system-gschemrc.scm:1413 msgid "Fill Type..." msgstr "Styl wypełnienia..." #: gschem/lib/system-gschemrc.scm:1414 msgid "Symbol Translate..." msgstr "Tłumaczenie symbolu..." #: gschem/lib/system-gschemrc.scm:1418 msgid "Invoke Macro" msgstr "Wykonaj makro" #: gschem/lib/system-gschemrc.scm:1419 msgid "Embed Component/Picture" msgstr "Osadź element/obraz" #: gschem/lib/system-gschemrc.scm:1420 msgid "Unembed Component/Picture" msgstr "Cofnij osadzanie elem./obr." #: gschem/lib/system-gschemrc.scm:1421 msgid "Update Component" msgstr "Aktualizuj element" #: gschem/lib/system-gschemrc.scm:1422 msgid "Show/Hide Inv Text" msgstr "Wyświetlaj/ukryj niewidoczny tekst" #: gschem/lib/system-gschemrc.scm:1428 msgid "Copy into 1" msgstr "Kopiuj do 1" #: gschem/lib/system-gschemrc.scm:1429 msgid "Copy into 2" msgstr "Kopiuj do 2" #: gschem/lib/system-gschemrc.scm:1430 msgid "Copy into 3" msgstr "Kopiuj do 3" #: gschem/lib/system-gschemrc.scm:1431 msgid "Copy into 4" msgstr "Kopiuj do 4" #: gschem/lib/system-gschemrc.scm:1432 msgid "Copy into 5" msgstr "Kopiuj do 5" #: gschem/lib/system-gschemrc.scm:1433 msgid "Cut into 1" msgstr "Wytnij do 1" #: gschem/lib/system-gschemrc.scm:1434 msgid "Cut into 2" msgstr "Wytnij do 2" #: gschem/lib/system-gschemrc.scm:1435 msgid "Cut into 3" msgstr "Wytnij do 3" #: gschem/lib/system-gschemrc.scm:1436 msgid "Cut into 4" msgstr "Wytnij do 4" #: gschem/lib/system-gschemrc.scm:1437 msgid "Cut into 5" msgstr "Wytnij do 5" #: gschem/lib/system-gschemrc.scm:1438 msgid "Paste from 1" msgstr "Wklej z 1" #: gschem/lib/system-gschemrc.scm:1439 msgid "Paste from 2" msgstr "Wklej z 2" #: gschem/lib/system-gschemrc.scm:1440 msgid "Paste from 3" msgstr "Wklej z 3" #: gschem/lib/system-gschemrc.scm:1441 msgid "Paste from 4" msgstr "Wklej z 4" #: gschem/lib/system-gschemrc.scm:1442 msgid "Paste from 5" msgstr "Wklej z 5" #: gschem/lib/system-gschemrc.scm:1448 msgid "_Redraw" msgstr "_Aktualizuj" #: gschem/lib/system-gschemrc.scm:1449 msgid "_Pan" msgstr "_Przesuń" #: gschem/lib/system-gschemrc.scm:1450 msgid "Zoom _Box" msgstr "Powiększ _obszar" #: gschem/lib/system-gschemrc.scm:1451 msgid "Zoom _Extents" msgstr "_Dopasuj widok" #: gschem/lib/system-gschemrc.scm:1452 msgid "Zoom _In" msgstr "Pow_iększ" #: gschem/lib/system-gschemrc.scm:1453 msgid "Zoom _Out" msgstr "P_omniejsz" #: gschem/lib/system-gschemrc.scm:1454 msgid "Zoom _Full" msgstr "Maksymalne pomniejszenie" #: gschem/lib/system-gschemrc.scm:1456 msgid "_Dark color scheme" msgstr "_Ciemny zestaw kolorów" #: gschem/lib/system-gschemrc.scm:1457 msgid "_Light color scheme" msgstr "_Jasny zestaw kolorów" #: gschem/lib/system-gschemrc.scm:1458 msgid "B_W color scheme" msgstr "" #: gschem/lib/system-gschemrc.scm:1465 msgid "_Manager..." msgstr "_Zarządzaj..." #: gschem/lib/system-gschemrc.scm:1466 msgid "_Previous" msgstr "_Poprzedni" #: gschem/lib/system-gschemrc.scm:1467 msgid "_Next" msgstr "_Następny" #: gschem/lib/system-gschemrc.scm:1468 msgid "Ne_w" msgstr "No_wy" #: gschem/lib/system-gschemrc.scm:1470 msgid "_Close" msgstr "_Zamknij" #: gschem/lib/system-gschemrc.scm:1472 msgid "_Discard" msgstr "Po_rzuć" #: gschem/lib/system-gschemrc.scm:1478 msgid "_Component..." msgstr "_Element..." #: gschem/lib/system-gschemrc.scm:1479 msgid "_Net" msgstr "_Sieć" #: gschem/lib/system-gschemrc.scm:1480 msgid "B_us" msgstr "_Magistrala" #: gschem/lib/system-gschemrc.scm:1481 msgid "_Attribute..." msgstr "_Atrybut..." #: gschem/lib/system-gschemrc.scm:1482 msgid "_Text..." msgstr "_Tekst..." #: gschem/lib/system-gschemrc.scm:1484 msgid "_Line" msgstr "_Linia" #: gschem/lib/system-gschemrc.scm:1485 msgid "_Box" msgstr "Pros_tokąt" #: gschem/lib/system-gschemrc.scm:1486 msgid "C_ircle" msgstr "_Okrąg" #: gschem/lib/system-gschemrc.scm:1487 msgid "A_rc" msgstr "Ł_uk" #: gschem/lib/system-gschemrc.scm:1488 msgid "_Pin" msgstr "_Pin" #: gschem/lib/system-gschemrc.scm:1489 msgid "Pictu_re..." msgstr "Ob_raz..." #: gschem/lib/system-gschemrc.scm:1495 msgid "_Down Schematic" msgstr "W głąb _schematu" #: gschem/lib/system-gschemrc.scm:1496 msgid "Down _Symbol" msgstr "W głąb _elementu" #: gschem/lib/system-gschemrc.scm:1497 msgid "_Up" msgstr "W _górę" #: gschem/lib/system-gschemrc.scm:1498 msgid "D_ocumentation..." msgstr "Do_kumentacja..." #: gschem/lib/system-gschemrc.scm:1504 msgid "_Attach" msgstr "_Dołącz" #: gschem/lib/system-gschemrc.scm:1505 msgid "_Detach" msgstr "_Odłącz" #: gschem/lib/system-gschemrc.scm:1506 msgid "Show _Value" msgstr "Pokazuj _wartość" #: gschem/lib/system-gschemrc.scm:1507 msgid "Show _Name" msgstr "Pokazuj _nazwę" #: gschem/lib/system-gschemrc.scm:1508 msgid "Show _Both" msgstr "Pokazuj o_bie" #: gschem/lib/system-gschemrc.scm:1509 msgid "_Toggle Visibility" msgstr "Przełącz _widoczność" #: gschem/lib/system-gschemrc.scm:1511 msgid "_Find Specific Text..." msgstr "_Szukaj tekstu..." #: gschem/lib/system-gschemrc.scm:1512 msgid "_Hide Specific Text..." msgstr "_Ukryj wybrany tekst..." #: gschem/lib/system-gschemrc.scm:1513 msgid "_Show Specific Text..." msgstr "_Pokazuj wybrany tekst..." #: gschem/lib/system-gschemrc.scm:1514 msgid "A_utonumber Text..." msgstr "A_utomatycznie numeruj..." #: gschem/lib/system-gschemrc.scm:1520 msgid "_Text Size..." msgstr "Rozmiar _tekstu..." #: gschem/lib/system-gschemrc.scm:1521 msgid "Cycle _grid styles" msgstr "Przełącz styl _siatki" #: gschem/lib/system-gschemrc.scm:1522 msgid "Toggle _Snap On/Off" msgstr "Przełącz _przyciąganie" #: gschem/lib/system-gschemrc.scm:1523 msgid "Snap Grid S_pacing..." msgstr "_Odstęp przyciągania..." #: gschem/lib/system-gschemrc.scm:1524 msgid "Scale _up Grid Spacing" msgstr "Z_mniejsz siatkę przyciągania" #: gschem/lib/system-gschemrc.scm:1526 msgid "Scale _down Grid Spacing" msgstr "Z_większ siatkę przyciągania" #: gschem/lib/system-gschemrc.scm:1528 msgid "Toggle _Outline/Box" msgstr "Przełącz wyświetlanie _konturów" #: gschem/lib/system-gschemrc.scm:1530 msgid "Toggle Net _Rubberband" msgstr "Przełącz _rozciąganie połączeń" #: gschem/lib/system-gschemrc.scm:1531 msgid "Toggle _Magnetic Net" msgstr "Przełącz \"_magnes\" połączeń" #: gschem/lib/system-gschemrc.scm:1532 msgid "Show _Log Window..." msgstr "Pokaż okno komunikatów..." #: gschem/lib/system-gschemrc.scm:1534 msgid "Show _Coord Window..." msgstr "Pokaż okno współrzędnych..." #: gschem/lib/system-gschemrc.scm:1542 msgid "gEDA Docu_mentation..." msgstr "Doku_mentacja gEDA..." #: gschem/lib/system-gschemrc.scm:1543 msgid "gschem _FAQ..." msgstr "_FAQ gschem..." #: gschem/lib/system-gschemrc.scm:1544 msgid "gEDA _Wiki..." msgstr "_Wiki gEDA..." #: gschem/lib/system-gschemrc.scm:1545 msgid "Component D_ocumentation..." msgstr "Dokumentacja _elementu..." #: gschem/lib/system-gschemrc.scm:1547 msgid "_Hotkeys..." msgstr "Skróty _klawiszowe..." #: gschem/lib/system-gschemrc.scm:1548 msgid "_About..." msgstr "_O programie..." #: gschem/lib/system-gschemrc.scm:1554 msgid "_File" msgstr "_Plik" #: gschem/lib/system-gschemrc.scm:1555 msgid "_Edit" msgstr "_Edycja" #: gschem/lib/system-gschemrc.scm:1556 msgid "_Buffer" msgstr "_Schowek" #: gschem/lib/system-gschemrc.scm:1557 msgid "_View" msgstr "_Widok" #: gschem/lib/system-gschemrc.scm:1558 msgid "_Page" msgstr "_Arkusz" #: gschem/lib/system-gschemrc.scm:1559 msgid "_Add" msgstr "_Dodaj" #: gschem/lib/system-gschemrc.scm:1560 msgid "Hie_rarchy" msgstr "Hie_rarchia" #: gschem/lib/system-gschemrc.scm:1561 msgid "A_ttributes" msgstr "A_trybuty" #: gschem/lib/system-gschemrc.scm:1562 msgid "_Options" msgstr "_Ustawienia" #: gschem/lib/system-gschemrc.scm:1563 msgid "_Help" msgstr "_Pomoc" #: gschem/scheme/gschem/deprecated.scm:102 #, scheme-format msgid "Invalid text alignment ~A." msgstr "" #: gschem/scheme/gschem/gschemdoc.scm:225 msgid "No documentation found" msgstr "" #: gschem/scheme/gschem/keymap.scm:38 #, scheme-format msgid "~S is not a valid key combination." msgstr "" #: gschem/scheme/gschem/keymap.scm:153 #, scheme-format msgid "~S is not a prefix key sequence." msgstr "" geda-gaf-1.8.2/gschem/po/pt_BR.po0000664000175000017500000015522612220655644013353 00000000000000# Brazilian Portuguese translation for gschem # This file is distributed under the same license as the gschem package. # Copyright (C) 2003-2008 Antonio Augusto Todo Bom Neto # Antonio Augusto Todo Bom Neto , 2003, 2006. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-01-31 12:08+0000\n" "Last-Translator: Peter TB Brett \n" "Language-Team: gEDA developers \n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: gschem/src/a_zoom.c:212 msgid "Zoom too small! Cannot zoom further.\n" msgstr "Zoom muito pequeno! Não posso diminuir.\n" #: gschem/src/g_attrib.c:92 msgid "Object ~A is not included in the current gschem page." msgstr "" #: gschem/src/g_attrib.c:112 msgid "Invalid text name/value visibility ~A." msgstr "" #: gschem/src/g_rc.c:312 #, c-format msgid "Invalid zoomfactor [%d] passed to %s\n" msgstr "Fator de Zoom [%d] inválido passado para %s\n" #: gschem/src/g_rc.c:458 #, c-format msgid "Invalid size [%d] passed to text-size\n" msgstr "Tamanho [%d] inválido (text-size)\n" #: gschem/src/g_rc.c:501 #, c-format msgid "Invalid size [%d] passed to snap-size\n" msgstr "Tamanho [%d] inválido passado tamanho de grade\n" #: gschem/src/g_rc.c:958 #, c-format msgid "Invalid num levels [%d] passed to undo-levels\n" msgstr "" "Número de níveis [%d] inválido para função desfaz passado para undo-level\n" #: gschem/src/g_rc.c:1220 #, c-format msgid "Invalid size [%d] passed to bus-ripper-size\n" msgstr "Tamanho inválido [%d] passado para bus-ripper-size\n" #: gschem/src/g_rc.c:1295 #, c-format msgid "Invalid dot size [%d] passed to dots-grid-dot-size\n" msgstr "" #: gschem/src/g_rc.c:1336 #, c-format msgid "Invalid pixel spacing [%d] passed to dots-grid-fixed-threshold\n" msgstr "" #: gschem/src/g_rc.c:1362 #, c-format msgid "Invalid pixel spacing [%d] passed to mesh-grid-display-threshold\n" msgstr "" #: gschem/src/g_rc.c:1387 #, c-format msgid "Invalid offset [%d] passed to add-attribute-offset\n" msgstr "Offset [%d] inválido passado para add-attribute-offset\n" #: gschem/src/g_rc.c:1411 #, c-format msgid "Invalid number of seconds [%d] passed to auto-save-interval\n" msgstr "Número de segundos inválido [%d] passado para auto-save-interval\n" #: gschem/src/g_rc.c:1435 #, c-format msgid "Invalid gain [%d] passed to mousepan-gain\n" msgstr "Ganho inválido [%d] passado para mousepan-gain\n" #: gschem/src/g_rc.c:1458 #, c-format msgid "Invalid gain [%d] passed to keyboardpan-gain\n" msgstr "Ganho inválido [%d] passado para keyboardpan-gain\n" #: gschem/src/g_rc.c:1505 #, c-format msgid "Invalid number of pixels [%d] passed to select-slack-pixels\n" msgstr "Número de pixels inválido [%d] passado para select-slack-pixels\n" #: gschem/src/g_rc.c:1531 #, c-format msgid "Invalid gain [%d] passed to zoom-gain\n" msgstr "" #: gschem/src/g_rc.c:1556 #, c-format msgid "Invalid number of steps [%d] scrollpan-steps\n" msgstr "" #: gschem/src/g_select.c:79 gschem/src/g_select.c:116 #: gschem/src/g_select.c:152 msgid "Object ~A is not directly included in a page." msgstr "" #: gschem/src/g_util.c:56 msgid "Could not launch URI ~S: ~A" msgstr "" #: gschem/src/g_window.c:136 msgid "Found invalid gschem window smob ~S" msgstr "" #: gschem/src/gschem.c:175 #, c-format msgid "gEDA/gschem version %s%s.%s\n" msgstr "gEDA/gschem versão %s%s.%s\n" #: gschem/src/gschem.c:178 msgid "" "gEDA/gschem comes with ABSOLUTELY NO WARRANTY; see COPYING for more " "details.\n" msgstr "" "gEDA/gschem vem com ABSOLUTAMENTE NENHUMA GARANTIA; leia o arquivo COPYING " "para maiores detalhes.\n" #: gschem/src/gschem.c:180 msgid "" "This is free software, and you are welcome to redistribute it under certain\n" msgstr "" "Este programa é um software livre, e você é convidado a redistribui-lo sob " "certas\n" #: gschem/src/gschem.c:182 msgid "" "conditions; please see the COPYING file for more details.\n" "\n" msgstr "" "condições; Leia o arquivo COPYING para maiores detalhes.\n" "\n" #: gschem/src/gschem.c:185 #, c-format msgid "This is the MINGW32 port.\n" msgstr "Esta é a versão portada para MINGW32.\n" #: gschem/src/gschem.c:189 #, c-format msgid "Current locale settings: %s\n" msgstr "Configuração para Localização: %s\n" #: gschem/src/gschem.c:211 msgid "" "You must set the GEDADATA environment variable!\n" "\n" "gschem cannot locate its data files. You must set the GEDADATA\n" "environment variable to point to the correct location.\n" msgstr "" #: gschem/src/gschem.c:248 #, c-format msgid "Couldn't find init scm file [%s]\n" msgstr "" #: gschem/src/gschem.c:252 #, c-format msgid "Read init scm file [%s]\n" msgstr "Lendo o arquivo scm [%s]\n" #: gschem/src/gschem.c:256 #, c-format msgid "Failed to read init scm file [%s]\n" msgstr "Falhou ao ler o arquivo scm [%s]\n" #: gschem/src/gschem_cairo.c:310 #, c-format msgid "Unknown end for line (%d)\n" msgstr "Fim desconhecido para linha (%d)!\n" #: gschem/src/gschem_cairo.c:318 #, c-format msgid "Unknown type for stroke (%d) !\n" msgstr "" #: gschem/src/gschem_pango.c:289 msgid "cairo context" msgstr "" #: gschem/src/gschem_pango.c:290 msgid "the cairo context for the renderer" msgstr "" #: gschem/src/i_basic.c:77 gschem/src/x_window.c:524 #: gschem/lib/system-gschemrc.scm:1399 msgid "Select Mode" msgstr "Modo de Seleção" #: gschem/src/i_basic.c:79 msgid "Component Mode" msgstr "Modo de Componente" #: gschem/src/i_basic.c:81 msgid "Text Mode" msgstr "Modo Texto" #: gschem/src/i_basic.c:84 gschem/lib/system-gschemrc.scm:1402 msgid "Copy Mode" msgstr "Modo de Cópia" #: gschem/src/i_basic.c:87 gschem/lib/system-gschemrc.scm:1404 msgid "Move Mode" msgstr "Modo de Movimentação" #: gschem/src/i_basic.c:89 msgid "Rotate Mode" msgstr "Modo de Rotação" #: gschem/src/i_basic.c:91 gschem/lib/system-gschemrc.scm:1406 msgid "Mirror Mode" msgstr "Modo de espelho" #: gschem/src/i_basic.c:95 msgid "Zoom Box" msgstr "Caixa de Zoom" #: gschem/src/i_basic.c:99 msgid "Pan Mode" msgstr "Modo Pan" #: gschem/src/i_basic.c:103 #, c-format msgid "Paste %d Mode" msgstr "Modo Colar de %d" #: gschem/src/i_basic.c:109 msgid "Magnetic Net Mode" msgstr "" #: gschem/src/i_basic.c:111 msgid "Net Mode" msgstr "Modo de Conexão (NET)" #: gschem/src/i_basic.c:115 msgid "Bus Mode" msgstr "Modo Barramento (BUS)" #: gschem/src/i_basic.c:118 msgid "Line Mode" msgstr "Modo de Linha" #: gschem/src/i_basic.c:121 msgid "Box Mode" msgstr "Modo de Caixa" #: gschem/src/i_basic.c:124 msgid "Picture Mode" msgstr "Modo Imagem" #: gschem/src/i_basic.c:127 msgid "Circle Mode" msgstr "Modo de Círculo" #: gschem/src/i_basic.c:130 msgid "Arc Mode" msgstr "Modo de Arco" #: gschem/src/i_basic.c:133 msgid "Pin Mode" msgstr "Modo de Pino" #: gschem/src/i_basic.c:135 gschem/src/i_callbacks.c:529 #: gschem/src/i_callbacks.c:553 msgid "Copy" msgstr "Copiar" #: gschem/src/i_basic.c:137 gschem/src/i_callbacks.c:619 #: gschem/src/i_callbacks.c:643 msgid "Move" msgstr "Mover" #: gschem/src/i_basic.c:139 gschem/src/i_callbacks.c:574 #: gschem/src/i_callbacks.c:598 msgid "Multiple Copy" msgstr "Multipla Cópia" #: gschem/src/i_basic.c:142 gschem/lib/system-gschemrc.scm:1403 msgid "Multiple Copy Mode" msgstr "Modo de Múltipla Cópia" #: gschem/src/i_basic.c:168 msgid "Show Hidden" msgstr "Mostrar Oculto" #: gschem/src/i_basic.c:171 msgid "Snap Off" msgstr "Agarre desligado" #: gschem/src/i_basic.c:173 msgid "Resnap Active" msgstr "" #: gschem/src/i_basic.c:254 gschem/src/x_window.c:498 msgid "Action" msgstr "Ação" #: gschem/src/i_basic.c:260 gschem/src/x_dialog.c:2325 #: gschem/src/x_window.c:493 msgid "Stroke" msgstr "Stroke" #: gschem/src/i_basic.c:266 gschem/src/x_window.c:495 msgid "none" msgstr "nenhum" #: gschem/src/i_basic.c:271 msgid "Repeat/" msgstr "Repetir/" #: gschem/src/i_basic.c:566 gschem/src/i_basic.c:580 msgid "OFF" msgstr "DESLIGADO" #: gschem/src/i_basic.c:584 msgid "NONE" msgstr "" #: gschem/src/i_basic.c:589 #, c-format msgid "Grid(%s, %s)" msgstr "Grid(%s, %s)" #: gschem/src/i_callbacks.c:76 gschem/src/i_callbacks.c:1659 #, c-format msgid "New page created [%s]\n" msgstr "Criada Nova Página [%s]\n" #: gschem/src/i_callbacks.c:124 #, c-format msgid "New Window created [%s]\n" msgstr "Nova Janela criada [%s]\n" #: gschem/src/i_callbacks.c:242 msgid "Failed to Save All" msgstr "Falha ao salvar tudo" #: gschem/src/i_callbacks.c:244 msgid "Saved All" msgstr "Salvar Tudo" #: gschem/src/i_callbacks.c:334 msgid "Closing Window\n" msgstr "Fechando Janela\n" #: gschem/src/i_callbacks.c:534 gschem/src/i_callbacks.c:579 #: gschem/src/i_callbacks.c:624 msgid "Select objs first" msgstr "Selecione objetos antes" #: gschem/src/i_callbacks.c:663 gschem/src/x_multiattrib.c:1549 msgid "Delete" msgstr "Apagar" #: gschem/src/i_callbacks.c:688 msgid "Edit" msgstr "Editar" #: gschem/src/i_callbacks.c:703 msgid "Edit pin type" msgstr "" #: gschem/src/i_callbacks.c:722 msgid "Edit Text" msgstr "Editar Texto" #: gschem/src/i_callbacks.c:745 msgid "Slot" msgstr "Slot" #: gschem/src/i_callbacks.c:762 msgid "Color" msgstr "Cor" #: gschem/src/i_callbacks.c:799 gschem/src/i_callbacks.c:844 msgid "Rotate" msgstr "Rotacionar" #: gschem/src/i_callbacks.c:866 gschem/src/i_callbacks.c:891 msgid "Mirror" msgstr "Espelhar" #: gschem/src/i_callbacks.c:912 gschem/src/x_dialog.c:2328 #: gschem/lib/system-gschemrc.scm:1415 msgid "Lock" msgstr "Bloquear" #: gschem/src/i_callbacks.c:930 gschem/lib/system-gschemrc.scm:1416 msgid "Unlock" msgstr "Desbloquear" #: gschem/src/i_callbacks.c:948 gschem/src/x_dialog.c:1746 msgid "Translate" msgstr "Transladar" #: gschem/src/i_callbacks.c:951 msgid "WARNING: Do not translate with snap off!\n" msgstr "ATENÇÃO: Não translade com o agarre (snap) desligado!\n" #: gschem/src/i_callbacks.c:952 msgid "WARNING: Turning snap on and continuing with translate.\n" msgstr "ATENÇÃO: Ligando o agarre e continuando o translado.\n" #: gschem/src/i_callbacks.c:959 msgid "WARNING: Snap grid size is not equal to 100!\n" msgstr "ATENÇÃO: A grade de agarre não está em 100!\n" #: gschem/src/i_callbacks.c:961 msgid "" "WARNING: If you are translating a symbol to the origin, the snap grid size " "should be set to 100\n" msgstr "" "ATENÇÃO: Se transladar um símbolo para origem, a grade deve estar em 100\n" #: gschem/src/i_callbacks.c:992 msgid "Embed" msgstr "Embutir" #: gschem/src/i_callbacks.c:1031 msgid "Unembed" msgstr "Desembutir" #: gschem/src/i_callbacks.c:1073 msgid "Update" msgstr "Atualizar" #: gschem/src/i_callbacks.c:1120 msgid "ShowHidden" msgstr "Mostrar Oculto" #: gschem/src/i_callbacks.c:1426 gschem/src/i_callbacks.c:1498 msgid "Pan" msgstr "Pan" #: gschem/src/i_callbacks.c:1703 msgid "Really revert page?" msgstr "Reverter Página?" #: gschem/src/i_callbacks.c:1773 msgid "Copy to clipboard" msgstr "" #: gschem/src/i_callbacks.c:1791 msgid "Cut to clipboard" msgstr "" #: gschem/src/i_callbacks.c:1809 msgid "Paste from clipboard" msgstr "" #: gschem/src/i_callbacks.c:1821 gschem/src/i_callbacks.c:2060 #: gschem/src/i_callbacks.c:2082 gschem/src/i_callbacks.c:2104 #: gschem/src/i_callbacks.c:2126 gschem/src/i_callbacks.c:2148 msgid "Empty buffer" msgstr "Buffer vazio" #: gschem/src/i_callbacks.c:1866 msgid "Copy 1" msgstr "Copiar para 1" #: gschem/src/i_callbacks.c:1885 msgid "Copy 2" msgstr "Copiar para 2" #: gschem/src/i_callbacks.c:1904 msgid "Copy 3" msgstr "Copiar para 3" #: gschem/src/i_callbacks.c:1923 msgid "Copy 4" msgstr "Copiar para 4" #: gschem/src/i_callbacks.c:1942 msgid "Copy 5" msgstr "Copiar para 5" #: gschem/src/i_callbacks.c:1961 msgid "Cut 1" msgstr "Cortar para 1" #: gschem/src/i_callbacks.c:1980 msgid "Cut 2" msgstr "Cortar para 2" #: gschem/src/i_callbacks.c:1999 msgid "Cut 3" msgstr "Cortar para 3" #: gschem/src/i_callbacks.c:2018 msgid "Cut 4" msgstr "Cortar para 4" #: gschem/src/i_callbacks.c:2037 msgid "Cut 5" msgstr "Cortar para 5" #: gschem/src/i_callbacks.c:2053 msgid "Paste 1" msgstr "Colar de 1" #: gschem/src/i_callbacks.c:2075 msgid "Paste 2" msgstr "Colar de 2" #: gschem/src/i_callbacks.c:2097 msgid "Paste 3" msgstr "Colar de 3" #: gschem/src/i_callbacks.c:2119 msgid "Paste 4" msgstr "Colar de 4" #: gschem/src/i_callbacks.c:2141 msgid "Paste 5" msgstr "Colar de 5" #: gschem/src/i_callbacks.c:2278 gschem/src/x_window.c:359 msgid "Component" msgstr "Componente" #: gschem/src/i_callbacks.c:2314 gschem/src/i_callbacks.c:2333 #: gschem/src/x_dialog.c:2298 msgid "Attribute" msgstr "Atributo" #: gschem/src/i_callbacks.c:2355 gschem/src/i_callbacks.c:2382 #: gschem/src/x_dialog.c:2295 msgid "Net" msgstr "Conexão" #: gschem/src/i_callbacks.c:2426 gschem/src/i_callbacks.c:2453 #: gschem/src/x_dialog.c:2313 gschem/src/x_window.c:379 msgid "Bus" msgstr "Barramento" #: gschem/src/i_callbacks.c:2534 gschem/src/i_callbacks.c:2557 msgid "Line" msgstr "Linha" #: gschem/src/i_callbacks.c:2579 gschem/src/i_callbacks.c:2602 msgid "Box" msgstr "Caixa" #: gschem/src/i_callbacks.c:2658 gschem/src/i_callbacks.c:2682 msgid "Circle" msgstr "Círculo" #: gschem/src/i_callbacks.c:2704 gschem/src/i_callbacks.c:2727 msgid "Arc" msgstr "Arco" #: gschem/src/i_callbacks.c:2749 gschem/src/i_callbacks.c:2772 #: gschem/src/x_dialog.c:2286 msgid "Pin" msgstr "Pino" #: gschem/src/i_callbacks.c:2831 #, c-format msgid "Searching for source [%s]\n" msgstr "Procurando por origem [%s]\n" #: gschem/src/i_callbacks.c:2855 #, c-format msgid "Cannot find source [%s]\n" msgstr "Impossível encontrar origem [%s]\n" #: gschem/src/i_callbacks.c:2918 #, c-format msgid "Searching for symbol [%s]\n" msgstr "Procurando por símbolo [%s]\n" #: gschem/src/i_callbacks.c:2924 msgid "Symbol is not a real file. Symbol cannot be loaded.\n" msgstr "" #: gschem/src/i_callbacks.c:2955 msgid "Cannot find any schematics above the current one!\n" msgstr "" #: gschem/src/i_callbacks.c:2985 msgid "Attach" msgstr "Anexar" #: gschem/src/i_callbacks.c:3041 msgid "Detach" msgstr "Desanexar" #: gschem/src/i_callbacks.c:3085 msgid "ShowN" msgstr "Mostrar N" #: gschem/src/i_callbacks.c:3122 msgid "ShowV" msgstr "Mostrar V" #: gschem/src/i_callbacks.c:3159 msgid "ShowB" msgstr "Mostrar T" #: gschem/src/i_callbacks.c:3197 msgid "VisToggle" msgstr "Comuta Visibilidade" #: gschem/src/i_callbacks.c:3228 #, c-format msgid "Sorry but this is a non-functioning menu option\n" msgstr "Desculpe, mas esta é uma opção de menu sem função\n" #: gschem/src/i_callbacks.c:3318 msgid "Action feedback mode set to OUTLINE\n" msgstr "Retorno de ação ajustado para silhueta\n" #: gschem/src/i_callbacks.c:3321 msgid "Action feedback mode set to BOUNDINGBOX\n" msgstr "Retorno de ação ajustado para caixa completa\n" #: gschem/src/i_callbacks.c:3346 msgid "Grid OFF\n" msgstr "Grade DESLIGADA\n" #: gschem/src/i_callbacks.c:3347 msgid "Dot grid selected\n" msgstr "" #: gschem/src/i_callbacks.c:3348 msgid "Mesh grid selected\n" msgstr "" #: gschem/src/i_callbacks.c:3369 msgid "Snap OFF (CAUTION!)\n" msgstr "Agarre desligado (CUIDADO!)\n" #: gschem/src/i_callbacks.c:3372 msgid "Snap ON\n" msgstr "Agarre ligado\n" #: gschem/src/i_callbacks.c:3375 msgid "Snap back to the grid (CAUTION!)\n" msgstr "" #: gschem/src/i_callbacks.c:3401 msgid "Rubber band OFF \n" msgstr "Elástico desligado \n" #: gschem/src/i_callbacks.c:3404 msgid "Rubber band ON\n" msgstr "Elástico ligado\n" #: gschem/src/i_callbacks.c:3419 msgid "magnetic net mode: ON\n" msgstr "" #: gschem/src/i_callbacks.c:3422 msgid "magnetic net mode: OFF\n" msgstr "" #: gschem/src/o_box.c:292 #, c-format msgid "Unknown type for box (fill)!\n" msgstr "Tipo desconhecido para enchimento da caixa!\n" #: gschem/src/o_buffer.c:54 #, c-format msgid "o_buffer_copy: Invalid buffer %i\n" msgstr "" #: gschem/src/o_buffer.c:69 #, c-format msgid "o_buffer_cut: Invalid buffer %i\n" msgstr "" #: gschem/src/o_buffer.c:90 #, c-format msgid "Got an invalid buffer_number [o_buffer_paste_start]\n" msgstr "Tenho um buffer_number inválido [o_buffer_paste_start]\n" #: gschem/src/o_bus.c:117 #, c-format msgid "Got an invalid which one in o_bus_draw_stretch\n" msgstr "" #: gschem/src/o_circle.c:284 #, c-format msgid "Unknown type for circle (fill)!\n" msgstr "Tipo desconhecido para enchimento de arco!\n" #: gschem/src/o_complex.c:223 gschem/src/o_complex.c:227 #, c-format msgid "Translating schematic [%d %d]\n" msgstr "Transladando diagrama [%d %d]\n" #: gschem/src/o_misc.c:61 #, c-format msgid "Got an unexpected NULL in o_edit\n" msgstr "Encontrado um NULL inesperado em o_edit\n" #: gschem/src/o_misc.c:125 msgid "Object already locked\n" msgstr "Objeto já travado\n" #: gschem/src/o_misc.c:163 msgid "Object already unlocked\n" msgstr "Objeto já destravado\n" #: gschem/src/o_misc.c:339 msgid "Hidden text is now visible\n" msgstr "Texto oculto agora está visível\n" #: gschem/src/o_misc.c:341 msgid "Hidden text is now invisible\n" msgstr "Texto oculto agora está invisível\n" #: gschem/src/o_misc.c:568 #, c-format msgid "Could not find symbol [%s] in library. Update failed.\n" msgstr "" "Não foi possível encontrar o simbolo [%s] na biblioteca. Atualização falhou\n" #: gschem/src/o_misc.c:683 #, c-format msgid "o_autosave_backups: Can't get the real filename of %s." msgstr "" "o_autosave_backups: Não foi possível pegar o nome de arquivo real de %s" #: gschem/src/o_misc.c:727 #, c-format msgid "Could NOT set previous backup file [%s] read-write\n" msgstr "NÃO foi possível deixar arquivo backup [%s] como leitura e gravação\n" #: gschem/src/o_misc.c:747 #, c-format msgid "Could NOT set backup file [%s] readonly\n" msgstr "NÃO foi possível deixar arquivo backup [%s] apenas leitura!\n" #: gschem/src/o_misc.c:752 #, c-format msgid "Could NOT save backup file [%s]\n" msgstr "NÃO foi possível salvar arquivo backup [%s] !\n" #: gschem/src/o_move.c:174 #, c-format msgid "ERROR: NULL object in o_move_end!\n" msgstr "ERRO: Objeto NULL em o_move_end!\n" #: gschem/src/o_move.c:431 #, c-format msgid "DOH! tried to find the whichone, but didn't find it!\n" msgstr "" #: gschem/src/o_move.c:453 #, c-format msgid "Got a non line object in o_move_check_endpoint\n" msgstr "Encontrei um objeto que não é linha em o_move_check_endpoint\n" #: gschem/src/o_net.c:158 #, c-format msgid "Got an invalid which one in o_net_draw_stretch\n" msgstr "" #: gschem/src/o_net.c:537 msgid "Warning: Starting net at off grid coordinate\n" msgstr "" #: gschem/src/o_net.c:602 msgid "Warning: Ending net at off grid coordinate\n" msgstr "" #: gschem/src/o_net.c:944 gschem/src/o_net.c:981 gschem/src/o_net.c:1052 #: gschem/src/o_net.c:1088 #, c-format msgid "Tried to add more than two bus rippers. Internal gschem error.\n" msgstr "" #: gschem/src/o_net.c:1156 #, c-format msgid "Bus ripper symbol [%s] was not found in any component library\n" msgstr "" #: gschem/src/o_path.c:340 #, c-format msgid "Unknown type for path (fill)!\n" msgstr "" #: gschem/src/o_picture.c:166 #, c-format msgid "Failed to load picture: %s" msgstr "Falhou ao ler imagem: %s" #: gschem/src/o_picture.c:180 msgid "Picture" msgstr "Imagem" #: gschem/src/o_picture.c:544 #, c-format msgid "Failed to replace pictures: %s" msgstr "" #: gschem/src/o_slot.c:81 msgid "Slot attribute malformed\n" msgstr "Atributo Slot mau feito\n" #: gschem/src/o_slot.c:89 msgid "numslots attribute missing\n" msgstr "Sem atributo NUMSLOTS\n" #: gschem/src/o_slot.c:90 msgid "Slotting not allowed for this component\n" msgstr "Slots não disponível para este componente\n" #: gschem/src/o_slot.c:105 msgid "New slot number out of range\n" msgstr "Número de slot fora dos limites\n" #: gschem/src/o_undo.c:307 msgid "Undo/Redo disabled in rc file\n" msgstr "Desfaz e Refaz desabilitado no arquivo rc\n" #: gschem/src/parsecmd.c:82 #, c-format msgid "" "Usage: %s [OPTION ...] [--] [FILE ...]\n" "\n" "Interactively edit gEDA schematics or symbols. If one or more FILEs\n" "are specified, open them for editing; otherwise, create a new, empty\n" "schematic.\n" "\n" "Options:\n" " -q, --quiet Quiet mode.\n" " -v, --verbose Verbose mode.\n" " -r, --config-file=FILE Additional configuration file to load.\n" " -L DIR Add DIR to Scheme search path.\n" " -c EXPR Scheme expression to run at startup.\n" " -s FILE Scheme script to run at startup.\n" " -o, --output=FILE Output filename (for printing).\n" " -p Automatically place the window.\n" " -V, --version Show version information.\n" " -h, --help Help; this message.\n" " -- Treat all remaining arguments as filenames.\n" "\n" "Report bugs at \n" "gEDA/gaf homepage: \n" msgstr "" #: gschem/src/parsecmd.c:116 #, c-format msgid "" "gEDA %s (g%.7s)\n" "Copyright (C) 1998-2012 gEDA developers\n" "This is free software, and you are welcome to redistribute it under\n" "certain conditions. For details, see the file `COPYING', which is\n" "included in the gEDA distribution.\n" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" #: gschem/src/x_attribedit.c:127 #, c-format msgid "Got invalid show option; defaulting to show both\n" msgstr "" #: gschem/src/x_attribedit.c:141 #, c-format msgid "ERROR: NULL object!\n" msgstr "ERRO: NENHUM objeto!\n" #: gschem/src/x_attribedit.c:329 msgid "Single Attribute Editor" msgstr "Editor de um atributo" #: gschem/src/x_attribedit.c:359 msgid "Edit Attribute" msgstr "Editar Atributo" #: gschem/src/x_attribedit.c:361 msgid "Add Attribute" msgstr "Adicionar Atributo" #: gschem/src/x_attribedit.c:377 gschem/src/x_multiattrib.c:1973 msgid "Name:" msgstr "Nome:" #: gschem/src/x_attribedit.c:394 gschem/src/x_multiattrib.c:1992 msgid "Value:" msgstr "Valor:" #: gschem/src/x_attribedit.c:410 gschem/src/x_multiattrib.c:2038 msgid "Visible" msgstr "Visível" #: gschem/src/x_attribedit.c:430 msgid "Show Value Only" msgstr "Mostra apenas Valor" #: gschem/src/x_attribedit.c:432 msgid "Show Name Only" msgstr "Mostra apenas Nome" #: gschem/src/x_attribedit.c:434 gschem/src/x_multiattrib.c:1512 msgid "Show Name & Value" msgstr "Mostra Nome e Valor" #: gschem/src/x_attribedit.c:441 msgid "Attach Options" msgstr "Anexar Opções" #: gschem/src/x_attribedit.c:456 msgid "All" msgstr "Todos" #: gschem/src/x_attribedit.c:464 gschem/src/x_compselect.c:922 #: gschem/src/x_compselect.c:1036 msgid "Components" msgstr "Componentes" #: gschem/src/x_attribedit.c:472 gschem/src/x_window.c:369 msgid "Nets" msgstr "Conexões" #: gschem/src/x_attribedit.c:480 msgid "Replace existing attributes" msgstr "" #: gschem/src/x_autonumber.c:415 msgid "" "slotted object without slot attribute may cause problems when autonumbering " "slots\n" msgstr "" #: gschem/src/x_autonumber.c:430 #, c-format msgid "" "duplicate slot may cause problems: [symbolname=%s, number=%d, slot=%d]\n" msgstr "" #: gschem/src/x_autonumber.c:672 msgid "No searchstring given in autonumber text.\n" msgstr "" #: gschem/src/x_autonumber.c:724 msgid "No '*' or '?' given at the end of the autonumber text.\n" msgstr "" #: gschem/src/x_autonumber.c:859 msgid "Diagonal" msgstr "Diagonal" #: gschem/src/x_autonumber.c:860 msgid "Top to bottom" msgstr "De cima para baixo" #: gschem/src/x_autonumber.c:860 msgid "Bottom to top" msgstr "De baixo para cima" #: gschem/src/x_autonumber.c:861 msgid "Left to right" msgstr "Da esquerda para direita" #: gschem/src/x_autonumber.c:861 msgid "Right to left" msgstr "Da direita para a esquerda" #: gschem/src/x_autonumber.c:862 msgid "File order" msgstr "" #: gschem/src/x_autonumber.c:1198 msgid "Autonumber text" msgstr "Autonumerar texto" #: gschem/src/x_autonumber.c:1222 msgid "Scope" msgstr "Escopo" #: gschem/src/x_autonumber.c:1244 msgid "Search for:" msgstr "Pesquisar por:" #: gschem/src/x_autonumber.c:1258 msgid "Autonumber text in:" msgstr "Auto numerar texto em:" #: gschem/src/x_autonumber.c:1265 msgid "Skip numbers found in:" msgstr "" #: gschem/src/x_autonumber.c:1277 gschem/src/x_autonumber.c:1286 msgid "Selected objects" msgstr "Selecionar Objetos" #: gschem/src/x_autonumber.c:1278 gschem/src/x_autonumber.c:1287 msgid "Current page" msgstr "Página Atual" #: gschem/src/x_autonumber.c:1279 gschem/src/x_autonumber.c:1288 msgid "Whole hierarchy" msgstr "" #: gschem/src/x_autonumber.c:1290 msgid "Overwrite existing numbers" msgstr "" #: gschem/src/x_autonumber.c:1295 msgid "Options" msgstr "Opções" #: gschem/src/x_autonumber.c:1317 msgid "Starting number:" msgstr "" #: gschem/src/x_autonumber.c:1324 msgid "Sort order:" msgstr "" #: gschem/src/x_autonumber.c:1345 msgid "Remove numbers" msgstr "" #: gschem/src/x_autonumber.c:1349 msgid "Automatic slotting" msgstr "" #: gschem/src/x_clipboard.c:249 #, c-format msgid "" "Invalid schematic on clipboard.\n" "\n" "An error occurred while inserting clipboard data: %s." msgstr "" #: gschem/src/x_clipboard.c:251 msgid "Clipboard insertion failed" msgstr "" #: gschem/src/x_color.c:94 gschem/src/x_color.c:103 #, c-format msgid "Could not allocate the color %s!\n" msgstr "Impossível alocar a cor %s!\n" #: gschem/src/x_color.c:94 msgid "black" msgstr "preta" #: gschem/src/x_color.c:103 msgid "white" msgstr "branca" #: gschem/src/x_color.c:125 #, c-format msgid "Could not allocate display color %i!\n" msgstr "" #: gschem/src/x_color.c:147 #, c-format msgid "Could not allocate outline color %i!\n" msgstr "" #: gschem/src/x_color.c:164 gschem/src/x_color.c:181 gschem/src/x_color.c:197 #, c-format msgid "Tried to get an invalid color: %d\n" msgstr "Tentou ter cor inválida: %d\n" #: gschem/src/x_color.c:214 #, c-format msgid "Tried to get an invalid outline color: %d\n" msgstr "" #: gschem/src/x_compselect.c:1066 msgid "Filter:" msgstr "Filtrar:" #: gschem/src/x_compselect.c:1169 gschem/src/x_dialog.c:3653 #: gschem/src/x_multiattrib.c:1839 msgid "Name" msgstr "Nome" #: gschem/src/x_compselect.c:1178 gschem/src/x_multiattrib.c:1863 msgid "Value" msgstr "Valor" #: gschem/src/x_compselect.c:1217 msgid "Default behavior - reference component" msgstr "Uso normal - referenciar componente" #: gschem/src/x_compselect.c:1220 msgid "Embed component in schematic" msgstr "Embutir componente no diagrama" #: gschem/src/x_compselect.c:1223 msgid "Include component as individual objects" msgstr "Incluir como objetos individuais" #: gschem/src/x_compselect.c:1380 msgid "Select Component..." msgstr "Selecionar Componente" #: gschem/src/x_compselect.c:1403 msgid "In Use" msgstr "Em Uso" #: gschem/src/x_compselect.c:1407 msgid "Libraries" msgstr "Bibliotecas" #: gschem/src/x_compselect.c:1416 gschem/src/x_fileselect.c:122 msgid "Preview" msgstr "Prévia" #: gschem/src/x_compselect.c:1444 msgid "Attributes" msgstr "Atributos" #: gschem/src/x_dialog.c:176 msgid "Text Entry..." msgstr "Entrada de texto..." #: gschem/src/x_dialog.c:207 msgid "" "Enter text, click apply,\n" "move cursor into window, click to place text.\n" "Middle button to rotate while placing." msgstr "" "Entre com o texto e clique em Aplicar,\n" "cursor na janela, clique para deixar o texto.\n" "Use botão do meio para rotacionar enquanto posiciona" #: gschem/src/x_dialog.c:301 msgid "Upper Left" msgstr "Esq Alto" #: gschem/src/x_dialog.c:304 msgid "Upper Middle" msgstr "Centro Alto" #: gschem/src/x_dialog.c:307 msgid "Upper Right" msgstr "Dir Alto" #: gschem/src/x_dialog.c:311 msgid "Middle Left" msgstr "Esq Centro" #: gschem/src/x_dialog.c:314 msgid "Middle Middle" msgstr "Centro Centro" #: gschem/src/x_dialog.c:317 msgid "Middle Right" msgstr "Dir Centro" #: gschem/src/x_dialog.c:321 msgid "Lower Left" msgstr "Esq Baixo" #: gschem/src/x_dialog.c:324 msgid "Lower Middle" msgstr "Centro Baixo" #: gschem/src/x_dialog.c:327 msgid "Lower Right" msgstr "Dir Baixo" #: gschem/src/x_dialog.c:438 msgid "Edit Text Properties" msgstr "Editar Propriedades do Texto" #: gschem/src/x_dialog.c:473 msgid "Text Content" msgstr "Conteúdo do Texto" #: gschem/src/x_dialog.c:509 msgid "Text Properties" msgstr "Propriedades do Texto" #: gschem/src/x_dialog.c:524 msgid "Color:" msgstr "Cor:" #: gschem/src/x_dialog.c:531 msgid "Size:" msgstr "Tamanho:" #: gschem/src/x_dialog.c:540 msgid "Alignment:" msgstr "Alinhamento:" #: gschem/src/x_dialog.c:589 msgid "Solid" msgstr "Solido" #: gschem/src/x_dialog.c:590 msgid "Dotted" msgstr "Pontilhado" #: gschem/src/x_dialog.c:591 msgid "Dashed" msgstr "Tracejado" #: gschem/src/x_dialog.c:592 msgid "Center" msgstr "Centro" #: gschem/src/x_dialog.c:593 msgid "Phantom" msgstr "Fantasma" #: gschem/src/x_dialog.c:594 gschem/src/x_dialog.c:691 #: gschem/src/x_dialog.c:700 gschem/src/x_dialog.c:709 #: gschem/src/x_dialog.c:810 gschem/src/x_dialog.c:813 #: gschem/src/x_dialog.c:816 gschem/src/x_dialog.c:1043 #: gschem/src/x_dialog.c:1146 gschem/src/x_dialog.c:1155 #: gschem/src/x_dialog.c:1164 gschem/src/x_dialog.c:1173 #: gschem/src/x_dialog.c:1182 gschem/src/x_dialog.c:1295 #: gschem/src/x_dialog.c:1298 gschem/src/x_dialog.c:1301 #: gschem/src/x_dialog.c:1304 gschem/src/x_dialog.c:1307 msgid "*unchanged*" msgstr "*inalterado*" #: gschem/src/x_dialog.c:921 msgid "Edit Line Width & Type" msgstr "Editar Largura e Tipo de Linha" #: gschem/src/x_dialog.c:960 gschem/src/x_print.c:307 msgid "Type:" msgstr "Tipo:" #: gschem/src/x_dialog.c:964 msgid "Width:" msgstr "Largura:" #: gschem/src/x_dialog.c:968 msgid "Dash Length:" msgstr "" #: gschem/src/x_dialog.c:972 msgid "Dash Space:" msgstr "" #: gschem/src/x_dialog.c:1039 msgid "Hollow" msgstr "Vazio" #: gschem/src/x_dialog.c:1040 msgid "Filled" msgstr "Preenchida" #: gschem/src/x_dialog.c:1041 msgid "Mesh" msgstr "Malha" #: gschem/src/x_dialog.c:1042 msgid "Hatch" msgstr "Linhas" #: gschem/src/x_dialog.c:1416 msgid "Edit Fill Type" msgstr "Editar Preenchimento" #: gschem/src/x_dialog.c:1455 msgid "Fill Type:" msgstr "" #: gschem/src/x_dialog.c:1459 msgid "Line Width:" msgstr "Largura da Linha:" #: gschem/src/x_dialog.c:1463 msgid "Angle 1:" msgstr "" #: gschem/src/x_dialog.c:1467 msgid "Pitch 1:" msgstr "" #: gschem/src/x_dialog.c:1471 msgid "Angle 2:" msgstr "Ângulo 2:" #: gschem/src/x_dialog.c:1475 msgid "Pitch 2:" msgstr "" #: gschem/src/x_dialog.c:1602 msgid "Arc Params" msgstr "Parametros do Arco" #: gschem/src/x_dialog.c:1643 msgid "Arc Radius:" msgstr "" #: gschem/src/x_dialog.c:1651 msgid "Start Angle:" msgstr "Ângulo Inicial:" #: gschem/src/x_dialog.c:1659 msgid "Degrees of Sweep:" msgstr "" #: gschem/src/x_dialog.c:1777 msgid "" "Offset to translate?\n" "(0 for origin)" msgstr "" "Valor a transladar?\n" "(0 para origem)" #: gschem/src/x_dialog.c:1845 msgid "Text Size" msgstr "Tamanho do Texto" #: gschem/src/x_dialog.c:1875 msgid "Enter new text size:" msgstr "" #: gschem/src/x_dialog.c:1951 msgid "Snap Size" msgstr "" #: gschem/src/x_dialog.c:1981 msgid "Enter new snap grid spacing:" msgstr "" #: gschem/src/x_dialog.c:2058 msgid "Edit slot number" msgstr "Editar número de SLOT" #: gschem/src/x_dialog.c:2089 msgid "Edit slot number:" msgstr "" #: gschem/src/x_dialog.c:2130 #, c-format msgid "%s (g%.7s)" msgstr "" #: gschem/src/x_dialog.c:2151 msgid "About gschem" msgstr "Sobre gschem" #: gschem/src/x_dialog.c:2152 msgid "gEDA: GPL Electronic Design Automation" msgstr "" #. TRANSLATORS: "ChangeLog" is a literal filename; please don't translate it. #: gschem/src/x_dialog.c:2155 msgid "" "Copyright © 1998-2012 Ales Hvezda \n" "Copyright © 1998-2012 gEDA Contributors (see ChangeLog for details)" msgstr "" #: gschem/src/x_dialog.c:2214 msgid "Coords" msgstr "Coordenadas" #: gschem/src/x_dialog.c:2235 msgid "Screen" msgstr "Janela" #: gschem/src/x_dialog.c:2244 msgid "World" msgstr "Universo" #: gschem/src/x_dialog.c:2283 msgid "Background" msgstr "" #: gschem/src/x_dialog.c:2289 msgid "Net endpoint" msgstr "" #: gschem/src/x_dialog.c:2292 msgid "Graphic" msgstr "" #: gschem/src/x_dialog.c:2301 msgid "Logic bubble" msgstr "" #: gschem/src/x_dialog.c:2304 msgid "Grid point" msgstr "" #: gschem/src/x_dialog.c:2307 msgid "Detached attribute" msgstr "" #: gschem/src/x_dialog.c:2310 gschem/src/x_window.c:387 msgid "Text" msgstr "Texto" #: gschem/src/x_dialog.c:2316 msgid "Selection" msgstr "" #: gschem/src/x_dialog.c:2319 msgid "Bounding box" msgstr "" #: gschem/src/x_dialog.c:2322 msgid "Zoom box" msgstr "" #: gschem/src/x_dialog.c:2331 msgid "Output background" msgstr "" #: gschem/src/x_dialog.c:2334 msgid "Net junction" msgstr "" #: gschem/src/x_dialog.c:2337 msgid "Mesh grid major" msgstr "" #: gschem/src/x_dialog.c:2340 msgid "Mesh grid minor" msgstr "" #: gschem/src/x_dialog.c:2343 msgid "Unknown" msgstr "" #: gschem/src/x_dialog.c:2494 #, c-format msgid "ERROR: NULL object in color_edit_dialog_apply!\n" msgstr "" #: gschem/src/x_dialog.c:2538 msgid "Color Edit" msgstr "Edição de Cor" #: gschem/src/x_dialog.c:2569 msgid "Object color:" msgstr "" #: gschem/src/x_dialog.c:2622 msgid "Hotkeys" msgstr "Teclas de atalho" #: gschem/src/x_dialog.c:2662 msgid "Function" msgstr "Função" #: gschem/src/x_dialog.c:2669 msgid "Keystroke(s)" msgstr "Pressionamentos de tecla" #: gschem/src/x_dialog.c:2977 msgid "Find Text" msgstr "Localizar Texto" #: gschem/src/x_dialog.c:3008 msgid "Text to find:" msgstr "Loc. Texto:" #: gschem/src/x_dialog.c:3018 msgid "descend into hierarchy" msgstr "Desce à hierarquia" #: gschem/src/x_dialog.c:3084 msgid "Hide Text" msgstr "Esconder Texto" #: gschem/src/x_dialog.c:3115 msgid "Hide text starting with:" msgstr "Ocultar texto iniciado com:" #: gschem/src/x_dialog.c:3185 msgid "Show Text" msgstr "Mostrar texto" #: gschem/src/x_dialog.c:3216 msgid "Show text starting with:" msgstr "Mostrar texto iniciado com:" #: gschem/src/x_dialog.c:3675 msgid "S_elect the schematics you want to save:" msgstr "" #: gschem/src/x_dialog.c:3770 #, c-format msgid "Save the changes to schematic \"%s\" before closing?" msgstr "" #: gschem/src/x_dialog.c:3776 #, c-format msgid "" "There are %d schematics with unsaved changes. Save changes before closing?" msgstr "" #: gschem/src/x_dialog.c:3805 msgid "If you don't save, all your changes will be permanently lost." msgstr "" "Se você não salvar, todas as suas modificações serão permanentemente " "perdidas." #: gschem/src/x_dialog.c:3825 msgid "_Close without saving" msgstr "_Fechar sem salvar" #: gschem/src/x_dialog.c:4161 #, c-format msgid "" "The input attribute \"%s\" is invalid\n" "Please correct in order to continue\n" "\n" "The name and value must be non-empty.\n" "The name cannot end with a space.\n" "The value cannot start with a space." msgstr "" "O atributo de entrada \"%s\" é " "inválido\n" "Por favor corrija para continuar\n" "\n" "O nome e valor não podem ser vazios.\n" "O nome não pode acabar com espaço.\n" "O valor não pode começar com espaço." #: gschem/src/x_dialog.c:4163 msgid "Invalid Attribute" msgstr "Atributo Inválido" #: gschem/src/x_dialog.c:4199 msgid "Pin type" msgstr "" #: gschem/src/x_dialog.c:4223 msgid "Net pin" msgstr "" #: gschem/src/x_dialog.c:4225 msgid "Bus pin (graphical)" msgstr "" #: gschem/src/x_fileselect.c:42 msgid "Schematics" msgstr "Diagramas" #: gschem/src/x_fileselect.c:47 msgid "Symbols" msgstr "Símbolos" #: gschem/src/x_fileselect.c:52 msgid "Schematics and symbols" msgstr "Diagramas e Símbolos" #: gschem/src/x_fileselect.c:58 msgid "All files" msgstr "Todos os arquivos" #: gschem/src/x_fileselect.c:171 msgid "Open..." msgstr "Abrir..." #: gschem/src/x_fileselect.c:231 msgid "Save as..." msgstr "Salvar como..." #: gschem/src/x_fileselect.c:284 #, c-format msgid "" "The selected file `%s' already exists.\n" "\n" "Would you like to overwrite it?" msgstr "" #: gschem/src/x_fileselect.c:287 msgid "Overwrite file?" msgstr "Sobrescrever arquivo?" #: gschem/src/x_fileselect.c:289 msgid "Save cancelled on user request\n" msgstr "Salvar cancelado a pedido do usuário\n" #: gschem/src/x_image.c:176 msgid "Encapsulated Postscript" msgstr "Encapsulated Postscript" #: gschem/src/x_image.c:296 #, c-format msgid "x_image_lowlevel: Unable to write eps file %s.\n" msgstr "" #: gschem/src/x_image.c:374 #, c-format msgid "x_image_lowlevel: Unable to write %s file %s.\n" msgstr "" #: gschem/src/x_image.c:384 #, c-format msgid "" "There was the following error when saving image with type %s to filename:\n" "%s\n" "\n" "%s.\n" msgstr "" #: gschem/src/x_image.c:403 #, c-format msgid "Wrote color image to [%s] [%d x %d]\n" msgstr "Salva imagem colorida [%s] [%d x %d]\n" #: gschem/src/x_image.c:405 #, c-format msgid "Wrote black and white image to [%s] [%d x %d]\n" msgstr "Salva imagem em Preto e branco [%s] [%d x %d]\n" #: gschem/src/x_image.c:413 msgid "x_image_lowlevel: Unable to get pixbuf from gschem's window.\n" msgstr "" #: gschem/src/x_image.c:458 msgid "Width x Height" msgstr "Largura x Altura" #: gschem/src/x_image.c:474 msgid "Image type" msgstr "Tipo de imagem" #: gschem/src/x_image.c:495 msgid "Write image..." msgstr "Gravar imagem..." #: gschem/src/x_log.c:209 msgid "** Invalid UTF-8 in log message. See stderr or gschem.log.\n" msgstr "" #: gschem/src/x_log.c:288 msgid "Status" msgstr "Status" #: gschem/src/x_menus.c:37 msgid "/Add Net" msgstr "/Inserir Net" #: gschem/src/x_menus.c:38 msgid "/Add Attribute..." msgstr "/Inserir Atributo..." #: gschem/src/x_menus.c:39 msgid "/Add Component..." msgstr "/Inserir Componente..." #: gschem/src/x_menus.c:40 msgid "/Add Bus" msgstr "/Inserir Bus" #: gschem/src/x_menus.c:41 msgid "/Add Text" msgstr "/Inserir Texto" #: gschem/src/x_menus.c:43 msgid "/Zoom In" msgstr "/Zoom maior" #: gschem/src/x_menus.c:44 msgid "/Zoom Out" msgstr "/Zoom menor" #: gschem/src/x_menus.c:45 msgid "/Zoom Box" msgstr "/Caixa de Zoom" #: gschem/src/x_menus.c:46 msgid "/Zoom Extents" msgstr "/Zoom desenho" #: gschem/src/x_menus.c:48 msgid "/Select" msgstr "/Selecionar" #: gschem/src/x_menus.c:49 msgid "/Edit..." msgstr "/Editar..." #: gschem/src/x_menus.c:50 msgid "/Edit pin type..." msgstr "" #: gschem/src/x_menus.c:51 msgid "/Copy" msgstr "/Copiar" #: gschem/src/x_menus.c:52 msgid "/Move" msgstr "/Mover" #: gschem/src/x_menus.c:53 msgid "/Delete" msgstr "/Apagar" #: gschem/src/x_menus.c:56 msgid "/Down Schematic" msgstr "/Descer ao Esquemático" #: gschem/src/x_menus.c:57 msgid "/Down Symbol" msgstr "/Descer ao Símbolo" #: gschem/src/x_menus.c:58 msgid "/Up" msgstr "/Subir" #: gschem/src/x_menus.c:348 #, c-format msgid "Tried to set the sensitivity on non-existent menu item '%s'\n" msgstr "" #: gschem/src/x_menus.c:372 msgid "Popup_menu_item_factory doesn't exist!\n" msgstr "" #: gschem/src/x_menus.c:385 msgid "Tried to set the sensitivity on a non-existent popup menu_item\n" msgstr "" #: gschem/src/x_misc.c:74 msgid "The operating system is out of memory or resources." msgstr "" #: gschem/src/x_misc.c:155 #, c-format msgid "%s failed to launch URI" msgstr "" #: gschem/src/x_multiattrib.c:961 msgid "Attributes with empty name are not allowed. Please set a name." msgstr "Atributos com nome vazio não permitidos. Defina um nome." #: gschem/src/x_multiattrib.c:1514 msgid "Show Value only" msgstr "Mostra apenas Valor" #: gschem/src/x_multiattrib.c:1516 msgid "Show Name only" msgstr "Mostra apenas Nome" #: gschem/src/x_multiattrib.c:1544 msgid "Promote" msgstr "" #: gschem/src/x_multiattrib.c:1548 msgid "Duplicate" msgstr "Duplicar" #: gschem/src/x_multiattrib.c:1765 msgid "Edit Attributes" msgstr "Editar Atributos" #: gschem/src/x_multiattrib.c:1883 msgid "Vis?" msgstr "Vis?" #: gschem/src/x_multiattrib.c:1901 msgid "N" msgstr "N" #: gschem/src/x_multiattrib.c:1919 msgid "V" msgstr "V" #: gschem/src/x_multiattrib.c:1941 msgid "Show inherited attributes" msgstr "" #: gschem/src/x_multiattrib.c:1957 msgid "Add Attribute" msgstr "Inserir Atributo" #: gschem/src/x_pagesel.c:246 msgid "New Page" msgstr "Nova Página" #: gschem/src/x_pagesel.c:247 msgid "Open Page..." msgstr "Abrir Página..." #: gschem/src/x_pagesel.c:249 msgid "Save Page" msgstr "Salvar" #: gschem/src/x_pagesel.c:250 msgid "Close Page" msgstr "Fechar Página" #: gschem/src/x_pagesel.c:251 msgid "Discard Page" msgstr "Descartar" #: gschem/src/x_pagesel.c:369 msgid "Page Manager" msgstr "Gerenciador de Páginas" #: gschem/src/x_pagesel.c:425 msgid "Filename" msgstr "Nome do arquivo" #: gschem/src/x_pagesel.c:441 msgid "Changed" msgstr "Alterado" #: gschem/src/x_pagesel.c:461 msgid "Right click on the filename for more options..." msgstr "Clique direito no arquivo para opções..." #: gschem/src/x_preview.c:231 msgid "Preview Buffer" msgstr "" #: gschem/src/x_print.c:84 msgid "Select PostScript Filename..." msgstr "" #: gschem/src/x_print.c:164 msgid "Extents with margins" msgstr "Extensão com margens" #: gschem/src/x_print.c:170 msgid "Extents no margins" msgstr "Extensão sem margens" #: gschem/src/x_print.c:176 msgid "Current Window" msgstr "Janela Atual" #: gschem/src/x_print.c:210 msgid "Landscape" msgstr "Paisagem" #: gschem/src/x_print.c:216 msgid "Portrait" msgstr "Retrato" #: gschem/src/x_print.c:276 msgid "Print..." msgstr "Imprimir..." #: gschem/src/x_print.c:284 msgid "Settings" msgstr "Configurações" #: gschem/src/x_print.c:296 msgid "Output paper size:" msgstr "" #: gschem/src/x_print.c:318 msgid "Orientation:" msgstr "Orientação:" #: gschem/src/x_print.c:330 msgid "Destination" msgstr "Destino" #: gschem/src/x_print.c:343 msgid "File:" msgstr "Arquivo:" #: gschem/src/x_print.c:373 msgid "Command:" msgstr "Comando:" #: gschem/src/x_print.c:745 msgid "No print destination specified\n" msgstr "" #: gschem/src/x_print.c:752 #, c-format msgid "Cannot print current schematic to [%s]\n" msgstr "Não consigo imprimir para arquivo [%s]\n" #: gschem/src/x_print.c:761 #, c-format msgid "" "Error printing to file '%s'\n" "Check the log window for more information" msgstr "" #: gschem/src/x_print.c:768 #, c-format msgid "Printed current schematic to [%s]\n" msgstr "Diagrama atual impresso para [%s]\n" #: gschem/src/x_rc.c:40 msgid "ERROR: An unknown error occurred while parsing configuration files.\n" msgstr "" #: gschem/src/x_rc.c:45 msgid "" "An unknown error occurred while parsing configuration files.\n" "\n" "The gschem log may contain more information." msgstr "" #: gschem/src/x_rc.c:57 #, c-format msgid "ERROR: %s\n" msgstr "" #: gschem/src/x_rc.c:60 #, c-format msgid "" "%s\n" "\n" "The gschem log may contain more information." msgstr "" #: gschem/src/x_rc.c:68 msgid "Cannot load gschem configuration." msgstr "" #: gschem/src/x_script.c:47 gschem/lib/system-gschemrc.scm:1381 msgid "Execute Script..." msgstr "Script..." #: gschem/src/x_script.c:66 #, c-format msgid "Executing guile script [%s]\n" msgstr "Executando script guile [%s]\n" #: gschem/src/x_window.c:82 #, c-format msgid "Couldn't allocate gc\n" msgstr "" #: gschem/src/x_window.c:321 msgid "New" msgstr "Novo" #: gschem/src/x_window.c:322 msgid "New file" msgstr "Novo arquivo" #: gschem/src/x_window.c:328 msgid "Open" msgstr "Abrir" #: gschem/src/x_window.c:329 msgid "Open file..." msgstr "Abrir arquivo..." #: gschem/src/x_window.c:335 msgid "Save" msgstr "Salvar" #: gschem/src/x_window.c:336 msgid "Save file" msgstr "Salvar arquivo" #: gschem/src/x_window.c:343 msgid "Undo" msgstr "Desfazer" #: gschem/src/x_window.c:344 msgid "Undo last operation" msgstr "Desfazer última operação" #: gschem/src/x_window.c:350 msgid "Redo" msgstr "Refazer" #: gschem/src/x_window.c:351 msgid "Redo last undo" msgstr "Refaz o último Desfaz" #: gschem/src/x_window.c:360 msgid "" "Add component...\n" "Select library and component from list, move the mouse into main window, " "click to place\n" "Right mouse button to cancel" msgstr "" "Inserir um componente:\n" "Selecione a biblioteca e componente da lista, vá para a janela mãe, clique " "para colocar o componente\n" "Botão Direito para cancelar" #: gschem/src/x_window.c:370 msgid "" "Add nets mode\n" "Right mouse button to cancel" msgstr "" "Modo de conexões\n" "Botão Direito para cancelar" #: gschem/src/x_window.c:380 msgid "" "Add buses mode\n" "Right mouse button to cancel" msgstr "" "Modo de Barramentos\n" "Botão Direito do mouse para cancelar" #: gschem/src/x_window.c:388 msgid "Add Text..." msgstr "Adicionar Texto..." #: gschem/src/x_window.c:398 msgid "Select" msgstr "Selecionar" #: gschem/src/x_window.c:399 msgid "Select mode" msgstr "Modo de Seleção" #: gschem/src/x_window.c:465 msgid "Evaluate:" msgstr "" #: gschem/src/x_window.c:484 msgid "Pick" msgstr "Pegar" #: gschem/src/x_window.c:500 msgid "Repeat/none" msgstr "Repetir/nenhum" #: gschem/src/x_window.c:510 msgid "Menu/Cancel" msgstr "Menu/Cancelar" #: gschem/src/x_window.c:512 msgid "Pan/Cancel" msgstr "Pan/Cancelar" #: gschem/src/x_window.c:737 #, c-format msgid "Loading schematic [%s]\n" msgstr "Carregando o diagrama [%s]\n" #: gschem/src/x_window.c:748 #, c-format msgid "" "An error occurred while loading the requested file.\n" "\n" "Loading from '%s' failed: %s. The gschem log may contain more information." msgstr "" #: gschem/src/x_window.c:750 msgid "Failed to load file" msgstr "" #: gschem/src/x_window.c:759 #, c-format msgid "New file [%s]\n" msgstr "" #: gschem/src/x_window.c:862 #, c-format msgid "Could NOT save page [%s]\n" msgstr "" #: gschem/src/x_window.c:863 msgid "Error while trying to save" msgstr "Erro tentando salvar" #: gschem/src/x_window.c:873 msgid "Failed to save file" msgstr "" #: gschem/src/x_window.c:884 #, c-format msgid "Saved as [%s]\n" msgstr "Salvar como [%s]\n" #: gschem/src/x_window.c:886 #, c-format msgid "Saved [%s]\n" msgstr "Salvo [%s]\n" #: gschem/src/x_window.c:888 msgid "Saved" msgstr "Salvo" #: gschem/src/x_window.c:962 #, c-format msgid "Discarding page [%s]\n" msgstr "Descartando página [%s]\n" #: gschem/src/x_window.c:962 #, c-format msgid "Closing [%s]\n" msgstr "Fechando [%s]\n" #: gschem/data/geda-gschem.desktop.in:3 msgid "gEDA Schematic Editor" msgstr "Editor de esquemas gEDA" #: gschem/data/geda-gschem.desktop.in:4 msgid "Create and edit electrical schematics and symbols with gschem" msgstr "Crie e edite esquemas elétricos e símbolos com o gschem" #: gschem/lib/system-gschemrc.scm:1368 msgid "_New" msgstr "" #: gschem/lib/system-gschemrc.scm:1369 msgid "_Open..." msgstr "" #: gschem/lib/system-gschemrc.scm:1371 msgid "Open Recen_t" msgstr "" #: gschem/lib/system-gschemrc.scm:1373 msgid "_Save" msgstr "" #: gschem/lib/system-gschemrc.scm:1374 msgid "Save _As..." msgstr "" #: gschem/lib/system-gschemrc.scm:1375 msgid "Save All" msgstr "Salvar Tudo" #: gschem/lib/system-gschemrc.scm:1376 gschem/lib/system-gschemrc.scm:1469 msgid "_Revert" msgstr "" #: gschem/lib/system-gschemrc.scm:1378 msgid "_Print..." msgstr "" #: gschem/lib/system-gschemrc.scm:1379 msgid "Write _image..." msgstr "" #: gschem/lib/system-gschemrc.scm:1383 msgid "New Window" msgstr "Nova Janela" #: gschem/lib/system-gschemrc.scm:1384 msgid "_Close Window" msgstr "" #: gschem/lib/system-gschemrc.scm:1385 msgid "_Quit" msgstr "" #: gschem/lib/system-gschemrc.scm:1391 msgid "_Undo" msgstr "" #: gschem/lib/system-gschemrc.scm:1392 msgid "_Redo" msgstr "" #: gschem/lib/system-gschemrc.scm:1394 msgid "Cu_t" msgstr "" #: gschem/lib/system-gschemrc.scm:1395 msgid "_Copy" msgstr "" #: gschem/lib/system-gschemrc.scm:1396 msgid "_Paste" msgstr "" #: gschem/lib/system-gschemrc.scm:1397 msgid "_Delete" msgstr "" #: gschem/lib/system-gschemrc.scm:1400 msgid "Select All" msgstr "" #: gschem/lib/system-gschemrc.scm:1401 msgid "Deselect" msgstr "" #: gschem/lib/system-gschemrc.scm:1405 msgid "Rotate 90 Mode" msgstr "Modo de Rotação" #: gschem/lib/system-gschemrc.scm:1408 msgid "Edit..." msgstr "Editar..." #: gschem/lib/system-gschemrc.scm:1409 msgid "Edit Text..." msgstr "Editar Texto..." #: gschem/lib/system-gschemrc.scm:1410 msgid "Slot..." msgstr "" #: gschem/lib/system-gschemrc.scm:1411 msgid "Color..." msgstr "Cor..." #: gschem/lib/system-gschemrc.scm:1412 msgid "Line Width & Type..." msgstr "Largura/Tipo de Linha..." #: gschem/lib/system-gschemrc.scm:1413 msgid "Fill Type..." msgstr "Preenchimento..." #: gschem/lib/system-gschemrc.scm:1414 msgid "Symbol Translate..." msgstr "Transladar..." #: gschem/lib/system-gschemrc.scm:1418 msgid "Invoke Macro" msgstr "" #: gschem/lib/system-gschemrc.scm:1419 msgid "Embed Component/Picture" msgstr "Embutir Componente/Imagem" #: gschem/lib/system-gschemrc.scm:1420 msgid "Unembed Component/Picture" msgstr "Desembutir Componente/Imagem" #: gschem/lib/system-gschemrc.scm:1421 msgid "Update Component" msgstr "Atualizar Componente" #: gschem/lib/system-gschemrc.scm:1422 msgid "Show/Hide Inv Text" msgstr "Exibir/Ocultar textos ocultos" #: gschem/lib/system-gschemrc.scm:1428 msgid "Copy into 1" msgstr "Copiar para 1" #: gschem/lib/system-gschemrc.scm:1429 msgid "Copy into 2" msgstr "Copiar para 2" #: gschem/lib/system-gschemrc.scm:1430 msgid "Copy into 3" msgstr "Copiar para 3" #: gschem/lib/system-gschemrc.scm:1431 msgid "Copy into 4" msgstr "Copiar para 4" #: gschem/lib/system-gschemrc.scm:1432 msgid "Copy into 5" msgstr "Copiar para 5" #: gschem/lib/system-gschemrc.scm:1433 msgid "Cut into 1" msgstr "Cortar para 1" #: gschem/lib/system-gschemrc.scm:1434 msgid "Cut into 2" msgstr "Cortar para 2" #: gschem/lib/system-gschemrc.scm:1435 msgid "Cut into 3" msgstr "Cortar para 3" #: gschem/lib/system-gschemrc.scm:1436 msgid "Cut into 4" msgstr "Cortar para 4" #: gschem/lib/system-gschemrc.scm:1437 msgid "Cut into 5" msgstr "Cortar para 5" #: gschem/lib/system-gschemrc.scm:1438 msgid "Paste from 1" msgstr "Colar de 1" #: gschem/lib/system-gschemrc.scm:1439 msgid "Paste from 2" msgstr "Colar de 2" #: gschem/lib/system-gschemrc.scm:1440 msgid "Paste from 3" msgstr "Colar de 3" #: gschem/lib/system-gschemrc.scm:1441 msgid "Paste from 4" msgstr "Colar de 4" #: gschem/lib/system-gschemrc.scm:1442 msgid "Paste from 5" msgstr "Colar de 5" #: gschem/lib/system-gschemrc.scm:1448 msgid "_Redraw" msgstr "" #: gschem/lib/system-gschemrc.scm:1449 msgid "_Pan" msgstr "" #: gschem/lib/system-gschemrc.scm:1450 msgid "Zoom _Box" msgstr "" #: gschem/lib/system-gschemrc.scm:1451 msgid "Zoom _Extents" msgstr "" #: gschem/lib/system-gschemrc.scm:1452 msgid "Zoom _In" msgstr "" #: gschem/lib/system-gschemrc.scm:1453 msgid "Zoom _Out" msgstr "" #: gschem/lib/system-gschemrc.scm:1454 msgid "Zoom _Full" msgstr "" #: gschem/lib/system-gschemrc.scm:1456 msgid "_Dark color scheme" msgstr "" #: gschem/lib/system-gschemrc.scm:1457 msgid "_Light color scheme" msgstr "" #: gschem/lib/system-gschemrc.scm:1458 msgid "B_W color scheme" msgstr "" #: gschem/lib/system-gschemrc.scm:1465 msgid "_Manager..." msgstr "" #: gschem/lib/system-gschemrc.scm:1466 msgid "_Previous" msgstr "" #: gschem/lib/system-gschemrc.scm:1467 msgid "_Next" msgstr "" #: gschem/lib/system-gschemrc.scm:1468 msgid "Ne_w" msgstr "" #: gschem/lib/system-gschemrc.scm:1470 msgid "_Close" msgstr "" #: gschem/lib/system-gschemrc.scm:1472 msgid "_Discard" msgstr "" #: gschem/lib/system-gschemrc.scm:1478 msgid "_Component..." msgstr "" #: gschem/lib/system-gschemrc.scm:1479 msgid "_Net" msgstr "" #: gschem/lib/system-gschemrc.scm:1480 msgid "B_us" msgstr "" #: gschem/lib/system-gschemrc.scm:1481 msgid "_Attribute..." msgstr "" #: gschem/lib/system-gschemrc.scm:1482 msgid "_Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1484 msgid "_Line" msgstr "" #: gschem/lib/system-gschemrc.scm:1485 msgid "_Box" msgstr "" #: gschem/lib/system-gschemrc.scm:1486 msgid "C_ircle" msgstr "" #: gschem/lib/system-gschemrc.scm:1487 msgid "A_rc" msgstr "" #: gschem/lib/system-gschemrc.scm:1488 msgid "_Pin" msgstr "" #: gschem/lib/system-gschemrc.scm:1489 msgid "Pictu_re..." msgstr "" #: gschem/lib/system-gschemrc.scm:1495 msgid "_Down Schematic" msgstr "" #: gschem/lib/system-gschemrc.scm:1496 msgid "Down _Symbol" msgstr "" #: gschem/lib/system-gschemrc.scm:1497 msgid "_Up" msgstr "" #: gschem/lib/system-gschemrc.scm:1498 msgid "D_ocumentation..." msgstr "" #: gschem/lib/system-gschemrc.scm:1504 msgid "_Attach" msgstr "" #: gschem/lib/system-gschemrc.scm:1505 msgid "_Detach" msgstr "" #: gschem/lib/system-gschemrc.scm:1506 msgid "Show _Value" msgstr "" #: gschem/lib/system-gschemrc.scm:1507 msgid "Show _Name" msgstr "" #: gschem/lib/system-gschemrc.scm:1508 msgid "Show _Both" msgstr "" #: gschem/lib/system-gschemrc.scm:1509 msgid "_Toggle Visibility" msgstr "" #: gschem/lib/system-gschemrc.scm:1511 msgid "_Find Specific Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1512 msgid "_Hide Specific Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1513 msgid "_Show Specific Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1514 msgid "A_utonumber Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1520 msgid "_Text Size..." msgstr "" #: gschem/lib/system-gschemrc.scm:1521 msgid "Cycle _grid styles" msgstr "" #: gschem/lib/system-gschemrc.scm:1522 msgid "Toggle _Snap On/Off" msgstr "" #: gschem/lib/system-gschemrc.scm:1523 msgid "Snap Grid S_pacing..." msgstr "" #: gschem/lib/system-gschemrc.scm:1524 msgid "Scale _up Grid Spacing" msgstr "" #: gschem/lib/system-gschemrc.scm:1526 msgid "Scale _down Grid Spacing" msgstr "" #: gschem/lib/system-gschemrc.scm:1528 msgid "Toggle _Outline/Box" msgstr "" #: gschem/lib/system-gschemrc.scm:1530 msgid "Toggle Net _Rubberband" msgstr "" #: gschem/lib/system-gschemrc.scm:1531 msgid "Toggle _Magnetic Net" msgstr "" #: gschem/lib/system-gschemrc.scm:1532 msgid "Show _Log Window..." msgstr "" #: gschem/lib/system-gschemrc.scm:1534 msgid "Show _Coord Window..." msgstr "" #: gschem/lib/system-gschemrc.scm:1542 msgid "gEDA Docu_mentation..." msgstr "" #: gschem/lib/system-gschemrc.scm:1543 msgid "gschem _FAQ..." msgstr "" #: gschem/lib/system-gschemrc.scm:1544 msgid "gEDA _Wiki..." msgstr "" #: gschem/lib/system-gschemrc.scm:1545 msgid "Component D_ocumentation..." msgstr "" #: gschem/lib/system-gschemrc.scm:1547 msgid "_Hotkeys..." msgstr "" #: gschem/lib/system-gschemrc.scm:1548 msgid "_About..." msgstr "" #: gschem/lib/system-gschemrc.scm:1554 msgid "_File" msgstr "Arquivo" #: gschem/lib/system-gschemrc.scm:1555 msgid "_Edit" msgstr "_Editar" #: gschem/lib/system-gschemrc.scm:1556 msgid "_Buffer" msgstr "_Buffer" #: gschem/lib/system-gschemrc.scm:1557 msgid "_View" msgstr "Exibir" #: gschem/lib/system-gschemrc.scm:1558 msgid "_Page" msgstr "_Página" #: gschem/lib/system-gschemrc.scm:1559 msgid "_Add" msgstr "_Adicionar" #: gschem/lib/system-gschemrc.scm:1560 msgid "Hie_rarchy" msgstr "Hie_rarquia" #: gschem/lib/system-gschemrc.scm:1561 msgid "A_ttributes" msgstr "A_tributos" #: gschem/lib/system-gschemrc.scm:1562 msgid "_Options" msgstr "_Opções" #: gschem/lib/system-gschemrc.scm:1563 msgid "_Help" msgstr "Ajuda" #: gschem/scheme/gschem/deprecated.scm:102 #, scheme-format msgid "Invalid text alignment ~A." msgstr "" #: gschem/scheme/gschem/gschemdoc.scm:225 msgid "No documentation found" msgstr "" #: gschem/scheme/gschem/keymap.scm:38 #, scheme-format msgid "~S is not a valid key combination." msgstr "" #: gschem/scheme/gschem/keymap.scm:153 #, scheme-format msgid "~S is not a prefix key sequence." msgstr "" geda-gaf-1.8.2/gschem/po/stamp-po0000664000175000017500000000001212220651640013436 00000000000000timestamp geda-gaf-1.8.2/gschem/po/ar.gmo0000664000175000017500000012054712220655644013111 00000000000000(\"(.;). e.q.... .... ...../ / /!/ */4/I/_/u/ ////0 00 00(0$0 "1 01+<1h1*1 2$2 (222;2D2H2 Q2 \2h2 o2 y2>22222 2 3 3%3)32363?3>S33233'3444 $4 04;4 K4Y4 _4j4s4z4 444 44444444 4 4 5 5 5 ,585 J5k5(535%5%6!.66P66!6=6677 .7;7A7G7M7S7 Y7 d7 o7 z7 777577 7 88&8C8U8 \8h8o88 8888 8 8/8"929G9L9\9k9 99 9 999999: ":/:G:d:my:E:-;H;Z;w;;;;;"; <<< < +<6<=< E<O</X<4</</<!=1?=q= y= = ==== == = >>=> V>a>'h>>3>->*?&/?.V?<?<?-?3-@?a@A@,@&A&7A%^A A A A A AA AA AAB B B %B 2B>B PB\BaBqBB B B BB BB B BBBCC CCCC #C 0C=CECJCNC WCbC{CCCC7CD* DKDODfD D#DD D D DD DDEE2E BEOESE \E gEuE}EEEE E E E E EEEE F F F!F%F.F7F@F'IFqFzFFF"FFFFFFGG G)G EG/SG GGG GGG(GGH H H "H-H MH2WHH H HHHH HHI II5IPIWI kIwI III II IIIJ JJ-J =JHJ^J rJ }JJJJJ JJJJK K!K&K@K(HKqKKKK K!KK0K L L*L;LBLIL4]LLL L L L LGLJMRbMLMNN4NIN]N qN NN?N"N* O?6O<vOOOOOOOPP6P TPuPPPPP P P PPPPQ QQ)Q`GQ-Q8Q+R-;RiRyRRRRR.R$RSS S S SS SS&S T)T.T 6TDTITQTXT nT|TTTTTTTTTTT T UU $U0U5U:U@UIURUXU]UdU iU sU}UUUUUU UUUUUUU;U2VGIVVV VMVW&7W^WmWWWW6W!W XR7XX=X.X/X-YX+[[[[[[[ [ [\#\?\ ]\ j\ t\ ~\\*\ \ \\#\]2]J]^]y]C]^ ^"^ _ _K$_Ep_ __R_(`NaTafaoaaaaaaaaabR b ^blbb b bbbbbcc $ccEc c9c1cE!dgd nd yddddddd d e e e(eEe Yefewe e e e e eeeeeef#f9Bf*|fSfjf-fg:g&g\g ShDthUhii55ikiiiiii i i i i ii# jZ1j jjj j@jk-k 6kCkLk`kik#k+kkkkBk5@l%vl lll"lmm0mEmbm m mm"m*mnn89nrnnzTo%o#o'p"Ap dppp"p7pq *q6qHq]q pq {qq qSqEqKArKr3rm s{ssss s5s3t8t"Htkt ttIttu/uMueiueuX5vZv[vdEwXw\x``xuxk7yKy@y>0z>ozzz zz {{{&{C{#T{x{{{{{*{|'|";|"^|#||||||}}/} A}b} d}p} w} }}}'}}} }~~"~,8~e~u~*~+~O~(8?a ()Mbk ʀ/5R j*u Ɂ ԁ ߁  0@Pm t ƂڂE H S` z5 0ǃ-&./^ t~- dGfm&%˅7)2DZm<~[φ +6F^#x# ͇" #DMd/|"Ĉ! ##9]x‰߉$"@U&l$# ܊  /1;m t D$! +BX+j :ތ %5KJōՍ^MnΎY=+2Ï+."Qmr8%H^h[ l z->) ,(7-`/,31:Pj ؔ0>GӕPLl( $G91Ș*ߘ * 4>GT ™ ̙ ֙  / 9 CM my ̚  ", > K Y c o y  ɛ ՛ߛ 0 <FNDW.f˜2 CdVv"͝W3H5|5 7[,10pTyKΠL+%!W .GEgl`abcd<"2QR6N  $qn)p/]uvwxyM:\ msoyri D1bH`T3  ,#RZ[\]^Be09&'N'('<UP5*FWJ. C{f_Y=tU:*}t> u _ 01M3Vv>#89(CJVY&oO4  q! gjAL@/@I2kIlK4ET%P%;AF+,-pX?"?"w$Qj7(Ghh6cD8e7)  fH!k|rKx=XL-~; S#O^sSn[$mz 5&BdZaz{|}~i** Invalid UTF-8 in log message. See stderr or gschem.log. *unchanged*/Add Attribute.../Add Bus/Add Component.../Add Net/Add Text/Copy/Delete/Down Schematic/Down Symbol/Edit pin type.../Edit.../Move/Select/Up/Zoom Box/Zoom Extents/Zoom In/Zoom OutAdd AttributeAttach OptionsEdit AttributeOptionsScopeText ContentText PropertiesThe input attribute "%s" is invalid Please correct in order to continue The name and value must be non-empty. The name cannot end with a space. The value cannot start with a space.A_rcA_ttributesA_utonumber Text...About gschemActionAction feedback mode set to BOUNDINGBOX Action feedback mode set to OUTLINE Add AttributeAdd Text...Add buses mode Right mouse button to cancelAdd component... Select library and component from list, move the mouse into main window, click to place Right mouse button to cancelAdd nets mode Right mouse button to cancelAlignment:AllAll filesAngle 1:Angle 2:ArcArc ModeArc ParamsArc Radius:AttachAttributeAttributesAttributes with empty name are not allowed. Please set a name.Automatic slottingAutonumber textAutonumber text in:B_usBackgroundBottom to topBounding boxBoxBox ModeBusBus ModeBus pin (graphical)Bus ripper symbol [%s] was not found in any component library C_ircleCannot find any schematics above the current one! Cannot find source [%s] Cannot print current schematic to [%s] CenterChangedCircleCircle ModeClose PageClosing Window Closing [%s] ColorColor EditColor...Color:Command:ComponentComponent D_ocumentation...Component ModeComponentsCoordsCopyCopy 1Copy 2Copy 3Copy 4Copy 5Copy ModeCopy into 1Copy into 2Copy into 3Copy into 4Copy into 5Copy to clipboardCould NOT save backup file [%s] Could NOT save page [%s] Could NOT set backup file [%s] readonly Could NOT set previous backup file [%s] read-write Could not allocate display color %i! Could not allocate outline color %i! Could not allocate the color %s! Could not find symbol [%s] in library. Update failed. Couldn't allocate gc Couldn't find init scm file [%s] Create and edit electrical schematics and symbols with gschemCu_tCurrent WindowCurrent locale settings: %s Current pageCut 1Cut 2Cut 3Cut 4Cut 5Cut into 1Cut into 2Cut into 3Cut into 4Cut into 5Cut to clipboardCycle _grid stylesDOH! tried to find the whichone, but didn't find it! D_ocumentation...Dash Length:Dash Space:DashedDefault behavior - reference componentDegrees of Sweep:DeleteDestinationDetachDetached attributeDiagonalDiscard PageDiscarding page [%s] Dot grid selected DottedDown _SymbolDuplicateERROR: NULL object in color_edit_dialog_apply! ERROR: NULL object in o_move_end! ERROR: NULL object! EditEdit AttributesEdit Fill TypeEdit Line Width & TypeEdit TextEdit Text PropertiesEdit Text...Edit pin typeEdit slot numberEdit slot number:Edit...EmbedEmbed Component/PictureEmbed component in schematicEmpty bufferEncapsulated PostscriptEnter new snap grid spacing:Enter new text size:Enter text, click apply, move cursor into window, click to place text. Middle button to rotate while placing.Error printing to file '%s' Check the log window for more informationError while trying to saveExecute Script...Executing guile script [%s] Extents no marginsExtents with marginsFailed to Save AllFailed to load fileFailed to load picture: %sFailed to read init scm file [%s] File orderFile:FilenameFill Type...Fill Type:FilledFilter:Find TextFunctionGot a non line object in o_move_check_endpoint Got an invalid buffer_number [o_buffer_paste_start] Got an invalid which one in o_bus_draw_stretch Got an invalid which one in o_net_draw_stretch Got an unexpected NULL in o_edit Got invalid show option; defaulting to show both GraphicGrid OFF Grid pointGrid(%s, %s)HatchHidden text is now invisible Hidden text is now visible Hide TextHide text starting with:Hie_rarchyHollowHotkeysIf you don't save, all your changes will be permanently lost.Image typeIn UseInclude component as individual objectsInvalid AttributeInvalid dot size [%d] passed to dots-grid-dot-size Invalid gain [%d] passed to keyboardpan-gain Invalid gain [%d] passed to mousepan-gain Invalid gain [%d] passed to zoom-gain Invalid num levels [%d] passed to undo-levels Invalid number of pixels [%d] passed to select-slack-pixels Invalid number of seconds [%d] passed to auto-save-interval Invalid number of steps [%d] scrollpan-steps Invalid offset [%d] passed to add-attribute-offset Invalid pixel spacing [%d] passed to dots-grid-fixed-threshold Invalid pixel spacing [%d] passed to mesh-grid-display-threshold Invalid size [%d] passed to bus-ripper-size Invalid size [%d] passed to snap-size Invalid size [%d] passed to text-size Invalid zoomfactor [%d] passed to %s Invoke MacroKeystroke(s)LandscapeLeft to rightLibrariesLineLine ModeLine Width & Type...Line Width:Loading schematic [%s] LockLogic bubbleLower LeftLower MiddleLower RightMagnetic Net ModeMenu/CancelMeshMesh grid majorMesh grid minorMesh grid selected Middle LeftMiddle MiddleMiddle RightMirrorMirror ModeMoveMove ModeMultiple CopyMultiple Copy ModeNNONENameName:Ne_wNetNet ModeNet endpointNet junctionNet pinNetsNewNew PageNew WindowNew Window created [%s] New fileNew file [%s] New page created [%s] New slot number out of range No '*' or '?' given at the end of the autonumber text. No print destination specified No searchstring given in autonumber text. OFFObject already locked Object already unlocked Object color:Offset to translate? (0 for origin)OpenOpen Page...Open Recen_tOpen file...Open...Orientation:Output backgroundOutput paper size:Overwrite existing numbersOverwrite file?Page ManagerPanPan ModePan/CancelPaste %d ModePaste 1Paste 2Paste 3Paste 4Paste 5Paste from 1Paste from 2Paste from 3Paste from 4Paste from 5Paste from clipboardPhantomPickPictu_re...PicturePicture ModePinPin ModePin typePitch 1:Pitch 2:Popup_menu_item_factory doesn't exist! PortraitPreviewPreview BufferPrint...Printed current schematic to [%s] PromoteRead init scm file [%s] Really revert page?RedoRedo last undoRemove numbersRepeat/Repeat/noneReplace existing attributesResnap ActiveRight click on the filename for more options...Right to leftRotateRotate 90 ModeRotate ModeRubber band OFF Rubber band ON S_elect the schematics you want to save:SaveSave AllSave PageSave _As...Save as...Save cancelled on user request Save fileSave the changes to schematic "%s" before closing?SavedSaved AllSaved [%s] Saved as [%s] Scale _down Grid SpacingScale _up Grid SpacingSchematicsSchematics and symbolsScreenSearch for:Searching for source [%s] Searching for symbol [%s] SelectSelect Component...Select ModeSelect PostScript Filename...Select modeSelect objs firstSelected objectsSelectionSettingsShow HiddenShow Name & ValueShow Name OnlyShow Name onlyShow TextShow Value OnlyShow Value onlyShow _BothShow _Coord Window...Show _Log Window...Show _NameShow _ValueShow inherited attributesShow text starting with:Show/Hide Inv TextShowBShowHiddenShowNShowVSingle Attribute EditorSize:Skip numbers found in:SlotSlot attribute malformed Slot...Slotting not allowed for this component Snap Grid S_pacing...Snap OFF (CAUTION!) Snap ON Snap OffSnap SizeSnap back to the grid (CAUTION!) SolidSorry but this is a non-functioning menu option Sort order:Start Angle:Starting number:StatusStrokeSymbol Translate...Symbol is not a real file. Symbol cannot be loaded. SymbolsTextText Entry...Text ModeText SizeText to find:The selected file `%s' already exists. Would you like to overwrite it?There are %d schematics with unsaved changes. Save changes before closing?There was the following error when saving image with type %s to filename: %s %s. This is free software, and you are welcome to redistribute it under certain This is the MINGW32 port. Toggle Net _RubberbandToggle _Magnetic NetToggle _Outline/BoxToggle _Snap On/OffTop to bottomTranslateTranslating schematic [%d %d] Tried to add more than two bus rippers. Internal gschem error. Tried to get an invalid color: %d Tried to get an invalid outline color: %d Tried to set the sensitivity on a non-existent popup menu_item Tried to set the sensitivity on non-existent menu item '%s' Type:UndoUndo last operationUndo/Redo disabled in rc file UnembedUnembed Component/PictureUnknownUnknown end for line (%d) Unknown type for box (fill)! Unknown type for circle (fill)! Unknown type for path (fill)! Unknown type for stroke (%d) ! UnlockUpdateUpdate ComponentUpper LeftUpper MiddleUpper RightVValueValue:Vis?VisToggleVisibleWARNING: Do not translate with snap off! WARNING: If you are translating a symbol to the origin, the snap grid size should be set to 100 WARNING: Snap grid size is not equal to 100! WARNING: Turning snap on and continuing with translate. Warning: Ending net at off grid coordinate Warning: Starting net at off grid coordinate Whole hierarchyWidth x HeightWidth:WorldWrite _image...Write image...Wrote black and white image to [%s] [%d x %d] Wrote color image to [%s] [%d x %d] You must set the GEDADATA environment variable! gschem cannot locate its data files. You must set the GEDADATA environment variable to point to the correct location. Zoom BoxZoom _BoxZoom _ExtentsZoom _FullZoom _InZoom _OutZoom boxZoom too small! Cannot zoom further. _About..._Add_Attach_Attribute..._Box_Buffer_Close_Close without saving_Component..._Copy_Dark color scheme_Delete_Detach_Discard_Down Schematic_Edit_File_Find Specific Text..._Help_Hide Specific Text..._Hotkeys..._Light color scheme_Line_Manager..._Net_New_Next_Open..._Options_Page_Pan_Paste_Pin_Previous_Print..._Quit_Redo_Redraw_Revert_Save_Show Specific Text..._Text Size..._Text..._Toggle Visibility_Undo_Up_Viewblackconditions; please see the COPYING file for more details. descend into hierarchyduplicate slot may cause problems: [symbolname=%s, number=%d, slot=%d] gEDA Docu_mentation...gEDA Schematic EditorgEDA _Wiki...gEDA/gschem comes with ABSOLUTELY NO WARRANTY; see COPYING for more details. gEDA/gschem version %s%s.%s gEDA: GPL Electronic Design Automationgschem _FAQ...magnetic net mode: OFF magnetic net mode: ON nonenumslots attribute missing o_autosave_backups: Can't get the real filename of %s.o_buffer_copy: Invalid buffer %i o_buffer_cut: Invalid buffer %i slotted object without slot attribute may cause problems when autonumbering slots whitex_image_lowlevel: Unable to get pixbuf from gschem's window. x_image_lowlevel: Unable to write %s file %s. x_image_lowlevel: Unable to write eps file %s. Project-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2010-02-14 06:08+0000 Last-Translator: عبدالله شلي (Abdellah Chelli) Language-Team: gEDA developers Language: ar MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2010-02-14 12:56+0000 X-Generator: Launchpad (build Unknown) X-Poedit-Language: Arabic X-Poedit-SourceCharset: utf-8 ‏** UTF-8 غير صالح في رسالة سجل. راجع stderr أو gschem.log. *لم يغيّر*/أضف سمة.../أضف ناقلا/أضف مكونا.../أضف شبكة/أضف نصا/انسخ/احذف/انزل إلى المخطط/انزل إلى الرمز/حرّر نوع الدبوس/حرّر.../حرّك/انتق/اصعد/قرب الإطار/قرّب مع شمل الامتدادات/قرّب/بعّدأضف سمةأرفق الخياراتحرّر السّمةالخياراتالمجالمحتوى النصخصائص النص‏سمة الإدخال "%s" غير صالحة الرجاء تصحيحها من أجل الاستمرار يجب أن يكون الاسم و القيمة غير فارغين. لا يمكن أن ينتهي الاسم بمسافة. لا يمكن بدء القيمة بمسافة.ق_وس_سمات_نص الترقيم الآلي...عن gschemإجراءوضع ردود الإجراء معيّن إلى الإطار المحيط وضع ردود الإجراء معيّن إلى حد الخارجي أضف سمةأضف نصا...وضع إضافة النواقل الزر الأيمن للفارة للإلغاءأضف مكونا... انتق مكتبة و مكونا من القائمة، حرك الفأرة إلى داخل النافذة الرئيسية،ثم انقر لوضعه الزر الأيمن للفارة للإلغاءوضع إضافة شبكات الزر الأيمن للفارة للإلغاءالمحاذاة:الكلكل الملفاتالزاوية 1:الزاوية 2:قوسوضع القوسمعاملات القوسشعاع القوس:أرفقسمةسماتغير مسموح بسمات مع اسم فارغ. الرجاء تعيين اسم.شقّ آلينص تعداد آلينص تعداد آلي في:نا_قلخلفيّةمن الأسفل للأعلىمربع إحاطةإطاروضع الإطارناقلوضع الناقلدبوس لناقل (رسومي)لم يتم العثور على رمز كسار الناقل [%s] في أي مكتبة مكون _دائرةيتعذر إيجاد أي مخطط فوق الحالي! يتعذر العثور على المنبع [%s] لا يمكن طباعة المخطط الحالي إلى [‎%s‬] وسطغُيّردائرةوضع الدائرةأغلق الصفحةإغلاق النافذة غلق [‎%s‬] لونتحرير اللونلون...اللون:الأمر:مكوّنتوثيق الم_كوناتوضع المكونمكوناتإحداثياتانسخانسخ 1انسخ 2انسخ 3انسخ 4انسخ 5وضع النسخانسخ إلى 1انسخ إلى 2انسخ إلى 3انسخ إلى 4انسخ إلى 5انسخ إلى الحافظةتعذر حفظ الملف الاحتياطي [‎%s‬] تعذّر حفظ الصفحة [‎%s‬] تعذر تعيين الملف الاحتياطي [‎%s‬] للقراءة فقط تعذر تعيين الملف الاحتياطي السابق [‎%s‬] للقراءة والكتابة تعذر تعيين لون العرض %i! تعذر تعيين لون الخط الخارجي %i! تعذر تعيين اللون %s! تعذر العثور على الرمز [%s] في المكتبة. فشل التحديث. تعذر تحديد موقع gc تعذّر العثور على ملف الاستهلال [‎%s‬] أنشء و حرّر المخططات الكهربائية والرموز مع gschem_قصّالنافذة الحاليةالإعدادات المحلية الحالية: %s الصفحة الحاليةقص 1قص 2قص 3قص 4قص 5قص إلى 1قص إلى 2قص إلى 3قص إلى 4قص إلى 5قصّ إلى الحافظةدوّر أنماط ال_شبيكةعجبا! حاولت العثور على أيّ-واحد ولكن لم أعثر عليه! ت_وثيقطول الشرطة:فراغ الشرطة:شُرَطالسلوك الافتراضي - العنصر المرجعيدرجات الاجتياح:احذفالوجهةافصلسمة مفصولةقطريأهمل الصفحةإهمال الصفحة [‎%s‬] انتقيت الشبيكة النقطية منقطانزل إلى ال_رمزضاعفخطأ: كائن فارغ (NULL) في color_edit_dialog_apply! خطأ: كائن فارغ (NULL) في o_move_end! خطأ: كائن فارغ (NULL)! تحريرحرّر المواصفاتحرّر نوع الملءحرّر عرض و نوع الخطحرّر النصحرّر خصائص النصحرّر النص...حرّر نوع الدبوسحرّر عدد الشقّتحرير عدد الشقّ:حرّر...ضمّنضمّن المكون/الصورةضمّن المكون في المخططأفرغ المخزنبوست-سكريبت مغلفأدخل تباعد جديد لشبيكة الجذب:أدخل حجم نص جديد:أدخل النص، انقر فوق تطبيق، حرّك المؤشر إلى داخل النافذة،ثم انقر لوضع النص. الزر الأوسط للتدوير عند الوضع.خطأ في الطباعة إلى الملف '%s' تحقق من نافذة السجل للمزيد من المعلوماتخطا عند محاولة الحفظنفذ مخطوطا (سكربت)...تنفيذ مخطوط guile [‎%s‬] امتدادات بلا هوامشامتدادات مع هوامشفشل حفظ الكلفشل تحميل الملففشل تحميل الصورة: %sفشل قراءة ملف الاستهلال [‎%s‬] ترتيب الملفالملف:اسم الملفنوع الملء...نوع الملء:مملوءالمرشح:ابحث عن نصوظيفةحصلت على كائن غير مشكّل من خط في o_move_check_endpoint حصلت على buffer_number غير صالح [o_buffer_paste_start] حصلت على أيّ-واحد غير صالح في o_bus_draw_stretch حصلت على أيّ-واحد غير صالح في o_net_draw_stretch حصلت على NULL غير متوقع في o_edit حصلت على خيار عرض غير صحيح ؛تعيين الافتراضي لإظهار كليهما رسمشبيكة موقفة نقطة شبيكةشبيكة(%s, %s)تهشيرأصبح الآن النص المخفي مستترا أصبح الآن النص المخفي ظاهرا أخف النصأخف النص البادئ بـ:تسلسل​_هرميمجوّفمفاتيح ساخنةستضيع جميع التّغييرات للأبد إذا لم تحفظ.نوع الصورةقيد الاستخدامضمّن المكون ككائنات فرديةسمة غير صالحةمرّر حجم نقط غير صالح [%d] إلى 'حجم النقط للشبيكة النقطية' مرّر معامل ربح غير صالح [%d] إلى 'معامل ربح لوحة المفاتيح' مرّر معامل ربح غير صالح [%d] إلى 'معامل ربح الفأرة' مرّر معامل ربح غير صالح [%d] إلى 'معامل ربح التقريب' مرّر عدد مستويات غير صالح [%d] إلى 'مستويات التراجع' مرّر عدد بكسلات غير صالح [%d] إلى 'بكسلات مهملة للانتقاء' مرّر عدد ثواني غير صالح [%d] إلى 'مدّة الحفظ الآلي' مرّر عدد خطوات غير صالح [%d] إلى 'خطوات شريط التمرير' مرّرت قيمة إزاحة غير صالحة [%d] إلى 'إزاحة إضافة السمة' مرّر تباعد بكسل غير صالح [%d] إلى 'العتبة الثابتة للشبيكة النقطية' مرّر تباعد بكسل غير صالح [%d] إلى 'عتبة العرض لشبيكة الشُرَط' مرّر حجم غير صالح [%d] إلى 'حجم كسار الناقل' مرّر حجم غير صالح [%d] إلى 'حجم الجذب' مرّر حجم غير صالح [%d] إلى 'حجم النص' مرّر معامل تقريب غير صالح [%d] إلى %s استدع ماكروضغطة مفاتيحعرضيّمن اليسار لليمينمكتباتخطوضع الخطعرض و نوع الخط...عرض الخط:تحميل المخطط [‎%s‬] أقفلفقاعة المنطقاليسار السفليالوسط السفلياليمين السفليوضع الشبكة المغناطيسيةقائمة/ألغِخيط الشبكةأساسي - خيط الشبيكةثانوي - خيط الشبيكةانتقيت شبيكة الشرط اليسار الوسطيالوسط الوسطياليمين الوسطيمرآةوضع المرآةحرّكوضع التّحريكنسخ متعددوضع النسخ المتعددNلا شيئاسمالاسم:_جديدةشبكةوضع الشبكةنقطة النهاية للشبكةوصلة شبكةدبوس لشبكةشبكاتجديدصفحة جديدةنافذة جديدةأنشئت نافذة جديدة [‎%s‬] ملف جديدملف جديد [‎%s‬] أنشئت صفحة جديدة [‎%s‬] عدد شق جديد خارج النطاق لا توجد '*' و لا '؟' في نهاية نص الترقيم الآلي. لم تعيّن وجهة للطباعة لا يوجد نص بحث في نص الترقيم الآلي. إيقافتم إقفال الكائن مسبقا تم فك قفل الكائن مسبقا لون الكائن:قيمة الإزاحة من أجل السحب؟ (0 من أجل المبدأ)افتحافتح صفحة...افتح الأح_دثافتح ملفا...افتح...الاتّجاه:خلفية الإخراجحجم ورق الإخراج:أكتب فوق الأرقام الموجودةاكتب على الملف؟مدير الصفحاتانتقلوضع الإنتقال الإختياريانتقل/ألغِوضع اللصق %dألصق 1ألصق 2ألصق 3ألصق 4ألصق 5ألصق من 1ألصق من 2ألصق من 3ألصق من 4ألصق من 5ألصق من الحافظةوهمالتقط_صورة...صورةوضع الصورةدبوسوضع الدبوسنوع الدبوسالإنحدار 1:الإنحدار 2:مصنع-عنصر-القائمة-المنبثقة غير موجود! طوليّمعاينةمعاينة المخزناطبع...طُبع المخطط الحالي إلى [‎%s‬] رَقِّقراءة ملف الاستهلال [‎%s‬] تريد استعادة الصفحة حقا؟كرّرأعد آخر عملية متراجع عنهاأزل الأعدادكرّر/كرّر/لا شيءاستبدل السمات الموجودةتفعيل إعادة الجذبنقرة يمنى فوق اسم الملف للحصول على المزيد من الخيارات...من اليمين لليسارأدروضع الاستدارة 90وضع الإستدارةالشريط المطاطي موقف الشريط المطاطي مشغل انتق المخططات التي تريد حفظها:احفظاحفظ الكلاحفظ الصفحةاحفظ _ك‍...احفظ كـ...ألغي الحفظ بناء على طلب المستخدم احفظ الملفهل تريد حفظ التغييرات إلى المخطط "%s" قبل الإغلاق؟محفوظحفظ الكل‏حُفظ [‎%s‬] حُفظ كـ [‎%s‬] _صغّر تباعد الشبيكة_كبّر تباعد الشبيكةمخططاتمخططات و رموزشاشةالبحث عن:البحث عن المنبع [%s] البحث عن الرمز [%s] انتقانتق مكونا...وضع الانتقاءانتق اسم ملف بوست-سكريبت...وضع الإنتقاءانتق الكائنات أولاالكائنات المنتقاةمنتقىإعداداتأظهر المخفيأظهر الاسم و القيمةأظهر الاسم فقطأظهر الاسم فقطأظهر النصأظهر القيمة فقطأظهر القيمة فقطأظهر الإ_ثنينأظهر نافذة الم_علم...أظهر نافذة ال_سجل...أظهر ال_اسمأظهر ال_قيمةأظهر السمات الموروثةأظهر النص البادئ بـ:أظهر/أخف النص الخفيأظهرBأظهر المخفيأظهرNأظهرVمحرّر سمة منفردةالحجم:تخطي الأرقام الموجودة في:شقّسمة الشقّ تالفة شقّ...التقسيم (الشقّ) غير مسموح لهذا المكون ت_باعد شبيكة الجذب...الجذب موقف (تنبيه) الجذب مشغّل إيقاف الجذبحجم الجذبجذب نحو الشبيكة (تنبيه!) متواصلعذرا خيار القائمة هذا غير فعّال الترتيب:زاوية البدأ:رقم البدأ:الحالةجرة (Stroke)سحب الرمز...الرمز ليس ملفا حقيقيا. يتعذر تحميل الرمز. رموزنصمدخل نص...وضع النصحجم النصالنص المطلوب:الملف المنتقى '%s' موجود مسبقا. هل تريد الكتابة فوقه؟هناك %d مخطط مع تغييرات غير محفوظة. هل تريد حفظ التغييرات قبل الإغلاق؟حدث الخطأ التالي عند حفظ صورة مع النوع %s تحت اسم الملف: %s %s. هذا برنامج حر، مرحب بإعادة توزيعه مع بعض الشروط، هذا نقل(Port) عن طريق MINGW32. بدّل الشريط الم_طاطي للشبكةوضع الشبكة الم_غناطيسيةبدّل ال_حد الخارجي/الإطارشغل/أوقف ال_جذبمن الأعلى للأسفلاسحبسحب المخطط [%d %d] حاولت إضافة أكثر من اثنين من كسارات الناقل. خطأ داخلي ل‍ gschem. حاول الحصول على لون غير صالح: %d حاول الحصول على لون خط خارجي غير صالح: %d محاولة تعيين الحساسية على عنصر قائمة منبثقة غير موجود '%s' محاولة تعيين الحساسية على عنصر قائمة غير موجود '%s' النّوع:تراجعتراجع عن العملية الأخيرةالتراجع/الإعادة معطلين في الملف rc لا تضمّنلا تضمّن المكون/الصورةمجهولنهاية السطر (%d) مجهولة نوع مجهول للإطار (الملء)! نوع مجهول للدائرة (الملء)! نوع مجهول للمسار (ملء)! نوع مجهول للجرّة-‪stroke‬ (%d) ! فكّ القفلحدّثحدّث المكوناليسار العلويالوسط العلوياليمين العلويVقيمةالقيمة:ظاهر؟تبديل الرؤيةمرئيتحذير: لا تسحب مع جذب موقف! تحذير: إذا كنت تسحب رمزا إلى المبدأ، يجب أن يعيّن حجم شبيكة الجذب إلى 100 تحذير: حجم شبيكة الجذب لا يساوي 100! تحذير: تشغيل الجذب و المتابعة مع السحب. تحذير: إنهاء الشبكة خارج إحداثيات الشبيكة تحذير: بدء الشبكة خارج إحداثيات الشبيكة التسلسل الهرمي الكاملعرض × ارتفاعالعرض:عالمأكتب _صورة...أكتب صورة...كتب صورة بالأبيض والأسود إلى [%s] [%d x %d] كتب صورة ملونة إلى [%s] [%d x %d] يجب أن تعيّن متغيّر البيئة GEDADATA! لا يمكن لـ gschem تحديد مكان ملفات البيانات خاصته. يجب أن تعيّن متغيّر البيئة ‏GEDADATA ليشير إلى المكان الصّحيح. قرّب المربعقرّب الم_ربعقرّب مع شمل الا_متداداتبعّد لل_حد الأقصى_قرّب_بعّدقرّب المربعالتبعيد كبير جدا! لا يمكن التبعيد أكثر. _عن..._أضفأ_رفق_سمة..._إطارم_خزنأ_غلقأ_غلق دون حفظم_كون...ا_نسخمخطط ألوان _داكنةا_حذفا_فصلأ_هملا_نزل إلى المخطّط_تحرير_ملفاب_حث عن نص معين...مساع_دةأ_خف نصا معينا...مفاتيح _ساخنةمخطط ألوان _فاتحة_خطم_دير..._شبكة_جديدال_تّاليةا_فتح..._خيارات_صفحةا_نتقلأ_لصقد_بوسال_سّابقةا_طبع...أ_خرج_كرّرأ_عد الرسمت_راجعا_حفظأ_ظهر نصا معينا...حجم ال_نص..._نص..._بدل الرؤيةت_راجعا_صعد_عرضأسودمن فضلك راجع الملف COPYING لتفاصيل أكثر. انحدر في التسلسل الهرميشقّ مكرر قد يسبب مشاكل: [اسم​الرمز=%s، العدد=%d، الشقّ=%d] تو_ثيق gEDAمحرّر المخططات gEDA_ويكي gEDA...يقدم gEDA/gschem بلا أي ضمان، راجع COPYING لتفاصيل أكثر. إصدار gEDA/gschem‫ %s%s.%s gEDA: GPL Electronic Design Automation (أتمتة التصميم الإلكتروني)الأ_سئلة الأكثر شيوعا لـ gschemوضع الشبكة المغناطيسية: موقف وضع الشبكة المغناطيسية: مشغل لا شيءالسمة numslots (عدد الشقوق) مفقودة ‏o_autosave_backups: تعذر الحصول على اسم الحقيقي للملف %s.‏o_buffer_copy: مخزن‏ %i غير صالح ‏o_buffer_cut: مخزن‏ %i غير صالح كائن مقسم (مشقوق) بدون سمة الشقّ قد يسبب مشاكل عند الترقيم الآلي للشقوق أبيض‏x_image_lowlevel: تعذر الحصول على pixbuf من نافذة gschem. ‏x_image_lowlevel: غير قادر على كتابة ملف ‬%s %s. ‏x_image_lowlevel: غير قادر على كتابة ملف ‬eps %s. geda-gaf-1.8.2/gschem/po/nl.po0000664000175000017500000017444112220655644012756 00000000000000# Dutch translation for the gEDA gschem package. # Copyright (C) 2002-2012 Bert Timmerman # This file is distributed under the same license as the gEDA gschem package. # msgid "" msgstr "" "Project-Id-Version: geda-gschem\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-11-15 08:58+0100\n" "Last-Translator: Bert Timmerman \n" "Language-Team: gEDA developers \n" "Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: gschem/src/a_zoom.c:212 msgid "Zoom too small! Cannot zoom further.\n" msgstr "Vergroting te klein! Kan niet verder vergroten.\n" #: gschem/src/g_attrib.c:92 msgid "Object ~A is not included in the current gschem page." msgstr "Objekt ~A is niet bijgevoegd in de huidige gschem pagina." #: gschem/src/g_attrib.c:112 msgid "Invalid text name/value visibility ~A." msgstr "Ongeldige tekst naam/waarde zichtbaarheid ~A." #: gschem/src/g_rc.c:312 #, c-format msgid "Invalid zoomfactor [%d] passed to %s\n" msgstr "Ongeldige vergrotingsfactor [%d] overgedragen aan %s\n" #: gschem/src/g_rc.c:458 #, c-format msgid "Invalid size [%d] passed to text-size\n" msgstr "Ongeldige waarde [%d] overgedragen aan text-size\n" #: gschem/src/g_rc.c:501 #, c-format msgid "Invalid size [%d] passed to snap-size\n" msgstr "Ongeldige waarde [%d] overgedragen aan snap-size\n" #: gschem/src/g_rc.c:958 #, c-format msgid "Invalid num levels [%d] passed to undo-levels\n" msgstr "Ongeldige num niveaus [%d] overgedragen naar undo-levels\n" #: gschem/src/g_rc.c:1220 #, c-format msgid "Invalid size [%d] passed to bus-ripper-size\n" msgstr "Ongeldige afmeting [%d] overgedragen aan bus-ripper-size\n" #: gschem/src/g_rc.c:1295 #, c-format msgid "Invalid dot size [%d] passed to dots-grid-dot-size\n" msgstr "Ongeldige punt afmeting [%d] overgedragen aan dots-grid-dot-size\n" #: gschem/src/g_rc.c:1336 #, c-format msgid "Invalid pixel spacing [%d] passed to dots-grid-fixed-threshold\n" msgstr "" "Ongeldige beeldpunt ruimte [%d] overgedragen aan dots-grid-fixed-threshold\n" #: gschem/src/g_rc.c:1362 #, c-format msgid "Invalid pixel spacing [%d] passed to mesh-grid-display-threshold\n" msgstr "" "Ongeldige beeldpunt ruimte [%d] overgedragen aan mesh-grid-display-" "threshold\n" #: gschem/src/g_rc.c:1387 #, c-format msgid "Invalid offset [%d] passed to add-attribute-offset\n" msgstr "Ongeldige offset waarde [%d] overgedragen aan add-attribute-offset\n" #: gschem/src/g_rc.c:1411 #, c-format msgid "Invalid number of seconds [%d] passed to auto-save-interval\n" msgstr "Ongeldig aantal seconden [%d] overgedragen naar auto-save-interval\n" #: gschem/src/g_rc.c:1435 #, c-format msgid "Invalid gain [%d] passed to mousepan-gain\n" msgstr "Ongeldige versterking [%d] overgedragen aan mousepan-gain\n" #: gschem/src/g_rc.c:1458 #, c-format msgid "Invalid gain [%d] passed to keyboardpan-gain\n" msgstr "Ongeldige versterking [%d] overgedragen aan keyboardpan-gain\n" #: gschem/src/g_rc.c:1505 #, c-format msgid "Invalid number of pixels [%d] passed to select-slack-pixels\n" msgstr "" "Ongeldig aantal beeldpunten [%d] overgedragen aan select-slack-pixels\n" #: gschem/src/g_rc.c:1531 #, c-format msgid "Invalid gain [%d] passed to zoom-gain\n" msgstr "Ongeldige versterking [%d] overgedragen aan zoom-gain\n" #: gschem/src/g_rc.c:1556 #, c-format msgid "Invalid number of steps [%d] scrollpan-steps\n" msgstr "Ongeldig aantal stappen [%d] scrollpan-steps\n" #: gschem/src/g_select.c:79 gschem/src/g_select.c:116 #: gschem/src/g_select.c:152 msgid "Object ~A is not directly included in a page." msgstr "Object ~A is niet direct bijgevoegd in een pagina." #: gschem/src/g_util.c:56 msgid "Could not launch URI ~S: ~A" msgstr "Kan URI ~S: ~A niet starten" #: gschem/src/g_window.c:136 msgid "Found invalid gschem window smob ~S" msgstr "Ongeldige gschem venster smob ~S gevonden" #: gschem/src/gschem.c:175 #, c-format msgid "gEDA/gschem version %s%s.%s\n" msgstr "gEDA/gschem versie %s%s.%s\n" #: gschem/src/gschem.c:178 msgid "" "gEDA/gschem comes with ABSOLUTELY NO WARRANTY; see COPYING for more " "details.\n" msgstr "" "gEDA/gschem komt ABSOLUUT ZONDER GARANTIE; zie het COPYING bestand voor meer " "informatie.\n" #: gschem/src/gschem.c:180 msgid "" "This is free software, and you are welcome to redistribute it under certain\n" msgstr "" "Dit is vrije software, en je wordt aangemoedigt dit te herdistribueren onder " "bepaalde\n" #: gschem/src/gschem.c:182 msgid "" "conditions; please see the COPYING file for more details.\n" "\n" msgstr "" "condities; zie het COPYING bestand voor meer informatie.\n" "\n" #: gschem/src/gschem.c:185 #, c-format msgid "This is the MINGW32 port.\n" msgstr "Dit is de MINGW32 versie.\n" #: gschem/src/gschem.c:189 #, c-format msgid "Current locale settings: %s\n" msgstr "Huidige locale instellingen: %s\n" #: gschem/src/gschem.c:211 msgid "" "You must set the GEDADATA environment variable!\n" "\n" "gschem cannot locate its data files. You must set the GEDADATA\n" "environment variable to point to the correct location.\n" msgstr "" "Ie moet de GEDADATA omgevingsvariabele instellen!\n" "\n" "gschem kan geen lokatie vinden van de data bestanden. Je moet de GEDADATA\n" "omgevingsvariablele naar de juiste lokatie laten wijzen.\n" #: gschem/src/gschem.c:248 #, c-format msgid "Couldn't find init scm file [%s]\n" msgstr "Kan init scm bestand [%s]niet vinden\n" #: gschem/src/gschem.c:252 #, c-format msgid "Read init scm file [%s]\n" msgstr "Lees init scm bestand [%s]\n" #: gschem/src/gschem.c:256 #, c-format msgid "Failed to read init scm file [%s]\n" msgstr "Fout bij het lezen van het init scm bestand [%s]\n" #: gschem/src/gschem_cairo.c:310 #, c-format msgid "Unknown end for line (%d)\n" msgstr "Onbekend einde voor lijn (%d)\n" #: gschem/src/gschem_cairo.c:318 #, c-format msgid "Unknown type for stroke (%d) !\n" msgstr "Onbekend type voor strook (%d) !\n" #: gschem/src/gschem_pango.c:289 msgid "cairo context" msgstr "cairo contekst" #: gschem/src/gschem_pango.c:290 msgid "the cairo context for the renderer" msgstr "de cairo contekst voor de renderer" #: gschem/src/i_basic.c:77 gschem/src/x_window.c:524 #: gschem/lib/system-gschemrc.scm:1399 msgid "Select Mode" msgstr "Selectie Mode" #: gschem/src/i_basic.c:79 msgid "Component Mode" msgstr "Component Mode" #: gschem/src/i_basic.c:81 msgid "Text Mode" msgstr "Tekst Mode" #: gschem/src/i_basic.c:84 gschem/lib/system-gschemrc.scm:1402 msgid "Copy Mode" msgstr "Kopieer Mode" #: gschem/src/i_basic.c:87 gschem/lib/system-gschemrc.scm:1404 msgid "Move Mode" msgstr "Verplaats Mode" #: gschem/src/i_basic.c:89 msgid "Rotate Mode" msgstr "Rotatie Mode" #: gschem/src/i_basic.c:91 gschem/lib/system-gschemrc.scm:1406 msgid "Mirror Mode" msgstr "Spiegel Mode" #: gschem/src/i_basic.c:95 msgid "Zoom Box" msgstr "Vergroot Venster" #: gschem/src/i_basic.c:99 msgid "Pan Mode" msgstr "Schuif Mode" #: gschem/src/i_basic.c:103 #, c-format msgid "Paste %d Mode" msgstr "Plak %d Mode" #: gschem/src/i_basic.c:109 msgid "Magnetic Net Mode" msgstr "Magnetische Draad Mode" #: gschem/src/i_basic.c:111 msgid "Net Mode" msgstr "Draad Mode" #: gschem/src/i_basic.c:115 msgid "Bus Mode" msgstr "Bus Mode" #: gschem/src/i_basic.c:118 msgid "Line Mode" msgstr "Lijn Mode" #: gschem/src/i_basic.c:121 msgid "Box Mode" msgstr "Rechthoek Mode" #: gschem/src/i_basic.c:124 msgid "Picture Mode" msgstr "Afbeelding Mode" #: gschem/src/i_basic.c:127 msgid "Circle Mode" msgstr "Cirkel Mode" #: gschem/src/i_basic.c:130 msgid "Arc Mode" msgstr "Boog Mode" #: gschem/src/i_basic.c:133 msgid "Pin Mode" msgstr "Pen Mode" #: gschem/src/i_basic.c:135 gschem/src/i_callbacks.c:529 #: gschem/src/i_callbacks.c:553 msgid "Copy" msgstr "Kopieer" #: gschem/src/i_basic.c:137 gschem/src/i_callbacks.c:619 #: gschem/src/i_callbacks.c:643 msgid "Move" msgstr "Verplaats" #: gschem/src/i_basic.c:139 gschem/src/i_callbacks.c:574 #: gschem/src/i_callbacks.c:598 msgid "Multiple Copy" msgstr "Meervoudig Kopieren" #: gschem/src/i_basic.c:142 gschem/lib/system-gschemrc.scm:1403 msgid "Multiple Copy Mode" msgstr "Meervoudige Kopieer Mode" #: gschem/src/i_basic.c:168 msgid "Show Hidden" msgstr "Zichtbaar Verborgen" #: gschem/src/i_basic.c:171 msgid "Snap Off" msgstr "Snap Aan" #: gschem/src/i_basic.c:173 msgid "Resnap Active" msgstr "Hersnappen Aktief" #: gschem/src/i_basic.c:254 gschem/src/x_window.c:498 msgid "Action" msgstr "Aktie" #: gschem/src/i_basic.c:260 gschem/src/x_dialog.c:2325 #: gschem/src/x_window.c:493 msgid "Stroke" msgstr "Slag" #: gschem/src/i_basic.c:266 gschem/src/x_window.c:495 msgid "none" msgstr "geen" #: gschem/src/i_basic.c:271 msgid "Repeat/" msgstr "Herhaal/" #: gschem/src/i_basic.c:566 gschem/src/i_basic.c:580 msgid "OFF" msgstr "UIT" #: gschem/src/i_basic.c:584 msgid "NONE" msgstr "GEEN" #: gschem/src/i_basic.c:589 #, c-format msgid "Grid(%s, %s)" msgstr "Raster(%s, %s)" #: gschem/src/i_callbacks.c:76 gschem/src/i_callbacks.c:1659 #, c-format msgid "New page created [%s]\n" msgstr "Nieuwe pagina gemaakt [%s]\n" #: gschem/src/i_callbacks.c:124 #, c-format msgid "New Window created [%s]\n" msgstr "Nieuw venster gemaakt [%s]\n" #: gschem/src/i_callbacks.c:242 msgid "Failed to Save All" msgstr "Fout tijdens Alles Opslaan" #: gschem/src/i_callbacks.c:244 msgid "Saved All" msgstr "Alles Opgeslagen" #: gschem/src/i_callbacks.c:334 msgid "Closing Window\n" msgstr "Sluit Venster\n" #: gschem/src/i_callbacks.c:534 gschem/src/i_callbacks.c:579 #: gschem/src/i_callbacks.c:624 msgid "Select objs first" msgstr "Selecteer voorwerpen eerst" #: gschem/src/i_callbacks.c:663 gschem/src/x_multiattrib.c:1549 msgid "Delete" msgstr "Verwijder" #: gschem/src/i_callbacks.c:688 msgid "Edit" msgstr "Bewerk" #: gschem/src/i_callbacks.c:703 msgid "Edit pin type" msgstr "Bewerk pen type" #: gschem/src/i_callbacks.c:722 msgid "Edit Text" msgstr "Bewerk Tekst" #: gschem/src/i_callbacks.c:745 msgid "Slot" msgstr "Slot" #: gschem/src/i_callbacks.c:762 msgid "Color" msgstr "Kleur" #: gschem/src/i_callbacks.c:799 gschem/src/i_callbacks.c:844 msgid "Rotate" msgstr "Roteer" #: gschem/src/i_callbacks.c:866 gschem/src/i_callbacks.c:891 msgid "Mirror" msgstr "Spiegel" #: gschem/src/i_callbacks.c:912 gschem/src/x_dialog.c:2328 #: gschem/lib/system-gschemrc.scm:1415 msgid "Lock" msgstr "Vergrendel" #: gschem/src/i_callbacks.c:930 gschem/lib/system-gschemrc.scm:1416 msgid "Unlock" msgstr "Ontgrendel" #: gschem/src/i_callbacks.c:948 gschem/src/x_dialog.c:1746 msgid "Translate" msgstr "Verplaats" #: gschem/src/i_callbacks.c:951 msgid "WARNING: Do not translate with snap off!\n" msgstr "WAARSCHUWING: Niet verplaatsen met snap uit!\n" #: gschem/src/i_callbacks.c:952 msgid "WARNING: Turning snap on and continuing with translate.\n" msgstr "WAARSCHUWING: Zet snap aan en vervolg de verplaatsing.\n" #: gschem/src/i_callbacks.c:959 msgid "WARNING: Snap grid size is not equal to 100!\n" msgstr "WAARSCHUWING: Snap grid waarde is niet gelijk aan 100!\n" #: gschem/src/i_callbacks.c:961 msgid "" "WARNING: If you are translating a symbol to the origin, the snap grid size " "should be set to 100\n" msgstr "" "WAARSCHUWING: Als je een symbool naar de oorsprong verschuift, dan moet de " "snap grip waarde op 100 gezet worden\n" #: gschem/src/i_callbacks.c:992 msgid "Embed" msgstr "Insluiten" #: gschem/src/i_callbacks.c:1031 msgid "Unembed" msgstr "Uitsluiten" #: gschem/src/i_callbacks.c:1073 msgid "Update" msgstr "Vernieuw" #: gschem/src/i_callbacks.c:1120 msgid "ShowHidden" msgstr "ZichtbaarVerborgen" #: gschem/src/i_callbacks.c:1426 gschem/src/i_callbacks.c:1498 msgid "Pan" msgstr "Schuif" #: gschem/src/i_callbacks.c:1703 msgid "Really revert page?" msgstr "Echt Terughalen pagina?" #: gschem/src/i_callbacks.c:1773 msgid "Copy to clipboard" msgstr "Kopieer naar klembord" #: gschem/src/i_callbacks.c:1791 msgid "Cut to clipboard" msgstr "Knip naar klembord" #: gschem/src/i_callbacks.c:1809 msgid "Paste from clipboard" msgstr "Plak van klembord" #: gschem/src/i_callbacks.c:1821 gschem/src/i_callbacks.c:2060 #: gschem/src/i_callbacks.c:2082 gschem/src/i_callbacks.c:2104 #: gschem/src/i_callbacks.c:2126 gschem/src/i_callbacks.c:2148 msgid "Empty buffer" msgstr "Maak buffer leeg" #: gschem/src/i_callbacks.c:1866 msgid "Copy 1" msgstr "Kopieer 1" #: gschem/src/i_callbacks.c:1885 msgid "Copy 2" msgstr "Kopieer 2" #: gschem/src/i_callbacks.c:1904 msgid "Copy 3" msgstr "Kopieer 3" #: gschem/src/i_callbacks.c:1923 msgid "Copy 4" msgstr "Kopieer 4" #: gschem/src/i_callbacks.c:1942 msgid "Copy 5" msgstr "Kopieer 5" #: gschem/src/i_callbacks.c:1961 msgid "Cut 1" msgstr "Knip 1" #: gschem/src/i_callbacks.c:1980 msgid "Cut 2" msgstr "Knip 2" #: gschem/src/i_callbacks.c:1999 msgid "Cut 3" msgstr "Knip 3" #: gschem/src/i_callbacks.c:2018 msgid "Cut 4" msgstr "Knip 4" #: gschem/src/i_callbacks.c:2037 msgid "Cut 5" msgstr "Knip 5" #: gschem/src/i_callbacks.c:2053 msgid "Paste 1" msgstr "Plak 1" #: gschem/src/i_callbacks.c:2075 msgid "Paste 2" msgstr "Plak 2" #: gschem/src/i_callbacks.c:2097 msgid "Paste 3" msgstr "Plak 3" #: gschem/src/i_callbacks.c:2119 msgid "Paste 4" msgstr "Plak 4" #: gschem/src/i_callbacks.c:2141 msgid "Paste 5" msgstr "Plak 5" #: gschem/src/i_callbacks.c:2278 gschem/src/x_window.c:359 msgid "Component" msgstr "Component" #: gschem/src/i_callbacks.c:2314 gschem/src/i_callbacks.c:2333 #: gschem/src/x_dialog.c:2298 msgid "Attribute" msgstr "Attribuut" #: gschem/src/i_callbacks.c:2355 gschem/src/i_callbacks.c:2382 #: gschem/src/x_dialog.c:2295 msgid "Net" msgstr "Draad" #: gschem/src/i_callbacks.c:2426 gschem/src/i_callbacks.c:2453 #: gschem/src/x_dialog.c:2313 gschem/src/x_window.c:379 msgid "Bus" msgstr "Bus" #: gschem/src/i_callbacks.c:2534 gschem/src/i_callbacks.c:2557 msgid "Line" msgstr "Lijn" #: gschem/src/i_callbacks.c:2579 gschem/src/i_callbacks.c:2602 msgid "Box" msgstr "Rechthoek" #: gschem/src/i_callbacks.c:2658 gschem/src/i_callbacks.c:2682 msgid "Circle" msgstr "Cirkel" #: gschem/src/i_callbacks.c:2704 gschem/src/i_callbacks.c:2727 msgid "Arc" msgstr "Boog" #: gschem/src/i_callbacks.c:2749 gschem/src/i_callbacks.c:2772 #: gschem/src/x_dialog.c:2286 msgid "Pin" msgstr "Pen" #: gschem/src/i_callbacks.c:2831 #, c-format msgid "Searching for source [%s]\n" msgstr "Zoek naar bron [%s]\n" #: gschem/src/i_callbacks.c:2855 #, c-format msgid "Cannot find source [%s]\n" msgstr "Kan bron [%s] niet vinden\n" #: gschem/src/i_callbacks.c:2918 #, c-format msgid "Searching for symbol [%s]\n" msgstr "Zoek naar symbool [%s]\n" #: gschem/src/i_callbacks.c:2924 msgid "Symbol is not a real file. Symbol cannot be loaded.\n" msgstr "Symbool is geen werkelijk bestand. Symbool kan niet geladen worden.\n" #: gschem/src/i_callbacks.c:2955 msgid "Cannot find any schematics above the current one!\n" msgstr "Kan geen schema's vinden boven het huidige schema!\n" #: gschem/src/i_callbacks.c:2985 msgid "Attach" msgstr "Vastmaken" #: gschem/src/i_callbacks.c:3041 msgid "Detach" msgstr "Losmaken" #: gschem/src/i_callbacks.c:3085 msgid "ShowN" msgstr "ToonN" #: gschem/src/i_callbacks.c:3122 msgid "ShowV" msgstr "ToonW" #: gschem/src/i_callbacks.c:3159 msgid "ShowB" msgstr "ToonB" #: gschem/src/i_callbacks.c:3197 msgid "VisToggle" msgstr "SchakelZichtbaarheid" #: gschem/src/i_callbacks.c:3228 #, c-format msgid "Sorry but this is a non-functioning menu option\n" msgstr "Sorry, maar dit is een niet werkende menu optie\n" #: gschem/src/i_callbacks.c:3318 msgid "Action feedback mode set to OUTLINE\n" msgstr "Aktie terugkoppel mode is ingesteld op OUTLINE\n" #: gschem/src/i_callbacks.c:3321 msgid "Action feedback mode set to BOUNDINGBOX\n" msgstr "Aktie terugkoppel mode is ingesteld op BOUNDINGBOX.\n" #: gschem/src/i_callbacks.c:3346 msgid "Grid OFF\n" msgstr "Raster UIT\n" #: gschem/src/i_callbacks.c:3347 msgid "Dot grid selected\n" msgstr "Punt raster geselecteerd\n" #: gschem/src/i_callbacks.c:3348 msgid "Mesh grid selected\n" msgstr "Maas raster geselecteerd\n" #: gschem/src/i_callbacks.c:3369 msgid "Snap OFF (CAUTION!)\n" msgstr "Snap UIT (PAS OP!)\n" #: gschem/src/i_callbacks.c:3372 msgid "Snap ON\n" msgstr "Snap AAN\n" #: gschem/src/i_callbacks.c:3375 msgid "Snap back to the grid (CAUTION!)\n" msgstr "Snap terug op raster (PAS OP!)\n" #: gschem/src/i_callbacks.c:3401 msgid "Rubber band OFF \n" msgstr "Elastiek band UIT \n" #: gschem/src/i_callbacks.c:3404 msgid "Rubber band ON\n" msgstr "Elastiek band AAN\n" #: gschem/src/i_callbacks.c:3419 msgid "magnetic net mode: ON\n" msgstr "magnetische draad mode: AAN\n" #: gschem/src/i_callbacks.c:3422 msgid "magnetic net mode: OFF\n" msgstr "magnetische draad mode: UIT\n" #: gschem/src/o_box.c:292 #, c-format msgid "Unknown type for box (fill)!\n" msgstr "Onbekend type voor rechthoek (arcering)!\n" #: gschem/src/o_buffer.c:54 #, c-format msgid "o_buffer_copy: Invalid buffer %i\n" msgstr "o_buffer_cut: Ongeldige buffer %i\n" #: gschem/src/o_buffer.c:69 #, c-format msgid "o_buffer_cut: Invalid buffer %i\n" msgstr "o_buffer_cut: Ongeldige buffer %i\n" #: gschem/src/o_buffer.c:90 #, c-format msgid "Got an invalid buffer_number [o_buffer_paste_start]\n" msgstr "Ontving een ongeldig buffernummer [o_buffer_paste_start]\n" #: gschem/src/o_bus.c:117 #, c-format msgid "Got an invalid which one in o_bus_draw_stretch\n" msgstr "Ontving ereen die ongeldig is in o_bus_draw_stretch\n" #: gschem/src/o_circle.c:284 #, c-format msgid "Unknown type for circle (fill)!\n" msgstr "Onbekend type voor cirkel (arcering)!\n" #: gschem/src/o_complex.c:223 gschem/src/o_complex.c:227 #, c-format msgid "Translating schematic [%d %d]\n" msgstr "Vertaal schema [%d %d]\n" #: gschem/src/o_misc.c:61 #, c-format msgid "Got an unexpected NULL in o_edit\n" msgstr "Ontving een onverwachte NULL in o_edit\n" #: gschem/src/o_misc.c:125 msgid "Object already locked\n" msgstr "Object reeds vergrendeld\n" #: gschem/src/o_misc.c:163 msgid "Object already unlocked\n" msgstr "Object reeds ontgrendeld\n" #: gschem/src/o_misc.c:339 msgid "Hidden text is now visible\n" msgstr "Verborgen tekst is nu zichtbaar\n" #: gschem/src/o_misc.c:341 msgid "Hidden text is now invisible\n" msgstr "Verborgen tekst is nu onzichtbaar\n" #: gschem/src/o_misc.c:568 #, c-format msgid "Could not find symbol [%s] in library. Update failed.\n" msgstr "Kan symbool [%s] niet in bibliotheek vinden. Vernieuwen faalde.\n" #: gschem/src/o_misc.c:683 #, c-format msgid "o_autosave_backups: Can't get the real filename of %s." msgstr "o_autosave_backups: Kan de echte bestandsnaam van %s niet krijgen." #: gschem/src/o_misc.c:727 #, c-format msgid "Could NOT set previous backup file [%s] read-write\n" msgstr "" "Voorgaande reserve bestand [%s] kan NIET op lezen-schrijven ingesteld " "worden\n" #: gschem/src/o_misc.c:747 #, c-format msgid "Could NOT set backup file [%s] readonly\n" msgstr "Reserve bestand [%s] kan NIET op alleen-lezen ingesteld worden\n" #: gschem/src/o_misc.c:752 #, c-format msgid "Could NOT save backup file [%s]\n" msgstr "Reserve bestand [%s] kan NIET opgeslagen worden\n" #: gschem/src/o_move.c:174 #, c-format msgid "ERROR: NULL object in o_move_end!\n" msgstr "FOUT: NULL object in o_move_end!\n" #: gschem/src/o_move.c:431 #, c-format msgid "DOH! tried to find the whichone, but didn't find it!\n" msgstr "OH! probeerde er een te vinden, maar heb 'em niet gevonden!\n" #: gschem/src/o_move.c:453 #, c-format msgid "Got a non line object in o_move_check_endpoint\n" msgstr "Ontving een niet lijn object in o_move_check_endpoint\n" #: gschem/src/o_net.c:158 #, c-format msgid "Got an invalid which one in o_net_draw_stretch\n" msgstr "Ontving er een die ongeldig is in o_net_draw_stretch\n" #: gschem/src/o_net.c:537 msgid "Warning: Starting net at off grid coordinate\n" msgstr "Waarschuwing: begin van draad niet op raster coordinaat\n" #: gschem/src/o_net.c:602 msgid "Warning: Ending net at off grid coordinate\n" msgstr "Waarschuwing: einde van draad niet op raster coordinaat\n" #: gschem/src/o_net.c:944 gschem/src/o_net.c:981 gschem/src/o_net.c:1052 #: gschem/src/o_net.c:1088 #, c-format msgid "Tried to add more than two bus rippers. Internal gschem error.\n" msgstr "" "Probeerde meer dan twee busrippers toe te voegen. Interne gschem fout.\n" #: gschem/src/o_net.c:1156 #, c-format msgid "Bus ripper symbol [%s] was not found in any component library\n" msgstr "" "Bus ripper symbool [%s] niet gevonden in een van de component bibliotheken\n" #: gschem/src/o_path.c:340 #, c-format msgid "Unknown type for path (fill)!\n" msgstr "Onbekend type voor pad (arcering)!\n" #: gschem/src/o_picture.c:166 #, c-format msgid "Failed to load picture: %s" msgstr "Fout bij het lezen van afbeelding: %s" #: gschem/src/o_picture.c:180 msgid "Picture" msgstr "Afbeelding" #: gschem/src/o_picture.c:544 #, c-format msgid "Failed to replace pictures: %s" msgstr "Fout bij het vervangen van afbeeldingen: %s" #: gschem/src/o_slot.c:81 msgid "Slot attribute malformed\n" msgstr "Slot attribuut misvormd\n" #: gschem/src/o_slot.c:89 msgid "numslots attribute missing\n" msgstr "numslots attribuut ontbreekt\n" #: gschem/src/o_slot.c:90 msgid "Slotting not allowed for this component\n" msgstr "Slots niet toegestaan voor deze component\n" #: gschem/src/o_slot.c:105 msgid "New slot number out of range\n" msgstr "Nieuw slotnummer buiten het bereik\n" #: gschem/src/o_undo.c:307 msgid "Undo/Redo disabled in rc file\n" msgstr "Ongedaan/Opnieuw doen uitgeschakeld in rc bestand\n" #: gschem/src/parsecmd.c:82 #, c-format msgid "" "Usage: %s [OPTION ...] [--] [FILE ...]\n" "\n" "Interactively edit gEDA schematics or symbols. If one or more FILEs\n" "are specified, open them for editing; otherwise, create a new, empty\n" "schematic.\n" "\n" "Options:\n" " -q, --quiet Quiet mode.\n" " -v, --verbose Verbose mode.\n" " -r, --config-file=FILE Additional configuration file to load.\n" " -L DIR Add DIR to Scheme search path.\n" " -c EXPR Scheme expression to run at startup.\n" " -s FILE Scheme script to run at startup.\n" " -o, --output=FILE Output filename (for printing).\n" " -p Automatically place the window.\n" " -V, --version Show version information.\n" " -h, --help Help; this message.\n" " -- Treat all remaining arguments as filenames.\n" "\n" "Report bugs at \n" "gEDA/gaf homepage: \n" msgstr "" "Gebruik: %s [OPTIE ...] [--] [BESTAND ...]\n" "\n" "Interactief bewerken van gEDA schema's of symbolen. Als een of meer " "BESTANDen\n" "gespecificeerd zijn, open deze voor bewerken; of, creëer een nieuw, leeg\n" "schema.\n" "\n" "Opties:\n" " -q, --quiet Stille mode.\n" " -v, --verbose Verbale mode.\n" " -r, --config-file=FILE Additioneel configuratie bestand laden.\n" " -L DIR Voeg DIR toe aan Scheme zoekpad.\n" " -c EXPR Scheme expressie uitvoeren tijdens opstarten.\n" " -s FILE Scheme script uitvoeren tijdens opstarten.\n" " -o, --output=FILE Uitvoer bestandsnaam (voor afdrukken).\n" " -p Automatisch geplaatst in het venster.\n" " -V, --version Toon versie informatie.\n" " -h, --help Help; dit bericht.\n" " -- Behandel alle overblijvende argumenten als " "bestandnamen.\n" "\n" "Rapporteer fouten aan \n" "gEDA/gaf startpagina: \n" #: gschem/src/parsecmd.c:116 #, c-format msgid "" "gEDA %s (g%.7s)\n" "Copyright (C) 1998-2012 gEDA developers\n" "This is free software, and you are welcome to redistribute it under\n" "certain conditions. For details, see the file `COPYING', which is\n" "included in the gEDA distribution.\n" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" "gEDA %s (g%.7s)\n" "Copyright (C) 1998-2012 gEDA developers\n" "Dit is vrije software, en jij bent welkom om deze te herdistribueren onder\n" "bepaalde condities. Voor details, zie het bestand `COPYING', welke is\n" "bijgevoegd in de gEDA distributie.\n" "Er is GEEN GARANTIE, voor zover de wet dit toelaat.\n" #: gschem/src/x_attribedit.c:127 #, c-format msgid "Got invalid show option; defaulting to show both\n" msgstr "Kreeg ongeldige toon optie; standaardwaarde is toon beide\n" #: gschem/src/x_attribedit.c:141 #, c-format msgid "ERROR: NULL object!\n" msgstr "FOUT: NULL object!\n" #: gschem/src/x_attribedit.c:329 msgid "Single Attribute Editor" msgstr "Enkelvoudige Attribuut Bewerking" #: gschem/src/x_attribedit.c:359 msgid "Edit Attribute" msgstr "Bewerk Attribuut" #: gschem/src/x_attribedit.c:361 msgid "Add Attribute" msgstr "Plaats Attribuut" #: gschem/src/x_attribedit.c:377 gschem/src/x_multiattrib.c:1973 msgid "Name:" msgstr "Naam:" #: gschem/src/x_attribedit.c:394 gschem/src/x_multiattrib.c:1992 msgid "Value:" msgstr "Waarde:" #: gschem/src/x_attribedit.c:410 gschem/src/x_multiattrib.c:2038 msgid "Visible" msgstr "Zichtbaar" #: gschem/src/x_attribedit.c:430 msgid "Show Value Only" msgstr "Toon Alleen Waarde" #: gschem/src/x_attribedit.c:432 msgid "Show Name Only" msgstr "Toon Alleen Naam" #: gschem/src/x_attribedit.c:434 gschem/src/x_multiattrib.c:1512 msgid "Show Name & Value" msgstr "Toon Naam & Waarde" #: gschem/src/x_attribedit.c:441 msgid "Attach Options" msgstr "Opties Vastmaken" #: gschem/src/x_attribedit.c:456 msgid "All" msgstr "Alle" #: gschem/src/x_attribedit.c:464 gschem/src/x_compselect.c:922 #: gschem/src/x_compselect.c:1036 msgid "Components" msgstr "Componenten" #: gschem/src/x_attribedit.c:472 gschem/src/x_window.c:369 msgid "Nets" msgstr "Draden" #: gschem/src/x_attribedit.c:480 msgid "Replace existing attributes" msgstr "Vervang bestaande attributen" #: gschem/src/x_autonumber.c:415 msgid "" "slotted object without slot attribute may cause problems when autonumbering " "slots\n" msgstr "" "geslotte objecten zonder slot attribuut kunnen een probleem geven bij het " "automatisch nummeren van slots\n" #: gschem/src/x_autonumber.c:430 #, c-format msgid "" "duplicate slot may cause problems: [symbolname=%s, number=%d, slot=%d]\n" msgstr "" "een dubbel slot kan een probleem geven: [symbolname=%s, number=%d, slot=%d]\n" #: gschem/src/x_autonumber.c:672 msgid "No searchstring given in autonumber text.\n" msgstr "Geen zoektekst gegeven in automatisch nummeren tekst.\n" #: gschem/src/x_autonumber.c:724 msgid "No '*' or '?' given at the end of the autonumber text.\n" msgstr "" "Geen '*' of '?' gegeven aan het einden van de automatisch nummeren tekst.\n" #: gschem/src/x_autonumber.c:859 msgid "Diagonal" msgstr "Diagonaal" #: gschem/src/x_autonumber.c:860 msgid "Top to bottom" msgstr "Van boven naar beneden" #: gschem/src/x_autonumber.c:860 msgid "Bottom to top" msgstr "Van beneden naar boven" #: gschem/src/x_autonumber.c:861 msgid "Left to right" msgstr "Van links naar rechts" #: gschem/src/x_autonumber.c:861 msgid "Right to left" msgstr "Van rechts naar links" #: gschem/src/x_autonumber.c:862 msgid "File order" msgstr "Bestand volgorde" #: gschem/src/x_autonumber.c:1198 msgid "Autonumber text" msgstr "Automatisch tekst nummeren" #: gschem/src/x_autonumber.c:1222 msgid "Scope" msgstr "Omvang" #: gschem/src/x_autonumber.c:1244 msgid "Search for:" msgstr "Zoek naar:" #: gschem/src/x_autonumber.c:1258 msgid "Autonumber text in:" msgstr "Automatisch tekst nummeren in:" #: gschem/src/x_autonumber.c:1265 msgid "Skip numbers found in:" msgstr "Sla nummers over gevonden in:" #: gschem/src/x_autonumber.c:1277 gschem/src/x_autonumber.c:1286 msgid "Selected objects" msgstr "Geselecteerde objecten" #: gschem/src/x_autonumber.c:1278 gschem/src/x_autonumber.c:1287 msgid "Current page" msgstr "Huidig blad" #: gschem/src/x_autonumber.c:1279 gschem/src/x_autonumber.c:1288 msgid "Whole hierarchy" msgstr "Hele hierarchie" #: gschem/src/x_autonumber.c:1290 msgid "Overwrite existing numbers" msgstr "Overschrijven van bestaande nummers" #: gschem/src/x_autonumber.c:1295 msgid "Options" msgstr "Opties" #: gschem/src/x_autonumber.c:1317 msgid "Starting number:" msgstr "Start nummer:" #: gschem/src/x_autonumber.c:1324 msgid "Sort order:" msgstr "Sorteer volgorde:" #: gschem/src/x_autonumber.c:1345 msgid "Remove numbers" msgstr "Verwijder nummers" #: gschem/src/x_autonumber.c:1349 msgid "Automatic slotting" msgstr "Automatisch slotten" #: gschem/src/x_clipboard.c:249 #, c-format msgid "" "Invalid schematic on clipboard.\n" "\n" "An error occurred while inserting clipboard data: %s." msgstr "" "Ongeldig schema op klembord.\n" "\n" "Er trad een fout op tijdens het invoegen van klembord data: %s." #: gschem/src/x_clipboard.c:251 msgid "Clipboard insertion failed" msgstr "Klembord invoegen faalde" #: gschem/src/x_color.c:94 gschem/src/x_color.c:103 #, c-format msgid "Could not allocate the color %s!\n" msgstr "Kan de kleur %s niet toewijzen!\n" #: gschem/src/x_color.c:94 msgid "black" msgstr "zwart" #: gschem/src/x_color.c:103 msgid "white" msgstr "wit" #: gschem/src/x_color.c:125 #, c-format msgid "Could not allocate display color %i!\n" msgstr "Kan scherm kleur %i niet toewijzen!\n" #: gschem/src/x_color.c:147 #, c-format msgid "Could not allocate outline color %i!\n" msgstr "Kan de omlijning kleur %i niet toewijzen!\n" #: gschem/src/x_color.c:164 gschem/src/x_color.c:181 gschem/src/x_color.c:197 #, c-format msgid "Tried to get an invalid color: %d\n" msgstr "Probeerde een ongeldige kleur te verkrijgen: %d\n" #: gschem/src/x_color.c:214 #, c-format msgid "Tried to get an invalid outline color: %d\n" msgstr "Probeerde een ongeldige omlijning kleur te verkrijgen: %d\n" #: gschem/src/x_compselect.c:1066 msgid "Filter:" msgstr "Filter:" #: gschem/src/x_compselect.c:1169 gschem/src/x_dialog.c:3653 #: gschem/src/x_multiattrib.c:1839 msgid "Name" msgstr "Naam" #: gschem/src/x_compselect.c:1178 gschem/src/x_multiattrib.c:1863 msgid "Value" msgstr "Waarde" #: gschem/src/x_compselect.c:1217 msgid "Default behavior - reference component" msgstr "Normaal gedrag - referentie component" #: gschem/src/x_compselect.c:1220 msgid "Embed component in schematic" msgstr "Component insluiten in schema" #: gschem/src/x_compselect.c:1223 msgid "Include component as individual objects" msgstr "Invoegen component als individuele objecten" #: gschem/src/x_compselect.c:1380 msgid "Select Component..." msgstr "Selecteer Component..." #: gschem/src/x_compselect.c:1403 msgid "In Use" msgstr "In gebruik" #: gschem/src/x_compselect.c:1407 msgid "Libraries" msgstr "Bibliotheken" #: gschem/src/x_compselect.c:1416 gschem/src/x_fileselect.c:122 msgid "Preview" msgstr "Vooraf zien" #: gschem/src/x_compselect.c:1444 msgid "Attributes" msgstr "Attributen" #: gschem/src/x_dialog.c:176 msgid "Text Entry..." msgstr "Tekst Ingeven..." #: gschem/src/x_dialog.c:207 msgid "" "Enter text, click apply,\n" "move cursor into window, click to place text.\n" "Middle button to rotate while placing." msgstr "" "Geef tekst in, en klik toepassen,\n" "verplaats cursor in het venster, klik om tekst te plaatsen.\n" "Middelste muisknop gebruiken om te plaatsen" #: gschem/src/x_dialog.c:301 msgid "Upper Left" msgstr "Boven Links" #: gschem/src/x_dialog.c:304 msgid "Upper Middle" msgstr "Boven Midden" #: gschem/src/x_dialog.c:307 msgid "Upper Right" msgstr "Boven Rechts" #: gschem/src/x_dialog.c:311 msgid "Middle Left" msgstr "Midden Links" #: gschem/src/x_dialog.c:314 msgid "Middle Middle" msgstr "Midden Midden" #: gschem/src/x_dialog.c:317 msgid "Middle Right" msgstr "Midden Rechts" #: gschem/src/x_dialog.c:321 msgid "Lower Left" msgstr "Onder Links" #: gschem/src/x_dialog.c:324 msgid "Lower Middle" msgstr "Onder Midden" #: gschem/src/x_dialog.c:327 msgid "Lower Right" msgstr "Onder Rechts" #: gschem/src/x_dialog.c:438 msgid "Edit Text Properties" msgstr "Bewerk Tekst Eigenschappen" #: gschem/src/x_dialog.c:473 msgid "Text Content" msgstr "Tekst Inhoud" #: gschem/src/x_dialog.c:509 msgid "Text Properties" msgstr "Tekst Eigenschappen" #: gschem/src/x_dialog.c:524 msgid "Color:" msgstr "Kleur:" #: gschem/src/x_dialog.c:531 msgid "Size:" msgstr "Grootte:" #: gschem/src/x_dialog.c:540 msgid "Alignment:" msgstr "Uitlijning:" #: gschem/src/x_dialog.c:589 msgid "Solid" msgstr "Getrokken lijn" #: gschem/src/x_dialog.c:590 msgid "Dotted" msgstr "Gestippeld" #: gschem/src/x_dialog.c:591 msgid "Dashed" msgstr "Gestreept" #: gschem/src/x_dialog.c:592 msgid "Center" msgstr "Hart" #: gschem/src/x_dialog.c:593 msgid "Phantom" msgstr "Begrenzing" #: gschem/src/x_dialog.c:594 gschem/src/x_dialog.c:691 #: gschem/src/x_dialog.c:700 gschem/src/x_dialog.c:709 #: gschem/src/x_dialog.c:810 gschem/src/x_dialog.c:813 #: gschem/src/x_dialog.c:816 gschem/src/x_dialog.c:1043 #: gschem/src/x_dialog.c:1146 gschem/src/x_dialog.c:1155 #: gschem/src/x_dialog.c:1164 gschem/src/x_dialog.c:1173 #: gschem/src/x_dialog.c:1182 gschem/src/x_dialog.c:1295 #: gschem/src/x_dialog.c:1298 gschem/src/x_dialog.c:1301 #: gschem/src/x_dialog.c:1304 gschem/src/x_dialog.c:1307 msgid "*unchanged*" msgstr "*onveranderd*" #: gschem/src/x_dialog.c:921 msgid "Edit Line Width & Type" msgstr "Bewerk Lijn Dikte & Type" #: gschem/src/x_dialog.c:960 gschem/src/x_print.c:307 msgid "Type:" msgstr "Type:" #: gschem/src/x_dialog.c:964 msgid "Width:" msgstr "Breedte:" #: gschem/src/x_dialog.c:968 msgid "Dash Length:" msgstr "Lijn Streeplengte:" #: gschem/src/x_dialog.c:972 msgid "Dash Space:" msgstr "Lijn Tussenruimte:" #: gschem/src/x_dialog.c:1039 msgid "Hollow" msgstr "Hol" #: gschem/src/x_dialog.c:1040 msgid "Filled" msgstr "Gevuld" #: gschem/src/x_dialog.c:1041 msgid "Mesh" msgstr "Maas" #: gschem/src/x_dialog.c:1042 msgid "Hatch" msgstr "Arcering" #: gschem/src/x_dialog.c:1416 msgid "Edit Fill Type" msgstr "Bewerk Arcering Type" #: gschem/src/x_dialog.c:1455 msgid "Fill Type:" msgstr "Arcering Type:" #: gschem/src/x_dialog.c:1459 msgid "Line Width:" msgstr "Lijn Dikte:" #: gschem/src/x_dialog.c:1463 msgid "Angle 1:" msgstr "Hoek 1:" #: gschem/src/x_dialog.c:1467 msgid "Pitch 1:" msgstr "Steek 1:" #: gschem/src/x_dialog.c:1471 msgid "Angle 2:" msgstr "Hoek 2:" #: gschem/src/x_dialog.c:1475 msgid "Pitch 2:" msgstr "Steek 2:" #: gschem/src/x_dialog.c:1602 msgid "Arc Params" msgstr "Boog parameters" #: gschem/src/x_dialog.c:1643 msgid "Arc Radius:" msgstr "Boog Straal:" #: gschem/src/x_dialog.c:1651 msgid "Start Angle:" msgstr "Start Hoek:" #: gschem/src/x_dialog.c:1659 msgid "Degrees of Sweep:" msgstr "Doorlopen Hoek:" #: gschem/src/x_dialog.c:1777 msgid "" "Offset to translate?\n" "(0 for origin)" msgstr "" "Offset van de verplaatsing?\n" "(0 voor oorsprong)" #: gschem/src/x_dialog.c:1845 msgid "Text Size" msgstr "Tekst Hoogte" #: gschem/src/x_dialog.c:1875 msgid "Enter new text size:" msgstr "Voer nieuwe tekstgrootte in:" #: gschem/src/x_dialog.c:1951 msgid "Snap Size" msgstr "Snap Grootte" #: gschem/src/x_dialog.c:1981 msgid "Enter new snap grid spacing:" msgstr "Voer nieuwe snap raster waarde in:" #: gschem/src/x_dialog.c:2058 msgid "Edit slot number" msgstr "Bewerk slot nummer" #: gschem/src/x_dialog.c:2089 msgid "Edit slot number:" msgstr "Bewerk slot nummer:" #: gschem/src/x_dialog.c:2130 #, c-format msgid "%s (g%.7s)" msgstr "%s (g%.7s)" #: gschem/src/x_dialog.c:2151 msgid "About gschem" msgstr "Over gschem" #: gschem/src/x_dialog.c:2152 msgid "gEDA: GPL Electronic Design Automation" msgstr "gEDA: GPL Elektronische Ontwerp Automatisering" #. TRANSLATORS: "ChangeLog" is a literal filename; please don't translate it. #: gschem/src/x_dialog.c:2155 msgid "" "Copyright © 1998-2012 Ales Hvezda \n" "Copyright © 1998-2012 gEDA Contributors (see ChangeLog for details)" msgstr "" "Copyright © 1998-2012 Ales Hvezda \n" "Copyright © 1998-2012 gEDA Contributors (zie het ChangeLog voor details)" #: gschem/src/x_dialog.c:2214 msgid "Coords" msgstr "Coord." #: gschem/src/x_dialog.c:2235 msgid "Screen" msgstr "Scherm" #: gschem/src/x_dialog.c:2244 msgid "World" msgstr "Wereld" #: gschem/src/x_dialog.c:2283 msgid "Background" msgstr "Achtergrond" #: gschem/src/x_dialog.c:2289 msgid "Net endpoint" msgstr "Draad eindpunt" #: gschem/src/x_dialog.c:2292 msgid "Graphic" msgstr "Grafisch" #: gschem/src/x_dialog.c:2301 msgid "Logic bubble" msgstr "Logische inverter" #: gschem/src/x_dialog.c:2304 msgid "Grid point" msgstr "Rasterpunt" #: gschem/src/x_dialog.c:2307 msgid "Detached attribute" msgstr "Losgemaakte attribuut" #: gschem/src/x_dialog.c:2310 gschem/src/x_window.c:387 msgid "Text" msgstr "Tekst" #: gschem/src/x_dialog.c:2316 msgid "Selection" msgstr "Selectie" #: gschem/src/x_dialog.c:2319 msgid "Bounding box" msgstr "Omhullende rechthoek" #: gschem/src/x_dialog.c:2322 msgid "Zoom box" msgstr "Vergroot venster" #: gschem/src/x_dialog.c:2331 msgid "Output background" msgstr "Uitvoer achtergrond" #: gschem/src/x_dialog.c:2334 msgid "Net junction" msgstr "Draad aftakking" #: gschem/src/x_dialog.c:2337 msgid "Mesh grid major" msgstr "Maas raster groot" #: gschem/src/x_dialog.c:2340 msgid "Mesh grid minor" msgstr "Maas raster klein" #: gschem/src/x_dialog.c:2343 msgid "Unknown" msgstr "Onbekend" #: gschem/src/x_dialog.c:2494 #, c-format msgid "ERROR: NULL object in color_edit_dialog_apply!\n" msgstr "FOUT: NULL object in color_edit_dialog_apply!\n" #: gschem/src/x_dialog.c:2538 msgid "Color Edit" msgstr "Kleur Bewerken" #: gschem/src/x_dialog.c:2569 msgid "Object color:" msgstr "Object kleur:" #: gschem/src/x_dialog.c:2622 msgid "Hotkeys" msgstr "Sneltoets" #: gschem/src/x_dialog.c:2662 msgid "Function" msgstr "Funktie" #: gschem/src/x_dialog.c:2669 msgid "Keystroke(s)" msgstr "Toetsaanslag(en)" #: gschem/src/x_dialog.c:2977 msgid "Find Text" msgstr "Vind tekst" #: gschem/src/x_dialog.c:3008 msgid "Text to find:" msgstr "Te vinden tekst:" #: gschem/src/x_dialog.c:3018 msgid "descend into hierarchy" msgstr "afdalen in hierarchie" #: gschem/src/x_dialog.c:3084 msgid "Hide Text" msgstr "Verberg tekst" #: gschem/src/x_dialog.c:3115 msgid "Hide text starting with:" msgstr "Verberg tekst beginnend met:" #: gschem/src/x_dialog.c:3185 msgid "Show Text" msgstr "Toon tekst" #: gschem/src/x_dialog.c:3216 msgid "Show text starting with:" msgstr "Toon tekst beginnend met:" #: gschem/src/x_dialog.c:3675 msgid "S_elect the schematics you want to save:" msgstr "S_electeer de schema's die je op wil slaan:" #: gschem/src/x_dialog.c:3770 #, c-format msgid "Save the changes to schematic \"%s\" before closing?" msgstr "Wijzigingen in schema \"%s\" opslaan voor het afsluiten?" #: gschem/src/x_dialog.c:3776 #, c-format msgid "" "There are %d schematics with unsaved changes. Save changes before closing?" msgstr "" "Er zijn %d schema's met wijzigingen. Wijzigingen opslaan voor het afsluiten?" #: gschem/src/x_dialog.c:3805 msgid "If you don't save, all your changes will be permanently lost." msgstr "Als je niet opslaat, verlies je alle wijzigingen definitief." #: gschem/src/x_dialog.c:3825 #, fuzzy msgid "_Close without saving" msgstr "Afsluiten zonder opslaan" #: gschem/src/x_dialog.c:4161 #, c-format msgid "" "The input attribute \"%s\" is invalid\n" "Please correct in order to continue\n" "\n" "The name and value must be non-empty.\n" "The name cannot end with a space.\n" "The value cannot start with a space." msgstr "" "De invoer attribuut \"%s\" is " "ongeldig\n" "Alstublieft corrigeren voor dat je doorgaat\n" "\n" "De naam en waarde mogen niet leeg zijn.\n" "De naam mag niet eindigen met een spatie.\n" "De waarde mag niet met een spatie beginnen." #: gschem/src/x_dialog.c:4163 msgid "Invalid Attribute" msgstr "Ongeldig Attribuut" #: gschem/src/x_dialog.c:4199 msgid "Pin type" msgstr "Pen type" #: gschem/src/x_dialog.c:4223 msgid "Net pin" msgstr "Draad pen" #: gschem/src/x_dialog.c:4225 msgid "Bus pin (graphical)" msgstr "Bus pen (grafisch)" #: gschem/src/x_fileselect.c:42 msgid "Schematics" msgstr "Schema's" #: gschem/src/x_fileselect.c:47 msgid "Symbols" msgstr "Symbolen" #: gschem/src/x_fileselect.c:52 msgid "Schematics and symbols" msgstr "Schema's en symbolen" #: gschem/src/x_fileselect.c:58 msgid "All files" msgstr "Alle bestanden" #: gschem/src/x_fileselect.c:171 msgid "Open..." msgstr "Open..." #: gschem/src/x_fileselect.c:231 msgid "Save as..." msgstr "Opslaan Als..." #: gschem/src/x_fileselect.c:284 #, c-format msgid "" "The selected file `%s' already exists.\n" "\n" "Would you like to overwrite it?" msgstr "" "Het geselecteerde bestand `%s' bestaat reeds.\n" "\n" "Wil je het overschrijven ?" #: gschem/src/x_fileselect.c:287 msgid "Overwrite file?" msgstr "Overschrijf bestand ?" #: gschem/src/x_fileselect.c:289 msgid "Save cancelled on user request\n" msgstr "Opslaan afgebroken op verzoek van de gebruiker\n" #: gschem/src/x_image.c:176 msgid "Encapsulated Postscript" msgstr "Encapsulated Postscript" #: gschem/src/x_image.c:296 #, c-format msgid "x_image_lowlevel: Unable to write eps file %s.\n" msgstr "x_image_lowlevel: Kan EPS bestand %s niet schrijven.\n" #: gschem/src/x_image.c:374 #, c-format msgid "x_image_lowlevel: Unable to write %s file %s.\n" msgstr "x_image_lowlevel: Kan %s bestand %s niet schrijven.\n" #: gschem/src/x_image.c:384 #, c-format msgid "" "There was the following error when saving image with type %s to filename:\n" "%s\n" "\n" "%s.\n" msgstr "" "De volgende fout ontstond tijdens het opslaan van afbeelding met type %s " "naar bestandnaam:\n" "%s\n" "\n" "%s.\n" #: gschem/src/x_image.c:403 #, c-format msgid "Wrote color image to [%s] [%d x %d]\n" msgstr "Schreef kleuren afbeelding naar [%s] [%d x %d]\n" #: gschem/src/x_image.c:405 #, c-format msgid "Wrote black and white image to [%s] [%d x %d]\n" msgstr "Schreef zwart/wit afbeelding naar [%s] [%d x %d]\n" #: gschem/src/x_image.c:413 msgid "x_image_lowlevel: Unable to get pixbuf from gschem's window.\n" msgstr "x_image_lowlevel: Kan geen pixbuf krijgen van gschem's venster.\n" #: gschem/src/x_image.c:458 msgid "Width x Height" msgstr "Breedte x Hoogte" #: gschem/src/x_image.c:474 msgid "Image type" msgstr "Afbeelding type" #: gschem/src/x_image.c:495 msgid "Write image..." msgstr "Schrijf afbeelding..." #: gschem/src/x_log.c:209 msgid "** Invalid UTF-8 in log message. See stderr or gschem.log.\n" msgstr "** Ongeldige UTF-8 in logboek bericht. Zie stderr of gschem.log.\n" #: gschem/src/x_log.c:288 msgid "Status" msgstr "Status" #: gschem/src/x_menus.c:37 msgid "/Add Net" msgstr "/Plaats Draad" #: gschem/src/x_menus.c:38 msgid "/Add Attribute..." msgstr "/Plaats Attribuut..." #: gschem/src/x_menus.c:39 msgid "/Add Component..." msgstr "/Plaats Component..." #: gschem/src/x_menus.c:40 msgid "/Add Bus" msgstr "/Plaats Bus" #: gschem/src/x_menus.c:41 msgid "/Add Text" msgstr "/Plaats Tekst" #: gschem/src/x_menus.c:43 msgid "/Zoom In" msgstr "/Vergroot" #: gschem/src/x_menus.c:44 msgid "/Zoom Out" msgstr "/Verklein" #: gschem/src/x_menus.c:45 msgid "/Zoom Box" msgstr "/Vergroot Venster" #: gschem/src/x_menus.c:46 msgid "/Zoom Extents" msgstr "/Toon Alles" #: gschem/src/x_menus.c:48 msgid "/Select" msgstr "/Selecteer" #: gschem/src/x_menus.c:49 msgid "/Edit..." msgstr "/Bewerk..." #: gschem/src/x_menus.c:50 msgid "/Edit pin type..." msgstr "/Bewerk pen type..." #: gschem/src/x_menus.c:51 msgid "/Copy" msgstr "/Kopieer" #: gschem/src/x_menus.c:52 msgid "/Move" msgstr "/Verplaats" #: gschem/src/x_menus.c:53 msgid "/Delete" msgstr "/Verwijder" #: gschem/src/x_menus.c:56 msgid "/Down Schematic" msgstr "/Naar Schema" #: gschem/src/x_menus.c:57 msgid "/Down Symbol" msgstr "/Naar Symbool" #: gschem/src/x_menus.c:58 msgid "/Up" msgstr "/Omhoog" #: gschem/src/x_menus.c:348 #, c-format msgid "Tried to set the sensitivity on non-existent menu item '%s'\n" msgstr "" "Probeerde de gevoeligheid in te stellen op een niet bestaand menu_item '%s'\n" #: gschem/src/x_menus.c:372 msgid "Popup_menu_item_factory doesn't exist!\n" msgstr "Popup_menu_item_factory bestaat niet!\n" #: gschem/src/x_menus.c:385 msgid "Tried to set the sensitivity on a non-existent popup menu_item\n" msgstr "" "Probeerde de gevoeligheid in te stellen op een niet bestaand popup " "menu_item\n" #: gschem/src/x_misc.c:74 msgid "The operating system is out of memory or resources." msgstr "Het besturingssysteem heeft niet meer geheugen of bronnen." #: gschem/src/x_misc.c:155 #, c-format msgid "%s failed to launch URI" msgstr "%s faalde om URI te starten" #: gschem/src/x_multiattrib.c:961 msgid "Attributes with empty name are not allowed. Please set a name." msgstr "Attributen met een lege naam zijn niet toegestaan. Geef een naam." #: gschem/src/x_multiattrib.c:1514 msgid "Show Value only" msgstr "Toon alleen Waarde" #: gschem/src/x_multiattrib.c:1516 msgid "Show Name only" msgstr "Toon alleen Naam" #: gschem/src/x_multiattrib.c:1544 msgid "Promote" msgstr "Promoot" #: gschem/src/x_multiattrib.c:1548 msgid "Duplicate" msgstr "Dupliceer" #: gschem/src/x_multiattrib.c:1765 msgid "Edit Attributes" msgstr "Bewerk Attribuut" #: gschem/src/x_multiattrib.c:1883 msgid "Vis?" msgstr "Zichtbaar?" #: gschem/src/x_multiattrib.c:1901 msgid "N" msgstr "N" # GtkTreeViewColumn #: gschem/src/x_multiattrib.c:1919 msgid "V" msgstr "W" #: gschem/src/x_multiattrib.c:1941 msgid "Show inherited attributes" msgstr "Toon geerfde attributen" #: gschem/src/x_multiattrib.c:1957 msgid "Add Attribute" msgstr "Plaats Attribuut" #: gschem/src/x_pagesel.c:246 msgid "New Page" msgstr "Nieuwe Pagina" #: gschem/src/x_pagesel.c:247 msgid "Open Page..." msgstr "Open Pagina..." #: gschem/src/x_pagesel.c:249 msgid "Save Page" msgstr "Opslaan Pagina" #: gschem/src/x_pagesel.c:250 msgid "Close Page" msgstr "Sluit Pagina" #: gschem/src/x_pagesel.c:251 msgid "Discard Page" msgstr "Pagina Wegdoen" #: gschem/src/x_pagesel.c:369 msgid "Page Manager" msgstr "Pagina Manager" #: gschem/src/x_pagesel.c:425 msgid "Filename" msgstr "Bestandsnaam" #: gschem/src/x_pagesel.c:441 msgid "Changed" msgstr "Veranderd" #: gschem/src/x_pagesel.c:461 msgid "Right click on the filename for more options..." msgstr "Klik met rechts op de bestandnaam voor meer opties..." #: gschem/src/x_preview.c:231 msgid "Preview Buffer" msgstr "Vooraf zien Buffer" #: gschem/src/x_print.c:84 msgid "Select PostScript Filename..." msgstr "Selecteer Postscript bestandsnaam..." #: gschem/src/x_print.c:164 msgid "Extents with margins" msgstr "Alles met kantlijnen" #: gschem/src/x_print.c:170 msgid "Extents no margins" msgstr "Alles zonder kantlijnen" #: gschem/src/x_print.c:176 msgid "Current Window" msgstr "Huidige Venster" #: gschem/src/x_print.c:210 msgid "Landscape" msgstr "Liggend" #: gschem/src/x_print.c:216 msgid "Portrait" msgstr "Staand" #: gschem/src/x_print.c:276 msgid "Print..." msgstr "Afdrukken..." #: gschem/src/x_print.c:284 msgid "Settings" msgstr "Instellingen" #: gschem/src/x_print.c:296 msgid "Output paper size:" msgstr "Uitvoer papier afmeting:" #: gschem/src/x_print.c:318 msgid "Orientation:" msgstr "Orientatie:" #: gschem/src/x_print.c:330 msgid "Destination" msgstr "Bestemming" #: gschem/src/x_print.c:343 msgid "File:" msgstr "Bestand:" #: gschem/src/x_print.c:373 msgid "Command:" msgstr "Opdracht:" #: gschem/src/x_print.c:745 msgid "No print destination specified\n" msgstr "Geen afdruk bestemming opgegeven\n" #: gschem/src/x_print.c:752 #, c-format msgid "Cannot print current schematic to [%s]\n" msgstr "Kan huidige schema niet afdrukken op [%s]\n" #: gschem/src/x_print.c:761 #, c-format msgid "" "Error printing to file '%s'\n" "Check the log window for more information" msgstr "" "Fout bij afdrukken naar bestand '%s'\n" "Controleer het log venster voor meer informatie" #: gschem/src/x_print.c:768 #, c-format msgid "Printed current schematic to [%s]\n" msgstr "Huidig schema afgedrukt op [%s]\n" #: gschem/src/x_rc.c:40 msgid "ERROR: An unknown error occurred while parsing configuration files.\n" msgstr "" "FOUT: Een onbekende fout trad op tijdens het ontleden van " "configuratiebestanden.\n" #: gschem/src/x_rc.c:45 msgid "" "An unknown error occurred while parsing configuration files.\n" "\n" "The gschem log may contain more information." msgstr "" "Een onbekende fout trad op tijdens het ontleden van configuratiebestanden.\n" "\n" "Het gschem log kan meer informatie bevatten." #: gschem/src/x_rc.c:57 #, c-format msgid "ERROR: %s\n" msgstr "FOUT: %s\n" #: gschem/src/x_rc.c:60 #, c-format msgid "" "%s\n" "\n" "The gschem log may contain more information." msgstr "" "%s\n" "\n" "Het gschem log kan meer informatie bevatten." #: gschem/src/x_rc.c:68 msgid "Cannot load gschem configuration." msgstr "Kan geen gschem configuratie laden." #: gschem/src/x_script.c:47 gschem/lib/system-gschemrc.scm:1381 msgid "Execute Script..." msgstr "Script Uitvoeren..." #: gschem/src/x_script.c:66 #, c-format msgid "Executing guile script [%s]\n" msgstr "Bezig met uitvoeren van guile script [%s]\n" #: gschem/src/x_window.c:82 #, c-format msgid "Couldn't allocate gc\n" msgstr "Kan gc niet toewijzen\n" #: gschem/src/x_window.c:321 msgid "New" msgstr "Nieuw" #: gschem/src/x_window.c:322 msgid "New file" msgstr "Nieuw bestand" #: gschem/src/x_window.c:328 msgid "Open" msgstr "Open" #: gschem/src/x_window.c:329 msgid "Open file..." msgstr "Open bestand..." #: gschem/src/x_window.c:335 msgid "Save" msgstr "Opslaan" #: gschem/src/x_window.c:336 msgid "Save file" msgstr "Opslaan bestand" #: gschem/src/x_window.c:343 msgid "Undo" msgstr "Ongedaan maken" #: gschem/src/x_window.c:344 msgid "Undo last operation" msgstr "Maak laatste bewerking ongedaan" #: gschem/src/x_window.c:350 msgid "Redo" msgstr "Herstel" #: gschem/src/x_window.c:351 msgid "Redo last undo" msgstr "Herstel de laatste ongedaanmaking" #: gschem/src/x_window.c:360 msgid "" "Add component...\n" "Select library and component from list, move the mouse into main window, " "click to place\n" "Right mouse button to cancel" msgstr "" "Voeg een component toe...\n" "Selecteer een bibliotheek en component uit delijst, verplaats de " "muisindicator in het hoofdvensterklik om component te plaatsen\n" "Rechter muisknop om af te breken" #: gschem/src/x_window.c:370 msgid "" "Add nets mode\n" "Right mouse button to cancel" msgstr "" "Plaats draden modus\n" "Rechter muisknop om af te breken" #: gschem/src/x_window.c:380 msgid "" "Add buses mode\n" "Right mouse button to cancel" msgstr "" "Plaats bussen modus\n" "Rechter muisknop om af te breken" #: gschem/src/x_window.c:388 msgid "Add Text..." msgstr "Plaats een tekst..." #: gschem/src/x_window.c:398 msgid "Select" msgstr "Selecteer" #: gschem/src/x_window.c:399 msgid "Select mode" msgstr "Selectie mode" #: gschem/src/x_window.c:465 msgid "Evaluate:" msgstr "Evalueer:" #: gschem/src/x_window.c:484 msgid "Pick" msgstr "Pak" #: gschem/src/x_window.c:500 msgid "Repeat/none" msgstr "Herhaal/geen" #: gschem/src/x_window.c:510 msgid "Menu/Cancel" msgstr "Menu/Afbreken" #: gschem/src/x_window.c:512 msgid "Pan/Cancel" msgstr "Schuif/Afbreken" #: gschem/src/x_window.c:737 #, c-format msgid "Loading schematic [%s]\n" msgstr "Bezig met laden van schema [%s]\n" #: gschem/src/x_window.c:748 #, c-format msgid "" "An error occurred while loading the requested file.\n" "\n" "Loading from '%s' failed: %s. The gschem log may contain more information." msgstr "" "Er trad een fout op tijdens het laden van het gevraagde bestand.\n" "\n" "Laden van '%s' faalde: %s. Het gschem log kan meer informatie bevatten." #: gschem/src/x_window.c:750 msgid "Failed to load file" msgstr "Fout bij het lezen van bestand" #: gschem/src/x_window.c:759 #, c-format msgid "New file [%s]\n" msgstr "Nieuw bestand [%s]\n" #: gschem/src/x_window.c:862 #, c-format msgid "Could NOT save page [%s]\n" msgstr "Pagina [%s] kan NIET opgeslagen worden\n" #: gschem/src/x_window.c:863 msgid "Error while trying to save" msgstr "Fout tijdens het opslaan" #: gschem/src/x_window.c:873 msgid "Failed to save file" msgstr "Fout bij het opslaan van bestand" #: gschem/src/x_window.c:884 #, c-format msgid "Saved as [%s]\n" msgstr "Opgeslagen Als [%s]\n" #: gschem/src/x_window.c:886 #, c-format msgid "Saved [%s]\n" msgstr "Opgeslagen [%s]\n" #: gschem/src/x_window.c:888 msgid "Saved" msgstr "Opgeslagen" #: gschem/src/x_window.c:962 #, c-format msgid "Discarding page [%s]\n" msgstr "Pagina [%s] wegdoen\n" #: gschem/src/x_window.c:962 #, c-format msgid "Closing [%s]\n" msgstr "Sluiten [%s]\n" #: gschem/data/geda-gschem.desktop.in:3 msgid "gEDA Schematic Editor" msgstr "gEDA schema bewerking" #: gschem/data/geda-gschem.desktop.in:4 msgid "Create and edit electrical schematics and symbols with gschem" msgstr "Creer en bewerk elektrische schema's en symbolen met gschem" #: gschem/lib/system-gschemrc.scm:1368 msgid "_New" msgstr "_Nieuw" #: gschem/lib/system-gschemrc.scm:1369 msgid "_Open..." msgstr "_Open..." #: gschem/lib/system-gschemrc.scm:1371 msgid "Open Recen_t" msgstr "Open Recen_t" #: gschem/lib/system-gschemrc.scm:1373 msgid "_Save" msgstr "Op_slaan" #: gschem/lib/system-gschemrc.scm:1374 msgid "Save _As..." msgstr "Opslaan _Als..." #: gschem/lib/system-gschemrc.scm:1375 msgid "Save All" msgstr "Alles Opslaan" #: gschem/lib/system-gschemrc.scm:1376 gschem/lib/system-gschemrc.scm:1469 msgid "_Revert" msgstr "Te_rughalen" #: gschem/lib/system-gschemrc.scm:1378 msgid "_Print..." msgstr "Af_drukken..." #: gschem/lib/system-gschemrc.scm:1379 msgid "Write _image..." msgstr "Schrijf afbeeld_ing..." #: gschem/lib/system-gschemrc.scm:1383 msgid "New Window" msgstr "Nieuw Venster" #: gschem/lib/system-gschemrc.scm:1384 msgid "_Close Window" msgstr "Sluit Venster" #: gschem/lib/system-gschemrc.scm:1385 msgid "_Quit" msgstr "A_fsluiten" #: gschem/lib/system-gschemrc.scm:1391 msgid "_Undo" msgstr "_Ongedaan maken" #: gschem/lib/system-gschemrc.scm:1392 msgid "_Redo" msgstr "He_rstel" #: gschem/lib/system-gschemrc.scm:1394 msgid "Cu_t" msgstr "K_nip" #: gschem/lib/system-gschemrc.scm:1395 msgid "_Copy" msgstr "_Kopieer" #: gschem/lib/system-gschemrc.scm:1396 msgid "_Paste" msgstr "_Plak" #: gschem/lib/system-gschemrc.scm:1397 msgid "_Delete" msgstr "Verwij_der" #: gschem/lib/system-gschemrc.scm:1400 msgid "Select All" msgstr "Selecteer Alles" #: gschem/lib/system-gschemrc.scm:1401 msgid "Deselect" msgstr "Deselecteer" #: gschem/lib/system-gschemrc.scm:1405 msgid "Rotate 90 Mode" msgstr "Rotatie 90 Mode" #: gschem/lib/system-gschemrc.scm:1408 msgid "Edit..." msgstr "Bewerk..." #: gschem/lib/system-gschemrc.scm:1409 msgid "Edit Text..." msgstr "Bewerk Tekst..." #: gschem/lib/system-gschemrc.scm:1410 msgid "Slot..." msgstr "Slot..." #: gschem/lib/system-gschemrc.scm:1411 msgid "Color..." msgstr "Kleur..." #: gschem/lib/system-gschemrc.scm:1412 msgid "Line Width & Type..." msgstr "Lijn Dikte & Type..." #: gschem/lib/system-gschemrc.scm:1413 msgid "Fill Type..." msgstr "Arcering Type..." #: gschem/lib/system-gschemrc.scm:1414 msgid "Symbol Translate..." msgstr "Verplaats Symbool..." #: gschem/lib/system-gschemrc.scm:1418 msgid "Invoke Macro" msgstr "Macro Aanroepen" #: gschem/lib/system-gschemrc.scm:1419 msgid "Embed Component/Picture" msgstr "Component/Afbeelding Insluiten" #: gschem/lib/system-gschemrc.scm:1420 msgid "Unembed Component/Picture" msgstr "Component/Afbeelding Uitsluiten" #: gschem/lib/system-gschemrc.scm:1421 msgid "Update Component" msgstr "Hernieuw Component" #: gschem/lib/system-gschemrc.scm:1422 msgid "Show/Hide Inv Text" msgstr "Zichtbaar/Verborgen Onzichtbare Tekst" #: gschem/lib/system-gschemrc.scm:1428 msgid "Copy into 1" msgstr "Kopieer naar 1" #: gschem/lib/system-gschemrc.scm:1429 msgid "Copy into 2" msgstr "Kopieer naar 2" #: gschem/lib/system-gschemrc.scm:1430 msgid "Copy into 3" msgstr "Kopieer naar 3" #: gschem/lib/system-gschemrc.scm:1431 msgid "Copy into 4" msgstr "Kopieer naar 4" #: gschem/lib/system-gschemrc.scm:1432 msgid "Copy into 5" msgstr "Kopieer naar 5" #: gschem/lib/system-gschemrc.scm:1433 msgid "Cut into 1" msgstr "Knip naar 1" #: gschem/lib/system-gschemrc.scm:1434 msgid "Cut into 2" msgstr "Knip naar 2" #: gschem/lib/system-gschemrc.scm:1435 msgid "Cut into 3" msgstr "Knip naar 3" #: gschem/lib/system-gschemrc.scm:1436 msgid "Cut into 4" msgstr "Knip naar 4" #: gschem/lib/system-gschemrc.scm:1437 msgid "Cut into 5" msgstr "Knip naar 5" #: gschem/lib/system-gschemrc.scm:1438 msgid "Paste from 1" msgstr "Plak vanuit 1" #: gschem/lib/system-gschemrc.scm:1439 msgid "Paste from 2" msgstr "Plak vanuit 2" #: gschem/lib/system-gschemrc.scm:1440 msgid "Paste from 3" msgstr "Plak vanuit 3" #: gschem/lib/system-gschemrc.scm:1441 msgid "Paste from 4" msgstr "Plak vanuit 4" #: gschem/lib/system-gschemrc.scm:1442 msgid "Paste from 5" msgstr "Plak vanuit 5" #: gschem/lib/system-gschemrc.scm:1448 msgid "_Redraw" msgstr "He_rtekenen" #: gschem/lib/system-gschemrc.scm:1449 msgid "_Pan" msgstr "_Schuif" #: gschem/lib/system-gschemrc.scm:1450 msgid "Zoom _Box" msgstr "_Vergroot Venster" #: gschem/lib/system-gschemrc.scm:1451 msgid "Zoom _Extents" msgstr "Toon All_es" #: gschem/lib/system-gschemrc.scm:1452 msgid "Zoom _In" msgstr "Ver_groot" #: gschem/lib/system-gschemrc.scm:1453 msgid "Zoom _Out" msgstr "Ver_klein" #: gschem/lib/system-gschemrc.scm:1454 msgid "Zoom _Full" msgstr "Toon _Maximaal" #: gschem/lib/system-gschemrc.scm:1456 msgid "_Dark color scheme" msgstr "_Donker kleuren schema" #: gschem/lib/system-gschemrc.scm:1457 msgid "_Light color scheme" msgstr "_Licht kleuren schema" #: gschem/lib/system-gschemrc.scm:1458 msgid "B_W color scheme" msgstr "Z_W kleuren schema" #: gschem/lib/system-gschemrc.scm:1465 msgid "_Manager..." msgstr "_Manager..." #: gschem/lib/system-gschemrc.scm:1466 msgid "_Previous" msgstr "_Vorige" #: gschem/lib/system-gschemrc.scm:1467 msgid "_Next" msgstr "Volge_nde" #: gschem/lib/system-gschemrc.scm:1468 msgid "Ne_w" msgstr "Nieu_w" #: gschem/lib/system-gschemrc.scm:1470 msgid "_Close" msgstr "S_luit" #: gschem/lib/system-gschemrc.scm:1472 msgid "_Discard" msgstr "Weg_doen" #: gschem/lib/system-gschemrc.scm:1478 msgid "_Component..." msgstr "_Component..." #: gschem/lib/system-gschemrc.scm:1479 msgid "_Net" msgstr "_Draad" #: gschem/lib/system-gschemrc.scm:1480 msgid "B_us" msgstr "B_us" #: gschem/lib/system-gschemrc.scm:1481 msgid "_Attribute..." msgstr "_Attribuut..." #: gschem/lib/system-gschemrc.scm:1482 msgid "_Text..." msgstr "_Tekst..." #: gschem/lib/system-gschemrc.scm:1484 msgid "_Line" msgstr "_Lijn" #: gschem/lib/system-gschemrc.scm:1485 msgid "_Box" msgstr "_Rechthoek" #: gschem/lib/system-gschemrc.scm:1486 msgid "C_ircle" msgstr "C_irkel" #: gschem/lib/system-gschemrc.scm:1487 msgid "A_rc" msgstr "_Boog" #: gschem/lib/system-gschemrc.scm:1488 msgid "_Pin" msgstr "_Pen" #: gschem/lib/system-gschemrc.scm:1489 msgid "Pictu_re..." msgstr "A_fbeelding..." #: gschem/lib/system-gschemrc.scm:1495 msgid "_Down Schematic" msgstr "_Naar Schema" #: gschem/lib/system-gschemrc.scm:1496 msgid "Down _Symbol" msgstr "Naar _Symbool" #: gschem/lib/system-gschemrc.scm:1497 msgid "_Up" msgstr "O_mhoog" #: gschem/lib/system-gschemrc.scm:1498 msgid "D_ocumentation..." msgstr "D_ocumentatie..." #: gschem/lib/system-gschemrc.scm:1504 msgid "_Attach" msgstr "V_astmaken" #: gschem/lib/system-gschemrc.scm:1505 msgid "_Detach" msgstr "_Losmaken" #: gschem/lib/system-gschemrc.scm:1506 msgid "Show _Value" msgstr "Toon _Waarde" #: gschem/lib/system-gschemrc.scm:1507 msgid "Show _Name" msgstr "Toon _Naam" #: gschem/lib/system-gschemrc.scm:1508 msgid "Show _Both" msgstr "Toon _Beide" #: gschem/lib/system-gschemrc.scm:1509 msgid "_Toggle Visibility" msgstr "Schakel Zich_tbaarheid" #: gschem/lib/system-gschemrc.scm:1511 msgid "_Find Specific Text..." msgstr "Vind Speci_fieke Tekst..." #: gschem/lib/system-gschemrc.scm:1512 msgid "_Hide Specific Text..." msgstr "Verberg Specifieke Tekst..." #: gschem/lib/system-gschemrc.scm:1513 msgid "_Show Specific Text..." msgstr "Toon _Specifieke Tekst..." #: gschem/lib/system-gschemrc.scm:1514 msgid "A_utonumber Text..." msgstr "A_utomatisch Tekst Nummeren..." #: gschem/lib/system-gschemrc.scm:1520 msgid "_Text Size..." msgstr "_Tekst Hoogte..." #: gschem/lib/system-gschemrc.scm:1521 msgid "Cycle _grid styles" msgstr "Schakel r_aster stijlen" #: gschem/lib/system-gschemrc.scm:1522 msgid "Toggle _Snap On/Off" msgstr "Schakel _Snap Aan/Uit" #: gschem/lib/system-gschemrc.scm:1523 msgid "Snap Grid S_pacing..." msgstr "Sna_p Raster Afstand..." #: gschem/lib/system-gschemrc.scm:1524 msgid "Scale _up Grid Spacing" msgstr "Omhoog schalen Raster A_fstand" #: gschem/lib/system-gschemrc.scm:1526 msgid "Scale _down Grid Spacing" msgstr "Omlaag schalen Snap Raster Afstan_d" #: gschem/lib/system-gschemrc.scm:1528 msgid "Toggle _Outline/Box" msgstr "Schakel C_ontour/Rechthoek" #: gschem/lib/system-gschemrc.scm:1530 msgid "Toggle Net _Rubberband" msgstr "Schakel D_raad Elastiekband" #: gschem/lib/system-gschemrc.scm:1531 msgid "Toggle _Magnetic Net" msgstr "Schakel _Magnetische Draad Mode" #: gschem/lib/system-gschemrc.scm:1532 msgid "Show _Log Window..." msgstr "Toon _Logboek venster..." #: gschem/lib/system-gschemrc.scm:1534 msgid "Show _Coord Window..." msgstr "Toon _Coordinaten venster..." #: gschem/lib/system-gschemrc.scm:1542 msgid "gEDA Docu_mentation..." msgstr "gEDA Docu_mentatie..." #: gschem/lib/system-gschemrc.scm:1543 msgid "gschem _FAQ..." msgstr "gschem _FAQ..." #: gschem/lib/system-gschemrc.scm:1544 msgid "gEDA _Wiki..." msgstr "gEDA _Wiki..." #: gschem/lib/system-gschemrc.scm:1545 msgid "Component D_ocumentation..." msgstr "Component D_ocumentatie..." #: gschem/lib/system-gschemrc.scm:1547 msgid "_Hotkeys..." msgstr "_Sneltoets..." #: gschem/lib/system-gschemrc.scm:1548 msgid "_About..." msgstr "Om_trent..." #: gschem/lib/system-gschemrc.scm:1554 msgid "_File" msgstr "_Bestand" #: gschem/lib/system-gschemrc.scm:1555 msgid "_Edit" msgstr "B_ewerk" #: gschem/lib/system-gschemrc.scm:1556 msgid "_Buffer" msgstr "B_uffer" #: gschem/lib/system-gschemrc.scm:1557 msgid "_View" msgstr "_Toon" #: gschem/lib/system-gschemrc.scm:1558 msgid "_Page" msgstr "_Pagina" #: gschem/lib/system-gschemrc.scm:1559 msgid "_Add" msgstr "Toe_voegen" #: gschem/lib/system-gschemrc.scm:1560 msgid "Hie_rarchy" msgstr "Hie_rarchie" #: gschem/lib/system-gschemrc.scm:1561 msgid "A_ttributes" msgstr "_Attributen" #: gschem/lib/system-gschemrc.scm:1562 msgid "_Options" msgstr "_Opties" #: gschem/lib/system-gschemrc.scm:1563 msgid "_Help" msgstr "_Help" #: gschem/scheme/gschem/deprecated.scm:102 #, scheme-format msgid "Invalid text alignment ~A." msgstr "Ongeldige tekst uitlijning ~A." #: gschem/scheme/gschem/gschemdoc.scm:225 msgid "No documentation found" msgstr "Geen documentatie gevonden" #: gschem/scheme/gschem/keymap.scm:38 #, scheme-format msgid "~S is not a valid key combination." msgstr "~S is geen geldige toetsencombinatie." #: gschem/scheme/gschem/keymap.scm:153 #, scheme-format msgid "~S is not a prefix key sequence." msgstr "~S is geen voorafgaande toetsen combinatie." geda-gaf-1.8.2/gschem/po/el.po0000664000175000017500000021027512220655644012741 00000000000000# Greek translation for geda # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-09-01 20:41+0000\n" "Last-Translator: Panos Bouklis \n" "Language-Team: Greek \n" "Language: el\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: gschem/src/a_zoom.c:212 msgid "Zoom too small! Cannot zoom further.\n" msgstr "" #: gschem/src/g_attrib.c:92 msgid "Object ~A is not included in the current gschem page." msgstr "Το αντικείμενο ~A δεν περιλαμβάνεται στην τρέχουσα gschem." #: gschem/src/g_attrib.c:112 msgid "Invalid text name/value visibility ~A." msgstr "Μη έγκυρο όνομα/τιμή ορατότητας ~A." #: gschem/src/g_rc.c:312 #, c-format msgid "Invalid zoomfactor [%d] passed to %s\n" msgstr "" #: gschem/src/g_rc.c:458 #, c-format msgid "Invalid size [%d] passed to text-size\n" msgstr "Δόθηκε μη έγκυρο μέγεθος [%d] στο μέγεθος κειμένου\n" #: gschem/src/g_rc.c:501 #, c-format msgid "Invalid size [%d] passed to snap-size\n" msgstr "" #: gschem/src/g_rc.c:958 #, c-format msgid "Invalid num levels [%d] passed to undo-levels\n" msgstr "" #: gschem/src/g_rc.c:1220 #, c-format msgid "Invalid size [%d] passed to bus-ripper-size\n" msgstr "" #: gschem/src/g_rc.c:1295 #, c-format msgid "Invalid dot size [%d] passed to dots-grid-dot-size\n" msgstr "" #: gschem/src/g_rc.c:1336 #, c-format msgid "Invalid pixel spacing [%d] passed to dots-grid-fixed-threshold\n" msgstr "" #: gschem/src/g_rc.c:1362 #, c-format msgid "Invalid pixel spacing [%d] passed to mesh-grid-display-threshold\n" msgstr "" #: gschem/src/g_rc.c:1387 #, c-format msgid "Invalid offset [%d] passed to add-attribute-offset\n" msgstr "" #: gschem/src/g_rc.c:1411 #, c-format msgid "Invalid number of seconds [%d] passed to auto-save-interval\n" msgstr "" "Δόθηκε μη έγκυρος αριθμός δευτερολέπτων [%d] στο διάστημα αυτόματης " "αποθήκευσης\n" #: gschem/src/g_rc.c:1435 #, c-format msgid "Invalid gain [%d] passed to mousepan-gain\n" msgstr "" #: gschem/src/g_rc.c:1458 #, c-format msgid "Invalid gain [%d] passed to keyboardpan-gain\n" msgstr "" #: gschem/src/g_rc.c:1505 #, c-format msgid "Invalid number of pixels [%d] passed to select-slack-pixels\n" msgstr "" #: gschem/src/g_rc.c:1531 #, c-format msgid "Invalid gain [%d] passed to zoom-gain\n" msgstr "" #: gschem/src/g_rc.c:1556 #, c-format msgid "Invalid number of steps [%d] scrollpan-steps\n" msgstr "" #: gschem/src/g_select.c:79 gschem/src/g_select.c:116 #: gschem/src/g_select.c:152 msgid "Object ~A is not directly included in a page." msgstr "Το αντικείμενο ~A δεν περιλαμβάνεται άμεσα σε μια σελίδα." #: gschem/src/g_util.c:56 msgid "Could not launch URI ~S: ~A" msgstr "Αδυναμία εκτέλεσης URI ~S: ~A" #: gschem/src/g_window.c:136 msgid "Found invalid gschem window smob ~S" msgstr "" #: gschem/src/gschem.c:175 #, c-format msgid "gEDA/gschem version %s%s.%s\n" msgstr "gEDA/gschem έκδοση %s%s.%s\n" #: gschem/src/gschem.c:178 msgid "" "gEDA/gschem comes with ABSOLUTELY NO WARRANTY; see COPYING for more " "details.\n" msgstr "" "gEDA/gschem παρέχεται ΧΩΡΙΣ ΚΑΜΙΑ ΑΠΟΛΥΤΩΣ ΕΓΓΥΗΣΗ. Δείτε το COPYING για " "περισσότερες πληροφορίες.\n" #: gschem/src/gschem.c:180 msgid "" "This is free software, and you are welcome to redistribute it under certain\n" msgstr "" "Αυτό είναι δωρεάν λογισμικό, και μπορείτε ελεύθερα να το αναδιανείμετε υπό " "συγκεκριμένους\n" #: gschem/src/gschem.c:182 msgid "" "conditions; please see the COPYING file for more details.\n" "\n" msgstr "" "όρους. Παρακαλούμε δείτε το αρχείο COPYING για περισσότερες λεπτομέρειες.\n" "\n" #: gschem/src/gschem.c:185 #, c-format msgid "This is the MINGW32 port.\n" msgstr "" #: gschem/src/gschem.c:189 #, c-format msgid "Current locale settings: %s\n" msgstr "Τρέχουσες ρυθμίσεις τοπικότητας: %s\n" #: gschem/src/gschem.c:211 msgid "" "You must set the GEDADATA environment variable!\n" "\n" "gschem cannot locate its data files. You must set the GEDADATA\n" "environment variable to point to the correct location.\n" msgstr "" "Πρέπει να ρυθμίσετε τη μεταβλητή περιβάλλοντος GEDADATA!\n" "\n" "Το gschem δεν μπορεί να εντοπίσει τα αρχεία δεδομένων του. Πρέπει να " "ρυθμίσετε τη \n" "μεταβλητή περιβάλλοντος GEDADATA ώστε να δείχνει στη σωστή τοποθεσία.\n" #: gschem/src/gschem.c:248 #, c-format msgid "Couldn't find init scm file [%s]\n" msgstr "" #: gschem/src/gschem.c:252 #, c-format msgid "Read init scm file [%s]\n" msgstr "" #: gschem/src/gschem.c:256 #, c-format msgid "Failed to read init scm file [%s]\n" msgstr "" #: gschem/src/gschem_cairo.c:310 #, c-format msgid "Unknown end for line (%d)\n" msgstr "Άγνωστο τέλος γραμμής (%d)\n" #: gschem/src/gschem_cairo.c:318 #, c-format msgid "Unknown type for stroke (%d) !\n" msgstr "" #: gschem/src/gschem_pango.c:289 msgid "cairo context" msgstr "" #: gschem/src/gschem_pango.c:290 msgid "the cairo context for the renderer" msgstr "" #: gschem/src/i_basic.c:77 gschem/src/x_window.c:524 #: gschem/lib/system-gschemrc.scm:1399 msgid "Select Mode" msgstr "Λειτουργία Επιλογής" #: gschem/src/i_basic.c:79 msgid "Component Mode" msgstr "Λειτουργία στοιχείων" #: gschem/src/i_basic.c:81 msgid "Text Mode" msgstr "Λειτουργία κειμένου" #: gschem/src/i_basic.c:84 gschem/lib/system-gschemrc.scm:1402 msgid "Copy Mode" msgstr "Λειτουργία αντιγραφής" #: gschem/src/i_basic.c:87 gschem/lib/system-gschemrc.scm:1404 msgid "Move Mode" msgstr "Λειτουργία μετακίνησης" #: gschem/src/i_basic.c:89 msgid "Rotate Mode" msgstr "Λειτουργία περιστροφής" #: gschem/src/i_basic.c:91 gschem/lib/system-gschemrc.scm:1406 msgid "Mirror Mode" msgstr "Λειτουργία καθρεπτισμού" #: gschem/src/i_basic.c:95 msgid "Zoom Box" msgstr "" #: gschem/src/i_basic.c:99 msgid "Pan Mode" msgstr "" #: gschem/src/i_basic.c:103 #, c-format msgid "Paste %d Mode" msgstr "Λειτουργία επικόλλησης %d" #: gschem/src/i_basic.c:109 msgid "Magnetic Net Mode" msgstr "Λειτουργία μαγνητικού δικτύου" #: gschem/src/i_basic.c:111 msgid "Net Mode" msgstr "Λειτουργία δικτύου" #: gschem/src/i_basic.c:115 msgid "Bus Mode" msgstr "Λειτουργία διαύλου" #: gschem/src/i_basic.c:118 msgid "Line Mode" msgstr "Λειτουργία γραμμής" #: gschem/src/i_basic.c:121 msgid "Box Mode" msgstr "Λειτουργία κουτιού" #: gschem/src/i_basic.c:124 msgid "Picture Mode" msgstr "Λειτουργία εικόνας" #: gschem/src/i_basic.c:127 msgid "Circle Mode" msgstr "Λειτουργία κύκλου" #: gschem/src/i_basic.c:130 msgid "Arc Mode" msgstr "Λειτουργία τόξου" #: gschem/src/i_basic.c:133 msgid "Pin Mode" msgstr "Λειτουργία ακροδεκτών" #: gschem/src/i_basic.c:135 gschem/src/i_callbacks.c:529 #: gschem/src/i_callbacks.c:553 msgid "Copy" msgstr "Αντιγραφή" #: gschem/src/i_basic.c:137 gschem/src/i_callbacks.c:619 #: gschem/src/i_callbacks.c:643 msgid "Move" msgstr "Μετακίνηση" #: gschem/src/i_basic.c:139 gschem/src/i_callbacks.c:574 #: gschem/src/i_callbacks.c:598 msgid "Multiple Copy" msgstr "Πολλαπλή αντιγραφή" #: gschem/src/i_basic.c:142 gschem/lib/system-gschemrc.scm:1403 msgid "Multiple Copy Mode" msgstr "Λειτουργία πολλαπλής αντιγραφής" #: gschem/src/i_basic.c:168 msgid "Show Hidden" msgstr "Εμφάνιση κρυφών" #: gschem/src/i_basic.c:171 msgid "Snap Off" msgstr "" #: gschem/src/i_basic.c:173 msgid "Resnap Active" msgstr "" #: gschem/src/i_basic.c:254 gschem/src/x_window.c:498 msgid "Action" msgstr "Ενέργεια" #: gschem/src/i_basic.c:260 gschem/src/x_dialog.c:2325 #: gschem/src/x_window.c:493 msgid "Stroke" msgstr "" #: gschem/src/i_basic.c:266 gschem/src/x_window.c:495 msgid "none" msgstr "κανένα" #: gschem/src/i_basic.c:271 msgid "Repeat/" msgstr "Επανάληψη/" #: gschem/src/i_basic.c:566 gschem/src/i_basic.c:580 msgid "OFF" msgstr "" #: gschem/src/i_basic.c:584 msgid "NONE" msgstr "ΚΑΝΕΝΑ" #: gschem/src/i_basic.c:589 #, c-format msgid "Grid(%s, %s)" msgstr "" #: gschem/src/i_callbacks.c:76 gschem/src/i_callbacks.c:1659 #, c-format msgid "New page created [%s]\n" msgstr "Δημιουργήθηκε νέα σελίδα [%s]\n" #: gschem/src/i_callbacks.c:124 #, c-format msgid "New Window created [%s]\n" msgstr "Δημιουργήθηκε νέο παράθυρο [%s]\n" #: gschem/src/i_callbacks.c:242 msgid "Failed to Save All" msgstr "Απέτυχε η αποθήκευση όλων" #: gschem/src/i_callbacks.c:244 msgid "Saved All" msgstr "Αποθήκευση όλων" #: gschem/src/i_callbacks.c:334 msgid "Closing Window\n" msgstr "Κλείσιμο παραθύρου\n" #: gschem/src/i_callbacks.c:534 gschem/src/i_callbacks.c:579 #: gschem/src/i_callbacks.c:624 msgid "Select objs first" msgstr "Επιλέξτε αντικείμενα πρώτα" #: gschem/src/i_callbacks.c:663 gschem/src/x_multiattrib.c:1549 msgid "Delete" msgstr "Διαγραφή" #: gschem/src/i_callbacks.c:688 msgid "Edit" msgstr "Επεξεργασία" #: gschem/src/i_callbacks.c:703 msgid "Edit pin type" msgstr "Επεξεργασία τύπου ακροδέκτη" #: gschem/src/i_callbacks.c:722 msgid "Edit Text" msgstr "Επεξεργασία κειμένου" #: gschem/src/i_callbacks.c:745 msgid "Slot" msgstr "Υποδοχή" #: gschem/src/i_callbacks.c:762 msgid "Color" msgstr "Χρώμα" #: gschem/src/i_callbacks.c:799 gschem/src/i_callbacks.c:844 msgid "Rotate" msgstr "Περιστροφή" #: gschem/src/i_callbacks.c:866 gschem/src/i_callbacks.c:891 msgid "Mirror" msgstr "Καθρεπτισμός" #: gschem/src/i_callbacks.c:912 gschem/src/x_dialog.c:2328 #: gschem/lib/system-gschemrc.scm:1415 msgid "Lock" msgstr "Κλείδωμα" #: gschem/src/i_callbacks.c:930 gschem/lib/system-gschemrc.scm:1416 msgid "Unlock" msgstr "Ξεκλείδωμα" #: gschem/src/i_callbacks.c:948 gschem/src/x_dialog.c:1746 msgid "Translate" msgstr "Μετάφραση" #: gschem/src/i_callbacks.c:951 msgid "WARNING: Do not translate with snap off!\n" msgstr "" #: gschem/src/i_callbacks.c:952 msgid "WARNING: Turning snap on and continuing with translate.\n" msgstr "" #: gschem/src/i_callbacks.c:959 msgid "WARNING: Snap grid size is not equal to 100!\n" msgstr "" #: gschem/src/i_callbacks.c:961 msgid "" "WARNING: If you are translating a symbol to the origin, the snap grid size " "should be set to 100\n" msgstr "" #: gschem/src/i_callbacks.c:992 msgid "Embed" msgstr "Ενσωμάτωση" #: gschem/src/i_callbacks.c:1031 msgid "Unembed" msgstr "Αποενσωμάτωση" #: gschem/src/i_callbacks.c:1073 msgid "Update" msgstr "Ενημέρωση" #: gschem/src/i_callbacks.c:1120 msgid "ShowHidden" msgstr "ΕμφάνισηΚρυφών" #: gschem/src/i_callbacks.c:1426 gschem/src/i_callbacks.c:1498 msgid "Pan" msgstr "" #: gschem/src/i_callbacks.c:1703 msgid "Really revert page?" msgstr "Σίγουρα επαναφορά σελίδας;" #: gschem/src/i_callbacks.c:1773 msgid "Copy to clipboard" msgstr "Αντιγραφή στο πρόχειρο" #: gschem/src/i_callbacks.c:1791 msgid "Cut to clipboard" msgstr "Αποκοπή στο πρόχειρο" #: gschem/src/i_callbacks.c:1809 msgid "Paste from clipboard" msgstr "Επικόλληση από το πρόχειρο" #: gschem/src/i_callbacks.c:1821 gschem/src/i_callbacks.c:2060 #: gschem/src/i_callbacks.c:2082 gschem/src/i_callbacks.c:2104 #: gschem/src/i_callbacks.c:2126 gschem/src/i_callbacks.c:2148 msgid "Empty buffer" msgstr "Άδειασμα ενδιάμεσης μνήμης" #: gschem/src/i_callbacks.c:1866 msgid "Copy 1" msgstr "Αντιγραφή 1" #: gschem/src/i_callbacks.c:1885 msgid "Copy 2" msgstr "Αντιγραφή 2" #: gschem/src/i_callbacks.c:1904 msgid "Copy 3" msgstr "Αντιγραφή 3" #: gschem/src/i_callbacks.c:1923 msgid "Copy 4" msgstr "Αντιγραφή 4" #: gschem/src/i_callbacks.c:1942 msgid "Copy 5" msgstr "Αντιγραφή 5" #: gschem/src/i_callbacks.c:1961 msgid "Cut 1" msgstr "Αποκοπή 1" #: gschem/src/i_callbacks.c:1980 msgid "Cut 2" msgstr "Αποκοπή 2" #: gschem/src/i_callbacks.c:1999 msgid "Cut 3" msgstr "Αποκοπή 3" #: gschem/src/i_callbacks.c:2018 msgid "Cut 4" msgstr "Αποκοπή 4" #: gschem/src/i_callbacks.c:2037 msgid "Cut 5" msgstr "Αποκοπή 5" #: gschem/src/i_callbacks.c:2053 msgid "Paste 1" msgstr "Επικόλληση 1" #: gschem/src/i_callbacks.c:2075 msgid "Paste 2" msgstr "Επικόλληση 2" #: gschem/src/i_callbacks.c:2097 msgid "Paste 3" msgstr "Επικόλληση 3" #: gschem/src/i_callbacks.c:2119 msgid "Paste 4" msgstr "Επικόλληση 4" #: gschem/src/i_callbacks.c:2141 msgid "Paste 5" msgstr "Επικόλληση 5" #: gschem/src/i_callbacks.c:2278 gschem/src/x_window.c:359 msgid "Component" msgstr "Στοιχείο" #: gschem/src/i_callbacks.c:2314 gschem/src/i_callbacks.c:2333 #: gschem/src/x_dialog.c:2298 msgid "Attribute" msgstr "Γνώρισμα" #: gschem/src/i_callbacks.c:2355 gschem/src/i_callbacks.c:2382 #: gschem/src/x_dialog.c:2295 msgid "Net" msgstr "Δίκτυο" #: gschem/src/i_callbacks.c:2426 gschem/src/i_callbacks.c:2453 #: gschem/src/x_dialog.c:2313 gschem/src/x_window.c:379 msgid "Bus" msgstr "Δίαυλος" #: gschem/src/i_callbacks.c:2534 gschem/src/i_callbacks.c:2557 msgid "Line" msgstr "Γραμμή" #: gschem/src/i_callbacks.c:2579 gschem/src/i_callbacks.c:2602 msgid "Box" msgstr "Κουτί" #: gschem/src/i_callbacks.c:2658 gschem/src/i_callbacks.c:2682 msgid "Circle" msgstr "Κύκλος" #: gschem/src/i_callbacks.c:2704 gschem/src/i_callbacks.c:2727 msgid "Arc" msgstr "Τόξο" #: gschem/src/i_callbacks.c:2749 gschem/src/i_callbacks.c:2772 #: gschem/src/x_dialog.c:2286 msgid "Pin" msgstr "Ακροδέκτης" #: gschem/src/i_callbacks.c:2831 #, c-format msgid "Searching for source [%s]\n" msgstr "Αναζήτηση πηγής [%s]\n" #: gschem/src/i_callbacks.c:2855 #, c-format msgid "Cannot find source [%s]\n" msgstr "Αδυναμία εύρεσης πηγής [%s]\n" #: gschem/src/i_callbacks.c:2918 #, c-format msgid "Searching for symbol [%s]\n" msgstr "Αναζήτηση συμβόλου [%s]\n" #: gschem/src/i_callbacks.c:2924 msgid "Symbol is not a real file. Symbol cannot be loaded.\n" msgstr "" "Το σύμβολο δεν είναι πραγματικό αρχείο. Το σύμβολο δεν μπορεί να φορτωθεί.\n" #: gschem/src/i_callbacks.c:2955 msgid "Cannot find any schematics above the current one!\n" msgstr "Δεν μπορούν να βρεθούν σχεδιαγράμματα πάνω από το τρέχον!\n" #: gschem/src/i_callbacks.c:2985 msgid "Attach" msgstr "Σύνδεση" #: gschem/src/i_callbacks.c:3041 msgid "Detach" msgstr "Αποσύνδεση" #: gschem/src/i_callbacks.c:3085 msgid "ShowN" msgstr "ΕμβάνισηΝ" #: gschem/src/i_callbacks.c:3122 msgid "ShowV" msgstr "ΕμφάνισηV" #: gschem/src/i_callbacks.c:3159 msgid "ShowB" msgstr "ΕμφάνισηΒ" #: gschem/src/i_callbacks.c:3197 msgid "VisToggle" msgstr "" #: gschem/src/i_callbacks.c:3228 #, c-format msgid "Sorry but this is a non-functioning menu option\n" msgstr "Λυπούμαστε αλλά αυτή είναι μία μη λειτουργική επιλογή μενού\n" #: gschem/src/i_callbacks.c:3318 msgid "Action feedback mode set to OUTLINE\n" msgstr "" #: gschem/src/i_callbacks.c:3321 msgid "Action feedback mode set to BOUNDINGBOX\n" msgstr "" #: gschem/src/i_callbacks.c:3346 msgid "Grid OFF\n" msgstr "" #: gschem/src/i_callbacks.c:3347 msgid "Dot grid selected\n" msgstr "" #: gschem/src/i_callbacks.c:3348 msgid "Mesh grid selected\n" msgstr "" #: gschem/src/i_callbacks.c:3369 msgid "Snap OFF (CAUTION!)\n" msgstr "" #: gschem/src/i_callbacks.c:3372 msgid "Snap ON\n" msgstr "" #: gschem/src/i_callbacks.c:3375 msgid "Snap back to the grid (CAUTION!)\n" msgstr "" #: gschem/src/i_callbacks.c:3401 msgid "Rubber band OFF \n" msgstr "" #: gschem/src/i_callbacks.c:3404 msgid "Rubber band ON\n" msgstr "" #: gschem/src/i_callbacks.c:3419 msgid "magnetic net mode: ON\n" msgstr "" #: gschem/src/i_callbacks.c:3422 msgid "magnetic net mode: OFF\n" msgstr "" #: gschem/src/o_box.c:292 #, c-format msgid "Unknown type for box (fill)!\n" msgstr "Άγνωστος τύπος κουτιού (γέμισμα)!\n" #: gschem/src/o_buffer.c:54 #, c-format msgid "o_buffer_copy: Invalid buffer %i\n" msgstr "o_buffer_copy: Μη έγκυρη ενδιάμεση μνήμη %i\n" #: gschem/src/o_buffer.c:69 #, c-format msgid "o_buffer_cut: Invalid buffer %i\n" msgstr "o_buffer_cut: Μη έγκυρη ενδιάμεση μνήμη %i\n" #: gschem/src/o_buffer.c:90 #, c-format msgid "Got an invalid buffer_number [o_buffer_paste_start]\n" msgstr "Λήφθηκε μη έγκυρο buffer_number [o_buffer_paste_start]\n" #: gschem/src/o_bus.c:117 #, c-format msgid "Got an invalid which one in o_bus_draw_stretch\n" msgstr "" #: gschem/src/o_circle.c:284 #, c-format msgid "Unknown type for circle (fill)!\n" msgstr "Άγνωστος τύπος κύκλου (γέμισμα)!\n" #: gschem/src/o_complex.c:223 gschem/src/o_complex.c:227 #, c-format msgid "Translating schematic [%d %d]\n" msgstr "Μετάφραση σχεδιαγράμματος [%d %d]\n" #: gschem/src/o_misc.c:61 #, c-format msgid "Got an unexpected NULL in o_edit\n" msgstr "Λήφθηκε απροσδόκητο NULL στο o_edit\n" #: gschem/src/o_misc.c:125 msgid "Object already locked\n" msgstr "Αντικείμενο ήδη κλειδωμένο\n" #: gschem/src/o_misc.c:163 msgid "Object already unlocked\n" msgstr "Αντικείμενο ήδη ξεκλείδωτο\n" #: gschem/src/o_misc.c:339 msgid "Hidden text is now visible\n" msgstr "Το κρυφό κείμενο είναι πλέον ορατό\n" #: gschem/src/o_misc.c:341 msgid "Hidden text is now invisible\n" msgstr "Το κρυφό κείμενο είναι πλέον αόρατο\n" #: gschem/src/o_misc.c:568 #, c-format msgid "Could not find symbol [%s] in library. Update failed.\n" msgstr "Αδυναμία εύρεσης συμβόλου [%s] στη βιβλιοθήκη. Η ενημέρωση απέτυχε.\n" #: gschem/src/o_misc.c:683 #, c-format msgid "o_autosave_backups: Can't get the real filename of %s." msgstr "" "o_autosave_backups: Αδυναμία λήψης του πραγματικού ονόματος αρχείου για το " "%s." #: gschem/src/o_misc.c:727 #, c-format msgid "Could NOT set previous backup file [%s] read-write\n" msgstr "" "ΔΕΝ ήταν δυνατός ο ορισμός ανάγνωσης-εγγραφής για το προηγούμενο αντίγραφο " "ασφαλείας [%s]\n" #: gschem/src/o_misc.c:747 #, c-format msgid "Could NOT set backup file [%s] readonly\n" msgstr "" "ΔΕΝ ήταν δυνατός ο ορισμός μόνο-ανάγνωσης για το αντίγραφο ασφαλείας [%s]\n" #: gschem/src/o_misc.c:752 #, c-format msgid "Could NOT save backup file [%s]\n" msgstr "ΔΕΝ ήταν δυνατή η αποθήκευση του αντιγράφου ασφαλείας [%s]\n" #: gschem/src/o_move.c:174 #, c-format msgid "ERROR: NULL object in o_move_end!\n" msgstr "ERROR: Αντικείμενο NULL στο o_move_end!\n" #: gschem/src/o_move.c:431 #, c-format msgid "DOH! tried to find the whichone, but didn't find it!\n" msgstr "" #: gschem/src/o_move.c:453 #, c-format msgid "Got a non line object in o_move_check_endpoint\n" msgstr "" #: gschem/src/o_net.c:158 #, c-format msgid "Got an invalid which one in o_net_draw_stretch\n" msgstr "" #: gschem/src/o_net.c:537 msgid "Warning: Starting net at off grid coordinate\n" msgstr "Προειδοποίηση: Το δίκτυο ξεκινάει από συντεταγμένη εκτός πλέγματος.\n" #: gschem/src/o_net.c:602 msgid "Warning: Ending net at off grid coordinate\n" msgstr "Προειδοποίηση: Το δίκτυο τελειώνει σε συντεταγμένη εκτός πλέγματος.\n" #: gschem/src/o_net.c:944 gschem/src/o_net.c:981 gschem/src/o_net.c:1052 #: gschem/src/o_net.c:1088 #, c-format msgid "Tried to add more than two bus rippers. Internal gschem error.\n" msgstr "" #: gschem/src/o_net.c:1156 #, c-format msgid "Bus ripper symbol [%s] was not found in any component library\n" msgstr "" #: gschem/src/o_path.c:340 #, c-format msgid "Unknown type for path (fill)!\n" msgstr "" #: gschem/src/o_picture.c:166 #, c-format msgid "Failed to load picture: %s" msgstr "Αδυναμία φορτώματος εικόνας: %s" #: gschem/src/o_picture.c:180 msgid "Picture" msgstr "Εικόνα" #: gschem/src/o_picture.c:544 #, c-format msgid "Failed to replace pictures: %s" msgstr "Αδυναμία αντικατάστασης εικόνων: %s" #: gschem/src/o_slot.c:81 msgid "Slot attribute malformed\n" msgstr "Το γνώρισμα υποδοχής είναι παραμορφωμένο\n" #: gschem/src/o_slot.c:89 msgid "numslots attribute missing\n" msgstr "" #: gschem/src/o_slot.c:90 msgid "Slotting not allowed for this component\n" msgstr "Οι υποδοχές δεν επιτρέπονται σε αυτό το στοιχείο\n" #: gschem/src/o_slot.c:105 msgid "New slot number out of range\n" msgstr "Νέος αριθμός υποδοχής εκτός εύρους\n" #: gschem/src/o_undo.c:307 msgid "Undo/Redo disabled in rc file\n" msgstr "" #: gschem/src/parsecmd.c:82 #, c-format msgid "" "Usage: %s [OPTION ...] [--] [FILE ...]\n" "\n" "Interactively edit gEDA schematics or symbols. If one or more FILEs\n" "are specified, open them for editing; otherwise, create a new, empty\n" "schematic.\n" "\n" "Options:\n" " -q, --quiet Quiet mode.\n" " -v, --verbose Verbose mode.\n" " -r, --config-file=FILE Additional configuration file to load.\n" " -L DIR Add DIR to Scheme search path.\n" " -c EXPR Scheme expression to run at startup.\n" " -s FILE Scheme script to run at startup.\n" " -o, --output=FILE Output filename (for printing).\n" " -p Automatically place the window.\n" " -V, --version Show version information.\n" " -h, --help Help; this message.\n" " -- Treat all remaining arguments as filenames.\n" "\n" "Report bugs at \n" "gEDA/gaf homepage: \n" msgstr "" #: gschem/src/parsecmd.c:116 #, c-format msgid "" "gEDA %s (g%.7s)\n" "Copyright (C) 1998-2012 gEDA developers\n" "This is free software, and you are welcome to redistribute it under\n" "certain conditions. For details, see the file `COPYING', which is\n" "included in the gEDA distribution.\n" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" "gEDA %s (g%.7s)\n" "Πνευματικά δικαιώματα (C) 1998-2012 προγραμματιστές του gEDA\n" "Αυτό είναι δωρεάν λογισμικό, και μπορείτε να το αναδιανείμετε ελεύθερα υπό\n" "συγκεκριμένους όρους. Για λεπτομέρειες, δείτε το αρχείο `COPYING', το οποίο\n" "συμπεριλαμβάνεται στη διανομή του gEDA.\n" "Δεν υπάρχει ΚΑΜΙΑ ΕΓΓΥΗΣΗ, στα πλαίσια που επιτρέπει ο νόμος.\n" #: gschem/src/x_attribedit.c:127 #, c-format msgid "Got invalid show option; defaulting to show both\n" msgstr "" "Λήφθηκε μη έγκυρη επιλογή εμφάνισης. Προεπιλεγμένη εμφάνιση και των δύο\n" #: gschem/src/x_attribedit.c:141 #, c-format msgid "ERROR: NULL object!\n" msgstr "ΣΦΑΛΜΑ: Αντικείμενο NULL!\n" #: gschem/src/x_attribedit.c:329 msgid "Single Attribute Editor" msgstr "Επεξεργαστής ενός γνωρίσματος" #: gschem/src/x_attribedit.c:359 msgid "Edit Attribute" msgstr "Επεξεργασία γνωρίσματος" #: gschem/src/x_attribedit.c:361 msgid "Add Attribute" msgstr "Προσθήκη γνωρίσματος" #: gschem/src/x_attribedit.c:377 gschem/src/x_multiattrib.c:1973 msgid "Name:" msgstr "Όνομα:" #: gschem/src/x_attribedit.c:394 gschem/src/x_multiattrib.c:1992 msgid "Value:" msgstr "Τιμή:" #: gschem/src/x_attribedit.c:410 gschem/src/x_multiattrib.c:2038 msgid "Visible" msgstr "Ορατό" #: gschem/src/x_attribedit.c:430 msgid "Show Value Only" msgstr "" #: gschem/src/x_attribedit.c:432 msgid "Show Name Only" msgstr "Εμφάνιση τιμής μόνο" #: gschem/src/x_attribedit.c:434 gschem/src/x_multiattrib.c:1512 msgid "Show Name & Value" msgstr "Εμφάνιση ονόματος & τιμής" #: gschem/src/x_attribedit.c:441 msgid "Attach Options" msgstr "Επιλογές σύνδεσης" #: gschem/src/x_attribedit.c:456 msgid "All" msgstr "Όλα" #: gschem/src/x_attribedit.c:464 gschem/src/x_compselect.c:922 #: gschem/src/x_compselect.c:1036 msgid "Components" msgstr "Στοιχεία" #: gschem/src/x_attribedit.c:472 gschem/src/x_window.c:369 msgid "Nets" msgstr "Δίκτυα" #: gschem/src/x_attribedit.c:480 msgid "Replace existing attributes" msgstr "Αντικατάσταση υπαρχόνων γνωρισμάτων" #: gschem/src/x_autonumber.c:415 msgid "" "slotted object without slot attribute may cause problems when autonumbering " "slots\n" msgstr "" #: gschem/src/x_autonumber.c:430 #, c-format msgid "" "duplicate slot may cause problems: [symbolname=%s, number=%d, slot=%d]\n" msgstr "" "οι διπλές υποδοχές μπορεί να προκαλέσουν προβλήματα: [σύμβολο=%s, αριθμός=" "%d, υποδοχή=%d]\n" #: gschem/src/x_autonumber.c:672 msgid "No searchstring given in autonumber text.\n" msgstr "" #: gschem/src/x_autonumber.c:724 msgid "No '*' or '?' given at the end of the autonumber text.\n" msgstr "" #: gschem/src/x_autonumber.c:859 msgid "Diagonal" msgstr "Διαγώνια" #: gschem/src/x_autonumber.c:860 msgid "Top to bottom" msgstr "Πάνω προς κάτω" #: gschem/src/x_autonumber.c:860 msgid "Bottom to top" msgstr "Κάτω προς πάνω" #: gschem/src/x_autonumber.c:861 msgid "Left to right" msgstr "Αριστερά προς δεξιά" #: gschem/src/x_autonumber.c:861 msgid "Right to left" msgstr "Δεξιά προς αριστερά" #: gschem/src/x_autonumber.c:862 msgid "File order" msgstr "Σειρά αρχείων" #: gschem/src/x_autonumber.c:1198 msgid "Autonumber text" msgstr "" #: gschem/src/x_autonumber.c:1222 msgid "Scope" msgstr "Σκοπός" #: gschem/src/x_autonumber.c:1244 msgid "Search for:" msgstr "Αναζήτηση για:" #: gschem/src/x_autonumber.c:1258 msgid "Autonumber text in:" msgstr "" #: gschem/src/x_autonumber.c:1265 msgid "Skip numbers found in:" msgstr "Παράβλεψη αριθμών που βρίσκονται σε:" #: gschem/src/x_autonumber.c:1277 gschem/src/x_autonumber.c:1286 msgid "Selected objects" msgstr "Επιλεγμένα αντικείμενα" #: gschem/src/x_autonumber.c:1278 gschem/src/x_autonumber.c:1287 msgid "Current page" msgstr "Τρέχουσα σελίδα" #: gschem/src/x_autonumber.c:1279 gschem/src/x_autonumber.c:1288 msgid "Whole hierarchy" msgstr "Ολόκληρη η ιεραρχία" #: gschem/src/x_autonumber.c:1290 msgid "Overwrite existing numbers" msgstr "Αντικατάσταση υπαρχόντων αριθμών" #: gschem/src/x_autonumber.c:1295 msgid "Options" msgstr "Επιλογές" #: gschem/src/x_autonumber.c:1317 msgid "Starting number:" msgstr "Αριθμός έναρξης:" #: gschem/src/x_autonumber.c:1324 msgid "Sort order:" msgstr "Σειρά ταξινόμησης:" #: gschem/src/x_autonumber.c:1345 msgid "Remove numbers" msgstr "Αφαίρεση αριθμών" #: gschem/src/x_autonumber.c:1349 msgid "Automatic slotting" msgstr "" #: gschem/src/x_clipboard.c:249 #, c-format msgid "" "Invalid schematic on clipboard.\n" "\n" "An error occurred while inserting clipboard data: %s." msgstr "" "Μη έγκυρο σχεδιάγραμμα στο πρόχειρο.\n" "\n" "Συνέβη ένα σφάλμα κατά τη διάρκεια εισαγωγής τω δεδομένων προχείρου: %s." #: gschem/src/x_clipboard.c:251 msgid "Clipboard insertion failed" msgstr "Η εισαγωγή από το πρόχειρο απέτυχε" #: gschem/src/x_color.c:94 gschem/src/x_color.c:103 #, c-format msgid "Could not allocate the color %s!\n" msgstr "Αδυναμία εντοπισμού χρώματος %s!\n" #: gschem/src/x_color.c:94 msgid "black" msgstr "μαύρο" #: gschem/src/x_color.c:103 msgid "white" msgstr "άσπρο" #: gschem/src/x_color.c:125 #, c-format msgid "Could not allocate display color %i!\n" msgstr "Αδυναμία εντοπισμού χρώματος εμφάνισης %i!\n" #: gschem/src/x_color.c:147 #, c-format msgid "Could not allocate outline color %i!\n" msgstr "Αδυναμία εντοπισμού χρώματος περιγράμματος %i!\n" #: gschem/src/x_color.c:164 gschem/src/x_color.c:181 gschem/src/x_color.c:197 #, c-format msgid "Tried to get an invalid color: %d\n" msgstr "Προσπάθεια εισαγωγής μη έγκυρου χρώματος: %d\n" #: gschem/src/x_color.c:214 #, c-format msgid "Tried to get an invalid outline color: %d\n" msgstr "Προσπάθεια εισαγωγής μη έγκυρου χρώματος περιγράμματος: %d\n" #: gschem/src/x_compselect.c:1066 msgid "Filter:" msgstr "Φίλτρο:" #: gschem/src/x_compselect.c:1169 gschem/src/x_dialog.c:3653 #: gschem/src/x_multiattrib.c:1839 msgid "Name" msgstr "Όνομα" #: gschem/src/x_compselect.c:1178 gschem/src/x_multiattrib.c:1863 msgid "Value" msgstr "Τιμή" #: gschem/src/x_compselect.c:1217 msgid "Default behavior - reference component" msgstr "Προκαθορισμένη συμπεριφορά - στοιχείο αναφοράς" #: gschem/src/x_compselect.c:1220 msgid "Embed component in schematic" msgstr "Ενσωμάτωση στοιχείου στο σχεδιάγραμμα" #: gschem/src/x_compselect.c:1223 msgid "Include component as individual objects" msgstr "Συμπερίληψη του στοιχείου ως ξεχωριστά αντικείμενα" #: gschem/src/x_compselect.c:1380 msgid "Select Component..." msgstr "Επιλογή στοιχείου..." #: gschem/src/x_compselect.c:1403 msgid "In Use" msgstr "Σε χρήση" #: gschem/src/x_compselect.c:1407 msgid "Libraries" msgstr "Βιβλιοθήκες" #: gschem/src/x_compselect.c:1416 gschem/src/x_fileselect.c:122 msgid "Preview" msgstr "Προεπισκόπηση" #: gschem/src/x_compselect.c:1444 msgid "Attributes" msgstr "Γνωρίσματα" #: gschem/src/x_dialog.c:176 msgid "Text Entry..." msgstr "Εισαγωγή κειμένου..." #: gschem/src/x_dialog.c:207 msgid "" "Enter text, click apply,\n" "move cursor into window, click to place text.\n" "Middle button to rotate while placing." msgstr "" "Εισάγετε το κείμενο, πατήστε εφαρμογή, μετακινήστε τον δείκτη μέσα \n" "στο παράθυρο, κάντε κλικ για να τοποθετήσετε το κείμενο.\n" "Μεσαίο κουμπί για περιστροφή." #: gschem/src/x_dialog.c:301 msgid "Upper Left" msgstr "Πάνω αριστερά" #: gschem/src/x_dialog.c:304 msgid "Upper Middle" msgstr "Πάνω μέση" #: gschem/src/x_dialog.c:307 msgid "Upper Right" msgstr "Πάνω δεξιά" #: gschem/src/x_dialog.c:311 msgid "Middle Left" msgstr "Μέση αριστερά" #: gschem/src/x_dialog.c:314 msgid "Middle Middle" msgstr "Μέση μέση" #: gschem/src/x_dialog.c:317 msgid "Middle Right" msgstr "Μέση δεξιά" #: gschem/src/x_dialog.c:321 msgid "Lower Left" msgstr "Κάτω αριστερά" #: gschem/src/x_dialog.c:324 msgid "Lower Middle" msgstr "Κάτω μέση" #: gschem/src/x_dialog.c:327 msgid "Lower Right" msgstr "Κάτω δεξιά" #: gschem/src/x_dialog.c:438 msgid "Edit Text Properties" msgstr "Επεξεργασία ιδιοτήτων κειμένου" #: gschem/src/x_dialog.c:473 msgid "Text Content" msgstr "Περιεχόμενο κειμένου" #: gschem/src/x_dialog.c:509 msgid "Text Properties" msgstr "Ιδιότητες κειμένου" #: gschem/src/x_dialog.c:524 msgid "Color:" msgstr "Χρώμα:" #: gschem/src/x_dialog.c:531 msgid "Size:" msgstr "Μέγεθος:" #: gschem/src/x_dialog.c:540 msgid "Alignment:" msgstr "Στοίχιση:" #: gschem/src/x_dialog.c:589 msgid "Solid" msgstr "Συμπαγές" #: gschem/src/x_dialog.c:590 msgid "Dotted" msgstr "Με τελείες" #: gschem/src/x_dialog.c:591 msgid "Dashed" msgstr "Με παύλες" #: gschem/src/x_dialog.c:592 msgid "Center" msgstr "Κέντρο" #: gschem/src/x_dialog.c:593 msgid "Phantom" msgstr "Φάντασμα" #: gschem/src/x_dialog.c:594 gschem/src/x_dialog.c:691 #: gschem/src/x_dialog.c:700 gschem/src/x_dialog.c:709 #: gschem/src/x_dialog.c:810 gschem/src/x_dialog.c:813 #: gschem/src/x_dialog.c:816 gschem/src/x_dialog.c:1043 #: gschem/src/x_dialog.c:1146 gschem/src/x_dialog.c:1155 #: gschem/src/x_dialog.c:1164 gschem/src/x_dialog.c:1173 #: gschem/src/x_dialog.c:1182 gschem/src/x_dialog.c:1295 #: gschem/src/x_dialog.c:1298 gschem/src/x_dialog.c:1301 #: gschem/src/x_dialog.c:1304 gschem/src/x_dialog.c:1307 msgid "*unchanged*" msgstr "*χωρίς αλλαγές*" #: gschem/src/x_dialog.c:921 msgid "Edit Line Width & Type" msgstr "Επεξεργασία πλάτους & τύπου γραμμής" #: gschem/src/x_dialog.c:960 gschem/src/x_print.c:307 msgid "Type:" msgstr "Τύπος:" #: gschem/src/x_dialog.c:964 msgid "Width:" msgstr "Πλάτος:" #: gschem/src/x_dialog.c:968 msgid "Dash Length:" msgstr "Μήκος παύλας:" #: gschem/src/x_dialog.c:972 msgid "Dash Space:" msgstr "Κενό παύλας:" #: gschem/src/x_dialog.c:1039 msgid "Hollow" msgstr "Κοίλωμα" #: gschem/src/x_dialog.c:1040 msgid "Filled" msgstr "Γεμισμένο" #: gschem/src/x_dialog.c:1041 msgid "Mesh" msgstr "" #: gschem/src/x_dialog.c:1042 msgid "Hatch" msgstr "" #: gschem/src/x_dialog.c:1416 msgid "Edit Fill Type" msgstr "Επεξεργασία τύπου γεμίσματος" #: gschem/src/x_dialog.c:1455 msgid "Fill Type:" msgstr "Τύπος γεμίσματος" #: gschem/src/x_dialog.c:1459 msgid "Line Width:" msgstr "Πλάτος γραμμής:" #: gschem/src/x_dialog.c:1463 msgid "Angle 1:" msgstr "Γωνία 1:" #: gschem/src/x_dialog.c:1467 msgid "Pitch 1:" msgstr "" #: gschem/src/x_dialog.c:1471 msgid "Angle 2:" msgstr "Γωνία 2:" #: gschem/src/x_dialog.c:1475 msgid "Pitch 2:" msgstr "" #: gschem/src/x_dialog.c:1602 msgid "Arc Params" msgstr "Παράμετροι τόξου" #: gschem/src/x_dialog.c:1643 msgid "Arc Radius:" msgstr "Διάμετρος τόξου:" #: gschem/src/x_dialog.c:1651 msgid "Start Angle:" msgstr "Γωνία εκκίνησης:" #: gschem/src/x_dialog.c:1659 msgid "Degrees of Sweep:" msgstr "" #: gschem/src/x_dialog.c:1777 msgid "" "Offset to translate?\n" "(0 for origin)" msgstr "" #: gschem/src/x_dialog.c:1845 msgid "Text Size" msgstr "Μέγεθος κειμένου" #: gschem/src/x_dialog.c:1875 msgid "Enter new text size:" msgstr "Εισάγετε το νέο μέγεθος κειμένου:" #: gschem/src/x_dialog.c:1951 msgid "Snap Size" msgstr "" #: gschem/src/x_dialog.c:1981 msgid "Enter new snap grid spacing:" msgstr "" #: gschem/src/x_dialog.c:2058 msgid "Edit slot number" msgstr "Επεξεργασία αριθμού υποδοχής" #: gschem/src/x_dialog.c:2089 msgid "Edit slot number:" msgstr "Επεξεργασία αριθμού υποδοχής:" #: gschem/src/x_dialog.c:2130 #, c-format msgid "%s (g%.7s)" msgstr "%s (g%.7s)" #: gschem/src/x_dialog.c:2151 msgid "About gschem" msgstr "Σχετικά με το gschem" #: gschem/src/x_dialog.c:2152 msgid "gEDA: GPL Electronic Design Automation" msgstr "gEDA: Ηλεκτρονικός Αυτοματισμός Σχεδίασης GPL" #. TRANSLATORS: "ChangeLog" is a literal filename; please don't translate it. #: gschem/src/x_dialog.c:2155 msgid "" "Copyright © 1998-2012 Ales Hvezda \n" "Copyright © 1998-2012 gEDA Contributors (see ChangeLog for details)" msgstr "" "Πνευματικά δικαιώματα © 1998-2012 Ales Hvezda \n" "Πνευματικά δικαιώματα © 1998-2012 προγραμματιστές του gEDA (δείτε το " "ChangeLog για λεπτομέρειες)" #: gschem/src/x_dialog.c:2214 msgid "Coords" msgstr "Συντεταγμένες" #: gschem/src/x_dialog.c:2235 msgid "Screen" msgstr "Οθόνη" #: gschem/src/x_dialog.c:2244 msgid "World" msgstr "" #: gschem/src/x_dialog.c:2283 msgid "Background" msgstr "Παρασκήνιο" #: gschem/src/x_dialog.c:2289 msgid "Net endpoint" msgstr "Τερματικό σημείο δικτύου" #: gschem/src/x_dialog.c:2292 msgid "Graphic" msgstr "Γραφικό" #: gschem/src/x_dialog.c:2301 msgid "Logic bubble" msgstr "" #: gschem/src/x_dialog.c:2304 msgid "Grid point" msgstr "Σημείο πλέγματος" #: gschem/src/x_dialog.c:2307 msgid "Detached attribute" msgstr "Αποσυνδεδεμένο γνώρισμα" #: gschem/src/x_dialog.c:2310 gschem/src/x_window.c:387 msgid "Text" msgstr "Κείμενο" #: gschem/src/x_dialog.c:2316 msgid "Selection" msgstr "Επιλογή" #: gschem/src/x_dialog.c:2319 msgid "Bounding box" msgstr "" #: gschem/src/x_dialog.c:2322 msgid "Zoom box" msgstr "" #: gschem/src/x_dialog.c:2331 msgid "Output background" msgstr "Παρασκήνιο εξόδου" #: gschem/src/x_dialog.c:2334 msgid "Net junction" msgstr "Διασταύρωση δικτύου" #: gschem/src/x_dialog.c:2337 msgid "Mesh grid major" msgstr "" #: gschem/src/x_dialog.c:2340 msgid "Mesh grid minor" msgstr "" #: gschem/src/x_dialog.c:2343 msgid "Unknown" msgstr "'Αγνωστο" #: gschem/src/x_dialog.c:2494 #, c-format msgid "ERROR: NULL object in color_edit_dialog_apply!\n" msgstr "ERROR: Αντικείμενο NULL στο color_edit_dialog_apply!\n" #: gschem/src/x_dialog.c:2538 msgid "Color Edit" msgstr "Επεξεργασία χρώματος" #: gschem/src/x_dialog.c:2569 msgid "Object color:" msgstr "Χρώμα αντικειμένου:" #: gschem/src/x_dialog.c:2622 msgid "Hotkeys" msgstr "Γρήγορα Πλήκτρα" #: gschem/src/x_dialog.c:2662 msgid "Function" msgstr "" #: gschem/src/x_dialog.c:2669 msgid "Keystroke(s)" msgstr "" #: gschem/src/x_dialog.c:2977 msgid "Find Text" msgstr "Εύρεση κειμένου" #: gschem/src/x_dialog.c:3008 msgid "Text to find:" msgstr "Κείμενο προς εύρεση:" #: gschem/src/x_dialog.c:3018 msgid "descend into hierarchy" msgstr "" #: gschem/src/x_dialog.c:3084 msgid "Hide Text" msgstr "Απόκρυψη κειμένου" #: gschem/src/x_dialog.c:3115 msgid "Hide text starting with:" msgstr "Απόκρυψη κειμένου που ξεκινάει με:" #: gschem/src/x_dialog.c:3185 msgid "Show Text" msgstr "Εμφάνιση κειμένου" #: gschem/src/x_dialog.c:3216 msgid "Show text starting with:" msgstr "Εμφάνιση κειμένου που ξεκινάει με:" #: gschem/src/x_dialog.c:3675 msgid "S_elect the schematics you want to save:" msgstr "_Επιλέξετε τα σχεδιαγράμματα που θέλετε να αποθηκεύσετε:" #: gschem/src/x_dialog.c:3770 #, c-format msgid "Save the changes to schematic \"%s\" before closing?" msgstr "Αποθήκευση αλλαγών στο σχεδιάγραμμα \"%s\" πριν το κλείσιμο;" #: gschem/src/x_dialog.c:3776 #, c-format msgid "" "There are %d schematics with unsaved changes. Save changes before closing?" msgstr "" "Υπάρχουν %d σχεδιαγράμματα χωρίς αποθηκευμένες αλλαγές. Να αποθηκευτούν οι " "αλλαγές πριν το κλείσιμο;" #: gschem/src/x_dialog.c:3805 msgid "If you don't save, all your changes will be permanently lost." msgstr "Αν δεν αποθηκεύσετε, όλες οι αλλαγές θα χαθούν μόνιμα." #: gschem/src/x_dialog.c:3825 msgid "_Close without saving" msgstr "_Κλείσιμο χωρίς αποθήκευση" #: gschem/src/x_dialog.c:4161 #, c-format msgid "" "The input attribute \"%s\" is invalid\n" "Please correct in order to continue\n" "\n" "The name and value must be non-empty.\n" "The name cannot end with a space.\n" "The value cannot start with a space." msgstr "" "Το γνώρισμα εισόδου \"%s\" δεν είναι " "έγκυρο\n" "Παρακαλούμε διορθώστε το για να συνεχίσετε\n" "\n" "Το όνομα και η τιμή δεν πρέπει να είναι κενά.\n" "Το όνομα δεν μπορεί να τελειώνει με κενό.\n" "Η τιμή δεν μπορεί να ξεκινάει με κενό." #: gschem/src/x_dialog.c:4163 msgid "Invalid Attribute" msgstr "Μη έγκυρο γνώρισμα" #: gschem/src/x_dialog.c:4199 msgid "Pin type" msgstr "Τύπος ακροδέκτη" #: gschem/src/x_dialog.c:4223 msgid "Net pin" msgstr "Ακροδέκτης δικτύου" #: gschem/src/x_dialog.c:4225 msgid "Bus pin (graphical)" msgstr "Ακροδέκτης διαύλου (γραφικός)" #: gschem/src/x_fileselect.c:42 msgid "Schematics" msgstr "Σχεδιαγράμματα" #: gschem/src/x_fileselect.c:47 msgid "Symbols" msgstr "Σύμβολα" #: gschem/src/x_fileselect.c:52 msgid "Schematics and symbols" msgstr "Σχεδιαγράμματα και σύμβολα" #: gschem/src/x_fileselect.c:58 msgid "All files" msgstr "Όλα τα αρχεία" #: gschem/src/x_fileselect.c:171 msgid "Open..." msgstr "Άνοιγμα..." #: gschem/src/x_fileselect.c:231 msgid "Save as..." msgstr "Αποθήκευση ως..." #: gschem/src/x_fileselect.c:284 #, c-format msgid "" "The selected file `%s' already exists.\n" "\n" "Would you like to overwrite it?" msgstr "" "Το επιλεγμένο αρχείο `%s' υπάρχει ήδη.\n" "\n" "Θέλετε να το αντικαταστήσετε;" #: gschem/src/x_fileselect.c:287 msgid "Overwrite file?" msgstr "Αντικατάσταση αρχείου;" #: gschem/src/x_fileselect.c:289 msgid "Save cancelled on user request\n" msgstr "Αποθήκευση ακυρώθηκε με αίτημα του χρήστη\n" #: gschem/src/x_image.c:176 msgid "Encapsulated Postscript" msgstr "" #: gschem/src/x_image.c:296 #, c-format msgid "x_image_lowlevel: Unable to write eps file %s.\n" msgstr "x_image_lowlevel: Αδυναμία εγγραφής του αρχείου eps %s.\n" #: gschem/src/x_image.c:374 #, c-format msgid "x_image_lowlevel: Unable to write %s file %s.\n" msgstr "x_image_lowlevel: Αδυναμία εγγραφής του αρχείου %s %s.\n" #: gschem/src/x_image.c:384 #, c-format msgid "" "There was the following error when saving image with type %s to filename:\n" "%s\n" "\n" "%s.\n" msgstr "" "Παρουσιάστηκε το ακόλουθο σφάλμα κατά την αποθήκευση της εικόνας τύπου %s " "στο όνομα αρχείου:\n" "%s\n" "\n" "%s.\n" #: gschem/src/x_image.c:403 #, c-format msgid "Wrote color image to [%s] [%d x %d]\n" msgstr "Εγγράφηκε έγχρωμη εικόνα στο [%s] [%d x %d]\n" #: gschem/src/x_image.c:405 #, c-format msgid "Wrote black and white image to [%s] [%d x %d]\n" msgstr "Εγγράφηκε ασπρόμαυρη εικόνα στο [%s] [%d x %d]\n" #: gschem/src/x_image.c:413 msgid "x_image_lowlevel: Unable to get pixbuf from gschem's window.\n" msgstr "x_image_lowlevel: Αδυναμία λήψης pixbuf από το παράθυρο του gschem.\n" #: gschem/src/x_image.c:458 msgid "Width x Height" msgstr "Πλάτος x Ύψος" #: gschem/src/x_image.c:474 msgid "Image type" msgstr "Τύπος εικόνας" #: gschem/src/x_image.c:495 msgid "Write image..." msgstr "Εγγραφή εικόνας..." #: gschem/src/x_log.c:209 msgid "** Invalid UTF-8 in log message. See stderr or gschem.log.\n" msgstr "" "** Μη έγκυρο UTF-8 σε μήνυμα καταγραφής. Δείτε την καταγραφή του stderr ή " "του gschem.\n" #: gschem/src/x_log.c:288 msgid "Status" msgstr "Κατάσταση" #: gschem/src/x_menus.c:37 msgid "/Add Net" msgstr "/Προσθήκη δικτύου" #: gschem/src/x_menus.c:38 msgid "/Add Attribute..." msgstr "/Προσθήκη γνωρίσματος..." #: gschem/src/x_menus.c:39 msgid "/Add Component..." msgstr "/Προσθήκη στοιχείου..." #: gschem/src/x_menus.c:40 msgid "/Add Bus" msgstr "/Προσθήκη διαύλου" #: gschem/src/x_menus.c:41 msgid "/Add Text" msgstr "/Προσθήκη κειμένου" #: gschem/src/x_menus.c:43 msgid "/Zoom In" msgstr "" #: gschem/src/x_menus.c:44 msgid "/Zoom Out" msgstr "" #: gschem/src/x_menus.c:45 msgid "/Zoom Box" msgstr "" #: gschem/src/x_menus.c:46 msgid "/Zoom Extents" msgstr "" #: gschem/src/x_menus.c:48 msgid "/Select" msgstr "/Επιλογή" #: gschem/src/x_menus.c:49 msgid "/Edit..." msgstr "/Επεξεργασία..." #: gschem/src/x_menus.c:50 msgid "/Edit pin type..." msgstr "/Επεξεργασία τύπου ακροδέκτη..." #: gschem/src/x_menus.c:51 msgid "/Copy" msgstr "/Αντιγραφή" #: gschem/src/x_menus.c:52 msgid "/Move" msgstr "/Μετακίνηση" #: gschem/src/x_menus.c:53 msgid "/Delete" msgstr "/Διαγραφή" #: gschem/src/x_menus.c:56 msgid "/Down Schematic" msgstr "/Κάτω σχεδιάγραμμα" #: gschem/src/x_menus.c:57 msgid "/Down Symbol" msgstr "/Κάτω σύμβολο" #: gschem/src/x_menus.c:58 msgid "/Up" msgstr "/Πάνω" #: gschem/src/x_menus.c:348 #, c-format msgid "Tried to set the sensitivity on non-existent menu item '%s'\n" msgstr "Προσπάθεια ρύθμισης ευαισθησίας σε ανύπαρκτο αντικείμενο μενού '%s'\n" #: gschem/src/x_menus.c:372 msgid "Popup_menu_item_factory doesn't exist!\n" msgstr "Το Popup_menu_item_factory δεν υπάρχει!\n" #: gschem/src/x_menus.c:385 msgid "Tried to set the sensitivity on a non-existent popup menu_item\n" msgstr "" "Προσπάθεια ρύθμισης ευαισθησίας σε ανύπαρκτο αντικείμενο αναδυόμενου μενού\n" #: gschem/src/x_misc.c:74 msgid "The operating system is out of memory or resources." msgstr "Το λειτουργικό σύστημα είναι εκτός ορίων μνήμης ή πηγών." #: gschem/src/x_misc.c:155 #, c-format msgid "%s failed to launch URI" msgstr "%s απέτυχε να εκτελέσει το URI" #: gschem/src/x_multiattrib.c:961 msgid "Attributes with empty name are not allowed. Please set a name." msgstr "" "Γνωρίσματα με κενό όνομα δεν επιτρέπονται. Παρακαλούμε ορίστε ένα όνομα." #: gschem/src/x_multiattrib.c:1514 msgid "Show Value only" msgstr "Εμφάνιση τιμής μόνο" #: gschem/src/x_multiattrib.c:1516 msgid "Show Name only" msgstr "Εμφάνιση ονόματος μόνο" #: gschem/src/x_multiattrib.c:1544 msgid "Promote" msgstr "Προώθηση" #: gschem/src/x_multiattrib.c:1548 msgid "Duplicate" msgstr "Αντίγραφο" #: gschem/src/x_multiattrib.c:1765 msgid "Edit Attributes" msgstr "Επεξεργασία γνωρισμάτων" #: gschem/src/x_multiattrib.c:1883 msgid "Vis?" msgstr "" #: gschem/src/x_multiattrib.c:1901 msgid "N" msgstr "" #: gschem/src/x_multiattrib.c:1919 msgid "V" msgstr "" #: gschem/src/x_multiattrib.c:1941 msgid "Show inherited attributes" msgstr "Εμφάνιση κληρονομημένων γνωρισμάτων" #: gschem/src/x_multiattrib.c:1957 msgid "Add Attribute" msgstr "Προσθήκη γνωρίσματος" #: gschem/src/x_pagesel.c:246 msgid "New Page" msgstr "Νέα σελίδα" #: gschem/src/x_pagesel.c:247 msgid "Open Page..." msgstr "Άνοιγμα σελίδας..." #: gschem/src/x_pagesel.c:249 msgid "Save Page" msgstr "Αποθήκευση σελίδας" #: gschem/src/x_pagesel.c:250 msgid "Close Page" msgstr "Κλείσιμο σελίδας" #: gschem/src/x_pagesel.c:251 msgid "Discard Page" msgstr "" #: gschem/src/x_pagesel.c:369 msgid "Page Manager" msgstr "Διαχειριστής σελίδων" #: gschem/src/x_pagesel.c:425 msgid "Filename" msgstr "Όνομα αρχείου" #: gschem/src/x_pagesel.c:441 msgid "Changed" msgstr "Τροποποιήθηκε" #: gschem/src/x_pagesel.c:461 msgid "Right click on the filename for more options..." msgstr "Δεξί κλικ στο όνομα αρχείου για περισσότερες επιλογές..." #: gschem/src/x_preview.c:231 msgid "Preview Buffer" msgstr "Ενδιάμεση μνήμη προεπισκόπησης" #: gschem/src/x_print.c:84 msgid "Select PostScript Filename..." msgstr "Επιλογή ονόματος αρχείου PostScript..." #: gschem/src/x_print.c:164 msgid "Extents with margins" msgstr "" #: gschem/src/x_print.c:170 msgid "Extents no margins" msgstr "" #: gschem/src/x_print.c:176 msgid "Current Window" msgstr "Τρέχον παράθυρο" #: gschem/src/x_print.c:210 msgid "Landscape" msgstr "Οριζόντια" #: gschem/src/x_print.c:216 msgid "Portrait" msgstr "Κάθετα" #: gschem/src/x_print.c:276 msgid "Print..." msgstr "Εκτύπωση..." #: gschem/src/x_print.c:284 msgid "Settings" msgstr "Ρυθμίσεις" #: gschem/src/x_print.c:296 msgid "Output paper size:" msgstr "Μέγεθος χαρτιού εξόδου:" #: gschem/src/x_print.c:318 msgid "Orientation:" msgstr "Προσανατολισμός:" #: gschem/src/x_print.c:330 msgid "Destination" msgstr "Προορισμός" #: gschem/src/x_print.c:343 msgid "File:" msgstr "Αρχείο:" #: gschem/src/x_print.c:373 msgid "Command:" msgstr "Εντολή:" #: gschem/src/x_print.c:745 msgid "No print destination specified\n" msgstr "Δεν ορίστηκε προορισμός εκτύπωσης\n" #: gschem/src/x_print.c:752 #, c-format msgid "Cannot print current schematic to [%s]\n" msgstr "Αδυναμία εκτύπωσης τρέχοντος σχεδιαγράμματος στο [%s]\n" #: gschem/src/x_print.c:761 #, c-format msgid "" "Error printing to file '%s'\n" "Check the log window for more information" msgstr "" "Σφάλμα κατά την εκτύπωση του αρχείου '%s'\n" "Δείτε το παράθυρο καταγραφής για περισσότερες πληροφορίες" #: gschem/src/x_print.c:768 #, c-format msgid "Printed current schematic to [%s]\n" msgstr "Το τρέχον σχεδιάγραμμα εκτυπώθηκε στο [%s]\n" #: gschem/src/x_rc.c:40 msgid "ERROR: An unknown error occurred while parsing configuration files.\n" msgstr "" #: gschem/src/x_rc.c:45 msgid "" "An unknown error occurred while parsing configuration files.\n" "\n" "The gschem log may contain more information." msgstr "" #: gschem/src/x_rc.c:57 #, c-format msgid "ERROR: %s\n" msgstr "ΣΦΑΛΜΑ: %s\n" #: gschem/src/x_rc.c:60 #, c-format msgid "" "%s\n" "\n" "The gschem log may contain more information." msgstr "" "%s\n" "\n" "Η καταγραφή του gschem μπορεί να περιέχει περισσότερες πληροφορίες." #: gschem/src/x_rc.c:68 msgid "Cannot load gschem configuration." msgstr "Δεν είναι δυνατό το φόρτωμα των ρυθμίσεων του gschem." #: gschem/src/x_script.c:47 gschem/lib/system-gschemrc.scm:1381 msgid "Execute Script..." msgstr "Εκτέλεση σεναρίου..." #: gschem/src/x_script.c:66 #, c-format msgid "Executing guile script [%s]\n" msgstr "" #: gschem/src/x_window.c:82 #, c-format msgid "Couldn't allocate gc\n" msgstr "Αδυναμία εντοπισμού του gc\n" #: gschem/src/x_window.c:321 msgid "New" msgstr "Νέο" #: gschem/src/x_window.c:322 msgid "New file" msgstr "Νέο αρχείο" #: gschem/src/x_window.c:328 msgid "Open" msgstr "Άνοιγμα" #: gschem/src/x_window.c:329 msgid "Open file..." msgstr "Άνοιγμα αρχείου..." #: gschem/src/x_window.c:335 msgid "Save" msgstr "Αποθήκευση" #: gschem/src/x_window.c:336 msgid "Save file" msgstr "Αποθήκευση αρχείου" #: gschem/src/x_window.c:343 msgid "Undo" msgstr "Αναίρεση" #: gschem/src/x_window.c:344 msgid "Undo last operation" msgstr "Αναίρεση τελευταίας ενέργειας" #: gschem/src/x_window.c:350 msgid "Redo" msgstr "Επαναφορά" #: gschem/src/x_window.c:351 msgid "Redo last undo" msgstr "Ακύρωση τελευταίας αναίρεσης" #: gschem/src/x_window.c:360 msgid "" "Add component...\n" "Select library and component from list, move the mouse into main window, " "click to place\n" "Right mouse button to cancel" msgstr "" "Προσθήκη στοιχείου...\n" "Επιλέξτε βιβλιοθήκη και στοιχείο από τη λίστα, μετακινείστε το ποντίκι στο " "βασικό παράθυρο, κάντε κλικ για τοποθέτηση\n" "Δεξί κλικ για ακύρωση" #: gschem/src/x_window.c:370 msgid "" "Add nets mode\n" "Right mouse button to cancel" msgstr "" "Λειτουργία προσθήκης δικτύου\n" "Δεξί κλικ για ακύρωση" #: gschem/src/x_window.c:380 msgid "" "Add buses mode\n" "Right mouse button to cancel" msgstr "" "Λειτουργία προσθήκης διαύλου\n" "Δεξί κλικ για ακύρωση" #: gschem/src/x_window.c:388 msgid "Add Text..." msgstr "Προσθήκη κειμένου..." #: gschem/src/x_window.c:398 msgid "Select" msgstr "Επιλογή" #: gschem/src/x_window.c:399 msgid "Select mode" msgstr "Λειτουργία επιλογής" #: gschem/src/x_window.c:465 msgid "Evaluate:" msgstr "Εκτίμηση:" #: gschem/src/x_window.c:484 msgid "Pick" msgstr "" #: gschem/src/x_window.c:500 msgid "Repeat/none" msgstr "Επανάληψη/κανένα" #: gschem/src/x_window.c:510 msgid "Menu/Cancel" msgstr "Μενού/Άκυρο" #: gschem/src/x_window.c:512 msgid "Pan/Cancel" msgstr "" #: gschem/src/x_window.c:737 #, c-format msgid "Loading schematic [%s]\n" msgstr "Φόρτωμα σχεδιαγράμματος [%s]\n" #: gschem/src/x_window.c:748 #, c-format msgid "" "An error occurred while loading the requested file.\n" "\n" "Loading from '%s' failed: %s. The gschem log may contain more information." msgstr "" "Συνέβη ένα σφάλμα κατά το φόρτωμα του αρχείου που ζητήθηκε.\n" "\n" "Το φόρτωμα από '%s' απέτυχε: %s. Η καταγραφή του gschem μπορεί να περιέχει " "περισσότερες πληροφορίες." #: gschem/src/x_window.c:750 msgid "Failed to load file" msgstr "Αποτυχία φορτώματος αρχείου" #: gschem/src/x_window.c:759 #, c-format msgid "New file [%s]\n" msgstr "Νέο αρχείο [%s]\n" #: gschem/src/x_window.c:862 #, c-format msgid "Could NOT save page [%s]\n" msgstr "ΔΕΝ ήταν δυνατή η αποθήκευση της σελίδας [%s]\n" #: gschem/src/x_window.c:863 msgid "Error while trying to save" msgstr "Σφάλμα κατά την προσπάθεια αποθήκευσης" #: gschem/src/x_window.c:873 msgid "Failed to save file" msgstr "Αποτυχία αποθήκευσης αρχείου" #: gschem/src/x_window.c:884 #, c-format msgid "Saved as [%s]\n" msgstr "Αποθηκεύτηκε ως [%s]\n" #: gschem/src/x_window.c:886 #, c-format msgid "Saved [%s]\n" msgstr "Αποθηκεύτηκε [%s]\n" #: gschem/src/x_window.c:888 msgid "Saved" msgstr "Αποθηκεύτηκε" #: gschem/src/x_window.c:962 #, c-format msgid "Discarding page [%s]\n" msgstr "" #: gschem/src/x_window.c:962 #, c-format msgid "Closing [%s]\n" msgstr "Κλείσιμο [%s]\n" #: gschem/data/geda-gschem.desktop.in:3 msgid "gEDA Schematic Editor" msgstr "Επεξεργαστής Σχεδιαγραμμάτων gEDA" #: gschem/data/geda-gschem.desktop.in:4 msgid "Create and edit electrical schematics and symbols with gschem" msgstr "" "Δημιουργείστε και επεξεργαστείτε ηλεκτρικά σχεδιαγράμματα και σύμβολα με το " "gschem" #: gschem/lib/system-gschemrc.scm:1368 msgid "_New" msgstr "_Νέο" #: gschem/lib/system-gschemrc.scm:1369 msgid "_Open..." msgstr "_Άνοιγμα..." #: gschem/lib/system-gschemrc.scm:1371 msgid "Open Recen_t" msgstr "Άνοιγμα _προσφάτου" #: gschem/lib/system-gschemrc.scm:1373 msgid "_Save" msgstr "_Αποθήκευση" #: gschem/lib/system-gschemrc.scm:1374 msgid "Save _As..." msgstr "Αποθήκευση _ως..." #: gschem/lib/system-gschemrc.scm:1375 msgid "Save All" msgstr "Αποθήκευση όλων" #: gschem/lib/system-gschemrc.scm:1376 gschem/lib/system-gschemrc.scm:1469 msgid "_Revert" msgstr "_Επαναφορά" #: gschem/lib/system-gschemrc.scm:1378 msgid "_Print..." msgstr "Ε_κτύπωση..." #: gschem/lib/system-gschemrc.scm:1379 msgid "Write _image..." msgstr "Ε_γγραφή εικόνας..." #: gschem/lib/system-gschemrc.scm:1383 msgid "New Window" msgstr "Νέο παράθυρο" #: gschem/lib/system-gschemrc.scm:1384 msgid "_Close Window" msgstr "_Κλείσιμο παραθύρου" #: gschem/lib/system-gschemrc.scm:1385 msgid "_Quit" msgstr "Έ_ξοδος" #: gschem/lib/system-gschemrc.scm:1391 msgid "_Undo" msgstr "_Αναίρεση" #: gschem/lib/system-gschemrc.scm:1392 msgid "_Redo" msgstr "Ε_παναφορά" #: gschem/lib/system-gschemrc.scm:1394 msgid "Cu_t" msgstr "Α_ποκοπή" #: gschem/lib/system-gschemrc.scm:1395 msgid "_Copy" msgstr "Α_ντιγραφή" #: gschem/lib/system-gschemrc.scm:1396 msgid "_Paste" msgstr "Ε_πικόλληση" #: gschem/lib/system-gschemrc.scm:1397 msgid "_Delete" msgstr "_Διαγραφή" #: gschem/lib/system-gschemrc.scm:1400 msgid "Select All" msgstr "Επιλογή όλων" #: gschem/lib/system-gschemrc.scm:1401 msgid "Deselect" msgstr "Αποεπιλογή" #: gschem/lib/system-gschemrc.scm:1405 msgid "Rotate 90 Mode" msgstr "Λειτουργία περιστροφής 90" #: gschem/lib/system-gschemrc.scm:1408 msgid "Edit..." msgstr "Επεξεργασία..." #: gschem/lib/system-gschemrc.scm:1409 msgid "Edit Text..." msgstr "Επεξεργασία κειμένου..." #: gschem/lib/system-gschemrc.scm:1410 msgid "Slot..." msgstr "Υποδοχή..." #: gschem/lib/system-gschemrc.scm:1411 msgid "Color..." msgstr "Χρώμα..." #: gschem/lib/system-gschemrc.scm:1412 msgid "Line Width & Type..." msgstr "Πλάτος & τύπος γραμμής..." #: gschem/lib/system-gschemrc.scm:1413 msgid "Fill Type..." msgstr "Τύπος γεμίσματος..." #: gschem/lib/system-gschemrc.scm:1414 msgid "Symbol Translate..." msgstr "Μετάφραση συμβόλου..." #: gschem/lib/system-gschemrc.scm:1418 msgid "Invoke Macro" msgstr "" #: gschem/lib/system-gschemrc.scm:1419 msgid "Embed Component/Picture" msgstr "Ενσωμάτωση στοιχείου/εικόνας" #: gschem/lib/system-gschemrc.scm:1420 msgid "Unembed Component/Picture" msgstr "Αποενσωμάτωση στοιχείου/εικόνας" #: gschem/lib/system-gschemrc.scm:1421 msgid "Update Component" msgstr "Ενημέρωση στοιχείου" #: gschem/lib/system-gschemrc.scm:1422 msgid "Show/Hide Inv Text" msgstr "" #: gschem/lib/system-gschemrc.scm:1428 msgid "Copy into 1" msgstr "Αντιγραφή σε 1" #: gschem/lib/system-gschemrc.scm:1429 msgid "Copy into 2" msgstr "Αντιγραφή σε 2" #: gschem/lib/system-gschemrc.scm:1430 msgid "Copy into 3" msgstr "Αντιγραφή σε 3" #: gschem/lib/system-gschemrc.scm:1431 msgid "Copy into 4" msgstr "Αντιγραφή σε 4" #: gschem/lib/system-gschemrc.scm:1432 msgid "Copy into 5" msgstr "Αντιγραφή σε 5" #: gschem/lib/system-gschemrc.scm:1433 msgid "Cut into 1" msgstr "Αποκοπή σε 1" #: gschem/lib/system-gschemrc.scm:1434 msgid "Cut into 2" msgstr "Αποκοπή σε 2" #: gschem/lib/system-gschemrc.scm:1435 msgid "Cut into 3" msgstr "Αποκοπή σε 3" #: gschem/lib/system-gschemrc.scm:1436 msgid "Cut into 4" msgstr "Αποκοπή σε 4" #: gschem/lib/system-gschemrc.scm:1437 msgid "Cut into 5" msgstr "Αποκοπή σε 5" #: gschem/lib/system-gschemrc.scm:1438 msgid "Paste from 1" msgstr "Επικόλληση από 1" #: gschem/lib/system-gschemrc.scm:1439 msgid "Paste from 2" msgstr "Επικόλληση από 2" #: gschem/lib/system-gschemrc.scm:1440 msgid "Paste from 3" msgstr "Επικόλληση από 3" #: gschem/lib/system-gschemrc.scm:1441 msgid "Paste from 4" msgstr "Επικόλληση από 4" #: gschem/lib/system-gschemrc.scm:1442 msgid "Paste from 5" msgstr "Επικόλληση από 5" #: gschem/lib/system-gschemrc.scm:1448 msgid "_Redraw" msgstr "_Επανασχεδίαση" #: gschem/lib/system-gschemrc.scm:1449 msgid "_Pan" msgstr "" #: gschem/lib/system-gschemrc.scm:1450 msgid "Zoom _Box" msgstr "" #: gschem/lib/system-gschemrc.scm:1451 msgid "Zoom _Extents" msgstr "" #: gschem/lib/system-gschemrc.scm:1452 msgid "Zoom _In" msgstr "" #: gschem/lib/system-gschemrc.scm:1453 msgid "Zoom _Out" msgstr "" #: gschem/lib/system-gschemrc.scm:1454 msgid "Zoom _Full" msgstr "" #: gschem/lib/system-gschemrc.scm:1456 msgid "_Dark color scheme" msgstr "Σχήμα _σκοτεινών χρωμάτων" #: gschem/lib/system-gschemrc.scm:1457 msgid "_Light color scheme" msgstr "Σχήμα _φωτεινών χρωμάτων" #: gschem/lib/system-gschemrc.scm:1458 msgid "B_W color scheme" msgstr "" #: gschem/lib/system-gschemrc.scm:1465 msgid "_Manager..." msgstr "_Διαχειριστής..." #: gschem/lib/system-gschemrc.scm:1466 msgid "_Previous" msgstr "_Προηγούμενο" #: gschem/lib/system-gschemrc.scm:1467 msgid "_Next" msgstr "_Επόμενο" #: gschem/lib/system-gschemrc.scm:1468 msgid "Ne_w" msgstr "_Νέο" #: gschem/lib/system-gschemrc.scm:1470 msgid "_Close" msgstr "_Κλείσιμο" #: gschem/lib/system-gschemrc.scm:1472 msgid "_Discard" msgstr "" #: gschem/lib/system-gschemrc.scm:1478 msgid "_Component..." msgstr "_Στοιχείο..." #: gschem/lib/system-gschemrc.scm:1479 msgid "_Net" msgstr "_Δίκτυο" #: gschem/lib/system-gschemrc.scm:1480 msgid "B_us" msgstr "Δ_ίαυλος" #: gschem/lib/system-gschemrc.scm:1481 msgid "_Attribute..." msgstr "_Γνώρισμα..." #: gschem/lib/system-gschemrc.scm:1482 msgid "_Text..." msgstr "_Κείμενο..." #: gschem/lib/system-gschemrc.scm:1484 msgid "_Line" msgstr "_Γραμμή" #: gschem/lib/system-gschemrc.scm:1485 msgid "_Box" msgstr "_Κουτί" #: gschem/lib/system-gschemrc.scm:1486 msgid "C_ircle" msgstr "_Κύκλος" #: gschem/lib/system-gschemrc.scm:1487 msgid "A_rc" msgstr "_Τόξο" #: gschem/lib/system-gschemrc.scm:1488 msgid "_Pin" msgstr "_Ακροδέκτης" #: gschem/lib/system-gschemrc.scm:1489 msgid "Pictu_re..." msgstr "_Εικόνα..." #: gschem/lib/system-gschemrc.scm:1495 msgid "_Down Schematic" msgstr "_Κάτω σχεδιάγραμμα" #: gschem/lib/system-gschemrc.scm:1496 msgid "Down _Symbol" msgstr "Κάτω _σύμβολο" #: gschem/lib/system-gschemrc.scm:1497 msgid "_Up" msgstr "_Πάνω" #: gschem/lib/system-gschemrc.scm:1498 msgid "D_ocumentation..." msgstr "_Τεκμηρίωση..." #: gschem/lib/system-gschemrc.scm:1504 msgid "_Attach" msgstr "_Σύνδεση" #: gschem/lib/system-gschemrc.scm:1505 msgid "_Detach" msgstr "_Αποσύνδεση" #: gschem/lib/system-gschemrc.scm:1506 msgid "Show _Value" msgstr "Εμφάνιση _τιμής" #: gschem/lib/system-gschemrc.scm:1507 msgid "Show _Name" msgstr "Εμφάνιση _ονόματος" #: gschem/lib/system-gschemrc.scm:1508 msgid "Show _Both" msgstr "Εμφάνιση _και των δύο" #: gschem/lib/system-gschemrc.scm:1509 msgid "_Toggle Visibility" msgstr "Εναλλαγή ορατότητας" #: gschem/lib/system-gschemrc.scm:1511 msgid "_Find Specific Text..." msgstr "_Εύρεση συγκεκριμένου κειμένου..." #: gschem/lib/system-gschemrc.scm:1512 msgid "_Hide Specific Text..." msgstr "_Απόκρυψη συγκεκριμένου κειμένου..." #: gschem/lib/system-gschemrc.scm:1513 msgid "_Show Specific Text..." msgstr "_Εμφάνιση συγκεκριμένου κειμένου..." #: gschem/lib/system-gschemrc.scm:1514 msgid "A_utonumber Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1520 msgid "_Text Size..." msgstr "_Μέγεθος κειμένου..." #: gschem/lib/system-gschemrc.scm:1521 msgid "Cycle _grid styles" msgstr "" #: gschem/lib/system-gschemrc.scm:1522 msgid "Toggle _Snap On/Off" msgstr "" #: gschem/lib/system-gschemrc.scm:1523 msgid "Snap Grid S_pacing..." msgstr "" #: gschem/lib/system-gschemrc.scm:1524 msgid "Scale _up Grid Spacing" msgstr "" #: gschem/lib/system-gschemrc.scm:1526 msgid "Scale _down Grid Spacing" msgstr "" #: gschem/lib/system-gschemrc.scm:1528 msgid "Toggle _Outline/Box" msgstr "Εναλλαγή _περιγράμματος/κουτιού" #: gschem/lib/system-gschemrc.scm:1530 msgid "Toggle Net _Rubberband" msgstr "" #: gschem/lib/system-gschemrc.scm:1531 msgid "Toggle _Magnetic Net" msgstr "Εναλλαγή _μαγνητικού δικτύου" #: gschem/lib/system-gschemrc.scm:1532 msgid "Show _Log Window..." msgstr "Εμφάνιση παραθύρου καταγραφής..." #: gschem/lib/system-gschemrc.scm:1534 msgid "Show _Coord Window..." msgstr "Εμφάνιση παραθύρου συντεταγμένων..." #: gschem/lib/system-gschemrc.scm:1542 msgid "gEDA Docu_mentation..." msgstr "_Τεκμηρίωση gEDA..." #: gschem/lib/system-gschemrc.scm:1543 msgid "gschem _FAQ..." msgstr "_Συχνές ερωτήσεις gschem..." #: gschem/lib/system-gschemrc.scm:1544 msgid "gEDA _Wiki..." msgstr "gEDA _Wiki..." #: gschem/lib/system-gschemrc.scm:1545 msgid "Component D_ocumentation..." msgstr "Τεκμηρίωση _στοιχείων" #: gschem/lib/system-gschemrc.scm:1547 msgid "_Hotkeys..." msgstr "_Γρήγορα πλήκτρα" #: gschem/lib/system-gschemrc.scm:1548 msgid "_About..." msgstr "_Σχετικά..." #: gschem/lib/system-gschemrc.scm:1554 msgid "_File" msgstr "_Αρχείο" #: gschem/lib/system-gschemrc.scm:1555 msgid "_Edit" msgstr "_Επεξεργασία" #: gschem/lib/system-gschemrc.scm:1556 msgid "_Buffer" msgstr "_Ενδιάμεση μνήμη" #: gschem/lib/system-gschemrc.scm:1557 msgid "_View" msgstr "_Προβολή" #: gschem/lib/system-gschemrc.scm:1558 msgid "_Page" msgstr "_Σελίδα" #: gschem/lib/system-gschemrc.scm:1559 msgid "_Add" msgstr "_Προσθήκη" #: gschem/lib/system-gschemrc.scm:1560 msgid "Hie_rarchy" msgstr "_Ιεραρχία" #: gschem/lib/system-gschemrc.scm:1561 msgid "A_ttributes" msgstr "_Γνωρίσματα" #: gschem/lib/system-gschemrc.scm:1562 msgid "_Options" msgstr "_Επιλογές" #: gschem/lib/system-gschemrc.scm:1563 msgid "_Help" msgstr "_Βοήθεια" #: gschem/scheme/gschem/deprecated.scm:102 #, scheme-format msgid "Invalid text alignment ~A." msgstr "Μη έγκυρη στοίχιση κειμένου ~A." #: gschem/scheme/gschem/gschemdoc.scm:225 msgid "No documentation found" msgstr "Δε βρέθηκε τεκμηρίωση" #: gschem/scheme/gschem/keymap.scm:38 #, scheme-format msgid "~S is not a valid key combination." msgstr "Το ~S δεν είναι έγκυρος συνδιασμός πλήκτρων." #: gschem/scheme/gschem/keymap.scm:153 #, scheme-format msgid "~S is not a prefix key sequence." msgstr "" geda-gaf-1.8.2/gschem/po/ja.po0000664000175000017500000015246012220655644012734 00000000000000# Japanese translation for gschem. # Copyright (C) 2002-2008 Miyamoto Takanori # This file is distributed under the same license as the gschem package. # Miyamoto Takanori , 2002. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-01-31 12:07+0000\n" "Last-Translator: Peter TB Brett \n" "Language-Team: gEDA developers \n" "Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: gschem/src/a_zoom.c:212 msgid "Zoom too small! Cannot zoom further.\n" msgstr "これ以上ズームできません。\n" #: gschem/src/g_attrib.c:92 msgid "Object ~A is not included in the current gschem page." msgstr "" #: gschem/src/g_attrib.c:112 msgid "Invalid text name/value visibility ~A." msgstr "" #: gschem/src/g_rc.c:312 #, c-format msgid "Invalid zoomfactor [%d] passed to %s\n" msgstr "無効な拡大率[%d]が%sに指定されました。\n" #: gschem/src/g_rc.c:458 #, c-format msgid "Invalid size [%d] passed to text-size\n" msgstr "無効なサイズ[%d]がtext-sizeに指定されました。\n" #: gschem/src/g_rc.c:501 #, c-format msgid "Invalid size [%d] passed to snap-size\n" msgstr "無効なサイズ[%d]がsnap-sizeに指定されました。\n" #: gschem/src/g_rc.c:958 #, c-format msgid "Invalid num levels [%d] passed to undo-levels\n" msgstr "無効なアンドゥレベル[%d]がundo-levelsに指定されました。\n" #: gschem/src/g_rc.c:1220 #, c-format msgid "Invalid size [%d] passed to bus-ripper-size\n" msgstr "無効なサイズ[%d]がbus-ripperに指定されました。\n" #: gschem/src/g_rc.c:1295 #, c-format msgid "Invalid dot size [%d] passed to dots-grid-dot-size\n" msgstr "" #: gschem/src/g_rc.c:1336 #, c-format msgid "Invalid pixel spacing [%d] passed to dots-grid-fixed-threshold\n" msgstr "" #: gschem/src/g_rc.c:1362 #, c-format msgid "Invalid pixel spacing [%d] passed to mesh-grid-display-threshold\n" msgstr "" #: gschem/src/g_rc.c:1387 #, c-format msgid "Invalid offset [%d] passed to add-attribute-offset\n" msgstr "" #: gschem/src/g_rc.c:1411 #, c-format msgid "Invalid number of seconds [%d] passed to auto-save-interval\n" msgstr "" #: gschem/src/g_rc.c:1435 #, c-format msgid "Invalid gain [%d] passed to mousepan-gain\n" msgstr "" #: gschem/src/g_rc.c:1458 #, c-format msgid "Invalid gain [%d] passed to keyboardpan-gain\n" msgstr "" #: gschem/src/g_rc.c:1505 #, c-format msgid "Invalid number of pixels [%d] passed to select-slack-pixels\n" msgstr "" #: gschem/src/g_rc.c:1531 #, c-format msgid "Invalid gain [%d] passed to zoom-gain\n" msgstr "" #: gschem/src/g_rc.c:1556 #, c-format msgid "Invalid number of steps [%d] scrollpan-steps\n" msgstr "" #: gschem/src/g_select.c:79 gschem/src/g_select.c:116 #: gschem/src/g_select.c:152 msgid "Object ~A is not directly included in a page." msgstr "" #: gschem/src/g_util.c:56 msgid "Could not launch URI ~S: ~A" msgstr "" #: gschem/src/g_window.c:136 msgid "Found invalid gschem window smob ~S" msgstr "" #: gschem/src/gschem.c:175 #, c-format msgid "gEDA/gschem version %s%s.%s\n" msgstr "" #: gschem/src/gschem.c:178 msgid "" "gEDA/gschem comes with ABSOLUTELY NO WARRANTY; see COPYING for more " "details.\n" msgstr "" "gEDA/gschemは完全に無保証で提供されます。詳しくはCOPYINGファイルをご覧くださ" "い。\n" #: gschem/src/gschem.c:180 msgid "" "This is free software, and you are welcome to redistribute it under certain\n" msgstr "" "これはフリーソフトウェアであり、ある条件の下で再頒布することが奨励されていま" "す。\n" #: gschem/src/gschem.c:182 msgid "" "conditions; please see the COPYING file for more details.\n" "\n" msgstr "" "詳しくはCOPYINGファイルをご覧ください。\n" "\n" #: gschem/src/gschem.c:185 #, c-format msgid "This is the MINGW32 port.\n" msgstr "MIGW32版です。\n" #: gschem/src/gschem.c:189 #, c-format msgid "Current locale settings: %s\n" msgstr "" #: gschem/src/gschem.c:211 msgid "" "You must set the GEDADATA environment variable!\n" "\n" "gschem cannot locate its data files. You must set the GEDADATA\n" "environment variable to point to the correct location.\n" msgstr "" #: gschem/src/gschem.c:248 #, c-format msgid "Couldn't find init scm file [%s]\n" msgstr "" #: gschem/src/gschem.c:252 #, c-format msgid "Read init scm file [%s]\n" msgstr "初期化scmファイルを読み込んでいます。[%s]\n" #: gschem/src/gschem.c:256 #, c-format msgid "Failed to read init scm file [%s]\n" msgstr "初期化scmファイルの読み込みに失敗。[%s]\n" #: gschem/src/gschem_cairo.c:310 #, c-format msgid "Unknown end for line (%d)\n" msgstr "不明な線の先端(%d)\n" #: gschem/src/gschem_cairo.c:318 #, c-format msgid "Unknown type for stroke (%d) !\n" msgstr "" #: gschem/src/gschem_pango.c:289 msgid "cairo context" msgstr "" #: gschem/src/gschem_pango.c:290 msgid "the cairo context for the renderer" msgstr "" #: gschem/src/i_basic.c:77 gschem/src/x_window.c:524 #: gschem/lib/system-gschemrc.scm:1399 msgid "Select Mode" msgstr "選択モード" #: gschem/src/i_basic.c:79 msgid "Component Mode" msgstr "部品モード" #: gschem/src/i_basic.c:81 msgid "Text Mode" msgstr "ネットモード" #: gschem/src/i_basic.c:84 gschem/lib/system-gschemrc.scm:1402 msgid "Copy Mode" msgstr "コピーモード" #: gschem/src/i_basic.c:87 gschem/lib/system-gschemrc.scm:1404 msgid "Move Mode" msgstr "移動モード" #: gschem/src/i_basic.c:89 msgid "Rotate Mode" msgstr "回転モード" #: gschem/src/i_basic.c:91 gschem/lib/system-gschemrc.scm:1406 msgid "Mirror Mode" msgstr "反転モード" #: gschem/src/i_basic.c:95 msgid "Zoom Box" msgstr "拡大" #: gschem/src/i_basic.c:99 msgid "Pan Mode" msgstr "パンモード" #: gschem/src/i_basic.c:103 #, c-format msgid "Paste %d Mode" msgstr "ペースト%dモード" #: gschem/src/i_basic.c:109 msgid "Magnetic Net Mode" msgstr "" #: gschem/src/i_basic.c:111 msgid "Net Mode" msgstr "ネットモード" #: gschem/src/i_basic.c:115 msgid "Bus Mode" msgstr "バスモード" #: gschem/src/i_basic.c:118 msgid "Line Mode" msgstr "線モード" #: gschem/src/i_basic.c:121 msgid "Box Mode" msgstr "ボックスモード" #: gschem/src/i_basic.c:124 msgid "Picture Mode" msgstr "" #: gschem/src/i_basic.c:127 msgid "Circle Mode" msgstr "円モード" #: gschem/src/i_basic.c:130 msgid "Arc Mode" msgstr "円弧モード" #: gschem/src/i_basic.c:133 msgid "Pin Mode" msgstr "ピンモード" #: gschem/src/i_basic.c:135 gschem/src/i_callbacks.c:529 #: gschem/src/i_callbacks.c:553 msgid "Copy" msgstr "コピー" #: gschem/src/i_basic.c:137 gschem/src/i_callbacks.c:619 #: gschem/src/i_callbacks.c:643 msgid "Move" msgstr "移動" #: gschem/src/i_basic.c:139 gschem/src/i_callbacks.c:574 #: gschem/src/i_callbacks.c:598 msgid "Multiple Copy" msgstr "" #: gschem/src/i_basic.c:142 gschem/lib/system-gschemrc.scm:1403 msgid "Multiple Copy Mode" msgstr "複数コピーモード" #: gschem/src/i_basic.c:168 msgid "Show Hidden" msgstr "隠しテキスト表示" #: gschem/src/i_basic.c:171 msgid "Snap Off" msgstr "スナップ・オフ" #: gschem/src/i_basic.c:173 msgid "Resnap Active" msgstr "" #: gschem/src/i_basic.c:254 gschem/src/x_window.c:498 msgid "Action" msgstr "アクション" #: gschem/src/i_basic.c:260 gschem/src/x_dialog.c:2325 #: gschem/src/x_window.c:493 msgid "Stroke" msgstr "ストローク" #: gschem/src/i_basic.c:266 gschem/src/x_window.c:495 msgid "none" msgstr "なし" #: gschem/src/i_basic.c:271 msgid "Repeat/" msgstr "繰り返し/" #: gschem/src/i_basic.c:566 gschem/src/i_basic.c:580 msgid "OFF" msgstr "" #: gschem/src/i_basic.c:584 msgid "NONE" msgstr "" #: gschem/src/i_basic.c:589 #, c-format msgid "Grid(%s, %s)" msgstr "" #: gschem/src/i_callbacks.c:76 gschem/src/i_callbacks.c:1659 #, c-format msgid "New page created [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:124 #, c-format msgid "New Window created [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:242 msgid "Failed to Save All" msgstr "" #: gschem/src/i_callbacks.c:244 msgid "Saved All" msgstr "すべて保存" #: gschem/src/i_callbacks.c:334 msgid "Closing Window\n" msgstr "ウィンドウを閉じています。\n" #: gschem/src/i_callbacks.c:534 gschem/src/i_callbacks.c:579 #: gschem/src/i_callbacks.c:624 msgid "Select objs first" msgstr "まずオブジェクトを選択してください。" #: gschem/src/i_callbacks.c:663 gschem/src/x_multiattrib.c:1549 msgid "Delete" msgstr "削除" #: gschem/src/i_callbacks.c:688 msgid "Edit" msgstr "編集" #: gschem/src/i_callbacks.c:703 msgid "Edit pin type" msgstr "" #: gschem/src/i_callbacks.c:722 msgid "Edit Text" msgstr "テキスト編集" #: gschem/src/i_callbacks.c:745 msgid "Slot" msgstr "スロット" #: gschem/src/i_callbacks.c:762 msgid "Color" msgstr "色" #: gschem/src/i_callbacks.c:799 gschem/src/i_callbacks.c:844 msgid "Rotate" msgstr "回転" #: gschem/src/i_callbacks.c:866 gschem/src/i_callbacks.c:891 msgid "Mirror" msgstr "反転" #: gschem/src/i_callbacks.c:912 gschem/src/x_dialog.c:2328 #: gschem/lib/system-gschemrc.scm:1415 msgid "Lock" msgstr "ロック" #: gschem/src/i_callbacks.c:930 gschem/lib/system-gschemrc.scm:1416 msgid "Unlock" msgstr "ロック解除" #: gschem/src/i_callbacks.c:948 gschem/src/x_dialog.c:1746 msgid "Translate" msgstr "転送" #: gschem/src/i_callbacks.c:951 msgid "WARNING: Do not translate with snap off!\n" msgstr "警告:スナップ・オフで転送しないでください!\n" #: gschem/src/i_callbacks.c:952 msgid "WARNING: Turning snap on and continuing with translate.\n" msgstr "警告:スナップをオンしてから転送してください。\n" #: gschem/src/i_callbacks.c:959 msgid "WARNING: Snap grid size is not equal to 100!\n" msgstr "警告:グリッドサイズが100ではありません!\n" #: gschem/src/i_callbacks.c:961 msgid "" "WARNING: If you are translating a symbol to the origin, the snap grid size " "should be set to 100\n" msgstr "" "警告:原点へ転送するときはスナップのグリッドサイズを\n" "100に設定してください。\n" #: gschem/src/i_callbacks.c:992 msgid "Embed" msgstr "組み込み" #: gschem/src/i_callbacks.c:1031 msgid "Unembed" msgstr "組み込み解除" #: gschem/src/i_callbacks.c:1073 msgid "Update" msgstr "更新" #: gschem/src/i_callbacks.c:1120 msgid "ShowHidden" msgstr "隠しテキスト表示" #: gschem/src/i_callbacks.c:1426 gschem/src/i_callbacks.c:1498 msgid "Pan" msgstr "パン" #: gschem/src/i_callbacks.c:1703 msgid "Really revert page?" msgstr "" #: gschem/src/i_callbacks.c:1773 msgid "Copy to clipboard" msgstr "" #: gschem/src/i_callbacks.c:1791 msgid "Cut to clipboard" msgstr "" #: gschem/src/i_callbacks.c:1809 msgid "Paste from clipboard" msgstr "" #: gschem/src/i_callbacks.c:1821 gschem/src/i_callbacks.c:2060 #: gschem/src/i_callbacks.c:2082 gschem/src/i_callbacks.c:2104 #: gschem/src/i_callbacks.c:2126 gschem/src/i_callbacks.c:2148 msgid "Empty buffer" msgstr "バッファが空です。" #: gschem/src/i_callbacks.c:1866 msgid "Copy 1" msgstr "コピー1" #: gschem/src/i_callbacks.c:1885 msgid "Copy 2" msgstr "コピー2" #: gschem/src/i_callbacks.c:1904 msgid "Copy 3" msgstr "コピー3" #: gschem/src/i_callbacks.c:1923 msgid "Copy 4" msgstr "コピー4" #: gschem/src/i_callbacks.c:1942 msgid "Copy 5" msgstr "コピー5" #: gschem/src/i_callbacks.c:1961 msgid "Cut 1" msgstr "カット1" #: gschem/src/i_callbacks.c:1980 msgid "Cut 2" msgstr "カット2" #: gschem/src/i_callbacks.c:1999 msgid "Cut 3" msgstr "カット3" #: gschem/src/i_callbacks.c:2018 msgid "Cut 4" msgstr "カット4" #: gschem/src/i_callbacks.c:2037 msgid "Cut 5" msgstr "カット5" #: gschem/src/i_callbacks.c:2053 msgid "Paste 1" msgstr "ペースト1" #: gschem/src/i_callbacks.c:2075 msgid "Paste 2" msgstr "ペースト 2" #: gschem/src/i_callbacks.c:2097 msgid "Paste 3" msgstr "ペースト 3" #: gschem/src/i_callbacks.c:2119 msgid "Paste 4" msgstr "ペースト 4" #: gschem/src/i_callbacks.c:2141 msgid "Paste 5" msgstr "ペースト 5" #: gschem/src/i_callbacks.c:2278 gschem/src/x_window.c:359 msgid "Component" msgstr "部品" #: gschem/src/i_callbacks.c:2314 gschem/src/i_callbacks.c:2333 #: gschem/src/x_dialog.c:2298 msgid "Attribute" msgstr "アトリビュート" #: gschem/src/i_callbacks.c:2355 gschem/src/i_callbacks.c:2382 #: gschem/src/x_dialog.c:2295 msgid "Net" msgstr "ネット" #: gschem/src/i_callbacks.c:2426 gschem/src/i_callbacks.c:2453 #: gschem/src/x_dialog.c:2313 gschem/src/x_window.c:379 msgid "Bus" msgstr "バス" #: gschem/src/i_callbacks.c:2534 gschem/src/i_callbacks.c:2557 msgid "Line" msgstr "線" #: gschem/src/i_callbacks.c:2579 gschem/src/i_callbacks.c:2602 msgid "Box" msgstr "ボックス" #: gschem/src/i_callbacks.c:2658 gschem/src/i_callbacks.c:2682 msgid "Circle" msgstr "円" #: gschem/src/i_callbacks.c:2704 gschem/src/i_callbacks.c:2727 msgid "Arc" msgstr "円弧" #: gschem/src/i_callbacks.c:2749 gschem/src/i_callbacks.c:2772 #: gschem/src/x_dialog.c:2286 msgid "Pin" msgstr "ピン" #: gschem/src/i_callbacks.c:2831 #, c-format msgid "Searching for source [%s]\n" msgstr "ソース検索中[%s]\n" #: gschem/src/i_callbacks.c:2855 #, c-format msgid "Cannot find source [%s]\n" msgstr "ソースが見付かりません。[%s]\n" #: gschem/src/i_callbacks.c:2918 #, c-format msgid "Searching for symbol [%s]\n" msgstr "シンボル検索中[%s]\n" #: gschem/src/i_callbacks.c:2924 msgid "Symbol is not a real file. Symbol cannot be loaded.\n" msgstr "" #: gschem/src/i_callbacks.c:2955 msgid "Cannot find any schematics above the current one!\n" msgstr "" #: gschem/src/i_callbacks.c:2985 msgid "Attach" msgstr "アタッチ" #: gschem/src/i_callbacks.c:3041 msgid "Detach" msgstr "アタッチ解除" #: gschem/src/i_callbacks.c:3085 msgid "ShowN" msgstr "N表示" #: gschem/src/i_callbacks.c:3122 msgid "ShowV" msgstr "表示V" #: gschem/src/i_callbacks.c:3159 msgid "ShowB" msgstr "表示B" #: gschem/src/i_callbacks.c:3197 msgid "VisToggle" msgstr "表示切替え" #: gschem/src/i_callbacks.c:3228 #, c-format msgid "Sorry but this is a non-functioning menu option\n" msgstr "機能しないメニューオプションです。\n" #: gschem/src/i_callbacks.c:3318 msgid "Action feedback mode set to OUTLINE\n" msgstr "" #: gschem/src/i_callbacks.c:3321 msgid "Action feedback mode set to BOUNDINGBOX\n" msgstr "" #: gschem/src/i_callbacks.c:3346 msgid "Grid OFF\n" msgstr "グリッド・オフ\n" #: gschem/src/i_callbacks.c:3347 msgid "Dot grid selected\n" msgstr "" #: gschem/src/i_callbacks.c:3348 msgid "Mesh grid selected\n" msgstr "" #: gschem/src/i_callbacks.c:3369 msgid "Snap OFF (CAUTION!)\n" msgstr "スナップ・オフ(注意!)\n" #: gschem/src/i_callbacks.c:3372 msgid "Snap ON\n" msgstr "スナップ・オン\n" #: gschem/src/i_callbacks.c:3375 msgid "Snap back to the grid (CAUTION!)\n" msgstr "" #: gschem/src/i_callbacks.c:3401 msgid "Rubber band OFF \n" msgstr "ラバーバンド・オフ \n" #: gschem/src/i_callbacks.c:3404 msgid "Rubber band ON\n" msgstr "ラバーバンド・オン\n" #: gschem/src/i_callbacks.c:3419 msgid "magnetic net mode: ON\n" msgstr "" #: gschem/src/i_callbacks.c:3422 msgid "magnetic net mode: OFF\n" msgstr "" #: gschem/src/o_box.c:292 #, c-format msgid "Unknown type for box (fill)!\n" msgstr "不明なボックスの種類(塗りつぶし)!\n" #: gschem/src/o_buffer.c:54 #, c-format msgid "o_buffer_copy: Invalid buffer %i\n" msgstr "" #: gschem/src/o_buffer.c:69 #, c-format msgid "o_buffer_cut: Invalid buffer %i\n" msgstr "" #: gschem/src/o_buffer.c:90 #, c-format msgid "Got an invalid buffer_number [o_buffer_paste_start]\n" msgstr "" #: gschem/src/o_bus.c:117 #, c-format msgid "Got an invalid which one in o_bus_draw_stretch\n" msgstr "" #: gschem/src/o_circle.c:284 #, c-format msgid "Unknown type for circle (fill)!\n" msgstr "不明な円の種類(塗りつぶし)!\n" #: gschem/src/o_complex.c:223 gschem/src/o_complex.c:227 #, c-format msgid "Translating schematic [%d %d]\n" msgstr "スケマチックを転送しています。[%d %d]\n" #: gschem/src/o_misc.c:61 #, c-format msgid "Got an unexpected NULL in o_edit\n" msgstr "" #: gschem/src/o_misc.c:125 msgid "Object already locked\n" msgstr "" #: gschem/src/o_misc.c:163 msgid "Object already unlocked\n" msgstr "" #: gschem/src/o_misc.c:339 msgid "Hidden text is now visible\n" msgstr "隠しテキストが表示されました。\n" #: gschem/src/o_misc.c:341 msgid "Hidden text is now invisible\n" msgstr "隠しテキストが非表示になりました。\n" #: gschem/src/o_misc.c:568 #, c-format msgid "Could not find symbol [%s] in library. Update failed.\n" msgstr "" #: gschem/src/o_misc.c:683 #, c-format msgid "o_autosave_backups: Can't get the real filename of %s." msgstr "" #: gschem/src/o_misc.c:727 #, c-format msgid "Could NOT set previous backup file [%s] read-write\n" msgstr "" #: gschem/src/o_misc.c:747 #, c-format msgid "Could NOT set backup file [%s] readonly\n" msgstr "" #: gschem/src/o_misc.c:752 #, c-format msgid "Could NOT save backup file [%s]\n" msgstr "" #: gschem/src/o_move.c:174 #, c-format msgid "ERROR: NULL object in o_move_end!\n" msgstr "" #: gschem/src/o_move.c:431 #, c-format msgid "DOH! tried to find the whichone, but didn't find it!\n" msgstr "" #: gschem/src/o_move.c:453 #, c-format msgid "Got a non line object in o_move_check_endpoint\n" msgstr "" #: gschem/src/o_net.c:158 #, c-format msgid "Got an invalid which one in o_net_draw_stretch\n" msgstr "" #: gschem/src/o_net.c:537 msgid "Warning: Starting net at off grid coordinate\n" msgstr "" #: gschem/src/o_net.c:602 msgid "Warning: Ending net at off grid coordinate\n" msgstr "" #: gschem/src/o_net.c:944 gschem/src/o_net.c:981 gschem/src/o_net.c:1052 #: gschem/src/o_net.c:1088 #, c-format msgid "Tried to add more than two bus rippers. Internal gschem error.\n" msgstr "" #: gschem/src/o_net.c:1156 #, c-format msgid "Bus ripper symbol [%s] was not found in any component library\n" msgstr "" #: gschem/src/o_path.c:340 #, c-format msgid "Unknown type for path (fill)!\n" msgstr "" #: gschem/src/o_picture.c:166 #, c-format msgid "Failed to load picture: %s" msgstr "" #: gschem/src/o_picture.c:180 msgid "Picture" msgstr "" #: gschem/src/o_picture.c:544 #, c-format msgid "Failed to replace pictures: %s" msgstr "" #: gschem/src/o_slot.c:81 msgid "Slot attribute malformed\n" msgstr "スロットアトリビュートが変です。\n" #: gschem/src/o_slot.c:89 msgid "numslots attribute missing\n" msgstr "スロット番号がありません。\n" #: gschem/src/o_slot.c:90 msgid "Slotting not allowed for this component\n" msgstr "この部品にスロットは許可されていません。\n" #: gschem/src/o_slot.c:105 msgid "New slot number out of range\n" msgstr "スロット番号が範囲を越えています。\n" #: gschem/src/o_undo.c:307 msgid "Undo/Redo disabled in rc file\n" msgstr "アンドゥ/リドゥはrcファイルで無効に設定されています。\n" #: gschem/src/parsecmd.c:82 #, c-format msgid "" "Usage: %s [OPTION ...] [--] [FILE ...]\n" "\n" "Interactively edit gEDA schematics or symbols. If one or more FILEs\n" "are specified, open them for editing; otherwise, create a new, empty\n" "schematic.\n" "\n" "Options:\n" " -q, --quiet Quiet mode.\n" " -v, --verbose Verbose mode.\n" " -r, --config-file=FILE Additional configuration file to load.\n" " -L DIR Add DIR to Scheme search path.\n" " -c EXPR Scheme expression to run at startup.\n" " -s FILE Scheme script to run at startup.\n" " -o, --output=FILE Output filename (for printing).\n" " -p Automatically place the window.\n" " -V, --version Show version information.\n" " -h, --help Help; this message.\n" " -- Treat all remaining arguments as filenames.\n" "\n" "Report bugs at \n" "gEDA/gaf homepage: \n" msgstr "" #: gschem/src/parsecmd.c:116 #, c-format msgid "" "gEDA %s (g%.7s)\n" "Copyright (C) 1998-2012 gEDA developers\n" "This is free software, and you are welcome to redistribute it under\n" "certain conditions. For details, see the file `COPYING', which is\n" "included in the gEDA distribution.\n" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" #: gschem/src/x_attribedit.c:127 #, c-format msgid "Got invalid show option; defaulting to show both\n" msgstr "" #: gschem/src/x_attribedit.c:141 #, c-format msgid "ERROR: NULL object!\n" msgstr "" #: gschem/src/x_attribedit.c:329 msgid "Single Attribute Editor" msgstr "シングルアトルビュートエディタ" #: gschem/src/x_attribedit.c:359 msgid "Edit Attribute" msgstr "" #: gschem/src/x_attribedit.c:361 msgid "Add Attribute" msgstr "" #: gschem/src/x_attribedit.c:377 gschem/src/x_multiattrib.c:1973 msgid "Name:" msgstr "名前:" #: gschem/src/x_attribedit.c:394 gschem/src/x_multiattrib.c:1992 msgid "Value:" msgstr "値:" #: gschem/src/x_attribedit.c:410 gschem/src/x_multiattrib.c:2038 msgid "Visible" msgstr "表示" #: gschem/src/x_attribedit.c:430 msgid "Show Value Only" msgstr "値のみ表示" #: gschem/src/x_attribedit.c:432 msgid "Show Name Only" msgstr "名前のみ表示" #: gschem/src/x_attribedit.c:434 gschem/src/x_multiattrib.c:1512 msgid "Show Name & Value" msgstr "名前と値を表示" #: gschem/src/x_attribedit.c:441 msgid "Attach Options" msgstr "" #: gschem/src/x_attribedit.c:456 msgid "All" msgstr "すべて" #: gschem/src/x_attribedit.c:464 gschem/src/x_compselect.c:922 #: gschem/src/x_compselect.c:1036 msgid "Components" msgstr "部品" #: gschem/src/x_attribedit.c:472 gschem/src/x_window.c:369 msgid "Nets" msgstr "ネット" #: gschem/src/x_attribedit.c:480 msgid "Replace existing attributes" msgstr "" #: gschem/src/x_autonumber.c:415 msgid "" "slotted object without slot attribute may cause problems when autonumbering " "slots\n" msgstr "" #: gschem/src/x_autonumber.c:430 #, c-format msgid "" "duplicate slot may cause problems: [symbolname=%s, number=%d, slot=%d]\n" msgstr "" #: gschem/src/x_autonumber.c:672 msgid "No searchstring given in autonumber text.\n" msgstr "" #: gschem/src/x_autonumber.c:724 msgid "No '*' or '?' given at the end of the autonumber text.\n" msgstr "" #: gschem/src/x_autonumber.c:859 msgid "Diagonal" msgstr "" #: gschem/src/x_autonumber.c:860 msgid "Top to bottom" msgstr "" #: gschem/src/x_autonumber.c:860 msgid "Bottom to top" msgstr "" #: gschem/src/x_autonumber.c:861 msgid "Left to right" msgstr "" #: gschem/src/x_autonumber.c:861 msgid "Right to left" msgstr "" #: gschem/src/x_autonumber.c:862 msgid "File order" msgstr "" #: gschem/src/x_autonumber.c:1198 msgid "Autonumber text" msgstr "オートナンバーテキスト" #: gschem/src/x_autonumber.c:1222 msgid "Scope" msgstr "" #: gschem/src/x_autonumber.c:1244 msgid "Search for:" msgstr "" #: gschem/src/x_autonumber.c:1258 msgid "Autonumber text in:" msgstr "" #: gschem/src/x_autonumber.c:1265 msgid "Skip numbers found in:" msgstr "" #: gschem/src/x_autonumber.c:1277 gschem/src/x_autonumber.c:1286 msgid "Selected objects" msgstr "" #: gschem/src/x_autonumber.c:1278 gschem/src/x_autonumber.c:1287 msgid "Current page" msgstr "" #: gschem/src/x_autonumber.c:1279 gschem/src/x_autonumber.c:1288 msgid "Whole hierarchy" msgstr "" #: gschem/src/x_autonumber.c:1290 msgid "Overwrite existing numbers" msgstr "" #: gschem/src/x_autonumber.c:1295 msgid "Options" msgstr "" #: gschem/src/x_autonumber.c:1317 msgid "Starting number:" msgstr "" #: gschem/src/x_autonumber.c:1324 msgid "Sort order:" msgstr "" #: gschem/src/x_autonumber.c:1345 msgid "Remove numbers" msgstr "" #: gschem/src/x_autonumber.c:1349 msgid "Automatic slotting" msgstr "" #: gschem/src/x_clipboard.c:249 #, c-format msgid "" "Invalid schematic on clipboard.\n" "\n" "An error occurred while inserting clipboard data: %s." msgstr "" #: gschem/src/x_clipboard.c:251 msgid "Clipboard insertion failed" msgstr "" #: gschem/src/x_color.c:94 gschem/src/x_color.c:103 #, c-format msgid "Could not allocate the color %s!\n" msgstr "指定できない色[%s]です!\n" #: gschem/src/x_color.c:94 msgid "black" msgstr "黒" #: gschem/src/x_color.c:103 msgid "white" msgstr "白" #: gschem/src/x_color.c:125 #, c-format msgid "Could not allocate display color %i!\n" msgstr "" #: gschem/src/x_color.c:147 #, c-format msgid "Could not allocate outline color %i!\n" msgstr "" #: gschem/src/x_color.c:164 gschem/src/x_color.c:181 gschem/src/x_color.c:197 #, c-format msgid "Tried to get an invalid color: %d\n" msgstr "無効な色の指定です。 : %d\n" #: gschem/src/x_color.c:214 #, c-format msgid "Tried to get an invalid outline color: %d\n" msgstr "" #: gschem/src/x_compselect.c:1066 msgid "Filter:" msgstr "" #: gschem/src/x_compselect.c:1169 gschem/src/x_dialog.c:3653 #: gschem/src/x_multiattrib.c:1839 msgid "Name" msgstr "名前" #: gschem/src/x_compselect.c:1178 gschem/src/x_multiattrib.c:1863 msgid "Value" msgstr "値" #: gschem/src/x_compselect.c:1217 msgid "Default behavior - reference component" msgstr "" #: gschem/src/x_compselect.c:1220 msgid "Embed component in schematic" msgstr "" #: gschem/src/x_compselect.c:1223 msgid "Include component as individual objects" msgstr "" #: gschem/src/x_compselect.c:1380 msgid "Select Component..." msgstr "部品選択..." #: gschem/src/x_compselect.c:1403 msgid "In Use" msgstr "" #: gschem/src/x_compselect.c:1407 msgid "Libraries" msgstr "ライブラリ" #: gschem/src/x_compselect.c:1416 gschem/src/x_fileselect.c:122 msgid "Preview" msgstr "プレビュー" #: gschem/src/x_compselect.c:1444 msgid "Attributes" msgstr "アトリビュート" #: gschem/src/x_dialog.c:176 msgid "Text Entry..." msgstr "テキスト..." #: gschem/src/x_dialog.c:207 msgid "" "Enter text, click apply,\n" "move cursor into window, click to place text.\n" "Middle button to rotate while placing." msgstr "" "テキストを入力し、クリックしてください。\n" "ウィンドウ内でクリックするとテキストを配置します。\n" "中ボタンで回転します。" #: gschem/src/x_dialog.c:301 msgid "Upper Left" msgstr "上 左" #: gschem/src/x_dialog.c:304 msgid "Upper Middle" msgstr "上 中央" #: gschem/src/x_dialog.c:307 msgid "Upper Right" msgstr "上 右" #: gschem/src/x_dialog.c:311 msgid "Middle Left" msgstr "中央 左" #: gschem/src/x_dialog.c:314 msgid "Middle Middle" msgstr "中央 中央" #: gschem/src/x_dialog.c:317 msgid "Middle Right" msgstr "中央 右" #: gschem/src/x_dialog.c:321 msgid "Lower Left" msgstr "下 左" #: gschem/src/x_dialog.c:324 msgid "Lower Middle" msgstr "下 中央" #: gschem/src/x_dialog.c:327 msgid "Lower Right" msgstr "下 右" #: gschem/src/x_dialog.c:438 msgid "Edit Text Properties" msgstr "" #: gschem/src/x_dialog.c:473 msgid "Text Content" msgstr "" #: gschem/src/x_dialog.c:509 msgid "Text Properties" msgstr "" #: gschem/src/x_dialog.c:524 msgid "Color:" msgstr "" #: gschem/src/x_dialog.c:531 msgid "Size:" msgstr "" #: gschem/src/x_dialog.c:540 msgid "Alignment:" msgstr "" #: gschem/src/x_dialog.c:589 msgid "Solid" msgstr "実線" #: gschem/src/x_dialog.c:590 msgid "Dotted" msgstr "点線" #: gschem/src/x_dialog.c:591 msgid "Dashed" msgstr "破線" #: gschem/src/x_dialog.c:592 msgid "Center" msgstr "中央" #: gschem/src/x_dialog.c:593 msgid "Phantom" msgstr "ファントム" #: gschem/src/x_dialog.c:594 gschem/src/x_dialog.c:691 #: gschem/src/x_dialog.c:700 gschem/src/x_dialog.c:709 #: gschem/src/x_dialog.c:810 gschem/src/x_dialog.c:813 #: gschem/src/x_dialog.c:816 gschem/src/x_dialog.c:1043 #: gschem/src/x_dialog.c:1146 gschem/src/x_dialog.c:1155 #: gschem/src/x_dialog.c:1164 gschem/src/x_dialog.c:1173 #: gschem/src/x_dialog.c:1182 gschem/src/x_dialog.c:1295 #: gschem/src/x_dialog.c:1298 gschem/src/x_dialog.c:1301 #: gschem/src/x_dialog.c:1304 gschem/src/x_dialog.c:1307 msgid "*unchanged*" msgstr "" #: gschem/src/x_dialog.c:921 msgid "Edit Line Width & Type" msgstr "線種と幅編集" #: gschem/src/x_dialog.c:960 gschem/src/x_print.c:307 msgid "Type:" msgstr "" #: gschem/src/x_dialog.c:964 msgid "Width:" msgstr "" #: gschem/src/x_dialog.c:968 msgid "Dash Length:" msgstr "" #: gschem/src/x_dialog.c:972 msgid "Dash Space:" msgstr "" #: gschem/src/x_dialog.c:1039 msgid "Hollow" msgstr "空洞" #: gschem/src/x_dialog.c:1040 msgid "Filled" msgstr "塗りつぶし" #: gschem/src/x_dialog.c:1041 msgid "Mesh" msgstr "メッシュ" #: gschem/src/x_dialog.c:1042 msgid "Hatch" msgstr "ハッチ" #: gschem/src/x_dialog.c:1416 msgid "Edit Fill Type" msgstr "塗りつぶしを編集" #: gschem/src/x_dialog.c:1455 msgid "Fill Type:" msgstr "" #: gschem/src/x_dialog.c:1459 msgid "Line Width:" msgstr "" #: gschem/src/x_dialog.c:1463 msgid "Angle 1:" msgstr "" #: gschem/src/x_dialog.c:1467 msgid "Pitch 1:" msgstr "" #: gschem/src/x_dialog.c:1471 msgid "Angle 2:" msgstr "" #: gschem/src/x_dialog.c:1475 msgid "Pitch 2:" msgstr "" #: gschem/src/x_dialog.c:1602 msgid "Arc Params" msgstr "円弧パラメータ" #: gschem/src/x_dialog.c:1643 msgid "Arc Radius:" msgstr "" #: gschem/src/x_dialog.c:1651 msgid "Start Angle:" msgstr "" #: gschem/src/x_dialog.c:1659 msgid "Degrees of Sweep:" msgstr "" #: gschem/src/x_dialog.c:1777 msgid "" "Offset to translate?\n" "(0 for origin)" msgstr "" "転送しますか?\n" "(0で原点)" #: gschem/src/x_dialog.c:1845 msgid "Text Size" msgstr "テキストサイズ" #: gschem/src/x_dialog.c:1875 msgid "Enter new text size:" msgstr "" #: gschem/src/x_dialog.c:1951 msgid "Snap Size" msgstr "" #: gschem/src/x_dialog.c:1981 msgid "Enter new snap grid spacing:" msgstr "" #: gschem/src/x_dialog.c:2058 msgid "Edit slot number" msgstr "スロット番号編集" #: gschem/src/x_dialog.c:2089 msgid "Edit slot number:" msgstr "" #: gschem/src/x_dialog.c:2130 #, c-format msgid "%s (g%.7s)" msgstr "" #: gschem/src/x_dialog.c:2151 msgid "About gschem" msgstr "" #: gschem/src/x_dialog.c:2152 msgid "gEDA: GPL Electronic Design Automation" msgstr "" #. TRANSLATORS: "ChangeLog" is a literal filename; please don't translate it. #: gschem/src/x_dialog.c:2155 msgid "" "Copyright © 1998-2012 Ales Hvezda \n" "Copyright © 1998-2012 gEDA Contributors (see ChangeLog for details)" msgstr "" #: gschem/src/x_dialog.c:2214 msgid "Coords" msgstr "座標" #: gschem/src/x_dialog.c:2235 msgid "Screen" msgstr "スクリーン" #: gschem/src/x_dialog.c:2244 msgid "World" msgstr "ワールド" #: gschem/src/x_dialog.c:2283 msgid "Background" msgstr "" #: gschem/src/x_dialog.c:2289 msgid "Net endpoint" msgstr "" #: gschem/src/x_dialog.c:2292 msgid "Graphic" msgstr "" #: gschem/src/x_dialog.c:2301 msgid "Logic bubble" msgstr "" #: gschem/src/x_dialog.c:2304 msgid "Grid point" msgstr "" #: gschem/src/x_dialog.c:2307 msgid "Detached attribute" msgstr "" #: gschem/src/x_dialog.c:2310 gschem/src/x_window.c:387 msgid "Text" msgstr "テキスト" #: gschem/src/x_dialog.c:2316 msgid "Selection" msgstr "" #: gschem/src/x_dialog.c:2319 msgid "Bounding box" msgstr "" #: gschem/src/x_dialog.c:2322 msgid "Zoom box" msgstr "" #: gschem/src/x_dialog.c:2331 msgid "Output background" msgstr "" #: gschem/src/x_dialog.c:2334 msgid "Net junction" msgstr "" #: gschem/src/x_dialog.c:2337 msgid "Mesh grid major" msgstr "" #: gschem/src/x_dialog.c:2340 msgid "Mesh grid minor" msgstr "" #: gschem/src/x_dialog.c:2343 msgid "Unknown" msgstr "" #: gschem/src/x_dialog.c:2494 #, c-format msgid "ERROR: NULL object in color_edit_dialog_apply!\n" msgstr "" #: gschem/src/x_dialog.c:2538 msgid "Color Edit" msgstr "色編集" #: gschem/src/x_dialog.c:2569 msgid "Object color:" msgstr "" #: gschem/src/x_dialog.c:2622 msgid "Hotkeys" msgstr "" #: gschem/src/x_dialog.c:2662 msgid "Function" msgstr "" #: gschem/src/x_dialog.c:2669 msgid "Keystroke(s)" msgstr "" #: gschem/src/x_dialog.c:2977 msgid "Find Text" msgstr "" #: gschem/src/x_dialog.c:3008 msgid "Text to find:" msgstr "検索テキスト" #: gschem/src/x_dialog.c:3018 msgid "descend into hierarchy" msgstr "下の階層も検索" #: gschem/src/x_dialog.c:3084 msgid "Hide Text" msgstr "" #: gschem/src/x_dialog.c:3115 msgid "Hide text starting with:" msgstr "隠しテキスト" #: gschem/src/x_dialog.c:3185 msgid "Show Text" msgstr "" #: gschem/src/x_dialog.c:3216 msgid "Show text starting with:" msgstr "テキスト" #: gschem/src/x_dialog.c:3675 msgid "S_elect the schematics you want to save:" msgstr "" #: gschem/src/x_dialog.c:3770 #, c-format msgid "Save the changes to schematic \"%s\" before closing?" msgstr "" #: gschem/src/x_dialog.c:3776 #, c-format msgid "" "There are %d schematics with unsaved changes. Save changes before closing?" msgstr "" #: gschem/src/x_dialog.c:3805 msgid "If you don't save, all your changes will be permanently lost." msgstr "" #: gschem/src/x_dialog.c:3825 msgid "_Close without saving" msgstr "" #: gschem/src/x_dialog.c:4161 #, c-format msgid "" "The input attribute \"%s\" is invalid\n" "Please correct in order to continue\n" "\n" "The name and value must be non-empty.\n" "The name cannot end with a space.\n" "The value cannot start with a space." msgstr "" #: gschem/src/x_dialog.c:4163 msgid "Invalid Attribute" msgstr "" #: gschem/src/x_dialog.c:4199 msgid "Pin type" msgstr "" #: gschem/src/x_dialog.c:4223 msgid "Net pin" msgstr "" #: gschem/src/x_dialog.c:4225 msgid "Bus pin (graphical)" msgstr "" #: gschem/src/x_fileselect.c:42 msgid "Schematics" msgstr "" #: gschem/src/x_fileselect.c:47 msgid "Symbols" msgstr "" #: gschem/src/x_fileselect.c:52 msgid "Schematics and symbols" msgstr "" #: gschem/src/x_fileselect.c:58 msgid "All files" msgstr "" #: gschem/src/x_fileselect.c:171 msgid "Open..." msgstr "開く..." #: gschem/src/x_fileselect.c:231 msgid "Save as..." msgstr "" #: gschem/src/x_fileselect.c:284 #, c-format msgid "" "The selected file `%s' already exists.\n" "\n" "Would you like to overwrite it?" msgstr "" #: gschem/src/x_fileselect.c:287 msgid "Overwrite file?" msgstr "" #: gschem/src/x_fileselect.c:289 msgid "Save cancelled on user request\n" msgstr "" #: gschem/src/x_image.c:176 msgid "Encapsulated Postscript" msgstr "" #: gschem/src/x_image.c:296 #, c-format msgid "x_image_lowlevel: Unable to write eps file %s.\n" msgstr "" #: gschem/src/x_image.c:374 #, c-format msgid "x_image_lowlevel: Unable to write %s file %s.\n" msgstr "" #: gschem/src/x_image.c:384 #, c-format msgid "" "There was the following error when saving image with type %s to filename:\n" "%s\n" "\n" "%s.\n" msgstr "" #: gschem/src/x_image.c:403 #, c-format msgid "Wrote color image to [%s] [%d x %d]\n" msgstr "カラーイメージを出力しました。[%s] [%d x %d]\n" #: gschem/src/x_image.c:405 #, c-format msgid "Wrote black and white image to [%s] [%d x %d]\n" msgstr "白黒イメージを出力しました。[%s] [%d x %d]\n" #: gschem/src/x_image.c:413 msgid "x_image_lowlevel: Unable to get pixbuf from gschem's window.\n" msgstr "" #: gschem/src/x_image.c:458 msgid "Width x Height" msgstr "" #: gschem/src/x_image.c:474 msgid "Image type" msgstr "" #: gschem/src/x_image.c:495 msgid "Write image..." msgstr "" #: gschem/src/x_log.c:209 msgid "** Invalid UTF-8 in log message. See stderr or gschem.log.\n" msgstr "" #: gschem/src/x_log.c:288 msgid "Status" msgstr "ステータス" #: gschem/src/x_menus.c:37 msgid "/Add Net" msgstr "" #: gschem/src/x_menus.c:38 msgid "/Add Attribute..." msgstr "" #: gschem/src/x_menus.c:39 msgid "/Add Component..." msgstr "" #: gschem/src/x_menus.c:40 msgid "/Add Bus" msgstr "" #: gschem/src/x_menus.c:41 msgid "/Add Text" msgstr "" #: gschem/src/x_menus.c:43 msgid "/Zoom In" msgstr "" #: gschem/src/x_menus.c:44 msgid "/Zoom Out" msgstr "" #: gschem/src/x_menus.c:45 msgid "/Zoom Box" msgstr "" #: gschem/src/x_menus.c:46 msgid "/Zoom Extents" msgstr "" #: gschem/src/x_menus.c:48 msgid "/Select" msgstr "" #: gschem/src/x_menus.c:49 msgid "/Edit..." msgstr "" #: gschem/src/x_menus.c:50 msgid "/Edit pin type..." msgstr "" #: gschem/src/x_menus.c:51 msgid "/Copy" msgstr "" #: gschem/src/x_menus.c:52 msgid "/Move" msgstr "" #: gschem/src/x_menus.c:53 msgid "/Delete" msgstr "" #: gschem/src/x_menus.c:56 msgid "/Down Schematic" msgstr "" #: gschem/src/x_menus.c:57 msgid "/Down Symbol" msgstr "" #: gschem/src/x_menus.c:58 msgid "/Up" msgstr "" #: gschem/src/x_menus.c:348 #, c-format msgid "Tried to set the sensitivity on non-existent menu item '%s'\n" msgstr "" #: gschem/src/x_menus.c:372 msgid "Popup_menu_item_factory doesn't exist!\n" msgstr "" #: gschem/src/x_menus.c:385 msgid "Tried to set the sensitivity on a non-existent popup menu_item\n" msgstr "" #: gschem/src/x_misc.c:74 msgid "The operating system is out of memory or resources." msgstr "" #: gschem/src/x_misc.c:155 #, c-format msgid "%s failed to launch URI" msgstr "" #: gschem/src/x_multiattrib.c:961 msgid "Attributes with empty name are not allowed. Please set a name." msgstr "" #: gschem/src/x_multiattrib.c:1514 msgid "Show Value only" msgstr "値のみ表示" #: gschem/src/x_multiattrib.c:1516 msgid "Show Name only" msgstr "名前のみ表示" #: gschem/src/x_multiattrib.c:1544 msgid "Promote" msgstr "" #: gschem/src/x_multiattrib.c:1548 msgid "Duplicate" msgstr "" #: gschem/src/x_multiattrib.c:1765 msgid "Edit Attributes" msgstr "アトリビュート編集" #: gschem/src/x_multiattrib.c:1883 msgid "Vis?" msgstr "表示" #: gschem/src/x_multiattrib.c:1901 msgid "N" msgstr "名前" #: gschem/src/x_multiattrib.c:1919 msgid "V" msgstr "値" #: gschem/src/x_multiattrib.c:1941 msgid "Show inherited attributes" msgstr "" #: gschem/src/x_multiattrib.c:1957 msgid "Add Attribute" msgstr "" #: gschem/src/x_pagesel.c:246 msgid "New Page" msgstr "新規ページ" #: gschem/src/x_pagesel.c:247 msgid "Open Page..." msgstr "開く..." #: gschem/src/x_pagesel.c:249 msgid "Save Page" msgstr "保存" #: gschem/src/x_pagesel.c:250 msgid "Close Page" msgstr "閉じる" #: gschem/src/x_pagesel.c:251 msgid "Discard Page" msgstr "破棄" #: gschem/src/x_pagesel.c:369 msgid "Page Manager" msgstr "ページマネージャ" #: gschem/src/x_pagesel.c:425 msgid "Filename" msgstr "ファイル名" #: gschem/src/x_pagesel.c:441 msgid "Changed" msgstr "" #: gschem/src/x_pagesel.c:461 msgid "Right click on the filename for more options..." msgstr "" #: gschem/src/x_preview.c:231 msgid "Preview Buffer" msgstr "" #: gschem/src/x_print.c:84 msgid "Select PostScript Filename..." msgstr "" #: gschem/src/x_print.c:164 msgid "Extents with margins" msgstr "" #: gschem/src/x_print.c:170 msgid "Extents no margins" msgstr "" #: gschem/src/x_print.c:176 msgid "Current Window" msgstr "現在のウィンドウ" #: gschem/src/x_print.c:210 msgid "Landscape" msgstr "ランドスケープ" #: gschem/src/x_print.c:216 msgid "Portrait" msgstr "ポートレイト" #: gschem/src/x_print.c:276 msgid "Print..." msgstr "印刷..." #: gschem/src/x_print.c:284 msgid "Settings" msgstr "" #: gschem/src/x_print.c:296 msgid "Output paper size:" msgstr "" #: gschem/src/x_print.c:318 msgid "Orientation:" msgstr "" #: gschem/src/x_print.c:330 msgid "Destination" msgstr "" #: gschem/src/x_print.c:343 msgid "File:" msgstr "" #: gschem/src/x_print.c:373 msgid "Command:" msgstr "" #: gschem/src/x_print.c:745 msgid "No print destination specified\n" msgstr "" #: gschem/src/x_print.c:752 #, c-format msgid "Cannot print current schematic to [%s]\n" msgstr "現在のスケマチックを印刷できません。[%s]\n" #: gschem/src/x_print.c:761 #, c-format msgid "" "Error printing to file '%s'\n" "Check the log window for more information" msgstr "" #: gschem/src/x_print.c:768 #, c-format msgid "Printed current schematic to [%s]\n" msgstr "現在のスケマチックを印刷しました。[%s]\n" #: gschem/src/x_rc.c:40 msgid "ERROR: An unknown error occurred while parsing configuration files.\n" msgstr "" #: gschem/src/x_rc.c:45 msgid "" "An unknown error occurred while parsing configuration files.\n" "\n" "The gschem log may contain more information." msgstr "" #: gschem/src/x_rc.c:57 #, c-format msgid "ERROR: %s\n" msgstr "" #: gschem/src/x_rc.c:60 #, c-format msgid "" "%s\n" "\n" "The gschem log may contain more information." msgstr "" #: gschem/src/x_rc.c:68 msgid "Cannot load gschem configuration." msgstr "" #: gschem/src/x_script.c:47 gschem/lib/system-gschemrc.scm:1381 msgid "Execute Script..." msgstr "スクリプト実行..." #: gschem/src/x_script.c:66 #, c-format msgid "Executing guile script [%s]\n" msgstr "guileスクリプトを実行しています。[%s]\n" #: gschem/src/x_window.c:82 #, c-format msgid "Couldn't allocate gc\n" msgstr "" #: gschem/src/x_window.c:321 msgid "New" msgstr "新規" #: gschem/src/x_window.c:322 msgid "New file" msgstr "新規ファイル" #: gschem/src/x_window.c:328 msgid "Open" msgstr "開く" #: gschem/src/x_window.c:329 msgid "Open file..." msgstr "ファイルを開く..." #: gschem/src/x_window.c:335 msgid "Save" msgstr "保存" #: gschem/src/x_window.c:336 msgid "Save file" msgstr "ファイルを保存" #: gschem/src/x_window.c:343 msgid "Undo" msgstr "アンドゥ" #: gschem/src/x_window.c:344 msgid "Undo last operation" msgstr "アンドゥ" #: gschem/src/x_window.c:350 msgid "Redo" msgstr "リドゥ" #: gschem/src/x_window.c:351 msgid "Redo last undo" msgstr "リドゥ" #: gschem/src/x_window.c:360 msgid "" "Add component...\n" "Select library and component from list, move the mouse into main window, " "click to place\n" "Right mouse button to cancel" msgstr "" "部品追加...\n" "ライブラリから部品を選択し、メインウィンドウで\n" "クリックすると、配置します。\n" "右ボタンでキャンセルします。" #: gschem/src/x_window.c:370 msgid "" "Add nets mode\n" "Right mouse button to cancel" msgstr "" "ネット追加モード\n" "右ボタンでキャンセル" #: gschem/src/x_window.c:380 msgid "" "Add buses mode\n" "Right mouse button to cancel" msgstr "" "バス追加モード\n" "右ボタンでキャンセル" #: gschem/src/x_window.c:388 msgid "Add Text..." msgstr "テキスト追加..." #: gschem/src/x_window.c:398 msgid "Select" msgstr "選択" #: gschem/src/x_window.c:399 msgid "Select mode" msgstr "選択モード" #: gschem/src/x_window.c:465 msgid "Evaluate:" msgstr "" #: gschem/src/x_window.c:484 msgid "Pick" msgstr "ピック" #: gschem/src/x_window.c:500 msgid "Repeat/none" msgstr "繰り返し/なし" #: gschem/src/x_window.c:510 msgid "Menu/Cancel" msgstr "メニュー/キャンセル" #: gschem/src/x_window.c:512 msgid "Pan/Cancel" msgstr "パン/キャンセル" #: gschem/src/x_window.c:737 #, c-format msgid "Loading schematic [%s]\n" msgstr "スケマチックを読み込んでいます。[%s]\n" #: gschem/src/x_window.c:748 #, c-format msgid "" "An error occurred while loading the requested file.\n" "\n" "Loading from '%s' failed: %s. The gschem log may contain more information." msgstr "" #: gschem/src/x_window.c:750 msgid "Failed to load file" msgstr "" #: gschem/src/x_window.c:759 #, c-format msgid "New file [%s]\n" msgstr "" #: gschem/src/x_window.c:862 #, c-format msgid "Could NOT save page [%s]\n" msgstr "" #: gschem/src/x_window.c:863 msgid "Error while trying to save" msgstr "保存中にエラー発生" #: gschem/src/x_window.c:873 msgid "Failed to save file" msgstr "" #: gschem/src/x_window.c:884 #, c-format msgid "Saved as [%s]\n" msgstr "" #: gschem/src/x_window.c:886 #, c-format msgid "Saved [%s]\n" msgstr "保存しました。[%s]\n" #: gschem/src/x_window.c:888 msgid "Saved" msgstr "保存しました。" #: gschem/src/x_window.c:962 #, c-format msgid "Discarding page [%s]\n" msgstr "ページを破棄しています。[%s]\n" #: gschem/src/x_window.c:962 #, c-format msgid "Closing [%s]\n" msgstr "閉じています。[%s]\n" #: gschem/data/geda-gschem.desktop.in:3 msgid "gEDA Schematic Editor" msgstr "" #: gschem/data/geda-gschem.desktop.in:4 msgid "Create and edit electrical schematics and symbols with gschem" msgstr "" #: gschem/lib/system-gschemrc.scm:1368 msgid "_New" msgstr "新規(_N)" #: gschem/lib/system-gschemrc.scm:1369 msgid "_Open..." msgstr "開く(_O)..." #: gschem/lib/system-gschemrc.scm:1371 msgid "Open Recen_t" msgstr "最近使用したファイル(_T)" #: gschem/lib/system-gschemrc.scm:1373 msgid "_Save" msgstr "保存(_S)" #: gschem/lib/system-gschemrc.scm:1374 msgid "Save _As..." msgstr "別名で保存(_A)..." #: gschem/lib/system-gschemrc.scm:1375 msgid "Save All" msgstr "すべて保存" #: gschem/lib/system-gschemrc.scm:1376 gschem/lib/system-gschemrc.scm:1469 msgid "_Revert" msgstr "再読み込み(_R)" #: gschem/lib/system-gschemrc.scm:1378 msgid "_Print..." msgstr "印刷(_P)..." #: gschem/lib/system-gschemrc.scm:1379 msgid "Write _image..." msgstr "画像として保存(_I)..." #: gschem/lib/system-gschemrc.scm:1383 msgid "New Window" msgstr "新規ウィンドウ" #: gschem/lib/system-gschemrc.scm:1384 msgid "_Close Window" msgstr "" #: gschem/lib/system-gschemrc.scm:1385 msgid "_Quit" msgstr "終了(_Q)" #: gschem/lib/system-gschemrc.scm:1391 msgid "_Undo" msgstr "元に戻す(_U)" #: gschem/lib/system-gschemrc.scm:1392 msgid "_Redo" msgstr "やり直す(_R)" #: gschem/lib/system-gschemrc.scm:1394 msgid "Cu_t" msgstr "切り取り(_T)" #: gschem/lib/system-gschemrc.scm:1395 msgid "_Copy" msgstr "コピー(_C)" #: gschem/lib/system-gschemrc.scm:1396 msgid "_Paste" msgstr "貼り付け(_P)" #: gschem/lib/system-gschemrc.scm:1397 msgid "_Delete" msgstr "削除(_D)" #: gschem/lib/system-gschemrc.scm:1400 msgid "Select All" msgstr "" #: gschem/lib/system-gschemrc.scm:1401 msgid "Deselect" msgstr "" #: gschem/lib/system-gschemrc.scm:1405 msgid "Rotate 90 Mode" msgstr "90度回転モード" #: gschem/lib/system-gschemrc.scm:1408 msgid "Edit..." msgstr "編集..." #: gschem/lib/system-gschemrc.scm:1409 msgid "Edit Text..." msgstr "テキスト編集..." #: gschem/lib/system-gschemrc.scm:1410 msgid "Slot..." msgstr "スロット..." #: gschem/lib/system-gschemrc.scm:1411 msgid "Color..." msgstr "色..." #: gschem/lib/system-gschemrc.scm:1412 msgid "Line Width & Type..." msgstr "線種と幅..." #: gschem/lib/system-gschemrc.scm:1413 msgid "Fill Type..." msgstr "塗りつぶし種類..." #: gschem/lib/system-gschemrc.scm:1414 msgid "Symbol Translate..." msgstr "シンボル転送..." #: gschem/lib/system-gschemrc.scm:1418 msgid "Invoke Macro" msgstr "マクロの実行" #: gschem/lib/system-gschemrc.scm:1419 msgid "Embed Component/Picture" msgstr "画像・コンポーネントの埋め込み" #: gschem/lib/system-gschemrc.scm:1420 msgid "Unembed Component/Picture" msgstr "画像・コンポーネントの埋め込み解除" #: gschem/lib/system-gschemrc.scm:1421 msgid "Update Component" msgstr "部品更新" #: gschem/lib/system-gschemrc.scm:1422 msgid "Show/Hide Inv Text" msgstr "テキスト表示/非表示" #: gschem/lib/system-gschemrc.scm:1428 msgid "Copy into 1" msgstr "コピー1" #: gschem/lib/system-gschemrc.scm:1429 msgid "Copy into 2" msgstr "コピー2" #: gschem/lib/system-gschemrc.scm:1430 msgid "Copy into 3" msgstr "コピー3" #: gschem/lib/system-gschemrc.scm:1431 msgid "Copy into 4" msgstr "コピー4" #: gschem/lib/system-gschemrc.scm:1432 msgid "Copy into 5" msgstr "コピー5" #: gschem/lib/system-gschemrc.scm:1433 msgid "Cut into 1" msgstr "カット1" #: gschem/lib/system-gschemrc.scm:1434 msgid "Cut into 2" msgstr "カット2" #: gschem/lib/system-gschemrc.scm:1435 msgid "Cut into 3" msgstr "カット3" #: gschem/lib/system-gschemrc.scm:1436 msgid "Cut into 4" msgstr "カット4" #: gschem/lib/system-gschemrc.scm:1437 msgid "Cut into 5" msgstr "カット5" #: gschem/lib/system-gschemrc.scm:1438 msgid "Paste from 1" msgstr "ペースト1" #: gschem/lib/system-gschemrc.scm:1439 msgid "Paste from 2" msgstr "ペースト2" #: gschem/lib/system-gschemrc.scm:1440 msgid "Paste from 3" msgstr "ペースト3" #: gschem/lib/system-gschemrc.scm:1441 msgid "Paste from 4" msgstr "ペースト4" #: gschem/lib/system-gschemrc.scm:1442 msgid "Paste from 5" msgstr "ペースト5" #: gschem/lib/system-gschemrc.scm:1448 msgid "_Redraw" msgstr "再描画" #: gschem/lib/system-gschemrc.scm:1449 msgid "_Pan" msgstr "パン" #: gschem/lib/system-gschemrc.scm:1450 msgid "Zoom _Box" msgstr "ズームボックス" #: gschem/lib/system-gschemrc.scm:1451 msgid "Zoom _Extents" msgstr "回路全体の表示(_E)" #: gschem/lib/system-gschemrc.scm:1452 msgid "Zoom _In" msgstr "拡大(_I)" #: gschem/lib/system-gschemrc.scm:1453 msgid "Zoom _Out" msgstr "縮小(_O)" #: gschem/lib/system-gschemrc.scm:1454 msgid "Zoom _Full" msgstr "最縮小して表示(_F)" #: gschem/lib/system-gschemrc.scm:1456 msgid "_Dark color scheme" msgstr "暗い配色(_D)" #: gschem/lib/system-gschemrc.scm:1457 msgid "_Light color scheme" msgstr "明るい配色(_L)" #: gschem/lib/system-gschemrc.scm:1458 msgid "B_W color scheme" msgstr "" #: gschem/lib/system-gschemrc.scm:1465 msgid "_Manager..." msgstr "管理(_M)" #: gschem/lib/system-gschemrc.scm:1466 msgid "_Previous" msgstr "前のページ(_P)" #: gschem/lib/system-gschemrc.scm:1467 msgid "_Next" msgstr "次のページ(_N)" #: gschem/lib/system-gschemrc.scm:1468 msgid "Ne_w" msgstr "新規(_W)" #: gschem/lib/system-gschemrc.scm:1470 msgid "_Close" msgstr "閉じる(_C)" #: gschem/lib/system-gschemrc.scm:1472 msgid "_Discard" msgstr "破棄(_D)" #: gschem/lib/system-gschemrc.scm:1478 msgid "_Component..." msgstr "部品(_C)" #: gschem/lib/system-gschemrc.scm:1479 msgid "_Net" msgstr "ネット(_N)" #: gschem/lib/system-gschemrc.scm:1480 msgid "B_us" msgstr "バス(_U)" #: gschem/lib/system-gschemrc.scm:1481 msgid "_Attribute..." msgstr "アトリビュート(_A)" #: gschem/lib/system-gschemrc.scm:1482 msgid "_Text..." msgstr "テキスト(_T)..." #: gschem/lib/system-gschemrc.scm:1484 msgid "_Line" msgstr "直線(_L)" #: gschem/lib/system-gschemrc.scm:1485 msgid "_Box" msgstr "ボックス(_B)" #: gschem/lib/system-gschemrc.scm:1486 msgid "C_ircle" msgstr "円(_I)" #: gschem/lib/system-gschemrc.scm:1487 msgid "A_rc" msgstr "円弧(_R)" #: gschem/lib/system-gschemrc.scm:1488 msgid "_Pin" msgstr "ピン(_P)" #: gschem/lib/system-gschemrc.scm:1489 msgid "Pictu_re..." msgstr "画像(_R)" #: gschem/lib/system-gschemrc.scm:1495 msgid "_Down Schematic" msgstr "" #: gschem/lib/system-gschemrc.scm:1496 msgid "Down _Symbol" msgstr "" #: gschem/lib/system-gschemrc.scm:1497 msgid "_Up" msgstr "" #: gschem/lib/system-gschemrc.scm:1498 msgid "D_ocumentation..." msgstr "" #: gschem/lib/system-gschemrc.scm:1504 msgid "_Attach" msgstr "" #: gschem/lib/system-gschemrc.scm:1505 msgid "_Detach" msgstr "" #: gschem/lib/system-gschemrc.scm:1506 msgid "Show _Value" msgstr "" #: gschem/lib/system-gschemrc.scm:1507 msgid "Show _Name" msgstr "" #: gschem/lib/system-gschemrc.scm:1508 msgid "Show _Both" msgstr "" #: gschem/lib/system-gschemrc.scm:1509 msgid "_Toggle Visibility" msgstr "" #: gschem/lib/system-gschemrc.scm:1511 msgid "_Find Specific Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1512 msgid "_Hide Specific Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1513 msgid "_Show Specific Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1514 msgid "A_utonumber Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1520 msgid "_Text Size..." msgstr "" #: gschem/lib/system-gschemrc.scm:1521 msgid "Cycle _grid styles" msgstr "" #: gschem/lib/system-gschemrc.scm:1522 msgid "Toggle _Snap On/Off" msgstr "" #: gschem/lib/system-gschemrc.scm:1523 msgid "Snap Grid S_pacing..." msgstr "" #: gschem/lib/system-gschemrc.scm:1524 msgid "Scale _up Grid Spacing" msgstr "" #: gschem/lib/system-gschemrc.scm:1526 msgid "Scale _down Grid Spacing" msgstr "" #: gschem/lib/system-gschemrc.scm:1528 msgid "Toggle _Outline/Box" msgstr "" #: gschem/lib/system-gschemrc.scm:1530 msgid "Toggle Net _Rubberband" msgstr "" #: gschem/lib/system-gschemrc.scm:1531 msgid "Toggle _Magnetic Net" msgstr "" #: gschem/lib/system-gschemrc.scm:1532 msgid "Show _Log Window..." msgstr "" #: gschem/lib/system-gschemrc.scm:1534 msgid "Show _Coord Window..." msgstr "" #: gschem/lib/system-gschemrc.scm:1542 msgid "gEDA Docu_mentation..." msgstr "" #: gschem/lib/system-gschemrc.scm:1543 msgid "gschem _FAQ..." msgstr "" #: gschem/lib/system-gschemrc.scm:1544 msgid "gEDA _Wiki..." msgstr "" #: gschem/lib/system-gschemrc.scm:1545 msgid "Component D_ocumentation..." msgstr "" #: gschem/lib/system-gschemrc.scm:1547 msgid "_Hotkeys..." msgstr "" #: gschem/lib/system-gschemrc.scm:1548 msgid "_About..." msgstr "" #: gschem/lib/system-gschemrc.scm:1554 msgid "_File" msgstr "ファイル(_F)" #: gschem/lib/system-gschemrc.scm:1555 msgid "_Edit" msgstr "編集(_E)" #: gschem/lib/system-gschemrc.scm:1556 msgid "_Buffer" msgstr "バッファ(_B)" #: gschem/lib/system-gschemrc.scm:1557 msgid "_View" msgstr "表示(_V)" #: gschem/lib/system-gschemrc.scm:1558 msgid "_Page" msgstr "ページ(_P)" #: gschem/lib/system-gschemrc.scm:1559 msgid "_Add" msgstr "追加" #: gschem/lib/system-gschemrc.scm:1560 msgid "Hie_rarchy" msgstr "階層" #: gschem/lib/system-gschemrc.scm:1561 msgid "A_ttributes" msgstr "アトリビュート" #: gschem/lib/system-gschemrc.scm:1562 msgid "_Options" msgstr "オプション" #: gschem/lib/system-gschemrc.scm:1563 msgid "_Help" msgstr "ヘルプ" #: gschem/scheme/gschem/deprecated.scm:102 #, scheme-format msgid "Invalid text alignment ~A." msgstr "" #: gschem/scheme/gschem/gschemdoc.scm:225 msgid "No documentation found" msgstr "" #: gschem/scheme/gschem/keymap.scm:38 #, scheme-format msgid "~S is not a valid key combination." msgstr "" #: gschem/scheme/gschem/keymap.scm:153 #, scheme-format msgid "~S is not a prefix key sequence." msgstr "" geda-gaf-1.8.2/gschem/po/en@boldquot.header0000644000175000017500000000247112210331571015407 00000000000000# All this catalog "translates" are quotation characters. # The msgids must be ASCII and therefore cannot contain real quotation # characters, only substitutes like grave accent (0x60), apostrophe (0x27) # and double quote (0x22). These substitutes look strange; see # http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html # # This catalog translates grave accent (0x60) and apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019). # It also translates pairs of apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019) # and pairs of quotation mark (0x22) to # left double quotation mark (U+201C) and right double quotation mark (U+201D). # # When output to an UTF-8 terminal, the quotation characters appear perfectly. # When output to an ISO-8859-1 terminal, the single quotation marks are # transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to # grave/acute accent (by libiconv), and the double quotation marks are # transliterated to 0x22. # When output to an ASCII terminal, the single quotation marks are # transliterated to apostrophes, and the double quotation marks are # transliterated to 0x22. # # This catalog furthermore displays the text between the quotation marks in # bold face, assuming the VT100/XTerm escape sequences. # geda-gaf-1.8.2/gschem/po/Makevars0000664000175000017500000000345612220647257013477 00000000000000# Makefile variables for PO directory in any package using GNU gettext. # Usually the message domain is the same as the package name. DOMAIN = geda-gschem # These two variables depend on the location of this directory. subdir = gschem/po top_builddir = ../.. # These options get passed to xgettext. XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ --from-code=UTF-8 # This is the copyright holder that gets inserted into the header of the # $(DOMAIN).pot file. Set this to the copyright holder of the surrounding # package. (Note that the msgstr strings, extracted from the package's # sources, belong to the copyright holder of the package.) Translators are # expected to transfer the copyright for their translations to this person # or entity, or to disclaim their copyright. The empty string stands for # the public domain; in this case the translators are expected to disclaim # their copyright. COPYRIGHT_HOLDER = gEDA Developers # This is the email address or URL to which the translators shall report # bugs in the untranslated strings: # - Strings which are not entire sentences, see the maintainer guidelines # in the GNU gettext documentation, section 'Preparing Strings'. # - Strings which use unclear terms or require additional context to be # understood. # - Strings which make invalid assumptions about notation of date, time or # money. # - Pluralisation problems. # - Incorrect English spelling. # - Incorrect formatting. # It can be your email address, or a mailing list address where translators # can write to without being subscribed, or the URL of a web page through # which the translators can contact you. MSGID_BUGS_ADDRESS = geda-bug@seul.org # This is the list of locale categories, beyond LC_MESSAGES, for which the # message catalogs shall be used. It is usually empty. EXTRA_LOCALE_CATEGORIES = geda-gaf-1.8.2/gschem/po/en_GB.po0000664000175000017500000016777712220655644013335 00000000000000# British English translation for gschem. # Copyright (C) 2007-2010 Peter Clifton # This file is distributed under the same license as the gschem package. # Peter Clifton , 2007-2010. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-01-31 12:14+0000\n" "Last-Translator: Peter TB Brett \n" "Language-Team: gEDA developers \n" "Language: en_GB\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: gschem/src/a_zoom.c:212 msgid "Zoom too small! Cannot zoom further.\n" msgstr "Zoom too small! Cannot zoom further.\n" #: gschem/src/g_attrib.c:92 msgid "Object ~A is not included in the current gschem page." msgstr "Object ~A is not included in the current gschem page." #: gschem/src/g_attrib.c:112 msgid "Invalid text name/value visibility ~A." msgstr "Invalid text name/value visibility ~A." #: gschem/src/g_rc.c:312 #, c-format msgid "Invalid zoomfactor [%d] passed to %s\n" msgstr "Invalid zoomfactor [%d] passed to %s\n" #: gschem/src/g_rc.c:458 #, c-format msgid "Invalid size [%d] passed to text-size\n" msgstr "Invalid size [%d] passed to text-size\n" #: gschem/src/g_rc.c:501 #, c-format msgid "Invalid size [%d] passed to snap-size\n" msgstr "Invalid size [%d] passed to snap-size\n" #: gschem/src/g_rc.c:958 #, c-format msgid "Invalid num levels [%d] passed to undo-levels\n" msgstr "Invalid num levels [%d] passed to undo-levels\n" #: gschem/src/g_rc.c:1220 #, c-format msgid "Invalid size [%d] passed to bus-ripper-size\n" msgstr "Invalid size [%d] passed to bus-ripper-size\n" #: gschem/src/g_rc.c:1295 #, c-format msgid "Invalid dot size [%d] passed to dots-grid-dot-size\n" msgstr "Invalid dot size [%d] passed to dots-grid-dot-size\n" #: gschem/src/g_rc.c:1336 #, c-format msgid "Invalid pixel spacing [%d] passed to dots-grid-fixed-threshold\n" msgstr "Invalid pixel spacing [%d] passed to dots-grid-fixed-threshold\n" #: gschem/src/g_rc.c:1362 #, c-format msgid "Invalid pixel spacing [%d] passed to mesh-grid-display-threshold\n" msgstr "Invalid pixel spacing [%d] passed to mesh-grid-display-threshold\n" #: gschem/src/g_rc.c:1387 #, c-format msgid "Invalid offset [%d] passed to add-attribute-offset\n" msgstr "Invalid offset [%d] passed to add-attribute-offset\n" #: gschem/src/g_rc.c:1411 #, c-format msgid "Invalid number of seconds [%d] passed to auto-save-interval\n" msgstr "Invalid number of seconds [%d] passed to auto-save-interval\n" #: gschem/src/g_rc.c:1435 #, c-format msgid "Invalid gain [%d] passed to mousepan-gain\n" msgstr "Invalid gain [%d] passed to mousepan-gain\n" #: gschem/src/g_rc.c:1458 #, c-format msgid "Invalid gain [%d] passed to keyboardpan-gain\n" msgstr "Invalid gain [%d] passed to keyboardpan-gain\n" #: gschem/src/g_rc.c:1505 #, c-format msgid "Invalid number of pixels [%d] passed to select-slack-pixels\n" msgstr "Invalid number of pixels [%d] passed to select-slack-pixels\n" #: gschem/src/g_rc.c:1531 #, c-format msgid "Invalid gain [%d] passed to zoom-gain\n" msgstr "Invalid gain [%d] passed to zoom-gain\n" #: gschem/src/g_rc.c:1556 #, c-format msgid "Invalid number of steps [%d] scrollpan-steps\n" msgstr "Invalid number of steps [%d] scrollpan-steps\n" #: gschem/src/g_select.c:79 gschem/src/g_select.c:116 #: gschem/src/g_select.c:152 msgid "Object ~A is not directly included in a page." msgstr "Object ~A is not directly included in a page." #: gschem/src/g_util.c:56 msgid "Could not launch URI ~S: ~A" msgstr "Could not launch URI ~S: ~A" #: gschem/src/g_window.c:136 msgid "Found invalid gschem window smob ~S" msgstr "Found invalid gschem window smob ~S" #: gschem/src/gschem.c:175 #, c-format msgid "gEDA/gschem version %s%s.%s\n" msgstr "gEDA/gschem version %s%s.%s\n" #: gschem/src/gschem.c:178 msgid "" "gEDA/gschem comes with ABSOLUTELY NO WARRANTY; see COPYING for more " "details.\n" msgstr "" "gEDA/gschem comes with ABSOLUTELY NO WARRANTY; see COPYING for more " "details.\n" #: gschem/src/gschem.c:180 msgid "" "This is free software, and you are welcome to redistribute it under certain\n" msgstr "" "This is free software, and you are welcome to redistribute it under certain\n" #: gschem/src/gschem.c:182 msgid "" "conditions; please see the COPYING file for more details.\n" "\n" msgstr "" "conditions; please see the COPYING file for more details.\n" "\n" #: gschem/src/gschem.c:185 #, c-format msgid "This is the MINGW32 port.\n" msgstr "This is the MINGW32 port.\n" #: gschem/src/gschem.c:189 #, c-format msgid "Current locale settings: %s\n" msgstr "Current locale settings: %s\n" #: gschem/src/gschem.c:211 msgid "" "You must set the GEDADATA environment variable!\n" "\n" "gschem cannot locate its data files. You must set the GEDADATA\n" "environment variable to point to the correct location.\n" msgstr "" "You must set the GEDADATA environment variable!\n" "\n" "gschem cannot locate its data files. You must set the GEDADATA\n" "environment variable to point to the correct location.\n" #: gschem/src/gschem.c:248 #, c-format msgid "Couldn't find init scm file [%s]\n" msgstr "Couldn't find init scm file [%s]\n" #: gschem/src/gschem.c:252 #, c-format msgid "Read init scm file [%s]\n" msgstr "Read init scm file [%s]\n" #: gschem/src/gschem.c:256 #, c-format msgid "Failed to read init scm file [%s]\n" msgstr "Failed to read init scm file [%s]\n" #: gschem/src/gschem_cairo.c:310 #, c-format msgid "Unknown end for line (%d)\n" msgstr "Unknown end for line (%d)\n" #: gschem/src/gschem_cairo.c:318 #, c-format msgid "Unknown type for stroke (%d) !\n" msgstr "Unknown type for stroke (%d) !\n" #: gschem/src/gschem_pango.c:289 msgid "cairo context" msgstr "cairo context" #: gschem/src/gschem_pango.c:290 msgid "the cairo context for the renderer" msgstr "the cairo context for the renderer" #: gschem/src/i_basic.c:77 gschem/src/x_window.c:524 #: gschem/lib/system-gschemrc.scm:1399 msgid "Select Mode" msgstr "Select Mode" #: gschem/src/i_basic.c:79 msgid "Component Mode" msgstr "Component Mode" #: gschem/src/i_basic.c:81 msgid "Text Mode" msgstr "Text Mode" #: gschem/src/i_basic.c:84 gschem/lib/system-gschemrc.scm:1402 msgid "Copy Mode" msgstr "Copy Mode" #: gschem/src/i_basic.c:87 gschem/lib/system-gschemrc.scm:1404 msgid "Move Mode" msgstr "Move Mode" #: gschem/src/i_basic.c:89 msgid "Rotate Mode" msgstr "Rotate Mode" #: gschem/src/i_basic.c:91 gschem/lib/system-gschemrc.scm:1406 msgid "Mirror Mode" msgstr "Mirror Mode" #: gschem/src/i_basic.c:95 msgid "Zoom Box" msgstr "Zoom Box" #: gschem/src/i_basic.c:99 msgid "Pan Mode" msgstr "Pan Mode" #: gschem/src/i_basic.c:103 #, c-format msgid "Paste %d Mode" msgstr "Paste %d Mode" #: gschem/src/i_basic.c:109 msgid "Magnetic Net Mode" msgstr "Magnetic Net Mode" #: gschem/src/i_basic.c:111 msgid "Net Mode" msgstr "Net Mode" #: gschem/src/i_basic.c:115 msgid "Bus Mode" msgstr "Bus Mode" #: gschem/src/i_basic.c:118 msgid "Line Mode" msgstr "Line Mode" #: gschem/src/i_basic.c:121 msgid "Box Mode" msgstr "Box Mode" #: gschem/src/i_basic.c:124 msgid "Picture Mode" msgstr "Picture Mode" #: gschem/src/i_basic.c:127 msgid "Circle Mode" msgstr "Circle Mode" #: gschem/src/i_basic.c:130 msgid "Arc Mode" msgstr "Arc Mode" #: gschem/src/i_basic.c:133 msgid "Pin Mode" msgstr "Pin Mode" #: gschem/src/i_basic.c:135 gschem/src/i_callbacks.c:529 #: gschem/src/i_callbacks.c:553 msgid "Copy" msgstr "Copy" #: gschem/src/i_basic.c:137 gschem/src/i_callbacks.c:619 #: gschem/src/i_callbacks.c:643 msgid "Move" msgstr "Move" #: gschem/src/i_basic.c:139 gschem/src/i_callbacks.c:574 #: gschem/src/i_callbacks.c:598 msgid "Multiple Copy" msgstr "Multiple Copy" #: gschem/src/i_basic.c:142 gschem/lib/system-gschemrc.scm:1403 msgid "Multiple Copy Mode" msgstr "Multiple Copy Mode" #: gschem/src/i_basic.c:168 msgid "Show Hidden" msgstr "Show Hidden" #: gschem/src/i_basic.c:171 msgid "Snap Off" msgstr "Snap Off" #: gschem/src/i_basic.c:173 msgid "Resnap Active" msgstr "Resnap Active" #: gschem/src/i_basic.c:254 gschem/src/x_window.c:498 msgid "Action" msgstr "Action" #: gschem/src/i_basic.c:260 gschem/src/x_dialog.c:2325 #: gschem/src/x_window.c:493 msgid "Stroke" msgstr "Stroke" #: gschem/src/i_basic.c:266 gschem/src/x_window.c:495 msgid "none" msgstr "none" #: gschem/src/i_basic.c:271 msgid "Repeat/" msgstr "Repeat/" #: gschem/src/i_basic.c:566 gschem/src/i_basic.c:580 msgid "OFF" msgstr "OFF" #: gschem/src/i_basic.c:584 msgid "NONE" msgstr "NONE" #: gschem/src/i_basic.c:589 #, c-format msgid "Grid(%s, %s)" msgstr "Grid(%s, %s)" #: gschem/src/i_callbacks.c:76 gschem/src/i_callbacks.c:1659 #, c-format msgid "New page created [%s]\n" msgstr "New page created [%s]\n" #: gschem/src/i_callbacks.c:124 #, c-format msgid "New Window created [%s]\n" msgstr "New Window created [%s]\n" #: gschem/src/i_callbacks.c:242 msgid "Failed to Save All" msgstr "Failed to Save All" #: gschem/src/i_callbacks.c:244 msgid "Saved All" msgstr "Saved All" #: gschem/src/i_callbacks.c:334 msgid "Closing Window\n" msgstr "Closing Window\n" #: gschem/src/i_callbacks.c:534 gschem/src/i_callbacks.c:579 #: gschem/src/i_callbacks.c:624 msgid "Select objs first" msgstr "Select objs first" #: gschem/src/i_callbacks.c:663 gschem/src/x_multiattrib.c:1549 msgid "Delete" msgstr "Delete" #: gschem/src/i_callbacks.c:688 msgid "Edit" msgstr "Edit" #: gschem/src/i_callbacks.c:703 msgid "Edit pin type" msgstr "Edit pin type" #: gschem/src/i_callbacks.c:722 msgid "Edit Text" msgstr "Edit Text" #: gschem/src/i_callbacks.c:745 msgid "Slot" msgstr "Slot" #: gschem/src/i_callbacks.c:762 msgid "Color" msgstr "Colour" #: gschem/src/i_callbacks.c:799 gschem/src/i_callbacks.c:844 msgid "Rotate" msgstr "Rotate" #: gschem/src/i_callbacks.c:866 gschem/src/i_callbacks.c:891 msgid "Mirror" msgstr "Mirror" #: gschem/src/i_callbacks.c:912 gschem/src/x_dialog.c:2328 #: gschem/lib/system-gschemrc.scm:1415 msgid "Lock" msgstr "Lock" #: gschem/src/i_callbacks.c:930 gschem/lib/system-gschemrc.scm:1416 msgid "Unlock" msgstr "Unlock" #: gschem/src/i_callbacks.c:948 gschem/src/x_dialog.c:1746 msgid "Translate" msgstr "Translate" #: gschem/src/i_callbacks.c:951 msgid "WARNING: Do not translate with snap off!\n" msgstr "WARNING: Do not translate with snap off!\n" #: gschem/src/i_callbacks.c:952 msgid "WARNING: Turning snap on and continuing with translate.\n" msgstr "WARNING: Turning snap on and continuing with translate.\n" #: gschem/src/i_callbacks.c:959 msgid "WARNING: Snap grid size is not equal to 100!\n" msgstr "WARNING: Snap grid size is not equal to 100!\n" #: gschem/src/i_callbacks.c:961 msgid "" "WARNING: If you are translating a symbol to the origin, the snap grid size " "should be set to 100\n" msgstr "" "WARNING: If you are translating a symbol to the origin, the snap grid size " "should be set to 100\n" #: gschem/src/i_callbacks.c:992 msgid "Embed" msgstr "Embed" #: gschem/src/i_callbacks.c:1031 msgid "Unembed" msgstr "Unembed" #: gschem/src/i_callbacks.c:1073 msgid "Update" msgstr "Update" #: gschem/src/i_callbacks.c:1120 msgid "ShowHidden" msgstr "ShowHidden" #: gschem/src/i_callbacks.c:1426 gschem/src/i_callbacks.c:1498 msgid "Pan" msgstr "Pan" #: gschem/src/i_callbacks.c:1703 msgid "Really revert page?" msgstr "Really revert page?" #: gschem/src/i_callbacks.c:1773 msgid "Copy to clipboard" msgstr "Copy to clipboard" #: gschem/src/i_callbacks.c:1791 msgid "Cut to clipboard" msgstr "Cut to clipboard" #: gschem/src/i_callbacks.c:1809 msgid "Paste from clipboard" msgstr "Paste from clipboard" #: gschem/src/i_callbacks.c:1821 gschem/src/i_callbacks.c:2060 #: gschem/src/i_callbacks.c:2082 gschem/src/i_callbacks.c:2104 #: gschem/src/i_callbacks.c:2126 gschem/src/i_callbacks.c:2148 msgid "Empty buffer" msgstr "Empty buffer" #: gschem/src/i_callbacks.c:1866 msgid "Copy 1" msgstr "Copy 1" #: gschem/src/i_callbacks.c:1885 msgid "Copy 2" msgstr "Copy 2" #: gschem/src/i_callbacks.c:1904 msgid "Copy 3" msgstr "Copy 3" #: gschem/src/i_callbacks.c:1923 msgid "Copy 4" msgstr "Copy 4" #: gschem/src/i_callbacks.c:1942 msgid "Copy 5" msgstr "Copy 5" #: gschem/src/i_callbacks.c:1961 msgid "Cut 1" msgstr "Cut 1" #: gschem/src/i_callbacks.c:1980 msgid "Cut 2" msgstr "Cut 2" #: gschem/src/i_callbacks.c:1999 msgid "Cut 3" msgstr "Cut 3" #: gschem/src/i_callbacks.c:2018 msgid "Cut 4" msgstr "Cut 4" #: gschem/src/i_callbacks.c:2037 msgid "Cut 5" msgstr "Cut 5" #: gschem/src/i_callbacks.c:2053 msgid "Paste 1" msgstr "Paste 1" #: gschem/src/i_callbacks.c:2075 msgid "Paste 2" msgstr "Paste 2" #: gschem/src/i_callbacks.c:2097 msgid "Paste 3" msgstr "Paste 3" #: gschem/src/i_callbacks.c:2119 msgid "Paste 4" msgstr "Paste 4" #: gschem/src/i_callbacks.c:2141 msgid "Paste 5" msgstr "Paste 5" #: gschem/src/i_callbacks.c:2278 gschem/src/x_window.c:359 msgid "Component" msgstr "Component" #: gschem/src/i_callbacks.c:2314 gschem/src/i_callbacks.c:2333 #: gschem/src/x_dialog.c:2298 msgid "Attribute" msgstr "Attribute" #: gschem/src/i_callbacks.c:2355 gschem/src/i_callbacks.c:2382 #: gschem/src/x_dialog.c:2295 msgid "Net" msgstr "Net" #: gschem/src/i_callbacks.c:2426 gschem/src/i_callbacks.c:2453 #: gschem/src/x_dialog.c:2313 gschem/src/x_window.c:379 msgid "Bus" msgstr "Bus" #: gschem/src/i_callbacks.c:2534 gschem/src/i_callbacks.c:2557 msgid "Line" msgstr "Line" #: gschem/src/i_callbacks.c:2579 gschem/src/i_callbacks.c:2602 msgid "Box" msgstr "Box" #: gschem/src/i_callbacks.c:2658 gschem/src/i_callbacks.c:2682 msgid "Circle" msgstr "Circle" #: gschem/src/i_callbacks.c:2704 gschem/src/i_callbacks.c:2727 msgid "Arc" msgstr "Arc" #: gschem/src/i_callbacks.c:2749 gschem/src/i_callbacks.c:2772 #: gschem/src/x_dialog.c:2286 msgid "Pin" msgstr "Pin" #: gschem/src/i_callbacks.c:2831 #, c-format msgid "Searching for source [%s]\n" msgstr "Searching for source [%s]\n" #: gschem/src/i_callbacks.c:2855 #, c-format msgid "Cannot find source [%s]\n" msgstr "Cannot find source [%s]\n" #: gschem/src/i_callbacks.c:2918 #, c-format msgid "Searching for symbol [%s]\n" msgstr "Searching for symbol [%s]\n" #: gschem/src/i_callbacks.c:2924 msgid "Symbol is not a real file. Symbol cannot be loaded.\n" msgstr "Symbol is not a real file. Symbol cannot be loaded.\n" #: gschem/src/i_callbacks.c:2955 msgid "Cannot find any schematics above the current one!\n" msgstr "Cannot find any schematics above the current one!\n" #: gschem/src/i_callbacks.c:2985 msgid "Attach" msgstr "Attach" #: gschem/src/i_callbacks.c:3041 msgid "Detach" msgstr "Detach" #: gschem/src/i_callbacks.c:3085 msgid "ShowN" msgstr "ShowN" #: gschem/src/i_callbacks.c:3122 msgid "ShowV" msgstr "ShowV" #: gschem/src/i_callbacks.c:3159 msgid "ShowB" msgstr "ShowB" #: gschem/src/i_callbacks.c:3197 msgid "VisToggle" msgstr "VisToggle" #: gschem/src/i_callbacks.c:3228 #, c-format msgid "Sorry but this is a non-functioning menu option\n" msgstr "Sorry but this is a non-functioning menu option\n" #: gschem/src/i_callbacks.c:3318 msgid "Action feedback mode set to OUTLINE\n" msgstr "Action feedback mode set to OUTLINE\n" #: gschem/src/i_callbacks.c:3321 msgid "Action feedback mode set to BOUNDINGBOX\n" msgstr "Action feedback mode set to BOUNDINGBOX\n" #: gschem/src/i_callbacks.c:3346 msgid "Grid OFF\n" msgstr "Grid OFF\n" #: gschem/src/i_callbacks.c:3347 msgid "Dot grid selected\n" msgstr "Dot grid selected\n" #: gschem/src/i_callbacks.c:3348 msgid "Mesh grid selected\n" msgstr "Mesh grid selected\n" #: gschem/src/i_callbacks.c:3369 msgid "Snap OFF (CAUTION!)\n" msgstr "Snap OFF (CAUTION!)\n" #: gschem/src/i_callbacks.c:3372 msgid "Snap ON\n" msgstr "Snap ON\n" #: gschem/src/i_callbacks.c:3375 msgid "Snap back to the grid (CAUTION!)\n" msgstr "Snap back to the grid (CAUTION!)\n" #: gschem/src/i_callbacks.c:3401 msgid "Rubber band OFF \n" msgstr "Rubber band OFF \n" #: gschem/src/i_callbacks.c:3404 msgid "Rubber band ON\n" msgstr "Rubber band ON\n" #: gschem/src/i_callbacks.c:3419 msgid "magnetic net mode: ON\n" msgstr "magnetic net mode: ON\n" #: gschem/src/i_callbacks.c:3422 msgid "magnetic net mode: OFF\n" msgstr "magnetic net mode: OFF\n" #: gschem/src/o_box.c:292 #, c-format msgid "Unknown type for box (fill)!\n" msgstr "Unknown type for box (fill)!\n" #: gschem/src/o_buffer.c:54 #, c-format msgid "o_buffer_copy: Invalid buffer %i\n" msgstr "o_buffer_copy: Invalid buffer %i\n" #: gschem/src/o_buffer.c:69 #, c-format msgid "o_buffer_cut: Invalid buffer %i\n" msgstr "o_buffer_cut: Invalid buffer %i\n" #: gschem/src/o_buffer.c:90 #, c-format msgid "Got an invalid buffer_number [o_buffer_paste_start]\n" msgstr "Got an invalid buffer_number [o_buffer_paste_start]\n" #: gschem/src/o_bus.c:117 #, c-format msgid "Got an invalid which one in o_bus_draw_stretch\n" msgstr "Got an invalid which one in o_bus_draw_stretch\n" #: gschem/src/o_circle.c:284 #, c-format msgid "Unknown type for circle (fill)!\n" msgstr "Unknown type for circle (fill)!\n" #: gschem/src/o_complex.c:223 gschem/src/o_complex.c:227 #, c-format msgid "Translating schematic [%d %d]\n" msgstr "Translating schematic [%d %d]\n" #: gschem/src/o_misc.c:61 #, c-format msgid "Got an unexpected NULL in o_edit\n" msgstr "Got an unexpected NULL in o_edit\n" #: gschem/src/o_misc.c:125 msgid "Object already locked\n" msgstr "Object already locked\n" #: gschem/src/o_misc.c:163 msgid "Object already unlocked\n" msgstr "Object already unlocked\n" #: gschem/src/o_misc.c:339 msgid "Hidden text is now visible\n" msgstr "Hidden text is now visible\n" #: gschem/src/o_misc.c:341 msgid "Hidden text is now invisible\n" msgstr "Hidden text is now invisible\n" #: gschem/src/o_misc.c:568 #, c-format msgid "Could not find symbol [%s] in library. Update failed.\n" msgstr "Could not find symbol [%s] in library. Update failed.\n" #: gschem/src/o_misc.c:683 #, c-format msgid "o_autosave_backups: Can't get the real filename of %s." msgstr "o_autosave_backups: Can't get the real filename of %s." #: gschem/src/o_misc.c:727 #, c-format msgid "Could NOT set previous backup file [%s] read-write\n" msgstr "Could NOT set previous backup file [%s] read-write\n" #: gschem/src/o_misc.c:747 #, c-format msgid "Could NOT set backup file [%s] readonly\n" msgstr "Could NOT set backup file [%s] readonly\n" #: gschem/src/o_misc.c:752 #, c-format msgid "Could NOT save backup file [%s]\n" msgstr "Could NOT save backup file [%s]\n" #: gschem/src/o_move.c:174 #, c-format msgid "ERROR: NULL object in o_move_end!\n" msgstr "ERROR: NULL object in o_move_end!\n" #: gschem/src/o_move.c:431 #, c-format msgid "DOH! tried to find the whichone, but didn't find it!\n" msgstr "DOH! tried to find the whichone, but didn't find it!\n" #: gschem/src/o_move.c:453 #, c-format msgid "Got a non line object in o_move_check_endpoint\n" msgstr "Got a non line object in o_move_check_endpoint\n" #: gschem/src/o_net.c:158 #, c-format msgid "Got an invalid which one in o_net_draw_stretch\n" msgstr "Got an invalid which one in o_net_draw_stretch\n" #: gschem/src/o_net.c:537 msgid "Warning: Starting net at off grid coordinate\n" msgstr "Warning: Starting net at off grid coordinate\n" #: gschem/src/o_net.c:602 msgid "Warning: Ending net at off grid coordinate\n" msgstr "Warning: Ending net at off grid coordinate\n" #: gschem/src/o_net.c:944 gschem/src/o_net.c:981 gschem/src/o_net.c:1052 #: gschem/src/o_net.c:1088 #, c-format msgid "Tried to add more than two bus rippers. Internal gschem error.\n" msgstr "Tried to add more than two bus rippers. Internal gschem error.\n" #: gschem/src/o_net.c:1156 #, c-format msgid "Bus ripper symbol [%s] was not found in any component library\n" msgstr "Bus ripper symbol [%s] was not found in any component library\n" #: gschem/src/o_path.c:340 #, c-format msgid "Unknown type for path (fill)!\n" msgstr "Unknown type for path (fill)!\n" #: gschem/src/o_picture.c:166 #, c-format msgid "Failed to load picture: %s" msgstr "Failed to load picture: %s" #: gschem/src/o_picture.c:180 msgid "Picture" msgstr "Picture" #: gschem/src/o_picture.c:544 #, c-format msgid "Failed to replace pictures: %s" msgstr "Failed to replace pictures: %s" #: gschem/src/o_slot.c:81 msgid "Slot attribute malformed\n" msgstr "Slot attribute malformed\n" #: gschem/src/o_slot.c:89 msgid "numslots attribute missing\n" msgstr "numslots attribute missing\n" #: gschem/src/o_slot.c:90 msgid "Slotting not allowed for this component\n" msgstr "Slotting not allowed for this component\n" #: gschem/src/o_slot.c:105 msgid "New slot number out of range\n" msgstr "New slot number out of range\n" #: gschem/src/o_undo.c:307 msgid "Undo/Redo disabled in rc file\n" msgstr "Undo/Redo disabled in rc file\n" #: gschem/src/parsecmd.c:82 #, c-format msgid "" "Usage: %s [OPTION ...] [--] [FILE ...]\n" "\n" "Interactively edit gEDA schematics or symbols. If one or more FILEs\n" "are specified, open them for editing; otherwise, create a new, empty\n" "schematic.\n" "\n" "Options:\n" " -q, --quiet Quiet mode.\n" " -v, --verbose Verbose mode.\n" " -r, --config-file=FILE Additional configuration file to load.\n" " -L DIR Add DIR to Scheme search path.\n" " -c EXPR Scheme expression to run at startup.\n" " -s FILE Scheme script to run at startup.\n" " -o, --output=FILE Output filename (for printing).\n" " -p Automatically place the window.\n" " -V, --version Show version information.\n" " -h, --help Help; this message.\n" " -- Treat all remaining arguments as filenames.\n" "\n" "Report bugs at \n" "gEDA/gaf homepage: \n" msgstr "" "Usage: %s [OPTION ...] [--] [FILE ...]\n" "\n" "Interactively edit gEDA schematics or symbols. If one or more FILEs\n" "are specified, open them for editing; otherwise, create a new, empty\n" "schematic.\n" "\n" "Options:\n" " -q, --quiet Quiet mode.\n" " -v, --verbose Verbose mode.\n" " -r, --config-file=FILE Additional configuration file to load.\n" " -L DIR Add DIR to Scheme search path.\n" " -c EXPR Scheme expression to run at startup.\n" " -s FILE Scheme script to run at startup.\n" " -o, --output=FILE Output filename (for printing).\n" " -p Automatically place the window.\n" " -V, --version Show version information.\n" " -h, --help Help; this message.\n" " -- Treat all remaining arguments as filenames.\n" "\n" "Report bugs at \n" "gEDA/gaf homepage: \n" #: gschem/src/parsecmd.c:116 #, c-format msgid "" "gEDA %s (g%.7s)\n" "Copyright (C) 1998-2012 gEDA developers\n" "This is free software, and you are welcome to redistribute it under\n" "certain conditions. For details, see the file `COPYING', which is\n" "included in the gEDA distribution.\n" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" "gEDA %s (g%.7s)\n" "Copyright (C) 1998-2012 gEDA developers\n" "This is free software, and you are welcome to redistribute it under\n" "certain conditions. For details, see the file `COPYING', which is\n" "included in the gEDA distribution.\n" "There is NO WARRANTY, to the extent permitted by law.\n" #: gschem/src/x_attribedit.c:127 #, c-format msgid "Got invalid show option; defaulting to show both\n" msgstr "Got invalid show option; defaulting to show both\n" #: gschem/src/x_attribedit.c:141 #, c-format msgid "ERROR: NULL object!\n" msgstr "ERROR: NULL object!\n" #: gschem/src/x_attribedit.c:329 msgid "Single Attribute Editor" msgstr "Single Attribute Editor" #: gschem/src/x_attribedit.c:359 msgid "Edit Attribute" msgstr "Edit Attribute" #: gschem/src/x_attribedit.c:361 msgid "Add Attribute" msgstr "Add Attribute" #: gschem/src/x_attribedit.c:377 gschem/src/x_multiattrib.c:1973 msgid "Name:" msgstr "Name:" #: gschem/src/x_attribedit.c:394 gschem/src/x_multiattrib.c:1992 msgid "Value:" msgstr "Value:" #: gschem/src/x_attribedit.c:410 gschem/src/x_multiattrib.c:2038 msgid "Visible" msgstr "Visible" #: gschem/src/x_attribedit.c:430 msgid "Show Value Only" msgstr "Show Value Only" #: gschem/src/x_attribedit.c:432 msgid "Show Name Only" msgstr "Show Name Only" #: gschem/src/x_attribedit.c:434 gschem/src/x_multiattrib.c:1512 msgid "Show Name & Value" msgstr "Show Name & Value" #: gschem/src/x_attribedit.c:441 msgid "Attach Options" msgstr "Attach Options" #: gschem/src/x_attribedit.c:456 msgid "All" msgstr "All" #: gschem/src/x_attribedit.c:464 gschem/src/x_compselect.c:922 #: gschem/src/x_compselect.c:1036 msgid "Components" msgstr "Components" #: gschem/src/x_attribedit.c:472 gschem/src/x_window.c:369 msgid "Nets" msgstr "Nets" #: gschem/src/x_attribedit.c:480 msgid "Replace existing attributes" msgstr "Replace existing attributes" #: gschem/src/x_autonumber.c:415 msgid "" "slotted object without slot attribute may cause problems when autonumbering " "slots\n" msgstr "" "slotted object without slot attribute may cause problems when autonumbering " "slots\n" #: gschem/src/x_autonumber.c:430 #, c-format msgid "" "duplicate slot may cause problems: [symbolname=%s, number=%d, slot=%d]\n" msgstr "" "duplicate slot may cause problems: [symbolname=%s, number=%d, slot=%d]\n" #: gschem/src/x_autonumber.c:672 msgid "No searchstring given in autonumber text.\n" msgstr "No searchstring given in autonumber text.\n" #: gschem/src/x_autonumber.c:724 msgid "No '*' or '?' given at the end of the autonumber text.\n" msgstr "No '*' or '?' given at the end of the autonumber text.\n" #: gschem/src/x_autonumber.c:859 msgid "Diagonal" msgstr "Diagonal" #: gschem/src/x_autonumber.c:860 msgid "Top to bottom" msgstr "Top to bottom" #: gschem/src/x_autonumber.c:860 msgid "Bottom to top" msgstr "Bottom to top" #: gschem/src/x_autonumber.c:861 msgid "Left to right" msgstr "Left to right" #: gschem/src/x_autonumber.c:861 msgid "Right to left" msgstr "Right to left" #: gschem/src/x_autonumber.c:862 msgid "File order" msgstr "File order" #: gschem/src/x_autonumber.c:1198 msgid "Autonumber text" msgstr "Autonumber text" #: gschem/src/x_autonumber.c:1222 msgid "Scope" msgstr "Scope" #: gschem/src/x_autonumber.c:1244 msgid "Search for:" msgstr "Search for:" #: gschem/src/x_autonumber.c:1258 msgid "Autonumber text in:" msgstr "Autonumber text in:" #: gschem/src/x_autonumber.c:1265 msgid "Skip numbers found in:" msgstr "Skip numbers found in:" #: gschem/src/x_autonumber.c:1277 gschem/src/x_autonumber.c:1286 msgid "Selected objects" msgstr "Selected objects" #: gschem/src/x_autonumber.c:1278 gschem/src/x_autonumber.c:1287 msgid "Current page" msgstr "Current page" #: gschem/src/x_autonumber.c:1279 gschem/src/x_autonumber.c:1288 msgid "Whole hierarchy" msgstr "Whole hierarchy" #: gschem/src/x_autonumber.c:1290 msgid "Overwrite existing numbers" msgstr "Overwrite existing numbers" #: gschem/src/x_autonumber.c:1295 msgid "Options" msgstr "Options" #: gschem/src/x_autonumber.c:1317 msgid "Starting number:" msgstr "Starting number:" #: gschem/src/x_autonumber.c:1324 msgid "Sort order:" msgstr "Sort order:" #: gschem/src/x_autonumber.c:1345 msgid "Remove numbers" msgstr "Remove numbers" #: gschem/src/x_autonumber.c:1349 msgid "Automatic slotting" msgstr "Automatic slotting" #: gschem/src/x_clipboard.c:249 #, c-format msgid "" "Invalid schematic on clipboard.\n" "\n" "An error occurred while inserting clipboard data: %s." msgstr "" "Invalid schematic on clipboard.\n" "\n" "An error occurred while inserting clipboard data: %s." #: gschem/src/x_clipboard.c:251 msgid "Clipboard insertion failed" msgstr "Clipboard insertion failed" #: gschem/src/x_color.c:94 gschem/src/x_color.c:103 #, c-format msgid "Could not allocate the color %s!\n" msgstr "Could not allocate the colour %s!\n" #: gschem/src/x_color.c:94 msgid "black" msgstr "black" #: gschem/src/x_color.c:103 msgid "white" msgstr "white" #: gschem/src/x_color.c:125 #, c-format msgid "Could not allocate display color %i!\n" msgstr "Could not allocate display colour %i!\n" #: gschem/src/x_color.c:147 #, c-format msgid "Could not allocate outline color %i!\n" msgstr "Could not allocate outline colour %i!\n" #: gschem/src/x_color.c:164 gschem/src/x_color.c:181 gschem/src/x_color.c:197 #, c-format msgid "Tried to get an invalid color: %d\n" msgstr "Tried to get an invalid colour: %d\n" #: gschem/src/x_color.c:214 #, c-format msgid "Tried to get an invalid outline color: %d\n" msgstr "Tried to get an invalid outline colour: %d\n" #: gschem/src/x_compselect.c:1066 msgid "Filter:" msgstr "Filter:" #: gschem/src/x_compselect.c:1169 gschem/src/x_dialog.c:3653 #: gschem/src/x_multiattrib.c:1839 msgid "Name" msgstr "Name" #: gschem/src/x_compselect.c:1178 gschem/src/x_multiattrib.c:1863 msgid "Value" msgstr "Value" #: gschem/src/x_compselect.c:1217 msgid "Default behavior - reference component" msgstr "Default behavior - reference component" #: gschem/src/x_compselect.c:1220 msgid "Embed component in schematic" msgstr "Embed component in schematic" #: gschem/src/x_compselect.c:1223 msgid "Include component as individual objects" msgstr "Include component as individual objects" #: gschem/src/x_compselect.c:1380 msgid "Select Component..." msgstr "Select Component..." #: gschem/src/x_compselect.c:1403 msgid "In Use" msgstr "In Use" #: gschem/src/x_compselect.c:1407 msgid "Libraries" msgstr "Libraries" #: gschem/src/x_compselect.c:1416 gschem/src/x_fileselect.c:122 msgid "Preview" msgstr "Preview" #: gschem/src/x_compselect.c:1444 msgid "Attributes" msgstr "Attributes" #: gschem/src/x_dialog.c:176 msgid "Text Entry..." msgstr "Text Entry..." #: gschem/src/x_dialog.c:207 msgid "" "Enter text, click apply,\n" "move cursor into window, click to place text.\n" "Middle button to rotate while placing." msgstr "" "Enter text, click apply,\n" "move cursor into window, click to place text.\n" "Middle button to rotate while placing." #: gschem/src/x_dialog.c:301 msgid "Upper Left" msgstr "Upper Left" #: gschem/src/x_dialog.c:304 msgid "Upper Middle" msgstr "Upper Middle" #: gschem/src/x_dialog.c:307 msgid "Upper Right" msgstr "Upper Right" #: gschem/src/x_dialog.c:311 msgid "Middle Left" msgstr "Middle Left" #: gschem/src/x_dialog.c:314 msgid "Middle Middle" msgstr "Middle Middle" #: gschem/src/x_dialog.c:317 msgid "Middle Right" msgstr "Middle Right" #: gschem/src/x_dialog.c:321 msgid "Lower Left" msgstr "Lower Left" #: gschem/src/x_dialog.c:324 msgid "Lower Middle" msgstr "Lower Middle" #: gschem/src/x_dialog.c:327 msgid "Lower Right" msgstr "Lower Right" #: gschem/src/x_dialog.c:438 msgid "Edit Text Properties" msgstr "Edit Text Properties" #: gschem/src/x_dialog.c:473 msgid "Text Content" msgstr "Text Content" #: gschem/src/x_dialog.c:509 msgid "Text Properties" msgstr "Text Properties" #: gschem/src/x_dialog.c:524 msgid "Color:" msgstr "Colour:" #: gschem/src/x_dialog.c:531 msgid "Size:" msgstr "Size:" #: gschem/src/x_dialog.c:540 msgid "Alignment:" msgstr "Alignment:" #: gschem/src/x_dialog.c:589 msgid "Solid" msgstr "Solid" #: gschem/src/x_dialog.c:590 msgid "Dotted" msgstr "Dotted" #: gschem/src/x_dialog.c:591 msgid "Dashed" msgstr "Dashed" #: gschem/src/x_dialog.c:592 msgid "Center" msgstr "Center" #: gschem/src/x_dialog.c:593 msgid "Phantom" msgstr "Phantom" #: gschem/src/x_dialog.c:594 gschem/src/x_dialog.c:691 #: gschem/src/x_dialog.c:700 gschem/src/x_dialog.c:709 #: gschem/src/x_dialog.c:810 gschem/src/x_dialog.c:813 #: gschem/src/x_dialog.c:816 gschem/src/x_dialog.c:1043 #: gschem/src/x_dialog.c:1146 gschem/src/x_dialog.c:1155 #: gschem/src/x_dialog.c:1164 gschem/src/x_dialog.c:1173 #: gschem/src/x_dialog.c:1182 gschem/src/x_dialog.c:1295 #: gschem/src/x_dialog.c:1298 gschem/src/x_dialog.c:1301 #: gschem/src/x_dialog.c:1304 gschem/src/x_dialog.c:1307 msgid "*unchanged*" msgstr "*unchanged*" #: gschem/src/x_dialog.c:921 msgid "Edit Line Width & Type" msgstr "Edit Line Width & Type" #: gschem/src/x_dialog.c:960 gschem/src/x_print.c:307 msgid "Type:" msgstr "Type:" #: gschem/src/x_dialog.c:964 msgid "Width:" msgstr "Width:" #: gschem/src/x_dialog.c:968 msgid "Dash Length:" msgstr "Dash Length:" #: gschem/src/x_dialog.c:972 msgid "Dash Space:" msgstr "Dash Space:" #: gschem/src/x_dialog.c:1039 msgid "Hollow" msgstr "Hollow" #: gschem/src/x_dialog.c:1040 msgid "Filled" msgstr "Filled" #: gschem/src/x_dialog.c:1041 msgid "Mesh" msgstr "Mesh" #: gschem/src/x_dialog.c:1042 msgid "Hatch" msgstr "Hatch" #: gschem/src/x_dialog.c:1416 msgid "Edit Fill Type" msgstr "Edit Fill Type" #: gschem/src/x_dialog.c:1455 msgid "Fill Type:" msgstr "Fill Type:" #: gschem/src/x_dialog.c:1459 msgid "Line Width:" msgstr "Line Width:" #: gschem/src/x_dialog.c:1463 msgid "Angle 1:" msgstr "Angle 1:" #: gschem/src/x_dialog.c:1467 msgid "Pitch 1:" msgstr "Pitch 1:" #: gschem/src/x_dialog.c:1471 msgid "Angle 2:" msgstr "Angle 2:" #: gschem/src/x_dialog.c:1475 msgid "Pitch 2:" msgstr "Pitch 2:" #: gschem/src/x_dialog.c:1602 msgid "Arc Params" msgstr "Arc Params" #: gschem/src/x_dialog.c:1643 msgid "Arc Radius:" msgstr "Arc Radius:" #: gschem/src/x_dialog.c:1651 msgid "Start Angle:" msgstr "Start Angle:" #: gschem/src/x_dialog.c:1659 msgid "Degrees of Sweep:" msgstr "Degrees of Sweep:" #: gschem/src/x_dialog.c:1777 msgid "" "Offset to translate?\n" "(0 for origin)" msgstr "" "Offset to translate?\n" "(0 for origin)" #: gschem/src/x_dialog.c:1845 msgid "Text Size" msgstr "Text Size" #: gschem/src/x_dialog.c:1875 msgid "Enter new text size:" msgstr "Enter new text size:" #: gschem/src/x_dialog.c:1951 msgid "Snap Size" msgstr "Snap Size" #: gschem/src/x_dialog.c:1981 msgid "Enter new snap grid spacing:" msgstr "Enter new snap grid spacing:" #: gschem/src/x_dialog.c:2058 msgid "Edit slot number" msgstr "Edit slot number" #: gschem/src/x_dialog.c:2089 msgid "Edit slot number:" msgstr "Edit slot number:" #: gschem/src/x_dialog.c:2130 #, c-format msgid "%s (g%.7s)" msgstr "%s (g%.7s)" #: gschem/src/x_dialog.c:2151 msgid "About gschem" msgstr "About gschem" #: gschem/src/x_dialog.c:2152 msgid "gEDA: GPL Electronic Design Automation" msgstr "gEDA: GPL Electronic Design Automation" #. TRANSLATORS: "ChangeLog" is a literal filename; please don't translate it. #: gschem/src/x_dialog.c:2155 msgid "" "Copyright © 1998-2012 Ales Hvezda \n" "Copyright © 1998-2012 gEDA Contributors (see ChangeLog for details)" msgstr "" "Copyright © 1998-2012 Ales Hvezda \n" "Copyright © 1998-2012 gEDA Contributors (see ChangeLog for details)" #: gschem/src/x_dialog.c:2214 msgid "Coords" msgstr "Coords" #: gschem/src/x_dialog.c:2235 msgid "Screen" msgstr "Screen" #: gschem/src/x_dialog.c:2244 msgid "World" msgstr "World" #: gschem/src/x_dialog.c:2283 msgid "Background" msgstr "Background" #: gschem/src/x_dialog.c:2289 msgid "Net endpoint" msgstr "Net endpoint" #: gschem/src/x_dialog.c:2292 msgid "Graphic" msgstr "Graphic" #: gschem/src/x_dialog.c:2301 msgid "Logic bubble" msgstr "Logic bubble" #: gschem/src/x_dialog.c:2304 msgid "Grid point" msgstr "Grid point" #: gschem/src/x_dialog.c:2307 msgid "Detached attribute" msgstr "Detached attribute" #: gschem/src/x_dialog.c:2310 gschem/src/x_window.c:387 msgid "Text" msgstr "Text" #: gschem/src/x_dialog.c:2316 msgid "Selection" msgstr "Selection" #: gschem/src/x_dialog.c:2319 msgid "Bounding box" msgstr "Bounding box" #: gschem/src/x_dialog.c:2322 msgid "Zoom box" msgstr "Zoom box" #: gschem/src/x_dialog.c:2331 msgid "Output background" msgstr "Output background" #: gschem/src/x_dialog.c:2334 msgid "Net junction" msgstr "Net junction" #: gschem/src/x_dialog.c:2337 msgid "Mesh grid major" msgstr "Mesh grid major" #: gschem/src/x_dialog.c:2340 msgid "Mesh grid minor" msgstr "Mesh grid minor" #: gschem/src/x_dialog.c:2343 msgid "Unknown" msgstr "Unknown" #: gschem/src/x_dialog.c:2494 #, c-format msgid "ERROR: NULL object in color_edit_dialog_apply!\n" msgstr "ERROR: NULL object in color_edit_dialog_apply!\n" #: gschem/src/x_dialog.c:2538 msgid "Color Edit" msgstr "Colour Edit" #: gschem/src/x_dialog.c:2569 msgid "Object color:" msgstr "Object colour:" #: gschem/src/x_dialog.c:2622 msgid "Hotkeys" msgstr "Hotkeys" #: gschem/src/x_dialog.c:2662 msgid "Function" msgstr "Function" #: gschem/src/x_dialog.c:2669 msgid "Keystroke(s)" msgstr "Keystroke(s)" #: gschem/src/x_dialog.c:2977 msgid "Find Text" msgstr "Find Text" #: gschem/src/x_dialog.c:3008 msgid "Text to find:" msgstr "Text to find:" #: gschem/src/x_dialog.c:3018 msgid "descend into hierarchy" msgstr "descend into hierarchy" #: gschem/src/x_dialog.c:3084 msgid "Hide Text" msgstr "Hide Text" #: gschem/src/x_dialog.c:3115 msgid "Hide text starting with:" msgstr "Hide text starting with:" #: gschem/src/x_dialog.c:3185 msgid "Show Text" msgstr "Show Text" #: gschem/src/x_dialog.c:3216 msgid "Show text starting with:" msgstr "Show text starting with:" #: gschem/src/x_dialog.c:3675 msgid "S_elect the schematics you want to save:" msgstr "S_elect the schematics you want to save:" #: gschem/src/x_dialog.c:3770 #, c-format msgid "Save the changes to schematic \"%s\" before closing?" msgstr "Save the changes to schematic \"%s\" before closing?" #: gschem/src/x_dialog.c:3776 #, c-format msgid "" "There are %d schematics with unsaved changes. Save changes before closing?" msgstr "" "There are %d schematics with unsaved changes. Save changes before closing?" #: gschem/src/x_dialog.c:3805 msgid "If you don't save, all your changes will be permanently lost." msgstr "If you don't save, all your changes will be permanently lost." #: gschem/src/x_dialog.c:3825 msgid "_Close without saving" msgstr "_Close without saving" #: gschem/src/x_dialog.c:4161 #, c-format msgid "" "The input attribute \"%s\" is invalid\n" "Please correct in order to continue\n" "\n" "The name and value must be non-empty.\n" "The name cannot end with a space.\n" "The value cannot start with a space." msgstr "" "The input attribute \"%s\" is invalid\n" "Please correct in order to continue\n" "\n" "The name and value must be non-empty.\n" "The name cannot end with a space.\n" "The value cannot start with a space." #: gschem/src/x_dialog.c:4163 msgid "Invalid Attribute" msgstr "Invalid Attribute" #: gschem/src/x_dialog.c:4199 msgid "Pin type" msgstr "Pin type" #: gschem/src/x_dialog.c:4223 msgid "Net pin" msgstr "Net pin" #: gschem/src/x_dialog.c:4225 msgid "Bus pin (graphical)" msgstr "Bus pin (graphical)" #: gschem/src/x_fileselect.c:42 msgid "Schematics" msgstr "Schematics" #: gschem/src/x_fileselect.c:47 msgid "Symbols" msgstr "Symbols" #: gschem/src/x_fileselect.c:52 msgid "Schematics and symbols" msgstr "Schematics and symbols" #: gschem/src/x_fileselect.c:58 msgid "All files" msgstr "All files" #: gschem/src/x_fileselect.c:171 msgid "Open..." msgstr "Open..." #: gschem/src/x_fileselect.c:231 msgid "Save as..." msgstr "Save as..." #: gschem/src/x_fileselect.c:284 #, c-format msgid "" "The selected file `%s' already exists.\n" "\n" "Would you like to overwrite it?" msgstr "" "The selected file `%s' already exists.\n" "\n" "Would you like to overwrite it?" #: gschem/src/x_fileselect.c:287 msgid "Overwrite file?" msgstr "Overwrite file?" #: gschem/src/x_fileselect.c:289 msgid "Save cancelled on user request\n" msgstr "Save cancelled on user request\n" #: gschem/src/x_image.c:176 msgid "Encapsulated Postscript" msgstr "Encapsulated Postscript" #: gschem/src/x_image.c:296 #, c-format msgid "x_image_lowlevel: Unable to write eps file %s.\n" msgstr "x_image_lowlevel: Unable to write eps file %s.\n" #: gschem/src/x_image.c:374 #, c-format msgid "x_image_lowlevel: Unable to write %s file %s.\n" msgstr "x_image_lowlevel: Unable to write %s file %s.\n" #: gschem/src/x_image.c:384 #, c-format msgid "" "There was the following error when saving image with type %s to filename:\n" "%s\n" "\n" "%s.\n" msgstr "" "There was the following error when saving image with type %s to filename:\n" "%s\n" "\n" "%s.\n" #: gschem/src/x_image.c:403 #, c-format msgid "Wrote color image to [%s] [%d x %d]\n" msgstr "Wrote colour image to [%s] [%d x %d]\n" #: gschem/src/x_image.c:405 #, c-format msgid "Wrote black and white image to [%s] [%d x %d]\n" msgstr "Wrote black and white image to [%s] [%d x %d]\n" #: gschem/src/x_image.c:413 msgid "x_image_lowlevel: Unable to get pixbuf from gschem's window.\n" msgstr "x_image_lowlevel: Unable to get pixbuf from gschem's window.\n" #: gschem/src/x_image.c:458 msgid "Width x Height" msgstr "Width x Height" #: gschem/src/x_image.c:474 msgid "Image type" msgstr "Image type" #: gschem/src/x_image.c:495 msgid "Write image..." msgstr "Write image..." #: gschem/src/x_log.c:209 msgid "** Invalid UTF-8 in log message. See stderr or gschem.log.\n" msgstr "** Invalid UTF-8 in log message. See stderr or gschem.log.\n" #: gschem/src/x_log.c:288 msgid "Status" msgstr "Status" #: gschem/src/x_menus.c:37 msgid "/Add Net" msgstr "/Add Net" #: gschem/src/x_menus.c:38 msgid "/Add Attribute..." msgstr "/Add Attribute..." #: gschem/src/x_menus.c:39 msgid "/Add Component..." msgstr "/Add Component..." #: gschem/src/x_menus.c:40 msgid "/Add Bus" msgstr "/Add Bus" #: gschem/src/x_menus.c:41 msgid "/Add Text" msgstr "/Add Text" #: gschem/src/x_menus.c:43 msgid "/Zoom In" msgstr "/Zoom In" #: gschem/src/x_menus.c:44 msgid "/Zoom Out" msgstr "/Zoom Out" #: gschem/src/x_menus.c:45 msgid "/Zoom Box" msgstr "/Zoom Box" #: gschem/src/x_menus.c:46 msgid "/Zoom Extents" msgstr "/Zoom Extents" #: gschem/src/x_menus.c:48 msgid "/Select" msgstr "/Select" #: gschem/src/x_menus.c:49 msgid "/Edit..." msgstr "/Edit..." #: gschem/src/x_menus.c:50 msgid "/Edit pin type..." msgstr "/Edit pin type..." #: gschem/src/x_menus.c:51 msgid "/Copy" msgstr "/Copy" #: gschem/src/x_menus.c:52 msgid "/Move" msgstr "/Move" #: gschem/src/x_menus.c:53 msgid "/Delete" msgstr "/Delete" #: gschem/src/x_menus.c:56 msgid "/Down Schematic" msgstr "/Down Schematic" #: gschem/src/x_menus.c:57 msgid "/Down Symbol" msgstr "/Down Symbol" #: gschem/src/x_menus.c:58 msgid "/Up" msgstr "/Up" #: gschem/src/x_menus.c:348 #, c-format msgid "Tried to set the sensitivity on non-existent menu item '%s'\n" msgstr "Tried to set the sensitivity on non-existent menu item '%s'\n" #: gschem/src/x_menus.c:372 msgid "Popup_menu_item_factory doesn't exist!\n" msgstr "Popup_menu_item_factory doesn't exist!\n" #: gschem/src/x_menus.c:385 msgid "Tried to set the sensitivity on a non-existent popup menu_item\n" msgstr "Tried to set the sensitivity on a non-existent popup menu_item\n" #: gschem/src/x_misc.c:74 msgid "The operating system is out of memory or resources." msgstr "The operating system is out of memory or resources." #: gschem/src/x_misc.c:155 #, c-format msgid "%s failed to launch URI" msgstr "%s failed to launch URI" #: gschem/src/x_multiattrib.c:961 msgid "Attributes with empty name are not allowed. Please set a name." msgstr "Attributes with empty name are not allowed. Please set a name." #: gschem/src/x_multiattrib.c:1514 msgid "Show Value only" msgstr "Show Value only" #: gschem/src/x_multiattrib.c:1516 msgid "Show Name only" msgstr "Show Name only" #: gschem/src/x_multiattrib.c:1544 msgid "Promote" msgstr "Promote" #: gschem/src/x_multiattrib.c:1548 msgid "Duplicate" msgstr "Duplicate" #: gschem/src/x_multiattrib.c:1765 msgid "Edit Attributes" msgstr "Edit Attributes" #: gschem/src/x_multiattrib.c:1883 msgid "Vis?" msgstr "Vis?" #: gschem/src/x_multiattrib.c:1901 msgid "N" msgstr "N" #: gschem/src/x_multiattrib.c:1919 msgid "V" msgstr "V" #: gschem/src/x_multiattrib.c:1941 msgid "Show inherited attributes" msgstr "Show inherited attributes" #: gschem/src/x_multiattrib.c:1957 msgid "Add Attribute" msgstr "Add Attribute" #: gschem/src/x_pagesel.c:246 msgid "New Page" msgstr "New Page" #: gschem/src/x_pagesel.c:247 msgid "Open Page..." msgstr "Open Page..." #: gschem/src/x_pagesel.c:249 msgid "Save Page" msgstr "Save Page" #: gschem/src/x_pagesel.c:250 msgid "Close Page" msgstr "Close Page" #: gschem/src/x_pagesel.c:251 msgid "Discard Page" msgstr "Discard Page" #: gschem/src/x_pagesel.c:369 msgid "Page Manager" msgstr "Page Manager" #: gschem/src/x_pagesel.c:425 msgid "Filename" msgstr "Filename" #: gschem/src/x_pagesel.c:441 msgid "Changed" msgstr "Changed" #: gschem/src/x_pagesel.c:461 msgid "Right click on the filename for more options..." msgstr "Right click on the filename for more options..." #: gschem/src/x_preview.c:231 msgid "Preview Buffer" msgstr "Preview Buffer" #: gschem/src/x_print.c:84 msgid "Select PostScript Filename..." msgstr "Select PostScript Filename..." #: gschem/src/x_print.c:164 msgid "Extents with margins" msgstr "Extents with margins" #: gschem/src/x_print.c:170 msgid "Extents no margins" msgstr "Extents no margins" #: gschem/src/x_print.c:176 msgid "Current Window" msgstr "Current Window" #: gschem/src/x_print.c:210 msgid "Landscape" msgstr "Landscape" #: gschem/src/x_print.c:216 msgid "Portrait" msgstr "Portrait" #: gschem/src/x_print.c:276 msgid "Print..." msgstr "Print..." #: gschem/src/x_print.c:284 msgid "Settings" msgstr "Settings" #: gschem/src/x_print.c:296 msgid "Output paper size:" msgstr "Output paper size:" #: gschem/src/x_print.c:318 msgid "Orientation:" msgstr "Orientation:" #: gschem/src/x_print.c:330 msgid "Destination" msgstr "Destination" #: gschem/src/x_print.c:343 msgid "File:" msgstr "File:" #: gschem/src/x_print.c:373 msgid "Command:" msgstr "Command:" #: gschem/src/x_print.c:745 msgid "No print destination specified\n" msgstr "No print destination specified\n" #: gschem/src/x_print.c:752 #, c-format msgid "Cannot print current schematic to [%s]\n" msgstr "Cannot print current schematic to [%s]\n" #: gschem/src/x_print.c:761 #, c-format msgid "" "Error printing to file '%s'\n" "Check the log window for more information" msgstr "" "Error printing to file '%s'\n" "Check the log window for more information" #: gschem/src/x_print.c:768 #, c-format msgid "Printed current schematic to [%s]\n" msgstr "Printed current schematic to [%s]\n" #: gschem/src/x_rc.c:40 msgid "ERROR: An unknown error occurred while parsing configuration files.\n" msgstr "ERROR: An unknown error occurred while parsing configuration files.\n" #: gschem/src/x_rc.c:45 msgid "" "An unknown error occurred while parsing configuration files.\n" "\n" "The gschem log may contain more information." msgstr "" "An unknown error occurred while parsing configuration files.\n" "\n" "The gschem log may contain more information." #: gschem/src/x_rc.c:57 #, c-format msgid "ERROR: %s\n" msgstr "ERROR: %s\n" #: gschem/src/x_rc.c:60 #, c-format msgid "" "%s\n" "\n" "The gschem log may contain more information." msgstr "" "%s\n" "\n" "The gschem log may contain more information." #: gschem/src/x_rc.c:68 msgid "Cannot load gschem configuration." msgstr "Cannot load gschem configuration." #: gschem/src/x_script.c:47 gschem/lib/system-gschemrc.scm:1381 msgid "Execute Script..." msgstr "Execute Script..." #: gschem/src/x_script.c:66 #, c-format msgid "Executing guile script [%s]\n" msgstr "Executing guile script [%s]\n" #: gschem/src/x_window.c:82 #, c-format msgid "Couldn't allocate gc\n" msgstr "Couldn't allocate gc\n" #: gschem/src/x_window.c:321 msgid "New" msgstr "New" #: gschem/src/x_window.c:322 msgid "New file" msgstr "New file" #: gschem/src/x_window.c:328 msgid "Open" msgstr "Open" #: gschem/src/x_window.c:329 msgid "Open file..." msgstr "Open file..." #: gschem/src/x_window.c:335 msgid "Save" msgstr "Save" #: gschem/src/x_window.c:336 msgid "Save file" msgstr "Save file" #: gschem/src/x_window.c:343 msgid "Undo" msgstr "Undo" #: gschem/src/x_window.c:344 msgid "Undo last operation" msgstr "Undo last operation" #: gschem/src/x_window.c:350 msgid "Redo" msgstr "Redo" #: gschem/src/x_window.c:351 msgid "Redo last undo" msgstr "Redo last undo" #: gschem/src/x_window.c:360 msgid "" "Add component...\n" "Select library and component from list, move the mouse into main window, " "click to place\n" "Right mouse button to cancel" msgstr "" "Add component...\n" "Select library and component from list, move the mouse into main window, " "click to place\n" "Right mouse button to cancel" #: gschem/src/x_window.c:370 msgid "" "Add nets mode\n" "Right mouse button to cancel" msgstr "" "Add nets mode\n" "Right mouse button to cancel" #: gschem/src/x_window.c:380 msgid "" "Add buses mode\n" "Right mouse button to cancel" msgstr "" "Add buses mode\n" "Right mouse button to cancel" #: gschem/src/x_window.c:388 msgid "Add Text..." msgstr "Add Text..." #: gschem/src/x_window.c:398 msgid "Select" msgstr "Select" #: gschem/src/x_window.c:399 msgid "Select mode" msgstr "Select mode" #: gschem/src/x_window.c:465 msgid "Evaluate:" msgstr "Evaluate:" #: gschem/src/x_window.c:484 msgid "Pick" msgstr "Pick" #: gschem/src/x_window.c:500 msgid "Repeat/none" msgstr "Repeat/none" #: gschem/src/x_window.c:510 msgid "Menu/Cancel" msgstr "Menu/Cancel" #: gschem/src/x_window.c:512 msgid "Pan/Cancel" msgstr "Pan/Cancel" #: gschem/src/x_window.c:737 #, c-format msgid "Loading schematic [%s]\n" msgstr "Loading schematic [%s]\n" #: gschem/src/x_window.c:748 #, c-format msgid "" "An error occurred while loading the requested file.\n" "\n" "Loading from '%s' failed: %s. The gschem log may contain more information." msgstr "" "An error occurred while loading the requested file.\n" "\n" "Loading from '%s' failed: %s. The gschem log may contain more information." #: gschem/src/x_window.c:750 msgid "Failed to load file" msgstr "Failed to load file" #: gschem/src/x_window.c:759 #, c-format msgid "New file [%s]\n" msgstr "New file [%s]\n" #: gschem/src/x_window.c:862 #, c-format msgid "Could NOT save page [%s]\n" msgstr "Could NOT save page [%s]\n" #: gschem/src/x_window.c:863 msgid "Error while trying to save" msgstr "Error while trying to save" #: gschem/src/x_window.c:873 msgid "Failed to save file" msgstr "Failed to save file" #: gschem/src/x_window.c:884 #, c-format msgid "Saved as [%s]\n" msgstr "Saved as [%s]\n" #: gschem/src/x_window.c:886 #, c-format msgid "Saved [%s]\n" msgstr "Saved [%s]\n" #: gschem/src/x_window.c:888 msgid "Saved" msgstr "Saved" #: gschem/src/x_window.c:962 #, c-format msgid "Discarding page [%s]\n" msgstr "Discarding page [%s]\n" #: gschem/src/x_window.c:962 #, c-format msgid "Closing [%s]\n" msgstr "Closing [%s]\n" #: gschem/data/geda-gschem.desktop.in:3 msgid "gEDA Schematic Editor" msgstr "gEDA Schematic Editor" #: gschem/data/geda-gschem.desktop.in:4 msgid "Create and edit electrical schematics and symbols with gschem" msgstr "Create and edit electrical schematics and symbols with gschem" #: gschem/lib/system-gschemrc.scm:1368 msgid "_New" msgstr "_New" #: gschem/lib/system-gschemrc.scm:1369 msgid "_Open..." msgstr "_Open..." #: gschem/lib/system-gschemrc.scm:1371 msgid "Open Recen_t" msgstr "Open Recen_t" #: gschem/lib/system-gschemrc.scm:1373 msgid "_Save" msgstr "_Save" #: gschem/lib/system-gschemrc.scm:1374 msgid "Save _As..." msgstr "Save _As..." #: gschem/lib/system-gschemrc.scm:1375 msgid "Save All" msgstr "Save All" #: gschem/lib/system-gschemrc.scm:1376 gschem/lib/system-gschemrc.scm:1469 msgid "_Revert" msgstr "_Revert" #: gschem/lib/system-gschemrc.scm:1378 msgid "_Print..." msgstr "_Print..." #: gschem/lib/system-gschemrc.scm:1379 msgid "Write _image..." msgstr "Write _image..." #: gschem/lib/system-gschemrc.scm:1383 msgid "New Window" msgstr "New Window" #: gschem/lib/system-gschemrc.scm:1384 msgid "_Close Window" msgstr "_Close Window" #: gschem/lib/system-gschemrc.scm:1385 msgid "_Quit" msgstr "_Quit" #: gschem/lib/system-gschemrc.scm:1391 msgid "_Undo" msgstr "_Undo" #: gschem/lib/system-gschemrc.scm:1392 msgid "_Redo" msgstr "_Redo" #: gschem/lib/system-gschemrc.scm:1394 msgid "Cu_t" msgstr "Cu_t" #: gschem/lib/system-gschemrc.scm:1395 msgid "_Copy" msgstr "_Copy" #: gschem/lib/system-gschemrc.scm:1396 msgid "_Paste" msgstr "_Paste" #: gschem/lib/system-gschemrc.scm:1397 msgid "_Delete" msgstr "_Delete" #: gschem/lib/system-gschemrc.scm:1400 msgid "Select All" msgstr "Select All" #: gschem/lib/system-gschemrc.scm:1401 msgid "Deselect" msgstr "Deselect" #: gschem/lib/system-gschemrc.scm:1405 msgid "Rotate 90 Mode" msgstr "Rotate 90 Mode" #: gschem/lib/system-gschemrc.scm:1408 msgid "Edit..." msgstr "Edit..." #: gschem/lib/system-gschemrc.scm:1409 msgid "Edit Text..." msgstr "Edit Text..." #: gschem/lib/system-gschemrc.scm:1410 msgid "Slot..." msgstr "Slot..." #: gschem/lib/system-gschemrc.scm:1411 msgid "Color..." msgstr "Colour..." #: gschem/lib/system-gschemrc.scm:1412 msgid "Line Width & Type..." msgstr "Line Width & Type..." #: gschem/lib/system-gschemrc.scm:1413 msgid "Fill Type..." msgstr "Fill Type..." #: gschem/lib/system-gschemrc.scm:1414 msgid "Symbol Translate..." msgstr "Symbol Translate..." #: gschem/lib/system-gschemrc.scm:1418 msgid "Invoke Macro" msgstr "Invoke Macro" #: gschem/lib/system-gschemrc.scm:1419 msgid "Embed Component/Picture" msgstr "Embed Component/Picture" #: gschem/lib/system-gschemrc.scm:1420 msgid "Unembed Component/Picture" msgstr "Unembed Component/Picture" #: gschem/lib/system-gschemrc.scm:1421 msgid "Update Component" msgstr "Update Component" #: gschem/lib/system-gschemrc.scm:1422 msgid "Show/Hide Inv Text" msgstr "Show/Hide Inv Text" #: gschem/lib/system-gschemrc.scm:1428 msgid "Copy into 1" msgstr "Copy into 1" #: gschem/lib/system-gschemrc.scm:1429 msgid "Copy into 2" msgstr "Copy into 2" #: gschem/lib/system-gschemrc.scm:1430 msgid "Copy into 3" msgstr "Copy into 3" #: gschem/lib/system-gschemrc.scm:1431 msgid "Copy into 4" msgstr "Copy into 4" #: gschem/lib/system-gschemrc.scm:1432 msgid "Copy into 5" msgstr "Copy into 5" #: gschem/lib/system-gschemrc.scm:1433 msgid "Cut into 1" msgstr "Cut into 1" #: gschem/lib/system-gschemrc.scm:1434 msgid "Cut into 2" msgstr "Cut into 2" #: gschem/lib/system-gschemrc.scm:1435 msgid "Cut into 3" msgstr "Cut into 3" #: gschem/lib/system-gschemrc.scm:1436 msgid "Cut into 4" msgstr "Cut into 4" #: gschem/lib/system-gschemrc.scm:1437 msgid "Cut into 5" msgstr "Cut into 5" #: gschem/lib/system-gschemrc.scm:1438 msgid "Paste from 1" msgstr "Paste from 1" #: gschem/lib/system-gschemrc.scm:1439 msgid "Paste from 2" msgstr "Paste from 2" #: gschem/lib/system-gschemrc.scm:1440 msgid "Paste from 3" msgstr "Paste from 3" #: gschem/lib/system-gschemrc.scm:1441 msgid "Paste from 4" msgstr "Paste from 4" #: gschem/lib/system-gschemrc.scm:1442 msgid "Paste from 5" msgstr "Paste from 5" #: gschem/lib/system-gschemrc.scm:1448 msgid "_Redraw" msgstr "_Redraw" #: gschem/lib/system-gschemrc.scm:1449 msgid "_Pan" msgstr "_Pan" #: gschem/lib/system-gschemrc.scm:1450 msgid "Zoom _Box" msgstr "Zoom _Box" #: gschem/lib/system-gschemrc.scm:1451 msgid "Zoom _Extents" msgstr "Zoom _Extents" #: gschem/lib/system-gschemrc.scm:1452 msgid "Zoom _In" msgstr "Zoom _In" #: gschem/lib/system-gschemrc.scm:1453 msgid "Zoom _Out" msgstr "Zoom _Out" #: gschem/lib/system-gschemrc.scm:1454 msgid "Zoom _Full" msgstr "Zoom _Full" #: gschem/lib/system-gschemrc.scm:1456 msgid "_Dark color scheme" msgstr "_Dark colour scheme" #: gschem/lib/system-gschemrc.scm:1457 msgid "_Light color scheme" msgstr "_Light colour scheme" #: gschem/lib/system-gschemrc.scm:1458 msgid "B_W color scheme" msgstr "B_W color scheme" #: gschem/lib/system-gschemrc.scm:1465 msgid "_Manager..." msgstr "_Manager..." #: gschem/lib/system-gschemrc.scm:1466 msgid "_Previous" msgstr "_Previous" #: gschem/lib/system-gschemrc.scm:1467 msgid "_Next" msgstr "_Next" #: gschem/lib/system-gschemrc.scm:1468 msgid "Ne_w" msgstr "Ne_w" #: gschem/lib/system-gschemrc.scm:1470 msgid "_Close" msgstr "_Close" #: gschem/lib/system-gschemrc.scm:1472 msgid "_Discard" msgstr "_Discard" #: gschem/lib/system-gschemrc.scm:1478 msgid "_Component..." msgstr "_Component..." #: gschem/lib/system-gschemrc.scm:1479 msgid "_Net" msgstr "_Net" #: gschem/lib/system-gschemrc.scm:1480 msgid "B_us" msgstr "B_us" #: gschem/lib/system-gschemrc.scm:1481 msgid "_Attribute..." msgstr "_Attribute..." #: gschem/lib/system-gschemrc.scm:1482 msgid "_Text..." msgstr "_Text..." #: gschem/lib/system-gschemrc.scm:1484 msgid "_Line" msgstr "_Line" #: gschem/lib/system-gschemrc.scm:1485 msgid "_Box" msgstr "_Box" #: gschem/lib/system-gschemrc.scm:1486 msgid "C_ircle" msgstr "C_ircle" #: gschem/lib/system-gschemrc.scm:1487 msgid "A_rc" msgstr "A_rc" #: gschem/lib/system-gschemrc.scm:1488 msgid "_Pin" msgstr "_Pin" #: gschem/lib/system-gschemrc.scm:1489 msgid "Pictu_re..." msgstr "Pictu_re..." #: gschem/lib/system-gschemrc.scm:1495 msgid "_Down Schematic" msgstr "_Down Schematic" #: gschem/lib/system-gschemrc.scm:1496 msgid "Down _Symbol" msgstr "Down _Symbol" #: gschem/lib/system-gschemrc.scm:1497 msgid "_Up" msgstr "_Up" #: gschem/lib/system-gschemrc.scm:1498 msgid "D_ocumentation..." msgstr "D_ocumentation" #: gschem/lib/system-gschemrc.scm:1504 msgid "_Attach" msgstr "_Attach" #: gschem/lib/system-gschemrc.scm:1505 msgid "_Detach" msgstr "_Detach" #: gschem/lib/system-gschemrc.scm:1506 msgid "Show _Value" msgstr "Show _Value" #: gschem/lib/system-gschemrc.scm:1507 msgid "Show _Name" msgstr "Show _Name" #: gschem/lib/system-gschemrc.scm:1508 msgid "Show _Both" msgstr "Show _Both" #: gschem/lib/system-gschemrc.scm:1509 msgid "_Toggle Visibility" msgstr "_Toggle Visibility" #: gschem/lib/system-gschemrc.scm:1511 msgid "_Find Specific Text..." msgstr "_Find Specific Text..." #: gschem/lib/system-gschemrc.scm:1512 msgid "_Hide Specific Text..." msgstr "_Hide Specific Text..." #: gschem/lib/system-gschemrc.scm:1513 msgid "_Show Specific Text..." msgstr "_Show Specific Text..." #: gschem/lib/system-gschemrc.scm:1514 msgid "A_utonumber Text..." msgstr "A_utonumber Text..." #: gschem/lib/system-gschemrc.scm:1520 msgid "_Text Size..." msgstr "_Text Size..." #: gschem/lib/system-gschemrc.scm:1521 msgid "Cycle _grid styles" msgstr "Cycle _grid styles" #: gschem/lib/system-gschemrc.scm:1522 msgid "Toggle _Snap On/Off" msgstr "Toggle _Snap On/Off" #: gschem/lib/system-gschemrc.scm:1523 msgid "Snap Grid S_pacing..." msgstr "Snap Grid S_pacing..." #: gschem/lib/system-gschemrc.scm:1524 msgid "Scale _up Grid Spacing" msgstr "Scale _up Grid Spacing" #: gschem/lib/system-gschemrc.scm:1526 msgid "Scale _down Grid Spacing" msgstr "Scale _down Grid Spacing" #: gschem/lib/system-gschemrc.scm:1528 msgid "Toggle _Outline/Box" msgstr "Toggle _Outline/Box" #: gschem/lib/system-gschemrc.scm:1530 msgid "Toggle Net _Rubberband" msgstr "Toggle Net _Rubberband" #: gschem/lib/system-gschemrc.scm:1531 msgid "Toggle _Magnetic Net" msgstr "Toggle _Magnetic Net" #: gschem/lib/system-gschemrc.scm:1532 msgid "Show _Log Window..." msgstr "Show _Log Window..." #: gschem/lib/system-gschemrc.scm:1534 msgid "Show _Coord Window..." msgstr "Show _Coord Window..." #: gschem/lib/system-gschemrc.scm:1542 msgid "gEDA Docu_mentation..." msgstr "gEDA Docu_mentation" #: gschem/lib/system-gschemrc.scm:1543 msgid "gschem _FAQ..." msgstr "gschem _FAQ" #: gschem/lib/system-gschemrc.scm:1544 msgid "gEDA _Wiki..." msgstr "gEDA _Wiki..." #: gschem/lib/system-gschemrc.scm:1545 msgid "Component D_ocumentation..." msgstr "Component D_ocumentation" #: gschem/lib/system-gschemrc.scm:1547 msgid "_Hotkeys..." msgstr "_Hotkeys" #: gschem/lib/system-gschemrc.scm:1548 msgid "_About..." msgstr "_About..." #: gschem/lib/system-gschemrc.scm:1554 msgid "_File" msgstr "_File" #: gschem/lib/system-gschemrc.scm:1555 msgid "_Edit" msgstr "_Edit" #: gschem/lib/system-gschemrc.scm:1556 msgid "_Buffer" msgstr "_Buffer" #: gschem/lib/system-gschemrc.scm:1557 msgid "_View" msgstr "_View" #: gschem/lib/system-gschemrc.scm:1558 msgid "_Page" msgstr "_Page" #: gschem/lib/system-gschemrc.scm:1559 msgid "_Add" msgstr "_Add" #: gschem/lib/system-gschemrc.scm:1560 msgid "Hie_rarchy" msgstr "Hie_rarchy" #: gschem/lib/system-gschemrc.scm:1561 msgid "A_ttributes" msgstr "A_ttributes" #: gschem/lib/system-gschemrc.scm:1562 msgid "_Options" msgstr "_Options" #: gschem/lib/system-gschemrc.scm:1563 msgid "_Help" msgstr "_Help" #: gschem/scheme/gschem/deprecated.scm:102 #, scheme-format msgid "Invalid text alignment ~A." msgstr "Invalid text alignment ~A." #: gschem/scheme/gschem/gschemdoc.scm:225 msgid "No documentation found" msgstr "No documentation found" #: gschem/scheme/gschem/keymap.scm:38 #, scheme-format msgid "~S is not a valid key combination." msgstr "~S is not a valid key combination." #: gschem/scheme/gschem/keymap.scm:153 #, scheme-format msgid "~S is not a prefix key sequence." msgstr "~S is not a prefix key sequence." geda-gaf-1.8.2/gschem/po/hu.po0000664000175000017500000015665712220655644012772 00000000000000# Hungarian translation for geda # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-01-27 14:23+0000\n" "Last-Translator: kop \n" "Language-Team: gEDA developers \n" "Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: gschem/src/a_zoom.c:212 msgid "Zoom too small! Cannot zoom further.\n" msgstr "Túl nagy nagyítás! Nem tudok tovább nagyítani.\n" #: gschem/src/g_attrib.c:92 msgid "Object ~A is not included in the current gschem page." msgstr "A ~A objektum nem tálható a jelen gschem lapon." #: gschem/src/g_attrib.c:112 msgid "Invalid text name/value visibility ~A." msgstr "Érvénytelen szöveg név/érték megjelenés ~A." #: gschem/src/g_rc.c:312 #, c-format msgid "Invalid zoomfactor [%d] passed to %s\n" msgstr "Érvénytelen nagyítás arány [%d] %s-nek adva\n" #: gschem/src/g_rc.c:458 #, c-format msgid "Invalid size [%d] passed to text-size\n" msgstr "Érvénytelen méret [%d] szöveg méretként\n" #: gschem/src/g_rc.c:501 #, c-format msgid "Invalid size [%d] passed to snap-size\n" msgstr "Érvénytelen méret [%d] snap méretként\n" #: gschem/src/g_rc.c:958 #, c-format msgid "Invalid num levels [%d] passed to undo-levels\n" msgstr "" #: gschem/src/g_rc.c:1220 #, c-format msgid "Invalid size [%d] passed to bus-ripper-size\n" msgstr "" #: gschem/src/g_rc.c:1295 #, c-format msgid "Invalid dot size [%d] passed to dots-grid-dot-size\n" msgstr "" #: gschem/src/g_rc.c:1336 #, c-format msgid "Invalid pixel spacing [%d] passed to dots-grid-fixed-threshold\n" msgstr "" #: gschem/src/g_rc.c:1362 #, c-format msgid "Invalid pixel spacing [%d] passed to mesh-grid-display-threshold\n" msgstr "" #: gschem/src/g_rc.c:1387 #, c-format msgid "Invalid offset [%d] passed to add-attribute-offset\n" msgstr "" #: gschem/src/g_rc.c:1411 #, c-format msgid "Invalid number of seconds [%d] passed to auto-save-interval\n" msgstr "" #: gschem/src/g_rc.c:1435 #, c-format msgid "Invalid gain [%d] passed to mousepan-gain\n" msgstr "" #: gschem/src/g_rc.c:1458 #, c-format msgid "Invalid gain [%d] passed to keyboardpan-gain\n" msgstr "" #: gschem/src/g_rc.c:1505 #, c-format msgid "Invalid number of pixels [%d] passed to select-slack-pixels\n" msgstr "" #: gschem/src/g_rc.c:1531 #, c-format msgid "Invalid gain [%d] passed to zoom-gain\n" msgstr "" #: gschem/src/g_rc.c:1556 #, c-format msgid "Invalid number of steps [%d] scrollpan-steps\n" msgstr "" #: gschem/src/g_select.c:79 gschem/src/g_select.c:116 #: gschem/src/g_select.c:152 msgid "Object ~A is not directly included in a page." msgstr "" #: gschem/src/g_util.c:56 msgid "Could not launch URI ~S: ~A" msgstr "" #: gschem/src/g_window.c:136 msgid "Found invalid gschem window smob ~S" msgstr "" #: gschem/src/gschem.c:175 #, c-format msgid "gEDA/gschem version %s%s.%s\n" msgstr "gEDA/gschem verzió %s%s.%s\n" #: gschem/src/gschem.c:178 msgid "" "gEDA/gschem comes with ABSOLUTELY NO WARRANTY; see COPYING for more " "details.\n" msgstr "" "A gEDA/gschem NEM RENDELKEZIK SEMMIFÉLE GARANCIÁVAL; olvasd el a COPYING " "fájlt további részletekért\n" #: gschem/src/gschem.c:180 msgid "" "This is free software, and you are welcome to redistribute it under certain\n" msgstr "Ez egy szabad program, bizonyos feltételek mellett szabadon\n" #: gschem/src/gschem.c:182 msgid "" "conditions; please see the COPYING file for more details.\n" "\n" msgstr "" "terjeszthető, olvasd el a COPYING fájt további információkért.\n" "\n" #: gschem/src/gschem.c:185 #, c-format msgid "This is the MINGW32 port.\n" msgstr "Ez a MinGW32 port.\n" #: gschem/src/gschem.c:189 #, c-format msgid "Current locale settings: %s\n" msgstr "Jelenlegi területi beállítás: %s\n" #: gschem/src/gschem.c:211 msgid "" "You must set the GEDADATA environment variable!\n" "\n" "gschem cannot locate its data files. You must set the GEDADATA\n" "environment variable to point to the correct location.\n" msgstr "" #: gschem/src/gschem.c:248 #, c-format msgid "Couldn't find init scm file [%s]\n" msgstr "" #: gschem/src/gschem.c:252 #, c-format msgid "Read init scm file [%s]\n" msgstr "[%s] init scm fájl olvasása.\n" #: gschem/src/gschem.c:256 #, c-format msgid "Failed to read init scm file [%s]\n" msgstr "[%s] init scm fájl olvasása sikertelen.\n" #: gschem/src/gschem_cairo.c:310 #, c-format msgid "Unknown end for line (%d)\n" msgstr "" #: gschem/src/gschem_cairo.c:318 #, c-format msgid "Unknown type for stroke (%d) !\n" msgstr "" #: gschem/src/gschem_pango.c:289 msgid "cairo context" msgstr "" #: gschem/src/gschem_pango.c:290 msgid "the cairo context for the renderer" msgstr "" #: gschem/src/i_basic.c:77 gschem/src/x_window.c:524 #: gschem/lib/system-gschemrc.scm:1399 msgid "Select Mode" msgstr "Kiválasztás mód" #: gschem/src/i_basic.c:79 msgid "Component Mode" msgstr "Alkatrész mód" #: gschem/src/i_basic.c:81 msgid "Text Mode" msgstr "Szövegbeviteli üzemmód" #: gschem/src/i_basic.c:84 gschem/lib/system-gschemrc.scm:1402 msgid "Copy Mode" msgstr "Másolási mód" #: gschem/src/i_basic.c:87 gschem/lib/system-gschemrc.scm:1404 msgid "Move Mode" msgstr "Mozgatási mód" #: gschem/src/i_basic.c:89 msgid "Rotate Mode" msgstr "Forgatás üzemmód" #: gschem/src/i_basic.c:91 gschem/lib/system-gschemrc.scm:1406 msgid "Mirror Mode" msgstr "Tükrözés" #: gschem/src/i_basic.c:95 msgid "Zoom Box" msgstr "Doboz nagyítás" #: gschem/src/i_basic.c:99 msgid "Pan Mode" msgstr "\"Középre\" üzemmód" #: gschem/src/i_basic.c:103 #, c-format msgid "Paste %d Mode" msgstr "Beillesztés %d üzemmód" #: gschem/src/i_basic.c:109 msgid "Magnetic Net Mode" msgstr "" #: gschem/src/i_basic.c:111 msgid "Net Mode" msgstr "Összeköttetés üzemmód" #: gschem/src/i_basic.c:115 msgid "Bus Mode" msgstr "Busz üzemmód" #: gschem/src/i_basic.c:118 msgid "Line Mode" msgstr "Vonal üzemmód" #: gschem/src/i_basic.c:121 msgid "Box Mode" msgstr "Téglalap üzemmód" #: gschem/src/i_basic.c:124 msgid "Picture Mode" msgstr "Kép üzemmód" #: gschem/src/i_basic.c:127 msgid "Circle Mode" msgstr "Kör üzemmód" #: gschem/src/i_basic.c:130 msgid "Arc Mode" msgstr "Ív üzemmód" #: gschem/src/i_basic.c:133 msgid "Pin Mode" msgstr "Alkatrészláb üzemmód" #: gschem/src/i_basic.c:135 gschem/src/i_callbacks.c:529 #: gschem/src/i_callbacks.c:553 msgid "Copy" msgstr "Másolás" #: gschem/src/i_basic.c:137 gschem/src/i_callbacks.c:619 #: gschem/src/i_callbacks.c:643 msgid "Move" msgstr "Mozgatás" #: gschem/src/i_basic.c:139 gschem/src/i_callbacks.c:574 #: gschem/src/i_callbacks.c:598 msgid "Multiple Copy" msgstr "Többszörös másolás" #: gschem/src/i_basic.c:142 gschem/lib/system-gschemrc.scm:1403 msgid "Multiple Copy Mode" msgstr "Többszörös másolás mód" #: gschem/src/i_basic.c:168 msgid "Show Hidden" msgstr "Rejtett megjelenítése" #: gschem/src/i_basic.c:171 msgid "Snap Off" msgstr "" #: gschem/src/i_basic.c:173 msgid "Resnap Active" msgstr "" #: gschem/src/i_basic.c:254 gschem/src/x_window.c:498 msgid "Action" msgstr "Művelet" #: gschem/src/i_basic.c:260 gschem/src/x_dialog.c:2325 #: gschem/src/x_window.c:493 msgid "Stroke" msgstr "" #: gschem/src/i_basic.c:266 gschem/src/x_window.c:495 msgid "none" msgstr "semmi" #: gschem/src/i_basic.c:271 msgid "Repeat/" msgstr "Imétlés/" #: gschem/src/i_basic.c:566 gschem/src/i_basic.c:580 msgid "OFF" msgstr "Ki" #: gschem/src/i_basic.c:584 msgid "NONE" msgstr "" #: gschem/src/i_basic.c:589 #, c-format msgid "Grid(%s, %s)" msgstr "Háló (%s, %s)" #: gschem/src/i_callbacks.c:76 gschem/src/i_callbacks.c:1659 #, c-format msgid "New page created [%s]\n" msgstr "[%s] oldal létrehozva.\n" #: gschem/src/i_callbacks.c:124 #, c-format msgid "New Window created [%s]\n" msgstr "[%s] ablak létrehozva.\n" #: gschem/src/i_callbacks.c:242 msgid "Failed to Save All" msgstr "Nem sikerült mindent menteni." #: gschem/src/i_callbacks.c:244 msgid "Saved All" msgstr "Minden oldal elmentve." #: gschem/src/i_callbacks.c:334 msgid "Closing Window\n" msgstr "Ablak bezárása\n" #: gschem/src/i_callbacks.c:534 gschem/src/i_callbacks.c:579 #: gschem/src/i_callbacks.c:624 msgid "Select objs first" msgstr "Először válassz objektumokat" #: gschem/src/i_callbacks.c:663 gschem/src/x_multiattrib.c:1549 msgid "Delete" msgstr "Törlés" #: gschem/src/i_callbacks.c:688 msgid "Edit" msgstr "Szerkesztés" #: gschem/src/i_callbacks.c:703 msgid "Edit pin type" msgstr "" #: gschem/src/i_callbacks.c:722 msgid "Edit Text" msgstr "Szöveg szerkesztése" #: gschem/src/i_callbacks.c:745 msgid "Slot" msgstr "" #: gschem/src/i_callbacks.c:762 msgid "Color" msgstr "Szín" #: gschem/src/i_callbacks.c:799 gschem/src/i_callbacks.c:844 msgid "Rotate" msgstr "Forgatás" #: gschem/src/i_callbacks.c:866 gschem/src/i_callbacks.c:891 msgid "Mirror" msgstr "Tükrözés" #: gschem/src/i_callbacks.c:912 gschem/src/x_dialog.c:2328 #: gschem/lib/system-gschemrc.scm:1415 msgid "Lock" msgstr "Zárolás" #: gschem/src/i_callbacks.c:930 gschem/lib/system-gschemrc.scm:1416 msgid "Unlock" msgstr "Zárolás feloldása" #: gschem/src/i_callbacks.c:948 gschem/src/x_dialog.c:1746 msgid "Translate" msgstr "Eltolás" #: gschem/src/i_callbacks.c:951 msgid "WARNING: Do not translate with snap off!\n" msgstr "" #: gschem/src/i_callbacks.c:952 msgid "WARNING: Turning snap on and continuing with translate.\n" msgstr "" #: gschem/src/i_callbacks.c:959 msgid "WARNING: Snap grid size is not equal to 100!\n" msgstr "Vigyázat, a hálószemméret nem 100!\n" #: gschem/src/i_callbacks.c:961 msgid "" "WARNING: If you are translating a symbol to the origin, the snap grid size " "should be set to 100\n" msgstr "" "Vigyázat, az alkatrész kezdőponthoz való tolásához a hálószemméretnek 100-" "nak kell lennie!\n" #: gschem/src/i_callbacks.c:992 msgid "Embed" msgstr "Beágyazás" #: gschem/src/i_callbacks.c:1031 msgid "Unembed" msgstr "Beágyazás megszüntetése" #: gschem/src/i_callbacks.c:1073 msgid "Update" msgstr "Frissítés" #: gschem/src/i_callbacks.c:1120 msgid "ShowHidden" msgstr "Rejtettek megjelenítése" #: gschem/src/i_callbacks.c:1426 gschem/src/i_callbacks.c:1498 msgid "Pan" msgstr "Középre" #: gschem/src/i_callbacks.c:1703 msgid "Really revert page?" msgstr "Biztosan újratöltsem az oldalt?" #: gschem/src/i_callbacks.c:1773 msgid "Copy to clipboard" msgstr "" #: gschem/src/i_callbacks.c:1791 msgid "Cut to clipboard" msgstr "Kivágás a vágólapra" #: gschem/src/i_callbacks.c:1809 msgid "Paste from clipboard" msgstr "Beillesztés a vágólapról" #: gschem/src/i_callbacks.c:1821 gschem/src/i_callbacks.c:2060 #: gschem/src/i_callbacks.c:2082 gschem/src/i_callbacks.c:2104 #: gschem/src/i_callbacks.c:2126 gschem/src/i_callbacks.c:2148 msgid "Empty buffer" msgstr "Üres buffer" #: gschem/src/i_callbacks.c:1866 msgid "Copy 1" msgstr "Másolás az 1-be" #: gschem/src/i_callbacks.c:1885 msgid "Copy 2" msgstr "Másolás a 2-be" #: gschem/src/i_callbacks.c:1904 msgid "Copy 3" msgstr "Másolás a 3-ba" #: gschem/src/i_callbacks.c:1923 msgid "Copy 4" msgstr "Másolás a 4-be" #: gschem/src/i_callbacks.c:1942 msgid "Copy 5" msgstr "Másolás az 5-be" #: gschem/src/i_callbacks.c:1961 msgid "Cut 1" msgstr "Kivágás az 1-be" #: gschem/src/i_callbacks.c:1980 msgid "Cut 2" msgstr "Kivágás a 2-be" #: gschem/src/i_callbacks.c:1999 msgid "Cut 3" msgstr "Kivágás a 3-ba" #: gschem/src/i_callbacks.c:2018 msgid "Cut 4" msgstr "Kivágás a 4-be" #: gschem/src/i_callbacks.c:2037 msgid "Cut 5" msgstr "Kivágás az 5-be" #: gschem/src/i_callbacks.c:2053 msgid "Paste 1" msgstr "Beillesztés az 1-ből" #: gschem/src/i_callbacks.c:2075 msgid "Paste 2" msgstr "Beillesztés a 2-ből" #: gschem/src/i_callbacks.c:2097 msgid "Paste 3" msgstr "Beillesztés a 3-ból" #: gschem/src/i_callbacks.c:2119 msgid "Paste 4" msgstr "Beillesztés a 4-ből" #: gschem/src/i_callbacks.c:2141 msgid "Paste 5" msgstr "Beillesztés az 5-ből" #: gschem/src/i_callbacks.c:2278 gschem/src/x_window.c:359 msgid "Component" msgstr "Alkatrész" #: gschem/src/i_callbacks.c:2314 gschem/src/i_callbacks.c:2333 #: gschem/src/x_dialog.c:2298 msgid "Attribute" msgstr "Attribútum" #: gschem/src/i_callbacks.c:2355 gschem/src/i_callbacks.c:2382 #: gschem/src/x_dialog.c:2295 msgid "Net" msgstr "Net" #: gschem/src/i_callbacks.c:2426 gschem/src/i_callbacks.c:2453 #: gschem/src/x_dialog.c:2313 gschem/src/x_window.c:379 msgid "Bus" msgstr "Busz" #: gschem/src/i_callbacks.c:2534 gschem/src/i_callbacks.c:2557 msgid "Line" msgstr "Vonal" #: gschem/src/i_callbacks.c:2579 gschem/src/i_callbacks.c:2602 msgid "Box" msgstr "Téglalap" #: gschem/src/i_callbacks.c:2658 gschem/src/i_callbacks.c:2682 msgid "Circle" msgstr "Kör" #: gschem/src/i_callbacks.c:2704 gschem/src/i_callbacks.c:2727 msgid "Arc" msgstr "Ív" #: gschem/src/i_callbacks.c:2749 gschem/src/i_callbacks.c:2772 #: gschem/src/x_dialog.c:2286 msgid "Pin" msgstr "Alkatrészláb" #: gschem/src/i_callbacks.c:2831 #, c-format msgid "Searching for source [%s]\n" msgstr "[%s] forrás keresése\n" #: gschem/src/i_callbacks.c:2855 #, c-format msgid "Cannot find source [%s]\n" msgstr "Nem találom a(z) [%s] forrást.\n" #: gschem/src/i_callbacks.c:2918 #, c-format msgid "Searching for symbol [%s]\n" msgstr "[%s] szimbólum keresése\n" #: gschem/src/i_callbacks.c:2924 msgid "Symbol is not a real file. Symbol cannot be loaded.\n" msgstr "" #: gschem/src/i_callbacks.c:2955 msgid "Cannot find any schematics above the current one!\n" msgstr "" #: gschem/src/i_callbacks.c:2985 msgid "Attach" msgstr "Csatolás" #: gschem/src/i_callbacks.c:3041 msgid "Detach" msgstr "Leválasztás" #: gschem/src/i_callbacks.c:3085 msgid "ShowN" msgstr "" #: gschem/src/i_callbacks.c:3122 msgid "ShowV" msgstr "" #: gschem/src/i_callbacks.c:3159 msgid "ShowB" msgstr "" #: gschem/src/i_callbacks.c:3197 msgid "VisToggle" msgstr "Láthatóság be/ki" #: gschem/src/i_callbacks.c:3228 #, c-format msgid "Sorry but this is a non-functioning menu option\n" msgstr "Elnézést, ez egy nem működő menüpont.\n" #: gschem/src/i_callbacks.c:3318 msgid "Action feedback mode set to OUTLINE\n" msgstr "" #: gschem/src/i_callbacks.c:3321 msgid "Action feedback mode set to BOUNDINGBOX\n" msgstr "" #: gschem/src/i_callbacks.c:3346 msgid "Grid OFF\n" msgstr "Háló ki\n" #: gschem/src/i_callbacks.c:3347 msgid "Dot grid selected\n" msgstr "" #: gschem/src/i_callbacks.c:3348 msgid "Mesh grid selected\n" msgstr "" #: gschem/src/i_callbacks.c:3369 msgid "Snap OFF (CAUTION!)\n" msgstr "" #: gschem/src/i_callbacks.c:3372 msgid "Snap ON\n" msgstr "" #: gschem/src/i_callbacks.c:3375 msgid "Snap back to the grid (CAUTION!)\n" msgstr "" #: gschem/src/i_callbacks.c:3401 msgid "Rubber band OFF \n" msgstr "" #: gschem/src/i_callbacks.c:3404 msgid "Rubber band ON\n" msgstr "" #: gschem/src/i_callbacks.c:3419 msgid "magnetic net mode: ON\n" msgstr "" #: gschem/src/i_callbacks.c:3422 msgid "magnetic net mode: OFF\n" msgstr "" #: gschem/src/o_box.c:292 #, c-format msgid "Unknown type for box (fill)!\n" msgstr "" #: gschem/src/o_buffer.c:54 #, c-format msgid "o_buffer_copy: Invalid buffer %i\n" msgstr "" #: gschem/src/o_buffer.c:69 #, c-format msgid "o_buffer_cut: Invalid buffer %i\n" msgstr "" #: gschem/src/o_buffer.c:90 #, c-format msgid "Got an invalid buffer_number [o_buffer_paste_start]\n" msgstr "" #: gschem/src/o_bus.c:117 #, c-format msgid "Got an invalid which one in o_bus_draw_stretch\n" msgstr "" #: gschem/src/o_circle.c:284 #, c-format msgid "Unknown type for circle (fill)!\n" msgstr "" #: gschem/src/o_complex.c:223 gschem/src/o_complex.c:227 #, c-format msgid "Translating schematic [%d %d]\n" msgstr "" #: gschem/src/o_misc.c:61 #, c-format msgid "Got an unexpected NULL in o_edit\n" msgstr "" #: gschem/src/o_misc.c:125 msgid "Object already locked\n" msgstr "Az objektum már zárolva van.\n" #: gschem/src/o_misc.c:163 msgid "Object already unlocked\n" msgstr "" #: gschem/src/o_misc.c:339 msgid "Hidden text is now visible\n" msgstr "" #: gschem/src/o_misc.c:341 msgid "Hidden text is now invisible\n" msgstr "" #: gschem/src/o_misc.c:568 #, c-format msgid "Could not find symbol [%s] in library. Update failed.\n" msgstr "Nem találom a(z) [%s] szimbólumot. A frissítés nem sikerült.\n" #: gschem/src/o_misc.c:683 #, c-format msgid "o_autosave_backups: Can't get the real filename of %s." msgstr "" #: gschem/src/o_misc.c:727 #, c-format msgid "Could NOT set previous backup file [%s] read-write\n" msgstr "" #: gschem/src/o_misc.c:747 #, c-format msgid "Could NOT set backup file [%s] readonly\n" msgstr "" #: gschem/src/o_misc.c:752 #, c-format msgid "Could NOT save backup file [%s]\n" msgstr "" #: gschem/src/o_move.c:174 #, c-format msgid "ERROR: NULL object in o_move_end!\n" msgstr "" #: gschem/src/o_move.c:431 #, c-format msgid "DOH! tried to find the whichone, but didn't find it!\n" msgstr "" #: gschem/src/o_move.c:453 #, c-format msgid "Got a non line object in o_move_check_endpoint\n" msgstr "" #: gschem/src/o_net.c:158 #, c-format msgid "Got an invalid which one in o_net_draw_stretch\n" msgstr "" #: gschem/src/o_net.c:537 msgid "Warning: Starting net at off grid coordinate\n" msgstr "" #: gschem/src/o_net.c:602 msgid "Warning: Ending net at off grid coordinate\n" msgstr "" #: gschem/src/o_net.c:944 gschem/src/o_net.c:981 gschem/src/o_net.c:1052 #: gschem/src/o_net.c:1088 #, c-format msgid "Tried to add more than two bus rippers. Internal gschem error.\n" msgstr "" #: gschem/src/o_net.c:1156 #, c-format msgid "Bus ripper symbol [%s] was not found in any component library\n" msgstr "" #: gschem/src/o_path.c:340 #, c-format msgid "Unknown type for path (fill)!\n" msgstr "" #: gschem/src/o_picture.c:166 #, c-format msgid "Failed to load picture: %s" msgstr "Sikertelen a(z) %s kép betöltése" #: gschem/src/o_picture.c:180 msgid "Picture" msgstr "Kép" #: gschem/src/o_picture.c:544 #, c-format msgid "Failed to replace pictures: %s" msgstr "" #: gschem/src/o_slot.c:81 msgid "Slot attribute malformed\n" msgstr "" #: gschem/src/o_slot.c:89 msgid "numslots attribute missing\n" msgstr "numslots attribútum hiányzik.\n" #: gschem/src/o_slot.c:90 msgid "Slotting not allowed for this component\n" msgstr "" #: gschem/src/o_slot.c:105 msgid "New slot number out of range\n" msgstr "" #: gschem/src/o_undo.c:307 msgid "Undo/Redo disabled in rc file\n" msgstr "A visszavonás/újra művelet nem használható rc fájlban.\n" #: gschem/src/parsecmd.c:82 #, c-format msgid "" "Usage: %s [OPTION ...] [--] [FILE ...]\n" "\n" "Interactively edit gEDA schematics or symbols. If one or more FILEs\n" "are specified, open them for editing; otherwise, create a new, empty\n" "schematic.\n" "\n" "Options:\n" " -q, --quiet Quiet mode.\n" " -v, --verbose Verbose mode.\n" " -r, --config-file=FILE Additional configuration file to load.\n" " -L DIR Add DIR to Scheme search path.\n" " -c EXPR Scheme expression to run at startup.\n" " -s FILE Scheme script to run at startup.\n" " -o, --output=FILE Output filename (for printing).\n" " -p Automatically place the window.\n" " -V, --version Show version information.\n" " -h, --help Help; this message.\n" " -- Treat all remaining arguments as filenames.\n" "\n" "Report bugs at \n" "gEDA/gaf homepage: \n" msgstr "" #: gschem/src/parsecmd.c:116 #, c-format msgid "" "gEDA %s (g%.7s)\n" "Copyright (C) 1998-2012 gEDA developers\n" "This is free software, and you are welcome to redistribute it under\n" "certain conditions. For details, see the file `COPYING', which is\n" "included in the gEDA distribution.\n" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" #: gschem/src/x_attribedit.c:127 #, c-format msgid "Got invalid show option; defaulting to show both\n" msgstr "" #: gschem/src/x_attribedit.c:141 #, c-format msgid "ERROR: NULL object!\n" msgstr "" #: gschem/src/x_attribedit.c:329 msgid "Single Attribute Editor" msgstr "" #: gschem/src/x_attribedit.c:359 msgid "Edit Attribute" msgstr "Attribútum szerkesztése" #: gschem/src/x_attribedit.c:361 msgid "Add Attribute" msgstr "Attribútum hozzáadása" #: gschem/src/x_attribedit.c:377 gschem/src/x_multiattrib.c:1973 msgid "Name:" msgstr "Név:" #: gschem/src/x_attribedit.c:394 gschem/src/x_multiattrib.c:1992 msgid "Value:" msgstr "Érték:" #: gschem/src/x_attribedit.c:410 gschem/src/x_multiattrib.c:2038 msgid "Visible" msgstr "Látható" #: gschem/src/x_attribedit.c:430 msgid "Show Value Only" msgstr "Csak az érték mutatása" #: gschem/src/x_attribedit.c:432 msgid "Show Name Only" msgstr "Csak a név mutatása" #: gschem/src/x_attribedit.c:434 gschem/src/x_multiattrib.c:1512 msgid "Show Name & Value" msgstr "Név és érték mutatása" #: gschem/src/x_attribedit.c:441 msgid "Attach Options" msgstr "" #: gschem/src/x_attribedit.c:456 msgid "All" msgstr "Mind" #: gschem/src/x_attribedit.c:464 gschem/src/x_compselect.c:922 #: gschem/src/x_compselect.c:1036 msgid "Components" msgstr "Alkatrészek" #: gschem/src/x_attribedit.c:472 gschem/src/x_window.c:369 msgid "Nets" msgstr "Összeköttetések" #: gschem/src/x_attribedit.c:480 msgid "Replace existing attributes" msgstr "Meglevő attribútumok cseréje" #: gschem/src/x_autonumber.c:415 msgid "" "slotted object without slot attribute may cause problems when autonumbering " "slots\n" msgstr "" #: gschem/src/x_autonumber.c:430 #, c-format msgid "" "duplicate slot may cause problems: [symbolname=%s, number=%d, slot=%d]\n" msgstr "" #: gschem/src/x_autonumber.c:672 msgid "No searchstring given in autonumber text.\n" msgstr "Nincs keresőszöveg megadva az újraszámozáshoz.\n" #: gschem/src/x_autonumber.c:724 msgid "No '*' or '?' given at the end of the autonumber text.\n" msgstr "Hiányzik a '*' vagy '?' a szöveg végéről.\n" #: gschem/src/x_autonumber.c:859 msgid "Diagonal" msgstr "Átlós" #: gschem/src/x_autonumber.c:860 msgid "Top to bottom" msgstr "Fentről lefelé" #: gschem/src/x_autonumber.c:860 msgid "Bottom to top" msgstr "Lentről felfelé" #: gschem/src/x_autonumber.c:861 msgid "Left to right" msgstr "Balról jobbra" #: gschem/src/x_autonumber.c:861 msgid "Right to left" msgstr "Jobbról balra" #: gschem/src/x_autonumber.c:862 msgid "File order" msgstr "Fáljsorrend" #: gschem/src/x_autonumber.c:1198 msgid "Autonumber text" msgstr "Automatikus számozás" #: gschem/src/x_autonumber.c:1222 msgid "Scope" msgstr "Hatáskör" #: gschem/src/x_autonumber.c:1244 msgid "Search for:" msgstr "Keresés:" #: gschem/src/x_autonumber.c:1258 msgid "Autonumber text in:" msgstr "" #: gschem/src/x_autonumber.c:1265 msgid "Skip numbers found in:" msgstr "" #: gschem/src/x_autonumber.c:1277 gschem/src/x_autonumber.c:1286 msgid "Selected objects" msgstr "Kiválasztott objektumok" #: gschem/src/x_autonumber.c:1278 gschem/src/x_autonumber.c:1287 msgid "Current page" msgstr "Jelenlegi oldal" #: gschem/src/x_autonumber.c:1279 gschem/src/x_autonumber.c:1288 msgid "Whole hierarchy" msgstr "Teljes hierarchia" #: gschem/src/x_autonumber.c:1290 msgid "Overwrite existing numbers" msgstr "Meglevő számok felülírása" #: gschem/src/x_autonumber.c:1295 msgid "Options" msgstr "Opciók" #: gschem/src/x_autonumber.c:1317 msgid "Starting number:" msgstr "Kezdőszám:" #: gschem/src/x_autonumber.c:1324 msgid "Sort order:" msgstr "Rendezési sorrend:" #: gschem/src/x_autonumber.c:1345 msgid "Remove numbers" msgstr "Számok törlése" #: gschem/src/x_autonumber.c:1349 msgid "Automatic slotting" msgstr "Automatikus slot-kiválasztás" #: gschem/src/x_clipboard.c:249 #, c-format msgid "" "Invalid schematic on clipboard.\n" "\n" "An error occurred while inserting clipboard data: %s." msgstr "" #: gschem/src/x_clipboard.c:251 msgid "Clipboard insertion failed" msgstr "" #: gschem/src/x_color.c:94 gschem/src/x_color.c:103 #, c-format msgid "Could not allocate the color %s!\n" msgstr "Nem találom a(z) %s színt!\n" #: gschem/src/x_color.c:94 msgid "black" msgstr "fekete" #: gschem/src/x_color.c:103 msgid "white" msgstr "fehér" #: gschem/src/x_color.c:125 #, c-format msgid "Could not allocate display color %i!\n" msgstr "" #: gschem/src/x_color.c:147 #, c-format msgid "Could not allocate outline color %i!\n" msgstr "" #: gschem/src/x_color.c:164 gschem/src/x_color.c:181 gschem/src/x_color.c:197 #, c-format msgid "Tried to get an invalid color: %d\n" msgstr "" #: gschem/src/x_color.c:214 #, c-format msgid "Tried to get an invalid outline color: %d\n" msgstr "" #: gschem/src/x_compselect.c:1066 msgid "Filter:" msgstr "Szűrő:" #: gschem/src/x_compselect.c:1169 gschem/src/x_dialog.c:3653 #: gschem/src/x_multiattrib.c:1839 msgid "Name" msgstr "Név" #: gschem/src/x_compselect.c:1178 gschem/src/x_multiattrib.c:1863 msgid "Value" msgstr "Érték" #: gschem/src/x_compselect.c:1217 msgid "Default behavior - reference component" msgstr "Alapviselkedés - mutató az alkatrészre" #: gschem/src/x_compselect.c:1220 msgid "Embed component in schematic" msgstr "Alkatrész beágyazása a rajzba" #: gschem/src/x_compselect.c:1223 msgid "Include component as individual objects" msgstr "Alkatrész hozzáadása mint független objektum" #: gschem/src/x_compselect.c:1380 msgid "Select Component..." msgstr "Alkatrész kiválasztása..." #: gschem/src/x_compselect.c:1403 msgid "In Use" msgstr "Használatban" #: gschem/src/x_compselect.c:1407 msgid "Libraries" msgstr "Könyvtárak" #: gschem/src/x_compselect.c:1416 gschem/src/x_fileselect.c:122 msgid "Preview" msgstr "Előnézet" #: gschem/src/x_compselect.c:1444 msgid "Attributes" msgstr "Attribútumok" #: gschem/src/x_dialog.c:176 msgid "Text Entry..." msgstr "" #: gschem/src/x_dialog.c:207 msgid "" "Enter text, click apply,\n" "move cursor into window, click to place text.\n" "Middle button to rotate while placing." msgstr "" "Írd be a szöveget, kattints az \"Alkalmaz\"-ra,\n" "mozgasd az egérmutatót a rajz fölé, kattints\n" "a szöveg lerakásához.\n" "Elforgatás: középső egérgomb." #: gschem/src/x_dialog.c:301 msgid "Upper Left" msgstr "Bal felső" #: gschem/src/x_dialog.c:304 msgid "Upper Middle" msgstr "Közép felső" #: gschem/src/x_dialog.c:307 msgid "Upper Right" msgstr "Jobb felső" #: gschem/src/x_dialog.c:311 msgid "Middle Left" msgstr "Bal közép" #: gschem/src/x_dialog.c:314 msgid "Middle Middle" msgstr "Közép közép" #: gschem/src/x_dialog.c:317 msgid "Middle Right" msgstr "Jobb közép" #: gschem/src/x_dialog.c:321 msgid "Lower Left" msgstr "Bal alsó" #: gschem/src/x_dialog.c:324 msgid "Lower Middle" msgstr "Közép alsó" #: gschem/src/x_dialog.c:327 msgid "Lower Right" msgstr "Jobb alsó" #: gschem/src/x_dialog.c:438 msgid "Edit Text Properties" msgstr "Szövegtulajdonságok szerkesztése" #: gschem/src/x_dialog.c:473 msgid "Text Content" msgstr "" #: gschem/src/x_dialog.c:509 msgid "Text Properties" msgstr "Szöveg tulajdonságai" #: gschem/src/x_dialog.c:524 msgid "Color:" msgstr "Szín:" #: gschem/src/x_dialog.c:531 msgid "Size:" msgstr "Méret:" #: gschem/src/x_dialog.c:540 msgid "Alignment:" msgstr "Igazítás:" #: gschem/src/x_dialog.c:589 msgid "Solid" msgstr "Folytonos" #: gschem/src/x_dialog.c:590 msgid "Dotted" msgstr "Pontvonal" #: gschem/src/x_dialog.c:591 msgid "Dashed" msgstr "Szaggatott" #: gschem/src/x_dialog.c:592 msgid "Center" msgstr "Középre" #: gschem/src/x_dialog.c:593 msgid "Phantom" msgstr "" #: gschem/src/x_dialog.c:594 gschem/src/x_dialog.c:691 #: gschem/src/x_dialog.c:700 gschem/src/x_dialog.c:709 #: gschem/src/x_dialog.c:810 gschem/src/x_dialog.c:813 #: gschem/src/x_dialog.c:816 gschem/src/x_dialog.c:1043 #: gschem/src/x_dialog.c:1146 gschem/src/x_dialog.c:1155 #: gschem/src/x_dialog.c:1164 gschem/src/x_dialog.c:1173 #: gschem/src/x_dialog.c:1182 gschem/src/x_dialog.c:1295 #: gschem/src/x_dialog.c:1298 gschem/src/x_dialog.c:1301 #: gschem/src/x_dialog.c:1304 gschem/src/x_dialog.c:1307 msgid "*unchanged*" msgstr "*változatlan*" #: gschem/src/x_dialog.c:921 msgid "Edit Line Width & Type" msgstr "Vonalvastagság és típus szerkesztése" #: gschem/src/x_dialog.c:960 gschem/src/x_print.c:307 msgid "Type:" msgstr "Típus:" #: gschem/src/x_dialog.c:964 msgid "Width:" msgstr "Vastagság:" #: gschem/src/x_dialog.c:968 msgid "Dash Length:" msgstr "Vonalszakasz hossza:" #: gschem/src/x_dialog.c:972 msgid "Dash Space:" msgstr "Kihagyás hossza:" #: gschem/src/x_dialog.c:1039 msgid "Hollow" msgstr "Üres" #: gschem/src/x_dialog.c:1040 msgid "Filled" msgstr "Kitöltött" #: gschem/src/x_dialog.c:1041 msgid "Mesh" msgstr "Háló" #: gschem/src/x_dialog.c:1042 msgid "Hatch" msgstr "Sraffozott" #: gschem/src/x_dialog.c:1416 msgid "Edit Fill Type" msgstr "Kitöltés szerkesztése" #: gschem/src/x_dialog.c:1455 msgid "Fill Type:" msgstr "Kitöltés típusa:" #: gschem/src/x_dialog.c:1459 msgid "Line Width:" msgstr "Vonalvastagság:" #: gschem/src/x_dialog.c:1463 msgid "Angle 1:" msgstr "" #: gschem/src/x_dialog.c:1467 msgid "Pitch 1:" msgstr "" #: gschem/src/x_dialog.c:1471 msgid "Angle 2:" msgstr "" #: gschem/src/x_dialog.c:1475 msgid "Pitch 2:" msgstr "" #: gschem/src/x_dialog.c:1602 msgid "Arc Params" msgstr "Ívparaméterek" #: gschem/src/x_dialog.c:1643 msgid "Arc Radius:" msgstr "" #: gschem/src/x_dialog.c:1651 msgid "Start Angle:" msgstr "Kezdőszög:" #: gschem/src/x_dialog.c:1659 msgid "Degrees of Sweep:" msgstr "Ív szöge:" #: gschem/src/x_dialog.c:1777 msgid "" "Offset to translate?\n" "(0 for origin)" msgstr "" "Offszet az eltoláshoz?\n" "(0 az origóhoz)" #: gschem/src/x_dialog.c:1845 msgid "Text Size" msgstr "Betűméret" #: gschem/src/x_dialog.c:1875 msgid "Enter new text size:" msgstr "Új betűméret:" #: gschem/src/x_dialog.c:1951 msgid "Snap Size" msgstr "" #: gschem/src/x_dialog.c:1981 msgid "Enter new snap grid spacing:" msgstr "Új hálóméret:" #: gschem/src/x_dialog.c:2058 msgid "Edit slot number" msgstr "" #: gschem/src/x_dialog.c:2089 msgid "Edit slot number:" msgstr "" #: gschem/src/x_dialog.c:2130 #, c-format msgid "%s (g%.7s)" msgstr "" #: gschem/src/x_dialog.c:2151 msgid "About gschem" msgstr "Névjegy" #: gschem/src/x_dialog.c:2152 msgid "gEDA: GPL Electronic Design Automation" msgstr "" #. TRANSLATORS: "ChangeLog" is a literal filename; please don't translate it. #: gschem/src/x_dialog.c:2155 msgid "" "Copyright © 1998-2012 Ales Hvezda \n" "Copyright © 1998-2012 gEDA Contributors (see ChangeLog for details)" msgstr "" #: gschem/src/x_dialog.c:2214 msgid "Coords" msgstr "Koordináták" #: gschem/src/x_dialog.c:2235 msgid "Screen" msgstr "Képernyő" #: gschem/src/x_dialog.c:2244 msgid "World" msgstr "Világ" #: gschem/src/x_dialog.c:2283 msgid "Background" msgstr "" #: gschem/src/x_dialog.c:2289 msgid "Net endpoint" msgstr "" #: gschem/src/x_dialog.c:2292 msgid "Graphic" msgstr "" #: gschem/src/x_dialog.c:2301 msgid "Logic bubble" msgstr "" #: gschem/src/x_dialog.c:2304 msgid "Grid point" msgstr "" #: gschem/src/x_dialog.c:2307 msgid "Detached attribute" msgstr "" #: gschem/src/x_dialog.c:2310 gschem/src/x_window.c:387 msgid "Text" msgstr "Szöveg" #: gschem/src/x_dialog.c:2316 msgid "Selection" msgstr "" #: gschem/src/x_dialog.c:2319 msgid "Bounding box" msgstr "" #: gschem/src/x_dialog.c:2322 msgid "Zoom box" msgstr "" #: gschem/src/x_dialog.c:2331 msgid "Output background" msgstr "" #: gschem/src/x_dialog.c:2334 msgid "Net junction" msgstr "" #: gschem/src/x_dialog.c:2337 msgid "Mesh grid major" msgstr "" #: gschem/src/x_dialog.c:2340 msgid "Mesh grid minor" msgstr "" #: gschem/src/x_dialog.c:2343 msgid "Unknown" msgstr "" #: gschem/src/x_dialog.c:2494 #, c-format msgid "ERROR: NULL object in color_edit_dialog_apply!\n" msgstr "" #: gschem/src/x_dialog.c:2538 msgid "Color Edit" msgstr "Szín szerkesztése" #: gschem/src/x_dialog.c:2569 msgid "Object color:" msgstr "Objektum színe:" #: gschem/src/x_dialog.c:2622 msgid "Hotkeys" msgstr "Gyorsbillentyűk" #: gschem/src/x_dialog.c:2662 msgid "Function" msgstr "Funkció" #: gschem/src/x_dialog.c:2669 msgid "Keystroke(s)" msgstr "" #: gschem/src/x_dialog.c:2977 msgid "Find Text" msgstr "Szöveg keresése" #: gschem/src/x_dialog.c:3008 msgid "Text to find:" msgstr "Keresendő szöveg:" #: gschem/src/x_dialog.c:3018 msgid "descend into hierarchy" msgstr "" #: gschem/src/x_dialog.c:3084 msgid "Hide Text" msgstr "Szöveg elrejtése" #: gschem/src/x_dialog.c:3115 msgid "Hide text starting with:" msgstr "A következővel kezdődő szöveg elrejtése:" #: gschem/src/x_dialog.c:3185 msgid "Show Text" msgstr "Szöveg mutatása" #: gschem/src/x_dialog.c:3216 msgid "Show text starting with:" msgstr "A következővel kezdődő szöveg mutatása:" #: gschem/src/x_dialog.c:3675 msgid "S_elect the schematics you want to save:" msgstr "Válaszd ki a menteni kívánt rajzot:" #: gschem/src/x_dialog.c:3770 #, c-format msgid "Save the changes to schematic \"%s\" before closing?" msgstr "Elmentsem a(z) \"%s\" rajz változásait bezárás előtt?" #: gschem/src/x_dialog.c:3776 #, c-format msgid "" "There are %d schematics with unsaved changes. Save changes before closing?" msgstr "" "%d megváltoztatott rajz van még megnyitva. Elmentsem őket kilépés előtt?" #: gschem/src/x_dialog.c:3805 msgid "If you don't save, all your changes will be permanently lost." msgstr "Ha nem menti, akkor az összes változás véglegesen elveszik." #: gschem/src/x_dialog.c:3825 msgid "_Close without saving" msgstr "_Bezárás mentés nélkül" #: gschem/src/x_dialog.c:4161 #, c-format msgid "" "The input attribute \"%s\" is invalid\n" "Please correct in order to continue\n" "\n" "The name and value must be non-empty.\n" "The name cannot end with a space.\n" "The value cannot start with a space." msgstr "" #: gschem/src/x_dialog.c:4163 msgid "Invalid Attribute" msgstr "Hibás attribútum" #: gschem/src/x_dialog.c:4199 msgid "Pin type" msgstr "" #: gschem/src/x_dialog.c:4223 msgid "Net pin" msgstr "" #: gschem/src/x_dialog.c:4225 msgid "Bus pin (graphical)" msgstr "" #: gschem/src/x_fileselect.c:42 msgid "Schematics" msgstr "rajzok" #: gschem/src/x_fileselect.c:47 msgid "Symbols" msgstr "szimbólumok" #: gschem/src/x_fileselect.c:52 msgid "Schematics and symbols" msgstr "rajzok és szimbólumok" #: gschem/src/x_fileselect.c:58 msgid "All files" msgstr "Összes fájl" #: gschem/src/x_fileselect.c:171 msgid "Open..." msgstr "Megnyitás…" #: gschem/src/x_fileselect.c:231 msgid "Save as..." msgstr "Mentés másként..." #: gschem/src/x_fileselect.c:284 #, c-format msgid "" "The selected file `%s' already exists.\n" "\n" "Would you like to overwrite it?" msgstr "" "A kiválasztott fájl - '%s' - már létezik.\n" "Felül szeretnéd írni?" #: gschem/src/x_fileselect.c:287 msgid "Overwrite file?" msgstr "Felülírod a fájlt?" #: gschem/src/x_fileselect.c:289 msgid "Save cancelled on user request\n" msgstr "A mentés a felhasználó kérésének megfelelően megszakítva.\n" #: gschem/src/x_image.c:176 msgid "Encapsulated Postscript" msgstr "Beágyazott Postscript (EPS)" #: gschem/src/x_image.c:296 #, c-format msgid "x_image_lowlevel: Unable to write eps file %s.\n" msgstr "" #: gschem/src/x_image.c:374 #, c-format msgid "x_image_lowlevel: Unable to write %s file %s.\n" msgstr "" #: gschem/src/x_image.c:384 #, c-format msgid "" "There was the following error when saving image with type %s to filename:\n" "%s\n" "\n" "%s.\n" msgstr "" "A következő hiba lépett fel a %s típusú kép mentésekor az alábbi " "fájlnévvel:\n" "%s\n" "\n" "%s\n" #: gschem/src/x_image.c:403 #, c-format msgid "Wrote color image to [%s] [%d x %d]\n" msgstr "Színes kép kiírva: [%s] [%d x %d]\n" #: gschem/src/x_image.c:405 #, c-format msgid "Wrote black and white image to [%s] [%d x %d]\n" msgstr "Fekete-fehér kép kiírva: [%s] [%d x %d]\n" #: gschem/src/x_image.c:413 msgid "x_image_lowlevel: Unable to get pixbuf from gschem's window.\n" msgstr "" #: gschem/src/x_image.c:458 msgid "Width x Height" msgstr "szélesség x magasság" #: gschem/src/x_image.c:474 msgid "Image type" msgstr "Képtípus" #: gschem/src/x_image.c:495 msgid "Write image..." msgstr "Képfájl írása..." #: gschem/src/x_log.c:209 msgid "** Invalid UTF-8 in log message. See stderr or gschem.log.\n" msgstr "" "** hibás UTF-8 a log üzenetben. Nézd meg az stderr-t vagy a gschem.log-ot.\n" #: gschem/src/x_log.c:288 msgid "Status" msgstr "Állapot." #: gschem/src/x_menus.c:37 msgid "/Add Net" msgstr "/Összeköttetés hozzáadása" #: gschem/src/x_menus.c:38 msgid "/Add Attribute..." msgstr "/Attribútum hozzáadása" #: gschem/src/x_menus.c:39 msgid "/Add Component..." msgstr "/Alkatrész hozzáadása" #: gschem/src/x_menus.c:40 msgid "/Add Bus" msgstr "/Busz hozzáadása" #: gschem/src/x_menus.c:41 msgid "/Add Text" msgstr "/Szöveg hozzáadása" #: gschem/src/x_menus.c:43 msgid "/Zoom In" msgstr "/Nagyítás" #: gschem/src/x_menus.c:44 msgid "/Zoom Out" msgstr "/Kicsinyítés" #: gschem/src/x_menus.c:45 msgid "/Zoom Box" msgstr "" #: gschem/src/x_menus.c:46 msgid "/Zoom Extents" msgstr "/Teljes rajz" #: gschem/src/x_menus.c:48 msgid "/Select" msgstr "/Kiválasztás" #: gschem/src/x_menus.c:49 msgid "/Edit..." msgstr "/Szerkesztés" #: gschem/src/x_menus.c:50 msgid "/Edit pin type..." msgstr "" #: gschem/src/x_menus.c:51 msgid "/Copy" msgstr "/Másolás" #: gschem/src/x_menus.c:52 msgid "/Move" msgstr "/Mozgatás" #: gschem/src/x_menus.c:53 msgid "/Delete" msgstr "/Törlés" #: gschem/src/x_menus.c:56 msgid "/Down Schematic" msgstr "Rajz szerkesztése" #: gschem/src/x_menus.c:57 msgid "/Down Symbol" msgstr "/Szimbólum szerkesztése" #: gschem/src/x_menus.c:58 msgid "/Up" msgstr "/Fel" #: gschem/src/x_menus.c:348 #, c-format msgid "Tried to set the sensitivity on non-existent menu item '%s'\n" msgstr "" #: gschem/src/x_menus.c:372 msgid "Popup_menu_item_factory doesn't exist!\n" msgstr "" #: gschem/src/x_menus.c:385 msgid "Tried to set the sensitivity on a non-existent popup menu_item\n" msgstr "" #: gschem/src/x_misc.c:74 msgid "The operating system is out of memory or resources." msgstr "" #: gschem/src/x_misc.c:155 #, c-format msgid "%s failed to launch URI" msgstr "" #: gschem/src/x_multiattrib.c:961 msgid "Attributes with empty name are not allowed. Please set a name." msgstr "" "Név nélküli attribútumok nem használhatóak. Kérlek adj nevet az " "attribútumnak!" #: gschem/src/x_multiattrib.c:1514 msgid "Show Value only" msgstr "Csak az érték mutatása" #: gschem/src/x_multiattrib.c:1516 msgid "Show Name only" msgstr "Csak a név mutatása" #: gschem/src/x_multiattrib.c:1544 msgid "Promote" msgstr "" #: gschem/src/x_multiattrib.c:1548 msgid "Duplicate" msgstr "Megkettőzés" #: gschem/src/x_multiattrib.c:1765 msgid "Edit Attributes" msgstr "Attribútumok szerkesztése" #: gschem/src/x_multiattrib.c:1883 msgid "Vis?" msgstr "Látható?" #: gschem/src/x_multiattrib.c:1901 msgid "N" msgstr "N" #: gschem/src/x_multiattrib.c:1919 msgid "V" msgstr "É" #: gschem/src/x_multiattrib.c:1941 msgid "Show inherited attributes" msgstr "" #: gschem/src/x_multiattrib.c:1957 msgid "Add Attribute" msgstr "Attribútum hozzáadása" #: gschem/src/x_pagesel.c:246 msgid "New Page" msgstr "Új lap" #: gschem/src/x_pagesel.c:247 msgid "Open Page..." msgstr "Lap megnyitása" #: gschem/src/x_pagesel.c:249 msgid "Save Page" msgstr "Mentés" #: gschem/src/x_pagesel.c:250 msgid "Close Page" msgstr "Lap bezárása" #: gschem/src/x_pagesel.c:251 msgid "Discard Page" msgstr "Rajz eldobása" #: gschem/src/x_pagesel.c:369 msgid "Page Manager" msgstr "Oldalkiválasztó" #: gschem/src/x_pagesel.c:425 msgid "Filename" msgstr "Fájlnév" #: gschem/src/x_pagesel.c:441 msgid "Changed" msgstr "Módosítva" #: gschem/src/x_pagesel.c:461 msgid "Right click on the filename for more options..." msgstr "Kattints a jobb egérgombbal a fájlnével a további opciókért..." #: gschem/src/x_preview.c:231 msgid "Preview Buffer" msgstr "" #: gschem/src/x_print.c:84 msgid "Select PostScript Filename..." msgstr "PostScript fájlnév kiválasztása..." #: gschem/src/x_print.c:164 msgid "Extents with margins" msgstr "Körvonal margóval" #: gschem/src/x_print.c:170 msgid "Extents no margins" msgstr "Körvonal margó nélkül" #: gschem/src/x_print.c:176 msgid "Current Window" msgstr "Jelenlegi nézet" #: gschem/src/x_print.c:210 msgid "Landscape" msgstr "Fekvő" #: gschem/src/x_print.c:216 msgid "Portrait" msgstr "Álló" #: gschem/src/x_print.c:276 msgid "Print..." msgstr "Nyomtatás..." #: gschem/src/x_print.c:284 msgid "Settings" msgstr "Beállitások" #: gschem/src/x_print.c:296 msgid "Output paper size:" msgstr "Papírméret:" #: gschem/src/x_print.c:318 msgid "Orientation:" msgstr "Tájolás:" #: gschem/src/x_print.c:330 msgid "Destination" msgstr "Cél" #: gschem/src/x_print.c:343 msgid "File:" msgstr "Fájl:" #: gschem/src/x_print.c:373 msgid "Command:" msgstr "Parancs:" #: gschem/src/x_print.c:745 msgid "No print destination specified\n" msgstr "Nincs megadva a nyomtatási cél!\n" #: gschem/src/x_print.c:752 #, c-format msgid "Cannot print current schematic to [%s]\n" msgstr "Nem tudom [%s]-ba nyomtatni a rajzot\n" #: gschem/src/x_print.c:761 #, c-format msgid "" "Error printing to file '%s'\n" "Check the log window for more information" msgstr "" "Hiba a(z) '%s' fájlba történő nyomtatás közben.\n" "Olvasd el a log ablakban leírtakat a további információkért." #: gschem/src/x_print.c:768 #, c-format msgid "Printed current schematic to [%s]\n" msgstr "A rajz kinyomtatva a(z) [%s] fájlba.\n" #: gschem/src/x_rc.c:40 msgid "ERROR: An unknown error occurred while parsing configuration files.\n" msgstr "" #: gschem/src/x_rc.c:45 msgid "" "An unknown error occurred while parsing configuration files.\n" "\n" "The gschem log may contain more information." msgstr "" #: gschem/src/x_rc.c:57 #, c-format msgid "ERROR: %s\n" msgstr "" #: gschem/src/x_rc.c:60 #, c-format msgid "" "%s\n" "\n" "The gschem log may contain more information." msgstr "" #: gschem/src/x_rc.c:68 msgid "Cannot load gschem configuration." msgstr "" #: gschem/src/x_script.c:47 gschem/lib/system-gschemrc.scm:1381 msgid "Execute Script..." msgstr "Szkript végrehajtása" #: gschem/src/x_script.c:66 #, c-format msgid "Executing guile script [%s]\n" msgstr "[%s] guile szkript végrehajtása.\n" #: gschem/src/x_window.c:82 #, c-format msgid "Couldn't allocate gc\n" msgstr "Nem találom a gc-t.\n" #: gschem/src/x_window.c:321 msgid "New" msgstr "Új" #: gschem/src/x_window.c:322 msgid "New file" msgstr "Új fájl" #: gschem/src/x_window.c:328 msgid "Open" msgstr "Megnyitás" #: gschem/src/x_window.c:329 msgid "Open file..." msgstr "Fájl megnyitása…" #: gschem/src/x_window.c:335 msgid "Save" msgstr "Mentés" #: gschem/src/x_window.c:336 msgid "Save file" msgstr "Fájl mentése" #: gschem/src/x_window.c:343 msgid "Undo" msgstr "Visszavonás" #: gschem/src/x_window.c:344 msgid "Undo last operation" msgstr "Utolsó művelet visszavonása" #: gschem/src/x_window.c:350 msgid "Redo" msgstr "Újra" #: gschem/src/x_window.c:351 msgid "Redo last undo" msgstr "Utolsó visszavont művelet újra" #: gschem/src/x_window.c:360 msgid "" "Add component...\n" "Select library and component from list, move the mouse into main window, " "click to place\n" "Right mouse button to cancel" msgstr "" "Alkatrész hozzáadása...\n" "Válaszd ki a könyvtárt és abból az alkatrészt, mozgasd az egérmutatót a rajz " "fölé, lerakás bal klikk." #: gschem/src/x_window.c:370 msgid "" "Add nets mode\n" "Right mouse button to cancel" msgstr "Összeköttetések hozzáadása mód" #: gschem/src/x_window.c:380 msgid "" "Add buses mode\n" "Right mouse button to cancel" msgstr "Busz hozzáadása mód" #: gschem/src/x_window.c:388 msgid "Add Text..." msgstr "Szöveg hozzáadása" #: gschem/src/x_window.c:398 msgid "Select" msgstr "Kiválasztás" #: gschem/src/x_window.c:399 msgid "Select mode" msgstr "Kiválasztás mód" #: gschem/src/x_window.c:465 msgid "Evaluate:" msgstr "" #: gschem/src/x_window.c:484 msgid "Pick" msgstr "Kijelöl" #: gschem/src/x_window.c:500 msgid "Repeat/none" msgstr "Ismétlés/semmi" #: gschem/src/x_window.c:510 msgid "Menu/Cancel" msgstr "Menü/mégsem" #: gschem/src/x_window.c:512 msgid "Pan/Cancel" msgstr "Középre/mégsem" #: gschem/src/x_window.c:737 #, c-format msgid "Loading schematic [%s]\n" msgstr "[%s] rajz betöltése\n" #: gschem/src/x_window.c:748 #, c-format msgid "" "An error occurred while loading the requested file.\n" "\n" "Loading from '%s' failed: %s. The gschem log may contain more information." msgstr "" #: gschem/src/x_window.c:750 msgid "Failed to load file" msgstr "A fájl betöltése nem sikerült." #: gschem/src/x_window.c:759 #, c-format msgid "New file [%s]\n" msgstr "Új fájl: [%s]\n" #: gschem/src/x_window.c:862 #, c-format msgid "Could NOT save page [%s]\n" msgstr "A [%s] rajz mentése nem sikerült.\n" #: gschem/src/x_window.c:863 msgid "Error while trying to save" msgstr "Hiba mentés közben" #: gschem/src/x_window.c:873 msgid "Failed to save file" msgstr "" #: gschem/src/x_window.c:884 #, c-format msgid "Saved as [%s]\n" msgstr "[%s]-ként elmentve.\n" #: gschem/src/x_window.c:886 #, c-format msgid "Saved [%s]\n" msgstr "[%s] elmentve.\n" #: gschem/src/x_window.c:888 msgid "Saved" msgstr "Elmentve" #: gschem/src/x_window.c:962 #, c-format msgid "Discarding page [%s]\n" msgstr "A(z) [%s] rajz eldobása\n" #: gschem/src/x_window.c:962 #, c-format msgid "Closing [%s]\n" msgstr "[%s] bezárása\n" #: gschem/data/geda-gschem.desktop.in:3 msgid "gEDA Schematic Editor" msgstr "gEDA kapcsolásirajz-szerkesztő" #: gschem/data/geda-gschem.desktop.in:4 msgid "Create and edit electrical schematics and symbols with gschem" msgstr "" "Elektromos kapcsolási rajzok és szimbólumok készítése és szerkesztése a " "gschemmel" #: gschem/lib/system-gschemrc.scm:1368 msgid "_New" msgstr "_Új" #: gschem/lib/system-gschemrc.scm:1369 msgid "_Open..." msgstr "_Megnyitás..." #: gschem/lib/system-gschemrc.scm:1371 msgid "Open Recen_t" msgstr "Legutóbbi megnyitása" #: gschem/lib/system-gschemrc.scm:1373 msgid "_Save" msgstr "Menté_s" #: gschem/lib/system-gschemrc.scm:1374 msgid "Save _As..." msgstr "Mentés másként" #: gschem/lib/system-gschemrc.scm:1375 msgid "Save All" msgstr "Mind mentése" #: gschem/lib/system-gschemrc.scm:1376 gschem/lib/system-gschemrc.scm:1469 msgid "_Revert" msgstr "_Visszaállítás" #: gschem/lib/system-gschemrc.scm:1378 msgid "_Print..." msgstr "_Nyomtatás…" #: gschem/lib/system-gschemrc.scm:1379 msgid "Write _image..." msgstr "" #: gschem/lib/system-gschemrc.scm:1383 msgid "New Window" msgstr "Új ablak" #: gschem/lib/system-gschemrc.scm:1384 msgid "_Close Window" msgstr "" #: gschem/lib/system-gschemrc.scm:1385 msgid "_Quit" msgstr "Kilépés" #: gschem/lib/system-gschemrc.scm:1391 msgid "_Undo" msgstr "_Visszavonás" #: gschem/lib/system-gschemrc.scm:1392 msgid "_Redo" msgstr "Új_ra" #: gschem/lib/system-gschemrc.scm:1394 msgid "Cu_t" msgstr "Kivágás" #: gschem/lib/system-gschemrc.scm:1395 msgid "_Copy" msgstr "Másolás (_C)" #: gschem/lib/system-gschemrc.scm:1396 msgid "_Paste" msgstr "Beillesztés (_P)" #: gschem/lib/system-gschemrc.scm:1397 msgid "_Delete" msgstr "Törlés (_D)" #: gschem/lib/system-gschemrc.scm:1400 msgid "Select All" msgstr "" #: gschem/lib/system-gschemrc.scm:1401 msgid "Deselect" msgstr "" #: gschem/lib/system-gschemrc.scm:1405 msgid "Rotate 90 Mode" msgstr "Elforgatás 90 fokkal" #: gschem/lib/system-gschemrc.scm:1408 msgid "Edit..." msgstr "Szerkesztés..." #: gschem/lib/system-gschemrc.scm:1409 msgid "Edit Text..." msgstr "Szöveg szerkesztése..." #: gschem/lib/system-gschemrc.scm:1410 msgid "Slot..." msgstr "" #: gschem/lib/system-gschemrc.scm:1411 msgid "Color..." msgstr "Szín..." #: gschem/lib/system-gschemrc.scm:1412 msgid "Line Width & Type..." msgstr "Vonalszélesség és típus" #: gschem/lib/system-gschemrc.scm:1413 msgid "Fill Type..." msgstr "Kitöltés típusa" #: gschem/lib/system-gschemrc.scm:1414 msgid "Symbol Translate..." msgstr "Szimbólum áthelyezése" #: gschem/lib/system-gschemrc.scm:1418 msgid "Invoke Macro" msgstr "Makró végrehajtása" #: gschem/lib/system-gschemrc.scm:1419 msgid "Embed Component/Picture" msgstr "Alkatrész/kép beágyazása" #: gschem/lib/system-gschemrc.scm:1420 msgid "Unembed Component/Picture" msgstr "Alkatrész/kép beágyazásának megszüntetése" #: gschem/lib/system-gschemrc.scm:1421 msgid "Update Component" msgstr "Alkatrész frissítése" #: gschem/lib/system-gschemrc.scm:1422 msgid "Show/Hide Inv Text" msgstr "Láthatatlan szöveg mutatása/elrejtése" #: gschem/lib/system-gschemrc.scm:1428 msgid "Copy into 1" msgstr "Másolás 1-be" #: gschem/lib/system-gschemrc.scm:1429 msgid "Copy into 2" msgstr "Másolás 2-be" #: gschem/lib/system-gschemrc.scm:1430 msgid "Copy into 3" msgstr "Másolás 3-ba" #: gschem/lib/system-gschemrc.scm:1431 msgid "Copy into 4" msgstr "Másolás 4-be" #: gschem/lib/system-gschemrc.scm:1432 msgid "Copy into 5" msgstr "Másolás 5-be" #: gschem/lib/system-gschemrc.scm:1433 msgid "Cut into 1" msgstr "Kivágás 1-be" #: gschem/lib/system-gschemrc.scm:1434 msgid "Cut into 2" msgstr "Kivágás 2-be" #: gschem/lib/system-gschemrc.scm:1435 msgid "Cut into 3" msgstr "Kivágás 3-ba" #: gschem/lib/system-gschemrc.scm:1436 msgid "Cut into 4" msgstr "Kivágás 4-be" #: gschem/lib/system-gschemrc.scm:1437 msgid "Cut into 5" msgstr "Kivágás 5-be" #: gschem/lib/system-gschemrc.scm:1438 msgid "Paste from 1" msgstr "Beillesztés 1-ből" #: gschem/lib/system-gschemrc.scm:1439 msgid "Paste from 2" msgstr "Beillesztés 2-ből" #: gschem/lib/system-gschemrc.scm:1440 msgid "Paste from 3" msgstr "Beillesztés 3-ból" #: gschem/lib/system-gschemrc.scm:1441 msgid "Paste from 4" msgstr "Beillesztés 4-ből" #: gschem/lib/system-gschemrc.scm:1442 msgid "Paste from 5" msgstr "Beillesztés 5-ből" #: gschem/lib/system-gschemrc.scm:1448 msgid "_Redraw" msgstr "Újrarajzolás" #: gschem/lib/system-gschemrc.scm:1449 msgid "_Pan" msgstr "" #: gschem/lib/system-gschemrc.scm:1450 msgid "Zoom _Box" msgstr "" #: gschem/lib/system-gschemrc.scm:1451 msgid "Zoom _Extents" msgstr "" #: gschem/lib/system-gschemrc.scm:1452 msgid "Zoom _In" msgstr "Nagyítás" #: gschem/lib/system-gschemrc.scm:1453 msgid "Zoom _Out" msgstr "Kicsinyítés" #: gschem/lib/system-gschemrc.scm:1454 msgid "Zoom _Full" msgstr "" #: gschem/lib/system-gschemrc.scm:1456 msgid "_Dark color scheme" msgstr "Sötét színséma" #: gschem/lib/system-gschemrc.scm:1457 msgid "_Light color scheme" msgstr "Világos színséma" #: gschem/lib/system-gschemrc.scm:1458 msgid "B_W color scheme" msgstr "" #: gschem/lib/system-gschemrc.scm:1465 msgid "_Manager..." msgstr "_Kezelő..." #: gschem/lib/system-gschemrc.scm:1466 msgid "_Previous" msgstr "Előző" #: gschem/lib/system-gschemrc.scm:1467 msgid "_Next" msgstr "Következő" #: gschem/lib/system-gschemrc.scm:1468 msgid "Ne_w" msgstr "Új" #: gschem/lib/system-gschemrc.scm:1470 msgid "_Close" msgstr "_Bezárás" #: gschem/lib/system-gschemrc.scm:1472 msgid "_Discard" msgstr "El_dobás" #: gschem/lib/system-gschemrc.scm:1478 msgid "_Component..." msgstr "Alkatrész" #: gschem/lib/system-gschemrc.scm:1479 msgid "_Net" msgstr "_Net" #: gschem/lib/system-gschemrc.scm:1480 msgid "B_us" msgstr "B_usz" #: gschem/lib/system-gschemrc.scm:1481 msgid "_Attribute..." msgstr "_Attribútum" #: gschem/lib/system-gschemrc.scm:1482 msgid "_Text..." msgstr "Szöveg" #: gschem/lib/system-gschemrc.scm:1484 msgid "_Line" msgstr "Vona_l" #: gschem/lib/system-gschemrc.scm:1485 msgid "_Box" msgstr "Do_boz" #: gschem/lib/system-gschemrc.scm:1486 msgid "C_ircle" msgstr "Kör" #: gschem/lib/system-gschemrc.scm:1487 msgid "A_rc" msgstr "Kö_rív" #: gschem/lib/system-gschemrc.scm:1488 msgid "_Pin" msgstr "" #: gschem/lib/system-gschemrc.scm:1489 msgid "Pictu_re..." msgstr "Kép" #: gschem/lib/system-gschemrc.scm:1495 msgid "_Down Schematic" msgstr "Kapcsolási rajz szerkesztése" #: gschem/lib/system-gschemrc.scm:1496 msgid "Down _Symbol" msgstr "Szimbólum szerkesztése" #: gschem/lib/system-gschemrc.scm:1497 msgid "_Up" msgstr "Vissza a rajzhoz" #: gschem/lib/system-gschemrc.scm:1498 msgid "D_ocumentation..." msgstr "D_okumentáció" #: gschem/lib/system-gschemrc.scm:1504 msgid "_Attach" msgstr "" #: gschem/lib/system-gschemrc.scm:1505 msgid "_Detach" msgstr "" #: gschem/lib/system-gschemrc.scm:1506 msgid "Show _Value" msgstr "Érték mutatása" #: gschem/lib/system-gschemrc.scm:1507 msgid "Show _Name" msgstr "Név mutatása" #: gschem/lib/system-gschemrc.scm:1508 msgid "Show _Both" msgstr "Mindkettő mutatása" #: gschem/lib/system-gschemrc.scm:1509 msgid "_Toggle Visibility" msgstr "Lá_thatóság váltása" #: gschem/lib/system-gschemrc.scm:1511 msgid "_Find Specific Text..." msgstr "Szöveg keresése" #: gschem/lib/system-gschemrc.scm:1512 msgid "_Hide Specific Text..." msgstr "Szöveg elrejtése" #: gschem/lib/system-gschemrc.scm:1513 msgid "_Show Specific Text..." msgstr "Szöveg mutatása" #: gschem/lib/system-gschemrc.scm:1514 msgid "A_utonumber Text..." msgstr "Szöveg automatikus számozása" #: gschem/lib/system-gschemrc.scm:1520 msgid "_Text Size..." msgstr "Szöveg mére_te" #: gschem/lib/system-gschemrc.scm:1521 msgid "Cycle _grid styles" msgstr "" #: gschem/lib/system-gschemrc.scm:1522 msgid "Toggle _Snap On/Off" msgstr "_Snap váltása" #: gschem/lib/system-gschemrc.scm:1523 msgid "Snap Grid S_pacing..." msgstr "" #: gschem/lib/system-gschemrc.scm:1524 msgid "Scale _up Grid Spacing" msgstr "" #: gschem/lib/system-gschemrc.scm:1526 msgid "Scale _down Grid Spacing" msgstr "" #: gschem/lib/system-gschemrc.scm:1528 msgid "Toggle _Outline/Box" msgstr "" #: gschem/lib/system-gschemrc.scm:1530 msgid "Toggle Net _Rubberband" msgstr "" #: gschem/lib/system-gschemrc.scm:1531 msgid "Toggle _Magnetic Net" msgstr "" #: gschem/lib/system-gschemrc.scm:1532 msgid "Show _Log Window..." msgstr "" #: gschem/lib/system-gschemrc.scm:1534 msgid "Show _Coord Window..." msgstr "" #: gschem/lib/system-gschemrc.scm:1542 msgid "gEDA Docu_mentation..." msgstr "gEDA Doku_mentáció..." #: gschem/lib/system-gschemrc.scm:1543 msgid "gschem _FAQ..." msgstr "gschem _GYIK..." #: gschem/lib/system-gschemrc.scm:1544 msgid "gEDA _Wiki..." msgstr "" #: gschem/lib/system-gschemrc.scm:1545 msgid "Component D_ocumentation..." msgstr "Alkatrész dokumentáció" #: gschem/lib/system-gschemrc.scm:1547 msgid "_Hotkeys..." msgstr "_Gyorsbillentyűk..." #: gschem/lib/system-gschemrc.scm:1548 msgid "_About..." msgstr "Névjegy" #: gschem/lib/system-gschemrc.scm:1554 msgid "_File" msgstr "_Fájl" #: gschem/lib/system-gschemrc.scm:1555 msgid "_Edit" msgstr "Szerkesztés" #: gschem/lib/system-gschemrc.scm:1556 msgid "_Buffer" msgstr "_Buffer" #: gschem/lib/system-gschemrc.scm:1557 msgid "_View" msgstr "Nézet" #: gschem/lib/system-gschemrc.scm:1558 msgid "_Page" msgstr "Oldal" #: gschem/lib/system-gschemrc.scm:1559 msgid "_Add" msgstr "Hozzá_adás" #: gschem/lib/system-gschemrc.scm:1560 msgid "Hie_rarchy" msgstr "Hie_rarchia" #: gschem/lib/system-gschemrc.scm:1561 msgid "A_ttributes" msgstr "A_ttribútumok" #: gschem/lib/system-gschemrc.scm:1562 msgid "_Options" msgstr "Beállítás_ok" #: gschem/lib/system-gschemrc.scm:1563 msgid "_Help" msgstr "Segítség" #: gschem/scheme/gschem/deprecated.scm:102 #, scheme-format msgid "Invalid text alignment ~A." msgstr "" #: gschem/scheme/gschem/gschemdoc.scm:225 msgid "No documentation found" msgstr "Nem találtam dokumentumot" #: gschem/scheme/gschem/keymap.scm:38 #, scheme-format msgid "~S is not a valid key combination." msgstr "" #: gschem/scheme/gschem/keymap.scm:153 #, scheme-format msgid "~S is not a prefix key sequence." msgstr "" geda-gaf-1.8.2/gschem/po/en@quot.header0000644000175000017500000000226312210331572014546 00000000000000# All this catalog "translates" are quotation characters. # The msgids must be ASCII and therefore cannot contain real quotation # characters, only substitutes like grave accent (0x60), apostrophe (0x27) # and double quote (0x22). These substitutes look strange; see # http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html # # This catalog translates grave accent (0x60) and apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019). # It also translates pairs of apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019) # and pairs of quotation mark (0x22) to # left double quotation mark (U+201C) and right double quotation mark (U+201D). # # When output to an UTF-8 terminal, the quotation characters appear perfectly. # When output to an ISO-8859-1 terminal, the single quotation marks are # transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to # grave/acute accent (by libiconv), and the double quotation marks are # transliterated to 0x22. # When output to an ASCII terminal, the single quotation marks are # transliterated to apostrophes, and the double quotation marks are # transliterated to 0x22. # geda-gaf-1.8.2/gschem/po/bs.po0000664000175000017500000014052612220655644012746 00000000000000# Bosnian translation for geda # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-01-27 14:18+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Bosnian \n" "Language: bs\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: gschem/src/a_zoom.c:212 msgid "Zoom too small! Cannot zoom further.\n" msgstr "" #: gschem/src/g_attrib.c:92 msgid "Object ~A is not included in the current gschem page." msgstr "" #: gschem/src/g_attrib.c:112 msgid "Invalid text name/value visibility ~A." msgstr "" #: gschem/src/g_rc.c:312 #, c-format msgid "Invalid zoomfactor [%d] passed to %s\n" msgstr "" #: gschem/src/g_rc.c:458 #, c-format msgid "Invalid size [%d] passed to text-size\n" msgstr "" #: gschem/src/g_rc.c:501 #, c-format msgid "Invalid size [%d] passed to snap-size\n" msgstr "" #: gschem/src/g_rc.c:958 #, c-format msgid "Invalid num levels [%d] passed to undo-levels\n" msgstr "" #: gschem/src/g_rc.c:1220 #, c-format msgid "Invalid size [%d] passed to bus-ripper-size\n" msgstr "" #: gschem/src/g_rc.c:1295 #, c-format msgid "Invalid dot size [%d] passed to dots-grid-dot-size\n" msgstr "" #: gschem/src/g_rc.c:1336 #, c-format msgid "Invalid pixel spacing [%d] passed to dots-grid-fixed-threshold\n" msgstr "" #: gschem/src/g_rc.c:1362 #, c-format msgid "Invalid pixel spacing [%d] passed to mesh-grid-display-threshold\n" msgstr "" #: gschem/src/g_rc.c:1387 #, c-format msgid "Invalid offset [%d] passed to add-attribute-offset\n" msgstr "" #: gschem/src/g_rc.c:1411 #, c-format msgid "Invalid number of seconds [%d] passed to auto-save-interval\n" msgstr "" #: gschem/src/g_rc.c:1435 #, c-format msgid "Invalid gain [%d] passed to mousepan-gain\n" msgstr "" #: gschem/src/g_rc.c:1458 #, c-format msgid "Invalid gain [%d] passed to keyboardpan-gain\n" msgstr "" #: gschem/src/g_rc.c:1505 #, c-format msgid "Invalid number of pixels [%d] passed to select-slack-pixels\n" msgstr "" #: gschem/src/g_rc.c:1531 #, c-format msgid "Invalid gain [%d] passed to zoom-gain\n" msgstr "" #: gschem/src/g_rc.c:1556 #, c-format msgid "Invalid number of steps [%d] scrollpan-steps\n" msgstr "" #: gschem/src/g_select.c:79 gschem/src/g_select.c:116 #: gschem/src/g_select.c:152 msgid "Object ~A is not directly included in a page." msgstr "" #: gschem/src/g_util.c:56 msgid "Could not launch URI ~S: ~A" msgstr "" #: gschem/src/g_window.c:136 msgid "Found invalid gschem window smob ~S" msgstr "" #: gschem/src/gschem.c:175 #, c-format msgid "gEDA/gschem version %s%s.%s\n" msgstr "gEDA/gschem verzija %s%s.%s\n" #: gschem/src/gschem.c:178 msgid "" "gEDA/gschem comes with ABSOLUTELY NO WARRANTY; see COPYING for more " "details.\n" msgstr "" #: gschem/src/gschem.c:180 msgid "" "This is free software, and you are welcome to redistribute it under certain\n" msgstr "" #: gschem/src/gschem.c:182 msgid "" "conditions; please see the COPYING file for more details.\n" "\n" msgstr "" #: gschem/src/gschem.c:185 #, c-format msgid "This is the MINGW32 port.\n" msgstr "" #: gschem/src/gschem.c:189 #, c-format msgid "Current locale settings: %s\n" msgstr "" #: gschem/src/gschem.c:211 msgid "" "You must set the GEDADATA environment variable!\n" "\n" "gschem cannot locate its data files. You must set the GEDADATA\n" "environment variable to point to the correct location.\n" msgstr "" #: gschem/src/gschem.c:248 #, c-format msgid "Couldn't find init scm file [%s]\n" msgstr "" #: gschem/src/gschem.c:252 #, c-format msgid "Read init scm file [%s]\n" msgstr "" #: gschem/src/gschem.c:256 #, c-format msgid "Failed to read init scm file [%s]\n" msgstr "" #: gschem/src/gschem_cairo.c:310 #, c-format msgid "Unknown end for line (%d)\n" msgstr "" #: gschem/src/gschem_cairo.c:318 #, c-format msgid "Unknown type for stroke (%d) !\n" msgstr "" #: gschem/src/gschem_pango.c:289 msgid "cairo context" msgstr "" #: gschem/src/gschem_pango.c:290 msgid "the cairo context for the renderer" msgstr "" #: gschem/src/i_basic.c:77 gschem/src/x_window.c:524 #: gschem/lib/system-gschemrc.scm:1399 msgid "Select Mode" msgstr "Režim izabiranja" #: gschem/src/i_basic.c:79 msgid "Component Mode" msgstr "" #: gschem/src/i_basic.c:81 msgid "Text Mode" msgstr "Tekstualni režim" #: gschem/src/i_basic.c:84 gschem/lib/system-gschemrc.scm:1402 msgid "Copy Mode" msgstr "Režim kopiranja" #: gschem/src/i_basic.c:87 gschem/lib/system-gschemrc.scm:1404 msgid "Move Mode" msgstr "Režim pomjeranja" #: gschem/src/i_basic.c:89 msgid "Rotate Mode" msgstr "" #: gschem/src/i_basic.c:91 gschem/lib/system-gschemrc.scm:1406 msgid "Mirror Mode" msgstr "Režim ogledala" #: gschem/src/i_basic.c:95 msgid "Zoom Box" msgstr "Okvir zooma" #: gschem/src/i_basic.c:99 msgid "Pan Mode" msgstr "" #: gschem/src/i_basic.c:103 #, c-format msgid "Paste %d Mode" msgstr "" #: gschem/src/i_basic.c:109 msgid "Magnetic Net Mode" msgstr "" #: gschem/src/i_basic.c:111 msgid "Net Mode" msgstr "" #: gschem/src/i_basic.c:115 msgid "Bus Mode" msgstr "" #: gschem/src/i_basic.c:118 msgid "Line Mode" msgstr "" #: gschem/src/i_basic.c:121 msgid "Box Mode" msgstr "" #: gschem/src/i_basic.c:124 msgid "Picture Mode" msgstr "" #: gschem/src/i_basic.c:127 msgid "Circle Mode" msgstr "" #: gschem/src/i_basic.c:130 msgid "Arc Mode" msgstr "" #: gschem/src/i_basic.c:133 msgid "Pin Mode" msgstr "" #: gschem/src/i_basic.c:135 gschem/src/i_callbacks.c:529 #: gschem/src/i_callbacks.c:553 msgid "Copy" msgstr "Kopiraj" #: gschem/src/i_basic.c:137 gschem/src/i_callbacks.c:619 #: gschem/src/i_callbacks.c:643 msgid "Move" msgstr "Premjesti" #: gschem/src/i_basic.c:139 gschem/src/i_callbacks.c:574 #: gschem/src/i_callbacks.c:598 msgid "Multiple Copy" msgstr "" #: gschem/src/i_basic.c:142 gschem/lib/system-gschemrc.scm:1403 msgid "Multiple Copy Mode" msgstr "Režim višestrukog kopiranja" #: gschem/src/i_basic.c:168 msgid "Show Hidden" msgstr "Prikaži skriveno" #: gschem/src/i_basic.c:171 msgid "Snap Off" msgstr "" #: gschem/src/i_basic.c:173 msgid "Resnap Active" msgstr "" #: gschem/src/i_basic.c:254 gschem/src/x_window.c:498 msgid "Action" msgstr "Akcija" #: gschem/src/i_basic.c:260 gschem/src/x_dialog.c:2325 #: gschem/src/x_window.c:493 msgid "Stroke" msgstr "Potez" #: gschem/src/i_basic.c:266 gschem/src/x_window.c:495 msgid "none" msgstr "ništa" #: gschem/src/i_basic.c:271 msgid "Repeat/" msgstr "Ponovi/" #: gschem/src/i_basic.c:566 gschem/src/i_basic.c:580 msgid "OFF" msgstr "ISKLJ" #: gschem/src/i_basic.c:584 msgid "NONE" msgstr "NIŠTA" #: gschem/src/i_basic.c:589 #, c-format msgid "Grid(%s, %s)" msgstr "" #: gschem/src/i_callbacks.c:76 gschem/src/i_callbacks.c:1659 #, c-format msgid "New page created [%s]\n" msgstr "Nova strana kreirana [%s]\n" #: gschem/src/i_callbacks.c:124 #, c-format msgid "New Window created [%s]\n" msgstr "Novi prozor keriran [%s]\n" #: gschem/src/i_callbacks.c:242 msgid "Failed to Save All" msgstr "" #: gschem/src/i_callbacks.c:244 msgid "Saved All" msgstr "" #: gschem/src/i_callbacks.c:334 msgid "Closing Window\n" msgstr "" #: gschem/src/i_callbacks.c:534 gschem/src/i_callbacks.c:579 #: gschem/src/i_callbacks.c:624 msgid "Select objs first" msgstr "" #: gschem/src/i_callbacks.c:663 gschem/src/x_multiattrib.c:1549 msgid "Delete" msgstr "Obriši" #: gschem/src/i_callbacks.c:688 msgid "Edit" msgstr "Izmijeni" #: gschem/src/i_callbacks.c:703 msgid "Edit pin type" msgstr "" #: gschem/src/i_callbacks.c:722 msgid "Edit Text" msgstr "Izmijeni tekst" #: gschem/src/i_callbacks.c:745 msgid "Slot" msgstr "Slot" #: gschem/src/i_callbacks.c:762 msgid "Color" msgstr "Boja" #: gschem/src/i_callbacks.c:799 gschem/src/i_callbacks.c:844 msgid "Rotate" msgstr "Rotiraj" #: gschem/src/i_callbacks.c:866 gschem/src/i_callbacks.c:891 msgid "Mirror" msgstr "Ogledalo" #: gschem/src/i_callbacks.c:912 gschem/src/x_dialog.c:2328 #: gschem/lib/system-gschemrc.scm:1415 msgid "Lock" msgstr "Zaključaj" #: gschem/src/i_callbacks.c:930 gschem/lib/system-gschemrc.scm:1416 msgid "Unlock" msgstr "Otključaj" #: gschem/src/i_callbacks.c:948 gschem/src/x_dialog.c:1746 msgid "Translate" msgstr "Translacija" #: gschem/src/i_callbacks.c:951 msgid "WARNING: Do not translate with snap off!\n" msgstr "" #: gschem/src/i_callbacks.c:952 msgid "WARNING: Turning snap on and continuing with translate.\n" msgstr "" #: gschem/src/i_callbacks.c:959 msgid "WARNING: Snap grid size is not equal to 100!\n" msgstr "" #: gschem/src/i_callbacks.c:961 msgid "" "WARNING: If you are translating a symbol to the origin, the snap grid size " "should be set to 100\n" msgstr "" #: gschem/src/i_callbacks.c:992 msgid "Embed" msgstr "" #: gschem/src/i_callbacks.c:1031 msgid "Unembed" msgstr "" #: gschem/src/i_callbacks.c:1073 msgid "Update" msgstr "Ažuriraj" #: gschem/src/i_callbacks.c:1120 msgid "ShowHidden" msgstr "Prikaz skrivenih objekata" #: gschem/src/i_callbacks.c:1426 gschem/src/i_callbacks.c:1498 msgid "Pan" msgstr "Paniraj" #: gschem/src/i_callbacks.c:1703 msgid "Really revert page?" msgstr "" #: gschem/src/i_callbacks.c:1773 msgid "Copy to clipboard" msgstr "Kopiraj na međuspremnik" #: gschem/src/i_callbacks.c:1791 msgid "Cut to clipboard" msgstr "Isijeci u međuspremnik" #: gschem/src/i_callbacks.c:1809 msgid "Paste from clipboard" msgstr "Umetni iz međuspremnika" #: gschem/src/i_callbacks.c:1821 gschem/src/i_callbacks.c:2060 #: gschem/src/i_callbacks.c:2082 gschem/src/i_callbacks.c:2104 #: gschem/src/i_callbacks.c:2126 gschem/src/i_callbacks.c:2148 msgid "Empty buffer" msgstr "Isprazni bafer" #: gschem/src/i_callbacks.c:1866 msgid "Copy 1" msgstr "Kopiraj 1" #: gschem/src/i_callbacks.c:1885 msgid "Copy 2" msgstr "Kopiraj 2" #: gschem/src/i_callbacks.c:1904 msgid "Copy 3" msgstr "Kopiraj 3" #: gschem/src/i_callbacks.c:1923 msgid "Copy 4" msgstr "Kopiraj 4" #: gschem/src/i_callbacks.c:1942 msgid "Copy 5" msgstr "Kopiraj 5" #: gschem/src/i_callbacks.c:1961 msgid "Cut 1" msgstr "Isijeci 1" #: gschem/src/i_callbacks.c:1980 msgid "Cut 2" msgstr "Isijeci 2" #: gschem/src/i_callbacks.c:1999 msgid "Cut 3" msgstr "Isijeci 3" #: gschem/src/i_callbacks.c:2018 msgid "Cut 4" msgstr "Isijeci 4" #: gschem/src/i_callbacks.c:2037 msgid "Cut 5" msgstr "Isijeci 5" #: gschem/src/i_callbacks.c:2053 msgid "Paste 1" msgstr "Umetni" #: gschem/src/i_callbacks.c:2075 msgid "Paste 2" msgstr "Umetni 2" #: gschem/src/i_callbacks.c:2097 msgid "Paste 3" msgstr "Umetni 3" #: gschem/src/i_callbacks.c:2119 msgid "Paste 4" msgstr "Umetni 4" #: gschem/src/i_callbacks.c:2141 msgid "Paste 5" msgstr "Umetni 5" #: gschem/src/i_callbacks.c:2278 gschem/src/x_window.c:359 msgid "Component" msgstr "Komponenta" #: gschem/src/i_callbacks.c:2314 gschem/src/i_callbacks.c:2333 #: gschem/src/x_dialog.c:2298 msgid "Attribute" msgstr "Atribut" #: gschem/src/i_callbacks.c:2355 gschem/src/i_callbacks.c:2382 #: gschem/src/x_dialog.c:2295 msgid "Net" msgstr "Mreža" #: gschem/src/i_callbacks.c:2426 gschem/src/i_callbacks.c:2453 #: gschem/src/x_dialog.c:2313 gschem/src/x_window.c:379 msgid "Bus" msgstr "Sabirnica" #: gschem/src/i_callbacks.c:2534 gschem/src/i_callbacks.c:2557 msgid "Line" msgstr "Linija" #: gschem/src/i_callbacks.c:2579 gschem/src/i_callbacks.c:2602 msgid "Box" msgstr "Okvir" #: gschem/src/i_callbacks.c:2658 gschem/src/i_callbacks.c:2682 msgid "Circle" msgstr "Krug" #: gschem/src/i_callbacks.c:2704 gschem/src/i_callbacks.c:2727 msgid "Arc" msgstr "Luk" #: gschem/src/i_callbacks.c:2749 gschem/src/i_callbacks.c:2772 #: gschem/src/x_dialog.c:2286 msgid "Pin" msgstr "Pin" #: gschem/src/i_callbacks.c:2831 #, c-format msgid "Searching for source [%s]\n" msgstr "Tražim izvor [%s]\n" #: gschem/src/i_callbacks.c:2855 #, c-format msgid "Cannot find source [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:2918 #, c-format msgid "Searching for symbol [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:2924 msgid "Symbol is not a real file. Symbol cannot be loaded.\n" msgstr "" #: gschem/src/i_callbacks.c:2955 msgid "Cannot find any schematics above the current one!\n" msgstr "" #: gschem/src/i_callbacks.c:2985 msgid "Attach" msgstr "Priloži" #: gschem/src/i_callbacks.c:3041 msgid "Detach" msgstr "Odvoji" #: gschem/src/i_callbacks.c:3085 msgid "ShowN" msgstr "" #: gschem/src/i_callbacks.c:3122 msgid "ShowV" msgstr "" #: gschem/src/i_callbacks.c:3159 msgid "ShowB" msgstr "" #: gschem/src/i_callbacks.c:3197 msgid "VisToggle" msgstr "" #: gschem/src/i_callbacks.c:3228 #, c-format msgid "Sorry but this is a non-functioning menu option\n" msgstr "" #: gschem/src/i_callbacks.c:3318 msgid "Action feedback mode set to OUTLINE\n" msgstr "" #: gschem/src/i_callbacks.c:3321 msgid "Action feedback mode set to BOUNDINGBOX\n" msgstr "" #: gschem/src/i_callbacks.c:3346 msgid "Grid OFF\n" msgstr "" #: gschem/src/i_callbacks.c:3347 msgid "Dot grid selected\n" msgstr "" #: gschem/src/i_callbacks.c:3348 msgid "Mesh grid selected\n" msgstr "" #: gschem/src/i_callbacks.c:3369 msgid "Snap OFF (CAUTION!)\n" msgstr "" #: gschem/src/i_callbacks.c:3372 msgid "Snap ON\n" msgstr "" #: gschem/src/i_callbacks.c:3375 msgid "Snap back to the grid (CAUTION!)\n" msgstr "" #: gschem/src/i_callbacks.c:3401 msgid "Rubber band OFF \n" msgstr "" #: gschem/src/i_callbacks.c:3404 msgid "Rubber band ON\n" msgstr "" #: gschem/src/i_callbacks.c:3419 msgid "magnetic net mode: ON\n" msgstr "" #: gschem/src/i_callbacks.c:3422 msgid "magnetic net mode: OFF\n" msgstr "" #: gschem/src/o_box.c:292 #, c-format msgid "Unknown type for box (fill)!\n" msgstr "" #: gschem/src/o_buffer.c:54 #, c-format msgid "o_buffer_copy: Invalid buffer %i\n" msgstr "" #: gschem/src/o_buffer.c:69 #, c-format msgid "o_buffer_cut: Invalid buffer %i\n" msgstr "" #: gschem/src/o_buffer.c:90 #, c-format msgid "Got an invalid buffer_number [o_buffer_paste_start]\n" msgstr "" #: gschem/src/o_bus.c:117 #, c-format msgid "Got an invalid which one in o_bus_draw_stretch\n" msgstr "" #: gschem/src/o_circle.c:284 #, c-format msgid "Unknown type for circle (fill)!\n" msgstr "" #: gschem/src/o_complex.c:223 gschem/src/o_complex.c:227 #, c-format msgid "Translating schematic [%d %d]\n" msgstr "" #: gschem/src/o_misc.c:61 #, c-format msgid "Got an unexpected NULL in o_edit\n" msgstr "" #: gschem/src/o_misc.c:125 msgid "Object already locked\n" msgstr "" #: gschem/src/o_misc.c:163 msgid "Object already unlocked\n" msgstr "" #: gschem/src/o_misc.c:339 msgid "Hidden text is now visible\n" msgstr "" #: gschem/src/o_misc.c:341 msgid "Hidden text is now invisible\n" msgstr "" #: gschem/src/o_misc.c:568 #, c-format msgid "Could not find symbol [%s] in library. Update failed.\n" msgstr "" #: gschem/src/o_misc.c:683 #, c-format msgid "o_autosave_backups: Can't get the real filename of %s." msgstr "" #: gschem/src/o_misc.c:727 #, c-format msgid "Could NOT set previous backup file [%s] read-write\n" msgstr "" #: gschem/src/o_misc.c:747 #, c-format msgid "Could NOT set backup file [%s] readonly\n" msgstr "" #: gschem/src/o_misc.c:752 #, c-format msgid "Could NOT save backup file [%s]\n" msgstr "" #: gschem/src/o_move.c:174 #, c-format msgid "ERROR: NULL object in o_move_end!\n" msgstr "" #: gschem/src/o_move.c:431 #, c-format msgid "DOH! tried to find the whichone, but didn't find it!\n" msgstr "" #: gschem/src/o_move.c:453 #, c-format msgid "Got a non line object in o_move_check_endpoint\n" msgstr "" #: gschem/src/o_net.c:158 #, c-format msgid "Got an invalid which one in o_net_draw_stretch\n" msgstr "" #: gschem/src/o_net.c:537 msgid "Warning: Starting net at off grid coordinate\n" msgstr "" #: gschem/src/o_net.c:602 msgid "Warning: Ending net at off grid coordinate\n" msgstr "" #: gschem/src/o_net.c:944 gschem/src/o_net.c:981 gschem/src/o_net.c:1052 #: gschem/src/o_net.c:1088 #, c-format msgid "Tried to add more than two bus rippers. Internal gschem error.\n" msgstr "" #: gschem/src/o_net.c:1156 #, c-format msgid "Bus ripper symbol [%s] was not found in any component library\n" msgstr "" #: gschem/src/o_path.c:340 #, c-format msgid "Unknown type for path (fill)!\n" msgstr "" #: gschem/src/o_picture.c:166 #, c-format msgid "Failed to load picture: %s" msgstr "" #: gschem/src/o_picture.c:180 msgid "Picture" msgstr "" #: gschem/src/o_picture.c:544 #, c-format msgid "Failed to replace pictures: %s" msgstr "" #: gschem/src/o_slot.c:81 msgid "Slot attribute malformed\n" msgstr "" #: gschem/src/o_slot.c:89 msgid "numslots attribute missing\n" msgstr "" #: gschem/src/o_slot.c:90 msgid "Slotting not allowed for this component\n" msgstr "" #: gschem/src/o_slot.c:105 msgid "New slot number out of range\n" msgstr "" #: gschem/src/o_undo.c:307 msgid "Undo/Redo disabled in rc file\n" msgstr "" #: gschem/src/parsecmd.c:82 #, c-format msgid "" "Usage: %s [OPTION ...] [--] [FILE ...]\n" "\n" "Interactively edit gEDA schematics or symbols. If one or more FILEs\n" "are specified, open them for editing; otherwise, create a new, empty\n" "schematic.\n" "\n" "Options:\n" " -q, --quiet Quiet mode.\n" " -v, --verbose Verbose mode.\n" " -r, --config-file=FILE Additional configuration file to load.\n" " -L DIR Add DIR to Scheme search path.\n" " -c EXPR Scheme expression to run at startup.\n" " -s FILE Scheme script to run at startup.\n" " -o, --output=FILE Output filename (for printing).\n" " -p Automatically place the window.\n" " -V, --version Show version information.\n" " -h, --help Help; this message.\n" " -- Treat all remaining arguments as filenames.\n" "\n" "Report bugs at \n" "gEDA/gaf homepage: \n" msgstr "" #: gschem/src/parsecmd.c:116 #, c-format msgid "" "gEDA %s (g%.7s)\n" "Copyright (C) 1998-2012 gEDA developers\n" "This is free software, and you are welcome to redistribute it under\n" "certain conditions. For details, see the file `COPYING', which is\n" "included in the gEDA distribution.\n" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" #: gschem/src/x_attribedit.c:127 #, c-format msgid "Got invalid show option; defaulting to show both\n" msgstr "" #: gschem/src/x_attribedit.c:141 #, c-format msgid "ERROR: NULL object!\n" msgstr "" #: gschem/src/x_attribedit.c:329 msgid "Single Attribute Editor" msgstr "" #: gschem/src/x_attribedit.c:359 msgid "Edit Attribute" msgstr "" #: gschem/src/x_attribedit.c:361 msgid "Add Attribute" msgstr "" #: gschem/src/x_attribedit.c:377 gschem/src/x_multiattrib.c:1973 msgid "Name:" msgstr "" #: gschem/src/x_attribedit.c:394 gschem/src/x_multiattrib.c:1992 msgid "Value:" msgstr "" #: gschem/src/x_attribedit.c:410 gschem/src/x_multiattrib.c:2038 msgid "Visible" msgstr "" #: gschem/src/x_attribedit.c:430 msgid "Show Value Only" msgstr "" #: gschem/src/x_attribedit.c:432 msgid "Show Name Only" msgstr "" #: gschem/src/x_attribedit.c:434 gschem/src/x_multiattrib.c:1512 msgid "Show Name & Value" msgstr "" #: gschem/src/x_attribedit.c:441 msgid "Attach Options" msgstr "" #: gschem/src/x_attribedit.c:456 msgid "All" msgstr "" #: gschem/src/x_attribedit.c:464 gschem/src/x_compselect.c:922 #: gschem/src/x_compselect.c:1036 msgid "Components" msgstr "" #: gschem/src/x_attribedit.c:472 gschem/src/x_window.c:369 msgid "Nets" msgstr "" #: gschem/src/x_attribedit.c:480 msgid "Replace existing attributes" msgstr "" #: gschem/src/x_autonumber.c:415 msgid "" "slotted object without slot attribute may cause problems when autonumbering " "slots\n" msgstr "" #: gschem/src/x_autonumber.c:430 #, c-format msgid "" "duplicate slot may cause problems: [symbolname=%s, number=%d, slot=%d]\n" msgstr "" #: gschem/src/x_autonumber.c:672 msgid "No searchstring given in autonumber text.\n" msgstr "" #: gschem/src/x_autonumber.c:724 msgid "No '*' or '?' given at the end of the autonumber text.\n" msgstr "" #: gschem/src/x_autonumber.c:859 msgid "Diagonal" msgstr "" #: gschem/src/x_autonumber.c:860 msgid "Top to bottom" msgstr "" #: gschem/src/x_autonumber.c:860 msgid "Bottom to top" msgstr "" #: gschem/src/x_autonumber.c:861 msgid "Left to right" msgstr "" #: gschem/src/x_autonumber.c:861 msgid "Right to left" msgstr "" #: gschem/src/x_autonumber.c:862 msgid "File order" msgstr "" #: gschem/src/x_autonumber.c:1198 msgid "Autonumber text" msgstr "" #: gschem/src/x_autonumber.c:1222 msgid "Scope" msgstr "" #: gschem/src/x_autonumber.c:1244 msgid "Search for:" msgstr "" #: gschem/src/x_autonumber.c:1258 msgid "Autonumber text in:" msgstr "" #: gschem/src/x_autonumber.c:1265 msgid "Skip numbers found in:" msgstr "" #: gschem/src/x_autonumber.c:1277 gschem/src/x_autonumber.c:1286 msgid "Selected objects" msgstr "" #: gschem/src/x_autonumber.c:1278 gschem/src/x_autonumber.c:1287 msgid "Current page" msgstr "" #: gschem/src/x_autonumber.c:1279 gschem/src/x_autonumber.c:1288 msgid "Whole hierarchy" msgstr "" #: gschem/src/x_autonumber.c:1290 msgid "Overwrite existing numbers" msgstr "" #: gschem/src/x_autonumber.c:1295 msgid "Options" msgstr "" #: gschem/src/x_autonumber.c:1317 msgid "Starting number:" msgstr "" #: gschem/src/x_autonumber.c:1324 msgid "Sort order:" msgstr "" #: gschem/src/x_autonumber.c:1345 msgid "Remove numbers" msgstr "" #: gschem/src/x_autonumber.c:1349 msgid "Automatic slotting" msgstr "" #: gschem/src/x_clipboard.c:249 #, c-format msgid "" "Invalid schematic on clipboard.\n" "\n" "An error occurred while inserting clipboard data: %s." msgstr "" #: gschem/src/x_clipboard.c:251 msgid "Clipboard insertion failed" msgstr "" #: gschem/src/x_color.c:94 gschem/src/x_color.c:103 #, c-format msgid "Could not allocate the color %s!\n" msgstr "" #: gschem/src/x_color.c:94 msgid "black" msgstr "" #: gschem/src/x_color.c:103 msgid "white" msgstr "" #: gschem/src/x_color.c:125 #, c-format msgid "Could not allocate display color %i!\n" msgstr "" #: gschem/src/x_color.c:147 #, c-format msgid "Could not allocate outline color %i!\n" msgstr "" #: gschem/src/x_color.c:164 gschem/src/x_color.c:181 gschem/src/x_color.c:197 #, c-format msgid "Tried to get an invalid color: %d\n" msgstr "" #: gschem/src/x_color.c:214 #, c-format msgid "Tried to get an invalid outline color: %d\n" msgstr "" #: gschem/src/x_compselect.c:1066 msgid "Filter:" msgstr "" #: gschem/src/x_compselect.c:1169 gschem/src/x_dialog.c:3653 #: gschem/src/x_multiattrib.c:1839 msgid "Name" msgstr "" #: gschem/src/x_compselect.c:1178 gschem/src/x_multiattrib.c:1863 msgid "Value" msgstr "" #: gschem/src/x_compselect.c:1217 msgid "Default behavior - reference component" msgstr "" #: gschem/src/x_compselect.c:1220 msgid "Embed component in schematic" msgstr "" #: gschem/src/x_compselect.c:1223 msgid "Include component as individual objects" msgstr "" #: gschem/src/x_compselect.c:1380 msgid "Select Component..." msgstr "" #: gschem/src/x_compselect.c:1403 msgid "In Use" msgstr "" #: gschem/src/x_compselect.c:1407 msgid "Libraries" msgstr "" #: gschem/src/x_compselect.c:1416 gschem/src/x_fileselect.c:122 msgid "Preview" msgstr "" #: gschem/src/x_compselect.c:1444 msgid "Attributes" msgstr "" #: gschem/src/x_dialog.c:176 msgid "Text Entry..." msgstr "" #: gschem/src/x_dialog.c:207 msgid "" "Enter text, click apply,\n" "move cursor into window, click to place text.\n" "Middle button to rotate while placing." msgstr "" #: gschem/src/x_dialog.c:301 msgid "Upper Left" msgstr "" #: gschem/src/x_dialog.c:304 msgid "Upper Middle" msgstr "" #: gschem/src/x_dialog.c:307 msgid "Upper Right" msgstr "" #: gschem/src/x_dialog.c:311 msgid "Middle Left" msgstr "" #: gschem/src/x_dialog.c:314 msgid "Middle Middle" msgstr "" #: gschem/src/x_dialog.c:317 msgid "Middle Right" msgstr "" #: gschem/src/x_dialog.c:321 msgid "Lower Left" msgstr "" #: gschem/src/x_dialog.c:324 msgid "Lower Middle" msgstr "" #: gschem/src/x_dialog.c:327 msgid "Lower Right" msgstr "" #: gschem/src/x_dialog.c:438 msgid "Edit Text Properties" msgstr "" #: gschem/src/x_dialog.c:473 msgid "Text Content" msgstr "" #: gschem/src/x_dialog.c:509 msgid "Text Properties" msgstr "" #: gschem/src/x_dialog.c:524 msgid "Color:" msgstr "" #: gschem/src/x_dialog.c:531 msgid "Size:" msgstr "" #: gschem/src/x_dialog.c:540 msgid "Alignment:" msgstr "" #: gschem/src/x_dialog.c:589 msgid "Solid" msgstr "" #: gschem/src/x_dialog.c:590 msgid "Dotted" msgstr "" #: gschem/src/x_dialog.c:591 msgid "Dashed" msgstr "" #: gschem/src/x_dialog.c:592 msgid "Center" msgstr "" #: gschem/src/x_dialog.c:593 msgid "Phantom" msgstr "" #: gschem/src/x_dialog.c:594 gschem/src/x_dialog.c:691 #: gschem/src/x_dialog.c:700 gschem/src/x_dialog.c:709 #: gschem/src/x_dialog.c:810 gschem/src/x_dialog.c:813 #: gschem/src/x_dialog.c:816 gschem/src/x_dialog.c:1043 #: gschem/src/x_dialog.c:1146 gschem/src/x_dialog.c:1155 #: gschem/src/x_dialog.c:1164 gschem/src/x_dialog.c:1173 #: gschem/src/x_dialog.c:1182 gschem/src/x_dialog.c:1295 #: gschem/src/x_dialog.c:1298 gschem/src/x_dialog.c:1301 #: gschem/src/x_dialog.c:1304 gschem/src/x_dialog.c:1307 msgid "*unchanged*" msgstr "" #: gschem/src/x_dialog.c:921 msgid "Edit Line Width & Type" msgstr "" #: gschem/src/x_dialog.c:960 gschem/src/x_print.c:307 msgid "Type:" msgstr "" #: gschem/src/x_dialog.c:964 msgid "Width:" msgstr "" #: gschem/src/x_dialog.c:968 msgid "Dash Length:" msgstr "" #: gschem/src/x_dialog.c:972 msgid "Dash Space:" msgstr "" #: gschem/src/x_dialog.c:1039 msgid "Hollow" msgstr "" #: gschem/src/x_dialog.c:1040 msgid "Filled" msgstr "" #: gschem/src/x_dialog.c:1041 msgid "Mesh" msgstr "" #: gschem/src/x_dialog.c:1042 msgid "Hatch" msgstr "" #: gschem/src/x_dialog.c:1416 msgid "Edit Fill Type" msgstr "" #: gschem/src/x_dialog.c:1455 msgid "Fill Type:" msgstr "" #: gschem/src/x_dialog.c:1459 msgid "Line Width:" msgstr "" #: gschem/src/x_dialog.c:1463 msgid "Angle 1:" msgstr "" #: gschem/src/x_dialog.c:1467 msgid "Pitch 1:" msgstr "" #: gschem/src/x_dialog.c:1471 msgid "Angle 2:" msgstr "" #: gschem/src/x_dialog.c:1475 msgid "Pitch 2:" msgstr "" #: gschem/src/x_dialog.c:1602 msgid "Arc Params" msgstr "" #: gschem/src/x_dialog.c:1643 msgid "Arc Radius:" msgstr "" #: gschem/src/x_dialog.c:1651 msgid "Start Angle:" msgstr "" #: gschem/src/x_dialog.c:1659 msgid "Degrees of Sweep:" msgstr "" #: gschem/src/x_dialog.c:1777 msgid "" "Offset to translate?\n" "(0 for origin)" msgstr "" #: gschem/src/x_dialog.c:1845 msgid "Text Size" msgstr "" #: gschem/src/x_dialog.c:1875 msgid "Enter new text size:" msgstr "" #: gschem/src/x_dialog.c:1951 msgid "Snap Size" msgstr "" #: gschem/src/x_dialog.c:1981 msgid "Enter new snap grid spacing:" msgstr "" #: gschem/src/x_dialog.c:2058 msgid "Edit slot number" msgstr "" #: gschem/src/x_dialog.c:2089 msgid "Edit slot number:" msgstr "" #: gschem/src/x_dialog.c:2130 #, c-format msgid "%s (g%.7s)" msgstr "" #: gschem/src/x_dialog.c:2151 msgid "About gschem" msgstr "" #: gschem/src/x_dialog.c:2152 msgid "gEDA: GPL Electronic Design Automation" msgstr "" #. TRANSLATORS: "ChangeLog" is a literal filename; please don't translate it. #: gschem/src/x_dialog.c:2155 msgid "" "Copyright © 1998-2012 Ales Hvezda \n" "Copyright © 1998-2012 gEDA Contributors (see ChangeLog for details)" msgstr "" #: gschem/src/x_dialog.c:2214 msgid "Coords" msgstr "" #: gschem/src/x_dialog.c:2235 msgid "Screen" msgstr "" #: gschem/src/x_dialog.c:2244 msgid "World" msgstr "" #: gschem/src/x_dialog.c:2283 msgid "Background" msgstr "" #: gschem/src/x_dialog.c:2289 msgid "Net endpoint" msgstr "" #: gschem/src/x_dialog.c:2292 msgid "Graphic" msgstr "" #: gschem/src/x_dialog.c:2301 msgid "Logic bubble" msgstr "" #: gschem/src/x_dialog.c:2304 msgid "Grid point" msgstr "" #: gschem/src/x_dialog.c:2307 msgid "Detached attribute" msgstr "" #: gschem/src/x_dialog.c:2310 gschem/src/x_window.c:387 msgid "Text" msgstr "" #: gschem/src/x_dialog.c:2316 msgid "Selection" msgstr "" #: gschem/src/x_dialog.c:2319 msgid "Bounding box" msgstr "" #: gschem/src/x_dialog.c:2322 msgid "Zoom box" msgstr "" #: gschem/src/x_dialog.c:2331 msgid "Output background" msgstr "" #: gschem/src/x_dialog.c:2334 msgid "Net junction" msgstr "" #: gschem/src/x_dialog.c:2337 msgid "Mesh grid major" msgstr "" #: gschem/src/x_dialog.c:2340 msgid "Mesh grid minor" msgstr "" #: gschem/src/x_dialog.c:2343 msgid "Unknown" msgstr "" #: gschem/src/x_dialog.c:2494 #, c-format msgid "ERROR: NULL object in color_edit_dialog_apply!\n" msgstr "" #: gschem/src/x_dialog.c:2538 msgid "Color Edit" msgstr "" #: gschem/src/x_dialog.c:2569 msgid "Object color:" msgstr "" #: gschem/src/x_dialog.c:2622 msgid "Hotkeys" msgstr "" #: gschem/src/x_dialog.c:2662 msgid "Function" msgstr "" #: gschem/src/x_dialog.c:2669 msgid "Keystroke(s)" msgstr "" #: gschem/src/x_dialog.c:2977 msgid "Find Text" msgstr "" #: gschem/src/x_dialog.c:3008 msgid "Text to find:" msgstr "" #: gschem/src/x_dialog.c:3018 msgid "descend into hierarchy" msgstr "" #: gschem/src/x_dialog.c:3084 msgid "Hide Text" msgstr "" #: gschem/src/x_dialog.c:3115 msgid "Hide text starting with:" msgstr "" #: gschem/src/x_dialog.c:3185 msgid "Show Text" msgstr "" #: gschem/src/x_dialog.c:3216 msgid "Show text starting with:" msgstr "" #: gschem/src/x_dialog.c:3675 msgid "S_elect the schematics you want to save:" msgstr "" #: gschem/src/x_dialog.c:3770 #, c-format msgid "Save the changes to schematic \"%s\" before closing?" msgstr "" #: gschem/src/x_dialog.c:3776 #, c-format msgid "" "There are %d schematics with unsaved changes. Save changes before closing?" msgstr "" #: gschem/src/x_dialog.c:3805 msgid "If you don't save, all your changes will be permanently lost." msgstr "" #: gschem/src/x_dialog.c:3825 msgid "_Close without saving" msgstr "" #: gschem/src/x_dialog.c:4161 #, c-format msgid "" "The input attribute \"%s\" is invalid\n" "Please correct in order to continue\n" "\n" "The name and value must be non-empty.\n" "The name cannot end with a space.\n" "The value cannot start with a space." msgstr "" #: gschem/src/x_dialog.c:4163 msgid "Invalid Attribute" msgstr "" #: gschem/src/x_dialog.c:4199 msgid "Pin type" msgstr "" #: gschem/src/x_dialog.c:4223 msgid "Net pin" msgstr "" #: gschem/src/x_dialog.c:4225 msgid "Bus pin (graphical)" msgstr "" #: gschem/src/x_fileselect.c:42 msgid "Schematics" msgstr "" #: gschem/src/x_fileselect.c:47 msgid "Symbols" msgstr "" #: gschem/src/x_fileselect.c:52 msgid "Schematics and symbols" msgstr "" #: gschem/src/x_fileselect.c:58 msgid "All files" msgstr "" #: gschem/src/x_fileselect.c:171 msgid "Open..." msgstr "" #: gschem/src/x_fileselect.c:231 msgid "Save as..." msgstr "" #: gschem/src/x_fileselect.c:284 #, c-format msgid "" "The selected file `%s' already exists.\n" "\n" "Would you like to overwrite it?" msgstr "" #: gschem/src/x_fileselect.c:287 msgid "Overwrite file?" msgstr "" #: gschem/src/x_fileselect.c:289 msgid "Save cancelled on user request\n" msgstr "" #: gschem/src/x_image.c:176 msgid "Encapsulated Postscript" msgstr "" #: gschem/src/x_image.c:296 #, c-format msgid "x_image_lowlevel: Unable to write eps file %s.\n" msgstr "" #: gschem/src/x_image.c:374 #, c-format msgid "x_image_lowlevel: Unable to write %s file %s.\n" msgstr "" #: gschem/src/x_image.c:384 #, c-format msgid "" "There was the following error when saving image with type %s to filename:\n" "%s\n" "\n" "%s.\n" msgstr "" #: gschem/src/x_image.c:403 #, c-format msgid "Wrote color image to [%s] [%d x %d]\n" msgstr "" #: gschem/src/x_image.c:405 #, c-format msgid "Wrote black and white image to [%s] [%d x %d]\n" msgstr "" #: gschem/src/x_image.c:413 msgid "x_image_lowlevel: Unable to get pixbuf from gschem's window.\n" msgstr "" #: gschem/src/x_image.c:458 msgid "Width x Height" msgstr "" #: gschem/src/x_image.c:474 msgid "Image type" msgstr "" #: gschem/src/x_image.c:495 msgid "Write image..." msgstr "" #: gschem/src/x_log.c:209 msgid "** Invalid UTF-8 in log message. See stderr or gschem.log.\n" msgstr "" #: gschem/src/x_log.c:288 msgid "Status" msgstr "" #: gschem/src/x_menus.c:37 msgid "/Add Net" msgstr "" #: gschem/src/x_menus.c:38 msgid "/Add Attribute..." msgstr "" #: gschem/src/x_menus.c:39 msgid "/Add Component..." msgstr "" #: gschem/src/x_menus.c:40 msgid "/Add Bus" msgstr "" #: gschem/src/x_menus.c:41 msgid "/Add Text" msgstr "" #: gschem/src/x_menus.c:43 msgid "/Zoom In" msgstr "" #: gschem/src/x_menus.c:44 msgid "/Zoom Out" msgstr "" #: gschem/src/x_menus.c:45 msgid "/Zoom Box" msgstr "" #: gschem/src/x_menus.c:46 msgid "/Zoom Extents" msgstr "" #: gschem/src/x_menus.c:48 msgid "/Select" msgstr "" #: gschem/src/x_menus.c:49 msgid "/Edit..." msgstr "" #: gschem/src/x_menus.c:50 msgid "/Edit pin type..." msgstr "" #: gschem/src/x_menus.c:51 msgid "/Copy" msgstr "" #: gschem/src/x_menus.c:52 msgid "/Move" msgstr "" #: gschem/src/x_menus.c:53 msgid "/Delete" msgstr "" #: gschem/src/x_menus.c:56 msgid "/Down Schematic" msgstr "" #: gschem/src/x_menus.c:57 msgid "/Down Symbol" msgstr "" #: gschem/src/x_menus.c:58 msgid "/Up" msgstr "" #: gschem/src/x_menus.c:348 #, c-format msgid "Tried to set the sensitivity on non-existent menu item '%s'\n" msgstr "" #: gschem/src/x_menus.c:372 msgid "Popup_menu_item_factory doesn't exist!\n" msgstr "" #: gschem/src/x_menus.c:385 msgid "Tried to set the sensitivity on a non-existent popup menu_item\n" msgstr "" #: gschem/src/x_misc.c:74 msgid "The operating system is out of memory or resources." msgstr "" #: gschem/src/x_misc.c:155 #, c-format msgid "%s failed to launch URI" msgstr "" #: gschem/src/x_multiattrib.c:961 msgid "Attributes with empty name are not allowed. Please set a name." msgstr "" #: gschem/src/x_multiattrib.c:1514 msgid "Show Value only" msgstr "" #: gschem/src/x_multiattrib.c:1516 msgid "Show Name only" msgstr "" #: gschem/src/x_multiattrib.c:1544 msgid "Promote" msgstr "" #: gschem/src/x_multiattrib.c:1548 msgid "Duplicate" msgstr "" #: gschem/src/x_multiattrib.c:1765 msgid "Edit Attributes" msgstr "" #: gschem/src/x_multiattrib.c:1883 msgid "Vis?" msgstr "" #: gschem/src/x_multiattrib.c:1901 msgid "N" msgstr "" #: gschem/src/x_multiattrib.c:1919 msgid "V" msgstr "" #: gschem/src/x_multiattrib.c:1941 msgid "Show inherited attributes" msgstr "" #: gschem/src/x_multiattrib.c:1957 msgid "Add Attribute" msgstr "" #: gschem/src/x_pagesel.c:246 msgid "New Page" msgstr "" #: gschem/src/x_pagesel.c:247 msgid "Open Page..." msgstr "" #: gschem/src/x_pagesel.c:249 msgid "Save Page" msgstr "" #: gschem/src/x_pagesel.c:250 msgid "Close Page" msgstr "" #: gschem/src/x_pagesel.c:251 msgid "Discard Page" msgstr "" #: gschem/src/x_pagesel.c:369 msgid "Page Manager" msgstr "" #: gschem/src/x_pagesel.c:425 msgid "Filename" msgstr "" #: gschem/src/x_pagesel.c:441 msgid "Changed" msgstr "" #: gschem/src/x_pagesel.c:461 msgid "Right click on the filename for more options..." msgstr "" #: gschem/src/x_preview.c:231 msgid "Preview Buffer" msgstr "" #: gschem/src/x_print.c:84 msgid "Select PostScript Filename..." msgstr "" #: gschem/src/x_print.c:164 msgid "Extents with margins" msgstr "" #: gschem/src/x_print.c:170 msgid "Extents no margins" msgstr "" #: gschem/src/x_print.c:176 msgid "Current Window" msgstr "" #: gschem/src/x_print.c:210 msgid "Landscape" msgstr "" #: gschem/src/x_print.c:216 msgid "Portrait" msgstr "" #: gschem/src/x_print.c:276 msgid "Print..." msgstr "" #: gschem/src/x_print.c:284 msgid "Settings" msgstr "" #: gschem/src/x_print.c:296 msgid "Output paper size:" msgstr "" #: gschem/src/x_print.c:318 msgid "Orientation:" msgstr "" #: gschem/src/x_print.c:330 msgid "Destination" msgstr "" #: gschem/src/x_print.c:343 msgid "File:" msgstr "" #: gschem/src/x_print.c:373 msgid "Command:" msgstr "" #: gschem/src/x_print.c:745 msgid "No print destination specified\n" msgstr "" #: gschem/src/x_print.c:752 #, c-format msgid "Cannot print current schematic to [%s]\n" msgstr "" #: gschem/src/x_print.c:761 #, c-format msgid "" "Error printing to file '%s'\n" "Check the log window for more information" msgstr "" #: gschem/src/x_print.c:768 #, c-format msgid "Printed current schematic to [%s]\n" msgstr "" #: gschem/src/x_rc.c:40 msgid "ERROR: An unknown error occurred while parsing configuration files.\n" msgstr "" #: gschem/src/x_rc.c:45 msgid "" "An unknown error occurred while parsing configuration files.\n" "\n" "The gschem log may contain more information." msgstr "" #: gschem/src/x_rc.c:57 #, c-format msgid "ERROR: %s\n" msgstr "" #: gschem/src/x_rc.c:60 #, c-format msgid "" "%s\n" "\n" "The gschem log may contain more information." msgstr "" #: gschem/src/x_rc.c:68 msgid "Cannot load gschem configuration." msgstr "" #: gschem/src/x_script.c:47 gschem/lib/system-gschemrc.scm:1381 msgid "Execute Script..." msgstr "Izvrši Skriptu..." #: gschem/src/x_script.c:66 #, c-format msgid "Executing guile script [%s]\n" msgstr "" #: gschem/src/x_window.c:82 #, c-format msgid "Couldn't allocate gc\n" msgstr "" #: gschem/src/x_window.c:321 msgid "New" msgstr "" #: gschem/src/x_window.c:322 msgid "New file" msgstr "" #: gschem/src/x_window.c:328 msgid "Open" msgstr "" #: gschem/src/x_window.c:329 msgid "Open file..." msgstr "" #: gschem/src/x_window.c:335 msgid "Save" msgstr "" #: gschem/src/x_window.c:336 msgid "Save file" msgstr "" #: gschem/src/x_window.c:343 msgid "Undo" msgstr "" #: gschem/src/x_window.c:344 msgid "Undo last operation" msgstr "" #: gschem/src/x_window.c:350 msgid "Redo" msgstr "" #: gschem/src/x_window.c:351 msgid "Redo last undo" msgstr "" #: gschem/src/x_window.c:360 msgid "" "Add component...\n" "Select library and component from list, move the mouse into main window, " "click to place\n" "Right mouse button to cancel" msgstr "" #: gschem/src/x_window.c:370 msgid "" "Add nets mode\n" "Right mouse button to cancel" msgstr "" #: gschem/src/x_window.c:380 msgid "" "Add buses mode\n" "Right mouse button to cancel" msgstr "" #: gschem/src/x_window.c:388 msgid "Add Text..." msgstr "" #: gschem/src/x_window.c:398 msgid "Select" msgstr "" #: gschem/src/x_window.c:399 msgid "Select mode" msgstr "" #: gschem/src/x_window.c:465 msgid "Evaluate:" msgstr "" #: gschem/src/x_window.c:484 msgid "Pick" msgstr "" #: gschem/src/x_window.c:500 msgid "Repeat/none" msgstr "" #: gschem/src/x_window.c:510 msgid "Menu/Cancel" msgstr "" #: gschem/src/x_window.c:512 msgid "Pan/Cancel" msgstr "" #: gschem/src/x_window.c:737 #, c-format msgid "Loading schematic [%s]\n" msgstr "" #: gschem/src/x_window.c:748 #, c-format msgid "" "An error occurred while loading the requested file.\n" "\n" "Loading from '%s' failed: %s. The gschem log may contain more information." msgstr "" #: gschem/src/x_window.c:750 msgid "Failed to load file" msgstr "" #: gschem/src/x_window.c:759 #, c-format msgid "New file [%s]\n" msgstr "" #: gschem/src/x_window.c:862 #, c-format msgid "Could NOT save page [%s]\n" msgstr "" #: gschem/src/x_window.c:863 msgid "Error while trying to save" msgstr "" #: gschem/src/x_window.c:873 msgid "Failed to save file" msgstr "" #: gschem/src/x_window.c:884 #, c-format msgid "Saved as [%s]\n" msgstr "" #: gschem/src/x_window.c:886 #, c-format msgid "Saved [%s]\n" msgstr "" #: gschem/src/x_window.c:888 msgid "Saved" msgstr "" #: gschem/src/x_window.c:962 #, c-format msgid "Discarding page [%s]\n" msgstr "" #: gschem/src/x_window.c:962 #, c-format msgid "Closing [%s]\n" msgstr "" #: gschem/data/geda-gschem.desktop.in:3 msgid "gEDA Schematic Editor" msgstr "" #: gschem/data/geda-gschem.desktop.in:4 msgid "Create and edit electrical schematics and symbols with gschem" msgstr "" #: gschem/lib/system-gschemrc.scm:1368 msgid "_New" msgstr "_Nova" #: gschem/lib/system-gschemrc.scm:1369 msgid "_Open..." msgstr "_Otvori..." #: gschem/lib/system-gschemrc.scm:1371 msgid "Open Recen_t" msgstr "O_tvori ranije" #: gschem/lib/system-gschemrc.scm:1373 msgid "_Save" msgstr "_Snimi" #: gschem/lib/system-gschemrc.scm:1374 msgid "Save _As..." msgstr "Snimi _kao..." #: gschem/lib/system-gschemrc.scm:1375 msgid "Save All" msgstr "Snimi sve" #: gschem/lib/system-gschemrc.scm:1376 gschem/lib/system-gschemrc.scm:1469 msgid "_Revert" msgstr "_Vrati" #: gschem/lib/system-gschemrc.scm:1378 msgid "_Print..." msgstr "_Štampaj..." #: gschem/lib/system-gschemrc.scm:1379 msgid "Write _image..." msgstr "Piši sl_iku..." #: gschem/lib/system-gschemrc.scm:1383 msgid "New Window" msgstr "Novi prozor" #: gschem/lib/system-gschemrc.scm:1384 msgid "_Close Window" msgstr "" #: gschem/lib/system-gschemrc.scm:1385 msgid "_Quit" msgstr "_Izlaz" #: gschem/lib/system-gschemrc.scm:1391 msgid "_Undo" msgstr "_Poništi" #: gschem/lib/system-gschemrc.scm:1392 msgid "_Redo" msgstr "_Vrati" #: gschem/lib/system-gschemrc.scm:1394 msgid "Cu_t" msgstr "_Isijeci" #: gschem/lib/system-gschemrc.scm:1395 msgid "_Copy" msgstr "_Kopiraj" #: gschem/lib/system-gschemrc.scm:1396 msgid "_Paste" msgstr "_Umetni" #: gschem/lib/system-gschemrc.scm:1397 msgid "_Delete" msgstr "_Obriši" #: gschem/lib/system-gschemrc.scm:1400 msgid "Select All" msgstr "" #: gschem/lib/system-gschemrc.scm:1401 msgid "Deselect" msgstr "" #: gschem/lib/system-gschemrc.scm:1405 msgid "Rotate 90 Mode" msgstr "Režim rotacije 90 stepeni" #: gschem/lib/system-gschemrc.scm:1408 msgid "Edit..." msgstr "Izmijeni..." #: gschem/lib/system-gschemrc.scm:1409 msgid "Edit Text..." msgstr "Izmijeni tekst..." #: gschem/lib/system-gschemrc.scm:1410 msgid "Slot..." msgstr "Slot..." #: gschem/lib/system-gschemrc.scm:1411 msgid "Color..." msgstr "Boja..." #: gschem/lib/system-gschemrc.scm:1412 msgid "Line Width & Type..." msgstr "" #: gschem/lib/system-gschemrc.scm:1413 msgid "Fill Type..." msgstr "" #: gschem/lib/system-gschemrc.scm:1414 msgid "Symbol Translate..." msgstr "" #: gschem/lib/system-gschemrc.scm:1418 msgid "Invoke Macro" msgstr "" #: gschem/lib/system-gschemrc.scm:1419 msgid "Embed Component/Picture" msgstr "" #: gschem/lib/system-gschemrc.scm:1420 msgid "Unembed Component/Picture" msgstr "" #: gschem/lib/system-gschemrc.scm:1421 msgid "Update Component" msgstr "" #: gschem/lib/system-gschemrc.scm:1422 msgid "Show/Hide Inv Text" msgstr "" #: gschem/lib/system-gschemrc.scm:1428 msgid "Copy into 1" msgstr "Kopiraj u 1" #: gschem/lib/system-gschemrc.scm:1429 msgid "Copy into 2" msgstr "Kopiraj u 2" #: gschem/lib/system-gschemrc.scm:1430 msgid "Copy into 3" msgstr "Kopiraj u 3" #: gschem/lib/system-gschemrc.scm:1431 msgid "Copy into 4" msgstr "Kopiraj u 4" #: gschem/lib/system-gschemrc.scm:1432 msgid "Copy into 5" msgstr "Kopiraj u 5" #: gschem/lib/system-gschemrc.scm:1433 msgid "Cut into 1" msgstr "Isijeci u 1" #: gschem/lib/system-gschemrc.scm:1434 msgid "Cut into 2" msgstr "Isijeci u 2" #: gschem/lib/system-gschemrc.scm:1435 msgid "Cut into 3" msgstr "Isijeci u 3" #: gschem/lib/system-gschemrc.scm:1436 msgid "Cut into 4" msgstr "Isijeci u 4" #: gschem/lib/system-gschemrc.scm:1437 msgid "Cut into 5" msgstr "Isijeci u 5" #: gschem/lib/system-gschemrc.scm:1438 msgid "Paste from 1" msgstr "Umetni iz 1" #: gschem/lib/system-gschemrc.scm:1439 msgid "Paste from 2" msgstr "Umetni iz 2" #: gschem/lib/system-gschemrc.scm:1440 msgid "Paste from 3" msgstr "Umetni iz 3" #: gschem/lib/system-gschemrc.scm:1441 msgid "Paste from 4" msgstr "Umetni iz 4" #: gschem/lib/system-gschemrc.scm:1442 msgid "Paste from 5" msgstr "Umetni iz 5" #: gschem/lib/system-gschemrc.scm:1448 msgid "_Redraw" msgstr "_Reiscrtaj" #: gschem/lib/system-gschemrc.scm:1449 msgid "_Pan" msgstr "" #: gschem/lib/system-gschemrc.scm:1450 msgid "Zoom _Box" msgstr "" #: gschem/lib/system-gschemrc.scm:1451 msgid "Zoom _Extents" msgstr "" #: gschem/lib/system-gschemrc.scm:1452 msgid "Zoom _In" msgstr "_Uvećaj" #: gschem/lib/system-gschemrc.scm:1453 msgid "Zoom _Out" msgstr "U_manji" #: gschem/lib/system-gschemrc.scm:1454 msgid "Zoom _Full" msgstr "Puna _veličina" #: gschem/lib/system-gschemrc.scm:1456 msgid "_Dark color scheme" msgstr "" #: gschem/lib/system-gschemrc.scm:1457 msgid "_Light color scheme" msgstr "" #: gschem/lib/system-gschemrc.scm:1458 msgid "B_W color scheme" msgstr "" #: gschem/lib/system-gschemrc.scm:1465 msgid "_Manager..." msgstr "" #: gschem/lib/system-gschemrc.scm:1466 msgid "_Previous" msgstr "_Prethodna" #: gschem/lib/system-gschemrc.scm:1467 msgid "_Next" msgstr "_Naredna" #: gschem/lib/system-gschemrc.scm:1468 msgid "Ne_w" msgstr "No_va" #: gschem/lib/system-gschemrc.scm:1470 msgid "_Close" msgstr "_Zatvori" #: gschem/lib/system-gschemrc.scm:1472 msgid "_Discard" msgstr "" #: gschem/lib/system-gschemrc.scm:1478 msgid "_Component..." msgstr "_Kmponenta..." #: gschem/lib/system-gschemrc.scm:1479 msgid "_Net" msgstr "_Mreža" #: gschem/lib/system-gschemrc.scm:1480 msgid "B_us" msgstr "Sab_irnica" #: gschem/lib/system-gschemrc.scm:1481 msgid "_Attribute..." msgstr "_Atribut..." #: gschem/lib/system-gschemrc.scm:1482 msgid "_Text..." msgstr "_Tekst..." #: gschem/lib/system-gschemrc.scm:1484 msgid "_Line" msgstr "_Linija" #: gschem/lib/system-gschemrc.scm:1485 msgid "_Box" msgstr "_Kvadrat" #: gschem/lib/system-gschemrc.scm:1486 msgid "C_ircle" msgstr "Krug" #: gschem/lib/system-gschemrc.scm:1487 msgid "A_rc" msgstr "L_uk" #: gschem/lib/system-gschemrc.scm:1488 msgid "_Pin" msgstr "_Pin" #: gschem/lib/system-gschemrc.scm:1489 msgid "Pictu_re..." msgstr "Sli_ka..." #: gschem/lib/system-gschemrc.scm:1495 msgid "_Down Schematic" msgstr "_Dolje Shemu" #: gschem/lib/system-gschemrc.scm:1496 msgid "Down _Symbol" msgstr "Doljen _Simbol" #: gschem/lib/system-gschemrc.scm:1497 msgid "_Up" msgstr "_Gore" #: gschem/lib/system-gschemrc.scm:1498 msgid "D_ocumentation..." msgstr "" #: gschem/lib/system-gschemrc.scm:1504 msgid "_Attach" msgstr "" #: gschem/lib/system-gschemrc.scm:1505 msgid "_Detach" msgstr "" #: gschem/lib/system-gschemrc.scm:1506 msgid "Show _Value" msgstr "" #: gschem/lib/system-gschemrc.scm:1507 msgid "Show _Name" msgstr "" #: gschem/lib/system-gschemrc.scm:1508 msgid "Show _Both" msgstr "" #: gschem/lib/system-gschemrc.scm:1509 msgid "_Toggle Visibility" msgstr "" #: gschem/lib/system-gschemrc.scm:1511 msgid "_Find Specific Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1512 msgid "_Hide Specific Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1513 msgid "_Show Specific Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1514 msgid "A_utonumber Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1520 msgid "_Text Size..." msgstr "" #: gschem/lib/system-gschemrc.scm:1521 msgid "Cycle _grid styles" msgstr "" #: gschem/lib/system-gschemrc.scm:1522 msgid "Toggle _Snap On/Off" msgstr "" #: gschem/lib/system-gschemrc.scm:1523 msgid "Snap Grid S_pacing..." msgstr "" #: gschem/lib/system-gschemrc.scm:1524 msgid "Scale _up Grid Spacing" msgstr "" #: gschem/lib/system-gschemrc.scm:1526 msgid "Scale _down Grid Spacing" msgstr "" #: gschem/lib/system-gschemrc.scm:1528 msgid "Toggle _Outline/Box" msgstr "" #: gschem/lib/system-gschemrc.scm:1530 msgid "Toggle Net _Rubberband" msgstr "" #: gschem/lib/system-gschemrc.scm:1531 msgid "Toggle _Magnetic Net" msgstr "" #: gschem/lib/system-gschemrc.scm:1532 msgid "Show _Log Window..." msgstr "" #: gschem/lib/system-gschemrc.scm:1534 msgid "Show _Coord Window..." msgstr "" #: gschem/lib/system-gschemrc.scm:1542 msgid "gEDA Docu_mentation..." msgstr "" #: gschem/lib/system-gschemrc.scm:1543 msgid "gschem _FAQ..." msgstr "" #: gschem/lib/system-gschemrc.scm:1544 msgid "gEDA _Wiki..." msgstr "" #: gschem/lib/system-gschemrc.scm:1545 msgid "Component D_ocumentation..." msgstr "" #: gschem/lib/system-gschemrc.scm:1547 msgid "_Hotkeys..." msgstr "" #: gschem/lib/system-gschemrc.scm:1548 msgid "_About..." msgstr "_O programu..." #: gschem/lib/system-gschemrc.scm:1554 msgid "_File" msgstr "_Datoteka" #: gschem/lib/system-gschemrc.scm:1555 msgid "_Edit" msgstr "_Izmijeni" #: gschem/lib/system-gschemrc.scm:1556 msgid "_Buffer" msgstr "_Bafer" #: gschem/lib/system-gschemrc.scm:1557 msgid "_View" msgstr "_Pogled" #: gschem/lib/system-gschemrc.scm:1558 msgid "_Page" msgstr "_Strana" #: gschem/lib/system-gschemrc.scm:1559 msgid "_Add" msgstr "_Dodaj" #: gschem/lib/system-gschemrc.scm:1560 msgid "Hie_rarchy" msgstr "Hije_rarhija" #: gschem/lib/system-gschemrc.scm:1561 msgid "A_ttributes" msgstr "" #: gschem/lib/system-gschemrc.scm:1562 msgid "_Options" msgstr "_Opcije" #: gschem/lib/system-gschemrc.scm:1563 msgid "_Help" msgstr "_Pomoć" #: gschem/scheme/gschem/deprecated.scm:102 #, scheme-format msgid "Invalid text alignment ~A." msgstr "" #: gschem/scheme/gschem/gschemdoc.scm:225 msgid "No documentation found" msgstr "" #: gschem/scheme/gschem/keymap.scm:38 #, scheme-format msgid "~S is not a valid key combination." msgstr "" #: gschem/scheme/gschem/keymap.scm:153 #, scheme-format msgid "~S is not a prefix key sequence." msgstr "" geda-gaf-1.8.2/gschem/po/el.gmo0000664000175000017500000012134712220655645013107 00000000000000w\8'09' j'u';' ''''( (((#( 3(@(R([(a(i(m(( ))]5)) ))))* * ** * *+*$+*+ ++ +++,, , ,$, +, 5,>@,, , ,,,,,,,2,-!-'A-i-p-x- -- -- -- ---- -.. ..9.@.E.L.S.Z.a. h. r. ~. . . ... @/a/({/3/%/%/!$06F0}00=0001 1+11171=1C1 I1 T1 _1 j1 u111 1 11&111 12 2 2)2 02 =2 G2/R2"222222 22 3 !3/3@3R3Z3`3x3 33m3E%4k4 4444445 5"5(5 15 >5I5P5 X54b5!5155 556 86B6 [6f6m6=u6 66'66<6&<7c7&~7 7 7 77 77 778 8 8 ,888 J8 V8 b8 p8}8 88 8 88888888 8 889 9 9 9!9:9C9R9i99999 9-95*:`: e: r: :: ::::: : : ;;;$;,; 4; A; N; [; h;u;; ;; ;;;;';;;<<"<=<E<Y<^<m<|< <</< <<< =( =5=:= C= M= Y=d= =2== = == ==> >!><>W> ^>i> }>> >>> >> >>?? %?/? ??J?`? t? ???? ??????@@/@(7@`@0f@ @ @@@@4@AA A ,A 6A @A3NAGAJARBLhBBB B BB"C*8C?cC<CCCCCD!D)DDD bDDDD D D DDDD+D-E5EEETE[EkE.zE$EE vFFF FFFF FF FFFFG GG G&G=GCG ZGfGzG GGGGGGGGG G GGGGGGG HH$H7H=HAHGH;MHGHHIJ JM$JrJ&JJJ6J!K #KDK=JK.K/K"K L{M -N28NkNN+O hss$ss s#t+'tSt3pttttt8t.uDu^upuu-uu+u# v<0v mv zv vv v#v.v%v#w CwPwWwkw8www4wAx(ax@x3x3x$3ygXydy%z 4z"Uz xzzz!z+z>{*X{'{.{{{||6|M|k||||1|}&} 7}#D}h})}}}4} }~:"~]~Lq~~1~6KkDf$Kp.+hI^#|Nہ#*hNЂ# 12N #)˃$%A<g%2ʄ+)8K.i$*!$ &/AV;"ԆD?Yɇ܇8'C7{M؈ZEoV"Ɖ'&:a$%-S%sgz|55;Ŏ:/Qjl)| 5A8R<.=";`%Ē* 3 =~H~Ǔ$Fk ! KԔE mfԖ *I$[1Ǘ/ۗ "3V n<|@ɘ -) We  ͙ۙ 4BVr@#ݚ%: LV fq5Ȟ< #1!؟N*I t}BBB aQRDO#~LJUVWXY"?[ !ha^EQ(p<dH6$qrsMu0x{(Y|}\@Z;]rn;cvP9zF DV+s|Bohj+)RQ,_egMKbiS e2 $WI7%'*-A*B 'Z=#}>dpj7L tI5S,qg)1{JN4!&  OXk&-23f%a3Pm@RnK  N5G"l=6Oi[b8^T`1CHF :lw><vwxyzEo8Uct9A.4~fu/D:k0\]/_C.Gy?mT `%s The gschem log may contain more information.%s (g%.7s)%s failed to launch URI** Invalid UTF-8 in log message. See stderr or gschem.log. *unchanged*/Add Attribute.../Add Bus/Add Component.../Add Net/Add Text/Copy/Delete/Down Schematic/Down Symbol/Edit pin type.../Edit.../Move/Select/UpAdd AttributeAn error occurred while loading the requested file. Loading from '%s' failed: %s. The gschem log may contain more information.Attach OptionsEdit AttributeInvalid schematic on clipboard. An error occurred while inserting clipboard data: %s.OptionsScopeText ContentText PropertiesThe input attribute "%s" is invalid Please correct in order to continue The name and value must be non-empty. The name cannot end with a space. The value cannot start with a space.A_rcA_ttributesAbout gschemActionAdd AttributeAdd Text...Add buses mode Right mouse button to cancelAdd component... Select library and component from list, move the mouse into main window, click to place Right mouse button to cancelAdd nets mode Right mouse button to cancelAlignment:AllAll filesAngle 1:Angle 2:ArcArc ModeArc ParamsArc Radius:AttachAttributeAttributesAttributes with empty name are not allowed. Please set a name.B_usBackgroundBottom to topBoxBox ModeBusBus ModeBus pin (graphical)C_ircleCannot find any schematics above the current one! Cannot find source [%s] Cannot load gschem configuration.Cannot print current schematic to [%s] CenterChangedCircleCircle ModeClipboard insertion failedClose PageClosing Window Closing [%s] ColorColor EditColor...Color:Command:ComponentComponent D_ocumentation...Component ModeComponentsCoordsCopyCopy 1Copy 2Copy 3Copy 4Copy 5Copy ModeCopy into 1Copy into 2Copy into 3Copy into 4Copy into 5Copy to clipboardCopyright © 1998-2012 Ales Hvezda Copyright © 1998-2012 gEDA Contributors (see ChangeLog for details)Could NOT save backup file [%s] Could NOT save page [%s] Could NOT set backup file [%s] readonly Could NOT set previous backup file [%s] read-write Could not allocate display color %i! Could not allocate outline color %i! Could not allocate the color %s! Could not find symbol [%s] in library. Update failed. Could not launch URI ~S: ~ACouldn't allocate gc Create and edit electrical schematics and symbols with gschemCu_tCurrent WindowCurrent locale settings: %s Current pageCut 1Cut 2Cut 3Cut 4Cut 5Cut into 1Cut into 2Cut into 3Cut into 4Cut into 5Cut to clipboardD_ocumentation...Dash Length:Dash Space:DashedDefault behavior - reference componentDeleteDeselectDestinationDetachDetached attributeDiagonalDottedDown _SymbolDuplicateERROR: %s ERROR: NULL object in color_edit_dialog_apply! ERROR: NULL object in o_move_end! ERROR: NULL object! EditEdit AttributesEdit Fill TypeEdit Line Width & TypeEdit TextEdit Text PropertiesEdit Text...Edit pin typeEdit slot numberEdit slot number:Edit...EmbedEmbed Component/PictureEmbed component in schematicEmpty bufferEnter new text size:Enter text, click apply, move cursor into window, click to place text. Middle button to rotate while placing.Error printing to file '%s' Check the log window for more informationError while trying to saveEvaluate:Execute Script...Failed to Save AllFailed to load fileFailed to load picture: %sFailed to replace pictures: %sFailed to save fileFile orderFile:FilenameFill Type...Fill Type:FilledFilter:Find TextGot an invalid buffer_number [o_buffer_paste_start] Got an unexpected NULL in o_edit Got invalid show option; defaulting to show both GraphicGrid pointHidden text is now invisible Hidden text is now visible Hide TextHide text starting with:Hie_rarchyHollowHotkeysIf you don't save, all your changes will be permanently lost.Image typeIn UseInclude component as individual objectsInvalid AttributeInvalid number of seconds [%d] passed to auto-save-interval Invalid size [%d] passed to text-size Invalid text alignment ~A.Invalid text name/value visibility ~A.LandscapeLeft to rightLibrariesLineLine ModeLine Width & Type...Line Width:Loading schematic [%s] LockLower LeftLower MiddleLower RightMagnetic Net ModeMenu/CancelMiddle LeftMiddle MiddleMiddle RightMirrorMirror ModeMoveMove ModeMultiple CopyMultiple Copy ModeNONENameName:Ne_wNetNet ModeNet endpointNet junctionNet pinNetsNewNew PageNew WindowNew Window created [%s] New fileNew file [%s] New page created [%s] New slot number out of range No documentation foundNo print destination specified Object already locked Object already unlocked Object color:Object ~A is not directly included in a page.Object ~A is not included in the current gschem page.OpenOpen Page...Open Recen_tOpen file...Open...Orientation:Output backgroundOutput paper size:Overwrite existing numbersOverwrite file?Page ManagerPaste %d ModePaste 1Paste 2Paste 3Paste 4Paste 5Paste from 1Paste from 2Paste from 3Paste from 4Paste from 5Paste from clipboardPhantomPictu_re...PicturePicture ModePinPin ModePin typePopup_menu_item_factory doesn't exist! PortraitPreviewPreview BufferPrint...Printed current schematic to [%s] PromoteReally revert page?RedoRedo last undoRemove numbersRepeat/Repeat/noneReplace existing attributesRight click on the filename for more options...Right to leftRotateRotate 90 ModeRotate ModeS_elect the schematics you want to save:SaveSave AllSave PageSave _As...Save as...Save cancelled on user request Save fileSave the changes to schematic "%s" before closing?SavedSaved AllSaved [%s] Saved as [%s] SchematicsSchematics and symbolsScreenSearch for:Searching for source [%s] Searching for symbol [%s] SelectSelect AllSelect Component...Select ModeSelect PostScript Filename...Select modeSelect objs firstSelected objectsSelectionSettingsShow HiddenShow Name & ValueShow Name OnlyShow Name onlyShow TextShow Value onlyShow _BothShow _Coord Window...Show _Log Window...Show _NameShow _ValueShow inherited attributesShow text starting with:ShowBShowHiddenShowNShowVSingle Attribute EditorSize:Skip numbers found in:SlotSlot attribute malformed Slot...Slotting not allowed for this component SolidSorry but this is a non-functioning menu option Sort order:Start Angle:Starting number:StatusSymbol Translate...Symbol is not a real file. Symbol cannot be loaded. SymbolsTextText Entry...Text ModeText SizeText to find:The operating system is out of memory or resources.The selected file `%s' already exists. Would you like to overwrite it?There are %d schematics with unsaved changes. Save changes before closing?There was the following error when saving image with type %s to filename: %s %s. This is free software, and you are welcome to redistribute it under certain Toggle _Magnetic NetToggle _Outline/BoxTop to bottomTranslateTranslating schematic [%d %d] Tried to get an invalid color: %d Tried to get an invalid outline color: %d Tried to set the sensitivity on a non-existent popup menu_item Tried to set the sensitivity on non-existent menu item '%s' Type:UndoUndo last operationUnembedUnembed Component/PictureUnknownUnknown end for line (%d) Unknown type for box (fill)! Unknown type for circle (fill)! UnlockUpdateUpdate ComponentUpper LeftUpper MiddleUpper RightValueValue:VisibleWarning: Ending net at off grid coordinate Warning: Starting net at off grid coordinate Whole hierarchyWidth x HeightWidth:Write _image...Write image...Wrote black and white image to [%s] [%d x %d] Wrote color image to [%s] [%d x %d] You must set the GEDADATA environment variable! gschem cannot locate its data files. You must set the GEDADATA environment variable to point to the correct location. _About..._Add_Attach_Attribute..._Box_Buffer_Close_Close Window_Close without saving_Component..._Copy_Dark color scheme_Delete_Detach_Down Schematic_Edit_File_Find Specific Text..._Help_Hide Specific Text..._Hotkeys..._Light color scheme_Line_Manager..._Net_New_Next_Open..._Options_Page_Paste_Pin_Previous_Print..._Quit_Redo_Redraw_Revert_Save_Show Specific Text..._Text Size..._Text..._Toggle Visibility_Undo_Up_Viewblackconditions; please see the COPYING file for more details. duplicate slot may cause problems: [symbolname=%s, number=%d, slot=%d] gEDA %s (g%.7s) Copyright (C) 1998-2012 gEDA developers This is free software, and you are welcome to redistribute it under certain conditions. For details, see the file `COPYING', which is included in the gEDA distribution. There is NO WARRANTY, to the extent permitted by law. gEDA Docu_mentation...gEDA Schematic EditorgEDA _Wiki...gEDA/gschem comes with ABSOLUTELY NO WARRANTY; see COPYING for more details. gEDA/gschem version %s%s.%s gEDA: GPL Electronic Design Automationgschem _FAQ...noneo_autosave_backups: Can't get the real filename of %s.o_buffer_copy: Invalid buffer %i o_buffer_cut: Invalid buffer %i whitex_image_lowlevel: Unable to get pixbuf from gschem's window. x_image_lowlevel: Unable to write %s file %s. x_image_lowlevel: Unable to write eps file %s. ~S is not a valid key combination.Project-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-09-01 20:41+0000 Last-Translator: Panos Bouklis Language-Team: Greek Language: el MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) %s Η καταγραφή του gschem μπορεί να περιέχει περισσότερες πληροφορίες.%s (g%.7s)%s απέτυχε να εκτελέσει το URI** Μη έγκυρο UTF-8 σε μήνυμα καταγραφής. Δείτε την καταγραφή του stderr ή του gschem. *χωρίς αλλαγές*/Προσθήκη γνωρίσματος.../Προσθήκη διαύλου/Προσθήκη στοιχείου.../Προσθήκη δικτύου/Προσθήκη κειμένου/Αντιγραφή/Διαγραφή/Κάτω σχεδιάγραμμα/Κάτω σύμβολο/Επεξεργασία τύπου ακροδέκτη.../Επεξεργασία.../Μετακίνηση/Επιλογή/ΠάνωΠροσθήκη γνωρίσματοςΣυνέβη ένα σφάλμα κατά το φόρτωμα του αρχείου που ζητήθηκε. Το φόρτωμα από '%s' απέτυχε: %s. Η καταγραφή του gschem μπορεί να περιέχει περισσότερες πληροφορίες.Επιλογές σύνδεσηςΕπεξεργασία γνωρίσματοςΜη έγκυρο σχεδιάγραμμα στο πρόχειρο. Συνέβη ένα σφάλμα κατά τη διάρκεια εισαγωγής τω δεδομένων προχείρου: %s.ΕπιλογέςΣκοπόςΠεριεχόμενο κειμένουΙδιότητες κειμένουΤο γνώρισμα εισόδου "%s" δεν είναι έγκυρο Παρακαλούμε διορθώστε το για να συνεχίσετε Το όνομα και η τιμή δεν πρέπει να είναι κενά. Το όνομα δεν μπορεί να τελειώνει με κενό. Η τιμή δεν μπορεί να ξεκινάει με κενό._Τόξο_ΓνωρίσματαΣχετικά με το gschemΕνέργειαΠροσθήκη γνωρίσματοςΠροσθήκη κειμένου...Λειτουργία προσθήκης διαύλου Δεξί κλικ για ακύρωσηΠροσθήκη στοιχείου... Επιλέξτε βιβλιοθήκη και στοιχείο από τη λίστα, μετακινείστε το ποντίκι στο βασικό παράθυρο, κάντε κλικ για τοποθέτηση Δεξί κλικ για ακύρωσηΛειτουργία προσθήκης δικτύου Δεξί κλικ για ακύρωσηΣτοίχιση:ΌλαΌλα τα αρχείαΓωνία 1:Γωνία 2:ΤόξοΛειτουργία τόξουΠαράμετροι τόξουΔιάμετρος τόξου:ΣύνδεσηΓνώρισμαΓνωρίσματαΓνωρίσματα με κενό όνομα δεν επιτρέπονται. Παρακαλούμε ορίστε ένα όνομα.Δ_ίαυλοςΠαρασκήνιοΚάτω προς πάνωΚουτίΛειτουργία κουτιούΔίαυλοςΛειτουργία διαύλουΑκροδέκτης διαύλου (γραφικός)_ΚύκλοςΔεν μπορούν να βρεθούν σχεδιαγράμματα πάνω από το τρέχον! Αδυναμία εύρεσης πηγής [%s] Δεν είναι δυνατό το φόρτωμα των ρυθμίσεων του gschem.Αδυναμία εκτύπωσης τρέχοντος σχεδιαγράμματος στο [%s] ΚέντροΤροποποιήθηκεΚύκλοςΛειτουργία κύκλουΗ εισαγωγή από το πρόχειρο απέτυχεΚλείσιμο σελίδαςΚλείσιμο παραθύρου Κλείσιμο [%s] ΧρώμαΕπεξεργασία χρώματοςΧρώμα...Χρώμα:Εντολή:ΣτοιχείοΤεκμηρίωση _στοιχείωνΛειτουργία στοιχείωνΣτοιχείαΣυντεταγμένεςΑντιγραφήΑντιγραφή 1Αντιγραφή 2Αντιγραφή 3Αντιγραφή 4Αντιγραφή 5Λειτουργία αντιγραφήςΑντιγραφή σε 1Αντιγραφή σε 2Αντιγραφή σε 3Αντιγραφή σε 4Αντιγραφή σε 5Αντιγραφή στο πρόχειροΠνευματικά δικαιώματα © 1998-2012 Ales Hvezda Πνευματικά δικαιώματα © 1998-2012 προγραμματιστές του gEDA (δείτε το ChangeLog για λεπτομέρειες)ΔΕΝ ήταν δυνατή η αποθήκευση του αντιγράφου ασφαλείας [%s] ΔΕΝ ήταν δυνατή η αποθήκευση της σελίδας [%s] ΔΕΝ ήταν δυνατός ο ορισμός μόνο-ανάγνωσης για το αντίγραφο ασφαλείας [%s] ΔΕΝ ήταν δυνατός ο ορισμός ανάγνωσης-εγγραφής για το προηγούμενο αντίγραφο ασφαλείας [%s] Αδυναμία εντοπισμού χρώματος εμφάνισης %i! Αδυναμία εντοπισμού χρώματος περιγράμματος %i! Αδυναμία εντοπισμού χρώματος %s! Αδυναμία εύρεσης συμβόλου [%s] στη βιβλιοθήκη. Η ενημέρωση απέτυχε. Αδυναμία εκτέλεσης URI ~S: ~AΑδυναμία εντοπισμού του gc Δημιουργείστε και επεξεργαστείτε ηλεκτρικά σχεδιαγράμματα και σύμβολα με το gschemΑ_ποκοπήΤρέχον παράθυροΤρέχουσες ρυθμίσεις τοπικότητας: %s Τρέχουσα σελίδαΑποκοπή 1Αποκοπή 2Αποκοπή 3Αποκοπή 4Αποκοπή 5Αποκοπή σε 1Αποκοπή σε 2Αποκοπή σε 3Αποκοπή σε 4Αποκοπή σε 5Αποκοπή στο πρόχειρο_Τεκμηρίωση...Μήκος παύλας:Κενό παύλας:Με παύλεςΠροκαθορισμένη συμπεριφορά - στοιχείο αναφοράςΔιαγραφήΑποεπιλογήΠροορισμόςΑποσύνδεσηΑποσυνδεδεμένο γνώρισμαΔιαγώνιαΜε τελείεςΚάτω _σύμβολοΑντίγραφοΣΦΑΛΜΑ: %s ERROR: Αντικείμενο NULL στο color_edit_dialog_apply! ERROR: Αντικείμενο NULL στο o_move_end! ΣΦΑΛΜΑ: Αντικείμενο NULL! ΕπεξεργασίαΕπεξεργασία γνωρισμάτωνΕπεξεργασία τύπου γεμίσματοςΕπεξεργασία πλάτους & τύπου γραμμήςΕπεξεργασία κειμένουΕπεξεργασία ιδιοτήτων κειμένουΕπεξεργασία κειμένου...Επεξεργασία τύπου ακροδέκτηΕπεξεργασία αριθμού υποδοχήςΕπεξεργασία αριθμού υποδοχής:Επεξεργασία...ΕνσωμάτωσηΕνσωμάτωση στοιχείου/εικόναςΕνσωμάτωση στοιχείου στο σχεδιάγραμμαΆδειασμα ενδιάμεσης μνήμηςΕισάγετε το νέο μέγεθος κειμένου:Εισάγετε το κείμενο, πατήστε εφαρμογή, μετακινήστε τον δείκτη μέσα στο παράθυρο, κάντε κλικ για να τοποθετήσετε το κείμενο. Μεσαίο κουμπί για περιστροφή.Σφάλμα κατά την εκτύπωση του αρχείου '%s' Δείτε το παράθυρο καταγραφής για περισσότερες πληροφορίεςΣφάλμα κατά την προσπάθεια αποθήκευσηςΕκτίμηση:Εκτέλεση σεναρίου...Απέτυχε η αποθήκευση όλωνΑποτυχία φορτώματος αρχείουΑδυναμία φορτώματος εικόνας: %sΑδυναμία αντικατάστασης εικόνων: %sΑποτυχία αποθήκευσης αρχείουΣειρά αρχείωνΑρχείο:Όνομα αρχείουΤύπος γεμίσματος...Τύπος γεμίσματοςΓεμισμένοΦίλτρο:Εύρεση κειμένουΛήφθηκε μη έγκυρο buffer_number [o_buffer_paste_start] Λήφθηκε απροσδόκητο NULL στο o_edit Λήφθηκε μη έγκυρη επιλογή εμφάνισης. Προεπιλεγμένη εμφάνιση και των δύο ΓραφικόΣημείο πλέγματοςΤο κρυφό κείμενο είναι πλέον αόρατο Το κρυφό κείμενο είναι πλέον ορατό Απόκρυψη κειμένουΑπόκρυψη κειμένου που ξεκινάει με:_ΙεραρχίαΚοίλωμαΓρήγορα ΠλήκτραΑν δεν αποθηκεύσετε, όλες οι αλλαγές θα χαθούν μόνιμα.Τύπος εικόναςΣε χρήσηΣυμπερίληψη του στοιχείου ως ξεχωριστά αντικείμεναΜη έγκυρο γνώρισμαΔόθηκε μη έγκυρος αριθμός δευτερολέπτων [%d] στο διάστημα αυτόματης αποθήκευσης Δόθηκε μη έγκυρο μέγεθος [%d] στο μέγεθος κειμένου Μη έγκυρη στοίχιση κειμένου ~A.Μη έγκυρο όνομα/τιμή ορατότητας ~A.ΟριζόντιαΑριστερά προς δεξιάΒιβλιοθήκεςΓραμμήΛειτουργία γραμμήςΠλάτος & τύπος γραμμής...Πλάτος γραμμής:Φόρτωμα σχεδιαγράμματος [%s] ΚλείδωμαΚάτω αριστεράΚάτω μέσηΚάτω δεξιάΛειτουργία μαγνητικού δικτύουΜενού/ΆκυροΜέση αριστεράΜέση μέσηΜέση δεξιάΚαθρεπτισμόςΛειτουργία καθρεπτισμούΜετακίνησηΛειτουργία μετακίνησηςΠολλαπλή αντιγραφήΛειτουργία πολλαπλής αντιγραφήςΚΑΝΕΝΑΌνομαΌνομα:_ΝέοΔίκτυοΛειτουργία δικτύουΤερματικό σημείο δικτύουΔιασταύρωση δικτύουΑκροδέκτης δικτύουΔίκτυαΝέοΝέα σελίδαΝέο παράθυροΔημιουργήθηκε νέο παράθυρο [%s] Νέο αρχείοΝέο αρχείο [%s] Δημιουργήθηκε νέα σελίδα [%s] Νέος αριθμός υποδοχής εκτός εύρους Δε βρέθηκε τεκμηρίωσηΔεν ορίστηκε προορισμός εκτύπωσης Αντικείμενο ήδη κλειδωμένο Αντικείμενο ήδη ξεκλείδωτο Χρώμα αντικειμένου:Το αντικείμενο ~A δεν περιλαμβάνεται άμεσα σε μια σελίδα.Το αντικείμενο ~A δεν περιλαμβάνεται στην τρέχουσα gschem.ΆνοιγμαΆνοιγμα σελίδας...Άνοιγμα _προσφάτουΆνοιγμα αρχείου...Άνοιγμα...Προσανατολισμός:Παρασκήνιο εξόδουΜέγεθος χαρτιού εξόδου:Αντικατάσταση υπαρχόντων αριθμώνΑντικατάσταση αρχείου;Διαχειριστής σελίδωνΛειτουργία επικόλλησης %dΕπικόλληση 1Επικόλληση 2Επικόλληση 3Επικόλληση 4Επικόλληση 5Επικόλληση από 1Επικόλληση από 2Επικόλληση από 3Επικόλληση από 4Επικόλληση από 5Επικόλληση από το πρόχειροΦάντασμα_Εικόνα...ΕικόναΛειτουργία εικόναςΑκροδέκτηςΛειτουργία ακροδεκτώνΤύπος ακροδέκτηΤο Popup_menu_item_factory δεν υπάρχει! ΚάθεταΠροεπισκόπησηΕνδιάμεση μνήμη προεπισκόπησηςΕκτύπωση...Το τρέχον σχεδιάγραμμα εκτυπώθηκε στο [%s] ΠροώθησηΣίγουρα επαναφορά σελίδας;ΕπαναφοράΑκύρωση τελευταίας αναίρεσηςΑφαίρεση αριθμώνΕπανάληψη/Επανάληψη/κανέναΑντικατάσταση υπαρχόνων γνωρισμάτωνΔεξί κλικ στο όνομα αρχείου για περισσότερες επιλογές...Δεξιά προς αριστεράΠεριστροφήΛειτουργία περιστροφής 90Λειτουργία περιστροφής_Επιλέξετε τα σχεδιαγράμματα που θέλετε να αποθηκεύσετε:ΑποθήκευσηΑποθήκευση όλωνΑποθήκευση σελίδαςΑποθήκευση _ως...Αποθήκευση ως...Αποθήκευση ακυρώθηκε με αίτημα του χρήστη Αποθήκευση αρχείουΑποθήκευση αλλαγών στο σχεδιάγραμμα "%s" πριν το κλείσιμο;ΑποθηκεύτηκεΑποθήκευση όλωνΑποθηκεύτηκε [%s] Αποθηκεύτηκε ως [%s] ΣχεδιαγράμματαΣχεδιαγράμματα και σύμβολαΟθόνηΑναζήτηση για:Αναζήτηση πηγής [%s] Αναζήτηση συμβόλου [%s] ΕπιλογήΕπιλογή όλωνΕπιλογή στοιχείου...Λειτουργία ΕπιλογήςΕπιλογή ονόματος αρχείου PostScript...Λειτουργία επιλογήςΕπιλέξτε αντικείμενα πρώταΕπιλεγμένα αντικείμεναΕπιλογήΡυθμίσειςΕμφάνιση κρυφώνΕμφάνιση ονόματος & τιμήςΕμφάνιση τιμής μόνοΕμφάνιση ονόματος μόνοΕμφάνιση κειμένουΕμφάνιση τιμής μόνοΕμφάνιση _και των δύοΕμφάνιση παραθύρου συντεταγμένων...Εμφάνιση παραθύρου καταγραφής...Εμφάνιση _ονόματοςΕμφάνιση _τιμήςΕμφάνιση κληρονομημένων γνωρισμάτωνΕμφάνιση κειμένου που ξεκινάει με:ΕμφάνισηΒΕμφάνισηΚρυφώνΕμβάνισηΝΕμφάνισηVΕπεξεργαστής ενός γνωρίσματοςΜέγεθος:Παράβλεψη αριθμών που βρίσκονται σε:ΥποδοχήΤο γνώρισμα υποδοχής είναι παραμορφωμένο Υποδοχή...Οι υποδοχές δεν επιτρέπονται σε αυτό το στοιχείο ΣυμπαγέςΛυπούμαστε αλλά αυτή είναι μία μη λειτουργική επιλογή μενού Σειρά ταξινόμησης:Γωνία εκκίνησης:Αριθμός έναρξης:ΚατάστασηΜετάφραση συμβόλου...Το σύμβολο δεν είναι πραγματικό αρχείο. Το σύμβολο δεν μπορεί να φορτωθεί. ΣύμβολαΚείμενοΕισαγωγή κειμένου...Λειτουργία κειμένουΜέγεθος κειμένουΚείμενο προς εύρεση:Το λειτουργικό σύστημα είναι εκτός ορίων μνήμης ή πηγών.Το επιλεγμένο αρχείο `%s' υπάρχει ήδη. Θέλετε να το αντικαταστήσετε;Υπάρχουν %d σχεδιαγράμματα χωρίς αποθηκευμένες αλλαγές. Να αποθηκευτούν οι αλλαγές πριν το κλείσιμο;Παρουσιάστηκε το ακόλουθο σφάλμα κατά την αποθήκευση της εικόνας τύπου %s στο όνομα αρχείου: %s %s. Αυτό είναι δωρεάν λογισμικό, και μπορείτε ελεύθερα να το αναδιανείμετε υπό συγκεκριμένους Εναλλαγή _μαγνητικού δικτύουΕναλλαγή _περιγράμματος/κουτιούΠάνω προς κάτωΜετάφρασηΜετάφραση σχεδιαγράμματος [%d %d] Προσπάθεια εισαγωγής μη έγκυρου χρώματος: %d Προσπάθεια εισαγωγής μη έγκυρου χρώματος περιγράμματος: %d Προσπάθεια ρύθμισης ευαισθησίας σε ανύπαρκτο αντικείμενο αναδυόμενου μενού Προσπάθεια ρύθμισης ευαισθησίας σε ανύπαρκτο αντικείμενο μενού '%s' Τύπος:ΑναίρεσηΑναίρεση τελευταίας ενέργειαςΑποενσωμάτωσηΑποενσωμάτωση στοιχείου/εικόνας'ΑγνωστοΆγνωστο τέλος γραμμής (%d) Άγνωστος τύπος κουτιού (γέμισμα)! Άγνωστος τύπος κύκλου (γέμισμα)! ΞεκλείδωμαΕνημέρωσηΕνημέρωση στοιχείουΠάνω αριστεράΠάνω μέσηΠάνω δεξιάΤιμήΤιμή:ΟρατόΠροειδοποίηση: Το δίκτυο τελειώνει σε συντεταγμένη εκτός πλέγματος. Προειδοποίηση: Το δίκτυο ξεκινάει από συντεταγμένη εκτός πλέγματος. Ολόκληρη η ιεραρχίαΠλάτος x ΎψοςΠλάτος:Ε_γγραφή εικόνας...Εγγραφή εικόνας...Εγγράφηκε ασπρόμαυρη εικόνα στο [%s] [%d x %d] Εγγράφηκε έγχρωμη εικόνα στο [%s] [%d x %d] Πρέπει να ρυθμίσετε τη μεταβλητή περιβάλλοντος GEDADATA! Το gschem δεν μπορεί να εντοπίσει τα αρχεία δεδομένων του. Πρέπει να ρυθμίσετε τη μεταβλητή περιβάλλοντος GEDADATA ώστε να δείχνει στη σωστή τοποθεσία. _Σχετικά..._Προσθήκη_Σύνδεση_Γνώρισμα..._Κουτί_Ενδιάμεση μνήμη_Κλείσιμο_Κλείσιμο παραθύρου_Κλείσιμο χωρίς αποθήκευση_Στοιχείο...Α_ντιγραφήΣχήμα _σκοτεινών χρωμάτων_Διαγραφή_Αποσύνδεση_Κάτω σχεδιάγραμμα_Επεξεργασία_Αρχείο_Εύρεση συγκεκριμένου κειμένου..._Βοήθεια_Απόκρυψη συγκεκριμένου κειμένου..._Γρήγορα πλήκτραΣχήμα _φωτεινών χρωμάτων_Γραμμή_Διαχειριστής..._Δίκτυο_Νέο_Επόμενο_Άνοιγμα..._Επιλογές_ΣελίδαΕ_πικόλληση_Ακροδέκτης_ΠροηγούμενοΕ_κτύπωση...Έ_ξοδοςΕ_παναφορά_Επανασχεδίαση_Επαναφορά_Αποθήκευση_Εμφάνιση συγκεκριμένου κειμένου..._Μέγεθος κειμένου..._Κείμενο...Εναλλαγή ορατότητας_Αναίρεση_Πάνω_Προβολήμαύροόρους. Παρακαλούμε δείτε το αρχείο COPYING για περισσότερες λεπτομέρειες. οι διπλές υποδοχές μπορεί να προκαλέσουν προβλήματα: [σύμβολο=%s, αριθμός=%d, υποδοχή=%d] gEDA %s (g%.7s) Πνευματικά δικαιώματα (C) 1998-2012 προγραμματιστές του gEDA Αυτό είναι δωρεάν λογισμικό, και μπορείτε να το αναδιανείμετε ελεύθερα υπό συγκεκριμένους όρους. Για λεπτομέρειες, δείτε το αρχείο `COPYING', το οποίο συμπεριλαμβάνεται στη διανομή του gEDA. Δεν υπάρχει ΚΑΜΙΑ ΕΓΓΥΗΣΗ, στα πλαίσια που επιτρέπει ο νόμος. _Τεκμηρίωση gEDA...Επεξεργαστής Σχεδιαγραμμάτων gEDAgEDA _Wiki...gEDA/gschem παρέχεται ΧΩΡΙΣ ΚΑΜΙΑ ΑΠΟΛΥΤΩΣ ΕΓΓΥΗΣΗ. Δείτε το COPYING για περισσότερες πληροφορίες. gEDA/gschem έκδοση %s%s.%s gEDA: Ηλεκτρονικός Αυτοματισμός Σχεδίασης GPL_Συχνές ερωτήσεις gschem...κανέναo_autosave_backups: Αδυναμία λήψης του πραγματικού ονόματος αρχείου για το %s.o_buffer_copy: Μη έγκυρη ενδιάμεση μνήμη %i o_buffer_cut: Μη έγκυρη ενδιάμεση μνήμη %i άσπροx_image_lowlevel: Αδυναμία λήψης pixbuf από το παράθυρο του gschem. x_image_lowlevel: Αδυναμία εγγραφής του αρχείου %s %s. x_image_lowlevel: Αδυναμία εγγραφής του αρχείου eps %s. Το ~S δεν είναι έγκυρος συνδιασμός πλήκτρων.geda-gaf-1.8.2/gschem/po/de.gmo0000664000175000017500000011731512220655645013077 00000000000000EDl$000 00; 1 I1U1g1p11 1111 111111 1 12 22-222]2>3 M3Z3n33d4 i4u4 44(4$4 4 4+515*5 55 5j5f6o6x6|6 6 66 6 6>66 77.7?7 D7 O7 ]7j7n7w7{77>77278!+8'M8u8|88 88 88 88 8888 99+9 :9E9L9Q9X9_9f9m9 t9 ~9 9 9 9 999 L:m:(:3:%:% ;!0;6R;;;!;=;< </< L<Y<_<e<k<q< w< < < < <<<5<= = '=3=&:=a=s=z= ==== ==== = = >D>/V>">>>>>> >? ? %?3?D?V?^?d?|? ????m?E^@@ @@@@ A A3AGA"bAAA AAA A AAA AB/ B4 yJy Qy ]yiy yy&y%yy y zzz<$z az lz'zzzCz@z>={:|{C{I{ME|P|F|J+}Qv}B}< ~<H~~8~C~ / =H ^k q}     $6H b n z ̀  !09> BM\ z84*!H/j т?ނ:<Yă փ !3IZq ˄ ׄ# 3= O Zd i s} ( Ӆޅ ( %/ Ij{ ˆ 6.DK \fx( ͇݇3:PJ ˈ '@ S`}  ͉$ډ  &; CQf{ ъ !0?Z$zƋ%-.\;o ڌ, ,! N Z hu|F ()URc\ Mi!ُ"2EYjO/ِ- X7W !A ak $0/+!> ` ky  ˓ՓIޓU(&~W@F>֕=6)` . F TaBt ̗ ח   2 ?I ] gr{ И  % 2<C Xc h s ә  &.E=W0b?&07PT&%̜;v@670:h)o.~=)!9TD 8B]0u 2=qlx>/<SB4W/4aiQcdefgE6qHw$yr*&hCTG'92 Z)ba b $OvvI3X-P |m+1nY65:Rpc"2M%9R6K57j?'( (3Q#'t4`0 ^)L;8/*sI sU:VkXu{_-~<+!H5CJ&UxJY 1O[t@z.,#(";_K:*|De7o]0-S>`@V#= Dd  Nzy@Bh?\[8^ 1r N,g3f.A\? <}!m7EZLPn{;MC}"FW A$ p>A,&EFijkl+%%wG%s The gschem log may contain more information.%s (g%.7s)%s failed to launch URI** Invalid UTF-8 in log message. See stderr or gschem.log. *unchanged*/Add Attribute.../Add Bus/Add Component.../Add Net/Add Text/Copy/Delete/Down Schematic/Down Symbol/Edit pin type.../Edit.../Move/Select/Up/Zoom Box/Zoom Extents/Zoom In/Zoom OutAdd AttributeAn error occurred while loading the requested file. Loading from '%s' failed: %s. The gschem log may contain more information.Attach OptionsEdit AttributeInvalid schematic on clipboard. An error occurred while inserting clipboard data: %s.OptionsScopeText ContentText PropertiesThe input attribute "%s" is invalid Please correct in order to continue The name and value must be non-empty. The name cannot end with a space. The value cannot start with a space.A_rcA_ttributesA_utonumber Text...About gschemActionAction feedback mode set to BOUNDINGBOX Action feedback mode set to OUTLINE Add AttributeAdd Text...Add buses mode Right mouse button to cancelAdd component... Select library and component from list, move the mouse into main window, click to place Right mouse button to cancelAdd nets mode Right mouse button to cancelAlignment:AllAll filesAn unknown error occurred while parsing configuration files. The gschem log may contain more information.Angle 1:Angle 2:ArcArc ModeArc ParamsArc Radius:AttachAttributeAttributesAttributes with empty name are not allowed. Please set a name.Automatic slottingAutonumber textAutonumber text in:B_W color schemeB_usBackgroundBottom to topBounding boxBoxBox ModeBusBus ModeBus pin (graphical)Bus ripper symbol [%s] was not found in any component library C_ircleCannot find any schematics above the current one! Cannot find source [%s] Cannot load gschem configuration.Cannot print current schematic to [%s] CenterChangedCircleCircle ModeClipboard insertion failedClose PageClosing Window Closing [%s] ColorColor EditColor...Color:Command:ComponentComponent D_ocumentation...Component ModeComponentsCoordsCopyCopy 1Copy 2Copy 3Copy 4Copy 5Copy ModeCopy into 1Copy into 2Copy into 3Copy into 4Copy into 5Copy to clipboardCopyright © 1998-2012 Ales Hvezda Copyright © 1998-2012 gEDA Contributors (see ChangeLog for details)Could NOT save backup file [%s] Could NOT save page [%s] Could NOT set backup file [%s] readonly Could NOT set previous backup file [%s] read-write Could not allocate display color %i! Could not allocate outline color %i! Could not allocate the color %s! Could not find symbol [%s] in library. Update failed. Could not launch URI ~S: ~ACouldn't allocate gc Couldn't find init scm file [%s] Create and edit electrical schematics and symbols with gschemCu_tCurrent WindowCurrent locale settings: %s Current pageCut 1Cut 2Cut 3Cut 4Cut 5Cut into 1Cut into 2Cut into 3Cut into 4Cut into 5Cut to clipboardCycle _grid stylesDOH! tried to find the whichone, but didn't find it! D_ocumentation...Dash Length:Dash Space:DashedDefault behavior - reference componentDegrees of Sweep:DeleteDeselectDestinationDetachDetached attributeDiagonalDiscard PageDiscarding page [%s] Dot grid selected DottedDown _SymbolDuplicateERROR: %s ERROR: An unknown error occurred while parsing configuration files. ERROR: NULL object in color_edit_dialog_apply! ERROR: NULL object in o_move_end! ERROR: NULL object! EditEdit AttributesEdit Fill TypeEdit Line Width & TypeEdit TextEdit Text PropertiesEdit Text...Edit pin typeEdit slot numberEdit slot number:Edit...EmbedEmbed Component/PictureEmbed component in schematicEmpty bufferEncapsulated PostscriptEnter new snap grid spacing:Enter new text size:Enter text, click apply, move cursor into window, click to place text. Middle button to rotate while placing.Error printing to file '%s' Check the log window for more informationError while trying to saveEvaluate:Execute Script...Executing guile script [%s] Extents no marginsExtents with marginsFailed to Save AllFailed to load fileFailed to load picture: %sFailed to read init scm file [%s] Failed to replace pictures: %sFailed to save fileFile orderFile:FilenameFill Type...Fill Type:FilledFilter:Find TextFunctionGot a non line object in o_move_check_endpoint Got an invalid buffer_number [o_buffer_paste_start] Got an invalid which one in o_bus_draw_stretch Got an invalid which one in o_net_draw_stretch Got an unexpected NULL in o_edit Got invalid show option; defaulting to show both GraphicGrid OFF Grid pointGrid(%s, %s)HatchHidden text is now invisible Hidden text is now visible Hide TextHide text starting with:Hie_rarchyHollowHotkeysIf you don't save, all your changes will be permanently lost.Image typeIn UseInclude component as individual objectsInvalid AttributeInvalid dot size [%d] passed to dots-grid-dot-size Invalid gain [%d] passed to keyboardpan-gain Invalid gain [%d] passed to mousepan-gain Invalid gain [%d] passed to zoom-gain Invalid num levels [%d] passed to undo-levels Invalid number of pixels [%d] passed to select-slack-pixels Invalid number of seconds [%d] passed to auto-save-interval Invalid number of steps [%d] scrollpan-steps Invalid offset [%d] passed to add-attribute-offset Invalid pixel spacing [%d] passed to dots-grid-fixed-threshold Invalid pixel spacing [%d] passed to mesh-grid-display-threshold Invalid size [%d] passed to bus-ripper-size Invalid size [%d] passed to snap-size Invalid size [%d] passed to text-size Invalid text alignment ~A.Invalid text name/value visibility ~A.Invalid zoomfactor [%d] passed to %s Invoke MacroKeystroke(s)LandscapeLeft to rightLibrariesLineLine ModeLine Width & Type...Line Width:Loading schematic [%s] LockLogic bubbleLower LeftLower MiddleLower RightMagnetic Net ModeMenu/CancelMeshMesh grid majorMesh grid minorMesh grid selected Middle LeftMiddle MiddleMiddle RightMirrorMirror ModeMoveMove ModeMultiple CopyMultiple Copy ModeNNONENameName:Ne_wNetNet ModeNet endpointNet junctionNet pinNetsNewNew PageNew WindowNew Window created [%s] New fileNew file [%s] New page created [%s] New slot number out of range No '*' or '?' given at the end of the autonumber text. No documentation foundNo print destination specified No searchstring given in autonumber text. OFFObject already locked Object already unlocked Object color:Object ~A is not directly included in a page.Object ~A is not included in the current gschem page.Offset to translate? (0 for origin)OpenOpen Page...Open Recen_tOpen file...Open...Orientation:Output backgroundOutput paper size:Overwrite existing numbersOverwrite file?Page ManagerPanPan ModePan/CancelPaste %d ModePaste 1Paste 2Paste 3Paste 4Paste 5Paste from 1Paste from 2Paste from 3Paste from 4Paste from 5Paste from clipboardPhantomPickPictu_re...PicturePicture ModePinPin ModePin typePitch 1:Pitch 2:Popup_menu_item_factory doesn't exist! PortraitPreviewPreview BufferPrint...Printed current schematic to [%s] PromoteRead init scm file [%s] Really revert page?RedoRedo last undoRemove numbersRepeat/Repeat/noneReplace existing attributesResnap ActiveRight click on the filename for more options...Right to leftRotateRotate 90 ModeRotate ModeRubber band OFF Rubber band ON S_elect the schematics you want to save:SaveSave AllSave PageSave _As...Save as...Save cancelled on user request Save fileSave the changes to schematic "%s" before closing?SavedSaved AllSaved [%s] Saved as [%s] Scale _down Grid SpacingScale _up Grid SpacingSchematicsSchematics and symbolsScreenSearch for:Searching for source [%s] Searching for symbol [%s] SelectSelect AllSelect Component...Select ModeSelect PostScript Filename...Select modeSelect objs firstSelected objectsSelectionSettingsShow HiddenShow Name & ValueShow Name OnlyShow Name onlyShow TextShow Value OnlyShow Value onlyShow _BothShow _Coord Window...Show _Log Window...Show _NameShow _ValueShow inherited attributesShow text starting with:Show/Hide Inv TextShowBShowHiddenShowNShowVSingle Attribute EditorSize:Skip numbers found in:SlotSlot attribute malformed Slot...Slotting not allowed for this component Snap Grid S_pacing...Snap OFF (CAUTION!) Snap ON Snap OffSnap SizeSnap back to the grid (CAUTION!) SolidSorry but this is a non-functioning menu option Sort order:Start Angle:Starting number:StatusStrokeSymbol Translate...Symbol is not a real file. Symbol cannot be loaded. SymbolsTextText Entry...Text ModeText SizeText to find:The operating system is out of memory or resources.The selected file `%s' already exists. Would you like to overwrite it?There are %d schematics with unsaved changes. Save changes before closing?There was the following error when saving image with type %s to filename: %s %s. This is free software, and you are welcome to redistribute it under certain This is the MINGW32 port. Toggle Net _RubberbandToggle _Magnetic NetToggle _Outline/BoxToggle _Snap On/OffTop to bottomTranslateTranslating schematic [%d %d] Tried to add more than two bus rippers. Internal gschem error. Tried to get an invalid color: %d Tried to get an invalid outline color: %d Tried to set the sensitivity on a non-existent popup menu_item Tried to set the sensitivity on non-existent menu item '%s' Type:UndoUndo last operationUndo/Redo disabled in rc file UnembedUnembed Component/PictureUnknownUnknown end for line (%d) Unknown type for box (fill)! Unknown type for circle (fill)! Unknown type for path (fill)! Unknown type for stroke (%d) ! UnlockUpdateUpdate ComponentUpper LeftUpper MiddleUpper RightVValueValue:Vis?VisToggleVisibleWARNING: Do not translate with snap off! WARNING: If you are translating a symbol to the origin, the snap grid size should be set to 100 WARNING: Snap grid size is not equal to 100! WARNING: Turning snap on and continuing with translate. Warning: Ending net at off grid coordinate Warning: Starting net at off grid coordinate Whole hierarchyWidth x HeightWidth:WorldWrite _image...Write image...Wrote black and white image to [%s] [%d x %d] Wrote color image to [%s] [%d x %d] You must set the GEDADATA environment variable! gschem cannot locate its data files. You must set the GEDADATA environment variable to point to the correct location. Zoom BoxZoom _BoxZoom _ExtentsZoom _FullZoom _InZoom _OutZoom boxZoom too small! Cannot zoom further. _About..._Add_Attach_Attribute..._Box_Buffer_Close_Close Window_Close without saving_Component..._Copy_Dark color scheme_Delete_Detach_Discard_Down Schematic_Edit_File_Find Specific Text..._Help_Hide Specific Text..._Hotkeys..._Light color scheme_Line_Manager..._Net_New_Next_Open..._Options_Page_Pan_Paste_Pin_Previous_Print..._Quit_Redo_Redraw_Revert_Save_Show Specific Text..._Text Size..._Text..._Toggle Visibility_Undo_Up_Viewblackcairo contextconditions; please see the COPYING file for more details. descend into hierarchyduplicate slot may cause problems: [symbolname=%s, number=%d, slot=%d] gEDA Docu_mentation...gEDA Schematic EditorgEDA _Wiki...gEDA/gschem comes with ABSOLUTELY NO WARRANTY; see COPYING for more details. gEDA/gschem version %s%s.%s gEDA: GPL Electronic Design Automationgschem _FAQ...magnetic net mode: OFF magnetic net mode: ON nonenumslots attribute missing o_autosave_backups: Can't get the real filename of %s.o_buffer_copy: Invalid buffer %i o_buffer_cut: Invalid buffer %i slotted object without slot attribute may cause problems when autonumbering slots the cairo context for the rendererwhitex_image_lowlevel: Unable to get pixbuf from gschem's window. x_image_lowlevel: Unable to write %s file %s. x_image_lowlevel: Unable to write eps file %s. ~S is not a prefix key sequence.~S is not a valid key combination.Project-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-04-12 22:09+0000 Last-Translator: Dennis Baudys Language-Team: gEDA developers Language: de MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) %s Das Log-Fenster von gschem sind eventuell Details eingetragen.%s (g%.7s)%s konnte nicht geöffnet werden** Diese Fehlermeldung enthält eine ungültige UTF-8 Kodierung. Siehe gschem.log und stderr. *unverändert*/Attribut hinzufügen …/Bus einfügen/Bauteil hinzufügen …/Netz einfügen/Text einfügen/Kopieren/Löschen/Zum Schaltplan hinab/Zum Symbol hinab/Pin-Typ bearbeiten …/Bearbeiten …/Verschieben/Auswählen/Hinauf/Ausschnitt wählen/Automatisch/Vergrößern/VerkleinernAttribut hinzufügenFehler beim Laden einer Datei. Laden von '%s' ist gescheitert: %s. Das gschem log enthält eventuell mehr Details.OptionenAttribut bearbeitenSyntax-Fehler in der Ablage. Fehler beim Einfügen eines Objekts aus der Ablage: %s.OptionenSuchbereichTextinhaltTexteigenschaftenDas eingegebene Attribut "%s" ist nicht zulässig Bitte korrigiere es um fortzufahren. Der Name und der Wert dürfen nicht leer sein. Der Name darf nicht mit einem Leerzeichen enden. Der Wert darf nicht mit einem Leerzeichen beginnen.Kreisb_ogenA_ttributText _durchnummerieren …Über gschemAktionAktions-Rückmeldemodus wurde auf BOUNDINGBOX festgelegt. Aktions-Rückmeldemodus wurde auf OUTLINE festgelegt. Attribut hinzufügenText hinzufügen …Bus einfügen mit rechter Maustaste abbrechenBauteil hinzufügen … Wählen Sie Bibliothek und Bauteil aus der Liste, bewegen die Maus ins Hauptfenster, klicken, um es zu platzieren. Rechtsklick zum abbrechenNetz einfügen mit rechter Maustaste abbrechenAusrichtung:AlleAlle DateienBeim Einlesen der Konfigurationsdateien trat ein Fehler auf.Winkel 1:Winkel 2:BogenBogenmodusBogen ParameterBogen Radius:AnbringenAttributAttributAttribute mit leerem Namen sind nicht erlaubt. Gib bitte einen Namen ein.Automatische Nummerierung von SlotsNummeriere Text automatischNummeriere Text in:Schwarz/WeißB_usHintergrundVon unten nach obenRandmarkierungRechteckRechteckmodusBusBusmodusBus-Pin (grafisch)Das Busripper Symbol [%s] wurde in keiner Bauteilbibliothek gefunden _KreisKonnte keinen übergeordneten Schaltplan finden! Die Quelle [%s] konnte nicht gefunden werden. Konfigurationsdateien konnte nicht eingelesen werden.Aktueller Schaltplan kann nicht in [%s] gedruckt werden. Strich-PunktGeändertKreisKreismodusEinfügen von der Ablage scheiterte.Seite schließenSchließe Fenster Schließe [%s] FarbeFarbe bearbeitenFarbe …Farbe:Befehl:BauteilBauteil-D_okumentation …BauteilmodusBauteileKoordinatenKopierenKopie 1Kopie 2Kopie 3Kopie 4Kopie 5KopiermodusKopieren in 1Kopieren in 2Kopieren in 3Kopieren in 4Kopieren in 5KopierenCopyright © 1998-2012 Ales Hvezda Copyright © 1998-2012 gEDA Contributors (siehe ChangeLog )Die Backup-Datei [%s] konnte nicht gespeichert werden. Die Seite [%s] konnte nicht gespeichert werden. Die Backup-Datei [%s] konnte nicht auf readonly gesetzt werden. Die vorherige Backup-Datei [%s] konnte nicht auf read-write gesetzt werden. Konnte die Bildschirmfarbe %i nicht allokieren! Konnte die Umrissfarbe %i nicht allokieren! Konnte die Farbe %s nicht zuteilen! Das Symbol [%s] konnte nicht gefunden werden. Aktualisierung fehlgeschlagen. Die URI ~S konnte nicht geladen werden: ~AKonnte gc in x_window_setup_gc nicht zuweisen Die init scm Datei wurde nicht gefunden [%s] Erstellen oder editieren eines elektrischen Schaltplans oder Symbols mit gschem_AusschneidenAktuelles FensterAktuelle Spracheinstellungen: %s Aktuelle SeiteAusschneiden 1Ausschneiden 2Ausschneiden 3Ausschneiden 4Ausschneiden 5Ausschneiden in 1Ausschneiden in 2Ausschneiden in 3Ausschneiden in 4Ausschneiden in 5EinfügenG_itterstil wechselnVersuchte vergebens das Objekt innerhalb von o_move_return_whichone zu finden. _Dokumentation …Linienlänge:Linienlücke:GestricheltBauteil referenzieren (Voreinstellung)Öffnungswinkel:LöschenAuswahl aufhebenZielAblösenAttribut ablösenDiagonalSeite ablegenSchließe Schaltplan [%s] Punktraster ausgewählt GepunktetZum S_ymbol hinabDuplizierenFEHLER: %s FEHLER: Beim Einlesen der Konfigurationsdateien trat ein Fehler auf. FEHLER: NULL Objekt innerhalb von color_edit_dialog_apply! FEHLER: NULL Objekt innerhalb von o_move_end. FEHLER: NULL Objekt! BearbeitenAttribute bearbeitenFüllung bearbeitenLinieneigenschaften bearbeitenText bearbeitenText Eigenschaften bearbeitenText bearbeiten …Pin-Typ bearbeitenSlot-Nummer bearbeitenSlot-Nummer bearbeiten:Bearbeiten …EinbettenBauteil/Bild einbettenBauteil in den Schaltplan einbettenLeerer ZwischenspeicherEncapsulated PostscriptNeuen Rasterabstand eingebenNeue Textgröße eingeben:Geben Sie Text ein, klicken auf Anwenden, bewegen den Cursor ins Fenster, klicken, um den Text zu platzieren. Mittlere Maustaste dreht während dem Platzieren.Fehler beim Drucken in die Datei '%s' Nähere Informationen sind im Log-Fenster.Fehler während des SpeichernsAuswerten:Skript ausführen …Führe guile scipt aus [%s] Alles ohne RandAlles mit RandAlles speichern gescheitertEine Datei konnte nicht geladen werdenDas Bild [%s] konnte nicht geladen werdenDie Datei init scm [%s] konnte nicht gelesen werden. Die folgenden Bilder konnten nicht überschrieben werden: %sDatei konnte nicht gespeichert werdenDateireihenfolgeDatei:DateinameFüllung …Füllung:GefülltFilter:Text suchenFunktionDa ist ein Objekt in o_move_check_endpoint, welches keine Linie ist. Eine ungültige Zwischenspeichernummer wurde übergeben [o_buffer_paste_start] Ungültiger Wert für das Pin-Ende in der Funktion o_bus_draw_stretch Ungültiger Wert für das Pin-Ende in der Funktion o_net_draw_stretch Der Rückgabewert von o_edit war unerwartet NULL Ungültige Anzeigeoption; »Beide anzeigen« wird zur Vorgabe GrafikRaster AUS RasterpunktRaster (%s, %s)SchraffiertVerborgener Text ist jetzt unsichbar. Verborgener Text ist jetzt sichtbar. Text verbergenText verbergen, der beginnt mit:Hie_rarchieLeerTastenbelegungenWenn Sie nicht speichern, werden alle Änderungen verworfen.BildformatIn VerwendungBauteil als Einzelkomponenten einfügenFehlerhaftes AttributAn "grid-dot-size" wurde eine falsche Punktgröße [%d] übergeben Ein ungültiger Wert [%d] wurde an keyboardpan-gain übergeben. Ein ungültiger Werte [%d] wurde an mousepan-gain übergeben. Ein unzulässiger Wert [%d] wurde an zoom-gain übergeben Eine ungültige Ebenenanzahl [%d] wurde an undo-levels übergeben. An "select-slack-pixels" wurde eine ungültige Pixelzahl [%d] übergeben An "auto-save-interval" wurde eine ungültige Sekundenanzahl [%d] übergeben Eine unzulässige Anzahl von Schritten [%d] wurde an scrollpan-steps übergeben Ein ungültiger Offset [%d] wurde an add-attribute-offset übergeben. An "grid-fixed-threshold" wurde ein falscher Punktabstand [%d] übergeben An "mesh-grid-display-treshold" wurde ein falscher Punktabstand [%d] übergeben. Eine ungültige Größe [%d] wurde an bus-ripper-size übergeben. Eine ungültige Größe [%d] wurde an snap-size übergeben. Eine ungültige Größe [%d] wurde an text-size übergeben. Ungültige Ausrichtung: ~A.Ungültiger Wert für das Sichtbarkeitsattribut von ~A.Ein ungültiger Vergrösserungsfaktor [%d] wurde an %s übergeben. Makro ausführenTastenabfolgeQuerformatVon links nach rechtsBibliothekenLinieLinienmodusLinieneigenschaften …Linienbreite:Lade Schaltplan [%s] SperrenLogikmarkierungUnten LinksUnten MitteUnten RechtsMagnetischer NetzmodusMenü/AbbrechenGitterGrobes GitternetzFeines GitternetzLinienraster ausgewählt Mitte LinksMitte MitteMitte RechtsSpiegelnSpiegelmodusVerschiebenVerschiebemodusMehrfaches KopierenMehrfach-KopiermodusNameNICHTSNameName:N_euNetzNetzmodusNetz-EndemarkierungNetzverbindungNetz-PinNetzNeuNeue SeiteNeues _FensterNeues Fenster geöffnet [%s] Neue DateiNeue Datei [%s] Neue Seite erzeugt [%s] Neue slot Nummer außerhalb des gültigen Wertebereichs Am Ende des Suchstrings fehlt ein '*' oder ein '?'. Dokumentation konnte nicht gefunden werdenDas Ziel für den Ausdruck fehlt Es wurde kein Suchstring im Dialog eingegeben. AUSObjekt bereits gesperrt Objekt bereits entsperrt Objektfarbe:Das Objekt ~A ist in keiner Schaltplanseite direkt eingebunden.Das Objekt ~A ist im aktuellen Schaltplan nicht enthalten.Wie weit soll verschoben werden? (0 verschiebt zum Ursprung)ÖffnenSeite öffnen …_Zuletzt geöffnetDatei öffnen …Öffnen …Ausrichtung:AusgabehintergrundPapiergröße:Vorhandene Nummern überschreibenDatei überschreiben?SeitenverwaltungAusschnitt verschiebenAusschnittmodusAusschnitt/Abbrechen%d-EinfügemodusEinfügen 1Einfügen 2Einfügen 3Einfügen 4Einfügen 5Einfügen aus 1Einfügen aus 2Einfügen aus 3Einfügen aus 4Einfügen aus 5EinfügenStrich-Zwei-PunktAuswählenB_ild …BildBildmodusAnschlußAnschlußmodusPin-TypAbstand 1:Abstand 2:Popup_menu_item_factory existiert nicht HochformatVorschauVorschauDrucken …Aktueller Schalplan in [%s] ausgedruckt EinsetzenLese init scm Datei [%s] Seite wirklich wiederherstellen?WiederherstellenLetzte Aktion wiederherstellenNummern entfernenWiederhole/Wiederholen/NichtsVorhandene Attribute ersetzenNeu AusrichenRechtsklick auf den Dateinamen zeigt mehr Optionen …Von rechts nach linksDrehenDrehmodus (90°)DrehmodusGummifäden AUS Gummifäden EIN _Wählen Sie die zu speichernden Seiten:Speichern_Alles speichernSeite speichernSpeichern _unter …Speichern unter …Das Speichern wurde durch den Anwender abgebrochen Datei speichernSollen die Änderungen am Schaltplan "%s" vor dem Schließen gespeichert werden?GespeichertAlles gespeichertGespeichert [%s] Gespeichert unter [%s] Rasterabstand ver_kleinernRasterabstand ver_größernSchaltpläneSchaltpläne und SymboleBildschirm (Pixel)Suchen nach:Nach der Quelle suchen [%s] Nach dem Symbol suchen [%s] AuswählenAlles auswählenBauteil auswählen …AuswahlmodusPostScript-Dateinamen auswählen …AuswahlmodusZuerst Objekte auswählenAusgewählte ObjekteAuswahlEinstellungenVerborgenes anzeigenName & Wert anzeigenNur Name anzeigenNur Name anzeigenText anzeigenNur Wert anzeigenNur Wert anzeigen_Beide anzeigenK_oordinatenfenster anzeigen …Protoko_llfenster anzeigen …_Name anzeigen_Wert anzeigenGeerbte Attribute anzeigenText anzeigen, der beginnt mit:Unsichtbaren Text anzeigen/verbergenShowBVerborgenes anzeigenShowNShowVEinzel-AttributebearbeitungGröße:Überspringe Nummern:SlotSlot Attribut ist fehlerhaft. Slot …Bei diesem Bauteil ist nur ein slot erlaubt. Raster_abstand …Freihandmodus (ACHTUNG! Ausrichten am Raster abgeschaltet) Am Raster ausrichten Am Raster ausrichten ausRasterabstandObjekte neu am Raster ausrichten (Achtung!) DurchgehendDieser Menupunkt funktioniert nicht. Sorry. Sortierung:Start Winkel:Startnummer:StatusTasteSymbol transferieren …Das Symbol ist keine reale Datei. Symbol kann nicht geöffnet werden. SymboleTextTexteingabe …TextmodusText GrößeZu suchender Text:Zu wenig Speicher, oder andere Resoucen.Die ausgewählte Datei '%s' existiert bereits. Soll die Datei überschrieben werden?Es gibt %d ungesicherte Schaltpläne. Sollen die Änderungen vor dem Schließen gespeichert werden?Beim Speichern des Bildes vom Typ "%s" in die Datei "%s" trat der folgende Fehler auf: %s. Dies ist Freie Software. Sie darf gerne weitergegeben werden. Bitte lies die Dies ist die MINGW32 Portierung. _Netzgummifäden umschalten_Magnetischen Netzmodus umschalten_Umrissanzeige umschalten_Raster umschaltenVon oben nach untenVerschieben nachVerschiebe Schaltplan [%d %d] Interner gschem Fehler: Versuchte mehr als zwei Bus Abzweigungen hinzuzufügen Versuchte eine ungültige Farbe zuzuteilen: %d Versuchte eine ungültige Farbe zu holen: %d Es wurde versucht die Sensibilität für einen nichtexistierenden Menueintrag zu setzen Es wurde versucht die Empfindlichkeit des nicht existenten Menueintrags '%s' zu setzen Umfang:RückgängigLetzte Aktion rückgängig machenRückgängig/Wiederherstellen wurde in der rc Datei deaktiviert. AusbettenBauteil/Bild ausbettenUnbekanntUndefiniertes Ende einer Linie (%d) Undefinierter Typ für das Rechteck (Füllung)! Undefinierter Typ für einen Kreis (Füllung). Unbekannte Füllart einer Pfad-Definition! Unbekannter Linienstil Typ (%d)! EntsperrenAktualisierenBauteil aktualisierenOben LinksOben Mitte0ben RechtsWertWertWert:Sichtbar?VisToggleSichtbarACHTUNG: Keine Transformation mit ausgeschalteter Ausrichtung am Raster! ACHTUNG: Wenn ein Symbol transformiert wird, sollte das Raster auf 100 gesetzt sein. ACHTUNG: Das Raster ist ungleich 100! ACHTUNG:"am Raster ausrichten" wird aktiviert und mit der Transformation fortgefahren. Achtung: Das Ende des Netzes befindet sich nicht auf dem Raster Achtung: Der Startpunkt des Netzes befindet sich nicht auf dem Raster Gesamte HierarchieBreite × HöheBreite:Global (0.001")Bild e_xportieren …Bild exportieren …Schwarz & weiß Bild als [%s] gespeichert. Größe [%d x %d] Farbiges Bild als [%s] gespeichert. Größe [%d x %d] Die Umgebungsvariable GEDADATA muss gesetzt werden! gschem kann seine Datendateien nicht finden. GEDADATA muss auf das richtige Verzeichnis zeigen. Ausschnitt wählen_Rechteck auswählen_Alles anzeigenGesamte _ZeichenflächeVer_größernVer_kleinernAusschnitt wählenBereich zu klein! Eine weitere Vergrößerung ist nicht möglich. _Info …_Einfügen_Anbringen_Attribut …_Rechteck_PufferS_chließenFenster s_chließenSchließen _ohne Speichern_Bauteil …_Kopieren_Dunkles Farbschema_Löschen_Loslösen_AblegenZum _Schaltplan hinab_Bearbeiten_DateiText _suchen …_HilfeText _verbergen …_Tastenbelegungen …_Helles Farbschema_LinieVer_waltung …_Netz_Neu_NächsteÖ_ffnen …_Optionen_SeiteAusschnitt _wechselnE_infügen_Pin_Vorherige_Drucken …_Beenden_WiederherstellenAkt_ualisierenNeu _laden_SpeichernText an_zeigen …_Textgröße …_Text …Sichtbarkeit _umschalten_Rückgängig_Hinauf_Ansichtschwarzcairo-UmgebungLizenzbestimmungen in der Datei COPYING für nähere Informationen. In der Hierachie hinabsteigenDoppelt vergebener slot kann Probleme verursachen: [Symbolname=%s, Number=%d, slot=%d] gEDA-_Dokumentation …gEDA – SchaltplanbearbeitunggEDA-_Wiki …gEDA/gschem kommt OHNE JEGLICHE GARANTIE. Bitte lies die Datei COPYING fürnähere Informationen. gEDA/gschem Version %s%s.%s gEDA: GPL Electronic Design Automationgschem-_FAQ …Magnetischer Netzmodus: AUS Magnetischer Netzmodus: EIN nichtsDas numslots Attribut fehlt o_autosave_backups: Konnte den tatsächlichen Dateinamen von %s nicht ermitteln.o_buffer_copy: fehlerhafter Puffer %i o_buffer_cut: fehlerhafter Puffer %i Objekte mit "numslot" Attribut und ohne "slot" Attribut können beim automatischen Nummerieren von Bauteilen Probleme verursachen. cairo-Umgebung für die Darstellung von grafischen Objektenweissx_image_lowlevel: konnte kein Bild vom gschem-Fenster bekommen. x_image_lowlevel: Konnte %s-Datei %s nicht schreiben. x_image_lowlevel: Konnte eps-Datei %s nicht schreiben. ~S ist kein gültiger erster Teil einer Tastenkombination.~S ist keine gültige Tasten-Kombination.geda-gaf-1.8.2/gschem/po/de.po0000664000175000017500000017420612220655644012734 00000000000000# translation of de.po to deutsch # gEDA/gaf gschem german translation # Copyright (C) 2002-2008 Werner Hoch # This file is distributed under the same license as the gEDA/gaf package. # # Werner Hoch , 2002, 2005, 2006, 2007, 2008, 2009, 2010. msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-04-12 22:09+0000\n" "Last-Translator: Dennis Baudys \n" "Language-Team: gEDA developers \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: gschem/src/a_zoom.c:212 msgid "Zoom too small! Cannot zoom further.\n" msgstr "Bereich zu klein! Eine weitere Vergrößerung ist nicht möglich.\n" #: gschem/src/g_attrib.c:92 msgid "Object ~A is not included in the current gschem page." msgstr "Das Objekt ~A ist im aktuellen Schaltplan nicht enthalten." #: gschem/src/g_attrib.c:112 msgid "Invalid text name/value visibility ~A." msgstr "Ungültiger Wert für das Sichtbarkeitsattribut von ~A." #: gschem/src/g_rc.c:312 #, c-format msgid "Invalid zoomfactor [%d] passed to %s\n" msgstr "Ein ungültiger Vergrösserungsfaktor [%d] wurde an %s übergeben.\n" #: gschem/src/g_rc.c:458 #, c-format msgid "Invalid size [%d] passed to text-size\n" msgstr "Eine ungültige Größe [%d] wurde an text-size übergeben.\n" #: gschem/src/g_rc.c:501 #, c-format msgid "Invalid size [%d] passed to snap-size\n" msgstr "Eine ungültige Größe [%d] wurde an snap-size übergeben.\n" #: gschem/src/g_rc.c:958 #, c-format msgid "Invalid num levels [%d] passed to undo-levels\n" msgstr "Eine ungültige Ebenenanzahl [%d] wurde an undo-levels übergeben.\n" #: gschem/src/g_rc.c:1220 #, c-format msgid "Invalid size [%d] passed to bus-ripper-size\n" msgstr "Eine ungültige Größe [%d] wurde an bus-ripper-size übergeben.\n" #: gschem/src/g_rc.c:1295 #, c-format msgid "Invalid dot size [%d] passed to dots-grid-dot-size\n" msgstr "An \"grid-dot-size\" wurde eine falsche Punktgröße [%d] übergeben\n" #: gschem/src/g_rc.c:1336 #, c-format msgid "Invalid pixel spacing [%d] passed to dots-grid-fixed-threshold\n" msgstr "" "An \"grid-fixed-threshold\" wurde ein falscher Punktabstand [%d] übergeben\n" #: gschem/src/g_rc.c:1362 #, c-format msgid "Invalid pixel spacing [%d] passed to mesh-grid-display-threshold\n" msgstr "" "An \"mesh-grid-display-treshold\" wurde ein falscher Punktabstand [%d] " "übergeben.\n" #: gschem/src/g_rc.c:1387 #, c-format msgid "Invalid offset [%d] passed to add-attribute-offset\n" msgstr "Ein ungültiger Offset [%d] wurde an add-attribute-offset übergeben.\n" #: gschem/src/g_rc.c:1411 #, c-format msgid "Invalid number of seconds [%d] passed to auto-save-interval\n" msgstr "" "An \"auto-save-interval\" wurde eine ungültige Sekundenanzahl [%d] " "übergeben\n" #: gschem/src/g_rc.c:1435 #, c-format msgid "Invalid gain [%d] passed to mousepan-gain\n" msgstr "Ein ungültiger Werte [%d] wurde an mousepan-gain übergeben.\n" #: gschem/src/g_rc.c:1458 #, c-format msgid "Invalid gain [%d] passed to keyboardpan-gain\n" msgstr "Ein ungültiger Wert [%d] wurde an keyboardpan-gain übergeben.\n" #: gschem/src/g_rc.c:1505 #, c-format msgid "Invalid number of pixels [%d] passed to select-slack-pixels\n" msgstr "" "An \"select-slack-pixels\" wurde eine ungültige Pixelzahl [%d] übergeben\n" #: gschem/src/g_rc.c:1531 #, c-format msgid "Invalid gain [%d] passed to zoom-gain\n" msgstr "Ein unzulässiger Wert [%d] wurde an zoom-gain übergeben\n" #: gschem/src/g_rc.c:1556 #, c-format msgid "Invalid number of steps [%d] scrollpan-steps\n" msgstr "" "Eine unzulässige Anzahl von Schritten [%d] wurde an scrollpan-steps " "übergeben\n" #: gschem/src/g_select.c:79 gschem/src/g_select.c:116 #: gschem/src/g_select.c:152 msgid "Object ~A is not directly included in a page." msgstr "Das Objekt ~A ist in keiner Schaltplanseite direkt eingebunden." #: gschem/src/g_util.c:56 msgid "Could not launch URI ~S: ~A" msgstr "Die URI ~S konnte nicht geladen werden: ~A" #: gschem/src/g_window.c:136 msgid "Found invalid gschem window smob ~S" msgstr "" #: gschem/src/gschem.c:175 #, c-format msgid "gEDA/gschem version %s%s.%s\n" msgstr "gEDA/gschem Version %s%s.%s\n" #: gschem/src/gschem.c:178 msgid "" "gEDA/gschem comes with ABSOLUTELY NO WARRANTY; see COPYING for more " "details.\n" msgstr "" "gEDA/gschem kommt OHNE JEGLICHE GARANTIE. Bitte lies die Datei COPYING " "fürnähere Informationen.\n" #: gschem/src/gschem.c:180 msgid "" "This is free software, and you are welcome to redistribute it under certain\n" msgstr "" "Dies ist Freie Software. Sie darf gerne weitergegeben werden. Bitte lies " "die\n" #: gschem/src/gschem.c:182 msgid "" "conditions; please see the COPYING file for more details.\n" "\n" msgstr "" "Lizenzbestimmungen in der Datei COPYING für nähere Informationen.\n" "\n" #: gschem/src/gschem.c:185 #, c-format msgid "This is the MINGW32 port.\n" msgstr "Dies ist die MINGW32 Portierung.\n" #: gschem/src/gschem.c:189 #, c-format msgid "Current locale settings: %s\n" msgstr "Aktuelle Spracheinstellungen: %s\n" #: gschem/src/gschem.c:211 msgid "" "You must set the GEDADATA environment variable!\n" "\n" "gschem cannot locate its data files. You must set the GEDADATA\n" "environment variable to point to the correct location.\n" msgstr "" "Die Umgebungsvariable GEDADATA muss gesetzt werden!\n" "\n" "gschem kann seine Datendateien nicht finden.\n" "GEDADATA muss auf das richtige Verzeichnis zeigen.\n" #: gschem/src/gschem.c:248 #, c-format msgid "Couldn't find init scm file [%s]\n" msgstr "Die init scm Datei wurde nicht gefunden [%s]\n" #: gschem/src/gschem.c:252 #, c-format msgid "Read init scm file [%s]\n" msgstr "Lese init scm Datei [%s]\n" #: gschem/src/gschem.c:256 #, c-format msgid "Failed to read init scm file [%s]\n" msgstr "Die Datei init scm [%s] konnte nicht gelesen werden.\n" #: gschem/src/gschem_cairo.c:310 #, c-format msgid "Unknown end for line (%d)\n" msgstr "Undefiniertes Ende einer Linie (%d)\n" #: gschem/src/gschem_cairo.c:318 #, c-format msgid "Unknown type for stroke (%d) !\n" msgstr "Unbekannter Linienstil Typ (%d)!\n" #: gschem/src/gschem_pango.c:289 msgid "cairo context" msgstr "cairo-Umgebung" #: gschem/src/gschem_pango.c:290 msgid "the cairo context for the renderer" msgstr "cairo-Umgebung für die Darstellung von grafischen Objekten" #: gschem/src/i_basic.c:77 gschem/src/x_window.c:524 #: gschem/lib/system-gschemrc.scm:1399 msgid "Select Mode" msgstr "Auswahlmodus" #: gschem/src/i_basic.c:79 msgid "Component Mode" msgstr "Bauteilmodus" #: gschem/src/i_basic.c:81 msgid "Text Mode" msgstr "Textmodus" #: gschem/src/i_basic.c:84 gschem/lib/system-gschemrc.scm:1402 msgid "Copy Mode" msgstr "Kopiermodus" #: gschem/src/i_basic.c:87 gschem/lib/system-gschemrc.scm:1404 msgid "Move Mode" msgstr "Verschiebemodus" #: gschem/src/i_basic.c:89 msgid "Rotate Mode" msgstr "Drehmodus" #: gschem/src/i_basic.c:91 gschem/lib/system-gschemrc.scm:1406 msgid "Mirror Mode" msgstr "Spiegelmodus" #: gschem/src/i_basic.c:95 msgid "Zoom Box" msgstr "Ausschnitt wählen" #: gschem/src/i_basic.c:99 msgid "Pan Mode" msgstr "Ausschnittmodus" #: gschem/src/i_basic.c:103 #, c-format msgid "Paste %d Mode" msgstr "%d-Einfügemodus" #: gschem/src/i_basic.c:109 msgid "Magnetic Net Mode" msgstr "Magnetischer Netzmodus" #: gschem/src/i_basic.c:111 msgid "Net Mode" msgstr "Netzmodus" #: gschem/src/i_basic.c:115 msgid "Bus Mode" msgstr "Busmodus" #: gschem/src/i_basic.c:118 msgid "Line Mode" msgstr "Linienmodus" #: gschem/src/i_basic.c:121 msgid "Box Mode" msgstr "Rechteckmodus" #: gschem/src/i_basic.c:124 msgid "Picture Mode" msgstr "Bildmodus" #: gschem/src/i_basic.c:127 msgid "Circle Mode" msgstr "Kreismodus" #: gschem/src/i_basic.c:130 msgid "Arc Mode" msgstr "Bogenmodus" #: gschem/src/i_basic.c:133 msgid "Pin Mode" msgstr "Anschlußmodus" #: gschem/src/i_basic.c:135 gschem/src/i_callbacks.c:529 #: gschem/src/i_callbacks.c:553 msgid "Copy" msgstr "Kopieren" #: gschem/src/i_basic.c:137 gschem/src/i_callbacks.c:619 #: gschem/src/i_callbacks.c:643 msgid "Move" msgstr "Verschieben" #: gschem/src/i_basic.c:139 gschem/src/i_callbacks.c:574 #: gschem/src/i_callbacks.c:598 msgid "Multiple Copy" msgstr "Mehrfaches Kopieren" #: gschem/src/i_basic.c:142 gschem/lib/system-gschemrc.scm:1403 msgid "Multiple Copy Mode" msgstr "Mehrfach-Kopiermodus" #: gschem/src/i_basic.c:168 msgid "Show Hidden" msgstr "Verborgenes anzeigen" #: gschem/src/i_basic.c:171 msgid "Snap Off" msgstr "Am Raster ausrichten aus" #: gschem/src/i_basic.c:173 msgid "Resnap Active" msgstr "Neu Ausrichen" #: gschem/src/i_basic.c:254 gschem/src/x_window.c:498 msgid "Action" msgstr "Aktion" #: gschem/src/i_basic.c:260 gschem/src/x_dialog.c:2325 #: gschem/src/x_window.c:493 msgid "Stroke" msgstr "Taste" #: gschem/src/i_basic.c:266 gschem/src/x_window.c:495 msgid "none" msgstr "nichts" #: gschem/src/i_basic.c:271 msgid "Repeat/" msgstr "Wiederhole/" #: gschem/src/i_basic.c:566 gschem/src/i_basic.c:580 msgid "OFF" msgstr "AUS" #: gschem/src/i_basic.c:584 msgid "NONE" msgstr "NICHTS" #: gschem/src/i_basic.c:589 #, c-format msgid "Grid(%s, %s)" msgstr "Raster (%s, %s)" #: gschem/src/i_callbacks.c:76 gschem/src/i_callbacks.c:1659 #, c-format msgid "New page created [%s]\n" msgstr "Neue Seite erzeugt [%s]\n" #: gschem/src/i_callbacks.c:124 #, c-format msgid "New Window created [%s]\n" msgstr "Neues Fenster geöffnet [%s]\n" #: gschem/src/i_callbacks.c:242 msgid "Failed to Save All" msgstr "Alles speichern gescheitert" #: gschem/src/i_callbacks.c:244 msgid "Saved All" msgstr "Alles gespeichert" #: gschem/src/i_callbacks.c:334 msgid "Closing Window\n" msgstr "Schließe Fenster\n" #: gschem/src/i_callbacks.c:534 gschem/src/i_callbacks.c:579 #: gschem/src/i_callbacks.c:624 msgid "Select objs first" msgstr "Zuerst Objekte auswählen" #: gschem/src/i_callbacks.c:663 gschem/src/x_multiattrib.c:1549 msgid "Delete" msgstr "Löschen" #: gschem/src/i_callbacks.c:688 msgid "Edit" msgstr "Bearbeiten" #: gschem/src/i_callbacks.c:703 msgid "Edit pin type" msgstr "Pin-Typ bearbeiten" #: gschem/src/i_callbacks.c:722 msgid "Edit Text" msgstr "Text bearbeiten" #: gschem/src/i_callbacks.c:745 msgid "Slot" msgstr "Slot" #: gschem/src/i_callbacks.c:762 msgid "Color" msgstr "Farbe" #: gschem/src/i_callbacks.c:799 gschem/src/i_callbacks.c:844 msgid "Rotate" msgstr "Drehen" #: gschem/src/i_callbacks.c:866 gschem/src/i_callbacks.c:891 msgid "Mirror" msgstr "Spiegeln" #: gschem/src/i_callbacks.c:912 gschem/src/x_dialog.c:2328 #: gschem/lib/system-gschemrc.scm:1415 msgid "Lock" msgstr "Sperren" #: gschem/src/i_callbacks.c:930 gschem/lib/system-gschemrc.scm:1416 msgid "Unlock" msgstr "Entsperren" #: gschem/src/i_callbacks.c:948 gschem/src/x_dialog.c:1746 msgid "Translate" msgstr "Verschieben nach" #: gschem/src/i_callbacks.c:951 msgid "WARNING: Do not translate with snap off!\n" msgstr "" "ACHTUNG: Keine Transformation mit ausgeschalteter Ausrichtung am Raster!\n" #: gschem/src/i_callbacks.c:952 msgid "WARNING: Turning snap on and continuing with translate.\n" msgstr "" "ACHTUNG:\"am Raster ausrichten\" wird aktiviert und mit der Transformation " "fortgefahren.\n" #: gschem/src/i_callbacks.c:959 msgid "WARNING: Snap grid size is not equal to 100!\n" msgstr "ACHTUNG: Das Raster ist ungleich 100!\n" #: gschem/src/i_callbacks.c:961 msgid "" "WARNING: If you are translating a symbol to the origin, the snap grid size " "should be set to 100\n" msgstr "" "ACHTUNG: Wenn ein Symbol transformiert wird, sollte das Raster auf 100 " "gesetzt sein.\n" #: gschem/src/i_callbacks.c:992 msgid "Embed" msgstr "Einbetten" #: gschem/src/i_callbacks.c:1031 msgid "Unembed" msgstr "Ausbetten" #: gschem/src/i_callbacks.c:1073 msgid "Update" msgstr "Aktualisieren" #: gschem/src/i_callbacks.c:1120 msgid "ShowHidden" msgstr "Verborgenes anzeigen" #: gschem/src/i_callbacks.c:1426 gschem/src/i_callbacks.c:1498 msgid "Pan" msgstr "Ausschnitt verschieben" #: gschem/src/i_callbacks.c:1703 msgid "Really revert page?" msgstr "Seite wirklich wiederherstellen?" #: gschem/src/i_callbacks.c:1773 msgid "Copy to clipboard" msgstr "Kopieren" #: gschem/src/i_callbacks.c:1791 msgid "Cut to clipboard" msgstr "Einfügen" #: gschem/src/i_callbacks.c:1809 msgid "Paste from clipboard" msgstr "Einfügen" #: gschem/src/i_callbacks.c:1821 gschem/src/i_callbacks.c:2060 #: gschem/src/i_callbacks.c:2082 gschem/src/i_callbacks.c:2104 #: gschem/src/i_callbacks.c:2126 gschem/src/i_callbacks.c:2148 msgid "Empty buffer" msgstr "Leerer Zwischenspeicher" #: gschem/src/i_callbacks.c:1866 msgid "Copy 1" msgstr "Kopie 1" #: gschem/src/i_callbacks.c:1885 msgid "Copy 2" msgstr "Kopie 2" #: gschem/src/i_callbacks.c:1904 msgid "Copy 3" msgstr "Kopie 3" #: gschem/src/i_callbacks.c:1923 msgid "Copy 4" msgstr "Kopie 4" #: gschem/src/i_callbacks.c:1942 msgid "Copy 5" msgstr "Kopie 5" #: gschem/src/i_callbacks.c:1961 msgid "Cut 1" msgstr "Ausschneiden 1" #: gschem/src/i_callbacks.c:1980 msgid "Cut 2" msgstr "Ausschneiden 2" #: gschem/src/i_callbacks.c:1999 msgid "Cut 3" msgstr "Ausschneiden 3" #: gschem/src/i_callbacks.c:2018 msgid "Cut 4" msgstr "Ausschneiden 4" #: gschem/src/i_callbacks.c:2037 msgid "Cut 5" msgstr "Ausschneiden 5" #: gschem/src/i_callbacks.c:2053 msgid "Paste 1" msgstr "Einfügen 1" #: gschem/src/i_callbacks.c:2075 msgid "Paste 2" msgstr "Einfügen 2" #: gschem/src/i_callbacks.c:2097 msgid "Paste 3" msgstr "Einfügen 3" #: gschem/src/i_callbacks.c:2119 msgid "Paste 4" msgstr "Einfügen 4" #: gschem/src/i_callbacks.c:2141 msgid "Paste 5" msgstr "Einfügen 5" #: gschem/src/i_callbacks.c:2278 gschem/src/x_window.c:359 msgid "Component" msgstr "Bauteil" #: gschem/src/i_callbacks.c:2314 gschem/src/i_callbacks.c:2333 #: gschem/src/x_dialog.c:2298 msgid "Attribute" msgstr "Attribut" #: gschem/src/i_callbacks.c:2355 gschem/src/i_callbacks.c:2382 #: gschem/src/x_dialog.c:2295 msgid "Net" msgstr "Netz" #: gschem/src/i_callbacks.c:2426 gschem/src/i_callbacks.c:2453 #: gschem/src/x_dialog.c:2313 gschem/src/x_window.c:379 msgid "Bus" msgstr "Bus" #: gschem/src/i_callbacks.c:2534 gschem/src/i_callbacks.c:2557 msgid "Line" msgstr "Linie" #: gschem/src/i_callbacks.c:2579 gschem/src/i_callbacks.c:2602 msgid "Box" msgstr "Rechteck" #: gschem/src/i_callbacks.c:2658 gschem/src/i_callbacks.c:2682 msgid "Circle" msgstr "Kreis" #: gschem/src/i_callbacks.c:2704 gschem/src/i_callbacks.c:2727 msgid "Arc" msgstr "Bogen" #: gschem/src/i_callbacks.c:2749 gschem/src/i_callbacks.c:2772 #: gschem/src/x_dialog.c:2286 msgid "Pin" msgstr "Anschluß" #: gschem/src/i_callbacks.c:2831 #, c-format msgid "Searching for source [%s]\n" msgstr "Nach der Quelle suchen [%s]\n" #: gschem/src/i_callbacks.c:2855 #, c-format msgid "Cannot find source [%s]\n" msgstr "Die Quelle [%s] konnte nicht gefunden werden.\n" #: gschem/src/i_callbacks.c:2918 #, c-format msgid "Searching for symbol [%s]\n" msgstr "Nach dem Symbol suchen [%s]\n" #: gschem/src/i_callbacks.c:2924 msgid "Symbol is not a real file. Symbol cannot be loaded.\n" msgstr "Das Symbol ist keine reale Datei. Symbol kann nicht geöffnet werden.\n" #: gschem/src/i_callbacks.c:2955 msgid "Cannot find any schematics above the current one!\n" msgstr "Konnte keinen übergeordneten Schaltplan finden!\n" #: gschem/src/i_callbacks.c:2985 msgid "Attach" msgstr "Anbringen" #: gschem/src/i_callbacks.c:3041 msgid "Detach" msgstr "Ablösen" #: gschem/src/i_callbacks.c:3085 msgid "ShowN" msgstr "ShowN" #: gschem/src/i_callbacks.c:3122 msgid "ShowV" msgstr "ShowV" #: gschem/src/i_callbacks.c:3159 msgid "ShowB" msgstr "ShowB" #: gschem/src/i_callbacks.c:3197 msgid "VisToggle" msgstr "VisToggle" #: gschem/src/i_callbacks.c:3228 #, c-format msgid "Sorry but this is a non-functioning menu option\n" msgstr "Dieser Menupunkt funktioniert nicht. Sorry.\n" #: gschem/src/i_callbacks.c:3318 msgid "Action feedback mode set to OUTLINE\n" msgstr "Aktions-Rückmeldemodus wurde auf OUTLINE festgelegt.\n" #: gschem/src/i_callbacks.c:3321 msgid "Action feedback mode set to BOUNDINGBOX\n" msgstr "Aktions-Rückmeldemodus wurde auf BOUNDINGBOX festgelegt.\n" #: gschem/src/i_callbacks.c:3346 msgid "Grid OFF\n" msgstr "Raster AUS\n" #: gschem/src/i_callbacks.c:3347 msgid "Dot grid selected\n" msgstr "Punktraster ausgewählt\n" #: gschem/src/i_callbacks.c:3348 msgid "Mesh grid selected\n" msgstr "Linienraster ausgewählt\n" #: gschem/src/i_callbacks.c:3369 msgid "Snap OFF (CAUTION!)\n" msgstr "Freihandmodus (ACHTUNG! Ausrichten am Raster abgeschaltet)\n" #: gschem/src/i_callbacks.c:3372 msgid "Snap ON\n" msgstr "Am Raster ausrichten\n" #: gschem/src/i_callbacks.c:3375 msgid "Snap back to the grid (CAUTION!)\n" msgstr "Objekte neu am Raster ausrichten (Achtung!)\n" #: gschem/src/i_callbacks.c:3401 msgid "Rubber band OFF \n" msgstr "Gummifäden AUS \n" #: gschem/src/i_callbacks.c:3404 msgid "Rubber band ON\n" msgstr "Gummifäden EIN\n" #: gschem/src/i_callbacks.c:3419 msgid "magnetic net mode: ON\n" msgstr "Magnetischer Netzmodus: EIN\n" #: gschem/src/i_callbacks.c:3422 msgid "magnetic net mode: OFF\n" msgstr "Magnetischer Netzmodus: AUS\n" #: gschem/src/o_box.c:292 #, c-format msgid "Unknown type for box (fill)!\n" msgstr "Undefinierter Typ für das Rechteck (Füllung)!\n" #: gschem/src/o_buffer.c:54 #, c-format msgid "o_buffer_copy: Invalid buffer %i\n" msgstr "o_buffer_copy: fehlerhafter Puffer %i\n" #: gschem/src/o_buffer.c:69 #, c-format msgid "o_buffer_cut: Invalid buffer %i\n" msgstr "o_buffer_cut: fehlerhafter Puffer %i\n" #: gschem/src/o_buffer.c:90 #, c-format msgid "Got an invalid buffer_number [o_buffer_paste_start]\n" msgstr "" "Eine ungültige Zwischenspeichernummer wurde übergeben " "[o_buffer_paste_start]\n" #: gschem/src/o_bus.c:117 #, c-format msgid "Got an invalid which one in o_bus_draw_stretch\n" msgstr "Ungültiger Wert für das Pin-Ende in der Funktion o_bus_draw_stretch\n" #: gschem/src/o_circle.c:284 #, c-format msgid "Unknown type for circle (fill)!\n" msgstr "Undefinierter Typ für einen Kreis (Füllung).\n" #: gschem/src/o_complex.c:223 gschem/src/o_complex.c:227 #, c-format msgid "Translating schematic [%d %d]\n" msgstr "Verschiebe Schaltplan [%d %d]\n" #: gschem/src/o_misc.c:61 #, c-format msgid "Got an unexpected NULL in o_edit\n" msgstr "Der Rückgabewert von o_edit war unerwartet NULL\n" #: gschem/src/o_misc.c:125 msgid "Object already locked\n" msgstr "Objekt bereits gesperrt\n" #: gschem/src/o_misc.c:163 msgid "Object already unlocked\n" msgstr "Objekt bereits entsperrt\n" #: gschem/src/o_misc.c:339 msgid "Hidden text is now visible\n" msgstr "Verborgener Text ist jetzt sichtbar.\n" #: gschem/src/o_misc.c:341 msgid "Hidden text is now invisible\n" msgstr "Verborgener Text ist jetzt unsichbar.\n" #: gschem/src/o_misc.c:568 #, c-format msgid "Could not find symbol [%s] in library. Update failed.\n" msgstr "" "Das Symbol [%s] konnte nicht gefunden werden. Aktualisierung " "fehlgeschlagen.\n" #: gschem/src/o_misc.c:683 #, c-format msgid "o_autosave_backups: Can't get the real filename of %s." msgstr "" "o_autosave_backups: Konnte den tatsächlichen Dateinamen von %s nicht " "ermitteln." #: gschem/src/o_misc.c:727 #, c-format msgid "Could NOT set previous backup file [%s] read-write\n" msgstr "" "Die vorherige Backup-Datei [%s] konnte nicht auf read-write gesetzt werden.\n" #: gschem/src/o_misc.c:747 #, c-format msgid "Could NOT set backup file [%s] readonly\n" msgstr "Die Backup-Datei [%s] konnte nicht auf readonly gesetzt werden.\n" #: gschem/src/o_misc.c:752 #, c-format msgid "Could NOT save backup file [%s]\n" msgstr "Die Backup-Datei [%s] konnte nicht gespeichert werden.\n" #: gschem/src/o_move.c:174 #, c-format msgid "ERROR: NULL object in o_move_end!\n" msgstr "FEHLER: NULL Objekt innerhalb von o_move_end.\n" #: gschem/src/o_move.c:431 #, c-format msgid "DOH! tried to find the whichone, but didn't find it!\n" msgstr "" "Versuchte vergebens das Objekt innerhalb von o_move_return_whichone zu " "finden.\n" #: gschem/src/o_move.c:453 #, c-format msgid "Got a non line object in o_move_check_endpoint\n" msgstr "Da ist ein Objekt in o_move_check_endpoint, welches keine Linie ist.\n" #: gschem/src/o_net.c:158 #, c-format msgid "Got an invalid which one in o_net_draw_stretch\n" msgstr "Ungültiger Wert für das Pin-Ende in der Funktion o_net_draw_stretch\n" #: gschem/src/o_net.c:537 msgid "Warning: Starting net at off grid coordinate\n" msgstr "" "Achtung: Der Startpunkt des Netzes befindet sich nicht auf dem Raster\n" #: gschem/src/o_net.c:602 msgid "Warning: Ending net at off grid coordinate\n" msgstr "Achtung: Das Ende des Netzes befindet sich nicht auf dem Raster\n" #: gschem/src/o_net.c:944 gschem/src/o_net.c:981 gschem/src/o_net.c:1052 #: gschem/src/o_net.c:1088 #, c-format msgid "Tried to add more than two bus rippers. Internal gschem error.\n" msgstr "" "Interner gschem Fehler: Versuchte mehr als zwei Bus Abzweigungen " "hinzuzufügen\n" #: gschem/src/o_net.c:1156 #, c-format msgid "Bus ripper symbol [%s] was not found in any component library\n" msgstr "Das Busripper Symbol [%s] wurde in keiner Bauteilbibliothek gefunden\n" #: gschem/src/o_path.c:340 #, c-format msgid "Unknown type for path (fill)!\n" msgstr "Unbekannte Füllart einer Pfad-Definition!\n" #: gschem/src/o_picture.c:166 #, c-format msgid "Failed to load picture: %s" msgstr "Das Bild [%s] konnte nicht geladen werden" #: gschem/src/o_picture.c:180 msgid "Picture" msgstr "Bild" #: gschem/src/o_picture.c:544 #, c-format msgid "Failed to replace pictures: %s" msgstr "Die folgenden Bilder konnten nicht überschrieben werden: %s" #: gschem/src/o_slot.c:81 msgid "Slot attribute malformed\n" msgstr "Slot Attribut ist fehlerhaft.\n" #: gschem/src/o_slot.c:89 msgid "numslots attribute missing\n" msgstr "Das numslots Attribut fehlt\n" #: gschem/src/o_slot.c:90 msgid "Slotting not allowed for this component\n" msgstr "Bei diesem Bauteil ist nur ein slot erlaubt.\n" #: gschem/src/o_slot.c:105 msgid "New slot number out of range\n" msgstr "Neue slot Nummer außerhalb des gültigen Wertebereichs\n" #: gschem/src/o_undo.c:307 msgid "Undo/Redo disabled in rc file\n" msgstr "Rückgängig/Wiederherstellen wurde in der rc Datei deaktiviert.\n" #: gschem/src/parsecmd.c:82 #, c-format msgid "" "Usage: %s [OPTION ...] [--] [FILE ...]\n" "\n" "Interactively edit gEDA schematics or symbols. If one or more FILEs\n" "are specified, open them for editing; otherwise, create a new, empty\n" "schematic.\n" "\n" "Options:\n" " -q, --quiet Quiet mode.\n" " -v, --verbose Verbose mode.\n" " -r, --config-file=FILE Additional configuration file to load.\n" " -L DIR Add DIR to Scheme search path.\n" " -c EXPR Scheme expression to run at startup.\n" " -s FILE Scheme script to run at startup.\n" " -o, --output=FILE Output filename (for printing).\n" " -p Automatically place the window.\n" " -V, --version Show version information.\n" " -h, --help Help; this message.\n" " -- Treat all remaining arguments as filenames.\n" "\n" "Report bugs at \n" "gEDA/gaf homepage: \n" msgstr "" #: gschem/src/parsecmd.c:116 #, c-format msgid "" "gEDA %s (g%.7s)\n" "Copyright (C) 1998-2012 gEDA developers\n" "This is free software, and you are welcome to redistribute it under\n" "certain conditions. For details, see the file `COPYING', which is\n" "included in the gEDA distribution.\n" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" #: gschem/src/x_attribedit.c:127 #, c-format msgid "Got invalid show option; defaulting to show both\n" msgstr "Ungültige Anzeigeoption; »Beide anzeigen« wird zur Vorgabe\n" #: gschem/src/x_attribedit.c:141 #, c-format msgid "ERROR: NULL object!\n" msgstr "FEHLER: NULL Objekt!\n" #: gschem/src/x_attribedit.c:329 msgid "Single Attribute Editor" msgstr "Einzel-Attributebearbeitung" #: gschem/src/x_attribedit.c:359 msgid "Edit Attribute" msgstr "Attribut bearbeiten" #: gschem/src/x_attribedit.c:361 msgid "Add Attribute" msgstr "Attribut hinzufügen" #: gschem/src/x_attribedit.c:377 gschem/src/x_multiattrib.c:1973 msgid "Name:" msgstr "Name:" #: gschem/src/x_attribedit.c:394 gschem/src/x_multiattrib.c:1992 msgid "Value:" msgstr "Wert:" #: gschem/src/x_attribedit.c:410 gschem/src/x_multiattrib.c:2038 msgid "Visible" msgstr "Sichtbar" #: gschem/src/x_attribedit.c:430 msgid "Show Value Only" msgstr "Nur Wert anzeigen" #: gschem/src/x_attribedit.c:432 msgid "Show Name Only" msgstr "Nur Name anzeigen" #: gschem/src/x_attribedit.c:434 gschem/src/x_multiattrib.c:1512 msgid "Show Name & Value" msgstr "Name & Wert anzeigen" #: gschem/src/x_attribedit.c:441 msgid "Attach Options" msgstr "Optionen" #: gschem/src/x_attribedit.c:456 msgid "All" msgstr "Alle" #: gschem/src/x_attribedit.c:464 gschem/src/x_compselect.c:922 #: gschem/src/x_compselect.c:1036 msgid "Components" msgstr "Bauteile" #: gschem/src/x_attribedit.c:472 gschem/src/x_window.c:369 msgid "Nets" msgstr "Netz" #: gschem/src/x_attribedit.c:480 msgid "Replace existing attributes" msgstr "Vorhandene Attribute ersetzen" #: gschem/src/x_autonumber.c:415 msgid "" "slotted object without slot attribute may cause problems when autonumbering " "slots\n" msgstr "" "Objekte mit \"numslot\" Attribut und ohne \"slot\" Attribut können beim " "automatischen Nummerieren von Bauteilen Probleme verursachen.\n" #: gschem/src/x_autonumber.c:430 #, c-format msgid "" "duplicate slot may cause problems: [symbolname=%s, number=%d, slot=%d]\n" msgstr "" "Doppelt vergebener slot kann Probleme verursachen: [Symbolname=%s, Number=" "%d, slot=%d]\n" #: gschem/src/x_autonumber.c:672 msgid "No searchstring given in autonumber text.\n" msgstr "Es wurde kein Suchstring im Dialog eingegeben.\n" #: gschem/src/x_autonumber.c:724 msgid "No '*' or '?' given at the end of the autonumber text.\n" msgstr "Am Ende des Suchstrings fehlt ein '*' oder ein '?'.\n" #: gschem/src/x_autonumber.c:859 msgid "Diagonal" msgstr "Diagonal" #: gschem/src/x_autonumber.c:860 msgid "Top to bottom" msgstr "Von oben nach unten" #: gschem/src/x_autonumber.c:860 msgid "Bottom to top" msgstr "Von unten nach oben" #: gschem/src/x_autonumber.c:861 msgid "Left to right" msgstr "Von links nach rechts" #: gschem/src/x_autonumber.c:861 msgid "Right to left" msgstr "Von rechts nach links" #: gschem/src/x_autonumber.c:862 msgid "File order" msgstr "Dateireihenfolge" #: gschem/src/x_autonumber.c:1198 msgid "Autonumber text" msgstr "Nummeriere Text automatisch" #: gschem/src/x_autonumber.c:1222 msgid "Scope" msgstr "Suchbereich" #: gschem/src/x_autonumber.c:1244 msgid "Search for:" msgstr "Suchen nach:" #: gschem/src/x_autonumber.c:1258 msgid "Autonumber text in:" msgstr "Nummeriere Text in:" #: gschem/src/x_autonumber.c:1265 msgid "Skip numbers found in:" msgstr "Überspringe Nummern:" #: gschem/src/x_autonumber.c:1277 gschem/src/x_autonumber.c:1286 msgid "Selected objects" msgstr "Ausgewählte Objekte" #: gschem/src/x_autonumber.c:1278 gschem/src/x_autonumber.c:1287 msgid "Current page" msgstr "Aktuelle Seite" #: gschem/src/x_autonumber.c:1279 gschem/src/x_autonumber.c:1288 msgid "Whole hierarchy" msgstr "Gesamte Hierarchie" #: gschem/src/x_autonumber.c:1290 msgid "Overwrite existing numbers" msgstr "Vorhandene Nummern überschreiben" #: gschem/src/x_autonumber.c:1295 msgid "Options" msgstr "Optionen" #: gschem/src/x_autonumber.c:1317 msgid "Starting number:" msgstr "Startnummer:" #: gschem/src/x_autonumber.c:1324 msgid "Sort order:" msgstr "Sortierung:" #: gschem/src/x_autonumber.c:1345 msgid "Remove numbers" msgstr "Nummern entfernen" #: gschem/src/x_autonumber.c:1349 msgid "Automatic slotting" msgstr "Automatische Nummerierung von Slots" #: gschem/src/x_clipboard.c:249 #, c-format msgid "" "Invalid schematic on clipboard.\n" "\n" "An error occurred while inserting clipboard data: %s." msgstr "" "Syntax-Fehler in der Ablage.\n" "\n" "Fehler beim Einfügen eines Objekts aus der Ablage: %s." #: gschem/src/x_clipboard.c:251 msgid "Clipboard insertion failed" msgstr "Einfügen von der Ablage scheiterte." #: gschem/src/x_color.c:94 gschem/src/x_color.c:103 #, c-format msgid "Could not allocate the color %s!\n" msgstr "Konnte die Farbe %s nicht zuteilen!\n" #: gschem/src/x_color.c:94 msgid "black" msgstr "schwarz" #: gschem/src/x_color.c:103 msgid "white" msgstr "weiss" #: gschem/src/x_color.c:125 #, c-format msgid "Could not allocate display color %i!\n" msgstr "Konnte die Bildschirmfarbe %i nicht allokieren!\n" #: gschem/src/x_color.c:147 #, c-format msgid "Could not allocate outline color %i!\n" msgstr "Konnte die Umrissfarbe %i nicht allokieren!\n" #: gschem/src/x_color.c:164 gschem/src/x_color.c:181 gschem/src/x_color.c:197 #, c-format msgid "Tried to get an invalid color: %d\n" msgstr "Versuchte eine ungültige Farbe zuzuteilen: %d\n" #: gschem/src/x_color.c:214 #, c-format msgid "Tried to get an invalid outline color: %d\n" msgstr "Versuchte eine ungültige Farbe zu holen: %d\n" #: gschem/src/x_compselect.c:1066 msgid "Filter:" msgstr "Filter:" #: gschem/src/x_compselect.c:1169 gschem/src/x_dialog.c:3653 #: gschem/src/x_multiattrib.c:1839 msgid "Name" msgstr "Name" #: gschem/src/x_compselect.c:1178 gschem/src/x_multiattrib.c:1863 msgid "Value" msgstr "Wert" #: gschem/src/x_compselect.c:1217 msgid "Default behavior - reference component" msgstr "Bauteil referenzieren (Voreinstellung)" #: gschem/src/x_compselect.c:1220 msgid "Embed component in schematic" msgstr "Bauteil in den Schaltplan einbetten" #: gschem/src/x_compselect.c:1223 msgid "Include component as individual objects" msgstr "Bauteil als Einzelkomponenten einfügen" #: gschem/src/x_compselect.c:1380 msgid "Select Component..." msgstr "Bauteil auswählen …" #: gschem/src/x_compselect.c:1403 msgid "In Use" msgstr "In Verwendung" #: gschem/src/x_compselect.c:1407 msgid "Libraries" msgstr "Bibliotheken" #: gschem/src/x_compselect.c:1416 gschem/src/x_fileselect.c:122 msgid "Preview" msgstr "Vorschau" #: gschem/src/x_compselect.c:1444 msgid "Attributes" msgstr "Attribut" #: gschem/src/x_dialog.c:176 msgid "Text Entry..." msgstr "Texteingabe …" #: gschem/src/x_dialog.c:207 msgid "" "Enter text, click apply,\n" "move cursor into window, click to place text.\n" "Middle button to rotate while placing." msgstr "" "Geben Sie Text ein, klicken auf Anwenden, bewegen\n" "den Cursor ins Fenster, klicken, um den Text zu platzieren.\n" "Mittlere Maustaste dreht während dem Platzieren." #: gschem/src/x_dialog.c:301 msgid "Upper Left" msgstr "Oben Links" #: gschem/src/x_dialog.c:304 msgid "Upper Middle" msgstr "Oben Mitte" #: gschem/src/x_dialog.c:307 msgid "Upper Right" msgstr "0ben Rechts" #: gschem/src/x_dialog.c:311 msgid "Middle Left" msgstr "Mitte Links" #: gschem/src/x_dialog.c:314 msgid "Middle Middle" msgstr "Mitte Mitte" #: gschem/src/x_dialog.c:317 msgid "Middle Right" msgstr "Mitte Rechts" #: gschem/src/x_dialog.c:321 msgid "Lower Left" msgstr "Unten Links" #: gschem/src/x_dialog.c:324 msgid "Lower Middle" msgstr "Unten Mitte" #: gschem/src/x_dialog.c:327 msgid "Lower Right" msgstr "Unten Rechts" #: gschem/src/x_dialog.c:438 msgid "Edit Text Properties" msgstr "Text Eigenschaften bearbeiten" #: gschem/src/x_dialog.c:473 msgid "Text Content" msgstr "Textinhalt" #: gschem/src/x_dialog.c:509 msgid "Text Properties" msgstr "Texteigenschaften" #: gschem/src/x_dialog.c:524 msgid "Color:" msgstr "Farbe:" #: gschem/src/x_dialog.c:531 msgid "Size:" msgstr "Größe:" #: gschem/src/x_dialog.c:540 msgid "Alignment:" msgstr "Ausrichtung:" #: gschem/src/x_dialog.c:589 msgid "Solid" msgstr "Durchgehend" #: gschem/src/x_dialog.c:590 msgid "Dotted" msgstr "Gepunktet" #: gschem/src/x_dialog.c:591 msgid "Dashed" msgstr "Gestrichelt" #: gschem/src/x_dialog.c:592 msgid "Center" msgstr "Strich-Punkt" #: gschem/src/x_dialog.c:593 msgid "Phantom" msgstr "Strich-Zwei-Punkt" #: gschem/src/x_dialog.c:594 gschem/src/x_dialog.c:691 #: gschem/src/x_dialog.c:700 gschem/src/x_dialog.c:709 #: gschem/src/x_dialog.c:810 gschem/src/x_dialog.c:813 #: gschem/src/x_dialog.c:816 gschem/src/x_dialog.c:1043 #: gschem/src/x_dialog.c:1146 gschem/src/x_dialog.c:1155 #: gschem/src/x_dialog.c:1164 gschem/src/x_dialog.c:1173 #: gschem/src/x_dialog.c:1182 gschem/src/x_dialog.c:1295 #: gschem/src/x_dialog.c:1298 gschem/src/x_dialog.c:1301 #: gschem/src/x_dialog.c:1304 gschem/src/x_dialog.c:1307 msgid "*unchanged*" msgstr "*unverändert*" #: gschem/src/x_dialog.c:921 msgid "Edit Line Width & Type" msgstr "Linieneigenschaften bearbeiten" #: gschem/src/x_dialog.c:960 gschem/src/x_print.c:307 msgid "Type:" msgstr "Umfang:" #: gschem/src/x_dialog.c:964 msgid "Width:" msgstr "Breite:" #: gschem/src/x_dialog.c:968 msgid "Dash Length:" msgstr "Linienlänge:" #: gschem/src/x_dialog.c:972 msgid "Dash Space:" msgstr "Linienlücke:" #: gschem/src/x_dialog.c:1039 msgid "Hollow" msgstr "Leer" #: gschem/src/x_dialog.c:1040 msgid "Filled" msgstr "Gefüllt" #: gschem/src/x_dialog.c:1041 msgid "Mesh" msgstr "Gitter" #: gschem/src/x_dialog.c:1042 msgid "Hatch" msgstr "Schraffiert" #: gschem/src/x_dialog.c:1416 msgid "Edit Fill Type" msgstr "Füllung bearbeiten" #: gschem/src/x_dialog.c:1455 msgid "Fill Type:" msgstr "Füllung:" #: gschem/src/x_dialog.c:1459 msgid "Line Width:" msgstr "Linienbreite:" #: gschem/src/x_dialog.c:1463 msgid "Angle 1:" msgstr "Winkel 1:" #: gschem/src/x_dialog.c:1467 msgid "Pitch 1:" msgstr "Abstand 1:" #: gschem/src/x_dialog.c:1471 msgid "Angle 2:" msgstr "Winkel 2:" #: gschem/src/x_dialog.c:1475 msgid "Pitch 2:" msgstr "Abstand 2:" #: gschem/src/x_dialog.c:1602 msgid "Arc Params" msgstr "Bogen Parameter" #: gschem/src/x_dialog.c:1643 msgid "Arc Radius:" msgstr "Bogen Radius:" #: gschem/src/x_dialog.c:1651 msgid "Start Angle:" msgstr "Start Winkel:" #: gschem/src/x_dialog.c:1659 msgid "Degrees of Sweep:" msgstr "Öffnungswinkel:" #: gschem/src/x_dialog.c:1777 msgid "" "Offset to translate?\n" "(0 for origin)" msgstr "" "Wie weit soll verschoben werden?\n" "(0 verschiebt zum Ursprung)" #: gschem/src/x_dialog.c:1845 msgid "Text Size" msgstr "Text Größe" #: gschem/src/x_dialog.c:1875 msgid "Enter new text size:" msgstr "Neue Textgröße eingeben:" #: gschem/src/x_dialog.c:1951 msgid "Snap Size" msgstr "Rasterabstand" #: gschem/src/x_dialog.c:1981 msgid "Enter new snap grid spacing:" msgstr "Neuen Rasterabstand eingeben" #: gschem/src/x_dialog.c:2058 msgid "Edit slot number" msgstr "Slot-Nummer bearbeiten" #: gschem/src/x_dialog.c:2089 msgid "Edit slot number:" msgstr "Slot-Nummer bearbeiten:" #: gschem/src/x_dialog.c:2130 #, c-format msgid "%s (g%.7s)" msgstr "%s (g%.7s)" #: gschem/src/x_dialog.c:2151 msgid "About gschem" msgstr "Über gschem" #: gschem/src/x_dialog.c:2152 msgid "gEDA: GPL Electronic Design Automation" msgstr "gEDA: GPL Electronic Design Automation" #. TRANSLATORS: "ChangeLog" is a literal filename; please don't translate it. #: gschem/src/x_dialog.c:2155 msgid "" "Copyright © 1998-2012 Ales Hvezda \n" "Copyright © 1998-2012 gEDA Contributors (see ChangeLog for details)" msgstr "" "Copyright © 1998-2012 Ales Hvezda \n" "Copyright © 1998-2012 gEDA Contributors (siehe ChangeLog )" #: gschem/src/x_dialog.c:2214 msgid "Coords" msgstr "Koordinaten" #: gschem/src/x_dialog.c:2235 msgid "Screen" msgstr "Bildschirm (Pixel)" #: gschem/src/x_dialog.c:2244 msgid "World" msgstr "Global (0.001\")" #: gschem/src/x_dialog.c:2283 msgid "Background" msgstr "Hintergrund" #: gschem/src/x_dialog.c:2289 msgid "Net endpoint" msgstr "Netz-Endemarkierung" #: gschem/src/x_dialog.c:2292 msgid "Graphic" msgstr "Grafik" #: gschem/src/x_dialog.c:2301 msgid "Logic bubble" msgstr "Logikmarkierung" #: gschem/src/x_dialog.c:2304 msgid "Grid point" msgstr "Rasterpunkt" #: gschem/src/x_dialog.c:2307 msgid "Detached attribute" msgstr "Attribut ablösen" #: gschem/src/x_dialog.c:2310 gschem/src/x_window.c:387 msgid "Text" msgstr "Text" #: gschem/src/x_dialog.c:2316 msgid "Selection" msgstr "Auswahl" #: gschem/src/x_dialog.c:2319 msgid "Bounding box" msgstr "Randmarkierung" #: gschem/src/x_dialog.c:2322 msgid "Zoom box" msgstr "Ausschnitt wählen" #: gschem/src/x_dialog.c:2331 msgid "Output background" msgstr "Ausgabehintergrund" #: gschem/src/x_dialog.c:2334 msgid "Net junction" msgstr "Netzverbindung" #: gschem/src/x_dialog.c:2337 msgid "Mesh grid major" msgstr "Grobes Gitternetz" #: gschem/src/x_dialog.c:2340 msgid "Mesh grid minor" msgstr "Feines Gitternetz" #: gschem/src/x_dialog.c:2343 msgid "Unknown" msgstr "Unbekannt" #: gschem/src/x_dialog.c:2494 #, c-format msgid "ERROR: NULL object in color_edit_dialog_apply!\n" msgstr "FEHLER: NULL Objekt innerhalb von color_edit_dialog_apply!\n" #: gschem/src/x_dialog.c:2538 msgid "Color Edit" msgstr "Farbe bearbeiten" #: gschem/src/x_dialog.c:2569 msgid "Object color:" msgstr "Objektfarbe:" #: gschem/src/x_dialog.c:2622 msgid "Hotkeys" msgstr "Tastenbelegungen" #: gschem/src/x_dialog.c:2662 msgid "Function" msgstr "Funktion" #: gschem/src/x_dialog.c:2669 msgid "Keystroke(s)" msgstr "Tastenabfolge" #: gschem/src/x_dialog.c:2977 msgid "Find Text" msgstr "Text suchen" #: gschem/src/x_dialog.c:3008 msgid "Text to find:" msgstr "Zu suchender Text:" #: gschem/src/x_dialog.c:3018 msgid "descend into hierarchy" msgstr "In der Hierachie hinabsteigen" #: gschem/src/x_dialog.c:3084 msgid "Hide Text" msgstr "Text verbergen" #: gschem/src/x_dialog.c:3115 msgid "Hide text starting with:" msgstr "Text verbergen, der beginnt mit:" #: gschem/src/x_dialog.c:3185 msgid "Show Text" msgstr "Text anzeigen" #: gschem/src/x_dialog.c:3216 msgid "Show text starting with:" msgstr "Text anzeigen, der beginnt mit:" #: gschem/src/x_dialog.c:3675 msgid "S_elect the schematics you want to save:" msgstr "_Wählen Sie die zu speichernden Seiten:" #: gschem/src/x_dialog.c:3770 #, c-format msgid "Save the changes to schematic \"%s\" before closing?" msgstr "" "Sollen die Änderungen am Schaltplan \"%s\" vor dem Schließen gespeichert " "werden?" #: gschem/src/x_dialog.c:3776 #, c-format msgid "" "There are %d schematics with unsaved changes. Save changes before closing?" msgstr "" "Es gibt %d ungesicherte Schaltpläne. Sollen die Änderungen vor dem Schließen " "gespeichert werden?" #: gschem/src/x_dialog.c:3805 msgid "If you don't save, all your changes will be permanently lost." msgstr "Wenn Sie nicht speichern, werden alle Änderungen verworfen." #: gschem/src/x_dialog.c:3825 msgid "_Close without saving" msgstr "Schließen _ohne Speichern" #: gschem/src/x_dialog.c:4161 #, c-format msgid "" "The input attribute \"%s\" is invalid\n" "Please correct in order to continue\n" "\n" "The name and value must be non-empty.\n" "The name cannot end with a space.\n" "The value cannot start with a space." msgstr "" "Das eingegebene Attribut \"%s\" ist " "nicht zulässig\n" "Bitte korrigiere es um fortzufahren.\n" "\n" "Der Name und der Wert dürfen nicht leer sein.\n" "Der Name darf nicht mit einem Leerzeichen enden.\n" "Der Wert darf nicht mit einem Leerzeichen beginnen." #: gschem/src/x_dialog.c:4163 msgid "Invalid Attribute" msgstr "Fehlerhaftes Attribut" #: gschem/src/x_dialog.c:4199 msgid "Pin type" msgstr "Pin-Typ" #: gschem/src/x_dialog.c:4223 msgid "Net pin" msgstr "Netz-Pin" #: gschem/src/x_dialog.c:4225 msgid "Bus pin (graphical)" msgstr "Bus-Pin (grafisch)" #: gschem/src/x_fileselect.c:42 msgid "Schematics" msgstr "Schaltpläne" #: gschem/src/x_fileselect.c:47 msgid "Symbols" msgstr "Symbole" #: gschem/src/x_fileselect.c:52 msgid "Schematics and symbols" msgstr "Schaltpläne und Symbole" #: gschem/src/x_fileselect.c:58 msgid "All files" msgstr "Alle Dateien" #: gschem/src/x_fileselect.c:171 msgid "Open..." msgstr "Öffnen …" #: gschem/src/x_fileselect.c:231 msgid "Save as..." msgstr "Speichern unter …" #: gschem/src/x_fileselect.c:284 #, c-format msgid "" "The selected file `%s' already exists.\n" "\n" "Would you like to overwrite it?" msgstr "" "Die ausgewählte Datei '%s' existiert bereits.\n" "\n" "Soll die Datei überschrieben werden?" #: gschem/src/x_fileselect.c:287 msgid "Overwrite file?" msgstr "Datei überschreiben?" #: gschem/src/x_fileselect.c:289 msgid "Save cancelled on user request\n" msgstr "Das Speichern wurde durch den Anwender abgebrochen\n" #: gschem/src/x_image.c:176 msgid "Encapsulated Postscript" msgstr "Encapsulated Postscript" #: gschem/src/x_image.c:296 #, c-format msgid "x_image_lowlevel: Unable to write eps file %s.\n" msgstr "x_image_lowlevel: Konnte eps-Datei %s nicht schreiben.\n" #: gschem/src/x_image.c:374 #, c-format msgid "x_image_lowlevel: Unable to write %s file %s.\n" msgstr "x_image_lowlevel: Konnte %s-Datei %s nicht schreiben.\n" #: gschem/src/x_image.c:384 #, c-format msgid "" "There was the following error when saving image with type %s to filename:\n" "%s\n" "\n" "%s.\n" msgstr "" "Beim Speichern des Bildes vom Typ \"%s\" in die Datei \"%s\" trat der " "folgende Fehler auf:\n" "\n" "%s.\n" #: gschem/src/x_image.c:403 #, c-format msgid "Wrote color image to [%s] [%d x %d]\n" msgstr "Farbiges Bild als [%s] gespeichert. Größe [%d x %d]\n" #: gschem/src/x_image.c:405 #, c-format msgid "Wrote black and white image to [%s] [%d x %d]\n" msgstr "Schwarz & weiß Bild als [%s] gespeichert. Größe [%d x %d]\n" #: gschem/src/x_image.c:413 msgid "x_image_lowlevel: Unable to get pixbuf from gschem's window.\n" msgstr "x_image_lowlevel: konnte kein Bild vom gschem-Fenster bekommen.\n" #: gschem/src/x_image.c:458 msgid "Width x Height" msgstr "Breite × Höhe" #: gschem/src/x_image.c:474 msgid "Image type" msgstr "Bildformat" #: gschem/src/x_image.c:495 msgid "Write image..." msgstr "Bild exportieren …" #: gschem/src/x_log.c:209 msgid "** Invalid UTF-8 in log message. See stderr or gschem.log.\n" msgstr "" "** Diese Fehlermeldung enthält eine ungültige UTF-8 Kodierung. Siehe gschem." "log und stderr.\n" #: gschem/src/x_log.c:288 msgid "Status" msgstr "Status" #: gschem/src/x_menus.c:37 msgid "/Add Net" msgstr "/Netz einfügen" #: gschem/src/x_menus.c:38 msgid "/Add Attribute..." msgstr "/Attribut hinzufügen …" #: gschem/src/x_menus.c:39 msgid "/Add Component..." msgstr "/Bauteil hinzufügen …" #: gschem/src/x_menus.c:40 msgid "/Add Bus" msgstr "/Bus einfügen" #: gschem/src/x_menus.c:41 msgid "/Add Text" msgstr "/Text einfügen" #: gschem/src/x_menus.c:43 msgid "/Zoom In" msgstr "/Vergrößern" #: gschem/src/x_menus.c:44 msgid "/Zoom Out" msgstr "/Verkleinern" #: gschem/src/x_menus.c:45 msgid "/Zoom Box" msgstr "/Ausschnitt wählen" #: gschem/src/x_menus.c:46 msgid "/Zoom Extents" msgstr "/Automatisch" #: gschem/src/x_menus.c:48 msgid "/Select" msgstr "/Auswählen" #: gschem/src/x_menus.c:49 msgid "/Edit..." msgstr "/Bearbeiten …" #: gschem/src/x_menus.c:50 msgid "/Edit pin type..." msgstr "/Pin-Typ bearbeiten …" #: gschem/src/x_menus.c:51 msgid "/Copy" msgstr "/Kopieren" #: gschem/src/x_menus.c:52 msgid "/Move" msgstr "/Verschieben" #: gschem/src/x_menus.c:53 msgid "/Delete" msgstr "/Löschen" #: gschem/src/x_menus.c:56 msgid "/Down Schematic" msgstr "/Zum Schaltplan hinab" #: gschem/src/x_menus.c:57 msgid "/Down Symbol" msgstr "/Zum Symbol hinab" #: gschem/src/x_menus.c:58 msgid "/Up" msgstr "/Hinauf" #: gschem/src/x_menus.c:348 #, c-format msgid "Tried to set the sensitivity on non-existent menu item '%s'\n" msgstr "" "Es wurde versucht die Empfindlichkeit des nicht existenten Menueintrags '%s' " "zu setzen\n" #: gschem/src/x_menus.c:372 msgid "Popup_menu_item_factory doesn't exist!\n" msgstr "Popup_menu_item_factory existiert nicht\n" #: gschem/src/x_menus.c:385 msgid "Tried to set the sensitivity on a non-existent popup menu_item\n" msgstr "" "Es wurde versucht die Sensibilität für einen nichtexistierenden Menueintrag " "zu setzen\n" #: gschem/src/x_misc.c:74 msgid "The operating system is out of memory or resources." msgstr "Zu wenig Speicher, oder andere Resoucen." #: gschem/src/x_misc.c:155 #, c-format msgid "%s failed to launch URI" msgstr "%s konnte nicht geöffnet werden" #: gschem/src/x_multiattrib.c:961 msgid "Attributes with empty name are not allowed. Please set a name." msgstr "" "Attribute mit leerem Namen sind nicht erlaubt. Gib bitte einen Namen ein." #: gschem/src/x_multiattrib.c:1514 msgid "Show Value only" msgstr "Nur Wert anzeigen" #: gschem/src/x_multiattrib.c:1516 msgid "Show Name only" msgstr "Nur Name anzeigen" #: gschem/src/x_multiattrib.c:1544 msgid "Promote" msgstr "Einsetzen" #: gschem/src/x_multiattrib.c:1548 msgid "Duplicate" msgstr "Duplizieren" #: gschem/src/x_multiattrib.c:1765 msgid "Edit Attributes" msgstr "Attribute bearbeiten" #: gschem/src/x_multiattrib.c:1883 msgid "Vis?" msgstr "Sichtbar?" #: gschem/src/x_multiattrib.c:1901 msgid "N" msgstr "Name" #: gschem/src/x_multiattrib.c:1919 msgid "V" msgstr "Wert" #: gschem/src/x_multiattrib.c:1941 msgid "Show inherited attributes" msgstr "Geerbte Attribute anzeigen" #: gschem/src/x_multiattrib.c:1957 msgid "Add Attribute" msgstr "Attribut hinzufügen" #: gschem/src/x_pagesel.c:246 msgid "New Page" msgstr "Neue Seite" #: gschem/src/x_pagesel.c:247 msgid "Open Page..." msgstr "Seite öffnen …" #: gschem/src/x_pagesel.c:249 msgid "Save Page" msgstr "Seite speichern" #: gschem/src/x_pagesel.c:250 msgid "Close Page" msgstr "Seite schließen" #: gschem/src/x_pagesel.c:251 msgid "Discard Page" msgstr "Seite ablegen" #: gschem/src/x_pagesel.c:369 msgid "Page Manager" msgstr "Seitenverwaltung" #: gschem/src/x_pagesel.c:425 msgid "Filename" msgstr "Dateiname" #: gschem/src/x_pagesel.c:441 msgid "Changed" msgstr "Geändert" #: gschem/src/x_pagesel.c:461 msgid "Right click on the filename for more options..." msgstr "Rechtsklick auf den Dateinamen zeigt mehr Optionen …" #: gschem/src/x_preview.c:231 msgid "Preview Buffer" msgstr "Vorschau" #: gschem/src/x_print.c:84 msgid "Select PostScript Filename..." msgstr "PostScript-Dateinamen auswählen …" #: gschem/src/x_print.c:164 msgid "Extents with margins" msgstr "Alles mit Rand" #: gschem/src/x_print.c:170 msgid "Extents no margins" msgstr "Alles ohne Rand" #: gschem/src/x_print.c:176 msgid "Current Window" msgstr "Aktuelles Fenster" #: gschem/src/x_print.c:210 msgid "Landscape" msgstr "Querformat" #: gschem/src/x_print.c:216 msgid "Portrait" msgstr "Hochformat" #: gschem/src/x_print.c:276 msgid "Print..." msgstr "Drucken …" #: gschem/src/x_print.c:284 msgid "Settings" msgstr "Einstellungen" #: gschem/src/x_print.c:296 msgid "Output paper size:" msgstr "Papiergröße:" #: gschem/src/x_print.c:318 msgid "Orientation:" msgstr "Ausrichtung:" #: gschem/src/x_print.c:330 msgid "Destination" msgstr "Ziel" #: gschem/src/x_print.c:343 msgid "File:" msgstr "Datei:" #: gschem/src/x_print.c:373 msgid "Command:" msgstr "Befehl:" #: gschem/src/x_print.c:745 msgid "No print destination specified\n" msgstr "Das Ziel für den Ausdruck fehlt\n" #: gschem/src/x_print.c:752 #, c-format msgid "Cannot print current schematic to [%s]\n" msgstr "Aktueller Schaltplan kann nicht in [%s] gedruckt werden.\n" #: gschem/src/x_print.c:761 #, c-format msgid "" "Error printing to file '%s'\n" "Check the log window for more information" msgstr "" "Fehler beim Drucken in die Datei '%s'\n" "Nähere Informationen sind im Log-Fenster." #: gschem/src/x_print.c:768 #, c-format msgid "Printed current schematic to [%s]\n" msgstr "Aktueller Schalplan in [%s] ausgedruckt\n" #: gschem/src/x_rc.c:40 msgid "ERROR: An unknown error occurred while parsing configuration files.\n" msgstr "FEHLER: Beim Einlesen der Konfigurationsdateien trat ein Fehler auf.\n" #: gschem/src/x_rc.c:45 msgid "" "An unknown error occurred while parsing configuration files.\n" "\n" "The gschem log may contain more information." msgstr "Beim Einlesen der Konfigurationsdateien trat ein Fehler auf." #: gschem/src/x_rc.c:57 #, c-format msgid "ERROR: %s\n" msgstr "FEHLER: %s\n" #: gschem/src/x_rc.c:60 #, c-format msgid "" "%s\n" "\n" "The gschem log may contain more information." msgstr "" "%s\n" "\n" "Das Log-Fenster von gschem sind eventuell Details eingetragen." #: gschem/src/x_rc.c:68 msgid "Cannot load gschem configuration." msgstr "Konfigurationsdateien konnte nicht eingelesen werden." #: gschem/src/x_script.c:47 gschem/lib/system-gschemrc.scm:1381 msgid "Execute Script..." msgstr "Skript ausführen …" #: gschem/src/x_script.c:66 #, c-format msgid "Executing guile script [%s]\n" msgstr "Führe guile scipt aus [%s]\n" #: gschem/src/x_window.c:82 #, c-format msgid "Couldn't allocate gc\n" msgstr "Konnte gc in x_window_setup_gc nicht zuweisen\n" #: gschem/src/x_window.c:321 msgid "New" msgstr "Neu" #: gschem/src/x_window.c:322 msgid "New file" msgstr "Neue Datei" #: gschem/src/x_window.c:328 msgid "Open" msgstr "Öffnen" #: gschem/src/x_window.c:329 msgid "Open file..." msgstr "Datei öffnen …" #: gschem/src/x_window.c:335 msgid "Save" msgstr "Speichern" #: gschem/src/x_window.c:336 msgid "Save file" msgstr "Datei speichern" #: gschem/src/x_window.c:343 msgid "Undo" msgstr "Rückgängig" #: gschem/src/x_window.c:344 msgid "Undo last operation" msgstr "Letzte Aktion rückgängig machen" #: gschem/src/x_window.c:350 msgid "Redo" msgstr "Wiederherstellen" #: gschem/src/x_window.c:351 msgid "Redo last undo" msgstr "Letzte Aktion wiederherstellen" #: gschem/src/x_window.c:360 msgid "" "Add component...\n" "Select library and component from list, move the mouse into main window, " "click to place\n" "Right mouse button to cancel" msgstr "" "Bauteil hinzufügen …\n" "Wählen Sie Bibliothek und Bauteil aus der Liste, bewegen die Maus ins " "Hauptfenster,\n" "klicken, um es zu platzieren. Rechtsklick zum abbrechen" #: gschem/src/x_window.c:370 msgid "" "Add nets mode\n" "Right mouse button to cancel" msgstr "" "Netz einfügen\n" "mit rechter Maustaste abbrechen" #: gschem/src/x_window.c:380 msgid "" "Add buses mode\n" "Right mouse button to cancel" msgstr "" "Bus einfügen\n" "mit rechter Maustaste abbrechen" #: gschem/src/x_window.c:388 msgid "Add Text..." msgstr "Text hinzufügen …" #: gschem/src/x_window.c:398 msgid "Select" msgstr "Auswählen" #: gschem/src/x_window.c:399 msgid "Select mode" msgstr "Auswahlmodus" #: gschem/src/x_window.c:465 msgid "Evaluate:" msgstr "Auswerten:" #: gschem/src/x_window.c:484 msgid "Pick" msgstr "Auswählen" #: gschem/src/x_window.c:500 msgid "Repeat/none" msgstr "Wiederholen/Nichts" #: gschem/src/x_window.c:510 msgid "Menu/Cancel" msgstr "Menü/Abbrechen" #: gschem/src/x_window.c:512 msgid "Pan/Cancel" msgstr "Ausschnitt/Abbrechen" #: gschem/src/x_window.c:737 #, c-format msgid "Loading schematic [%s]\n" msgstr "Lade Schaltplan [%s]\n" #: gschem/src/x_window.c:748 #, c-format msgid "" "An error occurred while loading the requested file.\n" "\n" "Loading from '%s' failed: %s. The gschem log may contain more information." msgstr "" "Fehler beim Laden einer Datei.\n" "\n" "Laden von '%s' ist gescheitert: %s. Das gschem log enthält eventuell mehr " "Details." #: gschem/src/x_window.c:750 msgid "Failed to load file" msgstr "Eine Datei konnte nicht geladen werden" #: gschem/src/x_window.c:759 #, c-format msgid "New file [%s]\n" msgstr "Neue Datei [%s]\n" #: gschem/src/x_window.c:862 #, c-format msgid "Could NOT save page [%s]\n" msgstr "Die Seite [%s] konnte nicht gespeichert werden.\n" #: gschem/src/x_window.c:863 msgid "Error while trying to save" msgstr "Fehler während des Speicherns" #: gschem/src/x_window.c:873 msgid "Failed to save file" msgstr "Datei konnte nicht gespeichert werden" #: gschem/src/x_window.c:884 #, c-format msgid "Saved as [%s]\n" msgstr "Gespeichert unter [%s]\n" #: gschem/src/x_window.c:886 #, c-format msgid "Saved [%s]\n" msgstr "Gespeichert [%s]\n" #: gschem/src/x_window.c:888 msgid "Saved" msgstr "Gespeichert" #: gschem/src/x_window.c:962 #, c-format msgid "Discarding page [%s]\n" msgstr "Schließe Schaltplan [%s]\n" #: gschem/src/x_window.c:962 #, c-format msgid "Closing [%s]\n" msgstr "Schließe [%s]\n" #: gschem/data/geda-gschem.desktop.in:3 msgid "gEDA Schematic Editor" msgstr "gEDA – Schaltplanbearbeitung" #: gschem/data/geda-gschem.desktop.in:4 msgid "Create and edit electrical schematics and symbols with gschem" msgstr "" "Erstellen oder editieren eines elektrischen Schaltplans oder Symbols mit " "gschem" #: gschem/lib/system-gschemrc.scm:1368 msgid "_New" msgstr "_Neu" #: gschem/lib/system-gschemrc.scm:1369 msgid "_Open..." msgstr "Ö_ffnen …" #: gschem/lib/system-gschemrc.scm:1371 msgid "Open Recen_t" msgstr "_Zuletzt geöffnet" #: gschem/lib/system-gschemrc.scm:1373 msgid "_Save" msgstr "_Speichern" #: gschem/lib/system-gschemrc.scm:1374 msgid "Save _As..." msgstr "Speichern _unter …" #: gschem/lib/system-gschemrc.scm:1375 msgid "Save All" msgstr "_Alles speichern" #: gschem/lib/system-gschemrc.scm:1376 gschem/lib/system-gschemrc.scm:1469 msgid "_Revert" msgstr "Neu _laden" #: gschem/lib/system-gschemrc.scm:1378 msgid "_Print..." msgstr "_Drucken …" #: gschem/lib/system-gschemrc.scm:1379 msgid "Write _image..." msgstr "Bild e_xportieren …" #: gschem/lib/system-gschemrc.scm:1383 msgid "New Window" msgstr "Neues _Fenster" #: gschem/lib/system-gschemrc.scm:1384 msgid "_Close Window" msgstr "Fenster s_chließen" #: gschem/lib/system-gschemrc.scm:1385 msgid "_Quit" msgstr "_Beenden" #: gschem/lib/system-gschemrc.scm:1391 msgid "_Undo" msgstr "_Rückgängig" #: gschem/lib/system-gschemrc.scm:1392 msgid "_Redo" msgstr "_Wiederherstellen" #: gschem/lib/system-gschemrc.scm:1394 msgid "Cu_t" msgstr "_Ausschneiden" #: gschem/lib/system-gschemrc.scm:1395 msgid "_Copy" msgstr "_Kopieren" #: gschem/lib/system-gschemrc.scm:1396 msgid "_Paste" msgstr "E_infügen" #: gschem/lib/system-gschemrc.scm:1397 msgid "_Delete" msgstr "_Löschen" #: gschem/lib/system-gschemrc.scm:1400 msgid "Select All" msgstr "Alles auswählen" #: gschem/lib/system-gschemrc.scm:1401 msgid "Deselect" msgstr "Auswahl aufheben" #: gschem/lib/system-gschemrc.scm:1405 msgid "Rotate 90 Mode" msgstr "Drehmodus (90°)" #: gschem/lib/system-gschemrc.scm:1408 msgid "Edit..." msgstr "Bearbeiten …" #: gschem/lib/system-gschemrc.scm:1409 msgid "Edit Text..." msgstr "Text bearbeiten …" #: gschem/lib/system-gschemrc.scm:1410 msgid "Slot..." msgstr "Slot …" #: gschem/lib/system-gschemrc.scm:1411 msgid "Color..." msgstr "Farbe …" #: gschem/lib/system-gschemrc.scm:1412 msgid "Line Width & Type..." msgstr "Linieneigenschaften …" #: gschem/lib/system-gschemrc.scm:1413 msgid "Fill Type..." msgstr "Füllung …" #: gschem/lib/system-gschemrc.scm:1414 msgid "Symbol Translate..." msgstr "Symbol transferieren …" #: gschem/lib/system-gschemrc.scm:1418 msgid "Invoke Macro" msgstr "Makro ausführen" #: gschem/lib/system-gschemrc.scm:1419 msgid "Embed Component/Picture" msgstr "Bauteil/Bild einbetten" #: gschem/lib/system-gschemrc.scm:1420 msgid "Unembed Component/Picture" msgstr "Bauteil/Bild ausbetten" #: gschem/lib/system-gschemrc.scm:1421 msgid "Update Component" msgstr "Bauteil aktualisieren" #: gschem/lib/system-gschemrc.scm:1422 msgid "Show/Hide Inv Text" msgstr "Unsichtbaren Text anzeigen/verbergen" #: gschem/lib/system-gschemrc.scm:1428 msgid "Copy into 1" msgstr "Kopieren in 1" #: gschem/lib/system-gschemrc.scm:1429 msgid "Copy into 2" msgstr "Kopieren in 2" #: gschem/lib/system-gschemrc.scm:1430 msgid "Copy into 3" msgstr "Kopieren in 3" #: gschem/lib/system-gschemrc.scm:1431 msgid "Copy into 4" msgstr "Kopieren in 4" #: gschem/lib/system-gschemrc.scm:1432 msgid "Copy into 5" msgstr "Kopieren in 5" #: gschem/lib/system-gschemrc.scm:1433 msgid "Cut into 1" msgstr "Ausschneiden in 1" #: gschem/lib/system-gschemrc.scm:1434 msgid "Cut into 2" msgstr "Ausschneiden in 2" #: gschem/lib/system-gschemrc.scm:1435 msgid "Cut into 3" msgstr "Ausschneiden in 3" #: gschem/lib/system-gschemrc.scm:1436 msgid "Cut into 4" msgstr "Ausschneiden in 4" #: gschem/lib/system-gschemrc.scm:1437 msgid "Cut into 5" msgstr "Ausschneiden in 5" #: gschem/lib/system-gschemrc.scm:1438 msgid "Paste from 1" msgstr "Einfügen aus 1" #: gschem/lib/system-gschemrc.scm:1439 msgid "Paste from 2" msgstr "Einfügen aus 2" #: gschem/lib/system-gschemrc.scm:1440 msgid "Paste from 3" msgstr "Einfügen aus 3" #: gschem/lib/system-gschemrc.scm:1441 msgid "Paste from 4" msgstr "Einfügen aus 4" #: gschem/lib/system-gschemrc.scm:1442 msgid "Paste from 5" msgstr "Einfügen aus 5" #: gschem/lib/system-gschemrc.scm:1448 msgid "_Redraw" msgstr "Akt_ualisieren" #: gschem/lib/system-gschemrc.scm:1449 msgid "_Pan" msgstr "Ausschnitt _wechseln" #: gschem/lib/system-gschemrc.scm:1450 msgid "Zoom _Box" msgstr "_Rechteck auswählen" #: gschem/lib/system-gschemrc.scm:1451 msgid "Zoom _Extents" msgstr "_Alles anzeigen" #: gschem/lib/system-gschemrc.scm:1452 msgid "Zoom _In" msgstr "Ver_größern" #: gschem/lib/system-gschemrc.scm:1453 msgid "Zoom _Out" msgstr "Ver_kleinern" #: gschem/lib/system-gschemrc.scm:1454 msgid "Zoom _Full" msgstr "Gesamte _Zeichenfläche" #: gschem/lib/system-gschemrc.scm:1456 msgid "_Dark color scheme" msgstr "_Dunkles Farbschema" #: gschem/lib/system-gschemrc.scm:1457 msgid "_Light color scheme" msgstr "_Helles Farbschema" #: gschem/lib/system-gschemrc.scm:1458 msgid "B_W color scheme" msgstr "Schwarz/Weiß" #: gschem/lib/system-gschemrc.scm:1465 msgid "_Manager..." msgstr "Ver_waltung …" #: gschem/lib/system-gschemrc.scm:1466 msgid "_Previous" msgstr "_Vorherige" #: gschem/lib/system-gschemrc.scm:1467 msgid "_Next" msgstr "_Nächste" #: gschem/lib/system-gschemrc.scm:1468 msgid "Ne_w" msgstr "N_eu" #: gschem/lib/system-gschemrc.scm:1470 msgid "_Close" msgstr "S_chließen" #: gschem/lib/system-gschemrc.scm:1472 msgid "_Discard" msgstr "_Ablegen" #: gschem/lib/system-gschemrc.scm:1478 msgid "_Component..." msgstr "_Bauteil …" #: gschem/lib/system-gschemrc.scm:1479 msgid "_Net" msgstr "_Netz" #: gschem/lib/system-gschemrc.scm:1480 msgid "B_us" msgstr "B_us" #: gschem/lib/system-gschemrc.scm:1481 msgid "_Attribute..." msgstr "_Attribut …" #: gschem/lib/system-gschemrc.scm:1482 msgid "_Text..." msgstr "_Text …" #: gschem/lib/system-gschemrc.scm:1484 msgid "_Line" msgstr "_Linie" #: gschem/lib/system-gschemrc.scm:1485 msgid "_Box" msgstr "_Rechteck" #: gschem/lib/system-gschemrc.scm:1486 msgid "C_ircle" msgstr "_Kreis" #: gschem/lib/system-gschemrc.scm:1487 msgid "A_rc" msgstr "Kreisb_ogen" #: gschem/lib/system-gschemrc.scm:1488 msgid "_Pin" msgstr "_Pin" #: gschem/lib/system-gschemrc.scm:1489 msgid "Pictu_re..." msgstr "B_ild …" #: gschem/lib/system-gschemrc.scm:1495 msgid "_Down Schematic" msgstr "Zum _Schaltplan hinab" #: gschem/lib/system-gschemrc.scm:1496 msgid "Down _Symbol" msgstr "Zum S_ymbol hinab" #: gschem/lib/system-gschemrc.scm:1497 msgid "_Up" msgstr "_Hinauf" #: gschem/lib/system-gschemrc.scm:1498 msgid "D_ocumentation..." msgstr "_Dokumentation …" #: gschem/lib/system-gschemrc.scm:1504 msgid "_Attach" msgstr "_Anbringen" #: gschem/lib/system-gschemrc.scm:1505 msgid "_Detach" msgstr "_Loslösen" #: gschem/lib/system-gschemrc.scm:1506 msgid "Show _Value" msgstr "_Wert anzeigen" #: gschem/lib/system-gschemrc.scm:1507 msgid "Show _Name" msgstr "_Name anzeigen" #: gschem/lib/system-gschemrc.scm:1508 msgid "Show _Both" msgstr "_Beide anzeigen" #: gschem/lib/system-gschemrc.scm:1509 msgid "_Toggle Visibility" msgstr "Sichtbarkeit _umschalten" #: gschem/lib/system-gschemrc.scm:1511 msgid "_Find Specific Text..." msgstr "Text _suchen …" #: gschem/lib/system-gschemrc.scm:1512 msgid "_Hide Specific Text..." msgstr "Text _verbergen …" #: gschem/lib/system-gschemrc.scm:1513 msgid "_Show Specific Text..." msgstr "Text an_zeigen …" #: gschem/lib/system-gschemrc.scm:1514 msgid "A_utonumber Text..." msgstr "Text _durchnummerieren …" #: gschem/lib/system-gschemrc.scm:1520 msgid "_Text Size..." msgstr "_Textgröße …" #: gschem/lib/system-gschemrc.scm:1521 msgid "Cycle _grid styles" msgstr "G_itterstil wechseln" #: gschem/lib/system-gschemrc.scm:1522 msgid "Toggle _Snap On/Off" msgstr "_Raster umschalten" #: gschem/lib/system-gschemrc.scm:1523 msgid "Snap Grid S_pacing..." msgstr "Raster_abstand …" #: gschem/lib/system-gschemrc.scm:1524 msgid "Scale _up Grid Spacing" msgstr "Rasterabstand ver_größern" #: gschem/lib/system-gschemrc.scm:1526 msgid "Scale _down Grid Spacing" msgstr "Rasterabstand ver_kleinern" #: gschem/lib/system-gschemrc.scm:1528 msgid "Toggle _Outline/Box" msgstr "_Umrissanzeige umschalten" #: gschem/lib/system-gschemrc.scm:1530 msgid "Toggle Net _Rubberband" msgstr "_Netzgummifäden umschalten" #: gschem/lib/system-gschemrc.scm:1531 msgid "Toggle _Magnetic Net" msgstr "_Magnetischen Netzmodus umschalten" #: gschem/lib/system-gschemrc.scm:1532 msgid "Show _Log Window..." msgstr "Protoko_llfenster anzeigen …" #: gschem/lib/system-gschemrc.scm:1534 msgid "Show _Coord Window..." msgstr "K_oordinatenfenster anzeigen …" #: gschem/lib/system-gschemrc.scm:1542 msgid "gEDA Docu_mentation..." msgstr "gEDA-_Dokumentation …" #: gschem/lib/system-gschemrc.scm:1543 msgid "gschem _FAQ..." msgstr "gschem-_FAQ …" #: gschem/lib/system-gschemrc.scm:1544 msgid "gEDA _Wiki..." msgstr "gEDA-_Wiki …" #: gschem/lib/system-gschemrc.scm:1545 msgid "Component D_ocumentation..." msgstr "Bauteil-D_okumentation …" #: gschem/lib/system-gschemrc.scm:1547 msgid "_Hotkeys..." msgstr "_Tastenbelegungen …" #: gschem/lib/system-gschemrc.scm:1548 msgid "_About..." msgstr "_Info …" #: gschem/lib/system-gschemrc.scm:1554 msgid "_File" msgstr "_Datei" #: gschem/lib/system-gschemrc.scm:1555 msgid "_Edit" msgstr "_Bearbeiten" #: gschem/lib/system-gschemrc.scm:1556 msgid "_Buffer" msgstr "_Puffer" #: gschem/lib/system-gschemrc.scm:1557 msgid "_View" msgstr "_Ansicht" #: gschem/lib/system-gschemrc.scm:1558 msgid "_Page" msgstr "_Seite" #: gschem/lib/system-gschemrc.scm:1559 msgid "_Add" msgstr "_Einfügen" #: gschem/lib/system-gschemrc.scm:1560 msgid "Hie_rarchy" msgstr "Hie_rarchie" #: gschem/lib/system-gschemrc.scm:1561 msgid "A_ttributes" msgstr "A_ttribut" #: gschem/lib/system-gschemrc.scm:1562 msgid "_Options" msgstr "_Optionen" #: gschem/lib/system-gschemrc.scm:1563 msgid "_Help" msgstr "_Hilfe" #: gschem/scheme/gschem/deprecated.scm:102 #, scheme-format msgid "Invalid text alignment ~A." msgstr "Ungültige Ausrichtung: ~A." #: gschem/scheme/gschem/gschemdoc.scm:225 msgid "No documentation found" msgstr "Dokumentation konnte nicht gefunden werden" #: gschem/scheme/gschem/keymap.scm:38 #, scheme-format msgid "~S is not a valid key combination." msgstr "~S ist keine gültige Tasten-Kombination." #: gschem/scheme/gschem/keymap.scm:153 #, scheme-format msgid "~S is not a prefix key sequence." msgstr "~S ist kein gültiger erster Teil einer Tastenkombination." geda-gaf-1.8.2/gschem/po/pt_BR.gmo0000664000175000017500000005503012220655645013510 00000000000000u l8 9EW`r {     ! 7 F S g ~ ]! i!v!(}!$! ! !+!"*" "" """" "" # #>#W#g# {######'#### # $$ !$/$ 5$@$I$P$ Y$c$ r$}$$$$$$$ $ $ $ $ $ $ $(%3<%!p%6%=%&& 3&@&F&L&R&X& ^& i& t& & &&&&& &&& && ' '"'='R'W'g'v' '' '''''' ((m2(((((()%)"@)c)i) r))) ))/)4)!* (* 2*?*E*c* ** ***=* *+' +4+-F+*t+.+<+< ,3H,,|,&,&,%, - *- 4- B-L- Q-[- p-|-- - - - -- - - -- -. . .%.8.:.?.E.I.R.W.[. d.o.......#./ #/ 0/=/ E/R/ b/o/s/ |/ ////// / / / / //0 0 0 0$0-060>0"G0j00000 0/0 001 1111A1F1 O1 Y1d1 11 1 11 111 11 2$2+2 ?2 K2W2i2z2 2222 222233 3&3,323J3P3U3(o3333303 34 44%4-4 24 @4 J4 T4Lb44 4 44"5$5*5/5C5b5j555 5555 5 6 6!6#6)606 56?6)G6`q6-68797H7O7U7.d7$77&7777 8888&8,828;88t88M88 996-9d9j9 ;%; :;G; ^;k;z;;;; ;; ;;; ; ; <<*<A<X< h<v<<< = ==/=)= >>90>j>.? 4?A?G? Y?d? i?v??? ?9???@@ @ -@8@"N@(q@@@@@@@@@@AAA A'A :A FARA YA gA uA A AA A A A A A1A>&BHeBBPB9C WC&dC C C C C C C C C C D D %D#/DSDZD bDlD uDD DD!DDDDDE 1E>E[EkE EEEE EEE}F FFFFFF!G6G?GOG `GkGtGG?G8G(H/H @HMH$TH"yHHH HHHSH>IMI TIuI3I0IOIB=JCJ8J4J02K#cK-KKKK KK LL)L;LWL `L jL wL LL L L LLLLLLLMMM%M.M EMOM TM aMmM MM!M MMM#N(N.N?NPN YNgN}NNN NN N N N N N N O O O #O.O7O=O DOPO UObOjO rO"~OOOOOOO*P/P JPUPgPyPPP PPP&PPQ Q QQ 0Q:QPQWQfQQ QQQQQQR R/RCRVR iRwRRRR RR R RSS%S*S,CSpSSSS7SSST T T#T)T =THT YTUeT(TT TU!U?UEUNU*jU UU"U,U+ V 9V EVOVdV mVyVVVVVVV9VLV0:W7kWWWWW.W%X ,X):X dXoXwXXXX XXXX<XXYb)YYYYIYZd75'.8#(yP^C.H`Mefgh0<XpDJ=DG|kaQ]%0*s ;Um<g  +&pu&-H!EtF\Wi$6 QRSTU'K q87+bhi}z@_`acBWKL NOv:l lF,{?~eO)j_3>cYPM3C$:w"4b)-@j/X49ELY(2Z9 ;t5 JkA1!,s[ q\?1>%"]*u6[Sof2ox dVRnrBZ^N=AITGm VI#/nr*unchanged*/Add Attribute.../Add Bus/Add Component.../Add Net/Add Text/Copy/Delete/Down Schematic/Down Symbol/Edit.../Move/Select/Up/Zoom Box/Zoom Extents/Zoom In/Zoom OutAdd AttributeAttach OptionsEdit AttributeOptionsScopeText ContentText PropertiesThe input attribute "%s" is invalid Please correct in order to continue The name and value must be non-empty. The name cannot end with a space. The value cannot start with a space.A_ttributesAbout gschemActionAction feedback mode set to BOUNDINGBOX Action feedback mode set to OUTLINE Add AttributeAdd Text...Add buses mode Right mouse button to cancelAdd component... Select library and component from list, move the mouse into main window, click to place Right mouse button to cancelAdd nets mode Right mouse button to cancelAlignment:AllAll filesAngle 2:ArcArc ModeArc ParamsAttachAttributeAttributesAttributes with empty name are not allowed. Please set a name.Autonumber textAutonumber text in:Bottom to topBoxBox ModeBusBus ModeCannot find source [%s] Cannot print current schematic to [%s] CenterChangedCircleCircle ModeClose PageClosing Window Closing [%s] ColorColor EditColor...Color:Command:ComponentComponent ModeComponentsCoordsCopyCopy 1Copy 2Copy 3Copy 4Copy 5Copy ModeCopy into 1Copy into 2Copy into 3Copy into 4Copy into 5Could NOT save backup file [%s] Could NOT set backup file [%s] readonly Could NOT set previous backup file [%s] read-write Could not allocate the color %s! Could not find symbol [%s] in library. Update failed. Create and edit electrical schematics and symbols with gschemCurrent WindowCurrent locale settings: %s Current pageCut 1Cut 2Cut 3Cut 4Cut 5Cut into 1Cut into 2Cut into 3Cut into 4Cut into 5DashedDefault behavior - reference componentDeleteDestinationDetachDiagonalDiscard PageDiscarding page [%s] DottedDuplicateERROR: NULL object in o_move_end! ERROR: NULL object! EditEdit AttributesEdit Fill TypeEdit Line Width & TypeEdit TextEdit Text PropertiesEdit Text...Edit slot numberEdit...EmbedEmbed Component/PictureEmbed component in schematicEmpty bufferEncapsulated PostscriptEnter text, click apply, move cursor into window, click to place text. Middle button to rotate while placing.Error while trying to saveExecute Script...Executing guile script [%s] Extents no marginsExtents with marginsFailed to Save AllFailed to load picture: %sFailed to read init scm file [%s] File:FilenameFill Type...FilledFilter:Find TextFunctionGot a non line object in o_move_check_endpoint Got an invalid buffer_number [o_buffer_paste_start] Got an unexpected NULL in o_edit Grid OFF Grid(%s, %s)HatchHidden text is now invisible Hidden text is now visible Hide TextHide text starting with:Hie_rarchyHollowHotkeysIf you don't save, all your changes will be permanently lost.Image typeIn UseInclude component as individual objectsInvalid AttributeInvalid gain [%d] passed to keyboardpan-gain Invalid gain [%d] passed to mousepan-gain Invalid num levels [%d] passed to undo-levels Invalid number of pixels [%d] passed to select-slack-pixels Invalid number of seconds [%d] passed to auto-save-interval Invalid offset [%d] passed to add-attribute-offset Invalid size [%d] passed to bus-ripper-size Invalid size [%d] passed to snap-size Invalid size [%d] passed to text-size Invalid zoomfactor [%d] passed to %s Keystroke(s)LandscapeLeft to rightLibrariesLineLine ModeLine Width & Type...Line Width:Loading schematic [%s] LockLower LeftLower MiddleLower RightMenu/CancelMeshMiddle LeftMiddle MiddleMiddle RightMirrorMirror ModeMoveMove ModeMultiple CopyMultiple Copy ModeNNameName:NetNet ModeNetsNewNew PageNew WindowNew Window created [%s] New fileNew page created [%s] New slot number out of range OFFObject already locked Object already unlocked Offset to translate? (0 for origin)OpenOpen Page...Open file...Open...Orientation:Overwrite file?Page ManagerPanPan ModePan/CancelPaste %d ModePaste 1Paste 2Paste 3Paste 4Paste 5Paste from 1Paste from 2Paste from 3Paste from 4Paste from 5PhantomPickPicturePicture ModePinPin ModePortraitPreviewPrint...Printed current schematic to [%s] Read init scm file [%s] Really revert page?RedoRedo last undoRepeat/Repeat/noneRight click on the filename for more options...Right to leftRotateRotate 90 ModeRotate ModeRubber band OFF Rubber band ON SaveSave AllSave PageSave as...Save cancelled on user request Save fileSavedSaved AllSaved [%s] Saved as [%s] SchematicsSchematics and symbolsScreenSearch for:Searching for source [%s] Searching for symbol [%s] SelectSelect Component...Select ModeSelect modeSelect objs firstSelected objectsSettingsShow HiddenShow Name & ValueShow Name OnlyShow Name onlyShow TextShow Value OnlyShow Value onlyShow text starting with:Show/Hide Inv TextShowBShowHiddenShowNShowVSingle Attribute EditorSize:SlotSlot attribute malformed Slotting not allowed for this component Snap OFF (CAUTION!) Snap ON Snap OffSolidSorry but this is a non-functioning menu option Start Angle:StatusStrokeSymbol Translate...SymbolsTextText Entry...Text ModeText SizeText to find:This is free software, and you are welcome to redistribute it under certain This is the MINGW32 port. Top to bottomTranslateTranslating schematic [%d %d] Tried to get an invalid color: %d Type:UndoUndo last operationUndo/Redo disabled in rc file UnembedUnembed Component/PictureUnknown end for line (%d) Unknown type for box (fill)! Unknown type for circle (fill)! UnlockUpdateUpdate ComponentUpper LeftUpper MiddleUpper RightVValueValue:Vis?VisToggleVisibleWARNING: Do not translate with snap off! WARNING: If you are translating a symbol to the origin, the snap grid size should be set to 100 WARNING: Snap grid size is not equal to 100! WARNING: Turning snap on and continuing with translate. Width x HeightWidth:WorldWrite image...Wrote black and white image to [%s] [%d x %d] Wrote color image to [%s] [%d x %d] Zoom BoxZoom too small! Cannot zoom further. _Add_Buffer_Close without saving_Edit_File_Help_Options_Page_Viewblackconditions; please see the COPYING file for more details. descend into hierarchygEDA Schematic EditorgEDA/gschem comes with ABSOLUTELY NO WARRANTY; see COPYING for more details. gEDA/gschem version %s%s.%s nonenumslots attribute missing o_autosave_backups: Can't get the real filename of %s.whiteProject-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-01-31 12:08+0000 Last-Translator: Peter TB Brett Language-Team: gEDA developers Language: pt_BR MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) *inalterado*/Inserir Atributo.../Inserir Bus/Inserir Componente.../Inserir Net/Inserir Texto/Copiar/Apagar/Descer ao Esquemático/Descer ao Símbolo/Editar.../Mover/Selecionar/Subir/Caixa de Zoom/Zoom desenho/Zoom maior/Zoom menorAdicionar AtributoAnexar OpçõesEditar AtributoOpçõesEscopoConteúdo do TextoPropriedades do TextoO atributo de entrada "%s" é inválido Por favor corrija para continuar O nome e valor não podem ser vazios. O nome não pode acabar com espaço. O valor não pode começar com espaço.A_tributosSobre gschemAçãoRetorno de ação ajustado para caixa completa Retorno de ação ajustado para silhueta Inserir AtributoAdicionar Texto...Modo de Barramentos Botão Direito do mouse para cancelarInserir um componente: Selecione a biblioteca e componente da lista, vá para a janela mãe, clique para colocar o componente Botão Direito para cancelarModo de conexões Botão Direito para cancelarAlinhamento:TodosTodos os arquivosÂngulo 2:ArcoModo de ArcoParametros do ArcoAnexarAtributoAtributosAtributos com nome vazio não permitidos. Defina um nome.Autonumerar textoAuto numerar texto em:De baixo para cimaCaixaModo de CaixaBarramentoModo Barramento (BUS)Impossível encontrar origem [%s] Não consigo imprimir para arquivo [%s] CentroAlteradoCírculoModo de CírculoFechar PáginaFechando Janela Fechando [%s] CorEdição de CorCor...Cor:Comando:ComponenteModo de ComponenteComponentesCoordenadasCopiarCopiar para 1Copiar para 2Copiar para 3Copiar para 4Copiar para 5Modo de CópiaCopiar para 1Copiar para 2Copiar para 3Copiar para 4Copiar para 5NÃO foi possível salvar arquivo backup [%s] ! NÃO foi possível deixar arquivo backup [%s] apenas leitura! NÃO foi possível deixar arquivo backup [%s] como leitura e gravação Impossível alocar a cor %s! Não foi possível encontrar o simbolo [%s] na biblioteca. Atualização falhou Crie e edite esquemas elétricos e símbolos com o gschemJanela AtualConfiguração para Localização: %s Página AtualCortar para 1Cortar para 2Cortar para 3Cortar para 4Cortar para 5Cortar para 1Cortar para 2Cortar para 3Cortar para 4Cortar para 5TracejadoUso normal - referenciar componenteApagarDestinoDesanexarDiagonalDescartarDescartando página [%s] PontilhadoDuplicarERRO: Objeto NULL em o_move_end! ERRO: NENHUM objeto! EditarEditar AtributosEditar PreenchimentoEditar Largura e Tipo de LinhaEditar TextoEditar Propriedades do TextoEditar Texto...Editar número de SLOTEditar...EmbutirEmbutir Componente/ImagemEmbutir componente no diagramaBuffer vazioEncapsulated PostscriptEntre com o texto e clique em Aplicar, cursor na janela, clique para deixar o texto. Use botão do meio para rotacionar enquanto posicionaErro tentando salvarScript...Executando script guile [%s] Extensão sem margensExtensão com margensFalha ao salvar tudoFalhou ao ler imagem: %sFalhou ao ler o arquivo scm [%s] Arquivo:Nome do arquivoPreenchimento...PreenchidaFiltrar:Localizar TextoFunçãoEncontrei um objeto que não é linha em o_move_check_endpoint Tenho um buffer_number inválido [o_buffer_paste_start] Encontrado um NULL inesperado em o_edit Grade DESLIGADA Grid(%s, %s)LinhasTexto oculto agora está invisível Texto oculto agora está visível Esconder TextoOcultar texto iniciado com:Hie_rarquiaVazioTeclas de atalhoSe você não salvar, todas as suas modificações serão permanentemente perdidas.Tipo de imagemEm UsoIncluir como objetos individuaisAtributo InválidoGanho inválido [%d] passado para keyboardpan-gain Ganho inválido [%d] passado para mousepan-gain Número de níveis [%d] inválido para função desfaz passado para undo-level Número de pixels inválido [%d] passado para select-slack-pixels Número de segundos inválido [%d] passado para auto-save-interval Offset [%d] inválido passado para add-attribute-offset Tamanho inválido [%d] passado para bus-ripper-size Tamanho [%d] inválido passado tamanho de grade Tamanho [%d] inválido (text-size) Fator de Zoom [%d] inválido passado para %s Pressionamentos de teclaPaisagemDa esquerda para direitaBibliotecasLinhaModo de LinhaLargura/Tipo de Linha...Largura da Linha:Carregando o diagrama [%s] BloquearEsq BaixoCentro BaixoDir BaixoMenu/CancelarMalhaEsq CentroCentro CentroDir CentroEspelharModo de espelhoMoverModo de MovimentaçãoMultipla CópiaModo de Múltipla CópiaNNomeNome:ConexãoModo de Conexão (NET)ConexõesNovoNova PáginaNova JanelaNova Janela criada [%s] Novo arquivoCriada Nova Página [%s] Número de slot fora dos limites DESLIGADOObjeto já travado Objeto já destravado Valor a transladar? (0 para origem)AbrirAbrir Página...Abrir arquivo...Abrir...Orientação:Sobrescrever arquivo?Gerenciador de PáginasPanModo PanPan/CancelarModo Colar de %dColar de 1Colar de 2Colar de 3Colar de 4Colar de 5Colar de 1Colar de 2Colar de 3Colar de 4Colar de 5FantasmaPegarImagemModo ImagemPinoModo de PinoRetratoPréviaImprimir...Diagrama atual impresso para [%s] Lendo o arquivo scm [%s] Reverter Página?RefazerRefaz o último DesfazRepetir/Repetir/nenhumClique direito no arquivo para opções...Da direita para a esquerdaRotacionarModo de RotaçãoModo de RotaçãoElástico desligado Elástico ligado SalvarSalvar TudoSalvarSalvar como...Salvar cancelado a pedido do usuário Salvar arquivoSalvoSalvar TudoSalvo [%s] Salvar como [%s] DiagramasDiagramas e SímbolosJanelaPesquisar por:Procurando por origem [%s] Procurando por símbolo [%s] SelecionarSelecionar ComponenteModo de SeleçãoModo de SeleçãoSelecione objetos antesSelecionar ObjetosConfiguraçõesMostrar OcultoMostra Nome e ValorMostra apenas NomeMostra apenas NomeMostrar textoMostra apenas ValorMostra apenas ValorMostrar texto iniciado com:Exibir/Ocultar textos ocultosMostrar TMostrar OcultoMostrar NMostrar VEditor de um atributoTamanho:SlotAtributo Slot mau feito Slots não disponível para este componente Agarre desligado (CUIDADO!) Agarre ligado Agarre desligadoSolidoDesculpe, mas esta é uma opção de menu sem função Ângulo Inicial:StatusStrokeTransladar...SímbolosTextoEntrada de texto...Modo TextoTamanho do TextoLoc. Texto:Este programa é um software livre, e você é convidado a redistribui-lo sob certas Esta é a versão portada para MINGW32. De cima para baixoTransladarTransladando diagrama [%d %d] Tentou ter cor inválida: %d Tipo:DesfazerDesfazer última operaçãoDesfaz e Refaz desabilitado no arquivo rc DesembutirDesembutir Componente/ImagemFim desconhecido para linha (%d)! Tipo desconhecido para enchimento da caixa! Tipo desconhecido para enchimento de arco! DesbloquearAtualizarAtualizar ComponenteEsq AltoCentro AltoDir AltoVValorValor:Vis?Comuta VisibilidadeVisívelATENÇÃO: Não translade com o agarre (snap) desligado! ATENÇÃO: Se transladar um símbolo para origem, a grade deve estar em 100 ATENÇÃO: A grade de agarre não está em 100! ATENÇÃO: Ligando o agarre e continuando o translado. Largura x AlturaLargura:UniversoGravar imagem...Salva imagem em Preto e branco [%s] [%d x %d] Salva imagem colorida [%s] [%d x %d] Caixa de ZoomZoom muito pequeno! Não posso diminuir. _Adicionar_Buffer_Fechar sem salvar_EditarArquivoAjuda_Opções_PáginaExibirpretacondições; Leia o arquivo COPYING para maiores detalhes. Desce à hierarquiaEditor de esquemas gEDAgEDA/gschem vem com ABSOLUTAMENTE NENHUMA GARANTIA; leia o arquivo COPYING para maiores detalhes. gEDA/gschem versão %s%s.%s nenhumSem atributo NUMSLOTS o_autosave_backups: Não foi possível pegar o nome de arquivo real de %sbrancageda-gaf-1.8.2/gschem/po/fr.po0000664000175000017500000017720412220655644012754 00000000000000# gEDA/gaf gschem french translation # Copyright (C) 2005-2008 Iznogood # Copyright (C) 2006-2008 Patrick Bernaud # This file is distributed under the same license as the gEDA/gaf package. # Iznogood , 2005. # Patrick Bernaud , 2006. # # msgid "" msgstr "" "Project-Id-Version: fr_FR\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-10-28 15:46+0000\n" "Last-Translator: Penegal \n" "Language-Team: gEDA developers \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: gschem/src/a_zoom.c:212 msgid "Zoom too small! Cannot zoom further.\n" msgstr "Agrandissement maximum ! Impossible d'agrandir plus.\n" #: gschem/src/g_attrib.c:92 msgid "Object ~A is not included in the current gschem page." msgstr "L'objet ~A n'est pas inclus dans la page gschem courante." #: gschem/src/g_attrib.c:112 msgid "Invalid text name/value visibility ~A." msgstr "" #: gschem/src/g_rc.c:312 #, c-format msgid "Invalid zoomfactor [%d] passed to %s\n" msgstr "Agrandissement [%d] passé à %s invalide\n" #: gschem/src/g_rc.c:458 #, c-format msgid "Invalid size [%d] passed to text-size\n" msgstr "Taille [%d] passée à text-size invalide\n" #: gschem/src/g_rc.c:501 #, c-format msgid "Invalid size [%d] passed to snap-size\n" msgstr "Taille [%d] passée à snap-size invalide\n" #: gschem/src/g_rc.c:958 #, c-format msgid "Invalid num levels [%d] passed to undo-levels\n" msgstr "Nombre de niveaux [%d] passé à undo-levels invalide\n" #: gschem/src/g_rc.c:1220 #, c-format msgid "Invalid size [%d] passed to bus-ripper-size\n" msgstr "Taille [%d] passée à bus-ripper-size invalide\n" #: gschem/src/g_rc.c:1295 #, c-format msgid "Invalid dot size [%d] passed to dots-grid-dot-size\n" msgstr "Taille de point [%d] invalide passé à dots-grid-dot-size\n" #: gschem/src/g_rc.c:1336 #, c-format msgid "Invalid pixel spacing [%d] passed to dots-grid-fixed-threshold\n" msgstr "Espace de pixel [%d] invalide passé à dots-grid-fixed-threshold\n" #: gschem/src/g_rc.c:1362 #, c-format msgid "Invalid pixel spacing [%d] passed to mesh-grid-display-threshold\n" msgstr "" "Espacement [%d] de pixel invalide passé à mesh-grid-display-threshold\n" #: gschem/src/g_rc.c:1387 #, c-format msgid "Invalid offset [%d] passed to add-attribute-offset\n" msgstr "Offset [%d] passé à add-attribute-offset invalide\n" #: gschem/src/g_rc.c:1411 #, c-format msgid "Invalid number of seconds [%d] passed to auto-save-interval\n" msgstr "Nombre de secondes [%d] passé  auto-save-interval invalide\n" #: gschem/src/g_rc.c:1435 #, c-format msgid "Invalid gain [%d] passed to mousepan-gain\n" msgstr "Gain [%d] passé à mousepan-gain invalide\n" #: gschem/src/g_rc.c:1458 #, c-format msgid "Invalid gain [%d] passed to keyboardpan-gain\n" msgstr "Gain [%d] passé à keyboardpan-gain invalide\n" #: gschem/src/g_rc.c:1505 #, c-format msgid "Invalid number of pixels [%d] passed to select-slack-pixels\n" msgstr "Nombre [%d] de pixels invalides passés à select-slack-pixels\n" #: gschem/src/g_rc.c:1531 #, c-format msgid "Invalid gain [%d] passed to zoom-gain\n" msgstr "Gain [%d] invalide passé à zoom-gain\n" #: gschem/src/g_rc.c:1556 #, c-format msgid "Invalid number of steps [%d] scrollpan-steps\n" msgstr "Nombre d'étapes [%d] scrollpan-steps invalide\n" #: gschem/src/g_select.c:79 gschem/src/g_select.c:116 #: gschem/src/g_select.c:152 msgid "Object ~A is not directly included in a page." msgstr "L'objet ~A n'est inclus directement par aucune page." #: gschem/src/g_util.c:56 msgid "Could not launch URI ~S: ~A" msgstr "Impossible de lancer l'URI ~S: ~A" #: gschem/src/g_window.c:136 msgid "Found invalid gschem window smob ~S" msgstr "" #: gschem/src/gschem.c:175 #, c-format msgid "gEDA/gschem version %s%s.%s\n" msgstr "gEDA/gschem version %s%s.%s\n" #: gschem/src/gschem.c:178 msgid "" "gEDA/gschem comes with ABSOLUTELY NO WARRANTY; see COPYING for more " "details.\n" msgstr "gEDA/gschem n'est accompagné d'ABSOLUMENT AUCUNE GARANTIE.\n" #: gschem/src/gschem.c:180 msgid "" "This is free software, and you are welcome to redistribute it under certain\n" msgstr "" "Ceci est un logiciel libre et vous êtes invité à le redistribuer en " "respectant\n" #: gschem/src/gschem.c:182 msgid "" "conditions; please see the COPYING file for more details.\n" "\n" msgstr "" "certaines obligations ; pour plus de détails reportez vous au fichier " "COPYING.\n" "\n" #: gschem/src/gschem.c:185 #, c-format msgid "This is the MINGW32 port.\n" msgstr "Ceci est le portage sous MINGW32\n" #: gschem/src/gschem.c:189 #, c-format msgid "Current locale settings: %s\n" msgstr "Locale en cours : %s\n" #: gschem/src/gschem.c:211 msgid "" "You must set the GEDADATA environment variable!\n" "\n" "gschem cannot locate its data files. You must set the GEDADATA\n" "environment variable to point to the correct location.\n" msgstr "Vous devez positionner la variable d'environnement GEDADATA!\n" #: gschem/src/gschem.c:248 #, c-format msgid "Couldn't find init scm file [%s]\n" msgstr "Impossible de trouver le fichier scm d'init [%s]\n" #: gschem/src/gschem.c:252 #, c-format msgid "Read init scm file [%s]\n" msgstr "Lecture du fichier scm de démarrage [%s]\n" #: gschem/src/gschem.c:256 #, c-format msgid "Failed to read init scm file [%s]\n" msgstr "Échec de la lecture du fichier scm de démarrage [%s]\n" #: gschem/src/gschem_cairo.c:310 #, c-format msgid "Unknown end for line (%d)\n" msgstr "Extrémité de ligne inconnue (%d)\n" #: gschem/src/gschem_cairo.c:318 #, c-format msgid "Unknown type for stroke (%d) !\n" msgstr "Type de ligne inconnue (%d) !\n" #: gschem/src/gschem_pango.c:289 msgid "cairo context" msgstr "" #: gschem/src/gschem_pango.c:290 msgid "the cairo context for the renderer" msgstr "" #: gschem/src/i_basic.c:77 gschem/src/x_window.c:524 #: gschem/lib/system-gschemrc.scm:1399 msgid "Select Mode" msgstr "Mode Sélection" #: gschem/src/i_basic.c:79 msgid "Component Mode" msgstr "Mode Composant" #: gschem/src/i_basic.c:81 msgid "Text Mode" msgstr "Mode Texte" #: gschem/src/i_basic.c:84 gschem/lib/system-gschemrc.scm:1402 msgid "Copy Mode" msgstr "Mode Copie" #: gschem/src/i_basic.c:87 gschem/lib/system-gschemrc.scm:1404 msgid "Move Mode" msgstr "Mode Déplacement" #: gschem/src/i_basic.c:89 msgid "Rotate Mode" msgstr "Mode Rotation" #: gschem/src/i_basic.c:91 gschem/lib/system-gschemrc.scm:1406 msgid "Mirror Mode" msgstr "Mode Miroir" #: gschem/src/i_basic.c:95 msgid "Zoom Box" msgstr "Zoom boîte" #: gschem/src/i_basic.c:99 msgid "Pan Mode" msgstr "Mode Panoramique" #: gschem/src/i_basic.c:103 #, c-format msgid "Paste %d Mode" msgstr "Mode Coller %d" #: gschem/src/i_basic.c:109 msgid "Magnetic Net Mode" msgstr "Mode Piste Magnétique" #: gschem/src/i_basic.c:111 msgid "Net Mode" msgstr "Mode Piste" #: gschem/src/i_basic.c:115 msgid "Bus Mode" msgstr "Mode Bus" #: gschem/src/i_basic.c:118 msgid "Line Mode" msgstr "Mode Ligne" #: gschem/src/i_basic.c:121 msgid "Box Mode" msgstr "Mode Cadre" #: gschem/src/i_basic.c:124 msgid "Picture Mode" msgstr "Mode Image" #: gschem/src/i_basic.c:127 msgid "Circle Mode" msgstr "Mode Cercle" #: gschem/src/i_basic.c:130 msgid "Arc Mode" msgstr "Mode Arc de cercle" #: gschem/src/i_basic.c:133 msgid "Pin Mode" msgstr "Mode Broche" #: gschem/src/i_basic.c:135 gschem/src/i_callbacks.c:529 #: gschem/src/i_callbacks.c:553 msgid "Copy" msgstr "Copier" #: gschem/src/i_basic.c:137 gschem/src/i_callbacks.c:619 #: gschem/src/i_callbacks.c:643 msgid "Move" msgstr "Déplacer" #: gschem/src/i_basic.c:139 gschem/src/i_callbacks.c:574 #: gschem/src/i_callbacks.c:598 msgid "Multiple Copy" msgstr "Copie Multiple" #: gschem/src/i_basic.c:142 gschem/lib/system-gschemrc.scm:1403 msgid "Multiple Copy Mode" msgstr "Mode Copie Multiple" #: gschem/src/i_basic.c:168 msgid "Show Hidden" msgstr "Montrer caché" #: gschem/src/i_basic.c:171 msgid "Snap Off" msgstr "Snap Off" #: gschem/src/i_basic.c:173 msgid "Resnap Active" msgstr "Resnap Actif" #: gschem/src/i_basic.c:254 gschem/src/x_window.c:498 msgid "Action" msgstr "Action" #: gschem/src/i_basic.c:260 gschem/src/x_dialog.c:2325 #: gschem/src/x_window.c:493 msgid "Stroke" msgstr "Trait" #: gschem/src/i_basic.c:266 gschem/src/x_window.c:495 msgid "none" msgstr "aucun" #: gschem/src/i_basic.c:271 msgid "Repeat/" msgstr "Répéter" #: gschem/src/i_basic.c:566 gschem/src/i_basic.c:580 msgid "OFF" msgstr "OFF" #: gschem/src/i_basic.c:584 msgid "NONE" msgstr "AUCUN" #: gschem/src/i_basic.c:589 #, c-format msgid "Grid(%s, %s)" msgstr "Grille(%s,%s)" #: gschem/src/i_callbacks.c:76 gschem/src/i_callbacks.c:1659 #, c-format msgid "New page created [%s]\n" msgstr "Nouvelle page [%s] créée\n" #: gschem/src/i_callbacks.c:124 #, c-format msgid "New Window created [%s]\n" msgstr "Nouvelle création de fenêtre [%s]\n" #: gschem/src/i_callbacks.c:242 msgid "Failed to Save All" msgstr "Échec de la sauvegarde de toutes les pages" #: gschem/src/i_callbacks.c:244 msgid "Saved All" msgstr "Toutes les pages enregistrées" #: gschem/src/i_callbacks.c:334 msgid "Closing Window\n" msgstr "Fermeture de la fenêtre\n" #: gschem/src/i_callbacks.c:534 gschem/src/i_callbacks.c:579 #: gschem/src/i_callbacks.c:624 msgid "Select objs first" msgstr "Sélectionnez d'abord des objets" #: gschem/src/i_callbacks.c:663 gschem/src/x_multiattrib.c:1549 msgid "Delete" msgstr "Supprimer" #: gschem/src/i_callbacks.c:688 msgid "Edit" msgstr "Édition" #: gschem/src/i_callbacks.c:703 msgid "Edit pin type" msgstr "Édition du type de broche" #: gschem/src/i_callbacks.c:722 msgid "Edit Text" msgstr "Éditer le texte" #: gschem/src/i_callbacks.c:745 msgid "Slot" msgstr "Slot" #: gschem/src/i_callbacks.c:762 msgid "Color" msgstr "Couleur" #: gschem/src/i_callbacks.c:799 gschem/src/i_callbacks.c:844 msgid "Rotate" msgstr "Pivoter" #: gschem/src/i_callbacks.c:866 gschem/src/i_callbacks.c:891 msgid "Mirror" msgstr "Miroir" #: gschem/src/i_callbacks.c:912 gschem/src/x_dialog.c:2328 #: gschem/lib/system-gschemrc.scm:1415 msgid "Lock" msgstr "Verrouiller" #: gschem/src/i_callbacks.c:930 gschem/lib/system-gschemrc.scm:1416 msgid "Unlock" msgstr "Déverrouiller" #: gschem/src/i_callbacks.c:948 gschem/src/x_dialog.c:1746 msgid "Translate" msgstr "Translater" #: gschem/src/i_callbacks.c:951 msgid "WARNING: Do not translate with snap off!\n" msgstr "ATTENTION : ne translatez pas quand le snap est désactivé !\n" #: gschem/src/i_callbacks.c:952 msgid "WARNING: Turning snap on and continuing with translate.\n" msgstr "ATTENTION : activation du snap et poursuite de la translation.\n" #: gschem/src/i_callbacks.c:959 msgid "WARNING: Snap grid size is not equal to 100!\n" msgstr "ATTENTION : la taille du snap sur la grille n'est pas égale à 100 !\n" #: gschem/src/i_callbacks.c:961 msgid "" "WARNING: If you are translating a symbol to the origin, the snap grid size " "should be set to 100\n" msgstr "" "ATTENTION : si vous déplacez un symbole à l'origine, la taille de snap de la " "grille devrait être de 100 !\n" #: gschem/src/i_callbacks.c:992 msgid "Embed" msgstr "Embarquer" #: gschem/src/i_callbacks.c:1031 msgid "Unembed" msgstr "Débarquer" #: gschem/src/i_callbacks.c:1073 msgid "Update" msgstr "Mettre à jour" #: gschem/src/i_callbacks.c:1120 msgid "ShowHidden" msgstr "AfficheCaché" #: gschem/src/i_callbacks.c:1426 gschem/src/i_callbacks.c:1498 msgid "Pan" msgstr "Panoramique" #: gschem/src/i_callbacks.c:1703 msgid "Really revert page?" msgstr "Abandonner les modifications ?" #: gschem/src/i_callbacks.c:1773 msgid "Copy to clipboard" msgstr "Copier vers le presse-papier" #: gschem/src/i_callbacks.c:1791 msgid "Cut to clipboard" msgstr "Coupe la sélection dans le presse-papier" #: gschem/src/i_callbacks.c:1809 msgid "Paste from clipboard" msgstr "Coller depuis le presse-papiers" #: gschem/src/i_callbacks.c:1821 gschem/src/i_callbacks.c:2060 #: gschem/src/i_callbacks.c:2082 gschem/src/i_callbacks.c:2104 #: gschem/src/i_callbacks.c:2126 gschem/src/i_callbacks.c:2148 msgid "Empty buffer" msgstr "Tampon vide" #: gschem/src/i_callbacks.c:1866 msgid "Copy 1" msgstr "Copier 1" #: gschem/src/i_callbacks.c:1885 msgid "Copy 2" msgstr "Copier 2" #: gschem/src/i_callbacks.c:1904 msgid "Copy 3" msgstr "Copier 3" #: gschem/src/i_callbacks.c:1923 msgid "Copy 4" msgstr "Copier 4" #: gschem/src/i_callbacks.c:1942 msgid "Copy 5" msgstr "Copier 5" #: gschem/src/i_callbacks.c:1961 msgid "Cut 1" msgstr "Couper 1" #: gschem/src/i_callbacks.c:1980 msgid "Cut 2" msgstr "Couper 2" #: gschem/src/i_callbacks.c:1999 msgid "Cut 3" msgstr "Couper 3" #: gschem/src/i_callbacks.c:2018 msgid "Cut 4" msgstr "Couper 4" #: gschem/src/i_callbacks.c:2037 msgid "Cut 5" msgstr "Couper 5" #: gschem/src/i_callbacks.c:2053 msgid "Paste 1" msgstr "Coller 1" #: gschem/src/i_callbacks.c:2075 msgid "Paste 2" msgstr "Coller 2" #: gschem/src/i_callbacks.c:2097 msgid "Paste 3" msgstr "Coller 3" #: gschem/src/i_callbacks.c:2119 msgid "Paste 4" msgstr "Coller 4" #: gschem/src/i_callbacks.c:2141 msgid "Paste 5" msgstr "Coller 5" #: gschem/src/i_callbacks.c:2278 gschem/src/x_window.c:359 msgid "Component" msgstr "Composant" #: gschem/src/i_callbacks.c:2314 gschem/src/i_callbacks.c:2333 #: gschem/src/x_dialog.c:2298 msgid "Attribute" msgstr "Attribut" #: gschem/src/i_callbacks.c:2355 gschem/src/i_callbacks.c:2382 #: gschem/src/x_dialog.c:2295 msgid "Net" msgstr "Piste" #: gschem/src/i_callbacks.c:2426 gschem/src/i_callbacks.c:2453 #: gschem/src/x_dialog.c:2313 gschem/src/x_window.c:379 msgid "Bus" msgstr "Bus" #: gschem/src/i_callbacks.c:2534 gschem/src/i_callbacks.c:2557 msgid "Line" msgstr "Ligne" #: gschem/src/i_callbacks.c:2579 gschem/src/i_callbacks.c:2602 msgid "Box" msgstr "Cadre" #: gschem/src/i_callbacks.c:2658 gschem/src/i_callbacks.c:2682 msgid "Circle" msgstr "Cercle" #: gschem/src/i_callbacks.c:2704 gschem/src/i_callbacks.c:2727 msgid "Arc" msgstr "Arc" #: gschem/src/i_callbacks.c:2749 gschem/src/i_callbacks.c:2772 #: gschem/src/x_dialog.c:2286 msgid "Pin" msgstr "Broche" #: gschem/src/i_callbacks.c:2831 #, c-format msgid "Searching for source [%s]\n" msgstr "Recherche de source [%s]\n" #: gschem/src/i_callbacks.c:2855 #, c-format msgid "Cannot find source [%s]\n" msgstr "Impossible de trouver source [%s]\n" #: gschem/src/i_callbacks.c:2918 #, c-format msgid "Searching for symbol [%s]\n" msgstr "Recherche du symbole [%s]\n" #: gschem/src/i_callbacks.c:2924 msgid "Symbol is not a real file. Symbol cannot be loaded.\n" msgstr "Le symbole n'est pas un fichier réel. Il ne peut pas être chargé.\n" #: gschem/src/i_callbacks.c:2955 msgid "Cannot find any schematics above the current one!\n" msgstr "Impossible de trouver des schémas au-dessus de celui-ci!\n" #: gschem/src/i_callbacks.c:2985 msgid "Attach" msgstr "Attacher" #: gschem/src/i_callbacks.c:3041 msgid "Detach" msgstr "Détacher" #: gschem/src/i_callbacks.c:3085 msgid "ShowN" msgstr "MontrerN" #: gschem/src/i_callbacks.c:3122 msgid "ShowV" msgstr "MontrerV" #: gschem/src/i_callbacks.c:3159 msgid "ShowB" msgstr "MontrerNV" #: gschem/src/i_callbacks.c:3197 msgid "VisToggle" msgstr "VisToggle" #: gschem/src/i_callbacks.c:3228 #, c-format msgid "Sorry but this is a non-functioning menu option\n" msgstr "Désolé mais c'est une option de menu non fonctionnelle\n" #: gschem/src/i_callbacks.c:3318 msgid "Action feedback mode set to OUTLINE\n" msgstr "Mode de retour utilisateur positionné à OUTLINE\n" #: gschem/src/i_callbacks.c:3321 msgid "Action feedback mode set to BOUNDINGBOX\n" msgstr "Mode de retour utilisateur positionné à BOUNDINGBOX\n" #: gschem/src/i_callbacks.c:3346 msgid "Grid OFF\n" msgstr "Grille OFF\n" #: gschem/src/i_callbacks.c:3347 msgid "Dot grid selected\n" msgstr "Grille à points sélectionnée\n" #: gschem/src/i_callbacks.c:3348 msgid "Mesh grid selected\n" msgstr "Grille à mailles sélectionnée\n" #: gschem/src/i_callbacks.c:3369 msgid "Snap OFF (CAUTION!)\n" msgstr "Snap OFF (ATTENTION)\n" #: gschem/src/i_callbacks.c:3372 msgid "Snap ON\n" msgstr "Snap ON\n" #: gschem/src/i_callbacks.c:3375 msgid "Snap back to the grid (CAUTION!)\n" msgstr "Retour brusque à la grille (ATTENTION!)\n" #: gschem/src/i_callbacks.c:3401 msgid "Rubber band OFF \n" msgstr "Mode piste élastique : OFF \n" #: gschem/src/i_callbacks.c:3404 msgid "Rubber band ON\n" msgstr "Mode piste élastique : ON\n" #: gschem/src/i_callbacks.c:3419 msgid "magnetic net mode: ON\n" msgstr "Mode Piste Magnétique : ON\n" #: gschem/src/i_callbacks.c:3422 msgid "magnetic net mode: OFF\n" msgstr "Mode Piste Magnétique : OFF\n" #: gschem/src/o_box.c:292 #, c-format msgid "Unknown type for box (fill)!\n" msgstr "Type de remplissage de cadre inconnu !\n" #: gschem/src/o_buffer.c:54 #, c-format msgid "o_buffer_copy: Invalid buffer %i\n" msgstr "o_buffer_copy: Tampon buffer %i invalide\n" #: gschem/src/o_buffer.c:69 #, c-format msgid "o_buffer_cut: Invalid buffer %i\n" msgstr "o_buffer_cut: Tampon buffer %i invalide\n" #: gschem/src/o_buffer.c:90 #, c-format msgid "Got an invalid buffer_number [o_buffer_paste_start]\n" msgstr "Valeur de buffer_number incorrecte [o_buffer_paste_start]\n" #: gschem/src/o_bus.c:117 #, c-format msgid "Got an invalid which one in o_bus_draw_stretch\n" msgstr "Vous avez une erreur dont une danso_bus_draw_stretch\n" #: gschem/src/o_circle.c:284 #, c-format msgid "Unknown type for circle (fill)!\n" msgstr "Type de remplissage pour cercle inconnu !\n" #: gschem/src/o_complex.c:223 gschem/src/o_complex.c:227 #, c-format msgid "Translating schematic [%d %d]\n" msgstr "Translation du schéma [%d %d]\n" #: gschem/src/o_misc.c:61 #, c-format msgid "Got an unexpected NULL in o_edit\n" msgstr "o_current==NULL dans o_edit()\n" #: gschem/src/o_misc.c:125 msgid "Object already locked\n" msgstr "Objet déjà verrouillé\n" #: gschem/src/o_misc.c:163 msgid "Object already unlocked\n" msgstr "Objet déjà déverrouillé\n" #: gschem/src/o_misc.c:339 msgid "Hidden text is now visible\n" msgstr "Le texte normalement caché est maintenant visible\n" #: gschem/src/o_misc.c:341 msgid "Hidden text is now invisible\n" msgstr "Le texte normalement caché est maintenant invisible\n" #: gschem/src/o_misc.c:568 #, c-format msgid "Could not find symbol [%s] in library. Update failed.\n" msgstr "" "Impossible de trouver le symbole [%s] dans la bibliothèque. Échec de la mise " "à jour.\n" #: gschem/src/o_misc.c:683 #, c-format msgid "o_autosave_backups: Can't get the real filename of %s." msgstr "" "o_autosave_backups() : Impossible de récupérer le véritable nom du fichier %s" #: gschem/src/o_misc.c:727 #, c-format msgid "Could NOT set previous backup file [%s] read-write\n" msgstr "" "Impossible de passer le fichier copie de sauvegarde [%s] en lecture/" "écriture\n" #: gschem/src/o_misc.c:747 #, c-format msgid "Could NOT set backup file [%s] readonly\n" msgstr "" "Impossible de passer le fichier copie de sauvegarde [%s] en lecture seule\n" #: gschem/src/o_misc.c:752 #, c-format msgid "Could NOT save backup file [%s]\n" msgstr "Échec lors de la création de la copie de sauvegarde [%s]\n" #: gschem/src/o_move.c:174 #, c-format msgid "ERROR: NULL object in o_move_end!\n" msgstr "ERREUR : object==NULL dans o_move_end !\n" #: gschem/src/o_move.c:431 #, c-format msgid "DOH! tried to find the whichone, but didn't find it!\n" msgstr "Incapable de déterminer le whichone de l'object !\n" #: gschem/src/o_move.c:453 #, c-format msgid "Got a non line object in o_move_check_endpoint\n" msgstr "L'objet passé n'est pas une ligne dans o_move_check_endpoint\n" #: gschem/src/o_net.c:158 #, c-format msgid "Got an invalid which one in o_net_draw_stretch\n" msgstr "Vous avez une erreur dont une dans o_net_draw_stretch\n" #: gschem/src/o_net.c:537 msgid "Warning: Starting net at off grid coordinate\n" msgstr "" "Attention; Démarrage d'une liaison en-dehors des coordonnées de la grille\n" #: gschem/src/o_net.c:602 msgid "Warning: Ending net at off grid coordinate\n" msgstr "" "Attention; Arrêt d'une liaison en-dehors des coordonnées de la grille\n" #: gschem/src/o_net.c:944 gschem/src/o_net.c:981 gschem/src/o_net.c:1052 #: gschem/src/o_net.c:1088 #, c-format msgid "Tried to add more than two bus rippers. Internal gschem error.\n" msgstr "" "Tentative d'ajout de plus de deux jonctions de bus. Erreur interne gschem.\n" #: gschem/src/o_net.c:1156 #, c-format msgid "Bus ripper symbol [%s] was not found in any component library\n" msgstr "" "Bus ripper symbol [%s] n'a été trouvé dans aucune librairie de composants\n" #: gschem/src/o_path.c:340 #, c-format msgid "Unknown type for path (fill)!\n" msgstr "Type de chemin inconnu (à remplir)!\n" #: gschem/src/o_picture.c:166 #, c-format msgid "Failed to load picture: %s" msgstr "Échec lors du chargement de l'image : %s" #: gschem/src/o_picture.c:180 msgid "Picture" msgstr "Image" #: gschem/src/o_picture.c:544 #, c-format msgid "Failed to replace pictures: %s" msgstr "Impossible de remplacer les images: %s" #: gschem/src/o_slot.c:81 msgid "Slot attribute malformed\n" msgstr "Attribut slot mal formé\n" #: gschem/src/o_slot.c:89 msgid "numslots attribute missing\n" msgstr "attribut numslots manquant\n" #: gschem/src/o_slot.c:90 msgid "Slotting not allowed for this component\n" msgstr "Le slotting n'est pas supporté par ce composant\n" #: gschem/src/o_slot.c:105 msgid "New slot number out of range\n" msgstr "Nouvelle valeur de slot hors plage\n" #: gschem/src/o_undo.c:307 msgid "Undo/Redo disabled in rc file\n" msgstr "Opérations Défaire/Refaire désactivées dans fichier rc\n" #: gschem/src/parsecmd.c:82 #, c-format msgid "" "Usage: %s [OPTION ...] [--] [FILE ...]\n" "\n" "Interactively edit gEDA schematics or symbols. If one or more FILEs\n" "are specified, open them for editing; otherwise, create a new, empty\n" "schematic.\n" "\n" "Options:\n" " -q, --quiet Quiet mode.\n" " -v, --verbose Verbose mode.\n" " -r, --config-file=FILE Additional configuration file to load.\n" " -L DIR Add DIR to Scheme search path.\n" " -c EXPR Scheme expression to run at startup.\n" " -s FILE Scheme script to run at startup.\n" " -o, --output=FILE Output filename (for printing).\n" " -p Automatically place the window.\n" " -V, --version Show version information.\n" " -h, --help Help; this message.\n" " -- Treat all remaining arguments as filenames.\n" "\n" "Report bugs at \n" "gEDA/gaf homepage: \n" msgstr "" "Usage: %s [OPTION ...] [--] [FICHIER ...]\n" "\n" "Éditer de façon interactive un schéma ou des symboles gEDA. \n" "Si un FICHIER ou plus sont spécifiés, les ouvrir pour édition;\n" "sinon, créer un nouveau schéma vide.\n" "\n" "Options:\n" " -q, --quiet Mode silencieux.\n" " -v, --verbose Mode bavard.\n" " -r, --config-file=FICHIER Fichier de configuration additionnelle à " "charger.\n" " -L RÉP Ajouter RÉP au chemin de recherche du schéma.\n" " -c EXPR Expression de schéma à charger au démarrage.\n" " -s FICHIER Script de schéma à lancer au démarrage.\n" " -o, --output=FICHIER Fichier de résultat (pour impression).\n" " -p Placer la fenêtre automatiquement.\n" " -V, --version Afficher la version.\n" " -h, --help Aide; ce message.\n" " -- Traiter les arguments restants comme des noms de " "fichier.\n" "\n" "En cas de bug, prévenir \n" "Page d'accueil gEDA/gaf: \n" #: gschem/src/parsecmd.c:116 #, c-format msgid "" "gEDA %s (g%.7s)\n" "Copyright (C) 1998-2012 gEDA developers\n" "This is free software, and you are welcome to redistribute it under\n" "certain conditions. For details, see the file `COPYING', which is\n" "included in the gEDA distribution.\n" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" "gEDA %s (g%.7s)\n" "Copyright (C) 1998-2012 gEDA developers\n" "Ceci est un logiciel libre, et vous êtes invité à le diffuser sous\n" "certaines conditions. Pour plus de détails, reportez-vous au fichier " "`COPYING',\n" "inclus dans la distribution gEDA.\n" "Il n'y a AUCUNE GARANTIE autre que celles prévues par la loi.\n" #: gschem/src/x_attribedit.c:127 #, c-format msgid "Got invalid show option; defaulting to show both\n" msgstr "" "Option d'affichage invalide ; changement pour affichage du nom et de la " "valeur\n" #: gschem/src/x_attribedit.c:141 #, c-format msgid "ERROR: NULL object!\n" msgstr "ERREUR : object==NULL !\n" #: gschem/src/x_attribedit.c:329 msgid "Single Attribute Editor" msgstr "Éditeur d'attribut" #: gschem/src/x_attribedit.c:359 msgid "Edit Attribute" msgstr "Éditer un attribut" #: gschem/src/x_attribedit.c:361 msgid "Add Attribute" msgstr "Ajouter un attribut" #: gschem/src/x_attribedit.c:377 gschem/src/x_multiattrib.c:1973 msgid "Name:" msgstr "Nom :" #: gschem/src/x_attribedit.c:394 gschem/src/x_multiattrib.c:1992 msgid "Value:" msgstr "Valeur :" #: gschem/src/x_attribedit.c:410 gschem/src/x_multiattrib.c:2038 msgid "Visible" msgstr "Visible" #: gschem/src/x_attribedit.c:430 msgid "Show Value Only" msgstr "Montrer seulement la valeur" #: gschem/src/x_attribedit.c:432 msgid "Show Name Only" msgstr "Montrer seulement le nom" #: gschem/src/x_attribedit.c:434 gschem/src/x_multiattrib.c:1512 msgid "Show Name & Value" msgstr "Montrer le nom et la valeur" #: gschem/src/x_attribedit.c:441 msgid "Attach Options" msgstr "Options d'attache" #: gschem/src/x_attribedit.c:456 msgid "All" msgstr "Tous" #: gschem/src/x_attribedit.c:464 gschem/src/x_compselect.c:922 #: gschem/src/x_compselect.c:1036 msgid "Components" msgstr "Composants" #: gschem/src/x_attribedit.c:472 gschem/src/x_window.c:369 msgid "Nets" msgstr "Pistes" #: gschem/src/x_attribedit.c:480 msgid "Replace existing attributes" msgstr "Remplacer les attributs existants" #: gschem/src/x_autonumber.c:415 msgid "" "slotted object without slot attribute may cause problems when autonumbering " "slots\n" msgstr "" "Les objets à slots sans attribut de slot sont susceptibles de créer des " "problèmes durant l'annotation automatique\n" #: gschem/src/x_autonumber.c:430 #, c-format msgid "" "duplicate slot may cause problems: [symbolname=%s, number=%d, slot=%d]\n" msgstr "" "Les slots dupliqués sont susceptibles de créer des problèmes : [symbolname=" "%s, number=%d, slot=%d]\n" #: gschem/src/x_autonumber.c:672 msgid "No searchstring given in autonumber text.\n" msgstr "Pas de motif de recherche fourni pour l'annotation automatique.\n" #: gschem/src/x_autonumber.c:724 msgid "No '*' or '?' given at the end of the autonumber text.\n" msgstr "" "Pas de caractère '*' ou '?' à la fin du motif de recherche pour annotation " "automatique.\n" #: gschem/src/x_autonumber.c:859 msgid "Diagonal" msgstr "en diagonal" #: gschem/src/x_autonumber.c:860 msgid "Top to bottom" msgstr "de haut en bas" #: gschem/src/x_autonumber.c:860 msgid "Bottom to top" msgstr "de bas en haut" #: gschem/src/x_autonumber.c:861 msgid "Left to right" msgstr "de gauche à droite" #: gschem/src/x_autonumber.c:861 msgid "Right to left" msgstr "de droite à gauche" #: gschem/src/x_autonumber.c:862 msgid "File order" msgstr "dans l'ordre des éléments du fichier" #: gschem/src/x_autonumber.c:1198 msgid "Autonumber text" msgstr "Annotation automatique" #: gschem/src/x_autonumber.c:1222 msgid "Scope" msgstr "Portée" #: gschem/src/x_autonumber.c:1244 msgid "Search for:" msgstr "Motif de recherche :" #: gschem/src/x_autonumber.c:1258 msgid "Autonumber text in:" msgstr "Annoter automatiquement :" #: gschem/src/x_autonumber.c:1265 msgid "Skip numbers found in:" msgstr "Passer les nombres trouvés dans :" #: gschem/src/x_autonumber.c:1277 gschem/src/x_autonumber.c:1286 msgid "Selected objects" msgstr "les objets sélectionnés" #: gschem/src/x_autonumber.c:1278 gschem/src/x_autonumber.c:1287 msgid "Current page" msgstr "la page en cours" #: gschem/src/x_autonumber.c:1279 gschem/src/x_autonumber.c:1288 msgid "Whole hierarchy" msgstr "la hiérarchie complète" #: gschem/src/x_autonumber.c:1290 msgid "Overwrite existing numbers" msgstr "Remplacer les annotations existantes" #: gschem/src/x_autonumber.c:1295 msgid "Options" msgstr "Options" #: gschem/src/x_autonumber.c:1317 msgid "Starting number:" msgstr "Indice de départ :" #: gschem/src/x_autonumber.c:1324 msgid "Sort order:" msgstr "Ordre :" #: gschem/src/x_autonumber.c:1345 msgid "Remove numbers" msgstr "Supprimer les annotations" #: gschem/src/x_autonumber.c:1349 msgid "Automatic slotting" msgstr "Slotting automatique" #: gschem/src/x_clipboard.c:249 #, c-format msgid "" "Invalid schematic on clipboard.\n" "\n" "An error occurred while inserting clipboard data: %s." msgstr "" "Schéma du presse-papier invalide.\n" "\n" "Une erreur est survenue lors de l'insertion du contenu du presse-papier: %s." #: gschem/src/x_clipboard.c:251 msgid "Clipboard insertion failed" msgstr "Échec de l'insertion du contenu copié" #: gschem/src/x_color.c:94 gschem/src/x_color.c:103 #, c-format msgid "Could not allocate the color %s!\n" msgstr "Impossible d'allouer la couleur %s !\n" #: gschem/src/x_color.c:94 msgid "black" msgstr "noir" #: gschem/src/x_color.c:103 msgid "white" msgstr "blanc" #: gschem/src/x_color.c:125 #, c-format msgid "Could not allocate display color %i!\n" msgstr "Impossible d'allouer la couleur affichée %i!\n" #: gschem/src/x_color.c:147 #, c-format msgid "Could not allocate outline color %i!\n" msgstr "Impossible d'allouer la couleur de contour %i!\n" #: gschem/src/x_color.c:164 gschem/src/x_color.c:181 gschem/src/x_color.c:197 #, c-format msgid "Tried to get an invalid color: %d\n" msgstr "Tentative d'obtention d'une couleur invalide : %d\n" #: gschem/src/x_color.c:214 #, c-format msgid "Tried to get an invalid outline color: %d\n" msgstr "Essai d'un couleur de bordure invalide: %d\n" #: gschem/src/x_compselect.c:1066 msgid "Filter:" msgstr "Filtre:" #: gschem/src/x_compselect.c:1169 gschem/src/x_dialog.c:3653 #: gschem/src/x_multiattrib.c:1839 msgid "Name" msgstr "Nom" #: gschem/src/x_compselect.c:1178 gschem/src/x_multiattrib.c:1863 msgid "Value" msgstr "Valeur" #: gschem/src/x_compselect.c:1217 msgid "Default behavior - reference component" msgstr "Comportement par défaut - référencer le composant" #: gschem/src/x_compselect.c:1220 msgid "Embed component in schematic" msgstr "Embarquer le composant dans le schéma" #: gschem/src/x_compselect.c:1223 msgid "Include component as individual objects" msgstr "Éclater le composant en objets individuels" #: gschem/src/x_compselect.c:1380 msgid "Select Component..." msgstr "Sélecteur de composant..." #: gschem/src/x_compselect.c:1403 msgid "In Use" msgstr "En cours d'utilisation" #: gschem/src/x_compselect.c:1407 msgid "Libraries" msgstr "Bibliothèques" #: gschem/src/x_compselect.c:1416 gschem/src/x_fileselect.c:122 msgid "Preview" msgstr "Prévisualisation" #: gschem/src/x_compselect.c:1444 msgid "Attributes" msgstr "Attributs" #: gschem/src/x_dialog.c:176 msgid "Text Entry..." msgstr "Ajout de texte..." #: gschem/src/x_dialog.c:207 msgid "" "Enter text, click apply,\n" "move cursor into window, click to place text.\n" "Middle button to rotate while placing." msgstr "" "Entrez le texte, cliquez sur appliquer,\n" "déplacez le curseur dans la fenêtre, cliquez pour placer le texte.\n" "Bouton du milieu pour pivoter le texte avant placement." #: gschem/src/x_dialog.c:301 msgid "Upper Left" msgstr "En haut à gauche" #: gschem/src/x_dialog.c:304 msgid "Upper Middle" msgstr "En haut au milieu" #: gschem/src/x_dialog.c:307 msgid "Upper Right" msgstr "En haut à droite" #: gschem/src/x_dialog.c:311 msgid "Middle Left" msgstr "Au milieu à gauche" #: gschem/src/x_dialog.c:314 msgid "Middle Middle" msgstr "Au centre" #: gschem/src/x_dialog.c:317 msgid "Middle Right" msgstr "Au milieu à droite" #: gschem/src/x_dialog.c:321 msgid "Lower Left" msgstr "En bas à gauche" #: gschem/src/x_dialog.c:324 msgid "Lower Middle" msgstr "En bas au milieu" #: gschem/src/x_dialog.c:327 msgid "Lower Right" msgstr "En bas à droite" #: gschem/src/x_dialog.c:438 msgid "Edit Text Properties" msgstr "Editer les propriétés du texte" #: gschem/src/x_dialog.c:473 msgid "Text Content" msgstr "Texte" #: gschem/src/x_dialog.c:509 msgid "Text Properties" msgstr "Propriétés du texte" #: gschem/src/x_dialog.c:524 msgid "Color:" msgstr "Couleur :" #: gschem/src/x_dialog.c:531 msgid "Size:" msgstr "Taille :" #: gschem/src/x_dialog.c:540 msgid "Alignment:" msgstr "Alignement du texte :" #: gschem/src/x_dialog.c:589 msgid "Solid" msgstr "Continu" #: gschem/src/x_dialog.c:590 msgid "Dotted" msgstr "Pointillés" #: gschem/src/x_dialog.c:591 msgid "Dashed" msgstr "Tirets" #: gschem/src/x_dialog.c:592 msgid "Center" msgstr "Centré" #: gschem/src/x_dialog.c:593 msgid "Phantom" msgstr "Fantôme" #: gschem/src/x_dialog.c:594 gschem/src/x_dialog.c:691 #: gschem/src/x_dialog.c:700 gschem/src/x_dialog.c:709 #: gschem/src/x_dialog.c:810 gschem/src/x_dialog.c:813 #: gschem/src/x_dialog.c:816 gschem/src/x_dialog.c:1043 #: gschem/src/x_dialog.c:1146 gschem/src/x_dialog.c:1155 #: gschem/src/x_dialog.c:1164 gschem/src/x_dialog.c:1173 #: gschem/src/x_dialog.c:1182 gschem/src/x_dialog.c:1295 #: gschem/src/x_dialog.c:1298 gschem/src/x_dialog.c:1301 #: gschem/src/x_dialog.c:1304 gschem/src/x_dialog.c:1307 msgid "*unchanged*" msgstr "*inchangé*" #: gschem/src/x_dialog.c:921 msgid "Edit Line Width & Type" msgstr "Épaisseur et type de ligne" #: gschem/src/x_dialog.c:960 gschem/src/x_print.c:307 msgid "Type:" msgstr "Type :" #: gschem/src/x_dialog.c:964 msgid "Width:" msgstr "Largeur :" #: gschem/src/x_dialog.c:968 msgid "Dash Length:" msgstr "Longueur du tiret :" #: gschem/src/x_dialog.c:972 msgid "Dash Space:" msgstr "Espace entre tirets :" #: gschem/src/x_dialog.c:1039 msgid "Hollow" msgstr "Vide" #: gschem/src/x_dialog.c:1040 msgid "Filled" msgstr "Plein" #: gschem/src/x_dialog.c:1041 msgid "Mesh" msgstr "Quadrillage" #: gschem/src/x_dialog.c:1042 msgid "Hatch" msgstr "Rayures" #: gschem/src/x_dialog.c:1416 msgid "Edit Fill Type" msgstr "Éditer le type de remplissage" #: gschem/src/x_dialog.c:1455 msgid "Fill Type:" msgstr "Type de remplissage :" #: gschem/src/x_dialog.c:1459 msgid "Line Width:" msgstr "Épaisseur :" #: gschem/src/x_dialog.c:1463 msgid "Angle 1:" msgstr "Angle1 :" #: gschem/src/x_dialog.c:1467 msgid "Pitch 1:" msgstr "Écart1 :" #: gschem/src/x_dialog.c:1471 msgid "Angle 2:" msgstr "Angle2 :" #: gschem/src/x_dialog.c:1475 msgid "Pitch 2:" msgstr "Écart2 :" #: gschem/src/x_dialog.c:1602 msgid "Arc Params" msgstr "Paramètres d'arc" #: gschem/src/x_dialog.c:1643 msgid "Arc Radius:" msgstr "Rayon de l'Arc:" #: gschem/src/x_dialog.c:1651 msgid "Start Angle:" msgstr "Angle de départ :" #: gschem/src/x_dialog.c:1659 msgid "Degrees of Sweep:" msgstr "Balayage :" #: gschem/src/x_dialog.c:1777 msgid "" "Offset to translate?\n" "(0 for origin)" msgstr "" "Cible pour translation ?\n" "(0 pour translation à l'origine)" #: gschem/src/x_dialog.c:1845 msgid "Text Size" msgstr "Taille de texte :" #: gschem/src/x_dialog.c:1875 msgid "Enter new text size:" msgstr "Entrez la nouvelle taille de texte :" #: gschem/src/x_dialog.c:1951 msgid "Snap Size" msgstr "Grille de snap" #: gschem/src/x_dialog.c:1981 msgid "Enter new snap grid spacing:" msgstr "Entrez le nouvel espacement de la grille de snap :" #: gschem/src/x_dialog.c:2058 msgid "Edit slot number" msgstr "Numéro de slot" #: gschem/src/x_dialog.c:2089 msgid "Edit slot number:" msgstr "Numéro de slot :" #: gschem/src/x_dialog.c:2130 #, c-format msgid "%s (g%.7s)" msgstr "%s (g%.7s)" #: gschem/src/x_dialog.c:2151 msgid "About gschem" msgstr "À propos de gschem" #: gschem/src/x_dialog.c:2152 msgid "gEDA: GPL Electronic Design Automation" msgstr "" #. TRANSLATORS: "ChangeLog" is a literal filename; please don't translate it. #: gschem/src/x_dialog.c:2155 msgid "" "Copyright © 1998-2012 Ales Hvezda \n" "Copyright © 1998-2012 gEDA Contributors (see ChangeLog for details)" msgstr "" "Copyright © 1998-2012 Ales Hvezda \n" "Copyright © 1998-2012 gEDA Contributors (reportez-vous au fichier CHANGELOG " "pour plus de détails)" #: gschem/src/x_dialog.c:2214 msgid "Coords" msgstr "Coordonnées" #: gschem/src/x_dialog.c:2235 msgid "Screen" msgstr "Écran" #: gschem/src/x_dialog.c:2244 msgid "World" msgstr "Monde" #: gschem/src/x_dialog.c:2283 msgid "Background" msgstr "Arrière-plan" #: gschem/src/x_dialog.c:2289 msgid "Net endpoint" msgstr "Point d'arrêt de la liaison" #: gschem/src/x_dialog.c:2292 msgid "Graphic" msgstr "Graphique" #: gschem/src/x_dialog.c:2301 msgid "Logic bubble" msgstr "Bulle logique" #: gschem/src/x_dialog.c:2304 msgid "Grid point" msgstr "Point de grille" #: gschem/src/x_dialog.c:2307 msgid "Detached attribute" msgstr "Attribut détaché" #: gschem/src/x_dialog.c:2310 gschem/src/x_window.c:387 msgid "Text" msgstr "Texte" #: gschem/src/x_dialog.c:2316 msgid "Selection" msgstr "Sélection" #: gschem/src/x_dialog.c:2319 msgid "Bounding box" msgstr "Boîte englobante" #: gschem/src/x_dialog.c:2322 msgid "Zoom box" msgstr "Boîte d'agrandissement" #: gschem/src/x_dialog.c:2331 msgid "Output background" msgstr "Arrière-plan de sortie" #: gschem/src/x_dialog.c:2334 msgid "Net junction" msgstr "Jonction de liaison" #: gschem/src/x_dialog.c:2337 msgid "Mesh grid major" msgstr "Maille de la grille principale" #: gschem/src/x_dialog.c:2340 msgid "Mesh grid minor" msgstr "Maille de la grille secondaire" #: gschem/src/x_dialog.c:2343 msgid "Unknown" msgstr "Inconnu" #: gschem/src/x_dialog.c:2494 #, c-format msgid "ERROR: NULL object in color_edit_dialog_apply!\n" msgstr "ERREUR : object==NULL dans color_edit_dialog_apply !\n" #: gschem/src/x_dialog.c:2538 msgid "Color Edit" msgstr "Sélecteur de couleur" #: gschem/src/x_dialog.c:2569 msgid "Object color:" msgstr "Couleur de l'objet :" #: gschem/src/x_dialog.c:2622 msgid "Hotkeys" msgstr "Raccourcis" #: gschem/src/x_dialog.c:2662 msgid "Function" msgstr "Fonction" #: gschem/src/x_dialog.c:2669 msgid "Keystroke(s)" msgstr "Touche(s)" #: gschem/src/x_dialog.c:2977 msgid "Find Text" msgstr "Recherche de texte" #: gschem/src/x_dialog.c:3008 msgid "Text to find:" msgstr "Texte à rechercher :" #: gschem/src/x_dialog.c:3018 msgid "descend into hierarchy" msgstr "descendre dans la hiérarchie" #: gschem/src/x_dialog.c:3084 msgid "Hide Text" msgstr "Cacher le texte" #: gschem/src/x_dialog.c:3115 msgid "Hide text starting with:" msgstr "Cacher le texte commençant par :" #: gschem/src/x_dialog.c:3185 msgid "Show Text" msgstr "Montrer le texte" #: gschem/src/x_dialog.c:3216 msgid "Show text starting with:" msgstr "Montrer le texte commençant par :" #: gschem/src/x_dialog.c:3675 msgid "S_elect the schematics you want to save:" msgstr "_Sélectionnez les schémas que vous souhaitez enregistrer :" #: gschem/src/x_dialog.c:3770 #, c-format msgid "Save the changes to schematic \"%s\" before closing?" msgstr "" "Voulez-vous enregistrer les modifications dans le schéma \"%s\" avant de le " "fermer ?" #: gschem/src/x_dialog.c:3776 #, c-format msgid "" "There are %d schematics with unsaved changes. Save changes before closing?" msgstr "" "Il y a %d schémas avec des modifications non sauvegardées. Les sauvegarder " "avant de fermer?" #: gschem/src/x_dialog.c:3805 msgid "If you don't save, all your changes will be permanently lost." msgstr "" "Si vous n'enregistrez pas, les modifications effectuées seront " "définitivement perdues." #: gschem/src/x_dialog.c:3825 msgid "_Close without saving" msgstr "Fermer sans sa_uvegarder" #: gschem/src/x_dialog.c:4161 #, c-format msgid "" "The input attribute \"%s\" is invalid\n" "Please correct in order to continue\n" "\n" "The name and value must be non-empty.\n" "The name cannot end with a space.\n" "The value cannot start with a space." msgstr "" "L'entrée d'attribut \"%s\" est " "invalide\n" "Veuillez corriger pour continuer\n" "\n" "Le nom et la valeur ne peuvent être vides.\n" "Le nom ne peut se terminer par un espace.\n" "La valeur ne peut débuter avec un espace." #: gschem/src/x_dialog.c:4163 msgid "Invalid Attribute" msgstr "Attribut invalide" #: gschem/src/x_dialog.c:4199 msgid "Pin type" msgstr "Type de broche" #: gschem/src/x_dialog.c:4223 msgid "Net pin" msgstr "Broche de liaison" #: gschem/src/x_dialog.c:4225 msgid "Bus pin (graphical)" msgstr "Broche de bus (graphique)" #: gschem/src/x_fileselect.c:42 msgid "Schematics" msgstr "sch - Schémas" #: gschem/src/x_fileselect.c:47 msgid "Symbols" msgstr "sym - Symboles" #: gschem/src/x_fileselect.c:52 msgid "Schematics and symbols" msgstr "sym/sch - Schémas et symboles" #: gschem/src/x_fileselect.c:58 msgid "All files" msgstr "* - Tous fichiers" #: gschem/src/x_fileselect.c:171 msgid "Open..." msgstr "Ouvrir..." #: gschem/src/x_fileselect.c:231 msgid "Save as..." msgstr "Enregistrer sous..." #: gschem/src/x_fileselect.c:284 #, c-format msgid "" "The selected file `%s' already exists.\n" "\n" "Would you like to overwrite it?" msgstr "" "Le fichier sélectionné `%s' existe déjà.\n" "\n" "Voulez-vous l'écraser?" #: gschem/src/x_fileselect.c:287 msgid "Overwrite file?" msgstr "Écraser le fichier ?" #: gschem/src/x_fileselect.c:289 msgid "Save cancelled on user request\n" msgstr "Sauvegarde annulée sur demande de l'utilisateur\n" #: gschem/src/x_image.c:176 msgid "Encapsulated Postscript" msgstr "PostScript encapsulé" #: gschem/src/x_image.c:296 #, c-format msgid "x_image_lowlevel: Unable to write eps file %s.\n" msgstr "" "Copy text \t\n" "x_image_lowlevel: Impossible d'écrire le fichier eps %s.\n" #: gschem/src/x_image.c:374 #, c-format msgid "x_image_lowlevel: Unable to write %s file %s.\n" msgstr "x_image_lowlevel: Impossible d'écrire le %s fichier %s.\n" #: gschem/src/x_image.c:384 #, c-format msgid "" "There was the following error when saving image with type %s to filename:\n" "%s\n" "\n" "%s.\n" msgstr "" "L'erreur suivante a été rencontrée lors de la sauvegarde de l'image avec le " "type %s vers le nom de fichier:\n" "%s\n" "\n" "%s.\n" #: gschem/src/x_image.c:403 #, c-format msgid "Wrote color image to [%s] [%d x %d]\n" msgstr "Image couleur exportée dans fichier [%s] [%d x %d]\n" #: gschem/src/x_image.c:405 #, c-format msgid "Wrote black and white image to [%s] [%d x %d]\n" msgstr "Image noire et blanche exportée dans fichier [%s] [%d x %d]\n" #: gschem/src/x_image.c:413 msgid "x_image_lowlevel: Unable to get pixbuf from gschem's window.\n" msgstr "" "x_image_lowlevel(): Impossible de récupérer le pixbuf depuis la fenêtre de " "gschem.\n" #: gschem/src/x_image.c:458 msgid "Width x Height" msgstr "Largeur x Hauteur" #: gschem/src/x_image.c:474 msgid "Image type" msgstr "Type d'image" #: gschem/src/x_image.c:495 msgid "Write image..." msgstr "Tracer l'image" #: gschem/src/x_log.c:209 msgid "** Invalid UTF-8 in log message. See stderr or gschem.log.\n" msgstr "" "** UTF-8 invalide dans le message de log. Regardez stderr ou gschem.log.\n" #: gschem/src/x_log.c:288 msgid "Status" msgstr "Messages" #: gschem/src/x_menus.c:37 msgid "/Add Net" msgstr "/Ajouter une piste" #: gschem/src/x_menus.c:38 msgid "/Add Attribute..." msgstr "/Ajouter un attribut..." #: gschem/src/x_menus.c:39 msgid "/Add Component..." msgstr "/Ajouter un composant..." #: gschem/src/x_menus.c:40 msgid "/Add Bus" msgstr "/Ajouter un bus" #: gschem/src/x_menus.c:41 msgid "/Add Text" msgstr "/Ajouter du texte" #: gschem/src/x_menus.c:43 msgid "/Zoom In" msgstr "/Zoom avant" #: gschem/src/x_menus.c:44 msgid "/Zoom Out" msgstr "/Zoom arrière" #: gschem/src/x_menus.c:45 msgid "/Zoom Box" msgstr "/Zoom boîte" #: gschem/src/x_menus.c:46 msgid "/Zoom Extents" msgstr "/Agrandissement auto" #: gschem/src/x_menus.c:48 msgid "/Select" msgstr "/Sélectionner" #: gschem/src/x_menus.c:49 msgid "/Edit..." msgstr "/Éditer..." #: gschem/src/x_menus.c:50 msgid "/Edit pin type..." msgstr "/Édition de type de broche..." #: gschem/src/x_menus.c:51 msgid "/Copy" msgstr "/Copier" #: gschem/src/x_menus.c:52 msgid "/Move" msgstr "/Déplacer" #: gschem/src/x_menus.c:53 msgid "/Delete" msgstr "/Supprimer" #: gschem/src/x_menus.c:56 msgid "/Down Schematic" msgstr "/Descendre dans le schéma" #: gschem/src/x_menus.c:57 msgid "/Down Symbol" msgstr "/Descendre dans le symbole" #: gschem/src/x_menus.c:58 msgid "/Up" msgstr "/Remonter" #: gschem/src/x_menus.c:348 #, c-format msgid "Tried to set the sensitivity on non-existent menu item '%s'\n" msgstr "" "Tentative de valider la sensibilité ou un menu inexistant d'un objet '%s'\n" #: gschem/src/x_menus.c:372 msgid "Popup_menu_item_factory doesn't exist!\n" msgstr "Popup_menu_item_factory n'existe pas !\n" #: gschem/src/x_menus.c:385 msgid "Tried to set the sensitivity on a non-existent popup menu_item\n" msgstr "" "Tentative de rendre sensible un élément de menu contextuel inexistant\n" #: gschem/src/x_misc.c:74 msgid "The operating system is out of memory or resources." msgstr "Le système d'exploitation n'a plus assez de mémoire ou de ressources." #: gschem/src/x_misc.c:155 #, c-format msgid "%s failed to launch URI" msgstr "%s n'a pas pu lancer l'URI" #: gschem/src/x_multiattrib.c:961 msgid "Attributes with empty name are not allowed. Please set a name." msgstr "Les attributs sans nom sont interdits. Donnez un nom." #: gschem/src/x_multiattrib.c:1514 msgid "Show Value only" msgstr "Montrer seulement la valeur" #: gschem/src/x_multiattrib.c:1516 msgid "Show Name only" msgstr "Montrer seulement le nom" #: gschem/src/x_multiattrib.c:1544 msgid "Promote" msgstr "Promouvoir" #: gschem/src/x_multiattrib.c:1548 msgid "Duplicate" msgstr "Cloner" #: gschem/src/x_multiattrib.c:1765 msgid "Edit Attributes" msgstr "Éditeur d'attributs" #: gschem/src/x_multiattrib.c:1883 msgid "Vis?" msgstr "Vis?" #: gschem/src/x_multiattrib.c:1901 msgid "N" msgstr "N" #: gschem/src/x_multiattrib.c:1919 msgid "V" msgstr "V" #: gschem/src/x_multiattrib.c:1941 msgid "Show inherited attributes" msgstr "Montrer les attributs hérités" #: gschem/src/x_multiattrib.c:1957 msgid "Add Attribute" msgstr "Ajouter un attribut" #: gschem/src/x_pagesel.c:246 msgid "New Page" msgstr "Nouvelle page" #: gschem/src/x_pagesel.c:247 msgid "Open Page..." msgstr "Ouvrir une page..." #: gschem/src/x_pagesel.c:249 msgid "Save Page" msgstr "Enregistrer la page" #: gschem/src/x_pagesel.c:250 msgid "Close Page" msgstr "Fermer la page" #: gschem/src/x_pagesel.c:251 msgid "Discard Page" msgstr "Abandonner la page" #: gschem/src/x_pagesel.c:369 msgid "Page Manager" msgstr "Gestionnaire de pages" #: gschem/src/x_pagesel.c:425 msgid "Filename" msgstr "Nom de fichier" #: gschem/src/x_pagesel.c:441 msgid "Changed" msgstr "Modifié" #: gschem/src/x_pagesel.c:461 msgid "Right click on the filename for more options..." msgstr "Utilisez le clic droit sur le nom de fichier pour plus d'options..." #: gschem/src/x_preview.c:231 msgid "Preview Buffer" msgstr "Prévisualisation du tampon" #: gschem/src/x_print.c:84 msgid "Select PostScript Filename..." msgstr "Enregistrer en PostScript sous..." #: gschem/src/x_print.c:164 msgid "Extents with margins" msgstr "Totalité avec marges" #: gschem/src/x_print.c:170 msgid "Extents no margins" msgstr "Totalité sans marge" #: gschem/src/x_print.c:176 msgid "Current Window" msgstr "Vue en cours" #: gschem/src/x_print.c:210 msgid "Landscape" msgstr "Paysage" #: gschem/src/x_print.c:216 msgid "Portrait" msgstr "Portrait" #: gschem/src/x_print.c:276 msgid "Print..." msgstr "Imprimer..." #: gschem/src/x_print.c:284 msgid "Settings" msgstr "Configuration" #: gschem/src/x_print.c:296 msgid "Output paper size:" msgstr "Taille de papier :" #: gschem/src/x_print.c:318 msgid "Orientation:" msgstr "Orientation :" #: gschem/src/x_print.c:330 msgid "Destination" msgstr "Destination" #: gschem/src/x_print.c:343 msgid "File:" msgstr "Fichier :" #: gschem/src/x_print.c:373 msgid "Command:" msgstr "Commande :" #: gschem/src/x_print.c:745 msgid "No print destination specified\n" msgstr "Destination pour l'impression non spécifiée\n" #: gschem/src/x_print.c:752 #, c-format msgid "Cannot print current schematic to [%s]\n" msgstr "Impossible d'imprimer le schéma en cours dans [%s]\n" #: gschem/src/x_print.c:761 #, c-format msgid "" "Error printing to file '%s'\n" "Check the log window for more information" msgstr "" "Erreur pendant l'impression du fichier '%s'\n" "Reportez-vous à la fenêtre des messages pour plus de détails" #: gschem/src/x_print.c:768 #, c-format msgid "Printed current schematic to [%s]\n" msgstr "Schéma en cours imprimé dans fichier [%s]\n" #: gschem/src/x_rc.c:40 msgid "ERROR: An unknown error occurred while parsing configuration files.\n" msgstr "" "ERREUR: Une erreur inconnue a eu lieu lors du chargement des fichiers de " "configuration.\n" #: gschem/src/x_rc.c:45 msgid "" "An unknown error occurred while parsing configuration files.\n" "\n" "The gschem log may contain more information." msgstr "" "Une erreur inconnue a eu lieu lors du chargement des fichiers de " "configuration.\n" "\n" "Le journal de gschem pourrait contenir plus d'informations." #: gschem/src/x_rc.c:57 #, c-format msgid "ERROR: %s\n" msgstr "ERREUR : %s\n" #: gschem/src/x_rc.c:60 #, c-format msgid "" "%s\n" "\n" "The gschem log may contain more information." msgstr "" "%s\n" "\n" "Le journal gschem pourrait contenir plus d'informations." #: gschem/src/x_rc.c:68 msgid "Cannot load gschem configuration." msgstr "Impossible de charger la configuration de gschem." #: gschem/src/x_script.c:47 gschem/lib/system-gschemrc.scm:1381 msgid "Execute Script..." msgstr "Exécuter le script..." #: gschem/src/x_script.c:66 #, c-format msgid "Executing guile script [%s]\n" msgstr "Exécution du script guile [%s]\n" #: gschem/src/x_window.c:82 #, c-format msgid "Couldn't allocate gc\n" msgstr "Allocation gc impossible\n" #: gschem/src/x_window.c:321 msgid "New" msgstr "Nouvelle" #: gschem/src/x_window.c:322 msgid "New file" msgstr "Nouveau fichier" #: gschem/src/x_window.c:328 msgid "Open" msgstr "Ouvrir" #: gschem/src/x_window.c:329 msgid "Open file..." msgstr "Ouvrir fichier..." #: gschem/src/x_window.c:335 msgid "Save" msgstr "Enregistrer" #: gschem/src/x_window.c:336 msgid "Save file" msgstr "Enregistrer le fichier" #: gschem/src/x_window.c:343 msgid "Undo" msgstr "Défaire" #: gschem/src/x_window.c:344 msgid "Undo last operation" msgstr "Défaire la dernière opération" #: gschem/src/x_window.c:350 msgid "Redo" msgstr "Refaire" #: gschem/src/x_window.c:351 msgid "Redo last undo" msgstr "Refaire le dernier défait" #: gschem/src/x_window.c:360 msgid "" "Add component...\n" "Select library and component from list, move the mouse into main window, " "click to place\n" "Right mouse button to cancel" msgstr "" "Ajout de composant...\n" "Sélectionnez la bibliothèque et le composant dans la liste, déplacez le " "pointeur dans la fenêtre principale.\n" "Clic gauche pour placer, clic droit pour annuler." #: gschem/src/x_window.c:370 msgid "" "Add nets mode\n" "Right mouse button to cancel" msgstr "" "Mode ajout de piste\n" "Clic droit pour annuler" #: gschem/src/x_window.c:380 msgid "" "Add buses mode\n" "Right mouse button to cancel" msgstr "" "Mode ajout de bus\n" "Clic droit pour annuler" #: gschem/src/x_window.c:388 msgid "Add Text..." msgstr "Ajouter du texte..." #: gschem/src/x_window.c:398 msgid "Select" msgstr "Sélectionner" #: gschem/src/x_window.c:399 msgid "Select mode" msgstr "Mode sélection" #: gschem/src/x_window.c:465 msgid "Evaluate:" msgstr "Évaluer :" #: gschem/src/x_window.c:484 msgid "Pick" msgstr "Prendre" #: gschem/src/x_window.c:500 msgid "Repeat/none" msgstr "Répéter/aucun" #: gschem/src/x_window.c:510 msgid "Menu/Cancel" msgstr "Menu/Annuler" #: gschem/src/x_window.c:512 msgid "Pan/Cancel" msgstr "Panoramique/Annuler" #: gschem/src/x_window.c:737 #, c-format msgid "Loading schematic [%s]\n" msgstr "Chargement du schéma [%s]\n" #: gschem/src/x_window.c:748 #, c-format msgid "" "An error occurred while loading the requested file.\n" "\n" "Loading from '%s' failed: %s. The gschem log may contain more information." msgstr "" "Une erreur est survenue lors du chargement du fichier demandé.\n" "\n" "Le chargement de '%s' a échoué: %s. Le journal gschem pourrait contenir plus " "d'informations." #: gschem/src/x_window.c:750 msgid "Failed to load file" msgstr "Échec lors du chargement du fichier" #: gschem/src/x_window.c:759 #, c-format msgid "New file [%s]\n" msgstr "Nouveau fichier [%s]\n" #: gschem/src/x_window.c:862 #, c-format msgid "Could NOT save page [%s]\n" msgstr "Échec sauvegarde de la page [%s]\n" #: gschem/src/x_window.c:863 msgid "Error while trying to save" msgstr "Erreur lors de la tentative de sauvegarde" #: gschem/src/x_window.c:873 msgid "Failed to save file" msgstr "Impossible d'enregistrer le fichier" #: gschem/src/x_window.c:884 #, c-format msgid "Saved as [%s]\n" msgstr "Enregistré sous [%s]\n" #: gschem/src/x_window.c:886 #, c-format msgid "Saved [%s]\n" msgstr "Enregistrer [%s]\n" #: gschem/src/x_window.c:888 msgid "Saved" msgstr "Enregistrer" #: gschem/src/x_window.c:962 #, c-format msgid "Discarding page [%s]\n" msgstr "Abandonne page [%s]\n" #: gschem/src/x_window.c:962 #, c-format msgid "Closing [%s]\n" msgstr "Ferme [%s]\n" #: gschem/data/geda-gschem.desktop.in:3 msgid "gEDA Schematic Editor" msgstr "Éditeur de schémas gEDA" #: gschem/data/geda-gschem.desktop.in:4 msgid "Create and edit electrical schematics and symbols with gschem" msgstr "Créer et éditer des schémas électriques et des symboles avec gschem" #: gschem/lib/system-gschemrc.scm:1368 msgid "_New" msgstr "_Nouveau" #: gschem/lib/system-gschemrc.scm:1369 msgid "_Open..." msgstr "_Ouvrir..." #: gschem/lib/system-gschemrc.scm:1371 msgid "Open Recen_t" msgstr "_Récemment ouverts" #: gschem/lib/system-gschemrc.scm:1373 msgid "_Save" msgstr "_Enregistrer" #: gschem/lib/system-gschemrc.scm:1374 msgid "Save _As..." msgstr "Enregistrer _sous..." #: gschem/lib/system-gschemrc.scm:1375 msgid "Save All" msgstr "Enregistrer toutes les pages" #: gschem/lib/system-gschemrc.scm:1376 gschem/lib/system-gschemrc.scm:1469 msgid "_Revert" msgstr "_Rétablir" #: gschem/lib/system-gschemrc.scm:1378 msgid "_Print..." msgstr "_Imprimer..." #: gschem/lib/system-gschemrc.scm:1379 msgid "Write _image..." msgstr "Tracer l'image" #: gschem/lib/system-gschemrc.scm:1383 msgid "New Window" msgstr "Nouvelle fenêtre" #: gschem/lib/system-gschemrc.scm:1384 msgid "_Close Window" msgstr "_Fermer la fenêtre" #: gschem/lib/system-gschemrc.scm:1385 msgid "_Quit" msgstr "_Quitter" #: gschem/lib/system-gschemrc.scm:1391 msgid "_Undo" msgstr "A_nnuler" #: gschem/lib/system-gschemrc.scm:1392 msgid "_Redo" msgstr "_Rétablir" #: gschem/lib/system-gschemrc.scm:1394 msgid "Cu_t" msgstr "Co_uper" #: gschem/lib/system-gschemrc.scm:1395 msgid "_Copy" msgstr "_Copier" #: gschem/lib/system-gschemrc.scm:1396 msgid "_Paste" msgstr "C_oller" #: gschem/lib/system-gschemrc.scm:1397 msgid "_Delete" msgstr "_Supprimer" #: gschem/lib/system-gschemrc.scm:1400 msgid "Select All" msgstr "Sélectionner tout" #: gschem/lib/system-gschemrc.scm:1401 msgid "Deselect" msgstr "Dé-sélectionner" #: gschem/lib/system-gschemrc.scm:1405 msgid "Rotate 90 Mode" msgstr "Mode Rotation 90" #: gschem/lib/system-gschemrc.scm:1408 msgid "Edit..." msgstr "Éditer" #: gschem/lib/system-gschemrc.scm:1409 msgid "Edit Text..." msgstr "Éditer le texte..." #: gschem/lib/system-gschemrc.scm:1410 msgid "Slot..." msgstr "Slot..." #: gschem/lib/system-gschemrc.scm:1411 msgid "Color..." msgstr "Couleur..." #: gschem/lib/system-gschemrc.scm:1412 msgid "Line Width & Type..." msgstr "Épaisseur & type de ligne..." #: gschem/lib/system-gschemrc.scm:1413 msgid "Fill Type..." msgstr "Type de remplissage..." #: gschem/lib/system-gschemrc.scm:1414 msgid "Symbol Translate..." msgstr "Translater le symbole..." #: gschem/lib/system-gschemrc.scm:1418 msgid "Invoke Macro" msgstr "Lancer une Macro" #: gschem/lib/system-gschemrc.scm:1419 msgid "Embed Component/Picture" msgstr "Embarquer le composant/l'image" #: gschem/lib/system-gschemrc.scm:1420 msgid "Unembed Component/Picture" msgstr "Débarquer le composant/l'image" #: gschem/lib/system-gschemrc.scm:1421 msgid "Update Component" msgstr "Mise à jour du composant" #: gschem/lib/system-gschemrc.scm:1422 msgid "Show/Hide Inv Text" msgstr "Afficher/Cacher le texte invisible" #: gschem/lib/system-gschemrc.scm:1428 msgid "Copy into 1" msgstr "Copier dans 1" #: gschem/lib/system-gschemrc.scm:1429 msgid "Copy into 2" msgstr "Copier dans 2" #: gschem/lib/system-gschemrc.scm:1430 msgid "Copy into 3" msgstr "Copier dans 3" #: gschem/lib/system-gschemrc.scm:1431 msgid "Copy into 4" msgstr "Copier dans 4" #: gschem/lib/system-gschemrc.scm:1432 msgid "Copy into 5" msgstr "Copier dans 5" #: gschem/lib/system-gschemrc.scm:1433 msgid "Cut into 1" msgstr "Couper dans 1" #: gschem/lib/system-gschemrc.scm:1434 msgid "Cut into 2" msgstr "Couper dans 2" #: gschem/lib/system-gschemrc.scm:1435 msgid "Cut into 3" msgstr "Couper dans 3" #: gschem/lib/system-gschemrc.scm:1436 msgid "Cut into 4" msgstr "Couper dans 4" #: gschem/lib/system-gschemrc.scm:1437 msgid "Cut into 5" msgstr "Couper dans 5" #: gschem/lib/system-gschemrc.scm:1438 msgid "Paste from 1" msgstr "Coller depuis 1" #: gschem/lib/system-gschemrc.scm:1439 msgid "Paste from 2" msgstr "Coller depuis 2" #: gschem/lib/system-gschemrc.scm:1440 msgid "Paste from 3" msgstr "Coller depuis 3" #: gschem/lib/system-gschemrc.scm:1441 msgid "Paste from 4" msgstr "Coller depuis 4" #: gschem/lib/system-gschemrc.scm:1442 msgid "Paste from 5" msgstr "Coller depuis 5" #: gschem/lib/system-gschemrc.scm:1448 msgid "_Redraw" msgstr "_Redessiner" #: gschem/lib/system-gschemrc.scm:1449 msgid "_Pan" msgstr "_Déplacer" #: gschem/lib/system-gschemrc.scm:1450 msgid "Zoom _Box" msgstr "_Zone de Zoom" #: gschem/lib/system-gschemrc.scm:1451 msgid "Zoom _Extents" msgstr "A_juster au mieux" #: gschem/lib/system-gschemrc.scm:1452 msgid "Zoom _In" msgstr "Zoom a_vant" #: gschem/lib/system-gschemrc.scm:1453 msgid "Zoom _Out" msgstr "Zoom a_rrière" #: gschem/lib/system-gschemrc.scm:1454 msgid "Zoom _Full" msgstr "Zoom _Complet" #: gschem/lib/system-gschemrc.scm:1456 msgid "_Dark color scheme" msgstr "Couleurs _foncé" #: gschem/lib/system-gschemrc.scm:1457 msgid "_Light color scheme" msgstr "Couleurs _clairs" #: gschem/lib/system-gschemrc.scm:1458 msgid "B_W color scheme" msgstr "Mode N/_B" #: gschem/lib/system-gschemrc.scm:1465 msgid "_Manager..." msgstr "_Gestionnaire..." #: gschem/lib/system-gschemrc.scm:1466 msgid "_Previous" msgstr "_Précédent" #: gschem/lib/system-gschemrc.scm:1467 msgid "_Next" msgstr "_Suivant" #: gschem/lib/system-gschemrc.scm:1468 msgid "Ne_w" msgstr "_Nouvelle" #: gschem/lib/system-gschemrc.scm:1470 msgid "_Close" msgstr "_Fermer" #: gschem/lib/system-gschemrc.scm:1472 msgid "_Discard" msgstr "_Abandonner" #: gschem/lib/system-gschemrc.scm:1478 msgid "_Component..." msgstr "_Composant..." #: gschem/lib/system-gschemrc.scm:1479 msgid "_Net" msgstr "_Piste" #: gschem/lib/system-gschemrc.scm:1480 msgid "B_us" msgstr "B_us" #: gschem/lib/system-gschemrc.scm:1481 msgid "_Attribute..." msgstr "_Attribut..." #: gschem/lib/system-gschemrc.scm:1482 msgid "_Text..." msgstr "_Texte..." #: gschem/lib/system-gschemrc.scm:1484 msgid "_Line" msgstr "_Ligne" #: gschem/lib/system-gschemrc.scm:1485 msgid "_Box" msgstr "_Cadre" #: gschem/lib/system-gschemrc.scm:1486 msgid "C_ircle" msgstr "C_ercle" #: gschem/lib/system-gschemrc.scm:1487 msgid "A_rc" msgstr "A_rc de cercle" #: gschem/lib/system-gschemrc.scm:1488 msgid "_Pin" msgstr "_Broche" #: gschem/lib/system-gschemrc.scm:1489 msgid "Pictu_re..." msgstr "_Image" #: gschem/lib/system-gschemrc.scm:1495 msgid "_Down Schematic" msgstr "_Par Schématique" #: gschem/lib/system-gschemrc.scm:1496 msgid "Down _Symbol" msgstr "Par _Symbol" #: gschem/lib/system-gschemrc.scm:1497 msgid "_Up" msgstr "_Monter" #: gschem/lib/system-gschemrc.scm:1498 msgid "D_ocumentation..." msgstr "D_ocumentation..." #: gschem/lib/system-gschemrc.scm:1504 msgid "_Attach" msgstr "_Attacher" #: gschem/lib/system-gschemrc.scm:1505 msgid "_Detach" msgstr "_Détacher" #: gschem/lib/system-gschemrc.scm:1506 msgid "Show _Value" msgstr "Afficher la _valeur" #: gschem/lib/system-gschemrc.scm:1507 msgid "Show _Name" msgstr "Afficher le _nom" #: gschem/lib/system-gschemrc.scm:1508 msgid "Show _Both" msgstr "Afficher les _deux" #: gschem/lib/system-gschemrc.scm:1509 msgid "_Toggle Visibility" msgstr "_Inverser la visibilité" #: gschem/lib/system-gschemrc.scm:1511 msgid "_Find Specific Text..." msgstr "_Rechercher le texte..." #: gschem/lib/system-gschemrc.scm:1512 msgid "_Hide Specific Text..." msgstr "_Cacher le texte..." #: gschem/lib/system-gschemrc.scm:1513 msgid "_Show Specific Text..." msgstr "_Afficher le texte..." #: gschem/lib/system-gschemrc.scm:1514 msgid "A_utonumber Text..." msgstr "A_nnotation automatique" #: gschem/lib/system-gschemrc.scm:1520 msgid "_Text Size..." msgstr "Taille de _texte" #: gschem/lib/system-gschemrc.scm:1521 msgid "Cycle _grid styles" msgstr "Cycle styles de _grilles" #: gschem/lib/system-gschemrc.scm:1522 msgid "Toggle _Snap On/Off" msgstr "Basculer _Snap On/Off" #: gschem/lib/system-gschemrc.scm:1523 msgid "Snap Grid S_pacing..." msgstr "Espacement de le grille de Snap..." #: gschem/lib/system-gschemrc.scm:1524 msgid "Scale _up Grid Spacing" msgstr "_Augmenter l'espacement de la grille" #: gschem/lib/system-gschemrc.scm:1526 msgid "Scale _down Grid Spacing" msgstr "_Diminuer l'espacement de la grile" #: gschem/lib/system-gschemrc.scm:1528 msgid "Toggle _Outline/Box" msgstr "Basculer vers _Aperçu/Zone" #: gschem/lib/system-gschemrc.scm:1530 msgid "Toggle Net _Rubberband" msgstr "Piste é_lastique On/Off" #: gschem/lib/system-gschemrc.scm:1531 msgid "Toggle _Magnetic Net" msgstr "Piste _magnétique On/Off" #: gschem/lib/system-gschemrc.scm:1532 msgid "Show _Log Window..." msgstr "Afficher le _journal des messages" #: gschem/lib/system-gschemrc.scm:1534 msgid "Show _Coord Window..." msgstr "Afficher les _coordonnées" #: gschem/lib/system-gschemrc.scm:1542 msgid "gEDA Docu_mentation..." msgstr "gEDA Docu_mentation..." #: gschem/lib/system-gschemrc.scm:1543 msgid "gschem _FAQ..." msgstr "gschem _FAQ..." #: gschem/lib/system-gschemrc.scm:1544 msgid "gEDA _Wiki..." msgstr "gEDA _Wiki..." #: gschem/lib/system-gschemrc.scm:1545 msgid "Component D_ocumentation..." msgstr "Documentation du composant" #: gschem/lib/system-gschemrc.scm:1547 msgid "_Hotkeys..." msgstr "_Raccourcis" #: gschem/lib/system-gschemrc.scm:1548 msgid "_About..." msgstr "À _propos..." #: gschem/lib/system-gschemrc.scm:1554 msgid "_File" msgstr "_Fichier" #: gschem/lib/system-gschemrc.scm:1555 msgid "_Edit" msgstr "É_dition" #: gschem/lib/system-gschemrc.scm:1556 msgid "_Buffer" msgstr "_Tampon" #: gschem/lib/system-gschemrc.scm:1557 msgid "_View" msgstr "_Affichage" #: gschem/lib/system-gschemrc.scm:1558 msgid "_Page" msgstr "_Page" #: gschem/lib/system-gschemrc.scm:1559 msgid "_Add" msgstr "_Ajouter" #: gschem/lib/system-gschemrc.scm:1560 msgid "Hie_rarchy" msgstr "Hié_rarchie" #: gschem/lib/system-gschemrc.scm:1561 msgid "A_ttributes" msgstr "A_ttributs" #: gschem/lib/system-gschemrc.scm:1562 msgid "_Options" msgstr "_Options" #: gschem/lib/system-gschemrc.scm:1563 msgid "_Help" msgstr "Aid_e" #: gschem/scheme/gschem/deprecated.scm:102 #, scheme-format msgid "Invalid text alignment ~A." msgstr "Alignement du paragraphe invalide ~A." #: gschem/scheme/gschem/gschemdoc.scm:225 msgid "No documentation found" msgstr "Aucune documentation trouvée" #: gschem/scheme/gschem/keymap.scm:38 #, scheme-format msgid "~S is not a valid key combination." msgstr "~S n'est pas une combinaison de touches valide." #: gschem/scheme/gschem/keymap.scm:153 #, scheme-format msgid "~S is not a prefix key sequence." msgstr "~S n'est pas un préfixe valide." geda-gaf-1.8.2/gschem/po/it.po0000664000175000017500000017123012220655644012752 00000000000000# Italian translation for gschem # This file is distributed under the same license as the gschem package. # Copyright (C) 2004-2008 Michele Petrecca # # Michele Petrecca , 2004. # Michele Petrecca , 2005, 2006, 2007. msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-01-31 12:12+0000\n" "Last-Translator: Peter TB Brett \n" "Language-Team: gEDA developers \n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: gschem/src/a_zoom.c:212 msgid "Zoom too small! Cannot zoom further.\n" msgstr "" "Eccessiva riduzione dell'immagine! Non è possibile ridurla ulteriormente.\n" #: gschem/src/g_attrib.c:92 msgid "Object ~A is not included in the current gschem page." msgstr "" #: gschem/src/g_attrib.c:112 msgid "Invalid text name/value visibility ~A." msgstr "" #: gschem/src/g_rc.c:312 #, c-format msgid "Invalid zoomfactor [%d] passed to %s\n" msgstr "Fattore di ingrandimento [%d] passato a %s non valido.\n" #: gschem/src/g_rc.c:458 #, c-format msgid "Invalid size [%d] passed to text-size\n" msgstr "Grandezza [%d] passata alla dimensione del testo, non valida\n" #: gschem/src/g_rc.c:501 #, c-format msgid "Invalid size [%d] passed to snap-size\n" msgstr "L'ampiezza [%d] , assegnata alla snap size, non è corretta\n" #: gschem/src/g_rc.c:958 #, c-format msgid "Invalid num levels [%d] passed to undo-levels\n" msgstr "Il numero di livelli [%d] assegnato ai livelli Cancella non è valido\n" #: gschem/src/g_rc.c:1220 #, c-format msgid "Invalid size [%d] passed to bus-ripper-size\n" msgstr "Dimensione non valida [%d] passata a bus-ripper-size\n" #: gschem/src/g_rc.c:1295 #, c-format msgid "Invalid dot size [%d] passed to dots-grid-dot-size\n" msgstr "Dimensione punto non valida [%d] passata a dots-grid-dot-size\n" #: gschem/src/g_rc.c:1336 #, c-format msgid "Invalid pixel spacing [%d] passed to dots-grid-fixed-threshold\n" msgstr "Spaziatura pixel non valida [%d] passata a dots-grid-fixed-threshold\n" #: gschem/src/g_rc.c:1362 #, c-format msgid "Invalid pixel spacing [%d] passed to mesh-grid-display-threshold\n" msgstr "" "Spaziatura pixel non valida [%d] passata a mesh-grid-display-threshold\n" #: gschem/src/g_rc.c:1387 #, c-format msgid "Invalid offset [%d] passed to add-attribute-offset\n" msgstr "Offset non valido [%d] passato a add-attribute-offset\n" #: gschem/src/g_rc.c:1411 #, c-format msgid "Invalid number of seconds [%d] passed to auto-save-interval\n" msgstr "" "Il numero di secondi indicati [%d] non è valido ai fini dell'intervallo di " "auto salvataggio\n" #: gschem/src/g_rc.c:1435 #, c-format msgid "Invalid gain [%d] passed to mousepan-gain\n" msgstr "Guadagno non valido [%d] passato a mousepan-gain\n" #: gschem/src/g_rc.c:1458 #, c-format msgid "Invalid gain [%d] passed to keyboardpan-gain\n" msgstr "Guadagno non valido [%d] passato a keyboardpan-gain\n" #: gschem/src/g_rc.c:1505 #, c-format msgid "Invalid number of pixels [%d] passed to select-slack-pixels\n" msgstr "Il numero [%d] di pixel indicati non è valido\n" #: gschem/src/g_rc.c:1531 #, c-format msgid "Invalid gain [%d] passed to zoom-gain\n" msgstr "Guadagno non valido [%d] passato a zoom-gain\n" #: gschem/src/g_rc.c:1556 #, c-format msgid "Invalid number of steps [%d] scrollpan-steps\n" msgstr "Numero passi non valido [%d] scrollpan-steps\n" #: gschem/src/g_select.c:79 gschem/src/g_select.c:116 #: gschem/src/g_select.c:152 msgid "Object ~A is not directly included in a page." msgstr "" #: gschem/src/g_util.c:56 msgid "Could not launch URI ~S: ~A" msgstr "" #: gschem/src/g_window.c:136 msgid "Found invalid gschem window smob ~S" msgstr "" #: gschem/src/gschem.c:175 #, c-format msgid "gEDA/gschem version %s%s.%s\n" msgstr "gEDA/gschem versione %s%s.%s\n" #: gschem/src/gschem.c:178 msgid "" "gEDA/gschem comes with ABSOLUTELY NO WARRANTY; see COPYING for more " "details.\n" msgstr "" "gEDA/gschem viene rilasciato SENZA GARANZIA ALCUNA A CAUSA DEL SUO SVILUPPO " "IN FASE ALFA; leggere il file COPYING per ulteriori informazioni.\n" #: gschem/src/gschem.c:180 msgid "" "This is free software, and you are welcome to redistribute it under certain\n" msgstr "" "Questo software è rilasciato sotto licenza GPL e può essere ridistribuito " "sotto determinate\n" #: gschem/src/gschem.c:182 msgid "" "conditions; please see the COPYING file for more details.\n" "\n" msgstr "" "condizioni; per favore leggi il file COPYNG per ulteriori dettagli.\n" "\n" #: gschem/src/gschem.c:185 #, c-format msgid "This is the MINGW32 port.\n" msgstr "Port per MINGW32.\n" #: gschem/src/gschem.c:189 #, c-format msgid "Current locale settings: %s\n" msgstr "Impostazioni locali correnti: %s\n" #: gschem/src/gschem.c:211 msgid "" "You must set the GEDADATA environment variable!\n" "\n" "gschem cannot locate its data files. You must set the GEDADATA\n" "environment variable to point to the correct location.\n" msgstr "" "Devi impostare la variabile d'ambiente GEDADATA!\n" "\n" "gschem non può localizzare i suoi file dati. Devi impostare la variabile " "d'ambiente \n" "GEDADATA in modo che punti alla locazione corretta.\n" #: gschem/src/gschem.c:248 #, c-format msgid "Couldn't find init scm file [%s]\n" msgstr "Impossibile trovare il file di inizializzazione scm [%s]\n" #: gschem/src/gschem.c:252 #, c-format msgid "Read init scm file [%s]\n" msgstr "Lettura del file init scm [%s]\n" #: gschem/src/gschem.c:256 #, c-format msgid "Failed to read init scm file [%s]\n" msgstr "Fallita la lettura del file init scm [%s]\n" #: gschem/src/gschem_cairo.c:310 #, c-format msgid "Unknown end for line (%d)\n" msgstr "Non corretta terminazione per la linea (%d)\n" #: gschem/src/gschem_cairo.c:318 #, c-format msgid "Unknown type for stroke (%d) !\n" msgstr "Tipo di tratto sconosciuto (%d) !\n" #: gschem/src/gschem_pango.c:289 msgid "cairo context" msgstr "" #: gschem/src/gschem_pango.c:290 msgid "the cairo context for the renderer" msgstr "" #: gschem/src/i_basic.c:77 gschem/src/x_window.c:524 #: gschem/lib/system-gschemrc.scm:1399 msgid "Select Mode" msgstr "Modalità selezione" #: gschem/src/i_basic.c:79 msgid "Component Mode" msgstr "Scelta Componente" #: gschem/src/i_basic.c:81 msgid "Text Mode" msgstr "Modalità Testo" #: gschem/src/i_basic.c:84 gschem/lib/system-gschemrc.scm:1402 msgid "Copy Mode" msgstr "Modalità copia" #: gschem/src/i_basic.c:87 gschem/lib/system-gschemrc.scm:1404 msgid "Move Mode" msgstr "Modalità spostamento" #: gschem/src/i_basic.c:89 msgid "Rotate Mode" msgstr "Modalità Rotazione" #: gschem/src/i_basic.c:91 gschem/lib/system-gschemrc.scm:1406 msgid "Mirror Mode" msgstr "Modalità specchio" #: gschem/src/i_basic.c:95 msgid "Zoom Box" msgstr "Ingrandisci Riquadro" #: gschem/src/i_basic.c:99 msgid "Pan Mode" msgstr "Trascina ingrandimento" #: gschem/src/i_basic.c:103 #, c-format msgid "Paste %d Mode" msgstr "Modalità %d Incolla" #: gschem/src/i_basic.c:109 msgid "Magnetic Net Mode" msgstr "Modo Net Magnetiche" #: gschem/src/i_basic.c:111 msgid "Net Mode" msgstr "Modalità Collegamento" #: gschem/src/i_basic.c:115 msgid "Bus Mode" msgstr "Modalità Bus" #: gschem/src/i_basic.c:118 msgid "Line Mode" msgstr "Modalità Linea" #: gschem/src/i_basic.c:121 msgid "Box Mode" msgstr "Modalità Riquadro" #: gschem/src/i_basic.c:124 msgid "Picture Mode" msgstr "Modalità Immagine" #: gschem/src/i_basic.c:127 msgid "Circle Mode" msgstr "Modalità Cerchio" #: gschem/src/i_basic.c:130 msgid "Arc Mode" msgstr "Modalità Arco" #: gschem/src/i_basic.c:133 msgid "Pin Mode" msgstr "Modalità Pin" #: gschem/src/i_basic.c:135 gschem/src/i_callbacks.c:529 #: gschem/src/i_callbacks.c:553 msgid "Copy" msgstr "Copia" #: gschem/src/i_basic.c:137 gschem/src/i_callbacks.c:619 #: gschem/src/i_callbacks.c:643 msgid "Move" msgstr "Sposta" #: gschem/src/i_basic.c:139 gschem/src/i_callbacks.c:574 #: gschem/src/i_callbacks.c:598 msgid "Multiple Copy" msgstr "Copia Multipla" #: gschem/src/i_basic.c:142 gschem/lib/system-gschemrc.scm:1403 msgid "Multiple Copy Mode" msgstr "Modalità di copiatura multipla" #: gschem/src/i_basic.c:168 msgid "Show Hidden" msgstr "Mostra Nascosto" #: gschem/src/i_basic.c:171 msgid "Snap Off" msgstr "Snap Off" #: gschem/src/i_basic.c:173 msgid "Resnap Active" msgstr "Resnap Attivo" #: gschem/src/i_basic.c:254 gschem/src/x_window.c:498 msgid "Action" msgstr "Azione" #: gschem/src/i_basic.c:260 gschem/src/x_dialog.c:2325 #: gschem/src/x_window.c:493 msgid "Stroke" msgstr "Tratto" #: gschem/src/i_basic.c:266 gschem/src/x_window.c:495 msgid "none" msgstr "nessuno" #: gschem/src/i_basic.c:271 msgid "Repeat/" msgstr "Ripeti/" #: gschem/src/i_basic.c:566 gschem/src/i_basic.c:580 msgid "OFF" msgstr "OFF" #: gschem/src/i_basic.c:584 msgid "NONE" msgstr "NESSUNO" #: gschem/src/i_basic.c:589 #, c-format msgid "Grid(%s, %s)" msgstr "Griglia(%s, %s)" #: gschem/src/i_callbacks.c:76 gschem/src/i_callbacks.c:1659 #, c-format msgid "New page created [%s]\n" msgstr "Nuova Pagina Creata [%s]\n" #: gschem/src/i_callbacks.c:124 #, c-format msgid "New Window created [%s]\n" msgstr "Creata Nuova Finestra [%s]\n" #: gschem/src/i_callbacks.c:242 msgid "Failed to Save All" msgstr "Salvataggio Fallito" #: gschem/src/i_callbacks.c:244 msgid "Saved All" msgstr "Salvato Tutto" #: gschem/src/i_callbacks.c:334 msgid "Closing Window\n" msgstr "Chiusura Finestra\n" #: gschem/src/i_callbacks.c:534 gschem/src/i_callbacks.c:579 #: gschem/src/i_callbacks.c:624 msgid "Select objs first" msgstr "Seleziona prima un oggetto" #: gschem/src/i_callbacks.c:663 gschem/src/x_multiattrib.c:1549 msgid "Delete" msgstr "Cancella" #: gschem/src/i_callbacks.c:688 msgid "Edit" msgstr "Modifica" #: gschem/src/i_callbacks.c:703 msgid "Edit pin type" msgstr "Modifica tipo di pin" #: gschem/src/i_callbacks.c:722 msgid "Edit Text" msgstr "Modifica Testo" #: gschem/src/i_callbacks.c:745 msgid "Slot" msgstr "Slot" #: gschem/src/i_callbacks.c:762 msgid "Color" msgstr "Colore" #: gschem/src/i_callbacks.c:799 gschem/src/i_callbacks.c:844 msgid "Rotate" msgstr "Ruota" #: gschem/src/i_callbacks.c:866 gschem/src/i_callbacks.c:891 msgid "Mirror" msgstr "Specchio" #: gschem/src/i_callbacks.c:912 gschem/src/x_dialog.c:2328 #: gschem/lib/system-gschemrc.scm:1415 msgid "Lock" msgstr "Blocca" #: gschem/src/i_callbacks.c:930 gschem/lib/system-gschemrc.scm:1416 msgid "Unlock" msgstr "Sblocca" #: gschem/src/i_callbacks.c:948 gschem/src/x_dialog.c:1746 msgid "Translate" msgstr "Converti" #: gschem/src/i_callbacks.c:951 msgid "WARNING: Do not translate with snap off!\n" msgstr "ATTENZIONE: Non effettuare la conversione in modalità snap off!\n" #: gschem/src/i_callbacks.c:952 msgid "WARNING: Turning snap on and continuing with translate.\n" msgstr "" "ATTENZIONE: Sei in modalità snap off; passa prima in modalità snap on e poi " "continua con la conversione.\n" #: gschem/src/i_callbacks.c:959 msgid "WARNING: Snap grid size is not equal to 100!\n" msgstr "ATTENZIONE: L'ampiezza snap gride non è uguale a 100!\n" #: gschem/src/i_callbacks.c:961 msgid "" "WARNING: If you are translating a symbol to the origin, the snap grid size " "should be set to 100\n" msgstr "" "ATTENZIONE: se stai convertendo un simbolo dalla sua origine, è opportuno " "che l'ampiezza snap gride venga impostata a 100\n" #: gschem/src/i_callbacks.c:992 msgid "Embed" msgstr "Incorpora" #: gschem/src/i_callbacks.c:1031 msgid "Unembed" msgstr "Scorpora" #: gschem/src/i_callbacks.c:1073 msgid "Update" msgstr "Aggiorna" #: gschem/src/i_callbacks.c:1120 msgid "ShowHidden" msgstr "Mostra Nascosto" #: gschem/src/i_callbacks.c:1426 gschem/src/i_callbacks.c:1498 msgid "Pan" msgstr "Pan" #: gschem/src/i_callbacks.c:1703 msgid "Really revert page?" msgstr "Vuoi veramente ritornare alla pagina precedente?" #: gschem/src/i_callbacks.c:1773 msgid "Copy to clipboard" msgstr "Copia negli appunti" #: gschem/src/i_callbacks.c:1791 msgid "Cut to clipboard" msgstr "Taglia negli appunti" #: gschem/src/i_callbacks.c:1809 msgid "Paste from clipboard" msgstr "Incolla dagli appunti" #: gschem/src/i_callbacks.c:1821 gschem/src/i_callbacks.c:2060 #: gschem/src/i_callbacks.c:2082 gschem/src/i_callbacks.c:2104 #: gschem/src/i_callbacks.c:2126 gschem/src/i_callbacks.c:2148 msgid "Empty buffer" msgstr "Buffer vuoto" #: gschem/src/i_callbacks.c:1866 msgid "Copy 1" msgstr "Copia 1" #: gschem/src/i_callbacks.c:1885 msgid "Copy 2" msgstr "Copia 2" #: gschem/src/i_callbacks.c:1904 msgid "Copy 3" msgstr "Copia 3" #: gschem/src/i_callbacks.c:1923 msgid "Copy 4" msgstr "Copia 4" #: gschem/src/i_callbacks.c:1942 msgid "Copy 5" msgstr "Copia 5" #: gschem/src/i_callbacks.c:1961 msgid "Cut 1" msgstr "Taglia 1" #: gschem/src/i_callbacks.c:1980 msgid "Cut 2" msgstr "Taglia 2" #: gschem/src/i_callbacks.c:1999 msgid "Cut 3" msgstr "Taglia 3" #: gschem/src/i_callbacks.c:2018 msgid "Cut 4" msgstr "Taglia 4" #: gschem/src/i_callbacks.c:2037 msgid "Cut 5" msgstr "Taglia 5" #: gschem/src/i_callbacks.c:2053 msgid "Paste 1" msgstr "Incolla 1" #: gschem/src/i_callbacks.c:2075 msgid "Paste 2" msgstr "Incolla 2" #: gschem/src/i_callbacks.c:2097 msgid "Paste 3" msgstr "Incolla 3" #: gschem/src/i_callbacks.c:2119 msgid "Paste 4" msgstr "Incolla 4" #: gschem/src/i_callbacks.c:2141 msgid "Paste 5" msgstr "Incolla 5" #: gschem/src/i_callbacks.c:2278 gschem/src/x_window.c:359 msgid "Component" msgstr "Componente" #: gschem/src/i_callbacks.c:2314 gschem/src/i_callbacks.c:2333 #: gschem/src/x_dialog.c:2298 msgid "Attribute" msgstr "Attributo" #: gschem/src/i_callbacks.c:2355 gschem/src/i_callbacks.c:2382 #: gschem/src/x_dialog.c:2295 msgid "Net" msgstr "Collegamento" #: gschem/src/i_callbacks.c:2426 gschem/src/i_callbacks.c:2453 #: gschem/src/x_dialog.c:2313 gschem/src/x_window.c:379 msgid "Bus" msgstr "Bus" #: gschem/src/i_callbacks.c:2534 gschem/src/i_callbacks.c:2557 msgid "Line" msgstr "Linea" #: gschem/src/i_callbacks.c:2579 gschem/src/i_callbacks.c:2602 msgid "Box" msgstr "Rettangolo" #: gschem/src/i_callbacks.c:2658 gschem/src/i_callbacks.c:2682 msgid "Circle" msgstr "Cerchio" #: gschem/src/i_callbacks.c:2704 gschem/src/i_callbacks.c:2727 msgid "Arc" msgstr "Arco" #: gschem/src/i_callbacks.c:2749 gschem/src/i_callbacks.c:2772 #: gschem/src/x_dialog.c:2286 msgid "Pin" msgstr "Pin" #: gschem/src/i_callbacks.c:2831 #, c-format msgid "Searching for source [%s]\n" msgstr "Ricerca del sorgente [%s]\n" #: gschem/src/i_callbacks.c:2855 #, c-format msgid "Cannot find source [%s]\n" msgstr "Impossibile trovare il sorgente [%s]\n" #: gschem/src/i_callbacks.c:2918 #, c-format msgid "Searching for symbol [%s]\n" msgstr "Ricerca del simbolo [%s]\n" #: gschem/src/i_callbacks.c:2924 msgid "Symbol is not a real file. Symbol cannot be loaded.\n" msgstr "Il simolo non è un file reale, impossibile caricarlo.\n" #: gschem/src/i_callbacks.c:2955 msgid "Cannot find any schematics above the current one!\n" msgstr "Impossibile trovare uno schema a livello più alto di questo!\n" #: gschem/src/i_callbacks.c:2985 msgid "Attach" msgstr "Collega" #: gschem/src/i_callbacks.c:3041 msgid "Detach" msgstr "Scollega" #: gschem/src/i_callbacks.c:3085 msgid "ShowN" msgstr "MostraN" #: gschem/src/i_callbacks.c:3122 msgid "ShowV" msgstr "MostraV" #: gschem/src/i_callbacks.c:3159 msgid "ShowB" msgstr "MostraB" #: gschem/src/i_callbacks.c:3197 msgid "VisToggle" msgstr "Visibilità Strumenti" #: gschem/src/i_callbacks.c:3228 #, c-format msgid "Sorry but this is a non-functioning menu option\n" msgstr "Spiacente, ma questa non è una funzione del menù opzioni\n" #: gschem/src/i_callbacks.c:3318 msgid "Action feedback mode set to OUTLINE\n" msgstr "Controllo azioni in modalità CONTORNO\n" #: gschem/src/i_callbacks.c:3321 msgid "Action feedback mode set to BOUNDINGBOX\n" msgstr "Controllo azioni in modalità PERIMETRO\n" #: gschem/src/i_callbacks.c:3346 msgid "Grid OFF\n" msgstr "Griglia NON ATTIVA\n" #: gschem/src/i_callbacks.c:3347 msgid "Dot grid selected\n" msgstr "Selezionata griglia a punti\n" #: gschem/src/i_callbacks.c:3348 msgid "Mesh grid selected\n" msgstr "Selezionata griglia a maglie\n" #: gschem/src/i_callbacks.c:3369 msgid "Snap OFF (CAUTION!)\n" msgstr "Snap OFF (ATTENZIONE!)\n" #: gschem/src/i_callbacks.c:3372 msgid "Snap ON\n" msgstr "Snap ON\n" #: gschem/src/i_callbacks.c:3375 msgid "Snap back to the grid (CAUTION!)\n" msgstr "Snap alla griglia (ATTENZIONE)!\n" #: gschem/src/i_callbacks.c:3401 msgid "Rubber band OFF \n" msgstr "Rubber band OFF \n" #: gschem/src/i_callbacks.c:3404 msgid "Rubber band ON\n" msgstr "Rubber band ON\n" #: gschem/src/i_callbacks.c:3419 msgid "magnetic net mode: ON\n" msgstr "modalià net magnetiche: ON\n" #: gschem/src/i_callbacks.c:3422 msgid "magnetic net mode: OFF\n" msgstr "modalià net magnetiche: OFF\n" #: gschem/src/o_box.c:292 #, c-format msgid "Unknown type for box (fill)!\n" msgstr "Sconosciuto tipo per il riquadro (riempimento)!\n" #: gschem/src/o_buffer.c:54 #, c-format msgid "o_buffer_copy: Invalid buffer %i\n" msgstr "o_buffer_copy: buffer non valido %i\n" #: gschem/src/o_buffer.c:69 #, c-format msgid "o_buffer_cut: Invalid buffer %i\n" msgstr "o_buffer_cut: buffer non valido %i\n" #: gschem/src/o_buffer.c:90 #, c-format msgid "Got an invalid buffer_number [o_buffer_paste_start]\n" msgstr "Ottenuto un non valido buffer_number [o_buffer_paste_start]\n" #: gschem/src/o_bus.c:117 #, c-format msgid "Got an invalid which one in o_bus_draw_stretch\n" msgstr "Ottenuto un non valido which one in o_bus_draw_stretch\n" #: gschem/src/o_circle.c:284 #, c-format msgid "Unknown type for circle (fill)!\n" msgstr "Tipo sconosciuto per il cerchio (riempimento)!\n" #: gschem/src/o_complex.c:223 gschem/src/o_complex.c:227 #, c-format msgid "Translating schematic [%d %d]\n" msgstr "Spostamento schema [%d %d]\n" #: gschem/src/o_misc.c:61 #, c-format msgid "Got an unexpected NULL in o_edit\n" msgstr "Ottenuto un NULLO inaspettato in o_edit\n" #: gschem/src/o_misc.c:125 msgid "Object already locked\n" msgstr "Oggetto già bloccato\n" #: gschem/src/o_misc.c:163 msgid "Object already unlocked\n" msgstr "Oggetto già sbloccato\n" #: gschem/src/o_misc.c:339 msgid "Hidden text is now visible\n" msgstr "Il testo nascosto è ora visibile\n" #: gschem/src/o_misc.c:341 msgid "Hidden text is now invisible\n" msgstr "Il testo ora è non visibile\n" #: gschem/src/o_misc.c:568 #, c-format msgid "Could not find symbol [%s] in library. Update failed.\n" msgstr "" "Non è possibile trovare il simbolo [%s] nella libreria. Aggiornamento " "fallito.\n" #: gschem/src/o_misc.c:683 #, c-format msgid "o_autosave_backups: Can't get the real filename of %s." msgstr "o_autosave_backups: Non è possibile ottenere il vero nome del file %s." #: gschem/src/o_misc.c:727 #, c-format msgid "Could NOT set previous backup file [%s] read-write\n" msgstr "" "NOn è possibile impostare il precedente file di ripristino [%s] in lettura-" "scrittura\n" #: gschem/src/o_misc.c:747 #, c-format msgid "Could NOT set backup file [%s] readonly\n" msgstr "" "Non è possibile impostare il precedente file di ripristino [%s] in sola " "lettura\n" #: gschem/src/o_misc.c:752 #, c-format msgid "Could NOT save backup file [%s]\n" msgstr "Non è possibile salvare il file di ripristino [%s]\n" #: gschem/src/o_move.c:174 #, c-format msgid "ERROR: NULL object in o_move_end!\n" msgstr "ERRORE: oggetto NULLO in o_move_end!\n" #: gschem/src/o_move.c:431 #, c-format msgid "DOH! tried to find the whichone, but didn't find it!\n" msgstr "ACC! Ho cercato whichone ma non l'ho trovato!\n" #: gschem/src/o_move.c:453 #, c-format msgid "Got a non line object in o_move_check_endpoint\n" msgstr "Ottenuto un oggetto non in linea in o_move_check_endpoint\n" #: gschem/src/o_net.c:158 #, c-format msgid "Got an invalid which one in o_net_draw_stretch\n" msgstr "Ottenuto un non valido which one in o_net_draw_stretch\n" #: gschem/src/o_net.c:537 msgid "Warning: Starting net at off grid coordinate\n" msgstr "Attenzione: una net inizia in un punto fuori griglia\n" #: gschem/src/o_net.c:602 msgid "Warning: Ending net at off grid coordinate\n" msgstr "Attenzione: una net finisce in un punto fuori griglia\n" #: gschem/src/o_net.c:944 gschem/src/o_net.c:981 gschem/src/o_net.c:1052 #: gschem/src/o_net.c:1088 #, c-format msgid "Tried to add more than two bus rippers. Internal gschem error.\n" msgstr "" "Tentato di aggiungere più di due bus ripper. Errore interno di gschem.\n" #: gschem/src/o_net.c:1156 #, c-format msgid "Bus ripper symbol [%s] was not found in any component library\n" msgstr "Simbolo bus ripper [%s] non trovato in alcuna libreria\n" #: gschem/src/o_path.c:340 #, c-format msgid "Unknown type for path (fill)!\n" msgstr "Tipo sconosciuto di percorso (fill)!\n" #: gschem/src/o_picture.c:166 #, c-format msgid "Failed to load picture: %s" msgstr "Fallito il caricamento dell'immagine: [%s]" #: gschem/src/o_picture.c:180 msgid "Picture" msgstr "Immagine" #: gschem/src/o_picture.c:544 #, c-format msgid "Failed to replace pictures: %s" msgstr "" #: gschem/src/o_slot.c:81 msgid "Slot attribute malformed\n" msgstr "Attributo dello slot malposto\n" #: gschem/src/o_slot.c:89 msgid "numslots attribute missing\n" msgstr "attributo del numero dello slot mancante\n" #: gschem/src/o_slot.c:90 msgid "Slotting not allowed for this component\n" msgstr "Slot non ammesso per questo componente\n" #: gschem/src/o_slot.c:105 msgid "New slot number out of range\n" msgstr "Numero del nuovo slot fuori dal limite\n" #: gschem/src/o_undo.c:307 msgid "Undo/Redo disabled in rc file\n" msgstr "Cancella/Ripristina disabilitato nel file rc\n" #: gschem/src/parsecmd.c:82 #, c-format msgid "" "Usage: %s [OPTION ...] [--] [FILE ...]\n" "\n" "Interactively edit gEDA schematics or symbols. If one or more FILEs\n" "are specified, open them for editing; otherwise, create a new, empty\n" "schematic.\n" "\n" "Options:\n" " -q, --quiet Quiet mode.\n" " -v, --verbose Verbose mode.\n" " -r, --config-file=FILE Additional configuration file to load.\n" " -L DIR Add DIR to Scheme search path.\n" " -c EXPR Scheme expression to run at startup.\n" " -s FILE Scheme script to run at startup.\n" " -o, --output=FILE Output filename (for printing).\n" " -p Automatically place the window.\n" " -V, --version Show version information.\n" " -h, --help Help; this message.\n" " -- Treat all remaining arguments as filenames.\n" "\n" "Report bugs at \n" "gEDA/gaf homepage: \n" msgstr "" #: gschem/src/parsecmd.c:116 #, c-format msgid "" "gEDA %s (g%.7s)\n" "Copyright (C) 1998-2012 gEDA developers\n" "This is free software, and you are welcome to redistribute it under\n" "certain conditions. For details, see the file `COPYING', which is\n" "included in the gEDA distribution.\n" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" #: gschem/src/x_attribedit.c:127 #, c-format msgid "Got invalid show option; defaulting to show both\n" msgstr "Ottenuta opzione mostra non valida; ritorno a mostra entrambi\n" #: gschem/src/x_attribedit.c:141 #, c-format msgid "ERROR: NULL object!\n" msgstr "ERRORE: oggetto NULLO!\n" #: gschem/src/x_attribedit.c:329 msgid "Single Attribute Editor" msgstr "Editor Singola Caratteristica" #: gschem/src/x_attribedit.c:359 msgid "Edit Attribute" msgstr "Modifica Caratteristiche" #: gschem/src/x_attribedit.c:361 msgid "Add Attribute" msgstr "Aggiungi Caratteristiche" #: gschem/src/x_attribedit.c:377 gschem/src/x_multiattrib.c:1973 msgid "Name:" msgstr "Nome:" #: gschem/src/x_attribedit.c:394 gschem/src/x_multiattrib.c:1992 msgid "Value:" msgstr "Valore:" #: gschem/src/x_attribedit.c:410 gschem/src/x_multiattrib.c:2038 msgid "Visible" msgstr "Visibile" #: gschem/src/x_attribedit.c:430 msgid "Show Value Only" msgstr "Mostra Solo il Valore" #: gschem/src/x_attribedit.c:432 msgid "Show Name Only" msgstr "Mostra Solo il Nome" #: gschem/src/x_attribedit.c:434 gschem/src/x_multiattrib.c:1512 msgid "Show Name & Value" msgstr "Mostra Nome & Valore" #: gschem/src/x_attribedit.c:441 msgid "Attach Options" msgstr "Aggiungi Opzioni" #: gschem/src/x_attribedit.c:456 msgid "All" msgstr "Tutto" #: gschem/src/x_attribedit.c:464 gschem/src/x_compselect.c:922 #: gschem/src/x_compselect.c:1036 msgid "Components" msgstr "Componenti" #: gschem/src/x_attribedit.c:472 gschem/src/x_window.c:369 msgid "Nets" msgstr "Collegamenti" #: gschem/src/x_attribedit.c:480 msgid "Replace existing attributes" msgstr "Ridefinisci le caratteristiche esistenti" #: gschem/src/x_autonumber.c:415 msgid "" "slotted object without slot attribute may cause problems when autonumbering " "slots\n" msgstr "" "un oggetto con slot ma senza attributo di slot potrebbe causare problemi con " "l'autonumerazione\n" #: gschem/src/x_autonumber.c:430 #, c-format msgid "" "duplicate slot may cause problems: [symbolname=%s, number=%d, slot=%d]\n" msgstr "" "uno slot duplicato potrebbe causare problemi: [nome simbolo=%s, numero=%d, " "slot=%d]\n" #: gschem/src/x_autonumber.c:672 msgid "No searchstring given in autonumber text.\n" msgstr "Nessuna stringa di ricerca nel testo di autonumerazione.\n" #: gschem/src/x_autonumber.c:724 msgid "No '*' or '?' given at the end of the autonumber text.\n" msgstr "Nessun '*' o '?' alla fine del testo di autonumerazione.\n" #: gschem/src/x_autonumber.c:859 msgid "Diagonal" msgstr "Diagonale" #: gschem/src/x_autonumber.c:860 msgid "Top to bottom" msgstr "Dall'alto verso il basso" #: gschem/src/x_autonumber.c:860 msgid "Bottom to top" msgstr "Dal basso verso l'alto" #: gschem/src/x_autonumber.c:861 msgid "Left to right" msgstr "Da sinistra a destra" #: gschem/src/x_autonumber.c:861 msgid "Right to left" msgstr "Da destra a sinistra" #: gschem/src/x_autonumber.c:862 msgid "File order" msgstr "Sequenza dei file" #: gschem/src/x_autonumber.c:1198 msgid "Autonumber text" msgstr "Testo di autonumerazione" #: gschem/src/x_autonumber.c:1222 msgid "Scope" msgstr "Visibilità" #: gschem/src/x_autonumber.c:1244 msgid "Search for:" msgstr "Ricerca di:" #: gschem/src/x_autonumber.c:1258 msgid "Autonumber text in:" msgstr "Testo di autonumerazione in:" #: gschem/src/x_autonumber.c:1265 msgid "Skip numbers found in:" msgstr "Trovati numeri mancanti in:" #: gschem/src/x_autonumber.c:1277 gschem/src/x_autonumber.c:1286 msgid "Selected objects" msgstr "Oggetti selezionati" #: gschem/src/x_autonumber.c:1278 gschem/src/x_autonumber.c:1287 msgid "Current page" msgstr "Pagina corrente" #: gschem/src/x_autonumber.c:1279 gschem/src/x_autonumber.c:1288 msgid "Whole hierarchy" msgstr "Intera gerarchia" #: gschem/src/x_autonumber.c:1290 msgid "Overwrite existing numbers" msgstr "Sovrascrivi i numeri esistenti" #: gschem/src/x_autonumber.c:1295 msgid "Options" msgstr "Opzioni" #: gschem/src/x_autonumber.c:1317 msgid "Starting number:" msgstr "Numero iniziale:" #: gschem/src/x_autonumber.c:1324 msgid "Sort order:" msgstr "Ordinamento:" #: gschem/src/x_autonumber.c:1345 msgid "Remove numbers" msgstr "Rimuovi numeri" #: gschem/src/x_autonumber.c:1349 msgid "Automatic slotting" msgstr "Slot automatico" #: gschem/src/x_clipboard.c:249 #, c-format msgid "" "Invalid schematic on clipboard.\n" "\n" "An error occurred while inserting clipboard data: %s." msgstr "" #: gschem/src/x_clipboard.c:251 msgid "Clipboard insertion failed" msgstr "" #: gschem/src/x_color.c:94 gschem/src/x_color.c:103 #, c-format msgid "Could not allocate the color %s!\n" msgstr "Non è possibile inserire il colore %s!\n" #: gschem/src/x_color.c:94 msgid "black" msgstr "nero" #: gschem/src/x_color.c:103 msgid "white" msgstr "bianco" #: gschem/src/x_color.c:125 #, c-format msgid "Could not allocate display color %i!\n" msgstr "Impossibile allocare il colore display %i!\n" #: gschem/src/x_color.c:147 #, c-format msgid "Could not allocate outline color %i!\n" msgstr "Impossibile allocare il colore outline %i!\n" #: gschem/src/x_color.c:164 gschem/src/x_color.c:181 gschem/src/x_color.c:197 #, c-format msgid "Tried to get an invalid color: %d\n" msgstr "Provato a ottenere un colore non valido: %d\n" #: gschem/src/x_color.c:214 #, c-format msgid "Tried to get an invalid outline color: %d\n" msgstr "Provato a ottenere un colore outline non valido: %d\n" #: gschem/src/x_compselect.c:1066 msgid "Filter:" msgstr "Filtro:" #: gschem/src/x_compselect.c:1169 gschem/src/x_dialog.c:3653 #: gschem/src/x_multiattrib.c:1839 msgid "Name" msgstr "Nome" #: gschem/src/x_compselect.c:1178 gschem/src/x_multiattrib.c:1863 msgid "Value" msgstr "Valore" #: gschem/src/x_compselect.c:1217 msgid "Default behavior - reference component" msgstr "Comportamento predefinito - Consultazione componente" #: gschem/src/x_compselect.c:1220 msgid "Embed component in schematic" msgstr "Incorpora il componente nello schema" #: gschem/src/x_compselect.c:1223 msgid "Include component as individual objects" msgstr "Includi componente come oggetto individuale" #: gschem/src/x_compselect.c:1380 msgid "Select Component..." msgstr "Seleziona Componente..." #: gschem/src/x_compselect.c:1403 msgid "In Use" msgstr "In uso" #: gschem/src/x_compselect.c:1407 msgid "Libraries" msgstr "Librerie" #: gschem/src/x_compselect.c:1416 gschem/src/x_fileselect.c:122 msgid "Preview" msgstr "Anteprima" #: gschem/src/x_compselect.c:1444 msgid "Attributes" msgstr "Attributi" #: gschem/src/x_dialog.c:176 msgid "Text Entry..." msgstr "Inserisci Testo..." #: gschem/src/x_dialog.c:207 msgid "" "Enter text, click apply,\n" "move cursor into window, click to place text.\n" "Middle button to rotate while placing." msgstr "" "Inserisci il testo e clicca su Applica.\n" "Sposta il cursore del mouse nella finestra principale\n" "e clicca con il tasto sinistro per rilasciare il testo.\n" "Il pulsante centrale del mouse ruota il testo." #: gschem/src/x_dialog.c:301 msgid "Upper Left" msgstr "In alto a sinistra" #: gschem/src/x_dialog.c:304 msgid "Upper Middle" msgstr "Regione centrale in alto" #: gschem/src/x_dialog.c:307 msgid "Upper Right" msgstr "In alto a destra" #: gschem/src/x_dialog.c:311 msgid "Middle Left" msgstr "Regione centrale a sinistra" #: gschem/src/x_dialog.c:314 msgid "Middle Middle" msgstr "Centro della regione centrale" #: gschem/src/x_dialog.c:317 msgid "Middle Right" msgstr "Zona centrale a destra" #: gschem/src/x_dialog.c:321 msgid "Lower Left" msgstr "In basso a sinistra" #: gschem/src/x_dialog.c:324 msgid "Lower Middle" msgstr "Regione centrale in basso" #: gschem/src/x_dialog.c:327 msgid "Lower Right" msgstr "In basso a destra" #: gschem/src/x_dialog.c:438 msgid "Edit Text Properties" msgstr "Modifica proprietà del testo" #: gschem/src/x_dialog.c:473 msgid "Text Content" msgstr "Contenuto Testo" #: gschem/src/x_dialog.c:509 msgid "Text Properties" msgstr "Proprietà del testo" #: gschem/src/x_dialog.c:524 msgid "Color:" msgstr "Colore:" #: gschem/src/x_dialog.c:531 msgid "Size:" msgstr "Ampiezza:" #: gschem/src/x_dialog.c:540 msgid "Alignment:" msgstr "Allineamento:" #: gschem/src/x_dialog.c:589 msgid "Solid" msgstr "Continua" #: gschem/src/x_dialog.c:590 msgid "Dotted" msgstr "Punteggiata" #: gschem/src/x_dialog.c:591 msgid "Dashed" msgstr "Tratteggiata" #: gschem/src/x_dialog.c:592 msgid "Center" msgstr "Centro" #: gschem/src/x_dialog.c:593 msgid "Phantom" msgstr "Fantasma" #: gschem/src/x_dialog.c:594 gschem/src/x_dialog.c:691 #: gschem/src/x_dialog.c:700 gschem/src/x_dialog.c:709 #: gschem/src/x_dialog.c:810 gschem/src/x_dialog.c:813 #: gschem/src/x_dialog.c:816 gschem/src/x_dialog.c:1043 #: gschem/src/x_dialog.c:1146 gschem/src/x_dialog.c:1155 #: gschem/src/x_dialog.c:1164 gschem/src/x_dialog.c:1173 #: gschem/src/x_dialog.c:1182 gschem/src/x_dialog.c:1295 #: gschem/src/x_dialog.c:1298 gschem/src/x_dialog.c:1301 #: gschem/src/x_dialog.c:1304 gschem/src/x_dialog.c:1307 msgid "*unchanged*" msgstr "*non cambiato*" #: gschem/src/x_dialog.c:921 msgid "Edit Line Width & Type" msgstr "Modifica Larghezza & Tipo di Linea" #: gschem/src/x_dialog.c:960 gschem/src/x_print.c:307 msgid "Type:" msgstr "Tipo:" #: gschem/src/x_dialog.c:964 msgid "Width:" msgstr "Larghezza:" #: gschem/src/x_dialog.c:968 msgid "Dash Length:" msgstr "Lunghezza linea tratteggiata:" #: gschem/src/x_dialog.c:972 msgid "Dash Space:" msgstr "Spazio linea tratteggiata:" #: gschem/src/x_dialog.c:1039 msgid "Hollow" msgstr "Vuoto" #: gschem/src/x_dialog.c:1040 msgid "Filled" msgstr "Riempito" #: gschem/src/x_dialog.c:1041 msgid "Mesh" msgstr "Rete" #: gschem/src/x_dialog.c:1042 msgid "Hatch" msgstr "Tratteggio" #: gschem/src/x_dialog.c:1416 msgid "Edit Fill Type" msgstr "Modifica il Tipo di Riempimento" #: gschem/src/x_dialog.c:1455 msgid "Fill Type:" msgstr "Tipo di riempimento:" #: gschem/src/x_dialog.c:1459 msgid "Line Width:" msgstr "Larghezza linea:" #: gschem/src/x_dialog.c:1463 msgid "Angle 1:" msgstr "Angolo 1:" #: gschem/src/x_dialog.c:1467 msgid "Pitch 1:" msgstr "Livello 1:" #: gschem/src/x_dialog.c:1471 msgid "Angle 2:" msgstr "Angolo 2:" #: gschem/src/x_dialog.c:1475 msgid "Pitch 2:" msgstr "Livello 2:" #: gschem/src/x_dialog.c:1602 msgid "Arc Params" msgstr "Parametri Arco" #: gschem/src/x_dialog.c:1643 msgid "Arc Radius:" msgstr "Raggio Arco:" #: gschem/src/x_dialog.c:1651 msgid "Start Angle:" msgstr "Angolo di Attacco:" #: gschem/src/x_dialog.c:1659 msgid "Degrees of Sweep:" msgstr "Gradi di sviluppo dell'arco:" #: gschem/src/x_dialog.c:1777 msgid "" "Offset to translate?\n" "(0 for origin)" msgstr "" "Spostamento per conversione?\n" "(0 per l'origine)" #: gschem/src/x_dialog.c:1845 msgid "Text Size" msgstr "Dimensione Testo" #: gschem/src/x_dialog.c:1875 msgid "Enter new text size:" msgstr "Inserisci nuova ampiezza del testo:" #: gschem/src/x_dialog.c:1951 msgid "Snap Size" msgstr "Dimensione Snap" #: gschem/src/x_dialog.c:1981 msgid "Enter new snap grid spacing:" msgstr "Inserisci la nuova spaziatura griglia snap:" #: gschem/src/x_dialog.c:2058 msgid "Edit slot number" msgstr "Modifica numero slot" #: gschem/src/x_dialog.c:2089 msgid "Edit slot number:" msgstr "Modifica numero slot:" #: gschem/src/x_dialog.c:2130 #, c-format msgid "%s (g%.7s)" msgstr "" #: gschem/src/x_dialog.c:2151 msgid "About gschem" msgstr "Informazioni su gschem" #: gschem/src/x_dialog.c:2152 msgid "gEDA: GPL Electronic Design Automation" msgstr "" #. TRANSLATORS: "ChangeLog" is a literal filename; please don't translate it. #: gschem/src/x_dialog.c:2155 msgid "" "Copyright © 1998-2012 Ales Hvezda \n" "Copyright © 1998-2012 gEDA Contributors (see ChangeLog for details)" msgstr "" #: gschem/src/x_dialog.c:2214 msgid "Coords" msgstr "Coordinate" #: gschem/src/x_dialog.c:2235 msgid "Screen" msgstr "Schermo" #: gschem/src/x_dialog.c:2244 msgid "World" msgstr "Mondo" #: gschem/src/x_dialog.c:2283 msgid "Background" msgstr "Sfondo" #: gschem/src/x_dialog.c:2289 msgid "Net endpoint" msgstr "Fine net" #: gschem/src/x_dialog.c:2292 msgid "Graphic" msgstr "Grafico" #: gschem/src/x_dialog.c:2301 msgid "Logic bubble" msgstr "Bolla logica" #: gschem/src/x_dialog.c:2304 msgid "Grid point" msgstr "Punto della griglia" #: gschem/src/x_dialog.c:2307 msgid "Detached attribute" msgstr "Attributo staccato" #: gschem/src/x_dialog.c:2310 gschem/src/x_window.c:387 msgid "Text" msgstr "Testo" #: gschem/src/x_dialog.c:2316 msgid "Selection" msgstr "Selezione" #: gschem/src/x_dialog.c:2319 msgid "Bounding box" msgstr "Riquadro di selezione" #: gschem/src/x_dialog.c:2322 msgid "Zoom box" msgstr "Riquadro di Zoom" #: gschem/src/x_dialog.c:2331 msgid "Output background" msgstr "Sfondo uscita" #: gschem/src/x_dialog.c:2334 msgid "Net junction" msgstr "Giunzione di traccia" #: gschem/src/x_dialog.c:2337 msgid "Mesh grid major" msgstr "Griglia a maglie grandi" #: gschem/src/x_dialog.c:2340 msgid "Mesh grid minor" msgstr "Griglia a maglie piccole" #: gschem/src/x_dialog.c:2343 msgid "Unknown" msgstr "Sconosciuto" #: gschem/src/x_dialog.c:2494 #, c-format msgid "ERROR: NULL object in color_edit_dialog_apply!\n" msgstr "ERRORE: oggetto NULLO in color_edit_dialog_apply!\n" #: gschem/src/x_dialog.c:2538 msgid "Color Edit" msgstr "Modifica Colore" #: gschem/src/x_dialog.c:2569 msgid "Object color:" msgstr "Colore dell'oggetto:" #: gschem/src/x_dialog.c:2622 msgid "Hotkeys" msgstr "Tasti scelta rapida" #: gschem/src/x_dialog.c:2662 msgid "Function" msgstr "Funzione" #: gschem/src/x_dialog.c:2669 msgid "Keystroke(s)" msgstr "Tasto(i)" #: gschem/src/x_dialog.c:2977 msgid "Find Text" msgstr "Trova testo" #: gschem/src/x_dialog.c:3008 msgid "Text to find:" msgstr "Testo da trovare:" #: gschem/src/x_dialog.c:3018 msgid "descend into hierarchy" msgstr "discende nella gerarchia" #: gschem/src/x_dialog.c:3084 msgid "Hide Text" msgstr "Nascondi testo" #: gschem/src/x_dialog.c:3115 msgid "Hide text starting with:" msgstr "Nascondi il testo iniziando con:" #: gschem/src/x_dialog.c:3185 msgid "Show Text" msgstr "Mostra testo" #: gschem/src/x_dialog.c:3216 msgid "Show text starting with:" msgstr "Mostra il testo iniziando con:" #: gschem/src/x_dialog.c:3675 msgid "S_elect the schematics you want to save:" msgstr "S_eleziona lo schema che vuoi salvare:" #: gschem/src/x_dialog.c:3770 #, c-format msgid "Save the changes to schematic \"%s\" before closing?" msgstr "Salvare i cambi allo schema \"%s\" prima di chiudere?" #: gschem/src/x_dialog.c:3776 #, c-format msgid "" "There are %d schematics with unsaved changes. Save changes before closing?" msgstr "" "Ci sono %d schemi che presentano cambi non salvati. Salvare i cambi prima di " "chiudere?" #: gschem/src/x_dialog.c:3805 msgid "If you don't save, all your changes will be permanently lost." msgstr "Se non salvi, tutte le modifiche saranno perse definitivamente." #: gschem/src/x_dialog.c:3825 msgid "_Close without saving" msgstr "_Chiudi senza salvare" #: gschem/src/x_dialog.c:4161 #, c-format msgid "" "The input attribute \"%s\" is invalid\n" "Please correct in order to continue\n" "\n" "The name and value must be non-empty.\n" "The name cannot end with a space.\n" "The value cannot start with a space." msgstr "" "Il valore di ingresso \"%s\" non è " "valido\n" "Inserire un valore corretto per continuare\n" "\n" "Il nome e il valore devono essere campi non vuoti.\n" "Il nome non deve terminare con uno spazio.\n" "Il valore non deve iniziare con uno spazio." #: gschem/src/x_dialog.c:4163 msgid "Invalid Attribute" msgstr "Attributo non valido" #: gschem/src/x_dialog.c:4199 msgid "Pin type" msgstr "Tipo di pin" #: gschem/src/x_dialog.c:4223 msgid "Net pin" msgstr "Net pin" #: gschem/src/x_dialog.c:4225 msgid "Bus pin (graphical)" msgstr "Bus pin (grafico)" #: gschem/src/x_fileselect.c:42 msgid "Schematics" msgstr "Schemi" #: gschem/src/x_fileselect.c:47 msgid "Symbols" msgstr "Simboli" #: gschem/src/x_fileselect.c:52 msgid "Schematics and symbols" msgstr "Schemi e simboli" #: gschem/src/x_fileselect.c:58 msgid "All files" msgstr "Tutti i File" #: gschem/src/x_fileselect.c:171 msgid "Open..." msgstr "Apri..." #: gschem/src/x_fileselect.c:231 msgid "Save as..." msgstr "Salva con nome..." #: gschem/src/x_fileselect.c:284 #, c-format msgid "" "The selected file `%s' already exists.\n" "\n" "Would you like to overwrite it?" msgstr "" "Il file '%s' selezionato esiste già.\n" "Sostituire il file esistente ?" #: gschem/src/x_fileselect.c:287 msgid "Overwrite file?" msgstr "Sovrascrivere il file?" #: gschem/src/x_fileselect.c:289 msgid "Save cancelled on user request\n" msgstr "Salvataggio cancellato.\n" #: gschem/src/x_image.c:176 msgid "Encapsulated Postscript" msgstr "formato eps (Encapsulated Postscript)" #: gschem/src/x_image.c:296 #, c-format msgid "x_image_lowlevel: Unable to write eps file %s.\n" msgstr "x_image_lowlevel: non è possibile scrivere il file eps %s.\n" #: gschem/src/x_image.c:374 #, c-format msgid "x_image_lowlevel: Unable to write %s file %s.\n" msgstr "x_image_lowlevel: impossibile scrivere %s file %s.\n" #: gschem/src/x_image.c:384 #, c-format msgid "" "There was the following error when saving image with type %s to filename:\n" "%s\n" "\n" "%s.\n" msgstr "" "Si è verificato il seguente errore salvando l'immagine con formato %s nel " "file:\n" "%s\n" "\n" "%s.\n" #: gschem/src/x_image.c:403 #, c-format msgid "Wrote color image to [%s] [%d x %d]\n" msgstr "Scritta immagine a colori per [%s] [%d x %d]\n" #: gschem/src/x_image.c:405 #, c-format msgid "Wrote black and white image to [%s] [%d x %d]\n" msgstr "Scritta immagine in bianco e nero per [%s] [%d x %d]\n" #: gschem/src/x_image.c:413 msgid "x_image_lowlevel: Unable to get pixbuf from gschem's window.\n" msgstr "" "x_image_lowlevel: incapace ad ottenere immagine pixbuf dalla finestra di " "gschem.\n" #: gschem/src/x_image.c:458 msgid "Width x Height" msgstr "Larghezza x Altezza" #: gschem/src/x_image.c:474 msgid "Image type" msgstr "Tipo di immagine" #: gschem/src/x_image.c:495 msgid "Write image..." msgstr "Scrivi immagine..." #: gschem/src/x_log.c:209 msgid "** Invalid UTF-8 in log message. See stderr or gschem.log.\n" msgstr "" "** UTF-8 non valido in messaggio del log. Verificare in stderr o gschem." "log.\n" #: gschem/src/x_log.c:288 msgid "Status" msgstr "Stato" #: gschem/src/x_menus.c:37 msgid "/Add Net" msgstr "/Aggiungi Net" #: gschem/src/x_menus.c:38 msgid "/Add Attribute..." msgstr "/Aggiungi Attributo..." #: gschem/src/x_menus.c:39 msgid "/Add Component..." msgstr "/Aggiungi Componente..." #: gschem/src/x_menus.c:40 msgid "/Add Bus" msgstr "/Aggiungi Bus" #: gschem/src/x_menus.c:41 msgid "/Add Text" msgstr "/Aggiungi Testo" #: gschem/src/x_menus.c:43 msgid "/Zoom In" msgstr "/Ingrandisci" #: gschem/src/x_menus.c:44 msgid "/Zoom Out" msgstr "/Riduci" #: gschem/src/x_menus.c:45 msgid "/Zoom Box" msgstr "/Ingrandisci Riquadro" #: gschem/src/x_menus.c:46 msgid "/Zoom Extents" msgstr "/Adatta alla pagina" #: gschem/src/x_menus.c:48 msgid "/Select" msgstr "/Seleziona" #: gschem/src/x_menus.c:49 msgid "/Edit..." msgstr "/Modifica..." #: gschem/src/x_menus.c:50 msgid "/Edit pin type..." msgstr "/Modifica tipo pin..." #: gschem/src/x_menus.c:51 msgid "/Copy" msgstr "/Copia" #: gschem/src/x_menus.c:52 msgid "/Move" msgstr "/Sposta" #: gschem/src/x_menus.c:53 msgid "/Delete" msgstr "/Cancella" #: gschem/src/x_menus.c:56 msgid "/Down Schematic" msgstr "/Modifica schema" #: gschem/src/x_menus.c:57 msgid "/Down Symbol" msgstr "/Modifica simbolo" #: gschem/src/x_menus.c:58 msgid "/Up" msgstr "/Torna su" #: gschem/src/x_menus.c:348 #, c-format msgid "Tried to set the sensitivity on non-existent menu item '%s'\n" msgstr "" "Si è tentato di regolare la sensitività su un oggetto di menu inesistente " "%s\n" #: gschem/src/x_menus.c:372 msgid "Popup_menu_item_factory doesn't exist!\n" msgstr "La voce Popup_menu_item_factory non esiste!\n" #: gschem/src/x_menus.c:385 msgid "Tried to set the sensitivity on a non-existent popup menu_item\n" msgstr "" "Provato a impostare la sensibilità su una finestra di popup menu_itemi\n" #: gschem/src/x_misc.c:74 msgid "The operating system is out of memory or resources." msgstr "" #: gschem/src/x_misc.c:155 #, c-format msgid "%s failed to launch URI" msgstr "" #: gschem/src/x_multiattrib.c:961 msgid "Attributes with empty name are not allowed. Please set a name." msgstr "" "Attributi con il nome vuoto non sono permessi. Per favore inserisci un nome." #: gschem/src/x_multiattrib.c:1514 msgid "Show Value only" msgstr "Mostra solo il Valore" #: gschem/src/x_multiattrib.c:1516 msgid "Show Name only" msgstr "Mostra solo il Nome" #: gschem/src/x_multiattrib.c:1544 msgid "Promote" msgstr "Promuovi" #: gschem/src/x_multiattrib.c:1548 msgid "Duplicate" msgstr "Duplicare" #: gschem/src/x_multiattrib.c:1765 msgid "Edit Attributes" msgstr "Modifica attributi" #: gschem/src/x_multiattrib.c:1883 msgid "Vis?" msgstr "Vis?" #: gschem/src/x_multiattrib.c:1901 msgid "N" msgstr "N" #: gschem/src/x_multiattrib.c:1919 msgid "V" msgstr "V" #: gschem/src/x_multiattrib.c:1941 msgid "Show inherited attributes" msgstr "Mostra gli attributi ereditati" #: gschem/src/x_multiattrib.c:1957 msgid "Add Attribute" msgstr "Aggiungi Attributo" #: gschem/src/x_pagesel.c:246 msgid "New Page" msgstr "Nuova pagina" #: gschem/src/x_pagesel.c:247 msgid "Open Page..." msgstr "Apri pagina..." #: gschem/src/x_pagesel.c:249 msgid "Save Page" msgstr "Salva la pagina" #: gschem/src/x_pagesel.c:250 msgid "Close Page" msgstr "Chiudi pagina" #: gschem/src/x_pagesel.c:251 msgid "Discard Page" msgstr "Abbandona la pagina" #: gschem/src/x_pagesel.c:369 msgid "Page Manager" msgstr "Gestore Pagina" #: gschem/src/x_pagesel.c:425 msgid "Filename" msgstr "Nome file" #: gschem/src/x_pagesel.c:441 msgid "Changed" msgstr "Cambiato" #: gschem/src/x_pagesel.c:461 msgid "Right click on the filename for more options..." msgstr "" "Clicca con il tasto destro del mouse sul nome del file per ulteriori " "opzioni..." #: gschem/src/x_preview.c:231 msgid "Preview Buffer" msgstr "Buffer di anteprima" #: gschem/src/x_print.c:84 msgid "Select PostScript Filename..." msgstr "Seleziona il nome del file Psotscript..." #: gschem/src/x_print.c:164 msgid "Extents with margins" msgstr "Completo con margini" #: gschem/src/x_print.c:170 msgid "Extents no margins" msgstr "Completo senza margini" #: gschem/src/x_print.c:176 msgid "Current Window" msgstr "Finestra Corrente" #: gschem/src/x_print.c:210 msgid "Landscape" msgstr "Orizzontale" #: gschem/src/x_print.c:216 msgid "Portrait" msgstr "Verticale" #: gschem/src/x_print.c:276 msgid "Print..." msgstr "Stampa..." #: gschem/src/x_print.c:284 msgid "Settings" msgstr "Impostazioni" #: gschem/src/x_print.c:296 msgid "Output paper size:" msgstr "Ampiezza del foglio:" #: gschem/src/x_print.c:318 msgid "Orientation:" msgstr "Orientamento:" #: gschem/src/x_print.c:330 msgid "Destination" msgstr "Destinazione" #: gschem/src/x_print.c:343 msgid "File:" msgstr "File:" #: gschem/src/x_print.c:373 msgid "Command:" msgstr "Comando:" #: gschem/src/x_print.c:745 msgid "No print destination specified\n" msgstr "Non è stata specificata nessuna stampante\n" #: gschem/src/x_print.c:752 #, c-format msgid "Cannot print current schematic to [%s]\n" msgstr "Non è possibile stampare lo schema corrente in [%s]\n" #: gschem/src/x_print.c:761 #, c-format msgid "" "Error printing to file '%s'\n" "Check the log window for more information" msgstr "" "Errore nella stampa del file '%s'\n" "Verifica la finestra di stato per maggiori informazioni" #: gschem/src/x_print.c:768 #, c-format msgid "Printed current schematic to [%s]\n" msgstr "Lo schema corrente è stato stampato in [%s]\n" #: gschem/src/x_rc.c:40 msgid "ERROR: An unknown error occurred while parsing configuration files.\n" msgstr "" #: gschem/src/x_rc.c:45 msgid "" "An unknown error occurred while parsing configuration files.\n" "\n" "The gschem log may contain more information." msgstr "" #: gschem/src/x_rc.c:57 #, c-format msgid "ERROR: %s\n" msgstr "" #: gschem/src/x_rc.c:60 #, c-format msgid "" "%s\n" "\n" "The gschem log may contain more information." msgstr "" #: gschem/src/x_rc.c:68 msgid "Cannot load gschem configuration." msgstr "" #: gschem/src/x_script.c:47 gschem/lib/system-gschemrc.scm:1381 msgid "Execute Script..." msgstr "Esegui Script..." #: gschem/src/x_script.c:66 #, c-format msgid "Executing guile script [%s]\n" msgstr "Esecuzione dello script guile [%s]\n" #: gschem/src/x_window.c:82 #, c-format msgid "Couldn't allocate gc\n" msgstr "Impossibile l'allocazione di gc\n" #: gschem/src/x_window.c:321 msgid "New" msgstr "Nuovo" #: gschem/src/x_window.c:322 msgid "New file" msgstr "Nuovo file" #: gschem/src/x_window.c:328 msgid "Open" msgstr "Apri" #: gschem/src/x_window.c:329 msgid "Open file..." msgstr "Apri file..." #: gschem/src/x_window.c:335 msgid "Save" msgstr "Salva" #: gschem/src/x_window.c:336 msgid "Save file" msgstr "Salva file" #: gschem/src/x_window.c:343 msgid "Undo" msgstr "Annulla" #: gschem/src/x_window.c:344 msgid "Undo last operation" msgstr "Annulla l'ultima operazione" #: gschem/src/x_window.c:350 msgid "Redo" msgstr "Ripristina" #: gschem/src/x_window.c:351 msgid "Redo last undo" msgstr "Ripristina ultima operazione annullata" #: gschem/src/x_window.c:360 msgid "" "Add component...\n" "Select library and component from list, move the mouse into main window, " "click to place\n" "Right mouse button to cancel" msgstr "" "Aggiungi componente...\n" "Seleziona la libreria e/o il componente dalla lista, sposta il mouse nella " "finestra principale e clicca con il tasto sinistro del mouse per rilasciare " "il componente\n" "Il tasto destro del mouse serve ad abbandonare il componente al fine di " "sceglierne un altro." #: gschem/src/x_window.c:370 msgid "" "Add nets mode\n" "Right mouse button to cancel" msgstr "" "Disegna Collegamenti\n" "Tasto destro del mouse per\n" "cancellare il collegamento" #: gschem/src/x_window.c:380 msgid "" "Add buses mode\n" "Right mouse button to cancel" msgstr "" "Disegna Bus\n" "Tasto destro del mouse per\n" "cancellare il collegamento" #: gschem/src/x_window.c:388 msgid "Add Text..." msgstr "Aggiungi Testo..." #: gschem/src/x_window.c:398 msgid "Select" msgstr "Seleziona" #: gschem/src/x_window.c:399 msgid "Select mode" msgstr "Modalità Selezione" #: gschem/src/x_window.c:465 msgid "Evaluate:" msgstr "" #: gschem/src/x_window.c:484 msgid "Pick" msgstr "Prendi" #: gschem/src/x_window.c:500 msgid "Repeat/none" msgstr "Ripeti/Niente" #: gschem/src/x_window.c:510 msgid "Menu/Cancel" msgstr "Menu/Cancella" #: gschem/src/x_window.c:512 msgid "Pan/Cancel" msgstr "Pan/Cancella" #: gschem/src/x_window.c:737 #, c-format msgid "Loading schematic [%s]\n" msgstr "Caricamento schema [%s]\n" #: gschem/src/x_window.c:748 #, c-format msgid "" "An error occurred while loading the requested file.\n" "\n" "Loading from '%s' failed: %s. The gschem log may contain more information." msgstr "" #: gschem/src/x_window.c:750 msgid "Failed to load file" msgstr "Impossibile caricare il file" #: gschem/src/x_window.c:759 #, c-format msgid "New file [%s]\n" msgstr "Nuovo file [%s]\n" #: gschem/src/x_window.c:862 #, c-format msgid "Could NOT save page [%s]\n" msgstr "Non è possibile salvare la pagina [%s]\n" #: gschem/src/x_window.c:863 msgid "Error while trying to save" msgstr "Errore durante il salvataggio" #: gschem/src/x_window.c:873 msgid "Failed to save file" msgstr "" #: gschem/src/x_window.c:884 #, c-format msgid "Saved as [%s]\n" msgstr "Salvato con il nome [%s]\n" #: gschem/src/x_window.c:886 #, c-format msgid "Saved [%s]\n" msgstr "Salvato [%s]\n" #: gschem/src/x_window.c:888 msgid "Saved" msgstr "Salvato" #: gschem/src/x_window.c:962 #, c-format msgid "Discarding page [%s]\n" msgstr "Annulla pagina [%s]\n" #: gschem/src/x_window.c:962 #, c-format msgid "Closing [%s]\n" msgstr "Chiusura [%s]\n" #: gschem/data/geda-gschem.desktop.in:3 msgid "gEDA Schematic Editor" msgstr "Editor di schemi gEDA" #: gschem/data/geda-gschem.desktop.in:4 msgid "Create and edit electrical schematics and symbols with gschem" msgstr "Crea e modifica schemi elettrici e simboli con gschem" #: gschem/lib/system-gschemrc.scm:1368 msgid "_New" msgstr "_Nuovo" #: gschem/lib/system-gschemrc.scm:1369 msgid "_Open..." msgstr "_Apri..." #: gschem/lib/system-gschemrc.scm:1371 msgid "Open Recen_t" msgstr "Apri recen_ti" #: gschem/lib/system-gschemrc.scm:1373 msgid "_Save" msgstr "_Salva" #: gschem/lib/system-gschemrc.scm:1374 msgid "Save _As..." msgstr "Salva _come..." #: gschem/lib/system-gschemrc.scm:1375 msgid "Save All" msgstr "Salva tutto" #: gschem/lib/system-gschemrc.scm:1376 gschem/lib/system-gschemrc.scm:1469 msgid "_Revert" msgstr "_Ripristina" #: gschem/lib/system-gschemrc.scm:1378 msgid "_Print..." msgstr "_Stampa..." #: gschem/lib/system-gschemrc.scm:1379 msgid "Write _image..." msgstr "Salva _immagine" #: gschem/lib/system-gschemrc.scm:1383 msgid "New Window" msgstr "Nuova finestra" #: gschem/lib/system-gschemrc.scm:1384 msgid "_Close Window" msgstr "" #: gschem/lib/system-gschemrc.scm:1385 msgid "_Quit" msgstr "_Esci" #: gschem/lib/system-gschemrc.scm:1391 msgid "_Undo" msgstr "_Annulla" #: gschem/lib/system-gschemrc.scm:1392 msgid "_Redo" msgstr "_Ripeti" #: gschem/lib/system-gschemrc.scm:1394 msgid "Cu_t" msgstr "Ta_glia" #: gschem/lib/system-gschemrc.scm:1395 msgid "_Copy" msgstr "_Copia" #: gschem/lib/system-gschemrc.scm:1396 msgid "_Paste" msgstr "_Incolla" #: gschem/lib/system-gschemrc.scm:1397 msgid "_Delete" msgstr "_Elimina" #: gschem/lib/system-gschemrc.scm:1400 msgid "Select All" msgstr "" #: gschem/lib/system-gschemrc.scm:1401 msgid "Deselect" msgstr "" #: gschem/lib/system-gschemrc.scm:1405 msgid "Rotate 90 Mode" msgstr "Ruota di 90 gradi" #: gschem/lib/system-gschemrc.scm:1408 msgid "Edit..." msgstr "Modifica..." #: gschem/lib/system-gschemrc.scm:1409 msgid "Edit Text..." msgstr "Modifica il testo..." #: gschem/lib/system-gschemrc.scm:1410 msgid "Slot..." msgstr "Slot..." #: gschem/lib/system-gschemrc.scm:1411 msgid "Color..." msgstr "Colore..." #: gschem/lib/system-gschemrc.scm:1412 msgid "Line Width & Type..." msgstr "Tipo & Larghezza della linea..." #: gschem/lib/system-gschemrc.scm:1413 msgid "Fill Type..." msgstr "Riempimento..." #: gschem/lib/system-gschemrc.scm:1414 msgid "Symbol Translate..." msgstr "Converti simbolo..." #: gschem/lib/system-gschemrc.scm:1418 msgid "Invoke Macro" msgstr "Esegui macro" #: gschem/lib/system-gschemrc.scm:1419 msgid "Embed Component/Picture" msgstr "Componente/Immagine fissato/a" #: gschem/lib/system-gschemrc.scm:1420 msgid "Unembed Component/Picture" msgstr "Componente/immagine non fissato/a" #: gschem/lib/system-gschemrc.scm:1421 msgid "Update Component" msgstr "Aggiorna Componente" #: gschem/lib/system-gschemrc.scm:1422 msgid "Show/Hide Inv Text" msgstr "Mostra/Nascondi Testo Invisibile" #: gschem/lib/system-gschemrc.scm:1428 msgid "Copy into 1" msgstr "Copia in 1" #: gschem/lib/system-gschemrc.scm:1429 msgid "Copy into 2" msgstr "Copia in 2" #: gschem/lib/system-gschemrc.scm:1430 msgid "Copy into 3" msgstr "Copia in 3" #: gschem/lib/system-gschemrc.scm:1431 msgid "Copy into 4" msgstr "Copia in 4" #: gschem/lib/system-gschemrc.scm:1432 msgid "Copy into 5" msgstr "Copia in 5" #: gschem/lib/system-gschemrc.scm:1433 msgid "Cut into 1" msgstr "Taglia in 1" #: gschem/lib/system-gschemrc.scm:1434 msgid "Cut into 2" msgstr "Taglia in 2" #: gschem/lib/system-gschemrc.scm:1435 msgid "Cut into 3" msgstr "Taglia in 3" #: gschem/lib/system-gschemrc.scm:1436 msgid "Cut into 4" msgstr "Taglia in 4" #: gschem/lib/system-gschemrc.scm:1437 msgid "Cut into 5" msgstr "Taglia in 5" #: gschem/lib/system-gschemrc.scm:1438 msgid "Paste from 1" msgstr "Incolla da 1" #: gschem/lib/system-gschemrc.scm:1439 msgid "Paste from 2" msgstr "Incolla da 2" #: gschem/lib/system-gschemrc.scm:1440 msgid "Paste from 3" msgstr "Incolla da 3" #: gschem/lib/system-gschemrc.scm:1441 msgid "Paste from 4" msgstr "Incolla da 4" #: gschem/lib/system-gschemrc.scm:1442 msgid "Paste from 5" msgstr "Incolla da 5" #: gschem/lib/system-gschemrc.scm:1448 msgid "_Redraw" msgstr "_Ridisegna" #: gschem/lib/system-gschemrc.scm:1449 msgid "_Pan" msgstr "_Scorri" #: gschem/lib/system-gschemrc.scm:1450 msgid "Zoom _Box" msgstr "Ingrandisci _Riquadro" #: gschem/lib/system-gschemrc.scm:1451 msgid "Zoom _Extents" msgstr "Adatta al _contenuto" #: gschem/lib/system-gschemrc.scm:1452 msgid "Zoom _In" msgstr "Aum_enta ingrandimento" #: gschem/lib/system-gschemrc.scm:1453 msgid "Zoom _Out" msgstr "Rid_uci ingrandimento" #: gschem/lib/system-gschemrc.scm:1454 msgid "Zoom _Full" msgstr "Visualizza _tutto" #: gschem/lib/system-gschemrc.scm:1456 msgid "_Dark color scheme" msgstr "_Schema colori scuri" #: gschem/lib/system-gschemrc.scm:1457 msgid "_Light color scheme" msgstr "_Schema colori chiari" #: gschem/lib/system-gschemrc.scm:1458 msgid "B_W color scheme" msgstr "" #: gschem/lib/system-gschemrc.scm:1465 msgid "_Manager..." msgstr "_Elenco" #: gschem/lib/system-gschemrc.scm:1466 msgid "_Previous" msgstr "Pr_ecedente" #: gschem/lib/system-gschemrc.scm:1467 msgid "_Next" msgstr "_Successivo" #: gschem/lib/system-gschemrc.scm:1468 msgid "Ne_w" msgstr "N_uovo" #: gschem/lib/system-gschemrc.scm:1470 msgid "_Close" msgstr "_Chiudi" #: gschem/lib/system-gschemrc.scm:1472 msgid "_Discard" msgstr "_Scarta" #: gschem/lib/system-gschemrc.scm:1478 msgid "_Component..." msgstr "_Componente" #: gschem/lib/system-gschemrc.scm:1479 msgid "_Net" msgstr "_Net" #: gschem/lib/system-gschemrc.scm:1480 msgid "B_us" msgstr "B_us" #: gschem/lib/system-gschemrc.scm:1481 msgid "_Attribute..." msgstr "_Attributo" #: gschem/lib/system-gschemrc.scm:1482 msgid "_Text..." msgstr "_Testo..." #: gschem/lib/system-gschemrc.scm:1484 msgid "_Line" msgstr "_Linea" #: gschem/lib/system-gschemrc.scm:1485 msgid "_Box" msgstr "_Rettangolo" #: gschem/lib/system-gschemrc.scm:1486 msgid "C_ircle" msgstr "Cerch_io" #: gschem/lib/system-gschemrc.scm:1487 msgid "A_rc" msgstr "A_rco" #: gschem/lib/system-gschemrc.scm:1488 msgid "_Pin" msgstr "_Pin" #: gschem/lib/system-gschemrc.scm:1489 msgid "Pictu_re..." msgstr "Imm_agine" #: gschem/lib/system-gschemrc.scm:1495 msgid "_Down Schematic" msgstr "_Apri Schema" #: gschem/lib/system-gschemrc.scm:1496 msgid "Down _Symbol" msgstr "Apri _Simbolo" #: gschem/lib/system-gschemrc.scm:1497 msgid "_Up" msgstr "_Torna su" #: gschem/lib/system-gschemrc.scm:1498 msgid "D_ocumentation..." msgstr "D_ocumentazione" #: gschem/lib/system-gschemrc.scm:1504 msgid "_Attach" msgstr "_Collega" #: gschem/lib/system-gschemrc.scm:1505 msgid "_Detach" msgstr "_Scollega" #: gschem/lib/system-gschemrc.scm:1506 msgid "Show _Value" msgstr "Mostra _Valore" #: gschem/lib/system-gschemrc.scm:1507 msgid "Show _Name" msgstr "Mostra _Nome" #: gschem/lib/system-gschemrc.scm:1508 msgid "Show _Both" msgstr "Mostra _entrambi" #: gschem/lib/system-gschemrc.scm:1509 msgid "_Toggle Visibility" msgstr "Commu_ta Visibilità" #: gschem/lib/system-gschemrc.scm:1511 msgid "_Find Specific Text..." msgstr "_Trova testo specifico..." #: gschem/lib/system-gschemrc.scm:1512 msgid "_Hide Specific Text..." msgstr "_Nascondi testo specifico..." #: gschem/lib/system-gschemrc.scm:1513 msgid "_Show Specific Text..." msgstr "_Mostra testo specifico" #: gschem/lib/system-gschemrc.scm:1514 msgid "A_utonumber Text..." msgstr "Testo di Autonumerazione" #: gschem/lib/system-gschemrc.scm:1520 msgid "_Text Size..." msgstr "Dimensione _Testo" #: gschem/lib/system-gschemrc.scm:1521 msgid "Cycle _grid styles" msgstr "Scorri stili _griglia" #: gschem/lib/system-gschemrc.scm:1522 msgid "Toggle _Snap On/Off" msgstr "_Commuta aggancio automatico" #: gschem/lib/system-gschemrc.scm:1523 msgid "Snap Grid S_pacing..." msgstr "S_paziatura griglia di aggancio" #: gschem/lib/system-gschemrc.scm:1524 msgid "Scale _up Grid Spacing" msgstr "A_umenta spaziatura griglia" #: gschem/lib/system-gschemrc.scm:1526 msgid "Scale _down Grid Spacing" msgstr "_Diminuisci spaziatura griglia" #: gschem/lib/system-gschemrc.scm:1528 msgid "Toggle _Outline/Box" msgstr "C_ommuta disegno elementi/perimetro" #: gschem/lib/system-gschemrc.scm:1530 msgid "Toggle Net _Rubberband" msgstr "Commuta Net _Elastiche" #: gschem/lib/system-gschemrc.scm:1531 msgid "Toggle _Magnetic Net" msgstr "Commuta Net _Magnetiche" #: gschem/lib/system-gschemrc.scm:1532 msgid "Show _Log Window..." msgstr "Visualizza finestra _Registro..." #: gschem/lib/system-gschemrc.scm:1534 msgid "Show _Coord Window..." msgstr "Visualizza finestra _Coordinate..." #: gschem/lib/system-gschemrc.scm:1542 msgid "gEDA Docu_mentation..." msgstr "Docu_mentazione di gEDA..." #: gschem/lib/system-gschemrc.scm:1543 msgid "gschem _FAQ..." msgstr "_FAQ di gschem..." #: gschem/lib/system-gschemrc.scm:1544 msgid "gEDA _Wiki..." msgstr "_Wiki di gEDA..." #: gschem/lib/system-gschemrc.scm:1545 msgid "Component D_ocumentation..." msgstr "D_ocumentazione Componente..." #: gschem/lib/system-gschemrc.scm:1547 msgid "_Hotkeys..." msgstr "Combina_zioni tasti..." #: gschem/lib/system-gschemrc.scm:1548 msgid "_About..." msgstr "_Info su..." #: gschem/lib/system-gschemrc.scm:1554 msgid "_File" msgstr "_File" #: gschem/lib/system-gschemrc.scm:1555 msgid "_Edit" msgstr "_Modifica" #: gschem/lib/system-gschemrc.scm:1556 msgid "_Buffer" msgstr "_Buffer" #: gschem/lib/system-gschemrc.scm:1557 msgid "_View" msgstr "_Vista" #: gschem/lib/system-gschemrc.scm:1558 msgid "_Page" msgstr "_Pagina" #: gschem/lib/system-gschemrc.scm:1559 msgid "_Add" msgstr "_Aggiungi" #: gschem/lib/system-gschemrc.scm:1560 msgid "Hie_rarchy" msgstr "Ge_rarchia" #: gschem/lib/system-gschemrc.scm:1561 msgid "A_ttributes" msgstr "A_ttributi" #: gschem/lib/system-gschemrc.scm:1562 msgid "_Options" msgstr "_Opzioni" #: gschem/lib/system-gschemrc.scm:1563 msgid "_Help" msgstr "Aiuto" #: gschem/scheme/gschem/deprecated.scm:102 #, scheme-format msgid "Invalid text alignment ~A." msgstr "" #: gschem/scheme/gschem/gschemdoc.scm:225 msgid "No documentation found" msgstr "" #: gschem/scheme/gschem/keymap.scm:38 #, scheme-format msgid "~S is not a valid key combination." msgstr "" #: gschem/scheme/gschem/keymap.scm:153 #, scheme-format msgid "~S is not a prefix key sequence." msgstr "" geda-gaf-1.8.2/gschem/po/he.po0000664000175000017500000013774412220655644012746 00000000000000# Hebrew translation for geda # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-01-27 14:23+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: gEDA developers \n" "Language: he\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: gschem/src/a_zoom.c:212 msgid "Zoom too small! Cannot zoom further.\n" msgstr "" #: gschem/src/g_attrib.c:92 msgid "Object ~A is not included in the current gschem page." msgstr "" #: gschem/src/g_attrib.c:112 msgid "Invalid text name/value visibility ~A." msgstr "" #: gschem/src/g_rc.c:312 #, c-format msgid "Invalid zoomfactor [%d] passed to %s\n" msgstr "" #: gschem/src/g_rc.c:458 #, c-format msgid "Invalid size [%d] passed to text-size\n" msgstr "" #: gschem/src/g_rc.c:501 #, c-format msgid "Invalid size [%d] passed to snap-size\n" msgstr "" #: gschem/src/g_rc.c:958 #, c-format msgid "Invalid num levels [%d] passed to undo-levels\n" msgstr "" #: gschem/src/g_rc.c:1220 #, c-format msgid "Invalid size [%d] passed to bus-ripper-size\n" msgstr "" #: gschem/src/g_rc.c:1295 #, c-format msgid "Invalid dot size [%d] passed to dots-grid-dot-size\n" msgstr "" #: gschem/src/g_rc.c:1336 #, c-format msgid "Invalid pixel spacing [%d] passed to dots-grid-fixed-threshold\n" msgstr "" #: gschem/src/g_rc.c:1362 #, c-format msgid "Invalid pixel spacing [%d] passed to mesh-grid-display-threshold\n" msgstr "" #: gschem/src/g_rc.c:1387 #, c-format msgid "Invalid offset [%d] passed to add-attribute-offset\n" msgstr "" #: gschem/src/g_rc.c:1411 #, c-format msgid "Invalid number of seconds [%d] passed to auto-save-interval\n" msgstr "" #: gschem/src/g_rc.c:1435 #, c-format msgid "Invalid gain [%d] passed to mousepan-gain\n" msgstr "" #: gschem/src/g_rc.c:1458 #, c-format msgid "Invalid gain [%d] passed to keyboardpan-gain\n" msgstr "" #: gschem/src/g_rc.c:1505 #, c-format msgid "Invalid number of pixels [%d] passed to select-slack-pixels\n" msgstr "" #: gschem/src/g_rc.c:1531 #, c-format msgid "Invalid gain [%d] passed to zoom-gain\n" msgstr "" #: gschem/src/g_rc.c:1556 #, c-format msgid "Invalid number of steps [%d] scrollpan-steps\n" msgstr "" #: gschem/src/g_select.c:79 gschem/src/g_select.c:116 #: gschem/src/g_select.c:152 msgid "Object ~A is not directly included in a page." msgstr "" #: gschem/src/g_util.c:56 msgid "Could not launch URI ~S: ~A" msgstr "" #: gschem/src/g_window.c:136 msgid "Found invalid gschem window smob ~S" msgstr "" #: gschem/src/gschem.c:175 #, c-format msgid "gEDA/gschem version %s%s.%s\n" msgstr "" #: gschem/src/gschem.c:178 msgid "" "gEDA/gschem comes with ABSOLUTELY NO WARRANTY; see COPYING for more " "details.\n" msgstr "" #: gschem/src/gschem.c:180 msgid "" "This is free software, and you are welcome to redistribute it under certain\n" msgstr "" #: gschem/src/gschem.c:182 msgid "" "conditions; please see the COPYING file for more details.\n" "\n" msgstr "" #: gschem/src/gschem.c:185 #, c-format msgid "This is the MINGW32 port.\n" msgstr "" #: gschem/src/gschem.c:189 #, c-format msgid "Current locale settings: %s\n" msgstr "" #: gschem/src/gschem.c:211 msgid "" "You must set the GEDADATA environment variable!\n" "\n" "gschem cannot locate its data files. You must set the GEDADATA\n" "environment variable to point to the correct location.\n" msgstr "" #: gschem/src/gschem.c:248 #, c-format msgid "Couldn't find init scm file [%s]\n" msgstr "" #: gschem/src/gschem.c:252 #, c-format msgid "Read init scm file [%s]\n" msgstr "" #: gschem/src/gschem.c:256 #, c-format msgid "Failed to read init scm file [%s]\n" msgstr "" #: gschem/src/gschem_cairo.c:310 #, c-format msgid "Unknown end for line (%d)\n" msgstr "" #: gschem/src/gschem_cairo.c:318 #, c-format msgid "Unknown type for stroke (%d) !\n" msgstr "" #: gschem/src/gschem_pango.c:289 msgid "cairo context" msgstr "" #: gschem/src/gschem_pango.c:290 msgid "the cairo context for the renderer" msgstr "" #: gschem/src/i_basic.c:77 gschem/src/x_window.c:524 #: gschem/lib/system-gschemrc.scm:1399 msgid "Select Mode" msgstr "מצב בחירה" #: gschem/src/i_basic.c:79 msgid "Component Mode" msgstr "" #: gschem/src/i_basic.c:81 msgid "Text Mode" msgstr "" #: gschem/src/i_basic.c:84 gschem/lib/system-gschemrc.scm:1402 msgid "Copy Mode" msgstr "מצב העתקה" #: gschem/src/i_basic.c:87 gschem/lib/system-gschemrc.scm:1404 msgid "Move Mode" msgstr "מצב הזזה" #: gschem/src/i_basic.c:89 msgid "Rotate Mode" msgstr "" #: gschem/src/i_basic.c:91 gschem/lib/system-gschemrc.scm:1406 msgid "Mirror Mode" msgstr "מצב ראי" #: gschem/src/i_basic.c:95 msgid "Zoom Box" msgstr "תיבת תקריב" #: gschem/src/i_basic.c:99 msgid "Pan Mode" msgstr "" #: gschem/src/i_basic.c:103 #, c-format msgid "Paste %d Mode" msgstr "" #: gschem/src/i_basic.c:109 msgid "Magnetic Net Mode" msgstr "" #: gschem/src/i_basic.c:111 msgid "Net Mode" msgstr "" #: gschem/src/i_basic.c:115 msgid "Bus Mode" msgstr "" #: gschem/src/i_basic.c:118 msgid "Line Mode" msgstr "" #: gschem/src/i_basic.c:121 msgid "Box Mode" msgstr "" #: gschem/src/i_basic.c:124 msgid "Picture Mode" msgstr "" #: gschem/src/i_basic.c:127 msgid "Circle Mode" msgstr "" #: gschem/src/i_basic.c:130 msgid "Arc Mode" msgstr "" #: gschem/src/i_basic.c:133 msgid "Pin Mode" msgstr "" #: gschem/src/i_basic.c:135 gschem/src/i_callbacks.c:529 #: gschem/src/i_callbacks.c:553 msgid "Copy" msgstr "" #: gschem/src/i_basic.c:137 gschem/src/i_callbacks.c:619 #: gschem/src/i_callbacks.c:643 msgid "Move" msgstr "" #: gschem/src/i_basic.c:139 gschem/src/i_callbacks.c:574 #: gschem/src/i_callbacks.c:598 msgid "Multiple Copy" msgstr "" #: gschem/src/i_basic.c:142 gschem/lib/system-gschemrc.scm:1403 msgid "Multiple Copy Mode" msgstr "מצב העתקה מרובה" #: gschem/src/i_basic.c:168 msgid "Show Hidden" msgstr "" #: gschem/src/i_basic.c:171 msgid "Snap Off" msgstr "" #: gschem/src/i_basic.c:173 msgid "Resnap Active" msgstr "" #: gschem/src/i_basic.c:254 gschem/src/x_window.c:498 msgid "Action" msgstr "" #: gschem/src/i_basic.c:260 gschem/src/x_dialog.c:2325 #: gschem/src/x_window.c:493 msgid "Stroke" msgstr "" #: gschem/src/i_basic.c:266 gschem/src/x_window.c:495 msgid "none" msgstr "" #: gschem/src/i_basic.c:271 msgid "Repeat/" msgstr "" #: gschem/src/i_basic.c:566 gschem/src/i_basic.c:580 msgid "OFF" msgstr "" #: gschem/src/i_basic.c:584 msgid "NONE" msgstr "" #: gschem/src/i_basic.c:589 #, c-format msgid "Grid(%s, %s)" msgstr "" #: gschem/src/i_callbacks.c:76 gschem/src/i_callbacks.c:1659 #, c-format msgid "New page created [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:124 #, c-format msgid "New Window created [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:242 msgid "Failed to Save All" msgstr "" #: gschem/src/i_callbacks.c:244 msgid "Saved All" msgstr "" #: gschem/src/i_callbacks.c:334 msgid "Closing Window\n" msgstr "" #: gschem/src/i_callbacks.c:534 gschem/src/i_callbacks.c:579 #: gschem/src/i_callbacks.c:624 msgid "Select objs first" msgstr "" #: gschem/src/i_callbacks.c:663 gschem/src/x_multiattrib.c:1549 msgid "Delete" msgstr "מחק" #: gschem/src/i_callbacks.c:688 msgid "Edit" msgstr "עריכה" #: gschem/src/i_callbacks.c:703 msgid "Edit pin type" msgstr "" #: gschem/src/i_callbacks.c:722 msgid "Edit Text" msgstr "" #: gschem/src/i_callbacks.c:745 msgid "Slot" msgstr "" #: gschem/src/i_callbacks.c:762 msgid "Color" msgstr "" #: gschem/src/i_callbacks.c:799 gschem/src/i_callbacks.c:844 msgid "Rotate" msgstr "" #: gschem/src/i_callbacks.c:866 gschem/src/i_callbacks.c:891 msgid "Mirror" msgstr "" #: gschem/src/i_callbacks.c:912 gschem/src/x_dialog.c:2328 #: gschem/lib/system-gschemrc.scm:1415 msgid "Lock" msgstr "נעילה" #: gschem/src/i_callbacks.c:930 gschem/lib/system-gschemrc.scm:1416 msgid "Unlock" msgstr "שחרר נעילה" #: gschem/src/i_callbacks.c:948 gschem/src/x_dialog.c:1746 msgid "Translate" msgstr "" #: gschem/src/i_callbacks.c:951 msgid "WARNING: Do not translate with snap off!\n" msgstr "" #: gschem/src/i_callbacks.c:952 msgid "WARNING: Turning snap on and continuing with translate.\n" msgstr "" #: gschem/src/i_callbacks.c:959 msgid "WARNING: Snap grid size is not equal to 100!\n" msgstr "" #: gschem/src/i_callbacks.c:961 msgid "" "WARNING: If you are translating a symbol to the origin, the snap grid size " "should be set to 100\n" msgstr "" #: gschem/src/i_callbacks.c:992 msgid "Embed" msgstr "" #: gschem/src/i_callbacks.c:1031 msgid "Unembed" msgstr "" #: gschem/src/i_callbacks.c:1073 msgid "Update" msgstr "" #: gschem/src/i_callbacks.c:1120 msgid "ShowHidden" msgstr "" #: gschem/src/i_callbacks.c:1426 gschem/src/i_callbacks.c:1498 msgid "Pan" msgstr "עבור" #: gschem/src/i_callbacks.c:1703 msgid "Really revert page?" msgstr "" #: gschem/src/i_callbacks.c:1773 msgid "Copy to clipboard" msgstr "" #: gschem/src/i_callbacks.c:1791 msgid "Cut to clipboard" msgstr "" #: gschem/src/i_callbacks.c:1809 msgid "Paste from clipboard" msgstr "" #: gschem/src/i_callbacks.c:1821 gschem/src/i_callbacks.c:2060 #: gschem/src/i_callbacks.c:2082 gschem/src/i_callbacks.c:2104 #: gschem/src/i_callbacks.c:2126 gschem/src/i_callbacks.c:2148 msgid "Empty buffer" msgstr "" #: gschem/src/i_callbacks.c:1866 msgid "Copy 1" msgstr "" #: gschem/src/i_callbacks.c:1885 msgid "Copy 2" msgstr "" #: gschem/src/i_callbacks.c:1904 msgid "Copy 3" msgstr "" #: gschem/src/i_callbacks.c:1923 msgid "Copy 4" msgstr "" #: gschem/src/i_callbacks.c:1942 msgid "Copy 5" msgstr "" #: gschem/src/i_callbacks.c:1961 msgid "Cut 1" msgstr "" #: gschem/src/i_callbacks.c:1980 msgid "Cut 2" msgstr "" #: gschem/src/i_callbacks.c:1999 msgid "Cut 3" msgstr "" #: gschem/src/i_callbacks.c:2018 msgid "Cut 4" msgstr "" #: gschem/src/i_callbacks.c:2037 msgid "Cut 5" msgstr "" #: gschem/src/i_callbacks.c:2053 msgid "Paste 1" msgstr "" #: gschem/src/i_callbacks.c:2075 msgid "Paste 2" msgstr "" #: gschem/src/i_callbacks.c:2097 msgid "Paste 3" msgstr "" #: gschem/src/i_callbacks.c:2119 msgid "Paste 4" msgstr "" #: gschem/src/i_callbacks.c:2141 msgid "Paste 5" msgstr "" #: gschem/src/i_callbacks.c:2278 gschem/src/x_window.c:359 msgid "Component" msgstr "" #: gschem/src/i_callbacks.c:2314 gschem/src/i_callbacks.c:2333 #: gschem/src/x_dialog.c:2298 msgid "Attribute" msgstr "" #: gschem/src/i_callbacks.c:2355 gschem/src/i_callbacks.c:2382 #: gschem/src/x_dialog.c:2295 msgid "Net" msgstr "חיבור" #: gschem/src/i_callbacks.c:2426 gschem/src/i_callbacks.c:2453 #: gschem/src/x_dialog.c:2313 gschem/src/x_window.c:379 msgid "Bus" msgstr "אפיק" #: gschem/src/i_callbacks.c:2534 gschem/src/i_callbacks.c:2557 msgid "Line" msgstr "קו" #: gschem/src/i_callbacks.c:2579 gschem/src/i_callbacks.c:2602 msgid "Box" msgstr "מרובע" #: gschem/src/i_callbacks.c:2658 gschem/src/i_callbacks.c:2682 msgid "Circle" msgstr "מעגל" #: gschem/src/i_callbacks.c:2704 gschem/src/i_callbacks.c:2727 msgid "Arc" msgstr "קשת" #: gschem/src/i_callbacks.c:2749 gschem/src/i_callbacks.c:2772 #: gschem/src/x_dialog.c:2286 msgid "Pin" msgstr "פין" #: gschem/src/i_callbacks.c:2831 #, c-format msgid "Searching for source [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:2855 #, c-format msgid "Cannot find source [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:2918 #, c-format msgid "Searching for symbol [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:2924 msgid "Symbol is not a real file. Symbol cannot be loaded.\n" msgstr "" #: gschem/src/i_callbacks.c:2955 msgid "Cannot find any schematics above the current one!\n" msgstr "" #: gschem/src/i_callbacks.c:2985 msgid "Attach" msgstr "צרף" #: gschem/src/i_callbacks.c:3041 msgid "Detach" msgstr "נתק" #: gschem/src/i_callbacks.c:3085 msgid "ShowN" msgstr "" #: gschem/src/i_callbacks.c:3122 msgid "ShowV" msgstr "" #: gschem/src/i_callbacks.c:3159 msgid "ShowB" msgstr "" #: gschem/src/i_callbacks.c:3197 msgid "VisToggle" msgstr "" #: gschem/src/i_callbacks.c:3228 #, c-format msgid "Sorry but this is a non-functioning menu option\n" msgstr "" #: gschem/src/i_callbacks.c:3318 msgid "Action feedback mode set to OUTLINE\n" msgstr "" #: gschem/src/i_callbacks.c:3321 msgid "Action feedback mode set to BOUNDINGBOX\n" msgstr "" #: gschem/src/i_callbacks.c:3346 msgid "Grid OFF\n" msgstr "" #: gschem/src/i_callbacks.c:3347 msgid "Dot grid selected\n" msgstr "" #: gschem/src/i_callbacks.c:3348 msgid "Mesh grid selected\n" msgstr "" #: gschem/src/i_callbacks.c:3369 msgid "Snap OFF (CAUTION!)\n" msgstr "" #: gschem/src/i_callbacks.c:3372 msgid "Snap ON\n" msgstr "" #: gschem/src/i_callbacks.c:3375 msgid "Snap back to the grid (CAUTION!)\n" msgstr "" #: gschem/src/i_callbacks.c:3401 msgid "Rubber band OFF \n" msgstr "" #: gschem/src/i_callbacks.c:3404 msgid "Rubber band ON\n" msgstr "" #: gschem/src/i_callbacks.c:3419 msgid "magnetic net mode: ON\n" msgstr "" #: gschem/src/i_callbacks.c:3422 msgid "magnetic net mode: OFF\n" msgstr "" #: gschem/src/o_box.c:292 #, c-format msgid "Unknown type for box (fill)!\n" msgstr "" #: gschem/src/o_buffer.c:54 #, c-format msgid "o_buffer_copy: Invalid buffer %i\n" msgstr "" #: gschem/src/o_buffer.c:69 #, c-format msgid "o_buffer_cut: Invalid buffer %i\n" msgstr "" #: gschem/src/o_buffer.c:90 #, c-format msgid "Got an invalid buffer_number [o_buffer_paste_start]\n" msgstr "" #: gschem/src/o_bus.c:117 #, c-format msgid "Got an invalid which one in o_bus_draw_stretch\n" msgstr "" #: gschem/src/o_circle.c:284 #, c-format msgid "Unknown type for circle (fill)!\n" msgstr "" #: gschem/src/o_complex.c:223 gschem/src/o_complex.c:227 #, c-format msgid "Translating schematic [%d %d]\n" msgstr "" #: gschem/src/o_misc.c:61 #, c-format msgid "Got an unexpected NULL in o_edit\n" msgstr "" #: gschem/src/o_misc.c:125 msgid "Object already locked\n" msgstr "" #: gschem/src/o_misc.c:163 msgid "Object already unlocked\n" msgstr "" #: gschem/src/o_misc.c:339 msgid "Hidden text is now visible\n" msgstr "" #: gschem/src/o_misc.c:341 msgid "Hidden text is now invisible\n" msgstr "" #: gschem/src/o_misc.c:568 #, c-format msgid "Could not find symbol [%s] in library. Update failed.\n" msgstr "" #: gschem/src/o_misc.c:683 #, c-format msgid "o_autosave_backups: Can't get the real filename of %s." msgstr "" #: gschem/src/o_misc.c:727 #, c-format msgid "Could NOT set previous backup file [%s] read-write\n" msgstr "" #: gschem/src/o_misc.c:747 #, c-format msgid "Could NOT set backup file [%s] readonly\n" msgstr "" #: gschem/src/o_misc.c:752 #, c-format msgid "Could NOT save backup file [%s]\n" msgstr "" #: gschem/src/o_move.c:174 #, c-format msgid "ERROR: NULL object in o_move_end!\n" msgstr "" #: gschem/src/o_move.c:431 #, c-format msgid "DOH! tried to find the whichone, but didn't find it!\n" msgstr "" #: gschem/src/o_move.c:453 #, c-format msgid "Got a non line object in o_move_check_endpoint\n" msgstr "" #: gschem/src/o_net.c:158 #, c-format msgid "Got an invalid which one in o_net_draw_stretch\n" msgstr "" #: gschem/src/o_net.c:537 msgid "Warning: Starting net at off grid coordinate\n" msgstr "" #: gschem/src/o_net.c:602 msgid "Warning: Ending net at off grid coordinate\n" msgstr "" #: gschem/src/o_net.c:944 gschem/src/o_net.c:981 gschem/src/o_net.c:1052 #: gschem/src/o_net.c:1088 #, c-format msgid "Tried to add more than two bus rippers. Internal gschem error.\n" msgstr "" #: gschem/src/o_net.c:1156 #, c-format msgid "Bus ripper symbol [%s] was not found in any component library\n" msgstr "" #: gschem/src/o_path.c:340 #, c-format msgid "Unknown type for path (fill)!\n" msgstr "" #: gschem/src/o_picture.c:166 #, c-format msgid "Failed to load picture: %s" msgstr "" #: gschem/src/o_picture.c:180 msgid "Picture" msgstr "" #: gschem/src/o_picture.c:544 #, c-format msgid "Failed to replace pictures: %s" msgstr "" #: gschem/src/o_slot.c:81 msgid "Slot attribute malformed\n" msgstr "" #: gschem/src/o_slot.c:89 msgid "numslots attribute missing\n" msgstr "" #: gschem/src/o_slot.c:90 msgid "Slotting not allowed for this component\n" msgstr "" #: gschem/src/o_slot.c:105 msgid "New slot number out of range\n" msgstr "" #: gschem/src/o_undo.c:307 msgid "Undo/Redo disabled in rc file\n" msgstr "" #: gschem/src/parsecmd.c:82 #, c-format msgid "" "Usage: %s [OPTION ...] [--] [FILE ...]\n" "\n" "Interactively edit gEDA schematics or symbols. If one or more FILEs\n" "are specified, open them for editing; otherwise, create a new, empty\n" "schematic.\n" "\n" "Options:\n" " -q, --quiet Quiet mode.\n" " -v, --verbose Verbose mode.\n" " -r, --config-file=FILE Additional configuration file to load.\n" " -L DIR Add DIR to Scheme search path.\n" " -c EXPR Scheme expression to run at startup.\n" " -s FILE Scheme script to run at startup.\n" " -o, --output=FILE Output filename (for printing).\n" " -p Automatically place the window.\n" " -V, --version Show version information.\n" " -h, --help Help; this message.\n" " -- Treat all remaining arguments as filenames.\n" "\n" "Report bugs at \n" "gEDA/gaf homepage: \n" msgstr "" #: gschem/src/parsecmd.c:116 #, c-format msgid "" "gEDA %s (g%.7s)\n" "Copyright (C) 1998-2012 gEDA developers\n" "This is free software, and you are welcome to redistribute it under\n" "certain conditions. For details, see the file `COPYING', which is\n" "included in the gEDA distribution.\n" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" #: gschem/src/x_attribedit.c:127 #, c-format msgid "Got invalid show option; defaulting to show both\n" msgstr "" #: gschem/src/x_attribedit.c:141 #, c-format msgid "ERROR: NULL object!\n" msgstr "" #: gschem/src/x_attribedit.c:329 msgid "Single Attribute Editor" msgstr "" #: gschem/src/x_attribedit.c:359 msgid "Edit Attribute" msgstr "" #: gschem/src/x_attribedit.c:361 msgid "Add Attribute" msgstr "" #: gschem/src/x_attribedit.c:377 gschem/src/x_multiattrib.c:1973 msgid "Name:" msgstr "" #: gschem/src/x_attribedit.c:394 gschem/src/x_multiattrib.c:1992 msgid "Value:" msgstr "" #: gschem/src/x_attribedit.c:410 gschem/src/x_multiattrib.c:2038 msgid "Visible" msgstr "" #: gschem/src/x_attribedit.c:430 msgid "Show Value Only" msgstr "" #: gschem/src/x_attribedit.c:432 msgid "Show Name Only" msgstr "" #: gschem/src/x_attribedit.c:434 gschem/src/x_multiattrib.c:1512 msgid "Show Name & Value" msgstr "" #: gschem/src/x_attribedit.c:441 msgid "Attach Options" msgstr "" #: gschem/src/x_attribedit.c:456 msgid "All" msgstr "" #: gschem/src/x_attribedit.c:464 gschem/src/x_compselect.c:922 #: gschem/src/x_compselect.c:1036 msgid "Components" msgstr "" #: gschem/src/x_attribedit.c:472 gschem/src/x_window.c:369 msgid "Nets" msgstr "" #: gschem/src/x_attribedit.c:480 msgid "Replace existing attributes" msgstr "" #: gschem/src/x_autonumber.c:415 msgid "" "slotted object without slot attribute may cause problems when autonumbering " "slots\n" msgstr "" #: gschem/src/x_autonumber.c:430 #, c-format msgid "" "duplicate slot may cause problems: [symbolname=%s, number=%d, slot=%d]\n" msgstr "" #: gschem/src/x_autonumber.c:672 msgid "No searchstring given in autonumber text.\n" msgstr "" #: gschem/src/x_autonumber.c:724 msgid "No '*' or '?' given at the end of the autonumber text.\n" msgstr "" #: gschem/src/x_autonumber.c:859 msgid "Diagonal" msgstr "" #: gschem/src/x_autonumber.c:860 msgid "Top to bottom" msgstr "" #: gschem/src/x_autonumber.c:860 msgid "Bottom to top" msgstr "" #: gschem/src/x_autonumber.c:861 msgid "Left to right" msgstr "" #: gschem/src/x_autonumber.c:861 msgid "Right to left" msgstr "" #: gschem/src/x_autonumber.c:862 msgid "File order" msgstr "" #: gschem/src/x_autonumber.c:1198 msgid "Autonumber text" msgstr "" #: gschem/src/x_autonumber.c:1222 msgid "Scope" msgstr "" #: gschem/src/x_autonumber.c:1244 msgid "Search for:" msgstr "" #: gschem/src/x_autonumber.c:1258 msgid "Autonumber text in:" msgstr "" #: gschem/src/x_autonumber.c:1265 msgid "Skip numbers found in:" msgstr "" #: gschem/src/x_autonumber.c:1277 gschem/src/x_autonumber.c:1286 msgid "Selected objects" msgstr "" #: gschem/src/x_autonumber.c:1278 gschem/src/x_autonumber.c:1287 msgid "Current page" msgstr "" #: gschem/src/x_autonumber.c:1279 gschem/src/x_autonumber.c:1288 msgid "Whole hierarchy" msgstr "" #: gschem/src/x_autonumber.c:1290 msgid "Overwrite existing numbers" msgstr "" #: gschem/src/x_autonumber.c:1295 msgid "Options" msgstr "" #: gschem/src/x_autonumber.c:1317 msgid "Starting number:" msgstr "" #: gschem/src/x_autonumber.c:1324 msgid "Sort order:" msgstr "" #: gschem/src/x_autonumber.c:1345 msgid "Remove numbers" msgstr "" #: gschem/src/x_autonumber.c:1349 msgid "Automatic slotting" msgstr "" #: gschem/src/x_clipboard.c:249 #, c-format msgid "" "Invalid schematic on clipboard.\n" "\n" "An error occurred while inserting clipboard data: %s." msgstr "" #: gschem/src/x_clipboard.c:251 msgid "Clipboard insertion failed" msgstr "" #: gschem/src/x_color.c:94 gschem/src/x_color.c:103 #, c-format msgid "Could not allocate the color %s!\n" msgstr "" #: gschem/src/x_color.c:94 msgid "black" msgstr "" #: gschem/src/x_color.c:103 msgid "white" msgstr "" #: gschem/src/x_color.c:125 #, c-format msgid "Could not allocate display color %i!\n" msgstr "" #: gschem/src/x_color.c:147 #, c-format msgid "Could not allocate outline color %i!\n" msgstr "" #: gschem/src/x_color.c:164 gschem/src/x_color.c:181 gschem/src/x_color.c:197 #, c-format msgid "Tried to get an invalid color: %d\n" msgstr "" #: gschem/src/x_color.c:214 #, c-format msgid "Tried to get an invalid outline color: %d\n" msgstr "" #: gschem/src/x_compselect.c:1066 msgid "Filter:" msgstr "" #: gschem/src/x_compselect.c:1169 gschem/src/x_dialog.c:3653 #: gschem/src/x_multiattrib.c:1839 msgid "Name" msgstr "" #: gschem/src/x_compselect.c:1178 gschem/src/x_multiattrib.c:1863 msgid "Value" msgstr "" #: gschem/src/x_compselect.c:1217 msgid "Default behavior - reference component" msgstr "" #: gschem/src/x_compselect.c:1220 msgid "Embed component in schematic" msgstr "" #: gschem/src/x_compselect.c:1223 msgid "Include component as individual objects" msgstr "" #: gschem/src/x_compselect.c:1380 msgid "Select Component..." msgstr "" #: gschem/src/x_compselect.c:1403 msgid "In Use" msgstr "" #: gschem/src/x_compselect.c:1407 msgid "Libraries" msgstr "" #: gschem/src/x_compselect.c:1416 gschem/src/x_fileselect.c:122 msgid "Preview" msgstr "" #: gschem/src/x_compselect.c:1444 msgid "Attributes" msgstr "מאפיינים" #: gschem/src/x_dialog.c:176 msgid "Text Entry..." msgstr "" #: gschem/src/x_dialog.c:207 msgid "" "Enter text, click apply,\n" "move cursor into window, click to place text.\n" "Middle button to rotate while placing." msgstr "" #: gschem/src/x_dialog.c:301 msgid "Upper Left" msgstr "" #: gschem/src/x_dialog.c:304 msgid "Upper Middle" msgstr "" #: gschem/src/x_dialog.c:307 msgid "Upper Right" msgstr "" #: gschem/src/x_dialog.c:311 msgid "Middle Left" msgstr "" #: gschem/src/x_dialog.c:314 msgid "Middle Middle" msgstr "" #: gschem/src/x_dialog.c:317 msgid "Middle Right" msgstr "" #: gschem/src/x_dialog.c:321 msgid "Lower Left" msgstr "" #: gschem/src/x_dialog.c:324 msgid "Lower Middle" msgstr "" #: gschem/src/x_dialog.c:327 msgid "Lower Right" msgstr "" #: gschem/src/x_dialog.c:438 msgid "Edit Text Properties" msgstr "" #: gschem/src/x_dialog.c:473 msgid "Text Content" msgstr "" #: gschem/src/x_dialog.c:509 msgid "Text Properties" msgstr "" #: gschem/src/x_dialog.c:524 msgid "Color:" msgstr "" #: gschem/src/x_dialog.c:531 msgid "Size:" msgstr "" #: gschem/src/x_dialog.c:540 msgid "Alignment:" msgstr "" #: gschem/src/x_dialog.c:589 msgid "Solid" msgstr "" #: gschem/src/x_dialog.c:590 msgid "Dotted" msgstr "" #: gschem/src/x_dialog.c:591 msgid "Dashed" msgstr "" #: gschem/src/x_dialog.c:592 msgid "Center" msgstr "" #: gschem/src/x_dialog.c:593 msgid "Phantom" msgstr "" #: gschem/src/x_dialog.c:594 gschem/src/x_dialog.c:691 #: gschem/src/x_dialog.c:700 gschem/src/x_dialog.c:709 #: gschem/src/x_dialog.c:810 gschem/src/x_dialog.c:813 #: gschem/src/x_dialog.c:816 gschem/src/x_dialog.c:1043 #: gschem/src/x_dialog.c:1146 gschem/src/x_dialog.c:1155 #: gschem/src/x_dialog.c:1164 gschem/src/x_dialog.c:1173 #: gschem/src/x_dialog.c:1182 gschem/src/x_dialog.c:1295 #: gschem/src/x_dialog.c:1298 gschem/src/x_dialog.c:1301 #: gschem/src/x_dialog.c:1304 gschem/src/x_dialog.c:1307 msgid "*unchanged*" msgstr "" #: gschem/src/x_dialog.c:921 msgid "Edit Line Width & Type" msgstr "" #: gschem/src/x_dialog.c:960 gschem/src/x_print.c:307 msgid "Type:" msgstr "" #: gschem/src/x_dialog.c:964 msgid "Width:" msgstr "" #: gschem/src/x_dialog.c:968 msgid "Dash Length:" msgstr "" #: gschem/src/x_dialog.c:972 msgid "Dash Space:" msgstr "" #: gschem/src/x_dialog.c:1039 msgid "Hollow" msgstr "" #: gschem/src/x_dialog.c:1040 msgid "Filled" msgstr "" #: gschem/src/x_dialog.c:1041 msgid "Mesh" msgstr "" #: gschem/src/x_dialog.c:1042 msgid "Hatch" msgstr "" #: gschem/src/x_dialog.c:1416 msgid "Edit Fill Type" msgstr "" #: gschem/src/x_dialog.c:1455 msgid "Fill Type:" msgstr "" #: gschem/src/x_dialog.c:1459 msgid "Line Width:" msgstr "" #: gschem/src/x_dialog.c:1463 msgid "Angle 1:" msgstr "" #: gschem/src/x_dialog.c:1467 msgid "Pitch 1:" msgstr "" #: gschem/src/x_dialog.c:1471 msgid "Angle 2:" msgstr "" #: gschem/src/x_dialog.c:1475 msgid "Pitch 2:" msgstr "" #: gschem/src/x_dialog.c:1602 msgid "Arc Params" msgstr "" #: gschem/src/x_dialog.c:1643 msgid "Arc Radius:" msgstr "" #: gschem/src/x_dialog.c:1651 msgid "Start Angle:" msgstr "" #: gschem/src/x_dialog.c:1659 msgid "Degrees of Sweep:" msgstr "" #: gschem/src/x_dialog.c:1777 msgid "" "Offset to translate?\n" "(0 for origin)" msgstr "" #: gschem/src/x_dialog.c:1845 msgid "Text Size" msgstr "" #: gschem/src/x_dialog.c:1875 msgid "Enter new text size:" msgstr "" #: gschem/src/x_dialog.c:1951 msgid "Snap Size" msgstr "" #: gschem/src/x_dialog.c:1981 msgid "Enter new snap grid spacing:" msgstr "" #: gschem/src/x_dialog.c:2058 msgid "Edit slot number" msgstr "" #: gschem/src/x_dialog.c:2089 msgid "Edit slot number:" msgstr "" #: gschem/src/x_dialog.c:2130 #, c-format msgid "%s (g%.7s)" msgstr "" #: gschem/src/x_dialog.c:2151 msgid "About gschem" msgstr "" #: gschem/src/x_dialog.c:2152 msgid "gEDA: GPL Electronic Design Automation" msgstr "" #. TRANSLATORS: "ChangeLog" is a literal filename; please don't translate it. #: gschem/src/x_dialog.c:2155 msgid "" "Copyright © 1998-2012 Ales Hvezda \n" "Copyright © 1998-2012 gEDA Contributors (see ChangeLog for details)" msgstr "" #: gschem/src/x_dialog.c:2214 msgid "Coords" msgstr "" #: gschem/src/x_dialog.c:2235 msgid "Screen" msgstr "" #: gschem/src/x_dialog.c:2244 msgid "World" msgstr "" #: gschem/src/x_dialog.c:2283 msgid "Background" msgstr "" #: gschem/src/x_dialog.c:2289 msgid "Net endpoint" msgstr "" #: gschem/src/x_dialog.c:2292 msgid "Graphic" msgstr "" #: gschem/src/x_dialog.c:2301 msgid "Logic bubble" msgstr "" #: gschem/src/x_dialog.c:2304 msgid "Grid point" msgstr "" #: gschem/src/x_dialog.c:2307 msgid "Detached attribute" msgstr "" #: gschem/src/x_dialog.c:2310 gschem/src/x_window.c:387 msgid "Text" msgstr "" #: gschem/src/x_dialog.c:2316 msgid "Selection" msgstr "" #: gschem/src/x_dialog.c:2319 msgid "Bounding box" msgstr "" #: gschem/src/x_dialog.c:2322 msgid "Zoom box" msgstr "" #: gschem/src/x_dialog.c:2331 msgid "Output background" msgstr "" #: gschem/src/x_dialog.c:2334 msgid "Net junction" msgstr "" #: gschem/src/x_dialog.c:2337 msgid "Mesh grid major" msgstr "" #: gschem/src/x_dialog.c:2340 msgid "Mesh grid minor" msgstr "" #: gschem/src/x_dialog.c:2343 msgid "Unknown" msgstr "" #: gschem/src/x_dialog.c:2494 #, c-format msgid "ERROR: NULL object in color_edit_dialog_apply!\n" msgstr "" #: gschem/src/x_dialog.c:2538 msgid "Color Edit" msgstr "" #: gschem/src/x_dialog.c:2569 msgid "Object color:" msgstr "" #: gschem/src/x_dialog.c:2622 msgid "Hotkeys" msgstr "" #: gschem/src/x_dialog.c:2662 msgid "Function" msgstr "" #: gschem/src/x_dialog.c:2669 msgid "Keystroke(s)" msgstr "" #: gschem/src/x_dialog.c:2977 msgid "Find Text" msgstr "" #: gschem/src/x_dialog.c:3008 msgid "Text to find:" msgstr "" #: gschem/src/x_dialog.c:3018 msgid "descend into hierarchy" msgstr "" #: gschem/src/x_dialog.c:3084 msgid "Hide Text" msgstr "" #: gschem/src/x_dialog.c:3115 msgid "Hide text starting with:" msgstr "" #: gschem/src/x_dialog.c:3185 msgid "Show Text" msgstr "" #: gschem/src/x_dialog.c:3216 msgid "Show text starting with:" msgstr "" #: gschem/src/x_dialog.c:3675 msgid "S_elect the schematics you want to save:" msgstr "" #: gschem/src/x_dialog.c:3770 #, c-format msgid "Save the changes to schematic \"%s\" before closing?" msgstr "" #: gschem/src/x_dialog.c:3776 #, c-format msgid "" "There are %d schematics with unsaved changes. Save changes before closing?" msgstr "" #: gschem/src/x_dialog.c:3805 msgid "If you don't save, all your changes will be permanently lost." msgstr "" #: gschem/src/x_dialog.c:3825 msgid "_Close without saving" msgstr "" #: gschem/src/x_dialog.c:4161 #, c-format msgid "" "The input attribute \"%s\" is invalid\n" "Please correct in order to continue\n" "\n" "The name and value must be non-empty.\n" "The name cannot end with a space.\n" "The value cannot start with a space." msgstr "" #: gschem/src/x_dialog.c:4163 msgid "Invalid Attribute" msgstr "" #: gschem/src/x_dialog.c:4199 msgid "Pin type" msgstr "" #: gschem/src/x_dialog.c:4223 msgid "Net pin" msgstr "" #: gschem/src/x_dialog.c:4225 msgid "Bus pin (graphical)" msgstr "" #: gschem/src/x_fileselect.c:42 msgid "Schematics" msgstr "" #: gschem/src/x_fileselect.c:47 msgid "Symbols" msgstr "" #: gschem/src/x_fileselect.c:52 msgid "Schematics and symbols" msgstr "" #: gschem/src/x_fileselect.c:58 msgid "All files" msgstr "" #: gschem/src/x_fileselect.c:171 msgid "Open..." msgstr "" #: gschem/src/x_fileselect.c:231 msgid "Save as..." msgstr "" #: gschem/src/x_fileselect.c:284 #, c-format msgid "" "The selected file `%s' already exists.\n" "\n" "Would you like to overwrite it?" msgstr "" #: gschem/src/x_fileselect.c:287 msgid "Overwrite file?" msgstr "" #: gschem/src/x_fileselect.c:289 msgid "Save cancelled on user request\n" msgstr "" #: gschem/src/x_image.c:176 msgid "Encapsulated Postscript" msgstr "" #: gschem/src/x_image.c:296 #, c-format msgid "x_image_lowlevel: Unable to write eps file %s.\n" msgstr "" #: gschem/src/x_image.c:374 #, c-format msgid "x_image_lowlevel: Unable to write %s file %s.\n" msgstr "" #: gschem/src/x_image.c:384 #, c-format msgid "" "There was the following error when saving image with type %s to filename:\n" "%s\n" "\n" "%s.\n" msgstr "" #: gschem/src/x_image.c:403 #, c-format msgid "Wrote color image to [%s] [%d x %d]\n" msgstr "" #: gschem/src/x_image.c:405 #, c-format msgid "Wrote black and white image to [%s] [%d x %d]\n" msgstr "" #: gschem/src/x_image.c:413 msgid "x_image_lowlevel: Unable to get pixbuf from gschem's window.\n" msgstr "" #: gschem/src/x_image.c:458 msgid "Width x Height" msgstr "" #: gschem/src/x_image.c:474 msgid "Image type" msgstr "" #: gschem/src/x_image.c:495 msgid "Write image..." msgstr "כתוב תמונה..." #: gschem/src/x_log.c:209 msgid "** Invalid UTF-8 in log message. See stderr or gschem.log.\n" msgstr "" #: gschem/src/x_log.c:288 msgid "Status" msgstr "" #: gschem/src/x_menus.c:37 msgid "/Add Net" msgstr "" #: gschem/src/x_menus.c:38 msgid "/Add Attribute..." msgstr "" #: gschem/src/x_menus.c:39 msgid "/Add Component..." msgstr "" #: gschem/src/x_menus.c:40 msgid "/Add Bus" msgstr "" #: gschem/src/x_menus.c:41 msgid "/Add Text" msgstr "" #: gschem/src/x_menus.c:43 msgid "/Zoom In" msgstr "" #: gschem/src/x_menus.c:44 msgid "/Zoom Out" msgstr "" #: gschem/src/x_menus.c:45 msgid "/Zoom Box" msgstr "" #: gschem/src/x_menus.c:46 msgid "/Zoom Extents" msgstr "" #: gschem/src/x_menus.c:48 msgid "/Select" msgstr "" #: gschem/src/x_menus.c:49 msgid "/Edit..." msgstr "" #: gschem/src/x_menus.c:50 msgid "/Edit pin type..." msgstr "" #: gschem/src/x_menus.c:51 msgid "/Copy" msgstr "" #: gschem/src/x_menus.c:52 msgid "/Move" msgstr "" #: gschem/src/x_menus.c:53 msgid "/Delete" msgstr "" #: gschem/src/x_menus.c:56 msgid "/Down Schematic" msgstr "" #: gschem/src/x_menus.c:57 msgid "/Down Symbol" msgstr "" #: gschem/src/x_menus.c:58 msgid "/Up" msgstr "" #: gschem/src/x_menus.c:348 #, c-format msgid "Tried to set the sensitivity on non-existent menu item '%s'\n" msgstr "" #: gschem/src/x_menus.c:372 msgid "Popup_menu_item_factory doesn't exist!\n" msgstr "" #: gschem/src/x_menus.c:385 msgid "Tried to set the sensitivity on a non-existent popup menu_item\n" msgstr "" #: gschem/src/x_misc.c:74 msgid "The operating system is out of memory or resources." msgstr "" #: gschem/src/x_misc.c:155 #, c-format msgid "%s failed to launch URI" msgstr "" #: gschem/src/x_multiattrib.c:961 msgid "Attributes with empty name are not allowed. Please set a name." msgstr "" #: gschem/src/x_multiattrib.c:1514 msgid "Show Value only" msgstr "" #: gschem/src/x_multiattrib.c:1516 msgid "Show Name only" msgstr "" #: gschem/src/x_multiattrib.c:1544 msgid "Promote" msgstr "" #: gschem/src/x_multiattrib.c:1548 msgid "Duplicate" msgstr "" #: gschem/src/x_multiattrib.c:1765 msgid "Edit Attributes" msgstr "" #: gschem/src/x_multiattrib.c:1883 msgid "Vis?" msgstr "" #: gschem/src/x_multiattrib.c:1901 msgid "N" msgstr "" #: gschem/src/x_multiattrib.c:1919 msgid "V" msgstr "" #: gschem/src/x_multiattrib.c:1941 msgid "Show inherited attributes" msgstr "" #: gschem/src/x_multiattrib.c:1957 msgid "Add Attribute" msgstr "" #: gschem/src/x_pagesel.c:246 msgid "New Page" msgstr "דף חדש" #: gschem/src/x_pagesel.c:247 msgid "Open Page..." msgstr "פתח דף..." #: gschem/src/x_pagesel.c:249 msgid "Save Page" msgstr "שמור דף" #: gschem/src/x_pagesel.c:250 msgid "Close Page" msgstr "סגור דף" #: gschem/src/x_pagesel.c:251 msgid "Discard Page" msgstr "" #: gschem/src/x_pagesel.c:369 msgid "Page Manager" msgstr "" #: gschem/src/x_pagesel.c:425 msgid "Filename" msgstr "" #: gschem/src/x_pagesel.c:441 msgid "Changed" msgstr "" #: gschem/src/x_pagesel.c:461 msgid "Right click on the filename for more options..." msgstr "" #: gschem/src/x_preview.c:231 msgid "Preview Buffer" msgstr "" #: gschem/src/x_print.c:84 msgid "Select PostScript Filename..." msgstr "" #: gschem/src/x_print.c:164 msgid "Extents with margins" msgstr "" #: gschem/src/x_print.c:170 msgid "Extents no margins" msgstr "" #: gschem/src/x_print.c:176 msgid "Current Window" msgstr "" #: gschem/src/x_print.c:210 msgid "Landscape" msgstr "" #: gschem/src/x_print.c:216 msgid "Portrait" msgstr "" #: gschem/src/x_print.c:276 msgid "Print..." msgstr "הדפס..." #: gschem/src/x_print.c:284 msgid "Settings" msgstr "" #: gschem/src/x_print.c:296 msgid "Output paper size:" msgstr "" #: gschem/src/x_print.c:318 msgid "Orientation:" msgstr "" #: gschem/src/x_print.c:330 msgid "Destination" msgstr "" #: gschem/src/x_print.c:343 msgid "File:" msgstr "" #: gschem/src/x_print.c:373 msgid "Command:" msgstr "" #: gschem/src/x_print.c:745 msgid "No print destination specified\n" msgstr "" #: gschem/src/x_print.c:752 #, c-format msgid "Cannot print current schematic to [%s]\n" msgstr "" #: gschem/src/x_print.c:761 #, c-format msgid "" "Error printing to file '%s'\n" "Check the log window for more information" msgstr "" #: gschem/src/x_print.c:768 #, c-format msgid "Printed current schematic to [%s]\n" msgstr "" #: gschem/src/x_rc.c:40 msgid "ERROR: An unknown error occurred while parsing configuration files.\n" msgstr "" #: gschem/src/x_rc.c:45 msgid "" "An unknown error occurred while parsing configuration files.\n" "\n" "The gschem log may contain more information." msgstr "" #: gschem/src/x_rc.c:57 #, c-format msgid "ERROR: %s\n" msgstr "" #: gschem/src/x_rc.c:60 #, c-format msgid "" "%s\n" "\n" "The gschem log may contain more information." msgstr "" #: gschem/src/x_rc.c:68 msgid "Cannot load gschem configuration." msgstr "" #: gschem/src/x_script.c:47 gschem/lib/system-gschemrc.scm:1381 msgid "Execute Script..." msgstr "בצע תסריט..." #: gschem/src/x_script.c:66 #, c-format msgid "Executing guile script [%s]\n" msgstr "" #: gschem/src/x_window.c:82 #, c-format msgid "Couldn't allocate gc\n" msgstr "" #: gschem/src/x_window.c:321 msgid "New" msgstr "חדש" #: gschem/src/x_window.c:322 msgid "New file" msgstr "" #: gschem/src/x_window.c:328 msgid "Open" msgstr "" #: gschem/src/x_window.c:329 msgid "Open file..." msgstr "" #: gschem/src/x_window.c:335 msgid "Save" msgstr "" #: gschem/src/x_window.c:336 msgid "Save file" msgstr "" #: gschem/src/x_window.c:343 msgid "Undo" msgstr "בטל את הפעולה האחרונה" #: gschem/src/x_window.c:344 msgid "Undo last operation" msgstr "" #: gschem/src/x_window.c:350 msgid "Redo" msgstr "בצע שוב" #: gschem/src/x_window.c:351 msgid "Redo last undo" msgstr "" #: gschem/src/x_window.c:360 msgid "" "Add component...\n" "Select library and component from list, move the mouse into main window, " "click to place\n" "Right mouse button to cancel" msgstr "" #: gschem/src/x_window.c:370 msgid "" "Add nets mode\n" "Right mouse button to cancel" msgstr "" #: gschem/src/x_window.c:380 msgid "" "Add buses mode\n" "Right mouse button to cancel" msgstr "" #: gschem/src/x_window.c:388 msgid "Add Text..." msgstr "" #: gschem/src/x_window.c:398 msgid "Select" msgstr "" #: gschem/src/x_window.c:399 msgid "Select mode" msgstr "" #: gschem/src/x_window.c:465 msgid "Evaluate:" msgstr "" #: gschem/src/x_window.c:484 msgid "Pick" msgstr "" #: gschem/src/x_window.c:500 msgid "Repeat/none" msgstr "" #: gschem/src/x_window.c:510 msgid "Menu/Cancel" msgstr "" #: gschem/src/x_window.c:512 msgid "Pan/Cancel" msgstr "" #: gschem/src/x_window.c:737 #, c-format msgid "Loading schematic [%s]\n" msgstr "" #: gschem/src/x_window.c:748 #, c-format msgid "" "An error occurred while loading the requested file.\n" "\n" "Loading from '%s' failed: %s. The gschem log may contain more information." msgstr "" #: gschem/src/x_window.c:750 msgid "Failed to load file" msgstr "" #: gschem/src/x_window.c:759 #, c-format msgid "New file [%s]\n" msgstr "" #: gschem/src/x_window.c:862 #, c-format msgid "Could NOT save page [%s]\n" msgstr "" #: gschem/src/x_window.c:863 msgid "Error while trying to save" msgstr "" #: gschem/src/x_window.c:873 msgid "Failed to save file" msgstr "" #: gschem/src/x_window.c:884 #, c-format msgid "Saved as [%s]\n" msgstr "" #: gschem/src/x_window.c:886 #, c-format msgid "Saved [%s]\n" msgstr "" #: gschem/src/x_window.c:888 msgid "Saved" msgstr "" #: gschem/src/x_window.c:962 #, c-format msgid "Discarding page [%s]\n" msgstr "" #: gschem/src/x_window.c:962 #, c-format msgid "Closing [%s]\n" msgstr "" #: gschem/data/geda-gschem.desktop.in:3 msgid "gEDA Schematic Editor" msgstr "" #: gschem/data/geda-gschem.desktop.in:4 msgid "Create and edit electrical schematics and symbols with gschem" msgstr "" #: gschem/lib/system-gschemrc.scm:1368 msgid "_New" msgstr "" #: gschem/lib/system-gschemrc.scm:1369 msgid "_Open..." msgstr "" #: gschem/lib/system-gschemrc.scm:1371 msgid "Open Recen_t" msgstr "" #: gschem/lib/system-gschemrc.scm:1373 msgid "_Save" msgstr "" #: gschem/lib/system-gschemrc.scm:1374 msgid "Save _As..." msgstr "" #: gschem/lib/system-gschemrc.scm:1375 msgid "Save All" msgstr "שמור הכל" #: gschem/lib/system-gschemrc.scm:1376 gschem/lib/system-gschemrc.scm:1469 msgid "_Revert" msgstr "" #: gschem/lib/system-gschemrc.scm:1378 msgid "_Print..." msgstr "" #: gschem/lib/system-gschemrc.scm:1379 msgid "Write _image..." msgstr "" #: gschem/lib/system-gschemrc.scm:1383 msgid "New Window" msgstr "חלון חדש" #: gschem/lib/system-gschemrc.scm:1384 msgid "_Close Window" msgstr "" #: gschem/lib/system-gschemrc.scm:1385 msgid "_Quit" msgstr "" #: gschem/lib/system-gschemrc.scm:1391 msgid "_Undo" msgstr "" #: gschem/lib/system-gschemrc.scm:1392 msgid "_Redo" msgstr "" #: gschem/lib/system-gschemrc.scm:1394 msgid "Cu_t" msgstr "" #: gschem/lib/system-gschemrc.scm:1395 msgid "_Copy" msgstr "" #: gschem/lib/system-gschemrc.scm:1396 msgid "_Paste" msgstr "" #: gschem/lib/system-gschemrc.scm:1397 msgid "_Delete" msgstr "" #: gschem/lib/system-gschemrc.scm:1400 msgid "Select All" msgstr "" #: gschem/lib/system-gschemrc.scm:1401 msgid "Deselect" msgstr "" #: gschem/lib/system-gschemrc.scm:1405 msgid "Rotate 90 Mode" msgstr "מצב סיבוב 90" #: gschem/lib/system-gschemrc.scm:1408 msgid "Edit..." msgstr "ערוך..." #: gschem/lib/system-gschemrc.scm:1409 msgid "Edit Text..." msgstr "ערוך טקסט" #: gschem/lib/system-gschemrc.scm:1410 msgid "Slot..." msgstr "חריץ..." #: gschem/lib/system-gschemrc.scm:1411 msgid "Color..." msgstr "צבע..." #: gschem/lib/system-gschemrc.scm:1412 msgid "Line Width & Type..." msgstr "סוג ורוחב קו..." #: gschem/lib/system-gschemrc.scm:1413 msgid "Fill Type..." msgstr "צורת מילוי..." #: gschem/lib/system-gschemrc.scm:1414 msgid "Symbol Translate..." msgstr "תרגם סמל..." #: gschem/lib/system-gschemrc.scm:1418 msgid "Invoke Macro" msgstr "" #: gschem/lib/system-gschemrc.scm:1419 msgid "Embed Component/Picture" msgstr "שבץ רכיב/תמונה" #: gschem/lib/system-gschemrc.scm:1420 msgid "Unembed Component/Picture" msgstr "שחרר משיבוץ רכיב/תמונה" #: gschem/lib/system-gschemrc.scm:1421 msgid "Update Component" msgstr "עדכן רכיב" #: gschem/lib/system-gschemrc.scm:1422 msgid "Show/Hide Inv Text" msgstr "הראה/הסתר טקסט חבוי" #: gschem/lib/system-gschemrc.scm:1428 msgid "Copy into 1" msgstr "העתק אל 1" #: gschem/lib/system-gschemrc.scm:1429 msgid "Copy into 2" msgstr "העתק אל 2" #: gschem/lib/system-gschemrc.scm:1430 msgid "Copy into 3" msgstr "העתק אל 3" #: gschem/lib/system-gschemrc.scm:1431 msgid "Copy into 4" msgstr "העתק אל 4" #: gschem/lib/system-gschemrc.scm:1432 msgid "Copy into 5" msgstr "העתק אל 5" #: gschem/lib/system-gschemrc.scm:1433 msgid "Cut into 1" msgstr "גזור אל 1" #: gschem/lib/system-gschemrc.scm:1434 msgid "Cut into 2" msgstr "גזור אל 2" #: gschem/lib/system-gschemrc.scm:1435 msgid "Cut into 3" msgstr "גזור אל 3" #: gschem/lib/system-gschemrc.scm:1436 msgid "Cut into 4" msgstr "גזור אל 4" #: gschem/lib/system-gschemrc.scm:1437 msgid "Cut into 5" msgstr "גזור אל 5" #: gschem/lib/system-gschemrc.scm:1438 msgid "Paste from 1" msgstr "הדבק מ-1" #: gschem/lib/system-gschemrc.scm:1439 msgid "Paste from 2" msgstr "הדבק מ-2" #: gschem/lib/system-gschemrc.scm:1440 msgid "Paste from 3" msgstr "הדבק מ-3" #: gschem/lib/system-gschemrc.scm:1441 msgid "Paste from 4" msgstr "הדבק מ-4" #: gschem/lib/system-gschemrc.scm:1442 msgid "Paste from 5" msgstr "הדבק מ-5" #: gschem/lib/system-gschemrc.scm:1448 msgid "_Redraw" msgstr "" #: gschem/lib/system-gschemrc.scm:1449 msgid "_Pan" msgstr "" #: gschem/lib/system-gschemrc.scm:1450 msgid "Zoom _Box" msgstr "" #: gschem/lib/system-gschemrc.scm:1451 msgid "Zoom _Extents" msgstr "" #: gschem/lib/system-gschemrc.scm:1452 msgid "Zoom _In" msgstr "" #: gschem/lib/system-gschemrc.scm:1453 msgid "Zoom _Out" msgstr "" #: gschem/lib/system-gschemrc.scm:1454 msgid "Zoom _Full" msgstr "" #: gschem/lib/system-gschemrc.scm:1456 msgid "_Dark color scheme" msgstr "" #: gschem/lib/system-gschemrc.scm:1457 msgid "_Light color scheme" msgstr "" #: gschem/lib/system-gschemrc.scm:1458 msgid "B_W color scheme" msgstr "" #: gschem/lib/system-gschemrc.scm:1465 msgid "_Manager..." msgstr "" #: gschem/lib/system-gschemrc.scm:1466 msgid "_Previous" msgstr "" #: gschem/lib/system-gschemrc.scm:1467 msgid "_Next" msgstr "" #: gschem/lib/system-gschemrc.scm:1468 msgid "Ne_w" msgstr "" #: gschem/lib/system-gschemrc.scm:1470 msgid "_Close" msgstr "" #: gschem/lib/system-gschemrc.scm:1472 msgid "_Discard" msgstr "" #: gschem/lib/system-gschemrc.scm:1478 msgid "_Component..." msgstr "" #: gschem/lib/system-gschemrc.scm:1479 msgid "_Net" msgstr "" #: gschem/lib/system-gschemrc.scm:1480 msgid "B_us" msgstr "" #: gschem/lib/system-gschemrc.scm:1481 msgid "_Attribute..." msgstr "" #: gschem/lib/system-gschemrc.scm:1482 msgid "_Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1484 msgid "_Line" msgstr "" #: gschem/lib/system-gschemrc.scm:1485 msgid "_Box" msgstr "" #: gschem/lib/system-gschemrc.scm:1486 msgid "C_ircle" msgstr "" #: gschem/lib/system-gschemrc.scm:1487 msgid "A_rc" msgstr "" #: gschem/lib/system-gschemrc.scm:1488 msgid "_Pin" msgstr "" #: gschem/lib/system-gschemrc.scm:1489 msgid "Pictu_re..." msgstr "" #: gschem/lib/system-gschemrc.scm:1495 msgid "_Down Schematic" msgstr "" #: gschem/lib/system-gschemrc.scm:1496 msgid "Down _Symbol" msgstr "" #: gschem/lib/system-gschemrc.scm:1497 msgid "_Up" msgstr "" #: gschem/lib/system-gschemrc.scm:1498 msgid "D_ocumentation..." msgstr "" #: gschem/lib/system-gschemrc.scm:1504 msgid "_Attach" msgstr "" #: gschem/lib/system-gschemrc.scm:1505 msgid "_Detach" msgstr "" #: gschem/lib/system-gschemrc.scm:1506 msgid "Show _Value" msgstr "" #: gschem/lib/system-gschemrc.scm:1507 msgid "Show _Name" msgstr "" #: gschem/lib/system-gschemrc.scm:1508 msgid "Show _Both" msgstr "" #: gschem/lib/system-gschemrc.scm:1509 msgid "_Toggle Visibility" msgstr "" #: gschem/lib/system-gschemrc.scm:1511 msgid "_Find Specific Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1512 msgid "_Hide Specific Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1513 msgid "_Show Specific Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1514 msgid "A_utonumber Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1520 msgid "_Text Size..." msgstr "" #: gschem/lib/system-gschemrc.scm:1521 msgid "Cycle _grid styles" msgstr "" #: gschem/lib/system-gschemrc.scm:1522 msgid "Toggle _Snap On/Off" msgstr "" #: gschem/lib/system-gschemrc.scm:1523 msgid "Snap Grid S_pacing..." msgstr "" #: gschem/lib/system-gschemrc.scm:1524 msgid "Scale _up Grid Spacing" msgstr "" #: gschem/lib/system-gschemrc.scm:1526 msgid "Scale _down Grid Spacing" msgstr "" #: gschem/lib/system-gschemrc.scm:1528 msgid "Toggle _Outline/Box" msgstr "" #: gschem/lib/system-gschemrc.scm:1530 msgid "Toggle Net _Rubberband" msgstr "" #: gschem/lib/system-gschemrc.scm:1531 msgid "Toggle _Magnetic Net" msgstr "" #: gschem/lib/system-gschemrc.scm:1532 msgid "Show _Log Window..." msgstr "" #: gschem/lib/system-gschemrc.scm:1534 msgid "Show _Coord Window..." msgstr "" #: gschem/lib/system-gschemrc.scm:1542 msgid "gEDA Docu_mentation..." msgstr "" #: gschem/lib/system-gschemrc.scm:1543 msgid "gschem _FAQ..." msgstr "" #: gschem/lib/system-gschemrc.scm:1544 msgid "gEDA _Wiki..." msgstr "" #: gschem/lib/system-gschemrc.scm:1545 msgid "Component D_ocumentation..." msgstr "" #: gschem/lib/system-gschemrc.scm:1547 msgid "_Hotkeys..." msgstr "" #: gschem/lib/system-gschemrc.scm:1548 msgid "_About..." msgstr "" #: gschem/lib/system-gschemrc.scm:1554 msgid "_File" msgstr "קובץ" #: gschem/lib/system-gschemrc.scm:1555 msgid "_Edit" msgstr "עריכה" #: gschem/lib/system-gschemrc.scm:1556 msgid "_Buffer" msgstr "חוצץ" #: gschem/lib/system-gschemrc.scm:1557 msgid "_View" msgstr "הצג" #: gschem/lib/system-gschemrc.scm:1558 msgid "_Page" msgstr "דף" #: gschem/lib/system-gschemrc.scm:1559 msgid "_Add" msgstr "הוסף" #: gschem/lib/system-gschemrc.scm:1560 msgid "Hie_rarchy" msgstr "היררכיה" #: gschem/lib/system-gschemrc.scm:1561 msgid "A_ttributes" msgstr "מאפיינים" #: gschem/lib/system-gschemrc.scm:1562 msgid "_Options" msgstr "הגדרות" #: gschem/lib/system-gschemrc.scm:1563 msgid "_Help" msgstr "" #: gschem/scheme/gschem/deprecated.scm:102 #, scheme-format msgid "Invalid text alignment ~A." msgstr "" #: gschem/scheme/gschem/gschemdoc.scm:225 msgid "No documentation found" msgstr "" #: gschem/scheme/gschem/keymap.scm:38 #, scheme-format msgid "~S is not a valid key combination." msgstr "" #: gschem/scheme/gschem/keymap.scm:153 #, scheme-format msgid "~S is not a prefix key sequence." msgstr "" geda-gaf-1.8.2/gschem/po/tr.gmo0000664000175000017500000001064312220655645013130 00000000000000Z    ! & 0 < H T `l         ) 4 < A V [ g l v            , 9 B G N ] i r |          $ 3 8 @ F L R [ a g } ) 7 H N S a f o u       "+3;CGMVe w     -CG L Wd   %,5M]n~    &9INU^d lx ~AFW8&IBT;@V7$:Z#M<1C6S"(X!UG)-K94L D PR0O52?= + EQ*,H./ NJY%'>3A_ttributesAbout gschemArcAttachAttributesBoxBusCircleClose PageClosing Window ColorColor...CopyCopy ModeCopy into 1Copy into 2Copy into 3Copy into 4Copy into 5Current locale settings: %s Cut into 1Cut into 2Cut into 3Cut into 4Cut into 5DeleteDetachEditEdit TextEdit Text...Edit...Embed Component/PictureExecute Script...Fill Type...Hie_rarchyHotkeysLineLine Width & Type...LockMirror ModeMoveMove ModeMultiple CopyMultiple Copy ModeNetNewNew PageNew WindowNew Window created [%s] New page created [%s] OFFOpen Page...PanPaste from 1Paste from 2Paste from 3Paste from 4Paste from 5Print...RedoRotateRotate 90 ModeRotate ModeSave AllSave PageSaved AllSelect ModeShow HiddenShow/Hide Inv TextSlotSlot...Symbol Translate...Text ModeTranslateUndoUnembed Component/PictureUnlockUpdateUpdate ComponentWrite image..._Add_Buffer_Edit_File_Help_Options_Page_ViewgEDA Schematic EditorProject-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-01-27 14:22+0000 Last-Translator: FULL NAME Language-Team: gEDA developers Language: tr MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) Özniteliklergschem HakkındaEğriEkleÖzniteliklerKutuVeriyoluDaireSayfayı KapatPencere kapatılıyor RenkRenk...KopyalaKopyalama Kipi1'e kopyala2'ye kopyala3'e kopyala4'e kopyala5'e kopyalaŞu andaki yerel ayarlar: %s 1'e Kes2'ye Kes3'e Kes4'e Kes5'e KesSilAyırDüzenleMetni DüzenleMetin Düzenle...Düzenle...Bileşen/Resim gömBetik Çalıştır...doldurma tipi..HiyerarşiKısayollarSatırÇizgi Kalınlığı & TipiKilitleAyna moduTaşıTaşıma KipiÇoklu kopyalaÇoklu Kopyalama KipiAğYeniYeni SayfaYeni pencereYeni pencere oluşturuldu [%s] Yeni sayfa oluşturuldu [%s] KAPALISayfa Aç...Kaydırma1'den yapıştır2'den yapıştır3'ten yapıştır4'ten yapıştır5'ten yapıştırYazdır...YineleDöndür90 derece döndür kipiDöndürme kipiTümünü kaydetSayfayı KaydetHepsi kaydedildiSeçim KipiGizlileri GösterMetni Göster/GizleSlotYuva...Sembölü çevir..Metin kipiÇevirGeri AlBileşen/resim gömmeKilidi AçGüncelleBileşen Güncelleimaj olarak yazEkleTamponDüzenleDosyaYardımSeçeneklerSayfaGörüntülegEDA Şematik Editörügeda-gaf-1.8.2/gschem/po/fa.po0000664000175000017500000013715312220655644012732 00000000000000# Persian translation for geda # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-01-27 14:22+0000\n" "Last-Translator: Sasan Jafarnejad \n" "Language-Team: gEDA developers \n" "Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: gschem/src/a_zoom.c:212 msgid "Zoom too small! Cannot zoom further.\n" msgstr "" #: gschem/src/g_attrib.c:92 msgid "Object ~A is not included in the current gschem page." msgstr "" #: gschem/src/g_attrib.c:112 msgid "Invalid text name/value visibility ~A." msgstr "" #: gschem/src/g_rc.c:312 #, c-format msgid "Invalid zoomfactor [%d] passed to %s\n" msgstr "" #: gschem/src/g_rc.c:458 #, c-format msgid "Invalid size [%d] passed to text-size\n" msgstr "" #: gschem/src/g_rc.c:501 #, c-format msgid "Invalid size [%d] passed to snap-size\n" msgstr "" #: gschem/src/g_rc.c:958 #, c-format msgid "Invalid num levels [%d] passed to undo-levels\n" msgstr "" #: gschem/src/g_rc.c:1220 #, c-format msgid "Invalid size [%d] passed to bus-ripper-size\n" msgstr "" #: gschem/src/g_rc.c:1295 #, c-format msgid "Invalid dot size [%d] passed to dots-grid-dot-size\n" msgstr "" #: gschem/src/g_rc.c:1336 #, c-format msgid "Invalid pixel spacing [%d] passed to dots-grid-fixed-threshold\n" msgstr "" #: gschem/src/g_rc.c:1362 #, c-format msgid "Invalid pixel spacing [%d] passed to mesh-grid-display-threshold\n" msgstr "" #: gschem/src/g_rc.c:1387 #, c-format msgid "Invalid offset [%d] passed to add-attribute-offset\n" msgstr "" #: gschem/src/g_rc.c:1411 #, c-format msgid "Invalid number of seconds [%d] passed to auto-save-interval\n" msgstr "" #: gschem/src/g_rc.c:1435 #, c-format msgid "Invalid gain [%d] passed to mousepan-gain\n" msgstr "" #: gschem/src/g_rc.c:1458 #, c-format msgid "Invalid gain [%d] passed to keyboardpan-gain\n" msgstr "" #: gschem/src/g_rc.c:1505 #, c-format msgid "Invalid number of pixels [%d] passed to select-slack-pixels\n" msgstr "" #: gschem/src/g_rc.c:1531 #, c-format msgid "Invalid gain [%d] passed to zoom-gain\n" msgstr "" #: gschem/src/g_rc.c:1556 #, c-format msgid "Invalid number of steps [%d] scrollpan-steps\n" msgstr "" #: gschem/src/g_select.c:79 gschem/src/g_select.c:116 #: gschem/src/g_select.c:152 msgid "Object ~A is not directly included in a page." msgstr "" #: gschem/src/g_util.c:56 msgid "Could not launch URI ~S: ~A" msgstr "" #: gschem/src/g_window.c:136 msgid "Found invalid gschem window smob ~S" msgstr "" #: gschem/src/gschem.c:175 #, c-format msgid "gEDA/gschem version %s%s.%s\n" msgstr "" #: gschem/src/gschem.c:178 msgid "" "gEDA/gschem comes with ABSOLUTELY NO WARRANTY; see COPYING for more " "details.\n" msgstr "" #: gschem/src/gschem.c:180 msgid "" "This is free software, and you are welcome to redistribute it under certain\n" msgstr "" #: gschem/src/gschem.c:182 msgid "" "conditions; please see the COPYING file for more details.\n" "\n" msgstr "" #: gschem/src/gschem.c:185 #, c-format msgid "This is the MINGW32 port.\n" msgstr "" #: gschem/src/gschem.c:189 #, c-format msgid "Current locale settings: %s\n" msgstr "" #: gschem/src/gschem.c:211 msgid "" "You must set the GEDADATA environment variable!\n" "\n" "gschem cannot locate its data files. You must set the GEDADATA\n" "environment variable to point to the correct location.\n" msgstr "" #: gschem/src/gschem.c:248 #, c-format msgid "Couldn't find init scm file [%s]\n" msgstr "" #: gschem/src/gschem.c:252 #, c-format msgid "Read init scm file [%s]\n" msgstr "" #: gschem/src/gschem.c:256 #, c-format msgid "Failed to read init scm file [%s]\n" msgstr "" #: gschem/src/gschem_cairo.c:310 #, c-format msgid "Unknown end for line (%d)\n" msgstr "" #: gschem/src/gschem_cairo.c:318 #, c-format msgid "Unknown type for stroke (%d) !\n" msgstr "" #: gschem/src/gschem_pango.c:289 msgid "cairo context" msgstr "" #: gschem/src/gschem_pango.c:290 msgid "the cairo context for the renderer" msgstr "" #: gschem/src/i_basic.c:77 gschem/src/x_window.c:524 #: gschem/lib/system-gschemrc.scm:1399 msgid "Select Mode" msgstr "Select Mode" #: gschem/src/i_basic.c:79 msgid "Component Mode" msgstr "" #: gschem/src/i_basic.c:81 msgid "Text Mode" msgstr "" #: gschem/src/i_basic.c:84 gschem/lib/system-gschemrc.scm:1402 msgid "Copy Mode" msgstr "Copy Mode" #: gschem/src/i_basic.c:87 gschem/lib/system-gschemrc.scm:1404 msgid "Move Mode" msgstr "Move Mode" #: gschem/src/i_basic.c:89 msgid "Rotate Mode" msgstr "" #: gschem/src/i_basic.c:91 gschem/lib/system-gschemrc.scm:1406 msgid "Mirror Mode" msgstr "Mirror Mode" #: gschem/src/i_basic.c:95 msgid "Zoom Box" msgstr "Zoom Box" #: gschem/src/i_basic.c:99 msgid "Pan Mode" msgstr "" #: gschem/src/i_basic.c:103 #, c-format msgid "Paste %d Mode" msgstr "" #: gschem/src/i_basic.c:109 msgid "Magnetic Net Mode" msgstr "" #: gschem/src/i_basic.c:111 msgid "Net Mode" msgstr "" #: gschem/src/i_basic.c:115 msgid "Bus Mode" msgstr "" #: gschem/src/i_basic.c:118 msgid "Line Mode" msgstr "" #: gschem/src/i_basic.c:121 msgid "Box Mode" msgstr "" #: gschem/src/i_basic.c:124 msgid "Picture Mode" msgstr "" #: gschem/src/i_basic.c:127 msgid "Circle Mode" msgstr "" #: gschem/src/i_basic.c:130 msgid "Arc Mode" msgstr "" #: gschem/src/i_basic.c:133 msgid "Pin Mode" msgstr "" #: gschem/src/i_basic.c:135 gschem/src/i_callbacks.c:529 #: gschem/src/i_callbacks.c:553 msgid "Copy" msgstr "" #: gschem/src/i_basic.c:137 gschem/src/i_callbacks.c:619 #: gschem/src/i_callbacks.c:643 msgid "Move" msgstr "" #: gschem/src/i_basic.c:139 gschem/src/i_callbacks.c:574 #: gschem/src/i_callbacks.c:598 msgid "Multiple Copy" msgstr "" #: gschem/src/i_basic.c:142 gschem/lib/system-gschemrc.scm:1403 msgid "Multiple Copy Mode" msgstr "Multiple Copy Mode" #: gschem/src/i_basic.c:168 msgid "Show Hidden" msgstr "" #: gschem/src/i_basic.c:171 msgid "Snap Off" msgstr "" #: gschem/src/i_basic.c:173 msgid "Resnap Active" msgstr "" #: gschem/src/i_basic.c:254 gschem/src/x_window.c:498 msgid "Action" msgstr "" #: gschem/src/i_basic.c:260 gschem/src/x_dialog.c:2325 #: gschem/src/x_window.c:493 msgid "Stroke" msgstr "" #: gschem/src/i_basic.c:266 gschem/src/x_window.c:495 msgid "none" msgstr "" #: gschem/src/i_basic.c:271 msgid "Repeat/" msgstr "" #: gschem/src/i_basic.c:566 gschem/src/i_basic.c:580 msgid "OFF" msgstr "" #: gschem/src/i_basic.c:584 msgid "NONE" msgstr "" #: gschem/src/i_basic.c:589 #, c-format msgid "Grid(%s, %s)" msgstr "" #: gschem/src/i_callbacks.c:76 gschem/src/i_callbacks.c:1659 #, c-format msgid "New page created [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:124 #, c-format msgid "New Window created [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:242 msgid "Failed to Save All" msgstr "" #: gschem/src/i_callbacks.c:244 msgid "Saved All" msgstr "" #: gschem/src/i_callbacks.c:334 msgid "Closing Window\n" msgstr "" #: gschem/src/i_callbacks.c:534 gschem/src/i_callbacks.c:579 #: gschem/src/i_callbacks.c:624 msgid "Select objs first" msgstr "" #: gschem/src/i_callbacks.c:663 gschem/src/x_multiattrib.c:1549 msgid "Delete" msgstr "Delete" #: gschem/src/i_callbacks.c:688 msgid "Edit" msgstr "Edit" #: gschem/src/i_callbacks.c:703 msgid "Edit pin type" msgstr "" #: gschem/src/i_callbacks.c:722 msgid "Edit Text" msgstr "" #: gschem/src/i_callbacks.c:745 msgid "Slot" msgstr "" #: gschem/src/i_callbacks.c:762 msgid "Color" msgstr "" #: gschem/src/i_callbacks.c:799 gschem/src/i_callbacks.c:844 msgid "Rotate" msgstr "" #: gschem/src/i_callbacks.c:866 gschem/src/i_callbacks.c:891 msgid "Mirror" msgstr "" #: gschem/src/i_callbacks.c:912 gschem/src/x_dialog.c:2328 #: gschem/lib/system-gschemrc.scm:1415 msgid "Lock" msgstr "Lock" #: gschem/src/i_callbacks.c:930 gschem/lib/system-gschemrc.scm:1416 msgid "Unlock" msgstr "Unlock" #: gschem/src/i_callbacks.c:948 gschem/src/x_dialog.c:1746 msgid "Translate" msgstr "" #: gschem/src/i_callbacks.c:951 msgid "WARNING: Do not translate with snap off!\n" msgstr "" #: gschem/src/i_callbacks.c:952 msgid "WARNING: Turning snap on and continuing with translate.\n" msgstr "" #: gschem/src/i_callbacks.c:959 msgid "WARNING: Snap grid size is not equal to 100!\n" msgstr "" #: gschem/src/i_callbacks.c:961 msgid "" "WARNING: If you are translating a symbol to the origin, the snap grid size " "should be set to 100\n" msgstr "" #: gschem/src/i_callbacks.c:992 msgid "Embed" msgstr "" #: gschem/src/i_callbacks.c:1031 msgid "Unembed" msgstr "" #: gschem/src/i_callbacks.c:1073 msgid "Update" msgstr "" #: gschem/src/i_callbacks.c:1120 msgid "ShowHidden" msgstr "" #: gschem/src/i_callbacks.c:1426 gschem/src/i_callbacks.c:1498 msgid "Pan" msgstr "Pan" #: gschem/src/i_callbacks.c:1703 msgid "Really revert page?" msgstr "" #: gschem/src/i_callbacks.c:1773 msgid "Copy to clipboard" msgstr "" #: gschem/src/i_callbacks.c:1791 msgid "Cut to clipboard" msgstr "" #: gschem/src/i_callbacks.c:1809 msgid "Paste from clipboard" msgstr "" #: gschem/src/i_callbacks.c:1821 gschem/src/i_callbacks.c:2060 #: gschem/src/i_callbacks.c:2082 gschem/src/i_callbacks.c:2104 #: gschem/src/i_callbacks.c:2126 gschem/src/i_callbacks.c:2148 msgid "Empty buffer" msgstr "" #: gschem/src/i_callbacks.c:1866 msgid "Copy 1" msgstr "" #: gschem/src/i_callbacks.c:1885 msgid "Copy 2" msgstr "" #: gschem/src/i_callbacks.c:1904 msgid "Copy 3" msgstr "" #: gschem/src/i_callbacks.c:1923 msgid "Copy 4" msgstr "" #: gschem/src/i_callbacks.c:1942 msgid "Copy 5" msgstr "" #: gschem/src/i_callbacks.c:1961 msgid "Cut 1" msgstr "" #: gschem/src/i_callbacks.c:1980 msgid "Cut 2" msgstr "" #: gschem/src/i_callbacks.c:1999 msgid "Cut 3" msgstr "" #: gschem/src/i_callbacks.c:2018 msgid "Cut 4" msgstr "" #: gschem/src/i_callbacks.c:2037 msgid "Cut 5" msgstr "" #: gschem/src/i_callbacks.c:2053 msgid "Paste 1" msgstr "" #: gschem/src/i_callbacks.c:2075 msgid "Paste 2" msgstr "" #: gschem/src/i_callbacks.c:2097 msgid "Paste 3" msgstr "" #: gschem/src/i_callbacks.c:2119 msgid "Paste 4" msgstr "" #: gschem/src/i_callbacks.c:2141 msgid "Paste 5" msgstr "" #: gschem/src/i_callbacks.c:2278 gschem/src/x_window.c:359 msgid "Component" msgstr "" #: gschem/src/i_callbacks.c:2314 gschem/src/i_callbacks.c:2333 #: gschem/src/x_dialog.c:2298 msgid "Attribute" msgstr "" #: gschem/src/i_callbacks.c:2355 gschem/src/i_callbacks.c:2382 #: gschem/src/x_dialog.c:2295 msgid "Net" msgstr "Net" #: gschem/src/i_callbacks.c:2426 gschem/src/i_callbacks.c:2453 #: gschem/src/x_dialog.c:2313 gschem/src/x_window.c:379 msgid "Bus" msgstr "Bus" #: gschem/src/i_callbacks.c:2534 gschem/src/i_callbacks.c:2557 msgid "Line" msgstr "Line" #: gschem/src/i_callbacks.c:2579 gschem/src/i_callbacks.c:2602 msgid "Box" msgstr "Box" #: gschem/src/i_callbacks.c:2658 gschem/src/i_callbacks.c:2682 msgid "Circle" msgstr "Circle" #: gschem/src/i_callbacks.c:2704 gschem/src/i_callbacks.c:2727 msgid "Arc" msgstr "Arc" #: gschem/src/i_callbacks.c:2749 gschem/src/i_callbacks.c:2772 #: gschem/src/x_dialog.c:2286 msgid "Pin" msgstr "Pin" #: gschem/src/i_callbacks.c:2831 #, c-format msgid "Searching for source [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:2855 #, c-format msgid "Cannot find source [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:2918 #, c-format msgid "Searching for symbol [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:2924 msgid "Symbol is not a real file. Symbol cannot be loaded.\n" msgstr "" #: gschem/src/i_callbacks.c:2955 msgid "Cannot find any schematics above the current one!\n" msgstr "" #: gschem/src/i_callbacks.c:2985 msgid "Attach" msgstr "Attach" #: gschem/src/i_callbacks.c:3041 msgid "Detach" msgstr "Detach" #: gschem/src/i_callbacks.c:3085 msgid "ShowN" msgstr "" #: gschem/src/i_callbacks.c:3122 msgid "ShowV" msgstr "" #: gschem/src/i_callbacks.c:3159 msgid "ShowB" msgstr "" #: gschem/src/i_callbacks.c:3197 msgid "VisToggle" msgstr "" #: gschem/src/i_callbacks.c:3228 #, c-format msgid "Sorry but this is a non-functioning menu option\n" msgstr "" #: gschem/src/i_callbacks.c:3318 msgid "Action feedback mode set to OUTLINE\n" msgstr "" #: gschem/src/i_callbacks.c:3321 msgid "Action feedback mode set to BOUNDINGBOX\n" msgstr "" #: gschem/src/i_callbacks.c:3346 msgid "Grid OFF\n" msgstr "" #: gschem/src/i_callbacks.c:3347 msgid "Dot grid selected\n" msgstr "" #: gschem/src/i_callbacks.c:3348 msgid "Mesh grid selected\n" msgstr "" #: gschem/src/i_callbacks.c:3369 msgid "Snap OFF (CAUTION!)\n" msgstr "" #: gschem/src/i_callbacks.c:3372 msgid "Snap ON\n" msgstr "" #: gschem/src/i_callbacks.c:3375 msgid "Snap back to the grid (CAUTION!)\n" msgstr "" #: gschem/src/i_callbacks.c:3401 msgid "Rubber band OFF \n" msgstr "" #: gschem/src/i_callbacks.c:3404 msgid "Rubber band ON\n" msgstr "" #: gschem/src/i_callbacks.c:3419 msgid "magnetic net mode: ON\n" msgstr "" #: gschem/src/i_callbacks.c:3422 msgid "magnetic net mode: OFF\n" msgstr "" #: gschem/src/o_box.c:292 #, c-format msgid "Unknown type for box (fill)!\n" msgstr "" #: gschem/src/o_buffer.c:54 #, c-format msgid "o_buffer_copy: Invalid buffer %i\n" msgstr "" #: gschem/src/o_buffer.c:69 #, c-format msgid "o_buffer_cut: Invalid buffer %i\n" msgstr "" #: gschem/src/o_buffer.c:90 #, c-format msgid "Got an invalid buffer_number [o_buffer_paste_start]\n" msgstr "" #: gschem/src/o_bus.c:117 #, c-format msgid "Got an invalid which one in o_bus_draw_stretch\n" msgstr "" #: gschem/src/o_circle.c:284 #, c-format msgid "Unknown type for circle (fill)!\n" msgstr "" #: gschem/src/o_complex.c:223 gschem/src/o_complex.c:227 #, c-format msgid "Translating schematic [%d %d]\n" msgstr "" #: gschem/src/o_misc.c:61 #, c-format msgid "Got an unexpected NULL in o_edit\n" msgstr "" #: gschem/src/o_misc.c:125 msgid "Object already locked\n" msgstr "" #: gschem/src/o_misc.c:163 msgid "Object already unlocked\n" msgstr "" #: gschem/src/o_misc.c:339 msgid "Hidden text is now visible\n" msgstr "" #: gschem/src/o_misc.c:341 msgid "Hidden text is now invisible\n" msgstr "" #: gschem/src/o_misc.c:568 #, c-format msgid "Could not find symbol [%s] in library. Update failed.\n" msgstr "" #: gschem/src/o_misc.c:683 #, c-format msgid "o_autosave_backups: Can't get the real filename of %s." msgstr "" #: gschem/src/o_misc.c:727 #, c-format msgid "Could NOT set previous backup file [%s] read-write\n" msgstr "" #: gschem/src/o_misc.c:747 #, c-format msgid "Could NOT set backup file [%s] readonly\n" msgstr "" #: gschem/src/o_misc.c:752 #, c-format msgid "Could NOT save backup file [%s]\n" msgstr "" #: gschem/src/o_move.c:174 #, c-format msgid "ERROR: NULL object in o_move_end!\n" msgstr "" #: gschem/src/o_move.c:431 #, c-format msgid "DOH! tried to find the whichone, but didn't find it!\n" msgstr "" #: gschem/src/o_move.c:453 #, c-format msgid "Got a non line object in o_move_check_endpoint\n" msgstr "" #: gschem/src/o_net.c:158 #, c-format msgid "Got an invalid which one in o_net_draw_stretch\n" msgstr "" #: gschem/src/o_net.c:537 msgid "Warning: Starting net at off grid coordinate\n" msgstr "" #: gschem/src/o_net.c:602 msgid "Warning: Ending net at off grid coordinate\n" msgstr "" #: gschem/src/o_net.c:944 gschem/src/o_net.c:981 gschem/src/o_net.c:1052 #: gschem/src/o_net.c:1088 #, c-format msgid "Tried to add more than two bus rippers. Internal gschem error.\n" msgstr "" #: gschem/src/o_net.c:1156 #, c-format msgid "Bus ripper symbol [%s] was not found in any component library\n" msgstr "" #: gschem/src/o_path.c:340 #, c-format msgid "Unknown type for path (fill)!\n" msgstr "" #: gschem/src/o_picture.c:166 #, c-format msgid "Failed to load picture: %s" msgstr "" #: gschem/src/o_picture.c:180 msgid "Picture" msgstr "" #: gschem/src/o_picture.c:544 #, c-format msgid "Failed to replace pictures: %s" msgstr "" #: gschem/src/o_slot.c:81 msgid "Slot attribute malformed\n" msgstr "" #: gschem/src/o_slot.c:89 msgid "numslots attribute missing\n" msgstr "" #: gschem/src/o_slot.c:90 msgid "Slotting not allowed for this component\n" msgstr "" #: gschem/src/o_slot.c:105 msgid "New slot number out of range\n" msgstr "" #: gschem/src/o_undo.c:307 msgid "Undo/Redo disabled in rc file\n" msgstr "" #: gschem/src/parsecmd.c:82 #, c-format msgid "" "Usage: %s [OPTION ...] [--] [FILE ...]\n" "\n" "Interactively edit gEDA schematics or symbols. If one or more FILEs\n" "are specified, open them for editing; otherwise, create a new, empty\n" "schematic.\n" "\n" "Options:\n" " -q, --quiet Quiet mode.\n" " -v, --verbose Verbose mode.\n" " -r, --config-file=FILE Additional configuration file to load.\n" " -L DIR Add DIR to Scheme search path.\n" " -c EXPR Scheme expression to run at startup.\n" " -s FILE Scheme script to run at startup.\n" " -o, --output=FILE Output filename (for printing).\n" " -p Automatically place the window.\n" " -V, --version Show version information.\n" " -h, --help Help; this message.\n" " -- Treat all remaining arguments as filenames.\n" "\n" "Report bugs at \n" "gEDA/gaf homepage: \n" msgstr "" #: gschem/src/parsecmd.c:116 #, c-format msgid "" "gEDA %s (g%.7s)\n" "Copyright (C) 1998-2012 gEDA developers\n" "This is free software, and you are welcome to redistribute it under\n" "certain conditions. For details, see the file `COPYING', which is\n" "included in the gEDA distribution.\n" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" #: gschem/src/x_attribedit.c:127 #, c-format msgid "Got invalid show option; defaulting to show both\n" msgstr "" #: gschem/src/x_attribedit.c:141 #, c-format msgid "ERROR: NULL object!\n" msgstr "" #: gschem/src/x_attribedit.c:329 msgid "Single Attribute Editor" msgstr "" #: gschem/src/x_attribedit.c:359 msgid "Edit Attribute" msgstr "" #: gschem/src/x_attribedit.c:361 msgid "Add Attribute" msgstr "" #: gschem/src/x_attribedit.c:377 gschem/src/x_multiattrib.c:1973 msgid "Name:" msgstr "" #: gschem/src/x_attribedit.c:394 gschem/src/x_multiattrib.c:1992 msgid "Value:" msgstr "" #: gschem/src/x_attribedit.c:410 gschem/src/x_multiattrib.c:2038 msgid "Visible" msgstr "" #: gschem/src/x_attribedit.c:430 msgid "Show Value Only" msgstr "" #: gschem/src/x_attribedit.c:432 msgid "Show Name Only" msgstr "" #: gschem/src/x_attribedit.c:434 gschem/src/x_multiattrib.c:1512 msgid "Show Name & Value" msgstr "" #: gschem/src/x_attribedit.c:441 msgid "Attach Options" msgstr "" #: gschem/src/x_attribedit.c:456 msgid "All" msgstr "" #: gschem/src/x_attribedit.c:464 gschem/src/x_compselect.c:922 #: gschem/src/x_compselect.c:1036 msgid "Components" msgstr "" #: gschem/src/x_attribedit.c:472 gschem/src/x_window.c:369 msgid "Nets" msgstr "" #: gschem/src/x_attribedit.c:480 msgid "Replace existing attributes" msgstr "" #: gschem/src/x_autonumber.c:415 msgid "" "slotted object without slot attribute may cause problems when autonumbering " "slots\n" msgstr "" #: gschem/src/x_autonumber.c:430 #, c-format msgid "" "duplicate slot may cause problems: [symbolname=%s, number=%d, slot=%d]\n" msgstr "" #: gschem/src/x_autonumber.c:672 msgid "No searchstring given in autonumber text.\n" msgstr "" #: gschem/src/x_autonumber.c:724 msgid "No '*' or '?' given at the end of the autonumber text.\n" msgstr "" #: gschem/src/x_autonumber.c:859 msgid "Diagonal" msgstr "" #: gschem/src/x_autonumber.c:860 msgid "Top to bottom" msgstr "" #: gschem/src/x_autonumber.c:860 msgid "Bottom to top" msgstr "" #: gschem/src/x_autonumber.c:861 msgid "Left to right" msgstr "" #: gschem/src/x_autonumber.c:861 msgid "Right to left" msgstr "" #: gschem/src/x_autonumber.c:862 msgid "File order" msgstr "" #: gschem/src/x_autonumber.c:1198 msgid "Autonumber text" msgstr "" #: gschem/src/x_autonumber.c:1222 msgid "Scope" msgstr "" #: gschem/src/x_autonumber.c:1244 msgid "Search for:" msgstr "" #: gschem/src/x_autonumber.c:1258 msgid "Autonumber text in:" msgstr "" #: gschem/src/x_autonumber.c:1265 msgid "Skip numbers found in:" msgstr "" #: gschem/src/x_autonumber.c:1277 gschem/src/x_autonumber.c:1286 msgid "Selected objects" msgstr "" #: gschem/src/x_autonumber.c:1278 gschem/src/x_autonumber.c:1287 msgid "Current page" msgstr "" #: gschem/src/x_autonumber.c:1279 gschem/src/x_autonumber.c:1288 msgid "Whole hierarchy" msgstr "" #: gschem/src/x_autonumber.c:1290 msgid "Overwrite existing numbers" msgstr "" #: gschem/src/x_autonumber.c:1295 msgid "Options" msgstr "" #: gschem/src/x_autonumber.c:1317 msgid "Starting number:" msgstr "" #: gschem/src/x_autonumber.c:1324 msgid "Sort order:" msgstr "" #: gschem/src/x_autonumber.c:1345 msgid "Remove numbers" msgstr "" #: gschem/src/x_autonumber.c:1349 msgid "Automatic slotting" msgstr "" #: gschem/src/x_clipboard.c:249 #, c-format msgid "" "Invalid schematic on clipboard.\n" "\n" "An error occurred while inserting clipboard data: %s." msgstr "" #: gschem/src/x_clipboard.c:251 msgid "Clipboard insertion failed" msgstr "" #: gschem/src/x_color.c:94 gschem/src/x_color.c:103 #, c-format msgid "Could not allocate the color %s!\n" msgstr "" #: gschem/src/x_color.c:94 msgid "black" msgstr "" #: gschem/src/x_color.c:103 msgid "white" msgstr "" #: gschem/src/x_color.c:125 #, c-format msgid "Could not allocate display color %i!\n" msgstr "" #: gschem/src/x_color.c:147 #, c-format msgid "Could not allocate outline color %i!\n" msgstr "" #: gschem/src/x_color.c:164 gschem/src/x_color.c:181 gschem/src/x_color.c:197 #, c-format msgid "Tried to get an invalid color: %d\n" msgstr "" #: gschem/src/x_color.c:214 #, c-format msgid "Tried to get an invalid outline color: %d\n" msgstr "" #: gschem/src/x_compselect.c:1066 msgid "Filter:" msgstr "" #: gschem/src/x_compselect.c:1169 gschem/src/x_dialog.c:3653 #: gschem/src/x_multiattrib.c:1839 msgid "Name" msgstr "" #: gschem/src/x_compselect.c:1178 gschem/src/x_multiattrib.c:1863 msgid "Value" msgstr "" #: gschem/src/x_compselect.c:1217 msgid "Default behavior - reference component" msgstr "" #: gschem/src/x_compselect.c:1220 msgid "Embed component in schematic" msgstr "" #: gschem/src/x_compselect.c:1223 msgid "Include component as individual objects" msgstr "" #: gschem/src/x_compselect.c:1380 msgid "Select Component..." msgstr "" #: gschem/src/x_compselect.c:1403 msgid "In Use" msgstr "" #: gschem/src/x_compselect.c:1407 msgid "Libraries" msgstr "" #: gschem/src/x_compselect.c:1416 gschem/src/x_fileselect.c:122 msgid "Preview" msgstr "" #: gschem/src/x_compselect.c:1444 msgid "Attributes" msgstr "Attributes" #: gschem/src/x_dialog.c:176 msgid "Text Entry..." msgstr "" #: gschem/src/x_dialog.c:207 msgid "" "Enter text, click apply,\n" "move cursor into window, click to place text.\n" "Middle button to rotate while placing." msgstr "" #: gschem/src/x_dialog.c:301 msgid "Upper Left" msgstr "" #: gschem/src/x_dialog.c:304 msgid "Upper Middle" msgstr "" #: gschem/src/x_dialog.c:307 msgid "Upper Right" msgstr "" #: gschem/src/x_dialog.c:311 msgid "Middle Left" msgstr "" #: gschem/src/x_dialog.c:314 msgid "Middle Middle" msgstr "" #: gschem/src/x_dialog.c:317 msgid "Middle Right" msgstr "" #: gschem/src/x_dialog.c:321 msgid "Lower Left" msgstr "" #: gschem/src/x_dialog.c:324 msgid "Lower Middle" msgstr "" #: gschem/src/x_dialog.c:327 msgid "Lower Right" msgstr "" #: gschem/src/x_dialog.c:438 msgid "Edit Text Properties" msgstr "" #: gschem/src/x_dialog.c:473 msgid "Text Content" msgstr "" #: gschem/src/x_dialog.c:509 msgid "Text Properties" msgstr "" #: gschem/src/x_dialog.c:524 msgid "Color:" msgstr "" #: gschem/src/x_dialog.c:531 msgid "Size:" msgstr "" #: gschem/src/x_dialog.c:540 msgid "Alignment:" msgstr "" #: gschem/src/x_dialog.c:589 msgid "Solid" msgstr "" #: gschem/src/x_dialog.c:590 msgid "Dotted" msgstr "" #: gschem/src/x_dialog.c:591 msgid "Dashed" msgstr "" #: gschem/src/x_dialog.c:592 msgid "Center" msgstr "" #: gschem/src/x_dialog.c:593 msgid "Phantom" msgstr "" #: gschem/src/x_dialog.c:594 gschem/src/x_dialog.c:691 #: gschem/src/x_dialog.c:700 gschem/src/x_dialog.c:709 #: gschem/src/x_dialog.c:810 gschem/src/x_dialog.c:813 #: gschem/src/x_dialog.c:816 gschem/src/x_dialog.c:1043 #: gschem/src/x_dialog.c:1146 gschem/src/x_dialog.c:1155 #: gschem/src/x_dialog.c:1164 gschem/src/x_dialog.c:1173 #: gschem/src/x_dialog.c:1182 gschem/src/x_dialog.c:1295 #: gschem/src/x_dialog.c:1298 gschem/src/x_dialog.c:1301 #: gschem/src/x_dialog.c:1304 gschem/src/x_dialog.c:1307 msgid "*unchanged*" msgstr "" #: gschem/src/x_dialog.c:921 msgid "Edit Line Width & Type" msgstr "" #: gschem/src/x_dialog.c:960 gschem/src/x_print.c:307 msgid "Type:" msgstr "" #: gschem/src/x_dialog.c:964 msgid "Width:" msgstr "" #: gschem/src/x_dialog.c:968 msgid "Dash Length:" msgstr "" #: gschem/src/x_dialog.c:972 msgid "Dash Space:" msgstr "" #: gschem/src/x_dialog.c:1039 msgid "Hollow" msgstr "" #: gschem/src/x_dialog.c:1040 msgid "Filled" msgstr "" #: gschem/src/x_dialog.c:1041 msgid "Mesh" msgstr "" #: gschem/src/x_dialog.c:1042 msgid "Hatch" msgstr "" #: gschem/src/x_dialog.c:1416 msgid "Edit Fill Type" msgstr "" #: gschem/src/x_dialog.c:1455 msgid "Fill Type:" msgstr "" #: gschem/src/x_dialog.c:1459 msgid "Line Width:" msgstr "" #: gschem/src/x_dialog.c:1463 msgid "Angle 1:" msgstr "" #: gschem/src/x_dialog.c:1467 msgid "Pitch 1:" msgstr "" #: gschem/src/x_dialog.c:1471 msgid "Angle 2:" msgstr "" #: gschem/src/x_dialog.c:1475 msgid "Pitch 2:" msgstr "" #: gschem/src/x_dialog.c:1602 msgid "Arc Params" msgstr "" #: gschem/src/x_dialog.c:1643 msgid "Arc Radius:" msgstr "" #: gschem/src/x_dialog.c:1651 msgid "Start Angle:" msgstr "" #: gschem/src/x_dialog.c:1659 msgid "Degrees of Sweep:" msgstr "" #: gschem/src/x_dialog.c:1777 msgid "" "Offset to translate?\n" "(0 for origin)" msgstr "" #: gschem/src/x_dialog.c:1845 msgid "Text Size" msgstr "" #: gschem/src/x_dialog.c:1875 msgid "Enter new text size:" msgstr "" #: gschem/src/x_dialog.c:1951 msgid "Snap Size" msgstr "" #: gschem/src/x_dialog.c:1981 msgid "Enter new snap grid spacing:" msgstr "" #: gschem/src/x_dialog.c:2058 msgid "Edit slot number" msgstr "" #: gschem/src/x_dialog.c:2089 msgid "Edit slot number:" msgstr "" #: gschem/src/x_dialog.c:2130 #, c-format msgid "%s (g%.7s)" msgstr "" #: gschem/src/x_dialog.c:2151 msgid "About gschem" msgstr "About gschem" #: gschem/src/x_dialog.c:2152 msgid "gEDA: GPL Electronic Design Automation" msgstr "" #. TRANSLATORS: "ChangeLog" is a literal filename; please don't translate it. #: gschem/src/x_dialog.c:2155 msgid "" "Copyright © 1998-2012 Ales Hvezda \n" "Copyright © 1998-2012 gEDA Contributors (see ChangeLog for details)" msgstr "" #: gschem/src/x_dialog.c:2214 msgid "Coords" msgstr "" #: gschem/src/x_dialog.c:2235 msgid "Screen" msgstr "" #: gschem/src/x_dialog.c:2244 msgid "World" msgstr "" #: gschem/src/x_dialog.c:2283 msgid "Background" msgstr "" #: gschem/src/x_dialog.c:2289 msgid "Net endpoint" msgstr "" #: gschem/src/x_dialog.c:2292 msgid "Graphic" msgstr "" #: gschem/src/x_dialog.c:2301 msgid "Logic bubble" msgstr "" #: gschem/src/x_dialog.c:2304 msgid "Grid point" msgstr "" #: gschem/src/x_dialog.c:2307 msgid "Detached attribute" msgstr "" #: gschem/src/x_dialog.c:2310 gschem/src/x_window.c:387 msgid "Text" msgstr "" #: gschem/src/x_dialog.c:2316 msgid "Selection" msgstr "" #: gschem/src/x_dialog.c:2319 msgid "Bounding box" msgstr "" #: gschem/src/x_dialog.c:2322 msgid "Zoom box" msgstr "" #: gschem/src/x_dialog.c:2331 msgid "Output background" msgstr "" #: gschem/src/x_dialog.c:2334 msgid "Net junction" msgstr "" #: gschem/src/x_dialog.c:2337 msgid "Mesh grid major" msgstr "" #: gschem/src/x_dialog.c:2340 msgid "Mesh grid minor" msgstr "" #: gschem/src/x_dialog.c:2343 msgid "Unknown" msgstr "" #: gschem/src/x_dialog.c:2494 #, c-format msgid "ERROR: NULL object in color_edit_dialog_apply!\n" msgstr "" #: gschem/src/x_dialog.c:2538 msgid "Color Edit" msgstr "" #: gschem/src/x_dialog.c:2569 msgid "Object color:" msgstr "" #: gschem/src/x_dialog.c:2622 msgid "Hotkeys" msgstr "Hotkeys" #: gschem/src/x_dialog.c:2662 msgid "Function" msgstr "" #: gschem/src/x_dialog.c:2669 msgid "Keystroke(s)" msgstr "" #: gschem/src/x_dialog.c:2977 msgid "Find Text" msgstr "" #: gschem/src/x_dialog.c:3008 msgid "Text to find:" msgstr "" #: gschem/src/x_dialog.c:3018 msgid "descend into hierarchy" msgstr "" #: gschem/src/x_dialog.c:3084 msgid "Hide Text" msgstr "" #: gschem/src/x_dialog.c:3115 msgid "Hide text starting with:" msgstr "" #: gschem/src/x_dialog.c:3185 msgid "Show Text" msgstr "" #: gschem/src/x_dialog.c:3216 msgid "Show text starting with:" msgstr "" #: gschem/src/x_dialog.c:3675 msgid "S_elect the schematics you want to save:" msgstr "" #: gschem/src/x_dialog.c:3770 #, c-format msgid "Save the changes to schematic \"%s\" before closing?" msgstr "" #: gschem/src/x_dialog.c:3776 #, c-format msgid "" "There are %d schematics with unsaved changes. Save changes before closing?" msgstr "" #: gschem/src/x_dialog.c:3805 msgid "If you don't save, all your changes will be permanently lost." msgstr "" #: gschem/src/x_dialog.c:3825 msgid "_Close without saving" msgstr "" #: gschem/src/x_dialog.c:4161 #, c-format msgid "" "The input attribute \"%s\" is invalid\n" "Please correct in order to continue\n" "\n" "The name and value must be non-empty.\n" "The name cannot end with a space.\n" "The value cannot start with a space." msgstr "" #: gschem/src/x_dialog.c:4163 msgid "Invalid Attribute" msgstr "" #: gschem/src/x_dialog.c:4199 msgid "Pin type" msgstr "" #: gschem/src/x_dialog.c:4223 msgid "Net pin" msgstr "" #: gschem/src/x_dialog.c:4225 msgid "Bus pin (graphical)" msgstr "" #: gschem/src/x_fileselect.c:42 msgid "Schematics" msgstr "" #: gschem/src/x_fileselect.c:47 msgid "Symbols" msgstr "" #: gschem/src/x_fileselect.c:52 msgid "Schematics and symbols" msgstr "" #: gschem/src/x_fileselect.c:58 msgid "All files" msgstr "" #: gschem/src/x_fileselect.c:171 msgid "Open..." msgstr "" #: gschem/src/x_fileselect.c:231 msgid "Save as..." msgstr "" #: gschem/src/x_fileselect.c:284 #, c-format msgid "" "The selected file `%s' already exists.\n" "\n" "Would you like to overwrite it?" msgstr "" #: gschem/src/x_fileselect.c:287 msgid "Overwrite file?" msgstr "" #: gschem/src/x_fileselect.c:289 msgid "Save cancelled on user request\n" msgstr "" #: gschem/src/x_image.c:176 msgid "Encapsulated Postscript" msgstr "" #: gschem/src/x_image.c:296 #, c-format msgid "x_image_lowlevel: Unable to write eps file %s.\n" msgstr "" #: gschem/src/x_image.c:374 #, c-format msgid "x_image_lowlevel: Unable to write %s file %s.\n" msgstr "" #: gschem/src/x_image.c:384 #, c-format msgid "" "There was the following error when saving image with type %s to filename:\n" "%s\n" "\n" "%s.\n" msgstr "" #: gschem/src/x_image.c:403 #, c-format msgid "Wrote color image to [%s] [%d x %d]\n" msgstr "" #: gschem/src/x_image.c:405 #, c-format msgid "Wrote black and white image to [%s] [%d x %d]\n" msgstr "" #: gschem/src/x_image.c:413 msgid "x_image_lowlevel: Unable to get pixbuf from gschem's window.\n" msgstr "" #: gschem/src/x_image.c:458 msgid "Width x Height" msgstr "" #: gschem/src/x_image.c:474 msgid "Image type" msgstr "" #: gschem/src/x_image.c:495 msgid "Write image..." msgstr "Write image..." #: gschem/src/x_log.c:209 msgid "** Invalid UTF-8 in log message. See stderr or gschem.log.\n" msgstr "" #: gschem/src/x_log.c:288 msgid "Status" msgstr "" #: gschem/src/x_menus.c:37 msgid "/Add Net" msgstr "" #: gschem/src/x_menus.c:38 msgid "/Add Attribute..." msgstr "" #: gschem/src/x_menus.c:39 msgid "/Add Component..." msgstr "" #: gschem/src/x_menus.c:40 msgid "/Add Bus" msgstr "" #: gschem/src/x_menus.c:41 msgid "/Add Text" msgstr "" #: gschem/src/x_menus.c:43 msgid "/Zoom In" msgstr "" #: gschem/src/x_menus.c:44 msgid "/Zoom Out" msgstr "" #: gschem/src/x_menus.c:45 msgid "/Zoom Box" msgstr "" #: gschem/src/x_menus.c:46 msgid "/Zoom Extents" msgstr "" #: gschem/src/x_menus.c:48 msgid "/Select" msgstr "" #: gschem/src/x_menus.c:49 msgid "/Edit..." msgstr "" #: gschem/src/x_menus.c:50 msgid "/Edit pin type..." msgstr "" #: gschem/src/x_menus.c:51 msgid "/Copy" msgstr "" #: gschem/src/x_menus.c:52 msgid "/Move" msgstr "" #: gschem/src/x_menus.c:53 msgid "/Delete" msgstr "" #: gschem/src/x_menus.c:56 msgid "/Down Schematic" msgstr "" #: gschem/src/x_menus.c:57 msgid "/Down Symbol" msgstr "" #: gschem/src/x_menus.c:58 msgid "/Up" msgstr "" #: gschem/src/x_menus.c:348 #, c-format msgid "Tried to set the sensitivity on non-existent menu item '%s'\n" msgstr "" #: gschem/src/x_menus.c:372 msgid "Popup_menu_item_factory doesn't exist!\n" msgstr "" #: gschem/src/x_menus.c:385 msgid "Tried to set the sensitivity on a non-existent popup menu_item\n" msgstr "" #: gschem/src/x_misc.c:74 msgid "The operating system is out of memory or resources." msgstr "" #: gschem/src/x_misc.c:155 #, c-format msgid "%s failed to launch URI" msgstr "" #: gschem/src/x_multiattrib.c:961 msgid "Attributes with empty name are not allowed. Please set a name." msgstr "" #: gschem/src/x_multiattrib.c:1514 msgid "Show Value only" msgstr "" #: gschem/src/x_multiattrib.c:1516 msgid "Show Name only" msgstr "" #: gschem/src/x_multiattrib.c:1544 msgid "Promote" msgstr "" #: gschem/src/x_multiattrib.c:1548 msgid "Duplicate" msgstr "" #: gschem/src/x_multiattrib.c:1765 msgid "Edit Attributes" msgstr "" #: gschem/src/x_multiattrib.c:1883 msgid "Vis?" msgstr "" #: gschem/src/x_multiattrib.c:1901 msgid "N" msgstr "" #: gschem/src/x_multiattrib.c:1919 msgid "V" msgstr "" #: gschem/src/x_multiattrib.c:1941 msgid "Show inherited attributes" msgstr "" #: gschem/src/x_multiattrib.c:1957 msgid "Add Attribute" msgstr "" #: gschem/src/x_pagesel.c:246 msgid "New Page" msgstr "New Page" #: gschem/src/x_pagesel.c:247 msgid "Open Page..." msgstr "Open Page..." #: gschem/src/x_pagesel.c:249 msgid "Save Page" msgstr "Save Page" #: gschem/src/x_pagesel.c:250 msgid "Close Page" msgstr "Close Page" #: gschem/src/x_pagesel.c:251 msgid "Discard Page" msgstr "" #: gschem/src/x_pagesel.c:369 msgid "Page Manager" msgstr "" #: gschem/src/x_pagesel.c:425 msgid "Filename" msgstr "" #: gschem/src/x_pagesel.c:441 msgid "Changed" msgstr "" #: gschem/src/x_pagesel.c:461 msgid "Right click on the filename for more options..." msgstr "" #: gschem/src/x_preview.c:231 msgid "Preview Buffer" msgstr "" #: gschem/src/x_print.c:84 msgid "Select PostScript Filename..." msgstr "" #: gschem/src/x_print.c:164 msgid "Extents with margins" msgstr "" #: gschem/src/x_print.c:170 msgid "Extents no margins" msgstr "" #: gschem/src/x_print.c:176 msgid "Current Window" msgstr "" #: gschem/src/x_print.c:210 msgid "Landscape" msgstr "" #: gschem/src/x_print.c:216 msgid "Portrait" msgstr "" #: gschem/src/x_print.c:276 msgid "Print..." msgstr "Print..." #: gschem/src/x_print.c:284 msgid "Settings" msgstr "" #: gschem/src/x_print.c:296 msgid "Output paper size:" msgstr "" #: gschem/src/x_print.c:318 msgid "Orientation:" msgstr "" #: gschem/src/x_print.c:330 msgid "Destination" msgstr "" #: gschem/src/x_print.c:343 msgid "File:" msgstr "" #: gschem/src/x_print.c:373 msgid "Command:" msgstr "" #: gschem/src/x_print.c:745 msgid "No print destination specified\n" msgstr "" #: gschem/src/x_print.c:752 #, c-format msgid "Cannot print current schematic to [%s]\n" msgstr "" #: gschem/src/x_print.c:761 #, c-format msgid "" "Error printing to file '%s'\n" "Check the log window for more information" msgstr "" #: gschem/src/x_print.c:768 #, c-format msgid "Printed current schematic to [%s]\n" msgstr "" #: gschem/src/x_rc.c:40 msgid "ERROR: An unknown error occurred while parsing configuration files.\n" msgstr "" #: gschem/src/x_rc.c:45 msgid "" "An unknown error occurred while parsing configuration files.\n" "\n" "The gschem log may contain more information." msgstr "" #: gschem/src/x_rc.c:57 #, c-format msgid "ERROR: %s\n" msgstr "" #: gschem/src/x_rc.c:60 #, c-format msgid "" "%s\n" "\n" "The gschem log may contain more information." msgstr "" #: gschem/src/x_rc.c:68 msgid "Cannot load gschem configuration." msgstr "" #: gschem/src/x_script.c:47 gschem/lib/system-gschemrc.scm:1381 msgid "Execute Script..." msgstr "Execute Script..." #: gschem/src/x_script.c:66 #, c-format msgid "Executing guile script [%s]\n" msgstr "" #: gschem/src/x_window.c:82 #, c-format msgid "Couldn't allocate gc\n" msgstr "" #: gschem/src/x_window.c:321 msgid "New" msgstr "New" #: gschem/src/x_window.c:322 msgid "New file" msgstr "" #: gschem/src/x_window.c:328 msgid "Open" msgstr "" #: gschem/src/x_window.c:329 msgid "Open file..." msgstr "" #: gschem/src/x_window.c:335 msgid "Save" msgstr "" #: gschem/src/x_window.c:336 msgid "Save file" msgstr "" #: gschem/src/x_window.c:343 msgid "Undo" msgstr "Undo" #: gschem/src/x_window.c:344 msgid "Undo last operation" msgstr "" #: gschem/src/x_window.c:350 msgid "Redo" msgstr "Redo" #: gschem/src/x_window.c:351 msgid "Redo last undo" msgstr "" #: gschem/src/x_window.c:360 msgid "" "Add component...\n" "Select library and component from list, move the mouse into main window, " "click to place\n" "Right mouse button to cancel" msgstr "" #: gschem/src/x_window.c:370 msgid "" "Add nets mode\n" "Right mouse button to cancel" msgstr "" #: gschem/src/x_window.c:380 msgid "" "Add buses mode\n" "Right mouse button to cancel" msgstr "" #: gschem/src/x_window.c:388 msgid "Add Text..." msgstr "" #: gschem/src/x_window.c:398 msgid "Select" msgstr "" #: gschem/src/x_window.c:399 msgid "Select mode" msgstr "" #: gschem/src/x_window.c:465 msgid "Evaluate:" msgstr "" #: gschem/src/x_window.c:484 msgid "Pick" msgstr "" #: gschem/src/x_window.c:500 msgid "Repeat/none" msgstr "" #: gschem/src/x_window.c:510 msgid "Menu/Cancel" msgstr "" #: gschem/src/x_window.c:512 msgid "Pan/Cancel" msgstr "" #: gschem/src/x_window.c:737 #, c-format msgid "Loading schematic [%s]\n" msgstr "" #: gschem/src/x_window.c:748 #, c-format msgid "" "An error occurred while loading the requested file.\n" "\n" "Loading from '%s' failed: %s. The gschem log may contain more information." msgstr "" #: gschem/src/x_window.c:750 msgid "Failed to load file" msgstr "" #: gschem/src/x_window.c:759 #, c-format msgid "New file [%s]\n" msgstr "" #: gschem/src/x_window.c:862 #, c-format msgid "Could NOT save page [%s]\n" msgstr "" #: gschem/src/x_window.c:863 msgid "Error while trying to save" msgstr "" #: gschem/src/x_window.c:873 msgid "Failed to save file" msgstr "" #: gschem/src/x_window.c:884 #, c-format msgid "Saved as [%s]\n" msgstr "" #: gschem/src/x_window.c:886 #, c-format msgid "Saved [%s]\n" msgstr "" #: gschem/src/x_window.c:888 msgid "Saved" msgstr "" #: gschem/src/x_window.c:962 #, c-format msgid "Discarding page [%s]\n" msgstr "" #: gschem/src/x_window.c:962 #, c-format msgid "Closing [%s]\n" msgstr "" #: gschem/data/geda-gschem.desktop.in:3 msgid "gEDA Schematic Editor" msgstr "" #: gschem/data/geda-gschem.desktop.in:4 msgid "Create and edit electrical schematics and symbols with gschem" msgstr "" #: gschem/lib/system-gschemrc.scm:1368 msgid "_New" msgstr "" #: gschem/lib/system-gschemrc.scm:1369 msgid "_Open..." msgstr "" #: gschem/lib/system-gschemrc.scm:1371 msgid "Open Recen_t" msgstr "" #: gschem/lib/system-gschemrc.scm:1373 msgid "_Save" msgstr "" #: gschem/lib/system-gschemrc.scm:1374 msgid "Save _As..." msgstr "" #: gschem/lib/system-gschemrc.scm:1375 msgid "Save All" msgstr "Save All" #: gschem/lib/system-gschemrc.scm:1376 gschem/lib/system-gschemrc.scm:1469 msgid "_Revert" msgstr "" #: gschem/lib/system-gschemrc.scm:1378 msgid "_Print..." msgstr "" #: gschem/lib/system-gschemrc.scm:1379 msgid "Write _image..." msgstr "" #: gschem/lib/system-gschemrc.scm:1383 msgid "New Window" msgstr "New Window" #: gschem/lib/system-gschemrc.scm:1384 msgid "_Close Window" msgstr "" #: gschem/lib/system-gschemrc.scm:1385 msgid "_Quit" msgstr "" #: gschem/lib/system-gschemrc.scm:1391 msgid "_Undo" msgstr "" #: gschem/lib/system-gschemrc.scm:1392 msgid "_Redo" msgstr "" #: gschem/lib/system-gschemrc.scm:1394 msgid "Cu_t" msgstr "" #: gschem/lib/system-gschemrc.scm:1395 msgid "_Copy" msgstr "" #: gschem/lib/system-gschemrc.scm:1396 msgid "_Paste" msgstr "" #: gschem/lib/system-gschemrc.scm:1397 msgid "_Delete" msgstr "" #: gschem/lib/system-gschemrc.scm:1400 msgid "Select All" msgstr "" #: gschem/lib/system-gschemrc.scm:1401 msgid "Deselect" msgstr "" #: gschem/lib/system-gschemrc.scm:1405 msgid "Rotate 90 Mode" msgstr "Rotate 90 Mode" #: gschem/lib/system-gschemrc.scm:1408 msgid "Edit..." msgstr "Edit..." #: gschem/lib/system-gschemrc.scm:1409 msgid "Edit Text..." msgstr "Edit Text..." #: gschem/lib/system-gschemrc.scm:1410 msgid "Slot..." msgstr "Slot..." #: gschem/lib/system-gschemrc.scm:1411 msgid "Color..." msgstr "Color..." #: gschem/lib/system-gschemrc.scm:1412 msgid "Line Width & Type..." msgstr "Line Width & Type..." #: gschem/lib/system-gschemrc.scm:1413 msgid "Fill Type..." msgstr "Fill Type..." #: gschem/lib/system-gschemrc.scm:1414 msgid "Symbol Translate..." msgstr "Symbol Translate..." #: gschem/lib/system-gschemrc.scm:1418 msgid "Invoke Macro" msgstr "" #: gschem/lib/system-gschemrc.scm:1419 msgid "Embed Component/Picture" msgstr "Embed Component/Picture" #: gschem/lib/system-gschemrc.scm:1420 msgid "Unembed Component/Picture" msgstr "Unembed Component/Picture" #: gschem/lib/system-gschemrc.scm:1421 msgid "Update Component" msgstr "Update Component" #: gschem/lib/system-gschemrc.scm:1422 msgid "Show/Hide Inv Text" msgstr "Show/Hide Inv Text" #: gschem/lib/system-gschemrc.scm:1428 msgid "Copy into 1" msgstr "Copy into 1" #: gschem/lib/system-gschemrc.scm:1429 msgid "Copy into 2" msgstr "Copy into 2" #: gschem/lib/system-gschemrc.scm:1430 msgid "Copy into 3" msgstr "Copy into 3" #: gschem/lib/system-gschemrc.scm:1431 msgid "Copy into 4" msgstr "Copy into 4" #: gschem/lib/system-gschemrc.scm:1432 msgid "Copy into 5" msgstr "Copy into 5" #: gschem/lib/system-gschemrc.scm:1433 msgid "Cut into 1" msgstr "Cut into 1" #: gschem/lib/system-gschemrc.scm:1434 msgid "Cut into 2" msgstr "Cut into 2" #: gschem/lib/system-gschemrc.scm:1435 msgid "Cut into 3" msgstr "Cut into 3" #: gschem/lib/system-gschemrc.scm:1436 msgid "Cut into 4" msgstr "Cut into 4" #: gschem/lib/system-gschemrc.scm:1437 msgid "Cut into 5" msgstr "Cut into 5" #: gschem/lib/system-gschemrc.scm:1438 msgid "Paste from 1" msgstr "Paste from 1" #: gschem/lib/system-gschemrc.scm:1439 msgid "Paste from 2" msgstr "Paste from 2" #: gschem/lib/system-gschemrc.scm:1440 msgid "Paste from 3" msgstr "Paste from 3" #: gschem/lib/system-gschemrc.scm:1441 msgid "Paste from 4" msgstr "Paste from 4" #: gschem/lib/system-gschemrc.scm:1442 msgid "Paste from 5" msgstr "Paste from 5" #: gschem/lib/system-gschemrc.scm:1448 msgid "_Redraw" msgstr "" #: gschem/lib/system-gschemrc.scm:1449 msgid "_Pan" msgstr "" #: gschem/lib/system-gschemrc.scm:1450 msgid "Zoom _Box" msgstr "" #: gschem/lib/system-gschemrc.scm:1451 msgid "Zoom _Extents" msgstr "" #: gschem/lib/system-gschemrc.scm:1452 msgid "Zoom _In" msgstr "" #: gschem/lib/system-gschemrc.scm:1453 msgid "Zoom _Out" msgstr "" #: gschem/lib/system-gschemrc.scm:1454 msgid "Zoom _Full" msgstr "" #: gschem/lib/system-gschemrc.scm:1456 msgid "_Dark color scheme" msgstr "" #: gschem/lib/system-gschemrc.scm:1457 msgid "_Light color scheme" msgstr "" #: gschem/lib/system-gschemrc.scm:1458 msgid "B_W color scheme" msgstr "" #: gschem/lib/system-gschemrc.scm:1465 msgid "_Manager..." msgstr "" #: gschem/lib/system-gschemrc.scm:1466 msgid "_Previous" msgstr "" #: gschem/lib/system-gschemrc.scm:1467 msgid "_Next" msgstr "" #: gschem/lib/system-gschemrc.scm:1468 msgid "Ne_w" msgstr "" #: gschem/lib/system-gschemrc.scm:1470 msgid "_Close" msgstr "" #: gschem/lib/system-gschemrc.scm:1472 msgid "_Discard" msgstr "" #: gschem/lib/system-gschemrc.scm:1478 msgid "_Component..." msgstr "" #: gschem/lib/system-gschemrc.scm:1479 msgid "_Net" msgstr "" #: gschem/lib/system-gschemrc.scm:1480 msgid "B_us" msgstr "" #: gschem/lib/system-gschemrc.scm:1481 msgid "_Attribute..." msgstr "" #: gschem/lib/system-gschemrc.scm:1482 msgid "_Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1484 msgid "_Line" msgstr "" #: gschem/lib/system-gschemrc.scm:1485 msgid "_Box" msgstr "" #: gschem/lib/system-gschemrc.scm:1486 msgid "C_ircle" msgstr "" #: gschem/lib/system-gschemrc.scm:1487 msgid "A_rc" msgstr "" #: gschem/lib/system-gschemrc.scm:1488 msgid "_Pin" msgstr "" #: gschem/lib/system-gschemrc.scm:1489 msgid "Pictu_re..." msgstr "" #: gschem/lib/system-gschemrc.scm:1495 msgid "_Down Schematic" msgstr "" #: gschem/lib/system-gschemrc.scm:1496 msgid "Down _Symbol" msgstr "" #: gschem/lib/system-gschemrc.scm:1497 msgid "_Up" msgstr "" #: gschem/lib/system-gschemrc.scm:1498 msgid "D_ocumentation..." msgstr "" #: gschem/lib/system-gschemrc.scm:1504 msgid "_Attach" msgstr "" #: gschem/lib/system-gschemrc.scm:1505 msgid "_Detach" msgstr "" #: gschem/lib/system-gschemrc.scm:1506 msgid "Show _Value" msgstr "" #: gschem/lib/system-gschemrc.scm:1507 msgid "Show _Name" msgstr "" #: gschem/lib/system-gschemrc.scm:1508 msgid "Show _Both" msgstr "" #: gschem/lib/system-gschemrc.scm:1509 msgid "_Toggle Visibility" msgstr "" #: gschem/lib/system-gschemrc.scm:1511 msgid "_Find Specific Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1512 msgid "_Hide Specific Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1513 msgid "_Show Specific Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1514 msgid "A_utonumber Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1520 msgid "_Text Size..." msgstr "" #: gschem/lib/system-gschemrc.scm:1521 msgid "Cycle _grid styles" msgstr "" #: gschem/lib/system-gschemrc.scm:1522 msgid "Toggle _Snap On/Off" msgstr "" #: gschem/lib/system-gschemrc.scm:1523 msgid "Snap Grid S_pacing..." msgstr "" #: gschem/lib/system-gschemrc.scm:1524 msgid "Scale _up Grid Spacing" msgstr "" #: gschem/lib/system-gschemrc.scm:1526 msgid "Scale _down Grid Spacing" msgstr "" #: gschem/lib/system-gschemrc.scm:1528 msgid "Toggle _Outline/Box" msgstr "" #: gschem/lib/system-gschemrc.scm:1530 msgid "Toggle Net _Rubberband" msgstr "" #: gschem/lib/system-gschemrc.scm:1531 msgid "Toggle _Magnetic Net" msgstr "" #: gschem/lib/system-gschemrc.scm:1532 msgid "Show _Log Window..." msgstr "" #: gschem/lib/system-gschemrc.scm:1534 msgid "Show _Coord Window..." msgstr "" #: gschem/lib/system-gschemrc.scm:1542 msgid "gEDA Docu_mentation..." msgstr "" #: gschem/lib/system-gschemrc.scm:1543 msgid "gschem _FAQ..." msgstr "" #: gschem/lib/system-gschemrc.scm:1544 msgid "gEDA _Wiki..." msgstr "" #: gschem/lib/system-gschemrc.scm:1545 msgid "Component D_ocumentation..." msgstr "" #: gschem/lib/system-gschemrc.scm:1547 msgid "_Hotkeys..." msgstr "" #: gschem/lib/system-gschemrc.scm:1548 msgid "_About..." msgstr "" #: gschem/lib/system-gschemrc.scm:1554 msgid "_File" msgstr "" #: gschem/lib/system-gschemrc.scm:1555 msgid "_Edit" msgstr "" #: gschem/lib/system-gschemrc.scm:1556 msgid "_Buffer" msgstr "" #: gschem/lib/system-gschemrc.scm:1557 msgid "_View" msgstr "" #: gschem/lib/system-gschemrc.scm:1558 msgid "_Page" msgstr "" #: gschem/lib/system-gschemrc.scm:1559 msgid "_Add" msgstr "" #: gschem/lib/system-gschemrc.scm:1560 msgid "Hie_rarchy" msgstr "" #: gschem/lib/system-gschemrc.scm:1561 msgid "A_ttributes" msgstr "" #: gschem/lib/system-gschemrc.scm:1562 msgid "_Options" msgstr "" #: gschem/lib/system-gschemrc.scm:1563 msgid "_Help" msgstr "" #: gschem/scheme/gschem/deprecated.scm:102 #, scheme-format msgid "Invalid text alignment ~A." msgstr "" #: gschem/scheme/gschem/gschemdoc.scm:225 msgid "No documentation found" msgstr "" #: gschem/scheme/gschem/keymap.scm:38 #, scheme-format msgid "~S is not a valid key combination." msgstr "" #: gschem/scheme/gschem/keymap.scm:153 #, scheme-format msgid "~S is not a prefix key sequence." msgstr "" geda-gaf-1.8.2/gschem/po/pt.gmo0000664000175000017500000011117112220655645013124 00000000000000'T".;. U.a.s.|.. .... ...... . // /$/9/O/e/ t////0 00 00(0$0 1 1+,1X1*1 22 2"2+24282 A2 L2X2 _2 i2>t22222 2 2 333"3&3/3>C33233'334 4 4 4+4 ;4I4 O4Z4c4j4 s4}44 44444444 4 4 4 5 5 5(5 :5[5(u535%5%5!66@6w6!6=6667 7+71777=7C7 I7 T7 _7 j7 u777577 7 78& 838E8 L8X8_8r8 {8888 8 8/8"8"979<9L9[9 r9|9 9 9999999 ::7:T:mi:E:;8;J;g;z;;;;"; ;;< < <&<-< 5<?</H<4x</</<! =1/=a= i= s= ~==== == ==>=> F>Q>'X>>3>->*>&?.F?<u?<?-?3@?Q@A@,@&A&'A%NA tA A A A AA AA AAA A B B "B.B @BLBQBaBqB B B BB BB B BBBBBBCC C C C-C5C:C>C GCRCkCtCCC7CC*D;D?DVD oD#}DD D D DD DDDE"E 2E?ECE LE WEeEmEuE}EE E E E E EEEE EE FFFF'F0F'9FaFjFrFF"FFFFFFFG GG 5G/CG sGGG GGG(GGG G H HH =H2GHzH H HHHH HHH H I%I@IGI [IgI III II IIII J JJ -J8JNJ bJ mJyJJJJ JJJJJJKK0K(8KaKwKKK K!KK0K L LL+L2L9L4MLLL L L L LGLJMRRMLMM N$N9NMN aN oNyN?N"N*N?&O<fOOOOOOOP P&P DPePPPPP P P PPPPP PQ) Q`7Q-Q8Q+Q-+RYRiRxRRRR.R$RRS S S SS SS&S TTT &T4T9TATHT ^TlTrTTTTTTTTTT TTU U U%U*U0U9UBUHUMUTU YU cUmUsUyUUUU UUUUUUU;U"VG9VVV VMV W'W6WNWeWjW6W!W WRXSX=YX.X/XXFZ ZZ [ [9[N[_[ g[q[[[[[ [[[ [[ [\\;\R\b\q\\\] ]] ]]2].^5^H^H[^^GM_ ___ _ __ __ _` ` `P`o``` ```` a a a(a;abYa aEa( b25bhbqbzbbbbbb bbbb b bc #c /c;cBcKcTc]cfcoc ~c c c c c%c8c&#dNJdZd-d0"e&SeQze8eCfHIff f*ffffffg g g +g 9g Gg%Ug{gLgggh &h10hbhwhhhhh hhh hhi/i"Iiliiiii iii j!j;j Vj`jhjj jj(j jkakll1lOldlylll2ll mm&m9m MmXm`momBxm>m8mC3n(wnLn nn oo (o$2o"Wozoo oooFopp,&pSpFfp9p6p2qBQqHqHqC&rDjrRrTs:Ws4s2s3s .t;tNtWt rt~t tttttttuu&u @uNuTujuuuuuu uuuvv0v2v9v>vDv JvTvcvxvv vv v vv vvw(w9Fw,w<w ww x3x4Cxxx~xxxx xxxxy3y Dy eyry yyyyyy y y y y y yzz'z/z6zEz Jz Wzdztz%zzzz z z{* {8{S{[{w{{{{{C{|8|>|P|b||(|| ||||,}4}7D}|} }}} } }}}~ ~(~A~ _~k~~)~~~~  2G[ o}! , J ky ʀ Ӏ* (?4"t(؁ )90 jwO  .<MI_XcBf&Є-FY_V|#Ӆ/?'Dg,ֆ %!25T10$  (>Pbsu{1kۈ9G@;‰:9L]fl6-ʊ ҋ  A ` ny  njό   !+JQp  ȍ ҍ܍  " + 7AJe z 9U _t Z(5%^E#"g4SA?9+% W .GEgl`abcd<"2QR6N  $qn)p/]uvwxyM:\ msoyriD1bH`T3  ,"RZ[\]^Be09&&N'('<UP5*FWJ. C{f_Y=tU:*}t> u _ 01M3Vv>#89'CJVY%oO4  q! gjAL@/@I2kIlK4ET$P%;AF+,-pX?"?!w$Qj7(Ghh6cD8e7)  fH!k|rKx=XL-~; S#O^sSn[#mz 5&BdZaz{|}~i** Invalid UTF-8 in log message. See stderr or gschem.log. *unchanged*/Add Attribute.../Add Bus/Add Component.../Add Net/Add Text/Copy/Delete/Down Schematic/Down Symbol/Edit pin type.../Edit.../Move/Select/Up/Zoom Box/Zoom Extents/Zoom In/Zoom OutAdd AttributeAttach OptionsEdit AttributeOptionsScopeText ContentText PropertiesThe input attribute "%s" is invalid Please correct in order to continue The name and value must be non-empty. The name cannot end with a space. The value cannot start with a space.A_rcA_ttributesA_utonumber Text...About gschemActionAction feedback mode set to BOUNDINGBOX Action feedback mode set to OUTLINE Add AttributeAdd Text...Add buses mode Right mouse button to cancelAdd component... Select library and component from list, move the mouse into main window, click to place Right mouse button to cancelAdd nets mode Right mouse button to cancelAlignment:AllAll filesAngle 1:Angle 2:ArcArc ModeArc ParamsArc Radius:AttachAttributeAttributesAttributes with empty name are not allowed. Please set a name.Automatic slottingAutonumber textAutonumber text in:B_usBackgroundBottom to topBounding boxBoxBox ModeBusBus ModeBus pin (graphical)Bus ripper symbol [%s] was not found in any component library C_ircleCannot find any schematics above the current one! Cannot find source [%s] Cannot print current schematic to [%s] CenterChangedCircleCircle ModeClose PageClosing Window Closing [%s] ColorColor EditColor...Color:Command:ComponentComponent D_ocumentation...Component ModeComponentsCoordsCopyCopy 1Copy 2Copy 3Copy 4Copy 5Copy ModeCopy into 1Copy into 2Copy into 3Copy into 4Copy into 5Copy to clipboardCould NOT save backup file [%s] Could NOT save page [%s] Could NOT set backup file [%s] readonly Could NOT set previous backup file [%s] read-write Could not allocate display color %i! Could not allocate outline color %i! Could not allocate the color %s! Could not find symbol [%s] in library. Update failed. Couldn't allocate gc Couldn't find init scm file [%s] Create and edit electrical schematics and symbols with gschemCu_tCurrent WindowCurrent locale settings: %s Current pageCut 1Cut 2Cut 3Cut 4Cut 5Cut into 1Cut into 2Cut into 3Cut into 4Cut into 5Cut to clipboardCycle _grid stylesDOH! tried to find the whichone, but didn't find it! D_ocumentation...Dash Length:Dash Space:DashedDefault behavior - reference componentDegrees of Sweep:DeleteDestinationDetachDetached attributeDiagonalDiscard PageDiscarding page [%s] Dot grid selected DottedDown _SymbolDuplicateERROR: NULL object in color_edit_dialog_apply! ERROR: NULL object in o_move_end! ERROR: NULL object! EditEdit AttributesEdit Fill TypeEdit Line Width & TypeEdit TextEdit Text PropertiesEdit Text...Edit pin typeEdit slot numberEdit slot number:Edit...EmbedEmbed Component/PictureEmbed component in schematicEmpty bufferEncapsulated PostscriptEnter new snap grid spacing:Enter new text size:Enter text, click apply, move cursor into window, click to place text. Middle button to rotate while placing.Error printing to file '%s' Check the log window for more informationError while trying to saveExecute Script...Executing guile script [%s] Extents no marginsExtents with marginsFailed to Save AllFailed to load fileFailed to load picture: %sFailed to read init scm file [%s] File orderFile:FilenameFill Type...Fill Type:FilledFilter:Find TextFunctionGot a non line object in o_move_check_endpoint Got an invalid buffer_number [o_buffer_paste_start] Got an invalid which one in o_bus_draw_stretch Got an invalid which one in o_net_draw_stretch Got an unexpected NULL in o_edit Got invalid show option; defaulting to show both GraphicGrid OFF Grid pointGrid(%s, %s)HatchHidden text is now invisible Hidden text is now visible Hide TextHide text starting with:Hie_rarchyHollowHotkeysIf you don't save, all your changes will be permanently lost.Image typeIn UseInclude component as individual objectsInvalid AttributeInvalid dot size [%d] passed to dots-grid-dot-size Invalid gain [%d] passed to keyboardpan-gain Invalid gain [%d] passed to mousepan-gain Invalid gain [%d] passed to zoom-gain Invalid num levels [%d] passed to undo-levels Invalid number of pixels [%d] passed to select-slack-pixels Invalid number of seconds [%d] passed to auto-save-interval Invalid number of steps [%d] scrollpan-steps Invalid offset [%d] passed to add-attribute-offset Invalid pixel spacing [%d] passed to dots-grid-fixed-threshold Invalid pixel spacing [%d] passed to mesh-grid-display-threshold Invalid size [%d] passed to bus-ripper-size Invalid size [%d] passed to snap-size Invalid size [%d] passed to text-size Invalid zoomfactor [%d] passed to %s Invoke MacroKeystroke(s)LandscapeLeft to rightLibrariesLineLine ModeLine Width & Type...Line Width:Loading schematic [%s] LockLogic bubbleLower LeftLower MiddleLower RightMagnetic Net ModeMenu/CancelMeshMesh grid majorMesh grid minorMesh grid selected Middle LeftMiddle MiddleMiddle RightMirrorMirror ModeMoveMove ModeMultiple CopyMultiple Copy ModeNNONENameName:Ne_wNetNet ModeNet endpointNet junctionNet pinNetsNewNew PageNew WindowNew Window created [%s] New fileNew file [%s] New page created [%s] New slot number out of range No '*' or '?' given at the end of the autonumber text. No print destination specified No searchstring given in autonumber text. OFFObject already locked Object already unlocked Object color:Offset to translate? (0 for origin)OpenOpen Page...Open Recen_tOpen file...Open...Orientation:Output backgroundOutput paper size:Overwrite existing numbersOverwrite file?Page ManagerPanPan ModePan/CancelPaste %d ModePaste 1Paste 2Paste 3Paste 4Paste 5Paste from 1Paste from 2Paste from 3Paste from 4Paste from 5Paste from clipboardPhantomPickPictu_re...PicturePicture ModePinPin ModePin typePitch 1:Pitch 2:Popup_menu_item_factory doesn't exist! PortraitPreviewPreview BufferPrint...Printed current schematic to [%s] PromoteRead init scm file [%s] Really revert page?RedoRedo last undoRemove numbersRepeat/Repeat/noneReplace existing attributesResnap ActiveRight click on the filename for more options...Right to leftRotateRotate 90 ModeRotate ModeRubber band OFF Rubber band ON S_elect the schematics you want to save:SaveSave AllSave PageSave _As...Save as...Save cancelled on user request Save fileSave the changes to schematic "%s" before closing?SavedSaved AllSaved [%s] Saved as [%s] Scale _down Grid SpacingScale _up Grid SpacingSchematicsSchematics and symbolsScreenSearch for:Searching for source [%s] Searching for symbol [%s] SelectSelect Component...Select ModeSelect PostScript Filename...Select modeSelect objs firstSelected objectsSelectionSettingsShow HiddenShow Name & ValueShow Name OnlyShow Name onlyShow TextShow Value OnlyShow Value onlyShow _BothShow _Coord Window...Show _Log Window...Show _NameShow _ValueShow inherited attributesShow text starting with:Show/Hide Inv TextShowBShowHiddenShowNShowVSingle Attribute EditorSize:Skip numbers found in:SlotSlot attribute malformed Slot...Slotting not allowed for this component Snap Grid S_pacing...Snap OFF (CAUTION!) Snap ON Snap OffSnap SizeSnap back to the grid (CAUTION!) SolidSorry but this is a non-functioning menu option Sort order:Start Angle:Starting number:StatusStrokeSymbol Translate...Symbol is not a real file. Symbol cannot be loaded. SymbolsTextText Entry...Text ModeText SizeText to find:The selected file `%s' already exists. Would you like to overwrite it?There are %d schematics with unsaved changes. Save changes before closing?There was the following error when saving image with type %s to filename: %s %s. This is free software, and you are welcome to redistribute it under certain This is the MINGW32 port. Toggle Net _RubberbandToggle _Magnetic NetToggle _Outline/BoxToggle _Snap On/OffTop to bottomTranslateTranslating schematic [%d %d] Tried to add more than two bus rippers. Internal gschem error. Tried to get an invalid color: %d Tried to get an invalid outline color: %d Tried to set the sensitivity on a non-existent popup menu_item Tried to set the sensitivity on non-existent menu item '%s' Type:UndoUndo last operationUndo/Redo disabled in rc file UnembedUnembed Component/PictureUnknownUnknown end for line (%d) Unknown type for box (fill)! Unknown type for circle (fill)! Unknown type for path (fill)! Unknown type for stroke (%d) ! UnlockUpdateUpdate ComponentUpper LeftUpper MiddleUpper RightVValueValue:Vis?VisToggleVisibleWARNING: Do not translate with snap off! WARNING: If you are translating a symbol to the origin, the snap grid size should be set to 100 WARNING: Snap grid size is not equal to 100! WARNING: Turning snap on and continuing with translate. Warning: Ending net at off grid coordinate Warning: Starting net at off grid coordinate Whole hierarchyWidth x HeightWidth:WorldWrite _image...Write image...Wrote black and white image to [%s] [%d x %d] Wrote color image to [%s] [%d x %d] You must set the GEDADATA environment variable! gschem cannot locate its data files. You must set the GEDADATA environment variable to point to the correct location. Zoom BoxZoom _BoxZoom _ExtentsZoom _FullZoom _InZoom _OutZoom boxZoom too small! Cannot zoom further. _About..._Add_Attach_Attribute..._Box_Buffer_Close_Close without saving_Component..._Copy_Dark color scheme_Delete_Detach_Discard_Down Schematic_Edit_File_Find Specific Text..._Help_Hide Specific Text..._Hotkeys..._Light color scheme_Line_Manager..._Net_New_Next_Open..._Options_Page_Pan_Paste_Pin_Previous_Print..._Quit_Redo_Redraw_Revert_Save_Show Specific Text..._Text Size..._Text..._Toggle Visibility_Undo_Up_Viewblackconditions; please see the COPYING file for more details. descend into hierarchyduplicate slot may cause problems: [symbolname=%s, number=%d, slot=%d] gEDA Docu_mentation...gEDA Schematic EditorgEDA _Wiki...gEDA/gschem comes with ABSOLUTELY NO WARRANTY; see COPYING for more details. gEDA/gschem version %s%s.%s gschem _FAQ...magnetic net mode: OFF magnetic net mode: ON nonenumslots attribute missing o_autosave_backups: Can't get the real filename of %s.o_buffer_copy: Invalid buffer %i o_buffer_cut: Invalid buffer %i slotted object without slot attribute may cause problems when autonumbering slots whitex_image_lowlevel: Unable to get pixbuf from gschem's window. x_image_lowlevel: Unable to write %s file %s. x_image_lowlevel: Unable to write eps file %s. Project-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-01-27 14:23+0000 Last-Translator: FULL NAME Language-Team: gEDA developers Language: pt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) ** UTF-8 inválido na mensagem de registo. Veja stderr ou gschem.log. *inalterado*/Adicionar Atributo/Adicionar Barramento/Adicionar Componente.../Adicionar Ligação/Adicionar Texto/Copiar/Eliminar/Baixar Esquema/Baixar Símbolo/Editar tipo de pino.../Editar/Mover/Selecionar/Acima/Zona de Ampliação/Mostrar Tudo/Ampliar/DiminuirAdicionar AtributoOpções de Anexação Editar AtributoOpçõesÂmbitoConteúdo do textoPropriedades do TextoO atributo de entrada "%s" é inválido Por favor corrija para continuar O nome e valor têm de estar preenchidos. O nome não pode terminar com um espaço. O valor não pode começar com um espaço.A_rcoA_tributosAuton_umerar textoSobre gschemAcçãoAcção modo de retorno definida para BOUNDINGBOX Acção modo de retorno definida para OUTLINE Adicionar AtributoAdicionar Texto...Modo de adição de barramentos Use botão direito do rato para cancelarAdicinar componente... Seleccione biblioteca e componente na lista, mova o rato para a janela principal, pressione para colocar Use botão direito do rato para cancelarModo de adição de ligações Use botão direito do rato para cancelarAlinhamento:TudoTodos os ficheirosÂngulo 1:Ângulo 2:ArcoModo de ArcoParâmetros do ArcoRaio do Arco:AnexarAtributoAtributosAtributos com nome sem conteúdo não são permitidos. Por favor defina um nome.Atribuição automáticaTexto de auto-numeraçãoTexto de auto-numeração em:_BarramentoPlano de fundoDe baixo para cimaCaixa de contornoRectânguloModo RectânguloBarramentoModo de BarramentoPino do Barramento (gráfico)Símbolo de ligação ao barramento [%s] não foi encontrado em nenhuma biblioteca de componentes Círc_uloNão é possível encontrar mais esquemas acima do esquema corrente! Não foi possível encontrar fonte [%s] Não é possível imprimir esquema actual em [%s] CentradoAlteradoCírculoModo de CírculoFechar PáginaA Fechar janela A Fechar [%s] CorEditar CorCor...Cor:Comando:ComponenteDocumentação de _Componente...Modo ComponenteComponentesCoordenadasCopiarCópia 1Cópia 2Cópia 3Cópia 4Cópia 5Modo de CópiaCopiar para 1Copiar para 2Copiar para 3Copiar para 4Copiar para 5Copiar para a área de transferênciaNão foi possível guardar ficheiro de salvaguarda [%s] NÃO foi possível gravar pagina [%s] Não foi possível definir o ficheiro de salvaguarda [%s] apenas como leitura NÃO foi possível definir o ficheiro de salvaguarda anterior [%s] como leitura e escrita Não foi possível atribuir cor do ecran %i! Não foi possível atribuir cor do contorno %i! Não foi possível atribuir a cor %s! Não foi possível encontrar símbolo [%s] na biblioteca. Actualização falhou. Não foi possível reservar memoria para a variável gc Não foi possível encontrar ficheiro scm de inicialização [%s] Crie e edite esquemas e símbolos eléctricos e electrónicos com gschemCor_tarJanela ActualDefinições actuais de localização: %s Página actualCortar 1Cortar 2Cortar 3Cortar 4Cortar 5Cortar para 1Cortar para 2Cortar para 3Cortar para 4Cortar para 5Cortar para a área de transferênciaAlternar _Estilos de GrelhaEH! Tentou-se encontrar o parâmetro whichone, mas tal não foi possível! D_ocumentação...Comprimento do Traço:Espaçamento do Traço:TracejadoComportamento padrão - componente de referênciaGraus de Varrimento:EliminarDestinoRetirarAtributo RemovidoDiagonalAnular PaginaA anular página [%s] Seleccionada grelha de pontos TracejadoDescender no _SímboloDuplicarERRO: Objecto NULL em color_edit_dialog_apply! ERRO: Objecto NULL em o_move_end! ERROR: Objecto NULL! EditarEditar AtributosEditar Tipo de EnchimentoEditar Largura & Tipo de LinhaEditar TextoEditar Propriedades do TextoEditar Texto...Editar tipo de pinoEditar numero de elementoEditar numero de elemento:Editar...EmbutirComponente/Imagem EmbutidaEmbutir componente no esquemaBuffer vazioEncapsulated PostscriptIntroduza o novo espaçamento da grelha:Introduza novo tamanho do texto:Introduza texto, pressione aplicar, desloque cursor para a janela, pressione para introduzir texto. Botão do meio para rodar durante posicionamento.Erro durante a impressão para ficheiro '%s' Verifique a janela de registo para mais informaçãoErro ao tentar gravarExecutar Script...A executar script guile [%s] Completo sem margensCompleto com margensFalhou a Gravar TudoFalha ao carregar ficheiroFalha ao carregar imagem: %sFalha ao ler ficheiro de inicialização scm [%s] Ordem de ficheiroFicheiro:Nome de ficheiroTipo de EnchimentoTipo de Enchimento:PreenchidoFiltro:Procurar TextoFunçãoFoi obtido um objecto que não é linha em o_move_check_endpoint Foi obtido um buffer_number [o_buffer_paste_start] inválido Foi obtido um inválido que está em o_bus_draw_stretch Foi obtido um parâmetro whichone inválido em o_net_draw_stretch Foi obtido um NULL inesperado em o_edit Obtida opção de visualização inválida; A alterar para visualizar ambos GráficosGrelha Desligada Ponto da grelhaGrelha(%s, %s)EscotilhaTexto escondido é agora invisível Texto escondido é agora visível Esconder TextoEsconder texto que comece por:Hie_rarquiaOcoTeclas de AtalhoSe não gravar, todas as alterações serão permanentemente perdidas.Tipo de imagemEm UsoInclua componentes como objectos individuaisAtributo InválidoTamanho de ponto inválido [%d] passado a função dots-grid-dot-size Ganho inválido [%d] passado a função keyboardpan-gain Ganho inválido [%d] passado a função mousepan-gain Ganho inválido [%d] passado a função zoom-gain Numero de níveis inválidos [%d] passados a função undo-levels Número de pixeis inválido [%d] passado a função select-slack-pixels Numero de segundos inválido [%d] passado a função auto-save-interval Numero de passos inválido [%d] passado a função scrollpan-steps Deslocamento inválido [%d] passado a função add-attribute-offset Espaçamento de pixel inválido [%d] passado a função dots-grid-fixed-threshold Espaçamento de pixel inválido [%d] passado a função mesh-grid-display-threshold Tamanho inválido [%d] passado a função bus-ripper-size Tamanho inválido [%d] passado a função snap-size Tamanho inválido [%d] passado a tamanho de texto Factor de ampliação inválido [%d] passado a %s Chamar MacroPremir de tecla(s)PaisagemDa esquerda para a direitaBibliotecasLinhaModo de LinhaEspessura e Tipo de LinhaEspessura de LinhaA carregar esquema [%s] TrancarNegação lógicaInferior EsquerdoInferior ao MeioInferior DireitoModo Ligação MagnéticaMenu/CancelarMalhaGrelha de malha maiorGrelha de malha menorSeleccionada grelha de traços Centro EsquerdaAo meio, no centroCentro DireitoSimetriaModo simetriaMoverModo de MovimentaçãoCópia MúltiplaModo de Cópia MúltiploNNENHUMNomeNome:_NovoLigaçãoModo LigaçãoDestino da ligaçãoJunção da ligaçãoPino de LigaçãoLigaçõesNovoNova PáginaNova JanelaNova Janela criada [%s] Novo ficheiroNovo ficheiro [%s] Nova pagina criada [%s] Novo numero de elemento fora de alcance Sem '*' ou '?' dado no fim do texto de auto-numeração. Não foi especificado destino de impressão Nenhuma frase de procura dada no texto de auto-numeração. DESLIGADOObjecto trancado previamente Objecto destrancado previamente Cor do Objecto:Valor de ajuste para deslocamento? (0 para a origem)AbrirAbrir Página...Abrir Recen_teAbrir ficheiro...Abrir...Orientação:Imagem de fundo de saídaTamanho do papel de saída:Reescrever números existentesSobrepor a gravação?Gestor de PaginaCentrar em respeito com o cursorModo CentrarPanorâmica/CancelarModo pegar %dColar 1Colar 2Colar 3Colar 4Colar 5Colar de 1Colar de 2Colar de 3Colar de 4Colar de 5Colar da área de transferênciaFantasmaEscolher_ImagemImagemModo de ImagemPinoModo de PinoTipo de pinoEspaçamento 1:Espaçamento 2:Popup_menu_item_factory não existe! RetratoPré-visualizarPrevisualizar BufferImprimir...Esquema actual impresso em [%s] PromoverLido ficheiro de inicialização scm [%s] Reverter pagina realmente?RepetirRefazer a ultima anulaçãoRetirar númerosRepetir/Repetir/nenhumSubstituir atributos existentesReajuste a Grelha ActivoUse o botão direito sobre o nome do ficheiro para mais opções...Da direita para a esquerdaRodarModo rotação 90Modo de RotaçãoBanda de borracha Desligada Banda de borracha Ligada S_eleccione os esquemas que quer gravar:GravarGuardar TudoGuardar PáginaGu_ardar como...Gravar como...Gravação cancelada a pedido do utilizador Gravar ficheiroGravar as alterações no esquema "%s" antes de fechar?GuardadoTudo GravadoGuardado [%s] Gravado como [%s] _Diminuir Espaçamento da Grelha_Aumentar Espaçamento da GrelhaEsquemasEsquemas e símbolosEcrãProcurar por:A procura da fonte [%s] A procurar por símbolo [%s] SeleccionarSeleccione Componente...Modo de SelecçãoSeleccione nome do ficheiro PostScript...Seleccionar modoSeleccione objectos primeiroObjectos seleccionadosSelecçãoPreferênciasMostrar EscondidosMostrar Nome & ValorMostrar Nome ApenasMostrar Nome ApenasMostrar TextoMostrar Valor ApenasMostrar Valor apenas_Mostrar AmbosMostrar Janela de _Coordenadas...Mostrar Janela de _RegistoMostrar _NomeMostrar _ValorMostrar atributos inerentesMostrar texto que comece por:Mostrar/Esconder Texto EscondidoMostrar AmbosMostrar Objectos EscondidosMostrar NomeMostrar valorEditor de único atributoTamanho:Ignorar números encontrados em:ElementoAtribuição de elemento mal especificado Elemento...Não são permitidos múltiplos elementos para este componente Alterar Es_paçamento da grelha...PRECAUÇÃO Ajuste a grelha DESLIGADO! Ajuste a grelha LIGADO Desactivado o Ajuste à GrelhaTamanho da GrelhaReajuste a grelha (ATENÇÃO!) SolidoDesculpe mas esta é uma função do menu não funcional Ordenação:Ângulo Inicial:Numero inicial:EstadoGestoTraduzir Símbolo...O símbolo não existe como ficheiro. O não é possível carregar o símbolo. SímbolosTextoEntrada de Texto...Modo de textoTamanho do TextoTexto a procurar:O ficheiro seleccionado `%s' já existe. Pretende sobrepor a gravação?Existem %d esquemas com alterações não gravadas. Gravar alterações antes de fechar?Ocorreu o seguinte erro durante a gravação da imagem com o tipo %s no ficheiro com nome: %s %s. Este é software livre, é bem-vindo que o redistribua sob certas Este é uma adaptação para MINGW32. Alternar Conservar _LigaçõesAlternar Ligação _MagnéticaAlternar _Contorno/RectânguloAjuste a _Grelha Lig/DesDe cima para baixoMoverA converter esquema [%d %d] Tentativa de adicionar mais de duas ligações ao barramento. Erro interno do gschem. Tentou obter uma cor inválida: %d Tentou obter uma cor de contorno inválida: %d Tentou-se definir a sensibilidade num menu_item não existente Tentou-se definir a sensibilidade num menu_item não existente '%s' Tipo:AnularDesfazer a ultima operaçãoDesfazer/Refazer não activo no ficheiro rc RetirarRemover Componente/ImagemDesconhecidoFim desconhecido para linha (%d) Tipo desconhecido para preenchimento de rectângulo! Tipo desconhecido para preenchimento de circulo! Tipo desconhecido para (enchimento de) caminho! Tipo desconhecido para gesto (%d) ! DestrancarActualizarActualizar ComponenteSuperior EsquerdoSuperior, ao MeioSuperior DireitoVValorValor:Visivel?Alterar VisibilidadeVisívelAVISO: Não mova com ajuste à grelha desligado! AVISO: Se está a mover um símbolo para a origem, o tamanho do ajuste a grelha deve ser definido para 100 AVISO: O tamanha do ajuste a grelha não é igual a 100! AVISO: Active ajuste à grelha e continue com a movimentação. Aviso: A terminar ligação numa coordenada fora da grelha Aviso: A iniciar ligação numa coordenada fora da grelha Hierarquia inteiraLargura x AlturaLargura:MundoEscrever _imagem...Escrever Imagem...Escreveu-se imagem a preto e branco em [%s] [%d x %d] Escreveu-se imagem a cores em [%s] [%d x %d] Deve definir a variável de ambiente GETDATA! gschem não consegue localizar os seus ficheiros de dados. Deverá definir a variável de ambiente GEDADATA a apontar para a correcta localização. Zona de AmpliaçãoAmpliar _ZonaMostrar _Tudo_Ver tudo_Ampliar_ReduzirZona de ampliaçãoAmpliação ampliação pequena! Não é possível ampliar mais. _Acerca de..._Adicionar_Anexar_AtributoRectân_gulo_BufferFe_char_Fechar sem gravar_Componente_CopiarEsquema _Escuro de Cor_Eliminar_Retirar_Desfazer_Descender no Esquema_Editar_Ficheiro_Procurar Texto Específico..._Ajuda_Esconder Texto Específico..._Teclas Rápidas...Esquema C_laro de CorLi_nha_Gerente..._Ligação_Novo_Seguinte_Abrir..._Opções_PáginaCentrar no _CursorC_olar_Pino_AnteriorIm_primir..._Sair_RefazerRe_desenhar_Reverter_Guardar_Mostrar Texto Específico_Tamanho do Texto..._Texto...Al_ternar Visibilidade_Desfazer_Acima_Verpretocondições; por favor veja COPYING para mais detalhes. descender na hierarquiaDuplicação de elementos pode causar problemas: [symbolname=%s, number=%d, slot=%d] _Documentação gEDAgEDA - Editor EsquemáticogEDA _Wiki...gEDA/gschem não incluí GARANTIA ABSOLUTAMENTE NENHUMA; veja COPYING para mais detalhes. gEDA/gschem versão %s%s.%s gschem _Perguntas Frequentes...Modo de ligação magnética: Desactiva Modo de ligação magnética: Activa nenhumnumslots atributo em falta o_autosave_backups: Não foi possível obter o verdadeiro nome de %s.o_buffer_copy: Buffer inválido %i o_buffer_cut: Buffer inválido %i Objecto elementar atribuição de elemento pode causar problemas durante auto-numeração de elementos brancox_image_lowlevel: Não foi possível obter mapa de bits a partir janela do gschem. x_image_lowlevel: Não foi possível escrever %s no ficheiro %s. x_image_lowlevel: Não foi possível escrever ficheiro eps %s. geda-gaf-1.8.2/gschem/po/boldquot.sed0000644000175000017500000000033112210331571014300 00000000000000s/"\([^"]*\)"/“\1”/g s/`\([^`']*\)'/‘\1’/g s/ '\([^`']*\)' / ‘\1’ /g s/ '\([^`']*\)'$/ ‘\1’/g s/^'\([^`']*\)' /‘\1’ /g s/“”/""/g s/“/“/g s/”/”/g s/‘/‘/g s/’/’/g geda-gaf-1.8.2/gschem/po/fa.gmo0000664000175000017500000000613212220655645013067 00000000000000?Y p q~             )4;B GT\t         * 7 DQU^cr {          $ 0 < H S ^ i t              . 2 6 ? J W [ h u           * 1 B Q = 90 ,-$/>31<+6)2.?:";' 4&*% #(75 8!About gschemArcAttachAttributesBoxBusCircleClose PageColor...Copy ModeCopy into 1Copy into 2Copy into 3Copy into 4Copy into 5Cut into 1Cut into 2Cut into 3Cut into 4Cut into 5DeleteDetachEditEdit Text...Edit...Embed Component/PictureExecute Script...Fill Type...HotkeysLineLine Width & Type...LockMirror ModeMove ModeMultiple Copy ModeNetNewNew PageNew WindowOpen Page...PanPaste from 1Paste from 2Paste from 3Paste from 4Paste from 5PinPrint...RedoRotate 90 ModeSave AllSave PageSelect ModeShow/Hide Inv TextSlot...Symbol Translate...UndoUnembed Component/PictureUnlockUpdate ComponentWrite image...Zoom BoxProject-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-01-27 14:22+0000 Last-Translator: Sasan Jafarnejad Language-Team: gEDA developers Language: fa MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) About gschemArcAttachAttributesBoxBusCircleClose PageColor...Copy ModeCopy into 1Copy into 2Copy into 3Copy into 4Copy into 5Cut into 1Cut into 2Cut into 3Cut into 4Cut into 5DeleteDetachEditEdit Text...Edit...Embed Component/PictureExecute Script...Fill Type...HotkeysLineLine Width & Type...LockMirror ModeMove ModeMultiple Copy ModeNetNewNew PageNew WindowOpen Page...PanPaste from 1Paste from 2Paste from 3Paste from 4Paste from 5PinPrint...RedoRotate 90 ModeSave AllSave PageSelect ModeShow/Hide Inv TextSlot...Symbol Translate...UndoUnembed Component/PictureUnlockUpdate ComponentWrite image...Zoom Boxgeda-gaf-1.8.2/gschem/po/it.gmo0000664000175000017500000011064612220655645013123 00000000000000'T".;. U.a.s.|.. .... ...... . // /$/9/O/e/ t////0 00 00(0$0 1 1+,1X1*1 22 2"2+24282 A2 L2X2 _2 i2>t22222 2 2 333"3&3/3>C33233'334 4 4 4+4 ;4I4 O4Z4c4j4 s4}44 44444444 4 4 4 5 5 5(5 :5[5(u535%5%5!66@6w6!6=6667 7+71777=7C7 I7 T7 _7 j7 u777577 7 78& 838E8 L8X8_8r8 {8888 8 8/8"8"979<9L9[9 r9|9 9 9999999 ::7:T:mi:E:;8;J;g;z;;;;"; ;;< < <&<-< 5<?</H<4x</</<! =1/=a= i= s= ~==== == ==>=> F>Q>'X>>3>->*>&?.F?<u?<?-?3@?Q@A@,@&A&'A%NA tA A A A AA AA AAA A B B "B.B @BLBQBaBqB B B BB BB B BBBBBBCC C C C-C5C:C>C GCRCkCtCCC7CC*D;D?DVD oD#}DD D D DD DDDE"E 2E?ECE LE WEeEmEuE}EE E E E E EEEE EE FFFF'F0F'9FaFjFrFF"FFFFFFFG GG 5G/CG sGGG GGG(GGG G H HH =H2GHzH H HHHH HHH H I%I@IGI [IgI III II IIII J JJ -J8JNJ bJ mJyJJJJ JJJJJJKK0K(8KaKwKKK K!KK0K L LL+L2L9L4MLLL L L L LGLJMRRMLMM N$N9NMN aN oNyN?N"N*N?&O<fOOOOOOOP P&P DPePPPPP P P PPPPP PQ) Q`7Q-Q8Q+Q-+RYRiRxRRRR.R$RRS S S SS SS&S TTT &T4T9TATHT ^TlTrTTTTTTTTTT TTU U U%U*U0U9UBUHUMUTU YU cUmUsUyUUUU UUUUUUU;U"VG9VVV VMV W'W6WNWeWjW6W!W WRXSX=YX.X/XXNZZZ [$[ <[J[Z[ a[k[|[[ [[ [ [[[ [\ \-\E\e\t\\\\] ]]]^( ^'3^[^n^A^^J_ &`4` :` G` Q`[```o` ~`` ` `L``aa:a?aFa]a sa~aa aa7aa>a%5b5[bbbbb bbbbb c cc c(cFc Xc ccnctc|ccccc c c c c cc4c(,dQUdVd+d+*e(VePe e9e5+fafif!{fffffff f f f f gg+g.Agpggg g4ggh !h.h7h JhThhh}h h h h2h%hi/i8iKi"kiiiiiii j j&j$Dj ij%vj+j#jjYk l)l#:l^lulll*l*lm#m )m3mBmWm`m hmtm:}m<m7m7-n(en>nnnnn oo"6oYo ho ooo?ooo+p2p>Gp4p1p-pFq/bq]q-q7rEVrGr5r<s=Ws7s ss sst tt#tCtTtmt tttttt tttuu7uSuquuuuuuuuuuuv vv0v9vNv Vvcv ivvvv vvv'v9v+9w9ewwwww.wxx *x 8xEx Mx [xix~xxxxx xx y y y y (y 2y ?y Ly Yy fysyyy yyyy y y y y,y z *z4z Hz-Rzzz0z z&z {{ #{(1{ Z{Oh{{{{{{ |&|B| H|T|d|s|| |3|| | |}}:}V}]}n} v}}} }}}(}~*~E~ Y~ c~p~~~~ ~~~~" * KXg  27V'^ǀЀ ; FSfw}7Ё؁ށD$ViY^y#߃H:,4HO.~-օ!߅ , 0:/k%" 5FHOW\rA{{79kq6݈5J[ oz5-ىĊي-CLT  ˋ׋ߋ  % .8 @ MW]w}njΌ֌ی   *5; C NZay  čEɍT(}Nl~)G$3#X_|ܐQ35<i+% W .GEgl`abcd<"2QR6N  $qn)p/]uvwxyM:\ msoyriD1bH`T3  ,"RZ[\]^Be09&&N'('<UP5*FWJ. C{f_Y=tU:*}t> u _ 01M3Vv>#89'CJVY%oO4  q! gjAL@/@I2kIlK4ET$P%;AF+,-pX?"?!w$Qj7(Ghh6cD8e7)  fH!k|rKx=XL-~; S#O^sSn[#mz 5&BdZaz{|}~i** Invalid UTF-8 in log message. See stderr or gschem.log. *unchanged*/Add Attribute.../Add Bus/Add Component.../Add Net/Add Text/Copy/Delete/Down Schematic/Down Symbol/Edit pin type.../Edit.../Move/Select/Up/Zoom Box/Zoom Extents/Zoom In/Zoom OutAdd AttributeAttach OptionsEdit AttributeOptionsScopeText ContentText PropertiesThe input attribute "%s" is invalid Please correct in order to continue The name and value must be non-empty. The name cannot end with a space. The value cannot start with a space.A_rcA_ttributesA_utonumber Text...About gschemActionAction feedback mode set to BOUNDINGBOX Action feedback mode set to OUTLINE Add AttributeAdd Text...Add buses mode Right mouse button to cancelAdd component... Select library and component from list, move the mouse into main window, click to place Right mouse button to cancelAdd nets mode Right mouse button to cancelAlignment:AllAll filesAngle 1:Angle 2:ArcArc ModeArc ParamsArc Radius:AttachAttributeAttributesAttributes with empty name are not allowed. Please set a name.Automatic slottingAutonumber textAutonumber text in:B_usBackgroundBottom to topBounding boxBoxBox ModeBusBus ModeBus pin (graphical)Bus ripper symbol [%s] was not found in any component library C_ircleCannot find any schematics above the current one! Cannot find source [%s] Cannot print current schematic to [%s] CenterChangedCircleCircle ModeClose PageClosing Window Closing [%s] ColorColor EditColor...Color:Command:ComponentComponent D_ocumentation...Component ModeComponentsCoordsCopyCopy 1Copy 2Copy 3Copy 4Copy 5Copy ModeCopy into 1Copy into 2Copy into 3Copy into 4Copy into 5Copy to clipboardCould NOT save backup file [%s] Could NOT save page [%s] Could NOT set backup file [%s] readonly Could NOT set previous backup file [%s] read-write Could not allocate display color %i! Could not allocate outline color %i! Could not allocate the color %s! Could not find symbol [%s] in library. Update failed. Couldn't allocate gc Couldn't find init scm file [%s] Create and edit electrical schematics and symbols with gschemCu_tCurrent WindowCurrent locale settings: %s Current pageCut 1Cut 2Cut 3Cut 4Cut 5Cut into 1Cut into 2Cut into 3Cut into 4Cut into 5Cut to clipboardCycle _grid stylesDOH! tried to find the whichone, but didn't find it! D_ocumentation...Dash Length:Dash Space:DashedDefault behavior - reference componentDegrees of Sweep:DeleteDestinationDetachDetached attributeDiagonalDiscard PageDiscarding page [%s] Dot grid selected DottedDown _SymbolDuplicateERROR: NULL object in color_edit_dialog_apply! ERROR: NULL object in o_move_end! ERROR: NULL object! EditEdit AttributesEdit Fill TypeEdit Line Width & TypeEdit TextEdit Text PropertiesEdit Text...Edit pin typeEdit slot numberEdit slot number:Edit...EmbedEmbed Component/PictureEmbed component in schematicEmpty bufferEncapsulated PostscriptEnter new snap grid spacing:Enter new text size:Enter text, click apply, move cursor into window, click to place text. Middle button to rotate while placing.Error printing to file '%s' Check the log window for more informationError while trying to saveExecute Script...Executing guile script [%s] Extents no marginsExtents with marginsFailed to Save AllFailed to load fileFailed to load picture: %sFailed to read init scm file [%s] File orderFile:FilenameFill Type...Fill Type:FilledFilter:Find TextFunctionGot a non line object in o_move_check_endpoint Got an invalid buffer_number [o_buffer_paste_start] Got an invalid which one in o_bus_draw_stretch Got an invalid which one in o_net_draw_stretch Got an unexpected NULL in o_edit Got invalid show option; defaulting to show both GraphicGrid OFF Grid pointGrid(%s, %s)HatchHidden text is now invisible Hidden text is now visible Hide TextHide text starting with:Hie_rarchyHollowHotkeysIf you don't save, all your changes will be permanently lost.Image typeIn UseInclude component as individual objectsInvalid AttributeInvalid dot size [%d] passed to dots-grid-dot-size Invalid gain [%d] passed to keyboardpan-gain Invalid gain [%d] passed to mousepan-gain Invalid gain [%d] passed to zoom-gain Invalid num levels [%d] passed to undo-levels Invalid number of pixels [%d] passed to select-slack-pixels Invalid number of seconds [%d] passed to auto-save-interval Invalid number of steps [%d] scrollpan-steps Invalid offset [%d] passed to add-attribute-offset Invalid pixel spacing [%d] passed to dots-grid-fixed-threshold Invalid pixel spacing [%d] passed to mesh-grid-display-threshold Invalid size [%d] passed to bus-ripper-size Invalid size [%d] passed to snap-size Invalid size [%d] passed to text-size Invalid zoomfactor [%d] passed to %s Invoke MacroKeystroke(s)LandscapeLeft to rightLibrariesLineLine ModeLine Width & Type...Line Width:Loading schematic [%s] LockLogic bubbleLower LeftLower MiddleLower RightMagnetic Net ModeMenu/CancelMeshMesh grid majorMesh grid minorMesh grid selected Middle LeftMiddle MiddleMiddle RightMirrorMirror ModeMoveMove ModeMultiple CopyMultiple Copy ModeNNONENameName:Ne_wNetNet ModeNet endpointNet junctionNet pinNetsNewNew PageNew WindowNew Window created [%s] New fileNew file [%s] New page created [%s] New slot number out of range No '*' or '?' given at the end of the autonumber text. No print destination specified No searchstring given in autonumber text. OFFObject already locked Object already unlocked Object color:Offset to translate? (0 for origin)OpenOpen Page...Open Recen_tOpen file...Open...Orientation:Output backgroundOutput paper size:Overwrite existing numbersOverwrite file?Page ManagerPanPan ModePan/CancelPaste %d ModePaste 1Paste 2Paste 3Paste 4Paste 5Paste from 1Paste from 2Paste from 3Paste from 4Paste from 5Paste from clipboardPhantomPickPictu_re...PicturePicture ModePinPin ModePin typePitch 1:Pitch 2:Popup_menu_item_factory doesn't exist! PortraitPreviewPreview BufferPrint...Printed current schematic to [%s] PromoteRead init scm file [%s] Really revert page?RedoRedo last undoRemove numbersRepeat/Repeat/noneReplace existing attributesResnap ActiveRight click on the filename for more options...Right to leftRotateRotate 90 ModeRotate ModeRubber band OFF Rubber band ON S_elect the schematics you want to save:SaveSave AllSave PageSave _As...Save as...Save cancelled on user request Save fileSave the changes to schematic "%s" before closing?SavedSaved AllSaved [%s] Saved as [%s] Scale _down Grid SpacingScale _up Grid SpacingSchematicsSchematics and symbolsScreenSearch for:Searching for source [%s] Searching for symbol [%s] SelectSelect Component...Select ModeSelect PostScript Filename...Select modeSelect objs firstSelected objectsSelectionSettingsShow HiddenShow Name & ValueShow Name OnlyShow Name onlyShow TextShow Value OnlyShow Value onlyShow _BothShow _Coord Window...Show _Log Window...Show _NameShow _ValueShow inherited attributesShow text starting with:Show/Hide Inv TextShowBShowHiddenShowNShowVSingle Attribute EditorSize:Skip numbers found in:SlotSlot attribute malformed Slot...Slotting not allowed for this component Snap Grid S_pacing...Snap OFF (CAUTION!) Snap ON Snap OffSnap SizeSnap back to the grid (CAUTION!) SolidSorry but this is a non-functioning menu option Sort order:Start Angle:Starting number:StatusStrokeSymbol Translate...Symbol is not a real file. Symbol cannot be loaded. SymbolsTextText Entry...Text ModeText SizeText to find:The selected file `%s' already exists. Would you like to overwrite it?There are %d schematics with unsaved changes. Save changes before closing?There was the following error when saving image with type %s to filename: %s %s. This is free software, and you are welcome to redistribute it under certain This is the MINGW32 port. Toggle Net _RubberbandToggle _Magnetic NetToggle _Outline/BoxToggle _Snap On/OffTop to bottomTranslateTranslating schematic [%d %d] Tried to add more than two bus rippers. Internal gschem error. Tried to get an invalid color: %d Tried to get an invalid outline color: %d Tried to set the sensitivity on a non-existent popup menu_item Tried to set the sensitivity on non-existent menu item '%s' Type:UndoUndo last operationUndo/Redo disabled in rc file UnembedUnembed Component/PictureUnknownUnknown end for line (%d) Unknown type for box (fill)! Unknown type for circle (fill)! Unknown type for path (fill)! Unknown type for stroke (%d) ! UnlockUpdateUpdate ComponentUpper LeftUpper MiddleUpper RightVValueValue:Vis?VisToggleVisibleWARNING: Do not translate with snap off! WARNING: If you are translating a symbol to the origin, the snap grid size should be set to 100 WARNING: Snap grid size is not equal to 100! WARNING: Turning snap on and continuing with translate. Warning: Ending net at off grid coordinate Warning: Starting net at off grid coordinate Whole hierarchyWidth x HeightWidth:WorldWrite _image...Write image...Wrote black and white image to [%s] [%d x %d] Wrote color image to [%s] [%d x %d] You must set the GEDADATA environment variable! gschem cannot locate its data files. You must set the GEDADATA environment variable to point to the correct location. Zoom BoxZoom _BoxZoom _ExtentsZoom _FullZoom _InZoom _OutZoom boxZoom too small! Cannot zoom further. _About..._Add_Attach_Attribute..._Box_Buffer_Close_Close without saving_Component..._Copy_Dark color scheme_Delete_Detach_Discard_Down Schematic_Edit_File_Find Specific Text..._Help_Hide Specific Text..._Hotkeys..._Light color scheme_Line_Manager..._Net_New_Next_Open..._Options_Page_Pan_Paste_Pin_Previous_Print..._Quit_Redo_Redraw_Revert_Save_Show Specific Text..._Text Size..._Text..._Toggle Visibility_Undo_Up_Viewblackconditions; please see the COPYING file for more details. descend into hierarchyduplicate slot may cause problems: [symbolname=%s, number=%d, slot=%d] gEDA Docu_mentation...gEDA Schematic EditorgEDA _Wiki...gEDA/gschem comes with ABSOLUTELY NO WARRANTY; see COPYING for more details. gEDA/gschem version %s%s.%s gschem _FAQ...magnetic net mode: OFF magnetic net mode: ON nonenumslots attribute missing o_autosave_backups: Can't get the real filename of %s.o_buffer_copy: Invalid buffer %i o_buffer_cut: Invalid buffer %i slotted object without slot attribute may cause problems when autonumbering slots whitex_image_lowlevel: Unable to get pixbuf from gschem's window. x_image_lowlevel: Unable to write %s file %s. x_image_lowlevel: Unable to write eps file %s. Project-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-01-31 12:12+0000 Last-Translator: Peter TB Brett Language-Team: gEDA developers Language: it MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) ** UTF-8 non valido in messaggio del log. Verificare in stderr o gschem.log. *non cambiato*/Aggiungi Attributo.../Aggiungi Bus/Aggiungi Componente.../Aggiungi Net/Aggiungi Testo/Copia/Cancella/Modifica schema/Modifica simbolo/Modifica tipo pin.../Modifica.../Sposta/Seleziona/Torna su/Ingrandisci Riquadro/Adatta alla pagina/Ingrandisci/RiduciAggiungi CaratteristicheAggiungi OpzioniModifica CaratteristicheOpzioniVisibilitàContenuto TestoProprietà del testoIl valore di ingresso "%s" non è valido Inserire un valore corretto per continuare Il nome e il valore devono essere campi non vuoti. Il nome non deve terminare con uno spazio. Il valore non deve iniziare con uno spazio.A_rcoA_ttributiTesto di AutonumerazioneInformazioni su gschemAzioneControllo azioni in modalità PERIMETRO Controllo azioni in modalità CONTORNO Aggiungi AttributoAggiungi Testo...Disegna Bus Tasto destro del mouse per cancellare il collegamentoAggiungi componente... Seleziona la libreria e/o il componente dalla lista, sposta il mouse nella finestra principale e clicca con il tasto sinistro del mouse per rilasciare il componente Il tasto destro del mouse serve ad abbandonare il componente al fine di sceglierne un altro.Disegna Collegamenti Tasto destro del mouse per cancellare il collegamentoAllineamento:TuttoTutti i FileAngolo 1:Angolo 2:ArcoModalità ArcoParametri ArcoRaggio Arco:CollegaAttributoAttributiAttributi con il nome vuoto non sono permessi. Per favore inserisci un nome.Slot automaticoTesto di autonumerazioneTesto di autonumerazione in:B_usSfondoDal basso verso l'altoRiquadro di selezioneRettangoloModalità RiquadroBusModalità BusBus pin (grafico)Simbolo bus ripper [%s] non trovato in alcuna libreria Cerch_ioImpossibile trovare uno schema a livello più alto di questo! Impossibile trovare il sorgente [%s] Non è possibile stampare lo schema corrente in [%s] CentroCambiatoCerchioModalità CerchioChiudi paginaChiusura Finestra Chiusura [%s] ColoreModifica ColoreColore...Colore:Comando:ComponenteD_ocumentazione Componente...Scelta ComponenteComponentiCoordinateCopiaCopia 1Copia 2Copia 3Copia 4Copia 5Modalità copiaCopia in 1Copia in 2Copia in 3Copia in 4Copia in 5Copia negli appuntiNon è possibile salvare il file di ripristino [%s] Non è possibile salvare la pagina [%s] Non è possibile impostare il precedente file di ripristino [%s] in sola lettura NOn è possibile impostare il precedente file di ripristino [%s] in lettura-scrittura Impossibile allocare il colore display %i! Impossibile allocare il colore outline %i! Non è possibile inserire il colore %s! Non è possibile trovare il simbolo [%s] nella libreria. Aggiornamento fallito. Impossibile l'allocazione di gc Impossibile trovare il file di inizializzazione scm [%s] Crea e modifica schemi elettrici e simboli con gschemTa_gliaFinestra CorrenteImpostazioni locali correnti: %s Pagina correnteTaglia 1Taglia 2Taglia 3Taglia 4Taglia 5Taglia in 1Taglia in 2Taglia in 3Taglia in 4Taglia in 5Taglia negli appuntiScorri stili _grigliaACC! Ho cercato whichone ma non l'ho trovato! D_ocumentazioneLunghezza linea tratteggiata:Spazio linea tratteggiata:TratteggiataComportamento predefinito - Consultazione componenteGradi di sviluppo dell'arco:CancellaDestinazioneScollegaAttributo staccatoDiagonaleAbbandona la paginaAnnulla pagina [%s] Selezionata griglia a punti PunteggiataApri _SimboloDuplicareERRORE: oggetto NULLO in color_edit_dialog_apply! ERRORE: oggetto NULLO in o_move_end! ERRORE: oggetto NULLO! ModificaModifica attributiModifica il Tipo di RiempimentoModifica Larghezza & Tipo di LineaModifica TestoModifica proprietà del testoModifica il testo...Modifica tipo di pinModifica numero slotModifica numero slot:Modifica...IncorporaComponente/Immagine fissato/aIncorpora il componente nello schemaBuffer vuotoformato eps (Encapsulated Postscript)Inserisci la nuova spaziatura griglia snap:Inserisci nuova ampiezza del testo:Inserisci il testo e clicca su Applica. Sposta il cursore del mouse nella finestra principale e clicca con il tasto sinistro per rilasciare il testo. Il pulsante centrale del mouse ruota il testo.Errore nella stampa del file '%s' Verifica la finestra di stato per maggiori informazioniErrore durante il salvataggioEsegui Script...Esecuzione dello script guile [%s] Completo senza marginiCompleto con marginiSalvataggio FallitoImpossibile caricare il fileFallito il caricamento dell'immagine: [%s]Fallita la lettura del file init scm [%s] Sequenza dei fileFile:Nome fileRiempimento...Tipo di riempimento:RiempitoFiltro:Trova testoFunzioneOttenuto un oggetto non in linea in o_move_check_endpoint Ottenuto un non valido buffer_number [o_buffer_paste_start] Ottenuto un non valido which one in o_bus_draw_stretch Ottenuto un non valido which one in o_net_draw_stretch Ottenuto un NULLO inaspettato in o_edit Ottenuta opzione mostra non valida; ritorno a mostra entrambi GraficoGriglia NON ATTIVA Punto della grigliaGriglia(%s, %s)TratteggioIl testo ora è non visibile Il testo nascosto è ora visibile Nascondi testoNascondi il testo iniziando con:Ge_rarchiaVuotoTasti scelta rapidaSe non salvi, tutte le modifiche saranno perse definitivamente.Tipo di immagineIn usoIncludi componente come oggetto individualeAttributo non validoDimensione punto non valida [%d] passata a dots-grid-dot-size Guadagno non valido [%d] passato a keyboardpan-gain Guadagno non valido [%d] passato a mousepan-gain Guadagno non valido [%d] passato a zoom-gain Il numero di livelli [%d] assegnato ai livelli Cancella non è valido Il numero [%d] di pixel indicati non è valido Il numero di secondi indicati [%d] non è valido ai fini dell'intervallo di auto salvataggio Numero passi non valido [%d] scrollpan-steps Offset non valido [%d] passato a add-attribute-offset Spaziatura pixel non valida [%d] passata a dots-grid-fixed-threshold Spaziatura pixel non valida [%d] passata a mesh-grid-display-threshold Dimensione non valida [%d] passata a bus-ripper-size L'ampiezza [%d] , assegnata alla snap size, non è corretta Grandezza [%d] passata alla dimensione del testo, non valida Fattore di ingrandimento [%d] passato a %s non valido. Esegui macroTasto(i)OrizzontaleDa sinistra a destraLibrerieLineaModalità LineaTipo & Larghezza della linea...Larghezza linea:Caricamento schema [%s] BloccaBolla logicaIn basso a sinistraRegione centrale in bassoIn basso a destraModo Net MagneticheMenu/CancellaReteGriglia a maglie grandiGriglia a maglie piccoleSelezionata griglia a maglie Regione centrale a sinistraCentro della regione centraleZona centrale a destraSpecchioModalità specchioSpostaModalità spostamentoCopia MultiplaModalità di copiatura multiplaNNESSUNONomeNome:N_uovoCollegamentoModalità CollegamentoFine netGiunzione di tracciaNet pinCollegamentiNuovoNuova paginaNuova finestraCreata Nuova Finestra [%s] Nuovo fileNuovo file [%s] Nuova Pagina Creata [%s] Numero del nuovo slot fuori dal limite Nessun '*' o '?' alla fine del testo di autonumerazione. Non è stata specificata nessuna stampante Nessuna stringa di ricerca nel testo di autonumerazione. OFFOggetto già bloccato Oggetto già sbloccato Colore dell'oggetto:Spostamento per conversione? (0 per l'origine)ApriApri pagina...Apri recen_tiApri file...Apri...Orientamento:Sfondo uscitaAmpiezza del foglio:Sovrascrivi i numeri esistentiSovrascrivere il file?Gestore PaginaPanTrascina ingrandimentoPan/CancellaModalità %d IncollaIncolla 1Incolla 2Incolla 3Incolla 4Incolla 5Incolla da 1Incolla da 2Incolla da 3Incolla da 4Incolla da 5Incolla dagli appuntiFantasmaPrendiImm_agineImmagineModalità ImmaginePinModalità PinTipo di pinLivello 1:Livello 2:La voce Popup_menu_item_factory non esiste! VerticaleAnteprimaBuffer di anteprimaStampa...Lo schema corrente è stato stampato in [%s] PromuoviLettura del file init scm [%s] Vuoi veramente ritornare alla pagina precedente?RipristinaRipristina ultima operazione annullataRimuovi numeriRipeti/Ripeti/NienteRidefinisci le caratteristiche esistentiResnap AttivoClicca con il tasto destro del mouse sul nome del file per ulteriori opzioni...Da destra a sinistraRuotaRuota di 90 gradiModalità RotazioneRubber band OFF Rubber band ON S_eleziona lo schema che vuoi salvare:SalvaSalva tuttoSalva la paginaSalva _come...Salva con nome...Salvataggio cancellato. Salva fileSalvare i cambi allo schema "%s" prima di chiudere?SalvatoSalvato TuttoSalvato [%s] Salvato con il nome [%s] _Diminuisci spaziatura grigliaA_umenta spaziatura grigliaSchemiSchemi e simboliSchermoRicerca di:Ricerca del sorgente [%s] Ricerca del simbolo [%s] SelezionaSeleziona Componente...Modalità selezioneSeleziona il nome del file Psotscript...Modalità SelezioneSeleziona prima un oggettoOggetti selezionatiSelezioneImpostazioniMostra NascostoMostra Nome & ValoreMostra Solo il NomeMostra solo il NomeMostra testoMostra Solo il ValoreMostra solo il ValoreMostra _entrambiVisualizza finestra _Coordinate...Visualizza finestra _Registro...Mostra _NomeMostra _ValoreMostra gli attributi ereditatiMostra il testo iniziando con:Mostra/Nascondi Testo InvisibileMostraBMostra NascostoMostraNMostraVEditor Singola CaratteristicaAmpiezza:Trovati numeri mancanti in:SlotAttributo dello slot malposto Slot...Slot non ammesso per questo componente S_paziatura griglia di aggancioSnap OFF (ATTENZIONE!) Snap ON Snap OffDimensione SnapSnap alla griglia (ATTENZIONE)! ContinuaSpiacente, ma questa non è una funzione del menù opzioni Ordinamento:Angolo di Attacco:Numero iniziale:StatoTrattoConverti simbolo...Il simolo non è un file reale, impossibile caricarlo. SimboliTestoInserisci Testo...Modalità TestoDimensione TestoTesto da trovare:Il file '%s' selezionato esiste già. Sostituire il file esistente ?Ci sono %d schemi che presentano cambi non salvati. Salvare i cambi prima di chiudere?Si è verificato il seguente errore salvando l'immagine con formato %s nel file: %s %s. Questo software è rilasciato sotto licenza GPL e può essere ridistribuito sotto determinate Port per MINGW32. Commuta Net _ElasticheCommuta Net _MagneticheC_ommuta disegno elementi/perimetro_Commuta aggancio automaticoDall'alto verso il bassoConvertiSpostamento schema [%d %d] Tentato di aggiungere più di due bus ripper. Errore interno di gschem. Provato a ottenere un colore non valido: %d Provato a ottenere un colore outline non valido: %d Provato a impostare la sensibilità su una finestra di popup menu_itemi Si è tentato di regolare la sensitività su un oggetto di menu inesistente %s Tipo:AnnullaAnnulla l'ultima operazioneCancella/Ripristina disabilitato nel file rc ScorporaComponente/immagine non fissato/aSconosciutoNon corretta terminazione per la linea (%d) Sconosciuto tipo per il riquadro (riempimento)! Tipo sconosciuto per il cerchio (riempimento)! Tipo sconosciuto di percorso (fill)! Tipo di tratto sconosciuto (%d) ! SbloccaAggiornaAggiorna ComponenteIn alto a sinistraRegione centrale in altoIn alto a destraVValoreValore:Vis?Visibilità StrumentiVisibileATTENZIONE: Non effettuare la conversione in modalità snap off! ATTENZIONE: se stai convertendo un simbolo dalla sua origine, è opportuno che l'ampiezza snap gride venga impostata a 100 ATTENZIONE: L'ampiezza snap gride non è uguale a 100! ATTENZIONE: Sei in modalità snap off; passa prima in modalità snap on e poi continua con la conversione. Attenzione: una net finisce in un punto fuori griglia Attenzione: una net inizia in un punto fuori griglia Intera gerarchiaLarghezza x AltezzaLarghezza:MondoSalva _immagineScrivi immagine...Scritta immagine in bianco e nero per [%s] [%d x %d] Scritta immagine a colori per [%s] [%d x %d] Devi impostare la variabile d'ambiente GEDADATA! gschem non può localizzare i suoi file dati. Devi impostare la variabile d'ambiente GEDADATA in modo che punti alla locazione corretta. Ingrandisci RiquadroIngrandisci _RiquadroAdatta al _contenutoVisualizza _tuttoAum_enta ingrandimentoRid_uci ingrandimentoRiquadro di ZoomEccessiva riduzione dell'immagine! Non è possibile ridurla ulteriormente. _Info su..._Aggiungi_Collega_Attributo_Rettangolo_Buffer_Chiudi_Chiudi senza salvare_Componente_Copia_Schema colori scuri_Elimina_Scollega_Scarta_Apri Schema_Modifica_File_Trova testo specifico...Aiuto_Nascondi testo specifico...Combina_zioni tasti..._Schema colori chiari_Linea_Elenco_Net_Nuovo_Successivo_Apri..._Opzioni_Pagina_Scorri_Incolla_PinPr_ecedente_Stampa..._Esci_Ripeti_Ridisegna_Ripristina_Salva_Mostra testo specificoDimensione _Testo_Testo...Commu_ta Visibilità_Annulla_Torna su_Vistanerocondizioni; per favore leggi il file COPYNG per ulteriori dettagli. discende nella gerarchiauno slot duplicato potrebbe causare problemi: [nome simbolo=%s, numero=%d, slot=%d] Docu_mentazione di gEDA...Editor di schemi gEDA_Wiki di gEDA...gEDA/gschem viene rilasciato SENZA GARANZIA ALCUNA A CAUSA DEL SUO SVILUPPO IN FASE ALFA; leggere il file COPYING per ulteriori informazioni. gEDA/gschem versione %s%s.%s _FAQ di gschem...modalià net magnetiche: OFF modalià net magnetiche: ON nessunoattributo del numero dello slot mancante o_autosave_backups: Non è possibile ottenere il vero nome del file %s.o_buffer_copy: buffer non valido %i o_buffer_cut: buffer non valido %i un oggetto con slot ma senza attributo di slot potrebbe causare problemi con l'autonumerazione biancox_image_lowlevel: incapace ad ottenere immagine pixbuf dalla finestra di gschem. x_image_lowlevel: impossibile scrivere %s file %s. x_image_lowlevel: non è possibile scrivere il file eps %s. geda-gaf-1.8.2/gschem/po/ru.gmo0000664000175000017500000015403612220655645013136 00000000000000H\$000 1%1;=1 y11111 1111 112 222 2 '252 >2H2]222]3n3 }33334 44 44(4$4 5 )5+55a5*5 66 !6j+66666 6 66 6 6>6'7:7J7^7o7 t7 7 777777>7828B8![8'}8888 88 88 8 9 99%9,9 59?9[9 j9u9|999999 9 9 9 9 9 999 |::(:3:%;%:;!`;6;;;!;= <K<P<_< |<<<<<< < < < < <<<5=8= J= W=c=&j==== ==== ==>> > ,> 6>DA>/>">>>>?? )?3? H? U?c?t????? ??? @m @E@@ @@ A(A;APAcAwA"AAA AAA B BB!B )B#3BWB/`B4B/B/B!%C1GCyC C C CCCC CC DDD= D ^DiD'pDD3D-D* E&7E.^E<E<E-F35F?iFAF,F&G&?GfG&G%G G G G G H H HH .H:HRH WH dH oH |HH HHHHH H H HI II I (I6IIIKIPIUI[I`IdI mI zIIIII IIIIII7JJJaJ*JJJJ J-J5K#RKvK {K K KK KKKKK LLL !L ,L:LBLJLRLZL bL oL |L L LLLL LL LLLLLM'M6M?MGMVM"_MMMMMMMM MM N/N HNVN]N lNxNN(NNN N N NN O2OOO UO _OkOzOO OOO OOOP P'P ;PGP ePqPP PP PPPP PPP QQ.Q BQ MQYQsQQQ QQQQQQQQR(RARWRlRuR ~R!RR0R R RR SSS4-SbSjS oS }S S S3SGSJTRfTLTU!U8UMUaU uU UU?U"U*V?:V<zVVVVVVVWW:W XWyWWWWW W W WW[[[[ [[)[`[-A\8o\+\-\]]!](].]>].M]$|]]I^ R^ \^ j^u^ ~^^&^ ^^^ ^^^^ ^^ _#_)_<_D_L_U_e_k_q___ ___ ________` ` ` `$`*`0`8`@`F` ]`k`t````` `;``G`Fa^bub bMbb&c+c:cRcicnc6c!c cRd"Wdzd=d.d/d e">eaeSg ig;tgg2h#Nhrh'h&hhhii?i%[iiii i#ii j j&4j[j]Fkkkmlll;ll nnnnn~nwsoo pZ$pdphqMrgrnrr *s 6sBsTsds ssssgs</tlt*t2t ttt) u6u'Quyuu,uuFvz\v6vIwzXwwwxxG7xxxxxx y yy)'y4Qy%yyyyy z%zAz]zyzzzzz{${A{S{=0|n|}H}B}2?~kr~-~d Lqr1C=[р1G]s ׁa{>$!Bd-w%E*)TigH;_/ ˅؅' <(V"&':1l246bV7"'(&P$w8/ՊCRIA/ދ! 0:Ld e [/GӍc@4#ɏ "66H2 5#vA ő9ޑ'h@7qk,&6ӖrtenB]^qqĚޚ 5!Pr%Û'& G&W4~*ޜ ,'?g~//ŝ /*M'x ՞(9M0gTp,^=Hɠ-/I)yjL[" :Uo%Cƣ" -Mh0ˤ #9Qi (ҥ %!%G m#x 3Ħ% FrSƧ<էRe8x" Ԩ:#/Sީ G/Dw4#B<`SW e$3Ĭ%% DO'l0٭ $D-W3#׮4!+V!ï!,4Tp">9;%.a2!ñ'! /K=>\&O7v"#ѳC QQb"״  ")tL е۵ !a-EնkW÷$_88(:P$a77>v4L0<E9QӼI%Co0#8Po3+m-PV\tvy%$5-Z>OH`"{.&,dS )5E^w) ( 6@Zj+  (;Oa{  $Db*q  G70vh!v6 !sCFD/t1xnCB]0F wfGH1dz>o0~>)!<TE8B^1v 3@qmy>1=SE7W/5ajQcdefgH9rHw&ys+&iFUH)92!Z*bb c %PwvI4Y-Q }n-4nZ76:S qd#5M%:R6L87k@') (3R$(u 4`0 ^+ M90*sJ tU=VlXu|`.? +"I5CJ(VxKY 1O>\t@2{/.#*$<_K;,|Df8p]3/TAaCW%= Ge"OzzAChB][;_2r N,h6g.B\? <}!#m:E[LPo{;ND~"FX D$ p?A- 'FGijkl,&'xG%s The gschem log may contain more information.%s (g%.7s)%s failed to launch URI** Invalid UTF-8 in log message. See stderr or gschem.log. *unchanged*/Add Attribute.../Add Bus/Add Component.../Add Net/Add Text/Copy/Delete/Down Schematic/Down Symbol/Edit pin type.../Edit.../Move/Select/Up/Zoom Box/Zoom Extents/Zoom In/Zoom OutAdd AttributeAn error occurred while loading the requested file. Loading from '%s' failed: %s. The gschem log may contain more information.Attach OptionsEdit AttributeInvalid schematic on clipboard. An error occurred while inserting clipboard data: %s.OptionsScopeText ContentText PropertiesThe input attribute "%s" is invalid Please correct in order to continue The name and value must be non-empty. The name cannot end with a space. The value cannot start with a space.A_rcA_ttributesA_utonumber Text...About gschemActionAction feedback mode set to BOUNDINGBOX Action feedback mode set to OUTLINE Add AttributeAdd Text...Add buses mode Right mouse button to cancelAdd component... Select library and component from list, move the mouse into main window, click to place Right mouse button to cancelAdd nets mode Right mouse button to cancelAlignment:AllAll filesAn unknown error occurred while parsing configuration files. The gschem log may contain more information.Angle 1:Angle 2:ArcArc ModeArc ParamsArc Radius:AttachAttributeAttributesAttributes with empty name are not allowed. Please set a name.Automatic slottingAutonumber textAutonumber text in:B_W color schemeB_usBackgroundBottom to topBounding boxBoxBox ModeBusBus ModeBus pin (graphical)Bus ripper symbol [%s] was not found in any component library C_ircleCannot find any schematics above the current one! Cannot find source [%s] Cannot load gschem configuration.Cannot print current schematic to [%s] CenterChangedCircleCircle ModeClipboard insertion failedClose PageClosing Window Closing [%s] ColorColor EditColor...Color:Command:ComponentComponent D_ocumentation...Component ModeComponentsCoordsCopyCopy 1Copy 2Copy 3Copy 4Copy 5Copy ModeCopy into 1Copy into 2Copy into 3Copy into 4Copy into 5Copy to clipboardCopyright © 1998-2012 Ales Hvezda Copyright © 1998-2012 gEDA Contributors (see ChangeLog for details)Could NOT save backup file [%s] Could NOT save page [%s] Could NOT set backup file [%s] readonly Could NOT set previous backup file [%s] read-write Could not allocate display color %i! Could not allocate outline color %i! Could not allocate the color %s! Could not find symbol [%s] in library. Update failed. Could not launch URI ~S: ~ACouldn't allocate gc Couldn't find init scm file [%s] Create and edit electrical schematics and symbols with gschemCu_tCurrent WindowCurrent locale settings: %s Current pageCut 1Cut 2Cut 3Cut 4Cut 5Cut into 1Cut into 2Cut into 3Cut into 4Cut into 5Cut to clipboardCycle _grid stylesDOH! tried to find the whichone, but didn't find it! D_ocumentation...Dash Length:Dash Space:DashedDefault behavior - reference componentDegrees of Sweep:DeleteDeselectDestinationDetachDetached attributeDiagonalDiscard PageDiscarding page [%s] Dot grid selected DottedDown _SymbolDuplicateERROR: %s ERROR: An unknown error occurred while parsing configuration files. ERROR: NULL object in color_edit_dialog_apply! ERROR: NULL object in o_move_end! ERROR: NULL object! EditEdit AttributesEdit Fill TypeEdit Line Width & TypeEdit TextEdit Text PropertiesEdit Text...Edit pin typeEdit slot numberEdit slot number:Edit...EmbedEmbed Component/PictureEmbed component in schematicEmpty bufferEncapsulated PostscriptEnter new snap grid spacing:Enter new text size:Enter text, click apply, move cursor into window, click to place text. Middle button to rotate while placing.Error printing to file '%s' Check the log window for more informationError while trying to saveEvaluate:Execute Script...Executing guile script [%s] Extents no marginsExtents with marginsFailed to Save AllFailed to load fileFailed to load picture: %sFailed to read init scm file [%s] Failed to replace pictures: %sFailed to save fileFile orderFile:FilenameFill Type...Fill Type:FilledFilter:Find TextFound invalid gschem window smob ~SFunctionGot a non line object in o_move_check_endpoint Got an invalid buffer_number [o_buffer_paste_start] Got an invalid which one in o_bus_draw_stretch Got an invalid which one in o_net_draw_stretch Got an unexpected NULL in o_edit Got invalid show option; defaulting to show both GraphicGrid OFF Grid pointGrid(%s, %s)HatchHidden text is now invisible Hidden text is now visible Hide TextHide text starting with:Hie_rarchyHollowHotkeysIf you don't save, all your changes will be permanently lost.Image typeIn UseInclude component as individual objectsInvalid AttributeInvalid dot size [%d] passed to dots-grid-dot-size Invalid gain [%d] passed to keyboardpan-gain Invalid gain [%d] passed to mousepan-gain Invalid gain [%d] passed to zoom-gain Invalid num levels [%d] passed to undo-levels Invalid number of pixels [%d] passed to select-slack-pixels Invalid number of seconds [%d] passed to auto-save-interval Invalid number of steps [%d] scrollpan-steps Invalid offset [%d] passed to add-attribute-offset Invalid pixel spacing [%d] passed to dots-grid-fixed-threshold Invalid pixel spacing [%d] passed to mesh-grid-display-threshold Invalid size [%d] passed to bus-ripper-size Invalid size [%d] passed to snap-size Invalid size [%d] passed to text-size Invalid text alignment ~A.Invalid text name/value visibility ~A.Invalid zoomfactor [%d] passed to %s Invoke MacroKeystroke(s)LandscapeLeft to rightLibrariesLineLine ModeLine Width & Type...Line Width:Loading schematic [%s] LockLogic bubbleLower LeftLower MiddleLower RightMagnetic Net ModeMenu/CancelMeshMesh grid majorMesh grid minorMesh grid selected Middle LeftMiddle MiddleMiddle RightMirrorMirror ModeMoveMove ModeMultiple CopyMultiple Copy ModeNNONENameName:Ne_wNetNet ModeNet endpointNet junctionNet pinNetsNewNew PageNew WindowNew Window created [%s] New fileNew file [%s] New page created [%s] New slot number out of range No '*' or '?' given at the end of the autonumber text. No documentation foundNo print destination specified No searchstring given in autonumber text. OFFObject already locked Object already unlocked Object color:Object ~A is not directly included in a page.Object ~A is not included in the current gschem page.Offset to translate? (0 for origin)OpenOpen Page...Open Recen_tOpen file...Open...Orientation:Output backgroundOutput paper size:Overwrite existing numbersOverwrite file?Page ManagerPanPan ModePan/CancelPaste %d ModePaste 1Paste 2Paste 3Paste 4Paste 5Paste from 1Paste from 2Paste from 3Paste from 4Paste from 5Paste from clipboardPhantomPickPictu_re...PicturePicture ModePinPin ModePin typePitch 1:Pitch 2:Popup_menu_item_factory doesn't exist! PortraitPreviewPreview BufferPrint...Printed current schematic to [%s] PromoteRead init scm file [%s] Really revert page?RedoRedo last undoRemove numbersRepeat/Repeat/noneReplace existing attributesResnap ActiveRight click on the filename for more options...Right to leftRotateRotate 90 ModeRotate ModeRubber band OFF Rubber band ON S_elect the schematics you want to save:SaveSave AllSave PageSave _As...Save as...Save cancelled on user request Save fileSave the changes to schematic "%s" before closing?SavedSaved AllSaved [%s] Saved as [%s] Scale _down Grid SpacingScale _up Grid SpacingSchematicsSchematics and symbolsScreenSearch for:Searching for source [%s] Searching for symbol [%s] SelectSelect AllSelect Component...Select ModeSelect PostScript Filename...Select modeSelect objs firstSelected objectsSelectionSettingsShow HiddenShow Name & ValueShow Name OnlyShow Name onlyShow TextShow Value OnlyShow Value onlyShow _BothShow _Coord Window...Show _Log Window...Show _NameShow _ValueShow inherited attributesShow text starting with:Show/Hide Inv TextShowBShowHiddenShowNShowVSingle Attribute EditorSize:Skip numbers found in:SlotSlot attribute malformed Slot...Slotting not allowed for this component Snap Grid S_pacing...Snap OFF (CAUTION!) Snap ON Snap OffSnap SizeSnap back to the grid (CAUTION!) SolidSorry but this is a non-functioning menu option Sort order:Start Angle:Starting number:StatusStrokeSymbol Translate...Symbol is not a real file. Symbol cannot be loaded. SymbolsTextText Entry...Text ModeText SizeText to find:The operating system is out of memory or resources.The selected file `%s' already exists. Would you like to overwrite it?There are %d schematics with unsaved changes. Save changes before closing?There was the following error when saving image with type %s to filename: %s %s. This is free software, and you are welcome to redistribute it under certain This is the MINGW32 port. Toggle Net _RubberbandToggle _Magnetic NetToggle _Outline/BoxToggle _Snap On/OffTop to bottomTranslateTranslating schematic [%d %d] Tried to add more than two bus rippers. Internal gschem error. Tried to get an invalid color: %d Tried to get an invalid outline color: %d Tried to set the sensitivity on a non-existent popup menu_item Tried to set the sensitivity on non-existent menu item '%s' Type:UndoUndo last operationUndo/Redo disabled in rc file UnembedUnembed Component/PictureUnknownUnknown end for line (%d) Unknown type for box (fill)! Unknown type for circle (fill)! Unknown type for path (fill)! Unknown type for stroke (%d) ! UnlockUpdateUpdate ComponentUpper LeftUpper MiddleUpper RightUsage: %s [OPTION ...] [--] [FILE ...] Interactively edit gEDA schematics or symbols. If one or more FILEs are specified, open them for editing; otherwise, create a new, empty schematic. Options: -q, --quiet Quiet mode. -v, --verbose Verbose mode. -r, --config-file=FILE Additional configuration file to load. -L DIR Add DIR to Scheme search path. -c EXPR Scheme expression to run at startup. -s FILE Scheme script to run at startup. -o, --output=FILE Output filename (for printing). -p Automatically place the window. -V, --version Show version information. -h, --help Help; this message. -- Treat all remaining arguments as filenames. Report bugs at gEDA/gaf homepage: VValueValue:Vis?VisToggleVisibleWARNING: Do not translate with snap off! WARNING: If you are translating a symbol to the origin, the snap grid size should be set to 100 WARNING: Snap grid size is not equal to 100! WARNING: Turning snap on and continuing with translate. Warning: Ending net at off grid coordinate Warning: Starting net at off grid coordinate Whole hierarchyWidth x HeightWidth:WorldWrite _image...Write image...Wrote black and white image to [%s] [%d x %d] Wrote color image to [%s] [%d x %d] You must set the GEDADATA environment variable! gschem cannot locate its data files. You must set the GEDADATA environment variable to point to the correct location. Zoom BoxZoom _BoxZoom _ExtentsZoom _FullZoom _InZoom _OutZoom boxZoom too small! Cannot zoom further. _About..._Add_Attach_Attribute..._Box_Buffer_Close_Close Window_Close without saving_Component..._Copy_Dark color scheme_Delete_Detach_Discard_Down Schematic_Edit_File_Find Specific Text..._Help_Hide Specific Text..._Hotkeys..._Light color scheme_Line_Manager..._Net_New_Next_Open..._Options_Page_Pan_Paste_Pin_Previous_Print..._Quit_Redo_Redraw_Revert_Save_Show Specific Text..._Text Size..._Text..._Toggle Visibility_Undo_Up_Viewblackcairo contextconditions; please see the COPYING file for more details. descend into hierarchyduplicate slot may cause problems: [symbolname=%s, number=%d, slot=%d] gEDA %s (g%.7s) Copyright (C) 1998-2012 gEDA developers This is free software, and you are welcome to redistribute it under certain conditions. For details, see the file `COPYING', which is included in the gEDA distribution. There is NO WARRANTY, to the extent permitted by law. gEDA Docu_mentation...gEDA Schematic EditorgEDA _Wiki...gEDA/gschem comes with ABSOLUTELY NO WARRANTY; see COPYING for more details. gEDA/gschem version %s%s.%s gEDA: GPL Electronic Design Automationgschem _FAQ...magnetic net mode: OFF magnetic net mode: ON nonenumslots attribute missing o_autosave_backups: Can't get the real filename of %s.o_buffer_copy: Invalid buffer %i o_buffer_cut: Invalid buffer %i slotted object without slot attribute may cause problems when autonumbering slots the cairo context for the rendererwhitex_image_lowlevel: Unable to get pixbuf from gschem's window. x_image_lowlevel: Unable to write %s file %s. x_image_lowlevel: Unable to write eps file %s. ~S is not a prefix key sequence.~S is not a valid key combination.Project-Id-Version: geda gschem Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-03-01 07:02+0000 Last-Translator: Vladimir Zhbanov Language-Team: gEDA developers Language: ru MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) %s В журнале gschem может быть больше информации.%s (g%.7s)Не удалось открыть URI с помощью %s** Недопустимый символ в кодировке UTF-8 в окне журнала. См. stderr или gschem.log. *без изменений*/Добавить атрибут.../Добавить шину/Добавить компонент.../Добавить соединение/Добавить текст/Копировать/Удалить/Войти в подсхему/Войти в символПравка типа вывода.../Правка.../Переместить/Выделить/Наверх/Масштаб на область/Уместить в окне/Увеличить/УменьшитьДобавить атрибутПри загрузке указанного файла произошла ошибка. Не удалось загрузить файл '%s': %s. В журнале gschem может быть больше информации.Объекты, к которым следует прикрепить атрибут:ИзменитьНедопустимые данные схемы в системном буфере обмена. Ошибка при вставке данных из буфера: %s.НастройкиОграниченияТекстСвойства текстового объектаНедопустимое определение атрибута "%s". Исправьте его, прежде чем продолжить Имя и значение обязательно должны быть заданы. Имя не должно заканчиваться пробелом. Значение не должно начинаться с пробела._Дугу_Атрибуты_Автонумерация...О программе...ДействиеПри выполнении действий вместо объектов будет отрисовываться рамка При выполнении действий объекты будут отрисовываться полностью Добавить атрибутВвод текста...Ввод шин Щелчок правой кнопкой отменяет операциюДобавление компонентов Выберите библиотеку и компонент из списка, переместите мышь в главное окно, для добавления щёлкните левой кнопкой в нужном месте. Щелчок правой кнопкой отменяет операциюВвод соединений Щелчок правой кнопкой отменяет операциюВыравнивание:ВсеВсе файлыНеизвестная ошибка при анализе файлов настроек. В журнале gschem может быть больше информации.Угол 1:Угол 2:Ввод дугиВвод дугПараметры дугиРадиус:ПрикреплениеАтрибутАтрибутыОтсутствие имени у атрибута не допускается. Введите имя.Автоматически нумеровать секцииАвтонумерацияОбласть автонумерации:_Чёрно-белая цветовая схема_ШинуФонСнизу вверхОграничительная рамкаПрямоугольникВвод прямоугольниковШинаВвод шинВывод шины (графический)Символ ответвления шины [%s] не найден ни в одной из библиотек компонентов _ОкружностьДля текущей схемы не удалось найти схему, вышестоящую по иерархии! Невозможно найти источник [%s] Не удалось загрузить файлы настроек gschemНе удалось распечатать текущую схему, используя [%s] как назначение штрих-пунктирнаяИзменёнОкружностьВвод окружностейОшибка вставки данных из буфера обменаЗакрыть страницуЗакрытие окна Закрытие [%s] Правка цветаПравка цветаЦвет...Цвет:Команда:Добавление компонентаДокументация на _компонент...Вставка компонентовКомпонентыКоординатыКопированиеКопирование в 1Копирование в 2Копирование в 3Копирование в 4Копирование в 5КопированиеСкопировать в 1Скопировать в 2Скопировать в 3Скопировать в 4Скопировать в 5Копирование в буферCopyright © 1998-2012 Ales Hvezda Copyright © 1998-2012 gEDA Contributors (подробности см. в файле ChangeLog)Не удалось сохранить файл резервной копии [%s] Не удалось сохранить страницу [%s] Не удалось установить режим доступа только на чтение для файла резервной копии [%s] Не удалось установить режим доступа на чтение-запись для предыдущей резервной копии файла [%s] Не удалось выделить цвет для индекса %i! Невозможно выделить цвет контура %i! Не удалось выделить %s цвет! Символ [%s] в библиотеке не найден. Обновление не выполнено. Не удалось открыть URI ~S: ~AНе удалось выделить структуру графического контекста Не удалось найти scm-файл инициализации [%s] Создание и редактирование электрических схем и символов в gschem_ВырезатьТекущее окноТекущие настройки локализации: %s Текущая страницаВырезание в 1Вырезание в 2Вырезание в 3Вырезание в 4Вырезание в 5Вырезать в 1Вырезать в 2Вырезать в 3Вырезать в 4Вырезать в 5Вырезание в буферСтиль _сеткиОх! Попытка найти точку подключения для соединения оказалась безуспешной! _ДокументацияДлина штриха:Интервал:штриховаяВставить как ссылку (по умолчанию)Угол разворота:УдалитьСнять выделениеНазначение печатиОтделениеНеприкреплённый атрибутПо диагоналиОтвергнуть страницуЗакрытие [%s] без сохранения изменений Выбрана сетка из точек пунктирнаяВойти в _символДублироватьОШИБКА: %s ОШИБКА: неизвестная ошибка при анализе файлов настроек. color_edit_dialog_apply: ОШИБКА! NULL вместо объекта o_move_end: ОШИБКА! NULL вместо объекта ОШИБКА! NULL вместо объекта ПравкаПравка атрибутовИзменение заполненияСвойства линииПравка текстаПравка свойств текстаПравка текста...Правка типа выводаПравка номера секцииВведите номер секции:Правка...ВнедрениеВнедрить компонент/изображениеВнедрить в схемуБуфер пустEncapsulated PostscriptВведите новый шаг привязки:Введите новый размер текста:Введите текст, нажмите "Применить", переместите курсор в окно и щёлкните левой кнопкой в месте вставки. Перед вставкой текст можно повернуть щелчком средней кнопки мыши.Ошибка печати в файл [%s] Подробности см. в окне журналаОшибка при попытке сохраненияВыполнить:Выполнить скрипт...Запуск guile-скрипта [%s] Содержимое без полейСодержимое с полямиНе удалось сохранить все файлыНе удалось загрузить файлНе удалось загрузить изображение: [%s]Не удалось прочесть scm-файл инициализации [%s] Не удалось заменить изображение: [%s]Не удалось сохранить файлПо порядку в файлеФайл:Имя файлаЗаполнение...Тип заполнения:сплошная заливкаФильтр:НайтиОбнаружена недопустимая структура данных smob окна gschem ~SФункцияo_move_check_endpoint: задан объект, не являющийся линейным o_buffer_paste_start: недопустимый номер буфера o_bus_draw_stretch: недопустимое значение 'whichone' (флаг подключаемого конца соединения) o_net_draw_stretch: недопустимое значение 'whichone' (флаг подключаемого конца соединения) o_edit: неожиданный NULL вместо объекта Выбран недопустимый способ отображения, установка отображения имени и значения Графический объектСетка отключена Точка сеткиСетка (%s, %s)в линейкуСкрытый текст теперь невидим Скрытый текст теперь видим СкрытьСкрыть текст, начинающийся с:_Иерархиябез заполненияГорячие клавишиЕсли их не сохранить, все изменения будут безвозвратно утрачены.ФорматИспользуемыеВставить как отдельные объектыНедопустимый атрибутdots-grid-dot-size (размер точки сетки): недопустимое значение [%d] keyboardpan-gain (смещение при панорамировании клавишами): недопустимое значение [%d] mousepan-gain (смещение при панорамировании мышью): недопустимое значение [%d] zoom-gain (процент увеличения масштаба): недопустимое значение [%d] undo-levels (количество шагов отмены): недопустимое значение [%d] select-slack-pixels (число соседних пикселов для выделения): недопустимое значение [%d] auto-save-interval (интервал автосохранения в секундах): недопустимое значение [%d] scrollpan-steps (число шагов сдвига области просмотра): недопустимое значение [%d] add-attribute-offset (отступ атрибута от объекта при его добавлении): недопустимое значение [%d] dots-grid-fixed-threshold (мин. интервал между точками сетки в пикселах): недопустимое значение [%d] mesh-grid-display-threshold (мин. интервал между линиями сетки в пикселах): недопустимое значение [%d] bus-ripper-size (размер ответвления от шины): недопустимое значение [%d] snap-size (размер сетки привязки): недопустимое значение [%d] text-size (размер текста по умолчанию): недопустимое значение [%d] Недопустимое выравнивание текста ~A.Недопустимое сочетание видимости имени/значения ~A.Недопустимое значение коэффициента масштабирования [%d] для %s Выполнить макросСочетание клавишАльбомнаяСлева направоБиблиотечныеЛинияВвод линийСвойства линии...Толщина линии:Загрузка схемы [%s] БлокировкаЛогическая инверсияслева снизупо центру снизусправа снизуМагнитные соединенияМеню/Отмена действияв клеткуЛинии основной сеткиЛинии вспомогательной сеткиВыбрана сетка из линий слева по центрупо центрусправа по центруОтражениеЗеркальное отражениеПеремещениеПеремещениеМногократное копированиеМногократное копированиеИНЕТИмяИмя:_НоваяСоединениеВвод соединенийМетка конца соединенияСоединительная точкаВывод соединенияСоединенияНовыйНовая страницаНовое окноСоздано новое окно [%s] Новый файлНовый файл [%s] Создана новая страница [%s] Новый номер секции вне допустимого диапазона В конце выражения для автонумерации не задан символ '*' или '?'. Документация не найденаНе указано назначение для печати Не задано выражение для автонумерации. ОТКЛОбъект уже заблокирован Объект уже разблокирован Выберите цвет объекта:Объект ~A непосредственно в данных страницы не содержится.Объект ~A не принадлежит текущей странице.Задайте относительное смещение схемы (или 0 для смещения в начало координат)ОткрытьОткрыть страницу...Открыть не_давниеОткрыть файл...Выберите файлОриентация:Фон вывода на печатьРазмер бумаги:Перезаписывать уже имеющиеся номераПерезаписать файл?Менеджер страницЦентрированиеЦентрированиеПрокрутка/Отмена действияВставка из %dВставка из 1Вставка из 2Вставка из 3Вставка из 4Вставка из 5Вставить из 1Вставить из 2Вставить из 3Вставить из 4Вставить из 5Вставка из буферадвойной штрих-пунктирВыбор_Изображение...Вставка изображенияВставка изображенийВыводДобавление выводовТип выводаШаг 1:Шаг 2:Popup_menu_item_factory не существует! КнижнаяПредпросмотрБуфер предпросмотраПечатьТекущая схема распечатана с использованием [%s] как назначения ВынестиЧтение scm-файла инициализации [%s] Действительно вернуть сохранённую страницу?ПовторитьПовторить отменённое действиеУдалить все номераПовтор:Повтор: ---Заместить одноимённые атрибутыРежим перепривязкиЩёлкните по имени файла правой кнопкой для выбора дополнительных действий.Справа налевоПоворотПоворот на 90°ПоворотРежим "резиновых" соединений отключен Режим "резиновых" соединений включен _Выберите сохраняемые схемы:СохранитьСохранить всеСохранить страницуСохранить _как...Введите имя файла для сохраненияСохранение отменено по команде пользователя Сохранить файлСохранить изменения в схеме "%s" перед закрытием?Файл сохранёнВсе файлы сохраненыФайл [%s] сохранён Файл сохранён под именем [%s] Уме_ньшить шаг сеткиУ_величить шаг сеткиСхемыСхемы и символыОтображаемая областьВыражение:Поиск источника данных [%s] Поиск символа [%s] ВыделениеВыделить всёВыбор компонентаВыделениеВыберите имя PostScript-файлаРежим выделенияСначала что-нибудь выделитеВыделенные объектыВыделениеПараметрыОтображение скрытого текстаПоказать имя и значениеПоказать имяПоказать имяПоказатьПоказать значениеПоказать значениеПо_казать имя и значениеОкно _координат...Окно _журнала...Показать _имяПоказать _значениеПоказать унаследованные атрибутыПоказать текст, начинающийся с:Показать/скрыть невидимый текстОтображение имя=значениеОтображение/скрытие текстаОтображение имениОтображение значенияРедактор атрибутаРазмер:Пропуск номеров, уже имеющихся в области:Правка секцииНедопустимый формат атрибута 'slot' Секция...Нумерация секций для этого компонента невозможна _Шаг сетки привязки...ВНИМАНИЕ! Привязка отключена! Привязка включена Привязка отключенаШаг привязкиВНИМАНИЕ! Включите привязку к сетке! сплошнаяИзвините, но это этот пункт меню не работает Порядок нумерации:Начальный угол:Начальный номер:ЖурналЖестСмещение символа...Нет реального файла для символа. Символ не может быть загружен. СимволыТекстВвод текстаВвод текстаРазмер текстаТекст:Операционной системе не хватает памяти или ресурсов.Файл `%s' уже существует. Перезаписать?В %d схемах есть несохранённые изменения. Сохранить их перед закрытием?Ошибка сохранения изображения в формате %s под именем: %s %s. Это свободное программное обеспечение, и его можно распространять при определённых Это версия для MINGW32. _Резиновое соединение вкл/откл_Магнитное соединение вкл/откл_Объекты/рамкаПереключить _привязкуСверху внизСмещениеСмещение схемы [%d %d] Попытка добавить более двух ответвлений шины. Внутренняя ошибка gschem. Запрос недопустимого цвета: %d Запрос недопустимого цвета: %d Попытка установки чувствительности для несуществующего элемента контекстного меню Попытка установки чувствительности несуществующего элемента меню '%s' Тип:ОтменитьОтменить последнее действиеОтмена/повтор отключены в файле настроек ИсключениеИсключить компонент/изображениеНеизвестныйНеизвестный тип конца линии (%d) Неизвестный тип заполнения прямоугольника! Неизвестный тип заполнения окружности! Неизвестный тип заполнения контура! Неизвестный тип линии (%d) ! РазблокировкаОбновлениеОбновить компонентслева сверхупо центру сверхусправа сверхуИспользование: %s [КЛЮЧ ...] [--] [ФАЙЛ ...] Интерактивное редактирование принципиальных схем и символов gEDA. Если указан один или более ФАЙЛов, они открываются для редактирования; в противном случае создаётся новый пустой файл. Ключи: -q, --quiet Без вывода информации. -v, --verbose Подробный вывод. -r, --config-file=ФАЙЛ Загрузка дополнительного файла настройки. -L КАТАЛОГ Добавление каталога к пути поиска Scheme. -c ВЫРАЖЕНИЕ Вызов выражения Scheme при запуске. -s ФАЙЛ Вызов файла Scheme-скрипта при запуске. -o, --output=ФАЙЛ Имя выходного файла (для печати в файл). -p Автоматическое размещение окна. -V, --version Информация о версии. -h, --help Справка; данная информация. -- Считать все остальные аргументы именами файлов. Отчёты об ошибках отправляйте по адресу Домашняя страница gEDA/gaf: ЗЗначениеЗначение:ВидимыйПереключение видимостиВидимыйВНИМАНИЕ! Не производите смещение с отключенной привязкой! ВНИМАНИЕ! Если символ смещается в начало координат, размер сетки привязки должен быть установлен в 100 ВНИМАНИЕ! Размер сетки привязки не равен 100! ВНИМАНИЕ! Включите привязку и повторите смещение. Внимание: конечная точка соединения не совпадает с узлом сетки Внимание: начальная точка соединения не совпадает с узлом сетки Вся иерархияШирина × высотаТолщина:Вся рабочая областьСохранить _изображение...Введите имя файла для изображенияЗаписано чёрно-белое изображение в [%s] [%d×%d] Записано цветное изображение в [%s] [%d×%d] Необходимо установить переменную окружения GEDADATA! gschem не может найти свои файлы данных. Необходимо задать их местоположение в переменной окружения GEDADATA. Масштаб на областьОб_ласть масштабирования_Уместить в окне_Показать всёУ_величитьУме_ньшитьРамка выбора областиМасштаб слишком мал! Дальнейшее изменение невозможно. _О программе..._Добавить_Прикрепить_Атрибут..._Прямоугольник_Буфер_Закрыть_Закрыть окно_Не сохранять_Компонент...С_копировать_Тёмная цветовая схема_Удалить_Отделить_ОтвергнутьВойти в _подсхему_Правка_Файл_Найти текст..._Справка_Скрыть текст..._Горячие клавиши_Светлая цветовая схема_Линию_Менеджер..._Соединение_Новый_Следующая_Открыть..._НастройкиСт_раница_ЦентрироватьВ_ставить_Вывод_Предыдущая_Печать...В_ыход_ПовторитьПе_рерисовать_Возвратить_СохранитьПоказать _текст...Размер _текста..._Текст...Переключить _видимость_ОтменитьНа_верх_Видчёрныйcairo-контекстусловиях. Подробности см. в файле COPYING. Искать в том числе в подсхемахДублирование секций может вызвать проблемы: [symbolname=%s, number=%d, slot=%d] gEDA %s (g%.7s) Это свободное программное обеспечение, и его можно распространять при определённых условиях. Подробности см. в файле COPYING в дистрибутиве gEDA. Нет НИКАКИХ ГАРАНТИЙ в рамках, допустимых имеющимся законодательством. Документация _gEDA...Схемотехнический редактор gEDAgEDA _Wiki...gEDA/gschem поставляется БЕЗ КАКИХ БЫ ТО НИ БЫЛО ГАРАНТИЙ; подробности см. в файле COPYING. gEDA/gschem версии %s%s.%s gEDA: САПР электроники под лицензией GPLgschem _FAQ...Режим "магнитных" соединений отключен Режим "магнитных" соединений включен ---Атрибут 'numslots' отсутствует o_autosave_backups: не удалось определить имя реального файла для [%s].o_buffer_copy: недопустимый номер буфера %i o_buffer_cut: недопустимый номер буфера %i Многосекционный объект без атрибута 'slot' может вызвать проблемы при автонумерации секций cairo-контекст для рендерерабелыйx_image_lowlevel: не удалось получить растровую копию окна gschem. x_image_lowlevel: не удалось записать %s-файл %s. x_image_lowlevel: не удалось записать eps-файл %s. ~S не является префиксом клавишной последовательности.Недопустимая комбинация клавиш ~S.geda-gaf-1.8.2/gschem/po/quot.sed0000644000175000017500000000023112210331572013437 00000000000000s/"\([^"]*\)"/“\1”/g s/`\([^`']*\)'/‘\1’/g s/ '\([^`']*\)' / ‘\1’ /g s/ '\([^`']*\)'$/ ‘\1’/g s/^'\([^`']*\)' /‘\1’ /g s/“”/""/g geda-gaf-1.8.2/gschem/po/tr.po0000664000175000017500000014005712220655644012766 00000000000000# Turkish translation for geda # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-01-27 14:22+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: gEDA developers \n" "Language: tr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: gschem/src/a_zoom.c:212 msgid "Zoom too small! Cannot zoom further.\n" msgstr "" #: gschem/src/g_attrib.c:92 msgid "Object ~A is not included in the current gschem page." msgstr "" #: gschem/src/g_attrib.c:112 msgid "Invalid text name/value visibility ~A." msgstr "" #: gschem/src/g_rc.c:312 #, c-format msgid "Invalid zoomfactor [%d] passed to %s\n" msgstr "" #: gschem/src/g_rc.c:458 #, c-format msgid "Invalid size [%d] passed to text-size\n" msgstr "" #: gschem/src/g_rc.c:501 #, c-format msgid "Invalid size [%d] passed to snap-size\n" msgstr "" #: gschem/src/g_rc.c:958 #, c-format msgid "Invalid num levels [%d] passed to undo-levels\n" msgstr "" #: gschem/src/g_rc.c:1220 #, c-format msgid "Invalid size [%d] passed to bus-ripper-size\n" msgstr "" #: gschem/src/g_rc.c:1295 #, c-format msgid "Invalid dot size [%d] passed to dots-grid-dot-size\n" msgstr "" #: gschem/src/g_rc.c:1336 #, c-format msgid "Invalid pixel spacing [%d] passed to dots-grid-fixed-threshold\n" msgstr "" #: gschem/src/g_rc.c:1362 #, c-format msgid "Invalid pixel spacing [%d] passed to mesh-grid-display-threshold\n" msgstr "" #: gschem/src/g_rc.c:1387 #, c-format msgid "Invalid offset [%d] passed to add-attribute-offset\n" msgstr "" #: gschem/src/g_rc.c:1411 #, c-format msgid "Invalid number of seconds [%d] passed to auto-save-interval\n" msgstr "" #: gschem/src/g_rc.c:1435 #, c-format msgid "Invalid gain [%d] passed to mousepan-gain\n" msgstr "" #: gschem/src/g_rc.c:1458 #, c-format msgid "Invalid gain [%d] passed to keyboardpan-gain\n" msgstr "" #: gschem/src/g_rc.c:1505 #, c-format msgid "Invalid number of pixels [%d] passed to select-slack-pixels\n" msgstr "" #: gschem/src/g_rc.c:1531 #, c-format msgid "Invalid gain [%d] passed to zoom-gain\n" msgstr "" #: gschem/src/g_rc.c:1556 #, c-format msgid "Invalid number of steps [%d] scrollpan-steps\n" msgstr "" #: gschem/src/g_select.c:79 gschem/src/g_select.c:116 #: gschem/src/g_select.c:152 msgid "Object ~A is not directly included in a page." msgstr "" #: gschem/src/g_util.c:56 msgid "Could not launch URI ~S: ~A" msgstr "" #: gschem/src/g_window.c:136 msgid "Found invalid gschem window smob ~S" msgstr "" #: gschem/src/gschem.c:175 #, c-format msgid "gEDA/gschem version %s%s.%s\n" msgstr "" #: gschem/src/gschem.c:178 msgid "" "gEDA/gschem comes with ABSOLUTELY NO WARRANTY; see COPYING for more " "details.\n" msgstr "" #: gschem/src/gschem.c:180 msgid "" "This is free software, and you are welcome to redistribute it under certain\n" msgstr "" #: gschem/src/gschem.c:182 msgid "" "conditions; please see the COPYING file for more details.\n" "\n" msgstr "" #: gschem/src/gschem.c:185 #, c-format msgid "This is the MINGW32 port.\n" msgstr "" #: gschem/src/gschem.c:189 #, c-format msgid "Current locale settings: %s\n" msgstr "Şu andaki yerel ayarlar: %s\n" #: gschem/src/gschem.c:211 msgid "" "You must set the GEDADATA environment variable!\n" "\n" "gschem cannot locate its data files. You must set the GEDADATA\n" "environment variable to point to the correct location.\n" msgstr "" #: gschem/src/gschem.c:248 #, c-format msgid "Couldn't find init scm file [%s]\n" msgstr "" #: gschem/src/gschem.c:252 #, c-format msgid "Read init scm file [%s]\n" msgstr "" #: gschem/src/gschem.c:256 #, c-format msgid "Failed to read init scm file [%s]\n" msgstr "" #: gschem/src/gschem_cairo.c:310 #, c-format msgid "Unknown end for line (%d)\n" msgstr "" #: gschem/src/gschem_cairo.c:318 #, c-format msgid "Unknown type for stroke (%d) !\n" msgstr "" #: gschem/src/gschem_pango.c:289 msgid "cairo context" msgstr "" #: gschem/src/gschem_pango.c:290 msgid "the cairo context for the renderer" msgstr "" #: gschem/src/i_basic.c:77 gschem/src/x_window.c:524 #: gschem/lib/system-gschemrc.scm:1399 msgid "Select Mode" msgstr "Seçim Kipi" #: gschem/src/i_basic.c:79 msgid "Component Mode" msgstr "" #: gschem/src/i_basic.c:81 msgid "Text Mode" msgstr "Metin kipi" #: gschem/src/i_basic.c:84 gschem/lib/system-gschemrc.scm:1402 msgid "Copy Mode" msgstr "Kopyalama Kipi" #: gschem/src/i_basic.c:87 gschem/lib/system-gschemrc.scm:1404 msgid "Move Mode" msgstr "Taşıma Kipi" #: gschem/src/i_basic.c:89 msgid "Rotate Mode" msgstr "Döndürme kipi" #: gschem/src/i_basic.c:91 gschem/lib/system-gschemrc.scm:1406 msgid "Mirror Mode" msgstr "Ayna modu" #: gschem/src/i_basic.c:95 msgid "Zoom Box" msgstr "" #: gschem/src/i_basic.c:99 msgid "Pan Mode" msgstr "" #: gschem/src/i_basic.c:103 #, c-format msgid "Paste %d Mode" msgstr "" #: gschem/src/i_basic.c:109 msgid "Magnetic Net Mode" msgstr "" #: gschem/src/i_basic.c:111 msgid "Net Mode" msgstr "" #: gschem/src/i_basic.c:115 msgid "Bus Mode" msgstr "" #: gschem/src/i_basic.c:118 msgid "Line Mode" msgstr "" #: gschem/src/i_basic.c:121 msgid "Box Mode" msgstr "" #: gschem/src/i_basic.c:124 msgid "Picture Mode" msgstr "" #: gschem/src/i_basic.c:127 msgid "Circle Mode" msgstr "" #: gschem/src/i_basic.c:130 msgid "Arc Mode" msgstr "" #: gschem/src/i_basic.c:133 msgid "Pin Mode" msgstr "" #: gschem/src/i_basic.c:135 gschem/src/i_callbacks.c:529 #: gschem/src/i_callbacks.c:553 msgid "Copy" msgstr "Kopyala" #: gschem/src/i_basic.c:137 gschem/src/i_callbacks.c:619 #: gschem/src/i_callbacks.c:643 msgid "Move" msgstr "Taşı" #: gschem/src/i_basic.c:139 gschem/src/i_callbacks.c:574 #: gschem/src/i_callbacks.c:598 msgid "Multiple Copy" msgstr "Çoklu kopyala" #: gschem/src/i_basic.c:142 gschem/lib/system-gschemrc.scm:1403 msgid "Multiple Copy Mode" msgstr "Çoklu Kopyalama Kipi" #: gschem/src/i_basic.c:168 msgid "Show Hidden" msgstr "Gizlileri Göster" #: gschem/src/i_basic.c:171 msgid "Snap Off" msgstr "" #: gschem/src/i_basic.c:173 msgid "Resnap Active" msgstr "" #: gschem/src/i_basic.c:254 gschem/src/x_window.c:498 msgid "Action" msgstr "" #: gschem/src/i_basic.c:260 gschem/src/x_dialog.c:2325 #: gschem/src/x_window.c:493 msgid "Stroke" msgstr "" #: gschem/src/i_basic.c:266 gschem/src/x_window.c:495 msgid "none" msgstr "" #: gschem/src/i_basic.c:271 msgid "Repeat/" msgstr "" #: gschem/src/i_basic.c:566 gschem/src/i_basic.c:580 msgid "OFF" msgstr "KAPALI" #: gschem/src/i_basic.c:584 msgid "NONE" msgstr "" #: gschem/src/i_basic.c:589 #, c-format msgid "Grid(%s, %s)" msgstr "" #: gschem/src/i_callbacks.c:76 gschem/src/i_callbacks.c:1659 #, c-format msgid "New page created [%s]\n" msgstr "Yeni sayfa oluşturuldu [%s]\n" #: gschem/src/i_callbacks.c:124 #, c-format msgid "New Window created [%s]\n" msgstr "Yeni pencere oluşturuldu [%s]\n" #: gschem/src/i_callbacks.c:242 msgid "Failed to Save All" msgstr "" #: gschem/src/i_callbacks.c:244 msgid "Saved All" msgstr "Hepsi kaydedildi" #: gschem/src/i_callbacks.c:334 msgid "Closing Window\n" msgstr "Pencere kapatılıyor\n" #: gschem/src/i_callbacks.c:534 gschem/src/i_callbacks.c:579 #: gschem/src/i_callbacks.c:624 msgid "Select objs first" msgstr "" #: gschem/src/i_callbacks.c:663 gschem/src/x_multiattrib.c:1549 msgid "Delete" msgstr "Sil" #: gschem/src/i_callbacks.c:688 msgid "Edit" msgstr "Düzenle" #: gschem/src/i_callbacks.c:703 msgid "Edit pin type" msgstr "" #: gschem/src/i_callbacks.c:722 msgid "Edit Text" msgstr "Metni Düzenle" #: gschem/src/i_callbacks.c:745 msgid "Slot" msgstr "Slot" #: gschem/src/i_callbacks.c:762 msgid "Color" msgstr "Renk" #: gschem/src/i_callbacks.c:799 gschem/src/i_callbacks.c:844 msgid "Rotate" msgstr "Döndür" #: gschem/src/i_callbacks.c:866 gschem/src/i_callbacks.c:891 msgid "Mirror" msgstr "" #: gschem/src/i_callbacks.c:912 gschem/src/x_dialog.c:2328 #: gschem/lib/system-gschemrc.scm:1415 msgid "Lock" msgstr "Kilitle" #: gschem/src/i_callbacks.c:930 gschem/lib/system-gschemrc.scm:1416 msgid "Unlock" msgstr "Kilidi Aç" #: gschem/src/i_callbacks.c:948 gschem/src/x_dialog.c:1746 msgid "Translate" msgstr "Çevir" #: gschem/src/i_callbacks.c:951 msgid "WARNING: Do not translate with snap off!\n" msgstr "" #: gschem/src/i_callbacks.c:952 msgid "WARNING: Turning snap on and continuing with translate.\n" msgstr "" #: gschem/src/i_callbacks.c:959 msgid "WARNING: Snap grid size is not equal to 100!\n" msgstr "" #: gschem/src/i_callbacks.c:961 msgid "" "WARNING: If you are translating a symbol to the origin, the snap grid size " "should be set to 100\n" msgstr "" #: gschem/src/i_callbacks.c:992 msgid "Embed" msgstr "" #: gschem/src/i_callbacks.c:1031 msgid "Unembed" msgstr "" #: gschem/src/i_callbacks.c:1073 msgid "Update" msgstr "Güncelle" #: gschem/src/i_callbacks.c:1120 msgid "ShowHidden" msgstr "" #: gschem/src/i_callbacks.c:1426 gschem/src/i_callbacks.c:1498 msgid "Pan" msgstr "Kaydırma" #: gschem/src/i_callbacks.c:1703 msgid "Really revert page?" msgstr "" #: gschem/src/i_callbacks.c:1773 msgid "Copy to clipboard" msgstr "" #: gschem/src/i_callbacks.c:1791 msgid "Cut to clipboard" msgstr "" #: gschem/src/i_callbacks.c:1809 msgid "Paste from clipboard" msgstr "" #: gschem/src/i_callbacks.c:1821 gschem/src/i_callbacks.c:2060 #: gschem/src/i_callbacks.c:2082 gschem/src/i_callbacks.c:2104 #: gschem/src/i_callbacks.c:2126 gschem/src/i_callbacks.c:2148 msgid "Empty buffer" msgstr "" #: gschem/src/i_callbacks.c:1866 msgid "Copy 1" msgstr "" #: gschem/src/i_callbacks.c:1885 msgid "Copy 2" msgstr "" #: gschem/src/i_callbacks.c:1904 msgid "Copy 3" msgstr "" #: gschem/src/i_callbacks.c:1923 msgid "Copy 4" msgstr "" #: gschem/src/i_callbacks.c:1942 msgid "Copy 5" msgstr "" #: gschem/src/i_callbacks.c:1961 msgid "Cut 1" msgstr "" #: gschem/src/i_callbacks.c:1980 msgid "Cut 2" msgstr "" #: gschem/src/i_callbacks.c:1999 msgid "Cut 3" msgstr "" #: gschem/src/i_callbacks.c:2018 msgid "Cut 4" msgstr "" #: gschem/src/i_callbacks.c:2037 msgid "Cut 5" msgstr "" #: gschem/src/i_callbacks.c:2053 msgid "Paste 1" msgstr "" #: gschem/src/i_callbacks.c:2075 msgid "Paste 2" msgstr "" #: gschem/src/i_callbacks.c:2097 msgid "Paste 3" msgstr "" #: gschem/src/i_callbacks.c:2119 msgid "Paste 4" msgstr "" #: gschem/src/i_callbacks.c:2141 msgid "Paste 5" msgstr "" #: gschem/src/i_callbacks.c:2278 gschem/src/x_window.c:359 msgid "Component" msgstr "" #: gschem/src/i_callbacks.c:2314 gschem/src/i_callbacks.c:2333 #: gschem/src/x_dialog.c:2298 msgid "Attribute" msgstr "" #: gschem/src/i_callbacks.c:2355 gschem/src/i_callbacks.c:2382 #: gschem/src/x_dialog.c:2295 msgid "Net" msgstr "Ağ" #: gschem/src/i_callbacks.c:2426 gschem/src/i_callbacks.c:2453 #: gschem/src/x_dialog.c:2313 gschem/src/x_window.c:379 msgid "Bus" msgstr "Veriyolu" #: gschem/src/i_callbacks.c:2534 gschem/src/i_callbacks.c:2557 msgid "Line" msgstr "Satır" #: gschem/src/i_callbacks.c:2579 gschem/src/i_callbacks.c:2602 msgid "Box" msgstr "Kutu" #: gschem/src/i_callbacks.c:2658 gschem/src/i_callbacks.c:2682 msgid "Circle" msgstr "Daire" #: gschem/src/i_callbacks.c:2704 gschem/src/i_callbacks.c:2727 msgid "Arc" msgstr "Eğri" #: gschem/src/i_callbacks.c:2749 gschem/src/i_callbacks.c:2772 #: gschem/src/x_dialog.c:2286 msgid "Pin" msgstr "" #: gschem/src/i_callbacks.c:2831 #, c-format msgid "Searching for source [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:2855 #, c-format msgid "Cannot find source [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:2918 #, c-format msgid "Searching for symbol [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:2924 msgid "Symbol is not a real file. Symbol cannot be loaded.\n" msgstr "" #: gschem/src/i_callbacks.c:2955 msgid "Cannot find any schematics above the current one!\n" msgstr "" #: gschem/src/i_callbacks.c:2985 msgid "Attach" msgstr "Ekle" #: gschem/src/i_callbacks.c:3041 msgid "Detach" msgstr "Ayır" #: gschem/src/i_callbacks.c:3085 msgid "ShowN" msgstr "" #: gschem/src/i_callbacks.c:3122 msgid "ShowV" msgstr "" #: gschem/src/i_callbacks.c:3159 msgid "ShowB" msgstr "" #: gschem/src/i_callbacks.c:3197 msgid "VisToggle" msgstr "" #: gschem/src/i_callbacks.c:3228 #, c-format msgid "Sorry but this is a non-functioning menu option\n" msgstr "" #: gschem/src/i_callbacks.c:3318 msgid "Action feedback mode set to OUTLINE\n" msgstr "" #: gschem/src/i_callbacks.c:3321 msgid "Action feedback mode set to BOUNDINGBOX\n" msgstr "" #: gschem/src/i_callbacks.c:3346 msgid "Grid OFF\n" msgstr "" #: gschem/src/i_callbacks.c:3347 msgid "Dot grid selected\n" msgstr "" #: gschem/src/i_callbacks.c:3348 msgid "Mesh grid selected\n" msgstr "" #: gschem/src/i_callbacks.c:3369 msgid "Snap OFF (CAUTION!)\n" msgstr "" #: gschem/src/i_callbacks.c:3372 msgid "Snap ON\n" msgstr "" #: gschem/src/i_callbacks.c:3375 msgid "Snap back to the grid (CAUTION!)\n" msgstr "" #: gschem/src/i_callbacks.c:3401 msgid "Rubber band OFF \n" msgstr "" #: gschem/src/i_callbacks.c:3404 msgid "Rubber band ON\n" msgstr "" #: gschem/src/i_callbacks.c:3419 msgid "magnetic net mode: ON\n" msgstr "" #: gschem/src/i_callbacks.c:3422 msgid "magnetic net mode: OFF\n" msgstr "" #: gschem/src/o_box.c:292 #, c-format msgid "Unknown type for box (fill)!\n" msgstr "" #: gschem/src/o_buffer.c:54 #, c-format msgid "o_buffer_copy: Invalid buffer %i\n" msgstr "" #: gschem/src/o_buffer.c:69 #, c-format msgid "o_buffer_cut: Invalid buffer %i\n" msgstr "" #: gschem/src/o_buffer.c:90 #, c-format msgid "Got an invalid buffer_number [o_buffer_paste_start]\n" msgstr "" #: gschem/src/o_bus.c:117 #, c-format msgid "Got an invalid which one in o_bus_draw_stretch\n" msgstr "" #: gschem/src/o_circle.c:284 #, c-format msgid "Unknown type for circle (fill)!\n" msgstr "" #: gschem/src/o_complex.c:223 gschem/src/o_complex.c:227 #, c-format msgid "Translating schematic [%d %d]\n" msgstr "" #: gschem/src/o_misc.c:61 #, c-format msgid "Got an unexpected NULL in o_edit\n" msgstr "" #: gschem/src/o_misc.c:125 msgid "Object already locked\n" msgstr "" #: gschem/src/o_misc.c:163 msgid "Object already unlocked\n" msgstr "" #: gschem/src/o_misc.c:339 msgid "Hidden text is now visible\n" msgstr "" #: gschem/src/o_misc.c:341 msgid "Hidden text is now invisible\n" msgstr "" #: gschem/src/o_misc.c:568 #, c-format msgid "Could not find symbol [%s] in library. Update failed.\n" msgstr "" #: gschem/src/o_misc.c:683 #, c-format msgid "o_autosave_backups: Can't get the real filename of %s." msgstr "" #: gschem/src/o_misc.c:727 #, c-format msgid "Could NOT set previous backup file [%s] read-write\n" msgstr "" #: gschem/src/o_misc.c:747 #, c-format msgid "Could NOT set backup file [%s] readonly\n" msgstr "" #: gschem/src/o_misc.c:752 #, c-format msgid "Could NOT save backup file [%s]\n" msgstr "" #: gschem/src/o_move.c:174 #, c-format msgid "ERROR: NULL object in o_move_end!\n" msgstr "" #: gschem/src/o_move.c:431 #, c-format msgid "DOH! tried to find the whichone, but didn't find it!\n" msgstr "" #: gschem/src/o_move.c:453 #, c-format msgid "Got a non line object in o_move_check_endpoint\n" msgstr "" #: gschem/src/o_net.c:158 #, c-format msgid "Got an invalid which one in o_net_draw_stretch\n" msgstr "" #: gschem/src/o_net.c:537 msgid "Warning: Starting net at off grid coordinate\n" msgstr "" #: gschem/src/o_net.c:602 msgid "Warning: Ending net at off grid coordinate\n" msgstr "" #: gschem/src/o_net.c:944 gschem/src/o_net.c:981 gschem/src/o_net.c:1052 #: gschem/src/o_net.c:1088 #, c-format msgid "Tried to add more than two bus rippers. Internal gschem error.\n" msgstr "" #: gschem/src/o_net.c:1156 #, c-format msgid "Bus ripper symbol [%s] was not found in any component library\n" msgstr "" #: gschem/src/o_path.c:340 #, c-format msgid "Unknown type for path (fill)!\n" msgstr "" #: gschem/src/o_picture.c:166 #, c-format msgid "Failed to load picture: %s" msgstr "" #: gschem/src/o_picture.c:180 msgid "Picture" msgstr "" #: gschem/src/o_picture.c:544 #, c-format msgid "Failed to replace pictures: %s" msgstr "" #: gschem/src/o_slot.c:81 msgid "Slot attribute malformed\n" msgstr "" #: gschem/src/o_slot.c:89 msgid "numslots attribute missing\n" msgstr "" #: gschem/src/o_slot.c:90 msgid "Slotting not allowed for this component\n" msgstr "" #: gschem/src/o_slot.c:105 msgid "New slot number out of range\n" msgstr "" #: gschem/src/o_undo.c:307 msgid "Undo/Redo disabled in rc file\n" msgstr "" #: gschem/src/parsecmd.c:82 #, c-format msgid "" "Usage: %s [OPTION ...] [--] [FILE ...]\n" "\n" "Interactively edit gEDA schematics or symbols. If one or more FILEs\n" "are specified, open them for editing; otherwise, create a new, empty\n" "schematic.\n" "\n" "Options:\n" " -q, --quiet Quiet mode.\n" " -v, --verbose Verbose mode.\n" " -r, --config-file=FILE Additional configuration file to load.\n" " -L DIR Add DIR to Scheme search path.\n" " -c EXPR Scheme expression to run at startup.\n" " -s FILE Scheme script to run at startup.\n" " -o, --output=FILE Output filename (for printing).\n" " -p Automatically place the window.\n" " -V, --version Show version information.\n" " -h, --help Help; this message.\n" " -- Treat all remaining arguments as filenames.\n" "\n" "Report bugs at \n" "gEDA/gaf homepage: \n" msgstr "" #: gschem/src/parsecmd.c:116 #, c-format msgid "" "gEDA %s (g%.7s)\n" "Copyright (C) 1998-2012 gEDA developers\n" "This is free software, and you are welcome to redistribute it under\n" "certain conditions. For details, see the file `COPYING', which is\n" "included in the gEDA distribution.\n" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" #: gschem/src/x_attribedit.c:127 #, c-format msgid "Got invalid show option; defaulting to show both\n" msgstr "" #: gschem/src/x_attribedit.c:141 #, c-format msgid "ERROR: NULL object!\n" msgstr "" #: gschem/src/x_attribedit.c:329 msgid "Single Attribute Editor" msgstr "" #: gschem/src/x_attribedit.c:359 msgid "Edit Attribute" msgstr "" #: gschem/src/x_attribedit.c:361 msgid "Add Attribute" msgstr "" #: gschem/src/x_attribedit.c:377 gschem/src/x_multiattrib.c:1973 msgid "Name:" msgstr "" #: gschem/src/x_attribedit.c:394 gschem/src/x_multiattrib.c:1992 msgid "Value:" msgstr "" #: gschem/src/x_attribedit.c:410 gschem/src/x_multiattrib.c:2038 msgid "Visible" msgstr "" #: gschem/src/x_attribedit.c:430 msgid "Show Value Only" msgstr "" #: gschem/src/x_attribedit.c:432 msgid "Show Name Only" msgstr "" #: gschem/src/x_attribedit.c:434 gschem/src/x_multiattrib.c:1512 msgid "Show Name & Value" msgstr "" #: gschem/src/x_attribedit.c:441 msgid "Attach Options" msgstr "" #: gschem/src/x_attribedit.c:456 msgid "All" msgstr "" #: gschem/src/x_attribedit.c:464 gschem/src/x_compselect.c:922 #: gschem/src/x_compselect.c:1036 msgid "Components" msgstr "" #: gschem/src/x_attribedit.c:472 gschem/src/x_window.c:369 msgid "Nets" msgstr "" #: gschem/src/x_attribedit.c:480 msgid "Replace existing attributes" msgstr "" #: gschem/src/x_autonumber.c:415 msgid "" "slotted object without slot attribute may cause problems when autonumbering " "slots\n" msgstr "" #: gschem/src/x_autonumber.c:430 #, c-format msgid "" "duplicate slot may cause problems: [symbolname=%s, number=%d, slot=%d]\n" msgstr "" #: gschem/src/x_autonumber.c:672 msgid "No searchstring given in autonumber text.\n" msgstr "" #: gschem/src/x_autonumber.c:724 msgid "No '*' or '?' given at the end of the autonumber text.\n" msgstr "" #: gschem/src/x_autonumber.c:859 msgid "Diagonal" msgstr "" #: gschem/src/x_autonumber.c:860 msgid "Top to bottom" msgstr "" #: gschem/src/x_autonumber.c:860 msgid "Bottom to top" msgstr "" #: gschem/src/x_autonumber.c:861 msgid "Left to right" msgstr "" #: gschem/src/x_autonumber.c:861 msgid "Right to left" msgstr "" #: gschem/src/x_autonumber.c:862 msgid "File order" msgstr "" #: gschem/src/x_autonumber.c:1198 msgid "Autonumber text" msgstr "" #: gschem/src/x_autonumber.c:1222 msgid "Scope" msgstr "" #: gschem/src/x_autonumber.c:1244 msgid "Search for:" msgstr "" #: gschem/src/x_autonumber.c:1258 msgid "Autonumber text in:" msgstr "" #: gschem/src/x_autonumber.c:1265 msgid "Skip numbers found in:" msgstr "" #: gschem/src/x_autonumber.c:1277 gschem/src/x_autonumber.c:1286 msgid "Selected objects" msgstr "" #: gschem/src/x_autonumber.c:1278 gschem/src/x_autonumber.c:1287 msgid "Current page" msgstr "" #: gschem/src/x_autonumber.c:1279 gschem/src/x_autonumber.c:1288 msgid "Whole hierarchy" msgstr "" #: gschem/src/x_autonumber.c:1290 msgid "Overwrite existing numbers" msgstr "" #: gschem/src/x_autonumber.c:1295 msgid "Options" msgstr "" #: gschem/src/x_autonumber.c:1317 msgid "Starting number:" msgstr "" #: gschem/src/x_autonumber.c:1324 msgid "Sort order:" msgstr "" #: gschem/src/x_autonumber.c:1345 msgid "Remove numbers" msgstr "" #: gschem/src/x_autonumber.c:1349 msgid "Automatic slotting" msgstr "" #: gschem/src/x_clipboard.c:249 #, c-format msgid "" "Invalid schematic on clipboard.\n" "\n" "An error occurred while inserting clipboard data: %s." msgstr "" #: gschem/src/x_clipboard.c:251 msgid "Clipboard insertion failed" msgstr "" #: gschem/src/x_color.c:94 gschem/src/x_color.c:103 #, c-format msgid "Could not allocate the color %s!\n" msgstr "" #: gschem/src/x_color.c:94 msgid "black" msgstr "" #: gschem/src/x_color.c:103 msgid "white" msgstr "" #: gschem/src/x_color.c:125 #, c-format msgid "Could not allocate display color %i!\n" msgstr "" #: gschem/src/x_color.c:147 #, c-format msgid "Could not allocate outline color %i!\n" msgstr "" #: gschem/src/x_color.c:164 gschem/src/x_color.c:181 gschem/src/x_color.c:197 #, c-format msgid "Tried to get an invalid color: %d\n" msgstr "" #: gschem/src/x_color.c:214 #, c-format msgid "Tried to get an invalid outline color: %d\n" msgstr "" #: gschem/src/x_compselect.c:1066 msgid "Filter:" msgstr "" #: gschem/src/x_compselect.c:1169 gschem/src/x_dialog.c:3653 #: gschem/src/x_multiattrib.c:1839 msgid "Name" msgstr "" #: gschem/src/x_compselect.c:1178 gschem/src/x_multiattrib.c:1863 msgid "Value" msgstr "" #: gschem/src/x_compselect.c:1217 msgid "Default behavior - reference component" msgstr "" #: gschem/src/x_compselect.c:1220 msgid "Embed component in schematic" msgstr "" #: gschem/src/x_compselect.c:1223 msgid "Include component as individual objects" msgstr "" #: gschem/src/x_compselect.c:1380 msgid "Select Component..." msgstr "" #: gschem/src/x_compselect.c:1403 msgid "In Use" msgstr "" #: gschem/src/x_compselect.c:1407 msgid "Libraries" msgstr "" #: gschem/src/x_compselect.c:1416 gschem/src/x_fileselect.c:122 msgid "Preview" msgstr "" #: gschem/src/x_compselect.c:1444 msgid "Attributes" msgstr "Öznitelikler" #: gschem/src/x_dialog.c:176 msgid "Text Entry..." msgstr "" #: gschem/src/x_dialog.c:207 msgid "" "Enter text, click apply,\n" "move cursor into window, click to place text.\n" "Middle button to rotate while placing." msgstr "" #: gschem/src/x_dialog.c:301 msgid "Upper Left" msgstr "" #: gschem/src/x_dialog.c:304 msgid "Upper Middle" msgstr "" #: gschem/src/x_dialog.c:307 msgid "Upper Right" msgstr "" #: gschem/src/x_dialog.c:311 msgid "Middle Left" msgstr "" #: gschem/src/x_dialog.c:314 msgid "Middle Middle" msgstr "" #: gschem/src/x_dialog.c:317 msgid "Middle Right" msgstr "" #: gschem/src/x_dialog.c:321 msgid "Lower Left" msgstr "" #: gschem/src/x_dialog.c:324 msgid "Lower Middle" msgstr "" #: gschem/src/x_dialog.c:327 msgid "Lower Right" msgstr "" #: gschem/src/x_dialog.c:438 msgid "Edit Text Properties" msgstr "" #: gschem/src/x_dialog.c:473 msgid "Text Content" msgstr "" #: gschem/src/x_dialog.c:509 msgid "Text Properties" msgstr "" #: gschem/src/x_dialog.c:524 msgid "Color:" msgstr "" #: gschem/src/x_dialog.c:531 msgid "Size:" msgstr "" #: gschem/src/x_dialog.c:540 msgid "Alignment:" msgstr "" #: gschem/src/x_dialog.c:589 msgid "Solid" msgstr "" #: gschem/src/x_dialog.c:590 msgid "Dotted" msgstr "" #: gschem/src/x_dialog.c:591 msgid "Dashed" msgstr "" #: gschem/src/x_dialog.c:592 msgid "Center" msgstr "" #: gschem/src/x_dialog.c:593 msgid "Phantom" msgstr "" #: gschem/src/x_dialog.c:594 gschem/src/x_dialog.c:691 #: gschem/src/x_dialog.c:700 gschem/src/x_dialog.c:709 #: gschem/src/x_dialog.c:810 gschem/src/x_dialog.c:813 #: gschem/src/x_dialog.c:816 gschem/src/x_dialog.c:1043 #: gschem/src/x_dialog.c:1146 gschem/src/x_dialog.c:1155 #: gschem/src/x_dialog.c:1164 gschem/src/x_dialog.c:1173 #: gschem/src/x_dialog.c:1182 gschem/src/x_dialog.c:1295 #: gschem/src/x_dialog.c:1298 gschem/src/x_dialog.c:1301 #: gschem/src/x_dialog.c:1304 gschem/src/x_dialog.c:1307 msgid "*unchanged*" msgstr "" #: gschem/src/x_dialog.c:921 msgid "Edit Line Width & Type" msgstr "" #: gschem/src/x_dialog.c:960 gschem/src/x_print.c:307 msgid "Type:" msgstr "" #: gschem/src/x_dialog.c:964 msgid "Width:" msgstr "" #: gschem/src/x_dialog.c:968 msgid "Dash Length:" msgstr "" #: gschem/src/x_dialog.c:972 msgid "Dash Space:" msgstr "" #: gschem/src/x_dialog.c:1039 msgid "Hollow" msgstr "" #: gschem/src/x_dialog.c:1040 msgid "Filled" msgstr "" #: gschem/src/x_dialog.c:1041 msgid "Mesh" msgstr "" #: gschem/src/x_dialog.c:1042 msgid "Hatch" msgstr "" #: gschem/src/x_dialog.c:1416 msgid "Edit Fill Type" msgstr "" #: gschem/src/x_dialog.c:1455 msgid "Fill Type:" msgstr "" #: gschem/src/x_dialog.c:1459 msgid "Line Width:" msgstr "" #: gschem/src/x_dialog.c:1463 msgid "Angle 1:" msgstr "" #: gschem/src/x_dialog.c:1467 msgid "Pitch 1:" msgstr "" #: gschem/src/x_dialog.c:1471 msgid "Angle 2:" msgstr "" #: gschem/src/x_dialog.c:1475 msgid "Pitch 2:" msgstr "" #: gschem/src/x_dialog.c:1602 msgid "Arc Params" msgstr "" #: gschem/src/x_dialog.c:1643 msgid "Arc Radius:" msgstr "" #: gschem/src/x_dialog.c:1651 msgid "Start Angle:" msgstr "" #: gschem/src/x_dialog.c:1659 msgid "Degrees of Sweep:" msgstr "" #: gschem/src/x_dialog.c:1777 msgid "" "Offset to translate?\n" "(0 for origin)" msgstr "" #: gschem/src/x_dialog.c:1845 msgid "Text Size" msgstr "" #: gschem/src/x_dialog.c:1875 msgid "Enter new text size:" msgstr "" #: gschem/src/x_dialog.c:1951 msgid "Snap Size" msgstr "" #: gschem/src/x_dialog.c:1981 msgid "Enter new snap grid spacing:" msgstr "" #: gschem/src/x_dialog.c:2058 msgid "Edit slot number" msgstr "" #: gschem/src/x_dialog.c:2089 msgid "Edit slot number:" msgstr "" #: gschem/src/x_dialog.c:2130 #, c-format msgid "%s (g%.7s)" msgstr "" #: gschem/src/x_dialog.c:2151 msgid "About gschem" msgstr "gschem Hakkında" #: gschem/src/x_dialog.c:2152 msgid "gEDA: GPL Electronic Design Automation" msgstr "" #. TRANSLATORS: "ChangeLog" is a literal filename; please don't translate it. #: gschem/src/x_dialog.c:2155 msgid "" "Copyright © 1998-2012 Ales Hvezda \n" "Copyright © 1998-2012 gEDA Contributors (see ChangeLog for details)" msgstr "" #: gschem/src/x_dialog.c:2214 msgid "Coords" msgstr "" #: gschem/src/x_dialog.c:2235 msgid "Screen" msgstr "" #: gschem/src/x_dialog.c:2244 msgid "World" msgstr "" #: gschem/src/x_dialog.c:2283 msgid "Background" msgstr "" #: gschem/src/x_dialog.c:2289 msgid "Net endpoint" msgstr "" #: gschem/src/x_dialog.c:2292 msgid "Graphic" msgstr "" #: gschem/src/x_dialog.c:2301 msgid "Logic bubble" msgstr "" #: gschem/src/x_dialog.c:2304 msgid "Grid point" msgstr "" #: gschem/src/x_dialog.c:2307 msgid "Detached attribute" msgstr "" #: gschem/src/x_dialog.c:2310 gschem/src/x_window.c:387 msgid "Text" msgstr "" #: gschem/src/x_dialog.c:2316 msgid "Selection" msgstr "" #: gschem/src/x_dialog.c:2319 msgid "Bounding box" msgstr "" #: gschem/src/x_dialog.c:2322 msgid "Zoom box" msgstr "" #: gschem/src/x_dialog.c:2331 msgid "Output background" msgstr "" #: gschem/src/x_dialog.c:2334 msgid "Net junction" msgstr "" #: gschem/src/x_dialog.c:2337 msgid "Mesh grid major" msgstr "" #: gschem/src/x_dialog.c:2340 msgid "Mesh grid minor" msgstr "" #: gschem/src/x_dialog.c:2343 msgid "Unknown" msgstr "" #: gschem/src/x_dialog.c:2494 #, c-format msgid "ERROR: NULL object in color_edit_dialog_apply!\n" msgstr "" #: gschem/src/x_dialog.c:2538 msgid "Color Edit" msgstr "" #: gschem/src/x_dialog.c:2569 msgid "Object color:" msgstr "" #: gschem/src/x_dialog.c:2622 msgid "Hotkeys" msgstr "Kısayollar" #: gschem/src/x_dialog.c:2662 msgid "Function" msgstr "" #: gschem/src/x_dialog.c:2669 msgid "Keystroke(s)" msgstr "" #: gschem/src/x_dialog.c:2977 msgid "Find Text" msgstr "" #: gschem/src/x_dialog.c:3008 msgid "Text to find:" msgstr "" #: gschem/src/x_dialog.c:3018 msgid "descend into hierarchy" msgstr "" #: gschem/src/x_dialog.c:3084 msgid "Hide Text" msgstr "" #: gschem/src/x_dialog.c:3115 msgid "Hide text starting with:" msgstr "" #: gschem/src/x_dialog.c:3185 msgid "Show Text" msgstr "" #: gschem/src/x_dialog.c:3216 msgid "Show text starting with:" msgstr "" #: gschem/src/x_dialog.c:3675 msgid "S_elect the schematics you want to save:" msgstr "" #: gschem/src/x_dialog.c:3770 #, c-format msgid "Save the changes to schematic \"%s\" before closing?" msgstr "" #: gschem/src/x_dialog.c:3776 #, c-format msgid "" "There are %d schematics with unsaved changes. Save changes before closing?" msgstr "" #: gschem/src/x_dialog.c:3805 msgid "If you don't save, all your changes will be permanently lost." msgstr "" #: gschem/src/x_dialog.c:3825 msgid "_Close without saving" msgstr "" #: gschem/src/x_dialog.c:4161 #, c-format msgid "" "The input attribute \"%s\" is invalid\n" "Please correct in order to continue\n" "\n" "The name and value must be non-empty.\n" "The name cannot end with a space.\n" "The value cannot start with a space." msgstr "" #: gschem/src/x_dialog.c:4163 msgid "Invalid Attribute" msgstr "" #: gschem/src/x_dialog.c:4199 msgid "Pin type" msgstr "" #: gschem/src/x_dialog.c:4223 msgid "Net pin" msgstr "" #: gschem/src/x_dialog.c:4225 msgid "Bus pin (graphical)" msgstr "" #: gschem/src/x_fileselect.c:42 msgid "Schematics" msgstr "" #: gschem/src/x_fileselect.c:47 msgid "Symbols" msgstr "" #: gschem/src/x_fileselect.c:52 msgid "Schematics and symbols" msgstr "" #: gschem/src/x_fileselect.c:58 msgid "All files" msgstr "" #: gschem/src/x_fileselect.c:171 msgid "Open..." msgstr "" #: gschem/src/x_fileselect.c:231 msgid "Save as..." msgstr "" #: gschem/src/x_fileselect.c:284 #, c-format msgid "" "The selected file `%s' already exists.\n" "\n" "Would you like to overwrite it?" msgstr "" #: gschem/src/x_fileselect.c:287 msgid "Overwrite file?" msgstr "" #: gschem/src/x_fileselect.c:289 msgid "Save cancelled on user request\n" msgstr "" #: gschem/src/x_image.c:176 msgid "Encapsulated Postscript" msgstr "" #: gschem/src/x_image.c:296 #, c-format msgid "x_image_lowlevel: Unable to write eps file %s.\n" msgstr "" #: gschem/src/x_image.c:374 #, c-format msgid "x_image_lowlevel: Unable to write %s file %s.\n" msgstr "" #: gschem/src/x_image.c:384 #, c-format msgid "" "There was the following error when saving image with type %s to filename:\n" "%s\n" "\n" "%s.\n" msgstr "" #: gschem/src/x_image.c:403 #, c-format msgid "Wrote color image to [%s] [%d x %d]\n" msgstr "" #: gschem/src/x_image.c:405 #, c-format msgid "Wrote black and white image to [%s] [%d x %d]\n" msgstr "" #: gschem/src/x_image.c:413 msgid "x_image_lowlevel: Unable to get pixbuf from gschem's window.\n" msgstr "" #: gschem/src/x_image.c:458 msgid "Width x Height" msgstr "" #: gschem/src/x_image.c:474 msgid "Image type" msgstr "" #: gschem/src/x_image.c:495 msgid "Write image..." msgstr "imaj olarak yaz" #: gschem/src/x_log.c:209 msgid "** Invalid UTF-8 in log message. See stderr or gschem.log.\n" msgstr "" #: gschem/src/x_log.c:288 msgid "Status" msgstr "" #: gschem/src/x_menus.c:37 msgid "/Add Net" msgstr "" #: gschem/src/x_menus.c:38 msgid "/Add Attribute..." msgstr "" #: gschem/src/x_menus.c:39 msgid "/Add Component..." msgstr "" #: gschem/src/x_menus.c:40 msgid "/Add Bus" msgstr "" #: gschem/src/x_menus.c:41 msgid "/Add Text" msgstr "" #: gschem/src/x_menus.c:43 msgid "/Zoom In" msgstr "" #: gschem/src/x_menus.c:44 msgid "/Zoom Out" msgstr "" #: gschem/src/x_menus.c:45 msgid "/Zoom Box" msgstr "" #: gschem/src/x_menus.c:46 msgid "/Zoom Extents" msgstr "" #: gschem/src/x_menus.c:48 msgid "/Select" msgstr "" #: gschem/src/x_menus.c:49 msgid "/Edit..." msgstr "" #: gschem/src/x_menus.c:50 msgid "/Edit pin type..." msgstr "" #: gschem/src/x_menus.c:51 msgid "/Copy" msgstr "" #: gschem/src/x_menus.c:52 msgid "/Move" msgstr "" #: gschem/src/x_menus.c:53 msgid "/Delete" msgstr "" #: gschem/src/x_menus.c:56 msgid "/Down Schematic" msgstr "" #: gschem/src/x_menus.c:57 msgid "/Down Symbol" msgstr "" #: gschem/src/x_menus.c:58 msgid "/Up" msgstr "" #: gschem/src/x_menus.c:348 #, c-format msgid "Tried to set the sensitivity on non-existent menu item '%s'\n" msgstr "" #: gschem/src/x_menus.c:372 msgid "Popup_menu_item_factory doesn't exist!\n" msgstr "" #: gschem/src/x_menus.c:385 msgid "Tried to set the sensitivity on a non-existent popup menu_item\n" msgstr "" #: gschem/src/x_misc.c:74 msgid "The operating system is out of memory or resources." msgstr "" #: gschem/src/x_misc.c:155 #, c-format msgid "%s failed to launch URI" msgstr "" #: gschem/src/x_multiattrib.c:961 msgid "Attributes with empty name are not allowed. Please set a name." msgstr "" #: gschem/src/x_multiattrib.c:1514 msgid "Show Value only" msgstr "" #: gschem/src/x_multiattrib.c:1516 msgid "Show Name only" msgstr "" #: gschem/src/x_multiattrib.c:1544 msgid "Promote" msgstr "" #: gschem/src/x_multiattrib.c:1548 msgid "Duplicate" msgstr "" #: gschem/src/x_multiattrib.c:1765 msgid "Edit Attributes" msgstr "" #: gschem/src/x_multiattrib.c:1883 msgid "Vis?" msgstr "" #: gschem/src/x_multiattrib.c:1901 msgid "N" msgstr "" #: gschem/src/x_multiattrib.c:1919 msgid "V" msgstr "" #: gschem/src/x_multiattrib.c:1941 msgid "Show inherited attributes" msgstr "" #: gschem/src/x_multiattrib.c:1957 msgid "Add Attribute" msgstr "" #: gschem/src/x_pagesel.c:246 msgid "New Page" msgstr "Yeni Sayfa" #: gschem/src/x_pagesel.c:247 msgid "Open Page..." msgstr "Sayfa Aç..." #: gschem/src/x_pagesel.c:249 msgid "Save Page" msgstr "Sayfayı Kaydet" #: gschem/src/x_pagesel.c:250 msgid "Close Page" msgstr "Sayfayı Kapat" #: gschem/src/x_pagesel.c:251 msgid "Discard Page" msgstr "" #: gschem/src/x_pagesel.c:369 msgid "Page Manager" msgstr "" #: gschem/src/x_pagesel.c:425 msgid "Filename" msgstr "" #: gschem/src/x_pagesel.c:441 msgid "Changed" msgstr "" #: gschem/src/x_pagesel.c:461 msgid "Right click on the filename for more options..." msgstr "" #: gschem/src/x_preview.c:231 msgid "Preview Buffer" msgstr "" #: gschem/src/x_print.c:84 msgid "Select PostScript Filename..." msgstr "" #: gschem/src/x_print.c:164 msgid "Extents with margins" msgstr "" #: gschem/src/x_print.c:170 msgid "Extents no margins" msgstr "" #: gschem/src/x_print.c:176 msgid "Current Window" msgstr "" #: gschem/src/x_print.c:210 msgid "Landscape" msgstr "" #: gschem/src/x_print.c:216 msgid "Portrait" msgstr "" #: gschem/src/x_print.c:276 msgid "Print..." msgstr "Yazdır..." #: gschem/src/x_print.c:284 msgid "Settings" msgstr "" #: gschem/src/x_print.c:296 msgid "Output paper size:" msgstr "" #: gschem/src/x_print.c:318 msgid "Orientation:" msgstr "" #: gschem/src/x_print.c:330 msgid "Destination" msgstr "" #: gschem/src/x_print.c:343 msgid "File:" msgstr "" #: gschem/src/x_print.c:373 msgid "Command:" msgstr "" #: gschem/src/x_print.c:745 msgid "No print destination specified\n" msgstr "" #: gschem/src/x_print.c:752 #, c-format msgid "Cannot print current schematic to [%s]\n" msgstr "" #: gschem/src/x_print.c:761 #, c-format msgid "" "Error printing to file '%s'\n" "Check the log window for more information" msgstr "" #: gschem/src/x_print.c:768 #, c-format msgid "Printed current schematic to [%s]\n" msgstr "" #: gschem/src/x_rc.c:40 msgid "ERROR: An unknown error occurred while parsing configuration files.\n" msgstr "" #: gschem/src/x_rc.c:45 msgid "" "An unknown error occurred while parsing configuration files.\n" "\n" "The gschem log may contain more information." msgstr "" #: gschem/src/x_rc.c:57 #, c-format msgid "ERROR: %s\n" msgstr "" #: gschem/src/x_rc.c:60 #, c-format msgid "" "%s\n" "\n" "The gschem log may contain more information." msgstr "" #: gschem/src/x_rc.c:68 msgid "Cannot load gschem configuration." msgstr "" #: gschem/src/x_script.c:47 gschem/lib/system-gschemrc.scm:1381 msgid "Execute Script..." msgstr "Betik Çalıştır..." #: gschem/src/x_script.c:66 #, c-format msgid "Executing guile script [%s]\n" msgstr "" #: gschem/src/x_window.c:82 #, c-format msgid "Couldn't allocate gc\n" msgstr "" #: gschem/src/x_window.c:321 msgid "New" msgstr "Yeni" #: gschem/src/x_window.c:322 msgid "New file" msgstr "" #: gschem/src/x_window.c:328 msgid "Open" msgstr "" #: gschem/src/x_window.c:329 msgid "Open file..." msgstr "" #: gschem/src/x_window.c:335 msgid "Save" msgstr "" #: gschem/src/x_window.c:336 msgid "Save file" msgstr "" #: gschem/src/x_window.c:343 msgid "Undo" msgstr "Geri Al" #: gschem/src/x_window.c:344 msgid "Undo last operation" msgstr "" #: gschem/src/x_window.c:350 msgid "Redo" msgstr "Yinele" #: gschem/src/x_window.c:351 msgid "Redo last undo" msgstr "" #: gschem/src/x_window.c:360 msgid "" "Add component...\n" "Select library and component from list, move the mouse into main window, " "click to place\n" "Right mouse button to cancel" msgstr "" #: gschem/src/x_window.c:370 msgid "" "Add nets mode\n" "Right mouse button to cancel" msgstr "" #: gschem/src/x_window.c:380 msgid "" "Add buses mode\n" "Right mouse button to cancel" msgstr "" #: gschem/src/x_window.c:388 msgid "Add Text..." msgstr "" #: gschem/src/x_window.c:398 msgid "Select" msgstr "" #: gschem/src/x_window.c:399 msgid "Select mode" msgstr "" #: gschem/src/x_window.c:465 msgid "Evaluate:" msgstr "" #: gschem/src/x_window.c:484 msgid "Pick" msgstr "" #: gschem/src/x_window.c:500 msgid "Repeat/none" msgstr "" #: gschem/src/x_window.c:510 msgid "Menu/Cancel" msgstr "" #: gschem/src/x_window.c:512 msgid "Pan/Cancel" msgstr "" #: gschem/src/x_window.c:737 #, c-format msgid "Loading schematic [%s]\n" msgstr "" #: gschem/src/x_window.c:748 #, c-format msgid "" "An error occurred while loading the requested file.\n" "\n" "Loading from '%s' failed: %s. The gschem log may contain more information." msgstr "" #: gschem/src/x_window.c:750 msgid "Failed to load file" msgstr "" #: gschem/src/x_window.c:759 #, c-format msgid "New file [%s]\n" msgstr "" #: gschem/src/x_window.c:862 #, c-format msgid "Could NOT save page [%s]\n" msgstr "" #: gschem/src/x_window.c:863 msgid "Error while trying to save" msgstr "" #: gschem/src/x_window.c:873 msgid "Failed to save file" msgstr "" #: gschem/src/x_window.c:884 #, c-format msgid "Saved as [%s]\n" msgstr "" #: gschem/src/x_window.c:886 #, c-format msgid "Saved [%s]\n" msgstr "" #: gschem/src/x_window.c:888 msgid "Saved" msgstr "" #: gschem/src/x_window.c:962 #, c-format msgid "Discarding page [%s]\n" msgstr "" #: gschem/src/x_window.c:962 #, c-format msgid "Closing [%s]\n" msgstr "" #: gschem/data/geda-gschem.desktop.in:3 msgid "gEDA Schematic Editor" msgstr "gEDA Şematik Editörü" #: gschem/data/geda-gschem.desktop.in:4 msgid "Create and edit electrical schematics and symbols with gschem" msgstr "" #: gschem/lib/system-gschemrc.scm:1368 msgid "_New" msgstr "" #: gschem/lib/system-gschemrc.scm:1369 msgid "_Open..." msgstr "" #: gschem/lib/system-gschemrc.scm:1371 msgid "Open Recen_t" msgstr "" #: gschem/lib/system-gschemrc.scm:1373 msgid "_Save" msgstr "" #: gschem/lib/system-gschemrc.scm:1374 msgid "Save _As..." msgstr "" #: gschem/lib/system-gschemrc.scm:1375 msgid "Save All" msgstr "Tümünü kaydet" #: gschem/lib/system-gschemrc.scm:1376 gschem/lib/system-gschemrc.scm:1469 msgid "_Revert" msgstr "" #: gschem/lib/system-gschemrc.scm:1378 msgid "_Print..." msgstr "" #: gschem/lib/system-gschemrc.scm:1379 msgid "Write _image..." msgstr "" #: gschem/lib/system-gschemrc.scm:1383 msgid "New Window" msgstr "Yeni pencere" #: gschem/lib/system-gschemrc.scm:1384 msgid "_Close Window" msgstr "" #: gschem/lib/system-gschemrc.scm:1385 msgid "_Quit" msgstr "" #: gschem/lib/system-gschemrc.scm:1391 msgid "_Undo" msgstr "" #: gschem/lib/system-gschemrc.scm:1392 msgid "_Redo" msgstr "" #: gschem/lib/system-gschemrc.scm:1394 msgid "Cu_t" msgstr "" #: gschem/lib/system-gschemrc.scm:1395 msgid "_Copy" msgstr "" #: gschem/lib/system-gschemrc.scm:1396 msgid "_Paste" msgstr "" #: gschem/lib/system-gschemrc.scm:1397 msgid "_Delete" msgstr "" #: gschem/lib/system-gschemrc.scm:1400 msgid "Select All" msgstr "" #: gschem/lib/system-gschemrc.scm:1401 msgid "Deselect" msgstr "" #: gschem/lib/system-gschemrc.scm:1405 msgid "Rotate 90 Mode" msgstr "90 derece döndür kipi" #: gschem/lib/system-gschemrc.scm:1408 msgid "Edit..." msgstr "Düzenle..." #: gschem/lib/system-gschemrc.scm:1409 msgid "Edit Text..." msgstr "Metin Düzenle..." #: gschem/lib/system-gschemrc.scm:1410 msgid "Slot..." msgstr "Yuva..." #: gschem/lib/system-gschemrc.scm:1411 msgid "Color..." msgstr "Renk..." #: gschem/lib/system-gschemrc.scm:1412 msgid "Line Width & Type..." msgstr "Çizgi Kalınlığı & Tipi" #: gschem/lib/system-gschemrc.scm:1413 msgid "Fill Type..." msgstr "doldurma tipi.." #: gschem/lib/system-gschemrc.scm:1414 msgid "Symbol Translate..." msgstr "Sembölü çevir.." #: gschem/lib/system-gschemrc.scm:1418 msgid "Invoke Macro" msgstr "" #: gschem/lib/system-gschemrc.scm:1419 msgid "Embed Component/Picture" msgstr "Bileşen/Resim göm" #: gschem/lib/system-gschemrc.scm:1420 msgid "Unembed Component/Picture" msgstr "Bileşen/resim gömme" #: gschem/lib/system-gschemrc.scm:1421 msgid "Update Component" msgstr "Bileşen Güncelle" #: gschem/lib/system-gschemrc.scm:1422 msgid "Show/Hide Inv Text" msgstr "Metni Göster/Gizle" #: gschem/lib/system-gschemrc.scm:1428 msgid "Copy into 1" msgstr "1'e kopyala" #: gschem/lib/system-gschemrc.scm:1429 msgid "Copy into 2" msgstr "2'ye kopyala" #: gschem/lib/system-gschemrc.scm:1430 msgid "Copy into 3" msgstr "3'e kopyala" #: gschem/lib/system-gschemrc.scm:1431 msgid "Copy into 4" msgstr "4'e kopyala" #: gschem/lib/system-gschemrc.scm:1432 msgid "Copy into 5" msgstr "5'e kopyala" #: gschem/lib/system-gschemrc.scm:1433 msgid "Cut into 1" msgstr "1'e Kes" #: gschem/lib/system-gschemrc.scm:1434 msgid "Cut into 2" msgstr "2'ye Kes" #: gschem/lib/system-gschemrc.scm:1435 msgid "Cut into 3" msgstr "3'e Kes" #: gschem/lib/system-gschemrc.scm:1436 msgid "Cut into 4" msgstr "4'e Kes" #: gschem/lib/system-gschemrc.scm:1437 msgid "Cut into 5" msgstr "5'e Kes" #: gschem/lib/system-gschemrc.scm:1438 msgid "Paste from 1" msgstr "1'den yapıştır" #: gschem/lib/system-gschemrc.scm:1439 msgid "Paste from 2" msgstr "2'den yapıştır" #: gschem/lib/system-gschemrc.scm:1440 msgid "Paste from 3" msgstr "3'ten yapıştır" #: gschem/lib/system-gschemrc.scm:1441 msgid "Paste from 4" msgstr "4'ten yapıştır" #: gschem/lib/system-gschemrc.scm:1442 msgid "Paste from 5" msgstr "5'ten yapıştır" #: gschem/lib/system-gschemrc.scm:1448 msgid "_Redraw" msgstr "" #: gschem/lib/system-gschemrc.scm:1449 msgid "_Pan" msgstr "" #: gschem/lib/system-gschemrc.scm:1450 msgid "Zoom _Box" msgstr "" #: gschem/lib/system-gschemrc.scm:1451 msgid "Zoom _Extents" msgstr "" #: gschem/lib/system-gschemrc.scm:1452 msgid "Zoom _In" msgstr "" #: gschem/lib/system-gschemrc.scm:1453 msgid "Zoom _Out" msgstr "" #: gschem/lib/system-gschemrc.scm:1454 msgid "Zoom _Full" msgstr "" #: gschem/lib/system-gschemrc.scm:1456 msgid "_Dark color scheme" msgstr "" #: gschem/lib/system-gschemrc.scm:1457 msgid "_Light color scheme" msgstr "" #: gschem/lib/system-gschemrc.scm:1458 msgid "B_W color scheme" msgstr "" #: gschem/lib/system-gschemrc.scm:1465 msgid "_Manager..." msgstr "" #: gschem/lib/system-gschemrc.scm:1466 msgid "_Previous" msgstr "" #: gschem/lib/system-gschemrc.scm:1467 msgid "_Next" msgstr "" #: gschem/lib/system-gschemrc.scm:1468 msgid "Ne_w" msgstr "" #: gschem/lib/system-gschemrc.scm:1470 msgid "_Close" msgstr "" #: gschem/lib/system-gschemrc.scm:1472 msgid "_Discard" msgstr "" #: gschem/lib/system-gschemrc.scm:1478 msgid "_Component..." msgstr "" #: gschem/lib/system-gschemrc.scm:1479 msgid "_Net" msgstr "" #: gschem/lib/system-gschemrc.scm:1480 msgid "B_us" msgstr "" #: gschem/lib/system-gschemrc.scm:1481 msgid "_Attribute..." msgstr "" #: gschem/lib/system-gschemrc.scm:1482 msgid "_Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1484 msgid "_Line" msgstr "" #: gschem/lib/system-gschemrc.scm:1485 msgid "_Box" msgstr "" #: gschem/lib/system-gschemrc.scm:1486 msgid "C_ircle" msgstr "" #: gschem/lib/system-gschemrc.scm:1487 msgid "A_rc" msgstr "" #: gschem/lib/system-gschemrc.scm:1488 msgid "_Pin" msgstr "" #: gschem/lib/system-gschemrc.scm:1489 msgid "Pictu_re..." msgstr "" #: gschem/lib/system-gschemrc.scm:1495 msgid "_Down Schematic" msgstr "" #: gschem/lib/system-gschemrc.scm:1496 msgid "Down _Symbol" msgstr "" #: gschem/lib/system-gschemrc.scm:1497 msgid "_Up" msgstr "" #: gschem/lib/system-gschemrc.scm:1498 msgid "D_ocumentation..." msgstr "" #: gschem/lib/system-gschemrc.scm:1504 msgid "_Attach" msgstr "" #: gschem/lib/system-gschemrc.scm:1505 msgid "_Detach" msgstr "" #: gschem/lib/system-gschemrc.scm:1506 msgid "Show _Value" msgstr "" #: gschem/lib/system-gschemrc.scm:1507 msgid "Show _Name" msgstr "" #: gschem/lib/system-gschemrc.scm:1508 msgid "Show _Both" msgstr "" #: gschem/lib/system-gschemrc.scm:1509 msgid "_Toggle Visibility" msgstr "" #: gschem/lib/system-gschemrc.scm:1511 msgid "_Find Specific Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1512 msgid "_Hide Specific Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1513 msgid "_Show Specific Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1514 msgid "A_utonumber Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1520 msgid "_Text Size..." msgstr "" #: gschem/lib/system-gschemrc.scm:1521 msgid "Cycle _grid styles" msgstr "" #: gschem/lib/system-gschemrc.scm:1522 msgid "Toggle _Snap On/Off" msgstr "" #: gschem/lib/system-gschemrc.scm:1523 msgid "Snap Grid S_pacing..." msgstr "" #: gschem/lib/system-gschemrc.scm:1524 msgid "Scale _up Grid Spacing" msgstr "" #: gschem/lib/system-gschemrc.scm:1526 msgid "Scale _down Grid Spacing" msgstr "" #: gschem/lib/system-gschemrc.scm:1528 msgid "Toggle _Outline/Box" msgstr "" #: gschem/lib/system-gschemrc.scm:1530 msgid "Toggle Net _Rubberband" msgstr "" #: gschem/lib/system-gschemrc.scm:1531 msgid "Toggle _Magnetic Net" msgstr "" #: gschem/lib/system-gschemrc.scm:1532 msgid "Show _Log Window..." msgstr "" #: gschem/lib/system-gschemrc.scm:1534 msgid "Show _Coord Window..." msgstr "" #: gschem/lib/system-gschemrc.scm:1542 msgid "gEDA Docu_mentation..." msgstr "" #: gschem/lib/system-gschemrc.scm:1543 msgid "gschem _FAQ..." msgstr "" #: gschem/lib/system-gschemrc.scm:1544 msgid "gEDA _Wiki..." msgstr "" #: gschem/lib/system-gschemrc.scm:1545 msgid "Component D_ocumentation..." msgstr "" #: gschem/lib/system-gschemrc.scm:1547 msgid "_Hotkeys..." msgstr "" #: gschem/lib/system-gschemrc.scm:1548 msgid "_About..." msgstr "" #: gschem/lib/system-gschemrc.scm:1554 msgid "_File" msgstr "Dosya" #: gschem/lib/system-gschemrc.scm:1555 msgid "_Edit" msgstr "Düzenle" #: gschem/lib/system-gschemrc.scm:1556 msgid "_Buffer" msgstr "Tampon" #: gschem/lib/system-gschemrc.scm:1557 msgid "_View" msgstr "Görüntüle" #: gschem/lib/system-gschemrc.scm:1558 msgid "_Page" msgstr "Sayfa" #: gschem/lib/system-gschemrc.scm:1559 msgid "_Add" msgstr "Ekle" #: gschem/lib/system-gschemrc.scm:1560 msgid "Hie_rarchy" msgstr "Hiyerarşi" #: gschem/lib/system-gschemrc.scm:1561 msgid "A_ttributes" msgstr "Öznitelikler" #: gschem/lib/system-gschemrc.scm:1562 msgid "_Options" msgstr "Seçenekler" #: gschem/lib/system-gschemrc.scm:1563 msgid "_Help" msgstr "Yardım" #: gschem/scheme/gschem/deprecated.scm:102 #, scheme-format msgid "Invalid text alignment ~A." msgstr "" #: gschem/scheme/gschem/gschemdoc.scm:225 msgid "No documentation found" msgstr "" #: gschem/scheme/gschem/keymap.scm:38 #, scheme-format msgid "~S is not a valid key combination." msgstr "" #: gschem/scheme/gschem/keymap.scm:153 #, scheme-format msgid "~S is not a prefix key sequence." msgstr "" geda-gaf-1.8.2/gschem/po/sl.po0000664000175000017500000013622312220655644012757 00000000000000# Slovenian translation for geda # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: geda-bug@seul.org\n" "POT-Creation-Date: 2013-09-25 22:20+0100\n" "PO-Revision-Date: 2012-01-27 14:18+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Slovenian \n" "Language: sl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #: gschem/src/a_zoom.c:212 msgid "Zoom too small! Cannot zoom further.\n" msgstr "" #: gschem/src/g_attrib.c:92 msgid "Object ~A is not included in the current gschem page." msgstr "" #: gschem/src/g_attrib.c:112 msgid "Invalid text name/value visibility ~A." msgstr "" #: gschem/src/g_rc.c:312 #, c-format msgid "Invalid zoomfactor [%d] passed to %s\n" msgstr "" #: gschem/src/g_rc.c:458 #, c-format msgid "Invalid size [%d] passed to text-size\n" msgstr "" #: gschem/src/g_rc.c:501 #, c-format msgid "Invalid size [%d] passed to snap-size\n" msgstr "" #: gschem/src/g_rc.c:958 #, c-format msgid "Invalid num levels [%d] passed to undo-levels\n" msgstr "" #: gschem/src/g_rc.c:1220 #, c-format msgid "Invalid size [%d] passed to bus-ripper-size\n" msgstr "" #: gschem/src/g_rc.c:1295 #, c-format msgid "Invalid dot size [%d] passed to dots-grid-dot-size\n" msgstr "" #: gschem/src/g_rc.c:1336 #, c-format msgid "Invalid pixel spacing [%d] passed to dots-grid-fixed-threshold\n" msgstr "" #: gschem/src/g_rc.c:1362 #, c-format msgid "Invalid pixel spacing [%d] passed to mesh-grid-display-threshold\n" msgstr "" #: gschem/src/g_rc.c:1387 #, c-format msgid "Invalid offset [%d] passed to add-attribute-offset\n" msgstr "" #: gschem/src/g_rc.c:1411 #, c-format msgid "Invalid number of seconds [%d] passed to auto-save-interval\n" msgstr "" #: gschem/src/g_rc.c:1435 #, c-format msgid "Invalid gain [%d] passed to mousepan-gain\n" msgstr "" #: gschem/src/g_rc.c:1458 #, c-format msgid "Invalid gain [%d] passed to keyboardpan-gain\n" msgstr "" #: gschem/src/g_rc.c:1505 #, c-format msgid "Invalid number of pixels [%d] passed to select-slack-pixels\n" msgstr "" #: gschem/src/g_rc.c:1531 #, c-format msgid "Invalid gain [%d] passed to zoom-gain\n" msgstr "" #: gschem/src/g_rc.c:1556 #, c-format msgid "Invalid number of steps [%d] scrollpan-steps\n" msgstr "" #: gschem/src/g_select.c:79 gschem/src/g_select.c:116 #: gschem/src/g_select.c:152 msgid "Object ~A is not directly included in a page." msgstr "" #: gschem/src/g_util.c:56 msgid "Could not launch URI ~S: ~A" msgstr "" #: gschem/src/g_window.c:136 msgid "Found invalid gschem window smob ~S" msgstr "" #: gschem/src/gschem.c:175 #, c-format msgid "gEDA/gschem version %s%s.%s\n" msgstr "" #: gschem/src/gschem.c:178 msgid "" "gEDA/gschem comes with ABSOLUTELY NO WARRANTY; see COPYING for more " "details.\n" msgstr "" #: gschem/src/gschem.c:180 msgid "" "This is free software, and you are welcome to redistribute it under certain\n" msgstr "" #: gschem/src/gschem.c:182 msgid "" "conditions; please see the COPYING file for more details.\n" "\n" msgstr "" #: gschem/src/gschem.c:185 #, c-format msgid "This is the MINGW32 port.\n" msgstr "" #: gschem/src/gschem.c:189 #, c-format msgid "Current locale settings: %s\n" msgstr "" #: gschem/src/gschem.c:211 msgid "" "You must set the GEDADATA environment variable!\n" "\n" "gschem cannot locate its data files. You must set the GEDADATA\n" "environment variable to point to the correct location.\n" msgstr "" #: gschem/src/gschem.c:248 #, c-format msgid "Couldn't find init scm file [%s]\n" msgstr "" #: gschem/src/gschem.c:252 #, c-format msgid "Read init scm file [%s]\n" msgstr "" #: gschem/src/gschem.c:256 #, c-format msgid "Failed to read init scm file [%s]\n" msgstr "" #: gschem/src/gschem_cairo.c:310 #, c-format msgid "Unknown end for line (%d)\n" msgstr "" #: gschem/src/gschem_cairo.c:318 #, c-format msgid "Unknown type for stroke (%d) !\n" msgstr "" #: gschem/src/gschem_pango.c:289 msgid "cairo context" msgstr "" #: gschem/src/gschem_pango.c:290 msgid "the cairo context for the renderer" msgstr "" #: gschem/src/i_basic.c:77 gschem/src/x_window.c:524 #: gschem/lib/system-gschemrc.scm:1399 msgid "Select Mode" msgstr "" #: gschem/src/i_basic.c:79 msgid "Component Mode" msgstr "" #: gschem/src/i_basic.c:81 msgid "Text Mode" msgstr "" #: gschem/src/i_basic.c:84 gschem/lib/system-gschemrc.scm:1402 msgid "Copy Mode" msgstr "" #: gschem/src/i_basic.c:87 gschem/lib/system-gschemrc.scm:1404 msgid "Move Mode" msgstr "" #: gschem/src/i_basic.c:89 msgid "Rotate Mode" msgstr "" #: gschem/src/i_basic.c:91 gschem/lib/system-gschemrc.scm:1406 msgid "Mirror Mode" msgstr "" #: gschem/src/i_basic.c:95 msgid "Zoom Box" msgstr "" #: gschem/src/i_basic.c:99 msgid "Pan Mode" msgstr "" #: gschem/src/i_basic.c:103 #, c-format msgid "Paste %d Mode" msgstr "" #: gschem/src/i_basic.c:109 msgid "Magnetic Net Mode" msgstr "" #: gschem/src/i_basic.c:111 msgid "Net Mode" msgstr "" #: gschem/src/i_basic.c:115 msgid "Bus Mode" msgstr "" #: gschem/src/i_basic.c:118 msgid "Line Mode" msgstr "" #: gschem/src/i_basic.c:121 msgid "Box Mode" msgstr "" #: gschem/src/i_basic.c:124 msgid "Picture Mode" msgstr "" #: gschem/src/i_basic.c:127 msgid "Circle Mode" msgstr "" #: gschem/src/i_basic.c:130 msgid "Arc Mode" msgstr "" #: gschem/src/i_basic.c:133 msgid "Pin Mode" msgstr "" #: gschem/src/i_basic.c:135 gschem/src/i_callbacks.c:529 #: gschem/src/i_callbacks.c:553 msgid "Copy" msgstr "" #: gschem/src/i_basic.c:137 gschem/src/i_callbacks.c:619 #: gschem/src/i_callbacks.c:643 msgid "Move" msgstr "" #: gschem/src/i_basic.c:139 gschem/src/i_callbacks.c:574 #: gschem/src/i_callbacks.c:598 msgid "Multiple Copy" msgstr "" #: gschem/src/i_basic.c:142 gschem/lib/system-gschemrc.scm:1403 msgid "Multiple Copy Mode" msgstr "" #: gschem/src/i_basic.c:168 msgid "Show Hidden" msgstr "" #: gschem/src/i_basic.c:171 msgid "Snap Off" msgstr "" #: gschem/src/i_basic.c:173 msgid "Resnap Active" msgstr "" #: gschem/src/i_basic.c:254 gschem/src/x_window.c:498 msgid "Action" msgstr "" #: gschem/src/i_basic.c:260 gschem/src/x_dialog.c:2325 #: gschem/src/x_window.c:493 msgid "Stroke" msgstr "" #: gschem/src/i_basic.c:266 gschem/src/x_window.c:495 msgid "none" msgstr "" #: gschem/src/i_basic.c:271 msgid "Repeat/" msgstr "" #: gschem/src/i_basic.c:566 gschem/src/i_basic.c:580 msgid "OFF" msgstr "" #: gschem/src/i_basic.c:584 msgid "NONE" msgstr "" #: gschem/src/i_basic.c:589 #, c-format msgid "Grid(%s, %s)" msgstr "" #: gschem/src/i_callbacks.c:76 gschem/src/i_callbacks.c:1659 #, c-format msgid "New page created [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:124 #, c-format msgid "New Window created [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:242 msgid "Failed to Save All" msgstr "" #: gschem/src/i_callbacks.c:244 msgid "Saved All" msgstr "" #: gschem/src/i_callbacks.c:334 msgid "Closing Window\n" msgstr "" #: gschem/src/i_callbacks.c:534 gschem/src/i_callbacks.c:579 #: gschem/src/i_callbacks.c:624 msgid "Select objs first" msgstr "" #: gschem/src/i_callbacks.c:663 gschem/src/x_multiattrib.c:1549 msgid "Delete" msgstr "" #: gschem/src/i_callbacks.c:688 msgid "Edit" msgstr "" #: gschem/src/i_callbacks.c:703 msgid "Edit pin type" msgstr "" #: gschem/src/i_callbacks.c:722 msgid "Edit Text" msgstr "" #: gschem/src/i_callbacks.c:745 msgid "Slot" msgstr "" #: gschem/src/i_callbacks.c:762 msgid "Color" msgstr "" #: gschem/src/i_callbacks.c:799 gschem/src/i_callbacks.c:844 msgid "Rotate" msgstr "" #: gschem/src/i_callbacks.c:866 gschem/src/i_callbacks.c:891 msgid "Mirror" msgstr "" #: gschem/src/i_callbacks.c:912 gschem/src/x_dialog.c:2328 #: gschem/lib/system-gschemrc.scm:1415 msgid "Lock" msgstr "" #: gschem/src/i_callbacks.c:930 gschem/lib/system-gschemrc.scm:1416 msgid "Unlock" msgstr "" #: gschem/src/i_callbacks.c:948 gschem/src/x_dialog.c:1746 msgid "Translate" msgstr "" #: gschem/src/i_callbacks.c:951 msgid "WARNING: Do not translate with snap off!\n" msgstr "" #: gschem/src/i_callbacks.c:952 msgid "WARNING: Turning snap on and continuing with translate.\n" msgstr "" #: gschem/src/i_callbacks.c:959 msgid "WARNING: Snap grid size is not equal to 100!\n" msgstr "" #: gschem/src/i_callbacks.c:961 msgid "" "WARNING: If you are translating a symbol to the origin, the snap grid size " "should be set to 100\n" msgstr "" #: gschem/src/i_callbacks.c:992 msgid "Embed" msgstr "" #: gschem/src/i_callbacks.c:1031 msgid "Unembed" msgstr "" #: gschem/src/i_callbacks.c:1073 msgid "Update" msgstr "" #: gschem/src/i_callbacks.c:1120 msgid "ShowHidden" msgstr "" #: gschem/src/i_callbacks.c:1426 gschem/src/i_callbacks.c:1498 msgid "Pan" msgstr "" #: gschem/src/i_callbacks.c:1703 msgid "Really revert page?" msgstr "" #: gschem/src/i_callbacks.c:1773 msgid "Copy to clipboard" msgstr "" #: gschem/src/i_callbacks.c:1791 msgid "Cut to clipboard" msgstr "" #: gschem/src/i_callbacks.c:1809 msgid "Paste from clipboard" msgstr "" #: gschem/src/i_callbacks.c:1821 gschem/src/i_callbacks.c:2060 #: gschem/src/i_callbacks.c:2082 gschem/src/i_callbacks.c:2104 #: gschem/src/i_callbacks.c:2126 gschem/src/i_callbacks.c:2148 msgid "Empty buffer" msgstr "" #: gschem/src/i_callbacks.c:1866 msgid "Copy 1" msgstr "" #: gschem/src/i_callbacks.c:1885 msgid "Copy 2" msgstr "" #: gschem/src/i_callbacks.c:1904 msgid "Copy 3" msgstr "" #: gschem/src/i_callbacks.c:1923 msgid "Copy 4" msgstr "" #: gschem/src/i_callbacks.c:1942 msgid "Copy 5" msgstr "" #: gschem/src/i_callbacks.c:1961 msgid "Cut 1" msgstr "" #: gschem/src/i_callbacks.c:1980 msgid "Cut 2" msgstr "" #: gschem/src/i_callbacks.c:1999 msgid "Cut 3" msgstr "" #: gschem/src/i_callbacks.c:2018 msgid "Cut 4" msgstr "" #: gschem/src/i_callbacks.c:2037 msgid "Cut 5" msgstr "" #: gschem/src/i_callbacks.c:2053 msgid "Paste 1" msgstr "" #: gschem/src/i_callbacks.c:2075 msgid "Paste 2" msgstr "" #: gschem/src/i_callbacks.c:2097 msgid "Paste 3" msgstr "" #: gschem/src/i_callbacks.c:2119 msgid "Paste 4" msgstr "" #: gschem/src/i_callbacks.c:2141 msgid "Paste 5" msgstr "" #: gschem/src/i_callbacks.c:2278 gschem/src/x_window.c:359 msgid "Component" msgstr "" #: gschem/src/i_callbacks.c:2314 gschem/src/i_callbacks.c:2333 #: gschem/src/x_dialog.c:2298 msgid "Attribute" msgstr "" #: gschem/src/i_callbacks.c:2355 gschem/src/i_callbacks.c:2382 #: gschem/src/x_dialog.c:2295 msgid "Net" msgstr "" #: gschem/src/i_callbacks.c:2426 gschem/src/i_callbacks.c:2453 #: gschem/src/x_dialog.c:2313 gschem/src/x_window.c:379 msgid "Bus" msgstr "" #: gschem/src/i_callbacks.c:2534 gschem/src/i_callbacks.c:2557 msgid "Line" msgstr "" #: gschem/src/i_callbacks.c:2579 gschem/src/i_callbacks.c:2602 msgid "Box" msgstr "" #: gschem/src/i_callbacks.c:2658 gschem/src/i_callbacks.c:2682 msgid "Circle" msgstr "" #: gschem/src/i_callbacks.c:2704 gschem/src/i_callbacks.c:2727 msgid "Arc" msgstr "" #: gschem/src/i_callbacks.c:2749 gschem/src/i_callbacks.c:2772 #: gschem/src/x_dialog.c:2286 msgid "Pin" msgstr "" #: gschem/src/i_callbacks.c:2831 #, c-format msgid "Searching for source [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:2855 #, c-format msgid "Cannot find source [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:2918 #, c-format msgid "Searching for symbol [%s]\n" msgstr "" #: gschem/src/i_callbacks.c:2924 msgid "Symbol is not a real file. Symbol cannot be loaded.\n" msgstr "" #: gschem/src/i_callbacks.c:2955 msgid "Cannot find any schematics above the current one!\n" msgstr "" #: gschem/src/i_callbacks.c:2985 msgid "Attach" msgstr "" #: gschem/src/i_callbacks.c:3041 msgid "Detach" msgstr "" #: gschem/src/i_callbacks.c:3085 msgid "ShowN" msgstr "" #: gschem/src/i_callbacks.c:3122 msgid "ShowV" msgstr "" #: gschem/src/i_callbacks.c:3159 msgid "ShowB" msgstr "" #: gschem/src/i_callbacks.c:3197 msgid "VisToggle" msgstr "" #: gschem/src/i_callbacks.c:3228 #, c-format msgid "Sorry but this is a non-functioning menu option\n" msgstr "" #: gschem/src/i_callbacks.c:3318 msgid "Action feedback mode set to OUTLINE\n" msgstr "" #: gschem/src/i_callbacks.c:3321 msgid "Action feedback mode set to BOUNDINGBOX\n" msgstr "" #: gschem/src/i_callbacks.c:3346 msgid "Grid OFF\n" msgstr "" #: gschem/src/i_callbacks.c:3347 msgid "Dot grid selected\n" msgstr "" #: gschem/src/i_callbacks.c:3348 msgid "Mesh grid selected\n" msgstr "" #: gschem/src/i_callbacks.c:3369 msgid "Snap OFF (CAUTION!)\n" msgstr "" #: gschem/src/i_callbacks.c:3372 msgid "Snap ON\n" msgstr "" #: gschem/src/i_callbacks.c:3375 msgid "Snap back to the grid (CAUTION!)\n" msgstr "" #: gschem/src/i_callbacks.c:3401 msgid "Rubber band OFF \n" msgstr "" #: gschem/src/i_callbacks.c:3404 msgid "Rubber band ON\n" msgstr "" #: gschem/src/i_callbacks.c:3419 msgid "magnetic net mode: ON\n" msgstr "" #: gschem/src/i_callbacks.c:3422 msgid "magnetic net mode: OFF\n" msgstr "" #: gschem/src/o_box.c:292 #, c-format msgid "Unknown type for box (fill)!\n" msgstr "" #: gschem/src/o_buffer.c:54 #, c-format msgid "o_buffer_copy: Invalid buffer %i\n" msgstr "" #: gschem/src/o_buffer.c:69 #, c-format msgid "o_buffer_cut: Invalid buffer %i\n" msgstr "" #: gschem/src/o_buffer.c:90 #, c-format msgid "Got an invalid buffer_number [o_buffer_paste_start]\n" msgstr "" #: gschem/src/o_bus.c:117 #, c-format msgid "Got an invalid which one in o_bus_draw_stretch\n" msgstr "" #: gschem/src/o_circle.c:284 #, c-format msgid "Unknown type for circle (fill)!\n" msgstr "" #: gschem/src/o_complex.c:223 gschem/src/o_complex.c:227 #, c-format msgid "Translating schematic [%d %d]\n" msgstr "" #: gschem/src/o_misc.c:61 #, c-format msgid "Got an unexpected NULL in o_edit\n" msgstr "" #: gschem/src/o_misc.c:125 msgid "Object already locked\n" msgstr "" #: gschem/src/o_misc.c:163 msgid "Object already unlocked\n" msgstr "" #: gschem/src/o_misc.c:339 msgid "Hidden text is now visible\n" msgstr "" #: gschem/src/o_misc.c:341 msgid "Hidden text is now invisible\n" msgstr "" #: gschem/src/o_misc.c:568 #, c-format msgid "Could not find symbol [%s] in library. Update failed.\n" msgstr "" #: gschem/src/o_misc.c:683 #, c-format msgid "o_autosave_backups: Can't get the real filename of %s." msgstr "" #: gschem/src/o_misc.c:727 #, c-format msgid "Could NOT set previous backup file [%s] read-write\n" msgstr "" #: gschem/src/o_misc.c:747 #, c-format msgid "Could NOT set backup file [%s] readonly\n" msgstr "" #: gschem/src/o_misc.c:752 #, c-format msgid "Could NOT save backup file [%s]\n" msgstr "" #: gschem/src/o_move.c:174 #, c-format msgid "ERROR: NULL object in o_move_end!\n" msgstr "" #: gschem/src/o_move.c:431 #, c-format msgid "DOH! tried to find the whichone, but didn't find it!\n" msgstr "" #: gschem/src/o_move.c:453 #, c-format msgid "Got a non line object in o_move_check_endpoint\n" msgstr "" #: gschem/src/o_net.c:158 #, c-format msgid "Got an invalid which one in o_net_draw_stretch\n" msgstr "" #: gschem/src/o_net.c:537 msgid "Warning: Starting net at off grid coordinate\n" msgstr "" #: gschem/src/o_net.c:602 msgid "Warning: Ending net at off grid coordinate\n" msgstr "" #: gschem/src/o_net.c:944 gschem/src/o_net.c:981 gschem/src/o_net.c:1052 #: gschem/src/o_net.c:1088 #, c-format msgid "Tried to add more than two bus rippers. Internal gschem error.\n" msgstr "" #: gschem/src/o_net.c:1156 #, c-format msgid "Bus ripper symbol [%s] was not found in any component library\n" msgstr "" #: gschem/src/o_path.c:340 #, c-format msgid "Unknown type for path (fill)!\n" msgstr "" #: gschem/src/o_picture.c:166 #, c-format msgid "Failed to load picture: %s" msgstr "" #: gschem/src/o_picture.c:180 msgid "Picture" msgstr "" #: gschem/src/o_picture.c:544 #, c-format msgid "Failed to replace pictures: %s" msgstr "" #: gschem/src/o_slot.c:81 msgid "Slot attribute malformed\n" msgstr "" #: gschem/src/o_slot.c:89 msgid "numslots attribute missing\n" msgstr "" #: gschem/src/o_slot.c:90 msgid "Slotting not allowed for this component\n" msgstr "" #: gschem/src/o_slot.c:105 msgid "New slot number out of range\n" msgstr "" #: gschem/src/o_undo.c:307 msgid "Undo/Redo disabled in rc file\n" msgstr "" #: gschem/src/parsecmd.c:82 #, c-format msgid "" "Usage: %s [OPTION ...] [--] [FILE ...]\n" "\n" "Interactively edit gEDA schematics or symbols. If one or more FILEs\n" "are specified, open them for editing; otherwise, create a new, empty\n" "schematic.\n" "\n" "Options:\n" " -q, --quiet Quiet mode.\n" " -v, --verbose Verbose mode.\n" " -r, --config-file=FILE Additional configuration file to load.\n" " -L DIR Add DIR to Scheme search path.\n" " -c EXPR Scheme expression to run at startup.\n" " -s FILE Scheme script to run at startup.\n" " -o, --output=FILE Output filename (for printing).\n" " -p Automatically place the window.\n" " -V, --version Show version information.\n" " -h, --help Help; this message.\n" " -- Treat all remaining arguments as filenames.\n" "\n" "Report bugs at \n" "gEDA/gaf homepage: \n" msgstr "" #: gschem/src/parsecmd.c:116 #, c-format msgid "" "gEDA %s (g%.7s)\n" "Copyright (C) 1998-2012 gEDA developers\n" "This is free software, and you are welcome to redistribute it under\n" "certain conditions. For details, see the file `COPYING', which is\n" "included in the gEDA distribution.\n" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" #: gschem/src/x_attribedit.c:127 #, c-format msgid "Got invalid show option; defaulting to show both\n" msgstr "" #: gschem/src/x_attribedit.c:141 #, c-format msgid "ERROR: NULL object!\n" msgstr "" #: gschem/src/x_attribedit.c:329 msgid "Single Attribute Editor" msgstr "" #: gschem/src/x_attribedit.c:359 msgid "Edit Attribute" msgstr "" #: gschem/src/x_attribedit.c:361 msgid "Add Attribute" msgstr "" #: gschem/src/x_attribedit.c:377 gschem/src/x_multiattrib.c:1973 msgid "Name:" msgstr "" #: gschem/src/x_attribedit.c:394 gschem/src/x_multiattrib.c:1992 msgid "Value:" msgstr "" #: gschem/src/x_attribedit.c:410 gschem/src/x_multiattrib.c:2038 msgid "Visible" msgstr "" #: gschem/src/x_attribedit.c:430 msgid "Show Value Only" msgstr "" #: gschem/src/x_attribedit.c:432 msgid "Show Name Only" msgstr "" #: gschem/src/x_attribedit.c:434 gschem/src/x_multiattrib.c:1512 msgid "Show Name & Value" msgstr "" #: gschem/src/x_attribedit.c:441 msgid "Attach Options" msgstr "" #: gschem/src/x_attribedit.c:456 msgid "All" msgstr "" #: gschem/src/x_attribedit.c:464 gschem/src/x_compselect.c:922 #: gschem/src/x_compselect.c:1036 msgid "Components" msgstr "" #: gschem/src/x_attribedit.c:472 gschem/src/x_window.c:369 msgid "Nets" msgstr "" #: gschem/src/x_attribedit.c:480 msgid "Replace existing attributes" msgstr "" #: gschem/src/x_autonumber.c:415 msgid "" "slotted object without slot attribute may cause problems when autonumbering " "slots\n" msgstr "" #: gschem/src/x_autonumber.c:430 #, c-format msgid "" "duplicate slot may cause problems: [symbolname=%s, number=%d, slot=%d]\n" msgstr "" #: gschem/src/x_autonumber.c:672 msgid "No searchstring given in autonumber text.\n" msgstr "" #: gschem/src/x_autonumber.c:724 msgid "No '*' or '?' given at the end of the autonumber text.\n" msgstr "" #: gschem/src/x_autonumber.c:859 msgid "Diagonal" msgstr "" #: gschem/src/x_autonumber.c:860 msgid "Top to bottom" msgstr "" #: gschem/src/x_autonumber.c:860 msgid "Bottom to top" msgstr "" #: gschem/src/x_autonumber.c:861 msgid "Left to right" msgstr "" #: gschem/src/x_autonumber.c:861 msgid "Right to left" msgstr "" #: gschem/src/x_autonumber.c:862 msgid "File order" msgstr "" #: gschem/src/x_autonumber.c:1198 msgid "Autonumber text" msgstr "" #: gschem/src/x_autonumber.c:1222 msgid "Scope" msgstr "" #: gschem/src/x_autonumber.c:1244 msgid "Search for:" msgstr "" #: gschem/src/x_autonumber.c:1258 msgid "Autonumber text in:" msgstr "" #: gschem/src/x_autonumber.c:1265 msgid "Skip numbers found in:" msgstr "" #: gschem/src/x_autonumber.c:1277 gschem/src/x_autonumber.c:1286 msgid "Selected objects" msgstr "" #: gschem/src/x_autonumber.c:1278 gschem/src/x_autonumber.c:1287 msgid "Current page" msgstr "" #: gschem/src/x_autonumber.c:1279 gschem/src/x_autonumber.c:1288 msgid "Whole hierarchy" msgstr "" #: gschem/src/x_autonumber.c:1290 msgid "Overwrite existing numbers" msgstr "" #: gschem/src/x_autonumber.c:1295 msgid "Options" msgstr "" #: gschem/src/x_autonumber.c:1317 msgid "Starting number:" msgstr "" #: gschem/src/x_autonumber.c:1324 msgid "Sort order:" msgstr "" #: gschem/src/x_autonumber.c:1345 msgid "Remove numbers" msgstr "" #: gschem/src/x_autonumber.c:1349 msgid "Automatic slotting" msgstr "" #: gschem/src/x_clipboard.c:249 #, c-format msgid "" "Invalid schematic on clipboard.\n" "\n" "An error occurred while inserting clipboard data: %s." msgstr "" #: gschem/src/x_clipboard.c:251 msgid "Clipboard insertion failed" msgstr "" #: gschem/src/x_color.c:94 gschem/src/x_color.c:103 #, c-format msgid "Could not allocate the color %s!\n" msgstr "" #: gschem/src/x_color.c:94 msgid "black" msgstr "" #: gschem/src/x_color.c:103 msgid "white" msgstr "" #: gschem/src/x_color.c:125 #, c-format msgid "Could not allocate display color %i!\n" msgstr "" #: gschem/src/x_color.c:147 #, c-format msgid "Could not allocate outline color %i!\n" msgstr "" #: gschem/src/x_color.c:164 gschem/src/x_color.c:181 gschem/src/x_color.c:197 #, c-format msgid "Tried to get an invalid color: %d\n" msgstr "" #: gschem/src/x_color.c:214 #, c-format msgid "Tried to get an invalid outline color: %d\n" msgstr "" #: gschem/src/x_compselect.c:1066 msgid "Filter:" msgstr "" #: gschem/src/x_compselect.c:1169 gschem/src/x_dialog.c:3653 #: gschem/src/x_multiattrib.c:1839 msgid "Name" msgstr "" #: gschem/src/x_compselect.c:1178 gschem/src/x_multiattrib.c:1863 msgid "Value" msgstr "" #: gschem/src/x_compselect.c:1217 msgid "Default behavior - reference component" msgstr "" #: gschem/src/x_compselect.c:1220 msgid "Embed component in schematic" msgstr "" #: gschem/src/x_compselect.c:1223 msgid "Include component as individual objects" msgstr "" #: gschem/src/x_compselect.c:1380 msgid "Select Component..." msgstr "" #: gschem/src/x_compselect.c:1403 msgid "In Use" msgstr "" #: gschem/src/x_compselect.c:1407 msgid "Libraries" msgstr "" #: gschem/src/x_compselect.c:1416 gschem/src/x_fileselect.c:122 msgid "Preview" msgstr "" #: gschem/src/x_compselect.c:1444 msgid "Attributes" msgstr "" #: gschem/src/x_dialog.c:176 msgid "Text Entry..." msgstr "" #: gschem/src/x_dialog.c:207 msgid "" "Enter text, click apply,\n" "move cursor into window, click to place text.\n" "Middle button to rotate while placing." msgstr "" #: gschem/src/x_dialog.c:301 msgid "Upper Left" msgstr "" #: gschem/src/x_dialog.c:304 msgid "Upper Middle" msgstr "" #: gschem/src/x_dialog.c:307 msgid "Upper Right" msgstr "" #: gschem/src/x_dialog.c:311 msgid "Middle Left" msgstr "" #: gschem/src/x_dialog.c:314 msgid "Middle Middle" msgstr "" #: gschem/src/x_dialog.c:317 msgid "Middle Right" msgstr "" #: gschem/src/x_dialog.c:321 msgid "Lower Left" msgstr "" #: gschem/src/x_dialog.c:324 msgid "Lower Middle" msgstr "" #: gschem/src/x_dialog.c:327 msgid "Lower Right" msgstr "" #: gschem/src/x_dialog.c:438 msgid "Edit Text Properties" msgstr "" #: gschem/src/x_dialog.c:473 msgid "Text Content" msgstr "" #: gschem/src/x_dialog.c:509 msgid "Text Properties" msgstr "" #: gschem/src/x_dialog.c:524 msgid "Color:" msgstr "" #: gschem/src/x_dialog.c:531 msgid "Size:" msgstr "" #: gschem/src/x_dialog.c:540 msgid "Alignment:" msgstr "" #: gschem/src/x_dialog.c:589 msgid "Solid" msgstr "" #: gschem/src/x_dialog.c:590 msgid "Dotted" msgstr "" #: gschem/src/x_dialog.c:591 msgid "Dashed" msgstr "" #: gschem/src/x_dialog.c:592 msgid "Center" msgstr "" #: gschem/src/x_dialog.c:593 msgid "Phantom" msgstr "" #: gschem/src/x_dialog.c:594 gschem/src/x_dialog.c:691 #: gschem/src/x_dialog.c:700 gschem/src/x_dialog.c:709 #: gschem/src/x_dialog.c:810 gschem/src/x_dialog.c:813 #: gschem/src/x_dialog.c:816 gschem/src/x_dialog.c:1043 #: gschem/src/x_dialog.c:1146 gschem/src/x_dialog.c:1155 #: gschem/src/x_dialog.c:1164 gschem/src/x_dialog.c:1173 #: gschem/src/x_dialog.c:1182 gschem/src/x_dialog.c:1295 #: gschem/src/x_dialog.c:1298 gschem/src/x_dialog.c:1301 #: gschem/src/x_dialog.c:1304 gschem/src/x_dialog.c:1307 msgid "*unchanged*" msgstr "" #: gschem/src/x_dialog.c:921 msgid "Edit Line Width & Type" msgstr "" #: gschem/src/x_dialog.c:960 gschem/src/x_print.c:307 msgid "Type:" msgstr "" #: gschem/src/x_dialog.c:964 msgid "Width:" msgstr "" #: gschem/src/x_dialog.c:968 msgid "Dash Length:" msgstr "" #: gschem/src/x_dialog.c:972 msgid "Dash Space:" msgstr "" #: gschem/src/x_dialog.c:1039 msgid "Hollow" msgstr "" #: gschem/src/x_dialog.c:1040 msgid "Filled" msgstr "" #: gschem/src/x_dialog.c:1041 msgid "Mesh" msgstr "" #: gschem/src/x_dialog.c:1042 msgid "Hatch" msgstr "" #: gschem/src/x_dialog.c:1416 msgid "Edit Fill Type" msgstr "" #: gschem/src/x_dialog.c:1455 msgid "Fill Type:" msgstr "" #: gschem/src/x_dialog.c:1459 msgid "Line Width:" msgstr "" #: gschem/src/x_dialog.c:1463 msgid "Angle 1:" msgstr "" #: gschem/src/x_dialog.c:1467 msgid "Pitch 1:" msgstr "" #: gschem/src/x_dialog.c:1471 msgid "Angle 2:" msgstr "" #: gschem/src/x_dialog.c:1475 msgid "Pitch 2:" msgstr "" #: gschem/src/x_dialog.c:1602 msgid "Arc Params" msgstr "" #: gschem/src/x_dialog.c:1643 msgid "Arc Radius:" msgstr "" #: gschem/src/x_dialog.c:1651 msgid "Start Angle:" msgstr "" #: gschem/src/x_dialog.c:1659 msgid "Degrees of Sweep:" msgstr "" #: gschem/src/x_dialog.c:1777 msgid "" "Offset to translate?\n" "(0 for origin)" msgstr "" #: gschem/src/x_dialog.c:1845 msgid "Text Size" msgstr "" #: gschem/src/x_dialog.c:1875 msgid "Enter new text size:" msgstr "" #: gschem/src/x_dialog.c:1951 msgid "Snap Size" msgstr "" #: gschem/src/x_dialog.c:1981 msgid "Enter new snap grid spacing:" msgstr "" #: gschem/src/x_dialog.c:2058 msgid "Edit slot number" msgstr "" #: gschem/src/x_dialog.c:2089 msgid "Edit slot number:" msgstr "" #: gschem/src/x_dialog.c:2130 #, c-format msgid "%s (g%.7s)" msgstr "" #: gschem/src/x_dialog.c:2151 msgid "About gschem" msgstr "" #: gschem/src/x_dialog.c:2152 msgid "gEDA: GPL Electronic Design Automation" msgstr "" #. TRANSLATORS: "ChangeLog" is a literal filename; please don't translate it. #: gschem/src/x_dialog.c:2155 msgid "" "Copyright © 1998-2012 Ales Hvezda \n" "Copyright © 1998-2012 gEDA Contributors (see ChangeLog for details)" msgstr "" #: gschem/src/x_dialog.c:2214 msgid "Coords" msgstr "" #: gschem/src/x_dialog.c:2235 msgid "Screen" msgstr "" #: gschem/src/x_dialog.c:2244 msgid "World" msgstr "" #: gschem/src/x_dialog.c:2283 msgid "Background" msgstr "" #: gschem/src/x_dialog.c:2289 msgid "Net endpoint" msgstr "" #: gschem/src/x_dialog.c:2292 msgid "Graphic" msgstr "" #: gschem/src/x_dialog.c:2301 msgid "Logic bubble" msgstr "" #: gschem/src/x_dialog.c:2304 msgid "Grid point" msgstr "" #: gschem/src/x_dialog.c:2307 msgid "Detached attribute" msgstr "" #: gschem/src/x_dialog.c:2310 gschem/src/x_window.c:387 msgid "Text" msgstr "" #: gschem/src/x_dialog.c:2316 msgid "Selection" msgstr "" #: gschem/src/x_dialog.c:2319 msgid "Bounding box" msgstr "" #: gschem/src/x_dialog.c:2322 msgid "Zoom box" msgstr "" #: gschem/src/x_dialog.c:2331 msgid "Output background" msgstr "" #: gschem/src/x_dialog.c:2334 msgid "Net junction" msgstr "" #: gschem/src/x_dialog.c:2337 msgid "Mesh grid major" msgstr "" #: gschem/src/x_dialog.c:2340 msgid "Mesh grid minor" msgstr "" #: gschem/src/x_dialog.c:2343 msgid "Unknown" msgstr "" #: gschem/src/x_dialog.c:2494 #, c-format msgid "ERROR: NULL object in color_edit_dialog_apply!\n" msgstr "" #: gschem/src/x_dialog.c:2538 msgid "Color Edit" msgstr "" #: gschem/src/x_dialog.c:2569 msgid "Object color:" msgstr "" #: gschem/src/x_dialog.c:2622 msgid "Hotkeys" msgstr "" #: gschem/src/x_dialog.c:2662 msgid "Function" msgstr "" #: gschem/src/x_dialog.c:2669 msgid "Keystroke(s)" msgstr "" #: gschem/src/x_dialog.c:2977 msgid "Find Text" msgstr "" #: gschem/src/x_dialog.c:3008 msgid "Text to find:" msgstr "" #: gschem/src/x_dialog.c:3018 msgid "descend into hierarchy" msgstr "" #: gschem/src/x_dialog.c:3084 msgid "Hide Text" msgstr "" #: gschem/src/x_dialog.c:3115 msgid "Hide text starting with:" msgstr "" #: gschem/src/x_dialog.c:3185 msgid "Show Text" msgstr "" #: gschem/src/x_dialog.c:3216 msgid "Show text starting with:" msgstr "" #: gschem/src/x_dialog.c:3675 msgid "S_elect the schematics you want to save:" msgstr "" #: gschem/src/x_dialog.c:3770 #, c-format msgid "Save the changes to schematic \"%s\" before closing?" msgstr "" #: gschem/src/x_dialog.c:3776 #, c-format msgid "" "There are %d schematics with unsaved changes. Save changes before closing?" msgstr "" #: gschem/src/x_dialog.c:3805 msgid "If you don't save, all your changes will be permanently lost." msgstr "" #: gschem/src/x_dialog.c:3825 msgid "_Close without saving" msgstr "" #: gschem/src/x_dialog.c:4161 #, c-format msgid "" "The input attribute \"%s\" is invalid\n" "Please correct in order to continue\n" "\n" "The name and value must be non-empty.\n" "The name cannot end with a space.\n" "The value cannot start with a space." msgstr "" #: gschem/src/x_dialog.c:4163 msgid "Invalid Attribute" msgstr "" #: gschem/src/x_dialog.c:4199 msgid "Pin type" msgstr "" #: gschem/src/x_dialog.c:4223 msgid "Net pin" msgstr "" #: gschem/src/x_dialog.c:4225 msgid "Bus pin (graphical)" msgstr "" #: gschem/src/x_fileselect.c:42 msgid "Schematics" msgstr "" #: gschem/src/x_fileselect.c:47 msgid "Symbols" msgstr "" #: gschem/src/x_fileselect.c:52 msgid "Schematics and symbols" msgstr "" #: gschem/src/x_fileselect.c:58 msgid "All files" msgstr "" #: gschem/src/x_fileselect.c:171 msgid "Open..." msgstr "" #: gschem/src/x_fileselect.c:231 msgid "Save as..." msgstr "" #: gschem/src/x_fileselect.c:284 #, c-format msgid "" "The selected file `%s' already exists.\n" "\n" "Would you like to overwrite it?" msgstr "" #: gschem/src/x_fileselect.c:287 msgid "Overwrite file?" msgstr "" #: gschem/src/x_fileselect.c:289 msgid "Save cancelled on user request\n" msgstr "" #: gschem/src/x_image.c:176 msgid "Encapsulated Postscript" msgstr "" #: gschem/src/x_image.c:296 #, c-format msgid "x_image_lowlevel: Unable to write eps file %s.\n" msgstr "" #: gschem/src/x_image.c:374 #, c-format msgid "x_image_lowlevel: Unable to write %s file %s.\n" msgstr "" #: gschem/src/x_image.c:384 #, c-format msgid "" "There was the following error when saving image with type %s to filename:\n" "%s\n" "\n" "%s.\n" msgstr "" #: gschem/src/x_image.c:403 #, c-format msgid "Wrote color image to [%s] [%d x %d]\n" msgstr "" #: gschem/src/x_image.c:405 #, c-format msgid "Wrote black and white image to [%s] [%d x %d]\n" msgstr "" #: gschem/src/x_image.c:413 msgid "x_image_lowlevel: Unable to get pixbuf from gschem's window.\n" msgstr "" #: gschem/src/x_image.c:458 msgid "Width x Height" msgstr "" #: gschem/src/x_image.c:474 msgid "Image type" msgstr "" #: gschem/src/x_image.c:495 msgid "Write image..." msgstr "" #: gschem/src/x_log.c:209 msgid "** Invalid UTF-8 in log message. See stderr or gschem.log.\n" msgstr "" #: gschem/src/x_log.c:288 msgid "Status" msgstr "" #: gschem/src/x_menus.c:37 msgid "/Add Net" msgstr "" #: gschem/src/x_menus.c:38 msgid "/Add Attribute..." msgstr "" #: gschem/src/x_menus.c:39 msgid "/Add Component..." msgstr "" #: gschem/src/x_menus.c:40 msgid "/Add Bus" msgstr "" #: gschem/src/x_menus.c:41 msgid "/Add Text" msgstr "" #: gschem/src/x_menus.c:43 msgid "/Zoom In" msgstr "" #: gschem/src/x_menus.c:44 msgid "/Zoom Out" msgstr "" #: gschem/src/x_menus.c:45 msgid "/Zoom Box" msgstr "" #: gschem/src/x_menus.c:46 msgid "/Zoom Extents" msgstr "" #: gschem/src/x_menus.c:48 msgid "/Select" msgstr "" #: gschem/src/x_menus.c:49 msgid "/Edit..." msgstr "" #: gschem/src/x_menus.c:50 msgid "/Edit pin type..." msgstr "" #: gschem/src/x_menus.c:51 msgid "/Copy" msgstr "" #: gschem/src/x_menus.c:52 msgid "/Move" msgstr "" #: gschem/src/x_menus.c:53 msgid "/Delete" msgstr "" #: gschem/src/x_menus.c:56 msgid "/Down Schematic" msgstr "" #: gschem/src/x_menus.c:57 msgid "/Down Symbol" msgstr "" #: gschem/src/x_menus.c:58 msgid "/Up" msgstr "" #: gschem/src/x_menus.c:348 #, c-format msgid "Tried to set the sensitivity on non-existent menu item '%s'\n" msgstr "" #: gschem/src/x_menus.c:372 msgid "Popup_menu_item_factory doesn't exist!\n" msgstr "" #: gschem/src/x_menus.c:385 msgid "Tried to set the sensitivity on a non-existent popup menu_item\n" msgstr "" #: gschem/src/x_misc.c:74 msgid "The operating system is out of memory or resources." msgstr "" #: gschem/src/x_misc.c:155 #, c-format msgid "%s failed to launch URI" msgstr "" #: gschem/src/x_multiattrib.c:961 msgid "Attributes with empty name are not allowed. Please set a name." msgstr "" #: gschem/src/x_multiattrib.c:1514 msgid "Show Value only" msgstr "" #: gschem/src/x_multiattrib.c:1516 msgid "Show Name only" msgstr "" #: gschem/src/x_multiattrib.c:1544 msgid "Promote" msgstr "" #: gschem/src/x_multiattrib.c:1548 msgid "Duplicate" msgstr "" #: gschem/src/x_multiattrib.c:1765 msgid "Edit Attributes" msgstr "" #: gschem/src/x_multiattrib.c:1883 msgid "Vis?" msgstr "" #: gschem/src/x_multiattrib.c:1901 msgid "N" msgstr "" #: gschem/src/x_multiattrib.c:1919 msgid "V" msgstr "" #: gschem/src/x_multiattrib.c:1941 msgid "Show inherited attributes" msgstr "" #: gschem/src/x_multiattrib.c:1957 msgid "Add Attribute" msgstr "" #: gschem/src/x_pagesel.c:246 msgid "New Page" msgstr "" #: gschem/src/x_pagesel.c:247 msgid "Open Page..." msgstr "" #: gschem/src/x_pagesel.c:249 msgid "Save Page" msgstr "" #: gschem/src/x_pagesel.c:250 msgid "Close Page" msgstr "" #: gschem/src/x_pagesel.c:251 msgid "Discard Page" msgstr "" #: gschem/src/x_pagesel.c:369 msgid "Page Manager" msgstr "" #: gschem/src/x_pagesel.c:425 msgid "Filename" msgstr "" #: gschem/src/x_pagesel.c:441 msgid "Changed" msgstr "" #: gschem/src/x_pagesel.c:461 msgid "Right click on the filename for more options..." msgstr "" #: gschem/src/x_preview.c:231 msgid "Preview Buffer" msgstr "" #: gschem/src/x_print.c:84 msgid "Select PostScript Filename..." msgstr "" #: gschem/src/x_print.c:164 msgid "Extents with margins" msgstr "" #: gschem/src/x_print.c:170 msgid "Extents no margins" msgstr "" #: gschem/src/x_print.c:176 msgid "Current Window" msgstr "" #: gschem/src/x_print.c:210 msgid "Landscape" msgstr "" #: gschem/src/x_print.c:216 msgid "Portrait" msgstr "" #: gschem/src/x_print.c:276 msgid "Print..." msgstr "" #: gschem/src/x_print.c:284 msgid "Settings" msgstr "" #: gschem/src/x_print.c:296 msgid "Output paper size:" msgstr "" #: gschem/src/x_print.c:318 msgid "Orientation:" msgstr "" #: gschem/src/x_print.c:330 msgid "Destination" msgstr "" #: gschem/src/x_print.c:343 msgid "File:" msgstr "" #: gschem/src/x_print.c:373 msgid "Command:" msgstr "" #: gschem/src/x_print.c:745 msgid "No print destination specified\n" msgstr "" #: gschem/src/x_print.c:752 #, c-format msgid "Cannot print current schematic to [%s]\n" msgstr "" #: gschem/src/x_print.c:761 #, c-format msgid "" "Error printing to file '%s'\n" "Check the log window for more information" msgstr "" #: gschem/src/x_print.c:768 #, c-format msgid "Printed current schematic to [%s]\n" msgstr "" #: gschem/src/x_rc.c:40 msgid "ERROR: An unknown error occurred while parsing configuration files.\n" msgstr "" #: gschem/src/x_rc.c:45 msgid "" "An unknown error occurred while parsing configuration files.\n" "\n" "The gschem log may contain more information." msgstr "" #: gschem/src/x_rc.c:57 #, c-format msgid "ERROR: %s\n" msgstr "" #: gschem/src/x_rc.c:60 #, c-format msgid "" "%s\n" "\n" "The gschem log may contain more information." msgstr "" #: gschem/src/x_rc.c:68 msgid "Cannot load gschem configuration." msgstr "" #: gschem/src/x_script.c:47 gschem/lib/system-gschemrc.scm:1381 msgid "Execute Script..." msgstr "" #: gschem/src/x_script.c:66 #, c-format msgid "Executing guile script [%s]\n" msgstr "" #: gschem/src/x_window.c:82 #, c-format msgid "Couldn't allocate gc\n" msgstr "" #: gschem/src/x_window.c:321 msgid "New" msgstr "" #: gschem/src/x_window.c:322 msgid "New file" msgstr "" #: gschem/src/x_window.c:328 msgid "Open" msgstr "" #: gschem/src/x_window.c:329 msgid "Open file..." msgstr "" #: gschem/src/x_window.c:335 msgid "Save" msgstr "" #: gschem/src/x_window.c:336 msgid "Save file" msgstr "" #: gschem/src/x_window.c:343 msgid "Undo" msgstr "" #: gschem/src/x_window.c:344 msgid "Undo last operation" msgstr "" #: gschem/src/x_window.c:350 msgid "Redo" msgstr "" #: gschem/src/x_window.c:351 msgid "Redo last undo" msgstr "" #: gschem/src/x_window.c:360 msgid "" "Add component...\n" "Select library and component from list, move the mouse into main window, " "click to place\n" "Right mouse button to cancel" msgstr "" #: gschem/src/x_window.c:370 msgid "" "Add nets mode\n" "Right mouse button to cancel" msgstr "" #: gschem/src/x_window.c:380 msgid "" "Add buses mode\n" "Right mouse button to cancel" msgstr "" #: gschem/src/x_window.c:388 msgid "Add Text..." msgstr "" #: gschem/src/x_window.c:398 msgid "Select" msgstr "" #: gschem/src/x_window.c:399 msgid "Select mode" msgstr "" #: gschem/src/x_window.c:465 msgid "Evaluate:" msgstr "" #: gschem/src/x_window.c:484 msgid "Pick" msgstr "" #: gschem/src/x_window.c:500 msgid "Repeat/none" msgstr "" #: gschem/src/x_window.c:510 msgid "Menu/Cancel" msgstr "" #: gschem/src/x_window.c:512 msgid "Pan/Cancel" msgstr "" #: gschem/src/x_window.c:737 #, c-format msgid "Loading schematic [%s]\n" msgstr "" #: gschem/src/x_window.c:748 #, c-format msgid "" "An error occurred while loading the requested file.\n" "\n" "Loading from '%s' failed: %s. The gschem log may contain more information." msgstr "" #: gschem/src/x_window.c:750 msgid "Failed to load file" msgstr "" #: gschem/src/x_window.c:759 #, c-format msgid "New file [%s]\n" msgstr "Nova datoteka [%s]\n" #: gschem/src/x_window.c:862 #, c-format msgid "Could NOT save page [%s]\n" msgstr "" #: gschem/src/x_window.c:863 msgid "Error while trying to save" msgstr "" #: gschem/src/x_window.c:873 msgid "Failed to save file" msgstr "" #: gschem/src/x_window.c:884 #, c-format msgid "Saved as [%s]\n" msgstr "" #: gschem/src/x_window.c:886 #, c-format msgid "Saved [%s]\n" msgstr "" #: gschem/src/x_window.c:888 msgid "Saved" msgstr "" #: gschem/src/x_window.c:962 #, c-format msgid "Discarding page [%s]\n" msgstr "" #: gschem/src/x_window.c:962 #, c-format msgid "Closing [%s]\n" msgstr "" #: gschem/data/geda-gschem.desktop.in:3 msgid "gEDA Schematic Editor" msgstr "" #: gschem/data/geda-gschem.desktop.in:4 msgid "Create and edit electrical schematics and symbols with gschem" msgstr "" #: gschem/lib/system-gschemrc.scm:1368 msgid "_New" msgstr "_Nova" #: gschem/lib/system-gschemrc.scm:1369 msgid "_Open..." msgstr "_Odpri ..." #: gschem/lib/system-gschemrc.scm:1371 msgid "Open Recen_t" msgstr "Odpri nedav_no" #: gschem/lib/system-gschemrc.scm:1373 msgid "_Save" msgstr "_Shrani" #: gschem/lib/system-gschemrc.scm:1374 msgid "Save _As..." msgstr "Shrani _kot ..." #: gschem/lib/system-gschemrc.scm:1375 msgid "Save All" msgstr "Shrani vse" #: gschem/lib/system-gschemrc.scm:1376 gschem/lib/system-gschemrc.scm:1469 msgid "_Revert" msgstr "_Povrni" #: gschem/lib/system-gschemrc.scm:1378 msgid "_Print..." msgstr "Na_tisni ..." #: gschem/lib/system-gschemrc.scm:1379 msgid "Write _image..." msgstr "" #: gschem/lib/system-gschemrc.scm:1383 msgid "New Window" msgstr "Novo okno" #: gschem/lib/system-gschemrc.scm:1384 msgid "_Close Window" msgstr "" #: gschem/lib/system-gschemrc.scm:1385 msgid "_Quit" msgstr "_Končaj" #: gschem/lib/system-gschemrc.scm:1391 msgid "_Undo" msgstr "_Razveljavi" #: gschem/lib/system-gschemrc.scm:1392 msgid "_Redo" msgstr "" #: gschem/lib/system-gschemrc.scm:1394 msgid "Cu_t" msgstr "" #: gschem/lib/system-gschemrc.scm:1395 msgid "_Copy" msgstr "" #: gschem/lib/system-gschemrc.scm:1396 msgid "_Paste" msgstr "" #: gschem/lib/system-gschemrc.scm:1397 msgid "_Delete" msgstr "" #: gschem/lib/system-gschemrc.scm:1400 msgid "Select All" msgstr "" #: gschem/lib/system-gschemrc.scm:1401 msgid "Deselect" msgstr "" #: gschem/lib/system-gschemrc.scm:1405 msgid "Rotate 90 Mode" msgstr "" #: gschem/lib/system-gschemrc.scm:1408 msgid "Edit..." msgstr "" #: gschem/lib/system-gschemrc.scm:1409 msgid "Edit Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1410 msgid "Slot..." msgstr "" #: gschem/lib/system-gschemrc.scm:1411 msgid "Color..." msgstr "" #: gschem/lib/system-gschemrc.scm:1412 msgid "Line Width & Type..." msgstr "" #: gschem/lib/system-gschemrc.scm:1413 msgid "Fill Type..." msgstr "" #: gschem/lib/system-gschemrc.scm:1414 msgid "Symbol Translate..." msgstr "" #: gschem/lib/system-gschemrc.scm:1418 msgid "Invoke Macro" msgstr "" #: gschem/lib/system-gschemrc.scm:1419 msgid "Embed Component/Picture" msgstr "" #: gschem/lib/system-gschemrc.scm:1420 msgid "Unembed Component/Picture" msgstr "" #: gschem/lib/system-gschemrc.scm:1421 msgid "Update Component" msgstr "" #: gschem/lib/system-gschemrc.scm:1422 msgid "Show/Hide Inv Text" msgstr "" #: gschem/lib/system-gschemrc.scm:1428 msgid "Copy into 1" msgstr "" #: gschem/lib/system-gschemrc.scm:1429 msgid "Copy into 2" msgstr "" #: gschem/lib/system-gschemrc.scm:1430 msgid "Copy into 3" msgstr "" #: gschem/lib/system-gschemrc.scm:1431 msgid "Copy into 4" msgstr "" #: gschem/lib/system-gschemrc.scm:1432 msgid "Copy into 5" msgstr "" #: gschem/lib/system-gschemrc.scm:1433 msgid "Cut into 1" msgstr "" #: gschem/lib/system-gschemrc.scm:1434 msgid "Cut into 2" msgstr "" #: gschem/lib/system-gschemrc.scm:1435 msgid "Cut into 3" msgstr "" #: gschem/lib/system-gschemrc.scm:1436 msgid "Cut into 4" msgstr "" #: gschem/lib/system-gschemrc.scm:1437 msgid "Cut into 5" msgstr "" #: gschem/lib/system-gschemrc.scm:1438 msgid "Paste from 1" msgstr "" #: gschem/lib/system-gschemrc.scm:1439 msgid "Paste from 2" msgstr "" #: gschem/lib/system-gschemrc.scm:1440 msgid "Paste from 3" msgstr "" #: gschem/lib/system-gschemrc.scm:1441 msgid "Paste from 4" msgstr "" #: gschem/lib/system-gschemrc.scm:1442 msgid "Paste from 5" msgstr "" #: gschem/lib/system-gschemrc.scm:1448 msgid "_Redraw" msgstr "" #: gschem/lib/system-gschemrc.scm:1449 msgid "_Pan" msgstr "" #: gschem/lib/system-gschemrc.scm:1450 msgid "Zoom _Box" msgstr "" #: gschem/lib/system-gschemrc.scm:1451 msgid "Zoom _Extents" msgstr "" #: gschem/lib/system-gschemrc.scm:1452 msgid "Zoom _In" msgstr "" #: gschem/lib/system-gschemrc.scm:1453 msgid "Zoom _Out" msgstr "" #: gschem/lib/system-gschemrc.scm:1454 msgid "Zoom _Full" msgstr "" #: gschem/lib/system-gschemrc.scm:1456 msgid "_Dark color scheme" msgstr "" #: gschem/lib/system-gschemrc.scm:1457 msgid "_Light color scheme" msgstr "" #: gschem/lib/system-gschemrc.scm:1458 msgid "B_W color scheme" msgstr "" #: gschem/lib/system-gschemrc.scm:1465 msgid "_Manager..." msgstr "" #: gschem/lib/system-gschemrc.scm:1466 msgid "_Previous" msgstr "" #: gschem/lib/system-gschemrc.scm:1467 msgid "_Next" msgstr "" #: gschem/lib/system-gschemrc.scm:1468 msgid "Ne_w" msgstr "" #: gschem/lib/system-gschemrc.scm:1470 msgid "_Close" msgstr "_Zapri" #: gschem/lib/system-gschemrc.scm:1472 msgid "_Discard" msgstr "" #: gschem/lib/system-gschemrc.scm:1478 msgid "_Component..." msgstr "" #: gschem/lib/system-gschemrc.scm:1479 msgid "_Net" msgstr "" #: gschem/lib/system-gschemrc.scm:1480 msgid "B_us" msgstr "" #: gschem/lib/system-gschemrc.scm:1481 msgid "_Attribute..." msgstr "" #: gschem/lib/system-gschemrc.scm:1482 msgid "_Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1484 msgid "_Line" msgstr "" #: gschem/lib/system-gschemrc.scm:1485 msgid "_Box" msgstr "" #: gschem/lib/system-gschemrc.scm:1486 msgid "C_ircle" msgstr "" #: gschem/lib/system-gschemrc.scm:1487 msgid "A_rc" msgstr "" #: gschem/lib/system-gschemrc.scm:1488 msgid "_Pin" msgstr "" #: gschem/lib/system-gschemrc.scm:1489 msgid "Pictu_re..." msgstr "" #: gschem/lib/system-gschemrc.scm:1495 msgid "_Down Schematic" msgstr "" #: gschem/lib/system-gschemrc.scm:1496 msgid "Down _Symbol" msgstr "" #: gschem/lib/system-gschemrc.scm:1497 msgid "_Up" msgstr "" #: gschem/lib/system-gschemrc.scm:1498 msgid "D_ocumentation..." msgstr "" #: gschem/lib/system-gschemrc.scm:1504 msgid "_Attach" msgstr "" #: gschem/lib/system-gschemrc.scm:1505 msgid "_Detach" msgstr "" #: gschem/lib/system-gschemrc.scm:1506 msgid "Show _Value" msgstr "" #: gschem/lib/system-gschemrc.scm:1507 msgid "Show _Name" msgstr "" #: gschem/lib/system-gschemrc.scm:1508 msgid "Show _Both" msgstr "" #: gschem/lib/system-gschemrc.scm:1509 msgid "_Toggle Visibility" msgstr "" #: gschem/lib/system-gschemrc.scm:1511 msgid "_Find Specific Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1512 msgid "_Hide Specific Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1513 msgid "_Show Specific Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1514 msgid "A_utonumber Text..." msgstr "" #: gschem/lib/system-gschemrc.scm:1520 msgid "_Text Size..." msgstr "" #: gschem/lib/system-gschemrc.scm:1521 msgid "Cycle _grid styles" msgstr "" #: gschem/lib/system-gschemrc.scm:1522 msgid "Toggle _Snap On/Off" msgstr "" #: gschem/lib/system-gschemrc.scm:1523 msgid "Snap Grid S_pacing..." msgstr "" #: gschem/lib/system-gschemrc.scm:1524 msgid "Scale _up Grid Spacing" msgstr "" #: gschem/lib/system-gschemrc.scm:1526 msgid "Scale _down Grid Spacing" msgstr "" #: gschem/lib/system-gschemrc.scm:1528 msgid "Toggle _Outline/Box" msgstr "" #: gschem/lib/system-gschemrc.scm:1530 msgid "Toggle Net _Rubberband" msgstr "" #: gschem/lib/system-gschemrc.scm:1531 msgid "Toggle _Magnetic Net" msgstr "" #: gschem/lib/system-gschemrc.scm:1532 msgid "Show _Log Window..." msgstr "" #: gschem/lib/system-gschemrc.scm:1534 msgid "Show _Coord Window..." msgstr "" #: gschem/lib/system-gschemrc.scm:1542 msgid "gEDA Docu_mentation..." msgstr "" #: gschem/lib/system-gschemrc.scm:1543 msgid "gschem _FAQ..." msgstr "" #: gschem/lib/system-gschemrc.scm:1544 msgid "gEDA _Wiki..." msgstr "" #: gschem/lib/system-gschemrc.scm:1545 msgid "Component D_ocumentation..." msgstr "" #: gschem/lib/system-gschemrc.scm:1547 msgid "_Hotkeys..." msgstr "" #: gschem/lib/system-gschemrc.scm:1548 msgid "_About..." msgstr "" #: gschem/lib/system-gschemrc.scm:1554 msgid "_File" msgstr "_Datoteka" #: gschem/lib/system-gschemrc.scm:1555 msgid "_Edit" msgstr "_Uredi" #: gschem/lib/system-gschemrc.scm:1556 msgid "_Buffer" msgstr "" #: gschem/lib/system-gschemrc.scm:1557 msgid "_View" msgstr "" #: gschem/lib/system-gschemrc.scm:1558 msgid "_Page" msgstr "" #: gschem/lib/system-gschemrc.scm:1559 msgid "_Add" msgstr "" #: gschem/lib/system-gschemrc.scm:1560 msgid "Hie_rarchy" msgstr "" #: gschem/lib/system-gschemrc.scm:1561 msgid "A_ttributes" msgstr "" #: gschem/lib/system-gschemrc.scm:1562 msgid "_Options" msgstr "" #: gschem/lib/system-gschemrc.scm:1563 msgid "_Help" msgstr "" #: gschem/scheme/gschem/deprecated.scm:102 #, scheme-format msgid "Invalid text alignment ~A." msgstr "" #: gschem/scheme/gschem/gschemdoc.scm:225 msgid "No documentation found" msgstr "" #: gschem/scheme/gschem/keymap.scm:38 #, scheme-format msgid "~S is not a valid key combination." msgstr "" #: gschem/scheme/gschem/keymap.scm:153 #, scheme-format msgid "~S is not a prefix key sequence." msgstr "" geda-gaf-1.8.2/gschem/po/he.gmo0000664000175000017500000000723312220655645013100 00000000000000FLa|   #'+ 2= F P \ h t         "-2G L Xbuy}         #6>RWqx{          " 2 B R b r          $ > I W g        # 1 F V d #v  ' )  1H\e ny  D8E F% &6- )<A*3 ?B$:=+,./!(#'"1;2@407C95>A_ttributesArcAttachAttributesBoxBusCircleClose PageColor...Copy ModeCopy into 1Copy into 2Copy into 3Copy into 4Copy into 5Cut into 1Cut into 2Cut into 3Cut into 4Cut into 5DeleteDetachEditEdit Text...Edit...Embed Component/PictureExecute Script...Fill Type...Hie_rarchyLineLine Width & Type...LockMirror ModeMove ModeMultiple Copy ModeNetNewNew PageNew WindowOpen Page...PanPaste from 1Paste from 2Paste from 3Paste from 4Paste from 5PinPrint...RedoRotate 90 ModeSave AllSave PageSelect ModeShow/Hide Inv TextSlot...Symbol Translate...UndoUnembed Component/PictureUnlockUpdate ComponentWrite image...Zoom Box_Add_Buffer_Edit_File_Options_Page_ViewProject-Id-Version: geda Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2012-01-27 14:23+0000 Last-Translator: FULL NAME Language-Team: gEDA developers Language: he MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) מאפייניםקשתצרףמאפייניםמרובעאפיקמעגלסגור דףצבע...מצב העתקההעתק אל 1העתק אל 2העתק אל 3העתק אל 4העתק אל 5גזור אל 1גזור אל 2גזור אל 3גזור אל 4גזור אל 5מחקנתקעריכהערוך טקסטערוך...שבץ רכיב/תמונהבצע תסריט...צורת מילוי...היררכיהקוסוג ורוחב קו...נעילהמצב ראימצב הזזהמצב העתקה מרובהחיבורחדשדף חדשחלון חדשפתח דף...עבורהדבק מ-1הדבק מ-2הדבק מ-3הדבק מ-4הדבק מ-5פיןהדפס...בצע שובמצב סיבוב 90שמור הכלשמור דףמצב בחירההראה/הסתר טקסט חבויחריץ...תרגם סמל...בטל את הפעולה האחרונהשחרר משיבוץ רכיב/תמונהשחרר נעילהעדכן רכיבכתוב תמונה...תיבת תקריבהוסףחוצץעריכהקובץהגדרותדףהצגgeda-gaf-1.8.2/gschem/po/af.gmo0000664000175000017500000005716512220655644013102 00000000000000l 0! 1!=!O!X!j! s!}!!! !!!!! ! !! !!""/" >"K"_"v" U# a#n#(u#$# # # ## ###$ $ $ $ '$ 1$><${$ $$$$$>$$'%6%=%E% L% X%c% s%% %%%% %% %%%%%%%% % & & & ,& 8& D&e&(&3&!&&='R' a'n't'z''' ' ' ' ' '5' ' ((&(@(R( Y(e(l( u((( (/("(())&)5) L)V) k)x)))))) ))E*F*a*s******"* +(+.+ 7+ D+O+V+ ^+h+/q+4+/+/,!6, X, b,o,u,, ,, ,,=, "---'4-\-3n---*-&-.".<Q.3.,.&.&/%=/ c/ p/ z/ // // /// / / / 00 0 0 .0;0 B0N0 S0 ]0k0~00000000 0000001;1?1V1 o1#}11 1 11 1112 2 2$2 -2;2C2K2S2[2 c2 p2 }2 2 2222 22222'2 333"'3J3c3h3w33 33/3 333 44(4(84a4f4 o4 y4 4244 4 44 445 5!5<5W5^5 r5~5 555 5555 5 66)6B6U6 [6f6l6r666666(6606 .7 :7G7X7_7f7z77 7 7 7 7J7R8 U8 c8m8?8"8<8,92979K9S9m99 999 9 9 9:: :: :!:):9:H:O:U:.d:$:::&::::;; ;&;/;5;;;A;GX;;M;<&!<H<M<6i<<=<.</=C= >? ?&? 9? F?T? ]?g? }????? ? ?? ???? @ "@0@B@X@ PA [A fA*pA)AAAAA AB BB B B/B7B @BBKBB BB BBBEBC36CjC sC}C C CC CCCCCC CC C DD D &D 0D :D DD ND[DkD{DDD%DD.D5 E,VE!E8EEEEF FFF F 'F 3F ?F KFIWF F FF#FFF GG G G0G FG QG0[G#GGGGGG HH)H8HKH _HiHpH%HHHMH"+INIaI}IIIII-I (J2J 9JCJKJTJ ZJ eJoJEwJ<J6J61K'hK KKK!KK KL !L+LD/LtL L,LL8L6M3?M/sM2MAM9N1RN+N+N%N OOO &O1O5O>O SO]OzO O O OOO O O O OOO PP"P;P=PBP HPRP[PaP fP rPP PPPP!PQQ*QCQ*RQ}QQQQ QQQQQ RR ,R:RARHRORVR ]R kR yR R RRR RRRRRR'RSS!S-)S"WSzSSSS SS-ST"T)T 9TETUT/eTT T T T TFTU U ,U9UIU]U|U UUUUU UU UU VV/VBVRV bVlV~VVVV VVVVVWW!W=W2FWyW$WW WWW WWWXX X %X1XlBXJX XY#YG3Y-{Y?YY YY Z'ZGZ"eZ!ZZZZ ZZZZZZ Z[[[&[-[5[5I[.[ [ [,[[[\\%\+\0\7\>\E\K\L`\\M\]-8]f] k]>]]@]1^2B^'m= (* a!]^_`aPb6e;oSWOPQRS$<I/7G|XoCO wTxA8.?g_YIJKLM{ ?}}.9(~F`g4\Mjf5YDlZBXc6kh5 v~7 |bcdefH*9$h>xd,%Ep:G4))8+s3TED Nz,HN KJ<1@!2pi]"s2@+ qC &1:FZqv#y [u-ik/nB0UU'%tlWrrV0ywz3;^>"Qm #\L[=jV-A&tnRu{*unchanged*/Add Attribute.../Add Bus/Add Component.../Add Net/Add Text/Copy/Delete/Down Schematic/Down Symbol/Edit.../Move/Select/Up/Zoom Box/Zoom Extents/Zoom In/Zoom OutAdd AttributeAttach OptionsEdit AttributeOptionsScopeText ContentText PropertiesThe input attribute "%s" is invalid Please correct in order to continue The name and value must be non-empty. The name cannot end with a space. The value cannot start with a space.A_ttributesAbout gschemActionAction feedback mode set to BOUNDINGBOX Action feedback mode set to OUTLINE Add AttributeAdd Text...Alignment:AllAll filesAngle 1:Angle 2:ArcArc ModeArc ParamsAttachAttributeAttributesAttributes with empty name are not allowed. Please set a name.Automatic slottingBottom to topBoxBox ModeBusBus ModeBus ripper symbol [%s] was not found in any component library Cannot find source [%s] Cannot print current schematic to [%s] CenterChangedCircleCircle ModeClose PageClosing Window Closing [%s] ColorColor EditColor...Color:Command:ComponentComponent ModeComponentsCoordsCopyCopy 1Copy 2Copy 3Copy 4Copy 5Copy ModeCopy into 1Copy into 2Copy into 3Copy into 4Copy into 5Could NOT save backup file [%s] Could NOT save page [%s] Could NOT set backup file [%s] readonly Could NOT set previous backup file [%s] read-write Could not allocate the color %s! Couldn't allocate gc Create and edit electrical schematics and symbols with gschemCurrent WindowCurrent pageCut 1Cut 2Cut 3Cut 4Cut 5Cut into 1Cut into 2Cut into 3Cut into 4Cut into 5DOH! tried to find the whichone, but didn't find it! Dash Length:Dash Space:DashedDefault behavior - reference componentDegrees of Sweep:DeleteDestinationDetachDiagonalDiscard PageDiscarding page [%s] DottedDuplicateERROR: NULL object in color_edit_dialog_apply! ERROR: NULL object in o_move_end! ERROR: NULL object! EditEdit AttributesEdit Fill TypeEdit Line Width & TypeEdit TextEdit Text PropertiesEdit Text...Edit slot numberEdit slot number:Edit...EmbedEmbed Component/PictureEmbed component in schematicEmpty bufferEnter new text size:Error printing to file '%s' Check the log window for more informationError while trying to saveExecute Script...Executing guile script [%s] Extents no marginsExtents with marginsFailed to Save AllFailed to load fileFailed to load picture: %sFailed to read init scm file [%s] File orderFile:FilenameFill Type...Fill Type:FilledFilter:Find TextFunctionGot a non line object in o_move_check_endpoint Got an invalid buffer_number [o_buffer_paste_start] Got an invalid which one in o_bus_draw_stretch Got an invalid which one in o_net_draw_stretch Got an unexpected NULL in o_edit Grid OFF Grid(%s, %s)HatchHidden text is now invisible Hidden text is now visible Hide TextHide text starting with:Hie_rarchyHollowIf you don't save, all your changes will be permanently lost.Image typeIn UseInclude component as individual objectsInvalid AttributeInvalid dot size [%d] passed to dots-grid-dot-size Invalid gain [%d] passed to keyboardpan-gain Invalid gain [%d] passed to mousepan-gain Invalid gain [%d] passed to zoom-gain Invalid num levels [%d] passed to undo-levels Invalid number of seconds [%d] passed to auto-save-interval Invalid offset [%d] passed to add-attribute-offset Invalid size [%d] passed to bus-ripper-size Invalid size [%d] passed to snap-size Invalid size [%d] passed to text-size Invalid zoomfactor [%d] passed to %s Keystroke(s)LandscapeLeft to rightLibrariesLineLine ModeLine Width & Type...Line Width:Loading schematic [%s] LockLower LeftLower MiddleLower RightMenu/CancelMeshMiddle LeftMiddle MiddleMiddle RightMirrorMirror ModeMoveMove ModeMultiple CopyMultiple Copy ModeNNameName:NetNet ModeNetsNewNew PageNew WindowNew Window created [%s] New fileNew file [%s] New page created [%s] New slot number out of range No print destination specified OFFObject already locked Object already unlocked Object color:Offset to translate? (0 for origin)OpenOpen Page...Open file...Open...Orientation:Output paper size:Overwrite existing numbersOverwrite file?Page ManagerPanPan ModePaste %d ModePaste 1Paste 2Paste 3Paste 4Paste 5Paste from 1Paste from 2Paste from 3Paste from 4Paste from 5PhantomPickPicturePicture ModePinPin ModePitch 1:Pitch 2:Popup_menu_item_factory doesn't exist! PortraitPreviewPrint...Printed current schematic to [%s] Read init scm file [%s] RedoRedo last undoRemove numbersRepeat/Repeat/noneReplace existing attributesRight click on the filename for more options...Right to leftRotateRotate 90 ModeRotate ModeRubber band OFF Rubber band ON S_elect the schematics you want to save:SaveSave AllSave PageSave as...Save fileSave the changes to schematic "%s" before closing?SavedSaved AllSaved [%s] Saved as [%s] SchematicsSchematics and symbolsScreenSearch for:Searching for source [%s] Searching for symbol [%s] SelectSelect Component...Select ModeSelect PostScript Filename...Select modeSelect objs firstSettingsShow HiddenShow Name & ValueShow Name OnlyShow Name onlyShow TextShow Value OnlyShow Value onlyShow text starting with:Show/Hide Inv TextShowBShowHiddenShowNShowVSingle Attribute EditorSize:Skip numbers found in:SlotSlot attribute malformed Slot...Slotting not allowed for this component SolidSorry but this is a non-functioning menu option Sort order:Start Angle:Starting number:StatusStrokeSymbol Translate...SymbolsTextText Entry...Text ModeText SizeText to find:There are %d schematics with unsaved changes. Save changes before closing?There was the following error when saving image with type %s to filename: %s %s. Top to bottomTranslateTranslating schematic [%d %d] Tried to add more than two bus rippers. Internal gschem error. Tried to get an invalid color: %d Tried to set the sensitivity on non-existent menu item '%s' Type:UndoUndo last operationUnembedUnembed Component/PictureUnknown end for line (%d) Unknown type for box (fill)! Unknown type for circle (fill)! UnlockUpdate ComponentUpper LeftUpper MiddleUpper RightVValueValue:Vis?VisToggleVisibleWhole hierarchyWidth x HeightWidth:WorldWrite image...Wrote black and white image to [%s] [%d x %d] Wrote color image to [%s] [%d x %d] Zoom BoxZoom boxZoom too small! Cannot zoom further. _Add_Buffer_Close without saving_Edit_File_Help_Options_Page_Viewblackdescend into hierarchyduplicate slot may cause problems: [symbolname=%s, number=%d, slot=%d] gEDA Schematic EditorgEDA/gschem comes with ABSOLUTELY NO WARRANTY; see COPYING for more details. gEDA/gschem version %s%s.%s gEDA: GPL Electronic Design Automationnonenumslots attribute missing o_autosave_backups: Can't get the real filename of %s.whitex_image_lowlevel: Unable to get pixbuf from gschem's window. x_image_lowlevel: Unable to write %s file %s. x_image_lowlevel: Unable to write eps file %s. Project-Id-Version: geda-gschem Report-Msgid-Bugs-To: geda-bug@seul.org POT-Creation-Date: 2013-09-25 22:20+0100 PO-Revision-Date: 2010-02-14 01:03+0000 Last-Translator: Bernd Jendrissek Language-Team: gEDA developers Language: af MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2010-02-14 12:56+0000 X-Generator: Launchpad (build Unknown) *onveranderd*/Voeg Eienskap By/Voeg Bus By/Voeg Komponent By/Voeg Net By/Voeg Teks By/Kopieer/Verwyder/Stroombaandiagram Af/Simbool Af/Bewerk/Skuif/Kies/Op/Zoem Reghoek/Zoem Uitmate/Zoem In/Zoem UitVoeg Eienskap ByAAnhegopsiesBewerk EienskapOpsiesBestekTeksinhoudTekseienskappeDie ingevoerde eienskap "%s" is ongeldig Verbeter asseblief om voort te gaan Die naam en waarde mag nie leeg wees nie. Die naam mag nie met 'n spasie eindig nie. Die waarde mag nie met 'n spasie begin nie.EienskappeOor gschemHandelingHandelingsterugvoermodus na OMTREKREGHOEK Handelingsterugvoermodus na SKETS gestel Voeg Eienskap ByVoeg Teks By...Sporing:AllesAlle lêersHoek 1:Hoek 2:BoogBoogmodusBoogparametersHeg aanEienskapEienskappeEienskappe met 'n leë naam word verbied. Kies asseblief 'n naam.Outomatiese begleuwingOnder tot boReghoekReghoekmodusBusBusmodusBusrippersimbool [%s] is nie in enige komponentbiblioteek gevind nie Kan nie bron [%s] vind nie Kan nie huidige stroombaandiagram na [%s] druk nie SentreerVeranderdSirkelSirkelmodusSluit BladsySluit Venster Sluit [%s] KleurKleurbewerkingKleur...Kleur:Opdrag:KomponentKomponentmodusKomponenteKoordinateKopieerKopieer 1Kopieer 2Kopieer 3Kopieer 4Kopieer 5KopieermodusKopieer in 1 inKopieer in 2 inKopieer in 3 inKopieer in 4 inKopieer in 5 inKon NIE bestandlêer [%s] bewaar nie Kon nie bladsy [%s] bewaar nie Kon NIE bestandlêer [%s] lees-slegs stel nie Kon NIE vorige bestandlêer [%s] lees-skryf stel nie Kon nie aanspraak maak op die kleur %s nie! Kon nie aanspraak maak op gc nie Skep en bewerk stroombaandiagramme en simbole met gschemHuidige VensterLopende bladsySny 1Sny 2Sny 3Sny 4Sny 5Sny in 1 inSny in 2 inSny in 3 inSny in 4 inSny in 5 inBLIKSEM! Het probeer om die whichone te vind, maar kon dit nie kry nie! StreeplengteStreepspasieGebrokeVerstekgedrag - verwys na komponentGrade van Kromming:VerwyderBestemmingHeg afDiagonaalWerp Bladsy WegWerp bladsy [%s] weg GestippeldDupliseerFOUT: NULL voorwerp in color_edit_dialog_apply! FOUT: NULL voorwerp in o_move_end! FOUT: NULL voorwerp! BewerkBewerk EienskappeBewerk VultipeBewerk Lynwyddte & -stylBewerk TeksBewerk TekseienskappeBewerk Teks...Bewerk gleufnommerBewerk gleufnommer:Bewerk...Lê InLê Komponent/Afbeelding InLê komponent in stroombaandiagram inMaak buffer leegGee nuwe teksgrootte aan:Fout gedurende lêerdruk na '%s' Ondersoek die log-venster vir meer inligtingFout gedurende poging om te bewaarVoer Script Uit...Voer guile script [%s] uit Uitmate sonder kantlynUitmate met kantlynMisluk om alles te bewaarMisluk om lêer te laaiKon nie afbeelding laai nie: %sHet misluk of scm-aanvangslêer [%s] te lees LêerordeLêer:LêernaamVultipeVultipe:GevulDeursyfer:Vind TeksFunksieHet 'n voorwerp wat nie 'n lyn is nie in o_move_check_endpoint gekry Het 'n ongeldige buffer_number gekry [o_buffer_paste_start] Het 'n ongeldige whichone in o_bus_draw_stretch gekry Het 'n ongeldige whichone in o_net_draw_stretch gekry Het 'n onverwagte NULL in o_edit gekry Rooster AF Rooster(%s, %s)ArseerVerskuilde teks is nou onsigbaar Verskuilde teks is nou sigbaar Verskuil TeksVerskuil teks beginnende met:HierargieHolAs jy nie bewaar nie, sal al jou veranderinge permanent verloregaan.AfbeeldingsoortIn GebruikSluit komponent as afsonderlike voorwerpe inOngeldige EienskapOngeldige puntgrootte [%d] gegee aan dots-grid-dot-size Ongeldige versterking [%d] gegee aan keyboardpan-gain Ongeldige versterking [%d] gegee aan mousepan-gain Ongeldige versterking [%d] gegee aan zoom-gain Ongeldige getal vlakke [%d] gegee aan undo-levels Ongeldige hoeveelheid sekondes [%d] gegee aan auto-save-interval Ongeldige verkuiwing [%d] gegee aan add-attribute-offset Ongeldige grootte [%d] gegee aan bus-ripper-size Ongeldige grootte [%d] aan snap-size gegee Ongeldige grootte [%d] gegee aan text-size Ongeldige zoemmaat [%d] aan %s gegee SleutelslaeLandskapLinks tot regsBibliotekeLynLynmodusLynwydte en -tipe...Lynwydte:Laai stroombaandiagram [%s] SluitLinks OnderMiddel OnderRegs OnderMenu/KanselleerRoosterMiddel LinksMiddel MiddelMiddel RegsWeerkaatsWeerkaatsmodusBeweegSkuifmodusVeelvoudige KopieerMeervoudige KopieermodusNNaamNaam:SkakelingNetmodusNetteNuweNuwe BladsyNuwe VensterNuwe Venster geskep [%s] Nuwe lêerNuwe lêer [%s] Nuwe bladsy geskep [%s] Nuwe gleufnommer buite bereik Geen drukbestemming aangegee nie AFVoorwerp klaar gesluit Voorwerp klaar ontsluit Voorwerpkleur:Afwyking om te verskuif? (0 vir oorsprong)Maak OopMaak Bladsy Oop...Maak lêer oop...Open...OrientasieUitset-papiergrootte:Vervang bestaande nommersVervang lêer?BladsybestuurderSkuif AansigAansigskuifmodusPlak %d ModusPlak 1Plak 2Plak 3Plak 4Plak 5Plak vanuit 1Plak vanuit 2Plak vanuit 3Plak vanuit 4Plak vanuit 5SpookKiesAfbeeldingAfbeeldingmodusPenPenmodusSteek 1:Steek 2:popup_menu artikelfabriek bestaan nie! PortretVoorskouDruk...Het lopende stroombaandiagram na [%s] gedruk Het scm-aanvangslêer [%s] gelees HerstelHerhaal laas-ongedane handelingVerwyder syfersHerhaal/Herhaal/geenVervang bestaande eienskappeRegs-klik op die lêernaam vir meer opsies...Regs tot linksRoteerRoteer-90-modusRoteermodusRubberband AF Rubberband AAN Kies die stroombaandiagramme wat jy wil bewaar:BewaarBewaar AllesBewaar BladsyBewaar as...Bewaar lêerWil jy veranderinge aan stroombaandiagram "%s" bewaar voor jy afsluit?BewaarAlles BewaarBewaar [%s] Bewaar as [%s] StroombaandiagrammeStroombaandiagramme en simboleSkermSoek vir:Soek vir bron [%s] Soek vir simbool [%s] KiesKies Komponent...UitsoekmodusKies PostScript LêernaamKiesmodusKies eers voorwerpeInstellingeToon VerskuildeToon Naam & WaardeToon Slegs NaamToon slegs naamToon TeksToon Slegs WaardeToon slegs waardeToon Teks beginnende met:Toon/Verberg Onsigbare TeksToonBToonVerskuilToonNToonWEnkeleienskap-BewerkerGrootte:Slaan nommers oor in:Gleuf"slot" eienskap is misvorm Gleuf...Gleuwe is nie toegelaat vir hierdie komponent nie SoliedJammer, maar hierdie opsie werk nie Rangskikkingsorde:Beginhoek:Begin by nommer:StandWyserslagSimboolverskuiwing...SimboleTeksTeksaantekening...TeksmoduesTeksgrootteTeks om te vind:Daar is %d stroombaandiagramme met onbewaarde veranderinge. Wil jy die veranderinge bewaar voor jy afsluit?Die volgende fout het gebeur gedurende die bewaring van %s-lêer: %s %s. Bo to onderVerskuifVerskuif stroombaandiagram [%d %d] Het probeer om meer as twee busrippers bytevoeg. Interne gschem fout. Het probeer om 'n ongeldige kleur te kry: %d Het probeer om gevoeligheid op nie-bestaande menu-artikel '%s' Styl:Maak OngedaanMaak laaste handeling ongedaanOnt-lê InOnt-lê Komponent/Afbeelding InOnbekende einde vir lyn (%d) Onbekende tipe vir reghoek (vul)! Onbekende tipe vir sirkel (vul)! OntsluitVernuwe KomponentLinks BoMiddel BoRegs BoWWaardeWaarde:Sig?SigSkakelSigbaarHele hierargieWydte x HoogteWydte:WêreldSkryf afbeelding...Het swart-en-witafbeelding na [%s] [%d x %d] geskryf Het kleurafbeelding na [%s] [%d x %d] geskryf Zoem ReghoekZoem ReghoekZoem is te klein! Kan nie verder zoem nie. Voeg ByBufferSluit sonder om te bewaarBewerkLêerHelpOpsiesBladsyAansigswartdaal in hierargie afduplikaatgleuf mag probleme veroorsaak: [symbolname=%s, number=%d, slot=%d] gEDA Stroombaandiagram BewerkergEDA/gschem comes with ABSOLUTELY NO WARRANTY; see COPYING for more details. gEDA/gschem uitgawe %s%s.%s gEDA: GPL Elektroniese Ontwerp Outomatiseringgeen"numslots" eienskap bestaan nie o_autosave_backups: Kan nie die egte lêernaam van %s kry nie.witx_image_lowlevel: Kon nie pixbuf van gschem se venster kry nie. x_image_lowlevel: Kon nie %s-lêer %s skryf nie. x_image_lowlevel: Kon nie eps-lêer %s skryf nie. geda-gaf-1.8.2/gschem/bitmap/0000775000175000017500000000000012220655752012710 500000000000000geda-gaf-1.8.2/gschem/bitmap/gschem-copy.xpm0000664000175000017500000000136712050461155015574 00000000000000/* XPM */ static char * gschem_copy_xpm[] = { "24 24 2 1", " c None", ". c #000000", " ", " ", " .. .. ", " . . . . ", " . . . . ", " . . . . ", " . . . . ", " . . . . ", " . . . . ", " . . . . . ", " . . .. . . ", " . .......... . ", " . . .. . . ", " . . . . . ", " . . . . ", " . . . . ", " . . . . ", " . . . . ", " . . . . ", " . . . . ", " . . . . ", " .. .. ", " ", " "}; geda-gaf-1.8.2/gschem/bitmap/gschem-edit.xpm0000664000175000017500000000136712050461155015547 00000000000000/* XPM */ static char * gschem_edit_xpm[] = { "24 24 2 1", " c None", ". c #000000", " ", " ", " ", " ", " ", " ", " ", " ", " ", " .. . . ", " . . ", " .. .. .. .... ", " ... . . . . ", " . . . . . . ", " .. . . ... .. ", " ", " ", " ", " ", " ", " ", " ", " ", " "}; geda-gaf-1.8.2/gschem/bitmap/gschem-diagonal.png0000664000175000017500000000144012050461155016350 00000000000000PNG  IHDR szzsBIT|d pHYsvv}ՂtEXtSoftwarewww.inkscape.org<IDATXMWU34T椩3'&+lc$ @0!-Z)hDE;-ZDP1* Z$hM }?sϟo/89ysSUϘ$O'y/ɛ-$ے|xwz$,$؋} lÎ~4fp`nno%pޡkp i}%S[&j 4S>~Jd?C GDzfET ih=x? <˛'X5Fߜ큥 lUxC׌ )MXt'1g-Hf~u/9n۪~o?{WN q*o'0!&շaV?L`'p /O"poqF8zzA=r黪w vש$5^Ij ~׏ 7_`OވSŏp4 qG0/?PU.A,V՟ U#ɧI'ؐW?4rF]w ~l _u8cvjCy~~#]Ȓi##˝8PϷ_t?8vtU=2@`^ ٪Zl:Ә/UKmPo:ْ?PUK[\rEIENDB`geda-gaf-1.8.2/gschem/bitmap/gschem-new.xpm0000664000175000017500000000401412050461155015403 00000000000000/* XPM */ static char * tb_new_xpm[] = { "24 24 89 1", " c None", ". c #000000", "+ c #ADAD9C", "@ c #959585", "# c #DCDCC5", "$ c #DFDFC8", "% c #242424", "& c #A7A796", "* c #D7D7C1", "= c #D9D9C3", "- c #DCDCC4", "; c #DDDDC7", "> c #E1E1CA", ", c #A6A694", "' c #D6D6BF", ") c #D8D8C2", "! c #DBDBC4", "~ c #DFDFC7", "{ c #E3E3CB", "] c #B2B29F", "^ c #7C7C7C", "/ c #646464", "( c #D5D5BD", "_ c #D5D5BF", ": c #D7D7C0", "< c #DADAC3", "[ c #DEDEC6", "} c #E1E1C9", "| c #E5E5CD", "1 c #E9E9D1", "2 c #343434", "3 c #E7E7E7", "4 c #373736", "5 c #B8B8A6", "6 c #D3D3BC", "7 c #D9D9C2", "8 c #DDDDC5", "9 c #E0E0C8", "0 c #E8E8D0", "a c #ECECD4", "b c #EEEED5", "c c #ECECEC", "d c #EDEDED", "e c #3D3D37", "f c #CECEB7", "g c #E6E6CE", "h c #EAEAD2", "i c #F1F1D8", "j c #A5A594", "k c #EEEEE5", "l c #3C3C3C", "m c #8F8F80", "n c #D0D0B9", "o c #E4E4CB", "p c #EAEAD1", "q c #ECECD3", "r c #EFEFD6", "s c #F2F2D9", "t c #F3F3DA", "u c #EEEEE6", "v c #505050", "w c #929282", "x c #D1D1B9", "y c #E7E7CF", "z c #EBEBD2", "A c #F4F4DB", "B c #F5F5DC", "C c #969686", "D c #D2D2BC", "E c #E0E0C9", "F c #E9E9D0", "G c #EDEDD4", "H c #F0F0D7", "I c #BEBEAB", "J c #797973", "K c #D8D8C1", "L c #DDDDC6", "M c #98988F", "N c #E4E4CC", "O c #818174", "P c #E2E2CA", "Q c #BEBEAE", "R c #4E4E4E", "S c #828274", "T c #EBEBD3", "U c #BBBBA8", "V c #CDCDB8", "W c #4D4D45", "X c #A6A696", " ", " ", " . ", " ..+. ", " ..@#$% ", " ..&*=-;>. ", " ..,'**)!~{]. ", " .^/'(_:<[}|12 ", " .3456*789|0ab. ", " .cdef_!9g0hbij. ", " .kklmn9opqrist. ", " .uvwx-}yzbittAB. ", " ..CD!E{FGHtAABBI. ", " .JK7L>ypbitBBBBB). ", " .M!#$NyzbitBBBBBO. ", " .~9P|1qrsABBBB.. ", " .Q||0hGHtABB<. ", " R01hGrstAsS. ", " .TaGriss<. ", " .rHis1j. ", " .UstVW. ", " .tX. ", " .. ", " "}; geda-gaf-1.8.2/gschem/bitmap/Makefile.am0000664000175000017500000000336112063576065014673 00000000000000 bitmapdatadir = $(GEDADATADIR)/bitmap bitmapdata_DATA = \ gschem-about-logo.png \ gschem-bus.xpm \ gschem-comp.xpm \ gschem-net.xpm \ gschem-new.xpm gschem-open.xpm gschem-redo.xpm \ gschem-save.xpm gschem-select.xpm gschem-undo.xpm \ gschem-edit.xpm gschem-text.xpm \ gschem-copy.xpm gschem-move.xpm gschem-delete.xpm \ gschem-rotate.xpm gschem-mirror.xpm gschem-warning.png \ gschem-bottom2top.png gschem-left2right.png \ gschem-top2bottom.png gschem-diagonal.png \ gschem-right2left.png gschem-fileorder.png \ gschem-filltype_filled.png gschem-filltype_hollow.png \ gschem-filltype_hatch.png gschem-filltype_mesh.png \ gschem-alignment_bottomcenter.png \ gschem-alignment_middleleft.png \ gschem-alignment_topright.png \ gschem-alignment_bottomleft.png \ gschem-alignment_middleright.png \ gschem-alignment_unchanged.png \ gschem-alignment_bottomright.png \ gschem-alignment_topcenter.png \ gschem-alignment_middlecenter.png \ gschem-alignment_topleft.png EXTRA_DIST = $(bitmapdata_DATA) \ README \ gschem-about-logo.xcf MOSTLYCLEANFILES = *.log *~ CLEANFILES = *.log *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log *~ Makefile.in geda-gaf-1.8.2/gschem/bitmap/gschem-text.xpm0000664000175000017500000000147412050461155015605 00000000000000/* XPM */ static char * gschem_text_xpm[] = { "24 24 5 1", " c None", ". c #6B6B6B6B6B6B", "X c #000000000000", "o c #000050500000", "O c #00008B8B0000", " ", " ", " ", " ", " X ", " .X ", " oOOOOOOOO .X ", " oOOoOOoOO .X ", " oOooOOooO .X ", " oo oOO oo .X ", " oOO .X ", " oOO .X ", " oOO .X ", " oOO .X ", " oOO .X ", " oOOOO .X ", " ooooo .X ", " .X ", " . ", " ", " ", " ", " ", " "}; geda-gaf-1.8.2/gschem/bitmap/gschem-fileorder.png0000664000175000017500000000050612050461155016547 00000000000000PNG  IHDR szzbKGD pHYsvv}ՂtIME 2oIDATX; A ?X x+O$xOTl Z++DXu  aN.;3.vޥ{J(zVWyL#p@U`?l|sԀ#V-d\1Yy+v2Q+hX:+iR}Bo@WC@' @Ϟ_0~;]#geIENDB`geda-gaf-1.8.2/gschem/bitmap/gschem-undo.xpm0000664000175000017500000000151512050461155015562 00000000000000/* XPM */ static char * tb_undo_xpm[] = { "24 24 8 1", " c None", ". c #000000", "+ c #8F431E", "@ c #803C1B", "# c #8A411D", "$ c #954620", "% c #733618", "& c #5C2B13", " ", " ", " ", " ", " ", " ", " . ", " .. ", " .+@... ", " .#$##@%.. ", " .+#...%%. ", " .. .&. ", " . .&. ", " .. ", " .. ", " . ", " . ", " ", " ", " ", " ", " ", " ", " "}; geda-gaf-1.8.2/gschem/bitmap/gschem-bus.xpm0000664000175000017500000000144612050461155015411 00000000000000/* XPM */ static char * gschem_bus_xpm[] = { "24 24 4 1", " c None", ". c #00008B8B0000", "X c #000050500000", "o c #000000000000", " ", " ", " .................... ", " X.................... ", " X..XXXXXXXXXXXXXXXXX ", " X.. ", " X.. ", " X.. ", " X..o ", " X.. o ", " X.. o o o o o o o o ", " X..o ", " X.. o ", " X.. o o o o o o o o ", " X..o ", " X.. o ", " X.. o o o o o o o o ", " X.. ", " X.. ", " X.. ", " X.. ", " XX ", " ", " "}; geda-gaf-1.8.2/gschem/bitmap/gschem-alignment_bottomleft.png0000664000175000017500000000053012050461155021006 00000000000000PNG  IHDR szzIDATX DgzĖ7Ş6EYx"lqE‡_Z{2$gNWeCd|mO`0&p*fd/HC |ϚY . s}m.hMUA?oς~%^Whzpp#VzHO$553Q>At XaڈʜpÖHT;%ob=\"eBԵ;0S?g]z-?E]NVp-%.lAkh&ɥI,𫾯;]pIENDB`geda-gaf-1.8.2/gschem/bitmap/gschem-bottom2top.png0000664000175000017500000000130412050461155016702 00000000000000PNG  IHDR szzsBIT|d pHYsvv}ՂtEXtSoftwarewww.inkscape.org<AIDATXϋUPpC-0iR"$Zn aiThB5A,9̼x={󤪬'dW3I~H8R\Yo tkW*qO[qƛ ,b  _aWU]Y4oo伉p~ٻXHIYES%f381+Wv6^IGϫ_sjkH*P,q䏅5‘=`` d]Ŷ_ G`_#o1 LA=s[J*Q4!:eev'ܓn E)K|61osZ0 iA[y3L'.hS%Nxؐo; op\,L,dф{ I)Y@o>+Ņd`v/Jׁ*mOϻ:y" 8'fzW".o`|ښJuj hŝSXpLPǾ.,Bb,h SVX cP|VNw|o V̾Rj˭--jABSKIc9sh%ɟUp^(a让 TXZ`o"'6Qj9I+9;V^r 7"ȥk![lY-4;/[[[k:#ZѦT<.n9ZAуέ2nN),hw{xdd~p1WΈ0j* |`},FSFl+ UƦ14(ݯ5/J@r^f&E{KJ.9ft큅Z8GkHıv˷UWv^߹Eݯf*v?BKa%\\'T{5'~yrN1˯V>frZjM"?0vsF/Yjw 7n~eGH/TE茻-{bCZjMFFCknFP 1!P^lž4ivG?v 7<;1+(z%u:L/J Xg-MEub8JՍ-<.w?m&R=K$XJY+mz:cZiuE2BkǍ,Kt͚_ 4MZM@9 =L`"A<.u< ED'rz&5ryAD@Bkbڴ1&cРj"LKV!{uc߀ۀ_EO"  Zw~~(&WaUU}lk@N7 |;6"IENDB`geda-gaf-1.8.2/gschem/bitmap/gschem-net.xpm0000664000175000017500000000146512050461155015407 00000000000000/* XPM */ static char * gschem_net_xpm[] = { "24 24 5 1", " c None", ". c #FFFF00000000", "o c #0000FF", "+ c #33333D3D9E9E", "@ c #A3A32E2E3131", " ", " ", " ", " ", " ... ", " ooooooooooooooooo... ", " ++++++++++++++++++... ", " @@@ ", " ooooooooooo ", " +++++++++++o ", " +o ... ", " ooooooo +ooooooo... ", " +++++++o ++++++++... ", " +o @@@ ", " +o ", " +o ... ", " +ooooooooooo... ", " ++++++++++++... ", " @@@ ", " ", " ", " ", " ", " "}; geda-gaf-1.8.2/gschem/bitmap/README0000664000175000017500000000362712050461155013511 00000000000000 gEDA GPL Electronic Design Automation ------------------------------------------------------------------------------ README for bitmaps This file describes where the various bitmaps came from and their license. AVH = Ales V. Hvezda (ahvezda@geda.seul.org) gschem-bus.xpm Created by AVH, GPL gschem-comp.xpm Created by AVH, GPL gschem-copy.xpm Created by AVH, GPL gschem-delete.xpm Created by AVH, GPL gschem-edit.xpm Created by AVH, GPL gschem-mirror.xpm Created by AVH, GPL gschem-rotate.xpm Created by AVH, GPL gschem-move.xpm Created by AVH, GPL gschem-net.xpm Created by AVH, GPL gschem-select.xpm Created by AVH, GPL gschem-text.xpm Created by AVH, GPL gschem-bottom2top.png Created by Tomaz Solc, GPL gschem-top2bottom.png Created by Tomaz Solc, GPL gschem-left2right.png Created by Tomaz Solc, GPL gschem-right2left.png Created by Tomaz Solc, GPL gschem-diagonal.png Created by Tomaz Solc, GPL This icon come from the GNOME project, and is released under the Gnu General Public License, meaning that you can use them in free software projects free of charge. gschem-warning.png From the GNOME projec. GPL All of the following XPM's were created by: tigert@gimp.org and were called tb_*.xpm. These XPM's come from the GNOME project. The license on these files is (from the webpage: http://tigert.gimp.org/gnome/gnome-stock/): Note3: The icons are released under the Gnu General Public License, meaning you can use them in free software projects free of charge. If you wish to use these for other things (or if you need other icons for your project) contact me. Note: it may take a while to answer you since I get pretty much email. gschem-new.xpm Created by tigert@gimp.org, GPL gschem-open.xpm Created by tigert@gimp.org, GPL gschem-undo.xpm Created by tigert@gimp.org, GPL gschem-redo.xpm Created by tigert@gimp.org, GPL gschem-save.xpm Created by tigert@gimp.org, GPL geda-gaf-1.8.2/gschem/bitmap/gschem-alignment_bottomcenter.png0000664000175000017500000000052712050461155021342 00000000000000PNG  IHDR szzIDATXVA! K|s7;+vh 2n(V!ojaHHW)@boIŗk3kn\O@A=$#&Z?vn/C=v?ڹXd.|v~5 +Ÿ(Г;¡GxH/$=53#q I ̰Ԉ=5dD#QizD˄{WO`~Β\,?E=NR+g+VL&E vj9:snz]IXex.˷˷n?]kC9κIENDB`geda-gaf-1.8.2/gschem/bitmap/Makefile.in0000664000175000017500000004747512220655723014714 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = gschem/bitmap DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am README ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(bitmapdatadir)" DATA = $(bitmapdata_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ bitmapdatadir = $(GEDADATADIR)/bitmap bitmapdata_DATA = \ gschem-about-logo.png \ gschem-bus.xpm \ gschem-comp.xpm \ gschem-net.xpm \ gschem-new.xpm gschem-open.xpm gschem-redo.xpm \ gschem-save.xpm gschem-select.xpm gschem-undo.xpm \ gschem-edit.xpm gschem-text.xpm \ gschem-copy.xpm gschem-move.xpm gschem-delete.xpm \ gschem-rotate.xpm gschem-mirror.xpm gschem-warning.png \ gschem-bottom2top.png gschem-left2right.png \ gschem-top2bottom.png gschem-diagonal.png \ gschem-right2left.png gschem-fileorder.png \ gschem-filltype_filled.png gschem-filltype_hollow.png \ gschem-filltype_hatch.png gschem-filltype_mesh.png \ gschem-alignment_bottomcenter.png \ gschem-alignment_middleleft.png \ gschem-alignment_topright.png \ gschem-alignment_bottomleft.png \ gschem-alignment_middleright.png \ gschem-alignment_unchanged.png \ gschem-alignment_bottomright.png \ gschem-alignment_topcenter.png \ gschem-alignment_middlecenter.png \ gschem-alignment_topleft.png EXTRA_DIST = $(bitmapdata_DATA) \ README \ gschem-about-logo.xcf MOSTLYCLEANFILES = *.log *~ CLEANFILES = *.log *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log *~ Makefile.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gschem/bitmap/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu gschem/bitmap/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-bitmapdataDATA: $(bitmapdata_DATA) @$(NORMAL_INSTALL) @list='$(bitmapdata_DATA)'; test -n "$(bitmapdatadir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(bitmapdatadir)'"; \ $(MKDIR_P) "$(DESTDIR)$(bitmapdatadir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(bitmapdatadir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(bitmapdatadir)" || exit $$?; \ done uninstall-bitmapdataDATA: @$(NORMAL_UNINSTALL) @list='$(bitmapdata_DATA)'; test -n "$(bitmapdatadir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(bitmapdatadir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(bitmapdatadir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-bitmapdataDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-bitmapdataDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-bitmapdataDATA install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am uninstall-bitmapdataDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/gschem/bitmap/gschem-filltype_hatch.png0000664000175000017500000000024112050461155017567 00000000000000PNG  IHDR szzhIDATX헱 -_%$uDx(7$RYտ5>ތ73&z*5NBhF.5TiO)hhhhh߰< d;zLIENDB`geda-gaf-1.8.2/gschem/bitmap/gschem-open.xpm0000664000175000017500000000144012050461155015553 00000000000000/* XPM */ static char * tb_open_xpm[] = { "24 24 5 1", " c None", ". c #000000", "+ c #99907B", "@ c #FFFEF7", "# c #FFFFFF", " ", " ", " ", " ", " ", " .. ", " ...++. ", " .. ...++++@@#... ", " .++..++++@@@@..++. ", " .+++++@@@@@..++++. ", " .++@@@@@..++++++. ", " .++@@@..++++++++. ", " .+@@.++++++++++. ", " .++@.++++++++++. ", " .+@.++++++++++. ", " .++.++++++++.. ", " .+.++++++.. ", " .+.+++++. ", " ..+++.. ", " ..+.. ", " .. ", " ", " ", " "}; geda-gaf-1.8.2/gschem/bitmap/gschem-alignment_topright.png0000664000175000017500000000053312050461155020472 00000000000000PNG  IHDR szz"IDATXV Kvpܽԍ@qTk (9(6bbCrFoA˂ Yt "b8̚#:fd/ 'X3k}W#&.C>v?V휬|x>|_HlR^W%=#dfP|Ծg܇}j-Cpv130mDbʜXjD#S |؊pLQ׮%w4kt9I[qPm^D\*b}O<=[|d-9IENDB`geda-gaf-1.8.2/gschem/bitmap/gschem-delete.xpm0000664000175000017500000000141012050461155016051 00000000000000/* XPM */ static char * gschem_delete_xpm[] = { "24 24 3 1", " c None", ". c #FF0000", "X c #FFFFFF", " ", " ", " ", " ", " .. ", " ...... ", " ........ ", " .. .. .. ", " .. X.. X.. ", " ........ ", " ...... ", " .... ", " . .... . ", " .. .... .. ", " .. .. .. ", " ... ... ", " ...... ", " ............ ", " ... ... ", " ", " ", " ", " ", " "}; geda-gaf-1.8.2/gschem/bitmap/gschem-about-logo.xcf0000664000175000017500000003767612063576065016675 00000000000000gimp xcf filePBBQ Unnamed#1+BABAB@BBB/B@BaUnnamedB}ADDB@ABABB/BPBlu gimp-commentCreated with GIMPgimp-image-grid(style intersections) (fgcolor (color-rgba 0.000000 0.000000 0.000000 1.000000)) (bgcolor (color-rgba 1.000000 1.000000 1.000000 1.000000)) (xspacing 32.000000) (yspacing 32.000000) (spacing-unit inches) (xoffset 0.000000) (yoffset 0.000000) (offset-unit inches) gamma0.45454999804496765 bPGPL     gimp-text-layer(text "GPL") (font "Sans") (font-size 20.000000) (font-size-unit pixels) (hinting yes) (antialias yes) (language "en-us") (base-direction ltr) (color (color-rgb 0.000000 0.000000 0.000000)) (justify left) (box-mode dynamic) (box-unit pixels) PPK[k{1Ɗ3$!&!58t6 &D /  < .  4 ' $ @    U !tB -r "uW !r   ____(A PEDA     gimp-text-layer(text "EDA") (font "Sans") (font-size 20.000000) (font-size-unit pixels) (hinting yes) (antialias yes) (language "en-us") (base-direction ltr) (color (color-rgb 0.000000 0.000000 0.000000)) (justify left) (box-mode dynamic) (box-unit pixels) P > J VP  @ P ` p   & 6ʐ3 " A|~ H? 57 <21JK zw =   `` H= @uuˏ1NR____(A PgEDA     gimp-text-layer(text "gEDA") (font "Sans Bold") (font-size 24.000000) (font-size-unit pixels) (hinting yes) (antialias yes) (language "en-us") (base-direction ltr) (color (color-rgb 0.000000 0.000000 0.000000)) (justify left) (box-mode dynamic) (box-unit pixels) 8P XlxP $4DTd` M"  N!  x   +m[ E k ( e  $ kab   nq    %  h  k go   jZ `  +n[   x(  ME Nc2m,  rx2 232ؤO%H7+*655;:43NO2KJ21 >? 0ZY0/ .i h. - ,yx,iik____(A Pproject     gimp-text-layer(text "project") (font "Sans Bold") (font-size 10.000000) (font-size-unit pixels) (hinting yes) (antialias yes) (language "en-us") (base-direction ltr) (color (color-rgb 0.627451 0.627451 0.627451)) (justify left) (box-mode dynamic) (box-unit pixels) lPP1AQaqT'''''''''''''* T'''''''''''''* T'''''''''''''* = =2"!GIUGID4m EGEGQk2$#)[ ____(A P Background     hP???P$70/6:;=>??jDvttb/sVc qBq !( 8V  U $  oQ p~{{| u}z|v8    Y! S  S %0 ?  ,n~PJ  l!%] u{{|y:99:!%] u{{9999-O 9:99:   Z/, u}{{~pBy{yB [e\ K 99 u}{{|y|)  Z |7D XjDvttb/sVc qBq !( 8V  U $  oQ p~{{| u}z|v8    Y! S  S %0 ?  ,n~PJ  l!%] u{{|yf9!89!89f9!%] u{{9999- 9f9!89!89f9   Z/, u}{{~pBy{yB [e\ K 99 u}{{|y|)  Z |7D XjDvttb/sVc qBq !( 8V  U $  oQ p~{{| u}z|v8    Y! S  S %0 ?  ,n~PJ  l!%] u{{|y`9!a$!a$`9!%] u{{9%%9-O 9`9!a$!a$`9   Z/, u}{{~pBy{yB [e\ K %% u}{{|y|)  Z |7D X99>=9:99>=9 ELZWXXWXW1BTdtLĩqAOQ!x7eP$3{P%n1O'* T(/ C4 3 ELZWXXWXX, LXX+Q!XJ@P#XPP%X> O'XTO(XH O)XJ O*XyO+XR5O,X@P-XNP-XX^P.XP.XXJP/XHP/X P/XXP0X P0X P/XXP/tXXP/DXXP.GXXP.TXXP-FXXP-FXXP,NXXP++XXP**XX P)1X P(*XX P')X P%a8XX P#{2X O!p8qX OԵf=XX OSPPO7J`pX O)XO(XO'XP%XP#X ξ!$ɢ%'ܝ ( Cj ! !Ы@#% '( ) *+5,--㳳..峳n/n/ /ⳳ0 0 /߳//.⨳.ѳ-ި-,ˮ+߳* ) (ⳳ 'ם %޳ #¡ !۽ ˹  )('%# ELZWXXWXW1BTdtLĩqAOQ!x7eP$3{P%n1O'* T(/ C4 3 ELZWXXWXX, LXX+Q!XJ@P#XPP%X> O'XTO(XH O)XJ O*XyO+XR5O,X@P-XNP-XX^P.XP.XXJP/XHP/X P/XXP0X P0X P/XXP/tXXP/DXXP.GXXP.TXXP-FXXP-FXXP,NXXP++XXP**XX P)1X P(*XX P')X P%a8XX P#{2X O!p8qX OԵf=XX OSPPO7J`pX O)XO(XO'XP%XP#XBٱx?+U8"rO$Qο#&oh((ͧ) + , ,x -- .a /b /< 0G 0c 0 1K1}1V101 111 101V1}1K0 0c 0G /< /b .a -- ,x , +)((ͧ&oh$Qο# 'bPP.0*ח+_,M /=Qdrte/# " 8<"?@" *y zL ,  8TyU+>?<> 7 )j/055F=<U5s3HX=X=X=X=X=X<X<X=X<X<X<X;X 'bPP.0*ח+_,M /=Qdrte/# " 8<"?@" *y zL ,  8TyU+>?<> 7 )j/055F=<U5s3H=====<<=<<<; 'bPP.0*ח+_,M /=Qdrte/# " 8<"?@" *y zL ,  8TyU+>?<> 7 )j/055F=<U5s3H1 11 1X=X=X=X=X=X<X<X=X<X<X<X;X S <¦ڠ ؠ堹࠰ڠؠߠţԧ)==========?S <¦ڠ ؠ堹࠰ڠؠߠţԧ)=f=8=8=f======?S <¦ڠ ؠ堹࠰ڠؠߠţԧ)=`=a=a=`======? =>=? fܰ!!!! fܯ!!!! ff "|Iy{y< K'5 8 w}}~{Cz}{Dgkv  ~ Q( "|Iy{y< K'5 8 w}}~{Cz}{Dgkv  ~ Q( "|Iy{y< K'5 8 w}}~{Cz}{Dgkv  ~ Q(R!XLXXELZWXXWXXLXELZWXXWXX!!!R!XLXXELZWXXWXXLXELZWXXWXX"rO+U8ٱx?X X;X:X:X:X9X8X8X5X0XWXX ;:::98850  X;X:X:X:X9X8X8X5X0XWXX____(A geda-gaf-1.8.2/gschem/bitmap/gschem-save.xpm0000664000175000017500000000322612050461155015554 00000000000000/* XPM */ static char * tb_save_xpm[] = { "24 24 64 1", " c None", ". c #000000", "+ c #779FA8", "@ c #495A5E", "# c #BFD1D5", "$ c #A8C1C5", "% c #E4ECED", "& c #FFFFFF", "* c #EEF3F4", "= c #E0E9EB", "- c #87AAB2", "; c #AEC4C9", "> c #F5F8F9", ", c #8BADB5", "' c #3E4D50", ") c #94B2B9", "! c #CFDCDF", "~ c #E4ECEE", "{ c #788A8D", "] c #EBF1F2", "^ c #E8EFF0", "/ c #F2F6F7", "( c #607A7F", "_ c #F0F4F5", ": c #536E75", "< c #A0BCC1", "[ c #465E63", "} c #4B575A", "| c #557278", "1 c #A4ABAD", "2 c #EAEAEA", "3 c #E4E4E4", "4 c #606364", "5 c #C6CACC", "6 c #F3F3F3", "7 c #F1F1F1", "8 c #E7E7E7", "9 c #E1E1E1", "0 c #A9B2B4", "a c #486166", "b c #34464A", "c c #729096", "d c #BCC2C3", "e c #F6F6F6", "f c #57696D", "g c #CFD8DA", "h c #DEDEDE", "i c #D8D8D8", "j c #8C9394", "k c #F2F2F2", "l c #3A474A", "m c #7EA4AC", "n c #D5DADA", "o c #E0E0E0", "p c #B4B4B4", "q c #657376", "r c #D0D5D6", "s c #E9E9E9", "t c #A7B0B2", "u c #D2D4D5", "v c #899293", "w c #484848", "x c #DDDDDD", "y c #8F9A9B", " ", " ", " ", " .. ", " ..+@. ", " ..#$%+. ", " ..#$#&*+@. ", " ..#$#&&&&=+. ", " ..-;#&&&&&&>,'. ", " .);!&&&&&&&&&~+. ", " .{)]&&&&&&&&&^+@. ", " .$=&&&&&&&/=+++. ", " .(-]&&&&_=++::+@. ", " .<=&&_=++[}|+:+. ", " .(-^=++[1234+:+@. ", " .)++:567890a+[b. ", " .c-+defg3hij+'.. ", " .)+:klmnopq.. ", " .|++rstuvw. ", " .a+:xy.. ", " ..... ", " ", " ", " "}; geda-gaf-1.8.2/gschem/bitmap/gschem-alignment_bottomright.png0000664000175000017500000000052712050461155021177 00000000000000PNG  IHDR szzIDATXVv Kv{w,{2jJ2(N!/c|aHHO)@z_b?5p 7]03$A$#&++vp!nOAk㞬 |x>gAYҿ^+R3#\zĉHS3I(>@DZ~ ?LX1'^CS<GFNIVK$Ltv.K}_IjA??h,>^ q?~&>4]?IENDB`geda-gaf-1.8.2/gschem/bitmap/gschem-alignment_middleleft.png0000664000175000017500000000053412050461155020744 00000000000000PNG  IHDR szz#IDATXV0Kp1svq6 ,6uyVX}] ;qܼmVۢK nU<VUuO,. x/_åI>Lt) bUi\YU5\exb $4l%y> ެSxpN-:߂Eݼ8v0t7 ^Km!܊#bS_Vo I.`Xp8 IENDB`geda-gaf-1.8.2/gschem/bitmap/gschem-mirror.xpm0000664000175000017500000000141012050461155016121 00000000000000/* XPM */ static char * gschem_rotate_xpm[] = { "24 24 3 1", " c None", ". c #000000", "X c #0000FF", " ", " ", " . ", " . ", " . . . ", " .. . .. ", " .. . .. ", " . . . . . ", " . . . . . ", " . . . X . . ", " . . . XX . . ", " . . XXXXXXXXX . . ", " . . . XX . . ", " . . . X . . ", " . . . . . ", " . . . . . ", " . . . . . ", " . . . . . ", " . . . . . ", " ......... . ......... ", " . ", " . ", " ", " "}; geda-gaf-1.8.2/gschem/bitmap/gschem-top2bottom.png0000664000175000017500000000132312050461155016703 00000000000000PNG  IHDR szzsBIT|d pHYsvv}ՂtEXtSoftwarewww.inkscape.org<PIDATXOVe3,D41!2a(p#(R.Af0FwTV"F\(h-4$hQ6!|3 y9sSUAWJr($\Or,S=0{|$o%Y<RUk1;p'fqPU&s {<=;svQUU&^,؉3{8…X-؇UO_\UOV ^؍U7#~\c0ꆲ0`S c0:C,&ޫ4?a0\C Ϭs*^dmXJf\$3IvI6sI6 |1܁I߅cx]М~蟾Bq? {vKr_6'$xOHG|2vFoj X?AK7:wV"\.2v]1|U Ó-bW}XUuxq.at:o-4ut CIENDB`geda-gaf-1.8.2/gschem/bitmap/gschem-alignment_middleright.png0000664000175000017500000000053712050461155021132 00000000000000PNG  IHDR szz&IDATXV03~8=f{I ,YbbG7tb3.v ,"R;\N@ٿ &A' VDJ'Ƿ܄ceV@YCͧg7A_ o)-"Έd"xo| ;@ʬ'ZuEur+-0cITʩ4du dؙ" 4ɜgep,@Ƈ,x%I<$_A %"CD ⩪] d/Z VUܕ,qO#oOAs㞬 | {q._ 꽽˧lYTO˵Rsq02rMUU^žVs@kL,"1nDk>9Z(NI"ob\ ̳mbc|ϵڵ\xUkH&T;o%z x*>D,Q] cǀ?ڱDأV:0c l}m\|61-!4x ocqO!SP 8\KCԱ6mGt9j<קSD xBܣ~'p-w؉-. '}qB``22`p p#y`6p"5ϣ1U߳غzmS% _)Cieb)nn>:8Xmp}Vf'¾n2&; YH'γ-nt[6hc˔m\2voBկqDowoKkWZM,f󽂷$̇gH&Kmba[vQAaI0h@z_ ПӪ`*awe{@ԀWdmSE_Zǣ^B3|m},s0`<]gb_NZʼnvWqOw֡Lmj`{+xsWlqrf*wXT[} b,? kb%бm#I2m_M r-la2MT)6ʘ0|,ahoSܻFvǎ8Qt!ڎ0Mh+xnQ2HN{ZuC}TYdᵴ6ġċو%\H0aln4bk7qXL^ ޒ$?{ueaߏLKfu|?d<%q(gɗO>O{uϺ6q'~H҈9a岹ш MtbsBFi4n0 599qNĭ,_1ag{o&]69pa3`-̖Mqf8>'9e;E%iǕ Lhb+c9͎j{6~VR췓 9\ iM{}x2Efd^rlZK7*犯AMJr+p^-N:Մ4&.ei7y1KVZ^e9R ޑH ~J<:hҵk펛cﳁ%l[( :q+ $۪ sy Ep-+xGg$Iǽ h-Hw`{A?p~EpsSq/yQD] zS`o04$BR rJt.oBc XA3gG1!1{9 [Rϊ?_(sقSBeW]PQ 9y #h~"eAHćxo3`bPn (q A `Z,$ "֍8ûB J\ \lQf 1zˑQ1jwQ!>F u症1刨Ph3<1Q0^Mp-uW& Cn$5Q(z+1&ྭDA4cIOFݹv.W\_t%jvsUq\B|ͫq?pm!t>z~a>\+Z) m9o8 xq}, V ,` 0ޮb+$ Cs1a TLTĝn#O.jTF/ovv3!<*i]At%# LKYiJoTFLirG_?ŨHs%"GҺNK|x*WKf6{żWB4Vv~2x?f;]Lly x cfmʸǿXk{h- =fSLŸL?nGD6D ߐ8.ȀP8xcwۚwnLT-ɶ e`y!'+/YzG What is gSchem?

    gschem is the schematic capture program/tool which is part of gEDA. Its sole purpose is to facilitate the graphical input of components/circuits. geda-gaf-1.8.2/gschem/docs/Makefile.am0000664000175000017500000000220712220647257014342 00000000000000EXTRA_DIST = $(html_man_files) gschem-main.txt what-is-geda.html \ what-is-gschem.html logo.png gschem.dox all: @echo 'Type: make doxygen to create doxygen documentation for gschem' doxygen: gschem.dox @echo 'Creating doxygen documentation for gschem...' if ENABLE_DOXYGEN $(DOXYGEN) gschem.dox -cd latex && $(MAKE) -cd .. else @echo 'configure was not run with the --enable-doxygen switch.' @echo 'The documentation cannot be built from the sources.' endif dist_man_MANS = gschem.1 # Rules for converting man->html html_man_files = gschem.html SUFFIXES = .1 .html docsmandir=$(docdir)/man docsman_DATA=$(html_man_files) if ENABLE_GROFF_HTML .1.html: rm -rf $@.tmp && \ LC_NUMERIC=C $(GROFF) -man -T html $< >$@.tmp && \ mv -f $@.tmp $@ else .1.html: @echo "No working groff available: cannot create $@" @! : endif MOSTLYCLEANFILES = *.log *~ CLEANFILES = *.log *~ DISTCLEANFILES = *.log core FILE *~ \ *.dvi *.info *.info-* *.aux *.fn \ *.fns *.cp *.ky *.pg *.toc *.tp *.vrs *.vr MAINTAINERCLEANFILES = *.log *~ Makefile.in $(html_man_files) distclean-local: -rm -rf html latex maintainer-clean-local: -rm -rf html latex geda-gaf-1.8.2/gschem/docs/gschem.html0000664000175000017500000001547612220655752014455 00000000000000 gschem

    gschem

    NAME
    SYNOPSIS
    DESCRIPTION
    OPTIONS
    SCHEMATIC AND SYMBOL FILES
    ENVIRONMENT
    AUTHORS
    COPYRIGHT
    SEE ALSO

    NAME

    gschem - gEDA/gaf Schematic Capture

    SYNOPSIS

    gschem [OPTION ...] [--] [FILE ...]

    DESCRIPTION

    gschem is a schematic capture application, and is part of the gEDA (GPL Electronic Design Automation) toolset. It is used to draw electronic schematics, which describe the logical structure of an circuit. Schematics are made up of symbols, which represent the various components in the circuit, and are obtained either from a standard library or created by the user. The connections between components represented by nets (wires). Schematics may be printed to a PostScript file for printing or further conversion to other output formats. Output to various image formats is also supported.

    gschem can also be used for editing symbols for use in schematics.

    OPTIONS

    -q, --quiet

    Quiet mode. Turn off all warnings/notes/messages.

    -v, --verbose

    Verbose mode. Output all diagnostic information.

    -r, --config-file=FILE

    Specify an additional configuration file. Normally gschem searches for the system configuration file, then ‘$HOME/.gEDA/gschemrc’, and finally for a ‘gschemrc’ file in the current working directory. This option allows the user to specify an additional rc file which is read after all the other rc files have been are read.

    -L DIRECTORY

    Prepend DIRECTORY to the list of directories to be searched for Scheme files.

    -s FILE

    Specify a Scheme script to be executed at startup.

    -c EXPR

    Specify a Scheme expression to be evaluated at startup.

    -o, --output=FILE

    Specify a filename for PostScript output. This command line argument is useful when running gschem from a shell script and with a Scheme script. The filename can be changed through the print dialog box.

    -p

    Automatically place the window. This may be useful if running gschem from the command line and generating output.

    -h, --help

    Print a help message.

    -V, --version

    Print gschem version information.

    --

    Treat all remaining arguments as schematic or symbol filenames. Use this if you have a schematic or symbol filename which begins with ‘-’.

    SCHEMATIC AND SYMBOL FILES

    Optionally, schematic or symbol FILEs may be specified on the command line. Any schematic or symbols specified are loaded at startup as separate documents in the schematic editor.

    If no FILEs are specified, a blank schematic is created for editing.

    ENVIRONMENT

    GEDADATA

    specifies the search directory for Scheme and rc files. The default is ‘${prefix}/share/gEDA’.

    GEDADATARC

    specifies the search directory for rc files. The default is ‘$GEDADATA’.

    AUTHORS

    See the ‘AUTHORS’ file included with this program.

    COPYRIGHT

    Copyright © 1999-2011 gEDA Contributors. License GPLv2+: GNU GPL
    version 2 or later. Please see the ‘COPYING’ file included with this
    program for full details.

    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.

    SEE ALSO

    gnetlist(1), gsymcheck(1)

    The full documentation for gschem is available from within the program by selecting the ‘gEDA Documentation’ option from the program’s ‘Help’ menu.


    geda-gaf-1.8.2/gschem/docs/what-is-geda.html0000664000175000017500000000155412050461155015442 00000000000000 What is gEDA?

    The gEDA project is working on producing a full GPL'd suite of Electronic Design Automation tools. These tools are used for electrical circuit design, schematic capture, simulation, prototyping, and production. Currently, the gEDA project offers a mature suite of free software applications for electronics design, including schematic capture, attribute management, bill of materials (BOM) generation, netlisting into over 20 netlist formats, analog and digital simulation, and printed circuit board (PCB) layout.

    The gEDA project was started because of the lack of free EDA tools for UNIX. The tools are being developed mainly on GNU/Linux machines, but considerable effort is being made to make sure that gEDA runs on other UNIX variants. For a complete list of freely available tools please be sure to visit Open Collector. geda-gaf-1.8.2/gschem/docs/Makefile.in0000664000175000017500000005243312220655724014357 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = gschem/docs DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(dist_man_MANS) ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } man1dir = $(mandir)/man1 am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(docsmandir)" NROFF = nroff MANS = $(dist_man_MANS) DATA = $(docsman_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = $(html_man_files) gschem-main.txt what-is-geda.html \ what-is-gschem.html logo.png gschem.dox dist_man_MANS = gschem.1 # Rules for converting man->html html_man_files = gschem.html SUFFIXES = .1 .html docsmandir = $(docdir)/man docsman_DATA = $(html_man_files) MOSTLYCLEANFILES = *.log *~ CLEANFILES = *.log *~ DISTCLEANFILES = *.log core FILE *~ \ *.dvi *.info *.info-* *.aux *.fn \ *.fns *.cp *.ky *.pg *.toc *.tp *.vrs *.vr MAINTAINERCLEANFILES = *.log *~ Makefile.in $(html_man_files) all: all-am .SUFFIXES: .SUFFIXES: .1 .html $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gschem/docs/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu gschem/docs/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-man1: $(dist_man_MANS) @$(NORMAL_INSTALL) @list1=''; \ list2='$(dist_man_MANS)'; \ test -n "$(man1dir)" \ && test -n "`echo $$list1$$list2`" \ || exit 0; \ echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ { for i in $$list1; do echo "$$i"; done; \ if test -n "$$list2"; then \ for i in $$list2; do echo "$$i"; done \ | sed -n '/\.1[a-z]*$$/p'; \ fi; \ } | while read p; do \ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; echo "$$p"; \ done | \ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ sed 'N;N;s,\n, ,g' | { \ list=; while read file base inst; do \ if test "$$base" = "$$inst"; then list="$$list $$file"; else \ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ fi; \ done; \ for i in $$list; do echo "$$i"; done | $(am__base_list) | \ while read files; do \ test -z "$$files" || { \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ done; } uninstall-man1: @$(NORMAL_UNINSTALL) @list=''; test -n "$(man1dir)" || exit 0; \ files=`{ for i in $$list; do echo "$$i"; done; \ l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \ sed -n '/\.1[a-z]*$$/p'; \ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) install-docsmanDATA: $(docsman_DATA) @$(NORMAL_INSTALL) @list='$(docsman_DATA)'; test -n "$(docsmandir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(docsmandir)'"; \ $(MKDIR_P) "$(DESTDIR)$(docsmandir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docsmandir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(docsmandir)" || exit $$?; \ done uninstall-docsmanDATA: @$(NORMAL_UNINSTALL) @list='$(docsman_DATA)'; test -n "$(docsmandir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(docsmandir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(MANS) $(DATA) installdirs: for dir in "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(docsmandir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic distclean-local dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-docsmanDATA install-man install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-man1 install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic \ maintainer-clean-local mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-docsmanDATA uninstall-man uninstall-man: uninstall-man1 .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distclean-local distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-docsmanDATA install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-man1 \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic \ maintainer-clean-local mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am uninstall-docsmanDATA uninstall-man \ uninstall-man1 all: @echo 'Type: make doxygen to create doxygen documentation for gschem' doxygen: gschem.dox @echo 'Creating doxygen documentation for gschem...' @ENABLE_DOXYGEN_TRUE@ $(DOXYGEN) gschem.dox @ENABLE_DOXYGEN_TRUE@ -cd latex && $(MAKE) @ENABLE_DOXYGEN_TRUE@ -cd .. @ENABLE_DOXYGEN_FALSE@ @echo 'configure was not run with the --enable-doxygen switch.' @ENABLE_DOXYGEN_FALSE@ @echo 'The documentation cannot be built from the sources.' @ENABLE_GROFF_HTML_TRUE@.1.html: @ENABLE_GROFF_HTML_TRUE@ rm -rf $@.tmp && \ @ENABLE_GROFF_HTML_TRUE@ LC_NUMERIC=C $(GROFF) -man -T html $< >$@.tmp && \ @ENABLE_GROFF_HTML_TRUE@ mv -f $@.tmp $@ @ENABLE_GROFF_HTML_FALSE@.1.html: @ENABLE_GROFF_HTML_FALSE@ @echo "No working groff available: cannot create $@" @ENABLE_GROFF_HTML_FALSE@ @! : distclean-local: -rm -rf html latex maintainer-clean-local: -rm -rf html latex # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/gschem/docs/gschem.10000664000175000017500000000661112220655706013637 00000000000000.TH gschem 1 "September 25th, 2013" "gEDA Project" 1.8.2.20130925 .SH NAME gschem - gEDA/gaf Schematic Capture .SH SYNOPSIS .B gschem [\fIOPTION\fR ...] [\fI--\fR] [\fIFILE\fR ...] .SH DESCRIPTION .PP .B gschem is a schematic capture application, and is part of the gEDA (GPL Electronic Design Automation) toolset. It is used to draw electronic schematics, which describe the logical structure of an circuit. Schematics are made up of symbols, which represent the various components in the circuit, and are obtained either from a standard library or created by the user. The connections between components represented by nets (wires). Schematics may be printed to a PostScript file for printing or further conversion to other output formats. Output to various image formats is also supported. .B gschem can also be used for editing symbols for use in schematics. .SH OPTIONS .TP 8 \fB-q\fR, \fB--quiet\fR Quiet mode. Turn off all warnings/notes/messages. .TP 8 \fB-v\fR, \fB--verbose\fR Verbose mode. Output all diagnostic information. .TP 8 \fB-r\fR, \fB--config-file\fR=\fIFILE\fR Specify an additional configuration file. Normally \fBgschem\fR searches for the system configuration file, then `$HOME/.gEDA/gschemrc', and finally for a `gschemrc' file in the current working directory. This option allows the user to specify an additional rc file which is read after all the other rc files have been are read. .TP 8 \fB-L\fR \fIDIRECTORY\fR Prepend \fIDIRECTORY\fR to the list of directories to be searched for Scheme files. .TP 8 \fB-s\fR \fIFILE\fR Specify a Scheme script to be executed at startup. .TP 8 \fB-c\fR \fIEXPR\fR Specify a Scheme expression to be evaluated at startup. .TP 8 \fB-o\fR, \fB--output\fR=\fIFILE\fR Specify a filename for PostScript output. This command line argument is useful when running \fBgschem\fR from a shell script and with a Scheme script. The filename can be changed through the print dialog box. .TP 8 \fB-p\fR Automatically place the window. This may be useful if running \fBgschem\fR from the command line and generating output. .TP 8 \fB-h\fR, \fB--help\fR Print a help message. .TP 8 \fB-V\fR, \fB--version\fR Print \fBgschem\fR version information. .TP 8 \fB--\fR Treat all remaining arguments as schematic or symbol filenames. Use this if you have a schematic or symbol filename which begins with `-'. .SH SCHEMATIC AND SYMBOL FILES Optionally, schematic or symbol \fIFILE\fRs may be specified on the command line. Any schematic or symbols specified are loaded at startup as separate documents in the schematic editor. .PP If no \fIFILE\fRs are specified, a blank schematic is created for editing. .SH ENVIRONMENT .TP 8 .B GEDADATA specifies the search directory for Scheme and rc files. The default is `${prefix}/share/gEDA'. .TP 8 .B GEDADATARC specifies the search directory for rc files. The default is `$GEDADATA'. .SH AUTHORS See the `AUTHORS' file included with this program. .SH COPYRIGHT .nf Copyright \(co 1999-2011 gEDA Contributors. License GPLv2+: GNU GPL version 2 or later. Please see the `COPYING' file included with this program for full details. .PP This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. .SH SEE ALSO \fBgnetlist\fR(1), \fBgsymcheck\fR(1) .PP The full documentation for .B gschem is available from within the program by selecting the `gEDA Documentation' option from the program's `Help' menu. geda-gaf-1.8.2/gschem/docs/gschem.dox0000664000175000017500000014377612050461155014301 00000000000000# Doxyfile 1.4.6 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project # # All text after a hash (#) is considered a comment and will be ignored # The format is: # TAG = value [value, ...] # For lists items can also be appended using: # TAG += value [value, ...] # Values that contain spaces should be placed between quotes (" ") #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- # The PROJECT_NAME tag is a single word (or a sequence of words surrounded # by quotes) that should identify the project. PROJECT_NAME = gschem # The PROJECT_NUMBER tag can be used to enter a project or revision number. # This could be handy for archiving the generated documentation or # if some version control system is used. PROJECT_NUMBER = # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. # If a relative path is entered, it will be relative to the location # where doxygen was started. If left blank the current directory will be used. OUTPUT_DIRECTORY = # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create # 4096 sub-directories (in 2 levels) under the output directory of each output # format and will distribute the generated files over these directories. # Enabling this option can be useful when feeding doxygen a huge amount of # source files, where putting all generated files in the same directory would # otherwise cause performance problems for the file system. CREATE_SUBDIRS = NO # The OUTPUT_LANGUAGE tag is used to specify the language in which all # documentation generated by doxygen is written. Doxygen will use this # information to generate all constant output in the proper language. # The default language is English, other supported languages are: # Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, # Dutch, Finnish, French, German, Greek, Hungarian, Italian, Japanese, # Japanese-en (Japanese with English messages), Korean, Korean-en, Norwegian, # Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish, # Swedish, and Ukrainian. OUTPUT_LANGUAGE = English # This tag can be used to specify the encoding used in the generated output. # The encoding is not always determined by the language that is chosen, # but also whether or not the output is meant for Windows or non-Windows users. # In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES # forces the Windows encoding (this is the default for the Windows binary), # whereas setting the tag to NO uses a Unix-style encoding (the default for # all platforms other than Windows). USE_WINDOWS_ENCODING = YES # If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will # include brief member descriptions after the members that are listed in # the file and class documentation (similar to JavaDoc). # Set to NO to disable this. BRIEF_MEMBER_DESC = YES # If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend # the brief description of a member or function before the detailed description. # Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the # brief descriptions will be completely suppressed. REPEAT_BRIEF = NO # This tag implements a quasi-intelligent brief description abbreviator # that is used to form the text in various listings. Each string # in this list, if found as the leading text of the brief description, will be # stripped from the text and the result after processing the whole list, is # used as the annotated text. Otherwise, the brief description is used as-is. # If left blank, the following values are used ("$name" is automatically # replaced with the name of the entity): "The $name class" "The $name widget" # "The $name file" "is" "provides" "specifies" "contains" # "represents" "a" "an" "the" ABBREVIATE_BRIEF = # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then # Doxygen will generate a detailed section even if there is only a brief # description. ALWAYS_DETAILED_SEC = YES # If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all # inherited members of a class in the documentation of that class as if those # members were ordinary class members. Constructors, destructors and assignment # operators of the base classes will not be shown. INLINE_INHERITED_MEMB = NO # If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full # path before files name in the file list and in the header files. If set # to NO the shortest path that makes the file name unique will be used. FULL_PATH_NAMES = NO # If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag # can be used to strip a user-defined part of the path. Stripping is # only done if one of the specified strings matches the left-hand part of # the path. The tag can be used to show relative paths in the file list. # If left blank the directory from which doxygen is run is used as the # path to strip. STRIP_FROM_PATH = # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of # the path mentioned in the documentation of a class, which tells # the reader which header file to include in order to use a class. # If left blank only the name of the header file containing the class # definition is used. Otherwise one should specify the include paths that # are normally passed to the compiler using the -I flag. STRIP_FROM_INC_PATH = # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter # (but less readable) file names. This can be useful is your file systems # doesn't support long names like on DOS, Mac, or CD-ROM. SHORT_NAMES = NO # If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen # will interpret the first line (until the first dot) of a JavaDoc-style # comment as the brief description. If set to NO, the JavaDoc # comments will behave just like the Qt-style comments (thus requiring an # explicit @brief command for a brief description. JAVADOC_AUTOBRIEF = NO # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen # treat a multi-line C++ special comment block (i.e. a block of //! or /// # comments) as a brief description. This used to be the default behaviour. # The new default is to treat a multi-line C++ comment block as a detailed # description. Set this tag to YES if you prefer the old behaviour instead. MULTILINE_CPP_IS_BRIEF = NO # If the DETAILS_AT_TOP tag is set to YES then Doxygen # will output the detailed description near the top, like JavaDoc. # If set to NO, the detailed description appears after the member # documentation. DETAILS_AT_TOP = NO # If the INHERIT_DOCS tag is set to YES (the default) then an undocumented # member inherits the documentation from any documented member that it # re-implements. INHERIT_DOCS = YES # If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce # a new page for each member. If set to NO, the documentation of a member will # be part of the file/class/namespace that contains it. SEPARATE_MEMBER_PAGES = NO # The TAB_SIZE tag can be used to set the number of spaces in a tab. # Doxygen uses this value to replace tabs by spaces in code fragments. TAB_SIZE = 4 # This tag can be used to specify a number of aliases that acts # as commands in the documentation. An alias has the form "name=value". # For example adding "sideeffect=\par Side Effects:\n" will allow you to # put the command \sideeffect (or @sideeffect) in the documentation, which # will result in a user-defined paragraph with heading "Side Effects:". # You can put \n's in the value part of an alias to insert newlines. ALIASES = # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C # sources only. Doxygen will then generate output that is more tailored for C. # For instance, some of the names that are used will be different. The list # of all members will be omitted, etc. OPTIMIZE_OUTPUT_FOR_C = YES # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java # sources only. Doxygen will then generate output that is more tailored for Java. # For instance, namespaces will be presented as packages, qualified scopes # will look different, etc. OPTIMIZE_OUTPUT_JAVA = NO # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want to # include (a tag file for) the STL sources as input, then you should # set this tag to YES in order to let doxygen match functions declarations and # definitions whose arguments contain STL classes (e.g. func(std::string); v.s. # func(std::string) {}). This also make the inheritance and collaboration # diagrams that involve STL classes more complete and accurate. BUILTIN_STL_SUPPORT = NO # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC # tag is set to YES, then doxygen will reuse the documentation of the first # member in the group (if any) for the other members of the group. By default # all members of a group must be documented explicitly. DISTRIBUTE_GROUP_DOC = NO # Set the SUBGROUPING tag to YES (the default) to allow class member groups of # the same type (for instance a group of public functions) to be put as a # subgroup of that type (e.g. under the Public Functions section). Set it to # NO to prevent subgrouping. Alternatively, this can be done per class using # the \nosubgrouping command. SUBGROUPING = YES #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in # documentation are documented, even if no documentation was available. # Private class members and static file members will be hidden unless # the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES EXTRACT_ALL = YES # If the EXTRACT_PRIVATE tag is set to YES all private members of a class # will be included in the documentation. EXTRACT_PRIVATE = YES # If the EXTRACT_STATIC tag is set to YES all static members of a file # will be included in the documentation. EXTRACT_STATIC = YES # If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) # defined locally in source files will be included in the documentation. # If set to NO only classes defined in header files are included. EXTRACT_LOCAL_CLASSES = YES # This flag is only useful for Objective-C code. When set to YES local # methods, which are defined in the implementation section but not in # the interface are included in the documentation. # If set to NO (the default) only methods in the interface are included. EXTRACT_LOCAL_METHODS = YES # If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all # undocumented members of documented classes, files or namespaces. # If set to NO (the default) these members will be included in the # various overviews, but no documentation section is generated. # This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_MEMBERS = NO # If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all # undocumented classes that are normally visible in the class hierarchy. # If set to NO (the default) these classes will be included in the various # overviews. This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_CLASSES = NO # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all # friend (class|struct|union) declarations. # If set to NO (the default) these declarations will be included in the # documentation. HIDE_FRIEND_COMPOUNDS = NO # If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any # documentation blocks found inside the body of a function. # If set to NO (the default) these blocks will be appended to the # function's detailed documentation block. HIDE_IN_BODY_DOCS = NO # The INTERNAL_DOCS tag determines if documentation # that is typed after a \internal command is included. If the tag is set # to NO (the default) then the documentation will be excluded. # Set it to YES to include the internal documentation. INTERNAL_DOCS = NO # If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate # file names in lower-case letters. If set to YES upper-case letters are also # allowed. This is useful if you have classes or files whose names only differ # in case and if your file system supports case sensitive file names. Windows # and Mac users are advised to set this option to NO. CASE_SENSE_NAMES = YES # If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen # will show members with their full class and namespace scopes in the # documentation. If set to YES the scope will be hidden. HIDE_SCOPE_NAMES = NO # If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen # will put a list of the files that are included by a file in the documentation # of that file. SHOW_INCLUDE_FILES = YES # If the INLINE_INFO tag is set to YES (the default) then a tag [inline] # is inserted in the documentation for inline members. INLINE_INFO = YES # If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen # will sort the (detailed) documentation of file and class members # alphabetically by member name. If set to NO the members will appear in # declaration order. SORT_MEMBER_DOCS = NO # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the # brief documentation of file, namespace and class members alphabetically # by member name. If set to NO (the default) the members will appear in # declaration order. SORT_BRIEF_DOCS = NO # If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be # sorted by fully-qualified names, including namespaces. If set to # NO (the default), the class list will be sorted only by class name, # not including the namespace part. # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. # Note: This option applies only to the class list, not to the # alphabetical list. SORT_BY_SCOPE_NAME = NO # The GENERATE_TODOLIST tag can be used to enable (YES) or # disable (NO) the todo list. This list is created by putting \todo # commands in the documentation. GENERATE_TODOLIST = YES # The GENERATE_TESTLIST tag can be used to enable (YES) or # disable (NO) the test list. This list is created by putting \test # commands in the documentation. GENERATE_TESTLIST = YES # The GENERATE_BUGLIST tag can be used to enable (YES) or # disable (NO) the bug list. This list is created by putting \bug # commands in the documentation. GENERATE_BUGLIST = YES # The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or # disable (NO) the deprecated list. This list is created by putting # \deprecated commands in the documentation. GENERATE_DEPRECATEDLIST= YES # The ENABLED_SECTIONS tag can be used to enable conditional # documentation sections, marked by \if sectionname ... \endif. ENABLED_SECTIONS = # The MAX_INITIALIZER_LINES tag determines the maximum number of lines # the initial value of a variable or define consists of for it to appear in # the documentation. If the initializer consists of more lines than specified # here it will be hidden. Use a value of 0 to hide initializers completely. # The appearance of the initializer of individual variables and defines in the # documentation can be controlled using \showinitializer or \hideinitializer # command in the documentation regardless of this setting. MAX_INITIALIZER_LINES = 30 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated # at the bottom of the documentation of classes and structs. If set to YES the # list will mention the files that were used to generate the documentation. SHOW_USED_FILES = YES # If the sources in your project are distributed over multiple directories # then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy # in the documentation. The default is NO. SHOW_DIRECTORIES = YES # The FILE_VERSION_FILTER tag can be used to specify a program or script that # doxygen should invoke to get the current version for each file (typically from the # version control system). Doxygen will invoke the program by executing (via # popen()) the command , where is the value of # the FILE_VERSION_FILTER tag, and is the name of an input file # provided by doxygen. Whatever the program writes to standard output # is used as the file version. See the manual for examples. FILE_VERSION_FILTER = #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- # The QUIET tag can be used to turn on/off the messages that are generated # by doxygen. Possible values are YES and NO. If left blank NO is used. QUIET = NO # The WARNINGS tag can be used to turn on/off the warning messages that are # generated by doxygen. Possible values are YES and NO. If left blank # NO is used. WARNINGS = YES # If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings # for undocumented members. If EXTRACT_ALL is set to YES then this flag will # automatically be disabled. WARN_IF_UNDOCUMENTED = YES # If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for # potential errors in the documentation, such as not documenting some # parameters in a documented function, or documenting parameters that # don't exist or using markup commands wrongly. WARN_IF_DOC_ERROR = YES # This WARN_NO_PARAMDOC option can be abled to get warnings for # functions that are documented, but have no documentation for their parameters # or return value. If set to NO (the default) doxygen will only warn about # wrong or incomplete parameter documentation, but not about the absence of # documentation. WARN_NO_PARAMDOC = NO # The WARN_FORMAT tag determines the format of the warning messages that # doxygen can produce. The string should contain the $file, $line, and $text # tags, which will be replaced by the file and line number from which the # warning originated and the warning text. Optionally the format may contain # $version, which will be replaced by the version of the file (if it could # be obtained via FILE_VERSION_FILTER) WARN_FORMAT = "$file:$line: $text" # The WARN_LOGFILE tag can be used to specify a file to which warning # and error messages should be written. If left blank the output is written # to stderr. WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- # The INPUT tag can be used to specify the files and/or directories that contain # documented source files. You may enter file names like "myfile.cpp" or # directories like "/usr/src/myproject". Separate the files or directories # with spaces. INPUT = ../src ../include ../docs/gschem-main.txt # If the value of the INPUT tag contains directories, you can use the # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank the following patterns are tested: # *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx # *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py FILE_PATTERNS = *.c *.h # The RECURSIVE tag can be used to turn specify whether or not subdirectories # should be searched for input files as well. Possible values are YES and NO. # If left blank NO is used. RECURSIVE = YES # The EXCLUDE tag can be used to specify files and/or directories that should # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. EXCLUDE = # The EXCLUDE_SYMLINKS tag can be used select whether or not files or # directories that are symbolic links (a Unix filesystem feature) are excluded # from the input. EXCLUDE_SYMLINKS = NO # If the value of the INPUT tag contains directories, you can use the # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude # certain files from those directories. Note that the wildcards are matched # against the file with absolute path, so to exclude all test directories # for example use the pattern */test/* EXCLUDE_PATTERNS = # The EXAMPLE_PATH tag can be used to specify one or more files or # directories that contain example code fragments that are included (see # the \include command). EXAMPLE_PATH = ../docs # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank all files are included. EXAMPLE_PATTERNS = # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be # searched for input files to be used with the \include or \dontinclude # commands irrespective of the value of the RECURSIVE tag. # Possible values are YES and NO. If left blank NO is used. EXAMPLE_RECURSIVE = NO # The IMAGE_PATH tag can be used to specify one or more files or # directories that contain image that are included in the documentation (see # the \image command). IMAGE_PATH = ../docs # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program # by executing (via popen()) the command , where # is the value of the INPUT_FILTER tag, and is the name of an # input file. Doxygen will then use the output that the filter program writes # to standard output. If FILTER_PATTERNS is specified, this tag will be # ignored. INPUT_FILTER = # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern # basis. Doxygen will compare the file name with each pattern and apply the # filter if there is a match. The filters are a list of the form: # pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further # info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER # is applied to all files. FILTER_PATTERNS = # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using # INPUT_FILTER) will be used to filter the input files when producing source # files to browse (i.e. when SOURCE_BROWSER is set to YES). FILTER_SOURCE_FILES = NO #--------------------------------------------------------------------------- # configuration options related to source browsing #--------------------------------------------------------------------------- # If the SOURCE_BROWSER tag is set to YES then a list of source files will # be generated. Documented entities will be cross-referenced with these sources. # Note: To get rid of all source code in the generated output, make sure also # VERBATIM_HEADERS is set to NO. SOURCE_BROWSER = YES # Setting the INLINE_SOURCES tag to YES will include the body # of functions and classes directly in the documentation. INLINE_SOURCES = NO # Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct # doxygen to hide any special comment blocks from generated source code # fragments. Normal C and C++ comments will always remain visible. STRIP_CODE_COMMENTS = YES # If the REFERENCED_BY_RELATION tag is set to YES (the default) # then for each documented function all documented # functions referencing it will be listed. REFERENCED_BY_RELATION = NO # If the REFERENCES_RELATION tag is set to YES (the default) # then for each documented function all documented entities # called/used by that function will be listed. REFERENCES_RELATION = NO # If the USE_HTAGS tag is set to YES then the references to source code # will point to the HTML generated by the htags(1) tool instead of doxygen # built-in source browser. The htags tool is part of GNU's global source # tagging system (see http://www.gnu.org/software/global/global.html). You # will need version 4.8.6 or higher. USE_HTAGS = NO # If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen # will generate a verbatim copy of the header file for each class for # which an include is specified. Set to NO to disable this. VERBATIM_HEADERS = YES #--------------------------------------------------------------------------- # configuration options related to the alphabetical class index #--------------------------------------------------------------------------- # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index # of all compounds will be generated. Enable this if the project # contains a lot of classes, structs, unions or interfaces. ALPHABETICAL_INDEX = YES # If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then # the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns # in which this list will be split (can be a number in the range [1..20]) COLS_IN_ALPHA_INDEX = 5 # In case all classes in a project start with a common prefix, all # classes will be put under the same header in the alphabetical index. # The IGNORE_PREFIX tag can be used to specify one or more prefixes that # should be ignored while generating the index headers. IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- # If the GENERATE_HTML tag is set to YES (the default) Doxygen will # generate HTML output. GENERATE_HTML = YES # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `html' will be used as the default path. HTML_OUTPUT = html # The HTML_FILE_EXTENSION tag can be used to specify the file extension for # each generated HTML page (for example: .htm,.php,.asp). If it is left blank # doxygen will generate files with .html extension. HTML_FILE_EXTENSION = .html # The HTML_HEADER tag can be used to specify a personal HTML header for # each generated HTML page. If it is left blank doxygen will generate a # standard header. HTML_HEADER = # The HTML_FOOTER tag can be used to specify a personal HTML footer for # each generated HTML page. If it is left blank doxygen will generate a # standard footer. HTML_FOOTER = # The HTML_STYLESHEET tag can be used to specify a user-defined cascading # style sheet that is used by each HTML page. It can be used to # fine-tune the look of the HTML output. If the tag is left blank doxygen # will generate a default style sheet. Note that doxygen will try to copy # the style sheet file to the HTML output directory, so don't put your own # stylesheet in the HTML output directory as well, or it will be erased! HTML_STYLESHEET = # If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, # files or namespaces will be aligned in HTML using tables. If set to # NO a bullet list will be used. HTML_ALIGN_MEMBERS = YES # If the GENERATE_HTMLHELP tag is set to YES, additional index files # will be generated that can be used as input for tools like the # Microsoft HTML help workshop to generate a compressed HTML help file (.chm) # of the generated HTML documentation. GENERATE_HTMLHELP = NO # If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can # be used to specify the file name of the resulting .chm file. You # can add a path in front of the file if the result should not be # written to the html output directory. CHM_FILE = # If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can # be used to specify the location (absolute path including file name) of # the HTML help compiler (hhc.exe). If non-empty doxygen will try to run # the HTML help compiler on the generated index.hhp. HHC_LOCATION = # If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag # controls if a separate .chi index file is generated (YES) or that # it should be included in the master .chm file (NO). GENERATE_CHI = NO # If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag # controls whether a binary table of contents is generated (YES) or a # normal table of contents (NO) in the .chm file. BINARY_TOC = NO # The TOC_EXPAND flag can be set to YES to add extra items for group members # to the contents of the HTML help documentation and to the tree view. TOC_EXPAND = NO # The DISABLE_INDEX tag can be used to turn on/off the condensed index at # top of each HTML page. The value NO (the default) enables the index and # the value YES disables it. DISABLE_INDEX = NO # This tag can be used to set the number of enum values (range [1..20]) # that doxygen will group on one line in the generated HTML documentation. ENUM_VALUES_PER_LINE = 4 # If the GENERATE_TREEVIEW tag is set to YES, a side panel will be # generated containing a tree-like index structure (just like the one that # is generated for HTML Help). For this to work a browser that supports # JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, # Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are # probably better off using the HTML help feature. GENERATE_TREEVIEW = YES # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be # used to set the initial width (in pixels) of the frame in which the tree # is shown. TREEVIEW_WIDTH = 250 #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will # generate Latex output. GENERATE_LATEX = YES # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `latex' will be used as the default path. LATEX_OUTPUT = latex # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be # invoked. If left blank `latex' will be used as the default command name. LATEX_CMD_NAME = latex # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to # generate index for LaTeX. If left blank `makeindex' will be used as the # default command name. MAKEINDEX_CMD_NAME = makeindex # If the COMPACT_LATEX tag is set to YES Doxygen generates more compact # LaTeX documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_LATEX = NO # The PAPER_TYPE tag can be used to set the paper type that is used # by the printer. Possible values are: a4, a4wide, letter, legal and # executive. If left blank a4wide will be used. PAPER_TYPE = a4wide # The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX # packages that should be included in the LaTeX output. EXTRA_PACKAGES = # The LATEX_HEADER tag can be used to specify a personal LaTeX header for # the generated latex document. The header should contain everything until # the first chapter. If it is left blank doxygen will generate a # standard header. Notice: only use this tag if you know what you are doing! LATEX_HEADER = # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated # is prepared for conversion to pdf (using ps2pdf). The pdf file will # contain links (just like the HTML output) instead of page references # This makes the output suitable for online browsing using a pdf viewer. PDF_HYPERLINKS = YES # If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of # plain latex in the generated Makefile. Set this option to YES to get a # higher quality PDF documentation. USE_PDFLATEX = YES # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. # command to the generated LaTeX files. This will instruct LaTeX to keep # running if errors occur, instead of asking the user for help. # This option is also used when generating formulas in HTML. LATEX_BATCHMODE = NO # If LATEX_HIDE_INDICES is set to YES then doxygen will not # include the index chapters (such as File Index, Compound Index, etc.) # in the output. LATEX_HIDE_INDICES = NO #--------------------------------------------------------------------------- # configuration options related to the RTF output #--------------------------------------------------------------------------- # If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output # The RTF output is optimized for Word 97 and may not look very pretty with # other RTF readers or editors. GENERATE_RTF = NO # The RTF_OUTPUT tag is used to specify where the RTF docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `rtf' will be used as the default path. RTF_OUTPUT = rtf # If the COMPACT_RTF tag is set to YES Doxygen generates more compact # RTF documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_RTF = NO # If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated # will contain hyperlink fields. The RTF file will # contain links (just like the HTML output) instead of page references. # This makes the output suitable for online browsing using WORD or other # programs which support those fields. # Note: wordpad (write) and others do not support links. RTF_HYPERLINKS = NO # Load stylesheet definitions from file. Syntax is similar to doxygen's # config file, i.e. a series of assignments. You only have to provide # replacements, missing definitions are set to their default value. RTF_STYLESHEET_FILE = # Set optional variables used in the generation of an rtf document. # Syntax is similar to doxygen's config file. RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- # If the GENERATE_MAN tag is set to YES (the default) Doxygen will # generate man pages GENERATE_MAN = NO # The MAN_OUTPUT tag is used to specify where the man pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `man' will be used as the default path. MAN_OUTPUT = man # The MAN_EXTENSION tag determines the extension that is added to # the generated man pages (default is the subroutine's section .3) MAN_EXTENSION = .3 # If the MAN_LINKS tag is set to YES and Doxygen generates man output, # then it will generate one additional man file for each entity # documented in the real man page(s). These additional files # only source the real man page, but without them the man command # would be unable to find the correct page. The default is NO. MAN_LINKS = NO #--------------------------------------------------------------------------- # configuration options related to the XML output #--------------------------------------------------------------------------- # If the GENERATE_XML tag is set to YES Doxygen will # generate an XML file that captures the structure of # the code including all documentation. GENERATE_XML = NO # The XML_OUTPUT tag is used to specify where the XML pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `xml' will be used as the default path. XML_OUTPUT = xml # The XML_SCHEMA tag can be used to specify an XML schema, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_SCHEMA = # The XML_DTD tag can be used to specify an XML DTD, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_DTD = # If the XML_PROGRAMLISTING tag is set to YES Doxygen will # dump the program listings (including syntax highlighting # and cross-referencing information) to the XML output. Note that # enabling this will significantly increase the size of the XML output. XML_PROGRAMLISTING = YES #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- # If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will # generate an AutoGen Definitions (see autogen.sf.net) file # that captures the structure of the code including all # documentation. Note that this feature is still experimental # and incomplete at the moment. GENERATE_AUTOGEN_DEF = NO #--------------------------------------------------------------------------- # configuration options related to the Perl module output #--------------------------------------------------------------------------- # If the GENERATE_PERLMOD tag is set to YES Doxygen will # generate a Perl module file that captures the structure of # the code including all documentation. Note that this # feature is still experimental and incomplete at the # moment. GENERATE_PERLMOD = NO # If the PERLMOD_LATEX tag is set to YES Doxygen will generate # the necessary Makefile rules, Perl scripts and LaTeX code to be able # to generate PDF and DVI output from the Perl module output. PERLMOD_LATEX = NO # If the PERLMOD_PRETTY tag is set to YES the Perl module output will be # nicely formatted so it can be parsed by a human reader. This is useful # if you want to understand what is going on. On the other hand, if this # tag is set to NO the size of the Perl module output will be much smaller # and Perl will parse it just the same. PERLMOD_PRETTY = YES # The names of the make variables in the generated doxyrules.make file # are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. # This is useful so different doxyrules.make files included by the same # Makefile don't overwrite each other's variables. PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the preprocessor #--------------------------------------------------------------------------- # If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will # evaluate all C-preprocessor directives found in the sources and include # files. ENABLE_PREPROCESSING = YES # If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro # names in the source code. If set to NO (the default) only conditional # compilation will be performed. Macro expansion can be done in a controlled # way by setting EXPAND_ONLY_PREDEF to YES. MACRO_EXPANSION = YES # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES # then the macro expansion is limited to the macros specified with the # PREDEFINED and EXPAND_AS_DEFINED tags. EXPAND_ONLY_PREDEF = NO # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files # in the INCLUDE_PATH (see below) will be search if a #include is found. SEARCH_INCLUDES = YES # The INCLUDE_PATH tag can be used to specify one or more directories that # contain include files that are not input files but should be processed by # the preprocessor. INCLUDE_PATH = /usr/include # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard # patterns (like *.h and *.hpp) to filter out the header-files in the # directories. If left blank, the patterns specified with FILE_PATTERNS will # be used. INCLUDE_FILE_PATTERNS = # The PREDEFINED tag can be used to specify one or more macro names that # are defined before the preprocessor is started (similar to the -D option of # gcc). The argument of the tag is a list of macros of the form: name # or name=definition (no spaces). If the definition and the = are # omitted =1 is assumed. To prevent a macro definition from being # undefined via #undef or recursively expanded use the := operator # instead of the = operator. PREDEFINED = # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then # this tag can be used to specify a list of macro names that should be expanded. # The macro definition that is found in the sources will be used. # Use the PREDEFINED tag if you want to use a different macro definition. EXPAND_AS_DEFINED = # If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then # doxygen's preprocessor will remove all function-like macros that are alone # on a line, have an all uppercase name, and do not end with a semicolon. Such # function macros are typically used for boiler-plate code, and will confuse # the parser if not removed. SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- # Configuration::additions related to external references #--------------------------------------------------------------------------- # The TAGFILES option can be used to specify one or more tagfiles. # Optionally an initial location of the external documentation # can be added for each tagfile. The format of a tag file without # this location is as follows: # TAGFILES = file1 file2 ... # Adding location for the tag files is done as follows: # TAGFILES = file1=loc1 "file2 = loc2" ... # where "loc1" and "loc2" can be relative or absolute paths or # URLs. If a location is present for each tag, the installdox tool # does not have to be run to correct the links. # Note that each tag file must have a unique name # (where the name does NOT include the path) # If a tag file is not located in the directory in which doxygen # is run, you must also specify the path to the tagfile here. TAGFILES = # When a file name is specified after GENERATE_TAGFILE, doxygen will create # a tag file that is based on the input files it reads. GENERATE_TAGFILE = # If the ALLEXTERNALS tag is set to YES all external classes will be listed # in the class index. If set to NO only the inherited external classes # will be listed. ALLEXTERNALS = NO # If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed # in the modules index. If set to NO, only the current project's groups will # be listed. EXTERNAL_GROUPS = YES # The PERL_PATH should be the absolute path and name of the perl script # interpreter (i.e. the result of `which perl'). PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- # Configuration options related to the dot tool #--------------------------------------------------------------------------- # If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will # generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base # or super classes. Setting the tag to NO turns the diagrams off. Note that # this option is superseded by the HAVE_DOT option below. This is only a # fallback. It is recommended to install and use dot, since it yields more # powerful graphs. CLASS_DIAGRAMS = YES # If set to YES, the inheritance and collaboration graphs will hide # inheritance and usage relations if the target is undocumented # or is not a class. HIDE_UNDOC_RELATIONS = YES # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is # available from the path. This tool is part of Graphviz, a graph visualization # toolkit from AT&T and Lucent Bell Labs. The other options in this section # have no effect if this option is set to NO (the default) HAVE_DOT = YES # If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect inheritance relations. Setting this tag to YES will force the # the CLASS_DIAGRAMS tag to NO. CLASS_GRAPH = YES # If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect implementation dependencies (inheritance, containment, and # class references variables) of the class with other documented classes. COLLABORATION_GRAPH = YES # If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen # will generate a graph for groups, showing the direct groups dependencies GROUP_GRAPHS = YES # If the UML_LOOK tag is set to YES doxygen will generate inheritance and # collaboration diagrams in a style similar to the OMG's Unified Modeling # Language. UML_LOOK = YES # If set to YES, the inheritance and collaboration graphs will show the # relations between templates and their instances. TEMPLATE_RELATIONS = NO # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT # tags are set to YES then doxygen will generate a graph for each documented # file showing the direct and indirect include dependencies of the file with # other documented files. INCLUDE_GRAPH = YES # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and # HAVE_DOT tags are set to YES then doxygen will generate a graph for each # documented header file showing the documented files that directly or # indirectly include this file. INCLUDED_BY_GRAPH = YES # If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will # generate a call dependency graph for every global function or class method. # Note that enabling this option will significantly increase the time of a run. # So in most cases it will be better to enable call graphs for selected # functions only using the \callgraph command. CALL_GRAPH = YES # If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen # will graphical hierarchy of all classes instead of a textual one. GRAPHICAL_HIERARCHY = YES # If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES # then doxygen will show the dependencies a directory has on other directories # in a graphical way. The dependency relations are determined by the #include # relations between the files in the directories. DIRECTORY_GRAPH = YES # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images # generated by dot. Possible values are png, jpg, or gif # If left blank png will be used. DOT_IMAGE_FORMAT = png # The tag DOT_PATH can be used to specify the path where the dot tool can be # found. If left blank, it is assumed the dot tool can be found in the path. DOT_PATH = # The DOTFILE_DIRS tag can be used to specify one or more directories that # contain dot files that are included in the documentation (see the # \dotfile command). DOTFILE_DIRS = # The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width # (in pixels) of the graphs generated by dot. If a graph becomes larger than # this value, doxygen will try to truncate the graph, so that it fits within # the specified constraint. Beware that most browsers cannot cope with very # large images. MAX_DOT_GRAPH_WIDTH = 1024 # The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height # (in pixels) of the graphs generated by dot. If a graph becomes larger than # this value, doxygen will try to truncate the graph, so that it fits within # the specified constraint. Beware that most browsers cannot cope with very # large images. MAX_DOT_GRAPH_HEIGHT = 1024 # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the # graphs generated by dot. A depth value of 3 means that only nodes reachable # from the root by following a path via at most 3 edges will be shown. Nodes # that lay further from the root node will be omitted. Note that setting this # option to 1 or 2 may greatly reduce the computation time needed for large # code bases. Also note that a graph may be further truncated if the graph's # image dimensions are not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH # and MAX_DOT_GRAPH_HEIGHT). If 0 is used for the depth value (the default), # the graph is not depth-constrained. MAX_DOT_GRAPH_DEPTH = 0 # Set the DOT_TRANSPARENT tag to YES to generate images with a transparent # background. This is disabled by default, which results in a white background. # Warning: Depending on the platform used, enabling this option may lead to # badly anti-aliased labels on the edges of a graph (i.e. they become hard to # read). DOT_TRANSPARENT = YES # Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output # files in one run (i.e. multiple -o and -T options on the command line). This # makes dot run faster, but since only newer versions of dot (>1.8.10) # support this, this feature is disabled by default. DOT_MULTI_TARGETS = NO # If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will # generate a legend page explaining the meaning of the various boxes and # arrows in the dot generated graphs. GENERATE_LEGEND = YES # If the DOT_CLEANUP tag is set to YES (the default) Doxygen will # remove the intermediate dot files that are used to generate # the various graphs. DOT_CLEANUP = YES #--------------------------------------------------------------------------- # Configuration::additions related to the search engine #--------------------------------------------------------------------------- # The SEARCHENGINE tag specifies whether or not a search engine should be # used. If set to NO the values of all tags below this one will be ignored. SEARCHENGINE = YES geda-gaf-1.8.2/gschem/docs/logo.png0000664000175000017500000003677612050461155013766 00000000000000PNG  IHDRmSbKGD pHYs  ~tIME&.h IDATx}^}翏{0Iɮ&uu"u$]V.Q!G *h=Ζ.YnDnbZb#uoikL263f9ϝzsGz=9};;/                                            @]I4B+Ai폍*\"Ro &uj%=UbyRN";q꺨]E ! ߕ=D$+ vl\~U]Ie*^m[{i,]ӧm _C:{8eB, n"ǣb#(j/,j-<\L/>qU#/W䗷`(:m qm)?J(J RiuףMqxQHě+%2bx%ELP:₇T,R KOɳZ6;OSUʮ"H@M6]1{0)lIҖh' .0D!ۮ!?0NqD{'u`y;tqlyKxP4e\SVad mIsl|[*ZWG !-1"(lŅqUpʒ&.?[gWU>11"`m!?̒bQw1X,,ܛ| UЪJΥ*dqM/ƱmĀ8H#rL&u UY%m w+Ҷw٧VlĄ)/]\86%;UCp [|}^خ} ob}DEk 4 =|״pq$^Yc?&2EFڷ<׸.oyykUTyiY:"vlҊt^S孫]jEM~|*0Z.}( :\-.-0i7#Ir PWd(OV]3MzO/i˥6itWɵ&kst$MCڴ6WUFmG7{Y<Q{7mK*&L,rʡK/B-z/ U,^z7JB.2pX&.Xz?XN=@$BTQɚTdUqtmߒe lʣ6l)KkkƮ|x8YmL.oyٴW5lVB.m=&I۶oԔVo*N؄٦-ɮDH .,ÇfKC.E՜-! d%Ƚ`L\\&0ZK? "CU"eCէ!Y&Wa!o*7$LidqlbŎ 4ik~xeETyTp67]zW1/T2.ENʓL+jH  B8^́ `<x܆ۏ{)0Q |b0E.p"c):bpa+P$MVV\񦤉kڶ]%08YB"Of&]Q"UL5 M]QKk.ot:qg&EP%=_W O6̡dWm& U`ᦼ'`,/o8D>mݛc\7y'l*Pͬ^ 6My1)>|\ Qimil)FزaۦOb# LLL4Uv|Bm^pGEl,DGxϥh{2se{!uÛ`SɻVipQžk%^!T\ Y "DnSV[n;r5_]2qtv| 3kqc.0zZv^ ~~2`p(2+[E0bG.p64Eڋo`Y"$|u' Hؤd /c:Vs9E U`p/F ތ~a[Cæ#PőųaKcFd,L9y<"i!}yrxG0[cc?0 'U<ы;y?֏v |1LpobfL* "2Laqmy+N,H며GRfYu+.>eEIPS7GD"!LVgM!4,:߮^t$UKk",l|'A|*΢7Ǧ&!+Lēɋd+`d۪vhي [O*n/JlsSɺhE9$D!OV! qIz/DaWsm|St| M8$b*^"Ia/i~sm~=LbƔN7U}]LA UQ9B:Ʒe"V\Ui=><}q>"rB 4xY ݛ}7 ;0'CW'M! ɰd|Hg*]*"TB+{h!)[pr_\]Mc'KP{%Tu(I̞l?uUWx0*\]OzI^e 񿦥JhCUN%7G|Ӈk"AH? 匹y"))/k3rR1XILM$*DwCX"+r ?K~%Eǐe폑D¦XhYdd39ۢ&tk]5vCC)Q_/C8Ni4qOB!LzB; 0ҐA&ʥh-5tg޶W?h!Q~l#1CDŽA^ =xBCgqU^7wXWVa(02o 8=O)/NG ~@#YEι*{6&0\~BưGSǙD<$p,fM6M,{f ^-`j smy躛*5[;UNy4dz*Ƕ0B j` e|hźdȥA,o3-#ؾdV`LO ݋lFkЮg"@Ϳqoz,Z_ON'OǎPW6,N2hdKo]ɛoƶ)Ϧ庍d/[<8Nk'Zεζ6[Q90Xܲa#0Ljr%kFػؽ8z8s3_ Yi_;v/2a00.: 0H\Y;W'O8mߞOC_dϲi7tl1쩧ԙLL\ux6bB*0f]g@l[G\ !0>,;|$r$p>PD=ƍl)`t8sfX 0j5|)лop luZ&F'g;w^B#V`@^ҩ)`hH5-Z`7AEb`|-.&'^/.曙wVy)[eey 訷4Vұ Jgpؾx-`l EqY\޲,zdK~{UM`؜X1+Wbكl. m {o;{>,IQ9ۺRQ `xx/ _(^lݚ 9bLL`vb >;l?^g k_Ao7c`K7mjn'}N[PJ=$>LUrVLnX #[̓M'2RcWS=42߱Wu)+Q*֤aiSI֭IᇍyiSú >&''|Ka1{0r\V2>j) p .LMIG$n]{iB=AGk[O>:x׀;tBo˝wop$D,0ڹRFG#%oFnE}GHL! Vٳh<\Æ7agaCC߰aaxN,ﳙiڋX鬣媫om* dt?ݻa'OzqV&$_ C ^xl % LNK/ɍ:{z-Ki ?9~f}e _;FbnK~cNO>DxKXD孌߮dl m*QyY<7}}$Y_.tu‰E`JԡClN#G| 9wݥaO(2= d`&rw*"zq^{} m^S|'fӖMg#G 19q>}cc9siԨ&zE`vu^2Y֭H?Y,Oeq1 q_drraU3I?D 08Etĉ8$[`ӤANnлGjI۶l{w] ey{FsV3{R $ /|P$0 G|}l܁M[EZ0< 8UdǏc\_-gfХ$edHB űs'03ƀMԔFddK<~ۡ9RV^ymZhYŦO#G^ }7ر/TsjS^ªDXy>[MMةin`jhfor%O&#ǃ_20UI6eg? |-SbB =B|r)ߛo׬IoS5I{/ߧK#i t͂m5?8n@֡?`m )=65β${2f©w3&=ׇ>ǁOBhMPy1"0r;>੧7ѿy37l@M۶ }ŪU#i_=ElG,J.wyMDu###K{|책$'N x#2ra"Юt܋u 09]CC=M_ϨJ=BLlȪMM}o =ܵGl8ϡCCøI`T#8z*h̛|kٰ陧;L @LeVРm LO{vd uƙa{k!Ψ*i4˱~_޲ wc`,P28(8|PnF:MNb@o2\ebp}7. >+:: ^sy ۪ۓ &?qZUeӆwM6x{9ґ-X)WS`B7I"*vf*N"36&^z 7px3I`m>hy7[ە*0ʢbp\P^Ps_~ b_7!iQU* 4|x(ijưiᴚIɼ7>Ѓ_U'>>(zYh"$,$>So?>]b@6!ցlHȖ(afA>s[3P `F5 6]*ȃA˲ _`^WˀXR>m^rJ}jhjkdV`W* FEqUH9`}3np#,T^-˿nϓwIǍQ>8(qF$i4pn~,5_*.k4=}6P* T({1 .@HSB? 8=kFtZ2SϷUQYHXKdBpf}nM~0=mt]cؘ|߳ϲQ@YwDne4n+\F` e]5H fۨdSjǪU~恐ͱAC\}ц"pf~`z{lšn #Yd nɓ 7[_/Åz]=ͨY0^|ΆjȁEf9uعy i Q>]wu=3}ʒ˒ǎ?h&>ܕQ("?|j[y&KkqMА_Yt3A/ ]q#ח7gK0WBO=`vMӸOOl2T ziI04H`t't#q wr&<`S:^/ot@%'@]ul&&쾨sj~G8Ghb:J≡D<v- ٻW#L(;oQ9Էm~˾ Rup0<T3IWRAqcZĄdk_s74oe/CQ?vLS򗁓'[$j//]*Q $0LBcC OMʕY=܃=> <>$vl4~G8V5МTA`gIDATLkD<`Mo|zسǮddx5>i6Z;ӿo4X$YzT?w< 8{_}FFXu|I{<|tf2 x_R X=9ӪU3=lu׵ӝ:S l\aPyN{5 :PVei~RkWjo ><?1  WJdcrV!DjH3j8iG~cFkGӗ;jQA(k.@~<|-[ 6z|)Ȼg<\..FGxdDoe2=FGݛIg[׭(ܹͰYٳD 'ܘfsuOh=..G'NBrڢN|:z$a]WTcg]w҈jԹ9z!;.tޚ6q?oap7+_}Gds6/|K'ر?[>O&&n/u4cǟx!:'O^cn@@6e]pǏv8ZG?~eIRw|뿋+8g;?;5+ `[;¨q' 50X,p9X?`aW]`)ŭeQN m/M+n#fYJ8XM.Hq iGІYةSa6:i3 zƇ]lH)LZw)$Gݶ$idzvQX\h-Y< Xee/C#c9TMTj#BGeXYyN^&n\:?H`t'$B#ӫXR.0T" ;lU n?_,9o*ȱ67o&"* "l.@r';w*lナaTzW|nJeLX%)w[.c7 lظX~ax9Z2cH7 "& VY '"m֭s72v*>;;w. ׁ?C:lʆ:wI#-EGFHyTƝ O? ~)f!ٰ̓b^GaqiM1zPPNITmF5h `r̖-iZD#=u}k6tFQWy} |NFy0\٨[Rw"'Xg'$ճҷ'vJyB:!;}})Vua؆ʍq$pcNi_%q9<ҔUr,Rj3ڍ}e>K{e8fgGe_|a=ff(Ykc^Z>Ɠspٽ`M:edLV*MeΜ kְ+VΟ{폞;V~1cecxmEUq9Y&2"bU[3y0^.,p,~zp%*w"]s,0:яܷM񋿸O.Z +xKR>9?J. ]Sx&r %V|Soֲt!4O_{~rbTpYtmHT(?pB(X 땆 dߴ Mk6kEf?P"g}a> AW!Ii-UJ o nI:SVv1m4 6!n$mjuxxNaPKN&\/߃bF?': @q"|r%d;T@YTbL aeC.+]̈hG~f<2j*?S>W.H; h\6ŷ[ BB̻1 I`ЌD8jV~l;e =Kisiuh*W%N>#,};  KGK_Yo*b*<Uapk9_+ 6edkyEHuiv=f{ PlzIY\[K֯7}==_\ SS]Gbi&fy*Qvn̫ :9w Dmߞ- "׻ٝɓhKwwhgr%!H2PWycFsq[X:QysvrҕrSTF$"+2A֙7#Ob2]L>2\Nc;v>Z s5=ĚI``x9`&71:Qb t0G0Mgi4071;1f w/ YʕZQ[O=L^AO2~$Xf"|4BQ/:&iWLBUO2bہC[Q`R{;t3A of\ώ$4ZT]`ȣShnMo7qq08hn*Y=l}b8~t銛(*y/ʤEn9^Y`t݉>qs~i3W$kְ>IHF,hU3ٴ,l&3ѽ(y$o|z4dTV#m/a06:/ I6oA*/j~AQoDƏd_/iyu$b={qx3_Q*|#͛*z/R}L4}"6r-NK?>asZ<ʕ_kgG,3L`=x]WyP*{-&0ɛիo,(m)9ei&&}08$u6bdݺ;x.ؿ57p=0sɹ"2~pWFvzi e8biaqjuUKln[61 ,{y¦.PkI',YQǀ5k/} s2q0b[^pD!$%ry#.bm ˖jz<+,phm =-{"㲮 2ػgVBB)/17Yyf.c#vڸ}ME .p.w3A+Melb`}*+VS}ݹGyN+|u# ]`0MڼQzWtHe!y5m$~i %(]`(M Hb VU/Dy3|C}uo{BI`t{eWZC+ǘ/Y^$ç׵^*bᢰ.su$@.ld尉/ MjG.MZ}Zy3e?l)߅m %ϦffrvEGK=1y0Dt E*" :h> t.ĸLbICE-V$!пMIދ ~(ExHl%&b$m$GT$eKRb/M~Em"&5JPUh> ]Ӆm\YSH@HB;c܈qtl=@):̛h1[HM#(0J]7H7",TeBV_],M't8T$D b+g0]GAFy)d7֓ge+O:tbۦ,(R<.i} ^ W/C>gWOEU2n~ź-(0B:O\k} OoZi/ aC?K\EpocLjSNV{2zUؔ6</ok|aSl6.ie`J vQ/~CieK@xC|ē:/,s>zm!q]CY`ĀJd&۶vUaqM4>mV*EV^!_Ϸ~i]+q> B2W&t\*~S|`MD "CaS,i$4!$F'hLXE[H\iTdڧ]g&,j5ti Hm"m*uS&@U&.@0I6O$= _Ѷdzkk^ Q`DOCvDLkmqEhWIO#W#7"rTtv*Fv]⤉D _"<EM&K.vmIlT|u6bcmA\hrx̣Q'w~C[8` `g 訣 ,IzFllƶzҦms;KWB.KnڟW,lc˶▥6═ųT)p@bf2LVFY&:_Eq"{6x34TЄ,0\\ryh0Ӷ)k~`aNrVx\=6ݾ4"F2nώ+imȗDK]ċɾMeg]do|Mm|__t^]"V$4'/3n-n2G$P8WuIbZK5$)0X'uUn#d3ٓK1Yf?Og[Fۊڥܪ0RgB4"Fdm6U&i¦l.Eio"+&c>{L\SUry7髼6o.^UE7JFʠK#cS 4Aw-d 1W+bzkMi#w"j &c]қ<(*a6$=&O|؟ Y-.6x c TU_tN_FX VqJT\⾴[U68Mxi6ΎȰ)Ud3a6 Ym˭g dcuSd~ԯ 鑐 Nl؊F'DB σ1+M$FIE.@xDB# lue\j4y ՕŦ [Q"$\weBEimI#~\ⱉR/*,_˞UDMeBT(5(Nㅰˆ2nD\qʈ Qdlڳ ۵ _^M#SVUBd9M%`+΀jooְ t4|peoa)complex. It becomes an issue, that you have to search the list. move a_zoom a_pan to i_* world perhaps rename a_basic to something else go through and fix left, top, right, bottom to be what they really mean (0,0 is in the lower left) get some consistancy with *_world world_* etc.. *_world_* (in complex really) DONE Make zoom in, zoom out, pan a single function. Now this is doable DONE Remove gd/gd.h from every file... in gschem and libgeda DONE Inconsistant naming of o_current, object, current etc... DONE Get accurate names for o_list... routines. like o_list_delete_all which doesn't delete all (it doesn't delete the head) FIRST Figure out gtk_signal_connect and friends: proper last param. SHOT DONE DONE The p_connect stuff is unused and needs to be removed DONE Created o_net_translate_world (been using line function) DONE Replace all struct st_object with a typedef ---------------------- Feature additions (no particular order): ---------------------- Seperate translate in the X and Y directions (in addition to the current coupled X and Y translate) Simplify i_update_* so that static strings are being re-set constantly Added rc keyword for pin/net thickness (the value) and for visual cue size there was an analog to the 'array' command where you select a group of stuff and hit array, enter the number of rows and columns, and the relative spacing between them, and the copies the thing nxm times and draws it all for you. when first editing a text object, after the popup box appears with the highlited selection, hitting the right arrow key would clear the highlight and keep the cursor at the end of the text. Text as objects: Visual texts to be selected separately. All text geometry stored relative to its "mother object" so that the text moves when the "mother" does. Go through and make sure everything has a default (every release) Added LogFilename keyword Document all the features of the dialog boxes (returns etc...) Document filename naming restrictions: - Symbols are named filename.sym - Schematics are named filename_#.sch where # is sheet number - Sym/Sch names need to be unique. - ONE dot per filename! Generalize the way source files are displayed, ie if you get a .gif the program should run a image program, use mime.types and mailcap for this Change directory option? Open symbol pops up a new window, configurable through rc file Configurability of mouse button order (left vs right handed) Configurable "hit return and close dialog box" for attributes, components etc... Configurability as to what mode a cancel (with right mouse button) does. Breaking of nets when you connect in the middle. Two "indicators" in some way (suggest to the right of the pulldowns) that indicates if you're in 'toggle snap' or not, and if you're in 'toggle grid' or not. 'Toggle grid' might not be useful because you should see it :-) Then 'Toggle outline' is another choice? Another menu option to rotate one component? Or check if the selection is just one component and via a gschemrc item give the user the possibility to rotate the component around it's origin or a common point? Rotate more selected objects the way it is implemented now. Complex within a Complex? Probably not yet at least not yet. (might work mostly now, but not completely) This is not the same thing as hierarchical design. A set of compile or runtime flags to control "fluff" (ie make things go as fast as possible) metric units instead of mils (in addition to mils) Not sure I like that selectable vs unselectable flag in complex's Fix with locking layers Fix o_edit to handle multi edits. Should be just a code clean: get rid of all direct access to new_sel_head and friends pass in structure that is being edited... Move object/structure code out of x_dialog.c PIN/NET thickness configurability Add code so that when you switch between actionfeedback modes and your inside an action you get instant feedback Not a well behaved X program: finish wm hints, icon, X commandline args etc... DONE Add config option for geometry of the window. (or command line option) DONE Fix the stupidity of when net consolidation is on, you unselect everything. This was temporary till you rewrite o_net_consoliate_lowlevel (in libgeda) DONE Code to have all attributes visible DONE Make sure snap spacing is set to 100 when doing symbol translates (warn user in log window) DONE Added the ability to rotate embedded components DONE Fix the color scheme and make it flexable. OKAY Figure out if you want the net draw/add action to end when you draw a zero length net (configureable?) DONE Check and see what we are doing with invisible attibutes, if we are rendering them or not (to speed things up), fixed by NOT creating the attribute (or text) DONE Check for incorrect angles on text... warn user DONE Add dashed lines etc... DONE When you rotate a component, associated attributes get de-assosciated write code to fix this DONE Search for schematic in memory and don't load it from disk if it is. DONE Add the ability to specify $HOME in an rc file for a path ( do you want to do ~ as well? ) DONE Do sanity checks on all drawing input DONE Better handling of dot/square size routine drawing based on zoom factor DONE Don't allow zero length objects in general DONE Alignment of text objects DONE Move schematic filenames toward the _# convention. Where the # (is a number) signifies the sheet number it's on. Will make moving between sheets easier. DONE A toggle invisiblity ALL objects DONE Automatic saving DONE mouse coordinates DONE Document the ortho/non ortho ability of nets NAH Consider using an aspect frame to control the aspectratio of the drawing area (enforce aspect ratio then indirectly) DONE Dialog box for printing... (first cut) DONE Default behavior of caps vs case sensitive labels/text? make this configurable GONE fix dialog box to be able to handle NEW discards... see NEW define in x_filesel.c DONE Editing of objects: TEXT - color size string LINE/CIRCLE/ARC/BOX color endpoints? NET/COMP ???? DONE configuration ability for ortho pins and nets This wasn't done, but you can draw non-orth lines and nets. (non ortho pins might be added later) OKAY Pins need their own conn_recalc routine DONE Boxes (box and selection) that go in both directions... left->right right->left DONE Attribute dialog box. which lets you select the standard attributes DONE Font system must be replaced by a more flexable system. Ie arbitrary text sizes allowed and the choosing of the font should be based on zoom_scale. DONE Add lock down component code and interface hook. DONE Add a new dialog box for saving and managing pages. Use a different mechanism for calling the saveas dialog box. DONE Panning: the working area follows the mouse. DONE Move/Copy actions start right away after hot key press DONE Go back and look at 4 nets coming together problem (not showing dot) DONE Added text dialog box which behaves like attribute add. DONE Better toggle buttons for visibility etc (sub instead: GtkSpinButton) MOSTLY Object clipping... DONE WORKING component slotting (ie dealing with the number of slots in a packages) WORK Analog support (draw symbols) IN PROGESS Second TODO list 0 = every release 1 = just started 2 = crude basics working 3 = mostly working 4 = a lot fluff added 5 = done easy: 0 remove all // comments comments in the code Control-C handler checks for all system calls (with perror) update specs crosshair 1 buses 1 macro/extensiable lang 1 Make symbol (odd bug with hitting S twice then it works ? ) 2 cleanup printfs 3 object clipping out of active window 3 dashed lines (slightly hard, but time consuming to change code value?) 3 sloting (as in pin numbers in multpacks) of components 3 console 3 Standard place for symbols/symbol hierarchy 4 stretch/edit of nets 4 newer net system 4 color selection (better color handling) 4 boundingbox vs outline 4 hierarchical design 4 pins (still need to check conn funcs) 4 interface cleanup 4 multibuffers (make sure all routines don't hardcode new_sel_head) 5 rotate of complex 5 logging mechanism 5 push/pop into a symbol 5 mirror of primatives 5 mirror of complex 5 arcs 5 rotate of primatives 5 attributes 5 zoom box 5 text (vector font) 5 finer grid (selectable snappage) 5 page system 5 multi select box! / window select 5 contrained move/copy 5 fix all return values 5 Change color of highlight to light grey 5 prototypes for everything 5 Change file format to use letters for types instead of #'s 5 outline copies should be more color realistic 5 middle button to repeat last command? 5 attributes with names= etc... 5 backingstore and improved expose event handling 5 multi select 5 scrollbars 5 Contrained lines (with control key like o_drawbounding()) medium: netlists (belongs in gnetlist) layers harder: transparent zooms and pans client lib to do above and protocol cut and paste questionable: active attributes HUD have cursor jump around if snap on MISC ------------- - A solution to the current block problem (offset wrong) is to write out the block as it is in memory to the file.. and then when it is loaded again it will be correct... hmmmmm.. use the left/top coords as the starting x and y then instead of the original pair... - A better solution would be to translate all the objects to zero zero and then save the object as a symbol. Of course this is what I did Requires a color display Doesn't work too well with AutoRaise This has improved, but I still need to work on this. misc FAQ ----------------------------------------------------------------------------- Q: Copying/Moving objects that aren't on the grid, causes them to snap onto the grid if snap is on. What's the deal with that? A: This is a "normal" behavior. It is an artifact of how I do grid/snap locking. Don't move/copy objects which are not snapped to the grid with snap on. Since this is not a general purpose drawing program, don't work with the snap off. You should only have to do that if you are adding text in key places or drawing symbols. I am thinking on how to improve my snap/grid locking to be more robust. REWRITES ------------------------------------------------------------------------------ - A possible redo of the boundingbox idea, what if you searched through all individual boundingboxes on all objects (especially complex) - Coord system needs total rewrite. Maybe not, but it is lacking in that it is based on ints Misc Stuff todo: ------------------------------------------------------------------------------ midpoint droppings on moves/copies Suggested ideas: ----------------------- (this list is not complete, there are still many more people who suggested stuff, and each of the listed people suggested other things. I just haven't had time to move the ideas from my mailbox to here) suggestions by: Andrew Dyer - View logic compatibility - web enabled : schematics/symbols/models viewing/distributing on the web etc. - in-memory connections database - revision control (cvs rcs) - infinite undo - EDIF (and tango netlists) and other friends - extension lang/ macro lang (tcl, forth ? ) - EDITOR support for editing big symbols - arrow key support suggestions by: Erik de Castro Lopo - SPICE netlist format - Scrollbars and a better zoom (center of window) - properties dialog box for components - Design Rule Checking and dialog box suggestions - better window/aspect ratio control (get rid of mostly) - more dynamic window size (give user more control) suggestions by: Emmanuel Rouat - connected nets staying with components with distortion. suggestions by: Matt Ettus - RCS/CVS support (another vote for this) - project management program ("glue" between programs) - remove concept of filename from gschem ??? (a design librarian) suggestions by: borges@ifi.uio.no - Set a dialog box size on component select. - escape key to cancel. - libraries with this subsloting idea? . - Scrollbar on the middle button (configuration) - toolbox with icons. - alternate move/copy behavior. Just select object and drag. suggestions by: Harry Eaton - spread-sheet window that contains properties of whatever you're interested in on the schematic (could be a list of elements, names, spice model names, package types, etc, or a list of nets, and their properties) suggestions by: Kyriacos Iacovou - draw/outline commands with the mouse to select the various modes suggestions by: Stefan Petersen - As few keystrokes/mouse clicks as possible -> stay in mode until users selects a new mode - alternate move/copy behavior: Just click and drag. suggestions by: Jeff McNeal - Another vote for nets update when you move a component - Strokes. A la CADENCE or Mentor. - Go to FreeHDL intermediate format instead of VHDL? suggestions by: Michael Linnemann - A manual keyboard search entry for entering symbols. - better symbol lookup searching catagorizing mechanism suggestion by: Magnus Danielson - Oh, shouldn't we rewake the idea of a symbol/symbol library contribute button? You know, when a user wishes to contribute a symbol, a number or symbols or even a full library (directory) he/she can just walk down the File menu and select Contribute Symbol... which will do screening, encapsuling and then mail/ftp the symbol to you (geda.seul.org). Future Specifications for gschem ----------------------- Basic Stuff ------------- text add edit nets be one complete net (not done yet) add to existing net break net (filled|empty) squares/cross at the end of nets (filled|empty) circles at midnet connection points boxes circles ellipses? lines pins busses arcs complex add push pop create symbols attributes attach detach edit execute special action value=name Layers Operations (for all objects) ---------- copy move delete cut and paste Constrained/Free move (SHIFT/CTRL keys) outline/move multiselect/deselect (SHIFT/CTRL keys) select box rotate? View ---- Zoom in/out Zoom Full Pan Redraw Other stuff ---------- Page system (neads to be done early) page size selection Zoom box (?) Printing to postscript all units in mils File ---- open close save save as rcfile handling color selection mode selection library path selection interface --------- Flexable interface should be easy to use console scripting language geda-gaf-1.8.2/ChangeLog0000664000175000017500000000051612050461155011653 00000000000000============================================== 'gschem and Friends' Electronic Design Suite ============================================== Copyright (C) 1998-2009 gEDA Developers Please see the `ChangeLog' files in the various component subdirectories for detailed change information. .. Local Variables: mode: text End: geda-gaf-1.8.2/configure.ac0000664000175000017500000002253412220655706012401 00000000000000dnl -*-Autoconf-*- dnl Process this file with autoconf to generate configure. dnl dnl The AX_* macros are defined in files in the top-level m4 dnl directory. ##################################################################### # Set up configuration system ##################################################################### AC_INIT([gEDA/gaf], [1.8.2], [https://bugs.launchpad.net/geda], [geda-gaf]) AC_PREREQ([2.60]) AC_CONFIG_SRCDIR([libgeda/src/libgeda.c]) AC_CONFIG_AUX_DIR([build-tools]) AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_HEADER([config.h]) AM_INIT_AUTOMAKE([parallel-tests color-tests]) AC_GNU_SOURCE # FIXME for some reason this is needed? ##################################################################### # Do version number magic ##################################################################### AX_GIT_VERSION([20130925]) # This is used for keeping the ChangeLog files up-to-date AC_SUBST([CHANGELOG_BASE], [1.0-20070526]) ##################################################################### # Windows/MinGW/Cygwin support ##################################################################### AX_WINDOWS_FLAGS ##################################################################### # Check for compiling & linking tools ##################################################################### AC_PROG_CC AC_PROG_CPP AC_LIBTOOL_WIN32_DLL AC_DISABLE_STATIC AC_PROG_LIBTOOL AM_PROG_CC_C_O AX_GCC_FLAGS([-Wall]) AC_PROG_MKDIR_P AM_PROG_LEX AX_PROG_AWK AX_PROG_GROFF AC_PATH_PROGS([M4], [gm4 m4], [m4]) ##################################################################### # Internationalisation ##################################################################### AM_NLS AM_GNU_GETTEXT AM_GNU_GETTEXT_VERSION([0.16]) AX_DESKTOP_I18N ##################################################################### # Check for libraries that use pkg-config ##################################################################### PKG_PROG_PKG_CONFIG AX_CHECK_GUILE([1.8.0]) PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.20.0], , AC_MSG_ERROR([GLib 2.20.0 or later is required.])) PKG_CHECK_MODULES(GTK, [gtk+-2.0 >= 2.16.0], , AC_MSG_ERROR([GTK+ 2.16.0 or later is required.])) PKG_CHECK_MODULES(GDK_PIXBUF, [gdk-pixbuf-2.0 >= 2.16.0], , AC_MSG_ERROR([GDK_PIXBUF 2.16.0 or later is required.])) PKG_CHECK_MODULES(CAIRO, [cairo >= 1.8.0], , AC_MSG_ERROR([CAIRO 1.8.0 or later is required.])) ##################################################################### # Header files & particular functions ##################################################################### AC_HEADER_SYS_WAIT # FIXME these checks are obsolete, because every plausible platform # provides what they check for. AC_HEADER_STDC # FIXME these checks may be pointless for one of three reasons: every # even vaguely sane libc implementation provides them; we don't use # any of their functions in favour of GLib alternatives; or we don't # provide an alternative, so the build will fail anyway. AC_CHECK_HEADERS([stdlib.h string.h unistd.h]) # FIXME since we don't have a sensible alternative, if these headers # are missing we should fail. Also need to remove HAVE_ERRNO_H tests # in the C source code, since if we *don't* have it the build will # fail anyway. AC_CHECK_HEADERS([errno.h fcntl.h]) # FIXME On a system without locale.h, the user may have just disabled NLS # to be able to build. But are there known systems with working NLS but # without a locale.h? We do need to include locale.h on some systems # to be able to build gschem/src/gschem.c AC_CHECK_HEADERS([locale.h]) # Check for lrint in math library. AC_CHECK_LIB([m], [lrint], AC_DEFINE([HAVE_LRINT], 1, [If your math library has lrint in it, define this])) AC_CHECK_LIB([m], [atan2]) AC_CHECK_FUNCS([chown getlogin]) # Check if the getopt header is present AC_CHECK_HEADERS([getopt.h]) # Check for getopt_long # On FreeBSD the 'gnugetopt' library is needed. AC_SEARCH_LIBS([getopt_long], [gnugetopt], AC_DEFINE([HAVE_GETOPT_LONG], 1, [Define to 1 if you have the `getopt_long' function.])) # Check for misc features of awk AX_AWK_FEATURES ##################################################################### # Optional things ##################################################################### # Assertions AX_OPTION_ASSERT # Viewing documentation AX_OPTION_URI_VIEWER # API documentation AX_OPTION_DOXYGEN # XDG desktop files AX_OPTION_XDG_DATA # KDE 3 desktop files AX_OPTION_KDE3_DATA # XDG database updates AX_OPTION_XDG_DB # libstroke support AX_OPTION_STROKE # gattrib AX_OPTION_GATTRIB ##################################################################### # Tool-specific setup ##################################################################### # Where should data files be installed/searched for? AX_DATA_DIRS # Where should PCB footprints be searched for? AX_PCB_DIRS # Set up libgeda with the correct ld version number AX_LIBGEDA([42:1:0]) ##################################################################### # Generate output ##################################################################### AC_CONFIG_FILES([Makefile intl/Makefile libgeda/Makefile libgeda/libgeda.pc libgeda/po/domain.mak libgeda/po/Makefile.in libgeda/shell/Makefile libgeda/data/Makefile libgeda/docs/Makefile libgeda/docs/images/Makefile libgeda/include/Makefile libgeda/lib/Makefile libgeda/scheme/Makefile libgeda/share/Makefile libgeda/src/Makefile gschem/Makefile gschem/po/Makefile.in gschem/docs/Makefile gschem/include/Makefile gschem/scripts/Makefile gschem/src/Makefile gschem/examples/Makefile gschem/lib/Makefile gschem/data/Makefile gschem/bitmap/Makefile gschem/tests/Makefile gschem/scheme/Makefile gattrib/Makefile gattrib/po/Makefile.in gattrib/design/Makefile gattrib/docs/Makefile gattrib/include/Makefile gattrib/lib/Makefile gattrib/lib/system-gattribrc gattrib/src/Makefile gattrib/data/Makefile gsymcheck/docs/Makefile gsymcheck/include/Makefile gsymcheck/lib/Makefile gsymcheck/lib/system-gsymcheckrc gsymcheck/src/Makefile gsymcheck/tests/Makefile gsymcheck/Makefile gnetlist/Makefile gnetlist/src/Makefile gnetlist/include/Makefile gnetlist/scheme/Makefile gnetlist/examples/Makefile gnetlist/tests/Makefile gnetlist/tests/hierarchy/Makefile gnetlist/tests/hierarchy2/Makefile gnetlist/tests/drc2/Makefile gnetlist/tests/common/Makefile gnetlist/docs/Makefile gnetlist/docs/vams/Makefile gnetlist/examples/vams/Makefile gnetlist/examples/vams/vhdl/Makefile gnetlist/examples/vams/vhdl/basic-vhdl/Makefile gnetlist/examples/vams/vhdl/new-vhdl/Makefile gnetlist/examples/switcap/Makefile gnetlist/lib/Makefile gnetlist/utils/Makefile gnetlist/scripts/Makefile gnetlist/scripts/annotate.sh gnetlist/scripts/bom_xref.sh gnetlist/scripts/bompp.sh gnetlist/lib/system-gnetlistrc utils/Makefile utils/docs/Makefile utils/examples/Makefile utils/examples/gmk_sym/Makefile utils/examples/gsch2pcb/Makefile utils/examples/tragesym/Makefile utils/gschlas/Makefile utils/gxyrs/Makefile utils/include/Makefile utils/lib/Makefile utils/lib/system-gschlasrc utils/scripts/Makefile utils/scripts/sw2asc utils/src/Makefile utils/tests/Makefile utils/tests/gxyrs/Makefile utils/tests/gxyrs/inputs/Makefile utils/tests/gxyrs/outputs/Makefile utils/tests/refdes_renum/Makefile utils/tests/refdes_renum/inputs/Makefile utils/tests/refdes_renum/outputs/Makefile symbols/Makefile symbols/documentation/Makefile docs/Makefile docs/scheme-api/Makefile docs/toplevel/Makefile docs/toplevel/gedadocs.html docs/wiki/Makefile examples/Makefile examples/RF_Amp/Makefile examples/RF_Amp/model/Makefile examples/RF_Amp/sym/Makefile examples/TwoStageAmp/Makefile examples/gTAG/Makefile examples/lightning_detector/Makefile ]) AC_OUTPUT geda-gaf-1.8.2/gsymcheck/0000775000175000017500000000000012220655755012146 500000000000000geda-gaf-1.8.2/gsymcheck/src/0000775000175000017500000000000012220655754012734 500000000000000geda-gaf-1.8.2/gsymcheck/src/g_register.c0000664000175000017500000000300112204177071015135 00000000000000/* gEDA - GPL Electronic Design Automation * gsymcheck - gEDA Symbol Check * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02111-1301 USA. */ #include #include #include #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_ASSERT_H #include #endif #ifdef HAVE_UNISTD_H #include #endif #include #include "../include/struct.h" #include "../include/prototype.h" void g_register_funcs(void) { /* general functions */ scm_c_define_gsubr ("quit", 0, 0, 0, g_quit); scm_c_define_gsubr ("exit", 0, 0, 0, g_quit); /* gsymcheckrc functions */ scm_c_define_gsubr ("gsymcheck-version", 1, 0, 0, g_rc_gsymcheck_version); } SCM g_quit(void) { gsymcheck_quit(); exit(0); } geda-gaf-1.8.2/gsymcheck/src/Makefile.am0000664000175000017500000000140712220647257014711 00000000000000## Process this file with automake to produce Makefile.in bin_PROGRAMS = gsymcheck # don't forget all *.h files */ gsymcheck_SOURCES = \ g_rc.c \ g_register.c \ globals.c \ gsymcheck.c \ i_vars.c \ parsecmd.c \ s_check.c \ s_log.c \ s_symstruct.c gsymcheck_CPPFLAGS = -I$(top_srcdir)/libgeda/include -I$(srcdir)/../include \ -I$(top_srcdir) -I$(includedir) gsymcheck_CFLAGS = $(GCC_CFLAGS) $(MINGW_CFLIGS) $(GLIB_CFLAGS) \ $(GUILE_CFLAGS) $(GDK_PIXBUF_CFLAGS) gsymcheck_LDFLAGS = $(GLIB_LIBS) $(GUILE_LIBS) $(GDK_PIXBUF_LIBS) gsymcheck_LDADD = $(top_builddir)/libgeda/src/libgeda.la MOSTLYCLEANFILES = *.log *.ps core FILE *~ CLEANFILES = *.log *.ps core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log *.ps core FILE *~ Makefile.in geda-gaf-1.8.2/gsymcheck/src/i_vars.c0000664000175000017500000000233612204177071014300 00000000000000/* gEDA - GPL Electronic Design Automation * gsymcheck - gEDA Symbol Check * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #ifdef HAVE_STRING_H #include #endif #include #include "../include/struct.h" #include "../include/globals.h" #include "../include/prototype.h" #include "../include/papersizes.h" void i_vars_set(TOPLEVEL * pr_current) { i_vars_libgeda_set(pr_current); } geda-gaf-1.8.2/gsymcheck/src/Makefile.in0000664000175000017500000012203112220655725014716 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ bin_PROGRAMS = gsymcheck$(EXEEXT) subdir = gsymcheck/src DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(top_srcdir)/build-tools/depcomp ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__installdirs = "$(DESTDIR)$(bindir)" PROGRAMS = $(bin_PROGRAMS) am_gsymcheck_OBJECTS = gsymcheck-g_rc.$(OBJEXT) \ gsymcheck-g_register.$(OBJEXT) gsymcheck-globals.$(OBJEXT) \ gsymcheck-gsymcheck.$(OBJEXT) gsymcheck-i_vars.$(OBJEXT) \ gsymcheck-parsecmd.$(OBJEXT) gsymcheck-s_check.$(OBJEXT) \ gsymcheck-s_log.$(OBJEXT) gsymcheck-s_symstruct.$(OBJEXT) gsymcheck_OBJECTS = $(am_gsymcheck_OBJECTS) gsymcheck_DEPENDENCIES = $(top_builddir)/libgeda/src/libgeda.la AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent am__v_lt_1 = gsymcheck_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(gsymcheck_CFLAGS) \ $(CFLAGS) $(gsymcheck_LDFLAGS) $(LDFLAGS) -o $@ AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/build-tools/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = $(gsymcheck_SOURCES) DIST_SOURCES = $(gsymcheck_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ # don't forget all *.h files */ gsymcheck_SOURCES = \ g_rc.c \ g_register.c \ globals.c \ gsymcheck.c \ i_vars.c \ parsecmd.c \ s_check.c \ s_log.c \ s_symstruct.c gsymcheck_CPPFLAGS = -I$(top_srcdir)/libgeda/include -I$(srcdir)/../include \ -I$(top_srcdir) -I$(includedir) gsymcheck_CFLAGS = $(GCC_CFLAGS) $(MINGW_CFLIGS) $(GLIB_CFLAGS) \ $(GUILE_CFLAGS) $(GDK_PIXBUF_CFLAGS) gsymcheck_LDFLAGS = $(GLIB_LIBS) $(GUILE_LIBS) $(GDK_PIXBUF_LIBS) gsymcheck_LDADD = $(top_builddir)/libgeda/src/libgeda.la MOSTLYCLEANFILES = *.log *.ps core FILE *~ CLEANFILES = *.log *.ps core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log *.ps core FILE *~ Makefile.in all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gsymcheck/src/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu gsymcheck/src/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ fi; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p \ || test -f $$p1 \ ; then echo "$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n;h' \ -e 's|.*|.|' \ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) files[d] = files[d] " " $$1; \ else { print "f", $$3 "/" $$4, $$1; } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ } \ ; done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ -e 's/$$/$(EXEEXT)/' \ `; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(bindir)" && rm -f $$files clean-binPROGRAMS: @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ echo " rm -f" $$list; \ rm -f $$list || exit $$?; \ test -n "$(EXEEXT)" || exit 0; \ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list gsymcheck$(EXEEXT): $(gsymcheck_OBJECTS) $(gsymcheck_DEPENDENCIES) $(EXTRA_gsymcheck_DEPENDENCIES) @rm -f gsymcheck$(EXEEXT) $(AM_V_CCLD)$(gsymcheck_LINK) $(gsymcheck_OBJECTS) $(gsymcheck_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gsymcheck-g_rc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gsymcheck-g_register.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gsymcheck-globals.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gsymcheck-gsymcheck.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gsymcheck-i_vars.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gsymcheck-parsecmd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gsymcheck-s_check.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gsymcheck-s_log.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gsymcheck-s_symstruct.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< gsymcheck-g_rc.o: g_rc.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gsymcheck_CPPFLAGS) $(CPPFLAGS) $(gsymcheck_CFLAGS) $(CFLAGS) -MT gsymcheck-g_rc.o -MD -MP -MF $(DEPDIR)/gsymcheck-g_rc.Tpo -c -o gsymcheck-g_rc.o `test -f 'g_rc.c' || echo '$(srcdir)/'`g_rc.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gsymcheck-g_rc.Tpo $(DEPDIR)/gsymcheck-g_rc.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='g_rc.c' object='gsymcheck-g_rc.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gsymcheck_CPPFLAGS) $(CPPFLAGS) $(gsymcheck_CFLAGS) $(CFLAGS) -c -o gsymcheck-g_rc.o `test -f 'g_rc.c' || echo '$(srcdir)/'`g_rc.c gsymcheck-g_rc.obj: g_rc.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gsymcheck_CPPFLAGS) $(CPPFLAGS) $(gsymcheck_CFLAGS) $(CFLAGS) -MT gsymcheck-g_rc.obj -MD -MP -MF $(DEPDIR)/gsymcheck-g_rc.Tpo -c -o gsymcheck-g_rc.obj `if test -f 'g_rc.c'; then $(CYGPATH_W) 'g_rc.c'; else $(CYGPATH_W) '$(srcdir)/g_rc.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gsymcheck-g_rc.Tpo $(DEPDIR)/gsymcheck-g_rc.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='g_rc.c' object='gsymcheck-g_rc.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gsymcheck_CPPFLAGS) $(CPPFLAGS) $(gsymcheck_CFLAGS) $(CFLAGS) -c -o gsymcheck-g_rc.obj `if test -f 'g_rc.c'; then $(CYGPATH_W) 'g_rc.c'; else $(CYGPATH_W) '$(srcdir)/g_rc.c'; fi` gsymcheck-g_register.o: g_register.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gsymcheck_CPPFLAGS) $(CPPFLAGS) $(gsymcheck_CFLAGS) $(CFLAGS) -MT gsymcheck-g_register.o -MD -MP -MF $(DEPDIR)/gsymcheck-g_register.Tpo -c -o gsymcheck-g_register.o `test -f 'g_register.c' || echo '$(srcdir)/'`g_register.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gsymcheck-g_register.Tpo $(DEPDIR)/gsymcheck-g_register.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='g_register.c' object='gsymcheck-g_register.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gsymcheck_CPPFLAGS) $(CPPFLAGS) $(gsymcheck_CFLAGS) $(CFLAGS) -c -o gsymcheck-g_register.o `test -f 'g_register.c' || echo '$(srcdir)/'`g_register.c gsymcheck-g_register.obj: g_register.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gsymcheck_CPPFLAGS) $(CPPFLAGS) $(gsymcheck_CFLAGS) $(CFLAGS) -MT gsymcheck-g_register.obj -MD -MP -MF $(DEPDIR)/gsymcheck-g_register.Tpo -c -o gsymcheck-g_register.obj `if test -f 'g_register.c'; then $(CYGPATH_W) 'g_register.c'; else $(CYGPATH_W) '$(srcdir)/g_register.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gsymcheck-g_register.Tpo $(DEPDIR)/gsymcheck-g_register.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='g_register.c' object='gsymcheck-g_register.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gsymcheck_CPPFLAGS) $(CPPFLAGS) $(gsymcheck_CFLAGS) $(CFLAGS) -c -o gsymcheck-g_register.obj `if test -f 'g_register.c'; then $(CYGPATH_W) 'g_register.c'; else $(CYGPATH_W) '$(srcdir)/g_register.c'; fi` gsymcheck-globals.o: globals.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gsymcheck_CPPFLAGS) $(CPPFLAGS) $(gsymcheck_CFLAGS) $(CFLAGS) -MT gsymcheck-globals.o -MD -MP -MF $(DEPDIR)/gsymcheck-globals.Tpo -c -o gsymcheck-globals.o `test -f 'globals.c' || echo '$(srcdir)/'`globals.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gsymcheck-globals.Tpo $(DEPDIR)/gsymcheck-globals.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='globals.c' object='gsymcheck-globals.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gsymcheck_CPPFLAGS) $(CPPFLAGS) $(gsymcheck_CFLAGS) $(CFLAGS) -c -o gsymcheck-globals.o `test -f 'globals.c' || echo '$(srcdir)/'`globals.c gsymcheck-globals.obj: globals.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gsymcheck_CPPFLAGS) $(CPPFLAGS) $(gsymcheck_CFLAGS) $(CFLAGS) -MT gsymcheck-globals.obj -MD -MP -MF $(DEPDIR)/gsymcheck-globals.Tpo -c -o gsymcheck-globals.obj `if test -f 'globals.c'; then $(CYGPATH_W) 'globals.c'; else $(CYGPATH_W) '$(srcdir)/globals.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gsymcheck-globals.Tpo $(DEPDIR)/gsymcheck-globals.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='globals.c' object='gsymcheck-globals.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gsymcheck_CPPFLAGS) $(CPPFLAGS) $(gsymcheck_CFLAGS) $(CFLAGS) -c -o gsymcheck-globals.obj `if test -f 'globals.c'; then $(CYGPATH_W) 'globals.c'; else $(CYGPATH_W) '$(srcdir)/globals.c'; fi` gsymcheck-gsymcheck.o: gsymcheck.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gsymcheck_CPPFLAGS) $(CPPFLAGS) $(gsymcheck_CFLAGS) $(CFLAGS) -MT gsymcheck-gsymcheck.o -MD -MP -MF $(DEPDIR)/gsymcheck-gsymcheck.Tpo -c -o gsymcheck-gsymcheck.o `test -f 'gsymcheck.c' || echo '$(srcdir)/'`gsymcheck.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gsymcheck-gsymcheck.Tpo $(DEPDIR)/gsymcheck-gsymcheck.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gsymcheck.c' object='gsymcheck-gsymcheck.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gsymcheck_CPPFLAGS) $(CPPFLAGS) $(gsymcheck_CFLAGS) $(CFLAGS) -c -o gsymcheck-gsymcheck.o `test -f 'gsymcheck.c' || echo '$(srcdir)/'`gsymcheck.c gsymcheck-gsymcheck.obj: gsymcheck.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gsymcheck_CPPFLAGS) $(CPPFLAGS) $(gsymcheck_CFLAGS) $(CFLAGS) -MT gsymcheck-gsymcheck.obj -MD -MP -MF $(DEPDIR)/gsymcheck-gsymcheck.Tpo -c -o gsymcheck-gsymcheck.obj `if test -f 'gsymcheck.c'; then $(CYGPATH_W) 'gsymcheck.c'; else $(CYGPATH_W) '$(srcdir)/gsymcheck.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gsymcheck-gsymcheck.Tpo $(DEPDIR)/gsymcheck-gsymcheck.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gsymcheck.c' object='gsymcheck-gsymcheck.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gsymcheck_CPPFLAGS) $(CPPFLAGS) $(gsymcheck_CFLAGS) $(CFLAGS) -c -o gsymcheck-gsymcheck.obj `if test -f 'gsymcheck.c'; then $(CYGPATH_W) 'gsymcheck.c'; else $(CYGPATH_W) '$(srcdir)/gsymcheck.c'; fi` gsymcheck-i_vars.o: i_vars.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gsymcheck_CPPFLAGS) $(CPPFLAGS) $(gsymcheck_CFLAGS) $(CFLAGS) -MT gsymcheck-i_vars.o -MD -MP -MF $(DEPDIR)/gsymcheck-i_vars.Tpo -c -o gsymcheck-i_vars.o `test -f 'i_vars.c' || echo '$(srcdir)/'`i_vars.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gsymcheck-i_vars.Tpo $(DEPDIR)/gsymcheck-i_vars.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='i_vars.c' object='gsymcheck-i_vars.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gsymcheck_CPPFLAGS) $(CPPFLAGS) $(gsymcheck_CFLAGS) $(CFLAGS) -c -o gsymcheck-i_vars.o `test -f 'i_vars.c' || echo '$(srcdir)/'`i_vars.c gsymcheck-i_vars.obj: i_vars.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gsymcheck_CPPFLAGS) $(CPPFLAGS) $(gsymcheck_CFLAGS) $(CFLAGS) -MT gsymcheck-i_vars.obj -MD -MP -MF $(DEPDIR)/gsymcheck-i_vars.Tpo -c -o gsymcheck-i_vars.obj `if test -f 'i_vars.c'; then $(CYGPATH_W) 'i_vars.c'; else $(CYGPATH_W) '$(srcdir)/i_vars.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gsymcheck-i_vars.Tpo $(DEPDIR)/gsymcheck-i_vars.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='i_vars.c' object='gsymcheck-i_vars.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gsymcheck_CPPFLAGS) $(CPPFLAGS) $(gsymcheck_CFLAGS) $(CFLAGS) -c -o gsymcheck-i_vars.obj `if test -f 'i_vars.c'; then $(CYGPATH_W) 'i_vars.c'; else $(CYGPATH_W) '$(srcdir)/i_vars.c'; fi` gsymcheck-parsecmd.o: parsecmd.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gsymcheck_CPPFLAGS) $(CPPFLAGS) $(gsymcheck_CFLAGS) $(CFLAGS) -MT gsymcheck-parsecmd.o -MD -MP -MF $(DEPDIR)/gsymcheck-parsecmd.Tpo -c -o gsymcheck-parsecmd.o `test -f 'parsecmd.c' || echo '$(srcdir)/'`parsecmd.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gsymcheck-parsecmd.Tpo $(DEPDIR)/gsymcheck-parsecmd.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='parsecmd.c' object='gsymcheck-parsecmd.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gsymcheck_CPPFLAGS) $(CPPFLAGS) $(gsymcheck_CFLAGS) $(CFLAGS) -c -o gsymcheck-parsecmd.o `test -f 'parsecmd.c' || echo '$(srcdir)/'`parsecmd.c gsymcheck-parsecmd.obj: parsecmd.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gsymcheck_CPPFLAGS) $(CPPFLAGS) $(gsymcheck_CFLAGS) $(CFLAGS) -MT gsymcheck-parsecmd.obj -MD -MP -MF $(DEPDIR)/gsymcheck-parsecmd.Tpo -c -o gsymcheck-parsecmd.obj `if test -f 'parsecmd.c'; then $(CYGPATH_W) 'parsecmd.c'; else $(CYGPATH_W) '$(srcdir)/parsecmd.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gsymcheck-parsecmd.Tpo $(DEPDIR)/gsymcheck-parsecmd.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='parsecmd.c' object='gsymcheck-parsecmd.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gsymcheck_CPPFLAGS) $(CPPFLAGS) $(gsymcheck_CFLAGS) $(CFLAGS) -c -o gsymcheck-parsecmd.obj `if test -f 'parsecmd.c'; then $(CYGPATH_W) 'parsecmd.c'; else $(CYGPATH_W) '$(srcdir)/parsecmd.c'; fi` gsymcheck-s_check.o: s_check.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gsymcheck_CPPFLAGS) $(CPPFLAGS) $(gsymcheck_CFLAGS) $(CFLAGS) -MT gsymcheck-s_check.o -MD -MP -MF $(DEPDIR)/gsymcheck-s_check.Tpo -c -o gsymcheck-s_check.o `test -f 's_check.c' || echo '$(srcdir)/'`s_check.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gsymcheck-s_check.Tpo $(DEPDIR)/gsymcheck-s_check.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_check.c' object='gsymcheck-s_check.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gsymcheck_CPPFLAGS) $(CPPFLAGS) $(gsymcheck_CFLAGS) $(CFLAGS) -c -o gsymcheck-s_check.o `test -f 's_check.c' || echo '$(srcdir)/'`s_check.c gsymcheck-s_check.obj: s_check.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gsymcheck_CPPFLAGS) $(CPPFLAGS) $(gsymcheck_CFLAGS) $(CFLAGS) -MT gsymcheck-s_check.obj -MD -MP -MF $(DEPDIR)/gsymcheck-s_check.Tpo -c -o gsymcheck-s_check.obj `if test -f 's_check.c'; then $(CYGPATH_W) 's_check.c'; else $(CYGPATH_W) '$(srcdir)/s_check.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gsymcheck-s_check.Tpo $(DEPDIR)/gsymcheck-s_check.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_check.c' object='gsymcheck-s_check.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gsymcheck_CPPFLAGS) $(CPPFLAGS) $(gsymcheck_CFLAGS) $(CFLAGS) -c -o gsymcheck-s_check.obj `if test -f 's_check.c'; then $(CYGPATH_W) 's_check.c'; else $(CYGPATH_W) '$(srcdir)/s_check.c'; fi` gsymcheck-s_log.o: s_log.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gsymcheck_CPPFLAGS) $(CPPFLAGS) $(gsymcheck_CFLAGS) $(CFLAGS) -MT gsymcheck-s_log.o -MD -MP -MF $(DEPDIR)/gsymcheck-s_log.Tpo -c -o gsymcheck-s_log.o `test -f 's_log.c' || echo '$(srcdir)/'`s_log.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gsymcheck-s_log.Tpo $(DEPDIR)/gsymcheck-s_log.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_log.c' object='gsymcheck-s_log.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gsymcheck_CPPFLAGS) $(CPPFLAGS) $(gsymcheck_CFLAGS) $(CFLAGS) -c -o gsymcheck-s_log.o `test -f 's_log.c' || echo '$(srcdir)/'`s_log.c gsymcheck-s_log.obj: s_log.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gsymcheck_CPPFLAGS) $(CPPFLAGS) $(gsymcheck_CFLAGS) $(CFLAGS) -MT gsymcheck-s_log.obj -MD -MP -MF $(DEPDIR)/gsymcheck-s_log.Tpo -c -o gsymcheck-s_log.obj `if test -f 's_log.c'; then $(CYGPATH_W) 's_log.c'; else $(CYGPATH_W) '$(srcdir)/s_log.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gsymcheck-s_log.Tpo $(DEPDIR)/gsymcheck-s_log.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_log.c' object='gsymcheck-s_log.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gsymcheck_CPPFLAGS) $(CPPFLAGS) $(gsymcheck_CFLAGS) $(CFLAGS) -c -o gsymcheck-s_log.obj `if test -f 's_log.c'; then $(CYGPATH_W) 's_log.c'; else $(CYGPATH_W) '$(srcdir)/s_log.c'; fi` gsymcheck-s_symstruct.o: s_symstruct.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gsymcheck_CPPFLAGS) $(CPPFLAGS) $(gsymcheck_CFLAGS) $(CFLAGS) -MT gsymcheck-s_symstruct.o -MD -MP -MF $(DEPDIR)/gsymcheck-s_symstruct.Tpo -c -o gsymcheck-s_symstruct.o `test -f 's_symstruct.c' || echo '$(srcdir)/'`s_symstruct.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gsymcheck-s_symstruct.Tpo $(DEPDIR)/gsymcheck-s_symstruct.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_symstruct.c' object='gsymcheck-s_symstruct.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gsymcheck_CPPFLAGS) $(CPPFLAGS) $(gsymcheck_CFLAGS) $(CFLAGS) -c -o gsymcheck-s_symstruct.o `test -f 's_symstruct.c' || echo '$(srcdir)/'`s_symstruct.c gsymcheck-s_symstruct.obj: s_symstruct.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gsymcheck_CPPFLAGS) $(CPPFLAGS) $(gsymcheck_CFLAGS) $(CFLAGS) -MT gsymcheck-s_symstruct.obj -MD -MP -MF $(DEPDIR)/gsymcheck-s_symstruct.Tpo -c -o gsymcheck-s_symstruct.obj `if test -f 's_symstruct.c'; then $(CYGPATH_W) 's_symstruct.c'; else $(CYGPATH_W) '$(srcdir)/s_symstruct.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gsymcheck-s_symstruct.Tpo $(DEPDIR)/gsymcheck-s_symstruct.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_symstruct.c' object='gsymcheck-s_symstruct.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gsymcheck_CPPFLAGS) $(CPPFLAGS) $(gsymcheck_CFLAGS) $(CFLAGS) -c -o gsymcheck-s_symstruct.obj `if test -f 's_symstruct.c'; then $(CYGPATH_W) 's_symstruct.c'; else $(CYGPATH_W) '$(srcdir)/s_symstruct.c'; fi` mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) installdirs: for dir in "$(DESTDIR)$(bindir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-binPROGRAMS install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-binPROGRAMS .MAKE: install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \ clean-binPROGRAMS clean-generic clean-libtool cscopelist-am \ ctags ctags-am distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-binPROGRAMS \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am uninstall-binPROGRAMS # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/gsymcheck/src/s_symstruct.c0000664000175000017500000000723212220647257015422 00000000000000/* gEDA - GPL Electronic Design Automation * gsymcheck - gEDA Symbol Check * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02111-1301 USA. */ #include #include #ifdef HAVE_UNISTD_H #include #endif #include #include "../include/struct.h" #include "../include/globals.h" #include "../include/prototype.h" /* call this for every symbol that needs to be checked */ SYMCHECK * s_symstruct_init(void) { SYMCHECK *s_symcheck; s_symcheck = (SYMCHECK *) g_malloc(sizeof(SYMCHECK)); s_symcheck->info_messages = NULL; s_symcheck->warning_messages = NULL; s_symcheck->error_messages = NULL; s_symcheck->graphical_symbol=FALSE; s_symcheck->missing_device_attrib=FALSE; s_symcheck->device_attribute_incorrect=FALSE; s_symcheck->device_attribute=NULL; s_symcheck->missing_pinseq_attrib=FALSE; s_symcheck->multiple_pinseq_attrib=FALSE; s_symcheck->duplicate_pinseq_attrib=FALSE; s_symcheck->missing_pinnumber_attrib=FALSE; s_symcheck->multiple_pinnumber_attrib=FALSE; s_symcheck->duplicate_pinnumber_attrib=FALSE; s_symcheck->missing_numslots_attrib=FALSE; s_symcheck->slotting_errors=FALSE; s_symcheck->found_oldpin_attrib=FALSE; s_symcheck->found_oldslot_attrib=FALSE; s_symcheck->unattached_attribs=FALSE; s_symcheck->found_net=FALSE; s_symcheck->found_bus=FALSE; s_symcheck->found_connection=FALSE; s_symcheck->found_footprint=FALSE; s_symcheck->found_refdes=FALSE; s_symcheck->numpins=0; s_symcheck->numnetpins=0; s_symcheck->numslots=0; s_symcheck->numslotpins=0; s_symcheck->error_count=0; s_symcheck->warning_count=0; s_symcheck->missing_pintype_attrib=FALSE; s_symcheck->multiple_pintype_attrib=FALSE; s_symcheck->duplicate_pintype_attrib=FALSE; return(s_symcheck); } void s_symstruct_print(SYMCHECK *s_current) { GList *list; char *msg; if (verbose_mode > 2) { list = s_current->info_messages; while (list != NULL) { msg = (char *) list->data; /* printf("found info: %s\n", msg); */ if (msg) { s_log_message("Info: %s", msg); g_free(msg); } list = g_list_next(list); } } if (verbose_mode > 1) { list = s_current->warning_messages; while (list != NULL) { msg = (char *) list->data; /* printf("found warning: %s\n", msg); */ if (msg) { s_log_message("Warning: %s", msg); g_free(msg); } list = g_list_next(list); } } if (verbose_mode > 0) { list = s_current->error_messages; while (list != NULL) { msg = (char *) list->data; /* printf("found error: %s\n", msg); */ if (msg && verbose_mode) { s_log_message("ERROR: %s", msg); g_free(msg); } list = g_list_next(list); } } } void s_symstruct_free(SYMCHECK *s_current) { if (s_current) { g_free(s_current->device_attribute); g_free(s_current); } } geda-gaf-1.8.2/gsymcheck/src/s_log.c0000664000175000017500000000234012204177071014113 00000000000000/* gEDA - GPL Electronic Design Automation * gsymcheck - gEDA Symbol Check * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02111-1301 USA. */ #include #include #include void s_log_update (const gchar *log_domain, GLogLevelFlags log_level, const gchar *buf) { if (buf == NULL) return; switch (logging_dest) { case STDOUT_TTY: fputs (buf, stdout); break; default: break; } } geda-gaf-1.8.2/gsymcheck/src/g_rc.c0000664000175000017500000000414512220647257013735 00000000000000/* gEDA - GPL Electronic Design Automation * gsymcheck - gEDA Symbol Check * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02111-1301 USA. */ #include #include #include #include #include #include #ifdef HAVE_STRING_H #include #endif #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_UNISTD_H #include #endif #include #include "../include/struct.h" #include "../include/globals.h" #include "../include/i_vars.h" #include "../include/prototype.h" SCM g_rc_gsymcheck_version(SCM scm_version) { char *version; SCM ret = SCM_BOOL_T; SCM_ASSERT (scm_is_string (scm_version), scm_version, SCM_ARG1, "gsymcheck-version"); version = scm_to_utf8_string (scm_version); if (g_strcasecmp (version, PACKAGE_DATE_VERSION) != 0) { fprintf(stderr, "You are running gEDA/gaf version [%s%s.%s],\n", PREPEND_VERSION_STRING, PACKAGE_DOTTED_VERSION, PACKAGE_DATE_VERSION); fprintf(stderr, "but you have a version [%s] gsymcheckrc file:\n[%s]\n", version, rc_filename); fprintf(stderr, "Please be sure that you have the latest rc file.\n"); ret = SCM_BOOL_F; } free (version); return ret; } /*************************** GUILE end done *********************************/ geda-gaf-1.8.2/gsymcheck/src/s_check.c0000664000175000017500000012207612220647257014426 00000000000000/* gEDA - GPL Electronic Design Automation * gsymcheck - gEDA Symbol Check * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02111-1301 USA. */ #include #include #ifdef HAVE_STRING_H #include #endif #ifdef HAVE_STRINGS_H #include #endif #ifdef HAVE_UNISTD_H #include #endif #include #include "../include/struct.h" #include "../include/globals.h" #include "../include/prototype.h" int s_check_all(TOPLEVEL *pr_current) { GList *iter; PAGE *p_current; int return_status=0; for ( iter = geda_list_get_glist( pr_current->pages ); iter != NULL; iter = g_list_next( iter ) ) { p_current = (PAGE *)iter->data; if (s_page_objects (p_current)) { return_status = return_status + s_check_symbol (pr_current, p_current, s_page_objects (p_current)); if (!quiet_mode) s_log_message("\n"); } } return(return_status); } int s_check_symbol (TOPLEVEL *pr_current, PAGE *p_current, const GList *obj_list) { SYMCHECK *s_symcheck=NULL; int errors=0, warnings=0; s_symcheck = s_symstruct_init(); if (!quiet_mode) { s_log_message("Checking: %s\n", p_current->page_filename); } /* overal symbol structure test */ s_check_symbol_structure (obj_list, s_symcheck); /* test all text elements */ s_check_text (obj_list, s_symcheck); /* check for graphical attribute */ s_check_graphical (obj_list, s_symcheck); /* check for device attribute */ s_check_device (obj_list, s_symcheck); /* check for missing attributes */ s_check_missing_attributes (obj_list, s_symcheck); /* check for pintype attribute (and multiples) on all pins */ s_check_pintype (obj_list, s_symcheck); /* check for pinseq attribute (and multiples) on all pins */ s_check_pinseq (obj_list, s_symcheck); /* check for pinnumber attribute (and multiples) on all pins */ s_check_pinnumber (obj_list, s_symcheck); /* check for whether all pins are on grid */ s_check_pin_ongrid (obj_list, s_symcheck); /* check for slotdef attribute on all pins (if numslots exists) */ s_check_slotdef (obj_list, s_symcheck); /* check for old pin#=# attributes */ s_check_oldpin (obj_list, s_symcheck); /* check for old pin#=# attributes */ s_check_oldslot (obj_list, s_symcheck); /* check for nets or buses within the symbol (completely disallowed) */ s_check_nets_buses (obj_list, s_symcheck); /* check for connections with in a symbol (completely disallowed) */ s_check_connections (obj_list, s_symcheck); /* now report the info/warnings/errors to the user */ if (!quiet_mode) { /* done, now print out the messages */ s_symstruct_print(s_symcheck); if (s_symcheck->warning_count > 0) { s_log_message("%d warnings found ", s_symcheck->warning_count); if (verbose_mode < 2) { s_log_message("(use -vv to view details)\n"); } else { s_log_message("\n"); } } if (s_symcheck->error_count == 0) { s_log_message("No errors found\n"); } else if (s_symcheck->error_count == 1) { s_log_message("1 ERROR found "); if (verbose_mode < 1) { s_log_message("(use -v to view details)\n"); } else { s_log_message("\n"); } } else if (s_symcheck->error_count > 1) { s_log_message("%d ERRORS found ", s_symcheck->error_count); if (verbose_mode < 1) { s_log_message("(use -v to view details)\n"); } else { s_log_message("\n"); } } } errors = s_symcheck->error_count; warnings = s_symcheck->warning_count; s_symstruct_free(s_symcheck); if (errors) { return(2); } else if (warnings) { return(1); } else { return(0); } } gboolean s_check_list_has_item(char **list , char *item) { gint cur; for (cur = 0; list[cur] != NULL; cur++) { if (strcmp(item, list[cur]) == 0) return TRUE; } return FALSE; } void s_check_symbol_structure (const GList *obj_list, SYMCHECK *s_current) { const GList *iter; gchar *message; gchar **tokens; char *valid_pin_attributes[] = {"pinlabel", "pintype", "pinseq", "pinnumber", NULL}; char *valid_attributes[] = {"device", "graphical", "description", "author", "comment", "numslots", "slotdef", "footprint", "documentation", "refdes", "slot", "net", "value", "symversion", "dist-license", "use-license", NULL}; char *obsolete_attributes[] = {"uref", "label", "email", NULL}; char *forbidden_attributes[] = {"type", "name", NULL}; /* pin# ?, slot# ? */ for (iter = obj_list; iter != NULL; iter = g_list_next (iter)) { OBJECT *o_current = iter->data; if (o_current->type == OBJ_TEXT) { tokens = g_strsplit(o_current->text->string,"=", 2); if (tokens[0] != NULL && tokens[1] != NULL) { if (s_check_list_has_item(forbidden_attributes, tokens[0])) { message = g_strdup_printf ("Found forbidden %s= attribute: [%s=%s]\n", tokens[0], tokens[0], tokens[1]); s_current->error_messages = g_list_append(s_current->error_messages, message); s_current->error_count++; } else if (s_check_list_has_item(obsolete_attributes, tokens[0])) { message = g_strdup_printf ("Found obsolete %s= attribute: [%s=%s]\n", tokens[0], tokens[0], tokens[1]); s_current->warning_messages = g_list_append(s_current->warning_messages, message); s_current->warning_count++; } else if (s_check_list_has_item(valid_pin_attributes, tokens[0])) { if (o_current->attached_to == NULL || o_current->attached_to->type != OBJ_PIN) { message = g_strdup_printf ("Found misplaced pin attribute:" " [%s=%s]\n", tokens[0], tokens[1]); s_current->error_messages = g_list_append(s_current->error_messages, message); s_current->error_count++; } } else if (!s_check_list_has_item(valid_attributes, tokens[0])) { message = g_strdup_printf ("Found unknown %s= attribute: [%s=%s]\n", tokens[0], tokens[0], tokens[1]); s_current->warning_messages = g_list_append(s_current->warning_messages, message); s_current->warning_count++; } else if (o_current->attached_to != NULL) { message = g_strdup_printf ("Found wrongly attached attribute: " "[%s=%s]\n", tokens[0], tokens[1]); s_current->error_messages = g_list_append(s_current->error_messages, message); s_current->error_count++; } } else { /* object is not an attribute */ if (o_current->show_name_value != SHOW_NAME_VALUE) { message = g_strdup_printf ("Found a simple text object with only SHOW_NAME" " or SHOW_VALUE set [%s]\n", o_current->text->string); s_current->warning_messages = g_list_append(s_current->warning_messages, message); s_current->warning_count++; } } g_strfreev(tokens); } } } void s_check_text (const GList *obj_list, SYMCHECK *s_current) { const GList *iter; OBJECT *o_current; gboolean overbar_started, escape, leave_parser; char *message; char *text_string, *ptr; gunichar current_char; for (iter = obj_list; iter != NULL; iter = g_list_next(iter)) { o_current = iter->data; if (o_current->type != OBJ_TEXT) continue; overbar_started = escape = leave_parser = FALSE; text_string = o_current->text->string; for (ptr = text_string; ptr != NULL && !leave_parser; ptr = g_utf8_find_next_char (ptr, NULL)) { current_char = g_utf8_get_char_validated (ptr, -1); /* state machine to interpret the string: * there are two independant state variables overbar_started and escape. */ switch (current_char) { case '\0': /* end of the string */ leave_parser = TRUE; break; case '\\': if (escape == TRUE) { escape = FALSE; } else { escape = TRUE; } break; case '_': if (escape == TRUE) { escape = FALSE; if (overbar_started == TRUE) { overbar_started = FALSE; } else { overbar_started = TRUE; } } break; default: if (escape == TRUE) { message = g_strdup_printf ("Found text with a '\\' in it: consider" " to escape it with '\\\\' [%s]\n", text_string); s_current->warning_messages = g_list_append(s_current->warning_messages, message); s_current->warning_count++; escape = FALSE; } } } if (escape == TRUE) { message = g_strdup_printf ("Found text with a trailing '\': consider to " "escape it with '\\\\' [%s]\n", text_string); s_current->warning_messages = g_list_append(s_current->warning_messages, message); s_current->warning_count++; } if (overbar_started == TRUE) { message = g_strdup_printf ("Found text with unbalanced overbar " "markers '\\_' in it' [%s]\n", text_string); s_current->warning_messages = g_list_append(s_current->warning_messages, message); s_current->warning_count++; } } } void s_check_graphical (const GList *obj_list, SYMCHECK *s_current) { char *temp; /* look for special graphical tag */ temp = o_attrib_search_floating_attribs_by_name (obj_list, "graphical", 0); if (temp) { s_current->graphical_symbol=TRUE; g_free(temp); } } void s_check_device (const GList *obj_list, SYMCHECK *s_current) { char *temp; char *message; /* search for device attribute */ temp = o_attrib_search_floating_attribs_by_name (obj_list, "device", 0); if (!temp) { /* did not find device= attribute */ message = g_strdup ("Missing device= attribute\n"); s_current->error_messages = g_list_append(s_current->error_messages, message); s_current->missing_device_attrib=TRUE; s_current->error_count++; } else { /* found device= attribute */ s_current->missing_device_attrib=FALSE; s_current->device_attribute = g_strdup (temp); message = g_strdup_printf ("Found device=%s\n", temp); s_current->info_messages = g_list_append(s_current->info_messages, message); } /* check for device = none for graphical symbols */ if (temp && s_current->graphical_symbol && (strcmp(temp, "none") == 0)) { s_current->device_attribute_incorrect=FALSE; message = g_strdup ("Found graphical symbol, device=none\n"); s_current->info_messages = g_list_append(s_current->info_messages, message); } else if (s_current->graphical_symbol) { s_current->device_attribute_incorrect=TRUE; message = g_strdup ("Found graphical symbol, device= should be set to none\n"); s_current->warning_messages = g_list_append(s_current->warning_messages, message); s_current->warning_count++; } g_free(temp); } void s_check_pinseq (const GList *obj_list, SYMCHECK *s_current) { char *string; int found_first=FALSE; int missing_pinseq_attrib_sum=0; int multiple_pinseq_attrib_sum=0; int counter=0; GList *found_numbers = NULL; GList *ptr1 = NULL; GList *ptr2 = NULL; const GList *iter; char *number; char *message; for (iter = obj_list; iter != NULL; iter = g_list_next (iter)) { OBJECT *o_current = iter->data; if (o_current->type == OBJ_PIN) { missing_pinseq_attrib_sum = 0; multiple_pinseq_attrib_sum = 0; found_first = FALSE; counter = 0; string = o_attrib_search_object_attribs_by_name (o_current, "pinseq", counter); if (!string) { message = g_strdup ("Missing pinseq= attribute\n"); s_current->error_messages = g_list_append(s_current->error_messages, message); missing_pinseq_attrib_sum++; s_current->error_count++; } while (string) { message = g_strdup_printf ("Found pinseq=%s attribute\n", string); s_current->info_messages = g_list_append(s_current->info_messages, message); number = g_strdup (string); if (strcmp(number, "0") == 0) { message = g_strdup ("Found pinseq=0 attribute\n"); s_current->error_messages = g_list_append(s_current->error_messages, message); s_current->error_count++; } if (found_first) { message = g_strdup_printf ( "Found multiple pinseq=%s attributes on one pin\n", string); s_current->error_messages = g_list_append(s_current->error_messages, message); multiple_pinseq_attrib_sum++; s_current->error_count++; } g_free(string); /* this is the first attribute found */ if (!found_first) { found_numbers = g_list_append(found_numbers, number); found_first=TRUE; } else { g_free(number); } counter++; string = o_attrib_search_object_attribs_by_name (o_current, "pinseq", counter); } s_current->missing_pinseq_attrib += missing_pinseq_attrib_sum; s_current->multiple_pinseq_attrib += multiple_pinseq_attrib_sum; } } ptr1 = found_numbers; while (ptr1) { char *string = (char *) ptr1->data; int found = 0; ptr2 = found_numbers; while(ptr2 && string) { char *current = (char *) ptr2->data; if (current && strcmp(string, current) == 0) { found++; } ptr2 = g_list_next(ptr2); } if (found > 1) { message = g_strdup_printf ( "Found duplicate pinseq=%s attribute in the symbol\n", string); s_current->error_messages = g_list_append(s_current->error_messages, message); s_current->error_count++; s_current->duplicate_pinseq_attrib++; } ptr1 = g_list_next(ptr1); } ptr1 = found_numbers; while (ptr1) { g_free(ptr1->data); ptr1 = g_list_next(ptr1); } g_list_free(found_numbers); } void s_check_pinnumber (const GList *obj_list, SYMCHECK *s_current) { char *string; int missing_pinnumber_attrib_sum=0; int multiple_pinnumber_attrib_sum=0; int counter=0; int i; gchar **net_tokens; gchar **pin_tokens; GList *net_numbers = NULL; GList *pin_numbers = NULL; GList *cur = NULL; GList *cur2 = NULL; const GList *iter; char *message; char *net = NULL; /* collect all net pins */ for (counter = 0; (net = o_attrib_search_floating_attribs_by_name (obj_list, "net", counter)) != NULL; counter++) { message = g_strdup_printf ("Found net=%s attribute\n", net); s_current->info_messages = g_list_append(s_current->info_messages, message); net_tokens = g_strsplit(net,":", -1); /* length of net tokens have to be 2 */ if (net_tokens[1] == NULL) { message = g_strdup_printf ("Bad net= attribute [net=%s]\n", net); s_current->error_messages = g_list_append(s_current->error_messages, message); s_current->error_count++; g_strfreev(net_tokens); continue; } else if (net_tokens[2] != NULL) { /* more than 2 tokens */ message = g_strdup_printf ("Bad net= attribute [net=%s]\n", net); s_current->error_messages = g_list_append(s_current->error_messages, message); s_current->error_count++; g_strfreev(net_tokens); continue; } pin_tokens = g_strsplit(net_tokens[1],",",-1); for (i = 0; pin_tokens[i] != NULL; i++) { net_numbers = g_list_append(net_numbers, g_strdup(pin_tokens[i])); message = g_strdup_printf ("Found pin number %s in net attribute\n", pin_tokens[i]); s_current->info_messages = g_list_append(s_current->info_messages, message); s_current->numnetpins++; } g_free(net); g_strfreev(net_tokens); g_strfreev(pin_tokens); } /* check for duplicate net pin numbers */ net_numbers = g_list_sort(net_numbers, (GCompareFunc)strcmp); for (cur = net_numbers; cur != NULL && g_list_next(cur) != NULL; cur = g_list_next(cur)) { if (strcmp((gchar*)cur->data, (gchar*) cur->next->data) == 0) { message = g_strdup_printf ("Found duplicate pin in net= " "attributes [%s]\n", (gchar*) cur->data); s_current->error_messages = g_list_append(s_current->error_messages, message); s_current->error_count++; } if (strcmp((gchar*) cur->data, "0") == 0) { message = g_strdup ("Found pinnumber 0 in net= attribute\n"); s_current->error_messages = g_list_append(s_current->error_messages, message); s_current->error_count++; } } /* collect all pin numbers */ for (iter = obj_list; iter != NULL; iter = g_list_next (iter)) { OBJECT *o_current = iter->data; if (o_current->type == OBJ_PIN) { s_current->numpins++; missing_pinnumber_attrib_sum = 0; multiple_pinnumber_attrib_sum = 0; for (counter = 0; (string = o_attrib_search_object_attribs_by_name (o_current, "pinnumber", counter)) != NULL; counter++) { message = g_strdup_printf ("Found pinnumber=%s attribute\n", string); s_current->info_messages = g_list_append(s_current->info_messages, message); if (counter == 0) { /* collect the first appearance */ pin_numbers = g_list_append(pin_numbers, string); } if (counter >= 1) { message = g_strdup_printf ("Found multiple pinnumber=%s attributes" " on one pin\n", string); s_current->error_messages = g_list_append(s_current->error_messages, message); multiple_pinnumber_attrib_sum++; s_current->error_count++; g_free(string); } } if (counter == 0) { message = g_strdup ("Missing pinnumber= attribute\n"); s_current->error_messages = g_list_append(s_current->error_messages, message); missing_pinnumber_attrib_sum++; s_current->error_count++; } s_current->missing_pinnumber_attrib += missing_pinnumber_attrib_sum; s_current->multiple_pinnumber_attrib += multiple_pinnumber_attrib_sum; } } /* check for duplicate pinlabel numbers */ pin_numbers = g_list_sort(pin_numbers, (GCompareFunc)strcmp); for (cur = pin_numbers; cur != NULL && g_list_next(cur) != NULL; cur = g_list_next(cur)) { if (strcmp((gchar*)cur->data, (gchar*) cur->next->data) == 0) { message = g_strdup_printf ("Found duplicate pinnumber=%s attribute " "in the symbol\n", (gchar*) cur->data); s_current->error_messages = g_list_append(s_current->error_messages, message); s_current->error_count++; s_current->duplicate_pinnumber_attrib++; } if (strcmp((gchar*) cur->data, "0") == 0) { message = g_strdup ("Found pinnumber=0 attribute\n"); s_current->error_messages = g_list_append(s_current->error_messages, message); s_current->error_count++; } } /* Check for all pins that are in both lists and print a warning. Sometimes this is useful and sometimes it's an error. */ cur = net_numbers; cur2 = pin_numbers; while (cur != NULL && cur2 != NULL) { i = strcmp((gchar*)cur->data, (gchar*)cur2->data); if (i == 0) { message = g_strdup_printf ("Found the same number in a pinnumber " "attribute and in a net attribute [%s]\n", (gchar*) cur->data); s_current->warning_messages = g_list_append(s_current->warning_messages, message); s_current->warning_count++; cur = g_list_next(cur); } else if ( i > 0 ) { cur2 = g_list_next(cur2); } else { /* i < 0 */ cur = g_list_next(cur); } } /* FIXME: this is not correct if a pinnumber is defined as pinnumber and inside a net. We have to calculate the union set */ message = g_strdup_printf ("Found %d pins inside symbol\n", s_current->numpins + s_current->numnetpins); s_current->info_messages = g_list_append(s_current->info_messages, message); g_list_foreach(pin_numbers, (GFunc) g_free, NULL); g_list_free(pin_numbers); g_list_foreach(net_numbers, (GFunc) g_free, NULL); g_list_free(net_numbers); } void s_check_pin_ongrid (const GList *obj_list, SYMCHECK *s_current) { int x1, x2, y1, y2; const GList *iter; char *message; for (iter = obj_list; iter != NULL; iter = g_list_next (iter)) { OBJECT *o_current = iter->data; if (o_current->type == OBJ_PIN) { x1 = o_current->line->x[0]; y1 = o_current->line->y[0]; x2 = o_current->line->x[1]; y2 = o_current->line->y[1]; if (x1 % 100 != 0 || y1 % 100 != 0) { message = g_strdup_printf("Found offgrid pin at location" " (x1=%d,y1=%d)\n", x1, y1); /* error if it is the whichend, warning if not */ if (o_current->whichend == 0) { s_current->error_messages = g_list_append(s_current->error_messages, message); s_current->error_count++; } else { s_current->warning_messages = g_list_append(s_current->warning_messages, message); s_current->warning_count++; } } if (x2 % 100 != 0 || y2 % 100 != 0) { message = g_strdup_printf("Found offgrid pin at location" " (x2=%d,y2=%d)\n", x2, y2); /* error when whichend, warning if not */ if (o_current-> whichend != 0) { s_current->error_messages = g_list_append(s_current->error_messages, message); s_current->error_count++; } else { s_current->warning_messages = g_list_append(s_current->warning_messages, message); s_current->warning_count++; } } } } } void s_check_slotdef (const GList *obj_list, SYMCHECK *s_current) { char* value = NULL; char* slotdef = NULL; char* slotnum = NULL; char* pins = NULL; char* temp = NULL; char numslots_str[10]; int slot; int i,j; char *message; char tempstr1[10]; /* pinlist will store the pin definitions for each slot */ /* example: pinlist[0] = 3,2,8,4,1 ; pinlist[1] = 5,6,8,4,7 */ char** pinlist = NULL; int n,m; char* pin; char* cmp; int match; gboolean error_parsing = FALSE; int errors_found = 0; /* look for numslots to see if this symbol has slotting info */ value = o_attrib_search_floating_attribs_by_name (obj_list, "numslots", 0); if (!value) { message = g_strdup ("Did not find numslots= attribute, not checking slotting\n"); s_current->warning_messages = g_list_append(s_current->warning_messages, message); s_current->warning_count++; message = g_strdup ("If this symbol does not need slotting, set numslots to zero (numslots=0)\n"); s_current->info_messages = g_list_append(s_current->info_messages, message); return; } s_current->numslots=atoi(value); sprintf(numslots_str, "%d", s_current->numslots); g_free(value); message = g_strdup_printf ("Found numslots=%s attribute\n", numslots_str); s_current->info_messages = g_list_append(s_current->info_messages, message); if (s_current->numslots == 0) { message = g_strdup ("numslots set to zero, symbol does not have slots\n"); s_current->info_messages = g_list_append(s_current->info_messages, message); return; } pinlist = (char**)g_malloc0(sizeof(*pinlist) * s_current->numslots); i = 0; /* get the slotdef attribute */ slotdef = o_attrib_search_floating_attribs_by_name (obj_list, "slotdef", 0); while ((slotdef != NULL) && (!error_parsing)) { if (i > s_current->numslots-1) { sprintf(tempstr1, "%d", i+1); /* i starts at zero */ message = g_strdup_printf ( "Found %s slotdef= attributes. Expecting %s slotdef= attributes\n", tempstr1, numslots_str); s_current->error_messages = g_list_append(s_current->error_messages, message); s_current->error_count++; s_current->slotting_errors++; } message = g_strdup_printf ("Found slotdef=%s attribute\n", slotdef); s_current->info_messages = g_list_append(s_current->info_messages, message); slotnum = u_basic_breakup_string(slotdef, ':', 0); if (!slotnum) { message = g_strdup_printf ( "Invalid slotdef=%s attributes, not continuing\n", slotdef); s_current->error_messages = g_list_append(s_current->error_messages, message); s_current->error_count++; s_current->slotting_errors++; error_parsing = TRUE; continue; } if (strcmp(slotnum, "0") == 0) { message = g_strdup_printf ( "Found a zero slot in slotdef=%s\n", slotdef); s_current->error_messages = g_list_append(s_current->error_messages, message); s_current->error_count++; } slot = atoi(slotnum); g_free(slotnum); /* make sure that the slot # is less than the number of slots */ if (slot > s_current->numslots) { sprintf(tempstr1, "%d", slot); message = g_strdup_printf ( "Slot %s is larger then the maximum number (%s) of slots\n", tempstr1, numslots_str); s_current->error_messages = g_list_append(s_current->error_messages, message); s_current->error_count++; s_current->slotting_errors++; } /* skip over the : */ pins = strchr(slotdef, ':'); if (!pins) { message = g_strdup_printf ( "Invalid slotdef=%s attributes, not continuing\n", slotdef); s_current->error_messages = g_list_append(s_current->error_messages, message); s_current->error_count++; s_current->slotting_errors++; error_parsing = TRUE; continue; } pins++; /* get past that : */ if (!pins) { message = g_strdup_printf ( "Invalid slotdef=%s attributes, not continuing\n", slotdef); s_current->error_messages = g_list_append(s_current->error_messages, message); s_current->error_count++; s_current->slotting_errors++; error_parsing = TRUE; continue; } if (*pins == '\0') { message = g_strdup_printf ( "Invalid slotdef=%s attributes, not continuing\n", slotdef); s_current->error_messages = g_list_append(s_current->error_messages, message); s_current->error_count++; s_current->slotting_errors++; error_parsing = TRUE; continue; } if ((slot > 0) && (slot <= s_current->numslots)) { if (pinlist[slot-1]) { message = g_strdup_printf ("Duplicate slot number in slotdef=%s\n", slotdef); s_current->error_messages = g_list_append(s_current->error_messages, message); s_current->error_count++; s_current->slotting_errors++; } else { pinlist[slot-1] = g_strdup_printf(",%s,", pins); } } j = 0; do { if (temp) { g_free(temp); temp = NULL; } temp = u_basic_breakup_string(pins, ',', j); if (!temp && j < s_current->numpins) { message = g_strdup_printf ( "Not enough pins in slotdef=%s\n", slotdef); s_current->error_messages = g_list_append(s_current->error_messages, message); s_current->error_count++; s_current->slotting_errors++; break; } if (j > s_current->numpins) { message = g_strdup_printf ( "Too many pins in slotdef=%s\n", slotdef); s_current->error_messages = g_list_append(s_current->error_messages, message); s_current->error_count++; s_current->slotting_errors++; g_free(temp); temp = NULL; break; } if (temp && strcmp(temp, "0") == 0) { message = g_strdup_printf ( "Found a zero pin in slotdef=%s\n", slotdef); s_current->error_messages = g_list_append(s_current->error_messages, message); s_current->error_count++; } j++; } while (temp); g_free(temp); g_free(slotdef); slotdef = NULL; i++; slotdef = o_attrib_search_floating_attribs_by_name (obj_list, "slotdef", i); } if (!slotdef && i < s_current->numslots) { message = g_strdup_printf ( "Missing slotdef= (there should be %s slotdef= attributes)\n", numslots_str); s_current->error_messages = g_list_append(s_current->error_messages, message); s_current->error_count++; s_current->slotting_errors++; } else { /* Validate that pinslist does not contain a null entry. If any entry */ /* is null, that means the slotdef= attribute was malformed to start */ /* with. */ for (i = 0; i < s_current->numslots; i++) { if (pinlist[i] == NULL) { errors_found++; } } if (errors_found) { message = g_strdup_printf( "Malformed slotdef= (the format is #:#,#,#,...)\n"); s_current->error_messages = g_list_append(s_current->error_messages, message); s_current->error_count++; s_current->slotting_errors++; } else { /* Now compare each pin with the rest */ s_current->numslotpins = 0; for (i = 0; i < s_current->numslots; i++) { for (n = 1; n <= s_current->numpins; n++) { /* Get the number of one pin */ pin = u_basic_breakup_string(pinlist[i], ',', n); if (pin && *pin) { match = FALSE; for (j = i - 1; j >= 0 && !match; j--) { for (m = 1; m <= s_current->numpins && !match; m++) { /* Get the number of the other pin */ cmp = u_basic_breakup_string(pinlist[j], ',', m); if (cmp && *cmp) { match = (0 == strcmp (pin, cmp)); g_free(cmp); } } } if (!match) { /* If they don't match, then increase the number of pins */ s_current->numslotpins++; } g_free(pin); } } } message = g_strdup_printf ("Found %d distinct pins in slots\n", s_current->numslotpins); s_current->info_messages = g_list_append(s_current->info_messages, message); } } g_free(slotdef); if (pinlist) { /* Free the pinlist */ for (i = 0; i < s_current->numslots; i++) { g_free(pinlist[i]); } g_free(pinlist); } return; } void s_check_oldpin (const GList *obj_list, SYMCHECK *s_current) { const GList *iter; char *ptr; int found_old = FALSE; int number_counter = 0; char *message; for (iter = obj_list; iter != NULL; iter = g_list_next (iter)) { OBJECT *o_current = iter->data; if (o_current->type == OBJ_TEXT) { if (strstr(o_current->text->string, "pin")) { /* skip over "pin" */ ptr = o_current->text->string + 3; found_old = FALSE; number_counter = 0; while (ptr && *ptr > '0' && *ptr < '9') { number_counter++; ptr++; } if (ptr && *ptr == '=') { found_old++; } if (!ptr) continue; /* found no numbers inbetween pin and = */ if (number_counter == 0) continue; /* skip over = char */ ptr++; while (ptr && *ptr > '0' && *ptr < '9') { ptr++; } if (*ptr == '\0') { found_old++; } /* 2 matches -> number found after pin and only numbers after = sign */ if (found_old == 2) { message = g_strdup_printf ( "Found old pin#=# attribute: %s\n", o_current->text->string); s_current->error_messages = g_list_append(s_current->error_messages, message); s_current->found_oldpin_attrib += found_old; s_current->error_count++; } } } } } void s_check_oldslot (const GList *obj_list, SYMCHECK *s_current) { const GList *iter; char *ptr; int found_old = FALSE; int number_counter = 0; char *message; for (iter = obj_list; iter != NULL; iter = g_list_next (iter)) { OBJECT *o_current = iter->data; if (o_current->type == OBJ_TEXT) { if (strstr(o_current->text->string, "slot")) { /* skip over "slot" */ ptr = o_current->text->string + 4; found_old = FALSE; number_counter = 0; while (ptr && *ptr > '0' && *ptr < '9') { number_counter++; ptr++; } if (ptr && *ptr == '=') { found_old++; } if (!ptr) continue; /* found no numbers inbetween pin and = */ if (number_counter == 0) continue; /* skip over = char */ ptr++; while ((ptr && (*ptr > '0') && (*ptr < '9')) || (*ptr == ',')) { ptr++; } if (*ptr == '\0') { found_old++; } /* 2 matches -> number found after slot and only numbers after = */ if (found_old == 2) { message = g_strdup_printf ( "Found old slot#=# attribute: %s\n", o_current->text->string); s_current->error_messages = g_list_append(s_current->error_messages, message); s_current->found_oldslot_attrib += found_old; s_current->error_count++; } } } } } void s_check_nets_buses (const GList *obj_list, SYMCHECK *s_current) { const GList *iter; char *message; for (iter = obj_list; iter != NULL; iter = g_list_next (iter)) { OBJECT *o_current = iter->data; if (o_current->type == OBJ_NET) { message = g_strdup ("Found a net inside a symbol\n"); s_current->error_messages = g_list_append(s_current->error_messages, message); s_current->found_net++; s_current->error_count++; } if (o_current->type == OBJ_BUS) { message = g_strdup ("Found a bus inside a symbol\n"); s_current->error_messages = g_list_append(s_current->error_messages, message); s_current->found_bus++; s_current->error_count++; } } } void s_check_connections (const GList *obj_list, SYMCHECK *s_current) { const GList *iter; char *message; for (iter = obj_list; iter != NULL; iter = g_list_next (iter)) { OBJECT *o_current = iter->data; if (o_current->conn_list) { message = g_strdup ("Found a connection inside a symbol\n"); s_current->error_messages = g_list_append(s_current->error_messages, message); s_current->found_connection++; s_current->error_count++; } } } void s_check_missing_attribute(OBJECT *object, char *attribute, SYMCHECK *s_current) { char *string; int found_first=FALSE; int counter=0; char *message; if (!attribute) { return; } string = o_attrib_search_object_attribs_by_name (object, attribute, counter); if (!string) { message = g_strdup_printf ( "Missing %s= attribute\n", attribute); s_current->warning_messages = g_list_append(s_current->warning_messages, message); s_current->warning_count++; } while (string) { if (found_first) { message = g_strdup_printf ( "Found multiple %s=%s attributes on one pin\n", attribute, string); s_current->error_messages = g_list_append(s_current->error_messages, message); s_current->error_count++; } /* this is the first attribute found */ if (!found_first) { message = g_strdup_printf ( "Found %s=%s attribute\n", attribute, string); s_current->info_messages = g_list_append(s_current->info_messages, message); found_first=TRUE; } g_free(string); counter++; string = o_attrib_search_object_attribs_by_name (object, attribute, counter); } } void s_check_missing_attributes (const GList *obj_list, SYMCHECK *s_current) { const GList *iter; char *message; for (iter = obj_list; iter != NULL; iter = g_list_next (iter)) { OBJECT *o_current = iter->data; if (o_current->type == OBJ_PIN) { s_check_missing_attribute(o_current, "pinlabel", s_current); s_check_missing_attribute(o_current, "pintype", s_current); } if (o_current->type == OBJ_TEXT) { if (strstr(o_current->text->string, "footprint=")) { message = g_strdup_printf ( "Found %s attribute\n", o_current->text->string); s_current->info_messages = g_list_append(s_current->info_messages, message); s_current->found_footprint++; } if (strstr(o_current->text->string, "refdes=")) { message = g_strdup_printf ( "Found %s attribute\n", o_current->text->string); s_current->info_messages = g_list_append(s_current->info_messages, message); s_current->found_refdes++; } } } if (s_current->found_footprint == 0) { message = g_strdup ("Missing footprint= attribute\n"); s_current->warning_messages = g_list_append(s_current->warning_messages, message); s_current->warning_count++; } if (s_current->found_footprint > 1) { message = g_strdup ("Multiple footprint= attributes found\n"); s_current->error_messages = g_list_append(s_current->error_messages, message); s_current->error_count++; } if (s_current->found_refdes == 0) { message = g_strdup ("Missing refdes= attribute\n"); s_current->warning_messages = g_list_append(s_current->warning_messages, message); s_current->warning_count++; } if (s_current->found_refdes > 1) { message = g_strdup ("Multiple refdes= attributes found\n"); s_current->error_messages = g_list_append(s_current->error_messages, message); s_current->error_count++; } } void s_check_pintype (const GList *obj_list, SYMCHECK *s_current) { const GList *iter; int counter=0; char *pintype; char *message; char *pintypes[] = {"in", "out", "io", "oc", "oe", "pas", "tp", "tri", "clk", "pwr", NULL}; for (iter = obj_list; iter != NULL; iter = g_list_next (iter)) { OBJECT *o_current = iter->data; if (o_current->type == OBJ_PIN) { for (counter = 0; (pintype = o_attrib_search_object_attribs_by_name (o_current, "pintype", counter)) != NULL; counter++) { message = g_strdup_printf("Found pintype=%s attribute\n", pintype); s_current->info_messages = g_list_append(s_current->info_messages, message); if ( ! s_check_list_has_item(pintypes, pintype)) { message = g_strdup_printf ("Invalid pintype=%s attribute\n", pintype); s_current->error_messages = g_list_append(s_current->error_messages, message); s_current->error_count++; } g_free(pintype); } } } } geda-gaf-1.8.2/gsymcheck/src/parsecmd.c0000664000175000017500000000413212220647257014615 00000000000000/* gEDA - GPL Electronic Design Automation * gsymcheck - gEDA Symbol Check * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02111-1301 USA. */ #include #include #ifdef HAVE_UNISTD_H #include #endif #include #include "../include/struct.h" #include "../include/globals.h" #include "../include/prototype.h" #define OPTIONS "qvh" #ifndef OPTARG_IN_UNISTD extern char *optarg; extern int optind; #endif void usage(char *cmd) { printf("Usage: %s [OPTIONS] filename1 ... filenameN\n", cmd); printf(" -h Print usage\n"); printf(" -q Quiet mode\n"); printf(" -v Verbose mode (cumulative: errors, warnings, info)\n"); printf(" Use this to get the actual symbol error messages\n"); printf("\nfilename1 ... filenameN are the symbols to check\n"); printf("\n"); exit(0); } int parse_commandline(int argc, char *argv[]) { int ch; while ((ch = getopt (argc, argv, OPTIONS)) != -1) { switch (ch) { case 'v': verbose_mode++; break; case 'q': quiet_mode=TRUE; break; #if 0 case 'f': printf("f arg: %s\n", optarg); break; #endif case 'h': usage(argv[0]); break; case '?': default: usage(argv[0]); break; } } return(optind); } geda-gaf-1.8.2/gsymcheck/src/globals.c0000664000175000017500000000232312204177071014434 00000000000000/* gEDA - GPL Electronic Design Automation * gsymcheck - gEDA Symbol Check * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02111-1301 USA. */ #include #include #include #include "../include/struct.h" #include "../include/prototype.h" char *rc_filename = NULL; int logfile_fd=-1; int logging_dest=STDOUT_TTY; /* command line arguments */ int verbose_mode=FALSE; int interactive_mode=FALSE; int quiet_mode=FALSE; geda-gaf-1.8.2/gsymcheck/src/gsymcheck.c0000664000175000017500000000701012220647257014772 00000000000000/* gEDA - GPL Electronic Design Automation * gsymcheck - gEDA Symbol Check * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02111-1301 USA. */ #include #include #include #include #ifdef HAVE_STRING_H #include #endif #ifdef HAVE_UNISTD_H #include #endif #include #include "../include/struct.h" #include "../include/globals.h" #include "../include/prototype.h" void gsymcheck_quit(void) { s_clib_free(); s_slib_free(); } void main_prog(void *closure, int argc, char *argv[]) { int i; int argv_index; int exit_status; char *cwd; TOPLEVEL *pr_current; argv_index = parse_commandline(argc, argv); cwd = g_get_current_dir(); libgeda_init(); /* create log file right away */ /* even if logging is enabled */ x_log_update_func = s_log_update; s_log_init ("gsymcheck"); logging_dest=STDOUT_TTY; #if defined(__MINGW32__) && defined(DEBUG) fprintf(stderr, "This is the MINGW32 port.\n"); #endif logging_dest=-1; /* don't output to the screen for now */ /* register guile (scheme) functions */ g_register_funcs(); pr_current = s_toplevel_new (); g_rc_parse (pr_current, argv[0], "gsymcheckrc", rc_filename); i_vars_set(pr_current); i = argv_index; while (argv[i] != NULL) { gchar *filename; GError *err = NULL; if (g_path_is_absolute(argv[i])) { /* Path is already absolute so no need to do any concat of cwd */ filename = g_strdup (argv[i]); } else { filename = g_build_filename (cwd, argv[i], NULL); } s_page_goto (pr_current, s_page_new (pr_current, filename)); if (!f_open (pr_current, pr_current->page_current, pr_current->page_current->page_filename, &err)) { /* Not being able to load a file is apparently a fatal error */ logging_dest = STDOUT_TTY; g_warning ("%s\n", err->message); g_error_free (err); exit(2); } else { g_message ("Loaded file [%s]\n", filename); } i++; g_free (filename); } if (argv[argv_index] == NULL) { fprintf(stderr, "\nERROR! You must specify at least one filename\n\n"); usage(argv[0]); } g_free(cwd); logging_dest=STDOUT_TTY; #if DEBUG s_page_print_all(pr_current); #endif if (!quiet_mode) s_log_message("\n"); exit_status = s_check_all(pr_current); s_page_delete_list(pr_current); gsymcheck_quit(); exit(exit_status); } int main (int argc, char *argv[]) { /* disable the deprecated warnings in guile 1.6.3 */ /* Eventually the warnings will need to be fixed */ if(getenv("GUILE_WARN_DEPRECATED")==NULL) putenv("GUILE_WARN_DEPRECATED=no"); scm_boot_guile (argc, argv, main_prog, NULL); return 0; } geda-gaf-1.8.2/gsymcheck/include/0000775000175000017500000000000012220655754013570 500000000000000geda-gaf-1.8.2/gsymcheck/include/i_vars.h0000664000175000017500000000151012204177071015132 00000000000000/* gEDA - GPL Electronic Design Automation * gsymcheck - gEDA Symbol Check * Copyright (C) 1998-2010 Ales Hvezda * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ geda-gaf-1.8.2/gsymcheck/include/Makefile.am0000664000175000017500000000044312220647257015544 00000000000000## Process this file with automake to produce Makefile.in noinst_HEADERS = globals.h i_vars.h papersizes.h prototype.h struct.h MOSTLYCLEANFILES = *.log core FILE *~ CLEANFILES = *.log core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in geda-gaf-1.8.2/gsymcheck/include/struct.h0000664000175000017500000000306212204177071015177 00000000000000 /* sym check structures (gsymcheck) */ typedef struct st_symcheck SYMCHECK; /* gsymcheck structure */ struct st_symcheck { /* unused for now */ int unattached_attribs; /* info / warning / error messages */ GList* info_messages; GList* warning_messages; GList* error_messages; /* device= check */ int missing_device_attrib; int graphical_symbol; char *device_attribute; int device_attribute_incorrect; /* pinseq= check */ int missing_pinseq_attrib; int multiple_pinseq_attrib; int duplicate_pinseq_attrib; /* multiple pinnumber= check */ int missing_pinnumber_attrib; int multiple_pinnumber_attrib; int duplicate_pinnumber_attrib; /* slotting checks */ int missing_numslots_attrib; int slotting_errors; /* old pin#=# and slot#=# checks */ int found_oldpin_attrib; int found_oldslot_attrib; /* net, bus, connection checks */ int found_net; int found_bus; int found_connection; /* obsolete attribute checks */ /* int found_label; */ /* int found_uref; */ /* forbidden attributes */ /* int found_name; */ /* int found_type; */ /* misc attributes */ int found_footprint; int found_refdes; /* number of pins */ int numpins; /* number of net pins */ int numnetpins; /* number of slots */ int numslots; /* number of distinct slot pins */ int numslotpins; /* total error counter */ int error_count; /* total warning counter */ int warning_count; /* pintype= check */ int missing_pintype_attrib; int multiple_pintype_attrib; int duplicate_pintype_attrib; }; geda-gaf-1.8.2/gsymcheck/include/papersizes.h0000664000175000017500000000221612204177071016040 00000000000000/* gEDA - GPL Electronic Design Automation * gsymcheck - gEDA Symbol Checker * Copyright (C) 1998-2010 Ales Hvezda * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /* this file is no longer used */ #define MILS_PER 1000 #define BORDER 1000 /* if you change this one you must recalc correction factors */ /* perhaps we will do this in the code ! */ /* To calculate the correction factor for each: */ /* if calcaspect < required_aspect : */ /* Width_correction = (width+border) - (height+border)*1.3333 */ /* else */ /* Height_correction = ((width+border)/1.3333) - (height+border) */ #define WIDTH_A 11*MILS_PER+BORDER+667 #define HEIGHT_A 8.5*MILS_PER+BORDER #define WIDTH_B 17*MILS_PER+BORDER #define HEIGHT_B 11*MILS_PER+BORDER+1500 #define WIDTH_C 22*MILS_PER+BORDER+1000 #define HEIGHT_C 17*MILS_PER+BORDER #define WIDTH_D 34*MILS_PER+BORDER #define HEIGHT_D 22*MILS_PER+BORDER+3250 #define WIDTH_E 44*MILS_PER+BORDER+1667 #define HEIGHT_E 34*MILS_PER+BORDER geda-gaf-1.8.2/gsymcheck/include/globals.h0000664000175000017500000000203612204177071015276 00000000000000/* gEDA - GPL Electronic Design Automation * gsymcheck - gEDA Symbol Checker * Copyright (C) 1998-2010 Ales Hvezda * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02111-1301 USA. */ extern char *rc_filename; extern int logfile_fd; extern int do_logging; extern int logging_dest; /* gnetlist specific stuff */ extern int verbose_mode; extern int interactive_mode; extern int quiet_mode; geda-gaf-1.8.2/gsymcheck/include/Makefile.in0000664000175000017500000004420012220655724015552 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = gsymcheck/include DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(noinst_HEADERS) ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac HEADERS = $(noinst_HEADERS) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ noinst_HEADERS = globals.h i_vars.h papersizes.h prototype.h struct.h MOSTLYCLEANFILES = *.log core FILE *~ CLEANFILES = *.log core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gsymcheck/include/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu gsymcheck/include/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(HEADERS) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ clean-libtool cscopelist-am ctags ctags-am distclean \ distclean-generic distclean-libtool distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/gsymcheck/include/prototype.h0000664000175000017500000000352312204177071015722 00000000000000/* g_rc.c */ SCM g_rc_gsymcheck_version(SCM version); /* g_register.c */ void g_register_funcs(void); SCM g_quit(void); /* gsymcheck.c */ void gsymcheck_quit(void); void main_prog(void *closure, int argc, char *argv[]); int main(int argc, char *argv[]); /* i_vars.c */ void i_vars_set(TOPLEVEL *pr_current); /* parsecmd.c */ void usage(char *cmd); int parse_commandline(int argc, char *argv[]); /* s_check.c */ int s_check_all(TOPLEVEL *pr_current); int s_check_symbol(TOPLEVEL *pr_current, PAGE *p_current, const GList *obj_list); gboolean s_check_list_has_item(char **list , char *item); void s_check_symbol_structure(const GList *obj_list, SYMCHECK *s_current); void s_check_text (const GList *obj_list, SYMCHECK *s_current); void s_check_graphical(const GList *obj_list, SYMCHECK *s_current); void s_check_device(const GList *obj_list, SYMCHECK *s_current); void s_check_pinseq(const GList *obj_list, SYMCHECK *s_current); void s_check_pinnumber(const GList *obj_list, SYMCHECK *s_current); void s_check_pin_ongrid(const GList *obj_list, SYMCHECK *s_current); void s_check_slotdef(const GList *obj_list, SYMCHECK *s_current); void s_check_oldpin(const GList *obj_list, SYMCHECK *s_current); void s_check_oldslot(const GList *obj_list, SYMCHECK *s_current); void s_check_nets_buses(const GList *obj_list, SYMCHECK *s_current); void s_check_connections(const GList *obj_list, SYMCHECK *s_current); void s_check_missing_attribute(OBJECT *object, char *attribute, SYMCHECK *s_current); void s_check_missing_attributes(const GList *obj_list, SYMCHECK *s_current); void s_check_pintype(const GList *obj_list, SYMCHECK *s_current); /* s_log.c */ void s_log_update (const gchar *log_domain, GLogLevelFlags log_level, const gchar *buf); /* s_symstruct.c */ SYMCHECK *s_symstruct_init(void); void s_symstruct_print(SYMCHECK *s_current); void s_symstruct_free(SYMCHECK *s_current); geda-gaf-1.8.2/gsymcheck/lib/0000775000175000017500000000000012220655754012713 500000000000000geda-gaf-1.8.2/gsymcheck/lib/Makefile.am0000664000175000017500000000036712204177071014666 00000000000000 rcdatadir = $(GEDARCDIR) rcdata_DATA = system-gsymcheckrc EXTRA_DIST = system-gsymcheckrc.in MOSTLYCLEANFILES = *.log *~ CLEANFILES = *.log *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = system-gsymcheckrc *.log *~ Makefile.in geda-gaf-1.8.2/gsymcheck/lib/Makefile.in0000664000175000017500000004466012220655724014707 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = gsymcheck/lib DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(srcdir)/system-gsymcheckrc.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = system-gsymcheckrc CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(rcdatadir)" DATA = $(rcdata_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ rcdatadir = $(GEDARCDIR) rcdata_DATA = system-gsymcheckrc EXTRA_DIST = system-gsymcheckrc.in MOSTLYCLEANFILES = *.log *~ CLEANFILES = *.log *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = system-gsymcheckrc *.log *~ Makefile.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gsymcheck/lib/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu gsymcheck/lib/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): system-gsymcheckrc: $(top_builddir)/config.status $(srcdir)/system-gsymcheckrc.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-rcdataDATA: $(rcdata_DATA) @$(NORMAL_INSTALL) @list='$(rcdata_DATA)'; test -n "$(rcdatadir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(rcdatadir)'"; \ $(MKDIR_P) "$(DESTDIR)$(rcdatadir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(rcdatadir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(rcdatadir)" || exit $$?; \ done uninstall-rcdataDATA: @$(NORMAL_UNINSTALL) @list='$(rcdata_DATA)'; test -n "$(rcdatadir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(rcdatadir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(rcdatadir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-rcdataDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-rcdataDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-rcdataDATA install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags-am uninstall uninstall-am uninstall-rcdataDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/gsymcheck/lib/system-gsymcheckrc.in0000664000175000017500000000232212220647257017005 00000000000000 ; ; Init file for gsymcheck ; ; ;'s are comments ; keywords are case sensitive (guile feature) ; mode strings are case sensitive ; colors are not case sensitive ; ; gsymcheck-version string ; ; Specifies the version of this file. This number is used to make sure ; that the rc file is compatible with the version of gschem that is ; being run. The end user should *not* change this value. ; (gsymcheck-version "@DATE_VERSION@") ; Setup data path variables. ; ; Contains all paths needed for gsymcheck (define gedadata (getenv "GEDADATA")) (define gedadatarc (getenv "GEDADATARC")) ; ; End of mode related keywords ; ; ; Start of path related keywords ; ; ; End of path related keywords ; ; world-size width height border ; ; Specifies the size of the world and a border ; Be sure all inputs are reals (floats/doubles) and don't try to reverse ; the values: to get a portrait mode. Code to support that needs to be added ; The code that implements this automatically transforms the dimensions into ; the proper aspect ratio. All units are in inches. ; This is not the paper size. That is specified elsewhere. End users should ; not change this at all ; (world-size 120.0 90.0 1.0) ;(world-size 60.0 45.0 1.0) geda-gaf-1.8.2/gsymcheck/Makefile.am0000664000175000017500000000062312220647257014121 00000000000000 SUBDIRS = src include lib docs tests EXTRA_DIST = BUGS ChangeLog ChangeLog-1.0 if HAVE_GIT_REPO ChangeLog: $(top_builddir)/stamp-git (cd $(srcdir) && $(GIT) log --pretty=medium $(CHANGELOG_BASE).. -- .) > $@ endif HAVE_GIT_REPO MOSTLYCLEANFILES = *.log core FILE *~ CLEANFILES = *.log core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in ChangeLog geda-gaf-1.8.2/gsymcheck/BUGS0000664000175000017500000000011012204177071012531 00000000000000 Bugs (no particular order): ---------------------- Finished stuff: geda-gaf-1.8.2/gsymcheck/ChangeLog-1.00000664000175000017500000006261012204177071014131 000000000000002007-05-25 Ales Hvezda * configure.ac: Updated version to 20070526 in prep for the next release. 2007-02-10 Ales Hvezda * docs/gsymcheck.1: Updated the man page a little for bug: [ 1556064 ] man page version out of date * configure.ac: Bumped package version to 20070216. 2006-11-29 Carlos Nieves Onega * docs/gsymcheck.1: Fixed program name in the synopsis section. Thanks to Karel Kulhavy for reporting the bug. * src/globals.c: Removed quit_func since it is completely unused. 2006-11-21 Ales Hvezda * configure.ac: Fixed libgeda detection/find error message when the wrong libgeda version is found. (Bug reported by Karel Kulhavy; thanks) 2006-10-20 Ales Hvezda * configure.ac: Bumped package version to 20061020. 2006-09-27 Carlos Nieves Onega * configure.ac : Applied patch #1564796 by Cesar Strauss, enabling Cygwin's compilation. Thanks. 2006-09-24 Ales Hvezda * AUTHORS: Updated file pointing people at gschem's AUTHOR file as the complete list of authors. Merged all listed files in this file into gschem's file. 2006-09-17 Carlos Nieves Onega * include/struct.h, src/s_check.c, src/s_symstruct.c: Applied patch #1558391 by Jeff Mallatt, slightly modified so it doesn't use goto's. Thanks. Counts the number of distinct pinnumbers specified in all slotdef= attributes. Uses that number, plus the number of net= pins, to compare with the "footprint size" when checking for that warning. The code used to simply use numpins*numslots, which doesn't account for the possibility of the same pinnumber being used in more than one slotdef= attribute. For an example of a symbol where this matters, see 'analog/dual-opamp-1.sym'. 2006-09-13 Carlos Nieves Onega * src/s_check.c: Applied patch #1558122 by Jeff Mallatt. Adds newline that is missing from the "Found Pintype=..." message in s_check_pintype() in s_check.c. Thanks. 2006-09-06 Ales Hvezda * configure.ac: Updated program version to 20060906. * src/g_rc.c, src/gsymcheck.c: Added CUSTOM_VERSION to all printfs/output/dialog boxes where VERSION is used so that it is easier to create custom version of gEDA/gaf. 2006-08-31 Ales Hvezda * configure.ac: Updated gtk+ tests to look for 2.4.x or greater. 2006-08-21 Ales Hvezda * README: Updated the README a little to be ready for the next release. 2006-08-19 Ales Hvezda * configure.ac: Bumped version number to 20060821 in prep for the next gEDA/gaf release. 2006-07-15 Ales Hvezda * src/gsymcheck.c, src/s_check.c, src/s_symstruct.c: Changed all malloc/free calls to g_malloc/g_free to be consistent with libgeda 2006-04-09 Carlos Nieves Onega * src/gsymcheck.c: Enable logging when the filename specified couldn't be found. Thanks to Hans for reporting the bug and providing the patch. This fixes bug 1452836. 2006-03-12 Ales Hvezda * lib/system-gsymcheckrc.in: Removed load for the system-gafrc file, since it is loaded by libgeda first. 2006-01-16 Ales Hvezda * configure.ac: Bumped package version to 20060123 * README: Updated for the new year and release. 2005-11-27 Carlos Nieves Onega * src/globals.c: Added setting of load_newer_backup_func to NULL. It is needed now libgeda checks for autosave backup files when opening a schematic. 2005-09-27 18:51 Dan McMahill * src/s_check.c: remove various compiler warnings 2005-08-19 Ales Hvezda * configure.ac: Bumped the package version to 20050820 which will be a real snapshot. 2005-08-14 Ales Hvezda * configure.ac: Updated package version to 20050814. This is a temporary version and not a real release number. 2005-03-13 Ales Hvezda * configure.ac: Removed all tests for gtk+ 1.2.x and fixed error message if gtk+ 2.2.x is not found. 2005-03-08 Ales Hvezda * configure.ac: Bumped version to 20050313 2005-03-06 Ales Hvezda * src/gsymcheck.c: Fixed code to allow user to specify absolute filenames on the command line again. 2005-02-26 01:14 Dan McMahill * src/: gsymcheck.c, s_check.c: remove a handful of compiler warnings 2005-02-22 Carlos Nieves Onega * configure.ac, src/gsymcheck.c: Removed call to gtk_init(). GDK is now initialized in libgeda if it's a non-graphical app. 2005-02-20 Patrick Bernaud * src/gsymcheck.c (main_prog): Adapted for new logging system. 2005-02-19 Carlos Nieves Onega * src/globals.c: Added definition of picture_draw_func after adding picture support to libgeda. * configure.ac, src/gsymcheck.c: Added call to gtk_init() since gdk-pixbuf needs it if called. 2005-02-11 Patrick Bernaud * src/gsymcheck.c (main_prog): Adapted for new toplevel and page APIs in libgeda. 2005-02-09 Carlos Nieves Onega * include/prototype.h, include/struct.h, src/s_check.c, src/s_symstruct.c: Added check of pintype attribute value. 2005-02-08 22:30 Dan McMahill * include/prototype.h, src/g_rc.c, src/g_register.c, src/gsymcheck.c: replace deprecated guile functions with approved guile-1.6.6 ones 2005-02-04 Patrick Bernaud * src/gsymcheck.c, src/s_check.c: Replaced u_basic_strdup() and u_basic_strdup_multiple() by GLib functions. * src/gsymcheck.c: Made it use GLib's G_DIR_SEPARATOR* instead of libgeda's *_SEPARATER_*. 2005-01-29 Patrick Bernaud * src/gsymcheck.c (gsymcheck_quit): Adapted for new component library code. 2005-01-27 Stuart Brorson * src/gsymcheck.c: Changes made to enable correct opening of schematics in foreign directories. Changes detailed in libgeda ChangeLog. 2004-12-27 Stuart Brorson * lib/system-gsymcheckrc.in: Changed reference to system-commonrc to system-gafrc 2004-12-28 Ales Hvezda * include/pincounts.h, include/struct.h, include/prototype.h, src/s_check.c, src/s_symstruct.c: Applied patch by Jim Duchek which adds several important tests to gsymcheck: net=Vcc:8,15,14 (for example) is now checked against the pinnumber= attribs for duplicates. footprint= is checked to get the proper pincount (I included some support for special cases like TO92, which doesn't quite have 92 pins :), and the number of pins defined vs. the number of pins that SHOULD be defined is compared. Total pins are found by: total = num_net_pins + (numslots * numpins). Of course if numslots == 0 that multiplier doesn't happen. * tests/incorrect_footprint.sym duplicate_net.sym: Added a couple test symbols to exercise the above patch 2004-12-27 Ales Hvezda * configure.ac: Updated version to 20041228 2004-07-03 Ales Hvezda * include/i_vars.h, prototype.h, src/g_rc.c, g_register.c, gsymcheck.c, i_vars.c: Removed a whole bunch of rc related code. The removed code was moved into libgeda. * configure.ac: Updated version to 20040710 2004-01-17 Ales Hvezda * config.h.in: Remove machine generated file. 2004-01-11 Ales Hvezda * configure.ac: Updated version to 20040111 2004-01-01 Ales Hvezda * configure.ac: Added --with-docdir command line flag as well all the code to support installing documentation. Also added a prog check for groff. * docs/Makefile.am: Added commands to generate an html version of the man page. This html man page gets installed into the documentation directory. * src/Makefile.am, docs/gsymcheck.1: Moved man page from the src directory into the docs directory. * docs/gsymcheck.1: Minor updates and fixes. 2003-12-31 Ales Hvezda * configure.ac: Bumped version to 20031231 2003-12-29 Ales Hvezda * configure.ac: Added checks for gtk+ 2.2.x and 1.2.x. This was needed since the HAS_GTK22 will start to be used in libgeda includes. 2003-11-09 Ales Hvezda * config.guess config.sub depcomp install-sh missing mkinstalldirs: Removed machine generated files from CVS. * Makefile.am: Added above files to maintainer-clean target * autogen.sh: Added script to generate all the auto* files 2003-10-19 Ales Hvezda * src/g_rc.nw: Added the words "optional" and "required" to the *rc log find messages. * src/gsymcheck.c: Removed all // comments (replaced with C comments). 2003-10-18 Ales Hvezda * configure.ac: Updated version to something more recent, but this version is not an official release. 2003-10-04 Ales Hvezda * configure.ac: Updated version to something more recent, but this version is not an official release. 2003-09-20 Ales Hvezda * configure.ac: Fixed MinGW cflags/ldflags * auto* files: Updated to autoconf 2.57 and automake 1.7.6 2003-08-31 Ales Hvezda * configure.ac: Changed AC_CONFIG_HEADER to AM_CONFIG_HEADER 2003-08-24 Ales Hvezda * configure.ac: Removed redundant tests (gtk+, guile) and improved the configuration summary message. 2003-08-23 Ales Hvezda * src/parsecmd.c: Cleaned up help message a little. * src/gsymcheck.1: Updated manpage a little 2003-07-20 Ales Hvezda * configure.ac: Renamed from configure.in. * configure.ac: Bunch of cleanup to start using pkg-config for all libraries. Unfortunately, gsymcheck now links against libgtk*. I might fix that in the future. * *.in, *.h, etc: Removed a bunch of old unneeded auto* files. 2003-05-22 Ales Hvezda * configure.in: Updated version 2003-02-20 Ales Hvezda * src/gsymcheck.c: Applied patchlet from Steve Tell for disabling the guile 1.6.3 deprecated warnings. * README: Added note suggestion by Steve Tell about warning users that deprecated guile warnings are turned off. 2003-02-06 Ales Hvezda * configure.in: Bumped version to 20030223 * configure.in: Applied Gabriel Paubert's warning reducing patch with a few minor mods. 2003-01-11 Ales Hvezda * Makefile.am: Fixed the distclean-local target. * configure.in: Changed -fnative-struct to -mms-bitfields for gcc 3.2 mingw compiler (older mingw compilers are no longer supported) 2002-11-30 Ales Hvezda * lib/system-gsymcheckrc.in: Changed the variable names which hold the paths to the data and rc directories. * aclocal.m4: Removed file from cvs. 2002-11-03 Ales Hvezda * configure.in: Updated version to 20021103 (an official version) * src/g_rc.c: #if 0'ed out code which isn't being used 2002-10-28 Ales Hvezda * configure.in: Bumped version to 20021031 002-10-27 Ales Hvezda * configure and friends: Ran "autoreconf --force --install -v" to really upgrade to the auto* tools. 2002-10-19 Ales Hvezda * configure.in, *.m4: Upgraded to automake 1.7.1 and autoconf 2.54 2002-09-22 Ales Hvezda * configure.in: Bumped version to 20020922, which is NOT a release. 2002-09-16 Ales Hvezda * src/g_rc.c: Update file to the one that gnetlist uses (which is a little bit more polished) * src/g_register.c: Updates to take above into account * src/globals.c: Added variable_set_func and quit_func. These are used by libgeda and gsymcheck. * src/gsymcheck.c: Rearranged a few function calls for the new g_rc mechanism (and the s_project_* function which are now in libgeda) * src/s_project.c: Obsoleted file. This file is no longer in use. * src/i_vars.c, include/i_vars.h: Added these files, needed by the new g_rc mechanism. * lib/system-gsymcheckrc.in: Removed untitled-series keyword and add world-size keyword. 2002-09-07 Ales Hvezda * src/s_check.c: Put in a check for numslots=0 (slotting checks completely disabled). 2002-08-25 Ales Hvezda * src/*.c: Cleaned up -Wall warnings 2002-08-18 Ales Hvezda * src/s_check.c: Changed exit status again to be sane not stupid. :) * src/gsymcheck.c: Fixed the "cannot open filename if using a full path" bug * src/gsymcheck.c: Change behavior if a file cannot be found/loaded. Now gsymcheck will exit on this error * src/s_check.c: Added a little bit more info output for some of the tests * src/s_check.c: Fixed the search for name= to only search for name= * src/s_check.c: Fixed the checking for graphical=1 symbols 2002-08-16 Ales Hvezda * src/s_check.c: Changed exit status to return negative numbers for warnings (if there are no errors) or zero for no problems. 2002-07-27 Ales Hvezda * src/s_check.c: Added code to check for zero slots number and pins within a slotdef * tests/zero*.sym: Added a couple of test symbols to test the above errors * tests/*.sym: Added a dummy footprint= attribute to all the files 2002-07-25 Ales Hvezda * tests/*.sym: Bunch of additional symbols to test various new problems and updates to existing test files * src/s_check.c: Finished conversion to use new *_messages lists * src/s_symcheck.c: Finished conversion to use new *_messages lists * src/parsecmd.c: Improved the verbose flag to be cumulative * src/s_check.c: Added the following tests: checks for missing attributes pinlabel pintype footprint refdes checks for multiple attributes pinlabel pintype footprint refdes checks for obsolete or forbidden attributes label uref name type zero pinseqs or pinnumbers are not allowed * include/struct.h: A few changes to track above tests * src/s_check.c: Improved some of the messages * src/s_check.c: Fixed quiet flag (-q) to be really quiet 2002-07-23 Ales Hvezda * include/struct.h: Added *_messages list items * include/struct.h: Slightly cleaned up / reorganized symcheck struct * src/s_symcheck.c: Added code to output the new *_message lists * src/s_check.c: Added/changed code to use the new *_message lists * src/s_check.c: Added more tests to catch duplicate pinnumber attributes * src/s_check.c: Added more tests to catch invalid slotdef attributes * tests/: Added a few more *.sym files to validate checks * src/s_check.c: Still need to comment in tests which I did not finish converting to using the new *_message lists 2002-07-07 Ales Hvezda * configure.in/Makefile.am, tests: Added tests directory and a whole slew of .sym files with various problems. * src/gsymcheck.c: Added a call to free some memory. This may cause problems if I missed an init of some variable. * src/s_project.c: Disabled all drawing events as gsymcheck does not draw anything. * src/s_symcheck.c src/s_check.c: Added a bunch more tests: - search for old pin#=# and slot#=# attributes, - check for buses or nets inside a symbol, - check for connections inside a symbol. - check for duplicate pinseq attributes on multiple pins - various improvements to existing tests 2002-07-06 Ales Hvezda * configure.in/Makefile.am: Upgraded to automake 1.6.2 2002-07-05 Ales Hvezda * lib/system-gsymcheckrc.in: Fixed the load of the commonrc file to work with --with-rcdir again. 2002-06-21 Ales Hvezda * src/s_check.c: Added s_check_slotdef which checks the slot info 2002-06-21 Ales Hvezda * include/struct.h: Added new file to hold gsymcheck specific structures * src/s_check.c, s_symstruct.c: Added #include for above * src/*.c: Went through and re-indented most functions * src/*.c: Started expanding tests to include missing pinseq, missing pinnumber, found old pin/slot attributes. (not completely done; some functions stubbed) * src/globals.c: Added s_update_log function so that we can log s_log_messages * src/*.c: Changed all fprintfs to s_log_messages * src/gsymcheck.c: Cleanup in main_prog, don't load files which don't exist * src/s_check.c: Minor reorg, refactoring some of the functions 2002-06-09 Ales Hvezda * src/g_rc.c, gnetlist.c: Added a call to u_basic_strip_trailing to fix the network timeout problem on WinME 2002-05-27 Ales Hvezda * lib/system-gschemrc.in: Fixed incorrect environment variable name "GEDADATARC" to be GEDADATA. * src/g_rc.c, g_register.c, i_vars.c, s_project.c: Added the missing bitmap-directory keyword * src/g_rc.c: A few more fixes for the mingw32 port. 2002-04-08 Ales Hvezda * configure.in: Changed the function which is search for libpng. This was needed for the win32 port. 2002-04-06 Ales Hvezda * configure.in: oops had the wrong order of things for MINGW32. fixed. 2002-04-03 Ales Hvezda * configure.in and friends: More work on getting the upgrade of autoconf, automake, and libtool to behave correctly. * configure.in: Added PATHSEP variable which holds the proper path separater depending on the platform. * lib/system-*.in: Work on getting rc files to use above variable. * src/g_rc.c: Got rid of any left of /'s and replaced them with the appropriate #defines 2002-04-01 Ales Hvezda * configure.in: Added -liberty for the Mingw32 port * configure.in and friends: Upgraded to autoconf 2.53, libtool 1.5, and automake 1.5. Lots of changes in various places for this upgrade. 2002-02-24 Ales Hvezda * configure.in, config.h.in: Added a few checks for some non-portable #includes * configure.in: Added checks for mingw32 and disabled the cygwin port 2002-02-18 Ales Hvezda * src/Makefile.am utils/Makefile.am: Andrew Dyer found a GUILE_* bug. Fixed. * configure.in: Removed all trace of GUILE_LIB and GUILE_INCLUDE 2001-02-09 Ales Hvezda * src/s_project.c: Made sure to init show_hidden_text to 0. 2001-07-22 Ales Hvezda * configure.in, src/gsymcheck.c, src/g_rc.c: Cleanup and added the ability to have the rc files in a different location using --with-rcdir (was broken recently, now fixed) * src/gsymcheck.c, s_check.c: Added patch by Dan Mcmahill for 64-bit architectures. 2001-07-20 Ales Hvezda * configure.in, src/Makefile.am: got the configure mechanism to deal with the guile detection more like gschem. 2001-07-19 Ales Hvezda * configure.in: Fixed all the LDFLAGS to be correct (and only link the libraries once) * configure.in: Bumped up version to 20010722 * configure.in: More updates to get cygwin to build right 2001-07-05 Ales Hvezda * src/gsymcheck.c: Removed the "This is alpha software" message and added the standard gpl/gnu software message 2001-07-01 Ales Hvezda * src/configure.in: Make sure configure scripts work with autoconf-2.50 (had to fix cygwin check), they do not yet work with 2.50 * Removed all trace of libtool from gsymcheck, not required to build 2001-06-15 Ales Hvezda * src/g_rc.c, src/gsymcheck.c: Got the code to use the new GEDADATA environment variable * lib/system-gsymcheckrc.in: Updated to use GEDADATA environment variable 2001-03-18 Ales Hvezda * Removed all Makefile.in files and configure 2001-03-17 Ales Hvezda * Got make dist and make distcheck working (means all files which are in CVS are in some Makefile) * configure.in, acconfig.h: unfortunately libgdgeda and stroke are required for linking, so they MUST be inside these files * configure.in: Added DATADIR instead of PACKAGE 2001-03-07 Stefan Petersen * configure.in, acconfig.h: In the spirit of yesterday I removed every trace of stroke and libgdgeda. 2001-03-06 Stefan Petersen * configure.in: Removed some hard coded libraries. Patch and suggestion from Bruno Schwander. 2000-03-04 Ales Hvezda * configure.in: Updated version * configure.in: Added a check to make sure libgeda-config and gesym-config are the right version 2000-12-07 Ales Hvezda * src/s_project.c: Removed obsolete DONT_REDRAW variable from code 2000-12-03 Ales Hvezda * configure.in: Slightly rearranged things to make cygwin port happy 2000-12-02 Ales Hvezda * src/gsymcheck.c: Changed Cygwin warning message * src/src/g_rc.c: Misc changes to get this file to build with the current cygwin * src/src/parsecmd.c: Misc changes to get this file to build with the current cygwin * src/Makefile.am: Changed order of libraries in LDFLAGS line 2000-11-30 Ales Hvezda * configure.in: Added -fnative-struct flag for CYGWIN port only * configure.in: Added --enable-debug flag to enable -g flag 2000-10-12 Ales Hvezda * src/create_proto: Update with the latest version of this script 2000-10-07 Ales Hvezda * configure.in: Removed an old GTK+ which is no longer used 2000-10-06 Ales Hvezda * src/gsymcheck.c: Changed CYGWIN32 port warning 2000-07-04 Ales Hvezda * src/*.c: Updated copyright info in each file * src/*.c: Changed all GNU to GPL in the appropriate places * configure.in: Bumped version up to 20000704 * src/*.c: Fixed all warnings 2000-06-27 Ales Hvezda * src/g_rc.c, src/g_register.c: Added component-library-search and source-library-search rc keywords * configure.in: Put in checks for gtk+ and glib 1.2.3 2000-06-01 Ales Hvezda * src/s_project.c: Added init of some important variables which libgeda uses when promoting attributes * src/create_proto: Updated to the latest working version (from gschem/src) 2000-02-19 Ales Hvezda * README/INSTALL: Updated files to reflect next release * src/*.c: Fixed all warnings (using -Wall -Werror) 1999-10-17 Ales Hvezda * src/*.c: Changed all files to use the new libgeda/libgeda.h include 1999-10-10 Ales Hvezda * src/gsymcheck.c: Fixed up s_log_init to use the new prototype 1999-10-03 Ales Hvezda * In all *.c included define.h before struct.h 9/19/99 Make sure gsymcheck runs with guile-1.3.2a Fixed all warnings 9/16/99 Added code in gsymcheck.c to only load up schematics which haven't been loaded already 9/4/99 Finally integrated gsymcheck into the new development snapshot scheme Created basic gsymcheck.1 manpage Started to do minor updates to the code ---------------- Development division starts here -------------------------- 3/19/99 Updated g_rc to print more diag message to the log file when it can't find an rc file (like gschem) 3/18/99 Updated g_rc to use new macros for finding system-*rc files 3/9/99 Fixed a few variables which were uninitialized (width, height, snap_size) 3/1/99 Added missing tube and radio paths from *rc file 2/25/99 Added s_symstruct.c to init and manage the per symbol struct Rewrote the way errors are reported and handled (now error messages are printed and checked for after all the checking work is done) 1/30/99 Added -c flag (and associated global variable, check_mode) Added s_check.c : s_check_all and s_check_symbol Worked on above to get the most basic attribute checks Changed some quiet_mode ifs to be verbose_mode ifs Renamed gsymbol to gsymcheck. Removed -c flag, since now that's the only purpose of the program 1/27/99 Took gnetlist source and converted to look like gsymbol. Got source to compile and load in schematic/symbol files 1/9/99 Cleaned up some character strings to reflect that this is gsymbol not gnetlist 0.0.5 ------- 9/4/98 Added support for libgeda 8/26/98 Added Makefiles and support files to repository geda-gaf-1.8.2/gsymcheck/Makefile.in0000664000175000017500000005472112220655724014140 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = gsymcheck DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ChangeLog \ TODO ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = src include lib docs tests EXTRA_DIST = BUGS ChangeLog ChangeLog-1.0 MOSTLYCLEANFILES = *.log core FILE *~ CLEANFILES = *.log core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in ChangeLog all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gsymcheck/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu gsymcheck/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic clean-libtool cscopelist-am ctags \ ctags-am distclean distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags tags-am uninstall uninstall-am @HAVE_GIT_REPO_TRUE@ChangeLog: $(top_builddir)/stamp-git @HAVE_GIT_REPO_TRUE@ (cd $(srcdir) && $(GIT) log --pretty=medium $(CHANGELOG_BASE).. -- .) > $@ # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/gsymcheck/ChangeLog0000664000175000017500000015335412220655754013652 00000000000000commit 875406c9d1211fd88e3e7e1ee5349cba41a7becf Author: Peter TB Brett Date: Wed Sep 25 22:17:56 2013 +0100 Update NEWS and version information for 1.8.2. commit d088ec192ac9fbc1dff3509527cb238520c2ee33 Author: Peter TB Brett Date: Fri Nov 23 21:24:42 2012 +0000 Update version numbers to 1.8.1. commit 87f1e0e76965a514277c949dbf2191993962cb88 Author: Peter TB Brett Date: Sun Nov 18 15:26:09 2012 +0000 Update version numbers to 1.8.0-20121118. commit f0923997c5ea727f6b73afad23ee2f974ac6b6b0 Author: Gareth Edwards Date: Sun Mar 18 11:36:59 2012 +0000 Update FSF mailing address. Change all references to the FSF mailing address to the new Franklin Street location. Closes-bug: lp-934934 commit e2eda476fb8f3a16aeba8eab0cc8b7fa12e37d6b Author: Ales Hvezda Date: Sat Dec 31 16:00:23 2011 -0500 Updated man page date and version in prep for a new release (1.7.2) commit 0e506ebd5d5cc87a7f373b83b24f2ad3c90fd18b Author: Peter TB Brett Date: Mon Dec 12 14:13:22 2011 +0000 Remove per-tool INSTALL files. Only one top-level INSTALL file is needed, and that is provided by automake. commit 12260baebf9f828e9297fc794e911224b8dcd163 Author: Ales Hvezda Date: Sun Jun 19 10:36:02 2011 -0400 Updated all man page dates/versions commit 8de0484eca09833aec9994cd89c3c7111ecfede3 Author: Ivan Stankovic Date: Fri Jun 17 21:20:13 2011 +0200 gsymcheck: g_rc_gsymcheck_version: remove use of deprecated SCM_STRING_CHARS Reviewed-by: Peter TB Brett commit 799d67452921ed1447e8b030ee268fe8c34c5785 Author: Ales Hvezda Date: Sun Jan 16 00:15:29 2011 -0500 Updated version strings in all man pages commit 502ab80495c45e092eca6052edd6cf8e7ff55429 Merge: 27f7a52 e1c3ba4 Author: Peter TB Brett Date: Thu Jan 13 19:59:35 2011 +0000 Merge branch 'stable-1.6' Conflicts: NEWS libgeda/include/prototype_priv.h libgeda/src/gdk-pixbuf-hacks.c libgeda/src/o_basic.c libgeda/src/o_complex_basic.c utils/src/gsch2pcb.c commit 7ca2b049dbcfb9f0eb8d3dd3fcf21cbd66c0ec95 Author: Peter TB Brett Date: Wed Jan 12 17:03:44 2011 +0000 Print message and exit if rc file load fails. Modifies g_rc_parse() to print useful messages to standard error and exit with non-zero status if an error other than ENOENT occurs while attempting to parse any configuration file. N.b. only copes with rc files loaded at startup; rc files loaded later (e.g. a gafrc auto-loaded while loading a schematic using gschem "File->Open") can't cause the application to die. Since this means that under some circumstances gschem and gattrib can appear to do nothing silently (e.g. when launched from via a .desktop file) subsequent patches need to make gschem and gattrib generate appropriate warning and/or error message dialogs. Affects-bug: lp-698578 commit 8a3a0bb070d1b288fceac2fcdd7b317a8f77a464 Author: Peter TB Brett Date: Fri Jan 7 22:00:09 2011 +0000 Update FSF address in copyright headers. The FSF have now moved to 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Our GPL and LPGL copyright headers need to updated to reflect this. Only files remaining with old address are wiki files (although the wiki has now been updated) and PostScript files. commit 86c305d9a2c62f062cbd9b63810a0173e4855310 Author: Peter TB Brett Date: Fri Jan 7 14:53:51 2011 +0000 Install HTML versions of manpages even without groff. If groff isn't available, try to install HTML manpages anyway. This allows users to install manpages even if they don't have groff as long as they aren't compiling from git and don't edit the manpages. Closes-bug: lp-698586 commit 0b94d2379a5bd5d14690f941690e0df761df13c9 Merge: 63cd6d7 a33839a Author: Peter TB Brett Date: Sun Dec 12 09:48:07 2010 +0000 Merge some changes from Peter Brett. Merge a series of more generally useful changes from Peter Brett's `guile-scheme-api' branch, most of which remove uses of TOPLEVEL.page_current from libgeda. commit 1cec80d84654293424a3c35bdca1878292033f4a Author: Peter TB Brett Date: Sun Nov 7 09:26:14 2010 +0000 gsymcheck: Update canonical output for test suite. In f8f053afef5a3e6302e9ec4ed9efcd8f1bf07886, changes to libgeda introduced a change in behaviour to gsymcheck, causing it to correctly pick up on connections in a symbol which it failed to detect before. This commit updates the canonical outputs in the test suite. commit 3abdca2a4ee088184e976822c444069d67e20a20 Author: Peter TB Brett Date: Tue Nov 2 10:27:25 2010 +0000 libgeda: Add PAGE argument to file load/save functions. commit 0e5defe4871370a93c6ccb8bbf4a10e5df098884 Author: Ales Hvezda Date: Sun Feb 14 21:26:37 2010 -0500 Updated man page dates (cherry picked from commit 11921dc18209ed4ea12288114634bb94a5b9b8a9) (from stable-1.6) commit c31d9a1a90db32dd1e1d41f9d3d5ef5888424ba1 Author: Ales Hvezda Date: Sun Feb 14 17:09:45 2010 -0500 Updated copyright text/header in most source files. Updated all copyright text dates that should be updated for the new year. Fixed a bunch of GNU text typos (these should have been either GPL or gEDA). Removed some $Id$ tags which are no longer used/needed. Fixed a few file header that were just plain incorrect. (cherry picked from commit bd34cfde2450790b357e574281f9562adce64303) (from stable-1.6 branch) commit 11921dc18209ed4ea12288114634bb94a5b9b8a9 Author: Ales Hvezda Date: Sun Feb 14 21:26:37 2010 -0500 Updated man page dates commit bd34cfde2450790b357e574281f9562adce64303 Author: Ales Hvezda Date: Sun Feb 14 17:09:45 2010 -0500 Updated copyright text/header in most source files. Updated all copyright text dates that should be updated for the new year. Fixed a bunch of GNU text typos (these should have been either GPL or gEDA). Removed some $Id$ tags which are no longer used/needed. Fixed a few file header that were just plain incorrect. commit c603cb9f75068837eb8f5a309f590fb3d8e5156e Author: أحمد المحمودي (Ahmed El-Mahmoudy) Date: Fri Nov 20 16:23:15 2009 +0000 Fix for some manpage issues. [2901183] Fixes undefined use of `l' macro, and incorrect uses of `-' character. (cherry picked from commit 93dd5a941f34d1dd58cf9a57a07dec1e01ce3afe) commit 93dd5a941f34d1dd58cf9a57a07dec1e01ce3afe Author: أحمد المحمودي (Ahmed El-Mahmoudy) Date: Fri Nov 20 16:23:15 2009 +0000 Fix for some manpage issues. [2901183] Fixes undefined use of `l' macro, and incorrect uses of `-' character. commit 858982a2a05ff3e128de3621f1d301ecd989f35c Author: Gareth Edwards Date: Fri Nov 20 06:39:59 2009 +0000 Changed message on failure to generate doxygen docs If --enable-doxygen was not a configure flag, change the error message on an attempt to build doxygen documentation to suggest the configure flag was the cause of the failure rather than the lack of a doxygen install itself. commit 1248c66c7973f8d3835f6107d3f1ed9c5c880b43 Author: Gareth Edwards Date: Fri Nov 20 06:39:59 2009 +0000 Added doxygen targets to remaining applications. commit 3fd50335ddfe0ed7f358d46a0fba23bff25073e6 Author: Ales Hvezda Date: Sun Oct 4 21:23:05 2009 -0400 Updated date and version in all man pages commit 45002f0be0efb9638bcb96e67bbd1e5d3cd602c6 Author: Ales Hvezda Date: Sun Aug 30 19:26:36 2009 -0400 Updated all manpage versions in prep for a new release (v1.5.4) commit b0fa7dd7839915703d9101006bed1c7305477e30 Author: Ales Hvezda Date: Sat Aug 29 16:51:44 2009 -0400 Updated the versions of the software in all man pages commit ff6ea4955d0490d6436bc74d840325e76098304f Author: Peter TB Brett Date: Thu Aug 13 07:56:57 2009 +0100 build-sys: Don't use AC_HEADER_DIRENT. The Autoconf manual says that AC_HEADER_DIRENT is now unnecessary: This macro is obsolescent, as all current systems with directory libraries have `dirent.h'. New programs need not use this macro. This patch removes AC_HEADER_DIRENT and all checks for HAVE_DIRENT_H. It turned out that in most of the places where `dirent.h' was being #include'd it wasn't needed anyway. (Fix for a Cygwin build bug reported by Dan McMahill). commit cf772193f3042184e5ca624cc7b1e8daef6f4a53 Author: Peter TB Brett Date: Thu Aug 13 06:43:16 2009 +0100 build-sys: Improve HTML conversion rules. We want to make sure the HTML version of the man pages is always distributed, but make building/installing it optional (in case users don't have a proper groff installed). This can be achieved by making sure that Automake only tries to install the HTML man pages if a working groff is available. In addition, `make distcheck' is set up to behave as if groff is not installed. Unfortunately, this still isn't ideal, because users who build from a source archive (with pre-built HTML) won't get HTML installed unless they have a working groff. In the long run, what needs to happen is to use a mechanism like `missing' to handle rebuilding of HTML man pages -- or just drop HTML man pages altogether. commit 7b2ec0b1da38f6f078de4bb1ef61d100d9a5972e Author: Peter TB Brett Date: Wed Aug 12 18:24:43 2009 +0100 build-sys: Add check for groff html driver. [2836109] Some distributions, such as Ubuntu, do not install the groff HTML device by default, and an additional package must be installed to provide it. AX_PROG_GROFF therefore needs to check that groff is able to create HTML files. commit 98fc06c271432b9f59ca49865b8ca9dbe844b9de Author: Ales Hvezda Date: Sat Aug 8 00:44:40 2009 -0400 More Makefile.am cleanup Details on this commit: * Removed even more trace of the old prototype mechanism from the Makefiles. * Removed the cleanup of configure scripts which are no longer there (or for that matter were never in the same directory as some of these Makefiles). * Removal of some files from the *CLEANFILES rules which never existed. * Line length tweaks and fixes commit 4866b0224a471a2b1cf5ee5e9043d1eba5b89d61 Author: Ales Hvezda Date: Sat Aug 8 00:24:35 2009 -0400 Added some of the doc support files to EXTRA_DIST Some of these newer doxygen files still need some Makefile infrastructure, but at least they will be distributed as part of the gEDA-geda tarball. commit a4a8c19bb3389548d641a0874a77c77f623ad7a5 Author: Ales Hvezda Date: Fri Aug 7 23:02:01 2009 -0400 Makefile.am cleanup (removal of ChangeLog and Makefile.in files) Details on this commit: * Now that we are no longer storing machine generated ChangeLogs inside the git repository, make maintainer-clean should remove the machine generated ChangeLogs. This way nobody accidently edits the ChangeLog. Only 7 ChangeLogs are left after a make maintainer-clean (intl, po, and one toplevel ChangeLog). * Some directories were missing the removal of Makefile.in when make maintainer-clean is run. Only 3 Makefile.in files remain now after make maintainer-clean (only in the intl directories). * Removed $Id$ tags from some of the Makefiles since we are no longer using CVS. * Removed some unnecessary ChangeLogs from ever being created (from example/gTAG gschem/scripts, and symbol/font). Note 1: There are still some machine generated files still hanging around, but I'm going to leave those alone for now as the .gitignore mechanism properly masks those. Note 2: Made sure that all files that are to be removed in the *CLEANFILES lists comes before the #*# otherwise they will be ignored. commit 33847dd773fbe332c154fcc1a82e5fdd7c2201c4 Author: Ales Hvezda Date: Fri Aug 7 22:07:45 2009 -0400 Removed all trace of the prototype.h creation mechanism plus other removal The old prototype.h creation mechanism hasn't been used in years and now has been fully removed. Also removed common/outputs/Makefile.am since it no longer used either. commit 1a3b04db4b811a853b9d2d7c5c57038f2146f919 Author: Ales Hvezda Date: Fri Aug 7 21:21:22 2009 -0400 Added a bunch of files that should be included in any distribution The only file which I might want to not distribute is update-version.sh, which technically is a developer/maintainer only file, but for now I'll include it. Also libgeda/docs/images isn't integrated into the build properly yet, so it will not be in the distribution for now. commit 2992b190679b4d351b7990717cc8dc1407c01ec7 Author: Peter TB Brett Date: Fri Aug 7 09:24:17 2009 +0100 gsymcheck: Tell tests where to find system-gsymcheckrc. This is required to get the gsymcheck tests to pass make distcheck. Note: make distcheck does not pass in this commit. commit fc2b205314545d92ea2a7e8f40a7a4c7d5af893d Author: Peter TB Brett Date: Thu Aug 6 17:15:29 2009 +0100 Don't store git-generated ChangeLog files in repository. Don't store ChangeLog files in the git repository and have to remember to update them each time a release is made. Instead, get `make dist' to create the ChangeLogs for you if a git repository is detected. Note: make distcheck does not pass in this commit. commit 77d96e9154d9cfc81b25353ef99b8f8f42999bfb Author: Peter TB Brett Date: Thu Aug 6 14:35:12 2009 +0100 Add top-level NEWS file. This contains important user-visible changes. It should be kept up-to-date, in order to make writing release notes easier. commit 09fcc6d689defb8f43bfc27aac87ee4ac34ce66a Author: Peter TB Brett Date: Thu Aug 6 12:33:07 2009 +0100 Update top-level README file. Well, actually rewrite it entirely. Note: make distcheck does not pass in this commit. commit 433c672579aabb282999377139c9242b319ba044 Author: Peter TB Brett Date: Thu Aug 6 12:38:31 2009 +0100 Only need a single `AUTHORS' file. Move the gschem one to the toplevel (adding several missing names on the way), and remove most of the others. The `AUTHORS' files in the `symbols' and `utils' directories are retained, because they contain some useful information. Note: make distcheck does not pass in this commit. commit ed7134fd403b9f1dc0a75d50e4e7bcfb2fd95cb8 Author: Peter TB Brett Date: Thu Aug 6 11:19:57 2009 +0100 Only need one copy of GPLv2. Also, update to latest version of GPLv2 (from http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt). This corrects the FSF contact address, along with some minor formatting modernisations. Note: make distcheck does not pass in this commit. commit a4f28a7217f117b1601561b31c9bf8d1096da25f Author: Peter TB Brett Date: Thu Aug 6 10:45:48 2009 +0100 Add gsymcheck to unified build system. Also removes the empty 'gsymcheck/examples' and 'gsymcheck/scheme' directories. Note: make distcheck does not pass in this commit. commit e55e9e247eb33c4a5be56687b4610c6649ef74d7 Author: Peter TB Brett Date: Tue Aug 4 22:06:16 2009 +0100 Remove existing build infrastructure. This simply strips out all configure, m4 and autogen scripts from the whole repository, including the toplevel Makefile. This commit does not compile (what a surprise)! commit 66ec63a3db39a4a47472c11887463d8b329f16d3 Author: Peter TB Brett Date: Sat Jul 4 07:41:21 2009 +0100 gsymcheck: Fix testsuite for out-of-srcdir builds. Fixes runtest.sh to use the build and src directory arguments correctly. Also, use $(SHELL) to run runtest.sh rather than relying on its shebang. commit 35534dce32023ec949f3710d7d8c19dcdace9295 Author: Bert Timmerman Date: Tue Jul 28 19:48:01 2009 +0200 gsymcheck: Ignore output generated by Doxygen. commit c697fd865d7234583e6254ae72ccb2587faa290d Author: Bert Timmerman Date: Tue Jul 28 19:55:54 2009 +0200 gsymcheck: Generate consistent style Doxygen documentation. Follow the documentation style as with gschem and libgeda. commit 82c4e182c71d8a4fb9584b059a2f3215f6438cfe Author: Peter TB Brett Date: Mon Jul 20 18:12:25 2009 +0100 Reduce stderr spew. It's not necessary to spew massive amounts of output to stderr on startup. It's ugly and not legally necessary. This patch modifies the tools only to spew a GPL header to stderr when entering gnetlist's interactive mode -- and to be nice and quiet the rest of the time. commit 6d4ba095d2894e9cc21e272d28af07b0d74a7b99 Author: Dan McMahill Date: Sat Jul 4 12:14:54 2009 -0400 Fix several minor bugs in the testsuite. - Make the list of arguments passed into the runtest.sh script match what the script actually expects. - Make the use of temp files more secure. - Be more consistent about the usage of the build directory versus the source directory. - When a single test fails, just increment a failed count and continue on. Don't abort until all the tests have run. commit 67aeb9b999d29080118a7af899ad1de362ccd2b8 Author: Peter Clifton Date: Mon Jun 8 23:31:22 2009 +0100 Fix autogen.sh scripts to look for AC_CONFIG_HEADER to run autoheader Since commit #9a7c363c572d32a30fa1522cd7d14b21c2958ca8, the configure scripts in gEDA use AC_CONFIG_HEADER, not AM_CONFIG_HEADER Fixes build problems noted by various users. Identified by Dan McMahill. commit 61f488315da15d0be48acbe65ee9c1bf69c60e03 Author: Peter TB Brett Date: Mon Jun 8 10:57:32 2009 +0100 Require GLib 2.12.0 or newer. We now require GTK+ 2.10.0, and since that requires GLib 2.12.0, we can bump the GLib version we require up to match. Thanks to Peter Clifton for spotting this. commit 9a7c363c572d32a30fa1522cd7d14b21c2958ca8 Author: Peter TB Brett Date: Mon Jun 8 10:48:25 2009 +0100 Use AC_CONFIG_HEADER instead of AM_CONFIG_HEADER. This fixes an issue with config.h.in not being correctly regenerated with autoheader on changes to configure.ac. Thanks to Maciej Pijanka for working out the solution to this problem! commit 209e55a6a0ab33478cea41c154be64d7ec0620ea Author: Peter TB Brett Date: Sun Jun 7 19:34:30 2009 +0100 Require GTK+ 2.10 or newer. commit d5e06e6ee657f80d1cb8d82884122ac958e9d3a4 Author: Peter TB Brett Date: Sun Jun 7 19:34:30 2009 +0100 Remove Guile 1.6 support. commit b4862c3c120c8144f47393333e2e6bec2f302bc7 Author: Peter TB Brett Date: Sun Jun 7 19:34:29 2009 +0100 Require Guile 1.8.0 or newer. Guile 1.8 became the stable branch of Guile on 2006-02-12, over three *years* ago. All major distributions ship it, including Debian stable. Expecting its availability makes testing of new Scheme-based features much easier, as most gEDA developers normally write and test code against 1.8. Furthermore, it allows better advantage to be taken of 1.8-only features (such as improvements in debugging support), without requiring vast swathes of hard-to-maintain preprocessor trickery. commit c99db7713faaad225501710e58220e580bca58b1 Author: Peter Clifton Date: Sat Jun 6 01:44:34 2009 +0100 Make use of new API o_attrib_search_floating_attribs_by_name() Replaces the less specific API, o_attrib_search_name() previously used to search for floating attributes. Remove the now unused function o_attrib_search_name(). commit 33b113b078e9647d7304b4c2caa04da1dd367e4f Author: Peter Clifton Date: Sat Jun 6 01:34:53 2009 +0100 Use o_attrib_search_object_attribs_by_name() where appropriate commit 88c205ea2ff69936aa5362a52d27471fbab87e6b Author: Peter Clifton Date: Sat Jun 6 01:29:02 2009 +0100 Remove o_attrib_search_toplevel() in favour of the newer API o_attrib_search_floating_attribs_by_name() is functionally identical commit ab590ab70cddfe6a0954d56a31c0ebd1f0bc7691 Author: Ales Hvezda Date: Sat Mar 28 15:55:19 2009 -0400 Updated ChangeLogs one more time for 1.5.2 commit 546d4dbe0124d3f9421116b9e5a8889cccf97b84 Author: Ales Hvezda Date: Sat Mar 28 15:22:19 2009 -0400 Updated all ChangeLogs Updated the ChangeLogs by running: ./update-changelogs.sh 1.0-20070526..master in the toplevel directory commit 21e8c0b232e08927fd091a1d46413990b4c61358 Author: Ales Hvezda Date: Sat Mar 28 15:18:34 2009 -0400 Updated all dates in the relavent man pages (for 1.5.2.20090328) commit 859abe69912ba99ca27bb58c378284e9eec56259 Author: Ales Hvezda Date: Sat Mar 28 15:13:59 2009 -0400 Updated all versions to 1.5.2 20090328 36:0:0 Updated by running: ./update-versions.sh 1.5.2 20090328 36:0:0 commit c3081930ed224394f645de4bfb51e86fa3e15e65 Author: Peter Clifton Date: Fri Feb 20 23:26:12 2009 +0000 Remove obsolete references to libgd and libgdgeda commit 3c0d85eae92d5764aa7dee2899c6a066c3470ee3 Author: Peter TB Brett Date: Wed Jan 21 14:11:39 2009 +0000 Write logs to $HOME/.gEDA/logs/. Rewrite s_log_init() to put log files in a centralised location. A user application (e.g. gnetlist) provides a prefix, and log file is opened at: $HOME/.gEDA/logs/--.log [1] The serial is found by the following procedure: 1. Read through the directory to find the highest existing . 2. Starting with that number, repeatedly attempt to open() incrementing files with O_CREAT|O_EXCL flags to guarantee that a new file is created. 3. If after LOG_OPEN_ATTEMPTS = 5 attempts a unique filename hasn't been found, fail. The logic *intentionally* does not fill in gaps in the sequence -- if I delete logs, I still want a new log to appear at the end of the list. [1] The actual location is a subdirectory "logs" of the user config directory, which may not be ~/.gEDA on all platforms. commit fda82eb96e2c785efe91fd59d01f6e7e26b897ed Author: Peter TB Brett Date: Sun Jan 18 01:48:58 2009 +0000 Protect some strings passed to pkgconfig. Ensure that pkgconfig version requirement strings are protected from M4 expansion. commit ee250c9bd2e88bf352a03d1719603b7d54fe430c Author: Peter Clifton Date: Tue Jan 13 23:58:30 2009 +0000 Avoid underlinking of apps due to missing explicit depends These went unnoticed because the apps were resolving the necessary symbols when pulling in libgeda and its dependencies. Fix applications using GLib and guile within the suite to explicitly pull in the appropriate CFLAGS and LIBS. This commit removes some LDFLAGS and LIBS from grenum, since they weren't being used. commit 1645fda42758a837c7ccf1efd32fd3b484e22421 Author: Peter Clifton Date: Sat Jan 10 22:17:44 2009 +0000 Remove unused GTK dependencies from text-based tools commit a344ff9c33b9bbb7b1a622b70dcedf393e1de09a Author: Peter Clifton Date: Sat Jan 10 20:41:43 2009 +0000 Remove some unused Gdk* typed variables from globals.[ch] across the suite commit 373becd3a5156236963b82e7f9a27be8f90db0c4 Author: Werner Hoch Date: Fri Jan 2 20:39:56 2009 +0100 gsymcheck: checks for overbars and escaping Test for single overbar markers '\_label' and print a warning. libgeda currently closes an open overbar at the end of the string but a different implementation could drop the overbar. It also tests for single backslash characters. They will be invisible as a '\x' combination will only print the second char 'x'. The user should decide whether he likes to remove the backslash or whether to escape it and write '\\x' commit d7b7b23721b4054172587c9961d4b87f47bee198 Author: Peter Clifton Date: Wed Dec 31 17:26:03 2008 +0000 libgeda: Remove non-private access of PAGE->object_list This allows us to keep better track of where the PAGE must be updated should we have any spatially keyed data-structures in the future. Rename PAGE->object_list PAGE->_object_list to try and discorage any use of it outside libgeda (ideally, outside s_page.c) in the future. commit ca6556ace0a06ec1dd697852f7a1f0ffb86bfb97 Author: Peter Clifton Date: Wed Dec 31 17:25:57 2008 +0000 Add "const" to some places where we deal with GLists of OBJECTs. These GLists themselves are not (and shouldn't be) modified, although the OBJECTs they point at may well be. commit 87974a03e1184d58edb1382f6006a13c47bcbc77 Author: Werner Hoch Date: Sat Dec 27 18:29:20 2008 +0100 gsymcheck: warning message if show_name_value is weird [#2470862] If a text object is not an attribute the show_name_value field of the text object should be SHOW_NAME_VALUE. Create a warning if it's SHOW_NAME or SHOW_VALUE. It's not really an error, thus only create a warning commit 3c49636e1a9e9e703fab4c6aafc69affb4fd2bab Author: Ales Hvezda Date: Sun Dec 21 16:23:26 2008 -0500 Updated ChangeLogs one more time. commit 2f3e07a1fa7fd92ab163d2cd966efd98ab306512 Author: Ales Hvezda Date: Sun Dec 21 14:40:21 2008 -0500 Updated ChangeLogs again in prep for the 1.5.1 release commit 76d02f7f935d930d8093bd49b7eb0836d3b1aa6e Author: Ales Hvezda Date: Sun Dec 21 14:06:17 2008 -0500 Updated all ChangeLogs in prep for the 1.5.1 release. The update was done by running: ./update-changelogs.sh 1.0-20070526..master commit 680e08085d44c9876bdadef0ca7ef25b474c2006 Author: Ales Hvezda Date: Sun Dec 21 13:39:29 2008 -0500 Updated all versions to 1.5.1 20081221 35:0:0 Updated by running: ./update-versions.sh 1.5.1 20081221 35:0:0 commit 4f9f4336a123f91318ec2d1ffd8e9739eb756348 Author: Ales Hvezda Date: Sun Dec 21 13:10:23 2008 -0500 Updated dates and versions in all man pages commit 6329c5a7bdae9573f01f92403e4645e79e66aab5 Author: Peter TB Brett Date: Sat Dec 20 14:41:05 2008 +0000 Update copyright header dates to 2008. (And I'll have to do this all again in a few days time). commit 617797b5a47d370c4fee19110c826502b7e3082b Author: Peter Clifton Date: Tue Dec 9 16:19:09 2008 +0000 Remove linkage between OBJECTs and use GList for OBJECTs on the page This affords quite a lot of code clean-up, since we no longer have to maintain two versions of each operation which works on lists. commit f470af7a28afe423ded6171ea3c8a2b31ff56f43 Author: Peter Clifton Date: Sat Nov 1 20:47:41 2008 +0000 Revert applying -Werror to compiler flags when linking with GCC (CODE!!) Depending on the gcc version, the original developers might not see the warning until the software gets into the end user's hands (and tries building it with an older/newer version of gcc). Most warnings are not catastropic, but by using -Werror they are _all_ catastropic. If a developer wants to get rid of all warnings, they should either: 1) run make -s and see/fix all the warnings, and/or 2) modify the Makefile's themselves and add the -Werror flag temporarily. (Comments explaining rationale snipped out of an email from Ales). commit 6e10a7fbe26c858a6fa85f430d2bfe256a668c28 Author: Peter Clifton Date: Sat Nov 1 17:29:37 2008 +0000 gsymcheck: Remove unused "utils" directiory Only an automake was left in this directory. commit 09eacbfb36e2b00758bce8d8add2f8f56cdcfdbb Author: Peter Clifton Date: Sat Nov 1 16:09:26 2008 +0000 Use -Werror when building with gcc compilers. Hopefully this will help to ensure compiler warnings get noticed and fixed by developers. commit 94ced454b33f96700d003ebab7cf1df5fab7ecbe Author: Peter Clifton Date: Sat Nov 1 13:17:00 2008 +0000 gsymcheck: Don't export x_log_update_func, it is a libgeda symbol We set libgeda's exported x_log_update_func variable from gsymcheck.c. (This is declared as extern in libgeda's funcs.h) Move the logging function s_log_update() from globals.c (where it didn't belong) into its own file, s_log.c, making minor edits along the way. The log handler isn't called when "do_logging" is FALSE, so we don't need to test that from within the handler. commit bcaf9f8dafcd25335b61b2ea80d071bde720bbd1 Author: Cesar Strauss Date: Sun Oct 26 10:41:31 2008 +0000 Use pkg-config support for Guile if present. Using pkg-config allows easier cross-compilation, since the build process can use a pkg-config binary native to the build machine with .pc files for the host machine. commit f0a96de8b545dbd900e87db6abf54a0b6df830ab Author: Werner Hoch Date: Sat Oct 11 09:02:03 2008 +0200 .gitignore: log files and source tagging files added Added the files of the "global" source tagging program and the logfiles of the gEDA programs to .gitignore. commit b4ed5e92d203c7449b7d33e924a41b093e1de930 Author: Peter TB Brett Date: Tue Aug 26 12:55:07 2008 +0100 Remove duplicate definitions of do_logging. Also sets the default in libgeda to TRUE. commit a974a4c6d2c233c9209c5b4597f7d4f86154f484 Author: Peter Clifton Date: Sun Aug 24 22:27:28 2008 +0100 Remove default-series-name from all rc files Fixes brokenness leftover from previous removal of "series_name". commit 11a2692a1ab8bcee14178286fd719d1ec39e6b9a Author: Peter TB Brett Date: Sat Aug 16 15:24:16 2008 +0100 Draw func cleanup. Rather than having libgeda require other applications to provide the *_draw_func symbols, libgeda should provide them itself. Other applications should then override them as required near their call to libgeda_init(). commit 723e8d1c735b27f2bfc39dec296464bb8d5b2020 Author: Peter TB Brett Date: Thu Aug 14 23:27:12 2008 +0100 Don't register recalc funcs as draw funcs. Some applications which don't draw schematics set the draw funcs to be the recalc funcs. This is silly. commit 57a4fd272e10a68e05051a9ab9309e252e2103f7 Author: Patrick Bernaud Date: Fri Jul 11 16:03:12 2008 +0200 Purge AC_CHECK_FUNCS() in configure.ac in each package of unused functions. commit a76cf5cdda91c7070f4765107d3f8be89bbd05b6 Author: Patrick Bernaud Date: Fri Jul 11 16:03:01 2008 +0200 Remove unnecessary strippings of trailing directory separator. These strippings is no more necessary as GLib functions for building filenames (in particular g_build_filename()) takes care of any trailing directory separator for us. commit cd70e88b8c7faa4beea8b13b846e92807a252e63 Author: Patrick Bernaud Date: Fri Jul 11 16:03:00 2008 +0200 Replace getcwd() with g_get_current_dir(). commit 90b0ece453efc80490c6c277386f4f5f7bfdc4af Author: Patrick Bernaud Date: Fri Jul 11 16:02:59 2008 +0200 Simplify build of filenames with g_build_filename() (!). Modified code where possible to use preferably g_build_filename() instead of g_build_path(), or g_strconcat() and friends. commit a3513b7e6dc7bf6c36d95d4da86082beeb79831d Author: Patrick Bernaud Date: Fri Jul 11 16:02:57 2008 +0200 Replace standard string manipulations with GLib string utility functions. commit da1d2e7b304f9d832bdee9c8dfb9fe4604e19cc9 Author: Patrick Bernaud Date: Fri Jul 11 16:02:56 2008 +0200 Remove tests for NULL prior to freeing with g_free(). Testing if pointer on memory to free is not NULL is unnecessary since g_free() does the test itself. commit 21bdf2fbbad2146234fd32a0fe04bddcaddb64f8 Author: Ales Hvezda Date: Sun Jul 6 22:21:00 2008 -0400 Updated versions in the important man pages commit 8479d01b6a4a819ae105659a9b9f1e6ab2d85136 Author: Ales Hvezda Date: Sun Jul 6 22:03:02 2008 -0400 Updated all ChangeLogs by running ./update-changelogs.sh 1.0-20070526..master commit 7ae9572f269c8b973bb4a38014e28dbc10cdcb32 Author: Ales Hvezda Date: Sun Jul 6 08:38:24 2008 -0400 Bumped versions to 1.5.0/20080706/34:0:0 for the next development release commit af0d9f2e8825f7d23c691deec0e70f1eaaac0e38 Author: Ales Hvezda Date: Wed Mar 5 05:27:41 2008 -0500 Updated version to 1.5.0 to mark the start of the next development cycle commit e1ba38c43fb8d0fda7609e607e5489046fef4a8f Author: Werner Hoch Date: Sat Jan 19 19:45:29 2008 +0100 gsymcheck: modified symbol for improved duplicate net test commit 77e0e0f4ffe9573316ebdfdc12d319ccff1074a3 Author: Werner Hoch Date: Mon Jan 14 19:49:49 2008 +0100 gsymcheck: test for number in pinlabel and net attribute If a number is in a net attribute and a value of any pinlabel attribute then print a warning with some text. The previous patch removed the error message, this one adds warning. Whether this situation is an error or not depends on the users intention. commit a6f4710a198a8bcb66b8a26185ad7bd60c6c599a Author: Werner Hoch Date: Sun Jan 13 20:42:55 2008 +0100 gsymcheck: improved pinnumber check The changes will check for duplicate pins in net definitions. It also checks the net definitions and the pinlabel definition seperatly, thus a power pin can have a pinlabel and a net pin. commit b14328d429866910fc2a1da2e8291467e3fc27b9 Author: Werner Hoch Date: Sun Jan 13 18:08:51 2008 +0100 gsymcheck: check for unknown attributes This test will check for all attributes that are not in a valid attributes list. A warning messages is printed. This will also catch old style attributes like slot#=# and pin#=#. And some often used attributes class, pins, footprint2. commit b202ee510fb90cedd038ce5ec41cc6de453dbeea Author: Ales Hvezda Date: Sun Jan 27 11:47:13 2008 -0500 Updated ChangeLogs for the 1.4.0 release commit 3d43c5d642ebe12a69380e8accf5533d338ee5e5 Author: Ales Hvezda Date: Sat Jan 26 20:07:45 2008 -0500 Bumped versions to 1.4.0/20080127/33:0:0 for the next stable release commit ecda6ee9e101563f7fed092150532256fd9b343e Author: Ales Hvezda Date: Sat Jan 26 19:50:16 2008 -0500 Updated all dates and versions in all man pages commit 5d9f43178c3846100c149c0baef38c26126ec233 Author: Werner Hoch Date: Sat Jan 12 00:08:06 2008 +0100 gsymcheck: moved obsolete and forbidden attribute checks This is a code cleanup patch, it moves the tests for obsolete and forbidden attributes to the symbol_structure test. Deleted the old check s_check_obsolete_forbidden_attributes() function and it's unused variables. In the output files, some format changes occured, but the meaning is still the same. commit a049385144979f770fae60aaa66a86302f82b56e Author: Werner Hoch Date: Fri Jan 11 23:15:23 2008 +0100 gsymcheck: test for misplaced attributes The tests detect pin attributes are attached to nonpins or are detached. And attributes that are attached to any other objects. Attributes attached to pins that are not pin attributes commit c48d7f28e55424ce4e87e34f4de3b5324eb43edf Author: Werner Hoch Date: Fri Jan 11 19:26:50 2008 +0100 Added new pintype test symbol and output to EXTRA_DIST commit c823516a64dc7977fd8542e61a720c52f38d298e Author: Werner Hoch Date: Thu Jan 10 22:14:02 2008 +0100 gsymcheck: improved the pintype check, added test case added a check that contains all valid and five different case of invalid pintype values. Removed unused code in s_check_pintype() and added a function to check whether a string is in a list of strings. commit d2047bc2a06e6534ff32464d36f8a95aec11b9d7 Author: Ales Hvezda Date: Fri Jan 11 01:11:12 2008 -0500 Updated all ChangeLogs for this release (1.3.1) commit d9e245524db9399a11fe533a2f4caccb06d89f75 Author: Ales Hvezda Date: Thu Jan 10 21:06:30 2008 -0500 Added new off pin grid symbol and golden output to EXTRA_DIST commit 9f96048f1c9c9989f709e8b07d6195628fd79115 Author: Ales Hvezda Date: Thu Jan 10 21:02:45 2008 -0500 Removed misleading "pin count from footprint=" attribute check This check wasn't working correctly for all footprint= values. It probably worked fine for the DIP# and related footprints (ending with the number of pins in the footprin), but for others it was giving incorrect info/warnings. This check will be replaced with something a little bit more flexible going forward in a later release. commit c1e3075cb263a6098d2351440b680247456ae0d0 Author: Ales Hvezda Date: Thu Jan 10 00:27:16 2008 -0500 Updated and correct the gEDA/gaf man pages a little bit. This is the fix for SF Bug: [ 1556064 ] man page version out of date commit b2380c0f70344117be7045a5fc1483698fdf4358 Author: Ales Hvezda Date: Sat Jan 5 20:57:51 2008 -0500 Bumped versions to 1.3.1/20080110/32:0:0 for the next development snapshot Note, libgeda's so did not change at this time. commit 20f81d3f3c6d9cbf426eeb134e418ebe2cd0e64e Author: Werner Hoch Date: Sat Jan 5 17:13:16 2008 +0100 gsymcheck: add test for the pin_ongrid test Testfile and a golden output file added commit 7fa854ce519498782f90bb390910112fb8d6bb09 Author: Werner Hoch Date: Sat Jan 5 16:13:41 2008 +0100 gsymcheck: added checks for offgrid pins The check prints an error message if the active end is offgrid and a warning message if the not active end is offgrid. The active end is detected with the whichend property. This fixes the feature request [#1565593] commit 5f3cde4f20975275cb38b52cd3155fda41201209 Author: Peter TB Brett Date: Tue Jan 1 17:24:18 2008 +0000 Fix configure checks for Guile (again). The previous patch missed changing the gschem configure script (generated from configure.ac.in), and got the logic wrong anyway. commit b9ffb4675fbca6e92a4f713c28486e74dcbbeef4 Author: Peter TB Brett Date: Tue Jan 1 15:42:13 2008 +0000 Fix configure checks for Guile. Quote variables to protect them and alter version test logic so that it doesn't think version 2.1 is older than 1.8. commit 2f7e3ae60480743a8268d392272d05bd77dd75c8 Author: Ales Hvezda Date: Mon Dec 31 20:43:08 2007 -0500 Updated all ChangeLogs for the past development release (1.3.0) This step was supposed to happen before the 1.3.0 tarballs were released. These changes will be picked up in a subsequent release. commit ba474af87840a0d49e04a00de96b7df2944c09bd Author: Ales Hvezda Date: Sat Dec 29 09:57:43 2007 -0500 Bumped versions to 1.3.0/20071229/32:0:0 for the next development snapshot commit 3b040cf8d60a8fbe45f6e7c5f3d71a3dea119357 Author: Peter Clifton Date: Wed Dec 19 17:48:57 2007 +0000 Add intltoolize to the build infrastructure Provide intltoolize infrastructure for translating .desktop and MIME XML files. Run gettextize after intltoolize if required, so that the infrastructure for providing libintl on a non GNU system still works. commit 668ada22ec0f2a48adffcc62daacc6876108ee71 Author: Peter TB Brett Date: Fri Dec 7 21:48:17 2007 +0000 Pass all log info to x_log_update_func In order to enable applications to do interesting things with log messages, they need to have all of the log info (including severity and log domain). commit b635ebb641383360e5e7864830d42d13cf7f4d12 Author: Peter TB Brett Date: Fri Dec 7 21:48:17 2007 +0000 Print useful messages when f_open() fails. This reinstates error messages removed by the patch which modified f_open() to use GError for error reporting. commit be301530f468e4d0057b3be68e218ac444c2d2be Author: Peter TB Brett Date: Fri Dec 7 17:20:55 2007 +0000 Make libgeda's f_open() & f_open_flags use GError. This patch actually *removes* error message output from file loading errors is some cases. This is for the sake of keeping the patch concise, and will be addressed in later patches. commit ae225157603f063747709fa3d639ed8cdf63f6b1 Merge: 1abfd25 43b5713 Author: Peter TB Brett Date: Tue Nov 27 07:53:37 2007 +0000 Merge with Cesar's mingw/pu branch Merge commit 'cesar/mingw/pu' into premerge commit 8b490a404e682ac4f1e4cbd46e22c92f58b2ae76 Author: Tomaž Šolc Date: Fri Nov 23 21:42:50 2007 +0000 Compilation fixes for Mac OS X 10.5 [1832417] This patch contains changes to gEDA source tree that were necessary to compile on Mac OS X (10.5 Leopard, PPC). commit 43b571362e5fb663115ee1630b94c88cb74f0c13 Author: Cesar Strauss Date: Sun Nov 11 18:24:10 2007 -0200 Replace index and rindex by strchr and strrchr. These are functionally equivalent, and more portable to MinGW. commit bdd7ef7ee9047c3942b43c165396ebe48d31e95a Author: Cesar Strauss Date: Sun Nov 11 14:17:21 2007 -0200 Use g_path_is_absolute from GLIB instead of platform specific code. commit 40c0582e39d6a7ed0a41e0e5deedc0bfd03bbddc Author: Cesar Strauss Date: Thu Nov 15 19:11:12 2007 -0200 Use forward slashes as path separators on MinGW. They are also acceptable as path separators on MinGW. commit d715ba7dc3e02d77e671b9ab54b994379daefec5 Author: Cesar Strauss Date: Thu Nov 15 13:34:40 2007 -0200 Tell git to ignore .exe files. commit 4595948e41b2d195eb78a820fc15d0d8596067a4 Author: Peter Clifton Date: Thu Oct 4 02:34:50 2007 +0100 Avoid accessing (GList)->{next|priv} directly to aid debugging. Instead use g_list_{next|previous}, allowing us to catch errors where changing from gEDA structures which had their own next and prev pointers. To debug, edit the glist.h include file from glib, renaming the next and prev elements in the GList structure and macros. Recompile gEDA to see any bad accesses such as those where the HEAD nodes were previously skipped. commit 2e3c06cbcdce8254f70162ecebd650980cf70ee9 Author: Peter Clifton Date: Sun Sep 9 00:18:34 2007 +0100 Remove the globally exported variable_set_func. Only gattrib provided a non-NULL export of this symbol, and such imports into libgeda prevent libgeda being dynamically linked on some platforms. To better match the other tools in the suite, gattrib's i_vars_set() and i_window_vars_set() functions were combined into a single i_vars_set(). commit adca8b7d5897b11331c6a20392d22ad1e58ee572 Author: Peter Clifton Date: Mon Sep 3 12:15:43 2007 +0100 Replace the linked list of PAGEs with a GedaList (typecast to GedaPageList) commit 086908ed44c9abc6d5907888695933b59ead4684 Author: Ales Hvezda Date: Sun Sep 2 22:48:59 2007 -0400 Last minute updates to the READMEs for all projects Cherry picked from stable-1.2 branch, since these changes apply to master too. (cherry picked from commit 88fcb8d1bcdaa1436572d6a0ebe86f4df242a8d6) commit 6056ef48272778419d39e0233f395bfd60019ab9 Author: Ales Hvezda Date: Sun Aug 19 22:40:19 2007 -0400 Update ChangeLogs using: ./update-changelogs.sh 1.0-20070526..master commit 92b3b65d0cec286b0ce59fc43cc07dcb60c39fa1 Author: Ales Hvezda Date: Sat Aug 18 16:14:30 2007 -0400 Bumped versions to 1.1.2/20070818/30:2:0 for the next development snapshot commit 72c4db8aa20c22baa4243a0d27b3bb3f32f3ef64 Author: Ales Hvezda Date: Tue Aug 14 07:46:06 2007 -0400 Moved 3 rc promotion keywords from gschem into libgeda (fix for bug#1748143) All the promotion keywords were moved from gschem into libgeda to fix: [ 1748143 ] gschlas causes duplicate prompted attributes The primary cause of this bug was that the promotion variables within TOPLEVEL were not being setup by gschlas and so duplicate refdes attributes were showing up in the schematic. The three rc keywords that were moved are: (attribute-promotion ... ) (promote-invisible ... ) (keep-invisible ... ) commit 71600215311af0a98ed371ab750b09182de139a1 Author: Peter Clifton Date: Sat Aug 11 00:52:25 2007 +0100 Revert inadvertent commits: dbfe00a20de3f875e519ef60629b968977fc5db8 (commit) f1451161914a0ed0bb43123279906d82cb7d5b49 (commit) 2ad315fc0badd16a9614d1107b22c973908893d5 (commit) d8844bb48969aa45a05cbe6836fc96c198e88c19 (commit) ee1b64a1ae07eb99eae5d63307e9fe23f9604662 (commit) commit d8844bb48969aa45a05cbe6836fc96c198e88c19 Author: Peter Clifton Date: Fri Aug 10 21:26:10 2007 +0100 Replace the linked list of PAGEs with a GedaList (typecast to GedaPageList) commit 0f5c72daacfa7d78666769e4063122934861da5c Author: Peter Clifton Date: Sun Aug 5 22:36:56 2007 +0100 Alter guile 1.6 compat tests to work with older autoconf versions Don't use AC_DEFINE to define function like macros, instead use AC_CHECK_DECLS to set a HAVE_DECL_..., then use AH_VERBATIM to insert a test which defines a replacement if necessary. commit 5c098070b87709540345afb1b3b79d9db470ed53 Author: Peter Clifton Date: Thu Aug 2 22:09:52 2007 +0100 Fix configure checks enabling guile 1.6.x compatability routines. commit c31bd4adb677d671af8bdf5aed71f96a4995f9b1 Author: Peter Clifton Date: Tue Jul 31 20:03:51 2007 +0100 Changed configure.ac(.in) to allow guile-1.6 Introduces compatibility #defines where guile 1.8 funcs are missing in guile 1.6. Also adds missing configure.ac checks for guile in packages gattrib, gnetlist, gsymcheck and utils. commit 525b4a0ff3a1b8cc321f117513796e4571702da8 Author: Bernd Jendrisse Date: Sun Jul 29 09:56:33 2007 -0400 Applied patch to use $(GROFF) instead of which groff commit e978b9098c7567ad3b9c834a5e4914de3bc039ec Author: Ales Hvezda Date: Sun Jul 8 18:18:39 2007 -0400 Updated ChangeLogs using ./update-changelogs.sh 1.0-20070526..master commit 9627ac695a2d20171fdc44ff0a295b8430399f6f Author: Ales Hvezda Date: Sun Jul 8 16:41:21 2007 -0400 Added tests in gschem/tests to run durning make check. This is the other part of thie fix for bug #1748153: gsymcheck crashes on invalid_slotdef1.sym. Fixed a couple of the the tests to actually test the right thing. Added a bunch of golden files (*.output) and the necessary run_test.sh script. commit a35dc18f2f3c159c021a4bcb542780f7bfbe7196 Author: Ales Hvezda Date: Sun Jul 8 16:36:52 2007 -0400 Fixed comment warning message and improved newly added comment commit d7e8f5abc35644e90bfabf84396023cab09f2968 Author: Ales Hvezda Date: Sun Jul 8 16:18:57 2007 -0400 Updated configure.ac[.in] and Makefile versions in prep for a release. The update was done by running ./update-versions.sh 1.1.1 20070708 30:1 at the toplevel. libgeda's shared library version is now 30:1:0 commit 6fc2856767979c34ed216aebe4f8efb231d5a4b1 Author: Ales Hvezda Date: Sun Jul 8 16:14:25 2007 -0400 Fix for [ 1748153 ] gsymcheck crashes on invalid_slotdef1.sym The fix for this bug was to check the built up pinlist array and make sure that none of the items were null. Added error message and log entry when this error condition. commit 3f3505662fe4bb8c585aea0ea965296bd923956c Author: Carlos Nieves Onega Date: Sun Jul 8 21:16:17 2007 +0200 Added *~ to .gitignore files. commit dd995d808b9f4440db48d2daa2473a9d9cfd88ef Author: Ales Hvezda Date: Thu Jul 5 01:36:31 2007 -0400 Updated ChangeLogs using ./update-changelogs.sh 1.0-20070526..master commit 099c49e5689afda4b8a5221dde73f9fdf1972ce7 Author: Ales Hvezda Date: Thu Jul 5 00:11:45 2007 -0400 Updated all version strings to 1.1.0 and 20070705 commit 87731dda219b0986fed0d1a7789e17678dd79d8c Author: Ales Hvezda Date: Wed Jul 4 23:55:07 2007 -0400 Removed AM_MAINTAINER_MODE from all configure.ac[.in] files. Maintainer mode is no longer needed or desired now that we are no longer using CVS. Hopefully this will prevent some of the odd problems that were observed during the last release when the Makefile's didn't get auto regenerated. commit dc7b8c53f4bc94626634887e46167a367a91f707 Author: Ales Hvezda Date: Wed Jul 4 23:32:15 2007 -0400 Changed gEDA/gaf's version mechanism to use new dotted X.Y.Z convention Added DOTTED_VERSION and DATE_VERSION variables to all configure.ac[.in] files. Changed all version related output to be DOTTED_VERSION.DATE_VERSION. Updated the configure.ac[.in] files to have consistent top sections. Updated code and various scheme files to use the new DOTTED_VERSION and DATE_VERSION variables available via config.h. Stopped using PREPEND_VERSION_STRING as the mechanism for doing the dotted versions (not intended for that use). Updated update-versions.sh script to set the version in all the configure.ac[.in] files and the toplevel Makefile. Went through all the g_rc.c files and make the handling of rc file mismatch handling consistent. commit 57b2848a7e69d19e18ac03a1264cb55d41c65d0e Author: Ales Hvezda Date: Mon Jun 25 22:31:07 2007 -0400 Changed/updated the #define mechanism for creating custom gEDA/gaf versions. Previously this mechanism was used to create custom versions of gEDA/gaf. With the coming of stable and development versions of gEDA/gaf, this mechanism was changed so that end users can tell the difference between a stable release vs a development release (by looking at the version string). The CUSTOM_VERSION #define was changed PREPEND_VERSION_STRING and is now prepended to any strings that output the VERSION string. commit 0ed9cf080cfc8509cb29cbe4e976f86b2821c407 Author: Ales Hvezda Date: Sun Jun 24 23:48:51 2007 -0400 Updated copyright text/header in most source files. Updated all copyright text dates that have my name (Ales) associated with them. Added gEDA contributer copyright text where appropriate. Fixed a bunch of GNU text typos (these should have been either GPL or gEDA). Removed some $Id$ tags which are no longer used/needed. Fixed a few file header that were just plain incorrect. commit a4e956c6272ea982ec54327dcc5e3aa528ac8c99 Author: Ales Hvezda Date: Sun Jun 24 22:22:32 2007 -0400 Added *.o (all object files) to all src .gitignore files. commit edff766e8b15c311505810241528026f722e30b6 Author: Peter TB Brett Date: Sat Jun 23 18:19:11 2007 +0100 Make sure various files are installed. Several new files were not being distributed. This patch addresses the problem by adding files to EXTRA_DIST in automake input files. commit e57c37a66edc1c4d4e4d7160001749df51b96c4b Author: Peter Clifton Date: Sat Jun 23 18:17:29 2007 +0100 Move all .cvsignore files to .gitignore files commit 065595ccd8b5e77616c29a37742357cfab0ae7f7 Author: Peter TB Brett Date: Sat Jun 23 16:11:44 2007 +0100 Changes to ChangeLog usage. With actual changes this time. Old-style changelogs as of gaf 1.0 (release of 26th June 2007) are moved to ChangeLog-1.0; new (blank) ChangeLogs replace them. A script has been added to the gaf top level to allow maintainers to update all the ChangeLog files immediately prior to making out a release. commit 3d58ffc27e6d915c4b1ebbd6f6b96d98d6126b7b Author: Peter TB Brett Date: Mon Jun 4 16:15:37 2007 +0000 Replace deprecated Guile functions & macros. Replace deprecated SCM_STRINGP, SCM_INUM, SXM_INUMP & SCM_MAKINUM with recommended equivalents for Guile 1.8. geda-gaf-1.8.2/gsymcheck/tests/0000775000175000017500000000000012220655755013310 500000000000000geda-gaf-1.8.2/gsymcheck/tests/zero_pinseq.sym0000664000175000017500000000176612204177071016322 00000000000000v 20020527 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 7400 L 300 800 700 800 3 0 0 0 -1 -1 T 500 900 5 10 0 0 0 0 device=7400 T 1200 1100 5 10 0 0 0 0 footprint=unspecified T 500 1100 5 10 0 0 0 0 slot=1 T 500 1300 5 10 0 0 0 0 numslots=4 T 500 1500 5 10 0 0 0 0 slotdef=1:1,2,3 T 500 1700 5 10 0 0 0 0 slotdef=2:4,5,6 T 500 1900 5 10 0 0 0 0 slotdef=3:9,10,8 T 500 2100 5 10 0 0 0 0 slotdef=4:12,13,11 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 { T 1085 350 5 8 0 0 0 0 pinseq=3 T 1085 550 5 8 1 1 0 0 pinnumber=3 T 1085 350 5 8 0 0 0 0 pinlabel=C T 1085 350 5 8 0 0 0 0 pintype=out } P 300 300 0 300 1 { T 0 150 5 8 0 0 0 0 pinseq=2 T 100 350 5 8 1 1 0 0 pinnumber=2 T 0 150 5 8 0 0 0 0 pinlabel=B T 0 150 5 8 0 0 0 0 pintype=in } P 300 700 0 700 1 { T 0 550 5 8 0 0 0 0 pinseq=0 T 100 750 5 8 1 1 0 0 pinnumber=1 T 0 550 5 8 0 0 0 0 pinlabel=A T 0 550 5 8 0 0 0 0 pintype=in } T 300 900 8 10 1 1 0 0 refdes=U? geda-gaf-1.8.2/gsymcheck/tests/pintypes.output0000664000175000017500000000035512204177071016360 00000000000000ERROR: Found multiple pintype=pas attributes on one pin ERROR: Found multiple pintype=out attributes on one pin ERROR: Invalid pintype=i attribute ERROR: Invalid pintype=iox attribute ERROR: Invalid pintype=abc attribute 5 ERRORS found geda-gaf-1.8.2/gsymcheck/tests/missing_slotdef.output0000664000175000017500000000011712204177071017672 00000000000000ERROR: Missing slotdef= (there should be 4 slotdef= attributes) 1 ERROR found geda-gaf-1.8.2/gsymcheck/tests/invalid_slotdef2.sym0000664000175000017500000000176112204177071017207 00000000000000v 20020527 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 7400 L 300 800 700 800 3 0 0 0 -1 -1 T 500 900 5 10 0 0 0 0 device=7400 T 1200 1100 5 10 0 0 0 0 footprint=unspecified T 500 1100 5 10 0 0 0 0 slot=1 T 500 1300 5 10 0 0 0 0 numslots=4 T 500 1500 5 10 0 0 0 0 slotdef=1:1,2,3 T 500 1700 5 10 0 0 0 0 slotdef=a: T 500 1900 5 10 0 0 0 0 slotdef=3:9,10,8 T 500 2100 5 10 0 0 0 0 slotdef=4:12,13,11 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 { T 1085 350 5 8 0 0 0 0 pinseq=3 T 1085 550 5 8 1 1 0 0 pinnumber=3 T 1085 350 5 8 0 0 0 0 pinlabel=C T 1085 350 5 8 0 0 0 0 pintype=out } P 300 300 0 300 1 { T 0 150 5 8 0 0 0 0 pinseq=2 T 100 350 5 8 1 1 0 0 pinnumber=2 T 0 150 5 8 0 0 0 0 pinlabel=B T 0 150 5 8 0 0 0 0 pintype=in } P 300 700 0 700 1 { T 0 550 5 8 0 0 0 0 pinseq=1 T 100 750 5 8 1 1 0 0 pinnumber=1 T 0 550 5 8 0 0 0 0 pinlabel=A T 0 550 5 8 0 0 0 0 pintype=in } T 300 900 8 10 1 1 0 0 refdes=U? geda-gaf-1.8.2/gsymcheck/tests/invalid_slotdef1.sym0000664000175000017500000000176012204177071017205 00000000000000v 20020527 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 7400 L 300 800 700 800 3 0 0 0 -1 -1 T 500 900 5 10 0 0 0 0 device=7400 T 1200 1100 5 10 0 0 0 0 footprint=unspecified T 500 1100 5 10 0 0 0 0 slot=1 T 500 1300 5 10 0 0 0 0 numslots=4 T 500 1500 5 10 0 0 0 0 slotdef=1:1,2,3 T 500 1700 5 10 0 0 0 0 slotdef=a T 500 1900 5 10 0 0 0 0 slotdef=3:9,10,8 T 500 2100 5 10 0 0 0 0 slotdef=4:12,13,11 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 { T 1085 350 5 8 0 0 0 0 pinseq=3 T 1085 550 5 8 1 1 0 0 pinnumber=3 T 1085 350 5 8 0 0 0 0 pinlabel=C T 1085 350 5 8 0 0 0 0 pintype=out } P 300 300 0 300 1 { T 0 150 5 8 0 0 0 0 pinseq=2 T 100 350 5 8 1 1 0 0 pinnumber=2 T 0 150 5 8 0 0 0 0 pinlabel=B T 0 150 5 8 0 0 0 0 pintype=in } P 300 700 0 700 1 { T 0 550 5 8 0 0 0 0 pinseq=1 T 100 750 5 8 1 1 0 0 pinnumber=1 T 0 550 5 8 0 0 0 0 pinlabel=A T 0 550 5 8 0 0 0 0 pintype=in } T 300 900 8 10 1 1 0 0 refdes=U? geda-gaf-1.8.2/gsymcheck/tests/missing_pinlabel.output0000664000175000017500000000010712204177071020017 00000000000000Warning: Missing pinlabel= attribute 1 warnings found No errors found geda-gaf-1.8.2/gsymcheck/tests/lots_of_errors.sym0000664000175000017500000000145412204177071017017 00000000000000v 20020527 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 7400 L 300 800 700 800 3 0 0 0 -1 -1 T 500 900 5 10 0 0 0 0 device_missing=7400 T 500 1100 5 10 0 0 0 0 slot=1 T 500 1300 5 10 0 0 0 0 numslots=5 T 500 1500 5 10 0 0 0 0 slotdef=1:1,2,3,5,6 T 500 1700 5 10 0 0 0 0 slotdef=2:4,5 T 500 1900 5 10 0 0 0 0 slotdef=3:9,10,8 T 500 1900 5 10 0 0 0 0 slotdef=8:9,10,8 T 500 2100 5 10 0 0 0 0 slotdef=a L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 { T 1085 350 5 8 0 0 0 0 pinseq=3 T 1085 550 5 8 1 1 0 0 pinnumbe=3 } P 300 300 0 300 1 { T 0 150 5 8 0 0 0 0 pineq=2 T 100 350 5 8 1 1 0 0 pinnumber=2 } P 300 700 0 700 1 { T 0 550 5 8 0 0 0 0 pinseq=1 T 100 750 5 8 1 1 0 0 pinnumber=1 } T 300 900 8 10 1 1 0 0 uref=U? geda-gaf-1.8.2/gsymcheck/tests/multiple_refdes.output0000664000175000017500000000007012204177071017662 00000000000000ERROR: Multiple refdes= attributes found 1 ERROR found geda-gaf-1.8.2/gsymcheck/tests/missing_footprint.output0000664000175000017500000000011012204177071020247 00000000000000Warning: Missing footprint= attribute 1 warnings found No errors found geda-gaf-1.8.2/gsymcheck/tests/runtest.sh0000775000175000017500000000157612204177071015274 00000000000000#!/bin/sh INPUT=$1 BUILDDIR=$2 SRCDIR=$3 rundir=${BUILDDIR}/run # create temporary run directory and required subdirs mkdir -m 0700 -p ${rundir} rc=$? if test $rc -ne 0 ; then echo "Failed to create directory ${rundir} with appropriate permissions" echo "mkdir returned $rc" exit 1 fi TESTDIR=${BUILDDIR} export TESTDIR symbasename=`basename $INPUT .sym` in="${INPUT}" ref="${SRCDIR}/${symbasename}.output" new="${rundir}/new_${symbasename}.output" tmpfile=${rundir}/tmp$$ ${BUILDDIR}/../src/gsymcheck -vv ${in} 1> ${tmpfile} 2> ${rundir}/allerrors.output cat ${tmpfile} | \ grep -v "gEDA/gsymcheck version" | \ grep -v "ABSOLUTELY NO WARRANTY" | \ grep -v "This is free software" | \ grep -v "the COPYING file" | \ grep -v "Checking: " | \ grep -v '^$' > ${new} rm -f ${tmpfile} diff "${ref}" "${new}" status=$? rm -rf $rundir if test $status -ne 0; then exit 2 fi exit 0 geda-gaf-1.8.2/gsymcheck/tests/missing_slotdef.sym0000664000175000017500000000171612204177071017150 00000000000000v 20020527 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 7400 L 300 800 700 800 3 0 0 0 -1 -1 T 500 900 5 10 0 0 0 0 device=7400 T 1200 1100 5 10 0 0 0 0 footprint=unspecified T 500 1100 5 10 0 0 0 0 slot=1 T 500 1300 5 10 0 0 0 0 numslots=4 T 500 1500 5 10 0 0 0 0 slotdef=1:1,2,3 T 500 1900 5 10 0 0 0 0 slotdef=3:9,10,8 T 500 2100 5 10 0 0 0 0 slotdef=4:12,13,14 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 { T 1085 350 5 8 0 0 0 0 pinseq=3 T 1085 550 5 8 1 1 0 0 pinnumber=3 T 1085 350 5 8 0 0 0 0 pinlabel=C T 1085 350 5 8 0 0 0 0 pintype=out } P 300 300 0 300 1 { T 0 150 5 8 0 0 0 0 pinseq=2 T 100 350 5 8 1 1 0 0 pinnumber=2 T 0 150 5 8 0 0 0 0 pinlabel=B T 0 150 5 8 0 0 0 0 pintype=in } P 300 700 0 700 1 { T 0 550 5 8 0 0 0 0 pinseq=1 T 100 750 5 8 1 1 0 0 pinnumber=1 T 0 550 5 8 0 0 0 0 pinlabel=A T 0 550 5 8 0 0 0 0 pintype=in } T 300 900 8 10 1 1 0 0 refdes=U? geda-gaf-1.8.2/gsymcheck/tests/Makefile.am0000664000175000017500000000553512204177071015264 00000000000000 EXTRA_DIST = buses.sym connections1.sym connections2.sym connections3.sym \ correct.sym duplicate_pinnumber.sym duplicate_pinseq.sym \ graphical_correct.sym graphical_incorrect.sym \ invalid_slotdef1.sym invalid_slotdef2.sym invalid_slotdef3.sym \ invalid_slotdef4.sym labelinside.sym lots_of_errors.sym \ many_slotdefs.sym missing_device.sym missing_footprint.sym \ missing_numslots.sym missing_pinlabel.sym missing_pinnumber.sym \ missing_pinseq.sym missing_slotdef.sym multiple_footprint.sym \ multiple_pinlabel.sym multiple_pinnumber.sym \ multiple_pinseq.sym multiple_pintype.sym multiple_refdes.sym \ nameinside.sym nets.sym noslots.sym old_symbol.sym oldpins.sym \ oldslot.sym typeinside.sym urefinside.sym zero_pinnumber.sym \ zero_pinseq.sym zero_slotnum.sym zero_slots.sym \ duplicate_net.sym pin_offgrid.sym pintypes.sym \ misplaced_attributes.sym text_errors.sym \ runtest.sh \ buses.output connections1.output connections2.output \ connections3.output correct.output duplicate_net.output \ duplicate_pinnumber.output duplicate_pinseq.output \ graphical_correct.output graphical_incorrect.output \ invalid_slotdef1.output \ invalid_slotdef2.output invalid_slotdef3.output \ invalid_slotdef4.output labelinside.output lots_of_errors.output \ many_slotdefs.output missing_device.output \ missing_footprint.output missing_numslots.output \ missing_pinlabel.output missing_pinnumber.output \ missing_pinseq.output missing_slotdef.output \ multiple_footprint.output multiple_pinlabel.output \ multiple_pinnumber.output multiple_pinseq.output \ multiple_pintype.output multiple_refdes.output \ nameinside.output nets.output noslots.output oldpins.output \ oldslot.output old_symbol.output typeinside.output \ urefinside.output zero_pinnumber.output zero_pinseq.output \ zero_slotnum.output zero_slots.output pin_offgrid.output \ pintypes.output misplaced_attributes.output text_errors.output check_SCRIPTS = tests BUILDDIR=$(builddir) SRCDIR=$(srcdir) tests: # Cleanup rm -f $(BUILDDIR)/new_* fail=0 ; \ pass=0 ; \ for file in $(SRCDIR)/*.sym; do \ base=`basename $$file`; \ GEDADATARC=$(builddir)/../lib \ $(SHELL) $(SRCDIR)/runtest.sh $$file $(BUILDDIR) $(SRCDIR); \ if [ $$? -ne 0 ]; then \ echo "$$base FAILED!"; \ fail=`expr $$pass + 1`; \ else \ echo "$$base passed."; \ pass=`expr $$pass + 1`; \ fi; \ done ; \ echo "passed: $$pass" ; \ echo "failed: $$fail" ; \ exit $$fail # Cleanup # rm -f $(BUILDDIR)/new_* MOSTLYCLEANFILES = *.log *~ new_* CLEANFILES = *.log *~ new_* DISTCLEANFILES = *.log core FILE *~ new_* MAINTAINERCLEANFILES = *.log *~ Makefile.in geda-gaf-1.8.2/gsymcheck/tests/connections2.sym0000664000175000017500000000211212204177071016352 00000000000000v 20070708 1 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 1 7400 L 300 800 700 800 3 0 0 0 -1 -1 T 500 900 5 10 0 0 0 0 1 device=7400 T 1200 1100 5 10 0 0 0 0 1 footprint=unspecified T 500 1100 5 10 0 0 0 0 1 slot=1 T 500 1300 5 10 0 0 0 0 1 numslots=4 T 500 1500 5 10 0 0 0 0 1 slotdef=1:1,2,3 T 500 1700 5 10 0 0 0 0 1 slotdef=2:4,5,6 T 500 1900 5 10 0 0 0 0 1 slotdef=3:9,10,8 T 500 2100 5 10 0 0 0 0 1 slotdef=4:12,13,11 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 0 1 { T 1085 350 5 8 0 0 0 0 1 pinseq=3 T 1085 550 5 8 1 1 0 0 1 pinnumber=3 T 1085 350 5 8 0 0 0 0 1 pinlabel=C T 1085 350 5 8 0 0 0 0 1 pintype=out } P 300 300 0 300 1 0 1 { T 0 150 5 8 0 0 0 0 1 pinseq=2 T 100 350 5 8 1 1 0 0 1 pinnumber=2 T 0 150 5 8 0 0 0 0 1 pinlabel=B T 0 150 5 8 0 0 0 0 1 pintype=in } P 300 700 0 700 1 0 1 { T 0 550 5 8 0 0 0 0 1 pinseq=1 T 100 750 5 8 1 1 0 0 1 pinnumber=1 T 0 550 5 8 0 0 0 0 1 pinlabel=A T 0 550 5 8 0 0 0 0 1 pintype=in } T 300 900 8 10 1 1 0 0 1 refdes=U? P 1300 800 1300 500 1 0 1 geda-gaf-1.8.2/gsymcheck/tests/many_slotdefs.output0000664000175000017500000000042412204177071017351 00000000000000ERROR: Found 5 slotdef= attributes. Expecting 4 slotdef= attributes ERROR: Slot 5 is larger then the maximum number (4) of slots ERROR: Found 6 slotdef= attributes. Expecting 4 slotdef= attributes ERROR: Slot 6 is larger then the maximum number (4) of slots 4 ERRORS found geda-gaf-1.8.2/gsymcheck/tests/text_errors.output0000664000175000017500000000205412220647257017071 00000000000000Warning: Found unknown name1= attribute: [name1=value1] Warning: Found unknown value_invisible= attribute: [value_invisible=value_invisible] Warning: Found unknown name_invisible= attribute: [name_invisible=name_invisible] Warning: Found a simple text object with only SHOW_NAME or SHOW_VALUE set [text with value_invisible] Warning: Found a simple text object with only SHOW_NAME or SHOW_VALUE set [text with name_invisible] Warning: Found text with unbalanced overbar markers '\_' in it' [pinlabel=\_Reset] Warning: Found text with a '\' in it: consider to escape it with '\\' [pinlabel=a\b] Warning: Found text with a '\' in it: consider to escape it with '\\' [pinlabel=ab\c\d\] Warning: Found text with a '\' in it: consider to escape it with '\\' [pinlabel=ab\c\d\] Warning: Found text with a trailing '': consider to escape it with '\\' [pinlabel=ab\c\d\] Warning: Missing footprint= attribute Warning: Missing refdes= attribute Warning: Did not find numslots= attribute, not checking slotting ERROR: Missing device= attribute 13 warnings found 1 ERROR found geda-gaf-1.8.2/gsymcheck/tests/labelinside.output0000664000175000017500000000014212204177071016752 00000000000000Warning: Found obsolete label= attribute: [label=this obsolete] 1 warnings found No errors found geda-gaf-1.8.2/gsymcheck/tests/oldpins.sym0000664000175000017500000000161112204177071015421 00000000000000v 20020527 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 7400 L 300 800 700 800 3 0 0 0 -1 -1 T 500 900 5 10 0 0 0 0 device=7400 T 1200 1100 5 10 0 0 0 0 footprint=unspecified T 500 1100 5 10 0 0 0 0 slot=1 T 500 1300 5 10 0 0 0 0 numslots=4 T 500 1500 5 10 0 0 0 0 slotdef=1:1,2,3 T 500 1700 5 10 0 0 0 0 slotdef=2:4,5,6 T 500 1900 5 10 0 0 0 0 slotdef=3:9,10,8 T 500 2100 5 10 0 0 0 0 slotdef=4:12,13,11 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 { T 1085 350 5 8 0 0 0 0 pin3=3 T 1085 350 5 8 0 0 0 0 pinlabel=C T 1085 350 5 8 0 0 0 0 pintype=out } P 300 300 0 300 1 { T 0 150 5 8 0 0 0 0 pin2=2 T 0 150 5 8 0 0 0 0 pinlabel=B T 0 150 5 8 0 0 0 0 pintype=in } P 300 700 0 700 1 { T 0 550 5 8 0 0 0 0 pin1=1 T 0 550 5 8 0 0 0 0 pinlabel=A T 0 550 5 8 0 0 0 0 pintype=in } T 300 900 8 10 1 1 0 0 refdes=U? geda-gaf-1.8.2/gsymcheck/tests/invalid_slotdef4.sym0000664000175000017500000000177112204177071017212 00000000000000v 20020527 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 7400 L 300 800 700 800 3 0 0 0 -1 -1 T 500 900 5 10 0 0 0 0 device=7400 T 1200 1100 5 10 0 0 0 0 footprint=unspecified T 500 1100 5 10 0 0 0 0 slot=1 T 500 1300 5 10 0 0 0 0 numslots=4 T 500 1500 5 10 0 0 0 0 slotdef=1:1,2,3 T 500 1700 5 10 0 0 0 0 slotdef=2:3,4,5 T 500 1900 5 10 0 0 0 0 slotdef=3:9,10,8 T 500 2100 5 10 0 0 0 0 slotdef=4:12,13,14,15 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 { T 1085 350 5 8 0 0 0 0 pinseq=3 T 1085 550 5 8 1 1 0 0 pinnumber=3 T 1085 350 5 8 0 0 0 0 pinlabel=C T 1085 350 5 8 0 0 0 0 pintype=out } P 300 300 0 300 1 { T 0 150 5 8 0 0 0 0 pinseq=2 T 100 350 5 8 1 1 0 0 pinnumber=2 T 0 150 5 8 0 0 0 0 pinlabel=B T 0 150 5 8 0 0 0 0 pintype=in } P 300 700 0 700 1 { T 0 550 5 8 0 0 0 0 pinseq=1 T 100 750 5 8 1 1 0 0 pinnumber=1 T 0 550 5 8 0 0 0 0 pinlabel=A T 0 550 5 8 0 0 0 0 pintype=in } T 300 900 8 10 1 1 0 0 refdes=U? geda-gaf-1.8.2/gsymcheck/tests/invalid_slotdef3.output0000664000175000017500000000007112204177071017731 00000000000000ERROR: Not enough pins in slotdef=4:12,13 1 ERROR found geda-gaf-1.8.2/gsymcheck/tests/connections1.output0000664000175000017500000000020712204177071017104 00000000000000ERROR: Found a net inside a symbol ERROR: Found a connection inside a symbol ERROR: Found a connection inside a symbol 3 ERRORS found geda-gaf-1.8.2/gsymcheck/tests/missing_device.sym0000664000175000017500000000172312204177071016745 00000000000000v 20020527 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 7400 L 300 800 700 800 3 0 0 0 -1 -1 T 1200 1100 5 10 0 0 0 0 footprint=unspecified T 500 1100 5 10 0 0 0 0 slot=1 T 500 1300 5 10 0 0 0 0 numslots=4 T 500 1500 5 10 0 0 0 0 slotdef=1:1,2,3 T 500 1700 5 10 0 0 0 0 slotdef=2:4,5,6 T 500 1900 5 10 0 0 0 0 slotdef=3:9,10,8 T 500 2100 5 10 0 0 0 0 slotdef=4:12,13,11 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 { T 1085 350 5 8 0 0 0 0 pinseq=3 T 1085 550 5 8 1 1 0 0 pinnumber=3 T 1085 350 5 8 0 0 0 0 pinlabel=C T 1085 350 5 8 0 0 0 0 pintype=out } P 300 300 0 300 1 { T 0 150 5 8 0 0 0 0 pinseq=2 T 100 350 5 8 1 1 0 0 pinnumber=2 T 0 150 5 8 0 0 0 0 pinlabel=B T 0 150 5 8 0 0 0 0 pintype=in } P 300 700 0 700 1 { T 0 550 5 8 0 0 0 0 pinseq=1 T 100 750 5 8 1 1 0 0 pinnumber=1 T 0 550 5 8 0 0 0 0 pinlabel=A T 0 550 5 8 0 0 0 0 pintype=in } T 300 900 8 10 1 1 0 0 refdes=U? geda-gaf-1.8.2/gsymcheck/tests/pintypes.sym0000664000175000017500000000635212204177071015633 00000000000000v 20080110 1 P 100 4100 400 4100 1 0 0 { T 300 4150 5 8 1 1 0 6 1 pinnumber=1 T 300 4050 5 8 0 1 0 8 1 pinseq=1 T 450 4100 9 8 1 1 0 0 1 pinlabel=in_ok T 450 4100 5 8 0 1 0 2 1 pintype=in } P 100 3700 400 3700 1 0 0 { T 300 3750 5 8 1 1 0 6 1 pinnumber=2 T 300 3650 5 8 0 1 0 8 1 pinseq=2 T 450 3700 9 8 1 1 0 0 1 pinlabel=out_ok T 450 3700 5 8 0 1 0 2 1 pintype=out } P 100 3300 400 3300 1 0 0 { T 300 3350 5 8 1 1 0 6 1 pinnumber=3 T 300 3250 5 8 0 1 0 8 1 pinseq=3 T 450 3300 9 8 1 1 0 0 1 pinlabel=io_ok T 450 3300 5 8 0 1 0 2 1 pintype=io } P 100 2900 400 2900 1 0 0 { T 300 2950 5 8 1 1 0 6 1 pinnumber=4 T 300 2850 5 8 0 1 0 8 1 pinseq=4 T 450 2900 9 8 1 1 0 0 1 pinlabel=oc_ok T 450 2900 5 8 0 1 0 2 1 pintype=oc } P 100 2500 400 2500 1 0 0 { T 300 2550 5 8 1 1 0 6 1 pinnumber=5 T 300 2450 5 8 0 1 0 8 1 pinseq=5 T 450 2500 9 8 1 1 0 0 1 pinlabel=oe_ok T 450 2500 5 8 0 1 0 2 1 pintype=oe } P 100 2100 400 2100 1 0 0 { T 300 2150 5 8 1 1 0 6 1 pinnumber=6 T 300 2050 5 8 0 1 0 8 1 pinseq=6 T 450 2100 9 8 1 1 0 0 1 pinlabel=pas_ok T 450 2100 5 8 0 1 0 2 1 pintype=pas } P 100 1700 400 1700 1 0 0 { T 300 1750 5 8 1 1 0 6 1 pinnumber=7 T 300 1650 5 8 0 1 0 8 1 pinseq=7 T 450 1700 9 8 1 1 0 0 1 pinlabel=tp_ok T 450 1700 5 8 0 1 0 2 1 pintype=tp } P 100 1300 400 1300 1 0 0 { T 300 1350 5 8 1 1 0 6 1 pinnumber=8 T 300 1250 5 8 0 1 0 8 1 pinseq=8 T 450 1300 9 8 1 1 0 0 1 pinlabel=tri_ok T 450 1300 5 8 0 1 0 2 1 pintype=tri } P 100 900 400 900 1 0 0 { T 300 950 5 8 1 1 0 6 1 pinnumber=9 T 300 850 5 8 0 1 0 8 1 pinseq=9 T 525 900 9 8 1 1 0 0 1 pinlabel=clk_ok T 525 900 5 8 0 1 0 2 1 pintype=clk } L 500 900 400 975 3 0 0 0 -1 -1 L 500 900 400 825 3 0 0 0 -1 -1 P 100 500 400 500 1 0 0 { T 300 550 5 8 1 1 0 6 1 pinnumber=10 T 300 450 5 8 0 1 0 8 1 pinseq=10 T 450 500 9 8 1 1 0 0 1 pinlabel=clk_ok T 450 500 5 8 0 1 0 2 1 pintype=pwr } P 3100 4100 2800 4100 1 0 0 { T 2900 4150 5 8 1 1 0 0 1 pinnumber=11 T 2900 4050 5 8 0 1 0 2 1 pinseq=11 T 2750 4100 9 8 1 1 0 6 1 pinlabel=substring of valid pintype T 2750 4100 5 8 0 1 0 8 1 pintype=i } P 3100 3700 2800 3700 1 0 0 { T 2900 3750 5 8 1 1 0 0 1 pinnumber=12 T 2900 3650 5 8 0 1 0 2 1 pinseq=12 T 2750 3700 9 8 1 1 0 6 1 pinlabel=superstring of valid pintype T 2750 3700 5 8 0 1 0 8 1 pintype=iox } P 3100 3300 2800 3300 1 0 0 { T 2900 3350 5 8 1 1 0 0 1 pinnumber=13 T 2900 3250 5 8 0 1 0 2 1 pinseq=13 T 2750 3300 9 8 1 1 0 6 1 pinlabel=completely different T 2750 3300 5 8 0 1 0 8 1 pintype=abc } B 400 100 2400 4400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2800 4600 8 10 1 1 0 6 1 refdes=U? T 400 4600 9 10 1 0 0 0 1 pintype_check T 400 4800 5 10 0 0 0 0 1 device=pintype_check T 400 5000 5 10 0 0 0 0 1 footprint=none T 400 5200 5 10 0 0 0 0 1 documentation=none T 400 5400 5 10 0 0 0 0 1 description=pintype check for gsymcheck T 400 5600 5 10 0 0 0 0 1 numslots=0 P 3100 2900 2800 2900 1 0 0 { T 2900 2950 5 8 1 1 0 0 1 pinnumber=14 T 2900 2850 5 8 0 1 0 2 1 pinseq=14 T 2750 2900 9 8 1 1 0 6 1 pinlabel=duplicate but same T 2750 2900 5 8 0 1 0 8 1 pintype=pas T 2100 2800 5 10 0 1 0 0 1 pintype=pas } P 3100 2500 2800 2500 1 0 0 { T 2900 2550 5 8 1 1 0 0 1 pinnumber=15 T 2900 2450 5 8 0 1 0 2 1 pinseq=15 T 2750 2500 9 8 1 1 0 6 1 pinlabel=duplicate but different T 2750 2500 5 8 0 1 0 8 1 pintype=in T 2300 2400 5 10 0 1 0 0 1 pintype=out } geda-gaf-1.8.2/gsymcheck/tests/nameinside.output0000664000175000017500000000013112204177071016611 00000000000000ERROR: Found forbidden name= attribute: [name=this a forbidden attribute] 1 ERROR found geda-gaf-1.8.2/gsymcheck/tests/missing_device.output0000664000175000017500000000006012204177071017466 00000000000000ERROR: Missing device= attribute 1 ERROR found geda-gaf-1.8.2/gsymcheck/tests/missing_pinseq.sym0000664000175000017500000000172612204177071017010 00000000000000v 20020527 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 7400 L 300 800 700 800 3 0 0 0 -1 -1 T 500 900 5 10 0 0 0 0 device=7400 T 1200 1100 5 10 0 0 0 0 footprint=unspecified T 500 1100 5 10 0 0 0 0 slot=1 T 500 1300 5 10 0 0 0 0 numslots=4 T 500 1500 5 10 0 0 0 0 slotdef=1:1,2,3 T 500 1700 5 10 0 0 0 0 slotdef=2:4,5,6 T 500 1900 5 10 0 0 0 0 slotdef=3:9,10,8 T 500 2100 5 10 0 0 0 0 slotdef=4:12,13,11 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 { T 1085 550 5 8 1 1 0 0 pinnumber=3 T 1085 350 5 8 0 0 0 0 pinlabel=C T 1085 350 5 8 0 0 0 0 pintype=out } P 300 300 0 300 1 { T 0 150 5 8 0 0 0 0 pinseq=2 T 100 350 5 8 1 1 0 0 pinnumber=2 T 0 150 5 8 0 0 0 0 pinlabel=B T 0 150 5 8 0 0 0 0 pintype=in } P 300 700 0 700 1 { T 0 550 5 8 0 0 0 0 pinseq=1 T 100 750 5 8 1 1 0 0 pinnumber=1 T 0 550 5 8 0 0 0 0 pinlabel=A T 0 550 5 8 0 0 0 0 pintype=in } T 300 900 8 10 1 1 0 0 refdes=U? geda-gaf-1.8.2/gsymcheck/tests/duplicate_pinnumber.sym0000664000175000017500000000176612204177071020015 00000000000000v 20020527 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 7400 L 300 800 700 800 3 0 0 0 -1 -1 T 500 900 5 10 0 0 0 0 device=7400 T 1200 1100 5 10 0 0 0 0 footprint=unspecified T 500 1100 5 10 0 0 0 0 slot=1 T 500 1300 5 10 0 0 0 0 numslots=4 T 500 1500 5 10 0 0 0 0 slotdef=1:1,2,3 T 500 1700 5 10 0 0 0 0 slotdef=2:4,5,6 T 500 1900 5 10 0 0 0 0 slotdef=3:9,10,8 T 500 2100 5 10 0 0 0 0 slotdef=4:12,13,11 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 { T 1085 350 5 8 0 0 0 0 pinseq=3 T 1085 550 5 8 1 1 0 0 pinnumber=3 T 1085 350 5 8 0 0 0 0 pinlabel=C T 1085 350 5 8 0 0 0 0 pintype=out } P 300 300 0 300 1 { T 0 150 5 8 0 0 0 0 pinseq=2 T 100 350 5 8 1 1 0 0 pinnumber=2 T 0 150 5 8 0 0 0 0 pinlabel=B T 0 150 5 8 0 0 0 0 pintype=in } P 300 700 0 700 1 { T 0 550 5 8 0 0 0 0 pinseq=1 T 100 750 5 8 1 1 0 0 pinnumber=2 T 0 550 5 8 0 0 0 0 pinlabel=A T 0 550 5 8 0 0 0 0 pintype=in } T 300 900 8 10 1 1 0 0 refdes=U? geda-gaf-1.8.2/gsymcheck/tests/buses.output0000664000175000017500000000006212204177071015621 00000000000000ERROR: Found a bus inside a symbol 1 ERROR found geda-gaf-1.8.2/gsymcheck/tests/duplicate_net.output0000664000175000017500000000033112204177071017317 00000000000000Warning: Found the same number in a pinnumber attribute and in a net attribute [1] ERROR: Found duplicate pin in net= attributes [5] ERROR: Found duplicate pin in net= attributes [6] 1 warnings found 2 ERRORS found geda-gaf-1.8.2/gsymcheck/tests/multiple_pinlabel.sym0000664000175000017500000000203412204177071017452 00000000000000v 20020527 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 7400 L 300 800 700 800 3 0 0 0 -1 -1 T 500 900 5 10 0 0 0 0 device=7400 T 1200 1100 5 10 0 0 0 0 footprint=unspecified T 500 1100 5 10 0 0 0 0 slot=1 T 500 1300 5 10 0 0 0 0 numslots=4 T 500 1500 5 10 0 0 0 0 slotdef=1:1,2,3 T 500 1700 5 10 0 0 0 0 slotdef=2:4,5,6 T 500 1900 5 10 0 0 0 0 slotdef=3:9,10,8 T 500 2100 5 10 0 0 0 0 slotdef=4:12,13,11 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 { T 1085 350 5 8 0 0 0 0 pinseq=3 T 1085 550 5 8 1 1 0 0 pinnumber=3 T 1085 350 5 8 0 0 0 0 pinlabel=C T 1085 350 5 8 0 0 0 0 pintype=out T 1085 350 5 8 0 0 0 0 pinlabel=extra } P 300 300 0 300 1 { T 0 150 5 8 0 0 0 0 pinseq=2 T 100 350 5 8 1 1 0 0 pinnumber=2 T 0 150 5 8 0 0 0 0 pinlabel=B T 0 150 5 8 0 0 0 0 pintype=in } P 300 700 0 700 1 { T 0 550 5 8 0 0 0 0 pinseq=1 T 100 750 5 8 1 1 0 0 pinnumber=1 T 0 550 5 8 0 0 0 0 pinlabel=A T 0 550 5 8 0 0 0 0 pintype=in } T 300 900 8 10 1 1 0 0 refdes=U? geda-gaf-1.8.2/gsymcheck/tests/correct.sym0000664000175000017500000000176612204177071015425 00000000000000v 20020527 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 7400 L 300 800 700 800 3 0 0 0 -1 -1 T 500 900 5 10 0 0 0 0 device=7400 T 1200 1100 5 10 0 0 0 0 footprint=unspecified T 500 1100 5 10 0 0 0 0 slot=1 T 500 1300 5 10 0 0 0 0 numslots=4 T 500 1500 5 10 0 0 0 0 slotdef=1:1,2,3 T 500 1700 5 10 0 0 0 0 slotdef=2:4,5,6 T 500 1900 5 10 0 0 0 0 slotdef=3:9,10,8 T 500 2100 5 10 0 0 0 0 slotdef=4:12,13,11 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 { T 1085 350 5 8 0 0 0 0 pinseq=3 T 1085 550 5 8 1 1 0 0 pinnumber=3 T 1085 350 5 8 0 0 0 0 pinlabel=C T 1085 350 5 8 0 0 0 0 pintype=out } P 300 300 0 300 1 { T 0 150 5 8 0 0 0 0 pinseq=2 T 100 350 5 8 1 1 0 0 pinnumber=2 T 0 150 5 8 0 0 0 0 pinlabel=B T 0 150 5 8 0 0 0 0 pintype=in } P 300 700 0 700 1 { T 0 550 5 8 0 0 0 0 pinseq=1 T 100 750 5 8 1 1 0 0 pinnumber=1 T 0 550 5 8 0 0 0 0 pinlabel=A T 0 550 5 8 0 0 0 0 pintype=in } T 300 900 8 10 1 1 0 0 refdes=U? geda-gaf-1.8.2/gsymcheck/tests/noslots.sym0000664000175000017500000000142012204177071015450 00000000000000v 20020527 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 7400 L 300 800 700 800 3 0 0 0 -1 -1 T 500 900 5 10 0 0 0 0 device=7400 T 1200 1100 5 10 0 0 0 0 footprint=unspecified L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 { T 1085 350 5 8 0 0 0 0 pinseq=3 T 1085 550 5 8 1 1 0 0 pinnumber=3 T 1085 350 5 8 0 0 0 0 pinlabel=C T 1085 350 5 8 0 0 0 0 pintype=out } P 300 300 0 300 1 { T 0 150 5 8 0 0 0 0 pinseq=2 T 100 350 5 8 1 1 0 0 pinnumber=2 T 0 150 5 8 0 0 0 0 pinlabel=B T 0 150 5 8 0 0 0 0 pintype=in } P 300 700 0 700 1 { T 0 550 5 8 0 0 0 0 pinseq=1 T 100 750 5 8 1 1 0 0 pinnumber=1 T 0 550 5 8 0 0 0 0 pinlabel=A T 0 550 5 8 0 0 0 0 pintype=in } T 300 900 8 10 1 1 0 0 refdes=U? geda-gaf-1.8.2/gsymcheck/tests/multiple_refdes.sym0000664000175000017500000000203412204177071017134 00000000000000v 20020527 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 7400 L 300 800 700 800 3 0 0 0 -1 -1 T 500 900 5 10 0 0 0 0 device=7400 T 1200 1100 5 10 0 0 0 0 footprint=unspecified T 500 1100 5 10 0 0 0 0 slot=1 T 500 1300 5 10 0 0 0 0 numslots=4 T 500 1500 5 10 0 0 0 0 slotdef=1:1,2,3 T 500 1700 5 10 0 0 0 0 slotdef=2:4,5,6 T 500 1900 5 10 0 0 0 0 slotdef=3:9,10,8 T 500 2100 5 10 0 0 0 0 slotdef=4:12,13,11 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 { T 1085 350 5 8 0 0 0 0 pinseq=3 T 1085 550 5 8 1 1 0 0 pinnumber=3 T 1085 350 5 8 0 0 0 0 pinlabel=C T 1085 350 5 8 0 0 0 0 pintype=out } P 300 300 0 300 1 { T 0 150 5 8 0 0 0 0 pinseq=2 T 100 350 5 8 1 1 0 0 pinnumber=2 T 0 150 5 8 0 0 0 0 pinlabel=B T 0 150 5 8 0 0 0 0 pintype=in } P 300 700 0 700 1 { T 0 550 5 8 0 0 0 0 pinseq=1 T 100 750 5 8 1 1 0 0 pinnumber=1 T 0 550 5 8 0 0 0 0 pinlabel=A T 0 550 5 8 0 0 0 0 pintype=in } T 300 900 8 10 1 1 0 0 refdes=U? T 300 1000 8 10 0 0 0 0 refdes=second geda-gaf-1.8.2/gsymcheck/tests/oldslot.output0000664000175000017500000000072512204177071016166 00000000000000Warning: Found unknown slot1= attribute: [slot1=1,2,3] Warning: Found unknown slot2= attribute: [slot2=4,5,6] Warning: Found unknown slot3= attribute: [slot3=9,10,8] Warning: Found unknown slot4= attribute: [slot4=12,13,11] ERROR: Missing slotdef= (there should be 4 slotdef= attributes) ERROR: Found old slot#=# attribute: slot1=1,2,3 ERROR: Found old slot#=# attribute: slot2=4,5,6 ERROR: Found old slot#=# attribute: slot4=12,13,11 4 warnings found 4 ERRORS found geda-gaf-1.8.2/gsymcheck/tests/graphical_correct.sym0000664000175000017500000000203212204177071017422 00000000000000v 20020527 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 7400 L 300 800 700 800 3 0 0 0 -1 -1 T 500 900 5 10 0 0 0 0 device=none T 500 1200 5 10 0 0 0 0 graphical=1 T 1200 1100 5 10 0 0 0 0 footprint=unspecified T 500 1100 5 10 0 0 0 0 slot=1 T 500 1300 5 10 0 0 0 0 numslots=4 T 500 1500 5 10 0 0 0 0 slotdef=1:1,2,3 T 500 1700 5 10 0 0 0 0 slotdef=2:4,5,6 T 500 1900 5 10 0 0 0 0 slotdef=3:9,10,8 T 500 2100 5 10 0 0 0 0 slotdef=4:12,13,11 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 { T 1085 350 5 8 0 0 0 0 pinseq=3 T 1085 550 5 8 1 1 0 0 pinnumber=3 T 1085 350 5 8 0 0 0 0 pinlabel=C T 1085 350 5 8 0 0 0 0 pintype=out } P 300 300 0 300 1 { T 0 150 5 8 0 0 0 0 pinseq=2 T 100 350 5 8 1 1 0 0 pinnumber=2 T 0 150 5 8 0 0 0 0 pinlabel=B T 0 150 5 8 0 0 0 0 pintype=in } P 300 700 0 700 1 { T 0 550 5 8 0 0 0 0 pinseq=1 T 100 750 5 8 1 1 0 0 pinnumber=1 T 0 550 5 8 0 0 0 0 pinlabel=A T 0 550 5 8 0 0 0 0 pintype=in } T 300 900 8 10 1 1 0 0 refdes=U? geda-gaf-1.8.2/gsymcheck/tests/invalid_slotdef1.output0000664000175000017500000000017212204177071017731 00000000000000ERROR: Invalid slotdef=a attributes, not continuing ERROR: Malformed slotdef= (the format is #:#,#,#,...) 2 ERRORS found geda-gaf-1.8.2/gsymcheck/tests/multiple_pinseq.sym0000664000175000017500000000202612204177071017164 00000000000000v 20020527 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 7400 L 300 800 700 800 3 0 0 0 -1 -1 T 500 900 5 10 0 0 0 0 device=7400 T 1200 1100 5 10 0 0 0 0 footprint=unspecified T 500 1100 5 10 0 0 0 0 slot=1 T 500 1300 5 10 0 0 0 0 numslots=4 T 500 1500 5 10 0 0 0 0 slotdef=1:1,2,3 T 500 1700 5 10 0 0 0 0 slotdef=2:4,5,6 T 500 1900 5 10 0 0 0 0 slotdef=3:9,10,8 T 500 2100 5 10 0 0 0 0 slotdef=4:12,13,11 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 { T 1085 350 5 8 0 0 0 0 pinseq=3 T 1085 350 5 8 0 0 0 0 pinseq=3 T 1085 550 5 8 1 1 0 0 pinnumber=3 T 1085 350 5 8 0 0 0 0 pinlabel=C T 1085 350 5 8 0 0 0 0 pintype=out } P 300 300 0 300 1 { T 0 150 5 8 0 0 0 0 pinseq=2 T 100 350 5 8 1 1 0 0 pinnumber=2 T 0 150 5 8 0 0 0 0 pinlabel=B T 0 150 5 8 0 0 0 0 pintype=in } P 300 700 0 700 1 { T 0 550 5 8 0 0 0 0 pinseq=1 T 100 750 5 8 1 1 0 0 pinnumber=1 T 0 550 5 8 0 0 0 0 pinlabel=A T 0 550 5 8 0 0 0 0 pintype=in } T 300 900 8 10 1 1 0 0 refdes=U? geda-gaf-1.8.2/gsymcheck/tests/graphical_incorrect.output0000664000175000017500000000014112204177071020500 00000000000000Warning: Found graphical symbol, device= should be set to none 1 warnings found No errors found geda-gaf-1.8.2/gsymcheck/tests/connections2.output0000664000175000017500000000066012204177071017110 00000000000000Warning: Missing pinlabel= attribute Warning: Missing pintype= attribute ERROR: Missing pinseq= attribute ERROR: Missing pinnumber= attribute ERROR: Not enough pins in slotdef=1:1,2,3 ERROR: Not enough pins in slotdef=2:4,5,6 ERROR: Not enough pins in slotdef=3:9,10,8 ERROR: Not enough pins in slotdef=4:12,13,11 ERROR: Found a connection inside a symbol ERROR: Found a connection inside a symbol 2 warnings found 8 ERRORS found geda-gaf-1.8.2/gsymcheck/tests/duplicate_pinseq.output0000664000175000017500000000020012204177071020023 00000000000000ERROR: Found duplicate pinseq=1 attribute in the symbol ERROR: Found duplicate pinseq=1 attribute in the symbol 2 ERRORS found geda-gaf-1.8.2/gsymcheck/tests/text_errors.sym0000664000175000017500000000233112204177071016331 00000000000000v 20081221 2 B 300 0 900 1700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 200 300 200 1 0 0 { T 0 200 5 10 0 0 0 0 1 pintype=in T 355 195 5 10 1 1 0 0 1 pinlabel=\_Reset T 205 245 5 10 1 1 0 6 1 pinnumber=1 T 0 200 5 10 0 0 0 0 1 pinseq=1 } T 1300 200 9 10 1 0 0 0 1 Single overbar "\\_" P 0 600 300 600 1 0 0 { T 0 600 5 10 0 0 0 0 1 pintype=in T 355 595 5 10 1 1 0 0 1 pinlabel=a\b T 205 645 5 10 1 1 0 6 1 pinnumber=2 T 0 600 5 10 0 0 0 0 1 pinseq=2 } T 1300 600 9 10 1 0 0 0 1 Single backslash "\\" P 0 1000 300 1000 1 0 0 { T 0 1000 5 10 0 0 0 0 1 pintype=in T 355 995 5 10 1 1 0 0 1 pinlabel=ab\c\d\ T 205 1045 5 10 1 1 0 6 1 pinnumber=3 T 0 1000 5 10 0 0 0 0 1 pinseq=3 } T 1300 1000 9 10 1 0 0 0 1 more single backslashes T 300 2900 9 10 1 0 0 0 1 name1=value1 T 300 2700 9 10 1 2 0 0 1 value_invisible=value_invisible T 300 2500 9 10 1 1 0 0 1 name_invisible=name_invisible T 300 2300 9 10 1 0 0 0 1 Regular text T 300 2100 9 10 1 2 0 0 1 text with value_invisible T 300 1900 9 10 1 1 0 0 1 text with name_invisible P 0 1400 300 1400 1 0 0 { T 0 1400 5 10 0 0 0 0 1 pintype=in T 355 1395 5 10 1 1 0 0 1 pinlabel=R/\_W\_ T 205 1445 5 10 1 1 0 6 1 pinnumber=4 T 0 1400 5 10 0 0 0 0 1 pinseq=4 } T 1300 1400 9 10 1 0 0 0 1 valid overbars "\\_" geda-gaf-1.8.2/gsymcheck/tests/nameinside.sym0000664000175000017500000000205512204177071016070 00000000000000v 20020527 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 7400 L 300 800 700 800 3 0 0 0 -1 -1 T 500 900 5 10 0 0 0 0 device=7400 T 1200 1100 5 10 0 0 0 0 footprint=unspecified T 500 1100 5 10 0 0 0 0 slot=1 T 500 1300 5 10 0 0 0 0 numslots=4 T 500 1500 5 10 0 0 0 0 slotdef=1:1,2,3 T 500 1700 5 10 0 0 0 0 slotdef=2:4,5,6 T 500 1900 5 10 0 0 0 0 slotdef=3:9,10,8 T 500 2100 5 10 0 0 0 0 slotdef=4:12,13,11 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 { T 1085 350 5 8 0 0 0 0 pinseq=3 T 1085 550 5 8 1 1 0 0 pinnumber=3 T 1085 350 5 8 0 0 0 0 name=this a forbidden attribute T 1085 350 5 8 0 0 0 0 pinlabel=C T 1085 350 5 8 0 0 0 0 pintype=out } P 300 300 0 300 1 { T 0 150 5 8 0 0 0 0 pinseq=2 T 100 350 5 8 1 1 0 0 pinnumber=2 T 0 150 5 8 0 0 0 0 pinlabel=B T 0 150 5 8 0 0 0 0 pintype=in } P 300 700 0 700 1 { T 0 550 5 8 0 0 0 0 pinseq=1 T 100 750 5 8 1 1 0 0 pinnumber=1 T 0 550 5 8 0 0 0 0 pinlabel=A T 0 550 5 8 0 0 0 0 pintype=in } T 300 900 8 10 1 1 0 0 refdes=U? geda-gaf-1.8.2/gsymcheck/tests/urefinside.sym0000664000175000017500000000176412204177071016117 00000000000000v 20020527 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 7400 L 300 800 700 800 3 0 0 0 -1 -1 T 500 900 5 10 0 0 0 0 device=7400 T 1200 1100 5 10 0 0 0 0 footprint=unspecified T 500 1100 5 10 0 0 0 0 slot=1 T 500 1300 5 10 0 0 0 0 numslots=4 T 500 1500 5 10 0 0 0 0 slotdef=1:1,2,3 T 500 1700 5 10 0 0 0 0 slotdef=2:4,5,6 T 500 1900 5 10 0 0 0 0 slotdef=3:9,10,8 T 500 2100 5 10 0 0 0 0 slotdef=4:12,13,11 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 { T 1085 350 5 8 0 0 0 0 pinseq=3 T 1085 550 5 8 1 1 0 0 pinnumber=3 T 1085 350 5 8 0 0 0 0 pinlabel=C T 1085 350 5 8 0 0 0 0 pintype=out } P 300 300 0 300 1 { T 0 150 5 8 0 0 0 0 pinseq=2 T 100 350 5 8 1 1 0 0 pinnumber=2 T 0 150 5 8 0 0 0 0 pinlabel=B T 0 150 5 8 0 0 0 0 pintype=in } P 300 700 0 700 1 { T 0 550 5 8 0 0 0 0 pinseq=1 T 100 750 5 8 1 1 0 0 pinnumber=1 T 0 550 5 8 0 0 0 0 pinlabel=A T 0 550 5 8 0 0 0 0 pintype=in } T 300 900 8 10 1 1 0 0 uref=U? geda-gaf-1.8.2/gsymcheck/tests/multiple_pintype.sym0000664000175000017500000000203112204177071017351 00000000000000v 20020527 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 7400 L 300 800 700 800 3 0 0 0 -1 -1 T 500 900 5 10 0 0 0 0 device=7400 T 1200 1100 5 10 0 0 0 0 footprint=unspecified T 500 1100 5 10 0 0 0 0 slot=1 T 500 1300 5 10 0 0 0 0 numslots=4 T 500 1500 5 10 0 0 0 0 slotdef=1:1,2,3 T 500 1700 5 10 0 0 0 0 slotdef=2:4,5,6 T 500 1900 5 10 0 0 0 0 slotdef=3:9,10,8 T 500 2100 5 10 0 0 0 0 slotdef=4:12,13,11 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 { T 1085 350 5 8 0 0 0 0 pinseq=3 T 1085 550 5 8 1 1 0 0 pinnumber=3 T 1085 350 5 8 0 0 0 0 pinlabel=C T 1085 350 5 8 0 0 0 0 pintype=out T 1085 350 5 8 0 0 0 0 pintype=out } P 300 300 0 300 1 { T 0 150 5 8 0 0 0 0 pinseq=2 T 100 350 5 8 1 1 0 0 pinnumber=2 T 0 150 5 8 0 0 0 0 pinlabel=B T 0 150 5 8 0 0 0 0 pintype=in } P 300 700 0 700 1 { T 0 550 5 8 0 0 0 0 pinseq=1 T 100 750 5 8 1 1 0 0 pinnumber=1 T 0 550 5 8 0 0 0 0 pinlabel=A T 0 550 5 8 0 0 0 0 pintype=in } T 300 900 8 10 1 1 0 0 refdes=U? geda-gaf-1.8.2/gsymcheck/tests/missing_pinseq.output0000664000175000017500000000006012204177071017526 00000000000000ERROR: Missing pinseq= attribute 1 ERROR found geda-gaf-1.8.2/gsymcheck/tests/Makefile.in0000664000175000017500000004533712220655725015306 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = gsymcheck/tests DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = buses.sym connections1.sym connections2.sym connections3.sym \ correct.sym duplicate_pinnumber.sym duplicate_pinseq.sym \ graphical_correct.sym graphical_incorrect.sym \ invalid_slotdef1.sym invalid_slotdef2.sym invalid_slotdef3.sym \ invalid_slotdef4.sym labelinside.sym lots_of_errors.sym \ many_slotdefs.sym missing_device.sym missing_footprint.sym \ missing_numslots.sym missing_pinlabel.sym missing_pinnumber.sym \ missing_pinseq.sym missing_slotdef.sym multiple_footprint.sym \ multiple_pinlabel.sym multiple_pinnumber.sym \ multiple_pinseq.sym multiple_pintype.sym multiple_refdes.sym \ nameinside.sym nets.sym noslots.sym old_symbol.sym oldpins.sym \ oldslot.sym typeinside.sym urefinside.sym zero_pinnumber.sym \ zero_pinseq.sym zero_slotnum.sym zero_slots.sym \ duplicate_net.sym pin_offgrid.sym pintypes.sym \ misplaced_attributes.sym text_errors.sym \ runtest.sh \ buses.output connections1.output connections2.output \ connections3.output correct.output duplicate_net.output \ duplicate_pinnumber.output duplicate_pinseq.output \ graphical_correct.output graphical_incorrect.output \ invalid_slotdef1.output \ invalid_slotdef2.output invalid_slotdef3.output \ invalid_slotdef4.output labelinside.output lots_of_errors.output \ many_slotdefs.output missing_device.output \ missing_footprint.output missing_numslots.output \ missing_pinlabel.output missing_pinnumber.output \ missing_pinseq.output missing_slotdef.output \ multiple_footprint.output multiple_pinlabel.output \ multiple_pinnumber.output multiple_pinseq.output \ multiple_pintype.output multiple_refdes.output \ nameinside.output nets.output noslots.output oldpins.output \ oldslot.output old_symbol.output typeinside.output \ urefinside.output zero_pinnumber.output zero_pinseq.output \ zero_slotnum.output zero_slots.output pin_offgrid.output \ pintypes.output misplaced_attributes.output text_errors.output check_SCRIPTS = tests BUILDDIR = $(builddir) SRCDIR = $(srcdir) # Cleanup # rm -f $(BUILDDIR)/new_* MOSTLYCLEANFILES = *.log *~ new_* CLEANFILES = *.log *~ new_* DISTCLEANFILES = *.log core FILE *~ new_* MAINTAINERCLEANFILES = *.log *~ Makefile.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gsymcheck/tests/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu gsymcheck/tests/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) $(check_SCRIPTS) check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: check-am install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags-am uninstall uninstall-am tests: # Cleanup rm -f $(BUILDDIR)/new_* fail=0 ; \ pass=0 ; \ for file in $(SRCDIR)/*.sym; do \ base=`basename $$file`; \ GEDADATARC=$(builddir)/../lib \ $(SHELL) $(SRCDIR)/runtest.sh $$file $(BUILDDIR) $(SRCDIR); \ if [ $$? -ne 0 ]; then \ echo "$$base FAILED!"; \ fail=`expr $$pass + 1`; \ else \ echo "$$base passed."; \ pass=`expr $$pass + 1`; \ fi; \ done ; \ echo "passed: $$pass" ; \ echo "failed: $$fail" ; \ exit $$fail # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/gsymcheck/tests/missing_pinnumber.sym0000664000175000017500000000172412204177071017506 00000000000000v 20020527 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 7400 L 300 800 700 800 3 0 0 0 -1 -1 T 1200 1100 5 10 0 0 0 0 footprint=unspecified T 500 900 5 10 0 0 0 0 device=7400 T 500 1100 5 10 0 0 0 0 slot=1 T 500 1300 5 10 0 0 0 0 numslots=4 T 500 1500 5 10 0 0 0 0 slotdef=1:1,2,3 T 500 1700 5 10 0 0 0 0 slotdef=2:4,5,6 T 500 1900 5 10 0 0 0 0 slotdef=3:9,10,8 T 500 2100 5 10 0 0 0 0 slotdef=4:12,13,11 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 { T 1085 350 5 8 0 0 0 0 pinseq=3 T 1085 550 5 8 1 1 0 0 pinnumber=3 T 1085 350 5 8 0 0 0 0 pinlabel=C T 1085 350 5 8 0 0 0 0 pintype=out } P 300 300 0 300 1 { T 0 150 5 8 0 0 0 0 pinseq=2 T 100 350 5 8 1 1 0 0 pinnumber=2 T 0 150 5 8 0 0 0 0 pinlabel=B T 0 150 5 8 0 0 0 0 pintype=in } P 300 700 0 700 1 { T 0 550 5 8 0 0 0 0 pinseq=1 T 0 550 5 8 0 0 0 0 pinlabel=A T 0 550 5 8 0 0 0 0 pintype=in } T 300 900 8 10 1 1 0 0 refdes=U? geda-gaf-1.8.2/gsymcheck/tests/typeinside.sym0000664000175000017500000000205512204177071016131 00000000000000v 20020527 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 7400 L 300 800 700 800 3 0 0 0 -1 -1 T 500 900 5 10 0 0 0 0 device=7400 T 1200 1100 5 10 0 0 0 0 footprint=unspecified T 500 1100 5 10 0 0 0 0 slot=1 T 500 1300 5 10 0 0 0 0 numslots=4 T 500 1500 5 10 0 0 0 0 slotdef=1:1,2,3 T 500 1700 5 10 0 0 0 0 slotdef=2:4,5,6 T 500 1900 5 10 0 0 0 0 slotdef=3:9,10,8 T 500 2100 5 10 0 0 0 0 slotdef=4:12,13,11 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 { T 1085 350 5 8 0 0 0 0 pinseq=3 T 1085 550 5 8 1 1 0 0 pinnumber=3 T 1085 350 5 8 0 0 0 0 type=this a forbidden attribute T 1085 350 5 8 0 0 0 0 pinlabel=C T 1085 350 5 8 0 0 0 0 pintype=out } P 300 300 0 300 1 { T 0 150 5 8 0 0 0 0 pinseq=2 T 100 350 5 8 1 1 0 0 pinnumber=2 T 0 150 5 8 0 0 0 0 pinlabel=B T 0 150 5 8 0 0 0 0 pintype=in } P 300 700 0 700 1 { T 0 550 5 8 0 0 0 0 pinseq=1 T 100 750 5 8 1 1 0 0 pinnumber=1 T 0 550 5 8 0 0 0 0 pinlabel=A T 0 550 5 8 0 0 0 0 pintype=in } T 300 900 8 10 1 1 0 0 refdes=U? geda-gaf-1.8.2/gsymcheck/tests/missing_footprint.sym0000664000175000017500000000170712204177071017534 00000000000000v 20020527 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 7400 L 300 800 700 800 3 0 0 0 -1 -1 T 500 900 5 10 0 0 0 0 device=7400 T 500 1100 5 10 0 0 0 0 slot=1 T 500 1300 5 10 0 0 0 0 numslots=4 T 500 1500 5 10 0 0 0 0 slotdef=1:1,2,3 T 500 1700 5 10 0 0 0 0 slotdef=2:4,5,6 T 500 1900 5 10 0 0 0 0 slotdef=3:9,10,8 T 500 2100 5 10 0 0 0 0 slotdef=4:12,13,11 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 { T 1085 350 5 8 0 0 0 0 pinseq=3 T 1085 550 5 8 1 1 0 0 pinnumber=3 T 1085 350 5 8 0 0 0 0 pinlabel=C T 1085 350 5 8 0 0 0 0 pintype=out } P 300 300 0 300 1 { T 0 150 5 8 0 0 0 0 pinseq=2 T 100 350 5 8 1 1 0 0 pinnumber=2 T 0 150 5 8 0 0 0 0 pinlabel=B T 0 150 5 8 0 0 0 0 pintype=in } P 300 700 0 700 1 { T 0 550 5 8 0 0 0 0 pinseq=1 T 100 750 5 8 1 1 0 0 pinnumber=1 T 0 550 5 8 0 0 0 0 pinlabel=A T 0 550 5 8 0 0 0 0 pintype=in } T 300 900 8 10 1 1 0 0 refdes=U? geda-gaf-1.8.2/gsymcheck/tests/duplicate_pinseq.sym0000664000175000017500000000176612204177071017315 00000000000000v 20020527 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 7400 L 300 800 700 800 3 0 0 0 -1 -1 T 500 900 5 10 0 0 0 0 device=7400 T 1200 1100 5 10 0 0 0 0 footprint=unspecified T 500 1100 5 10 0 0 0 0 slot=1 T 500 1300 5 10 0 0 0 0 numslots=4 T 500 1500 5 10 0 0 0 0 slotdef=1:1,2,3 T 500 1700 5 10 0 0 0 0 slotdef=2:4,5,6 T 500 1900 5 10 0 0 0 0 slotdef=3:9,10,8 T 500 2100 5 10 0 0 0 0 slotdef=4:12,13,11 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 { T 1085 350 5 8 0 0 0 0 pinseq=1 T 1085 550 5 8 1 1 0 0 pinnumber=3 T 1085 350 5 8 0 0 0 0 pinlabel=C T 1085 350 5 8 0 0 0 0 pintype=out } P 300 300 0 300 1 { T 0 150 5 8 0 0 0 0 pinseq=2 T 100 350 5 8 1 1 0 0 pinnumber=2 T 0 150 5 8 0 0 0 0 pinlabel=B T 0 150 5 8 0 0 0 0 pintype=in } P 300 700 0 700 1 { T 0 550 5 8 0 0 0 0 pinseq=1 T 100 750 5 8 1 1 0 0 pinnumber=1 T 0 550 5 8 0 0 0 0 pinlabel=A T 0 550 5 8 0 0 0 0 pintype=in } T 300 900 8 10 1 1 0 0 refdes=U? geda-gaf-1.8.2/gsymcheck/tests/zero_pinnumber.sym0000664000175000017500000000176612204177071017022 00000000000000v 20020527 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 7400 L 300 800 700 800 3 0 0 0 -1 -1 T 500 900 5 10 0 0 0 0 device=7400 T 1200 1100 5 10 0 0 0 0 footprint=unspecified T 500 1100 5 10 0 0 0 0 slot=1 T 500 1300 5 10 0 0 0 0 numslots=4 T 500 1500 5 10 0 0 0 0 slotdef=1:1,2,3 T 500 1700 5 10 0 0 0 0 slotdef=2:4,5,6 T 500 1900 5 10 0 0 0 0 slotdef=3:9,10,8 T 500 2100 5 10 0 0 0 0 slotdef=4:12,13,11 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 { T 1085 350 5 8 0 0 0 0 pinseq=3 T 1085 550 5 8 1 1 0 0 pinnumber=3 T 1085 350 5 8 0 0 0 0 pinlabel=C T 1085 350 5 8 0 0 0 0 pintype=out } P 300 300 0 300 1 { T 0 150 5 8 0 0 0 0 pinseq=2 T 100 350 5 8 1 1 0 0 pinnumber=2 T 0 150 5 8 0 0 0 0 pinlabel=B T 0 150 5 8 0 0 0 0 pintype=in } P 300 700 0 700 1 { T 0 550 5 8 0 0 0 0 pinseq=1 T 100 750 5 8 1 1 0 0 pinnumber=0 T 0 550 5 8 0 0 0 0 pinlabel=A T 0 550 5 8 0 0 0 0 pintype=in } T 300 900 8 10 1 1 0 0 refdes=U? geda-gaf-1.8.2/gsymcheck/tests/multiple_footprint.output0000664000175000017500000000007312204177071020441 00000000000000ERROR: Multiple footprint= attributes found 1 ERROR found geda-gaf-1.8.2/gsymcheck/tests/duplicate_net.sym0000664000175000017500000000220612204177071016572 00000000000000v 20080110 1 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 1 7400 L 300 800 700 800 3 0 0 0 -1 -1 T 500 900 5 10 0 0 0 0 1 device=7400 T 500 2300 5 10 0 0 0 0 1 footprint=unspecified T 500 1100 5 10 0 0 0 0 1 slot=1 T 500 1300 5 10 0 0 0 0 1 numslots=4 T 500 1500 5 10 0 0 0 0 1 slotdef=1:1,2,3 T 500 1700 5 10 0 0 0 0 1 slotdef=2:4,5,6 T 500 1900 5 10 0 0 0 0 1 slotdef=3:9,10,8 T 500 2100 5 10 0 0 0 0 1 slotdef=4:12,13,11 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 0 1 { T 1085 350 5 8 0 0 0 0 1 pinseq=3 T 1085 550 5 8 1 1 0 0 1 pinnumber=3 T 1085 350 5 8 0 0 0 0 1 pinlabel=C T 1085 350 5 8 0 0 0 0 1 pintype=out } P 300 300 0 300 1 0 1 { T 0 150 5 8 0 0 0 0 1 pinseq=2 T 100 350 5 8 1 1 0 0 1 pinnumber=2 T 0 150 5 8 0 0 0 0 1 pinlabel=B T 0 150 5 8 0 0 0 0 1 pintype=in } P 300 700 0 700 1 0 1 { T 0 550 5 8 0 0 0 0 1 pinseq=1 T 100 750 5 8 1 1 0 0 1 pinnumber=1 T 0 550 5 8 0 0 0 0 1 pinlabel=A T 0 550 5 8 0 0 0 0 1 pintype=in } T 300 900 8 10 1 1 0 0 1 refdes=U? T 1800 1100 8 10 1 0 0 0 1 net=INVALID:1,5 T 1800 900 8 10 1 0 0 0 1 net=INVALID:5,6,6 geda-gaf-1.8.2/gsymcheck/tests/multiple_pinnumber.output0000664000175000017500000000010712204177071020412 00000000000000ERROR: Found multiple pinnumber=3 attributes on one pin 1 ERROR found geda-gaf-1.8.2/gsymcheck/tests/connections3.output0000664000175000017500000000006212204177071017105 00000000000000ERROR: Found a bus inside a symbol 1 ERROR found geda-gaf-1.8.2/gsymcheck/tests/zero_slots.output0000664000175000017500000000015012204177071016701 00000000000000ERROR: Found a zero pin in slotdef=1:1,0,3 ERROR: Found a zero pin in slotdef=4:12,13,0 2 ERRORS found geda-gaf-1.8.2/gsymcheck/tests/connections1.sym0000664000175000017500000000201512204177071016353 00000000000000v 20020527 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 7400 L 300 800 700 800 3 0 0 0 -1 -1 T 500 900 5 10 0 0 0 0 device=7400 T 1200 1100 5 10 0 0 0 0 footprint=unspecified T 500 1100 5 10 0 0 0 0 slot=1 T 500 1300 5 10 0 0 0 0 numslots=4 T 500 1500 5 10 0 0 0 0 slotdef=1:1,2,3 T 500 1700 5 10 0 0 0 0 slotdef=2:4,5,6 T 500 1900 5 10 0 0 0 0 slotdef=3:9,10,8 T 500 2100 5 10 0 0 0 0 slotdef=4:12,13,11 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 { T 1085 350 5 8 0 0 0 0 pinseq=3 T 1085 550 5 8 1 1 0 0 pinnumber=3 T 1085 350 5 8 0 0 0 0 pinlabel=C T 1085 350 5 8 0 0 0 0 pintype=out } P 300 300 0 300 1 { T 0 150 5 8 0 0 0 0 pinseq=2 T 100 350 5 8 1 1 0 0 pinnumber=2 T 0 150 5 8 0 0 0 0 pinlabel=B T 0 150 5 8 0 0 0 0 pintype=in } P 300 700 0 700 1 { T 0 550 5 8 0 0 0 0 pinseq=1 T 100 750 5 8 1 1 0 0 pinnumber=1 T 0 550 5 8 0 0 0 0 pinlabel=A T 0 550 5 8 0 0 0 0 pintype=in } T 300 900 8 10 1 1 0 0 refdes=U? N 1300 500 1300 1000 4 geda-gaf-1.8.2/gsymcheck/tests/misplaced_attributes.output0000664000175000017500000000120512204177071020707 00000000000000Warning: Found obsolete label= attribute: [label=2] Warning: Found unknown xxxxx= attribute: [xxxxx=out] ERROR: Found wrongly attached attribute: [footprint=2] ERROR: Found forbidden type= attribute: [type=out] ERROR: Found misplaced pin attribute: [pintype=io] ERROR: Found misplaced pin attribute: [pinlabel=attached to box] ERROR: Found wrongly attached attribute: [comment=attached to circle] ERROR: Found misplaced pin attribute: [pinlabel=not attached] ERROR: Found misplaced pin attribute: [pinseq=3] ERROR: Found misplaced pin attribute: [pinnumber=3] ERROR: Found misplaced pin attribute: [pintype=io] 2 warnings found 9 ERRORS found geda-gaf-1.8.2/gsymcheck/tests/connections3.sym0000664000175000017500000000201612204177071016356 00000000000000v 20020527 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 7400 L 300 800 700 800 3 0 0 0 -1 -1 T 500 900 5 10 0 0 0 0 device=7400 T 1200 1100 5 10 0 0 0 0 footprint=unspecified T 500 1100 5 10 0 0 0 0 slot=1 T 500 1300 5 10 0 0 0 0 numslots=4 T 500 1500 5 10 0 0 0 0 slotdef=1:1,2,3 T 500 1700 5 10 0 0 0 0 slotdef=2:4,5,6 T 500 1900 5 10 0 0 0 0 slotdef=3:9,10,8 T 500 2100 5 10 0 0 0 0 slotdef=4:12,13,11 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 { T 1085 350 5 8 0 0 0 0 pinseq=3 T 1085 550 5 8 1 1 0 0 pinnumber=3 T 1085 350 5 8 0 0 0 0 pinlabel=C T 1085 350 5 8 0 0 0 0 pintype=out } P 300 300 0 300 1 { T 0 150 5 8 0 0 0 0 pinseq=2 T 100 350 5 8 1 1 0 0 pinnumber=2 T 0 150 5 8 0 0 0 0 pinlabel=B T 0 150 5 8 0 0 0 0 pintype=in } P 300 700 0 700 1 { T 0 550 5 8 0 0 0 0 pinseq=1 T 100 750 5 8 1 1 0 0 pinnumber=1 T 0 550 5 8 0 0 0 0 pinlabel=A T 0 550 5 8 0 0 0 0 pintype=in } T 300 900 8 10 1 1 0 0 refdes=U? U 1300 500 1300 1000 10 geda-gaf-1.8.2/gsymcheck/tests/invalid_slotdef2.output0000664000175000017500000000017312204177071017733 00000000000000ERROR: Invalid slotdef=a: attributes, not continuing ERROR: Malformed slotdef= (the format is #:#,#,#,...) 2 ERRORS found geda-gaf-1.8.2/gsymcheck/tests/multiple_pinseq.output0000664000175000017500000000010412204177071017707 00000000000000ERROR: Found multiple pinseq=3 attributes on one pin 1 ERROR found geda-gaf-1.8.2/gsymcheck/tests/multiple_pintype.output0000664000175000017500000000010712204177071020103 00000000000000ERROR: Found multiple pintype=out attributes on one pin 1 ERROR found geda-gaf-1.8.2/gsymcheck/tests/old_symbol.sym0000664000175000017500000000155612204177071016124 00000000000000v 20020527 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 7400 L 300 800 700 800 3 0 0 0 -1 -1 T 500 900 5 10 0 0 0 0 device=7400 T 1200 1100 5 10 0 0 0 0 footprint=unspecified T 500 1100 5 10 0 0 0 0 slot=1 T 500 1300 5 10 0 0 0 0 numslots=4 T 500 1500 5 10 0 0 0 0 slot1=1,2,3 T 500 1700 5 10 0 0 0 0 slot2=4,5,6 T 500 1900 5 10 0 0 0 0 slot3=9,10,8 T 500 2100 5 10 0 0 0 0 slot4=12,13,11 T 500 2100 5 10 0 0 0 0 slotdef=4:12,13,11 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 { T 1085 550 5 8 1 1 0 0 pin3=3 T 1085 550 5 8 0 1 0 0 pinlabel=just a label } P 300 300 0 300 1 { T 100 350 5 8 1 1 0 0 pin2=2 T 100 350 5 8 0 1 0 0 pinlabel=123just a label } P 300 700 0 700 1 { T 100 750 5 8 1 1 0 0 pin1=1 T 100 750 5 8 0 1 0 0 pintype=123just a type } T 300 900 8 10 1 1 0 0 uref=U? geda-gaf-1.8.2/gsymcheck/tests/multiple_pinlabel.output0000664000175000017500000000011212204177071020175 00000000000000ERROR: Found multiple pinlabel=extra attributes on one pin 1 ERROR found geda-gaf-1.8.2/gsymcheck/tests/missing_numslots.output0000664000175000017500000000014312220647257020123 00000000000000Warning: Did not find numslots= attribute, not checking slotting 1 warnings found No errors found geda-gaf-1.8.2/gsymcheck/tests/misplaced_attributes.sym0000664000175000017500000000251012204177071020157 00000000000000v 20080110 1 P 1100 5100 1400 5100 1 0 0 { T 1300 5150 5 8 1 1 0 6 1 pinnumber=1 T 1300 5050 5 8 0 1 0 8 1 pinseq=1 T 1450 5100 9 8 1 1 0 0 1 pinlabel=pin_ok T 1450 5100 5 8 0 1 0 2 1 pintype=in } P 1100 4300 1400 4300 1 0 0 { T 1300 4350 5 8 1 0 0 6 1 footprint=2 T 1300 4250 5 8 0 0 0 8 1 label=2 T 1450 4300 9 8 1 0 0 0 1 type=out T 1450 4300 5 8 0 0 0 2 1 xxxxx=out T 1500 3600 5 10 1 0 0 0 1 pintype=io T 1500 3400 5 10 1 0 0 0 1 pinseq=2 T 1500 4000 5 10 1 0 0 0 1 pinlabel=xxxx T 1500 3800 5 10 1 0 0 0 1 pinnumber=2 } B 1400 2500 2400 2900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 { T 2300 2600 5 10 1 0 0 0 1 pintype=io T 2300 2300 5 10 1 0 0 0 1 pinlabel=attached to box } T 3800 5600 8 10 1 1 0 6 1 refdes=U? T 1400 5600 9 10 1 0 0 0 1 symbol structure test T 1400 5800 5 10 0 0 0 0 1 device=symbol_structure_test T 1400 6200 5 10 0 0 0 0 1 documentation=none T 1400 6400 5 10 0 0 0 0 1 description=many attributes are attached the wrong way T 1400 6000 5 10 0 0 0 0 1 numslots=0 V 5103 3599 600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 { T 5100 3600 5 10 1 1 0 0 1 comment=attached to circle } T 4600 5500 8 10 1 0 0 0 1 pinlabel=not attached T 4600 5200 8 10 1 0 0 0 1 pinseq=3 T 4600 4900 8 10 1 0 0 0 1 pinnumber=3 T 4600 4600 8 10 1 0 0 0 1 pintype=io B 4500 4500 2200 1200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 4500 5800 9 10 1 0 0 0 1 not attached pin labels geda-gaf-1.8.2/gsymcheck/tests/urefinside.output0000664000175000017500000000017012204177071016635 00000000000000Warning: Found obsolete uref= attribute: [uref=U?] Warning: Missing refdes= attribute 2 warnings found No errors found geda-gaf-1.8.2/gsymcheck/tests/invalid_slotdef4.output0000664000175000017500000000007512204177071017736 00000000000000ERROR: Too many pins in slotdef=4:12,13,14,15 1 ERROR found geda-gaf-1.8.2/gsymcheck/tests/zero_slots.sym0000664000175000017500000000176512204177071016166 00000000000000v 20020527 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 7400 L 300 800 700 800 3 0 0 0 -1 -1 T 500 900 5 10 0 0 0 0 device=7400 T 1200 1100 5 10 0 0 0 0 footprint=unspecified T 500 1100 5 10 0 0 0 0 slot=1 T 500 1300 5 10 0 0 0 0 numslots=4 T 500 1500 5 10 0 0 0 0 slotdef=1:1,0,3 T 500 1700 5 10 0 0 0 0 slotdef=2:4,5,6 T 500 1900 5 10 0 0 0 0 slotdef=3:9,10,8 T 500 2100 5 10 0 0 0 0 slotdef=4:12,13,0 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 { T 1085 350 5 8 0 0 0 0 pinseq=3 T 1085 550 5 8 1 1 0 0 pinnumber=3 T 1085 350 5 8 0 0 0 0 pinlabel=C T 1085 350 5 8 0 0 0 0 pintype=out } P 300 300 0 300 1 { T 0 150 5 8 0 0 0 0 pinseq=2 T 100 350 5 8 1 1 0 0 pinnumber=2 T 0 150 5 8 0 0 0 0 pinlabel=B T 0 150 5 8 0 0 0 0 pintype=in } P 300 700 0 700 1 { T 0 550 5 8 0 0 0 0 pinseq=1 T 100 750 5 8 1 1 0 0 pinnumber=1 T 0 550 5 8 0 0 0 0 pinlabel=A T 0 550 5 8 0 0 0 0 pintype=in } T 300 900 8 10 1 1 0 0 refdes=U? geda-gaf-1.8.2/gsymcheck/tests/labelinside.sym0000664000175000017500000000204112204177071016222 00000000000000v 20020527 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 7400 L 300 800 700 800 3 0 0 0 -1 -1 T 500 900 5 10 0 0 0 0 device=7400 T 1200 1100 5 10 0 0 0 0 footprint=unspecified T 500 1100 5 10 0 0 0 0 slot=1 T 500 1300 5 10 0 0 0 0 numslots=4 T 500 1500 5 10 0 0 0 0 slotdef=1:1,2,3 T 500 1700 5 10 0 0 0 0 slotdef=2:4,5,6 T 500 1900 5 10 0 0 0 0 slotdef=3:9,10,8 T 500 2100 5 10 0 0 0 0 slotdef=4:12,13,11 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 { T 1085 350 5 8 0 0 0 0 pinseq=3 T 1085 550 5 8 1 1 0 0 pinnumber=3 T 1085 350 5 8 0 0 0 0 label=this obsolete T 1085 350 5 8 0 0 0 0 pinlabel=C T 1085 350 5 8 0 0 0 0 pintype=out } P 300 300 0 300 1 { T 0 150 5 8 0 0 0 0 pinseq=2 T 100 350 5 8 1 1 0 0 pinnumber=2 T 0 150 5 8 0 0 0 0 pinlabel=B T 0 150 5 8 0 0 0 0 pintype=in } P 300 700 0 700 1 { T 0 550 5 8 0 0 0 0 pinseq=1 T 100 750 5 8 1 1 0 0 pinnumber=1 T 0 550 5 8 0 0 0 0 pinlabel=A T 0 550 5 8 0 0 0 0 pintype=in } T 300 900 8 10 1 1 0 0 refdes=U? geda-gaf-1.8.2/gsymcheck/tests/missing_numslots.sym0000664000175000017500000000172312204177071017372 00000000000000v 20020527 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 7400 L 300 800 700 800 3 0 0 0 -1 -1 T 500 900 5 10 0 0 0 0 device=7400 T 1200 1100 5 10 0 0 0 0 footprint=unspecified T 500 1100 5 10 0 0 0 0 slot=1 T 500 1500 5 10 0 0 0 0 slotdef=1:1,2,3 T 500 1700 5 10 0 0 0 0 slotdef=2:4,5,6 T 500 1900 5 10 0 0 0 0 slotdef=3:9,10,8 T 500 2100 5 10 0 0 0 0 slotdef=4:12,13,11 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 { T 1085 350 5 8 0 0 0 0 pinseq=3 T 1085 550 5 8 1 1 0 0 pinnumber=3 T 1085 350 5 8 0 0 0 0 pinlabel=C T 1085 350 5 8 0 0 0 0 pintype=out } P 300 300 0 300 1 { T 0 150 5 8 0 0 0 0 pinseq=2 T 100 350 5 8 1 1 0 0 pinnumber=2 T 0 150 5 8 0 0 0 0 pinlabel=B T 0 150 5 8 0 0 0 0 pintype=in } P 300 700 0 700 1 { T 0 550 5 8 0 0 0 0 pinseq=1 T 100 750 5 8 1 1 0 0 pinnumber=1 T 0 550 5 8 0 0 0 0 pinlabel=A T 0 550 5 8 0 0 0 0 pintype=in } T 300 900 8 10 1 1 0 0 refdes=U? geda-gaf-1.8.2/gsymcheck/tests/zero_slotnum.sym0000664000175000017500000000176612204177071016524 00000000000000v 20020527 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 7400 L 300 800 700 800 3 0 0 0 -1 -1 T 500 900 5 10 0 0 0 0 device=7400 T 1200 1100 5 10 0 0 0 0 footprint=unspecified T 500 1100 5 10 0 0 0 0 slot=1 T 500 1300 5 10 0 0 0 0 numslots=4 T 500 1500 5 10 0 0 0 0 slotdef=1:1,2,3 T 500 1700 5 10 0 0 0 0 slotdef=0:4,5,6 T 500 1900 5 10 0 0 0 0 slotdef=3:9,10,8 T 500 2100 5 10 0 0 0 0 slotdef=4:12,13,11 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 { T 1085 350 5 8 0 0 0 0 pinseq=3 T 1085 550 5 8 1 1 0 0 pinnumber=3 T 1085 350 5 8 0 0 0 0 pinlabel=C T 1085 350 5 8 0 0 0 0 pintype=out } P 300 300 0 300 1 { T 0 150 5 8 0 0 0 0 pinseq=2 T 100 350 5 8 1 1 0 0 pinnumber=2 T 0 150 5 8 0 0 0 0 pinlabel=B T 0 150 5 8 0 0 0 0 pintype=in } P 300 700 0 700 1 { T 0 550 5 8 0 0 0 0 pinseq=1 T 100 750 5 8 1 1 0 0 pinnumber=1 T 0 550 5 8 0 0 0 0 pinlabel=A T 0 550 5 8 0 0 0 0 pintype=in } T 300 900 8 10 1 1 0 0 refdes=U? geda-gaf-1.8.2/gsymcheck/tests/old_symbol.output0000664000175000017500000000225212204177071016646 00000000000000Warning: Found unknown slot1= attribute: [slot1=1,2,3] Warning: Found unknown slot2= attribute: [slot2=4,5,6] Warning: Found unknown slot3= attribute: [slot3=9,10,8] Warning: Found unknown slot4= attribute: [slot4=12,13,11] Warning: Found unknown pin3= attribute: [pin3=3] Warning: Found unknown pin2= attribute: [pin2=2] Warning: Found unknown pin1= attribute: [pin1=1] Warning: Found obsolete uref= attribute: [uref=U?] Warning: Missing pintype= attribute Warning: Missing pintype= attribute Warning: Missing pinlabel= attribute Warning: Missing refdes= attribute ERROR: Invalid pintype=123just a type attribute ERROR: Missing pinseq= attribute ERROR: Missing pinseq= attribute ERROR: Missing pinseq= attribute ERROR: Missing pinnumber= attribute ERROR: Missing pinnumber= attribute ERROR: Missing pinnumber= attribute ERROR: Missing slotdef= (there should be 4 slotdef= attributes) ERROR: Found old pin#=# attribute: pin3=3 ERROR: Found old pin#=# attribute: pin2=2 ERROR: Found old pin#=# attribute: pin1=1 ERROR: Found old slot#=# attribute: slot1=1,2,3 ERROR: Found old slot#=# attribute: slot2=4,5,6 ERROR: Found old slot#=# attribute: slot4=12,13,11 12 warnings found 14 ERRORS found geda-gaf-1.8.2/gsymcheck/tests/correct.output0000664000175000017500000000002012204177071016133 00000000000000No errors found geda-gaf-1.8.2/gsymcheck/tests/invalid_slotdef3.sym0000664000175000017500000000176312204177071017212 00000000000000v 20020527 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 7400 L 300 800 700 800 3 0 0 0 -1 -1 T 500 900 5 10 0 0 0 0 device=7400 T 1200 1100 5 10 0 0 0 0 footprint=unspecified T 500 1100 5 10 0 0 0 0 slot=1 T 500 1300 5 10 0 0 0 0 numslots=4 T 500 1500 5 10 0 0 0 0 slotdef=1:1,2,3 T 500 1700 5 10 0 0 0 0 slotdef=2:3,4,5 T 500 1900 5 10 0 0 0 0 slotdef=3:9,10,8 T 500 2100 5 10 0 0 0 0 slotdef=4:12,13 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 { T 1085 350 5 8 0 0 0 0 pinseq=3 T 1085 550 5 8 1 1 0 0 pinnumber=3 T 1085 350 5 8 0 0 0 0 pinlabel=C T 1085 350 5 8 0 0 0 0 pintype=out } P 300 300 0 300 1 { T 0 150 5 8 0 0 0 0 pinseq=2 T 100 350 5 8 1 1 0 0 pinnumber=2 T 0 150 5 8 0 0 0 0 pinlabel=B T 0 150 5 8 0 0 0 0 pintype=in } P 300 700 0 700 1 { T 0 550 5 8 0 0 0 0 pinseq=1 T 100 750 5 8 1 1 0 0 pinnumber=1 T 0 550 5 8 0 0 0 0 pinlabel=A T 0 550 5 8 0 0 0 0 pintype=in } T 300 900 8 10 1 1 0 0 refdes=U? geda-gaf-1.8.2/gsymcheck/tests/multiple_footprint.sym0000664000175000017500000000210712204177071017711 00000000000000v 20020527 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 7400 L 300 800 700 800 3 0 0 0 -1 -1 T 500 900 5 10 0 0 0 0 device=7400 T 1200 1100 5 10 0 0 0 0 footprint=unspecified T 500 1100 5 10 0 0 0 0 slot=1 T 500 1300 5 10 0 0 0 0 numslots=4 T 500 1500 5 10 0 0 0 0 slotdef=1:1,2,3 T 500 1700 5 10 0 0 0 0 slotdef=2:4,5,6 T 500 1900 5 10 0 0 0 0 slotdef=3:9,10,8 T 500 2100 5 10 0 0 0 0 slotdef=4:12,13,11 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 { T 1085 350 5 8 0 0 0 0 pinseq=3 T 1085 550 5 8 1 1 0 0 pinnumber=3 T 1085 350 5 8 0 0 0 0 pinlabel=C T 1085 350 5 8 0 0 0 0 pintype=out } P 300 300 0 300 1 { T 0 150 5 8 0 0 0 0 pinseq=2 T 100 350 5 8 1 1 0 0 pinnumber=2 T 0 150 5 8 0 0 0 0 pinlabel=B T 0 150 5 8 0 0 0 0 pintype=in } P 300 700 0 700 1 { T 0 550 5 8 0 0 0 0 pinseq=1 T 100 750 5 8 1 1 0 0 pinnumber=1 T 0 550 5 8 0 0 0 0 pinlabel=A T 0 550 5 8 0 0 0 0 pintype=in } T 300 900 8 10 1 1 0 0 refdes=U? T 300 1000 8 10 0 0 0 0 footprint=first T 300 1000 8 10 0 0 0 0 footprint=second geda-gaf-1.8.2/gsymcheck/tests/missing_pinlabel.sym0000664000175000017500000000201712204177071017271 00000000000000v 20070708 1 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 1 7400 L 300 800 700 800 3 0 0 0 -1 -1 T 500 900 5 10 0 0 0 0 1 device=7400 T 1200 1100 5 10 0 0 0 0 1 footprint=unspecified T 500 1100 5 10 0 0 0 0 1 slot=1 T 500 1300 5 10 0 0 0 0 1 numslots=4 T 500 1500 5 10 0 0 0 0 1 slotdef=1:1,2,3 T 500 1700 5 10 0 0 0 0 1 slotdef=2:4,5,6 T 500 1900 5 10 0 0 0 0 1 slotdef=3:9,10,8 T 500 2100 5 10 0 0 0 0 1 slotdef=4:12,13,11 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 0 1 { T 1085 350 5 8 0 0 0 0 1 pinseq=3 T 1085 550 5 8 1 1 0 0 1 pinnumber=3 T 1085 350 5 8 0 0 0 0 1 pinlabel=C T 1085 350 5 8 0 0 0 0 1 pintype=out } P 300 300 0 300 1 0 1 { T 0 150 5 8 0 0 0 0 1 pinseq=2 T 100 350 5 8 1 1 0 0 1 pinnumber=2 T 0 150 5 8 0 0 0 0 1 pinlabel=B T 0 150 5 8 0 0 0 0 1 pintype=in } P 300 700 0 700 1 0 1 { T 0 550 5 8 0 0 0 0 1 pinseq=1 T 100 750 5 8 1 1 0 0 1 pinnumber=1 T 0 550 5 8 0 0 0 0 1 pintype=in } T 300 900 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/gsymcheck/tests/buses.sym0000664000175000017500000000203212204177071015070 00000000000000v 20020527 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 7400 L 300 800 700 800 3 0 0 0 -1 -1 T 500 900 5 10 0 0 0 0 device=7400 T 1200 1100 5 10 0 0 0 0 footprint=unspecified T 500 1100 5 10 0 0 0 0 slot=1 T 500 1300 5 10 0 0 0 0 numslots=4 T 500 1500 5 10 0 0 0 0 slotdef=1:1,2,3 T 500 1700 5 10 0 0 0 0 slotdef=2:4,5,6 T 500 1900 5 10 0 0 0 0 slotdef=3:9,10,8 T 500 2100 5 10 0 0 0 0 slotdef=4:12,13,11 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 { T 1085 350 5 8 0 0 0 0 pinseq=3 T 1085 550 5 8 1 1 0 0 pinnumber=3 T 1085 350 5 8 0 0 0 0 pinlabel=C T 1085 350 5 8 0 0 0 0 pintype=out } P 300 300 0 300 1 { T 0 150 5 8 0 0 0 0 pinseq=2 T 100 350 5 8 1 1 0 0 pinnumber=2 T 1085 350 5 8 0 0 0 0 pinlabel=B T 1085 350 5 8 0 0 0 0 pintype=in } P 300 700 0 700 1 { T 0 550 5 8 0 0 0 0 pinseq=1 T 100 750 5 8 1 1 0 0 pinnumber=1 T 1085 350 5 8 0 0 0 0 pinlabel=A T 1085 350 5 8 0 0 0 0 pintype=in } T 300 900 8 10 1 1 0 0 refdes=U? U 900 1000 1200 1000 10 geda-gaf-1.8.2/gsymcheck/tests/oldslot.sym0000664000175000017500000000174612204177071015442 00000000000000v 20020527 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 7400 L 300 800 700 800 3 0 0 0 -1 -1 T 500 900 5 10 0 0 0 0 device=7400 T 1200 1100 5 10 0 0 0 0 footprint=unspecified T 500 1100 5 10 0 0 0 0 slot=1 T 500 1300 5 10 0 0 0 0 numslots=4 T 500 1500 5 10 0 0 0 0 slot1=1,2,3 T 500 1700 5 10 0 0 0 0 slot2=4,5,6 T 500 1900 5 10 0 0 0 0 slot3=9,10,8 T 500 2100 5 10 0 0 0 0 slot4=12,13,11 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 { T 1085 350 5 8 0 0 0 0 pinseq=3 T 1085 550 5 8 1 1 0 0 pinnumber=3 T 1085 350 5 8 0 0 0 0 pinlabel=C T 1085 350 5 8 0 0 0 0 pintype=out } P 300 300 0 300 1 { T 0 150 5 8 0 0 0 0 pinseq=2 T 100 350 5 8 1 1 0 0 pinnumber=2 T 0 150 5 8 0 0 0 0 pinlabel=B T 0 150 5 8 0 0 0 0 pintype=in } P 300 700 0 700 1 { T 0 550 5 8 0 0 0 0 pinseq=1 T 100 750 5 8 1 1 0 0 pinnumber=1 T 0 550 5 8 0 0 0 0 pinlabel=A T 0 550 5 8 0 0 0 0 pintype=in } T 300 900 8 10 1 1 0 0 refdes=U? geda-gaf-1.8.2/gsymcheck/tests/zero_pinseq.output0000664000175000017500000000005712204177071017042 00000000000000ERROR: Found pinseq=0 attribute 1 ERROR found geda-gaf-1.8.2/gsymcheck/tests/zero_slotnum.output0000664000175000017500000000016212204177071017241 00000000000000ERROR: Found a zero slot in slotdef=0:4,5,6 ERROR: Malformed slotdef= (the format is #:#,#,#,...) 2 ERRORS found geda-gaf-1.8.2/gsymcheck/tests/lots_of_errors.output0000664000175000017500000000161712204177071017550 00000000000000Warning: Found unknown device_missing= attribute: [device_missing=7400] Warning: Found unknown pinnumbe= attribute: [pinnumbe=3] Warning: Found unknown pineq= attribute: [pineq=2] Warning: Found obsolete uref= attribute: [uref=U?] Warning: Missing pinlabel= attribute Warning: Missing pintype= attribute Warning: Missing pinlabel= attribute Warning: Missing pintype= attribute Warning: Missing pinlabel= attribute Warning: Missing pintype= attribute Warning: Missing footprint= attribute Warning: Missing refdes= attribute ERROR: Missing device= attribute ERROR: Missing pinseq= attribute ERROR: Missing pinnumber= attribute ERROR: Too many pins in slotdef=1:1,2,3,5,6 ERROR: Not enough pins in slotdef=2:4,5 ERROR: Slot 8 is larger then the maximum number (5) of slots ERROR: Invalid slotdef=a attributes, not continuing ERROR: Malformed slotdef= (the format is #:#,#,#,...) 12 warnings found 8 ERRORS found geda-gaf-1.8.2/gsymcheck/tests/pin_offgrid.sym0000664000175000017500000000374312204177071016247 00000000000000v 20071229 1 P 701 3600 401 3600 1 0 1 { T 400 3600 5 10 0 0 0 0 1 pintype=in T 755 3595 5 10 1 1 0 0 1 pinlabel=Test: pin x1, x2 offgrid, whichend 1 T 605 3645 5 10 1 1 0 6 1 pinnumber=1 T 400 3600 5 10 0 0 0 0 1 pinseq=1 } P 400 4000 700 4000 1 0 0 { T 400 4000 5 10 0 0 0 0 1 pintype=in T 755 3995 5 10 1 1 0 0 1 pinlabel=Test: Pin OK T 605 4045 5 10 1 1 0 6 1 pinnumber=2 T 400 4000 5 10 0 0 0 0 1 pinseq=2 } P 410 2800 700 2800 1 0 0 { T 400 2800 5 10 0 0 0 0 1 pintype=in T 755 2795 5 10 1 1 0 0 1 pinlabel=Test: x1 offgrid T 605 2845 5 10 1 1 0 6 1 pinnumber=3 T 400 2800 5 10 0 0 0 0 1 pinseq=3 } P 400 2420 700 2400 1 0 0 { T 400 2400 5 10 0 0 0 0 1 pintype=in T 755 2395 5 10 1 1 0 0 1 pinlabel=Test: y1 offgrid T 605 2445 5 10 1 1 0 6 1 pinnumber=4 T 400 2400 5 10 0 0 0 0 1 pinseq=4 } P 400 2000 710 2000 1 0 0 { T 400 2000 5 10 0 0 0 0 1 pintype=in T 755 1995 5 10 1 1 0 0 1 pinlabel=Test: x2 offgrid T 605 2045 5 10 1 1 0 6 1 pinnumber=5 T 400 2000 5 10 0 0 0 0 1 pinseq=5 } P 400 1600 700 1620 1 0 0 { T 400 1600 5 10 0 0 0 0 1 pintype=in T 755 1595 5 10 1 1 0 0 1 pinlabel=Test: y2 offgrid T 605 1645 5 10 1 1 0 6 1 pinnumber=6 T 400 1600 5 10 0 0 0 0 1 pinseq=6 } P 404 1204 700 1200 1 0 0 { T 400 1200 5 10 0 0 0 0 1 pintype=in T 755 1195 5 10 1 1 0 0 1 pinlabel=Test: x1, y1 offgrid T 605 1245 5 10 1 1 0 6 1 pinnumber=7 T 400 1200 5 10 0 0 0 0 1 pinseq=7 } P 400 800 706 806 1 0 0 { T 400 800 5 10 0 0 0 0 1 pintype=in T 755 795 5 10 1 1 0 0 1 pinlabel=Test: x2, y2 offgrid T 605 845 5 10 1 1 0 6 1 pinnumber=8 T 400 800 5 10 0 0 0 0 1 pinseq=8 } P 400 3204 700 3204 1 0 0 { T 400 3200 5 10 0 0 0 0 1 pintype=in T 755 3195 5 10 1 1 0 0 1 pinlabel=Test: pin y1,y2 offgrid, whichend 0 T 605 3245 5 10 1 1 0 6 1 pinnumber=9 T 400 3200 5 10 0 0 0 0 1 pinseq=9 } B 700 500 3100 3900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 700 4500 9 10 1 0 0 0 1 pin_ongrid test T 700 4700 9 10 1 0 0 0 1 refdes=X? T 700 4900 9 10 1 0 0 0 1 footprint=xx T 700 5100 9 10 1 0 0 0 1 device=xx T 700 5300 9 10 1 0 0 0 1 numslots=0 geda-gaf-1.8.2/gsymcheck/tests/nets.sym0000664000175000017500000000201512204177071014721 00000000000000v 20020527 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 7400 L 300 800 700 800 3 0 0 0 -1 -1 T 500 900 5 10 0 0 0 0 device=7400 T 1200 1100 5 10 0 0 0 0 footprint=unspecified T 500 1100 5 10 0 0 0 0 slot=1 T 500 1300 5 10 0 0 0 0 numslots=4 T 500 1500 5 10 0 0 0 0 slotdef=1:1,2,3 T 500 1700 5 10 0 0 0 0 slotdef=2:4,5,6 T 500 1900 5 10 0 0 0 0 slotdef=3:9,10,8 T 500 2100 5 10 0 0 0 0 slotdef=4:12,13,11 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 { T 1085 350 5 8 0 0 0 0 pinseq=3 T 1085 550 5 8 1 1 0 0 pinnumber=3 T 1085 350 5 8 0 0 0 0 pinlabel=C T 1085 350 5 8 0 0 0 0 pintype=out } P 300 300 0 300 1 { T 0 150 5 8 0 0 0 0 pinseq=2 T 100 350 5 8 1 1 0 0 pinnumber=2 T 0 150 5 8 0 0 0 0 pinlabel=B T 0 150 5 8 0 0 0 0 pintype=in } P 300 700 0 700 1 { T 0 550 5 8 0 0 0 0 pinseq=1 T 100 750 5 8 1 1 0 0 pinnumber=1 T 0 550 5 8 0 0 0 0 pinlabel=A T 0 550 5 8 0 0 0 0 pintype=in } T 300 900 8 10 1 1 0 0 refdes=U? N 800 1000 1100 1000 4 geda-gaf-1.8.2/gsymcheck/tests/graphical_incorrect.sym0000664000175000017500000000203212204177071017751 00000000000000v 20020527 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 7400 L 300 800 700 800 3 0 0 0 -1 -1 T 500 900 5 10 0 0 0 0 device=7400 T 1200 1100 5 10 0 0 0 0 footprint=unspecified T 500 1200 5 10 0 0 0 0 graphical=1 T 500 1100 5 10 0 0 0 0 slot=1 T 500 1300 5 10 0 0 0 0 numslots=4 T 500 1500 5 10 0 0 0 0 slotdef=1:1,2,3 T 500 1700 5 10 0 0 0 0 slotdef=2:4,5,6 T 500 1900 5 10 0 0 0 0 slotdef=3:9,10,8 T 500 2100 5 10 0 0 0 0 slotdef=4:12,13,11 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 { T 1085 350 5 8 0 0 0 0 pinseq=3 T 1085 550 5 8 1 1 0 0 pinnumber=3 T 1085 350 5 8 0 0 0 0 pinlabel=C T 1085 350 5 8 0 0 0 0 pintype=out } P 300 300 0 300 1 { T 0 150 5 8 0 0 0 0 pinseq=2 T 100 350 5 8 1 1 0 0 pinnumber=2 T 0 150 5 8 0 0 0 0 pinlabel=B T 0 150 5 8 0 0 0 0 pintype=in } P 300 700 0 700 1 { T 0 550 5 8 0 0 0 0 pinseq=1 T 100 750 5 8 1 1 0 0 pinnumber=1 T 0 550 5 8 0 0 0 0 pinlabel=A T 0 550 5 8 0 0 0 0 pintype=in } T 300 900 8 10 1 1 0 0 refdes=U? geda-gaf-1.8.2/gsymcheck/tests/nets.output0000664000175000017500000000006212204177071015451 00000000000000ERROR: Found a net inside a symbol 1 ERROR found geda-gaf-1.8.2/gsymcheck/tests/missing_pinnumber.output0000664000175000017500000000006312204177071020231 00000000000000ERROR: Missing pinnumber= attribute 1 ERROR found geda-gaf-1.8.2/gsymcheck/tests/pin_offgrid.output0000664000175000017500000000110712204177071016767 00000000000000Warning: Found offgrid pin at location (x1=701,y1=3600) Warning: Found offgrid pin at location (x2=710,y2=2000) Warning: Found offgrid pin at location (x2=700,y2=1620) Warning: Found offgrid pin at location (x2=706,y2=806) Warning: Found offgrid pin at location (x2=700,y2=3204) ERROR: Found offgrid pin at location (x2=401,y2=3600) ERROR: Found offgrid pin at location (x1=410,y1=2800) ERROR: Found offgrid pin at location (x1=400,y1=2420) ERROR: Found offgrid pin at location (x1=404,y1=1204) ERROR: Found offgrid pin at location (x1=400,y1=3204) 5 warnings found 5 ERRORS found geda-gaf-1.8.2/gsymcheck/tests/multiple_pinnumber.sym0000664000175000017500000000203112204177071017660 00000000000000v 20020527 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 7400 L 300 800 700 800 3 0 0 0 -1 -1 T 500 900 5 10 0 0 0 0 device=7400 T 1200 1100 5 10 0 0 0 0 footprint=unspecified T 500 1100 5 10 0 0 0 0 slot=1 T 500 1300 5 10 0 0 0 0 numslots=4 T 500 1500 5 10 0 0 0 0 slotdef=1:1,2,3 T 500 1700 5 10 0 0 0 0 slotdef=2:4,5,6 T 500 1900 5 10 0 0 0 0 slotdef=3:9,10,8 T 500 2100 5 10 0 0 0 0 slotdef=4:12,13,11 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 { T 1085 350 5 8 0 0 0 0 pinseq=3 T 1085 350 5 8 0 0 0 0 pinnumber=3 T 1085 550 5 8 1 1 0 0 pinnumber=3 T 1085 350 5 8 0 0 0 0 pinlabel=C T 1085 350 5 8 0 0 0 0 pintype=out } P 300 300 0 300 1 { T 0 150 5 8 0 0 0 0 pinseq=2 T 100 350 5 8 1 1 0 0 pinnumber=2 T 0 150 5 8 0 0 0 0 pinlabel=B T 0 150 5 8 0 0 0 0 pintype=in } P 300 700 0 700 1 { T 0 550 5 8 0 0 0 0 pinseq=1 T 100 750 5 8 1 1 0 0 pinnumber=1 T 0 550 5 8 0 0 0 0 pinlabel=A T 0 550 5 8 0 0 0 0 pintype=in } T 300 900 8 10 1 1 0 0 refdes=U? geda-gaf-1.8.2/gsymcheck/tests/noslots.output0000664000175000017500000000014312220647257016207 00000000000000Warning: Did not find numslots= attribute, not checking slotting 1 warnings found No errors found geda-gaf-1.8.2/gsymcheck/tests/oldpins.output0000664000175000017500000000100212204177071016143 00000000000000Warning: Found unknown pin3= attribute: [pin3=3] Warning: Found unknown pin2= attribute: [pin2=2] Warning: Found unknown pin1= attribute: [pin1=1] ERROR: Missing pinseq= attribute ERROR: Missing pinseq= attribute ERROR: Missing pinseq= attribute ERROR: Missing pinnumber= attribute ERROR: Missing pinnumber= attribute ERROR: Missing pinnumber= attribute ERROR: Found old pin#=# attribute: pin3=3 ERROR: Found old pin#=# attribute: pin2=2 ERROR: Found old pin#=# attribute: pin1=1 3 warnings found 9 ERRORS found geda-gaf-1.8.2/gsymcheck/tests/many_slotdefs.sym0000664000175000017500000000211412204177071016617 00000000000000v 20020527 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 7400 L 300 800 700 800 3 0 0 0 -1 -1 T 500 900 5 10 0 0 0 0 device=7400 T 1200 1100 5 10 0 0 0 0 footprint=unspecified T 500 1100 5 10 0 0 0 0 slot=1 T 500 1300 5 10 0 0 0 0 numslots=4 T 500 1500 5 10 0 0 0 0 slotdef=1:1,2,3 T 500 1700 5 10 0 0 0 0 slotdef=2:4,5,6 T 500 1900 5 10 0 0 0 0 slotdef=3:9,10,8 T 500 2100 5 10 0 0 0 0 slotdef=4:12,13,11 T 500 2300 5 10 0 0 0 0 slotdef=5:12,13,11 T 500 2500 5 10 0 0 0 0 slotdef=6:12,13,11 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 { T 1085 350 5 8 0 0 0 0 pinseq=3 T 1085 550 5 8 1 1 0 0 pinnumber=3 T 1085 350 5 8 0 0 0 0 pinlabel=C T 1085 350 5 8 0 0 0 0 pintype=out } P 300 300 0 300 1 { T 0 150 5 8 0 0 0 0 pinseq=2 T 100 350 5 8 1 1 0 0 pinnumber=2 T 0 150 5 8 0 0 0 0 pinlabel=B T 0 150 5 8 0 0 0 0 pintype=in } P 300 700 0 700 1 { T 0 550 5 8 0 0 0 0 pinseq=1 T 100 750 5 8 1 1 0 0 pinnumber=1 T 0 550 5 8 0 0 0 0 pinlabel=A T 0 550 5 8 0 0 0 0 pintype=in } T 300 900 8 10 1 1 0 0 refdes=U? geda-gaf-1.8.2/gsymcheck/tests/graphical_correct.output0000664000175000017500000000002012204177071020145 00000000000000No errors found geda-gaf-1.8.2/gsymcheck/tests/typeinside.output0000664000175000017500000000013112204177071016652 00000000000000ERROR: Found forbidden type= attribute: [type=this a forbidden attribute] 1 ERROR found geda-gaf-1.8.2/gsymcheck/tests/duplicate_pinnumber.output0000664000175000017500000000011212204177071020525 00000000000000ERROR: Found duplicate pinnumber=2 attribute in the symbol 1 ERROR found geda-gaf-1.8.2/gsymcheck/tests/zero_pinnumber.output0000664000175000017500000000006212204177071017536 00000000000000ERROR: Found pinnumber=0 attribute 1 ERROR found geda-gaf-1.8.2/gsymcheck/docs/0000775000175000017500000000000012220655755013076 500000000000000geda-gaf-1.8.2/gsymcheck/docs/Makefile.am0000664000175000017500000000175712220647257015062 00000000000000 EXTRA_DIST = $(html_man_files) gsymcheck.dox logo.png \ gsymcheck-main.txt what-is-geda.html what-is-gsymcheck.html dist_man_MANS = gsymcheck.1 # Rules for converting man->html html_man_files = gsymcheck.html SUFFIXES = .1 .html docsmandir=$(docdir)/man docsman_DATA=$(html_man_files) if ENABLE_GROFF_HTML .1.html: rm -rf $@.tmp && \ LC_NUMERIC=C $(GROFF) -man -T html $< >$@.tmp && \ mv -f $@.tmp $@ else .1.html: @echo "No working groff available: cannot create $@" @! : endif doxygen: gsymcheck.dox @echo 'Creating doxygen documentation for gsymcheck...' if ENABLE_DOXYGEN $(DOXYGEN) gsymcheck.dox else @echo 'configure was not run with the --enable-doxygen switch.' @echo 'The documentation cannot be built from the sources.' endif MOSTLYCLEANFILES = *.log *~ CLEANFILES = *.log *~ gsymcheck.html DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log *~ Makefile.in $(html_man_files) distclean-local: -rm -rf html latex maintainer-clean-local: -rm -rf html latex geda-gaf-1.8.2/gsymcheck/docs/gsymcheck.dox0000664000175000017500000014277212204177071015514 00000000000000# Doxyfile 1.4.6 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project # # All text after a hash (#) is considered a comment and will be ignored # The format is: # TAG = value [value, ...] # For lists items can also be appended using: # TAG += value [value, ...] # Values that contain spaces should be placed between quotes (" ") #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- # The PROJECT_NAME tag is a single word (or a sequence of words surrounded # by quotes) that should identify the project. PROJECT_NAME = gsymcheck # The PROJECT_NUMBER tag can be used to enter a project or revision number. # This could be handy for archiving the generated documentation or # if some version control system is used. PROJECT_NUMBER = # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. # If a relative path is entered, it will be relative to the location # where doxygen was started. If left blank the current directory will be used. OUTPUT_DIRECTORY = # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create # 4096 sub-directories (in 2 levels) under the output directory of each output # format and will distribute the generated files over these directories. # Enabling this option can be useful when feeding doxygen a huge amount of # source files, where putting all generated files in the same directory would # otherwise cause performance problems for the file system. CREATE_SUBDIRS = NO # The OUTPUT_LANGUAGE tag is used to specify the language in which all # documentation generated by doxygen is written. Doxygen will use this # information to generate all constant output in the proper language. # The default language is English, other supported languages are: # Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, # Dutch, Finnish, French, German, Greek, Hungarian, Italian, Japanese, # Japanese-en (Japanese with English messages), Korean, Korean-en, Norwegian, # Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish, # Swedish, and Ukrainian. OUTPUT_LANGUAGE = English # This tag can be used to specify the encoding used in the generated output. # The encoding is not always determined by the language that is chosen, # but also whether or not the output is meant for Windows or non-Windows users. # In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES # forces the Windows encoding (this is the default for the Windows binary), # whereas setting the tag to NO uses a Unix-style encoding (the default for # all platforms other than Windows). USE_WINDOWS_ENCODING = YES # If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will # include brief member descriptions after the members that are listed in # the file and class documentation (similar to JavaDoc). # Set to NO to disable this. BRIEF_MEMBER_DESC = YES # If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend # the brief description of a member or function before the detailed description. # Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the # brief descriptions will be completely suppressed. REPEAT_BRIEF = NO # This tag implements a quasi-intelligent brief description abbreviator # that is used to form the text in various listings. Each string # in this list, if found as the leading text of the brief description, will be # stripped from the text and the result after processing the whole list, is # used as the annotated text. Otherwise, the brief description is used as-is. # If left blank, the following values are used ("$name" is automatically # replaced with the name of the entity): "The $name class" "The $name widget" # "The $name file" "is" "provides" "specifies" "contains" # "represents" "a" "an" "the" ABBREVIATE_BRIEF = # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then # Doxygen will generate a detailed section even if there is only a brief # description. ALWAYS_DETAILED_SEC = YES # If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all # inherited members of a class in the documentation of that class as if those # members were ordinary class members. Constructors, destructors and assignment # operators of the base classes will not be shown. INLINE_INHERITED_MEMB = NO # If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full # path before files name in the file list and in the header files. If set # to NO the shortest path that makes the file name unique will be used. FULL_PATH_NAMES = NO # If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag # can be used to strip a user-defined part of the path. Stripping is # only done if one of the specified strings matches the left-hand part of # the path. The tag can be used to show relative paths in the file list. # If left blank the directory from which doxygen is run is used as the # path to strip. STRIP_FROM_PATH = # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of # the path mentioned in the documentation of a class, which tells # the reader which header file to include in order to use a class. # If left blank only the name of the header file containing the class # definition is used. Otherwise one should specify the include paths that # are normally passed to the compiler using the -I flag. STRIP_FROM_INC_PATH = # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter # (but less readable) file names. This can be useful is your file systems # doesn't support long names like on DOS, Mac, or CD-ROM. SHORT_NAMES = NO # If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen # will interpret the first line (until the first dot) of a JavaDoc-style # comment as the brief description. If set to NO, the JavaDoc # comments will behave just like the Qt-style comments (thus requiring an # explicit @brief command for a brief description. JAVADOC_AUTOBRIEF = NO # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen # treat a multi-line C++ special comment block (i.e. a block of //! or /// # comments) as a brief description. This used to be the default behaviour. # The new default is to treat a multi-line C++ comment block as a detailed # description. Set this tag to YES if you prefer the old behaviour instead. MULTILINE_CPP_IS_BRIEF = NO # If the DETAILS_AT_TOP tag is set to YES then Doxygen # will output the detailed description near the top, like JavaDoc. # If set to NO, the detailed description appears after the member # documentation. DETAILS_AT_TOP = NO # If the INHERIT_DOCS tag is set to YES (the default) then an undocumented # member inherits the documentation from any documented member that it # re-implements. INHERIT_DOCS = YES # If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce # a new page for each member. If set to NO, the documentation of a member will # be part of the file/class/namespace that contains it. SEPARATE_MEMBER_PAGES = NO # The TAB_SIZE tag can be used to set the number of spaces in a tab. # Doxygen uses this value to replace tabs by spaces in code fragments. TAB_SIZE = 4 # This tag can be used to specify a number of aliases that acts # as commands in the documentation. An alias has the form "name=value". # For example adding "sideeffect=\par Side Effects:\n" will allow you to # put the command \sideeffect (or @sideeffect) in the documentation, which # will result in a user-defined paragraph with heading "Side Effects:". # You can put \n's in the value part of an alias to insert newlines. ALIASES = # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C # sources only. Doxygen will then generate output that is more tailored for C. # For instance, some of the names that are used will be different. The list # of all members will be omitted, etc. OPTIMIZE_OUTPUT_FOR_C = YES # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java # sources only. Doxygen will then generate output that is more tailored for Java. # For instance, namespaces will be presented as packages, qualified scopes # will look different, etc. OPTIMIZE_OUTPUT_JAVA = NO # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want to # include (a tag file for) the STL sources as input, then you should # set this tag to YES in order to let doxygen match functions declarations and # definitions whose arguments contain STL classes (e.g. func(std::string); v.s. # func(std::string) {}). This also make the inheritance and collaboration # diagrams that involve STL classes more complete and accurate. BUILTIN_STL_SUPPORT = NO # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC # tag is set to YES, then doxygen will reuse the documentation of the first # member in the group (if any) for the other members of the group. By default # all members of a group must be documented explicitly. DISTRIBUTE_GROUP_DOC = NO # Set the SUBGROUPING tag to YES (the default) to allow class member groups of # the same type (for instance a group of public functions) to be put as a # subgroup of that type (e.g. under the Public Functions section). Set it to # NO to prevent subgrouping. Alternatively, this can be done per class using # the \nosubgrouping command. SUBGROUPING = YES #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in # documentation are documented, even if no documentation was available. # Private class members and static file members will be hidden unless # the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES EXTRACT_ALL = YES # If the EXTRACT_PRIVATE tag is set to YES all private members of a class # will be included in the documentation. EXTRACT_PRIVATE = YES # If the EXTRACT_STATIC tag is set to YES all static members of a file # will be included in the documentation. EXTRACT_STATIC = YES # If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) # defined locally in source files will be included in the documentation. # If set to NO only classes defined in header files are included. EXTRACT_LOCAL_CLASSES = YES # This flag is only useful for Objective-C code. When set to YES local # methods, which are defined in the implementation section but not in # the interface are included in the documentation. # If set to NO (the default) only methods in the interface are included. EXTRACT_LOCAL_METHODS = YES # If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all # undocumented members of documented classes, files or namespaces. # If set to NO (the default) these members will be included in the # various overviews, but no documentation section is generated. # This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_MEMBERS = NO # If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all # undocumented classes that are normally visible in the class hierarchy. # If set to NO (the default) these classes will be included in the various # overviews. This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_CLASSES = NO # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all # friend (class|struct|union) declarations. # If set to NO (the default) these declarations will be included in the # documentation. HIDE_FRIEND_COMPOUNDS = NO # If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any # documentation blocks found inside the body of a function. # If set to NO (the default) these blocks will be appended to the # function's detailed documentation block. HIDE_IN_BODY_DOCS = NO # The INTERNAL_DOCS tag determines if documentation # that is typed after a \internal command is included. If the tag is set # to NO (the default) then the documentation will be excluded. # Set it to YES to include the internal documentation. INTERNAL_DOCS = NO # If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate # file names in lower-case letters. If set to YES upper-case letters are also # allowed. This is useful if you have classes or files whose names only differ # in case and if your file system supports case sensitive file names. Windows # and Mac users are advised to set this option to NO. CASE_SENSE_NAMES = YES # If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen # will show members with their full class and namespace scopes in the # documentation. If set to YES the scope will be hidden. HIDE_SCOPE_NAMES = NO # If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen # will put a list of the files that are included by a file in the documentation # of that file. SHOW_INCLUDE_FILES = YES # If the INLINE_INFO tag is set to YES (the default) then a tag [inline] # is inserted in the documentation for inline members. INLINE_INFO = YES # If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen # will sort the (detailed) documentation of file and class members # alphabetically by member name. If set to NO the members will appear in # declaration order. SORT_MEMBER_DOCS = NO # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the # brief documentation of file, namespace and class members alphabetically # by member name. If set to NO (the default) the members will appear in # declaration order. SORT_BRIEF_DOCS = NO # If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be # sorted by fully-qualified names, including namespaces. If set to # NO (the default), the class list will be sorted only by class name, # not including the namespace part. # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. # Note: This option applies only to the class list, not to the # alphabetical list. SORT_BY_SCOPE_NAME = NO # The GENERATE_TODOLIST tag can be used to enable (YES) or # disable (NO) the todo list. This list is created by putting \todo # commands in the documentation. GENERATE_TODOLIST = YES # The GENERATE_TESTLIST tag can be used to enable (YES) or # disable (NO) the test list. This list is created by putting \test # commands in the documentation. GENERATE_TESTLIST = YES # The GENERATE_BUGLIST tag can be used to enable (YES) or # disable (NO) the bug list. This list is created by putting \bug # commands in the documentation. GENERATE_BUGLIST = YES # The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or # disable (NO) the deprecated list. This list is created by putting # \deprecated commands in the documentation. GENERATE_DEPRECATEDLIST= YES # The ENABLED_SECTIONS tag can be used to enable conditional # documentation sections, marked by \if sectionname ... \endif. ENABLED_SECTIONS = # The MAX_INITIALIZER_LINES tag determines the maximum number of lines # the initial value of a variable or define consists of for it to appear in # the documentation. If the initializer consists of more lines than specified # here it will be hidden. Use a value of 0 to hide initializers completely. # The appearance of the initializer of individual variables and defines in the # documentation can be controlled using \showinitializer or \hideinitializer # command in the documentation regardless of this setting. MAX_INITIALIZER_LINES = 30 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated # at the bottom of the documentation of classes and structs. If set to YES the # list will mention the files that were used to generate the documentation. SHOW_USED_FILES = YES # If the sources in your project are distributed over multiple directories # then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy # in the documentation. The default is NO. SHOW_DIRECTORIES = YES # The FILE_VERSION_FILTER tag can be used to specify a program or script that # doxygen should invoke to get the current version for each file (typically from the # version control system). Doxygen will invoke the program by executing (via # popen()) the command , where is the value of # the FILE_VERSION_FILTER tag, and is the name of an input file # provided by doxygen. Whatever the program writes to standard output # is used as the file version. See the manual for examples. FILE_VERSION_FILTER = #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- # The QUIET tag can be used to turn on/off the messages that are generated # by doxygen. Possible values are YES and NO. If left blank NO is used. QUIET = NO # The WARNINGS tag can be used to turn on/off the warning messages that are # generated by doxygen. Possible values are YES and NO. If left blank # NO is used. WARNINGS = YES # If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings # for undocumented members. If EXTRACT_ALL is set to YES then this flag will # automatically be disabled. WARN_IF_UNDOCUMENTED = YES # If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for # potential errors in the documentation, such as not documenting some # parameters in a documented function, or documenting parameters that # don't exist or using markup commands wrongly. WARN_IF_DOC_ERROR = YES # This WARN_NO_PARAMDOC option can be abled to get warnings for # functions that are documented, but have no documentation for their parameters # or return value. If set to NO (the default) doxygen will only warn about # wrong or incomplete parameter documentation, but not about the absence of # documentation. WARN_NO_PARAMDOC = NO # The WARN_FORMAT tag determines the format of the warning messages that # doxygen can produce. The string should contain the $file, $line, and $text # tags, which will be replaced by the file and line number from which the # warning originated and the warning text. Optionally the format may contain # $version, which will be replaced by the version of the file (if it could # be obtained via FILE_VERSION_FILTER) WARN_FORMAT = "$file:$line: $text" # The WARN_LOGFILE tag can be used to specify a file to which warning # and error messages should be written. If left blank the output is written # to stderr. WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- # The INPUT tag can be used to specify the files and/or directories that contain # documented source files. You may enter file names like "myfile.cpp" or # directories like "/usr/src/myproject". Separate the files or directories # with spaces. INPUT = ../src ../include ../docs/gsymcheck-main.txt # If the value of the INPUT tag contains directories, you can use the # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank the following patterns are tested: # *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx # *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py FILE_PATTERNS = *.c *.h # The RECURSIVE tag can be used to turn specify whether or not subdirectories # should be searched for input files as well. Possible values are YES and NO. # If left blank NO is used. RECURSIVE = YES # The EXCLUDE tag can be used to specify files and/or directories that should # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. EXCLUDE = # The EXCLUDE_SYMLINKS tag can be used select whether or not files or # directories that are symbolic links (a Unix filesystem feature) are excluded # from the input. EXCLUDE_SYMLINKS = NO # If the value of the INPUT tag contains directories, you can use the # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude # certain files from those directories. Note that the wildcards are matched # against the file with absolute path, so to exclude all test directories # for example use the pattern */test/* EXCLUDE_PATTERNS = # The EXAMPLE_PATH tag can be used to specify one or more files or # directories that contain example code fragments that are included (see # the \include command). EXAMPLE_PATH = ../docs # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank all files are included. EXAMPLE_PATTERNS = # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be # searched for input files to be used with the \include or \dontinclude # commands irrespective of the value of the RECURSIVE tag. # Possible values are YES and NO. If left blank NO is used. EXAMPLE_RECURSIVE = NO # The IMAGE_PATH tag can be used to specify one or more files or # directories that contain image that are included in the documentation (see # the \image command). IMAGE_PATH = ../docs # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program # by executing (via popen()) the command , where # is the value of the INPUT_FILTER tag, and is the name of an # input file. Doxygen will then use the output that the filter program writes # to standard output. If FILTER_PATTERNS is specified, this tag will be # ignored. INPUT_FILTER = # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern # basis. Doxygen will compare the file name with each pattern and apply the # filter if there is a match. The filters are a list of the form: # pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further # info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER # is applied to all files. FILTER_PATTERNS = # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using # INPUT_FILTER) will be used to filter the input files when producing source # files to browse (i.e. when SOURCE_BROWSER is set to YES). FILTER_SOURCE_FILES = NO #--------------------------------------------------------------------------- # configuration options related to source browsing #--------------------------------------------------------------------------- # If the SOURCE_BROWSER tag is set to YES then a list of source files will # be generated. Documented entities will be cross-referenced with these sources. # Note: To get rid of all source code in the generated output, make sure also # VERBATIM_HEADERS is set to NO. SOURCE_BROWSER = YES # Setting the INLINE_SOURCES tag to YES will include the body # of functions and classes directly in the documentation. INLINE_SOURCES = NO # Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct # doxygen to hide any special comment blocks from generated source code # fragments. Normal C and C++ comments will always remain visible. STRIP_CODE_COMMENTS = YES # If the REFERENCED_BY_RELATION tag is set to YES (the default) # then for each documented function all documented # functions referencing it will be listed. REFERENCED_BY_RELATION = NO # If the REFERENCES_RELATION tag is set to YES (the default) # then for each documented function all documented entities # called/used by that function will be listed. REFERENCES_RELATION = NO # If the USE_HTAGS tag is set to YES then the references to source code # will point to the HTML generated by the htags(1) tool instead of doxygen # built-in source browser. The htags tool is part of GNU's global source # tagging system (see http://www.gnu.org/software/global/global.html). You # will need version 4.8.6 or higher. USE_HTAGS = NO # If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen # will generate a verbatim copy of the header file for each class for # which an include is specified. Set to NO to disable this. VERBATIM_HEADERS = YES #--------------------------------------------------------------------------- # configuration options related to the alphabetical class index #--------------------------------------------------------------------------- # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index # of all compounds will be generated. Enable this if the project # contains a lot of classes, structs, unions or interfaces. ALPHABETICAL_INDEX = YES # If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then # the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns # in which this list will be split (can be a number in the range [1..20]) COLS_IN_ALPHA_INDEX = 5 # In case all classes in a project start with a common prefix, all # classes will be put under the same header in the alphabetical index. # The IGNORE_PREFIX tag can be used to specify one or more prefixes that # should be ignored while generating the index headers. IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- # If the GENERATE_HTML tag is set to YES (the default) Doxygen will # generate HTML output. GENERATE_HTML = YES # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `html' will be used as the default path. HTML_OUTPUT = html # The HTML_FILE_EXTENSION tag can be used to specify the file extension for # each generated HTML page (for example: .htm,.php,.asp). If it is left blank # doxygen will generate files with .html extension. HTML_FILE_EXTENSION = .html # The HTML_HEADER tag can be used to specify a personal HTML header for # each generated HTML page. If it is left blank doxygen will generate a # standard header. HTML_HEADER = # The HTML_FOOTER tag can be used to specify a personal HTML footer for # each generated HTML page. If it is left blank doxygen will generate a # standard footer. HTML_FOOTER = # The HTML_STYLESHEET tag can be used to specify a user-defined cascading # style sheet that is used by each HTML page. It can be used to # fine-tune the look of the HTML output. If the tag is left blank doxygen # will generate a default style sheet. Note that doxygen will try to copy # the style sheet file to the HTML output directory, so don't put your own # stylesheet in the HTML output directory as well, or it will be erased! HTML_STYLESHEET = # If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, # files or namespaces will be aligned in HTML using tables. If set to # NO a bullet list will be used. HTML_ALIGN_MEMBERS = YES # If the GENERATE_HTMLHELP tag is set to YES, additional index files # will be generated that can be used as input for tools like the # Microsoft HTML help workshop to generate a compressed HTML help file (.chm) # of the generated HTML documentation. GENERATE_HTMLHELP = NO # If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can # be used to specify the file name of the resulting .chm file. You # can add a path in front of the file if the result should not be # written to the html output directory. CHM_FILE = # If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can # be used to specify the location (absolute path including file name) of # the HTML help compiler (hhc.exe). If non-empty doxygen will try to run # the HTML help compiler on the generated index.hhp. HHC_LOCATION = # If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag # controls if a separate .chi index file is generated (YES) or that # it should be included in the master .chm file (NO). GENERATE_CHI = NO # If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag # controls whether a binary table of contents is generated (YES) or a # normal table of contents (NO) in the .chm file. BINARY_TOC = NO # The TOC_EXPAND flag can be set to YES to add extra items for group members # to the contents of the HTML help documentation and to the tree view. TOC_EXPAND = NO # The DISABLE_INDEX tag can be used to turn on/off the condensed index at # top of each HTML page. The value NO (the default) enables the index and # the value YES disables it. DISABLE_INDEX = NO # This tag can be used to set the number of enum values (range [1..20]) # that doxygen will group on one line in the generated HTML documentation. ENUM_VALUES_PER_LINE = 4 # If the GENERATE_TREEVIEW tag is set to YES, a side panel will be # generated containing a tree-like index structure (just like the one that # is generated for HTML Help). For this to work a browser that supports # JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, # Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are # probably better off using the HTML help feature. GENERATE_TREEVIEW = YES # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be # used to set the initial width (in pixels) of the frame in which the tree # is shown. TREEVIEW_WIDTH = 250 #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will # generate Latex output. GENERATE_LATEX = YES # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `latex' will be used as the default path. LATEX_OUTPUT = latex # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be # invoked. If left blank `latex' will be used as the default command name. LATEX_CMD_NAME = latex # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to # generate index for LaTeX. If left blank `makeindex' will be used as the # default command name. MAKEINDEX_CMD_NAME = makeindex # If the COMPACT_LATEX tag is set to YES Doxygen generates more compact # LaTeX documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_LATEX = NO # The PAPER_TYPE tag can be used to set the paper type that is used # by the printer. Possible values are: a4, a4wide, letter, legal and # executive. If left blank a4wide will be used. PAPER_TYPE = a4wide # The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX # packages that should be included in the LaTeX output. EXTRA_PACKAGES = # The LATEX_HEADER tag can be used to specify a personal LaTeX header for # the generated latex document. The header should contain everything until # the first chapter. If it is left blank doxygen will generate a # standard header. Notice: only use this tag if you know what you are doing! LATEX_HEADER = # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated # is prepared for conversion to pdf (using ps2pdf). The pdf file will # contain links (just like the HTML output) instead of page references # This makes the output suitable for online browsing using a pdf viewer. PDF_HYPERLINKS = YES # If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of # plain latex in the generated Makefile. Set this option to YES to get a # higher quality PDF documentation. USE_PDFLATEX = YES # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. # command to the generated LaTeX files. This will instruct LaTeX to keep # running if errors occur, instead of asking the user for help. # This option is also used when generating formulas in HTML. LATEX_BATCHMODE = NO # If LATEX_HIDE_INDICES is set to YES then doxygen will not # include the index chapters (such as File Index, Compound Index, etc.) # in the output. LATEX_HIDE_INDICES = NO #--------------------------------------------------------------------------- # configuration options related to the RTF output #--------------------------------------------------------------------------- # If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output # The RTF output is optimized for Word 97 and may not look very pretty with # other RTF readers or editors. GENERATE_RTF = NO # The RTF_OUTPUT tag is used to specify where the RTF docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `rtf' will be used as the default path. RTF_OUTPUT = rtf # If the COMPACT_RTF tag is set to YES Doxygen generates more compact # RTF documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_RTF = NO # If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated # will contain hyperlink fields. The RTF file will # contain links (just like the HTML output) instead of page references. # This makes the output suitable for online browsing using WORD or other # programs which support those fields. # Note: wordpad (write) and others do not support links. RTF_HYPERLINKS = NO # Load stylesheet definitions from file. Syntax is similar to doxygen's # config file, i.e. a series of assignments. You only have to provide # replacements, missing definitions are set to their default value. RTF_STYLESHEET_FILE = # Set optional variables used in the generation of an rtf document. # Syntax is similar to doxygen's config file. RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- # If the GENERATE_MAN tag is set to YES (the default) Doxygen will # generate man pages GENERATE_MAN = NO # The MAN_OUTPUT tag is used to specify where the man pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `man' will be used as the default path. MAN_OUTPUT = man # The MAN_EXTENSION tag determines the extension that is added to # the generated man pages (default is the subroutine's section .3) MAN_EXTENSION = .3 # If the MAN_LINKS tag is set to YES and Doxygen generates man output, # then it will generate one additional man file for each entity # documented in the real man page(s). These additional files # only source the real man page, but without them the man command # would be unable to find the correct page. The default is NO. MAN_LINKS = NO #--------------------------------------------------------------------------- # configuration options related to the XML output #--------------------------------------------------------------------------- # If the GENERATE_XML tag is set to YES Doxygen will # generate an XML file that captures the structure of # the code including all documentation. GENERATE_XML = NO # The XML_OUTPUT tag is used to specify where the XML pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `xml' will be used as the default path. XML_OUTPUT = xml # The XML_SCHEMA tag can be used to specify an XML schema, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_SCHEMA = # The XML_DTD tag can be used to specify an XML DTD, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_DTD = # If the XML_PROGRAMLISTING tag is set to YES Doxygen will # dump the program listings (including syntax highlighting # and cross-referencing information) to the XML output. Note that # enabling this will significantly increase the size of the XML output. XML_PROGRAMLISTING = YES #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- # If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will # generate an AutoGen Definitions (see autogen.sf.net) file # that captures the structure of the code including all # documentation. Note that this feature is still experimental # and incomplete at the moment. GENERATE_AUTOGEN_DEF = NO #--------------------------------------------------------------------------- # configuration options related to the Perl module output #--------------------------------------------------------------------------- # If the GENERATE_PERLMOD tag is set to YES Doxygen will # generate a Perl module file that captures the structure of # the code including all documentation. Note that this # feature is still experimental and incomplete at the # moment. GENERATE_PERLMOD = NO # If the PERLMOD_LATEX tag is set to YES Doxygen will generate # the necessary Makefile rules, Perl scripts and LaTeX code to be able # to generate PDF and DVI output from the Perl module output. PERLMOD_LATEX = NO # If the PERLMOD_PRETTY tag is set to YES the Perl module output will be # nicely formatted so it can be parsed by a human reader. This is useful # if you want to understand what is going on. On the other hand, if this # tag is set to NO the size of the Perl module output will be much smaller # and Perl will parse it just the same. PERLMOD_PRETTY = YES # The names of the make variables in the generated doxyrules.make file # are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. # This is useful so different doxyrules.make files included by the same # Makefile don't overwrite each other's variables. PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the preprocessor #--------------------------------------------------------------------------- # If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will # evaluate all C-preprocessor directives found in the sources and include # files. ENABLE_PREPROCESSING = YES # If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro # names in the source code. If set to NO (the default) only conditional # compilation will be performed. Macro expansion can be done in a controlled # way by setting EXPAND_ONLY_PREDEF to YES. MACRO_EXPANSION = YES # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES # then the macro expansion is limited to the macros specified with the # PREDEFINED and EXPAND_AS_DEFINED tags. EXPAND_ONLY_PREDEF = NO # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files # in the INCLUDE_PATH (see below) will be search if a #include is found. SEARCH_INCLUDES = YES # The INCLUDE_PATH tag can be used to specify one or more directories that # contain include files that are not input files but should be processed by # the preprocessor. INCLUDE_PATH = /usr/include # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard # patterns (like *.h and *.hpp) to filter out the header-files in the # directories. If left blank, the patterns specified with FILE_PATTERNS will # be used. INCLUDE_FILE_PATTERNS = # The PREDEFINED tag can be used to specify one or more macro names that # are defined before the preprocessor is started (similar to the -D option of # gcc). The argument of the tag is a list of macros of the form: name # or name=definition (no spaces). If the definition and the = are # omitted =1 is assumed. To prevent a macro definition from being # undefined via #undef or recursively expanded use the := operator # instead of the = operator. PREDEFINED = # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then # this tag can be used to specify a list of macro names that should be expanded. # The macro definition that is found in the sources will be used. # Use the PREDEFINED tag if you want to use a different macro definition. EXPAND_AS_DEFINED = # If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then # doxygen's preprocessor will remove all function-like macros that are alone # on a line, have an all uppercase name, and do not end with a semicolon. Such # function macros are typically used for boiler-plate code, and will confuse # the parser if not removed. SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- # Configuration::additions related to external references #--------------------------------------------------------------------------- # The TAGFILES option can be used to specify one or more tagfiles. # Optionally an initial location of the external documentation # can be added for each tagfile. The format of a tag file without # this location is as follows: # TAGFILES = file1 file2 ... # Adding location for the tag files is done as follows: # TAGFILES = file1=loc1 "file2 = loc2" ... # where "loc1" and "loc2" can be relative or absolute paths or # URLs. If a location is present for each tag, the installdox tool # does not have to be run to correct the links. # Note that each tag file must have a unique name # (where the name does NOT include the path) # If a tag file is not located in the directory in which doxygen # is run, you must also specify the path to the tagfile here. TAGFILES = # When a file name is specified after GENERATE_TAGFILE, doxygen will create # a tag file that is based on the input files it reads. GENERATE_TAGFILE = # If the ALLEXTERNALS tag is set to YES all external classes will be listed # in the class index. If set to NO only the inherited external classes # will be listed. ALLEXTERNALS = NO # If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed # in the modules index. If set to NO, only the current project's groups will # be listed. EXTERNAL_GROUPS = YES # The PERL_PATH should be the absolute path and name of the perl script # interpreter (i.e. the result of `which perl'). PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- # Configuration options related to the dot tool #--------------------------------------------------------------------------- # If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will # generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base # or super classes. Setting the tag to NO turns the diagrams off. Note that # this option is superseded by the HAVE_DOT option below. This is only a # fallback. It is recommended to install and use dot, since it yields more # powerful graphs. CLASS_DIAGRAMS = YES # If set to YES, the inheritance and collaboration graphs will hide # inheritance and usage relations if the target is undocumented # or is not a class. HIDE_UNDOC_RELATIONS = YES # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is # available from the path. This tool is part of Graphviz, a graph visualization # toolkit from AT&T and Lucent Bell Labs. The other options in this section # have no effect if this option is set to NO (the default) HAVE_DOT = YES # If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect inheritance relations. Setting this tag to YES will force the # the CLASS_DIAGRAMS tag to NO. CLASS_GRAPH = YES # If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect implementation dependencies (inheritance, containment, and # class references variables) of the class with other documented classes. COLLABORATION_GRAPH = YES # If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen # will generate a graph for groups, showing the direct groups dependencies GROUP_GRAPHS = YES # If the UML_LOOK tag is set to YES doxygen will generate inheritance and # collaboration diagrams in a style similar to the OMG's Unified Modeling # Language. UML_LOOK = YES # If set to YES, the inheritance and collaboration graphs will show the # relations between templates and their instances. TEMPLATE_RELATIONS = NO # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT # tags are set to YES then doxygen will generate a graph for each documented # file showing the direct and indirect include dependencies of the file with # other documented files. INCLUDE_GRAPH = YES # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and # HAVE_DOT tags are set to YES then doxygen will generate a graph for each # documented header file showing the documented files that directly or # indirectly include this file. INCLUDED_BY_GRAPH = YES # If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will # generate a call dependency graph for every global function or class method. # Note that enabling this option will significantly increase the time of a run. # So in most cases it will be better to enable call graphs for selected # functions only using the \callgraph command. CALL_GRAPH = YES # If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen # will graphical hierarchy of all classes instead of a textual one. GRAPHICAL_HIERARCHY = YES # If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES # then doxygen will show the dependencies a directory has on other directories # in a graphical way. The dependency relations are determined by the #include # relations between the files in the directories. DIRECTORY_GRAPH = YES # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images # generated by dot. Possible values are png, jpg, or gif # If left blank png will be used. DOT_IMAGE_FORMAT = png # The tag DOT_PATH can be used to specify the path where the dot tool can be # found. If left blank, it is assumed the dot tool can be found in the path. DOT_PATH = # The DOTFILE_DIRS tag can be used to specify one or more directories that # contain dot files that are included in the documentation (see the # \dotfile command). DOTFILE_DIRS = # The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width # (in pixels) of the graphs generated by dot. If a graph becomes larger than # this value, doxygen will try to truncate the graph, so that it fits within # the specified constraint. Beware that most browsers cannot cope with very # large images. MAX_DOT_GRAPH_WIDTH = 1024 # The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height # (in pixels) of the graphs generated by dot. If a graph becomes larger than # this value, doxygen will try to truncate the graph, so that it fits within # the specified constraint. Beware that most browsers cannot cope with very # large images. MAX_DOT_GRAPH_HEIGHT = 1024 # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the # graphs generated by dot. A depth value of 3 means that only nodes reachable # from the root by following a path via at most 3 edges will be shown. Nodes # that lay further from the root node will be omitted. Note that setting this # option to 1 or 2 may greatly reduce the computation time needed for large # code bases. Also note that a graph may be further truncated if the graph's # image dimensions are not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH # and MAX_DOT_GRAPH_HEIGHT). If 0 is used for the depth value (the default), # the graph is not depth-constrained. MAX_DOT_GRAPH_DEPTH = 0 # Set the DOT_TRANSPARENT tag to YES to generate images with a transparent # background. This is disabled by default, which results in a white background. # Warning: Depending on the platform used, enabling this option may lead to # badly anti-aliased labels on the edges of a graph (i.e. they become hard to # read). DOT_TRANSPARENT = YES # Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output # files in one run (i.e. multiple -o and -T options on the command line). This # makes dot run faster, but since only newer versions of dot (>1.8.10) # support this, this feature is disabled by default. DOT_MULTI_TARGETS = NO # If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will # generate a legend page explaining the meaning of the various boxes and # arrows in the dot generated graphs. GENERATE_LEGEND = YES # If the DOT_CLEANUP tag is set to YES (the default) Doxygen will # remove the intermediate dot files that are used to generate # the various graphs. DOT_CLEANUP = YES #--------------------------------------------------------------------------- # Configuration::additions related to the search engine #--------------------------------------------------------------------------- # The SEARCHENGINE tag specifies whether or not a search engine should be # used. If set to NO the values of all tags below this one will be ignored. SEARCHENGINE = YES geda-gaf-1.8.2/gsymcheck/docs/what-is-geda.html0000664000175000017500000000155412204177071016153 00000000000000 What is gEDA?

    The gEDA project is working on producing a full GPL'd suite of Electronic Design Automation tools. These tools are used for electrical circuit design, schematic capture, simulation, prototyping, and production. Currently, the gEDA project offers a mature suite of free software applications for electronics design, including schematic capture, attribute management, bill of materials (BOM) generation, netlisting into over 20 netlist formats, analog and digital simulation, and printed circuit board (PCB) layout.

    The gEDA project was started because of the lack of free EDA tools for UNIX. The tools are being developed mainly on GNU/Linux machines, but considerable effort is being made to make sure that gEDA runs on other UNIX variants. For a complete list of freely available tools please be sure to visit Open Collector. geda-gaf-1.8.2/gsymcheck/docs/Makefile.in0000664000175000017500000005214312220655724015064 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = gsymcheck/docs DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(dist_man_MANS) ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } man1dir = $(mandir)/man1 am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(docsmandir)" NROFF = nroff MANS = $(dist_man_MANS) DATA = $(docsman_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = $(html_man_files) gsymcheck.dox logo.png \ gsymcheck-main.txt what-is-geda.html what-is-gsymcheck.html dist_man_MANS = gsymcheck.1 # Rules for converting man->html html_man_files = gsymcheck.html SUFFIXES = .1 .html docsmandir = $(docdir)/man docsman_DATA = $(html_man_files) MOSTLYCLEANFILES = *.log *~ CLEANFILES = *.log *~ gsymcheck.html DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log *~ Makefile.in $(html_man_files) all: all-am .SUFFIXES: .SUFFIXES: .1 .html $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gsymcheck/docs/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu gsymcheck/docs/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-man1: $(dist_man_MANS) @$(NORMAL_INSTALL) @list1=''; \ list2='$(dist_man_MANS)'; \ test -n "$(man1dir)" \ && test -n "`echo $$list1$$list2`" \ || exit 0; \ echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ { for i in $$list1; do echo "$$i"; done; \ if test -n "$$list2"; then \ for i in $$list2; do echo "$$i"; done \ | sed -n '/\.1[a-z]*$$/p'; \ fi; \ } | while read p; do \ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; echo "$$p"; \ done | \ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ sed 'N;N;s,\n, ,g' | { \ list=; while read file base inst; do \ if test "$$base" = "$$inst"; then list="$$list $$file"; else \ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ fi; \ done; \ for i in $$list; do echo "$$i"; done | $(am__base_list) | \ while read files; do \ test -z "$$files" || { \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ done; } uninstall-man1: @$(NORMAL_UNINSTALL) @list=''; test -n "$(man1dir)" || exit 0; \ files=`{ for i in $$list; do echo "$$i"; done; \ l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \ sed -n '/\.1[a-z]*$$/p'; \ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) install-docsmanDATA: $(docsman_DATA) @$(NORMAL_INSTALL) @list='$(docsman_DATA)'; test -n "$(docsmandir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(docsmandir)'"; \ $(MKDIR_P) "$(DESTDIR)$(docsmandir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docsmandir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(docsmandir)" || exit $$?; \ done uninstall-docsmanDATA: @$(NORMAL_UNINSTALL) @list='$(docsman_DATA)'; test -n "$(docsmandir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(docsmandir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(MANS) $(DATA) installdirs: for dir in "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(docsmandir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic distclean-local dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-docsmanDATA install-man install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-man1 install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic \ maintainer-clean-local mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-docsmanDATA uninstall-man uninstall-man: uninstall-man1 .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distclean-local distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-docsmanDATA install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-man1 \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic \ maintainer-clean-local mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am uninstall-docsmanDATA uninstall-man \ uninstall-man1 @ENABLE_GROFF_HTML_TRUE@.1.html: @ENABLE_GROFF_HTML_TRUE@ rm -rf $@.tmp && \ @ENABLE_GROFF_HTML_TRUE@ LC_NUMERIC=C $(GROFF) -man -T html $< >$@.tmp && \ @ENABLE_GROFF_HTML_TRUE@ mv -f $@.tmp $@ @ENABLE_GROFF_HTML_FALSE@.1.html: @ENABLE_GROFF_HTML_FALSE@ @echo "No working groff available: cannot create $@" @ENABLE_GROFF_HTML_FALSE@ @! : doxygen: gsymcheck.dox @echo 'Creating doxygen documentation for gsymcheck...' @ENABLE_DOXYGEN_TRUE@ $(DOXYGEN) gsymcheck.dox @ENABLE_DOXYGEN_FALSE@ @echo 'configure was not run with the --enable-doxygen switch.' @ENABLE_DOXYGEN_FALSE@ @echo 'The documentation cannot be built from the sources.' distclean-local: -rm -rf html latex maintainer-clean-local: -rm -rf html latex # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/gsymcheck/docs/what-is-gsymcheck.html0000664000175000017500000000032412204177071017222 00000000000000 What is gsymcheck?

    gsymcheck is the symbol checker for gschem, the schematic capture program/tool which is part of gEDA. gsymcheck's sole purpose is to facilitate the checking of symbols. geda-gaf-1.8.2/gsymcheck/docs/gsymcheck-main.txt0000664000175000017500000000044712204177071016453 00000000000000/*! \mainpage gsymcheck - The GPL Electronic Design Automation symbol checker for the schematic capture tool. \image html logo.png \section geda-intro gEDA Introduction \htmlinclude what-is-geda.html \section gsymcheck-intro gsymcheck Introduction \htmlinclude what-is-gsymcheck.html */ geda-gaf-1.8.2/gsymcheck/docs/gsymcheck.10000664000175000017500000000526112220655706015055 00000000000000.TH gsymcheck 1 "September 25th, 2013" "gEDA Project" 1.8.2.20130925 .SH NAME gsymcheck - gEDA/gaf Symbol Checker .SH SYNOPSIS .B gsymcheck [\-h] [\-v] [\-q] symbol1 [... symbolN] .SH DESCRIPTION .PP \fIgsymcheck\fP is a symbol checker for gEDA/gaf. Here is a list of checks that \fIgsymcheck\fP performs: .IP \[bu] 2 Checks for graphical= attribute (if present does varied tests) .IP \[bu] Checks for the device= attribute .IP \[bu] Checks for various other missing attributes (pinlabel, pintype, pinseq, footprint, refdes) .IP \[bu] Checks to make sure that the active pin end is on the 100 unit grid. .IP \[bu] Checks the uses of the various attributes (duplicates, incorrect syntax, invalid values, etc...) .IP \[bu] Checks for obsolete, old, and forbidden attributes .IP \[bu] Checks for any nets or buses within a symbol .IP \[bu] Checks for any other connections within a symbol .IP \[bu] Checks to make sure the number of pins is the correct number .SH OPTIONS \fIgsymcheck\fP accepts the following options: .TP 8 .B -q Quiet mode on. This mode turns off all warnings/notes/messages. (optional) .TP 8 .B -v Verbose mode 1. This mode will show all error messages (optional) .TP 8 .B -vv Verbose mode 2. This mode will show all error and warning messages (optional) .TP 8 .B -vvv Verbose mode 2. This mode will show all error, warning, and info messages (optional) .TP 8 .B -h Usage summary / gsymcheck help .TP 8 symbol1 [... symbolN] At least one symbol file must be specified. If multiple symbols are specified then they are sequentially read in and checked. It is important that the schematic(s) follow all the options (ie last). .SH EXAMPLES Here are some examples on how to run \fIgsymcheck\fP: To get usage information just run: gsymcheck To actually check a symbol with just error counts, run: gsymcheck symbolfilename.sym To get the actuall error messages, run: gsymcheck \-v symbolfilename.sym To see all the error messages and warnings, run: gsymcheck \-vv symbolfilename.sym To see all the error messages, warnings, and parse info, run: gsymcheck \-vvv symbolfilename.sym .SH "ENVIRONMENT" \fIgsymcheck\fP respects the following environment variable: .PP .TP 8 .B GEDADATA specifies where the various required scheme and rc files are located (the default is ${prefix}/share/gEDA). This environment variables does not need to be set by the end user unless they are moving the executables to a new install ${prefix}. .SH "AUTHOR" Ales Hvezda and many others .SH SEE ALSO .BR gschem (1), .BR gnetlist (1) .SH COPYRIGHT Copyright \(co 1999-2008 Ales Hvezda This document can be freely redistributed according to the terms of the GNU General Public License version 2.0 geda-gaf-1.8.2/gsymcheck/docs/logo.png0000664000175000017500000003677612204177071014477 00000000000000PNG  IHDRmSbKGD pHYs  ~tIME&.h IDATx}^}翏{0Iɮ&uu"u$]V.Q!G *h=Ζ.YnDnbZb#uoikL263f9ϝzsGz=9};;/                                            @]I4B+Ai폍*\"Ro &uj%=UbyRN";q꺨]E ! ߕ=D$+ vl\~U]Ie*^m[{i,]ӧm _C:{8eB, n"ǣb#(j/,j-<\L/>qU#/W䗷`(:m qm)?J(J RiuףMqxQHě+%2bx%ELP:₇T,R KOɳZ6;OSUʮ"H@M6]1{0)lIҖh' .0D!ۮ!?0NqD{'u`y;tqlyKxP4e\SVad mIsl|[*ZWG !-1"(lŅqUpʒ&.?[gWU>11"`m!?̒bQw1X,,ܛ| UЪJΥ*dqM/ƱmĀ8H#rL&u UY%m w+Ҷw٧VlĄ)/]\86%;UCp [|}^خ} ob}DEk 4 =|״pq$^Yc?&2EFڷ<׸.oyykUTyiY:"vlҊt^S孫]jEM~|*0Z.}( :\-.-0i7#Ir PWd(OV]3MzO/i˥6itWɵ&kst$MCڴ6WUFmG7{Y<Q{7mK*&L,rʡK/B-z/ U,^z7JB.2pX&.Xz?XN=@$BTQɚTdUqtmߒe lʣ6l)KkkƮ|x8YmL.oyٴW5lVB.m=&I۶oԔVo*N؄٦-ɮDH .,ÇfKC.E՜-! d%Ƚ`L\\&0ZK? "CU"eCէ!Y&Wa!o*7$LidqlbŎ 4ik~xeETyTp67]zW1/T2.ENʓL+jH  B8^́ `<x܆ۏ{)0Q |b0E.p"c):bpa+P$MVV\񦤉kڶ]%08YB"Of&]Q"UL5 M]QKk.ot:qg&EP%=_W O6̡dWm& U`ᦼ'`,/o8D>mݛc\7y'l*Pͬ^ 6My1)>|\ Qimil)FزaۦOb# LLL4Uv|Bm^pGEl,DGxϥh{2se{!uÛ`SɻVipQžk%^!T\ Y "DnSV[n;r5_]2qtv| 3kqc.0zZv^ ~~2`p(2+[E0bG.p64Eڋo`Y"$|u' Hؤd /c:Vs9E U`p/F ތ~a[Cæ#PőųaKcFd,L9y<"i!}yrxG0[cc?0 'U<ы;y?֏v |1LpobfL* "2Laqmy+N,H며GRfYu+.>eEIPS7GD"!LVgM!4,:߮^t$UKk",l|'A|*΢7Ǧ&!+Lēɋd+`d۪vhي [O*n/JlsSɺhE9$D!OV! qIz/DaWsm|St| M8$b*^"Ia/i~sm~=LbƔN7U}]LA UQ9B:Ʒe"V\Ui=><}q>"rB 4xY ݛ}7 ;0'CW'M! ɰd|Hg*]*"TB+{h!)[pr_\]Mc'KP{%Tu(I̞l?uUWx0*\]OzI^e 񿦥JhCUN%7G|Ӈk"AH? 匹y"))/k3rR1XILM$*DwCX"+r ?K~%Eǐe폑D¦XhYdd39ۢ&tk]5vCC)Q_/C8Ni4qOB!LzB; 0ҐA&ʥh-5tg޶W?h!Q~l#1CDŽA^ =xBCgqU^7wXWVa(02o 8=O)/NG ~@#YEι*{6&0\~BưGSǙD<$p,fM6M,{f ^-`j smy躛*5[;UNy4dz*Ƕ0B j` e|hźdȥA,o3-#ؾdV`LO ݋lFkЮg"@Ϳqoz,Z_ON'OǎPW6,N2hdKo]ɛoƶ)Ϧ庍d/[<8Nk'Zεζ6[Q90Xܲa#0Ljr%kFػؽ8z8s3_ Yi_;v/2a00.: 0H\Y;W'O8mߞOC_dϲi7tl1쩧ԙLL\ux6bB*0f]g@l[G\ !0>,;|$r$p>PD=ƍl)`t8sfX 0j5|)лop luZ&F'g;w^B#V`@^ҩ)`hH5-Z`7AEb`|-.&'^/.曙wVy)[eey 訷4Vұ Jgpؾx-`l EqY\޲,zdK~{UM`؜X1+Wbكl. m {o;{>,IQ9ۺRQ `xx/ _(^lݚ 9bLL`vb >;l?^g k_Ao7c`K7mjn'}N[PJ=$>LUrVLnX #[̓M'2RcWS=42߱Wu)+Q*֤aiSI֭IᇍyiSú >&''|Ka1{0r\V2>j) p .LMIG$n]{iB=AGk[O>:x׀;tBo˝wop$D,0ڹRFG#%oFnE}GHL! Vٳh<\Æ7agaCC߰aaxN,ﳙiڋX鬣媫om* dt?ݻa'OzqV&$_ C ^xl % LNK/ɍ:{z-Ki ?9~f}e _;FbnK~cNO>DxKXD孌߮dl m*QyY<7}}$Y_.tu‰E`JԡClN#G| 9wݥaO(2= d`&rw*"zq^{} m^S|'fӖMg#G 19q>}cc9siԨ&zE`vu^2Y֭H?Y,Oeq1 q_drraU3I?D 08Etĉ8$[`ӤANnлGjI۶l{w] ey{FsV3{R $ /|P$0 G|}l܁M[EZ0< 8UdǏc\_-gfХ$edHB űs'03ƀMԔFddK<~ۡ9RV^ymZhYŦO#G^ }7ر/TsjS^ªDXy>[MMةin`jhfor%O&#ǃ_20UI6eg? |-SbB =B|r)ߛo׬IoS5I{/ߧK#i t͂m5?8n@֡?`m )=65β${2f©w3&=ׇ>ǁOBhMPy1"0r;>੧7ѿy37l@M۶ }ŪU#i_=ElG,J.wyMDu###K{|책$'N x#2ra"Юt܋u 09]CC=M_ϨJ=BLlȪMM}o =ܵGl8ϡCCøI`T#8z*h̛|kٰ陧;L @LeVРm LO{vd uƙa{k!Ψ*i4˱~_޲ wc`,P28(8|PnF:MNb@o2\ebp}7. >+:: ^sy ۪ۓ &?qZUeӆwM6x{9ґ-X)WS`B7I"*vf*N"36&^z 7px3I`m>hy7[ە*0ʢbp\P^Ps_~ b_7!iQU* 4|x(ijưiᴚIɼ7>Ѓ_U'>>(zYh"$,$>So?>]b@6!ցlHȖ(afA>s[3P `F5 6]*ȃA˲ _`^WˀXR>m^rJ}jhjkdV`W* FEqUH9`}3np#,T^-˿nϓwIǍQ>8(qF$i4pn~,5_*.k4=}6P* T({1 .@HSB? 8=kFtZ2SϷUQYHXKdBpf}nM~0=mt]cؘ|߳ϲQ@YwDne4n+\F` e]5H fۨdSjǪU~恐ͱAC\}ц"pf~`z{lšn #Yd nɓ 7[_/Åz]=ͨY0^|ΆjȁEf9uعy i Q>]wu=3}ʒ˒ǎ?h&>ܕQ("?|j[y&KkqMА_Yt3A/ ]q#ח7gK0WBO=`vMӸOOl2T ziI04H`t't#q wr&<`S:^/ot@%'@]ul&&쾨sj~G8Ghb:J≡D<v- ٻW#L(;oQ9Էm~˾ Rup0<T3IWRAqcZĄdk_s74oe/CQ?vLS򗁓'[$j//]*Q $0LBcC OMʕY=܃=> <>$vl4~G8V5МTA`gIDATLkD<`Mo|zسǮddx5>i6Z;ӿo4X$YzT?w< 8{_}FFXu|I{<|tf2 x_R X=9ӪU3=lu׵ӝ:S l\aPyN{5 :PVei~RkWjo ><?1  WJdcrV!DjH3j8iG~cFkGӗ;jQA(k.@~<|-[ 6z|)Ȼg<\..FGxdDoe2=FGݛIg[׭(ܹͰYٳD 'ܘfsuOh=..G'NBrڢN|:z$a]WTcg]w҈jԹ9z!;.tޚ6q?oap7+_}Gds6/|K'ر?[>O&&n/u4cǟx!:'O^cn@@6e]pǏv8ZG?~eIRw|뿋+8g;?;5+ `[;¨q' 50X,p9X?`aW]`)ŭeQN m/M+n#fYJ8XM.Hq iGІYةSa6:i3 zƇ]lH)LZw)$Gݶ$idzvQX\h-Y< Xee/C#c9TMTj#BGeXYyN^&n\:?H`t'$B#ӫXR.0T" ;lU n?_,9o*ȱ67o&"* "l.@r';w*lナaTzW|nJeLX%)w[.c7 lظX~ax9Z2cH7 "& VY '"m֭s72v*>;;w. ׁ?C:lʆ:wI#-EGFHyTƝ O? ~)f!ٰ̓b^GaqiM1zPPNITmF5h `r̖-iZD#=u}k6tFQWy} |NFy0\٨[Rw"'Xg'$ճҷ'vJyB:!;}})Vua؆ʍq$pcNi_%q9<ҔUr,Rj3ڍ}e>K{e8fgGe_|a=ff(Ykc^Z>Ɠspٽ`M:edLV*MeΜ kְ+VΟ{폞;V~1cecxmEUq9Y&2"bU[3y0^.,p,~zp%*w"]s,0:яܷM񋿸O.Z +xKR>9?J. ]Sx&r %V|Soֲt!4O_{~rbTpYtmHT(?pB(X 땆 dߴ Mk6kEf?P"g}a> AW!Ii-UJ o nI:SVv1m4 6!n$mjuxxNaPKN&\/߃bF?': @q"|r%d;T@YTbL aeC.+]̈hG~f<2j*?S>W.H; h\6ŷ[ BB̻1 I`ЌD8jV~l;e =Kisiuh*W%N>#,};  KGK_Yo*b*<Uapk9_+ 6edkyEHuiv=f{ PlzIY\[K֯7}==_\ SS]Gbi&fy*Qvn̫ :9w Dmߞ- "׻ٝɓhKwwhgr%!H2PWycFsq[X:QysvrҕrSTF$"+2A֙7#Ob2]L>2\Nc;v>Z s5=ĚI``x9`&71:Qb t0G0Mgi4071;1f w/ YʕZQ[O=L^AO2~$Xf"|4BQ/:&iWLBUO2bہC[Q`R{;t3A of\ώ$4ZT]`ȣShnMo7qq08hn*Y=l}b8~t銛(*y/ʤEn9^Y`t݉>qs~i3W$kְ>IHF,hU3ٴ,l&3ѽ(y$o|z4dTV#m/a06:/ I6oA*/j~AQoDƏd_/iyu$b={qx3_Q*|#͛*z/R}L4}"6r-NK?>asZ<ʕ_kgG,3L`=x]WyP*{-&0ɛիo,(m)9ei&&}08$u6bdݺ;x.ؿ57p=0sɹ"2~pWFvzi e8biaqjuUKln[61 ,{y¦.PkI',YQǀ5k/} s2q0b[^pD!$%ry#.bm ˖jz<+,phm =-{"㲮 2ػgVBB)/17Yyf.c#vڸ}ME .p.w3A+Melb`}*+VS}ݹGyN+|u# ]`0MڼQzWtHe!y5m$~i %(]`(M Hb VU/Dy3|C}uo{BI`t{eWZC+ǘ/Y^$ç׵^*bᢰ.su$@.ld尉/ MjG.MZ}Zy3e?l)߅m %ϦffrvEGK=1y0Dt E*" :h> t.ĸLbICE-V$!пMIދ ~(ExHl%&b$m$GT$eKRb/M~Em"&5JPUh> ]Ӆm\YSH@HB;c܈qtl=@):̛h1[HM#(0J]7H7",TeBV_],M't8T$D b+g0]GAFy)d7֓ge+O:tbۦ,(R<.i} ^ W/C>gWOEU2n~ź-(0B:O\k} OoZi/ aC?K\EpocLjSNV{2zUؔ6</ok|aSl6.ie`J vQ/~CieK@xC|ē:/,s>zm!q]CY`ĀJd&۶vUaqM4>mV*EV^!_Ϸ~i]+q> B2W&t\*~S|`MD "CaS,i$4!$F'hLXE[H\iTdڧ]g&,j5ti Hm"m*uS&@U&.@0I6O$= _Ѷdzkk^ Q`DOCvDLkmqEhWIO#W#7"rTtv*Fv]⤉D _"<EM&K.vmIlT|u6bcmA\hrx̣Q'w~C[8` `g 訣 ,IzFllƶzҦms;KWB.KnڟW,lc˶▥6═ųT)p@bf2LVFY&:_Eq"{6x34TЄ,0\\ryh0Ӷ)k~`aNrVx\=6ݾ4"F2nώ+imȗDK]ċɾMeg]do|Mm|__t^]"V$4'/3n-n2G$P8WuIbZK5$)0X'uUn#d3ٓK1Yf?Og[Fۊڥܪ0RgB4"Fdm6U&i¦l.Eio"+&c>{L\SUry7髼6o.^UE7JFʠK#cS 4Aw-d 1W+bzkMi#w"j &c]қ<(*a6$=&O|؟ Y-.6x c TU_tN_FX VqJT\⾴[U68Mxi6ΎȰ)Ud3a6 Ym˭g dcuSd~ԯ 鑐 Nl؊F'DB σ1+M$FIE.@xDB# lue\j4y ՕŦ [Q"$\weBEimI#~\ⱉR/*,_˞UDMeBT(5(Nㅰˆ2nD\qʈ Qdlڳ ۵ _^M#SVUBd9M%`+΀jooְ t4|peoa) gsymcheck

    gsymcheck

    NAME
    SYNOPSIS
    DESCRIPTION
    OPTIONS
    EXAMPLES
    ENVIRONMENT
    AUTHOR
    SEE ALSO
    COPYRIGHT

    NAME

    gsymcheck - gEDA/gaf Symbol Checker

    SYNOPSIS

    gsymcheck [−h] [−v] [−q] symbol1 [... symbolN]

    DESCRIPTION

    gsymcheck is a symbol checker for gEDA/gaf. Here is a list of checks that gsymcheck performs:

    Checks for graphical= attribute (if present does varied tests)

    Checks for the device= attribute

    Checks for various other missing attributes (pinlabel, pintype, pinseq, footprint, refdes)

    Checks to make sure that the active pin end is on the 100 unit grid.

    Checks the uses of the various attributes (duplicates, incorrect syntax, invalid values, etc...)

    Checks for obsolete, old, and forbidden attributes

    Checks for any nets or buses within a symbol

    Checks for any other connections within a symbol

    Checks to make sure the number of pins is the correct number

    OPTIONS

    gsymcheck accepts the following options:

    -q

    Quiet mode on. This mode turns off all warnings/notes/messages. (optional)

    -v

    Verbose mode 1. This mode will show all error messages (optional)

    -vv

    Verbose mode 2. This mode will show all error and warning messages (optional)

    -vvv

    Verbose mode 2. This mode will show all error, warning, and info messages (optional)

    -h

    Usage summary / gsymcheck help

    symbol1 [... symbolN]

    At least one symbol file must be specified. If multiple symbols are specified then they are sequentially read in and checked. It is important that the schematic(s) follow all the options (ie last).

    EXAMPLES

    Here are some examples on how to run gsymcheck:

    To get usage information just run:

    gsymcheck

    To actually check a symbol with just error counts, run:

    gsymcheck symbolfilename.sym

    To get the actuall error messages, run:

    gsymcheck −v symbolfilename.sym

    To see all the error messages and warnings, run:

    gsymcheck −vv symbolfilename.sym

    To see all the error messages, warnings, and parse info, run:

    gsymcheck −vvv symbolfilename.sym

    ENVIRONMENT

    gsymcheck respects the following environment variable:
    GEDADATA

    specifies where the various required scheme and rc files are located (the default is ${prefix}/share/gEDA). This environment variables does not need to be set by the end user unless they are moving the executables to a new install ${prefix}.

    AUTHOR

    Ales Hvezda and many others

    SEE ALSO

    gschem(1), gnetlist(1)

    COPYRIGHT

    Copyright © 1999-2008 Ales Hvezda

    This document can be freely redistributed according to the terms of the GNU General Public License version 2.0


    geda-gaf-1.8.2/gsymcheck/TODO0000664000175000017500000000023312204177071012544 00000000000000TODO on gsymcheck ---------------------- Most code cleanup things from gschem apply here too pin number labels pin names proper rotation on text ... geda-gaf-1.8.2/configure0000775000175000017500000247523712220655727012043 00000000000000#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.69 for gEDA/gaf 1.8.2. # # Report bugs to . # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. # # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # Use a proper internal environment variable to ensure we don't fall # into an infinite loop, continuously re-executing ourselves. if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then _as_can_reexec=no; export _as_can_reexec; # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 as_fn_exit 255 fi # We don't want this to propagate to other subprocesses. { _as_can_reexec=; unset _as_can_reexec;} if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi " as_required="as_fn_return () { (exit \$1); } as_fn_success () { as_fn_return 0; } as_fn_failure () { as_fn_return 1; } as_fn_ret_success () { return 0; } as_fn_ret_failure () { return 1; } exitcode=0 as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : else exitcode=1; echo positional parameters were not saved. fi test x\$exitcode = x0 || exit 1 test -x / || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 test \$(( 1 + 1 )) = 2 || exit 1 test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || ( ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO PATH=/empty FPATH=/empty; export PATH FPATH test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1" if (eval "$as_required") 2>/dev/null; then : as_have_required=yes else as_have_required=no fi if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. as_shell=$as_dir/$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : CONFIG_SHELL=$as_shell as_have_required=yes if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : break 2 fi fi done;; esac as_found=false done $as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : CONFIG_SHELL=$SHELL as_have_required=yes fi; } IFS=$as_save_IFS if test "x$CONFIG_SHELL" != x; then : export CONFIG_SHELL # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 exit 255 fi if test x$as_have_required = xno; then : $as_echo "$0: This script requires a shell more modern than all" $as_echo "$0: the shells that I found on your system." if test x${ZSH_VERSION+set} = xset ; then $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" $as_echo "$0: be upgraded to zsh 4.3.4 or later." else $as_echo "$0: Please tell bug-autoconf@gnu.org and $0: https://bugs.launchpad.net/geda about your system, $0: including any error possibly output before this $0: message. Then install a modern shell, or manually run $0: the script under such a shell if you do have one." fi exit 1 fi fi fi SHELL=${CONFIG_SHELL-/bin/sh} export SHELL # Unset more variables known to interfere with behavior of common tools. CLICOLOR_FORCE= GREP_OPTIONS= unset CLICOLOR_FORCE GREP_OPTIONS ## --------------------- ## ## M4sh Shell Functions. ## ## --------------------- ## # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } # as_fn_executable_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits as_lineno_1=$LINENO as_lineno_1a=$LINENO as_lineno_2=$LINENO as_lineno_2a=$LINENO eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # If we had to re-execute with $CONFIG_SHELL, we're ensured to have # already done that, so ensure we don't try to do so again and fall # in an infinite loop. This has already happened in practice. _as_can_reexec=no; export _as_can_reexec # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -pR' fi else as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" SHELL=${CONFIG_SHELL-/bin/sh} test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= # Identity of this package. PACKAGE_NAME='gEDA/gaf' PACKAGE_TARNAME='geda-gaf' PACKAGE_VERSION='1.8.2' PACKAGE_STRING='gEDA/gaf 1.8.2' PACKAGE_BUGREPORT='https://bugs.launchpad.net/geda' PACKAGE_URL='' ac_unique_file="libgeda/src/libgeda.c" # Factoring default headers for most tests. ac_includes_default="\ #include #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_STAT_H # include #endif #ifdef STDC_HEADERS # include # include #else # ifdef HAVE_STDLIB_H # include # endif #endif #ifdef HAVE_STRING_H # if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif #ifdef HAVE_STRINGS_H # include #endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif #ifdef HAVE_UNISTD_H # include #endif" gt_needs= ac_header_list= ac_subst_vars='am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS LIBOBJS LIBGEDA_GETTEXT_DOMAIN LIBGEDA_SHLIB_VERSION PCBLIBPATH PCBM4DIR PCBDATADIR GEDARCDIR GEDADATADIR ENABLE_GATTRIB_FALSE ENABLE_GATTRIB_TRUE LIBSTROKE_LDFLAGS LIBSTROKE_CPPFLAGS ENABLE_UPDATE_XDG_DATABASE_FALSE ENABLE_UPDATE_XDG_DATABASE_TRUE UPDATE_DESKTOP_DATABASE UPDATE_MIME_DATABASE KDEDATADIR ENABLE_KDE_DESKTOP_DATA_FALSE ENABLE_KDE_DESKTOP_DATA_TRUE XDGDATADIR ICON_THEME_INSTALLER ENABLE_DOXYGEN_FALSE ENABLE_DOXYGEN_TRUE PDFLATEX CONVERT INKSCAPE DOXYGEN URI_VIEWER CAIRO_LIBS CAIRO_CFLAGS GDK_PIXBUF_LIBS GDK_PIXBUF_CFLAGS GTK_LIBS GTK_CFLAGS GLIB_LIBS GLIB_CFLAGS GUILE_SNARF GUILE GUILE_PKG_NAME GUILE_LIBS GUILE_CFLAGS PKG_CONFIG_LIBDIR PKG_CONFIG_PATH PKG_CONFIG DESKTOP_I18N_XML_RULE DESKTOP_I18N_DESKTOP_RULE DESKTOP_I18N_LANGS_RULE DESKTOP_I18N_CREATE DESKTOP_I18N_LOCALE_DIR DESKTOP_I18N DESKTOP_I18N_SCRIPT GETTEXT POSUB LTLIBINTL LIBINTL INTLLIBS INTL_LIBTOOL_SUFFIX_PREFIX INTLOBJS GENCAT INSTOBJEXT DATADIRNAME CATOBJEXT USE_INCLUDED_LIBINTL BUILD_INCLUDED_LIBINTL WOE32DLL HAVE_WPRINTF HAVE_SNPRINTF HAVE_ASPRINTF HAVE_POSIX_PRINTF INTL_MACOSX_LIBS GLIBC21 INTLBISON LTLIBICONV LIBICONV LTLIBMULTITHREAD LIBMULTITHREAD LTLIBTHREAD LIBTHREAD LTLIBPTH LIBPTH PRI_MACROS_BROKEN ALLOCA HAVE_VISIBILITY CFLAG_VISIBILITY GLIBC2 MSGMERGE XGETTEXT_015 XGETTEXT GMSGFMT_015 MSGFMT_015 GMSGFMT MSGFMT USE_NLS M4 ENABLE_GROFF_HTML_FALSE ENABLE_GROFF_HTML_TRUE GROFF LEXLIB LEX_OUTPUT_ROOT LEX GCC_CFLAGS OTOOL64 OTOOL LIPO NMEDIT DSYMUTIL MANIFEST_TOOL RANLIB ac_ct_AR AR LN_S NM ac_ct_DUMPBIN DUMPBIN LD FGREP SED LIBTOOL OBJDUMP DLLTOOL AS MINGW_CFLAGS MINGW_GUI_LDFLAGS WINDOWS_LIBTOOL_FLAGS host_os host_vendor host_cpu host build_os build_vendor build_cpu build CHANGELOG_BASE HAVE_GIT_REPO_FALSE HAVE_GIT_REPO_TRUE DATE_VERSION DOTTED_VERSION HAVE_GIT_REPO GIT EGREP GREP CPP am__fastdepCC_FALSE am__fastdepCC_TRUE CCDEPMODE am__nodep AMDEPBACKSLASH AMDEP_FALSE AMDEP_TRUE am__quote am__include DEPDIR OBJEXT EXEEXT ac_ct_CC CPPFLAGS LDFLAGS CFLAGS CC AM_BACKSLASH AM_DEFAULT_VERBOSITY AM_DEFAULT_V AM_V am__untar am__tar AMTAR am__leading_dot SET_MAKE AWK mkdir_p MKDIR_P INSTALL_STRIP_PROGRAM STRIP install_sh MAKEINFO AUTOHEADER AUTOMAKE AUTOCONF ACLOCAL VERSION PACKAGE CYGPATH_W am__isrc INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM target_alias host_alias build_alias LIBS ECHO_T ECHO_N ECHO_C DEFS mandir localedir libdir psdir pdfdir dvidir htmldir infodir docdir oldincludedir includedir localstatedir sharedstatedir sysconfdir datadir datarootdir libexecdir sbindir bindir program_transform_name prefix exec_prefix PACKAGE_URL PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking enable_silent_rules enable_dependency_tracking enable_static enable_shared with_pic enable_fast_install with_gnu_ld with_sysroot enable_libtool_lock enable_nls enable_threads enable_rpath with_libpth_prefix with_libiconv_prefix with_included_gettext with_libintl_prefix enable_assert enable_gio enable_doxygen with_xdgdatadir with_kdedatadir enable_update_xdg_database with_libstroke enable_gattrib with_rcdir with_pcb_datadir with_pcb_m4dir with_pcb_lib_path ' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS LIBS CPPFLAGS CPP GIT AWK GROFF PKG_CONFIG PKG_CONFIG_PATH PKG_CONFIG_LIBDIR GUILE_CFLAGS GUILE_LIBS GUILE GUILE_SNARF GLIB_CFLAGS GLIB_LIBS GTK_CFLAGS GTK_LIBS GDK_PIXBUF_CFLAGS GDK_PIXBUF_LIBS CAIRO_CFLAGS CAIRO_LIBS URI_VIEWER DOXYGEN UPDATE_MIME_DATABASE UPDATE_DESKTOP_DATABASE' # Initialize some variables set by options. ac_init_help= ac_init_version=false ac_unrecognized_opts= ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *=) ac_optarg= ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) as_fn_error $? "unrecognized option: \`$ac_option' Try \`$0 --help' for more information" ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi # Check all directory arguments for consistency. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var # Remove trailing slashes. case $ac_val in */ ) ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` eval $ac_var=\$ac_val;; esac # Be sure to have absolute directory names. case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$as_myself" || $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures gEDA/gaf 1.8.2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/geda-gaf] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of gEDA/gaf 1.8.2:";; esac cat <<\_ACEOF Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-silent-rules less verbose build output (undo: "make V=1") --disable-silent-rules verbose build output (undo: "make V=0") --enable-dependency-tracking do not reject slow dependency extractors --disable-dependency-tracking speeds up one-time build --enable-static[=PKGS] build static libraries [default=no] --enable-shared[=PKGS] build shared libraries [default=yes] --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) --disable-nls do not use Native Language Support --enable-threads={posix|solaris|pth|win32} specify multithreading API --disable-threads build without multithread safety --disable-rpath do not hardcode runtime library paths --disable-assert turn off assertions --enable-gio use GIO to launch URIs [default=auto] --enable-doxygen enable generation of Doxygen API documentation --disable-update-xdg-database do not update XDG database after installation --disable-gattrib turn off building and installing gattrib Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use both] --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-sysroot=DIR Search for dependent libraries within DIR (or the compiler's sysroot if not specified). --with-gnu-ld assume the C compiler uses GNU ld default=no --with-libpth-prefix[=DIR] search for libpth in DIR/include and DIR/lib --without-libpth-prefix don't search for libpth in includedir and libdir --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib --without-libiconv-prefix don't search for libiconv in includedir and libdir --with-included-gettext use the GNU gettext library included here --with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib --without-libintl-prefix don't search for libintl in includedir and libdir --with-xdgdatadir[=DIR] install XDG desktop files in DIR [[DIR=DATAROOTDIR]] --with-kdedatadir[=DIR] install KDE 3 desktop files in DIR [[DIR=DATAROOTDIR]] --with-libstroke[=DIR] use libstroke (search in [[DIR]]) --with-rcdir[=DIR] install system config in specific DIR --with-pcb-datadir=DIR search for PCB libraries in DIR [[DATAROOTDIR/pcb]] --with-pcb-m4dir=DIR search for PCB m4 libraries in DIR [[PCBDATADIR/m4]] --with-pcb-lib-path=PATH search path for PCB newlib footprint libraries Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory CPP C preprocessor GIT Path to git executable AWK Path to awk executable GROFF Path to groff executable PKG_CONFIG path to pkg-config utility PKG_CONFIG_PATH directories to add to pkg-config's search path PKG_CONFIG_LIBDIR path overriding pkg-config's built-in search path GUILE_CFLAGS C compiler flags for GUILE, overriding pkg-config GUILE_LIBS linker flags for GUILE, overriding pkg-config GUILE Path to guile executable GUILE_SNARF path to guile-snarf utility GLIB_CFLAGS C compiler flags for GLIB, overriding pkg-config GLIB_LIBS linker flags for GLIB, overriding pkg-config GTK_CFLAGS C compiler flags for GTK, overriding pkg-config GTK_LIBS linker flags for GTK, overriding pkg-config GDK_PIXBUF_CFLAGS C compiler flags for GDK_PIXBUF, overriding pkg-config GDK_PIXBUF_LIBS linker flags for GDK_PIXBUF, overriding pkg-config CAIRO_CFLAGS C compiler flags for CAIRO, overriding pkg-config CAIRO_LIBS linker flags for CAIRO, overriding pkg-config URI_VIEWER Path to URI launcher executable DOXYGEN Path to doxygen executable UPDATE_MIME_DATABASE Path to update-mime-database executable UPDATE_DESKTOP_DATABASE Path to update-desktop-database executable Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to . _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF gEDA/gaf configure 1.8.2 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi ## ------------------------ ## ## Autoconf initialization. ## ## ------------------------ ## # ac_fn_c_try_compile LINENO # -------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_compile # ac_fn_c_try_cpp LINENO # ---------------------- # Try to preprocess conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_cpp () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } > conftest.i && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_cpp # ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists, giving a warning if it cannot be compiled using # the include files in INCLUDES and setting the cache variable VAR # accordingly. ac_fn_c_check_header_mongrel () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if eval \${$3+:} false; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } else # Is the header compilable? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 $as_echo_n "checking $2 usability... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_header_compiler=yes else ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 $as_echo "$ac_header_compiler" >&6; } # Is the header present? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 $as_echo_n "checking $2 presence... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <$2> _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : ac_header_preproc=yes else ac_header_preproc=no fi rm -f conftest.err conftest.i conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 $as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( yes:no: ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 $as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ;; no:yes:* ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 $as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 $as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ( $as_echo "## ---------------------------------------------- ## ## Report this to https://bugs.launchpad.net/geda ## ## ---------------------------------------------- ##" ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else eval "$3=\$ac_header_compiler" fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_mongrel # ac_fn_c_try_run LINENO # ---------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes # that executables *can* be run. ac_fn_c_try_run () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then : ac_retval=0 else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=$ac_status fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_run # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists and can be compiled using the include files in # INCLUDES, setting the cache variable VAR accordingly. ac_fn_c_check_header_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_compile # ac_fn_c_try_link LINENO # ----------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || test -x conftest$ac_exeext }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_link # ac_fn_c_check_func LINENO FUNC VAR # ---------------------------------- # Tests whether FUNC exists, setting the cache variable VAR accordingly ac_fn_c_check_func () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Define $2 to an innocuous variant, in case declares $2. For example, HP-UX 11i declares gettimeofday. */ #define $2 innocuous_$2 /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $2 (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $2 /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $2 (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$2 || defined __stub___$2 choke me #endif int main () { return $2 (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_func # ac_fn_c_check_type LINENO TYPE VAR INCLUDES # ------------------------------------------- # Tests whether TYPE exists after having included INCLUDES, setting cache # variable VAR accordingly. ac_fn_c_check_type () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else eval "$3=no" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { if (sizeof ($2)) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { if (sizeof (($2))) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else eval "$3=yes" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_type # ac_fn_c_compute_int LINENO EXPR VAR INCLUDES # -------------------------------------------- # Tries to find the compile-time value of EXPR in a program that includes # INCLUDES, setting VAR accordingly. Returns whether the value could be # computed ac_fn_c_compute_int () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) >= 0)]; test_array [0] = 0; return test_array [0]; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_lo=0 ac_mid=0 while :; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) <= $ac_mid)]; test_array [0] = 0; return test_array [0]; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_hi=$ac_mid; break else as_fn_arith $ac_mid + 1 && ac_lo=$as_val if test $ac_lo -le $ac_mid; then ac_lo= ac_hi= break fi as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) < 0)]; test_array [0] = 0; return test_array [0]; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_hi=-1 ac_mid=-1 while :; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) >= $ac_mid)]; test_array [0] = 0; return test_array [0]; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_lo=$ac_mid; break else as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val if test $ac_mid -le $ac_hi; then ac_lo= ac_hi= break fi as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else ac_lo= ac_hi= fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) <= $ac_mid)]; test_array [0] = 0; return test_array [0]; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_hi=$ac_mid else as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done case $ac_lo in #(( ?*) eval "$3=\$ac_lo"; ac_retval=0 ;; '') ac_retval=1 ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 static long int longval () { return $2; } static unsigned long int ulongval () { return $2; } #include #include int main () { FILE *f = fopen ("conftest.val", "w"); if (! f) return 1; if (($2) < 0) { long int i = longval (); if (i != ($2)) return 1; fprintf (f, "%ld", i); } else { unsigned long int i = ulongval (); if (i != ($2)) return 1; fprintf (f, "%lu", i); } /* Do not output a trailing newline, as this causes \r\n confusion on some platforms. */ return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : echo >>conftest.val; read $3 config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by gEDA/gaf $as_me 1.8.2, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. $as_echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) as_fn_append ac_configure_args1 " '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done { ac_configure_args0=; unset ac_configure_args0;} { ac_configure_args1=; unset ac_configure_args1;} # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo $as_echo "## ---------------- ## ## Cache variables. ## ## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo $as_echo "## ----------------- ## ## Output variables. ## ## ----------------- ##" echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then $as_echo "## ------------------- ## ## File substitutions. ## ## ------------------- ##" echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then $as_echo "## ----------- ## ## confdefs.h. ## ## ----------- ##" echo cat confdefs.h echo fi test "$ac_signal" != 0 && $as_echo "$as_me: caught signal $ac_signal" $as_echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h $as_echo "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_URL "$PACKAGE_URL" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then # We do not want a PATH search for config.site. case $CONFIG_SITE in #(( -*) ac_site_file1=./$CONFIG_SITE;; */*) ac_site_file1=$CONFIG_SITE;; *) ac_site_file1=./$CONFIG_SITE;; esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site else ac_site_file1=$ac_default_prefix/share/config.site ac_site_file2=$ac_default_prefix/etc/config.site fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file See \`config.log' for more details" "$LINENO" 5; } fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi gt_needs="$gt_needs " as_fn_append ac_header_list " stdlib.h" as_fn_append ac_header_list " unistd.h" as_fn_append ac_header_list " sys/param.h" # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then # differences in whitespace do not lead to failure. ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## ## -------------------- ## ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_aux_dir= for ac_dir in build-tools "$srcdir"/build-tools; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then as_fn_error $? "cannot find install-sh, install.sh, or shtool in build-tools \"$srcdir\"/build-tools" "$LINENO" 5 fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. ac_config_headers="$ac_config_headers config.h" am__api_version='1.13' # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then if ${ac_cv_path_install+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in #(( ./ | .// | /[cC]/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else rm -rf conftest.one conftest.two conftest.dir echo one > conftest.one echo two > conftest.two mkdir conftest.dir if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two then ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi fi done done ;; esac done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 $as_echo "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 $as_echo_n "checking whether build environment is sane... " >&6; } # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[\\\"\#\$\&\'\`$am_lf]*) as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; esac case $srcdir in *[\\\"\#\$\&\'\`$am_lf\ \ ]*) as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; esac # Do 'set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( am_has_slept=no for am_try in 1 2; do echo "timestamp, slept: $am_has_slept" > conftest.file set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi if test "$*" != "X $srcdir/configure conftest.file" \ && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". as_fn_error $? "ls -t appears to fail. Make sure there is not a broken alias in your environment" "$LINENO" 5 fi if test "$2" = conftest.file || test $am_try -eq 2; then break fi # Just in case. sleep 1 am_has_slept=yes done test "$2" = conftest.file ) then # Ok. : else as_fn_error $? "newly created file is older than distributed files! Check your system clock" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } # If we didn't sleep, we still need to ensure time stamps of config.status and # generated files are strictly newer. am_sleep_pid= if grep 'slept: no' conftest.file >/dev/null 2>&1; then ( sleep 1 ) & am_sleep_pid=$! fi rm -f conftest.file test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && program_transform_name="s&\$&$program_suffix&;$program_transform_name" # Double any \ or $. # By default was `s,x,x', remove it if useless. ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --is-lightweight"; then am_missing_run="$MISSING " else am_missing_run= { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 $as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} fi if test x"${install_sh}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi # Installed binaries are usually stripped using 'strip' when the user # run "make install-strip". However 'strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the 'STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 $as_echo_n "checking for a thread-safe mkdir -p... " >&6; } if test -z "$MKDIR_P"; then if ${ac_cv_path_mkdir+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ 'mkdir (fileutils) '4.1*) ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext break 3;; esac done done done IFS=$as_save_IFS fi test -d ./--version && rmdir ./--version if test "${ac_cv_path_mkdir+set}" = set; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. MKDIR_P="$ac_install_sh -d" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 $as_echo "$MKDIR_P" >&6; } for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_AWK+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AWK="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 $as_echo "$AWK" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$AWK" && break done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } SET_MAKE= else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null # Check whether --enable-silent-rules was given. if test "${enable_silent_rules+set}" = set; then : enableval=$enable_silent_rules; fi case $enable_silent_rules in # ((( yes) AM_DEFAULT_VERBOSITY=0;; no) AM_DEFAULT_VERBOSITY=1;; *) AM_DEFAULT_VERBOSITY=1;; esac am_make=${MAKE-make} { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 $as_echo_n "checking whether $am_make supports nested variables... " >&6; } if ${am_cv_make_support_nested_variables+:} false; then : $as_echo_n "(cached) " >&6 else if $as_echo 'TRUE=$(BAR$(V)) BAR0=false BAR1=true V=1 am__doit: @$(TRUE) .PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then am_cv_make_support_nested_variables=yes else am_cv_make_support_nested_variables=no fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 $as_echo "$am_cv_make_support_nested_variables" >&6; } if test $am_cv_make_support_nested_variables = yes; then AM_V='$(V)' AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' else AM_V=$AM_DEFAULT_VERBOSITY AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY fi AM_BACKSLASH='\' if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi # Define the identity of the package. PACKAGE='geda-gaf' VERSION='1.8.2' cat >>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" _ACEOF cat >>confdefs.h <<_ACEOF #define VERSION "$VERSION" _ACEOF # Some tools Automake needs. ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} # For better backward compatibility. To be removed once Automake 1.9.x # dies out for good. For more background, see: # # mkdir_p='$(MKDIR_P)' # We need awk for the "check" target. The system "awk" is bad on # some platforms. # Always define AMTAR for backward compatibility. Yes, it's still used # in the wild :-( We should find a proper way to deprecate it ... AMTAR='$${TAR-tar}' # We'll loop over all known methods to create a tar archive until one works. _am_tools='gnutar pax cpio none' am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 $as_echo_n "checking for style of include used by $am_make... " >&6; } am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # Ignore all kinds of additional output from 'make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include am__quote= _am_result=GNU ;; esac # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=.include am__quote="\"" _am_result=BSD ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 $as_echo "$_am_result" >&6; } rm -f confinc confmf # Check whether --enable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then : enableval=$enable_dependency_tracking; fi if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' am__nodep='_no' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else AMDEP_TRUE='#' AMDEP_FALSE= fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 $as_echo_n "checking whether the C compiler works... " >&6; } ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { { ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link_default") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi if test -z "$ac_file"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "C compiler cannot create executables See \`config.log' for more details" "$LINENO" 5; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 $as_echo_n "checking for C compiler default output file name... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 $as_echo "$ac_file" >&6; } ac_exeext=$ac_cv_exeext rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 $as_echo_n "checking for suffix of executables... " >&6; } if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 $as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { FILE *f = fopen ("conftest.out", "w"); return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF ac_clean_files="$ac_clean_files conftest.out" # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 $as_echo_n "checking whether we are cross compiling... " >&6; } if test "$cross_compiling" != yes; then { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if { ac_try='./conftest$ac_cv_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details" "$LINENO" 5; } fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 $as_echo "$cross_compiling" >&6; } rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } if ${ac_cv_objext+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 $as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } if ${ac_cv_c_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } if ${ac_cv_prog_cc_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if ${ac_cv_prog_cc_c89+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include struct stat; /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac if test "x$ac_cv_prog_cc_c89" != xno; then : fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CC" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if ${am_cv_CC_dependencies_compiler_type+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named 'D' -- because '-MD' means "put the output # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with # Solaris 10 /bin/sh. echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle '-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # After this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 $as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if ${ac_cv_prog_CPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 $as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } if ${ac_cv_path_GREP+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$GREP"; then ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_GREP" || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_GREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_GREP=$GREP fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 $as_echo "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } if ${ac_cv_path_EGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else if test -z "$EGREP"; then ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_EGREP" || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 $as_echo "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdc=yes else ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : else ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then $as_echo "#define STDC_HEADERS 1" >>confdefs.h fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default" if test "x$ac_cv_header_minix_config_h" = xyes; then : MINIX=yes else MINIX= fi if test "$MINIX" = yes; then $as_echo "#define _POSIX_SOURCE 1" >>confdefs.h $as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h $as_echo "#define _MINIX 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5 $as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; } if ${ac_cv_safe_to_define___extensions__+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ # define __EXTENSIONS__ 1 $ac_includes_default int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_safe_to_define___extensions__=yes else ac_cv_safe_to_define___extensions__=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5 $as_echo "$ac_cv_safe_to_define___extensions__" >&6; } test $ac_cv_safe_to_define___extensions__ = yes && $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h $as_echo "#define _ALL_SOURCE 1" >>confdefs.h $as_echo "#define _GNU_SOURCE 1" >>confdefs.h $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h # FIXME for some reason this is needed? ##################################################################### # Do version number magic ##################################################################### # Extract the first word of "git", so it can be a program name with args. set dummy git; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_GIT+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$GIT"; then ac_cv_prog_GIT="$GIT" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_GIT="git" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_prog_GIT" && ac_cv_prog_GIT="no" fi fi GIT=$ac_cv_prog_GIT if test -n "$GIT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GIT" >&5 $as_echo "$GIT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi HAVE_GIT_REPO=no if test "X$GIT" != "Xno"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the source directory is a git repository" >&5 $as_echo_n "checking if the source directory is a git repository... " >&6; } if (cd $srcdir && $GIT rev-parse --git-dir > /dev/null 2>&1); then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } HAVE_GIT_REPO=yes else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi # First split version specified with AC_INIT into dotted and date # parts init_sed_pattern="^\([\.0-9]*\)\.\([0-9]*\)$" DOTTED_VERSION="$PACKAGE_VERSION" DATE_VERSION="20130925" # If we're in a git repository, get the detailed version from git # describe. if test "X$HAVE_GIT_REPO" = "Xyes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking version from git repository" >&5 $as_echo_n "checking version from git repository... " >&6; } GIT_VERSION=`cd $srcdir && $GIT describe` { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GIT_VERSION" >&5 $as_echo "$GIT_VERSION" >&6; } fi # If there's an annotated tag available, test that the git version # and AC_INIT versions agree. if (cd $srcdir && git describe > /dev/null); then git_sed_pattern="^\([^-]*\)-\([^-]*\).*" GIT_DOTTED_VERSION=`echo $GIT_VERSION | sed -e"s/$git_sed_pattern/\1/"` GIT_DATE_VERSION=`echo $GIT_VERSION | sed -e"s/$git_sed_pattern/\2/"` if (test "X$GIT_DOTTED_VERSION" != "X$DOTTED_VERSION") || (test "X$GIT_DATE_VERSION" != "X$DATE_VERSION"); then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: The latest git tag name doesn't appear to match the version specified by the configure script." >&5 $as_echo "$as_me: WARNING: The latest git tag name doesn't appear to match the version specified by the configure script." >&2;} fi fi # We generate some files differently if a git repo is present if test "X$HAVE_GIT_REPO" = "Xyes"; then HAVE_GIT_REPO_TRUE= HAVE_GIT_REPO_FALSE='#' else HAVE_GIT_REPO_TRUE='#' HAVE_GIT_REPO_FALSE= fi # This is used for keeping the ChangeLog files up-to-date CHANGELOG_BASE=1.0-20070526 ##################################################################### # Windows/MinGW/Cygwin support ##################################################################### # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 $as_echo_n "checking build system type... " >&6; } if ${ac_cv_build+:} false; then : $as_echo_n "(cached) " >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 $as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' set x $ac_cv_build shift build_cpu=$1 build_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: build_os=$* IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 $as_echo_n "checking host system type... " >&6; } if ${ac_cv_host+:} false; then : $as_echo_n "(cached) " >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' set x $ac_cv_host shift host_cpu=$1 host_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: host_os=$* IFS=$ac_save_IFS case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac # Need to distinguish between native Windows (via MinGW) and Unix # compat. layer on Windows (Cygwin). OS_WIN32_NATIVE=no OS_CYGWIN=no OS_LINUX=no case "$host" in *-*-linux*) OS_LINUX=yes $as_echo "#define OS_LINUX 1" >>confdefs.h ;; *-*-mingw*) OS_WIN32_NATIVE=yes $as_echo "#define OS_WIN32_NATIVE 1" >>confdefs.h ;; *-*-cygwin*) OS_CYGWIN=yes $as_echo "#define OS_CYGWIN 1" >>confdefs.h ;; *) ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Linux host" >&5 $as_echo_n "checking for Linux host... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OS_LINUX" >&5 $as_echo "$OS_LINUX" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Windows host" >&5 $as_echo_n "checking for Windows host... " >&6; } OS_WIN32=no if test "$OS_WIN32_NATIVE" = "yes" || test "$OS_CYGWIN" = "yes" ; then OS_WIN32=yes $as_echo "#define OS_WIN32 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OS_WIN32" >&5 $as_echo "$OS_WIN32" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Cygwin host" >&5 $as_echo_n "checking for Cygwin host... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OS_CYGWIN" >&5 $as_echo "$OS_CYGWIN" >&6; } # Carbon is the best way to check for OSX. There are some non-OSX # Darwin platforms out there! { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Mac OS X Carbon host" >&5 $as_echo_n "checking for Mac OS X Carbon host... " >&6; } OS_CARBON=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : OS_CARBON=yes $as_echo "#define OS_CARBON 1" >>confdefs.h fi rm -f conftest.err conftest.i conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OS_CARBON" >&5 $as_echo "$OS_CARBON" >&6; } if test "$PLATFORM_WIN32" = "yes"; then WINDOWS_LIBTOOL_FLAGS=-no-undefined fi if test "$PLATFORM_WIN32_NATIVE" = "yes"; then MINGW_GUI_LDFLAGS=-mwindows MINGW_CFLAGS="-mms-bitfields" fi ##################################################################### # Check for compiling & linking tools ##################################################################### ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } if ${ac_cv_c_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } if ${ac_cv_prog_cc_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if ${ac_cv_prog_cc_c89+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include struct stat; /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac if test "x$ac_cv_prog_cc_c89" != xno; then : fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CC" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if ${am_cv_CC_dependencies_compiler_type+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named 'D' -- because '-MD' means "put the output # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with # Solaris 10 /bin/sh. echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle '-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # After this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 $as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if ${ac_cv_prog_CPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 $as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu enable_win32_dll=yes case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. set dummy ${ac_tool_prefix}as; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_AS+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AS"; then ac_cv_prog_AS="$AS" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AS="${ac_tool_prefix}as" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AS=$ac_cv_prog_AS if test -n "$AS"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5 $as_echo "$AS" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_AS"; then ac_ct_AS=$AS # Extract the first word of "as", so it can be a program name with args. set dummy as; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_AS+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_AS"; then ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_AS="as" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_AS=$ac_cv_prog_ac_ct_AS if test -n "$ac_ct_AS"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AS" >&5 $as_echo "$ac_ct_AS" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_AS" = x; then AS="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac AS=$ac_ct_AS fi else AS="$ac_cv_prog_AS" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. set dummy ${ac_tool_prefix}dlltool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_DLLTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$DLLTOOL"; then ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DLLTOOL=$ac_cv_prog_DLLTOOL if test -n "$DLLTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 $as_echo "$DLLTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_DLLTOOL"; then ac_ct_DLLTOOL=$DLLTOOL # Extract the first word of "dlltool", so it can be a program name with args. set dummy dlltool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DLLTOOL"; then ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_DLLTOOL="dlltool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL if test -n "$ac_ct_DLLTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 $as_echo "$ac_ct_DLLTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_DLLTOOL" = x; then DLLTOOL="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DLLTOOL=$ac_ct_DLLTOOL fi else DLLTOOL="$ac_cv_prog_DLLTOOL" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. set dummy ${ac_tool_prefix}objdump; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_OBJDUMP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$OBJDUMP"; then ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OBJDUMP=$ac_cv_prog_OBJDUMP if test -n "$OBJDUMP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 $as_echo "$OBJDUMP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OBJDUMP"; then ac_ct_OBJDUMP=$OBJDUMP # Extract the first word of "objdump", so it can be a program name with args. set dummy objdump; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OBJDUMP"; then ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_OBJDUMP="objdump" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP if test -n "$ac_ct_OBJDUMP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 $as_echo "$ac_ct_OBJDUMP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OBJDUMP" = x; then OBJDUMP="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OBJDUMP=$ac_ct_OBJDUMP fi else OBJDUMP="$ac_cv_prog_OBJDUMP" fi ;; esac test -z "$AS" && AS=as test -z "$DLLTOOL" && DLLTOOL=dlltool test -z "$OBJDUMP" && OBJDUMP=objdump # Check whether --enable-static was given. if test "${enable_static+set}" = set; then : enableval=$enable_static; p=${PACKAGE-default} case $enableval in yes) enable_static=yes ;; no) enable_static=no ;; *) enable_static=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_static=yes fi done IFS="$lt_save_ifs" ;; esac else enable_static=no fi case `pwd` in *\ * | *\ *) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 $as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; esac macro_version='2.4.2' macro_revision='1.3337' ltmain="$ac_aux_dir/ltmain.sh" # Backslashify metacharacters that are still active within # double-quoted strings. sed_quote_subst='s/\(["`$\\]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\(["`\\]\)/\\\1/g' # Sed substitution to delay expansion of an escaped shell variable in a # double_quote_subst'ed string. delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' # Sed substitution to delay expansion of an escaped single quote. delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' # Sed substitution to avoid accidental globbing in evaled expressions no_glob_subst='s/\*/\\\*/g' ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 $as_echo_n "checking how to print strings... " >&6; } # Test print first, because it will be a builtin if present. if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='print -r --' elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='printf %s\n' else # Use this function as a fallback that always works. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $1 _LTECHO_EOF' } ECHO='func_fallback_echo' fi # func_echo_all arg... # Invoke $ECHO with all args, space-separated. func_echo_all () { $ECHO "" } case "$ECHO" in printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 $as_echo "printf" >&6; } ;; print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 $as_echo "print -r" >&6; } ;; *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 $as_echo "cat" >&6; } ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 $as_echo_n "checking for a sed that does not truncate output... " >&6; } if ${ac_cv_path_SED+:} false; then : $as_echo_n "(cached) " >&6 else ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ for ac_i in 1 2 3 4 5 6 7; do ac_script="$ac_script$as_nl$ac_script" done echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed { ac_script=; unset ac_script;} if test -z "$SED"; then ac_path_SED_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_SED" || continue # Check for GNU ac_path_SED and select it if it is found. # Check for GNU $ac_path_SED case `"$ac_path_SED" --version 2>&1` in *GNU*) ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo '' >> "conftest.nl" "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_SED_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_SED="$ac_path_SED" ac_path_SED_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_SED_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_SED"; then as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 fi else ac_cv_path_SED=$SED fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 $as_echo "$ac_cv_path_SED" >&6; } SED="$ac_cv_path_SED" rm -f conftest.sed test -z "$SED" && SED=sed Xsed="$SED -e 1s/^X//" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 $as_echo_n "checking for fgrep... " >&6; } if ${ac_cv_path_FGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 then ac_cv_path_FGREP="$GREP -F" else if test -z "$FGREP"; then ac_path_FGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in fgrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_FGREP" || continue # Check for GNU ac_path_FGREP and select it if it is found. # Check for GNU $ac_path_FGREP case `"$ac_path_FGREP" --version 2>&1` in *GNU*) ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'FGREP' >> "conftest.nl" "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_FGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_FGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_FGREP"; then as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_FGREP=$FGREP fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 $as_echo "$ac_cv_path_FGREP" >&6; } FGREP="$ac_cv_path_FGREP" test -z "$GREP" && GREP=grep # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then : withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 $as_echo_n "checking for ld used by $CC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | ?:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the pathname of ld ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 $as_echo_n "checking for GNU ld... " >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 $as_echo_n "checking for non-GNU ld... " >&6; } fi if ${lt_cv_path_LD+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$LD"; then lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 $as_echo "$LD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } if ${lt_cv_prog_gnu_ld+:} false; then : $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 $as_echo "$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } if ${lt_cv_path_NM+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM="$NM" else lt_nm_to_check="${ac_tool_prefix}nm" if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. tmp_nm="$ac_dir/$lt_tmp_nm" if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then # Check to see if the nm accepts a BSD-compat flag. # Adding the `sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored # Tru64's nm complains that /dev/null is an invalid object file case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in */dev/null* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break ;; *) case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break ;; *) lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but continue # so that we can try to find one that supports BSD flags ;; esac ;; esac fi done IFS="$lt_save_ifs" done : ${lt_cv_path_NM=no} fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 $as_echo "$lt_cv_path_NM" >&6; } if test "$lt_cv_path_NM" != "no"; then NM="$lt_cv_path_NM" else # Didn't find any BSD compatible name lister, look for dumpbin. if test -n "$DUMPBIN"; then : # Let the user override the test. else if test -n "$ac_tool_prefix"; then for ac_prog in dumpbin "link -dump" do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_DUMPBIN+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$DUMPBIN"; then ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DUMPBIN=$ac_cv_prog_DUMPBIN if test -n "$DUMPBIN"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 $as_echo "$DUMPBIN" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$DUMPBIN" && break done fi if test -z "$DUMPBIN"; then ac_ct_DUMPBIN=$DUMPBIN for ac_prog in dumpbin "link -dump" do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DUMPBIN"; then ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN if test -n "$ac_ct_DUMPBIN"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 $as_echo "$ac_ct_DUMPBIN" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_DUMPBIN" && break done if test "x$ac_ct_DUMPBIN" = x; then DUMPBIN=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DUMPBIN=$ac_ct_DUMPBIN fi fi case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in *COFF*) DUMPBIN="$DUMPBIN -symbols" ;; *) DUMPBIN=: ;; esac fi if test "$DUMPBIN" != ":"; then NM="$DUMPBIN" fi fi test -z "$NM" && NM=nm { $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 $as_echo_n "checking the name lister ($NM) interface... " >&6; } if ${lt_cv_nm_interface+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&5 (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&5 (eval echo "\"\$as_me:$LINENO: output\"" >&5) cat conftest.out >&5 if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 $as_echo "$lt_cv_nm_interface" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 $as_echo_n "checking whether ln -s works... " >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 $as_echo "no, using $LN_S" >&6; } fi # find the maximum length of command line arguments { $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 $as_echo_n "checking the maximum length of command line arguments... " >&6; } if ${lt_cv_sys_max_cmd_len+:} false; then : $as_echo_n "(cached) " >&6 else i=0 teststring="ABCD" case $build_os in msdosdjgpp*) # On DJGPP, this test can blow up pretty badly due to problems in libc # (any single argument exceeding 2000 bytes causes a buffer overrun # during glob expansion). Even if it were fixed, the result of this # check would be larger than it should be. lt_cv_sys_max_cmd_len=12288; # 12K is about right ;; gnu*) # Under GNU Hurd, this test is not required because there is # no limit to the length of command line arguments. # Libtool will interpret -1 as no limit whatsoever lt_cv_sys_max_cmd_len=-1; ;; cygwin* | mingw* | cegcc*) # On Win9x/ME, this test blows up -- it succeeds, but takes # about 5 minutes as the teststring grows exponentially. # Worse, since 9x/ME are not pre-emptively multitasking, # you end up with a "frozen" computer, even though with patience # the test eventually succeeds (with a max line length of 256k). # Instead, let's just punt: use the minimum linelength reported by # all of the supported platforms: 8192 (on NT/2K/XP). lt_cv_sys_max_cmd_len=8192; ;; mint*) # On MiNT this can take a long time and run out of memory. lt_cv_sys_max_cmd_len=8192; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; os2*) # The test takes a long time on OS/2. lt_cv_sys_max_cmd_len=8192 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else # Make teststring a little bigger before we do anything with it. # a 1K string should be a reasonable start. for i in 1 2 3 4 5 6 7 8 ; do teststring=$teststring$teststring done SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \ = "X$teststring$teststring"; } >/dev/null 2>&1 && test $i != 17 # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done # Only check the string length outside the loop. lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` teststring= # Add a significant safety factor because C++ compilers can tack on # massive amounts of additional arguments before passing them to the # linker. It appears as though 1/2 is a usable value. lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` fi ;; esac fi if test -n $lt_cv_sys_max_cmd_len ; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 $as_echo "$lt_cv_sys_max_cmd_len" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 $as_echo "none" >&6; } fi max_cmd_len=$lt_cv_sys_max_cmd_len : ${CP="cp -f"} : ${MV="mv -f"} : ${RM="rm -f"} { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5 $as_echo_n "checking whether the shell understands some XSI constructs... " >&6; } # Try some XSI features xsi_shell=no ( _lt_dummy="a/b/c" test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \ = c,a/b,b/c, \ && eval 'test $(( 1 + 1 )) -eq 2 \ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ && xsi_shell=yes { $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5 $as_echo "$xsi_shell" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5 $as_echo_n "checking whether the shell understands \"+=\"... " >&6; } lt_shell_append=no ( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \ >/dev/null 2>&1 \ && lt_shell_append=yes { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5 $as_echo "$lt_shell_append" >&6; } if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then lt_unset=unset else lt_unset=false fi # test EBCDIC or ASCII case `echo X|tr X '\101'` in A) # ASCII based system # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr lt_SP2NL='tr \040 \012' lt_NL2SP='tr \015\012 \040\040' ;; *) # EBCDIC based system lt_SP2NL='tr \100 \n' lt_NL2SP='tr \r\n \100\100' ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 $as_echo_n "checking how to convert $build file names to $host format... " >&6; } if ${lt_cv_to_host_file_cmd+:} false; then : $as_echo_n "(cached) " >&6 else case $host in *-*-mingw* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 ;; *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 ;; * ) # otherwise, assume *nix lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 ;; esac ;; *-*-cygwin* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin ;; *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_noop ;; * ) # otherwise, assume *nix lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin ;; esac ;; * ) # unhandled hosts (and "normal" native builds) lt_cv_to_host_file_cmd=func_convert_file_noop ;; esac fi to_host_file_cmd=$lt_cv_to_host_file_cmd { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 $as_echo "$lt_cv_to_host_file_cmd" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 $as_echo_n "checking how to convert $build file names to toolchain format... " >&6; } if ${lt_cv_to_tool_file_cmd+:} false; then : $as_echo_n "(cached) " >&6 else #assume ordinary cross tools, or native build. lt_cv_to_tool_file_cmd=func_convert_file_noop case $host in *-*-mingw* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 ;; esac ;; esac fi to_tool_file_cmd=$lt_cv_to_tool_file_cmd { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 $as_echo "$lt_cv_to_tool_file_cmd" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 $as_echo_n "checking for $LD option to reload object files... " >&6; } if ${lt_cv_ld_reload_flag+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_ld_reload_flag='-r' fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 $as_echo "$lt_cv_ld_reload_flag" >&6; } reload_flag=$lt_cv_ld_reload_flag case $reload_flag in "" | " "*) ;; *) reload_flag=" $reload_flag" ;; esac reload_cmds='$LD$reload_flag -o $output$reload_objs' case $host_os in cygwin* | mingw* | pw32* | cegcc*) if test "$GCC" != yes; then reload_cmds=false fi ;; darwin*) if test "$GCC" = yes; then reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' else reload_cmds='$LD$reload_flag -o $output$reload_objs' fi ;; esac if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. set dummy ${ac_tool_prefix}objdump; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_OBJDUMP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$OBJDUMP"; then ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OBJDUMP=$ac_cv_prog_OBJDUMP if test -n "$OBJDUMP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 $as_echo "$OBJDUMP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OBJDUMP"; then ac_ct_OBJDUMP=$OBJDUMP # Extract the first word of "objdump", so it can be a program name with args. set dummy objdump; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OBJDUMP"; then ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_OBJDUMP="objdump" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP if test -n "$ac_ct_OBJDUMP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 $as_echo "$ac_ct_OBJDUMP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OBJDUMP" = x; then OBJDUMP="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OBJDUMP=$ac_ct_OBJDUMP fi else OBJDUMP="$ac_cv_prog_OBJDUMP" fi test -z "$OBJDUMP" && OBJDUMP=objdump { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 $as_echo_n "checking how to recognize dependent libraries... " >&6; } if ${lt_cv_deplibs_check_method+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_file_magic_cmd='$MAGIC_CMD' lt_cv_file_magic_test_file= lt_cv_deplibs_check_method='unknown' # Need to set the preceding variable on all platforms that support # interlibrary dependencies. # 'none' -- dependencies not supported. # `unknown' -- same as none, but documents that we really don't know. # 'pass_all' -- all dependencies passed with no checks. # 'test_compile' -- check by making test program. # 'file_magic [[regex]]' -- check by looking for files in library path # which responds to the $file_magic_cmd with a given extended regex. # If you have `file' or equivalent on your system and you're not sure # whether `pass_all' will *always* work, you probably want this one. case $host_os in aix[4-9]*) lt_cv_deplibs_check_method=pass_all ;; beos*) lt_cv_deplibs_check_method=pass_all ;; bsdi[45]*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' lt_cv_file_magic_cmd='/usr/bin/file -L' lt_cv_file_magic_test_file=/shlib/libc.so ;; cygwin*) # func_win32_libid is a shell function defined in ltmain.sh lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' ;; mingw* | pw32*) # Base MSYS/MinGW do not provide the 'file' command needed by # func_win32_libid shell function, so use a weaker test based on 'objdump', # unless we find 'file', for example because we are cross-compiling. # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin. if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else # Keep this pattern in sync with the one in func_win32_libid. lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; cegcc*) # use the weaker test based on 'objdump'. See mingw*. lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' lt_cv_file_magic_cmd='$OBJDUMP -f' ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac else lt_cv_deplibs_check_method=pass_all fi ;; gnu*) lt_cv_deplibs_check_method=pass_all ;; haiku*) lt_cv_deplibs_check_method=pass_all ;; hpux10.20* | hpux11*) lt_cv_file_magic_cmd=/usr/bin/file case $host_cpu in ia64*) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so ;; hppa*64*) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]' lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl ;; *) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library' lt_cv_file_magic_test_file=/usr/lib/libc.sl ;; esac ;; interix[3-9]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu) lt_cv_deplibs_check_method=pass_all ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' fi ;; newos6*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; *nto* | *qnx*) lt_cv_deplibs_check_method=pass_all ;; openbsd*) if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) case $host_vendor in motorola) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` ;; ncr) lt_cv_deplibs_check_method=pass_all ;; sequent) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;; sni) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" lt_cv_file_magic_test_file=/lib/libc.so ;; siemens) lt_cv_deplibs_check_method=pass_all ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; tpf*) lt_cv_deplibs_check_method=pass_all ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 $as_echo "$lt_cv_deplibs_check_method" >&6; } file_magic_glob= want_nocaseglob=no if test "$build" = "$host"; then case $host_os in mingw* | pw32*) if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then want_nocaseglob=yes else file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` fi ;; esac fi file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method test -z "$deplibs_check_method" && deplibs_check_method=unknown if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. set dummy ${ac_tool_prefix}dlltool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_DLLTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$DLLTOOL"; then ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DLLTOOL=$ac_cv_prog_DLLTOOL if test -n "$DLLTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 $as_echo "$DLLTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_DLLTOOL"; then ac_ct_DLLTOOL=$DLLTOOL # Extract the first word of "dlltool", so it can be a program name with args. set dummy dlltool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DLLTOOL"; then ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_DLLTOOL="dlltool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL if test -n "$ac_ct_DLLTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 $as_echo "$ac_ct_DLLTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_DLLTOOL" = x; then DLLTOOL="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DLLTOOL=$ac_ct_DLLTOOL fi else DLLTOOL="$ac_cv_prog_DLLTOOL" fi test -z "$DLLTOOL" && DLLTOOL=dlltool { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 $as_echo_n "checking how to associate runtime and link libraries... " >&6; } if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_sharedlib_from_linklib_cmd='unknown' case $host_os in cygwin* | mingw* | pw32* | cegcc*) # two different shell functions defined in ltmain.sh # decide which to use based on capabilities of $DLLTOOL case `$DLLTOOL --help 2>&1` in *--identify-strict*) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib ;; *) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback ;; esac ;; *) # fallback: assume linklib IS sharedlib lt_cv_sharedlib_from_linklib_cmd="$ECHO" ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 $as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO if test -n "$ac_tool_prefix"; then for ac_prog in ar do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_AR+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AR="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AR=$ac_cv_prog_AR if test -n "$AR"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 $as_echo "$AR" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$AR" && break done fi if test -z "$AR"; then ac_ct_AR=$AR for ac_prog in ar do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_AR+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_AR"; then ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_AR="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_AR=$ac_cv_prog_ac_ct_AR if test -n "$ac_ct_AR"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 $as_echo "$ac_ct_AR" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_AR" && break done if test "x$ac_ct_AR" = x; then AR="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac AR=$ac_ct_AR fi fi : ${AR=ar} : ${AR_FLAGS=cru} { $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 $as_echo_n "checking for archiver @FILE support... " >&6; } if ${lt_cv_ar_at_file+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_ar_at_file=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : echo conftest.$ac_objext > conftest.lst lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 (eval $lt_ar_try) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if test "$ac_status" -eq 0; then # Ensure the archiver fails upon bogus file names. rm -f conftest.$ac_objext libconftest.a { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 (eval $lt_ar_try) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if test "$ac_status" -ne 0; then lt_cv_ar_at_file=@ fi fi rm -f conftest.* libconftest.a fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 $as_echo "$lt_cv_ar_at_file" >&6; } if test "x$lt_cv_ar_at_file" = xno; then archiver_list_spec= else archiver_list_spec=$lt_cv_ar_at_file fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi test -z "$STRIP" && STRIP=: if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 $as_echo "$RANLIB" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_RANLIB="ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 $as_echo "$ac_ct_RANLIB" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_RANLIB" = x; then RANLIB=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB fi else RANLIB="$ac_cv_prog_RANLIB" fi test -z "$RANLIB" && RANLIB=: # Determine commands to create old-style static archives. old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' old_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" fi case $host_os in darwin*) lock_old_archive_extraction=yes ;; *) lock_old_archive_extraction=no ;; esac # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # Check for command to grab the raw symbol name followed by C symbol from nm. { $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } if ${lt_cv_sys_global_symbol_pipe+:} false; then : $as_echo_n "(cached) " >&6 else # These are sane defaults that work on at least a few old systems. # [They come from Ultrix. What could be older than Ultrix?!! ;)] # Character class describing NM global symbol codes. symcode='[BCDEGRST]' # Regexp to match symbols that can be accessed directly from C. sympat='\([_A-Za-z][_A-Za-z0-9]*\)' # Define system-specific variables. case $host_os in aix*) symcode='[BCDT]' ;; cygwin* | mingw* | pw32* | cegcc*) symcode='[ABCDGISTW]' ;; hpux*) if test "$host_cpu" = ia64; then symcode='[ABCDEGRST]' fi ;; irix* | nonstopux*) symcode='[BCDEGRST]' ;; osf*) symcode='[BCDEGQRST]' ;; solaris*) symcode='[BDRT]' ;; sco3.2v5*) symcode='[DT]' ;; sysv4.2uw2*) symcode='[DT]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[ABDT]' ;; sysv4) symcode='[DFNSTU]' ;; esac # If we're using GNU nm, then use its standard symbol codes. case `$NM -V 2>&1` in *GNU* | *'with BFD'*) symcode='[ABCDGIRSTW]' ;; esac # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'" lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'" # Handle CRLF in mingw tool chain opt_cr= case $build_os in mingw*) opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp ;; esac # Try without a prefix underscore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # Write the raw and C identifiers. if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Fake it for dumpbin and say T for any non-static function # and D for any global variable. # Also find C++ and __fastcall symbols from MSVC++, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK '"\ " {last_section=section; section=\$ 3};"\ " /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ " \$ 0!~/External *\|/{next};"\ " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ " {if(hide[section]) next};"\ " {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ " {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ " s[1]~/^[@?]/{print s[1], s[1]; next};"\ " s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ " ' prfx=^$ac_symprfx" else lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" # Check to see that the pipe works correctly. pipe_works=no rm -f conftest* cat > conftest.$ac_ext <<_LT_EOF #ifdef __cplusplus extern "C" { #endif char nm_test_var; void nm_test_func(void); void nm_test_func(void){} #ifdef __cplusplus } #endif int main(){nm_test_var='a';nm_test_func();return(0);} _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then # Now try to grab the symbols. nlist=conftest.nm if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" else rm -f "$nlist"T fi # Make sure that we snagged all the symbols we need. if $GREP ' nm_test_var$' "$nlist" >/dev/null; then if $GREP ' nm_test_func$' "$nlist" >/dev/null; then cat <<_LT_EOF > conftest.$ac_ext /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ #if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) /* DATA imports from DLLs on WIN32 con't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs. */ # define LT_DLSYM_CONST #elif defined(__osf__) /* This system does not cope well with relocations in const data. */ # define LT_DLSYM_CONST #else # define LT_DLSYM_CONST const #endif #ifdef __cplusplus extern "C" { #endif _LT_EOF # Now generate the symbol file. eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' cat <<_LT_EOF >> conftest.$ac_ext /* The mapping between symbol names and symbols. */ LT_DLSYM_CONST struct { const char *name; void *address; } lt__PROGRAM__LTX_preloaded_symbols[] = { { "@PROGRAM@", (void *) 0 }, _LT_EOF $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext cat <<\_LT_EOF >> conftest.$ac_ext {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt__PROGRAM__LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif _LT_EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext lt_globsym_save_LIBS=$LIBS lt_globsym_save_CFLAGS=$CFLAGS LIBS="conftstm.$ac_objext" CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest${ac_exeext}; then pipe_works=yes fi LIBS=$lt_globsym_save_LIBS CFLAGS=$lt_globsym_save_CFLAGS else echo "cannot find nm_test_func in $nlist" >&5 fi else echo "cannot find nm_test_var in $nlist" >&5 fi else echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 fi else echo "$progname: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -rf conftest* conftst* # Do not use the global_symbol_pipe unless it works. if test "$pipe_works" = yes; then break else lt_cv_sys_global_symbol_pipe= fi done fi if test -z "$lt_cv_sys_global_symbol_pipe"; then lt_cv_sys_global_symbol_to_cdecl= fi if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 $as_echo "failed" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 $as_echo "ok" >&6; } fi # Response file support. if test "$lt_cv_nm_interface" = "MS dumpbin"; then nm_file_list_spec='@' elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then nm_file_list_spec='@' fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 $as_echo_n "checking for sysroot... " >&6; } # Check whether --with-sysroot was given. if test "${with_sysroot+set}" = set; then : withval=$with_sysroot; else with_sysroot=no fi lt_sysroot= case ${with_sysroot} in #( yes) if test "$GCC" = yes; then lt_sysroot=`$CC --print-sysroot 2>/dev/null` fi ;; #( /*) lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` ;; #( no|'') ;; #( *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5 $as_echo "${with_sysroot}" >&6; } as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 $as_echo "${lt_sysroot:-no}" >&6; } # Check whether --enable-libtool-lock was given. if test "${enable_libtool_lock+set}" = set; then : enableval=$enable_libtool_lock; fi test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes # Some flags need to be propagated to the compiler or linker for good # libtool support. case $host in ia64-*-hpux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE="32" ;; *ELF-64*) HPUX_IA64_MODE="64" ;; esac fi rm -rf conftest* ;; *-*-irix6*) # Find out which ABI we are using. echo '#line '$LINENO' "configure"' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then if test "$lt_cv_prog_gnu_ld" = yes; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; *N32*) LD="${LD-ld} -melf32bmipn32" ;; *64-bit*) LD="${LD-ld} -melf64bmip" ;; esac else case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; *N32*) LD="${LD-ld} -n32" ;; *64-bit*) LD="${LD-ld} -64" ;; esac fi fi rm -rf conftest* ;; x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_i386" ;; ppc64-*linux*|powerpc64-*linux*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) LD="${LD-ld} -m elf_s390" ;; sparc64-*linux*) LD="${LD-ld} -m elf32_sparc" ;; esac ;; *64-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; ppc*-*linux*|powerpc*-*linux*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*|s390*-*tpf*) LD="${LD-ld} -m elf64_s390" ;; sparc*-*linux*) LD="${LD-ld} -m elf64_sparc" ;; esac ;; esac fi rm -rf conftest* ;; *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 $as_echo_n "checking whether the C compiler needs -belf... " >&6; } if ${lt_cv_cc_needs_belf+:} false; then : $as_echo_n "(cached) " >&6 else ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_cv_cc_needs_belf=yes else lt_cv_cc_needs_belf=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 $as_echo "$lt_cv_cc_needs_belf" >&6; } if test x"$lt_cv_cc_needs_belf" != x"yes"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf CFLAGS="$SAVE_CFLAGS" fi ;; *-*solaris*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) case $host in i?86-*-solaris*) LD="${LD-ld} -m elf_x86_64" ;; sparc*-*-solaris*) LD="${LD-ld} -m elf64_sparc" ;; esac # GNU ld 2.21 introduced _sol2 emulations. Use them if available. if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then LD="${LD-ld}_sol2" fi ;; *) if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then LD="${LD-ld} -64" fi ;; esac ;; esac fi rm -rf conftest* ;; esac need_locks="$enable_libtool_lock" if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. set dummy ${ac_tool_prefix}mt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_MANIFEST_TOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$MANIFEST_TOOL"; then ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL if test -n "$MANIFEST_TOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 $as_echo "$MANIFEST_TOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_MANIFEST_TOOL"; then ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL # Extract the first word of "mt", so it can be a program name with args. set dummy mt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_MANIFEST_TOOL"; then ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL if test -n "$ac_ct_MANIFEST_TOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 $as_echo "$ac_ct_MANIFEST_TOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_MANIFEST_TOOL" = x; then MANIFEST_TOOL=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL fi else MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" fi test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 $as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } if ${lt_cv_path_mainfest_tool+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_path_mainfest_tool=no echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out cat conftest.err >&5 if $GREP 'Manifest Tool' conftest.out > /dev/null; then lt_cv_path_mainfest_tool=yes fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 $as_echo "$lt_cv_path_mainfest_tool" >&6; } if test "x$lt_cv_path_mainfest_tool" != xyes; then MANIFEST_TOOL=: fi case $host_os in rhapsody* | darwin*) if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_DSYMUTIL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$DSYMUTIL"; then ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DSYMUTIL=$ac_cv_prog_DSYMUTIL if test -n "$DSYMUTIL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 $as_echo "$DSYMUTIL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_DSYMUTIL"; then ac_ct_DSYMUTIL=$DSYMUTIL # Extract the first word of "dsymutil", so it can be a program name with args. set dummy dsymutil; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DSYMUTIL"; then ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL if test -n "$ac_ct_DSYMUTIL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 $as_echo "$ac_ct_DSYMUTIL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_DSYMUTIL" = x; then DSYMUTIL=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DSYMUTIL=$ac_ct_DSYMUTIL fi else DSYMUTIL="$ac_cv_prog_DSYMUTIL" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. set dummy ${ac_tool_prefix}nmedit; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_NMEDIT+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$NMEDIT"; then ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi NMEDIT=$ac_cv_prog_NMEDIT if test -n "$NMEDIT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 $as_echo "$NMEDIT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_NMEDIT"; then ac_ct_NMEDIT=$NMEDIT # Extract the first word of "nmedit", so it can be a program name with args. set dummy nmedit; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_NMEDIT"; then ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_NMEDIT="nmedit" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT if test -n "$ac_ct_NMEDIT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 $as_echo "$ac_ct_NMEDIT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_NMEDIT" = x; then NMEDIT=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac NMEDIT=$ac_ct_NMEDIT fi else NMEDIT="$ac_cv_prog_NMEDIT" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. set dummy ${ac_tool_prefix}lipo; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_LIPO+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$LIPO"; then ac_cv_prog_LIPO="$LIPO" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_LIPO="${ac_tool_prefix}lipo" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi LIPO=$ac_cv_prog_LIPO if test -n "$LIPO"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 $as_echo "$LIPO" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_LIPO"; then ac_ct_LIPO=$LIPO # Extract the first word of "lipo", so it can be a program name with args. set dummy lipo; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_LIPO+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_LIPO"; then ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_LIPO="lipo" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO if test -n "$ac_ct_LIPO"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 $as_echo "$ac_ct_LIPO" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_LIPO" = x; then LIPO=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac LIPO=$ac_ct_LIPO fi else LIPO="$ac_cv_prog_LIPO" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. set dummy ${ac_tool_prefix}otool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_OTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$OTOOL"; then ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_OTOOL="${ac_tool_prefix}otool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OTOOL=$ac_cv_prog_OTOOL if test -n "$OTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 $as_echo "$OTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OTOOL"; then ac_ct_OTOOL=$OTOOL # Extract the first word of "otool", so it can be a program name with args. set dummy otool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_OTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OTOOL"; then ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_OTOOL="otool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL if test -n "$ac_ct_OTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 $as_echo "$ac_ct_OTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OTOOL" = x; then OTOOL=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OTOOL=$ac_ct_OTOOL fi else OTOOL="$ac_cv_prog_OTOOL" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. set dummy ${ac_tool_prefix}otool64; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_OTOOL64+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$OTOOL64"; then ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OTOOL64=$ac_cv_prog_OTOOL64 if test -n "$OTOOL64"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 $as_echo "$OTOOL64" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OTOOL64"; then ac_ct_OTOOL64=$OTOOL64 # Extract the first word of "otool64", so it can be a program name with args. set dummy otool64; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OTOOL64"; then ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_OTOOL64="otool64" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 if test -n "$ac_ct_OTOOL64"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 $as_echo "$ac_ct_OTOOL64" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OTOOL64" = x; then OTOOL64=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OTOOL64=$ac_ct_OTOOL64 fi else OTOOL64="$ac_cv_prog_OTOOL64" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 $as_echo_n "checking for -single_module linker flag... " >&6; } if ${lt_cv_apple_cc_single_mod+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_apple_cc_single_mod=no if test -z "${LT_MULTI_MODULE}"; then # By default we will add the -single_module flag. You can override # by either setting the environment variable LT_MULTI_MODULE # non-empty at configure time, or by adding -multi_module to the # link flags. rm -rf libconftest.dylib* echo "int foo(void){return 1;}" > conftest.c echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c" >&5 $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err _lt_result=$? # If there is a non-empty error log, and "single_module" # appears in it, assume the flag caused a linker warning if test -s conftest.err && $GREP single_module conftest.err; then cat conftest.err >&5 # Otherwise, if the output was created with a 0 exit code from # the compiler, it worked. elif test -f libconftest.dylib && test $_lt_result -eq 0; then lt_cv_apple_cc_single_mod=yes else cat conftest.err >&5 fi rm -rf libconftest.dylib* rm -f conftest.* fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 $as_echo "$lt_cv_apple_cc_single_mod" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } if ${lt_cv_ld_exported_symbols_list+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_ld_exported_symbols_list=no save_LDFLAGS=$LDFLAGS echo "_main" > conftest.sym LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_cv_ld_exported_symbols_list=yes else lt_cv_ld_exported_symbols_list=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 $as_echo_n "checking for -force_load linker flag... " >&6; } if ${lt_cv_ld_force_load+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_ld_force_load=no cat > conftest.c << _LT_EOF int forced_loaded() { return 2;} _LT_EOF echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 echo "$AR cru libconftest.a conftest.o" >&5 $AR cru libconftest.a conftest.o 2>&5 echo "$RANLIB libconftest.a" >&5 $RANLIB libconftest.a 2>&5 cat > conftest.c << _LT_EOF int main() { return 0;} _LT_EOF echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err _lt_result=$? if test -s conftest.err && $GREP force_load conftest.err; then cat conftest.err >&5 elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then lt_cv_ld_force_load=yes else cat conftest.err >&5 fi rm -f conftest.err libconftest.a conftest conftest.c rm -rf conftest.dSYM fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 $as_echo "$lt_cv_ld_force_load" >&6; } case $host_os in rhapsody* | darwin1.[012]) _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; darwin1.*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; darwin*) # darwin 5.x on # if running on 10.5 or later, the deployment target defaults # to the OS version, if on x86, and 10.4, the deployment # target defaults to 10.4. Don't you love it? case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 10.0,*86*-darwin8*|10.0,*-darwin[91]*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; 10.[012]*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; esac ;; esac if test "$lt_cv_apple_cc_single_mod" = "yes"; then _lt_dar_single_mod='$single_module' fi if test "$lt_cv_ld_exported_symbols_list" = "yes"; then _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' else _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' fi if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then _lt_dsymutil='~$DSYMUTIL $lib || :' else _lt_dsymutil= fi ;; esac for ac_header in dlfcn.h do : ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default " if test "x$ac_cv_header_dlfcn_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_DLFCN_H 1 _ACEOF fi done # Set options enable_dlopen=no # Check whether --enable-shared was given. if test "${enable_shared+set}" = set; then : enableval=$enable_shared; p=${PACKAGE-default} case $enableval in yes) enable_shared=yes ;; no) enable_shared=no ;; *) enable_shared=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_shared=yes fi done IFS="$lt_save_ifs" ;; esac else enable_shared=yes fi # Check whether --with-pic was given. if test "${with_pic+set}" = set; then : withval=$with_pic; lt_p=${PACKAGE-default} case $withval in yes|no) pic_mode=$withval ;; *) pic_mode=default # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for lt_pkg in $withval; do IFS="$lt_save_ifs" if test "X$lt_pkg" = "X$lt_p"; then pic_mode=yes fi done IFS="$lt_save_ifs" ;; esac else pic_mode=default fi test -z "$pic_mode" && pic_mode=default # Check whether --enable-fast-install was given. if test "${enable_fast_install+set}" = set; then : enableval=$enable_fast_install; p=${PACKAGE-default} case $enableval in yes) enable_fast_install=yes ;; no) enable_fast_install=no ;; *) enable_fast_install=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_fast_install=yes fi done IFS="$lt_save_ifs" ;; esac else enable_fast_install=yes fi # This can be used to rebuild libtool when needed LIBTOOL_DEPS="$ltmain" # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' test -z "$LN_S" && LN_S="ln -s" if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 $as_echo_n "checking for objdir... " >&6; } if ${lt_cv_objdir+:} false; then : $as_echo_n "(cached) " >&6 else rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null if test -d .libs; then lt_cv_objdir=.libs else # MS-DOS does not allow filenames that begin with a dot. lt_cv_objdir=_libs fi rmdir .libs 2>/dev/null fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 $as_echo "$lt_cv_objdir" >&6; } objdir=$lt_cv_objdir cat >>confdefs.h <<_ACEOF #define LT_OBJDIR "$lt_cv_objdir/" _ACEOF case $host_os in aix3*) # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi ;; esac # Global variables: ofile=libtool can_build_shared=yes # All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a with_gnu_ld="$lt_cv_prog_gnu_ld" old_CC="$CC" old_CFLAGS="$CFLAGS" # Set sane defaults for various variables test -z "$CC" && CC=cc test -z "$LTCC" && LTCC=$CC test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS test -z "$LD" && LD=ld test -z "$ac_objext" && ac_objext=o for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` # Only perform the check for file, if the check method requires it test -z "$MAGIC_CMD" && MAGIC_CMD=file case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } if ${lt_cv_path_MAGIC_CMD+:} false; then : $as_echo_n "(cached) " >&6 else case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/${ac_tool_prefix}file; then lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 $as_echo "$MAGIC_CMD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 $as_echo_n "checking for file... " >&6; } if ${lt_cv_path_MAGIC_CMD+:} false; then : $as_echo_n "(cached) " >&6 else case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/file; then lt_cv_path_MAGIC_CMD="$ac_dir/file" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 $as_echo "$MAGIC_CMD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi else MAGIC_CMD=: fi fi fi ;; esac # Use C for the default configuration in the libtool script lt_save_CC="$CC" ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o objext=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # Save the default compiler, since it gets overwritten when the other # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. compiler_DEFAULT=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then lt_prog_compiler_no_builtin_flag= if test "$GCC" = yes; then case $cc_basename in nvcc*) lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; *) lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_rtti_exceptions=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-fno-rtti -fno-exceptions" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_rtti_exceptions=yes fi fi $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 $as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" else : fi fi lt_prog_compiler_wl= lt_prog_compiler_pic= lt_prog_compiler_static= if test "$GCC" = yes; then lt_prog_compiler_wl='-Wl,' lt_prog_compiler_static='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support lt_prog_compiler_pic='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic='-fno-common' ;; haiku*) # PIC is the default for Haiku. # The "-static" flag exists, but is broken. lt_prog_compiler_static= ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) # +Z the default ;; *) lt_prog_compiler_pic='-fPIC' ;; esac ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared=no enable_shared=no ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic='-fPIC -shared' ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic=-Kconform_pic fi ;; *) lt_prog_compiler_pic='-fPIC' ;; esac case $cc_basename in nvcc*) # Cuda Compiler Driver 2.2 lt_prog_compiler_wl='-Xlinker ' if test -n "$lt_prog_compiler_pic"; then lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" fi ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' else lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' fi ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic='-DDLL_EXPORT' ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static='-non_shared' ;; linux* | k*bsd*-gnu | kopensolaris*-gnu) case $cc_basename in # old Intel for x86_64 which still supported -KPIC. ecc*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-static' ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fPIC' lt_prog_compiler_static='-static' ;; # Lahey Fortran 8.1. lf95*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='--shared' lt_prog_compiler_static='--static' ;; nagfor*) # NAG Fortran compiler lt_prog_compiler_wl='-Wl,-Wl,,' lt_prog_compiler_pic='-PIC' lt_prog_compiler_static='-Bstatic' ;; pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fpic' lt_prog_compiler_static='-Bstatic' ;; ccc*) lt_prog_compiler_wl='-Wl,' # All Alpha code is PIC. lt_prog_compiler_static='-non_shared' ;; xl* | bgxl* | bgf* | mpixl*) # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-qpic' lt_prog_compiler_static='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='' ;; *Sun\ F* | *Sun*Fortran*) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='-Qoption ld ' ;; *Sun\ C*) # Sun C 5.9 lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='-Wl,' ;; *Intel*\ [CF]*Compiler*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fPIC' lt_prog_compiler_static='-static' ;; *Portland\ Group*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fpic' lt_prog_compiler_static='-Bstatic' ;; esac ;; esac ;; newsos6) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic='-fPIC -shared' ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static='-non_shared' ;; rdos*) lt_prog_compiler_static='-non_shared' ;; solaris*) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' case $cc_basename in f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) lt_prog_compiler_wl='-Qoption ld ';; *) lt_prog_compiler_wl='-Wl,';; esac ;; sunos4*) lt_prog_compiler_wl='-Qoption ld ' lt_prog_compiler_pic='-PIC' lt_prog_compiler_static='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then lt_prog_compiler_pic='-Kconform_pic' lt_prog_compiler_static='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; unicos*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_can_build_shared=no ;; uts4*) lt_prog_compiler_pic='-pic' lt_prog_compiler_static='-Bstatic' ;; *) lt_prog_compiler_can_build_shared=no ;; esac fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic= ;; *) lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 $as_echo_n "checking for $compiler option to produce PIC... " >&6; } if ${lt_cv_prog_compiler_pic+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_pic=$lt_prog_compiler_pic fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 $as_echo "$lt_cv_prog_compiler_pic" >&6; } lt_prog_compiler_pic=$lt_cv_prog_compiler_pic # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } if ${lt_cv_prog_compiler_pic_works+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_pic_works=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic -DPIC" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_pic_works=yes fi fi $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 $as_echo "$lt_cv_prog_compiler_pic_works" >&6; } if test x"$lt_cv_prog_compiler_pic_works" = xyes; then case $lt_prog_compiler_pic in "" | " "*) ;; *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; esac else lt_prog_compiler_pic= lt_prog_compiler_can_build_shared=no fi fi # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } if ${lt_cv_prog_compiler_static_works+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_static_works=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_static_works=yes fi else lt_cv_prog_compiler_static_works=yes fi fi $RM -r conftest* LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 $as_echo "$lt_cv_prog_compiler_static_works" >&6; } if test x"$lt_cv_prog_compiler_static_works" = xyes; then : else lt_prog_compiler_static= fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if ${lt_cv_prog_compiler_c_o+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 $as_echo "$lt_cv_prog_compiler_c_o" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if ${lt_cv_prog_compiler_c_o+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 $as_echo "$lt_cv_prog_compiler_c_o" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 $as_echo_n "checking if we can lock with hard links... " >&6; } hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 $as_echo "$hard_links" >&6; } if test "$hard_links" = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 $as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } runpath_var= allow_undefined_flag= always_export_symbols=no archive_cmds= archive_expsym_cmds= compiler_needs_object=no enable_shared_with_static_runtimes=no export_dynamic_flag_spec= export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' hardcode_automatic=no hardcode_direct=no hardcode_direct_absolute=no hardcode_libdir_flag_spec= hardcode_libdir_separator= hardcode_minus_L=no hardcode_shlibpath_var=unsupported inherit_rpath=no link_all_deplibs=unknown module_cmds= module_expsym_cmds= old_archive_from_new_cmds= old_archive_from_expsyms_cmds= thread_safe_flag_spec= whole_archive_flag_spec= # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list include_expsyms= # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ` (' and `)$', so one must not match beginning or # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', # as well as any symbol that contains `d'. exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if # the symbol is explicitly referenced. Since portable code cannot # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. # Exclude shared library initialization/finalization symbols. extract_expsyms_cmds= case $host_os in cygwin* | mingw* | pw32* | cegcc*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs=yes # On some targets, GNU ld is compatible enough with the native linker # that we're better off using the native interface for both. lt_use_gnu_ld_interface=no if test "$with_gnu_ld" = yes; then case $host_os in aix*) # The AIX port of GNU ld has always aspired to compatibility # with the native linker. However, as the warning in the GNU ld # block says, versions before 2.19.5* couldn't really create working # shared libraries, regardless of the interface used. case `$LD -v 2>&1` in *\ \(GNU\ Binutils\)\ 2.19.5*) ;; *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; *\ \(GNU\ Binutils\)\ [3-9]*) ;; *) lt_use_gnu_ld_interface=yes ;; esac ;; *) lt_use_gnu_ld_interface=yes ;; esac fi if test "$lt_use_gnu_ld_interface" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' export_dynamic_flag_spec='${wl}--export-dynamic' # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec= fi supports_anon_versioning=no case `$LD -v 2>&1` in *GNU\ gold*) supports_anon_versioning=yes ;; *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # See if GNU ld supports shared libraries. case $host_os in aix[3-9]*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: the GNU linker, at least up to release 2.19, is reported *** to be unable to reliably create shared libraries on AIX. *** Therefore, libtool is disabling shared libraries support. If you *** really care for shared libraries, you may want to install binutils *** 2.20 or above, or modify your PATH so that a non-GNU linker is found. *** You will then need to restart the configuration process. _LT_EOF fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='' ;; m68k) archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; esac ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then allow_undefined_flag=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs=no fi ;; cygwin* | mingw* | pw32* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' export_dynamic_flag_spec='${wl}--export-all-symbols' allow_undefined_flag=unsupported always_export_symbols=no enable_shared_with_static_runtimes=yes export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs=no fi ;; haiku*) archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' link_all_deplibs=yes ;; interix[3-9]*) hardcode_direct=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) tmp_diet=no if test "$host_os" = linux-dietlibc; then case $cc_basename in diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) esac fi if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ && test "$tmp_diet" = no then tmp_addflag=' $pic_flag' tmp_sharedflag='-shared' case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group f77 and f90 compilers whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; lf95*) # Lahey Fortran 8.1 whole_archive_flag_spec= tmp_sharedflag='--shared' ;; xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) tmp_sharedflag='-qmkshrobj' tmp_addflag= ;; nvcc*) # Cuda Compiler Driver 2.2 whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' compiler_needs_object=yes ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' compiler_needs_object=yes tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; esac archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test "x$supports_anon_versioning" = xyes; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi case $cc_basename in xlf* | bgf* | bgxlf* | mpixlf*) # IBM XL Fortran 10.1 on PPC cannot create shared libs itself whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' if test "x$supports_anon_versioning" = xyes; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi ;; esac else ld_shlibs=no fi ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably *** create shared libraries on Solaris systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.9.1 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; esac ;; sunos4*) archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= hardcode_direct=yes hardcode_shlibpath_var=no ;; *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; esac if test "$ld_shlibs" = no; then runpath_var= hardcode_libdir_flag_spec= export_dynamic_flag_spec= whole_archive_flag_spec= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) allow_undefined_flag=unsupported always_export_symbols=yes archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct=unsupported fi ;; aix[4-9]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm # Also, AIX nm treats weak defined symbols like other global # defined symbols, whereas GNU nm marks them as "W". if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. archive_cmds='' hardcode_direct=yes hardcode_direct_absolute=yes hardcode_libdir_separator=':' link_all_deplibs=yes file_list_spec='${wl}-f,' if test "$GCC" = yes; then case $host_os in aix4.[012]|aix4.[012].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 hardcode_direct=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi export_dynamic_flag_spec='${wl}-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. allow_undefined_flag='-berok' # Determine the default libpath from the value encoded in an # empty executable. if test "${lt_cv_aix_libpath+set}" = set; then aix_libpath=$lt_cv_aix_libpath else if ${lt_cv_aix_libpath_+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }' lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_="/usr/lib:/lib" fi fi aix_libpath=$lt_cv_aix_libpath_ fi hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag="-z nodefs" archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. if test "${lt_cv_aix_libpath+set}" = set; then aix_libpath=$lt_cv_aix_libpath else if ${lt_cv_aix_libpath_+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }' lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_="/usr/lib:/lib" fi fi aix_libpath=$lt_cv_aix_libpath_ fi hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. no_undefined_flag=' ${wl}-bernotok' allow_undefined_flag=' ${wl}-berok' if test "$with_gnu_ld" = yes; then # We only use this code for GNU lds that support --whole-archive. whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec='$convenience' fi archive_cmds_need_lc=yes # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='' ;; m68k) archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; esac ;; bsdi[45]*) export_dynamic_flag_spec=-rdynamic ;; cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. case $cc_basename in cl*) # Native MSVC hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported always_export_symbols=yes file_list_spec='@' # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; else sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; fi~ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, )='true' enable_shared_with_static_runtimes=yes exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' # Don't use ranlib old_postinstall_cmds='chmod 644 $oldlib' postlink_cmds='lt_outputfile="@OUTPUT@"~ lt_tool_outputfile="@TOOL_OUTPUT@"~ case $lt_outputfile in *.exe|*.EXE) ;; *) lt_outputfile="$lt_outputfile.exe" lt_tool_outputfile="$lt_tool_outputfile.exe" ;; esac~ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; $RM "$lt_outputfile.manifest"; fi' ;; *) # Assume MSVC wrapper hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. old_archive_from_new_cmds='true' # FIXME: Should let the user specify the lib program. old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' enable_shared_with_static_runtimes=yes ;; esac ;; darwin* | rhapsody*) archive_cmds_need_lc=no hardcode_direct=no hardcode_automatic=yes hardcode_shlibpath_var=unsupported if test "$lt_cv_ld_force_load" = "yes"; then whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' else whole_archive_flag_spec='' fi link_all_deplibs=yes allow_undefined_flag="$_lt_dar_allow_undefined" case $cc_basename in ifort*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac if test "$_lt_dar_can_shared" = "yes"; then output_verbose_link_cmd=func_echo_all archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" else ld_shlibs=no fi ;; dgux*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little # extra space). freebsd2.2*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2.*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; hpux9*) if test "$GCC" = yes; then archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' fi hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes export_dynamic_flag_spec='${wl}-E' ;; hpux10*) if test "$GCC" = yes && test "$with_gnu_ld" = no; then archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes hardcode_direct_absolute=yes export_dynamic_flag_spec='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes fi ;; hpux11*) if test "$GCC" = yes && test "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) # Older versions of the 11.00 compiler do not understand -b yet # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 $as_echo_n "checking if $CC understands -b... " >&6; } if ${lt_cv_prog_compiler__b+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler__b=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS -b" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler__b=yes fi else lt_cv_prog_compiler__b=yes fi fi $RM -r conftest* LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 $as_echo "$lt_cv_prog_compiler__b" >&6; } if test x"$lt_cv_prog_compiler__b" = xyes; then archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi ;; esac fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: case $host_cpu in hppa*64*|ia64*) hardcode_direct=no hardcode_shlibpath_var=no ;; *) hardcode_direct=yes hardcode_direct_absolute=yes export_dynamic_flag_spec='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' # Try to use the -exported_symbol ld option, if it does not # work, assume that -exports_file does not work either and # implicitly export all symbols. # This should be the same for all languages, so no per-tag cache variable. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 $as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } if ${lt_cv_irix_exported_symbol+:} false; then : $as_echo_n "(cached) " >&6 else save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int foo (void) { return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_cv_irix_exported_symbol=yes else lt_cv_irix_exported_symbol=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 $as_echo "$lt_cv_irix_exported_symbol" >&6; } if test "$lt_cv_irix_exported_symbol" = yes; then archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' fi else archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' fi archive_cmds_need_lc='no' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: inherit_rpath=yes link_all_deplibs=yes ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; newsos6) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: hardcode_shlibpath_var=no ;; *nto* | *qnx*) ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct=yes hardcode_shlibpath_var=no hardcode_direct_absolute=yes if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' else case $host_os in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-R$libdir' ;; *) archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs=no fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes allow_undefined_flag=unsupported archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' fi archive_cmds_need_lc='no' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi archive_cmds_need_lc='no' hardcode_libdir_separator=: ;; solaris*) no_undefined_flag=' -z defs' if test "$GCC" = yes; then wlarc='${wl}' archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' else case `$CC -V 2>&1` in *"Compilers 5.0"*) wlarc='' archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' ;; *) wlarc='${wl}' archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' ;; esac fi hardcode_libdir_flag_spec='-R$libdir' hardcode_shlibpath_var=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else whole_archive_flag_spec='-z allextract$convenience -z defaultextract' fi ;; esac link_all_deplibs=yes ;; sunos4*) if test "x$host_vendor" = xsequent; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; sysv4) case $host_vendor in sni) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds='$CC -r -o $output$reload_objs' hardcode_direct=no ;; motorola) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var=no ;; sysv4.3*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no export_dynamic_flag_spec='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag='${wl}-z,text' archive_cmds_need_lc=no hardcode_shlibpath_var=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag='${wl}-z,text' allow_undefined_flag='${wl}-z,nodefs' archive_cmds_need_lc=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='${wl}-R,$libdir' hardcode_libdir_separator=':' link_all_deplibs=yes export_dynamic_flag_spec='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; *) ld_shlibs=no ;; esac if test x$host_vendor = xsni; then case $host in sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) export_dynamic_flag_spec='${wl}-Blargedynsym' ;; esac fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 $as_echo "$ld_shlibs" >&6; } test "$ld_shlibs" = no && can_build_shared=no with_gnu_ld=$with_gnu_ld # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc" in x|xyes) # Assume -lc should be added archive_cmds_need_lc=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } if ${lt_cv_archive_cmds_need_lc+:} false; then : $as_echo_n "(cached) " >&6 else $RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl pic_flag=$lt_prog_compiler_pic compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag allow_undefined_flag= if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then lt_cv_archive_cmds_need_lc=no else lt_cv_archive_cmds_need_lc=yes fi allow_undefined_flag=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 $as_echo "$lt_cv_archive_cmds_need_lc" >&6; } archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc ;; esac fi ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 $as_echo_n "checking dynamic linker characteristics... " >&6; } if test "$GCC" = yes; then case $host_os in darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; *) lt_awk_arg="/^libraries:/" ;; esac case $host_os in mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;; *) lt_sed_strip_eq="s,=/,/,g" ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` case $lt_search_path_spec in *\;*) # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` ;; *) lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` ;; esac # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary. lt_tmp_lt_search_path_spec= lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path/$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" else test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' BEGIN {RS=" "; FS="/|\n";} { lt_foo=""; lt_count=0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo="/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[lt_foo]++; } if (lt_freq[lt_foo] == 1) { print lt_foo; } }'` # AWK program above erroneously prepends '/' to C:/dos/paths # for these hosts. case $host_os in mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ $SED 's,/\([A-Za-z]:\),\1,g'` ;; esac sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".so" postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='${libname}${release}${shared_ext}$major' ;; aix[4-9]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no hardcode_into_libs=yes if test "$host_cpu" = ia64; then # AIX 5 supports IA64 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line `#! .'. This would cause the generated library to # depend on `.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[01] | aix4.[01].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac # AIX (on Power*) has no versioning support, so currently we can not hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. if test "$aix_use_runtimelinking" = yes; then # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' else # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='${libname}${release}.a $libname.a' soname_spec='${libname}${release}${shared_ext}$major' fi shlibpath_var=LIBPATH fi ;; amigaos*) case $host_cpu in powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; beos*) library_names_spec='${libname}${shared_ext}' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[45]*) version_type=linux # correct to gnu/linux during the next big refactor need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32* | cegcc*) version_type=windows shrext_cmds=".dll" need_version=no need_lib_prefix=no case $GCC,$cc_basename in yes,*) # gcc library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ;; esac dynamic_linker='Win32 ld.exe' ;; *,cl*) # Native MSVC libname_spec='$name' soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' library_names_spec='${libname}.dll.lib' case $build_os in mingw*) sys_lib_search_path_spec= lt_save_ifs=$IFS IFS=';' for lt_path in $LIB do IFS=$lt_save_ifs # Let DOS variable expansion print the short 8.3 style file name. lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" done IFS=$lt_save_ifs # Convert to MSYS style. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` ;; cygwin*) # Convert to unix form, then to dos form, then back to unix form # but this time dos style (no spaces!) so that the unix form looks # like /cygdrive/c/PROGRA~1:/cygdr... sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` ;; *) sys_lib_search_path_spec="$LIB" if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then # It is most probably a Windows format PATH. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # FIXME: find the short name or the path components, as spaces are # common. (e.g. "Program Files" -> "PROGRA~1") ;; esac # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes dynamic_linker='Win32 link.exe' ;; *) # Assume MSVC wrapper library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' dynamic_linker='Win32 ld.exe' ;; esac # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[23].*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2.*) shlibpath_overrides_runpath=yes ;; freebsd3.[01]* | freebsdelf3.[01]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; gnu*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; haiku*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no dynamic_linker="$host_os runtime_loader" library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LIBRARY_PATH shlibpath_overrides_runpath=yes sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' if test "X$HPUX_IA64_MODE" = X32; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" fi sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555, ... postinstall_cmds='chmod 555 $lib' # or fails outright, so override atomically: install_override_mode=555 ;; interix[3-9]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test "$lt_cv_prog_gnu_ld" = yes; then version_type=linux # correct to gnu/linux during the next big refactor else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # Some binutils ld are patched to set DT_RUNPATH if ${lt_cv_shlibpath_overrides_runpath+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_shlibpath_overrides_runpath=no save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : lt_cv_shlibpath_overrides_runpath=yes fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS libdir=$save_libdir fi shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # Add ABI-specific directories to the system library path. sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; *nto* | *qnx*) version_type=qnx need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; openbsd*) version_type=sunos sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[89] | openbsd2.[89].*) shlibpath_overrides_runpath=no ;; *) shlibpath_overrides_runpath=yes ;; esac else shlibpath_overrides_runpath=yes fi ;; os2*) libname_spec='$name' shrext_cmds=".dll" need_lib_prefix=no library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test "$with_gnu_ld" = yes; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec ;then version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; uts4*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 $as_echo "$dynamic_linker" >&6; } test "$dynamic_linker" = no && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" fi if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 $as_echo_n "checking how to hardcode library paths into programs... " >&6; } hardcode_action= if test -n "$hardcode_libdir_flag_spec" || test -n "$runpath_var" || test "X$hardcode_automatic" = "Xyes" ; then # We can hardcode non-existent directories. if test "$hardcode_direct" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no && test "$hardcode_minus_L" != no; then # Linking always hardcodes the temporary library directory. hardcode_action=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action=unsupported fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 $as_echo "$hardcode_action" >&6; } if test "$hardcode_action" = relink || test "$inherit_rpath" = yes; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || test "$enable_shared" = no; then # Fast installation is not necessary enable_fast_install=needless fi if test "x$enable_dlopen" != xyes; then enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown else lt_cv_dlopen=no lt_cv_dlopen_libs= case $host_os in beos*) lt_cv_dlopen="load_add_on" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; mingw* | pw32* | cegcc*) lt_cv_dlopen="LoadLibrary" lt_cv_dlopen_libs= ;; cygwin*) lt_cv_dlopen="dlopen" lt_cv_dlopen_libs= ;; darwin*) # if libdl is installed we need to link against it { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } if ${ac_cv_lib_dl_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dl_dlopen=yes else ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = xyes; then : lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else lt_cv_dlopen="dyld" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes fi ;; *) ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" if test "x$ac_cv_func_shl_load" = xyes; then : lt_cv_dlopen="shl_load" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 $as_echo_n "checking for shl_load in -ldld... " >&6; } if ${ac_cv_lib_dld_shl_load+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char shl_load (); int main () { return shl_load (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dld_shl_load=yes else ac_cv_lib_dld_shl_load=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 $as_echo "$ac_cv_lib_dld_shl_load" >&6; } if test "x$ac_cv_lib_dld_shl_load" = xyes; then : lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" else ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" if test "x$ac_cv_func_dlopen" = xyes; then : lt_cv_dlopen="dlopen" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } if ${ac_cv_lib_dl_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dl_dlopen=yes else ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = xyes; then : lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 $as_echo_n "checking for dlopen in -lsvld... " >&6; } if ${ac_cv_lib_svld_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsvld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_svld_dlopen=yes else ac_cv_lib_svld_dlopen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 $as_echo "$ac_cv_lib_svld_dlopen" >&6; } if test "x$ac_cv_lib_svld_dlopen" = xyes; then : lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 $as_echo_n "checking for dld_link in -ldld... " >&6; } if ${ac_cv_lib_dld_dld_link+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dld_link (); int main () { return dld_link (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dld_dld_link=yes else ac_cv_lib_dld_dld_link=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 $as_echo "$ac_cv_lib_dld_dld_link" >&6; } if test "x$ac_cv_lib_dld_dld_link" = xyes; then : lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" fi fi fi fi fi fi ;; esac if test "x$lt_cv_dlopen" != xno; then enable_dlopen=yes else enable_dlopen=no fi case $lt_cv_dlopen in dlopen) save_CPPFLAGS="$CPPFLAGS" test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" save_LDFLAGS="$LDFLAGS" wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS="$LIBS" LIBS="$lt_cv_dlopen_libs $LIBS" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 $as_echo_n "checking whether a program can dlopen itself... " >&6; } if ${lt_cv_dlopen_self+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF #line $LINENO "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif /* When -fvisbility=hidden is used, assume the code has been annotated correspondingly for the symbols needed. */ #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) int fnord () __attribute__((visibility("default"))); #endif int fnord () { return 42; } int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else { if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; else puts (dlerror ()); } /* dlclose (self); */ } else puts (dlerror ()); return status; } _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; esac else : # compilation failed lt_cv_dlopen_self=no fi fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 $as_echo "$lt_cv_dlopen_self" >&6; } if test "x$lt_cv_dlopen_self" = xyes; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } if ${lt_cv_dlopen_self_static+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self_static=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF #line $LINENO "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif /* When -fvisbility=hidden is used, assume the code has been annotated correspondingly for the symbols needed. */ #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) int fnord () __attribute__((visibility("default"))); #endif int fnord () { return 42; } int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else { if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; else puts (dlerror ()); } /* dlclose (self); */ } else puts (dlerror ()); return status; } _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; esac else : # compilation failed lt_cv_dlopen_self_static=no fi fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 $as_echo "$lt_cv_dlopen_self_static" >&6; } fi CPPFLAGS="$save_CPPFLAGS" LDFLAGS="$save_LDFLAGS" LIBS="$save_LIBS" ;; esac case $lt_cv_dlopen_self in yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; *) enable_dlopen_self=unknown ;; esac case $lt_cv_dlopen_self_static in yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; *) enable_dlopen_self_static=unknown ;; esac fi striplib= old_striplib= { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 $as_echo_n "checking whether stripping libraries is possible... " >&6; } if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" test -z "$striplib" && striplib="$STRIP --strip-unneeded" { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else # FIXME - insert some real tests, host_os isn't really good enough case $host_os in darwin*) if test -n "$STRIP" ; then striplib="$STRIP -x" old_striplib="$STRIP -S" { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi ;; *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } ;; esac fi # Report which library types will actually be built { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 $as_echo_n "checking if libtool supports shared libraries... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 $as_echo "$can_build_shared" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 $as_echo_n "checking whether to build shared libraries... " >&6; } test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[4-9]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 $as_echo "$enable_shared" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 $as_echo_n "checking whether to build static libraries... " >&6; } # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 $as_echo "$enable_static" >&6; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" ac_config_commands="$ac_config_commands libtool" # Only expand once: if test "x$CC" != xcc; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5 $as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5 $as_echo_n "checking whether cc understands -c and -o together... " >&6; } fi set dummy $CC; ac_cc=`$as_echo "$2" | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF # Make sure it works both with $CC and with simple cc. # We do the test twice because some compilers refuse to overwrite an # existing .o file with -o, though they will create one. ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5' rm -f conftest2.* if { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -f conftest2.$ac_objext && { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then eval ac_cv_prog_cc_${ac_cc}_c_o=yes if test "x$CC" != xcc; then # Test first that cc exists at all. if { ac_try='cc -c conftest.$ac_ext >&5' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5' rm -f conftest2.* if { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -f conftest2.$ac_objext && { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then # cc works too. : else # cc exists but doesn't like -o. eval ac_cv_prog_cc_${ac_cc}_c_o=no fi fi fi else eval ac_cv_prog_cc_${ac_cc}_c_o=no fi rm -f core conftest* fi if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } $as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h fi # FIXME: we rely on the cache variable name because # there is no other way. set dummy $CC am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o if test "$am_t" != yes; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. # But if we don't then we get into trouble of one sort or another. # A longer-term fix would be to have automake use am__CC in this case, # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" CC="$am_aux_dir/compile $CC" fi if test "X$GCC" = "Xyes"; then GCC_CFLAGS="-Wall $GCC_CFLAGS" fi for ac_prog in flex lex do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_LEX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$LEX"; then ac_cv_prog_LEX="$LEX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_LEX="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi LEX=$ac_cv_prog_LEX if test -n "$LEX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LEX" >&5 $as_echo "$LEX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$LEX" && break done test -n "$LEX" || LEX=":" if test "x$LEX" != "x:"; then cat >conftest.l <<_ACEOF %% a { ECHO; } b { REJECT; } c { yymore (); } d { yyless (1); } e { /* IRIX 6.5 flex 2.5.4 underquotes its yyless argument. */ yyless ((input () != 0)); } f { unput (yytext[0]); } . { BEGIN INITIAL; } %% #ifdef YYTEXT_POINTER extern char *yytext; #endif int main (void) { return ! yylex () + ! yywrap (); } _ACEOF { { ac_try="$LEX conftest.l" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$LEX conftest.l") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking lex output file root" >&5 $as_echo_n "checking lex output file root... " >&6; } if ${ac_cv_prog_lex_root+:} false; then : $as_echo_n "(cached) " >&6 else if test -f lex.yy.c; then ac_cv_prog_lex_root=lex.yy elif test -f lexyy.c; then ac_cv_prog_lex_root=lexyy else as_fn_error $? "cannot find output from $LEX; giving up" "$LINENO" 5 fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_lex_root" >&5 $as_echo "$ac_cv_prog_lex_root" >&6; } LEX_OUTPUT_ROOT=$ac_cv_prog_lex_root if test -z "${LEXLIB+set}"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking lex library" >&5 $as_echo_n "checking lex library... " >&6; } if ${ac_cv_lib_lex+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_LIBS=$LIBS ac_cv_lib_lex='none needed' for ac_lib in '' -lfl -ll; do LIBS="$ac_lib $ac_save_LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ `cat $LEX_OUTPUT_ROOT.c` _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_lex=$ac_lib fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext test "$ac_cv_lib_lex" != 'none needed' && break done LIBS=$ac_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lex" >&5 $as_echo "$ac_cv_lib_lex" >&6; } test "$ac_cv_lib_lex" != 'none needed' && LEXLIB=$ac_cv_lib_lex fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether yytext is a pointer" >&5 $as_echo_n "checking whether yytext is a pointer... " >&6; } if ${ac_cv_prog_lex_yytext_pointer+:} false; then : $as_echo_n "(cached) " >&6 else # POSIX says lex can declare yytext either as a pointer or an array; the # default is implementation-dependent. Figure out which it is, since # not all implementations provide the %pointer and %array declarations. ac_cv_prog_lex_yytext_pointer=no ac_save_LIBS=$LIBS LIBS="$LEXLIB $ac_save_LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define YYTEXT_POINTER 1 `cat $LEX_OUTPUT_ROOT.c` _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_prog_lex_yytext_pointer=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_lex_yytext_pointer" >&5 $as_echo "$ac_cv_prog_lex_yytext_pointer" >&6; } if test $ac_cv_prog_lex_yytext_pointer = yes; then $as_echo "#define YYTEXT_POINTER 1" >>confdefs.h fi rm -f conftest.l $LEX_OUTPUT_ROOT.c fi if test "$LEX" = :; then LEX=${am_missing_run}flex fi for ac_prog in mawk gawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_AWK+:} false; then : $as_echo_n "(cached) " >&6 else case $AWK in [\\/]* | ?:[\\/]*) ac_cv_path_AWK="$AWK" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_AWK="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi AWK=$ac_cv_path_AWK if test -n "$AWK"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 $as_echo "$AWK" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$AWK" && break done test -n "$AWK" || AWK="no" if test "X$AWK" = "Xno"; then as_fn_error $? "The awk tool could not be found. Ensure it is installed and in your path." "$LINENO" 5 fi # Extract the first word of "groff", so it can be a program name with args. set dummy groff; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_GROFF+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$GROFF"; then ac_cv_prog_GROFF="$GROFF" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_GROFF="groff" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_prog_GROFF" && ac_cv_prog_GROFF="no" fi fi GROFF=$ac_cv_prog_GROFF if test -n "$GROFF"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GROFF" >&5 $as_echo "$GROFF" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Some distros are annoying and package groff into a crippled # version without many of the drivers, along with a separate full # version. So explicitly check for the html driver. if test "X$GROFF" != "Xno" ; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $GROFF has an html driver" >&5 $as_echo_n "checking whether $GROFF has an html driver... " >&6; } echo '.TH conftest 1 "January 1st, 1970" Version 1' > conftest.1 if LC_NUMERIC=C $GROFF -man -T html > /dev/null 2>&5; then HAVE_GROFF_HTML=yes else HAVE_GROFF_HTML=no fi rm -f conftest.1 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $HAVE_GROFF_HTML" >&5 $as_echo "$HAVE_GROFF_HTML" >&6; } fi if test "X$HAVE_GROFF_HTML" != Xno; then ENABLE_GROFF_HTML_TRUE= ENABLE_GROFF_HTML_FALSE='#' else ENABLE_GROFF_HTML_TRUE='#' ENABLE_GROFF_HTML_FALSE= fi for ac_prog in gm4 m4 do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_M4+:} false; then : $as_echo_n "(cached) " >&6 else case $M4 in [\\/]* | ?:[\\/]*) ac_cv_path_M4="$M4" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_M4="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi M4=$ac_cv_path_M4 if test -n "$M4"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $M4" >&5 $as_echo "$M4" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$M4" && break done test -n "$M4" || M4="m4" ##################################################################### # Internationalisation ##################################################################### { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5 $as_echo_n "checking whether NLS is requested... " >&6; } # Check whether --enable-nls was given. if test "${enable_nls+set}" = set; then : enableval=$enable_nls; USE_NLS=$enableval else USE_NLS=yes fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 $as_echo "$USE_NLS" >&6; } mkdir_p="$MKDIR_P" case $mkdir_p in [\\/$]* | ?:[\\/]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_MSGFMT+:} false; then : $as_echo_n "(cached) " >&6 else case "$MSGFMT" in [\\/]* | ?:[\\/]*) ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&5 if $ac_dir/$ac_word --statistics /dev/null >&5 2>&1 && (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":" ;; esac fi MSGFMT="$ac_cv_path_MSGFMT" if test "$MSGFMT" != ":"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5 $as_echo "$MSGFMT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_GMSGFMT+:} false; then : $as_echo_n "(cached) " >&6 else case $GMSGFMT in [\\/]* | ?:[\\/]*) ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" ;; esac fi GMSGFMT=$ac_cv_path_GMSGFMT if test -n "$GMSGFMT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5 $as_echo "$GMSGFMT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; *) MSGFMT_015=$MSGFMT ;; esac case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; *) GMSGFMT_015=$GMSGFMT ;; esac # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_XGETTEXT+:} false; then : $as_echo_n "(cached) " >&6 else case "$XGETTEXT" in [\\/]* | ?:[\\/]*) ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&5 if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&5 2>&1 && (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" ;; esac fi XGETTEXT="$ac_cv_path_XGETTEXT" if test "$XGETTEXT" != ":"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5 $as_echo "$XGETTEXT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi rm -f messages.po case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; *) XGETTEXT_015=$XGETTEXT ;; esac # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "msgmerge", so it can be a program name with args. set dummy msgmerge; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_MSGMERGE+:} false; then : $as_echo_n "(cached) " >&6 else case "$MSGMERGE" in [\\/]* | ?:[\\/]*) ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&5 if $ac_dir/$ac_word --update -q /dev/null /dev/null >&5 2>&1; then ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":" ;; esac fi MSGMERGE="$ac_cv_path_MSGMERGE" if test "$MSGMERGE" != ":"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5 $as_echo "$MSGMERGE" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$localedir" || localedir='${datadir}/locale' ac_config_commands="$ac_config_commands po-directories" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C Library 2 or newer" >&5 $as_echo_n "checking whether we are using the GNU C Library 2 or newer... " >&6; } if ${ac_cv_gnu_library_2+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #ifdef __GNU_LIBRARY__ #if (__GLIBC__ >= 2) Lucky GNU user #endif #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "Lucky GNU user" >/dev/null 2>&1; then : ac_cv_gnu_library_2=yes else ac_cv_gnu_library_2=no fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gnu_library_2" >&5 $as_echo "$ac_cv_gnu_library_2" >&6; } GLIBC2="$ac_cv_gnu_library_2" if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 $as_echo "$RANLIB" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_RANLIB="ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 $as_echo "$ac_ct_RANLIB" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_RANLIB" = x; then RANLIB=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB fi else RANLIB="$ac_cv_prog_RANLIB" fi CFLAG_VISIBILITY= HAVE_VISIBILITY=0 if test -n "$GCC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for simple visibility declarations" >&5 $as_echo_n "checking for simple visibility declarations... " >&6; } if ${gl_cv_cc_visibility+:} false; then : $as_echo_n "(cached) " >&6 else gl_save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -fvisibility=hidden" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ extern __attribute__((__visibility__("hidden"))) int hiddenvar; extern __attribute__((__visibility__("default"))) int exportedvar; extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void); extern __attribute__((__visibility__("default"))) int exportedfunc (void); int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_cc_visibility=yes else gl_cv_cc_visibility=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CFLAGS="$gl_save_CFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_visibility" >&5 $as_echo "$gl_cv_cc_visibility" >&6; } if test $gl_cv_cc_visibility = yes; then CFLAG_VISIBILITY="-fvisibility=hidden" HAVE_VISIBILITY=1 fi fi cat >>confdefs.h <<_ACEOF #define HAVE_VISIBILITY $HAVE_VISIBILITY _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 $as_echo_n "checking for inline... " >&6; } if ${ac_cv_c_inline+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifndef __cplusplus typedef int foo_t; static $ac_kw foo_t static_foo () {return 0; } $ac_kw foo_t foo () {return 0; } #endif _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_inline=$ac_kw fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext test "$ac_cv_c_inline" != no && break done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5 $as_echo "$ac_cv_c_inline" >&6; } case $ac_cv_c_inline in inline | yes) ;; *) case $ac_cv_c_inline in no) ac_val=;; *) ac_val=$ac_cv_c_inline;; esac cat >>confdefs.h <<_ACEOF #ifndef __cplusplus #define inline $ac_val #endif _ACEOF ;; esac ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" if test "x$ac_cv_type_size_t" = xyes; then : else cat >>confdefs.h <<_ACEOF #define size_t unsigned int _ACEOF fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint.h" >&5 $as_echo_n "checking for stdint.h... " >&6; } if ${gl_cv_header_stdint_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { uintmax_t i = (uintmax_t) -1; return !i; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_header_stdint_h=yes else gl_cv_header_stdint_h=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_stdint_h" >&5 $as_echo "$gl_cv_header_stdint_h" >&6; } if test $gl_cv_header_stdint_h = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STDINT_H_WITH_UINTMAX 1 _ACEOF fi # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5 $as_echo_n "checking for working alloca.h... " >&6; } if ${ac_cv_working_alloca_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { char *p = (char *) alloca (2 * sizeof (int)); if (p) return 0; ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_working_alloca_h=yes else ac_cv_working_alloca_h=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5 $as_echo "$ac_cv_working_alloca_h" >&6; } if test $ac_cv_working_alloca_h = yes; then $as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5 $as_echo_n "checking for alloca... " >&6; } if ${ac_cv_func_alloca_works+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __GNUC__ # define alloca __builtin_alloca #else # ifdef _MSC_VER # include # define alloca _alloca # else # ifdef HAVE_ALLOCA_H # include # else # ifdef _AIX #pragma alloca # else # ifndef alloca /* predefined by HP cc +Olibcalls */ void *alloca (size_t); # endif # endif # endif # endif #endif int main () { char *p = (char *) alloca (1); if (p) return 0; ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_func_alloca_works=yes else ac_cv_func_alloca_works=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5 $as_echo "$ac_cv_func_alloca_works" >&6; } if test $ac_cv_func_alloca_works = yes; then $as_echo "#define HAVE_ALLOCA 1" >>confdefs.h else # The SVR3 libPW and SVR4 libucb both contain incompatible functions # that cause trouble. Some versions do not even contain alloca or # contain a buggy version. If you still want to use their alloca, # use ar to extract alloca.o from them instead of compiling alloca.c. ALLOCA=\${LIBOBJDIR}alloca.$ac_objext $as_echo "#define C_ALLOCA 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5 $as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; } if ${ac_cv_os_cray+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if defined CRAY && ! defined CRAY2 webecray #else wenotbecray #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "webecray" >/dev/null 2>&1; then : ac_cv_os_cray=yes else ac_cv_os_cray=no fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5 $as_echo "$ac_cv_os_cray" >&6; } if test $ac_cv_os_cray = yes; then for ac_func in _getb67 GETB67 getb67; do as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define CRAY_STACKSEG_END $ac_func _ACEOF break fi done fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5 $as_echo_n "checking stack direction for C alloca... " >&6; } if ${ac_cv_c_stack_direction+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : ac_cv_c_stack_direction=0 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int find_stack_direction (int *addr, int depth) { int dir, dummy = 0; if (! addr) addr = &dummy; *addr = addr < &dummy ? 1 : addr == &dummy ? 0 : -1; dir = depth ? find_stack_direction (addr, depth - 1) : 0; return dir + dummy; } int main (int argc, char **argv) { return find_stack_direction (0, argc + !argv + 20) < 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_c_stack_direction=1 else ac_cv_c_stack_direction=-1 fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5 $as_echo "$ac_cv_c_stack_direction" >&6; } cat >>confdefs.h <<_ACEOF #define STACK_DIRECTION $ac_cv_c_stack_direction _ACEOF fi for ac_header in $ac_header_list do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_func in getpagesize do : ac_fn_c_check_func "$LINENO" "getpagesize" "ac_cv_func_getpagesize" if test "x$ac_cv_func_getpagesize" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_GETPAGESIZE 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working mmap" >&5 $as_echo_n "checking for working mmap... " >&6; } if ${ac_cv_func_mmap_fixed_mapped+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : ac_cv_func_mmap_fixed_mapped=no else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default /* malloc might have been renamed as rpl_malloc. */ #undef malloc /* Thanks to Mike Haertel and Jim Avera for this test. Here is a matrix of mmap possibilities: mmap private not fixed mmap private fixed at somewhere currently unmapped mmap private fixed at somewhere already mapped mmap shared not fixed mmap shared fixed at somewhere currently unmapped mmap shared fixed at somewhere already mapped For private mappings, we should verify that changes cannot be read() back from the file, nor mmap's back from the file at a different address. (There have been systems where private was not correctly implemented like the infamous i386 svr4.0, and systems where the VM page cache was not coherent with the file system buffer cache like early versions of FreeBSD and possibly contemporary NetBSD.) For shared mappings, we should conversely verify that changes get propagated back to all the places they're supposed to be. Grep wants private fixed already mapped. The main things grep needs to know about mmap are: * does it exist and is it safe to write into the mmap'd area * how to use it (BSD variants) */ #include #include #if !defined STDC_HEADERS && !defined HAVE_STDLIB_H char *malloc (); #endif /* This mess was copied from the GNU getpagesize.h. */ #ifndef HAVE_GETPAGESIZE # ifdef _SC_PAGESIZE # define getpagesize() sysconf(_SC_PAGESIZE) # else /* no _SC_PAGESIZE */ # ifdef HAVE_SYS_PARAM_H # include # ifdef EXEC_PAGESIZE # define getpagesize() EXEC_PAGESIZE # else /* no EXEC_PAGESIZE */ # ifdef NBPG # define getpagesize() NBPG * CLSIZE # ifndef CLSIZE # define CLSIZE 1 # endif /* no CLSIZE */ # else /* no NBPG */ # ifdef NBPC # define getpagesize() NBPC # else /* no NBPC */ # ifdef PAGESIZE # define getpagesize() PAGESIZE # endif /* PAGESIZE */ # endif /* no NBPC */ # endif /* no NBPG */ # endif /* no EXEC_PAGESIZE */ # else /* no HAVE_SYS_PARAM_H */ # define getpagesize() 8192 /* punt totally */ # endif /* no HAVE_SYS_PARAM_H */ # endif /* no _SC_PAGESIZE */ #endif /* no HAVE_GETPAGESIZE */ int main () { char *data, *data2, *data3; const char *cdata2; int i, pagesize; int fd, fd2; pagesize = getpagesize (); /* First, make a file with some known garbage in it. */ data = (char *) malloc (pagesize); if (!data) return 1; for (i = 0; i < pagesize; ++i) *(data + i) = rand (); umask (0); fd = creat ("conftest.mmap", 0600); if (fd < 0) return 2; if (write (fd, data, pagesize) != pagesize) return 3; close (fd); /* Next, check that the tail of a page is zero-filled. File must have non-zero length, otherwise we risk SIGBUS for entire page. */ fd2 = open ("conftest.txt", O_RDWR | O_CREAT | O_TRUNC, 0600); if (fd2 < 0) return 4; cdata2 = ""; if (write (fd2, cdata2, 1) != 1) return 5; data2 = (char *) mmap (0, pagesize, PROT_READ | PROT_WRITE, MAP_SHARED, fd2, 0L); if (data2 == MAP_FAILED) return 6; for (i = 0; i < pagesize; ++i) if (*(data2 + i)) return 7; close (fd2); if (munmap (data2, pagesize)) return 8; /* Next, try to mmap the file at a fixed address which already has something else allocated at it. If we can, also make sure that we see the same garbage. */ fd = open ("conftest.mmap", O_RDWR); if (fd < 0) return 9; if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_FIXED, fd, 0L)) return 10; for (i = 0; i < pagesize; ++i) if (*(data + i) != *(data2 + i)) return 11; /* Finally, make sure that changes to the mapped area do not percolate back to the file as seen by read(). (This is a bug on some variants of i386 svr4.0.) */ for (i = 0; i < pagesize; ++i) *(data2 + i) = *(data2 + i) + 1; data3 = (char *) malloc (pagesize); if (!data3) return 12; if (read (fd, data3, pagesize) != pagesize) return 13; for (i = 0; i < pagesize; ++i) if (*(data + i) != *(data3 + i)) return 14; close (fd); return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_mmap_fixed_mapped=yes else ac_cv_func_mmap_fixed_mapped=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_fixed_mapped" >&5 $as_echo "$ac_cv_func_mmap_fixed_mapped" >&6; } if test $ac_cv_func_mmap_fixed_mapped = yes; then $as_echo "#define HAVE_MMAP 1" >>confdefs.h fi rm -f conftest.mmap conftest.txt { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether integer division by zero raises SIGFPE" >&5 $as_echo_n "checking whether integer division by zero raises SIGFPE... " >&6; } if ${gt_cv_int_divbyzero_sigfpe+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : # Guess based on the CPU. case "$host_cpu" in alpha* | i3456786 | m68k | s390*) gt_cv_int_divbyzero_sigfpe="guessing yes";; *) gt_cv_int_divbyzero_sigfpe="guessing no";; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include static void #ifdef __cplusplus sigfpe_handler (int sig) #else sigfpe_handler (sig) int sig; #endif { /* Exit with code 0 if SIGFPE, with code 1 if any other signal. */ exit (sig != SIGFPE); } int x = 1; int y = 0; int z; int nan; int main () { signal (SIGFPE, sigfpe_handler); /* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */ #if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP) signal (SIGTRAP, sigfpe_handler); #endif /* Linux/SPARC yields signal SIGILL. */ #if defined (__sparc__) && defined (__linux__) signal (SIGILL, sigfpe_handler); #endif z = x / y; nan = y / y; exit (1); } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gt_cv_int_divbyzero_sigfpe=yes else gt_cv_int_divbyzero_sigfpe=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_int_divbyzero_sigfpe" >&5 $as_echo "$gt_cv_int_divbyzero_sigfpe" >&6; } case "$gt_cv_int_divbyzero_sigfpe" in *yes) value=1;; *) value=0;; esac cat >>confdefs.h <<_ACEOF #define INTDIV0_RAISES_SIGFPE $value _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inttypes.h" >&5 $as_echo_n "checking for inttypes.h... " >&6; } if ${gl_cv_header_inttypes_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { uintmax_t i = (uintmax_t) -1; return !i; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_header_inttypes_h=yes else gl_cv_header_inttypes_h=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_inttypes_h" >&5 $as_echo "$gl_cv_header_inttypes_h" >&6; } if test $gl_cv_header_inttypes_h = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_INTTYPES_H_WITH_UINTMAX 1 _ACEOF fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for unsigned long long int" >&5 $as_echo_n "checking for unsigned long long int... " >&6; } if ${ac_cv_type_unsigned_long_long_int+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ unsigned long long int ull = 18446744073709551615ULL; typedef int a[(18446744073709551615ULL <= (unsigned long long int) -1 ? 1 : -1)]; int i = 63; int main () { unsigned long long int ullmax = 18446744073709551615ull; return (ull << 63 | ull >> 63 | ull << i | ull >> i | ullmax / ull | ullmax % ull); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_type_unsigned_long_long_int=yes else ac_cv_type_unsigned_long_long_int=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_unsigned_long_long_int" >&5 $as_echo "$ac_cv_type_unsigned_long_long_int" >&6; } if test $ac_cv_type_unsigned_long_long_int = yes; then $as_echo "#define HAVE_UNSIGNED_LONG_LONG_INT 1" >>confdefs.h fi ac_cv_type_unsigned_long_long=$ac_cv_type_unsigned_long_long_int if test $ac_cv_type_unsigned_long_long = yes; then $as_echo "#define HAVE_UNSIGNED_LONG_LONG 1" >>confdefs.h fi if test $gl_cv_header_inttypes_h = no && test $gl_cv_header_stdint_h = no; then test $ac_cv_type_unsigned_long_long = yes \ && ac_type='unsigned long long' \ || ac_type='unsigned long' cat >>confdefs.h <<_ACEOF #define uintmax_t $ac_type _ACEOF else $as_echo "#define HAVE_UINTMAX_T 1" >>confdefs.h fi for ac_header in inttypes.h do : ac_fn_c_check_header_mongrel "$LINENO" "inttypes.h" "ac_cv_header_inttypes_h" "$ac_includes_default" if test "x$ac_cv_header_inttypes_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_INTTYPES_H 1 _ACEOF fi done if test $ac_cv_header_inttypes_h = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the inttypes.h PRIxNN macros are broken" >&5 $as_echo_n "checking whether the inttypes.h PRIxNN macros are broken... " >&6; } if ${gt_cv_inttypes_pri_broken+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #ifdef PRId32 char *p = PRId32; #endif int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gt_cv_inttypes_pri_broken=no else gt_cv_inttypes_pri_broken=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_inttypes_pri_broken" >&5 $as_echo "$gt_cv_inttypes_pri_broken" >&6; } fi if test "$gt_cv_inttypes_pri_broken" = yes; then cat >>confdefs.h <<_ACEOF #define PRI_MACROS_BROKEN 1 _ACEOF PRI_MACROS_BROKEN=1 else PRI_MACROS_BROKEN=0 fi # Check whether --enable-threads was given. if test "${enable_threads+set}" = set; then : enableval=$enable_threads; gl_use_threads=$enableval else case "$host_os" in osf*) gl_use_threads=no ;; *) gl_use_threads=yes ;; esac fi if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then # For using : case "$host_os" in osf*) # On OSF/1, the compiler needs the flag -D_REENTRANT so that it # groks . cc also understands the flag -pthread, but # we don't use it because 1. gcc-2.95 doesn't understand -pthread, # 2. putting a flag into CPPFLAGS that has an effect on the linker # causes the AC_TRY_LINK test below to succeed unexpectedly, # leading to wrong values of LIBTHREAD and LTLIBTHREAD. CPPFLAGS="$CPPFLAGS -D_REENTRANT" ;; esac # Some systems optimize for single-threaded programs by default, and # need special flags to disable these optimizations. For example, the # definition of 'errno' in . case "$host_os" in aix* | freebsd*) CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE" ;; solaris*) CPPFLAGS="$CPPFLAGS -D_REENTRANT" ;; esac fi if test "X$prefix" = "XNONE"; then acl_final_prefix="$ac_default_prefix" else acl_final_prefix="$prefix" fi if test "X$exec_prefix" = "XNONE"; then acl_final_exec_prefix='${prefix}' else acl_final_exec_prefix="$exec_prefix" fi acl_save_prefix="$prefix" prefix="$acl_final_prefix" eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" prefix="$acl_save_prefix" # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then : withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by GCC" >&5 $as_echo_n "checking for ld used by GCC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | [A-Za-z]:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the path of ld ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 $as_echo_n "checking for GNU ld... " >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 $as_echo_n "checking for non-GNU ld... " >&6; } fi if ${acl_cv_path_LD+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$LD"; then IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then acl_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some GNU ld's only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in *GNU* | *'with BFD'*) test "$with_gnu_ld" != no && break ;; *) test "$with_gnu_ld" != yes && break ;; esac fi done IFS="$ac_save_ifs" else acl_cv_path_LD="$LD" # Let the user override the test with a path. fi fi LD="$acl_cv_path_LD" if test -n "$LD"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 $as_echo "$LD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } if ${acl_cv_prog_gnu_ld+:} false; then : $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU ld's only accept -v. case `$LD -v 2>&1 &5 $as_echo "$acl_cv_prog_gnu_ld" >&6; } with_gnu_ld=$acl_cv_prog_gnu_ld { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5 $as_echo_n "checking for shared library run path origin... " >&6; } if ${acl_cv_rpath+:} false; then : $as_echo_n "(cached) " >&6 else CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh . ./conftest.sh rm -f ./conftest.sh acl_cv_rpath=done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5 $as_echo "$acl_cv_rpath" >&6; } wl="$acl_cv_wl" libext="$acl_cv_libext" shlibext="$acl_cv_shlibext" hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" hardcode_direct="$acl_cv_hardcode_direct" hardcode_minus_L="$acl_cv_hardcode_minus_L" # Check whether --enable-rpath was given. if test "${enable_rpath+set}" = set; then : enableval=$enable_rpath; : else enable_rpath=yes fi acl_libdirstem=lib searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` if test -n "$searchpath"; then acl_save_IFS="${IFS= }"; IFS=":" for searchdir in $searchpath; do if test -d "$searchdir"; then case "$searchdir" in */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; *) searchdir=`cd "$searchdir" && pwd` case "$searchdir" in */lib64 ) acl_libdirstem=lib64 ;; esac ;; esac fi done IFS="$acl_save_IFS" fi gl_threads_api=none LIBTHREAD= LTLIBTHREAD= LIBMULTITHREAD= LTLIBMULTITHREAD= if test "$gl_use_threads" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether imported symbols can be declared weak" >&5 $as_echo_n "checking whether imported symbols can be declared weak... " >&6; } gl_have_weak=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ extern void xyzzy (); #pragma weak xyzzy int main () { xyzzy(); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_have_weak=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_have_weak" >&5 $as_echo "$gl_have_weak" >&6; } if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then # On OSF/1, the compiler needs the flag -pthread or -D_REENTRANT so that # it groks . It's added above, in gl_LOCK_EARLY_BODY. ac_fn_c_check_header_mongrel "$LINENO" "pthread.h" "ac_cv_header_pthread_h" "$ac_includes_default" if test "x$ac_cv_header_pthread_h" = xyes; then : gl_have_pthread_h=yes else gl_have_pthread_h=no fi if test "$gl_have_pthread_h" = yes; then # Other possible tests: # -lpthreads (FSU threads, PCthreads) # -lgthreads gl_have_pthread= # Test whether both pthread_mutex_lock and pthread_mutexattr_init exist # in libc. IRIX 6.5 has the first one in both libc and libpthread, but # the second one only in libpthread, and lock.c needs it. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { pthread_mutex_lock((pthread_mutex_t*)0); pthread_mutexattr_init((pthread_mutexattr_t*)0); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_have_pthread=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext # Test for libpthread by looking for pthread_kill. (Not pthread_self, # since it is defined as a macro on OSF/1.) if test -n "$gl_have_pthread"; then # The program links fine without libpthread. But it may actually # need to link with libpthread in order to create multiple threads. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_kill in -lpthread" >&5 $as_echo_n "checking for pthread_kill in -lpthread... " >&6; } if ${ac_cv_lib_pthread_pthread_kill+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpthread $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char pthread_kill (); int main () { return pthread_kill (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_pthread_pthread_kill=yes else ac_cv_lib_pthread_pthread_kill=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_kill" >&5 $as_echo "$ac_cv_lib_pthread_pthread_kill" >&6; } if test "x$ac_cv_lib_pthread_pthread_kill" = xyes; then : LIBMULTITHREAD=-lpthread LTLIBMULTITHREAD=-lpthread # On Solaris and HP-UX, most pthread functions exist also in libc. # Therefore pthread_in_use() needs to actually try to create a # thread: pthread_create from libc will fail, whereas # pthread_create will actually create a thread. case "$host_os" in solaris* | hpux*) $as_echo "#define PTHREAD_IN_USE_DETECTION_HARD 1" >>confdefs.h esac fi else # Some library is needed. Try libpthread and libc_r. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_kill in -lpthread" >&5 $as_echo_n "checking for pthread_kill in -lpthread... " >&6; } if ${ac_cv_lib_pthread_pthread_kill+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpthread $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char pthread_kill (); int main () { return pthread_kill (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_pthread_pthread_kill=yes else ac_cv_lib_pthread_pthread_kill=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_kill" >&5 $as_echo "$ac_cv_lib_pthread_pthread_kill" >&6; } if test "x$ac_cv_lib_pthread_pthread_kill" = xyes; then : gl_have_pthread=yes LIBTHREAD=-lpthread LTLIBTHREAD=-lpthread LIBMULTITHREAD=-lpthread LTLIBMULTITHREAD=-lpthread fi if test -z "$gl_have_pthread"; then # For FreeBSD 4. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_kill in -lc_r" >&5 $as_echo_n "checking for pthread_kill in -lc_r... " >&6; } if ${ac_cv_lib_c_r_pthread_kill+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lc_r $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char pthread_kill (); int main () { return pthread_kill (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_c_r_pthread_kill=yes else ac_cv_lib_c_r_pthread_kill=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c_r_pthread_kill" >&5 $as_echo "$ac_cv_lib_c_r_pthread_kill" >&6; } if test "x$ac_cv_lib_c_r_pthread_kill" = xyes; then : gl_have_pthread=yes LIBTHREAD=-lc_r LTLIBTHREAD=-lc_r LIBMULTITHREAD=-lc_r LTLIBMULTITHREAD=-lc_r fi fi fi if test -n "$gl_have_pthread"; then gl_threads_api=posix $as_echo "#define USE_POSIX_THREADS 1" >>confdefs.h if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then if test $gl_have_weak = yes; then $as_echo "#define USE_POSIX_THREADS_WEAK 1" >>confdefs.h LIBTHREAD= LTLIBTHREAD= fi fi # OSF/1 4.0 and MacOS X 10.1 lack the pthread_rwlock_t type and the # pthread_rwlock_* functions. ac_fn_c_check_type "$LINENO" "pthread_rwlock_t" "ac_cv_type_pthread_rwlock_t" "#include " if test "x$ac_cv_type_pthread_rwlock_t" = xyes; then : $as_echo "#define HAVE_PTHREAD_RWLOCK 1" >>confdefs.h fi # glibc defines PTHREAD_MUTEX_RECURSIVE as enum, not as a macro. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { #if __FreeBSD__ == 4 error "No, in FreeBSD 4.0 recursive mutexes actually don't work." #else int x = (int)PTHREAD_MUTEX_RECURSIVE; return !x; #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : $as_echo "#define HAVE_PTHREAD_MUTEX_RECURSIVE 1" >>confdefs.h fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi fi if test -z "$gl_have_pthread"; then if test "$gl_use_threads" = yes || test "$gl_use_threads" = solaris; then gl_have_solaristhread= gl_save_LIBS="$LIBS" LIBS="$LIBS -lthread" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { thr_self(); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_have_solaristhread=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$gl_save_LIBS" if test -n "$gl_have_solaristhread"; then gl_threads_api=solaris LIBTHREAD=-lthread LTLIBTHREAD=-lthread LIBMULTITHREAD="$LIBTHREAD" LTLIBMULTITHREAD="$LTLIBTHREAD" $as_echo "#define USE_SOLARIS_THREADS 1" >>confdefs.h if test $gl_have_weak = yes; then $as_echo "#define USE_SOLARIS_THREADS_WEAK 1" >>confdefs.h LIBTHREAD= LTLIBTHREAD= fi fi fi fi if test "$gl_use_threads" = pth; then gl_save_CPPFLAGS="$CPPFLAGS" { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libpth" >&5 $as_echo_n "checking how to link with libpth... " >&6; } if ${ac_cv_libpth_libs+:} false; then : $as_echo_n "(cached) " >&6 else use_additional=yes acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" # Check whether --with-libpth-prefix was given. if test "${with_libpth_prefix+set}" = set; then : withval=$with_libpth_prefix; if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" fi fi fi LIBPTH= LTLIBPTH= INCPTH= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='pth ' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIBPTH="${LIBPTH}${LIBPTH:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIBPTH="${LTLIBPTH}${LTLIBPTH:+ }$value" else : fi else found_dir= found_la= found_so= found_a= if test $use_additional = yes; then if test -n "$shlibext" \ && { test -f "$additional_libdir/lib$name.$shlibext" \ || { test "$shlibext" = dll \ && test -f "$additional_libdir/lib$name.dll.a"; }; }; then found_dir="$additional_libdir" if test -f "$additional_libdir/lib$name.$shlibext"; then found_so="$additional_libdir/lib$name.$shlibext" else found_so="$additional_libdir/lib$name.dll.a" fi if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi else if test -f "$additional_libdir/lib$name.$libext"; then found_dir="$additional_libdir" found_a="$additional_libdir/lib$name.$libext" if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIBPTH; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` if test -n "$shlibext" \ && { test -f "$dir/lib$name.$shlibext" \ || { test "$shlibext" = dll \ && test -f "$dir/lib$name.dll.a"; }; }; then found_dir="$dir" if test -f "$dir/lib$name.$shlibext"; then found_so="$dir/lib$name.$shlibext" else found_so="$dir/lib$name.dll.a" fi if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi else if test -f "$dir/lib$name.$libext"; then found_dir="$dir" found_a="$dir/lib$name.$libext" if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then LTLIBPTH="${LTLIBPTH}${LTLIBPTH:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then LIBPTH="${LIBPTH}${LIBPTH:+ }$found_so" else haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi if test "$hardcode_direct" = yes; then LIBPTH="${LIBPTH}${LIBPTH:+ }$found_so" else if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then LIBPTH="${LIBPTH}${LIBPTH:+ }$found_so" haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else haveit= for x in $LDFLAGS $LIBPTH; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIBPTH="${LIBPTH}${LIBPTH:+ }-L$found_dir" fi if test "$hardcode_minus_L" != no; then LIBPTH="${LIBPTH}${LIBPTH:+ }$found_so" else LIBPTH="${LIBPTH}${LIBPTH:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then LIBPTH="${LIBPTH}${LIBPTH:+ }$found_a" else LIBPTH="${LIBPTH}${LIBPTH:+ }-L$found_dir -l$name" fi fi additional_includedir= case "$found_dir" in */$acl_libdirstem | */$acl_libdirstem/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INCPTH; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then INCPTH="${INCPTH}${INCPTH:+ }-I$additional_includedir" fi fi fi fi fi if test -n "$found_la"; then save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then haveit= if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIBPTH; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LIBPTH="${LIBPTH}${LIBPTH:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIBPTH; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LTLIBPTH="${LTLIBPTH}${LTLIBPTH:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) LIBPTH="${LIBPTH}${LIBPTH:+ }$dep" LTLIBPTH="${LTLIBPTH}${LTLIBPTH:+ }$dep" ;; esac done fi else LIBPTH="${LIBPTH}${LIBPTH:+ }-l$name" LTLIBPTH="${LTLIBPTH}${LTLIBPTH:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$hardcode_libdir_separator"; then alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBPTH="${LIBPTH}${LIBPTH:+ }$flag" else for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBPTH="${LIBPTH}${LIBPTH:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then for found_dir in $ltrpathdirs; do LTLIBPTH="${LTLIBPTH}${LTLIBPTH:+ }-R$found_dir" done fi ac_cv_libpth_libs="$LIBPTH" ac_cv_libpth_ltlibs="$LTLIBPTH" ac_cv_libpth_cppflags="$INCPTH" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libpth_libs" >&5 $as_echo "$ac_cv_libpth_libs" >&6; } LIBPTH="$ac_cv_libpth_libs" LTLIBPTH="$ac_cv_libpth_ltlibs" INCPTH="$ac_cv_libpth_cppflags" for element in $INCPTH; do haveit= for x in $CPPFLAGS; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" fi done HAVE_LIBPTH=yes gl_have_pth= gl_save_LIBS="$LIBS" LIBS="$LIBS -lpth" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { pth_self(); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_have_pth=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$gl_save_LIBS" if test -n "$gl_have_pth"; then gl_threads_api=pth LIBTHREAD="$LIBPTH" LTLIBTHREAD="$LTLIBPTH" LIBMULTITHREAD="$LIBTHREAD" LTLIBMULTITHREAD="$LTLIBTHREAD" $as_echo "#define USE_PTH_THREADS 1" >>confdefs.h if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then if test $gl_have_weak = yes; then $as_echo "#define USE_PTH_THREADS_WEAK 1" >>confdefs.h LIBTHREAD= LTLIBTHREAD= fi fi else CPPFLAGS="$gl_save_CPPFLAGS" fi fi if test -z "$gl_have_pthread"; then if test "$gl_use_threads" = yes || test "$gl_use_threads" = win32; then if { case "$host_os" in mingw*) true;; *) false;; esac }; then gl_threads_api=win32 $as_echo "#define USE_WIN32_THREADS 1" >>confdefs.h fi fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for multithread API to use" >&5 $as_echo_n "checking for multithread API to use... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_threads_api" >&5 $as_echo "$gl_threads_api" >&6; } use_additional=yes acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" # Check whether --with-libiconv-prefix was given. if test "${with_libiconv_prefix+set}" = set; then : withval=$with_libiconv_prefix; if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" fi fi fi LIBICONV= LTLIBICONV= INCICONV= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='iconv ' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value" else : fi else found_dir= found_la= found_so= found_a= if test $use_additional = yes; then if test -n "$shlibext" \ && { test -f "$additional_libdir/lib$name.$shlibext" \ || { test "$shlibext" = dll \ && test -f "$additional_libdir/lib$name.dll.a"; }; }; then found_dir="$additional_libdir" if test -f "$additional_libdir/lib$name.$shlibext"; then found_so="$additional_libdir/lib$name.$shlibext" else found_so="$additional_libdir/lib$name.dll.a" fi if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi else if test -f "$additional_libdir/lib$name.$libext"; then found_dir="$additional_libdir" found_a="$additional_libdir/lib$name.$libext" if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` if test -n "$shlibext" \ && { test -f "$dir/lib$name.$shlibext" \ || { test "$shlibext" = dll \ && test -f "$dir/lib$name.dll.a"; }; }; then found_dir="$dir" if test -f "$dir/lib$name.$shlibext"; then found_so="$dir/lib$name.$shlibext" else found_so="$dir/lib$name.dll.a" fi if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi else if test -f "$dir/lib$name.$libext"; then found_dir="$dir" found_a="$dir/lib$name.$libext" if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi if test "$hardcode_direct" = yes; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else haveit= for x in $LDFLAGS $LIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir" fi if test "$hardcode_minus_L" != no; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a" else LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name" fi fi additional_includedir= case "$found_dir" in */$acl_libdirstem | */$acl_libdirstem/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INCICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir" fi fi fi fi fi if test -n "$found_la"; then save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then haveit= if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) LIBICONV="${LIBICONV}${LIBICONV:+ }$dep" LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep" ;; esac done fi else LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$hardcode_libdir_separator"; then alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" else for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then for found_dir in $ltrpathdirs; do LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir" done fi cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int foo (int a) { a = __builtin_expect (a, 10); return a == 10 ? 0 : 1; } int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : $as_echo "#define HAVE_BUILTIN_EXPECT 1" >>confdefs.h fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext for ac_header in argz.h inttypes.h limits.h unistd.h sys/param.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_func in getcwd getegid geteuid getgid getuid mempcpy munmap \ stpcpy strcasecmp strdup strtoul tsearch argz_count argz_stringify \ argz_next __fsetlocking do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether feof_unlocked is declared" >&5 $as_echo_n "checking whether feof_unlocked is declared... " >&6; } if ${ac_cv_have_decl_feof_unlocked+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { #ifndef feof_unlocked char *p = (char *) feof_unlocked; #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_have_decl_feof_unlocked=yes else ac_cv_have_decl_feof_unlocked=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_decl_feof_unlocked" >&5 $as_echo "$ac_cv_have_decl_feof_unlocked" >&6; } if test $ac_cv_have_decl_feof_unlocked = yes; then gt_value=1 else gt_value=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FEOF_UNLOCKED $gt_value _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fgets_unlocked is declared" >&5 $as_echo_n "checking whether fgets_unlocked is declared... " >&6; } if ${ac_cv_have_decl_fgets_unlocked+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { #ifndef fgets_unlocked char *p = (char *) fgets_unlocked; #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_have_decl_fgets_unlocked=yes else ac_cv_have_decl_fgets_unlocked=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_decl_fgets_unlocked" >&5 $as_echo "$ac_cv_have_decl_fgets_unlocked" >&6; } if test $ac_cv_have_decl_fgets_unlocked = yes; then gt_value=1 else gt_value=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FGETS_UNLOCKED $gt_value _ACEOF am_save_CPPFLAGS="$CPPFLAGS" for element in $INCICONV; do haveit= for x in $CPPFLAGS; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5 $as_echo_n "checking for iconv... " >&6; } if ${am_cv_func_iconv+:} false; then : $as_echo_n "(cached) " >&6 else am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : am_cv_func_iconv=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" LIBS="$LIBS $LIBICONV" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : am_cv_lib_iconv=yes am_cv_func_iconv=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$am_save_LIBS" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5 $as_echo "$am_cv_func_iconv" >&6; } if test "$am_cv_func_iconv" = yes; then $as_echo "#define HAVE_ICONV 1" >>confdefs.h fi if test "$am_cv_lib_iconv" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5 $as_echo_n "checking how to link with libiconv... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5 $as_echo "$LIBICONV" >&6; } else CPPFLAGS="$am_save_CPPFLAGS" LIBICONV= LTLIBICONV= fi if test "$am_cv_func_iconv" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv declaration" >&5 $as_echo_n "checking for iconv declaration... " >&6; } if ${am_cv_proto_iconv+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include extern #ifdef __cplusplus "C" #endif #if defined(__STDC__) || defined(__cplusplus) size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); #else size_t iconv(); #endif int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : am_cv_proto_iconv_arg1="" else am_cv_proto_iconv_arg1="const" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);" fi am_cv_proto_iconv=`echo "$am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${ac_t:- }$am_cv_proto_iconv" >&5 $as_echo "${ac_t:- }$am_cv_proto_iconv" >&6; } cat >>confdefs.h <<_ACEOF #define ICONV_CONST $am_cv_proto_iconv_arg1 _ACEOF fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for NL_LOCALE_NAME macro" >&5 $as_echo_n "checking for NL_LOCALE_NAME macro... " >&6; } if ${gt_cv_nl_locale_name+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { char* cs = nl_langinfo(_NL_LOCALE_NAME(LC_MESSAGES)); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gt_cv_nl_locale_name=yes else gt_cv_nl_locale_name=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_nl_locale_name" >&5 $as_echo "$gt_cv_nl_locale_name" >&6; } if test $gt_cv_nl_locale_name = yes; then $as_echo "#define HAVE_NL_LOCALE_NAME 1" >>confdefs.h fi for ac_prog in bison do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_INTLBISON+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$INTLBISON"; then ac_cv_prog_INTLBISON="$INTLBISON" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_INTLBISON="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi INTLBISON=$ac_cv_prog_INTLBISON if test -n "$INTLBISON"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLBISON" >&5 $as_echo "$INTLBISON" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$INTLBISON" && break done if test -z "$INTLBISON"; then ac_verc_fail=yes else { $as_echo "$as_me:${as_lineno-$LINENO}: checking version of bison" >&5 $as_echo_n "checking version of bison... " >&6; } ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'` case $ac_prog_version in '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*) ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_prog_version" >&5 $as_echo "$ac_prog_version" >&6; } fi if test $ac_verc_fail = yes; then INTLBISON=: fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long long int" >&5 $as_echo_n "checking for long long int... " >&6; } if ${ac_cv_type_long_long_int+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ long long int ll = 9223372036854775807ll; long long int nll = -9223372036854775807LL; typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) ? 1 : -1)]; int i = 63; int main () { long long int llmax = 9223372036854775807ll; return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i) | (llmax / ll) | (llmax % ll)); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_type_long_long_int=yes else ac_cv_type_long_long_int=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_long_long_int" >&5 $as_echo "$ac_cv_type_long_long_int" >&6; } if test $ac_cv_type_long_long_int = yes; then $as_echo "#define HAVE_LONG_LONG_INT 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long double" >&5 $as_echo_n "checking for long double... " >&6; } if ${gt_cv_c_long_double+:} false; then : $as_echo_n "(cached) " >&6 else if test "$GCC" = yes; then gt_cv_c_long_double=yes else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* The Stardent Vistra knows sizeof(long double), but does not support it. */ long double foo = 0.0; /* On Ultrix 4.3 cc, long double is 4 and double is 8. */ int array [2*(sizeof(long double) >= sizeof(double)) - 1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gt_cv_c_long_double=yes else gt_cv_c_long_double=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_long_double" >&5 $as_echo "$gt_cv_c_long_double" >&6; } if test $gt_cv_c_long_double = yes; then $as_echo "#define HAVE_LONG_DOUBLE 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wchar_t" >&5 $as_echo_n "checking for wchar_t... " >&6; } if ${gt_cv_c_wchar_t+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include wchar_t foo = (wchar_t)'\0'; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gt_cv_c_wchar_t=yes else gt_cv_c_wchar_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wchar_t" >&5 $as_echo "$gt_cv_c_wchar_t" >&6; } if test $gt_cv_c_wchar_t = yes; then $as_echo "#define HAVE_WCHAR_T 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wint_t" >&5 $as_echo_n "checking for wint_t... " >&6; } if ${gt_cv_c_wint_t+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include wint_t foo = (wchar_t)'\0'; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gt_cv_c_wint_t=yes else gt_cv_c_wint_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wint_t" >&5 $as_echo "$gt_cv_c_wint_t" >&6; } if test $gt_cv_c_wint_t = yes; then $as_echo "#define HAVE_WINT_T 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for intmax_t" >&5 $as_echo_n "checking for intmax_t... " >&6; } if ${gt_cv_c_intmax_t+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if HAVE_STDINT_H_WITH_UINTMAX #include #endif #if HAVE_INTTYPES_H_WITH_UINTMAX #include #endif int main () { intmax_t x = -1; return !x; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gt_cv_c_intmax_t=yes else gt_cv_c_intmax_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_intmax_t" >&5 $as_echo "$gt_cv_c_intmax_t" >&6; } if test $gt_cv_c_intmax_t = yes; then $as_echo "#define HAVE_INTMAX_T 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether printf() supports POSIX/XSI format strings" >&5 $as_echo_n "checking whether printf() supports POSIX/XSI format strings... " >&6; } if ${gt_cv_func_printf_posix+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if defined __NetBSD__ || defined _MSC_VER || defined __MINGW32__ || defined __CYGWIN__ notposix #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "notposix" >/dev/null 2>&1; then : gt_cv_func_printf_posix="guessing no" else gt_cv_func_printf_posix="guessing yes" fi rm -f conftest* else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include /* The string "%2$d %1$d", with dollar characters protected from the shell's dollar expansion (possibly an autoconf bug). */ static char format[] = { '%', '2', '$', 'd', ' ', '%', '1', '$', 'd', '\0' }; static char buf[100]; int main () { sprintf (buf, format, 33, 55); return (strcmp (buf, "55 33") != 0); } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gt_cv_func_printf_posix=yes else gt_cv_func_printf_posix=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_printf_posix" >&5 $as_echo "$gt_cv_func_printf_posix" >&6; } case $gt_cv_func_printf_posix in *yes) $as_echo "#define HAVE_POSIX_PRINTF 1" >>confdefs.h ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C Library 2.1 or newer" >&5 $as_echo_n "checking whether we are using the GNU C Library 2.1 or newer... " >&6; } if ${ac_cv_gnu_library_2_1+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #ifdef __GNU_LIBRARY__ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) Lucky GNU user #endif #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "Lucky GNU user" >/dev/null 2>&1; then : ac_cv_gnu_library_2_1=yes else ac_cv_gnu_library_2_1=no fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gnu_library_2_1" >&5 $as_echo "$ac_cv_gnu_library_2_1" >&6; } GLIBC21="$ac_cv_gnu_library_2_1" for ac_header in stdint.h do : ac_fn_c_check_header_mongrel "$LINENO" "stdint.h" "ac_cv_header_stdint_h" "$ac_includes_default" if test "x$ac_cv_header_stdint_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STDINT_H 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SIZE_MAX" >&5 $as_echo_n "checking for SIZE_MAX... " >&6; } if ${gl_cv_size_max+:} false; then : $as_echo_n "(cached) " >&6 else gl_cv_size_max= cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #if HAVE_STDINT_H #include #endif #ifdef SIZE_MAX Found it #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "Found it" >/dev/null 2>&1; then : gl_cv_size_max=yes fi rm -f conftest* if test -z "$gl_cv_size_max"; then if ac_fn_c_compute_int "$LINENO" "sizeof (size_t) * CHAR_BIT - 1" "size_t_bits_minus_1" "#include #include "; then : else size_t_bits_minus_1= fi if ac_fn_c_compute_int "$LINENO" "sizeof (size_t) <= sizeof (unsigned int)" "fits_in_uint" "#include "; then : else fits_in_uint= fi if test -n "$size_t_bits_minus_1" && test -n "$fits_in_uint"; then if test $fits_in_uint = 1; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include extern size_t foo; extern unsigned long foo; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : fits_in_uint=0 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $fits_in_uint = 1; then gl_cv_size_max="(((1U << $size_t_bits_minus_1) - 1) * 2 + 1)" else gl_cv_size_max="(((1UL << $size_t_bits_minus_1) - 1) * 2 + 1)" fi else gl_cv_size_max='((size_t)~(size_t)0)' fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_size_max" >&5 $as_echo "$gl_cv_size_max" >&6; } if test "$gl_cv_size_max" != yes; then cat >>confdefs.h <<_ACEOF #define SIZE_MAX $gl_cv_size_max _ACEOF fi for ac_header in stdint.h do : ac_fn_c_check_header_mongrel "$LINENO" "stdint.h" "ac_cv_header_stdint_h" "$ac_includes_default" if test "x$ac_cv_header_stdint_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STDINT_H 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5 $as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; } if ${gt_cv_func_CFPreferencesCopyAppValue+:} false; then : $as_echo_n "(cached) " >&6 else gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { CFPreferencesCopyAppValue(NULL, NULL) ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gt_cv_func_CFPreferencesCopyAppValue=yes else gt_cv_func_CFPreferencesCopyAppValue=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$gt_save_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5 $as_echo "$gt_cv_func_CFPreferencesCopyAppValue" >&6; } if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then $as_echo "#define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyCurrent" >&5 $as_echo_n "checking for CFLocaleCopyCurrent... " >&6; } if ${gt_cv_func_CFLocaleCopyCurrent+:} false; then : $as_echo_n "(cached) " >&6 else gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { CFLocaleCopyCurrent(); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gt_cv_func_CFLocaleCopyCurrent=yes else gt_cv_func_CFLocaleCopyCurrent=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$gt_save_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyCurrent" >&5 $as_echo "$gt_cv_func_CFLocaleCopyCurrent" >&6; } if test $gt_cv_func_CFLocaleCopyCurrent = yes; then $as_echo "#define HAVE_CFLOCALECOPYCURRENT 1" >>confdefs.h fi INTL_MACOSX_LIBS= if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" fi ac_fn_c_check_type "$LINENO" "ptrdiff_t" "ac_cv_type_ptrdiff_t" "$ac_includes_default" if test "x$ac_cv_type_ptrdiff_t" = xyes; then : else $as_echo "#define ptrdiff_t long" >>confdefs.h fi for ac_header in stddef.h stdlib.h string.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_func in asprintf fwprintf putenv setenv setlocale snprintf wcslen do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether _snprintf is declared" >&5 $as_echo_n "checking whether _snprintf is declared... " >&6; } if ${ac_cv_have_decl__snprintf+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { #ifndef _snprintf char *p = (char *) _snprintf; #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_have_decl__snprintf=yes else ac_cv_have_decl__snprintf=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_decl__snprintf" >&5 $as_echo "$ac_cv_have_decl__snprintf" >&6; } if test $ac_cv_have_decl__snprintf = yes; then gt_value=1 else gt_value=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL__SNPRINTF $gt_value _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether _snwprintf is declared" >&5 $as_echo_n "checking whether _snwprintf is declared... " >&6; } if ${ac_cv_have_decl__snwprintf+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { #ifndef _snwprintf char *p = (char *) _snwprintf; #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_have_decl__snwprintf=yes else ac_cv_have_decl__snwprintf=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_decl__snwprintf" >&5 $as_echo "$ac_cv_have_decl__snwprintf" >&6; } if test $ac_cv_have_decl__snwprintf = yes; then gt_value=1 else gt_value=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL__SNWPRINTF $gt_value _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getc_unlocked is declared" >&5 $as_echo_n "checking whether getc_unlocked is declared... " >&6; } if ${ac_cv_have_decl_getc_unlocked+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { #ifndef getc_unlocked char *p = (char *) getc_unlocked; #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_have_decl_getc_unlocked=yes else ac_cv_have_decl_getc_unlocked=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_decl_getc_unlocked" >&5 $as_echo "$ac_cv_have_decl_getc_unlocked" >&6; } if test $ac_cv_have_decl_getc_unlocked = yes; then gt_value=1 else gt_value=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETC_UNLOCKED $gt_value _ACEOF case $gt_cv_func_printf_posix in *yes) HAVE_POSIX_PRINTF=1 ;; *) HAVE_POSIX_PRINTF=0 ;; esac if test "$ac_cv_func_asprintf" = yes; then HAVE_ASPRINTF=1 else HAVE_ASPRINTF=0 fi if test "$ac_cv_func_snprintf" = yes; then HAVE_SNPRINTF=1 else HAVE_SNPRINTF=0 fi if test "$ac_cv_func_wprintf" = yes; then HAVE_WPRINTF=1 else HAVE_WPRINTF=0 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for nl_langinfo and CODESET" >&5 $as_echo_n "checking for nl_langinfo and CODESET... " >&6; } if ${am_cv_langinfo_codeset+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { char* cs = nl_langinfo(CODESET); return !cs; ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : am_cv_langinfo_codeset=yes else am_cv_langinfo_codeset=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_langinfo_codeset" >&5 $as_echo "$am_cv_langinfo_codeset" >&6; } if test $am_cv_langinfo_codeset = yes; then $as_echo "#define HAVE_LANGINFO_CODESET 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LC_MESSAGES" >&5 $as_echo_n "checking for LC_MESSAGES... " >&6; } if ${gt_cv_val_LC_MESSAGES+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { return LC_MESSAGES ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gt_cv_val_LC_MESSAGES=yes else gt_cv_val_LC_MESSAGES=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_val_LC_MESSAGES" >&5 $as_echo "$gt_cv_val_LC_MESSAGES" >&6; } if test $gt_cv_val_LC_MESSAGES = yes; then $as_echo "#define HAVE_LC_MESSAGES 1" >>confdefs.h fi if test "$enable_shared" = yes; then case "$host_os" in cygwin*) is_woe32dll=yes ;; *) is_woe32dll=no ;; esac else is_woe32dll=no fi WOE32DLL=$is_woe32dll { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5 $as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; } if ${gt_cv_func_CFPreferencesCopyAppValue+:} false; then : $as_echo_n "(cached) " >&6 else gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { CFPreferencesCopyAppValue(NULL, NULL) ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gt_cv_func_CFPreferencesCopyAppValue=yes else gt_cv_func_CFPreferencesCopyAppValue=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$gt_save_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5 $as_echo "$gt_cv_func_CFPreferencesCopyAppValue" >&6; } if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then $as_echo "#define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyCurrent" >&5 $as_echo_n "checking for CFLocaleCopyCurrent... " >&6; } if ${gt_cv_func_CFLocaleCopyCurrent+:} false; then : $as_echo_n "(cached) " >&6 else gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { CFLocaleCopyCurrent(); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gt_cv_func_CFLocaleCopyCurrent=yes else gt_cv_func_CFLocaleCopyCurrent=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$gt_save_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyCurrent" >&5 $as_echo "$gt_cv_func_CFLocaleCopyCurrent" >&6; } if test $gt_cv_func_CFLocaleCopyCurrent = yes; then $as_echo "#define HAVE_CFLOCALECOPYCURRENT 1" >>confdefs.h fi INTL_MACOSX_LIBS= if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" fi BUILD_INCLUDED_LIBINTL=no USE_INCLUDED_LIBINTL=no LIBINTL= LTLIBINTL= POSUB= case " $gt_needs " in *" need-formatstring-macros "*) gt_api_version=3 ;; *" need-ngettext "*) gt_api_version=2 ;; *) gt_api_version=1 ;; esac gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" if test "$USE_NLS" = "yes"; then gt_use_preinstalled_gnugettext=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether included gettext is requested" >&5 $as_echo_n "checking whether included gettext is requested... " >&6; } # Check whether --with-included-gettext was given. if test "${with_included_gettext+set}" = set; then : withval=$with_included_gettext; nls_cv_force_use_gnu_gettext=$withval else nls_cv_force_use_gnu_gettext=no fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $nls_cv_force_use_gnu_gettext" >&5 $as_echo "$nls_cv_force_use_gnu_gettext" >&6; } nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" if test "$nls_cv_force_use_gnu_gettext" != "yes"; then if test $gt_api_version -ge 3; then gt_revision_test_code='[ #ifndef __GNU_GETTEXT_SUPPORTED_REVISION #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) #endif typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; ]' else gt_revision_test_code= fi if test $gt_api_version -ge 2; then gt_expression_test_code=' + * ngettext ("", "", 0)' else gt_expression_test_code= fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libc" >&5 $as_echo_n "checking for GNU gettext in libc... " >&6; } if eval \${$gt_func_gnugettext_libc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern int *_nl_domain_bindings; int main () { bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$gt_func_gnugettext_libc=yes" else eval "$gt_func_gnugettext_libc=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi eval ac_res=\$$gt_func_gnugettext_libc { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then use_additional=yes acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" # Check whether --with-libintl-prefix was given. if test "${with_libintl_prefix+set}" = set; then : withval=$with_libintl_prefix; if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" fi fi fi LIBINTL= LTLIBINTL= INCINTL= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='intl ' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIBINTL="${LIBINTL}${LIBINTL:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$value" else : fi else found_dir= found_la= found_so= found_a= if test $use_additional = yes; then if test -n "$shlibext" \ && { test -f "$additional_libdir/lib$name.$shlibext" \ || { test "$shlibext" = dll \ && test -f "$additional_libdir/lib$name.dll.a"; }; }; then found_dir="$additional_libdir" if test -f "$additional_libdir/lib$name.$shlibext"; then found_so="$additional_libdir/lib$name.$shlibext" else found_so="$additional_libdir/lib$name.dll.a" fi if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi else if test -f "$additional_libdir/lib$name.$libext"; then found_dir="$additional_libdir" found_a="$additional_libdir/lib$name.$libext" if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` if test -n "$shlibext" \ && { test -f "$dir/lib$name.$shlibext" \ || { test "$shlibext" = dll \ && test -f "$dir/lib$name.dll.a"; }; }; then found_dir="$dir" if test -f "$dir/lib$name.$shlibext"; then found_so="$dir/lib$name.$shlibext" else found_so="$dir/lib$name.dll.a" fi if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi else if test -f "$dir/lib$name.$libext"; then found_dir="$dir" found_a="$dir/lib$name.$libext" if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi if test "$hardcode_direct" = yes; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else haveit= for x in $LDFLAGS $LIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir" fi if test "$hardcode_minus_L" != no; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_a" else LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir -l$name" fi fi additional_includedir= case "$found_dir" in */$acl_libdirstem | */$acl_libdirstem/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INCINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then INCINTL="${INCINTL}${INCINTL:+ }-I$additional_includedir" fi fi fi fi fi if test -n "$found_la"; then save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then haveit= if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LIBINTL="${LIBINTL}${LIBINTL:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) LIBINTL="${LIBINTL}${LIBINTL:+ }$dep" LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$dep" ;; esac done fi else LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$hardcode_libdir_separator"; then alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" else for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then for found_dir in $ltrpathdirs; do LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir" done fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5 $as_echo_n "checking for GNU gettext in libintl... " >&6; } if eval \${$gt_func_gnugettext_libintl+:} false; then : $as_echo_n "(cached) " >&6 else gt_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $INCINTL" gt_save_LIBS="$LIBS" LIBS="$LIBS $LIBINTL" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *); int main () { bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$gt_func_gnugettext_libintl=yes" else eval "$gt_func_gnugettext_libintl=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then LIBS="$LIBS $LIBICONV" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *); int main () { bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : LIBINTL="$LIBINTL $LIBICONV" LTLIBINTL="$LTLIBINTL $LTLIBICONV" eval "$gt_func_gnugettext_libintl=yes" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi CPPFLAGS="$gt_save_CPPFLAGS" LIBS="$gt_save_LIBS" fi eval ac_res=\$$gt_func_gnugettext_libintl { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ && test "$PACKAGE" != gettext-runtime \ && test "$PACKAGE" != gettext-tools; }; then gt_use_preinstalled_gnugettext=yes else LIBINTL= LTLIBINTL= INCINTL= fi if test "$gt_use_preinstalled_gnugettext" != "yes"; then nls_cv_use_gnu_gettext=yes fi fi if test "$nls_cv_use_gnu_gettext" = "yes"; then BUILD_INCLUDED_LIBINTL=yes USE_INCLUDED_LIBINTL=yes LIBINTL="\${top_builddir}/intl/libintl.a $LIBICONV $LIBTHREAD" LTLIBINTL="\${top_builddir}/intl/libintl.a $LTLIBICONV $LTLIBTHREAD" LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` fi CATOBJEXT= if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then CATOBJEXT=.gmo fi if test -n "$INTL_MACOSX_LIBS"; then if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" fi fi if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then $as_echo "#define ENABLE_NLS 1" >>confdefs.h else USE_NLS=no fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use NLS" >&5 $as_echo_n "checking whether to use NLS... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 $as_echo "$USE_NLS" >&6; } if test "$USE_NLS" = "yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking where the gettext function comes from" >&5 $as_echo_n "checking where the gettext function comes from... " >&6; } if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then gt_source="external libintl" else gt_source="libc" fi else gt_source="included intl directory" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_source" >&5 $as_echo "$gt_source" >&6; } fi if test "$USE_NLS" = "yes"; then if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libintl" >&5 $as_echo_n "checking how to link with libintl... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBINTL" >&5 $as_echo "$LIBINTL" >&6; } for element in $INCINTL; do haveit= for x in $CPPFLAGS; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" fi done fi $as_echo "#define HAVE_GETTEXT 1" >>confdefs.h $as_echo "#define HAVE_DCGETTEXT 1" >>confdefs.h fi POSUB=po fi if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then BUILD_INCLUDED_LIBINTL=yes fi nls_cv_header_intl= nls_cv_header_libgt= DATADIRNAME=share INSTOBJEXT=.mo GENCAT=gencat INTLOBJS= if test "$USE_INCLUDED_LIBINTL" = yes; then INTLOBJS="\$(GETTOBJS)" fi INTL_LIBTOOL_SUFFIX_PREFIX= INTLLIBS="$LIBINTL" # We need to check that GNU gettext is available # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "gettext", so it can be a program name with args. set dummy gettext; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_GETTEXT+:} false; then : $as_echo_n "(cached) " >&6 else case "$GETTEXT" in [\\/]* | ?:[\\/]*) ac_cv_path_GETTEXT="$GETTEXT" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&5 if $ac_dir/$ac_word --version | grep GNU > /dev/null; then ac_cv_path_GETTEXT="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" test -z "$ac_cv_path_GETTEXT" && ac_cv_path_GETTEXT=":" ;; esac fi GETTEXT="$ac_cv_path_GETTEXT" if test "$GETTEXT" != ":"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GETTEXT" >&5 $as_echo "$GETTEXT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$GETTEXT" = x; then as_fn_error $? "The GNU gettext program could not be found. Please ensure that GNU gettext is correctly installed, and rerun configure." "$LINENO" 5 fi # How should desktop-i18n be run? DESKTOP_I18N_SCRIPT="$am_aux_dir/desktop-i18n" DESKTOP_I18N="\${SHELL} $DESKTOP_I18N_SCRIPT" # We have a private directory to temporarily install locale data # into. DESKTOP_I18N_LOCALE_DIR='$(top_builddir)/.desktop-i18n' # Substitute our own evil, corrupted version of xgettext. # Mwahahahaha! XGETTEXT="$DESKTOP_I18N --extract --xgettext=$XGETTEXT --" # Define some rules for substitution into Makefiles DESKTOP_I18N_CREATE='$(DESKTOP_I18N) --create --gettext=$(GETTEXT) --domain=$(DOMAIN) \ --localedir=$(DESKTOP_I18N_LOCALE_DIR)/share/locale $(DESKTOP_I18N_LANGS)' DESKTOP_I18N_LANGS_RULE='DESKTOP_I18N_LANGS = $(addprefix --lang=,$(shell cat $(DESKTOP_I18N_LOCALE_DIR)/$(DOMAIN).LINGUAS))' DESKTOP_I18N_DESKTOP_RULE='%.desktop: %.desktop.in ; $(DESKTOP_I18N_CREATE) $< $@' DESKTOP_I18N_XML_RULE='%.xml: %.xml.in ; $(DESKTOP_I18N_CREATE) $< $@' ##################################################################### # Check for libraries that use pkg-config ##################################################################### if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_PKG_CONFIG+:} false; then : $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG if test -n "$PKG_CONFIG"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 $as_echo "$PKG_CONFIG" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_path_PKG_CONFIG"; then ac_pt_PKG_CONFIG=$PKG_CONFIG # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then : $as_echo_n "(cached) " >&6 else case $ac_pt_PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG if test -n "$ac_pt_PKG_CONFIG"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 $as_echo "$ac_pt_PKG_CONFIG" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_pt_PKG_CONFIG" = x; then PKG_CONFIG="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac PKG_CONFIG=$ac_pt_PKG_CONFIG fi else PKG_CONFIG="$ac_cv_path_PKG_CONFIG" fi fi if test -n "$PKG_CONFIG"; then _pkg_min_version=0.9.0 { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 $as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } PKG_CONFIG="" fi fi # First check for the libguile library # ------------------------------------ # Argument is the minimum guile version. For example # AX_CHECK_GUILE([1.8.0]) makes sure we have at least version 1.8.0 GUILE_MIN_VER=1.8.0 GUILE_MIN_MAJOR=`echo ${GUILE_MIN_VER} | sed 's;\..*;;g'` # the double brackets are to get past m4's expansion GUILE_MIN_MINOR=`echo ${GUILE_MIN_VER} | sed -e 's;[^\.]*\.;;' -e 's;\..*;;g'` GUILE_MIN_TEENY=`echo ${GUILE_MIN_VER} | sed -e 's;.*\.;;'` _found_pkg_config_guile=yes pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GUILE" >&5 $as_echo_n "checking for GUILE... " >&6; } if test -n "$GUILE_CFLAGS"; then pkg_cv_GUILE_CFLAGS="$GUILE_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"guile-2.0 >= \$GUILE_MIN_VER\""; } >&5 ($PKG_CONFIG --exists --print-errors "guile-2.0 >= $GUILE_MIN_VER") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GUILE_CFLAGS=`$PKG_CONFIG --cflags "guile-2.0 >= $GUILE_MIN_VER" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$GUILE_LIBS"; then pkg_cv_GUILE_LIBS="$GUILE_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"guile-2.0 >= \$GUILE_MIN_VER\""; } >&5 ($PKG_CONFIG --exists --print-errors "guile-2.0 >= $GUILE_MIN_VER") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GUILE_LIBS=`$PKG_CONFIG --libs "guile-2.0 >= $GUILE_MIN_VER" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then GUILE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "guile-2.0 >= $GUILE_MIN_VER" 2>&1` else GUILE_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "guile-2.0 >= $GUILE_MIN_VER" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GUILE_PKG_ERRORS" >&5 _found_pkg_config_guile=no elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } _found_pkg_config_guile=no else GUILE_CFLAGS=$pkg_cv_GUILE_CFLAGS GUILE_LIBS=$pkg_cv_GUILE_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } GUILE_PKG_NAME=guile-2.0 fi if test "${_found_pkg_config_guile}" = "no" ; then pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GUILE" >&5 $as_echo_n "checking for GUILE... " >&6; } if test -n "$GUILE_CFLAGS"; then pkg_cv_GUILE_CFLAGS="$GUILE_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"guile-1.8 >= \$GUILE_MIN_VER\""; } >&5 ($PKG_CONFIG --exists --print-errors "guile-1.8 >= $GUILE_MIN_VER") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GUILE_CFLAGS=`$PKG_CONFIG --cflags "guile-1.8 >= $GUILE_MIN_VER" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$GUILE_LIBS"; then pkg_cv_GUILE_LIBS="$GUILE_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"guile-1.8 >= \$GUILE_MIN_VER\""; } >&5 ($PKG_CONFIG --exists --print-errors "guile-1.8 >= $GUILE_MIN_VER") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GUILE_LIBS=`$PKG_CONFIG --libs "guile-1.8 >= $GUILE_MIN_VER" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then GUILE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "guile-1.8 >= $GUILE_MIN_VER" 2>&1` else GUILE_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "guile-1.8 >= $GUILE_MIN_VER" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GUILE_PKG_ERRORS" >&5 _found_pkg_config_guile=no elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } _found_pkg_config_guile=no else GUILE_CFLAGS=$pkg_cv_GUILE_CFLAGS GUILE_LIBS=$pkg_cv_GUILE_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } _found_pkg_config_guile=yes GUILE_PKG_NAME=guile-1.8 fi fi if test "${_found_pkg_config_guile}" = "no" ; then as_fn_error $? "you need at least version ${GUILE_MIN_VER} of guile" "$LINENO" 5 fi # Check for the `guile' executable # -------------------------------- # Extract the first word of "guile", so it can be a program name with args. set dummy guile; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_GUILE+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$GUILE"; then ac_cv_prog_GUILE="$GUILE" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_GUILE="guile" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_prog_GUILE" && ac_cv_prog_GUILE="no" fi fi GUILE=$ac_cv_prog_GUILE if test -n "$GUILE"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GUILE" >&5 $as_echo "$GUILE" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "X$GUILE" = "Xno"; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: The \`guile' interpreter could not be found. Some configuration checks will not be able to be carried out." >&5 $as_echo "$as_me: WARNING: The \`guile' interpreter could not be found. Some configuration checks will not be able to be carried out." >&2;} fi # Check for the `guile-snarf' build tool # -------------------------------------- for ac_prog in guile-snarf guile-1.8-snarf do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_GUILE_SNARF+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$GUILE_SNARF"; then ac_cv_prog_GUILE_SNARF="$GUILE_SNARF" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_GUILE_SNARF="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi GUILE_SNARF=$ac_cv_prog_GUILE_SNARF if test -n "$GUILE_SNARF"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GUILE_SNARF" >&5 $as_echo "$GUILE_SNARF" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$GUILE_SNARF" && break done test -n "$GUILE_SNARF" || GUILE_SNARF="no" if test "x$GUILE_SNARF" = xno ; then as_fn_error $? "The \`guile-snarf' tool could not be found. Please ensure that the Guile development headers and tools are correctly installed, and rerun configure." "$LINENO" 5 fi # Check for behaviour of `scm_display_error' # ------------------------------------------ if test "X$GUILE" != "Xno"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether scm_display_error expects a stack argument" >&5 $as_echo_n "checking whether scm_display_error expects a stack argument... " >&6; } if $GUILE -c \ "(exit (false-if-exception (begin (display-error (make-stack #t) (current-output-port) \"a\" \"b\" '() '()) #t)))" > /dev/null; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } $as_echo "#define HAVE_SCM_DISPLAY_ERROR_STACK 1" >>confdefs.h else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether scm_display_error expects a frame argument" >&5 $as_echo_n "checking whether scm_display_error expects a frame argument... " >&6; } if $GUILE -c \ "(exit (false-if-exception (begin (display-error (stack-ref (make-stack #t) 0) (current-output-port) \"a\" \"b\" '() '()) #t)))" > /dev/null; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } $as_echo "#define HAVE_SCM_DISPLAY_ERROR_FRAME 1" >>confdefs.h else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi # Check for functions in `libguile' # --------------------------------- # Save build-related variables save_CFLAGS="${CFLAGS}" save_LIBS="${LIBS}" CFLAGS="${GUILE_CFLAGS} ${CFLAGS}" LIBS="${GUILE_LIBS}" for ac_func in scm_from_utf8_string do : ac_fn_c_check_func "$LINENO" "scm_from_utf8_string" "ac_cv_func_scm_from_utf8_string" if test "x$ac_cv_func_scm_from_utf8_string" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SCM_FROM_UTF8_STRING 1 _ACEOF fi done for ac_func in scm_from_utf8_stringn do : ac_fn_c_check_func "$LINENO" "scm_from_utf8_stringn" "ac_cv_func_scm_from_utf8_stringn" if test "x$ac_cv_func_scm_from_utf8_stringn" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SCM_FROM_UTF8_STRINGN 1 _ACEOF fi done for ac_func in scm_to_utf8_string do : ac_fn_c_check_func "$LINENO" "scm_to_utf8_string" "ac_cv_func_scm_to_utf8_string" if test "x$ac_cv_func_scm_to_utf8_string" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SCM_TO_UTF8_STRING 1 _ACEOF fi done for ac_func in scm_to_utf8_stringn do : ac_fn_c_check_func "$LINENO" "scm_to_utf8_stringn" "ac_cv_func_scm_to_utf8_stringn" if test "x$ac_cv_func_scm_to_utf8_stringn" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SCM_TO_UTF8_STRINGN 1 _ACEOF fi done for ac_func in scm_from_utf8_symbol do : ac_fn_c_check_func "$LINENO" "scm_from_utf8_symbol" "ac_cv_func_scm_from_utf8_symbol" if test "x$ac_cv_func_scm_from_utf8_symbol" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SCM_FROM_UTF8_SYMBOL 1 _ACEOF fi done for ac_func in scm_from_utf8_symboln do : ac_fn_c_check_func "$LINENO" "scm_from_utf8_symboln" "ac_cv_func_scm_from_utf8_symboln" if test "x$ac_cv_func_scm_from_utf8_symboln" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SCM_FROM_UTF8_SYMBOLN 1 _ACEOF fi done # Restore build-related variables CFLAGS="${save_CFLAGS}" LIBS="${save_LIBS}" pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GLIB" >&5 $as_echo_n "checking for GLIB... " >&6; } if test -n "$GLIB_CFLAGS"; then pkg_cv_GLIB_CFLAGS="$GLIB_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= 2.20.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.20.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GLIB_CFLAGS=`$PKG_CONFIG --cflags "glib-2.0 >= 2.20.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$GLIB_LIBS"; then pkg_cv_GLIB_LIBS="$GLIB_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= 2.20.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.20.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GLIB_LIBS=`$PKG_CONFIG --libs "glib-2.0 >= 2.20.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then GLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "glib-2.0 >= 2.20.0" 2>&1` else GLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "glib-2.0 >= 2.20.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GLIB_PKG_ERRORS" >&5 as_fn_error $? "GLib 2.20.0 or later is required." "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } as_fn_error $? "GLib 2.20.0 or later is required." "$LINENO" 5 else GLIB_CFLAGS=$pkg_cv_GLIB_CFLAGS GLIB_LIBS=$pkg_cv_GLIB_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GTK" >&5 $as_echo_n "checking for GTK... " >&6; } if test -n "$GTK_CFLAGS"; then pkg_cv_GTK_CFLAGS="$GTK_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-2.0 >= 2.16.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "gtk+-2.0 >= 2.16.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GTK_CFLAGS=`$PKG_CONFIG --cflags "gtk+-2.0 >= 2.16.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$GTK_LIBS"; then pkg_cv_GTK_LIBS="$GTK_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-2.0 >= 2.16.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "gtk+-2.0 >= 2.16.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GTK_LIBS=`$PKG_CONFIG --libs "gtk+-2.0 >= 2.16.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then GTK_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gtk+-2.0 >= 2.16.0" 2>&1` else GTK_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gtk+-2.0 >= 2.16.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GTK_PKG_ERRORS" >&5 as_fn_error $? "GTK+ 2.16.0 or later is required." "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } as_fn_error $? "GTK+ 2.16.0 or later is required." "$LINENO" 5 else GTK_CFLAGS=$pkg_cv_GTK_CFLAGS GTK_LIBS=$pkg_cv_GTK_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GDK_PIXBUF" >&5 $as_echo_n "checking for GDK_PIXBUF... " >&6; } if test -n "$GDK_PIXBUF_CFLAGS"; then pkg_cv_GDK_PIXBUF_CFLAGS="$GDK_PIXBUF_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gdk-pixbuf-2.0 >= 2.16.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "gdk-pixbuf-2.0 >= 2.16.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GDK_PIXBUF_CFLAGS=`$PKG_CONFIG --cflags "gdk-pixbuf-2.0 >= 2.16.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$GDK_PIXBUF_LIBS"; then pkg_cv_GDK_PIXBUF_LIBS="$GDK_PIXBUF_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gdk-pixbuf-2.0 >= 2.16.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "gdk-pixbuf-2.0 >= 2.16.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GDK_PIXBUF_LIBS=`$PKG_CONFIG --libs "gdk-pixbuf-2.0 >= 2.16.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then GDK_PIXBUF_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gdk-pixbuf-2.0 >= 2.16.0" 2>&1` else GDK_PIXBUF_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gdk-pixbuf-2.0 >= 2.16.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GDK_PIXBUF_PKG_ERRORS" >&5 as_fn_error $? "GDK_PIXBUF 2.16.0 or later is required." "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } as_fn_error $? "GDK_PIXBUF 2.16.0 or later is required." "$LINENO" 5 else GDK_PIXBUF_CFLAGS=$pkg_cv_GDK_PIXBUF_CFLAGS GDK_PIXBUF_LIBS=$pkg_cv_GDK_PIXBUF_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CAIRO" >&5 $as_echo_n "checking for CAIRO... " >&6; } if test -n "$CAIRO_CFLAGS"; then pkg_cv_CAIRO_CFLAGS="$CAIRO_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"cairo >= 1.8.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "cairo >= 1.8.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_CAIRO_CFLAGS=`$PKG_CONFIG --cflags "cairo >= 1.8.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$CAIRO_LIBS"; then pkg_cv_CAIRO_LIBS="$CAIRO_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"cairo >= 1.8.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "cairo >= 1.8.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_CAIRO_LIBS=`$PKG_CONFIG --libs "cairo >= 1.8.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then CAIRO_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "cairo >= 1.8.0" 2>&1` else CAIRO_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "cairo >= 1.8.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$CAIRO_PKG_ERRORS" >&5 as_fn_error $? "CAIRO 1.8.0 or later is required." "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } as_fn_error $? "CAIRO 1.8.0 or later is required." "$LINENO" 5 else CAIRO_CFLAGS=$pkg_cv_CAIRO_CFLAGS CAIRO_LIBS=$pkg_cv_CAIRO_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi ##################################################################### # Header files & particular functions ##################################################################### { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sys/wait.h that is POSIX.1 compatible" >&5 $as_echo_n "checking for sys/wait.h that is POSIX.1 compatible... " >&6; } if ${ac_cv_header_sys_wait_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #ifndef WEXITSTATUS # define WEXITSTATUS(stat_val) ((unsigned int) (stat_val) >> 8) #endif #ifndef WIFEXITED # define WIFEXITED(stat_val) (((stat_val) & 255) == 0) #endif int main () { int s; wait (&s); s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_sys_wait_h=yes else ac_cv_header_sys_wait_h=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_sys_wait_h" >&5 $as_echo "$ac_cv_header_sys_wait_h" >&6; } if test $ac_cv_header_sys_wait_h = yes; then $as_echo "#define HAVE_SYS_WAIT_H 1" >>confdefs.h fi # FIXME these checks are obsolete, because every plausible platform # provides what they check for. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdc=yes else ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : else ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then $as_echo "#define STDC_HEADERS 1" >>confdefs.h fi # FIXME these checks may be pointless for one of three reasons: every # even vaguely sane libc implementation provides them; we don't use # any of their functions in favour of GLib alternatives; or we don't # provide an alternative, so the build will fail anyway. for ac_header in stdlib.h string.h unistd.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done # FIXME since we don't have a sensible alternative, if these headers # are missing we should fail. Also need to remove HAVE_ERRNO_H tests # in the C source code, since if we *don't* have it the build will # fail anyway. for ac_header in errno.h fcntl.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done # FIXME On a system without locale.h, the user may have just disabled NLS # to be able to build. But are there known systems with working NLS but # without a locale.h? We do need to include locale.h on some systems # to be able to build gschem/src/gschem.c for ac_header in locale.h do : ac_fn_c_check_header_mongrel "$LINENO" "locale.h" "ac_cv_header_locale_h" "$ac_includes_default" if test "x$ac_cv_header_locale_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LOCALE_H 1 _ACEOF fi done # Check for lrint in math library. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lrint in -lm" >&5 $as_echo_n "checking for lrint in -lm... " >&6; } if ${ac_cv_lib_m_lrint+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lm $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char lrint (); int main () { return lrint (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_m_lrint=yes else ac_cv_lib_m_lrint=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_lrint" >&5 $as_echo "$ac_cv_lib_m_lrint" >&6; } if test "x$ac_cv_lib_m_lrint" = xyes; then : $as_echo "#define HAVE_LRINT 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for atan2 in -lm" >&5 $as_echo_n "checking for atan2 in -lm... " >&6; } if ${ac_cv_lib_m_atan2+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lm $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char atan2 (); int main () { return atan2 (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_m_atan2=yes else ac_cv_lib_m_atan2=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_atan2" >&5 $as_echo "$ac_cv_lib_m_atan2" >&6; } if test "x$ac_cv_lib_m_atan2" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBM 1 _ACEOF LIBS="-lm $LIBS" fi for ac_func in chown getlogin do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done # Check if the getopt header is present for ac_header in getopt.h do : ac_fn_c_check_header_mongrel "$LINENO" "getopt.h" "ac_cv_header_getopt_h" "$ac_includes_default" if test "x$ac_cv_header_getopt_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_GETOPT_H 1 _ACEOF fi done # Check for getopt_long # On FreeBSD the 'gnugetopt' library is needed. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing getopt_long" >&5 $as_echo_n "checking for library containing getopt_long... " >&6; } if ${ac_cv_search_getopt_long+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char getopt_long (); int main () { return getopt_long (); ; return 0; } _ACEOF for ac_lib in '' gnugetopt; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_getopt_long=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext if ${ac_cv_search_getopt_long+:} false; then : break fi done if ${ac_cv_search_getopt_long+:} false; then : else ac_cv_search_getopt_long=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_getopt_long" >&5 $as_echo "$ac_cv_search_getopt_long" >&6; } ac_res=$ac_cv_search_getopt_long if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" $as_echo "#define HAVE_GETOPT_LONG 1" >>confdefs.h fi # Check for misc features of awk { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $AWK has gsub" >&5 $as_echo_n "checking whether $AWK has gsub... " >&6; } cat > conftest.awk < conftest.txt </dev/null; exit) 2>&5; then rm -fr conftest*; AWK_GSUB="yes" else echo "configure:19556: $AWK -f conftest.awk conftest.txt" >&5 echo "configure:19557: failed program was:" >&5 cat conftest.awk >&5 echo "configure:19559: failed input file was:" >&5 cat conftest.txt >&5 rm -fr conftest*; AWK_GSUB="no" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK_GSUB" >&5 $as_echo "$AWK_GSUB" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $AWK has toupper" >&5 $as_echo_n "checking whether $AWK has toupper... " >&6; } cat > conftest.awk < conftest.txt </dev/null; exit) 2>&5; then rm -fr conftest*; AWK_TOUPPER=yes else echo "configure:19582: $AWK -f conftest.awk conftest.txt" >&5 echo "configure:19583: failed program was:" >&5 cat conftest.awk >&5 echo "configure:19585: failed input file was:" >&5 cat conftest.txt >&5 rm -fr conftest*; AWK_TOUPPER=no fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK_TOUPPER" >&5 $as_echo "$AWK_TOUPPER" >&6; } if (test "X$AWK_GSUB" = "Xno" || test "X$AWK_TOUPPER" = "Xno"); then as_fn_error $? "Your awk ($AWK) is missing the \`gsub' and/or \`toupper' functions. Consider installing gawk." "$LINENO" 5 fi ##################################################################### # Optional things ##################################################################### # Assertions { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable assertions" >&5 $as_echo_n "checking whether to enable assertions... " >&6; } # Check whether --enable-assert was given. if test "${enable_assert+set}" = set; then : enableval=$enable_assert; else enable_assert="yes" fi if test "X$enable_assert" = "Xyes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } $as_echo "#define NDEBUG 1" >>confdefs.h $as_echo "#define G_DISABLE_ASSERT 1" >>confdefs.h fi # Viewing documentation { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use GIO to launch URIs" >&5 $as_echo_n "checking whether to use GIO to launch URIs... " >&6; } # Check whether --enable-gio was given. if test "${enable_gio+set}" = set; then : enableval=$enable_gio; else enable_gio=auto fi if test "X$enable_gio" = "Xauto" && test "X$OS_LINUX" = "Xyes"; then enable_gio=yes else enable_gio=no fi if test "X$enable_gio" = "Xyes"; then $as_echo "#define SHOW_URI_GIO 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_gio" >&5 $as_echo "$enable_gio" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking platform URI viewer" >&5 $as_echo_n "checking platform URI viewer... " >&6; } if test "X$enable_gio" = "Xyes" || test "X$OS_WIN32_NATIVE" = "Xyes"; then # We use an API function, so we don't need a URI viewer application { $as_echo "$as_me:${as_lineno-$LINENO}: result: none required" >&5 $as_echo "none required" >&6; } else # If the user specified a viewer command, just use that. if test "X$URI_VIEWER" = "X"; then # On Cygwin, we use cygstart, because it takes care of any required # translation between cygwin filenames and native filenames. if test "X$OS_CYGWIN" = "Xyes"; then URI_VIEWER=cygstart # On Mac OS X, we can use open(1) to launch URIs. elif test "X$OS_CARBON" = "Xyes"; then URI_VIEWER=open # Default to xdg-open(1) on other platforms. else URI_VIEWER=xdg-open fi fi cat >>confdefs.h <<_ACEOF #define SHOW_URI_COMMAND "$URI_VIEWER" _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: result: $URI_VIEWER" >&5 $as_echo "$URI_VIEWER" >&6; } fi # API documentation # Check if the user enabled Doxygen { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable generation of Doxygen API documentation" >&5 $as_echo_n "checking whether to enable generation of Doxygen API documentation... " >&6; } # Check whether --enable-doxygen was given. if test "${enable_doxygen+set}" = set; then : enableval=$enable_doxygen; fi # If user enabled doxygen, find the path to the doxygen # executable. Also check for other required tools. if test "X$enable_doxygen" = "Xyes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } # Extract the first word of "doxygen", so it can be a program name with args. set dummy doxygen; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_DOXYGEN+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$DOXYGEN"; then ac_cv_prog_DOXYGEN="$DOXYGEN" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_DOXYGEN="doxygen" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_prog_DOXYGEN" && ac_cv_prog_DOXYGEN="no" fi fi DOXYGEN=$ac_cv_prog_DOXYGEN if test -n "$DOXYGEN"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DOXYGEN" >&5 $as_echo "$DOXYGEN" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "X$DOXYGEN" = "Xno"; then as_fn_error $? "API documentation generation was requested, but doxygen was not found. Ensure it is installed and in your path, or configure without --enable-doxygen." "$LINENO" 5 fi # Check for Inkscape # Extract the first word of "inkscape", so it can be a program name with args. set dummy inkscape; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_INKSCAPE+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$INKSCAPE"; then ac_cv_prog_INKSCAPE="$INKSCAPE" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_INKSCAPE="inkscape" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_prog_INKSCAPE" && ac_cv_prog_INKSCAPE="no" fi fi INKSCAPE=$ac_cv_prog_INKSCAPE if test -n "$INKSCAPE"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INKSCAPE" >&5 $as_echo "$INKSCAPE" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Check for ImageMagick # Extract the first word of "convert", so it can be a program name with args. set dummy convert; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CONVERT+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CONVERT"; then ac_cv_prog_CONVERT="$CONVERT" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CONVERT="convert" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_prog_CONVERT" && ac_cv_prog_CONVERT="no" fi fi CONVERT=$ac_cv_prog_CONVERT if test -n "$CONVERT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CONVERT" >&5 $as_echo "$CONVERT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # We need at least one way of converting SVG files to PNG files! if (test "X$INKSCAPE" = "Xno") && (test "X$CONVERT" = "Xno"); then as_fn_error $? "API documentation generation was requested, but neither Inkscape nor ImageMagick were found. Ensure one of these is installed and in your path, or configure without --enable-doxygen." "$LINENO" 5 fi # We need pdflatex to create PDF format API docs. # Extract the first word of "pdflatex", so it can be a program name with args. set dummy pdflatex; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_PDFLATEX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$PDFLATEX"; then ac_cv_prog_PDFLATEX="$PDFLATEX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_PDFLATEX="pdflatex" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_prog_PDFLATEX" && ac_cv_prog_PDFLATEX="no" fi fi PDFLATEX=$ac_cv_prog_PDFLATEX if test -n "$PDFLATEX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PDFLATEX" >&5 $as_echo "$PDFLATEX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "X$PDFLATEX" = "Xno"; then as_fn_error $? "API documentation generation was requested, but pdflatex was not found. Ensure it is installed and in your path, or configure without --enable-doxygen." "$LINENO" 5 fi else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "X$enable_doxygen" = "Xyes"; then ENABLE_DOXYGEN_TRUE= ENABLE_DOXYGEN_FALSE='#' else ENABLE_DOXYGEN_TRUE='#' ENABLE_DOXYGEN_FALSE= fi # XDG desktop files ICON_THEME_INSTALLER="\${SHELL} $am_aux_dir/icon-theme-installer" { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to install XDG desktop files" >&5 $as_echo_n "checking where to install XDG desktop files... " >&6; } # Check whether --with-xdgdatadir was given. if test "${with_xdgdatadir+set}" = set; then : withval=$with_xdgdatadir; fi if (test "X$with_xdgdatadir" = "X$yes") || (test "X$with_xdgdatadir" = "X"); then with_xdgdatadir="$datarootdir" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_xdgdatadir" >&5 $as_echo "$with_xdgdatadir" >&6; } XDGDATADIR=$with_xdgdatadir # KDE 3 desktop files { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to install KDE 3 desktop files" >&5 $as_echo_n "checking whether to install KDE 3 desktop files... " >&6; } # Check whether --with-kdedatadir was given. if test "${with_kdedatadir+set}" = set; then : withval=$with_kdedatadir; # If --with-kdedatadir was specified, need to handle three cases # for its argument: "yes", "no" and an explicit path. if test "X$with_kdedatadir" != "Xno"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to install KDE 3 desktop files" >&5 $as_echo_n "checking where to install KDE 3 desktop files... " >&6; } # If a path was given to --with-kdedatadir, use that path; # otherwise, use $datadir. if test "X$with_kdedatadir" = "Xyes"; then KDEDATADIR="$datarootdir" else KDEDATADIR="$with_kdedatadir" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $KDEDATADIR" >&5 $as_echo "$KDEDATADIR" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "X$KDEDATADIR" != "X"; then ENABLE_KDE_DESKTOP_DATA_TRUE= ENABLE_KDE_DESKTOP_DATA_FALSE='#' else ENABLE_KDE_DESKTOP_DATA_TRUE='#' ENABLE_KDE_DESKTOP_DATA_FALSE= fi # XDG database updates # Check if the user enabled updating of the MIME database { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether 'make install' should update XDG databases" >&5 $as_echo_n "checking whether 'make install' should update XDG databases... " >&6; } # Check whether --enable-update-xdg-database was given. if test "${enable_update_xdg_database+set}" = set; then : enableval=$enable_update_xdg_database; else enable_update_xdg_database=yes fi # If user didn't disable XDG database update, look for tools if test "X$enable_update_xdg_database" = "Xyes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } # Check for update-mime-database # Extract the first word of "update-mime-database", so it can be a program name with args. set dummy update-mime-database; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_UPDATE_MIME_DATABASE+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$UPDATE_MIME_DATABASE"; then ac_cv_prog_UPDATE_MIME_DATABASE="$UPDATE_MIME_DATABASE" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_UPDATE_MIME_DATABASE="update-mime-database" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_prog_UPDATE_MIME_DATABASE" && ac_cv_prog_UPDATE_MIME_DATABASE="no" fi fi UPDATE_MIME_DATABASE=$ac_cv_prog_UPDATE_MIME_DATABASE if test -n "$UPDATE_MIME_DATABASE"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $UPDATE_MIME_DATABASE" >&5 $as_echo "$UPDATE_MIME_DATABASE" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "X$UPDATE_MIME_DATABASE" = "Xno"; then as_fn_error $? "The update-mime-database tool could not be found. Ensure it is installed and in your path, or configure with --disable-update-xdg-database." "$LINENO" 5 fi # Check for update-desktop-database # Extract the first word of "update-desktop-database", so it can be a program name with args. set dummy update-desktop-database; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_UPDATE_DESKTOP_DATABASE+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$UPDATE_DESKTOP_DATABASE"; then ac_cv_prog_UPDATE_DESKTOP_DATABASE="$UPDATE_DESKTOP_DATABASE" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_UPDATE_DESKTOP_DATABASE="update-desktop-database" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_prog_UPDATE_DESKTOP_DATABASE" && ac_cv_prog_UPDATE_DESKTOP_DATABASE="no" fi fi UPDATE_DESKTOP_DATABASE=$ac_cv_prog_UPDATE_DESKTOP_DATABASE if test -n "$UPDATE_DESKTOP_DATABASE"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $UPDATE_DESKTOP_DATABASE" >&5 $as_echo "$UPDATE_DESKTOP_DATABASE" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "X$UPDATE_DESKTOP_DATABASE" = "Xno"; then as_fn_error $? "The update-desktop-database tool could not be found. Ensure it is installed and in your path, or configure with --disable-update-xdg-database." "$LINENO" 5 fi else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "X$enable_update_xdg_database" = "Xyes"; then ENABLE_UPDATE_XDG_DATABASE_TRUE= ENABLE_UPDATE_XDG_DATABASE_FALSE='#' else ENABLE_UPDATE_XDG_DATABASE_TRUE='#' ENABLE_UPDATE_XDG_DATABASE_FALSE= fi # libstroke support { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use libstroke" >&5 $as_echo_n "checking whether to use libstroke... " >&6; } # Check what the user wants # Check whether --with-libstroke was given. if test "${with_libstroke+set}" = set; then : withval=$with_libstroke; if test "X$with_libstroke" = "Xno"; then libstroke_use=no else libstroke_use=yes if test "X$with_libstroke" != "Xyes"; then libstroke_prefix=$with_libstroke fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libstroke_use" >&5 $as_echo "$libstroke_use" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: if present" >&5 $as_echo "if present" >&6; } fi # Check if libstroke is actually available! if test "X$libstroke_use" != "Xno"; then # If a prefix to search was specified, then add the appropriate # flags. if test "X$libstroke_use" = "X"; then LIBSTROKE_LDFLAGS="-L$libstroke_prefix/lib" LIBSTROKE_CFLAGS="-I$libstroke_prefix/include" fi # Check that the library and header file are available. Save and # restore CPPFLAGS and LDFLAGS variables. save_CPPFLAGS="$CPPFLAGS" save_LDFLAS="$LDFLAGS" CPPFLAGS="$CPPFLAGS $LIBSTROKE_CFLAGS" LDFLAGS="$LDFLAGS $LIBSTROKE_LDFLAGS" HAVE_LIBSTROKE=yes { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stroke_init in -lstroke" >&5 $as_echo_n "checking for stroke_init in -lstroke... " >&6; } if ${ac_cv_lib_stroke_stroke_init+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lstroke $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char stroke_init (); int main () { return stroke_init (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_stroke_stroke_init=yes else ac_cv_lib_stroke_stroke_init=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_stroke_stroke_init" >&5 $as_echo "$ac_cv_lib_stroke_stroke_init" >&6; } if test "x$ac_cv_lib_stroke_stroke_init" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBSTROKE 1 _ACEOF LIBS="-lstroke $LIBS" else HAVE_LIBSTROKE=no fi ac_fn_c_check_header_mongrel "$LINENO" "stroke.h" "ac_cv_header_stroke_h" "$ac_includes_default" if test "x$ac_cv_header_stroke_h" = xyes; then : else HAVE_LIBSTROKE=no CPPFLAGS="$save_CPPDFLAGS" LDFLAGS="$save_LDFLAGS" LIBSTROKE_LDFLAGS="$LIBSTROKE_LDFLAGS -lstroke" fi # If --with-libstroke was specified, then we *must* have a usable # libstroke. if test "X$libstroke_use" = "Xyes" -a "X$HAVE_LIBSTROKE" = "Xno"; then as_fn_error $? "You specified that libstroke should be used, but libstroke could not be found. Ensure that all libstroke development files are installed, or configure without --with-libstroke." "$LINENO" 5 fi fi # If we don't have libstroke, clear its flags variables if test "X$HAVE_LIBSTROKE" != "Xyes"; then LIBSTROKE_LDFLAGS="" LIBSTROKE_CFLAGS="" else $as_echo "#define HAVE_LIBSTROKE test \"X\$HAVE_LIBSTROKE\" = \"Xyes\"" >>confdefs.h fi # gattrib { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable gattrib" >&5 $as_echo_n "checking whether to enable gattrib... " >&6; } # Check whether --enable-gattrib was given. if test "${enable_gattrib+set}" = set; then : enableval=$enable_gattrib; else enable_gattrib="yes" fi if test "X$enable_gattrib" = "Xyes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "X$enable_gattrib" = "Xyes"; then ENABLE_GATTRIB_TRUE= ENABLE_GATTRIB_FALSE='#' else ENABLE_GATTRIB_TRUE='#' ENABLE_GATTRIB_FALSE= fi ##################################################################### # Tool-specific setup ##################################################################### # Where should data files be installed/searched for? # Check where to install ordinary data files (e.g. symbols and # gnetlist backends) # FIXME at some point this should become "$datarootdir/geda-gaf" to # match the tarball name. { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to install gEDA shared data" >&5 $as_echo_n "checking where to install gEDA shared data... " >&6; } GEDADATADIR="$datarootdir/gEDA" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GEDADATADIR" >&5 $as_echo "$GEDADATADIR" >&6; } # Check where to install rc files. # FIXME at some point the rc directory needs to start *defaulting* # to "$sysconfdir/geda-gaf" in order to comply with the GNU & Linux # FHS guidelines. { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to install gEDA rc files" >&5 $as_echo_n "checking where to install gEDA rc files... " >&6; } # Check whether --with-rcdir was given. if test "${with_rcdir+set}" = set; then : withval=$with_rcdir; if test "X$with_rcdir" != "Xno"; then if test "X$with_rcdir" = "Xyes"; then GEDARCDIR="$sysconfdir/gEDA" else GEDARCDIR="$with_rcdir" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GEDARCDIR" >&5 $as_echo "$GEDARCDIR" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GEDADATADIR" >&5 $as_echo "$GEDADATADIR" >&6; } fi else { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GEDADATADIR" >&5 $as_echo "$GEDADATADIR" >&6; } fi # Now define some preprocessor symbols with the *expanded* values GEDADATADIR_expand=`eval "echo $GEDADATADIR" | sed -e"s:^NONE:$ac_default_prefix:"` cat >>confdefs.h <<_ACEOF #define GEDADATADIR "$GEDADATADIR_expand" _ACEOF if test "x$GEDARCDIR" != "x"; then GEDARCDIR_expand=`eval "echo $GEDARCDIR" | sed -e"s:^NONE:$ac_default_prefix:"` cat >>confdefs.h <<_ACEOF #define GEDARCDIR "$GEDARCDIR_expand" _ACEOF else GEDARCDIR=$GEDADATADIR fi # Where should PCB footprints be searched for? # Check what prefix to use for PCB footprint libraries { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to look for PCB footprints" >&5 $as_echo_n "checking where to look for PCB footprints... " >&6; } PCBDATADIR="${datarootdir}/pcb" # Check whether --with-pcb-datadir was given. if test "${with_pcb_datadir+set}" = set; then : withval=$with_pcb_datadir; if (test "X$with_pcb_datadir" != "Xno" && test "X$with_pcb_datadir" != "Xyes"); then PCBDATADIR="$with_pcb_datadir" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PCBDATADIR" >&5 $as_echo "$PCBDATADIR" >&6; } # m4 libraries { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to look for PCB m4 footprints" >&5 $as_echo_n "checking where to look for PCB m4 footprints... " >&6; } PCBM4DIR="${PCBDATADIR}/m4" # Check whether --with-pcb-m4dir was given. if test "${with_pcb_m4dir+set}" = set; then : withval=$with_pcb_m4dir; if (test "X$with_pcb_m4dir" != "Xno" && test "X$with_pcb_m4dir" != "Xyes"); then PCBM4DIR="$with_pcb_m4dir" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PCBM4DIR" >&5 $as_echo "$PCBM4DIR" >&6; } # newlib search path { $as_echo "$as_me:${as_lineno-$LINENO}: checking search path for PCB newlib footprints" >&5 $as_echo_n "checking search path for PCB newlib footprints... " >&6; } PCBLIBPATH="${PCBDATADIR}/pcblib-newlib:$PCBDATADIR/newlib" # Check whether --with-pcb-lib-path was given. if test "${with_pcb_lib_path+set}" = set; then : withval=$with_pcb_lib_path; if (test "X$with_pcb_lib_path" != "Xno" && test "X$with_pcb_lib_path" != "Xyes"); then PCBLIBPATH="$with_pcb_lib_path" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PCBLIBPATH" >&5 $as_echo "$PCBLIBPATH" >&6; } # Set up libgeda with the correct ld version number # First argument is the shared library version to use. { $as_echo "$as_me:${as_lineno-$LINENO}: checking libgeda shared library version" >&5 $as_echo_n "checking libgeda shared library version... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: 42:1:0" >&5 $as_echo "42:1:0" >&6; } LIBGEDA_SHLIB_VERSION=42:1:0 # Work out the gettext domain to use { $as_echo "$as_me:${as_lineno-$LINENO}: checking libgeda gettext domain" >&5 $as_echo_n "checking libgeda gettext domain... " >&6; } so_major=`echo $LIBGEDA_SHLIB_VERSION | sed -e "s/:.*//"` LIBGEDA_GETTEXT_DOMAIN="libgeda$so_major" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBGEDA_GETTEXT_DOMAIN" >&5 $as_echo "$LIBGEDA_GETTEXT_DOMAIN" >&6; } cat >>confdefs.h <<_ACEOF #define LIBGEDA_GETTEXT_DOMAIN "$LIBGEDA_GETTEXT_DOMAIN" _ACEOF ##################################################################### # Generate output ##################################################################### ac_config_files="$ac_config_files Makefile intl/Makefile libgeda/Makefile libgeda/libgeda.pc libgeda/po/domain.mak libgeda/po/Makefile.in libgeda/shell/Makefile libgeda/data/Makefile libgeda/docs/Makefile libgeda/docs/images/Makefile libgeda/include/Makefile libgeda/lib/Makefile libgeda/scheme/Makefile libgeda/share/Makefile libgeda/src/Makefile gschem/Makefile gschem/po/Makefile.in gschem/docs/Makefile gschem/include/Makefile gschem/scripts/Makefile gschem/src/Makefile gschem/examples/Makefile gschem/lib/Makefile gschem/data/Makefile gschem/bitmap/Makefile gschem/tests/Makefile gschem/scheme/Makefile gattrib/Makefile gattrib/po/Makefile.in gattrib/design/Makefile gattrib/docs/Makefile gattrib/include/Makefile gattrib/lib/Makefile gattrib/lib/system-gattribrc gattrib/src/Makefile gattrib/data/Makefile gsymcheck/docs/Makefile gsymcheck/include/Makefile gsymcheck/lib/Makefile gsymcheck/lib/system-gsymcheckrc gsymcheck/src/Makefile gsymcheck/tests/Makefile gsymcheck/Makefile gnetlist/Makefile gnetlist/src/Makefile gnetlist/include/Makefile gnetlist/scheme/Makefile gnetlist/examples/Makefile gnetlist/tests/Makefile gnetlist/tests/hierarchy/Makefile gnetlist/tests/hierarchy2/Makefile gnetlist/tests/drc2/Makefile gnetlist/tests/common/Makefile gnetlist/docs/Makefile gnetlist/docs/vams/Makefile gnetlist/examples/vams/Makefile gnetlist/examples/vams/vhdl/Makefile gnetlist/examples/vams/vhdl/basic-vhdl/Makefile gnetlist/examples/vams/vhdl/new-vhdl/Makefile gnetlist/examples/switcap/Makefile gnetlist/lib/Makefile gnetlist/utils/Makefile gnetlist/scripts/Makefile gnetlist/scripts/annotate.sh gnetlist/scripts/bom_xref.sh gnetlist/scripts/bompp.sh gnetlist/lib/system-gnetlistrc utils/Makefile utils/docs/Makefile utils/examples/Makefile utils/examples/gmk_sym/Makefile utils/examples/gsch2pcb/Makefile utils/examples/tragesym/Makefile utils/gschlas/Makefile utils/gxyrs/Makefile utils/include/Makefile utils/lib/Makefile utils/lib/system-gschlasrc utils/scripts/Makefile utils/scripts/sw2asc utils/src/Makefile utils/tests/Makefile utils/tests/gxyrs/Makefile utils/tests/gxyrs/inputs/Makefile utils/tests/gxyrs/outputs/Makefile utils/tests/refdes_renum/Makefile utils/tests/refdes_renum/inputs/Makefile utils/tests/refdes_renum/outputs/Makefile symbols/Makefile symbols/documentation/Makefile docs/Makefile docs/scheme-api/Makefile docs/toplevel/Makefile docs/toplevel/gedadocs.html docs/wiki/Makefile examples/Makefile examples/RF_Amp/Makefile examples/RF_Amp/model/Makefile examples/RF_Amp/sym/Makefile examples/TwoStageAmp/Makefile examples/gTAG/Makefile examples/lightning_detector/Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else case $cache_file in #( */* | ?:*) mv -f confcache "$cache_file"$$ && mv -f "$cache_file"$$ "$cache_file" ;; #( *) mv -f confcache "$cache_file" ;; esac fi fi else { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs { $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 $as_echo_n "checking that generated files are newer than configure... " >&6; } if test -n "$am_sleep_pid"; then # Hide warnings about reused PIDs. wait $am_sleep_pid 2>/dev/null fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 $as_echo "done" >&6; } if test -n "$EXEEXT"; then am__EXEEXT_TRUE= am__EXEEXT_FALSE='#' else am__EXEEXT_TRUE='#' am__EXEEXT_FALSE= fi if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then as_fn_error $? "conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${HAVE_GIT_REPO_TRUE}" && test -z "${HAVE_GIT_REPO_FALSE}"; then as_fn_error $? "conditional \"HAVE_GIT_REPO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${ENABLE_GROFF_HTML_TRUE}" && test -z "${ENABLE_GROFF_HTML_FALSE}"; then as_fn_error $? "conditional \"ENABLE_GROFF_HTML\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${ENABLE_DOXYGEN_TRUE}" && test -z "${ENABLE_DOXYGEN_FALSE}"; then as_fn_error $? "conditional \"ENABLE_DOXYGEN\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${ENABLE_KDE_DESKTOP_DATA_TRUE}" && test -z "${ENABLE_KDE_DESKTOP_DATA_FALSE}"; then as_fn_error $? "conditional \"ENABLE_KDE_DESKTOP_DATA\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${ENABLE_UPDATE_XDG_DATABASE_TRUE}" && test -z "${ENABLE_UPDATE_XDG_DATABASE_FALSE}"; then as_fn_error $? "conditional \"ENABLE_UPDATE_XDG_DATABASE\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${ENABLE_GATTRIB_TRUE}" && test -z "${ENABLE_GATTRIB_FALSE}"; then as_fn_error $? "conditional \"ENABLE_GATTRIB\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi : "${CONFIG_STATUS=./config.status}" ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -pR' fi else as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } # as_fn_executable_p as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 ## ----------------------------------- ## ## Main body of $CONFIG_STATUS script. ## ## ----------------------------------- ## _ASEOF test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by gEDA/gaf $as_me 1.8.2, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF case $ac_config_files in *" "*) set x $ac_config_files; shift; ac_config_files=$*;; esac case $ac_config_headers in *" "*) set x $ac_config_headers; shift; ac_config_headers=$*;; esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" config_headers="$ac_config_headers" config_commands="$ac_config_commands" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ \`$as_me' instantiates files and other configuration actions from templates according to the current configuration. Unless the files and actions are specified as TAGs, all are instantiated by default. Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit --config print configuration, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Configuration commands: $config_commands Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ gEDA/gaf config.status 1.8.2 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" Copyright (C) 2012 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' AWK='$AWK' test -n "\$AWK" || AWK=awk _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; --*=) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg= ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) $as_echo "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac as_fn_append CONFIG_HEADERS " '$ac_optarg'" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header as_fn_error $? "ambiguous option: \`$1' Try \`$0 --help' for more information.";; --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX $as_echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # # INIT-COMMANDS # AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH sed_quote_subst='$sed_quote_subst' double_quote_subst='$double_quote_subst' delay_variable_subst='$delay_variable_subst' AS='`$ECHO "$AS" | $SED "$delay_single_quote_subst"`' DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`' hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' LTCC='$LTCC' LTCFLAGS='$LTCFLAGS' compiler='$compiler_DEFAULT' # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF \$1 _LTECHO_EOF' } # Quote evaled strings. for var in AS \ DLLTOOL \ OBJDUMP \ SHELL \ ECHO \ PATH_SEPARATOR \ SED \ GREP \ EGREP \ FGREP \ LD \ NM \ LN_S \ lt_SP2NL \ lt_NL2SP \ reload_flag \ deplibs_check_method \ file_magic_cmd \ file_magic_glob \ want_nocaseglob \ sharedlib_from_linklib_cmd \ AR \ AR_FLAGS \ archiver_list_spec \ STRIP \ RANLIB \ CC \ CFLAGS \ compiler \ lt_cv_sys_global_symbol_pipe \ lt_cv_sys_global_symbol_to_cdecl \ lt_cv_sys_global_symbol_to_c_name_address \ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ nm_file_list_spec \ lt_prog_compiler_no_builtin_flag \ lt_prog_compiler_pic \ lt_prog_compiler_wl \ lt_prog_compiler_static \ lt_cv_prog_compiler_c_o \ need_locks \ MANIFEST_TOOL \ DSYMUTIL \ NMEDIT \ LIPO \ OTOOL \ OTOOL64 \ shrext_cmds \ export_dynamic_flag_spec \ whole_archive_flag_spec \ compiler_needs_object \ with_gnu_ld \ allow_undefined_flag \ no_undefined_flag \ hardcode_libdir_flag_spec \ hardcode_libdir_separator \ exclude_expsyms \ include_expsyms \ file_list_spec \ variables_saved_for_relink \ libname_spec \ library_names_spec \ soname_spec \ install_override_mode \ finish_eval \ old_striplib \ striplib; do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[\\\\\\\`\\"\\\$]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done # Double-quote double-evaled strings. for var in reload_cmds \ old_postinstall_cmds \ old_postuninstall_cmds \ old_archive_cmds \ extract_expsyms_cmds \ old_archive_from_new_cmds \ old_archive_from_expsyms_cmds \ archive_cmds \ archive_expsym_cmds \ module_cmds \ module_expsym_cmds \ export_symbols_cmds \ prelink_cmds \ postlink_cmds \ postinstall_cmds \ postuninstall_cmds \ finish_cmds \ sys_lib_search_path_spec \ sys_lib_dlsearch_path_spec; do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[\\\\\\\`\\"\\\$]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done ac_aux_dir='$ac_aux_dir' xsi_shell='$xsi_shell' lt_shell_append='$lt_shell_append' # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes INIT. if test -n "\${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi PACKAGE='$PACKAGE' VERSION='$VERSION' TIMESTAMP='$TIMESTAMP' RM='$RM' ofile='$ofile' # Capture the value of obsolete ALL_LINGUAS because we need it to compute # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it # from automake < 1.5. eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' # Capture the value of LINGUAS because we need it to compute CATALOGS. LINGUAS="${LINGUAS-%UNSET%}" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; "po-directories") CONFIG_COMMANDS="$CONFIG_COMMANDS po-directories" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "intl/Makefile") CONFIG_FILES="$CONFIG_FILES intl/Makefile" ;; "libgeda/Makefile") CONFIG_FILES="$CONFIG_FILES libgeda/Makefile" ;; "libgeda/libgeda.pc") CONFIG_FILES="$CONFIG_FILES libgeda/libgeda.pc" ;; "libgeda/po/domain.mak") CONFIG_FILES="$CONFIG_FILES libgeda/po/domain.mak" ;; "libgeda/po/Makefile.in") CONFIG_FILES="$CONFIG_FILES libgeda/po/Makefile.in" ;; "libgeda/shell/Makefile") CONFIG_FILES="$CONFIG_FILES libgeda/shell/Makefile" ;; "libgeda/data/Makefile") CONFIG_FILES="$CONFIG_FILES libgeda/data/Makefile" ;; "libgeda/docs/Makefile") CONFIG_FILES="$CONFIG_FILES libgeda/docs/Makefile" ;; "libgeda/docs/images/Makefile") CONFIG_FILES="$CONFIG_FILES libgeda/docs/images/Makefile" ;; "libgeda/include/Makefile") CONFIG_FILES="$CONFIG_FILES libgeda/include/Makefile" ;; "libgeda/lib/Makefile") CONFIG_FILES="$CONFIG_FILES libgeda/lib/Makefile" ;; "libgeda/scheme/Makefile") CONFIG_FILES="$CONFIG_FILES libgeda/scheme/Makefile" ;; "libgeda/share/Makefile") CONFIG_FILES="$CONFIG_FILES libgeda/share/Makefile" ;; "libgeda/src/Makefile") CONFIG_FILES="$CONFIG_FILES libgeda/src/Makefile" ;; "gschem/Makefile") CONFIG_FILES="$CONFIG_FILES gschem/Makefile" ;; "gschem/po/Makefile.in") CONFIG_FILES="$CONFIG_FILES gschem/po/Makefile.in" ;; "gschem/docs/Makefile") CONFIG_FILES="$CONFIG_FILES gschem/docs/Makefile" ;; "gschem/include/Makefile") CONFIG_FILES="$CONFIG_FILES gschem/include/Makefile" ;; "gschem/scripts/Makefile") CONFIG_FILES="$CONFIG_FILES gschem/scripts/Makefile" ;; "gschem/src/Makefile") CONFIG_FILES="$CONFIG_FILES gschem/src/Makefile" ;; "gschem/examples/Makefile") CONFIG_FILES="$CONFIG_FILES gschem/examples/Makefile" ;; "gschem/lib/Makefile") CONFIG_FILES="$CONFIG_FILES gschem/lib/Makefile" ;; "gschem/data/Makefile") CONFIG_FILES="$CONFIG_FILES gschem/data/Makefile" ;; "gschem/bitmap/Makefile") CONFIG_FILES="$CONFIG_FILES gschem/bitmap/Makefile" ;; "gschem/tests/Makefile") CONFIG_FILES="$CONFIG_FILES gschem/tests/Makefile" ;; "gschem/scheme/Makefile") CONFIG_FILES="$CONFIG_FILES gschem/scheme/Makefile" ;; "gattrib/Makefile") CONFIG_FILES="$CONFIG_FILES gattrib/Makefile" ;; "gattrib/po/Makefile.in") CONFIG_FILES="$CONFIG_FILES gattrib/po/Makefile.in" ;; "gattrib/design/Makefile") CONFIG_FILES="$CONFIG_FILES gattrib/design/Makefile" ;; "gattrib/docs/Makefile") CONFIG_FILES="$CONFIG_FILES gattrib/docs/Makefile" ;; "gattrib/include/Makefile") CONFIG_FILES="$CONFIG_FILES gattrib/include/Makefile" ;; "gattrib/lib/Makefile") CONFIG_FILES="$CONFIG_FILES gattrib/lib/Makefile" ;; "gattrib/lib/system-gattribrc") CONFIG_FILES="$CONFIG_FILES gattrib/lib/system-gattribrc" ;; "gattrib/src/Makefile") CONFIG_FILES="$CONFIG_FILES gattrib/src/Makefile" ;; "gattrib/data/Makefile") CONFIG_FILES="$CONFIG_FILES gattrib/data/Makefile" ;; "gsymcheck/docs/Makefile") CONFIG_FILES="$CONFIG_FILES gsymcheck/docs/Makefile" ;; "gsymcheck/include/Makefile") CONFIG_FILES="$CONFIG_FILES gsymcheck/include/Makefile" ;; "gsymcheck/lib/Makefile") CONFIG_FILES="$CONFIG_FILES gsymcheck/lib/Makefile" ;; "gsymcheck/lib/system-gsymcheckrc") CONFIG_FILES="$CONFIG_FILES gsymcheck/lib/system-gsymcheckrc" ;; "gsymcheck/src/Makefile") CONFIG_FILES="$CONFIG_FILES gsymcheck/src/Makefile" ;; "gsymcheck/tests/Makefile") CONFIG_FILES="$CONFIG_FILES gsymcheck/tests/Makefile" ;; "gsymcheck/Makefile") CONFIG_FILES="$CONFIG_FILES gsymcheck/Makefile" ;; "gnetlist/Makefile") CONFIG_FILES="$CONFIG_FILES gnetlist/Makefile" ;; "gnetlist/src/Makefile") CONFIG_FILES="$CONFIG_FILES gnetlist/src/Makefile" ;; "gnetlist/include/Makefile") CONFIG_FILES="$CONFIG_FILES gnetlist/include/Makefile" ;; "gnetlist/scheme/Makefile") CONFIG_FILES="$CONFIG_FILES gnetlist/scheme/Makefile" ;; "gnetlist/examples/Makefile") CONFIG_FILES="$CONFIG_FILES gnetlist/examples/Makefile" ;; "gnetlist/tests/Makefile") CONFIG_FILES="$CONFIG_FILES gnetlist/tests/Makefile" ;; "gnetlist/tests/hierarchy/Makefile") CONFIG_FILES="$CONFIG_FILES gnetlist/tests/hierarchy/Makefile" ;; "gnetlist/tests/hierarchy2/Makefile") CONFIG_FILES="$CONFIG_FILES gnetlist/tests/hierarchy2/Makefile" ;; "gnetlist/tests/drc2/Makefile") CONFIG_FILES="$CONFIG_FILES gnetlist/tests/drc2/Makefile" ;; "gnetlist/tests/common/Makefile") CONFIG_FILES="$CONFIG_FILES gnetlist/tests/common/Makefile" ;; "gnetlist/docs/Makefile") CONFIG_FILES="$CONFIG_FILES gnetlist/docs/Makefile" ;; "gnetlist/docs/vams/Makefile") CONFIG_FILES="$CONFIG_FILES gnetlist/docs/vams/Makefile" ;; "gnetlist/examples/vams/Makefile") CONFIG_FILES="$CONFIG_FILES gnetlist/examples/vams/Makefile" ;; "gnetlist/examples/vams/vhdl/Makefile") CONFIG_FILES="$CONFIG_FILES gnetlist/examples/vams/vhdl/Makefile" ;; "gnetlist/examples/vams/vhdl/basic-vhdl/Makefile") CONFIG_FILES="$CONFIG_FILES gnetlist/examples/vams/vhdl/basic-vhdl/Makefile" ;; "gnetlist/examples/vams/vhdl/new-vhdl/Makefile") CONFIG_FILES="$CONFIG_FILES gnetlist/examples/vams/vhdl/new-vhdl/Makefile" ;; "gnetlist/examples/switcap/Makefile") CONFIG_FILES="$CONFIG_FILES gnetlist/examples/switcap/Makefile" ;; "gnetlist/lib/Makefile") CONFIG_FILES="$CONFIG_FILES gnetlist/lib/Makefile" ;; "gnetlist/utils/Makefile") CONFIG_FILES="$CONFIG_FILES gnetlist/utils/Makefile" ;; "gnetlist/scripts/Makefile") CONFIG_FILES="$CONFIG_FILES gnetlist/scripts/Makefile" ;; "gnetlist/scripts/annotate.sh") CONFIG_FILES="$CONFIG_FILES gnetlist/scripts/annotate.sh" ;; "gnetlist/scripts/bom_xref.sh") CONFIG_FILES="$CONFIG_FILES gnetlist/scripts/bom_xref.sh" ;; "gnetlist/scripts/bompp.sh") CONFIG_FILES="$CONFIG_FILES gnetlist/scripts/bompp.sh" ;; "gnetlist/lib/system-gnetlistrc") CONFIG_FILES="$CONFIG_FILES gnetlist/lib/system-gnetlistrc" ;; "utils/Makefile") CONFIG_FILES="$CONFIG_FILES utils/Makefile" ;; "utils/docs/Makefile") CONFIG_FILES="$CONFIG_FILES utils/docs/Makefile" ;; "utils/examples/Makefile") CONFIG_FILES="$CONFIG_FILES utils/examples/Makefile" ;; "utils/examples/gmk_sym/Makefile") CONFIG_FILES="$CONFIG_FILES utils/examples/gmk_sym/Makefile" ;; "utils/examples/gsch2pcb/Makefile") CONFIG_FILES="$CONFIG_FILES utils/examples/gsch2pcb/Makefile" ;; "utils/examples/tragesym/Makefile") CONFIG_FILES="$CONFIG_FILES utils/examples/tragesym/Makefile" ;; "utils/gschlas/Makefile") CONFIG_FILES="$CONFIG_FILES utils/gschlas/Makefile" ;; "utils/gxyrs/Makefile") CONFIG_FILES="$CONFIG_FILES utils/gxyrs/Makefile" ;; "utils/include/Makefile") CONFIG_FILES="$CONFIG_FILES utils/include/Makefile" ;; "utils/lib/Makefile") CONFIG_FILES="$CONFIG_FILES utils/lib/Makefile" ;; "utils/lib/system-gschlasrc") CONFIG_FILES="$CONFIG_FILES utils/lib/system-gschlasrc" ;; "utils/scripts/Makefile") CONFIG_FILES="$CONFIG_FILES utils/scripts/Makefile" ;; "utils/scripts/sw2asc") CONFIG_FILES="$CONFIG_FILES utils/scripts/sw2asc" ;; "utils/src/Makefile") CONFIG_FILES="$CONFIG_FILES utils/src/Makefile" ;; "utils/tests/Makefile") CONFIG_FILES="$CONFIG_FILES utils/tests/Makefile" ;; "utils/tests/gxyrs/Makefile") CONFIG_FILES="$CONFIG_FILES utils/tests/gxyrs/Makefile" ;; "utils/tests/gxyrs/inputs/Makefile") CONFIG_FILES="$CONFIG_FILES utils/tests/gxyrs/inputs/Makefile" ;; "utils/tests/gxyrs/outputs/Makefile") CONFIG_FILES="$CONFIG_FILES utils/tests/gxyrs/outputs/Makefile" ;; "utils/tests/refdes_renum/Makefile") CONFIG_FILES="$CONFIG_FILES utils/tests/refdes_renum/Makefile" ;; "utils/tests/refdes_renum/inputs/Makefile") CONFIG_FILES="$CONFIG_FILES utils/tests/refdes_renum/inputs/Makefile" ;; "utils/tests/refdes_renum/outputs/Makefile") CONFIG_FILES="$CONFIG_FILES utils/tests/refdes_renum/outputs/Makefile" ;; "symbols/Makefile") CONFIG_FILES="$CONFIG_FILES symbols/Makefile" ;; "symbols/documentation/Makefile") CONFIG_FILES="$CONFIG_FILES symbols/documentation/Makefile" ;; "docs/Makefile") CONFIG_FILES="$CONFIG_FILES docs/Makefile" ;; "docs/scheme-api/Makefile") CONFIG_FILES="$CONFIG_FILES docs/scheme-api/Makefile" ;; "docs/toplevel/Makefile") CONFIG_FILES="$CONFIG_FILES docs/toplevel/Makefile" ;; "docs/toplevel/gedadocs.html") CONFIG_FILES="$CONFIG_FILES docs/toplevel/gedadocs.html" ;; "docs/wiki/Makefile") CONFIG_FILES="$CONFIG_FILES docs/wiki/Makefile" ;; "examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;; "examples/RF_Amp/Makefile") CONFIG_FILES="$CONFIG_FILES examples/RF_Amp/Makefile" ;; "examples/RF_Amp/model/Makefile") CONFIG_FILES="$CONFIG_FILES examples/RF_Amp/model/Makefile" ;; "examples/RF_Amp/sym/Makefile") CONFIG_FILES="$CONFIG_FILES examples/RF_Amp/sym/Makefile" ;; "examples/TwoStageAmp/Makefile") CONFIG_FILES="$CONFIG_FILES examples/TwoStageAmp/Makefile" ;; "examples/gTAG/Makefile") CONFIG_FILES="$CONFIG_FILES examples/gTAG/Makefile" ;; "examples/lightning_detector/Makefile") CONFIG_FILES="$CONFIG_FILES examples/lightning_detector/Makefile" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= ac_tmp= trap 'exit_status=$? : "${ac_tmp:=$tmp}" { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status ' 0 trap 'as_fn_exit 1' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 ac_tmp=$tmp # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. # This happens for instance with `./config.status config.h'. if test -n "$CONFIG_FILES"; then ac_cr=`echo X | tr X '\015'` # On cygwin, bash can eat \r inside `` if the user requested igncr. # But we know of no other shell where ac_cr would be empty at this # point, so we can use a bashism as a fallback. if test "x$ac_cr" = x; then eval ac_cr=\$\'\\r\' fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi echo 'BEGIN {' >"$ac_tmp/subs1.awk" && _ACEOF { echo "cat >conf$$subs.awk <<_ACEOF" && echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h s/^/S["/; s/!.*/"]=/ p g s/^[^!]*!// :repl t repl s/'"$ac_delim"'$// t delim :nl h s/\(.\{148\}\)..*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p n b repl :more1 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t nl :delim h s/\(.\{148\}\)..*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p b :more2 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t delim ' >$CONFIG_STATUS || ac_write_fail=1 rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" } { line = $ 0 nfields = split(line, field, "@") substed = 0 len = length(field[1]) for (i = 2; i < nfields; i++) { key = field[i] keylen = length(key) if (S_is_set[key]) { value = S[key] line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) len += length(value) + length(field[++i]) substed = 1 } else len += 1 + keylen } print line } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF # VPATH may cause trouble with some makes, so we remove sole $(srcdir), # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ h s/// s/^/:/ s/[ ]*$/:/ s/:\$(srcdir):/:/g s/:\${srcdir}:/:/g s/:@srcdir@:/:/g s/^:*// s/:*$// x s/\(=[ ]*\).*/\1/ G s/\n// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" # Set up the scripts for CONFIG_HEADERS section. # No need to generate them if there are no CONFIG_HEADERS. # This happens for instance with `./config.status Makefile'. if test -n "$CONFIG_HEADERS"; then cat >"$ac_tmp/defines.awk" <<\_ACAWK || BEGIN { _ACEOF # Transform confdefs.h into an awk script `defines.awk', embedded as # here-document in config.status, that substitutes the proper values into # config.h.in to produce config.h. # Create a delimiter string that does not exist in confdefs.h, to ease # handling of long lines. ac_delim='%!_!# ' for ac_last_try in false false :; do ac_tt=`sed -n "/$ac_delim/p" confdefs.h` if test -z "$ac_tt"; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done # For the awk script, D is an array of macro values keyed by name, # likewise P contains macro parameters if any. Preserve backslash # newline sequences. ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* sed -n ' s/.\{148\}/&'"$ac_delim"'/g t rset :rset s/^[ ]*#[ ]*define[ ][ ]*/ / t def d :def s/\\$// t bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3"/p s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p d :bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3\\\\\\n"\\/p t cont s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p t cont d :cont n s/.\{148\}/&'"$ac_delim"'/g t clear :clear s/\\$// t bsnlc s/["\\]/\\&/g; s/^/"/; s/$/"/p d :bsnlc s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p b cont ' >$CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 for (key in D) D_is_set[key] = 1 FS = "" } /^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { line = \$ 0 split(line, arg, " ") if (arg[1] == "#") { defundef = arg[2] mac1 = arg[3] } else { defundef = substr(arg[1], 2) mac1 = arg[2] } split(mac1, mac2, "(") #) macro = mac2[1] prefix = substr(line, 1, index(line, defundef) - 1) if (D_is_set[macro]) { # Preserve the white space surrounding the "#". print prefix "define", macro P[macro] D[macro] next } else { # Replace #undef with comments. This is necessary, for example, # in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. if (defundef == "undef") { print "/*", prefix defundef, macro, "*/" next } } } { print } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 fi # test -n "$CONFIG_HEADERS" eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" shift for ac_tag do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$ac_tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) ac_sed_conf_input=`$as_echo "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac case $ac_tag in *:-:* | *:-) cat >"$ac_tmp/stdin" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac ac_MKDIR_P=$MKDIR_P case $MKDIR_P in [\\/$]* | ?:[\\/]* ) ;; */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= ac_sed_dataroot=' /datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_sed_extra="$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s|@configure_input@|$ac_sed_conf_input|;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@top_build_prefix@&$ac_top_build_prefix&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ "$ac_tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$ac_tmp/stdin" case $ac_file in -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; esac \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; :H) # # CONFIG_HEADER # if test x"$ac_file" != x-; then { $as_echo "/* $configure_input */" \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" } >"$ac_tmp/config.h" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" mv "$ac_tmp/config.h" "$ac_file" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else $as_echo "/* $configure_input */" \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ || as_fn_error $? "could not create -" "$LINENO" 5 fi # Compute "$ac_file"'s index in $config_headers. _am_arg="$ac_file" _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || $as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$_am_arg" : 'X\(//\)[^/]' \| \ X"$_am_arg" : 'X\(//\)$' \| \ X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$_am_arg" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'`/stamp-h$_am_stamp_count ;; :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 $as_echo "$as_me: executing $ac_file commands" >&6;} ;; esac case $ac_file$ac_mode in "depfiles":C) test x"$AMDEP_TRUE" != x"" || { # Older Autoconf quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named 'Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`$as_dirname -- "$mf" || $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$mf" : 'X\(//\)[^/]' \| \ X"$mf" : 'X\(//\)$' \| \ X"$mf" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running 'make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "$am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`$as_dirname -- "$file" || $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$file" : 'X\(//\)[^/]' \| \ X"$file" : 'X\(//\)$' \| \ X"$file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir=$dirpart/$fdir; as_fn_mkdir_p # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done } ;; "libtool":C) # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes. if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi cfgfile="${ofile}T" trap "$RM \"$cfgfile\"; exit 1" 1 2 15 $RM "$cfgfile" cat <<_LT_EOF >> "$cfgfile" #! $SHELL # `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. # Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # NOTE: Changes made to this file will be lost: look at ltmain.sh. # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, # 2006, 2007, 2008, 2009, 2010, 2011 Free Software # Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is part of GNU Libtool. # # GNU Libtool is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as # published by the Free Software Foundation; either version 2 of # the License, or (at your option) any later version. # # As a special exception to the GNU General Public License, # if you distribute this file as part of a program or library that # is built using GNU Libtool, you may include this file under the # same distribution terms that you use for the rest of that program. # # GNU Libtool is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Libtool; see the file COPYING. If not, a copy # can be downloaded from http://www.gnu.org/licenses/gpl.html, or # obtained by writing to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # The names of the tagged configurations supported by this script. available_tags="" # ### BEGIN LIBTOOL CONFIG # Assembler program. AS=$lt_AS # DLL creation program. DLLTOOL=$lt_DLLTOOL # Object dumper program. OBJDUMP=$lt_OBJDUMP # Whether or not to build static libraries. build_old_libs=$enable_static # Which release of libtool.m4 was used? macro_version=$macro_version macro_revision=$macro_revision # Whether or not to build shared libraries. build_libtool_libs=$enable_shared # What type of objects to build. pic_mode=$pic_mode # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # Shell to use when invoking shell scripts. SHELL=$lt_SHELL # An echo program that protects backslashes. ECHO=$lt_ECHO # The PATH separator for the build system. PATH_SEPARATOR=$lt_PATH_SEPARATOR # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # A sed program that does not truncate output. SED=$lt_SED # Sed that helps us avoid accidentally triggering echo(1) options like -n. Xsed="\$SED -e 1s/^X//" # A grep program that handles long lines. GREP=$lt_GREP # An ERE matcher. EGREP=$lt_EGREP # A literal string matcher. FGREP=$lt_FGREP # A BSD- or MS-compatible name lister. NM=$lt_NM # Whether we need soft or hard links. LN_S=$lt_LN_S # What is the maximum length of a command? max_cmd_len=$max_cmd_len # Object file suffix (normally "o"). objext=$ac_objext # Executable file suffix (normally ""). exeext=$exeext # whether the shell understands "unset". lt_unset=$lt_unset # turn spaces into newlines. SP2NL=$lt_lt_SP2NL # turn newlines into spaces. NL2SP=$lt_lt_NL2SP # convert \$build file names to \$host format. to_host_file_cmd=$lt_cv_to_host_file_cmd # convert \$build files to toolchain format. to_tool_file_cmd=$lt_cv_to_tool_file_cmd # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method # Command to use when deplibs_check_method = "file_magic". file_magic_cmd=$lt_file_magic_cmd # How to find potential files when deplibs_check_method = "file_magic". file_magic_glob=$lt_file_magic_glob # Find potential files using nocaseglob when deplibs_check_method = "file_magic". want_nocaseglob=$lt_want_nocaseglob # Command to associate shared and link libraries. sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd # The archiver. AR=$lt_AR # Flags to create an archive. AR_FLAGS=$lt_AR_FLAGS # How to feed a file listing to the archiver. archiver_list_spec=$lt_archiver_list_spec # A symbol stripping program. STRIP=$lt_STRIP # Commands used to install an old-style archive. RANLIB=$lt_RANLIB old_postinstall_cmds=$lt_old_postinstall_cmds old_postuninstall_cmds=$lt_old_postuninstall_cmds # Whether to use a lock for old archive extraction. lock_old_archive_extraction=$lock_old_archive_extraction # A C compiler. LTCC=$lt_CC # LTCC compiler flags. LTCFLAGS=$lt_CFLAGS # Take the output of nm and produce a listing of raw symbols and C names. global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe # Transform the output of nm in a proper C declaration. global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl # Transform the output of nm in a C name address pair. global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address # Transform the output of nm in a C name address pair when lib prefix is needed. global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix # Specify filename containing input files for \$NM. nm_file_list_spec=$lt_nm_file_list_spec # The root where to search for dependent libraries,and in which our libraries should be installed. lt_sysroot=$lt_sysroot # The name of the directory that contains temporary libtool files. objdir=$objdir # Used to examine libraries when file_magic_cmd begins with "file". MAGIC_CMD=$MAGIC_CMD # Must we lock files when doing compilation? need_locks=$lt_need_locks # Manifest tool. MANIFEST_TOOL=$lt_MANIFEST_TOOL # Tool to manipulate archived DWARF debug symbol files on Mac OS X. DSYMUTIL=$lt_DSYMUTIL # Tool to change global to local symbols on Mac OS X. NMEDIT=$lt_NMEDIT # Tool to manipulate fat objects and archives on Mac OS X. LIPO=$lt_LIPO # ldd/readelf like tool for Mach-O binaries on Mac OS X. OTOOL=$lt_OTOOL # ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. OTOOL64=$lt_OTOOL64 # Old archive suffix (normally "a"). libext=$libext # Shared library suffix (normally ".so"). shrext_cmds=$lt_shrext_cmds # The commands to extract the exported symbol list from a shared archive. extract_expsyms_cmds=$lt_extract_expsyms_cmds # Variables whose values should be saved in libtool wrapper scripts and # restored at link time. variables_saved_for_relink=$lt_variables_saved_for_relink # Do we need the "lib" prefix for modules? need_lib_prefix=$need_lib_prefix # Do we need a version for libraries? need_version=$need_version # Library versioning type. version_type=$version_type # Shared library runtime path variable. runpath_var=$runpath_var # Shared library path variable. shlibpath_var=$shlibpath_var # Is shlibpath searched before the hard-coded library search path? shlibpath_overrides_runpath=$shlibpath_overrides_runpath # Format of library name prefix. libname_spec=$lt_libname_spec # List of archive names. First name is the real one, the rest are links. # The last name is the one that the linker finds with -lNAME library_names_spec=$lt_library_names_spec # The coded name of the library, if different from the real name. soname_spec=$lt_soname_spec # Permission mode override for installation of shared libraries. install_override_mode=$lt_install_override_mode # Command to use after installation of a shared archive. postinstall_cmds=$lt_postinstall_cmds # Command to use after uninstallation of a shared archive. postuninstall_cmds=$lt_postuninstall_cmds # Commands used to finish a libtool library installation in a directory. finish_cmds=$lt_finish_cmds # As "finish_cmds", except a single script fragment to be evaled but # not shown. finish_eval=$lt_finish_eval # Whether we should hardcode library paths into libraries. hardcode_into_libs=$hardcode_into_libs # Compile-time system search path for libraries. sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Run-time system search path for libraries. sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec # Whether dlopen is supported. dlopen_support=$enable_dlopen # Whether dlopen of programs is supported. dlopen_self=$enable_dlopen_self # Whether dlopen of statically linked programs is supported. dlopen_self_static=$enable_dlopen_self_static # Commands to strip libraries. old_striplib=$lt_old_striplib striplib=$lt_striplib # The linker used to build libraries. LD=$lt_LD # How to create reloadable object files. reload_flag=$lt_reload_flag reload_cmds=$lt_reload_cmds # Commands used to build an old-style archive. old_archive_cmds=$lt_old_archive_cmds # A language specific compiler. CC=$lt_compiler # Is the compiler the GNU compiler? with_gcc=$GCC # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic # How to pass a linker flag through the compiler. wl=$lt_lt_prog_compiler_wl # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$archive_cmds_need_lc # Whether or not to disallow shared libs when runtime libs are static. allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec # Whether the compiler copes with passing no objects directly. compiler_needs_object=$lt_compiler_needs_object # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds # Commands used to build a shared archive. archive_cmds=$lt_archive_cmds archive_expsym_cmds=$lt_archive_expsym_cmds # Commands used to build a loadable module if different from building # a shared archive. module_cmds=$lt_module_cmds module_expsym_cmds=$lt_module_expsym_cmds # Whether we are building with GNU ld or not. with_gnu_ld=$lt_with_gnu_ld # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_allow_undefined_flag # Flag that enforces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec # Whether we need a single "-rpath" flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes # DIR into the resulting binary. hardcode_direct=$hardcode_direct # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes # DIR into the resulting binary and the resulting library dependency is # "absolute",i.e impossible to change by setting \${shlibpath_var} if the # library is relocated. hardcode_direct_absolute=$hardcode_direct_absolute # Set to "yes" if using the -LDIR flag during linking hardcodes DIR # into the resulting binary. hardcode_minus_L=$hardcode_minus_L # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR # into the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var # Set to "yes" if building a shared library automatically hardcodes DIR # into the library and all subsequent libraries and executables linked # against it. hardcode_automatic=$hardcode_automatic # Set to yes if linker adds runtime paths of dependent libraries # to runtime path list. inherit_rpath=$inherit_rpath # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs # Set to "yes" if exported symbols are required. always_export_symbols=$always_export_symbols # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_exclude_expsyms # Symbols that must always be exported. include_expsyms=$lt_include_expsyms # Commands necessary for linking programs (against libraries) with templates. prelink_cmds=$lt_prelink_cmds # Commands necessary for finishing linking programs. postlink_cmds=$lt_postlink_cmds # Specify filename containing input files. file_list_spec=$lt_file_list_spec # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action # ### END LIBTOOL CONFIG _LT_EOF case $host_os in aix3*) cat <<\_LT_EOF >> "$cfgfile" # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi _LT_EOF ;; esac ltmain="$ac_aux_dir/ltmain.sh" # We use sed instead of cat because bash on DJGPP gets confused if # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? sed '$q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) if test x"$xsi_shell" = xyes; then sed -e '/^func_dirname ()$/,/^} # func_dirname /c\ func_dirname ()\ {\ \ case ${1} in\ \ */*) func_dirname_result="${1%/*}${2}" ;;\ \ * ) func_dirname_result="${3}" ;;\ \ esac\ } # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_basename ()$/,/^} # func_basename /c\ func_basename ()\ {\ \ func_basename_result="${1##*/}"\ } # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\ func_dirname_and_basename ()\ {\ \ case ${1} in\ \ */*) func_dirname_result="${1%/*}${2}" ;;\ \ * ) func_dirname_result="${3}" ;;\ \ esac\ \ func_basename_result="${1##*/}"\ } # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_stripname ()$/,/^} # func_stripname /c\ func_stripname ()\ {\ \ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\ \ # positional parameters, so assign one to ordinary parameter first.\ \ func_stripname_result=${3}\ \ func_stripname_result=${func_stripname_result#"${1}"}\ \ func_stripname_result=${func_stripname_result%"${2}"}\ } # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\ func_split_long_opt ()\ {\ \ func_split_long_opt_name=${1%%=*}\ \ func_split_long_opt_arg=${1#*=}\ } # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\ func_split_short_opt ()\ {\ \ func_split_short_opt_arg=${1#??}\ \ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\ } # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\ func_lo2o ()\ {\ \ case ${1} in\ \ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\ \ *) func_lo2o_result=${1} ;;\ \ esac\ } # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_xform ()$/,/^} # func_xform /c\ func_xform ()\ {\ func_xform_result=${1%.*}.lo\ } # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_arith ()$/,/^} # func_arith /c\ func_arith ()\ {\ func_arith_result=$(( $* ))\ } # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_len ()$/,/^} # func_len /c\ func_len ()\ {\ func_len_result=${#1}\ } # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: fi if test x"$lt_shell_append" = xyes; then sed -e '/^func_append ()$/,/^} # func_append /c\ func_append ()\ {\ eval "${1}+=\\${2}"\ } # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\ func_append_quoted ()\ {\ \ func_quote_for_eval "${2}"\ \ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\ } # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: # Save a `func_append' function call where possible by direct use of '+=' sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: else # Save a `func_append' function call even when '+=' is not available sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: fi if test x"$_lt_function_replace_fail" = x":"; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5 $as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;} fi mv -f "$cfgfile" "$ofile" || (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") chmod +x "$ofile" ;; "po-directories":C) for ac_file in $CONFIG_FILES; do # Support "outfile[:infile[:infile...]]" case "$ac_file" in *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; esac # PO directories have a Makefile.in generated from Makefile.in.in. case "$ac_file" in */Makefile.in) # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac # Treat a directory as a PO directory if and only if it has a # POTFILES.in file. This allows packages to have multiple PO # directories under different names or in different locations. if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then rm -f "$ac_dir/POTFILES" test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" POMAKEFILEDEPS="POTFILES.in" # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend # on $ac_dir but don't depend on user-specified configuration # parameters. if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then # The LINGUAS file contains the set of available languages. if test -n "$OBSOLETE_ALL_LINGUAS"; then test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" fi ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$ALL_LINGUAS_' POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" else # The set of available languages was given in configure.in. # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' fi # Compute POFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) # Compute UPDATEPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) # Compute DUMMYPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) # Compute GMOFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) case "$ac_given_srcdir" in .) srcdirpre= ;; *) srcdirpre='$(srcdir)/' ;; esac POFILES= UPDATEPOFILES= DUMMYPOFILES= GMOFILES= for lang in $ALL_LINGUAS; do POFILES="$POFILES $srcdirpre$lang.po" UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" DUMMYPOFILES="$DUMMYPOFILES $lang.nop" GMOFILES="$GMOFILES $srcdirpre$lang.gmo" done # CATALOGS depends on both $ac_dir and the user's LINGUAS # environment variable. INST_LINGUAS= if test -n "$ALL_LINGUAS"; then for presentlang in $ALL_LINGUAS; do useit=no if test "%UNSET%" != "$LINGUAS"; then desiredlanguages="$LINGUAS" else desiredlanguages="$ALL_LINGUAS" fi for desiredlang in $desiredlanguages; do # Use the presentlang catalog if desiredlang is # a. equal to presentlang, or # b. a variant of presentlang (because in this case, # presentlang can be used as a fallback for messages # which are not translated in the desiredlang catalog). case "$desiredlang" in "$presentlang"*) useit=yes;; esac done if test $useit = yes; then INST_LINGUAS="$INST_LINGUAS $presentlang" fi done fi CATALOGS= if test -n "$INST_LINGUAS"; then for lang in $INST_LINGUAS; do CATALOGS="$CATALOGS $lang.gmo" done fi test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do if test -f "$f"; then case "$f" in *.orig | *.bak | *~) ;; *) cat "$f" >> "$ac_dir/Makefile" ;; esac fi done fi ;; esac done ;; esac done # for ac_tag as_fn_exit 0 _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi geda-gaf-1.8.2/ABOUT-NLS0000644000175000017500000023334012210331570011324 000000000000001 Notes on the Free Translation Project *************************************** Free software is going international! The Free Translation Project is a way to get maintainers of free software, translators, and users all together, so that free software will gradually become able to speak many languages. A few packages already provide translations for their messages. If you found this `ABOUT-NLS' file inside a distribution, you may assume that the distributed package does use GNU `gettext' internally, itself available at your nearest GNU archive site. But you do _not_ need to install GNU `gettext' prior to configuring, installing or using this package with messages translated. Installers will find here some useful hints. These notes also explain how users should proceed for getting the programs to use the available translations. They tell how people wanting to contribute and work on translations can contact the appropriate team. When reporting bugs in the `intl/' directory or bugs which may be related to internationalization, you should tell about the version of `gettext' which is used. The information can be found in the `intl/VERSION' file, in internationalized packages. 1.1 Quick configuration advice ============================== If you want to exploit the full power of internationalization, you should configure it using ./configure --with-included-gettext to force usage of internationalizing routines provided within this package, despite the existence of internationalizing capabilities in the operating system where this package is being installed. So far, only the `gettext' implementation in the GNU C library version 2 provides as many features (such as locale alias, message inheritance, automatic charset conversion or plural form handling) as the implementation here. It is also not possible to offer this additional functionality on top of a `catgets' implementation. Future versions of GNU `gettext' will very likely convey even more functionality. So it might be a good idea to change to GNU `gettext' as soon as possible. So you need _not_ provide this option if you are using GNU libc 2 or you have installed a recent copy of the GNU gettext package with the included `libintl'. 1.2 INSTALL Matters =================== Some packages are "localizable" when properly installed; the programs they contain can be made to speak your own native language. Most such packages use GNU `gettext'. Other packages have their own ways to internationalization, predating GNU `gettext'. By default, this package will be installed to allow translation of messages. It will automatically detect whether the system already provides the GNU `gettext' functions. If not, the included GNU `gettext' library will be used. This library is wholly contained within this package, usually in the `intl/' subdirectory, so prior installation of the GNU `gettext' package is _not_ required. Installers may use special options at configuration time for changing the default behaviour. The commands: ./configure --with-included-gettext ./configure --disable-nls will, respectively, bypass any pre-existing `gettext' to use the internationalizing routines provided within this package, or else, _totally_ disable translation of messages. When you already have GNU `gettext' installed on your system and run configure without an option for your new package, `configure' will probably detect the previously built and installed `libintl.a' file and will decide to use this. This might not be desirable. You should use the more recent version of the GNU `gettext' library. I.e. if the file `intl/VERSION' shows that the library which comes with this package is more recent, you should use ./configure --with-included-gettext to prevent auto-detection. The configuration process will not test for the `catgets' function and therefore it will not be used. The reason is that even an emulation of `gettext' on top of `catgets' could not provide all the extensions of the GNU `gettext' library. Internationalized packages usually have many `po/LL.po' files, where LL gives an ISO 639 two-letter code identifying the language. Unless translations have been forbidden at `configure' time by using the `--disable-nls' switch, all available translations are installed together with the package. However, the environment variable `LINGUAS' may be set, prior to configuration, to limit the installed set. `LINGUAS' should then contain a space separated list of two-letter codes, stating which languages are allowed. 1.3 Using This Package ====================== As a user, if your language has been installed for this package, you only have to set the `LANG' environment variable to the appropriate `LL_CC' combination. Here `LL' is an ISO 639 two-letter language code, and `CC' is an ISO 3166 two-letter country code. For example, let's suppose that you speak German and live in Germany. At the shell prompt, merely execute `setenv LANG de_DE' (in `csh'), `export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash'). This can be done from your `.login' or `.profile' file, once and for all. You might think that the country code specification is redundant. But in fact, some languages have dialects in different countries. For example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The country code serves to distinguish the dialects. The locale naming convention of `LL_CC', with `LL' denoting the language and `CC' denoting the country, is the one use on systems based on GNU libc. On other systems, some variations of this scheme are used, such as `LL' or `LL_CC.ENCODING'. You can get the list of locales supported by your system for your language by running the command `locale -a | grep '^LL''. Not all programs have translations for all languages. By default, an English message is shown in place of a nonexistent translation. If you understand other languages, you can set up a priority list of languages. This is done through a different environment variable, called `LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LANG' for the purpose of message handling, but you still need to have `LANG' set to the primary language; this is required by other parts of the system libraries. For example, some Swedish users who would rather read translations in German than English for when Swedish is not available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'. Special advice for Norwegian users: The language code for Norwegian bokma*l changed from `no' to `nb' recently (in 2003). During the transition period, while some message catalogs for this language are installed under `nb' and some older ones under `no', it's recommended for Norwegian users to set `LANGUAGE' to `nb:no' so that both newer and older translations are used. In the `LANGUAGE' environment variable, but not in the `LANG' environment variable, `LL_CC' combinations can be abbreviated as `LL' to denote the language's main dialect. For example, `de' is equivalent to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT' (Portuguese as spoken in Portugal) in this context. 1.4 Translating Teams ===================== For the Free Translation Project to be a success, we need interested people who like their own language and write it well, and who are also able to synergize with other translators speaking the same language. Each translation team has its own mailing list. The up-to-date list of teams can be found at the Free Translation Project's homepage, `http://www.iro.umontreal.ca/contrib/po/HTML/', in the "National teams" area. If you'd like to volunteer to _work_ at translating messages, you should become a member of the translating team for your own language. The subscribing address is _not_ the same as the list itself, it has `-request' appended. For example, speakers of Swedish can send a message to `sv-request@li.org', having this message body: subscribe Keep in mind that team members are expected to participate _actively_ in translations, or at solving translational difficulties, rather than merely lurking around. If your team does not exist yet and you want to start one, or if you are unsure about what to do or how to get started, please write to `translation@iro.umontreal.ca' to reach the coordinator for all translator teams. The English team is special. It works at improving and uniformizing the terminology in use. Proven linguistic skills are praised more than programming skills, here. 1.5 Available Packages ====================== Languages are not equally supported in all packages. The following matrix shows the current state of internationalization, as of October 2006. The matrix shows, in regard of each package, for which languages PO files have been submitted to translation coordination, with a translation percentage of at least 50%. Ready PO files af am ar az be bg bs ca cs cy da de el en en_GB eo +----------------------------------------------------+ GNUnet | [] | a2ps | [] [] [] [] [] | aegis | () | ant-phone | () | anubis | [] | ap-utils | | aspell | [] [] [] [] [] | bash | [] [] [] | batchelor | [] | bfd | | bibshelf | [] | binutils | [] | bison | [] [] | bison-runtime | | bluez-pin | [] [] [] [] [] | cflow | [] | clisp | [] [] | console-tools | [] [] | coreutils | [] [] [] | cpio | | cpplib | [] [] [] | cryptonit | [] | darkstat | [] () [] | dialog | [] [] [] [] [] [] | diffutils | [] [] [] [] [] [] | doodle | [] | e2fsprogs | [] [] | enscript | [] [] [] [] | error | [] [] [] [] | fetchmail | [] [] () [] | fileutils | [] [] | findutils | [] [] [] | flex | [] [] [] | fslint | [] | gas | | gawk | [] [] [] | gbiff | [] | gcal | [] | gcc | [] | gettext-examples | [] [] [] [] [] | gettext-runtime | [] [] [] [] [] | gettext-tools | [] [] | gimp-print | [] [] [] [] | gip | [] | gliv | [] | glunarclock | [] | gmult | [] [] | gnubiff | () | gnucash | () () [] | gnucash-glossary | [] () | gnuedu | | gnulib | [] [] [] [] [] [] | gnunet-gtk | | gnutls | | gpe-aerial | [] [] | gpe-beam | [] [] | gpe-calendar | | gpe-clock | [] [] | gpe-conf | [] [] | gpe-contacts | | gpe-edit | [] | gpe-filemanager | | gpe-go | [] | gpe-login | [] [] | gpe-ownerinfo | [] [] | gpe-package | | gpe-sketchbook | [] [] | gpe-su | [] [] | gpe-taskmanager | [] [] | gpe-timesheet | [] | gpe-today | [] [] | gpe-todo | | gphoto2 | [] [] [] [] | gprof | [] [] | gpsdrive | () () | gramadoir | [] [] | grep | [] [] [] [] [] [] | gretl | | gsasl | | gss | | gst-plugins | [] [] [] [] | gst-plugins-base | [] [] [] | gst-plugins-good | [] [] [] [] [] [] [] | gstreamer | [] [] [] [] [] [] [] | gtick | () | gtkam | [] [] [] | gtkorphan | [] [] | gtkspell | [] [] [] [] | gutenprint | [] | hello | [] [] [] [] [] | id-utils | [] [] | impost | | indent | [] [] [] | iso_3166 | [] [] | iso_3166_2 | | iso_4217 | [] | iso_639 | [] [] | jpilot | [] | jtag | | jwhois | | kbd | [] [] [] [] | keytouch | | keytouch-editor | | keytouch-keyboa... | | latrine | () | ld | [] | leafpad | [] [] [] [] [] | libc | [] [] [] [] [] | libexif | [] | libextractor | [] | libgpewidget | [] [] [] | libgpg-error | [] | libgphoto2 | [] [] | libgphoto2_port | [] [] | libgsasl | | libiconv | [] [] | libidn | [] [] | lifelines | [] () | lilypond | [] | lingoteach | | lynx | [] [] [] [] | m4 | [] [] [] [] | mailutils | [] | make | [] [] | man-db | [] () [] [] | minicom | [] [] [] | mysecretdiary | [] [] | nano | [] [] [] | nano_1_0 | [] () [] [] | opcodes | [] | parted | | pilot-qof | [] | psmisc | [] | pwdutils | | python | | qof | | radius | [] | recode | [] [] [] [] [] [] | rpm | [] [] | screem | | scrollkeeper | [] [] [] [] [] [] [] [] | sed | [] [] [] | sh-utils | [] [] | shared-mime-info | [] [] [] [] | sharutils | [] [] [] [] [] [] | shishi | | silky | | skencil | [] () | sketch | [] () | solfege | | soundtracker | [] [] | sp | [] | stardict | [] | system-tools-ba... | [] [] [] [] [] [] [] [] [] | tar | [] | texinfo | [] [] [] | textutils | [] [] [] | tin | () () | tp-robot | [] | tuxpaint | [] [] [] [] [] | unicode-han-tra... | | unicode-transla... | | util-linux | [] [] [] [] | vorbis-tools | [] [] [] [] | wastesedge | () | wdiff | [] [] [] [] | wget | [] [] | xchat | [] [] [] [] [] [] | xkeyboard-config | | xpad | [] [] | +----------------------------------------------------+ af am ar az be bg bs ca cs cy da de el en en_GB eo 10 0 1 2 9 22 1 42 41 2 60 95 16 1 17 16 es et eu fa fi fr ga gl gu he hi hr hu id is it +--------------------------------------------------+ GNUnet | | a2ps | [] [] [] () | aegis | | ant-phone | [] | anubis | [] | ap-utils | [] [] | aspell | [] [] [] | bash | [] [] [] | batchelor | [] [] | bfd | [] | bibshelf | [] [] [] | binutils | [] [] [] | bison | [] [] [] [] [] [] | bison-runtime | [] [] [] [] [] | bluez-pin | [] [] [] [] [] | cflow | [] | clisp | [] [] | console-tools | | coreutils | [] [] [] [] [] [] | cpio | [] [] [] | cpplib | [] [] | cryptonit | [] | darkstat | [] () [] [] [] | dialog | [] [] [] [] [] [] [] [] | diffutils | [] [] [] [] [] [] [] [] [] | doodle | [] [] | e2fsprogs | [] [] [] | enscript | [] [] [] | error | [] [] [] [] [] | fetchmail | [] | fileutils | [] [] [] [] [] [] | findutils | [] [] [] [] | flex | [] [] [] | fslint | [] | gas | [] [] | gawk | [] [] [] [] | gbiff | [] | gcal | [] [] | gcc | [] | gettext-examples | [] [] [] [] [] [] | gettext-runtime | [] [] [] [] [] [] | gettext-tools | [] [] [] | gimp-print | [] [] | gip | [] [] [] | gliv | () | glunarclock | [] [] [] | gmult | [] [] [] | gnubiff | () () | gnucash | () () () | gnucash-glossary | [] [] | gnuedu | [] | gnulib | [] [] [] [] [] [] [] [] | gnunet-gtk | | gnutls | | gpe-aerial | [] [] | gpe-beam | [] [] | gpe-calendar | | gpe-clock | [] [] [] [] | gpe-conf | [] | gpe-contacts | [] [] | gpe-edit | [] [] [] [] | gpe-filemanager | [] | gpe-go | [] [] [] | gpe-login | [] [] [] | gpe-ownerinfo | [] [] [] [] [] | gpe-package | [] | gpe-sketchbook | [] [] | gpe-su | [] [] [] [] | gpe-taskmanager | [] [] [] | gpe-timesheet | [] [] [] [] | gpe-today | [] [] [] [] | gpe-todo | [] | gphoto2 | [] [] [] [] [] | gprof | [] [] [] [] | gpsdrive | () () [] () | gramadoir | [] [] | grep | [] [] [] [] [] [] [] [] [] [] [] [] | gretl | [] [] [] | gsasl | [] [] | gss | [] | gst-plugins | [] [] [] | gst-plugins-base | [] [] | gst-plugins-good | [] [] [] | gstreamer | [] [] [] | gtick | [] | gtkam | [] [] [] [] | gtkorphan | [] [] | gtkspell | [] [] [] [] [] [] | gutenprint | [] | hello | [] [] [] [] [] [] [] [] [] [] [] [] [] | id-utils | [] [] [] [] [] | impost | [] [] | indent | [] [] [] [] [] [] [] [] [] [] | iso_3166 | [] [] [] | iso_3166_2 | [] | iso_4217 | [] [] [] [] | iso_639 | [] [] [] [] [] | jpilot | [] [] | jtag | [] | jwhois | [] [] [] [] [] | kbd | [] [] | keytouch | [] | keytouch-editor | [] | keytouch-keyboa... | [] | latrine | [] [] [] | ld | [] [] | leafpad | [] [] [] [] [] [] | libc | [] [] [] [] [] | libexif | [] | libextractor | [] | libgpewidget | [] [] [] [] [] | libgpg-error | | libgphoto2 | [] [] [] | libgphoto2_port | [] [] | libgsasl | [] [] | libiconv | [] [] | libidn | [] [] | lifelines | () | lilypond | [] | lingoteach | [] [] [] | lynx | [] [] [] | m4 | [] [] [] [] | mailutils | [] [] | make | [] [] [] [] [] [] [] [] | man-db | () | minicom | [] [] [] [] | mysecretdiary | [] [] [] | nano | [] [] [] [] [] [] | nano_1_0 | [] [] [] [] [] | opcodes | [] [] [] [] | parted | [] [] [] [] | pilot-qof | | psmisc | [] [] [] | pwdutils | | python | | qof | [] | radius | [] [] | recode | [] [] [] [] [] [] [] [] | rpm | [] [] | screem | | scrollkeeper | [] [] [] | sed | [] [] [] [] [] | sh-utils | [] [] [] [] [] [] [] | shared-mime-info | [] [] [] [] [] [] | sharutils | [] [] [] [] [] [] [] [] | shishi | | silky | [] | skencil | [] [] | sketch | [] [] | solfege | [] | soundtracker | [] [] [] | sp | [] | stardict | [] | system-tools-ba... | [] [] [] [] [] [] [] [] | tar | [] [] [] [] [] [] [] | texinfo | [] [] | textutils | [] [] [] [] [] | tin | [] () | tp-robot | [] [] [] [] | tuxpaint | [] [] | unicode-han-tra... | | unicode-transla... | [] [] | util-linux | [] [] [] [] [] [] [] | vorbis-tools | [] [] | wastesedge | () | wdiff | [] [] [] [] [] [] [] [] | wget | [] [] [] [] [] [] [] [] | xchat | [] [] [] [] [] [] [] [] | xkeyboard-config | [] [] [] [] | xpad | [] [] [] | +--------------------------------------------------+ es et eu fa fi fr ga gl gu he hi hr hu id is it 88 22 14 2 40 115 61 14 1 8 1 6 59 31 0 52 ja ko ku ky lg lt lv mk mn ms mt nb ne nl nn no +-------------------------------------------------+ GNUnet | | a2ps | () [] [] () | aegis | () | ant-phone | [] | anubis | [] [] [] | ap-utils | [] | aspell | [] [] | bash | [] | batchelor | [] [] | bfd | | bibshelf | [] | binutils | | bison | [] [] [] | bison-runtime | [] [] [] | bluez-pin | [] [] [] | cflow | | clisp | [] | console-tools | | coreutils | [] | cpio | | cpplib | [] | cryptonit | [] | darkstat | [] [] | dialog | [] [] | diffutils | [] [] [] | doodle | | e2fsprogs | [] | enscript | [] | error | [] | fetchmail | [] [] | fileutils | [] [] | findutils | [] | flex | [] [] | fslint | [] [] | gas | | gawk | [] [] | gbiff | [] | gcal | | gcc | | gettext-examples | [] [] | gettext-runtime | [] [] [] | gettext-tools | [] [] | gimp-print | [] [] | gip | [] [] | gliv | [] | glunarclock | [] [] | gmult | [] [] | gnubiff | | gnucash | () () | gnucash-glossary | [] | gnuedu | | gnulib | [] [] [] [] | gnunet-gtk | | gnutls | | gpe-aerial | [] | gpe-beam | [] | gpe-calendar | [] | gpe-clock | [] [] [] | gpe-conf | [] [] | gpe-contacts | [] | gpe-edit | [] [] [] | gpe-filemanager | [] [] | gpe-go | [] [] [] | gpe-login | [] [] [] | gpe-ownerinfo | [] [] | gpe-package | [] [] | gpe-sketchbook | [] [] | gpe-su | [] [] [] | gpe-taskmanager | [] [] [] [] | gpe-timesheet | [] | gpe-today | [] [] | gpe-todo | [] | gphoto2 | [] [] | gprof | | gpsdrive | () () () | gramadoir | () | grep | [] [] [] [] | gretl | | gsasl | [] | gss | | gst-plugins | [] | gst-plugins-base | | gst-plugins-good | [] | gstreamer | [] | gtick | | gtkam | [] | gtkorphan | [] | gtkspell | [] [] | gutenprint | | hello | [] [] [] [] [] [] | id-utils | [] | impost | | indent | [] [] | iso_3166 | [] | iso_3166_2 | [] | iso_4217 | [] [] [] | iso_639 | [] [] | jpilot | () () () | jtag | | jwhois | [] | kbd | [] | keytouch | [] | keytouch-editor | | keytouch-keyboa... | | latrine | [] | ld | | leafpad | [] [] | libc | [] [] [] [] [] | libexif | | libextractor | | libgpewidget | [] | libgpg-error | | libgphoto2 | [] | libgphoto2_port | [] | libgsasl | [] | libiconv | | libidn | [] [] | lifelines | [] | lilypond | | lingoteach | [] | lynx | [] [] | m4 | [] [] | mailutils | | make | [] [] [] | man-db | () | minicom | [] | mysecretdiary | [] | nano | [] [] [] | nano_1_0 | [] [] [] | opcodes | [] | parted | [] [] | pilot-qof | | psmisc | [] [] [] | pwdutils | | python | | qof | | radius | | recode | [] | rpm | [] [] | screem | [] | scrollkeeper | [] [] [] [] | sed | [] [] | sh-utils | [] [] | shared-mime-info | [] [] [] [] [] | sharutils | [] [] | shishi | | silky | [] | skencil | | sketch | | solfege | | soundtracker | | sp | () | stardict | [] [] | system-tools-ba... | [] [] [] [] | tar | [] [] [] | texinfo | [] [] [] | textutils | [] [] [] | tin | | tp-robot | [] | tuxpaint | [] | unicode-han-tra... | | unicode-transla... | | util-linux | [] [] | vorbis-tools | [] | wastesedge | [] | wdiff | [] [] | wget | [] [] | xchat | [] [] [] [] | xkeyboard-config | [] | xpad | [] [] [] | +-------------------------------------------------+ ja ko ku ky lg lt lv mk mn ms mt nb ne nl nn no 52 24 2 2 1 3 0 2 3 21 0 15 1 97 5 1 nso or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta +------------------------------------------------------+ GNUnet | | a2ps | () [] [] [] [] [] [] | aegis | () () | ant-phone | [] [] | anubis | [] [] [] | ap-utils | () | aspell | [] [] | bash | [] [] [] | batchelor | [] [] | bfd | | bibshelf | [] | binutils | [] [] | bison | [] [] [] [] [] | bison-runtime | [] [] [] [] | bluez-pin | [] [] [] [] [] [] [] [] [] | cflow | [] | clisp | [] | console-tools | [] | coreutils | [] [] [] [] | cpio | [] [] [] | cpplib | [] | cryptonit | [] [] | darkstat | [] [] [] [] [] [] | dialog | [] [] [] [] [] [] [] [] [] | diffutils | [] [] [] [] [] [] | doodle | [] [] | e2fsprogs | [] [] | enscript | [] [] [] [] [] | error | [] [] [] [] | fetchmail | [] [] [] | fileutils | [] [] [] [] [] | findutils | [] [] [] [] [] [] | flex | [] [] [] [] [] | fslint | [] [] [] [] | gas | | gawk | [] [] [] [] | gbiff | [] | gcal | [] | gcc | [] | gettext-examples | [] [] [] [] [] [] [] [] | gettext-runtime | [] [] [] [] [] [] [] [] | gettext-tools | [] [] [] [] [] [] [] | gimp-print | [] [] | gip | [] [] [] [] | gliv | [] [] [] [] | glunarclock | [] [] [] [] [] [] | gmult | [] [] [] [] | gnubiff | () | gnucash | () [] | gnucash-glossary | [] [] [] | gnuedu | | gnulib | [] [] [] [] [] | gnunet-gtk | [] | gnutls | [] [] | gpe-aerial | [] [] [] [] [] [] [] | gpe-beam | [] [] [] [] [] [] [] | gpe-calendar | [] | gpe-clock | [] [] [] [] [] [] [] [] | gpe-conf | [] [] [] [] [] [] [] | gpe-contacts | [] [] [] [] [] | gpe-edit | [] [] [] [] [] [] [] [] | gpe-filemanager | [] [] | gpe-go | [] [] [] [] [] [] | gpe-login | [] [] [] [] [] [] [] [] | gpe-ownerinfo | [] [] [] [] [] [] [] [] | gpe-package | [] [] | gpe-sketchbook | [] [] [] [] [] [] [] [] | gpe-su | [] [] [] [] [] [] [] [] | gpe-taskmanager | [] [] [] [] [] [] [] [] | gpe-timesheet | [] [] [] [] [] [] [] [] | gpe-today | [] [] [] [] [] [] [] [] | gpe-todo | [] [] [] [] | gphoto2 | [] [] [] [] [] | gprof | [] [] [] | gpsdrive | [] [] [] | gramadoir | [] [] | grep | [] [] [] [] [] [] [] [] | gretl | [] | gsasl | [] [] [] | gss | [] [] [] | gst-plugins | [] [] [] [] | gst-plugins-base | [] | gst-plugins-good | [] [] [] [] | gstreamer | [] [] [] | gtick | [] | gtkam | [] [] [] [] | gtkorphan | [] | gtkspell | [] [] [] [] [] [] [] [] | gutenprint | [] | hello | [] [] [] [] [] [] [] [] | id-utils | [] [] [] [] | impost | [] | indent | [] [] [] [] [] [] | iso_3166 | [] [] [] [] [] [] | iso_3166_2 | | iso_4217 | [] [] [] [] | iso_639 | [] [] [] [] | jpilot | | jtag | [] | jwhois | [] [] [] [] | kbd | [] [] [] | keytouch | [] | keytouch-editor | [] | keytouch-keyboa... | [] | latrine | [] [] | ld | [] | leafpad | [] [] [] [] [] [] | libc | [] [] [] [] [] | libexif | [] | libextractor | [] [] | libgpewidget | [] [] [] [] [] [] [] | libgpg-error | [] [] | libgphoto2 | [] | libgphoto2_port | [] [] [] | libgsasl | [] [] [] [] | libiconv | [] [] | libidn | [] [] () | lifelines | [] [] | lilypond | | lingoteach | [] | lynx | [] [] [] | m4 | [] [] [] [] [] | mailutils | [] [] [] [] | make | [] [] [] [] | man-db | [] [] | minicom | [] [] [] [] [] | mysecretdiary | [] [] [] [] | nano | [] [] [] | nano_1_0 | [] [] [] [] | opcodes | [] [] | parted | [] | pilot-qof | [] | psmisc | [] [] | pwdutils | [] [] | python | | qof | [] [] | radius | [] [] | recode | [] [] [] [] [] [] [] | rpm | [] [] [] [] | screem | | scrollkeeper | [] [] [] [] [] [] [] | sed | [] [] [] [] [] [] [] [] [] | sh-utils | [] [] [] | shared-mime-info | [] [] [] [] [] | sharutils | [] [] [] [] | shishi | [] | silky | [] | skencil | [] [] [] | sketch | [] [] [] | solfege | [] | soundtracker | [] [] | sp | | stardict | [] [] [] | system-tools-ba... | [] [] [] [] [] [] [] [] [] | tar | [] [] [] [] [] | texinfo | [] [] [] [] | textutils | [] [] [] | tin | () | tp-robot | [] | tuxpaint | [] [] [] [] [] | unicode-han-tra... | | unicode-transla... | | util-linux | [] [] [] [] | vorbis-tools | [] [] | wastesedge | | wdiff | [] [] [] [] [] [] | wget | [] [] [] [] | xchat | [] [] [] [] [] [] [] | xkeyboard-config | [] [] | xpad | [] [] [] | +------------------------------------------------------+ nso or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta 0 2 3 58 30 54 5 73 72 4 40 46 11 50 128 2 tg th tk tr uk ven vi wa xh zh_CN zh_HK zh_TW zu +---------------------------------------------------+ GNUnet | [] | 2 a2ps | [] [] [] | 19 aegis | | 0 ant-phone | [] [] | 6 anubis | [] [] [] | 11 ap-utils | () [] | 4 aspell | [] [] [] | 15 bash | [] | 11 batchelor | [] [] | 9 bfd | | 1 bibshelf | [] | 7 binutils | [] [] [] | 9 bison | [] [] [] | 19 bison-runtime | [] [] [] | 15 bluez-pin | [] [] [] [] [] [] | 28 cflow | [] [] | 5 clisp | | 6 console-tools | [] [] | 5 coreutils | [] [] | 16 cpio | [] [] [] | 9 cpplib | [] [] [] [] | 11 cryptonit | | 5 darkstat | [] () () | 15 dialog | [] [] [] [] [] | 30 diffutils | [] [] [] [] | 28 doodle | [] | 6 e2fsprogs | [] [] | 10 enscript | [] [] [] | 16 error | [] [] [] [] | 18 fetchmail | [] [] | 12 fileutils | [] [] [] | 18 findutils | [] [] [] | 17 flex | [] [] | 15 fslint | [] | 9 gas | [] | 3 gawk | [] [] | 15 gbiff | [] | 5 gcal | [] | 5 gcc | [] [] [] | 6 gettext-examples | [] [] [] [] [] [] | 27 gettext-runtime | [] [] [] [] [] [] | 28 gettext-tools | [] [] [] [] [] | 19 gimp-print | [] [] | 12 gip | [] [] | 12 gliv | [] [] | 8 glunarclock | [] [] [] | 15 gmult | [] [] [] [] | 15 gnubiff | [] | 1 gnucash | () | 2 gnucash-glossary | [] [] | 9 gnuedu | [] | 2 gnulib | [] [] [] [] [] | 28 gnunet-gtk | | 1 gnutls | | 2 gpe-aerial | [] [] | 14 gpe-beam | [] [] | 14 gpe-calendar | [] | 3 gpe-clock | [] [] [] [] | 21 gpe-conf | [] [] | 14 gpe-contacts | [] [] | 10 gpe-edit | [] [] [] [] | 20 gpe-filemanager | [] | 6 gpe-go | [] [] | 15 gpe-login | [] [] [] [] [] | 21 gpe-ownerinfo | [] [] [] [] | 21 gpe-package | [] | 6 gpe-sketchbook | [] [] | 16 gpe-su | [] [] [] | 20 gpe-taskmanager | [] [] [] | 20 gpe-timesheet | [] [] [] [] | 18 gpe-today | [] [] [] [] [] | 21 gpe-todo | [] | 7 gphoto2 | [] [] [] [] | 20 gprof | [] [] | 11 gpsdrive | | 4 gramadoir | [] | 7 grep | [] [] [] [] | 34 gretl | | 4 gsasl | [] [] | 8 gss | [] | 5 gst-plugins | [] [] [] | 15 gst-plugins-base | [] [] [] | 9 gst-plugins-good | [] [] [] [] [] | 20 gstreamer | [] [] [] | 17 gtick | [] | 3 gtkam | [] | 13 gtkorphan | [] | 7 gtkspell | [] [] [] [] [] [] | 26 gutenprint | | 3 hello | [] [] [] [] [] | 37 id-utils | [] [] | 14 impost | [] | 4 indent | [] [] [] [] | 25 iso_3166 | [] [] [] [] | 16 iso_3166_2 | | 2 iso_4217 | [] [] | 14 iso_639 | [] | 14 jpilot | [] [] [] [] | 7 jtag | [] | 3 jwhois | [] [] [] | 13 kbd | [] [] | 12 keytouch | [] | 4 keytouch-editor | | 2 keytouch-keyboa... | [] | 3 latrine | [] [] | 8 ld | [] [] [] [] | 8 leafpad | [] [] [] [] | 23 libc | [] [] [] | 23 libexif | [] | 4 libextractor | [] | 5 libgpewidget | [] [] [] | 19 libgpg-error | [] | 4 libgphoto2 | [] | 8 libgphoto2_port | [] [] [] | 11 libgsasl | [] | 8 libiconv | [] | 7 libidn | [] [] | 10 lifelines | | 4 lilypond | | 2 lingoteach | [] | 6 lynx | [] [] [] | 15 m4 | [] [] [] | 18 mailutils | [] | 8 make | [] [] [] | 20 man-db | [] | 6 minicom | [] | 14 mysecretdiary | [] [] | 12 nano | [] [] | 17 nano_1_0 | [] [] [] | 18 opcodes | [] [] | 10 parted | [] [] [] | 10 pilot-qof | [] | 3 psmisc | [] | 10 pwdutils | [] | 3 python | | 0 qof | [] | 4 radius | [] | 6 recode | [] [] [] | 25 rpm | [] [] [] [] | 14 screem | [] | 2 scrollkeeper | [] [] [] [] | 26 sed | [] [] [] | 22 sh-utils | [] | 15 shared-mime-info | [] [] [] [] | 24 sharutils | [] [] [] | 23 shishi | | 1 silky | [] | 4 skencil | [] | 7 sketch | | 6 solfege | | 2 soundtracker | [] [] | 9 sp | [] | 3 stardict | [] [] [] [] | 11 system-tools-ba... | [] [] [] [] [] [] [] | 37 tar | [] [] [] [] | 20 texinfo | [] [] [] | 15 textutils | [] [] [] | 17 tin | | 1 tp-robot | [] [] [] | 10 tuxpaint | [] [] [] | 16 unicode-han-tra... | | 0 unicode-transla... | | 2 util-linux | [] [] [] | 20 vorbis-tools | [] [] | 11 wastesedge | | 1 wdiff | [] [] | 22 wget | [] [] [] | 19 xchat | [] [] [] [] | 29 xkeyboard-config | [] [] [] [] | 11 xpad | [] [] [] | 14 +---------------------------------------------------+ 77 teams tg th tk tr uk ven vi wa xh zh_CN zh_HK zh_TW zu 170 domains 0 1 1 77 39 0 136 10 1 48 5 54 0 2028 Some counters in the preceding matrix are higher than the number of visible blocks let us expect. This is because a few extra PO files are used for implementing regional variants of languages, or language dialects. For a PO file in the matrix above to be effective, the package to which it applies should also have been internationalized and distributed as such by its maintainer. There might be an observable lag between the mere existence a PO file and its wide availability in a distribution. If October 2006 seems to be old, you may fetch a more recent copy of this `ABOUT-NLS' file on most GNU archive sites. The most up-to-date matrix with full percentage details can be found at `http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'. 1.6 Using `gettext' in new packages =================================== If you are writing a freely available program and want to internationalize it you are welcome to use GNU `gettext' in your package. Of course you have to respect the GNU Library General Public License which covers the use of the GNU `gettext' library. This means in particular that even non-free programs can use `libintl' as a shared library, whereas only free software can use `libintl' as a static library or use modified versions of `libintl'. Once the sources are changed appropriately and the setup can handle the use of `gettext' the only thing missing are the translations. The Free Translation Project is also available for packages which are not developed inside the GNU project. Therefore the information given above applies also for every other Free Software Project. Contact `translation@iro.umontreal.ca' to make the `.pot' files available to the translation teams. geda-gaf-1.8.2/symbols/0000775000175000017500000000000012220655766011663 500000000000000geda-gaf-1.8.2/symbols/bus/0000775000175000017500000000000012220655764012452 500000000000000geda-gaf-1.8.2/symbols/bus/pc104A-1.sym0000664000175000017500000002216512204104272014201 00000000000000v 20031231 1 P 0 6600 300 6600 1 0 0 { T 0 6600 9 8 1 1 0 0 1 pinnumber=A1 T 0 6600 9 8 0 0 0 0 1 pinseq=1 T 400 6550 9 10 1 1 0 0 1 pinlabel=/IOCHCHK } P 0 6400 300 6400 1 0 0 { T 0 6400 9 8 1 1 0 0 1 pinnumber=A2 T 0 6400 9 8 0 0 0 0 1 pinseq=2 T 400 6350 9 10 1 1 0 0 1 pinlabel=SD7 } P 0 6200 300 6200 1 0 0 { T 0 6200 9 8 1 1 0 0 1 pinnumber=A3 T 0 6200 9 8 0 0 0 0 1 pinseq=3 T 400 6150 9 10 1 1 0 0 1 pinlabel=SD6 } P 0 6000 300 6000 1 0 0 { T 0 6000 9 8 1 1 0 0 1 pinnumber=A4 T 0 6000 9 8 0 0 0 0 1 pinseq=4 T 400 5950 9 10 1 1 0 0 1 pinlabel=SD5 } P 0 5800 300 5800 1 0 0 { T 0 5800 9 8 1 1 0 0 1 pinnumber=A5 T 0 5800 9 8 0 0 0 0 1 pinseq=5 T 400 5750 9 10 1 1 0 0 1 pinlabel=SD4 } P 0 5600 300 5600 1 0 0 { T 0 5600 9 8 1 1 0 0 1 pinnumber=A6 T 0 5600 9 8 0 0 0 0 1 pinseq=6 T 400 5550 9 10 1 1 0 0 1 pinlabel=SD3 } P 0 5400 300 5400 1 0 0 { T 0 5400 9 8 1 1 0 0 1 pinnumber=A7 T 0 5400 9 8 0 0 0 0 1 pinseq=7 T 400 5350 9 10 1 1 0 0 1 pinlabel=SD2 } P 0 5200 300 5200 1 0 0 { T 0 5200 9 8 1 1 0 0 1 pinnumber=A8 T 0 5200 9 8 0 0 0 0 1 pinseq=8 T 400 5150 9 10 1 1 0 0 1 pinlabel=SD1 } P 0 5000 300 5000 1 0 0 { T 0 5000 9 8 1 1 0 0 1 pinnumber=A9 T 0 5000 9 8 0 0 0 0 1 pinseq=9 T 400 4950 9 10 1 1 0 0 1 pinlabel=SD0 } P 0 4800 300 4800 1 0 0 { T 0 4800 9 8 1 1 0 0 1 pinnumber=A10 T 0 4800 9 8 0 0 0 0 1 pinseq=10 T 400 4750 9 10 1 1 0 0 1 pinlabel=IOCHRDY } P 0 4600 300 4600 1 0 0 { T 0 4600 9 8 1 1 0 0 1 pinnumber=A11 T 0 4600 9 8 0 0 0 0 1 pinseq=11 T 400 4550 9 10 1 1 0 0 1 pinlabel=AEN } P 0 4400 300 4400 1 0 0 { T 0 4400 9 8 1 1 0 0 1 pinnumber=A12 T 0 4400 9 8 0 0 0 0 1 pinseq=12 T 400 4350 9 10 1 1 0 0 1 pinlabel=SA19 } P 0 4200 300 4200 1 0 0 { T 0 4200 9 8 1 1 0 0 1 pinnumber=A13 T 0 4200 9 8 0 0 0 0 1 pinseq=13 T 400 4150 9 10 1 1 0 0 1 pinlabel=SA18 } P 0 4000 300 4000 1 0 0 { T 0 4000 9 8 1 1 0 0 1 pinnumber=A14 T 0 4000 9 8 0 0 0 0 1 pinseq=14 T 400 3950 9 10 1 1 0 0 1 pinlabel=SA17 } P 0 3800 300 3800 1 0 0 { T 0 3800 9 8 1 1 0 0 1 pinnumber=A15 T 0 3800 9 8 0 0 0 0 1 pinseq=15 T 400 3750 9 10 1 1 0 0 1 pinlabel=SA16 } P 0 3600 300 3600 1 0 0 { T 0 3600 9 8 1 1 0 0 1 pinnumber=A16 T 0 3600 9 8 0 0 0 0 1 pinseq=16 T 400 3550 9 10 1 1 0 0 1 pinlabel=SA15 } P 0 3400 300 3400 1 0 0 { T 0 3400 9 8 1 1 0 0 1 pinnumber=A17 T 0 3400 9 8 0 0 0 0 1 pinseq=17 T 400 3350 9 10 1 1 0 0 1 pinlabel=SA14 } P 0 3200 300 3200 1 0 0 { T 0 3200 9 8 1 1 0 0 1 pinnumber=A18 T 0 3200 9 8 0 0 0 0 1 pinseq=18 T 400 3150 9 10 1 1 0 0 1 pinlabel=SA13 } P 0 3000 300 3000 1 0 0 { T 0 3000 9 8 1 1 0 0 1 pinnumber=A19 T 0 3000 9 8 0 0 0 0 1 pinseq=19 T 400 2950 9 10 1 1 0 0 1 pinlabel=SA12 } P 0 2800 300 2800 1 0 0 { T 0 2800 9 8 1 1 0 0 1 pinnumber=A20 T 0 2800 9 8 0 0 0 0 1 pinseq=20 T 400 2750 9 10 1 1 0 0 1 pinlabel=SA11 } P 0 2600 300 2600 1 0 0 { T 0 2600 9 8 1 1 0 0 1 pinnumber=A21 T 0 2600 9 8 0 0 0 0 1 pinseq=21 T 400 2550 9 10 1 1 0 0 1 pinlabel=SA10 } P 0 2400 300 2400 1 0 0 { T 0 2400 9 8 1 1 0 0 1 pinnumber=A22 T 0 2400 9 8 0 0 0 0 1 pinseq=22 T 400 2350 9 10 1 1 0 0 1 pinlabel=SA9 } P 0 2200 300 2200 1 0 0 { T 0 2200 9 8 1 1 0 0 1 pinnumber=A23 T 0 2200 9 8 0 0 0 0 1 pinseq=23 T 400 2150 9 10 1 1 0 0 1 pinlabel=SA8 } P 0 2000 300 2000 1 0 0 { T 0 2000 9 8 1 1 0 0 1 pinnumber=A24 T 0 2000 9 8 0 0 0 0 1 pinseq=24 T 400 1950 9 10 1 1 0 0 1 pinlabel=SA7 } P 0 1800 300 1800 1 0 0 { T 0 1800 9 8 1 1 0 0 1 pinnumber=A25 T 0 1800 9 8 0 0 0 0 1 pinseq=25 T 400 1750 9 10 1 1 0 0 1 pinlabel=SA6 } P 0 1600 300 1600 1 0 0 { T 0 1600 9 8 1 1 0 0 1 pinnumber=A26 T 0 1600 9 8 0 0 0 0 1 pinseq=26 T 400 1550 9 10 1 1 0 0 1 pinlabel=SA5 } P 0 1400 300 1400 1 0 0 { T 0 1400 9 8 1 1 0 0 1 pinnumber=A27 T 0 1400 9 8 0 0 0 0 1 pinseq=27 T 400 1350 9 10 1 1 0 0 1 pinlabel=SA4 } P 0 1200 300 1200 1 0 0 { T 0 1200 9 8 1 1 0 0 1 pinnumber=A28 T 0 1200 9 8 0 0 0 0 1 pinseq=28 T 400 1150 9 10 1 1 0 0 1 pinlabel=SA3 } P 0 1000 300 1000 1 0 0 { T 0 1000 9 8 1 1 0 0 1 pinnumber=A29 T 0 1000 9 8 0 0 0 0 1 pinseq=29 T 400 950 9 10 1 1 0 0 1 pinlabel=SA2 } P 0 800 300 800 1 0 0 { T 0 800 9 8 1 1 0 0 1 pinnumber=A30 T 0 800 9 8 0 0 0 0 1 pinseq=30 T 400 750 9 10 1 1 0 0 1 pinlabel=SA1 } P 0 600 300 600 1 0 0 { T 0 600 9 8 1 1 0 0 1 pinnumber=A31 T 0 600 9 8 0 0 0 0 1 pinseq=31 T 400 550 9 10 1 1 0 0 1 pinlabel=SA0 } P 0 400 300 400 1 0 0 { T 0 400 9 8 1 1 0 0 1 pinnumber=A32 T 0 400 9 8 0 0 0 0 1 pinseq=32 T 400 350 9 10 1 1 0 0 1 pinlabel=0V } P 2500 6600 2800 6600 1 0 1 { T 2500 6600 5 8 1 1 0 0 1 pinnumber=B1 T 2500 6600 5 8 0 0 0 0 1 pinseq=33 T 2200 6550 9 10 1 1 0 0 1 pinlabel=0V } P 2500 6400 2800 6400 1 0 1 { T 2500 6400 5 8 1 1 0 0 1 pinnumber=B2 T 2500 6400 5 8 0 0 0 0 1 pinseq=34 T 1400 6350 9 10 1 1 0 0 1 pinlabel=RESETDRV } P 2500 6200 2800 6200 1 0 1 { T 2500 6200 5 8 1 1 0 0 1 pinnumber=B3 T 2500 6200 5 8 0 0 0 0 1 pinseq=35 T 2100 6150 9 10 1 1 0 0 1 pinlabel=+5V } P 2500 6000 2800 6000 1 0 1 { T 2500 6000 5 8 1 1 0 0 1 pinnumber=B4 T 2500 6000 5 8 0 0 0 0 1 pinseq=36 T 2000 5950 9 10 1 1 0 0 1 pinlabel=IRQ9 } P 2500 5800 2800 5800 1 0 1 { T 2500 5800 5 8 1 1 0 0 1 pinnumber=B5 T 2500 5800 5 8 0 0 0 0 1 pinseq=37 T 2100 5750 9 10 1 1 0 0 1 pinlabel=-5V } P 2500 5600 2800 5600 1 0 1 { T 2500 5600 5 8 1 1 0 0 1 pinnumber=B6 T 2500 5600 5 8 0 0 0 0 1 pinseq=38 T 1900 5550 9 10 1 1 0 0 1 pinlabel=DRQ2 } P 2500 5400 2800 5400 1 0 1 { T 2500 5400 5 8 1 1 0 0 1 pinnumber=B7 T 2500 5400 5 8 0 0 0 0 1 pinseq=39 T 2000 5350 9 10 1 1 0 0 1 pinlabel=-12V } P 2500 5200 2800 5200 1 0 1 { T 2500 5200 5 8 1 1 0 0 1 pinnumber=B8 T 2500 5200 5 8 0 0 0 0 1 pinseq=40 T 1600 5150 9 10 1 1 0 0 1 pinlabel=/ENDXFR } P 2500 5000 2800 5000 1 0 1 { T 2500 5000 5 8 1 1 0 0 1 pinnumber=B9 T 2500 5000 5 8 0 0 0 0 1 pinseq=41 T 2000 4950 9 10 1 1 0 0 1 pinlabel=+12V } P 2500 4800 2800 4800 1 0 1 { T 2500 4800 5 8 1 1 0 0 1 pinnumber=B10 T 2500 4800 5 8 0 0 0 0 1 pinseq=42 T 2050 4750 9 10 1 1 0 0 1 pinlabel=KEY } P 2500 4600 2800 4600 1 0 1 { T 2500 4600 5 8 1 1 0 0 1 pinnumber=B11 T 2500 4600 5 8 0 0 0 0 1 pinseq=43 T 1600 4550 9 10 1 1 0 0 1 pinlabel=/SMEMW } P 2500 4400 2800 4400 1 0 1 { T 2500 4400 5 8 1 1 0 0 1 pinnumber=B12 T 2500 4400 5 8 0 0 0 0 1 pinseq=44 T 1650 4350 9 10 1 1 0 0 1 pinlabel=/SMEMR } P 2500 4200 2800 4200 1 0 1 { T 2500 4200 5 8 1 1 0 0 1 pinnumber=B13 T 2500 4200 5 8 0 0 0 0 1 pinseq=45 T 1950 4150 9 10 1 1 0 0 1 pinlabel=/IOW } P 2500 4000 2800 4000 1 0 1 { T 2500 4000 5 8 1 1 0 0 1 pinnumber=B14 T 2500 4000 5 8 0 0 0 0 1 pinseq=46 T 2000 3950 9 10 1 1 0 0 1 pinlabel=/IOR } P 2500 3800 2800 3800 1 0 1 { T 2500 3800 5 8 1 1 0 0 1 pinnumber=B15 T 2500 3800 5 8 0 0 0 0 1 pinseq=47 T 1650 3750 9 10 1 1 0 0 1 pinlabel=/DACK3 } P 2500 3600 2800 3600 1 0 1 { T 2500 3600 5 8 1 1 0 0 1 pinnumber=B16 T 2500 3600 5 8 0 0 0 0 1 pinseq=48 T 1900 3550 9 10 1 1 0 0 1 pinlabel=DRQ3 } P 2500 3400 2800 3400 1 0 1 { T 2500 3400 5 8 1 1 0 0 1 pinnumber=B17 T 2500 3400 5 8 0 0 0 0 1 pinseq=49 T 1700 3350 9 10 1 1 0 0 1 pinlabel=/DACK1 } P 2500 3200 2800 3200 1 0 1 { T 2500 3200 5 8 1 1 0 0 1 pinnumber=B18 T 2500 3200 5 8 0 0 0 0 1 pinseq=50 T 1950 3150 9 10 1 1 0 0 1 pinlabel=DRQ1 } P 2500 3000 2800 3000 1 0 1 { T 2500 3000 5 8 1 1 0 0 1 pinnumber=B19 T 2500 3000 5 8 0 0 0 0 1 pinseq=51 T 1450 2950 9 10 1 1 0 0 1 pinlabel=/REFRESH } P 2500 2800 2800 2800 1 0 1 { T 2500 2800 5 8 1 1 0 0 1 pinnumber=B20 T 2500 2800 5 8 0 0 0 0 1 pinseq=52 T 1700 2750 9 10 1 1 0 0 1 pinlabel=SYSCLK } P 2500 2600 2800 2600 1 0 1 { T 2500 2600 5 8 1 1 0 0 1 pinnumber=B21 T 2500 2600 5 8 0 0 0 0 1 pinseq=53 T 2000 2550 9 10 1 1 0 0 1 pinlabel=IRQ7 } P 2500 2400 2800 2400 1 0 1 { T 2500 2400 5 8 1 1 0 0 1 pinnumber=B22 T 2500 2400 5 8 0 0 0 0 1 pinseq=54 T 2000 2350 9 10 1 1 0 0 1 pinlabel=IRQ6 } P 2500 2200 2800 2200 1 0 1 { T 2500 2200 5 8 1 1 0 0 1 pinnumber=B23 T 2500 2200 5 8 0 0 0 0 1 pinseq=55 T 2000 2150 9 10 1 1 0 0 1 pinlabel=IRQ5 } P 2500 2000 2800 2000 1 0 1 { T 2500 2000 5 8 1 1 0 0 1 pinnumber=B24 T 2500 2000 5 8 0 0 0 0 1 pinseq=56 T 2000 1950 9 10 1 1 0 0 1 pinlabel=IRQ4 } P 2500 1800 2800 1800 1 0 1 { T 2500 1800 5 8 1 1 0 0 1 pinnumber=B25 T 2500 1800 5 8 0 0 0 0 1 pinseq=57 T 2000 1750 9 10 1 1 0 0 1 pinlabel=IRQ3 } P 2500 1600 2800 1600 1 0 1 { T 2500 1600 5 8 1 1 0 0 1 pinnumber=B26 T 2500 1600 5 8 0 0 0 0 1 pinseq=58 T 1700 1550 9 10 1 1 0 0 1 pinlabel=/DACK2 } P 2500 1400 2800 1400 1 0 1 { T 2500 1400 5 8 1 1 0 0 1 pinnumber=B27 T 2500 1400 5 8 0 0 0 0 1 pinseq=59 T 2200 1350 9 10 1 1 0 0 1 pinlabel=TC } P 2500 1200 2800 1200 1 0 1 { T 2500 1200 5 8 1 1 0 0 1 pinnumber=B28 T 2500 1200 5 8 0 0 0 0 1 pinseq=60 T 1950 1150 9 10 1 1 0 0 1 pinlabel=BALE } P 2500 1000 2800 1000 1 0 1 { T 2500 1000 5 8 1 1 0 0 1 pinnumber=B29 T 2500 1000 5 8 0 0 0 0 1 pinseq=61 T 2100 950 9 10 1 1 0 0 1 pinlabel=+5V } P 2500 800 2800 800 1 0 1 { T 2500 800 5 8 1 1 0 0 1 pinnumber=B30 T 2500 800 5 8 0 0 0 0 1 pinseq=62 T 2050 750 9 10 1 1 0 0 1 pinlabel=OSC } P 2500 600 2800 600 1 0 1 { T 2500 600 5 8 1 1 0 0 1 pinnumber=B31 T 2500 600 5 8 0 0 0 0 1 pinseq=63 T 2200 550 9 10 1 1 0 0 1 pinlabel=0V } P 2500 400 2800 400 1 0 1 { T 2500 400 5 8 1 1 0 0 1 pinnumber=B32 T 2500 400 5 8 0 0 0 0 1 pinseq=64 T 2200 350 9 10 1 1 0 0 1 pinlabel=0V } B 300 50 2200 6900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1100 7050 8 10 1 1 0 0 1 refdes=J? T 1100 7050 8 10 0 1 0 0 1 class=IO T 1100 7050 8 10 0 1 0 0 1 pins=64 T 1100 7050 8 10 0 1 0 0 1 device=PC104A geda-gaf-1.8.2/symbols/bus/pc104B-1.sym0000664000175000017500000001331212204104272014174 00000000000000v 20050820 1 P 0 4000 300 4000 1 0 0 { T 0 4000 5 8 1 1 0 0 1 pinnumber=C1 T 0 4000 9 8 0 0 0 0 1 pinseq=2 T 400 3950 9 10 1 1 0 0 1 pinlabel=/SBHE } P 0 3800 300 3800 1 0 0 { T 0 3800 5 8 1 1 0 0 1 pinnumber=C2 T 0 3800 9 8 0 0 0 0 1 pinseq=3 T 400 3750 9 10 1 1 0 0 1 pinlabel=LA23 } P 0 3600 300 3600 1 0 0 { T 0 3600 5 8 1 1 0 0 1 pinnumber=C3 T 0 3600 9 8 0 0 0 0 1 pinseq=4 T 400 3550 9 10 1 1 0 0 1 pinlabel=LA22 } P 0 3400 300 3400 1 0 0 { T 0 3400 5 8 1 1 0 0 1 pinnumber=C4 T 0 3400 9 8 0 0 0 0 1 pinseq=5 T 400 3350 9 10 1 1 0 0 1 pinlabel=LA21 } P 0 3200 300 3200 1 0 0 { T 0 3200 5 8 1 1 0 0 1 pinnumber=C5 T 0 3200 9 8 0 0 0 0 1 pinseq=6 T 400 3150 9 10 1 1 0 0 1 pinlabel=LA20 } P 0 3000 300 3000 1 0 0 { T 0 3000 5 8 1 1 0 0 1 pinnumber=C6 T 0 3000 9 8 0 0 0 0 1 pinseq=7 T 400 2950 9 10 1 1 0 0 1 pinlabel=LA19 } P 0 2800 300 2800 1 0 0 { T 0 2800 5 8 1 1 0 0 1 pinnumber=C7 T 0 2800 9 8 0 0 0 0 1 pinseq=8 T 400 2750 9 10 1 1 0 0 1 pinlabel=LA18 } P 0 2600 300 2600 1 0 0 { T 0 2600 5 8 1 1 0 0 1 pinnumber=C8 T 0 2600 9 8 0 0 0 0 1 pinseq=9 T 400 2550 9 10 1 1 0 0 1 pinlabel=LA17 } P 0 2400 300 2400 1 0 0 { T 0 2400 5 8 1 1 0 0 1 pinnumber=C9 T 0 2400 9 8 0 0 0 0 1 pinseq=10 T 400 2350 9 10 1 1 0 0 1 pinlabel=/MEMR } P 0 2200 300 2200 1 0 0 { T 0 2200 5 8 1 1 0 0 1 pinnumber=C10 T 0 2200 9 8 0 0 0 0 1 pinseq=11 T 400 2150 9 10 1 1 0 0 1 pinlabel=/MEMW } P 0 2000 300 2000 1 0 0 { T 0 2000 5 8 1 1 0 0 1 pinnumber=C11 T 0 2000 9 8 0 0 0 0 1 pinseq=12 T 400 1950 9 10 1 1 0 0 1 pinlabel=SD8 } P 0 1800 300 1800 1 0 0 { T 0 1800 5 8 1 1 0 0 1 pinnumber=C12 T 0 1800 9 8 0 0 0 0 1 pinseq=13 T 400 1750 9 10 1 1 0 0 1 pinlabel=SD9 } P 0 1600 300 1600 1 0 0 { T 0 1600 5 8 1 1 0 0 1 pinnumber=C13 T 0 1600 9 8 0 0 0 0 1 pinseq=14 T 400 1550 9 10 1 1 0 0 1 pinlabel=SD10 } P 0 1400 300 1400 1 0 0 { T 0 1400 5 8 1 1 0 0 1 pinnumber=C14 T 0 1400 9 8 0 0 0 0 1 pinseq=15 T 400 1350 9 10 1 1 0 0 1 pinlabel=SD11 } P 0 1200 300 1200 1 0 0 { T 0 1200 5 8 1 1 0 0 1 pinnumber=C15 T 0 1200 9 8 0 0 0 0 1 pinseq=16 T 400 1150 9 10 1 1 0 0 1 pinlabel=SD12 } P 0 1000 300 1000 1 0 0 { T 0 1000 5 8 1 1 0 0 1 pinnumber=C16 T 0 1000 9 8 0 0 0 0 1 pinseq=17 T 400 950 9 10 1 1 0 0 1 pinlabel=SD13 } P 0 800 300 800 1 0 0 { T 0 800 5 8 1 1 0 0 1 pinnumber=C17 T 0 800 9 8 0 0 0 0 1 pinseq=18 T 400 750 9 10 1 1 0 0 1 pinlabel=SD14 } P 0 600 300 600 1 0 0 { T 0 600 5 8 1 1 0 0 1 pinnumber=C18 T 0 600 9 8 0 0 0 0 1 pinseq=19 T 400 550 9 10 1 1 0 0 1 pinlabel=SD15 } P 0 400 300 400 1 0 0 { T 0 400 5 8 1 1 0 0 1 pinnumber=C19 T 0 400 9 8 0 0 0 0 1 pinseq=20 T 400 350 9 10 1 1 0 0 1 pinlabel=KEY } P 0 4200 300 4200 1 0 0 { T 0 4200 5 8 1 1 0 0 1 pinnumber=C0 T 0 4200 9 8 0 0 0 0 1 pinseq=1 T 400 4150 9 10 1 1 0 0 1 pinlabel=0V } P 2500 4000 2800 4000 1 0 1 { T 2500 4000 5 8 1 1 0 0 1 pinnumber=D1 T 2500 4000 5 8 0 0 0 0 1 pinseq=22 T 2350 4000 9 10 1 1 0 7 1 pinlabel=/MEMCS16 } P 2500 3800 2800 3800 1 0 1 { T 2500 3800 5 8 1 1 0 0 1 pinnumber=D2 T 2500 3800 5 8 0 0 0 0 1 pinseq=23 T 2350 3800 9 10 1 1 0 7 1 pinlabel=/IOCS16 } P 2500 3600 2800 3600 1 0 1 { T 2500 3600 5 8 1 1 0 0 1 pinnumber=D3 T 2500 3600 5 8 0 0 0 0 1 pinseq=24 T 2350 3600 9 10 1 1 0 7 1 pinlabel=IRQ10 } P 2500 3400 2800 3400 1 0 1 { T 2500 3400 5 8 1 1 0 0 1 pinnumber=D4 T 2500 3400 5 8 0 0 0 0 1 pinseq=25 T 2350 3400 9 10 1 1 0 7 1 pinlabel=IRQ11 } P 2500 3200 2800 3200 1 0 1 { T 2500 3200 5 8 1 1 0 0 1 pinnumber=D5 T 2500 3200 5 8 0 0 0 0 1 pinseq=26 T 2350 3200 9 10 1 1 0 7 1 pinlabel=IRQ12 } P 2500 3000 2800 3000 1 0 1 { T 2500 3000 5 8 1 1 0 0 1 pinnumber=D6 T 2500 3000 5 8 0 0 0 0 1 pinseq=27 T 2350 3000 9 10 1 1 0 7 1 pinlabel=IRQ15 } P 2500 2800 2800 2800 1 0 1 { T 2500 2800 5 8 1 1 0 0 1 pinnumber=D7 T 2500 2800 5 8 0 0 0 0 1 pinseq=28 T 2350 2800 9 10 1 1 0 7 1 pinlabel=IRQ14 } P 2500 2600 2800 2600 1 0 1 { T 2500 2600 5 8 1 1 0 0 1 pinnumber=D8 T 2500 2600 5 8 0 0 0 0 1 pinseq=29 T 2350 2600 9 10 1 1 0 7 1 pinlabel=/DACK0 } P 2500 2400 2800 2400 1 0 1 { T 2500 2400 5 8 1 1 0 0 1 pinnumber=D9 T 2500 2400 5 8 0 0 0 0 1 pinseq=30 T 2350 2400 9 10 1 1 0 7 1 pinlabel=DRQ0 } P 2500 2200 2800 2200 1 0 1 { T 2500 2200 5 8 1 1 0 0 1 pinnumber=D10 T 2500 2200 5 8 0 0 0 0 1 pinseq=31 T 2350 2200 9 10 1 1 0 7 1 pinlabel=/DACK5 } P 2500 2000 2800 2000 1 0 1 { T 2500 2000 5 8 1 1 0 0 1 pinnumber=D11 T 2500 2000 5 8 0 0 0 0 1 pinseq=32 T 2350 2000 9 10 1 1 0 7 1 pinlabel=DRQ5 } P 2500 1800 2800 1800 1 0 1 { T 2500 1800 5 8 1 1 0 0 1 pinnumber=D12 T 2500 1800 5 8 0 0 0 0 1 pinseq=33 T 2350 1800 9 10 1 1 0 7 1 pinlabel=/DACK6 } P 2500 1600 2800 1600 1 0 1 { T 2500 1600 5 8 1 1 0 0 1 pinnumber=D13 T 2500 1600 5 8 0 0 0 0 1 pinseq=34 T 2350 1600 9 10 1 1 0 7 1 pinlabel=DRQ6 } P 2500 1400 2800 1400 1 0 1 { T 2500 1400 5 8 1 1 0 0 1 pinnumber=D14 T 2500 1400 5 8 0 0 0 0 1 pinseq=35 T 2350 1400 9 10 1 1 0 7 1 pinlabel=/DACK7 } P 2500 1200 2800 1200 1 0 1 { T 2500 1200 5 8 1 1 0 0 1 pinnumber=D15 T 2500 1200 5 8 0 0 0 0 1 pinseq=36 T 2350 1200 9 10 1 1 0 7 1 pinlabel=DRQ7 } P 2500 1000 2800 1000 1 0 1 { T 2500 1000 5 8 1 1 0 0 1 pinnumber=D16 T 2500 1000 5 8 0 0 0 0 1 pinseq=37 T 2350 1000 9 10 1 1 0 7 1 pinlabel=+5V } P 2500 800 2800 800 1 0 1 { T 2500 800 5 8 1 1 0 0 1 pinnumber=D17 T 2500 800 5 8 0 0 0 0 1 pinseq=38 T 2350 800 9 10 1 1 0 7 1 pinlabel=/MASTER } P 2500 600 2800 600 1 0 1 { T 2500 600 5 8 1 1 0 0 1 pinnumber=D18 T 2500 600 5 8 0 0 0 0 1 pinseq=39 T 2350 600 9 10 1 1 0 7 1 pinlabel=0V } P 2500 400 2800 400 1 0 1 { T 2500 400 5 8 1 1 0 0 1 pinnumber=D19 T 2500 400 5 8 0 0 0 0 1 pinseq=40 T 2350 400 9 10 1 1 0 7 1 pinlabel=0V } P 2500 4200 2800 4200 1 0 1 { T 2500 4200 5 8 1 1 0 0 1 pinnumber=D0 T 2500 4200 5 8 0 0 0 0 1 pinseq=21 T 2350 4200 9 10 1 1 0 7 1 pinlabel=0V } T 1200 4550 8 10 1 1 0 0 1 refdes=J? T 1100 4450 8 10 0 1 0 0 1 device=PC104B B 300 0 2200 4500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/asicpads/0000775000175000017500000000000012220655764013450 500000000000000geda-gaf-1.8.2/symbols/asicpads/pad_in.sym0000664000175000017500000000053712204104272015342 00000000000000v 20041228 1 P 400 400 1100 400 1 0 1 { T 900 400 5 8 0 1 0 0 1 pinnumber=pin T 1000 300 5 8 0 1 0 0 1 pinseq=1 } T 500 831 5 10 1 1 0 0 1 refdes=P? T 900 100 5 8 0 0 0 0 1 device=pad B 0 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 400 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 150 5 8 1 0 0 4 1 Input B 50 50 700 700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/asicpads/pad_io.sym0000664000175000017500000000143612204104272015342 00000000000000v 20041228 1 P 800 200 1100 200 1 0 1 { T 900 200 5 8 0 1 0 0 1 pinnumber=pin_input T 1000 100 5 8 0 1 0 0 1 pinseq=2 } T 500 1231 5 10 1 1 0 0 1 refdes=P? T 1400 1300 5 8 0 0 0 0 1 device=pad B 0 0 800 1200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 400 600 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 150 5 8 1 0 0 4 1 IO B 50 50 700 1100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 800 600 1100 600 1 0 1 { T 900 600 5 8 0 1 0 0 1 pinnumber=pin_output T 1000 500 5 8 0 1 0 0 1 pinseq=3 } P 800 1000 1100 1000 1 0 1 { T 900 1000 5 8 0 1 0 0 1 pinnumber=pin_enable T 1000 900 5 8 0 1 0 0 1 pinseq=1 } T 700 1000 9 8 1 0 0 7 1 EN L 750 600 550 600 3 0 0 0 -1 -1 L 550 600 650 500 3 0 0 0 -1 -1 L 550 600 650 700 3 0 0 0 -1 -1 L 550 200 750 200 3 0 0 0 -1 -1 L 750 200 650 100 3 0 0 0 -1 -1 L 750 200 650 300 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/asicpads/pad_no_esd.sym0000664000175000017500000000054012204104272016175 00000000000000v 20041228 1 P 400 400 1100 400 1 0 1 { T 900 400 5 8 0 1 0 0 1 pinnumber=pin T 1000 300 5 8 0 1 0 0 1 pinseq=1 } T 500 831 5 10 1 1 0 0 1 refdes=P? T 900 100 5 8 0 0 0 0 1 device=pad B 0 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 400 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 150 5 8 1 0 0 4 1 No ESD B 50 50 700 700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/asicpads/pad_analog.sym0000664000175000017500000000054012204104272016167 00000000000000v 20041228 1 P 400 400 1100 400 1 0 1 { T 900 400 5 8 0 1 0 0 1 pinnumber=pin T 1000 300 5 8 0 1 0 0 1 pinseq=1 } T 500 831 5 10 1 1 0 0 1 refdes=P? T 900 100 5 8 0 0 0 0 1 device=pad B 0 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 400 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 150 5 8 1 0 0 4 1 Analog B 50 50 700 700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/asicpads/pad_vdd.sym0000664000175000017500000000053512204104272015507 00000000000000v 20041228 1 P 400 400 1100 400 1 0 1 { T 900 400 5 8 0 1 0 0 1 pinnumber=pin T 1000 300 5 8 0 1 0 0 1 pinseq=1 } T 500 831 5 10 1 1 0 0 1 refdes=P? T 900 100 5 8 0 0 0 0 1 device=pad B 0 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 400 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 150 5 8 1 0 0 4 1 VDD B 50 50 700 700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/asicpads/pad_pull_up.sym0000664000175000017500000000054112204104272016407 00000000000000v 20041228 1 P 400 400 1100 400 1 0 1 { T 900 400 5 8 0 1 0 0 1 pinnumber=pin T 1000 300 5 8 0 1 0 0 1 pinseq=1 } T 500 831 5 10 1 1 0 0 1 refdes=P? T 900 100 5 8 0 0 0 0 1 device=pad B 0 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 400 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 150 5 8 1 0 0 4 1 Pull Up B 50 50 700 700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/asicpads/pad_out.sym0000664000175000017500000000054012204104272015535 00000000000000v 20041228 1 P 400 400 1100 400 1 0 1 { T 900 400 5 8 0 1 0 0 1 pinnumber=pin T 1000 300 5 8 0 1 0 0 1 pinseq=1 } T 500 831 5 10 1 1 0 0 1 refdes=P? T 900 100 5 8 0 0 0 0 1 device=pad B 0 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 400 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 150 5 8 1 0 0 4 1 Output B 50 50 700 700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/asicpads/pad.sym0000664000175000017500000000053612204104272014653 00000000000000v 20041228 1 P 400 400 1100 400 1 0 1 { T 900 400 5 8 0 1 0 0 1 pinnumber=pin T 1000 300 5 8 0 1 0 0 1 pinseq=1 } T 500 831 5 10 1 1 0 0 1 refdes=P? T 900 100 5 8 0 0 0 0 1 device=pad B 0 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 400 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 150 5 8 1 0 0 4 1 Text B 50 50 700 700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/asicpads/pad_pull_down.sym0000664000175000017500000000054312204104272016734 00000000000000v 20041228 1 P 400 400 1100 400 1 0 1 { T 900 400 5 8 0 1 0 0 1 pinnumber=pin T 1000 300 5 8 0 1 0 0 1 pinseq=1 } T 500 831 5 10 1 1 0 0 1 refdes=P? T 900 100 5 8 0 0 0 0 1 device=pad B 0 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 400 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 150 5 8 1 0 0 4 1 Pull Down B 50 50 700 700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/asicpads/pad_gnd.sym0000664000175000017500000000053512204104272015502 00000000000000v 20041228 1 P 400 400 1100 400 1 0 1 { T 900 400 5 8 0 1 0 0 1 pinnumber=pin T 1000 300 5 8 0 1 0 0 1 pinseq=1 } T 500 831 5 10 1 1 0 0 1 refdes=P? T 900 100 5 8 0 0 0 0 1 device=pad B 0 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 400 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 150 5 8 1 0 0 4 1 GND B 50 50 700 700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/philips/0000775000175000017500000000000012220655765013332 500000000000000geda-gaf-1.8.2/symbols/philips/PCF8563-1.sym0000664000175000017500000000332712204104272015065 00000000000000v 20041228 1 B 300 300 1400 1500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1300 1900 9 10 1 0 0 0 1 PCF8563 T 400 1900 8 10 1 1 0 0 1 refdes=U? T 400 2500 8 10 0 0 0 0 1 footprint=DIP8 T 400 2700 8 10 0 0 0 0 1 description=Real-time clock/calendar T 400 2300 8 10 0 0 0 0 1 numslots=0 P 1700 1500 2000 1500 1 0 1 { T 1800 1550 5 10 1 1 0 0 1 pinnumber=6 T 1800 1350 5 10 0 1 0 0 1 pinseq=6 T 1900 1350 5 10 0 1 0 0 1 pintype=in T 1200 1500 9 10 1 1 0 1 1 pinlabel=SCL } P 1700 1200 2000 1200 1 0 1 { T 1800 1250 5 10 1 1 0 0 1 pinnumber=5 T 1800 1050 5 10 0 1 0 0 1 pinseq=5 T 1900 1050 5 10 0 1 0 0 1 pintype=io T 1200 1200 9 10 1 1 0 1 1 pinlabel=SDA } P 300 1500 0 1500 1 0 1 { T 0 1550 5 10 1 1 0 0 1 pinnumber=1 T 0 1350 5 10 0 1 0 0 1 pinseq=1 T 100 1350 5 10 0 1 0 0 1 pintype=in T 400 1500 9 10 1 1 0 1 1 pinlabel=OSCI } P 300 600 0 600 1 0 1 { T 0 650 5 10 1 1 0 0 1 pinnumber=2 T 0 450 5 10 0 1 0 0 1 pinseq=2 T 100 450 5 10 0 1 0 0 1 pintype=out T 400 600 9 10 1 1 0 1 1 pinlabel=OSCO } P 1000 300 1000 0 1 0 1 { T 1050 100 5 10 1 1 0 0 1 pinnumber=4 T 550 100 5 10 0 1 0 0 1 pinseq=4 T 650 100 5 10 0 1 0 0 1 pintype=pwr T 800 400 9 10 1 1 0 1 1 pinlabel=GND } P 1000 1800 1000 2100 1 0 1 { T 1050 1900 5 10 1 1 0 0 1 pinnumber=8 T 750 1900 5 10 0 1 0 0 1 pinseq=8 T 850 1900 5 10 0 1 0 0 1 pintype=pwr T 800 1700 9 10 1 1 0 1 1 pinlabel=Vdd } P 1700 900 2000 900 1 0 1 { T 1800 950 5 10 1 1 0 0 1 pinnumber=7 T 1800 750 5 10 0 1 0 0 1 pinseq=7 T 1900 750 5 10 0 1 0 0 1 pintype=out T 800 900 9 10 1 1 0 1 1 pinlabel=CLKOUT } P 1700 600 2000 600 1 0 1 { T 1800 650 5 10 1 1 0 0 1 pinnumber=3 T 1800 450 5 10 0 1 0 0 1 pinseq=3 T 1900 450 5 10 0 1 0 0 1 pintype=out T 1200 600 9 10 1 1 0 1 1 pinlabel=/INT } T 400 2900 8 10 0 0 0 0 1 device=PCF8563 geda-gaf-1.8.2/symbols/philips/PCA82C250-1.sym0000664000175000017500000000324312204104272015233 00000000000000v 20031231 1 B 300 300 1400 1600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1200 100 9 10 1 1 0 0 1 device=PCA82C250 T 400 2000 8 10 1 1 0 0 1 refdes=U? T 400 2400 5 10 0 0 0 0 1 footprint=DIP8 T 400 2600 5 10 0 0 0 0 1 description=CAN Controller Interface T 400 2200 5 10 0 0 0 0 1 numslots=0 P 1700 1400 2000 1400 1 0 1 { T 1800 1450 5 10 1 1 0 0 1 pinnumber=7 T 2100 1350 5 10 0 0 0 0 1 pinseq=7 T 2100 1250 5 10 0 0 0 0 1 pintype=io T 1100 1400 9 10 1 1 0 1 1 pinlabel=CANH } P 1700 800 2000 800 1 0 1 { T 1800 850 5 10 1 1 0 0 1 pinnumber=6 T 2100 750 5 10 0 0 0 0 1 pinseq=6 T 2100 650 5 10 0 0 0 0 1 pintype=io T 1100 800 9 10 1 1 0 1 1 pinlabel=CANL } P 300 1600 0 1600 1 0 1 { T 0 1650 5 10 1 1 0 0 1 pinnumber=1 T 100 1750 5 10 0 0 0 0 1 pinseq=1 T 100 1650 5 10 0 0 0 0 1 pintype=in T 400 1600 9 10 1 1 0 1 1 pinlabel=TXD } P 300 1300 0 1300 1 0 1 { T 0 1350 5 10 1 1 0 0 1 pinnumber=4 T 100 1450 5 10 0 0 0 0 1 pinseq=4 T 100 1350 5 10 0 0 0 0 1 pintype=out T 400 1300 9 10 1 1 0 1 1 pinlabel=RXD } P 300 700 0 700 1 0 1 { T 0 750 5 10 1 1 0 0 1 pinnumber=5 T 100 850 5 10 0 0 0 0 1 pinseq=5 T 100 750 5 10 0 0 0 0 1 pintype=out T 400 700 9 10 1 1 0 1 1 pinlabel=Vref } P 600 300 600 0 1 0 1 { T 650 100 5 10 1 1 0 0 1 pinnumber=2 T 50 400 5 10 0 0 0 0 1 pinseq=2 T 50 300 5 10 0 0 0 0 1 pintype=pwr T 400 400 9 10 1 1 0 1 1 pinlabel=GND } P 900 300 900 0 1 0 1 { T 950 100 5 10 1 1 0 0 1 pinnumber=8 T 1150 400 5 10 0 0 0 0 1 pinseq=8 T 1150 300 5 10 0 0 0 0 1 pintype=in T 900 400 9 10 1 1 0 1 1 pinlabel=Rs } P 1000 1900 1000 2200 1 0 1 { T 1050 2000 5 10 1 1 0 0 1 pinnumber=3 T 1250 2100 5 10 0 0 0 0 1 pinseq=3 T 1250 2000 5 10 0 0 0 0 1 pintype=pwr T 800 1800 9 10 1 1 0 1 1 pinlabel=Vcc } geda-gaf-1.8.2/symbols/analog/0000775000175000017500000000000012220655764013122 500000000000000geda-gaf-1.8.2/symbols/analog/inductor-dot-1.sym0000664000175000017500000000151512204104272016330 00000000000000v 20050820 1 P 900 0 750 0 1 0 0 { T 800 50 5 8 0 1 0 0 1 pinnumber=2 T 800 -50 5 8 0 1 0 2 1 pinseq=2 T 700 0 9 8 0 1 0 6 1 pinlabel=2 T 700 0 5 8 0 1 0 8 1 pintype=pas } P 0 0 150 0 1 0 0 { T 100 50 5 8 0 1 0 6 1 pinnumber=1 T 100 -50 5 8 0 1 0 8 1 pinseq=1 T 200 0 9 8 0 1 0 0 1 pinlabel=1 T 200 0 5 8 0 1 0 2 1 pintype=pas } A 237 0 75 0 180 3 0 0 0 -1 -1 A 379 0 75 0 180 3 0 0 0 -1 -1 A 521 0 75 0 180 3 0 0 0 -1 -1 A 663 0 75 0 180 3 0 0 0 -1 -1 T 200 400 5 10 0 0 0 0 1 device=INDUCTOR L 738 0 750 0 3 0 0 0 -1 -1 L 150 0 162 0 3 0 0 0 -1 -1 A 308 0 4 180 180 3 0 0 0 -1 -1 A 450 0 4 180 180 3 0 0 0 -1 -1 A 592 0 4 180 180 3 0 0 0 -1 -1 T 200 200 8 10 1 1 0 0 1 refdes=L? V 153 71 13 3 0 0 0 -1 -1 1 -1 -1 1 -1 1 T 200 1000 5 10 0 0 0 0 1 description=inductor T 200 800 5 10 0 0 0 0 1 numslots=0 T 200 600 5 10 0 0 0 0 1 symversion=0.1 geda-gaf-1.8.2/symbols/analog/npn-IGBT-1.sym0000664000175000017500000000144312204104272015233 00000000000000v 20080706 2 L 300 800 300 200 3 0 0 0 -1 -1 T 100 1100 8 10 0 0 0 0 1 device=NPN_TRANSISTOR_IGBT L 600 800 300 500 3 0 0 0 -1 -1 L 300 500 600 200 3 0 0 0 -1 -1 P 0 500 200 500 1 0 0 { T 100 550 5 6 1 1 0 0 1 pinnumber=G T 100 550 5 6 0 0 0 0 1 pinseq=2 T 100 550 5 6 0 1 0 0 1 pinlabel=G T 100 550 5 6 0 1 0 0 1 pintype=pas } P 600 1000 600 800 1 0 0 { T 500 850 5 6 1 1 0 0 1 pinnumber=C T 500 850 5 6 0 0 0 0 1 pinseq=1 T 500 850 5 6 0 1 0 0 1 pinlabel=C T 500 850 5 6 0 1 0 0 1 pintype=pas } P 600 200 600 0 1 0 1 { T 500 50 5 6 1 1 0 0 1 pinnumber=E T 500 50 5 6 0 0 0 0 1 pinseq=3 T 500 50 5 6 0 1 0 0 1 pinlabel=E T 500 50 5 6 0 1 0 0 1 pintype=pas } T 700 500 8 10 1 1 0 0 1 refdes=Q? L 200 800 200 200 3 0 0 0 -1 -1 H 3 0 0 0 -1 -1 2 -1 -1 -1 -1 -1 5 M 510,240 L 601,200 L 555,295 L 535,265 z geda-gaf-1.8.2/symbols/analog/photo-transistor-1.sym0000664000175000017500000000201112204104272017244 00000000000000v 20031231 1 T -200 500 5 6 0 1 0 0 1 device=PS2501-1 P 200 400 200 300 1 0 0 { T 200 200 3 6 0 1 0 0 1 pinnumber=1 T 200 200 3 6 0 0 0 0 1 pinseq=1 T -163 400 3 6 0 1 0 0 1 pinlabel=COLLECTOR T 200 200 3 6 0 1 0 0 1 pintype=pas } P 200 100 200 0 1 0 1 { T 210 -50 3 6 0 1 0 0 1 pinnumber=2 T 210 -50 3 6 0 0 0 0 1 pinseq=2 T 210 -50 3 6 0 1 0 0 1 pinlabel=EMITTER T 210 -50 3 6 0 1 0 0 1 pintype=pas } L 60 200 20 210 3 0 0 0 -1 -1 L 20 210 50 240 3 0 0 0 -1 -1 L 50 240 60 200 3 0 0 0 -1 -1 L 60 130 20 140 3 0 0 0 -1 -1 L 20 140 50 170 3 0 0 0 -1 -1 L 50 170 60 130 3 0 0 0 -1 -1 L 100 300 100 100 3 0 0 0 -1 -1 L 200 100 100 170 3 0 0 0 -1 -1 L 100 230 200 300 3 0 0 0 -1 -1 L 40 220 0 260 3 0 0 0 -1 -1 L 0 260 0 230 3 0 0 0 -1 -1 L 0 230 -40 270 3 0 0 0 -1 -1 L 40 150 0 190 3 0 0 0 -1 -1 L 0 190 0 160 3 0 0 0 -1 -1 L 0 160 -40 200 3 0 0 0 -1 -1 L 200 100 170 140 3 0 0 0 -1 -1 L 170 140 150 110 3 0 0 0 -1 -1 L 150 110 200 100 3 0 0 0 -1 -1 T 260 100 8 10 1 1 0 0 1 refdes=Q? T -40 0 8 10 0 1 0 0 1 device=photo-transistor geda-gaf-1.8.2/symbols/analog/pot-1.sym0000664000175000017500000000205112204104272014513 00000000000000v 20031231 1 P 500 450 500 600 1 0 1 { T 400 500 5 8 1 1 0 0 1 pinnumber=2 T 400 500 5 8 0 0 0 0 1 pinseq=2 T 500 450 5 10 0 1 0 0 1 pintype=io T 500 450 5 10 0 1 0 0 1 pinlabel=wiper } L 500 200 448 301 3 0 0 0 -1 -1 L 501 201 553 302 3 0 0 0 -1 -1 L 600 200 500 0 3 0 0 0 -1 -1 L 500 0 400 200 3 0 0 0 -1 -1 L 400 200 300 0 3 0 0 0 -1 -1 L 300 0 200 200 3 0 0 0 -1 -1 T 800 900 5 10 0 0 0 0 1 device=VARIABLE_RESISTOR L 600 200 700 0 3 0 0 0 -1 -1 L 700 0 750 100 3 0 0 0 -1 -1 P 900 100 750 100 1 0 0 { T 800 -50 5 8 1 1 0 0 1 pinnumber=3 T 800 150 5 8 0 0 0 0 1 pinseq=3 T 900 100 5 10 0 1 0 0 1 pintype=io T 700 200 5 10 1 1 0 0 1 pinlabel=cw } P 0 100 152 100 1 0 0 { T 100 -50 5 8 1 1 0 0 1 pinnumber=1 T 100 150 5 8 0 0 0 0 1 pinseq=1 T 0 100 5 10 0 1 0 0 1 pintype=io T 0 200 5 10 1 1 0 0 1 pinlabel=ccw } L 201 200 150 100 3 0 0 0 -1 -1 L 500 200 500 450 3 0 0 0 -1 -1 T 600 400 8 10 1 1 0 0 1 refdes=R? T 800 1300 5 10 0 0 0 0 1 pins=3 T 800 1100 5 10 0 1 0 0 1 class=DISCRETE T 800 1500 8 10 0 0 0 0 1 footprint=none T 800 700 5 10 0 0 0 0 1 numslots=0 geda-gaf-1.8.2/symbols/analog/current-1.sym0000664000175000017500000000117712204104272015403 00000000000000v 20031231 1 P 0 200 200 200 1 0 0 { T 100 250 5 8 0 1 0 0 1 pinnumber=1 T 100 250 5 8 0 0 0 0 1 pinseq=1 T 100 250 5 8 0 1 0 0 1 pinlabel=1 T 100 250 5 8 0 1 0 0 1 pintype=pwr } P 900 200 700 200 1 0 0 { T 700 250 5 8 0 1 0 0 1 pinnumber=2 T 700 250 5 8 0 0 0 0 1 pinseq=2 T 700 250 5 8 0 1 0 0 1 pinlabel=2 T 700 250 5 8 0 1 0 0 1 pintype=pwr } V 450 200 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 600 1000 5 10 0 0 0 0 1 device=CURRENT_SOURCE L 200 200 250 200 3 0 0 0 -1 -1 L 650 200 700 200 3 0 0 0 -1 -1 L 350 200 550 200 3 0 0 0 -1 -1 L 550 200 500 250 3 0 0 0 -1 -1 L 550 200 500 150 3 0 0 0 -1 -1 T 300 500 8 10 1 1 0 0 1 refdes=I? geda-gaf-1.8.2/symbols/analog/photodiode-1.sym0000664000175000017500000000203612204104272016052 00000000000000v 20031231 1 P 500 0 500 200 1 0 0 { T 450 200 5 8 0 1 90 0 1 pinnumber=1 T 450 200 5 8 0 0 90 0 1 pinseq=1 T 450 200 5 8 0 1 90 0 1 pinlabel=1 T 450 200 5 8 0 1 90 0 1 pintype=pas } P 500 900 500 700 1 0 0 { T 450 700 5 8 0 1 90 0 1 pinnumber=2 T 450 700 5 8 0 0 90 0 1 pinseq=2 T 450 700 5 8 0 1 90 0 1 pinlabel=2 T 450 700 5 8 0 1 90 0 1 pintype=pas } L 400 400 500 500 3 0 0 0 -1 -1 L 500 500 600 400 3 0 0 0 -1 -1 L 400 400 600 400 3 0 0 0 -1 -1 L 400 500 600 500 3 0 0 0 -1 -1 L 500 500 500 700 3 0 0 0 -1 -1 L 500 400 500 200 3 0 0 0 -1 -1 V 500 450 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 500 1100 5 10 0 0 0 0 1 device=photodiode L 219 702 154 655 3 0 0 0 -1 -1 L 82 826 95 742 3 0 0 0 -1 -1 L 229 622 82 826 3 0 0 0 -1 -1 T 900 800 8 10 1 1 180 0 1 refdes=PD? L 230 621 219 702 3 0 0 0 -1 -1 L 154 655 230 621 3 0 0 0 -1 -1 L 95 742 -37 898 3 0 0 0 -1 -1 L 215 541 150 494 3 0 0 0 -1 -1 L 78 665 91 581 3 0 0 0 -1 -1 L 225 461 78 665 3 0 0 0 -1 -1 L 226 460 215 541 3 0 0 0 -1 -1 L 150 494 226 460 3 0 0 0 -1 -1 L 91 581 -41 737 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/analog/speaker-2.sym0000664000175000017500000000152212204104272015346 00000000000000v 20031231 1 B 500 1000 1000 500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1900 2900 5 10 0 0 0 0 1 device=SPEAKER L 1500 1500 2000 2500 3 0 0 0 -1 -1 L 1500 1000 2000 0 3 0 0 0 -1 -1 L 2000 2500 2000 0 3 0 0 0 -1 -1 A 1000 1600 100 270 180 3 0 0 0 -1 -1 A 1000 1400 100 270 180 3 0 0 0 -1 -1 A 1000 1200 100 270 180 3 0 0 0 -1 -1 A 1000 1000 100 270 180 3 0 0 0 -1 -1 A 1000 1800 100 270 180 3 0 0 0 -1 -1 A 1000 800 100 270 180 3 0 0 0 -1 -1 T 600 400 9 10 1 0 0 0 1 SPEAKER P 1000 1900 0 1900 1 0 1 { T 50 1950 5 10 0 1 0 0 1 pinnumber=1 T 50 1950 5 10 0 0 0 0 1 pinseq=1 T 50 1950 5 10 0 1 0 0 1 pinlabel=1 T 50 1950 5 10 0 1 0 0 1 pintype=pas } P 1000 700 0 700 1 0 1 { T 50 750 5 10 0 1 0 0 1 pinnumber=2 T 50 750 5 10 0 0 0 0 1 pinseq=2 T 50 750 5 10 0 1 0 0 1 pinlabel=2 T 50 750 5 10 0 1 0 0 1 pintype=pas } T 600 2000 8 10 1 1 0 0 1 refdes=SPK? geda-gaf-1.8.2/symbols/analog/battery-1.sym0000664000175000017500000000123712204104272015370 00000000000000v 20050820 1 P 0 200 200 200 1 0 0 { T 150 250 5 8 1 1 0 6 1 pinnumber=1 T 200 150 5 8 0 1 0 8 1 pinseq=1 T 200 200 9 8 0 1 0 0 1 pinlabel=+ T 350 200 5 8 0 1 0 2 1 pintype=pwr } P 700 200 500 200 1 0 0 { T 550 250 5 8 1 1 0 0 1 pinnumber=2 T 550 150 5 8 0 1 0 2 1 pinseq=2 T 500 200 9 8 0 1 0 6 1 pinlabel=- T 350 200 5 8 0 1 0 8 1 pintype=pwr } L 300 400 300 0 3 0 0 0 -1 -1 L 400 300 400 100 3 0 0 0 -1 -1 T 300 900 5 10 0 0 0 0 1 device=BATTERY L 500 200 400 200 3 0 0 0 -1 -1 L 200 200 300 200 3 0 0 0 -1 -1 T 300 500 8 10 1 1 0 0 1 refdes=B? T 300 1100 5 10 0 0 0 0 1 description=Battery T 300 700 5 10 0 0 0 0 1 numslots=0 T 300 1300 5 10 0 0 0 0 1 symversion=0.1 geda-gaf-1.8.2/symbols/analog/darlington_NPN-1.sym0000664000175000017500000000253512204104272016574 00000000000000v 20041228 1 L 500 1100 500 700 3 0 0 0 -1 -1 L 500 1000 700 1100 3 0 0 0 -1 -1 L 500 800 700 700 3 0 0 0 -1 -1 L 500 900 300 900 3 0 0 0 -1 -1 L 590 780 640 730 3 0 0 0 -1 -1 L 640 730 570 740 3 0 0 0 -1 -1 L 800 900 800 500 3 0 0 0 -1 -1 L 800 800 1000 900 3 0 0 0 -1 -1 L 800 600 1000 500 3 0 0 0 -1 -1 L 890 580 940 530 3 0 0 0 -1 -1 L 940 530 870 540 3 0 0 0 -1 -1 L 1000 900 1000 1200 3 0 0 0 -1 -1 L 1000 1200 700 1200 3 0 0 0 -1 -1 L 700 1100 700 1200 3 0 0 0 -1 -1 L 1000 500 1000 300 3 0 0 0 -1 -1 P 0 900 300 900 1 0 0 { T 100 900 5 10 0 1 0 0 1 pinseq=1 T 100 1100 5 8 0 1 0 0 1 pinnumber=B T 100 700 3 10 0 1 0 0 1 pinlabel=B T 100 600 5 10 0 1 0 0 1 pintype=pas } L 700 700 800 700 3 0 0 0 -1 -1 L 1000 1200 1000 1400 3 0 0 0 -1 -1 V 800 900 500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1400 1100 5 10 0 0 0 0 1 device=darlington, NPN T 1400 900 5 10 0 0 0 0 1 description=darlington, NPN P 1000 1700 1000 1400 1 0 0 { T 1000 1600 5 10 0 1 270 0 1 pinseq=2 T 1100 1400 5 8 0 1 0 0 1 pinnumber=C T 1100 1500 3 10 0 1 0 0 1 pinlabel=C T 700 1600 5 10 0 1 270 0 1 pintype=pas } P 1000 0 1000 300 1 0 0 { T 1000 100 5 10 0 1 90 0 1 pinseq=3 T 1100 200 5 8 0 1 0 0 1 pinnumber=E T 1200 300 3 10 0 1 180 0 1 pinlabel=E T 1300 100 5 10 0 1 90 0 1 pintype=pas } T 1400 700 5 10 0 0 0 0 1 footprint=TO92 T 500 170 5 10 1 1 0 0 1 refdes=T? T 1400 500 5 10 0 0 0 0 1 numslots=0 geda-gaf-1.8.2/symbols/analog/fuse-1.sym0000664000175000017500000000111212204104272014650 00000000000000v 20050820 1 P 0 0 200 0 1 0 0 { T 150 50 5 8 0 1 0 6 1 pinnumber=1 T 150 -50 5 8 0 1 0 8 1 pinseq=1 T 250 0 9 8 0 1 0 0 1 pinlabel=1 T 250 0 5 8 0 1 0 2 1 pintype=pas } P 700 0 900 0 1 0 1 { T 750 50 5 8 0 1 0 0 1 pinnumber=2 T 750 -50 5 8 0 1 0 2 1 pinseq=2 T 650 0 9 8 0 1 0 6 1 pinlabel=2 T 650 0 5 8 0 1 0 8 1 pintype=pas } A 325 0 125 180 180 3 0 0 0 -1 -1 A 575 0 125 0 180 3 0 0 0 -1 -1 T 200 400 5 10 0 0 0 0 1 device=FUSE T 200 200 8 10 1 1 0 0 1 refdes=F? T 200 1000 5 10 0 0 0 0 1 description=fuse T 200 800 5 10 0 0 0 0 1 numslots=0 T 200 600 5 10 0 0 0 0 1 symversion=0.1 geda-gaf-1.8.2/symbols/analog/photo-resistor-1.sym0000664000175000017500000000127512204104272016721 00000000000000v 20031231 1 L 600 400 500 200 3 0 0 0 -1 -1 L 500 200 400 400 3 0 0 0 -1 -1 L 400 400 300 200 3 0 0 0 -1 -1 L 300 200 200 400 3 0 0 0 -1 -1 L 600 400 700 200 3 0 0 0 -1 -1 L 700 200 750 300 3 0 0 0 -1 -1 P 900 300 750 300 1 0 0 { T 800 350 5 8 0 1 0 0 1 pinnumber=2 T 800 350 5 8 0 0 0 0 1 pinseq=2 T 800 350 5 8 0 1 0 0 1 pinlabel=2 T 800 350 5 8 0 1 0 0 1 pintype=pas } P 0 300 152 300 1 0 0 { T 100 350 5 8 0 1 0 0 1 pinnumber=1 T 100 350 5 8 0 0 0 0 1 pinseq=1 T 100 350 5 8 0 1 0 0 1 pinlabel=1 T 100 350 5 8 0 1 0 0 1 pintype=pas } L 201 400 150 300 3 0 0 0 -1 -1 V 450 300 300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 700 700 5 10 0 0 0 0 1 device=PHOTORESISTOR T 200 700 8 10 1 1 0 0 1 refdes=R? geda-gaf-1.8.2/symbols/analog/capacitor-variable-2.sym0000664000175000017500000000142012204104272017441 00000000000000v 20050820 1 L 200 400 700 0 3 0 0 0 -1 -1 T 200 700 5 10 0 0 0 0 1 device=VARIABLE_CAPACITOR L 700 0 600 0 3 0 0 0 -1 -1 L 700 0 700 100 3 0 0 0 -1 -1 P 0 200 200 200 1 0 0 { T 150 250 5 8 0 1 0 6 1 pinnumber=1 T 150 150 5 8 0 1 0 8 1 pinseq=1 T 200 200 9 8 0 1 0 0 1 pinlabel=1 T 200 200 5 8 0 1 0 2 1 pintype=pas } P 900 200 700 200 1 0 0 { T 750 250 5 8 0 1 0 0 1 pinnumber=2 T 750 150 5 8 0 1 0 2 1 pinseq=2 T 700 200 9 8 0 1 0 6 1 pinlabel=2 T 700 200 5 8 0 1 0 8 1 pintype=pas } L 500 400 500 0 3 0 0 0 -1 -1 L 700 200 500 200 3 0 0 0 -1 -1 L 400 200 200 200 3 0 0 0 -1 -1 A 100 200 300 315 90 3 0 0 0 -1 -1 T 200 500 8 10 1 1 0 0 1 refdes=C? T 200 1300 5 10 0 0 0 0 1 description=variable capacitor T 200 1100 5 10 0 0 0 0 1 numslots=0 T 200 900 5 10 0 0 0 0 1 symversion=0.1 geda-gaf-1.8.2/symbols/analog/nmos-1.sym0000664000175000017500000000213512204104272014670 00000000000000v 20050820 1 L 300 600 300 200 3 0 0 0 -1 -1 T 700 800 5 10 0 0 0 0 1 device=NMOS_TRANSISTOR L 200 600 200 200 3 0 0 0 -1 -1 L 300 600 500 600 3 0 0 0 -1 -1 L 300 200 500 200 3 0 0 0 -1 -1 L 300 400 500 400 3 0 0 0 -1 -1 L 300 400 400 500 3 0 0 0 -1 -1 L 300 400 400 300 3 0 0 0 -1 -1 P 0 400 200 400 1 0 0 { T 150 450 5 8 0 1 0 6 1 pinnumber=G T 150 350 5 8 0 1 0 8 1 pinseq=2 T 200 400 9 8 0 1 0 0 1 pinlabel=G T 200 400 5 8 0 1 0 2 1 pintype=in } P 500 600 500 800 1 0 1 { T 550 650 5 8 0 1 0 0 1 pinnumber=D T 550 650 5 8 0 1 0 2 1 pinseq=1 T 500 600 9 8 0 1 0 5 1 pinlabel=D T 500 400 5 8 0 1 0 5 1 pintype=pas } P 500 400 700 400 1 0 1 { T 550 450 5 8 0 1 0 0 1 pinnumber=B T 550 350 5 8 0 1 0 2 1 pinseq=4 T 500 400 9 8 0 1 0 6 1 pinlabel=B T 500 400 5 8 0 1 0 8 1 pintype=pas } P 500 200 500 0 1 0 1 { T 550 50 5 8 0 1 0 0 1 pinnumber=S T 550 50 5 8 0 1 0 2 1 pinseq=3 T 500 200 9 8 0 1 0 3 1 pinlabel=S T 500 500 5 8 0 1 0 3 1 pintype=pas } T 700 600 8 10 1 1 0 0 1 refdes=Q? T 700 1400 5 10 0 0 0 0 1 description=NMOS transistor T 700 1200 5 10 0 0 0 0 1 numslots=0 T 700 1000 5 10 0 0 0 0 1 symversion=0.1 geda-gaf-1.8.2/symbols/analog/resistorpack4-1.sym0000664000175000017500000000304712204104272016514 00000000000000v 20031231 1 L 0 700 200 600 3 0 0 0 -1 -1 L 200 600 0 500 3 0 0 0 -1 -1 L 0 500 200 400 3 0 0 0 -1 -1 L 200 400 0 300 3 0 0 0 -1 -1 L 0 700 200 800 3 0 0 0 -1 -1 L 200 800 100 850 3 0 0 0 -1 -1 P 100 0 100 252 1 0 0 { T -25 100 5 8 1 1 0 0 1 pinnumber=2 T -25 100 5 8 0 0 0 0 1 pinseq=2 T -25 100 5 8 0 1 0 0 1 pinlabel=2 T -25 100 5 8 0 1 0 0 1 pintype=pas } L 0 301 100 250 3 0 0 0 -1 -1 L 300 700 500 600 3 0 0 0 -1 -1 L 500 600 300 500 3 0 0 0 -1 -1 L 300 500 500 400 3 0 0 0 -1 -1 L 500 400 300 300 3 0 0 0 -1 -1 L 300 700 500 800 3 0 0 0 -1 -1 L 500 800 400 850 3 0 0 0 -1 -1 P 400 0 400 252 1 0 0 { T 275 100 5 8 1 1 0 0 1 pinnumber=3 T 275 100 5 8 0 0 0 0 1 pinseq=3 T 275 100 5 8 0 1 0 0 1 pinlabel=3 T 275 100 5 8 0 1 0 0 1 pintype=pas } L 300 301 400 250 3 0 0 0 -1 -1 L 600 700 800 600 3 0 0 0 -1 -1 L 800 600 600 500 3 0 0 0 -1 -1 L 600 500 800 400 3 0 0 0 -1 -1 L 800 400 600 300 3 0 0 0 -1 -1 L 600 700 800 800 3 0 0 0 -1 -1 L 800 800 700 850 3 0 0 0 -1 -1 P 700 0 700 252 1 0 0 { T 575 100 5 8 1 1 0 0 1 pinnumber=4 T 575 100 5 8 0 0 0 0 1 pinseq=4 T 575 100 5 8 0 1 0 0 1 pinlabel=4 T 575 100 5 8 0 1 0 0 1 pintype=pas } L 600 301 700 250 3 0 0 0 -1 -1 P 900 1100 1200 1100 1 0 1 { T 1000 1150 5 8 1 1 0 0 1 pinnumber=1 T 1000 1150 5 8 0 0 0 0 1 pinseq=1 T 1000 1150 5 8 0 1 0 0 1 pinlabel=1 T 1000 1150 5 8 0 1 0 0 1 pintype=pas } L 100 850 100 1100 3 0 0 0 -1 -1 L 400 850 400 1100 3 0 0 0 -1 -1 L 700 850 700 1100 3 0 0 0 -1 -1 L 100 1100 900 1100 3 0 0 0 -1 -1 T 100 1400 5 10 0 0 0 0 1 device=RESISTORPACK_4 T 100 1200 8 10 1 1 0 0 1 refdes=R? geda-gaf-1.8.2/symbols/analog/HA5221-1.sym0000664000175000017500000000262012204104272014515 00000000000000v 20050820 1 T 175 2100 5 10 0 0 0 0 1 device=HA5221 T 200 1100 8 10 1 1 0 0 1 refdes=U? P 200 600 0 600 1 0 1 { T 150 650 5 8 1 1 0 6 1 pinnumber=3 T 150 550 5 8 0 1 0 8 1 pinseq=3 T 250 600 9 8 0 1 0 0 1 pinlabel=IN+ T 250 600 5 8 0 1 0 2 1 pintype=in } P 200 200 0 200 1 0 1 { T 150 250 5 8 1 1 0 6 1 pinnumber=2 T 150 150 5 8 0 1 0 8 1 pinseq=2 T 250 200 9 8 0 1 0 0 1 pinlabel=IN- T 250 200 5 8 0 1 0 2 1 pintype=in } P 800 400 1000 400 1 0 1 { T 850 450 5 8 1 1 0 0 1 pinnumber=6 T 850 350 5 8 0 1 0 2 1 pinseq=1 T 750 400 9 8 0 1 0 6 1 pinlabel=OUT T 750 400 5 8 0 1 0 8 1 pintype=out } P 500 200 500 0 1 0 1 { T 550 100 5 8 1 1 0 0 1 pinnumber=5 T 550 100 5 8 0 1 0 2 1 pinseq=5 T 500 200 9 8 1 1 0 3 1 pinlabel=V- T 500 300 5 8 0 1 0 3 1 pintype=pwr } P 500 600 500 800 1 0 1 { T 550 600 5 8 1 1 0 0 1 pinnumber=7 T 550 600 5 8 0 1 0 2 1 pinseq=4 T 500 600 9 8 1 1 0 5 1 pinlabel=V+ T 500 550 5 8 0 1 0 5 1 pintype=pwr } L 250 600 350 600 3 0 0 0 -1 -1 L 300 650 300 550 3 0 0 0 -1 -1 L 200 0 200 800 3 0 0 0 -1 -1 L 200 800 800 400 3 0 0 0 -1 -1 L 800 400 200 0 3 0 0 0 -1 -1 L 250 200 350 200 3 0 0 0 -1 -1 T 200 1700 5 10 0 0 0 0 1 footprint=DIP8 T 200 1900 5 10 0 0 0 0 1 description=100MHz, low noise, precision opamp T 200 1500 5 10 0 0 0 0 1 numslots=0 T 200 1300 5 10 0 0 0 0 1 symversion=1.0 T 200 2300 5 10 0 0 0 0 1 documentation=http://www.intersil.com/data/fn/fn2915.pdf T 200 900 9 8 1 0 0 0 1 HA5221 geda-gaf-1.8.2/symbols/analog/inductor-1.sym0000664000175000017500000000151212204104272015541 00000000000000v 20050820 1 P 900 100 750 100 1 0 0 { T 800 150 5 8 0 1 0 0 1 pinnumber=2 T 800 50 5 8 0 1 0 2 1 pinseq=2 T 700 100 9 8 0 1 0 6 1 pinlabel=2 T 700 100 5 8 0 1 0 8 1 pintype=pas } P 0 100 150 100 1 0 0 { T 100 150 5 8 0 1 0 6 1 pinnumber=1 T 100 50 5 8 0 1 0 8 1 pinseq=1 T 200 100 9 8 0 1 0 0 1 pinlabel=1 T 200 100 5 8 0 1 0 2 1 pintype=pas } A 237 100 75 0 180 3 0 0 0 -1 -1 A 379 100 75 0 180 3 0 0 0 -1 -1 A 521 100 75 0 180 3 0 0 0 -1 -1 A 663 100 75 0 180 3 0 0 0 -1 -1 T 200 500 5 10 0 0 0 0 1 device=INDUCTOR L 738 100 750 100 3 0 0 0 -1 -1 L 150 100 162 100 3 0 0 0 -1 -1 A 308 100 4 180 180 3 0 0 0 -1 -1 A 450 100 4 180 180 3 0 0 0 -1 -1 A 592 100 4 180 180 3 0 0 0 -1 -1 T 200 300 8 10 1 1 0 0 1 refdes=L? T 200 1100 5 10 0 0 0 0 1 description=inductor T 200 900 5 10 0 0 0 0 1 numslots=0 T 200 700 5 10 0 0 0 0 1 symversion=0.1 geda-gaf-1.8.2/symbols/analog/transformer-2.sym0000664000175000017500000000262112204104272016257 00000000000000v 20031231 1 T 0 1400 8 10 1 1 0 0 1 refdes=T? A 500 1200 98 270 180 3 0 0 0 -1 -1 A 500 1000 98 270 180 3 0 0 0 -1 -1 A 500 800 98 270 180 3 0 0 0 -1 -1 A 500 600 100 270 180 3 0 0 0 -1 -1 A 1000 1200 98 90 180 3 0 0 0 -1 -1 A 500 400 98 270 180 3 0 0 0 -1 -1 A 500 200 98 270 180 3 0 0 0 -1 -1 A 1000 1000 98 90 180 3 0 0 0 -1 -1 A 1000 800 98 90 180 3 0 0 0 -1 -1 A 1000 600 98 90 180 3 0 0 0 -1 -1 A 1000 400 98 90 180 3 0 0 0 -1 -1 A 1000 200 98 90 180 3 0 0 0 -1 -1 L 500 1300 200 1300 3 0 0 0 -1 -1 L 500 100 200 100 3 0 0 0 -1 -1 L 1000 1300 1300 1300 3 0 0 0 -1 -1 L 1000 100 1300 100 3 0 0 0 -1 -1 L 700 1400 700 0 3 0 0 0 -1 -1 L 800 1400 800 0 3 0 0 0 -1 -1 P 200 1300 0 1300 1 0 1 { T 200 1100 5 10 1 1 0 0 1 pinnumber=1 T 300 1400 5 10 0 0 0 0 1 pinseq=1 T 200 1100 5 10 0 1 0 0 1 pinlabel=1 T 200 1100 5 10 0 1 0 0 1 pintype=pas } P 200 100 0 100 1 0 1 { T 200 200 5 10 1 1 0 0 1 pinnumber=2 T 200 0 5 10 0 0 0 0 1 pinseq=2 T 200 200 5 10 0 1 0 0 1 pinlabel=2 T 200 200 5 10 0 1 0 0 1 pintype=pas } P 1300 1300 1500 1300 1 0 1 { T 1300 1100 5 10 1 1 0 0 1 pinnumber=3 T 1300 1400 5 10 0 0 0 0 1 pinseq=3 T 1300 1100 5 10 0 1 0 0 1 pinlabel=3 T 1300 1100 5 10 0 1 0 0 1 pintype=pas } P 1300 100 1500 100 1 0 1 { T 1300 200 5 10 1 1 0 0 1 pinnumber=4 T 1400 0 5 10 0 0 0 0 1 pinseq=4 T 1300 200 5 10 0 1 0 0 1 pinlabel=4 T 1300 200 5 10 0 1 0 0 1 pintype=pas } T 0 1600 8 10 0 0 0 0 1 device=TRANSFORMER geda-gaf-1.8.2/symbols/analog/battery-2.sym0000664000175000017500000000134312204104272015367 00000000000000v 20050820 1 P 0 200 200 200 1 0 0 { T 150 250 5 8 1 1 0 6 1 pinnumber=1 T 150 150 5 8 0 1 0 8 1 pinseq=1 T 200 200 9 8 0 1 0 0 1 pinlabel=+ T 200 200 5 8 0 1 0 2 1 pintype=pwr } P 900 200 700 200 1 0 0 { T 750 250 5 8 1 1 0 0 1 pinnumber=2 T 750 150 5 8 0 1 0 2 1 pinseq=2 T 700 200 9 8 0 1 0 6 1 pinlabel=- T 700 200 5 8 0 1 0 8 1 pintype=pwr } L 300 400 300 0 3 0 0 0 -1 -1 L 400 300 400 100 3 0 0 0 -1 -1 L 500 400 500 0 3 0 0 0 -1 -1 L 600 300 600 100 3 0 0 0 -1 -1 T 300 700 5 10 0 0 0 0 1 device=BATTERY L 700 200 600 200 3 0 0 0 -1 -1 L 200 200 300 200 3 0 0 0 -1 -1 T 300 500 8 10 1 1 0 0 1 refdes=B? T 300 1100 5 10 0 0 0 0 1 description=battery stack T 300 900 5 10 0 0 0 0 1 numslots=0 T 300 1300 5 10 0 0 0 0 1 symversion=0.1 geda-gaf-1.8.2/symbols/analog/pmos-1.sym0000664000175000017500000000174412204104272014677 00000000000000v 20031231 1 L 300 600 300 200 3 0 0 0 -1 -1 T 600 200 5 10 0 0 0 0 1 device=PMOS_TRANSISTOR L 200 600 200 200 3 0 0 0 -1 -1 L 300 600 500 600 3 0 0 0 -1 -1 L 300 200 500 200 3 0 0 0 -1 -1 L 300 400 500 400 3 0 0 0 -1 -1 L 500 400 400 300 3 0 0 0 -1 -1 L 500 400 400 500 3 0 0 0 -1 -1 P 500 600 500 800 1 0 1 { T 300 700 5 10 0 1 0 0 1 pinnumber=D T 300 700 5 10 0 0 0 0 1 pinseq=1 T 300 700 5 10 0 1 0 0 1 pinlabel=D T 300 700 5 10 0 1 0 0 1 pintype=pas } P 500 400 700 400 1 0 1 { T 600 500 5 10 0 1 0 0 1 pinnumber=B T 600 500 5 10 0 0 0 0 1 pinseq=4 T 600 500 5 10 0 1 0 0 1 pinlabel=B T 600 500 5 10 0 1 0 0 1 pintype=pas } P 500 200 500 0 1 0 1 { T 300 0 5 10 0 1 0 0 1 pinnumber=S T 300 0 5 10 0 0 0 0 1 pinseq=3 T 300 0 5 10 0 1 0 0 1 pinlabel=S T 300 0 5 10 0 1 0 0 1 pintype=pas } P 200 400 0 400 1 0 1 { T 0 500 5 10 0 1 0 0 1 pinnumber=G T 0 500 5 10 0 0 0 0 1 pinseq=2 T 0 500 5 10 0 1 0 0 1 pinlabel=G T 0 500 5 10 0 1 0 0 1 pintype=pas } T 700 600 8 10 1 1 0 0 1 refdes=Q? geda-gaf-1.8.2/symbols/analog/resistor-2.sym0000664000175000017500000000072612204104272015573 00000000000000v 20081221 2 P 900 100 750 100 1 0 0 { T 800 150 5 8 0 1 0 0 1 pinnumber=2 T 800 150 5 8 0 0 0 0 1 pinseq=2 T 800 150 5 8 0 1 0 0 1 pinlabel=2 T 800 150 5 8 0 1 0 0 1 pintype=pas } P 0 100 150 100 1 0 0 { T 100 150 5 8 0 1 0 0 1 pinnumber=1 T 100 150 5 8 0 0 0 0 1 pinseq=1 T 100 150 5 8 0 1 0 0 1 pinlabel=1 T 100 150 5 8 0 1 0 0 1 pintype=pas } B 150 0 600 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 350 5 10 0 0 0 0 1 device=RESISTOR T 200 300 8 10 1 1 0 0 1 refdes=R? geda-gaf-1.8.2/symbols/analog/npn-3.sym0000664000175000017500000000151212204104272014507 00000000000000v 20080706 2 P 600 1000 600 800 1 0 0 { T 500 850 5 6 1 1 0 0 1 pinnumber=C T 500 850 5 6 0 0 0 0 1 pinseq=1 T 500 850 5 6 0 1 0 0 1 pinlabel=C T 500 850 5 6 0 1 0 0 1 pintype=pas } P 600 200 600 0 1 0 1 { T 500 50 5 6 1 1 0 0 1 pinnumber=E T 500 50 5 6 0 0 0 0 1 pinseq=3 T 500 50 5 6 0 1 0 0 1 pinlabel=E T 500 50 5 6 0 1 0 0 1 pintype=pas } V 500 501 316 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 900 500 5 10 0 0 0 0 1 device=NPN_TRANSISTOR L 600 200 400 400 3 0 0 0 -1 -1 L 600 800 400 600 3 0 0 0 -1 -1 L 400 700 400 300 3 0 0 0 -1 -1 P 0 500 184 500 1 0 0 { T 100 550 5 6 1 1 0 0 1 pinnumber=B T 100 550 5 6 0 0 0 0 1 pinseq=2 T 100 550 5 6 0 1 0 0 1 pinlabel=B T 100 550 5 6 0 1 0 0 1 pintype=pas } L 400 500 184 500 3 0 0 0 -1 -1 T 900 500 8 10 1 1 0 0 1 refdes=Q? H 3 0 0 0 -1 -1 1 -1 -1 -1 -1 -1 5 M 510,240 L 601,200 L 555,295 L 535,265 z geda-gaf-1.8.2/symbols/analog/aop-std-1.sym0000664000175000017500000000253212204104272015264 00000000000000v 20050820 1 L 200 800 200 0 3 0 0 0 -1 -1 L 200 0 800 400 3 0 0 0 -1 -1 T 1050 150 5 10 0 0 0 0 1 device=AOP-Standard L 800 400 200 800 3 0 0 0 -1 -1 P 200 600 0 600 1 0 1 { T 150 650 5 8 1 1 0 6 1 pinnumber=3 T 150 550 5 8 0 1 0 8 1 pinseq=2 T 250 600 9 8 0 1 0 0 1 pinlabel=IN+ T 250 600 5 8 0 1 0 2 1 pintype=in } P 200 200 0 200 1 0 1 { T 150 250 5 8 1 1 0 6 1 pinnumber=2 T 150 150 5 8 0 1 0 8 1 pinseq=3 T 250 200 9 8 0 1 0 0 1 pinlabel=IN- T 250 200 5 8 0 1 0 2 1 pintype=in } P 800 400 1000 400 1 0 1 { T 850 450 5 8 1 1 0 0 1 pinnumber=6 T 850 350 5 8 0 1 0 2 1 pinseq=6 T 800 400 9 8 0 1 0 6 1 pinlabel=OUT T 800 400 5 8 0 1 0 8 1 pintype=out } P 500 600 500 800 1 0 1 { T 550 600 5 8 1 1 0 0 1 pinnumber=7 T 550 600 5 8 0 1 0 2 1 pinseq=7 T 500 600 9 8 0 1 0 5 1 pinlabel=V+ T 500 550 5 8 0 1 0 5 1 pintype=pwr } P 500 200 500 0 1 0 1 { T 550 100 5 8 1 1 0 0 1 pinnumber=4 T 550 100 5 8 0 1 0 2 1 pinseq=4 T 500 200 9 8 0 1 0 3 1 pinlabel=V- T 500 300 5 8 0 1 0 3 1 pintype=pwr } L 300 650 300 550 3 0 0 0 -1 -1 L 250 600 350 600 3 0 0 0 -1 -1 L 250 200 350 200 3 0 0 0 -1 -1 T 700 100 8 10 1 1 0 0 1 refdes=U? T 1050 750 5 10 0 0 0 0 1 footprint=DIP8 T 1050 950 5 10 0 0 0 0 1 description=single opamp T 1050 550 5 10 0 0 0 0 1 numslots=0 T 1050 350 5 10 0 0 0 0 1 symversion=0.1 T 1050 1150 5 10 0 0 0 0 1 comment=NC-PINS:1,5,8 T 250 350 9 8 1 0 0 0 1 AOP geda-gaf-1.8.2/symbols/analog/transformer-4.sym0000664000175000017500000000346412204104272016267 00000000000000v 20031231 1 T 0 1400 8 10 1 1 0 0 1 refdes=T? A 500 1200 98 270 180 3 0 0 0 -1 -1 A 500 1000 98 270 180 3 0 0 0 -1 -1 A 500 800 98 270 180 3 0 0 0 -1 -1 A 500 600 100 270 180 3 0 0 0 -1 -1 A 1000 1200 98 90 180 3 0 0 0 -1 -1 A 500 400 98 270 180 3 0 0 0 -1 -1 A 500 200 98 270 180 3 0 0 0 -1 -1 A 1000 1000 98 90 180 3 0 0 0 -1 -1 A 1000 800 98 90 180 3 0 0 0 -1 -1 A 1000 600 98 90 180 3 0 0 0 -1 -1 A 1000 400 98 90 180 3 0 0 0 -1 -1 A 1000 200 98 90 180 3 0 0 0 -1 -1 L 500 1300 200 1300 3 0 0 0 -1 -1 L 500 100 200 100 3 0 0 0 -1 -1 L 1000 1300 1300 1300 3 0 0 0 -1 -1 L 1000 100 1300 100 3 0 0 0 -1 -1 L 700 1400 700 0 3 0 0 0 -1 -1 L 800 1400 800 0 3 0 0 0 -1 -1 P 200 1300 0 1300 1 0 1 { T 200 1100 5 10 1 1 0 0 1 pinnumber=1 T 300 1400 5 10 0 0 0 0 1 pinseq=1 T 200 1100 5 10 0 1 0 0 1 pinlabel=1 T 200 1100 5 10 0 1 0 0 1 pintype=pas } P 200 100 0 100 1 0 1 { T 200 200 5 10 1 1 0 0 1 pinnumber=2 T 200 0 5 10 0 0 0 0 1 pinseq=2 T 200 200 5 10 0 1 0 0 1 pinlabel=2 T 200 200 5 10 0 1 0 0 1 pintype=pas } P 1300 1300 1500 1300 1 0 1 { T 1300 1100 5 10 1 1 0 0 1 pinnumber=3 T 1300 1400 5 10 0 0 0 0 1 pinseq=3 T 1300 1100 5 10 0 1 0 0 1 pinlabel=3 T 1300 1100 5 10 0 1 0 0 1 pintype=pas } P 1300 100 1500 100 1 0 1 { T 1300 200 5 10 1 1 0 0 1 pinnumber=4 T 1300 0 5 10 0 0 0 0 1 pinseq=4 T 1300 200 5 10 0 1 0 0 1 pinlabel=4 T 1300 200 5 10 0 1 0 0 1 pintype=pas } T 0 1600 8 10 0 0 0 0 1 device=TRANSFORMER L 500 700 200 700 3 0 0 0 -1 -1 P 200 700 0 700 1 0 1 { T 200 800 5 10 1 1 0 0 1 pinnumber=5 T 200 600 5 10 0 0 0 0 1 pinseq=5 T 200 800 5 10 0 1 0 0 1 pinlabel=5 T 200 800 5 10 0 1 0 0 1 pintype=pas } L 1000 700 1300 700 3 0 0 0 -1 -1 P 1300 700 1500 700 1 0 1 { T 1300 800 5 10 1 1 0 0 1 pinnumber=6 T 1300 600 5 10 0 0 0 0 1 pinseq=6 T 1300 800 5 10 0 1 0 0 1 pinlabel=6 T 1300 800 5 10 0 1 0 0 1 pintype=pas } geda-gaf-1.8.2/symbols/analog/glow-lamp-1.sym0000664000175000017500000000137712204104272015622 00000000000000v 20050820 1 P 0 200 200 200 1 0 0 { T 150 250 5 8 0 1 0 6 1 pinnumber=1 T 150 150 5 8 0 1 0 8 1 pinseq=1 T 250 200 9 8 0 1 0 0 1 pinlabel=1 T 250 200 5 8 0 1 0 2 1 pintype=pas } P 900 200 700 200 1 0 0 { T 750 250 5 8 0 1 0 0 1 pinnumber=2 T 750 150 5 8 0 1 0 2 1 pinseq=2 T 650 200 9 8 0 1 0 6 1 pinlabel=2 T 650 200 5 8 0 1 0 8 1 pintype=pas } L 500 300 500 100 3 0 0 0 -1 -1 L 500 200 700 200 3 0 0 0 -1 -1 L 400 200 200 200 3 0 0 0 -1 -1 V 450 200 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 200 600 5 10 0 0 0 0 1 device=GLOW_LAMP T 800 400 8 10 1 1 0 0 1 refdes=GL? L 400 300 400 100 3 0 0 0 -1 -1 V 450 340 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 200 1200 5 10 0 0 0 0 1 description=glow lamp T 200 1000 5 10 0 0 0 0 1 numslots=0 T 200 800 5 10 0 0 0 0 1 symversion=0.1 geda-gaf-1.8.2/symbols/analog/bridge-1.sym0000664000175000017500000000223112204104272015145 00000000000000v 20050820 1 P 0 700 200 700 1 0 0 { T 150 750 5 8 1 1 0 6 1 pinnumber=1 T 150 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 0 1 0 0 1 pinlabel=~ T 350 700 5 8 0 1 0 2 1 pintype=pas } P 0 200 200 200 1 0 0 { T 150 250 5 8 1 1 0 6 1 pinnumber=2 T 150 150 5 8 0 1 0 8 1 pinseq=2 T 350 200 9 8 0 1 0 0 1 pinlabel=~ T 350 200 5 8 0 1 0 2 1 pintype=pas } P 1000 700 1200 700 1 0 1 { T 1050 750 5 8 1 1 0 0 1 pinnumber=4 T 1050 650 5 8 0 1 0 2 1 pinseq=4 T 950 700 9 8 0 1 0 6 1 pinlabel=+ T 950 700 5 8 0 1 0 8 1 pintype=pas } P 1000 200 1200 200 1 0 1 { T 1050 250 5 8 1 1 0 0 1 pinnumber=3 T 1050 150 5 8 0 1 0 2 1 pinseq=3 T 950 200 9 8 0 1 0 6 1 pinlabel=- T 950 200 5 8 0 1 0 8 1 pintype=pas } B 200 0 800 900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 750 700 950 700 3 0 0 0 -1 -1 L 850 800 850 600 3 0 0 0 -1 -1 L 750 200 950 200 3 0 0 0 -1 -1 A 300 700 50 0 180 3 0 0 0 -1 -1 A 400 700 50 180 180 3 0 0 0 -1 -1 A 300 200 50 0 180 3 0 0 0 -1 -1 A 400 200 50 180 180 3 0 0 0 -1 -1 T 200 1000 8 10 1 1 0 0 1 refdes=U? T 200 1400 5 10 0 0 0 0 1 device=bridge T 200 1600 5 10 0 0 0 0 1 description=bridge rectifier T 200 1200 5 10 0 0 0 0 1 numslots=0 T 200 1800 5 10 0 0 0 0 1 symversion=0.1 geda-gaf-1.8.2/symbols/analog/pnp-3.sym0000664000175000017500000000151212204104272014511 00000000000000v 20080706 2 P 600 1000 600 800 1 0 0 { T 500 850 5 6 1 1 0 0 1 pinnumber=C T 500 850 5 6 0 0 0 0 1 pinseq=1 T 500 850 5 6 0 1 0 0 1 pinlabel=C T 500 850 5 6 0 1 0 0 1 pintype=pas } P 600 200 600 0 1 0 1 { T 500 50 5 6 1 1 0 0 1 pinnumber=E T 500 50 5 6 0 0 0 0 1 pinseq=3 T 500 50 5 6 0 1 0 0 1 pinlabel=E T 500 50 5 6 0 1 0 0 1 pintype=pas } V 500 501 316 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 900 500 5 10 0 0 0 0 1 device=PNP_TRANSISTOR L 600 200 400 400 3 0 0 0 -1 -1 L 600 800 400 600 3 0 0 0 -1 -1 L 400 700 400 300 3 0 0 0 -1 -1 P 0 500 184 500 1 0 0 { T 100 550 5 6 1 1 0 0 1 pinnumber=B T 100 550 5 6 0 0 0 0 1 pinseq=2 T 100 550 5 6 0 1 0 0 1 pinlabel=B T 100 550 5 6 0 1 0 0 1 pintype=pas } L 400 500 184 500 3 0 0 0 -1 -1 H 3 0 0 0 -1 -1 1 -1 -1 -1 -1 -1 5 M 440,290 L 400,401 L 495,355 L 465,335 z T 900 500 8 10 1 1 0 0 1 refdes=Q? geda-gaf-1.8.2/symbols/analog/ntc-1.sym0000664000175000017500000000111612204104272014476 00000000000000v 20040111 1 T 200 600 8 10 0 0 0 0 1 device=NTC P 900 200 750 200 1 0 0 { T 800 250 5 8 0 1 0 0 1 pinnumber=2 T 800 250 5 8 0 0 0 0 1 pinseq=2 T 800 250 5 8 0 1 0 0 1 pinlabel=2 T 800 250 5 8 0 1 0 0 1 pintype=pas } P 0 200 152 200 1 0 0 { T 100 250 5 8 0 1 0 0 1 pinnumber=1 T 100 250 5 8 0 0 0 0 1 pinseq=1 T 100 250 5 8 0 1 0 0 1 pinlabel=1 T 100 250 5 8 0 1 0 0 1 pintype=pas } B 150 100 600 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 200 400 8 10 1 1 0 0 1 refdes=R? L 180 340 340 340 3 0 0 0 -1 -1 L 720 60 560 60 3 0 0 0 -1 -1 L 340 340 560 60 3 0 0 0 -1 -1 T 200 0 9 6 1 0 0 0 1 NTC geda-gaf-1.8.2/symbols/analog/resistorpack5-1.sym0000664000175000017500000000373612204104272016522 00000000000000v 20031231 1 L 0 700 200 600 3 0 0 0 -1 -1 L 200 600 0 500 3 0 0 0 -1 -1 L 0 500 200 400 3 0 0 0 -1 -1 L 200 400 0 300 3 0 0 0 -1 -1 L 0 700 200 800 3 0 0 0 -1 -1 L 200 800 100 850 3 0 0 0 -1 -1 P 100 0 100 252 1 0 0 { T -25 100 5 8 1 1 0 0 1 pinnumber=2 T -25 100 5 8 0 0 0 0 1 pinseq=2 T -25 100 5 8 0 1 0 0 1 pinlabel=2 T -25 100 5 8 0 1 0 0 1 pintype=pas } L 0 301 100 250 3 0 0 0 -1 -1 L 300 700 500 600 3 0 0 0 -1 -1 L 500 600 300 500 3 0 0 0 -1 -1 L 300 500 500 400 3 0 0 0 -1 -1 L 500 400 300 300 3 0 0 0 -1 -1 L 300 700 500 800 3 0 0 0 -1 -1 L 500 800 400 850 3 0 0 0 -1 -1 P 400 0 400 252 1 0 0 { T 275 100 5 8 1 1 0 0 1 pinnumber=3 T 275 100 5 8 0 0 0 0 1 pinseq=3 T 275 100 5 8 0 1 0 0 1 pinlabel=3 T 275 100 5 8 0 1 0 0 1 pintype=pas } L 300 301 400 250 3 0 0 0 -1 -1 L 600 700 800 600 3 0 0 0 -1 -1 L 800 600 600 500 3 0 0 0 -1 -1 L 600 500 800 400 3 0 0 0 -1 -1 L 800 400 600 300 3 0 0 0 -1 -1 L 600 700 800 800 3 0 0 0 -1 -1 L 800 800 700 850 3 0 0 0 -1 -1 P 700 0 700 252 1 0 0 { T 575 100 5 8 1 1 0 0 1 pinnumber=4 T 575 100 5 8 0 0 0 0 1 pinseq=4 T 575 100 5 8 0 1 0 0 1 pinlabel=4 T 575 100 5 8 0 1 0 0 1 pintype=pas } L 600 301 700 250 3 0 0 0 -1 -1 L 900 700 1100 600 3 0 0 0 -1 -1 L 1100 600 900 500 3 0 0 0 -1 -1 L 900 500 1100 400 3 0 0 0 -1 -1 L 1100 400 900 300 3 0 0 0 -1 -1 L 900 700 1100 800 3 0 0 0 -1 -1 L 1100 800 1000 850 3 0 0 0 -1 -1 P 1000 0 1000 252 1 0 0 { T 875 100 5 8 1 1 0 0 1 pinnumber=5 T 875 100 5 8 0 0 0 0 1 pinseq=5 T 875 100 5 8 0 1 0 0 1 pinlabel=5 T 875 100 5 8 0 1 0 0 1 pintype=pas } L 900 301 1000 250 3 0 0 0 -1 -1 P 1200 1100 1500 1100 1 0 1 { T 1300 1150 5 8 1 1 0 0 1 pinnumber=1 T 1300 1150 5 8 0 0 0 0 1 pinseq=1 T 1300 1150 5 8 0 1 0 0 1 pinlabel=1 T 1300 1150 5 8 0 1 0 0 1 pintype=pas } L 100 850 100 1100 3 0 0 0 -1 -1 L 400 850 400 1100 3 0 0 0 -1 -1 L 700 850 700 1100 3 0 0 0 -1 -1 L 1000 850 1000 1100 3 0 0 0 -1 -1 L 100 1100 1200 1100 3 0 0 0 -1 -1 T 100 1400 5 10 0 0 0 0 1 device=RESISTORPACK_5 T 100 1200 8 10 1 1 0 0 1 refdes=R? geda-gaf-1.8.2/symbols/analog/resistorpack7-1.sym0000664000175000017500000000553412204104272016522 00000000000000v 20031231 1 L 0 700 200 600 3 0 0 0 -1 -1 L 200 600 0 500 3 0 0 0 -1 -1 L 0 500 200 400 3 0 0 0 -1 -1 L 200 400 0 300 3 0 0 0 -1 -1 L 0 700 200 800 3 0 0 0 -1 -1 L 200 800 100 850 3 0 0 0 -1 -1 P 100 0 100 252 1 0 0 { T -25 100 5 8 1 1 0 0 1 pinnumber=2 T -25 100 5 8 0 0 0 0 1 pinseq=2 T -25 100 5 8 0 1 0 0 1 pinlabel=2 T -25 100 5 8 0 1 0 0 1 pintype=pas } L 0 301 100 250 3 0 0 0 -1 -1 L 300 700 500 600 3 0 0 0 -1 -1 L 500 600 300 500 3 0 0 0 -1 -1 L 300 500 500 400 3 0 0 0 -1 -1 L 500 400 300 300 3 0 0 0 -1 -1 L 300 700 500 800 3 0 0 0 -1 -1 L 500 800 400 850 3 0 0 0 -1 -1 P 400 0 400 252 1 0 0 { T 275 100 5 8 1 1 0 0 1 pinnumber=3 T 275 100 5 8 0 0 0 0 1 pinseq=3 T 275 100 5 8 0 1 0 0 1 pinlabel=3 T 275 100 5 8 0 1 0 0 1 pintype=pas } L 300 301 400 250 3 0 0 0 -1 -1 L 600 700 800 600 3 0 0 0 -1 -1 L 800 600 600 500 3 0 0 0 -1 -1 L 600 500 800 400 3 0 0 0 -1 -1 L 800 400 600 300 3 0 0 0 -1 -1 L 600 700 800 800 3 0 0 0 -1 -1 L 800 800 700 850 3 0 0 0 -1 -1 P 700 0 700 252 1 0 0 { T 575 100 5 8 1 1 0 0 1 pinnumber=4 T 575 100 5 8 0 0 0 0 1 pinseq=4 T 575 100 5 8 0 1 0 0 1 pinlabel=4 T 575 100 5 8 0 1 0 0 1 pintype=pas } L 600 301 700 250 3 0 0 0 -1 -1 L 900 700 1100 600 3 0 0 0 -1 -1 L 1100 600 900 500 3 0 0 0 -1 -1 L 900 500 1100 400 3 0 0 0 -1 -1 L 1100 400 900 300 3 0 0 0 -1 -1 L 900 700 1100 800 3 0 0 0 -1 -1 L 1100 800 1000 850 3 0 0 0 -1 -1 P 1000 0 1000 252 1 0 0 { T 875 100 5 8 1 1 0 0 1 pinnumber=5 T 875 100 5 8 0 0 0 0 1 pinseq=5 T 875 100 5 8 0 1 0 0 1 pinlabel=5 T 875 100 5 8 0 1 0 0 1 pintype=pas } L 900 301 1000 250 3 0 0 0 -1 -1 P 1800 1100 2100 1100 1 0 1 { T 1900 1150 5 8 1 1 0 0 1 pinnumber=1 T 1900 1150 5 8 0 0 0 0 1 pinseq=1 T 1900 1150 5 8 0 1 0 0 1 pinlabel=1 T 1900 1150 5 8 0 1 0 0 1 pintype=pas } P 1300 0 1300 252 1 0 0 { T 1175 100 5 8 1 1 0 0 1 pinnumber=6 T 1175 100 5 8 0 0 0 0 1 pinseq=6 T 1175 100 5 8 0 1 0 0 1 pinlabel=6 T 1175 100 5 8 0 1 0 0 1 pintype=pas } L 1200 301 1300 250 3 0 0 0 -1 -1 L 1200 700 1400 600 3 0 0 0 -1 -1 L 1400 600 1200 500 3 0 0 0 -1 -1 L 1200 500 1400 400 3 0 0 0 -1 -1 L 1400 400 1200 300 3 0 0 0 -1 -1 L 1200 700 1400 800 3 0 0 0 -1 -1 L 1400 800 1300 850 3 0 0 0 -1 -1 L 100 850 100 1100 3 0 0 0 -1 -1 L 400 850 400 1100 3 0 0 0 -1 -1 L 700 850 700 1100 3 0 0 0 -1 -1 L 1000 850 1000 1100 3 0 0 0 -1 -1 L 1300 850 1300 1100 3 0 0 0 -1 -1 L 100 1100 1800 1100 3 0 0 0 -1 -1 T 100 1400 5 10 0 0 0 0 1 device=RESISTORPACK_7 T 100 1200 8 10 1 1 0 0 1 refdes=R? L 1500 301 1600 250 3 0 0 0 -1 -1 L 1500 700 1700 600 3 0 0 0 -1 -1 L 1700 600 1500 500 3 0 0 0 -1 -1 L 1500 500 1700 400 3 0 0 0 -1 -1 L 1700 400 1500 300 3 0 0 0 -1 -1 L 1500 700 1700 800 3 0 0 0 -1 -1 L 1700 800 1600 850 3 0 0 0 -1 -1 L 1600 850 1600 1100 3 0 0 0 -1 -1 P 1600 0 1600 252 1 0 0 { T 1475 100 5 8 1 1 0 0 1 pinnumber=7 T 1475 100 5 8 0 0 0 0 1 pinseq=7 T 1475 100 5 8 0 1 0 0 1 pinlabel=7 T 1475 100 5 8 0 1 0 0 1 pintype=pas } geda-gaf-1.8.2/symbols/analog/capacitor-variable-1.sym0000664000175000017500000000141312204104272017442 00000000000000v 20050820 1 L 200 400 700 0 3 0 0 0 -1 -1 T 200 700 5 10 0 0 0 0 1 device=VARIABLE_CAPACITOR L 700 0 600 0 3 0 0 0 -1 -1 L 700 0 700 100 3 0 0 0 -1 -1 P 0 200 200 200 1 0 0 { T 150 250 5 8 0 1 0 6 1 pinnumber=1 T 150 150 5 8 0 1 0 8 1 pinseq=1 T 200 200 9 8 0 1 0 0 1 pinlabel=1 T 200 200 5 8 0 1 0 2 1 pintype=pas } P 900 200 700 200 1 0 0 { T 750 250 5 8 0 1 0 0 1 pinnumber=2 T 750 150 5 8 0 1 0 2 1 pinseq=2 T 700 200 9 8 0 1 0 6 1 pinlabel=2 T 700 200 5 8 0 1 0 8 1 pintype=pas } L 400 400 400 0 3 0 0 0 -1 -1 L 500 400 500 0 3 0 0 0 -1 -1 L 700 200 500 200 3 0 0 0 -1 -1 L 400 200 200 200 3 0 0 0 -1 -1 T 200 500 8 10 1 1 0 0 1 refdes=C? T 200 1300 5 10 0 0 0 0 1 description=variable capacitor T 200 1100 5 10 0 0 0 0 1 numslots=0 T 200 900 5 10 0 0 0 0 1 symversion=0.1 geda-gaf-1.8.2/symbols/analog/resistorpack3-1.sym0000664000175000017500000000217212204104272016511 00000000000000v 20031231 1 L 0 700 200 600 3 0 0 0 -1 -1 L 200 600 0 500 3 0 0 0 -1 -1 L 0 500 200 400 3 0 0 0 -1 -1 L 200 400 0 300 3 0 0 0 -1 -1 L 0 700 200 800 3 0 0 0 -1 -1 L 200 800 100 850 3 0 0 0 -1 -1 P 100 0 100 252 1 0 0 { T -25 100 5 8 1 1 0 0 1 pinnumber=2 T -25 100 5 8 0 0 0 0 1 pinseq=2 T -25 100 5 8 0 1 0 0 1 pinlabel=2 T -25 100 5 8 0 1 0 0 1 pintype=pas } L 0 301 100 250 3 0 0 0 -1 -1 L 300 700 500 600 3 0 0 0 -1 -1 L 500 600 300 500 3 0 0 0 -1 -1 L 300 500 500 400 3 0 0 0 -1 -1 L 500 400 300 300 3 0 0 0 -1 -1 L 300 700 500 800 3 0 0 0 -1 -1 L 500 800 400 850 3 0 0 0 -1 -1 P 400 0 400 252 1 0 0 { T 275 100 5 8 1 1 0 0 1 pinnumber=3 T 275 100 5 8 0 0 0 0 1 pinseq=3 T 275 100 5 8 0 1 0 0 1 pinlabel=3 T 275 100 5 8 0 1 0 0 1 pintype=pas } L 300 301 400 250 3 0 0 0 -1 -1 P 700 1100 1000 1100 1 0 1 { T 800 1150 5 8 1 1 0 0 1 pinnumber=1 T 800 1150 5 8 0 0 0 0 1 pinseq=1 T 800 1150 5 8 0 1 0 0 1 pinlabel=1 T 800 1150 5 8 0 1 0 0 1 pintype=pas } L 100 850 100 1100 3 0 0 0 -1 -1 L 400 850 400 1100 3 0 0 0 -1 -1 L 100 1100 700 1100 3 0 0 0 -1 -1 T 100 1400 5 10 0 0 0 0 1 device=RESISTORPACK_3 T 100 1200 8 10 1 1 0 0 1 refdes=R? geda-gaf-1.8.2/symbols/analog/opamp-1.sym0000664000175000017500000000234512204104272015033 00000000000000v 20050820 1 L 200 800 200 0 3 0 0 0 -1 -1 L 200 800 800 400 3 0 0 0 -1 -1 T 700 800 5 10 0 0 0 0 1 device=OPAMP L 800 400 200 0 3 0 0 0 -1 -1 L 300 650 300 550 3 0 0 0 -1 -1 L 250 600 350 600 3 0 0 0 -1 -1 L 250 200 350 200 3 0 0 0 -1 -1 P 0 600 200 600 1 0 0 { T 150 650 5 8 1 1 0 6 1 pinnumber=1 T 150 550 5 8 0 1 0 8 1 pinseq=1 T 250 600 9 8 0 1 0 0 1 pinlabel=in+ T 250 600 5 8 0 1 0 2 1 pintype=in } P 0 200 200 200 1 0 0 { T 150 250 5 8 1 1 0 6 1 pinnumber=2 T 150 150 5 8 0 1 0 8 1 pinseq=2 T 250 200 9 8 0 1 0 0 1 pinlabel=in- T 250 200 5 8 0 1 0 2 1 pintype=in } P 800 400 1000 400 1 0 1 { T 800 450 5 8 1 1 0 0 1 pinnumber=5 T 800 350 5 8 0 1 0 2 1 pinseq=5 T 750 400 9 8 0 1 0 6 1 pinlabel=out T 750 400 5 8 0 1 0 8 1 pintype=out } P 500 600 500 800 1 0 1 { T 550 600 5 8 1 1 0 0 1 pinnumber=3 T 550 600 5 8 0 1 0 2 1 pinseq=3 T 500 600 9 8 0 1 0 5 1 pinlabel=V+ T 500 550 5 8 0 1 0 5 1 pintype=pwr } P 500 200 500 0 1 0 1 { T 550 100 5 8 1 1 0 0 1 pinnumber=4 T 550 100 5 8 0 1 0 2 1 pinseq=4 T 500 200 9 8 0 1 0 3 1 pinlabel=V- T 500 300 5 8 0 1 0 3 1 pintype=pwr } T 700 600 8 10 1 1 0 0 1 refdes=U? T 700 1200 5 10 0 0 0 0 1 description=operational amplifier T 700 1000 5 10 0 0 0 0 1 numslots=0 T 700 1400 5 10 0 0 0 0 1 symversion=0.1 geda-gaf-1.8.2/symbols/analog/npn-1.sym0000664000175000017500000000137512204104272014514 00000000000000v 20080706 2 L 200 800 200 200 3 0 0 0 -1 -1 T 600 500 5 10 0 0 0 0 1 device=NPN_TRANSISTOR L 500 800 200 500 3 0 0 0 -1 -1 L 200 500 500 200 3 0 0 0 -1 -1 H 3 0 0 0 -1 -1 1 -1 -1 -1 -1 -1 5 M 410,240 L 501,200 L 455,295 L 435,265 z P 0 500 200 500 1 0 0 { T 100 550 5 6 1 1 0 0 1 pinnumber=B T 100 550 5 6 0 0 0 0 1 pinseq=2 T 100 550 5 6 0 1 0 0 1 pinlabel=B T 100 550 5 6 0 1 0 0 1 pintype=pas } P 500 1000 500 800 1 0 0 { T 400 850 5 6 1 1 0 0 1 pinnumber=C T 400 850 5 6 0 0 0 0 1 pinseq=1 T 400 850 5 6 0 1 0 0 1 pinlabel=C T 400 850 5 6 0 1 0 0 1 pintype=pas } P 500 200 500 0 1 0 1 { T 400 50 5 6 1 1 0 0 1 pinnumber=E T 400 50 5 6 0 0 0 0 1 pinseq=3 T 400 50 5 6 0 1 0 0 1 pinlabel=E T 400 50 5 6 0 1 0 0 1 pintype=pas } T 600 500 8 10 1 1 0 0 1 refdes=Q? geda-gaf-1.8.2/symbols/analog/bridge-2.sym0000664000175000017500000000223112204104272015146 00000000000000v 20050820 1 P 0 700 200 700 1 0 0 { T 150 750 5 8 1 1 0 6 1 pinnumber=1 T 150 650 5 8 0 1 0 8 1 pinseq=1 T 250 700 9 8 0 1 0 0 1 pinlabel=~ T 250 700 5 8 0 1 0 2 1 pintype=pas } P 0 200 200 200 1 0 0 { T 150 250 5 8 1 1 0 6 1 pinnumber=2 T 150 150 5 8 0 1 0 8 1 pinseq=2 T 250 200 9 8 0 1 0 0 1 pinlabel=~ T 250 200 5 8 0 1 0 2 1 pintype=pas } P 1000 700 1200 700 1 0 1 { T 1050 750 5 8 1 1 0 0 1 pinnumber=4 T 1050 650 5 8 0 1 0 2 1 pinseq=4 T 950 700 9 8 0 1 0 6 1 pinlabel=- T 950 700 5 8 0 1 0 8 1 pintype=pas } P 1000 200 1200 200 1 0 1 { T 1050 250 5 8 1 1 0 0 1 pinnumber=3 T 1050 150 5 8 0 1 0 2 1 pinseq=3 T 950 200 9 8 0 1 0 6 1 pinlabel=+ T 950 200 5 8 0 1 0 8 1 pintype=pas } B 200 0 800 900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 750 700 950 700 3 0 0 0 -1 -1 L 850 300 850 100 3 0 0 0 -1 -1 L 750 200 950 200 3 0 0 0 -1 -1 A 300 700 50 0 180 3 0 0 0 -1 -1 A 400 700 50 180 180 3 0 0 0 -1 -1 A 300 200 50 0 180 3 0 0 0 -1 -1 A 400 200 50 180 180 3 0 0 0 -1 -1 T 200 1000 8 10 1 1 0 0 1 refdes=U? T 200 1200 5 10 0 0 0 0 1 device=BRIDGE T 200 1800 5 10 0 0 0 0 1 description=bridge rectifier T 200 1600 5 10 0 0 0 0 1 numslots=0 T 200 1400 5 10 0 0 0 0 1 symversion=0.1 geda-gaf-1.8.2/symbols/analog/pmos-2.sym0000664000175000017500000000174412204104272014700 00000000000000v 20031231 1 L 250 650 250 150 3 0 0 0 -1 -1 T 700 200 5 10 0 0 0 0 1 device=PMOS_TRANSISTOR L 200 550 200 250 3 0 0 0 -1 -1 L 250 600 500 600 3 0 0 0 -1 -1 L 250 200 500 200 3 0 0 0 -1 -1 L 250 400 500 400 3 0 0 0 -1 -1 L 500 400 400 350 3 0 0 0 -1 -1 L 500 400 400 450 3 0 0 0 -1 -1 P 500 600 500 800 1 0 1 { T 300 700 5 10 0 1 0 0 1 pinnumber=D T 300 700 5 10 0 0 0 0 1 pinseq=1 T 300 700 5 10 0 1 0 0 1 pinlabel=D T 300 700 5 10 0 1 0 0 1 pintype=pas } P 500 400 700 400 1 0 1 { T 600 500 5 10 0 1 0 0 1 pinnumber=B T 600 500 5 10 0 0 0 0 1 pinseq=4 T 600 500 5 10 0 1 0 0 1 pinlabel=B T 600 500 5 10 0 1 0 0 1 pintype=pas } P 500 200 500 0 1 0 1 { T 300 0 5 10 0 1 0 0 1 pinnumber=S T 300 0 5 10 0 0 0 0 1 pinseq=3 T 300 0 5 10 0 1 0 0 1 pinlabel=S T 300 0 5 10 0 1 0 0 1 pintype=pas } P 200 400 0 400 1 0 1 { T 0 500 5 10 0 1 0 0 1 pinnumber=G T 0 500 5 10 0 0 0 0 1 pinseq=2 T 0 500 5 10 0 1 0 0 1 pinlabel=G T 0 500 5 10 0 1 0 0 1 pintype=pas } T 700 600 8 10 1 1 0 0 1 refdes=Q? geda-gaf-1.8.2/symbols/analog/led-1.sym0000664000175000017500000000171012204104272014456 00000000000000v 20050820 1 P 0 200 200 200 1 0 0 { T 150 250 5 8 1 1 0 6 1 pinnumber=1 T 150 150 5 8 0 1 0 8 1 pinseq=1 T 250 200 9 8 0 1 0 0 1 pinlabel=A T 250 200 5 8 0 1 0 2 1 pintype=pas } P 900 200 700 200 1 0 0 { T 750 250 5 8 1 1 0 0 1 pinnumber=2 T 750 150 5 8 0 1 0 2 1 pinseq=2 T 650 200 9 8 0 1 0 6 1 pinlabel=K T 650 200 5 8 0 1 0 8 1 pintype=pas } L 400 300 500 200 3 0 0 0 -1 -1 L 500 200 400 100 3 0 0 0 -1 -1 L 400 300 400 100 3 0 0 0 -1 -1 L 500 300 500 100 3 0 0 0 -1 -1 L 500 200 700 200 3 0 0 0 -1 -1 L 400 200 200 200 3 0 0 0 -1 -1 V 450 200 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 800 600 5 10 0 0 0 0 1 device=LED L 516 503 617 604 3 0 0 0 -1 -1 L 617 604 621 555 3 0 0 0 -1 -1 L 621 555 722 657 3 0 0 0 -1 -1 L 484 418 585 518 3 0 0 0 -1 -1 L 585 518 589 469 3 0 0 0 -1 -1 L 589 469 690 570 3 0 0 0 -1 -1 T 800 400 8 10 1 1 0 0 1 refdes=LED? T 800 1200 5 10 0 0 0 0 1 description=LED T 800 1000 5 10 0 0 0 0 1 numslots=0 T 800 800 5 10 0 0 0 0 1 symversion=0.1 geda-gaf-1.8.2/symbols/analog/capacitor-3.sym0000664000175000017500000000137312204104272015666 00000000000000v 20050820 1 P 0 200 200 200 1 0 0 { T 150 250 5 8 1 1 0 6 1 pinnumber=P T 150 150 5 8 0 1 0 8 1 pinseq=1 T 200 200 9 8 0 1 0 0 1 pinlabel=+ T 200 200 5 8 0 1 0 2 1 pintype=pas } P 900 200 700 200 1 0 0 { T 750 250 5 8 1 1 0 0 1 pinnumber=N T 750 150 5 8 0 1 0 2 1 pinseq=2 T 700 200 9 8 0 1 0 6 1 pinlabel=- T 700 200 5 8 0 1 0 8 1 pintype=pas } L 400 400 400 0 3 0 0 0 -1 -1 L 700 200 500 200 3 0 0 0 -1 -1 L 400 200 200 200 3 0 0 0 -1 -1 T 200 700 5 10 0 0 0 0 1 device=POLARIZED_CAPACITOR A 1200 200 700 165 30 3 0 0 0 -1 -1 L 289 400 289 300 3 0 0 0 -1 -1 L 340 349 240 349 3 0 0 0 -1 -1 T 200 500 8 10 1 1 0 0 1 refdes=C? T 200 1300 5 10 0 0 0 0 1 description=polarized capacitor T 200 1100 5 10 0 0 0 0 1 numslots=0 T 200 900 5 10 0 0 0 0 1 symversion=0.1 geda-gaf-1.8.2/symbols/analog/resistorpack10-1.sym0000664000175000017500000001023512204104272016566 00000000000000v 20031231 1 L 0 700 200 600 3 0 0 0 -1 -1 L 200 600 0 500 3 0 0 0 -1 -1 L 0 500 200 400 3 0 0 0 -1 -1 L 200 400 0 300 3 0 0 0 -1 -1 L 0 700 200 800 3 0 0 0 -1 -1 L 200 800 100 850 3 0 0 0 -1 -1 P 100 0 100 252 1 0 0 { T -25 100 5 8 1 1 0 0 1 pinnumber=2 T -25 100 5 8 0 0 0 0 1 pinseq=2 T -25 100 5 8 0 1 0 0 1 pinlabel=2 T -25 100 5 8 0 1 0 0 1 pintype=pas } L 0 301 100 250 3 0 0 0 -1 -1 L 300 700 500 600 3 0 0 0 -1 -1 L 500 600 300 500 3 0 0 0 -1 -1 L 300 500 500 400 3 0 0 0 -1 -1 L 500 400 300 300 3 0 0 0 -1 -1 L 300 700 500 800 3 0 0 0 -1 -1 L 500 800 400 850 3 0 0 0 -1 -1 P 400 0 400 252 1 0 0 { T 275 100 5 8 1 1 0 0 1 pinnumber=3 T 275 100 5 8 0 0 0 0 1 pinseq=3 T 275 100 5 8 0 1 0 0 1 pinlabel=3 T 275 100 5 8 0 1 0 0 1 pintype=pas } L 300 301 400 250 3 0 0 0 -1 -1 L 600 700 800 600 3 0 0 0 -1 -1 L 800 600 600 500 3 0 0 0 -1 -1 L 600 500 800 400 3 0 0 0 -1 -1 L 800 400 600 300 3 0 0 0 -1 -1 L 600 700 800 800 3 0 0 0 -1 -1 L 800 800 700 850 3 0 0 0 -1 -1 P 700 0 700 252 1 0 0 { T 575 100 5 8 1 1 0 0 1 pinnumber=4 T 575 100 5 8 0 0 0 0 1 pinseq=4 T 575 100 5 8 0 1 0 0 1 pinlabel=4 T 575 100 5 8 0 1 0 0 1 pintype=pas } L 600 301 700 250 3 0 0 0 -1 -1 L 900 700 1100 600 3 0 0 0 -1 -1 L 1100 600 900 500 3 0 0 0 -1 -1 L 900 500 1100 400 3 0 0 0 -1 -1 L 1100 400 900 300 3 0 0 0 -1 -1 L 900 700 1100 800 3 0 0 0 -1 -1 L 1100 800 1000 850 3 0 0 0 -1 -1 P 1000 0 1000 252 1 0 0 { T 875 100 5 8 1 1 0 0 1 pinnumber=5 T 875 100 5 8 0 0 0 0 1 pinseq=5 T 875 100 5 8 0 1 0 0 1 pinlabel=5 T 875 100 5 8 0 1 0 0 1 pintype=pas } L 900 301 1000 250 3 0 0 0 -1 -1 P 2700 1100 3000 1100 1 0 1 { T 2800 1150 5 8 1 1 0 0 1 pinnumber=1 T 2800 1150 5 8 0 0 0 0 1 pinseq=1 T 2800 1150 5 8 0 1 0 0 1 pinlabel=1 T 2800 1150 5 8 0 1 0 0 1 pintype=pas } P 1300 0 1300 252 1 0 0 { T 1175 100 5 8 1 1 0 0 1 pinnumber=6 T 1175 100 5 8 0 0 0 0 1 pinseq=6 T 1175 100 5 8 0 1 0 0 1 pinlabel=6 T 1175 100 5 8 0 1 0 0 1 pintype=pas } L 1200 301 1300 250 3 0 0 0 -1 -1 L 1200 700 1400 600 3 0 0 0 -1 -1 L 1400 600 1200 500 3 0 0 0 -1 -1 L 1200 500 1400 400 3 0 0 0 -1 -1 L 1400 400 1200 300 3 0 0 0 -1 -1 L 1200 700 1400 800 3 0 0 0 -1 -1 L 1400 800 1300 850 3 0 0 0 -1 -1 P 1600 0 1600 252 1 0 0 { T 1475 100 5 8 1 1 0 0 1 pinnumber=7 T 1475 100 5 8 0 0 0 0 1 pinseq=7 T 1475 100 5 8 0 1 0 0 1 pinlabel=7 T 1475 100 5 8 0 1 0 0 1 pintype=pas } L 1500 301 1600 250 3 0 0 0 -1 -1 L 1500 700 1700 600 3 0 0 0 -1 -1 L 1700 600 1500 500 3 0 0 0 -1 -1 L 1500 500 1700 400 3 0 0 0 -1 -1 L 1700 400 1500 300 3 0 0 0 -1 -1 L 1500 700 1700 800 3 0 0 0 -1 -1 L 1700 800 1600 850 3 0 0 0 -1 -1 P 1900 0 1900 252 1 0 0 { T 1775 100 5 8 1 1 0 0 1 pinnumber=8 T 1775 100 5 8 0 0 0 0 1 pinseq=8 T 1775 100 5 8 0 1 0 0 1 pinlabel=8 T 1775 100 5 8 0 1 0 0 1 pintype=pas } L 1800 301 1900 250 3 0 0 0 -1 -1 L 1800 700 2000 600 3 0 0 0 -1 -1 L 2000 600 1800 500 3 0 0 0 -1 -1 L 1800 500 2000 400 3 0 0 0 -1 -1 L 2000 400 1800 300 3 0 0 0 -1 -1 L 1800 700 2000 800 3 0 0 0 -1 -1 L 2000 800 1900 850 3 0 0 0 -1 -1 P 2200 0 2200 252 1 0 0 { T 2075 100 5 8 1 1 0 0 1 pinnumber=9 T 2075 100 5 8 0 0 0 0 1 pinseq=9 T 2075 100 5 8 0 1 0 0 1 pinlabel=9 T 2075 100 5 8 0 1 0 0 1 pintype=pas } L 2100 301 2200 250 3 0 0 0 -1 -1 L 2100 700 2300 600 3 0 0 0 -1 -1 L 2300 600 2100 500 3 0 0 0 -1 -1 L 2100 500 2300 400 3 0 0 0 -1 -1 L 2300 400 2100 300 3 0 0 0 -1 -1 L 2100 700 2300 800 3 0 0 0 -1 -1 L 2300 800 2200 850 3 0 0 0 -1 -1 P 2500 0 2500 252 1 0 0 { T 2300 100 5 8 1 1 0 0 1 pinnumber=10 T 2300 100 5 8 0 0 0 0 1 pinseq=10 T 2300 100 5 8 0 1 0 0 1 pinlabel=10 T 2300 100 5 8 0 1 0 0 1 pintype=pas } L 2400 301 2500 250 3 0 0 0 -1 -1 L 2400 700 2600 600 3 0 0 0 -1 -1 L 2600 600 2400 500 3 0 0 0 -1 -1 L 2400 500 2600 400 3 0 0 0 -1 -1 L 2600 400 2400 300 3 0 0 0 -1 -1 L 2400 700 2600 800 3 0 0 0 -1 -1 L 2600 800 2500 850 3 0 0 0 -1 -1 L 100 850 100 1100 3 0 0 0 -1 -1 L 400 850 400 1100 3 0 0 0 -1 -1 L 700 850 700 1100 3 0 0 0 -1 -1 L 1000 850 1000 1100 3 0 0 0 -1 -1 L 1300 850 1300 1100 3 0 0 0 -1 -1 L 1600 850 1600 1100 3 0 0 0 -1 -1 L 1900 850 1900 1100 3 0 0 0 -1 -1 L 2200 850 2200 1100 3 0 0 0 -1 -1 L 2500 850 2500 1100 3 0 0 0 -1 -1 L 2700 1100 100 1100 3 0 0 0 -1 -1 T 100 1200 5 10 0 0 0 0 1 device=RESISTORPACK_10 T 100 1200 8 10 1 1 0 0 1 refdes=R? geda-gaf-1.8.2/symbols/analog/voltage-2.sym0000664000175000017500000000103612204104272015355 00000000000000v 20031231 1 P 0 200 200 200 1 0 0 { T 100 250 5 8 0 1 0 0 1 pinnumber=1 T 100 250 5 8 0 0 0 0 1 pinseq=1 T 100 250 5 8 0 1 0 0 1 pinlabel=1 T 100 250 5 8 0 1 0 0 1 pintype=pwr } P 900 200 700 200 1 0 0 { T 700 250 5 8 0 1 0 0 1 pinnumber=2 T 700 250 5 8 0 0 0 0 1 pinseq=2 T 700 250 5 8 0 1 0 0 1 pinlabel=2 T 700 250 5 8 0 1 0 0 1 pintype=pwr } V 450 200 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 100 550 5 10 0 0 0 0 1 device=VOLTAGE_SOURCE L 200 200 250 200 3 0 0 0 -1 -1 L 650 200 700 200 3 0 0 0 -1 -1 T 300 500 8 10 1 1 0 0 1 refdes=V? geda-gaf-1.8.2/symbols/analog/CS5396-1.sym0000664000175000017500000001303412204104272014550 00000000000000v 20050820 1 B 300 300 3000 5400 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 T 300 6200 5 10 0 0 0 0 1 device=CS5396-KS T 300 6000 8 10 1 1 0 0 1 refdes=U? P 300 4200 0 4200 1 0 1 { T 200 4250 5 8 1 1 0 6 1 pinnumber=1 T 200 4150 5 8 0 1 0 8 1 pinseq=1 T 350 4200 9 8 1 1 0 0 1 pinlabel=Vref T 350 4200 5 8 0 1 0 2 1 pintype=pwr } P 300 2700 0 2700 1 0 1 { T 200 2750 5 8 1 1 0 6 1 pinnumber=2 T 200 2650 5 8 0 1 0 8 1 pinseq=2 T 350 2700 9 8 1 1 0 0 1 pinlabel=Vcom T 350 2700 5 8 0 1 0 2 1 pintype=out } P 600 300 600 0 1 0 1 { T 650 100 5 8 1 1 0 0 1 pinnumber=3 T 650 100 5 8 0 1 0 2 1 pinseq=3 T 600 350 9 8 1 1 0 3 1 pinlabel=AGND0 T 600 500 5 8 0 1 0 3 1 pintype=pwr } P 300 5400 0 5400 1 0 1 { T 200 5450 5 8 1 1 0 6 1 pinnumber=4 T 200 5350 5 8 0 1 0 8 1 pinseq=4 T 350 5400 9 8 1 1 0 0 1 pinlabel=AinL+ T 350 5400 5 8 0 1 0 2 1 pintype=in } P 300 4800 0 4800 1 0 1 { T 200 4850 5 8 1 1 0 6 1 pinnumber=5 T 200 4750 5 8 0 1 0 8 1 pinseq=5 T 350 4800 9 8 1 1 0 0 1 pinlabel=AinL- T 350 4800 5 8 0 1 0 2 1 pintype=in } P 3300 4200 3600 4200 1 0 1 { T 3400 4250 5 8 1 1 0 0 1 pinnumber=6 T 3400 4150 5 8 0 1 0 2 1 pinseq=6 T 3250 4200 9 8 1 1 0 6 1 pinlabel=ADCTL T 3250 4200 5 8 0 1 0 8 1 pintype=in } P 3300 2100 3600 2100 1 0 1 { T 3400 2150 5 8 1 1 0 0 1 pinnumber=7 T 3400 2050 5 8 0 1 0 2 1 pinseq=7 T 3250 2100 9 8 1 1 0 6 1 pinlabel=MCLKA T 3250 2100 5 8 0 1 0 8 1 pintype=in } L 3300 2200 3200 2100 3 0 0 0 -1 -1 L 3300 2000 3200 2100 3 0 0 0 -1 -1 P 300 3600 0 3600 1 0 1 { T 200 3650 5 8 1 1 0 6 1 pinnumber=8 T 200 3550 5 8 0 1 0 8 1 pinseq=8 T 350 3600 9 8 1 1 0 0 1 pinlabel=TST01 T 350 3600 5 8 0 1 0 2 1 pintype=out } P 3300 4500 3600 4500 1 0 1 { T 3400 4550 5 8 1 1 0 0 1 pinnumber=9 T 3400 4450 5 8 0 1 0 2 1 pinseq=9 T 3250 4500 9 8 1 1 0 6 1 pinlabel=DACTL T 3250 4500 5 8 0 1 0 8 1 pintype=out } P 3300 5100 3600 5100 1 0 1 { T 3400 5150 5 8 1 1 0 0 1 pinnumber=10 T 3400 5050 5 8 0 1 0 2 1 pinseq=10 T 3250 5100 9 8 1 1 0 6 1 pinlabel=CAL T 3250 5100 5 8 0 1 0 8 1 pintype=in } P 3000 5700 3000 6000 1 0 1 { T 3050 5800 5 8 1 1 0 0 1 pinnumber=11 T 3050 5800 5 8 0 1 0 2 1 pinseq=11 T 3000 5650 9 8 1 1 0 5 1 pinlabel=VD T 3000 5500 5 8 0 1 0 5 1 pintype=pwr } P 3000 300 3000 0 1 0 1 { T 3050 100 5 8 1 1 0 0 1 pinnumber=12 T 3050 100 5 8 0 1 0 2 1 pinseq=12 T 3000 350 9 8 1 1 0 3 1 pinlabel=DGND T 3000 500 5 8 0 1 0 3 1 pintype=pwr } P 3300 3000 3600 3000 1 0 1 { T 3400 3050 5 8 1 1 0 0 1 pinnumber=13 T 3400 2950 5 8 0 1 0 2 1 pinseq=13 T 3250 3000 9 8 1 1 0 6 1 pinlabel=LRCK T 3250 3000 5 8 0 1 0 8 1 pintype=io } P 3300 2700 3600 2700 1 0 1 { T 3400 2750 5 8 1 1 0 0 1 pinnumber=14 T 3400 2650 5 8 0 1 0 2 1 pinseq=14 T 3250 2700 9 8 1 1 0 6 1 pinlabel=SCLK T 3250 2700 5 8 0 1 0 8 1 pintype=io } P 3300 3600 3600 3600 1 0 1 { T 3400 3650 5 8 1 1 0 0 1 pinnumber=15 T 3400 3550 5 8 0 1 0 2 1 pinseq=15 T 3250 3600 9 8 1 1 0 6 1 pinlabel=SDATA2 T 3250 3600 5 8 0 1 0 8 1 pintype=out } P 3300 3300 3600 3300 1 0 1 { T 3400 3350 5 8 1 1 0 0 1 pinnumber=16 T 3400 3250 5 8 0 1 0 2 1 pinseq=16 T 3250 3300 9 8 1 1 0 6 1 pinlabel=SDATA1 T 3250 3300 5 8 0 1 0 8 1 pintype=out } P 3300 900 3600 900 1 0 1 { T 3400 950 5 8 1 1 0 0 1 pinnumber=17 T 3400 850 5 8 0 1 0 2 1 pinseq=17 T 3250 900 9 8 1 1 0 6 1 pinlabel=CCLK/SM T 3250 900 5 8 0 1 0 8 1 pintype=in } P 3300 5400 3600 5400 1 0 1 { T 3400 5450 5 8 1 1 0 0 1 pinnumber=18 T 3400 5350 5 8 0 1 0 2 1 pinseq=18 T 3250 5400 9 8 1 1 0 6 1 pinlabel=CDIN/DFS T 3250 5400 5 8 0 1 0 8 1 pintype=in } P 3300 1200 3600 1200 1 0 1 { T 3400 1250 5 8 1 1 0 0 1 pinnumber=19 T 3400 1150 5 8 0 1 0 2 1 pinseq=19 T 3250 1200 9 8 1 1 0 6 1 pinlabel=CS/PDN T 3250 1200 5 8 0 1 0 8 1 pintype=in } P 3300 1800 3600 1800 1 0 1 { T 3400 1850 5 8 1 1 0 0 1 pinnumber=20 T 3400 1750 5 8 0 1 0 2 1 pinseq=20 T 3250 1800 9 8 1 1 0 6 1 pinlabel=MCLKD T 3250 1800 5 8 0 1 0 8 1 pintype=clk } L 3300 1900 3200 1800 3 0 0 0 -1 -1 L 3300 1700 3200 1800 3 0 0 0 -1 -1 P 300 3300 0 3300 1 0 1 { T 200 3350 5 8 1 1 0 6 1 pinnumber=21 T 200 3250 5 8 0 1 0 8 1 pinseq=21 T 350 3300 9 8 1 1 0 0 1 pinlabel=TST02 T 350 3300 5 8 0 1 0 2 1 pintype=out } P 2400 300 2400 0 1 0 1 { T 2450 100 5 8 1 1 0 0 1 pinnumber=22 T 2450 100 5 8 0 1 0 2 1 pinseq=22 T 2400 350 9 8 1 1 0 3 1 pinlabel=LGND T 2400 500 5 8 0 1 0 3 1 pintype=pwr } P 2400 5700 2400 6000 1 0 1 { T 2450 5800 5 8 1 1 0 0 1 pinnumber=23 T 2450 5800 5 8 0 1 0 2 1 pinseq=23 T 2400 5650 9 8 1 1 0 5 1 pinlabel=VL T 2400 5500 5 8 0 1 0 5 1 pintype=pwr } P 1800 5700 1800 6000 1 0 1 { T 1850 5800 5 8 1 1 0 0 1 pinnumber=24 T 1850 5800 5 8 0 1 0 2 1 pinseq=24 T 1800 5650 9 8 1 1 0 5 1 pinlabel=VA T 1800 5500 5 8 0 1 0 5 1 pintype=pwr } P 1800 300 1800 0 1 0 1 { T 1850 100 5 8 1 1 0 0 1 pinnumber=25 T 1850 100 5 8 0 1 0 2 1 pinseq=25 T 1800 350 9 8 1 1 0 3 1 pinlabel=AGND2 T 1800 500 5 8 0 1 0 3 1 pintype=pwr } P 300 1500 0 1500 1 0 1 { T 200 1550 5 8 1 1 0 6 1 pinnumber=26 T 200 1450 5 8 0 1 0 8 1 pinseq=26 T 350 1500 9 8 1 1 0 0 1 pinlabel=AinR- T 350 1500 5 8 0 1 0 2 1 pintype=in } P 300 2100 0 2100 1 0 1 { T 200 2150 5 8 1 1 0 6 1 pinnumber=27 T 200 2050 5 8 0 1 0 8 1 pinseq=27 T 350 2100 9 8 1 1 0 0 1 pinlabel=AinR+ T 350 2100 5 8 0 1 0 2 1 pintype=in } P 1200 300 1200 0 1 0 1 { T 1250 100 5 8 1 1 0 0 1 pinnumber=28 T 1250 100 5 8 0 1 0 2 1 pinseq=28 T 1200 350 9 8 1 1 0 3 1 pinlabel=AGND1 T 1200 500 5 8 0 1 0 3 1 pintype=pwr } T 300 6800 5 10 0 0 0 0 1 footprint=SO28 T 300 7000 5 10 0 0 0 0 1 description=120dB, 96kHz Audio A/D Converter T 300 6600 5 10 0 0 0 0 1 numslots=0 T 300 6400 5 10 0 0 0 0 1 symversion=0.1 T 300 7200 5 10 0 0 0 0 1 documentation=http://www.cirrus.com/en/pubs/proBulletin/5396pi_3.pdf T 300 5750 3 10 1 0 0 0 1 CS5396-KS geda-gaf-1.8.2/symbols/analog/microphone-1.sym0000664000175000017500000000116312204104272016057 00000000000000v 20050820 1 A 0 500 500 270 180 3 0 0 0 -1 -1 T 400 1200 5 10 0 0 0 0 1 device=MICROPHONE L 0 1000 0 0 3 0 0 0 -1 -1 T 400 1000 8 10 1 1 0 0 1 refdes=MIC? T 400 1850 5 10 0 0 0 0 1 description=microphone T 400 1650 5 10 0 0 0 0 1 numslots=0 T 400 1450 5 10 0 0 0 0 1 symversion=0.1 P 700 800 400 800 1 0 0 { T 500 750 5 10 0 1 0 2 1 pinseq=1 T 350 800 5 10 0 1 0 8 1 pintype=pas T 500 850 5 10 0 1 0 0 1 pinnumber=1 T 350 800 5 10 0 1 0 6 1 pinlabel=1 } P 700 200 400 200 1 0 0 { T 500 150 5 10 0 1 0 2 1 pinseq=2 T 350 200 5 10 0 1 0 8 1 pintype=pas T 500 250 5 10 0 1 0 0 1 pinnumber=2 T 350 200 5 10 0 1 0 6 1 pinlabel=2 } geda-gaf-1.8.2/symbols/analog/pot-bourns.sym0000664000175000017500000000173412204104272015672 00000000000000v 20031231 1 P 500 450 500 600 1 0 1 { T 400 500 5 8 0 1 0 0 1 pinnumber=2 T 400 500 5 8 0 0 0 0 1 pinseq=2 T 400 500 5 8 0 1 0 0 1 pinlabel=2 T 400 500 5 8 0 1 0 0 1 pintype=pas } L 500 200 448 301 3 0 0 0 -1 -1 L 501 201 553 302 3 0 0 0 -1 -1 L 600 200 500 0 3 0 0 0 -1 -1 L 500 0 400 200 3 0 0 0 -1 -1 L 400 200 300 0 3 0 0 0 -1 -1 L 300 0 200 200 3 0 0 0 -1 -1 T 800 900 5 10 0 0 0 0 1 device=VARIABLE_RESISTOR L 600 200 700 0 3 0 0 0 -1 -1 L 700 0 750 100 3 0 0 0 -1 -1 P 900 100 750 100 1 0 0 { T 800 150 5 8 0 1 0 0 1 pinnumber=3 T 800 150 5 8 0 0 0 0 1 pinseq=3 T 800 150 5 8 0 1 0 0 1 pinlabel=3 T 800 150 5 8 0 1 0 0 1 pintype=pas } P 0 100 152 100 1 0 0 { T 100 150 5 8 0 1 0 0 1 pinnumber=1 T 100 150 5 8 0 0 0 0 1 pinseq=1 T 100 150 5 8 0 1 0 0 1 pinlabel=1 T 100 150 5 8 0 1 0 0 1 pintype=pas } L 201 200 150 100 3 0 0 0 -1 -1 L 500 200 500 450 3 0 0 0 -1 -1 T 600 400 8 10 1 1 0 0 1 refdes=R? T 800 1300 5 10 0 0 0 0 1 pins=3 T 800 1100 5 10 0 1 0 0 1 class=DISCRETE geda-gaf-1.8.2/symbols/analog/npn-2.sym0000664000175000017500000000137512204104272014515 00000000000000v 20080706 2 L 200 800 200 200 3 0 0 0 -1 -1 T 600 500 5 10 0 0 0 0 1 device=NPN_TRANSISTOR P 0 500 200 500 1 0 0 { T 100 550 5 6 1 1 0 0 1 pinnumber=B T 100 550 5 6 0 0 0 0 1 pinseq=2 T 100 550 5 6 0 1 0 0 1 pinlabel=B T 100 550 5 6 0 1 0 0 1 pintype=pas } P 500 1000 500 800 1 0 0 { T 400 850 5 6 1 1 0 0 1 pinnumber=C T 400 850 5 6 0 0 0 0 1 pinseq=1 T 400 850 5 6 0 1 0 0 1 pinlabel=C T 400 850 5 6 0 1 0 0 1 pintype=pas } P 500 200 500 0 1 0 1 { T 400 50 5 6 1 1 0 0 1 pinnumber=E T 400 50 5 6 0 0 0 0 1 pinseq=3 T 400 50 5 6 0 1 0 0 1 pinlabel=E T 400 50 5 6 0 1 0 0 1 pintype=pas } L 200 650 500 800 3 0 0 0 -1 -1 L 200 350 500 200 3 0 0 0 -1 -1 T 600 500 8 10 1 1 0 0 1 refdes=Q? H 3 0 0 0 -1 -1 1 -1 -1 -1 -1 -1 5 M 403,209 L 501,200 L 431,273 L 425,240 z geda-gaf-1.8.2/symbols/analog/resistorpack8-2.sym0000664000175000017500000000643312204104272016523 00000000000000v 20031231 1 L 0 700 200 600 3 0 0 0 -1 -1 L 200 600 0 500 3 0 0 0 -1 -1 L 0 500 200 400 3 0 0 0 -1 -1 L 200 400 0 300 3 0 0 0 -1 -1 L 0 700 200 800 3 0 0 0 -1 -1 L 200 800 100 850 3 0 0 0 -1 -1 P 100 0 100 252 1 0 0 { T -25 100 5 8 1 1 0 0 1 pinnumber=2 T -25 100 5 8 0 0 0 0 1 pinseq=2 T -25 100 5 8 0 1 0 0 1 pinlabel=2 T -25 100 5 8 0 1 0 0 1 pintype=pas } L 0 301 100 250 3 0 0 0 -1 -1 L 300 700 500 600 3 0 0 0 -1 -1 L 500 600 300 500 3 0 0 0 -1 -1 L 300 500 500 400 3 0 0 0 -1 -1 L 500 400 300 300 3 0 0 0 -1 -1 L 300 700 500 800 3 0 0 0 -1 -1 L 500 800 400 850 3 0 0 0 -1 -1 P 400 0 400 252 1 0 0 { T 275 100 5 8 1 1 0 0 1 pinnumber=3 T 275 100 5 8 0 0 0 0 1 pinseq=3 T 275 100 5 8 0 1 0 0 1 pinlabel=3 T 275 100 5 8 0 1 0 0 1 pintype=pas } L 300 301 400 250 3 0 0 0 -1 -1 L 600 700 800 600 3 0 0 0 -1 -1 L 800 600 600 500 3 0 0 0 -1 -1 L 600 500 800 400 3 0 0 0 -1 -1 L 800 400 600 300 3 0 0 0 -1 -1 L 600 700 800 800 3 0 0 0 -1 -1 L 800 800 700 850 3 0 0 0 -1 -1 P 700 0 700 252 1 0 0 { T 575 100 5 8 1 1 0 0 1 pinnumber=4 T 575 100 5 8 0 0 0 0 1 pinseq=4 T 575 100 5 8 0 1 0 0 1 pinlabel=4 T 575 100 5 8 0 1 0 0 1 pintype=pas } L 600 301 700 250 3 0 0 0 -1 -1 L 900 700 1100 600 3 0 0 0 -1 -1 L 1100 600 900 500 3 0 0 0 -1 -1 L 900 500 1100 400 3 0 0 0 -1 -1 L 1100 400 900 300 3 0 0 0 -1 -1 L 900 700 1100 800 3 0 0 0 -1 -1 L 1100 800 1000 850 3 0 0 0 -1 -1 P 1000 0 1000 252 1 0 0 { T 875 100 5 8 1 1 0 0 1 pinnumber=5 T 875 100 5 8 0 0 0 0 1 pinseq=5 T 875 100 5 8 0 1 0 0 1 pinlabel=5 T 875 100 5 8 0 1 0 0 1 pintype=pas } L 900 301 1000 250 3 0 0 0 -1 -1 P 2100 1100 2400 1100 1 0 1 { T 2200 1150 5 8 1 1 0 0 1 pinnumber=1 T 2200 1150 5 8 0 0 0 0 1 pinseq=1 T 2200 1150 5 8 0 1 0 0 1 pinlabel=1 T 2200 1150 5 8 0 1 0 0 1 pintype=pas } P 1300 0 1300 252 1 0 0 { T 1175 100 5 8 1 1 0 0 1 pinnumber=6 T 1175 100 5 8 0 0 0 0 1 pinseq=6 T 1175 100 5 8 0 1 0 0 1 pinlabel=6 T 1175 100 5 8 0 1 0 0 1 pintype=pas } L 1200 301 1300 250 3 0 0 0 -1 -1 L 1200 700 1400 600 3 0 0 0 -1 -1 L 1400 600 1200 500 3 0 0 0 -1 -1 L 1200 500 1400 400 3 0 0 0 -1 -1 L 1400 400 1200 300 3 0 0 0 -1 -1 L 1200 700 1400 800 3 0 0 0 -1 -1 L 1400 800 1300 850 3 0 0 0 -1 -1 L 100 850 100 1100 3 0 0 0 -1 -1 L 400 850 400 1100 3 0 0 0 -1 -1 L 700 850 700 1100 3 0 0 0 -1 -1 L 1000 850 1000 1100 3 0 0 0 -1 -1 L 1300 850 1300 1100 3 0 0 0 -1 -1 L 100 1100 2100 1100 3 0 0 0 -1 -1 T 100 1400 5 10 0 0 0 0 1 device=RESISTORPACK_8 T 100 1200 8 10 1 1 0 0 1 refdes=R? L 1500 301 1600 250 3 0 0 0 -1 -1 L 1500 700 1700 600 3 0 0 0 -1 -1 L 1700 600 1500 500 3 0 0 0 -1 -1 L 1500 500 1700 400 3 0 0 0 -1 -1 L 1700 400 1500 300 3 0 0 0 -1 -1 L 1500 700 1700 800 3 0 0 0 -1 -1 L 1700 800 1600 850 3 0 0 0 -1 -1 L 1600 850 1600 1100 3 0 0 0 -1 -1 P 1600 0 1600 252 1 0 0 { T 1475 100 5 8 1 1 0 0 1 pinnumber=7 T 1475 100 5 8 0 0 0 0 1 pinseq=7 T 1475 100 5 8 0 1 0 0 1 pinlabel=7 T 1475 100 5 8 0 1 0 0 1 pintype=pas } L 1800 301 1900 250 3 0 0 0 -1 -1 L 1800 700 2000 600 3 0 0 0 -1 -1 L 2000 600 1800 500 3 0 0 0 -1 -1 L 1800 500 2000 400 3 0 0 0 -1 -1 L 2000 400 1800 300 3 0 0 0 -1 -1 L 1800 700 2000 800 3 0 0 0 -1 -1 L 2000 800 1900 850 3 0 0 0 -1 -1 L 1900 850 1900 1100 3 0 0 0 -1 -1 P 1900 0 1900 252 1 0 0 { T 1775 100 5 8 1 1 0 0 1 pinnumber=8 T 1775 100 5 8 0 0 0 0 1 pinseq=8 T 1775 100 5 8 0 1 0 0 1 pinlabel=8 T 1775 100 5 8 0 1 0 0 1 pintype=pas } geda-gaf-1.8.2/symbols/analog/pmos-3.sym0000664000175000017500000000201512204104272014671 00000000000000v 20031231 1 T 600 500 5 10 0 0 0 0 1 device=PMOS_TRANSISTOR T 600 500 5 10 0 0 0 0 1 numslots=0 T 600 500 5 10 0 0 0 0 1 description=generic P channel MOS transistor (enhancement type) L 250 600 500 600 3 0 0 0 -1 -1 L 250 200 500 200 3 0 0 0 -1 -1 L 300 350 400 400 3 0 0 0 -1 -1 L 300 450 400 400 3 0 0 0 -1 -1 P 0 200 200 200 1 0 0 { T 0 300 5 10 0 1 0 0 1 pinnumber=G T 0 300 9 10 0 1 0 0 1 pinlabel=G T 0 300 5 10 0 0 0 0 1 pinseq=2 T 0 300 5 10 0 0 0 0 1 pintype=pas } P 500 600 500 800 1 0 1 { T 300 700 5 10 0 1 0 0 1 pinnumber=D T 300 700 9 10 0 1 0 0 1 pinlabel=D T 300 700 5 10 0 0 0 0 1 pinseq=1 T 300 700 5 10 0 0 0 0 1 pintype=pas } P 500 200 500 0 1 0 1 { T 300 0 5 10 0 1 0 0 1 pinnumber=S T 300 0 9 10 0 1 0 0 1 pinlabel=S T 300 0 5 10 0 0 0 0 1 pinseq=3 T 300 0 5 10 0 0 0 0 1 pintype=pas } T 700 600 8 10 1 1 0 0 1 refdes=Q? L 250 675 250 525 3 0 0 0 -1 -1 L 250 475 250 325 3 0 0 0 -1 -1 L 250 275 250 125 3 0 0 0 -1 -1 L 200 600 200 200 3 0 0 0 -1 -1 L 250 400 400 400 3 0 0 0 -1 -1 L 400 400 400 200 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/analog/voltage-3.sym0000664000175000017500000000112312204104272015353 00000000000000v 20031231 1 P 900 200 700 200 1 0 0 { T 800 250 5 8 0 1 0 0 1 pinnumber=2 T 800 250 5 8 0 0 0 0 1 pinseq=2 T 800 250 5 8 0 1 0 0 1 pinlabel=2 T 800 250 5 8 0 1 0 0 1 pintype=pwr } P 0 200 200 200 1 0 0 { T 100 250 5 8 0 1 0 0 1 pinnumber=1 T 100 250 5 8 0 0 0 0 1 pinseq=1 T 100 250 5 8 0 1 0 0 1 pinlabel=1 T 100 250 5 8 0 1 0 0 1 pintype=pwr } V 450 200 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 200 700 9 8 0 0 0 0 1 device=VOLTAGE_SOURCE L 700 200 650 200 3 0 0 0 -1 -1 L 250 200 200 200 3 0 0 0 -1 -1 T 300 500 8 10 1 1 0 0 1 refdes=V? T 325 225 9 10 1 0 0 4 1 + T 575 225 9 10 1 0 0 4 1 - geda-gaf-1.8.2/symbols/analog/testpt-1.sym0000664000175000017500000000070712204104272015242 00000000000000v 20031231 1 P 100 0 100 200 1 0 0 { T 300 0 5 10 0 0 0 0 1 pinseq=1 T 300 200 5 10 0 0 0 0 1 pinnumber=1 T 100 0 5 10 0 1 0 0 1 pintype=io T 100 0 5 10 0 1 0 0 1 pinlabel=1 } L 0 300 100 200 3 0 0 0 -1 -1 L 100 200 200 300 3 0 0 0 -1 -1 L 0 300 100 400 3 0 0 0 -1 -1 L 100 400 200 300 3 0 0 0 -1 -1 T 100 400 8 10 1 1 0 0 1 refdes=TP? T 400 900 8 10 0 0 0 0 1 device=TESTPOINT T 400 700 8 10 0 0 0 0 1 footprint=none T 400 1100 8 10 0 0 0 0 1 numslots=0 geda-gaf-1.8.2/symbols/analog/pnp-1.sym0000664000175000017500000000137512204104272014516 00000000000000v 20080706 2 L 200 800 200 200 3 0 0 0 -1 -1 T 600 500 5 10 0 0 0 0 1 device=PNP_TRANSISTOR L 500 800 200 500 3 0 0 0 -1 -1 L 200 500 500 200 3 0 0 0 -1 -1 P 0 500 200 500 1 0 0 { T 100 550 5 6 1 1 0 0 1 pinnumber=B T 100 550 5 6 0 0 0 0 1 pinseq=2 T 100 550 5 6 0 1 0 0 1 pinlabel=B T 100 550 5 6 0 1 0 0 1 pintype=pas } P 500 1000 500 800 1 0 0 { T 400 850 5 6 1 1 0 0 1 pinnumber=C T 400 850 5 6 0 0 0 0 1 pinseq=1 T 400 850 5 6 0 1 0 0 1 pinlabel=C T 400 850 5 6 0 1 0 0 1 pintype=pas } P 500 200 500 0 1 0 1 { T 400 50 5 6 1 1 0 0 1 pinnumber=E T 400 50 5 6 0 0 0 0 1 pinseq=3 T 400 50 5 6 0 1 0 0 1 pinlabel=E T 400 50 5 6 0 1 0 0 1 pintype=pas } T 600 500 8 10 1 1 0 0 1 refdes=Q? H 3 0 0 0 -1 -1 1 -1 -1 -1 -1 -1 5 M 340,290 L 300,401 L 395,355 L 365,335 z geda-gaf-1.8.2/symbols/analog/txo-1.sym0000664000175000017500000000162412204104272014530 00000000000000v 20050820 1 P 800 1500 800 1300 1 0 0 { T 750 1450 5 10 1 1 180 0 1 pinnumber=4 T 750 1450 5 10 0 0 180 0 1 pinseq=4 T 800 1250 9 10 1 1 0 5 1 pinlabel=Vcc T 800 1500 5 10 0 0 0 0 1 pintype=pwr } P 200 700 0 700 1 0 1 { T 50 750 5 10 1 1 0 0 1 pinnumber=1 T 50 750 5 10 0 0 0 0 1 pinseq=1 T 250 700 9 10 1 1 0 1 1 pinlabel=Tune T 200 700 5 10 0 0 0 0 1 pintype=in } P 800 200 800 0 1 0 1 { T 750 150 5 10 1 1 180 0 1 pinnumber=2 T 750 150 5 10 0 0 180 0 1 pinseq=2 T 800 250 9 10 1 1 0 3 1 pinlabel=GND T 800 200 5 10 0 0 0 0 1 pintype=pwr } P 1600 700 1400 700 1 0 0 { T 1450 750 5 10 1 1 0 0 1 pinnumber=3 T 1450 750 5 10 0 0 0 0 1 pinseq=3 T 1300 700 9 10 1 1 0 7 1 pinlabel=Out T 1600 700 5 10 0 0 0 0 1 pintype=out } B 200 200 1200 1100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 200 1600 8 10 1 1 0 0 1 refdes=U? T 200 2200 8 10 0 0 0 0 1 class=IC T 200 2000 8 10 0 0 0 0 1 device=VTXO T 200 1800 8 10 0 0 0 0 1 pins=4 geda-gaf-1.8.2/symbols/analog/leddual-2.sym0000664000175000017500000000261312204104272015330 00000000000000v 20050820 1 P 0 200 200 200 1 0 0 { T 150 250 5 8 1 1 0 6 1 pinnumber=1 T 150 150 5 8 0 1 0 8 1 pinseq=1 T 200 200 9 8 0 1 0 0 1 pinlabel=A1 T 200 200 5 8 0 1 0 2 1 pintype=pas } P 900 200 700 200 1 0 0 { T 750 250 5 8 1 1 0 0 1 pinnumber=3 T 750 150 5 8 0 1 0 2 1 pinseq=3 T 700 200 9 8 0 1 0 6 1 pinlabel=A2 T 700 200 5 8 0 1 0 8 1 pintype=pas } V 450 200 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 800 600 5 10 0 0 0 0 1 device=LED L 516 503 617 604 3 0 0 0 -1 -1 L 617 604 621 555 3 0 0 0 -1 -1 L 621 555 722 657 3 0 0 0 -1 -1 L 484 418 585 518 3 0 0 0 -1 -1 L 585 518 589 469 3 0 0 0 -1 -1 L 589 469 690 570 3 0 0 0 -1 -1 L 300 275 300 125 3 0 0 0 -1 -1 L 375 200 300 275 3 0 0 0 -1 -1 L 375 200 300 125 3 0 0 0 -1 -1 L 375 275 375 125 3 0 0 0 -1 -1 L 600 125 600 275 3 0 0 0 -1 -1 L 525 200 600 125 3 0 0 0 -1 -1 L 525 200 600 275 3 0 0 0 -1 -1 L 525 125 525 275 3 0 0 0 -1 -1 P 400 700 400 500 1 0 0 { T 450 550 5 8 1 1 0 0 1 pinnumber=2 T 450 550 5 8 0 1 0 2 1 pinseq=2 T 400 450 9 8 0 1 0 5 1 pinlabel=K T 400 400 5 8 0 1 0 5 1 pintype=pas } L 200 200 300 200 3 0 0 0 -1 -1 L 375 200 525 200 3 0 0 0 -1 -1 L 600 200 700 200 3 0 0 0 -1 -1 L 450 200 450 450 3 0 0 0 -1 -1 L 450 450 400 450 3 0 0 0 -1 -1 L 400 450 400 500 3 0 0 0 -1 -1 T 800 400 8 10 1 1 0 0 1 refdes=LED? T 800 1200 5 10 0 0 0 0 1 description=dual LED with common cathode T 800 1000 5 10 0 0 0 0 1 numslots=0 T 800 800 5 10 0 0 0 0 1 symversion=0.1 geda-gaf-1.8.2/symbols/analog/dual-opamp-1.sym0000664000175000017500000000301012204104272015744 00000000000000v 20050820 1 L 200 800 200 0 3 0 0 0 -1 -1 L 200 800 800 400 3 0 0 0 -1 -1 T 200 2300 5 10 0 0 0 0 1 device=DUAL_OPAMP L 800 400 200 0 3 0 0 0 -1 -1 L 300 250 300 150 3 0 0 0 -1 -1 L 250 200 350 200 3 0 0 0 -1 -1 L 250 600 350 600 3 0 0 0 -1 -1 P 0 200 200 200 1 0 0 { T 150 250 5 8 1 1 0 6 1 pinnumber=3 T 150 150 5 8 0 1 0 8 1 pinseq=1 T 250 200 9 8 0 1 0 0 1 pinlabel=IN+ T 250 200 5 8 0 1 0 2 1 pintype=in } P 0 600 200 600 1 0 0 { T 150 650 5 8 1 1 0 6 1 pinnumber=2 T 150 550 5 8 0 1 0 8 1 pinseq=2 T 250 600 9 8 0 1 0 0 1 pinlabel=IN- T 250 600 5 8 0 1 0 2 1 pintype=in } P 800 400 1000 400 1 0 1 { T 850 450 5 8 1 1 0 0 1 pinnumber=1 T 850 350 5 8 0 1 0 2 1 pinseq=5 T 800 400 9 8 0 1 0 6 1 pinlabel=OUT T 800 400 5 8 0 1 0 8 1 pintype=out } P 500 600 500 800 1 0 1 { T 550 600 5 8 1 1 0 0 1 pinnumber=8 T 550 600 5 8 0 1 0 2 1 pinseq=3 T 500 600 9 8 1 1 0 5 1 pinlabel=V+ T 500 500 5 8 0 1 0 5 1 pintype=pwr } P 500 200 500 0 1 0 1 { T 550 100 5 8 1 1 0 0 1 pinnumber=4 T 550 100 5 8 0 1 0 2 1 pinseq=4 T 500 200 9 8 1 1 0 3 1 pinlabel=V- T 500 300 5 8 0 1 0 3 1 pintype=pwr } T 200 900 8 10 1 1 0 0 1 refdes=U? T 200 1100 5 10 0 0 0 0 1 slot=1 T 200 1300 5 10 0 0 0 0 1 numslots=2 T 200 1500 5 10 0 0 0 0 1 slotdef=1:3,2,8,4,1 T 200 1700 5 10 0 0 0 0 1 slotdef=2:5,6,8,4,7 T 200 1900 5 10 0 0 0 0 1 footprint=SO8 T 200 2100 5 10 0 0 0 0 1 footprint2=DIP8 T 200 2500 5 10 0 0 0 0 1 symversion=0.2 T 200 2700 5 10 0 0 0 0 1 documentation=http://www.onsemi.com/pub/Collateral/LM358-D.PDF T 200 2900 5 10 0 0 0 0 1 description=dual opamp geda-gaf-1.8.2/symbols/analog/battery-3.sym0000664000175000017500000000144212204104272015370 00000000000000v 20050820 1 P 0 200 200 200 1 0 0 { T 150 250 5 8 1 1 0 6 1 pinnumber=1 T 150 150 5 8 0 1 0 8 1 pinseq=1 T 200 200 9 8 0 1 0 0 1 pinlabel=+ T 200 200 5 8 0 1 0 2 1 pintype=pwr } P 1100 200 900 200 1 0 0 { T 950 250 5 8 1 1 0 0 1 pinnumber=2 T 950 150 5 8 0 1 0 2 1 pinseq=2 T 900 200 9 8 0 1 0 6 1 pinlabel=- T 900 200 5 8 0 1 0 8 1 pintype=pwr } L 300 400 300 0 3 0 0 0 -1 -1 L 400 300 400 100 3 0 0 0 -1 -1 L 500 400 500 0 3 0 0 0 -1 -1 L 600 300 600 100 3 0 0 0 -1 -1 L 900 200 800 200 3 0 0 0 -1 -1 L 200 200 300 200 3 0 0 0 -1 -1 L 700 400 700 0 3 0 0 0 -1 -1 L 800 300 800 100 3 0 0 0 -1 -1 T 300 700 5 10 0 0 0 0 1 device=BATTERY T 300 500 8 10 1 1 0 0 1 refdes=B? T 300 1350 5 10 0 0 0 0 1 description=battery stack T 300 1150 5 10 0 0 0 0 1 numslots=0 T 300 950 5 10 0 0 0 0 1 symversion=0.1 geda-gaf-1.8.2/symbols/analog/pot-2.sym0000664000175000017500000000205112204104272014514 00000000000000v 20031231 1 P 500 450 500 600 1 0 1 { T 400 500 5 8 1 1 0 0 1 pinnumber=2 T 400 500 5 8 0 0 0 0 1 pinseq=2 T 500 450 5 10 0 1 0 0 1 pintype=io T 500 450 5 10 0 1 0 0 1 pinlabel=wiper } L 500 200 448 301 3 0 0 0 -1 -1 L 501 201 553 302 3 0 0 0 -1 -1 L 600 200 500 0 3 0 0 0 -1 -1 L 500 0 400 200 3 0 0 0 -1 -1 L 400 200 300 0 3 0 0 0 -1 -1 L 300 0 200 200 3 0 0 0 -1 -1 T 800 900 5 10 0 0 0 0 1 device=VARIABLE_RESISTOR L 600 200 700 0 3 0 0 0 -1 -1 L 700 0 750 100 3 0 0 0 -1 -1 P 900 100 750 100 1 0 0 { T 800 -50 5 8 1 1 0 0 1 pinnumber=3 T 800 150 5 8 0 0 0 0 1 pinseq=3 T 900 100 5 10 0 1 0 0 1 pintype=io T 600 200 5 10 1 1 0 0 1 pinlabel=ccw } P 0 100 152 100 1 0 0 { T 100 -50 5 8 1 1 0 0 1 pinnumber=1 T 100 150 5 8 0 0 0 0 1 pinseq=1 T 0 100 5 10 0 1 0 0 1 pintype=io T 0 200 5 10 1 1 0 0 1 pinlabel=cw } L 201 200 150 100 3 0 0 0 -1 -1 L 500 200 500 450 3 0 0 0 -1 -1 T 600 400 8 10 1 1 0 0 1 refdes=R? T 800 1300 5 10 0 0 0 0 1 pins=3 T 800 1100 5 10 0 1 0 0 1 class=DISCRETE T 800 1500 8 10 0 0 0 0 1 footprint=none T 800 700 5 10 0 0 0 0 1 numslots=0 geda-gaf-1.8.2/symbols/analog/beeper-1.sym0000664000175000017500000000116312204104272015156 00000000000000v 20050820 1 P 0 300 200 300 1 0 0 { T 150 350 5 8 1 1 0 6 1 pinnumber=1 T 150 250 5 8 0 1 0 8 1 pinseq=1 T 250 300 9 8 0 1 0 0 1 pinlabel=1 T 250 300 5 8 0 1 0 2 1 pintype=pas } P 1000 300 800 300 1 0 0 { T 850 350 5 8 1 1 0 0 1 pinnumber=2 T 850 250 5 8 0 1 0 2 1 pinseq=2 T 800 300 9 8 0 1 0 6 1 pinlabel=2 T 800 300 5 8 0 1 0 8 1 pintype=pas } T 300 900 5 10 0 0 0 0 1 device=BEEPER T 300 700 8 10 1 1 0 0 1 refdes=U? V 500 300 300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 1500 5 10 0 0 0 0 1 description=pieco beeper T 300 1300 5 10 0 0 0 0 1 numslots=0 T 300 1100 5 10 0 0 0 0 1 symversion=0.1 T 277 255 9 8 1 0 0 0 1 Beeper geda-gaf-1.8.2/symbols/analog/transformer-5.sym0000664000175000017500000000477012204104272016271 00000000000000v 20041228 1 T 0 2000 8 10 1 1 0 0 1 refdes=T? A 500 1800 98 270 180 3 0 0 0 -1 -1 A 500 1600 98 270 180 3 0 0 0 -1 -1 A 500 1400 98 270 180 3 0 0 0 -1 -1 A 500 1200 100 270 180 3 0 0 0 -1 -1 A 1000 1200 98 90 180 3 0 0 0 -1 -1 A 500 1000 98 270 180 3 0 0 0 -1 -1 A 500 800 98 270 180 3 0 0 0 -1 -1 A 1000 1000 98 90 180 3 0 0 0 -1 -1 A 1000 800 98 90 180 3 0 0 0 -1 -1 A 1000 600 98 90 180 3 0 0 0 -1 -1 A 1000 400 98 90 180 3 0 0 0 -1 -1 A 1000 200 98 90 180 3 0 0 0 -1 -1 L 500 1900 200 1900 3 0 0 0 -1 -1 L 500 700 200 700 3 0 0 0 -1 -1 L 1000 1300 1300 1300 3 0 0 0 -1 -1 L 1000 100 1300 100 3 0 0 0 -1 -1 L 700 2600 700 0 3 0 0 0 -1 -1 L 800 2600 800 0 3 0 0 0 -1 -1 P 200 1900 0 1900 1 0 1 { T 200 1700 5 10 1 1 0 0 1 pinnumber=1 T 300 2000 5 10 0 0 0 0 1 pinseq=1 T 200 1900 5 10 0 1 0 0 1 pintype=pas T 200 1900 5 10 0 1 0 0 1 pinlabel=coil_connection } P 200 700 0 700 1 0 1 { T 200 800 5 10 1 1 0 0 1 pinnumber=2 T 200 600 5 10 0 0 0 0 1 pinseq=2 T 200 700 5 10 0 1 0 0 1 pintype=pas T 200 700 5 10 0 1 0 0 1 pinlabel=coil_connection } P 1300 1300 1500 1300 1 0 1 { T 1300 1400 5 10 1 1 0 0 1 pinnumber=5 T 1300 1400 5 10 0 0 0 0 1 pinseq=5 T 1300 1300 5 10 0 1 0 0 1 pintype=pas T 1300 1300 5 10 0 1 0 0 1 pinlabel=coil_connection } P 1300 100 1500 100 1 0 1 { T 1300 200 5 10 1 1 0 0 1 pinnumber=7 T 1300 0 5 10 0 0 0 0 1 pinseq=7 T 1300 100 5 10 0 1 0 0 1 pintype=pas T 1300 100 5 10 0 1 0 0 1 pinlabel=coil_connection } T 0 1600 8 10 0 0 0 0 1 device=TRANSFORMER L 1000 700 1300 700 3 0 0 0 -1 -1 P 1300 700 1500 700 1 0 1 { T 1300 800 5 10 1 1 0 0 1 pinnumber=6 T 1300 600 5 10 0 0 0 0 1 pinseq=6 T 1300 700 5 10 0 1 0 0 1 pintype=pas T 1300 700 5 10 0 1 0 0 1 pinlabel=coil_connection } A 1000 1800 98 90 180 3 0 0 0 -1 -1 A 1000 1600 98 90 180 3 0 0 0 -1 -1 A 1000 1400 98 90 180 3 0 0 0 -1 -1 A 1000 2400 98 90 180 3 0 0 0 -1 -1 A 1000 2200 98 90 180 3 0 0 0 -1 -1 A 1000 2000 98 90 180 3 0 0 0 -1 -1 L 1000 1900 1300 1900 3 0 0 0 -1 -1 P 1300 1900 1500 1900 1 0 1 { T 1300 2000 5 10 1 1 0 0 1 pinnumber=4 T 1300 2000 5 10 0 0 0 0 1 pinseq=4 T 1300 1900 5 10 0 1 0 0 1 pintype=pas T 1300 1900 5 10 0 1 0 0 1 pinlabel=coil_connection } L 1000 2500 1300 2500 3 0 0 0 -1 -1 P 1300 2500 1500 2500 1 0 1 { T 1300 2600 5 10 1 1 0 0 1 pinnumber=3 T 1300 2600 5 10 0 0 0 0 1 pinseq=3 T 1300 2500 5 10 0 1 0 0 1 pintype=pas T 1300 2500 5 10 0 1 0 0 1 pinlabel=coil_connection } T 1500 900 8 10 0 0 0 0 1 numslots=0 T 300 3200 8 10 0 1 0 0 1 comment=The footprint is omitted intentionally because depends on the PCB designer's taste heavily. geda-gaf-1.8.2/symbols/analog/resistor-variable-1.sym0000664000175000017500000000162212204104272017351 00000000000000v 20031231 1 P 500 450 500 600 1 0 1 { T 400 500 5 8 0 1 0 0 1 pinnumber=3 T 400 500 5 8 0 0 0 0 1 pinseq=3 T 400 500 5 8 0 1 0 0 1 pinlabel=3 T 400 500 5 8 0 1 0 0 1 pintype=pas } L 500 200 448 301 3 0 0 0 -1 -1 L 501 201 553 302 3 0 0 0 -1 -1 L 600 200 500 0 3 0 0 0 -1 -1 L 500 0 400 200 3 0 0 0 -1 -1 L 400 200 300 0 3 0 0 0 -1 -1 L 300 0 200 200 3 0 0 0 -1 -1 T 800 900 5 10 0 0 0 0 1 device=VARIABLE_RESISTOR L 600 200 700 0 3 0 0 0 -1 -1 L 700 0 750 100 3 0 0 0 -1 -1 P 900 100 750 100 1 0 0 { T 800 150 5 8 0 1 0 0 1 pinnumber=2 T 800 150 5 8 0 0 0 0 1 pinseq=2 T 800 150 5 8 0 1 0 0 1 pinlabel=2 T 800 150 5 8 0 1 0 0 1 pintype=pas } P 0 100 152 100 1 0 0 { T 100 150 5 8 0 1 0 0 1 pinnumber=1 T 100 150 5 8 0 0 0 0 1 pinseq=1 T 100 150 5 8 0 1 0 0 1 pinlabel=1 T 100 150 5 8 0 1 0 0 1 pintype=pas } L 201 200 150 100 3 0 0 0 -1 -1 L 500 200 500 450 3 0 0 0 -1 -1 T 600 400 8 10 1 1 0 0 1 refdes=R? geda-gaf-1.8.2/symbols/analog/resistorpack7-2.sym0000664000175000017500000000442712204104272016523 00000000000000v 20031231 1 T 100 1200 8 10 1 1 0 0 1 refdes=R? T 100 1500 8 10 0 0 0 0 1 device=RESISTORPACK_7 P 2500 1100 2200 1100 1 0 0 { T 2300 1150 5 8 1 1 0 0 1 pinnumber=1 T 2400 1050 5 8 0 0 180 0 1 pinseq=1 T 2300 1150 5 8 0 1 0 0 1 pinlabel=1 T 2300 1150 5 8 0 1 0 0 1 pintype=pas } P 100 0 100 252 1 0 0 { T -25 100 5 8 1 1 0 0 1 pinnumber=2 T -25 100 5 8 0 0 0 0 1 pinseq=2 T -25 100 5 8 0 1 0 0 1 pinlabel=2 T -25 100 5 8 0 1 0 0 1 pintype=pas } P 400 0 400 252 1 0 0 { T 275 100 5 8 1 1 0 0 1 pinnumber=3 T 275 100 5 8 0 0 0 0 1 pinseq=3 T 275 100 5 8 0 1 0 0 1 pinlabel=3 T 275 100 5 8 0 1 0 0 1 pintype=pas } P 700 0 700 252 1 0 0 { T 575 100 5 8 1 1 0 0 1 pinnumber=4 T 575 100 5 8 0 0 0 0 1 pinseq=4 T 575 100 5 8 0 1 0 0 1 pinlabel=4 T 575 100 5 8 0 1 0 0 1 pintype=pas } P 1000 0 1000 252 1 0 0 { T 875 100 5 8 1 1 0 0 1 pinnumber=5 T 875 100 5 8 0 0 0 0 1 pinseq=5 T 875 100 5 8 0 1 0 0 1 pinlabel=5 T 875 100 5 8 0 1 0 0 1 pintype=pas } P 1300 0 1300 252 1 0 0 { T 1175 100 5 8 1 1 0 0 1 pinnumber=6 T 1175 100 5 8 0 0 0 0 1 pinseq=6 T 1175 100 5 8 0 1 0 0 1 pinlabel=6 T 1175 100 5 8 0 1 0 0 1 pintype=pas } P 1600 0 1600 252 1 0 0 { T 1475 100 5 8 1 1 0 0 1 pinnumber=7 T 1475 100 5 8 0 0 0 0 1 pinseq=7 T 1475 100 5 8 0 1 0 0 1 pinlabel=7 T 1475 100 5 8 0 1 0 0 1 pintype=pas } P 1900 0 1900 252 1 0 0 { T 1775 100 5 8 1 1 0 0 1 pinnumber=8 T 1775 100 5 8 0 0 0 0 1 pinseq=8 T 1775 100 5 8 0 1 0 0 1 pinlabel=8 T 1775 100 5 8 0 1 0 0 1 pintype=pas } L 100 900 100 1100 3 0 0 0 -1 -1 L 2200 1100 100 1100 3 0 0 0 -1 -1 B 0 400 200 500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 100 250 100 400 3 0 0 0 -1 -1 L 400 900 400 1100 3 0 0 0 -1 -1 B 300 400 200 500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 400 250 400 400 3 0 0 0 -1 -1 L 700 900 700 1100 3 0 0 0 -1 -1 B 600 400 200 500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 700 250 700 400 3 0 0 0 -1 -1 L 1000 900 1000 1100 3 0 0 0 -1 -1 B 900 400 200 500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 1000 250 1000 400 3 0 0 0 -1 -1 L 1300 900 1300 1100 3 0 0 0 -1 -1 B 1200 400 200 500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 1300 250 1300 400 3 0 0 0 -1 -1 L 1600 900 1600 1100 3 0 0 0 -1 -1 B 1500 400 200 500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 1600 250 1600 400 3 0 0 0 -1 -1 L 1900 900 1900 1100 3 0 0 0 -1 -1 B 1800 400 200 500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 1900 250 1900 400 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/analog/resistorpack9-1.sym0000664000175000017500000000733212204104272016522 00000000000000v 20031231 1 L 0 700 200 600 3 0 0 0 -1 -1 L 200 600 0 500 3 0 0 0 -1 -1 L 0 500 200 400 3 0 0 0 -1 -1 L 200 400 0 300 3 0 0 0 -1 -1 L 0 700 200 800 3 0 0 0 -1 -1 L 200 800 100 850 3 0 0 0 -1 -1 P 100 0 100 252 1 0 0 { T -25 100 5 8 1 1 0 0 1 pinnumber=2 T -25 100 5 8 0 0 0 0 1 pinseq=2 T -25 100 5 8 0 1 0 0 1 pinlabel=2 T -25 100 5 8 0 1 0 0 1 pintype=pas } L 0 301 100 250 3 0 0 0 -1 -1 L 300 700 500 600 3 0 0 0 -1 -1 L 500 600 300 500 3 0 0 0 -1 -1 L 300 500 500 400 3 0 0 0 -1 -1 L 500 400 300 300 3 0 0 0 -1 -1 L 300 700 500 800 3 0 0 0 -1 -1 L 500 800 400 850 3 0 0 0 -1 -1 P 400 0 400 252 1 0 0 { T 275 100 5 8 1 1 0 0 1 pinnumber=3 T 275 100 5 8 0 0 0 0 1 pinseq=3 T 275 100 5 8 0 1 0 0 1 pinlabel=3 T 275 100 5 8 0 1 0 0 1 pintype=pas } L 300 301 400 250 3 0 0 0 -1 -1 L 600 700 800 600 3 0 0 0 -1 -1 L 800 600 600 500 3 0 0 0 -1 -1 L 600 500 800 400 3 0 0 0 -1 -1 L 800 400 600 300 3 0 0 0 -1 -1 L 600 700 800 800 3 0 0 0 -1 -1 L 800 800 700 850 3 0 0 0 -1 -1 P 700 0 700 252 1 0 0 { T 575 100 5 8 1 1 0 0 1 pinnumber=4 T 575 100 5 8 0 0 0 0 1 pinseq=4 T 575 100 5 8 0 1 0 0 1 pinlabel=4 T 575 100 5 8 0 1 0 0 1 pintype=pas } L 600 301 700 250 3 0 0 0 -1 -1 L 900 700 1100 600 3 0 0 0 -1 -1 L 1100 600 900 500 3 0 0 0 -1 -1 L 900 500 1100 400 3 0 0 0 -1 -1 L 1100 400 900 300 3 0 0 0 -1 -1 L 900 700 1100 800 3 0 0 0 -1 -1 L 1100 800 1000 850 3 0 0 0 -1 -1 P 1000 0 1000 252 1 0 0 { T 875 100 5 8 1 1 0 0 1 pinnumber=5 T 875 100 5 8 0 0 0 0 1 pinseq=5 T 875 100 5 8 0 1 0 0 1 pinlabel=5 T 875 100 5 8 0 1 0 0 1 pintype=pas } L 900 301 1000 250 3 0 0 0 -1 -1 P 2400 1100 2700 1100 1 0 1 { T 2500 1150 5 8 1 1 0 0 1 pinnumber=1 T 2500 1150 5 8 0 0 0 0 1 pinseq=1 T 2500 1150 5 8 0 1 0 0 1 pinlabel=1 T 2500 1150 5 8 0 1 0 0 1 pintype=pas } P 1300 0 1300 252 1 0 0 { T 1175 100 5 8 1 1 0 0 1 pinnumber=6 T 1175 100 5 8 0 0 0 0 1 pinseq=6 T 1175 100 5 8 0 1 0 0 1 pinlabel=6 T 1175 100 5 8 0 1 0 0 1 pintype=pas } L 1200 301 1300 250 3 0 0 0 -1 -1 L 1200 700 1400 600 3 0 0 0 -1 -1 L 1400 600 1200 500 3 0 0 0 -1 -1 L 1200 500 1400 400 3 0 0 0 -1 -1 L 1400 400 1200 300 3 0 0 0 -1 -1 L 1200 700 1400 800 3 0 0 0 -1 -1 L 1400 800 1300 850 3 0 0 0 -1 -1 L 100 850 100 1100 3 0 0 0 -1 -1 L 400 850 400 1100 3 0 0 0 -1 -1 L 700 850 700 1100 3 0 0 0 -1 -1 L 1000 850 1000 1100 3 0 0 0 -1 -1 L 1300 850 1300 1100 3 0 0 0 -1 -1 L 100 1100 2400 1100 3 0 0 0 -1 -1 T 100 1400 5 10 0 0 0 0 1 device=RESISTORPACK_9 T 100 1200 8 10 1 1 0 0 1 refdes=R? L 1500 301 1600 250 3 0 0 0 -1 -1 L 1500 700 1700 600 3 0 0 0 -1 -1 L 1700 600 1500 500 3 0 0 0 -1 -1 L 1500 500 1700 400 3 0 0 0 -1 -1 L 1700 400 1500 300 3 0 0 0 -1 -1 L 1500 700 1700 800 3 0 0 0 -1 -1 L 1700 800 1600 850 3 0 0 0 -1 -1 L 1600 850 1600 1100 3 0 0 0 -1 -1 P 1600 0 1600 252 1 0 0 { T 1475 100 5 8 1 1 0 0 1 pinnumber=7 T 1475 100 5 8 0 0 0 0 1 pinseq=7 T 1475 100 5 8 0 1 0 0 1 pinlabel=7 T 1475 100 5 8 0 1 0 0 1 pintype=pas } P 1900 0 1900 252 1 0 0 { T 1775 100 5 8 1 1 0 0 1 pinnumber=8 T 1775 100 5 8 0 0 0 0 1 pinseq=8 T 1775 100 5 8 0 1 0 0 1 pinlabel=8 T 1775 100 5 8 0 1 0 0 1 pintype=pas } L 1800 301 1900 250 3 0 0 0 -1 -1 L 1800 700 2000 600 3 0 0 0 -1 -1 L 2000 600 1800 500 3 0 0 0 -1 -1 L 1800 500 2000 400 3 0 0 0 -1 -1 L 2000 400 1800 300 3 0 0 0 -1 -1 L 1800 700 2000 800 3 0 0 0 -1 -1 L 2000 800 1900 850 3 0 0 0 -1 -1 L 1900 850 1900 1100 3 0 0 0 -1 -1 L 2100 301 2200 250 3 0 0 0 -1 -1 L 2100 700 2300 600 3 0 0 0 -1 -1 L 2300 600 2100 500 3 0 0 0 -1 -1 L 2100 500 2300 400 3 0 0 0 -1 -1 L 2300 400 2100 300 3 0 0 0 -1 -1 L 2100 700 2300 800 3 0 0 0 -1 -1 L 2300 800 2200 850 3 0 0 0 -1 -1 L 2200 850 2200 1100 3 0 0 0 -1 -1 P 2200 0 2200 252 1 0 0 { T 2075 100 5 8 1 1 0 0 1 pinnumber=9 T 2075 100 5 8 0 0 0 0 1 pinseq=9 T 2075 100 5 8 0 1 0 0 1 pinlabel=9 T 2075 100 5 8 0 1 0 0 1 pintype=pas } geda-gaf-1.8.2/symbols/analog/resistor-variable-2.sym0000664000175000017500000000136512204104272017356 00000000000000v 20031231 1 T 550 400 8 10 1 1 0 0 1 refdes=R? T 800 900 8 10 0 1 0 0 1 device=VARIABLE_RESISTOR P 0 100 200 100 1 0 0 { T 0 100 5 10 0 1 0 0 1 pinnumber=1 T 0 100 5 10 0 0 0 0 1 pinseq=1 T 0 100 5 10 0 1 0 0 1 pinlabel=1 T 0 100 5 10 0 1 0 0 1 pintype=pas } P 700 100 900 100 1 0 1 { T 800 100 5 10 0 1 0 0 1 pinnumber=2 T 800 100 5 10 0 0 0 0 1 pinseq=2 T 800 100 5 10 0 1 0 0 1 pinlabel=2 T 800 100 5 10 0 1 0 0 1 pintype=pas } P 500 400 500 600 1 0 1 { T 500 500 5 10 0 1 90 0 1 pinnumber=3 T 500 500 5 10 0 0 90 0 1 pinseq=3 T 500 500 5 10 0 1 90 0 1 pinlabel=3 T 500 500 5 10 0 1 90 0 1 pintype=pas } B 200 0 500 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 500 400 500 200 3 0 0 0 -1 -1 L 500 200 450 300 3 0 0 0 -1 -1 L 500 200 550 300 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/analog/capacitor-4.sym0000664000175000017500000000140612204104272015664 00000000000000v 20050820 1 P 0 200 200 200 1 0 0 { T 150 250 5 8 1 1 0 6 1 pinnumber=1 T 150 150 5 8 0 1 0 8 1 pinseq=1 T 200 200 9 8 0 1 0 0 1 pinlabel=+ T 200 200 5 8 0 1 0 2 1 pintype=pas } P 900 200 700 200 1 0 0 { T 750 250 5 8 1 1 0 0 1 pinnumber=2 T 750 150 5 8 0 1 0 2 1 pinseq=2 T 700 200 9 8 0 1 0 6 1 pinlabel=- T 700 200 5 8 0 1 0 8 1 pintype=pas } L 550 400 550 0 3 0 0 0 -1 -1 L 700 200 550 200 3 0 0 0 -1 -1 L 350 200 200 200 3 0 0 0 -1 -1 T 200 1100 5 10 0 0 0 0 1 device=POLARIZED_CAPACITOR L 239 400 239 300 3 0 0 0 -1 -1 L 290 349 190 349 3 0 0 0 -1 -1 T 200 500 8 10 1 1 0 0 1 refdes=C? B 350 0 100 400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 200 1300 5 10 0 0 0 0 1 description=polarized capacitor T 200 900 5 10 0 0 0 0 1 numslots=0 T 200 700 5 10 0 0 0 0 1 symversion=0.1 geda-gaf-1.8.2/symbols/analog/varistor-1.sym0000664000175000017500000000135612204104272015571 00000000000000v 20041228 1 T 100 1000 9 10 0 0 0 0 1 Copyright Mark Salyzyn T 100 800 5 10 0 0 0 0 1 device=MOV T 300 1400 5 10 0 0 0 0 1 description=Metal Oxide Varistor T 600 2000 5 10 0 0 0 0 1 numslots=0 T 300 1200 5 10 0 0 0 0 1 footprint=MOV P 0 200 152 200 1 0 0 { T 100 250 5 8 0 1 0 0 1 pinnumber=1 T 100 250 5 8 0 0 0 0 1 pinseq=1 T 100 250 5 8 0 0 0 0 1 pinlabel=1 T 100 250 5 8 0 0 0 0 1 pintype=in } P 900 200 750 200 1 0 0 { T 800 250 5 8 0 1 0 0 1 pinnumber=2 T 800 250 5 8 0 0 0 0 1 pinseq=2 T 100 250 5 8 0 0 0 0 1 pinlabel=2 T 100 250 5 8 0 0 0 0 1 pintype=in } B 150 100 600 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 1650 5 10 0 0 0 0 1 device=VARISTOR T 200 400 8 10 1 1 0 0 1 refdes=V? L 150 0 250 0 3 0 0 0 -1 -1 L 250 0 650 400 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/analog/resistorpack11-1.sym0000664000175000017500000001113712204104272016571 00000000000000v 20031231 1 L 0 700 200 600 3 0 0 0 -1 -1 L 200 600 0 500 3 0 0 0 -1 -1 L 0 500 200 400 3 0 0 0 -1 -1 L 200 400 0 300 3 0 0 0 -1 -1 L 0 700 200 800 3 0 0 0 -1 -1 L 200 800 100 850 3 0 0 0 -1 -1 P 100 0 100 252 1 0 0 { T -25 100 5 8 1 1 0 0 1 pinnumber=2 T -25 100 5 8 0 0 0 0 1 pinseq=2 T -25 100 5 8 0 1 0 0 1 pinlabel=2 T -25 100 5 8 0 1 0 0 1 pintype=pas } L 0 301 100 250 3 0 0 0 -1 -1 L 300 700 500 600 3 0 0 0 -1 -1 L 500 600 300 500 3 0 0 0 -1 -1 L 300 500 500 400 3 0 0 0 -1 -1 L 500 400 300 300 3 0 0 0 -1 -1 L 300 700 500 800 3 0 0 0 -1 -1 L 500 800 400 850 3 0 0 0 -1 -1 P 400 0 400 252 1 0 0 { T 275 100 5 8 1 1 0 0 1 pinnumber=3 T 275 100 5 8 0 0 0 0 1 pinseq=3 T 275 100 5 8 0 1 0 0 1 pinlabel=3 T 275 100 5 8 0 1 0 0 1 pintype=pas } L 300 301 400 250 3 0 0 0 -1 -1 L 600 700 800 600 3 0 0 0 -1 -1 L 800 600 600 500 3 0 0 0 -1 -1 L 600 500 800 400 3 0 0 0 -1 -1 L 800 400 600 300 3 0 0 0 -1 -1 L 600 700 800 800 3 0 0 0 -1 -1 L 800 800 700 850 3 0 0 0 -1 -1 P 700 0 700 252 1 0 0 { T 575 100 5 8 1 1 0 0 1 pinnumber=4 T 575 100 5 8 0 0 0 0 1 pinseq=4 T 575 100 5 8 0 1 0 0 1 pinlabel=4 T 575 100 5 8 0 1 0 0 1 pintype=pas } L 600 301 700 250 3 0 0 0 -1 -1 L 900 700 1100 600 3 0 0 0 -1 -1 L 1100 600 900 500 3 0 0 0 -1 -1 L 900 500 1100 400 3 0 0 0 -1 -1 L 1100 400 900 300 3 0 0 0 -1 -1 L 900 700 1100 800 3 0 0 0 -1 -1 L 1100 800 1000 850 3 0 0 0 -1 -1 P 1000 0 1000 252 1 0 0 { T 875 100 5 8 1 1 0 0 1 pinnumber=5 T 875 100 5 8 0 0 0 0 1 pinseq=5 T 875 100 5 8 0 1 0 0 1 pinlabel=5 T 875 100 5 8 0 1 0 0 1 pintype=pas } L 900 301 1000 250 3 0 0 0 -1 -1 P 3000 1100 3300 1100 1 0 1 { T 3100 1150 5 8 1 1 0 0 1 pinnumber=1 T 3100 1150 5 8 0 0 0 0 1 pinseq=1 T 3100 1150 5 8 0 1 0 0 1 pinlabel=1 T 3100 1150 5 8 0 1 0 0 1 pintype=pas } P 1300 0 1300 252 1 0 0 { T 1175 100 5 8 1 1 0 0 1 pinnumber=6 T 1175 100 5 8 0 0 0 0 1 pinseq=6 T 1175 100 5 8 0 1 0 0 1 pinlabel=6 T 1175 100 5 8 0 1 0 0 1 pintype=pas } L 1200 301 1300 250 3 0 0 0 -1 -1 L 1200 700 1400 600 3 0 0 0 -1 -1 L 1400 600 1200 500 3 0 0 0 -1 -1 L 1200 500 1400 400 3 0 0 0 -1 -1 L 1400 400 1200 300 3 0 0 0 -1 -1 L 1200 700 1400 800 3 0 0 0 -1 -1 L 1400 800 1300 850 3 0 0 0 -1 -1 L 100 850 100 1100 3 0 0 0 -1 -1 L 400 850 400 1100 3 0 0 0 -1 -1 L 700 850 700 1100 3 0 0 0 -1 -1 L 1000 850 1000 1100 3 0 0 0 -1 -1 L 1300 850 1300 1100 3 0 0 0 -1 -1 L 100 1100 3000 1100 3 0 0 0 -1 -1 T 100 1400 5 10 0 0 0 0 1 device=RESISTORPACK_11 T 100 1200 8 10 1 1 0 0 1 refdes=R? L 1500 301 1600 250 3 0 0 0 -1 -1 L 1500 700 1700 600 3 0 0 0 -1 -1 L 1700 600 1500 500 3 0 0 0 -1 -1 L 1500 500 1700 400 3 0 0 0 -1 -1 L 1700 400 1500 300 3 0 0 0 -1 -1 L 1500 700 1700 800 3 0 0 0 -1 -1 L 1700 800 1600 850 3 0 0 0 -1 -1 L 1600 850 1600 1100 3 0 0 0 -1 -1 P 1600 0 1600 252 1 0 0 { T 1475 100 5 8 1 1 0 0 1 pinnumber=7 T 1475 100 5 8 0 0 0 0 1 pinseq=7 T 1475 100 5 8 0 1 0 0 1 pinlabel=7 T 1475 100 5 8 0 1 0 0 1 pintype=pas } P 1900 0 1900 252 1 0 0 { T 1775 100 5 8 1 1 0 0 1 pinnumber=8 T 1775 100 5 8 0 0 0 0 1 pinseq=8 T 1775 100 5 8 0 1 0 0 1 pinlabel=8 T 1775 100 5 8 0 1 0 0 1 pintype=pas } L 1800 301 1900 250 3 0 0 0 -1 -1 L 1800 700 2000 600 3 0 0 0 -1 -1 L 2000 600 1800 500 3 0 0 0 -1 -1 L 1800 500 2000 400 3 0 0 0 -1 -1 L 2000 400 1800 300 3 0 0 0 -1 -1 L 1800 700 2000 800 3 0 0 0 -1 -1 L 2000 800 1900 850 3 0 0 0 -1 -1 L 1900 850 1900 1100 3 0 0 0 -1 -1 L 2100 301 2200 250 3 0 0 0 -1 -1 L 2100 700 2300 600 3 0 0 0 -1 -1 L 2300 600 2100 500 3 0 0 0 -1 -1 L 2100 500 2300 400 3 0 0 0 -1 -1 L 2300 400 2100 300 3 0 0 0 -1 -1 L 2100 700 2300 800 3 0 0 0 -1 -1 L 2300 800 2200 850 3 0 0 0 -1 -1 L 2200 850 2200 1100 3 0 0 0 -1 -1 P 2200 0 2200 252 1 0 0 { T 2075 100 5 8 1 1 0 0 1 pinnumber=9 T 2075 100 5 8 0 0 0 0 1 pinseq=9 T 2075 100 5 8 0 1 0 0 1 pinlabel=9 T 2075 100 5 8 0 1 0 0 1 pintype=pas } P 2500 0 2500 252 1 0 0 { T 2375 100 5 8 1 1 0 0 1 pinnumber=10 T 2375 100 5 8 0 0 0 0 1 pinseq=10 T 2375 100 5 8 0 1 0 0 1 pinlabel=10 T 2375 100 5 8 0 1 0 0 1 pintype=pas } L 2400 301 2500 250 3 0 0 0 -1 -1 L 2400 700 2600 600 3 0 0 0 -1 -1 L 2600 600 2400 500 3 0 0 0 -1 -1 L 2400 500 2600 400 3 0 0 0 -1 -1 L 2600 400 2400 300 3 0 0 0 -1 -1 L 2400 700 2600 800 3 0 0 0 -1 -1 L 2600 800 2500 850 3 0 0 0 -1 -1 L 2500 850 2500 1100 3 0 0 0 -1 -1 L 2700 301 2800 250 3 0 0 0 -1 -1 L 2700 700 2900 600 3 0 0 0 -1 -1 L 2900 600 2700 500 3 0 0 0 -1 -1 L 2700 500 2900 400 3 0 0 0 -1 -1 L 2900 400 2700 300 3 0 0 0 -1 -1 L 2700 700 2900 800 3 0 0 0 -1 -1 L 2900 800 2800 850 3 0 0 0 -1 -1 L 2800 850 2800 1100 3 0 0 0 -1 -1 P 2800 0 2800 252 1 0 0 { T 2675 100 5 8 1 1 0 0 1 pinnumber=11 T 2675 100 5 8 0 0 0 0 1 pinseq=11 T 2675 100 5 8 0 1 0 0 1 pinlabel=11 T 2675 100 5 8 0 1 0 0 1 pintype=pas } geda-gaf-1.8.2/symbols/analog/triac-1.sym0000664000175000017500000000156312204104272015022 00000000000000v 20031231 1 L 300 550 300 50 3 0 0 0 -1 -1 L 300 400 600 250 3 0 0 0 -1 -1 T 300 900 8 10 0 0 0 0 1 device=TRIAC L 600 200 300 50 3 0 0 0 -1 -1 L 600 550 600 50 3 0 0 0 -1 -1 P 0 300 200 300 1 0 0 { T 100 350 5 8 0 1 0 0 1 pinnumber=1 T 100 350 5 8 0 0 0 0 1 pinseq=1 T 100 350 5 8 0 1 0 0 1 pinlabel=1 T 100 350 5 8 0 1 0 0 1 pintype=pas } P 900 300 700 300 1 0 0 { T 700 350 5 8 0 1 0 0 1 pinnumber=2 T 700 350 5 8 0 0 0 0 1 pinseq=2 T 700 350 5 8 0 1 0 0 1 pinlabel=2 T 700 350 5 8 0 1 0 0 1 pintype=pas } L 700 300 600 300 3 0 0 0 -1 -1 L 300 300 200 300 3 0 0 0 -1 -1 T 300 600 8 10 1 1 0 0 1 refdes=D? L 600 200 300 350 3 0 0 0 -1 -1 L 300 400 600 550 3 0 0 0 -1 -1 L 600 300 700 500 3 0 0 0 -1 -1 P 700 700 700 500 1 0 0 { T 700 700 5 10 0 1 0 0 1 pinnumber=3 T 700 700 5 10 0 1 0 0 1 pinseq=3 T 700 700 5 10 0 1 0 0 1 pinlabel=3 T 700 700 5 10 0 1 0 0 1 pintype=pas } geda-gaf-1.8.2/symbols/analog/resistorpack12-1.sym0000664000175000017500000001204112204104272016565 00000000000000v 20031231 1 L 0 700 200 600 3 0 0 0 -1 -1 L 200 600 0 500 3 0 0 0 -1 -1 L 0 500 200 400 3 0 0 0 -1 -1 L 200 400 0 300 3 0 0 0 -1 -1 L 0 700 200 800 3 0 0 0 -1 -1 L 200 800 100 850 3 0 0 0 -1 -1 P 100 0 100 252 1 0 0 { T -25 100 5 8 1 1 0 0 1 pinnumber=2 T -25 100 5 8 0 0 0 0 1 pinseq=2 T -25 100 5 8 0 1 0 0 1 pinlabel=2 T -25 100 5 8 0 1 0 0 1 pintype=pas } L 0 301 100 250 3 0 0 0 -1 -1 L 300 700 500 600 3 0 0 0 -1 -1 L 500 600 300 500 3 0 0 0 -1 -1 L 300 500 500 400 3 0 0 0 -1 -1 L 500 400 300 300 3 0 0 0 -1 -1 L 300 700 500 800 3 0 0 0 -1 -1 L 500 800 400 850 3 0 0 0 -1 -1 P 400 0 400 252 1 0 0 { T 275 100 5 8 1 1 0 0 1 pinnumber=3 T 275 100 5 8 0 0 0 0 1 pinseq=3 T 275 100 5 8 0 1 0 0 1 pinlabel=3 T 275 100 5 8 0 1 0 0 1 pintype=pas } L 300 301 400 250 3 0 0 0 -1 -1 L 600 700 800 600 3 0 0 0 -1 -1 L 800 600 600 500 3 0 0 0 -1 -1 L 600 500 800 400 3 0 0 0 -1 -1 L 800 400 600 300 3 0 0 0 -1 -1 L 600 700 800 800 3 0 0 0 -1 -1 L 800 800 700 850 3 0 0 0 -1 -1 P 700 0 700 252 1 0 0 { T 575 100 5 8 1 1 0 0 1 pinnumber=4 T 575 100 5 8 0 0 0 0 1 pinseq=4 T 575 100 5 8 0 1 0 0 1 pinlabel=4 T 575 100 5 8 0 1 0 0 1 pintype=pas } L 600 301 700 250 3 0 0 0 -1 -1 L 900 700 1100 600 3 0 0 0 -1 -1 L 1100 600 900 500 3 0 0 0 -1 -1 L 900 500 1100 400 3 0 0 0 -1 -1 L 1100 400 900 300 3 0 0 0 -1 -1 L 900 700 1100 800 3 0 0 0 -1 -1 L 1100 800 1000 850 3 0 0 0 -1 -1 P 1000 0 1000 252 1 0 0 { T 875 100 5 8 1 1 0 0 1 pinnumber=5 T 875 100 5 8 0 0 0 0 1 pinseq=5 T 875 100 5 8 0 1 0 0 1 pinlabel=5 T 875 100 5 8 0 1 0 0 1 pintype=pas } L 900 301 1000 250 3 0 0 0 -1 -1 P 3300 1100 3600 1100 1 0 1 { T 3400 1150 5 8 1 1 0 0 1 pinnumber=1 T 3400 1150 5 8 0 0 0 0 1 pinseq=1 T 3400 1150 5 8 0 1 0 0 1 pinlabel=1 T 3400 1150 5 8 0 1 0 0 1 pintype=pas } P 1300 0 1300 252 1 0 0 { T 1175 100 5 8 1 1 0 0 1 pinnumber=6 T 1175 100 5 8 0 0 0 0 1 pinseq=6 T 1175 100 5 8 0 1 0 0 1 pinlabel=6 T 1175 100 5 8 0 1 0 0 1 pintype=pas } L 1200 301 1300 250 3 0 0 0 -1 -1 L 1200 700 1400 600 3 0 0 0 -1 -1 L 1400 600 1200 500 3 0 0 0 -1 -1 L 1200 500 1400 400 3 0 0 0 -1 -1 L 1400 400 1200 300 3 0 0 0 -1 -1 L 1200 700 1400 800 3 0 0 0 -1 -1 L 1400 800 1300 850 3 0 0 0 -1 -1 L 100 850 100 1100 3 0 0 0 -1 -1 L 400 850 400 1100 3 0 0 0 -1 -1 L 700 850 700 1100 3 0 0 0 -1 -1 L 1000 850 1000 1100 3 0 0 0 -1 -1 L 1300 850 1300 1100 3 0 0 0 -1 -1 L 100 1100 3300 1100 3 0 0 0 -1 -1 T 100 1400 5 10 0 0 0 0 1 device=RESISTORPACK_12 T 100 1200 8 10 1 1 0 0 1 refdes=R? L 1500 301 1600 250 3 0 0 0 -1 -1 L 1500 700 1700 600 3 0 0 0 -1 -1 L 1700 600 1500 500 3 0 0 0 -1 -1 L 1500 500 1700 400 3 0 0 0 -1 -1 L 1700 400 1500 300 3 0 0 0 -1 -1 L 1500 700 1700 800 3 0 0 0 -1 -1 L 1700 800 1600 850 3 0 0 0 -1 -1 L 1600 850 1600 1100 3 0 0 0 -1 -1 P 1600 0 1600 252 1 0 0 { T 1475 100 5 8 1 1 0 0 1 pinnumber=7 T 1475 100 5 8 0 0 0 0 1 pinseq=7 T 1475 100 5 8 0 1 0 0 1 pinlabel=7 T 1475 100 5 8 0 1 0 0 1 pintype=pas } P 1900 0 1900 252 1 0 0 { T 1775 100 5 8 1 1 0 0 1 pinnumber=8 T 1775 100 5 8 0 0 0 0 1 pinseq=8 T 1775 100 5 8 0 1 0 0 1 pinlabel=8 T 1775 100 5 8 0 1 0 0 1 pintype=pas } L 1800 301 1900 250 3 0 0 0 -1 -1 L 1800 700 2000 600 3 0 0 0 -1 -1 L 2000 600 1800 500 3 0 0 0 -1 -1 L 1800 500 2000 400 3 0 0 0 -1 -1 L 2000 400 1800 300 3 0 0 0 -1 -1 L 1800 700 2000 800 3 0 0 0 -1 -1 L 2000 800 1900 850 3 0 0 0 -1 -1 L 1900 850 1900 1100 3 0 0 0 -1 -1 L 2100 301 2200 250 3 0 0 0 -1 -1 L 2100 700 2300 600 3 0 0 0 -1 -1 L 2300 600 2100 500 3 0 0 0 -1 -1 L 2100 500 2300 400 3 0 0 0 -1 -1 L 2300 400 2100 300 3 0 0 0 -1 -1 L 2100 700 2300 800 3 0 0 0 -1 -1 L 2300 800 2200 850 3 0 0 0 -1 -1 L 2200 850 2200 1100 3 0 0 0 -1 -1 P 2200 0 2200 252 1 0 0 { T 2075 100 5 8 1 1 0 0 1 pinnumber=9 T 2075 100 5 8 0 0 0 0 1 pinseq=9 T 2075 100 5 8 0 1 0 0 1 pinlabel=9 T 2075 100 5 8 0 1 0 0 1 pintype=pas } P 2500 0 2500 252 1 0 0 { T 2375 100 5 8 1 1 0 0 1 pinnumber=10 T 2375 100 5 8 0 0 0 0 1 pinseq=10 T 2375 100 5 8 0 1 0 0 1 pinlabel=10 T 2375 100 5 8 0 1 0 0 1 pintype=pas } L 2400 301 2500 250 3 0 0 0 -1 -1 L 2400 700 2600 600 3 0 0 0 -1 -1 L 2600 600 2400 500 3 0 0 0 -1 -1 L 2400 500 2600 400 3 0 0 0 -1 -1 L 2600 400 2400 300 3 0 0 0 -1 -1 L 2400 700 2600 800 3 0 0 0 -1 -1 L 2600 800 2500 850 3 0 0 0 -1 -1 L 2500 850 2500 1100 3 0 0 0 -1 -1 L 2700 301 2800 250 3 0 0 0 -1 -1 L 2700 700 2900 600 3 0 0 0 -1 -1 L 2900 600 2700 500 3 0 0 0 -1 -1 L 2700 500 2900 400 3 0 0 0 -1 -1 L 2900 400 2700 300 3 0 0 0 -1 -1 L 2700 700 2900 800 3 0 0 0 -1 -1 L 2900 800 2800 850 3 0 0 0 -1 -1 L 2800 850 2800 1100 3 0 0 0 -1 -1 P 2800 0 2800 252 1 0 0 { T 2675 100 5 8 1 1 0 0 1 pinnumber=11 T 2675 100 5 8 0 0 0 0 1 pinseq=11 T 2675 100 5 8 0 1 0 0 1 pinlabel=11 T 2675 100 5 8 0 1 0 0 1 pintype=pas } L 3000 301 3100 250 3 0 0 0 -1 -1 L 3000 700 3200 600 3 0 0 0 -1 -1 L 3200 600 3000 500 3 0 0 0 -1 -1 L 3000 500 3200 400 3 0 0 0 -1 -1 L 3200 400 3000 300 3 0 0 0 -1 -1 L 3000 700 3200 800 3 0 0 0 -1 -1 L 3200 800 3100 850 3 0 0 0 -1 -1 L 3100 850 3100 1100 3 0 0 0 -1 -1 P 3100 0 3100 252 1 0 0 { T 2975 100 5 8 1 1 0 0 1 pinnumber=12 T 2975 100 5 8 0 0 0 0 1 pinseq=12 T 2975 100 5 8 0 1 0 0 1 pinlabel=12 T 2975 100 5 8 0 1 0 0 1 pintype=pas } geda-gaf-1.8.2/symbols/analog/pnp-2.sym0000664000175000017500000000137512204104272014517 00000000000000v 20080706 2 L 200 800 200 200 3 0 0 0 -1 -1 T 600 400 5 10 0 0 0 0 1 device=PNP_TRANSISTOR P 0 500 200 500 1 0 0 { T 100 550 5 6 1 1 0 0 1 pinnumber=B T 100 550 5 6 0 0 0 0 1 pinseq=2 T 100 550 5 6 0 1 0 0 1 pinlabel=B T 100 550 5 6 0 1 0 0 1 pintype=pas } P 500 1000 500 800 1 0 0 { T 400 850 5 6 1 1 0 0 1 pinnumber=C T 400 850 5 6 0 0 0 0 1 pinseq=1 T 400 850 5 6 0 1 0 0 1 pinlabel=C T 400 850 5 6 0 1 0 0 1 pintype=pas } P 500 200 500 0 1 0 1 { T 400 50 5 6 1 1 0 0 1 pinnumber=E T 400 50 5 6 0 0 0 0 1 pinseq=3 T 400 50 5 6 0 1 0 0 1 pinlabel=E T 400 50 5 6 0 1 0 0 1 pintype=pas } L 200 350 500 200 3 0 0 0 -1 -1 L 200 650 500 800 3 0 0 0 -1 -1 H 3 0 0 0 -1 -1 1 -1 -1 -1 -1 -1 5 M 297,341 L 200,350 L 269,277 L 277,311 z T 600 500 8 10 1 1 0 0 1 refdes=Q? geda-gaf-1.8.2/symbols/analog/transformer-1.sym0000664000175000017500000000251212204104272016255 00000000000000v 20031231 1 L 500 1100 200 1100 3 0 0 0 -1 -1 A 500 1000 100 270 180 3 0 0 0 -1 -1 A 500 400 100 270 180 3 0 0 0 -1 -1 A 500 200 100 270 180 3 0 0 0 -1 -1 L 500 100 200 100 3 0 0 0 -1 -1 L 1000 100 1300 100 3 0 0 0 -1 -1 A 1000 200 100 90 180 3 0 0 0 -1 -1 A 1000 400 100 90 180 3 0 0 0 -1 -1 A 1000 1000 100 90 180 3 0 0 0 -1 -1 L 1000 1100 1300 1100 3 0 0 0 -1 -1 L 700 1200 700 0 3 0 0 0 -1 -1 L 800 1200 800 0 3 0 0 0 -1 -1 P 200 100 0 100 1 0 1 { T 100 150 5 8 1 1 0 0 1 pinnumber=2 T 100 150 5 8 0 0 0 0 1 pinseq=2 T 100 150 5 8 0 1 0 0 1 pinlabel=2 T 100 150 5 8 0 1 0 0 1 pintype=pas } P 200 1100 0 1100 1 0 1 { T 100 1150 5 8 1 1 0 0 1 pinnumber=1 T 100 1150 5 8 0 0 0 0 1 pinseq=1 T 100 1150 5 8 0 1 0 0 1 pinlabel=1 T 100 1150 5 8 0 1 0 0 1 pintype=pas } P 1500 100 1300 100 1 0 0 { T 1400 150 5 8 1 1 0 0 1 pinnumber=4 T 1400 150 5 8 0 0 0 0 1 pinseq=4 T 1400 150 5 8 0 1 0 0 1 pinlabel=4 T 1400 150 5 8 0 1 0 0 1 pintype=pas } P 1500 1100 1300 1100 1 0 0 { T 1400 1150 5 8 1 1 0 0 1 pinnumber=3 T 1400 1150 5 8 0 0 0 0 1 pinseq=3 T 1400 1150 5 8 0 1 0 0 1 pinlabel=3 T 1400 1150 5 8 0 1 0 0 1 pintype=pas } T 300 1300 8 10 1 1 0 0 1 refdes=T? T 300 1300 8 10 0 0 0 0 1 device=transformer A 500 800 100 270 180 3 0 0 0 -1 -1 A 500 600 100 270 180 3 0 0 0 -1 -1 A 1000 800 100 90 180 3 0 0 0 -1 -1 A 1000 600 100 90 180 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/analog/voltage-1.sym0000664000175000017500000000114212204104272015352 00000000000000v 20031231 1 P 0 200 200 200 1 0 0 { T 100 250 5 8 0 1 0 0 1 pinnumber=1 T 100 250 5 8 0 0 0 0 1 pinseq=1 T 100 250 5 8 0 1 0 0 1 pinlabel=1 T 100 250 5 8 0 1 0 0 1 pintype=pwr } P 900 200 700 200 1 0 0 { T 700 250 5 8 0 1 0 0 1 pinnumber=2 T 700 250 5 8 0 0 0 0 1 pinseq=2 T 700 250 5 8 0 1 0 0 1 pinlabel=2 T 700 250 5 8 0 1 0 0 1 pintype=pwr } V 450 200 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 100 500 5 10 0 0 0 0 1 device=VOLTAGE_SOURCE L 200 200 250 200 3 0 0 0 -1 -1 L 650 200 700 200 3 0 0 0 -1 -1 A 400 200 50 0 180 3 0 0 0 -1 -1 A 500 200 50 180 180 3 0 0 0 -1 -1 T 300 500 8 10 1 1 0 0 1 refdes=V? geda-gaf-1.8.2/symbols/analog/transformer-3.sym0000664000175000017500000000313512204104272016261 00000000000000v 20031231 1 T 0 1400 8 10 1 1 0 0 1 refdes=T? A 500 1200 98 270 180 3 0 0 0 -1 -1 A 500 1000 98 270 180 3 0 0 0 -1 -1 A 500 800 98 270 180 3 0 0 0 -1 -1 A 500 600 100 270 180 3 0 0 0 -1 -1 A 1000 1200 98 90 180 3 0 0 0 -1 -1 A 500 400 98 270 180 3 0 0 0 -1 -1 A 500 200 98 270 180 3 0 0 0 -1 -1 A 1000 1000 98 90 180 3 0 0 0 -1 -1 A 1000 800 98 90 180 3 0 0 0 -1 -1 A 1000 600 98 90 180 3 0 0 0 -1 -1 A 1000 400 98 90 180 3 0 0 0 -1 -1 A 1000 200 98 90 180 3 0 0 0 -1 -1 L 500 1300 200 1300 3 0 0 0 -1 -1 L 500 100 200 100 3 0 0 0 -1 -1 L 1000 1300 1300 1300 3 0 0 0 -1 -1 L 1000 100 1300 100 3 0 0 0 -1 -1 L 700 1400 700 0 3 0 0 0 -1 -1 L 800 1400 800 0 3 0 0 0 -1 -1 P 200 1300 0 1300 1 0 1 { T 200 1100 5 10 1 1 0 0 1 pinnumber=1 T 300 1400 5 10 0 0 0 0 1 pinseq=1 T 200 1100 5 10 0 1 0 0 1 pinlabel=1 T 200 1100 5 10 0 1 0 0 1 pintype=pas } P 200 100 0 100 1 0 1 { T 200 200 5 10 1 1 0 0 1 pinnumber=2 T 200 0 5 10 0 0 0 0 1 pinseq=2 T 200 200 5 10 0 1 0 0 1 pinlabel=2 T 200 200 5 10 0 1 0 0 1 pintype=pas } P 1300 1300 1500 1300 1 0 1 { T 1300 1100 5 10 1 1 0 0 1 pinnumber=3 T 1300 1400 5 10 0 0 0 0 1 pinseq=3 T 1300 1100 5 10 0 1 0 0 1 pinlabel=3 T 1300 1100 5 10 0 1 0 0 1 pintype=pas } P 1300 100 1500 100 1 0 1 { T 1300 200 5 10 1 1 0 0 1 pinnumber=4 T 1300 0 5 10 0 0 0 0 1 pinseq=4 T 1300 200 5 10 0 1 0 0 1 pinlabel=4 T 1300 200 5 10 0 1 0 0 1 pintype=pas } T 0 1600 8 10 0 0 0 0 1 device=TRANSFORMER L 500 700 200 700 3 0 0 0 -1 -1 P 200 700 0 700 1 0 1 { T 200 800 5 10 1 1 0 0 1 pinnumber=5 T 200 600 5 10 0 0 0 0 1 pinseq=5 T 200 800 5 10 0 1 0 0 1 pinlabel=5 T 200 800 5 10 0 1 0 0 1 pintype=pas } geda-gaf-1.8.2/symbols/analog/inamp-1.sym0000664000175000017500000000336212204104272015023 00000000000000v 20050820 1 L 300 1100 300 300 3 0 0 0 -1 -1 L 300 1100 900 700 3 0 0 0 -1 -1 L 900 700 300 300 3 0 0 0 -1 -1 L 400 950 400 850 3 0 0 0 -1 -1 L 350 900 450 900 3 0 0 0 -1 -1 L 350 500 450 500 3 0 0 0 -1 -1 P 0 900 200 900 1 0 0 { T 150 950 5 8 1 1 0 6 1 pinnumber=3 T 150 850 5 8 0 1 0 8 1 pinseq=1 T 250 900 9 8 0 1 0 0 1 pinlabel=IN+ T 250 900 5 8 0 1 0 2 1 pintype=in } P 0 500 200 500 1 0 0 { T 150 550 5 8 1 1 0 6 1 pinnumber=2 T 150 450 5 8 0 1 0 8 1 pinseq=2 T 250 500 9 8 0 1 0 0 1 pinlabel=IN- T 250 500 5 8 0 1 0 2 1 pintype=in } P 1000 700 1200 700 1 0 1 { T 1050 750 5 8 1 1 0 0 1 pinnumber=6 T 1050 650 5 8 0 1 0 2 1 pinseq=5 T 1000 700 9 8 0 1 0 6 1 pinlabel=OUT T 1000 700 5 8 0 1 0 8 1 pintype=out } P 500 1200 500 1400 1 0 1 { T 550 1250 5 8 1 1 0 0 1 pinnumber=7 T 550 1200 5 8 0 1 0 2 1 pinseq=3 T 500 1150 9 8 1 1 0 5 1 pinlabel=V+ T 500 1150 5 8 0 1 0 5 1 pintype=pwr } P 500 200 500 0 1 0 1 { T 550 50 5 8 1 1 0 0 1 pinnumber=4 T 550 100 5 8 0 1 0 2 1 pinseq=4 T 500 250 9 8 1 1 0 3 1 pinlabel=V- T 500 350 5 8 0 1 0 3 1 pintype=pwr } B 200 200 800 1000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 750 1500 5 10 0 0 0 0 1 device=OPAMP P 0 1100 200 1100 1 0 0 { T 150 1150 5 8 1 1 0 6 1 pinnumber=1 T 150 1050 5 8 0 1 0 8 1 pinseq=6 T 250 1100 9 8 0 1 0 0 1 pinlabel=NULL T 250 1100 5 8 0 1 0 2 1 pintype=pas } P 1000 1100 1200 1100 1 0 1 { T 1050 1150 5 8 1 1 0 0 1 pinnumber=5 T 1050 1050 5 8 0 1 0 2 1 pinseq=7 T 1000 1100 9 8 0 1 0 6 1 pinlabel=NULL T 1000 1100 5 8 0 1 0 8 1 pintype=pas } T 1000 1300 8 10 1 1 0 6 1 refdes=U? T 750 2100 5 10 0 0 0 0 1 footprint=DIP8 T 750 2300 5 10 0 0 0 0 1 description=single opamp with trimmable offset T 750 1900 5 10 0 0 0 0 1 numslots=0 T 750 1700 5 10 0 0 0 0 1 symversion=1.0 T 750 2500 5 10 0 0 0 0 1 comment=NC-PINS:8 geda-gaf-1.8.2/symbols/analog/pwrxfmr-1.sym0000664000175000017500000000431212204104272015420 00000000000000v 20050820 1 L 500 1500 200 1500 3 0 0 0 -1 -1 A 500 1400 100 270 180 3 0 0 0 -1 -1 A 500 1200 100 270 180 3 0 0 0 -1 -1 A 500 1000 100 270 180 3 0 0 0 -1 -1 L 500 900 200 900 3 0 0 0 -1 -1 L 500 700 200 700 3 0 0 0 -1 -1 A 500 600 100 270 180 3 0 0 0 -1 -1 A 500 400 100 270 180 3 0 0 0 -1 -1 A 500 200 100 270 180 3 0 0 0 -1 -1 L 500 100 200 100 3 0 0 0 -1 -1 L 1000 100 1300 100 3 0 0 0 -1 -1 A 1000 200 100 90 180 3 0 0 0 -1 -1 A 1000 400 100 90 180 3 0 0 0 -1 -1 A 1000 600 100 90 180 3 0 0 0 -1 -1 L 1000 700 1300 700 3 0 0 0 -1 -1 L 1000 900 1300 900 3 0 0 0 -1 -1 A 1000 1000 100 90 180 3 0 0 0 -1 -1 A 1000 1200 100 90 180 3 0 0 0 -1 -1 A 1000 1400 100 90 180 3 0 0 0 -1 -1 L 1000 1500 1300 1500 3 0 0 0 -1 -1 L 700 1600 700 0 3 0 0 0 -1 -1 L 800 1600 800 0 3 0 0 0 -1 -1 P 200 100 0 100 1 0 1 { T 100 150 5 8 1 1 0 0 1 pinnumber=4 T 100 150 5 8 0 0 0 0 1 pinseq=4 T 100 150 5 8 0 1 0 0 1 pinlabel=4 T 100 150 5 8 0 1 0 0 1 pintype=pas } P 200 700 0 700 1 0 1 { T 100 750 5 8 1 1 0 0 1 pinnumber=2 T 100 750 5 8 0 0 0 0 1 pinseq=2 T 100 750 5 8 0 1 0 0 1 pinlabel=2 T 100 750 5 8 0 1 0 0 1 pintype=pas } P 200 900 0 900 1 0 1 { T 100 950 5 8 1 1 0 0 1 pinnumber=3 T 100 950 5 8 0 0 0 0 1 pinseq=3 T 100 950 5 8 0 1 0 0 1 pinlabel=3 T 100 950 5 8 0 1 0 0 1 pintype=pas } P 200 1500 0 1500 1 0 1 { T 100 1550 5 8 1 1 0 0 1 pinnumber=1 T 100 1550 5 8 0 0 0 0 1 pinseq=1 T 100 1550 5 8 0 1 0 0 1 pinlabel=1 T 100 1550 5 8 0 1 0 0 1 pintype=pas } P 1500 100 1300 100 1 0 0 { T 1400 150 5 8 1 1 0 0 1 pinnumber=5 T 1400 150 5 8 0 0 0 0 1 pinseq=5 T 1400 150 5 8 0 1 0 0 1 pinlabel=5 T 1400 150 5 8 0 1 0 0 1 pintype=pas } P 1500 700 1300 700 1 0 0 { T 1400 750 5 8 1 1 0 0 1 pinnumber=6 T 1400 750 5 8 0 0 0 0 1 pinseq=6 T 1400 750 5 8 0 1 0 0 1 pinlabel=6 T 1400 750 5 8 0 1 0 0 1 pintype=pas } P 1500 900 1300 900 1 0 0 { T 1400 950 5 8 1 1 0 0 1 pinnumber=7 T 1400 950 5 8 0 0 0 0 1 pinseq=7 T 1400 950 5 8 0 1 0 0 1 pinlabel=7 T 1400 950 5 8 0 1 0 0 1 pintype=pas } P 1500 1500 1300 1500 1 0 0 { T 1400 1550 5 8 1 1 0 0 1 pinnumber=8 T 1400 1550 5 8 0 0 0 0 1 pinseq=8 T 1400 1550 5 8 0 1 0 0 1 pinlabel=8 T 1400 1550 5 8 0 1 0 0 1 pintype=pas } T 300 1700 8 10 1 1 0 0 1 refdes=T? T 300 1900 8 10 0 0 0 0 1 device=transformer geda-gaf-1.8.2/symbols/analog/rpack-1.sym0000664000175000017500000001265612204104272015025 00000000000000v 20031231 1 T 300 1100 5 6 0 1 0 0 1 device=RPAK_CTS T 300 1000 5 6 1 1 0 0 1 refdes=R? P 0 800 300 800 1 0 0 { T 202 820 3 6 0 1 0 0 1 pinnumber=1 T 202 820 3 6 0 0 0 0 1 pinseq=1 T 202 820 3 6 0 0 0 0 1 pintype=pas T 350 800 3 6 0 1 0 0 1 pinlabel=R1 } P 700 800 1000 800 1 0 1 { T 750 820 3 6 0 1 0 0 1 pinnumber=16 T 750 820 3 6 0 0 0 0 1 pinseq=16 T 750 820 3 6 0 0 0 0 1 pintype=pas T 650 800 3 6 0 1 0 0 1 pinlabel=R1A } P 0 700 300 700 1 0 0 { T 172 720 3 6 0 1 0 0 1 pinnumber=2 T 172 720 3 6 0 0 0 0 1 pinseq=2 T 172 720 3 6 0 0 0 0 1 pintype=pas T 350 700 3 6 0 1 0 0 1 pinlabel=R2 } P 700 700 1000 700 1 0 1 { T 750 720 3 6 0 1 0 0 1 pinnumber=15 T 750 720 3 6 0 0 0 0 1 pinseq=15 T 750 720 3 6 0 0 0 0 1 pintype=pas T 650 700 3 6 0 1 0 0 1 pinlabel=R2A } P 0 600 300 600 1 0 0 { T 190 620 3 6 0 1 0 0 1 pinnumber=3 T 190 620 3 6 0 0 0 0 1 pinseq=3 T 190 620 3 6 0 0 0 0 1 pintype=pas T 350 600 3 6 0 1 0 0 1 pinlabel=R3 } P 700 600 1000 600 1 0 1 { T 750 620 3 6 0 1 0 0 1 pinnumber=14 T 750 620 3 6 0 0 0 0 1 pinseq=14 T 750 620 3 6 0 0 0 0 1 pintype=pas T 650 600 3 6 0 1 0 0 1 pinlabel=R3A } P 0 500 300 500 1 0 0 { T 172 520 3 6 0 1 0 0 1 pinnumber=4 T 172 520 3 6 0 0 0 0 1 pinseq=4 T 172 520 3 6 0 0 0 0 1 pintype=pas T 350 500 3 6 0 1 0 0 1 pinlabel=R4 } P 700 500 1000 500 1 0 1 { T 750 520 3 6 0 1 0 0 1 pinnumber=13 T 750 520 3 6 0 0 0 0 1 pinseq=13 T 750 520 3 6 0 0 0 0 1 pintype=pas T 650 500 3 6 0 1 0 0 1 pinlabel=R4A } P 0 400 300 400 1 0 0 { T 190 420 3 6 0 1 0 0 1 pinnumber=5 T 190 420 3 6 0 0 0 0 1 pinseq=5 T 190 420 3 6 0 0 0 0 1 pintype=pas T 350 400 3 6 0 1 0 0 1 pinlabel=R5 } P 700 400 1000 400 1 0 1 { T 750 420 3 6 0 1 0 0 1 pinnumber=12 T 750 420 3 6 0 0 0 0 1 pinseq=12 T 750 420 3 6 0 0 0 0 1 pintype=pas T 650 400 3 6 0 1 0 0 1 pinlabel=R5A } P 0 300 300 300 1 0 0 { T 178 320 3 6 0 1 0 0 1 pinnumber=6 T 178 320 3 6 0 0 0 0 1 pinseq=6 T 178 320 3 6 0 0 0 0 1 pintype=pas T 350 300 3 6 0 1 0 0 1 pinlabel=R6 } P 700 300 1000 300 1 0 1 { T 750 320 3 6 0 1 0 0 1 pinnumber=11 T 750 320 3 6 0 0 0 0 1 pinseq=11 T 750 320 3 6 0 0 0 0 1 pintype=pas T 650 300 3 6 0 1 0 0 1 pinlabel=R6A } P 0 200 300 200 1 0 0 { T 190 220 3 6 0 1 0 0 1 pinnumber=7 T 190 220 3 6 0 0 0 0 1 pinseq=7 T 190 220 3 6 0 0 0 0 1 pintype=pas T 350 200 3 6 0 1 0 0 1 pinlabel=R7 } P 700 200 1000 200 1 0 1 { T 750 220 3 6 0 1 0 0 1 pinnumber=10 T 750 220 3 6 0 0 0 0 1 pinseq=10 T 750 220 3 6 0 0 0 0 1 pintype=pas T 650 200 3 6 0 1 0 0 1 pinlabel=R7A } P 0 100 300 100 1 0 0 { T 184 120 3 6 0 1 0 0 1 pinnumber=8 T 184 120 3 6 0 0 0 0 1 pinseq=8 T 184 120 3 6 0 0 0 0 1 pintype=pas T 350 100 3 6 0 1 0 0 1 pinlabel=R8 } P 700 100 1000 100 1 0 1 { T 750 120 3 6 0 1 0 0 1 pinnumber=9 T 750 120 3 6 0 0 0 0 1 pinseq=9 T 750 120 3 6 0 0 0 0 1 pintype=pas T 650 100 3 6 0 1 0 0 1 pinlabel=R8A } L 300 900 700 900 3 0 0 0 -1 -1 L 700 900 700 0 3 0 0 0 -1 -1 L 700 0 300 0 3 0 0 0 -1 -1 L 300 0 300 900 3 0 0 0 -1 -1 L 340 820 350 830 3 0 0 0 -1 -1 L 340 720 350 730 3 0 0 0 -1 -1 L 340 620 350 630 3 0 0 0 -1 -1 L 340 520 350 530 3 0 0 0 -1 -1 L 340 420 350 430 3 0 0 0 -1 -1 L 340 320 350 330 3 0 0 0 -1 -1 L 340 220 350 230 3 0 0 0 -1 -1 L 340 120 350 130 3 0 0 0 -1 -1 L 300 800 320 800 3 0 0 0 -1 -1 L 320 800 350 830 3 0 0 0 -1 -1 L 350 830 410 770 3 0 0 0 -1 -1 L 410 770 470 830 3 0 0 0 -1 -1 L 470 830 530 770 3 0 0 0 -1 -1 L 530 770 590 830 3 0 0 0 -1 -1 L 590 830 650 770 3 0 0 0 -1 -1 L 650 770 680 800 3 0 0 0 -1 -1 L 680 800 700 800 3 0 0 0 -1 -1 L 300 700 320 700 3 0 0 0 -1 -1 L 320 700 350 730 3 0 0 0 -1 -1 L 350 730 410 670 3 0 0 0 -1 -1 L 410 670 470 730 3 0 0 0 -1 -1 L 470 730 530 670 3 0 0 0 -1 -1 L 530 670 590 730 3 0 0 0 -1 -1 L 590 730 650 670 3 0 0 0 -1 -1 L 650 670 680 700 3 0 0 0 -1 -1 L 680 700 700 700 3 0 0 0 -1 -1 L 300 600 320 600 3 0 0 0 -1 -1 L 320 600 350 630 3 0 0 0 -1 -1 L 350 630 410 570 3 0 0 0 -1 -1 L 410 570 470 630 3 0 0 0 -1 -1 L 470 630 530 570 3 0 0 0 -1 -1 L 530 570 590 630 3 0 0 0 -1 -1 L 590 630 650 570 3 0 0 0 -1 -1 L 650 570 680 600 3 0 0 0 -1 -1 L 680 600 700 600 3 0 0 0 -1 -1 L 300 500 320 500 3 0 0 0 -1 -1 L 320 500 350 530 3 0 0 0 -1 -1 L 350 530 410 470 3 0 0 0 -1 -1 L 410 470 470 530 3 0 0 0 -1 -1 L 470 530 530 470 3 0 0 0 -1 -1 L 530 470 590 530 3 0 0 0 -1 -1 L 590 530 650 470 3 0 0 0 -1 -1 L 650 470 680 500 3 0 0 0 -1 -1 L 680 500 700 500 3 0 0 0 -1 -1 L 300 400 320 400 3 0 0 0 -1 -1 L 320 400 350 430 3 0 0 0 -1 -1 L 350 430 410 370 3 0 0 0 -1 -1 L 410 370 470 430 3 0 0 0 -1 -1 L 470 430 530 370 3 0 0 0 -1 -1 L 530 370 590 430 3 0 0 0 -1 -1 L 590 430 650 370 3 0 0 0 -1 -1 L 650 370 680 400 3 0 0 0 -1 -1 L 680 400 700 400 3 0 0 0 -1 -1 L 300 300 320 300 3 0 0 0 -1 -1 L 320 300 350 330 3 0 0 0 -1 -1 L 350 330 410 270 3 0 0 0 -1 -1 L 410 270 470 330 3 0 0 0 -1 -1 L 470 330 530 270 3 0 0 0 -1 -1 L 530 270 590 330 3 0 0 0 -1 -1 L 590 330 650 270 3 0 0 0 -1 -1 L 650 270 680 300 3 0 0 0 -1 -1 L 680 300 700 300 3 0 0 0 -1 -1 L 300 200 320 200 3 0 0 0 -1 -1 L 320 200 350 230 3 0 0 0 -1 -1 L 350 230 410 170 3 0 0 0 -1 -1 L 410 170 470 230 3 0 0 0 -1 -1 L 470 230 530 170 3 0 0 0 -1 -1 L 530 170 590 230 3 0 0 0 -1 -1 L 590 230 650 170 3 0 0 0 -1 -1 L 650 170 680 200 3 0 0 0 -1 -1 L 680 200 700 200 3 0 0 0 -1 -1 L 300 100 320 100 3 0 0 0 -1 -1 L 320 100 350 130 3 0 0 0 -1 -1 L 350 130 410 70 3 0 0 0 -1 -1 L 410 70 470 130 3 0 0 0 -1 -1 L 470 130 530 70 3 0 0 0 -1 -1 L 530 70 590 130 3 0 0 0 -1 -1 L 590 130 650 70 3 0 0 0 -1 -1 L 650 70 680 100 3 0 0 0 -1 -1 L 680 100 700 100 3 0 0 0 -1 -1 T 300 1200 8 10 0 0 0 0 1 class=IC T 300 1400 8 10 0 0 0 0 1 pins=16 geda-gaf-1.8.2/symbols/analog/leddual-1.sym0000664000175000017500000000245212204104272015330 00000000000000v 20050820 1 P 0 200 200 200 1 0 0 { T 150 250 5 8 0 1 0 6 1 pinnumber=1 T 150 150 5 8 0 1 0 8 1 pinseq=1 T 250 200 9 8 0 1 0 0 1 pinlabel=1 T 250 200 5 8 0 1 0 2 1 pintype=pas } P 900 200 700 200 1 0 0 { T 750 250 5 8 0 1 0 0 1 pinnumber=2 T 750 150 5 8 0 1 0 2 1 pinseq=2 T 650 200 9 8 0 1 0 6 1 pinlabel=2 T 650 200 5 8 0 1 0 8 1 pintype=pas } V 450 200 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 800 600 5 10 0 0 0 0 1 device=LED L 516 503 617 604 3 0 0 0 -1 -1 L 617 604 621 555 3 0 0 0 -1 -1 L 621 555 722 657 3 0 0 0 -1 -1 L 484 418 585 518 3 0 0 0 -1 -1 L 585 518 589 469 3 0 0 0 -1 -1 L 589 469 690 570 3 0 0 0 -1 -1 L 400 375 400 225 3 0 0 0 -1 -1 L 475 300 400 375 3 0 0 0 -1 -1 L 475 300 400 225 3 0 0 0 -1 -1 L 475 375 475 225 3 0 0 0 -1 -1 L 500 50 500 200 3 0 0 0 -1 -1 L 425 125 500 50 3 0 0 0 -1 -1 L 425 125 500 200 3 0 0 0 -1 -1 L 425 50 425 200 3 0 0 0 -1 -1 L 700 200 550 200 3 0 0 0 -1 -1 L 550 200 550 300 3 0 0 0 -1 -1 L 550 300 475 300 3 0 0 0 -1 -1 L 400 300 350 300 3 0 0 0 -1 -1 L 200 200 350 200 3 0 0 0 -1 -1 L 350 300 350 125 3 0 0 0 -1 -1 L 350 125 425 125 3 0 0 0 -1 -1 L 500 125 550 125 3 0 0 0 -1 -1 L 550 125 550 200 3 0 0 0 -1 -1 T 800 400 8 10 1 1 0 0 1 refdes=LED? T 800 1200 5 10 0 0 0 0 1 description=dual LED T 800 1000 5 10 0 0 0 0 1 numslots=0 T 800 800 5 10 0 0 0 0 1 symversion=0.1 geda-gaf-1.8.2/symbols/analog/resistor-1.sym0000664000175000017500000000127712204104272015574 00000000000000v 20031231 1 L 600 200 500 0 3 0 0 0 -1 -1 L 500 0 400 200 3 0 0 0 -1 -1 L 400 200 300 0 3 0 0 0 -1 -1 L 300 0 200 200 3 0 0 0 -1 -1 T 300 400 5 10 0 0 0 0 1 device=RESISTOR L 600 200 700 0 3 0 0 0 -1 -1 L 700 0 750 100 3 0 0 0 -1 -1 P 900 100 750 100 1 0 0 { T 800 150 5 8 0 1 0 0 1 pinnumber=2 T 800 150 5 8 0 0 0 0 1 pinseq=2 T 800 150 5 8 0 1 0 0 1 pinlabel=2 T 800 150 5 8 0 1 0 0 1 pintype=pas } P 0 100 152 100 1 0 0 { T 100 150 5 8 0 1 0 0 1 pinnumber=1 T 100 150 5 8 0 0 0 0 1 pinseq=1 T 100 150 5 8 0 1 0 0 1 pinlabel=1 T 100 150 5 8 0 1 0 0 1 pintype=pas } L 201 200 150 100 3 0 0 0 -1 -1 T 200 300 8 10 1 1 0 0 1 refdes=R? T 0 0 8 10 0 1 0 0 1 pins=2 T 0 0 8 10 0 1 0 0 1 class=DISCRETE geda-gaf-1.8.2/symbols/analog/resistorpack8-1.sym0000664000175000017500000000507212204104272016520 00000000000000v 20031231 1 T 100 1200 8 10 1 1 0 0 1 refdes=R? T 100 1500 8 10 0 0 0 0 1 device=RESISTORPACK_8 P 2400 1100 2700 1100 1 0 1 { T 2500 1150 5 8 1 1 0 0 1 pinnumber=1 T 2500 1150 5 8 0 0 0 0 1 pinseq=1 T 2500 1150 5 8 0 1 0 0 1 pinlabel=1 T 2500 1150 5 8 0 1 0 0 1 pintype=pas } P 100 0 100 252 1 0 0 { T -25 100 5 8 1 1 0 0 1 pinnumber=2 T -25 100 5 8 0 0 0 0 1 pinseq=2 T -25 100 5 8 0 1 0 0 1 pinlabel=2 T -25 100 5 8 0 1 0 0 1 pintype=pas } P 400 0 400 252 1 0 0 { T 275 100 5 8 1 1 0 0 1 pinnumber=3 T 275 100 5 8 0 0 0 0 1 pinseq=3 T 275 100 5 8 0 1 0 0 1 pinlabel=3 T 275 100 5 8 0 1 0 0 1 pintype=pas } P 700 0 700 252 1 0 0 { T 575 100 5 8 1 1 0 0 1 pinnumber=4 T 575 100 5 8 0 0 0 0 1 pinseq=4 T 575 100 5 8 0 1 0 0 1 pinlabel=4 T 575 100 5 8 0 1 0 0 1 pintype=pas } P 1000 0 1000 252 1 0 0 { T 875 100 5 8 1 1 0 0 1 pinnumber=5 T 875 100 5 8 0 0 0 0 1 pinseq=5 T 875 100 5 8 0 1 0 0 1 pinlabel=5 T 875 100 5 8 0 1 0 0 1 pintype=pas } P 1300 0 1300 252 1 0 0 { T 1175 100 5 8 1 1 0 0 1 pinnumber=6 T 1175 100 5 8 0 0 0 0 1 pinseq=6 T 1175 100 5 8 0 1 0 0 1 pinlabel=6 T 1175 100 5 8 0 1 0 0 1 pintype=pas } P 1600 0 1600 252 1 0 0 { T 1475 100 5 8 1 1 0 0 1 pinnumber=7 T 1475 100 5 8 0 0 0 0 1 pinseq=7 T 1475 100 5 8 0 1 0 0 1 pinlabel=7 T 1475 100 5 8 0 1 0 0 1 pintype=pas } P 1900 0 1900 252 1 0 0 { T 1775 100 5 8 1 1 0 0 1 pinnumber=8 T 1775 100 5 8 0 0 0 0 1 pinseq=8 T 1775 100 5 8 0 1 0 0 1 pinlabel=8 T 1775 100 5 8 0 1 0 0 1 pintype=pas } P 2200 0 2200 252 1 0 0 { T 2075 100 5 8 1 1 0 0 1 pinnumber=9 T 2075 100 5 8 0 0 0 0 1 pinseq=9 T 2075 100 5 8 0 1 0 0 1 pinlabel=9 T 2075 100 5 8 0 1 0 0 1 pintype=pas } L 100 900 100 1100 3 0 0 0 -1 -1 L 2400 1100 100 1100 3 0 0 0 -1 -1 B 0 400 200 500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 100 250 100 400 3 0 0 0 -1 -1 L 400 900 400 1100 3 0 0 0 -1 -1 B 300 400 200 500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 400 250 400 400 3 0 0 0 -1 -1 L 700 900 700 1100 3 0 0 0 -1 -1 B 600 400 200 500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 700 250 700 400 3 0 0 0 -1 -1 L 1000 900 1000 1100 3 0 0 0 -1 -1 B 900 400 200 500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 1000 250 1000 400 3 0 0 0 -1 -1 L 1300 900 1300 1100 3 0 0 0 -1 -1 B 1200 400 200 500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 1300 250 1300 400 3 0 0 0 -1 -1 L 1600 900 1600 1100 3 0 0 0 -1 -1 B 1500 400 200 500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 1600 250 1600 400 3 0 0 0 -1 -1 L 1900 900 1900 1100 3 0 0 0 -1 -1 B 1800 400 200 500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 1900 250 1900 400 3 0 0 0 -1 -1 L 2200 900 2200 1100 3 0 0 0 -1 -1 B 2100 400 200 500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 2200 250 2200 400 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/analog/nmos-2.sym0000664000175000017500000000174412204104272014676 00000000000000v 20031231 1 L 250 650 250 150 3 0 0 0 -1 -1 T 600 500 5 10 0 0 0 0 1 device=NMOS_TRANSISTOR L 200 550 200 250 3 0 0 0 -1 -1 L 250 600 500 600 3 0 0 0 -1 -1 L 250 200 500 200 3 0 0 0 -1 -1 L 250 400 500 400 3 0 0 0 -1 -1 L 250 400 350 450 3 0 0 0 -1 -1 L 250 400 350 350 3 0 0 0 -1 -1 P 0 400 200 400 1 0 0 { T 0 500 5 10 0 1 0 0 1 pinnumber=G T 0 500 5 10 0 0 0 0 1 pinseq=2 T 0 500 5 10 0 1 0 0 1 pinlabel=G T 0 500 5 10 0 1 0 0 1 pintype=pas } P 500 600 500 800 1 0 1 { T 300 700 5 10 0 1 0 0 1 pinnumber=D T 300 700 5 10 0 0 0 0 1 pinseq=1 T 300 700 5 10 0 1 0 0 1 pinlabel=D T 300 700 5 10 0 1 0 0 1 pintype=pas } P 500 400 700 400 1 0 1 { T 600 500 5 10 0 1 0 0 1 pinnumber=B T 600 500 5 10 0 0 0 0 1 pinseq=4 T 600 500 5 10 0 1 0 0 1 pinlabel=B T 600 500 5 10 0 1 0 0 1 pintype=pas } P 500 200 500 0 1 0 1 { T 300 0 5 10 0 1 0 0 1 pinnumber=S T 300 0 5 10 0 0 0 0 1 pinseq=3 T 300 0 5 10 0 1 0 0 1 pinlabel=S T 300 0 5 10 0 1 0 0 1 pintype=pas } T 700 600 8 10 1 1 0 0 1 refdes=Q? geda-gaf-1.8.2/symbols/analog/quad_opamp-1.sym0000664000175000017500000000310312204104272016036 00000000000000v 20050820 1 L 200 800 200 0 3 0 0 0 -1 -1 L 200 800 800 400 3 0 0 0 -1 -1 T 600 600 5 10 0 0 0 0 1 device=QUAD_OPAMP L 800 400 200 0 3 0 0 0 -1 -1 L 300 250 300 150 3 0 0 0 -1 -1 L 250 200 350 200 3 0 0 0 -1 -1 L 250 600 350 600 3 0 0 0 -1 -1 P 0 200 200 200 1 0 0 { T 0 200 5 10 1 1 0 0 1 pinnumber=3 T 0 200 5 10 0 0 0 0 1 pinseq=1 T 0 200 5 10 0 0 0 0 1 pintype=in T 0 200 5 10 0 0 0 0 1 pinlabel=IN+ } P 0 600 200 600 1 0 0 { T 0 600 5 10 1 1 0 0 1 pinnumber=2 T 0 600 5 10 0 0 0 0 1 pinseq=2 T 0 600 5 10 0 0 0 0 1 pintype=in T 0 600 5 10 0 0 0 0 1 pinlabel=IN- } P 800 400 1000 400 1 0 1 { T 800 400 5 10 1 1 0 0 1 pinnumber=1 T 800 400 5 10 0 0 0 0 1 pinseq=5 T 800 400 5 10 0 0 0 0 1 pintype=out T 800 400 5 10 0 0 0 0 1 pinlabel=OUT } P 500 600 500 800 1 0 1 { T 600 600 5 10 1 1 0 0 1 pinnumber=11 T 600 600 5 10 0 0 0 0 1 pinseq=3 T 500 600 5 10 0 0 0 0 1 pinlabel=V+ T 500 600 5 10 0 0 0 0 1 pintype=pwr } P 500 200 500 0 1 0 1 { T 600 100 5 10 1 1 0 0 1 pinnumber=4 T 600 100 5 10 0 0 0 0 1 pinseq=4 T 500 200 5 10 0 0 0 0 1 pinlabel=V- T 500 200 5 10 0 0 0 0 1 pintype=pwr } T 200 900 8 10 1 1 0 0 1 refdes=U? T 200 2300 5 10 0 0 0 0 1 slot=1 T 200 1300 5 10 0 0 0 0 1 numslots=4 T 200 1500 5 10 0 0 0 0 1 slotdef=1:3,2,11,4,1 T 200 1700 5 10 0 0 0 0 1 slotdef=2:5,6,11,4,7 T 200 1900 5 10 0 0 0 0 1 slotdef=3:10,9,11,4,8 T 200 2100 5 10 0 0 0 0 1 slotdef=4:12,13,11,4,14 T 2400 2300 5 10 0 0 0 0 1 footprint=SO14 T 2400 2100 5 10 0 0 0 0 1 footprint2=DIP14 T 200 2500 5 10 0 0 0 0 1 symversion=0.1 T 200 2700 5 10 0 0 0 0 1 documentation=http://www.onsemi.com/pub/Collateral/LM324-D.PDF geda-gaf-1.8.2/symbols/analog/jj-1.sym0000664000175000017500000000116112204104272014315 00000000000000v 20050820 1 P 200 900 200 700 1 0 0 { T 250 800 5 8 0 1 270 0 1 pinnumber=1 T 250 800 5 8 0 0 270 0 1 pinseq=1 } P 200 0 200 200 1 0 0 { T 250 200 5 8 0 1 270 0 1 pinnumber=2 T 250 200 5 8 0 0 270 0 1 pinseq=2 } L 200 700 200 200 3 0 0 0 -1 -1 T 100 500 5 10 0 0 0 0 1 device=JOSEPHSON_JUNCTION T 400 700 8 10 1 1 0 0 1 refdes=B? T -200 -100 8 10 0 1 0 0 1 pins=2 T -200 -100 8 10 0 1 0 0 1 class=DISCRETE L 0 250 400 650 3 0 0 0 -1 -1 L 0 650 400 250 3 0 0 0 -1 -1 L 200 300 200 400 3 0 0 0 -1 -1 T 400 400 8 10 1 1 0 0 1 model-name=unknown T 400 100 8 10 1 0 0 0 1 area=unknown V 300 700 29 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/analog/fuse-2.sym0000664000175000017500000000114712204104272014661 00000000000000v 20050820 1 P 900 100 750 100 1 0 0 { T 800 150 5 8 0 1 0 0 1 pinnumber=2 T 800 50 5 8 0 1 0 2 1 pinseq=2 T 700 100 9 8 0 1 0 6 1 pinlabel=2 T 700 100 5 8 0 1 0 8 1 pintype=pas } P 0 100 150 100 1 0 0 { T 100 150 5 8 0 1 0 6 1 pinnumber=1 T 100 50 5 8 0 1 0 8 1 pinseq=1 T 200 100 9 8 0 1 0 0 1 pinlabel=1 T 200 100 5 8 0 1 0 2 1 pintype=pas } B 150 0 600 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 200 550 5 10 0 0 0 0 1 device=FUSE T 200 300 8 10 1 1 0 0 1 refdes=F? L 750 100 150 100 3 0 0 0 -1 -1 T 200 1150 5 10 0 0 0 0 1 description=fuse T 200 950 5 10 0 0 0 0 1 numslots=0 T 200 750 5 10 0 0 0 0 1 symversion=0.1 geda-gaf-1.8.2/symbols/analog/nmos-3.sym0000664000175000017500000000201512204104272014667 00000000000000v 20031231 1 T 600 500 5 10 0 0 0 0 1 device=NMOS_TRANSISTOR T 600 500 5 10 0 0 0 0 1 numslots=0 T 600 500 5 10 0 0 0 0 1 description=generic N channel MOS transistor (enhancement type) L 250 600 500 600 3 0 0 0 -1 -1 L 250 200 500 200 3 0 0 0 -1 -1 L 250 400 350 450 3 0 0 0 -1 -1 L 250 400 350 350 3 0 0 0 -1 -1 P 0 200 200 200 1 0 0 { T 0 300 5 10 0 1 0 0 1 pinnumber=G T 0 300 9 10 0 1 0 0 1 pinlabel=G T 0 300 5 10 0 0 0 0 1 pinseq=2 T 0 300 5 10 0 0 0 0 1 pintype=pas } P 500 600 500 800 1 0 1 { T 300 700 5 10 0 1 0 0 1 pinnumber=D T 300 700 9 10 0 1 0 0 1 pinlabel=D T 300 700 5 10 0 0 0 0 1 pinseq=1 T 300 700 5 10 0 0 0 0 1 pintype=pas } P 500 200 500 0 1 0 1 { T 300 0 5 10 0 1 0 0 1 pinnumber=S T 300 0 9 10 0 1 0 0 1 pinlabel=S T 300 0 5 10 0 0 0 0 1 pinseq=3 T 300 0 5 10 0 0 0 0 1 pintype=pas } T 700 600 8 10 1 1 0 0 1 refdes=Q? L 250 675 250 525 3 0 0 0 -1 -1 L 250 475 250 325 3 0 0 0 -1 -1 L 250 275 250 125 3 0 0 0 -1 -1 L 200 600 200 200 3 0 0 0 -1 -1 L 250 400 400 400 3 0 0 0 -1 -1 L 400 400 400 200 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/analog/resistorpack6-1.sym0000664000175000017500000000463512204104272016522 00000000000000v 20031231 1 L 0 700 200 600 3 0 0 0 -1 -1 L 200 600 0 500 3 0 0 0 -1 -1 L 0 500 200 400 3 0 0 0 -1 -1 L 200 400 0 300 3 0 0 0 -1 -1 L 0 700 200 800 3 0 0 0 -1 -1 L 200 800 100 850 3 0 0 0 -1 -1 P 100 0 100 252 1 0 0 { T -25 100 5 8 1 1 0 0 1 pinnumber=2 T -25 100 5 8 0 0 0 0 1 pinseq=2 T -25 100 5 8 0 1 0 0 1 pinlabel=2 T -25 100 5 8 0 1 0 0 1 pintype=pas } L 0 301 100 250 3 0 0 0 -1 -1 L 300 700 500 600 3 0 0 0 -1 -1 L 500 600 300 500 3 0 0 0 -1 -1 L 300 500 500 400 3 0 0 0 -1 -1 L 500 400 300 300 3 0 0 0 -1 -1 L 300 700 500 800 3 0 0 0 -1 -1 L 500 800 400 850 3 0 0 0 -1 -1 P 400 0 400 252 1 0 0 { T 275 100 5 8 1 1 0 0 1 pinnumber=3 T 275 100 5 8 0 0 0 0 1 pinseq=3 T 275 100 5 8 0 1 0 0 1 pinlabel=3 T 275 100 5 8 0 1 0 0 1 pintype=pas } L 300 301 400 250 3 0 0 0 -1 -1 L 600 700 800 600 3 0 0 0 -1 -1 L 800 600 600 500 3 0 0 0 -1 -1 L 600 500 800 400 3 0 0 0 -1 -1 L 800 400 600 300 3 0 0 0 -1 -1 L 600 700 800 800 3 0 0 0 -1 -1 L 800 800 700 850 3 0 0 0 -1 -1 P 700 0 700 252 1 0 0 { T 575 100 5 8 1 1 0 0 1 pinnumber=4 T 575 100 5 8 0 0 0 0 1 pinseq=4 T 575 100 5 8 0 1 0 0 1 pinlabel=4 T 575 100 5 8 0 1 0 0 1 pintype=pas } L 600 301 700 250 3 0 0 0 -1 -1 L 900 700 1100 600 3 0 0 0 -1 -1 L 1100 600 900 500 3 0 0 0 -1 -1 L 900 500 1100 400 3 0 0 0 -1 -1 L 1100 400 900 300 3 0 0 0 -1 -1 L 900 700 1100 800 3 0 0 0 -1 -1 L 1100 800 1000 850 3 0 0 0 -1 -1 P 1000 0 1000 252 1 0 0 { T 875 100 5 8 1 1 0 0 1 pinnumber=5 T 875 100 5 8 0 0 0 0 1 pinseq=5 T 875 100 5 8 0 1 0 0 1 pinlabel=5 T 875 100 5 8 0 1 0 0 1 pintype=pas } L 900 301 1000 250 3 0 0 0 -1 -1 P 1500 1100 1800 1100 1 0 1 { T 1600 1150 5 8 1 1 0 0 1 pinnumber=1 T 1600 1150 5 8 0 0 0 0 1 pinseq=1 T 1600 1150 5 8 0 1 0 0 1 pinlabel=1 T 1600 1150 5 8 0 1 0 0 1 pintype=pas } P 1300 0 1300 252 1 0 0 { T 1175 100 5 8 1 1 0 0 1 pinnumber=6 T 1175 100 5 8 0 0 0 0 1 pinseq=6 T 1175 100 5 8 0 1 0 0 1 pinlabel=6 T 1175 100 5 8 0 1 0 0 1 pintype=pas } L 1200 301 1300 250 3 0 0 0 -1 -1 L 1200 700 1400 600 3 0 0 0 -1 -1 L 1400 600 1200 500 3 0 0 0 -1 -1 L 1200 500 1400 400 3 0 0 0 -1 -1 L 1400 400 1200 300 3 0 0 0 -1 -1 L 1200 700 1400 800 3 0 0 0 -1 -1 L 1400 800 1300 850 3 0 0 0 -1 -1 L 100 850 100 1100 3 0 0 0 -1 -1 L 400 850 400 1100 3 0 0 0 -1 -1 L 700 850 700 1100 3 0 0 0 -1 -1 L 1000 850 1000 1100 3 0 0 0 -1 -1 L 1300 850 1300 1100 3 0 0 0 -1 -1 L 100 1100 1500 1100 3 0 0 0 -1 -1 T 100 1400 5 10 0 0 0 0 1 device=RESISTORPACK_6 T 100 1200 8 10 1 1 0 0 1 refdes=R? geda-gaf-1.8.2/symbols/analog/coil-1.sym0000664000175000017500000000115512204104272014643 00000000000000v 20050820 1 P 200 0 0 0 1 0 1 { T 150 50 5 8 0 1 0 6 1 pinnumber=1 T 150 -50 5 8 0 1 0 8 1 pinseq=1 T 250 0 9 8 0 1 0 0 1 pinlabel=1 T 250 0 5 8 0 1 0 2 1 pintype=pas } P 800 0 1000 0 1 0 1 { T 850 50 5 8 0 1 0 0 1 pinnumber=2 T 850 -50 5 8 0 1 0 2 1 pinseq=2 T 750 0 9 8 0 1 0 6 1 pinlabel=2 T 750 0 5 8 0 1 0 8 1 pintype=pas } A 300 0 100 0 180 3 0 0 0 -1 -1 A 500 0 100 0 180 3 0 0 0 -1 -1 A 700 0 100 0 180 3 0 0 0 -1 -1 T 200 400 5 10 0 0 0 0 1 device=COIL T 200 200 8 10 1 1 0 0 1 refdes=L? T 200 1000 5 10 0 0 0 0 1 description=incuctor T 200 800 5 10 0 0 0 0 1 numslots=0 T 200 600 5 10 0 0 0 0 1 symversion=0.1 geda-gaf-1.8.2/symbols/analog/opamp-2.sym0000664000175000017500000000245112204104272015032 00000000000000v 20050820 1 L 200 900 200 100 3 0 0 0 -1 -1 T 800 1000 5 10 0 0 0 0 1 device=OPAMP L 300 850 300 750 3 0 0 0 -1 -1 L 250 800 350 800 3 0 0 0 -1 -1 L 250 200 350 200 3 0 0 0 -1 -1 P 0 800 200 800 1 0 0 { T 150 850 5 8 1 1 0 6 1 pinnumber=1 T 200 750 5 8 0 1 0 8 1 pinseq=1 T 250 800 9 8 0 1 0 0 1 pinlabel=in+ T 250 800 5 8 0 1 0 2 1 pintype=in } P 0 200 200 200 1 0 0 { T 150 250 5 8 1 1 0 6 1 pinnumber=2 T 150 150 5 8 0 1 0 8 1 pinseq=2 T 250 200 9 8 0 1 0 0 1 pinlabel=in- T 250 200 5 8 0 1 0 2 1 pintype=in } P 900 500 1100 500 1 0 1 { T 950 550 5 8 1 1 0 0 1 pinnumber=5 T 950 450 5 8 0 1 0 2 1 pinseq=5 T 850 500 9 8 0 1 0 6 1 pinlabel=out T 850 500 5 8 0 1 0 8 1 pintype=out } P 500 800 500 1000 1 0 1 { T 550 850 5 8 1 1 0 0 1 pinnumber=3 T 550 850 5 8 0 1 0 2 1 pinseq=3 T 500 750 9 8 0 1 0 5 1 pinlabel=V+ T 500 650 5 8 0 1 0 5 1 pintype=pwr } P 500 200 500 0 1 0 1 { T 550 100 5 8 1 1 0 0 1 pinnumber=4 T 550 100 5 8 0 1 0 2 1 pinseq=4 T 500 250 9 8 0 1 0 3 1 pinlabel=V- T 500 350 5 8 0 1 0 3 1 pintype=pwr } L 200 900 200 1000 3 0 0 0 -1 -1 L 200 100 200 0 3 0 0 0 -1 -1 L 200 0 900 500 3 0 0 0 -1 -1 L 900 500 200 1000 3 0 0 0 -1 -1 T 800 800 8 10 1 1 0 0 1 refdes=U? T 800 1200 5 10 0 0 0 0 1 symversion=0.1 T 800 1600 5 10 0 0 0 0 1 description=operational amplifier T 800 1400 5 10 0 0 0 0 1 numslots=0 geda-gaf-1.8.2/symbols/analog/coil-2.sym0000664000175000017500000000125212204104272014642 00000000000000v 20050820 1 A 289 100 98 315 225 3 0 0 0 -1 -1 A 430 100 100 315 270 3 0 0 0 -1 -1 A 571 100 100 315 270 3 0 0 0 -1 -1 A 712 100 100 0 225 3 0 0 0 -1 -1 P 0 100 189 100 1 0 0 { T 150 150 5 8 0 1 0 6 1 pinnumber=1 T 150 50 5 8 0 1 0 8 1 pinseq=1 T 250 100 9 8 0 1 0 0 1 pinlabel=1 T 250 100 5 8 0 1 0 2 1 pintype=pas } P 812 100 1000 100 1 0 1 { T 850 150 5 8 0 1 0 0 1 pinnumber=2 T 850 50 5 8 0 1 0 2 1 pinseq=2 T 750 100 9 8 0 1 0 6 1 pinlabel=2 T 750 100 5 8 0 1 0 8 1 pintype=pas } T 200 500 5 10 0 0 0 0 1 device=COIL T 200 300 8 10 1 1 0 0 1 refdes=L? T 200 1100 5 10 0 0 0 0 1 description=inductor T 200 900 5 10 0 0 0 0 1 numslots=0 T 200 700 5 10 0 0 0 0 1 symversion=0.1 geda-gaf-1.8.2/symbols/analog/capacitor-2.sym0000664000175000017500000000137312204104272015665 00000000000000v 20050820 1 P 0 200 200 200 1 0 0 { T 150 250 5 8 1 1 0 6 1 pinnumber=1 T 200 150 5 8 0 1 0 8 1 pinseq=1 T 250 200 9 8 0 1 0 0 1 pinlabel=+ T 250 200 5 8 0 1 0 2 1 pintype=pas } P 900 200 700 200 1 0 0 { T 750 250 5 8 1 1 0 0 1 pinnumber=2 T 700 150 5 8 0 1 0 2 1 pinseq=2 T 650 200 9 8 0 1 0 6 1 pinlabel=- T 650 200 5 8 0 1 0 8 1 pintype=pas } L 400 400 400 0 3 0 0 0 -1 -1 L 700 200 500 200 3 0 0 0 -1 -1 L 400 200 200 200 3 0 0 0 -1 -1 T 200 700 5 10 0 0 0 0 1 device=POLARIZED_CAPACITOR A 1200 200 700 165 30 3 0 0 0 -1 -1 L 289 400 289 300 3 0 0 0 -1 -1 L 340 349 240 349 3 0 0 0 -1 -1 T 200 500 8 10 1 1 0 0 1 refdes=C? T 200 1300 5 10 0 0 0 0 1 description=polarized capacitor T 200 1100 5 10 0 0 0 0 1 numslots=0 T 200 900 5 10 0 0 0 0 1 symversion=0.1 geda-gaf-1.8.2/symbols/analog/speaker-1.sym0000664000175000017500000000151512204104272015347 00000000000000v 20031231 1 L 1800 2500 1800 0 3 0 0 0 -1 -1 A 1000 1600 100 270 180 3 0 0 0 -1 -1 A 1000 1400 100 270 180 3 0 0 0 -1 -1 A 1000 1200 100 270 180 3 0 0 0 -1 -1 A 1000 1000 100 270 180 3 0 0 0 -1 -1 A 1000 1800 100 270 180 3 0 0 0 -1 -1 A 1000 800 100 270 180 3 0 0 0 -1 -1 T 300 400 9 10 1 0 0 0 1 SPEAKER P 1000 1900 0 1900 1 0 1 { T 50 1950 5 10 0 1 0 0 1 pinnumber=1 T 50 1950 5 10 0 0 0 0 1 pinseq=1 T 50 1950 5 10 0 1 0 0 1 pinlabel=1 T 50 1950 5 10 0 1 0 0 1 pintype=pas } P 1000 700 0 700 1 0 1 { T 0 750 5 10 0 1 0 0 1 pinnumber=2 T 0 750 5 10 0 0 0 0 1 pinseq=2 T 0 750 5 10 0 1 0 0 1 pinlabel=2 T 0 750 5 10 0 1 0 0 1 pintype=pas } B 1200 700 200 1200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2000 2500 5 10 0 0 0 0 1 device=SPEAKER L 1400 1900 1800 2500 3 0 0 0 -1 -1 L 1400 700 1800 0 3 0 0 0 -1 -1 T 600 2000 8 10 1 1 0 0 1 refdes=SPK? geda-gaf-1.8.2/symbols/analog/capacitor-1.sym0000664000175000017500000000124112204104272015656 00000000000000v 20050820 1 P 0 200 200 200 1 0 0 { T 150 250 5 8 0 1 0 6 1 pinnumber=1 T 150 150 5 8 0 1 0 8 1 pinseq=1 T 200 200 9 8 0 1 0 0 1 pinlabel=1 T 200 200 5 8 0 1 0 2 1 pintype=pas } P 900 200 700 200 1 0 0 { T 750 250 5 8 0 1 0 0 1 pinnumber=2 T 750 150 5 8 0 1 0 2 1 pinseq=2 T 700 200 9 8 0 1 0 6 1 pinlabel=2 T 700 200 5 8 0 1 0 8 1 pintype=pas } L 400 400 400 0 3 0 0 0 -1 -1 L 500 400 500 0 3 0 0 0 -1 -1 L 700 200 500 200 3 0 0 0 -1 -1 L 400 200 200 200 3 0 0 0 -1 -1 T 200 700 5 10 0 0 0 0 1 device=CAPACITOR T 200 500 8 10 1 1 0 0 1 refdes=C? T 200 1300 5 10 0 0 0 0 1 description=capacitor T 200 1100 5 10 0 0 0 0 1 numslots=0 T 200 900 5 10 0 0 0 0 1 symversion=0.1 geda-gaf-1.8.2/symbols/analog/voltmeter-1.sym0000664000175000017500000000127712204104272015743 00000000000000v 20031231 1 L 200 0 700 600 3 0 0 0 -1 -1 L 700 600 600 600 3 0 0 0 -1 -1 L 700 600 700 500 3 0 0 0 -1 -1 P 0 300 200 300 1 0 0 { T 100 350 5 8 0 1 0 0 1 pinnumber=1 T 100 350 5 8 0 0 0 0 1 pinseq=1 T 100 350 5 8 0 1 0 0 1 pinlabel=1 T 100 350 5 8 0 1 0 0 1 pintype=pas } P 900 300 700 300 1 0 0 { T 700 350 5 8 0 1 0 0 1 pinnumber=2 T 700 350 5 8 0 0 0 0 1 pinseq=2 T 700 350 5 8 0 1 0 0 1 pinlabel=2 T 700 350 5 8 0 1 0 0 1 pintype=pas } V 450 300 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 100 850 8 10 0 0 0 0 1 device=VOLTAGE_SOURCE L 200 300 250 300 3 0 0 0 -1 -1 L 650 300 700 300 3 0 0 0 -1 -1 T 300 600 8 10 1 1 0 0 1 refdes=V? T 100 1000 8 10 0 1 0 0 1 description=A voltage measurement device geda-gaf-1.8.2/symbols/analog/darlington_NPN_PNP-1.sym0000664000175000017500000000261412204104272017307 00000000000000v 20041228 1 L 500 700 500 1100 3 0 0 0 -1 -1 L 500 800 700 700 3 0 0 0 -1 -1 L 700 1100 500 1000 3 0 0 0 -1 -1 L 500 900 300 900 3 0 0 0 -1 -1 L 610 1080 560 1030 3 0 0 0 -1 -1 L 560 1030 630 1040 3 0 0 0 -1 -1 L 800 900 800 500 3 0 0 0 -1 -1 L 800 800 1000 900 3 0 0 0 -1 -1 L 800 600 1000 500 3 0 0 0 -1 -1 L 890 580 940 530 3 0 0 0 -1 -1 L 940 530 870 540 3 0 0 0 -1 -1 L 1000 900 1000 1200 3 0 0 0 -1 -1 L 1000 1200 700 1200 3 0 0 0 -1 -1 L 700 1100 700 1200 3 0 0 0 -1 -1 L 1000 500 1000 300 3 0 0 0 -1 -1 P 0 900 300 900 1 0 0 { T 100 900 5 10 0 1 0 0 1 pinseq=1 T 100 1100 5 8 0 1 0 0 1 pinnumber=B T 100 700 3 10 1 1 0 0 1 pinlabel=B T 100 600 5 10 0 1 0 0 1 pintype=pas } L 700 700 800 700 3 0 0 0 -1 -1 L 1000 1200 1000 1400 3 0 0 0 -1 -1 V 800 900 500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 100 -300 8 10 0 1 0 0 1 device=darlington, NPN T 800 1900 8 10 0 0 0 0 1 description=darlington, NPN P 1000 1700 1000 1400 1 0 0 { T 1000 1600 5 10 0 1 270 0 1 pinseq=2 T 1100 1400 5 8 0 1 0 0 1 pinnumber=C T 1100 1500 3 10 1 1 0 0 1 pinlabel=C T 700 1600 5 10 0 1 270 0 1 pintype=pas } P 1000 0 1000 300 1 0 0 { T 1000 100 5 10 0 1 90 0 1 pinseq=3 T 1100 200 5 8 0 1 0 0 1 pinnumber=E T 1200 300 3 10 1 1 180 0 1 pinlabel=E T 1300 100 5 10 0 1 90 0 1 pintype=pas } T 100 -530 8 10 0 1 0 0 1 footprint=TO92 T 500 170 5 10 1 1 0 0 1 refdes=T? T 800 2100 8 10 0 0 0 0 1 numslots=0 T 800 2300 8 10 0 0 0 0 1 device=DARLINGTON geda-gaf-1.8.2/symbols/analog/crystal-1.sym0000664000175000017500000000121512204104272015373 00000000000000v 20050820 1 P 0 100 200 100 1 0 0 { T 150 150 5 8 0 1 0 6 1 pinnumber=1 T 150 50 5 8 0 1 0 8 1 pinseq=1 T 250 100 9 8 0 1 0 0 1 pinlabel=1 T 250 100 5 8 0 1 0 2 1 pintype=pas } P 500 100 700 100 1 0 1 { T 550 150 5 8 0 1 0 0 1 pinnumber=2 T 550 50 5 8 0 1 0 2 1 pinseq=2 T 450 100 9 8 0 1 0 6 1 pinlabel=2 T 450 100 5 8 0 1 0 8 1 pintype=pas } B 250 0 200 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 200 500 5 10 0 0 0 0 1 device=CRYSTAL L 200 240 200 -40 3 0 0 0 -1 -1 L 500 240 500 -40 3 0 0 0 -1 -1 T 200 300 8 10 1 1 0 0 1 refdes=U? T 200 1100 5 10 0 0 0 0 1 description=crystal T 200 900 5 10 0 0 0 0 1 numslots=0 T 200 700 5 10 0 0 0 0 1 symversion=0.1 geda-gaf-1.8.2/symbols/spice/0000775000175000017500000000000012220655765012765 500000000000000geda-gaf-1.8.2/symbols/spice/gnucap-options-1.sym0000664000175000017500000000037112204104272016524 00000000000000v 20041228 1 B 0 200 1900 300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 100 200 9 10 0 1 0 0 1 device=options T 100 300 9 10 1 1 0 0 1 refdes=A? T 500 300 9 10 1 0 0 0 1 Gnucap options T 100 0 8 10 1 1 0 0 1 value=unknown T 100 600 8 10 0 0 0 0 1 numslots=0 geda-gaf-1.8.2/symbols/spice/vac-1.sym0000664000175000017500000000130412204104272014324 00000000000000v 20031231 1 T 700 650 8 10 1 1 0 0 1 refdes=V? T 700 850 5 10 0 0 0 0 1 device=vac T 700 1050 5 10 0 0 0 0 1 footprint=none T 700 1250 5 10 0 0 0 0 1 numslots=0 T 700 1450 5 10 0 0 0 0 1 description=ac power source P 300 1200 300 900 1 0 0 { T 350 1000 5 8 1 1 0 0 1 pinnumber=1 T 350 1000 5 8 0 1 0 2 1 pinseq=1 T 300 850 9 8 1 1 0 5 1 pinlabel=+ T 300 700 5 8 0 1 0 5 1 pintype=pwr } P 300 0 300 300 1 0 0 { T 350 100 5 8 1 1 0 0 1 pinnumber=2 T 350 100 5 8 0 1 0 2 1 pinseq=2 T 300 350 9 8 1 1 0 3 1 pinlabel=- T 300 500 5 8 0 1 0 3 1 pintype=pwr } V 300 600 300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 700 450 5 10 1 1 0 0 1 value=dc 0 ac 1 A 230 575 75 19 141 3 0 0 0 -1 -1 A 370 625 75 199 141 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/spice/aop-spice-1.sym0000664000175000017500000000230012204104272015430 00000000000000v 20050820 1 L 200 800 200 0 3 0 0 0 -1 -1 L 200 0 800 400 3 0 0 0 -1 -1 T 1050 150 5 8 0 0 0 0 1 device=AOP-Standard L 800 400 200 800 3 0 0 0 -1 -1 P 200 600 0 600 1 0 1 { T 150 625 5 8 1 1 0 6 1 pinnumber=1 T 150 625 5 8 0 0 0 6 1 pinseq=1 T 200 600 5 10 0 0 0 0 1 pintype=in T 200 600 5 10 0 0 0 0 1 pinlabel=IN+ } P 200 200 0 200 1 0 1 { T 150 225 5 8 1 1 0 6 1 pinnumber=2 T 150 225 5 8 0 0 0 6 1 pinseq=2 T 200 200 5 10 0 0 0 0 1 pintype=in T 200 200 5 10 0 0 0 0 1 pinlabel=IN- } P 800 400 1000 400 1 0 1 { T 875 425 5 8 1 1 0 0 1 pinnumber=5 T 875 425 5 8 0 0 0 0 1 pinseq=5 T 800 400 5 10 0 0 0 0 1 pintype=out T 800 400 5 10 0 0 0 0 1 pinlabel=OUT } P 500 600 500 800 1 0 1 { T 525 650 5 8 1 1 0 0 1 pinnumber=4 T 525 650 5 8 0 0 0 0 1 pinseq=4 T 500 600 5 10 0 0 0 0 1 pintype=pwr T 500 600 5 10 0 0 0 0 1 pinlabel=VSS } P 500 200 500 0 1 0 1 { T 400 25 5 8 1 1 0 0 1 pinnumber=3 T 400 25 5 8 0 0 0 0 1 pinseq=3 T 500 200 5 10 0 0 0 0 1 pintype=pwr T 500 200 5 10 0 0 0 0 1 pinlabel=VCC } L 300 650 300 550 3 0 0 0 -1 -1 L 250 600 350 600 3 0 0 0 -1 -1 L 250 200 350 200 3 0 0 0 -1 -1 T 250 350 9 8 1 0 0 0 1 AOP T 650 100 9 8 1 0 0 0 1 VCC T 650 600 9 8 1 0 0 0 1 VSS T 700 800 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/spice/gnucap-directive-1.sym0000664000175000017500000000044112204104272017005 00000000000000v 20041228 1 B 0 200 2100 300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 100 200 9 10 0 1 0 0 1 device=directive T 100 300 9 10 1 1 0 0 1 refdes=A? T 600 300 9 10 1 0 0 0 1 Gnucap directive T 100 0 8 10 1 1 0 0 1 file=unknown T 100 0 8 10 1 1 0 0 1 value=unknown T 100 600 8 10 0 0 0 0 1 numslots=0 geda-gaf-1.8.2/symbols/spice/spice-directive-1.sym0000664000175000017500000000040012204104272016626 00000000000000v 20031231 1 B 0 300 2000 300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 100 300 9 10 0 1 0 0 1 device=directive T 100 400 9 10 1 1 0 0 1 refdes=A? T 600 400 9 10 1 0 0 0 1 SPICE directive T 100 100 8 10 1 1 0 0 1 file=unknown T 100 100 8 10 1 1 0 0 1 value=unknown geda-gaf-1.8.2/symbols/spice/spice-include-1.sym0000664000175000017500000000036412204104272016304 00000000000000v 20031231 1 B 0 300 1900 300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 100 300 9 10 0 1 0 0 1 device=include T 100 400 9 10 1 1 0 0 1 refdes=A? T 600 400 9 10 1 0 0 0 1 SPICE include T 500 100 8 10 1 1 0 0 1 file=unknown T 100 100 9 10 1 0 0 0 1 File: geda-gaf-1.8.2/symbols/spice/idc-1.sym0000664000175000017500000000131112204104272014310 00000000000000v 20031231 1 T 700 650 8 10 1 1 0 0 1 refdes=I? T 700 850 5 10 0 0 0 0 1 device=CURRENT_SOURCE T 700 1050 5 10 0 0 0 0 1 footprint=none T 700 1250 5 10 0 0 0 0 1 numslots=0 T 700 1450 5 10 0 0 0 0 1 description=dc current source P 300 1200 300 900 1 0 0 { T 350 1000 5 8 1 1 0 0 1 pinnumber=1 T 350 1000 5 8 0 1 0 2 1 pinseq=1 T 300 850 9 8 1 1 0 5 1 pinlabel=+ T 300 700 5 8 0 1 0 5 1 pintype=pwr } P 300 0 300 300 1 0 0 { T 350 100 5 8 1 1 0 0 1 pinnumber=2 T 350 100 5 8 0 1 0 2 1 pinseq=2 T 300 350 9 8 1 1 0 3 1 pinlabel=- T 300 500 5 8 0 1 0 3 1 pintype=pwr } V 300 600 300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 175 625 425 625 3 0 0 0 -1 -1 L 175 575 425 575 3 0 0 0 -1 -1 T 700 450 5 10 1 1 0 0 1 value=DC 1mA geda-gaf-1.8.2/symbols/spice/spice-pnp-1.sym0000664000175000017500000000160612204104272015456 00000000000000v 20050820 1 P 600 1000 600 800 1 0 0 { T 500 850 5 6 1 1 0 0 1 pinnumber=3 T 500 850 5 6 0 0 0 0 1 pinseq=1 T 600 1000 5 10 0 0 0 0 1 pinlabel=C T 600 1000 5 10 0 0 0 0 1 pintype=pas } P 600 200 600 0 1 0 1 { T 500 50 5 6 1 1 0 0 1 pinnumber=2 T 500 50 5 6 0 0 0 0 1 pinseq=3 T 600 200 5 10 0 0 0 0 1 pinlabel=E T 600 200 5 10 0 0 0 0 1 pintype=pas } V 500 501 316 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 900 700 5 10 0 0 0 0 1 device=PNP_TRANSISTOR L 600 200 400 400 3 0 0 0 -1 -1 L 600 800 400 600 3 0 0 0 -1 -1 L 400 700 400 300 3 0 0 0 -1 -1 P 0 500 184 500 1 0 0 { T 100 550 5 6 1 1 0 0 1 pinnumber=1 T 100 550 5 6 0 0 0 0 1 pinseq=2 T 0 500 5 10 0 0 0 0 1 pinlabel=B T 0 500 5 10 0 0 0 0 1 pintype=pas } L 400 500 184 500 3 0 0 0 -1 -1 L 400 400 436 328 3 0 0 0 -1 -1 L 400 400 472 364 3 0 0 0 -1 -1 L 472 364 436 328 3 0 0 0 -1 -1 T 900 500 8 10 1 1 0 0 1 refdes=Q? T 900 200 9 10 1 0 0 0 1 SPICE PNP geda-gaf-1.8.2/symbols/spice/gnucap-npn-1.sym0000664000175000017500000000212412204104272015622 00000000000000v 20041228 1 L 200 800 200 200 3 0 0 0 -1 -1 T 100 1100 5 10 0 0 0 0 1 device=NPN_TRANSISTOR L 500 800 200 500 3 0 0 0 -1 -1 L 200 500 500 200 3 0 0 0 -1 -1 P 0 500 200 500 1 0 0 { T 100 550 5 6 1 1 0 0 1 pinlabel=B T -56 356 5 6 0 0 90 0 1 pinseq=2 T 66 534 5 10 0 1 90 0 1 pintype=pas T 51 333 5 10 0 1 0 0 1 pinnumber=2 } P 500 1000 500 800 1 0 0 { T 400 850 5 6 1 1 0 0 1 pinlabel=C T 559 905 5 6 0 0 0 0 1 pinseq=1 T 576 1009 5 10 0 1 0 0 1 pintype=pas T 333 896 5 10 0 1 0 0 1 pinnumber=1 } P 500 200 500 0 1 0 1 { T 400 50 5 6 1 1 0 0 1 pinlabel=E T 567 47 5 6 0 0 0 0 1 pinseq=3 T 554 190 5 10 0 1 0 0 1 pintype=pas T 485 303 5 10 0 1 0 0 1 pinnumber=3 } L 500 200 450 300 3 0 0 0 -1 -1 L 500 200 400 250 3 0 0 0 -1 -1 L 400 250 450 300 3 0 0 0 -1 -1 T 600 500 8 10 1 1 0 0 1 refdes=Q? P 200 200 100 100 1 0 1 { T 181 220 5 6 1 1 0 6 1 pinlabel=S T -175 34 5 6 0 0 0 0 1 pinseq=4 T -33 -76 5 10 0 1 0 0 1 pintype=pas T -32 122 5 10 0 1 0 0 1 pinnumber=4 } T 100 1300 5 10 0 0 0 0 1 description=http://www.gnu.org/software/gnucap/gnucap-man-html/gnucap-man076.html T 600 700 8 10 0 0 0 0 1 numslots=0 geda-gaf-1.8.2/symbols/spice/gnucap-model-1.sym0000664000175000017500000000054312204104272016132 00000000000000v 20041228 1 B 0 400 1800 300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 100 600 9 10 0 1 0 0 1 device=model T 100 500 9 10 1 1 0 0 1 refdes=A? T 500 500 9 10 1 0 0 0 1 Gnucap model T 100 200 9 10 1 0 0 0 1 Model name: T 100 0 9 10 1 0 0 0 1 File: T 1300 200 8 10 1 1 0 0 1 model-name=unknown T 500 0 8 10 1 1 0 0 1 file=unknown T 100 800 8 10 0 0 0 0 1 numslots=0 geda-gaf-1.8.2/symbols/spice/wline-1x.sym0000664000175000017500000000177112204104272015071 00000000000000v 20031231 1 L 1800 600 400 600 3 0 0 0 -1 -1 L 1800 200 400 200 3 0 0 0 -1 -1 A 1800 400 200 270 180 3 0 0 0 -1 -1 V 400 400 201 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 400 400 0 400 1 0 1 { T 100 500 5 10 0 1 0 0 1 pinnumber=left T 100 500 5 10 0 0 0 0 1 pinseq=1 T 100 500 5 10 0 1 0 0 1 pinlabel=left T 100 500 5 10 0 1 0 0 1 pintype=pas } P 2000 400 2200 400 1 0 1 { T 2100 500 5 10 0 1 0 0 1 pinnumber=right T 2100 500 5 10 0 0 0 0 1 pinseq=3 T 2100 500 5 10 0 1 0 0 1 pinlabel=right T 2100 500 5 10 0 1 0 0 1 pintype=pas } P 400 200 400 0 1 0 1 { T 500 0 5 10 0 1 0 0 1 pinnumber=left-ref T 500 0 5 10 0 0 0 0 1 pinseq=2 T 500 0 5 10 0 1 0 0 1 pinlabel=left-ref T 500 0 5 10 0 1 0 0 1 pintype=pas } P 1800 200 1800 0 1 0 1 { T 1900 0 5 10 0 1 0 0 1 pinnumber=right-ref T 1900 0 5 10 0 0 0 0 1 pinseq=4 T 1900 0 5 10 0 1 0 0 1 pinlabel=right-ref T 1900 0 5 10 0 1 0 0 1 pintype=pas } T 900 400 8 10 0 1 0 0 1 device=T-Line T 1050 -50 8 10 1 1 0 0 1 refdes=W? T 200 700 8 10 1 1 0 0 1 value=N=1 RLGCmodel=? L=? geda-gaf-1.8.2/symbols/spice/cccs-1.sym0000664000175000017500000000350112204104272014467 00000000000000v 20060123 1 L 1000 600 800 400 3 0 0 0 -1 -1 L 800 400 1000 200 3 0 0 0 -1 -1 L 1200 400 1000 200 3 0 0 0 -1 -1 L 1200 400 1000 600 3 0 0 0 -1 -1 L 1000 600 1000 700 3 0 0 0 -1 -1 L 1000 700 1300 700 3 0 0 0 -1 -1 L 1300 100 1000 100 3 0 0 0 -1 -1 L 1000 200 1000 100 3 0 0 0 -1 -1 P 1300 700 1500 700 1 0 1 { T 1400 750 5 8 0 1 0 0 1 pinnumber=1 T 1400 650 5 8 0 1 0 2 1 pinseq=1 T 1250 700 5 8 0 1 0 8 1 pintype=pwr T 1250 700 9 8 0 1 0 6 1 pinlabel=N+ } P 1300 100 1500 100 1 0 1 { T 1400 150 5 8 0 1 0 0 1 pinnumber=2 T 1400 50 5 8 0 1 0 2 1 pinseq=2 T 1250 100 5 8 0 1 0 8 1 pintype=pwr T 1250 100 9 8 0 1 0 6 1 pinlabel=N- } L 1300 0 1300 800 3 0 0 0 -1 -1 L 500 700 500 100 3 0 0 0 -1 -1 L 500 100 200 100 3 0 0 0 -1 -1 L 200 700 500 700 3 0 0 0 -1 -1 L 200 800 200 0 3 0 0 0 -1 -1 L 200 800 1300 800 3 0 0 0 -1 -1 T 200 1050 5 10 0 0 0 0 1 device=SPICE-cccs L 1300 0 200 0 3 0 0 0 -1 -1 P 200 700 0 700 1 0 1 { T 100 750 5 8 0 1 0 6 1 pinnumber=3 T 100 650 5 8 0 1 0 8 1 pinseq=3 T 250 700 5 8 0 1 0 2 1 pintype=pas T 250 700 9 8 0 1 0 0 1 pinlabel=NC+ } P 0 100 200 100 1 0 0 { T 100 150 5 8 0 1 0 6 1 pinnumber=4 T 100 50 5 8 0 1 0 8 1 pinseq=4 T 250 100 5 8 0 1 0 2 1 pintype=pas T 250 100 9 8 0 1 0 0 1 pinlabel=NC- } L 800 400 1200 400 3 0 0 0 -1 -1 L 500 200 450 350 3 0 0 0 -1 -1 L 500 200 550 350 3 0 0 0 -1 -1 L 750 625 750 200 3 0 0 0 -1 -1 L 750 200 700 350 3 0 0 0 -1 -1 L 750 200 800 350 3 0 0 0 -1 -1 T 600 850 8 10 1 1 0 0 1 refdes=F? T 200 2050 5 10 0 0 0 0 1 description=current controlled current source T 200 1450 5 10 0 0 0 0 1 numslots=0 T 200 1250 5 10 0 0 0 0 1 symversion=0.1 T 200 1850 5 10 0 0 0 0 1 documentation=http://newton.ex.ac.uk/teaching/CDHW/Electronics2/userguide/sec3.html#3.2.2 T 200 1650 5 10 0 0 0 0 1 comment=the sensing voltage source will be added by the netlist backends T 700 -50 8 10 1 0 0 5 1 value=1 geda-gaf-1.8.2/symbols/spice/gnucap-include-1.sym0000664000175000017500000000042512204104272016454 00000000000000v 20041228 1 B 0 200 2000 300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 100 200 9 10 0 1 0 0 1 device=include T 100 300 9 10 1 1 0 0 1 refdes=A? T 600 300 9 10 1 0 0 0 1 Gnucap include T 500 0 8 10 1 1 0 0 1 file=unknown T 100 0 9 10 1 0 0 0 1 File: T 300 600 8 10 0 0 0 0 1 numslots=0 geda-gaf-1.8.2/symbols/spice/spice-subcircuit-LL-1.sym0000664000175000017500000000034712204104272017343 00000000000000v 20031231 1 B 0 300 2200 300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 100 300 9 10 0 1 0 0 1 device=spice-subcircuit-LL T 100 400 9 10 1 1 0 0 1 refdes=A? T 600 400 9 10 1 0 0 0 1 SPICE .SUBCKT T 100 100 8 10 1 1 0 0 1 model-name=unknown geda-gaf-1.8.2/symbols/spice/vcvs-1.sym0000664000175000017500000000321312204104272014535 00000000000000v 20060123 1 L 1000 600 800 400 3 0 0 0 -1 -1 L 800 400 1000 200 3 0 0 0 -1 -1 L 1200 400 1000 200 3 0 0 0 -1 -1 L 1200 400 1000 600 3 0 0 0 -1 -1 L 1000 600 1000 700 3 0 0 0 -1 -1 L 1000 700 1300 700 3 0 0 0 -1 -1 L 1300 100 1000 100 3 0 0 0 -1 -1 L 1000 200 1000 100 3 0 0 0 -1 -1 P 1300 700 1500 700 1 0 1 { T 1400 750 5 8 0 1 0 0 1 pinnumber=1 T 1400 650 5 8 0 1 0 2 1 pinseq=1 T 1250 700 9 8 0 1 0 6 1 pinlabel=N+ T 1250 700 5 8 0 1 0 8 1 pintype=pas } P 1300 100 1500 100 1 0 1 { T 1400 150 5 8 0 1 0 0 1 pinnumber=2 T 1400 50 5 8 0 1 0 2 1 pinseq=2 T 1250 100 9 8 0 1 0 6 1 pinlabel=N- T 1250 100 5 8 0 1 0 8 1 pintype=pas } L 1300 0 1300 800 3 0 0 0 -1 -1 L 500 100 200 100 3 0 0 0 -1 -1 L 200 700 500 700 3 0 0 0 -1 -1 L 200 800 200 0 3 0 0 0 -1 -1 L 200 800 1300 800 3 0 0 0 -1 -1 T 200 1050 5 10 0 0 0 0 1 device=SPICE-vcvs L 1300 0 200 0 3 0 0 0 -1 -1 P 200 700 0 700 1 0 1 { T 100 750 5 8 0 1 0 6 1 pinnumber=3 T 100 650 5 8 0 1 0 8 1 pinseq=3 T 250 700 9 8 0 1 0 0 1 pinlabel=NC+ T 250 700 5 8 0 1 0 2 1 pintype=pas } P 0 100 200 100 1 0 0 { T 100 150 5 8 0 1 0 6 1 pinnumber=4 T 100 50 5 8 0 1 0 8 1 pinseq=4 T 250 100 9 8 0 1 0 0 1 pinlabel=NC- T 250 100 5 8 0 1 0 2 1 pintype=pas } L 1000 600 1000 200 3 0 0 0 -1 -1 T 600 850 8 10 1 1 0 0 1 refdes=E? T 200 1850 5 10 0 0 0 0 1 description=voltage controlled voltage source T 200 1450 5 10 0 0 0 0 1 numslots=0 T 200 1250 5 10 0 0 0 0 1 symversion=0.1 T 200 1650 5 10 0 0 0 0 1 documentation=http://newton.ex.ac.uk/teaching/CDHW/Electronics2/userguide/sec3.html#3.2.2 T 900 600 9 10 1 0 0 0 1 + T 900 100 9 10 1 0 0 0 1 - T 500 600 9 10 1 0 0 0 1 + T 500 100 9 10 1 0 0 0 1 - T 700 -50 8 10 1 0 0 5 1 value=1 geda-gaf-1.8.2/symbols/spice/spice-model-1.sym0000664000175000017500000000050212204104272015753 00000000000000v 20031231 1 B 0 500 1800 300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 100 700 9 10 0 1 0 0 1 device=model T 100 600 9 10 1 1 0 0 1 refdes=A? T 500 600 9 10 1 0 0 0 1 SPICE model T 100 300 9 10 1 0 0 0 1 Model name: T 100 100 9 10 1 0 0 0 1 File: T 1300 300 8 10 1 1 0 0 1 model-name=unknown T 500 100 8 10 1 1 0 0 1 file=unknown geda-gaf-1.8.2/symbols/spice/spice-subcircuit-IO-1.sym0000664000175000017500000000075212204104272017343 00000000000000v 20050820 1 P 400 300 200 300 1 0 1 { T 100 200 5 10 0 0 0 0 1 pinseq=1 T 100 200 5 10 0 0 0 0 1 pinnumber=1 T 400 300 5 10 0 0 0 0 1 pintype=io T 400 300 5 10 0 0 0 0 1 pinlabel=1 } T 900 400 8 10 0 1 0 0 1 device=spice-IO T 850 250 8 10 1 1 0 0 1 refdes=P? L 500 400 400 300 3 0 0 0 -1 -1 L 500 200 400 300 3 0 0 0 -1 -1 L 500 400 700 400 3 0 0 0 -1 -1 T 188 97 9 6 1 0 0 0 1 .SUBCKT IO Pin L 500 200 700 200 3 0 0 0 -1 -1 L 800 300 700 400 3 0 0 0 -1 -1 L 800 300 700 200 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/spice/nullor-1.sym0000664000175000017500000000147312204104272015075 00000000000000v 20031231 1 P 1300 700 1500 700 1 0 1 { T 1400 800 5 8 0 0 0 0 1 pinnumber=2 T 1400 800 5 8 0 0 0 0 1 pinseq=2 } P 1300 100 1500 100 1 0 1 { T 1400 -100 5 8 0 0 0 0 1 pinnumber=1 T 1400 -100 5 8 0 0 0 0 1 pinseq=1 } L 1300 0 1300 800 3 0 0 0 -1 -1 L 200 800 200 0 3 0 0 0 -1 -1 L 200 800 1300 800 3 0 0 0 -1 -1 T -100 1000 9 8 0 0 0 0 1 device=SPICE-nullor L 1300 0 200 0 3 0 0 0 -1 -1 P 200 700 0 700 1 0 1 { T -400 800 5 8 0 0 0 0 1 pinnumber=3 T -400 800 5 8 0 0 0 0 1 pinseq=3 } P 0 100 200 100 1 0 0 { T -400 -100 5 8 0 0 0 0 1 pinnumber=4 T -400 -100 5 8 0 0 0 0 1 pinseq=4 } L 500 400 1000 400 3 0 0 0 -1 -1 L 1000 400 900 500 3 0 0 0 -1 -1 L 1000 400 900 300 3 0 0 0 -1 -1 T 300 600 9 10 1 0 0 0 1 + T 1100 100 9 10 1 0 0 0 1 + T 300 100 9 10 1 0 0 0 1 - T 1100 600 9 10 1 0 0 0 1 - T 600 900 8 12 1 1 0 0 1 refdes=N? geda-gaf-1.8.2/symbols/spice/tline.sym0000664000175000017500000000176112204104272014537 00000000000000v 20031231 1 L 1800 600 400 600 3 0 0 0 -1 -1 L 1800 200 400 200 3 0 0 0 -1 -1 A 1800 400 200 270 180 3 0 0 0 -1 -1 V 400 400 201 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 400 400 0 400 1 0 1 { T 100 500 5 10 0 1 0 0 1 pinnumber=left T 100 500 5 10 0 0 0 0 1 pinseq=1 T 100 500 5 10 0 1 0 0 1 pinlabel=left T 100 500 5 10 0 1 0 0 1 pintype=pas } P 2000 400 2200 400 1 0 1 { T 2100 500 5 10 0 1 0 0 1 pinnumber=right T 2100 500 5 10 0 0 0 0 1 pinseq=3 T 2100 500 5 10 0 1 0 0 1 pinlabel=right T 2100 500 5 10 0 1 0 0 1 pintype=pas } P 400 200 400 0 1 0 1 { T 500 0 5 10 0 1 0 0 1 pinnumber=left-ref T 500 0 5 10 0 0 0 0 1 pinseq=2 T 500 0 5 10 0 1 0 0 1 pinlabel=left-ref T 500 0 5 10 0 1 0 0 1 pintype=pas } P 1800 200 1800 0 1 0 1 { T 1900 0 5 10 0 1 0 0 1 pinnumber=right-ref T 1900 0 5 10 0 0 0 0 1 pinseq=4 T 1900 0 5 10 0 1 0 0 1 pinlabel=right-ref T 1900 0 5 10 0 1 0 0 1 pintype=pas } T 900 400 8 10 0 1 0 0 1 device=T-Line T 1050 -50 8 10 1 1 0 0 1 refdes=T? T 400 700 8 10 1 1 0 0 1 value=TD=?pS Z0=? geda-gaf-1.8.2/symbols/spice/ccvs-1.sym0000664000175000017500000000343312204104272014516 00000000000000v 20060123 1 L 1000 600 800 400 3 0 0 0 -1 -1 L 800 400 1000 200 3 0 0 0 -1 -1 L 1200 400 1000 200 3 0 0 0 -1 -1 L 1200 400 1000 600 3 0 0 0 -1 -1 L 1000 600 1000 700 3 0 0 0 -1 -1 L 1000 700 1300 700 3 0 0 0 -1 -1 L 1300 100 1000 100 3 0 0 0 -1 -1 L 1000 200 1000 100 3 0 0 0 -1 -1 L 1300 0 1300 800 3 0 0 0 -1 -1 L 500 700 500 100 3 0 0 0 -1 -1 L 500 100 200 100 3 0 0 0 -1 -1 L 200 700 500 700 3 0 0 0 -1 -1 L 200 800 200 0 3 0 0 0 -1 -1 L 200 800 1300 800 3 0 0 0 -1 -1 T 200 1050 5 10 0 0 0 0 1 device=SPICE-ccvs L 1300 0 200 0 3 0 0 0 -1 -1 L 1000 200 1000 600 3 0 0 0 -1 -1 L 500 200 550 325 3 0 0 0 -1 -1 L 500 200 450 325 3 0 0 0 -1 -1 P 200 700 0 700 1 0 1 { T 100 750 5 8 0 1 0 6 1 pinnumber=3 T 100 650 5 8 0 1 0 8 1 pinseq=3 T 250 700 9 8 0 1 0 0 1 pinlabel=NC+ T 250 700 5 8 0 1 0 2 1 pintype=pas } P 200 100 0 100 1 0 1 { T 100 150 5 8 0 1 0 6 1 pinnumber=4 T 100 50 5 8 0 1 0 8 1 pinseq=4 T 250 100 9 8 0 1 0 0 1 pinlabel=NC- T 250 100 5 8 0 1 0 2 1 pintype=pas } P 1300 100 1500 100 1 0 1 { T 1400 150 5 8 0 1 0 0 1 pinnumber=2 T 1400 50 5 8 0 1 0 2 1 pinseq=2 T 1250 100 9 8 0 1 0 6 1 pinlabel=N- T 1250 100 5 8 0 1 0 8 1 pintype=pas } P 1300 700 1500 700 1 0 1 { T 1400 750 5 8 0 1 0 0 1 pinnumber=1 T 1400 650 5 8 0 1 0 2 1 pinseq=1 T 1250 700 9 8 0 1 0 6 1 pinlabel=N+ T 1250 700 5 8 0 1 0 8 1 pintype=pas } T 600 850 8 10 1 1 0 0 1 refdes=H? T 200 2050 5 10 0 0 0 0 1 description=current controlled current source T 200 1450 5 10 0 0 0 0 1 numslots=0 T 200 1250 5 10 0 0 0 0 1 symversion=0.1 T 200 1850 5 10 0 0 0 0 1 documentation=http://newton.ex.ac.uk/teaching/CDHW/Electronics2/userguide/sec3.html#3.2.2 T 900 600 9 10 1 0 0 0 1 + T 900 100 9 10 1 0 0 0 1 - T 200 1650 5 10 0 0 0 0 1 comment=the sensing voltage source will be generated by the netlist backend T 800 -50 8 10 1 0 0 5 1 value=1 geda-gaf-1.8.2/symbols/spice/spice-npn-1.sym0000664000175000017500000000160112204104272015447 00000000000000v 20040710 1 P 600 1000 600 800 1 0 0 { T 500 850 5 6 1 1 0 0 1 pinnumber=3 T 500 850 5 6 0 0 0 0 1 pinseq=1 T 500 850 5 6 0 1 0 0 1 pinlabel=3 T 500 850 5 6 0 1 0 0 1 pintype=pas } P 600 200 600 0 1 0 1 { T 500 50 5 6 1 1 0 0 1 pinnumber=1 T 500 50 5 6 0 0 0 0 1 pinseq=3 T 500 50 5 6 0 1 0 0 1 pinlabel=1 T 500 50 5 6 0 1 0 0 1 pintype=pas } V 500 501 316 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 900 700 5 10 0 0 0 0 1 device=SPICE-NPN L 600 200 400 400 3 0 0 0 -1 -1 L 600 800 400 600 3 0 0 0 -1 -1 L 400 700 400 300 3 0 0 0 -1 -1 P 0 500 184 500 1 0 0 { T 100 550 5 6 1 1 0 0 1 pinnumber=2 T 100 550 5 6 0 0 0 0 1 pinseq=2 T 100 550 5 6 0 1 0 0 1 pinlabel=2 T 100 550 5 6 0 1 0 0 1 pintype=pas } L 400 500 184 500 3 0 0 0 -1 -1 L 600 200 564 272 3 0 0 0 -1 -1 L 600 200 528 236 3 0 0 0 -1 -1 L 528 236 564 272 3 0 0 0 -1 -1 T 900 500 8 10 1 1 0 0 1 refdes=Q? T 900 300 9 10 1 0 0 0 1 SPICE-NPN geda-gaf-1.8.2/symbols/spice/vsin-1.sym0000664000175000017500000000142212204104272014533 00000000000000v 20031231 1 T 700 650 8 10 1 1 0 0 1 refdes=V? T 700 850 5 10 0 0 0 0 1 device=vsin T 700 1050 5 10 0 0 0 0 1 footprint=none T 700 1250 5 10 0 0 0 0 1 numslots=0 T 700 1450 5 10 0 0 0 0 1 description=sinusoidal signal source P 300 1200 300 900 1 0 0 { T 350 1000 5 8 0 1 0 0 1 pinnumber=1 T 350 1000 5 8 0 1 0 2 1 pinseq=1 T 300 850 9 8 1 1 0 5 1 pinlabel=+ T 300 700 5 8 0 1 0 5 1 pintype=pwr } P 300 0 300 300 1 0 0 { T 350 100 5 8 0 1 0 0 1 pinnumber=2 T 350 100 5 8 0 1 0 2 1 pinseq=2 T 300 350 9 8 1 1 0 3 1 pinlabel=- T 300 500 5 8 0 1 0 3 1 pintype=pwr } V 300 600 300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 700 450 5 10 1 1 0 0 1 value=sin 0 1 1meg A 230 575 75 19 141 3 0 0 0 -1 -1 A 370 625 75 199 141 3 0 0 0 -1 -1 T 700 250 5 10 0 1 0 0 1 comment=syntax: sin vo va freq td theta geda-gaf-1.8.2/symbols/spice/vpwl-1.sym0000664000175000017500000000156512204104272014554 00000000000000v 20031231 1 T 700 650 8 10 1 1 0 0 1 refdes=V? T 700 850 5 10 0 0 0 0 1 device=vpwl T 700 1050 5 10 0 0 0 0 1 footprint=none T 700 1250 5 10 0 0 0 0 1 numslots=0 T 700 1450 5 10 0 0 0 0 1 description=piece-wise linear signal source P 300 1200 300 900 1 0 0 { T 350 1000 5 8 0 1 0 0 1 pinnumber=1 T 350 1000 5 8 0 1 0 2 1 pinseq=1 T 300 850 9 8 1 1 0 5 1 pinlabel=+ T 300 700 5 8 0 1 0 5 1 pintype=pwr } P 300 0 300 300 1 0 0 { T 350 100 5 8 0 1 0 0 1 pinnumber=2 T 350 100 5 8 0 1 0 2 1 pinseq=2 T 300 350 9 8 1 1 0 3 1 pinlabel=- T 300 500 5 8 0 1 0 3 1 pintype=pwr } V 300 600 300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 700 450 5 10 1 1 0 0 1 value=pwl 100n 0 200n 1 T 700 250 5 10 0 1 0 0 1 comment=syntax: pwl t1 v1 t2 v2 ... L 120 500 200 720 3 0 0 0 -1 -1 L 200 720 200 620 3 0 0 0 -1 -1 L 200 620 360 640 3 0 0 0 -1 -1 L 360 640 380 560 3 0 0 0 -1 -1 L 380 560 460 500 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/spice/vccs-1.sym0000664000175000017500000000326412204104272014520 00000000000000v 20060123 1 L 1000 600 800 400 3 0 0 0 -1 -1 L 800 400 1000 200 3 0 0 0 -1 -1 L 1200 400 1000 200 3 0 0 0 -1 -1 L 1200 400 1000 600 3 0 0 0 -1 -1 L 1000 600 1000 700 3 0 0 0 -1 -1 L 1000 700 1300 700 3 0 0 0 -1 -1 L 1300 100 1000 100 3 0 0 0 -1 -1 L 1000 200 1000 100 3 0 0 0 -1 -1 P 1300 700 1500 700 1 0 1 { T 1400 750 5 8 0 1 0 0 1 pinnumber=1 T 1400 650 5 8 0 1 0 2 1 pinseq=1 T 1250 700 9 8 0 1 0 6 1 pinlabel=N+ T 1250 700 5 8 0 1 0 8 1 pintype=pas } P 1300 100 1500 100 1 0 1 { T 1400 150 5 8 0 1 0 0 1 pinnumber=2 T 1400 50 5 8 0 1 0 2 1 pinseq=2 T 1250 100 9 8 0 1 0 6 1 pinlabel=N- T 1250 100 5 8 0 1 0 8 1 pintype=pas } L 1300 0 1300 800 3 0 0 0 -1 -1 L 500 100 200 100 3 0 0 0 -1 -1 L 200 700 500 700 3 0 0 0 -1 -1 L 200 800 200 0 3 0 0 0 -1 -1 L 200 800 1300 800 3 0 0 0 -1 -1 T 200 1050 5 10 0 0 0 0 1 device=SPICE-vccs L 1300 0 200 0 3 0 0 0 -1 -1 P 200 700 0 700 1 0 1 { T 100 750 5 8 0 1 0 6 1 pinnumber=3 T 100 650 5 8 0 1 0 8 1 pinseq=3 T 250 700 9 8 0 1 0 0 1 pinlabel=NC+ T 250 700 5 8 0 1 0 2 1 pintype=pas } P 0 100 200 100 1 0 0 { T 100 150 5 8 0 1 0 6 1 pinnumber=4 T 100 50 5 8 0 1 0 8 1 pinseq=4 T 250 100 9 8 0 1 0 0 1 pinlabel=NC- T 250 100 5 8 0 1 0 2 1 pintype=pas } L 800 400 1200 400 3 0 0 0 -1 -1 L 750 200 700 350 3 0 0 0 -1 -1 L 800 350 750 200 3 0 0 0 -1 -1 L 750 625 750 200 3 0 0 0 -1 -1 T 600 850 8 10 1 1 0 0 1 refdes=G? T 200 1850 5 10 0 0 0 0 1 description=voltage controlled current source T 200 1450 5 10 0 0 0 0 1 numslots=0 T 200 1250 5 10 0 0 0 0 1 symversion=0.1 T 200 1650 5 10 0 0 0 0 1 documentation=http://newton.ex.ac.uk/teaching/CDHW/Electronics2/userguide/sec3.html#3.2.2 T 500 600 9 10 1 0 0 0 1 + T 500 100 9 10 1 0 0 0 1 - T 700 -50 8 10 1 0 0 5 1 value=1 geda-gaf-1.8.2/symbols/spice/spice-vc-switch-1.sym0000664000175000017500000000254212204104272016570 00000000000000v 20041228 1 L 1200 1000 1500 1000 3 0 0 0 -1 -1 L 1500 400 1200 400 3 0 0 0 -1 -1 P 1500 1000 1700 1000 1 0 1 { T 1600 1100 5 8 0 0 0 0 1 pinnumber=1 T 1500 1200 5 8 0 0 0 0 1 pinseq=1 T 1600 1100 5 8 0 1 0 0 1 pinlabel=1 T 1600 1100 5 8 0 1 0 0 1 pintype=pas } P 1500 400 1700 400 1 0 1 { T 1500 100 5 8 0 0 0 0 1 pinnumber=2 T 1600 200 5 8 0 0 0 0 1 pinseq=2 T 1500 100 5 8 0 1 0 0 1 pinlabel=2 T 1500 100 5 8 0 1 0 0 1 pintype=pas } L 1500 300 1500 1100 3 0 0 0 -1 -1 L 700 400 400 400 3 0 0 0 -1 -1 L 400 1000 700 1000 3 0 0 0 -1 -1 L 400 1100 400 300 3 0 0 0 -1 -1 L 400 1100 1500 1100 3 0 0 0 -1 -1 T 1600 700 9 8 0 0 0 0 1 device=SPICE-VC-switch L 1500 300 400 300 3 0 0 0 -1 -1 P 400 1000 200 1000 1 0 1 { T 0 1200 5 8 0 0 0 0 1 pinnumber=3 T 0 1100 5 8 0 0 0 0 1 pinseq=3 T 0 1200 5 8 0 1 0 0 1 pinlabel=3 T 0 1200 5 8 0 1 0 0 1 pintype=pas } P 200 400 400 400 1 0 0 { T 0 100 5 8 0 0 0 0 1 pinnumber=4 T 0 200 5 8 0 0 0 0 1 pinseq=4 T 0 100 5 8 0 1 0 0 1 pinlabel=4 T 0 100 5 8 0 1 0 0 1 pintype=pas } T 700 900 9 10 1 0 0 0 1 + T 700 400 9 10 1 0 0 0 1 - T 900 1200 8 12 1 1 0 0 1 refdes=S? L 1191 553 1067 842 3 0 0 0 -1 -1 L 1129 701 800 700 3 0 0 0 -1 -1 L 1200 400 1200 525 3 0 0 0 -1 -1 L 1200 1000 1200 875 3 0 0 0 -1 -1 V 1200 539 14 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1199 862 14 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 700 150 9 8 1 1 0 0 1 model-name=swmod geda-gaf-1.8.2/symbols/spice/vpulse-1.sym0000664000175000017500000000161012204104272015071 00000000000000v 20031231 1 T 700 650 8 10 1 1 0 0 1 refdes=V? T 700 850 5 10 0 0 0 0 1 device=vpulse T 700 1050 5 10 0 0 0 0 1 footprint=none T 700 1250 5 10 0 0 0 0 1 numslots=0 T 700 1450 5 10 0 0 0 0 1 description=pulse power source, generator P 300 1200 300 900 1 0 0 { T 350 1000 5 8 1 1 0 0 1 pinnumber=1 T 350 1000 5 8 0 1 0 2 1 pinseq=1 T 300 850 9 8 1 1 0 5 1 pinlabel=+ T 300 700 5 8 0 1 0 5 1 pintype=pwr } P 300 0 300 300 1 0 0 { T 350 100 5 8 1 1 0 0 1 pinnumber=2 T 350 100 5 8 0 1 0 2 1 pinseq=2 T 300 350 9 8 1 1 0 3 1 pinlabel=- T 300 500 5 8 0 1 0 3 1 pintype=pwr } V 300 600 300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 700 450 5 10 1 1 0 0 1 value=pulse 0 1 10n 10n 100n 1u 2u T 700 250 5 10 0 1 0 0 1 comment=syntax: pulse v1 v2 td tr tf pw per L 375 675 225 675 3 0 0 0 -1 -1 L 375 675 375 525 3 0 0 0 -1 -1 L 375 525 500 525 3 0 0 0 -1 -1 L 225 675 225 525 3 0 0 0 -1 -1 L 225 525 100 525 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/spice/vexp-1.sym0000664000175000017500000000166212204104272014544 00000000000000v 20031231 1 T 700 650 8 10 1 1 0 0 1 refdes=V? T 700 850 5 10 0 0 0 0 1 device=vexp T 700 1050 5 10 0 0 0 0 1 footprint=none T 700 1250 5 10 0 0 0 0 1 numslots=0 T 700 1450 5 10 0 0 0 0 1 description=exponential signal source P 300 1200 300 900 1 0 0 { T 350 1000 5 8 1 1 0 0 1 pinnumber=1 T 350 1000 5 8 0 1 0 2 1 pinseq=1 T 300 850 9 8 1 1 0 5 1 pinlabel=+ T 300 700 5 8 0 1 0 5 1 pintype=pwr } P 300 0 300 300 1 0 0 { T 350 100 5 8 1 1 0 0 1 pinnumber=2 T 350 100 5 8 0 1 0 2 1 pinseq=2 T 300 350 9 8 1 1 0 3 1 pinlabel=- T 300 500 5 8 0 1 0 3 1 pintype=pwr } V 300 600 300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 700 450 5 10 1 1 0 0 1 value=vexp 0 1 T 700 250 5 10 0 1 0 0 1 comment=syntax: exp v1 v2 td1 tau1 td2 tau2 L 75 500 125 500 3 0 0 0 -1 -1 L 275 675 225 675 3 0 0 0 -1 -1 A 225 625 50 90 70 3 0 0 0 -1 -1 L 125 500 178 642 3 0 0 0 -1 -1 L 275 675 331 565 3 0 0 0 -1 -1 L 425 500 500 500 3 0 0 0 -1 -1 A 425 600 100 200 70 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/spice/vdc-1.sym0000664000175000017500000000130612204104272014331 00000000000000v 20031231 1 T 700 650 8 10 1 1 0 0 1 refdes=V? T 700 850 5 10 0 0 0 0 1 device=VOLTAGE_SOURCE T 700 1050 5 10 0 0 0 0 1 footprint=none T 700 1250 5 10 0 0 0 0 1 numslots=0 T 700 1450 5 10 0 0 0 0 1 description=dc power source P 300 1200 300 900 1 0 0 { T 350 1000 5 8 1 1 0 0 1 pinnumber=1 T 350 1000 5 8 0 1 0 2 1 pinseq=1 T 300 850 9 8 1 1 0 5 1 pinlabel=+ T 300 700 5 8 0 1 0 5 1 pintype=pwr } P 300 0 300 300 1 0 0 { T 350 100 5 8 1 1 0 0 1 pinnumber=2 T 350 100 5 8 0 1 0 2 1 pinseq=2 T 300 350 9 8 1 1 0 3 1 pinlabel=- T 300 500 5 8 0 1 0 3 1 pintype=pwr } V 300 600 300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 175 625 425 625 3 0 0 0 -1 -1 L 175 575 425 575 3 0 0 0 -1 -1 T 700 450 5 10 1 1 0 0 1 value=DC 1V geda-gaf-1.8.2/symbols/spice/kmutual-1.sym0000664000175000017500000000047412204104272015244 00000000000000v 20050820 1 T 300 450 8 10 1 1 0 0 1 refdes=K? A 500 300 400 0 180 3 0 0 0 -1 -1 L 0 400 100 300 3 0 0 0 -1 -1 L 100 300 200 400 3 0 0 0 -1 -1 L 900 300 1000 400 3 0 0 0 -1 -1 L 900 300 800 400 3 0 0 0 -1 -1 T 300 300 8 10 1 1 0 0 1 value=0.0 T 300 95 8 10 1 1 0 0 1 inductors=L? L? T 0 -10 8 10 0 1 0 0 1 device=K geda-gaf-1.8.2/symbols/spice/spice-options-1.sym0000664000175000017500000000032612204104272016352 00000000000000v 20031231 1 B 0 300 1800 300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 100 300 9 10 0 1 0 0 1 device=options T 100 400 9 10 1 1 0 0 1 refdes=A? T 500 400 9 10 1 0 0 0 1 SPICE options T 100 100 8 10 1 1 0 0 1 value=unknown geda-gaf-1.8.2/symbols/idt/0000775000175000017500000000000012220655765012442 500000000000000geda-gaf-1.8.2/symbols/idt/idt7204-1.sym0000664000175000017500000000766712204104272014347 00000000000000v 20050820 1 P 0 2300 300 2300 1 0 0 { T 100 2350 5 8 1 1 0 0 1 pinnumber=24 T 100 2350 5 8 0 0 0 0 1 pinseq=24 } T 360 2300 9 8 1 0 0 0 1 D7 P 0 2600 300 2600 1 0 0 { T 100 2650 5 8 1 1 0 0 1 pinnumber=25 T 100 2650 5 8 0 0 0 0 1 pinseq=25 } T 360 2600 9 8 1 0 0 0 1 D6 P 0 2900 300 2900 1 0 0 { T 100 2950 5 8 1 1 0 0 1 pinnumber=26 T 100 2950 5 8 0 0 0 0 1 pinseq=26 } P 0 3200 300 3200 1 0 0 { T 100 3250 5 8 1 1 0 0 1 pinnumber=27 T 100 3250 5 8 0 0 0 0 1 pinseq=27 } T 360 3200 9 8 1 0 0 0 1 D4 P 0 3500 300 3500 1 0 0 { T 100 3550 5 8 1 1 0 0 1 pinnumber=3 T 100 3550 5 8 0 0 0 0 1 pinseq=3 } T 360 3500 9 8 1 0 0 0 1 D3 P 0 3800 300 3800 1 0 0 { T 100 3850 5 8 1 1 0 0 1 pinnumber=4 T 100 3850 5 8 0 0 0 0 1 pinseq=4 } T 360 3800 9 8 1 0 0 0 1 D2 P 0 4100 300 4100 1 0 0 { T 100 4150 5 8 1 1 0 0 1 pinnumber=5 T 100 4150 5 8 0 0 0 0 1 pinseq=5 } T 360 4100 9 8 1 0 0 0 1 D1 P 0 4400 300 4400 1 0 0 { T 100 4450 5 8 1 1 0 0 1 pinnumber=6 T 100 4450 5 8 0 0 0 0 1 pinseq=6 } T 360 4400 9 8 1 0 0 0 1 D0 P 2300 4400 2600 4400 1 0 1 { T 2385 4450 5 8 1 1 0 0 1 pinnumber=9 T 2385 4450 5 8 0 0 0 0 1 pinseq=9 } T 2060 4400 9 8 1 0 0 0 1 Q0 P 2300 4100 2600 4100 1 0 1 { T 2385 4150 5 8 1 1 0 0 1 pinnumber=10 T 2385 4150 5 8 0 0 0 0 1 pinseq=10 } T 2060 4100 9 8 1 0 0 0 1 Q1 P 2300 3800 2600 3800 1 0 1 { T 2385 3850 5 8 1 1 0 0 1 pinnumber=11 T 2385 3850 5 8 0 0 0 0 1 pinseq=11 } T 2060 3800 9 8 1 0 0 0 1 Q2 T 360 1400 9 8 1 0 0 0 1 W P 0 2000 300 2000 1 0 0 { T 100 2050 5 8 1 1 0 0 1 pinnumber=2 T 100 2050 5 8 0 0 0 0 1 pinseq=2 } T 360 2000 9 8 1 0 0 0 1 D8 V 250 1400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1400 200 1400 1 0 0 { T 100 1450 5 8 1 1 0 0 1 pinnumber=1 T 100 1450 5 8 0 0 0 0 1 pinseq=1 } V 250 210 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 200 200 200 1 0 0 { T 100 250 5 8 1 1 0 0 1 pinnumber=7 T 100 250 5 8 0 0 0 0 1 pinseq=7 } T 360 200 9 8 1 0 0 0 1 XI P 2300 2300 2600 2300 1 0 1 { T 2385 2350 5 8 1 1 0 0 1 pinnumber=19 T 2385 2350 5 8 0 0 0 0 1 pinseq=19 } T 2060 2300 9 8 1 0 0 0 1 D7 P 2300 2600 2600 2600 1 0 1 { T 2385 2650 5 8 1 1 0 0 1 pinnumber=18 T 2385 2650 5 8 0 0 0 0 1 pinseq=18 } T 2060 2600 9 8 1 0 0 0 1 D6 P 2300 2900 2600 2900 1 0 1 { T 2385 2950 5 8 1 1 0 0 1 pinnumber=17 T 2385 2950 5 8 0 0 0 0 1 pinseq=17 } T 2060 2900 9 8 1 0 0 0 1 D5 P 2300 3200 2600 3200 1 0 1 { T 2385 3250 5 8 1 1 0 0 1 pinnumber=16 T 2385 3250 5 8 0 0 0 0 1 pinseq=16 } T 2060 3200 9 8 1 0 0 0 1 D4 P 2300 3500 2600 3500 1 0 1 { T 2385 3550 5 8 1 1 0 0 1 pinnumber=12 T 2385 3550 5 8 0 0 0 0 1 pinseq=12 } T 2060 3500 9 8 1 0 0 0 1 D3 T 300 4650 9 10 1 0 0 0 1 IDT7204 B 300 0 2000 4600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2300 4700 5 10 0 0 0 0 1 device=IDT7204 P 2300 2000 2600 2000 1 0 1 { T 2385 2050 5 8 1 1 0 0 1 pinnumber=13 T 2385 2050 5 8 0 0 0 0 1 pinseq=13 } T 2060 2000 9 8 1 0 0 0 1 D8 V 2350 1400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2400 1400 2600 1400 1 0 1 { T 2400 1450 5 8 1 1 0 0 1 pinnumber=15 T 2400 1450 5 8 0 0 0 0 1 pinseq=15 } T 2160 1400 9 8 1 0 0 0 1 R T 360 2900 9 8 1 0 0 0 1 D5 V 2350 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 2350 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 2350 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2060 800 9 8 1 0 0 0 1 EF T 1760 200 9 8 1 0 0 0 1 XO/HF T 2060 500 9 8 1 0 0 0 1 FF V 250 510 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 500 200 500 1 0 0 { T 15 550 5 8 1 1 0 0 1 pinnumber=22 T 15 550 5 8 0 0 0 0 1 pinseq=22 } T 360 500 9 8 1 0 0 0 1 RS V 250 810 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 800 200 800 1 0 0 { T 15 850 5 8 1 1 0 0 1 pinnumber=23 T 15 850 5 8 0 0 0 0 1 pinseq=23 } T 360 800 9 8 1 0 0 0 1 FL/RT P 2400 800 2600 800 1 0 1 { T 2400 850 5 8 1 1 0 0 1 pinnumber=21 T 2400 850 5 8 0 0 0 0 1 pinseq=21 } P 2400 500 2600 500 1 0 1 { T 2400 550 5 8 1 1 0 0 1 pinnumber=8 T 2400 550 5 8 0 0 0 0 1 pinseq=8 } P 2400 200 2600 200 1 0 1 { T 2400 250 5 8 1 1 0 0 1 pinnumber=20 T 2400 250 5 8 0 0 0 0 1 pinseq=20 } T 2300 4700 8 10 1 1 0 6 1 refdes=U? T 2300 4900 5 10 0 0 0 0 1 documentation=http://www1.idt.com/pcms/tempDocs/7203-7208_DS.pdf geda-gaf-1.8.2/symbols/ecl/0000775000175000017500000000000012220655764012424 500000000000000geda-gaf-1.8.2/symbols/ecl/MC10E104-2.sym0000664000175000017500000000206112204104272014207 00000000000000v 20041228 1 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 1 MC10E104 L 300 800 700 800 3 0 0 0 -1 -1 T 500 900 5 10 0 0 0 0 1 device=MC10E104 T 500 1100 5 10 0 0 0 0 1 slot=1 T 500 1300 5 10 0 0 0 0 1 numslots=4 T 500 1500 5 10 0 0 0 0 1 slotdef=1:4,5,7,8 T 500 1700 5 10 0 0 0 0 1 slotdef=2:2,3,9,10 T 500 1900 5 10 0 0 0 0 1 slotdef=3:27,28,12,13 T 500 2100 5 10 0 0 0 0 1 slotdef=4:25,26,14,15 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 950 300 49 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 300 1200 300 1 0 1 { T 1085 350 5 8 1 1 0 0 1 pinnumber=8 T 1085 350 5 8 0 0 0 0 1 pinseq=4 } P 900 700 1200 700 1 0 1 { T 985 750 5 8 1 1 0 0 1 pinnumber=7 T 985 750 5 8 0 0 0 0 1 pinseq=3 } P 300 300 0 300 1 0 1 { T 100 350 5 8 1 1 0 0 1 pinnumber=5 T 100 350 5 8 0 0 0 0 1 pinseq=2 } P 300 700 0 700 1 0 1 { T 100 750 5 8 1 1 0 0 1 pinnumber=4 T 100 750 5 8 0 0 0 0 1 pinseq=1 } T 300 900 8 10 1 1 0 0 1 refdes=U? T 500 2300 5 10 0 0 0 0 1 symversion=0.1 T 500 2500 5 10 0 0 0 0 1 documentation=http://www.onsemi.com/pub/Collateral/MC10E104-D.PDF geda-gaf-1.8.2/symbols/ecl/MC100ELT23-1.sym0000664000175000017500000000246712204104272014460 00000000000000v 20050820 1 P 0 1600 300 1600 1 0 0 { T 100 1650 5 8 1 1 0 0 1 pinnumber=1 T 100 1650 5 8 0 0 0 0 1 pinseq=1 T 360 1600 9 8 1 1 0 0 1 pinlabel=D0 } P 1800 1600 1500 1600 1 0 0 { T 1600 1650 5 8 1 1 0 0 1 pinnumber=7 T 1600 1650 5 8 0 0 0 0 1 pinseq=2 T 1240 1600 9 8 1 1 0 0 1 pinlabel=Q0 } P 0 1300 200 1300 1 0 0 { T 100 1350 5 8 1 1 0 0 1 pinnumber=2 T 100 1350 5 8 0 0 0 0 1 pinseq=3 T 360 1300 9 8 1 1 0 0 1 pinlabel=D0\\ } V 250 1300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1800 400 1500 400 1 0 0 { T 1600 450 5 8 1 1 0 0 1 pinnumber=6 T 1600 450 5 8 0 0 0 0 1 pinseq=4 T 1240 400 9 8 1 1 0 0 1 pinlabel=Q1 } P 0 400 200 400 1 0 0 { T 100 450 5 8 1 1 0 0 1 pinnumber=3 T 100 450 5 8 0 0 0 0 1 pinseq=5 T 360 400 9 8 1 1 0 0 1 pinlabel=D1\\ } V 250 400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 700 300 700 1 0 0 { T 100 750 5 8 1 1 0 0 1 pinnumber=4 T 100 750 5 8 0 0 0 0 1 pinseq=7 T 360 700 9 8 1 1 0 0 1 pinlabel=D1 } B 300 200 1200 1600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2100 1940 5 10 0 0 0 0 1 device=MC100ELT23 T 2100 1740 5 10 0 0 0 0 1 footprint=SMD 8 T 300 40 9 10 1 0 0 0 1 MC100ELT23 T 1700 1900 8 10 1 1 0 6 1 refdes=U? T 2100 1600 5 10 0 0 0 0 1 pins=8 T 2100 1200 5 10 0 0 0 0 1 net=GND:5 T 2100 1400 5 10 0 0 0 0 1 net=Vcc:8 T 2100 2140 5 10 0 0 0 0 1 documentation=http://www.onsemi.com/pub/Collateral/MC100ELT23-D.PDF geda-gaf-1.8.2/symbols/ecl/MC10E137-2.sym0000664000175000017500000001050212204104272014214 00000000000000v 20050820 1 B 300 0 2400 5400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 300 2900 0 2900 1 0 1 { T 50 2950 5 8 1 1 0 0 1 pinnumber=26 T 50 2950 5 8 0 0 0 0 1 pinseq=26 T 350 2850 3 8 1 1 0 0 1 pinlabel=AStart } P 300 3600 0 3600 1 0 1 { T 50 3650 5 8 1 1 0 0 1 pinnumber=27 T 50 3650 5 8 0 0 0 0 1 pinseq=27 T 350 3550 3 8 1 1 0 0 1 pinlabel=EN1 } P 300 3300 0 3300 1 0 1 { T 50 3350 5 8 1 1 0 0 1 pinnumber=28 T 50 3350 5 8 0 0 0 0 1 pinseq=28 T 350 3250 3 8 1 1 0 0 1 pinlabel=EN2 } P 300 300 0 300 1 0 1 { T 150 350 5 8 1 1 0 0 1 pinnumber=1 T 150 350 5 8 0 0 0 0 1 pinseq=1 T 350 250 3 8 1 1 0 0 1 pinlabel=VEE } P 300 2400 0 2400 1 0 1 { T 100 2450 5 8 1 1 0 0 1 pinnumber=2 T 100 2450 5 8 0 0 0 0 1 pinseq=2 T 350 2400 3 8 1 1 0 0 1 pinlabel=CLK } P 300 2100 0 2100 1 0 1 { T 100 2150 5 8 1 1 0 0 1 pinnumber=3 T 100 2150 5 8 0 0 0 0 1 pinseq=3 T 350 2050 3 8 1 1 0 0 1 pinlabel=CLK\\ } P 300 900 0 900 1 0 1 { T 100 950 5 8 1 1 0 0 1 pinnumber=4 T 100 950 5 8 0 0 0 0 1 pinseq=4 T 350 850 3 8 1 1 0 0 1 pinlabel=VBB } P 2700 4500 3000 4500 1 0 1 { T 2750 4550 5 8 1 1 0 0 1 pinnumber=25 T 2750 4550 5 8 0 0 0 0 1 pinseq=25 T 2350 4450 3 8 1 1 0 0 1 pinlabel=Q7 } P 2700 4800 3000 4800 1 0 1 { T 2750 4850 5 8 1 1 0 0 1 pinnumber=24 T 2750 4850 5 8 0 0 0 0 1 pinseq=24 T 2350 4750 3 8 1 1 0 0 1 pinlabel=Q7\\ } P 2700 3900 3000 3900 1 0 1 { T 2750 3950 5 8 1 1 0 0 1 pinnumber=23 T 2750 3950 5 8 0 0 0 0 1 pinseq=23 T 2350 3850 3 8 1 1 0 0 1 pinlabel=Q6 } P 2700 4200 3000 4200 1 0 1 { T 2750 4250 5 8 1 1 0 0 1 pinnumber=22 T 2750 4250 5 8 0 0 0 0 1 pinseq=22 T 2350 4150 3 8 1 1 0 0 1 pinlabel=Q6\\ } P 300 4800 0 4800 1 0 1 { T 200 4950 5 8 1 1 180 0 1 pinnumber=21 T 200 4950 5 8 0 0 180 0 1 pinseq=21 T 800 4850 3 8 1 1 180 0 1 pinlabel=VCCO } P 2700 3300 3000 3300 1 0 1 { T 2750 3350 5 8 1 1 0 0 1 pinnumber=20 T 2750 3350 5 8 0 0 0 0 1 pinseq=20 T 2350 3250 3 8 1 1 0 0 1 pinlabel=Q5 } P 2700 3600 3000 3600 1 0 1 { T 2750 3650 5 8 1 1 0 0 1 pinnumber=19 T 2750 3650 5 8 0 0 0 0 1 pinseq=19 T 2350 3550 3 8 1 1 0 0 1 pinlabel=Q5\\ } P 2700 3000 3000 3000 1 0 1 { T 2800 3050 5 8 1 1 0 0 1 pinnumber=18 T 2800 3050 5 8 0 0 0 0 1 pinseq=18 T 2350 2950 3 8 1 1 0 0 1 pinlabel=Q4\\ } P 2700 2700 3000 2700 1 0 1 { T 2800 2750 5 8 1 1 0 0 1 pinnumber=17 T 2800 2750 5 8 0 0 0 0 1 pinseq=17 T 2350 2650 3 8 1 1 0 0 1 pinlabel=Q4 } P 0 3900 300 3900 1 0 0 { T 100 3950 5 8 1 1 0 0 1 pinnumber=16 T 100 3950 5 8 0 0 0 0 1 pinseq=16 T 400 3850 3 8 1 1 0 0 1 pinlabel=VCC } P 2700 2400 3000 2400 1 0 1 { T 2800 2450 5 8 1 1 0 0 1 pinnumber=15 T 2800 2450 5 8 0 0 0 0 1 pinseq=15 T 2350 2350 3 8 1 1 0 0 1 pinlabel=Q3\\ } P 2700 2100 3000 2100 1 0 1 { T 2800 2150 5 8 1 1 0 0 1 pinnumber=14 T 2800 2150 5 8 0 0 0 0 1 pinseq=14 T 2350 2050 3 8 1 1 0 0 1 pinlabel=Q3 } P 2700 1500 3000 1500 1 0 1 { T 2800 1550 5 8 1 1 0 0 1 pinnumber=13 T 2800 1550 5 8 0 0 0 0 1 pinseq=13 T 2350 1450 3 8 1 1 0 0 1 pinlabel=Q2 } P 2700 1800 3000 1800 1 0 1 { T 2800 1850 5 8 1 1 0 0 1 pinnumber=12 T 2800 1850 5 8 0 0 0 0 1 pinseq=12 T 2350 1750 3 8 1 1 0 0 1 pinlabel=Q2\\ } P 0 1500 300 1500 1 0 0 { T 150 1650 5 8 1 1 180 0 1 pinnumber=5 T 150 1650 5 8 0 0 180 0 1 pinseq=5 T 550 1550 3 8 1 1 180 0 1 pinlabel=MR } P 0 4500 300 4500 1 0 0 { T 200 4650 5 8 1 1 180 0 1 pinnumber=6 T 200 4650 5 8 0 0 180 0 1 pinseq=6 T 800 4550 3 8 1 1 180 0 1 pinlabel=VCCO } P 2700 300 3000 300 1 0 1 { T 2800 300 5 8 1 1 0 0 1 pinnumber=7 T 2800 300 5 8 0 0 0 0 1 pinseq=7 T 2350 250 3 8 1 1 0 0 1 pinlabel=Q0 } P 2700 600 3000 600 1 0 1 { T 2800 650 5 8 1 1 0 0 1 pinnumber=8 T 2800 650 5 8 0 0 0 0 1 pinseq=8 T 2350 550 3 8 1 1 0 0 1 pinlabel=Q0\\ } P 2700 900 3000 900 1 0 1 { T 2800 950 5 8 1 1 0 0 1 pinnumber=9 T 2800 950 5 8 0 0 0 0 1 pinseq=9 T 2350 850 3 8 1 1 0 0 1 pinlabel=Q1 } P 2700 1200 3000 1200 1 0 1 { T 2800 1250 5 8 1 1 0 0 1 pinnumber=10 T 2800 1250 5 8 0 0 0 0 1 pinseq=10 T 2350 1150 3 8 1 1 0 0 1 pinlabel=Q1\\ } P 0 5100 300 5100 1 0 0 { T 200 5250 5 8 1 1 180 0 1 pinnumber=11 T 200 5250 5 8 0 0 180 0 1 pinseq=11 T 800 5150 3 8 1 1 180 0 1 pinlabel=VCCO } T 2800 5400 8 10 1 1 0 0 1 refdes=U? T 1000 4000 9 10 1 0 0 0 1 MC10E137 T 3800 4000 5 10 0 0 0 0 1 pins=28 T 3800 3800 5 10 0 0 0 0 1 net=VEE:1 T 3800 3600 5 10 0 0 0 0 1 net=VCCO:6,11,21 T 3800 4200 5 10 0 0 0 0 1 footprint=PLCC 28 T 3800 4400 5 10 0 0 0 0 1 device=MC10E137 T 3800 4600 5 10 0 0 0 0 1 documentation=http://www.onsemi.com/pub/Collateral/MC10E137-D.PDF geda-gaf-1.8.2/symbols/ecl/MC10E104-1.sym0000664000175000017500000001022612204104272014210 00000000000000v 20050820 1 B 300 300 2400 2400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1000 1800 9 10 1 0 0 0 1 MC10E104 P 300 2400 0 2400 1 0 1 { T 50 2450 5 8 1 1 0 0 1 pinnumber=26 T 50 2450 5 8 0 0 0 0 1 pinseq=26 T 350 2350 3 8 1 1 0 0 1 pinlabel=D3b } P 300 2100 0 2100 1 0 1 { T 50 2150 5 8 1 1 0 0 1 pinnumber=27 T 50 2150 5 8 0 0 0 0 1 pinseq=27 T 350 2050 3 8 1 1 0 0 1 pinlabel=D2a } P 300 1800 0 1800 1 0 1 { T 50 1850 5 8 1 1 0 0 1 pinnumber=28 T 50 1850 5 8 0 0 0 0 1 pinseq=28 T 350 1750 3 8 1 1 0 0 1 pinlabel=D2b } P 300 1500 0 1500 1 0 1 { T 100 1550 5 8 1 1 0 0 1 pinnumber=1 T 100 1550 5 8 0 0 0 0 1 pinseq=1 T 350 1450 3 8 1 1 0 0 1 pinlabel=VEE } P 300 1200 0 1200 1 0 1 { T 100 1250 5 8 1 1 0 0 1 pinnumber=2 T 100 1250 5 8 0 0 0 0 1 pinseq=2 T 350 1200 3 8 1 1 0 0 1 pinlabel=D1a } P 300 600 0 600 1 0 1 { T 100 650 5 8 1 1 0 0 1 pinnumber=3 T 100 650 5 8 0 0 0 0 1 pinseq=3 T 350 550 3 8 1 1 0 0 1 pinlabel=D1b } P 300 900 0 900 1 0 1 { T 100 950 5 8 1 1 0 0 1 pinnumber=4 T 100 950 5 8 0 0 0 0 1 pinseq=4 T 350 850 3 8 1 1 0 0 1 pinlabel=D0a } P 600 2700 600 3000 1 0 1 { T 650 2800 5 8 1 1 0 0 1 pinnumber=25 T 650 2800 5 8 0 0 0 0 1 pinseq=25 T 500 2500 3 8 1 1 0 0 1 pinlabel=D3a } P 900 2700 900 3000 1 0 1 { T 950 2800 5 8 1 1 0 0 1 pinnumber=24 T 950 2800 5 8 0 0 0 0 1 pinseq=24 T 800 2500 3 8 1 1 0 0 1 pinlabel=D4b } P 1200 2700 1200 3000 1 0 1 { T 1250 2800 5 8 1 1 0 0 1 pinnumber=23 T 1250 2800 5 8 0 0 0 0 1 pinseq=23 T 1100 2500 3 8 1 1 0 0 1 pinlabel=D4a } P 1500 2700 1500 3000 1 0 1 { T 1550 2800 5 8 1 1 0 0 1 pinnumber=22 T 1550 2800 5 8 0 0 0 0 1 pinseq=22 T 1400 2500 3 8 1 1 0 0 1 pinlabel=NC } P 1800 2700 1800 3000 1 0 1 { T 1850 2800 5 8 1 1 0 0 1 pinnumber=21 T 1850 2800 5 8 0 0 0 0 1 pinseq=21 T 1800 2300 3 8 1 1 90 0 1 pinlabel=Vcco } P 2100 2700 2100 3000 1 0 1 { T 2150 2800 5 8 1 1 0 0 1 pinnumber=20 T 2150 2800 5 8 0 0 0 0 1 pinseq=20 T 2100 2500 3 8 1 1 0 0 1 pinlabel=F } P 2400 2700 2400 3000 1 0 1 { T 2450 2800 5 8 1 1 0 0 1 pinnumber=19 T 2450 2800 5 8 0 0 0 0 1 pinseq=19 T 2400 2500 3 8 1 1 0 0 1 pinlabel=F\\ } P 2700 2400 3000 2400 1 0 1 { T 2800 2450 5 8 1 1 0 0 1 pinnumber=18 T 2800 2450 5 8 0 0 0 0 1 pinseq=18 T 2350 2350 3 8 1 1 0 0 1 pinlabel=Q4\\ } P 2700 2100 3000 2100 1 0 1 { T 2800 2150 5 8 1 1 0 0 1 pinnumber=17 T 2800 2150 5 8 0 0 0 0 1 pinseq=17 T 2350 2050 3 8 1 1 0 0 1 pinlabel=Q4 } P 2700 1800 3000 1800 1 0 1 { T 2800 1850 5 8 1 1 0 0 1 pinnumber=16 T 2800 1850 5 8 0 0 0 0 1 pinseq=16 T 2350 1750 3 8 1 1 0 0 1 pinlabel=Vcc } P 2700 1500 3000 1500 1 0 1 { T 2800 1550 5 8 1 1 0 0 1 pinnumber=15 T 2800 1550 5 8 0 0 0 0 1 pinseq=15 T 2350 1450 3 8 1 1 0 0 1 pinlabel=Q3\\ } P 2700 1200 3000 1200 1 0 1 { T 2800 1250 5 8 1 1 0 0 1 pinnumber=14 T 2800 1250 5 8 0 0 0 0 1 pinseq=14 T 2350 1150 3 8 1 1 0 0 1 pinlabel=Q3 } P 2700 900 3000 900 1 0 1 { T 2800 950 5 8 1 1 0 0 1 pinnumber=13 T 2800 950 5 8 0 0 0 0 1 pinseq=13 T 2350 850 3 8 1 1 0 0 1 pinlabel=Q2\\ } P 2700 600 3000 600 1 0 1 { T 2800 650 5 8 1 1 0 0 1 pinnumber=12 T 2800 650 5 8 0 0 0 0 1 pinseq=12 T 2350 550 3 8 1 1 0 0 1 pinlabel=Q2 } P 600 300 600 0 1 0 1 { T 500 150 5 8 1 1 0 0 1 pinnumber=5 T 500 150 5 8 0 0 0 0 1 pinseq=5 T 450 350 3 8 1 1 0 0 1 pinlabel=D0b } P 900 300 900 0 1 0 1 { T 800 150 5 8 1 1 0 0 1 pinnumber=6 T 800 150 5 8 0 0 0 0 1 pinseq=6 T 950 400 3 8 1 1 90 0 1 pinlabel=Vcco } P 1200 300 1200 0 1 0 1 { T 1100 150 5 8 1 1 0 0 1 pinnumber=7 T 1100 150 5 8 0 0 0 0 1 pinseq=7 T 1100 350 3 8 1 1 0 0 1 pinlabel=Q0 } P 1500 300 1500 0 1 0 1 { T 1400 150 5 8 1 1 0 0 1 pinnumber=8 T 1400 150 5 8 0 0 0 0 1 pinseq=8 T 1400 350 3 8 1 1 0 0 1 pinlabel=Q0\\ } P 1800 300 1800 0 1 0 1 { T 1700 150 5 8 1 1 0 0 1 pinnumber=9 T 1700 150 5 8 0 0 0 0 1 pinseq=9 T 1700 350 3 8 1 1 0 0 1 pinlabel=Q1 } P 2100 300 2100 0 1 0 1 { T 1950 150 5 8 1 1 0 0 1 pinnumber=10 T 1950 150 5 8 0 0 0 0 1 pinseq=10 T 2000 350 3 8 1 1 0 0 1 pinlabel=Q1\\ } P 2400 300 2400 0 1 0 1 { T 2250 150 5 8 1 1 0 0 1 pinnumber=11 T 2250 150 5 8 0 0 0 0 1 pinseq=11 T 2300 350 3 8 1 1 0 0 1 pinlabel=Vcco } T 2800 2800 8 10 1 1 0 0 1 refdes=U? T 3450 2150 5 10 0 0 0 0 1 footprint=PLCC 28 T 3450 2350 5 10 0 0 0 0 1 device=MC10E104 T 3450 1950 5 10 0 0 0 0 1 documentation=http://www.onsemi.com/pub/Collateral/MC10E104-D.PDF geda-gaf-1.8.2/symbols/ecl/MC12429-1.sym0000664000175000017500000001033312204104272014116 00000000000000v 20050820 1 B 300 300 2400 2400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1100 1800 9 10 1 0 0 0 1 MC12429 P 300 2400 0 2400 1 0 1 { T 50 2450 5 8 1 1 0 0 1 pinnumber=26 T 50 2450 5 8 0 0 0 0 1 pinseq=26 T 350 2350 3 8 1 1 0 0 1 pinlabel=Sclock } P 300 2100 0 2100 1 0 1 { T 50 2150 5 8 1 1 0 0 1 pinnumber=27 T 50 2150 5 8 0 0 0 0 1 pinseq=27 T 350 2050 3 8 1 1 0 0 1 pinlabel=Sdata } P 300 1800 0 1800 1 0 1 { T 50 1850 5 8 1 1 0 0 1 pinnumber=28 T 50 1850 5 8 0 0 0 0 1 pinseq=28 T 350 1750 3 8 1 1 0 0 1 pinlabel=Sload } P 300 1500 0 1500 1 0 1 { T 100 1550 5 8 1 1 0 0 1 pinnumber=1 T 100 1550 5 8 0 0 0 0 1 pinseq=1 T 350 1450 3 8 1 1 0 0 1 pinlabel=PLLVCC } P 300 1200 0 1200 1 0 1 { T 100 1250 5 8 1 1 0 0 1 pinnumber=2 T 100 1250 5 8 0 0 0 0 1 pinseq=2 T 350 1200 3 8 1 1 0 0 1 pinlabel=NC } P 300 900 0 900 1 0 1 { T 100 950 5 8 1 1 0 0 1 pinnumber=3 T 100 950 5 8 0 0 0 0 1 pinseq=3 T 350 850 3 8 1 1 0 0 1 pinlabel=NC } P 300 600 0 600 1 0 1 { T 100 650 5 8 1 1 0 0 1 pinnumber=4 T 100 650 5 8 0 0 0 0 1 pinseq=4 T 350 550 3 8 1 1 0 0 1 pinlabel=XTAL1 } P 600 2700 600 3000 1 0 1 { T 650 2800 5 8 1 1 0 0 1 pinnumber=25 T 650 2800 5 8 0 0 0 0 1 pinseq=25 T 500 2500 3 8 1 1 0 0 1 pinlabel=Vcc } P 900 2700 900 3000 1 0 1 { T 950 2800 5 8 1 1 0 0 1 pinnumber=24 T 950 2800 5 8 0 0 0 0 1 pinseq=24 T 1000 2300 3 8 1 1 90 0 1 pinlabel=Fout } P 1200 2700 1200 3000 1 0 1 { T 1250 2800 5 8 1 1 0 0 1 pinnumber=23 T 1250 2800 5 8 0 0 0 0 1 pinseq=23 T 1300 2300 3 8 1 1 90 0 1 pinlabel=Fout\\ } P 1500 2700 1500 3000 1 0 1 { T 1550 2800 5 8 1 1 0 0 1 pinnumber=22 T 1550 2800 5 8 0 0 0 0 1 pinseq=22 T 1600 2300 3 8 1 1 90 0 1 pinlabel=GND } P 1800 2700 1800 3000 1 0 1 { T 1850 2800 5 8 1 1 0 0 1 pinnumber=21 T 1850 2800 5 8 0 0 0 0 1 pinseq=21 T 1900 2300 3 8 1 1 90 0 1 pinlabel=VCC } P 2100 2700 2100 3000 1 0 1 { T 2150 2800 5 8 1 1 0 0 1 pinnumber=20 T 2150 2800 5 8 0 0 0 0 1 pinseq=20 T 2200 2200 3 8 1 1 90 0 1 pinlabel=TEST } P 2400 2700 2400 3000 1 0 1 { T 2450 2800 5 8 1 1 0 0 1 pinnumber=19 T 2450 2800 5 8 0 0 0 0 1 pinseq=19 T 2300 2500 3 8 1 1 0 0 1 pinlabel=GND } P 2700 2400 3000 2400 1 0 1 { T 2800 2450 5 8 1 1 0 0 1 pinnumber=18 T 2800 2450 5 8 0 0 0 0 1 pinseq=18 T 2350 2350 3 8 1 1 0 0 1 pinlabel=N[1] } P 2700 2100 3000 2100 1 0 1 { T 2800 2150 5 8 1 1 0 0 1 pinnumber=17 T 2800 2150 5 8 0 0 0 0 1 pinseq=17 T 2350 2050 3 8 1 1 0 0 1 pinlabel=N[0] } P 2700 1800 3000 1800 1 0 1 { T 2800 1850 5 8 1 1 0 0 1 pinnumber=16 T 2800 1850 5 8 0 0 0 0 1 pinseq=16 T 2350 1750 3 8 1 1 0 0 1 pinlabel=M[8] } P 2700 1500 3000 1500 1 0 1 { T 2800 1550 5 8 1 1 0 0 1 pinnumber=15 T 2800 1550 5 8 0 0 0 0 1 pinseq=15 T 2350 1450 3 8 1 1 0 0 1 pinlabel=M[7] } P 2700 1200 3000 1200 1 0 1 { T 2800 1250 5 8 1 1 0 0 1 pinnumber=14 T 2800 1250 5 8 0 0 0 0 1 pinseq=14 T 2350 1150 3 8 1 1 0 0 1 pinlabel=M[6] } P 2700 900 3000 900 1 0 1 { T 2800 950 5 8 1 1 0 0 1 pinnumber=13 T 2800 950 5 8 0 0 0 0 1 pinseq=13 T 2350 850 3 8 1 1 0 0 1 pinlabel=M[5] } P 2700 600 3000 600 1 0 1 { T 2800 650 5 8 1 1 0 0 1 pinnumber=12 T 2800 650 5 8 0 0 0 0 1 pinseq=12 T 2350 550 3 8 1 1 0 0 1 pinlabel=M[4] } P 600 300 600 0 1 0 1 { T 500 150 5 8 1 1 0 0 1 pinnumber=5 T 500 150 5 8 0 0 0 0 1 pinseq=5 T 350 350 3 8 1 1 0 0 1 pinlabel=XTAL2 } P 900 300 900 0 1 0 1 { T 800 150 5 8 1 1 0 0 1 pinnumber=6 T 800 150 5 8 0 0 0 0 1 pinseq=6 T 950 400 3 8 1 1 90 0 1 pinlabel=OE } P 1200 300 1200 0 1 0 1 { T 1100 150 5 8 1 1 0 0 1 pinnumber=7 T 1100 150 5 8 0 0 0 0 1 pinseq=7 T 1250 400 3 8 1 1 90 0 1 pinlabel=Pload } P 1500 300 1500 0 1 0 1 { T 1400 150 5 8 1 1 0 0 1 pinnumber=8 T 1400 150 5 8 0 0 0 0 1 pinseq=8 T 1550 400 3 8 1 1 90 0 1 pinlabel=M[0] } P 1800 300 1800 0 1 0 1 { T 1700 150 5 8 1 1 0 0 1 pinnumber=9 T 1700 150 5 8 0 0 0 0 1 pinseq=9 T 1850 400 3 8 1 1 90 0 1 pinlabel=M[1] } P 2100 300 2100 0 1 0 1 { T 1950 150 5 8 1 1 0 0 1 pinnumber=10 T 1950 150 5 8 0 0 0 0 1 pinseq=10 T 2150 400 3 8 1 1 90 0 1 pinlabel=M[2] } P 2400 300 2400 0 1 0 1 { T 2250 150 5 8 1 1 0 0 1 pinnumber=11 T 2250 150 5 8 0 0 0 0 1 pinseq=11 T 2300 350 3 8 1 1 0 0 1 pinlabel=M[3] } T 2800 2800 8 10 1 1 0 0 1 refdes=U? T 3550 2900 5 10 0 0 0 0 1 footprint=PLCC 28 T 3550 2700 5 10 0 0 0 0 1 device=MC12429 T 3550 2500 5 10 0 0 0 0 1 documentation=http://www.freescale.com/files/timing_interconnect_access/doc/data_sheet/MC12429.pdf geda-gaf-1.8.2/symbols/ecl/MC10E137-1.sym0000664000175000017500000001024412204104272014216 00000000000000v 20050820 1 B 300 300 2400 2400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1000 1800 9 10 1 1 0 0 1 device=MC10E137 P 300 2400 0 2400 1 0 1 { T 50 2450 5 8 1 1 0 0 1 pinnumber=26 T 50 2450 5 8 0 0 0 0 1 pinseq=26 T 350 2350 3 8 1 1 0 0 1 pinlabel=AStart } P 300 2100 0 2100 1 0 1 { T 50 2150 5 8 1 1 0 0 1 pinnumber=27 T 50 2150 5 8 0 0 0 0 1 pinseq=27 T 350 2050 3 8 1 1 0 0 1 pinlabel=EN1 } P 300 1800 0 1800 1 0 1 { T 50 1850 5 8 1 1 0 0 1 pinnumber=28 T 50 1850 5 8 0 0 0 0 1 pinseq=28 T 350 1750 3 8 1 1 0 0 1 pinlabel=EN2 } P 300 1500 0 1500 1 0 1 { T 100 1550 5 8 1 1 0 0 1 pinnumber=1 T 100 1550 5 8 0 0 0 0 1 pinseq=1 T 350 1450 3 8 1 1 0 0 1 pinlabel=VEE } P 300 1200 0 1200 1 0 1 { T 100 1250 5 8 1 1 0 0 1 pinnumber=2 T 100 1250 5 8 0 0 0 0 1 pinseq=2 T 350 1200 3 8 1 1 0 0 1 pinlabel=CLK } P 300 600 0 600 1 0 1 { T 100 650 5 8 1 1 0 0 1 pinnumber=3 T 100 650 5 8 0 0 0 0 1 pinseq=3 T 350 550 3 8 1 1 0 0 1 pinlabel=CLK\\ } P 300 900 0 900 1 0 1 { T 100 950 5 8 1 1 0 0 1 pinnumber=4 T 100 950 5 8 0 0 0 0 1 pinseq=4 T 350 850 3 8 1 1 0 0 1 pinlabel=VBB } P 600 2700 600 3000 1 0 1 { T 650 2800 5 8 1 1 0 0 1 pinnumber=25 T 650 2800 5 8 0 0 0 0 1 pinseq=25 T 500 2500 3 8 1 1 0 0 1 pinlabel=Q7 } P 900 2700 900 3000 1 0 1 { T 950 2800 5 8 1 1 0 0 1 pinnumber=24 T 950 2800 5 8 0 0 0 0 1 pinseq=24 T 800 2500 3 8 1 1 0 0 1 pinlabel=Q7\\ } P 1200 2700 1200 3000 1 0 1 { T 1250 2800 5 8 1 1 0 0 1 pinnumber=23 T 1250 2800 5 8 0 0 0 0 1 pinseq=23 T 1100 2500 3 8 1 1 0 0 1 pinlabel=Q6 } P 1500 2700 1500 3000 1 0 1 { T 1550 2800 5 8 1 1 0 0 1 pinnumber=22 T 1550 2800 5 8 0 0 0 0 1 pinseq=22 T 1400 2500 3 8 1 1 0 0 1 pinlabel=Q6\\ } P 1800 2700 1800 3000 1 0 1 { T 1850 2800 5 8 1 1 0 0 1 pinnumber=21 T 1850 2800 5 8 0 0 0 0 1 pinseq=21 T 1800 2300 3 8 1 1 90 0 1 pinlabel=Vcco } P 2100 2700 2100 3000 1 0 1 { T 2150 2800 5 8 1 1 0 0 1 pinnumber=20 T 2150 2800 5 8 0 0 0 0 1 pinseq=20 T 2000 2500 3 8 1 1 0 0 1 pinlabel=Q5 } P 2400 2700 2400 3000 1 0 1 { T 2450 2800 5 8 1 1 0 0 1 pinnumber=19 T 2450 2800 5 8 0 0 0 0 1 pinseq=19 T 2300 2500 3 8 1 1 0 0 1 pinlabel=Q5\\ } P 2700 2400 3000 2400 1 0 1 { T 2800 2450 5 8 1 1 0 0 1 pinnumber=18 T 2800 2450 5 8 0 0 0 0 1 pinseq=18 T 2350 2350 3 8 1 1 0 0 1 pinlabel=Q4\\ } P 2700 2100 3000 2100 1 0 1 { T 2800 2150 5 8 1 1 0 0 1 pinnumber=17 T 2800 2150 5 8 0 0 0 0 1 pinseq=17 T 2350 2050 3 8 1 1 0 0 1 pinlabel=Q4 } P 2700 1800 3000 1800 1 0 1 { T 2800 1850 5 8 1 1 0 0 1 pinnumber=16 T 2800 1850 5 8 0 0 0 0 1 pinseq=16 T 2350 1750 3 8 1 1 0 0 1 pinlabel=Vcc } P 2700 1500 3000 1500 1 0 1 { T 2800 1550 5 8 1 1 0 0 1 pinnumber=15 T 2800 1550 5 8 0 0 0 0 1 pinseq=15 T 2350 1450 3 8 1 1 0 0 1 pinlabel=Q3\\ } P 2700 1200 3000 1200 1 0 1 { T 2800 1250 5 8 1 1 0 0 1 pinnumber=14 T 2800 1250 5 8 0 0 0 0 1 pinseq=14 T 2350 1150 3 8 1 1 0 0 1 pinlabel=Q3 } P 2700 900 3000 900 1 0 1 { T 2800 950 5 8 1 1 0 0 1 pinnumber=13 T 2800 950 5 8 0 0 0 0 1 pinseq=13 T 2350 850 3 8 1 1 0 0 1 pinlabel=Q2 } P 2700 600 3000 600 1 0 1 { T 2800 650 5 8 1 1 0 0 1 pinnumber=12 T 2800 650 5 8 0 0 0 0 1 pinseq=12 T 2350 550 3 8 1 1 0 0 1 pinlabel=Q2\\ } P 600 300 600 0 1 0 1 { T 500 150 5 8 1 1 0 0 1 pinnumber=5 T 500 150 5 8 0 0 0 0 1 pinseq=5 T 450 350 3 8 1 1 0 0 1 pinlabel=MR } P 900 300 900 0 1 0 1 { T 800 150 5 8 1 1 0 0 1 pinnumber=6 T 800 150 5 8 0 0 0 0 1 pinseq=6 T 950 400 3 8 1 1 90 0 1 pinlabel=Vcco } P 1200 300 1200 0 1 0 1 { T 1100 150 5 8 1 1 0 0 1 pinnumber=7 T 1100 150 5 8 0 0 0 0 1 pinseq=7 T 1100 350 3 8 1 1 0 0 1 pinlabel=Q0 } P 1500 300 1500 0 1 0 1 { T 1400 150 5 8 1 1 0 0 1 pinnumber=8 T 1400 150 5 8 0 0 0 0 1 pinseq=8 T 1400 350 3 8 1 1 0 0 1 pinlabel=Q0\\ } P 1800 300 1800 0 1 0 1 { T 1700 150 5 8 1 1 0 0 1 pinnumber=9 T 1700 150 5 8 0 0 0 0 1 pinseq=9 T 1700 350 3 8 1 1 0 0 1 pinlabel=Q1 } P 2100 300 2100 0 1 0 1 { T 1950 150 5 8 1 1 0 0 1 pinnumber=10 T 1950 150 5 8 0 0 0 0 1 pinseq=10 T 2000 350 3 8 1 1 0 0 1 pinlabel=Q1\\ } P 2400 300 2400 0 1 0 1 { T 2250 150 5 8 1 1 0 0 1 pinnumber=11 T 2250 150 5 8 0 0 0 0 1 pinseq=11 T 2300 350 3 8 1 1 0 0 1 pinlabel=Vcco } T 2800 2800 8 10 1 1 0 0 1 refdes=U? T 3200 2500 5 10 0 0 0 0 1 footprint=PLCC 28 T 3200 2300 5 10 0 0 0 0 1 device=MC10E137 T 3200 2100 5 10 0 0 0 0 1 documentation=http://www.onsemi.com/pub/Collateral/MC10E137-D.PDF geda-gaf-1.8.2/symbols/ecl/MC10E136-1.sym0000664000175000017500000001042112204104272014212 00000000000000v 20050820 1 B 300 300 2400 2400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1000 1800 9 10 1 0 0 0 1 MC10E136 P 300 2400 0 2400 1 0 1 { T 50 2450 5 8 1 1 0 0 1 pinnumber=26 T 50 2450 5 8 0 0 0 0 1 pinseq=26 T 350 2350 3 8 1 1 0 0 1 pinlabel=D2 } P 300 2100 0 2100 1 0 1 { T 50 2150 5 8 1 1 0 0 1 pinnumber=27 T 50 2150 5 8 0 0 0 0 1 pinseq=27 T 350 2050 3 8 1 1 0 0 1 pinlabel=S2 } P 300 1800 0 1800 1 0 1 { T 50 1850 5 8 1 1 0 0 1 pinnumber=28 T 50 1850 5 8 0 0 0 0 1 pinseq=28 T 350 1750 3 8 1 1 0 0 1 pinlabel=S1 } P 300 1500 0 1500 1 0 1 { T 100 1550 5 8 1 1 0 0 1 pinnumber=1 T 100 1550 5 8 0 0 0 0 1 pinseq=29 T 350 1450 3 8 1 1 0 0 1 pinlabel=VEE } P 300 1200 0 1200 1 0 1 { T 100 1250 5 8 1 1 0 0 1 pinnumber=2 T 100 1250 5 8 0 0 0 0 1 pinseq=2 T 350 1200 3 8 1 1 0 0 1 pinlabel=CLK } P 300 600 0 600 1 0 1 { T 100 650 5 8 1 1 0 0 1 pinnumber=3 T 100 650 5 8 0 0 0 0 1 pinseq=3 T 350 550 3 8 1 1 0 0 1 pinlabel=CIN\\ } P 300 900 0 900 1 0 1 { T 100 950 5 8 1 1 0 0 1 pinnumber=4 T 100 950 5 8 0 0 0 0 1 pinseq=4 T 350 850 3 8 1 1 0 0 1 pinlabel=CLIN\\ } P 600 2700 600 3000 1 0 1 { T 650 2800 5 8 1 1 0 0 1 pinnumber=25 T 650 2800 5 8 0 0 0 0 1 pinseq=25 T 500 2500 3 8 1 1 0 0 1 pinlabel=D3 } P 900 2700 900 3000 1 0 1 { T 950 2800 5 8 1 1 0 0 1 pinnumber=24 T 950 2800 5 8 0 0 0 0 1 pinseq=24 T 800 2500 3 8 1 1 0 0 1 pinlabel=D4 } P 1200 2700 1200 3000 1 0 1 { T 1250 2800 5 8 1 1 0 0 1 pinnumber=23 T 1250 2800 5 8 0 0 0 0 1 pinseq=23 T 1100 2500 3 8 1 1 0 0 1 pinlabel=D5 } P 1500 2700 1500 3000 1 0 1 { T 1550 2800 5 8 1 1 0 0 1 pinnumber=22 T 1550 2800 5 8 0 0 0 0 1 pinseq=22 T 1500 2300 3 8 1 1 90 0 1 pinlabel=Vcco } P 1800 2700 1800 3000 1 0 1 { T 1850 2800 5 8 1 1 0 0 1 pinnumber=21 T 1850 2800 5 8 0 0 0 0 1 pinseq=21 T 1700 2500 3 8 1 1 0 0 1 pinlabel=Q5 } P 2100 2700 2100 3000 1 0 1 { T 2150 2800 5 8 1 1 0 0 1 pinnumber=20 T 2150 2800 5 8 0 0 0 0 1 pinseq=20 T 2000 2500 3 8 1 1 0 0 1 pinlabel=Q4 } P 2400 2700 2400 3000 1 0 1 { T 2450 2800 5 8 1 1 0 0 1 pinnumber=19 T 2450 2800 5 8 0 0 0 0 1 pinseq=19 T 2300 2500 3 8 1 1 0 0 1 pinlabel=Vcco } P 2700 2400 3000 2400 1 0 1 { T 2800 2450 5 8 1 1 0 0 1 pinnumber=18 T 2800 2450 5 8 0 0 0 0 1 pinseq=18 T 2350 2350 3 8 1 1 0 0 1 pinlabel=Q3 } P 2700 2100 3000 2100 1 0 1 { T 2800 2150 5 8 1 1 0 0 1 pinnumber=17 T 2800 2150 5 8 0 0 0 0 1 pinseq=17 T 2350 2050 3 8 1 1 0 0 1 pinlabel=Q2 } P 2700 1800 3000 1800 1 0 1 { T 2800 1850 5 8 1 1 0 0 1 pinnumber=16 T 2800 1850 5 8 0 0 0 0 1 pinseq=16 T 2350 1750 3 8 1 1 0 0 1 pinlabel=Vcc } P 2700 1500 3000 1500 1 0 1 { T 2800 1550 5 8 1 1 0 0 1 pinnumber=15 T 2800 1550 5 8 0 0 0 0 1 pinseq=15 T 2350 1450 3 8 1 1 0 0 1 pinlabel=Vcco } P 2700 1200 3000 1200 1 0 1 { T 2800 1250 5 8 1 1 0 0 1 pinnumber=14 T 2800 1250 5 8 0 0 0 0 1 pinseq=14 T 2250 1150 3 8 1 1 0 0 1 pinlabel=COUT } P 2700 900 3000 900 1 0 1 { T 2800 950 5 8 1 1 0 0 1 pinnumber=13 T 2800 950 5 8 0 0 0 0 1 pinseq=13 T 2150 850 3 8 1 1 0 0 1 pinlabel=COUT\\ } P 2700 600 3000 600 1 0 1 { T 2800 650 5 8 1 1 0 0 1 pinnumber=12 T 2800 650 5 8 0 0 0 0 1 pinseq=12 T 2050 550 3 8 1 1 0 0 1 pinlabel=CLOUT\\ } P 600 300 600 0 1 0 1 { T 500 150 5 8 1 1 0 0 1 pinnumber=5 T 500 150 5 8 0 0 0 0 1 pinseq=5 T 450 350 3 8 1 1 0 0 1 pinlabel=MR } P 900 300 900 0 1 0 1 { T 800 150 5 8 1 1 0 0 1 pinnumber=6 T 800 150 5 8 0 0 0 0 1 pinseq=6 T 800 350 3 8 1 1 0 0 1 pinlabel=D1 } P 1200 300 1200 0 1 0 1 { T 1100 150 5 8 1 1 0 0 1 pinnumber=7 T 1100 150 5 8 0 0 0 0 1 pinseq=7 T 1100 350 3 8 1 1 0 0 1 pinlabel=D0 } P 1500 300 1500 0 1 0 1 { T 1400 150 5 8 1 1 0 0 1 pinnumber=8 T 1400 150 5 8 0 0 0 0 1 pinseq=8 T 1500 350 3 8 1 1 90 0 1 pinlabel=Vcco } P 1800 300 1800 0 1 0 1 { T 1700 150 5 8 1 1 0 0 1 pinnumber=9 T 1700 150 5 8 0 0 0 0 1 pinseq=9 T 1700 350 3 8 1 1 0 0 1 pinlabel=Q0 } P 2100 300 2100 0 1 0 1 { T 1950 150 5 8 1 1 0 0 1 pinnumber=10 T 1950 150 5 8 0 0 0 0 1 pinseq=10 T 2000 350 3 8 1 1 0 0 1 pinlabel=Q1 } P 2400 300 2400 0 1 0 1 { T 2250 150 5 8 1 1 0 0 1 pinnumber=11 T 2250 150 5 8 0 0 0 0 1 pinseq=11 T 2300 350 3 8 1 1 0 0 1 pinlabel=Vcco } T 2800 2800 8 10 1 1 0 0 1 refdes=U? T 3500 1700 5 10 0 0 0 0 1 footprint=PLCC 28 T 3500 2300 5 10 0 0 0 0 1 pins=28 T 3500 2100 5 10 0 0 0 0 1 net=VEE:1 T 3500 1900 5 10 0 0 0 0 1 net=VCCO:8,11,19,22 T 3500 2500 5 10 0 0 0 0 1 device=MC10E136 T 3500 1500 5 10 0 0 0 0 1 documentation=http://www.onsemi.com/pub/Collateral/MC10E136-D.PDF geda-gaf-1.8.2/symbols/ecl/MC100ELT21-1.sym0000664000175000017500000000141712204104272014450 00000000000000v 20050820 1 L 300 800 800 500 3 0 0 0 -1 -1 T 750 1000 5 10 0 0 0 0 1 device=MC100ELT21 L 800 500 300 200 3 0 0 0 -1 -1 L 300 800 300 500 3 0 0 0 -1 -1 L 300 500 300 200 3 0 0 0 -1 -1 V 250 300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 300 700 0 700 1 0 1 { T 100 750 5 8 1 1 0 0 1 pinnumber=2 T 100 750 5 8 0 0 0 0 1 pinseq=1 } P 800 500 1100 500 1 0 1 { T 915 550 5 8 1 1 0 0 1 pinnumber=7 T 915 550 5 8 0 0 0 0 1 pinseq=3 } P 200 300 0 300 1 0 1 { T 115 350 5 8 1 1 0 0 1 pinnumber=3 T 115 350 5 8 0 0 0 0 1 pinseq=2 } T 300 0 9 8 1 0 0 0 1 MC100ELT21 T 300 900 8 10 1 1 0 0 1 refdes=U? T 750 1400 5 10 0 0 0 0 1 pins=8 T 750 1200 5 10 0 0 0 0 1 documentation=http://www.onsemi.com/pub/Collateral/MC10ELT21-D.PDF T 750 1800 5 10 0 0 0 0 1 net=GND:5 T 750 1600 5 10 0 0 0 0 1 net=Vcc:8 geda-gaf-1.8.2/symbols/ecl/MC100ELT24-1.sym0000664000175000017500000000142212204104272014447 00000000000000v 20050820 1 L 300 800 800 500 3 0 0 0 -1 -1 T 700 1000 5 10 0 0 0 0 1 device=MC100ELT24 L 800 500 300 200 3 0 0 0 -1 -1 L 300 800 300 500 3 0 0 0 -1 -1 L 300 500 300 200 3 0 0 0 -1 -1 V 550 300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 300 500 0 500 1 0 1 { T 100 550 5 8 1 1 0 0 1 pinnumber=1 T 100 550 5 8 0 0 0 0 1 pinseq=1 } P 500 700 1100 700 1 0 1 { T 915 750 5 8 1 1 0 0 1 pinnumber=2 T 915 750 5 8 0 0 0 0 1 pinseq=2 } P 1100 300 600 300 1 0 0 { T 915 350 5 8 1 1 0 0 1 pinnumber=3 T 915 350 5 8 0 0 0 0 1 pinseq=3 } T 300 0 9 8 1 0 0 0 1 MC100ELT24 T 300 900 8 10 1 1 0 0 1 refdes=U? T 900 1400 5 10 0 0 0 0 1 pins=8 T 900 1200 5 10 0 0 0 0 1 documentation=http://www.onsemi.com/pub/Collateral/MC10ELT24-D.PDF T 900 1800 5 10 0 0 0 0 1 net=GND:5 T 900 1600 5 10 0 0 0 0 1 net=Vcc:8 geda-gaf-1.8.2/symbols/ecl/MC100ELT23-2.sym0000664000175000017500000000166512204104272014460 00000000000000v 20050820 1 L 300 800 800 500 3 0 0 0 -1 -1 T 1700 850 5 10 0 0 0 0 1 device=MC100ELT23 T 1700 1050 5 10 0 0 0 0 1 slot=1 T 1700 1250 5 10 0 0 0 0 1 numslots=2 T 1700 1450 5 10 0 0 0 0 1 slotdef=1:1,2,7 T 1700 1650 5 10 0 0 0 0 1 slotdef=2:4,3,6 L 800 500 300 200 3 0 0 0 -1 -1 L 300 800 300 500 3 0 0 0 -1 -1 L 300 500 300 200 3 0 0 0 -1 -1 V 250 300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 0 9 8 1 0 0 0 1 MC100ELT23 P 200 300 0 300 1 0 1 { T 100 350 5 8 1 1 0 0 1 pinnumber=2 T 100 350 5 8 0 0 0 0 1 pinseq=2 } P 1100 500 800 500 1 0 0 { T 815 550 5 8 1 1 0 0 1 pinnumber=7 T 815 550 5 8 0 0 0 0 1 pinseq=3 } P 300 700 0 700 1 0 1 { T 100 750 5 8 1 1 0 0 1 pinnumber=1 T 100 750 5 8 0 0 0 0 1 pinseq=1 } T 300 900 8 10 1 1 0 0 1 refdes=U? T 1750 100 5 10 0 0 0 0 1 documentation=http://www.onsemi.com/pub/Collateral/MC100ELT23-D.PDF T 1750 650 5 10 0 0 0 0 1 net=Vcc:8 T 1750 300 5 10 0 0 0 0 1 net=GND:5 T 1750 450 5 10 0 0 0 0 1 footprint=D 8 geda-gaf-1.8.2/symbols/Makefile.am0000664000175000017500000000377112204104272013626 00000000000000symbol_dirs = \ 4000 \ 74 \ IEC417 \ allegro \ altera \ amphenol \ analog \ apex \ asic \ asicpads \ bus \ cascade \ connector \ dec \ diode \ ecl \ gnetman \ idt \ io \ irf \ lattice \ linear \ local \ maxim \ memory \ micro \ minicircuits \ misc \ national \ opto \ philips \ pla \ power \ radio \ relay \ rf \ spice \ st \ supervisor \ switcap \ switch \ titleblock \ transistor \ tube \ verilog \ vhdl \ xilinx SUBDIRS = documentation gafrcddir = $(GEDADATADIR)/gafrc.d dist_gafrcd_DATA = geda-clib.scm datasymdir = $(GEDADATADIR)/sym nobase_dist_datasym_DATA = \ vhdl/verilog2vhdl.sh vhdl/script.sed EXTRA_DIST = ChangeLog ChangeLog-1.0 \ radio/README AUTHORS if HAVE_GIT_REPO ChangeLog: $(top_builddir)/stamp-git (cd $(srcdir) && $(GIT) log --pretty=medium $(CHANGELOG_BASE).. -- .) > $@ endif HAVE_GIT_REPO # Copies symbols into distribution dist-hook: @for lib in $(symbol_dirs); do \ $(MKDIR_P) $(distdir)/$$lib && \ list=`(ls $(srcdir)/$$lib) | grep '.[Ss][Yy][Mm]$$'`; \ for file in $$list; do \ cp -p $(srcdir)/$$lib/$$file $(distdir)/$$lib || exit $$?; \ done; \ done; # Installs symbols install-data-local: @$(NORMAL_INSTALL) @for lib in $(symbol_dirs); do \ d="$(DESTDIR)$(datasymdir)/$$lib"; \ $(MKDIR_P) "$$d"; \ list=`(ls $(srcdir)/$$lib) | grep '.[Ss][Yy][Mm]$$'`; \ if test -n "$$list"; then \ echo " ( cd $(srcdir)/$$lib && $(INSTALL_DATA)" $$list "'$$d' )"; \ (cd $(srcdir)/$$lib && $(INSTALL_DATA) $$list "$$d") || exit $$?; \ fi; \ done # Uninstalls symbols uninstall-local: @$(NORMAL_UNINSTALL) @for lib in $(symbol_dirs); do \ d="$(DESTDIR)$(datasymdir)/$$lib"; \ list=`(ls $(srcdir)/$$lib) | grep '\.[Ss][Yy][Mm]$$'`; \ if test -n "$$list"; then \ echo " ( cd '$$d' && rm -f" $$list ")"; \ (cd "$$d" && rm -f $$list) || exit $$?; \ fi; \ done MOSTLYCLEANFILES = *.log *~ CLEANFILES = *.log *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log *~ Makefile.in ChangeLog geda-gaf-1.8.2/symbols/opto/0000775000175000017500000000000012220655765012643 500000000000000geda-gaf-1.8.2/symbols/opto/hsdl3612-1.sym0000664000175000017500000000431212204104272014701 00000000000000v 20041228 1 P 0 2300 300 2300 1 0 0 { T 100 2400 5 8 1 1 0 0 1 pinnumber=9 T -700 2400 5 8 0 0 0 0 1 pinseq=3 T -900 2200 5 10 0 0 0 0 1 pintype=in T 400 2300 9 10 1 1 0 0 1 pinlabel=TXD } P 0 800 300 800 1 0 0 { T 100 900 5 8 1 1 0 0 1 pinnumber=8 T -800 900 5 8 0 0 0 0 1 pinseq=6 T -1100 700 5 10 0 0 0 0 1 pintype=out T 400 800 9 10 1 1 0 0 1 pinlabel=RXD } B 300 300 1800 2600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1800 3000 9 10 1 0 0 0 1 HSDL-3612 T 400 3000 8 10 1 1 0 0 1 refdes=U? P 1700 2900 1700 3200 1 0 1 { T 1600 3100 5 8 1 1 180 0 1 pinnumber=10 T 1600 3300 5 8 0 0 90 0 1 pinseq=2 T 1800 3300 5 10 0 0 90 0 1 pintype=pwr T 1500 2700 9 10 1 1 0 0 1 pinlabel=LEDA } A 2100 2100 400 270 180 3 0 0 0 -1 -1 A 2100 1100 400 270 180 3 0 0 0 -1 -1 P 0 1700 300 1700 1 0 0 { T 100 1800 5 8 1 1 0 0 1 pinnumber=4 T -700 1900 5 8 0 0 0 0 1 pinseq=4 T -900 1700 5 10 0 0 0 0 1 pintype=in T 400 1700 9 10 1 1 0 0 1 pinlabel=MD0 } P 0 1400 300 1400 1 0 0 { T 100 1500 5 8 1 1 0 0 1 pinnumber=5 T -700 1500 5 8 0 0 0 0 1 pinseq=5 T -900 1300 5 10 0 0 0 0 1 pintype=in T 400 1400 9 10 1 1 0 0 1 pinlabel=MD1 } P 600 0 600 300 1 0 0 { T 500 200 5 8 1 1 180 0 1 pinnumber=7 T 700 -800 5 8 0 0 90 0 1 pinseq=7 T 500 -1200 5 10 0 0 90 0 1 pintype=pwr T 400 400 9 10 1 1 0 0 1 pinlabel=GND } P 1100 0 1100 300 1 0 0 { T 1000 200 5 8 1 1 180 0 1 pinnumber=3 T 1300 -800 5 8 0 0 90 0 1 pinseq=8 T 1100 -1200 5 10 0 0 90 0 1 pintype=pwr T 900 400 9 10 1 1 0 0 1 pinlabel=GND } P 1800 0 1800 300 1 0 0 { T 1700 200 5 8 1 1 180 0 1 pinnumber=2 T 2000 -800 5 8 0 0 90 0 1 pinseq=9 T 1800 -1200 5 10 0 0 90 0 1 pintype=pwr T 1500 400 9 10 1 1 0 0 1 pinlabel=AGND } P 1000 2900 1000 3200 1 0 1 { T 900 3100 5 8 1 1 180 0 1 pinnumber=1 T 800 3300 5 8 0 0 90 0 1 pinseq=1 T 1000 3300 5 10 0 0 90 0 1 pintype=pwr T 800 2700 9 10 1 1 0 0 1 pinlabel=Vcc } T 2000 4900 8 10 0 1 0 0 1 description=IrDA SIR integrated transceiver T 2000 5100 8 10 0 1 0 0 1 documentation=http://www.home.agilent.com/cgi-bin/pub/agilent/Product/cp_Product.jsp?NAV_ID=-536893562.536885314.00&LANGUAGE_CODE=eng&CONTENT_KEY=HSDL-3612-007&ID=HSDL-3612-007&COUNTRY_CODE=US T 2000 5300 8 10 0 0 0 0 1 numslots=0 T 2000 5500 8 10 0 0 0 0 1 device=HSDL-3612 T 2000 5700 8 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/opto/hcpl-4534-1.sym0000664000175000017500000000363712204104272014767 00000000000000v 20060906 1 P 300 1200 0 1200 1 0 1 { T 100 1300 5 10 1 1 0 0 1 pinnumber=1 T 100 1300 5 10 0 0 0 0 1 pinseq=1 } P 300 200 0 200 1 0 1 { T 100 300 5 10 1 1 0 0 1 pinnumber=2 T 100 300 5 10 0 0 0 0 1 pinseq=2 } P 2800 1200 3100 1200 1 0 1 { T 2900 1300 5 10 1 1 0 0 1 pinnumber=7 T 2900 1300 5 10 0 0 0 0 1 pinseq=3 } L 300 1200 800 1200 3 0 0 0 -1 -1 L 800 1200 800 900 3 0 0 0 -1 -1 L 600 900 1000 900 3 0 0 0 -1 -1 L 1000 900 800 700 3 0 0 0 -1 -1 L 800 700 600 900 3 0 0 0 -1 -1 L 600 700 1000 700 3 0 0 0 -1 -1 L 800 200 800 700 3 0 0 0 -1 -1 L 800 200 300 200 3 0 0 0 -1 -1 L 2300 1000 2000 800 3 0 0 0 -1 -1 L 2800 1200 2300 1200 3 0 0 0 -1 -1 L 2000 1000 2000 400 3 0 0 0 -1 -1 L 2000 600 2300 400 3 0 0 0 -1 -1 L 2300 400 2200 400 3 0 0 0 -1 -1 L 2200 200 2400 200 3 0 0 0 -1 -1 L 2300 100 2400 200 3 0 0 0 -1 -1 L 2300 100 2200 200 3 0 0 0 -1 -1 L 2000 700 1700 700 3 0 0 0 -1 -1 L 1700 700 1700 800 3 0 0 0 -1 -1 L 1500 1000 1900 1000 3 0 0 0 -1 -1 L 1900 1000 1700 800 3 0 0 0 -1 -1 L 1700 800 1500 1000 3 0 0 0 -1 -1 L 1500 800 1900 800 3 0 0 0 -1 -1 L 2300 400 2300 200 3 0 0 0 -1 -1 L 2300 1000 2300 1200 3 0 0 0 -1 -1 L 1600 1100 1800 1100 3 0 0 0 -1 -1 L 1700 1200 1800 1100 3 0 0 0 -1 -1 L 1700 1200 1600 1100 3 0 0 0 -1 -1 L 2300 399 2275 480 3 0 0 0 -1 -1 L 1000 800 1300 900 3 0 0 0 -1 -1 L 1300 900 1200 800 3 0 0 0 -1 -1 L 1200 800 1500 900 3 0 0 0 -1 -1 L 1500 900 1400 900 3 0 0 0 -1 -1 L 1500 900 1424 837 3 0 0 0 -1 -1 T 1400 100 9 8 1 0 0 0 1 CHIP GND T 900 1200 9 8 1 0 0 0 1 CHIP VCC L 1700 1000 1700 1100 3 0 0 0 -1 -1 T 400 1500 9 10 1 0 0 0 1 HCPL-4534 B 300 0 2500 1400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 1700 5 10 0 0 0 0 1 device=HCPL-4534 T 400 1900 5 10 0 0 0 0 1 numslots=2 T 400 2100 5 10 0 0 0 0 1 slotdef=1:1,2,7 T 400 2300 5 10 0 0 0 0 1 slotdef=2:4,3,6 T 400 2500 5 10 0 0 0 0 1 slot=1 T 400 2700 5 10 0 0 0 0 1 footprint=DIP8 T 2791 1491 8 10 1 1 0 6 1 refdes=U? T 400 2900 5 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/opto/hcpl-2430-1.sym0000664000175000017500000000215412204104272014751 00000000000000v 20040111 1 T 1100 900 8 10 1 1 0 6 1 refdes=U? T 300 1050 5 10 0 0 0 0 1 device=HCPL-2430 T 300 1250 5 10 0 0 0 0 1 footprint=DIP8 T 300 1450 5 10 0 0 0 0 1 net=Vcc:8 T 300 1650 5 10 0 0 0 0 1 net=GND:5 P 300 600 0 600 1 0 1 { T 200 650 5 8 1 1 0 6 1 pinnumber=1 T 200 550 5 8 0 1 0 8 1 pinseq=1 T 350 550 9 8 1 1 0 0 1 pinlabel=IN+ T 350 550 5 8 0 1 0 2 1 pintype=in } P 300 300 0 300 1 0 1 { T 200 350 5 8 1 1 0 6 1 pinnumber=2 T 200 250 5 8 0 1 0 8 1 pinseq=2 T 350 250 9 8 1 1 0 0 1 pinlabel=IN- T 350 250 5 8 0 1 0 2 1 pintype=in } P 1100 500 1400 500 1 0 1 { T 1200 550 5 8 1 1 0 0 1 pinnumber=7 T 1200 450 5 8 0 1 0 2 1 pinseq=3 T 1050 450 9 8 1 1 0 6 1 pinlabel=OUT T 1050 450 5 8 0 1 0 8 1 pintype=out } B 300 125 800 700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 2850 5 10 0 0 0 0 1 documentation=http://rocky.digikey.com/WebLib/Agilent/Web%20Data/HCPL-2400_2430.pdf T 300 2650 5 10 0 0 0 0 1 description=dual channel 20 MBd optocoupler T 300 2450 5 10 0 0 0 0 1 numslots=2 T 300 2250 5 10 0 0 0 0 1 slotdef=1:1,2,7 T 300 2050 5 10 0 0 0 0 1 slotdef=2:4,3,6 T 300 1850 5 10 0 0 0 0 1 slot=1 T 300 -25 9 8 1 0 0 0 1 HCPL-2430 geda-gaf-1.8.2/symbols/opto/6n137-1.sym0000664000175000017500000000237512204104272014220 00000000000000v 20031231 1 P 0 900 300 900 1 0 0 { T 100 1000 5 8 1 1 0 0 1 pinnumber=2 T 100 1000 5 8 0 0 0 0 1 pinseq=1 T -700 1000 5 10 0 0 0 0 1 pintype=oc T 400 900 9 10 1 1 0 0 1 pinlabel=Anode } P 0 600 300 600 1 0 0 { T 100 700 5 8 1 1 0 0 1 pinnumber=3 T 100 700 5 8 0 0 0 0 1 pinseq=2 T -700 600 5 10 0 0 0 0 1 pintype=oe T 400 600 9 10 1 1 0 0 1 pinlabel=Cathode } P 1700 600 2000 600 1 0 1 { T 1800 700 5 8 1 1 0 0 1 pinnumber=6 T 1800 700 5 8 0 0 0 0 1 pinseq=4 T 1700 600 5 10 0 0 0 0 1 pintype=oc T 1400 600 9 10 1 1 0 0 1 pinlabel=Vo } P 1700 900 2000 900 1 0 1 { T 1800 1000 5 8 1 1 0 0 1 pinnumber=7 T 1800 1000 5 8 0 0 0 0 1 pinseq=5 T 1700 900 5 10 0 0 0 0 1 pintype=pas T 1400 900 9 10 1 1 0 0 1 pinlabel=Vx } P 1700 1200 2000 1200 1 0 1 { T 1800 1300 5 8 1 1 0 0 1 pinnumber=8 T 1800 1300 5 8 0 0 0 0 1 pinseq=6 T 1700 1200 5 10 0 0 0 0 1 pintype=pwr T 1300 1200 9 10 1 1 0 0 1 pinlabel=Vcc } P 1700 300 2000 300 1 0 1 { T 1800 400 5 8 1 1 0 0 1 pinnumber=5 T 1800 400 5 8 0 0 0 0 1 pinseq=3 T 1700 300 5 10 0 0 0 0 1 pintype=pwr T 1200 300 9 10 1 1 0 0 1 pinlabel=GND } B 300 0 1400 1500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 2200 8 10 0 0 0 0 1 device=6n137 T 300 1900 8 10 0 0 0 0 1 footprint=DIP8 T 300 1600 9 10 1 0 0 0 1 6N137 T 1500 1600 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/opto/K3020P-1.sym0000664000175000017500000000275612204104272014264 00000000000000v 20031231 1 L 300 1200 700 1200 3 0 0 0 -1 -1 L 700 1200 700 900 3 0 0 0 -1 -1 L 900 700 500 700 3 0 0 0 -1 -1 L 700 700 900 900 3 0 0 0 -1 -1 L 900 900 500 900 3 0 0 0 -1 -1 L 500 900 700 700 3 0 0 0 -1 -1 L 700 700 700 300 3 0 0 0 -1 -1 L 700 300 300 300 3 0 0 0 -1 -1 L 2300 1200 1700 1200 3 0 0 0 -1 -1 L 1700 300 2300 300 3 0 0 0 -1 -1 L 941 790 1146 865 3 0 0 0 -1 -1 L 1146 865 1114 809 3 0 0 0 -1 -1 L 1114 809 1351 893 3 0 0 0 -1 -1 L 941 716 1146 791 3 0 0 0 -1 -1 L 1146 791 1114 735 3 0 0 0 -1 -1 L 1114 735 1351 819 3 0 0 0 -1 -1 P 300 1200 0 1200 1 0 1 { T 100 1250 5 8 1 1 0 0 1 pinnumber=1 T 100 1250 5 8 0 0 0 0 1 pinseq=1 } P 300 300 0 300 1 0 1 { T 100 350 5 8 1 1 0 0 1 pinnumber=2 T 100 350 5 8 0 0 0 0 1 pinseq=2 } P 2300 1200 2600 1200 1 0 1 { T 2450 1250 5 8 1 1 0 0 1 pinnumber=6 T 2450 1250 5 8 0 0 0 0 1 pinseq=5 } P 2300 300 2600 300 1 0 1 { T 2450 350 5 8 1 1 0 0 1 pinnumber=4 T 2450 350 5 8 0 0 0 0 1 pinseq=4 } B 300 0 2000 1500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1900 1500 5 10 0 0 0 0 1 device=4N29 L 1349 891 1264 885 3 0 0 0 -1 -1 L 1347 891 1282 850 3 0 0 0 -1 -1 L 1349 818 1271 814 3 0 0 0 -1 -1 L 1347 818 1285 775 3 0 0 0 -1 -1 T 300 1550 9 10 1 0 0 0 1 K3020P T 2300 1600 8 10 1 1 0 6 1 refdes=U? L 1450 700 1950 700 3 0 0 0 -1 -1 L 1600 700 1750 1000 3 0 0 0 -1 -1 L 1800 1000 1950 700 3 0 0 0 -1 -1 L 1450 1000 1950 1000 3 0 0 0 -1 -1 L 1700 1200 1700 1000 3 0 0 0 -1 -1 L 1700 700 1700 300 3 0 0 0 -1 -1 L 1800 1000 1650 700 3 0 0 0 -1 -1 L 1600 700 1450 1000 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/opto/mct9001-1.sym0000664000175000017500000000255412204104272014536 00000000000000v 20031231 1 T 100 700 5 10 0 0 0 0 1 device=MCT9001 T 100 500 5 10 1 1 0 0 1 refdes=ISO? P 100 400 100 300 1 0 0 { T 150 300 5 6 1 1 0 0 1 pinnumber=1 T 150 300 5 6 0 0 0 0 1 pinseq=1 } P 100 100 100 0 1 0 1 { T 160 0 5 6 1 1 0 0 1 pinnumber=2 T 160 0 5 6 0 0 0 0 1 pinseq=2 } P 500 400 500 300 1 0 0 { T 550 300 5 6 1 1 0 0 1 pinnumber=8 T 550 300 5 6 0 0 0 0 1 pinseq=4 } P 500 100 500 0 1 0 1 { T 560 0 5 6 1 1 0 0 1 pinnumber=7 T 560 0 5 6 0 0 0 0 1 pinseq=3 } L 100 150 40 250 3 0 0 0 -1 -1 L 40 250 160 250 3 0 0 0 -1 -1 L 160 250 100 150 3 0 0 0 -1 -1 L 360 200 320 210 3 0 0 0 -1 -1 L 320 210 350 240 3 0 0 0 -1 -1 L 350 240 360 200 3 0 0 0 -1 -1 L 360 130 320 140 3 0 0 0 -1 -1 L 320 140 350 170 3 0 0 0 -1 -1 L 350 170 360 130 3 0 0 0 -1 -1 L 400 300 400 100 3 0 0 0 -1 -1 L 500 100 400 170 3 0 0 0 -1 -1 L 400 230 500 300 3 0 0 0 -1 -1 L 340 220 300 260 3 0 0 0 -1 -1 L 300 260 300 230 3 0 0 0 -1 -1 L 300 230 260 270 3 0 0 0 -1 -1 L 340 150 300 190 3 0 0 0 -1 -1 L 300 190 300 160 3 0 0 0 -1 -1 L 300 160 260 200 3 0 0 0 -1 -1 L 100 100 100 150 3 0 0 0 -1 -1 L 160 150 40 150 3 0 0 0 -1 -1 L 100 300 100 250 3 0 0 0 -1 -1 L 500 100 470 140 3 0 0 0 -1 -1 L 470 140 450 110 3 0 0 0 -1 -1 L 450 110 500 100 3 0 0 0 -1 -1 T 100 900 5 10 0 0 0 0 1 slot=1 T 100 1100 5 10 0 0 0 0 1 numslots=2 T 100 1300 5 10 0 0 0 0 1 slotdef=1:1,2,7,8 T 100 1500 5 10 0 0 0 0 1 slotdef=2:3,4,5,6 geda-gaf-1.8.2/symbols/opto/ps2501-1.sym0000664000175000017500000000245212204104272014370 00000000000000v 20031231 1 T 100 500 5 6 0 1 0 0 1 device=PS2501-1 T 100 500 5 6 1 1 0 0 1 refdes=ISO? P 100 400 100 300 1 0 0 { T 100 200 3 6 0 1 0 0 1 pinnumber=1 T 100 200 3 6 0 0 0 0 1 pinseq=1 } P 100 100 100 0 1 0 1 { T 110 -50 3 6 0 1 0 0 1 pinnumber=2 T 110 -50 3 6 0 0 0 0 1 pinseq=2 } P 500 400 500 300 1 0 0 { T 500 200 3 6 0 1 0 0 1 pinnumber=4 T 500 200 3 6 0 0 0 0 1 pinseq=4 T 137 400 3 6 0 1 0 0 1 pinlabel=COLLECTOR } P 500 100 500 0 1 0 1 { T 510 -50 3 6 0 1 0 0 1 pinnumber=3 T 510 -50 3 6 0 0 0 0 1 pinseq=3 T 510 -50 3 6 0 1 0 0 1 pinlabel=EMITTER } L 100 150 40 250 3 0 0 0 -1 -1 L 40 250 160 250 3 0 0 0 -1 -1 L 160 250 100 150 3 0 0 0 -1 -1 L 360 200 320 210 3 0 0 0 -1 -1 L 320 210 350 240 3 0 0 0 -1 -1 L 350 240 360 200 3 0 0 0 -1 -1 L 360 130 320 140 3 0 0 0 -1 -1 L 320 140 350 170 3 0 0 0 -1 -1 L 350 170 360 130 3 0 0 0 -1 -1 L 400 300 400 100 3 0 0 0 -1 -1 L 500 100 400 170 3 0 0 0 -1 -1 L 400 230 500 300 3 0 0 0 -1 -1 L 340 220 300 260 3 0 0 0 -1 -1 L 300 260 300 230 3 0 0 0 -1 -1 L 300 230 260 270 3 0 0 0 -1 -1 L 340 150 300 190 3 0 0 0 -1 -1 L 300 190 300 160 3 0 0 0 -1 -1 L 300 160 260 200 3 0 0 0 -1 -1 L 100 100 100 150 3 0 0 0 -1 -1 L 160 150 40 150 3 0 0 0 -1 -1 L 100 300 100 250 3 0 0 0 -1 -1 L 500 100 470 140 3 0 0 0 -1 -1 L 470 140 450 110 3 0 0 0 -1 -1 L 450 110 500 100 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/opto/4N29-1.sym0000664000175000017500000000270612204104272014074 00000000000000v 20031231 1 L 300 1200 700 1200 3 0 0 0 -1 -1 L 700 1200 700 900 3 0 0 0 -1 -1 L 900 700 500 700 3 0 0 0 -1 -1 L 700 700 900 900 3 0 0 0 -1 -1 L 900 900 500 900 3 0 0 0 -1 -1 L 500 900 700 700 3 0 0 0 -1 -1 L 700 700 700 300 3 0 0 0 -1 -1 L 700 300 300 300 3 0 0 0 -1 -1 L 1800 1200 1700 1200 3 0 0 0 -1 -1 L 1700 1200 1700 1000 3 0 0 0 -1 -1 L 1400 1000 1400 600 3 0 0 0 -1 -1 L 1700 1000 1400 900 3 0 0 0 -1 -1 L 1400 700 1700 600 3 0 0 0 -1 -1 L 1700 600 1700 300 3 0 0 0 -1 -1 L 1700 300 1800 300 3 0 0 0 -1 -1 L 1700 600 1600 700 3 0 0 0 -1 -1 L 1700 600 1500 600 3 0 0 0 -1 -1 L 941 790 1146 865 3 0 0 0 -1 -1 L 1146 865 1114 809 3 0 0 0 -1 -1 L 1114 809 1351 893 3 0 0 0 -1 -1 L 941 716 1146 791 3 0 0 0 -1 -1 L 1146 791 1114 735 3 0 0 0 -1 -1 L 1114 735 1351 819 3 0 0 0 -1 -1 P 300 1200 0 1200 1 0 1 { T 100 1250 5 8 1 1 0 0 1 pinnumber=1 T 100 1250 5 8 0 0 0 0 1 pinseq=1 } P 300 300 0 300 1 0 1 { T 100 350 5 8 1 1 0 0 1 pinnumber=2 T 100 350 5 8 0 0 0 0 1 pinseq=2 } P 1800 1200 2100 1200 1 0 1 { T 1950 1250 5 8 1 1 0 0 1 pinnumber=5 T 1950 1250 5 8 0 0 0 0 1 pinseq=5 } P 1800 300 2100 300 1 0 1 { T 1950 350 5 8 1 1 0 0 1 pinnumber=4 T 1950 350 5 8 0 0 0 0 1 pinseq=4 } B 300 0 1500 1500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1900 1500 5 10 0 0 0 0 1 device=4N29 L 1349 891 1264 885 3 0 0 0 -1 -1 L 1347 891 1282 850 3 0 0 0 -1 -1 L 1349 818 1271 814 3 0 0 0 -1 -1 L 1347 818 1285 775 3 0 0 0 -1 -1 T 300 1550 9 10 1 0 0 0 1 4N29 T 1800 1600 8 10 1 1 0 6 1 refdes=U? geda-gaf-1.8.2/symbols/opto/HSDL7000-1.sym0000664000175000017500000000211012204104272014466 00000000000000v 20031231 1 P 200 1000 0 1000 1 0 1 { T 100 1050 5 8 1 1 0 0 1 pinnumber=6 T 100 1050 5 8 0 0 0 0 1 pinseq=6 } P 300 600 0 600 1 0 1 { T 100 650 5 8 1 1 0 0 1 pinnumber=1 T 100 650 5 8 0 0 0 0 1 pinseq=1 } P 200 200 0 200 1 0 1 { T 100 250 5 8 1 1 0 0 1 pinnumber=5 T 100 250 5 8 0 0 0 0 1 pinseq=5 } P 2200 1400 1900 1400 1 0 0 { T 2000 1450 5 8 1 1 0 0 1 pinnumber=7 T 2000 1450 5 8 0 0 0 0 1 pinseq=7 } P 2200 1000 1900 1000 1 0 0 { T 2000 1050 5 8 1 1 0 0 1 pinnumber=3 T 2000 1050 5 8 0 0 0 0 1 pinseq=3 } T 1173 1348 9 10 1 0 0 0 1 IR_TXD T 1444 950 9 10 1 0 0 0 1 RCV T 400 550 9 10 1 0 0 0 1 16XCLK T 400 150 9 10 1 0 0 0 1 NRST T 350 1650 9 10 1 0 0 0 1 HSDL7000 T 300 1900 8 10 0 0 0 0 1 device=HSDL7000 V 250 1400 49 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 1400 0 1400 1 0 1 { T 100 1450 5 8 1 1 0 0 1 pinnumber=2 T 100 1450 5 8 0 0 0 0 1 pinseq=2 } T 1900 1700 8 10 1 1 0 6 1 refdes=U? B 300 0 1600 1600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 1000 48 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 200 48 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 950 9 10 1 0 0 0 1 IR_RCV T 400 1350 9 10 1 0 0 0 1 TXD geda-gaf-1.8.2/symbols/opto/HCPL4502-1.sym0000664000175000017500000000222212204104272014472 00000000000000v 20031231 1 P 0 900 300 900 1 0 0 { T 100 1000 5 8 1 1 0 0 1 pinnumber=2 T 200 800 5 10 0 0 0 0 1 pinseq=1 T 200 700 5 10 0 0 0 0 1 pintype=oc T 400 900 9 10 1 1 0 0 1 pinlabel=Anode } P 0 600 300 600 1 0 0 { T 100 700 5 8 1 1 0 0 1 pinnumber=3 T 200 500 5 10 0 0 0 0 1 pinseq=2 T 200 400 5 10 0 0 0 0 1 pintype=oe T 400 600 9 10 1 1 0 0 1 pinlabel=Cathode } P 1700 600 2000 600 1 0 1 { T 1800 700 5 8 1 1 0 0 1 pinnumber=6 T 2100 600 5 10 0 0 0 0 1 pinseq=4 T 2100 500 5 10 0 0 0 0 1 pintype=oc T 1400 600 9 10 1 1 0 0 1 pinlabel=Vo } P 1700 1200 2000 1200 1 0 1 { T 1800 1300 5 8 1 1 0 0 1 pinnumber=8 T 2100 1200 5 10 0 0 0 0 1 pinseq=6 T 2100 1100 5 10 0 0 0 0 1 pintype=pwr T 1300 1200 9 10 1 1 0 0 1 pinlabel=Vcc } P 1700 300 2000 300 1 0 1 { T 1800 400 5 8 1 1 0 0 1 pinnumber=5 T 2100 300 5 10 0 0 0 0 1 pinseq=3 T 2100 200 5 10 0 0 0 0 1 pintype=pwr T 1200 300 9 10 1 1 0 0 1 pinlabel=GND } B 300 0 1400 1500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 1600 9 10 1 1 0 0 1 device=HCPL4502 T 300 2000 5 10 0 0 0 0 1 footprint=DIP8 T 1500 1600 8 10 1 1 0 0 1 refdes=U? T 300 2200 5 10 0 0 0 0 1 description=Optocoupler/Optoisolator T 300 1800 5 10 0 0 0 0 1 numslots=0 geda-gaf-1.8.2/symbols/opto/810-1.sym0000664000175000017500000000316712204104272013752 00000000000000v 20031231 1 P 0 800 300 800 1 0 0 { T 100 900 5 10 1 1 0 0 1 pinnumber=1 T 100 900 5 10 0 0 0 0 1 pinseq=1 T 0 800 5 10 0 1 0 0 1 pinlabel=anode } P 0 100 300 100 1 0 0 { T 100 200 5 10 1 1 0 0 1 pinnumber=2 T 100 200 5 10 0 0 0 0 1 pinseq=2 T 0 100 5 10 0 1 0 0 1 pinlabel=cathode } P 1000 800 1300 800 1 0 1 { T 1100 900 5 10 1 1 0 0 1 pinnumber=6 T 1100 900 5 10 0 0 0 0 1 pinseq=6 T 1000 800 5 10 0 1 0 0 1 pinlabel=base } P 1000 500 1300 500 1 0 1 { T 1100 600 5 10 1 1 0 0 1 pinnumber=5 T 1100 600 5 10 0 0 0 0 1 pinseq=5 T 1000 500 5 10 0 1 0 0 1 pinlabel=collector } P 1000 200 1300 200 1 0 1 { T 1100 300 5 10 1 1 0 0 1 pinnumber=4 T 1100 300 5 10 0 0 0 0 1 pinseq=4 T 1000 200 5 10 0 1 0 0 1 pinlabel=emitter } B 300 0 700 1000 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 L 700 400 900 600 3 0 0 0 -1 -1 L 700 400 900 200 3 0 0 0 -1 -1 L 700 600 700 200 3 0 0 0 -1 -1 L 900 300 900 200 3 0 0 0 -1 -1 L 900 200 800 200 3 0 0 0 -1 -1 L 900 200 1000 200 3 0 0 0 -1 -1 L 900 300 800 200 3 0 0 0 -1 -1 L 900 600 900 500 3 0 0 0 -1 -1 L 900 500 1000 500 3 0 0 0 -1 -1 L 1000 800 600 800 3 0 0 0 -1 -1 L 600 800 600 400 3 0 0 0 -1 -1 L 600 400 700 400 3 0 0 0 -1 -1 L 400 300 600 300 3 0 0 0 -1 -1 L 500 200 600 300 3 0 0 0 -1 -1 L 500 200 400 300 3 0 0 0 -1 -1 L 400 200 600 200 3 0 0 0 -1 -1 L 300 800 500 800 3 0 0 0 -1 -1 L 500 800 500 300 3 0 0 0 -1 -1 L 400 100 500 100 3 0 0 0 -1 -1 L 500 200 500 100 3 0 0 0 -1 -1 L 400 100 300 100 3 0 0 0 -1 -1 T 300 1100 9 10 1 0 0 0 1 810 T 800 1100 8 10 1 1 0 0 1 refdes=U? T 900 1700 8 10 0 0 0 0 1 author=Terry J Porter techmanATd2.net.au T 900 1900 8 10 0 0 0 0 1 footprint=DIP6 T 900 2100 8 10 0 0 0 0 1 device=810 geda-gaf-1.8.2/symbols/opto/HCPL4701-1.sym0000664000175000017500000000240412204104272014475 00000000000000v 20031231 1 P 0 900 300 900 1 0 0 { T 100 1000 5 8 1 1 0 0 1 pinnumber=2 T 100 1000 5 8 0 0 0 0 1 pinseq=1 T -700 1000 5 10 0 0 0 0 1 pintype=oc T 400 900 9 10 1 1 0 0 1 pinlabel=Anode } P 0 600 300 600 1 0 0 { T 100 700 5 8 1 1 0 0 1 pinnumber=3 T 100 700 5 8 0 0 0 0 1 pinseq=2 T -700 600 5 10 0 0 0 0 1 pintype=oe T 400 600 9 10 1 1 0 0 1 pinlabel=Cathode } P 1700 600 2000 600 1 0 1 { T 1800 700 5 8 1 1 0 0 1 pinnumber=6 T 1800 700 5 8 0 0 0 0 1 pinseq=4 T 1700 600 5 10 0 0 0 0 1 pintype=oc T 1400 600 9 10 1 1 0 0 1 pinlabel=Vo } P 1700 900 2000 900 1 0 1 { T 1800 1000 5 8 1 1 0 0 1 pinnumber=7 T 1800 1000 5 8 0 0 0 0 1 pinseq=5 T 1700 900 5 10 0 0 0 0 1 pintype=pas T 1400 900 9 10 1 1 0 0 1 pinlabel=Vb } P 1700 1200 2000 1200 1 0 1 { T 1800 1300 5 8 1 1 0 0 1 pinnumber=8 T 1800 1300 5 8 0 0 0 0 1 pinseq=6 T 1700 1200 5 10 0 0 0 0 1 pintype=pwr T 1300 1200 9 10 1 1 0 0 1 pinlabel=Vcc } P 1700 300 2000 300 1 0 1 { T 1800 400 5 8 1 1 0 0 1 pinnumber=5 T 1800 400 5 8 0 0 0 0 1 pinseq=3 T 1700 300 5 10 0 0 0 0 1 pintype=pwr T 1200 300 9 10 1 1 0 0 1 pinlabel=GND } B 300 0 1400 1500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 2200 8 10 0 0 0 0 1 device=HCPL4701 T 300 1900 8 10 0 0 0 0 1 footprint=DIP8 T 300 1600 9 10 1 0 0 0 1 HCPL-4701 T 1500 1600 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/opto/HCTL-2000-1.sym0000664000175000017500000000575112204104272014554 00000000000000v 20031231 1 B 300 0 1400 2700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 2800 9 10 1 1 0 0 1 device=HCTL-2000 T 400 3000 8 10 1 1 0 0 1 refdes=U? T 400 3200 5 10 0 0 0 0 1 footprint=DIP16 T 400 3600 5 10 0 1 0 0 1 description=Quadrature Decoder/Counter Interface T 400 3400 5 10 0 0 0 0 1 numslots=0 T 708 2500 3 10 0 1 0 0 1 net=Vcc:16 T 682 50 3 10 0 1 0 0 1 net=GND:8 P 1700 2400 2000 2400 1 0 1 { T 1900 2450 5 10 1 1 0 0 1 pinnumber=1 T 2100 2450 5 10 0 0 0 0 1 pinseq=1 T 2100 2350 5 10 0 0 0 0 1 pintype=tri T 1400 2400 9 10 1 1 0 1 1 pinlabel=D0 } P 1700 2100 2000 2100 1 0 1 { T 1800 2150 5 10 1 1 0 0 1 pinnumber=15 T 2100 2150 5 10 0 0 0 0 1 pinseq=2 T 2100 2050 5 10 0 0 0 0 1 pintype=tri T 1400 2100 9 10 1 1 0 1 1 pinlabel=D1 } P 1700 1800 2000 1800 1 0 1 { T 1800 1850 5 10 1 1 0 0 1 pinnumber=14 T 2100 1850 5 10 0 0 0 0 1 pinseq=3 T 2100 1750 5 10 0 0 0 0 1 pintype=tri T 1400 1800 9 10 1 1 0 1 1 pinlabel=D2 } P 1700 1500 2000 1500 1 0 1 { T 1800 1550 5 10 1 1 0 0 1 pinnumber=13 T 2100 1550 5 10 0 0 0 0 1 pinseq=4 T 2100 1450 5 10 0 0 0 0 1 pintype=tri T 1400 1500 9 10 1 1 0 1 1 pinlabel=D3 } P 1700 1200 2000 1200 1 0 1 { T 1800 1250 5 10 1 1 0 0 1 pinnumber=12 T 2100 1250 5 10 0 0 0 0 1 pinseq=5 T 2100 1150 5 10 0 0 0 0 1 pintype=tri T 1400 1200 9 10 1 1 0 1 1 pinlabel=D4 } P 1700 900 2000 900 1 0 1 { T 1800 950 5 10 1 1 0 0 1 pinnumber=11 T 2100 950 5 10 0 0 0 0 1 pinseq=6 T 2100 850 5 10 0 0 0 0 1 pintype=tri T 1400 900 9 10 1 1 0 1 1 pinlabel=D5 } P 1700 600 2000 600 1 0 1 { T 1800 650 5 10 1 1 0 0 1 pinnumber=10 T 2100 650 5 10 0 0 0 0 1 pinseq=7 T 2100 550 5 10 0 0 0 0 1 pintype=tri T 1400 600 9 10 1 1 0 1 1 pinlabel=D6 } P 1700 300 2000 300 1 0 1 { T 1900 350 5 10 1 1 0 0 1 pinnumber=9 T 2100 350 5 10 0 0 0 0 1 pinseq=8 T 2100 250 5 10 0 0 0 0 1 pintype=tri T 1400 300 9 10 1 1 0 1 1 pinlabel=D7 } L 300 2200 400 2100 3 0 0 0 -1 -1 L 400 2100 300 2000 3 0 0 0 -1 -1 P 300 2100 0 2100 1 0 1 { T 100 2150 5 10 1 1 0 0 1 pinnumber=2 T 400 2150 5 10 0 0 0 0 1 pinseq=9 T 400 2050 5 10 0 0 0 0 1 pintype=clk T 400 2100 9 10 1 1 0 1 1 pinlabel=CLK } P 300 600 0 600 1 0 1 { T 100 650 5 10 1 1 0 0 1 pinnumber=7 T 400 650 5 10 0 0 0 0 1 pinseq=10 T 400 550 5 10 0 0 0 0 1 pintype=in T 400 600 9 10 1 1 0 1 1 pinlabel=CHA } P 300 300 0 300 1 0 1 { T 100 350 5 10 1 1 0 0 1 pinnumber=6 T 400 350 5 10 0 0 0 0 1 pinseq=11 T 400 250 5 10 0 0 0 0 1 pintype=in T 400 300 9 10 1 1 0 1 1 pinlabel=CHB } P 300 2400 0 2400 1 0 1 { T 100 2450 5 10 1 1 0 0 1 pinnumber=3 T 400 2450 5 10 0 0 0 0 1 pinseq=12 T 400 2350 5 10 0 0 0 0 1 pintype=in T 400 2400 9 10 1 1 0 1 1 pinlabel=SEL } V 250 1800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 1800 0 1800 1 0 1 { T 100 1850 5 10 1 1 0 0 1 pinnumber=4 T 400 1850 5 10 0 0 0 0 1 pinseq=13 T 400 1750 5 10 0 0 0 0 1 pintype=in T 400 1800 9 10 1 1 0 1 1 pinlabel=/OE } V 250 1500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 1500 0 1500 1 0 1 { T 100 1550 5 10 1 1 0 0 1 pinnumber=5 T 400 1550 5 10 0 0 0 0 1 pinseq=14 T 400 1450 5 10 0 0 0 0 1 pintype=in T 400 1500 9 10 1 1 0 1 1 pinlabel=/RST } geda-gaf-1.8.2/symbols/opto/CNY17-1.sym0000664000175000017500000000347212204104272014242 00000000000000v 20031231 1 L 700 1200 1100 1200 3 0 0 0 -1 -1 L 1100 1200 1100 900 3 0 0 0 -1 -1 L 1300 700 900 700 3 0 0 0 -1 -1 L 1100 700 1300 900 3 0 0 0 -1 -1 L 1300 900 900 900 3 0 0 0 -1 -1 L 900 900 1100 700 3 0 0 0 -1 -1 L 1100 700 1100 300 3 0 0 0 -1 -1 L 1100 300 700 300 3 0 0 0 -1 -1 L 2200 1200 2100 1200 3 0 0 0 -1 -1 L 2100 1200 2100 1000 3 0 0 0 -1 -1 L 1800 1000 1800 600 3 0 0 0 -1 -1 L 2100 1000 1800 900 3 0 0 0 -1 -1 L 1800 700 2100 600 3 0 0 0 -1 -1 L 2100 600 2100 300 3 0 0 0 -1 -1 L 2100 300 2200 300 3 0 0 0 -1 -1 L 2100 600 2000 700 3 0 0 0 -1 -1 L 2100 600 1900 600 3 0 0 0 -1 -1 L 1341 790 1546 865 3 0 0 0 -1 -1 L 1546 865 1514 809 3 0 0 0 -1 -1 L 1514 809 1751 893 3 0 0 0 -1 -1 L 1341 716 1546 791 3 0 0 0 -1 -1 L 1546 791 1514 735 3 0 0 0 -1 -1 L 1514 735 1751 819 3 0 0 0 -1 -1 P 700 1200 400 1200 1 0 1 { T 600 1250 5 8 1 1 0 6 1 pinnumber=1 T 600 1050 5 8 0 0 0 6 1 pinseq=1 } P 700 300 400 300 1 0 1 { T 600 350 5 8 1 1 0 6 1 pinnumber=2 T 600 150 5 8 0 0 0 6 1 pinseq=2 } P 2200 1200 2500 1200 1 0 1 { T 2300 1250 5 8 1 1 0 0 1 pinnumber=5 T 2300 1050 5 8 0 0 0 0 1 pinseq=5 } P 2200 300 2500 300 1 0 1 { T 2300 350 5 8 1 1 0 0 1 pinnumber=4 T 2300 150 5 8 0 0 0 0 1 pinseq=4 } T 700 2000 5 10 0 0 0 0 1 device=CNY17 L 1749 891 1664 885 3 0 0 0 -1 -1 L 1747 891 1682 850 3 0 0 0 -1 -1 L 1749 818 1671 814 3 0 0 0 -1 -1 L 1747 818 1685 775 3 0 0 0 -1 -1 T 700 1750 9 10 1 0 0 0 1 CNY17 P 2200 1600 2500 1600 1 0 1 { T 2300 1650 5 8 1 1 0 0 1 pinnumber=6 T 2300 1450 5 8 0 0 0 0 1 pinseq=6 } B 700 0 1500 1700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 2200 1600 1700 1600 3 0 0 0 -1 -1 L 1700 1600 1700 800 3 0 0 0 -1 -1 L 1700 800 1800 800 3 0 0 0 -1 -1 T 2200 1800 8 10 1 1 0 6 1 refdes=U? T 700 2200 5 10 0 0 0 0 1 description=Phototransistor optocoupler T 700 2400 5 10 0 0 0 0 1 footprint=DIL6 T 700 2600 5 10 0 0 0 0 1 numslots=0 geda-gaf-1.8.2/symbols/opto/hcpl-2631-1.sym0000664000175000017500000000366612204104272014765 00000000000000v 20031231 1 B 200 200 700 1100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 300 1200 300 800 3 0 0 0 -1 -1 L 300 1200 500 1100 3 0 0 0 -1 -1 L 550 1075 700 1000 3 0 0 0 -1 -1 L 700 1000 550 925 3 0 0 0 -1 -1 L 500 900 300 800 3 0 0 0 -1 -1 L 500 1100 500 900 3 0 0 0 -1 -1 L 550 1075 550 925 3 0 0 0 -1 -1 V 750 1000 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 350 1125 350 1075 3 0 0 0 -1 -1 L 325 1100 375 1100 3 0 0 0 -1 -1 L 325 900 375 900 3 0 0 0 -1 -1 L 300 700 300 300 3 0 0 0 -1 -1 L 300 700 500 600 3 0 0 0 -1 -1 L 550 575 700 500 3 0 0 0 -1 -1 L 700 500 550 425 3 0 0 0 -1 -1 L 500 400 300 300 3 0 0 0 -1 -1 L 500 600 500 400 3 0 0 0 -1 -1 L 550 575 550 425 3 0 0 0 -1 -1 V 750 500 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 350 625 350 575 3 0 0 0 -1 -1 L 325 600 375 600 3 0 0 0 -1 -1 L 325 400 375 400 3 0 0 0 -1 -1 L 300 1100 200 1100 3 0 0 0 -1 -1 L 300 900 200 900 3 0 0 0 -1 -1 L 300 600 200 600 3 0 0 0 -1 -1 L 300 400 200 400 3 0 0 0 -1 -1 L 800 500 900 500 3 0 0 0 -1 -1 L 800 1000 900 1000 3 0 0 0 -1 -1 P 200 1100 0 1100 1 0 1 { T 100 1200 5 8 1 1 0 7 1 pinnumber=1 T 100 1200 5 8 0 0 0 7 1 pinseq=1 } P 200 900 0 900 1 0 1 { T 100 1000 5 8 1 1 0 7 1 pinnumber=2 T 100 1000 5 8 0 0 0 7 1 pinseq=2 } P 200 600 0 600 1 0 1 { T 100 700 5 8 1 1 0 7 1 pinnumber=4 T 100 700 5 8 0 0 0 7 1 pinseq=4 } P 200 400 0 400 1 0 1 { T 100 500 5 8 1 1 0 7 1 pinnumber=3 T 100 500 5 8 0 0 0 7 1 pinseq=3 } P 1100 1000 900 1000 1 0 0 { T 1000 1100 5 8 1 1 0 1 1 pinnumber=7 T 1000 1100 5 8 0 0 0 1 1 pinseq=7 } P 1100 500 900 500 1 0 0 { T 1000 600 5 8 1 1 0 1 1 pinnumber=6 T 1000 600 5 8 0 0 0 1 1 pinseq=6 } P 500 1300 500 1500 1 0 1 { T 600 1400 5 8 1 1 0 4 1 pinnumber=8 T 600 1400 5 8 0 0 0 4 1 pinseq=8 T 400 1200 5 8 1 1 0 0 1 pinlabel=vcc } P 500 0 500 200 1 0 0 { T 600 100 5 8 1 1 0 4 1 pinnumber=5 T 600 100 5 8 0 0 0 4 1 pinseq=5 T 500 300 5 8 1 1 0 4 1 pinlabel=gnd } T 800 1800 8 8 0 0 0 1 1 device=HCPL-2631 T 800 1500 8 10 1 1 0 0 1 refdes=U? T 800 1400 9 8 1 0 0 1 1 HCPL-2631 geda-gaf-1.8.2/symbols/opto/tfds4500-1.sym0000664000175000017500000000327212204104272014710 00000000000000v 20031231 1 B 300 300 2400 1200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1500 1800 1500 1500 1 0 0 { T 1900 1400 9 10 1 1 180 0 1 pinlabel=Vcc1/SD T 1600 1600 5 10 1 1 0 0 1 pinnumber=3 T 1500 1800 5 10 0 1 0 0 1 pinseq=3 } P 0 1200 300 1200 1 0 0 { T 400 1200 9 10 1 1 0 0 1 pinlabel=SC T 200 1300 5 10 1 1 0 6 1 pinnumber=5 T 0 1200 5 10 0 1 0 0 1 pinseq=5 } P 0 600 300 600 1 0 0 { T 400 600 9 10 1 1 0 0 1 pinlabel=TxD T 200 700 5 10 1 1 0 6 1 pinnumber=7 T 0 600 5 10 0 1 0 0 1 pinseq=7 } P 3000 1200 2700 1200 1 0 0 { T 2300 1200 9 10 1 1 0 0 1 pinlabel=RxD T 2800 1300 5 10 1 1 0 0 1 pinnumber=2 T 3000 1200 5 10 0 1 0 0 1 pinseq=2 } P 3000 900 2700 900 1 0 0 { T 2300 900 9 10 1 1 0 0 1 pinlabel=IR A T 2800 1000 5 10 1 1 0 0 1 pinnumber=8 T 3000 900 5 10 0 1 0 0 1 pinseq=8 } P 3000 600 2700 600 1 0 0 { T 2300 600 9 10 1 1 0 0 1 pinlabel=IR K T 2800 700 5 10 1 1 0 0 1 pinnumber=1 T 3000 600 5 10 0 1 0 0 1 pinseq=1 } P 1500 0 1500 300 1 0 0 { T 1300 400 9 10 1 1 0 0 1 pinlabel=GND T 1600 100 5 10 1 1 0 0 1 pinnumber=4 T 1500 0 5 10 0 1 0 0 1 pinseq=4 } T 2500 1600 8 10 1 1 0 0 1 refdes=U? T 300 1600 9 10 1 0 0 0 1 TFDS4500 T 300 2200 8 10 0 0 0 0 1 description=This is a physical layer infrared transceiver mainly used for IRDA T 300 2500 8 10 0 0 0 0 1 device=TFDS4500 T 1110 850 9 10 1 0 0 0 1 IR-TRX L 820 850 970 1000 3 0 0 0 -1 -1 L 920 1000 970 1000 3 0 0 0 -1 -1 L 970 950 970 1000 3 0 0 0 -1 -1 L 920 850 1070 1000 3 0 0 0 -1 -1 L 1020 1000 1070 1000 3 0 0 0 -1 -1 L 1070 950 1070 1000 3 0 0 0 -1 -1 L 1770 850 1920 1000 3 0 0 0 -1 -1 L 1770 850 1770 900 3 0 0 0 -1 -1 L 1770 850 1820 850 3 0 0 0 -1 -1 L 1870 900 1870 850 3 0 0 0 -1 -1 L 1870 850 1920 850 3 0 0 0 -1 -1 L 1870 850 2020 1000 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/opto/4N25-1.sym0000664000175000017500000000322712204104272014067 00000000000000v 20031231 1 L 300 1200 700 1200 3 0 0 0 -1 -1 L 700 1200 700 900 3 0 0 0 -1 -1 L 900 700 500 700 3 0 0 0 -1 -1 L 700 700 900 900 3 0 0 0 -1 -1 L 900 900 500 900 3 0 0 0 -1 -1 L 500 900 700 700 3 0 0 0 -1 -1 L 700 700 700 300 3 0 0 0 -1 -1 L 700 300 300 300 3 0 0 0 -1 -1 L 1800 1200 1700 1200 3 0 0 0 -1 -1 L 1700 1200 1700 1000 3 0 0 0 -1 -1 L 1400 1000 1400 600 3 0 0 0 -1 -1 L 1700 1000 1400 900 3 0 0 0 -1 -1 L 1400 700 1700 600 3 0 0 0 -1 -1 L 1700 600 1700 300 3 0 0 0 -1 -1 L 1700 300 1800 300 3 0 0 0 -1 -1 L 1700 600 1600 700 3 0 0 0 -1 -1 L 1700 600 1500 600 3 0 0 0 -1 -1 L 941 790 1146 865 3 0 0 0 -1 -1 L 1146 865 1114 809 3 0 0 0 -1 -1 L 1114 809 1351 893 3 0 0 0 -1 -1 L 941 716 1146 791 3 0 0 0 -1 -1 L 1146 791 1114 735 3 0 0 0 -1 -1 L 1114 735 1351 819 3 0 0 0 -1 -1 P 300 1200 0 1200 1 0 1 { T 200 1250 5 8 1 1 0 6 1 pinnumber=1 T 200 1250 5 8 0 0 0 6 1 pinseq=1 } P 300 300 0 300 1 0 1 { T 200 350 5 8 1 1 0 6 1 pinnumber=2 T 200 350 5 8 0 0 0 6 1 pinseq=2 } P 1800 1200 2100 1200 1 0 1 { T 1900 1250 5 8 1 1 0 0 1 pinnumber=5 T 1900 1250 5 8 0 0 0 0 1 pinseq=5 } P 1800 300 2100 300 1 0 1 { T 1900 350 5 8 1 1 0 0 1 pinnumber=4 T 1900 350 5 8 0 0 0 0 1 pinseq=4 } T 900 2000 5 10 0 0 0 0 1 device=4N25 L 1349 891 1264 885 3 0 0 0 -1 -1 L 1347 891 1282 850 3 0 0 0 -1 -1 L 1349 818 1271 814 3 0 0 0 -1 -1 L 1347 818 1285 775 3 0 0 0 -1 -1 T 300 1750 9 10 1 0 0 0 1 4N25 P 1800 1600 2100 1600 1 0 1 { T 1900 1650 5 8 1 1 0 0 1 pinnumber=6 T 1900 1650 5 8 0 0 0 0 1 pinseq=6 } B 300 0 1500 1700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 1800 1600 1300 1600 3 0 0 0 -1 -1 L 1300 1600 1300 800 3 0 0 0 -1 -1 L 1300 800 1400 800 3 0 0 0 -1 -1 T 1800 1800 8 10 1 1 0 6 1 refdes=U? geda-gaf-1.8.2/symbols/opto/6N135-1.sym0000664000175000017500000000250212204104272014146 00000000000000v 20031231 1 P 0 900 300 900 1 0 0 { T 100 1000 5 8 1 1 0 0 1 pinnumber=2 T 200 800 5 10 0 0 0 0 1 pinseq=1 T 200 700 5 10 0 0 0 0 1 pintype=oc T 400 900 9 10 1 1 0 0 1 pinlabel=Anode } P 0 600 300 600 1 0 0 { T 100 700 5 8 1 1 0 0 1 pinnumber=3 T 200 500 5 10 0 0 0 0 1 pinseq=2 T 200 400 5 10 0 0 0 0 1 pintype=oe T 400 600 9 10 1 1 0 0 1 pinlabel=Cathode } P 1700 600 2000 600 1 0 1 { T 1800 700 5 8 1 1 0 0 1 pinnumber=6 T 2100 600 5 10 0 0 0 0 1 pinseq=4 T 2100 500 5 10 0 0 0 0 1 pintype=oc T 1400 600 9 10 1 1 0 0 1 pinlabel=Vo } P 1700 900 2000 900 1 0 1 { T 1800 1000 5 8 1 1 0 0 1 pinnumber=7 T 2100 900 5 10 0 0 0 0 1 pinseq=5 T 2100 800 5 10 0 0 0 0 1 pintype=pas T 1400 900 9 10 1 1 0 0 1 pinlabel=Vb } P 1700 1200 2000 1200 1 0 1 { T 1800 1300 5 8 1 1 0 0 1 pinnumber=8 T 2100 1200 5 10 0 0 0 0 1 pinseq=6 T 2100 1100 5 10 0 0 0 0 1 pintype=pwr T 1300 1200 9 10 1 1 0 0 1 pinlabel=Vcc } P 1700 300 2000 300 1 0 1 { T 1800 400 5 8 1 1 0 0 1 pinnumber=5 T 2100 300 5 10 0 0 0 0 1 pinseq=3 T 2100 200 5 10 0 0 0 0 1 pintype=pwr T 1200 300 9 10 1 1 0 0 1 pinlabel=GND } B 300 0 1400 1500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 1600 9 10 1 1 0 0 1 device=6N135 T 300 2000 5 10 0 0 0 0 1 footprint=DIP8 T 1500 1600 8 10 1 1 0 0 1 refdes=U? T 300 2200 5 10 0 0 0 0 1 description=Optocoupler/Optoisolator T 300 1800 5 10 0 0 0 0 1 numslots=0 geda-gaf-1.8.2/symbols/opto/hcpl-2630-1.sym0000664000175000017500000000214212204104272014750 00000000000000v 20040111 1 T 1100 900 8 10 1 1 0 6 1 refdes=U? T 300 1050 5 10 0 0 0 0 1 device=HCPL-2630 T 300 1250 5 10 0 0 0 0 1 footprint=DIP8 T 300 1450 5 10 0 0 0 0 1 net=Vcc:8 T 300 1650 5 10 0 0 0 0 1 net=GND:5 P 300 600 0 600 1 0 1 { T 200 650 5 8 1 1 0 6 1 pinnumber=1 T 200 550 5 8 0 1 0 8 1 pinseq=1 T 350 550 9 8 1 1 0 0 1 pinlabel=IN+ T 350 550 5 8 0 1 0 2 1 pintype=in } P 300 300 0 300 1 0 1 { T 200 350 5 8 1 1 0 6 1 pinnumber=2 T 200 250 5 8 0 1 0 8 1 pinseq=2 T 350 250 9 8 1 1 0 0 1 pinlabel=IN- T 350 250 5 8 0 1 0 2 1 pintype=in } P 1100 500 1400 500 1 0 1 { T 1200 550 5 8 1 1 0 0 1 pinnumber=7 T 1200 450 5 8 0 1 0 2 1 pinseq=3 T 1050 450 9 8 1 1 0 6 1 pinlabel=OUT T 1050 450 5 8 0 1 0 8 1 pintype=out } B 300 125 800 700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 2650 5 10 0 0 0 0 1 description=dual channel 10 MBd optocoupler T 300 2450 5 10 0 0 0 0 1 numslots=2 T 300 2250 5 10 0 0 0 0 1 slotdef=1:1,2,7 T 300 2050 5 10 0 0 0 0 1 slotdef=2:4,3,6 T 300 1850 5 10 0 0 0 0 1 slot=1 T 300 -25 9 8 1 0 0 0 1 HCPL-2630 T 300 2850 5 10 0 0 0 0 1 documentation=http://cp.literature.agilent.com/litweb/pdf/5989-0302EN.pdf geda-gaf-1.8.2/symbols/opto/6N136-1.sym0000664000175000017500000000250212204104272014147 00000000000000v 20031231 1 P 0 900 300 900 1 0 0 { T 100 1000 5 8 1 1 0 0 1 pinnumber=2 T 200 800 5 10 0 0 0 0 1 pinseq=1 T 200 700 5 10 0 0 0 0 1 pintype=oc T 400 900 9 10 1 1 0 0 1 pinlabel=Anode } P 0 600 300 600 1 0 0 { T 100 700 5 8 1 1 0 0 1 pinnumber=3 T 200 500 5 10 0 0 0 0 1 pinseq=2 T 200 400 5 10 0 0 0 0 1 pintype=oe T 400 600 9 10 1 1 0 0 1 pinlabel=Cathode } P 1700 600 2000 600 1 0 1 { T 1800 700 5 8 1 1 0 0 1 pinnumber=6 T 2100 600 5 10 0 0 0 0 1 pinseq=4 T 2100 500 5 10 0 0 0 0 1 pintype=oc T 1400 600 9 10 1 1 0 0 1 pinlabel=Vo } P 1700 900 2000 900 1 0 1 { T 1800 1000 5 8 1 1 0 0 1 pinnumber=7 T 2100 900 5 10 0 0 0 0 1 pinseq=5 T 2100 800 5 10 0 0 0 0 1 pintype=pas T 1400 900 9 10 1 1 0 0 1 pinlabel=Vb } P 1700 1200 2000 1200 1 0 1 { T 1800 1300 5 8 1 1 0 0 1 pinnumber=8 T 2100 1200 5 10 0 0 0 0 1 pinseq=6 T 2100 1100 5 10 0 0 0 0 1 pintype=pwr T 1300 1200 9 10 1 1 0 0 1 pinlabel=Vcc } P 1700 300 2000 300 1 0 1 { T 1800 400 5 8 1 1 0 0 1 pinnumber=5 T 2100 300 5 10 0 0 0 0 1 pinseq=3 T 2100 200 5 10 0 0 0 0 1 pintype=pwr T 1200 300 9 10 1 1 0 0 1 pinlabel=GND } B 300 0 1400 1500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 1600 9 10 1 1 0 0 1 device=6N136 T 300 2000 5 10 0 0 0 0 1 footprint=DIP8 T 1500 1600 8 10 1 1 0 0 1 refdes=U? T 300 2200 5 10 0 0 0 0 1 description=Optocoupler/Optoisolator T 300 1800 5 10 0 0 0 0 1 numslots=0 geda-gaf-1.8.2/symbols/opto/hcnr201-1.sym0000664000175000017500000000533512204104272014616 00000000000000v 20031231 1 L 300 200 500 200 3 0 0 0 -1 -1 L 500 200 500 300 3 0 0 0 -1 -1 L 400 300 600 300 3 0 0 0 -1 -1 L 600 300 500 500 3 0 0 0 -1 -1 L 400 300 500 500 3 0 0 0 -1 -1 L 400 500 600 500 3 0 0 0 -1 -1 L 500 500 500 600 3 0 0 0 -1 -1 L 500 600 300 600 3 0 0 0 -1 -1 L 300 1000 500 1000 3 0 0 0 -1 -1 L 500 1000 500 1100 3 0 0 0 -1 -1 L 400 1100 600 1100 3 0 0 0 -1 -1 L 500 1100 600 1300 3 0 0 0 -1 -1 L 500 1100 400 1300 3 0 0 0 -1 -1 L 400 1300 600 1300 3 0 0 0 -1 -1 L 500 1300 500 1400 3 0 0 0 -1 -1 L 500 1400 300 1400 3 0 0 0 -1 -1 L 1300 1000 1500 1000 3 0 0 0 -1 -1 L 1300 1000 1300 900 3 0 0 0 -1 -1 L 1200 900 1400 900 3 0 0 0 -1 -1 L 1300 900 1400 700 3 0 0 0 -1 -1 L 1300 900 1200 700 3 0 0 0 -1 -1 L 1200 700 1400 700 3 0 0 0 -1 -1 L 1300 700 1300 500 3 0 0 0 -1 -1 L 1300 500 1500 500 3 0 0 0 -1 -1 P 0 1400 300 1400 1 0 0 { T 0 1400 5 10 0 1 0 0 1 pinseq=2 T 100 1450 5 8 1 1 0 0 1 pinnumber=2 T 0 1400 5 10 0 1 0 0 1 pintype=in T 0 1400 5 10 0 1 0 0 1 pinlabel=LED-A } P 0 1000 300 1000 1 0 0 { T 0 1000 5 10 0 1 0 0 1 pinseq=1 T 100 1050 5 8 1 1 0 0 1 pinnumber=1 T 0 1000 5 10 0 1 0 0 1 pintype=out T 0 1000 5 10 0 1 0 0 1 pinlabel=LED-K } P 0 600 300 600 1 0 0 { T 0 600 5 10 0 1 0 0 1 pinseq=3 T 100 650 5 8 1 1 0 0 1 pinnumber=3 T 0 600 5 10 0 1 0 0 1 pintype=out T 0 600 5 10 0 1 0 0 1 pinlabel=PD1-K } P 0 200 300 200 1 0 0 { T 0 200 5 10 0 1 0 0 1 pinseq=4 T 100 250 5 8 1 1 0 0 1 pinnumber=4 T 0 200 5 10 0 1 0 0 1 pintype=in T 0 200 5 10 0 1 0 0 1 pinlabel=PD1-A } P 1800 1000 1500 1000 1 0 0 { T 1800 1000 5 10 0 1 0 0 1 pinseq=6 T 1600 1050 5 8 1 1 0 0 1 pinnumber=6 T 1800 1000 5 10 0 1 0 0 1 pintype=out T 1800 1000 5 10 0 1 0 0 1 pinlabel=PD2-K } P 1800 500 1500 500 1 0 0 { T 1800 500 5 10 0 1 0 0 1 pinseq=5 T 1600 550 5 8 1 1 0 0 1 pinnumber=5 T 1800 500 5 10 0 1 0 0 1 pintype=in T 1800 500 5 10 0 1 0 0 1 pinlabel=PD2-A } T 1700 1800 8 10 0 1 0 0 1 device=HCNR201 T 1700 1600 8 10 0 1 0 0 1 footprint=DIP8H T 1300 1700 8 10 1 1 0 0 1 refdes=U? T 700 1350 9 10 1 0 0 0 1 LED T 600 100 9 10 1 0 0 0 1 PD1 T 1100 300 9 10 1 0 0 0 1 PD2 L 700 1100 800 900 3 0 0 0 -1 -1 L 800 899 791 959 3 0 0 0 -1 -1 L 800 898 760 939 3 0 0 0 -1 -1 L 700 1200 800 1000 3 0 0 0 -1 -1 L 800 999 791 1059 3 0 0 0 -1 -1 L 800 998 760 1039 3 0 0 0 -1 -1 L 1050 1000 1150 800 3 0 0 0 -1 -1 L 1150 799 1141 859 3 0 0 0 -1 -1 L 1150 798 1110 839 3 0 0 0 -1 -1 L 800 600 700 400 3 0 0 0 -1 -1 L 700 399 709 459 3 0 0 0 -1 -1 L 700 398 740 439 3 0 0 0 -1 -1 B 300 0 1200 1600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 1700 9 10 1 0 0 0 1 HCNR201 L 1050 900 1150 700 3 0 0 0 -1 -1 L 1150 699 1141 759 3 0 0 0 -1 -1 L 1150 698 1110 739 3 0 0 0 -1 -1 L 800 700 700 500 3 0 0 0 -1 -1 L 700 499 709 559 3 0 0 0 -1 -1 L 700 498 740 539 3 0 0 0 -1 -1 T 0 0 8 10 0 1 0 0 1 numslots=0 geda-gaf-1.8.2/symbols/opto/HCTL-2016-1.sym0000664000175000017500000000575112204104272014563 00000000000000v 20031231 1 B 300 0 1400 2700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 2800 9 10 1 1 0 0 1 device=HCTL-2016 T 400 3000 8 10 1 1 0 0 1 refdes=U? T 400 3200 5 10 0 0 0 0 1 footprint=DIP16 T 400 3600 5 10 0 1 0 0 1 description=Quadrature Decoder/Counter Interface T 400 3400 5 10 0 0 0 0 1 numslots=0 T 708 2500 3 10 0 1 0 0 1 net=Vcc:16 T 682 50 3 10 0 1 0 0 1 net=GND:8 P 1700 2400 2000 2400 1 0 1 { T 1900 2450 5 10 1 1 0 0 1 pinnumber=1 T 2100 2450 5 10 0 0 0 0 1 pinseq=1 T 2100 2350 5 10 0 0 0 0 1 pintype=tri T 1400 2400 9 10 1 1 0 1 1 pinlabel=D0 } P 1700 2100 2000 2100 1 0 1 { T 1800 2150 5 10 1 1 0 0 1 pinnumber=15 T 2100 2150 5 10 0 0 0 0 1 pinseq=2 T 2100 2050 5 10 0 0 0 0 1 pintype=tri T 1400 2100 9 10 1 1 0 1 1 pinlabel=D1 } P 1700 1800 2000 1800 1 0 1 { T 1800 1850 5 10 1 1 0 0 1 pinnumber=14 T 2100 1850 5 10 0 0 0 0 1 pinseq=3 T 2100 1750 5 10 0 0 0 0 1 pintype=tri T 1400 1800 9 10 1 1 0 1 1 pinlabel=D2 } P 1700 1500 2000 1500 1 0 1 { T 1800 1550 5 10 1 1 0 0 1 pinnumber=13 T 2100 1550 5 10 0 0 0 0 1 pinseq=4 T 2100 1450 5 10 0 0 0 0 1 pintype=tri T 1400 1500 9 10 1 1 0 1 1 pinlabel=D3 } P 1700 1200 2000 1200 1 0 1 { T 1800 1250 5 10 1 1 0 0 1 pinnumber=12 T 2100 1250 5 10 0 0 0 0 1 pinseq=5 T 2100 1150 5 10 0 0 0 0 1 pintype=tri T 1400 1200 9 10 1 1 0 1 1 pinlabel=D4 } P 1700 900 2000 900 1 0 1 { T 1800 950 5 10 1 1 0 0 1 pinnumber=11 T 2100 950 5 10 0 0 0 0 1 pinseq=6 T 2100 850 5 10 0 0 0 0 1 pintype=tri T 1400 900 9 10 1 1 0 1 1 pinlabel=D5 } P 1700 600 2000 600 1 0 1 { T 1800 650 5 10 1 1 0 0 1 pinnumber=10 T 2100 650 5 10 0 0 0 0 1 pinseq=7 T 2100 550 5 10 0 0 0 0 1 pintype=tri T 1400 600 9 10 1 1 0 1 1 pinlabel=D6 } P 1700 300 2000 300 1 0 1 { T 1900 350 5 10 1 1 0 0 1 pinnumber=9 T 2100 350 5 10 0 0 0 0 1 pinseq=8 T 2100 250 5 10 0 0 0 0 1 pintype=tri T 1400 300 9 10 1 1 0 1 1 pinlabel=D7 } L 300 2200 400 2100 3 0 0 0 -1 -1 L 400 2100 300 2000 3 0 0 0 -1 -1 P 300 2100 0 2100 1 0 1 { T 100 2150 5 10 1 1 0 0 1 pinnumber=2 T 400 2150 5 10 0 0 0 0 1 pinseq=9 T 400 2050 5 10 0 0 0 0 1 pintype=clk T 400 2100 9 10 1 1 0 1 1 pinlabel=CLK } P 300 600 0 600 1 0 1 { T 100 650 5 10 1 1 0 0 1 pinnumber=7 T 400 650 5 10 0 0 0 0 1 pinseq=10 T 400 550 5 10 0 0 0 0 1 pintype=in T 400 600 9 10 1 1 0 1 1 pinlabel=CHA } P 300 300 0 300 1 0 1 { T 100 350 5 10 1 1 0 0 1 pinnumber=6 T 400 350 5 10 0 0 0 0 1 pinseq=11 T 400 250 5 10 0 0 0 0 1 pintype=in T 400 300 9 10 1 1 0 1 1 pinlabel=CHB } P 300 2400 0 2400 1 0 1 { T 100 2450 5 10 1 1 0 0 1 pinnumber=3 T 400 2450 5 10 0 0 0 0 1 pinseq=12 T 400 2350 5 10 0 0 0 0 1 pintype=in T 400 2400 9 10 1 1 0 1 1 pinlabel=SEL } V 250 1800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 1800 0 1800 1 0 1 { T 100 1850 5 10 1 1 0 0 1 pinnumber=4 T 400 1850 5 10 0 0 0 0 1 pinseq=13 T 400 1750 5 10 0 0 0 0 1 pintype=in T 400 1800 9 10 1 1 0 1 1 pinlabel=/OE } V 250 1500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 1500 0 1500 1 0 1 { T 100 1550 5 10 1 1 0 0 1 pinnumber=5 T 400 1550 5 10 0 0 0 0 1 pinseq=14 T 400 1450 5 10 0 0 0 0 1 pintype=in T 400 1500 9 10 1 1 0 1 1 pinlabel=/RST } geda-gaf-1.8.2/symbols/minicircuits/0000775000175000017500000000000012220655765014364 500000000000000geda-gaf-1.8.2/symbols/minicircuits/T2-1T-KK81-1.sym0000664000175000017500000000342512204104272016403 00000000000000v 20080706 1 T 0 1400 8 10 1 1 0 0 1 refdes=T? A 500 1200 98 270 180 3 0 0 0 -1 -1 A 500 1000 98 270 180 3 0 0 0 -1 -1 A 500 800 98 270 180 3 0 0 0 -1 -1 A 500 600 100 270 180 3 0 0 0 -1 -1 A 1000 1200 98 90 180 3 0 0 0 -1 -1 A 500 400 98 270 180 3 0 0 0 -1 -1 A 500 200 98 270 180 3 0 0 0 -1 -1 A 1000 1000 98 90 180 3 0 0 0 -1 -1 A 1000 800 98 90 180 3 0 0 0 -1 -1 A 1000 600 98 90 180 3 0 0 0 -1 -1 A 1000 400 98 90 180 3 0 0 0 -1 -1 A 1000 200 98 90 180 3 0 0 0 -1 -1 L 500 1300 200 1300 3 0 0 0 -1 -1 L 500 100 200 100 3 0 0 0 -1 -1 L 1000 1300 1300 1300 3 0 0 0 -1 -1 L 1000 100 1300 100 3 0 0 0 -1 -1 L 700 1400 700 0 3 0 0 0 -1 -1 L 800 1400 800 0 3 0 0 0 -1 -1 P 200 1300 0 1300 1 0 1 { T 200 1100 5 10 1 1 0 0 1 pinnumber=4 T 300 1400 5 10 0 0 0 0 1 pinseq=4 T 200 1300 5 10 0 1 0 0 1 pintype=pas T 200 1300 5 10 0 1 0 0 1 pinlabel=4 } P 200 100 0 100 1 0 1 { T 200 200 5 10 1 1 0 0 1 pinnumber=6 T 200 0 5 10 0 0 0 0 1 pinseq=6 T 200 100 5 10 0 0 0 0 1 pintype=pas T 200 100 5 10 0 1 0 0 1 pinlabel=6 } P 1300 1300 1500 1300 1 0 1 { T 1300 1100 5 10 1 1 0 0 1 pinnumber=3 T 1300 1400 5 10 0 0 0 0 1 pinseq=3 T 1300 1300 5 10 0 1 0 0 1 pintype=pas T 1300 1300 5 10 0 1 0 0 1 pinlabel=3 } P 1300 100 1500 100 1 0 1 { T 1300 200 5 10 1 1 0 0 1 pinnumber=1 T 1300 0 5 10 0 0 0 0 1 pinseq=1 T 1300 100 5 10 0 1 0 0 1 pintype=pas T 1300 100 5 10 0 1 0 0 1 pinlabel=1 } T 0 1800 8 10 0 0 0 0 1 device=T2-1T-KK81 L 1000 700 1300 700 3 0 0 0 -1 -1 P 1300 700 1500 700 1 0 1 { T 1300 800 5 10 1 1 0 0 1 pinnumber=2 T 1300 600 5 10 0 0 0 0 1 pinseq=2 T 1300 700 5 10 0 0 0 0 1 pintype=pas T 1300 700 5 10 0 1 0 0 1 pinlabel=2 } T 0 2000 8 10 0 0 0 0 1 footprint=MINICIRCUITS_KK81 V 600 1450 52 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 1450 52 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 1600 8 10 1 1 0 0 1 value=T2-1T-KK81 geda-gaf-1.8.2/symbols/minicircuits/T1-1T-X65-1.sym0000664000175000017500000000342212204104272016303 00000000000000v 20080706 1 T 0 1400 8 10 1 1 0 0 1 refdes=T? A 500 1200 98 270 180 3 0 0 0 -1 -1 A 500 1000 98 270 180 3 0 0 0 -1 -1 A 500 800 98 270 180 3 0 0 0 -1 -1 A 500 600 100 270 180 3 0 0 0 -1 -1 A 1000 1200 98 90 180 3 0 0 0 -1 -1 A 500 400 98 270 180 3 0 0 0 -1 -1 A 500 200 98 270 180 3 0 0 0 -1 -1 A 1000 1000 98 90 180 3 0 0 0 -1 -1 A 1000 800 98 90 180 3 0 0 0 -1 -1 A 1000 600 98 90 180 3 0 0 0 -1 -1 A 1000 400 98 90 180 3 0 0 0 -1 -1 A 1000 200 98 90 180 3 0 0 0 -1 -1 L 500 1300 200 1300 3 0 0 0 -1 -1 L 500 100 200 100 3 0 0 0 -1 -1 L 1000 1300 1300 1300 3 0 0 0 -1 -1 L 1000 100 1300 100 3 0 0 0 -1 -1 L 700 1400 700 0 3 0 0 0 -1 -1 L 800 1400 800 0 3 0 0 0 -1 -1 P 200 1300 0 1300 1 0 1 { T 200 1100 5 10 1 1 0 0 1 pinnumber=4 T 300 1400 5 10 0 0 0 0 1 pinseq=4 T 200 1300 5 10 0 1 0 0 1 pintype=pas T 200 1300 5 10 0 1 0 0 1 pinlabel=4 } P 200 100 0 100 1 0 1 { T 200 200 5 10 1 1 0 0 1 pinnumber=6 T 200 0 5 10 0 0 0 0 1 pinseq=6 T 200 100 5 10 0 0 0 0 1 pintype=pas T 200 100 5 10 0 1 0 0 1 pinlabel=6 } P 1300 1300 1500 1300 1 0 1 { T 1300 1100 5 10 1 1 0 0 1 pinnumber=3 T 1300 1400 5 10 0 0 0 0 1 pinseq=3 T 1300 1300 5 10 0 1 0 0 1 pintype=pas T 1300 1300 5 10 0 1 0 0 1 pinlabel=3 } P 1300 100 1500 100 1 0 1 { T 1300 200 5 10 1 1 0 0 1 pinnumber=1 T 1300 0 5 10 0 0 0 0 1 pinseq=1 T 1300 100 5 10 0 1 0 0 1 pintype=pas T 1300 100 5 10 0 1 0 0 1 pinlabel=1 } T 0 1800 8 10 0 0 0 0 1 device=T1-1T-X65 L 1000 700 1300 700 3 0 0 0 -1 -1 P 1300 700 1500 700 1 0 1 { T 1300 800 5 10 1 1 0 0 1 pinnumber=2 T 1300 600 5 10 0 0 0 0 1 pinseq=2 T 1300 700 5 10 0 0 0 0 1 pintype=pas T 1300 700 5 10 0 1 0 0 1 pinlabel=2 } T 0 2000 8 10 0 0 0 0 1 footprint=MINICIRCUITS_X65 V 600 1450 52 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 1450 52 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 1600 8 10 1 1 0 0 1 value=T1-1T-X65 geda-gaf-1.8.2/symbols/minicircuits/ADT1-1WT-2.sym0000664000175000017500000000341712204104272016264 00000000000000v 20080706 1 T 0 1400 8 10 1 1 0 0 1 refdes=T? A 500 1200 98 270 180 3 0 0 0 -1 -1 A 500 1000 98 270 180 3 0 0 0 -1 -1 A 500 800 98 270 180 3 0 0 0 -1 -1 A 500 600 100 270 180 3 0 0 0 -1 -1 A 1000 1200 98 90 180 3 0 0 0 -1 -1 A 500 400 98 270 180 3 0 0 0 -1 -1 A 500 200 98 270 180 3 0 0 0 -1 -1 A 1000 1000 98 90 180 3 0 0 0 -1 -1 A 1000 800 98 90 180 3 0 0 0 -1 -1 A 1000 600 98 90 180 3 0 0 0 -1 -1 A 1000 400 98 90 180 3 0 0 0 -1 -1 A 1000 200 98 90 180 3 0 0 0 -1 -1 L 500 1300 200 1300 3 0 0 0 -1 -1 L 500 100 200 100 3 0 0 0 -1 -1 L 1000 1300 1300 1300 3 0 0 0 -1 -1 L 1000 100 1300 100 3 0 0 0 -1 -1 L 700 1400 700 0 3 0 0 0 -1 -1 L 800 1400 800 0 3 0 0 0 -1 -1 P 200 1300 0 1300 1 0 1 { T 200 1100 5 10 1 1 0 0 1 pinnumber=3 T 300 1400 5 10 0 0 0 0 1 pinseq=3 T 200 1300 5 10 0 1 0 0 1 pintype=pas T 200 1300 5 10 0 1 0 0 1 pinlabel=3 } P 200 100 0 100 1 0 1 { T 200 200 5 10 1 1 0 0 1 pinnumber=1 T 200 0 5 10 0 0 0 0 1 pinseq=1 T 200 100 5 10 0 0 0 0 1 pintype=pas T 200 100 5 10 0 1 0 0 1 pinlabel=1 } P 1300 1300 1500 1300 1 0 1 { T 1300 1100 5 10 1 1 0 0 1 pinnumber=4 T 1300 1400 5 10 0 0 0 0 1 pinseq=4 T 1300 1300 5 10 0 1 0 0 1 pintype=pas T 1300 1300 5 10 0 1 0 0 1 pinlabel=4 } P 1300 100 1500 100 1 0 1 { T 1300 200 5 10 1 1 0 0 1 pinnumber=6 T 1300 0 5 10 0 0 0 0 1 pinseq=6 T 1300 100 5 10 0 1 0 0 1 pintype=pas T 1300 100 5 10 0 1 0 0 1 pinlabel=6 } T 0 1800 8 10 0 0 0 0 1 device=ADT1-1WT L 1000 700 1300 700 3 0 0 0 -1 -1 P 1300 700 1500 700 1 0 1 { T 1300 800 5 10 1 1 0 0 1 pinnumber=2 T 1300 600 5 10 0 0 0 0 1 pinseq=2 T 1300 700 5 10 0 0 0 0 1 pintype=pas T 1300 700 5 10 0 1 0 0 1 pinlabel=2 } T 0 2000 8 10 0 0 0 0 1 footprint=MINICIRCUITS_CD542 V 600 1400 52 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 0 52 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 1600 8 10 1 1 0 0 1 value=ADT1-1WT geda-gaf-1.8.2/symbols/minicircuits/T1-1T-W38-1.sym0000664000175000017500000000342212204104272016302 00000000000000v 20080706 1 T 0 1400 8 10 1 1 0 0 1 refdes=T? A 500 1200 98 270 180 3 0 0 0 -1 -1 A 500 1000 98 270 180 3 0 0 0 -1 -1 A 500 800 98 270 180 3 0 0 0 -1 -1 A 500 600 100 270 180 3 0 0 0 -1 -1 A 1000 1200 98 90 180 3 0 0 0 -1 -1 A 500 400 98 270 180 3 0 0 0 -1 -1 A 500 200 98 270 180 3 0 0 0 -1 -1 A 1000 1000 98 90 180 3 0 0 0 -1 -1 A 1000 800 98 90 180 3 0 0 0 -1 -1 A 1000 600 98 90 180 3 0 0 0 -1 -1 A 1000 400 98 90 180 3 0 0 0 -1 -1 A 1000 200 98 90 180 3 0 0 0 -1 -1 L 500 1300 200 1300 3 0 0 0 -1 -1 L 500 100 200 100 3 0 0 0 -1 -1 L 1000 1300 1300 1300 3 0 0 0 -1 -1 L 1000 100 1300 100 3 0 0 0 -1 -1 L 700 1400 700 0 3 0 0 0 -1 -1 L 800 1400 800 0 3 0 0 0 -1 -1 P 200 1300 0 1300 1 0 1 { T 200 1100 5 10 1 1 0 0 1 pinnumber=4 T 300 1400 5 10 0 0 0 0 1 pinseq=4 T 200 1300 5 10 0 1 0 0 1 pintype=pas T 200 1300 5 10 0 1 0 0 1 pinlabel=4 } P 200 100 0 100 1 0 1 { T 200 200 5 10 1 1 0 0 1 pinnumber=6 T 200 0 5 10 0 0 0 0 1 pinseq=6 T 200 100 5 10 0 0 0 0 1 pintype=pas T 200 100 5 10 0 1 0 0 1 pinlabel=6 } P 1300 1300 1500 1300 1 0 1 { T 1300 1100 5 10 1 1 0 0 1 pinnumber=3 T 1300 1400 5 10 0 0 0 0 1 pinseq=3 T 1300 1300 5 10 0 1 0 0 1 pintype=pas T 1300 1300 5 10 0 1 0 0 1 pinlabel=3 } P 1300 100 1500 100 1 0 1 { T 1300 200 5 10 1 1 0 0 1 pinnumber=1 T 1300 0 5 10 0 0 0 0 1 pinseq=1 T 1300 100 5 10 0 1 0 0 1 pintype=pas T 1300 100 5 10 0 1 0 0 1 pinlabel=1 } T 0 1800 8 10 0 0 0 0 1 device=T1-1T-W38 L 1000 700 1300 700 3 0 0 0 -1 -1 P 1300 700 1500 700 1 0 1 { T 1300 800 5 10 1 1 0 0 1 pinnumber=2 T 1300 600 5 10 0 0 0 0 1 pinseq=2 T 1300 700 5 10 0 0 0 0 1 pintype=pas T 1300 700 5 10 0 1 0 0 1 pinlabel=2 } T 0 2000 8 10 0 0 0 0 1 footprint=MINICIRCUITS_W38 V 600 1450 52 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 1450 52 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 1600 8 10 1 1 0 0 1 value=T1-1T-W38 geda-gaf-1.8.2/symbols/minicircuits/ADT1-1WT-1.sym0000664000175000017500000000342212204104272016257 00000000000000v 20080706 1 T 0 1400 8 10 1 1 0 0 1 refdes=T? A 500 1200 98 270 180 3 0 0 0 -1 -1 A 500 1000 98 270 180 3 0 0 0 -1 -1 A 500 800 98 270 180 3 0 0 0 -1 -1 A 500 600 100 270 180 3 0 0 0 -1 -1 A 1000 1200 98 90 180 3 0 0 0 -1 -1 A 500 400 98 270 180 3 0 0 0 -1 -1 A 500 200 98 270 180 3 0 0 0 -1 -1 A 1000 1000 98 90 180 3 0 0 0 -1 -1 A 1000 800 98 90 180 3 0 0 0 -1 -1 A 1000 600 98 90 180 3 0 0 0 -1 -1 A 1000 400 98 90 180 3 0 0 0 -1 -1 A 1000 200 98 90 180 3 0 0 0 -1 -1 L 500 1300 200 1300 3 0 0 0 -1 -1 L 500 100 200 100 3 0 0 0 -1 -1 L 1000 1300 1300 1300 3 0 0 0 -1 -1 L 1000 100 1300 100 3 0 0 0 -1 -1 L 700 1400 700 0 3 0 0 0 -1 -1 L 800 1400 800 0 3 0 0 0 -1 -1 P 200 1300 0 1300 1 0 1 { T 200 1100 5 10 1 1 0 0 1 pinnumber=3 T 300 1400 5 10 0 0 0 0 1 pinseq=3 T 200 1300 5 10 0 1 0 0 1 pintype=pas T 200 1300 5 10 0 1 0 0 1 pinlabel=3 } P 200 100 0 100 1 0 1 { T 200 200 5 10 1 1 0 0 1 pinnumber=1 T 200 0 5 10 0 0 0 0 1 pinseq=1 T 200 100 5 10 0 0 0 0 1 pintype=pas T 200 100 5 10 0 1 0 0 1 pinlabel=1 } P 1300 1300 1500 1300 1 0 1 { T 1300 1100 5 10 1 1 0 0 1 pinnumber=6 T 1300 1400 5 10 0 0 0 0 1 pinseq=6 T 1300 1300 5 10 0 1 0 0 1 pintype=pas T 1300 1300 5 10 0 1 0 0 1 pinlabel=6 } P 1300 100 1500 100 1 0 1 { T 1300 200 5 10 1 1 0 0 1 pinnumber=4 T 1300 0 5 10 0 0 0 0 1 pinseq=4 T 1300 100 5 10 0 1 0 0 1 pintype=pas T 1300 100 5 10 0 1 0 0 1 pinlabel=4 } T 0 1800 8 10 0 0 0 0 1 device=ADT1-1WT L 1000 700 1300 700 3 0 0 0 -1 -1 P 1300 700 1500 700 1 0 1 { T 1300 800 5 10 1 1 0 0 1 pinnumber=2 T 1300 600 5 10 0 0 0 0 1 pinseq=2 T 1300 700 5 10 0 0 0 0 1 pintype=pas T 1300 700 5 10 0 1 0 0 1 pinlabel=2 } T 0 2000 8 10 0 0 0 0 1 footprint=MINICIRCUITS_CD542 V 600 1450 52 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 1450 52 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 1600 8 10 1 1 0 0 1 value=ADT1-1WT geda-gaf-1.8.2/symbols/rf/0000775000175000017500000000000012220655765012271 500000000000000geda-gaf-1.8.2/symbols/rf/xinger-split4-1.sym0000664000175000017500000000171412204104272015575 00000000000000v 20031231 1 P 0 700 200 700 1 0 0 { T 100 750 5 10 1 1 0 0 1 pinnumber=1 T 100 750 5 10 0 0 0 0 1 pinseq=1 T 300 700 3 10 1 1 0 1 1 pinlabel=IN } P 1600 1200 1800 1200 1 0 1 { T 1700 1250 5 10 1 1 0 0 1 pinnumber=2 T 1700 1250 5 10 0 0 0 0 1 pinseq=2 T 1500 1200 3 10 1 1 0 7 1 pinlabel=OUT1 } P 1600 900 1800 900 1 0 1 { T 1700 950 5 10 1 1 0 0 1 pinnumber=3 T 1700 950 5 10 0 0 0 0 1 pinseq=3 T 1500 900 3 10 1 1 0 7 1 pinlabel=OUT2 } T 200 2200 8 10 0 1 0 0 1 device=XINGER4A4305 T 200 2000 8 10 0 0 0 0 1 pins=5 T 200 2400 8 10 0 0 0 0 1 class=IC T 200 1800 8 10 0 1 0 0 1 footprint=xinger4A4305 T 200 1600 8 10 1 1 0 0 1 refdes=U? B 200 0 1400 1500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1600 600 1800 600 1 0 1 { T 1700 650 5 10 1 1 0 0 1 pinnumber=4 T 1700 650 5 10 0 0 0 0 1 pinseq=4 T 1500 600 3 10 1 1 0 7 1 pinlabel=OUT3 } P 1600 300 1800 300 1 0 1 { T 1700 350 5 10 1 1 0 0 1 pinnumber=5 T 1700 350 5 10 0 0 0 0 1 pinseq=5 T 1500 300 3 10 1 1 0 7 1 pinlabel=OUT4 } geda-gaf-1.8.2/symbols/rf/txline4-1.sym0000664000175000017500000000075112204104272014453 00000000000000v 20031231 1 T 100 -100 8 10 0 1 0 0 1 device=TLIN B 100 50 600 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 100 100 100 1 0 0 { T 45 105 5 10 0 1 0 0 1 pinnumber=1 T 45 105 5 10 0 0 0 0 1 pinseq=1 } P 100 0 100 50 1 0 0 { T 100 -40 5 10 0 1 90 0 1 pinnumber=2 T 100 -40 5 10 0 0 90 0 1 pinseq=2 } P 700 100 800 100 1 0 1 { T 700 150 5 10 0 1 0 0 1 pinnumber=3 T 700 150 5 10 0 0 0 0 1 pinseq=3 } P 700 0 700 50 1 0 0 { T 550 -100 5 10 0 1 0 0 1 pinnumber=4 T 550 -100 5 10 0 0 0 0 1 pinseq=4 } geda-gaf-1.8.2/symbols/rf/attenuator-1.sym0000664000175000017500000000236312204104272015253 00000000000000v 20031231 1 L 600 1100 500 900 3 0 0 0 -1 -1 L 500 900 400 1100 3 0 0 0 -1 -1 L 400 1100 300 900 3 0 0 0 -1 -1 L 300 900 200 1100 3 0 0 0 -1 -1 T 0 2100 5 10 0 0 0 0 1 device=ATTENUATOR L 600 1100 700 900 3 0 0 0 -1 -1 L 700 900 750 1000 3 0 0 0 -1 -1 P 1600 1000 1450 1000 1 0 0 { T 1500 1050 5 8 1 1 0 0 1 pinnumber=3 T 1500 1050 5 8 0 0 0 0 1 pinseq=3 } P 0 1000 152 1000 1 0 0 { T 100 1050 5 8 1 1 0 0 1 pinnumber=1 T 100 1050 5 8 0 0 0 0 1 pinseq=1 } L 201 1100 150 1000 3 0 0 0 -1 -1 T 0 1300 8 10 1 1 0 0 1 refdes=ATN? T 0 1700 8 10 0 0 0 0 1 pins=3 T 0 1900 8 10 0 1 0 0 1 class=DISCRETE L 1300 1100 1200 900 3 0 0 0 -1 -1 L 1200 900 1100 1100 3 0 0 0 -1 -1 L 1100 1100 1000 900 3 0 0 0 -1 -1 L 1000 900 900 1100 3 0 0 0 -1 -1 L 1300 1100 1400 900 3 0 0 0 -1 -1 L 1400 900 1450 1000 3 0 0 0 -1 -1 L 901 1100 850 1000 3 0 0 0 -1 -1 P 800 0 800 150 1 0 0 { T 700 50 5 8 1 1 0 0 1 pinnumber=2 T 700 50 5 8 0 0 0 0 1 pinseq=2 } L 900 300 700 400 3 0 0 0 -1 -1 L 700 400 900 500 3 0 0 0 -1 -1 L 900 500 700 600 3 0 0 0 -1 -1 L 700 600 900 700 3 0 0 0 -1 -1 L 900 300 700 200 3 0 0 0 -1 -1 L 700 200 800 150 3 0 0 0 -1 -1 L 900 699 800 750 3 0 0 0 -1 -1 L 800 1000 800 750 3 0 0 0 -1 -1 L 750 1000 850 1000 3 0 0 0 -1 -1 T 0 1500 8 10 0 1 0 0 1 footprint=0805_IMS geda-gaf-1.8.2/symbols/rf/mc13175-1.sym0000664000175000017500000000502612204104272014064 00000000000000v 20031231 1 P 0 2700 200 2700 1 0 0 { T 125 2750 5 10 1 1 0 0 1 pinnumber=1 T 125 2750 5 10 0 0 0 0 1 pinseq=1 T 300 2700 3 10 1 1 0 1 1 pinlabel=OSC1 } B 200 200 2400 3300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2400 200 2400 1 0 0 { T 75 2450 5 10 1 1 0 0 1 pinnumber=4 T 75 2450 5 10 0 0 0 0 1 pinseq=4 T 300 2400 3 10 1 1 0 1 1 pinlabel=OSC4 } P 600 0 600 200 1 0 0 { T 675 50 5 10 1 1 0 0 1 pinnumber=5 T 675 50 5 10 0 0 0 0 1 pinseq=5 T 600 300 3 10 1 1 0 3 1 pinlabel=VEE } P 2600 2600 2800 2600 1 0 1 { T 2675 2650 5 10 1 1 0 0 1 pinnumber=14 T 2675 2650 5 10 0 0 0 0 1 pinseq=14 T 2500 2600 3 10 1 1 0 7 1 pinlabel=OUT2 } P 2600 2300 2800 2300 1 0 1 { T 2675 2350 5 10 1 1 0 0 1 pinnumber=13 T 2675 2350 5 10 0 0 0 0 1 pinseq=13 T 2500 2300 3 10 1 1 0 7 1 pinlabel=OUT1 } P 1400 3500 1400 3700 1 0 1 { T 1475 3550 5 10 1 1 0 0 1 pinnumber=12 T 1475 3550 5 10 0 0 0 0 1 pinseq=12 T 1400 3400 3 10 1 1 0 5 1 pinlabel=VCC } P 1300 0 1300 200 1 0 0 { T 1375 50 5 10 1 1 0 0 1 pinnumber=10 T 1375 50 5 10 0 0 0 0 1 pinseq=10 T 1300 300 3 10 1 1 0 3 1 pinlabel=R_GND } P 2100 0 2100 200 1 0 0 { T 2175 50 5 10 1 1 0 0 1 pinnumber=15 T 2175 50 5 10 0 0 0 0 1 pinseq=15 T 2100 300 3 10 1 1 0 3 1 pinlabel=O_GND } P 0 3200 200 3200 1 0 0 { T 150 3250 5 10 1 1 0 6 1 pinnumber=11 T 150 3250 5 10 0 0 0 6 1 pinseq=11 T 300 3200 3 10 1 1 0 1 1 pinlabel=ENA } P 0 1900 200 1900 1 0 0 { T 150 1950 5 10 1 1 0 6 1 pinnumber=6 T 150 1950 5 10 0 0 0 6 1 pinseq=6 T 300 1900 3 10 1 1 0 1 1 pinlabel=Icont } P 0 1500 200 1500 1 0 0 { T 150 1550 5 10 1 1 0 6 1 pinnumber=7 T 150 1550 5 10 0 0 0 6 1 pinseq=7 T 300 1500 3 10 1 1 0 1 1 pinlabel=PDout } P 2600 1300 2800 1300 1 0 1 { T 2675 1350 5 10 1 1 0 0 1 pinnumber=9 T 2675 1350 5 10 0 0 0 0 1 pinseq=9 T 2500 1300 3 10 1 1 0 7 1 pinlabel=Xtalb } P 2600 900 2800 900 1 0 1 { T 2675 950 5 10 1 1 0 0 1 pinnumber=8 T 2675 950 5 10 0 0 0 0 1 pinseq=8 T 2500 900 3 10 1 1 0 7 1 pinlabel=Xtale } P 2600 3000 2800 3000 1 0 1 { T 2675 3050 5 10 1 1 0 0 1 pinnumber=16 T 2675 3050 5 10 0 0 0 0 1 pinseq=16 T 2500 3000 3 10 1 1 0 7 1 pinlabel=Imod } T 200 3900 8 10 1 1 0 0 1 refdes=U? T 200 4100 8 10 0 1 0 0 1 device=MC13175 T 1400 2000 9 15 1 0 0 4 1 MC13175 T 200 4500 8 10 0 0 0 0 1 pins=16 T 200 4700 8 10 0 0 0 0 1 class=IC T 200 4300 8 10 0 1 0 0 1 footprint=SO16 P 0 800 200 800 1 0 0 { T 150 850 5 10 1 1 0 6 1 pinnumber=3 T 150 850 5 10 0 0 0 6 1 pinseq=3 T 300 800 3 10 1 1 0 1 1 pinlabel=NC/GND } P 0 1100 200 1100 1 0 0 { T 150 1150 5 10 1 1 0 6 1 pinnumber=2 T 150 1150 5 10 0 0 0 6 1 pinseq=2 T 300 1100 3 10 1 1 0 1 1 pinlabel=NC/GND } geda-gaf-1.8.2/symbols/rf/port2-1.sym0000664000175000017500000000055312204104272014132 00000000000000v 20031231 1 P 0 100 200 100 1 0 0 { T 250 50 5 6 0 1 0 0 1 pinnumber=1 T 250 50 5 6 0 0 0 0 1 pinseq=1 } L 200 200 200 0 3 0 0 0 -1 -1 L 200 200 700 200 3 0 0 0 -1 -1 L 700 200 800 100 3 0 0 0 -1 -1 L 800 100 700 0 3 0 0 0 -1 -1 L 700 0 200 0 3 0 0 0 -1 -1 T 100 300 5 10 0 0 0 0 1 device=PORT2 T 250 50 9 8 1 0 0 0 1 Port 2 T 100 300 8 10 0 0 0 0 1 net=PORT2:1 geda-gaf-1.8.2/symbols/rf/TOKO4DFA-1.sym0000664000175000017500000000224512204104272014237 00000000000000v 20031231 1 B 200 200 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 600 0 600 1 0 1 { T 150 650 5 10 0 1 0 0 1 pinnumber=1 T 150 650 5 10 0 0 0 0 1 pinseq=1 T 250 550 5 10 0 1 0 0 1 pinlabel=IN } P 1000 600 1200 600 1 0 1 { T 1050 650 5 10 0 1 0 0 1 pinnumber=2 T 1050 650 5 10 0 0 0 0 1 pinseq=2 T 600 550 5 10 0 1 0 0 1 pinlabel=OUT } A 470 525 150 30 120 3 0 0 0 -1 -1 A 730 675 150 210 120 3 0 0 0 -1 -1 A 470 675 150 30 120 3 0 0 0 -1 -1 A 730 825 150 210 120 3 0 0 0 -1 -1 A 470 375 150 30 120 3 0 0 0 -1 -1 A 730 525 150 210 120 3 0 0 0 -1 -1 L 550 700 650 800 3 0 0 0 -1 -1 L 550 400 650 500 3 0 0 0 -1 -1 P 600 200 600 0 1 0 1 { T 500 0 5 10 0 1 0 0 1 pinnumber=4 T 500 0 5 10 0 0 0 0 1 pinseq=4 T 400 200 5 10 0 1 0 0 1 pinlabel=GND } T 200 1150 8 10 0 1 0 0 1 device=TOKO4DFA T 0 0 8 10 0 1 0 0 1 class=IC T 0 0 8 10 0 1 0 0 1 pins=5 P 700 200 700 0 1 0 1 { T 600 0 5 10 0 1 0 0 1 pinnumber=5 T 600 0 5 10 0 0 0 0 1 pinseq=5 T 500 200 5 10 0 1 0 0 1 pinlabel=GND } P 500 200 500 0 1 0 1 { T 400 0 5 10 0 1 0 0 1 pinnumber=3 T 400 0 5 10 0 0 0 0 1 pinseq=3 T 300 200 5 10 0 1 0 0 1 pinlabel=GND } T 400 1100 8 10 1 1 0 0 1 refdes=FIL? T 0 0 8 10 0 1 0 0 1 footprint=TOKO_4DFA_12 geda-gaf-1.8.2/symbols/rf/xinger-splitter-1.sym0000664000175000017500000000226412204104272016225 00000000000000v 20031231 1 L 200 900 200 700 3 0 0 0 -1 -1 L 1400 1300 1800 1600 3 0 0 0 -1 -1 L 1800 1600 1800 1400 3 0 0 0 -1 -1 L 1800 1400 1400 1100 3 0 0 0 -1 -1 L 1800 200 1400 500 3 0 0 0 -1 -1 L 1800 0 1400 300 3 0 0 0 -1 -1 L 1800 0 1800 200 3 0 0 0 -1 -1 P 0 800 200 800 1 0 0 { T 100 850 5 10 1 1 0 0 1 pinnumber=1 T 100 850 5 10 0 0 0 0 1 pinseq=1 } P 1800 1500 2000 1500 1 0 1 { T 1900 1550 5 10 1 1 0 0 1 pinnumber=2 T 1900 1550 5 10 0 0 0 0 1 pinseq=2 } P 1800 100 2000 100 1 0 1 { T 1900 150 5 10 1 1 0 0 1 pinnumber=3 T 1900 150 5 10 0 0 0 0 1 pinseq=3 } T 300 2300 8 10 0 1 0 0 1 device=XINGER4A1305-3 T 300 2100 8 10 0 0 0 0 1 pins=3 T 300 2500 8 10 0 0 0 0 1 class=IC T 300 1900 8 10 0 1 0 0 1 footprint=xinger4A1305 T 300 1700 8 10 1 1 0 0 1 refdes=U? L 1600 950 1800 850 3 0 0 0 -1 -1 L 1800 850 1600 750 3 0 0 0 -1 -1 L 1600 750 1800 650 3 0 0 0 -1 -1 L 1800 650 1600 550 3 0 0 0 -1 -1 L 1600 950 1800 1050 3 0 0 0 -1 -1 L 1800 1050 1700 1100 3 0 0 0 -1 -1 L 1600 551 1700 500 3 0 0 0 -1 -1 L 1700 1100 1700 1320 3 0 0 0 -1 -1 L 1700 500 1700 270 3 0 0 0 -1 -1 L 200 900 1400 1300 3 0 0 0 -1 -1 L 200 700 1400 300 3 0 0 0 -1 -1 L 1400 500 400 800 3 0 0 0 -1 -1 L 400 800 1400 1100 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/rf/vipec-analysis-1.sym0000664000175000017500000000161012204104272016006 00000000000000v 20031231 1 P 2200 300 2200 0 1 0 1 { T 2000 400 5 10 1 1 0 0 1 pinlabel=GND T 2300 100 5 10 0 1 0 0 1 pinnumber=1 T 2300 100 5 10 0 0 0 0 1 pinseq=1 } T 700 3300 8 10 1 0 0 0 1 Fo=1GHz T 700 2200 8 10 1 0 0 0 1 Fmin=100Hz T 2700 2200 8 10 1 0 0 0 1 Fmax=2GHz T 100 900 8 10 1 0 0 0 1 Freq=GHz T 2700 1800 8 10 1 0 0 0 1 Scale=log T 1900 1100 8 10 1 0 0 0 1 Cap=pF T 100 1100 8 10 1 0 0 0 1 Res=k T 3200 1100 8 10 1 0 0 0 1 Ind=nH T 1900 900 8 10 1 0 0 0 1 Ang=deg T 3200 900 8 10 1 0 0 0 1 Length=mm T 700 1800 8 10 1 0 0 0 1 Points=100 B 0 300 4500 4100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 0 1600 4500 1600 3 0 0 0 -1 -1 T 1900 1400 9 10 1 0 0 0 1 Units L 0 700 4500 700 3 0 0 0 -1 -1 L 0 2700 4500 2700 3 0 0 0 -1 -1 T 1800 2500 9 10 1 0 0 0 1 Sweep T 300 3900 9 20 1 0 0 0 1 ViPEC Analysis Block T 2700 3300 8 10 1 0 0 0 1 Zo=50 T 1800 3700 8 10 0 1 0 0 1 device=VIPEC T 0 0 8 10 0 1 0 0 1 refdes=ANAL geda-gaf-1.8.2/symbols/rf/xinger-coupler-1.sym0000664000175000017500000000217612204104272016032 00000000000000v 20031231 1 L 200 900 600 600 3 0 0 0 -1 -1 L 200 1100 600 800 3 0 0 0 -1 -1 L 200 1100 200 900 3 0 0 0 -1 -1 L 600 800 1900 800 3 0 0 0 -1 -1 L 600 600 1900 600 3 0 0 0 -1 -1 L 1900 800 2300 1100 3 0 0 0 -1 -1 L 2300 1100 2300 900 3 0 0 0 -1 -1 L 2300 900 1900 600 3 0 0 0 -1 -1 L 2300 200 1900 500 3 0 0 0 -1 -1 L 2300 0 1900 300 3 0 0 0 -1 -1 L 2300 0 2300 200 3 0 0 0 -1 -1 L 1900 300 600 300 3 0 0 0 -1 -1 L 1900 500 600 500 3 0 0 0 -1 -1 L 600 300 200 0 3 0 0 0 -1 -1 L 200 0 200 200 3 0 0 0 -1 -1 L 200 200 600 500 3 0 0 0 -1 -1 P 0 1000 200 1000 1 0 0 { T 100 1050 5 10 1 1 0 0 1 pinnumber=1 T 100 1050 5 10 0 0 0 0 1 pinseq=1 } P 0 100 200 100 1 0 0 { T 50 150 5 10 1 1 0 0 1 pinnumber=4 T 50 150 5 10 0 0 0 0 1 pinseq=4 } P 2300 1000 2500 1000 1 0 1 { T 2400 1050 5 10 1 1 0 0 1 pinnumber=2 T 2400 1050 5 10 0 0 0 0 1 pinseq=2 } P 2300 100 2500 100 1 0 1 { T 2400 150 5 10 1 1 0 0 1 pinnumber=3 T 2400 150 5 10 0 0 0 0 1 pinseq=3 } T 1000 1700 8 10 0 1 0 0 1 device=XINGER1A1305-20 T 1000 1500 8 10 0 0 0 0 1 pins=4 T 1000 1900 8 10 0 1 0 0 1 class=IC T 1000 1300 8 10 0 1 0 0 1 footprint=xinger1A1305 T 1000 1100 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/rf/splitter-1.sym0000664000175000017500000000112312204104272014724 00000000000000v 20031231 1 B 200 200 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 600 0 600 1 0 1 { T 150 650 5 10 1 1 0 0 1 pinnumber=1 T 150 650 5 10 0 0 0 0 1 pinseq=1 } P 1000 600 1200 600 1 0 1 { T 1050 650 5 10 1 1 0 0 1 pinnumber=2 T 1050 650 5 10 0 0 0 0 1 pinseq=2 } P 600 200 600 0 1 0 1 { T 500 0 5 10 0 1 0 0 1 pinnumber=3 T 500 0 5 10 0 0 0 0 1 pinseq=3 T 650 250 5 10 1 1 0 0 1 pinlabel=S } T 150 1150 8 10 0 1 0 0 1 device=SPLITTER A 200 200 400 0 90 3 0 0 0 -1 -1 A 1000 200 400 90 90 3 0 0 0 -1 -1 T 500 1100 8 10 1 1 0 0 1 refdes=U? T 0 0 8 10 0 1 0 0 1 pins=6 T 0 0 8 10 0 1 0 0 1 class=IC geda-gaf-1.8.2/symbols/rf/LRPS-2-11.sym0000664000175000017500000000202712204104272014062 00000000000000v 20031231 1 B 200 200 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 600 0 600 1 0 1 { T 150 650 5 10 0 1 0 0 1 pinnumber=3 T 150 650 5 10 0 0 0 0 1 pinseq=3 } P 1000 600 1200 600 1 0 1 { T 1050 650 5 10 0 1 0 0 1 pinnumber=4 T 1050 650 5 10 0 0 0 0 1 pinseq=4 } P 600 200 600 0 1 0 1 { T 500 0 5 10 0 1 0 0 1 pinnumber=6 T 500 0 5 10 0 0 0 0 1 pinseq=6 T 650 250 5 10 0 1 0 0 1 pinlabel=S } T 150 1150 8 10 0 1 0 0 1 device=LRPS-2-11 A 200 200 400 0 90 3 0 0 0 -1 -1 A 1000 200 400 90 90 3 0 0 0 -1 -1 T 500 1100 8 10 1 1 0 0 1 refdes=U? T 0 0 8 10 0 1 0 0 1 pins=6 T 0 0 8 10 0 1 0 0 1 class=IC P 900 200 900 100 1 0 1 { T 900 200 5 10 0 1 0 0 1 pinlabel=GND T 900 200 5 10 0 1 0 0 1 pinnumber=2 T 900 200 5 10 0 0 0 0 1 pinseq=2 } P 1000 200 1000 100 1 0 1 { T 1000 200 5 10 0 1 0 0 1 pinlabel=GND T 1000 200 5 10 0 1 0 0 1 pinnumber=5 T 1000 200 5 10 0 0 0 0 1 pinseq=5 } P 800 200 800 100 1 0 1 { T 800 200 5 10 0 1 0 0 1 pinlabel=GND T 800 200 5 10 0 1 0 0 1 pinnumber=1 T 800 200 5 10 0 0 0 0 1 pinseq=1 } T 0 0 8 10 0 1 0 0 1 footprint=QQQ geda-gaf-1.8.2/symbols/rf/grid-1.sym0000664000175000017500000000077412204104272014016 00000000000000v 20031231 1 T 2200 2900 9 20 1 0 0 4 1 ViPEC Grid Display T 600 2200 8 10 1 0 0 0 1 title=Graph Title T 600 1800 8 10 1 0 0 0 1 Ymin=-80 T 2600 1800 8 10 1 0 0 0 1 Ymax=20 T 2600 1400 8 10 1 0 0 0 1 Divisions=5 T 600 1400 8 10 1 0 0 0 1 scale=dB T 600 1000 8 10 1 0 0 0 1 S11=on T 2600 600 8 10 1 0 0 0 1 S22=off T 600 600 8 10 1 0 0 0 1 S12=off T 2600 1000 8 10 1 0 0 0 1 S21=on T 800 1700 8 10 0 1 0 0 1 device=VIPEC-GRID T 0 0 8 10 1 1 0 0 1 refdes=GRID1 B 0 200 4400 3200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/rf/smith-1.sym0000664000175000017500000000054312204104272014207 00000000000000v 20031231 1 T 1800 2400 9 20 1 0 0 4 1 Smith Chart T 2500 2200 5 10 0 1 0 0 1 device=SMITH T 1800 1800 8 10 1 0 0 4 1 Title=Graph Title T 600 1100 8 10 1 0 0 0 1 S11=on T 600 500 8 10 1 0 0 0 1 S12=off T 2300 500 8 10 1 0 0 0 1 S22=off T 2300 1100 8 10 1 0 0 0 1 S21=on T 0 0 8 10 1 1 0 0 1 refdes=SMITH1 B 0 200 3600 2800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/rf/at-1xx.sym0000664000175000017500000000352212204104272014047 00000000000000v 20031231 1 L 600 1100 500 900 3 0 0 0 -1 -1 L 500 900 400 1100 3 0 0 0 -1 -1 L 400 1100 300 900 3 0 0 0 -1 -1 L 300 900 200 1100 3 0 0 0 -1 -1 T 200 2400 5 10 0 0 0 0 1 device=AT-1XX L 600 1100 700 900 3 0 0 0 -1 -1 L 700 900 750 1000 3 0 0 0 -1 -1 P 1600 1000 1450 1000 1 0 0 { T 1500 1050 5 8 1 1 0 0 1 pinnumber=7 T 1500 1050 5 8 0 0 0 0 1 pinseq=7 } P 0 1000 152 1000 1 0 0 { T 100 1050 5 8 1 1 0 0 1 pinnumber=3 T 100 1050 5 8 0 0 0 0 1 pinseq=3 } L 201 1100 150 1000 3 0 0 0 -1 -1 T 200 1600 8 10 1 1 0 0 1 refdes=U? T 200 2000 8 10 0 0 0 0 1 pins=8 T 200 2200 8 10 0 1 0 0 1 class=IC L 1300 1100 1200 900 3 0 0 0 -1 -1 L 1200 900 1100 1100 3 0 0 0 -1 -1 L 1100 1100 1000 900 3 0 0 0 -1 -1 L 1000 900 900 1100 3 0 0 0 -1 -1 L 1300 1100 1400 900 3 0 0 0 -1 -1 L 1400 900 1450 1000 3 0 0 0 -1 -1 L 901 1100 850 1000 3 0 0 0 -1 -1 P 600 0 600 150 1 0 0 { T 500 50 5 8 0 1 0 0 1 pinnumber=1 T 500 50 5 8 0 0 0 0 1 pinseq=1 } L 900 300 700 400 3 0 0 0 -1 -1 L 700 400 900 500 3 0 0 0 -1 -1 L 900 500 700 600 3 0 0 0 -1 -1 L 700 600 900 700 3 0 0 0 -1 -1 L 900 300 700 200 3 0 0 0 -1 -1 L 700 200 800 150 3 0 0 0 -1 -1 L 900 699 800 750 3 0 0 0 -1 -1 L 800 1000 800 750 3 0 0 0 -1 -1 L 750 1000 850 1000 3 0 0 0 -1 -1 P 700 0 700 150 1 0 0 { T 600 50 5 8 0 1 0 0 1 pinnumber=2 T 600 50 5 8 0 0 0 0 1 pinseq=2 } T 200 1800 8 10 0 1 0 0 1 footprint=SO8 B 150 150 1300 1200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 800 0 800 150 1 0 0 { T 700 50 5 8 0 1 0 0 1 pinnumber=6 T 700 50 5 8 0 0 0 0 1 pinseq=6 } P 900 0 900 150 1 0 0 { T 800 50 5 8 0 1 0 0 1 pinnumber=8 T 800 50 5 8 0 0 0 0 1 pinseq=8 } P 1600 500 1450 500 1 0 0 { T 1200 450 5 8 1 1 0 0 1 pinlabel=Vc T 1500 550 5 10 1 1 0 0 1 pinnumber=5 T 1500 550 5 10 0 0 0 0 1 pinseq=5 } P 800 1500 800 1350 1 0 0 { T 900 1500 5 8 1 1 180 0 1 pinnumber=4 T 900 1500 5 8 0 0 180 0 1 pinseq=4 T 650 1200 5 10 1 1 0 0 1 pinlabel=Vcc } geda-gaf-1.8.2/symbols/rf/xinger-split3-1.sym0000664000175000017500000000147512204104272015600 00000000000000v 20031231 1 P 0 700 200 700 1 0 0 { T 100 750 5 10 1 1 0 0 1 pinnumber=1 T 100 750 5 10 0 0 0 0 1 pinseq=1 T 300 700 3 10 1 1 0 1 1 pinlabel=IN } P 1600 1000 1800 1000 1 0 1 { T 1700 1050 5 10 1 1 0 0 1 pinnumber=2 T 1700 1050 5 10 0 0 0 0 1 pinseq=2 T 1500 1000 3 10 1 1 0 7 1 pinlabel=OUT1 } P 1600 700 1800 700 1 0 1 { T 1700 750 5 10 1 1 0 0 1 pinnumber=3 T 1700 750 5 10 0 0 0 0 1 pinseq=3 T 1500 700 3 10 1 1 0 7 1 pinlabel=OUT2 } T 200 2200 8 10 0 1 0 0 1 device=XINGER4A3305 T 200 2000 8 10 0 0 0 0 1 pins=4 T 200 2400 8 10 0 0 0 0 1 class=IC T 200 1800 8 10 0 1 0 0 1 footprint=xinger4A3305 T 200 1600 8 10 1 1 0 0 1 refdes=U? B 200 0 1400 1500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1600 400 1800 400 1 0 1 { T 1700 450 5 10 1 1 0 0 1 pinnumber=4 T 1700 450 5 10 0 0 0 0 1 pinseq=4 T 1500 400 3 10 1 1 0 7 1 pinlabel=OUT3 } geda-gaf-1.8.2/symbols/rf/txline-1.sym0000664000175000017500000000063412204104272014367 00000000000000v 20031231 1 P 0 200 100 200 1 0 0 { T 45 205 5 10 0 1 0 0 1 pinnumber=1 T 45 205 5 10 0 0 0 0 1 pinseq=1 } B 100 150 600 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 700 200 800 200 1 0 1 { T 710 200 5 10 0 1 0 0 1 pinnumber=2 T 710 200 5 10 0 0 0 0 1 pinseq=2 } L 400 150 400 50 3 0 0 0 -1 -1 L 350 50 450 50 3 0 0 0 -1 -1 L 375 25 425 25 3 0 0 0 -1 -1 L 395 5 405 5 3 0 0 0 -1 -1 T 200 300 8 10 0 1 0 0 1 device=TLIN geda-gaf-1.8.2/symbols/rf/port1-1.sym0000664000175000017500000000054012204104272014125 00000000000000v 20031231 1 P 600 100 800 100 1 0 1 { T 450 50 5 6 0 1 0 0 1 pinnumber=1 T 450 50 5 6 0 0 0 0 1 pinseq=1 } L 0 200 0 0 3 0 0 0 -1 -1 L 0 200 500 200 3 0 0 0 -1 -1 L 500 200 600 100 3 0 0 0 -1 -1 L 600 100 500 0 3 0 0 0 -1 -1 L 500 0 0 0 3 0 0 0 -1 -1 T 0 300 5 10 0 0 0 0 1 device=PORT1 T 50 50 9 8 1 0 0 0 1 Port 1 T 0 300 8 10 0 0 0 0 1 net=PORT1:1 geda-gaf-1.8.2/symbols/rf/coupler-1.sym0000664000175000017500000000177712204104272014546 00000000000000v 20031231 1 L 200 1100 600 700 3 0 0 0 -1 -1 L 200 1300 600 900 3 0 0 0 -1 -1 L 200 1300 200 1100 3 0 0 0 -1 -1 L 600 900 2800 900 3 0 0 0 -1 -1 L 600 700 2800 700 3 0 0 0 -1 -1 L 2800 900 3200 1300 3 0 0 0 -1 -1 L 3200 1300 3200 1100 3 0 0 0 -1 -1 L 3200 1100 2800 700 3 0 0 0 -1 -1 L 3200 200 2800 600 3 0 0 0 -1 -1 L 3200 0 2800 400 3 0 0 0 -1 -1 L 3200 0 3200 200 3 0 0 0 -1 -1 L 2800 400 600 400 3 0 0 0 -1 -1 L 2800 600 600 600 3 0 0 0 -1 -1 L 600 400 200 0 3 0 0 0 -1 -1 L 200 0 200 200 3 0 0 0 -1 -1 L 200 200 600 600 3 0 0 0 -1 -1 P 0 1200 200 1200 1 0 0 { T 0 1200 5 10 0 1 0 0 1 pinnumber=1 T 0 1200 5 10 0 0 0 0 1 pinseq=1 } P 0 100 200 100 1 0 0 { T 100 100 5 10 0 1 0 0 1 pinnumber=2 T 100 100 5 10 0 0 0 0 1 pinseq=2 } P 3200 1200 3400 1200 1 0 1 { T 3300 1200 5 10 0 1 0 0 1 pinnumber=4 T 3300 1200 5 10 0 0 0 0 1 pinseq=4 } P 3200 100 3400 100 1 0 1 { T 3300 100 5 10 0 1 0 0 1 pinnumber=3 T 3300 100 5 10 0 0 0 0 1 pinseq=3 } T 1200 1000 9 10 1 0 0 0 1 Coupled Line T 1500 200 8 10 0 1 0 0 1 device=CLIN geda-gaf-1.8.2/symbols/rf/xinger-hybrid-1.sym0000664000175000017500000000217312204104272015637 00000000000000v 20031231 1 L 200 900 600 600 3 0 0 0 -1 -1 L 200 1100 600 800 3 0 0 0 -1 -1 L 200 1100 200 900 3 0 0 0 -1 -1 L 1900 800 2300 1100 3 0 0 0 -1 -1 L 2300 1100 2300 900 3 0 0 0 -1 -1 L 2300 900 1900 600 3 0 0 0 -1 -1 L 2300 200 1900 500 3 0 0 0 -1 -1 L 2300 0 1900 300 3 0 0 0 -1 -1 L 2300 0 2300 200 3 0 0 0 -1 -1 L 600 300 200 0 3 0 0 0 -1 -1 L 200 0 200 200 3 0 0 0 -1 -1 L 200 200 600 500 3 0 0 0 -1 -1 P 0 1000 200 1000 1 0 0 { T 100 1050 5 10 1 1 0 0 1 pinnumber=1 T 100 1050 5 10 0 0 0 0 1 pinseq=1 } P 0 100 200 100 1 0 0 { T 50 150 5 10 1 1 0 0 1 pinnumber=4 T 50 150 5 10 0 0 0 0 1 pinseq=4 } P 2300 1000 2500 1000 1 0 1 { T 2400 1050 5 10 1 1 0 0 1 pinnumber=2 T 2400 1050 5 10 0 0 0 0 1 pinseq=2 } P 2300 100 2500 100 1 0 1 { T 2400 150 5 10 1 1 0 0 1 pinnumber=3 T 2400 150 5 10 0 0 0 0 1 pinseq=3 } T 1000 1700 8 10 0 1 0 0 1 device=XINGER11305-3 T 1000 1500 8 10 0 0 0 0 1 pins=4 T 1000 1900 8 10 0 1 0 0 1 class=IC T 1000 1300 8 10 0 1 0 0 1 footprint=xinger11305 T 1000 1100 8 10 1 1 0 0 1 refdes=U? L 600 800 1900 500 3 0 0 0 -1 -1 L 600 600 1900 300 3 0 0 0 -1 -1 L 1900 800 600 500 3 0 0 0 -1 -1 L 1900 600 600 300 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/rf/rf2155-1.sym0000664000175000017500000000414512204104272014011 00000000000000v 20031231 1 P 100 2000 300 2000 1 0 0 { T 225 2050 5 10 1 1 0 6 1 pinnumber=16 T 225 2050 5 10 0 0 0 6 1 pinseq=16 T 400 2000 3 10 1 1 0 1 1 pinlabel=G16 } B 300 200 2700 2600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1700 300 1700 1 0 0 { T 225 1750 5 10 1 1 0 6 1 pinnumber=15 T 225 1750 5 10 0 0 0 6 1 pinseq=15 T 400 1700 3 10 1 1 0 1 1 pinlabel=G8 } P 1300 0 1300 200 1 0 0 { T 1375 50 5 10 1 1 0 0 1 pinnumber=5 T 1375 50 5 10 0 0 0 0 1 pinseq=5 T 1300 300 3 10 0 1 0 3 1 pinlabel=GND } P 3000 1400 3200 1400 1 0 1 { T 3075 1450 5 10 1 1 0 0 1 pinnumber=14 T 3075 1450 5 10 0 0 0 0 1 pinseq=14 T 2900 1400 3 10 1 1 0 7 1 pinlabel=RFOUT2 } P 3000 1100 3200 1100 1 0 1 { T 3075 1150 5 10 1 1 0 0 1 pinnumber=11 T 3075 1150 5 10 0 0 0 0 1 pinseq=11 T 2900 1100 3 10 1 1 0 7 1 pinlabel=RFOUT1 } P 1300 2800 1300 3000 1 0 1 { T 1375 2850 5 10 1 1 0 0 1 pinnumber=2 T 1375 2850 5 10 0 0 0 0 1 pinseq=2 T 1300 2700 3 10 1 1 0 5 1 pinlabel=VCC1 } P 100 2500 300 2500 1 0 0 { T 250 2550 5 10 1 1 0 6 1 pinnumber=8 T 250 2550 5 10 0 0 0 6 1 pinseq=8 T 400 2500 3 10 1 1 0 1 1 pinlabel=PD } P 100 1300 300 1300 1 0 0 { T 250 1350 5 10 1 1 0 6 1 pinnumber=7 T 250 1350 5 10 0 0 0 6 1 pinseq=7 T 400 1300 3 10 1 1 0 1 1 pinlabel=RFIN } T 300 3200 8 10 1 1 0 0 1 refdes=U? T 300 3400 8 10 0 1 0 0 1 device=RF2155 T 1700 1900 9 15 1 0 0 4 1 RF2155 T 300 3800 8 10 0 0 0 0 1 pins=16 T 300 4000 8 10 0 0 0 0 1 class=IC T 300 3600 8 10 0 1 0 0 1 footprint=SO16 P 1100 0 1100 200 1 0 0 { T 1175 50 5 10 1 1 0 0 1 pinnumber=4 T 1175 50 5 10 0 0 0 0 1 pinseq=4 T 1100 300 3 10 0 1 0 3 1 pinlabel=GND } P 1500 0 1500 200 1 0 0 { T 1575 50 5 10 1 1 0 0 1 pinnumber=6 T 1575 50 5 10 0 0 0 0 1 pinseq=6 T 1600 300 3 10 1 1 0 3 1 pinlabel=GND } P 1700 0 1700 200 1 0 0 { T 1775 50 5 10 1 1 0 0 1 pinnumber=12 T 1775 50 5 10 0 0 0 0 1 pinseq=12 T 1700 300 3 10 0 1 0 3 1 pinlabel=GND } P 2000 0 2000 200 1 0 0 { T 2075 50 5 10 1 1 0 0 1 pinnumber=13 T 2075 50 5 10 0 0 0 0 1 pinseq=13 T 2000 300 3 10 0 1 0 3 1 pinlabel=GND } P 2000 2800 2000 3000 1 0 1 { T 2075 2850 5 10 1 1 0 0 1 pinnumber=3 T 2075 2850 5 10 0 0 0 0 1 pinseq=3 T 2000 2700 3 10 1 1 0 5 1 pinlabel=VCC2 } geda-gaf-1.8.2/symbols/rf/s-param-1.sym0000664000175000017500000000130612204104272014421 00000000000000v 20031231 1 B 200 200 1400 1800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 600 0 600 1 0 1 { T 0 600 5 10 0 1 0 0 1 pinnumber=2 T 0 600 5 10 0 0 0 0 1 pinseq=2 } P 1800 1600 1600 1600 1 0 0 { T 1700 1600 5 10 0 1 0 0 1 pinnumber=3 T 1700 1600 5 10 0 0 0 0 1 pinseq=3 } P 1800 600 1600 600 1 0 0 { T 1700 600 5 10 0 1 0 0 1 pinnumber=4 T 1700 600 5 10 0 0 0 0 1 pinseq=4 } P 200 1600 0 1600 1 0 1 { T 100 1600 5 10 0 1 0 0 1 pinnumber=1 T 100 1600 5 10 0 0 0 0 1 pinseq=1 } T 900 400 9 10 1 0 0 4 1 Z=50 T 900 1100 9 50 1 0 0 4 1 S T 300 1600 9 10 1 0 0 1 1 In T 1500 1600 9 10 1 0 0 7 1 Out T -500 1500 8 10 0 1 0 0 1 device=SPARAMBLOCK T 200 0 8 10 1 1 0 0 1 refdes=BLOCK? T 200 2100 8 10 1 0 0 0 1 model=model.sp geda-gaf-1.8.2/symbols/rf/filter-1.sym0000664000175000017500000000151312204104272014346 00000000000000v 20031231 1 B 200 200 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 600 0 600 1 0 1 { T 150 650 5 10 0 1 0 0 1 pinnumber=1 T 150 650 5 10 0 0 0 0 1 pinseq=1 T 250 550 5 10 0 1 0 0 1 pinlabel=IN } P 1000 600 1200 600 1 0 1 { T 1050 650 5 10 0 1 0 0 1 pinnumber=2 T 1050 650 5 10 0 0 0 0 1 pinseq=2 T 600 550 5 10 0 1 0 0 1 pinlabel=OUT } A 470 525 150 30 120 3 0 0 0 -1 -1 A 730 675 150 210 120 3 0 0 0 -1 -1 A 470 675 150 30 120 3 0 0 0 -1 -1 A 730 825 150 210 120 3 0 0 0 -1 -1 A 470 375 150 30 120 3 0 0 0 -1 -1 A 730 525 150 210 120 3 0 0 0 -1 -1 L 550 700 650 800 3 0 0 0 -1 -1 L 550 400 650 500 3 0 0 0 -1 -1 P 600 200 600 0 1 0 1 { T 500 0 5 10 0 1 0 0 1 pinnumber=3 T 500 0 5 10 0 0 0 0 1 pinseq=3 T 400 200 5 10 0 1 0 0 1 pinlabel=GND } T 200 1150 8 10 0 1 0 0 1 device=FILTER T 0 0 8 10 0 1 0 0 1 class=IC T 0 0 8 10 0 1 0 0 1 pins=3 geda-gaf-1.8.2/symbols/supervisor/0000775000175000017500000000000012220655765014103 500000000000000geda-gaf-1.8.2/symbols/supervisor/adm707.sym0000664000175000017500000000250412204104272015535 00000000000000v 20060906 1 T 300 2750 5 10 0 0 0 0 1 comment=pin numbers for SOIC/DIP only, microSOIC different P 2100 1700 2400 1700 1 0 1 { T 1450 1650 9 10 1 1 0 0 1 pinlabel=RESET T 2200 1750 5 10 1 1 0 0 1 pinnumber=8 T 2200 1750 5 10 0 0 0 0 1 pinseq=8 } P 0 700 300 700 1 0 0 { T 350 650 9 10 1 1 0 0 1 pinlabel=PFI T 100 750 5 10 1 1 0 0 1 pinnumber=4 T 100 750 5 10 0 0 0 0 1 pinseq=4 } P 0 1600 300 1600 1 0 0 { T 350 1550 9 10 1 1 0 0 1 pinlabel=/MR T 150 1650 5 10 1 1 0 0 1 pinnumber=1 T 150 1650 5 10 0 0 0 0 1 pinseq=1 } P 1200 0 1200 300 1 0 0 { T 1400 500 9 10 1 1 180 0 1 pinlabel=GND T 1100 100 5 10 1 1 0 0 1 pinnumber=3 T 1100 100 5 10 0 0 0 0 1 pinseq=3 } B 300 300 1800 2200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2100 700 2400 700 1 0 1 { T 2200 750 5 10 1 1 0 0 1 pinnumber=5 T 2200 750 5 10 0 0 0 0 1 pinseq=5 T 1600 650 9 10 1 1 0 0 1 pinlabel=/PFO } P 2100 1300 2400 1300 1 0 1 { T 1350 1250 9 10 1 1 0 0 1 pinlabel=/RESET T 2200 1350 5 10 1 1 0 0 1 pinnumber=7 T 2200 1350 5 10 0 0 0 0 1 pinseq=7 } P 0 1100 300 1100 1 0 0 { T 350 1050 9 10 1 1 0 0 1 pinlabel=Vcc T 100 1150 5 10 1 1 0 0 1 pinnumber=2 T 100 1150 5 10 0 0 0 0 1 pinseq=2 } T 1900 2550 8 10 1 1 0 0 1 refdes=U? T 800 2100 9 10 1 1 0 0 1 device=ADM707 T 300 2950 5 10 0 0 0 0 1 footprint=SO8 T 300 3150 5 10 0 0 0 0 1 footprint2=DIP8 T 300 3350 5 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/io/0000775000175000017500000000000012220655765012271 500000000000000geda-gaf-1.8.2/symbols/io/passive-1.sym0000664000175000017500000000074112204104272014535 00000000000000v 20031231 1 P 0 100 200 100 1 0 0 { T 150 150 5 10 0 1 0 6 1 pinnumber=1 T 250 350 9 10 0 0 0 0 1 pinlabel=PASSIVE T 250 550 5 10 0 0 0 0 1 pinseq=1 T 250 450 5 10 0 0 0 0 1 pintype=pas } L 200 200 200 0 3 0 0 0 -1 -1 T 900 200 5 10 1 0 0 0 1 net=PASSIVE:1 T 200 700 5 10 0 0 0 0 1 device=none T 200 800 5 10 0 0 0 0 1 description=Passive module port L 200 200 800 200 3 0 0 0 -1 -1 L 800 200 800 0 3 0 0 0 -1 -1 L 800 0 200 0 3 0 0 0 -1 -1 T 900 100 5 10 1 1 0 1 1 value=PASSIVE geda-gaf-1.8.2/symbols/io/out-1.sym0000664000175000017500000000042612204104272013672 00000000000000v 20031231 1 P 0 100 200 100 1 0 0 { T 150 150 5 6 0 1 0 0 1 pinnumber=1 T 150 150 5 6 0 0 0 0 1 pinseq=1 } L 200 100 600 100 6 0 0 0 -1 -1 L 600 100 500 200 6 0 0 0 -1 -1 L 600 100 500 0 6 0 0 0 -1 -1 T 0 300 5 10 0 0 0 0 1 device=OUTPUT T 0 300 8 10 1 1 0 0 1 refdes=pinlabel geda-gaf-1.8.2/symbols/io/output-2.sym0000664000175000017500000000077412204104272014432 00000000000000v 20031231 1 P 0 100 200 100 1 0 0 { T 150 150 5 10 0 1 0 6 1 pinnumber=1 T 250 350 9 10 0 0 0 0 1 pinlabel=OUTPUT T 250 550 5 10 0 0 0 0 1 pinseq=1 T 250 450 5 10 0 0 0 0 1 pintype=in } L 200 200 200 0 3 0 0 0 -1 -1 L 200 200 700 200 3 0 0 0 -1 -1 L 700 200 800 100 3 0 0 0 -1 -1 L 800 100 700 0 3 0 0 0 -1 -1 L 700 0 200 0 3 0 0 0 -1 -1 T 900 200 5 10 1 0 0 0 1 net=OUTPUT:1 T 200 700 5 10 0 0 0 0 1 device=none T 200 800 5 10 0 0 0 0 1 description=Output module port T 900 100 5 10 1 1 0 1 1 value=OUTPUT geda-gaf-1.8.2/symbols/io/TEC4x3-1.sym0000664000175000017500000000366112204104272014041 00000000000000v 20041228 1 B 0 300 3100 4200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 10500 -12025 5 10 0 0 0 0 1 device=TEC4x3 T 175 350 3 8 1 0 0 0 1 F1 P 200 0 200 300 1 0 0 { T 36 50 5 8 1 1 0 0 1 pinnumber=1 T 36 50 5 8 0 0 0 0 1 pinseq=1 } T 575 350 3 8 1 0 0 0 1 F2 P 700 0 700 300 1 0 0 { T 496 50 5 8 1 1 0 0 1 pinnumber=2 T 496 50 5 8 0 0 0 0 1 pinseq=2 } T 975 350 3 8 1 0 0 0 1 F3 P 1100 300 1100 0 1 0 1 { T 920 50 5 8 1 1 0 0 1 pinnumber=3 T 920 50 5 8 0 0 0 0 1 pinseq=3 } T 1375 350 3 8 1 0 0 0 1 F4 P 1500 0 1500 300 1 0 0 { T 1296 50 5 8 1 1 0 0 1 pinnumber=4 T 1296 50 5 8 0 0 0 0 1 pinseq=4 } T 1675 350 3 8 1 0 0 0 1 COL1 P 1900 300 1900 0 1 0 1 { T 1720 50 5 8 1 1 0 0 1 pinnumber=5 T 1720 50 5 8 0 0 0 0 1 pinseq=5 } T 2175 350 3 8 1 0 0 0 1 COL2 P 2300 300 2300 0 1 0 1 { T 2204 50 5 8 1 1 0 0 1 pinnumber=6 T 2204 50 5 8 0 0 0 0 1 pinseq=6 } T 2675 350 3 8 1 0 0 0 1 COL3 P 2800 300 2800 0 1 0 1 { T 2620 50 5 8 1 1 0 0 1 pinnumber=7 T 2620 50 5 8 0 0 0 0 1 pinseq=7 } B 300 3700 500 500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 1300 3700 500 500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 2300 3700 500 500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 300 2700 500 500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 1300 2700 500 500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 2300 2700 500 500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 300 1700 500 500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 1300 1700 500 500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 2300 1700 500 500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 300 700 500 500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 1300 700 500 500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 2300 700 500 500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 500 3900 9 10 1 0 0 0 1 1 T 1500 3900 9 10 1 0 0 0 1 2 T 2500 3900 9 10 1 0 0 0 1 3 T 500 2900 9 10 1 0 0 0 1 4 T 1500 2900 9 10 1 0 0 0 1 5 T 2500 2900 9 10 1 0 0 0 1 6 T 500 1900 9 10 1 0 0 0 1 7 T 1500 1900 9 10 1 0 0 0 1 8 T 2500 1900 9 10 1 0 0 0 1 9 T 1500 900 9 10 1 0 0 0 1 0 T 500 900 9 10 1 0 0 0 1 * T 2500 900 9 10 1 0 0 0 1 # B 200 600 2700 3700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/io/io-1.sym0000664000175000017500000000101612204104272013466 00000000000000v 20031231 1 P 0 100 200 100 1 0 0 { T 150 150 5 10 0 1 0 6 1 pinnumber=1 T 250 250 9 10 0 0 0 0 1 pinlabel=I/O T 250 450 5 10 0 0 0 0 1 pinseq=1 T 250 350 5 10 0 0 0 0 1 pintype=io } L 700 200 800 100 3 0 0 0 -1 -1 L 800 100 700 0 3 0 0 0 -1 -1 L 200 100 300 0 3 0 0 0 -1 -1 L 300 200 200 100 3 0 0 0 -1 -1 L 300 200 700 200 3 0 0 0 -1 -1 L 300 0 700 0 3 0 0 0 -1 -1 T 900 200 5 10 1 0 0 0 1 net=IO:1 T 200 600 5 10 0 0 0 0 1 device=none T 200 700 5 10 0 0 0 0 1 description=I/O module port T 900 100 5 10 1 1 0 1 1 value=IO geda-gaf-1.8.2/symbols/io/input-1.sym0000664000175000017500000000044012204104272014216 00000000000000v 20031231 1 P 600 100 800 100 1 0 1 { T 450 50 5 6 0 1 0 0 1 pinnumber=1 T 450 50 5 6 0 0 0 0 1 pinseq=1 } L 0 200 0 0 3 0 0 0 -1 -1 L 0 200 500 200 3 0 0 0 -1 -1 L 500 200 600 100 3 0 0 0 -1 -1 L 600 100 500 0 3 0 0 0 -1 -1 L 500 0 0 0 3 0 0 0 -1 -1 T 0 300 5 10 0 0 0 0 1 device=INPUT geda-gaf-1.8.2/symbols/io/output-1.sym0000664000175000017500000000045112204104272014421 00000000000000v 20031231 1 P 0 100 200 100 1 0 0 { T 250 50 5 6 0 1 0 0 1 pinnumber=1 T 250 50 5 6 0 0 0 0 1 pinseq=1 } L 200 200 200 0 3 0 0 0 -1 -1 L 200 200 700 200 3 0 0 0 -1 -1 L 700 200 800 100 3 0 0 0 -1 -1 L 800 100 700 0 3 0 0 0 -1 -1 L 700 0 200 0 3 0 0 0 -1 -1 T 100 300 5 10 0 0 0 0 1 device=OUTPUT geda-gaf-1.8.2/symbols/io/LCD-1.sym0000664000175000017500000000427112204104272013467 00000000000000v 20070626 1 B 300 0 3300 5300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1000 5575 8 10 0 0 0 0 1 device=LCD T 375 4800 3 8 1 0 0 0 1 VSS (GND) P 300 4800 0 4800 1 0 1 { T 136 4850 5 8 1 1 0 0 1 pinnumber=1 T 136 4850 5 8 0 0 0 0 1 pinseq=1 } T 375 4500 3 8 1 0 0 0 1 VDD (VCC) P 300 4500 0 4500 1 0 1 { T 96 4550 5 8 1 1 0 0 1 pinnumber=2 T 96 4550 5 8 0 0 0 0 1 pinseq=2 } T 375 4200 3 8 1 0 0 0 1 V0 P 300 4200 0 4200 1 0 1 { T 120 4250 5 8 1 1 0 0 1 pinnumber=3 T 120 4250 5 8 0 0 0 0 1 pinseq=3 } T 375 3900 3 8 1 0 0 0 1 RS P 300 3900 0 3900 1 0 1 { T 96 3950 5 8 1 1 0 0 1 pinnumber=4 T 96 3950 5 8 0 0 0 0 1 pinseq=4 } T 375 3600 3 8 1 0 0 0 1 R/\_W\_ P 300 3600 0 3600 1 0 1 { T 120 3650 5 8 1 1 0 0 1 pinnumber=5 T 120 3650 5 8 0 0 0 0 1 pinseq=5 } T 375 3300 3 8 1 0 0 0 1 E P 300 3300 0 3300 1 0 1 { T 104 3350 5 8 1 1 0 0 1 pinnumber=6 T 104 3350 5 8 0 0 0 0 1 pinseq=6 } T 350 3000 3 8 1 0 0 0 1 DB0 P 300 3000 0 3000 1 0 1 { T 120 3050 5 8 1 1 0 0 1 pinnumber=7 T 120 3050 5 8 0 0 0 0 1 pinseq=7 } T 350 2700 3 8 1 0 0 0 1 DB1 P 300 2700 0 2700 1 0 1 { T 112 2750 5 8 1 1 0 0 1 pinnumber=8 T 112 2750 5 8 0 0 0 0 1 pinseq=8 } T 350 2400 3 8 1 0 0 0 1 DB2 P 300 2400 0 2400 1 0 1 { T 96 2450 5 8 1 1 0 0 1 pinnumber=9 T 96 2450 5 8 0 0 0 0 1 pinseq=9 } T 350 2100 3 8 1 0 0 0 1 DB3 P 0 2100 300 2100 1 0 0 { T 100 2150 5 8 1 1 0 0 1 pinnumber=10 T 100 2150 5 8 0 0 0 0 1 pinseq=10 } T 350 1800 3 8 1 0 0 0 1 DB4 P 0 1800 300 1800 1 0 0 { T 100 1850 5 8 1 1 0 0 1 pinnumber=11 T 100 1850 5 8 0 0 0 0 1 pinseq=11 } T 350 1500 3 8 1 0 0 0 1 DB5 P 0 1500 300 1500 1 0 0 { T 100 1550 5 8 1 1 0 0 1 pinnumber=12 T 100 1550 5 8 0 0 0 0 1 pinseq=12 } T 350 1200 3 8 1 0 0 0 1 DB6 P 0 1200 300 1200 1 0 0 { T 100 1250 5 8 1 1 0 0 1 pinnumber=13 T 100 1250 5 8 0 0 0 0 1 pinseq=13 } T 350 900 3 8 1 0 0 0 1 DB7 P 0 900 300 900 1 0 0 { T 100 950 5 8 1 1 0 0 1 pinnumber=14 T 100 950 5 8 0 0 0 0 1 pinseq=14 } T 350 600 3 8 1 0 0 0 1 A P 0 600 300 600 1 0 0 { T 100 650 5 8 1 1 0 0 1 pinnumber=15 T 100 650 5 8 0 0 0 0 1 pinseq=15 } T 350 300 3 8 1 0 0 0 1 K P 0 300 300 300 1 0 0 { T 100 350 5 8 1 1 0 0 1 pinnumber=16 T 100 350 5 8 0 0 0 0 1 pinseq=16 } B 1300 200 2100 4800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2100 2800 9 15 1 0 0 0 1 LCD geda-gaf-1.8.2/symbols/io/input-2.sym0000664000175000017500000000100112204104272014211 00000000000000v 20031231 1 P 1200 100 1400 100 1 0 1 { T 1250 150 5 6 0 1 0 0 1 pinnumber=1 T 650 350 9 10 0 0 0 0 1 pinlabel=INPUT T 650 550 5 10 0 0 0 0 1 pinseq=1 T 650 450 5 10 0 0 0 0 1 pintype=out } L 600 200 600 0 3 0 0 0 -1 -1 L 600 200 1100 200 3 0 0 0 -1 -1 L 1100 200 1200 100 3 0 0 0 -1 -1 L 1200 100 1100 0 3 0 0 0 -1 -1 L 1100 0 600 0 3 0 0 0 -1 -1 T 0 200 5 10 1 0 0 0 1 net=INPUT:1 T 600 700 5 10 0 0 0 0 1 device=none T 600 800 5 10 0 0 0 0 1 description=Input module port T 500 100 5 10 1 1 0 7 1 value=INPUT geda-gaf-1.8.2/symbols/io/in-1.sym0000664000175000017500000000042312204104272013466 00000000000000v 20031231 1 P 400 100 600 100 1 0 1 { T 450 150 5 6 0 1 0 0 1 pinnumber=1 T 450 150 5 6 0 0 0 0 1 pinseq=1 } L 100 100 0 200 6 0 0 0 -1 -1 L 100 100 0 0 6 0 0 0 -1 -1 L 400 100 100 100 6 0 0 0 -1 -1 T 0 300 5 10 0 0 0 0 1 device=INPUT T 0 300 8 10 1 1 0 0 1 refdes=pinlabel geda-gaf-1.8.2/symbols/cascade/0000775000175000017500000000000012220655764013244 500000000000000geda-gaf-1.8.2/symbols/cascade/cascade-defaults-2.sym0000664000175000017500000000056212204104272017231 00000000000000v 20031231 1 B 0 0 4400 1500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 0 400 4400 400 3 0 0 0 -1 -1 T 100 1100 9 20 1 0 0 0 1 Cascade Defaults Block T 1800 3400 8 10 0 1 0 0 1 device=cascade-defaults-top T 100 100 8 10 1 1 0 0 1 refdes=DEFAULTS T 3400 100 8 10 0 1 0 0 1 net=GND:1 T 200 700 8 10 1 0 0 0 1 RIN=50 T 1600 700 8 10 1 0 0 0 1 ROUT=50 T 3200 700 8 10 1 0 0 0 1 RHO=0 geda-gaf-1.8.2/symbols/cascade/cascade-defaults-1.sym0000664000175000017500000000140212204104272017222 00000000000000v 20031231 1 T 525 950 8 8 0 0 0 0 1 device=cascade-defaults T 200 1100 8 10 1 1 0 0 1 refdes=DEF? P 200 400 0 400 1 0 1 { T 50 425 5 8 0 1 0 0 1 pinnumber=1 T 50 425 5 8 0 0 0 0 1 pinseq=1 T 200 400 5 10 0 1 0 0 1 pinlabel=IN T 200 400 5 10 0 1 0 0 1 pintype=in } P 1400 400 1600 400 1 0 1 { T 1475 425 5 8 0 1 0 0 1 pinnumber=2 T 1475 425 5 8 0 0 0 0 1 pinseq=2 T 1400 400 5 10 0 1 0 0 1 pinlabel=OUT T 1400 400 5 10 0 1 0 0 1 pintype=out } L 200 0 200 1000 3 0 0 0 -1 -1 L 200 1000 1400 1000 3 0 0 0 -1 -1 L 1400 0 200 0 3 0 0 0 -1 -1 L 1400 0 1400 1000 3 0 0 0 -1 -1 T 300 600 8 10 1 0 0 1 1 RIN=50 T 300 400 8 10 1 0 0 1 1 ROUT=50 T 300 200 8 10 1 0 0 1 1 RHO=0 T 800 900 9 10 1 0 0 4 1 DEFAULTS L 200 800 1400 800 3 0 0 0 -1 -1 T 0 0 8 10 0 1 0 0 1 footprint=none geda-gaf-1.8.2/symbols/cascade/cascade-source-1.sym0000664000175000017500000000127212204104272016720 00000000000000v 20031231 1 P 700 1000 500 1000 1 0 0 { T 500 1050 5 8 0 1 0 0 1 pinnumber=1 T 500 1050 5 8 0 0 0 0 1 pinseq=1 T 700 1000 5 10 0 0 0 0 1 pinlabel=OUT T 700 1000 5 10 0 1 0 0 1 pintype=out } V 250 1000 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T -1200 -100 5 10 0 0 0 0 1 device=cascade-source L 250 700 250 800 3 0 0 0 -1 -1 L 450 1000 500 1000 3 0 0 0 -1 -1 A 200 1000 50 0 180 3 0 0 0 -1 -1 A 300 1000 50 180 180 3 0 0 0 -1 -1 T 100 1300 8 10 1 1 0 0 1 refdes=SOURCE L 200 700 300 700 3 0 0 0 -1 -1 L 225 675 275 675 3 0 0 0 -1 -1 V 250 650 5 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T -700 200 8 10 0 1 0 0 1 footprint=none T 100 400 8 10 1 0 0 0 1 C=0 T 100 200 8 10 1 0 0 0 1 CN=0 T 100 0 8 10 1 0 0 0 1 BW=1 geda-gaf-1.8.2/symbols/cascade/cascade-mixer-1.sym0000664000175000017500000000143512204104272016545 00000000000000v 20040111 1 P 200 1200 0 1200 1 0 1 { T 150 1250 5 10 0 1 0 0 1 pinnumber=1 T 150 1250 5 10 0 0 0 0 1 pinseq=1 T 250 1150 5 10 1 1 0 0 1 pinlabel=IN T 200 1200 5 10 0 1 0 0 1 pintype=in } P 1200 1200 1400 1200 1 0 1 { T 1250 1250 5 10 0 1 0 0 1 pinnumber=2 T 1250 1250 5 10 0 0 0 0 1 pinseq=2 T 1150 1150 5 10 1 1 0 6 1 pinlabel=OUT T 1200 1200 5 10 0 1 0 0 1 pintype=out } T 500 1600 5 10 0 0 0 0 1 footprint=none T -1200 -150 8 10 0 1 0 0 1 device=cascade-mixer T 300 1800 8 10 1 1 0 0 1 refdes=MX? V 700 1200 500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 350 1550 1050 850 3 0 0 0 -1 -1 L 1050 1550 350 850 3 0 0 0 -1 -1 L 700 700 700 600 3 0 0 0 -1 -1 L 500 600 700 600 3 0 0 0 -1 -1 T 700 900 9 10 1 0 0 3 1 LO T 500 400 8 10 1 0 0 0 1 G=0 T 500 200 8 10 1 0 0 0 1 NF=0 T 500 0 8 10 1 0 0 0 1 IIP3=0 geda-gaf-1.8.2/symbols/cascade/cascade-filter-1.sym0000664000175000017500000000155112204104272016705 00000000000000v 20040111 1 B 200 400 900 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 800 0 800 1 0 1 { T 150 850 5 10 0 1 0 0 1 pinnumber=1 T 150 850 5 10 0 0 0 0 1 pinseq=1 T 250 750 5 10 1 1 0 0 1 pinlabel=I T 200 800 5 10 0 1 0 0 1 pintype=in } P 1100 800 1300 800 1 0 1 { T 1150 850 5 10 0 1 0 0 1 pinnumber=2 T 1150 850 5 10 0 0 0 0 1 pinseq=2 T 900 750 5 10 1 1 0 0 1 pinlabel=O T 1100 800 5 10 0 1 0 0 1 pintype=out } T 200 1500 5 10 0 0 0 0 1 footprint=none A 470 725 150 30 120 3 0 0 0 -1 -1 A 730 875 149 210 120 3 0 0 0 -1 -1 A 470 875 150 30 120 3 0 0 0 -1 -1 A 730 1025 150 210 120 3 0 0 0 -1 -1 A 470 575 150 30 120 3 0 0 0 -1 -1 A 730 725 150 210 120 3 0 0 0 -1 -1 L 550 900 650 1000 3 0 0 0 -1 -1 L 550 600 650 700 3 0 0 0 -1 -1 T -1800 -1350 8 10 0 1 0 0 1 device=cascade-filter T 300 1300 8 10 1 1 0 0 1 refdes=FL? T 400 200 8 10 1 0 0 0 1 G=0 T 400 0 8 10 1 0 0 0 1 NF=0 geda-gaf-1.8.2/symbols/cascade/cascade-transformer-1.sym0000664000175000017500000000270712204104272017766 00000000000000v 20031231 1 L 500 1900 200 1900 3 0 0 0 -1 -1 A 500 1800 100 270 180 3 0 0 0 -1 -1 A 500 1200 100 270 180 3 0 0 0 -1 -1 A 500 1000 100 270 180 3 0 0 0 -1 -1 L 500 900 200 900 3 0 0 0 -1 -1 L 1000 900 1300 900 3 0 0 0 -1 -1 A 1000 1000 100 90 180 3 0 0 0 -1 -1 A 1000 1200 100 90 180 3 0 0 0 -1 -1 A 1000 1800 100 90 180 3 0 0 0 -1 -1 L 1000 1900 1300 1900 3 0 0 0 -1 -1 L 700 2000 700 800 3 0 0 0 -1 -1 L 800 2000 800 800 3 0 0 0 -1 -1 P 200 1900 0 1900 1 0 1 { T 100 1950 5 8 0 1 0 0 1 pinnumber=1 T 100 1950 5 8 0 0 0 0 1 pinseq=1 T 200 1900 5 10 0 1 0 0 1 pinlabel=1 T 200 1900 5 10 0 1 0 0 1 pintype=in } P 1500 1900 1300 1900 1 0 0 { T 1400 1950 5 8 0 1 0 0 1 pinnumber=2 T 1400 1950 5 8 0 0 0 0 1 pinseq=2 T 1500 1900 5 10 0 1 0 0 1 pinlabel=2 T 1500 1900 5 10 0 1 0 0 1 pintype=out } T 300 2050 8 10 1 1 0 0 1 refdes=T? T -1300 450 8 10 0 0 0 0 1 device=cascade-transformer A 500 1600 100 270 180 3 0 0 0 -1 -1 A 500 1400 100 270 180 3 0 0 0 -1 -1 A 1000 1600 100 90 180 3 0 0 0 -1 -1 A 1000 1400 100 90 180 3 0 0 0 -1 -1 L 200 750 200 900 3 0 0 0 -1 -1 L 150 750 250 750 3 0 0 0 -1 -1 L 175 725 225 725 3 0 0 0 -1 -1 V 200 700 5 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 1300 750 1300 900 3 0 0 0 -1 -1 L 1250 750 1350 750 3 0 0 0 -1 -1 L 1275 725 1325 725 3 0 0 0 -1 -1 V 1300 700 5 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T -300 1200 8 10 0 1 0 0 1 footprint=none T 600 600 8 10 1 0 0 0 1 G=0 T 600 400 8 10 1 0 0 0 1 NF=0 T 600 200 8 10 1 0 0 0 1 RIN=50 T 600 0 8 10 1 0 0 0 1 ROUT=50 geda-gaf-1.8.2/symbols/cascade/cascade-source-2.sym0000664000175000017500000000122012204104272016712 00000000000000v 20031231 1 P 700 800 500 800 1 0 0 { T 500 850 5 8 0 1 0 0 1 pinnumber=1 T 500 850 5 8 0 0 0 0 1 pinseq=1 T 700 800 5 10 0 0 0 0 1 pinlabel=OUT T 700 800 5 10 0 1 0 0 1 pintype=out } V 250 800 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T -1200 -300 5 10 0 0 0 0 1 device=cascade-source L 250 500 250 600 3 0 0 0 -1 -1 L 450 800 500 800 3 0 0 0 -1 -1 A 200 800 50 0 180 3 0 0 0 -1 -1 A 300 800 50 180 180 3 0 0 0 -1 -1 T 100 1100 8 10 1 1 0 0 1 refdes=SOURCE L 200 500 300 500 3 0 0 0 -1 -1 L 225 475 275 475 3 0 0 0 -1 -1 V 250 450 5 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T -700 0 8 10 0 1 0 0 1 footprint=none T 100 200 8 10 1 0 0 0 1 C=0 T 100 0 8 10 1 0 0 0 1 CN0=0 geda-gaf-1.8.2/symbols/cascade/cascade-amp-1.sym0000664000175000017500000000122512204104272016173 00000000000000v 20031231 1 T -75 550 8 8 0 0 0 0 1 device=cascade-amp T 200 1400 8 10 1 1 0 0 1 refdes=AMP? P 200 900 0 900 1 0 1 { T 50 925 5 8 0 1 0 0 1 pinnumber=1 T 50 925 5 8 0 0 0 0 1 pinseq=1 T 200 900 5 10 0 1 0 0 1 pinlabel=IN T 200 900 5 10 0 1 0 0 1 pintype=in } P 800 900 1000 900 1 0 1 { T 875 925 5 8 0 1 0 0 1 pinnumber=2 T 875 925 5 8 0 0 0 0 1 pinseq=2 T 800 900 5 10 0 1 0 0 1 pinlabel=OUT T 800 900 5 10 0 1 0 0 1 pintype=out } L 200 500 200 1300 3 0 0 0 -1 -1 L 200 1300 800 900 3 0 0 0 -1 -1 L 800 900 200 500 3 0 0 0 -1 -1 T -400 300 8 10 0 1 0 0 1 footprint=none T 300 400 8 10 1 0 0 0 1 G=0 T 300 200 8 10 1 0 0 0 1 NF=0 T 300 0 8 10 1 0 0 0 1 IIP3=0 geda-gaf-1.8.2/symbols/micro/0000775000175000017500000000000012220655765012773 500000000000000geda-gaf-1.8.2/symbols/micro/pic16F877A-1.sym0000664000175000017500000001743312204104272015172 00000000000000v 20070626 1 P 100 7200 300 7200 1 0 0 { T 300 7250 5 8 1 1 0 6 1 pinnumber=1 T 300 7150 5 8 0 1 0 8 1 pinseq=1 T 450 7200 9 8 1 1 0 0 1 pinlabel=\_MCLR\_/VPP T 450 7200 5 8 0 1 0 2 1 pintype=in } P 100 6800 400 6800 1 0 0 { T 300 6850 5 8 1 1 0 6 1 pinnumber=2 T 300 6750 5 8 0 1 0 8 1 pinseq=2 T 450 6800 9 8 1 1 0 0 1 pinlabel=RA0/AN0 T 450 6800 5 8 0 1 0 2 1 pintype=io } P 100 6400 400 6400 1 0 0 { T 300 6450 5 8 1 1 0 6 1 pinnumber=3 T 300 6350 5 8 0 1 0 8 1 pinseq=3 T 450 6400 9 8 1 1 0 0 1 pinlabel=RA1/AN1 T 450 6400 5 8 0 1 0 2 1 pintype=io } P 100 6000 400 6000 1 0 0 { T 300 6050 5 8 1 1 0 6 1 pinnumber=4 T 300 5950 5 8 0 1 0 8 1 pinseq=4 T 450 6000 9 8 1 1 0 0 1 pinlabel=RA2/AN2/Vref-/CVref T 450 6000 5 8 0 1 0 2 1 pintype=io } P 100 5600 400 5600 1 0 0 { T 300 5650 5 8 1 1 0 6 1 pinnumber=5 T 300 5550 5 8 0 1 0 8 1 pinseq=5 T 450 5600 9 8 1 1 0 0 1 pinlabel=RA/AN3/Vref+ T 450 5600 5 8 0 1 0 2 1 pintype=io } P 100 5200 400 5200 1 0 0 { T 300 5250 5 8 1 1 0 6 1 pinnumber=6 T 300 5150 5 8 0 1 0 8 1 pinseq=6 T 450 5200 9 8 1 1 0 0 1 pinlabel=RA4/TOCKI/C1OUT T 450 5200 5 8 0 1 0 2 1 pintype=io } P 100 4800 400 4800 1 0 0 { T 300 4850 5 8 1 1 0 6 1 pinnumber=7 T 300 4750 5 8 0 1 0 8 1 pinseq=7 T 450 4800 9 8 1 1 0 0 1 pinlabel=RA5/AN4/\_SS\_/C2OUT T 450 4800 5 8 0 1 0 2 1 pintype=io } P 100 400 400 400 1 0 0 { T 300 450 5 8 1 1 0 6 1 pinnumber=8 T 300 350 5 8 0 1 0 8 1 pinseq=8 T 450 400 9 8 1 1 0 0 1 pinlabel=RE0/\_RD\_/AN5 T 450 400 5 8 0 1 0 2 1 pintype=io } P 4300 1200 4600 1200 1 0 1 { T 4400 1250 5 8 1 1 0 0 1 pinnumber=9 T 4400 1150 5 8 0 1 0 2 1 pinseq=9 T 4250 1200 9 8 1 1 0 6 1 pinlabel=RE1/\_WR\_/AN6 T 4250 1200 5 8 0 1 0 8 1 pintype=io } P 4300 1600 4600 1600 1 0 1 { T 4400 1650 5 8 1 1 0 0 1 pinnumber=10 T 4400 1550 5 8 0 1 0 2 1 pinseq=10 T 4250 1600 9 8 1 1 0 6 1 pinlabel=RE2/\_CS\_/AN7 T 4250 1600 5 8 0 1 0 8 1 pintype=io } P 100 4400 400 4400 1 0 0 { T 300 4450 5 8 1 1 0 6 1 pinnumber=13 T 300 4350 5 8 0 1 0 8 1 pinseq=13 T 475 4400 9 8 1 1 0 0 1 pinlabel=OSC1/CLKIN T 450 4400 5 8 0 1 0 2 1 pintype=in } P 100 4000 400 4000 1 0 0 { T 300 4050 5 8 1 1 0 6 1 pinnumber=14 T 300 3950 5 8 0 1 0 8 1 pinseq=14 T 450 4000 9 8 1 1 0 0 1 pinlabel=OSC2/CLKOUT T 450 4000 5 8 0 1 0 2 1 pintype=out } P 4300 8000 4600 8000 1 0 1 { T 4400 8050 5 8 1 1 0 0 1 pinnumber=15 T 4400 7950 5 8 0 1 0 2 1 pinseq=15 T 4250 8000 9 8 1 1 0 6 1 pinlabel=RC0/T1OSO/T1CKI T 4250 8000 5 8 0 1 0 8 1 pintype=io } P 4300 7600 4600 7600 1 0 1 { T 4400 7650 5 8 1 1 0 0 1 pinnumber=16 T 4400 7550 5 8 0 1 0 2 1 pinseq=16 T 4250 7600 9 8 1 1 0 6 1 pinlabel=RC1/T1OSI/CCP2 T 4250 7600 5 8 0 1 0 8 1 pintype=io } P 4300 7200 4600 7200 1 0 1 { T 4400 7250 5 8 1 1 0 0 1 pinnumber=17 T 4400 7150 5 8 0 1 0 2 1 pinseq=17 T 4250 7200 9 8 1 1 0 6 1 pinlabel=RC2/CCP1 T 4250 7200 5 8 0 1 0 8 1 pintype=io } P 4300 6800 4600 6800 1 0 1 { T 4400 6850 5 8 1 1 0 0 1 pinnumber=18 T 4400 6750 5 8 0 1 0 2 1 pinseq=18 T 4250 6800 9 8 1 1 0 6 1 pinlabel=RC3/SCK/SCL T 4250 6800 5 8 0 1 0 8 1 pintype=io } P 4300 4800 4600 4800 1 0 1 { T 4400 4850 5 8 1 1 0 0 1 pinnumber=19 T 4400 4750 5 8 0 1 0 2 1 pinseq=19 T 4250 4800 9 8 1 1 0 6 1 pinlabel=RD0/PSP0 T 4250 4800 5 8 0 1 0 8 1 pintype=io } P 4300 4400 4600 4400 1 0 1 { T 4400 4450 5 8 1 1 0 0 1 pinnumber=20 T 4400 4350 5 8 0 1 0 2 1 pinseq=20 T 4250 4400 9 8 1 1 0 6 1 pinlabel=RD1/PSP1 T 4250 4400 5 8 0 1 0 8 1 pintype=io } P 100 800 400 800 1 0 0 { T 300 850 5 8 1 1 0 6 1 pinnumber=40 T 300 750 5 8 0 1 0 8 1 pinseq=40 T 450 800 9 8 1 1 0 0 1 pinlabel=RB7/PGD T 450 800 5 8 0 1 0 2 1 pintype=io } P 100 1200 400 1200 1 0 0 { T 300 1250 5 8 1 1 0 6 1 pinnumber=39 T 300 1150 5 8 0 1 0 8 1 pinseq=39 T 450 1200 9 8 1 1 0 0 1 pinlabel=RB6/PGC T 450 1200 5 8 0 1 0 2 1 pintype=io } P 100 1600 400 1600 1 0 0 { T 300 1650 5 8 1 1 0 6 1 pinnumber=38 T 300 1550 5 8 0 1 0 8 1 pinseq=38 T 450 1600 9 8 1 1 0 0 1 pinlabel=RB5 T 450 1600 5 8 0 1 0 2 1 pintype=io } P 100 2000 400 2000 1 0 0 { T 300 2050 5 8 1 1 0 6 1 pinnumber=37 T 300 1950 5 8 0 1 0 8 1 pinseq=37 T 450 2000 9 8 1 1 0 0 1 pinlabel=RB4 T 450 2000 5 8 0 1 0 2 1 pintype=io } P 100 2400 400 2400 1 0 0 { T 300 2450 5 8 1 1 0 6 1 pinnumber=36 T 300 2350 5 8 0 1 0 8 1 pinseq=36 T 450 2400 9 8 1 1 0 0 1 pinlabel=RB3/PGM T 450 2400 5 8 0 1 0 2 1 pintype=io } P 100 2800 400 2800 1 0 0 { T 300 2850 5 8 1 1 0 6 1 pinnumber=35 T 300 2750 5 8 0 1 0 8 1 pinseq=35 T 450 2800 9 8 1 1 0 0 1 pinlabel=RB2 T 450 2800 5 8 0 1 0 2 1 pintype=io } P 100 3200 400 3200 1 0 0 { T 300 3250 5 8 1 1 0 6 1 pinnumber=34 T 300 3150 5 8 0 1 0 8 1 pinseq=34 T 450 3200 9 8 1 1 0 0 1 pinlabel=RB1 T 450 3200 5 8 0 1 0 2 1 pintype=io } P 100 3600 400 3600 1 0 0 { T 300 3650 5 8 1 1 0 6 1 pinnumber=33 T 300 3550 5 8 0 1 0 8 1 pinseq=33 T 450 3600 9 8 1 1 0 0 1 pinlabel=RB0/INT T 450 3600 5 8 0 1 0 2 1 pintype=io } P 4300 2000 4600 2000 1 0 1 { T 4400 2050 5 8 1 1 0 0 1 pinnumber=30 T 4400 1950 5 8 0 1 0 2 1 pinseq=30 T 4250 2000 9 8 1 1 0 6 1 pinlabel=RD7/PSP7 T 4250 2000 5 8 0 1 0 8 1 pintype=io } P 4300 2400 4600 2400 1 0 1 { T 4400 2450 5 8 1 1 0 0 1 pinnumber=29 T 4400 2350 5 8 0 1 0 2 1 pinseq=29 T 4250 2400 9 8 1 1 0 6 1 pinlabel=RD6/PSP6 T 4250 2400 5 8 0 1 0 8 1 pintype=io } P 4300 2800 4600 2800 1 0 1 { T 4400 2850 5 8 1 1 0 0 1 pinnumber=28 T 4400 2750 5 8 0 1 0 2 1 pinseq=28 T 4250 2800 9 8 1 1 0 6 1 pinlabel=RD5/PSP5 T 4250 2800 5 8 0 1 0 8 1 pintype=io } P 4300 3200 4600 3200 1 0 1 { T 4400 3250 5 8 1 1 0 0 1 pinnumber=27 T 4400 3150 5 8 0 1 0 2 1 pinseq=27 T 4250 3200 9 8 1 1 0 6 1 pinlabel=RD4/PSP4 T 4250 3200 5 8 0 1 0 8 1 pintype=io } P 4300 5200 4600 5200 1 0 1 { T 4400 5250 5 8 1 1 0 0 1 pinnumber=26 T 4400 5150 5 8 0 1 0 2 1 pinseq=26 T 4250 5200 9 8 1 1 0 6 1 pinlabel=RC7/RX/DT T 4250 5200 5 8 0 1 0 8 1 pintype=io } P 4300 5600 4600 5600 1 0 1 { T 4400 5650 5 8 1 1 0 0 1 pinnumber=25 T 4400 5550 5 8 0 1 0 2 1 pinseq=25 T 4250 5600 9 8 1 1 0 6 1 pinlabel=RC6/TX/CK T 4250 5600 5 8 0 1 0 8 1 pintype=io } P 4300 4000 4600 4000 1 0 1 { T 4400 4050 5 8 1 1 0 0 1 pinnumber=21 T 4400 3950 5 8 0 1 0 2 1 pinseq=21 T 4250 4000 9 8 1 1 0 6 1 pinlabel=RD2/PSP2 T 4250 4000 5 8 0 1 0 8 1 pintype=io } P 4300 3600 4600 3600 1 0 1 { T 4400 3650 5 8 1 1 0 0 1 pinnumber=22 T 4400 3550 5 8 0 1 0 2 1 pinseq=22 T 4250 3600 9 8 1 1 0 6 1 pinlabel=RD3/PSP3 T 4250 3600 5 8 0 1 0 8 1 pintype=io } P 4300 6400 4600 6400 1 0 1 { T 4400 6450 5 8 1 1 0 0 1 pinnumber=23 T 4400 6350 5 8 0 1 0 2 1 pinseq=23 T 4250 6400 9 8 1 1 0 6 1 pinlabel=RC4/SDI/SDA T 4250 6400 5 8 0 1 0 8 1 pintype=io } P 4300 6000 4600 6000 1 0 1 { T 4400 6050 5 8 1 1 0 0 1 pinnumber=24 T 4400 5950 5 8 0 1 0 2 1 pinseq=24 T 4250 6000 9 8 1 1 0 6 1 pinlabel=RC5/SDO T 4250 6000 5 8 0 1 0 8 1 pintype=io } B 400 0 3900 8400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 8650 5 10 0 0 0 0 1 device=PIC16F877A T 4300 8500 8 10 1 1 0 6 1 refdes=U? P 4300 800 4600 800 1 0 1 { T 4400 850 5 8 1 1 0 0 1 pinnumber=12 T 4400 750 5 8 0 1 0 2 1 pinseq=12 T 4250 800 9 8 1 1 0 6 1 pinlabel=Vss T 4250 800 5 8 0 1 0 8 1 pintype=pwr } P 100 8000 400 8000 1 0 0 { T 300 8050 5 8 1 1 0 6 1 pinnumber=11 T 300 7950 5 8 0 1 0 8 1 pinseq=11 T 450 8000 9 8 1 1 0 0 1 pinlabel=Vdd T 450 8000 5 8 0 1 0 2 1 pintype=pwr } P 4300 400 4600 400 1 0 1 { T 4400 450 5 8 1 1 0 0 1 pinnumber=31 T 4400 350 5 8 0 1 0 2 1 pinseq=31 T 4250 400 9 8 1 1 0 6 1 pinlabel=Vss T 4250 400 5 8 0 1 0 8 1 pintype=pwr } P 100 7600 400 7600 1 0 0 { T 300 7650 5 8 1 1 0 6 1 pinnumber=32 T 300 7550 5 8 0 1 0 8 1 pinseq=32 T 450 7600 9 8 1 1 0 0 1 pinlabel=Vdd T 450 7600 5 8 0 1 0 2 1 pintype=pwr } L 400 4325 475 4400 3 0 0 0 -1 -1 L 475 4400 400 4475 3 0 0 0 -1 -1 V 350 7200 51 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 9050 5 10 0 0 0 0 1 footprint=DIP40 T 400 9250 5 10 0 0 0 0 1 description=8-bit CMOS FLASH microcontroller T 400 8850 5 10 0 0 0 0 1 numslots=0 T 400 9450 5 10 0 0 0 0 1 documentation=http://www.microchip.com/download/lit/pline/picmicro/families/16f87x/39582b.pdf T 400 8450 9 10 1 0 180 8 1 PIC16F877A geda-gaf-1.8.2/symbols/micro/ATmega16L-1.sym0000664000175000017500000001763712204104272015222 00000000000000v 20070626 1 T 3000 8600 8 10 1 1 0 6 1 refdes=U? T 400 8750 8 10 0 0 0 0 1 device=ATmega16L_DIP T 400 8950 8 10 0 0 0 0 1 footprint=DIP40 T 400 9150 8 10 0 0 0 0 1 net=GND:20 T 400 9350 8 10 0 0 0 0 1 net=Vcc:40 P 100 2100 400 2100 1 0 0 { T 300 2150 5 8 1 1 0 6 1 pinnumber=16 T 450 2100 9 8 1 1 0 0 1 pinlabel=PD2 (INT0) T 450 2100 5 8 0 1 0 2 1 pintype=io T 100 2100 5 10 0 1 0 0 1 pinseq=16 } P 100 2500 400 2500 1 0 0 { T 300 2550 5 8 1 1 0 6 1 pinnumber=15 T 450 2500 9 8 1 1 0 0 1 pinlabel=PD1 (TXD) T 450 2500 5 8 0 1 0 2 1 pintype=io T 100 2500 5 10 0 1 0 0 1 pinseq=15 } P 100 2900 400 2900 1 0 0 { T 300 2950 5 8 1 1 0 6 1 pinnumber=14 T 450 2900 9 8 1 1 0 0 1 pinlabel=PD0 (RXD) T 450 2900 5 8 0 1 0 2 1 pintype=io T 100 2900 5 10 0 1 0 0 1 pinseq=14 } P 100 3300 400 3300 1 0 0 { T 300 3350 5 8 1 1 0 6 1 pinnumber=13 T 450 3300 9 8 1 1 0 0 1 pinlabel=XTAL1 T 450 3300 5 8 0 1 0 2 1 pintype=io T 100 3300 5 10 0 1 0 0 1 pinseq=13 } P 100 3700 400 3700 1 0 0 { T 300 3750 5 8 1 1 0 6 1 pinnumber=12 T 450 3700 9 8 1 1 0 0 1 pinlabel=XTAL2 T 450 3700 5 8 0 1 0 2 1 pintype=io T 100 3700 5 10 0 1 0 0 1 pinseq=12 } P 100 4100 400 4100 1 0 0 { T 450 4100 9 8 1 1 0 0 1 pinlabel=GND T 450 4100 5 8 0 1 0 2 1 pintype=pwr T 144 4109 5 10 1 1 0 0 1 pinnumber=11 T 100 4100 5 10 0 1 0 0 1 pinseq=11 } P 100 4500 400 4500 1 0 0 { T 300 4550 5 8 1 1 0 6 1 pinnumber=10 T 450 4500 9 8 1 1 0 0 1 pinlabel=VCC T 450 4500 5 8 0 1 0 2 1 pintype=pwr T 100 4500 5 10 0 1 0 0 1 pinseq=10 } P 100 5300 400 5300 1 0 0 { T 300 5350 5 8 1 1 0 6 1 pinnumber=8 T 300 5250 5 8 0 1 0 8 1 pinseq=8 T 450 5300 9 8 1 1 0 0 1 pinlabel=PB7 (SCK) T 450 5300 5 8 0 1 0 2 1 pintype=io } P 100 5700 400 5700 1 0 0 { T 300 5750 5 8 1 1 0 6 1 pinnumber=7 T 300 5650 5 8 0 1 0 8 1 pinseq=7 T 450 5700 9 8 1 1 0 0 1 pinlabel=PB6 (MISO) T 450 5700 5 8 0 1 0 2 1 pintype=io } P 100 6100 400 6100 1 0 0 { T 300 6150 5 8 1 1 0 6 1 pinnumber=6 T 300 6050 5 8 0 1 0 8 1 pinseq=6 T 450 6100 9 8 1 1 0 0 1 pinlabel=PB5 (MOSI) T 450 6100 5 8 0 1 0 2 1 pintype=io } P 100 6500 400 6500 1 0 0 { T 300 6550 5 8 1 1 0 6 1 pinnumber=5 T 300 6450 5 8 0 1 0 8 1 pinseq=5 T 450 6500 9 8 1 1 0 0 1 pinlabel=PB4 (\_SS\_) T 450 6500 5 8 0 1 0 2 1 pintype=io } P 100 6900 400 6900 1 0 0 { T 300 6950 5 8 1 1 0 6 1 pinnumber=4 T 450 6900 9 8 1 1 0 0 1 pinlabel=PB3 (OC0/AIN1) T 450 6900 5 8 0 1 0 2 1 pintype=io T 100 6900 5 10 0 1 0 0 1 pinseq=4 } P 100 7300 400 7300 1 0 0 { T 300 7350 5 8 1 1 0 6 1 pinnumber=3 T 450 7300 9 8 1 1 0 0 1 pinlabel=PB2 (INT2/AIN0) T 450 7300 5 8 0 1 0 2 1 pintype=io T 102 7302 5 10 0 1 0 0 1 pinseq=3 } P 100 7700 400 7700 1 0 0 { T 300 7750 5 8 1 1 0 6 1 pinnumber=2 T 450 7700 9 8 1 1 0 0 1 pinlabel=PB1 (T1) T 450 7700 5 8 0 1 0 2 1 pintype=io T 100 7700 5 10 0 1 0 0 1 pinseq=2 } P 100 8100 400 8100 1 0 0 { T 300 8150 5 8 1 1 0 6 1 pinnumber=1 T 450 8100 9 8 1 1 0 0 1 pinlabel=PB0 (XCK/T0) T 450 8100 5 8 0 1 0 2 1 pintype=io T 102 8104 5 10 0 1 0 0 1 pinseq=1 } P 3300 500 3000 500 1 0 0 { T 3100 550 5 8 1 1 0 0 1 pinnumber=21 T 2950 500 9 8 1 1 0 6 1 pinlabel=(OC2) PD7 T 2950 500 5 8 0 1 0 8 1 pintype=io T 3300 500 5 10 0 1 0 0 1 pinseq=21 } P 3300 900 3000 900 1 0 0 { T 3100 950 5 8 1 1 0 0 1 pinnumber=22 T 2950 900 9 8 1 1 0 6 1 pinlabel=(SCL) PC0 T 2950 900 5 8 0 1 0 8 1 pintype=io T 3300 900 5 10 0 1 0 0 1 pinseq=22 } P 3300 1300 3000 1300 1 0 0 { T 3100 1350 5 8 1 1 0 0 1 pinnumber=23 T 2950 1300 9 8 1 1 0 6 1 pinlabel=(SDA) PC1 T 2950 1300 5 8 0 1 0 8 1 pintype=io T 3300 1300 5 10 0 1 0 0 1 pinseq=23 } P 3300 5300 3000 5300 1 0 0 { T 3100 5350 5 8 1 1 0 0 1 pinnumber=33 T 2950 5300 9 8 1 1 0 6 1 pinlabel=(AD7) PA7 T 2950 5300 5 8 0 1 0 8 1 pintype=io T 3300 5300 5 10 0 1 0 0 1 pinseq=33 } P 3300 5700 3000 5700 1 0 0 { T 3100 5750 5 8 1 1 0 0 1 pinnumber=34 T 2950 5700 9 8 1 1 0 6 1 pinlabel=(AD6) PA6 T 2950 5700 5 8 0 1 0 8 1 pintype=io T 3300 5700 5 10 0 1 0 0 1 pinseq=34 } P 3300 6100 3000 6100 1 0 0 { T 3100 6150 5 8 1 1 0 0 1 pinnumber=35 T 2950 6100 9 8 1 1 0 6 1 pinlabel=(AD5) PA5 T 2950 6100 5 8 0 1 0 8 1 pintype=io T 3300 6100 5 10 0 1 0 0 1 pinseq=35 } P 3300 6500 3000 6500 1 0 0 { T 3100 6550 5 8 1 1 0 0 1 pinnumber=36 T 2950 6500 9 8 1 1 0 6 1 pinlabel=(AD4) PA4 T 2950 6500 5 8 0 1 0 8 1 pintype=io T 3300 6500 5 10 0 1 0 0 1 pinseq=36 } P 3300 6900 3000 6900 1 0 0 { T 3100 6950 5 8 1 1 0 0 1 pinnumber=37 T 2950 6900 9 8 1 1 0 6 1 pinlabel=(AD3) PA3 T 2950 6900 5 8 0 1 0 8 1 pintype=io T 3300 6900 5 10 0 1 0 0 1 pinseq=37 } P 3300 7300 3000 7300 1 0 0 { T 3100 7350 5 8 1 1 0 0 1 pinnumber=38 T 2950 7300 9 8 1 1 0 6 1 pinlabel=(AD2) PA2 T 2950 7300 5 8 0 1 0 8 1 pintype=io T 3300 7300 5 10 0 1 0 0 1 pinseq=38 } P 3300 7700 3000 7700 1 0 0 { T 3100 7750 5 8 1 1 0 0 1 pinnumber=39 T 2950 7700 9 8 1 1 0 6 1 pinlabel=(AD1) PA1 T 2950 7700 5 8 0 1 0 8 1 pintype=io T 3300 7700 5 10 0 1 0 0 1 pinseq=39 } P 3300 8100 3000 8100 1 0 0 { T 3100 8150 5 8 1 1 0 0 1 pinnumber=40 T 2950 8100 9 8 1 1 0 6 1 pinlabel=(AD0) PA0 T 2950 8100 5 8 0 1 0 8 1 pintype=io T 3300 8100 5 10 0 1 0 0 1 pinseq=40 } B 400 100 2600 8400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 9550 8 10 0 0 0 0 1 description=8-bit RISC micro controller (Atmel) T 400 9750 8 10 0 0 0 0 1 numslots=0 T 400 9950 8 10 0 0 0 0 1 author=Werner Hoch T 400 8550 9 10 1 0 0 0 1 ATmega16L P 100 4900 300 4900 1 0 0 { T 300 4950 5 8 1 1 0 6 1 pinnumber=9 T 450 4900 9 8 1 1 0 0 1 pinlabel=\_RESET\_ T 450 4900 5 8 0 1 0 2 1 pintype=in T 100 4900 5 10 0 1 0 0 1 pinseq=9 } P 100 1700 400 1700 1 0 0 { T 300 1750 5 8 1 1 0 6 1 pinnumber=17 T 450 1700 9 8 1 1 0 0 1 pinlabel=PD3 (INT1) T 450 1700 5 8 0 1 0 2 1 pintype=io T 100 1700 5 10 0 1 0 0 1 pinseq=17 } P 100 1300 400 1300 1 0 0 { T 300 1350 5 8 1 1 0 6 1 pinnumber=18 T 450 1300 9 8 1 1 0 0 1 pinlabel=PD4 (OC1B) T 450 1300 5 8 0 1 0 2 1 pintype=io T 100 1300 5 10 0 1 0 0 1 pinseq=18 } P 100 900 400 900 1 0 0 { T 300 950 5 8 1 1 0 6 1 pinnumber=19 T 450 900 9 8 1 1 0 0 1 pinlabel=PD5 (OC1A) T 450 900 5 8 0 1 0 2 1 pintype=io T 100 900 5 10 0 1 0 0 1 pinseq=19 } P 100 500 400 500 1 0 0 { T 300 550 5 8 1 1 0 6 1 pinnumber=20 T 450 500 9 8 1 1 0 0 1 pinlabel=PD6 (ICP) T 450 500 5 8 0 1 0 2 1 pintype=io T 100 500 5 10 0 1 0 0 1 pinseq=20 } P 3300 1700 3000 1700 1 0 0 { T 3100 1750 5 8 1 1 0 0 1 pinnumber=24 T 2950 1700 9 8 1 1 0 6 1 pinlabel=(TCK) PC2 T 2950 1700 5 8 0 1 0 8 1 pintype=io T 3300 1700 5 10 0 1 0 0 1 pinseq=24 } P 3300 2100 3000 2100 1 0 0 { T 3100 2150 5 8 1 1 0 0 1 pinnumber=25 T 2950 2100 9 8 1 1 0 6 1 pinlabel=(TMS) PC3 T 2950 2100 5 8 0 1 0 8 1 pintype=io T 3300 2100 5 10 0 1 0 0 1 pinseq=25 } P 3300 2500 3000 2500 1 0 0 { T 3100 2550 5 8 1 1 0 0 1 pinnumber=26 T 2950 2500 9 8 1 1 0 6 1 pinlabel=(TDO) PC4 T 2950 2500 5 8 0 1 0 8 1 pintype=io T 3300 2500 5 10 0 1 0 0 1 pinseq=26 } P 3300 2900 3000 2900 1 0 0 { T 3100 2950 5 8 1 1 0 0 1 pinnumber=27 T 2950 2900 9 8 1 1 0 6 1 pinlabel=(TDI) PC5 T 2950 2900 5 8 0 1 0 8 1 pintype=io T 3300 2900 5 10 0 1 0 0 1 pinseq=27 } P 3300 3300 3000 3300 1 0 0 { T 3100 3350 5 8 1 1 0 0 1 pinnumber=28 T 2950 3300 9 8 1 1 0 6 1 pinlabel=(TOSC1) PC6 T 2950 3300 5 8 0 1 0 8 1 pintype=io T 3300 3300 5 10 0 1 0 0 1 pinseq=28 } P 3300 3700 3000 3700 1 0 0 { T 3100 3750 5 8 1 1 0 0 1 pinnumber=29 T 2950 3700 9 8 1 1 0 6 1 pinlabel=(TOSC2) PC7 T 2950 3700 5 8 0 1 0 8 1 pintype=io T 3300 3700 5 10 0 1 0 0 1 pinseq=29 } P 3300 4100 3000 4100 1 0 0 { T 3100 4150 5 8 1 1 0 0 1 pinnumber=30 T 2950 4100 9 8 1 1 0 6 1 pinlabel=AVCC T 2950 4100 5 8 0 1 0 8 1 pintype=pwr T 3300 4100 5 10 0 1 0 0 1 pinseq=30 } P 3300 4500 3000 4500 1 0 0 { T 3100 4550 5 8 1 1 0 0 1 pinnumber=31 T 2950 4500 9 8 1 1 0 6 1 pinlabel=GND T 2950 4500 5 8 0 1 0 8 1 pintype=pwr T 3300 4500 5 10 0 1 0 0 1 pinseq=31 } P 3300 4900 3000 4900 1 0 0 { T 3100 4950 5 8 1 1 0 0 1 pinnumber=32 T 2950 4900 9 8 1 1 0 6 1 pinlabel=AREF T 2950 4900 5 8 0 1 0 8 1 pintype=in T 3300 4900 5 10 0 1 0 0 1 pinseq=32 } T 400 10150 8 10 0 0 0 0 1 symversion=2.0 T 400 10350 8 10 0 0 0 0 1 documentation=http://www.atmel.com/dyn/resources/prod_documents/doc2466.pdf V 350 4900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/micro/pic12c5xx-1.sym0000664000175000017500000000311512204104272015311 00000000000000v 20041228 1 T 2600 1300 8 10 1 1 180 0 1 refdes=U? T 300 1340 5 10 0 0 0 0 1 device=PIC12C5xx T 300 1550 5 10 0 0 0 0 1 footprint=DIP8 T 300 1750 5 10 0 0 0 0 1 numslots=0 B 300 0 2300 1100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 800 300 800 1 0 0 { T 200 850 5 8 1 1 0 6 1 pinnumber=2 T 200 750 5 8 0 1 0 8 1 pinseq=1 T 350 800 9 8 1 1 0 0 1 pinlabel=GP5/OSC1/CLKIN T 350 800 5 8 0 1 0 2 1 pintype=io } P 0 500 300 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=3 T 200 450 5 8 0 1 0 8 1 pinseq=2 T 350 500 9 8 1 1 0 0 1 pinlabel=GP4/OSC2 T 350 500 5 8 0 1 0 2 1 pintype=io } P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=4 T 200 150 5 8 0 1 0 8 1 pinseq=3 T 350 200 9 8 1 1 0 0 1 pinlabel=GP3/MCLR/Vpp T 350 200 5 8 0 1 0 2 1 pintype=in } P 2900 200 2600 200 1 0 0 { T 2700 250 5 8 1 1 0 0 1 pinnumber=5 T 2700 150 5 8 0 1 0 2 1 pinseq=5 T 2550 200 9 8 1 1 0 6 1 pinlabel=GP2/T0CKI T 2550 200 5 8 0 1 0 8 1 pintype=io } P 2900 500 2600 500 1 0 0 { T 2700 550 5 8 1 1 0 0 1 pinnumber=6 T 2700 450 5 8 0 1 0 2 1 pinseq=6 T 2550 500 9 8 1 1 0 6 1 pinlabel=GP1 T 2550 500 5 8 0 1 0 8 1 pintype=io } P 2900 800 2600 800 1 0 0 { T 2700 850 5 8 1 1 0 0 1 pinnumber=7 T 2700 750 5 8 0 1 0 2 1 pinseq=7 T 2550 800 9 8 1 1 0 6 1 pinlabel=GP0 T 2550 800 5 8 0 1 0 8 1 pintype=io } T 300 2350 5 10 0 0 0 0 1 net=Vdd:1 T 300 2550 5 10 0 0 0 0 1 net=Vss:8 T 300 1950 5 10 0 0 0 0 1 description=8-bit CMOS microcontroller T 300 2150 5 10 0 0 0 0 1 documentation=http://www.microchip.com/download/lit/pline/picmicro/families/12c5xx/40139e.pdf T 300 1150 9 10 1 0 0 0 1 PIC12C5xx T 300 2750 5 10 0 0 0 0 1 symversion=0.1 geda-gaf-1.8.2/symbols/micro/DS80C320-1.sym0000664000175000017500000001665012204104272014601 00000000000000v 20070626 1 T 2400 8500 8 10 1 1 0 6 1 refdes=U? T 400 8650 5 10 0 0 0 0 1 device=DS80C320_DIP T 400 8850 5 10 0 0 0 0 1 footprint=DIP40 T 400 9050 5 10 0 0 0 0 1 net=GND:20 T 400 9250 5 10 0 0 0 0 1 net=Vcc:40 P 2700 4800 2400 4800 1 0 0 { T 2500 4850 5 8 1 1 0 0 1 pinnumber=21 T 2500 4750 5 8 0 1 0 2 1 pinseq=1 T 2350 4800 9 8 1 1 0 6 1 pinlabel=(P2.0) A8 T 2350 4800 5 8 0 1 0 8 1 pintype=out } P 2700 4400 2400 4400 1 0 0 { T 2500 4450 5 8 1 1 0 0 1 pinnumber=22 T 2500 4350 5 8 0 1 0 2 1 pinseq=2 T 2350 4400 9 8 1 1 0 6 1 pinlabel=(P2.1) A9 T 2350 4400 5 8 0 1 0 8 1 pintype=out } P 2700 4000 2400 4000 1 0 0 { T 2500 4050 5 8 1 1 0 0 1 pinnumber=23 T 2500 3950 5 8 0 1 0 2 1 pinseq=3 T 2350 4000 9 8 1 1 0 6 1 pinlabel=(P2.2) A10 T 2350 4000 5 8 0 1 0 8 1 pintype=out } P 2700 3600 2400 3600 1 0 0 { T 2500 3650 5 8 1 1 0 0 1 pinnumber=24 T 2500 3550 5 8 0 1 0 2 1 pinseq=4 T 2350 3600 9 8 1 1 0 6 1 pinlabel=(P2.3) A11 T 2350 3600 5 8 0 1 0 8 1 pintype=out } P 2700 3200 2400 3200 1 0 0 { T 2500 3250 5 8 1 1 0 0 1 pinnumber=25 T 2500 3150 5 8 0 1 0 2 1 pinseq=5 T 2350 3200 9 8 1 1 0 6 1 pinlabel=(P2.4) A12 T 2350 3200 5 8 0 1 0 8 1 pintype=out } P 2700 2800 2400 2800 1 0 0 { T 2500 2850 5 8 1 1 0 0 1 pinnumber=26 T 2500 2750 5 8 0 1 0 2 1 pinseq=6 T 2350 2800 9 8 1 1 0 6 1 pinlabel=(P2.5) A13 T 2350 2800 5 8 0 1 0 8 1 pintype=out } P 2700 2400 2400 2400 1 0 0 { T 2500 2450 5 8 1 1 0 0 1 pinnumber=27 T 2500 2350 5 8 0 1 0 2 1 pinseq=7 T 2350 2400 9 8 1 1 0 6 1 pinlabel=(P2.6) A14 T 2350 2400 5 8 0 1 0 8 1 pintype=out } P 2700 2000 2400 2000 1 0 0 { T 2500 2050 5 8 1 1 0 0 1 pinnumber=28 T 2500 1950 5 8 0 1 0 2 1 pinseq=8 T 2350 2000 9 8 1 1 0 6 1 pinlabel=(P2.7) A15 T 2350 2000 5 8 0 1 0 8 1 pintype=out } P 2700 8000 2400 8000 1 0 0 { T 2500 8050 5 8 1 1 0 0 1 pinnumber=39 T 2500 7950 5 8 0 1 0 2 1 pinseq=9 T 2350 8000 9 8 1 1 0 6 1 pinlabel=AD0 T 2350 8000 5 8 0 1 0 8 1 pintype=io } P 2700 7600 2400 7600 1 0 0 { T 2500 7650 5 8 1 1 0 0 1 pinnumber=38 T 2500 7550 5 8 0 1 0 2 1 pinseq=10 T 2350 7600 9 8 1 1 0 6 1 pinlabel=AD1 T 2350 7600 5 8 0 1 0 8 1 pintype=io } P 2700 7200 2400 7200 1 0 0 { T 2500 7250 5 8 1 1 0 0 1 pinnumber=37 T 2500 7150 5 8 0 1 0 2 1 pinseq=11 T 2350 7200 9 8 1 1 0 6 1 pinlabel=AD2 T 2350 7200 5 8 0 1 0 8 1 pintype=io } P 2700 6800 2400 6800 1 0 0 { T 2500 6850 5 8 1 1 0 0 1 pinnumber=36 T 2500 6750 5 8 0 1 0 2 1 pinseq=12 T 2350 6800 9 8 1 1 0 6 1 pinlabel=AD3 T 2350 6800 5 8 0 1 0 8 1 pintype=io } P 2700 6400 2400 6400 1 0 0 { T 2500 6450 5 8 1 1 0 0 1 pinnumber=35 T 2500 6350 5 8 0 1 0 2 1 pinseq=13 T 2350 6400 9 8 1 1 0 6 1 pinlabel=AD4 T 2350 6400 5 8 0 1 0 8 1 pintype=io } P 2700 6000 2400 6000 1 0 0 { T 2500 6050 5 8 1 1 0 0 1 pinnumber=34 T 2500 5950 5 8 0 1 0 2 1 pinseq=14 T 2350 6000 9 8 1 1 0 6 1 pinlabel=AD5 T 2350 6000 5 8 0 1 0 8 1 pintype=io } P 2700 5600 2400 5600 1 0 0 { T 2500 5650 5 8 1 1 0 0 1 pinnumber=33 T 2500 5550 5 8 0 1 0 2 1 pinseq=15 T 2350 5600 9 8 1 1 0 6 1 pinlabel=AD6 T 2350 5600 5 8 0 1 0 8 1 pintype=io } P 2700 5200 2400 5200 1 0 0 { T 2500 5250 5 8 1 1 0 0 1 pinnumber=32 T 2500 5150 5 8 0 1 0 2 1 pinseq=16 T 2350 5200 9 8 1 1 0 6 1 pinlabel=AD7 T 2350 5200 5 8 0 1 0 8 1 pintype=io } P 2700 1600 2400 1600 1 0 0 { T 2500 1650 5 8 1 1 0 0 1 pinnumber=30 T 2500 1550 5 8 0 1 0 2 1 pinseq=17 T 2350 1600 9 8 1 1 0 6 1 pinlabel=ALE T 2350 1600 5 8 0 1 0 8 1 pintype=out } P 2700 1200 2500 1200 1 0 0 { T 2500 1250 5 8 1 1 0 0 1 pinnumber=31 T 2500 1150 5 8 0 1 0 2 1 pinseq=18 T 2350 1200 9 8 1 1 0 6 1 pinlabel=\_EA\_ T 2350 1200 5 8 0 1 0 8 1 pintype=in } V 2450 1200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2700 800 2500 800 1 0 0 { T 2500 850 5 8 1 1 0 0 1 pinnumber=29 T 2500 750 5 8 0 1 0 2 1 pinseq=19 T 2350 800 9 8 1 1 0 6 1 pinlabel=\_PSEN\_ T 2350 800 5 8 0 1 0 8 1 pintype=out } V 2450 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8000 400 8000 1 0 0 { T 300 8050 5 8 1 1 0 6 1 pinnumber=1 T 300 7950 5 8 0 1 0 8 1 pinseq=20 T 450 8000 9 8 1 1 0 0 1 pinlabel=P1.0 (T2) T 450 8000 5 8 0 1 0 2 1 pintype=io } P 100 7600 400 7600 1 0 0 { T 300 7650 5 8 1 1 0 6 1 pinnumber=2 T 300 7550 5 8 0 1 0 8 1 pinseq=21 T 450 7600 9 8 1 1 0 0 1 pinlabel=P1.1 (T2EX) T 450 7600 5 8 0 1 0 2 1 pintype=io } P 100 7200 400 7200 1 0 0 { T 300 7250 5 8 1 1 0 6 1 pinnumber=3 T 300 7150 5 8 0 1 0 8 1 pinseq=22 T 450 7200 9 8 1 1 0 0 1 pinlabel=P1.2 (RXD1) T 450 7200 5 8 0 1 0 2 1 pintype=io } P 100 6800 400 6800 1 0 0 { T 300 6850 5 8 1 1 0 6 1 pinnumber=4 T 300 6750 5 8 0 1 0 8 1 pinseq=23 T 450 6800 9 8 1 1 0 0 1 pinlabel=P1.3 (TXD1) T 450 6800 5 8 0 1 0 2 1 pintype=io } P 100 6400 400 6400 1 0 0 { T 300 6450 5 8 1 1 0 6 1 pinnumber=5 T 300 6350 5 8 0 1 0 8 1 pinseq=24 T 450 6400 9 8 1 1 0 0 1 pinlabel=P1.4 (INT2) T 450 6400 5 8 0 1 0 2 1 pintype=io } P 100 6000 400 6000 1 0 0 { T 300 6050 5 8 1 1 0 6 1 pinnumber=6 T 300 5950 5 8 0 1 0 8 1 pinseq=25 T 450 6000 9 8 1 1 0 0 1 pinlabel=P1.5 (\_INT3\_) T 450 6000 5 8 0 1 0 2 1 pintype=io } P 100 5600 400 5600 1 0 0 { T 300 5650 5 8 1 1 0 6 1 pinnumber=7 T 300 5550 5 8 0 1 0 8 1 pinseq=26 T 450 5600 9 8 1 1 0 0 1 pinlabel=P1.6 (INT4) T 450 5600 5 8 0 1 0 2 1 pintype=io } P 100 5200 400 5200 1 0 0 { T 300 5250 5 8 1 1 0 6 1 pinnumber=8 T 300 5150 5 8 0 1 0 8 1 pinseq=27 T 450 5200 9 8 1 1 0 0 1 pinlabel=P1.7 (\_INT5\_) T 450 5200 5 8 0 1 0 2 1 pintype=io } P 100 4800 400 4800 1 0 0 { T 300 4850 5 8 1 1 0 6 1 pinnumber=10 T 300 4750 5 8 0 1 0 8 1 pinseq=28 T 450 4800 9 8 1 1 0 0 1 pinlabel=P3.0 (RXD0) T 450 4800 5 8 0 1 0 2 1 pintype=io } P 100 4400 400 4400 1 0 0 { T 300 4450 5 8 1 1 0 6 1 pinnumber=11 T 300 4350 5 8 0 1 0 8 1 pinseq=29 T 450 4400 9 8 1 1 0 0 1 pinlabel=P3.1 (TXD0) T 450 4400 5 8 0 1 0 2 1 pintype=io } P 100 4000 400 4000 1 0 0 { T 300 4050 5 8 1 1 0 6 1 pinnumber=12 T 300 3950 5 8 0 1 0 8 1 pinseq=30 T 450 4000 9 8 1 1 0 0 1 pinlabel=P3.2 (\_INT0\_) T 450 4000 5 8 0 1 0 2 1 pintype=io } P 100 3600 400 3600 1 0 0 { T 300 3650 5 8 1 1 0 6 1 pinnumber=13 T 300 3550 5 8 0 1 0 8 1 pinseq=31 T 450 3600 9 8 1 1 0 0 1 pinlabel=P3.3 (\_INT1\_) T 450 3600 5 8 0 1 0 2 1 pintype=io } P 100 3200 400 3200 1 0 0 { T 300 3250 5 8 1 1 0 6 1 pinnumber=14 T 300 3150 5 8 0 1 0 8 1 pinseq=32 T 450 3200 9 8 1 1 0 0 1 pinlabel=P3.4 (T0) T 450 3200 5 8 0 1 0 2 1 pintype=io } P 100 2800 400 2800 1 0 0 { T 300 2850 5 8 1 1 0 6 1 pinnumber=15 T 300 2750 5 8 0 1 0 8 1 pinseq=33 T 450 2800 9 8 1 1 0 0 1 pinlabel=P3.5 (T1) T 450 2800 5 8 0 1 0 2 1 pintype=io } P 100 2400 400 2400 1 0 0 { T 300 2450 5 8 1 1 0 6 1 pinnumber=16 T 300 2350 5 8 0 1 0 8 1 pinseq=34 T 450 2400 9 8 1 1 0 0 1 pinlabel=P3.6 (\_WR\_) T 450 2400 5 8 0 1 0 2 1 pintype=io } P 100 2000 400 2000 1 0 0 { T 300 2050 5 8 1 1 0 6 1 pinnumber=17 T 300 1950 5 8 0 1 0 8 1 pinseq=35 T 450 2000 9 8 1 1 0 0 1 pinlabel=P3.7 (\_RD\_) T 450 2000 5 8 0 1 0 2 1 pintype=io } P 800 100 800 400 1 0 0 { T 850 200 5 8 1 1 0 0 1 pinnumber=9 T 850 200 5 8 0 1 0 2 1 pinseq=36 T 800 450 9 8 1 1 0 3 1 pinlabel=RST T 800 600 5 8 0 1 0 3 1 pintype=in } P 1400 100 1400 400 1 0 0 { T 1450 200 5 8 1 1 0 0 1 pinnumber=19 T 1450 200 5 8 0 1 0 2 1 pinseq=37 T 1400 450 9 8 1 1 0 3 1 pinlabel=XTAL1 T 1400 600 5 8 0 1 0 3 1 pintype=in } P 2000 100 2000 400 1 0 0 { T 2050 200 5 8 1 1 0 0 1 pinnumber=18 T 2050 200 5 8 0 1 0 2 1 pinseq=38 T 2000 450 9 8 1 1 0 3 1 pinlabel=XTAL2 T 2000 600 5 8 0 1 0 3 1 pintype=out } B 400 400 2000 8000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 9450 5 10 0 0 0 0 1 description=80C32 compatible micro controller T 400 9650 5 10 0 0 0 0 1 numslots=0 T 400 9850 5 10 0 0 0 0 1 author=Werner Hoch T 400 8450 9 10 1 0 0 0 1 DS80C320 geda-gaf-1.8.2/symbols/micro/ATmega128-3.sym0000664000175000017500000002655212204104272015170 00000000000000v 20070626 1 T 3600 12300 8 10 1 1 0 6 1 refdes=U? T 400 12450 8 10 0 0 0 0 1 device=Atmega128 T 400 12650 8 10 0 0 0 0 1 footprint=TQFP64 T 400 12850 8 10 0 0 0 0 1 net=Vcc:21,52 T 400 13050 8 10 0 0 0 0 1 net=GND:22,53 T 400 13250 8 10 0 0 0 0 1 net=AGND:63 T 400 13450 8 10 0 0 0 0 1 net=AVcc:64 P 3300 100 3300 400 1 0 0 { T 3350 200 5 8 1 1 0 0 1 pinnumber=23 T 3350 200 5 8 0 1 0 2 1 pinseq=1 T 3300 450 9 8 1 1 0 3 1 pinlabel=XTAL2 T 3300 600 5 8 0 1 0 3 1 pintype=out } P 2700 100 2700 400 1 0 0 { T 2750 200 5 8 1 1 0 0 1 pinnumber=24 T 2750 200 5 8 0 1 0 2 1 pinseq=2 T 2700 450 9 8 1 1 0 3 1 pinlabel=XTAL1 T 2700 600 5 8 0 1 0 3 1 pintype=in } P 1900 100 1900 400 1 0 0 { T 1950 200 5 8 1 1 0 0 1 pinnumber=18 T 1950 200 5 8 0 1 0 2 1 pinseq=3 T 1900 450 9 8 1 1 0 3 1 pinlabel=TOSC2/PG3 T 1900 600 5 8 0 1 0 3 1 pintype=out } P 900 100 900 400 1 0 0 { T 950 200 5 8 1 1 0 0 1 pinnumber=19 T 950 200 5 8 0 1 0 2 1 pinseq=4 T 900 450 9 8 1 1 0 3 1 pinlabel=TOSC1/PG4 T 900 600 5 8 0 1 0 3 1 pintype=in } P 100 800 300 800 1 0 0 { T 300 850 5 8 1 1 0 6 1 pinnumber=20 T 300 750 5 8 0 1 0 8 1 pinseq=5 T 450 800 9 8 1 1 0 0 1 pinlabel=\_Reset\_ T 450 800 5 8 0 1 0 2 1 pintype=in } V 350 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1200 300 1200 1 0 0 { T 300 1250 5 8 1 1 0 6 1 pinnumber=1 T 300 1150 5 8 0 1 0 8 1 pinseq=6 T 450 1200 9 8 1 1 0 0 1 pinlabel=\_PEN\_ T 450 1200 5 8 0 1 0 2 1 pintype=in } V 350 1200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2200 400 2200 1 0 0 { T 300 2250 5 8 1 1 0 6 1 pinnumber=9 T 300 2150 5 8 0 1 0 8 1 pinseq=7 T 450 2200 9 8 1 1 0 0 1 pinlabel=PE7 (INT7/IC3) T 450 2200 5 8 0 1 0 2 1 pintype=io } P 100 2600 400 2600 1 0 0 { T 300 2650 5 8 1 1 0 6 1 pinnumber=8 T 300 2550 5 8 0 1 0 8 1 pinseq=8 T 450 2600 9 8 1 1 0 0 1 pinlabel=PE6 (INT6/T3) T 450 2600 5 8 0 1 0 2 1 pintype=io } P 100 3000 400 3000 1 0 0 { T 300 3050 5 8 1 1 0 6 1 pinnumber=7 T 300 2950 5 8 0 1 0 8 1 pinseq=9 T 450 3000 9 8 1 1 0 0 1 pinlabel=PE5 (INT5/OC3C) T 450 3000 5 8 0 1 0 2 1 pintype=io } P 100 3400 400 3400 1 0 0 { T 300 3450 5 8 1 1 0 6 1 pinnumber=6 T 300 3350 5 8 0 1 0 8 1 pinseq=10 T 450 3400 9 8 1 1 0 0 1 pinlabel=PE4 (INT4/OC3B) T 450 3400 5 8 0 1 0 2 1 pintype=io } P 100 3800 400 3800 1 0 0 { T 300 3850 5 8 1 1 0 6 1 pinnumber=5 T 300 3750 5 8 0 1 0 8 1 pinseq=11 T 450 3800 9 8 1 1 0 0 1 pinlabel=PE3 (AIN1/OC3A) T 450 3800 5 8 0 1 0 2 1 pintype=io } P 100 4200 400 4200 1 0 0 { T 300 4250 5 8 1 1 0 6 1 pinnumber=4 T 300 4150 5 8 0 1 0 8 1 pinseq=12 T 450 4200 9 8 1 1 0 0 1 pinlabel=PE2 (AIN0/XCK0) T 450 4200 5 8 0 1 0 2 1 pintype=io } P 100 4600 400 4600 1 0 0 { T 300 4650 5 8 1 1 0 6 1 pinnumber=3 T 300 4550 5 8 0 1 0 8 1 pinseq=13 T 450 4600 9 8 1 1 0 0 1 pinlabel=PE1 (PDO/TXD0) T 450 4600 5 8 0 1 0 2 1 pintype=io } P 100 5000 400 5000 1 0 0 { T 300 5050 5 8 1 1 0 6 1 pinnumber=2 T 300 4950 5 8 0 1 0 8 1 pinseq=14 T 450 5000 9 8 1 1 0 0 1 pinlabel=PE0 (PDI/RXD0) T 450 5000 5 8 0 1 0 2 1 pintype=io } P 100 5600 400 5600 1 0 0 { T 300 5650 5 8 1 1 0 6 1 pinnumber=32 T 300 5550 5 8 0 1 0 8 1 pinseq=15 T 450 5600 9 8 1 1 0 0 1 pinlabel=PD7 (T2) T 450 5600 5 8 0 1 0 2 1 pintype=io } P 100 6000 400 6000 1 0 0 { T 300 6050 5 8 1 1 0 6 1 pinnumber=31 T 300 5950 5 8 0 1 0 8 1 pinseq=16 T 450 6000 9 8 1 1 0 0 1 pinlabel=PD6 (T1) T 450 6000 5 8 0 1 0 2 1 pintype=io } P 100 6400 400 6400 1 0 0 { T 300 6450 5 8 1 1 0 6 1 pinnumber=30 T 300 6350 5 8 0 1 0 8 1 pinseq=17 T 450 6400 9 8 1 1 0 0 1 pinlabel=PD5 (XCK1) T 450 6400 5 8 0 1 0 2 1 pintype=io } P 100 6800 400 6800 1 0 0 { T 300 6850 5 8 1 1 0 6 1 pinnumber=29 T 300 6750 5 8 0 1 0 8 1 pinseq=18 T 450 6800 9 8 1 1 0 0 1 pinlabel=PD4 (IC1) T 450 6800 5 8 0 1 0 2 1 pintype=io } P 100 7200 400 7200 1 0 0 { T 300 7250 5 8 1 1 0 6 1 pinnumber=28 T 300 7150 5 8 0 1 0 8 1 pinseq=19 T 450 7200 9 8 1 1 0 0 1 pinlabel=PD3 (\_INT3\_/TXD1) T 450 7200 5 8 0 1 0 2 1 pintype=io } P 100 7600 400 7600 1 0 0 { T 300 7650 5 8 1 1 0 6 1 pinnumber=27 T 300 7550 5 8 0 1 0 8 1 pinseq=20 T 450 7600 9 8 1 1 0 0 1 pinlabel=PD2 (\_INT2\_/RXD1) T 450 7600 5 8 0 1 0 2 1 pintype=io } P 100 8000 400 8000 1 0 0 { T 300 8050 5 8 1 1 0 6 1 pinnumber=26 T 300 7950 5 8 0 1 0 8 1 pinseq=21 T 450 8000 9 8 1 1 0 0 1 pinlabel=PD1 (\_INT1\_/SDA) T 450 8000 5 8 0 1 0 2 1 pintype=io } P 100 8400 400 8400 1 0 0 { T 300 8450 5 8 1 1 0 6 1 pinnumber=25 T 300 8350 5 8 0 1 0 8 1 pinseq=22 T 450 8400 9 8 1 1 0 0 1 pinlabel=PD0 (\_INT0\_/SCL) T 450 8400 5 8 0 1 0 2 1 pintype=io } P 100 9000 400 9000 1 0 0 { T 300 9050 5 8 1 1 0 6 1 pinnumber=17 T 300 8950 5 8 0 1 0 8 1 pinseq=23 T 450 9000 9 8 1 1 0 0 1 pinlabel=PB7 (OC2/OC1C) T 450 9000 5 8 0 1 0 2 1 pintype=io } P 100 9400 400 9400 1 0 0 { T 300 9450 5 8 1 1 0 6 1 pinnumber=16 T 300 9350 5 8 0 1 0 8 1 pinseq=24 T 450 9400 9 8 1 1 0 0 1 pinlabel=PB6 (OC1B) T 450 9400 5 8 0 1 0 2 1 pintype=io } P 100 9800 400 9800 1 0 0 { T 300 9850 5 8 1 1 0 6 1 pinnumber=15 T 300 9750 5 8 0 1 0 8 1 pinseq=25 T 450 9800 9 8 1 1 0 0 1 pinlabel=PB5 (OC1A) T 450 9800 5 8 0 1 0 2 1 pintype=io } P 100 10200 400 10200 1 0 0 { T 300 10250 5 8 1 1 0 6 1 pinnumber=14 T 300 10150 5 8 0 1 0 8 1 pinseq=26 T 450 10200 9 8 1 1 0 0 1 pinlabel=PB4 (OC0) T 450 10200 5 8 0 1 0 2 1 pintype=io } P 100 10600 400 10600 1 0 0 { T 300 10650 5 8 1 1 0 6 1 pinnumber=13 T 300 10550 5 8 0 1 0 8 1 pinseq=27 T 450 10600 9 8 1 1 0 0 1 pinlabel=PB3 (MISO) T 450 10600 5 8 0 1 0 2 1 pintype=io } P 100 11000 400 11000 1 0 0 { T 300 11050 5 8 1 1 0 6 1 pinnumber=12 T 300 10950 5 8 0 1 0 8 1 pinseq=28 T 450 11000 9 8 1 1 0 0 1 pinlabel=PB2 (MOSI) T 450 11000 5 8 0 1 0 2 1 pintype=io } P 100 11400 400 11400 1 0 0 { T 300 11450 5 8 1 1 0 6 1 pinnumber=11 T 300 11350 5 8 0 1 0 8 1 pinseq=29 T 450 11400 9 8 1 1 0 0 1 pinlabel=PB1 (SCK) T 450 11400 5 8 0 1 0 2 1 pintype=io } P 100 11800 400 11800 1 0 0 { T 300 11850 5 8 1 1 0 6 1 pinnumber=10 T 300 11750 5 8 0 1 0 8 1 pinseq=30 T 450 11800 9 8 1 1 0 0 1 pinlabel=PB0 (\_SS\_) T 450 11800 5 8 0 1 0 2 1 pintype=io } P 100 1600 400 1600 1 0 0 { T 300 1650 5 8 1 1 0 6 1 pinnumber=62 T 300 1550 5 8 0 1 0 8 1 pinseq=31 T 450 1600 9 8 1 1 0 0 1 pinlabel=AREF T 450 1600 5 8 0 1 0 2 1 pintype=in } P 3900 800 3600 800 1 0 0 { T 3700 850 5 8 1 1 0 0 1 pinnumber=33 T 3700 750 5 8 0 1 0 2 1 pinseq=32 T 3550 800 9 8 1 1 0 6 1 pinlabel=(\_WR\_) PG0 T 3550 800 5 8 0 1 0 8 1 pintype=out } P 3900 1200 3600 1200 1 0 0 { T 3700 1250 5 8 1 1 0 0 1 pinnumber=34 T 3700 1150 5 8 0 1 0 2 1 pinseq=33 T 3550 1200 9 8 1 1 0 6 1 pinlabel=(\_RD\_) PG1 T 3550 1200 5 8 0 1 0 8 1 pintype=out } P 3900 2200 3600 2200 1 0 0 { T 3700 2250 5 8 1 1 0 0 1 pinnumber=54 T 3700 2150 5 8 0 1 0 2 1 pinseq=34 T 3550 2200 9 8 1 1 0 6 1 pinlabel=(ADC7/TDI) PF7 T 3550 2200 5 8 0 1 0 8 1 pintype=io } P 3900 2600 3600 2600 1 0 0 { T 3700 2650 5 8 1 1 0 0 1 pinnumber=55 T 3700 2550 5 8 0 1 0 2 1 pinseq=35 T 3550 2600 9 8 1 1 0 6 1 pinlabel=(ADC6/TDO) PF6 T 3550 2600 5 8 0 1 0 8 1 pintype=io } P 3900 3000 3600 3000 1 0 0 { T 3700 3050 5 8 1 1 0 0 1 pinnumber=56 T 3700 2950 5 8 0 1 0 2 1 pinseq=36 T 3550 3000 9 8 1 1 0 6 1 pinlabel=(ADC5/TMS) PF5 T 3550 3000 5 8 0 1 0 8 1 pintype=io } P 3900 3400 3600 3400 1 0 0 { T 3700 3450 5 8 1 1 0 0 1 pinnumber=57 T 3700 3350 5 8 0 1 0 2 1 pinseq=37 T 3550 3400 9 8 1 1 0 6 1 pinlabel=(ADC4/TCK) PF4 T 3550 3400 5 8 0 1 0 8 1 pintype=io } P 3900 3800 3600 3800 1 0 0 { T 3700 3850 5 8 1 1 0 0 1 pinnumber=58 T 3700 3750 5 8 0 1 0 2 1 pinseq=38 T 3550 3800 9 8 1 1 0 6 1 pinlabel=(ADC3) PF3 T 3550 3800 5 8 0 1 0 8 1 pintype=io } P 3900 4200 3600 4200 1 0 0 { T 3700 4250 5 8 1 1 0 0 1 pinnumber=59 T 3700 4150 5 8 0 1 0 2 1 pinseq=39 T 3550 4200 9 8 1 1 0 6 1 pinlabel=(ADC2) PF2 T 3550 4200 5 8 0 1 0 8 1 pintype=io } P 3900 4600 3600 4600 1 0 0 { T 3700 4650 5 8 1 1 0 0 1 pinnumber=60 T 3700 4550 5 8 0 1 0 2 1 pinseq=40 T 3550 4600 9 8 1 1 0 6 1 pinlabel=(ADC1) PF1 T 3550 4600 5 8 0 1 0 8 1 pintype=io } P 3900 5000 3600 5000 1 0 0 { T 3700 5050 5 8 1 1 0 0 1 pinnumber=61 T 3700 4950 5 8 0 1 0 2 1 pinseq=41 T 3550 5000 9 8 1 1 0 6 1 pinlabel=(ADC0) PF0 T 3550 5000 5 8 0 1 0 8 1 pintype=io } P 3900 5600 3600 5600 1 0 0 { T 3700 5650 5 8 1 1 0 0 1 pinnumber=42 T 3700 5550 5 8 0 1 0 2 1 pinseq=42 T 3550 5600 9 8 1 1 0 6 1 pinlabel=(A15) PC7 T 3550 5600 5 8 0 1 0 8 1 pintype=io } P 3900 6000 3600 6000 1 0 0 { T 3700 6050 5 8 1 1 0 0 1 pinnumber=41 T 3700 5950 5 8 0 1 0 2 1 pinseq=43 T 3550 6000 9 8 1 1 0 6 1 pinlabel=(A14) PC6 T 3550 6000 5 8 0 1 0 8 1 pintype=io } P 3900 6400 3600 6400 1 0 0 { T 3700 6450 5 8 1 1 0 0 1 pinnumber=40 T 3700 6350 5 8 0 1 0 2 1 pinseq=44 T 3550 6400 9 8 1 1 0 6 1 pinlabel=(A13) PC5 T 3550 6400 5 8 0 1 0 8 1 pintype=io } P 3900 6800 3600 6800 1 0 0 { T 3700 6850 5 8 1 1 0 0 1 pinnumber=39 T 3700 6750 5 8 0 1 0 2 1 pinseq=45 T 3550 6800 9 8 1 1 0 6 1 pinlabel=(A12) PC4 T 3550 6800 5 8 0 1 0 8 1 pintype=io } P 3900 7200 3600 7200 1 0 0 { T 3700 7250 5 8 1 1 0 0 1 pinnumber=38 T 3700 7150 5 8 0 1 0 2 1 pinseq=46 T 3550 7200 9 8 1 1 0 6 1 pinlabel=(A11) PC3 T 3550 7200 5 8 0 1 0 8 1 pintype=io } P 3900 7600 3600 7600 1 0 0 { T 3700 7650 5 8 1 1 0 0 1 pinnumber=37 T 3700 7550 5 8 0 1 0 2 1 pinseq=47 T 3550 7600 9 8 1 1 0 6 1 pinlabel=(A10) PC2 T 3550 7600 5 8 0 1 0 8 1 pintype=io } P 3900 8000 3600 8000 1 0 0 { T 3700 8050 5 8 1 1 0 0 1 pinnumber=36 T 3700 7950 5 8 0 1 0 2 1 pinseq=48 T 3550 8000 9 8 1 1 0 6 1 pinlabel=(A9) PC1 T 3550 8000 5 8 0 1 0 8 1 pintype=io } P 3900 8400 3600 8400 1 0 0 { T 3700 8450 5 8 1 1 0 0 1 pinnumber=35 T 3700 8350 5 8 0 1 0 2 1 pinseq=49 T 3550 8400 9 8 1 1 0 6 1 pinlabel=(A8) PC0 T 3550 8400 5 8 0 1 0 8 1 pintype=io } P 3900 9000 3600 9000 1 0 0 { T 3700 9050 5 8 1 1 0 0 1 pinnumber=44 T 3700 8950 5 8 0 1 0 2 1 pinseq=50 T 3550 9000 9 8 1 1 0 6 1 pinlabel=(AD7) PA7 T 3550 9000 5 8 0 1 0 8 1 pintype=io } P 3900 9400 3600 9400 1 0 0 { T 3700 9450 5 8 1 1 0 0 1 pinnumber=45 T 3700 9350 5 8 0 1 0 2 1 pinseq=51 T 3550 9400 9 8 1 1 0 6 1 pinlabel=(AD6) PA6 T 3550 9400 5 8 0 1 0 8 1 pintype=io } P 3900 9800 3600 9800 1 0 0 { T 3700 9850 5 8 1 1 0 0 1 pinnumber=46 T 3700 9750 5 8 0 1 0 2 1 pinseq=52 T 3550 9800 9 8 1 1 0 6 1 pinlabel=(AD5) PA5 T 3550 9800 5 8 0 1 0 8 1 pintype=io } P 3900 10200 3600 10200 1 0 0 { T 3700 10250 5 8 1 1 0 0 1 pinnumber=47 T 3700 10150 5 8 0 1 0 2 1 pinseq=53 T 3550 10200 9 8 1 1 0 6 1 pinlabel=(AD4) PA4 T 3550 10200 5 8 0 1 0 8 1 pintype=io } P 3900 10600 3600 10600 1 0 0 { T 3700 10650 5 8 1 1 0 0 1 pinnumber=48 T 3700 10550 5 8 0 1 0 2 1 pinseq=54 T 3550 10600 9 8 1 1 0 6 1 pinlabel=(AD3) PA3 T 3550 10600 5 8 0 1 0 8 1 pintype=io } P 3900 11000 3600 11000 1 0 0 { T 3700 11050 5 8 1 1 0 0 1 pinnumber=49 T 3700 10950 5 8 0 1 0 2 1 pinseq=55 T 3550 11000 9 8 1 1 0 6 1 pinlabel=(AD2) PA2 T 3550 11000 5 8 0 1 0 8 1 pintype=io } P 3900 11400 3600 11400 1 0 0 { T 3700 11450 5 8 1 1 0 0 1 pinnumber=50 T 3700 11350 5 8 0 1 0 2 1 pinseq=56 T 3550 11400 9 8 1 1 0 6 1 pinlabel=(AD1) PA1 T 3550 11400 5 8 0 1 0 8 1 pintype=io } P 3900 11800 3600 11800 1 0 0 { T 3700 11850 5 8 1 1 0 0 1 pinnumber=51 T 3700 11750 5 8 0 1 0 2 1 pinseq=57 T 3550 11800 9 8 1 1 0 6 1 pinlabel=(AD0) PA0 T 3550 11800 5 8 0 1 0 8 1 pintype=io } P 3900 1600 3600 1600 1 0 0 { T 3700 1650 5 8 1 1 0 0 1 pinnumber=43 T 3700 1550 5 8 0 1 0 2 1 pinseq=58 T 3550 1600 9 8 1 1 0 6 1 pinlabel=(ALE) PG2 T 3550 1600 5 8 0 1 0 8 1 pintype=out } B 400 400 3200 11800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 13650 8 10 0 0 0 0 1 description=8-bit RISC micro controller (Atmel) T 400 13850 8 10 0 0 0 0 1 numslots=0 T 400 14050 8 10 0 0 0 0 1 author=Radoslaw Korzeniewski T 400 12250 9 10 1 0 0 0 1 ATmega128 T 400 14200 8 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/micro/MSP430x13-4x.sym0000664000175000017500000003001312204104272015175 00000000000000v 20070626 1 B 300 300 9300 6400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2600 3975 5 10 0 0 0 0 1 device=MSP430x13/4x T 9550 6750 8 10 1 1 0 6 1 refdes=U? P 300 6500 0 6500 1 0 1 { T 200 6550 5 8 1 1 0 6 1 pinnumber=1 T 350 6500 9 8 1 1 0 0 1 pinlabel=DVcc T 200 6450 5 8 0 1 0 8 1 pinseq=1 T 350 6500 5 8 0 1 0 2 1 pintype=pwr } P 300 6100 0 6100 1 0 1 { T 200 6150 5 8 1 1 0 6 1 pinnumber=2 T 350 6100 9 8 1 1 0 0 1 pinlabel=P6.3/A3 T 200 6050 5 8 0 1 0 8 1 pinseq=2 T 350 6100 5 8 0 1 0 2 1 pintype=io } P 300 5700 0 5700 1 0 1 { T 200 5750 5 8 1 1 0 6 1 pinnumber=3 T 350 5700 9 8 1 1 0 0 1 pinlabel=P6.4/A4 T 200 5650 5 8 0 1 0 8 1 pinseq=3 T 350 5700 5 8 0 1 0 2 1 pintype=io } P 300 5300 0 5300 1 0 1 { T 200 5350 5 8 1 1 0 6 1 pinnumber=4 T 350 5300 9 8 1 1 0 0 1 pinlabel=P6.5/A5 T 200 5250 5 8 0 1 0 8 1 pinseq=4 T 350 5300 5 8 0 1 0 2 1 pintype=io } P 300 4900 0 4900 1 0 1 { T 200 4950 5 8 1 1 0 6 1 pinnumber=5 T 350 4900 9 8 1 1 0 0 1 pinlabel=P6.6/A6 T 200 4850 5 8 0 1 0 8 1 pinseq=5 T 350 4900 5 8 0 1 0 2 1 pintype=io } P 300 4500 0 4500 1 0 1 { T 200 4550 5 8 1 1 0 6 1 pinnumber=6 T 350 4500 9 8 1 1 0 0 1 pinlabel=P6.7/A7 T 200 4450 5 8 0 1 0 8 1 pinseq=6 T 350 4500 5 8 0 1 0 2 1 pintype=io } P 300 4100 0 4100 1 0 1 { T 200 4150 5 8 1 1 0 6 1 pinnumber=7 T 350 4100 9 8 1 1 0 0 1 pinlabel=Vref+ T 200 4050 5 8 0 1 0 8 1 pinseq=7 T 350 4100 5 8 0 1 0 2 1 pintype=io } P 300 3700 0 3700 1 0 1 { T 200 3750 5 8 1 1 0 6 1 pinnumber=8 T 350 3700 9 8 1 1 0 0 1 pinlabel=XIN T 200 3650 5 8 0 1 0 8 1 pinseq=8 T 350 3700 5 8 0 1 0 2 1 pintype=in } P 300 3300 0 3300 1 0 1 { T 200 3350 5 8 1 1 0 6 1 pinnumber=9 T 350 3300 9 8 1 1 0 0 1 pinlabel=XOUT/TCLK T 200 3250 5 8 0 1 0 8 1 pinseq=9 T 350 3300 5 8 0 1 0 2 1 pintype=io } P 300 2900 0 2900 1 0 1 { T 200 2950 5 8 1 1 0 6 1 pinnumber=10 T 350 2900 9 8 1 1 0 0 1 pinlabel=VeREF+ T 200 2850 5 8 0 1 0 8 1 pinseq=10 T 350 2900 5 8 0 1 0 2 1 pintype=in } P 300 2500 0 2500 1 0 1 { T 200 2550 5 8 1 1 0 6 1 pinnumber=11 T 350 2500 9 8 1 1 0 0 1 pinlabel=Vref-/VeREF- T 200 2450 5 8 0 1 0 8 1 pinseq=11 T 350 2500 5 8 0 1 0 2 1 pintype=io } P 300 2100 0 2100 1 0 1 { T 200 2150 5 8 1 1 0 6 1 pinnumber=12 T 350 2100 9 8 1 1 0 0 1 pinlabel=P1.0/TACLK T 200 2050 5 8 0 1 0 8 1 pinseq=12 T 350 2100 5 8 0 1 0 2 1 pintype=io } P 300 1700 0 1700 1 0 1 { T 200 1750 5 8 1 1 0 6 1 pinnumber=13 T 350 1700 9 8 1 1 0 0 1 pinlabel=P1.1/TA0 T 200 1650 5 8 0 1 0 8 1 pinseq=13 T 350 1700 5 8 0 1 0 2 1 pintype=io } P 300 1300 0 1300 1 0 1 { T 200 1350 5 8 1 1 0 6 1 pinnumber=14 T 350 1300 9 8 1 1 0 0 1 pinlabel=P1.2/TA1 T 200 1250 5 8 0 1 0 8 1 pinseq=14 T 350 1300 5 8 0 1 0 2 1 pintype=io } P 300 900 0 900 1 0 1 { T 200 950 5 8 1 1 0 6 1 pinnumber=15 T 350 900 9 8 1 1 0 0 1 pinlabel=P1.3/TA2 T 200 850 5 8 0 1 0 8 1 pinseq=15 T 350 900 5 8 0 1 0 2 1 pintype=io } P 300 500 0 500 1 0 1 { T 200 550 5 8 1 1 0 6 1 pinnumber=16 T 350 500 9 8 1 1 0 0 1 pinlabel=P1.4/SMCLK T 200 450 5 8 0 1 0 8 1 pinseq=16 T 350 500 5 8 0 1 0 2 1 pintype=io } P 1900 0 1900 300 1 0 0 { T 1850 200 5 8 1 1 90 6 1 pinnumber=17 T 1900 350 9 8 1 1 90 0 1 pinlabel=P1.5/TA0 T 1950 200 5 8 0 1 90 8 1 pinseq=17 T 1900 350 5 8 0 1 90 2 1 pintype=io } P 2300 0 2300 300 1 0 0 { T 2250 200 5 8 1 1 90 6 1 pinnumber=18 T 2300 350 9 8 1 1 90 0 1 pinlabel=P1.6/TA1 T 2350 200 5 8 0 1 90 8 1 pinseq=18 T 2300 350 5 8 0 1 90 2 1 pintype=io } P 2700 0 2700 300 1 0 0 { T 2650 200 5 8 1 1 90 6 1 pinnumber=19 T 2700 350 9 8 1 1 90 0 1 pinlabel=P1.7/TA2 T 2750 200 5 8 0 1 90 8 1 pinseq=19 T 2700 350 5 8 0 1 90 2 1 pintype=io } P 3100 0 3100 300 1 0 0 { T 3050 200 5 8 1 1 90 6 1 pinnumber=20 T 3100 350 9 8 1 1 90 0 1 pinlabel=P2.0/ACLK T 3150 200 5 8 0 1 90 8 1 pinseq=20 T 3100 350 5 8 0 1 90 2 1 pintype=io } P 3500 0 3500 300 1 0 0 { T 3450 200 5 8 1 1 90 6 1 pinnumber=21 T 3500 350 9 8 1 1 90 0 1 pinlabel=P2.1/TAINCLK T 3550 200 5 8 0 1 90 8 1 pinseq=21 T 3500 350 5 8 0 1 90 2 1 pintype=io } P 3900 0 3900 300 1 0 0 { T 3850 200 5 8 1 1 90 6 1 pinnumber=22 T 3900 350 9 8 1 1 90 0 1 pinlabel=P2.2/CAOUT/TA0 T 3950 200 5 8 0 1 90 8 1 pinseq=22 T 3900 350 5 8 0 1 90 2 1 pintype=io } P 4300 0 4300 300 1 0 0 { T 4250 200 5 8 1 1 90 6 1 pinnumber=23 T 4300 350 9 8 1 1 90 0 1 pinlabel=P2.3/CA0/TA1 T 4350 200 5 8 0 1 90 8 1 pinseq=23 T 4300 350 5 8 0 1 90 2 1 pintype=io } P 4700 0 4700 300 1 0 0 { T 4650 200 5 8 1 1 90 6 1 pinnumber=24 T 4700 350 9 8 1 1 90 0 1 pinlabel=P2.4/CA1/TA2 T 4750 200 5 8 0 1 90 8 1 pinseq=24 T 4700 350 5 8 0 1 90 2 1 pintype=io } P 5100 0 5100 300 1 0 0 { T 5050 200 5 8 1 1 90 6 1 pinnumber=25 T 5100 350 9 8 1 1 90 0 1 pinlabel=P2.5/Rosc T 5150 200 5 8 0 1 90 8 1 pinseq=25 T 5100 350 5 8 0 1 90 2 1 pintype=io } P 5500 0 5500 300 1 0 0 { T 5450 200 5 8 1 1 90 6 1 pinnumber=26 T 5500 350 9 8 1 1 90 0 1 pinlabel=P2.6/ADC12CLK T 5550 200 5 8 0 1 90 8 1 pinseq=26 T 5500 350 5 8 0 1 90 2 1 pintype=io } P 5900 0 5900 300 1 0 0 { T 5850 200 5 8 1 1 90 6 1 pinnumber=27 T 5900 350 9 8 1 1 90 0 1 pinlabel=P2.7/TA0 T 5950 200 5 8 0 1 90 8 1 pinseq=27 T 5900 350 5 8 0 1 90 2 1 pintype=io } P 6300 0 6300 300 1 0 0 { T 6250 200 5 8 1 1 90 6 1 pinnumber=28 T 6300 350 9 8 1 1 90 0 1 pinlabel=P3.0/STE0 T 6350 200 5 8 0 1 90 8 1 pinseq=28 T 6300 350 5 8 0 1 90 2 1 pintype=io } P 6700 0 6700 300 1 0 0 { T 6650 200 5 8 1 1 90 6 1 pinnumber=29 T 6700 350 9 8 1 1 90 0 1 pinlabel=P3.1/SIMO0 T 6750 200 5 8 0 1 90 8 1 pinseq=29 T 6700 350 5 8 0 1 90 2 1 pintype=io } P 7100 0 7100 300 1 0 0 { T 7050 200 5 8 1 1 90 6 1 pinnumber=30 T 7100 350 9 8 1 1 90 0 1 pinlabel=P3.2/SOMI0 T 7150 200 5 8 0 1 90 8 1 pinseq=30 T 7100 350 5 8 0 1 90 2 1 pintype=io } P 7500 0 7500 300 1 0 0 { T 7450 200 5 8 1 1 90 6 1 pinnumber=31 T 7500 350 9 8 1 1 90 0 1 pinlabel=P3.3/UCLK0 T 7550 200 5 8 0 1 90 8 1 pinseq=31 T 7500 350 5 8 0 1 90 2 1 pintype=io } P 7900 0 7900 300 1 0 0 { T 7850 200 5 8 1 1 90 6 1 pinnumber=32 T 7900 350 9 8 1 1 90 0 1 pinlabel=P3.4/UTXD0 T 7950 200 5 8 0 1 90 8 1 pinseq=32 T 7900 350 5 8 0 1 90 2 1 pintype=io } P 9600 500 9900 500 1 0 1 { T 9700 550 5 8 1 1 0 0 1 pinnumber=33 T 9550 500 9 8 1 1 0 6 1 pinlabel=P3.5/URXD0 T 9700 450 5 8 0 1 0 2 1 pinseq=33 T 9550 500 5 8 0 1 0 8 1 pintype=io } P 9600 900 9900 900 1 0 1 { T 9700 950 5 8 1 1 0 0 1 pinnumber=34 T 9550 900 9 8 1 1 0 6 1 pinlabel=P3.6 T 9700 850 5 8 0 1 0 2 1 pinseq=34 T 9550 900 5 8 0 1 0 8 1 pintype=io } P 9600 1300 9900 1300 1 0 1 { T 9700 1350 5 8 1 1 0 0 1 pinnumber=35 T 9550 1300 9 8 1 1 0 6 1 pinlabel=P3.7 T 9700 1250 5 8 0 1 0 2 1 pinseq=35 T 9550 1300 5 8 0 1 0 8 1 pintype=io } P 9600 1700 9900 1700 1 0 1 { T 9700 1750 5 8 1 1 0 0 1 pinnumber=36 T 9550 1700 9 8 1 1 0 6 1 pinlabel=P4.0/TB0 T 9700 1650 5 8 0 1 0 2 1 pinseq=36 T 9550 1700 5 8 0 1 0 8 1 pintype=io } P 9600 2100 9900 2100 1 0 1 { T 9700 2150 5 8 1 1 0 0 1 pinnumber=37 T 9550 2100 9 8 1 1 0 6 1 pinlabel=P4.1/TB1 T 9700 2050 5 8 0 1 0 2 1 pinseq=37 T 9550 2100 5 8 0 1 0 8 1 pintype=io } P 9600 2500 9900 2500 1 0 1 { T 9700 2550 5 8 1 1 0 0 1 pinnumber=38 T 9550 2500 9 8 1 1 0 6 1 pinlabel=P4.2/TB2 T 9700 2450 5 8 0 1 0 2 1 pinseq=38 T 9550 2500 5 8 0 1 0 8 1 pintype=io } P 9600 2900 9900 2900 1 0 1 { T 9700 2950 5 8 1 1 0 0 1 pinnumber=39 T 9550 2900 9 8 1 1 0 6 1 pinlabel=P4.3 T 9700 2850 5 8 0 1 0 2 1 pinseq=39 T 9550 2900 5 8 0 1 0 8 1 pintype=io } P 9600 3300 9900 3300 1 0 1 { T 9700 3350 5 8 1 1 0 0 1 pinnumber=40 T 9550 3300 9 8 1 1 0 6 1 pinlabel=P4.4 T 9700 3250 5 8 0 1 0 2 1 pinseq=40 T 9550 3300 5 8 0 1 0 8 1 pintype=io } P 9600 3700 9900 3700 1 0 1 { T 9700 3750 5 8 1 1 0 0 1 pinnumber=41 T 9550 3700 9 8 1 1 0 6 1 pinlabel=P4.5 T 9700 3650 5 8 0 1 0 2 1 pinseq=41 T 9550 3700 5 8 0 1 0 8 1 pintype=io } P 9600 4100 9900 4100 1 0 1 { T 9700 4150 5 8 1 1 0 0 1 pinnumber=42 T 9550 4100 9 8 1 1 0 6 1 pinlabel=P4.6 T 9700 4050 5 8 0 1 0 2 1 pinseq=42 T 9550 4100 5 8 0 1 0 8 1 pintype=io } P 9600 4500 9900 4500 1 0 1 { T 9700 4550 5 8 1 1 0 0 1 pinnumber=43 T 9550 4500 9 8 1 1 0 6 1 pinlabel=P4.7/TBCLK T 9700 4450 5 8 0 1 0 2 1 pinseq=43 T 9550 4500 5 8 0 1 0 8 1 pintype=io } P 9600 4900 9900 4900 1 0 1 { T 9700 4950 5 8 1 1 0 0 1 pinnumber=44 T 9550 4900 9 8 1 1 0 6 1 pinlabel=P5.0 T 9700 4850 5 8 0 1 0 2 1 pinseq=44 T 9550 4900 5 8 0 1 0 8 1 pintype=io } P 9600 5300 9900 5300 1 0 1 { T 9700 5350 5 8 1 1 0 0 1 pinnumber=45 T 9550 5300 9 8 1 1 0 6 1 pinlabel=P5.1 T 9700 5250 5 8 0 1 0 2 1 pinseq=45 T 9550 5300 5 8 0 1 0 8 1 pintype=io } P 9600 5700 9900 5700 1 0 1 { T 9700 5750 5 8 1 1 0 0 1 pinnumber=46 T 9550 5700 9 8 1 1 0 6 1 pinlabel=P5.2 T 9700 5650 5 8 0 1 0 2 1 pinseq=46 T 9550 5700 5 8 0 1 0 8 1 pintype=io } P 9600 6100 9900 6100 1 0 1 { T 9700 6150 5 8 1 1 0 0 1 pinnumber=47 T 9550 6100 9 8 1 1 0 6 1 pinlabel=P5.3 T 9700 6050 5 8 0 1 0 2 1 pinseq=47 T 9550 6100 5 8 0 1 0 8 1 pintype=io } P 9600 6500 9900 6500 1 0 1 { T 9700 6550 5 8 1 1 0 0 1 pinnumber=48 T 9550 6500 9 8 1 1 0 6 1 pinlabel=P5.4/MCLK T 9700 6450 5 8 0 1 0 2 1 pinseq=48 T 9550 6500 5 8 0 1 0 8 1 pintype=io } P 7900 6700 7900 7000 1 0 1 { T 7850 6800 5 8 1 1 90 0 1 pinnumber=49 T 7900 6650 9 8 1 1 90 6 1 pinlabel=P5.5/SMCLK T 7950 6800 5 8 0 1 90 2 1 pinseq=49 T 7900 6650 5 8 0 1 90 8 1 pintype=io } P 7500 6700 7500 7000 1 0 1 { T 7450 6800 5 8 1 1 90 0 1 pinnumber=50 T 7500 6650 9 8 1 1 90 6 1 pinlabel=P5.6/ACLK T 7550 6800 5 8 0 1 90 2 1 pinseq=50 T 7500 6650 5 8 0 1 90 8 1 pintype=io } P 7100 6700 7100 7000 1 0 1 { T 7050 6800 5 8 1 1 90 0 1 pinnumber=51 T 7100 6650 9 8 1 1 90 6 1 pinlabel=P5.7/TBoutH T 7150 6800 5 8 0 1 90 2 1 pinseq=51 T 7100 6650 5 8 0 1 90 8 1 pintype=io } P 6700 6700 6700 7000 1 0 1 { T 6650 6800 5 8 1 1 90 0 1 pinnumber=52 T 6700 6650 9 8 1 1 90 6 1 pinlabel=XT2OUT T 6750 6800 5 8 0 1 90 2 1 pinseq=52 T 6700 6650 5 8 0 1 90 8 1 pintype=out } P 6300 6700 6300 7000 1 0 1 { T 6250 6800 5 8 1 1 90 0 1 pinnumber=53 T 6300 6650 9 8 1 1 90 6 1 pinlabel=XT2IN T 6350 6800 5 8 0 1 90 2 1 pinseq=53 T 6300 6650 5 8 0 1 90 8 1 pintype=in } P 5900 6700 5900 7000 1 0 1 { T 5850 6800 5 8 1 1 90 0 1 pinnumber=54 T 5900 6650 9 8 1 1 90 6 1 pinlabel=TDO/TDI T 5950 6800 5 8 0 1 90 2 1 pinseq=54 T 5900 6650 5 8 0 1 90 8 1 pintype=io } P 5500 6700 5500 7000 1 0 1 { T 5450 6800 5 8 1 1 90 0 1 pinnumber=55 T 5500 6650 9 8 1 1 90 6 1 pinlabel=TDI T 5550 6800 5 8 0 1 90 2 1 pinseq=55 T 5500 6650 5 8 0 1 90 8 1 pintype=in } P 5100 6700 5100 7000 1 0 1 { T 5050 6800 5 8 1 1 90 0 1 pinnumber=56 T 5100 6650 9 8 1 1 90 6 1 pinlabel=TMS T 5150 6800 5 8 0 1 90 2 1 pinseq=56 T 5100 6650 5 8 0 1 90 8 1 pintype=in } P 4700 6700 4700 7000 1 0 1 { T 4650 6800 5 8 1 1 90 0 1 pinnumber=57 T 4700 6650 9 8 1 1 90 6 1 pinlabel=TCK T 4750 6800 5 8 0 1 90 2 1 pinseq=57 T 4700 6650 5 8 0 1 90 8 1 pintype=in } P 4300 6800 4300 7000 1 0 1 { T 4250 6800 5 8 1 1 90 0 1 pinnumber=58 T 4300 6650 9 8 1 1 90 6 1 pinlabel=\_RST\_/NMI T 4350 6800 5 8 0 1 90 2 1 pinseq=58 T 4300 6650 5 8 0 1 90 8 1 pintype=in } P 3900 6700 3900 7000 1 0 1 { T 3850 6800 5 8 1 1 90 0 1 pinnumber=59 T 3900 6650 9 8 1 1 90 6 1 pinlabel=P6.0/A0 T 3950 6800 5 8 0 1 90 2 1 pinseq=59 T 3900 6650 5 8 0 1 90 8 1 pintype=io } P 3500 6700 3500 7000 1 0 1 { T 3450 6800 5 8 1 1 90 0 1 pinnumber=60 T 3500 6650 9 8 1 1 90 6 1 pinlabel=P6.1/A1 T 3550 6800 5 8 0 1 90 2 1 pinseq=60 T 3500 6650 5 8 0 1 90 8 1 pintype=io } P 3100 6700 3100 7000 1 0 1 { T 3050 6800 5 8 1 1 90 0 1 pinnumber=61 T 3100 6650 9 8 1 1 90 6 1 pinlabel=P6.2/A2 T 3150 6800 5 8 0 1 90 2 1 pinseq=61 T 3100 6650 5 8 0 1 90 8 1 pintype=io } P 2700 6700 2700 7000 1 0 1 { T 2650 6800 5 8 1 1 90 0 1 pinnumber=62 T 2700 6650 9 8 1 1 90 6 1 pinlabel=AVss T 2750 6800 5 8 0 1 90 2 1 pinseq=62 T 2700 6650 5 8 0 1 90 8 1 pintype=pwr } P 2300 6700 2300 7000 1 0 1 { T 2250 6800 5 8 1 1 90 0 1 pinnumber=63 T 2300 6650 9 8 1 1 90 6 1 pinlabel=DVss T 2350 6800 5 8 0 1 90 2 1 pinseq=63 T 2300 6650 5 8 0 1 90 8 1 pintype=pwr } P 1900 6700 1900 7000 1 0 1 { T 1850 6800 5 8 1 1 90 0 1 pinnumber=64 T 1900 6650 9 8 1 1 90 6 1 pinlabel=AVcc T 1950 6800 5 8 0 1 90 2 1 pinseq=64 T 1900 6650 5 8 0 1 90 8 1 pintype=pwr } T 2600 3550 5 10 0 0 0 0 1 footprint=none T 2600 3750 5 10 0 0 0 0 1 description=16-bit mixed signal microcontroller T 2600 3350 5 10 0 0 0 0 1 numslots=0 T 300 6750 3 10 1 0 0 0 1 MSP430x13/4x V 4300 6750 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2600 3150 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/msp430f133.pdf geda-gaf-1.8.2/symbols/micro/MSP430x12x.sym0000664000175000017500000001277412204104272015051 00000000000000v 20070626 1 B 400 100 3000 5800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 6150 5 10 0 0 0 0 1 device=MSP430x12x2 T 3350 5950 8 10 1 1 0 6 1 refdes=U? P 400 5600 100 5600 1 0 1 { T 300 5650 5 8 1 1 0 6 1 pinnumber=1 T 450 5600 9 8 1 1 0 0 1 pinlabel=TEST T 300 5550 5 8 0 1 0 8 1 pinseq=1 T 450 5600 5 8 0 1 0 2 1 pintype=in } P 400 5200 100 5200 1 0 1 { T 300 5250 5 8 1 1 0 6 1 pinnumber=2 T 450 5200 9 8 1 1 0 0 1 pinlabel=Vcc T 300 5150 5 8 0 1 0 8 1 pinseq=2 T 450 5200 5 8 0 1 0 2 1 pintype=pwr } P 400 4800 100 4800 1 0 1 { T 300 4850 5 8 1 1 0 6 1 pinnumber=3 T 450 4800 9 8 1 1 0 0 1 pinlabel=P2.5/Rosc T 300 4750 5 8 0 1 0 8 1 pinseq=3 T 450 4800 5 8 0 1 0 2 1 pintype=io } P 400 4400 100 4400 1 0 1 { T 300 4450 5 8 1 1 0 6 1 pinnumber=4 T 450 4400 9 8 1 1 0 0 1 pinlabel=Vss T 300 4350 5 8 0 1 0 8 1 pinseq=4 T 450 4400 5 8 0 1 0 2 1 pintype=pwr } P 400 4000 100 4000 1 0 1 { T 300 4050 5 8 1 1 0 6 1 pinnumber=5 T 450 4000 9 8 1 1 0 0 1 pinlabel=XOUT T 300 3950 5 8 0 1 0 8 1 pinseq=5 T 450 4000 5 8 0 1 0 2 1 pintype=out } P 400 3600 100 3600 1 0 1 { T 300 3650 5 8 1 1 0 6 1 pinnumber=6 T 450 3600 9 8 1 1 0 0 1 pinlabel=XIN T 300 3550 5 8 0 1 0 8 1 pinseq=6 T 450 3600 5 8 0 1 0 2 1 pintype=in } P 300 3200 100 3200 1 0 1 { T 300 3250 5 8 1 1 0 6 1 pinnumber=7 T 450 3200 9 8 1 1 0 0 1 pinlabel=\_RST\_/NMI T 300 3150 5 8 0 1 0 8 1 pinseq=7 T 450 3200 5 8 0 1 0 2 1 pintype=in } P 400 2800 100 2800 1 0 1 { T 300 2850 5 8 1 1 0 6 1 pinnumber=8 T 450 2800 9 8 1 1 0 0 1 pinlabel=P2.0/ACLK T 300 2750 5 8 0 1 0 8 1 pinseq=8 T 450 2800 5 8 0 1 0 2 1 pintype=io } P 400 2400 100 2400 1 0 1 { T 300 2450 5 8 1 1 0 6 1 pinnumber=9 T 450 2400 9 8 1 1 0 0 1 pinlabel=P2.1/INCLK T 300 2350 5 8 0 1 0 8 1 pinseq=9 T 450 2400 5 8 0 1 0 2 1 pintype=io } P 400 2000 100 2000 1 0 1 { T 300 2050 5 8 1 1 0 6 1 pinnumber=10 T 450 2000 9 8 1 1 0 0 1 pinlabel=P2.2/CAOUT/TA0 T 300 1950 5 8 0 1 0 8 1 pinseq=10 T 450 2000 5 8 0 1 0 2 1 pintype=io } P 400 1600 100 1600 1 0 1 { T 300 1650 5 8 1 1 0 6 1 pinnumber=11 T 450 1600 9 8 1 1 0 0 1 pinlabel=P3.0/STE0 T 300 1550 5 8 0 1 0 8 1 pinseq=11 T 450 1600 5 8 0 1 0 2 1 pintype=io } P 400 1200 100 1200 1 0 1 { T 300 1250 5 8 1 1 0 6 1 pinnumber=12 T 450 1200 9 8 1 1 0 0 1 pinlabel=P3.1/SIMO0 T 300 1150 5 8 0 1 0 8 1 pinseq=12 T 450 1200 5 8 0 1 0 2 1 pintype=io } P 400 800 100 800 1 0 1 { T 300 850 5 8 1 1 0 6 1 pinnumber=13 T 450 800 9 8 1 1 0 0 1 pinlabel=P3.2/SOMI0 T 300 750 5 8 0 1 0 8 1 pinseq=13 T 450 800 5 8 0 1 0 2 1 pintype=io } P 400 400 100 400 1 0 1 { T 300 450 5 8 1 1 0 6 1 pinnumber=14 T 450 400 9 8 1 1 0 0 1 pinlabel=P3.3/UCLK0 T 300 350 5 8 0 1 0 8 1 pinseq=14 T 450 400 5 8 0 1 0 2 1 pintype=io } P 3400 400 3700 400 1 0 1 { T 3500 450 5 8 1 1 0 0 1 pinnumber=15 T 3350 400 9 8 1 1 0 6 1 pinlabel=P3.4/UTXD0 T 3500 350 5 8 0 1 0 2 1 pinseq=15 T 3350 400 5 8 0 1 0 8 1 pintype=io } P 3400 800 3700 800 1 0 1 { T 3500 850 5 8 1 1 0 0 1 pinnumber=16 T 3350 800 9 8 1 1 0 6 1 pinlabel=P3.5/URXD0 T 3500 750 5 8 0 1 0 2 1 pinseq=16 T 3350 800 5 8 0 1 0 8 1 pintype=io } P 3400 1200 3700 1200 1 0 1 { T 3500 1250 5 8 1 1 0 0 1 pinnumber=17 T 3350 1200 9 8 1 1 0 6 1 pinlabel=P3.6 T 3500 1150 5 8 0 1 0 2 1 pinseq=17 T 3350 1200 5 8 0 1 0 8 1 pintype=io } P 3400 1600 3700 1600 1 0 1 { T 3500 1650 5 8 1 1 0 0 1 pinnumber=18 T 3350 1600 9 8 1 1 0 6 1 pinlabel=P3.7 T 3500 1550 5 8 0 1 0 2 1 pinseq=18 T 3350 1600 5 8 0 1 0 8 1 pintype=io } P 3400 2000 3700 2000 1 0 1 { T 3500 2050 5 8 1 1 0 0 1 pinnumber=19 T 3350 2000 9 8 1 1 0 6 1 pinlabel=P2.3/CA0/TA1 T 3500 1950 5 8 0 1 0 2 1 pinseq=19 T 3350 2000 5 8 0 1 0 8 1 pintype=io } P 3400 2400 3700 2400 1 0 1 { T 3500 2450 5 8 1 1 0 0 1 pinnumber=20 T 3350 2400 9 8 1 1 0 6 1 pinlabel=P2.4/CA1/TA2 T 3500 2350 5 8 0 1 0 2 1 pinseq=20 T 3350 2400 5 8 0 1 0 8 1 pintype=io } P 3400 2800 3700 2800 1 0 1 { T 3500 2850 5 8 1 1 0 0 1 pinnumber=21 T 3350 2800 9 8 1 1 0 6 1 pinlabel=P1.0/TACLK T 3500 2750 5 8 0 1 0 2 1 pinseq=21 T 3350 2800 5 8 0 1 0 8 1 pintype=io } P 3400 3200 3700 3200 1 0 1 { T 3500 3250 5 8 1 1 0 0 1 pinnumber=22 T 3350 3200 9 8 1 1 0 6 1 pinlabel=P1.1/TA0 T 3500 3150 5 8 0 1 0 2 1 pinseq=22 T 3350 3200 5 8 0 1 0 8 1 pintype=io } P 3400 3600 3700 3600 1 0 1 { T 3500 3650 5 8 1 1 0 0 1 pinnumber=23 T 3350 3600 9 8 1 1 0 6 1 pinlabel=P1.2/TA1 T 3500 3550 5 8 0 1 0 2 1 pinseq=23 T 3350 3600 5 8 0 1 0 8 1 pintype=io } P 3400 4000 3700 4000 1 0 1 { T 3500 4050 5 8 1 1 0 0 1 pinnumber=24 T 3350 4000 9 8 1 1 0 6 1 pinlabel=P1.3/TA2 T 3500 3950 5 8 0 1 0 2 1 pinseq=24 T 3350 4000 5 8 0 1 0 8 1 pintype=io } P 3400 4400 3700 4400 1 0 1 { T 3500 4450 5 8 1 1 0 0 1 pinnumber=25 T 3350 4400 9 8 1 1 0 6 1 pinlabel=P1.4/SMCLK/TCK T 3500 4350 5 8 0 1 0 2 1 pinseq=25 T 3350 4400 5 8 0 1 0 8 1 pintype=io } P 3400 4800 3700 4800 1 0 1 { T 3500 4850 5 8 1 1 0 0 1 pinnumber=26 T 3350 4800 9 8 1 1 0 6 1 pinlabel=P1.5/TA0/TMS T 3500 4750 5 8 0 1 0 2 1 pinseq=26 T 3350 4800 5 8 0 1 0 8 1 pintype=io } P 3400 5200 3700 5200 1 0 1 { T 3500 5250 5 8 1 1 0 0 1 pinnumber=27 T 3350 5200 9 8 1 1 0 6 1 pinlabel=P1.6/TA1/TDI T 3500 5150 5 8 0 1 0 2 1 pinseq=27 T 3350 5200 5 8 0 1 0 8 1 pintype=io } P 3400 5600 3700 5600 1 0 1 { T 3500 5650 5 8 1 1 0 0 1 pinnumber=28 T 3350 5600 9 8 1 1 0 6 1 pinlabel=P1.7/TA2/TDO/TDI T 3500 5550 5 8 0 1 0 2 1 pinseq=28 T 3350 5600 5 8 0 1 0 8 1 pintype=io } T 400 6550 5 10 0 0 0 0 1 footprint=none T 400 6750 5 10 0 0 0 0 1 description=16-bit mixed signal microcontroller T 400 6350 5 10 0 0 0 0 1 numslots=0 T 400 5950 3 10 1 0 0 0 1 MSP430x12x2 V 350 3200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 6950 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/msp430f122.pdf geda-gaf-1.8.2/symbols/micro/AT90S1200.sym0000664000175000017500000000725612204104272014542 00000000000000v 20070626 1 T 2300 4000 8 10 1 1 0 6 1 refdes=U? T 300 4150 5 10 0 0 0 0 1 device=AT90S1200 T 300 4350 5 10 0 0 0 0 1 footprint=DIP20 T 300 4550 5 10 0 0 0 0 1 net=GND:10 T 300 4750 5 10 0 0 0 0 1 net=Vcc:20 P 1900 0 1900 200 1 0 0 { T 1950 100 5 8 1 1 0 0 1 pinnumber=1 T 1950 100 5 8 0 1 0 2 1 pinseq=1 T 1900 350 9 8 1 1 0 3 1 pinlabel=\_Reset\_ T 1900 500 5 8 0 1 0 3 1 pintype=in } V 1900 250 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 0 1300 300 1 0 0 { T 1350 100 5 8 1 1 0 0 1 pinnumber=4 T 1350 100 5 8 0 1 0 2 1 pinseq=2 T 1300 350 9 8 1 1 0 3 1 pinlabel=XTAL2 T 1300 500 5 8 0 1 0 3 1 pintype=out } P 700 0 700 300 1 0 0 { T 750 100 5 8 1 1 0 0 1 pinnumber=5 T 750 100 5 8 0 1 0 2 1 pinseq=3 T 700 350 9 8 1 1 0 3 1 pinlabel=XTAL1 T 700 500 5 8 0 1 0 3 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=11 T 200 1050 5 8 0 1 0 8 1 pinseq=4 T 350 1100 9 8 1 1 0 0 1 pinlabel=PD6 T 350 1100 5 8 0 1 0 2 1 pintype=io } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=9 T 200 1450 5 8 0 1 0 8 1 pinseq=5 T 350 1500 9 8 1 1 0 0 1 pinlabel=PD5 T 350 1500 5 8 0 1 0 2 1 pintype=io } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=8 T 200 1850 5 8 0 1 0 8 1 pinseq=6 T 350 1900 9 8 1 1 0 0 1 pinlabel=PD4 (T0) T 350 1900 5 8 0 1 0 2 1 pintype=io } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=7 T 200 2250 5 8 0 1 0 8 1 pinseq=7 T 350 2300 9 8 1 1 0 0 1 pinlabel=PD3 T 350 2300 5 8 0 1 0 2 1 pintype=io } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=6 T 200 2650 5 8 0 1 0 8 1 pinseq=8 T 350 2700 9 8 1 1 0 0 1 pinlabel=PD2 (INT0) T 350 2700 5 8 0 1 0 2 1 pintype=io } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=3 T 200 3050 5 8 0 1 0 8 1 pinseq=9 T 350 3100 9 8 1 1 0 0 1 pinlabel=PD1 T 350 3100 5 8 0 1 0 2 1 pintype=io } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=2 T 200 3450 5 8 0 1 0 8 1 pinseq=10 T 350 3500 9 8 1 1 0 0 1 pinlabel=PD0 T 350 3500 5 8 0 1 0 2 1 pintype=io } P 2600 700 2300 700 1 0 0 { T 2400 750 5 8 1 1 0 0 1 pinnumber=19 T 2400 650 5 8 0 1 0 2 1 pinseq=11 T 2250 700 9 8 1 1 0 6 1 pinlabel=(SCK) PB7 T 2250 700 5 8 0 1 0 8 1 pintype=io } P 2600 1100 2300 1100 1 0 0 { T 2400 1150 5 8 1 1 0 0 1 pinnumber=18 T 2400 1050 5 8 0 1 0 2 1 pinseq=12 T 2250 1100 9 8 1 1 0 6 1 pinlabel=(MISO) PB6 T 2250 1100 5 8 0 1 0 8 1 pintype=io } P 2600 1500 2300 1500 1 0 0 { T 2400 1550 5 8 1 1 0 0 1 pinnumber=17 T 2400 1450 5 8 0 1 0 2 1 pinseq=13 T 2250 1500 9 8 1 1 0 6 1 pinlabel=(MOSI) PB5 T 2250 1500 5 8 0 1 0 8 1 pintype=io } P 2600 1900 2300 1900 1 0 0 { T 2400 1950 5 8 1 1 0 0 1 pinnumber=16 T 2400 1850 5 8 0 1 0 2 1 pinseq=14 T 2250 1900 9 8 1 1 0 6 1 pinlabel=PB4 T 2250 1900 5 8 0 1 0 8 1 pintype=io } P 2600 2300 2300 2300 1 0 0 { T 2400 2350 5 8 1 1 0 0 1 pinnumber=15 T 2400 2250 5 8 0 1 0 2 1 pinseq=15 T 2250 2300 9 8 1 1 0 6 1 pinlabel=PB3 T 2250 2300 5 8 0 1 0 8 1 pintype=io } P 2600 2700 2300 2700 1 0 0 { T 2400 2750 5 8 1 1 0 0 1 pinnumber=14 T 2400 2650 5 8 0 1 0 2 1 pinseq=16 T 2250 2700 9 8 1 1 0 6 1 pinlabel=PB2 T 2250 2700 5 8 0 1 0 8 1 pintype=io } P 2600 3100 2300 3100 1 0 0 { T 2400 3150 5 8 1 1 0 0 1 pinnumber=13 T 2400 3050 5 8 0 1 0 2 1 pinseq=17 T 2250 3100 9 8 1 1 0 6 1 pinlabel=(AIN1) PB1 T 2250 3100 5 8 0 1 0 8 1 pintype=io } P 2600 3500 2300 3500 1 0 0 { T 2400 3550 5 8 1 1 0 0 1 pinnumber=12 T 2400 3450 5 8 0 1 0 2 1 pinseq=18 T 2250 3500 9 8 1 1 0 6 1 pinlabel=(AIN0) PB0 T 2250 3500 5 8 0 1 0 8 1 pintype=io } B 300 300 2000 3600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4950 5 10 0 0 0 0 1 description=8-bit RISC micro controller (Atmel) T 300 5150 5 10 0 0 0 0 1 numslots=0 T 300 5350 5 10 0 0 0 0 1 author=Werner Hoch T 300 3950 9 10 1 0 0 0 1 AT90S1200 geda-gaf-1.8.2/symbols/micro/8052basic-1.sym0000664000175000017500000001630012204104272015163 00000000000000v 20031231 1 B 300 0 3000 6200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 7150 5 10 0 0 0 0 1 footprint=DIP40 T 3300 6300 8 10 1 1 0 6 1 refdes=U? T 300 6950 5 10 0 0 0 0 1 net=VSS:20 T 300 6750 5 10 0 0 0 0 1 net=VCC:40 P 0 5300 300 5300 1 0 0 { T 350 5300 9 8 1 1 0 0 1 pinlabel=P1.2-PWM T 200 5350 5 8 1 1 0 6 1 pinnumber=3 T 200 5250 5 8 0 1 0 8 1 pinseq=3 T 350 5300 5 8 0 1 0 2 1 pintype=io } P 0 5000 300 5000 1 0 0 { T 350 5000 9 8 1 1 0 0 1 pinlabel=P1.3-/ALEDIS T 200 5050 5 8 1 1 0 6 1 pinnumber=4 T 200 4950 5 8 0 1 0 8 1 pinseq=4 T 350 5000 5 8 0 1 0 2 1 pintype=io } P 0 5900 300 5900 1 0 0 { T 350 5900 9 8 1 1 0 0 1 pinlabel=P1.0-T2 T 200 5950 5 8 1 1 0 6 1 pinnumber=1 T 200 5850 5 8 0 1 0 8 1 pinseq=1 T 350 5900 5 8 0 1 0 2 1 pintype=io } P 0 5600 300 5600 1 0 0 { T 350 5600 9 8 1 1 0 0 1 pinlabel=P1.1-T2EX T 200 5650 5 8 1 1 0 6 1 pinnumber=2 T 200 5550 5 8 0 1 0 8 1 pinseq=2 T 350 5600 5 8 0 1 0 2 1 pintype=io } P 0 4100 300 4100 1 0 0 { T 350 4100 9 8 1 1 0 0 1 pinlabel=P1.6-/DMA ACK T 200 4150 5 8 1 1 0 6 1 pinnumber=7 T 200 4050 5 8 0 1 0 8 1 pinseq=7 T 350 4100 5 8 0 1 0 2 1 pintype=io } P 0 3800 300 3800 1 0 0 { T 350 3800 9 8 1 1 0 0 1 pinlabel=P1.7-/LPT T 200 3850 5 8 1 1 0 6 1 pinnumber=8 T 200 3750 5 8 0 1 0 8 1 pinseq=8 T 350 3800 5 8 0 1 0 2 1 pintype=io } P 0 4700 300 4700 1 0 0 { T 350 4700 9 8 1 1 0 0 1 pinlabel=P1.4-/PGM PLS T 200 4750 5 8 1 1 0 6 1 pinnumber=5 T 200 4650 5 8 0 1 0 8 1 pinseq=5 T 350 4700 5 8 0 1 0 2 1 pintype=io } P 0 4400 300 4400 1 0 0 { T 350 4400 9 8 1 1 0 0 1 pinlabel=P1.5-/PGM EN T 200 4450 5 8 1 1 0 6 1 pinnumber=6 T 200 4350 5 8 0 1 0 8 1 pinseq=6 T 350 4400 5 8 0 1 0 2 1 pintype=io } P 0 2300 300 2300 1 0 0 { T 350 2300 9 8 1 1 0 0 1 pinlabel=P3.2-/INT0-/DMA T 200 2350 5 8 1 1 0 6 1 pinnumber=12 T 200 2250 5 8 0 1 0 8 1 pinseq=12 T 350 2300 5 8 0 1 0 2 1 pintype=io } P 0 2000 300 2000 1 0 0 { T 350 2000 9 8 1 1 0 0 1 pinlabel=P3.3-/INT1-/DMA T 200 2050 5 8 1 1 0 6 1 pinnumber=13 T 200 1950 5 8 0 1 0 8 1 pinseq=13 T 350 2000 5 8 0 1 0 2 1 pintype=io } P 0 2900 300 2900 1 0 0 { T 350 2900 9 8 1 1 0 0 1 pinlabel=P3.0-RXD T 200 2950 5 8 1 1 0 6 1 pinnumber=10 T 200 2850 5 8 0 1 0 8 1 pinseq=10 T 350 2900 5 8 0 1 0 2 1 pintype=io } P 0 2600 300 2600 1 0 0 { T 350 2600 9 8 1 1 0 0 1 pinlabel=P3.1-TXD T 200 2650 5 8 1 1 0 6 1 pinnumber=11 T 200 2550 5 8 0 1 0 8 1 pinseq=11 T 350 2600 5 8 0 1 0 2 1 pintype=io } P 0 1100 300 1100 1 0 0 { T 350 1100 9 8 1 1 0 0 1 pinlabel=P3.6-/WR T 200 1150 5 8 1 1 0 6 1 pinnumber=16 T 200 1050 5 8 0 1 0 8 1 pinseq=16 T 350 1100 5 8 0 1 0 2 1 pintype=io } P 0 800 300 800 1 0 0 { T 350 800 9 8 1 1 0 0 1 pinlabel=P3.7-/RD T 200 850 5 8 1 1 0 6 1 pinnumber=17 T 200 750 5 8 0 1 0 8 1 pinseq=17 T 350 800 5 8 0 1 0 2 1 pintype=io } P 0 1700 300 1700 1 0 0 { T 350 1700 9 8 1 1 0 0 1 pinlabel=P3.4-T0 T 200 1750 5 8 1 1 0 6 1 pinnumber=14 T 200 1650 5 8 0 1 0 8 1 pinseq=14 T 350 1700 5 8 0 1 0 2 1 pintype=io } P 0 1400 300 1400 1 0 0 { T 350 1400 9 8 1 1 0 0 1 pinlabel=P3.5-T1 T 200 1450 5 8 1 1 0 6 1 pinnumber=15 T 200 1350 5 8 0 1 0 8 1 pinseq=15 T 350 1400 5 8 0 1 0 2 1 pintype=io } P 0 3400 300 3400 1 0 0 { T 350 3400 9 8 1 1 0 0 1 pinlabel=RESET T 200 3450 5 8 1 1 0 6 1 pinnumber=9 T 200 3350 5 8 0 1 0 8 1 pinseq=9 T 350 3400 5 8 0 1 0 2 1 pintype=in } P 0 500 300 500 1 0 0 { T 350 500 9 8 1 1 0 0 1 pinlabel=XTAL2 T 200 550 5 8 1 1 0 6 1 pinnumber=18 T 200 450 5 8 0 1 0 8 1 pinseq=18 T 350 500 5 8 0 1 0 2 1 pintype=out } P 0 200 300 200 1 0 0 { T 350 200 9 8 1 1 0 0 1 pinlabel=XTAL1 T 200 250 5 8 1 1 0 6 1 pinnumber=19 T 200 150 5 8 0 1 0 8 1 pinseq=19 T 350 200 5 8 0 1 0 2 1 pintype=in } P 3300 5900 3600 5900 1 0 1 { T 3400 5950 5 8 1 1 0 0 1 pinnumber=39 T 3400 5850 5 8 0 1 0 2 1 pinseq=20 T 3250 5900 9 8 1 1 0 6 1 pinlabel=AD0 T 3250 5900 5 8 0 1 0 8 1 pintype=io } P 3300 5600 3600 5600 1 0 1 { T 3400 5650 5 8 1 1 0 0 1 pinnumber=38 T 3400 5550 5 8 0 1 0 2 1 pinseq=21 T 3250 5600 9 8 1 1 0 6 1 pinlabel=AD1 T 3250 5600 5 8 0 1 0 8 1 pintype=io } P 3300 5300 3600 5300 1 0 1 { T 3400 5350 5 8 1 1 0 0 1 pinnumber=37 T 3400 5250 5 8 0 1 0 2 1 pinseq=22 T 3250 5300 9 8 1 1 0 6 1 pinlabel=AD2 T 3250 5300 5 8 0 1 0 8 1 pintype=io } P 3300 5000 3600 5000 1 0 1 { T 3400 5050 5 8 1 1 0 0 1 pinnumber=36 T 3400 4950 5 8 0 1 0 2 1 pinseq=23 T 3250 5000 9 8 1 1 0 6 1 pinlabel=AD3 T 3250 5000 5 8 0 1 0 8 1 pintype=io } P 3300 4700 3600 4700 1 0 1 { T 3400 4750 5 8 1 1 0 0 1 pinnumber=35 T 3400 4650 5 8 0 1 0 2 1 pinseq=24 T 3250 4700 9 8 1 1 0 6 1 pinlabel=AD4 T 3250 4700 5 8 0 1 0 8 1 pintype=io } P 3300 4400 3600 4400 1 0 1 { T 3400 4450 5 8 1 1 0 0 1 pinnumber=34 T 3400 4350 5 8 0 1 0 2 1 pinseq=25 T 3250 4400 9 8 1 1 0 6 1 pinlabel=AD5 T 3250 4400 5 8 0 1 0 8 1 pintype=io } P 3300 4100 3600 4100 1 0 1 { T 3400 4150 5 8 1 1 0 0 1 pinnumber=33 T 3400 4050 5 8 0 1 0 2 1 pinseq=26 T 3250 4100 9 8 1 1 0 6 1 pinlabel=AD6 T 3250 4100 5 8 0 1 0 8 1 pintype=io } P 3300 3800 3600 3800 1 0 1 { T 3400 3850 5 8 1 1 0 0 1 pinnumber=32 T 3400 3750 5 8 0 1 0 2 1 pinseq=27 T 3250 3800 9 8 1 1 0 6 1 pinlabel=AD7 T 3250 3800 5 8 0 1 0 8 1 pintype=io } V 3350 3400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 3400 3400 3600 3400 1 0 1 { T 3400 3450 5 8 1 1 0 0 1 pinnumber=31 T 3400 3350 5 8 0 1 0 2 1 pinseq=28 T 3250 3400 9 8 1 1 0 6 1 pinlabel=/EA T 3250 3400 5 8 0 1 0 8 1 pintype=in } P 3300 3000 3600 3000 1 0 1 { T 3400 3050 5 8 1 1 0 0 1 pinnumber=30 T 3400 2950 5 8 0 1 0 2 1 pinseq=29 T 3250 3000 9 8 1 1 0 6 1 pinlabel=ALE T 3250 3000 5 8 0 1 0 8 1 pintype=out } V 3350 2600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 3400 2600 3600 2600 1 0 1 { T 3400 2650 5 8 1 1 0 0 1 pinnumber=29 T 3400 2550 5 8 0 1 0 2 1 pinseq=30 T 3250 2600 9 8 1 1 0 6 1 pinlabel=/PSEN T 3250 2600 5 8 0 1 0 8 1 pintype=out } P 3300 2300 3600 2300 1 0 1 { T 3400 2350 5 8 1 1 0 0 1 pinnumber=28 T 3400 2250 5 8 0 1 0 2 1 pinseq=31 T 3250 2300 9 8 1 1 0 6 1 pinlabel=A15 T 3250 2300 5 8 0 1 0 8 1 pintype=io } P 3300 2000 3600 2000 1 0 1 { T 3400 2050 5 8 1 1 0 0 1 pinnumber=27 T 3400 1950 5 8 0 1 0 2 1 pinseq=32 T 3250 2000 9 8 1 1 0 6 1 pinlabel=A14 T 3250 2000 5 8 0 1 0 8 1 pintype=io } P 3300 1700 3600 1700 1 0 1 { T 3400 1750 5 8 1 1 0 0 1 pinnumber=26 T 3400 1650 5 8 0 1 0 2 1 pinseq=33 T 3250 1700 9 8 1 1 0 6 1 pinlabel=A13 T 3250 1700 5 8 0 1 0 8 1 pintype=io } P 3300 1400 3600 1400 1 0 1 { T 3400 1450 5 8 1 1 0 0 1 pinnumber=25 T 3400 1350 5 8 0 1 0 2 1 pinseq=34 T 3250 1400 9 8 1 1 0 6 1 pinlabel=A12 T 3250 1400 5 8 0 1 0 8 1 pintype=io } P 3300 1100 3600 1100 1 0 1 { T 3400 1150 5 8 1 1 0 0 1 pinnumber=24 T 3400 1050 5 8 0 1 0 2 1 pinseq=35 T 3250 1100 9 8 1 1 0 6 1 pinlabel=A11 T 3250 1100 5 8 0 1 0 8 1 pintype=io } P 3300 800 3600 800 1 0 1 { T 3400 850 5 8 1 1 0 0 1 pinnumber=23 T 3400 750 5 8 0 1 0 2 1 pinseq=36 T 3250 800 9 8 1 1 0 6 1 pinlabel=A10 T 3250 800 5 8 0 1 0 8 1 pintype=io } P 3300 500 3600 500 1 0 1 { T 3400 550 5 8 1 1 0 0 1 pinnumber=22 T 3400 450 5 8 0 1 0 2 1 pinseq=37 T 3250 500 9 8 1 1 0 6 1 pinlabel=A9 T 3250 500 5 8 0 1 0 8 1 pintype=io } P 3300 200 3600 200 1 0 1 { T 3400 250 5 8 1 1 0 0 1 pinnumber=21 T 3400 150 5 8 0 1 0 2 1 pinseq=38 T 3250 200 9 8 1 1 0 6 1 pinlabel=A8 T 3250 200 5 8 0 1 0 8 1 pintype=io } T 300 6550 5 10 0 0 0 0 1 device=80(C)52-BASIC T 300 7550 5 10 0 0 0 0 1 description=8-bit micro controller T 300 7350 5 10 0 0 0 0 1 numslots=0 T 300 6300 9 10 1 0 0 0 1 80(C)52-BASIC geda-gaf-1.8.2/symbols/micro/6821-2.sym0000664000175000017500000001707712204104272014200 00000000000000v 20070626 1 P 1900 6300 2200 6300 1 0 1 { T 2000 6350 5 8 1 1 0 0 1 pinnumber=2 T 2000 6250 5 8 0 1 0 2 1 pinseq=2 T 1850 6300 5 8 0 1 0 8 1 pintype=io T 1850 6300 9 8 1 1 0 6 1 pinlabel=PA0 } P 1900 6000 2200 6000 1 0 1 { T 2000 6050 5 8 1 1 0 0 1 pinnumber=3 T 2000 5950 5 8 0 1 0 2 1 pinseq=3 T 1850 6000 5 8 0 1 0 8 1 pintype=io T 1850 6000 9 8 1 1 0 6 1 pinlabel=PA1 } P 1900 5700 2200 5700 1 0 1 { T 2000 5750 5 8 1 1 0 0 1 pinnumber=4 T 2000 5650 5 8 0 1 0 2 1 pinseq=4 T 1850 5700 5 8 0 1 0 8 1 pintype=io T 1850 5700 9 8 1 1 0 6 1 pinlabel=PA2 } P 1900 5400 2200 5400 1 0 1 { T 2000 5450 5 8 1 1 0 0 1 pinnumber=5 T 2000 5350 5 8 0 1 0 2 1 pinseq=5 T 1850 5400 5 8 0 1 0 8 1 pintype=io T 1850 5400 9 8 1 1 0 6 1 pinlabel=PA3 } P 1900 5100 2200 5100 1 0 1 { T 2000 5150 5 8 1 1 0 0 1 pinnumber=6 T 2000 5050 5 8 0 1 0 2 1 pinseq=6 T 1850 5100 5 8 0 1 0 8 1 pintype=io T 1850 5100 9 8 1 1 0 6 1 pinlabel=PA4 } P 1900 4800 2200 4800 1 0 1 { T 2000 4850 5 8 1 1 0 0 1 pinnumber=7 T 2000 4750 5 8 0 1 0 2 1 pinseq=7 T 1850 4800 5 8 0 1 0 8 1 pintype=io T 1850 4800 9 8 1 1 0 6 1 pinlabel=PA5 } P 1900 4500 2200 4500 1 0 1 { T 2000 4550 5 8 1 1 0 0 1 pinnumber=8 T 2000 4450 5 8 0 1 0 2 1 pinseq=8 T 1850 4500 5 8 0 1 0 8 1 pintype=io T 1850 4500 9 8 1 1 0 6 1 pinlabel=PA6 } P 1900 4200 2200 4200 1 0 1 { T 2000 4250 5 8 1 1 0 0 1 pinnumber=9 T 2000 4150 5 8 0 1 0 2 1 pinseq=9 T 1850 4200 5 8 0 1 0 8 1 pintype=io T 1850 4200 9 8 1 1 0 6 1 pinlabel=PA7 } P 1900 3600 2200 3600 1 0 1 { T 2000 3650 5 8 1 1 0 0 1 pinnumber=10 T 2000 3550 5 8 0 1 0 2 1 pinseq=10 T 1850 3600 5 8 0 1 0 8 1 pintype=io T 1850 3600 9 8 1 1 0 6 1 pinlabel=PB0 } P 1900 3300 2200 3300 1 0 1 { T 2000 3350 5 8 1 1 0 0 1 pinnumber=11 T 2000 3250 5 8 0 1 0 2 1 pinseq=11 T 1850 3300 5 8 0 1 0 8 1 pintype=io T 1850 3300 9 8 1 1 0 6 1 pinlabel=PB1 } P 1900 3000 2200 3000 1 0 1 { T 2000 3050 5 8 1 1 0 0 1 pinnumber=12 T 2000 2950 5 8 0 1 0 2 1 pinseq=12 T 1850 3000 5 8 0 1 0 8 1 pintype=io T 1850 3000 9 8 1 1 0 6 1 pinlabel=PB2 } P 1900 2700 2200 2700 1 0 1 { T 2000 2750 5 8 1 1 0 0 1 pinnumber=13 T 2000 2650 5 8 0 1 0 2 1 pinseq=13 T 1850 2700 5 8 0 1 0 8 1 pintype=io T 1850 2700 9 8 1 1 0 6 1 pinlabel=PB3 } P 1900 2400 2200 2400 1 0 1 { T 2000 2450 5 8 1 1 0 0 1 pinnumber=14 T 2000 2350 5 8 0 1 0 2 1 pinseq=14 T 1850 2400 5 8 0 1 0 8 1 pintype=io T 1850 2400 9 8 1 1 0 6 1 pinlabel=PB4 } P 1900 2100 2200 2100 1 0 1 { T 2000 2150 5 8 1 1 0 0 1 pinnumber=15 T 2000 2050 5 8 0 1 0 2 1 pinseq=15 T 1850 2100 5 8 0 1 0 8 1 pintype=io T 1850 2100 9 8 1 1 0 6 1 pinlabel=PB5 } P 1900 1800 2200 1800 1 0 1 { T 2000 1850 5 8 1 1 0 0 1 pinnumber=16 T 2000 1750 5 8 0 1 0 2 1 pinseq=16 T 1850 1800 5 8 0 1 0 8 1 pintype=io T 1850 1800 9 8 1 1 0 6 1 pinlabel=PB6 } P 1900 1500 2200 1500 1 0 1 { T 2000 1550 5 8 1 1 0 0 1 pinnumber=17 T 2000 1450 5 8 0 1 0 2 1 pinseq=17 T 1850 1500 5 8 0 1 0 8 1 pintype=io T 1850 1500 9 8 1 1 0 6 1 pinlabel=PB7 } P 1900 900 2200 900 1 0 1 { T 2000 950 5 8 1 1 0 0 1 pinnumber=18 T 2000 850 5 8 0 1 0 2 1 pinseq=18 T 1850 900 5 8 0 1 0 8 1 pintype=in T 1850 900 9 8 1 1 0 6 1 pinlabel=CB1 } P 1900 600 2200 600 1 0 1 { T 2000 650 5 8 1 1 0 0 1 pinnumber=19 T 2000 550 5 8 0 1 0 2 1 pinseq=19 T 1850 600 5 8 0 1 0 8 1 pintype=io T 1850 600 9 8 1 1 0 6 1 pinlabel=CB2 } P 1900 6900 2200 6900 1 0 1 { T 2000 6950 5 8 1 1 0 0 1 pinnumber=39 T 2000 6850 5 8 0 1 0 2 1 pinseq=39 T 1850 6900 5 8 0 1 0 8 1 pintype=io T 1850 6900 9 8 1 1 0 6 1 pinlabel=CA2 } P 1900 7200 2200 7200 1 0 1 { T 2000 7250 5 8 1 1 0 0 1 pinnumber=40 T 2000 7150 5 8 0 1 0 2 1 pinseq=40 T 1850 7200 5 8 0 1 0 8 1 pintype=in T 1850 7200 9 8 1 1 0 6 1 pinlabel=CA1 } P 1600 7600 1600 7900 1 0 1 { T 1650 7700 5 8 1 1 0 0 1 pinnumber=20 T 1650 7700 5 8 0 1 0 2 1 pinseq=20 T 1600 7450 5 8 0 1 0 5 1 pintype=pwr T 1600 7550 9 8 1 1 0 5 1 pinlabel=VCC } P 700 400 700 100 1 0 1 { T 750 200 5 8 1 1 0 0 1 pinnumber=1 T 750 200 5 8 0 1 0 2 1 pinseq=1 T 700 575 5 8 0 1 0 3 1 pintype=pwr T 700 450 9 8 1 1 0 3 1 pinlabel=VSS } V 350 1200 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 100 1200 300 1200 1 0 0 { T 300 1250 5 8 1 1 0 6 1 pinnumber=37 T 300 1150 5 8 0 1 0 8 1 pinseq=37 T 450 1200 5 8 0 1 0 2 1 pintype=out T 450 1200 9 8 1 1 0 0 1 pinlabel=\_IRQB\_ } V 350 1500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 100 1500 300 1500 1 0 0 { T 300 1550 5 8 1 1 0 6 1 pinnumber=38 T 300 1450 5 8 0 1 0 8 1 pinseq=38 T 450 1500 5 8 0 1 0 2 1 pintype=out T 450 1500 9 8 1 1 0 0 1 pinlabel=\_IRQA\_ } V 350 2100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 100 2100 300 2100 1 0 0 { T 300 2150 5 8 1 1 0 6 1 pinnumber=23 T 300 2050 5 8 0 1 0 8 1 pinseq=23 T 450 2100 5 8 0 1 0 2 1 pintype=in T 450 2100 9 8 1 1 0 0 1 pinlabel=CS2 } P 400 2400 100 2400 1 0 1 { T 300 2450 5 8 1 1 0 6 1 pinnumber=24 T 300 2350 5 8 0 1 0 8 1 pinseq=24 T 450 2400 5 8 0 1 0 2 1 pintype=in T 450 2400 9 8 1 1 0 0 1 pinlabel=CS1 } P 400 2700 100 2700 1 0 1 { T 300 2750 5 8 1 1 0 6 1 pinnumber=22 T 300 2650 5 8 0 1 0 8 1 pinseq=22 T 450 2700 5 8 0 1 0 2 1 pintype=in T 450 2700 9 8 1 1 0 0 1 pinlabel=CS0 } P 300 3300 100 3300 1 0 1 { T 300 3350 5 8 1 1 0 6 1 pinnumber=34 T 300 3250 5 8 0 1 0 8 1 pinseq=34 T 450 3300 5 8 0 1 0 2 1 pintype=in T 450 3300 9 8 1 1 0 0 1 pinlabel=\_RESET\_ } P 400 3600 100 3600 1 0 1 { T 300 3650 5 8 1 1 0 6 1 pinnumber=21 T 300 3550 5 8 0 1 0 8 1 pinseq=21 T 450 3600 5 8 0 1 0 2 1 pintype=in T 450 3600 9 8 1 1 0 0 1 pinlabel=R/\_W\_ } P 100 3900 400 3900 1 0 0 { T 300 3950 5 8 1 1 0 6 1 pinnumber=25 T 300 3850 5 8 0 1 0 8 1 pinseq=25 T 450 3900 5 8 0 1 0 2 1 pintype=in T 450 3900 9 8 1 1 0 0 1 pinlabel=E } P 100 4200 400 4200 1 0 0 { T 300 4250 5 8 1 1 0 6 1 pinnumber=35 T 300 4150 5 8 0 1 0 8 1 pinseq=35 T 450 4200 5 8 0 1 0 2 1 pintype=in T 450 4200 9 8 1 1 0 0 1 pinlabel=RS1 } P 100 4500 400 4500 1 0 0 { T 300 4550 5 8 1 1 0 6 1 pinnumber=36 T 300 4450 5 8 0 1 0 8 1 pinseq=36 T 450 4500 5 8 0 1 0 2 1 pintype=in T 450 4500 9 8 1 1 0 0 1 pinlabel=RS0 } P 100 5100 400 5100 1 0 0 { T 300 5150 5 8 1 1 0 6 1 pinnumber=26 T 300 5050 5 8 0 1 0 8 1 pinseq=26 T 450 5100 9 8 1 1 0 0 1 pinlabel=D7 T 450 5100 5 8 0 1 0 2 1 pintype=io } P 100 5400 400 5400 1 0 0 { T 300 5450 5 8 1 1 0 6 1 pinnumber=27 T 300 5350 5 8 0 1 0 8 1 pinseq=27 T 450 5400 5 8 0 1 0 2 1 pintype=io T 450 5400 9 8 1 1 0 0 1 pinlabel=D6 } P 100 5700 400 5700 1 0 0 { T 300 5750 5 8 1 1 0 6 1 pinnumber=28 T 300 5650 5 8 0 1 0 8 1 pinseq=28 T 450 5700 5 8 0 1 0 2 1 pintype=io T 450 5700 9 8 1 1 0 0 1 pinlabel=D5 } P 100 6000 400 6000 1 0 0 { T 300 6050 5 8 1 1 0 6 1 pinnumber=29 T 300 5950 5 8 0 1 0 8 1 pinseq=29 T 450 6000 5 8 0 1 0 2 1 pintype=io T 450 6000 9 8 1 1 0 0 1 pinlabel=D4 } P 100 6300 400 6300 1 0 0 { T 300 6350 5 8 1 1 0 6 1 pinnumber=30 T 300 6250 5 8 0 1 0 8 1 pinseq=30 T 450 6300 5 8 0 1 0 2 1 pintype=io T 450 6300 9 8 1 1 0 0 1 pinlabel=D3 } P 100 6600 400 6600 1 0 0 { T 300 6650 5 8 1 1 0 6 1 pinnumber=31 T 300 6550 5 8 0 1 0 8 1 pinseq=31 T 450 6600 5 8 0 1 0 2 1 pintype=io T 450 6600 9 8 1 1 0 0 1 pinlabel=D2 } P 100 6900 400 6900 1 0 0 { T 300 6950 5 8 1 1 0 6 1 pinnumber=32 T 300 6850 5 8 0 1 0 8 1 pinseq=32 T 450 6900 5 8 0 1 0 2 1 pintype=io T 450 6900 9 8 1 1 0 0 1 pinlabel=D1 } P 100 7200 400 7200 1 0 0 { T 300 7250 5 8 1 1 0 6 1 pinnumber=33 T 300 7150 5 8 0 1 0 8 1 pinseq=33 T 450 7200 5 8 0 1 0 2 1 pintype=io T 450 7200 9 8 1 1 0 0 1 pinlabel=D0 } B 400 400 1500 7200 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 T 100 100 8 10 1 1 0 0 1 refdes=U? T 400 7850 5 10 0 0 0 0 1 device=6821 T 400 8645 5 10 0 0 0 0 1 author=Terry J Porter T 400 8045 5 10 0 0 0 0 1 footprint=DIP40 T 400 8450 5 10 0 0 0 0 1 description=PIA peripheral interface line T 400 8250 5 10 0 0 0 0 1 numslots=0 T 400 7650 9 10 1 0 0 0 1 6821 V 350 3300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/micro/AT90S8515_PLCC.sym0000664000175000017500000002007612204104272015356 00000000000000v 20070626 1 T 3000 8900 8 10 1 1 0 6 1 refdes=U? T 400 9050 5 10 0 0 0 0 1 device=AT90S8515_PLCC T 400 9250 5 10 0 0 0 0 1 footprint=PLCC44 T 400 9450 5 10 0 0 0 0 1 net=GND:22 T 400 9650 5 10 0 0 0 0 1 net=Vcc:44 P 2300 100 2300 300 1 0 0 { T 2350 200 5 8 1 1 0 0 1 pinnumber=10 T 2350 200 5 8 0 1 0 2 1 pinseq=1 T 2300 450 9 8 1 1 0 3 1 pinlabel=\_Reset\_ T 2300 600 5 8 0 1 0 3 1 pintype=in } V 2300 350 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1700 100 1700 400 1 0 0 { T 1750 200 5 8 1 1 0 0 1 pinnumber=20 T 1750 200 5 8 0 1 0 2 1 pinseq=2 T 1700 450 9 8 1 1 0 3 1 pinlabel=XTAL2 T 1700 600 5 8 0 1 0 3 1 pintype=out } P 1100 100 1100 400 1 0 0 { T 1150 200 5 8 1 1 0 0 1 pinnumber=21 T 1150 200 5 8 0 1 0 2 1 pinseq=3 T 1100 450 9 8 1 1 0 3 1 pinlabel=XTAL1 T 1100 600 5 8 0 1 0 3 1 pintype=in } P 100 2200 400 2200 1 0 0 { T 300 2250 5 8 1 1 0 6 1 pinnumber=19 T 300 2150 5 8 0 1 0 8 1 pinseq=4 T 450 2200 9 8 1 1 0 0 1 pinlabel=PD7 (\_RD\_) T 450 2200 5 8 0 1 0 2 1 pintype=io } P 100 2600 400 2600 1 0 0 { T 300 2650 5 8 1 1 0 6 1 pinnumber=18 T 300 2550 5 8 0 1 0 8 1 pinseq=5 T 450 2600 9 8 1 1 0 0 1 pinlabel=PD6 (\_WR\_) T 450 2600 5 8 0 1 0 2 1 pintype=io } P 100 3000 400 3000 1 0 0 { T 300 3050 5 8 1 1 0 6 1 pinnumber=17 T 300 2950 5 8 0 1 0 8 1 pinseq=6 T 450 3000 9 8 1 1 0 0 1 pinlabel=PD5 (OC1A) T 450 3000 5 8 0 1 0 2 1 pintype=io } P 100 3400 400 3400 1 0 0 { T 300 3450 5 8 1 1 0 6 1 pinnumber=16 T 300 3350 5 8 0 1 0 8 1 pinseq=7 T 450 3400 9 8 1 1 0 0 1 pinlabel=PD4 T 450 3400 5 8 0 1 0 2 1 pintype=io } P 100 3800 400 3800 1 0 0 { T 300 3850 5 8 1 1 0 6 1 pinnumber=15 T 300 3750 5 8 0 1 0 8 1 pinseq=8 T 450 3800 9 8 1 1 0 0 1 pinlabel=PD3 (INT1) T 450 3800 5 8 0 1 0 2 1 pintype=io } P 100 4200 400 4200 1 0 0 { T 300 4250 5 8 1 1 0 6 1 pinnumber=14 T 300 4150 5 8 0 1 0 8 1 pinseq=9 T 450 4200 9 8 1 1 0 0 1 pinlabel=PD2 (INT0) T 450 4200 5 8 0 1 0 2 1 pintype=io } P 100 4600 400 4600 1 0 0 { T 300 4650 5 8 1 1 0 6 1 pinnumber=13 T 300 4550 5 8 0 1 0 8 1 pinseq=10 T 450 4600 9 8 1 1 0 0 1 pinlabel=PD1 (TXD) T 450 4600 5 8 0 1 0 2 1 pintype=io } P 100 5000 400 5000 1 0 0 { T 300 5050 5 8 1 1 0 6 1 pinnumber=11 T 300 4950 5 8 0 1 0 8 1 pinseq=11 T 450 5000 9 8 1 1 0 0 1 pinlabel=PD0 (RXD) T 450 5000 5 8 0 1 0 2 1 pintype=io } P 100 5600 400 5600 1 0 0 { T 300 5650 5 8 1 1 0 6 1 pinnumber=9 T 300 5550 5 8 0 1 0 8 1 pinseq=12 T 450 5600 9 8 1 1 0 0 1 pinlabel=PB7 (SCK) T 450 5600 5 8 0 1 0 2 1 pintype=io } P 100 6000 400 6000 1 0 0 { T 300 6050 5 8 1 1 0 6 1 pinnumber=8 T 300 5950 5 8 0 1 0 8 1 pinseq=13 T 450 6000 9 8 1 1 0 0 1 pinlabel=PB6 (MISO) T 450 6000 5 8 0 1 0 2 1 pintype=io } P 100 6400 400 6400 1 0 0 { T 300 6450 5 8 1 1 0 6 1 pinnumber=7 T 300 6350 5 8 0 1 0 8 1 pinseq=14 T 450 6400 9 8 1 1 0 0 1 pinlabel=PB5 (MOSI) T 450 6400 5 8 0 1 0 2 1 pintype=io } P 100 6800 400 6800 1 0 0 { T 300 6850 5 8 1 1 0 6 1 pinnumber=6 T 300 6750 5 8 0 1 0 8 1 pinseq=15 T 450 6800 9 8 1 1 0 0 1 pinlabel=PB4 (\_SS\_) T 450 6800 5 8 0 1 0 2 1 pintype=io } P 100 7200 400 7200 1 0 0 { T 300 7250 5 8 1 1 0 6 1 pinnumber=5 T 300 7150 5 8 0 1 0 8 1 pinseq=16 T 450 7200 9 8 1 1 0 0 1 pinlabel=PB3 (AIN1) T 450 7200 5 8 0 1 0 2 1 pintype=io } P 100 7600 400 7600 1 0 0 { T 300 7650 5 8 1 1 0 6 1 pinnumber=4 T 300 7550 5 8 0 1 0 8 1 pinseq=17 T 450 7600 9 8 1 1 0 0 1 pinlabel=PB2 (AIN0) T 450 7600 5 8 0 1 0 2 1 pintype=io } P 100 8000 400 8000 1 0 0 { T 300 8050 5 8 1 1 0 6 1 pinnumber=3 T 300 7950 5 8 0 1 0 8 1 pinseq=18 T 450 8000 9 8 1 1 0 0 1 pinlabel=PB1 (T1) T 450 8000 5 8 0 1 0 2 1 pintype=io } P 100 8400 400 8400 1 0 0 { T 300 8450 5 8 1 1 0 6 1 pinnumber=2 T 300 8350 5 8 0 1 0 8 1 pinseq=19 T 450 8400 9 8 1 1 0 0 1 pinlabel=PB0 (T0) T 450 8400 5 8 0 1 0 2 1 pintype=io } P 100 800 400 800 1 0 0 { T 300 850 5 8 1 1 0 6 1 pinnumber=1 T 300 750 5 8 0 1 0 8 1 pinseq=20 T 450 800 9 8 1 1 0 0 1 pinlabel=NC. T 450 800 5 8 0 1 0 2 1 pintype=tp } P 100 1000 400 1000 1 0 0 { T 300 1050 5 8 1 1 0 6 1 pinnumber=12 T 300 950 5 8 0 1 0 8 1 pinseq=21 T 450 1000 9 8 1 1 0 0 1 pinlabel=NC. T 450 1000 5 8 0 1 0 2 1 pintype=tp } P 100 1200 400 1200 1 0 0 { T 300 1250 5 8 1 1 0 6 1 pinnumber=23 T 300 1150 5 8 0 1 0 8 1 pinseq=22 T 450 1200 9 8 1 1 0 0 1 pinlabel=NC. T 450 1200 5 8 0 1 0 2 1 pintype=tp } P 100 1400 400 1400 1 0 0 { T 300 1450 5 8 1 1 0 6 1 pinnumber=34 T 300 1350 5 8 0 1 0 8 1 pinseq=23 T 450 1400 9 8 1 1 0 0 1 pinlabel=NC. T 450 1400 5 8 0 1 0 2 1 pintype=tp } P 3300 2200 3000 2200 1 0 0 { T 3100 2250 5 8 1 1 0 0 1 pinnumber=31 T 3100 2150 5 8 0 1 0 2 1 pinseq=24 T 2950 2200 9 8 1 1 0 6 1 pinlabel=(A15) PC7 T 2950 2200 5 8 0 1 0 8 1 pintype=io } P 3300 2600 3000 2600 1 0 0 { T 3100 2650 5 8 1 1 0 0 1 pinnumber=30 T 3100 2550 5 8 0 1 0 2 1 pinseq=25 T 2950 2600 9 8 1 1 0 6 1 pinlabel=(A14) PC6 T 2950 2600 5 8 0 1 0 8 1 pintype=io } P 3300 3000 3000 3000 1 0 0 { T 3100 3050 5 8 1 1 0 0 1 pinnumber=29 T 3100 2950 5 8 0 1 0 2 1 pinseq=26 T 2950 3000 9 8 1 1 0 6 1 pinlabel=(A13) PC5 T 2950 3000 5 8 0 1 0 8 1 pintype=io } P 3300 3400 3000 3400 1 0 0 { T 3100 3450 5 8 1 1 0 0 1 pinnumber=28 T 3100 3350 5 8 0 1 0 2 1 pinseq=27 T 2950 3400 9 8 1 1 0 6 1 pinlabel=(A12) PC4 T 2950 3400 5 8 0 1 0 8 1 pintype=io } P 3300 3800 3000 3800 1 0 0 { T 3100 3850 5 8 1 1 0 0 1 pinnumber=27 T 3100 3750 5 8 0 1 0 2 1 pinseq=28 T 2950 3800 9 8 1 1 0 6 1 pinlabel=(A11) PC3 T 2950 3800 5 8 0 1 0 8 1 pintype=io } P 3300 4200 3000 4200 1 0 0 { T 3100 4250 5 8 1 1 0 0 1 pinnumber=26 T 3100 4150 5 8 0 1 0 2 1 pinseq=29 T 2950 4200 9 8 1 1 0 6 1 pinlabel=(A10) PC2 T 2950 4200 5 8 0 1 0 8 1 pintype=io } P 3300 4600 3000 4600 1 0 0 { T 3100 4650 5 8 1 1 0 0 1 pinnumber=25 T 3100 4550 5 8 0 1 0 2 1 pinseq=30 T 2950 4600 9 8 1 1 0 6 1 pinlabel=(A9) PC1 T 2950 4600 5 8 0 1 0 8 1 pintype=io } P 3300 5000 3000 5000 1 0 0 { T 3100 5050 5 8 1 1 0 0 1 pinnumber=24 T 3100 4950 5 8 0 1 0 2 1 pinseq=31 T 2950 5000 9 8 1 1 0 6 1 pinlabel=(A8) PC0 T 2950 5000 5 8 0 1 0 8 1 pintype=io } P 3300 5600 3000 5600 1 0 0 { T 3100 5650 5 8 1 1 0 0 1 pinnumber=36 T 3100 5550 5 8 0 1 0 2 1 pinseq=32 T 2950 5600 9 8 1 1 0 6 1 pinlabel=(AD7) PA7 T 2950 5600 5 8 0 1 0 8 1 pintype=io } P 3300 6000 3000 6000 1 0 0 { T 3100 6050 5 8 1 1 0 0 1 pinnumber=37 T 3100 5950 5 8 0 1 0 2 1 pinseq=33 T 2950 6000 9 8 1 1 0 6 1 pinlabel=(AD6) PA6 T 2950 6000 5 8 0 1 0 8 1 pintype=io } P 3300 6400 3000 6400 1 0 0 { T 3100 6450 5 8 1 1 0 0 1 pinnumber=38 T 3100 6350 5 8 0 1 0 2 1 pinseq=34 T 2950 6400 9 8 1 1 0 6 1 pinlabel=(AD5) PA5 T 2950 6400 5 8 0 1 0 8 1 pintype=io } P 3300 6800 3000 6800 1 0 0 { T 3100 6850 5 8 1 1 0 0 1 pinnumber=39 T 3100 6750 5 8 0 1 0 2 1 pinseq=35 T 2950 6800 9 8 1 1 0 6 1 pinlabel=(AD4) PA4 T 2950 6800 5 8 0 1 0 8 1 pintype=io } P 3300 7200 3000 7200 1 0 0 { T 3100 7250 5 8 1 1 0 0 1 pinnumber=40 T 3100 7150 5 8 0 1 0 2 1 pinseq=36 T 2950 7200 9 8 1 1 0 6 1 pinlabel=(AD3) PA3 T 2950 7200 5 8 0 1 0 8 1 pintype=io } P 3300 7600 3000 7600 1 0 0 { T 3100 7650 5 8 1 1 0 0 1 pinnumber=41 T 3100 7550 5 8 0 1 0 2 1 pinseq=37 T 2950 7600 9 8 1 1 0 6 1 pinlabel=(AD2) PA2 T 2950 7600 5 8 0 1 0 8 1 pintype=io } P 3300 8000 3000 8000 1 0 0 { T 3100 8050 5 8 1 1 0 0 1 pinnumber=42 T 3100 7950 5 8 0 1 0 2 1 pinseq=38 T 2950 8000 9 8 1 1 0 6 1 pinlabel=(AD1) PA1 T 2950 8000 5 8 0 1 0 8 1 pintype=io } P 3300 8400 3000 8400 1 0 0 { T 3100 8450 5 8 1 1 0 0 1 pinnumber=43 T 3100 8350 5 8 0 1 0 2 1 pinseq=39 T 2950 8400 9 8 1 1 0 6 1 pinlabel=(AD0) PA0 T 2950 8400 5 8 0 1 0 8 1 pintype=io } P 3300 800 3000 800 1 0 0 { T 3100 850 5 8 1 1 0 0 1 pinnumber=32 T 3100 750 5 8 0 1 0 2 1 pinseq=40 T 2950 800 9 8 1 1 0 6 1 pinlabel=OC1B T 2950 800 5 8 0 1 0 8 1 pintype=out } P 3300 1200 3000 1200 1 0 0 { T 3100 1250 5 8 1 1 0 0 1 pinnumber=35 T 3100 1150 5 8 0 1 0 2 1 pinseq=41 T 2950 1200 9 8 1 1 0 6 1 pinlabel=ICP T 2950 1200 5 8 0 1 0 8 1 pintype=in } P 3300 1600 3000 1600 1 0 0 { T 3100 1650 5 8 1 1 0 0 1 pinnumber=33 T 3100 1550 5 8 0 1 0 2 1 pinseq=42 T 2950 1600 9 8 1 1 0 6 1 pinlabel=ALE T 2950 1600 5 8 0 1 0 8 1 pintype=out } B 400 400 2600 8400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 9850 5 10 0 0 0 0 1 description=8-bit RISC micro controller (Atmel) T 400 10050 5 10 0 0 0 0 1 numslots=0 T 400 10250 5 10 0 0 0 0 1 author=Werner Hoch T 400 8850 9 10 1 0 0 0 1 AT90S8515 geda-gaf-1.8.2/symbols/micro/MSP430x11x1.sym0000664000175000017500000001003412204104272015114 00000000000000v 20070626 1 B 300 0 3000 4200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4475 5 10 0 0 0 0 1 device=MSP430x11x1 T 3250 4250 8 10 1 1 0 6 1 refdes=U? P 300 3900 0 3900 1 0 1 { T 200 3950 5 8 1 1 0 6 1 pinnumber=1 T 350 3900 9 8 1 1 0 0 1 pinlabel=TEST T 200 3850 5 8 0 1 0 8 1 pinseq=1 T 350 3900 5 8 0 1 0 2 1 pintype=in } P 300 3500 0 3500 1 0 1 { T 200 3550 5 8 1 1 0 6 1 pinnumber=2 T 350 3500 9 8 1 1 0 0 1 pinlabel=Vcc T 200 3450 5 8 0 1 0 8 1 pinseq=2 T 350 3500 5 8 0 1 0 2 1 pintype=pwr } P 300 3100 0 3100 1 0 1 { T 200 3150 5 8 1 1 0 6 1 pinnumber=3 T 350 3100 9 8 1 1 0 0 1 pinlabel=P2.5/Rosc T 200 3050 5 8 0 1 0 8 1 pinseq=3 T 350 3100 5 8 0 1 0 2 1 pintype=io } P 300 2700 0 2700 1 0 1 { T 200 2750 5 8 1 1 0 6 1 pinnumber=4 T 350 2700 9 8 1 1 0 0 1 pinlabel=Vss T 200 2650 5 8 0 1 0 8 1 pinseq=4 T 350 2700 5 8 0 1 0 2 1 pintype=pwr } P 300 2300 0 2300 1 0 1 { T 200 2350 5 8 1 1 0 6 1 pinnumber=5 T 350 2300 9 8 1 1 0 0 1 pinlabel=XOUT T 200 2250 5 8 0 1 0 8 1 pinseq=5 T 350 2300 5 8 0 1 0 2 1 pintype=out } P 300 1900 0 1900 1 0 1 { T 200 1950 5 8 1 1 0 6 1 pinnumber=6 T 350 1900 9 8 1 1 0 0 1 pinlabel=XIN T 200 1850 5 8 0 1 0 8 1 pinseq=6 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 200 1500 0 1500 1 0 1 { T 200 1550 5 8 1 1 0 6 1 pinnumber=7 T 350 1500 9 8 1 1 0 0 1 pinlabel=\_RST\_/NMI T 200 1450 5 8 0 1 0 8 1 pinseq=7 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 300 1100 0 1100 1 0 1 { T 200 1150 5 8 1 1 0 6 1 pinnumber=8 T 350 1100 9 8 1 1 0 0 1 pinlabel=P2.0/ACLK T 200 1050 5 8 0 1 0 8 1 pinseq=8 T 350 1100 5 8 0 1 0 2 1 pintype=io } P 300 700 0 700 1 0 1 { T 200 750 5 8 1 1 0 6 1 pinnumber=9 T 350 700 9 8 1 1 0 0 1 pinlabel=P2.1/INCLK T 200 650 5 8 0 1 0 8 1 pinseq=9 T 350 700 5 8 0 1 0 2 1 pintype=io } P 300 300 0 300 1 0 1 { T 200 350 5 8 1 1 0 6 1 pinnumber=10 T 350 300 9 8 1 1 0 0 1 pinlabel=P2.2/CAOUT/TA0 T 200 250 5 8 0 1 0 8 1 pinseq=10 T 350 300 5 8 0 1 0 2 1 pintype=io } P 3300 300 3600 300 1 0 1 { T 3400 350 5 8 1 1 0 0 1 pinnumber=11 T 3250 300 9 8 1 1 0 6 1 pinlabel=P2.3/CA0/TA1 T 3400 250 5 8 0 1 0 2 1 pinseq=11 T 3250 300 5 8 0 1 0 8 1 pintype=io } P 3300 700 3600 700 1 0 1 { T 3400 750 5 8 1 1 0 0 1 pinnumber=12 T 3250 700 9 8 1 1 0 6 1 pinlabel=P2.4/CA1/TA2 T 3400 650 5 8 0 1 0 2 1 pinseq=12 T 3250 700 5 8 0 1 0 8 1 pintype=io } P 3300 1100 3600 1100 1 0 1 { T 3400 1150 5 8 1 1 0 0 1 pinnumber=13 T 3250 1100 9 8 1 1 0 6 1 pinlabel=P1.0/TACLK T 3400 1050 5 8 0 1 0 2 1 pinseq=13 T 3250 1100 5 8 0 1 0 8 1 pintype=io } P 3300 1500 3600 1500 1 0 1 { T 3400 1550 5 8 1 1 0 0 1 pinnumber=14 T 3250 1500 9 8 1 1 0 6 1 pinlabel=P1.1/TA0 T 3400 1450 5 8 0 1 0 2 1 pinseq=14 T 3250 1500 5 8 0 1 0 8 1 pintype=io } P 3300 1900 3600 1900 1 0 1 { T 3400 1950 5 8 1 1 0 0 1 pinnumber=15 T 3250 1900 9 8 1 1 0 6 1 pinlabel=P1.2/TA1 T 3400 1850 5 8 0 1 0 2 1 pinseq=15 T 3250 1900 5 8 0 1 0 8 1 pintype=io } P 3300 2300 3600 2300 1 0 1 { T 3400 2350 5 8 1 1 0 0 1 pinnumber=16 T 3250 2300 9 8 1 1 0 6 1 pinlabel=P1.3/TA2 T 3400 2250 5 8 0 1 0 2 1 pinseq=16 T 3250 2300 5 8 0 1 0 8 1 pintype=io } P 3300 2700 3600 2700 1 0 1 { T 3400 2750 5 8 1 1 0 0 1 pinnumber=17 T 3250 2700 9 8 1 1 0 6 1 pinlabel=P1.4/SMCLK/TCK T 3400 2650 5 8 0 1 0 2 1 pinseq=17 T 3250 2700 5 8 0 1 0 8 1 pintype=io } P 3300 3100 3600 3100 1 0 1 { T 3400 3150 5 8 1 1 0 0 1 pinnumber=18 T 3250 3100 9 8 1 1 0 6 1 pinlabel=P1.5/TA0/TMS T 3400 3050 5 8 0 1 0 2 1 pinseq=18 T 3250 3100 5 8 0 1 0 8 1 pintype=io } P 3300 3500 3600 3500 1 0 1 { T 3400 3550 5 8 1 1 0 0 1 pinnumber=19 T 3250 3500 9 8 1 1 0 6 1 pinlabel=P1.6/TA1/TDI T 3400 3450 5 8 0 1 0 2 1 pinseq=19 T 3250 3500 5 8 0 1 0 8 1 pintype=io } P 3300 3900 3600 3900 1 0 1 { T 3400 3950 5 8 1 1 0 0 1 pinnumber=20 T 3250 3900 9 8 1 1 0 6 1 pinlabel=P1.7/TA2/TDO/TDI T 3400 3850 5 8 0 1 0 2 1 pinseq=20 T 3250 3900 5 8 0 1 0 8 1 pintype=io } T 300 4850 5 10 0 0 0 0 1 footprint=none T 300 4650 5 10 0 0 0 0 1 description=16-bit mixed signal microcontroller T 300 5050 5 10 0 0 0 0 1 numslots=0 T 300 4250 3 10 1 0 0 0 1 MSP430x11x1 V 250 1500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 5250 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/msp430c1101.pdf geda-gaf-1.8.2/symbols/micro/AT90S2313.sym0000664000175000017500000000732212204104272014542 00000000000000v 20070626 1 T 2300 4000 8 10 1 1 0 6 1 refdes=U? T 300 4150 5 10 0 0 0 0 1 device=AT90S2313 T 300 4350 5 10 0 0 0 0 1 footprint=DIP20 T 300 4550 5 10 0 0 0 0 1 net=GND:10 T 300 4750 5 10 0 0 0 0 1 net=Vcc:20 P 1900 0 1900 200 1 0 0 { T 1950 100 5 8 1 1 0 0 1 pinnumber=1 T 1950 100 5 8 0 1 0 2 1 pinseq=1 T 1900 350 9 8 1 1 0 3 1 pinlabel=\_Reset\_ T 1900 500 5 8 0 1 0 3 1 pintype=in } V 1900 250 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 0 1300 300 1 0 0 { T 1350 100 5 8 1 1 0 0 1 pinnumber=4 T 1350 100 5 8 0 1 0 2 1 pinseq=2 T 1300 350 9 8 1 1 0 3 1 pinlabel=XTAL2 T 1300 500 5 8 0 1 0 3 1 pintype=out } P 700 0 700 300 1 0 0 { T 750 100 5 8 1 1 0 0 1 pinnumber=5 T 750 100 5 8 0 1 0 2 1 pinseq=3 T 700 350 9 8 1 1 0 3 1 pinlabel=XTAL1 T 700 500 5 8 0 1 0 3 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=11 T 200 1050 5 8 0 1 0 8 1 pinseq=4 T 350 1100 9 8 1 1 0 0 1 pinlabel=PD6 (ICP) T 350 1100 5 8 0 1 0 2 1 pintype=io } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=9 T 200 1450 5 8 0 1 0 8 1 pinseq=5 T 350 1500 9 8 1 1 0 0 1 pinlabel=PD5 (T1) T 350 1500 5 8 0 1 0 2 1 pintype=io } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=8 T 200 1850 5 8 0 1 0 8 1 pinseq=6 T 350 1900 9 8 1 1 0 0 1 pinlabel=PD4 (T0) T 350 1900 5 8 0 1 0 2 1 pintype=io } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=7 T 200 2250 5 8 0 1 0 8 1 pinseq=7 T 350 2300 9 8 1 1 0 0 1 pinlabel=PD3 (INT1) T 350 2300 5 8 0 1 0 2 1 pintype=io } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=6 T 200 2650 5 8 0 1 0 8 1 pinseq=8 T 350 2700 9 8 1 1 0 0 1 pinlabel=PD2 (INT0) T 350 2700 5 8 0 1 0 2 1 pintype=io } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=3 T 200 3050 5 8 0 1 0 8 1 pinseq=9 T 350 3100 9 8 1 1 0 0 1 pinlabel=PD1 (TXD) T 350 3100 5 8 0 1 0 2 1 pintype=io } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=2 T 200 3450 5 8 0 1 0 8 1 pinseq=10 T 350 3500 9 8 1 1 0 0 1 pinlabel=PD0 (RXD) T 350 3500 5 8 0 1 0 2 1 pintype=io } P 2600 700 2300 700 1 0 0 { T 2400 750 5 8 1 1 0 0 1 pinnumber=19 T 2400 650 5 8 0 1 0 2 1 pinseq=11 T 2250 700 9 8 1 1 0 6 1 pinlabel=(SCK) PB7 T 2250 700 5 8 0 1 0 8 1 pintype=io } P 2600 1100 2300 1100 1 0 0 { T 2400 1150 5 8 1 1 0 0 1 pinnumber=18 T 2400 1050 5 8 0 1 0 2 1 pinseq=12 T 2250 1100 9 8 1 1 0 6 1 pinlabel=(MISO) PB6 T 2250 1100 5 8 0 1 0 8 1 pintype=io } P 2600 1500 2300 1500 1 0 0 { T 2400 1550 5 8 1 1 0 0 1 pinnumber=17 T 2400 1450 5 8 0 1 0 2 1 pinseq=13 T 2250 1500 9 8 1 1 0 6 1 pinlabel=(MOSI) PB5 T 2250 1500 5 8 0 1 0 8 1 pintype=io } P 2600 1900 2300 1900 1 0 0 { T 2400 1950 5 8 1 1 0 0 1 pinnumber=16 T 2400 1850 5 8 0 1 0 2 1 pinseq=14 T 2250 1900 9 8 1 1 0 6 1 pinlabel=PB4 T 2250 1900 5 8 0 1 0 8 1 pintype=io } P 2600 2300 2300 2300 1 0 0 { T 2400 2350 5 8 1 1 0 0 1 pinnumber=15 T 2400 2250 5 8 0 1 0 2 1 pinseq=15 T 2250 2300 9 8 1 1 0 6 1 pinlabel=(OC1) PB3 T 2250 2300 5 8 0 1 0 8 1 pintype=io } P 2600 2700 2300 2700 1 0 0 { T 2400 2750 5 8 1 1 0 0 1 pinnumber=14 T 2400 2650 5 8 0 1 0 2 1 pinseq=16 T 2250 2700 9 8 1 1 0 6 1 pinlabel=PB2 T 2250 2700 5 8 0 1 0 8 1 pintype=io } P 2600 3100 2300 3100 1 0 0 { T 2400 3150 5 8 1 1 0 0 1 pinnumber=13 T 2400 3050 5 8 0 1 0 2 1 pinseq=17 T 2250 3100 9 8 1 1 0 6 1 pinlabel=(AIN1) PB1 T 2250 3100 5 8 0 1 0 8 1 pintype=io } P 2600 3500 2300 3500 1 0 0 { T 2400 3550 5 8 1 1 0 0 1 pinnumber=12 T 2400 3450 5 8 0 1 0 2 1 pinseq=18 T 2250 3500 9 8 1 1 0 6 1 pinlabel=(AIN0) PB0 T 2250 3500 5 8 0 1 0 8 1 pintype=io } B 300 300 2000 3600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4950 5 10 0 0 0 0 1 description=8-bit RISC micro controller (Atmel) T 300 5150 5 10 0 0 0 0 1 numslots=0 T 300 5350 5 10 0 0 0 0 1 author=Werner Hoch T 300 3950 9 10 1 0 0 0 1 AT90S2313 geda-gaf-1.8.2/symbols/micro/staver24m32-1.sym0000664000175000017500000001147512204104272015567 00000000000000v 20070626 1 T 2400 5500 8 10 1 1 0 6 1 refdes=U? T 400 5450 9 10 1 0 0 0 1 StAVeR24M32 T 400 5650 8 10 0 0 0 0 1 device=StAVeR24M32 T 400 5850 8 10 0 0 0 0 1 footprint=DIP24 T 400 6050 8 10 0 0 0 0 1 author=m. dickens T 400 6250 8 10 0 0 0 0 1 documentation=http://www.lawicel.com/ T 400 6450 8 10 0 0 0 0 1 description=microcontroller module based on Atmel ATMega32 T 400 6650 8 10 0 0 0 0 1 numslots=0 P 100 5000 400 5000 1 0 0 { T 300 5050 5 8 1 1 0 6 1 pinnumber=1 T 300 4950 5 8 0 1 0 8 1 pinseq=1 T 450 5000 9 8 1 1 0 0 1 pinlabel=TXD T 450 5000 5 8 0 1 0 2 1 pintype=out } P 100 4600 400 4600 1 0 0 { T 300 4650 5 8 1 1 0 6 1 pinnumber=2 T 300 4550 5 8 0 1 0 8 1 pinseq=2 T 450 4600 9 8 1 1 0 0 1 pinlabel=RXD T 450 4600 5 8 0 1 0 2 1 pintype=in } P 100 4200 400 4200 1 0 0 { T 300 4250 5 8 1 1 0 6 1 pinnumber=3 T 300 4150 5 8 0 1 0 8 1 pinseq=3 T 450 4200 9 8 1 1 0 0 1 pinlabel=NC T 450 4200 5 8 0 1 0 2 1 pintype=pas } P 100 3800 400 3800 1 0 0 { T 300 3850 5 8 1 1 0 6 1 pinnumber=4 T 300 3750 5 8 0 1 0 8 1 pinseq=4 T 450 3800 9 8 1 1 0 0 1 pinlabel=GND T 450 3800 5 8 0 1 0 2 1 pintype=pwr } P 100 3400 400 3400 1 0 0 { T 300 3450 5 8 1 1 0 6 1 pinnumber=5 T 300 3350 5 8 0 1 0 8 1 pinseq=5 T 450 3400 9 8 1 1 0 0 1 pinlabel=PB1(T1) T 450 3400 5 8 0 1 0 2 1 pintype=io } P 100 3000 400 3000 1 0 0 { T 300 3050 5 8 1 1 0 6 1 pinnumber=6 T 300 2950 5 8 0 1 0 8 1 pinseq=6 T 450 3000 9 8 1 1 0 0 1 pinlabel=PD3(\_INT1\_) T 450 3000 5 8 0 1 0 2 1 pintype=io } P 100 2600 400 2600 1 0 0 { T 300 2650 5 8 1 1 0 6 1 pinnumber=7 T 300 2550 5 8 0 1 0 8 1 pinseq=7 T 450 2600 9 8 1 1 0 0 1 pinlabel=PD4(OC1B) T 450 2600 5 8 0 1 0 2 1 pintype=io } P 100 2200 400 2200 1 0 0 { T 300 2250 5 8 1 1 0 6 1 pinnumber=8 T 300 2150 5 8 0 1 0 8 1 pinseq=8 T 450 2200 9 8 1 1 0 0 1 pinlabel=PD5(OC1A) T 450 2200 5 8 0 1 0 2 1 pintype=io } P 100 1800 400 1800 1 0 0 { T 300 1850 5 8 1 1 0 6 1 pinnumber=9 T 300 1750 5 8 0 1 0 8 1 pinseq=9 T 450 1800 9 8 1 1 0 0 1 pinlabel=PD6(ICP) T 450 1800 5 8 0 1 0 2 1 pintype=io } P 100 1400 400 1400 1 0 0 { T 300 1450 5 8 1 1 0 6 1 pinnumber=10 T 300 1350 5 8 0 1 0 8 1 pinseq=10 T 450 1400 9 8 1 1 0 0 1 pinlabel=PD7(OC2) T 450 1400 5 8 0 1 0 2 1 pintype=in } P 100 1000 400 1000 1 0 0 { T 300 1050 5 8 1 1 0 6 1 pinnumber=11 T 300 950 5 8 0 1 0 8 1 pinseq=11 T 450 1000 9 8 1 1 0 0 1 pinlabel=PC0(SCL) T 450 1000 5 8 0 1 0 2 1 pintype=io } P 100 600 400 600 1 0 0 { T 300 650 5 8 1 1 0 6 1 pinnumber=12 T 300 550 5 8 0 1 0 8 1 pinseq=12 T 450 600 9 8 1 1 0 0 1 pinlabel=PC1(SDA) T 450 600 5 8 0 1 0 2 1 pintype=io } P 2700 5000 2400 5000 1 0 0 { T 2500 5050 5 8 1 1 0 0 1 pinnumber=13 T 2500 4950 5 8 0 1 0 2 1 pinseq=13 T 2350 5000 9 8 1 1 0 6 1 pinlabel=PA7(ADC7) T 2350 5000 5 8 0 1 0 8 1 pintype=io } P 2700 4600 2400 4600 1 0 0 { T 2500 4650 5 8 1 1 0 0 1 pinnumber=14 T 2500 4550 5 8 0 1 0 2 1 pinseq=14 T 2350 4600 9 8 1 1 0 6 1 pinlabel=PA6(ADC6) T 2350 4600 5 8 0 1 0 8 1 pintype=io } P 2700 4200 2400 4200 1 0 0 { T 2500 4250 5 8 1 1 0 0 1 pinnumber=15 T 2500 4150 5 8 0 1 0 2 1 pinseq=15 T 2350 4200 9 8 1 1 0 6 1 pinlabel=PA5(ADC5) T 2350 4200 5 8 0 1 0 8 1 pintype=io } P 2700 3800 2400 3800 1 0 0 { T 2500 3850 5 8 1 1 0 0 1 pinnumber=16 T 2500 3750 5 8 0 1 0 2 1 pinseq=16 T 2350 3800 9 8 1 1 0 6 1 pinlabel=PA4(ADC4) T 2350 3800 5 8 0 1 0 8 1 pintype=io } P 2700 3400 2400 3400 1 0 0 { T 2500 3450 5 8 1 1 0 0 1 pinnumber=17 T 2500 3350 5 8 0 1 0 2 1 pinseq=17 T 2350 3400 9 8 1 1 0 6 1 pinlabel=PA3(ADC3) T 2350 3400 5 8 0 1 0 8 1 pintype=io } P 2700 3000 2400 3000 1 0 0 { T 2500 3050 5 8 1 1 0 0 1 pinnumber=18 T 2500 2950 5 8 0 1 0 2 1 pinseq=18 T 2350 3000 9 8 1 1 0 6 1 pinlabel=PA2(ADC2) T 2350 3000 5 8 0 1 0 8 1 pintype=io } P 2700 2600 2400 2600 1 0 0 { T 2500 2650 5 8 1 1 0 0 1 pinnumber=19 T 2500 2550 5 8 0 1 0 2 1 pinseq=19 T 2350 2600 9 8 1 1 0 6 1 pinlabel=PA1(ADC1) T 2350 2600 5 8 0 1 0 8 1 pintype=io } P 2700 2200 2400 2200 1 0 0 { T 2500 2250 5 8 1 1 0 0 1 pinnumber=20 T 2500 2150 5 8 0 1 0 2 1 pinseq=20 T 2350 2200 9 8 1 1 0 6 1 pinlabel=PA0(ADC0) T 2350 2200 5 8 0 1 0 8 1 pintype=io } P 2700 1800 2400 1800 1 0 0 { T 2500 1850 5 8 1 1 0 0 1 pinnumber=21 T 2500 1750 5 8 0 1 0 2 1 pinseq=21 T 2350 1800 9 8 1 1 0 6 1 pinlabel=VCC T 2350 1800 5 8 0 1 0 8 1 pintype=pwr } P 2700 1400 2500 1400 1 0 0 { T 2500 1450 5 8 1 1 0 0 1 pinnumber=22 T 2500 1350 5 8 0 1 0 2 1 pinseq=22 T 2350 1400 9 8 1 1 0 6 1 pinlabel=\_RESET\_ T 2350 1400 5 8 0 1 0 8 1 pintype=in } V 2450 1400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2700 1000 2400 1000 1 0 0 { T 2500 1050 5 8 1 1 0 0 1 pinnumber=23 T 2500 950 5 8 0 1 0 2 1 pinseq=23 T 2350 1000 9 8 1 1 0 6 1 pinlabel=GND T 2350 1000 5 8 0 1 0 8 1 pintype=out } P 2700 600 2400 600 1 0 0 { T 2500 650 5 8 1 1 0 0 1 pinnumber=24 T 2500 550 5 8 0 1 0 2 1 pinseq=24 T 2350 600 9 8 1 1 0 6 1 pinlabel=VIN T 2350 600 5 8 0 1 0 8 1 pintype=pwr } B 400 100 2000 5300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/micro/AT90S8535P-1.sym0000664000175000017500000001605712204104272015041 00000000000000v 20070626 1 B 300 0 1500 6300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 6975 5 10 0 0 0 0 1 device=AT90S8535P T 1800 6400 8 10 1 1 0 6 1 refdes=U? P 300 6000 0 6000 1 0 1 { T 200 6050 5 8 1 1 0 6 1 pinnumber=1 T 200 5950 5 8 0 1 0 8 1 pinseq=1 T 350 6000 9 8 1 1 0 0 1 pinlabel=PB0 T 350 6000 5 8 0 1 0 2 1 pintype=io } P 300 5700 0 5700 1 0 1 { T 200 5750 5 8 1 1 0 6 1 pinnumber=2 T 200 5650 5 8 0 1 0 8 1 pinseq=2 T 350 5700 9 8 1 1 0 0 1 pinlabel=PB1 T 350 5700 5 8 0 1 0 2 1 pintype=io } P 300 5400 0 5400 1 0 1 { T 200 5450 5 8 1 1 0 6 1 pinnumber=3 T 200 5350 5 8 0 1 0 8 1 pinseq=3 T 350 5400 9 8 1 1 0 0 1 pinlabel=PB2 T 350 5400 5 8 0 1 0 2 1 pintype=io } P 300 5100 0 5100 1 0 1 { T 200 5150 5 8 1 1 0 6 1 pinnumber=4 T 200 5050 5 8 0 1 0 8 1 pinseq=4 T 350 5100 9 8 1 1 0 0 1 pinlabel=PB3 T 350 5100 5 8 0 1 0 2 1 pintype=io } P 300 4800 0 4800 1 0 1 { T 200 4850 5 8 1 1 0 6 1 pinnumber=5 T 200 4750 5 8 0 1 0 8 1 pinseq=5 T 350 4800 9 8 1 1 0 0 1 pinlabel=PB4 T 350 4800 5 8 0 1 0 2 1 pintype=io } P 300 4500 0 4500 1 0 1 { T 200 4550 5 8 1 1 0 6 1 pinnumber=6 T 200 4450 5 8 0 1 0 8 1 pinseq=6 T 350 4500 9 8 1 1 0 0 1 pinlabel=PB5 T 350 4500 5 8 0 1 0 2 1 pintype=io } P 300 4200 0 4200 1 0 1 { T 200 4250 5 8 1 1 0 6 1 pinnumber=7 T 200 4150 5 8 0 1 0 8 1 pinseq=7 T 350 4200 9 8 1 1 0 0 1 pinlabel=PB6 T 350 4200 5 8 0 1 0 2 1 pintype=io } P 300 3900 0 3900 1 0 1 { T 200 3950 5 8 1 1 0 6 1 pinnumber=8 T 200 3850 5 8 0 1 0 8 1 pinseq=8 T 350 3900 9 8 1 1 0 0 1 pinlabel=PB7 T 350 3900 5 8 0 1 0 2 1 pintype=io } P 300 3600 0 3600 1 0 1 { T 200 3650 5 8 1 1 0 6 1 pinnumber=14 T 200 3550 5 8 0 1 0 8 1 pinseq=9 T 350 3600 9 8 1 1 0 0 1 pinlabel=PD0 T 350 3600 5 8 0 1 0 2 1 pintype=io } P 300 3300 0 3300 1 0 1 { T 200 3350 5 8 1 1 0 6 1 pinnumber=15 T 200 3250 5 8 0 1 0 8 1 pinseq=10 T 350 3300 9 8 1 1 0 0 1 pinlabel=PD1 T 350 3300 5 8 0 1 0 2 1 pintype=io } P 300 3000 0 3000 1 0 1 { T 200 3050 5 8 1 1 0 6 1 pinnumber=16 T 200 2950 5 8 0 1 0 8 1 pinseq=11 T 350 3000 9 8 1 1 0 0 1 pinlabel=PD2 T 350 3000 5 8 0 1 0 2 1 pintype=io } P 300 2700 0 2700 1 0 1 { T 200 2750 5 8 1 1 0 6 1 pinnumber=17 T 200 2650 5 8 0 1 0 8 1 pinseq=12 T 350 2700 9 8 1 1 0 0 1 pinlabel=PD3 T 350 2700 5 8 0 1 0 2 1 pintype=io } P 300 2400 0 2400 1 0 1 { T 200 2450 5 8 1 1 0 6 1 pinnumber=18 T 200 2350 5 8 0 1 0 8 1 pinseq=13 T 350 2400 9 8 1 1 0 0 1 pinlabel=PD4 T 350 2400 5 8 0 1 0 2 1 pintype=io } P 300 2100 0 2100 1 0 1 { T 200 2150 5 8 1 1 0 6 1 pinnumber=19 T 200 2050 5 8 0 1 0 8 1 pinseq=14 T 350 2100 9 8 1 1 0 0 1 pinlabel=PD5 T 350 2100 5 8 0 1 0 2 1 pintype=io } P 300 1800 0 1800 1 0 1 { T 200 1850 5 8 1 1 0 6 1 pinnumber=20 T 200 1750 5 8 0 1 0 8 1 pinseq=15 T 350 1800 9 8 1 1 0 0 1 pinlabel=PD6 T 350 1800 5 8 0 1 0 2 1 pintype=io } P 300 1500 0 1500 1 0 1 { T 200 1550 5 8 1 1 0 6 1 pinnumber=21 T 200 1450 5 8 0 1 0 8 1 pinseq=16 T 350 1500 9 8 1 1 0 0 1 pinlabel=PD7 T 350 1500 5 8 0 1 0 2 1 pintype=io } P 300 300 0 300 1 0 1 { T 200 350 5 8 1 1 0 6 1 pinnumber=13 T 200 250 5 8 0 1 0 8 1 pinseq=19 T 350 300 9 8 1 1 0 0 1 pinlabel=XTAL1 T 350 300 5 8 0 1 0 2 1 pintype=in } P 300 600 0 600 1 0 1 { T 200 650 5 8 1 1 0 6 1 pinnumber=12 T 200 550 5 8 0 1 0 8 1 pinseq=18 T 350 600 9 8 1 1 0 0 1 pinlabel=XTAL2 T 350 600 5 8 0 1 0 2 1 pintype=out } V 250 900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 900 0 900 1 0 1 { T 200 950 5 8 1 1 0 6 1 pinnumber=9 T 200 850 5 8 0 1 0 8 1 pinseq=17 T 350 900 9 8 1 1 0 0 1 pinlabel=\_RESET\_ T 350 900 5 8 0 1 0 2 1 pintype=in } P 1800 6000 2100 6000 1 0 1 { T 1900 6050 5 8 1 1 0 0 1 pinnumber=40 T 1900 5950 5 8 0 1 0 2 1 pinseq=20 T 1750 6000 9 8 1 1 0 6 1 pinlabel=PA0 T 1750 6000 5 8 0 1 0 8 1 pintype=io } P 1800 5700 2100 5700 1 0 1 { T 1900 5750 5 8 1 1 0 0 1 pinnumber=39 T 1900 5650 5 8 0 1 0 2 1 pinseq=21 T 1750 5700 9 8 1 1 0 6 1 pinlabel=PA1 T 1750 5700 5 8 0 1 0 8 1 pintype=io } P 1800 5400 2100 5400 1 0 1 { T 1900 5450 5 8 1 1 0 0 1 pinnumber=38 T 1900 5350 5 8 0 1 0 2 1 pinseq=22 T 1750 5400 9 8 1 1 0 6 1 pinlabel=PA2 T 1750 5400 5 8 0 1 0 8 1 pintype=io } P 1800 5100 2100 5100 1 0 1 { T 1900 5150 5 8 1 1 0 0 1 pinnumber=37 T 1900 5050 5 8 0 1 0 2 1 pinseq=23 T 1750 5100 9 8 1 1 0 6 1 pinlabel=PA3 T 1750 5100 5 8 0 1 0 8 1 pintype=io } P 1800 4800 2100 4800 1 0 1 { T 1900 4850 5 8 1 1 0 0 1 pinnumber=36 T 1900 4750 5 8 0 1 0 2 1 pinseq=24 T 1750 4800 9 8 1 1 0 6 1 pinlabel=PA4 T 1750 4800 5 8 0 1 0 8 1 pintype=io } P 1800 4500 2100 4500 1 0 1 { T 1900 4550 5 8 1 1 0 0 1 pinnumber=35 T 1900 4450 5 8 0 1 0 2 1 pinseq=25 T 1750 4500 9 8 1 1 0 6 1 pinlabel=PA5 T 1750 4500 5 8 0 1 0 8 1 pintype=io } P 1800 4200 2100 4200 1 0 1 { T 1900 4250 5 8 1 1 0 0 1 pinnumber=34 T 1900 4150 5 8 0 1 0 2 1 pinseq=26 T 1750 4200 9 8 1 1 0 6 1 pinlabel=PA6 T 1750 4200 5 8 0 1 0 8 1 pintype=io } P 1800 3900 2100 3900 1 0 1 { T 1900 3950 5 8 1 1 0 0 1 pinnumber=33 T 1900 3850 5 8 0 1 0 2 1 pinseq=27 T 1750 3900 9 8 1 1 0 6 1 pinlabel=PA7 T 1750 3900 5 8 0 1 0 8 1 pintype=io } P 1800 3600 2100 3600 1 0 1 { T 1900 3650 5 8 1 1 0 0 1 pinnumber=22 T 1900 3550 5 8 0 1 0 2 1 pinseq=35 T 1750 3600 9 8 1 1 0 6 1 pinlabel=PC0 T 1750 3600 5 8 0 1 0 8 1 pintype=io } P 1800 3300 2100 3300 1 0 1 { T 1900 3350 5 8 1 1 0 0 1 pinnumber=23 T 1900 3250 5 8 0 1 0 2 1 pinseq=34 T 1750 3300 9 8 1 1 0 6 1 pinlabel=PC1 T 1750 3300 5 8 0 1 0 8 1 pintype=io } P 1800 3000 2100 3000 1 0 1 { T 1900 3050 5 8 1 1 0 0 1 pinnumber=24 T 1900 2950 5 8 0 1 0 2 1 pinseq=33 T 1750 3000 9 8 1 1 0 6 1 pinlabel=PC2 T 1750 3000 5 8 0 1 0 8 1 pintype=io } P 1800 2700 2100 2700 1 0 1 { T 1900 2750 5 8 1 1 0 0 1 pinnumber=25 T 1900 2650 5 8 0 1 0 2 1 pinseq=32 T 1750 2700 9 8 1 1 0 6 1 pinlabel=PC3 T 1750 2700 5 8 0 1 0 8 1 pintype=io } P 1800 2400 2100 2400 1 0 1 { T 1900 2450 5 8 1 1 0 0 1 pinnumber=26 T 1900 2350 5 8 0 1 0 2 1 pinseq=31 T 1750 2400 9 8 1 1 0 6 1 pinlabel=PC4 T 1750 2400 5 8 0 1 0 8 1 pintype=io } P 1800 2100 2100 2100 1 0 1 { T 1900 2150 5 8 1 1 0 0 1 pinnumber=27 T 1900 2050 5 8 0 1 0 2 1 pinseq=30 T 1750 2100 9 8 1 1 0 6 1 pinlabel=PC5 T 1750 2100 5 8 0 1 0 8 1 pintype=io } P 1800 1800 2100 1800 1 0 1 { T 1900 1850 5 8 1 1 0 0 1 pinnumber=28 T 1900 1750 5 8 0 1 0 2 1 pinseq=29 T 1750 1800 9 8 1 1 0 6 1 pinlabel=PC6 T 1750 1800 5 8 0 1 0 8 1 pintype=io } P 1800 1500 2100 1500 1 0 1 { T 1900 1550 5 8 1 1 0 0 1 pinnumber=29 T 1900 1450 5 8 0 1 0 2 1 pinseq=28 T 1750 1500 9 8 1 1 0 6 1 pinlabel=PC7 T 1750 1500 5 8 0 1 0 8 1 pintype=io } P 1800 900 2100 900 1 0 1 { T 1900 950 5 8 1 1 0 0 1 pinnumber=32 T 1900 850 5 8 0 1 0 2 1 pinseq=36 T 1750 900 9 8 1 1 0 6 1 pinlabel=AREF T 1750 900 5 8 0 1 0 8 1 pintype=in } P 1800 600 2100 600 1 0 1 { T 1900 650 5 8 1 1 0 0 1 pinnumber=31 T 1900 550 5 8 0 1 0 2 1 pinseq=37 T 1750 600 9 8 1 1 0 6 1 pinlabel=AGND T 1750 600 5 8 0 1 0 8 1 pintype=pwr } P 1800 300 2100 300 1 0 1 { T 1900 350 5 8 1 1 0 0 1 pinnumber=30 T 1900 250 5 8 0 1 0 2 1 pinseq=38 T 1750 300 9 8 1 1 0 6 1 pinlabel=AVCC T 1750 300 5 8 0 1 0 8 1 pintype=pwr } T 300 6600 5 10 0 0 0 0 1 net=GND:11 T 300 6800 5 10 0 0 0 0 1 net=Vcc:10 T 300 7300 5 10 0 0 0 0 1 footprint=DIP40 T 300 7500 5 10 0 0 0 0 1 description=8-bit RISC micro controller (Atmel) T 300 7150 5 10 0 0 0 0 1 numslots=0 T 300 6350 9 10 1 0 0 0 1 AT90S8535P geda-gaf-1.8.2/symbols/micro/ATtiny15L-1.sym0000664000175000017500000000311312204104272015253 00000000000000v 20070626 1 T 2900 2300 8 10 1 1 0 6 1 refdes=U? T 300 2450 8 10 0 0 0 0 1 device=ATtiny15L T 300 2650 8 10 0 0 0 0 1 footprint=DIP8 T 300 2850 8 10 0 0 0 0 1 net=GND:4 T 300 3050 8 10 0 0 0 0 1 net=Vcc:8 P 0 300 300 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=1 T 200 250 5 8 0 1 0 8 1 pinseq=1 T 350 300 9 8 1 1 0 0 1 pinlabel=PB5 (\_Reset\_/ADC0) T 350 300 5 8 0 1 0 2 1 pintype=io } P 3200 300 2900 300 1 0 0 { T 3000 350 5 8 1 1 0 0 1 pinnumber=3 T 3000 250 5 8 0 1 0 2 1 pinseq=2 T 2850 300 9 8 1 1 0 6 1 pinlabel=(ADC2) PB3 T 2850 300 5 8 0 1 0 8 1 pintype=io } P 3200 700 2900 700 1 0 0 { T 3000 750 5 8 1 1 0 0 1 pinnumber=2 T 3000 650 5 8 0 1 0 2 1 pinseq=3 T 2850 700 9 8 1 1 0 6 1 pinlabel=(ADC3) PB4 T 2850 700 5 8 0 1 0 8 1 pintype=io } P 3200 1100 2900 1100 1 0 0 { T 3000 1150 5 8 1 1 0 0 1 pinnumber=7 T 3000 1050 5 8 0 1 0 2 1 pinseq=4 T 2850 1100 9 8 1 1 0 6 1 pinlabel=(SCK/ADC1/T0/INT0) PB2 T 2850 1100 5 8 0 1 0 8 1 pintype=io } P 3200 1500 2900 1500 1 0 0 { T 3000 1550 5 8 1 1 0 0 1 pinnumber=6 T 3000 1450 5 8 0 1 0 2 1 pinseq=5 T 2850 1500 9 8 1 1 0 6 1 pinlabel=(MISO/OC1A/AIN1) PB1 T 2850 1500 5 8 0 1 0 8 1 pintype=io } P 3200 1900 2900 1900 1 0 0 { T 3000 1950 5 8 1 1 0 0 1 pinnumber=5 T 3000 1850 5 8 0 1 0 2 1 pinseq=6 T 2850 1900 9 8 1 1 0 6 1 pinlabel=(MOSI/AIN0/AREF) PB0 T 2850 1900 5 8 0 1 0 8 1 pintype=io } B 300 0 2600 2200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 3250 8 10 0 0 0 0 1 description=8-bit RISC micro controller (Atmel) T 300 3450 8 10 0 0 0 0 1 numslots=0 T 300 3650 8 10 0 0 0 0 1 author=Werner Hoch T 300 2250 9 10 1 0 0 0 1 ATtiny15L geda-gaf-1.8.2/symbols/micro/AT90S4433_DIP.sym0000664000175000017500000001164712204104272015250 00000000000000v 20070626 1 T 2400 5900 8 10 1 1 0 6 1 refdes=U? T 400 6050 5 10 0 0 0 0 1 device=AT90S4433_DIP T 400 6250 5 10 0 0 0 0 1 footprint=DIP28 T 400 6450 5 10 0 0 0 0 1 net=Vcc:7 T 400 6650 5 10 0 0 0 0 1 net=GND:8 T 400 6850 5 10 0 0 0 0 1 net=AVcc:20 T 400 7050 5 10 0 0 0 0 1 net=AGND:22 P 1700 100 1700 400 1 0 0 { T 1750 200 5 8 1 1 0 0 1 pinnumber=10 T 1750 200 5 8 0 1 0 2 1 pinseq=1 T 1700 450 9 8 1 1 0 3 1 pinlabel=XTAL2 T 1700 600 5 8 0 1 0 3 1 pintype=out } P 1100 100 1100 400 1 0 0 { T 1150 200 5 8 1 1 0 0 1 pinnumber=9 T 1150 200 5 8 0 1 0 2 1 pinseq=2 T 1100 450 9 8 1 1 0 3 1 pinlabel=XTAL1 T 1100 600 5 8 0 1 0 3 1 pintype=in } P 100 800 300 800 1 0 0 { T 300 850 5 8 1 1 0 6 1 pinnumber=1 T 300 750 5 8 0 1 0 8 1 pinseq=3 T 450 800 9 8 1 1 0 0 1 pinlabel=\_Reset\_ T 450 800 5 8 0 1 0 2 1 pintype=in } V 350 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2600 400 2600 1 0 0 { T 300 2650 5 8 1 1 0 6 1 pinnumber=13 T 300 2550 5 8 0 1 0 8 1 pinseq=4 T 450 2600 9 8 1 1 0 0 1 pinlabel=PD7 (AIN1) T 450 2600 5 8 0 1 0 2 1 pintype=io } P 100 3000 400 3000 1 0 0 { T 300 3050 5 8 1 1 0 6 1 pinnumber=12 T 300 2950 5 8 0 1 0 8 1 pinseq=5 T 450 3000 9 8 1 1 0 0 1 pinlabel=PD6 (AIN0) T 450 3000 5 8 0 1 0 2 1 pintype=io } P 100 3400 400 3400 1 0 0 { T 300 3450 5 8 1 1 0 6 1 pinnumber=11 T 300 3350 5 8 0 1 0 8 1 pinseq=6 T 450 3400 9 8 1 1 0 0 1 pinlabel=PD5 (T1) T 450 3400 5 8 0 1 0 2 1 pintype=io } P 100 3800 400 3800 1 0 0 { T 300 3850 5 8 1 1 0 6 1 pinnumber=6 T 300 3750 5 8 0 1 0 8 1 pinseq=7 T 450 3800 9 8 1 1 0 0 1 pinlabel=PD4 (T0) T 450 3800 5 8 0 1 0 2 1 pintype=io } P 100 4200 400 4200 1 0 0 { T 300 4250 5 8 1 1 0 6 1 pinnumber=5 T 300 4150 5 8 0 1 0 8 1 pinseq=8 T 450 4200 9 8 1 1 0 0 1 pinlabel=PD3 (INT1) T 450 4200 5 8 0 1 0 2 1 pintype=io } P 100 4600 400 4600 1 0 0 { T 300 4650 5 8 1 1 0 6 1 pinnumber=4 T 300 4550 5 8 0 1 0 8 1 pinseq=9 T 450 4600 9 8 1 1 0 0 1 pinlabel=PD2 (INT0) T 450 4600 5 8 0 1 0 2 1 pintype=io } P 100 5000 400 5000 1 0 0 { T 300 5050 5 8 1 1 0 6 1 pinnumber=3 T 300 4950 5 8 0 1 0 8 1 pinseq=10 T 450 5000 9 8 1 1 0 0 1 pinlabel=PD1 (TXD) T 450 5000 5 8 0 1 0 2 1 pintype=io } P 100 5400 400 5400 1 0 0 { T 300 5450 5 8 1 1 0 6 1 pinnumber=2 T 300 5350 5 8 0 1 0 8 1 pinseq=11 T 450 5400 9 8 1 1 0 0 1 pinlabel=PD0 (RXD) T 450 5400 5 8 0 1 0 2 1 pintype=io } P 100 1200 400 1200 1 0 0 { T 300 1250 5 8 1 1 0 6 1 pinnumber=21 T 300 1150 5 8 0 1 0 8 1 pinseq=12 T 450 1200 9 8 1 1 0 0 1 pinlabel=AREF T 450 1200 5 8 0 1 0 2 1 pintype=in } P 2700 800 2400 800 1 0 0 { T 2500 850 5 8 1 1 0 0 1 pinnumber=28 T 2500 750 5 8 0 1 0 2 1 pinseq=13 T 2350 800 9 8 1 1 0 6 1 pinlabel=(ADC5) PC5 T 2350 800 5 8 0 1 0 8 1 pintype=io } P 2700 1200 2400 1200 1 0 0 { T 2500 1250 5 8 1 1 0 0 1 pinnumber=27 T 2500 1150 5 8 0 1 0 2 1 pinseq=14 T 2350 1200 9 8 1 1 0 6 1 pinlabel=(ADC4) PC4 T 2350 1200 5 8 0 1 0 8 1 pintype=io } P 2700 1600 2400 1600 1 0 0 { T 2500 1650 5 8 1 1 0 0 1 pinnumber=26 T 2500 1550 5 8 0 1 0 2 1 pinseq=15 T 2350 1600 9 8 1 1 0 6 1 pinlabel=(ADC3) PC3 T 2350 1600 5 8 0 1 0 8 1 pintype=io } P 2700 2000 2400 2000 1 0 0 { T 2500 2050 5 8 1 1 0 0 1 pinnumber=25 T 2500 1950 5 8 0 1 0 2 1 pinseq=16 T 2350 2000 9 8 1 1 0 6 1 pinlabel=(ADC2) PC2 T 2350 2000 5 8 0 1 0 8 1 pintype=io } P 2700 2400 2400 2400 1 0 0 { T 2500 2450 5 8 1 1 0 0 1 pinnumber=24 T 2500 2350 5 8 0 1 0 2 1 pinseq=17 T 2350 2400 9 8 1 1 0 6 1 pinlabel=(ADC1) PC1 T 2350 2400 5 8 0 1 0 8 1 pintype=io } P 2700 2800 2400 2800 1 0 0 { T 2500 2850 5 8 1 1 0 0 1 pinnumber=23 T 2500 2750 5 8 0 1 0 2 1 pinseq=18 T 2350 2800 9 8 1 1 0 6 1 pinlabel=(ADC0) PC0 T 2350 2800 5 8 0 1 0 8 1 pintype=io } P 2700 3400 2400 3400 1 0 0 { T 2500 3450 5 8 1 1 0 0 1 pinnumber=19 T 2500 3350 5 8 0 1 0 2 1 pinseq=19 T 2350 3400 9 8 1 1 0 6 1 pinlabel=(SCK) PB5 T 2350 3400 5 8 0 1 0 8 1 pintype=io } P 2700 3800 2400 3800 1 0 0 { T 2500 3850 5 8 1 1 0 0 1 pinnumber=18 T 2500 3750 5 8 0 1 0 2 1 pinseq=20 T 2350 3800 9 8 1 1 0 6 1 pinlabel=(MISO) PB4 T 2350 3800 5 8 0 1 0 8 1 pintype=io } P 2700 4200 2400 4200 1 0 0 { T 2500 4250 5 8 1 1 0 0 1 pinnumber=17 T 2500 4150 5 8 0 1 0 2 1 pinseq=21 T 2350 4200 9 8 1 1 0 6 1 pinlabel=(MOSI) PB3 T 2350 4200 5 8 0 1 0 8 1 pintype=io } P 2700 4600 2400 4600 1 0 0 { T 2500 4650 5 8 1 1 0 0 1 pinnumber=16 T 2500 4550 5 8 0 1 0 2 1 pinseq=22 T 2350 4600 9 8 1 1 0 6 1 pinlabel=(\_SS\_) PB2 T 2350 4600 5 8 0 1 0 8 1 pintype=io } P 2700 5000 2400 5000 1 0 0 { T 2500 5050 5 8 1 1 0 0 1 pinnumber=15 T 2500 4950 5 8 0 1 0 2 1 pinseq=23 T 2350 5000 9 8 1 1 0 6 1 pinlabel=(OC1) PB1 T 2350 5000 5 8 0 1 0 8 1 pintype=io } P 2700 5400 2400 5400 1 0 0 { T 2500 5450 5 8 1 1 0 0 1 pinnumber=14 T 2500 5350 5 8 0 1 0 2 1 pinseq=24 T 2350 5400 9 8 1 1 0 6 1 pinlabel=(ICP) PB0 T 2350 5400 5 8 0 1 0 8 1 pintype=io } B 400 400 2000 5400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 7250 5 10 0 0 0 0 1 description=8-bit RISC micro controller (Atmel) T 400 7450 5 10 0 0 0 0 1 numslots=0 T 400 7650 5 10 0 0 0 0 1 author=Werner Hoch T 400 5850 9 10 1 0 0 0 1 AT90S4433 geda-gaf-1.8.2/symbols/micro/AT90S2323.sym0000664000175000017500000000306412204104272014542 00000000000000v 20070626 1 T 2300 1500 8 10 1 1 0 6 1 refdes=U? T 300 1650 5 10 0 0 0 0 1 device=AT90S2323 T 300 1850 5 10 0 0 0 0 1 footprint=DIP8 T 300 2050 5 10 0 0 0 0 1 net=GND:4 T 300 2250 5 10 0 0 0 0 1 net=Vcc:8 P 0 300 200 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=1 T 200 250 5 8 0 1 0 8 1 pinseq=1 T 350 300 9 8 1 1 0 0 1 pinlabel=\_Reset\_ T 350 300 5 8 0 1 0 2 1 pintype=in } V 250 300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=3 T 200 650 5 8 0 1 0 8 1 pinseq=2 T 350 700 9 8 1 1 0 0 1 pinlabel=XTAL2 T 350 700 5 8 0 1 0 2 1 pintype=out } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=2 T 200 1050 5 8 0 1 0 8 1 pinseq=3 T 350 1100 9 8 1 1 0 0 1 pinlabel=XTAL1 T 350 1100 5 8 0 1 0 2 1 pintype=in } P 2600 300 2300 300 1 0 0 { T 2400 350 5 8 1 1 0 0 1 pinnumber=7 T 2400 250 5 8 0 1 0 2 1 pinseq=4 T 2250 300 9 8 1 1 0 6 1 pinlabel=(SCK/T0) PB2 T 2250 300 5 8 0 1 0 8 1 pintype=io } P 2600 700 2300 700 1 0 0 { T 2400 750 5 8 1 1 0 0 1 pinnumber=6 T 2400 650 5 8 0 1 0 2 1 pinseq=5 T 2250 700 9 8 1 1 0 6 1 pinlabel=(MISO/INT0) PB1 T 2250 700 5 8 0 1 0 8 1 pintype=io } P 2600 1100 2300 1100 1 0 0 { T 2400 1150 5 8 1 1 0 0 1 pinnumber=5 T 2400 1050 5 8 0 1 0 2 1 pinseq=6 T 2250 1100 9 8 1 1 0 6 1 pinlabel=(MOSI) PB0 T 2250 1100 5 8 0 1 0 8 1 pintype=io } B 300 0 2000 1400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 2450 5 10 0 0 0 0 1 description=8-bit RISC micro controller (Atmel) T 300 2650 5 10 0 0 0 0 1 numslots=0 T 300 2850 5 10 0 0 0 0 1 author=Werner Hoch T 300 1450 9 10 1 0 0 0 1 AT90S2323 geda-gaf-1.8.2/symbols/micro/8254-1.sym0000664000175000017500000001116512204104272014171 00000000000000v 20070626 1 P 0 4000 300 4000 1 0 0 { T 200 4050 5 8 1 1 0 6 1 pinnumber=1 T 200 3950 5 8 0 1 0 8 1 pinseq=1 T 350 4000 9 8 1 1 0 0 1 pinlabel=D7 T 350 4000 5 8 0 1 0 2 1 pintype=io } P 0 3700 300 3700 1 0 0 { T 200 3750 5 8 1 1 0 6 1 pinnumber=2 T 200 3650 5 8 0 1 0 8 1 pinseq=2 T 350 3700 9 8 1 1 0 0 1 pinlabel=D6 T 350 3700 5 8 0 1 0 2 1 pintype=io } P 0 3400 300 3400 1 0 0 { T 200 3450 5 8 1 1 0 6 1 pinnumber=3 T 200 3350 5 8 0 1 0 8 1 pinseq=3 T 350 3400 9 8 1 1 0 0 1 pinlabel=D5 T 350 3400 5 8 0 1 0 2 1 pintype=io } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=4 T 200 3050 5 8 0 1 0 8 1 pinseq=4 T 350 3100 9 8 1 1 0 0 1 pinlabel=D4 T 350 3100 5 8 0 1 0 2 1 pintype=io } P 0 2800 300 2800 1 0 0 { T 200 2850 5 8 1 1 0 6 1 pinnumber=5 T 200 2750 5 8 0 1 0 8 1 pinseq=5 T 350 2800 9 8 1 1 0 0 1 pinlabel=D3 T 350 2800 5 8 0 1 0 2 1 pintype=io } P 0 2500 300 2500 1 0 0 { T 200 2550 5 8 1 1 0 6 1 pinnumber=6 T 200 2450 5 8 0 1 0 8 1 pinseq=6 T 350 2500 9 8 1 1 0 0 1 pinlabel=D2 T 350 2500 5 8 0 1 0 2 1 pintype=io } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=7 T 200 2150 5 8 0 1 0 8 1 pinseq=7 T 350 2200 9 8 1 1 0 0 1 pinlabel=D1 T 350 2200 5 8 0 1 0 2 1 pintype=io } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=8 T 200 1850 5 8 0 1 0 8 1 pinseq=8 T 350 1900 9 8 1 1 0 0 1 pinlabel=D0 T 350 1900 5 8 0 1 0 2 1 pintype=io } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=9 T 200 1350 5 8 0 1 0 8 1 pinseq=9 T 350 1400 9 8 1 1 0 0 1 pinlabel=CLK0 T 350 1400 5 8 0 1 0 2 1 pintype=clk } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=10 T 200 1050 5 8 0 1 0 8 1 pinseq=10 T 350 1100 9 8 1 1 0 0 1 pinlabel=OUT0 T 350 1100 5 8 0 1 0 2 1 pintype=out } P 0 800 300 800 1 0 0 { T 200 850 5 8 1 1 0 6 1 pinnumber=11 T 200 750 5 8 0 1 0 8 1 pinseq=11 T 350 800 9 8 1 1 0 0 1 pinlabel=GATE0 T 350 800 5 8 0 1 0 2 1 pintype=in } P 0 400 300 400 1 0 0 { T 200 450 5 8 1 1 0 6 1 pinnumber=12 T 200 350 5 8 0 1 0 8 1 pinseq=12 T 350 400 9 8 1 1 0 0 1 pinlabel=GND T 350 400 5 8 0 1 0 2 1 pintype=pwr } P 2300 400 2600 400 1 0 1 { T 2400 450 5 8 1 1 0 0 1 pinnumber=13 T 2400 350 5 8 0 1 0 2 1 pinseq=13 T 2250 400 9 8 1 1 0 6 1 pinlabel=OUT1 T 2250 400 5 8 0 1 0 8 1 pintype=out } P 2300 700 2600 700 1 0 1 { T 2400 750 5 8 1 1 0 0 1 pinnumber=14 T 2400 650 5 8 0 1 0 2 1 pinseq=14 T 2250 700 9 8 1 1 0 6 1 pinlabel=GATE1 T 2250 700 5 8 0 1 0 8 1 pintype=in } P 2300 1000 2600 1000 1 0 1 { T 2400 1050 5 8 1 1 0 0 1 pinnumber=15 T 2400 950 5 8 0 1 0 2 1 pinseq=15 T 2250 1000 9 8 1 1 0 6 1 pinlabel=CLK1 T 2250 1000 5 8 0 1 0 8 1 pintype=clk } P 2300 1400 2600 1400 1 0 1 { T 2400 1450 5 8 1 1 0 0 1 pinnumber=16 T 2400 1350 5 8 0 1 0 2 1 pinseq=16 T 2250 1400 9 8 1 1 0 6 1 pinlabel=GATE2 T 2250 1400 5 8 0 1 0 8 1 pintype=in } P 2300 1700 2600 1700 1 0 1 { T 2400 1750 5 8 1 1 0 0 1 pinnumber=17 T 2400 1650 5 8 0 1 0 2 1 pinseq=17 T 2250 1700 9 8 1 1 0 6 1 pinlabel=OUT2 T 2250 1700 5 8 0 1 0 8 1 pintype=out } P 2300 2000 2600 2000 1 0 1 { T 2400 2050 5 8 1 1 0 0 1 pinnumber=18 T 2400 1950 5 8 0 1 0 2 1 pinseq=18 T 2250 2000 9 8 1 1 0 6 1 pinlabel=CLK2 T 2250 2000 5 8 0 1 0 8 1 pintype=clk } P 2300 2400 2600 2400 1 0 1 { T 2400 2450 5 8 1 1 0 0 1 pinnumber=19 T 2400 2350 5 8 0 1 0 2 1 pinseq=19 T 2250 2400 9 8 1 1 0 6 1 pinlabel=A0 T 2250 2400 5 8 0 1 0 8 1 pintype=in } P 2300 2700 2600 2700 1 0 1 { T 2400 2750 5 8 1 1 0 0 1 pinnumber=20 T 2400 2650 5 8 0 1 0 2 1 pinseq=20 T 2250 2700 9 8 1 1 0 6 1 pinlabel=A1 T 2250 2700 5 8 0 1 0 8 1 pintype=in } V 2350 3100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2400 3100 2600 3100 1 0 1 { T 2400 3150 5 8 1 1 0 0 1 pinnumber=21 T 2400 3050 5 8 0 1 0 2 1 pinseq=21 T 2250 3100 9 8 1 1 0 6 1 pinlabel=\_CS\_ T 2250 3100 5 8 0 1 0 8 1 pintype=in } V 2350 3400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2400 3400 2600 3400 1 0 1 { T 2400 3450 5 8 1 1 0 0 1 pinnumber=22 T 2400 3350 5 8 0 1 0 2 1 pinseq=22 T 2250 3400 9 8 1 1 0 6 1 pinlabel=\_RD\_ T 2250 3400 5 8 0 1 0 8 1 pintype=in } V 2350 3700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2400 3700 2600 3700 1 0 1 { T 2400 3750 5 8 1 1 0 0 1 pinnumber=23 T 2400 3650 5 8 0 1 0 2 1 pinseq=23 T 2250 3700 9 8 1 1 0 6 1 pinlabel=\_WR\_ T 2250 3700 5 8 0 1 0 8 1 pintype=in } P 2300 4100 2600 4100 1 0 1 { T 2400 4150 5 8 1 1 0 0 1 pinnumber=24 T 2400 4050 5 8 0 1 0 2 1 pinseq=24 T 2250 4100 9 8 1 1 0 6 1 pinlabel=Vcc T 2250 4100 5 8 0 1 0 8 1 pintype=pwr } B 300 300 2000 4000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4550 5 10 0 0 0 0 1 device=8254 T 2300 4400 8 10 1 1 0 6 1 refdes=U? T 300 4950 5 10 0 0 0 0 1 footprint=DIP24 T 300 5150 5 10 0 0 0 0 1 description=programmable interval timer T 300 4750 5 10 0 0 0 0 1 numslots=0 T 300 4350 9 10 1 0 0 0 1 8254 geda-gaf-1.8.2/symbols/micro/AT89C2051-1.sym0000664000175000017500000000713612204104272014672 00000000000000v 20070626 1 T 2500 4000 8 10 1 1 0 6 1 refdes=U? T 300 4150 5 10 0 0 0 0 1 device=AT89C2051 T 300 4350 5 10 0 0 0 0 1 footprint=DIP20 T 300 4550 5 10 0 0 0 0 1 net=GND:10 T 300 4750 5 10 0 0 0 0 1 net=Vcc:20 P 2800 3500 2500 3500 1 0 0 { T 2600 3550 5 8 1 1 0 0 1 pinnumber=12 T 2600 3450 5 8 0 1 0 2 1 pinseq=4 T 2450 3500 9 8 1 1 0 6 1 pinlabel=(AIN0) P1.0 T 2450 3500 5 8 0 1 0 8 1 pintype=io } P 2800 3100 2500 3100 1 0 0 { T 2600 3150 5 8 1 1 0 0 1 pinnumber=13 T 2600 3050 5 8 0 1 0 2 1 pinseq=5 T 2450 3100 9 8 1 1 0 6 1 pinlabel=(AIN1) P1.1 T 2450 3100 5 8 0 1 0 8 1 pintype=io } P 2800 2700 2500 2700 1 0 0 { T 2600 2750 5 8 1 1 0 0 1 pinnumber=14 T 2600 2650 5 8 0 1 0 2 1 pinseq=6 T 2450 2700 9 8 1 1 0 6 1 pinlabel=P1.2 T 2450 2700 5 8 0 1 0 8 1 pintype=io } P 2800 2300 2500 2300 1 0 0 { T 2600 2350 5 8 1 1 0 0 1 pinnumber=15 T 2600 2250 5 8 0 1 0 2 1 pinseq=7 T 2450 2300 9 8 1 1 0 6 1 pinlabel=P1.3 T 2450 2300 5 8 0 1 0 8 1 pintype=io } P 2800 1900 2500 1900 1 0 0 { T 2600 1950 5 8 1 1 0 0 1 pinnumber=16 T 2600 1850 5 8 0 1 0 2 1 pinseq=8 T 2450 1900 9 8 1 1 0 6 1 pinlabel=P1.4 T 2450 1900 5 8 0 1 0 8 1 pintype=io } P 2800 1500 2500 1500 1 0 0 { T 2600 1550 5 8 1 1 0 0 1 pinnumber=17 T 2600 1450 5 8 0 1 0 2 1 pinseq=9 T 2450 1500 9 8 1 1 0 6 1 pinlabel=P1.5 T 2450 1500 5 8 0 1 0 8 1 pintype=io } P 2800 1100 2500 1100 1 0 0 { T 2600 1150 5 8 1 1 0 0 1 pinnumber=18 T 2600 1050 5 8 0 1 0 2 1 pinseq=10 T 2450 1100 9 8 1 1 0 6 1 pinlabel=P1.6 T 2450 1100 5 8 0 1 0 8 1 pintype=io } P 2800 700 2500 700 1 0 0 { T 2600 750 5 8 1 1 0 0 1 pinnumber=19 T 2600 650 5 8 0 1 0 2 1 pinseq=11 T 2450 700 9 8 1 1 0 6 1 pinlabel=P1.7 T 2450 700 5 8 0 1 0 8 1 pintype=io } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=2 T 200 3450 5 8 0 1 0 8 1 pinseq=12 T 350 3500 9 8 1 1 0 0 1 pinlabel=P3.0 (RXD) T 350 3500 5 8 0 1 0 2 1 pintype=io } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=3 T 200 3050 5 8 0 1 0 8 1 pinseq=13 T 350 3100 9 8 1 1 0 0 1 pinlabel=P3.1 (TXD) T 350 3100 5 8 0 1 0 2 1 pintype=io } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=6 T 200 2650 5 8 0 1 0 8 1 pinseq=14 T 350 2700 9 8 1 1 0 0 1 pinlabel=P3.2 (\_INT0\_) T 350 2700 5 8 0 1 0 2 1 pintype=io } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=7 T 200 2250 5 8 0 1 0 8 1 pinseq=15 T 350 2300 9 8 1 1 0 0 1 pinlabel=P3.3 (\_INT1\_) T 350 2300 5 8 0 1 0 2 1 pintype=io } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=8 T 200 1850 5 8 0 1 0 8 1 pinseq=16 T 350 1900 9 8 1 1 0 0 1 pinlabel=P3.4 (T0) T 350 1900 5 8 0 1 0 2 1 pintype=io } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=9 T 200 1450 5 8 0 1 0 8 1 pinseq=17 T 350 1500 9 8 1 1 0 0 1 pinlabel=P3.5 (T1) T 350 1500 5 8 0 1 0 2 1 pintype=io } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=11 T 200 650 5 8 0 1 0 8 1 pinseq=18 T 350 700 9 8 1 1 0 0 1 pinlabel=P3.7 T 350 700 5 8 0 1 0 2 1 pintype=io } P 700 0 700 300 1 0 0 { T 750 100 5 8 1 1 0 0 1 pinnumber=1 T 750 100 5 8 0 1 0 2 1 pinseq=1 T 700 350 9 8 1 1 0 3 1 pinlabel=RST/VPP T 700 500 5 8 0 1 0 3 1 pintype=in } P 1300 0 1300 300 1 0 0 { T 1350 100 5 8 1 1 0 0 1 pinnumber=5 T 1350 100 5 8 0 1 0 2 1 pinseq=2 T 1300 350 9 8 1 1 0 3 1 pinlabel=XTAL1 T 1300 500 5 8 0 1 0 3 1 pintype=in } P 2100 0 2100 300 1 0 0 { T 2150 100 5 8 1 1 0 0 1 pinnumber=4 T 2150 100 5 8 0 1 0 2 1 pinseq=3 T 2100 350 9 8 1 1 0 3 1 pinlabel=XTAL2 T 2100 500 5 8 0 1 0 3 1 pintype=out } B 300 300 2200 3600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4950 5 10 0 0 0 0 1 numslots=0 T 300 5150 5 10 0 0 0 0 1 description=8-bit 8051-compatible micro controller (Atmel) T 300 3950 9 10 1 0 0 0 1 AT89C2051 geda-gaf-1.8.2/symbols/micro/ATtiny11.sym0000664000175000017500000000311712204104272015001 00000000000000v 20070626 1 T 2300 2300 8 10 1 1 0 6 1 refdes=U? T 300 2450 5 10 0 0 0 0 1 device=ATtiny11 T 300 2650 5 10 0 0 0 0 1 footprint=DIP8 T 300 2850 5 10 0 0 0 0 1 net=GND:4 T 300 3050 5 10 0 0 0 0 1 net=Vcc:8 P 0 300 200 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=1 T 200 250 5 8 0 1 0 8 1 pinseq=1 T 350 300 9 8 1 1 0 0 1 pinlabel=\_Reset\_ T 350 300 5 8 0 1 0 2 1 pintype=in } V 250 300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2600 300 2300 300 1 0 0 { T 2400 350 5 8 1 1 0 0 1 pinnumber=3 T 2400 250 5 8 0 1 0 2 1 pinseq=2 T 2250 300 9 8 1 1 0 6 1 pinlabel=(XTAL2) PB4 T 2250 300 5 8 0 1 0 8 1 pintype=io } P 2600 700 2300 700 1 0 0 { T 2400 750 5 8 1 1 0 0 1 pinnumber=2 T 2400 650 5 8 0 1 0 2 1 pinseq=3 T 2250 700 9 8 1 1 0 6 1 pinlabel=(XTAL1) PB3 T 2250 700 5 8 0 1 0 8 1 pintype=io } P 2600 1100 2300 1100 1 0 0 { T 2400 1150 5 8 1 1 0 0 1 pinnumber=7 T 2400 1050 5 8 0 1 0 2 1 pinseq=4 T 2250 1100 9 8 1 1 0 6 1 pinlabel=(T0) PB2 T 2250 1100 5 8 0 1 0 8 1 pintype=io } P 2600 1500 2300 1500 1 0 0 { T 2400 1550 5 8 1 1 0 0 1 pinnumber=6 T 2400 1450 5 8 0 1 0 2 1 pinseq=5 T 2250 1500 9 8 1 1 0 6 1 pinlabel=(INT0/AIN1) PB1 T 2250 1500 5 8 0 1 0 8 1 pintype=io } P 2600 1900 2300 1900 1 0 0 { T 2400 1950 5 8 1 1 0 0 1 pinnumber=5 T 2400 1850 5 8 0 1 0 2 1 pinseq=6 T 2250 1900 9 8 1 1 0 6 1 pinlabel=(AIN0) PB0 T 2250 1900 5 8 0 1 0 8 1 pintype=io } B 300 0 2000 2200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 3250 5 10 0 0 0 0 1 description=8-bit RISC micro controller (Atmel) T 300 3450 5 10 0 0 0 0 1 numslots=0 T 300 3650 5 10 0 0 0 0 1 author=Werner Hoch T 300 2250 9 10 1 0 0 0 1 ATtiny11 geda-gaf-1.8.2/symbols/micro/mc68hc912b32-1.sym0000664000175000017500000003451612204104272015427 00000000000000v 20031231 1 T 300 5400 5 10 0 0 0 0 1 device=MC68HC912B32 P 1500 500 1800 500 1 0 1 { T 1600 510 5 6 1 1 0 0 1 pinnumber=10 T 1600 450 5 8 0 1 0 2 1 pinseq=10 T 1450 500 5 8 0 1 0 8 1 pintype=pwr T 1450 500 9 6 1 1 0 6 1 pinlabel=VDD2 } P 0 1600 300 1600 1 0 0 { T 200 1610 5 6 1 1 0 6 1 pinnumber=38 T 200 1550 5 8 0 1 0 8 1 pinseq=38 T 350 1600 5 8 0 1 0 2 1 pintype=in T 350 1600 9 6 1 1 0 0 1 pinlabel=PE0/XIRQ } P 1500 400 1800 400 1 0 1 { T 1600 410 5 6 1 1 0 0 1 pinnumber=31 T 1600 350 5 8 0 1 0 2 1 pinseq=31 T 1450 400 5 8 0 1 0 8 1 pintype=pwr T 1450 400 9 6 1 1 0 6 1 pinlabel=VDDX1 } P 0 1700 300 1700 1 0 0 { T 200 1710 5 6 1 1 0 6 1 pinnumber=37 T 200 1650 5 8 0 1 0 8 1 pinseq=37 T 350 1700 5 8 0 1 0 2 1 pintype=in T 350 1700 9 6 1 1 0 0 1 pinlabel=PE1/IRQ } P 1500 3400 1800 3400 1 0 1 { T 1600 3410 5 6 1 1 0 0 1 pinnumber=51 T 1600 3350 5 8 0 1 0 2 1 pinseq=51 T 1450 3400 5 8 0 1 0 8 1 pintype=in T 1450 3400 9 6 1 1 0 6 1 pinlabel=PAD0 } P 1500 3500 1800 3500 1 0 1 { T 1600 3510 5 6 1 1 0 0 1 pinnumber=52 T 1600 3450 5 8 0 1 0 2 1 pinseq=52 T 1450 3500 5 8 0 1 0 8 1 pintype=in T 1450 3500 9 6 1 1 0 6 1 pinlabel=PAD1 } P 1500 3600 1800 3600 1 0 1 { T 1600 3610 5 6 1 1 0 0 1 pinnumber=53 T 1600 3550 5 8 0 1 0 2 1 pinseq=53 T 1450 3600 5 8 0 1 0 8 1 pintype=in T 1450 3600 9 6 1 1 0 6 1 pinlabel=PAD2 } P 1500 3700 1800 3700 1 0 1 { T 1600 3710 5 6 1 1 0 0 1 pinnumber=54 T 1600 3650 5 8 0 1 0 2 1 pinseq=54 T 1450 3700 5 8 0 1 0 8 1 pintype=in T 1450 3700 9 6 1 1 0 6 1 pinlabel=PAD3 } P 1500 3800 1800 3800 1 0 1 { T 1600 3810 5 6 1 1 0 0 1 pinnumber=55 T 1600 3750 5 8 0 1 0 2 1 pinseq=55 T 1450 3800 5 8 0 1 0 8 1 pintype=in T 1450 3800 9 6 1 1 0 6 1 pinlabel=PAD4 } P 1500 3900 1800 3900 1 0 1 { T 1600 3910 5 6 1 1 0 0 1 pinnumber=56 T 1600 3850 5 8 0 1 0 2 1 pinseq=56 T 1450 3900 5 8 0 1 0 8 1 pintype=in T 1450 3900 9 6 1 1 0 6 1 pinlabel=PAD5 } P 1500 4000 1800 4000 1 0 1 { T 1600 4010 5 6 1 1 0 0 1 pinnumber=57 T 1600 3950 5 8 0 1 0 2 1 pinseq=57 T 1450 4000 5 8 0 1 0 8 1 pintype=in T 1450 4000 9 6 1 1 0 6 1 pinlabel=PAD6 } P 1500 4100 1800 4100 1 0 1 { T 1600 4110 5 6 1 1 0 0 1 pinnumber=58 T 1600 4050 5 8 0 1 0 2 1 pinseq=58 T 1450 4100 5 8 0 1 0 8 1 pintype=in T 1450 4100 9 6 1 1 0 6 1 pinlabel=PAD7 } P 1500 4300 1800 4300 1 0 1 { T 1600 4310 5 6 1 1 0 0 1 pinnumber=39 T 1600 4250 5 8 0 1 0 2 1 pinseq=39 T 1450 4300 5 8 0 1 0 8 1 pintype=io T 1450 4300 9 6 1 1 0 6 1 pinlabel=PA0 } P 1500 4400 1800 4400 1 0 1 { T 1600 4410 5 6 1 1 0 0 1 pinnumber=40 T 1600 4350 5 8 0 1 0 2 1 pinseq=40 T 1450 4400 5 8 0 1 0 8 1 pintype=io T 1450 4400 9 6 1 1 0 6 1 pinlabel=PA1 } P 1500 4500 1800 4500 1 0 1 { T 1600 4510 5 6 1 1 0 0 1 pinnumber=41 T 1600 4450 5 8 0 1 0 2 1 pinseq=41 T 1450 4500 5 8 0 1 0 8 1 pintype=io T 1450 4500 9 6 1 1 0 6 1 pinlabel=PA2 } P 1500 4600 1800 4600 1 0 1 { T 1600 4610 5 6 1 1 0 0 1 pinnumber=42 T 1600 4550 5 8 0 1 0 2 1 pinseq=42 T 1450 4600 5 8 0 1 0 8 1 pintype=io T 1450 4600 9 6 1 1 0 6 1 pinlabel=PA3 } P 1500 4700 1800 4700 1 0 1 { T 1600 4710 5 6 1 1 0 0 1 pinnumber=43 T 1600 4650 5 8 0 1 0 2 1 pinseq=43 T 1450 4700 5 8 0 1 0 8 1 pintype=io T 1450 4700 9 6 1 1 0 6 1 pinlabel=PA4 } P 1500 4800 1800 4800 1 0 1 { T 1600 4810 5 6 1 1 0 0 1 pinnumber=44 T 1600 4750 5 8 0 1 0 2 1 pinseq=44 T 1450 4800 5 8 0 1 0 8 1 pintype=io T 1450 4800 9 6 1 1 0 6 1 pinlabel=PA5 } P 1500 4900 1800 4900 1 0 1 { T 1600 4910 5 6 1 1 0 0 1 pinnumber=45 T 1600 4850 5 8 0 1 0 2 1 pinseq=45 T 1450 4900 5 8 0 1 0 8 1 pintype=io T 1450 4900 9 6 1 1 0 6 1 pinlabel=PA6 } P 1500 5000 1800 5000 1 0 1 { T 1600 5010 5 6 1 1 0 0 1 pinnumber=46 T 1600 4950 5 8 0 1 0 2 1 pinseq=46 T 1450 5000 5 8 0 1 0 8 1 pintype=io T 1450 5000 9 6 1 1 0 6 1 pinlabel=PA7 } P 1500 300 1800 300 1 0 1 { T 1600 310 5 6 1 1 0 0 1 pinnumber=47 T 1600 250 5 8 0 1 0 2 1 pinseq=47 T 1450 300 5 8 0 1 0 8 1 pintype=pwr T 1450 300 9 6 1 1 0 6 1 pinlabel=VDD1 } P 1500 200 1800 200 1 0 1 { T 1600 210 5 6 1 1 0 0 1 pinnumber=78 T 1600 150 5 8 0 1 0 2 1 pinseq=78 T 1450 200 5 8 0 1 0 8 1 pintype=pwr T 1450 200 9 6 1 1 0 6 1 pinlabel=VDDX } P 0 900 300 900 1 0 0 { T 200 910 5 6 1 1 0 6 1 pinnumber=49 T 200 850 5 8 0 1 0 8 1 pinseq=49 T 350 900 5 8 0 1 0 2 1 pintype=in T 350 900 9 6 1 1 0 0 1 pinlabel=VRH } P 0 1100 300 1100 1 0 0 { T 200 1110 5 6 1 1 0 6 1 pinnumber=34 T 200 1050 5 8 0 1 0 8 1 pinseq=34 T 350 1100 5 8 0 1 0 2 1 pintype=out T 350 1100 9 6 1 1 0 0 1 pinlabel=XTAL } P 0 1200 300 1200 1 0 0 { T 200 1210 5 6 1 1 0 6 1 pinnumber=33 T 200 1150 5 8 0 1 0 8 1 pinseq=33 T 350 1200 5 8 0 1 0 2 1 pintype=in T 350 1200 9 6 1 1 0 0 1 pinlabel=EXTAL } P 0 1300 300 1300 1 0 0 { T 200 1310 5 6 1 1 0 6 1 pinnumber=32 T 200 1250 5 8 0 1 0 8 1 pinseq=32 T 350 1300 5 8 0 1 0 2 1 pintype=oc T 350 1300 9 6 1 1 0 0 1 pinlabel=RESET } P 0 1400 300 1400 1 0 0 { T 200 1410 5 6 1 1 0 6 1 pinnumber=17 T 200 1350 5 8 0 1 0 8 1 pinseq=17 T 350 1400 5 8 0 1 0 2 1 pintype=oc T 350 1400 9 6 1 1 0 0 1 pinlabel=BKGD } P 0 1800 300 1800 1 0 0 { T 200 1810 5 6 1 1 0 6 1 pinnumber=36 T 200 1750 5 8 0 1 0 8 1 pinseq=36 T 350 1800 5 8 0 1 0 2 1 pintype=io T 350 1800 9 6 1 1 0 0 1 pinlabel=PE2 } P 0 1900 300 1900 1 0 0 { T 200 1910 5 6 1 1 0 6 1 pinnumber=35 T 200 1850 5 8 0 1 0 8 1 pinseq=35 T 350 1900 5 8 0 1 0 2 1 pintype=io T 350 1900 9 6 1 1 0 0 1 pinlabel=PE3 } P 0 2000 300 2000 1 0 0 { T 200 2010 5 6 1 1 0 6 1 pinnumber=29 T 200 1950 5 8 0 1 0 8 1 pinseq=29 T 350 2000 5 8 0 1 0 2 1 pintype=io T 350 2000 9 6 1 1 0 0 1 pinlabel=PE4/ECLK } P 0 2100 300 2100 1 0 0 { T 200 2110 5 6 1 1 0 6 1 pinnumber=28 T 200 2050 5 8 0 1 0 8 1 pinseq=28 T 350 2100 5 8 0 1 0 2 1 pintype=io T 350 2100 9 6 1 1 0 0 1 pinlabel=PE5/MODA } P 0 2200 300 2200 1 0 0 { T 200 2210 5 6 1 1 0 6 1 pinnumber=27 T 200 2150 5 8 0 1 0 8 1 pinseq=27 T 350 2200 5 8 0 1 0 2 1 pintype=io T 350 2200 9 6 1 1 0 0 1 pinlabel=PE6/MODB } P 0 2300 300 2300 1 0 0 { T 200 2310 5 6 1 1 0 6 1 pinnumber=26 T 200 2250 5 8 0 1 0 8 1 pinseq=26 T 350 2300 5 8 0 1 0 2 1 pintype=io T 350 2300 9 6 1 1 0 0 1 pinlabel=PE7 } P 0 4300 300 4300 1 0 0 { T 200 4310 5 6 1 1 0 6 1 pinnumber=6 T 200 4250 5 8 0 1 0 8 1 pinseq=6 T 350 4300 5 8 0 1 0 2 1 pintype=io T 350 4300 9 6 1 1 0 0 1 pinlabel=PP0 } P 0 4400 300 4400 1 0 0 { T 200 4410 5 6 1 1 0 6 1 pinnumber=5 T 200 4350 5 8 0 1 0 8 1 pinseq=5 T 350 4400 5 8 0 1 0 2 1 pintype=io T 350 4400 9 6 1 1 0 0 1 pinlabel=PP1 } P 0 4500 300 4500 1 0 0 { T 200 4510 5 6 1 1 0 6 1 pinnumber=4 T 200 4450 5 8 0 1 0 8 1 pinseq=4 T 350 4500 5 8 0 1 0 2 1 pintype=io T 350 4500 9 6 1 1 0 0 1 pinlabel=PP2 } P 1500 2500 1800 2500 1 0 1 { T 1600 2510 5 6 1 1 0 0 1 pinnumber=61 T 1600 2450 5 8 0 1 0 2 1 pinseq=61 T 1450 2500 5 8 0 1 0 8 1 pintype=io T 1450 2500 9 6 1 1 0 6 1 pinlabel=PS0/RXD } P 1500 2600 1800 2600 1 0 1 { T 1600 2610 5 6 1 1 0 0 1 pinnumber=62 T 1600 2550 5 8 0 1 0 2 1 pinseq=62 T 1450 2600 5 8 0 1 0 8 1 pintype=io T 1450 2600 9 6 1 1 0 6 1 pinlabel=PS1/TXD } P 1500 2700 1800 2700 1 0 1 { T 1600 2710 5 6 1 1 0 0 1 pinnumber=63 T 1600 2650 5 8 0 1 0 2 1 pinseq=63 T 1450 2700 5 8 0 1 0 8 1 pintype=io T 1450 2700 9 6 1 1 0 6 1 pinlabel=PS2 } P 1500 2800 1800 2800 1 0 1 { T 1600 2810 5 6 1 1 0 0 1 pinnumber=64 T 1600 2750 5 8 0 1 0 2 1 pinseq=64 T 1450 2800 5 8 0 1 0 8 1 pintype=io T 1450 2800 9 6 1 1 0 6 1 pinlabel=PS3 } P 1500 2900 1800 2900 1 0 1 { T 1600 2910 5 6 1 1 0 0 1 pinnumber=65 T 1600 2850 5 8 0 1 0 2 1 pinseq=65 T 1450 2900 5 8 0 1 0 8 1 pintype=io T 1450 2900 9 6 1 1 0 6 1 pinlabel=PS4/MISO } P 1500 3000 1800 3000 1 0 1 { T 1600 3010 5 6 1 1 0 0 1 pinnumber=66 T 1600 2950 5 8 0 1 0 2 1 pinseq=66 T 1450 3000 5 8 0 1 0 8 1 pintype=io T 1450 3000 9 6 1 1 0 6 1 pinlabel=PS5/MOSI } P 1500 3100 1800 3100 1 0 1 { T 1600 3110 5 6 1 1 0 0 1 pinnumber=67 T 1600 3050 5 8 0 1 0 2 1 pinseq=67 T 1450 3100 5 8 0 1 0 8 1 pintype=io T 1450 3100 9 6 1 1 0 6 1 pinlabel=PS6/SCK } P 1500 3200 1800 3200 1 0 1 { T 1600 3210 5 6 1 1 0 0 1 pinnumber=68 T 1600 3150 5 8 0 1 0 2 1 pinseq=68 T 1450 3200 5 8 0 1 0 8 1 pintype=io T 1450 3200 9 6 1 1 0 6 1 pinlabel=PS7/SS } P 0 4600 300 4600 1 0 0 { T 200 4610 5 6 1 1 0 6 1 pinnumber=3 T 200 4550 5 8 0 1 0 8 1 pinseq=3 T 350 4600 5 8 0 1 0 2 1 pintype=io T 350 4600 9 6 1 1 0 0 1 pinlabel=PP3 } P 0 4700 300 4700 1 0 0 { T 200 4710 5 6 1 1 0 6 1 pinnumber=2 T 200 4650 5 8 0 1 0 8 1 pinseq=2 T 350 4700 5 8 0 1 0 2 1 pintype=io T 350 4700 9 6 1 1 0 0 1 pinlabel=PP4 } P 0 4800 300 4800 1 0 0 { T 200 4810 5 6 1 1 0 6 1 pinnumber=1 T 200 4750 5 8 0 1 0 8 1 pinseq=1 T 350 4800 5 8 0 1 0 2 1 pintype=io T 350 4800 9 6 1 1 0 0 1 pinlabel=PP5 } P 0 4900 300 4900 1 0 0 { T 200 4910 5 6 1 1 0 6 1 pinnumber=80 T 200 4850 5 8 0 1 0 8 1 pinseq=80 T 350 4900 5 8 0 1 0 2 1 pintype=io T 350 4900 9 6 1 1 0 0 1 pinlabel=PP6 } P 0 5000 300 5000 1 0 0 { T 200 5010 5 6 1 1 0 6 1 pinnumber=79 T 200 4950 5 8 0 1 0 8 1 pinseq=79 T 350 5000 5 8 0 1 0 2 1 pintype=io T 350 5000 9 6 1 1 0 0 1 pinlabel=PP7 } P 0 800 300 800 1 0 0 { T 200 810 5 6 1 1 0 6 1 pinnumber=50 T 200 750 5 8 0 1 0 8 1 pinseq=50 T 350 800 5 8 0 1 0 2 1 pintype=in T 350 800 9 6 1 1 0 0 1 pinlabel=VRL } P 0 700 300 700 1 0 0 { T 200 710 5 6 1 1 0 6 1 pinnumber=69 T 200 650 5 8 0 1 0 8 1 pinseq=69 T 350 700 5 8 0 1 0 2 1 pintype=in T 350 700 9 6 1 1 0 0 1 pinlabel=VFP } P 0 3400 300 3400 1 0 0 { T 200 3410 5 6 1 1 0 6 1 pinnumber=7 T 200 3350 5 8 0 1 0 8 1 pinseq=7 T 350 3400 5 8 0 1 0 2 1 pintype=io T 350 3400 9 6 1 1 0 0 1 pinlabel=PT0 } P 1500 1700 1800 1700 1 0 1 { T 1600 1710 5 6 1 1 0 0 1 pinnumber=76 T 1600 1650 5 8 0 1 0 2 1 pinseq=76 T 1450 1700 5 8 0 1 0 8 1 pintype=io T 1450 1700 9 6 1 1 0 6 1 pinlabel=PDLC0 } P 1500 1800 1800 1800 1 0 1 { T 1600 1810 5 6 1 1 0 0 1 pinnumber=75 T 1600 1750 5 8 0 1 0 2 1 pinseq=75 T 1450 1800 5 8 0 1 0 8 1 pintype=io T 1450 1800 9 6 1 1 0 6 1 pinlabel=PDLC1 } P 1500 1900 1800 1900 1 0 1 { T 1600 1910 5 6 1 1 0 0 1 pinnumber=74 T 1600 1850 5 8 0 1 0 2 1 pinseq=74 T 1450 1900 5 8 0 1 0 8 1 pintype=io T 1450 1900 9 6 1 1 0 6 1 pinlabel=PDLC2 } P 1500 2000 1800 2000 1 0 1 { T 1600 2010 5 6 1 1 0 0 1 pinnumber=73 T 1600 1950 5 8 0 1 0 2 1 pinseq=73 T 1450 2000 5 8 0 1 0 8 1 pintype=io T 1450 2000 9 6 1 1 0 6 1 pinlabel=PDLC3 } P 1500 2100 1800 2100 1 0 1 { T 1600 2110 5 6 1 1 0 0 1 pinnumber=72 T 1600 2050 5 8 0 1 0 2 1 pinseq=72 T 1450 2100 5 8 0 1 0 8 1 pintype=io T 1450 2100 9 6 1 1 0 6 1 pinlabel=PDLC4 } P 1500 2200 1800 2200 1 0 1 { T 1600 2210 5 6 1 1 0 0 1 pinnumber=71 T 1600 2150 5 8 0 1 0 2 1 pinseq=71 T 1450 2200 5 8 0 1 0 8 1 pintype=io T 1450 2200 9 6 1 1 0 6 1 pinlabel=PDLC5 } P 1500 2300 1800 2300 1 0 1 { T 1600 2310 5 6 1 1 0 0 1 pinnumber=70 T 1600 2250 5 8 0 1 0 2 1 pinseq=70 T 1450 2300 5 8 0 1 0 8 1 pintype=io T 1450 2300 9 6 1 1 0 6 1 pinlabel=PDLC6 } P 0 3500 300 3500 1 0 0 { T 200 3510 5 6 1 1 0 6 1 pinnumber=8 T 200 3450 5 8 0 1 0 8 1 pinseq=8 T 350 3500 5 8 0 1 0 2 1 pintype=io T 350 3500 9 6 1 1 0 0 1 pinlabel=PT1 } P 0 3600 300 3600 1 0 0 { T 200 3610 5 6 1 1 0 6 1 pinnumber=9 T 200 3550 5 8 0 1 0 8 1 pinseq=9 T 350 3600 5 8 0 1 0 2 1 pintype=io T 350 3600 9 6 1 1 0 0 1 pinlabel=PT2 } P 0 3700 300 3700 1 0 0 { T 200 3710 5 6 1 1 0 6 1 pinnumber=12 T 200 3650 5 8 0 1 0 8 1 pinseq=12 T 350 3700 5 8 0 1 0 2 1 pintype=io T 350 3700 9 6 1 1 0 0 1 pinlabel=PT3 } P 0 3800 300 3800 1 0 0 { T 200 3810 5 6 1 1 0 6 1 pinnumber=13 T 200 3750 5 8 0 1 0 8 1 pinseq=13 T 350 3800 5 8 0 1 0 2 1 pintype=io T 350 3800 9 6 1 1 0 0 1 pinlabel=PT4 } P 0 3900 300 3900 1 0 0 { T 200 3910 5 6 1 1 0 6 1 pinnumber=14 T 200 3850 5 8 0 1 0 8 1 pinseq=14 T 350 3900 5 8 0 1 0 2 1 pintype=io T 350 3900 9 6 1 1 0 0 1 pinlabel=PT5 } P 0 4000 300 4000 1 0 0 { T 200 4010 5 6 1 1 0 6 1 pinnumber=15 T 200 3950 5 8 0 1 0 8 1 pinseq=15 T 350 4000 5 8 0 1 0 2 1 pintype=io T 350 4000 9 6 1 1 0 0 1 pinlabel=PT6 } P 0 4100 300 4100 1 0 0 { T 200 4110 5 6 1 1 0 6 1 pinnumber=16 T 200 4050 5 8 0 1 0 8 1 pinseq=16 T 350 4100 5 8 0 1 0 2 1 pintype=io T 350 4100 9 6 1 1 0 0 1 pinlabel=PT7 } P 1500 1500 1800 1500 1 0 1 { T 1600 1510 5 6 1 1 0 0 1 pinnumber=11 T 1600 1450 5 8 0 1 0 2 1 pinseq=11 T 1450 1500 5 8 0 1 0 8 1 pintype=in T 1450 1500 9 6 1 1 0 6 1 pinlabel=VSS2 } P 1500 1300 1800 1300 1 0 1 { T 1600 1310 5 6 1 1 0 0 1 pinnumber=48 T 1600 1250 5 8 0 1 0 2 1 pinseq=48 T 1450 1300 5 8 0 1 0 8 1 pintype=in T 1450 1300 9 6 1 1 0 6 1 pinlabel=VSS1 } P 1500 1400 1800 1400 1 0 1 { T 1600 1410 5 6 1 1 0 0 1 pinnumber=30 T 1600 1350 5 8 0 1 0 2 1 pinseq=30 T 1450 1400 5 8 0 1 0 8 1 pintype=in T 1450 1400 9 6 1 1 0 6 1 pinlabel=VSSX1 } P 1500 1200 1800 1200 1 0 1 { T 1600 1210 5 6 1 1 0 0 1 pinnumber=77 T 1600 1150 5 8 0 1 0 2 1 pinseq=77 T 1450 1200 5 8 0 1 0 8 1 pintype=in T 1450 1200 9 6 1 1 0 6 1 pinlabel=VSSX } P 0 2500 300 2500 1 0 0 { T 200 2510 5 6 1 1 0 6 1 pinnumber=18 T 200 2450 5 8 0 1 0 8 1 pinseq=18 T 350 2500 5 8 0 1 0 2 1 pintype=io T 350 2500 9 6 1 1 0 0 1 pinlabel=PB0 } P 0 2600 300 2600 1 0 0 { T 200 2610 5 6 1 1 0 6 1 pinnumber=19 T 200 2550 5 8 0 1 0 8 1 pinseq=19 T 350 2600 5 8 0 1 0 2 1 pintype=io T 350 2600 9 6 1 1 0 0 1 pinlabel=PB1 } P 0 2700 300 2700 1 0 0 { T 200 2710 5 6 1 1 0 6 1 pinnumber=20 T 200 2650 5 8 0 1 0 8 1 pinseq=20 T 350 2700 5 8 0 1 0 2 1 pintype=io T 350 2700 9 6 1 1 0 0 1 pinlabel=PB2 } P 0 2800 300 2800 1 0 0 { T 200 2810 5 6 1 1 0 6 1 pinnumber=21 T 200 2750 5 8 0 1 0 8 1 pinseq=21 T 350 2800 5 8 0 1 0 2 1 pintype=io T 350 2800 9 6 1 1 0 0 1 pinlabel=PB3 } P 0 2900 300 2900 1 0 0 { T 200 2910 5 6 1 1 0 6 1 pinnumber=22 T 200 2850 5 8 0 1 0 8 1 pinseq=22 T 350 2900 5 8 0 1 0 2 1 pintype=io T 350 2900 9 6 1 1 0 0 1 pinlabel=PB4 } P 0 3000 300 3000 1 0 0 { T 200 3010 5 6 1 1 0 6 1 pinnumber=23 T 200 2950 5 8 0 1 0 8 1 pinseq=23 T 350 3000 5 8 0 1 0 2 1 pintype=io T 350 3000 9 6 1 1 0 0 1 pinlabel=PB5 } P 0 3100 300 3100 1 0 0 { T 200 3110 5 6 1 1 0 6 1 pinnumber=24 T 200 3050 5 8 0 1 0 8 1 pinseq=24 T 350 3100 5 8 0 1 0 2 1 pintype=io T 350 3100 9 6 1 1 0 0 1 pinlabel=PB6 } P 0 3200 300 3200 1 0 0 { T 200 3210 5 6 1 1 0 6 1 pinnumber=25 T 200 3150 5 8 0 1 0 8 1 pinseq=25 T 350 3200 5 8 0 1 0 2 1 pintype=io T 350 3200 9 6 1 1 0 0 1 pinlabel=PB7 } P 0 500 300 500 1 0 0 { T 200 510 5 6 1 1 0 6 1 pinnumber=59 T 200 450 5 8 0 1 0 8 1 pinseq=59 T 350 500 5 8 0 1 0 2 1 pintype=pwr T 350 500 9 6 1 1 0 0 1 pinlabel=VDDAD } P 0 400 300 400 1 0 0 { T 200 410 5 6 1 1 0 6 1 pinnumber=60 T 200 350 5 8 0 1 0 8 1 pinseq=60 T 350 400 5 8 0 1 0 2 1 pintype=pwr T 350 400 9 6 1 1 0 0 1 pinlabel=VSSAD } B 300 0 1200 5200 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 T 300 5600 5 10 0 0 0 0 1 footprint=QFP80 T 300 6000 5 10 0 0 0 0 1 description=16-bit microcontroller (motorola) T 300 5800 5 10 0 0 0 0 1 numslots=0 T 300 5250 9 6 1 0 0 0 1 MC68HC912B32 T 1500 5250 5 6 1 1 0 6 1 refdes=U? geda-gaf-1.8.2/symbols/micro/MSP430x41x.sym0000664000175000017500000002671612204104272015054 00000000000000v 20070626 1 B 300 300 9300 6400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2600 3975 5 10 0 0 0 0 1 device=MSP430x41x T 9550 6750 8 10 1 1 0 6 1 refdes=U? P 300 6500 0 6500 1 0 1 { T 200 6550 5 8 1 1 0 6 1 pinnumber=1 T 350 6500 9 8 1 1 0 0 1 pinlabel=DVcc T 200 6450 5 8 0 1 0 8 1 pinseq=1 T 350 6500 5 8 0 1 0 2 1 pintype=pwr } P 300 6100 0 6100 1 0 1 { T 200 6150 5 8 1 1 0 6 1 pinnumber=2 T 350 6100 9 8 1 1 0 0 1 pinlabel=P6.3 T 200 6050 5 8 0 1 0 8 1 pinseq=2 T 350 6100 5 8 0 1 0 2 1 pintype=io } P 300 5700 0 5700 1 0 1 { T 200 5750 5 8 1 1 0 6 1 pinnumber=3 T 350 5700 9 8 1 1 0 0 1 pinlabel=P6.4 T 200 5650 5 8 0 1 0 8 1 pinseq=3 T 350 5700 5 8 0 1 0 2 1 pintype=io } P 300 5300 0 5300 1 0 1 { T 200 5350 5 8 1 1 0 6 1 pinnumber=4 T 350 5300 9 8 1 1 0 0 1 pinlabel=P6.5 T 200 5250 5 8 0 1 0 8 1 pinseq=4 T 350 5300 5 8 0 1 0 2 1 pintype=io } P 300 4900 0 4900 1 0 1 { T 200 4950 5 8 1 1 0 6 1 pinnumber=5 T 350 4900 9 8 1 1 0 0 1 pinlabel=P6.6 T 200 4850 5 8 0 1 0 8 1 pinseq=5 T 350 4900 5 8 0 1 0 2 1 pintype=io } P 300 4500 0 4500 1 0 1 { T 200 4550 5 8 1 1 0 6 1 pinnumber=6 T 350 4500 9 8 1 1 0 0 1 pinlabel=P6.7 T 200 4450 5 8 0 1 0 8 1 pinseq=6 T 350 4500 5 8 0 1 0 2 1 pintype=io } P 300 3700 0 3700 1 0 1 { T 200 3750 5 8 1 1 0 6 1 pinnumber=8 T 350 3700 9 8 1 1 0 0 1 pinlabel=XIN T 200 3650 5 8 0 1 0 8 1 pinseq=7 T 350 3700 5 8 0 1 0 2 1 pintype=in } P 300 3300 0 3300 1 0 1 { T 200 3350 5 8 1 1 0 6 1 pinnumber=9 T 350 3300 9 8 1 1 0 0 1 pinlabel=XOUT/TCLK T 200 3250 5 8 0 1 0 8 1 pinseq=8 T 350 3300 5 8 0 1 0 2 1 pintype=io } P 300 2100 0 2100 1 0 1 { T 200 2150 5 8 1 1 0 6 1 pinnumber=12 T 350 2100 9 8 1 1 0 0 1 pinlabel=P5.1/S0 T 200 2050 5 8 0 1 0 8 1 pinseq=9 T 350 2100 5 8 0 1 0 2 1 pintype=io } P 300 1700 0 1700 1 0 1 { T 200 1750 5 8 1 1 0 6 1 pinnumber=13 T 350 1700 9 8 1 1 0 0 1 pinlabel=P5.0/S1 T 200 1650 5 8 0 1 0 8 1 pinseq=10 T 350 1700 5 8 0 1 0 2 1 pintype=io } P 300 1300 0 1300 1 0 1 { T 200 1350 5 8 1 1 0 6 1 pinnumber=14 T 350 1300 9 8 1 1 0 0 1 pinlabel=P4.7/S2 T 200 1250 5 8 0 1 0 8 1 pinseq=11 T 350 1300 5 8 0 1 0 2 1 pintype=io } P 300 900 0 900 1 0 1 { T 200 950 5 8 1 1 0 6 1 pinnumber=15 T 350 900 9 8 1 1 0 0 1 pinlabel=P4.6/S3 T 200 850 5 8 0 1 0 8 1 pinseq=12 T 350 900 5 8 0 1 0 2 1 pintype=io } P 300 500 0 500 1 0 1 { T 200 550 5 8 1 1 0 6 1 pinnumber=16 T 350 500 9 8 1 1 0 0 1 pinlabel=P4.5/S4 T 200 450 5 8 0 1 0 8 1 pinseq=13 T 350 500 5 8 0 1 0 2 1 pintype=io } P 1900 0 1900 300 1 0 0 { T 1850 200 5 8 1 1 90 6 1 pinnumber=17 T 1900 350 9 8 1 1 90 0 1 pinlabel=P4.4/S5 T 1950 200 5 8 0 1 90 8 1 pinseq=14 T 1900 350 5 8 0 1 90 2 1 pintype=io } P 2300 0 2300 300 1 0 0 { T 2250 200 5 8 1 1 90 6 1 pinnumber=18 T 2300 350 9 8 1 1 90 0 1 pinlabel=P4.3/S6 T 2350 200 5 8 0 1 90 8 1 pinseq=15 T 2300 350 5 8 0 1 90 2 1 pintype=io } P 2700 0 2700 300 1 0 0 { T 2650 200 5 8 1 1 90 6 1 pinnumber=19 T 2700 350 9 8 1 1 90 0 1 pinlabel=P4.2/S7 T 2750 200 5 8 0 1 90 8 1 pinseq=16 T 2700 350 5 8 0 1 90 2 1 pintype=io } P 3100 0 3100 300 1 0 0 { T 3050 200 5 8 1 1 90 6 1 pinnumber=20 T 3100 350 9 8 1 1 90 0 1 pinlabel=P4.1/S8 T 3150 200 5 8 0 1 90 8 1 pinseq=17 T 3100 350 5 8 0 1 90 2 1 pintype=io } P 3500 0 3500 300 1 0 0 { T 3450 200 5 8 1 1 90 6 1 pinnumber=21 T 3500 350 9 8 1 1 90 0 1 pinlabel=P4.0/S9 T 3550 200 5 8 0 1 90 8 1 pinseq=18 T 3500 350 5 8 0 1 90 2 1 pintype=io } P 3900 0 3900 300 1 0 0 { T 3850 200 5 8 1 1 90 6 1 pinnumber=22 T 3900 350 9 8 1 1 90 0 1 pinlabel=P3.7/S10 T 3950 200 5 8 0 1 90 8 1 pinseq=19 T 3900 350 5 8 0 1 90 2 1 pintype=io } P 4300 0 4300 300 1 0 0 { T 4250 200 5 8 1 1 90 6 1 pinnumber=23 T 4300 350 9 8 1 1 90 0 1 pinlabel=P3.6/S11 T 4350 200 5 8 0 1 90 8 1 pinseq=20 T 4300 350 5 8 0 1 90 2 1 pintype=io } P 4700 0 4700 300 1 0 0 { T 4650 200 5 8 1 1 90 6 1 pinnumber=24 T 4700 350 9 8 1 1 90 0 1 pinlabel=P3.5/S12 T 4750 200 5 8 0 1 90 8 1 pinseq=21 T 4700 350 5 8 0 1 90 2 1 pintype=io } P 5100 0 5100 300 1 0 0 { T 5050 200 5 8 1 1 90 6 1 pinnumber=25 T 5100 350 9 8 1 1 90 0 1 pinlabel=P3.4/S13 T 5150 200 5 8 0 1 90 8 1 pinseq=22 T 5100 350 5 8 0 1 90 2 1 pintype=io } P 5500 0 5500 300 1 0 0 { T 5450 200 5 8 1 1 90 6 1 pinnumber=26 T 5500 350 9 8 1 1 90 0 1 pinlabel=P3.3/S14 T 5550 200 5 8 0 1 90 8 1 pinseq=23 T 5500 350 5 8 0 1 90 2 1 pintype=io } P 5900 0 5900 300 1 0 0 { T 5850 200 5 8 1 1 90 6 1 pinnumber=27 T 5900 350 9 8 1 1 90 0 1 pinlabel=P3.2/S15 T 5950 200 5 8 0 1 90 8 1 pinseq=24 T 5900 350 5 8 0 1 90 2 1 pintype=io } P 6300 0 6300 300 1 0 0 { T 6250 200 5 8 1 1 90 6 1 pinnumber=28 T 6300 350 9 8 1 1 90 0 1 pinlabel=P3.1/S16 T 6350 200 5 8 0 1 90 8 1 pinseq=25 T 6300 350 5 8 0 1 90 2 1 pintype=io } P 6700 0 6700 300 1 0 0 { T 6650 200 5 8 1 1 90 6 1 pinnumber=29 T 6700 350 9 8 1 1 90 0 1 pinlabel=P3.0/S17 T 6750 200 5 8 0 1 90 8 1 pinseq=26 T 6700 350 5 8 0 1 90 2 1 pintype=io } P 7100 0 7100 300 1 0 0 { T 7050 200 5 8 1 1 90 6 1 pinnumber=30 T 7100 350 9 8 1 1 90 0 1 pinlabel=P2.7/S18 T 7150 200 5 8 0 1 90 8 1 pinseq=27 T 7100 350 5 8 0 1 90 2 1 pintype=io } P 7500 0 7500 300 1 0 0 { T 7450 200 5 8 1 1 90 6 1 pinnumber=31 T 7500 350 9 8 1 1 90 0 1 pinlabel=P2.6/CAOUT/S19 T 7550 200 5 8 0 1 90 8 1 pinseq=28 T 7500 350 5 8 0 1 90 2 1 pintype=io } P 7900 0 7900 300 1 0 0 { T 7850 200 5 8 1 1 90 6 1 pinnumber=32 T 7900 350 9 8 1 1 90 0 1 pinlabel=P2.5/S20 T 7950 200 5 8 0 1 90 8 1 pinseq=29 T 7900 350 5 8 0 1 90 2 1 pintype=io } P 9600 500 9900 500 1 0 1 { T 9700 550 5 8 1 1 0 0 1 pinnumber=33 T 9550 500 9 8 1 1 0 6 1 pinlabel=P2.4/S21 T 9700 450 5 8 0 1 0 2 1 pinseq=30 T 9550 500 5 8 0 1 0 8 1 pintype=io } P 9600 900 9900 900 1 0 1 { T 9700 950 5 8 1 1 0 0 1 pinnumber=34 T 9550 900 9 8 1 1 0 6 1 pinlabel=P2.3/S22 T 9700 850 5 8 0 1 0 2 1 pinseq=31 T 9550 900 5 8 0 1 0 8 1 pintype=io } P 9600 1300 9900 1300 1 0 1 { T 9700 1350 5 8 1 1 0 0 1 pinnumber=35 T 9550 1300 9 8 1 1 0 6 1 pinlabel=P2.2/S23 T 9700 1250 5 8 0 1 0 2 1 pinseq=32 T 9550 1300 5 8 0 1 0 8 1 pintype=io } P 9600 1700 9900 1700 1 0 1 { T 9700 1750 5 8 1 1 0 0 1 pinnumber=36 T 9550 1700 9 8 1 1 0 6 1 pinlabel=COM0 T 9700 1650 5 8 0 1 0 2 1 pinseq=33 T 9550 1700 5 8 0 1 0 8 1 pintype=out } P 9600 2100 9900 2100 1 0 1 { T 9700 2150 5 8 1 1 0 0 1 pinnumber=37 T 9550 2100 9 8 1 1 0 6 1 pinlabel=P5.2/COM1 T 9700 2050 5 8 0 1 0 2 1 pinseq=34 T 9550 2100 5 8 0 1 0 8 1 pintype=io } P 9600 2500 9900 2500 1 0 1 { T 9700 2550 5 8 1 1 0 0 1 pinnumber=38 T 9550 2500 9 8 1 1 0 6 1 pinlabel=P5.3/COM2 T 9700 2450 5 8 0 1 0 2 1 pinseq=35 T 9550 2500 5 8 0 1 0 8 1 pintype=io } P 9600 2900 9900 2900 1 0 1 { T 9700 2950 5 8 1 1 0 0 1 pinnumber=39 T 9550 2900 9 8 1 1 0 6 1 pinlabel=P5.4/COM3 T 9700 2850 5 8 0 1 0 2 1 pinseq=36 T 9550 2900 5 8 0 1 0 8 1 pintype=io } P 9600 3300 9900 3300 1 0 1 { T 9700 3350 5 8 1 1 0 0 1 pinnumber=40 T 9550 3300 9 8 1 1 0 6 1 pinlabel=R03 T 9700 3250 5 8 0 1 0 2 1 pinseq=37 T 9550 3300 5 8 0 1 0 8 1 pintype=io } P 9600 3700 9900 3700 1 0 1 { T 9700 3750 5 8 1 1 0 0 1 pinnumber=41 T 9550 3700 9 8 1 1 0 6 1 pinlabel=P5.5/R13 T 9700 3650 5 8 0 1 0 2 1 pinseq=38 T 9550 3700 5 8 0 1 0 8 1 pintype=io } P 9600 4100 9900 4100 1 0 1 { T 9700 4150 5 8 1 1 0 0 1 pinnumber=42 T 9550 4100 9 8 1 1 0 6 1 pinlabel=P5.6/R23 T 9700 4050 5 8 0 1 0 2 1 pinseq=39 T 9550 4100 5 8 0 1 0 8 1 pintype=io } P 9600 4500 9900 4500 1 0 1 { T 9700 4550 5 8 1 1 0 0 1 pinnumber=43 T 9550 4500 9 8 1 1 0 6 1 pinlabel=P5.7/R33 T 9700 4450 5 8 0 1 0 2 1 pinseq=40 T 9550 4500 5 8 0 1 0 8 1 pintype=io } P 9600 4900 9900 4900 1 0 1 { T 9700 4950 5 8 1 1 0 0 1 pinnumber=44 T 9550 4900 9 8 1 1 0 6 1 pinlabel=P2.1 T 9700 4850 5 8 0 1 0 2 1 pinseq=41 T 9550 4900 5 8 0 1 0 8 1 pintype=io } P 9600 5300 9900 5300 1 0 1 { T 9700 5350 5 8 1 1 0 0 1 pinnumber=45 T 9550 5300 9 8 1 1 0 6 1 pinlabel=P2.0/TA2 T 9700 5250 5 8 0 1 0 2 1 pinseq=42 T 9550 5300 5 8 0 1 0 8 1 pintype=io } P 9600 5700 9900 5700 1 0 1 { T 9700 5750 5 8 1 1 0 0 1 pinnumber=46 T 9550 5700 9 8 1 1 0 6 1 pinlabel=P1.7/CA1 T 9700 5650 5 8 0 1 0 2 1 pinseq=43 T 9550 5700 5 8 0 1 0 8 1 pintype=io } P 9600 6100 9900 6100 1 0 1 { T 9700 6150 5 8 1 1 0 0 1 pinnumber=47 T 9550 6100 9 8 1 1 0 6 1 pinlabel=P1.6/CA0 T 9700 6050 5 8 0 1 0 2 1 pinseq=44 T 9550 6100 5 8 0 1 0 8 1 pintype=io } P 9600 6500 9900 6500 1 0 1 { T 9700 6550 5 8 1 1 0 0 1 pinnumber=48 T 9550 6500 9 8 1 1 0 6 1 pinlabel=P1.5/TACLK/ACLK T 9700 6450 5 8 0 1 0 2 1 pinseq=45 T 9550 6500 5 8 0 1 0 8 1 pintype=io } P 7900 6700 7900 7000 1 0 1 { T 7850 6800 5 8 1 1 90 0 1 pinnumber=49 T 7900 6650 9 8 1 1 90 6 1 pinlabel=P1.4 T 7950 6800 5 8 0 1 90 2 1 pinseq=46 T 7900 6650 5 8 0 1 90 8 1 pintype=io } P 7500 6700 7500 7000 1 0 1 { T 7450 6800 5 8 1 1 90 0 1 pinnumber=50 T 7500 6650 9 8 1 1 90 6 1 pinlabel=P1.3/SVSOUT T 7550 6800 5 8 0 1 90 2 1 pinseq=47 T 7500 6650 5 8 0 1 90 8 1 pintype=io } P 7100 6700 7100 7000 1 0 1 { T 7050 6800 5 8 1 1 90 0 1 pinnumber=51 T 7100 6650 9 8 1 1 90 6 1 pinlabel=P1.2/TA1 T 7150 6800 5 8 0 1 90 2 1 pinseq=48 T 7100 6650 5 8 0 1 90 8 1 pintype=io } P 6700 6700 6700 7000 1 0 1 { T 6650 6800 5 8 1 1 90 0 1 pinnumber=52 T 6700 6650 9 8 1 1 90 6 1 pinlabel=P1.1/TA0/MCLK T 6750 6800 5 8 0 1 90 2 1 pinseq=49 T 6700 6650 5 8 0 1 90 8 1 pintype=io } P 6300 6700 6300 7000 1 0 1 { T 6250 6800 5 8 1 1 90 0 1 pinnumber=53 T 6300 6650 9 8 1 1 90 6 1 pinlabel=P1.0/TA0 T 6350 6800 5 8 0 1 90 2 1 pinseq=50 T 6300 6650 5 8 0 1 90 8 1 pintype=io } P 5900 6700 5900 7000 1 0 1 { T 5850 6800 5 8 1 1 90 0 1 pinnumber=54 T 5900 6650 9 8 1 1 90 6 1 pinlabel=TDO/TDI T 5950 6800 5 8 0 1 90 2 1 pinseq=51 T 5900 6650 5 8 0 1 90 8 1 pintype=io } P 5500 6700 5500 7000 1 0 1 { T 5450 6800 5 8 1 1 90 0 1 pinnumber=55 T 5500 6650 9 8 1 1 90 6 1 pinlabel=TDI T 5550 6800 5 8 0 1 90 2 1 pinseq=52 T 5500 6650 5 8 0 1 90 8 1 pintype=in } P 5100 6700 5100 7000 1 0 1 { T 5050 6800 5 8 1 1 90 0 1 pinnumber=56 T 5100 6650 9 8 1 1 90 6 1 pinlabel=TMS T 5150 6800 5 8 0 1 90 2 1 pinseq=53 T 5100 6650 5 8 0 1 90 8 1 pintype=in } P 4700 6700 4700 7000 1 0 1 { T 4650 6800 5 8 1 1 90 0 1 pinnumber=57 T 4700 6650 9 8 1 1 90 6 1 pinlabel=TCK T 4750 6800 5 8 0 1 90 2 1 pinseq=54 T 4700 6650 5 8 0 1 90 8 1 pintype=in } P 4300 6800 4300 7000 1 0 1 { T 4250 6800 5 8 1 1 90 0 1 pinnumber=58 T 4300 6650 9 8 1 1 90 6 1 pinlabel=\_RST\_/NMI T 4350 6800 5 8 0 1 90 2 1 pinseq=55 T 4300 6650 5 8 0 1 90 8 1 pintype=in } P 3900 6700 3900 7000 1 0 1 { T 3850 6800 5 8 1 1 90 0 1 pinnumber=59 T 3900 6650 9 8 1 1 90 6 1 pinlabel=P6.0 T 3950 6800 5 8 0 1 90 2 1 pinseq=56 T 3900 6650 5 8 0 1 90 8 1 pintype=io } P 3500 6700 3500 7000 1 0 1 { T 3450 6800 5 8 1 1 90 0 1 pinnumber=60 T 3500 6650 9 8 1 1 90 6 1 pinlabel=P6.1 T 3550 6800 5 8 0 1 90 2 1 pinseq=57 T 3500 6650 5 8 0 1 90 8 1 pintype=io } P 3100 6700 3100 7000 1 0 1 { T 3050 6800 5 8 1 1 90 0 1 pinnumber=61 T 3100 6650 9 8 1 1 90 6 1 pinlabel=P6.2 T 3150 6800 5 8 0 1 90 2 1 pinseq=58 T 3100 6650 5 8 0 1 90 8 1 pintype=io } P 2700 6700 2700 7000 1 0 1 { T 2650 6800 5 8 1 1 90 0 1 pinnumber=62 T 2700 6650 9 8 1 1 90 6 1 pinlabel=AVss T 2750 6800 5 8 0 1 90 2 1 pinseq=59 T 2700 6650 5 8 0 1 90 8 1 pintype=pwr } P 2300 6700 2300 7000 1 0 1 { T 2250 6800 5 8 1 1 90 0 1 pinnumber=63 T 2300 6650 9 8 1 1 90 6 1 pinlabel=DVss T 2350 6800 5 8 0 1 90 2 1 pinseq=60 T 2300 6650 5 8 0 1 90 8 1 pintype=pwr } P 1900 6700 1900 7000 1 0 1 { T 1850 6800 5 8 1 1 90 0 1 pinnumber=64 T 1900 6650 9 8 1 1 90 6 1 pinlabel=AVcc T 1950 6800 5 8 0 1 90 2 1 pinseq=61 T 1900 6650 5 8 0 1 90 8 1 pintype=pwr } T 2600 3550 5 10 0 0 0 0 1 footprint=none T 2600 3750 5 10 0 0 0 0 1 description=16-bit mixed signal microcontroller T 2600 3350 5 10 0 0 0 0 1 numslots=0 T 300 6750 3 10 1 0 0 0 1 MSP430x41x V 4300 6750 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2600 3150 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/msp430c412.pdf geda-gaf-1.8.2/symbols/micro/mc68hc908gp32cp-1.sym0000664000175000017500000001750312204104272016141 00000000000000v 20070626 1 B 400 300 2300 12000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2300 400 2300 1 0 0 { T 450 2300 9 8 1 1 0 0 1 pinlabel=Vssad T 300 2350 5 8 1 1 0 6 1 pinnumber=32 T 300 2250 5 8 0 1 0 8 1 pinseq=32 T 450 2300 5 8 0 1 0 2 1 pintype=pwr } P 100 2700 400 2700 1 0 0 { T 450 2700 9 8 1 1 0 0 1 pinlabel=Vddad T 300 2750 5 8 1 1 0 6 1 pinnumber=31 T 300 2650 5 8 0 1 0 8 1 pinseq=31 T 450 2700 5 8 0 1 0 2 1 pintype=pwr } P 100 3100 300 3100 1 0 0 { T 450 3100 9 8 1 1 0 0 1 pinlabel=\_IRQ\_ T 300 3150 5 8 1 1 0 6 1 pinnumber=14 T 300 3050 5 8 0 1 0 8 1 pinseq=14 T 450 3100 5 8 0 1 0 2 1 pintype=in } P 100 3500 300 3500 1 0 0 { T 450 3500 9 8 1 1 0 0 1 pinlabel=\_RST\_ T 300 3550 5 8 1 1 0 6 1 pinnumber=6 T 300 3450 5 8 0 1 0 8 1 pinseq=6 T 450 3500 5 8 0 1 0 2 1 pintype=in } P 100 3900 400 3900 1 0 0 { T 450 3900 9 8 1 1 0 0 1 pinlabel=CGMXFC T 300 3950 5 8 1 1 0 6 1 pinnumber=3 T 300 3850 5 8 0 1 0 8 1 pinseq=3 T 450 3900 5 8 0 1 0 2 1 pintype=in } P 100 4300 400 4300 1 0 0 { T 450 4300 9 8 1 1 0 0 1 pinlabel=OSC2 T 300 4350 5 8 1 1 0 6 1 pinnumber=4 T 300 4250 5 8 0 1 0 8 1 pinseq=4 T 450 4300 5 8 0 1 0 2 1 pintype=out } P 100 4700 400 4700 1 0 0 { T 450 4700 9 8 1 1 0 0 1 pinlabel=OSC1 T 300 4750 5 8 1 1 0 6 1 pinnumber=5 T 300 4650 5 8 0 1 0 8 1 pinseq=5 T 450 4700 5 8 0 1 0 2 1 pintype=in } T 400 13100 5 10 0 0 0 0 1 documentation=http://e-www.motorola.com/brdata/PDFDB/docs/MC68HC908GP32.pdf T 400 13300 5 10 0 0 0 0 1 description=Motorola MC68HC908GP32CP microcontroller T 400 12900 5 10 0 0 0 0 1 footprint=DIP40 T 400 13500 5 10 0 0 0 0 1 device=MC68HC908GP32CP T 400 12400 8 10 1 1 0 0 1 refdes=U? P 3000 700 2700 700 1 0 0 { T 2650 700 9 8 1 1 0 6 1 pinlabel=PTE0/TxD T 2800 750 5 8 1 1 0 0 1 pinnumber=12 T 2800 650 5 8 0 1 0 2 1 pinseq=12 T 2650 700 5 8 0 1 0 8 1 pintype=io } P 3000 1100 2700 1100 1 0 0 { T 2650 1100 9 8 1 1 0 6 1 pinlabel=PTE1/RxD T 2800 1150 5 8 1 1 0 0 1 pinnumber=13 T 2650 1100 5 8 0 1 0 8 1 pintype=io T 2800 1050 5 8 0 1 0 2 1 pinseq=13 } P 3000 1500 2700 1500 1 0 0 { T 2650 1500 9 8 1 1 0 6 1 pinlabel=PTD0/\_SS\_ T 2800 1550 5 8 1 1 0 0 1 pinnumber=15 T 2650 1500 5 8 0 1 0 8 1 pintype=io T 2800 1450 5 8 0 1 0 2 1 pinseq=15 } P 3000 1900 2700 1900 1 0 0 { T 2650 1900 9 8 1 1 0 6 1 pinlabel=PTD1/MISO T 2800 1950 5 8 1 1 0 0 1 pinnumber=16 T 2800 1850 5 8 0 1 0 2 1 pinseq=16 T 2650 1900 5 8 0 1 0 8 1 pintype=io } P 3000 2300 2700 2300 1 0 0 { T 2650 2300 9 8 1 1 0 6 1 pinlabel=PTD2/MOSI T 2800 2350 5 8 1 1 0 0 1 pinnumber=17 T 2650 2300 5 8 0 1 0 8 1 pintype=io T 2800 2250 5 8 0 1 0 2 1 pinseq=17 } P 3000 2700 2700 2700 1 0 0 { T 2650 2700 9 8 1 1 0 6 1 pinlabel=PTD3/SPSCK T 2800 2750 5 8 1 1 0 0 1 pinnumber=18 T 2800 2650 5 8 0 1 0 2 1 pinseq=18 T 2650 2700 5 8 0 1 0 8 1 pintype=io } P 3000 3100 2700 3100 1 0 0 { T 2650 3100 9 8 1 1 0 6 1 pinlabel=PTD4/T1CH0 T 2800 3150 5 8 1 1 0 0 1 pinnumber=21 T 2650 3100 5 8 0 1 0 8 1 pintype=io T 2800 3050 5 8 0 1 0 2 1 pinseq=21 } P 3000 3500 2700 3500 1 0 0 { T 2650 3500 9 8 1 1 0 6 1 pinlabel=PTD5/T1CH1 T 2800 3550 5 8 1 1 0 0 1 pinnumber=22 T 2650 3500 5 8 0 1 0 8 1 pintype=io T 2800 3450 5 8 0 1 0 2 1 pinseq=22 } P 3000 3900 2700 3900 1 0 0 { T 2650 3900 9 8 1 1 0 6 1 pinlabel=PTC0 T 2800 3950 5 8 1 1 0 0 1 pinnumber=7 T 2650 3900 5 8 0 1 0 8 1 pintype=io T 2800 3850 5 8 0 1 0 2 1 pinseq=7 } P 3000 4300 2700 4300 1 0 0 { T 2650 4300 9 8 1 1 0 6 1 pinlabel=PTC1 T 2800 4350 5 8 1 1 0 0 1 pinnumber=8 T 2650 4300 5 8 0 1 0 8 1 pintype=io T 2800 4250 5 8 0 1 0 2 1 pinseq=8 } P 3000 4700 2700 4700 1 0 0 { T 2650 4700 9 8 1 1 0 6 1 pinlabel=PTC2 T 2800 4750 5 8 1 1 0 0 1 pinnumber=9 T 2650 4700 5 8 0 1 0 8 1 pintype=io T 2800 4650 5 8 0 1 0 2 1 pinseq=9 } P 3000 5100 2700 5100 1 0 0 { T 2650 5100 9 8 1 1 0 6 1 pinlabel=PTC3 T 2800 5150 5 8 1 1 0 0 1 pinnumber=10 T 2650 5100 5 8 0 1 0 8 1 pintype=io T 2800 5050 5 8 0 1 0 2 1 pinseq=10 } P 3000 5500 2700 5500 1 0 0 { T 2650 5500 9 8 1 1 0 6 1 pinlabel=PTC4 T 2800 5550 5 8 1 1 0 0 1 pinnumber=11 T 2650 5500 5 8 0 1 0 8 1 pintype=io T 2800 5450 5 8 0 1 0 2 1 pinseq=11 } P 3000 5900 2700 5900 1 0 0 { T 2650 5900 9 8 1 1 0 6 1 pinlabel=PTB0/AD0 T 2800 5950 5 8 1 1 0 0 1 pinnumber=23 T 2650 5900 5 8 0 1 0 8 1 pintype=io T 2800 5850 5 8 0 1 0 2 1 pinseq=23 } P 3000 6300 2700 6300 1 0 0 { T 2650 6300 9 8 1 1 0 6 1 pinlabel=PTB1/AD1 T 2800 6350 5 8 1 1 0 0 1 pinnumber=24 T 2650 6300 5 8 0 1 0 8 1 pintype=io T 2800 6250 5 8 0 1 0 2 1 pinseq=24 } P 3000 6700 2700 6700 1 0 0 { T 2650 6700 9 8 1 1 0 6 1 pinlabel=PTB2/AD2 T 2800 6750 5 8 1 1 0 0 1 pinnumber=25 T 2650 6700 5 8 0 1 0 8 1 pintype=io T 2800 6650 5 8 0 1 0 2 1 pinseq=25 } P 3000 7100 2700 7100 1 0 0 { T 2650 7100 9 8 1 1 0 6 1 pinlabel=PTB3/AD3 T 2800 7150 5 8 1 1 0 0 1 pinnumber=26 T 2650 7100 5 8 0 1 0 8 1 pintype=io T 2800 7050 5 8 0 1 0 2 1 pinseq=26 } P 3000 7500 2700 7500 1 0 0 { T 2650 7500 9 8 1 1 0 6 1 pinlabel=PTB4/AD4 T 2800 7550 5 8 1 1 0 0 1 pinnumber=27 T 2650 7500 5 8 0 1 0 8 1 pintype=io T 2800 7450 5 8 0 1 0 2 1 pinseq=27 } P 3000 7900 2700 7900 1 0 0 { T 2650 7900 9 8 1 1 0 6 1 pinlabel=PTB5/AD5 T 2800 7950 5 8 1 1 0 0 1 pinnumber=28 T 2650 7900 5 8 0 1 0 8 1 pintype=io T 2800 7850 5 8 0 1 0 2 1 pinseq=28 } P 3000 8300 2700 8300 1 0 0 { T 2650 8300 9 8 1 1 0 6 1 pinlabel=PTB6/AD6 T 2800 8350 5 8 1 1 0 0 1 pinnumber=29 T 2650 8300 5 8 0 1 0 8 1 pintype=io T 2800 8250 5 8 0 1 0 2 1 pinseq=29 } P 3000 8700 2700 8700 1 0 0 { T 2650 8700 9 8 1 1 0 6 1 pinlabel=PTB7/AD7 T 2800 8750 5 8 1 1 0 0 1 pinnumber=30 T 2650 8700 5 8 0 1 0 8 1 pintype=io T 2800 8650 5 8 0 1 0 2 1 pinseq=30 } P 3000 9100 2700 9100 1 0 0 { T 2650 9100 9 8 1 1 0 6 1 pinlabel=PTA0/\_KBD0\_ T 2800 9150 5 8 1 1 0 0 1 pinnumber=33 T 2650 9100 5 8 0 1 0 8 1 pintype=io T 2800 9050 5 8 0 1 0 2 1 pinseq=33 } P 3000 9500 2700 9500 1 0 0 { T 2650 9500 9 8 1 1 0 6 1 pinlabel=PTA1/\_KBD1\_ T 2800 9550 5 8 1 1 0 0 1 pinnumber=34 T 2650 9500 5 8 0 1 0 8 1 pintype=io T 2800 9450 5 8 0 1 0 2 1 pinseq=34 } P 3000 9900 2700 9900 1 0 0 { T 2650 9900 9 8 1 1 0 6 1 pinlabel=PTA2/\_KBD2\_ T 2800 9950 5 8 1 1 0 0 1 pinnumber=35 T 2650 9900 5 8 0 1 0 8 1 pintype=io T 2800 9850 5 8 0 1 0 2 1 pinseq=35 } P 3000 10300 2700 10300 1 0 0 { T 2650 10300 9 8 1 1 0 6 1 pinlabel=PTA3/\_KBD3\_ T 2800 10350 5 8 1 1 0 0 1 pinnumber=36 T 2650 10300 5 8 0 1 0 8 1 pintype=io T 2800 10250 5 8 0 1 0 2 1 pinseq=36 } P 3000 10700 2700 10700 1 0 0 { T 2650 10700 9 8 1 1 0 6 1 pinlabel=PTA4/\_KBD4\_ T 2800 10750 5 8 1 1 0 0 1 pinnumber=37 T 2650 10700 5 8 0 1 0 8 1 pintype=io T 2800 10650 5 8 0 1 0 2 1 pinseq=37 } P 3000 11100 2700 11100 1 0 0 { T 2650 11100 9 8 1 1 0 6 1 pinlabel=PTA5/\_KBD5\_ T 2800 11150 5 8 1 1 0 0 1 pinnumber=38 T 2650 11100 5 8 0 1 0 8 1 pintype=io T 2800 11050 5 8 0 1 0 2 1 pinseq=38 } P 3000 11500 2700 11500 1 0 0 { T 2650 11500 9 8 1 1 0 6 1 pinlabel=PTA6/\_KBD6\_ T 2800 11550 5 8 1 1 0 0 1 pinnumber=39 T 2650 11500 5 8 0 1 0 8 1 pintype=io T 2800 11450 5 8 0 1 0 2 1 pinseq=39 } P 3000 11900 2700 11900 1 0 0 { T 2650 11900 9 8 1 1 0 6 1 pinlabel=PTA7/\_KBD7\_ T 2800 11950 5 8 1 1 0 0 1 pinnumber=40 T 2650 11900 5 8 0 1 0 8 1 pintype=io T 2800 11850 5 8 0 1 0 2 1 pinseq=40 } T 400 12700 5 10 0 0 0 0 1 numslots=0 P 100 700 400 700 1 0 0 { T 450 700 9 8 1 1 0 0 1 pinlabel=Vssa T 300 750 5 8 1 1 0 6 1 pinnumber=2 T 300 650 5 8 0 1 0 8 1 pinseq=2 T 450 700 5 8 0 1 0 2 1 pintype=pwr } P 100 1100 400 1100 1 0 0 { T 450 1100 9 8 1 1 0 0 1 pinlabel=Vdda T 300 1150 5 8 1 1 0 6 1 pinnumber=1 T 300 1050 5 8 0 1 0 8 1 pinseq=1 T 450 1100 5 8 0 1 0 2 1 pintype=pwr } P 100 1500 400 1500 1 0 0 { T 450 1500 9 8 1 1 0 0 1 pinlabel=Vss T 300 1550 5 8 1 1 0 6 1 pinnumber=19 T 300 1450 5 8 0 1 0 8 1 pinseq=19 T 450 1500 5 8 0 1 0 2 1 pintype=pwr } P 100 1900 400 1900 1 0 0 { T 450 1900 9 8 1 1 0 0 1 pinlabel=Vdd T 300 1950 5 8 1 1 0 6 1 pinnumber=20 T 300 1850 5 8 0 1 0 8 1 pinseq=20 T 450 1900 5 8 0 1 0 2 1 pintype=pwr } T 400 100 9 10 1 0 0 0 1 MC68HC908GP32CP V 350 3100 48 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 350 3500 48 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/micro/AT89C5131_PLCC-1.sym0000664000175000017500000002240512204104272015471 00000000000000v 20070626 1 T 3000 10000 2 10 1 1 0 6 1 refdes=U? T 400 9950 9 10 1 0 0 0 1 AT89C5131 T 400 10150 5 10 0 0 0 0 1 device=AT89C5131_PLCC T 400 10350 5 10 0 0 0 0 1 footprint=PLCC52 T 400 10550 5 10 0 0 0 0 1 net=GND:41 T 400 10750 5 10 0 0 0 0 1 net=Vcc:16 P 3300 1600 3000 1600 1 0 0 { T 3100 1650 5 8 1 1 0 0 1 pinnumber=27 T 3100 1650 5 8 0 0 0 0 1 pinseq=1 T 2950 1600 3 8 1 1 0 6 1 pinlabel=ALE/\_PROG\_ T 2950 1600 5 8 0 1 0 8 1 pintype=out } P 3300 1200 3100 1200 1 0 0 { T 3100 1250 5 8 1 1 0 0 1 pinnumber=26 T 3100 1250 5 8 0 0 0 0 1 pinseq=2 T 2950 1200 3 8 1 1 0 6 1 pinlabel=\_EA\_/VPP T 2950 1200 5 8 0 1 0 8 1 pintype=in } V 3050 1200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 3300 9400 3000 9400 1 0 0 { T 3100 9450 5 8 1 1 0 0 1 pinnumber=52 T 3100 9450 5 8 0 0 0 0 1 pinseq=3 T 2950 9400 3 8 1 1 0 6 1 pinlabel=(AD0) P0.0 T 2950 9400 5 8 0 1 0 8 1 pintype=io } P 3300 9000 3000 9000 1 0 0 { T 3100 9050 5 8 1 1 0 0 1 pinnumber=45 T 3100 9050 5 8 0 0 0 0 1 pinseq=4 T 2950 9000 3 8 1 1 0 6 1 pinlabel=(AD1) P0.1 T 2950 9000 5 8 0 1 0 8 1 pintype=io } P 3300 8600 3000 8600 1 0 0 { T 3100 8650 5 8 1 1 0 0 1 pinnumber=44 T 3100 8650 5 8 0 0 0 0 1 pinseq=5 T 2950 8600 3 8 1 1 0 6 1 pinlabel=(AD2) P0.2 T 2950 8600 5 8 0 1 0 8 1 pintype=io } P 3300 8200 3000 8200 1 0 0 { T 3100 8250 5 8 1 1 0 0 1 pinnumber=42 T 3100 8250 5 8 0 0 0 0 1 pinseq=6 T 2950 8200 3 8 1 1 0 6 1 pinlabel=(AD3) P0.3 T 2950 8200 5 8 0 1 0 8 1 pintype=io } P 3300 7800 3000 7800 1 0 0 { T 3100 7850 5 8 1 1 0 0 1 pinnumber=40 T 3100 7850 5 8 0 0 0 0 1 pinseq=7 T 2950 7800 3 8 1 1 0 6 1 pinlabel=(AD4) P0.4 T 2950 7800 5 8 0 1 0 8 1 pintype=io } P 3300 7400 3000 7400 1 0 0 { T 3100 7450 5 8 1 1 0 0 1 pinnumber=38 T 3100 7450 5 8 0 0 0 0 1 pinseq=8 T 2950 7400 3 8 1 1 0 6 1 pinlabel=(AD5) P0.5 T 2950 7400 5 8 0 1 0 8 1 pintype=io } P 3300 7000 3000 7000 1 0 0 { T 3100 7050 5 8 1 1 0 0 1 pinnumber=37 T 3100 7050 5 8 0 0 0 0 1 pinseq=9 T 2950 7000 3 8 1 1 0 6 1 pinlabel=(AD6) P0.6 T 2950 7000 5 8 0 1 0 8 1 pintype=io } P 3300 6600 3000 6600 1 0 0 { T 3100 6650 5 8 1 1 0 0 1 pinnumber=36 T 3100 6650 5 8 0 0 0 0 1 pinseq=10 T 2950 6600 3 8 1 1 0 6 1 pinlabel=(AD7) P0.7 T 2950 6600 5 8 0 1 0 8 1 pintype=io } P 3300 6000 3000 6000 1 0 0 { T 3100 6050 5 8 1 1 0 0 1 pinnumber=1 T 3100 6050 5 8 0 0 0 0 1 pinseq=11 T 2950 6000 3 8 1 1 0 6 1 pinlabel=(A8) P2.0 T 2950 6000 5 8 0 1 0 8 1 pintype=io } P 3300 5600 3000 5600 1 0 0 { T 3100 5650 5 8 1 1 0 0 1 pinnumber=2 T 3100 5650 5 8 0 0 0 0 1 pinseq=12 T 2950 5600 3 8 1 1 0 6 1 pinlabel=(A9) P2.1 T 2950 5600 5 8 0 1 0 8 1 pintype=io } P 3300 5200 3000 5200 1 0 0 { T 3100 5250 5 8 1 1 0 0 1 pinnumber=3 T 3100 5250 5 8 0 0 0 0 1 pinseq=13 T 2950 5200 3 8 1 1 0 6 1 pinlabel=(A10) P2.2 T 2950 5200 5 8 0 1 0 8 1 pintype=io } P 3300 4800 3000 4800 1 0 0 { T 3100 4850 5 8 1 1 0 0 1 pinnumber=9 T 3100 4850 5 8 0 0 0 0 1 pinseq=14 T 2950 4800 3 8 1 1 0 6 1 pinlabel=(A11) P2.3 T 2950 4800 5 8 0 1 0 8 1 pintype=io } P 3300 4400 3000 4400 1 0 0 { T 3100 4450 5 8 1 1 0 0 1 pinnumber=10 T 3100 4450 5 8 0 0 0 0 1 pinseq=15 T 2950 4400 3 8 1 1 0 6 1 pinlabel=(A12) P2.4 T 2950 4400 5 8 0 1 0 8 1 pintype=io } P 3300 4000 3000 4000 1 0 0 { T 3100 4050 5 8 1 1 0 0 1 pinnumber=11 T 3100 4050 5 8 0 0 0 0 1 pinseq=16 T 2950 4000 3 8 1 1 0 6 1 pinlabel=(A13) P2.5 T 2950 4000 5 8 0 1 0 8 1 pintype=io } P 3300 3600 3000 3600 1 0 0 { T 3100 3650 5 8 1 1 0 0 1 pinnumber=14 T 3100 3650 5 8 0 0 0 0 1 pinseq=17 T 2950 3600 3 8 1 1 0 6 1 pinlabel=(A14) P2.6 T 2950 3600 5 8 0 1 0 8 1 pintype=io } P 3300 3200 3000 3200 1 0 0 { T 3100 3250 5 8 1 1 0 0 1 pinnumber=15 T 3100 3250 5 8 0 0 0 0 1 pinseq=18 T 2950 3200 3 8 1 1 0 6 1 pinlabel=(A15) P2.7 T 2950 3200 5 8 0 1 0 8 1 pintype=io } P 3300 800 3100 800 1 0 0 { T 3100 850 5 8 1 1 0 0 1 pinnumber=28 T 3100 850 5 8 0 0 0 0 1 pinseq=19 T 2950 800 3 8 1 1 0 6 1 pinlabel=\_PSEN\_ T 2950 800 5 8 0 1 0 8 1 pintype=out } V 3050 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1400 400 1400 1 0 0 { T 300 1450 5 8 1 1 0 6 1 pinnumber=18 T 300 1450 5 8 0 0 0 6 1 pinseq=20 T 450 1400 3 8 1 1 0 0 1 pinlabel=NC. T 450 1400 5 8 0 1 0 2 1 pintype=tp } P 100 1200 400 1200 1 0 0 { T 300 1250 5 8 1 1 0 6 1 pinnumber=25 T 300 1250 5 8 0 0 0 6 1 pinseq=21 T 450 1200 3 8 1 1 0 0 1 pinlabel=NC. T 450 1200 5 8 0 1 0 2 1 pintype=tp } P 100 1000 400 1000 1 0 0 { T 300 1050 5 8 1 1 0 6 1 pinnumber=34 T 300 1050 5 8 0 0 0 6 1 pinseq=22 T 450 1000 3 8 1 1 0 0 1 pinlabel=NC. T 450 1000 5 8 0 1 0 2 1 pintype=tp } P 100 800 400 800 1 0 0 { T 300 850 5 8 1 1 0 6 1 pinnumber=46 T 300 850 5 8 0 0 0 6 1 pinseq=23 T 450 800 3 8 1 1 0 0 1 pinlabel=NC. T 450 800 5 8 0 1 0 2 1 pintype=tp } P 100 9400 400 9400 1 0 0 { T 300 9450 5 8 1 1 0 6 1 pinnumber=47 T 300 9450 5 8 0 0 0 6 1 pinseq=24 T 450 9400 3 8 1 1 0 0 1 pinlabel=P1.0 T 450 9400 5 8 0 1 0 2 1 pintype=io } P 100 9000 400 9000 1 0 0 { T 300 9050 5 8 1 1 0 6 1 pinnumber=48 T 300 9050 5 8 0 0 0 6 1 pinseq=25 T 450 9000 3 8 1 1 0 0 1 pinlabel=P1.1 T 450 9000 5 8 0 1 0 2 1 pintype=io } P 100 8600 400 8600 1 0 0 { T 300 8650 5 8 1 1 0 6 1 pinnumber=49 T 300 8650 5 8 0 0 0 6 1 pinseq=26 T 450 8600 3 8 1 1 0 0 1 pinlabel=P1.2 T 450 8600 5 8 0 1 0 2 1 pintype=io } P 100 8200 400 8200 1 0 0 { T 300 8250 5 8 1 1 0 6 1 pinnumber=50 T 300 8250 5 8 0 0 0 6 1 pinseq=27 T 450 8200 3 8 1 1 0 0 1 pinlabel=P1.3 T 450 8200 5 8 0 1 0 2 1 pintype=io } P 100 7800 400 7800 1 0 0 { T 300 7850 5 8 1 1 0 6 1 pinnumber=51 T 300 7850 5 8 0 0 0 6 1 pinseq=28 T 450 7800 3 8 1 1 0 0 1 pinlabel=P1.4 T 450 7800 5 8 0 1 0 2 1 pintype=io } P 100 7400 400 7400 1 0 0 { T 300 7450 5 8 1 1 0 6 1 pinnumber=4 T 300 7450 5 8 0 0 0 6 1 pinseq=29 T 450 7400 3 8 1 1 0 0 1 pinlabel=P1.5 T 450 7400 5 8 0 1 0 2 1 pintype=io } P 100 7000 400 7000 1 0 0 { T 300 7050 5 8 1 1 0 6 1 pinnumber=5 T 300 7050 5 8 0 0 0 6 1 pinseq=30 T 450 7000 3 8 1 1 0 0 1 pinlabel=P1.6 T 450 7000 5 8 0 1 0 2 1 pintype=io } P 100 6600 400 6600 1 0 0 { T 300 6650 5 8 1 1 0 6 1 pinnumber=6 T 300 6650 5 8 0 0 0 6 1 pinseq=31 T 450 6600 3 8 1 1 0 0 1 pinlabel=P1.7 T 450 6600 5 8 0 1 0 2 1 pintype=io } P 100 6000 400 6000 1 0 0 { T 300 6050 5 8 1 1 0 6 1 pinnumber=20 T 300 6050 5 8 0 0 0 6 1 pinseq=32 T 450 6000 3 8 1 1 0 0 1 pinlabel=P3.0 (RXD) T 450 6000 5 8 0 1 0 2 1 pintype=io } P 100 5600 400 5600 1 0 0 { T 300 5650 5 8 1 1 0 6 1 pinnumber=29 T 300 5650 5 8 0 0 0 6 1 pinseq=33 T 450 5600 3 8 1 1 0 0 1 pinlabel=P3.1 (TXD) T 450 5600 5 8 0 1 0 2 1 pintype=io } P 100 5200 400 5200 1 0 0 { T 300 5250 5 8 1 1 0 6 1 pinnumber=30 T 300 5250 5 8 0 0 0 6 1 pinseq=34 T 450 5200 3 8 1 1 0 0 1 pinlabel=P3.2 (\_INT0\_) T 450 5200 5 8 0 1 0 2 1 pintype=io } P 100 4800 400 4800 1 0 0 { T 300 4850 5 8 1 1 0 6 1 pinnumber=31 T 300 4850 5 8 0 0 0 6 1 pinseq=35 T 450 4800 3 8 1 1 0 0 1 pinlabel=P3.3 (\_INT1\_) T 450 4800 5 8 0 1 0 2 1 pintype=io } P 100 4400 400 4400 1 0 0 { T 300 4450 5 8 1 1 0 6 1 pinnumber=32 T 300 4450 5 8 0 0 0 6 1 pinseq=36 T 450 4400 3 8 1 1 0 0 1 pinlabel=P3.4 (T0) T 450 4400 5 8 0 1 0 2 1 pintype=io } P 100 4000 400 4000 1 0 0 { T 300 4050 5 8 1 1 0 6 1 pinnumber=33 T 300 4050 5 8 0 0 0 6 1 pinseq=37 T 450 4000 3 8 1 1 0 0 1 pinlabel=P3.5 (T1) T 450 4000 5 8 0 1 0 2 1 pintype=io } P 100 3600 400 3600 1 0 0 { T 300 3650 5 8 1 1 0 6 1 pinnumber=35 T 300 3650 5 8 0 0 0 6 1 pinseq=38 T 450 3600 3 8 1 1 0 0 1 pinlabel=P3.6 (\_WR\_) T 450 3600 5 8 0 1 0 2 1 pintype=io } P 100 3200 400 3200 1 0 0 { T 300 3250 5 8 1 1 0 6 1 pinnumber=39 T 300 3250 5 8 0 0 0 6 1 pinseq=39 T 450 3200 3 8 1 1 0 0 1 pinlabel=P3.7 (\_RD\_) T 450 3200 5 8 0 1 0 2 1 pintype=io } P 1000 100 1000 300 1 0 0 { T 1050 200 5 8 1 1 0 0 1 pinnumber=43 T 1050 200 5 8 0 0 0 0 1 pinseq=40 T 1000 450 3 8 1 1 0 3 1 pinlabel=\_RST\_ T 1000 600 5 8 0 1 0 3 1 pintype=in } P 1800 100 1800 400 1 0 0 { T 1850 200 5 8 1 1 0 0 1 pinnumber=13 T 1850 200 5 8 0 0 0 0 1 pinseq=41 T 1800 450 3 8 1 1 0 3 1 pinlabel=XTAL1 T 1800 600 5 8 0 1 0 3 1 pintype=in } P 2400 100 2400 400 1 0 0 { T 2450 200 5 8 1 1 0 0 1 pinnumber=12 T 2450 200 5 8 0 0 0 0 1 pinseq=42 T 2400 450 3 8 1 1 0 3 1 pinlabel=XTAL2 T 2400 600 5 8 0 1 0 3 1 pintype=out } B 400 400 2600 9500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 11550 5 10 0 0 0 0 1 numslots=0 P 3300 2600 3000 2600 1 0 0 { T 3100 2650 5 8 1 1 0 0 1 pinnumber=7 T 3100 2650 5 8 0 0 0 0 1 pinseq=43 T 2950 2600 9 8 1 1 0 6 1 pinlabel=(SCL) P4.0 T 2950 2600 5 8 0 1 0 8 1 pintype=io } P 3300 2200 3000 2200 1 0 0 { T 3100 2250 5 8 1 1 0 0 1 pinnumber=8 T 3100 2250 5 8 0 0 0 0 1 pinseq=44 T 2950 2200 9 8 1 1 0 6 1 pinlabel=(SDA) P4.1 T 2950 2200 5 8 0 1 0 8 1 pintype=io } T 400 11750 5 10 0 0 0 0 1 documentation=http://www.atmel.com/dyn/resources/prod_documents/doc4136.pdf T 400 11950 5 10 0 0 0 0 1 description=USB C51-based microcontroller with 32kB flash T 400 11150 5 10 0 0 0 0 1 net=AVcc:17 T 400 10950 5 10 0 0 0 0 1 net=AGND:19 V 1000 350 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 11350 5 10 0 0 0 0 1 net=VREF:24 P 100 2600 400 2600 1 0 0 { T 300 2650 5 8 1 1 0 6 1 pinnumber=22 T 300 2650 5 8 0 0 0 6 1 pinseq=45 T 450 2600 3 8 1 1 0 0 1 pinlabel=D- T 450 2600 5 8 0 1 0 2 1 pintype=io } P 100 2200 400 2200 1 0 0 { T 300 2250 5 8 1 1 0 6 1 pinnumber=23 T 300 2250 5 8 0 0 0 6 1 pinseq=46 T 450 2200 3 8 1 1 0 0 1 pinlabel=D+ T 450 2200 5 8 0 1 0 2 1 pintype=io } P 100 1800 400 1800 1 0 0 { T 300 1850 5 8 1 1 0 6 1 pinnumber=21 T 300 1850 5 8 0 0 0 6 1 pinseq=47 T 450 1800 3 8 1 1 0 0 1 pinlabel=PLLF T 450 1800 5 8 0 1 0 2 1 pintype=in } T 400 12150 5 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/micro/DS2480B-1.sym0000664000175000017500000000364512204104272014521 00000000000000v 20031231 1 B 300 0 1400 1600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 1850 5 10 0 0 0 0 1 device=DS2480B P 300 1400 0 1400 1 0 1 { T 200 1450 5 8 1 1 0 6 1 pinnumber=1 T 200 1350 5 8 0 1 0 8 1 pinseq=1 T 350 1400 5 8 0 1 0 2 1 pintype=pwr T 350 1400 9 8 1 1 0 0 1 pinlabel=GND } P 300 1000 0 1000 1 0 1 { T 200 1050 5 8 1 1 0 6 1 pinnumber=2 T 200 950 5 8 0 1 0 8 1 pinseq=2 T 350 1000 5 8 0 1 0 2 1 pintype=io T 350 1000 9 8 1 1 0 0 1 pinlabel=1-Wire } P 300 600 0 600 1 0 1 { T 200 650 5 8 1 1 0 6 1 pinnumber=3 T 200 550 5 8 0 1 0 8 1 pinseq=3 T 350 600 5 8 0 1 0 2 1 pintype=pas T 350 600 9 8 1 1 0 0 1 pinlabel=NC } P 300 200 0 200 1 0 1 { T 200 250 5 8 1 1 0 6 1 pinnumber=4 T 200 150 5 8 0 1 0 8 1 pinseq=4 T 350 200 5 8 0 1 0 2 1 pintype=pwr T 350 200 9 8 1 1 0 0 1 pinlabel=Vdd } P 2000 200 1700 200 1 0 0 { T 1800 250 5 8 1 1 0 0 1 pinnumber=5 T 1800 150 5 8 0 1 0 2 1 pinseq=5 T 1650 200 5 8 0 1 0 8 1 pintype=pwr T 1650 200 9 8 1 1 0 6 1 pinlabel=Vpp } P 2000 600 1700 600 1 0 0 { T 1800 650 5 8 1 1 0 0 1 pinnumber=6 T 1800 550 5 8 0 1 0 2 1 pinseq=6 T 1650 600 5 8 0 1 0 8 1 pintype=in T 1650 600 9 8 1 1 0 6 1 pinlabel=POL } P 2000 1000 1700 1000 1 0 0 { T 1800 1050 5 8 1 1 0 0 1 pinnumber=7 T 1800 950 5 8 0 1 0 2 1 pinseq=7 T 1650 1000 5 8 0 1 0 8 1 pintype=out T 1650 1000 9 8 1 1 0 6 1 pinlabel=TxD } P 2000 1400 1700 1400 1 0 0 { T 1800 1450 5 8 1 1 0 0 1 pinnumber=8 T 1800 1350 5 8 0 1 0 2 1 pinseq=8 T 1650 1400 5 8 0 1 0 8 1 pintype=in T 1650 1400 9 8 1 1 0 6 1 pinlabel=RxD } T 1700 1700 8 10 1 1 0 6 1 refdes=U? T 300 2250 5 10 0 0 0 0 1 footprint=SMD8 T 300 2050 5 10 0 0 0 0 1 numslots=0 T 300 2450 5 10 0 0 0 0 1 description=Dallas Semiconductor 1-Wire Serial Line Driver w/Load Sensor (Travis Sawyer) T 300 2650 5 10 0 0 0 0 1 net=GND:1 T 300 3050 5 10 0 0 0 0 1 net=Vdd:4 T 300 2850 5 10 0 0 0 0 1 net=Vpp:5 T 300 3250 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/DS2480B.pdf T 300 1650 9 8 1 0 0 0 1 DS2480B geda-gaf-1.8.2/symbols/micro/AT89S53-24PI-1.sym0000664000175000017500000001760612204104272015231 00000000000000v 20070626 1 B 400 100 1900 6250 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 448 6944 8 10 0 0 0 0 1 device=AT89S8252-24PC P 400 6100 100 6100 1 0 1 { T 300 6150 5 8 1 1 0 6 1 pinnumber=1 T 300 6050 5 8 0 1 0 8 1 pinseq=1 T 450 6100 5 8 0 1 0 2 1 pintype=io T 450 6100 9 8 1 1 0 0 1 pinlabel=P1.0 (T2) } P 400 5800 100 5800 1 0 1 { T 450 5800 9 8 1 1 0 0 1 pinlabel=P1.1 (T2 Ex) T 300 5850 5 8 1 1 0 6 1 pinnumber=2 T 300 5750 5 8 0 1 0 8 1 pinseq=2 T 450 5800 5 8 0 1 0 2 1 pintype=io } P 400 5500 100 5500 1 0 1 { T 300 5550 5 8 1 1 0 6 1 pinnumber=3 T 300 5450 5 8 0 1 0 8 1 pinseq=3 T 450 5500 9 8 1 1 0 0 1 pinlabel=P1.2 T 450 5500 5 8 0 1 0 2 1 pintype=io } P 400 5200 100 5200 1 0 1 { T 300 5250 5 8 1 1 0 6 1 pinnumber=4 T 300 5150 5 8 0 1 0 8 1 pinseq=4 T 450 5200 9 8 1 1 0 0 1 pinlabel=P1.3 T 450 5200 5 8 0 1 0 2 1 pintype=io } P 400 4900 100 4900 1 0 1 { T 300 4950 5 8 1 1 0 6 1 pinnumber=5 T 300 4850 5 8 0 1 0 8 1 pinseq=5 T 450 4900 9 8 1 1 0 0 1 pinlabel=P1.4 (\_SS\_) T 450 4900 5 8 0 1 0 2 1 pintype=io } P 400 4600 100 4600 1 0 1 { T 300 4650 5 8 1 1 0 6 1 pinnumber=6 T 300 4550 5 8 0 1 0 8 1 pinseq=6 T 450 4600 9 8 1 1 0 0 1 pinlabel=P1.5 (MOSI) T 450 4600 5 8 0 1 0 2 1 pintype=io } P 400 4300 100 4300 1 0 1 { T 300 4350 5 8 1 1 0 6 1 pinnumber=7 T 300 4250 5 8 0 1 0 8 1 pinseq=7 T 450 4300 9 8 1 1 0 0 1 pinlabel=P1.6 (MISO) T 450 4300 5 8 0 1 0 2 1 pintype=io } P 400 4000 100 4000 1 0 1 { T 300 4050 5 8 1 1 0 6 1 pinnumber=8 T 300 3950 5 8 0 1 0 8 1 pinseq=8 T 450 4000 9 8 1 1 0 0 1 pinlabel=P1.7 (SCK) T 450 4000 5 8 0 1 0 2 1 pintype=io } P 400 3400 100 3400 1 0 1 { T 300 3450 5 8 1 1 0 6 1 pinnumber=10 T 300 3350 5 8 0 1 0 8 1 pinseq=10 T 450 3400 9 8 1 1 0 0 1 pinlabel=P3.0 (RxD) T 450 3400 5 8 0 1 0 2 1 pintype=io } P 400 3100 100 3100 1 0 1 { T 300 3150 5 8 1 1 0 6 1 pinnumber=11 T 300 3050 5 8 0 1 0 8 1 pinseq=11 T 450 3100 9 8 1 1 0 0 1 pinlabel=P3.1 (TxD) T 450 3100 5 8 0 1 0 2 1 pintype=io } V 350 2800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 300 2800 100 2800 1 0 1 { T 300 2850 5 8 1 1 0 6 1 pinnumber=12 T 300 2750 5 8 0 1 0 8 1 pinseq=12 T 450 2800 9 8 1 1 0 0 1 pinlabel=P3.2 (\_Int0\_) T 450 2800 5 8 0 1 0 2 1 pintype=io } V 350 2500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 300 2500 100 2500 1 0 1 { T 300 2550 5 8 1 1 0 6 1 pinnumber=13 T 300 2450 5 8 0 1 0 8 1 pinseq=13 T 450 2500 9 8 1 1 0 0 1 pinlabel=P3.3 (\_Int1\_) T 450 2500 5 8 0 1 0 2 1 pintype=io } P 400 2200 100 2200 1 0 1 { T 300 2250 5 8 1 1 0 6 1 pinnumber=14 T 300 2150 5 8 0 1 0 8 1 pinseq=14 T 450 2200 9 8 1 1 0 0 1 pinlabel=P3.4 (T0) T 450 2200 5 8 0 1 0 2 1 pintype=io } P 400 1900 100 1900 1 0 1 { T 300 1950 5 8 1 1 0 6 1 pinnumber=15 T 300 1850 5 8 0 1 0 8 1 pinseq=15 T 450 1900 9 8 1 1 0 0 1 pinlabel=P3.5 (T1) T 450 1900 5 8 0 1 0 2 1 pintype=io } P 400 1000 100 1000 1 0 1 { T 300 1050 5 8 1 1 0 6 1 pinnumber=18 T 300 950 5 8 0 1 0 8 1 pinseq=18 T 450 1000 5 8 0 1 0 2 1 pintype=out T 450 1000 9 8 1 1 0 0 1 pinlabel=XTAL2 } P 2300 5800 2600 5800 1 0 1 { T 2400 5850 5 8 1 1 0 0 1 pinnumber=39 T 2400 5750 5 8 0 1 0 2 1 pinseq=39 T 2250 5800 9 8 1 1 0 6 1 pinlabel=(AD0) P0.0 T 2250 5800 5 8 0 1 0 8 1 pintype=io } P 2300 5500 2600 5500 1 0 1 { T 2400 5550 5 8 1 1 0 0 1 pinnumber=38 T 2400 5450 5 8 0 1 0 2 1 pinseq=38 T 2250 5500 9 8 1 1 0 6 1 pinlabel=(AD1) P0.1 T 2250 5500 5 8 0 1 0 8 1 pintype=io } P 2300 5200 2600 5200 1 0 1 { T 2400 5250 5 8 1 1 0 0 1 pinnumber=37 T 2400 5150 5 8 0 1 0 2 1 pinseq=37 T 2250 5200 9 8 1 1 0 6 1 pinlabel=(AD2) P0.2 T 2250 5200 5 8 0 1 0 8 1 pintype=io } P 2300 4900 2600 4900 1 0 1 { T 2400 4950 5 8 1 1 0 0 1 pinnumber=36 T 2400 4850 5 8 0 1 0 2 1 pinseq=36 T 2250 4900 9 8 1 1 0 6 1 pinlabel=(AD3) P0.3 T 2250 4900 5 8 0 1 0 8 1 pintype=io } P 2300 4600 2600 4600 1 0 1 { T 2400 4650 5 8 1 1 0 0 1 pinnumber=35 T 2400 4550 5 8 0 1 0 2 1 pinseq=35 T 2250 4600 9 8 1 1 0 6 1 pinlabel=(AD4) P0.4 T 2250 4600 5 8 0 1 0 8 1 pintype=io } P 2300 4300 2600 4300 1 0 1 { T 2400 4350 5 8 1 1 0 0 1 pinnumber=34 T 2400 4250 5 8 0 1 0 2 1 pinseq=34 T 2250 4300 9 8 1 1 0 6 1 pinlabel=(AD5) P0.5 T 2250 4300 5 8 0 1 0 8 1 pintype=io } P 2300 4000 2600 4000 1 0 1 { T 2400 4050 5 8 1 1 0 0 1 pinnumber=33 T 2400 3950 5 8 0 1 0 2 1 pinseq=33 T 2250 4000 9 8 1 1 0 6 1 pinlabel=(AD6) P0.6 T 2250 4000 5 8 0 1 0 8 1 pintype=io } P 2300 3700 2600 3700 1 0 1 { T 2400 3750 5 8 1 1 0 0 1 pinnumber=32 T 2400 3650 5 8 0 1 0 2 1 pinseq=32 T 2250 3700 9 8 1 1 0 6 1 pinlabel=(AD7) P0.7 T 2250 3700 5 8 0 1 0 8 1 pintype=io } P 2300 400 2600 400 1 0 1 { T 2400 450 5 8 1 1 0 0 1 pinnumber=21 T 2400 350 5 8 0 1 0 2 1 pinseq=21 T 2250 400 9 8 1 1 0 6 1 pinlabel=(A8) P2.0 T 2250 400 5 8 0 1 0 8 1 pintype=io } P 2300 700 2600 700 1 0 1 { T 2400 750 5 8 1 1 0 0 1 pinnumber=22 T 2400 650 5 8 0 1 0 2 1 pinseq=22 T 2250 700 9 8 1 1 0 6 1 pinlabel=(A9) P2.1 T 2250 700 5 8 0 1 0 8 1 pintype=io } P 2300 1000 2600 1000 1 0 1 { T 2400 1050 5 8 1 1 0 0 1 pinnumber=23 T 2400 950 5 8 0 1 0 2 1 pinseq=23 T 2250 1000 9 8 1 1 0 6 1 pinlabel=(A10) P2.2 T 2250 1000 5 8 0 1 0 8 1 pintype=io } P 2300 1300 2600 1300 1 0 1 { T 2400 1350 5 8 1 1 0 0 1 pinnumber=24 T 2400 1250 5 8 0 1 0 2 1 pinseq=24 T 2250 1300 9 8 1 1 0 6 1 pinlabel=(A11) P2.3 T 2250 1300 5 8 0 1 0 8 1 pintype=io } P 2300 1900 2600 1900 1 0 1 { T 2400 1950 5 8 1 1 0 0 1 pinnumber=26 T 2400 1850 5 8 0 1 0 2 1 pinseq=26 T 2250 1900 9 8 1 1 0 6 1 pinlabel=(A13) P2.5 T 2250 1900 5 8 0 1 0 8 1 pintype=io } P 2300 2200 2600 2200 1 0 1 { T 2400 2250 5 8 1 1 0 0 1 pinnumber=27 T 2400 2150 5 8 0 1 0 2 1 pinseq=27 T 2250 2200 9 8 1 1 0 6 1 pinlabel=(A14) P2.6 T 2250 2200 5 8 0 1 0 8 1 pintype=io } P 2300 2500 2600 2500 1 0 1 { T 2400 2550 5 8 1 1 0 0 1 pinnumber=28 T 2400 2450 5 8 0 1 0 2 1 pinseq=28 T 2250 2500 9 8 1 1 0 6 1 pinlabel=(A15) P2.7 T 2250 2500 5 8 0 1 0 8 1 pintype=io } P 2300 3100 2600 3100 1 0 1 { T 2400 3150 5 8 1 1 0 0 1 pinnumber=30 T 2400 3050 5 8 0 1 0 2 1 pinseq=30 T 2250 3100 9 8 1 1 0 6 1 pinlabel=ALE/\_PROG\_ T 2250 3100 5 8 0 1 0 8 1 pintype=io } V 2350 2800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2400 2800 2600 2800 1 0 1 { T 2400 2850 5 8 1 1 0 0 1 pinnumber=29 T 2400 2750 5 8 0 1 0 2 1 pinseq=29 T 2250 2800 9 8 1 1 0 6 1 pinlabel=\_PSEN\_ T 2250 2800 5 8 0 1 0 8 1 pintype=out } V 350 1600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1600 300 1600 1 0 0 { T 300 1650 5 8 1 1 0 6 1 pinnumber=16 T 300 1550 5 8 0 1 0 8 1 pinseq=16 T 450 1600 9 8 1 1 0 0 1 pinlabel=P3.6 (\_WR\_) T 450 1600 5 8 0 1 0 2 1 pintype=io } V 350 1300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1300 300 1300 1 0 0 { T 300 1350 5 8 1 1 0 6 1 pinnumber=17 T 300 1250 5 8 0 1 0 8 1 pinseq=17 T 450 1300 9 8 1 1 0 0 1 pinlabel=P3.7 (\_RD\_) T 450 1300 5 8 0 1 0 2 1 pintype=io } T 2336 6504 8 10 1 1 0 6 1 refdes=U? P 2300 1600 2600 1600 1 0 1 { T 2400 1650 5 8 1 1 0 0 1 pinnumber=25 T 2400 1550 5 8 0 1 0 2 1 pinseq=25 T 2250 1600 9 8 1 1 0 6 1 pinlabel=(A12) P2.4 T 2250 1600 5 8 0 1 0 8 1 pintype=io } T 450 7550 8 10 0 0 0 0 1 net=Vcc:40 T 450 7750 8 10 0 0 0 0 1 net=GND:20 T 447 6748 8 10 0 0 0 0 1 footprint=DIP40 T 450 7350 8 10 0 0 0 0 1 description=8-bit, 8051 compatible micro controller (Atmel) T 450 7150 8 10 0 0 0 0 1 numslots=0 T 286 6512 9 10 1 0 0 0 1 AT89S53-24PI P 400 3700 100 3700 1 0 1 { T 300 3750 5 8 1 1 0 6 1 pinnumber=9 T 300 3650 5 8 0 1 0 8 1 pinseq=9 T 450 3700 9 8 1 1 0 0 1 pinlabel=RST T 450 3700 5 8 0 1 0 2 1 pintype=io } P 400 700 100 700 1 0 1 { T 300 750 5 8 1 1 0 6 1 pinnumber=19 T 300 650 5 8 0 1 0 8 1 pinseq=19 T 450 700 5 8 0 1 0 2 1 pintype=out T 450 700 9 8 1 1 0 0 1 pinlabel=XTAL1 } P 400 400 100 400 1 0 1 { T 300 450 5 8 1 1 0 6 1 pinnumber=20 T 300 350 5 8 0 1 0 8 1 pinseq=20 T 450 400 5 8 0 1 0 2 1 pintype=out T 450 400 9 8 1 1 0 0 1 pinlabel=GND } P 2600 6100 2300 6100 1 0 0 { T 2400 6150 5 8 1 1 0 0 1 pinnumber=40 T 2400 6050 5 8 0 1 0 2 1 pinseq=40 T 2250 6100 9 8 1 1 0 6 1 pinlabel=VCC T 2250 6100 5 8 0 1 0 8 1 pintype=in } P 2300 3400 2600 3400 1 0 1 { T 2400 3450 5 8 1 1 0 0 1 pinnumber=31 T 2400 3350 5 8 0 1 0 2 1 pinseq=31 T 2250 3400 9 8 1 1 0 6 1 pinlabel=\_EA\_ / VPP T 2250 3400 5 8 0 1 0 8 1 pintype=io } geda-gaf-1.8.2/symbols/micro/8259A-1.sym0000664000175000017500000001256712204104272014306 00000000000000v 20070626 1 V 250 4600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 4600 200 4600 1 0 0 { T 200 4650 5 8 1 1 0 6 1 pinnumber=1 T 200 4550 5 8 0 1 0 8 1 pinseq=1 T 350 4600 9 8 1 1 0 0 1 pinlabel=\_CS\_ T 350 4600 5 8 0 1 0 2 1 pintype=in } V 250 4300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 4300 200 4300 1 0 0 { T 200 4350 5 8 1 1 0 6 1 pinnumber=2 T 200 4250 5 8 0 1 0 8 1 pinseq=2 T 350 4300 9 8 1 1 0 0 1 pinlabel=\_WR\_ T 350 4300 5 8 0 1 0 2 1 pintype=in } V 250 4000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 4000 200 4000 1 0 0 { T 200 4050 5 8 1 1 0 6 1 pinnumber=3 T 200 3950 5 8 0 1 0 8 1 pinseq=3 T 350 4000 9 8 1 1 0 0 1 pinlabel=\_RD\_ T 350 4000 5 8 0 1 0 2 1 pintype=in } P 0 3600 300 3600 1 0 0 { T 200 3650 5 8 1 1 0 6 1 pinnumber=4 T 200 3550 5 8 0 1 0 8 1 pinseq=4 T 350 3600 9 8 1 1 0 0 1 pinlabel=D7 T 350 3600 5 8 0 1 0 2 1 pintype=io } P 0 3300 300 3300 1 0 0 { T 200 3350 5 8 1 1 0 6 1 pinnumber=5 T 200 3250 5 8 0 1 0 8 1 pinseq=5 T 350 3300 9 8 1 1 0 0 1 pinlabel=D6 T 350 3300 5 8 0 1 0 2 1 pintype=io } P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=6 T 200 2950 5 8 0 1 0 8 1 pinseq=6 T 350 3000 9 8 1 1 0 0 1 pinlabel=D5 T 350 3000 5 8 0 1 0 2 1 pintype=io } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=7 T 200 2650 5 8 0 1 0 8 1 pinseq=7 T 350 2700 9 8 1 1 0 0 1 pinlabel=D4 T 350 2700 5 8 0 1 0 2 1 pintype=io } P 0 2400 300 2400 1 0 0 { T 200 2450 5 8 1 1 0 6 1 pinnumber=8 T 200 2350 5 8 0 1 0 8 1 pinseq=8 T 350 2400 9 8 1 1 0 0 1 pinlabel=D3 T 350 2400 5 8 0 1 0 2 1 pintype=io } P 0 2100 300 2100 1 0 0 { T 200 2150 5 8 1 1 0 6 1 pinnumber=9 T 200 2050 5 8 0 1 0 8 1 pinseq=9 T 350 2100 9 8 1 1 0 0 1 pinlabel=D2 T 350 2100 5 8 0 1 0 2 1 pintype=io } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=10 T 200 1750 5 8 0 1 0 8 1 pinseq=10 T 350 1800 9 8 1 1 0 0 1 pinlabel=D1 T 350 1800 5 8 0 1 0 2 1 pintype=io } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=11 T 200 1450 5 8 0 1 0 8 1 pinseq=11 T 350 1500 9 8 1 1 0 0 1 pinlabel=D0 T 350 1500 5 8 0 1 0 2 1 pintype=io } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=12 T 200 1050 5 8 0 1 0 8 1 pinseq=12 T 350 1100 9 8 1 1 0 0 1 pinlabel=CAS0 T 350 1100 5 8 0 1 0 2 1 pintype=io } P 0 800 300 800 1 0 0 { T 200 850 5 8 1 1 0 6 1 pinnumber=13 T 200 750 5 8 0 1 0 8 1 pinseq=13 T 350 800 9 8 1 1 0 0 1 pinlabel=CAS1 T 350 800 5 8 0 1 0 2 1 pintype=io } P 0 400 300 400 1 0 0 { T 200 450 5 8 1 1 0 6 1 pinnumber=14 T 200 350 5 8 0 1 0 8 1 pinseq=14 T 350 400 9 8 1 1 0 0 1 pinlabel=GND T 350 400 5 8 0 1 0 2 1 pintype=pwr } P 2300 4600 2600 4600 1 0 1 { T 2400 4650 5 8 1 1 0 0 1 pinnumber=28 T 2400 4550 5 8 0 1 0 2 1 pinseq=28 T 2250 4600 9 8 1 1 0 6 1 pinlabel=Vcc T 2250 4600 5 8 0 1 0 8 1 pintype=pwr } P 2300 4200 2600 4200 1 0 1 { T 2400 4250 5 8 1 1 0 0 1 pinnumber=27 T 2400 4150 5 8 0 1 0 2 1 pinseq=27 T 2250 4200 9 8 1 1 0 6 1 pinlabel=A0 T 2250 4200 5 8 0 1 0 8 1 pintype=in } V 2350 3900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2400 3900 2600 3900 1 0 1 { T 2400 3950 5 8 1 1 0 0 1 pinnumber=26 T 2400 3850 5 8 0 1 0 2 1 pinseq=26 T 2250 3900 9 8 1 1 0 6 1 pinlabel=\_INTA\_ T 2250 3900 5 8 0 1 0 8 1 pintype=in } P 2300 3600 2600 3600 1 0 1 { T 2400 3650 5 8 1 1 0 0 1 pinnumber=25 T 2400 3550 5 8 0 1 0 2 1 pinseq=25 T 2250 3600 9 8 1 1 0 6 1 pinlabel=IR7 T 2250 3600 5 8 0 1 0 8 1 pintype=in } P 2300 3300 2600 3300 1 0 1 { T 2400 3350 5 8 1 1 0 0 1 pinnumber=24 T 2400 3250 5 8 0 1 0 2 1 pinseq=24 T 2250 3300 9 8 1 1 0 6 1 pinlabel=IR6 T 2250 3300 5 8 0 1 0 8 1 pintype=in } P 2300 3000 2600 3000 1 0 1 { T 2400 3050 5 8 1 1 0 0 1 pinnumber=23 T 2400 2950 5 8 0 1 0 2 1 pinseq=23 T 2250 3000 9 8 1 1 0 6 1 pinlabel=IR5 T 2250 3000 5 8 0 1 0 8 1 pintype=in } P 2300 2700 2600 2700 1 0 1 { T 2400 2750 5 8 1 1 0 0 1 pinnumber=22 T 2400 2650 5 8 0 1 0 2 1 pinseq=22 T 2250 2700 9 8 1 1 0 6 1 pinlabel=IR4 T 2250 2700 5 8 0 1 0 8 1 pintype=in } P 2300 2400 2600 2400 1 0 1 { T 2400 2450 5 8 1 1 0 0 1 pinnumber=21 T 2400 2350 5 8 0 1 0 2 1 pinseq=21 T 2250 2400 9 8 1 1 0 6 1 pinlabel=IR3 T 2250 2400 5 8 0 1 0 8 1 pintype=in } P 2300 2100 2600 2100 1 0 1 { T 2400 2150 5 8 1 1 0 0 1 pinnumber=20 T 2400 2050 5 8 0 1 0 2 1 pinseq=20 T 2250 2100 9 8 1 1 0 6 1 pinlabel=IR2 T 2250 2100 5 8 0 1 0 8 1 pintype=in } P 2300 1800 2600 1800 1 0 1 { T 2400 1850 5 8 1 1 0 0 1 pinnumber=19 T 2400 1750 5 8 0 1 0 2 1 pinseq=19 T 2250 1800 9 8 1 1 0 6 1 pinlabel=IR1 T 2250 1800 5 8 0 1 0 8 1 pintype=in } P 2300 1500 2600 1500 1 0 1 { T 2400 1550 5 8 1 1 0 0 1 pinnumber=18 T 2400 1450 5 8 0 1 0 2 1 pinseq=18 T 2250 1500 9 8 1 1 0 6 1 pinlabel=IR0 T 2250 1500 5 8 0 1 0 8 1 pintype=in } P 2300 1200 2600 1200 1 0 1 { T 2400 1250 5 8 1 1 0 0 1 pinnumber=17 T 2400 1150 5 8 0 1 0 2 1 pinseq=17 T 2250 1200 9 8 1 1 0 6 1 pinlabel=INT T 2250 1200 5 8 0 1 0 8 1 pintype=out } P 2300 800 2600 800 1 0 1 { T 2400 850 5 8 1 1 0 0 1 pinnumber=16 T 2400 750 5 8 0 1 0 2 1 pinseq=16 T 2250 800 9 8 1 1 0 6 1 pinlabel=\_SP\_/\_EN\_ T 2250 800 5 8 0 1 0 8 1 pintype=io } P 2300 500 2600 500 1 0 1 { T 2400 550 5 8 1 1 0 0 1 pinnumber=15 T 2400 450 5 8 0 1 0 2 1 pinseq=15 T 2250 500 9 8 1 1 0 6 1 pinlabel=CAS2 T 2250 500 5 8 0 1 0 8 1 pintype=io } B 300 300 2000 4600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 5150 5 10 0 0 0 0 1 device=8259A T 2300 5000 8 10 1 1 0 6 1 refdes=U? T 300 5350 5 10 0 0 0 0 1 footprint=DIP28 T 300 5750 5 10 0 0 0 0 1 description=programmable interrupt controller T 300 5550 5 10 0 0 0 0 1 numslots=0 T 300 4950 9 10 1 0 0 0 1 8259A geda-gaf-1.8.2/symbols/micro/AT43USB320A.sym0000664000175000017500000004066512204104272015013 00000000000000v 20070626 1 T 5200 10700 8 10 1 1 0 6 1 refdes=U? T 700 11150 5 10 0 0 0 0 1 device=AT43USB320A T 700 11350 5 10 0 0 0 0 1 footprint=LQFP100 P 5500 2300 5200 2300 1 0 0 { T 5300 2350 5 8 1 1 0 0 1 pinnumber=1 T 5300 2250 5 8 0 1 0 2 1 pinseq=1 T 5150 2300 9 8 1 1 0 6 1 pinlabel=(INT0) PD2 T 5150 2300 5 8 0 1 0 8 1 pintype=io } P 5500 2000 5200 2000 1 0 0 { T 5300 2050 5 8 1 1 0 0 1 pinnumber=2 T 5300 1950 5 8 0 1 0 2 1 pinseq=2 T 5150 2000 9 8 1 1 0 6 1 pinlabel=(INT1) PD3 T 5150 2000 5 8 0 1 0 8 1 pintype=io } P 5500 1700 5200 1700 1 0 0 { T 5300 1750 5 8 1 1 0 0 1 pinnumber=3 T 5300 1650 5 8 0 1 0 2 1 pinseq=3 T 5150 1700 9 8 1 1 0 6 1 pinlabel=PD4 T 5150 1700 5 8 0 1 0 8 1 pintype=io } P 5500 1400 5200 1400 1 0 0 { T 5300 1450 5 8 1 1 0 0 1 pinnumber=4 T 5300 1350 5 8 0 1 0 2 1 pinseq=4 T 5150 1400 9 8 1 1 0 6 1 pinlabel=PD5 T 5150 1400 5 8 0 1 0 8 1 pintype=io } P 5500 1100 5200 1100 1 0 0 { T 5300 1150 5 8 1 1 0 0 1 pinnumber=5 T 5300 1050 5 8 0 1 0 2 1 pinseq=5 T 5150 1100 9 8 1 1 0 6 1 pinlabel=PD6 T 5150 1100 5 8 0 1 0 8 1 pintype=io } P 5500 800 5200 800 1 0 0 { T 5300 850 5 8 1 1 0 0 1 pinnumber=6 T 5300 750 5 8 0 1 0 2 1 pinseq=6 T 5150 800 9 8 1 1 0 6 1 pinlabel=PD7 T 5150 800 5 8 0 1 0 8 1 pintype=io } P 1500 100 1500 400 1 0 0 { T 1450 300 5 8 1 1 90 6 1 pinnumber=7 T 1550 300 5 8 0 1 90 8 1 pinseq=7 T 1500 450 9 8 1 1 90 0 1 pinlabel=6/\_12\_ T 1500 450 5 8 0 1 90 2 1 pintype=in } P 2400 100 2400 400 1 0 0 { T 2350 300 5 8 1 1 90 6 1 pinnumber=8 T 2450 300 5 8 0 1 90 8 1 pinseq=8 T 2400 450 9 8 1 1 90 0 1 pinlabel=LFT T 2400 450 5 8 0 1 90 2 1 pintype=out } P 1800 100 1800 400 1 0 0 { T 1750 300 5 8 1 1 90 6 1 pinnumber=9 T 1850 300 5 8 0 1 90 8 1 pinseq=9 T 1800 450 9 8 1 1 90 0 1 pinlabel=XTAL1 T 1800 450 5 8 0 1 90 2 1 pintype=in } P 2100 100 2100 400 1 0 0 { T 2050 300 5 8 1 1 90 6 1 pinnumber=10 T 2150 300 5 8 0 1 90 8 1 pinseq=10 T 2100 450 9 8 1 1 90 0 1 pinlabel=XTAL2 T 2100 450 5 8 0 1 90 2 1 pintype=out } T 700 11550 5 10 0 0 0 0 1 net=GND:11,21,33,44,55,62,75,84,99 P 3300 100 3300 300 1 0 0 { T 3250 300 5 8 1 1 90 6 1 pinnumber=12 T 3350 300 5 8 0 1 90 8 1 pinseq=11 T 3300 450 9 8 1 1 90 0 1 pinlabel=\_TEST\_ T 3300 450 5 8 0 1 90 2 1 pintype=in } V 3300 350 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 10300 400 10300 1 0 0 { T 300 10350 5 8 1 1 0 6 1 pinnumber=13 T 300 10250 5 8 0 1 0 8 1 pinseq=12 T 450 10300 9 8 1 1 0 0 1 pinlabel=A0 T 450 10300 5 8 0 1 0 2 1 pintype=io } P 100 10000 400 10000 1 0 0 { T 300 10050 5 8 1 1 0 6 1 pinnumber=14 T 300 9950 5 8 0 1 0 8 1 pinseq=13 T 450 10000 9 8 1 1 0 0 1 pinlabel=A1 T 450 10000 5 8 0 1 0 2 1 pintype=io } P 100 9700 400 9700 1 0 0 { T 300 9750 5 8 1 1 0 6 1 pinnumber=15 T 300 9650 5 8 0 1 0 8 1 pinseq=14 T 450 9700 9 8 1 1 0 0 1 pinlabel=A2 T 450 9700 5 8 0 1 0 2 1 pintype=io } P 100 9400 400 9400 1 0 0 { T 300 9450 5 8 1 1 0 6 1 pinnumber=16 T 300 9350 5 8 0 1 0 8 1 pinseq=15 T 450 9400 9 8 1 1 0 0 1 pinlabel=A3 T 450 9400 5 8 0 1 0 2 1 pintype=io } P 100 9100 400 9100 1 0 0 { T 300 9150 5 8 1 1 0 6 1 pinnumber=17 T 300 9050 5 8 0 1 0 8 1 pinseq=16 T 450 9100 9 8 1 1 0 0 1 pinlabel=A4 T 450 9100 5 8 0 1 0 2 1 pintype=io } P 100 8800 400 8800 1 0 0 { T 300 8850 5 8 1 1 0 6 1 pinnumber=18 T 300 8750 5 8 0 1 0 8 1 pinseq=17 T 450 8800 9 8 1 1 0 0 1 pinlabel=A5 T 450 8800 5 8 0 1 0 2 1 pintype=io } P 100 8500 400 8500 1 0 0 { T 300 8550 5 8 1 1 0 6 1 pinnumber=19 T 300 8450 5 8 0 1 0 8 1 pinseq=18 T 450 8500 9 8 1 1 0 0 1 pinlabel=A6 T 450 8500 5 8 0 1 0 2 1 pintype=io } P 100 8200 400 8200 1 0 0 { T 300 8250 5 8 1 1 0 6 1 pinnumber=20 T 300 8150 5 8 0 1 0 8 1 pinseq=19 T 450 8200 9 8 1 1 0 0 1 pinlabel=A7 T 450 8200 5 8 0 1 0 2 1 pintype=io } P 100 7900 400 7900 1 0 0 { T 300 7950 5 8 1 1 0 6 1 pinnumber=22 T 300 7850 5 8 0 1 0 8 1 pinseq=20 T 450 7900 9 8 1 1 0 0 1 pinlabel=A8 T 450 7900 5 8 0 1 0 2 1 pintype=io } P 100 7600 400 7600 1 0 0 { T 300 7650 5 8 1 1 0 6 1 pinnumber=23 T 300 7550 5 8 0 1 0 8 1 pinseq=21 T 450 7600 9 8 1 1 0 0 1 pinlabel=A9 T 450 7600 5 8 0 1 0 2 1 pintype=io } P 100 7300 400 7300 1 0 0 { T 300 7350 5 8 1 1 0 6 1 pinnumber=24 T 300 7250 5 8 0 1 0 8 1 pinseq=22 T 450 7300 9 8 1 1 0 0 1 pinlabel=A10 T 450 7300 5 8 0 1 0 2 1 pintype=io } P 3800 100 3800 400 1 0 0 { T 3750 300 5 8 1 1 90 6 1 pinnumber=25 T 3850 300 5 8 0 1 90 8 1 pinseq=23 T 3800 450 9 8 1 1 90 0 1 pinlabel=NC. T 3800 450 5 8 0 1 90 2 1 pintype=tp } P 4000 100 4000 400 1 0 0 { T 3950 300 5 8 1 1 90 6 1 pinnumber=26 T 4050 300 5 8 0 1 90 8 1 pinseq=24 T 4000 450 9 8 1 1 90 0 1 pinlabel=NC. T 4000 450 5 8 0 1 90 2 1 pintype=tp } P 100 7000 400 7000 1 0 0 { T 300 7050 5 8 1 1 0 6 1 pinnumber=27 T 300 6950 5 8 0 1 0 8 1 pinseq=25 T 450 7000 9 8 1 1 0 0 1 pinlabel=A11 T 450 7000 5 8 0 1 0 2 1 pintype=io } P 100 6700 400 6700 1 0 0 { T 300 6750 5 8 1 1 0 6 1 pinnumber=28 T 300 6650 5 8 0 1 0 8 1 pinseq=26 T 450 6700 9 8 1 1 0 0 1 pinlabel=A12 T 450 6700 5 8 0 1 0 2 1 pintype=io } P 100 6400 400 6400 1 0 0 { T 300 6450 5 8 1 1 0 6 1 pinnumber=29 T 300 6350 5 8 0 1 0 8 1 pinseq=27 T 450 6400 9 8 1 1 0 0 1 pinlabel=A13 T 450 6400 5 8 0 1 0 2 1 pintype=io } P 100 6100 400 6100 1 0 0 { T 300 6150 5 8 1 1 0 6 1 pinnumber=30 T 300 6050 5 8 0 1 0 8 1 pinseq=28 T 450 6100 9 8 1 1 0 0 1 pinlabel=A14 T 450 6100 5 8 0 1 0 2 1 pintype=io } P 100 5800 400 5800 1 0 0 { T 300 5850 5 8 1 1 0 6 1 pinnumber=31 T 300 5750 5 8 0 1 0 8 1 pinseq=29 T 450 5800 9 8 1 1 0 0 1 pinlabel=A15 T 450 5800 5 8 0 1 0 2 1 pintype=io } T 700 11750 5 10 0 0 0 0 1 net=Vcc:32,61 P 900 100 900 400 1 0 0 { T 850 300 5 8 1 1 90 6 1 pinnumber=34 T 950 300 5 8 0 1 90 8 1 pinseq=30 T 900 450 9 8 1 1 90 0 1 pinlabel=CEXT1 T 900 450 5 8 0 1 90 2 1 pintype=out } P 3000 100 3000 300 1 0 0 { T 2950 300 5 8 1 1 90 6 1 pinnumber=35 T 3050 300 5 8 0 1 90 8 1 pinseq=31 T 3000 450 9 8 1 1 90 0 1 pinlabel=\_SUSPEND\_ T 3000 450 5 8 0 1 90 2 1 pintype=out } V 3000 350 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 5300 400 5300 1 0 0 { T 300 5350 5 8 1 1 0 6 1 pinnumber=36 T 300 5250 5 8 0 1 0 8 1 pinseq=32 T 450 5300 9 8 1 1 0 0 1 pinlabel=D0 T 450 5300 5 8 0 1 0 2 1 pintype=in } P 100 5000 400 5000 1 0 0 { T 300 5050 5 8 1 1 0 6 1 pinnumber=37 T 300 4950 5 8 0 1 0 8 1 pinseq=33 T 450 5000 9 8 1 1 0 0 1 pinlabel=D1 T 450 5000 5 8 0 1 0 2 1 pintype=in } P 100 4700 400 4700 1 0 0 { T 300 4750 5 8 1 1 0 6 1 pinnumber=38 T 300 4650 5 8 0 1 0 8 1 pinseq=34 T 450 4700 9 8 1 1 0 0 1 pinlabel=D2 T 450 4700 5 8 0 1 0 2 1 pintype=in } P 100 4400 400 4400 1 0 0 { T 300 4450 5 8 1 1 0 6 1 pinnumber=39 T 300 4350 5 8 0 1 0 8 1 pinseq=35 T 450 4400 9 8 1 1 0 0 1 pinlabel=D3 T 450 4400 5 8 0 1 0 2 1 pintype=in } P 100 4100 400 4100 1 0 0 { T 300 4150 5 8 1 1 0 6 1 pinnumber=40 T 300 4050 5 8 0 1 0 8 1 pinseq=36 T 450 4100 9 8 1 1 0 0 1 pinlabel=D4 T 450 4100 5 8 0 1 0 2 1 pintype=in } P 100 3800 400 3800 1 0 0 { T 300 3850 5 8 1 1 0 6 1 pinnumber=41 T 300 3750 5 8 0 1 0 8 1 pinseq=37 T 450 3800 9 8 1 1 0 0 1 pinlabel=D5 T 450 3800 5 8 0 1 0 2 1 pintype=in } P 100 3500 400 3500 1 0 0 { T 300 3550 5 8 1 1 0 6 1 pinnumber=42 T 300 3450 5 8 0 1 0 8 1 pinseq=38 T 450 3500 9 8 1 1 0 0 1 pinlabel=D6 T 450 3500 5 8 0 1 0 2 1 pintype=in } P 100 3200 400 3200 1 0 0 { T 300 3250 5 8 1 1 0 6 1 pinnumber=43 T 300 3150 5 8 0 1 0 8 1 pinseq=39 T 450 3200 9 8 1 1 0 0 1 pinlabel=D7 T 450 3200 5 8 0 1 0 2 1 pintype=in } P 100 2900 400 2900 1 0 0 { T 300 2950 5 8 1 1 0 6 1 pinnumber=45 T 300 2850 5 8 0 1 0 8 1 pinseq=40 T 450 2900 9 8 1 1 0 0 1 pinlabel=D8 T 450 2900 5 8 0 1 0 2 1 pintype=in } P 100 2600 400 2600 1 0 0 { T 300 2650 5 8 1 1 0 6 1 pinnumber=46 T 300 2550 5 8 0 1 0 8 1 pinseq=41 T 450 2600 9 8 1 1 0 0 1 pinlabel=D9 T 450 2600 5 8 0 1 0 2 1 pintype=in } P 100 2300 400 2300 1 0 0 { T 300 2350 5 8 1 1 0 6 1 pinnumber=47 T 300 2250 5 8 0 1 0 8 1 pinseq=42 T 450 2300 9 8 1 1 0 0 1 pinlabel=D10 T 450 2300 5 8 0 1 0 2 1 pintype=in } P 100 2000 400 2000 1 0 0 { T 300 2050 5 8 1 1 0 6 1 pinnumber=48 T 300 1950 5 8 0 1 0 8 1 pinseq=43 T 450 2000 9 8 1 1 0 0 1 pinlabel=D11 T 450 2000 5 8 0 1 0 2 1 pintype=in } P 4200 100 4200 400 1 0 0 { T 4150 300 5 8 1 1 90 6 1 pinnumber=49 T 4250 300 5 8 0 1 90 8 1 pinseq=44 T 4200 450 9 8 1 1 90 0 1 pinlabel=NC. T 4200 450 5 8 0 1 90 2 1 pintype=tp } P 4400 100 4400 400 1 0 0 { T 4350 300 5 8 1 1 90 6 1 pinnumber=50 T 4450 300 5 8 0 1 90 8 1 pinseq=45 T 4400 450 9 8 1 1 90 0 1 pinlabel=NC. T 4400 450 5 8 0 1 90 2 1 pintype=tp } P 100 1700 400 1700 1 0 0 { T 300 1750 5 8 1 1 0 6 1 pinnumber=51 T 300 1650 5 8 0 1 0 8 1 pinseq=46 T 450 1700 9 8 1 1 0 0 1 pinlabel=D12 T 450 1700 5 8 0 1 0 2 1 pintype=in } P 100 1400 400 1400 1 0 0 { T 300 1450 5 8 1 1 0 6 1 pinnumber=52 T 300 1350 5 8 0 1 0 8 1 pinseq=47 T 450 1400 9 8 1 1 0 0 1 pinlabel=D13 T 450 1400 5 8 0 1 0 2 1 pintype=in } P 100 1100 400 1100 1 0 0 { T 300 1150 5 8 1 1 0 6 1 pinnumber=53 T 300 1050 5 8 0 1 0 8 1 pinseq=48 T 450 1100 9 8 1 1 0 0 1 pinlabel=D14 T 450 1100 5 8 0 1 0 2 1 pintype=in } P 100 800 400 800 1 0 0 { T 300 850 5 8 1 1 0 6 1 pinnumber=54 T 300 750 5 8 0 1 0 8 1 pinseq=49 T 450 800 9 8 1 1 0 0 1 pinlabel=D15 T 450 800 5 8 0 1 0 2 1 pintype=in } P 2700 100 2700 400 1 0 0 { T 2650 300 5 8 1 1 90 6 1 pinnumber=56 T 2750 300 5 8 0 1 90 8 1 pinseq=50 T 2700 450 9 8 1 1 90 0 1 pinlabel=ICP T 2700 450 5 8 0 1 90 2 1 pintype=in } P 900 10900 900 10600 1 0 0 { T 850 10700 5 8 1 1 90 0 1 pinnumber=57 T 950 10700 5 8 0 1 90 2 1 pinseq=51 T 900 10550 9 8 1 1 90 6 1 pinlabel=DP0 T 900 10550 5 8 0 1 90 8 1 pintype=io } P 1200 10900 1200 10600 1 0 0 { T 1150 10700 5 8 1 1 90 0 1 pinnumber=58 T 1250 10700 5 8 0 1 90 2 1 pinseq=52 T 1200 10550 9 8 1 1 90 6 1 pinlabel=DM0 T 1200 10550 5 8 0 1 90 8 1 pintype=io } P 1700 10900 1700 10600 1 0 0 { T 1650 10700 5 8 1 1 90 0 1 pinnumber=59 T 1750 10700 5 8 0 1 90 2 1 pinseq=53 T 1700 10550 9 8 1 1 90 6 1 pinlabel=DP1 T 1700 10550 5 8 0 1 90 8 1 pintype=io } P 2000 10900 2000 10600 1 0 0 { T 1950 10700 5 8 1 1 90 0 1 pinnumber=60 T 2050 10700 5 8 0 1 90 2 1 pinseq=54 T 2000 10550 9 8 1 1 90 6 1 pinlabel=DM1 T 2000 10550 5 8 0 1 90 8 1 pintype=io } P 1200 100 1200 400 1 0 0 { T 1150 300 5 8 1 1 90 6 1 pinnumber=63 T 1250 300 5 8 0 1 90 8 1 pinseq=55 T 1200 450 9 8 1 1 90 0 1 pinlabel=CEXT2 T 1200 450 5 8 0 1 90 2 1 pintype=out } P 2500 10900 2500 10600 1 0 0 { T 2450 10700 5 8 1 1 90 0 1 pinnumber=64 T 2550 10700 5 8 0 1 90 2 1 pinseq=56 T 2500 10550 9 8 1 1 90 6 1 pinlabel=DP2 T 2500 10550 5 8 0 1 90 8 1 pintype=io } P 2800 10900 2800 10600 1 0 0 { T 2750 10700 5 8 1 1 90 0 1 pinnumber=65 T 2850 10700 5 8 0 1 90 2 1 pinseq=57 T 2800 10550 9 8 1 1 90 6 1 pinlabel=DM2 T 2800 10550 5 8 0 1 90 8 1 pintype=io } P 3200 10900 3200 10600 1 0 0 { T 3150 10700 5 8 1 1 90 0 1 pinnumber=66 T 3250 10700 5 8 0 1 90 2 1 pinseq=58 T 3200 10550 9 8 1 1 90 6 1 pinlabel=DP3 T 3200 10550 5 8 0 1 90 8 1 pintype=io } P 3500 10900 3500 10600 1 0 0 { T 3450 10700 5 8 1 1 90 0 1 pinnumber=67 T 3550 10700 5 8 0 1 90 2 1 pinseq=59 T 3500 10550 9 8 1 1 90 6 1 pinlabel=DM3 T 3500 10550 5 8 0 1 90 8 1 pintype=io } P 4000 10900 4000 10600 1 0 0 { T 3950 10700 5 8 1 1 90 0 1 pinnumber=68 T 4050 10700 5 8 0 1 90 2 1 pinseq=60 T 4000 10550 9 8 1 1 90 6 1 pinlabel=DP4 T 4000 10550 5 8 0 1 90 8 1 pintype=io } P 4300 10900 4300 10600 1 0 0 { T 4250 10700 5 8 1 1 90 0 1 pinnumber=69 T 4350 10700 5 8 0 1 90 2 1 pinseq=61 T 4300 10550 9 8 1 1 90 6 1 pinlabel=DM4 T 4300 10550 5 8 0 1 90 8 1 pintype=io } P 5500 10300 5200 10300 1 0 0 { T 5300 10350 5 8 1 1 0 0 1 pinnumber=70 T 5300 10250 5 8 0 1 0 2 1 pinseq=62 T 5150 10300 9 8 1 1 0 6 1 pinlabel=PA0 T 5150 10300 5 8 0 1 0 8 1 pintype=io } P 5500 10000 5200 10000 1 0 0 { T 5300 10050 5 8 1 1 0 0 1 pinnumber=71 T 5300 9950 5 8 0 1 0 2 1 pinseq=63 T 5150 10000 9 8 1 1 0 6 1 pinlabel=PA1 T 5150 10000 5 8 0 1 0 8 1 pintype=io } P 5500 9700 5200 9700 1 0 0 { T 5300 9750 5 8 1 1 0 0 1 pinnumber=72 T 5300 9650 5 8 0 1 0 2 1 pinseq=64 T 5150 9700 9 8 1 1 0 6 1 pinlabel=PA2 T 5150 9700 5 8 0 1 0 8 1 pintype=io } P 5500 9400 5200 9400 1 0 0 { T 5300 9450 5 8 1 1 0 0 1 pinnumber=73 T 5300 9350 5 8 0 1 0 2 1 pinseq=65 T 5150 9400 9 8 1 1 0 6 1 pinlabel=PA3 T 5150 9400 5 8 0 1 0 8 1 pintype=io } P 5500 9100 5200 9100 1 0 0 { T 5300 9150 5 8 1 1 0 0 1 pinnumber=74 T 5300 9050 5 8 0 1 0 2 1 pinseq=66 T 5150 9100 9 8 1 1 0 6 1 pinlabel=PA4 T 5150 9100 5 8 0 1 0 8 1 pintype=io } P 4600 100 4600 400 1 0 0 { T 4550 300 5 8 1 1 90 6 1 pinnumber=76 T 4650 300 5 8 0 1 90 8 1 pinseq=67 T 4600 450 9 8 1 1 90 0 1 pinlabel=NC. T 4600 450 5 8 0 1 90 2 1 pintype=tp } P 5500 8800 5200 8800 1 0 0 { T 5300 8850 5 8 1 1 0 0 1 pinnumber=77 T 5300 8750 5 8 0 1 0 2 1 pinseq=68 T 5150 8800 9 8 1 1 0 6 1 pinlabel=PA5 T 5150 8800 5 8 0 1 0 8 1 pintype=io } P 5500 8500 5200 8500 1 0 0 { T 5300 8550 5 8 1 1 0 0 1 pinnumber=78 T 5300 8450 5 8 0 1 0 2 1 pinseq=69 T 5150 8500 9 8 1 1 0 6 1 pinlabel=PA6 T 5150 8500 5 8 0 1 0 8 1 pintype=io } P 5500 8200 5200 8200 1 0 0 { T 5300 8250 5 8 1 1 0 0 1 pinnumber=79 T 5300 8150 5 8 0 1 0 2 1 pinseq=70 T 5150 8200 9 8 1 1 0 6 1 pinlabel=PA7 T 5150 8200 5 8 0 1 0 8 1 pintype=io } P 5500 7900 5200 7900 1 0 0 { T 5300 7950 5 8 1 1 0 0 1 pinnumber=80 T 5300 7850 5 8 0 1 0 2 1 pinseq=71 T 5150 7900 9 8 1 1 0 6 1 pinlabel=(T0) PB0 T 5150 7900 5 8 0 1 0 8 1 pintype=io } P 5500 7600 5200 7600 1 0 0 { T 5300 7650 5 8 1 1 0 0 1 pinnumber=81 T 5300 7550 5 8 0 1 0 2 1 pinseq=72 T 5150 7600 9 8 1 1 0 6 1 pinlabel=(T1) PB1 T 5150 7600 5 8 0 1 0 8 1 pintype=io } P 5500 7300 5200 7300 1 0 0 { T 5300 7350 5 8 1 1 0 0 1 pinnumber=82 T 5300 7250 5 8 0 1 0 2 1 pinseq=73 T 5150 7300 9 8 1 1 0 6 1 pinlabel=PB2 T 5150 7300 5 8 0 1 0 8 1 pintype=io } P 5500 7000 5200 7000 1 0 0 { T 5300 7050 5 8 1 1 0 0 1 pinnumber=83 T 5300 6950 5 8 0 1 0 2 1 pinseq=74 T 5150 7000 9 8 1 1 0 6 1 pinlabel=PB3 T 5150 7000 5 8 0 1 0 8 1 pintype=io } P 5500 6700 5200 6700 1 0 0 { T 5300 6750 5 8 1 1 0 0 1 pinnumber=85 T 5300 6650 5 8 0 1 0 2 1 pinseq=75 T 5150 6700 9 8 1 1 0 6 1 pinlabel=(\_SS\_) PB4 T 5150 6700 5 8 0 1 0 8 1 pintype=io } P 5500 6400 5200 6400 1 0 0 { T 5300 6450 5 8 1 1 0 0 1 pinnumber=86 T 5300 6350 5 8 0 1 0 2 1 pinseq=76 T 5150 6400 9 8 1 1 0 6 1 pinlabel=(MOSI) PB5 T 5150 6400 5 8 0 1 0 8 1 pintype=io } P 5500 6100 5200 6100 1 0 0 { T 5300 6150 5 8 1 1 0 0 1 pinnumber=87 T 5300 6050 5 8 0 1 0 2 1 pinseq=77 T 5150 6100 9 8 1 1 0 6 1 pinlabel=(MISO) PB6 T 5150 6100 5 8 0 1 0 8 1 pintype=io } P 5500 5800 5200 5800 1 0 0 { T 5300 5850 5 8 1 1 0 0 1 pinnumber=88 T 5300 5750 5 8 0 1 0 2 1 pinseq=78 T 5150 5800 9 8 1 1 0 6 1 pinlabel=(SCK) PB7 T 5150 5800 5 8 0 1 0 8 1 pintype=io } P 5500 5300 5200 5300 1 0 0 { T 5300 5350 5 8 1 1 0 0 1 pinnumber=89 T 5300 5250 5 8 0 1 0 2 1 pinseq=79 T 5150 5300 9 8 1 1 0 6 1 pinlabel=PC0 T 5150 5300 5 8 0 1 0 8 1 pintype=io } P 5500 5000 5200 5000 1 0 0 { T 5300 5050 5 8 1 1 0 0 1 pinnumber=90 T 5300 4950 5 8 0 1 0 2 1 pinseq=80 T 5150 5000 9 8 1 1 0 6 1 pinlabel=PC1 T 5150 5000 5 8 0 1 0 8 1 pintype=io } P 5500 4700 5200 4700 1 0 0 { T 5300 4750 5 8 1 1 0 0 1 pinnumber=91 T 5300 4650 5 8 0 1 0 2 1 pinseq=81 T 5150 4700 9 8 1 1 0 6 1 pinlabel=PC2 T 5150 4700 5 8 0 1 0 8 1 pintype=io } P 5500 4400 5200 4400 1 0 0 { T 5300 4450 5 8 1 1 0 0 1 pinnumber=92 T 5300 4350 5 8 0 1 0 2 1 pinseq=82 T 5150 4400 9 8 1 1 0 6 1 pinlabel=PC3 T 5150 4400 5 8 0 1 0 8 1 pintype=io } P 5500 4100 5200 4100 1 0 0 { T 5300 4150 5 8 1 1 0 0 1 pinnumber=93 T 5300 4050 5 8 0 1 0 2 1 pinseq=83 T 5150 4100 9 8 1 1 0 6 1 pinlabel=PC4 T 5150 4100 5 8 0 1 0 8 1 pintype=io } P 5500 3800 5200 3800 1 0 0 { T 5300 3850 5 8 1 1 0 0 1 pinnumber=94 T 5300 3750 5 8 0 1 0 2 1 pinseq=84 T 5150 3800 9 8 1 1 0 6 1 pinlabel=PC5 T 5150 3800 5 8 0 1 0 8 1 pintype=io } P 5500 3500 5200 3500 1 0 0 { T 5300 3550 5 8 1 1 0 0 1 pinnumber=95 T 5300 3450 5 8 0 1 0 2 1 pinseq=85 T 5150 3500 9 8 1 1 0 6 1 pinlabel=PC6 T 5150 3500 5 8 0 1 0 8 1 pintype=io } P 5500 3200 5200 3200 1 0 0 { T 5300 3250 5 8 1 1 0 0 1 pinnumber=96 T 5300 3150 5 8 0 1 0 2 1 pinseq=86 T 5150 3200 9 8 1 1 0 6 1 pinlabel=PC7 T 5150 3200 5 8 0 1 0 8 1 pintype=io } P 5500 2900 5200 2900 1 0 0 { T 5300 2950 5 8 1 1 0 0 1 pinnumber=97 T 5300 2850 5 8 0 1 0 2 1 pinseq=87 T 5150 2900 9 8 1 1 0 6 1 pinlabel=(RXD) PD0 T 5150 2900 5 8 0 1 0 8 1 pintype=io } P 5500 2600 5200 2600 1 0 0 { T 5300 2650 5 8 1 1 0 0 1 pinnumber=98 T 5300 2550 5 8 0 1 0 2 1 pinseq=88 T 5150 2600 9 8 1 1 0 6 1 pinlabel=(TXD) PD1 T 5150 2600 5 8 0 1 0 8 1 pintype=io } P 4800 100 4800 400 1 0 0 { T 4750 300 5 8 1 1 90 6 1 pinnumber=100 T 4850 300 5 8 0 1 90 8 1 pinseq=89 T 4800 450 9 8 1 1 90 0 1 pinlabel=NC. T 4800 450 5 8 0 1 90 2 1 pintype=tp } B 400 400 4800 10200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 700 11950 5 10 0 0 0 0 1 description=AVR 8-bit RISC uC and USB-Hub T 700 12150 5 10 0 0 0 0 1 numslots=0 T 700 12350 5 10 0 0 0 0 1 author=Werner Hoch T 2200 5050 9 10 1 0 0 0 1 AT43USB320A geda-gaf-1.8.2/symbols/micro/mc68hc705kj1-1.sym0000664000175000017500000000655112204104272015524 00000000000000v 20070626 1 P 0 3600 300 3600 1 0 0 { T 200 3650 5 8 1 1 0 6 1 pinnumber=2 T 200 3550 5 8 0 1 0 8 1 pinseq=2 T 350 3600 9 8 1 1 0 0 1 pinlabel=OSC1 T 350 3600 5 8 0 1 0 2 1 pintype=in } B 300 300 2000 3500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3200 300 3200 1 0 0 { T 200 3250 5 8 1 1 0 6 1 pinnumber=3 T 200 3150 5 8 0 1 0 8 1 pinseq=3 T 350 3200 9 8 1 1 0 0 1 pinlabel=OSC2 T 350 3200 5 8 0 1 0 2 1 pintype=out } P 0 1600 300 1600 1 0 0 { T 200 1650 5 8 1 1 0 6 1 pinnumber=4 T 200 1550 5 8 0 1 0 8 1 pinseq=4 T 350 1600 9 8 1 1 0 0 1 pinlabel=PB3 T 350 1600 5 8 0 1 0 2 1 pintype=io } P 0 1300 300 1300 1 0 0 { T 200 1350 5 8 1 1 0 6 1 pinnumber=5 T 200 1250 5 8 0 1 0 8 1 pinseq=5 T 350 1300 9 8 1 1 0 0 1 pinlabel=PB2 T 350 1300 5 8 0 1 0 2 1 pintype=io } P 2600 2600 2300 2600 1 0 0 { T 2400 2650 5 8 1 1 0 0 1 pinnumber=15 T 2400 2550 5 8 0 1 0 2 1 pinseq=15 T 2250 2600 9 8 1 1 0 6 1 pinlabel=PA0 T 2250 2600 5 8 0 1 0 8 1 pintype=io } P 2600 2300 2300 2300 1 0 0 { T 2400 2350 5 8 1 1 0 0 1 pinnumber=14 T 2400 2250 5 8 0 1 0 2 1 pinseq=14 T 2250 2300 9 8 1 1 0 6 1 pinlabel=PA1 T 2250 2300 5 8 0 1 0 8 1 pintype=io } P 2600 2000 2300 2000 1 0 0 { T 2400 2050 5 8 1 1 0 0 1 pinnumber=13 T 2400 1950 5 8 0 1 0 2 1 pinseq=13 T 2250 2000 9 8 1 1 0 6 1 pinlabel=PA2 T 2250 2000 5 8 0 1 0 8 1 pintype=io } P 2600 1700 2300 1700 1 0 0 { T 2400 1750 5 8 1 1 0 0 1 pinnumber=12 T 2400 1650 5 8 0 1 0 2 1 pinseq=12 T 2250 1700 9 8 1 1 0 6 1 pinlabel=PA3 T 2250 1700 5 8 0 1 0 8 1 pintype=io } P 2600 1400 2300 1400 1 0 0 { T 2400 1450 5 8 1 1 0 0 1 pinnumber=11 T 2400 1350 5 8 0 1 0 2 1 pinseq=11 T 2250 1400 9 8 1 1 0 6 1 pinlabel=PA4 T 2250 1400 5 8 0 1 0 8 1 pintype=io } P 2600 1100 2300 1100 1 0 0 { T 2400 1150 5 8 1 1 0 0 1 pinnumber=10 T 2400 1050 5 8 0 1 0 2 1 pinseq=10 T 2250 1100 9 8 1 1 0 6 1 pinlabel=PA5 T 2250 1100 5 8 0 1 0 8 1 pintype=io } P 2600 800 2300 800 1 0 0 { T 2400 850 5 8 1 1 0 0 1 pinnumber=9 T 2400 750 5 8 0 1 0 2 1 pinseq=9 T 2250 800 9 8 1 1 0 6 1 pinlabel=PA6 T 2250 800 5 8 0 1 0 8 1 pintype=io } P 2600 500 2300 500 1 0 0 { T 2400 550 5 8 1 1 0 0 1 pinnumber=8 T 2400 450 5 8 0 1 0 2 1 pinseq=8 T 2250 500 9 8 1 1 0 6 1 pinlabel=PA7 T 2250 500 5 8 0 1 0 8 1 pintype=io } P 2600 3600 2400 3600 1 0 0 { T 2400 3650 5 8 1 1 0 0 1 pinnumber=1 T 2400 3550 5 8 0 1 0 2 1 pinseq=1 T 2250 3600 9 8 1 1 0 6 1 pinlabel=\_RESET\_ T 2250 3600 5 8 0 1 0 8 1 pintype=in } P 2600 3300 2400 3300 1 0 0 { T 2400 3350 5 8 1 1 0 0 1 pinnumber=16 T 2400 3250 5 8 0 1 0 2 1 pinseq=16 T 2250 3300 9 8 1 1 0 6 1 pinlabel=\_IRQ\_/Vpp T 2250 3300 5 8 0 1 0 8 1 pintype=in } P 1300 3800 1300 4100 1 0 1 { T 1350 3900 5 8 1 1 0 0 1 pinnumber=6 T 1350 3900 5 8 0 1 0 2 1 pinseq=6 T 1300 3750 9 8 1 1 0 5 1 pinlabel=VDD T 1300 3600 5 8 0 1 0 5 1 pintype=pwr } P 1300 0 1300 300 1 0 0 { T 1350 100 5 8 1 1 0 0 1 pinnumber=7 T 1350 100 5 8 0 1 0 2 1 pinseq=7 T 1300 350 9 8 1 1 0 3 1 pinlabel=VSS T 1300 500 5 8 0 1 0 3 1 pintype=pwr } T 2300 3900 8 10 1 1 0 6 1 refdes=U? T 200 4200 5 10 0 0 0 0 1 device=MC68HC705KJ1 T 200 4400 5 10 0 0 0 0 1 footprint=DIP16 T 200 4600 5 10 0 0 0 0 1 numslots=0 T 200 4800 5 10 0 0 0 0 1 description=8-bit microcontroller (M68HC05 family) T 200 5000 5 10 0 0 0 0 1 documentation=http://e-www.motorola.com/files/microcontrollers/doc/data_sheet/MC68HC705KJ1.pdf T 1300 2900 9 10 1 0 0 4 1 MC68HC705KJ1 V 2350 3600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 2350 3300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/micro/pic16c505-1.sym0000664000175000017500000000511612204104272015105 00000000000000v 20070626 1 P 0 800 300 800 1 0 0 { T 200 850 5 8 1 1 0 6 1 pinnumber=5 T 200 750 5 8 0 1 0 8 1 pinseq=5 T 350 800 9 8 1 1 0 0 1 pinlabel=RC5/TOCKI T 350 800 5 8 0 1 0 2 1 pintype=io } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=4 T 200 1050 5 8 0 1 0 8 1 pinseq=4 T 350 1100 9 8 1 1 0 0 1 pinlabel=RB3/\_MCLR\_ T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1700 300 1700 1 0 0 { T 200 1750 5 8 1 1 0 6 1 pinnumber=2 T 200 1650 5 8 0 1 0 8 1 pinseq=2 T 350 1700 9 8 1 1 0 0 1 pinlabel=RB5/CLKIN T 350 1700 5 8 0 1 0 2 1 pintype=io } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=3 T 200 1350 5 8 0 1 0 8 1 pinseq=3 T 350 1400 9 8 1 1 0 0 1 pinlabel=RB4/CLKOUT T 350 1400 5 8 0 1 0 2 1 pintype=io } P 0 500 300 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=6 T 200 450 5 8 0 1 0 8 1 pinseq=6 T 350 500 9 8 1 1 0 0 1 pinlabel=RC4 T 350 500 5 8 0 1 0 2 1 pintype=io } P 2000 1700 2300 1700 1 0 1 { T 2100 1750 5 8 1 1 0 0 1 pinnumber=13 T 2100 1650 5 8 0 1 0 2 1 pinseq=13 T 1950 1700 9 8 1 1 0 6 1 pinlabel=RB0 T 1950 1700 5 8 0 1 0 8 1 pintype=io } P 2000 1400 2300 1400 1 0 1 { T 2100 1450 5 8 1 1 0 0 1 pinnumber=12 T 2100 1350 5 8 0 1 0 2 1 pinseq=12 T 1950 1400 9 8 1 1 0 6 1 pinlabel=RB1 T 1950 1400 5 8 0 1 0 8 1 pintype=io } P 2000 1100 2300 1100 1 0 1 { T 2100 1150 5 8 1 1 0 0 1 pinnumber=11 T 2100 1050 5 8 0 1 0 2 1 pinseq=11 T 1950 1100 9 8 1 1 0 6 1 pinlabel=RB2 T 1950 1100 5 8 0 1 0 8 1 pintype=io } P 2000 800 2300 800 1 0 1 { T 2100 850 5 8 1 1 0 0 1 pinnumber=10 T 2100 750 5 8 0 1 0 2 1 pinseq=10 T 1950 800 9 8 1 1 0 6 1 pinlabel=RC0 T 1950 800 5 8 0 1 0 8 1 pintype=io } P 2000 500 2300 500 1 0 1 { T 2100 550 5 8 1 1 0 0 1 pinnumber=9 T 2100 450 5 8 0 1 0 2 1 pinseq=9 T 1950 500 9 8 1 1 0 6 1 pinlabel=RC1 T 1950 500 5 8 0 1 0 8 1 pintype=io } P 2000 200 2300 200 1 0 1 { T 2100 250 5 8 1 1 0 0 1 pinnumber=8 T 2100 150 5 8 0 1 0 2 1 pinseq=8 T 1950 200 9 8 1 1 0 6 1 pinlabel=RC2 T 1950 200 5 8 0 1 0 8 1 pintype=io } P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=7 T 200 150 5 8 0 1 0 8 1 pinseq=7 T 350 200 9 8 1 1 0 0 1 pinlabel=RC3 T 350 200 5 8 0 1 0 2 1 pintype=io } B 300 0 1700 2000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 2250 5 10 0 0 0 0 1 device=PIC16C505 T 2000 2100 8 10 1 1 0 6 1 refdes=U? T 300 2450 5 10 0 0 0 0 1 footprint=DIP14 T 300 3250 5 10 0 0 0 0 1 description=8-bit CMOS microcontroller T 300 2650 5 10 0 0 0 0 1 numslots=0 T 300 3450 5 10 0 0 0 0 1 documentation=http://www.microchip.com/download/lit/pline/picmicro/families/16c5x/40192c.pdf T 300 2850 5 10 0 0 0 0 1 net=Vcc:1 T 300 3050 5 10 0 0 0 0 1 net=GND:14 T 300 2040 9 10 1 0 0 0 1 PIC16C505 geda-gaf-1.8.2/symbols/micro/8088-1.sym0000664000175000017500000001741012204104272014175 00000000000000v 20070626 1 P 0 6800 300 6800 1 0 0 { T 200 6850 5 8 1 1 0 6 1 pinnumber=1 T 200 6750 5 8 0 1 0 8 1 pinseq=1 T 350 6800 9 8 1 1 0 0 1 pinlabel=GND T 350 6800 5 8 0 1 0 2 1 pintype=pwr } P 0 6300 300 6300 1 0 0 { T 200 6350 5 8 1 1 0 6 1 pinnumber=2 T 200 6250 5 8 0 1 0 8 1 pinseq=2 T 350 6300 9 8 1 1 0 0 1 pinlabel=A14 T 350 6300 5 8 0 1 0 2 1 pintype=out } P 0 6000 300 6000 1 0 0 { T 200 6050 5 8 1 1 0 6 1 pinnumber=3 T 200 5950 5 8 0 1 0 8 1 pinseq=3 T 350 6000 9 8 1 1 0 0 1 pinlabel=A13 T 350 6000 5 8 0 1 0 2 1 pintype=out } P 0 5700 300 5700 1 0 0 { T 200 5750 5 8 1 1 0 6 1 pinnumber=4 T 200 5650 5 8 0 1 0 8 1 pinseq=4 T 350 5700 9 8 1 1 0 0 1 pinlabel=A12 T 350 5700 5 8 0 1 0 2 1 pintype=out } P 0 5400 300 5400 1 0 0 { T 200 5450 5 8 1 1 0 6 1 pinnumber=5 T 200 5350 5 8 0 1 0 8 1 pinseq=5 T 350 5400 9 8 1 1 0 0 1 pinlabel=A11 T 350 5400 5 8 0 1 0 2 1 pintype=out } P 0 5100 300 5100 1 0 0 { T 200 5150 5 8 1 1 0 6 1 pinnumber=6 T 200 5050 5 8 0 1 0 8 1 pinseq=6 T 350 5100 9 8 1 1 0 0 1 pinlabel=A10 T 350 5100 5 8 0 1 0 2 1 pintype=out } P 0 4800 300 4800 1 0 0 { T 200 4850 5 8 1 1 0 6 1 pinnumber=7 T 200 4750 5 8 0 1 0 8 1 pinseq=7 T 350 4800 9 8 1 1 0 0 1 pinlabel=A9 T 350 4800 5 8 0 1 0 2 1 pintype=out } P 0 4500 300 4500 1 0 0 { T 200 4550 5 8 1 1 0 6 1 pinnumber=8 T 200 4450 5 8 0 1 0 8 1 pinseq=8 T 350 4500 9 8 1 1 0 0 1 pinlabel=A8 T 350 4500 5 8 0 1 0 2 1 pintype=out } P 0 4000 300 4000 1 0 0 { T 200 4050 5 8 1 1 0 6 1 pinnumber=9 T 200 3950 5 8 0 1 0 8 1 pinseq=9 T 350 4000 9 8 1 1 0 0 1 pinlabel=AD7 T 350 4000 5 8 0 1 0 2 1 pintype=io } P 0 3700 300 3700 1 0 0 { T 200 3750 5 8 1 1 0 6 1 pinnumber=10 T 200 3650 5 8 0 1 0 8 1 pinseq=10 T 350 3700 9 8 1 1 0 0 1 pinlabel=AD6 T 350 3700 5 8 0 1 0 2 1 pintype=io } P 0 3400 300 3400 1 0 0 { T 200 3450 5 8 1 1 0 6 1 pinnumber=11 T 200 3350 5 8 0 1 0 8 1 pinseq=11 T 350 3400 9 8 1 1 0 0 1 pinlabel=AD5 T 350 3400 5 8 0 1 0 2 1 pintype=io } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=12 T 200 3050 5 8 0 1 0 8 1 pinseq=12 T 350 3100 9 8 1 1 0 0 1 pinlabel=AD4 T 350 3100 5 8 0 1 0 2 1 pintype=io } P 0 2800 300 2800 1 0 0 { T 200 2850 5 8 1 1 0 6 1 pinnumber=13 T 200 2750 5 8 0 1 0 8 1 pinseq=13 T 350 2800 9 8 1 1 0 0 1 pinlabel=AD3 T 350 2800 5 8 0 1 0 2 1 pintype=io } P 0 2500 300 2500 1 0 0 { T 200 2550 5 8 1 1 0 6 1 pinnumber=14 T 200 2450 5 8 0 1 0 8 1 pinseq=14 T 350 2500 9 8 1 1 0 0 1 pinlabel=AD2 T 350 2500 5 8 0 1 0 2 1 pintype=io } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=15 T 200 2150 5 8 0 1 0 8 1 pinseq=15 T 350 2200 9 8 1 1 0 0 1 pinlabel=AD1 T 350 2200 5 8 0 1 0 2 1 pintype=io } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=16 T 200 1850 5 8 0 1 0 8 1 pinseq=16 T 350 1900 9 8 1 1 0 0 1 pinlabel=AD0 T 350 1900 5 8 0 1 0 2 1 pintype=io } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=17 T 200 1450 5 8 0 1 0 8 1 pinseq=17 T 350 1500 9 8 1 1 0 0 1 pinlabel=NMI T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1200 300 1200 1 0 0 { T 200 1250 5 8 1 1 0 6 1 pinnumber=18 T 200 1150 5 8 0 1 0 8 1 pinseq=18 T 350 1200 9 8 1 1 0 0 1 pinlabel=INTR T 350 1200 5 8 0 1 0 2 1 pintype=in } P 0 800 300 800 1 0 0 { T 200 850 5 8 1 1 0 6 1 pinnumber=19 T 200 750 5 8 0 1 0 8 1 pinseq=19 T 375 800 9 8 1 1 0 0 1 pinlabel=CLK T 375 800 5 8 0 1 0 2 1 pintype=clk } P 0 400 300 400 1 0 0 { T 200 450 5 8 1 1 0 6 1 pinnumber=20 T 200 350 5 8 0 1 0 8 1 pinseq=20 T 350 400 9 8 1 1 0 0 1 pinlabel=GND T 350 400 5 8 0 1 0 2 1 pintype=pwr } P 2300 6800 2600 6800 1 0 1 { T 2400 6850 5 8 1 1 0 0 1 pinnumber=40 T 2400 6750 5 8 0 1 0 2 1 pinseq=40 T 2250 6800 9 8 1 1 0 6 1 pinlabel=Vcc T 2250 6800 5 8 0 1 0 8 1 pintype=pwr } P 2300 6400 2600 6400 1 0 1 { T 2400 6450 5 8 1 1 0 0 1 pinnumber=39 T 2400 6350 5 8 0 1 0 2 1 pinseq=39 T 2250 6400 9 8 1 1 0 6 1 pinlabel=A15 T 2250 6400 5 8 0 1 0 8 1 pintype=out } P 2300 6100 2600 6100 1 0 1 { T 2400 6150 5 8 1 1 0 0 1 pinnumber=38 T 2400 6050 5 8 0 1 0 2 1 pinseq=38 T 2250 6100 9 8 1 1 0 6 1 pinlabel=A16/S3 T 2250 6100 5 8 0 1 0 8 1 pintype=out } P 2300 5800 2600 5800 1 0 1 { T 2400 5850 5 8 1 1 0 0 1 pinnumber=37 T 2400 5750 5 8 0 1 0 2 1 pinseq=37 T 2250 5800 9 8 1 1 0 6 1 pinlabel=A17/S4 T 2250 5800 5 8 0 1 0 8 1 pintype=out } P 2300 5500 2600 5500 1 0 1 { T 2400 5550 5 8 1 1 0 0 1 pinnumber=36 T 2400 5450 5 8 0 1 0 2 1 pinseq=36 T 2250 5500 9 8 1 1 0 6 1 pinlabel=A18/S5 T 2250 5500 5 8 0 1 0 8 1 pintype=out } P 2300 5200 2600 5200 1 0 1 { T 2400 5250 5 8 1 1 0 0 1 pinnumber=35 T 2400 5150 5 8 0 1 0 2 1 pinseq=35 T 2250 5200 9 8 1 1 0 6 1 pinlabel=A19/S6 T 2250 5200 5 8 0 1 0 8 1 pintype=out } V 2350 4800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2400 4800 2600 4800 1 0 1 { T 2400 4850 5 8 1 1 0 0 1 pinnumber=34 T 2400 4750 5 8 0 1 0 2 1 pinseq=34 T 2250 4800 9 8 1 1 0 6 1 pinlabel=(HIGH) \_SSO\_ T 2250 4800 5 8 0 1 0 8 1 pintype=out } P 2300 4500 2600 4500 1 0 1 { T 2400 4550 5 8 1 1 0 0 1 pinnumber=33 T 2400 4450 5 8 0 1 0 2 1 pinseq=33 T 2250 4500 9 8 1 1 0 6 1 pinlabel=MN/\_MX\_ T 2250 4500 5 8 0 1 0 8 1 pintype=in } V 2350 4100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2400 4100 2600 4100 1 0 1 { T 2400 4150 5 8 1 1 0 0 1 pinnumber=32 T 2400 4050 5 8 0 1 0 2 1 pinseq=32 T 2250 4100 9 8 1 1 0 6 1 pinlabel=\_RD\_ T 2250 4100 5 8 0 1 0 8 1 pintype=out } P 2300 3800 2600 3800 1 0 1 { T 2400 3850 5 8 1 1 0 0 1 pinnumber=31 T 2400 3750 5 8 0 1 0 2 1 pinseq=31 T 2250 3800 9 8 1 1 0 6 1 pinlabel=(\_RQ\_/\_GT0\_) HOLD T 2250 3800 5 8 0 1 0 8 1 pintype=io } P 2300 3500 2600 3500 1 0 1 { T 2400 3550 5 8 1 1 0 0 1 pinnumber=30 T 2400 3450 5 8 0 1 0 2 1 pinseq=30 T 2250 3500 9 8 1 1 0 6 1 pinlabel=(\_RQ\_/\_GT1\_) HLDA T 2250 3500 5 8 0 1 0 8 1 pintype=io } V 2350 3200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2400 3200 2600 3200 1 0 1 { T 2400 3250 5 8 1 1 0 0 1 pinnumber=29 T 2400 3150 5 8 0 1 0 2 1 pinseq=29 T 2250 3200 9 8 1 1 0 6 1 pinlabel=(\_LOCK\_) \_WR\_ T 2250 3200 5 8 0 1 0 8 1 pintype=out } P 2300 2900 2600 2900 1 0 1 { T 2400 2950 5 8 1 1 0 0 1 pinnumber=28 T 2400 2850 5 8 0 1 0 2 1 pinseq=28 T 2250 2900 9 8 1 1 0 6 1 pinlabel=(\_S2\_) IO/\_M\_ T 2250 2900 5 8 0 1 0 8 1 pintype=out } P 2300 2600 2600 2600 1 0 1 { T 2400 2650 5 8 1 1 0 0 1 pinnumber=27 T 2400 2550 5 8 0 1 0 2 1 pinseq=27 T 2250 2600 9 8 1 1 0 6 1 pinlabel=(\_S1\_) DT/\_R\_ T 2250 2600 5 8 0 1 0 8 1 pintype=out } V 2350 2300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2400 2300 2600 2300 1 0 1 { T 2400 2350 5 8 1 1 0 0 1 pinnumber=26 T 2400 2250 5 8 0 1 0 2 1 pinseq=26 T 2250 2300 9 8 1 1 0 6 1 pinlabel=(\_S0\_) \_DEN\_ T 2250 2300 5 8 0 1 0 8 1 pintype=out } P 2300 2000 2600 2000 1 0 1 { T 2400 2050 5 8 1 1 0 0 1 pinnumber=25 T 2400 1950 5 8 0 1 0 2 1 pinseq=25 T 2250 2000 9 8 1 1 0 6 1 pinlabel=(QS0) ALE T 2250 2000 5 8 0 1 0 8 1 pintype=out } V 2350 1600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2400 1600 2600 1600 1 0 1 { T 2400 1650 5 8 1 1 0 0 1 pinnumber=24 T 2400 1550 5 8 0 1 0 2 1 pinseq=24 T 2250 1600 9 8 1 1 0 6 1 pinlabel=(QS1) \_INTA\_ T 2250 1600 5 8 0 1 0 8 1 pintype=out } V 2350 1100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2400 1100 2600 1100 1 0 1 { T 2400 1150 5 8 1 1 0 0 1 pinnumber=23 T 2400 1050 5 8 0 1 0 2 1 pinseq=23 T 2250 1100 9 8 1 1 0 6 1 pinlabel=\_TEST\_ T 2250 1100 5 8 0 1 0 8 1 pintype=in } P 2300 800 2600 800 1 0 1 { T 2400 850 5 8 1 1 0 0 1 pinnumber=22 T 2400 750 5 8 0 1 0 2 1 pinseq=22 T 2250 800 9 8 1 1 0 6 1 pinlabel=READY T 2250 800 5 8 0 1 0 8 1 pintype=in } P 2300 400 2600 400 1 0 1 { T 2400 450 5 8 1 1 0 0 1 pinnumber=21 T 2400 350 5 8 0 1 0 2 1 pinseq=21 T 2250 400 9 8 1 1 0 6 1 pinlabel=RESET T 2250 400 5 8 0 1 0 8 1 pintype=in } B 300 300 2000 6700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 7250 5 10 0 0 0 0 1 device=8088 T 2300 7100 8 10 1 1 0 6 1 refdes=U? T 300 7450 5 10 0 0 0 0 1 footprint=DIP40 T 300 7850 5 10 0 0 0 0 1 description=8-bit HMOS micro processor T 300 7650 5 10 0 0 0 0 1 numslots=0 T 300 7050 9 10 1 0 0 0 1 8088 L 375 800 300 850 3 0 0 0 -1 -1 L 375 800 300 750 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/micro/AT90S8515_TQFP.sym0000664000175000017500000002007612204104272015407 00000000000000v 20070626 1 T 3000 8900 8 10 1 1 0 6 1 refdes=U? T 400 9050 5 10 0 0 0 0 1 device=AT90S8515_TQFP T 400 9250 5 10 0 0 0 0 1 footprint=TQFP44 T 400 9450 5 10 0 0 0 0 1 net=GND:16 T 400 9650 5 10 0 0 0 0 1 net=Vcc:38 P 2300 100 2300 300 1 0 0 { T 2350 200 5 8 1 1 0 0 1 pinnumber=4 T 2350 200 5 8 0 1 0 2 1 pinseq=1 T 2300 450 9 8 1 1 0 3 1 pinlabel=\_Reset\_ T 2300 600 5 8 0 1 0 3 1 pintype=in } V 2300 350 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1700 100 1700 400 1 0 0 { T 1750 200 5 8 1 1 0 0 1 pinnumber=14 T 1750 200 5 8 0 1 0 2 1 pinseq=2 T 1700 450 9 8 1 1 0 3 1 pinlabel=XTAL2 T 1700 600 5 8 0 1 0 3 1 pintype=out } P 1100 100 1100 400 1 0 0 { T 1150 200 5 8 1 1 0 0 1 pinnumber=15 T 1150 200 5 8 0 1 0 2 1 pinseq=3 T 1100 450 9 8 1 1 0 3 1 pinlabel=XTAL1 T 1100 600 5 8 0 1 0 3 1 pintype=in } P 100 2200 400 2200 1 0 0 { T 300 2250 5 8 1 1 0 6 1 pinnumber=13 T 300 2150 5 8 0 1 0 8 1 pinseq=4 T 450 2200 9 8 1 1 0 0 1 pinlabel=PD7 (\_RD\_) T 450 2200 5 8 0 1 0 2 1 pintype=io } P 100 2600 400 2600 1 0 0 { T 300 2650 5 8 1 1 0 6 1 pinnumber=12 T 300 2550 5 8 0 1 0 8 1 pinseq=5 T 450 2600 9 8 1 1 0 0 1 pinlabel=PD6 (\_WR\_) T 450 2600 5 8 0 1 0 2 1 pintype=io } P 100 3000 400 3000 1 0 0 { T 300 3050 5 8 1 1 0 6 1 pinnumber=11 T 300 2950 5 8 0 1 0 8 1 pinseq=6 T 450 3000 9 8 1 1 0 0 1 pinlabel=PD5 (OC1A) T 450 3000 5 8 0 1 0 2 1 pintype=io } P 100 3400 400 3400 1 0 0 { T 300 3450 5 8 1 1 0 6 1 pinnumber=10 T 300 3350 5 8 0 1 0 8 1 pinseq=7 T 450 3400 9 8 1 1 0 0 1 pinlabel=PD4 T 450 3400 5 8 0 1 0 2 1 pintype=io } P 100 3800 400 3800 1 0 0 { T 300 3850 5 8 1 1 0 6 1 pinnumber=9 T 300 3750 5 8 0 1 0 8 1 pinseq=8 T 450 3800 9 8 1 1 0 0 1 pinlabel=PD3 (INT1) T 450 3800 5 8 0 1 0 2 1 pintype=io } P 100 4200 400 4200 1 0 0 { T 300 4250 5 8 1 1 0 6 1 pinnumber=8 T 300 4150 5 8 0 1 0 8 1 pinseq=9 T 450 4200 9 8 1 1 0 0 1 pinlabel=PD2 (INT0) T 450 4200 5 8 0 1 0 2 1 pintype=io } P 100 4600 400 4600 1 0 0 { T 300 4650 5 8 1 1 0 6 1 pinnumber=7 T 300 4550 5 8 0 1 0 8 1 pinseq=10 T 450 4600 9 8 1 1 0 0 1 pinlabel=PD1 (TXD) T 450 4600 5 8 0 1 0 2 1 pintype=io } P 100 5000 400 5000 1 0 0 { T 300 5050 5 8 1 1 0 6 1 pinnumber=5 T 300 4950 5 8 0 1 0 8 1 pinseq=11 T 450 5000 9 8 1 1 0 0 1 pinlabel=PD0 (RXD) T 450 5000 5 8 0 1 0 2 1 pintype=io } P 100 5600 400 5600 1 0 0 { T 300 5650 5 8 1 1 0 6 1 pinnumber=3 T 300 5550 5 8 0 1 0 8 1 pinseq=12 T 450 5600 9 8 1 1 0 0 1 pinlabel=PB7 (SCK) T 450 5600 5 8 0 1 0 2 1 pintype=io } P 100 6000 400 6000 1 0 0 { T 300 6050 5 8 1 1 0 6 1 pinnumber=2 T 300 5950 5 8 0 1 0 8 1 pinseq=13 T 450 6000 9 8 1 1 0 0 1 pinlabel=PB6 (MISO) T 450 6000 5 8 0 1 0 2 1 pintype=io } P 100 6400 400 6400 1 0 0 { T 300 6450 5 8 1 1 0 6 1 pinnumber=1 T 300 6350 5 8 0 1 0 8 1 pinseq=14 T 450 6400 9 8 1 1 0 0 1 pinlabel=PB5 (MOSI) T 450 6400 5 8 0 1 0 2 1 pintype=io } P 100 6800 400 6800 1 0 0 { T 300 6850 5 8 1 1 0 6 1 pinnumber=44 T 300 6750 5 8 0 1 0 8 1 pinseq=15 T 450 6800 9 8 1 1 0 0 1 pinlabel=PB4 (\_SS\_) T 450 6800 5 8 0 1 0 2 1 pintype=io } P 100 7200 400 7200 1 0 0 { T 300 7250 5 8 1 1 0 6 1 pinnumber=43 T 300 7150 5 8 0 1 0 8 1 pinseq=16 T 450 7200 9 8 1 1 0 0 1 pinlabel=PB3 (AIN1) T 450 7200 5 8 0 1 0 2 1 pintype=io } P 100 7600 400 7600 1 0 0 { T 300 7650 5 8 1 1 0 6 1 pinnumber=42 T 300 7550 5 8 0 1 0 8 1 pinseq=17 T 450 7600 9 8 1 1 0 0 1 pinlabel=PB2 (AIN0) T 450 7600 5 8 0 1 0 2 1 pintype=io } P 100 8000 400 8000 1 0 0 { T 300 8050 5 8 1 1 0 6 1 pinnumber=41 T 300 7950 5 8 0 1 0 8 1 pinseq=18 T 450 8000 9 8 1 1 0 0 1 pinlabel=PB1 (T1) T 450 8000 5 8 0 1 0 2 1 pintype=io } P 100 8400 400 8400 1 0 0 { T 300 8450 5 8 1 1 0 6 1 pinnumber=40 T 300 8350 5 8 0 1 0 8 1 pinseq=19 T 450 8400 9 8 1 1 0 0 1 pinlabel=PB0 (T0) T 450 8400 5 8 0 1 0 2 1 pintype=io } P 100 800 400 800 1 0 0 { T 300 850 5 8 1 1 0 6 1 pinnumber=6 T 300 750 5 8 0 1 0 8 1 pinseq=20 T 450 800 9 8 1 1 0 0 1 pinlabel=NC. T 450 800 5 8 0 1 0 2 1 pintype=tp } P 100 1000 400 1000 1 0 0 { T 300 1050 5 8 1 1 0 6 1 pinnumber=17 T 300 950 5 8 0 1 0 8 1 pinseq=21 T 450 1000 9 8 1 1 0 0 1 pinlabel=NC. T 450 1000 5 8 0 1 0 2 1 pintype=tp } P 100 1200 400 1200 1 0 0 { T 300 1250 5 8 1 1 0 6 1 pinnumber=28 T 300 1150 5 8 0 1 0 8 1 pinseq=22 T 450 1200 9 8 1 1 0 0 1 pinlabel=NC. T 450 1200 5 8 0 1 0 2 1 pintype=tp } P 100 1400 400 1400 1 0 0 { T 300 1450 5 8 1 1 0 6 1 pinnumber=39 T 300 1350 5 8 0 1 0 8 1 pinseq=23 T 450 1400 9 8 1 1 0 0 1 pinlabel=NC. T 450 1400 5 8 0 1 0 2 1 pintype=tp } P 3300 2200 3000 2200 1 0 0 { T 3100 2250 5 8 1 1 0 0 1 pinnumber=25 T 3100 2150 5 8 0 1 0 2 1 pinseq=24 T 2950 2200 9 8 1 1 0 6 1 pinlabel=(A15) PC7 T 2950 2200 5 8 0 1 0 8 1 pintype=io } P 3300 2600 3000 2600 1 0 0 { T 3100 2650 5 8 1 1 0 0 1 pinnumber=24 T 3100 2550 5 8 0 1 0 2 1 pinseq=25 T 2950 2600 9 8 1 1 0 6 1 pinlabel=(A14) PC6 T 2950 2600 5 8 0 1 0 8 1 pintype=io } P 3300 3000 3000 3000 1 0 0 { T 3100 3050 5 8 1 1 0 0 1 pinnumber=23 T 3100 2950 5 8 0 1 0 2 1 pinseq=26 T 2950 3000 9 8 1 1 0 6 1 pinlabel=(A13) PC5 T 2950 3000 5 8 0 1 0 8 1 pintype=io } P 3300 3400 3000 3400 1 0 0 { T 3100 3450 5 8 1 1 0 0 1 pinnumber=22 T 3100 3350 5 8 0 1 0 2 1 pinseq=27 T 2950 3400 9 8 1 1 0 6 1 pinlabel=(A12) PC4 T 2950 3400 5 8 0 1 0 8 1 pintype=io } P 3300 3800 3000 3800 1 0 0 { T 3100 3850 5 8 1 1 0 0 1 pinnumber=21 T 3100 3750 5 8 0 1 0 2 1 pinseq=28 T 2950 3800 9 8 1 1 0 6 1 pinlabel=(A11) PC3 T 2950 3800 5 8 0 1 0 8 1 pintype=io } P 3300 4200 3000 4200 1 0 0 { T 3100 4250 5 8 1 1 0 0 1 pinnumber=20 T 3100 4150 5 8 0 1 0 2 1 pinseq=29 T 2950 4200 9 8 1 1 0 6 1 pinlabel=(A10) PC2 T 2950 4200 5 8 0 1 0 8 1 pintype=io } P 3300 4600 3000 4600 1 0 0 { T 3100 4650 5 8 1 1 0 0 1 pinnumber=19 T 3100 4550 5 8 0 1 0 2 1 pinseq=30 T 2950 4600 9 8 1 1 0 6 1 pinlabel=(A9) PC1 T 2950 4600 5 8 0 1 0 8 1 pintype=io } P 3300 5000 3000 5000 1 0 0 { T 3100 5050 5 8 1 1 0 0 1 pinnumber=18 T 3100 4950 5 8 0 1 0 2 1 pinseq=31 T 2950 5000 9 8 1 1 0 6 1 pinlabel=(A8) PC0 T 2950 5000 5 8 0 1 0 8 1 pintype=io } P 3300 5600 3000 5600 1 0 0 { T 3100 5650 5 8 1 1 0 0 1 pinnumber=30 T 3100 5550 5 8 0 1 0 2 1 pinseq=32 T 2950 5600 9 8 1 1 0 6 1 pinlabel=(AD7) PA7 T 2950 5600 5 8 0 1 0 8 1 pintype=io } P 3300 6000 3000 6000 1 0 0 { T 3100 6050 5 8 1 1 0 0 1 pinnumber=31 T 3100 5950 5 8 0 1 0 2 1 pinseq=33 T 2950 6000 9 8 1 1 0 6 1 pinlabel=(AD6) PA6 T 2950 6000 5 8 0 1 0 8 1 pintype=io } P 3300 6400 3000 6400 1 0 0 { T 3100 6450 5 8 1 1 0 0 1 pinnumber=32 T 3100 6350 5 8 0 1 0 2 1 pinseq=34 T 2950 6400 9 8 1 1 0 6 1 pinlabel=(AD5) PA5 T 2950 6400 5 8 0 1 0 8 1 pintype=io } P 3300 6800 3000 6800 1 0 0 { T 3100 6850 5 8 1 1 0 0 1 pinnumber=33 T 3100 6750 5 8 0 1 0 2 1 pinseq=35 T 2950 6800 9 8 1 1 0 6 1 pinlabel=(AD4) PA4 T 2950 6800 5 8 0 1 0 8 1 pintype=io } P 3300 7200 3000 7200 1 0 0 { T 3100 7250 5 8 1 1 0 0 1 pinnumber=34 T 3100 7150 5 8 0 1 0 2 1 pinseq=36 T 2950 7200 9 8 1 1 0 6 1 pinlabel=(AD3) PA3 T 2950 7200 5 8 0 1 0 8 1 pintype=io } P 3300 7600 3000 7600 1 0 0 { T 3100 7650 5 8 1 1 0 0 1 pinnumber=35 T 3100 7550 5 8 0 1 0 2 1 pinseq=37 T 2950 7600 9 8 1 1 0 6 1 pinlabel=(AD2) PA2 T 2950 7600 5 8 0 1 0 8 1 pintype=io } P 3300 8000 3000 8000 1 0 0 { T 3100 8050 5 8 1 1 0 0 1 pinnumber=36 T 3100 7950 5 8 0 1 0 2 1 pinseq=38 T 2950 8000 9 8 1 1 0 6 1 pinlabel=(AD1) PA1 T 2950 8000 5 8 0 1 0 8 1 pintype=io } P 3300 8400 3000 8400 1 0 0 { T 3100 8450 5 8 1 1 0 0 1 pinnumber=37 T 3100 8350 5 8 0 1 0 2 1 pinseq=39 T 2950 8400 9 8 1 1 0 6 1 pinlabel=(AD0) PA0 T 2950 8400 5 8 0 1 0 8 1 pintype=io } P 3300 800 3000 800 1 0 0 { T 3100 850 5 8 1 1 0 0 1 pinnumber=26 T 3100 750 5 8 0 1 0 2 1 pinseq=40 T 2950 800 9 8 1 1 0 6 1 pinlabel=OC1B T 2950 800 5 8 0 1 0 8 1 pintype=out } P 3300 1200 3000 1200 1 0 0 { T 3100 1250 5 8 1 1 0 0 1 pinnumber=29 T 3100 1150 5 8 0 1 0 2 1 pinseq=41 T 2950 1200 9 8 1 1 0 6 1 pinlabel=ICP T 2950 1200 5 8 0 1 0 8 1 pintype=in } P 3300 1600 3000 1600 1 0 0 { T 3100 1650 5 8 1 1 0 0 1 pinnumber=27 T 3100 1550 5 8 0 1 0 2 1 pinseq=42 T 2950 1600 9 8 1 1 0 6 1 pinlabel=ALE T 2950 1600 5 8 0 1 0 8 1 pintype=out } B 400 400 2600 8400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 9850 5 10 0 0 0 0 1 description=8-bit RISC micro controller (Atmel) T 400 10050 5 10 0 0 0 0 1 numslots=0 T 400 10250 5 10 0 0 0 0 1 author=Werner Hoch T 400 8850 9 10 1 0 0 0 1 AT90S8515 geda-gaf-1.8.2/symbols/micro/MSP430x44x.sym0000664000175000017500000004570612204104272015057 00000000000000v 20070626 1 B 400 400 12800 10000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2700 7675 5 10 0 0 0 0 1 device=MSP430x44x T 13150 10450 8 10 1 1 0 6 1 refdes=U? P 400 10200 100 10200 1 0 1 { T 300 10250 5 8 1 1 0 6 1 pinnumber=1 T 450 10200 9 8 1 1 0 0 1 pinlabel=DVcc T 300 10150 5 8 0 1 0 8 1 pinseq=1 T 450 10200 5 8 0 1 0 2 1 pintype=pwr } P 400 9800 100 9800 1 0 1 { T 300 9850 5 8 1 1 0 6 1 pinnumber=2 T 450 9800 9 8 1 1 0 0 1 pinlabel=P6.3/A3 T 300 9750 5 8 0 1 0 8 1 pinseq=2 T 450 9800 5 8 0 1 0 2 1 pintype=io } P 400 9400 100 9400 1 0 1 { T 300 9450 5 8 1 1 0 6 1 pinnumber=3 T 450 9400 9 8 1 1 0 0 1 pinlabel=P6.4/A4 T 300 9350 5 8 0 1 0 8 1 pinseq=3 T 450 9400 5 8 0 1 0 2 1 pintype=io } P 400 9000 100 9000 1 0 1 { T 300 9050 5 8 1 1 0 6 1 pinnumber=4 T 450 9000 9 8 1 1 0 0 1 pinlabel=P6.5/A5 T 300 8950 5 8 0 1 0 8 1 pinseq=4 T 450 9000 5 8 0 1 0 2 1 pintype=io } P 400 8600 100 8600 1 0 1 { T 300 8650 5 8 1 1 0 6 1 pinnumber=5 T 450 8600 9 8 1 1 0 0 1 pinlabel=P6.6/A6 T 300 8550 5 8 0 1 0 8 1 pinseq=5 T 450 8600 5 8 0 1 0 2 1 pintype=io } P 400 8200 100 8200 1 0 1 { T 300 8250 5 8 1 1 0 6 1 pinnumber=6 T 450 8200 9 8 1 1 0 0 1 pinlabel=P6.7/A7 T 300 8150 5 8 0 1 0 8 1 pinseq=6 T 450 8200 5 8 0 1 0 2 1 pintype=io } P 400 7800 100 7800 1 0 1 { T 300 7850 5 8 1 1 0 6 1 pinnumber=7 T 450 7800 9 8 1 1 0 0 1 pinlabel=Vref+ T 300 7750 5 8 0 1 0 8 1 pinseq=7 T 450 7800 5 8 0 1 0 2 1 pintype=out } P 400 7400 100 7400 1 0 1 { T 300 7450 5 8 1 1 0 6 1 pinnumber=8 T 450 7400 9 8 1 1 0 0 1 pinlabel=XIN T 300 7350 5 8 0 1 0 8 1 pinseq=8 T 450 7400 5 8 0 1 0 2 1 pintype=in } P 400 7000 100 7000 1 0 1 { T 300 7050 5 8 1 1 0 6 1 pinnumber=9 T 450 7000 9 8 1 1 0 0 1 pinlabel=XOUT/TCLK T 300 6950 5 8 0 1 0 8 1 pinseq=9 T 450 7000 5 8 0 1 0 2 1 pintype=io } P 400 6600 100 6600 1 0 1 { T 300 6650 5 8 1 1 0 6 1 pinnumber=10 T 450 6600 9 8 1 1 0 0 1 pinlabel=VeREF+ T 300 6550 5 8 0 1 0 8 1 pinseq=10 T 450 6600 5 8 0 1 0 2 1 pintype=in } P 400 6200 100 6200 1 0 1 { T 300 6250 5 8 1 1 0 6 1 pinnumber=11 T 450 6200 9 8 1 1 0 0 1 pinlabel=Vref-/VeREF- T 300 6150 5 8 0 1 0 8 1 pinseq=11 T 450 6200 5 8 0 1 0 2 1 pintype=in } P 400 5800 100 5800 1 0 1 { T 300 5850 5 8 1 1 0 6 1 pinnumber=12 T 450 5800 9 8 1 1 0 0 1 pinlabel=P5.1/S0 T 300 5750 5 8 0 1 0 8 1 pinseq=12 T 450 5800 5 8 0 1 0 2 1 pintype=io } P 400 5400 100 5400 1 0 1 { T 300 5450 5 8 1 1 0 6 1 pinnumber=13 T 450 5400 9 8 1 1 0 0 1 pinlabel=P5.0/S1 T 300 5350 5 8 0 1 0 8 1 pinseq=13 T 450 5400 5 8 0 1 0 2 1 pintype=io } P 400 5000 100 5000 1 0 1 { T 300 5050 5 8 1 1 0 6 1 pinnumber=14 T 450 5000 9 8 1 1 0 0 1 pinlabel=S2 T 300 4950 5 8 0 1 0 8 1 pinseq=14 T 450 5000 5 8 0 1 0 2 1 pintype=out } P 400 4600 100 4600 1 0 1 { T 300 4650 5 8 1 1 0 6 1 pinnumber=15 T 450 4600 9 8 1 1 0 0 1 pinlabel=S3 T 300 4550 5 8 0 1 0 8 1 pinseq=15 T 450 4600 5 8 0 1 0 2 1 pintype=out } P 400 4200 100 4200 1 0 1 { T 300 4250 5 8 1 1 0 6 1 pinnumber=16 T 450 4200 9 8 1 1 0 0 1 pinlabel=S4 T 300 4150 5 8 0 1 0 8 1 pinseq=16 T 450 4200 5 8 0 1 0 2 1 pintype=out } P 400 3800 100 3800 1 0 1 { T 300 3850 5 8 1 1 0 6 1 pinnumber=17 T 450 3800 9 8 1 1 0 0 1 pinlabel=S5 T 300 3750 5 8 0 1 0 8 1 pinseq=17 T 450 3800 5 8 0 1 0 2 1 pintype=out } P 400 3400 100 3400 1 0 1 { T 300 3450 5 8 1 1 0 6 1 pinnumber=18 T 450 3400 9 8 1 1 0 0 1 pinlabel=S6 T 300 3350 5 8 0 1 0 8 1 pinseq=18 T 450 3400 5 8 0 1 0 2 1 pintype=out } P 400 3000 100 3000 1 0 1 { T 300 3050 5 8 1 1 0 6 1 pinnumber=19 T 450 3000 9 8 1 1 0 0 1 pinlabel=S7 T 300 2950 5 8 0 1 0 8 1 pinseq=19 T 450 3000 5 8 0 1 0 2 1 pintype=out } P 400 2600 100 2600 1 0 1 { T 300 2650 5 8 1 1 0 6 1 pinnumber=20 T 450 2600 9 8 1 1 0 0 1 pinlabel=S8 T 300 2550 5 8 0 1 0 8 1 pinseq=20 T 450 2600 5 8 0 1 0 2 1 pintype=out } P 400 2200 100 2200 1 0 1 { T 300 2250 5 8 1 1 0 6 1 pinnumber=21 T 450 2200 9 8 1 1 0 0 1 pinlabel=S9 T 300 2150 5 8 0 1 0 8 1 pinseq=21 T 450 2200 5 8 0 1 0 2 1 pintype=out } P 400 1800 100 1800 1 0 1 { T 300 1850 5 8 1 1 0 6 1 pinnumber=22 T 450 1800 9 8 1 1 0 0 1 pinlabel=S10 T 300 1750 5 8 0 1 0 8 1 pinseq=22 T 450 1800 5 8 0 1 0 2 1 pintype=out } P 400 1400 100 1400 1 0 1 { T 300 1450 5 8 1 1 0 6 1 pinnumber=23 T 450 1400 9 8 1 1 0 0 1 pinlabel=S11 T 300 1350 5 8 0 1 0 8 1 pinseq=23 T 450 1400 5 8 0 1 0 2 1 pintype=out } P 400 1000 100 1000 1 0 1 { T 300 1050 5 8 1 1 0 6 1 pinnumber=24 T 450 1000 9 8 1 1 0 0 1 pinlabel=S12 T 300 950 5 8 0 1 0 8 1 pinseq=24 T 450 1000 5 8 0 1 0 2 1 pintype=out } P 400 600 100 600 1 0 1 { T 300 650 5 8 1 1 0 6 1 pinnumber=25 T 450 600 9 8 1 1 0 0 1 pinlabel=S13 T 300 550 5 8 0 1 0 8 1 pinseq=25 T 450 600 5 8 0 1 0 2 1 pintype=out } P 2000 100 2000 400 1 0 0 { T 1950 300 5 8 1 1 90 6 1 pinnumber=26 T 2000 450 9 8 1 1 90 0 1 pinlabel=S14 T 2050 300 5 8 0 1 90 8 1 pinseq=26 T 2000 450 5 8 0 1 90 2 1 pintype=out } P 2400 100 2400 400 1 0 0 { T 2350 300 5 8 1 1 90 6 1 pinnumber=27 T 2400 450 9 8 1 1 90 0 1 pinlabel=S15 T 2450 300 5 8 0 1 90 8 1 pinseq=27 T 2400 450 5 8 0 1 90 2 1 pintype=out } P 2800 100 2800 400 1 0 0 { T 2750 300 5 8 1 1 90 6 1 pinnumber=28 T 2800 450 9 8 1 1 90 0 1 pinlabel=S16 T 2850 300 5 8 0 1 90 8 1 pinseq=28 T 2800 450 5 8 0 1 90 2 1 pintype=out } P 3200 100 3200 400 1 0 0 { T 3150 300 5 8 1 1 90 6 1 pinnumber=29 T 3200 450 9 8 1 1 90 0 1 pinlabel=S17 T 3250 300 5 8 0 1 90 8 1 pinseq=29 T 3200 450 5 8 0 1 90 2 1 pintype=out } P 3600 100 3600 400 1 0 0 { T 3550 300 5 8 1 1 90 6 1 pinnumber=30 T 3600 450 9 8 1 1 90 0 1 pinlabel=S18 T 3650 300 5 8 0 1 90 8 1 pinseq=30 T 3600 450 5 8 0 1 90 2 1 pintype=out } P 4000 100 4000 400 1 0 0 { T 3950 300 5 8 1 1 90 6 1 pinnumber=31 T 4000 450 9 8 1 1 90 0 1 pinlabel=S19 T 4050 300 5 8 0 1 90 8 1 pinseq=31 T 4000 450 5 8 0 1 90 2 1 pintype=out } P 4400 100 4400 400 1 0 0 { T 4350 300 5 8 1 1 90 6 1 pinnumber=32 T 4400 450 9 8 1 1 90 0 1 pinlabel=S20 T 4450 300 5 8 0 1 90 8 1 pinseq=32 T 4400 450 5 8 0 1 90 2 1 pintype=out } P 4800 100 4800 400 1 0 0 { T 4750 300 5 8 1 1 90 6 1 pinnumber=33 T 4800 450 9 8 1 1 90 0 1 pinlabel=S21 T 4850 300 5 8 0 1 90 8 1 pinseq=33 T 4800 450 5 8 0 1 90 2 1 pintype=out } P 5200 100 5200 400 1 0 0 { T 5150 300 5 8 1 1 90 6 1 pinnumber=34 T 5200 450 9 8 1 1 90 0 1 pinlabel=S22 T 5250 300 5 8 0 1 90 8 1 pinseq=34 T 5200 450 5 8 0 1 90 2 1 pintype=out } P 5600 100 5600 400 1 0 0 { T 5550 300 5 8 1 1 90 6 1 pinnumber=35 T 5600 450 9 8 1 1 90 0 1 pinlabel=S23 T 5650 300 5 8 0 1 90 8 1 pinseq=35 T 5600 450 5 8 0 1 90 2 1 pintype=out } P 6000 100 6000 400 1 0 0 { T 5950 300 5 8 1 1 90 6 1 pinnumber=36 T 6000 450 9 8 1 1 90 0 1 pinlabel=S24 T 6050 300 5 8 0 1 90 8 1 pinseq=36 T 6000 450 5 8 0 1 90 2 1 pintype=out } P 6400 100 6400 400 1 0 0 { T 6350 300 5 8 1 1 90 6 1 pinnumber=37 T 6400 450 9 8 1 1 90 0 1 pinlabel=S25 T 6450 300 5 8 0 1 90 8 1 pinseq=37 T 6400 450 5 8 0 1 90 2 1 pintype=out } P 6800 100 6800 400 1 0 0 { T 6750 300 5 8 1 1 90 6 1 pinnumber=38 T 6800 450 9 8 1 1 90 0 1 pinlabel=S26 T 6850 300 5 8 0 1 90 8 1 pinseq=38 T 6800 450 5 8 0 1 90 2 1 pintype=out } P 7200 100 7200 400 1 0 0 { T 7150 300 5 8 1 1 90 6 1 pinnumber=39 T 7200 450 9 8 1 1 90 0 1 pinlabel=S27 T 7250 300 5 8 0 1 90 8 1 pinseq=39 T 7200 450 5 8 0 1 90 2 1 pintype=out } P 7600 100 7600 400 1 0 0 { T 7550 300 5 8 1 1 90 6 1 pinnumber=40 T 7600 450 9 8 1 1 90 0 1 pinlabel=S28 T 7650 300 5 8 0 1 90 8 1 pinseq=40 T 7600 450 5 8 0 1 90 2 1 pintype=out } P 8000 100 8000 400 1 0 0 { T 7950 300 5 8 1 1 90 6 1 pinnumber=41 T 8000 450 9 8 1 1 90 0 1 pinlabel=S29 T 8050 300 5 8 0 1 90 8 1 pinseq=41 T 8000 450 5 8 0 1 90 2 1 pintype=out } P 8400 100 8400 400 1 0 0 { T 8350 300 5 8 1 1 90 6 1 pinnumber=42 T 8400 450 9 8 1 1 90 0 1 pinlabel=S30 T 8450 300 5 8 0 1 90 8 1 pinseq=42 T 8400 450 5 8 0 1 90 2 1 pintype=out } P 8800 100 8800 400 1 0 0 { T 8750 300 5 8 1 1 90 6 1 pinnumber=43 T 8800 450 9 8 1 1 90 0 1 pinlabel=S31 T 8850 300 5 8 0 1 90 8 1 pinseq=43 T 8800 450 5 8 0 1 90 2 1 pintype=out } P 9200 100 9200 400 1 0 0 { T 9150 300 5 8 1 1 90 6 1 pinnumber=44 T 9200 450 9 8 1 1 90 0 1 pinlabel=S32 T 9250 300 5 8 0 1 90 8 1 pinseq=44 T 9200 450 5 8 0 1 90 2 1 pintype=out } P 9600 100 9600 400 1 0 0 { T 9550 300 5 8 1 1 90 6 1 pinnumber=45 T 9600 450 9 8 1 1 90 0 1 pinlabel=S33 T 9650 300 5 8 0 1 90 8 1 pinseq=45 T 9600 450 5 8 0 1 90 2 1 pintype=out } P 10000 100 10000 400 1 0 0 { T 9950 300 5 8 1 1 90 6 1 pinnumber=46 T 10000 450 9 8 1 1 90 0 1 pinlabel=P4.7/S34 T 10050 300 5 8 0 1 90 8 1 pinseq=46 T 10000 450 5 8 0 1 90 2 1 pintype=io } P 10400 100 10400 400 1 0 0 { T 10350 300 5 8 1 1 90 6 1 pinnumber=47 T 10400 450 9 8 1 1 90 0 1 pinlabel=P4.6/S35 T 10450 300 5 8 0 1 90 8 1 pinseq=47 T 10400 450 5 8 0 1 90 2 1 pintype=io } P 10800 100 10800 400 1 0 0 { T 10750 300 5 8 1 1 90 6 1 pinnumber=48 T 10800 450 9 8 1 1 90 0 1 pinlabel=P4.5/UCLK/S36 T 10850 300 5 8 0 1 90 8 1 pinseq=48 T 10800 450 5 8 0 1 90 2 1 pintype=io } P 11200 100 11200 400 1 0 0 { T 11150 300 5 8 1 1 90 6 1 pinnumber=49 T 11200 450 9 8 1 1 90 0 1 pinlabel=P4.4/SOMI1/S37 T 11250 300 5 8 0 1 90 8 1 pinseq=49 T 11200 450 5 8 0 1 90 2 1 pintype=io } P 11600 100 11600 400 1 0 0 { T 11550 300 5 8 1 1 90 6 1 pinnumber=50 T 11600 450 9 8 1 1 90 0 1 pinlabel=P4.3/SIMO1/S38 T 11650 300 5 8 0 1 90 8 1 pinseq=50 T 11600 450 5 8 0 1 90 2 1 pintype=io } P 13200 600 13500 600 1 0 1 { T 13300 650 5 8 1 1 0 0 1 pinnumber=51 T 13150 600 9 8 1 1 0 6 1 pinlabel=P4.2/STE1/S39 T 13300 550 5 8 0 1 0 2 1 pinseq=51 T 13150 600 5 8 0 1 0 8 1 pintype=io } P 13200 1000 13500 1000 1 0 1 { T 13300 1050 5 8 1 1 0 0 1 pinnumber=52 T 13150 1000 9 8 1 1 0 6 1 pinlabel=COM0 T 13300 950 5 8 0 1 0 2 1 pinseq=52 T 13150 1000 5 8 0 1 0 8 1 pintype=out } P 13200 1400 13500 1400 1 0 1 { T 13300 1450 5 8 1 1 0 0 1 pinnumber=53 T 13150 1400 9 8 1 1 0 6 1 pinlabel=P5.2/COM1 T 13300 1350 5 8 0 1 0 2 1 pinseq=53 T 13150 1400 5 8 0 1 0 8 1 pintype=io } P 13200 1800 13500 1800 1 0 1 { T 13300 1850 5 8 1 1 0 0 1 pinnumber=54 T 13150 1800 9 8 1 1 0 6 1 pinlabel=P5.3/COM2 T 13300 1750 5 8 0 1 0 2 1 pinseq=54 T 13150 1800 5 8 0 1 0 8 1 pintype=io } P 13200 2200 13500 2200 1 0 1 { T 13300 2250 5 8 1 1 0 0 1 pinnumber=55 T 13150 2200 9 8 1 1 0 6 1 pinlabel=P5.4/COM3 T 13300 2150 5 8 0 1 0 2 1 pinseq=55 T 13150 2200 5 8 0 1 0 8 1 pintype=io } P 13200 2600 13500 2600 1 0 1 { T 13300 2650 5 8 1 1 0 0 1 pinnumber=56 T 13150 2600 9 8 1 1 0 6 1 pinlabel=R03 T 13300 2550 5 8 0 1 0 2 1 pinseq=56 T 13150 2600 5 8 0 1 0 8 1 pintype=in } P 13200 3000 13500 3000 1 0 1 { T 13300 3050 5 8 1 1 0 0 1 pinnumber=57 T 13150 3000 9 8 1 1 0 6 1 pinlabel=P5.5/R13 T 13300 2950 5 8 0 1 0 2 1 pinseq=57 T 13150 3000 5 8 0 1 0 8 1 pintype=io } P 13200 3400 13500 3400 1 0 1 { T 13300 3450 5 8 1 1 0 0 1 pinnumber=58 T 13150 3400 9 8 1 1 0 6 1 pinlabel=P5.6/R23 T 13300 3350 5 8 0 1 0 2 1 pinseq=58 T 13150 3400 5 8 0 1 0 8 1 pintype=io } P 13200 3800 13500 3800 1 0 1 { T 13300 3850 5 8 1 1 0 0 1 pinnumber=59 T 13150 3800 9 8 1 1 0 6 1 pinlabel=P5.7/R33 T 13300 3750 5 8 0 1 0 2 1 pinseq=59 T 13150 3800 5 8 0 1 0 8 1 pintype=io } P 13200 4200 13500 4200 1 0 1 { T 13300 4250 5 8 1 1 0 0 1 pinnumber=60 T 13150 4200 9 8 1 1 0 6 1 pinlabel=DVcc2 T 13300 4150 5 8 0 1 0 2 1 pinseq=60 T 13150 4200 5 8 0 1 0 8 1 pintype=pwr } P 13200 4600 13500 4600 1 0 1 { T 13300 4650 5 8 1 1 0 0 1 pinnumber=61 T 13150 4600 9 8 1 1 0 6 1 pinlabel=DVss2 T 13300 4550 5 8 0 1 0 2 1 pinseq=61 T 13150 4600 5 8 0 1 0 8 1 pintype=pwr } P 13200 5000 13500 5000 1 0 1 { T 13300 5050 5 8 1 1 0 0 1 pinnumber=62 T 13150 5000 9 8 1 1 0 6 1 pinlabel=P4.1/URXD1 T 13300 4950 5 8 0 1 0 2 1 pinseq=62 T 13150 5000 5 8 0 1 0 8 1 pintype=io } P 13200 5400 13500 5400 1 0 1 { T 13300 5450 5 8 1 1 0 0 1 pinnumber=63 T 13150 5400 9 8 1 1 0 6 1 pinlabel=P4.0/UTXD1 T 13300 5350 5 8 0 1 0 2 1 pinseq=63 T 13150 5400 5 8 0 1 0 8 1 pintype=io } P 13200 5800 13500 5800 1 0 1 { T 13300 5850 5 8 1 1 0 0 1 pinnumber=64 T 13150 5800 9 8 1 1 0 6 1 pinlabel=P3.7/TB6 T 13300 5750 5 8 0 1 0 2 1 pinseq=64 T 13150 5800 5 8 0 1 0 8 1 pintype=io } P 13200 6200 13500 6200 1 0 1 { T 13300 6250 5 8 1 1 0 0 1 pinnumber=65 T 13150 6200 9 8 1 1 0 6 1 pinlabel=P3.7/TB5 T 13300 6150 5 8 0 1 0 2 1 pinseq=65 T 13150 6200 5 8 0 1 0 8 1 pintype=io } P 13200 6600 13500 6600 1 0 1 { T 13300 6650 5 8 1 1 0 0 1 pinnumber=66 T 13150 6600 9 8 1 1 0 6 1 pinlabel=P3.7/TB4 T 13300 6550 5 8 0 1 0 2 1 pinseq=66 T 13150 6600 5 8 0 1 0 8 1 pintype=io } P 13200 7000 13500 7000 1 0 1 { T 13300 7050 5 8 1 1 0 0 1 pinnumber=67 T 13150 7000 9 8 1 1 0 6 1 pinlabel=P3.7/TB3 T 13300 6950 5 8 0 1 0 2 1 pinseq=67 T 13150 7000 5 8 0 1 0 8 1 pintype=io } P 13200 7400 13500 7400 1 0 1 { T 13300 7450 5 8 1 1 0 0 1 pinnumber=68 T 13150 7400 9 8 1 1 0 6 1 pinlabel=P3.3/UCLK0 T 13300 7350 5 8 0 1 0 2 1 pinseq=68 T 13150 7400 5 8 0 1 0 8 1 pintype=io } P 13200 7800 13500 7800 1 0 1 { T 13300 7850 5 8 1 1 0 0 1 pinnumber=69 T 13150 7800 9 8 1 1 0 6 1 pinlabel=P3.2/SOMI0 T 13300 7750 5 8 0 1 0 2 1 pinseq=69 T 13150 7800 5 8 0 1 0 8 1 pintype=io } P 13200 8200 13500 8200 1 0 1 { T 13300 8250 5 8 1 1 0 0 1 pinnumber=70 T 13150 8200 9 8 1 1 0 6 1 pinlabel=P3.1/SIMO0 T 13300 8150 5 8 0 1 0 2 1 pinseq=70 T 13150 8200 5 8 0 1 0 8 1 pintype=io } P 13200 8600 13500 8600 1 0 1 { T 13300 8650 5 8 1 1 0 0 1 pinnumber=71 T 13150 8600 9 8 1 1 0 6 1 pinlabel=P3.0/STE0 T 13300 8550 5 8 0 1 0 2 1 pinseq=71 T 13150 8600 5 8 0 1 0 8 1 pintype=io } P 13200 9000 13500 9000 1 0 1 { T 13300 9050 5 8 1 1 0 0 1 pinnumber=72 T 13150 9000 9 8 1 1 0 6 1 pinlabel=P2.7/ADC12CLK T 13300 8950 5 8 0 1 0 2 1 pinseq=72 T 13150 9000 5 8 0 1 0 8 1 pintype=io } P 13200 9400 13500 9400 1 0 1 { T 13300 9450 5 8 1 1 0 0 1 pinnumber=73 T 13150 9400 9 8 1 1 0 6 1 pinlabel=P2.6/CAOUT T 13300 9350 5 8 0 1 0 2 1 pinseq=73 T 13150 9400 5 8 0 1 0 8 1 pintype=io } P 13200 9800 13500 9800 1 0 1 { T 13300 9850 5 8 1 1 0 0 1 pinnumber=74 T 13150 9800 9 8 1 1 0 6 1 pinlabel=P2.5/URXD0 T 13300 9750 5 8 0 1 0 2 1 pinseq=74 T 13150 9800 5 8 0 1 0 8 1 pintype=io } P 13200 10200 13500 10200 1 0 1 { T 13300 10250 5 8 1 1 0 0 1 pinnumber=75 T 13150 10200 9 8 1 1 0 6 1 pinlabel=P2.4/UTXD0 T 13300 10150 5 8 0 1 0 2 1 pinseq=75 T 13150 10200 5 8 0 1 0 8 1 pintype=io } P 11600 10400 11600 10700 1 0 1 { T 11550 10500 5 8 1 1 90 0 1 pinnumber=76 T 11600 10350 9 8 1 1 90 6 1 pinlabel=P2.3/TB2 T 11650 10500 5 8 0 1 90 2 1 pinseq=76 T 11600 10350 5 8 0 1 90 8 1 pintype=io } P 11200 10400 11200 10700 1 0 1 { T 11150 10500 5 8 1 1 90 0 1 pinnumber=77 T 11200 10350 9 8 1 1 90 6 1 pinlabel=P2.2/TB1 T 11250 10500 5 8 0 1 90 2 1 pinseq=77 T 11200 10350 5 8 0 1 90 8 1 pintype=io } P 10800 10400 10800 10700 1 0 1 { T 10750 10500 5 8 1 1 90 0 1 pinnumber=78 T 10800 10350 9 8 1 1 90 6 1 pinlabel=P2.1/TB0 T 10850 10500 5 8 0 1 90 2 1 pinseq=78 T 10800 10350 5 8 0 1 90 8 1 pintype=io } P 10400 10400 10400 10700 1 0 1 { T 10350 10500 5 8 1 1 90 0 1 pinnumber=79 T 10400 10350 9 8 1 1 90 6 1 pinlabel=P2.0/TA2 T 10450 10500 5 8 0 1 90 2 1 pinseq=79 T 10400 10350 5 8 0 1 90 8 1 pintype=io } P 10000 10400 10000 10700 1 0 1 { T 9950 10500 5 8 1 1 90 0 1 pinnumber=80 T 10000 10350 9 8 1 1 90 6 1 pinlabel=P1.7/CA1 T 10050 10500 5 8 0 1 90 2 1 pinseq=80 T 10000 10350 5 8 0 1 90 8 1 pintype=io } P 9600 10400 9600 10700 1 0 1 { T 9550 10500 5 8 1 1 90 0 1 pinnumber=81 T 9600 10350 9 8 1 1 90 6 1 pinlabel=P1.6/CA0 T 9650 10500 5 8 0 1 90 2 1 pinseq=81 T 9600 10350 5 8 0 1 90 8 1 pintype=io } P 9200 10400 9200 10700 1 0 1 { T 9150 10500 5 8 1 1 90 0 1 pinnumber=82 T 9200 10350 9 8 1 1 90 6 1 pinlabel=P1.5/TACLK/ACLK T 9250 10500 5 8 0 1 90 2 1 pinseq=82 T 9200 10350 5 8 0 1 90 8 1 pintype=io } P 8800 10400 8800 10700 1 0 1 { T 8750 10500 5 8 1 1 90 0 1 pinnumber=83 T 8800 10350 9 8 1 1 90 6 1 pinlabel=P1.4/TBCLK/SMCLK T 8850 10500 5 8 0 1 90 2 1 pinseq=83 T 8800 10350 5 8 0 1 90 8 1 pintype=io } P 8400 10400 8400 10700 1 0 1 { T 8350 10500 5 8 1 1 90 0 1 pinnumber=84 T 8400 10350 9 8 1 1 90 6 1 pinlabel=P1.3/TBOUTH/SVSOUT T 8450 10500 5 8 0 1 90 2 1 pinseq=84 T 8400 10350 5 8 0 1 90 8 1 pintype=io } P 8000 10400 8000 10700 1 0 1 { T 7950 10500 5 8 1 1 90 0 1 pinnumber=85 T 8000 10350 9 8 1 1 90 6 1 pinlabel=P1.2/TA1 T 8050 10500 5 8 0 1 90 2 1 pinseq=85 T 8000 10350 5 8 0 1 90 8 1 pintype=io } P 7600 10400 7600 10700 1 0 1 { T 7550 10500 5 8 1 1 90 0 1 pinnumber=86 T 7600 10350 9 8 1 1 90 6 1 pinlabel=P1.1/TA0/MCLK T 7650 10500 5 8 0 1 90 2 1 pinseq=86 T 7600 10350 5 8 0 1 90 8 1 pintype=io } P 7200 10400 7200 10700 1 0 1 { T 7150 10500 5 8 1 1 90 0 1 pinnumber=87 T 7200 10350 9 8 1 1 90 6 1 pinlabel=P1.0/TA0 T 7250 10500 5 8 0 1 90 2 1 pinseq=87 T 7200 10350 5 8 0 1 90 8 1 pintype=io } P 6800 10400 6800 10700 1 0 1 { T 6750 10500 5 8 1 1 90 0 1 pinnumber=88 T 6800 10350 9 8 1 1 90 6 1 pinlabel=XT2OUT T 6850 10500 5 8 0 1 90 2 1 pinseq=88 T 6800 10350 5 8 0 1 90 8 1 pintype=out } P 6400 10400 6400 10700 1 0 1 { T 6350 10500 5 8 1 1 90 0 1 pinnumber=89 T 6400 10350 9 8 1 1 90 6 1 pinlabel=XT2IN T 6450 10500 5 8 0 1 90 2 1 pinseq=89 T 6400 10350 5 8 0 1 90 8 1 pintype=in } P 6000 10400 6000 10700 1 0 1 { T 5950 10500 5 8 1 1 90 0 1 pinnumber=90 T 6000 10350 9 8 1 1 90 6 1 pinlabel=TDO/TDI T 6050 10500 5 8 0 1 90 2 1 pinseq=90 T 6000 10350 5 8 0 1 90 8 1 pintype=io } P 5600 10400 5600 10700 1 0 1 { T 5550 10500 5 8 1 1 90 0 1 pinnumber=91 T 5600 10350 9 8 1 1 90 6 1 pinlabel=TDI T 5650 10500 5 8 0 1 90 2 1 pinseq=91 T 5600 10350 5 8 0 1 90 8 1 pintype=in } P 5200 10400 5200 10700 1 0 1 { T 5150 10500 5 8 1 1 90 0 1 pinnumber=92 T 5200 10350 9 8 1 1 90 6 1 pinlabel=TMS T 5250 10500 5 8 0 1 90 2 1 pinseq=92 T 5200 10350 5 8 0 1 90 8 1 pintype=in } P 4800 10400 4800 10700 1 0 1 { T 4750 10500 5 8 1 1 90 0 1 pinnumber=93 T 4800 10350 9 8 1 1 90 6 1 pinlabel=TCK T 4850 10500 5 8 0 1 90 2 1 pinseq=93 T 4800 10350 5 8 0 1 90 8 1 pintype=in } P 4400 10500 4400 10700 1 0 1 { T 4350 10500 5 8 1 1 90 0 1 pinnumber=94 T 4400 10350 9 8 1 1 90 6 1 pinlabel=\_RST\_/NMI T 4450 10500 5 8 0 1 90 2 1 pinseq=94 T 4400 10350 5 8 0 1 90 8 1 pintype=in } P 4000 10400 4000 10700 1 0 1 { T 3950 10500 5 8 1 1 90 0 1 pinnumber=95 T 4000 10350 9 8 1 1 90 6 1 pinlabel=P6.0/A0 T 4050 10500 5 8 0 1 90 2 1 pinseq=95 T 4000 10350 5 8 0 1 90 8 1 pintype=io } P 3600 10400 3600 10700 1 0 1 { T 3550 10500 5 8 1 1 90 0 1 pinnumber=96 T 3600 10350 9 8 1 1 90 6 1 pinlabel=P6.1/A1 T 3650 10500 5 8 0 1 90 2 1 pinseq=96 T 3600 10350 5 8 0 1 90 8 1 pintype=io } P 3200 10400 3200 10700 1 0 1 { T 3150 10500 5 8 1 1 90 0 1 pinnumber=97 T 3200 10350 9 8 1 1 90 6 1 pinlabel=P6.2/A2 T 3250 10500 5 8 0 1 90 2 1 pinseq=97 T 3200 10350 5 8 0 1 90 8 1 pintype=io } P 2800 10400 2800 10700 1 0 1 { T 2750 10500 5 8 1 1 90 0 1 pinnumber=98 T 2800 10350 9 8 1 1 90 6 1 pinlabel=AVss T 2850 10500 5 8 0 1 90 2 1 pinseq=98 T 2800 10350 5 8 0 1 90 8 1 pintype=pwr } P 2400 10400 2400 10700 1 0 1 { T 2350 10500 5 8 1 1 90 0 1 pinnumber=99 T 2400 10350 9 8 1 1 90 6 1 pinlabel=DVss T 2450 10500 5 8 0 1 90 2 1 pinseq=99 T 2400 10350 5 8 0 1 90 8 1 pintype=pwr } P 2000 10400 2000 10700 1 0 1 { T 1950 10500 5 8 1 1 90 0 1 pinnumber=100 T 2000 10350 9 8 1 1 90 6 1 pinlabel=AVcc T 2050 10500 5 8 0 1 90 2 1 pinseq=100 T 2000 10350 5 8 0 1 90 8 1 pintype=pwr } T 2700 7250 5 10 0 0 0 0 1 footprint=none T 2700 7450 5 10 0 0 0 0 1 description=16-bit mixed signal microcontroller T 2700 7050 5 10 0 0 0 0 1 numslots=0 T 400 10450 3 10 1 0 0 0 1 MSP430x44x V 4400 10450 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2700 6850 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/msp430f447.pdf geda-gaf-1.8.2/symbols/micro/pic16F876-1.sym0000664000175000017500000001252012204104272015060 00000000000000v 20081221 2 B 300 0 2500 6000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 5600 0 5600 1 0 1 { T 200 5650 5 8 1 1 0 6 1 pinnumber=1 T 200 5550 5 8 0 1 0 8 1 pinseq=1 T 350 5600 9 8 1 1 0 0 1 pinlabel=\_MCLR\_ T 350 5600 5 8 0 1 0 2 1 pintype=in } P 300 5200 0 5200 1 0 1 { T 200 5250 5 8 1 1 0 6 1 pinnumber=2 T 200 5150 5 8 0 1 0 8 1 pinseq=2 T 350 5200 9 8 1 1 0 0 1 pinlabel=RA0 T 350 5200 5 8 0 1 0 2 1 pintype=io } P 300 4800 0 4800 1 0 1 { T 200 4850 5 8 1 1 0 6 1 pinnumber=3 T 200 4750 5 8 0 1 0 8 1 pinseq=3 T 350 4800 9 8 1 1 0 0 1 pinlabel=RA1 T 350 4800 5 8 0 1 0 2 1 pintype=io } P 300 4400 0 4400 1 0 1 { T 200 4450 5 8 1 1 0 6 1 pinnumber=4 T 200 4350 5 8 0 1 0 8 1 pinseq=4 T 350 4400 9 8 1 1 0 0 1 pinlabel=RA2 T 350 4400 5 8 0 1 0 2 1 pintype=io } P 300 4000 0 4000 1 0 1 { T 200 4050 5 8 1 1 0 6 1 pinnumber=5 T 200 3950 5 8 0 1 0 8 1 pinseq=5 T 350 4000 9 8 1 1 0 0 1 pinlabel=RA3 T 350 4000 5 8 0 1 0 2 1 pintype=io } P 300 3600 0 3600 1 0 1 { T 200 3650 5 8 1 1 0 6 1 pinnumber=6 T 200 3550 5 8 0 1 0 8 1 pinseq=6 T 350 3600 9 8 1 1 0 0 1 pinlabel=RA4 T 350 3600 5 8 0 1 0 2 1 pintype=io } P 300 3200 0 3200 1 0 1 { T 200 3250 5 8 1 1 0 6 1 pinnumber=7 T 200 3150 5 8 0 1 0 8 1 pinseq=7 T 350 3200 9 8 1 1 0 0 1 pinlabel=RA5 T 350 3200 5 8 0 1 0 2 1 pintype=io } P 300 2800 0 2800 1 0 1 { T 200 2850 5 8 1 1 0 6 1 pinnumber=8 T 200 2750 5 8 0 1 0 8 1 pinseq=8 T 350 2800 9 8 1 1 0 0 1 pinlabel=Vss T 350 2800 5 8 0 1 0 2 1 pintype=pwr } P 300 2400 0 2400 1 0 1 { T 200 2450 5 8 1 1 0 6 1 pinnumber=9 T 200 2350 5 8 0 1 0 8 1 pinseq=9 T 350 2400 9 8 1 1 0 0 1 pinlabel=CLKIN T 350 2400 5 8 0 1 0 2 1 pintype=in } P 300 2000 0 2000 1 0 1 { T 200 2050 5 8 1 1 0 6 1 pinnumber=10 T 200 1950 5 8 0 1 0 8 1 pinseq=10 T 350 2000 9 8 1 1 0 0 1 pinlabel=CLKOUT T 350 2000 5 8 0 1 0 2 1 pintype=out } P 300 1600 0 1600 1 0 1 { T 200 1650 5 8 1 1 0 6 1 pinnumber=11 T 200 1550 5 8 0 1 0 8 1 pinseq=11 T 350 1600 9 8 1 1 0 0 1 pinlabel=RC0 T 350 1600 5 8 0 1 0 2 1 pintype=io } P 300 1200 0 1200 1 0 1 { T 200 1250 5 8 1 1 0 6 1 pinnumber=12 T 200 1150 5 8 0 1 0 8 1 pinseq=12 T 350 1200 9 8 1 1 0 0 1 pinlabel=RC1 T 350 1200 5 8 0 1 0 2 1 pintype=io } P 300 800 0 800 1 0 1 { T 200 850 5 8 1 1 0 6 1 pinnumber=13 T 200 750 5 8 0 1 0 8 1 pinseq=13 T 350 800 9 8 1 1 0 0 1 pinlabel=RC2 T 350 800 5 8 0 1 0 2 1 pintype=io } P 300 400 0 400 1 0 1 { T 200 450 5 8 1 1 0 6 1 pinnumber=14 T 200 350 5 8 0 1 0 8 1 pinseq=14 T 350 400 9 8 1 1 0 0 1 pinlabel=RC3 T 350 400 5 8 0 1 0 2 1 pintype=io } P 3100 400 2800 400 1 0 0 { T 2900 450 5 8 1 1 0 0 1 pinnumber=15 T 2900 350 5 8 0 1 0 2 1 pinseq=15 T 2750 400 9 8 1 1 0 6 1 pinlabel=RC4 T 2750 400 5 8 0 1 0 8 1 pintype=io } P 3100 800 2800 800 1 0 0 { T 2900 850 5 8 1 1 0 0 1 pinnumber=16 T 2900 750 5 8 0 1 0 2 1 pinseq=16 T 2750 800 9 8 1 1 0 6 1 pinlabel=RC5 T 2750 800 5 8 0 1 0 8 1 pintype=io } P 3100 1200 2800 1200 1 0 0 { T 2900 1250 5 8 1 1 0 0 1 pinnumber=17 T 2900 1150 5 8 0 1 0 2 1 pinseq=17 T 2750 1200 9 8 1 1 0 6 1 pinlabel=RC6 T 2750 1200 5 8 0 1 0 8 1 pintype=io } P 3100 1600 2800 1600 1 0 0 { T 2900 1650 5 8 1 1 0 0 1 pinnumber=18 T 2900 1550 5 8 0 1 0 2 1 pinseq=18 T 2750 1600 9 8 1 1 0 6 1 pinlabel=RC7 T 2750 1600 5 8 0 1 0 8 1 pintype=io } P 3100 2000 2800 2000 1 0 0 { T 2900 2050 5 8 1 1 0 0 1 pinnumber=19 T 2900 1950 5 8 0 1 0 2 1 pinseq=19 T 2750 2000 9 8 1 1 0 6 1 pinlabel=Vss T 2750 2000 5 8 0 1 0 8 1 pintype=pwr } P 3100 2400 2800 2400 1 0 0 { T 2900 2450 5 8 1 1 0 0 1 pinnumber=20 T 2900 2350 5 8 0 1 0 2 1 pinseq=20 T 2750 2400 9 8 1 1 0 6 1 pinlabel=Vdd T 2750 2400 5 8 0 1 0 8 1 pintype=pwr } P 3100 2800 2800 2800 1 0 0 { T 2900 2850 5 8 1 1 0 0 1 pinnumber=21 T 2900 2750 5 8 0 1 0 2 1 pinseq=21 T 2750 2800 9 8 1 1 0 6 1 pinlabel=RB0 T 2750 2800 5 8 0 1 0 8 1 pintype=io } P 3100 3200 2800 3200 1 0 0 { T 2900 3250 5 8 1 1 0 0 1 pinnumber=22 T 2900 3150 5 8 0 1 0 2 1 pinseq=22 T 2750 3200 9 8 1 1 0 6 1 pinlabel=RB1 T 2750 3200 5 8 0 1 0 8 1 pintype=io } P 3100 3600 2800 3600 1 0 0 { T 2900 3650 5 8 1 1 0 0 1 pinnumber=23 T 2900 3550 5 8 0 1 0 2 1 pinseq=23 T 2750 3600 9 8 1 1 0 6 1 pinlabel=RB2 T 2750 3600 5 8 0 1 0 8 1 pintype=io } P 3100 4000 2800 4000 1 0 0 { T 2900 4050 5 8 1 1 0 0 1 pinnumber=24 T 2900 3950 5 8 0 1 0 2 1 pinseq=24 T 2750 4000 9 8 1 1 0 6 1 pinlabel=RB3 T 2750 4000 5 8 0 1 0 8 1 pintype=io } P 3100 4400 2800 4400 1 0 0 { T 2900 4450 5 8 1 1 0 0 1 pinnumber=25 T 2900 4350 5 8 0 1 0 2 1 pinseq=25 T 2750 4400 9 8 1 1 0 6 1 pinlabel=RB4 T 2750 4400 5 8 0 1 0 8 1 pintype=io } P 3100 4800 2800 4800 1 0 0 { T 2900 4850 5 8 1 1 0 0 1 pinnumber=26 T 2900 4750 5 8 0 1 0 2 1 pinseq=26 T 2750 4800 9 8 1 1 0 6 1 pinlabel=RB5 T 2750 4800 5 8 0 1 0 8 1 pintype=io } P 3100 5200 2800 5200 1 0 0 { T 2900 5250 5 8 1 1 0 0 1 pinnumber=27 T 2900 5150 5 8 0 1 0 2 1 pinseq=27 T 2750 5200 9 8 1 1 0 6 1 pinlabel=RB6 T 2750 5200 5 8 0 1 0 8 1 pintype=io } P 3100 5600 2800 5600 1 0 0 { T 2900 5650 5 8 1 1 0 0 1 pinnumber=28 T 2900 5550 5 8 0 1 0 2 1 pinseq=28 T 2750 5600 9 8 1 1 0 6 1 pinlabel=RB7 T 2750 5600 5 8 0 1 0 8 1 pintype=io } T 2600 6100 8 10 1 1 0 0 1 refdes=U? T 300 6250 5 10 0 0 0 0 1 device=pic16F876 T 300 6650 5 10 0 0 0 0 1 footprint=DIP28 T 300 6850 5 10 0 0 0 0 1 description=8-bit CMOS FLASH microcontroller T 300 6450 5 10 0 0 0 0 1 numslots=0 T 300 7050 5 10 0 0 0 0 1 documentation=http://ww1.microchip.com/downloads/en/DeviceDoc/39582b.pdf T 300 6050 9 10 1 0 0 0 1 PIC16F876 V 250 5600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/micro/pic16C74A-1.sym0000664000175000017500000001574512204104272015100 00000000000000v 20070626 1 P 0 7000 300 7000 1 0 0 { T 200 7050 5 8 1 1 0 6 1 pinnumber=1 T 200 6950 5 8 0 1 0 8 1 pinseq=1 T 350 7000 9 8 1 1 0 0 1 pinlabel=\_MCLR\_/VPP T 350 7000 5 8 0 1 0 2 1 pintype=in } P 0 6600 300 6600 1 0 0 { T 200 6650 5 8 1 1 0 6 1 pinnumber=2 T 200 6550 5 8 0 1 0 8 1 pinseq=2 T 350 6600 9 8 1 1 0 0 1 pinlabel=RA0/AN0 T 350 6600 5 8 0 1 0 2 1 pintype=io } P 0 6200 300 6200 1 0 0 { T 200 6250 5 8 1 1 0 6 1 pinnumber=3 T 200 6150 5 8 0 1 0 8 1 pinseq=3 T 350 6200 9 8 1 1 0 0 1 pinlabel=RA1/AN1 T 350 6200 5 8 0 1 0 2 1 pintype=io } P 0 5800 300 5800 1 0 0 { T 200 5850 5 8 1 1 0 6 1 pinnumber=4 T 200 5750 5 8 0 1 0 8 1 pinseq=4 T 350 5800 9 8 1 1 0 0 1 pinlabel=RA2/AN2 T 350 5800 5 8 0 1 0 2 1 pintype=io } P 0 5400 300 5400 1 0 0 { T 200 5450 5 8 1 1 0 6 1 pinnumber=5 T 200 5350 5 8 0 1 0 8 1 pinseq=5 T 350 5400 9 8 1 1 0 0 1 pinlabel=RA3/AN3/VREF T 350 5400 5 8 0 1 0 2 1 pintype=io } P 0 5000 300 5000 1 0 0 { T 200 5050 5 8 1 1 0 6 1 pinnumber=6 T 200 4950 5 8 0 1 0 8 1 pinseq=6 T 350 5000 9 8 1 1 0 0 1 pinlabel=RA4/TOCKI T 350 5000 5 8 0 1 0 2 1 pintype=io } P 0 4600 300 4600 1 0 0 { T 200 4650 5 8 1 1 0 6 1 pinnumber=7 T 200 4550 5 8 0 1 0 8 1 pinseq=7 T 350 4600 9 8 1 1 0 0 1 pinlabel=RA5/\_SS\_/AN4 T 350 4600 5 8 0 1 0 2 1 pintype=io } P 0 4200 300 4200 1 0 0 { T 200 4250 5 8 1 1 0 6 1 pinnumber=8 T 200 4150 5 8 0 1 0 8 1 pinseq=8 T 350 4200 9 8 1 1 0 0 1 pinlabel=RE0/\_RD\_/AN5 T 350 4200 5 8 0 1 0 2 1 pintype=io } P 0 3800 300 3800 1 0 0 { T 200 3850 5 8 1 1 0 6 1 pinnumber=9 T 200 3750 5 8 0 1 0 8 1 pinseq=9 T 350 3800 9 8 1 1 0 0 1 pinlabel=RE1/\_WR\_/AN6 T 350 3800 5 8 0 1 0 2 1 pintype=io } P 0 3400 300 3400 1 0 0 { T 200 3450 5 8 1 1 0 6 1 pinnumber=10 T 200 3350 5 8 0 1 0 8 1 pinseq=10 T 350 3400 9 8 1 1 0 0 1 pinlabel=RE2/\_CS\_/AN7 T 350 3400 5 8 0 1 0 2 1 pintype=io } P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=13 T 200 2950 5 8 0 1 0 8 1 pinseq=13 T 350 3000 9 8 1 1 0 0 1 pinlabel=OSC1/CLKIN T 350 3000 5 8 0 1 0 2 1 pintype=in } P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=14 T 200 2550 5 8 0 1 0 8 1 pinseq=14 T 350 2600 9 8 1 1 0 0 1 pinlabel=OSC2/CLKOUT T 350 2600 5 8 0 1 0 2 1 pintype=out } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=15 T 200 2150 5 8 0 1 0 8 1 pinseq=15 T 350 2200 9 8 1 1 0 0 1 pinlabel=RC0/T1OSO/T1CKI T 350 2200 5 8 0 1 0 2 1 pintype=io } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=16 T 200 1750 5 8 0 1 0 8 1 pinseq=16 T 350 1800 9 8 1 1 0 0 1 pinlabel=RC1/T1OSI/CCP2 T 350 1800 5 8 0 1 0 2 1 pintype=io } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=17 T 200 1350 5 8 0 1 0 8 1 pinseq=17 T 350 1400 9 8 1 1 0 0 1 pinlabel=RC2/CCP1 T 350 1400 5 8 0 1 0 2 1 pintype=io } P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=18 T 200 950 5 8 0 1 0 8 1 pinseq=18 T 350 1000 9 8 1 1 0 0 1 pinlabel=RC3/SCK/SCL T 350 1000 5 8 0 1 0 2 1 pintype=io } P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=19 T 200 550 5 8 0 1 0 8 1 pinseq=19 T 350 600 9 8 1 1 0 0 1 pinlabel=RD0/PSP0 T 350 600 5 8 0 1 0 2 1 pintype=io } P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=20 T 200 150 5 8 0 1 0 8 1 pinseq=20 T 350 200 9 8 1 1 0 0 1 pinlabel=RD1/PSP1 T 350 200 5 8 0 1 0 2 1 pintype=io } P 4200 7000 4500 7000 1 0 1 { T 4300 7050 5 8 1 1 0 0 1 pinnumber=40 T 4300 6950 5 8 0 1 0 2 1 pinseq=40 T 4150 7000 9 8 1 1 0 6 1 pinlabel=RB7 T 4150 7000 5 8 0 1 0 8 1 pintype=io } P 4200 6600 4500 6600 1 0 1 { T 4300 6650 5 8 1 1 0 0 1 pinnumber=39 T 4300 6550 5 8 0 1 0 2 1 pinseq=39 T 4150 6600 9 8 1 1 0 6 1 pinlabel=RB6 T 4150 6600 5 8 0 1 0 8 1 pintype=io } P 4200 6200 4500 6200 1 0 1 { T 4300 6250 5 8 1 1 0 0 1 pinnumber=38 T 4300 6150 5 8 0 1 0 2 1 pinseq=38 T 4150 6200 9 8 1 1 0 6 1 pinlabel=RB5 T 4150 6200 5 8 0 1 0 8 1 pintype=io } P 4200 5800 4500 5800 1 0 1 { T 4300 5850 5 8 1 1 0 0 1 pinnumber=37 T 4300 5750 5 8 0 1 0 2 1 pinseq=37 T 4150 5800 9 8 1 1 0 6 1 pinlabel=RB4 T 4150 5800 5 8 0 1 0 8 1 pintype=io } P 4200 5400 4500 5400 1 0 1 { T 4300 5450 5 8 1 1 0 0 1 pinnumber=36 T 4300 5350 5 8 0 1 0 2 1 pinseq=36 T 4150 5400 9 8 1 1 0 6 1 pinlabel=RB3 T 4150 5400 5 8 0 1 0 8 1 pintype=io } P 4200 5000 4500 5000 1 0 1 { T 4300 5050 5 8 1 1 0 0 1 pinnumber=35 T 4300 4950 5 8 0 1 0 2 1 pinseq=35 T 4150 5000 9 8 1 1 0 6 1 pinlabel=RB2 T 4150 5000 5 8 0 1 0 8 1 pintype=io } P 4200 4600 4500 4600 1 0 1 { T 4300 4650 5 8 1 1 0 0 1 pinnumber=34 T 4300 4550 5 8 0 1 0 2 1 pinseq=34 T 4150 4600 9 8 1 1 0 6 1 pinlabel=RB1 T 4150 4600 5 8 0 1 0 8 1 pintype=io } P 4200 4200 4500 4200 1 0 1 { T 4300 4250 5 8 1 1 0 0 1 pinnumber=33 T 4300 4150 5 8 0 1 0 2 1 pinseq=33 T 4150 4200 9 8 1 1 0 6 1 pinlabel=RB0/INT T 4150 4200 5 8 0 1 0 8 1 pintype=io } P 4200 3800 4500 3800 1 0 1 { T 4300 3850 5 8 1 1 0 0 1 pinnumber=30 T 4300 3750 5 8 0 1 0 2 1 pinseq=30 T 4150 3800 9 8 1 1 0 6 1 pinlabel=RD7/PSP7 T 4150 3800 5 8 0 1 0 8 1 pintype=io } P 4200 3400 4500 3400 1 0 1 { T 4300 3450 5 8 1 1 0 0 1 pinnumber=29 T 4300 3350 5 8 0 1 0 2 1 pinseq=29 T 4150 3400 9 8 1 1 0 6 1 pinlabel=RD6/PSP6 T 4150 3400 5 8 0 1 0 8 1 pintype=io } P 4200 3000 4500 3000 1 0 1 { T 4300 3050 5 8 1 1 0 0 1 pinnumber=28 T 4300 2950 5 8 0 1 0 2 1 pinseq=28 T 4150 3000 9 8 1 1 0 6 1 pinlabel=RD5/PSP5 T 4150 3000 5 8 0 1 0 8 1 pintype=io } P 4200 2600 4500 2600 1 0 1 { T 4300 2650 5 8 1 1 0 0 1 pinnumber=27 T 4300 2550 5 8 0 1 0 2 1 pinseq=27 T 4150 2600 9 8 1 1 0 6 1 pinlabel=RD4/PSP4 T 4150 2600 5 8 0 1 0 8 1 pintype=io } P 4200 2200 4500 2200 1 0 1 { T 4300 2250 5 8 1 1 0 0 1 pinnumber=26 T 4300 2150 5 8 0 1 0 2 1 pinseq=26 T 4150 2200 9 8 1 1 0 6 1 pinlabel=RC7/RX/DT T 4150 2200 5 8 0 1 0 8 1 pintype=io } P 4200 1800 4500 1800 1 0 1 { T 4300 1850 5 8 1 1 0 0 1 pinnumber=25 T 4300 1750 5 8 0 1 0 2 1 pinseq=25 T 4150 1800 9 8 1 1 0 6 1 pinlabel=RC6/TX/CK T 4150 1800 5 8 0 1 0 8 1 pintype=io } P 4200 200 4500 200 1 0 1 { T 4300 250 5 8 1 1 0 0 1 pinnumber=21 T 4300 150 5 8 0 1 0 2 1 pinseq=21 T 4150 200 9 8 1 1 0 6 1 pinlabel=RD2/PSP2 T 4150 200 5 8 0 1 0 8 1 pintype=io } P 4200 600 4500 600 1 0 1 { T 4300 650 5 8 1 1 0 0 1 pinnumber=22 T 4300 550 5 8 0 1 0 2 1 pinseq=22 T 4150 600 9 8 1 1 0 6 1 pinlabel=RD3/PSP3 T 4150 600 5 8 0 1 0 8 1 pintype=io } P 4200 1000 4500 1000 1 0 1 { T 4300 1050 5 8 1 1 0 0 1 pinnumber=23 T 4300 950 5 8 0 1 0 2 1 pinseq=23 T 4150 1000 9 8 1 1 0 6 1 pinlabel=RC4/SDI/SDA T 4150 1000 5 8 0 1 0 8 1 pintype=io } P 4200 1400 4500 1400 1 0 1 { T 4300 1450 5 8 1 1 0 0 1 pinnumber=24 T 4300 1350 5 8 0 1 0 2 1 pinseq=24 T 4150 1400 9 8 1 1 0 6 1 pinlabel=RC5/SDO T 4150 1400 5 8 0 1 0 8 1 pintype=io } B 300 0 3900 7300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 7550 5 10 0 0 0 0 1 device=PIC16C74A T 4200 7400 8 10 1 1 0 6 1 refdes=U? T 300 8750 5 10 0 0 0 0 1 documentation=http://www.microchip.com/download/lit/pline/picmicro/families/16c7x/30390e.pdf T 300 7950 5 10 0 0 0 0 1 footprint=DIP40 T 300 8550 5 10 0 0 0 0 1 description=8-bit CMOS microcontroller with A/D converter T 300 7750 5 10 0 0 0 0 1 numslots=0 T 300 8150 5 10 0 0 0 0 1 net=Vcc:11,32 T 300 8350 5 10 0 0 0 0 1 net=GND:12,31 T 300 7350 9 10 1 0 0 0 1 PIC-16C74A geda-gaf-1.8.2/symbols/micro/MSP430x11x2.sym0000664000175000017500000001006212204104272015116 00000000000000v 20070626 1 B 300 0 3000 4200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4450 5 10 0 0 0 0 1 device=MSP430x11x2 T 3250 4250 8 10 1 1 0 6 1 refdes=U? P 300 3900 0 3900 1 0 1 { T 200 3950 5 8 1 1 0 6 1 pinnumber=1 T 350 3900 9 8 1 1 0 0 1 pinlabel=TEST T 200 3850 5 8 0 1 0 8 1 pinseq=1 T 350 3900 5 8 0 1 0 2 1 pintype=in } P 300 3500 0 3500 1 0 1 { T 200 3550 5 8 1 1 0 6 1 pinnumber=2 T 350 3500 9 8 1 1 0 0 1 pinlabel=Vcc T 200 3450 5 8 0 1 0 8 1 pinseq=2 T 350 3500 5 8 0 1 0 2 1 pintype=pwr } P 300 3100 0 3100 1 0 1 { T 200 3150 5 8 1 1 0 6 1 pinnumber=3 T 350 3100 9 8 1 1 0 0 1 pinlabel=P2.5/Rosc T 200 3050 5 8 0 1 0 8 1 pinseq=3 T 350 3100 5 8 0 1 0 2 1 pintype=io } P 300 2700 0 2700 1 0 1 { T 200 2750 5 8 1 1 0 6 1 pinnumber=4 T 350 2700 9 8 1 1 0 0 1 pinlabel=Vss T 200 2650 5 8 0 1 0 8 1 pinseq=4 T 350 2700 5 8 0 1 0 2 1 pintype=pwr } P 300 2300 0 2300 1 0 1 { T 200 2350 5 8 1 1 0 6 1 pinnumber=5 T 350 2300 9 8 1 1 0 0 1 pinlabel=XOUT T 200 2250 5 8 0 1 0 8 1 pinseq=5 T 350 2300 5 8 0 1 0 2 1 pintype=out } P 300 1900 0 1900 1 0 1 { T 200 1950 5 8 1 1 0 6 1 pinnumber=6 T 350 1900 9 8 1 1 0 0 1 pinlabel=XIN T 200 1850 5 8 0 1 0 8 1 pinseq=6 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 200 1500 0 1500 1 0 1 { T 200 1550 5 8 1 1 0 6 1 pinnumber=7 T 350 1500 9 8 1 1 0 0 1 pinlabel=\_RST\_/NMI T 200 1450 5 8 0 1 0 8 1 pinseq=7 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 300 1100 0 1100 1 0 1 { T 200 1150 5 8 1 1 0 6 1 pinnumber=8 T 350 1100 9 8 1 1 0 0 1 pinlabel=P2.0/ACLK/A0 T 200 1050 5 8 0 1 0 8 1 pinseq=8 T 350 1100 5 8 0 1 0 2 1 pintype=io } P 300 700 0 700 1 0 1 { T 200 750 5 8 1 1 0 6 1 pinnumber=9 T 350 700 9 8 1 1 0 0 1 pinlabel=P2.1/INCLK/A1 T 200 650 5 8 0 1 0 8 1 pinseq=9 T 350 700 5 8 0 1 0 2 1 pintype=io } P 300 300 0 300 1 0 1 { T 200 350 5 8 1 1 0 6 1 pinnumber=10 T 350 300 9 8 1 1 0 0 1 pinlabel=P2.2/TA0/A2 T 200 250 5 8 0 1 0 8 1 pinseq=10 T 350 300 5 8 0 1 0 2 1 pintype=io } P 3300 300 3600 300 1 0 1 { T 3400 350 5 8 1 1 0 0 1 pinnumber=11 T 3250 300 9 8 1 1 0 6 1 pinlabel=P2.3/TA1/A3/Vref- T 3400 250 5 8 0 1 0 2 1 pinseq=11 T 3250 300 5 8 0 1 0 8 1 pintype=io } P 3300 700 3600 700 1 0 1 { T 3400 750 5 8 1 1 0 0 1 pinnumber=12 T 3250 700 9 8 1 1 0 6 1 pinlabel=P2.4/TA2/A4/Vref+ T 3400 650 5 8 0 1 0 2 1 pinseq=12 T 3250 700 5 8 0 1 0 8 1 pintype=io } P 3300 1100 3600 1100 1 0 1 { T 3400 1150 5 8 1 1 0 0 1 pinnumber=13 T 3250 1100 9 8 1 1 0 6 1 pinlabel=P1.0/TACLK/ADC10CLK T 3400 1050 5 8 0 1 0 2 1 pinseq=13 T 3250 1100 5 8 0 1 0 8 1 pintype=io } P 3300 1500 3600 1500 1 0 1 { T 3400 1550 5 8 1 1 0 0 1 pinnumber=14 T 3250 1500 9 8 1 1 0 6 1 pinlabel=P1.1/TA0 T 3400 1450 5 8 0 1 0 2 1 pinseq=14 T 3250 1500 5 8 0 1 0 8 1 pintype=io } P 3300 1900 3600 1900 1 0 1 { T 3400 1950 5 8 1 1 0 0 1 pinnumber=15 T 3250 1900 9 8 1 1 0 6 1 pinlabel=P1.2/TA1 T 3400 1850 5 8 0 1 0 2 1 pinseq=15 T 3250 1900 5 8 0 1 0 8 1 pintype=io } P 3300 2300 3600 2300 1 0 1 { T 3400 2350 5 8 1 1 0 0 1 pinnumber=16 T 3250 2300 9 8 1 1 0 6 1 pinlabel=P1.3/TA2 T 3400 2250 5 8 0 1 0 2 1 pinseq=16 T 3250 2300 5 8 0 1 0 8 1 pintype=io } P 3300 2700 3600 2700 1 0 1 { T 3400 2750 5 8 1 1 0 0 1 pinnumber=17 T 3250 2700 9 8 1 1 0 6 1 pinlabel=P1.4/SMCLK/TCK T 3400 2650 5 8 0 1 0 2 1 pinseq=17 T 3250 2700 5 8 0 1 0 8 1 pintype=io } P 3300 3100 3600 3100 1 0 1 { T 3400 3150 5 8 1 1 0 0 1 pinnumber=18 T 3250 3100 9 8 1 1 0 6 1 pinlabel=P1.5/TA0/TMS T 3400 3050 5 8 0 1 0 2 1 pinseq=18 T 3250 3100 5 8 0 1 0 8 1 pintype=io } P 3300 3500 3600 3500 1 0 1 { T 3400 3550 5 8 1 1 0 0 1 pinnumber=19 T 3250 3500 9 8 1 1 0 6 1 pinlabel=P1.6/TA1/TDI T 3400 3450 5 8 0 1 0 2 1 pinseq=19 T 3250 3500 5 8 0 1 0 8 1 pintype=io } P 3300 3900 3600 3900 1 0 1 { T 3400 3950 5 8 1 1 0 0 1 pinnumber=20 T 3250 3900 9 8 1 1 0 6 1 pinlabel=P1.7/TA2/TDO/TDI T 3400 3850 5 8 0 1 0 2 1 pinseq=20 T 3250 3900 5 8 0 1 0 8 1 pintype=io } T 300 5050 5 10 0 0 0 0 1 footprint=none T 300 4650 5 10 0 0 0 0 1 description=16-bit mixed signal microcontroller T 300 4850 5 10 0 0 0 0 1 numslots=0 T 300 4250 3 10 1 0 0 0 1 MSP430x11x2 V 250 1500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 5250 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/msp430f1122.pdf geda-gaf-1.8.2/symbols/micro/ATmega323-1.sym0000664000175000017500000001720112204104272015152 00000000000000v 20070626 1 B 400 400 3600 9100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 9950 5 10 0 0 0 0 1 device=ATmega323 T 400 10150 5 10 0 0 0 0 1 footprint=DIL 40 600 T 400 9750 5 10 0 0 0 0 1 numslots=0 P 100 8600 400 8600 1 0 0 { T 450 8600 5 8 0 1 0 2 1 pintype=io T 300 8650 5 8 1 1 0 6 1 pinnumber=40 T 300 8550 5 8 0 1 0 8 1 pinseq=40 T 450 8600 9 8 1 1 0 0 1 pinlabel=PA0 (ADC0) } P 100 8200 400 8200 1 0 0 { T 450 8200 5 8 0 1 0 2 1 pintype=io T 300 8250 5 8 1 1 0 6 1 pinnumber=39 T 300 8150 5 8 0 1 0 8 1 pinseq=39 T 450 8200 9 8 1 1 0 0 1 pinlabel=PA1 (ADC1) } P 100 7800 400 7800 1 0 0 { T 450 7800 5 8 0 1 0 2 1 pintype=io T 300 7850 5 8 1 1 0 6 1 pinnumber=38 T 300 7750 5 8 0 1 0 8 1 pinseq=38 T 450 7800 9 8 1 1 0 0 1 pinlabel=PA2 (ADC2) } P 100 7400 400 7400 1 0 0 { T 450 7400 5 8 0 1 0 2 1 pintype=io T 300 7450 5 8 1 1 0 6 1 pinnumber=37 T 300 7350 5 8 0 1 0 8 1 pinseq=37 T 450 7400 9 8 1 1 0 0 1 pinlabel=PA3 (ADC3) } P 100 7000 400 7000 1 0 0 { T 450 7000 5 8 0 1 0 2 1 pintype=io T 300 7050 5 8 1 1 0 6 1 pinnumber=36 T 300 6950 5 8 0 1 0 8 1 pinseq=36 T 450 7000 9 8 1 1 0 0 1 pinlabel=PA4 (ADC4) } P 100 6600 400 6600 1 0 0 { T 450 6600 5 8 0 1 0 2 1 pintype=io T 300 6650 5 8 1 1 0 6 1 pinnumber=35 T 300 6550 5 8 0 1 0 8 1 pinseq=35 T 450 6600 9 8 1 1 0 0 1 pinlabel=PA5 (ADC5) } P 100 6200 400 6200 1 0 0 { T 450 6200 5 8 0 1 0 2 1 pintype=io T 300 6250 5 8 1 1 0 6 1 pinnumber=34 T 300 6150 5 8 0 1 0 8 1 pinseq=34 T 450 6200 9 8 1 1 0 0 1 pinlabel=PA6 (ADC6) } P 100 5800 400 5800 1 0 0 { T 450 5800 5 8 0 1 0 2 1 pintype=io T 300 5850 5 8 1 1 0 6 1 pinnumber=33 T 300 5750 5 8 0 1 0 8 1 pinseq=33 T 450 5800 9 8 1 1 0 0 1 pinlabel=PA7 (ADC7) } P 100 5200 400 5200 1 0 0 { T 450 5200 5 8 0 1 0 2 1 pintype=io T 300 5250 5 8 1 1 0 6 1 pinnumber=1 T 300 5150 5 8 0 1 0 8 1 pinseq=1 T 450 5200 9 8 1 1 0 0 1 pinlabel=PB0 (XCK/T0) } P 100 4800 400 4800 1 0 0 { T 450 4800 5 8 0 1 0 2 1 pintype=io T 300 4850 5 8 1 1 0 6 1 pinnumber=2 T 300 4750 5 8 0 1 0 8 1 pinseq=2 T 450 4800 9 8 1 1 0 0 1 pinlabel=PB1 (T1) } P 100 4400 400 4400 1 0 0 { T 450 4400 5 8 0 1 0 2 1 pintype=io T 300 4450 5 8 1 1 0 6 1 pinnumber=3 T 300 4350 5 8 0 1 0 8 1 pinseq=3 T 450 4400 9 8 1 1 0 0 1 pinlabel=PB2 (INT2/AIN0) } P 100 4000 400 4000 1 0 0 { T 450 4000 5 8 0 1 0 2 1 pintype=io T 300 4050 5 8 1 1 0 6 1 pinnumber=4 T 300 3950 5 8 0 1 0 8 1 pinseq=4 T 450 4000 9 8 1 1 0 0 1 pinlabel=PB3 (OC0/AIN1) } P 100 3600 400 3600 1 0 0 { T 450 3600 5 8 0 1 0 2 1 pintype=io T 300 3650 5 8 1 1 0 6 1 pinnumber=5 T 300 3550 5 8 0 1 0 8 1 pinseq=5 T 450 3600 9 8 1 1 0 0 1 pinlabel=PB4 (\_SS\_) } P 100 3200 400 3200 1 0 0 { T 450 3200 5 8 0 1 0 2 1 pintype=io T 300 3250 5 8 1 1 0 6 1 pinnumber=6 T 300 3150 5 8 0 1 0 8 1 pinseq=6 T 450 3200 9 8 1 1 0 0 1 pinlabel=PB5 (MOSI) } P 100 2800 400 2800 1 0 0 { T 450 2800 5 8 0 1 0 2 1 pintype=io T 300 2850 5 8 1 1 0 6 1 pinnumber=7 T 300 2750 5 8 0 1 0 8 1 pinseq=7 T 450 2800 9 8 1 1 0 0 1 pinlabel=PB6 (MISO) } P 100 2400 400 2400 1 0 0 { T 450 2400 5 8 0 1 0 2 1 pintype=io T 300 2450 5 8 1 1 0 6 1 pinnumber=8 T 300 2350 5 8 0 1 0 8 1 pinseq=8 T 450 2400 9 8 1 1 0 0 1 pinlabel=PB7 (SCK) } P 4000 8600 4300 8600 1 0 1 { T 3950 8600 5 8 0 1 0 8 1 pintype=io T 4100 8650 5 8 1 1 0 0 1 pinnumber=22 T 4100 8550 5 8 0 1 0 2 1 pinseq=22 T 3950 8600 9 8 1 1 0 6 1 pinlabel=(SCL) PC0 } P 4000 8200 4300 8200 1 0 1 { T 3950 8200 5 8 0 1 0 8 1 pintype=io T 4100 8250 5 8 1 1 0 0 1 pinnumber=23 T 4100 8150 5 8 0 1 0 2 1 pinseq=23 T 3950 8200 9 8 1 1 0 6 1 pinlabel=(SDA) PC1 } P 4000 7800 4300 7800 1 0 1 { T 3950 7800 5 8 0 1 0 8 1 pintype=io T 4100 7850 5 8 1 1 0 0 1 pinnumber=24 T 4100 7750 5 8 0 1 0 2 1 pinseq=24 T 3950 7800 9 8 1 1 0 6 1 pinlabel=(TCK) PC2 } P 4000 7400 4300 7400 1 0 1 { T 3950 7400 5 8 0 1 0 8 1 pintype=io T 4100 7450 5 8 1 1 0 0 1 pinnumber=25 T 4100 7350 5 8 0 1 0 2 1 pinseq=25 T 3950 7400 9 8 1 1 0 6 1 pinlabel=(TMS) PC3 } P 4000 7000 4300 7000 1 0 1 { T 3950 7000 5 8 0 1 0 8 1 pintype=io T 4100 7050 5 8 1 1 0 0 1 pinnumber=26 T 4100 6950 5 8 0 1 0 2 1 pinseq=26 T 3950 7000 9 8 1 1 0 6 1 pinlabel=(TDO) PC4 } P 4000 6600 4300 6600 1 0 1 { T 3950 6600 5 8 0 1 0 8 1 pintype=io T 4100 6650 5 8 1 1 0 0 1 pinnumber=27 T 4100 6550 5 8 0 1 0 2 1 pinseq=27 T 3950 6600 9 8 1 1 0 6 1 pinlabel=(TDI) PC5 } P 4000 6200 4300 6200 1 0 1 { T 3950 6200 5 8 0 1 0 8 1 pintype=io T 4100 6250 5 8 1 1 0 0 1 pinnumber=28 T 4100 6150 5 8 0 1 0 2 1 pinseq=28 T 3950 6200 9 8 1 1 0 6 1 pinlabel=(TOSC1) PC6 } P 4000 5800 4300 5800 1 0 1 { T 3950 5800 5 8 0 1 0 8 1 pintype=io T 4100 5850 5 8 1 1 0 0 1 pinnumber=29 T 4100 5750 5 8 0 1 0 2 1 pinseq=29 T 3950 5800 9 8 1 1 0 6 1 pinlabel=(TOSC2) PC7 } P 4000 5200 4300 5200 1 0 1 { T 3950 5200 5 8 0 1 0 8 1 pintype=io T 4100 5250 5 8 1 1 0 0 1 pinnumber=14 T 4100 5150 5 8 0 1 0 2 1 pinseq=14 T 3950 5200 9 8 1 1 0 6 1 pinlabel=(RXD) PD0 } P 4000 4800 4300 4800 1 0 1 { T 3950 4800 5 8 0 1 0 8 1 pintype=io T 4100 4850 5 8 1 1 0 0 1 pinnumber=15 T 4100 4750 5 8 0 1 0 2 1 pinseq=15 T 3950 4800 9 8 1 1 0 6 1 pinlabel=(TXD) PD1 } P 4000 4400 4300 4400 1 0 1 { T 3950 4400 5 8 0 1 0 8 1 pintype=io T 4100 4450 5 8 1 1 0 0 1 pinnumber=16 T 4100 4350 5 8 0 1 0 2 1 pinseq=16 T 3950 4400 9 8 1 1 0 6 1 pinlabel=(INT0) PD2 } P 4000 4000 4300 4000 1 0 1 { T 3950 4000 5 8 0 1 0 8 1 pintype=io T 4100 4050 5 8 1 1 0 0 1 pinnumber=17 T 4100 3950 5 8 0 1 0 2 1 pinseq=17 T 3950 4000 9 8 1 1 0 6 1 pinlabel=(INT1) PD3 } P 4000 3600 4300 3600 1 0 1 { T 3950 3600 5 8 0 1 0 8 1 pintype=io T 4100 3650 5 8 1 1 0 0 1 pinnumber=18 T 4100 3550 5 8 0 1 0 2 1 pinseq=18 T 3950 3600 9 8 1 1 0 6 1 pinlabel=(OC1B) PD4 } P 4000 3200 4300 3200 1 0 1 { T 3950 3200 5 8 0 1 0 8 1 pintype=io T 4100 3250 5 8 1 1 0 0 1 pinnumber=19 T 4100 3150 5 8 0 1 0 2 1 pinseq=19 T 3950 3200 9 8 1 1 0 6 1 pinlabel=(OC1A) PD5 } P 4000 2800 4300 2800 1 0 1 { T 3950 2800 5 8 0 1 0 8 1 pintype=io T 4100 2850 5 8 1 1 0 0 1 pinnumber=20 T 4100 2750 5 8 0 1 0 2 1 pinseq=20 T 3950 2800 9 8 1 1 0 6 1 pinlabel=(ICP) PD6 } P 4000 2400 4300 2400 1 0 1 { T 3950 2400 5 8 0 1 0 8 1 pintype=io T 4100 2450 5 8 1 1 0 0 1 pinnumber=21 T 4100 2350 5 8 0 1 0 2 1 pinseq=21 T 3950 2400 9 8 1 1 0 6 1 pinlabel=(OC2) PD7 } P 2000 9800 2000 9500 1 0 0 { T 2000 9450 5 8 0 1 90 8 1 pintype=pwr T 1950 9600 5 8 1 1 90 0 1 pinnumber=30 T 2050 9600 5 8 0 1 90 2 1 pinseq=30 T 2000 9450 9 8 1 1 90 6 1 pinlabel=AVCC } P 2400 100 2400 400 1 0 0 { T 2400 450 5 8 0 1 90 2 1 pintype=pwr T 2350 300 5 8 1 1 90 6 1 pinnumber=11 T 2450 300 5 8 0 1 90 8 1 pinseq=11 T 2400 450 9 8 1 1 90 0 1 pinlabel=GND } P 100 9100 300 9100 1 0 0 { T 450 9100 5 8 0 1 0 2 1 pintype=in T 300 9150 5 8 1 1 0 6 1 pinnumber=9 T 300 9050 5 8 0 1 0 8 1 pinseq=9 T 450 9100 9 8 1 1 0 0 1 pinlabel=\_RESET\_ } P 2400 9800 2400 9500 1 0 0 { T 2400 9450 5 8 0 1 90 8 1 pintype=pwr T 2350 9600 5 8 1 1 90 0 1 pinnumber=10 T 2450 9600 5 8 0 1 90 2 1 pinseq=10 T 2400 9450 9 8 1 1 90 6 1 pinlabel=VCC } P 2000 100 2000 400 1 0 0 { T 2000 450 5 8 0 1 90 2 1 pintype=pwr T 1950 300 5 8 1 1 90 6 1 pinnumber=31 T 2050 300 5 8 0 1 90 8 1 pinseq=31 T 2000 450 9 8 1 1 90 0 1 pinlabel=AGND } P 100 1800 400 1800 1 0 0 { T 450 1800 5 8 0 1 0 2 1 pintype=in T 300 1850 5 8 1 1 0 6 1 pinnumber=13 T 300 1750 5 8 0 1 0 8 1 pinseq=13 T 450 1800 9 8 1 1 0 0 1 pinlabel=XTAL1 } P 100 1400 400 1400 1 0 0 { T 450 1400 5 8 0 1 0 2 1 pintype=out T 300 1450 5 8 1 1 0 6 1 pinnumber=12 T 300 1350 5 8 0 1 0 8 1 pinseq=12 T 450 1400 9 8 1 1 0 0 1 pinlabel=XTAL2 } P 100 800 400 800 1 0 0 { T 450 800 5 8 0 1 0 2 1 pintype=in T 300 850 5 8 1 1 0 6 1 pinnumber=32 T 300 750 5 8 0 1 0 8 1 pinseq=32 T 450 800 9 8 1 1 0 0 1 pinlabel=AREF } T 4000 9600 8 10 1 1 0 6 1 refdes=U? T 400 10350 5 10 0 0 0 0 1 description=8-bit RISC micro controller (Atmel) T 400 9550 9 10 1 0 0 0 1 ATmega323 V 350 9100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/micro/6821-1.sym0000664000175000017500000001651412204104272014172 00000000000000v 20070626 1 P 300 7700 0 7700 1 0 1 { T 200 7750 5 8 1 1 0 6 1 pinnumber=33 T 200 7650 5 8 0 1 0 8 1 pinseq=33 T 350 7700 9 8 1 1 0 0 1 pinlabel=D0 T 350 7700 5 8 0 1 0 2 1 pintype=io } P 300 7300 0 7300 1 0 1 { T 200 7350 5 8 1 1 0 6 1 pinnumber=32 T 200 7250 5 8 0 1 0 8 1 pinseq=32 T 350 7300 9 8 1 1 0 0 1 pinlabel=D1 T 350 7300 5 8 0 1 0 2 1 pintype=io } P 300 6900 0 6900 1 0 1 { T 200 6950 5 8 1 1 0 6 1 pinnumber=31 T 200 6850 5 8 0 1 0 8 1 pinseq=31 T 350 6900 9 8 1 1 0 0 1 pinlabel=D2 T 350 6900 5 8 0 1 0 2 1 pintype=io } P 300 6500 0 6500 1 0 1 { T 200 6550 5 8 1 1 0 6 1 pinnumber=30 T 200 6450 5 8 0 1 0 8 1 pinseq=30 T 350 6500 9 8 1 1 0 0 1 pinlabel=D3 T 350 6500 5 8 0 1 0 2 1 pintype=io } P 300 6100 0 6100 1 0 1 { T 200 6150 5 8 1 1 0 6 1 pinnumber=29 T 200 6050 5 8 0 1 0 8 1 pinseq=29 T 350 6100 9 8 1 1 0 0 1 pinlabel=D4 T 350 6100 5 8 0 1 0 2 1 pintype=io } P 300 5700 0 5700 1 0 1 { T 200 5750 5 8 1 1 0 6 1 pinnumber=28 T 200 5650 5 8 0 1 0 8 1 pinseq=28 T 350 5700 9 8 1 1 0 0 1 pinlabel=D5 T 350 5700 5 8 0 1 0 2 1 pintype=io } P 300 5300 0 5300 1 0 1 { T 200 5350 5 8 1 1 0 6 1 pinnumber=27 T 200 5250 5 8 0 1 0 8 1 pinseq=27 T 350 5300 9 8 1 1 0 0 1 pinlabel=D6 T 350 5300 5 8 0 1 0 2 1 pintype=io } P 300 4900 0 4900 1 0 1 { T 200 4950 5 8 1 1 0 6 1 pinnumber=26 T 200 4850 5 8 0 1 0 8 1 pinseq=26 T 350 4900 9 8 1 1 0 0 1 pinlabel=D7 T 350 4900 5 8 0 1 0 2 1 pintype=io } P 300 4500 0 4500 1 0 1 { T 200 4550 5 8 1 1 0 6 1 pinnumber=36 T 200 4450 5 8 0 1 0 8 1 pinseq=36 T 350 4500 9 8 1 1 0 0 1 pinlabel=RS0 T 350 4500 5 8 0 1 0 2 1 pintype=in } P 300 4100 0 4100 1 0 1 { T 200 4150 5 8 1 1 0 6 1 pinnumber=35 T 200 4050 5 8 0 1 0 8 1 pinseq=35 T 350 4100 9 8 1 1 0 0 1 pinlabel=RS1 T 350 4100 5 8 0 1 0 2 1 pintype=in } P 200 1300 0 1300 1 0 1 { T 200 1350 5 8 1 1 0 6 1 pinnumber=38 T 200 1250 5 8 0 1 0 8 1 pinseq=38 T 350 1300 9 8 1 1 0 0 1 pinlabel=\_IRQA\_ T 350 1300 5 8 0 1 0 2 1 pintype=out } P 200 900 0 900 1 0 1 { T 200 950 5 8 1 1 0 6 1 pinnumber=37 T 200 850 5 8 0 1 0 8 1 pinseq=37 T 350 900 9 8 1 1 0 0 1 pinlabel=\_IRQB\_ T 350 900 5 8 0 1 0 2 1 pintype=out } P 300 400 0 400 1 0 1 { T 200 450 5 8 1 1 0 6 1 pinnumber=25 T 200 350 5 8 0 1 0 8 1 pinseq=25 T 350 400 9 8 1 1 0 0 1 pinlabel=E T 350 400 5 8 0 1 0 2 1 pintype=in } P 3300 7700 3600 7700 1 0 1 { T 3400 7750 5 8 1 1 0 0 1 pinnumber=2 T 3400 7650 5 8 0 1 0 2 1 pinseq=2 T 3250 7700 9 8 1 1 0 6 1 pinlabel=PA0 T 3250 7700 5 8 0 1 0 8 1 pintype=io } P 3300 7300 3600 7300 1 0 1 { T 3400 7350 5 8 1 1 0 0 1 pinnumber=3 T 3400 7250 5 8 0 1 0 2 1 pinseq=3 T 3250 7300 9 8 1 1 0 6 1 pinlabel=PA1 T 3250 7300 5 8 0 1 0 8 1 pintype=io } P 3300 6900 3600 6900 1 0 1 { T 3400 6950 5 8 1 1 0 0 1 pinnumber=4 T 3400 6850 5 8 0 1 0 2 1 pinseq=4 T 3250 6900 9 8 1 1 0 6 1 pinlabel=PA2 T 3250 6900 5 8 0 1 0 8 1 pintype=io } P 3300 6500 3600 6500 1 0 1 { T 3400 6550 5 8 1 1 0 0 1 pinnumber=5 T 3400 6450 5 8 0 1 0 2 1 pinseq=5 T 3250 6500 9 8 1 1 0 6 1 pinlabel=PA3 T 3250 6500 5 8 0 1 0 8 1 pintype=io } P 3300 6100 3600 6100 1 0 1 { T 3400 6150 5 8 1 1 0 0 1 pinnumber=6 T 3400 6050 5 8 0 1 0 2 1 pinseq=6 T 3250 6100 9 8 1 1 0 6 1 pinlabel=PA4 T 3250 6100 5 8 0 1 0 8 1 pintype=io } P 3300 5700 3600 5700 1 0 1 { T 3400 5750 5 8 1 1 0 0 1 pinnumber=7 T 3400 5650 5 8 0 1 0 2 1 pinseq=7 T 3250 5700 9 8 1 1 0 6 1 pinlabel=PA5 T 3250 5700 5 8 0 1 0 8 1 pintype=io } P 3300 5300 3600 5300 1 0 1 { T 3400 5350 5 8 1 1 0 0 1 pinnumber=8 T 3400 5250 5 8 0 1 0 2 1 pinseq=8 T 3250 5300 9 8 1 1 0 6 1 pinlabel=PA6 T 3250 5300 5 8 0 1 0 8 1 pintype=io } P 3300 4900 3600 4900 1 0 1 { T 3400 4950 5 8 1 1 0 0 1 pinnumber=9 T 3400 4850 5 8 0 1 0 2 1 pinseq=9 T 3250 4900 9 8 1 1 0 6 1 pinlabel=PA7 T 3250 4900 5 8 0 1 0 8 1 pintype=io } P 3300 4500 3600 4500 1 0 1 { T 3400 4550 5 8 1 1 0 0 1 pinnumber=40 T 3400 4450 5 8 0 1 0 2 1 pinseq=1 T 3250 4500 9 8 1 1 0 6 1 pinlabel=CA1 T 3250 4500 5 8 0 1 0 8 1 pintype=in } P 3300 3700 3600 3700 1 0 1 { T 3400 3750 5 8 1 1 0 0 1 pinnumber=10 T 3400 3650 5 8 0 1 0 2 1 pinseq=10 T 3250 3700 9 8 1 1 0 6 1 pinlabel=PB0 T 3250 3700 5 8 0 1 0 8 1 pintype=io } P 3300 3300 3600 3300 1 0 1 { T 3400 3350 5 8 1 1 0 0 1 pinnumber=11 T 3400 3250 5 8 0 1 0 2 1 pinseq=11 T 3250 3300 9 8 1 1 0 6 1 pinlabel=PB1 T 3250 3300 5 8 0 1 0 8 1 pintype=io } P 3300 2900 3600 2900 1 0 1 { T 3400 2950 5 8 1 1 0 0 1 pinnumber=12 T 3400 2850 5 8 0 1 0 2 1 pinseq=12 T 3250 2900 9 8 1 1 0 6 1 pinlabel=PB2 T 3250 2900 5 8 0 1 0 8 1 pintype=io } P 3300 2500 3600 2500 1 0 1 { T 3400 2550 5 8 1 1 0 0 1 pinnumber=13 T 3400 2450 5 8 0 1 0 2 1 pinseq=13 T 3250 2500 9 8 1 1 0 6 1 pinlabel=PB3 T 3250 2500 5 8 0 1 0 8 1 pintype=io } P 3300 2100 3600 2100 1 0 1 { T 3400 2150 5 8 1 1 0 0 1 pinnumber=14 T 3400 2050 5 8 0 1 0 2 1 pinseq=14 T 3250 2100 9 8 1 1 0 6 1 pinlabel=PB4 T 3250 2100 5 8 0 1 0 8 1 pintype=io } P 3300 1700 3600 1700 1 0 1 { T 3400 1750 5 8 1 1 0 0 1 pinnumber=15 T 3400 1650 5 8 0 1 0 2 1 pinseq=15 T 3250 1700 9 8 1 1 0 6 1 pinlabel=PB5 T 3250 1700 5 8 0 1 0 8 1 pintype=io } P 3300 1300 3600 1300 1 0 1 { T 3400 1350 5 8 1 1 0 0 1 pinnumber=16 T 3400 1250 5 8 0 1 0 2 1 pinseq=16 T 3250 1300 9 8 1 1 0 6 1 pinlabel=PB6 T 3250 1300 5 8 0 1 0 8 1 pintype=io } P 3300 900 3600 900 1 0 1 { T 3400 950 5 8 1 1 0 0 1 pinnumber=17 T 3400 850 5 8 0 1 0 2 1 pinseq=17 T 3250 900 9 8 1 1 0 6 1 pinlabel=PB7 T 3250 900 5 8 0 1 0 8 1 pintype=io } P 3300 500 3600 500 1 0 1 { T 3400 550 5 8 1 1 0 0 1 pinnumber=18 T 3400 450 5 8 0 1 0 2 1 pinseq=18 T 3250 500 9 8 1 1 0 6 1 pinlabel=CB1 T 3250 500 5 8 0 1 0 8 1 pintype=in } B 300 0 3000 7900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 8150 5 10 0 0 0 0 1 device=6821 P 0 3700 300 3700 1 0 0 { T 200 3750 5 8 1 1 0 6 1 pinnumber=22 T 200 3650 5 8 0 1 0 8 1 pinseq=22 T 350 3700 9 8 1 1 0 0 1 pinlabel=CS0 T 350 3700 5 8 0 1 0 2 1 pintype=in } P 0 3300 300 3300 1 0 0 { T 200 3350 5 8 1 1 0 6 1 pinnumber=24 T 200 3250 5 8 0 1 0 8 1 pinseq=24 T 350 3300 9 8 1 1 0 0 1 pinlabel=CS1 T 350 3300 5 8 0 1 0 2 1 pintype=in } P 0 2900 200 2900 1 0 0 { T 200 2950 5 8 1 1 0 6 1 pinnumber=23 T 200 2850 5 8 0 1 0 8 1 pinseq=23 T 350 2900 9 8 1 1 0 0 1 pinlabel=\_CS2\_ T 350 2900 5 8 0 1 0 2 1 pintype=in } V 250 2900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2500 300 2500 1 0 0 { T 200 2550 5 8 1 1 0 6 1 pinnumber=21 T 200 2450 5 8 0 1 0 8 1 pinseq=21 T 350 2500 9 8 1 1 0 0 1 pinlabel=R/\_W\_ T 350 2500 5 8 0 1 0 2 1 pintype=in } V 250 1300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1700 200 1700 1 0 0 { T 200 1750 5 8 1 1 0 6 1 pinnumber=34 T 200 1650 5 8 0 1 0 8 1 pinseq=34 T 350 1700 9 8 1 1 0 0 1 pinlabel=\_RESET\_ T 350 1700 5 8 0 1 0 2 1 pintype=in } V 250 1700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 3300 100 3600 100 1 0 1 { T 3400 150 5 8 1 1 0 0 1 pinnumber=19 T 3400 50 5 8 0 1 0 2 1 pinseq=19 T 3250 100 9 8 1 1 0 6 1 pinlabel=CB2 T 3250 100 5 8 0 1 0 8 1 pintype=io } P 3300 4100 3600 4100 1 0 1 { T 3400 4150 5 8 1 1 0 0 1 pinnumber=39 T 3400 4050 5 8 0 1 0 2 1 pinseq=20 T 3250 4100 9 8 1 1 0 6 1 pinlabel=CA2 T 3250 4100 5 8 0 1 0 8 1 pintype=io } T 3300 8000 8 10 1 1 0 6 1 refdes=U? V 250 900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 9550 5 10 0 0 0 0 1 comment=dont_use this symbol: nonstandard symwidth, bad graphic T 300 8550 5 10 0 0 0 0 1 net=GND:1 T 300 8750 5 10 0 0 0 0 1 net=Vcc:20 T 300 8350 5 10 0 0 0 0 1 footprint=DIP40 T 300 8950 5 10 0 0 0 0 1 description=PIA peripheral interface line T 300 9150 5 10 0 0 0 0 1 numslots=0 T 300 9350 5 10 0 0 0 0 1 author=Werner Hoch T 300 7950 9 10 1 0 0 0 1 6821 geda-gaf-1.8.2/symbols/micro/pic18F242-1.sym0000664000175000017500000001302612204104272015047 00000000000000v 20070626 1 P 0 2200 400 2200 1 0 0 { T 100 2300 5 10 1 1 0 0 1 pinnumber=9 T 500 2200 3 10 1 1 0 0 1 pinlabel=OSC1/CLKI T -400 2300 5 10 0 1 0 0 1 pinseq=9 T 0 2200 5 10 0 1 0 0 1 pintype=in } P 0 1800 400 1800 1 0 0 { T 100 1900 5 10 1 1 0 0 1 pinnumber=10 T 500 1800 3 10 1 1 0 0 1 pinlabel=OSC2/CLK0/RA6 T -400 1900 5 10 0 1 0 0 1 pinseq=10 T 0 1800 5 10 0 1 0 0 1 pintype=out } P 4400 600 4000 600 1 0 0 { T 4100 700 5 10 1 1 0 0 1 pinnumber=16 T 3000 600 3 10 1 1 0 0 1 pinlabel=RC5/SDO T 4400 600 5 10 0 1 0 0 1 pinseq=16 T 4400 600 5 10 0 1 0 0 1 pintype=io } P 4400 200 4000 200 1 0 0 { T 4100 300 5 10 1 1 0 0 1 pinnumber=15 T 2600 200 3 10 1 1 0 0 1 pinlabel=RC4/SDI/SDA T 4400 200 5 10 0 1 0 0 1 pinseq=15 T 4400 200 5 10 0 1 0 0 1 pintype=io } P 4400 2200 4000 2200 1 0 0 { T 4100 2300 5 10 1 1 0 0 1 pinnumber=20 T 3600 2200 3 10 1 1 0 0 1 pinlabel=Vdd T 4400 2200 5 10 0 1 0 0 1 pinseq=20 T 4400 2200 5 10 0 1 0 0 1 pintype=pwr } P 4400 1800 4000 1800 1 0 0 { T 3600 1800 3 10 1 1 0 0 1 pinlabel=Vss T 4400 1800 5 10 0 1 0 0 1 pinseq=19 T 4100 1900 5 10 1 1 0 0 1 pinnumber=19 T 4400 1800 5 10 0 1 0 0 1 pintype=pwr } P 4400 1400 4000 1400 1 0 0 { T 4100 1500 5 10 1 1 0 0 1 pinnumber=18 T 2900 1400 3 10 1 1 0 0 1 pinlabel=RC7/RX/DT T 4400 1400 5 10 0 1 0 0 1 pinseq=18 T 4400 1400 5 10 0 1 0 0 1 pintype=io } P 4400 1000 4000 1000 1 0 0 { T 4100 1100 5 10 1 1 0 0 1 pinnumber=17 T 2800 1000 3 10 1 1 0 0 1 pinlabel=RC6/TX/CK T 4400 1000 5 10 0 1 0 0 1 pinseq=17 T 4400 1000 5 10 0 1 0 0 1 pintype=io } P 4400 3800 4000 3800 1 0 0 { T 4100 3900 5 10 1 1 0 0 1 pinnumber=24 T 2900 3800 3 10 1 1 0 0 1 pinlabel=RB3/CCP2 T 4400 3800 5 10 0 1 0 0 1 pinseq=24 T 4400 3800 5 10 0 1 0 0 1 pintype=io } P 4400 3400 4000 3400 1 0 0 { T 4100 3500 5 10 1 1 0 0 1 pinnumber=23 T 3000 3400 3 10 1 1 0 0 1 pinlabel=RB2/INT2 T 4400 3400 5 10 0 1 0 0 1 pinseq=23 T 4400 3400 5 10 0 1 0 0 1 pintype=io } P 4400 3000 4000 3000 1 0 0 { T 4100 3100 5 10 1 1 0 0 1 pinnumber=22 T 3100 3000 3 10 1 1 0 0 1 pinlabel=RB1/INT1 T 4400 3000 5 10 0 1 0 0 1 pinseq=22 T 4400 3000 5 10 0 1 0 0 1 pintype=io } P 4400 2600 4000 2600 1 0 0 { T 4100 2700 5 10 1 1 0 0 1 pinnumber=21 T 3000 2600 3 10 1 1 0 0 1 pinlabel=RB0/INT0 T 4400 2600 5 10 0 1 0 0 1 pinseq=21 T 4400 2600 5 10 0 1 0 0 1 pintype=io } P 0 200 400 200 1 0 0 { T 100 300 5 10 1 1 0 0 1 pinnumber=14 T 500 200 3 10 1 1 0 0 1 pinlabel=RC3/SCK/SCL T -400 300 5 10 0 1 0 0 1 pinseq=14 T 0 200 5 10 0 1 0 0 1 pintype=io } P 0 2600 400 2600 1 0 0 { T 100 2700 5 10 1 1 0 0 1 pinnumber=8 T 500 2600 3 10 1 1 0 0 1 pinlabel=Vss T 100 2700 5 10 1 1 0 0 1 pinseq=8 T 0 2600 5 10 0 1 0 0 1 pintype=pwr } P 4400 5400 4000 5400 1 0 0 { T 4100 5500 5 10 1 1 0 0 1 pinnumber=28 T 3000 5400 3 10 1 1 0 0 1 pinlabel=RB7/PGD T 4400 5400 5 10 0 1 0 0 1 pinseq=28 T 4400 5400 5 10 0 1 0 0 1 pintype=io } P 4400 5000 4000 5000 1 0 0 { T 4100 5100 5 10 1 1 0 0 1 pinnumber=27 T 3000 5000 3 10 1 1 0 0 1 pinlabel=RB6/PGC T 4400 5000 5 10 0 1 0 0 1 pinseq=27 T 4400 5000 5 10 0 1 0 0 1 pintype=io } P 4400 4600 4000 4600 1 0 0 { T 4100 4700 5 10 1 1 0 0 1 pinnumber=26 T 3000 4600 3 10 1 1 0 0 1 pinlabel=RB5/PGM T 4400 4600 5 10 0 1 0 0 1 pinseq=26 T 4400 4600 5 10 0 1 0 0 1 pintype=io } P 4400 4200 4000 4200 1 0 0 { T 4100 4300 5 10 1 1 0 0 1 pinnumber=25 T 3500 4200 3 10 1 1 0 0 1 pinlabel=RB4 T 4400 4200 5 10 0 1 0 0 1 pinseq=25 T 4400 4200 5 10 0 1 0 0 1 pintype=io } P 0 5400 300 5400 1 0 0 { T 100 5500 5 10 1 1 0 0 1 pinnumber=1 T 500 5400 3 10 1 1 0 0 1 pinlabel=\_MCLR\_/Vpp T -400 5500 5 10 0 1 0 0 1 pinseq=1 T 0 5400 5 10 0 1 0 0 1 pintype=in } P 0 5000 400 5000 1 0 0 { T 100 5100 5 10 1 1 0 0 1 pinnumber=2 T 500 5000 3 10 1 1 0 0 1 pinlabel=RA0/AN0 T -400 5100 5 10 0 1 0 0 1 pinseq=2 T 0 5000 5 10 0 1 0 0 1 pintype=io } P 0 4600 400 4600 1 0 0 { T 100 4700 5 10 1 1 0 0 1 pinnumber=3 T 500 4600 3 10 1 1 0 0 1 pinlabel=RA1/AN1 T -400 4700 5 10 0 1 0 0 1 pinseq=3 T 0 4600 5 10 0 1 0 0 1 pintype=io } P 0 4200 400 4200 1 0 0 { T 100 4300 5 10 1 1 0 0 1 pinnumber=4 T 500 4200 3 10 1 1 0 0 1 pinlabel=RA2/AN2/Vref- T -400 4300 5 10 0 1 0 0 1 pinseq=4 T 0 4200 5 10 0 1 0 0 1 pintype=io } P 0 3800 400 3800 1 0 0 { T 100 3900 5 10 1 1 0 0 1 pinnumber=5 T 500 3800 3 10 1 1 0 0 1 pinlabel=RA3/AN3/Vref+ T -400 3900 5 10 0 1 0 0 1 pinseq=5 T 0 3800 5 10 0 1 0 0 1 pintype=io } P 0 3400 400 3400 1 0 0 { T 100 3500 5 10 1 1 0 0 1 pinnumber=6 T 500 3400 3 10 1 1 0 0 1 pinlabel=RA4/T0CKI T -400 3500 5 10 0 1 0 0 1 pinseq=6 T 0 3400 5 10 0 1 0 0 1 pintype=io } P 0 3000 400 3000 1 0 0 { T 100 3100 5 10 1 1 0 0 1 pinnumber=7 T 500 3000 3 10 1 1 0 0 1 pinlabel=RA5/AN4/\_SS\_/LVDIN T -400 3100 5 10 0 1 0 0 1 pinseq=7 T 0 3000 5 10 0 1 0 0 1 pintype=io } P 0 1400 400 1400 1 0 0 { T 100 1500 5 10 1 1 0 0 1 pinnumber=11 T 500 1400 3 10 1 1 0 0 1 pinlabel=RC0/T1OSO/T1CKI T -500 1300 5 10 0 1 0 0 1 pinseq=11 T 0 1400 5 10 0 1 0 0 1 pintype=io } P 0 1000 400 1000 1 0 0 { T 100 1100 5 10 1 1 0 0 1 pinnumber=12 T 500 1000 3 10 1 1 0 0 1 pinlabel=RC1/T1OSI/CCP2 T -400 1100 5 10 0 1 0 0 1 pinseq=12 T 0 1000 5 10 0 1 0 0 1 pintype=io } P 0 600 400 600 1 0 0 { T 100 700 5 10 1 1 0 0 1 pinnumber=13 T 500 600 3 10 1 1 0 0 1 pinlabel=RC2/CCP1 T -400 700 5 10 0 1 0 0 1 pinseq=13 T 0 600 5 10 0 1 0 0 1 pintype=io } V 350 5400 52 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 400 0 3600 6000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 5400 2400 8 10 0 0 0 0 1 description=Microchip PIC18F242 Microcontroller T 3800 6100 8 10 1 1 0 0 1 refdes=U? T 5400 3300 8 10 0 0 0 0 1 numslots=0 T 5400 3000 8 10 0 0 0 0 1 device=PIC18F242 T 1750 5750 9 10 1 0 0 0 1 PIC18F242 T 5400 3600 8 10 0 0 0 0 1 slot=1 T 5400 2700 8 10 0 0 0 0 1 footprint=DIP28 geda-gaf-1.8.2/symbols/micro/AT90S8535J-1.sym0000664000175000017500000001607412204104272015032 00000000000000v 20070626 1 B 300 0 1500 6300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 6575 5 10 0 0 0 0 1 device=AT90S8535J T 1800 6400 8 10 1 1 0 6 1 refdes=U? P 300 6000 0 6000 1 0 1 { T 200 6050 5 8 1 1 0 6 1 pinnumber=2 T 200 5950 5 8 0 1 0 8 1 pinseq=1 T 350 6000 9 8 1 1 0 0 1 pinlabel=PB0 T 350 6000 5 8 0 1 0 2 1 pintype=io } P 300 5700 0 5700 1 0 1 { T 200 5750 5 8 1 1 0 6 1 pinnumber=3 T 200 5650 5 8 0 1 0 8 1 pinseq=2 T 350 5700 9 8 1 1 0 0 1 pinlabel=PB1 T 350 5700 5 8 0 1 0 2 1 pintype=io } P 300 5400 0 5400 1 0 1 { T 200 5450 5 8 1 1 0 6 1 pinnumber=4 T 200 5350 5 8 0 1 0 8 1 pinseq=3 T 350 5400 9 8 1 1 0 0 1 pinlabel=PB2 T 350 5400 5 8 0 1 0 2 1 pintype=io } P 300 5100 0 5100 1 0 1 { T 200 5150 5 8 1 1 0 6 1 pinnumber=5 T 200 5050 5 8 0 1 0 8 1 pinseq=4 T 350 5100 9 8 1 1 0 0 1 pinlabel=PB3 T 350 5100 5 8 0 1 0 2 1 pintype=io } P 300 4800 0 4800 1 0 1 { T 200 4850 5 8 1 1 0 6 1 pinnumber=6 T 200 4750 5 8 0 1 0 8 1 pinseq=5 T 350 4800 9 8 1 1 0 0 1 pinlabel=PB4 T 350 4800 5 8 0 1 0 2 1 pintype=io } P 300 4500 0 4500 1 0 1 { T 200 4550 5 8 1 1 0 6 1 pinnumber=7 T 200 4450 5 8 0 1 0 8 1 pinseq=6 T 350 4500 9 8 1 1 0 0 1 pinlabel=PB5 T 350 4500 5 8 0 1 0 2 1 pintype=io } P 300 4200 0 4200 1 0 1 { T 200 4250 5 8 1 1 0 6 1 pinnumber=8 T 200 4150 5 8 0 1 0 8 1 pinseq=7 T 350 4200 9 8 1 1 0 0 1 pinlabel=PB6 T 350 4200 5 8 0 1 0 2 1 pintype=io } P 300 3900 0 3900 1 0 1 { T 200 3950 5 8 1 1 0 6 1 pinnumber=9 T 200 3850 5 8 0 1 0 8 1 pinseq=8 T 350 3900 9 8 1 1 0 0 1 pinlabel=PB7 T 350 3900 5 8 0 1 0 2 1 pintype=io } P 300 3600 0 3600 1 0 1 { T 200 3650 5 8 1 1 0 6 1 pinnumber=15 T 200 3550 5 8 0 1 0 8 1 pinseq=9 T 350 3600 9 8 1 1 0 0 1 pinlabel=PD0 T 350 3600 5 8 0 1 0 2 1 pintype=io } P 300 3300 0 3300 1 0 1 { T 200 3350 5 8 1 1 0 6 1 pinnumber=16 T 200 3250 5 8 0 1 0 8 1 pinseq=10 T 350 3300 9 8 1 1 0 0 1 pinlabel=PD1 T 350 3300 5 8 0 1 0 2 1 pintype=io } P 300 3000 0 3000 1 0 1 { T 200 3050 5 8 1 1 0 6 1 pinnumber=17 T 200 2950 5 8 0 1 0 8 1 pinseq=11 T 350 3000 9 8 1 1 0 0 1 pinlabel=PD2 T 350 3000 5 8 0 1 0 2 1 pintype=io } P 300 2700 0 2700 1 0 1 { T 200 2750 5 8 1 1 0 6 1 pinnumber=18 T 200 2650 5 8 0 1 0 8 1 pinseq=12 T 350 2700 9 8 1 1 0 0 1 pinlabel=PD3 T 350 2700 5 8 0 1 0 2 1 pintype=io } P 300 2400 0 2400 1 0 1 { T 200 2450 5 8 1 1 0 6 1 pinnumber=19 T 200 2350 5 8 0 1 0 8 1 pinseq=13 T 350 2400 9 8 1 1 0 0 1 pinlabel=PD4 T 350 2400 5 8 0 1 0 2 1 pintype=io } P 300 2100 0 2100 1 0 1 { T 200 2150 5 8 1 1 0 6 1 pinnumber=20 T 200 2050 5 8 0 1 0 8 1 pinseq=14 T 350 2100 9 8 1 1 0 0 1 pinlabel=PD5 T 350 2100 5 8 0 1 0 2 1 pintype=io } P 300 1800 0 1800 1 0 1 { T 200 1850 5 8 1 1 0 6 1 pinnumber=21 T 200 1750 5 8 0 1 0 8 1 pinseq=15 T 350 1800 9 8 1 1 0 0 1 pinlabel=PD6 T 350 1800 5 8 0 1 0 2 1 pintype=io } P 300 1500 0 1500 1 0 1 { T 200 1550 5 8 1 1 0 6 1 pinnumber=22 T 200 1450 5 8 0 1 0 8 1 pinseq=16 T 350 1500 9 8 1 1 0 0 1 pinlabel=PD7 T 350 1500 5 8 0 1 0 2 1 pintype=io } P 300 300 0 300 1 0 1 { T 200 350 5 8 1 1 0 6 1 pinnumber=14 T 200 250 5 8 0 1 0 8 1 pinseq=19 T 350 300 9 8 1 1 0 0 1 pinlabel=XTAL1 T 350 300 5 8 0 1 0 2 1 pintype=in } P 300 600 0 600 1 0 1 { T 200 650 5 8 1 1 0 6 1 pinnumber=13 T 200 550 5 8 0 1 0 8 1 pinseq=18 T 350 600 9 8 1 1 0 0 1 pinlabel=XTAL2 T 350 600 5 8 0 1 0 2 1 pintype=out } V 250 900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 900 0 900 1 0 1 { T 200 950 5 8 1 1 0 6 1 pinnumber=10 T 200 850 5 8 0 1 0 8 1 pinseq=17 T 350 900 9 8 1 1 0 0 1 pinlabel=\_RESET\_ T 350 900 5 8 0 1 0 2 1 pintype=in } P 1800 6000 2100 6000 1 0 1 { T 1900 6050 5 8 1 1 0 0 1 pinnumber=43 T 1900 5950 5 8 0 1 0 2 1 pinseq=20 T 1750 6000 9 8 1 1 0 6 1 pinlabel=PA0 T 1750 6000 5 8 0 1 0 8 1 pintype=io } P 1800 5700 2100 5700 1 0 1 { T 1900 5750 5 8 1 1 0 0 1 pinnumber=42 T 1900 5650 5 8 0 1 0 2 1 pinseq=21 T 1750 5700 9 8 1 1 0 6 1 pinlabel=PA1 T 1750 5700 5 8 0 1 0 8 1 pintype=io } P 1800 5400 2100 5400 1 0 1 { T 1900 5450 5 8 1 1 0 0 1 pinnumber=41 T 1900 5350 5 8 0 1 0 2 1 pinseq=22 T 1750 5400 9 8 1 1 0 6 1 pinlabel=PA2 T 1750 5400 5 8 0 1 0 8 1 pintype=io } P 1800 5100 2100 5100 1 0 1 { T 1900 5150 5 8 1 1 0 0 1 pinnumber=40 T 1900 5050 5 8 0 1 0 2 1 pinseq=23 T 1750 5100 9 8 1 1 0 6 1 pinlabel=PA3 T 1750 5100 5 8 0 1 0 8 1 pintype=io } P 1800 4800 2100 4800 1 0 1 { T 1900 4850 5 8 1 1 0 0 1 pinnumber=39 T 1900 4750 5 8 0 1 0 2 1 pinseq=24 T 1750 4800 9 8 1 1 0 6 1 pinlabel=PA4 T 1750 4800 5 8 0 1 0 8 1 pintype=io } P 1800 4500 2100 4500 1 0 1 { T 1900 4550 5 8 1 1 0 0 1 pinnumber=38 T 1900 4450 5 8 0 1 0 2 1 pinseq=25 T 1750 4500 9 8 1 1 0 6 1 pinlabel=PA5 T 1750 4500 5 8 0 1 0 8 1 pintype=io } P 1800 4200 2100 4200 1 0 1 { T 1900 4250 5 8 1 1 0 0 1 pinnumber=37 T 1900 4150 5 8 0 1 0 2 1 pinseq=26 T 1750 4200 9 8 1 1 0 6 1 pinlabel=PA6 T 1750 4200 5 8 0 1 0 8 1 pintype=io } P 1800 3900 2100 3900 1 0 1 { T 1900 3950 5 8 1 1 0 0 1 pinnumber=36 T 1900 3850 5 8 0 1 0 2 1 pinseq=27 T 1750 3900 9 8 1 1 0 6 1 pinlabel=PA7 T 1750 3900 5 8 0 1 0 8 1 pintype=io } P 1800 3600 2100 3600 1 0 1 { T 1900 3650 5 8 1 1 0 0 1 pinnumber=25 T 1900 3550 5 8 0 1 0 2 1 pinseq=35 T 1750 3600 9 8 1 1 0 6 1 pinlabel=PC0 T 1750 3600 5 8 0 1 0 8 1 pintype=io } P 1800 3300 2100 3300 1 0 1 { T 1900 3350 5 8 1 1 0 0 1 pinnumber=26 T 1900 3250 5 8 0 1 0 2 1 pinseq=34 T 1750 3300 9 8 1 1 0 6 1 pinlabel=PC1 T 1750 3300 5 8 0 1 0 8 1 pintype=io } P 1800 3000 2100 3000 1 0 1 { T 1900 3050 5 8 1 1 0 0 1 pinnumber=27 T 1900 2950 5 8 0 1 0 2 1 pinseq=33 T 1750 3000 9 8 1 1 0 6 1 pinlabel=PC2 T 1750 3000 5 8 0 1 0 8 1 pintype=io } P 1800 2700 2100 2700 1 0 1 { T 1900 2750 5 8 1 1 0 0 1 pinnumber=28 T 1900 2650 5 8 0 1 0 2 1 pinseq=32 T 1750 2700 9 8 1 1 0 6 1 pinlabel=PC3 T 1750 2700 5 8 0 1 0 8 1 pintype=io } P 1800 2400 2100 2400 1 0 1 { T 1900 2450 5 8 1 1 0 0 1 pinnumber=29 T 1900 2350 5 8 0 1 0 2 1 pinseq=31 T 1750 2400 9 8 1 1 0 6 1 pinlabel=PC4 T 1750 2400 5 8 0 1 0 8 1 pintype=io } P 1800 2100 2100 2100 1 0 1 { T 1900 2150 5 8 1 1 0 0 1 pinnumber=30 T 1900 2050 5 8 0 1 0 2 1 pinseq=30 T 1750 2100 9 8 1 1 0 6 1 pinlabel=PC5 T 1750 2100 5 8 0 1 0 8 1 pintype=io } P 1800 1800 2100 1800 1 0 1 { T 1900 1850 5 8 1 1 0 0 1 pinnumber=31 T 1900 1750 5 8 0 1 0 2 1 pinseq=29 T 1750 1800 9 8 1 1 0 6 1 pinlabel=PC6 T 1750 1800 5 8 0 1 0 8 1 pintype=io } P 1800 1500 2100 1500 1 0 1 { T 1900 1550 5 8 1 1 0 0 1 pinnumber=32 T 1900 1450 5 8 0 1 0 2 1 pinseq=28 T 1750 1500 9 8 1 1 0 6 1 pinlabel=PC7 T 1750 1500 5 8 0 1 0 8 1 pintype=io } P 1800 900 2100 900 1 0 1 { T 1900 950 5 8 1 1 0 0 1 pinnumber=35 T 1900 850 5 8 0 1 0 2 1 pinseq=36 T 1750 900 9 8 1 1 0 6 1 pinlabel=AREF T 1750 900 5 8 0 1 0 8 1 pintype=in } P 1800 600 2100 600 1 0 1 { T 1900 650 5 8 1 1 0 0 1 pinnumber=34 T 1900 550 5 8 0 1 0 2 1 pinseq=37 T 1750 600 9 8 1 1 0 6 1 pinlabel=AGND T 1750 600 5 8 0 1 0 8 1 pintype=pwr } P 1800 300 2100 300 1 0 1 { T 1900 350 5 8 1 1 0 0 1 pinnumber=33 T 1900 250 5 8 0 1 0 2 1 pinseq=38 T 1750 300 9 8 1 1 0 6 1 pinlabel=AVCC T 1750 300 5 8 0 1 0 8 1 pintype=pwr } T 300 7000 5 10 0 0 0 0 1 net=GND:1,12,24 T 300 6800 5 10 0 0 0 0 1 net=Vcc:44,11,23 T 300 7400 5 10 0 0 0 0 1 footprint=PLCC44 T 300 7600 5 10 0 0 0 0 1 description=8-bit RISC micro controller (Atmel) T 300 7200 5 10 0 0 0 0 1 numslots=0 T 300 6350 9 10 1 0 0 0 1 AT90S8535J geda-gaf-1.8.2/symbols/micro/ATmega128-1.sym0000664000175000017500000002661512204104272015166 00000000000000v 20070626 1 T 3600 12300 8 10 1 1 0 6 1 refdes=U? T 400 12450 8 10 0 0 0 0 1 device=Atmega128 T 400 12650 8 10 0 0 0 0 1 footprint=TQFP64 T 400 12850 8 10 0 0 0 0 1 net=Vcc:21,52 T 400 13050 8 10 0 0 0 0 1 net=GND:22,53 T 400 13250 8 10 0 0 0 0 1 net=AGND:63 T 400 13450 8 10 0 0 0 0 1 net=AVcc:64 P 1500 100 1500 400 1 0 0 { T 1550 200 5 8 1 1 0 0 1 pinnumber=23 T 1550 200 5 8 0 1 0 2 1 pinseq=1 T 1500 450 9 8 1 1 0 3 1 pinlabel=XTAL2 T 1500 600 5 8 0 1 0 3 1 pintype=out } P 900 100 900 400 1 0 0 { T 950 200 5 8 1 1 0 0 1 pinnumber=24 T 950 200 5 8 0 1 0 2 1 pinseq=2 T 900 450 9 8 1 1 0 3 1 pinlabel=XTAL1 T 900 600 5 8 0 1 0 3 1 pintype=in } P 2900 100 2900 400 1 0 0 { T 2950 200 5 8 1 1 0 0 1 pinnumber=18 T 2950 200 5 8 0 1 0 2 1 pinseq=3 T 3000 450 9 8 1 1 0 3 1 pinlabel=TOSC2/PG3 T 2900 600 5 8 0 1 0 3 1 pintype=io } P 2300 100 2300 400 1 0 0 { T 2350 200 5 8 1 1 0 0 1 pinnumber=19 T 2350 200 5 8 0 1 0 2 1 pinseq=4 T 2300 650 9 8 1 1 0 3 1 pinlabel=TOSC1/PG4 T 2300 600 5 8 0 1 0 3 1 pintype=io } P 100 800 300 800 1 0 0 { T 300 850 5 8 1 1 0 6 1 pinnumber=20 T 300 750 5 8 0 1 0 8 1 pinseq=5 T 450 800 9 8 1 1 0 0 1 pinlabel=\_Reset\_ T 450 800 5 8 0 1 0 2 1 pintype=in } V 350 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1200 300 1200 1 0 0 { T 300 1250 5 8 1 1 0 6 1 pinnumber=1 T 300 1150 5 8 0 1 0 8 1 pinseq=6 T 450 1200 9 8 1 1 0 0 1 pinlabel=\_PEN\_ T 450 1200 5 8 0 1 0 2 1 pintype=in } V 350 1200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2200 400 2200 1 0 0 { T 300 2250 5 8 1 1 0 6 1 pinnumber=9 T 300 2150 5 8 0 1 0 8 1 pinseq=7 T 450 2200 9 8 1 1 0 0 1 pinlabel=PE7 (IC3/INT7) T 450 2200 5 8 0 1 0 2 1 pintype=io } P 100 2600 400 2600 1 0 0 { T 300 2650 5 8 1 1 0 6 1 pinnumber=8 T 300 2550 5 8 0 1 0 8 1 pinseq=8 T 450 2600 9 8 1 1 0 0 1 pinlabel=PE6 (T3/INT6) T 450 2600 5 8 0 1 0 2 1 pintype=io } P 100 3000 400 3000 1 0 0 { T 300 3050 5 8 1 1 0 6 1 pinnumber=7 T 300 2950 5 8 0 1 0 8 1 pinseq=9 T 450 3000 9 8 1 1 0 0 1 pinlabel=PE5 (OC3C/INT5) T 450 3000 5 8 0 1 0 2 1 pintype=io } P 100 3400 400 3400 1 0 0 { T 300 3450 5 8 1 1 0 6 1 pinnumber=6 T 300 3350 5 8 0 1 0 8 1 pinseq=10 T 450 3400 9 8 1 1 0 0 1 pinlabel=PE4 (OC3B/INT4) T 450 3400 5 8 0 1 0 2 1 pintype=io } P 100 3800 400 3800 1 0 0 { T 300 3850 5 8 1 1 0 6 1 pinnumber=5 T 300 3750 5 8 0 1 0 8 1 pinseq=11 T 450 3800 9 8 1 1 0 0 1 pinlabel=PE3 (OC3A/AIN1) T 450 3800 5 8 0 1 0 2 1 pintype=io } P 100 4200 400 4200 1 0 0 { T 300 4250 5 8 1 1 0 6 1 pinnumber=4 T 300 4150 5 8 0 1 0 8 1 pinseq=12 T 450 4200 9 8 1 1 0 0 1 pinlabel=PE2 (XCK0/AIN0) T 450 4200 5 8 0 1 0 2 1 pintype=io } P 100 4600 400 4600 1 0 0 { T 300 4650 5 8 1 1 0 6 1 pinnumber=3 T 300 4550 5 8 0 1 0 8 1 pinseq=13 T 450 4600 9 8 1 1 0 0 1 pinlabel=PE1 (TXD0/PDO) T 450 4600 5 8 0 1 0 2 1 pintype=io } P 100 5000 400 5000 1 0 0 { T 300 5050 5 8 1 1 0 6 1 pinnumber=2 T 300 4950 5 8 0 1 0 8 1 pinseq=14 T 450 5000 9 8 1 1 0 0 1 pinlabel=PE0 (RXD0/PDI) T 450 5000 5 8 0 1 0 2 1 pintype=io } P 100 5600 400 5600 1 0 0 { T 300 5650 5 8 1 1 0 6 1 pinnumber=32 T 300 5550 5 8 0 1 0 8 1 pinseq=15 T 450 5600 9 8 1 1 0 0 1 pinlabel=PD7 (T2) T 450 5600 5 8 0 1 0 2 1 pintype=io } P 100 6000 400 6000 1 0 0 { T 300 6050 5 8 1 1 0 6 1 pinnumber=31 T 300 5950 5 8 0 1 0 8 1 pinseq=16 T 450 6000 9 8 1 1 0 0 1 pinlabel=PD6 (T1) T 450 6000 5 8 0 1 0 2 1 pintype=io } P 100 6400 400 6400 1 0 0 { T 300 6450 5 8 1 1 0 6 1 pinnumber=30 T 300 6350 5 8 0 1 0 8 1 pinseq=17 T 450 6400 9 8 1 1 0 0 1 pinlabel=PD5 (XCK1) T 450 6400 5 8 0 1 0 2 1 pintype=io } P 100 6800 400 6800 1 0 0 { T 300 6850 5 8 1 1 0 6 1 pinnumber=29 T 300 6750 5 8 0 1 0 8 1 pinseq=18 T 450 6800 9 8 1 1 0 0 1 pinlabel=PD4 (IC1) T 450 6800 5 8 0 1 0 2 1 pintype=io } P 100 7200 400 7200 1 0 0 { T 300 7250 5 8 1 1 0 6 1 pinnumber=28 T 300 7150 5 8 0 1 0 8 1 pinseq=19 T 450 7200 9 8 1 1 0 0 1 pinlabel=PD3 (TXD1/INT3) T 450 7200 5 8 0 1 0 2 1 pintype=io } P 100 7600 400 7600 1 0 0 { T 300 7650 5 8 1 1 0 6 1 pinnumber=27 T 300 7550 5 8 0 1 0 8 1 pinseq=20 T 450 7600 9 8 1 1 0 0 1 pinlabel=PD2 (RXD1/INT2) T 450 7600 5 8 0 1 0 2 1 pintype=io } P 100 8000 400 8000 1 0 0 { T 300 8050 5 8 1 1 0 6 1 pinnumber=26 T 300 7950 5 8 0 1 0 8 1 pinseq=21 T 450 8000 9 8 1 1 0 0 1 pinlabel=PD1 (SDA/INT1) T 450 8000 5 8 0 1 0 2 1 pintype=io } P 100 8400 400 8400 1 0 0 { T 300 8450 5 8 1 1 0 6 1 pinnumber=25 T 300 8350 5 8 0 1 0 8 1 pinseq=22 T 450 8400 9 8 1 1 0 0 1 pinlabel=PD0 (SCL/INT0) T 450 8400 5 8 0 1 0 2 1 pintype=io } P 100 9000 400 9000 1 0 0 { T 300 9050 5 8 1 1 0 6 1 pinnumber=17 T 300 8950 5 8 0 1 0 8 1 pinseq=23 T 450 9000 9 8 1 1 0 0 1 pinlabel=PB7 (OC2/OC1C) T 450 9000 5 8 0 1 0 2 1 pintype=io } P 100 9400 400 9400 1 0 0 { T 300 9450 5 8 1 1 0 6 1 pinnumber=16 T 300 9350 5 8 0 1 0 8 1 pinseq=24 T 450 9400 9 8 1 1 0 0 1 pinlabel=PB6 (OC1B) T 450 9400 5 8 0 1 0 2 1 pintype=io } P 100 9800 400 9800 1 0 0 { T 300 9850 5 8 1 1 0 6 1 pinnumber=15 T 300 9750 5 8 0 1 0 8 1 pinseq=25 T 450 9800 9 8 1 1 0 0 1 pinlabel=PB5 (OC1A) T 450 9800 5 8 0 1 0 2 1 pintype=io } P 100 10200 400 10200 1 0 0 { T 300 10250 5 8 1 1 0 6 1 pinnumber=14 T 300 10150 5 8 0 1 0 8 1 pinseq=26 T 450 10200 9 8 1 1 0 0 1 pinlabel=PB4 (OC0) T 450 10200 5 8 0 1 0 2 1 pintype=io } P 100 10600 400 10600 1 0 0 { T 300 10650 5 8 1 1 0 6 1 pinnumber=13 T 300 10550 5 8 0 1 0 8 1 pinseq=27 T 450 10600 9 8 1 1 0 0 1 pinlabel=PB3 (MISO) T 450 10600 5 8 0 1 0 2 1 pintype=io } P 100 11000 400 11000 1 0 0 { T 300 11050 5 8 1 1 0 6 1 pinnumber=12 T 300 10950 5 8 0 1 0 8 1 pinseq=28 T 450 11000 9 8 1 1 0 0 1 pinlabel=PB2 (MOSI) T 450 11000 5 8 0 1 0 2 1 pintype=io } P 100 11400 400 11400 1 0 0 { T 300 11450 5 8 1 1 0 6 1 pinnumber=11 T 300 11350 5 8 0 1 0 8 1 pinseq=29 T 450 11400 9 8 1 1 0 0 1 pinlabel=PB1 (SCK) T 450 11400 5 8 0 1 0 2 1 pintype=io } P 100 11800 400 11800 1 0 0 { T 300 11850 5 8 1 1 0 6 1 pinnumber=10 T 300 11750 5 8 0 1 0 8 1 pinseq=30 T 450 11800 9 8 1 1 0 0 1 pinlabel=PB0 (\_SS\_) T 450 11800 5 8 0 1 0 2 1 pintype=io } P 100 1600 400 1600 1 0 0 { T 300 1650 5 8 1 1 0 6 1 pinnumber=62 T 300 1550 5 8 0 1 0 8 1 pinseq=31 T 450 1600 9 8 1 1 0 0 1 pinlabel=AREF T 450 1600 5 8 0 1 0 2 1 pintype=in } P 3900 1600 3600 1600 1 0 0 { T 3700 1650 5 8 1 1 0 0 1 pinnumber=33 T 3700 1550 5 8 0 1 0 2 1 pinseq=32 T 3550 1600 9 8 1 1 0 6 1 pinlabel=PG0 (\_WR\_) T 3550 1600 5 8 0 1 0 8 1 pintype=io } P 3900 1200 3600 1200 1 0 0 { T 3700 1250 5 8 1 1 0 0 1 pinnumber=34 T 3700 1150 5 8 0 1 0 2 1 pinseq=33 T 3550 1200 9 8 1 1 0 6 1 pinlabel=PG1 (\_RD\_) T 3550 1200 5 8 0 1 0 8 1 pintype=io } P 3900 2200 3600 2200 1 0 0 { T 3700 2250 5 8 1 1 0 0 1 pinnumber=54 T 3700 2150 5 8 0 1 0 2 1 pinseq=34 T 3550 2200 9 8 1 1 0 6 1 pinlabel=PF7 (ADC7/TDI) T 3550 2200 5 8 0 1 0 8 1 pintype=io } P 3900 2600 3600 2600 1 0 0 { T 3700 2650 5 8 1 1 0 0 1 pinnumber=55 T 3700 2550 5 8 0 1 0 2 1 pinseq=35 T 3550 2600 9 8 1 1 0 6 1 pinlabel=PF6 (ADC6/TDO) T 3550 2600 5 8 0 1 0 8 1 pintype=io } P 3900 3000 3600 3000 1 0 0 { T 3700 3050 5 8 1 1 0 0 1 pinnumber=56 T 3700 2950 5 8 0 1 0 2 1 pinseq=36 T 3550 3000 9 8 1 1 0 6 1 pinlabel=PF5 (ADC5/TMS) T 3550 3000 5 8 0 1 0 8 1 pintype=io } P 3900 3400 3600 3400 1 0 0 { T 3700 3450 5 8 1 1 0 0 1 pinnumber=57 T 3700 3350 5 8 0 1 0 2 1 pinseq=37 T 3550 3400 9 8 1 1 0 6 1 pinlabel=PF4 (ADC4/TCK) T 3550 3400 5 8 0 1 0 8 1 pintype=io } P 3900 3800 3600 3800 1 0 0 { T 3700 3850 5 8 1 1 0 0 1 pinnumber=58 T 3700 3750 5 8 0 1 0 2 1 pinseq=38 T 3550 3800 9 8 1 1 0 6 1 pinlabel=PF3 (ADC3) T 3550 3800 5 8 0 1 0 8 1 pintype=io } P 3900 4200 3600 4200 1 0 0 { T 3700 4250 5 8 1 1 0 0 1 pinnumber=59 T 3700 4150 5 8 0 1 0 2 1 pinseq=39 T 3550 4200 9 8 1 1 0 6 1 pinlabel=PF2 (ADC2) T 3550 4200 5 8 0 1 0 8 1 pintype=io } P 3900 4600 3600 4600 1 0 0 { T 3700 4650 5 8 1 1 0 0 1 pinnumber=60 T 3700 4550 5 8 0 1 0 2 1 pinseq=40 T 3550 4600 9 8 1 1 0 6 1 pinlabel=PF1 (ADC1) T 3550 4600 5 8 0 1 0 8 1 pintype=io } P 3900 5000 3600 5000 1 0 0 { T 3700 5050 5 8 1 1 0 0 1 pinnumber=61 T 3700 4950 5 8 0 1 0 2 1 pinseq=41 T 3550 5000 9 8 1 1 0 6 1 pinlabel=PF0 (ADC0) T 3550 5000 5 8 0 1 0 8 1 pintype=io } P 3900 5600 3600 5600 1 0 0 { T 3700 5650 5 8 1 1 0 0 1 pinnumber=42 T 3700 5550 5 8 0 1 0 2 1 pinseq=42 T 3550 5600 9 8 1 1 0 6 1 pinlabel=PC7 (A15) T 3550 5600 5 8 0 1 0 8 1 pintype=io } P 3900 6000 3600 6000 1 0 0 { T 3700 6050 5 8 1 1 0 0 1 pinnumber=41 T 3700 5950 5 8 0 1 0 2 1 pinseq=43 T 3550 6000 9 8 1 1 0 6 1 pinlabel=PC6 (A14) T 3550 6000 5 8 0 1 0 8 1 pintype=io } P 3900 6400 3600 6400 1 0 0 { T 3700 6450 5 8 1 1 0 0 1 pinnumber=40 T 3700 6350 5 8 0 1 0 2 1 pinseq=44 T 3550 6400 9 8 1 1 0 6 1 pinlabel=PC5 (A13) T 3550 6400 5 8 0 1 0 8 1 pintype=io } P 3900 6800 3600 6800 1 0 0 { T 3700 6850 5 8 1 1 0 0 1 pinnumber=39 T 3700 6750 5 8 0 1 0 2 1 pinseq=45 T 3550 6800 9 8 1 1 0 6 1 pinlabel=PC4 (A12) T 3550 6800 5 8 0 1 0 8 1 pintype=io } P 3900 7200 3600 7200 1 0 0 { T 3700 7250 5 8 1 1 0 0 1 pinnumber=38 T 3700 7150 5 8 0 1 0 2 1 pinseq=46 T 3550 7200 9 8 1 1 0 6 1 pinlabel=PC3 (A11) T 3550 7200 5 8 0 1 0 8 1 pintype=io } P 3900 7600 3600 7600 1 0 0 { T 3700 7650 5 8 1 1 0 0 1 pinnumber=37 T 3700 7550 5 8 0 1 0 2 1 pinseq=47 T 3550 7600 9 8 1 1 0 6 1 pinlabel=PC2 (A10) T 3550 7600 5 8 0 1 0 8 1 pintype=io } P 3900 8000 3600 8000 1 0 0 { T 3700 8050 5 8 1 1 0 0 1 pinnumber=36 T 3700 7950 5 8 0 1 0 2 1 pinseq=48 T 3550 8000 9 8 1 1 0 6 1 pinlabel=PC1 (A9) T 3550 8000 5 8 0 1 0 8 1 pintype=io } P 3900 8400 3600 8400 1 0 0 { T 3700 8450 5 8 1 1 0 0 1 pinnumber=35 T 3700 8350 5 8 0 1 0 2 1 pinseq=49 T 3550 8400 9 8 1 1 0 6 1 pinlabel=PC0 (A8) T 3550 8400 5 8 0 1 0 8 1 pintype=io } P 3900 9000 3600 9000 1 0 0 { T 3700 9050 5 8 1 1 0 0 1 pinnumber=44 T 3700 8950 5 8 0 1 0 2 1 pinseq=50 T 3550 9000 9 8 1 1 0 6 1 pinlabel=PA7 (AD7) T 3550 9000 5 8 0 1 0 8 1 pintype=io } P 3900 9400 3600 9400 1 0 0 { T 3700 9450 5 8 1 1 0 0 1 pinnumber=45 T 3700 9350 5 8 0 1 0 2 1 pinseq=51 T 3550 9400 9 8 1 1 0 6 1 pinlabel=PA6 (AD6) T 3550 9400 5 8 0 1 0 8 1 pintype=io } P 3900 9800 3600 9800 1 0 0 { T 3700 9850 5 8 1 1 0 0 1 pinnumber=46 T 3700 9750 5 8 0 1 0 2 1 pinseq=52 T 3550 9800 9 8 1 1 0 6 1 pinlabel=PA5 (AD5) T 3550 9800 5 8 0 1 0 8 1 pintype=io } P 3900 10200 3600 10200 1 0 0 { T 3700 10250 5 8 1 1 0 0 1 pinnumber=47 T 3700 10150 5 8 0 1 0 2 1 pinseq=53 T 3550 10200 9 8 1 1 0 6 1 pinlabel=PA4 (AD4) T 3550 10200 5 8 0 1 0 8 1 pintype=io } P 3900 10600 3600 10600 1 0 0 { T 3700 10650 5 8 1 1 0 0 1 pinnumber=48 T 3700 10550 5 8 0 1 0 2 1 pinseq=54 T 3550 10600 9 8 1 1 0 6 1 pinlabel=PA3 (AD3) T 3550 10600 5 8 0 1 0 8 1 pintype=io } P 3900 11000 3600 11000 1 0 0 { T 3700 11050 5 8 1 1 0 0 1 pinnumber=49 T 3700 10950 5 8 0 1 0 2 1 pinseq=55 T 3550 11000 9 8 1 1 0 6 1 pinlabel=PA2 (AD2) T 3550 11000 5 8 0 1 0 8 1 pintype=io } P 3900 11400 3600 11400 1 0 0 { T 3700 11450 5 8 1 1 0 0 1 pinnumber=50 T 3700 11350 5 8 0 1 0 2 1 pinseq=56 T 3550 11400 9 8 1 1 0 6 1 pinlabel=PA1 (AD1) T 3550 11400 5 8 0 1 0 8 1 pintype=io } P 3900 11800 3600 11800 1 0 0 { T 3700 11850 5 8 1 1 0 0 1 pinnumber=51 T 3700 11750 5 8 0 1 0 2 1 pinseq=57 T 3550 11800 9 8 1 1 0 6 1 pinlabel=PA0 (AD0) T 3550 11800 5 8 0 1 0 8 1 pintype=io } P 3900 800 3600 800 1 0 0 { T 3700 850 5 8 1 1 0 0 1 pinnumber=43 T 3700 750 5 8 0 1 0 2 1 pinseq=58 T 3550 800 9 8 1 1 0 6 1 pinlabel=PG2 (ALE) T 3550 800 5 8 0 1 0 8 1 pintype=io } B 400 400 3200 11800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 13650 8 10 0 0 0 0 1 description=8-bit RISC micro controller (Atmel) T 400 13850 8 10 0 0 0 0 1 numslots=0 T 400 14050 8 10 0 0 0 0 1 author=Cyrille Chepelov based on ATmega103 by Werner Hoch T 400 12250 9 10 1 0 0 0 1 ATmega128 T 400 14200 8 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/micro/pic16F877-1.sym0000664000175000017500000001676612204104272015101 00000000000000v 20070626 1 B 400 100 2500 8400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 300 8100 100 8100 1 0 1 { T 300 8150 5 8 1 1 0 6 1 pinnumber=1 T 300 8050 5 8 0 1 0 8 1 pinseq=1 T 450 8100 9 8 1 1 0 0 1 pinlabel=\_MCLR\_ T 450 8100 5 8 0 1 0 2 1 pintype=in } P 400 7700 100 7700 1 0 1 { T 300 7750 5 8 1 1 0 6 1 pinnumber=2 T 300 7650 5 8 0 1 0 8 1 pinseq=2 T 450 7700 9 8 1 1 0 0 1 pinlabel=RA0 T 450 7700 5 8 0 1 0 2 1 pintype=io } P 400 7300 100 7300 1 0 1 { T 300 7350 5 8 1 1 0 6 1 pinnumber=3 T 300 7250 5 8 0 1 0 8 1 pinseq=3 T 450 7300 9 8 1 1 0 0 1 pinlabel=RA1 T 450 7300 5 8 0 1 0 2 1 pintype=io } P 400 6900 100 6900 1 0 1 { T 300 6950 5 8 1 1 0 6 1 pinnumber=4 T 300 6850 5 8 0 1 0 8 1 pinseq=4 T 450 6900 9 8 1 1 0 0 1 pinlabel=RA2 T 450 6900 5 8 0 1 0 2 1 pintype=io } P 400 6500 100 6500 1 0 1 { T 300 6550 5 8 1 1 0 6 1 pinnumber=5 T 300 6450 5 8 0 1 0 8 1 pinseq=5 T 450 6500 9 8 1 1 0 0 1 pinlabel=RA3 T 450 6500 5 8 0 1 0 2 1 pintype=io } P 400 6100 100 6100 1 0 1 { T 300 6150 5 8 1 1 0 6 1 pinnumber=6 T 300 6050 5 8 0 1 0 8 1 pinseq=6 T 450 6100 9 8 1 1 0 0 1 pinlabel=RA4 T 450 6100 5 8 0 1 0 2 1 pintype=io } P 400 5700 100 5700 1 0 1 { T 300 5750 5 8 1 1 0 6 1 pinnumber=7 T 300 5650 5 8 0 1 0 8 1 pinseq=7 T 450 5700 9 8 1 1 0 0 1 pinlabel=RA5 T 450 5700 5 8 0 1 0 2 1 pintype=io } P 400 5300 100 5300 1 0 1 { T 300 5350 5 8 1 1 0 6 1 pinnumber=8 T 300 5250 5 8 0 1 0 8 1 pinseq=8 T 450 5300 9 8 1 1 0 0 1 pinlabel=RE0 T 450 5300 5 8 0 1 0 2 1 pintype=io } P 400 4900 100 4900 1 0 1 { T 300 4950 5 8 1 1 0 6 1 pinnumber=9 T 300 4850 5 8 0 1 0 8 1 pinseq=9 T 450 4900 9 8 1 1 0 0 1 pinlabel=RE1 T 450 4900 5 8 0 1 0 2 1 pintype=io } P 400 4500 100 4500 1 0 1 { T 300 4550 5 8 1 1 0 6 1 pinnumber=10 T 300 4450 5 8 0 1 0 8 1 pinseq=10 T 450 4500 9 8 1 1 0 0 1 pinlabel=RE2 T 450 4500 5 8 0 1 0 2 1 pintype=io } P 400 4100 100 4100 1 0 1 { T 300 4150 5 8 1 1 0 6 1 pinnumber=11 T 300 4050 5 8 0 1 0 8 1 pinseq=11 T 450 4100 9 8 1 1 0 0 1 pinlabel=Vdd T 450 4100 5 8 0 1 0 2 1 pintype=pwr } P 400 3700 100 3700 1 0 1 { T 300 3750 5 8 1 1 0 6 1 pinnumber=12 T 300 3650 5 8 0 1 0 8 1 pinseq=12 T 450 3700 9 8 1 1 0 0 1 pinlabel=Vss T 450 3700 5 8 0 1 0 2 1 pintype=pwr } P 400 3300 100 3300 1 0 1 { T 300 3350 5 8 1 1 0 6 1 pinnumber=13 T 300 3250 5 8 0 1 0 8 1 pinseq=13 T 450 3300 9 8 1 1 0 0 1 pinlabel=CLKIN T 450 3300 5 8 0 1 0 2 1 pintype=clk } P 400 2900 100 2900 1 0 1 { T 300 2950 5 8 1 1 0 6 1 pinnumber=14 T 300 2850 5 8 0 1 0 8 1 pinseq=14 T 450 2900 9 8 1 1 0 0 1 pinlabel=CLKOUT T 450 2900 5 8 0 1 0 2 1 pintype=clk } P 400 2500 100 2500 1 0 1 { T 300 2550 5 8 1 1 0 6 1 pinnumber=15 T 300 2450 5 8 0 1 0 8 1 pinseq=15 T 450 2500 9 8 1 1 0 0 1 pinlabel=RC0 T 450 2500 5 8 0 1 0 2 1 pintype=io } P 400 2100 100 2100 1 0 1 { T 300 2150 5 8 1 1 0 6 1 pinnumber=16 T 300 2050 5 8 0 1 0 8 1 pinseq=16 T 450 2100 9 8 1 1 0 0 1 pinlabel=RC1 T 450 2100 5 8 0 1 0 2 1 pintype=io } P 400 1700 100 1700 1 0 1 { T 300 1750 5 8 1 1 0 6 1 pinnumber=17 T 300 1650 5 8 0 1 0 8 1 pinseq=17 T 450 1700 9 8 1 1 0 0 1 pinlabel=RC2 T 450 1700 5 8 0 1 0 2 1 pintype=io } P 400 1300 100 1300 1 0 1 { T 300 1350 5 8 1 1 0 6 1 pinnumber=18 T 300 1250 5 8 0 1 0 8 1 pinseq=18 T 450 1300 9 8 1 1 0 0 1 pinlabel=RC3 T 450 1300 5 8 0 1 0 2 1 pintype=io } P 400 900 100 900 1 0 1 { T 300 950 5 8 1 1 0 6 1 pinnumber=19 T 300 850 5 8 0 1 0 8 1 pinseq=19 T 450 900 9 8 1 1 0 0 1 pinlabel=RD0 T 450 900 5 8 0 1 0 2 1 pintype=io } P 400 500 100 500 1 0 1 { T 300 550 5 8 1 1 0 6 1 pinnumber=20 T 300 450 5 8 0 1 0 8 1 pinseq=20 T 450 500 9 8 1 1 0 0 1 pinlabel=RD1 T 450 500 5 8 0 1 0 2 1 pintype=io } P 3200 500 2900 500 1 0 0 { T 3000 550 5 8 1 1 0 0 1 pinnumber=21 T 3000 450 5 8 0 1 0 2 1 pinseq=21 T 2850 500 9 8 1 1 0 6 1 pinlabel=RD2 T 2850 500 5 8 0 1 0 8 1 pintype=io } P 3200 900 2900 900 1 0 0 { T 3000 950 5 8 1 1 0 0 1 pinnumber=22 T 3000 850 5 8 0 1 0 2 1 pinseq=22 T 2850 900 9 8 1 1 0 6 1 pinlabel=RD3 T 2850 900 5 8 0 1 0 8 1 pintype=io } P 3200 1300 2900 1300 1 0 0 { T 3000 1350 5 8 1 1 0 0 1 pinnumber=23 T 3000 1250 5 8 0 1 0 2 1 pinseq=23 T 2850 1300 9 8 1 1 0 6 1 pinlabel=RC4 T 2850 1300 5 8 0 1 0 8 1 pintype=io } P 3200 1700 2900 1700 1 0 0 { T 3000 1750 5 8 1 1 0 0 1 pinnumber=24 T 3000 1650 5 8 0 1 0 2 1 pinseq=24 T 2850 1700 9 8 1 1 0 6 1 pinlabel=RC5 T 2850 1700 5 8 0 1 0 8 1 pintype=io } P 3200 2100 2900 2100 1 0 0 { T 3000 2150 5 8 1 1 0 0 1 pinnumber=25 T 3000 2050 5 8 0 1 0 2 1 pinseq=25 T 2850 2100 9 8 1 1 0 6 1 pinlabel=RC6 T 2850 2100 5 8 0 1 0 8 1 pintype=io } P 3200 2500 2900 2500 1 0 0 { T 3000 2550 5 8 1 1 0 0 1 pinnumber=26 T 3000 2450 5 8 0 1 0 2 1 pinseq=26 T 2850 2500 9 8 1 1 0 6 1 pinlabel=RC7 T 2850 2500 5 8 0 1 0 8 1 pintype=io } P 3200 2900 2900 2900 1 0 0 { T 3000 2950 5 8 1 1 0 0 1 pinnumber=27 T 3000 2850 5 8 0 1 0 2 1 pinseq=27 T 2850 2900 9 8 1 1 0 6 1 pinlabel=RD4 T 2850 2900 5 8 0 1 0 8 1 pintype=io } P 3200 3300 2900 3300 1 0 0 { T 3000 3350 5 8 1 1 0 0 1 pinnumber=28 T 3000 3250 5 8 0 1 0 2 1 pinseq=28 T 2850 3300 9 8 1 1 0 6 1 pinlabel=RD5 T 2850 3300 5 8 0 1 0 8 1 pintype=io } P 3200 3700 2900 3700 1 0 0 { T 3000 3750 5 8 1 1 0 0 1 pinnumber=29 T 3000 3650 5 8 0 1 0 2 1 pinseq=29 T 2850 3700 9 8 1 1 0 6 1 pinlabel=RD6 T 2850 3700 5 8 0 1 0 8 1 pintype=io } P 3200 4100 2900 4100 1 0 0 { T 3000 4150 5 8 1 1 0 0 1 pinnumber=30 T 3000 4050 5 8 0 1 0 2 1 pinseq=30 T 2850 4100 9 8 1 1 0 6 1 pinlabel=RD7 T 2850 4100 5 8 0 1 0 8 1 pintype=io } P 3200 4500 2900 4500 1 0 0 { T 3000 4550 5 8 1 1 0 0 1 pinnumber=31 T 3000 4450 5 8 0 1 0 2 1 pinseq=31 T 2850 4500 9 8 1 1 0 6 1 pinlabel=Vss T 2850 4500 5 8 0 1 0 8 1 pintype=pwr } P 3200 4900 2900 4900 1 0 0 { T 3000 4950 5 8 1 1 0 0 1 pinnumber=32 T 3000 4850 5 8 0 1 0 2 1 pinseq=32 T 2850 4900 9 8 1 1 0 6 1 pinlabel=Vdd T 2850 4900 5 8 0 1 0 8 1 pintype=pwr } P 3200 5300 2900 5300 1 0 0 { T 3000 5350 5 8 1 1 0 0 1 pinnumber=33 T 3000 5250 5 8 0 1 0 2 1 pinseq=33 T 2850 5300 9 8 1 1 0 6 1 pinlabel=RB0 T 2850 5300 5 8 0 1 0 8 1 pintype=io } P 3200 5700 2900 5700 1 0 0 { T 3000 5750 5 8 1 1 0 0 1 pinnumber=34 T 3000 5650 5 8 0 1 0 2 1 pinseq=34 T 2850 5700 9 8 1 1 0 6 1 pinlabel=RB1 T 2850 5700 5 8 0 1 0 8 1 pintype=io } P 3200 6100 2900 6100 1 0 0 { T 3000 6150 5 8 1 1 0 0 1 pinnumber=35 T 3000 6050 5 8 0 1 0 2 1 pinseq=35 T 2850 6100 9 8 1 1 0 6 1 pinlabel=RB2 T 2850 6100 5 8 0 1 0 8 1 pintype=io } P 3200 6500 2900 6500 1 0 0 { T 3000 6550 5 8 1 1 0 0 1 pinnumber=36 T 3000 6450 5 8 0 1 0 2 1 pinseq=36 T 2850 6500 9 8 1 1 0 6 1 pinlabel=RB3 T 2850 6500 5 8 0 1 0 8 1 pintype=io } P 3200 6900 2900 6900 1 0 0 { T 3000 6950 5 8 1 1 0 0 1 pinnumber=37 T 3000 6850 5 8 0 1 0 2 1 pinseq=37 T 2850 6900 9 8 1 1 0 6 1 pinlabel=RB4 T 2850 6900 5 8 0 1 0 8 1 pintype=io } P 3200 7300 2900 7300 1 0 0 { T 3000 7350 5 8 1 1 0 0 1 pinnumber=38 T 3000 7250 5 8 0 1 0 2 1 pinseq=38 T 2850 7300 9 8 1 1 0 6 1 pinlabel=RB5 T 2850 7300 5 8 0 1 0 8 1 pintype=io } P 3200 7700 2900 7700 1 0 0 { T 3000 7750 5 8 1 1 0 0 1 pinnumber=39 T 3000 7650 5 8 0 1 0 2 1 pinseq=39 T 2850 7700 9 8 1 1 0 6 1 pinlabel=RB6 T 2850 7700 5 8 0 1 0 8 1 pintype=io } P 3200 8100 2900 8100 1 0 0 { T 3000 8150 5 8 1 1 0 0 1 pinnumber=40 T 3000 8050 5 8 0 1 0 2 1 pinseq=40 T 2850 8100 9 8 1 1 0 6 1 pinlabel=RB7 T 2850 8100 5 8 0 1 0 8 1 pintype=io } T 400 8750 5 10 0 0 0 0 1 device=pic16F877 T 2700 8600 8 10 1 1 0 0 1 refdes=U? T 400 8950 5 10 0 0 0 0 1 footprint=PDIP40 T 400 9350 5 10 0 0 0 0 1 description=8-bit CMOS FLASH microcontroller T 400 9150 5 10 0 0 0 0 1 numslots=0 T 400 9550 5 10 0 0 0 0 1 documentation=http://www.microchip.com/download/lit/pline/picmicro/families/16f87x/30292c.pdf T 400 8550 9 10 1 0 0 0 1 PIC16F877 V 350 8100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/micro/FT245BM-1.sym0000664000175000017500000001375512204104272014561 00000000000000v 20041228 1 B 300 0 2500 6600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 300 6200 0 6200 1 0 1 { T 200 6250 5 8 1 1 0 6 1 pinnumber=1 T 200 6150 5 8 0 1 0 8 1 pinseq=1 T 350 6200 9 8 1 1 0 0 1 pinlabel=EESK T 350 6200 5 8 0 1 0 2 1 pintype=io } P 300 5800 0 5800 1 0 1 { T 200 5850 5 8 1 1 0 6 1 pinnumber=2 T 200 5750 5 8 0 1 0 8 1 pinseq=2 T 350 5800 9 8 1 1 0 0 1 pinlabel=EEDATA T 350 5800 5 8 0 1 0 2 1 pintype=io } P 300 5400 0 5400 1 0 1 { T 200 5450 5 8 1 1 0 6 1 pinnumber=3 T 200 5350 5 8 0 1 0 8 1 pinseq=3 T 350 5400 9 8 1 1 0 0 1 pinlabel=VCC T 350 5400 5 8 0 1 0 2 1 pintype=pwr } P 300 5000 0 5000 1 0 1 { T 200 5050 5 8 1 1 0 6 1 pinnumber=4 T 200 4950 5 8 0 1 0 8 1 pinseq=4 T 350 5000 9 8 1 1 0 0 1 pinlabel=RESET# T 350 5000 5 8 0 1 0 2 1 pintype=io } P 300 4600 0 4600 1 0 1 { T 200 4650 5 8 1 1 0 6 1 pinnumber=5 T 200 4550 5 8 0 1 0 8 1 pinseq=5 T 350 4600 9 8 1 1 0 0 1 pinlabel=RSTO# T 350 4600 5 8 0 1 0 2 1 pintype=io } P 300 4200 0 4200 1 0 1 { T 200 4250 5 8 1 1 0 6 1 pinnumber=6 T 200 4150 5 8 0 1 0 8 1 pinseq=6 T 350 4200 9 8 1 1 0 0 1 pinlabel=3V3OUT T 350 4200 5 8 0 1 0 2 1 pintype=io } P 300 3800 0 3800 1 0 1 { T 200 3850 5 8 1 1 0 6 1 pinnumber=7 T 200 3750 5 8 0 1 0 8 1 pinseq=7 T 350 3800 9 8 1 1 0 0 1 pinlabel=USBDP T 350 3800 5 8 0 1 0 2 1 pintype=io } P 300 3400 0 3400 1 0 1 { T 200 3450 5 8 1 1 0 6 1 pinnumber=8 T 200 3350 5 8 0 1 0 8 1 pinseq=8 T 350 3400 9 8 1 1 0 0 1 pinlabel=USBDM T 350 3400 5 8 0 1 0 2 1 pintype=io } P 300 3000 0 3000 1 0 1 { T 200 3050 5 8 1 1 0 6 1 pinnumber=9 T 200 2950 5 8 0 1 0 8 1 pinseq=9 T 350 3000 9 8 1 1 0 0 1 pinlabel=GND T 300 3000 5 10 0 1 0 0 1 pintype=pwr } P 300 2600 0 2600 1 0 1 { T 200 2650 5 8 1 1 0 6 1 pinnumber=10 T 200 2550 5 8 0 1 0 8 1 pinseq=10 T 350 2600 9 8 1 1 0 0 1 pinlabel=PWREN# T 350 2600 5 8 0 1 0 2 1 pintype=io } P 300 2200 0 2200 1 0 1 { T 200 2250 5 8 1 1 0 6 1 pinnumber=11 T 200 2150 5 8 0 1 0 8 1 pinseq=11 T 350 2200 9 8 1 1 0 0 1 pinlabel=SI / WU T 350 2200 5 8 0 1 0 2 1 pintype=io } P 300 1800 0 1800 1 0 1 { T 200 1850 5 8 1 1 0 6 1 pinnumber=12 T 200 1750 5 8 0 1 0 8 1 pinseq=12 T 350 1800 9 8 1 1 0 0 1 pinlabel=RXF# T 350 1800 5 8 0 1 0 2 1 pintype=io } P 300 1400 0 1400 1 0 1 { T 200 1450 5 8 1 1 0 6 1 pinnumber=13 T 200 1350 5 8 0 1 0 8 1 pinseq=13 T 350 1400 9 8 1 1 0 0 1 pinlabel=VCCIO T 350 1400 5 8 0 1 0 2 1 pintype=pwr } P 300 1000 0 1000 1 0 1 { T 200 1050 5 8 1 1 0 6 1 pinnumber=14 T 200 950 5 8 0 1 0 8 1 pinseq=14 T 350 1000 9 8 1 1 0 0 1 pinlabel=TXE# T 350 1000 5 8 0 1 0 2 1 pintype=io } P 3100 200 2800 200 1 0 0 { T 2900 250 5 8 1 1 0 0 1 pinnumber=17 T 2900 150 5 8 0 1 0 2 1 pinseq=17 T 2750 200 9 8 1 1 0 6 1 pinlabel=GND T 3100 200 5 10 0 1 0 0 1 pintype=pwr } P 3100 600 2800 600 1 0 0 { T 2900 650 5 8 1 1 0 0 1 pinnumber=18 T 2900 550 5 8 0 1 0 2 1 pinseq=18 T 2750 600 9 8 1 1 0 6 1 pinlabel=D7 T 2750 600 5 8 0 1 0 8 1 pintype=io } P 3100 1000 2800 1000 1 0 0 { T 2900 1050 5 8 1 1 0 0 1 pinnumber=19 T 2900 950 5 8 0 1 0 2 1 pinseq=19 T 2750 1000 9 8 1 1 0 6 1 pinlabel=D6 T 2750 1000 5 8 0 1 0 8 1 pintype=io } P 3100 1400 2800 1400 1 0 0 { T 2900 1450 5 8 1 1 0 0 1 pinnumber=20 T 2900 1350 5 8 0 1 0 2 1 pinseq=20 T 2750 1400 9 8 1 1 0 6 1 pinlabel=D5 T 2750 1400 5 8 0 1 0 8 1 pintype=io } P 3100 1800 2800 1800 1 0 0 { T 2900 1850 5 8 1 1 0 0 1 pinnumber=21 T 2900 1750 5 8 0 1 0 2 1 pinseq=21 T 2750 1800 9 8 1 1 0 6 1 pinlabel=D4 T 2750 1800 5 8 0 1 0 8 1 pintype=io } P 3100 2200 2800 2200 1 0 0 { T 2900 2250 5 8 1 1 0 0 1 pinnumber=22 T 2900 2150 5 8 0 1 0 2 1 pinseq=22 T 2750 2200 9 8 1 1 0 6 1 pinlabel=D3 T 2750 2200 5 8 0 1 0 8 1 pintype=io } P 3100 2600 2800 2600 1 0 0 { T 2900 2650 5 8 1 1 0 0 1 pinnumber=23 T 2900 2550 5 8 0 1 0 2 1 pinseq=23 T 2750 2600 9 8 1 1 0 6 1 pinlabel=D2 T 2750 2600 5 8 0 1 0 8 1 pintype=io } P 3100 3000 2800 3000 1 0 0 { T 2900 3050 5 8 1 1 0 0 1 pinnumber=24 T 2900 2950 5 8 0 1 0 2 1 pinseq=24 T 2750 3000 9 8 1 1 0 6 1 pinlabel=D1 T 2750 3000 5 8 0 1 0 8 1 pintype=io } P 3100 3400 2800 3400 1 0 0 { T 2900 3450 5 8 1 1 0 0 1 pinnumber=25 T 2900 3350 5 8 0 1 0 2 1 pinseq=25 T 2750 3400 9 8 1 1 0 6 1 pinlabel=D0 T 2750 3400 5 8 0 1 0 8 1 pintype=io } P 3100 3800 2800 3800 1 0 0 { T 2900 3850 5 8 1 1 0 0 1 pinnumber=26 T 2900 3750 5 8 0 1 0 2 1 pinseq=26 T 2750 3800 9 8 1 1 0 6 1 pinlabel=VCC T 2750 3800 5 8 0 1 0 8 1 pintype=pwr } P 3100 4200 2800 4200 1 0 0 { T 2900 4250 5 8 1 1 0 0 1 pinnumber=27 T 2900 4150 5 8 0 1 0 2 1 pinseq=27 T 2750 4200 9 8 1 1 0 6 1 pinlabel=XTIN T 2750 4200 5 8 0 1 0 8 1 pintype=in } P 3100 4600 2800 4600 1 0 0 { T 2900 4650 5 8 1 1 0 0 1 pinnumber=28 T 2900 4550 5 8 0 1 0 2 1 pinseq=28 T 2750 4600 9 8 1 1 0 6 1 pinlabel=XTOUT T 2750 4600 5 8 0 1 0 8 1 pintype=out } T 2600 6700 8 10 1 1 0 0 1 refdes=U? T 300 6850 8 10 0 0 0 0 1 device=FT245BM T 300 7250 8 10 0 0 0 0 1 footprint=TQFP32 T 300 7450 8 10 0 0 0 0 1 description=USB FIFO (USB - Parallel) T 300 7050 8 10 0 0 0 0 1 numslots=0 T 300 7650 8 10 0 0 0 0 1 documentation=http://www.ftdichip.com/Documents/ds245b11.pdf T 300 6650 9 10 1 0 0 0 1 FT245BM P 300 600 0 600 1 0 1 { T 200 650 5 8 1 1 0 6 1 pinnumber=15 T 200 550 5 8 0 1 0 8 1 pinseq=15 T 350 600 9 8 1 1 0 0 1 pinlabel=WR T 350 600 5 8 0 1 0 2 1 pintype=io } P 300 200 0 200 1 0 1 { T 200 250 5 8 1 1 0 6 1 pinnumber=16 T 200 150 5 8 0 1 0 8 1 pinseq=16 T 350 200 9 8 1 1 0 0 1 pinlabel=RD# T 350 200 5 8 0 1 0 2 1 pintype=io } P 3100 5000 2800 5000 1 0 0 { T 2900 5050 5 8 1 1 0 0 1 pinnumber=29 T 2900 4950 5 8 0 1 0 2 1 pinseq=29 T 2750 5000 9 8 1 1 0 6 1 pinlabel=AGND T 3100 5000 5 10 0 1 0 0 1 pintype=pwr } P 3100 5400 2800 5400 1 0 0 { T 2900 5450 5 8 1 1 0 0 1 pinnumber=30 T 2900 5350 5 8 0 1 0 2 1 pinseq=30 T 2750 5400 9 8 1 1 0 6 1 pinlabel=AVCC T 2750 5400 5 8 0 1 0 8 1 pintype=pwr } P 3100 5800 2800 5800 1 0 0 { T 2900 5850 5 8 1 1 0 0 1 pinnumber=31 T 2900 5750 5 8 0 1 0 2 1 pinseq=31 T 2750 5800 9 8 1 1 0 6 1 pinlabel=TEST T 2750 5800 5 8 0 1 0 8 1 pintype=io } P 3100 6200 2800 6200 1 0 0 { T 2900 6250 5 8 1 1 0 0 1 pinnumber=32 T 2900 6150 5 8 0 1 0 2 1 pinseq=32 T 2750 6200 9 8 1 1 0 6 1 pinlabel=EECS T 2750 6200 5 8 0 1 0 8 1 pintype=io } geda-gaf-1.8.2/symbols/micro/AT89C51_TQFP.sym0000664000175000017500000001772612204104272015232 00000000000000v 20070626 1 T 3000 8900 8 10 1 1 0 6 1 refdes=U? T 400 9050 5 10 0 0 0 0 1 device=AT89C51_TQFT T 400 9250 5 10 0 0 0 0 1 footprint=TQFP44 T 400 9450 5 10 0 0 0 0 1 net=GND:16,17 T 400 9650 5 10 0 0 0 0 1 net=Vcc:38 P 3300 1600 3000 1600 1 0 0 { T 3100 1650 5 8 1 1 0 0 1 pinnumber=27 T 3100 1550 5 8 0 1 0 2 1 pinseq=1 T 2950 1600 9 8 1 1 0 6 1 pinlabel=ALE/\_PROG\_ T 2950 1600 5 8 0 1 0 8 1 pintype=out } P 3300 1200 3100 1200 1 0 0 { T 3100 1250 5 8 1 1 0 0 1 pinnumber=29 T 3100 1150 5 8 0 1 0 2 1 pinseq=2 T 2950 1200 9 8 1 1 0 6 1 pinlabel=\_EA\_/VPP T 2950 1200 5 8 0 1 0 8 1 pintype=in } V 3050 1200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 3300 8400 3000 8400 1 0 0 { T 3100 8450 5 8 1 1 0 0 1 pinnumber=37 T 3100 8350 5 8 0 1 0 2 1 pinseq=3 T 2950 8400 9 8 1 1 0 6 1 pinlabel=(AD0) P0.0 T 2950 8400 5 8 0 1 0 8 1 pintype=io } P 3300 8000 3000 8000 1 0 0 { T 3100 8050 5 8 1 1 0 0 1 pinnumber=36 T 3100 7950 5 8 0 1 0 2 1 pinseq=4 T 2950 8000 9 8 1 1 0 6 1 pinlabel=(AD1) P0.1 T 2950 8000 5 8 0 1 0 8 1 pintype=io } P 3300 7600 3000 7600 1 0 0 { T 3100 7650 5 8 1 1 0 0 1 pinnumber=35 T 3100 7550 5 8 0 1 0 2 1 pinseq=5 T 2950 7600 9 8 1 1 0 6 1 pinlabel=(AD2) P0.2 T 2950 7600 5 8 0 1 0 8 1 pintype=io } P 3300 7200 3000 7200 1 0 0 { T 3100 7250 5 8 1 1 0 0 1 pinnumber=34 T 3100 7150 5 8 0 1 0 2 1 pinseq=6 T 2950 7200 9 8 1 1 0 6 1 pinlabel=(AD3) P0.3 T 2950 7200 5 8 0 1 0 8 1 pintype=io } P 3300 6800 3000 6800 1 0 0 { T 3100 6850 5 8 1 1 0 0 1 pinnumber=33 T 3100 6750 5 8 0 1 0 2 1 pinseq=7 T 2950 6800 9 8 1 1 0 6 1 pinlabel=(AD4) P0.4 T 2950 6800 5 8 0 1 0 8 1 pintype=io } P 3300 6400 3000 6400 1 0 0 { T 3100 6450 5 8 1 1 0 0 1 pinnumber=32 T 3100 6350 5 8 0 1 0 2 1 pinseq=8 T 2950 6400 9 8 1 1 0 6 1 pinlabel=(AD5) P0.5 T 2950 6400 5 8 0 1 0 8 1 pintype=io } P 3300 6000 3000 6000 1 0 0 { T 3100 6050 5 8 1 1 0 0 1 pinnumber=31 T 3100 5950 5 8 0 1 0 2 1 pinseq=9 T 2950 6000 9 8 1 1 0 6 1 pinlabel=(AD6) P0.6 T 2950 6000 5 8 0 1 0 8 1 pintype=io } P 3300 5600 3000 5600 1 0 0 { T 3100 5650 5 8 1 1 0 0 1 pinnumber=30 T 3100 5550 5 8 0 1 0 2 1 pinseq=10 T 2950 5600 9 8 1 1 0 6 1 pinlabel=(AD7) P0.7 T 2950 5600 5 8 0 1 0 8 1 pintype=io } P 3300 5000 3000 5000 1 0 0 { T 3100 5050 5 8 1 1 0 0 1 pinnumber=18 T 3100 4950 5 8 0 1 0 2 1 pinseq=11 T 2950 5000 9 8 1 1 0 6 1 pinlabel=(A8) P2.0 T 2950 5000 5 8 0 1 0 8 1 pintype=io } P 3300 4600 3000 4600 1 0 0 { T 3100 4650 5 8 1 1 0 0 1 pinnumber=19 T 3100 4550 5 8 0 1 0 2 1 pinseq=12 T 2950 4600 9 8 1 1 0 6 1 pinlabel=(A9) P2.1 T 2950 4600 5 8 0 1 0 8 1 pintype=io } P 3300 4200 3000 4200 1 0 0 { T 3100 4250 5 8 1 1 0 0 1 pinnumber=20 T 3100 4150 5 8 0 1 0 2 1 pinseq=13 T 2950 4200 9 8 1 1 0 6 1 pinlabel=(A10) P2.2 T 2950 4200 5 8 0 1 0 8 1 pintype=io } P 3300 3800 3000 3800 1 0 0 { T 3100 3850 5 8 1 1 0 0 1 pinnumber=21 T 3100 3750 5 8 0 1 0 2 1 pinseq=14 T 2950 3800 9 8 1 1 0 6 1 pinlabel=(A11) P2.3 T 2950 3800 5 8 0 1 0 8 1 pintype=io } P 3300 3400 3000 3400 1 0 0 { T 3100 3450 5 8 1 1 0 0 1 pinnumber=22 T 3100 3350 5 8 0 1 0 2 1 pinseq=15 T 2950 3400 9 8 1 1 0 6 1 pinlabel=(A12) P2.4 T 2950 3400 5 8 0 1 0 8 1 pintype=io } P 3300 3000 3000 3000 1 0 0 { T 3100 3050 5 8 1 1 0 0 1 pinnumber=23 T 3100 2950 5 8 0 1 0 2 1 pinseq=16 T 2950 3000 9 8 1 1 0 6 1 pinlabel=(A13) P2.5 T 2950 3000 5 8 0 1 0 8 1 pintype=io } P 3300 2600 3000 2600 1 0 0 { T 3100 2650 5 8 1 1 0 0 1 pinnumber=24 T 3100 2550 5 8 0 1 0 2 1 pinseq=17 T 2950 2600 9 8 1 1 0 6 1 pinlabel=(A14) P2.6 T 2950 2600 5 8 0 1 0 8 1 pintype=io } P 3300 2200 3000 2200 1 0 0 { T 3100 2250 5 8 1 1 0 0 1 pinnumber=25 T 3100 2150 5 8 0 1 0 2 1 pinseq=18 T 2950 2200 9 8 1 1 0 6 1 pinlabel=(A15) P2.7 T 2950 2200 5 8 0 1 0 8 1 pintype=io } P 3300 800 3100 800 1 0 0 { T 3100 850 5 8 1 1 0 0 1 pinnumber=26 T 3100 750 5 8 0 1 0 2 1 pinseq=19 T 2950 800 9 8 1 1 0 6 1 pinlabel=\_PSEN\_ T 2950 800 5 8 0 1 0 8 1 pintype=out } V 3050 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1200 400 1200 1 0 0 { T 300 1250 5 8 1 1 0 6 1 pinnumber=39 T 300 1150 5 8 0 1 0 8 1 pinseq=20 T 450 1200 9 8 1 1 0 0 1 pinlabel=NC. T 450 1200 5 8 0 1 0 2 1 pintype=tp } P 100 1000 400 1000 1 0 0 { T 300 1050 5 8 1 1 0 6 1 pinnumber=6 T 300 950 5 8 0 1 0 8 1 pinseq=21 T 450 1000 9 8 1 1 0 0 1 pinlabel=NC. T 450 1000 5 8 0 1 0 2 1 pintype=tp } P 100 800 400 800 1 0 0 { T 300 850 5 8 1 1 0 6 1 pinnumber=28 T 300 750 5 8 0 1 0 8 1 pinseq=22 T 450 800 9 8 1 1 0 0 1 pinlabel=NC. T 450 800 5 8 0 1 0 2 1 pintype=tp } P 100 8400 400 8400 1 0 0 { T 300 8450 5 8 1 1 0 6 1 pinnumber=40 T 300 8350 5 8 0 1 0 8 1 pinseq=23 T 450 8400 9 8 1 1 0 0 1 pinlabel=P1.0 (T2) T 450 8400 5 8 0 1 0 2 1 pintype=io } P 100 8000 400 8000 1 0 0 { T 300 8050 5 8 1 1 0 6 1 pinnumber=41 T 300 7950 5 8 0 1 0 8 1 pinseq=24 T 450 8000 9 8 1 1 0 0 1 pinlabel=P1.1 (T3 EX) T 450 8000 5 8 0 1 0 2 1 pintype=io } P 100 7600 400 7600 1 0 0 { T 300 7650 5 8 1 1 0 6 1 pinnumber=42 T 300 7550 5 8 0 1 0 8 1 pinseq=25 T 450 7600 9 8 1 1 0 0 1 pinlabel=P1.2 T 450 7600 5 8 0 1 0 2 1 pintype=io } P 100 7200 400 7200 1 0 0 { T 300 7250 5 8 1 1 0 6 1 pinnumber=43 T 300 7150 5 8 0 1 0 8 1 pinseq=26 T 450 7200 9 8 1 1 0 0 1 pinlabel=P1.3 T 450 7200 5 8 0 1 0 2 1 pintype=io } P 100 6800 400 6800 1 0 0 { T 300 6850 5 8 1 1 0 6 1 pinnumber=44 T 300 6750 5 8 0 1 0 8 1 pinseq=27 T 450 6800 9 8 1 1 0 0 1 pinlabel=P1.4 T 450 6800 5 8 0 1 0 2 1 pintype=io } P 100 6400 400 6400 1 0 0 { T 300 6450 5 8 1 1 0 6 1 pinnumber=1 T 300 6350 5 8 0 1 0 8 1 pinseq=28 T 450 6400 9 8 1 1 0 0 1 pinlabel=P1.5 T 450 6400 5 8 0 1 0 2 1 pintype=io } P 100 6000 400 6000 1 0 0 { T 300 6050 5 8 1 1 0 6 1 pinnumber=2 T 300 5950 5 8 0 1 0 8 1 pinseq=29 T 450 6000 9 8 1 1 0 0 1 pinlabel=P1.6 T 450 6000 5 8 0 1 0 2 1 pintype=io } P 100 5600 400 5600 1 0 0 { T 300 5650 5 8 1 1 0 6 1 pinnumber=3 T 300 5550 5 8 0 1 0 8 1 pinseq=30 T 450 5600 9 8 1 1 0 0 1 pinlabel=P1.7 T 450 5600 5 8 0 1 0 2 1 pintype=io } P 100 5000 400 5000 1 0 0 { T 300 5050 5 8 1 1 0 6 1 pinnumber=5 T 300 4950 5 8 0 1 0 8 1 pinseq=31 T 450 5000 9 8 1 1 0 0 1 pinlabel=P3.0 (RXD) T 450 5000 5 8 0 1 0 2 1 pintype=io } P 100 4600 400 4600 1 0 0 { T 300 4650 5 8 1 1 0 6 1 pinnumber=7 T 300 4550 5 8 0 1 0 8 1 pinseq=32 T 450 4600 9 8 1 1 0 0 1 pinlabel=P3.1 (TXD) T 450 4600 5 8 0 1 0 2 1 pintype=io } P 100 4200 400 4200 1 0 0 { T 300 4250 5 8 1 1 0 6 1 pinnumber=8 T 300 4150 5 8 0 1 0 8 1 pinseq=33 T 450 4200 9 8 1 1 0 0 1 pinlabel=P3.2 (\_INT0\_) T 450 4200 5 8 0 1 0 2 1 pintype=io } P 100 3800 400 3800 1 0 0 { T 300 3850 5 8 1 1 0 6 1 pinnumber=9 T 300 3750 5 8 0 1 0 8 1 pinseq=34 T 450 3800 9 8 1 1 0 0 1 pinlabel=P3.3 (\_INT1\_) T 450 3800 5 8 0 1 0 2 1 pintype=io } P 100 3400 400 3400 1 0 0 { T 300 3450 5 8 1 1 0 6 1 pinnumber=10 T 300 3350 5 8 0 1 0 8 1 pinseq=35 T 450 3400 9 8 1 1 0 0 1 pinlabel=P3.4 (T0) T 450 3400 5 8 0 1 0 2 1 pintype=io } P 100 3000 400 3000 1 0 0 { T 300 3050 5 8 1 1 0 6 1 pinnumber=11 T 300 2950 5 8 0 1 0 8 1 pinseq=36 T 450 3000 9 8 1 1 0 0 1 pinlabel=P3.5 (T1) T 450 3000 5 8 0 1 0 2 1 pintype=io } P 100 2600 400 2600 1 0 0 { T 300 2650 5 8 1 1 0 6 1 pinnumber=12 T 300 2550 5 8 0 1 0 8 1 pinseq=37 T 450 2600 9 8 1 1 0 0 1 pinlabel=P3.6 (\_WR\_) T 450 2600 5 8 0 1 0 2 1 pintype=io } P 100 2200 400 2200 1 0 0 { T 300 2250 5 8 1 1 0 6 1 pinnumber=13 T 300 2150 5 8 0 1 0 8 1 pinseq=38 T 450 2200 9 8 1 1 0 0 1 pinlabel=P3.7 (\_RD\_) T 450 2200 5 8 0 1 0 2 1 pintype=io } P 1000 100 1000 400 1 0 0 { T 1050 200 5 8 1 1 0 0 1 pinnumber=4 T 1050 200 5 8 0 1 0 2 1 pinseq=39 T 1000 450 9 8 1 1 0 3 1 pinlabel=RST T 1000 600 5 8 0 1 0 3 1 pintype=in } P 1800 100 1800 400 1 0 0 { T 1850 200 5 8 1 1 0 0 1 pinnumber=15 T 1850 200 5 8 0 1 0 2 1 pinseq=40 T 1800 450 9 8 1 1 0 3 1 pinlabel=XTAL1 T 1800 600 5 8 0 1 0 3 1 pintype=in } P 2400 100 2400 400 1 0 0 { T 2450 200 5 8 1 1 0 0 1 pinnumber=14 T 2450 200 5 8 0 1 0 2 1 pinseq=41 T 2400 450 9 8 1 1 0 3 1 pinlabel=XTAL2 T 2400 600 5 8 0 1 0 3 1 pintype=out } B 400 400 2600 8400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 10050 5 10 0 0 0 0 1 description=8-bit 8051-compatible micro controller (Atmel) T 400 9850 5 10 0 0 0 0 1 numslots=0 T 400 10250 5 10 0 0 0 0 1 author=Werner Hoch T 400 8850 9 10 1 0 0 0 1 AT89C51 geda-gaf-1.8.2/symbols/micro/ATmega161_DIP.sym0000664000175000017500000001666612204104272015526 00000000000000v 20070626 1 T 3000 8900 8 10 1 1 0 6 1 refdes=U? T 400 9050 5 10 0 0 0 0 1 device=ATmega161_DIP T 400 9250 5 10 0 0 0 0 1 footprint=DIP40 T 400 9450 5 10 0 0 0 0 1 net=GND:20 T 400 9650 5 10 0 0 0 0 1 net=Vcc:40 P 2300 100 2300 300 1 0 0 { T 2350 200 5 8 1 1 0 0 1 pinnumber=9 T 2350 200 5 8 0 1 0 2 1 pinseq=1 T 2300 450 9 8 1 1 0 3 1 pinlabel=\_Reset\_ T 2300 600 5 8 0 1 0 3 1 pintype=in } V 2300 350 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1700 100 1700 400 1 0 0 { T 1750 200 5 8 1 1 0 0 1 pinnumber=18 T 1750 200 5 8 0 1 0 2 1 pinseq=2 T 1700 450 9 8 1 1 0 3 1 pinlabel=XTAL2 T 1700 600 5 8 0 1 0 3 1 pintype=out } P 1100 100 1100 400 1 0 0 { T 1150 200 5 8 1 1 0 0 1 pinnumber=19 T 1150 200 5 8 0 1 0 2 1 pinseq=3 T 1100 450 9 8 1 1 0 3 1 pinlabel=XTAL1 T 1100 600 5 8 0 1 0 3 1 pintype=in } P 100 2200 400 2200 1 0 0 { T 300 2250 5 8 1 1 0 6 1 pinnumber=17 T 300 2150 5 8 0 1 0 8 1 pinseq=4 T 450 2200 9 8 1 1 0 0 1 pinlabel=PD7 (\_RD\_) T 450 2200 5 8 0 1 0 2 1 pintype=io } P 100 2600 400 2600 1 0 0 { T 300 2650 5 8 1 1 0 6 1 pinnumber=16 T 300 2550 5 8 0 1 0 8 1 pinseq=5 T 450 2600 9 8 1 1 0 0 1 pinlabel=PD6 (\_WR\_) T 450 2600 5 8 0 1 0 2 1 pintype=io } P 100 3000 400 3000 1 0 0 { T 300 3050 5 8 1 1 0 6 1 pinnumber=15 T 300 2950 5 8 0 1 0 8 1 pinseq=6 T 450 3000 9 8 1 1 0 0 1 pinlabel=PD5 (OC1A/TOSC2) T 450 3000 5 8 0 1 0 2 1 pintype=io } P 100 3400 400 3400 1 0 0 { T 300 3450 5 8 1 1 0 6 1 pinnumber=14 T 300 3350 5 8 0 1 0 8 1 pinseq=7 T 450 3400 9 8 1 1 0 0 1 pinlabel=PD4 (TOSC1) T 450 3400 5 8 0 1 0 2 1 pintype=io } P 100 3800 400 3800 1 0 0 { T 300 3850 5 8 1 1 0 6 1 pinnumber=13 T 300 3750 5 8 0 1 0 8 1 pinseq=8 T 450 3800 9 8 1 1 0 0 1 pinlabel=PD3 (INT1) T 450 3800 5 8 0 1 0 2 1 pintype=io } P 100 4200 400 4200 1 0 0 { T 300 4250 5 8 1 1 0 6 1 pinnumber=12 T 300 4150 5 8 0 1 0 8 1 pinseq=9 T 450 4200 9 8 1 1 0 0 1 pinlabel=PD2 (INT0) T 450 4200 5 8 0 1 0 2 1 pintype=io } P 100 4600 400 4600 1 0 0 { T 300 4650 5 8 1 1 0 6 1 pinnumber=11 T 300 4550 5 8 0 1 0 8 1 pinseq=10 T 450 4600 9 8 1 1 0 0 1 pinlabel=PD1 (TXD0) T 450 4600 5 8 0 1 0 2 1 pintype=io } P 100 5000 400 5000 1 0 0 { T 300 5050 5 8 1 1 0 6 1 pinnumber=10 T 300 4950 5 8 0 1 0 8 1 pinseq=11 T 450 5000 9 8 1 1 0 0 1 pinlabel=PD0 (RXD0) T 450 5000 5 8 0 1 0 2 1 pintype=io } P 100 5600 400 5600 1 0 0 { T 300 5650 5 8 1 1 0 6 1 pinnumber=8 T 300 5550 5 8 0 1 0 8 1 pinseq=12 T 450 5600 9 8 1 1 0 0 1 pinlabel=PB7 (SCK) T 450 5600 5 8 0 1 0 2 1 pintype=io } P 100 6000 400 6000 1 0 0 { T 300 6050 5 8 1 1 0 6 1 pinnumber=7 T 300 5950 5 8 0 1 0 8 1 pinseq=13 T 450 6000 9 8 1 1 0 0 1 pinlabel=PB6 (MISO) T 450 6000 5 8 0 1 0 2 1 pintype=io } P 100 6400 400 6400 1 0 0 { T 300 6450 5 8 1 1 0 6 1 pinnumber=6 T 300 6350 5 8 0 1 0 8 1 pinseq=14 T 450 6400 9 8 1 1 0 0 1 pinlabel=PB5 (MOSI) T 450 6400 5 8 0 1 0 2 1 pintype=io } P 100 6800 400 6800 1 0 0 { T 300 6850 5 8 1 1 0 6 1 pinnumber=5 T 300 6750 5 8 0 1 0 8 1 pinseq=15 T 450 6800 9 8 1 1 0 0 1 pinlabel=PB4 (\_SS\_) T 450 6800 5 8 0 1 0 2 1 pintype=io } P 100 7200 400 7200 1 0 0 { T 300 7250 5 8 1 1 0 6 1 pinnumber=4 T 300 7150 5 8 0 1 0 8 1 pinseq=16 T 450 7200 9 8 1 1 0 0 1 pinlabel=PB3 (TXD1/AIN1) T 450 7200 5 8 0 1 0 2 1 pintype=io } P 100 7600 400 7600 1 0 0 { T 300 7650 5 8 1 1 0 6 1 pinnumber=3 T 300 7550 5 8 0 1 0 8 1 pinseq=17 T 450 7600 9 8 1 1 0 0 1 pinlabel=PB2 (RXD1/AIN0) T 450 7600 5 8 0 1 0 2 1 pintype=io } P 100 8000 400 8000 1 0 0 { T 300 8050 5 8 1 1 0 6 1 pinnumber=2 T 300 7950 5 8 0 1 0 8 1 pinseq=18 T 450 8000 9 8 1 1 0 0 1 pinlabel=PB1 (OC2/T1) T 450 8000 5 8 0 1 0 2 1 pintype=io } P 100 8400 400 8400 1 0 0 { T 300 8450 5 8 1 1 0 6 1 pinnumber=1 T 300 8350 5 8 0 1 0 8 1 pinseq=19 T 450 8400 9 8 1 1 0 0 1 pinlabel=PB0 (OC0/T0) T 450 8400 5 8 0 1 0 2 1 pintype=io } P 3300 800 3000 800 1 0 0 { T 3100 850 5 8 1 1 0 0 1 pinnumber=29 T 3100 750 5 8 0 1 0 2 1 pinseq=20 T 2950 800 9 8 1 1 0 6 1 pinlabel=(OC1B) PE2 T 2950 800 5 8 0 1 0 8 1 pintype=io } P 3300 1200 3000 1200 1 0 0 { T 3100 1250 5 8 1 1 0 0 1 pinnumber=30 T 3100 1150 5 8 0 1 0 2 1 pinseq=21 T 2950 1200 9 8 1 1 0 6 1 pinlabel=(ALE) PE1 T 2950 1200 5 8 0 1 0 8 1 pintype=io } P 3300 1600 3000 1600 1 0 0 { T 3100 1650 5 8 1 1 0 0 1 pinnumber=31 T 3100 1550 5 8 0 1 0 2 1 pinseq=22 T 2950 1600 9 8 1 1 0 6 1 pinlabel=(ICP/INT2) PE0 T 2950 1600 5 8 0 1 0 8 1 pintype=io } P 3300 2200 3000 2200 1 0 0 { T 3100 2250 5 8 1 1 0 0 1 pinnumber=28 T 3100 2150 5 8 0 1 0 2 1 pinseq=23 T 2950 2200 9 8 1 1 0 6 1 pinlabel=(A15) PC7 T 2950 2200 5 8 0 1 0 8 1 pintype=io } P 3300 2600 3000 2600 1 0 0 { T 3100 2650 5 8 1 1 0 0 1 pinnumber=27 T 3100 2550 5 8 0 1 0 2 1 pinseq=24 T 2950 2600 9 8 1 1 0 6 1 pinlabel=(A14) PC6 T 2950 2600 5 8 0 1 0 8 1 pintype=io } P 3300 3000 3000 3000 1 0 0 { T 3100 3050 5 8 1 1 0 0 1 pinnumber=26 T 3100 2950 5 8 0 1 0 2 1 pinseq=25 T 2950 3000 9 8 1 1 0 6 1 pinlabel=(A13) PC5 T 2950 3000 5 8 0 1 0 8 1 pintype=io } P 3300 3400 3000 3400 1 0 0 { T 3100 3450 5 8 1 1 0 0 1 pinnumber=25 T 3100 3350 5 8 0 1 0 2 1 pinseq=26 T 2950 3400 9 8 1 1 0 6 1 pinlabel=(A12) PC4 T 2950 3400 5 8 0 1 0 8 1 pintype=io } P 3300 3800 3000 3800 1 0 0 { T 3100 3850 5 8 1 1 0 0 1 pinnumber=24 T 3100 3750 5 8 0 1 0 2 1 pinseq=27 T 2950 3800 9 8 1 1 0 6 1 pinlabel=(A11) PC3 T 2950 3800 5 8 0 1 0 8 1 pintype=io } P 3300 4200 3000 4200 1 0 0 { T 3100 4250 5 8 1 1 0 0 1 pinnumber=23 T 3100 4150 5 8 0 1 0 2 1 pinseq=28 T 2950 4200 9 8 1 1 0 6 1 pinlabel=(A10) PC2 T 2950 4200 5 8 0 1 0 8 1 pintype=io } P 3300 4600 3000 4600 1 0 0 { T 3100 4650 5 8 1 1 0 0 1 pinnumber=22 T 3100 4550 5 8 0 1 0 2 1 pinseq=29 T 2950 4600 9 8 1 1 0 6 1 pinlabel=(A9) PC1 T 2950 4600 5 8 0 1 0 8 1 pintype=io } P 3300 5000 3000 5000 1 0 0 { T 3100 5050 5 8 1 1 0 0 1 pinnumber=21 T 3100 4950 5 8 0 1 0 2 1 pinseq=30 T 2950 5000 9 8 1 1 0 6 1 pinlabel=(A8) PC0 T 2950 5000 5 8 0 1 0 8 1 pintype=io } P 3300 5600 3000 5600 1 0 0 { T 3100 5650 5 8 1 1 0 0 1 pinnumber=32 T 3100 5550 5 8 0 1 0 2 1 pinseq=31 T 2950 5600 9 8 1 1 0 6 1 pinlabel=(AD7) PA7 T 2950 5600 5 8 0 1 0 8 1 pintype=io } P 3300 6000 3000 6000 1 0 0 { T 3100 6050 5 8 1 1 0 0 1 pinnumber=33 T 3100 5950 5 8 0 1 0 2 1 pinseq=32 T 2950 6000 9 8 1 1 0 6 1 pinlabel=(AD6) PA6 T 2950 6000 5 8 0 1 0 8 1 pintype=io } P 3300 6400 3000 6400 1 0 0 { T 3100 6450 5 8 1 1 0 0 1 pinnumber=34 T 3100 6350 5 8 0 1 0 2 1 pinseq=33 T 2950 6400 9 8 1 1 0 6 1 pinlabel=(AD5) PA5 T 2950 6400 5 8 0 1 0 8 1 pintype=io } P 3300 6800 3000 6800 1 0 0 { T 3100 6850 5 8 1 1 0 0 1 pinnumber=35 T 3100 6750 5 8 0 1 0 2 1 pinseq=34 T 2950 6800 9 8 1 1 0 6 1 pinlabel=(AD4) PA4 T 2950 6800 5 8 0 1 0 8 1 pintype=io } P 3300 7200 3000 7200 1 0 0 { T 3100 7250 5 8 1 1 0 0 1 pinnumber=36 T 3100 7150 5 8 0 1 0 2 1 pinseq=35 T 2950 7200 9 8 1 1 0 6 1 pinlabel=(AD3) PA3 T 2950 7200 5 8 0 1 0 8 1 pintype=io } P 3300 7600 3000 7600 1 0 0 { T 3100 7650 5 8 1 1 0 0 1 pinnumber=37 T 3100 7550 5 8 0 1 0 2 1 pinseq=36 T 2950 7600 9 8 1 1 0 6 1 pinlabel=(AD2) PA2 T 2950 7600 5 8 0 1 0 8 1 pintype=io } P 3300 8000 3000 8000 1 0 0 { T 3100 8050 5 8 1 1 0 0 1 pinnumber=38 T 3100 7950 5 8 0 1 0 2 1 pinseq=37 T 2950 8000 9 8 1 1 0 6 1 pinlabel=(AD1) PA1 T 2950 8000 5 8 0 1 0 8 1 pintype=io } P 3300 8400 3000 8400 1 0 0 { T 3100 8450 5 8 1 1 0 0 1 pinnumber=39 T 3100 8350 5 8 0 1 0 2 1 pinseq=38 T 2950 8400 9 8 1 1 0 6 1 pinlabel=(AD0) PA0 T 2950 8400 5 8 0 1 0 8 1 pintype=io } B 400 400 2600 8400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 9850 5 10 0 0 0 0 1 description=8-bit RISC micro controller (Atmel) T 400 10050 5 10 0 0 0 0 1 numslots=0 T 400 10250 5 10 0 0 0 0 1 author=Werner Hoch T 400 8850 9 10 1 0 0 0 1 ATmega161 geda-gaf-1.8.2/symbols/micro/DS1602-1.sym0000664000175000017500000000345412204104272014410 00000000000000v 20070626 1 B 300 200 1200 1300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1500 1600 8 10 1 1 0 6 1 refdes=U? T 300 2000 5 10 0 0 0 0 1 description=elapsed time counter T 300 2200 5 10 0 0 0 0 1 footprint=DIP8 P 0 1300 200 1300 1 0 0 { T 200 1350 5 8 1 1 0 6 1 pinnumber=1 T 350 1300 9 8 1 1 0 0 1 pinlabel=\_RST\_ T 350 1300 5 8 0 1 0 2 1 pintype=in T 200 1250 5 8 0 1 0 8 1 pinseq=1 } P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=2 T 350 1000 9 8 1 1 0 0 1 pinlabel=DQ T 350 1000 5 8 0 1 0 2 1 pintype=io T 200 950 5 8 0 1 0 8 1 pinseq=2 } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=3 T 350 700 9 8 1 1 0 0 1 pinlabel=CLK T 350 700 5 8 0 1 0 2 1 pintype=in T 200 650 5 8 0 1 0 8 1 pinseq=3 } P 0 400 300 400 1 0 0 { T 200 450 5 8 1 1 0 6 1 pinnumber=4 T 350 400 9 8 1 1 0 0 1 pinlabel=GND T 350 400 5 8 0 1 0 2 1 pintype=pwr T 200 350 5 8 0 1 0 8 1 pinseq=4 } P 1800 1300 1500 1300 1 0 0 { T 1600 1350 5 8 1 1 0 0 1 pinnumber=8 T 1450 1300 9 8 1 1 0 6 1 pinlabel=Vcc T 1450 1300 5 8 0 1 0 8 1 pintype=pwr T 1600 1250 5 8 0 1 0 2 1 pinseq=8 } P 1800 1000 1500 1000 1 0 0 { T 1600 1050 5 8 1 1 0 0 1 pinnumber=7 T 1450 1000 9 8 1 1 0 6 1 pinlabel=X1 T 1450 1000 5 8 0 1 0 8 1 pintype=io T 1600 950 5 8 0 1 0 2 1 pinseq=7 } P 1800 700 1500 700 1 0 0 { T 1600 750 5 8 1 1 0 0 1 pinnumber=6 T 1450 700 9 8 1 1 0 6 1 pinlabel=X2 T 1450 700 5 8 0 1 0 8 1 pintype=io T 1600 650 5 8 0 1 0 2 1 pinseq=6 } P 1800 400 1500 400 1 0 0 { T 1600 450 5 8 1 1 0 0 1 pinnumber=5 T 1450 400 9 8 1 1 0 6 1 pinlabel=Vbat T 1450 400 5 8 0 1 0 8 1 pintype=pwr T 1600 350 5 8 0 1 0 2 1 pinseq=5 } V 250 1300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 1800 5 10 0 0 0 0 1 device=DS1602 T 300 2400 5 10 0 0 0 0 1 numslots=0 T 300 1550 9 10 1 0 0 0 1 DS1602 T 300 2600 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/DS1602.pdf geda-gaf-1.8.2/symbols/micro/ATmega163_TQFP.sym0000664000175000017500000001611412204104272015652 00000000000000v 20070626 1 T 3000 7500 8 10 1 1 0 6 1 refdes=U? T 400 7650 5 10 0 0 0 0 1 device=ATmega163_TQFP T 400 7850 5 10 0 0 0 0 1 footprint=TQFP44 T 400 8050 5 10 0 0 0 0 1 net=Vcc:5,17,38 T 400 8250 5 10 0 0 0 0 1 net=GND:6,18,39 T 400 8450 5 10 0 0 0 0 1 net=AVcc:27 T 400 8650 5 10 0 0 0 0 1 net=AGND:28 P 2600 100 2600 300 1 0 0 { T 2650 200 5 8 1 1 0 0 1 pinnumber=4 T 2650 200 5 8 0 1 0 2 1 pinseq=1 T 2600 450 9 8 1 1 0 3 1 pinlabel=\_Reset\_ T 2600 600 5 8 0 1 0 3 1 pintype=in } V 2600 350 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 100 2000 400 1 0 0 { T 2050 200 5 8 1 1 0 0 1 pinnumber=7 T 2050 200 5 8 0 1 0 2 1 pinseq=2 T 2000 450 9 8 1 1 0 3 1 pinlabel=XTAL2 T 2000 600 5 8 0 1 0 3 1 pintype=out } P 1400 100 1400 400 1 0 0 { T 1450 200 5 8 1 1 0 0 1 pinnumber=8 T 1450 200 5 8 0 1 0 2 1 pinseq=3 T 1400 450 9 8 1 1 0 3 1 pinlabel=XTAL1 T 1400 600 5 8 0 1 0 3 1 pintype=in } P 800 100 800 400 1 0 0 { T 850 200 5 8 1 1 0 0 1 pinnumber=29 T 850 200 5 8 0 1 0 2 1 pinseq=4 T 800 450 9 8 1 1 0 3 1 pinlabel=AREF T 800 600 5 8 0 1 0 3 1 pintype=in } P 100 800 400 800 1 0 0 { T 300 850 5 8 1 1 0 6 1 pinnumber=16 T 300 750 5 8 0 1 0 8 1 pinseq=5 T 450 800 9 8 1 1 0 0 1 pinlabel=PD7 (OC2) T 450 800 5 8 0 1 0 2 1 pintype=io } P 100 1200 400 1200 1 0 0 { T 300 1250 5 8 1 1 0 6 1 pinnumber=15 T 300 1150 5 8 0 1 0 8 1 pinseq=6 T 450 1200 9 8 1 1 0 0 1 pinlabel=PD6 (ICP) T 450 1200 5 8 0 1 0 2 1 pintype=io } P 100 1600 400 1600 1 0 0 { T 300 1650 5 8 1 1 0 6 1 pinnumber=14 T 300 1550 5 8 0 1 0 8 1 pinseq=7 T 450 1600 9 8 1 1 0 0 1 pinlabel=PD5 (OC1A) T 450 1600 5 8 0 1 0 2 1 pintype=io } P 100 2000 400 2000 1 0 0 { T 300 2050 5 8 1 1 0 6 1 pinnumber=13 T 300 1950 5 8 0 1 0 8 1 pinseq=8 T 450 2000 9 8 1 1 0 0 1 pinlabel=PD4 (OC1B) T 450 2000 5 8 0 1 0 2 1 pintype=io } P 100 2400 400 2400 1 0 0 { T 300 2450 5 8 1 1 0 6 1 pinnumber=12 T 300 2350 5 8 0 1 0 8 1 pinseq=9 T 450 2400 9 8 1 1 0 0 1 pinlabel=PD3 (INT1) T 450 2400 5 8 0 1 0 2 1 pintype=io } P 100 2800 400 2800 1 0 0 { T 300 2850 5 8 1 1 0 6 1 pinnumber=11 T 300 2750 5 8 0 1 0 8 1 pinseq=10 T 450 2800 9 8 1 1 0 0 1 pinlabel=PD2 (INT0) T 450 2800 5 8 0 1 0 2 1 pintype=io } P 100 3200 400 3200 1 0 0 { T 300 3250 5 8 1 1 0 6 1 pinnumber=10 T 300 3150 5 8 0 1 0 8 1 pinseq=11 T 450 3200 9 8 1 1 0 0 1 pinlabel=PD1 (TXD) T 450 3200 5 8 0 1 0 2 1 pintype=io } P 100 3600 400 3600 1 0 0 { T 300 3650 5 8 1 1 0 6 1 pinnumber=9 T 300 3550 5 8 0 1 0 8 1 pinseq=12 T 450 3600 9 8 1 1 0 0 1 pinlabel=PD0 (RXD) T 450 3600 5 8 0 1 0 2 1 pintype=io } P 100 4200 400 4200 1 0 0 { T 300 4250 5 8 1 1 0 6 1 pinnumber=3 T 300 4150 5 8 0 1 0 8 1 pinseq=13 T 450 4200 9 8 1 1 0 0 1 pinlabel=PB7 (SCK) T 450 4200 5 8 0 1 0 2 1 pintype=io } P 100 4600 400 4600 1 0 0 { T 300 4650 5 8 1 1 0 6 1 pinnumber=2 T 300 4550 5 8 0 1 0 8 1 pinseq=14 T 450 4600 9 8 1 1 0 0 1 pinlabel=PB6 (MISO) T 450 4600 5 8 0 1 0 2 1 pintype=io } P 100 5000 400 5000 1 0 0 { T 300 5050 5 8 1 1 0 6 1 pinnumber=1 T 300 4950 5 8 0 1 0 8 1 pinseq=15 T 450 5000 9 8 1 1 0 0 1 pinlabel=PB5 (MOSI) T 450 5000 5 8 0 1 0 2 1 pintype=io } P 100 5400 400 5400 1 0 0 { T 300 5450 5 8 1 1 0 6 1 pinnumber=44 T 300 5350 5 8 0 1 0 8 1 pinseq=16 T 450 5400 9 8 1 1 0 0 1 pinlabel=PB4 (\_SS\_) T 450 5400 5 8 0 1 0 2 1 pintype=io } P 100 5800 400 5800 1 0 0 { T 300 5850 5 8 1 1 0 6 1 pinnumber=43 T 300 5750 5 8 0 1 0 8 1 pinseq=17 T 450 5800 9 8 1 1 0 0 1 pinlabel=PB3 (AIN1) T 450 5800 5 8 0 1 0 2 1 pintype=io } P 100 6200 400 6200 1 0 0 { T 300 6250 5 8 1 1 0 6 1 pinnumber=42 T 300 6150 5 8 0 1 0 8 1 pinseq=18 T 450 6200 9 8 1 1 0 0 1 pinlabel=PB2 (AIN0) T 450 6200 5 8 0 1 0 2 1 pintype=io } P 100 6600 400 6600 1 0 0 { T 300 6650 5 8 1 1 0 6 1 pinnumber=41 T 300 6550 5 8 0 1 0 8 1 pinseq=19 T 450 6600 9 8 1 1 0 0 1 pinlabel=PB1 (T1) T 450 6600 5 8 0 1 0 2 1 pintype=io } P 100 7000 400 7000 1 0 0 { T 300 7050 5 8 1 1 0 6 1 pinnumber=40 T 300 6950 5 8 0 1 0 8 1 pinseq=20 T 450 7000 9 8 1 1 0 0 1 pinlabel=PB0 (T0) T 450 7000 5 8 0 1 0 2 1 pintype=io } P 3300 800 3000 800 1 0 0 { T 3100 850 5 8 1 1 0 0 1 pinnumber=26 T 3100 750 5 8 0 1 0 2 1 pinseq=21 T 2950 800 9 8 1 1 0 6 1 pinlabel=(TOSC2) PC7 T 2950 800 5 8 0 1 0 8 1 pintype=io } P 3300 1200 3000 1200 1 0 0 { T 3100 1250 5 8 1 1 0 0 1 pinnumber=25 T 3100 1150 5 8 0 1 0 2 1 pinseq=22 T 2950 1200 9 8 1 1 0 6 1 pinlabel=(TOSC1) PC6 T 2950 1200 5 8 0 1 0 8 1 pintype=io } P 3300 1600 3000 1600 1 0 0 { T 3100 1650 5 8 1 1 0 0 1 pinnumber=24 T 3100 1550 5 8 0 1 0 2 1 pinseq=23 T 2950 1600 9 8 1 1 0 6 1 pinlabel=PC5 T 2950 1600 5 8 0 1 0 8 1 pintype=io } P 3300 2000 3000 2000 1 0 0 { T 3100 2050 5 8 1 1 0 0 1 pinnumber=23 T 3100 1950 5 8 0 1 0 2 1 pinseq=24 T 2950 2000 9 8 1 1 0 6 1 pinlabel=PC4 T 2950 2000 5 8 0 1 0 8 1 pintype=io } P 3300 2400 3000 2400 1 0 0 { T 3100 2450 5 8 1 1 0 0 1 pinnumber=22 T 3100 2350 5 8 0 1 0 2 1 pinseq=25 T 2950 2400 9 8 1 1 0 6 1 pinlabel=PC3 T 2950 2400 5 8 0 1 0 8 1 pintype=io } P 3300 2800 3000 2800 1 0 0 { T 3100 2850 5 8 1 1 0 0 1 pinnumber=21 T 3100 2750 5 8 0 1 0 2 1 pinseq=26 T 2950 2800 9 8 1 1 0 6 1 pinlabel=PC2 T 2950 2800 5 8 0 1 0 8 1 pintype=io } P 3300 3200 3000 3200 1 0 0 { T 3100 3250 5 8 1 1 0 0 1 pinnumber=20 T 3100 3150 5 8 0 1 0 2 1 pinseq=27 T 2950 3200 9 8 1 1 0 6 1 pinlabel=(SDA) PC1 T 2950 3200 5 8 0 1 0 8 1 pintype=io } P 3300 3600 3000 3600 1 0 0 { T 3100 3650 5 8 1 1 0 0 1 pinnumber=19 T 3100 3550 5 8 0 1 0 2 1 pinseq=28 T 2950 3600 9 8 1 1 0 6 1 pinlabel=(SCL) PC0 T 2950 3600 5 8 0 1 0 8 1 pintype=io } P 3300 4200 3000 4200 1 0 0 { T 3100 4250 5 8 1 1 0 0 1 pinnumber=30 T 3100 4150 5 8 0 1 0 2 1 pinseq=29 T 2950 4200 9 8 1 1 0 6 1 pinlabel=(ADC7) PA7 T 2950 4200 5 8 0 1 0 8 1 pintype=io } P 3300 4600 3000 4600 1 0 0 { T 3100 4650 5 8 1 1 0 0 1 pinnumber=31 T 3100 4550 5 8 0 1 0 2 1 pinseq=30 T 2950 4600 9 8 1 1 0 6 1 pinlabel=(ADC6) PA6 T 2950 4600 5 8 0 1 0 8 1 pintype=io } P 3300 5000 3000 5000 1 0 0 { T 3100 5050 5 8 1 1 0 0 1 pinnumber=32 T 3100 4950 5 8 0 1 0 2 1 pinseq=31 T 2950 5000 9 8 1 1 0 6 1 pinlabel=(ADC5) PA5 T 2950 5000 5 8 0 1 0 8 1 pintype=io } P 3300 5400 3000 5400 1 0 0 { T 3100 5450 5 8 1 1 0 0 1 pinnumber=33 T 3100 5350 5 8 0 1 0 2 1 pinseq=32 T 2950 5400 9 8 1 1 0 6 1 pinlabel=(ADC4) PA4 T 2950 5400 5 8 0 1 0 8 1 pintype=io } P 3300 5800 3000 5800 1 0 0 { T 3100 5850 5 8 1 1 0 0 1 pinnumber=34 T 3100 5750 5 8 0 1 0 2 1 pinseq=33 T 2950 5800 9 8 1 1 0 6 1 pinlabel=(ADC3) PA3 T 2950 5800 5 8 0 1 0 8 1 pintype=io } P 3300 6200 3000 6200 1 0 0 { T 3100 6250 5 8 1 1 0 0 1 pinnumber=35 T 3100 6150 5 8 0 1 0 2 1 pinseq=34 T 2950 6200 9 8 1 1 0 6 1 pinlabel=(ADC2) PA2 T 2950 6200 5 8 0 1 0 8 1 pintype=io } P 3300 6600 3000 6600 1 0 0 { T 3100 6650 5 8 1 1 0 0 1 pinnumber=36 T 3100 6550 5 8 0 1 0 2 1 pinseq=35 T 2950 6600 9 8 1 1 0 6 1 pinlabel=(ADC1) PA1 T 2950 6600 5 8 0 1 0 8 1 pintype=io } P 3300 7000 3000 7000 1 0 0 { T 3100 7050 5 8 1 1 0 0 1 pinnumber=37 T 3100 6950 5 8 0 1 0 2 1 pinseq=36 T 2950 7000 9 8 1 1 0 6 1 pinlabel=(ADC0) PA0 T 2950 7000 5 8 0 1 0 8 1 pintype=io } B 400 400 2600 7000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 8850 5 10 0 0 0 0 1 description=8-bit RISC micro controller (Atmel) T 400 9050 5 10 0 0 0 0 1 numslots=0 T 400 9250 5 10 0 0 0 0 1 author=Werner Hoch T 400 7450 9 10 1 0 0 0 1 ATmega163 geda-gaf-1.8.2/symbols/micro/mc68hc812a4-1.sym0000664000175000017500000005141312204104272015337 00000000000000v 20031231 1 T 400 13150 5 10 0 0 0 0 1 device=MC68HC812A4 P 3600 2700 3900 2700 1 0 1 { T 3700 2750 5 8 1 1 0 0 1 pinnumber=44 T 3700 2650 5 8 0 1 0 2 1 pinseq=44 T 3550 2700 5 8 0 1 0 8 1 pintype=io T 3550 2700 9 8 1 1 0 6 1 pinlabel=XFC } P 100 8100 400 8100 1 0 0 { T 300 8150 5 8 1 1 0 6 1 pinnumber=36 T 300 8050 5 8 0 1 0 8 1 pinseq=36 T 450 8100 5 8 0 1 0 2 1 pintype=in T 450 8100 9 8 1 1 0 0 1 pinlabel=PE0/~XIRQ } P 100 8300 400 8300 1 0 0 { T 300 8350 5 8 1 1 0 6 1 pinnumber=37 T 300 8250 5 8 0 1 0 8 1 pinseq=37 T 450 8300 5 8 0 1 0 2 1 pintype=in T 450 8300 9 8 1 1 0 0 1 pinlabel=PE1/~IRQ } P 3600 6400 3900 6400 1 0 1 { T 3700 6450 5 8 1 1 0 0 1 pinnumber=28 T 3700 6350 5 8 0 1 0 2 1 pinseq=28 T 3550 6400 5 8 0 1 0 8 1 pintype=io T 3550 6400 9 8 1 1 0 6 1 pinlabel=PC0/DATA8 } P 3600 6600 3900 6600 1 0 1 { T 3700 6650 5 8 1 1 0 0 1 pinnumber=29 T 3700 6550 5 8 0 1 0 2 1 pinseq=29 T 3550 6600 5 8 0 1 0 8 1 pintype=io T 3550 6600 9 8 1 1 0 6 1 pinlabel=PC1/DATA9 } P 3600 6800 3900 6800 1 0 1 { T 3700 6850 5 8 1 1 0 0 1 pinnumber=30 T 3700 6750 5 8 0 1 0 2 1 pinseq=30 T 3550 6800 5 8 0 1 0 8 1 pintype=io T 3550 6800 9 8 1 1 0 6 1 pinlabel=PC2/DATA10 } P 3600 7000 3900 7000 1 0 1 { T 3700 7050 5 8 1 1 0 0 1 pinnumber=31 T 3700 6950 5 8 0 1 0 2 1 pinseq=31 T 3550 7000 5 8 0 1 0 8 1 pintype=io T 3550 7000 9 8 1 1 0 6 1 pinlabel=PC3/DATA11 } P 3600 7200 3900 7200 1 0 1 { T 3700 7250 5 8 1 1 0 0 1 pinnumber=32 T 3700 7150 5 8 0 1 0 2 1 pinseq=32 T 3550 7200 5 8 0 1 0 8 1 pintype=io T 3550 7200 9 8 1 1 0 6 1 pinlabel=PC4/DATA12 } P 3600 7400 3900 7400 1 0 1 { T 3700 7450 5 8 1 1 0 0 1 pinnumber=33 T 3700 7350 5 8 0 1 0 2 1 pinseq=33 T 3550 7400 5 8 0 1 0 8 1 pintype=io T 3550 7400 9 8 1 1 0 6 1 pinlabel=PC5/DATA13 } P 3600 7600 3900 7600 1 0 1 { T 3700 7650 5 8 1 1 0 0 1 pinnumber=34 T 3700 7550 5 8 0 1 0 2 1 pinseq=34 T 3550 7600 5 8 0 1 0 8 1 pintype=io T 3550 7600 9 8 1 1 0 6 1 pinlabel=PC6/DATA14 } P 3600 7800 3900 7800 1 0 1 { T 3700 7850 5 8 1 1 0 0 1 pinnumber=35 T 3700 7750 5 8 0 1 0 2 1 pinseq=35 T 3550 7800 5 8 0 1 0 8 1 pintype=io T 3550 7800 9 8 1 1 0 6 1 pinlabel=PC7/DATA15 } P 3600 9800 3900 9800 1 0 1 { T 3700 9850 5 8 1 1 0 0 1 pinnumber=60 T 3700 9750 5 8 0 1 0 2 1 pinseq=60 T 3550 9800 5 8 0 1 0 8 1 pintype=io T 3550 9800 9 8 1 1 0 6 1 pinlabel=PA0/ADDR8 } P 3600 10000 3900 10000 1 0 1 { T 3700 10050 5 8 1 1 0 0 1 pinnumber=61 T 3700 9950 5 8 0 1 0 2 1 pinseq=61 T 3550 10000 5 8 0 1 0 8 1 pintype=io T 3550 10000 9 8 1 1 0 6 1 pinlabel=PA1/ADDR9 } P 3600 10200 3900 10200 1 0 1 { T 3700 10250 5 8 1 1 0 0 1 pinnumber=62 T 3700 10150 5 8 0 1 0 2 1 pinseq=62 T 3550 10200 5 8 0 1 0 8 1 pintype=io T 3550 10200 9 8 1 1 0 6 1 pinlabel=PA2/ADDR10 } P 3600 10400 3900 10400 1 0 1 { T 3700 10450 5 8 1 1 0 0 1 pinnumber=63 T 3700 10350 5 8 0 1 0 2 1 pinseq=63 T 3550 10400 5 8 0 1 0 8 1 pintype=io T 3550 10400 9 8 1 1 0 6 1 pinlabel=PA3/ADDR11 } P 3600 10600 3900 10600 1 0 1 { T 3700 10650 5 8 1 1 0 0 1 pinnumber=64 T 3700 10550 5 8 0 1 0 2 1 pinseq=64 T 3550 10600 5 8 0 1 0 8 1 pintype=io T 3550 10600 9 8 1 1 0 6 1 pinlabel=PA4/ADDR12 } P 3600 10800 3900 10800 1 0 1 { T 3700 10850 5 8 1 1 0 0 1 pinnumber=65 T 3700 10750 5 8 0 1 0 2 1 pinseq=65 T 3550 10800 5 8 0 1 0 8 1 pintype=io T 3550 10800 9 8 1 1 0 6 1 pinlabel=PA5/ADDR13 } P 3600 11000 3900 11000 1 0 1 { T 3700 11050 5 8 1 1 0 0 1 pinnumber=66 T 3700 10950 5 8 0 1 0 2 1 pinseq=66 T 3550 11000 5 8 0 1 0 8 1 pintype=io T 3550 11000 9 8 1 1 0 6 1 pinlabel=PA6/ADDR14 } P 3600 11200 3900 11200 1 0 1 { T 3700 11250 5 8 1 1 0 0 1 pinnumber=67 T 3700 11150 5 8 0 1 0 2 1 pinseq=67 T 3550 11200 5 8 0 1 0 8 1 pintype=io T 3550 11200 9 8 1 1 0 6 1 pinlabel=PA7/ADDR15 } P 100 1900 400 1900 1 0 0 { T 300 1950 5 8 1 1 0 6 1 pinnumber=85 T 300 1850 5 8 0 1 0 8 1 pinseq=85 T 450 1900 5 8 0 1 0 2 1 pintype=in T 450 1900 9 8 1 1 0 0 1 pinlabel=VRH } P 100 2100 400 2100 1 0 0 { T 300 2150 5 8 1 1 0 6 1 pinnumber=47 T 300 2050 5 8 0 1 0 8 1 pinseq=47 T 450 2100 5 8 0 1 0 2 1 pintype=out T 450 2100 9 8 1 1 0 0 1 pinlabel=XTAL } P 100 2300 400 2300 1 0 0 { T 300 2350 5 8 1 1 0 6 1 pinnumber=46 T 300 2250 5 8 0 1 0 8 1 pinseq=46 T 450 2300 5 8 0 1 0 2 1 pintype=in T 450 2300 9 8 1 1 0 0 1 pinlabel=EXTAL } P 100 2500 400 2500 1 0 0 { T 300 2550 5 8 1 1 0 6 1 pinnumber=40 T 300 2450 5 8 0 1 0 8 1 pinseq=40 T 450 2500 5 8 0 1 0 2 1 pintype=oc T 450 2500 9 8 1 1 0 0 1 pinlabel=~RESET } P 100 2700 400 2700 1 0 0 { T 300 2750 5 8 1 1 0 6 1 pinnumber=19 T 300 2650 5 8 0 1 0 8 1 pinseq=19 T 450 2700 5 8 0 1 0 2 1 pintype=oc T 450 2700 9 8 1 1 0 0 1 pinlabel=BKGD/~TAGHI } P 100 8500 400 8500 1 0 0 { T 300 8550 5 8 1 1 0 6 1 pinnumber=38 T 300 8450 5 8 0 1 0 8 1 pinseq=38 T 450 8500 5 8 0 1 0 2 1 pintype=io T 450 8500 9 8 1 1 0 0 1 pinlabel=PE2/R/~W } P 100 8700 400 8700 1 0 0 { T 300 8750 5 8 1 1 0 6 1 pinnumber=39 T 300 8650 5 8 0 1 0 8 1 pinseq=39 T 450 8700 5 8 0 1 0 2 1 pintype=io T 450 8700 9 8 1 1 0 0 1 pinlabel=PE3/~LSTRB/~TAGLO } P 100 8900 400 8900 1 0 0 { T 300 8950 5 8 1 1 0 6 1 pinnumber=48 T 300 8850 5 8 0 1 0 8 1 pinseq=48 T 450 8900 5 8 0 1 0 2 1 pintype=io T 450 8900 9 8 1 1 0 0 1 pinlabel=PE4/ECLK } P 100 9100 400 9100 1 0 0 { T 300 9150 5 8 1 1 0 6 1 pinnumber=49 T 300 9050 5 8 0 1 0 8 1 pinseq=49 T 450 9100 5 8 0 1 0 2 1 pintype=io T 450 9100 9 8 1 1 0 0 1 pinlabel=PE5/IPIPE0/MODA } P 100 9300 400 9300 1 0 0 { T 300 9350 5 8 1 1 0 6 1 pinnumber=50 T 300 9250 5 8 0 1 0 8 1 pinseq=50 T 450 9300 5 8 0 1 0 2 1 pintype=io T 450 9300 9 8 1 1 0 0 1 pinlabel=PE6/IPIPE1/MODB } P 100 9500 400 9500 1 0 0 { T 300 9550 5 8 1 1 0 6 1 pinnumber=51 T 300 9450 5 8 0 1 0 8 1 pinseq=51 T 450 9500 5 8 0 1 0 2 1 pintype=io T 450 9500 9 8 1 1 0 0 1 pinlabel=PE7/ARST } P 100 9800 400 9800 1 0 0 { T 300 9850 5 8 1 1 0 6 1 pinnumber=87 T 300 9750 5 8 0 1 0 8 1 pinseq=87 T 450 9800 5 8 0 1 0 2 1 pintype=in T 450 9800 9 8 1 1 0 0 1 pinlabel=PAD0/AN0 } P 100 10000 400 10000 1 0 0 { T 300 10050 5 8 1 1 0 6 1 pinnumber=88 T 300 9950 5 8 0 1 0 8 1 pinseq=88 T 450 10000 5 8 0 1 0 2 1 pintype=in T 450 10000 9 8 1 1 0 0 1 pinlabel=PAD1/AN1 } P 100 10200 400 10200 1 0 0 { T 300 10250 5 8 1 1 0 6 1 pinnumber=89 T 300 10150 5 8 0 1 0 8 1 pinseq=89 T 450 10200 5 8 0 1 0 2 1 pintype=in T 450 10200 9 8 1 1 0 0 1 pinlabel=PAD2/AN2 } P 3600 3000 3900 3000 1 0 1 { T 3700 3050 5 8 1 1 0 0 1 pinnumber=97 T 3700 2950 5 8 0 1 0 2 1 pinseq=97 T 3550 3000 5 8 0 1 0 8 1 pintype=io T 3550 3000 9 8 1 1 0 6 1 pinlabel=PS0/RXD0 } P 3600 3200 3900 3200 1 0 1 { T 3700 3250 5 8 1 1 0 0 1 pinnumber=98 T 3700 3150 5 8 0 1 0 2 1 pinseq=98 T 3550 3200 5 8 0 1 0 8 1 pintype=io T 3550 3200 9 8 1 1 0 6 1 pinlabel=PS1/TXD0 } P 3600 3400 3900 3400 1 0 1 { T 3700 3450 5 8 1 1 0 0 1 pinnumber=99 T 3700 3350 5 8 0 1 0 2 1 pinseq=99 T 3550 3400 5 8 0 1 0 8 1 pintype=io T 3550 3400 9 8 1 1 0 6 1 pinlabel=PS2/RXD1 } P 3600 3600 3900 3600 1 0 1 { T 3700 3650 5 8 1 1 0 0 1 pinnumber=100 T 3700 3550 5 8 0 1 0 2 1 pinseq=100 T 3550 3600 5 8 0 1 0 8 1 pintype=io T 3550 3600 9 8 1 1 0 6 1 pinlabel=PS3/TXD1 } P 3600 3800 3900 3800 1 0 1 { T 3700 3850 5 8 1 1 0 0 1 pinnumber=101 T 3700 3750 5 8 0 1 0 2 1 pinseq=101 T 3550 3800 5 8 0 1 0 8 1 pintype=io T 3550 3800 9 8 1 1 0 6 1 pinlabel=PS4/MISO } P 3600 4000 3900 4000 1 0 1 { T 3700 4050 5 8 1 1 0 0 1 pinnumber=102 T 3700 3950 5 8 0 1 0 2 1 pinseq=102 T 3550 4000 5 8 0 1 0 8 1 pintype=io T 3550 4000 9 8 1 1 0 6 1 pinlabel=PS5/MOSI } P 3600 4200 3900 4200 1 0 1 { T 3700 4250 5 8 1 1 0 0 1 pinnumber=103 T 3700 4150 5 8 0 1 0 2 1 pinseq=103 T 3550 4200 5 8 0 1 0 8 1 pintype=io T 3550 4200 9 8 1 1 0 6 1 pinlabel=PS6/SCK } P 3600 4400 3900 4400 1 0 1 { T 3700 4450 5 8 1 1 0 0 1 pinnumber=104 T 3700 4350 5 8 0 1 0 2 1 pinseq=104 T 3550 4400 5 8 0 1 0 8 1 pintype=io T 3550 4400 9 8 1 1 0 6 1 pinlabel=PS7/~SS } P 100 10400 400 10400 1 0 0 { T 300 10450 5 8 1 1 0 6 1 pinnumber=90 T 300 10350 5 8 0 1 0 8 1 pinseq=90 T 450 10400 5 8 0 1 0 2 1 pintype=in T 450 10400 9 8 1 1 0 0 1 pinlabel=PAD3/AN3 } P 100 10600 400 10600 1 0 0 { T 300 10650 5 8 1 1 0 6 1 pinnumber=91 T 300 10550 5 8 0 1 0 8 1 pinseq=91 T 450 10600 5 8 0 1 0 2 1 pintype=in T 450 10600 9 8 1 1 0 0 1 pinlabel=PAD4/AN4 } P 100 10800 400 10800 1 0 0 { T 300 10850 5 8 1 1 0 6 1 pinnumber=92 T 300 10750 5 8 0 1 0 8 1 pinseq=92 T 450 10800 5 8 0 1 0 2 1 pintype=in T 450 10800 9 8 1 1 0 0 1 pinlabel=PAD5/AN5 } P 100 11000 400 11000 1 0 0 { T 300 11050 5 8 1 1 0 6 1 pinnumber=93 T 300 10950 5 8 0 1 0 8 1 pinseq=93 T 450 11000 5 8 0 1 0 2 1 pintype=in T 450 11000 9 8 1 1 0 0 1 pinlabel=PAD6/AN6 } P 100 11200 400 11200 1 0 0 { T 300 11250 5 8 1 1 0 6 1 pinnumber=94 T 300 11150 5 8 0 1 0 8 1 pinseq=94 T 450 11200 5 8 0 1 0 2 1 pintype=in T 450 11200 9 8 1 1 0 0 1 pinlabel=PAD7/AN7/VSTBY } P 100 1700 400 1700 1 0 0 { T 300 1750 5 8 1 1 0 6 1 pinnumber=86 T 300 1650 5 8 0 1 0 8 1 pinseq=86 T 450 1700 5 8 0 1 0 2 1 pintype=in T 450 1700 9 8 1 1 0 0 1 pinlabel=VRL } P 100 6400 400 6400 1 0 0 { T 300 6450 5 8 1 1 0 6 1 pinnumber=75 T 300 6350 5 8 0 1 0 8 1 pinseq=75 T 450 6400 5 8 0 1 0 2 1 pintype=io T 450 6400 9 8 1 1 0 0 1 pinlabel=PH0/KWH0 } P 100 6600 400 6600 1 0 0 { T 300 6650 5 8 1 1 0 6 1 pinnumber=76 T 300 6550 5 8 0 1 0 8 1 pinseq=76 T 450 6600 5 8 0 1 0 2 1 pintype=io T 450 6600 9 8 1 1 0 0 1 pinlabel=PH1/KWH1 } P 100 6800 400 6800 1 0 0 { T 300 6850 5 8 1 1 0 6 1 pinnumber=77 T 300 6750 5 8 0 1 0 8 1 pinseq=77 T 450 6800 5 8 0 1 0 2 1 pintype=io T 450 6800 9 8 1 1 0 0 1 pinlabel=PH2/KWH2 } P 100 7000 400 7000 1 0 0 { T 300 7050 5 8 1 1 0 6 1 pinnumber=78 T 300 6950 5 8 0 1 0 8 1 pinseq=78 T 450 7000 5 8 0 1 0 2 1 pintype=io T 450 7000 9 8 1 1 0 0 1 pinlabel=PH3/KWH3 } P 100 7200 400 7200 1 0 0 { T 300 7250 5 8 1 1 0 6 1 pinnumber=81 T 300 7150 5 8 0 1 0 8 1 pinseq=81 T 450 7200 5 8 0 1 0 2 1 pintype=io T 450 7200 9 8 1 1 0 0 1 pinlabel=PH4/KWH4 } P 100 7400 400 7400 1 0 0 { T 300 7450 5 8 1 1 0 6 1 pinnumber=82 T 300 7350 5 8 0 1 0 8 1 pinseq=82 T 450 7400 5 8 0 1 0 2 1 pintype=io T 450 7400 9 8 1 1 0 0 1 pinlabel=PH5/KWH5 } P 100 7600 400 7600 1 0 0 { T 300 7650 5 8 1 1 0 6 1 pinnumber=83 T 300 7550 5 8 0 1 0 8 1 pinseq=83 T 450 7600 5 8 0 1 0 2 1 pintype=io T 450 7600 9 8 1 1 0 0 1 pinlabel=PH6/KWH6 } P 100 7800 400 7800 1 0 0 { T 300 7850 5 8 1 1 0 6 1 pinnumber=84 T 300 7750 5 8 0 1 0 8 1 pinseq=84 T 450 7800 5 8 0 1 0 2 1 pintype=io T 450 7800 9 8 1 1 0 0 1 pinlabel=PH7/KWH7 } P 3600 1500 3900 1500 1 0 1 { T 3700 1550 5 8 1 1 0 0 1 pinnumber=96 T 3700 1450 5 8 0 1 0 2 1 pinseq=96 T 3550 1500 5 8 0 1 0 8 1 pintype=pwr T 3550 1500 9 8 1 1 0 6 1 pinlabel=VSSA } P 3600 1100 3900 1100 1 0 1 { T 3700 1150 5 8 1 1 0 0 1 pinnumber=1 T 3700 1050 5 8 0 1 0 2 1 pinseq=1 T 3550 1100 5 8 0 1 0 8 1 pintype=pwr T 3550 1100 9 8 1 1 0 6 1 pinlabel=VSSX1 } P 3600 1300 3900 1300 1 0 1 { T 3700 1350 5 8 1 1 0 0 1 pinnumber=15 T 3700 1250 5 8 0 1 0 2 1 pinseq=15 T 3550 1300 5 8 0 1 0 8 1 pintype=pwr T 3550 1300 9 8 1 1 0 6 1 pinlabel=VSS } P 3600 900 3900 900 1 0 1 { T 3700 950 5 8 1 1 0 0 1 pinnumber=41 T 3700 850 5 8 0 1 0 2 1 pinseq=41 T 3550 900 5 8 0 1 0 8 1 pintype=pwr T 3550 900 9 8 1 1 0 6 1 pinlabel=VSSX2 } P 100 4700 400 4700 1 0 0 { T 300 4750 5 8 1 1 0 6 1 pinnumber=3 T 300 4650 5 8 0 1 0 8 1 pinseq=3 T 450 4700 5 8 0 1 0 2 1 pintype=io T 450 4700 9 8 1 1 0 0 1 pinlabel=PJ0/KWJ0 } P 100 4900 400 4900 1 0 0 { T 300 4950 5 8 1 1 0 6 1 pinnumber=4 T 300 4850 5 8 0 1 0 8 1 pinseq=4 T 450 4900 5 8 0 1 0 2 1 pintype=io T 450 4900 9 8 1 1 0 0 1 pinlabel=PJ1/KWJ1 } P 100 5100 400 5100 1 0 0 { T 300 5150 5 8 1 1 0 6 1 pinnumber=5 T 300 5050 5 8 0 1 0 8 1 pinseq=5 T 450 5100 5 8 0 1 0 2 1 pintype=io T 450 5100 9 8 1 1 0 0 1 pinlabel=PJ2/KWJ2 } P 100 5300 400 5300 1 0 0 { T 300 5350 5 8 1 1 0 6 1 pinnumber=6 T 300 5250 5 8 0 1 0 8 1 pinseq=6 T 450 5300 5 8 0 1 0 2 1 pintype=io T 450 5300 9 8 1 1 0 0 1 pinlabel=PJ3/KWJ3 } P 100 5500 400 5500 1 0 0 { T 300 5550 5 8 1 1 0 6 1 pinnumber=7 T 300 5450 5 8 0 1 0 8 1 pinseq=7 T 450 5500 5 8 0 1 0 2 1 pintype=io T 450 5500 9 8 1 1 0 0 1 pinlabel=PJ4/KWJ4 } P 100 5700 400 5700 1 0 0 { T 300 5750 5 8 1 1 0 6 1 pinnumber=8 T 300 5650 5 8 0 1 0 8 1 pinseq=8 T 450 5700 5 8 0 1 0 2 1 pintype=io T 450 5700 9 8 1 1 0 0 1 pinlabel=PJ5/KWJ5 } P 100 5900 400 5900 1 0 0 { T 300 5950 5 8 1 1 0 6 1 pinnumber=9 T 300 5850 5 8 0 1 0 8 1 pinseq=9 T 450 5900 5 8 0 1 0 2 1 pintype=io T 450 5900 9 8 1 1 0 0 1 pinlabel=PJ6/KWJ6 } P 100 6100 400 6100 1 0 0 { T 300 6150 5 8 1 1 0 6 1 pinnumber=10 T 300 6050 5 8 0 1 0 8 1 pinseq=10 T 450 6100 5 8 0 1 0 2 1 pintype=io T 450 6100 9 8 1 1 0 0 1 pinlabel=PJ7/KWJ7 } P 100 1400 400 1400 1 0 0 { T 300 1450 5 8 1 1 0 6 1 pinnumber=95 T 300 1350 5 8 0 1 0 8 1 pinseq=95 T 450 1400 5 8 0 1 0 2 1 pintype=pwr T 450 1400 9 8 1 1 0 0 1 pinlabel=VDDA } P 100 1200 400 1200 1 0 0 { T 300 1250 5 8 1 1 0 6 1 pinnumber=14 T 300 1150 5 8 0 1 0 8 1 pinseq=14 T 450 1200 5 8 0 1 0 2 1 pintype=pwr T 450 1200 9 8 1 1 0 0 1 pinlabel=VDD } B 400 100 3200 12800 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 T 1150 13400 5 10 0 0 0 4 1 footprint=TQFP112 P 3600 8100 3900 8100 1 0 1 { T 3700 8150 5 8 1 1 0 0 1 pinnumber=52 T 3700 8050 5 8 0 1 0 2 1 pinseq=52 T 3550 8100 5 8 0 1 0 8 1 pintype=io T 3550 8100 9 8 1 1 0 6 1 pinlabel=PB0/ADDR0 } P 3600 8300 3900 8300 1 0 1 { T 3700 8350 5 8 1 1 0 0 1 pinnumber=53 T 3700 8250 5 8 0 1 0 2 1 pinseq=53 T 3550 8300 5 8 0 1 0 8 1 pintype=io T 3550 8300 9 8 1 1 0 6 1 pinlabel=PB1/ADDR1 } P 3600 8500 3900 8500 1 0 1 { T 3700 8550 5 8 1 1 0 0 1 pinnumber=54 T 3700 8450 5 8 0 1 0 2 1 pinseq=54 T 3550 8500 5 8 0 1 0 8 1 pintype=io T 3550 8500 9 8 1 1 0 6 1 pinlabel=PB2/ADDR2 } P 3600 8700 3900 8700 1 0 1 { T 3700 8750 5 8 1 1 0 0 1 pinnumber=55 T 3700 8650 5 8 0 1 0 2 1 pinseq=55 T 3550 8700 5 8 0 1 0 8 1 pintype=io T 3550 8700 9 8 1 1 0 6 1 pinlabel=PB3/ADDR3 } P 3600 8900 3900 8900 1 0 1 { T 3700 8950 5 8 1 1 0 0 1 pinnumber=56 T 3700 8850 5 8 0 1 0 2 1 pinseq=56 T 3550 8900 5 8 0 1 0 8 1 pintype=io T 3550 8900 9 8 1 1 0 6 1 pinlabel=PB4/ADDR4 } P 3600 9100 3900 9100 1 0 1 { T 3700 9150 5 8 1 1 0 0 1 pinnumber=57 T 3700 9050 5 8 0 1 0 2 1 pinseq=57 T 3550 9100 5 8 0 1 0 8 1 pintype=io T 3550 9100 9 8 1 1 0 6 1 pinlabel=PB5/ADDR5 } P 3600 9300 3900 9300 1 0 1 { T 3700 9350 5 8 1 1 0 0 1 pinnumber=58 T 3700 9250 5 8 0 1 0 2 1 pinseq=58 T 3550 9300 5 8 0 1 0 8 1 pintype=io T 3550 9300 9 8 1 1 0 6 1 pinlabel=PB6/ADDR6 } P 3600 9500 3900 9500 1 0 1 { T 3700 9550 5 8 1 1 0 0 1 pinnumber=59 T 3700 9450 5 8 0 1 0 2 1 pinseq=59 T 3550 9500 5 8 0 1 0 8 1 pintype=io T 3550 9500 9 8 1 1 0 6 1 pinlabel=PB7/ADDR7 } P 3600 4700 3900 4700 1 0 1 { T 3700 4750 5 8 1 1 0 0 1 pinnumber=20 T 3700 4650 5 8 0 1 0 2 1 pinseq=20 T 3550 4700 5 8 0 1 0 8 1 pintype=io T 3550 4700 9 8 1 1 0 6 1 pinlabel=PD0/KWD0/DATA0 } P 3600 4900 3900 4900 1 0 1 { T 3700 4950 5 8 1 1 0 0 1 pinnumber=21 T 3700 4850 5 8 0 1 0 2 1 pinseq=21 T 3550 4900 5 8 0 1 0 8 1 pintype=io T 3550 4900 9 8 1 1 0 6 1 pinlabel=PD1/KWD1/DATA1 } P 3600 5100 3900 5100 1 0 1 { T 3700 5150 5 8 1 1 0 0 1 pinnumber=22 T 3700 5050 5 8 0 1 0 2 1 pinseq=22 T 3550 5100 5 8 0 1 0 8 1 pintype=io T 3550 5100 9 8 1 1 0 6 1 pinlabel=PD2/KWD2/DATA2 } P 3600 5300 3900 5300 1 0 1 { T 3700 5350 5 8 1 1 0 0 1 pinnumber=23 T 3700 5250 5 8 0 1 0 2 1 pinseq=23 T 3550 5300 5 8 0 1 0 8 1 pintype=io T 3550 5300 9 8 1 1 0 6 1 pinlabel=PD3/KWD3/DATA3 } P 3600 5500 3900 5500 1 0 1 { T 3700 5550 5 8 1 1 0 0 1 pinnumber=24 T 3700 5450 5 8 0 1 0 2 1 pinseq=24 T 3550 5500 5 8 0 1 0 8 1 pintype=io T 3550 5500 9 8 1 1 0 6 1 pinlabel=PD4/KWD4/DATA4 } P 3600 5700 3900 5700 1 0 1 { T 3700 5750 5 8 1 1 0 0 1 pinnumber=25 T 3700 5650 5 8 0 1 0 2 1 pinseq=25 T 3550 5700 5 8 0 1 0 8 1 pintype=io T 3550 5700 9 8 1 1 0 6 1 pinlabel=PD5/KWD5/DATA5 } P 3600 5900 3900 5900 1 0 1 { T 3700 5950 5 8 1 1 0 0 1 pinnumber=26 T 3700 5850 5 8 0 1 0 2 1 pinseq=26 T 3550 5900 5 8 0 1 0 8 1 pintype=io T 3550 5900 9 8 1 1 0 6 1 pinlabel=PD6/KWD6/DATA6 } P 3600 6100 3900 6100 1 0 1 { T 3700 6150 5 8 1 1 0 0 1 pinnumber=27 T 3700 6050 5 8 0 1 0 2 1 pinseq=27 T 3550 6100 5 8 0 1 0 8 1 pintype=io T 3550 6100 9 8 1 1 0 6 1 pinlabel=PD7/KWD7/DATA7 } P 100 3000 400 3000 1 0 0 { T 300 3050 5 8 1 1 0 6 1 pinnumber=105 T 300 2950 5 8 0 1 0 8 1 pinseq=105 T 450 3000 5 8 0 1 0 2 1 pintype=io T 450 3000 9 8 1 1 0 0 1 pinlabel=PT0/IOC0 } P 100 3200 400 3200 1 0 0 { T 300 3250 5 8 1 1 0 6 1 pinnumber=106 T 300 3150 5 8 0 1 0 8 1 pinseq=106 T 450 3200 5 8 0 1 0 2 1 pintype=io T 450 3200 9 8 1 1 0 0 1 pinlabel=PT1/IOC1 } P 100 3400 400 3400 1 0 0 { T 300 3450 5 8 1 1 0 6 1 pinnumber=107 T 300 3350 5 8 0 1 0 8 1 pinseq=107 T 450 3400 5 8 0 1 0 2 1 pintype=io T 450 3400 9 8 1 1 0 0 1 pinlabel=PT2/IOC2 } P 100 3600 400 3600 1 0 0 { T 300 3650 5 8 1 1 0 6 1 pinnumber=108 T 300 3550 5 8 0 1 0 8 1 pinseq=108 T 450 3600 5 8 0 1 0 2 1 pintype=io T 450 3600 9 8 1 1 0 0 1 pinlabel=PT3/IOC3 } P 100 3800 400 3800 1 0 0 { T 300 3850 5 8 1 1 0 6 1 pinnumber=109 T 300 3750 5 8 0 1 0 8 1 pinseq=109 T 450 3800 5 8 0 1 0 2 1 pintype=io T 450 3800 9 8 1 1 0 0 1 pinlabel=PT4/IOC4 } P 100 4000 400 4000 1 0 0 { T 300 4050 5 8 1 1 0 6 1 pinnumber=110 T 300 3950 5 8 0 1 0 8 1 pinseq=110 T 450 4000 5 8 0 1 0 2 1 pintype=io T 450 4000 9 8 1 1 0 0 1 pinlabel=PT5/IOC5 } P 100 4200 400 4200 1 0 0 { T 300 4250 5 8 1 1 0 6 1 pinnumber=111 T 300 4150 5 8 0 1 0 8 1 pinseq=111 T 450 4200 5 8 0 1 0 2 1 pintype=io T 450 4200 9 8 1 1 0 0 1 pinlabel=PT6/IOC6 } P 100 4400 400 4400 1 0 0 { T 300 4450 5 8 1 1 0 6 1 pinnumber=112 T 300 4350 5 8 0 1 0 8 1 pinseq=112 T 450 4400 5 8 0 1 0 2 1 pintype=io T 450 4400 9 8 1 1 0 0 1 pinlabel=PT7/IOC7/PAI } P 3600 11500 3900 11500 1 0 1 { T 3700 11550 5 8 1 1 0 0 1 pinnumber=11 T 3700 11450 5 8 0 1 0 2 1 pinseq=11 T 3550 11500 5 8 0 1 0 8 1 pintype=io T 3550 11500 9 8 1 1 0 6 1 pinlabel=PG0/ADDR16 } P 3600 11700 3900 11700 1 0 1 { T 3700 11750 5 8 1 1 0 0 1 pinnumber=12 T 3700 11650 5 8 0 1 0 2 1 pinseq=12 T 3550 11700 5 8 0 1 0 8 1 pintype=io T 3550 11700 9 8 1 1 0 6 1 pinlabel=PG1/ADDR17 } P 3600 11900 3900 11900 1 0 1 { T 3700 11950 5 8 1 1 0 0 1 pinnumber=13 T 3700 11850 5 8 0 1 0 2 1 pinseq=13 T 3550 11900 5 8 0 1 0 8 1 pintype=io T 3550 11900 9 8 1 1 0 6 1 pinlabel=PG2/ADDR18 } P 3600 12100 3900 12100 1 0 1 { T 3700 12150 5 8 1 1 0 0 1 pinnumber=16 T 3700 12050 5 8 0 1 0 2 1 pinseq=16 T 3550 12100 5 8 0 1 0 8 1 pintype=io T 3550 12100 9 8 1 1 0 6 1 pinlabel=PG3/ADDR19 } P 3600 12300 3900 12300 1 0 1 { T 3700 12350 5 8 1 1 0 0 1 pinnumber=17 T 3700 12250 5 8 0 1 0 2 1 pinseq=17 T 3550 12300 5 8 0 1 0 8 1 pintype=io T 3550 12300 9 8 1 1 0 6 1 pinlabel=PG4/ADDR20 } P 3600 12500 3900 12500 1 0 1 { T 3700 12550 5 8 1 1 0 0 1 pinnumber=18 T 3700 12450 5 8 0 1 0 2 1 pinseq=18 T 3550 12500 5 8 0 1 0 8 1 pintype=io T 3550 12500 9 8 1 1 0 6 1 pinlabel=PG5/ADDR21 } P 100 11500 400 11500 1 0 0 { T 300 11550 5 8 1 1 0 6 1 pinnumber=68 T 300 11450 5 8 0 1 0 8 1 pinseq=68 T 450 11500 5 8 0 1 0 2 1 pintype=io T 450 11500 9 8 1 1 0 0 1 pinlabel=PF0/~CS0 } P 100 11700 400 11700 1 0 0 { T 300 11750 5 8 1 1 0 6 1 pinnumber=69 T 300 11650 5 8 0 1 0 8 1 pinseq=69 T 450 11700 5 8 0 1 0 2 1 pintype=io T 450 11700 9 8 1 1 0 0 1 pinlabel=PF1/~CS1 } P 100 11900 400 11900 1 0 0 { T 300 11950 5 8 1 1 0 6 1 pinnumber=70 T 300 11850 5 8 0 1 0 8 1 pinseq=70 T 450 11900 5 8 0 1 0 2 1 pintype=io T 450 11900 9 8 1 1 0 0 1 pinlabel=PF2/~CS2 } P 100 12100 400 12100 1 0 0 { T 300 12150 5 8 1 1 0 6 1 pinnumber=71 T 300 12050 5 8 0 1 0 8 1 pinseq=71 T 450 12100 5 8 0 1 0 2 1 pintype=io T 450 12100 9 8 1 1 0 0 1 pinlabel=PF3/~CS3 } P 100 12300 400 12300 1 0 0 { T 300 12350 5 8 1 1 0 6 1 pinnumber=72 T 300 12250 5 8 0 1 0 8 1 pinseq=72 T 450 12300 5 8 0 1 0 2 1 pintype=io T 450 12300 9 8 1 1 0 0 1 pinlabel=PF4/~CSD } P 100 12500 400 12500 1 0 0 { T 300 12550 5 8 1 1 0 6 1 pinnumber=73 T 300 12450 5 8 0 1 0 8 1 pinseq=73 T 450 12500 5 8 0 1 0 2 1 pintype=io T 450 12500 9 8 1 1 0 0 1 pinlabel=PF5/~CSP0 } P 100 12700 400 12700 1 0 0 { T 300 12750 5 8 1 1 0 6 1 pinnumber=74 T 300 12650 5 8 0 1 0 8 1 pinseq=74 T 450 12700 5 8 0 1 0 2 1 pintype=io T 450 12700 9 8 1 1 0 0 1 pinlabel=PF6/~CSP1 } P 100 1000 400 1000 1 0 0 { T 300 1050 5 8 1 1 0 6 1 pinnumber=2 T 300 950 5 8 0 1 0 8 1 pinseq=2 T 450 1000 5 8 0 1 0 2 1 pintype=pwr T 450 1000 9 8 1 1 0 0 1 pinlabel=VDDX1 } P 100 600 400 600 1 0 0 { T 300 650 5 8 1 1 0 6 1 pinnumber=79 T 300 550 5 8 0 1 0 8 1 pinseq=79 T 450 600 5 8 0 1 0 2 1 pintype=pwr T 450 600 9 8 1 1 0 0 1 pinlabel=VDDX3 } P 100 400 400 400 1 0 0 { T 300 450 5 8 1 1 0 6 1 pinnumber=43 T 300 350 5 8 0 1 0 8 1 pinseq=43 T 450 400 5 8 0 1 0 2 1 pintype=pwr T 450 400 9 8 1 1 0 0 1 pinlabel=VDDPLL } P 100 800 400 800 1 0 0 { T 300 850 5 8 1 1 0 6 1 pinnumber=42 T 300 750 5 8 0 1 0 8 1 pinseq=42 T 450 800 5 8 0 1 0 2 1 pintype=pwr T 450 800 9 8 1 1 0 0 1 pinlabel=VDDX2 } P 3600 700 3900 700 1 0 1 { T 3700 750 5 8 1 1 0 0 1 pinnumber=80 T 3700 650 5 8 0 1 0 2 1 pinseq=80 T 3550 700 5 8 0 1 0 8 1 pintype=pwr T 3550 700 9 8 1 1 0 6 1 pinlabel=VSSX3 } P 3600 500 3900 500 1 0 1 { T 3700 550 5 8 1 1 0 0 1 pinnumber=45 T 3700 450 5 8 0 1 0 2 1 pinseq=45 T 3550 500 5 8 0 1 0 8 1 pintype=pwr T 3550 500 9 8 1 1 0 6 1 pinlabel=VSSPLL } T 394 12950 9 10 1 0 0 0 1 MC68HC812A4 T 3594 13000 8 10 1 1 0 6 1 refdes=U? T 400 13750 5 10 0 0 0 0 1 description=16-bit microcontroller (motorola) T 400 13550 5 10 0 0 0 0 1 numslots=0 geda-gaf-1.8.2/symbols/micro/M41T00-SO8-1.sym0000664000175000017500000000300712204104272015017 00000000000000v 20031231 1 P 1800 1600 1500 1600 1 0 0 { T 1600 1650 5 8 1 1 0 0 1 pinnumber=2 T 1450 1600 9 10 1 1 0 7 1 pinlabel=OSCO T 1900 1600 5 6 0 0 0 0 1 pinseq=2 T 1900 1700 5 6 0 0 0 0 1 pintype=out } P 1800 1200 1500 1200 1 0 0 { T 1600 1250 5 8 1 1 0 0 1 pinnumber=5 T 1450 1200 9 10 1 1 0 7 1 pinlabel=SDA T 1900 1200 5 6 0 0 0 0 1 pinseq=4 T 1900 1300 5 6 0 0 0 0 1 pintype=io } P 1800 800 1500 800 1 0 0 { T 1600 850 5 8 1 1 0 0 1 pinnumber=7 T 1450 800 9 10 1 1 0 7 1 pinlabel=FT/OUT T 1900 900 5 6 0 0 0 0 1 pinseq=6 T 1900 800 5 6 0 0 0 0 1 pintype=out } P 0 1600 300 1600 1 0 0 { T 200 1650 5 8 1 1 0 6 1 pinnumber=1 T 350 1600 9 10 1 1 0 1 1 pinlabel=OSCI T -100 1600 5 6 0 0 0 6 1 pinseq=1 T -100 1700 5 6 0 0 0 6 1 pintype=in } P 0 1200 300 1200 1 0 0 { T 200 1250 5 8 1 1 0 6 1 pinnumber=6 T 350 1200 9 10 1 1 0 1 1 pinlabel=SCL T -100 1200 5 6 0 0 0 6 1 pinseq=5 T -100 1300 5 6 0 0 0 6 1 pintype=clk } B 300 300 1200 1600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 600 0 600 300 1 0 0 { T 500 150 5 8 1 1 0 0 1 pinnumber=3 T 600 350 9 10 1 1 90 1 1 pinlabel=Vbat T 600 -100 5 6 0 0 90 6 1 pinseq=3 T 500 -100 5 6 0 0 90 6 1 pintype=pwr } T 1500 2000 8 10 1 1 0 6 1 refdes=U? T 300 3750 5 10 0 0 0 0 1 device=M41T00 T 300 3550 5 10 0 0 0 0 1 footprint=SO8 T 300 2950 5 10 0 0 0 0 1 description=Serial RTC (Real Time Clock) T 300 2720 5 10 0 0 0 0 1 author=Bjørnar Ness bjornar.nessATsubdimension.com T 310 3374 5 10 0 0 0 0 1 net=GND:4 T 310 3174 5 10 0 0 0 0 1 net=Vcc:8 T 300 2350 5 10 0 0 0 0 1 numslots=0 T 300 2100 9 10 1 0 0 2 1 M41T00 geda-gaf-1.8.2/symbols/micro/pic16C84.sym0000664000175000017500000000726512204104272014640 00000000000000v 20070626 1 B 300 0 2100 3000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 3250 5 10 0 0 0 0 1 device=PIC16C84 P 300 2700 0 2700 1 0 1 { T 200 2750 5 8 1 1 0 6 1 pinnumber=1 T 200 2650 5 8 0 1 0 8 1 pinseq=1 T 350 2700 9 8 1 1 0 0 1 pinlabel=RA2 T 350 2700 5 8 0 1 0 2 1 pintype=io } P 300 2400 0 2400 1 0 1 { T 200 2450 5 8 1 1 0 6 1 pinnumber=2 T 200 2350 5 8 0 1 0 8 1 pinseq=2 T 350 2400 9 8 1 1 0 0 1 pinlabel=RA3 T 350 2400 5 8 0 1 0 2 1 pintype=io } P 300 2100 0 2100 1 0 1 { T 200 2150 5 8 1 1 0 6 1 pinnumber=3 T 200 2050 5 8 0 1 0 8 1 pinseq=3 T 350 2100 9 8 1 1 0 0 1 pinlabel=RA4/TOCKI T 350 2100 5 8 0 1 0 2 1 pintype=io } V 250 1800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 1800 0 1800 1 0 1 { T 200 1850 5 8 1 1 0 6 1 pinnumber=4 T 200 1750 5 8 0 1 0 8 1 pinseq=4 T 350 1800 9 8 1 1 0 0 1 pinlabel=\_MCLR\_ T 350 1800 5 8 0 1 0 2 1 pintype=in } P 300 1500 0 1500 1 0 1 { T 200 1550 5 8 1 1 0 6 1 pinnumber=5 T 200 1450 5 8 0 1 0 8 1 pinseq=5 T 350 1500 9 8 1 1 0 0 1 pinlabel=VSS T 350 1500 5 8 0 1 0 2 1 pintype=pwr } P 300 1200 0 1200 1 0 1 { T 200 1250 5 8 1 1 0 6 1 pinnumber=6 T 200 1150 5 8 0 1 0 8 1 pinseq=6 T 350 1200 9 8 1 1 0 0 1 pinlabel=RB0/INT T 350 1200 5 8 0 1 0 2 1 pintype=io } P 300 900 0 900 1 0 1 { T 200 950 5 8 1 1 0 6 1 pinnumber=7 T 200 850 5 8 0 1 0 8 1 pinseq=7 T 350 900 9 8 1 1 0 0 1 pinlabel=RB1 T 350 900 5 8 0 1 0 2 1 pintype=io } P 300 600 0 600 1 0 1 { T 200 650 5 8 1 1 0 6 1 pinnumber=8 T 200 550 5 8 0 1 0 8 1 pinseq=8 T 350 600 9 8 1 1 0 0 1 pinlabel=RB2 T 350 600 5 8 0 1 0 2 1 pintype=io } P 300 300 0 300 1 0 1 { T 200 350 5 8 1 1 0 6 1 pinnumber=9 T 200 250 5 8 0 1 0 8 1 pinseq=9 T 350 300 9 8 1 1 0 0 1 pinlabel=RB3 T 350 300 5 8 0 1 0 2 1 pintype=io } P 2400 2700 2700 2700 1 0 1 { T 2500 2750 5 8 1 1 0 0 1 pinnumber=18 T 2500 2650 5 8 0 1 0 2 1 pinseq=10 T 2350 2700 9 8 1 1 0 6 1 pinlabel=RA1 T 2350 2700 5 8 0 1 0 8 1 pintype=io } P 2400 2400 2700 2400 1 0 1 { T 2500 2450 5 8 1 1 0 0 1 pinnumber=17 T 2500 2350 5 8 0 1 0 2 1 pinseq=11 T 2350 2400 9 8 1 1 0 6 1 pinlabel=RA0 T 2350 2400 5 8 0 1 0 8 1 pintype=io } L 2400 2175 2325 2100 3 0 0 0 -1 -1 L 2400 2025 2325 2100 3 0 0 0 -1 -1 P 2400 2100 2700 2100 1 0 1 { T 2500 2150 5 8 1 1 0 0 1 pinnumber=16 T 2500 2050 5 8 0 1 0 2 1 pinseq=12 T 2325 2100 9 8 1 1 0 6 1 pinlabel=OSC1/CLKIN T 2350 2100 5 8 0 1 0 8 1 pintype=in } P 2400 1800 2700 1800 1 0 1 { T 2500 1850 5 8 1 1 0 0 1 pinnumber=15 T 2500 1750 5 8 0 1 0 2 1 pinseq=13 T 2350 1800 9 8 1 1 0 6 1 pinlabel=OSC2/CLKOUT T 2350 1800 5 8 0 1 0 8 1 pintype=out } P 2400 1500 2700 1500 1 0 1 { T 2500 1550 5 8 1 1 0 0 1 pinnumber=14 T 2500 1450 5 8 0 1 0 2 1 pinseq=14 T 2350 1500 9 8 1 1 0 6 1 pinlabel=VDD T 2350 1500 5 8 0 1 0 8 1 pintype=pwr } P 2400 1200 2700 1200 1 0 1 { T 2500 1250 5 8 1 1 0 0 1 pinnumber=13 T 2500 1150 5 8 0 1 0 2 1 pinseq=15 T 2350 1200 9 8 1 1 0 6 1 pinlabel=RB7 T 2350 1200 5 8 0 1 0 8 1 pintype=io } P 2400 900 2700 900 1 0 1 { T 2500 950 5 8 1 1 0 0 1 pinnumber=12 T 2500 850 5 8 0 1 0 2 1 pinseq=16 T 2350 900 9 8 1 1 0 6 1 pinlabel=RB6 T 2350 900 5 8 0 1 0 8 1 pintype=io } P 2400 600 2700 600 1 0 1 { T 2500 650 5 8 1 1 0 0 1 pinnumber=11 T 2500 550 5 8 0 1 0 2 1 pinseq=17 T 2350 600 9 8 1 1 0 6 1 pinlabel=RB5 T 2350 600 5 8 0 1 0 8 1 pintype=io } P 2400 300 2700 300 1 0 1 { T 2500 350 5 8 1 1 0 0 1 pinnumber=10 T 2500 250 5 8 0 1 0 2 1 pinseq=18 T 2350 300 9 8 1 1 0 6 1 pinlabel=RB4 T 2350 300 5 8 0 1 0 8 1 pintype=io } T 2400 3100 8 10 1 1 0 6 1 refdes=U? T 300 3450 5 10 0 0 0 0 1 footprint=DIP18 T 300 3850 5 10 0 0 0 0 1 description=8-bit Flash/EEPROM microcontroller T 300 3650 5 10 0 0 0 0 1 numslots=0 T 300 4050 5 10 0 0 0 0 1 documentation=http://www.microchip.com/download/lit/pline/picmicro/families/16f8x/30445c.pdf T 300 3050 3 10 1 0 0 0 1 PIC16C84 geda-gaf-1.8.2/symbols/micro/AT89C51_PLCC.sym0000664000175000017500000002016712204104272015172 00000000000000v 20070626 1 T 3000 8900 8 10 1 1 0 6 1 refdes=U? T 400 9050 5 10 0 0 0 0 1 device=AT89C51_PLCC T 400 9250 5 10 0 0 0 0 1 footprint=PLCC44 T 400 9450 5 10 0 0 0 0 1 net=GND:22 T 400 9650 5 10 0 0 0 0 1 net=Vcc:44 P 3300 1600 3000 1600 1 0 0 { T 3100 1650 5 8 1 1 0 0 1 pinnumber=33 T 3100 1550 5 8 0 1 0 2 1 pinseq=1 T 2950 1600 9 8 1 1 0 6 1 pinlabel=ALE/\_PROG\_ T 2950 1600 5 8 0 1 0 8 1 pintype=out } P 3300 1200 3100 1200 1 0 0 { T 3100 1250 5 8 1 1 0 0 1 pinnumber=35 T 3100 1150 5 8 0 1 0 2 1 pinseq=2 T 2950 1200 9 8 1 1 0 6 1 pinlabel=\_EA\_/VPP T 2950 1200 5 8 0 1 0 8 1 pintype=in } V 3050 1200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 3300 8400 3000 8400 1 0 0 { T 3100 8450 5 8 1 1 0 0 1 pinnumber=43 T 3100 8350 5 8 0 1 0 2 1 pinseq=3 T 2950 8400 9 8 1 1 0 6 1 pinlabel=(AD0) P0.0 T 2950 8400 5 8 0 1 0 8 1 pintype=io } P 3300 8000 3000 8000 1 0 0 { T 3100 8050 5 8 1 1 0 0 1 pinnumber=42 T 3100 7950 5 8 0 1 0 2 1 pinseq=4 T 2950 8000 9 8 1 1 0 6 1 pinlabel=(AD1) P0.1 T 2950 8000 5 8 0 1 0 8 1 pintype=io } P 3300 7600 3000 7600 1 0 0 { T 3100 7650 5 8 1 1 0 0 1 pinnumber=41 T 3100 7550 5 8 0 1 0 2 1 pinseq=5 T 2950 7600 9 8 1 1 0 6 1 pinlabel=(AD2) P0.2 T 2950 7600 5 8 0 1 0 8 1 pintype=io } P 3300 7200 3000 7200 1 0 0 { T 3100 7250 5 8 1 1 0 0 1 pinnumber=40 T 3100 7150 5 8 0 1 0 2 1 pinseq=6 T 2950 7200 9 8 1 1 0 6 1 pinlabel=(AD3) P0.3 T 2950 7200 5 8 0 1 0 8 1 pintype=io } P 3300 6800 3000 6800 1 0 0 { T 3100 6850 5 8 1 1 0 0 1 pinnumber=39 T 3100 6750 5 8 0 1 0 2 1 pinseq=7 T 2950 6800 9 8 1 1 0 6 1 pinlabel=(AD4) P0.4 T 2950 6800 5 8 0 1 0 8 1 pintype=io } P 3300 6400 3000 6400 1 0 0 { T 3100 6450 5 8 1 1 0 0 1 pinnumber=38 T 3100 6350 5 8 0 1 0 2 1 pinseq=8 T 2950 6400 9 8 1 1 0 6 1 pinlabel=(AD5) P0.5 T 2950 6400 5 8 0 1 0 8 1 pintype=io } P 3300 6000 3000 6000 1 0 0 { T 3100 6050 5 8 1 1 0 0 1 pinnumber=37 T 3100 5950 5 8 0 1 0 2 1 pinseq=9 T 2950 6000 9 8 1 1 0 6 1 pinlabel=(AD6) P0.6 T 2950 6000 5 8 0 1 0 8 1 pintype=io } P 3300 5600 3000 5600 1 0 0 { T 3100 5650 5 8 1 1 0 0 1 pinnumber=36 T 3100 5550 5 8 0 1 0 2 1 pinseq=10 T 2950 5600 9 8 1 1 0 6 1 pinlabel=(AD7) P0.7 T 2950 5600 5 8 0 1 0 8 1 pintype=io } P 3300 5000 3000 5000 1 0 0 { T 3100 5050 5 8 1 1 0 0 1 pinnumber=24 T 3100 4950 5 8 0 1 0 2 1 pinseq=11 T 2950 5000 9 8 1 1 0 6 1 pinlabel=(A8) P2.0 T 2950 5000 5 8 0 1 0 8 1 pintype=io } P 3300 4600 3000 4600 1 0 0 { T 3100 4650 5 8 1 1 0 0 1 pinnumber=25 T 3100 4550 5 8 0 1 0 2 1 pinseq=12 T 2950 4600 9 8 1 1 0 6 1 pinlabel=(A9) P2.1 T 2950 4600 5 8 0 1 0 8 1 pintype=io } P 3300 4200 3000 4200 1 0 0 { T 3100 4250 5 8 1 1 0 0 1 pinnumber=26 T 3100 4150 5 8 0 1 0 2 1 pinseq=13 T 2950 4200 9 8 1 1 0 6 1 pinlabel=(A10) P2.2 T 2950 4200 5 8 0 1 0 8 1 pintype=io } P 3300 3800 3000 3800 1 0 0 { T 3100 3850 5 8 1 1 0 0 1 pinnumber=27 T 3100 3750 5 8 0 1 0 2 1 pinseq=14 T 2950 3800 9 8 1 1 0 6 1 pinlabel=(A11) P2.3 T 2950 3800 5 8 0 1 0 8 1 pintype=io } P 3300 3400 3000 3400 1 0 0 { T 3100 3450 5 8 1 1 0 0 1 pinnumber=28 T 3100 3350 5 8 0 1 0 2 1 pinseq=15 T 2950 3400 9 8 1 1 0 6 1 pinlabel=(A12) P2.4 T 2950 3400 5 8 0 1 0 8 1 pintype=io } P 3300 3000 3000 3000 1 0 0 { T 3100 3050 5 8 1 1 0 0 1 pinnumber=29 T 3100 2950 5 8 0 1 0 2 1 pinseq=16 T 2950 3000 9 8 1 1 0 6 1 pinlabel=(A13) P2.5 T 2950 3000 5 8 0 1 0 8 1 pintype=io } P 3300 2600 3000 2600 1 0 0 { T 3100 2650 5 8 1 1 0 0 1 pinnumber=30 T 3100 2550 5 8 0 1 0 2 1 pinseq=17 T 2950 2600 9 8 1 1 0 6 1 pinlabel=(A14) P2.6 T 2950 2600 5 8 0 1 0 8 1 pintype=io } P 3300 2200 3000 2200 1 0 0 { T 3100 2250 5 8 1 1 0 0 1 pinnumber=31 T 3100 2150 5 8 0 1 0 2 1 pinseq=18 T 2950 2200 9 8 1 1 0 6 1 pinlabel=(A15) P2.7 T 2950 2200 5 8 0 1 0 8 1 pintype=io } P 3300 800 3100 800 1 0 0 { T 3100 850 5 8 1 1 0 0 1 pinnumber=32 T 3100 750 5 8 0 1 0 2 1 pinseq=19 T 2950 800 9 8 1 1 0 6 1 pinlabel=\_PSEN\_ T 2950 800 5 8 0 1 0 8 1 pintype=out } V 3050 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1400 400 1400 1 0 0 { T 300 1450 5 8 1 1 0 6 1 pinnumber=1 T 300 1350 5 8 0 1 0 8 1 pinseq=20 T 450 1400 9 8 1 1 0 0 1 pinlabel=NC. T 450 1400 5 8 0 1 0 2 1 pintype=tp } P 100 1200 400 1200 1 0 0 { T 300 1250 5 8 1 1 0 6 1 pinnumber=12 T 300 1150 5 8 0 1 0 8 1 pinseq=21 T 450 1200 9 8 1 1 0 0 1 pinlabel=NC. T 450 1200 5 8 0 1 0 2 1 pintype=tp } P 100 1000 400 1000 1 0 0 { T 300 1050 5 8 1 1 0 6 1 pinnumber=23 T 300 950 5 8 0 1 0 8 1 pinseq=22 T 450 1000 9 8 1 1 0 0 1 pinlabel=NC. T 450 1000 5 8 0 1 0 2 1 pintype=tp } P 100 800 400 800 1 0 0 { T 300 850 5 8 1 1 0 6 1 pinnumber=34 T 300 750 5 8 0 1 0 8 1 pinseq=23 T 450 800 9 8 1 1 0 0 1 pinlabel=NC. T 450 800 5 8 0 1 0 2 1 pintype=tp } P 100 8400 400 8400 1 0 0 { T 300 8450 5 8 1 1 0 6 1 pinnumber=2 T 300 8350 5 8 0 1 0 8 1 pinseq=24 T 450 8400 9 8 1 1 0 0 1 pinlabel=P1.0 T 450 8400 5 8 0 1 0 2 1 pintype=io } P 100 8000 400 8000 1 0 0 { T 300 8050 5 8 1 1 0 6 1 pinnumber=3 T 300 7950 5 8 0 1 0 8 1 pinseq=25 T 450 8000 9 8 1 1 0 0 1 pinlabel=P1.1 T 450 8000 5 8 0 1 0 2 1 pintype=io } P 100 7600 400 7600 1 0 0 { T 300 7650 5 8 1 1 0 6 1 pinnumber=4 T 300 7550 5 8 0 1 0 8 1 pinseq=26 T 450 7600 9 8 1 1 0 0 1 pinlabel=P1.2 T 450 7600 5 8 0 1 0 2 1 pintype=io } P 100 7200 400 7200 1 0 0 { T 300 7250 5 8 1 1 0 6 1 pinnumber=5 T 300 7150 5 8 0 1 0 8 1 pinseq=27 T 450 7200 9 8 1 1 0 0 1 pinlabel=P1.3 T 450 7200 5 8 0 1 0 2 1 pintype=io } P 100 6800 400 6800 1 0 0 { T 300 6850 5 8 1 1 0 6 1 pinnumber=6 T 300 6750 5 8 0 1 0 8 1 pinseq=28 T 450 6800 9 8 1 1 0 0 1 pinlabel=P1.4 T 450 6800 5 8 0 1 0 2 1 pintype=io } P 100 6400 400 6400 1 0 0 { T 300 6450 5 8 1 1 0 6 1 pinnumber=7 T 300 6350 5 8 0 1 0 8 1 pinseq=29 T 450 6400 9 8 1 1 0 0 1 pinlabel=P1.5 T 450 6400 5 8 0 1 0 2 1 pintype=io } P 100 6000 400 6000 1 0 0 { T 300 6050 5 8 1 1 0 6 1 pinnumber=8 T 300 5950 5 8 0 1 0 8 1 pinseq=30 T 450 6000 9 8 1 1 0 0 1 pinlabel=P1.6 T 450 6000 5 8 0 1 0 2 1 pintype=io } P 100 5600 400 5600 1 0 0 { T 300 5650 5 8 1 1 0 6 1 pinnumber=9 T 300 5550 5 8 0 1 0 8 1 pinseq=31 T 450 5600 9 8 1 1 0 0 1 pinlabel=P1.7 T 450 5600 5 8 0 1 0 2 1 pintype=io } P 100 5000 400 5000 1 0 0 { T 300 5050 5 8 1 1 0 6 1 pinnumber=11 T 300 4950 5 8 0 1 0 8 1 pinseq=32 T 450 5000 9 8 1 1 0 0 1 pinlabel=P3.0 (RXD) T 450 5000 5 8 0 1 0 2 1 pintype=io } P 100 4600 400 4600 1 0 0 { T 300 4650 5 8 1 1 0 6 1 pinnumber=13 T 300 4550 5 8 0 1 0 8 1 pinseq=33 T 450 4600 9 8 1 1 0 0 1 pinlabel=P3.1 (TXD) T 450 4600 5 8 0 1 0 2 1 pintype=io } P 100 4200 400 4200 1 0 0 { T 300 4250 5 8 1 1 0 6 1 pinnumber=14 T 300 4150 5 8 0 1 0 8 1 pinseq=34 T 450 4200 9 8 1 1 0 0 1 pinlabel=P3.2 (\_INT0\_) T 450 4200 5 8 0 1 0 2 1 pintype=io } P 100 3800 400 3800 1 0 0 { T 300 3850 5 8 1 1 0 6 1 pinnumber=15 T 300 3750 5 8 0 1 0 8 1 pinseq=35 T 450 3800 9 8 1 1 0 0 1 pinlabel=P3.3 (\_INT1\_) T 450 3800 5 8 0 1 0 2 1 pintype=io } P 100 3400 400 3400 1 0 0 { T 300 3450 5 8 1 1 0 6 1 pinnumber=16 T 300 3350 5 8 0 1 0 8 1 pinseq=36 T 450 3400 9 8 1 1 0 0 1 pinlabel=P3.4 (T0) T 450 3400 5 8 0 1 0 2 1 pintype=io } P 100 3000 400 3000 1 0 0 { T 300 3050 5 8 1 1 0 6 1 pinnumber=17 T 300 2950 5 8 0 1 0 8 1 pinseq=37 T 450 3000 9 8 1 1 0 0 1 pinlabel=P3.5 (T1) T 450 3000 5 8 0 1 0 2 1 pintype=io } P 100 2600 400 2600 1 0 0 { T 300 2650 5 8 1 1 0 6 1 pinnumber=18 T 300 2550 5 8 0 1 0 8 1 pinseq=38 T 450 2600 9 8 1 1 0 0 1 pinlabel=P3.6 (\_WR\_) T 450 2600 5 8 0 1 0 2 1 pintype=io } P 100 2200 400 2200 1 0 0 { T 300 2250 5 8 1 1 0 6 1 pinnumber=19 T 300 2150 5 8 0 1 0 8 1 pinseq=39 T 450 2200 9 8 1 1 0 0 1 pinlabel=P3.7 (\_RD\_) T 450 2200 5 8 0 1 0 2 1 pintype=io } P 1000 100 1000 400 1 0 0 { T 1050 200 5 8 1 1 0 0 1 pinnumber=10 T 1050 200 5 8 0 1 0 2 1 pinseq=40 T 1000 450 9 8 1 1 0 3 1 pinlabel=RST T 1000 600 5 8 0 1 0 3 1 pintype=in } P 1800 100 1800 400 1 0 0 { T 1850 200 5 8 1 1 0 0 1 pinnumber=21 T 1850 200 5 8 0 1 0 2 1 pinseq=41 T 1800 450 9 8 1 1 0 3 1 pinlabel=XTAL1 T 1800 600 5 8 0 1 0 3 1 pintype=in } P 2400 100 2400 400 1 0 0 { T 2450 200 5 8 1 1 0 0 1 pinnumber=20 T 2450 200 5 8 0 1 0 2 1 pinseq=42 T 2400 450 9 8 1 1 0 3 1 pinlabel=XTAL2 T 2400 600 5 8 0 1 0 3 1 pintype=out } B 400 400 2600 8400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 10050 5 10 0 0 0 0 1 description=8-bit 8051-compatible micro controller (Atmel) T 400 9850 5 10 0 0 0 0 1 numslots=0 T 400 10250 5 10 0 0 0 0 1 author=Werner Hoch T 400 8850 9 10 1 0 0 0 1 AT89C51 geda-gaf-1.8.2/symbols/micro/AT90S8515_DIP.sym0000664000175000017500000001657712204104272015264 00000000000000v 20070626 1 T 3000 8900 8 10 1 1 0 6 1 refdes=U? T 400 9050 5 10 0 0 0 0 1 device=AT90S8515_DIP T 400 9250 5 10 0 0 0 0 1 footprint=DIP40 T 400 9450 5 10 0 0 0 0 1 net=GND:20 T 400 9650 5 10 0 0 0 0 1 net=Vcc:40 P 2300 100 2300 300 1 0 0 { T 2350 200 5 8 1 1 0 0 1 pinnumber=9 T 2350 200 5 8 0 1 0 2 1 pinseq=1 T 2300 450 9 8 1 1 0 3 1 pinlabel=\_Reset\_ T 2300 600 5 8 0 1 0 3 1 pintype=in } V 2300 350 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1700 100 1700 400 1 0 0 { T 1750 200 5 8 1 1 0 0 1 pinnumber=18 T 1750 200 5 8 0 1 0 2 1 pinseq=2 T 1700 450 9 8 1 1 0 3 1 pinlabel=XTAL2 T 1700 600 5 8 0 1 0 3 1 pintype=out } P 1100 100 1100 400 1 0 0 { T 1150 200 5 8 1 1 0 0 1 pinnumber=19 T 1150 200 5 8 0 1 0 2 1 pinseq=3 T 1100 450 9 8 1 1 0 3 1 pinlabel=XTAL1 T 1100 600 5 8 0 1 0 3 1 pintype=in } P 100 2200 400 2200 1 0 0 { T 300 2250 5 8 1 1 0 6 1 pinnumber=17 T 300 2150 5 8 0 1 0 8 1 pinseq=4 T 450 2200 9 8 1 1 0 0 1 pinlabel=PD7 (\_RD\_) T 450 2200 5 8 0 1 0 2 1 pintype=io } P 100 2600 400 2600 1 0 0 { T 300 2650 5 8 1 1 0 6 1 pinnumber=16 T 300 2550 5 8 0 1 0 8 1 pinseq=5 T 450 2600 9 8 1 1 0 0 1 pinlabel=PD6 (\_WR\_) T 450 2600 5 8 0 1 0 2 1 pintype=io } P 100 3000 400 3000 1 0 0 { T 300 3050 5 8 1 1 0 6 1 pinnumber=15 T 300 2950 5 8 0 1 0 8 1 pinseq=6 T 450 3000 9 8 1 1 0 0 1 pinlabel=PD5 (OC1A) T 450 3000 5 8 0 1 0 2 1 pintype=io } P 100 3400 400 3400 1 0 0 { T 300 3450 5 8 1 1 0 6 1 pinnumber=14 T 300 3350 5 8 0 1 0 8 1 pinseq=7 T 450 3400 9 8 1 1 0 0 1 pinlabel=PD4 T 450 3400 5 8 0 1 0 2 1 pintype=io } P 100 3800 400 3800 1 0 0 { T 300 3850 5 8 1 1 0 6 1 pinnumber=13 T 300 3750 5 8 0 1 0 8 1 pinseq=8 T 450 3800 9 8 1 1 0 0 1 pinlabel=PD3 (INT1) T 450 3800 5 8 0 1 0 2 1 pintype=io } P 100 4200 400 4200 1 0 0 { T 300 4250 5 8 1 1 0 6 1 pinnumber=12 T 300 4150 5 8 0 1 0 8 1 pinseq=9 T 450 4200 9 8 1 1 0 0 1 pinlabel=PD2 (INT0) T 450 4200 5 8 0 1 0 2 1 pintype=io } P 100 4600 400 4600 1 0 0 { T 300 4650 5 8 1 1 0 6 1 pinnumber=11 T 300 4550 5 8 0 1 0 8 1 pinseq=10 T 450 4600 9 8 1 1 0 0 1 pinlabel=PD1 (TXD) T 450 4600 5 8 0 1 0 2 1 pintype=io } P 100 5000 400 5000 1 0 0 { T 300 5050 5 8 1 1 0 6 1 pinnumber=10 T 300 4950 5 8 0 1 0 8 1 pinseq=11 T 450 5000 9 8 1 1 0 0 1 pinlabel=PD0 (RXD) T 450 5000 5 8 0 1 0 2 1 pintype=io } P 100 5600 400 5600 1 0 0 { T 300 5650 5 8 1 1 0 6 1 pinnumber=8 T 300 5550 5 8 0 1 0 8 1 pinseq=12 T 450 5600 9 8 1 1 0 0 1 pinlabel=PB7 (SCK) T 450 5600 5 8 0 1 0 2 1 pintype=io } P 100 6000 400 6000 1 0 0 { T 300 6050 5 8 1 1 0 6 1 pinnumber=7 T 300 5950 5 8 0 1 0 8 1 pinseq=13 T 450 6000 9 8 1 1 0 0 1 pinlabel=PB6 (MISO) T 450 6000 5 8 0 1 0 2 1 pintype=io } P 100 6400 400 6400 1 0 0 { T 300 6450 5 8 1 1 0 6 1 pinnumber=6 T 300 6350 5 8 0 1 0 8 1 pinseq=14 T 450 6400 9 8 1 1 0 0 1 pinlabel=PB5 (MOSI) T 450 6400 5 8 0 1 0 2 1 pintype=io } P 100 6800 400 6800 1 0 0 { T 300 6850 5 8 1 1 0 6 1 pinnumber=5 T 300 6750 5 8 0 1 0 8 1 pinseq=15 T 450 6800 9 8 1 1 0 0 1 pinlabel=PB4 (\_SS\_) T 450 6800 5 8 0 1 0 2 1 pintype=io } P 100 7200 400 7200 1 0 0 { T 300 7250 5 8 1 1 0 6 1 pinnumber=4 T 300 7150 5 8 0 1 0 8 1 pinseq=16 T 450 7200 9 8 1 1 0 0 1 pinlabel=PB3 (AIN1) T 450 7200 5 8 0 1 0 2 1 pintype=io } P 100 7600 400 7600 1 0 0 { T 300 7650 5 8 1 1 0 6 1 pinnumber=3 T 300 7550 5 8 0 1 0 8 1 pinseq=17 T 450 7600 9 8 1 1 0 0 1 pinlabel=PB2 (AIN0) T 450 7600 5 8 0 1 0 2 1 pintype=io } P 100 8000 400 8000 1 0 0 { T 300 8050 5 8 1 1 0 6 1 pinnumber=2 T 300 7950 5 8 0 1 0 8 1 pinseq=18 T 450 8000 9 8 1 1 0 0 1 pinlabel=PB1 (T1) T 450 8000 5 8 0 1 0 2 1 pintype=io } P 100 8400 400 8400 1 0 0 { T 300 8450 5 8 1 1 0 6 1 pinnumber=1 T 300 8350 5 8 0 1 0 8 1 pinseq=19 T 450 8400 9 8 1 1 0 0 1 pinlabel=PB0 (T0) T 450 8400 5 8 0 1 0 2 1 pintype=io } P 3300 2200 3000 2200 1 0 0 { T 3100 2250 5 8 1 1 0 0 1 pinnumber=28 T 3100 2150 5 8 0 1 0 2 1 pinseq=20 T 2950 2200 9 8 1 1 0 6 1 pinlabel=(A15) PC7 T 2950 2200 5 8 0 1 0 8 1 pintype=io } P 3300 2600 3000 2600 1 0 0 { T 3100 2650 5 8 1 1 0 0 1 pinnumber=27 T 3100 2550 5 8 0 1 0 2 1 pinseq=21 T 2950 2600 9 8 1 1 0 6 1 pinlabel=(A14) PC6 T 2950 2600 5 8 0 1 0 8 1 pintype=io } P 3300 3000 3000 3000 1 0 0 { T 3100 3050 5 8 1 1 0 0 1 pinnumber=26 T 3100 2950 5 8 0 1 0 2 1 pinseq=22 T 2950 3000 9 8 1 1 0 6 1 pinlabel=(A13) PC5 T 2950 3000 5 8 0 1 0 8 1 pintype=io } P 3300 3400 3000 3400 1 0 0 { T 3100 3450 5 8 1 1 0 0 1 pinnumber=25 T 3100 3350 5 8 0 1 0 2 1 pinseq=23 T 2950 3400 9 8 1 1 0 6 1 pinlabel=(A12) PC4 T 2950 3400 5 8 0 1 0 8 1 pintype=io } P 3300 3800 3000 3800 1 0 0 { T 3100 3850 5 8 1 1 0 0 1 pinnumber=24 T 3100 3750 5 8 0 1 0 2 1 pinseq=24 T 2950 3800 9 8 1 1 0 6 1 pinlabel=(A11) PC3 T 2950 3800 5 8 0 1 0 8 1 pintype=io } P 3300 4200 3000 4200 1 0 0 { T 3100 4250 5 8 1 1 0 0 1 pinnumber=23 T 3100 4150 5 8 0 1 0 2 1 pinseq=25 T 2950 4200 9 8 1 1 0 6 1 pinlabel=(A10) PC2 T 2950 4200 5 8 0 1 0 8 1 pintype=io } P 3300 4600 3000 4600 1 0 0 { T 3100 4650 5 8 1 1 0 0 1 pinnumber=22 T 3100 4550 5 8 0 1 0 2 1 pinseq=26 T 2950 4600 9 8 1 1 0 6 1 pinlabel=(A9) PC1 T 2950 4600 5 8 0 1 0 8 1 pintype=io } P 3300 5000 3000 5000 1 0 0 { T 3100 5050 5 8 1 1 0 0 1 pinnumber=21 T 3100 4950 5 8 0 1 0 2 1 pinseq=27 T 2950 5000 9 8 1 1 0 6 1 pinlabel=(A8) PC0 T 2950 5000 5 8 0 1 0 8 1 pintype=io } P 3300 5600 3000 5600 1 0 0 { T 3100 5650 5 8 1 1 0 0 1 pinnumber=32 T 3100 5550 5 8 0 1 0 2 1 pinseq=28 T 2950 5600 9 8 1 1 0 6 1 pinlabel=(AD7) PA7 T 2950 5600 5 8 0 1 0 8 1 pintype=io } P 3300 6000 3000 6000 1 0 0 { T 3100 6050 5 8 1 1 0 0 1 pinnumber=33 T 3100 5950 5 8 0 1 0 2 1 pinseq=29 T 2950 6000 9 8 1 1 0 6 1 pinlabel=(AD6) PA6 T 2950 6000 5 8 0 1 0 8 1 pintype=io } P 3300 6400 3000 6400 1 0 0 { T 3100 6450 5 8 1 1 0 0 1 pinnumber=34 T 3100 6350 5 8 0 1 0 2 1 pinseq=30 T 2950 6400 9 8 1 1 0 6 1 pinlabel=(AD5) PA5 T 2950 6400 5 8 0 1 0 8 1 pintype=io } P 3300 6800 3000 6800 1 0 0 { T 3100 6850 5 8 1 1 0 0 1 pinnumber=35 T 3100 6750 5 8 0 1 0 2 1 pinseq=31 T 2950 6800 9 8 1 1 0 6 1 pinlabel=(AD4) PA4 T 2950 6800 5 8 0 1 0 8 1 pintype=io } P 3300 7200 3000 7200 1 0 0 { T 3100 7250 5 8 1 1 0 0 1 pinnumber=36 T 3100 7150 5 8 0 1 0 2 1 pinseq=32 T 2950 7200 9 8 1 1 0 6 1 pinlabel=(AD3) PA3 T 2950 7200 5 8 0 1 0 8 1 pintype=io } P 3300 7600 3000 7600 1 0 0 { T 3100 7650 5 8 1 1 0 0 1 pinnumber=37 T 3100 7550 5 8 0 1 0 2 1 pinseq=33 T 2950 7600 9 8 1 1 0 6 1 pinlabel=(AD2) PA2 T 2950 7600 5 8 0 1 0 8 1 pintype=io } P 3300 8000 3000 8000 1 0 0 { T 3100 8050 5 8 1 1 0 0 1 pinnumber=38 T 3100 7950 5 8 0 1 0 2 1 pinseq=34 T 2950 8000 9 8 1 1 0 6 1 pinlabel=(AD1) PA1 T 2950 8000 5 8 0 1 0 8 1 pintype=io } P 3300 8400 3000 8400 1 0 0 { T 3100 8450 5 8 1 1 0 0 1 pinnumber=39 T 3100 8350 5 8 0 1 0 2 1 pinseq=35 T 2950 8400 9 8 1 1 0 6 1 pinlabel=(AD0) PA0 T 2950 8400 5 8 0 1 0 8 1 pintype=io } P 3300 800 3000 800 1 0 0 { T 3100 850 5 8 1 1 0 0 1 pinnumber=29 T 3100 750 5 8 0 1 0 2 1 pinseq=36 T 2950 800 9 8 1 1 0 6 1 pinlabel=OC1B T 2950 800 5 8 0 1 0 8 1 pintype=out } P 3300 1200 3000 1200 1 0 0 { T 3100 1250 5 8 1 1 0 0 1 pinnumber=31 T 3100 1150 5 8 0 1 0 2 1 pinseq=37 T 2950 1200 9 8 1 1 0 6 1 pinlabel=ICP T 2950 1200 5 8 0 1 0 8 1 pintype=in } P 3300 1600 3000 1600 1 0 0 { T 3100 1650 5 8 1 1 0 0 1 pinnumber=30 T 3100 1550 5 8 0 1 0 2 1 pinseq=38 T 2950 1600 9 8 1 1 0 6 1 pinlabel=ALE T 2950 1600 5 8 0 1 0 8 1 pintype=out } B 400 400 2600 8400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 9850 5 10 0 0 0 0 1 description=8-bit RISC micro controller (Atmel) T 400 10050 5 10 0 0 0 0 1 numslots=0 T 400 10250 5 10 0 0 0 0 1 author=Werner Hoch T 400 8850 9 10 1 0 0 0 1 AT90S8515 geda-gaf-1.8.2/symbols/micro/DS80C320.sym0000664000175000017500000001266712204104272014447 00000000000000v 20031231 1 B 300 300 1500 6600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 7175 5 10 0 0 0 0 1 device=DS80C320 T 350 6950 9 10 1 0 0 0 1 DS80C320 T 350 5950 9 8 1 0 0 0 1 T2 P 300 6000 0 6000 1 0 1 { T 120 6050 5 8 1 1 0 0 1 pinnumber=1 T 120 6050 5 8 0 0 0 0 1 pinseq=1 } T 350 5650 9 8 1 0 0 0 1 T2EX P 300 5700 0 5700 1 0 1 { T 120 5750 5 8 1 1 0 0 1 pinnumber=2 T 120 5750 5 8 0 0 0 0 1 pinseq=2 } T 350 4750 9 8 1 0 0 0 1 RXD1 P 300 4800 0 4800 1 0 1 { T 120 4850 5 8 1 1 0 0 1 pinnumber=3 T 120 4850 5 8 0 0 0 0 1 pinseq=3 } T 350 4450 9 8 1 0 0 0 1 TXD1 P 300 4500 0 4500 1 0 1 { T 120 4550 5 8 1 1 0 0 1 pinnumber=4 T 120 4550 5 8 0 0 0 0 1 pinseq=4 } T 350 3550 9 8 1 0 0 0 1 INT2 P 300 3600 0 3600 1 0 1 { T 120 3650 5 8 1 1 0 0 1 pinnumber=5 T 120 3650 5 8 0 0 0 0 1 pinseq=5 } T 350 3250 9 8 1 0 0 0 1 /INT3 V 250 3300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 3300 0 3300 1 0 1 { T 120 3350 5 8 1 1 0 0 1 pinnumber=6 T 120 3350 5 8 0 0 0 0 1 pinseq=6 } T 350 2950 9 8 1 0 0 0 1 INT4 P 300 3000 0 3000 1 0 1 { T 120 3050 5 8 1 1 0 0 1 pinnumber=7 T 120 3050 5 8 0 0 0 0 1 pinseq=7 } T 350 2650 9 8 1 0 0 0 1 /INT5 V 250 2700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 2700 0 2700 1 0 1 { T 120 2750 5 8 1 1 0 0 1 pinnumber=8 T 120 2750 5 8 0 0 0 0 1 pinseq=8 } T 350 5350 9 8 1 0 0 0 1 RXD0 P 300 5400 0 5400 1 0 1 { T 40 5450 5 8 1 1 0 0 1 pinnumber=10 T 40 5450 5 8 0 0 0 0 1 pinseq=9 } T 350 5050 9 8 1 0 0 0 1 TXD0 P 300 5100 0 5100 1 0 1 { T 40 5150 5 8 1 1 0 0 1 pinnumber=11 T 40 5150 5 8 0 0 0 0 1 pinseq=10 } T 350 4150 9 8 1 0 0 0 1 /INT0 V 250 4200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 4200 0 4200 1 0 1 { T 40 4250 5 8 1 1 0 0 1 pinnumber=12 T 40 4250 5 8 0 0 0 0 1 pinseq=11 } T 350 3850 9 8 1 0 0 0 1 /INT1 V 250 3900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 3900 0 3900 1 0 1 { T 40 3950 5 8 1 1 0 0 1 pinnumber=13 T 40 3950 5 8 0 0 0 0 1 pinseq=12 } T 350 6550 9 8 1 0 0 0 1 T0 P 300 6600 0 6600 1 0 1 { T 40 6650 5 8 1 1 0 0 1 pinnumber=14 T 40 6650 5 8 0 0 0 0 1 pinseq=13 } T 350 6250 9 8 1 0 0 0 1 T1 P 300 6300 0 6300 1 0 1 { T 40 6350 5 8 1 1 0 0 1 pinnumber=15 T 40 6350 5 8 0 0 0 0 1 pinseq=14 } T 350 2350 9 8 1 0 0 0 1 Rst P 300 2400 0 2400 1 0 1 { T 120 2450 5 8 1 1 0 0 1 pinnumber=9 T 120 2450 5 8 0 0 0 0 1 pinseq=15 } T 350 1150 9 8 1 0 0 0 1 Xtal1 P 300 1200 0 1200 1 0 1 { T 40 1250 5 8 1 1 0 0 1 pinnumber=18 T 40 1250 5 8 0 0 0 0 1 pinseq=16 } T 350 1450 9 8 1 0 0 0 1 Xtal2 P 300 1500 0 1500 1 0 1 { T 40 1550 5 8 1 1 0 0 1 pinnumber=19 T 40 1550 5 8 0 0 0 0 1 pinseq=17 } T 350 1750 9 8 1 0 0 0 1 /EA V 250 1800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 1800 0 1800 1 0 1 { T 40 1850 5 8 1 1 0 0 1 pinnumber=31 T 40 1850 5 8 0 0 0 0 1 pinseq=18 } T 1410 6550 9 8 1 0 0 0 1 AD0 P 1800 6600 2100 6600 1 0 1 { T 1900 6650 5 8 1 1 0 0 1 pinnumber=39 T 1900 6650 5 8 0 0 0 0 1 pinseq=19 } T 1410 6250 9 8 1 0 0 0 1 AD1 P 1800 6300 2100 6300 1 0 1 { T 1900 6350 5 8 1 1 0 0 1 pinnumber=38 T 1900 6350 5 8 0 0 0 0 1 pinseq=20 } T 1410 5950 9 8 1 0 0 0 1 AD2 P 1800 6000 2100 6000 1 0 1 { T 1900 6050 5 8 1 1 0 0 1 pinnumber=37 T 1900 6050 5 8 0 0 0 0 1 pinseq=21 } T 1410 5650 9 8 1 0 0 0 1 AD3 P 1800 5700 2100 5700 1 0 1 { T 1900 5750 5 8 1 1 0 0 1 pinnumber=36 T 1900 5750 5 8 0 0 0 0 1 pinseq=22 } T 1410 5350 9 8 1 0 0 0 1 AD4 P 1800 5400 2100 5400 1 0 1 { T 1900 5450 5 8 1 1 0 0 1 pinnumber=35 T 1900 5450 5 8 0 0 0 0 1 pinseq=23 } T 1410 5050 9 8 1 0 0 0 1 AD5 P 1800 5100 2100 5100 1 0 1 { T 1900 5150 5 8 1 1 0 0 1 pinnumber=34 T 1900 5150 5 8 0 0 0 0 1 pinseq=24 } T 1410 4750 9 8 1 0 0 0 1 AD6 P 1800 4800 2100 4800 1 0 1 { T 1900 4850 5 8 1 1 0 0 1 pinnumber=33 T 1900 4850 5 8 0 0 0 0 1 pinseq=25 } T 1410 4450 9 8 1 0 0 0 1 AD7 P 1800 4500 2100 4500 1 0 1 { T 1900 4550 5 8 1 1 0 0 1 pinnumber=32 T 1900 4550 5 8 0 0 0 0 1 pinseq=26 } T 1490 4150 9 8 1 0 0 0 1 A8 P 1800 4200 2100 4200 1 0 1 { T 1900 4250 5 8 1 1 0 0 1 pinnumber=21 T 1900 4250 5 8 0 0 0 0 1 pinseq=27 } T 1490 3850 9 8 1 0 0 0 1 A9 P 1800 3900 2100 3900 1 0 1 { T 1900 3950 5 8 1 1 0 0 1 pinnumber=22 T 1900 3950 5 8 0 0 0 0 1 pinseq=28 } T 1410 3550 9 8 1 0 0 0 1 A10 P 1800 3600 2100 3600 1 0 1 { T 1900 3650 5 8 1 1 0 0 1 pinnumber=23 T 1900 3650 5 8 0 0 0 0 1 pinseq=29 } T 1410 3250 9 8 1 0 0 0 1 A11 P 1800 3300 2100 3300 1 0 1 { T 1900 3350 5 8 1 1 0 0 1 pinnumber=24 T 1900 3350 5 8 0 0 0 0 1 pinseq=30 } T 1410 2950 9 8 1 0 0 0 1 A13 P 1800 3000 2100 3000 1 0 1 { T 1900 3050 5 8 1 1 0 0 1 pinnumber=25 T 1900 3050 5 8 0 0 0 0 1 pinseq=31 } T 1410 2650 9 8 1 0 0 0 1 A14 P 1800 2700 2100 2700 1 0 1 { T 1900 2750 5 8 1 1 0 0 1 pinnumber=26 T 1900 2750 5 8 0 0 0 0 1 pinseq=32 } T 1410 2350 9 8 1 0 0 0 1 A15 P 1800 2400 2100 2400 1 0 1 { T 1900 2450 5 8 1 1 0 0 1 pinnumber=27 T 1900 2450 5 8 0 0 0 0 1 pinseq=33 } T 1410 1750 9 8 1 0 0 0 1 ALE P 1800 1800 2100 1800 1 0 1 { T 1900 1850 5 8 1 1 0 0 1 pinnumber=30 T 1900 1850 5 8 0 0 0 0 1 pinseq=34 } T 1250 1450 9 8 1 0 0 0 1 /PSEN V 1850 1500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1900 1500 2100 1500 1 0 1 { T 1900 1550 5 8 1 1 0 0 1 pinnumber=29 T 1900 1550 5 8 0 0 0 0 1 pinseq=35 } T 1410 1150 9 8 1 0 0 0 1 /RD V 1850 1200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1900 1200 2100 1200 1 0 1 { T 1900 1250 5 8 1 1 0 0 1 pinnumber=17 T 1900 1250 5 8 0 0 0 0 1 pinseq=36 } T 1410 850 9 8 1 0 0 0 1 /WR V 1850 900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1900 900 2100 900 1 0 1 { T 1900 950 5 8 1 1 0 0 1 pinnumber=16 T 1900 950 5 8 0 0 0 0 1 pinseq=37 } T 1800 7000 8 10 1 1 0 0 1 refdes=U? T 300 7375 5 10 1 1 0 0 1 comment=dont_use this broken symbol: pin A12 is missing, check your design geda-gaf-1.8.2/symbols/micro/AT90S8535_PLCC.sym0000664000175000017500000001610012204104272015351 00000000000000v 20070626 1 T 3000 7500 8 10 1 1 0 6 1 refdes=U? T 400 7650 5 10 0 0 0 0 1 device=AT90S8535_PLCC T 400 7850 5 10 0 0 0 0 1 footprint=PLCC44 T 400 8050 5 10 0 0 0 0 1 net=GND:1,12,24 T 400 8250 5 10 0 0 0 0 1 net=Vcc:11,23,44 T 400 8450 5 10 0 0 0 0 1 net=AVcc:33 T 400 8650 5 10 0 0 0 0 1 net=AGND:34 T 400 8850 5 10 0 0 0 0 1 description=8-bit RISC micro controller (Atmel) P 2600 100 2600 300 1 0 0 { T 2650 200 5 8 1 1 0 0 1 pinnumber=10 T 2650 200 5 8 0 1 0 2 1 pinseq=1 T 2600 450 9 8 1 1 0 3 1 pinlabel=\_Reset\_ T 2600 600 5 8 0 1 0 3 1 pintype=in } V 2600 350 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 100 2000 400 1 0 0 { T 2050 200 5 8 1 1 0 0 1 pinnumber=13 T 2050 200 5 8 0 1 0 2 1 pinseq=2 T 2000 450 9 8 1 1 0 3 1 pinlabel=XTAL2 T 2000 600 5 8 0 1 0 3 1 pintype=out } P 1400 100 1400 400 1 0 0 { T 1450 200 5 8 1 1 0 0 1 pinnumber=14 T 1450 200 5 8 0 1 0 2 1 pinseq=3 T 1400 450 9 8 1 1 0 3 1 pinlabel=XTAL1 T 1400 600 5 8 0 1 0 3 1 pintype=in } P 800 100 800 400 1 0 0 { T 850 200 5 8 1 1 0 0 1 pinnumber=35 T 850 200 5 8 0 1 0 2 1 pinseq=4 T 800 450 9 8 1 1 0 3 1 pinlabel=AREF T 800 600 5 8 0 1 0 3 1 pintype=in } P 100 800 400 800 1 0 0 { T 300 850 5 8 1 1 0 6 1 pinnumber=22 T 300 750 5 8 0 1 0 8 1 pinseq=5 T 450 800 9 8 1 1 0 0 1 pinlabel=PD7 (OC2) T 450 800 5 8 0 1 0 2 1 pintype=io } P 100 1200 400 1200 1 0 0 { T 300 1250 5 8 1 1 0 6 1 pinnumber=21 T 300 1150 5 8 0 1 0 8 1 pinseq=6 T 450 1200 9 8 1 1 0 0 1 pinlabel=PD6 (ICP) T 450 1200 5 8 0 1 0 2 1 pintype=io } P 100 1600 400 1600 1 0 0 { T 300 1650 5 8 1 1 0 6 1 pinnumber=20 T 300 1550 5 8 0 1 0 8 1 pinseq=7 T 450 1600 9 8 1 1 0 0 1 pinlabel=PD5 (OC1A) T 450 1600 5 8 0 1 0 2 1 pintype=io } P 100 2000 400 2000 1 0 0 { T 300 2050 5 8 1 1 0 6 1 pinnumber=19 T 300 1950 5 8 0 1 0 8 1 pinseq=8 T 450 2000 9 8 1 1 0 0 1 pinlabel=PD4 (OC1B) T 450 2000 5 8 0 1 0 2 1 pintype=io } P 100 2400 400 2400 1 0 0 { T 300 2450 5 8 1 1 0 6 1 pinnumber=18 T 300 2350 5 8 0 1 0 8 1 pinseq=9 T 450 2400 9 8 1 1 0 0 1 pinlabel=PD3 (INT1) T 450 2400 5 8 0 1 0 2 1 pintype=io } P 100 2800 400 2800 1 0 0 { T 300 2850 5 8 1 1 0 6 1 pinnumber=17 T 300 2750 5 8 0 1 0 8 1 pinseq=10 T 450 2800 9 8 1 1 0 0 1 pinlabel=PD2 (INT0) T 450 2800 5 8 0 1 0 2 1 pintype=io } P 100 3200 400 3200 1 0 0 { T 300 3250 5 8 1 1 0 6 1 pinnumber=16 T 300 3150 5 8 0 1 0 8 1 pinseq=11 T 450 3200 9 8 1 1 0 0 1 pinlabel=PD1 (TXD) T 450 3200 5 8 0 1 0 2 1 pintype=io } P 100 3600 400 3600 1 0 0 { T 300 3650 5 8 1 1 0 6 1 pinnumber=15 T 300 3550 5 8 0 1 0 8 1 pinseq=12 T 450 3600 9 8 1 1 0 0 1 pinlabel=PD0 (RXD) T 450 3600 5 8 0 1 0 2 1 pintype=io } P 100 4200 400 4200 1 0 0 { T 300 4250 5 8 1 1 0 6 1 pinnumber=9 T 300 4150 5 8 0 1 0 8 1 pinseq=13 T 450 4200 9 8 1 1 0 0 1 pinlabel=PB7 (SCK) T 450 4200 5 8 0 1 0 2 1 pintype=io } P 100 4600 400 4600 1 0 0 { T 300 4650 5 8 1 1 0 6 1 pinnumber=8 T 300 4550 5 8 0 1 0 8 1 pinseq=14 T 450 4600 9 8 1 1 0 0 1 pinlabel=PB6 (MISO) T 450 4600 5 8 0 1 0 2 1 pintype=io } P 100 5000 400 5000 1 0 0 { T 300 5050 5 8 1 1 0 6 1 pinnumber=7 T 300 4950 5 8 0 1 0 8 1 pinseq=15 T 450 5000 9 8 1 1 0 0 1 pinlabel=PB5 (MOSI) T 450 5000 5 8 0 1 0 2 1 pintype=io } P 100 5400 400 5400 1 0 0 { T 300 5450 5 8 1 1 0 6 1 pinnumber=6 T 300 5350 5 8 0 1 0 8 1 pinseq=16 T 450 5400 9 8 1 1 0 0 1 pinlabel=PB4 (\_SS\_) T 450 5400 5 8 0 1 0 2 1 pintype=io } P 100 5800 400 5800 1 0 0 { T 300 5850 5 8 1 1 0 6 1 pinnumber=5 T 300 5750 5 8 0 1 0 8 1 pinseq=17 T 450 5800 9 8 1 1 0 0 1 pinlabel=PB3 (AIN1) T 450 5800 5 8 0 1 0 2 1 pintype=io } P 100 6200 400 6200 1 0 0 { T 300 6250 5 8 1 1 0 6 1 pinnumber=4 T 300 6150 5 8 0 1 0 8 1 pinseq=18 T 450 6200 9 8 1 1 0 0 1 pinlabel=PB2 (AIN0) T 450 6200 5 8 0 1 0 2 1 pintype=io } P 100 6600 400 6600 1 0 0 { T 300 6650 5 8 1 1 0 6 1 pinnumber=3 T 300 6550 5 8 0 1 0 8 1 pinseq=19 T 450 6600 9 8 1 1 0 0 1 pinlabel=PB1 (T1) T 450 6600 5 8 0 1 0 2 1 pintype=io } P 100 7000 400 7000 1 0 0 { T 300 7050 5 8 1 1 0 6 1 pinnumber=2 T 300 6950 5 8 0 1 0 8 1 pinseq=20 T 450 7000 9 8 1 1 0 0 1 pinlabel=PB0 (T0) T 450 7000 5 8 0 1 0 2 1 pintype=io } P 3300 800 3000 800 1 0 0 { T 3100 850 5 8 1 1 0 0 1 pinnumber=32 T 3100 750 5 8 0 1 0 2 1 pinseq=21 T 2950 800 9 8 1 1 0 6 1 pinlabel=(TOSC2) PC7 T 2950 800 5 8 0 1 0 8 1 pintype=io } P 3300 1200 3000 1200 1 0 0 { T 3100 1250 5 8 1 1 0 0 1 pinnumber=31 T 3100 1150 5 8 0 1 0 2 1 pinseq=22 T 2950 1200 9 8 1 1 0 6 1 pinlabel=(TOSC1) PC6 T 2950 1200 5 8 0 1 0 8 1 pintype=io } P 3300 1600 3000 1600 1 0 0 { T 3100 1650 5 8 1 1 0 0 1 pinnumber=30 T 3100 1550 5 8 0 1 0 2 1 pinseq=23 T 2950 1600 9 8 1 1 0 6 1 pinlabel=PC5 T 2950 1600 5 8 0 1 0 8 1 pintype=io } P 3300 2000 3000 2000 1 0 0 { T 3100 2050 5 8 1 1 0 0 1 pinnumber=29 T 3100 1950 5 8 0 1 0 2 1 pinseq=24 T 2950 2000 9 8 1 1 0 6 1 pinlabel=PC4 T 2950 2000 5 8 0 1 0 8 1 pintype=io } P 3300 2400 3000 2400 1 0 0 { T 3100 2450 5 8 1 1 0 0 1 pinnumber=28 T 3100 2350 5 8 0 1 0 2 1 pinseq=25 T 2950 2400 9 8 1 1 0 6 1 pinlabel=PC3 T 2950 2400 5 8 0 1 0 8 1 pintype=io } P 3300 2800 3000 2800 1 0 0 { T 3100 2850 5 8 1 1 0 0 1 pinnumber=27 T 3100 2750 5 8 0 1 0 2 1 pinseq=26 T 2950 2800 9 8 1 1 0 6 1 pinlabel=PC2 T 2950 2800 5 8 0 1 0 8 1 pintype=io } P 3300 3200 3000 3200 1 0 0 { T 3100 3250 5 8 1 1 0 0 1 pinnumber=26 T 3100 3150 5 8 0 1 0 2 1 pinseq=27 T 2950 3200 9 8 1 1 0 6 1 pinlabel=PC1 T 2950 3200 5 8 0 1 0 8 1 pintype=io } P 3300 3600 3000 3600 1 0 0 { T 3100 3650 5 8 1 1 0 0 1 pinnumber=25 T 3100 3550 5 8 0 1 0 2 1 pinseq=28 T 2950 3600 9 8 1 1 0 6 1 pinlabel=PC0 T 2950 3600 5 8 0 1 0 8 1 pintype=io } P 3300 4200 3000 4200 1 0 0 { T 3100 4250 5 8 1 1 0 0 1 pinnumber=36 T 3100 4150 5 8 0 1 0 2 1 pinseq=29 T 2950 4200 9 8 1 1 0 6 1 pinlabel=(ADC7) PA7 T 2950 4200 5 8 0 1 0 8 1 pintype=io } P 3300 4600 3000 4600 1 0 0 { T 3100 4650 5 8 1 1 0 0 1 pinnumber=37 T 3100 4550 5 8 0 1 0 2 1 pinseq=30 T 2950 4600 9 8 1 1 0 6 1 pinlabel=(ADC6) PA6 T 2950 4600 5 8 0 1 0 8 1 pintype=io } P 3300 5000 3000 5000 1 0 0 { T 3100 5050 5 8 1 1 0 0 1 pinnumber=38 T 3100 4950 5 8 0 1 0 2 1 pinseq=31 T 2950 5000 9 8 1 1 0 6 1 pinlabel=(ADC5) PA5 T 2950 5000 5 8 0 1 0 8 1 pintype=io } P 3300 5400 3000 5400 1 0 0 { T 3100 5450 5 8 1 1 0 0 1 pinnumber=39 T 3100 5350 5 8 0 1 0 2 1 pinseq=32 T 2950 5400 9 8 1 1 0 6 1 pinlabel=(ADC4) PA4 T 2950 5400 5 8 0 1 0 8 1 pintype=io } P 3300 5800 3000 5800 1 0 0 { T 3100 5850 5 8 1 1 0 0 1 pinnumber=40 T 3100 5750 5 8 0 1 0 2 1 pinseq=33 T 2950 5800 9 8 1 1 0 6 1 pinlabel=(ADC3) PA3 T 2950 5800 5 8 0 1 0 8 1 pintype=io } P 3300 6200 3000 6200 1 0 0 { T 3100 6250 5 8 1 1 0 0 1 pinnumber=41 T 3100 6150 5 8 0 1 0 2 1 pinseq=34 T 2950 6200 9 8 1 1 0 6 1 pinlabel=(ADC2) PA2 T 2950 6200 5 8 0 1 0 8 1 pintype=io } P 3300 6600 3000 6600 1 0 0 { T 3100 6650 5 8 1 1 0 0 1 pinnumber=42 T 3100 6550 5 8 0 1 0 2 1 pinseq=35 T 2950 6600 9 8 1 1 0 6 1 pinlabel=(ADC1) PA1 T 2950 6600 5 8 0 1 0 8 1 pintype=io } P 3300 7000 3000 7000 1 0 0 { T 3100 7050 5 8 1 1 0 0 1 pinnumber=43 T 3100 6950 5 8 0 1 0 2 1 pinseq=36 T 2950 7000 9 8 1 1 0 6 1 pinlabel=(ADC0) PA0 T 2950 7000 5 8 0 1 0 8 1 pintype=io } B 400 400 2600 7000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 9050 5 10 0 0 0 0 1 numslots=0 T 400 9250 5 10 0 0 0 0 1 author=Werner Hoch T 400 7450 9 10 1 0 0 0 1 AT90S8535 geda-gaf-1.8.2/symbols/micro/ATtiny28_DIP.sym0000664000175000017500000001137712204104272015514 00000000000000v 20070626 1 T 2400 5900 8 10 1 1 0 6 1 refdes=U? T 400 6050 5 10 0 0 0 0 1 device=ATtiny28_DIP T 400 6250 5 10 0 0 0 0 1 footprint=DIP28 T 400 6450 5 10 0 0 0 0 1 net=Vcc:7,20 T 400 6650 5 10 0 0 0 0 1 net=GND:8,22 T 400 6850 5 10 0 0 0 0 1 description=8-bit RISC micro controller (Atmel) P 1700 100 1700 400 1 0 0 { T 1750 200 5 8 1 1 0 0 1 pinnumber=10 T 1750 200 5 8 0 1 0 2 1 pinseq=1 T 1700 450 9 8 1 1 0 3 1 pinlabel=XTAL2 T 1700 600 5 8 0 1 0 3 1 pintype=out } P 1100 100 1100 400 1 0 0 { T 1150 200 5 8 1 1 0 0 1 pinnumber=9 T 1150 200 5 8 0 1 0 2 1 pinseq=2 T 1100 450 9 8 1 1 0 3 1 pinlabel=XTAL1 T 1100 600 5 8 0 1 0 3 1 pintype=in } P 100 800 300 800 1 0 0 { T 300 850 5 8 1 1 0 6 1 pinnumber=1 T 300 750 5 8 0 1 0 8 1 pinseq=3 T 450 800 9 8 1 1 0 0 1 pinlabel=\_Reset\_ T 450 800 5 8 0 1 0 2 1 pintype=in } V 350 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2600 400 2600 1 0 0 { T 300 2650 5 8 1 1 0 6 1 pinnumber=13 T 300 2550 5 8 0 1 0 8 1 pinseq=4 T 450 2600 9 8 1 1 0 0 1 pinlabel=PD7 T 450 2600 5 8 0 1 0 2 1 pintype=io } P 100 3000 400 3000 1 0 0 { T 300 3050 5 8 1 1 0 6 1 pinnumber=12 T 300 2950 5 8 0 1 0 8 1 pinseq=5 T 450 3000 9 8 1 1 0 0 1 pinlabel=PD6 T 450 3000 5 8 0 1 0 2 1 pintype=io } P 100 3400 400 3400 1 0 0 { T 300 3450 5 8 1 1 0 6 1 pinnumber=11 T 300 3350 5 8 0 1 0 8 1 pinseq=6 T 450 3400 9 8 1 1 0 0 1 pinlabel=PD5 T 450 3400 5 8 0 1 0 2 1 pintype=io } P 100 3800 400 3800 1 0 0 { T 300 3850 5 8 1 1 0 6 1 pinnumber=6 T 300 3750 5 8 0 1 0 8 1 pinseq=7 T 450 3800 9 8 1 1 0 0 1 pinlabel=PD4 T 450 3800 5 8 0 1 0 2 1 pintype=io } P 100 4200 400 4200 1 0 0 { T 300 4250 5 8 1 1 0 6 1 pinnumber=5 T 300 4150 5 8 0 1 0 8 1 pinseq=8 T 450 4200 9 8 1 1 0 0 1 pinlabel=PD3 T 450 4200 5 8 0 1 0 2 1 pintype=io } P 100 4600 400 4600 1 0 0 { T 300 4650 5 8 1 1 0 6 1 pinnumber=4 T 300 4550 5 8 0 1 0 8 1 pinseq=9 T 450 4600 9 8 1 1 0 0 1 pinlabel=PD2 T 450 4600 5 8 0 1 0 2 1 pintype=io } P 100 5000 400 5000 1 0 0 { T 300 5050 5 8 1 1 0 6 1 pinnumber=3 T 300 4950 5 8 0 1 0 8 1 pinseq=10 T 450 5000 9 8 1 1 0 0 1 pinlabel=PD1 T 450 5000 5 8 0 1 0 2 1 pintype=io } P 100 5400 400 5400 1 0 0 { T 300 5450 5 8 1 1 0 6 1 pinnumber=2 T 300 5350 5 8 0 1 0 8 1 pinseq=11 T 450 5400 9 8 1 1 0 0 1 pinlabel=PD0 T 450 5400 5 8 0 1 0 2 1 pintype=io } P 100 1200 400 1200 1 0 0 { T 300 1250 5 8 1 1 0 6 1 pinnumber=21 T 300 1150 5 8 0 1 0 8 1 pinseq=12 T 450 1200 9 8 1 1 0 0 1 pinlabel=NC. T 450 1200 5 8 0 1 0 2 1 pintype=tp } P 2700 800 2400 800 1 0 0 { T 2500 850 5 8 1 1 0 0 1 pinnumber=24 T 2500 750 5 8 0 1 0 2 1 pinseq=13 T 2350 800 9 8 1 1 0 6 1 pinlabel=PB7 T 2350 800 5 8 0 1 0 8 1 pintype=io } P 2700 1200 2400 1200 1 0 0 { T 2500 1250 5 8 1 1 0 0 1 pinnumber=23 T 2500 1150 5 8 0 1 0 2 1 pinseq=14 T 2350 1200 9 8 1 1 0 6 1 pinlabel=PB6 T 2350 1200 5 8 0 1 0 8 1 pintype=io } P 2700 1600 2400 1600 1 0 0 { T 2500 1650 5 8 1 1 0 0 1 pinnumber=19 T 2500 1550 5 8 0 1 0 2 1 pinseq=15 T 2350 1600 9 8 1 1 0 6 1 pinlabel=PB5 T 2350 1600 5 8 0 1 0 8 1 pintype=io } P 2700 2000 2400 2000 1 0 0 { T 2500 2050 5 8 1 1 0 0 1 pinnumber=18 T 2500 1950 5 8 0 1 0 2 1 pinseq=16 T 2350 2000 9 8 1 1 0 6 1 pinlabel=(INT1) PB4 T 2350 2000 5 8 0 1 0 8 1 pintype=io } P 2700 2400 2400 2400 1 0 0 { T 2500 2450 5 8 1 1 0 0 1 pinnumber=17 T 2500 2350 5 8 0 1 0 2 1 pinseq=17 T 2350 2400 9 8 1 1 0 6 1 pinlabel=(INT0) PB3 T 2350 2400 5 8 0 1 0 8 1 pintype=io } P 2700 2800 2400 2800 1 0 0 { T 2500 2850 5 8 1 1 0 0 1 pinnumber=16 T 2500 2750 5 8 0 1 0 2 1 pinseq=18 T 2350 2800 9 8 1 1 0 6 1 pinlabel=(T0) PB2 T 2350 2800 5 8 0 1 0 8 1 pintype=io } P 2700 3200 2400 3200 1 0 0 { T 2500 3250 5 8 1 1 0 0 1 pinnumber=15 T 2500 3150 5 8 0 1 0 2 1 pinseq=19 T 2350 3200 9 8 1 1 0 6 1 pinlabel=(AIN1) PB1 T 2350 3200 5 8 0 1 0 8 1 pintype=io } P 2700 3600 2400 3600 1 0 0 { T 2500 3650 5 8 1 1 0 0 1 pinnumber=14 T 2500 3550 5 8 0 1 0 2 1 pinseq=20 T 2350 3600 9 8 1 1 0 6 1 pinlabel=(AIN0) PB0 T 2350 3600 5 8 0 1 0 8 1 pintype=io } P 2700 4200 2400 4200 1 0 0 { T 2500 4250 5 8 1 1 0 0 1 pinnumber=26 T 2500 4150 5 8 0 1 0 2 1 pinseq=21 T 2350 4200 9 8 1 1 0 6 1 pinlabel=PA3 T 2350 4200 5 8 0 1 0 8 1 pintype=io } P 2700 4600 2400 4600 1 0 0 { T 2500 4650 5 8 1 1 0 0 1 pinnumber=25 T 2500 4550 5 8 0 1 0 2 1 pinseq=22 T 2350 4600 9 8 1 1 0 6 1 pinlabel=(IR) PA2 T 2350 4600 5 8 0 1 0 8 1 pintype=io } P 2700 5000 2400 5000 1 0 0 { T 2500 5050 5 8 1 1 0 0 1 pinnumber=27 T 2500 4950 5 8 0 1 0 2 1 pinseq=23 T 2350 5000 9 8 1 1 0 6 1 pinlabel=PA1 T 2350 5000 5 8 0 1 0 8 1 pintype=io } P 2700 5400 2400 5400 1 0 0 { T 2500 5450 5 8 1 1 0 0 1 pinnumber=28 T 2500 5350 5 8 0 1 0 2 1 pinseq=24 T 2350 5400 9 8 1 1 0 6 1 pinlabel=PA0 T 2350 5400 5 8 0 1 0 8 1 pintype=io } B 400 400 2000 5400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 7050 5 10 0 0 0 0 1 numslots=0 T 400 7250 5 10 0 0 0 0 1 author=Werner Hoch T 400 5850 9 10 1 0 0 0 1 ATtiny28 geda-gaf-1.8.2/symbols/micro/pic16F628-1.sym0000664000175000017500000000711312204104272015055 00000000000000v 20081221 2 B 300 0 2100 3000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=1 T 350 2700 9 8 1 1 0 0 1 pinlabel=RA2 T 200 2650 5 8 0 1 0 8 1 pinseq=1 T 350 2700 5 8 0 1 0 2 1 pintype=io } P 0 2400 300 2400 1 0 0 { T 200 2450 5 8 1 1 0 6 1 pinnumber=2 T 350 2400 9 8 1 1 0 0 1 pinlabel=RA3 T 200 2350 5 8 0 1 0 8 1 pinseq=2 T 350 2400 5 8 0 1 0 2 1 pintype=io } P 0 2100 300 2100 1 0 0 { T 200 2150 5 8 1 1 0 6 1 pinnumber=3 T 350 2100 9 8 1 1 0 0 1 pinlabel=RA4 T 200 2050 5 8 0 1 0 8 1 pinseq=3 T 350 2100 5 8 0 1 0 2 1 pintype=io } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=4 T 350 1800 9 8 1 1 0 0 1 pinlabel=MCLR/RA5 T 200 1750 5 8 0 1 0 8 1 pinseq=4 T 350 1800 5 8 0 1 0 2 1 pintype=io } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=5 T 350 1500 9 8 1 1 0 0 1 pinlabel=Vss T 200 1450 5 8 0 1 0 8 1 pinseq=5 T 350 1500 5 8 0 1 0 2 1 pintype=pwr } P 0 1200 300 1200 1 0 0 { T 200 1250 5 8 1 1 0 6 1 pinnumber=6 T 350 1200 9 8 1 1 0 0 1 pinlabel=RB0 T 200 1150 5 8 0 1 0 8 1 pinseq=6 T 350 1200 5 8 0 1 0 2 1 pintype=io } P 0 900 300 900 1 0 0 { T 200 950 5 8 1 1 0 6 1 pinnumber=7 T 350 900 9 8 1 1 0 0 1 pinlabel=RB1 T 200 850 5 8 0 1 0 8 1 pinseq=7 T 350 900 5 8 0 1 0 2 1 pintype=io } P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=8 T 350 600 9 8 1 1 0 0 1 pinlabel=RB2 T 200 550 5 8 0 1 0 8 1 pinseq=8 T 350 600 5 8 0 1 0 2 1 pintype=io } P 0 300 300 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=9 T 350 300 9 8 1 1 0 0 1 pinlabel=RB3 T 200 250 5 8 0 1 0 8 1 pinseq=9 T 350 300 5 8 0 1 0 2 1 pintype=io } P 2700 2700 2400 2700 1 0 0 { T 2500 2750 5 8 1 1 0 0 1 pinnumber=18 T 2350 2700 9 8 1 1 0 6 1 pinlabel=RA1 T 2500 2650 5 8 0 1 0 2 1 pinseq=18 T 2350 2700 5 8 0 1 0 8 1 pintype=io } P 2700 2400 2400 2400 1 0 0 { T 2500 2450 5 8 1 1 0 0 1 pinnumber=17 T 2350 2400 9 8 1 1 0 6 1 pinlabel=RA0 T 2500 2350 5 8 0 1 0 2 1 pinseq=17 T 2350 2400 5 8 0 1 0 8 1 pintype=io } P 2700 2100 2400 2100 1 0 0 { T 2500 2150 5 8 1 1 0 0 1 pinnumber=16 T 2350 2100 9 8 1 1 0 6 1 pinlabel=RA7/OSC1 T 2500 2050 5 8 0 1 0 2 1 pinseq=16 T 2350 2100 5 8 0 1 0 8 1 pintype=io } P 2700 1800 2400 1800 1 0 0 { T 2500 1850 5 8 1 1 0 0 1 pinnumber=15 T 2350 1800 9 8 1 1 0 6 1 pinlabel=RA6/OSC2 T 2500 1750 5 8 0 1 0 2 1 pinseq=15 T 2350 1800 5 8 0 1 0 8 1 pintype=io } P 2700 1500 2400 1500 1 0 0 { T 2500 1550 5 8 1 1 0 0 1 pinnumber=14 T 2350 1500 9 8 1 1 0 6 1 pinlabel=Vdd T 2500 1450 5 8 0 1 0 2 1 pinseq=14 T 2350 1500 5 8 0 1 0 8 1 pintype=pwr } P 2700 1200 2400 1200 1 0 0 { T 2500 1250 5 8 1 1 0 0 1 pinnumber=13 T 2350 1200 9 8 1 1 0 6 1 pinlabel=RB7 T 2500 1150 5 8 0 1 0 2 1 pinseq=13 T 2350 1200 5 8 0 1 0 8 1 pintype=io } P 2700 900 2400 900 1 0 0 { T 2500 950 5 8 1 1 0 0 1 pinnumber=12 T 2350 900 9 8 1 1 0 6 1 pinlabel=RB6 T 2500 850 5 8 0 1 0 2 1 pinseq=12 T 2350 900 5 8 0 1 0 8 1 pintype=io } P 2700 600 2400 600 1 0 0 { T 2500 650 5 8 1 1 0 0 1 pinnumber=11 T 2350 600 9 8 1 1 0 6 1 pinlabel=RB5 T 2500 550 5 8 0 1 0 2 1 pinseq=11 T 2350 600 5 8 0 1 0 8 1 pintype=io } P 2700 300 2400 300 1 0 0 { T 2500 350 5 8 1 1 0 0 1 pinnumber=10 T 2350 300 9 8 1 1 0 6 1 pinlabel=RB4 T 2500 250 5 8 0 1 0 2 1 pinseq=10 T 2350 300 5 8 0 1 0 8 1 pintype=io } T 2200 3100 8 10 1 1 0 0 1 refdes=U? T 300 3250 5 10 0 0 0 0 1 footprint=DIP18 T 300 3450 5 10 0 0 0 0 1 device=PIC16F628 T 300 3650 5 10 0 0 0 0 1 numslots=0 T 300 3850 5 10 0 0 0 0 1 symversion=0.1 T 300 4050 5 10 0 0 0 0 1 description=FLASH-Based 8-Bit CMOS Microcontroller T 300 4250 5 10 0 0 0 0 1 documentation=http://ww1.microchip.com/downloads/en/DeviceDoc/40300C.pdf T 300 3050 3 10 0 0 0 0 1 PIC16F628 geda-gaf-1.8.2/symbols/micro/pic16c5x-1.sym0000664000175000017500000001134112204104272015125 00000000000000v 20070626 1 P 0 4100 300 4100 1 0 0 { T 200 4150 5 8 1 1 0 6 1 pinnumber=1 T 200 4050 5 8 0 1 0 8 1 pinseq=1 T 350 4100 9 8 1 1 0 0 1 pinlabel=TOCKI T 350 4100 5 8 0 1 0 2 1 pintype=in } P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=6 T 200 2550 5 8 0 1 0 8 1 pinseq=6 T 350 2600 9 8 1 1 0 0 1 pinlabel=RA0 T 350 2600 5 8 0 1 0 2 1 pintype=io } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=7 T 200 2250 5 8 0 1 0 8 1 pinseq=7 T 350 2300 9 8 1 1 0 0 1 pinlabel=RA1 T 350 2300 5 8 0 1 0 2 1 pintype=io } P 0 2000 300 2000 1 0 0 { T 200 2050 5 8 1 1 0 6 1 pinnumber=8 T 200 1950 5 8 0 1 0 8 1 pinseq=8 T 350 2000 9 8 1 1 0 0 1 pinlabel=RA2 T 350 2000 5 8 0 1 0 2 1 pintype=io } P 0 1700 300 1700 1 0 0 { T 200 1750 5 8 1 1 0 6 1 pinnumber=9 T 200 1650 5 8 0 1 0 8 1 pinseq=9 T 350 1700 9 8 1 1 0 0 1 pinlabel=RA3 T 350 1700 5 8 0 1 0 2 1 pintype=io } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=10 T 200 1350 5 8 0 1 0 8 1 pinseq=10 T 350 1400 9 8 1 1 0 0 1 pinlabel=RB0 T 350 1400 5 8 0 1 0 2 1 pintype=io } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=11 T 200 1050 5 8 0 1 0 8 1 pinseq=11 T 350 1100 9 8 1 1 0 0 1 pinlabel=RB1 T 350 1100 5 8 0 1 0 2 1 pintype=io } P 0 800 300 800 1 0 0 { T 200 850 5 8 1 1 0 6 1 pinnumber=12 T 200 750 5 8 0 1 0 8 1 pinseq=12 T 350 800 9 8 1 1 0 0 1 pinlabel=RB2 T 350 800 5 8 0 1 0 2 1 pintype=io } P 0 500 300 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=13 T 200 450 5 8 0 1 0 8 1 pinseq=13 T 350 500 9 8 1 1 0 0 1 pinlabel=RB3 T 350 500 5 8 0 1 0 2 1 pintype=io } P 2300 2600 2600 2600 1 0 1 { T 2400 2650 5 8 1 1 0 0 1 pinnumber=23 T 2400 2550 5 8 0 1 0 2 1 pinseq=23 T 2250 2600 9 8 1 1 0 6 1 pinlabel=RC5 T 2250 2600 5 8 0 1 0 8 1 pintype=io } P 2300 2000 2600 2000 1 0 1 { T 2400 2050 5 8 1 1 0 0 1 pinnumber=21 T 2400 1950 5 8 0 1 0 2 1 pinseq=21 T 2250 2000 9 8 1 1 0 6 1 pinlabel=RC3 T 2250 2000 5 8 0 1 0 8 1 pintype=io } P 2300 1400 2600 1400 1 0 1 { T 2400 1450 5 8 1 1 0 0 1 pinnumber=19 T 2400 1350 5 8 0 1 0 2 1 pinseq=19 T 2250 1400 9 8 1 1 0 6 1 pinlabel=RC1 T 2250 1400 5 8 0 1 0 8 1 pintype=io } P 2300 1100 2600 1100 1 0 1 { T 2400 1150 5 8 1 1 0 0 1 pinnumber=18 T 2400 1050 5 8 0 1 0 2 1 pinseq=18 T 2250 1100 9 8 1 1 0 6 1 pinlabel=RC0 T 2250 1100 5 8 0 1 0 8 1 pintype=io } P 2300 800 2600 800 1 0 1 { T 2400 850 5 8 1 1 0 0 1 pinnumber=17 T 2400 750 5 8 0 1 0 2 1 pinseq=17 T 2250 800 9 8 1 1 0 6 1 pinlabel=RB7 T 2250 800 5 8 0 1 0 8 1 pintype=io } P 2300 500 2600 500 1 0 1 { T 2400 550 5 8 1 1 0 0 1 pinnumber=16 T 2400 450 5 8 0 1 0 2 1 pinseq=16 T 2250 500 9 8 1 1 0 6 1 pinlabel=RB6 T 2250 500 5 8 0 1 0 8 1 pintype=io } P 2300 200 2600 200 1 0 1 { T 2400 250 5 8 1 1 0 0 1 pinnumber=15 T 2400 150 5 8 0 1 0 2 1 pinseq=15 T 2250 200 9 8 1 1 0 6 1 pinlabel=RB5 T 2250 200 5 8 0 1 0 8 1 pintype=io } T 300 4650 5 10 0 0 0 0 1 device=PIC16C5x P 2300 1700 2600 1700 1 0 1 { T 2400 1750 5 8 1 1 0 0 1 pinnumber=20 T 2400 1650 5 8 0 1 0 2 1 pinseq=20 T 2250 1700 9 8 1 1 0 6 1 pinlabel=RC2 T 2250 1700 5 8 0 1 0 8 1 pintype=io } P 2300 2300 2600 2300 1 0 1 { T 2400 2350 5 8 1 1 0 0 1 pinnumber=22 T 2400 2250 5 8 0 1 0 2 1 pinseq=22 T 2250 2300 9 8 1 1 0 6 1 pinlabel=RC4 T 2250 2300 5 8 0 1 0 8 1 pintype=io } P 2300 2900 2600 2900 1 0 1 { T 2400 2950 5 8 1 1 0 0 1 pinnumber=24 T 2400 2850 5 8 0 1 0 2 1 pinseq=24 T 2250 2900 9 8 1 1 0 6 1 pinlabel=RC6 T 2250 2900 5 8 0 1 0 8 1 pintype=io } P 2300 3200 2600 3200 1 0 1 { T 2400 3250 5 8 1 1 0 0 1 pinnumber=25 T 2400 3150 5 8 0 1 0 2 1 pinseq=25 T 2250 3200 9 8 1 1 0 6 1 pinlabel=RC7 T 2250 3200 5 8 0 1 0 8 1 pintype=io } P 2300 3500 2600 3500 1 0 1 { T 2400 3550 5 8 1 1 0 0 1 pinnumber=26 T 2400 3450 5 8 0 1 0 2 1 pinseq=26 T 2250 3500 9 8 1 1 0 6 1 pinlabel=OSC2 T 2250 3500 5 8 0 1 0 8 1 pintype=out } P 2300 3800 2600 3800 1 0 1 { T 2400 3850 5 8 1 1 0 0 1 pinnumber=27 T 2400 3750 5 8 0 1 0 2 1 pinseq=27 T 2250 3800 9 8 1 1 0 6 1 pinlabel=OSC1 T 2250 3800 5 8 0 1 0 8 1 pintype=in } P 2400 4100 2600 4100 1 0 1 { T 2400 4150 5 8 1 1 0 0 1 pinnumber=28 T 2400 4050 5 8 0 1 0 2 1 pinseq=28 T 2250 4100 9 8 1 1 0 6 1 pinlabel=\_MCLR\_ T 2250 4100 5 8 0 1 0 8 1 pintype=in } V 2350 4100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=14 T 200 150 5 8 0 1 0 8 1 pinseq=14 T 350 200 9 8 1 1 0 0 1 pinlabel=RB4 T 350 200 5 8 0 1 0 2 1 pintype=io } B 300 0 2000 4400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2300 4500 8 10 1 1 0 6 1 refdes=U? T 300 5050 5 10 0 0 0 0 1 footprint=DIP28 T 300 5650 5 10 0 0 0 0 1 description=8-bit CMOS microcontroller T 300 4850 5 10 0 0 0 0 1 numslots=0 T 300 5250 5 10 0 0 0 0 1 net=Vcc:2 T 300 5450 5 10 0 0 0 0 1 net=GND:4 T 300 4450 9 10 1 0 0 0 1 PIC16C5x T 300 5850 5 10 0 0 0 0 1 documentation=http://www.microchip.com/download/lit/pline/picmicro/families/16c5x/40192c.pdf geda-gaf-1.8.2/symbols/micro/MSP430x12x2.sym0000664000175000017500000001303412204104272015121 00000000000000v 20070626 1 B 400 100 3000 5800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 6150 5 10 0 0 0 0 1 device=MSP430x12x2 T 3350 5950 8 10 1 1 0 6 1 refdes=U? P 400 5600 100 5600 1 0 1 { T 300 5650 5 8 1 1 0 6 1 pinnumber=1 T 450 5600 9 8 1 1 0 0 1 pinlabel=TEST T 300 5550 5 8 0 1 0 8 1 pinseq=1 T 450 5600 5 8 0 1 0 2 1 pintype=in } P 400 5200 100 5200 1 0 1 { T 300 5250 5 8 1 1 0 6 1 pinnumber=2 T 450 5200 9 8 1 1 0 0 1 pinlabel=Vcc T 300 5150 5 8 0 1 0 8 1 pinseq=2 T 450 5200 5 8 0 1 0 2 1 pintype=pwr } P 400 4800 100 4800 1 0 1 { T 300 4850 5 8 1 1 0 6 1 pinnumber=3 T 450 4800 9 8 1 1 0 0 1 pinlabel=P2.5/Rosc T 300 4750 5 8 0 1 0 8 1 pinseq=3 T 450 4800 5 8 0 1 0 2 1 pintype=io } P 400 4400 100 4400 1 0 1 { T 300 4450 5 8 1 1 0 6 1 pinnumber=4 T 450 4400 9 8 1 1 0 0 1 pinlabel=Vss T 300 4350 5 8 0 1 0 8 1 pinseq=4 T 450 4400 5 8 0 1 0 2 1 pintype=pwr } P 400 4000 100 4000 1 0 1 { T 300 4050 5 8 1 1 0 6 1 pinnumber=5 T 450 4000 9 8 1 1 0 0 1 pinlabel=XOUT T 300 3950 5 8 0 1 0 8 1 pinseq=5 T 450 4000 5 8 0 1 0 2 1 pintype=out } P 400 3600 100 3600 1 0 1 { T 300 3650 5 8 1 1 0 6 1 pinnumber=6 T 450 3600 9 8 1 1 0 0 1 pinlabel=XIN T 300 3550 5 8 0 1 0 8 1 pinseq=6 T 450 3600 5 8 0 1 0 2 1 pintype=in } P 300 3200 100 3200 1 0 1 { T 300 3250 5 8 1 1 0 6 1 pinnumber=7 T 450 3200 9 8 1 1 0 0 1 pinlabel=\_RST\_/NMI T 300 3150 5 8 0 1 0 8 1 pinseq=7 T 450 3200 5 8 0 1 0 2 1 pintype=in } P 400 2800 100 2800 1 0 1 { T 300 2850 5 8 1 1 0 6 1 pinnumber=8 T 450 2800 9 8 1 1 0 0 1 pinlabel=P2.0/ACLK/A0 T 300 2750 5 8 0 1 0 8 1 pinseq=8 T 450 2800 5 8 0 1 0 2 1 pintype=io } P 400 2400 100 2400 1 0 1 { T 300 2450 5 8 1 1 0 6 1 pinnumber=9 T 450 2400 9 8 1 1 0 0 1 pinlabel=P2.1/INCLK/A1 T 300 2350 5 8 0 1 0 8 1 pinseq=9 T 450 2400 5 8 0 1 0 2 1 pintype=io } P 400 2000 100 2000 1 0 1 { T 300 2050 5 8 1 1 0 6 1 pinnumber=10 T 450 2000 9 8 1 1 0 0 1 pinlabel=P2.2/TA0/A2 T 300 1950 5 8 0 1 0 8 1 pinseq=10 T 450 2000 5 8 0 1 0 2 1 pintype=io } P 400 1600 100 1600 1 0 1 { T 300 1650 5 8 1 1 0 6 1 pinnumber=11 T 450 1600 9 8 1 1 0 0 1 pinlabel=P3.0/STE0/A5 T 300 1550 5 8 0 1 0 8 1 pinseq=11 T 450 1600 5 8 0 1 0 2 1 pintype=io } P 400 1200 100 1200 1 0 1 { T 300 1250 5 8 1 1 0 6 1 pinnumber=12 T 450 1200 9 8 1 1 0 0 1 pinlabel=P3.1/SIMO0 T 300 1150 5 8 0 1 0 8 1 pinseq=12 T 450 1200 5 8 0 1 0 2 1 pintype=io } P 400 800 100 800 1 0 1 { T 300 850 5 8 1 1 0 6 1 pinnumber=13 T 450 800 9 8 1 1 0 0 1 pinlabel=P3.2/SOMI0 T 300 750 5 8 0 1 0 8 1 pinseq=13 T 450 800 5 8 0 1 0 2 1 pintype=io } P 400 400 100 400 1 0 1 { T 300 450 5 8 1 1 0 6 1 pinnumber=14 T 450 400 9 8 1 1 0 0 1 pinlabel=P3.3/UCLK0 T 300 350 5 8 0 1 0 8 1 pinseq=14 T 450 400 5 8 0 1 0 2 1 pintype=io } P 3400 400 3700 400 1 0 1 { T 3500 450 5 8 1 1 0 0 1 pinnumber=15 T 3350 400 9 8 1 1 0 6 1 pinlabel=P3.4/UTXD0 T 3500 350 5 8 0 1 0 2 1 pinseq=15 T 3350 400 5 8 0 1 0 8 1 pintype=io } P 3400 800 3700 800 1 0 1 { T 3500 850 5 8 1 1 0 0 1 pinnumber=16 T 3350 800 9 8 1 1 0 6 1 pinlabel=P3.5/URXD0 T 3500 750 5 8 0 1 0 2 1 pinseq=16 T 3350 800 5 8 0 1 0 8 1 pintype=io } P 3400 1200 3700 1200 1 0 1 { T 3500 1250 5 8 1 1 0 0 1 pinnumber=17 T 3350 1200 9 8 1 1 0 6 1 pinlabel=P3.6/A6 T 3500 1150 5 8 0 1 0 2 1 pinseq=17 T 3350 1200 5 8 0 1 0 8 1 pintype=io } P 3400 1600 3700 1600 1 0 1 { T 3500 1650 5 8 1 1 0 0 1 pinnumber=18 T 3350 1600 9 8 1 1 0 6 1 pinlabel=P3.7/A7 T 3500 1550 5 8 0 1 0 2 1 pinseq=18 T 3350 1600 5 8 0 1 0 8 1 pintype=io } P 3400 2000 3700 2000 1 0 1 { T 3500 2050 5 8 1 1 0 0 1 pinnumber=19 T 3350 2000 9 8 1 1 0 6 1 pinlabel=P2.3/TA1/A3/Vref- T 3500 1950 5 8 0 1 0 2 1 pinseq=19 T 3350 2000 5 8 0 1 0 8 1 pintype=io } P 3400 2400 3700 2400 1 0 1 { T 3500 2450 5 8 1 1 0 0 1 pinnumber=20 T 3350 2400 9 8 1 1 0 6 1 pinlabel=P2.4/TA2/A4/Vref+ T 3500 2350 5 8 0 1 0 2 1 pinseq=20 T 3350 2400 5 8 0 1 0 8 1 pintype=io } P 3400 2800 3700 2800 1 0 1 { T 3500 2850 5 8 1 1 0 0 1 pinnumber=21 T 3350 2800 9 8 1 1 0 6 1 pinlabel=P1.0/TACLK/ADC10CLK T 3500 2750 5 8 0 1 0 2 1 pinseq=21 T 3350 2800 5 8 0 1 0 8 1 pintype=io } P 3400 3200 3700 3200 1 0 1 { T 3500 3250 5 8 1 1 0 0 1 pinnumber=22 T 3350 3200 9 8 1 1 0 6 1 pinlabel=P1.1/TA0 T 3500 3150 5 8 0 1 0 2 1 pinseq=22 T 3350 3200 5 8 0 1 0 8 1 pintype=io } P 3400 3600 3700 3600 1 0 1 { T 3500 3650 5 8 1 1 0 0 1 pinnumber=23 T 3350 3600 9 8 1 1 0 6 1 pinlabel=P1.2/TA1 T 3500 3550 5 8 0 1 0 2 1 pinseq=23 T 3350 3600 5 8 0 1 0 8 1 pintype=io } P 3400 4000 3700 4000 1 0 1 { T 3500 4050 5 8 1 1 0 0 1 pinnumber=24 T 3350 4000 9 8 1 1 0 6 1 pinlabel=P1.3/TA2 T 3500 3950 5 8 0 1 0 2 1 pinseq=24 T 3350 4000 5 8 0 1 0 8 1 pintype=io } P 3400 4400 3700 4400 1 0 1 { T 3500 4450 5 8 1 1 0 0 1 pinnumber=25 T 3350 4400 9 8 1 1 0 6 1 pinlabel=P1.4/SMCLK/TCK T 3500 4350 5 8 0 1 0 2 1 pinseq=25 T 3350 4400 5 8 0 1 0 8 1 pintype=io } P 3400 4800 3700 4800 1 0 1 { T 3500 4850 5 8 1 1 0 0 1 pinnumber=26 T 3350 4800 9 8 1 1 0 6 1 pinlabel=P1.5/TA0/TMS T 3500 4750 5 8 0 1 0 2 1 pinseq=26 T 3350 4800 5 8 0 1 0 8 1 pintype=io } P 3400 5200 3700 5200 1 0 1 { T 3500 5250 5 8 1 1 0 0 1 pinnumber=27 T 3350 5200 9 8 1 1 0 6 1 pinlabel=P1.6/TA1/TDI T 3500 5150 5 8 0 1 0 2 1 pinseq=27 T 3350 5200 5 8 0 1 0 8 1 pintype=io } P 3400 5600 3700 5600 1 0 1 { T 3500 5650 5 8 1 1 0 0 1 pinnumber=28 T 3350 5600 9 8 1 1 0 6 1 pinlabel=P1.7/TA2/TDO/TDI T 3500 5550 5 8 0 1 0 2 1 pinseq=28 T 3350 5600 5 8 0 1 0 8 1 pintype=io } T 400 6550 5 10 0 0 0 0 1 footprint=none T 400 6750 5 10 0 0 0 0 1 description=16-bit mixed signal microcontroller T 400 6350 5 10 0 0 0 0 1 numslots=0 T 400 5950 3 10 1 0 0 0 1 MSP430x12x2 V 350 3200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 6950 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/msp430f1222.pdf geda-gaf-1.8.2/symbols/micro/z80pio-1.sym0000664000175000017500000001651212204104272014721 00000000000000v 20070626 1 P 300 7700 0 7700 1 0 1 { T 200 7750 5 8 1 1 0 6 1 pinnumber=19 T 200 7650 5 8 0 1 0 8 1 pinseq=1 T 350 7700 9 8 1 1 0 0 1 pinlabel=D0 T 350 7700 5 8 0 1 0 2 1 pintype=io } P 300 7300 0 7300 1 0 1 { T 200 7350 5 8 1 1 0 6 1 pinnumber=20 T 200 7250 5 8 0 1 0 8 1 pinseq=2 T 350 7300 9 8 1 1 0 0 1 pinlabel=D1 T 350 7300 5 8 0 1 0 2 1 pintype=io } P 300 6900 0 6900 1 0 1 { T 200 6950 5 8 1 1 0 6 1 pinnumber=1 T 200 6850 5 8 0 1 0 8 1 pinseq=3 T 350 6900 9 8 1 1 0 0 1 pinlabel=D2 T 350 6900 5 8 0 1 0 2 1 pintype=io } P 300 6500 0 6500 1 0 1 { T 200 6550 5 8 1 1 0 6 1 pinnumber=40 T 200 6450 5 8 0 1 0 8 1 pinseq=4 T 350 6500 9 8 1 1 0 0 1 pinlabel=D3 T 350 6500 5 8 0 1 0 2 1 pintype=io } P 300 6100 0 6100 1 0 1 { T 200 6150 5 8 1 1 0 6 1 pinnumber=39 T 200 6050 5 8 0 1 0 8 1 pinseq=5 T 350 6100 9 8 1 1 0 0 1 pinlabel=D4 T 350 6100 5 8 0 1 0 2 1 pintype=io } P 300 5700 0 5700 1 0 1 { T 200 5750 5 8 1 1 0 6 1 pinnumber=38 T 200 5650 5 8 0 1 0 8 1 pinseq=6 T 350 5700 9 8 1 1 0 0 1 pinlabel=D5 T 350 5700 5 8 0 1 0 2 1 pintype=io } P 300 5300 0 5300 1 0 1 { T 200 5350 5 8 1 1 0 6 1 pinnumber=3 T 200 5250 5 8 0 1 0 8 1 pinseq=7 T 350 5300 9 8 1 1 0 0 1 pinlabel=D3 T 350 5300 5 8 0 1 0 2 1 pintype=io } P 300 4900 0 4900 1 0 1 { T 200 4950 5 8 1 1 0 6 1 pinnumber=2 T 200 4850 5 8 0 1 0 8 1 pinseq=8 T 350 4900 9 8 1 1 0 0 1 pinlabel=D7 T 350 4900 5 8 0 1 0 2 1 pintype=io } P 300 4500 0 4500 1 0 1 { T 200 4550 5 8 1 1 0 6 1 pinnumber=6 T 200 4450 5 8 0 1 0 8 1 pinseq=9 T 350 4500 9 8 1 1 0 0 1 pinlabel=B/\_A\_ SEL T 350 4500 5 8 0 1 0 2 1 pintype=in } P 300 4100 0 4100 1 0 1 { T 200 4150 5 8 1 1 0 6 1 pinnumber=5 T 200 4050 5 8 0 1 0 8 1 pinseq=10 T 350 4100 9 8 1 1 0 0 1 pinlabel=C/\_D\_ SEL T 350 4100 5 8 0 1 0 2 1 pintype=in } P 300 1300 0 1300 1 0 1 { T 200 1350 5 8 1 1 0 6 1 pinnumber=24 T 200 1250 5 8 0 1 0 8 1 pinseq=16 T 350 1300 9 8 1 1 0 0 1 pinlabel=IEI T 350 1300 5 8 0 1 0 2 1 pintype=in } P 300 900 0 900 1 0 1 { T 200 950 5 8 1 1 0 6 1 pinnumber=22 T 200 850 5 8 0 1 0 8 1 pinseq=17 T 350 900 9 8 1 1 0 0 1 pinlabel=IEO T 350 900 5 8 0 1 0 2 1 pintype=out } P 300 400 0 400 1 0 1 { T 200 450 5 8 1 1 0 6 1 pinnumber=25 T 200 350 5 8 0 1 0 8 1 pinseq=18 T 350 400 9 8 1 1 0 0 1 pinlabel=CLOCK T 350 400 5 8 0 1 0 2 1 pintype=in } P 3300 7700 3600 7700 1 0 1 { T 3400 7750 5 8 1 1 0 0 1 pinnumber=15 T 3400 7650 5 8 0 1 0 2 1 pinseq=19 T 3250 7700 9 8 1 1 0 6 1 pinlabel=A0 T 3250 7700 5 8 0 1 0 8 1 pintype=io } P 3300 7300 3600 7300 1 0 1 { T 3400 7350 5 8 1 1 0 0 1 pinnumber=14 T 3400 7250 5 8 0 1 0 2 1 pinseq=20 T 3250 7300 9 8 1 1 0 6 1 pinlabel=A1 T 3250 7300 5 8 0 1 0 8 1 pintype=io } P 3300 6900 3600 6900 1 0 1 { T 3400 6950 5 8 1 1 0 0 1 pinnumber=13 T 3400 6850 5 8 0 1 0 2 1 pinseq=21 T 3250 6900 9 8 1 1 0 6 1 pinlabel=A2 T 3250 6900 5 8 0 1 0 8 1 pintype=io } P 3300 6500 3600 6500 1 0 1 { T 3400 6550 5 8 1 1 0 0 1 pinnumber=12 T 3400 6450 5 8 0 1 0 2 1 pinseq=22 T 3250 6500 9 8 1 1 0 6 1 pinlabel=A3 T 3250 6500 5 8 0 1 0 8 1 pintype=io } P 3300 6100 3600 6100 1 0 1 { T 3400 6150 5 8 1 1 0 0 1 pinnumber=10 T 3400 6050 5 8 0 1 0 2 1 pinseq=23 T 3250 6100 9 8 1 1 0 6 1 pinlabel=A4 T 3250 6100 5 8 0 1 0 8 1 pintype=io } P 3300 5700 3600 5700 1 0 1 { T 3400 5750 5 8 1 1 0 0 1 pinnumber=9 T 3400 5650 5 8 0 1 0 2 1 pinseq=24 T 3250 5700 9 8 1 1 0 6 1 pinlabel=A5 T 3250 5700 5 8 0 1 0 8 1 pintype=io } P 3300 5300 3600 5300 1 0 1 { T 3400 5350 5 8 1 1 0 0 1 pinnumber=8 T 3400 5250 5 8 0 1 0 2 1 pinseq=25 T 3250 5300 9 8 1 1 0 6 1 pinlabel=A6 T 3250 5300 5 8 0 1 0 8 1 pintype=io } P 3300 4900 3600 4900 1 0 1 { T 3400 4950 5 8 1 1 0 0 1 pinnumber=7 T 3400 4850 5 8 0 1 0 2 1 pinseq=26 T 3250 4900 9 8 1 1 0 6 1 pinlabel=A7 T 3250 4900 5 8 0 1 0 8 1 pintype=io } P 3300 4500 3600 4500 1 0 1 { T 3400 4550 5 8 1 1 0 0 1 pinnumber=18 T 3400 4450 5 8 0 1 0 2 1 pinseq=27 T 3250 4500 9 8 1 1 0 6 1 pinlabel=A RDY T 3250 4500 5 8 0 1 0 8 1 pintype=out } P 3300 3700 3600 3700 1 0 1 { T 3400 3750 5 8 1 1 0 0 1 pinnumber=27 T 3400 3650 5 8 0 1 0 2 1 pinseq=29 T 3250 3700 9 8 1 1 0 6 1 pinlabel=B0 T 3250 3700 5 8 0 1 0 8 1 pintype=io } P 3300 3300 3600 3300 1 0 1 { T 3400 3350 5 8 1 1 0 0 1 pinnumber=28 T 3400 3250 5 8 0 1 0 2 1 pinseq=30 T 3250 3300 9 8 1 1 0 6 1 pinlabel=B1 T 3250 3300 5 8 0 1 0 8 1 pintype=io } P 3300 2900 3600 2900 1 0 1 { T 3400 2950 5 8 1 1 0 0 1 pinnumber=29 T 3400 2850 5 8 0 1 0 2 1 pinseq=31 T 3250 2900 9 8 1 1 0 6 1 pinlabel=B2 T 3250 2900 5 8 0 1 0 8 1 pintype=io } P 3300 2500 3600 2500 1 0 1 { T 3400 2550 5 8 1 1 0 0 1 pinnumber=30 T 3400 2450 5 8 0 1 0 2 1 pinseq=32 T 3250 2500 9 8 1 1 0 6 1 pinlabel=B3 T 3250 2500 5 8 0 1 0 8 1 pintype=io } P 3300 2100 3600 2100 1 0 1 { T 3400 2150 5 8 1 1 0 0 1 pinnumber=31 T 3400 2050 5 8 0 1 0 2 1 pinseq=33 T 3250 2100 9 8 1 1 0 6 1 pinlabel=B4 T 3250 2100 5 8 0 1 0 8 1 pintype=io } P 3300 1700 3600 1700 1 0 1 { T 3400 1750 5 8 1 1 0 0 1 pinnumber=32 T 3400 1650 5 8 0 1 0 2 1 pinseq=34 T 3250 1700 9 8 1 1 0 6 1 pinlabel=B5 T 3250 1700 5 8 0 1 0 8 1 pintype=io } P 3300 1300 3600 1300 1 0 1 { T 3400 1350 5 8 1 1 0 0 1 pinnumber=33 T 3400 1250 5 8 0 1 0 2 1 pinseq=35 T 3250 1300 9 8 1 1 0 6 1 pinlabel=B6 T 3250 1300 5 8 0 1 0 8 1 pintype=io } P 3300 900 3600 900 1 0 1 { T 3400 950 5 8 1 1 0 0 1 pinnumber=34 T 3400 850 5 8 0 1 0 2 1 pinseq=36 T 3250 900 9 8 1 1 0 6 1 pinlabel=B7 T 3250 900 5 8 0 1 0 8 1 pintype=io } P 3300 500 3600 500 1 0 1 { T 3400 550 5 8 1 1 0 0 1 pinnumber=21 T 3400 450 5 8 0 1 0 2 1 pinseq=37 T 3250 500 9 8 1 1 0 6 1 pinlabel=B RDY T 3250 500 5 8 0 1 0 8 1 pintype=out } B 300 0 3000 7900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 8150 5 10 0 0 0 0 1 device=Z80PIO P 0 3700 200 3700 1 0 0 { T 200 3750 5 8 1 1 0 6 1 pinnumber=4 T 200 3650 5 8 0 1 0 8 1 pinseq=11 T 350 3700 9 8 1 1 0 0 1 pinlabel=\_CE\_ T 350 3700 5 8 0 1 0 2 1 pintype=in } V 250 3700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3300 200 3300 1 0 0 { T 200 3350 5 8 1 1 0 6 1 pinnumber=37 T 200 3250 5 8 0 1 0 8 1 pinseq=12 T 350 3300 9 8 1 1 0 0 1 pinlabel=\_M1\_ T 350 3300 5 8 0 1 0 2 1 pintype=in } V 250 3300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2500 200 2500 1 0 0 { T 200 2550 5 8 1 1 0 6 1 pinnumber=35 T 200 2450 5 8 0 1 0 8 1 pinseq=14 T 350 2500 9 8 1 1 0 0 1 pinlabel=\_RD\_ T 350 2500 5 8 0 1 0 2 1 pintype=in } V 250 2500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1700 200 1700 1 0 0 { T 200 1750 5 8 1 1 0 6 1 pinnumber=23 T 200 1650 5 8 0 1 0 8 1 pinseq=15 T 350 1700 9 8 1 1 0 0 1 pinlabel=\_INT\_ T 350 1700 5 8 0 1 0 2 1 pintype=out } V 250 1700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 3400 100 3600 100 1 0 1 { T 3400 150 5 8 1 1 0 0 1 pinnumber=17 T 3400 50 5 8 0 1 0 2 1 pinseq=38 T 3250 100 9 8 1 1 0 6 1 pinlabel=\_B STB\_ T 3250 100 5 8 0 1 0 8 1 pintype=in } V 3350 100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 3400 4100 3600 4100 1 0 1 { T 3400 4150 5 8 1 1 0 0 1 pinnumber=16 T 3400 4050 5 8 0 1 0 2 1 pinseq=28 T 3250 4100 9 8 1 1 0 6 1 pinlabel=\_A STB\_ T 3250 4100 5 8 0 1 0 8 1 pintype=in } V 3350 4100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 3300 8000 8 10 1 1 0 6 1 refdes=U? T 300 8550 5 10 0 0 0 0 1 footprint=DIP40 T 300 8750 5 10 0 0 0 0 1 description=Z80 parallel I/O circuit T 300 8350 5 10 0 0 0 0 1 numslots=0 T 300 8950 5 10 0 0 0 0 1 net=Vcc:26 T 300 9150 5 10 0 0 0 0 1 net=GND:11 T 300 7950 9 10 1 0 0 0 1 Z80 PIO P 0 2900 200 2900 1 0 0 { T 200 2950 5 8 1 1 0 6 1 pinnumber=36 T 200 2850 5 8 0 1 0 8 1 pinseq=13 T 350 2900 9 8 1 1 0 0 1 pinlabel=\_IORQ\_ T 350 2900 5 8 0 1 0 2 1 pintype=in } V 250 2900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/micro/8255A-1.sym0000664000175000017500000001664012204104272014276 00000000000000v 20070626 1 P 0 6600 300 6600 1 0 0 { T 200 6650 5 8 1 1 0 6 1 pinnumber=1 T 200 6550 5 8 0 1 0 8 1 pinseq=1 T 350 6600 9 8 1 1 0 0 1 pinlabel=PA3 T 350 6600 5 8 0 1 0 2 1 pintype=io } P 0 6300 300 6300 1 0 0 { T 200 6350 5 8 1 1 0 6 1 pinnumber=2 T 200 6250 5 8 0 1 0 8 1 pinseq=2 T 350 6300 9 8 1 1 0 0 1 pinlabel=PA2 T 350 6300 5 8 0 1 0 2 1 pintype=io } P 0 6000 300 6000 1 0 0 { T 200 6050 5 8 1 1 0 6 1 pinnumber=3 T 200 5950 5 8 0 1 0 8 1 pinseq=3 T 350 6000 9 8 1 1 0 0 1 pinlabel=PA1 T 350 6000 5 8 0 1 0 2 1 pintype=io } P 0 5700 300 5700 1 0 0 { T 200 5750 5 8 1 1 0 6 1 pinnumber=4 T 200 5650 5 8 0 1 0 8 1 pinseq=4 T 350 5700 9 8 1 1 0 0 1 pinlabel=PA0 T 350 5700 5 8 0 1 0 2 1 pintype=io } V 250 5300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 5300 200 5300 1 0 0 { T 200 5350 5 8 1 1 0 6 1 pinnumber=5 T 200 5250 5 8 0 1 0 8 1 pinseq=5 T 350 5300 9 8 1 1 0 0 1 pinlabel=\_RD\_ T 350 5300 5 8 0 1 0 2 1 pintype=in } V 250 5000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 5000 200 5000 1 0 0 { T 200 5050 5 8 1 1 0 6 1 pinnumber=6 T 200 4950 5 8 0 1 0 8 1 pinseq=6 T 350 5000 9 8 1 1 0 0 1 pinlabel=\_CS\_ T 350 5000 5 8 0 1 0 2 1 pintype=in } P 0 4600 300 4600 1 0 0 { T 200 4650 5 8 1 1 0 6 1 pinnumber=7 T 200 4550 5 8 0 1 0 8 1 pinseq=7 T 350 4600 9 8 1 1 0 0 1 pinlabel=GND T 350 4600 5 8 0 1 0 2 1 pintype=pwr } P 0 4200 300 4200 1 0 0 { T 200 4250 5 8 1 1 0 6 1 pinnumber=8 T 200 4150 5 8 0 1 0 8 1 pinseq=8 T 350 4200 9 8 1 1 0 0 1 pinlabel=A1 T 350 4200 5 8 0 1 0 2 1 pintype=in } P 0 3900 300 3900 1 0 0 { T 200 3950 5 8 1 1 0 6 1 pinnumber=9 T 200 3850 5 8 0 1 0 8 1 pinseq=9 T 350 3900 9 8 1 1 0 0 1 pinlabel=A0 T 350 3900 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=10 T 200 3450 5 8 0 1 0 8 1 pinseq=10 T 350 3500 9 8 1 1 0 0 1 pinlabel=PC7 T 350 3500 5 8 0 1 0 2 1 pintype=io } P 0 3200 300 3200 1 0 0 { T 200 3250 5 8 1 1 0 6 1 pinnumber=11 T 200 3150 5 8 0 1 0 8 1 pinseq=11 T 350 3200 9 8 1 1 0 0 1 pinlabel=PC6 T 350 3200 5 8 0 1 0 2 1 pintype=io } P 0 2900 300 2900 1 0 0 { T 200 2950 5 8 1 1 0 6 1 pinnumber=12 T 200 2850 5 8 0 1 0 8 1 pinseq=12 T 350 2900 9 8 1 1 0 0 1 pinlabel=PC5 T 350 2900 5 8 0 1 0 2 1 pintype=io } P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=13 T 200 2550 5 8 0 1 0 8 1 pinseq=13 T 350 2600 9 8 1 1 0 0 1 pinlabel=PC4 T 350 2600 5 8 0 1 0 2 1 pintype=io } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=14 T 200 2250 5 8 0 1 0 8 1 pinseq=14 T 350 2300 9 8 1 1 0 0 1 pinlabel=PC0 T 350 2300 5 8 0 1 0 2 1 pintype=io } P 0 2000 300 2000 1 0 0 { T 200 2050 5 8 1 1 0 6 1 pinnumber=15 T 200 1950 5 8 0 1 0 8 1 pinseq=15 T 350 2000 9 8 1 1 0 0 1 pinlabel=PC1 T 350 2000 5 8 0 1 0 2 1 pintype=io } P 0 1700 300 1700 1 0 0 { T 200 1750 5 8 1 1 0 6 1 pinnumber=16 T 200 1650 5 8 0 1 0 8 1 pinseq=16 T 350 1700 9 8 1 1 0 0 1 pinlabel=PC2 T 350 1700 5 8 0 1 0 2 1 pintype=io } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=17 T 200 1350 5 8 0 1 0 8 1 pinseq=17 T 350 1400 9 8 1 1 0 0 1 pinlabel=PC3 T 350 1400 5 8 0 1 0 2 1 pintype=io } P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=18 T 200 950 5 8 0 1 0 8 1 pinseq=18 T 350 1000 9 8 1 1 0 0 1 pinlabel=PB0 T 350 1000 5 8 0 1 0 2 1 pintype=io } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=19 T 200 650 5 8 0 1 0 8 1 pinseq=19 T 350 700 9 8 1 1 0 0 1 pinlabel=PB1 T 350 700 5 8 0 1 0 2 1 pintype=io } P 0 400 300 400 1 0 0 { T 200 450 5 8 1 1 0 6 1 pinnumber=20 T 200 350 5 8 0 1 0 8 1 pinseq=20 T 350 400 9 8 1 1 0 0 1 pinlabel=PB2 T 350 400 5 8 0 1 0 2 1 pintype=io } P 2300 400 2600 400 1 0 1 { T 2400 450 5 8 1 1 0 0 1 pinnumber=21 T 2400 350 5 8 0 1 0 2 1 pinseq=21 T 2250 400 9 8 1 1 0 6 1 pinlabel=PB3 T 2250 400 5 8 0 1 0 8 1 pintype=io } P 2300 700 2600 700 1 0 1 { T 2400 750 5 8 1 1 0 0 1 pinnumber=22 T 2400 650 5 8 0 1 0 2 1 pinseq=22 T 2250 700 9 8 1 1 0 6 1 pinlabel=PB4 T 2250 700 5 8 0 1 0 8 1 pintype=io } P 2300 1000 2600 1000 1 0 1 { T 2400 1050 5 8 1 1 0 0 1 pinnumber=23 T 2400 950 5 8 0 1 0 2 1 pinseq=23 T 2250 1000 9 8 1 1 0 6 1 pinlabel=PB5 T 2250 1000 5 8 0 1 0 8 1 pintype=io } P 2300 1300 2600 1300 1 0 1 { T 2400 1350 5 8 1 1 0 0 1 pinnumber=24 T 2400 1250 5 8 0 1 0 2 1 pinseq=24 T 2250 1300 9 8 1 1 0 6 1 pinlabel=PB6 T 2250 1300 5 8 0 1 0 8 1 pintype=io } P 2300 1600 2600 1600 1 0 1 { T 2400 1650 5 8 1 1 0 0 1 pinnumber=25 T 2400 1550 5 8 0 1 0 2 1 pinseq=25 T 2250 1600 9 8 1 1 0 6 1 pinlabel=PB7 T 2250 1600 5 8 0 1 0 8 1 pintype=io } P 2300 2000 2600 2000 1 0 1 { T 2400 2050 5 8 1 1 0 0 1 pinnumber=26 T 2400 1950 5 8 0 1 0 2 1 pinseq=26 T 2250 2000 9 8 1 1 0 6 1 pinlabel=Vcc T 2250 2000 5 8 0 1 0 8 1 pintype=pwr } P 2300 2400 2600 2400 1 0 1 { T 2400 2450 5 8 1 1 0 0 1 pinnumber=27 T 2400 2350 5 8 0 1 0 2 1 pinseq=27 T 2250 2400 9 8 1 1 0 6 1 pinlabel=D7 T 2250 2400 5 8 0 1 0 8 1 pintype=io } P 2300 2700 2600 2700 1 0 1 { T 2400 2750 5 8 1 1 0 0 1 pinnumber=28 T 2400 2650 5 8 0 1 0 2 1 pinseq=28 T 2250 2700 9 8 1 1 0 6 1 pinlabel=D6 T 2250 2700 5 8 0 1 0 8 1 pintype=io } P 2300 3000 2600 3000 1 0 1 { T 2400 3050 5 8 1 1 0 0 1 pinnumber=29 T 2400 2950 5 8 0 1 0 2 1 pinseq=29 T 2250 3000 9 8 1 1 0 6 1 pinlabel=D5 T 2250 3000 5 8 0 1 0 8 1 pintype=io } P 2300 3300 2600 3300 1 0 1 { T 2400 3350 5 8 1 1 0 0 1 pinnumber=30 T 2400 3250 5 8 0 1 0 2 1 pinseq=30 T 2250 3300 9 8 1 1 0 6 1 pinlabel=D4 T 2250 3300 5 8 0 1 0 8 1 pintype=io } P 2300 3600 2600 3600 1 0 1 { T 2400 3650 5 8 1 1 0 0 1 pinnumber=31 T 2400 3550 5 8 0 1 0 2 1 pinseq=31 T 2250 3600 9 8 1 1 0 6 1 pinlabel=D3 T 2250 3600 5 8 0 1 0 8 1 pintype=io } P 2300 3900 2600 3900 1 0 1 { T 2400 3950 5 8 1 1 0 0 1 pinnumber=32 T 2400 3850 5 8 0 1 0 2 1 pinseq=32 T 2250 3900 9 8 1 1 0 6 1 pinlabel=D2 T 2250 3900 5 8 0 1 0 8 1 pintype=io } P 2300 4200 2600 4200 1 0 1 { T 2400 4250 5 8 1 1 0 0 1 pinnumber=33 T 2400 4150 5 8 0 1 0 2 1 pinseq=33 T 2250 4200 9 8 1 1 0 6 1 pinlabel=D1 T 2250 4200 5 8 0 1 0 8 1 pintype=io } P 2300 4500 2600 4500 1 0 1 { T 2400 4550 5 8 1 1 0 0 1 pinnumber=34 T 2400 4450 5 8 0 1 0 2 1 pinseq=34 T 2250 4500 9 8 1 1 0 6 1 pinlabel=D0 T 2250 4500 5 8 0 1 0 8 1 pintype=io } P 2300 4900 2600 4900 1 0 1 { T 2400 4950 5 8 1 1 0 0 1 pinnumber=35 T 2400 4850 5 8 0 1 0 2 1 pinseq=35 T 2250 4900 9 8 1 1 0 6 1 pinlabel=RESET T 2250 4900 5 8 0 1 0 8 1 pintype=in } V 2350 5300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2400 5300 2600 5300 1 0 1 { T 2400 5350 5 8 1 1 0 0 1 pinnumber=36 T 2400 5250 5 8 0 1 0 2 1 pinseq=36 T 2250 5300 9 8 1 1 0 6 1 pinlabel=\_WR\_ T 2250 5300 5 8 0 1 0 8 1 pintype=in } P 2300 5700 2600 5700 1 0 1 { T 2400 5750 5 8 1 1 0 0 1 pinnumber=37 T 2400 5650 5 8 0 1 0 2 1 pinseq=37 T 2250 5700 9 8 1 1 0 6 1 pinlabel=PA7 T 2250 5700 5 8 0 1 0 8 1 pintype=io } P 2300 6000 2600 6000 1 0 1 { T 2400 6050 5 8 1 1 0 0 1 pinnumber=38 T 2400 5950 5 8 0 1 0 2 1 pinseq=38 T 2250 6000 9 8 1 1 0 6 1 pinlabel=PA6 T 2250 6000 5 8 0 1 0 8 1 pintype=io } P 2300 6300 2600 6300 1 0 1 { T 2400 6350 5 8 1 1 0 0 1 pinnumber=39 T 2400 6250 5 8 0 1 0 2 1 pinseq=39 T 2250 6300 9 8 1 1 0 6 1 pinlabel=PA5 T 2250 6300 5 8 0 1 0 8 1 pintype=io } P 2300 6600 2600 6600 1 0 1 { T 2400 6650 5 8 1 1 0 0 1 pinnumber=40 T 2400 6550 5 8 0 1 0 2 1 pinseq=40 T 2250 6600 9 8 1 1 0 6 1 pinlabel=PA4 T 2250 6600 5 8 0 1 0 8 1 pintype=io } B 300 300 2000 6550 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2300 6950 8 10 1 1 0 6 1 refdes=U? T 300 7100 5 10 0 0 0 0 1 device=8255A T 300 7300 5 10 0 0 0 0 1 footprint=DIP40 T 300 7700 5 10 0 0 0 0 1 description=CHMOS programmable peripheral interface T 300 7500 5 10 0 0 0 0 1 numslots=0 T 300 6900 9 10 1 0 0 0 1 8255A geda-gaf-1.8.2/symbols/micro/ATtiny28_TQFP.sym0000664000175000017500000001270312204104272015644 00000000000000v 20070626 1 T 2400 5900 8 10 1 1 0 6 1 refdes=U? T 400 6050 5 10 0 0 0 0 1 device=ATtiny28_TQFP T 400 6250 5 10 0 0 0 0 1 footprint=TQFP T 400 6450 5 10 0 0 0 0 1 net=Vcc:4,18 T 400 6650 5 10 0 0 0 0 1 net=GND:5,21 T 400 6850 5 10 0 0 0 0 1 description=8-bit RISC micro controller (Atmel) P 1700 100 1700 400 1 0 0 { T 1750 200 5 8 1 1 0 0 1 pinnumber=8 T 1750 200 5 8 0 1 0 2 1 pinseq=1 T 1700 450 9 8 1 1 0 3 1 pinlabel=XTAL2 T 1700 600 5 8 0 1 0 3 1 pintype=out } P 1100 100 1100 400 1 0 0 { T 1150 200 5 8 1 1 0 0 1 pinnumber=7 T 1150 200 5 8 0 1 0 2 1 pinseq=2 T 1100 450 9 8 1 1 0 3 1 pinlabel=XTAL1 T 1100 600 5 8 0 1 0 3 1 pintype=in } P 100 800 300 800 1 0 0 { T 300 850 5 8 1 1 0 6 1 pinnumber=29 T 300 750 5 8 0 1 0 8 1 pinseq=3 T 450 800 9 8 1 1 0 0 1 pinlabel=\_Reset\_ T 450 800 5 8 0 1 0 2 1 pintype=in } V 350 800 51 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2600 400 2600 1 0 0 { T 300 2650 5 8 1 1 0 6 1 pinnumber=11 T 300 2550 5 8 0 1 0 8 1 pinseq=4 T 450 2600 9 8 1 1 0 0 1 pinlabel=PD7 T 450 2600 5 8 0 1 0 2 1 pintype=io } P 100 3000 400 3000 1 0 0 { T 300 3050 5 8 1 1 0 6 1 pinnumber=10 T 300 2950 5 8 0 1 0 8 1 pinseq=5 T 450 3000 9 8 1 1 0 0 1 pinlabel=PD6 T 450 3000 5 8 0 1 0 2 1 pintype=io } P 100 3400 400 3400 1 0 0 { T 300 3450 5 8 1 1 0 6 1 pinnumber=9 T 300 3350 5 8 0 1 0 8 1 pinseq=6 T 450 3400 9 8 1 1 0 0 1 pinlabel=PD5 T 450 3400 5 8 0 1 0 2 1 pintype=io } P 100 3800 400 3800 1 0 0 { T 300 3850 5 8 1 1 0 6 1 pinnumber=2 T 300 3750 5 8 0 1 0 8 1 pinseq=7 T 450 3800 9 8 1 1 0 0 1 pinlabel=PD4 T 450 3800 5 8 0 1 0 2 1 pintype=io } P 100 4200 400 4200 1 0 0 { T 300 4250 5 8 1 1 0 6 1 pinnumber=1 T 300 4150 5 8 0 1 0 8 1 pinseq=8 T 450 4200 9 8 1 1 0 0 1 pinlabel=PD3 T 450 4200 5 8 0 1 0 2 1 pintype=io } P 100 4600 400 4600 1 0 0 { T 300 4650 5 8 1 1 0 6 1 pinnumber=32 T 300 4550 5 8 0 1 0 8 1 pinseq=9 T 450 4600 9 8 1 1 0 0 1 pinlabel=PD2 T 450 4600 5 8 0 1 0 2 1 pintype=io } P 100 5000 400 5000 1 0 0 { T 300 5050 5 8 1 1 0 6 1 pinnumber=31 T 300 4950 5 8 0 1 0 8 1 pinseq=10 T 450 5000 9 8 1 1 0 0 1 pinlabel=PD1 T 450 5000 5 8 0 1 0 2 1 pintype=io } P 100 5400 400 5400 1 0 0 { T 300 5450 5 8 1 1 0 6 1 pinnumber=30 T 300 5350 5 8 0 1 0 8 1 pinseq=11 T 450 5400 9 8 1 1 0 0 1 pinlabel=PD0 T 450 5400 5 8 0 1 0 2 1 pintype=io } P 100 1200 400 1200 1 0 0 { T 300 1250 5 8 1 1 0 6 1 pinnumber=3 T 300 1150 5 8 0 1 0 8 1 pinseq=12 T 450 1200 9 8 1 1 0 0 1 pinlabel=NC. T 450 1200 5 8 0 1 0 2 1 pintype=tp } P 100 1400 400 1400 1 0 0 { T 300 1450 5 8 1 1 0 6 1 pinnumber=6 T 300 1350 5 8 0 1 0 8 1 pinseq=13 T 450 1400 9 8 1 1 0 0 1 pinlabel=NC. T 450 1400 5 8 0 1 0 2 1 pintype=tp } P 100 1600 400 1600 1 0 0 { T 300 1650 5 8 1 1 0 6 1 pinnumber=19 T 300 1550 5 8 0 1 0 8 1 pinseq=14 T 450 1600 9 8 1 1 0 0 1 pinlabel=NC. T 450 1600 5 8 0 1 0 2 1 pintype=tp } P 100 1800 400 1800 1 0 0 { T 300 1850 5 8 1 1 0 6 1 pinnumber=20 T 300 1750 5 8 0 1 0 8 1 pinseq=15 T 450 1800 9 8 1 1 0 0 1 pinlabel=NC. T 450 1800 5 8 0 1 0 2 1 pintype=tp } P 100 2000 400 2000 1 0 0 { T 300 2050 5 8 1 1 0 6 1 pinnumber=22 T 300 1950 5 8 0 1 0 8 1 pinseq=16 T 450 2000 9 8 1 1 0 0 1 pinlabel=NC. T 450 2000 5 8 0 1 0 2 1 pintype=tp } P 2700 800 2400 800 1 0 0 { T 2500 850 5 8 1 1 0 0 1 pinnumber=24 T 2500 750 5 8 0 1 0 2 1 pinseq=17 T 2350 800 9 8 1 1 0 6 1 pinlabel=PB7 T 2350 800 5 8 0 1 0 8 1 pintype=io } P 2700 1200 2400 1200 1 0 0 { T 2500 1250 5 8 1 1 0 0 1 pinnumber=23 T 2500 1150 5 8 0 1 0 2 1 pinseq=18 T 2350 1200 9 8 1 1 0 6 1 pinlabel=PB6 T 2350 1200 5 8 0 1 0 8 1 pintype=io } P 2700 1600 2400 1600 1 0 0 { T 2500 1650 5 8 1 1 0 0 1 pinnumber=17 T 2500 1550 5 8 0 1 0 2 1 pinseq=19 T 2350 1600 9 8 1 1 0 6 1 pinlabel=PB5 T 2350 1600 5 8 0 1 0 8 1 pintype=io } P 2700 2000 2400 2000 1 0 0 { T 2500 2050 5 8 1 1 0 0 1 pinnumber=16 T 2500 1950 5 8 0 1 0 2 1 pinseq=20 T 2350 2000 9 8 1 1 0 6 1 pinlabel=(INT1) PB4 T 2350 2000 5 8 0 1 0 8 1 pintype=io } P 2700 2400 2400 2400 1 0 0 { T 2500 2450 5 8 1 1 0 0 1 pinnumber=15 T 2500 2350 5 8 0 1 0 2 1 pinseq=21 T 2350 2400 9 8 1 1 0 6 1 pinlabel=(INT0) PB3 T 2350 2400 5 8 0 1 0 8 1 pintype=io } P 2700 2800 2400 2800 1 0 0 { T 2500 2850 5 8 1 1 0 0 1 pinnumber=14 T 2500 2750 5 8 0 1 0 2 1 pinseq=22 T 2350 2800 9 8 1 1 0 6 1 pinlabel=(T0) PB2 T 2350 2800 5 8 0 1 0 8 1 pintype=io } P 2700 3200 2400 3200 1 0 0 { T 2500 3250 5 8 1 1 0 0 1 pinnumber=13 T 2500 3150 5 8 0 1 0 2 1 pinseq=23 T 2350 3200 9 8 1 1 0 6 1 pinlabel=(AIN1) PB1 T 2350 3200 5 8 0 1 0 8 1 pintype=io } P 2700 3600 2400 3600 1 0 0 { T 2500 3650 5 8 1 1 0 0 1 pinnumber=12 T 2500 3550 5 8 0 1 0 2 1 pinseq=24 T 2350 3600 9 8 1 1 0 6 1 pinlabel=(AIN0) PB0 T 2350 3600 5 8 0 1 0 8 1 pintype=io } P 2700 4200 2400 4200 1 0 0 { T 2500 4250 5 8 1 1 0 0 1 pinnumber=26 T 2500 4150 5 8 0 1 0 2 1 pinseq=25 T 2350 4200 9 8 1 1 0 6 1 pinlabel=PA3 T 2350 4200 5 8 0 1 0 8 1 pintype=io } P 2700 4600 2400 4600 1 0 0 { T 2500 4650 5 8 1 1 0 0 1 pinnumber=25 T 2500 4550 5 8 0 1 0 2 1 pinseq=26 T 2350 4600 9 8 1 1 0 6 1 pinlabel=(IR) PA2 T 2350 4600 5 8 0 1 0 8 1 pintype=io } P 2700 5000 2400 5000 1 0 0 { T 2500 5050 5 8 1 1 0 0 1 pinnumber=27 T 2500 4950 5 8 0 1 0 2 1 pinseq=27 T 2350 5000 9 8 1 1 0 6 1 pinlabel=PA1 T 2350 5000 5 8 0 1 0 8 1 pintype=io } P 2700 5400 2400 5400 1 0 0 { T 2500 5450 5 8 1 1 0 0 1 pinnumber=28 T 2500 5350 5 8 0 1 0 2 1 pinseq=28 T 2350 5400 9 8 1 1 0 6 1 pinlabel=PA0 T 2350 5400 5 8 0 1 0 8 1 pintype=io } B 400 400 2000 5400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 7050 5 10 0 0 0 0 1 numslots=0 T 400 7250 5 10 0 0 0 0 1 author=Werner Hoch T 400 5850 9 10 1 0 0 0 1 ATtiny28 geda-gaf-1.8.2/symbols/micro/AT90S2343.sym0000664000175000017500000000311312204104272014537 00000000000000v 20070626 1 T 2300 2300 8 10 1 1 0 6 1 refdes=U? T 300 2450 5 10 0 0 0 0 1 device=AT90S2343 T 300 2650 5 10 0 0 0 0 1 footprint=DIP8 T 300 2850 5 10 0 0 0 0 1 net=GND:4 T 300 3050 5 10 0 0 0 0 1 net=Vcc:8 P 0 300 200 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=1 T 200 250 5 8 0 1 0 8 1 pinseq=1 T 350 300 9 8 1 1 0 0 1 pinlabel=\_Reset\_ T 350 300 5 8 0 1 0 2 1 pintype=in } V 250 300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2600 300 2300 300 1 0 0 { T 2400 350 5 8 1 1 0 0 1 pinnumber=3 T 2400 250 5 8 0 1 0 2 1 pinseq=2 T 2250 300 9 8 1 1 0 6 1 pinlabel=PB4 T 2250 300 5 8 0 1 0 8 1 pintype=io } P 2600 700 2300 700 1 0 0 { T 2400 750 5 8 1 1 0 0 1 pinnumber=2 T 2400 650 5 8 0 1 0 2 1 pinseq=3 T 2250 700 9 8 1 1 0 6 1 pinlabel=(CLK) PB3 T 2250 700 5 8 0 1 0 8 1 pintype=io } P 2600 1100 2300 1100 1 0 0 { T 2400 1150 5 8 1 1 0 0 1 pinnumber=7 T 2400 1050 5 8 0 1 0 2 1 pinseq=4 T 2250 1100 9 8 1 1 0 6 1 pinlabel=(SCK/T0) PB2 T 2250 1100 5 8 0 1 0 8 1 pintype=io } P 2600 1500 2300 1500 1 0 0 { T 2400 1550 5 8 1 1 0 0 1 pinnumber=6 T 2400 1450 5 8 0 1 0 2 1 pinseq=5 T 2250 1500 9 8 1 1 0 6 1 pinlabel=(MISO/INT0) PB1 T 2250 1500 5 8 0 1 0 8 1 pintype=io } P 2600 1900 2300 1900 1 0 0 { T 2400 1950 5 8 1 1 0 0 1 pinnumber=5 T 2400 1850 5 8 0 1 0 2 1 pinseq=6 T 2250 1900 9 8 1 1 0 6 1 pinlabel=(MOSI) PB0 T 2250 1900 5 8 0 1 0 8 1 pintype=io } B 300 0 2000 2200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 3250 5 10 0 0 0 0 1 description=8-bit RISC micro controller (Atmel) T 300 3450 5 10 0 0 0 0 1 numslots=0 T 300 3650 5 10 0 0 0 0 1 author=Werner Hoch T 300 2250 9 10 1 0 0 0 1 AT90S2343 geda-gaf-1.8.2/symbols/micro/ATmega103.sym0000664000175000017500000002647612204104272015026 00000000000000v 20070626 1 T 3600 12300 8 10 1 1 0 6 1 refdes=U? T 400 12450 5 10 0 0 0 0 1 device=Atmega103 T 400 12650 5 10 0 0 0 0 1 footprint=TQFP64 T 400 12850 5 10 0 0 0 0 1 net=Vcc:21,52 T 400 13050 5 10 0 0 0 0 1 net=GND:22,53 T 400 13250 5 10 0 0 0 0 1 net=AGND:63 T 400 13450 5 10 0 0 0 0 1 net=AVcc:64 P 2900 100 2900 400 1 0 0 { T 2950 200 5 8 1 1 0 0 1 pinnumber=23 T 2950 200 5 8 0 1 0 2 1 pinseq=1 T 2900 450 9 8 1 1 0 3 1 pinlabel=XTAL2 T 2900 600 5 8 0 1 0 3 1 pintype=out } P 2300 100 2300 400 1 0 0 { T 2350 200 5 8 1 1 0 0 1 pinnumber=24 T 2350 200 5 8 0 1 0 2 1 pinseq=2 T 2300 450 9 8 1 1 0 3 1 pinlabel=XTAL1 T 2300 600 5 8 0 1 0 3 1 pintype=in } P 1700 100 1700 400 1 0 0 { T 1750 200 5 8 1 1 0 0 1 pinnumber=18 T 1750 200 5 8 0 1 0 2 1 pinseq=3 T 1700 450 9 8 1 1 0 3 1 pinlabel=TOSC2 T 1700 600 5 8 0 1 0 3 1 pintype=out } P 1100 100 1100 400 1 0 0 { T 1150 200 5 8 1 1 0 0 1 pinnumber=19 T 1150 200 5 8 0 1 0 2 1 pinseq=4 T 1100 450 9 8 1 1 0 3 1 pinlabel=TOSC1 T 1100 600 5 8 0 1 0 3 1 pintype=in } P 100 800 300 800 1 0 0 { T 300 850 5 8 1 1 0 6 1 pinnumber=20 T 300 750 5 8 0 1 0 8 1 pinseq=5 T 450 800 9 8 1 1 0 0 1 pinlabel=\_Reset\_ T 450 800 5 8 0 1 0 2 1 pintype=in } V 350 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1200 300 1200 1 0 0 { T 300 1250 5 8 1 1 0 6 1 pinnumber=1 T 300 1150 5 8 0 1 0 8 1 pinseq=6 T 450 1200 9 8 1 1 0 0 1 pinlabel=\_PEN\_ T 450 1200 5 8 0 1 0 2 1 pintype=in } V 350 1200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2200 400 2200 1 0 0 { T 300 2250 5 8 1 1 0 6 1 pinnumber=9 T 300 2150 5 8 0 1 0 8 1 pinseq=7 T 450 2200 9 8 1 1 0 0 1 pinlabel=PE7 (INT7) T 450 2200 5 8 0 1 0 2 1 pintype=io } P 100 2600 400 2600 1 0 0 { T 300 2650 5 8 1 1 0 6 1 pinnumber=8 T 300 2550 5 8 0 1 0 8 1 pinseq=8 T 450 2600 9 8 1 1 0 0 1 pinlabel=PE6 (INT6) T 450 2600 5 8 0 1 0 2 1 pintype=io } P 100 3000 400 3000 1 0 0 { T 300 3050 5 8 1 1 0 6 1 pinnumber=7 T 300 2950 5 8 0 1 0 8 1 pinseq=9 T 450 3000 9 8 1 1 0 0 1 pinlabel=PE5 (INT5) T 450 3000 5 8 0 1 0 2 1 pintype=io } P 100 3400 400 3400 1 0 0 { T 300 3450 5 8 1 1 0 6 1 pinnumber=6 T 300 3350 5 8 0 1 0 8 1 pinseq=10 T 450 3400 9 8 1 1 0 0 1 pinlabel=PE4 (INT4) T 450 3400 5 8 0 1 0 2 1 pintype=io } P 100 3800 400 3800 1 0 0 { T 300 3850 5 8 1 1 0 6 1 pinnumber=5 T 300 3750 5 8 0 1 0 8 1 pinseq=11 T 450 3800 9 8 1 1 0 0 1 pinlabel=PE3 (AC-) T 450 3800 5 8 0 1 0 2 1 pintype=io } P 100 4200 400 4200 1 0 0 { T 300 4250 5 8 1 1 0 6 1 pinnumber=4 T 300 4150 5 8 0 1 0 8 1 pinseq=12 T 450 4200 9 8 1 1 0 0 1 pinlabel=PE2 (AC+) T 450 4200 5 8 0 1 0 2 1 pintype=io } P 100 4600 400 4600 1 0 0 { T 300 4650 5 8 1 1 0 6 1 pinnumber=3 T 300 4550 5 8 0 1 0 8 1 pinseq=13 T 450 4600 9 8 1 1 0 0 1 pinlabel=PE1 (PDO/TXD) T 450 4600 5 8 0 1 0 2 1 pintype=io } P 100 5000 400 5000 1 0 0 { T 300 5050 5 8 1 1 0 6 1 pinnumber=2 T 300 4950 5 8 0 1 0 8 1 pinseq=14 T 450 5000 9 8 1 1 0 0 1 pinlabel=PE0 (PDI/RXD) T 450 5000 5 8 0 1 0 2 1 pintype=io } P 100 5600 400 5600 1 0 0 { T 300 5650 5 8 1 1 0 6 1 pinnumber=32 T 300 5550 5 8 0 1 0 8 1 pinseq=15 T 450 5600 9 8 1 1 0 0 1 pinlabel=PD7 (T2) T 450 5600 5 8 0 1 0 2 1 pintype=io } P 100 6000 400 6000 1 0 0 { T 300 6050 5 8 1 1 0 6 1 pinnumber=31 T 300 5950 5 8 0 1 0 8 1 pinseq=16 T 450 6000 9 8 1 1 0 0 1 pinlabel=PD6 (T1) T 450 6000 5 8 0 1 0 2 1 pintype=io } P 100 6400 400 6400 1 0 0 { T 300 6450 5 8 1 1 0 6 1 pinnumber=30 T 300 6350 5 8 0 1 0 8 1 pinseq=17 T 450 6400 9 8 1 1 0 0 1 pinlabel=PD5 T 450 6400 5 8 0 1 0 2 1 pintype=io } P 100 6800 400 6800 1 0 0 { T 300 6850 5 8 1 1 0 6 1 pinnumber=29 T 300 6750 5 8 0 1 0 8 1 pinseq=18 T 450 6800 9 8 1 1 0 0 1 pinlabel=PD4 (IC1) T 450 6800 5 8 0 1 0 2 1 pintype=io } P 100 7200 400 7200 1 0 0 { T 300 7250 5 8 1 1 0 6 1 pinnumber=28 T 300 7150 5 8 0 1 0 8 1 pinseq=19 T 450 7200 9 8 1 1 0 0 1 pinlabel=PD3 (\_INT3\_) T 450 7200 5 8 0 1 0 2 1 pintype=io } P 100 7600 400 7600 1 0 0 { T 300 7650 5 8 1 1 0 6 1 pinnumber=27 T 300 7550 5 8 0 1 0 8 1 pinseq=20 T 450 7600 9 8 1 1 0 0 1 pinlabel=PD2 (\_INT2\_) T 450 7600 5 8 0 1 0 2 1 pintype=io } P 100 8000 400 8000 1 0 0 { T 300 8050 5 8 1 1 0 6 1 pinnumber=26 T 300 7950 5 8 0 1 0 8 1 pinseq=21 T 450 8000 9 8 1 1 0 0 1 pinlabel=PD1 (\_INT1\_) T 450 8000 5 8 0 1 0 2 1 pintype=io } P 100 8400 400 8400 1 0 0 { T 300 8450 5 8 1 1 0 6 1 pinnumber=25 T 300 8350 5 8 0 1 0 8 1 pinseq=22 T 450 8400 9 8 1 1 0 0 1 pinlabel=PD0 (\_INT0\_) T 450 8400 5 8 0 1 0 2 1 pintype=io } P 100 9000 400 9000 1 0 0 { T 300 9050 5 8 1 1 0 6 1 pinnumber=17 T 300 8950 5 8 0 1 0 8 1 pinseq=23 T 450 9000 9 8 1 1 0 0 1 pinlabel=PB7 (OC2/PWM2) T 450 9000 5 8 0 1 0 2 1 pintype=io } P 100 9400 400 9400 1 0 0 { T 300 9450 5 8 1 1 0 6 1 pinnumber=16 T 300 9350 5 8 0 1 0 8 1 pinseq=24 T 450 9400 9 8 1 1 0 0 1 pinlabel=PB6 (OC1B/PWM1B) T 450 9400 5 8 0 1 0 2 1 pintype=io } P 100 9800 400 9800 1 0 0 { T 300 9850 5 8 1 1 0 6 1 pinnumber=15 T 300 9750 5 8 0 1 0 8 1 pinseq=25 T 450 9800 9 8 1 1 0 0 1 pinlabel=PB5 (OC1A/PWM1A) T 450 9800 5 8 0 1 0 2 1 pintype=io } P 100 10200 400 10200 1 0 0 { T 300 10250 5 8 1 1 0 6 1 pinnumber=14 T 300 10150 5 8 0 1 0 8 1 pinseq=26 T 450 10200 9 8 1 1 0 0 1 pinlabel=PB4 (OC0/PWM0) T 450 10200 5 8 0 1 0 2 1 pintype=io } P 100 10600 400 10600 1 0 0 { T 300 10650 5 8 1 1 0 6 1 pinnumber=13 T 300 10550 5 8 0 1 0 8 1 pinseq=27 T 450 10600 9 8 1 1 0 0 1 pinlabel=PB3 (MISO) T 450 10600 5 8 0 1 0 2 1 pintype=io } P 100 11000 400 11000 1 0 0 { T 300 11050 5 8 1 1 0 6 1 pinnumber=12 T 300 10950 5 8 0 1 0 8 1 pinseq=28 T 450 11000 9 8 1 1 0 0 1 pinlabel=PB2 (MOSI) T 450 11000 5 8 0 1 0 2 1 pintype=io } P 100 11400 400 11400 1 0 0 { T 300 11450 5 8 1 1 0 6 1 pinnumber=11 T 300 11350 5 8 0 1 0 8 1 pinseq=29 T 450 11400 9 8 1 1 0 0 1 pinlabel=PB1 (SCK) T 450 11400 5 8 0 1 0 2 1 pintype=io } P 100 11800 400 11800 1 0 0 { T 300 11850 5 8 1 1 0 6 1 pinnumber=10 T 300 11750 5 8 0 1 0 8 1 pinseq=30 T 450 11800 9 8 1 1 0 0 1 pinlabel=PB0 (\_SS\_) T 450 11800 5 8 0 1 0 2 1 pintype=io } P 100 1600 400 1600 1 0 0 { T 300 1650 5 8 1 1 0 6 1 pinnumber=62 T 300 1550 5 8 0 1 0 8 1 pinseq=31 T 450 1600 9 8 1 1 0 0 1 pinlabel=AREF T 450 1600 5 8 0 1 0 2 1 pintype=in } P 3900 800 3700 800 1 0 0 { T 3700 850 5 8 1 1 0 0 1 pinnumber=33 T 3700 750 5 8 0 1 0 2 1 pinseq=32 T 3550 800 9 8 1 1 0 6 1 pinlabel=\_WR\_ T 3550 800 5 8 0 1 0 8 1 pintype=out } V 3650 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 3900 1200 3700 1200 1 0 0 { T 3700 1250 5 8 1 1 0 0 1 pinnumber=34 T 3700 1150 5 8 0 1 0 2 1 pinseq=33 T 3550 1200 9 8 1 1 0 6 1 pinlabel=\_RD\_ T 3550 1200 5 8 0 1 0 8 1 pintype=out } V 3650 1200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 3900 2200 3600 2200 1 0 0 { T 3700 2250 5 8 1 1 0 0 1 pinnumber=54 T 3700 2150 5 8 0 1 0 2 1 pinseq=34 T 3550 2200 9 8 1 1 0 6 1 pinlabel=(ADC7) PF7 T 3550 2200 5 8 0 1 0 8 1 pintype=io } P 3900 2600 3600 2600 1 0 0 { T 3700 2650 5 8 1 1 0 0 1 pinnumber=55 T 3700 2550 5 8 0 1 0 2 1 pinseq=35 T 3550 2600 9 8 1 1 0 6 1 pinlabel=(ADC6) PF6 T 3550 2600 5 8 0 1 0 8 1 pintype=io } P 3900 3000 3600 3000 1 0 0 { T 3700 3050 5 8 1 1 0 0 1 pinnumber=56 T 3700 2950 5 8 0 1 0 2 1 pinseq=36 T 3550 3000 9 8 1 1 0 6 1 pinlabel=(ADC5) PF5 T 3550 3000 5 8 0 1 0 8 1 pintype=io } P 3900 3400 3600 3400 1 0 0 { T 3700 3450 5 8 1 1 0 0 1 pinnumber=57 T 3700 3350 5 8 0 1 0 2 1 pinseq=37 T 3550 3400 9 8 1 1 0 6 1 pinlabel=(ADC4) PF4 T 3550 3400 5 8 0 1 0 8 1 pintype=io } P 3900 3800 3600 3800 1 0 0 { T 3700 3850 5 8 1 1 0 0 1 pinnumber=58 T 3700 3750 5 8 0 1 0 2 1 pinseq=38 T 3550 3800 9 8 1 1 0 6 1 pinlabel=(ADC3) PF3 T 3550 3800 5 8 0 1 0 8 1 pintype=io } P 3900 4200 3600 4200 1 0 0 { T 3700 4250 5 8 1 1 0 0 1 pinnumber=59 T 3700 4150 5 8 0 1 0 2 1 pinseq=39 T 3550 4200 9 8 1 1 0 6 1 pinlabel=(ADC2) PF2 T 3550 4200 5 8 0 1 0 8 1 pintype=io } P 3900 4600 3600 4600 1 0 0 { T 3700 4650 5 8 1 1 0 0 1 pinnumber=60 T 3700 4550 5 8 0 1 0 2 1 pinseq=40 T 3550 4600 9 8 1 1 0 6 1 pinlabel=(ADC1) PF1 T 3550 4600 5 8 0 1 0 8 1 pintype=io } P 3900 5000 3600 5000 1 0 0 { T 3700 5050 5 8 1 1 0 0 1 pinnumber=61 T 3700 4950 5 8 0 1 0 2 1 pinseq=41 T 3550 5000 9 8 1 1 0 6 1 pinlabel=(ADC0) PF0 T 3550 5000 5 8 0 1 0 8 1 pintype=io } P 3900 5600 3600 5600 1 0 0 { T 3700 5650 5 8 1 1 0 0 1 pinnumber=42 T 3700 5550 5 8 0 1 0 2 1 pinseq=42 T 3550 5600 9 8 1 1 0 6 1 pinlabel=(A15) PC7 T 3550 5600 5 8 0 1 0 8 1 pintype=io } P 3900 6000 3600 6000 1 0 0 { T 3700 6050 5 8 1 1 0 0 1 pinnumber=41 T 3700 5950 5 8 0 1 0 2 1 pinseq=43 T 3550 6000 9 8 1 1 0 6 1 pinlabel=(A14) PC6 T 3550 6000 5 8 0 1 0 8 1 pintype=io } P 3900 6400 3600 6400 1 0 0 { T 3700 6450 5 8 1 1 0 0 1 pinnumber=40 T 3700 6350 5 8 0 1 0 2 1 pinseq=44 T 3550 6400 9 8 1 1 0 6 1 pinlabel=(A13) PC5 T 3550 6400 5 8 0 1 0 8 1 pintype=io } P 3900 6800 3600 6800 1 0 0 { T 3700 6850 5 8 1 1 0 0 1 pinnumber=39 T 3700 6750 5 8 0 1 0 2 1 pinseq=45 T 3550 6800 9 8 1 1 0 6 1 pinlabel=(A12) PC4 T 3550 6800 5 8 0 1 0 8 1 pintype=io } P 3900 7200 3600 7200 1 0 0 { T 3700 7250 5 8 1 1 0 0 1 pinnumber=38 T 3700 7150 5 8 0 1 0 2 1 pinseq=46 T 3550 7200 9 8 1 1 0 6 1 pinlabel=(A11) PC3 T 3550 7200 5 8 0 1 0 8 1 pintype=io } P 3900 7600 3600 7600 1 0 0 { T 3700 7650 5 8 1 1 0 0 1 pinnumber=37 T 3700 7550 5 8 0 1 0 2 1 pinseq=47 T 3550 7600 9 8 1 1 0 6 1 pinlabel=(A10) PC2 T 3550 7600 5 8 0 1 0 8 1 pintype=io } P 3900 8000 3600 8000 1 0 0 { T 3700 8050 5 8 1 1 0 0 1 pinnumber=36 T 3700 7950 5 8 0 1 0 2 1 pinseq=48 T 3550 8000 9 8 1 1 0 6 1 pinlabel=(A9) PC1 T 3550 8000 5 8 0 1 0 8 1 pintype=io } P 3900 8400 3600 8400 1 0 0 { T 3700 8450 5 8 1 1 0 0 1 pinnumber=35 T 3700 8350 5 8 0 1 0 2 1 pinseq=49 T 3550 8400 9 8 1 1 0 6 1 pinlabel=(A8) PC0 T 3550 8400 5 8 0 1 0 8 1 pintype=io } P 3900 9000 3600 9000 1 0 0 { T 3700 9050 5 8 1 1 0 0 1 pinnumber=44 T 3700 8950 5 8 0 1 0 2 1 pinseq=50 T 3550 9000 9 8 1 1 0 6 1 pinlabel=(AD7) PA7 T 3550 9000 5 8 0 1 0 8 1 pintype=io } P 3900 9400 3600 9400 1 0 0 { T 3700 9450 5 8 1 1 0 0 1 pinnumber=45 T 3700 9350 5 8 0 1 0 2 1 pinseq=51 T 3550 9400 9 8 1 1 0 6 1 pinlabel=(AD6) PA6 T 3550 9400 5 8 0 1 0 8 1 pintype=io } P 3900 9800 3600 9800 1 0 0 { T 3700 9850 5 8 1 1 0 0 1 pinnumber=46 T 3700 9750 5 8 0 1 0 2 1 pinseq=52 T 3550 9800 9 8 1 1 0 6 1 pinlabel=(AD5) PA5 T 3550 9800 5 8 0 1 0 8 1 pintype=io } P 3900 10200 3600 10200 1 0 0 { T 3700 10250 5 8 1 1 0 0 1 pinnumber=47 T 3700 10150 5 8 0 1 0 2 1 pinseq=53 T 3550 10200 9 8 1 1 0 6 1 pinlabel=(AD4) PA4 T 3550 10200 5 8 0 1 0 8 1 pintype=io } P 3900 10600 3600 10600 1 0 0 { T 3700 10650 5 8 1 1 0 0 1 pinnumber=48 T 3700 10550 5 8 0 1 0 2 1 pinseq=54 T 3550 10600 9 8 1 1 0 6 1 pinlabel=(AD3) PA3 T 3550 10600 5 8 0 1 0 8 1 pintype=io } P 3900 11000 3600 11000 1 0 0 { T 3700 11050 5 8 1 1 0 0 1 pinnumber=49 T 3700 10950 5 8 0 1 0 2 1 pinseq=55 T 3550 11000 9 8 1 1 0 6 1 pinlabel=(AD2) PA2 T 3550 11000 5 8 0 1 0 8 1 pintype=io } P 3900 11400 3600 11400 1 0 0 { T 3700 11450 5 8 1 1 0 0 1 pinnumber=50 T 3700 11350 5 8 0 1 0 2 1 pinseq=56 T 3550 11400 9 8 1 1 0 6 1 pinlabel=(AD1) PA1 T 3550 11400 5 8 0 1 0 8 1 pintype=io } P 3900 11800 3600 11800 1 0 0 { T 3700 11850 5 8 1 1 0 0 1 pinnumber=51 T 3700 11750 5 8 0 1 0 2 1 pinseq=57 T 3550 11800 9 8 1 1 0 6 1 pinlabel=(AD0) PA0 T 3550 11800 5 8 0 1 0 8 1 pintype=io } P 3900 1600 3600 1600 1 0 0 { T 3700 1650 5 8 1 1 0 0 1 pinnumber=43 T 3700 1550 5 8 0 1 0 2 1 pinseq=58 T 3550 1600 9 8 1 1 0 6 1 pinlabel=ALE T 3550 1600 5 8 0 1 0 8 1 pintype=out } B 400 400 3200 11800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 13650 5 10 0 0 0 0 1 description=8-bit RISC micro controller (Atmel) T 400 13850 5 10 0 0 0 0 1 numslots=0 T 400 14050 5 10 0 0 0 0 1 author=Werner Hoch T 400 12250 9 10 1 0 0 0 1 ATmega103 geda-gaf-1.8.2/symbols/micro/pic16F628-2.sym0000664000175000017500000000737012204104272015063 00000000000000v 20081221 2 B 300 0 3000 3100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 3375 5 10 0 0 0 0 1 device=PIC16F628 P 300 2700 0 2700 1 0 1 { T 200 2750 5 8 1 1 0 6 1 pinnumber=1 T 200 2650 5 8 0 1 0 8 1 pinseq=1 T 350 2700 9 8 1 1 0 0 1 pinlabel=RA2/AN2/Vref T 350 2700 5 8 0 1 0 2 1 pintype=io } P 300 2400 0 2400 1 0 1 { T 200 2450 5 8 1 1 0 6 1 pinnumber=2 T 200 2350 5 8 0 1 0 8 1 pinseq=2 T 350 2400 9 8 1 1 0 0 1 pinlabel=RA3/AN3/CMP1 T 350 2400 5 8 0 1 0 2 1 pintype=io } P 300 2100 0 2100 1 0 1 { T 200 2150 5 8 1 1 0 6 1 pinnumber=3 T 200 2050 5 8 0 1 0 8 1 pinseq=3 T 350 2100 9 8 1 1 0 0 1 pinlabel=RA4/TOCKI/CMP2 T 350 2100 5 8 0 1 0 2 1 pintype=io } P 300 1800 0 1800 1 0 1 { T 200 1850 5 8 1 1 0 6 1 pinnumber=4 T 200 1750 5 8 0 1 0 8 1 pinseq=4 T 350 1800 9 8 1 1 0 0 1 pinlabel=RA5/\_MCLR\_/THV T 350 1800 5 8 0 1 0 2 1 pintype=io } P 300 1500 0 1500 1 0 1 { T 200 1550 5 8 1 1 0 6 1 pinnumber=5 T 200 1450 5 8 0 1 0 8 1 pinseq=5 T 350 1500 9 8 1 1 0 0 1 pinlabel=VSS T 350 1500 5 8 0 1 0 2 1 pintype=pwr } P 300 1200 0 1200 1 0 1 { T 200 1250 5 8 1 1 0 6 1 pinnumber=6 T 200 1150 5 8 0 1 0 8 1 pinseq=6 T 350 1200 9 8 1 1 0 0 1 pinlabel=RB0/INT T 350 1200 5 8 0 1 0 2 1 pintype=io } P 300 900 0 900 1 0 1 { T 200 950 5 8 1 1 0 6 1 pinnumber=7 T 200 850 5 8 0 1 0 8 1 pinseq=7 T 350 900 9 8 1 1 0 0 1 pinlabel=RB1/RX/DT T 350 900 5 8 0 1 0 2 1 pintype=io } P 300 600 0 600 1 0 1 { T 200 650 5 8 1 1 0 6 1 pinnumber=8 T 200 550 5 8 0 1 0 8 1 pinseq=8 T 350 600 9 8 1 1 0 0 1 pinlabel=RB2/TX/CK T 350 600 5 8 0 1 0 2 1 pintype=io } P 300 300 0 300 1 0 1 { T 200 350 5 8 1 1 0 6 1 pinnumber=9 T 200 250 5 8 0 1 0 8 1 pinseq=9 T 350 300 9 8 1 1 0 0 1 pinlabel=RB3/CCP1 T 350 300 5 8 0 1 0 2 1 pintype=io } P 3300 2800 3600 2800 1 0 1 { T 3400 2850 5 8 1 1 0 0 1 pinnumber=18 T 3400 2750 5 8 0 1 0 2 1 pinseq=18 T 3250 2800 9 8 1 1 0 6 1 pinlabel=RA1/AN1 T 3250 2800 5 8 0 1 0 8 1 pintype=io } P 3300 2400 3600 2400 1 0 1 { T 3400 2450 5 8 1 1 0 0 1 pinnumber=17 T 3400 2350 5 8 0 1 0 2 1 pinseq=17 T 3250 2400 9 8 1 1 0 6 1 pinlabel=RA0/AN0 T 3250 2400 5 8 0 1 0 8 1 pintype=io } L 3300 2200 3200 2100 3 0 0 0 -1 -1 L 3300 2000 3200 2100 3 0 0 0 -1 -1 P 3300 2100 3600 2100 1 0 1 { T 3400 2150 5 8 1 1 0 0 1 pinnumber=16 T 3400 2050 5 8 0 1 0 2 1 pinseq=16 T 3225 2100 9 8 1 1 0 6 1 pinlabel=RA7/OSC1/CLKIN T 3225 2100 5 8 0 1 0 8 1 pintype=io } P 3300 1800 3600 1800 1 0 1 { T 3400 1850 5 8 1 1 0 0 1 pinnumber=15 T 3400 1750 5 8 0 1 0 2 1 pinseq=15 T 3250 1800 9 8 1 1 0 6 1 pinlabel=RA6/OSC2/CLKOUT T 3250 1800 5 8 0 1 0 8 1 pintype=io } P 3300 1500 3600 1500 1 0 1 { T 3400 1550 5 8 1 1 0 0 1 pinnumber=14 T 3400 1450 5 8 0 1 0 2 1 pinseq=14 T 3250 1500 9 8 1 1 0 6 1 pinlabel=VDD T 3250 1500 5 8 0 1 0 8 1 pintype=pwr } P 3300 1200 3600 1200 1 0 1 { T 3400 1250 5 8 1 1 0 0 1 pinnumber=13 T 3400 1150 5 8 0 1 0 2 1 pinseq=13 T 3250 1200 9 8 1 1 0 6 1 pinlabel=RB7/T1OSI T 3250 1200 5 8 0 1 0 8 1 pintype=io } P 3300 900 3600 900 1 0 1 { T 3400 950 5 8 1 1 0 0 1 pinnumber=12 T 3400 850 5 8 0 1 0 2 1 pinseq=12 T 3250 900 9 8 1 1 0 6 1 pinlabel=RB6/T1OSO/T1CK1 T 3250 900 5 8 0 1 0 8 1 pintype=io } P 3300 600 3600 600 1 0 1 { T 3400 650 5 8 1 1 0 0 1 pinnumber=11 T 3400 550 5 8 0 1 0 2 1 pinseq=11 T 3250 600 9 8 1 1 0 6 1 pinlabel=RB5 T 3250 600 5 8 0 1 0 8 1 pintype=io } P 3300 300 3600 300 1 0 1 { T 3400 350 5 8 1 1 0 0 1 pinnumber=10 T 3400 250 5 8 0 1 0 2 1 pinseq=10 T 3250 300 9 8 1 1 0 6 1 pinlabel=RB4/PGM T 3250 300 5 8 0 1 0 8 1 pintype=io } T 3300 3200 8 10 1 1 0 6 1 refdes=U? T 300 3550 5 10 0 0 0 0 1 footprint=DIP18 T 300 3750 5 10 0 0 0 0 1 numslots=0 T 300 3950 5 10 0 0 0 0 1 symversion=0.1 T 300 4150 5 10 0 0 0 0 1 description=FLASH-Based 8-bit CMOS Microcontroller T 300 4350 5 10 0 0 0 0 1 documentation=http://ww1.microchip.com/downloads/en/DeviceDoc/40300C.pdf T 300 3150 3 10 1 0 0 0 1 PIC16F628 geda-gaf-1.8.2/symbols/micro/AT90S4433_TQFP.sym0000664000175000017500000001315512204104272015402 00000000000000v 20070626 1 T 2400 5900 8 10 1 1 0 6 1 refdes=U? T 400 6050 5 10 0 0 0 0 1 device=AT90S4433_TQFP T 400 6250 5 10 0 0 0 0 1 footprint=TQFP32 T 400 6450 5 10 0 0 0 0 1 net=Vcc:4 T 400 6650 5 10 0 0 0 0 1 net=GND:5 T 400 6850 5 10 0 0 0 0 1 net=AVcc:18 T 400 7050 5 10 0 0 0 0 1 net=AGND:21 P 1700 100 1700 400 1 0 0 { T 1750 200 5 8 1 1 0 0 1 pinnumber=8 T 1750 200 5 8 0 1 0 2 1 pinseq=1 T 1700 450 9 8 1 1 0 3 1 pinlabel=XTAL2 T 1700 600 5 8 0 1 0 3 1 pintype=out } P 1100 100 1100 400 1 0 0 { T 1150 200 5 8 1 1 0 0 1 pinnumber=7 T 1150 200 5 8 0 1 0 2 1 pinseq=2 T 1100 450 9 8 1 1 0 3 1 pinlabel=XTAL1 T 1100 600 5 8 0 1 0 3 1 pintype=in } P 100 800 300 800 1 0 0 { T 300 850 5 8 1 1 0 6 1 pinnumber=29 T 300 750 5 8 0 1 0 8 1 pinseq=3 T 450 800 9 8 1 1 0 0 1 pinlabel=\_Reset\_ T 450 800 5 8 0 1 0 2 1 pintype=in } V 350 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2600 400 2600 1 0 0 { T 300 2650 5 8 1 1 0 6 1 pinnumber=11 T 300 2550 5 8 0 1 0 8 1 pinseq=4 T 450 2600 9 8 1 1 0 0 1 pinlabel=PD7 (AIN1) T 450 2600 5 8 0 1 0 2 1 pintype=io } P 100 3000 400 3000 1 0 0 { T 300 3050 5 8 1 1 0 6 1 pinnumber=10 T 300 2950 5 8 0 1 0 8 1 pinseq=5 T 450 3000 9 8 1 1 0 0 1 pinlabel=PD6 (AIN0) T 450 3000 5 8 0 1 0 2 1 pintype=io } P 100 3400 400 3400 1 0 0 { T 300 3450 5 8 1 1 0 6 1 pinnumber=9 T 300 3350 5 8 0 1 0 8 1 pinseq=6 T 450 3400 9 8 1 1 0 0 1 pinlabel=PD5 (T1) T 450 3400 5 8 0 1 0 2 1 pintype=io } P 100 3800 400 3800 1 0 0 { T 300 3850 5 8 1 1 0 6 1 pinnumber=2 T 300 3750 5 8 0 1 0 8 1 pinseq=7 T 450 3800 9 8 1 1 0 0 1 pinlabel=PD4 (T0) T 450 3800 5 8 0 1 0 2 1 pintype=io } P 100 4200 400 4200 1 0 0 { T 300 4250 5 8 1 1 0 6 1 pinnumber=1 T 300 4150 5 8 0 1 0 8 1 pinseq=8 T 450 4200 9 8 1 1 0 0 1 pinlabel=PD3 (INT1) T 450 4200 5 8 0 1 0 2 1 pintype=io } P 100 4600 400 4600 1 0 0 { T 300 4650 5 8 1 1 0 6 1 pinnumber=32 T 300 4550 5 8 0 1 0 8 1 pinseq=9 T 450 4600 9 8 1 1 0 0 1 pinlabel=PD2 (INT0) T 450 4600 5 8 0 1 0 2 1 pintype=io } P 100 5000 400 5000 1 0 0 { T 300 5050 5 8 1 1 0 6 1 pinnumber=31 T 300 4950 5 8 0 1 0 8 1 pinseq=10 T 450 5000 9 8 1 1 0 0 1 pinlabel=PD1 (TXD) T 450 5000 5 8 0 1 0 2 1 pintype=io } P 100 5400 400 5400 1 0 0 { T 300 5450 5 8 1 1 0 6 1 pinnumber=30 T 300 5350 5 8 0 1 0 8 1 pinseq=11 T 450 5400 9 8 1 1 0 0 1 pinlabel=PD0 (RXD) T 450 5400 5 8 0 1 0 2 1 pintype=io } P 100 1600 400 1600 1 0 0 { T 300 1650 5 8 1 1 0 6 1 pinnumber=3 T 300 1550 5 8 0 1 0 8 1 pinseq=12 T 450 1600 9 8 1 1 0 0 1 pinlabel=NC. T 450 1600 5 8 0 1 0 2 1 pintype=tp } P 100 1800 400 1800 1 0 0 { T 300 1850 5 8 1 1 0 6 1 pinnumber=6 T 300 1750 5 8 0 1 0 8 1 pinseq=13 T 450 1800 9 8 1 1 0 0 1 pinlabel=NC. T 450 1800 5 8 0 1 0 2 1 pintype=tp } P 100 2000 400 2000 1 0 0 { T 300 2050 5 8 1 1 0 6 1 pinnumber=19 T 300 1950 5 8 0 1 0 8 1 pinseq=14 T 450 2000 9 8 1 1 0 0 1 pinlabel=NC. T 450 2000 5 8 0 1 0 2 1 pintype=tp } P 100 2200 400 2200 1 0 0 { T 300 2250 5 8 1 1 0 6 1 pinnumber=22 T 300 2150 5 8 0 1 0 8 1 pinseq=15 T 450 2200 9 8 1 1 0 0 1 pinlabel=NC. T 450 2200 5 8 0 1 0 2 1 pintype=tp } P 100 1200 400 1200 1 0 0 { T 300 1250 5 8 1 1 0 6 1 pinnumber=20 T 300 1150 5 8 0 1 0 8 1 pinseq=16 T 450 1200 9 8 1 1 0 0 1 pinlabel=AREF T 450 1200 5 8 0 1 0 2 1 pintype=in } P 2700 800 2400 800 1 0 0 { T 2500 850 5 8 1 1 0 0 1 pinnumber=28 T 2500 750 5 8 0 1 0 2 1 pinseq=17 T 2350 800 9 8 1 1 0 6 1 pinlabel=(ADC5) PC5 T 2350 800 5 8 0 1 0 8 1 pintype=io } P 2700 1200 2400 1200 1 0 0 { T 2500 1250 5 8 1 1 0 0 1 pinnumber=27 T 2500 1150 5 8 0 1 0 2 1 pinseq=18 T 2350 1200 9 8 1 1 0 6 1 pinlabel=(ADC4) PC4 T 2350 1200 5 8 0 1 0 8 1 pintype=io } P 2700 1600 2400 1600 1 0 0 { T 2500 1650 5 8 1 1 0 0 1 pinnumber=26 T 2500 1550 5 8 0 1 0 2 1 pinseq=19 T 2350 1600 9 8 1 1 0 6 1 pinlabel=(ADC3) PC3 T 2350 1600 5 8 0 1 0 8 1 pintype=io } P 2700 2000 2400 2000 1 0 0 { T 2500 2050 5 8 1 1 0 0 1 pinnumber=25 T 2500 1950 5 8 0 1 0 2 1 pinseq=20 T 2350 2000 9 8 1 1 0 6 1 pinlabel=(ADC2) PC2 T 2350 2000 5 8 0 1 0 8 1 pintype=io } P 2700 2400 2400 2400 1 0 0 { T 2500 2450 5 8 1 1 0 0 1 pinnumber=24 T 2500 2350 5 8 0 1 0 2 1 pinseq=21 T 2350 2400 9 8 1 1 0 6 1 pinlabel=(ADC1) PC1 T 2350 2400 5 8 0 1 0 8 1 pintype=io } P 2700 2800 2400 2800 1 0 0 { T 2500 2850 5 8 1 1 0 0 1 pinnumber=23 T 2500 2750 5 8 0 1 0 2 1 pinseq=22 T 2350 2800 9 8 1 1 0 6 1 pinlabel=(ADC0) PC0 T 2350 2800 5 8 0 1 0 8 1 pintype=io } P 2700 3400 2400 3400 1 0 0 { T 2500 3450 5 8 1 1 0 0 1 pinnumber=17 T 2500 3350 5 8 0 1 0 2 1 pinseq=23 T 2350 3400 9 8 1 1 0 6 1 pinlabel=(SCK) PB5 T 2350 3400 5 8 0 1 0 8 1 pintype=io } P 2700 3800 2400 3800 1 0 0 { T 2500 3850 5 8 1 1 0 0 1 pinnumber=16 T 2500 3750 5 8 0 1 0 2 1 pinseq=24 T 2350 3800 9 8 1 1 0 6 1 pinlabel=(MISO) PB4 T 2350 3800 5 8 0 1 0 8 1 pintype=io } P 2700 4200 2400 4200 1 0 0 { T 2500 4250 5 8 1 1 0 0 1 pinnumber=15 T 2500 4150 5 8 0 1 0 2 1 pinseq=25 T 2350 4200 9 8 1 1 0 6 1 pinlabel=(MOSI) PB3 T 2350 4200 5 8 0 1 0 8 1 pintype=io } P 2700 4600 2400 4600 1 0 0 { T 2500 4650 5 8 1 1 0 0 1 pinnumber=14 T 2500 4550 5 8 0 1 0 2 1 pinseq=26 T 2350 4600 9 8 1 1 0 6 1 pinlabel=(\_SS\_) PB2 T 2350 4600 5 8 0 1 0 8 1 pintype=io } P 2700 5000 2400 5000 1 0 0 { T 2500 5050 5 8 1 1 0 0 1 pinnumber=13 T 2500 4950 5 8 0 1 0 2 1 pinseq=27 T 2350 5000 9 8 1 1 0 6 1 pinlabel=(OC1) PB1 T 2350 5000 5 8 0 1 0 8 1 pintype=io } P 2700 5400 2400 5400 1 0 0 { T 2500 5450 5 8 1 1 0 0 1 pinnumber=12 T 2500 5350 5 8 0 1 0 2 1 pinseq=28 T 2350 5400 9 8 1 1 0 6 1 pinlabel=(ICP) PB0 T 2350 5400 5 8 0 1 0 8 1 pintype=io } B 400 400 2000 5400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 7250 5 10 0 0 0 0 1 description=8-bit RISC micro controller (Atmel) T 400 7450 5 10 0 0 0 0 1 numslots=0 T 400 7650 5 10 0 0 0 0 1 author=Werner Hoch T 400 5850 9 10 1 0 0 0 1 AT90S4433 geda-gaf-1.8.2/symbols/micro/basicstamp-1.sym0000664000175000017500000001116712204104272015717 00000000000000v 20070626 1 B 300 0 2100 3900 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 T 300 4350 5 10 0 0 0 0 1 device=BasicStamp2 T 2400 4000 8 10 1 1 0 6 1 refdes=U? P 300 3600 0 3600 1 0 1 { T 200 3650 5 8 1 1 0 6 1 pinnumber=1 T 200 3550 5 8 0 1 0 8 1 pinseq=1 T 350 3600 9 8 1 1 0 0 1 pinlabel=TX T 350 3600 5 8 0 1 0 2 1 pintype=out } P 300 3300 0 3300 1 0 1 { T 200 3350 5 8 1 1 0 6 1 pinnumber=2 T 200 3250 5 8 0 1 0 8 1 pinseq=2 T 350 3300 9 8 1 1 0 0 1 pinlabel=RX T 350 3300 5 8 0 1 0 2 1 pintype=in } P 300 3000 0 3000 1 0 1 { T 200 3050 5 8 1 1 0 6 1 pinnumber=3 T 200 2950 5 8 0 1 0 8 1 pinseq=3 T 350 3000 9 8 1 1 0 0 1 pinlabel=ATN T 350 3000 5 8 0 1 0 2 1 pintype=in } P 300 2700 0 2700 1 0 1 { T 200 2750 5 8 1 1 0 6 1 pinnumber=4 T 200 2650 5 8 0 1 0 8 1 pinseq=4 T 350 2700 9 8 1 1 0 0 1 pinlabel=GND T 350 2700 5 8 0 1 0 2 1 pintype=pwr } P 300 2400 0 2400 1 0 1 { T 200 2450 5 8 1 1 0 6 1 pinnumber=5 T 200 2350 5 8 0 1 0 8 1 pinseq=5 T 350 2400 9 8 1 1 0 0 1 pinlabel=P0 T 350 2400 5 8 0 1 0 2 1 pintype=io } P 300 2100 0 2100 1 0 1 { T 200 2150 5 8 1 1 0 6 1 pinnumber=6 T 200 2050 5 8 0 1 0 8 1 pinseq=6 T 350 2100 9 8 1 1 0 0 1 pinlabel=P1 T 350 2100 5 8 0 1 0 2 1 pintype=io } P 300 1800 0 1800 1 0 1 { T 200 1850 5 8 1 1 0 6 1 pinnumber=7 T 200 1750 5 8 0 1 0 8 1 pinseq=7 T 350 1800 9 8 1 1 0 0 1 pinlabel=P2 T 350 1800 5 8 0 1 0 2 1 pintype=io } P 300 1500 0 1500 1 0 1 { T 200 1550 5 8 1 1 0 6 1 pinnumber=8 T 200 1450 5 8 0 1 0 8 1 pinseq=8 T 350 1500 9 8 1 1 0 0 1 pinlabel=P3 T 350 1500 5 8 0 1 0 2 1 pintype=io } P 300 1200 0 1200 1 0 1 { T 200 1250 5 8 1 1 0 6 1 pinnumber=9 T 200 1150 5 8 0 1 0 8 1 pinseq=9 T 350 1200 9 8 1 1 0 0 1 pinlabel=P4 T 350 1200 5 8 0 1 0 2 1 pintype=io } P 300 900 0 900 1 0 1 { T 200 950 5 8 1 1 0 6 1 pinnumber=10 T 200 850 5 8 0 1 0 8 1 pinseq=10 T 350 900 9 8 1 1 0 0 1 pinlabel=P5 T 350 900 5 8 0 1 0 2 1 pintype=io } P 300 600 0 600 1 0 1 { T 200 650 5 8 1 1 0 6 1 pinnumber=11 T 200 550 5 8 0 1 0 8 1 pinseq=11 T 350 600 9 8 1 1 0 0 1 pinlabel=P6 T 350 600 5 8 0 1 0 2 1 pintype=io } P 300 300 0 300 1 0 1 { T 200 350 5 8 1 1 0 6 1 pinnumber=12 T 200 250 5 8 0 1 0 8 1 pinseq=12 T 350 300 9 8 1 1 0 0 1 pinlabel=P7 T 350 300 5 8 0 1 0 2 1 pintype=io } P 2400 300 2700 300 1 0 1 { T 2500 350 5 8 1 1 0 0 1 pinnumber=13 T 2500 250 5 8 0 1 0 2 1 pinseq=13 T 2350 300 9 8 1 1 0 6 1 pinlabel=P8 T 2350 300 5 8 0 1 0 8 1 pintype=io } P 2400 600 2700 600 1 0 1 { T 2500 650 5 8 1 1 0 0 1 pinnumber=14 T 2500 550 5 8 0 1 0 2 1 pinseq=14 T 2350 600 9 8 1 1 0 6 1 pinlabel=P9 T 2350 600 5 8 0 1 0 8 1 pintype=io } P 2400 900 2700 900 1 0 1 { T 2500 950 5 8 1 1 0 0 1 pinnumber=15 T 2500 850 5 8 0 1 0 2 1 pinseq=15 T 2350 900 9 8 1 1 0 6 1 pinlabel=P10 T 2350 900 5 8 0 1 0 8 1 pintype=io } P 2400 1200 2700 1200 1 0 1 { T 2500 1250 5 8 1 1 0 0 1 pinnumber=16 T 2500 1150 5 8 0 1 0 2 1 pinseq=16 T 2350 1200 9 8 1 1 0 6 1 pinlabel=P11 T 2350 1200 5 8 0 1 0 8 1 pintype=io } P 2400 1500 2700 1500 1 0 1 { T 2500 1550 5 8 1 1 0 0 1 pinnumber=17 T 2500 1450 5 8 0 1 0 2 1 pinseq=17 T 2350 1500 9 8 1 1 0 6 1 pinlabel=P12 T 2350 1500 5 8 0 1 0 8 1 pintype=io } P 2400 1800 2700 1800 1 0 1 { T 2500 1850 5 8 1 1 0 0 1 pinnumber=18 T 2500 1750 5 8 0 1 0 2 1 pinseq=18 T 2350 1800 9 8 1 1 0 6 1 pinlabel=P13 T 2350 1800 5 8 0 1 0 8 1 pintype=io } P 2400 2100 2700 2100 1 0 1 { T 2500 2150 5 8 1 1 0 0 1 pinnumber=19 T 2500 2050 5 8 0 1 0 2 1 pinseq=19 T 2350 2100 9 8 1 1 0 6 1 pinlabel=P14 T 2350 2100 5 8 0 1 0 8 1 pintype=io } P 2400 2400 2700 2400 1 0 1 { T 2500 2450 5 8 1 1 0 0 1 pinnumber=20 T 2500 2350 5 8 0 1 0 2 1 pinseq=20 T 2350 2400 9 8 1 1 0 6 1 pinlabel=P15 T 2350 2400 5 8 0 1 0 8 1 pintype=io } P 2400 2700 2700 2700 1 0 1 { T 2500 2750 5 8 1 1 0 0 1 pinnumber=21 T 2500 2650 5 8 0 1 0 2 1 pinseq=21 T 2350 2700 9 8 1 1 0 6 1 pinlabel=+5V T 2350 2700 5 8 0 1 0 8 1 pintype=pwr } V 2450 3000 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 2500 3000 2700 3000 1 0 1 { T 2500 3050 5 8 1 1 0 0 1 pinnumber=22 T 2500 2950 5 8 0 1 0 2 1 pinseq=22 T 2350 3000 9 8 1 1 0 6 1 pinlabel=\_RES\_ T 2350 3000 5 8 0 1 0 8 1 pintype=in } P 2400 3300 2700 3300 1 0 1 { T 2500 3350 5 8 1 1 0 0 1 pinnumber=23 T 2500 3250 5 8 0 1 0 2 1 pinseq=23 T 2350 3300 9 8 1 1 0 6 1 pinlabel=GND T 2350 3300 5 8 0 1 0 8 1 pintype=pwr } P 2400 3600 2700 3600 1 0 1 { T 2500 3650 5 8 1 1 0 0 1 pinnumber=24 T 2500 3550 5 8 0 1 0 2 1 pinseq=24 T 2350 3600 9 8 1 1 0 6 1 pinlabel=PWR T 2350 3600 5 8 0 1 0 8 1 pintype=pwr } T 300 4950 5 10 0 0 0 0 1 documentation=http://www.parallax.com/dl/docs/prod/schem/bs2%20rev%20f.pdf T 300 4750 5 10 0 0 0 0 1 description=pic microcontroller modul with basic support T 300 4150 5 10 0 0 0 0 1 numslots=0 T 300 3950 3 10 1 0 0 0 1 BasicStamp2 T 300 4550 5 10 0 0 0 0 1 footprint=none geda-gaf-1.8.2/symbols/micro/ATmega64-1.sym0000664000175000017500000002647412204104272015110 00000000000000v 20070626 1 T 3600 12300 8 10 1 1 0 6 1 refdes=U? T 400 12450 8 10 0 0 0 0 1 device=Atmega64 T 400 12650 8 10 0 0 0 0 1 footprint=TQFP64 T 400 12850 8 10 0 0 0 0 1 net=Vcc:21,52 T 400 13050 8 10 0 0 0 0 1 net=GND:22,53 T 400 13250 8 10 0 0 0 0 1 net=AGND:63 T 400 13450 8 10 0 0 0 0 1 net=AVcc:64 P 2900 100 2900 400 1 0 0 { T 2950 200 5 8 1 1 0 0 1 pinnumber=23 T 2950 200 5 8 0 1 0 2 1 pinseq=1 T 2900 450 9 8 1 1 0 3 1 pinlabel=XTAL2 T 2900 600 5 8 0 1 0 3 1 pintype=out } P 2300 100 2300 400 1 0 0 { T 2350 200 5 8 1 1 0 0 1 pinnumber=24 T 2350 200 5 8 0 1 0 2 1 pinseq=2 T 2300 450 9 8 1 1 0 3 1 pinlabel=XTAL1 T 2300 600 5 8 0 1 0 3 1 pintype=in } P 1700 100 1700 400 1 0 0 { T 1750 200 5 8 1 1 0 0 1 pinnumber=18 T 1750 200 5 8 0 1 0 2 1 pinseq=3 T 1700 450 9 8 1 1 0 3 1 pinlabel=TOSC2 T 1700 600 5 8 0 1 0 3 1 pintype=out } P 1100 100 1100 400 1 0 0 { T 1150 200 5 8 1 1 0 0 1 pinnumber=19 T 1150 200 5 8 0 1 0 2 1 pinseq=4 T 1100 450 9 8 1 1 0 3 1 pinlabel=TOSC1 T 1100 600 5 8 0 1 0 3 1 pintype=in } P 100 800 300 800 1 0 0 { T 300 850 5 8 1 1 0 6 1 pinnumber=20 T 300 750 5 8 0 1 0 8 1 pinseq=5 T 450 800 9 8 1 1 0 0 1 pinlabel=\_Reset\_ T 450 800 5 8 0 1 0 2 1 pintype=in } V 350 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1200 300 1200 1 0 0 { T 300 1250 5 8 1 1 0 6 1 pinnumber=1 T 300 1150 5 8 0 1 0 8 1 pinseq=6 T 450 1200 9 8 1 1 0 0 1 pinlabel=\_PEN\_ T 450 1200 5 8 0 1 0 2 1 pintype=in } V 350 1200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2200 400 2200 1 0 0 { T 300 2250 5 8 1 1 0 6 1 pinnumber=9 T 300 2150 5 8 0 1 0 8 1 pinseq=7 T 450 2200 9 8 1 1 0 0 1 pinlabel=PE7 (INT7) T 450 2200 5 8 0 1 0 2 1 pintype=io } P 100 2600 400 2600 1 0 0 { T 300 2650 5 8 1 1 0 6 1 pinnumber=8 T 300 2550 5 8 0 1 0 8 1 pinseq=8 T 450 2600 9 8 1 1 0 0 1 pinlabel=PE6 (INT6) T 450 2600 5 8 0 1 0 2 1 pintype=io } P 100 3000 400 3000 1 0 0 { T 300 3050 5 8 1 1 0 6 1 pinnumber=7 T 300 2950 5 8 0 1 0 8 1 pinseq=9 T 450 3000 9 8 1 1 0 0 1 pinlabel=PE5 (INT5) T 450 3000 5 8 0 1 0 2 1 pintype=io } P 100 3400 400 3400 1 0 0 { T 300 3450 5 8 1 1 0 6 1 pinnumber=6 T 300 3350 5 8 0 1 0 8 1 pinseq=10 T 450 3400 9 8 1 1 0 0 1 pinlabel=PE4 (INT4) T 450 3400 5 8 0 1 0 2 1 pintype=io } P 100 3800 400 3800 1 0 0 { T 300 3850 5 8 1 1 0 6 1 pinnumber=5 T 300 3750 5 8 0 1 0 8 1 pinseq=11 T 450 3800 9 8 1 1 0 0 1 pinlabel=PE3 (AC-) T 450 3800 5 8 0 1 0 2 1 pintype=io } P 100 4200 400 4200 1 0 0 { T 300 4250 5 8 1 1 0 6 1 pinnumber=4 T 300 4150 5 8 0 1 0 8 1 pinseq=12 T 450 4200 9 8 1 1 0 0 1 pinlabel=PE2 (AC+) T 450 4200 5 8 0 1 0 2 1 pintype=io } P 100 4600 400 4600 1 0 0 { T 300 4650 5 8 1 1 0 6 1 pinnumber=3 T 300 4550 5 8 0 1 0 8 1 pinseq=13 T 450 4600 9 8 1 1 0 0 1 pinlabel=PE1 (PDO/TXD) T 450 4600 5 8 0 1 0 2 1 pintype=io } P 100 5000 400 5000 1 0 0 { T 300 5050 5 8 1 1 0 6 1 pinnumber=2 T 300 4950 5 8 0 1 0 8 1 pinseq=14 T 450 5000 9 8 1 1 0 0 1 pinlabel=PE0 (PDI/RXD) T 450 5000 5 8 0 1 0 2 1 pintype=io } P 100 5600 400 5600 1 0 0 { T 300 5650 5 8 1 1 0 6 1 pinnumber=32 T 300 5550 5 8 0 1 0 8 1 pinseq=15 T 450 5600 9 8 1 1 0 0 1 pinlabel=PD7 (T2) T 450 5600 5 8 0 1 0 2 1 pintype=io } P 100 6000 400 6000 1 0 0 { T 300 6050 5 8 1 1 0 6 1 pinnumber=31 T 300 5950 5 8 0 1 0 8 1 pinseq=16 T 450 6000 9 8 1 1 0 0 1 pinlabel=PD6 (T1) T 450 6000 5 8 0 1 0 2 1 pintype=io } P 100 6400 400 6400 1 0 0 { T 300 6450 5 8 1 1 0 6 1 pinnumber=30 T 300 6350 5 8 0 1 0 8 1 pinseq=17 T 450 6400 9 8 1 1 0 0 1 pinlabel=PD5 T 450 6400 5 8 0 1 0 2 1 pintype=io } P 100 6800 400 6800 1 0 0 { T 300 6850 5 8 1 1 0 6 1 pinnumber=29 T 300 6750 5 8 0 1 0 8 1 pinseq=18 T 450 6800 9 8 1 1 0 0 1 pinlabel=PD4 (IC1) T 450 6800 5 8 0 1 0 2 1 pintype=io } P 100 7200 400 7200 1 0 0 { T 300 7250 5 8 1 1 0 6 1 pinnumber=28 T 300 7150 5 8 0 1 0 8 1 pinseq=19 T 450 7200 9 8 1 1 0 0 1 pinlabel=PD3 (\_INT3\_) T 450 7200 5 8 0 1 0 2 1 pintype=io } P 100 7600 400 7600 1 0 0 { T 300 7650 5 8 1 1 0 6 1 pinnumber=27 T 300 7550 5 8 0 1 0 8 1 pinseq=20 T 450 7600 9 8 1 1 0 0 1 pinlabel=PD2 (\_INT2\_) T 450 7600 5 8 0 1 0 2 1 pintype=io } P 100 8000 400 8000 1 0 0 { T 300 8050 5 8 1 1 0 6 1 pinnumber=26 T 300 7950 5 8 0 1 0 8 1 pinseq=21 T 450 8000 9 8 1 1 0 0 1 pinlabel=PD1 (\_INT1\_) T 450 8000 5 8 0 1 0 2 1 pintype=io } P 100 8400 400 8400 1 0 0 { T 300 8450 5 8 1 1 0 6 1 pinnumber=25 T 300 8350 5 8 0 1 0 8 1 pinseq=22 T 450 8400 9 8 1 1 0 0 1 pinlabel=PD0 (\_INT0\_) T 450 8400 5 8 0 1 0 2 1 pintype=io } P 100 9000 400 9000 1 0 0 { T 300 9050 5 8 1 1 0 6 1 pinnumber=17 T 300 8950 5 8 0 1 0 8 1 pinseq=23 T 450 9000 9 8 1 1 0 0 1 pinlabel=PB7 (OC2/PWM2) T 450 9000 5 8 0 1 0 2 1 pintype=io } P 100 9400 400 9400 1 0 0 { T 300 9450 5 8 1 1 0 6 1 pinnumber=16 T 300 9350 5 8 0 1 0 8 1 pinseq=24 T 450 9400 9 8 1 1 0 0 1 pinlabel=PB6 (OC1B/PWM1B) T 450 9400 5 8 0 1 0 2 1 pintype=io } P 100 9800 400 9800 1 0 0 { T 300 9850 5 8 1 1 0 6 1 pinnumber=15 T 300 9750 5 8 0 1 0 8 1 pinseq=25 T 450 9800 9 8 1 1 0 0 1 pinlabel=PB5 (OC1A/PWM1A) T 450 9800 5 8 0 1 0 2 1 pintype=io } P 100 10200 400 10200 1 0 0 { T 300 10250 5 8 1 1 0 6 1 pinnumber=14 T 300 10150 5 8 0 1 0 8 1 pinseq=26 T 450 10200 9 8 1 1 0 0 1 pinlabel=PB4 (OC0/PWM0) T 450 10200 5 8 0 1 0 2 1 pintype=io } P 100 10600 400 10600 1 0 0 { T 300 10650 5 8 1 1 0 6 1 pinnumber=13 T 300 10550 5 8 0 1 0 8 1 pinseq=27 T 450 10600 9 8 1 1 0 0 1 pinlabel=PB3 (MISO) T 450 10600 5 8 0 1 0 2 1 pintype=io } P 100 11000 400 11000 1 0 0 { T 300 11050 5 8 1 1 0 6 1 pinnumber=12 T 300 10950 5 8 0 1 0 8 1 pinseq=28 T 450 11000 9 8 1 1 0 0 1 pinlabel=PB2 (MOSI) T 450 11000 5 8 0 1 0 2 1 pintype=io } P 100 11400 400 11400 1 0 0 { T 300 11450 5 8 1 1 0 6 1 pinnumber=11 T 300 11350 5 8 0 1 0 8 1 pinseq=29 T 450 11400 9 8 1 1 0 0 1 pinlabel=PB1 (SCK) T 450 11400 5 8 0 1 0 2 1 pintype=io } P 100 11800 400 11800 1 0 0 { T 300 11850 5 8 1 1 0 6 1 pinnumber=10 T 300 11750 5 8 0 1 0 8 1 pinseq=30 T 450 11800 9 8 1 1 0 0 1 pinlabel=PB0 (\_SS\_) T 450 11800 5 8 0 1 0 2 1 pintype=io } P 100 1600 400 1600 1 0 0 { T 300 1650 5 8 1 1 0 6 1 pinnumber=62 T 300 1550 5 8 0 1 0 8 1 pinseq=31 T 450 1600 9 8 1 1 0 0 1 pinlabel=AREF T 450 1600 5 8 0 1 0 2 1 pintype=in } P 3900 800 3700 800 1 0 0 { T 3700 850 5 8 1 1 0 0 1 pinnumber=33 T 3700 750 5 8 0 1 0 2 1 pinseq=32 T 3550 800 9 8 1 1 0 6 1 pinlabel=\_WR\_ T 3550 800 5 8 0 1 0 8 1 pintype=out } V 3650 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 3900 1200 3700 1200 1 0 0 { T 3700 1250 5 8 1 1 0 0 1 pinnumber=34 T 3700 1150 5 8 0 1 0 2 1 pinseq=33 T 3550 1200 9 8 1 1 0 6 1 pinlabel=\_RD\_ T 3550 1200 5 8 0 1 0 8 1 pintype=out } V 3650 1200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 3900 2200 3600 2200 1 0 0 { T 3700 2250 5 8 1 1 0 0 1 pinnumber=54 T 3700 2150 5 8 0 1 0 2 1 pinseq=34 T 3550 2200 9 8 1 1 0 6 1 pinlabel=(ADC7) PF7 T 3550 2200 5 8 0 1 0 8 1 pintype=io } P 3900 2600 3600 2600 1 0 0 { T 3700 2650 5 8 1 1 0 0 1 pinnumber=55 T 3700 2550 5 8 0 1 0 2 1 pinseq=35 T 3550 2600 9 8 1 1 0 6 1 pinlabel=(ADC6) PF6 T 3550 2600 5 8 0 1 0 8 1 pintype=io } P 3900 3000 3600 3000 1 0 0 { T 3700 3050 5 8 1 1 0 0 1 pinnumber=56 T 3700 2950 5 8 0 1 0 2 1 pinseq=36 T 3550 3000 9 8 1 1 0 6 1 pinlabel=(ADC5) PF5 T 3550 3000 5 8 0 1 0 8 1 pintype=io } P 3900 3400 3600 3400 1 0 0 { T 3700 3450 5 8 1 1 0 0 1 pinnumber=57 T 3700 3350 5 8 0 1 0 2 1 pinseq=37 T 3550 3400 9 8 1 1 0 6 1 pinlabel=(ADC4) PF4 T 3550 3400 5 8 0 1 0 8 1 pintype=io } P 3900 3800 3600 3800 1 0 0 { T 3700 3850 5 8 1 1 0 0 1 pinnumber=58 T 3700 3750 5 8 0 1 0 2 1 pinseq=38 T 3550 3800 9 8 1 1 0 6 1 pinlabel=(ADC3) PF3 T 3550 3800 5 8 0 1 0 8 1 pintype=io } P 3900 4200 3600 4200 1 0 0 { T 3700 4250 5 8 1 1 0 0 1 pinnumber=59 T 3700 4150 5 8 0 1 0 2 1 pinseq=39 T 3550 4200 9 8 1 1 0 6 1 pinlabel=(ADC2) PF2 T 3550 4200 5 8 0 1 0 8 1 pintype=io } P 3900 4600 3600 4600 1 0 0 { T 3700 4650 5 8 1 1 0 0 1 pinnumber=60 T 3700 4550 5 8 0 1 0 2 1 pinseq=40 T 3550 4600 9 8 1 1 0 6 1 pinlabel=(ADC1) PF1 T 3550 4600 5 8 0 1 0 8 1 pintype=io } P 3900 5000 3600 5000 1 0 0 { T 3700 5050 5 8 1 1 0 0 1 pinnumber=61 T 3700 4950 5 8 0 1 0 2 1 pinseq=41 T 3550 5000 9 8 1 1 0 6 1 pinlabel=(ADC0) PF0 T 3550 5000 5 8 0 1 0 8 1 pintype=io } P 3900 5600 3600 5600 1 0 0 { T 3700 5650 5 8 1 1 0 0 1 pinnumber=42 T 3700 5550 5 8 0 1 0 2 1 pinseq=42 T 3550 5600 9 8 1 1 0 6 1 pinlabel=(A15) PC7 T 3550 5600 5 8 0 1 0 8 1 pintype=io } P 3900 6000 3600 6000 1 0 0 { T 3700 6050 5 8 1 1 0 0 1 pinnumber=41 T 3700 5950 5 8 0 1 0 2 1 pinseq=43 T 3550 6000 9 8 1 1 0 6 1 pinlabel=(A14) PC6 T 3550 6000 5 8 0 1 0 8 1 pintype=io } P 3900 6400 3600 6400 1 0 0 { T 3700 6450 5 8 1 1 0 0 1 pinnumber=40 T 3700 6350 5 8 0 1 0 2 1 pinseq=44 T 3550 6400 9 8 1 1 0 6 1 pinlabel=(A13) PC5 T 3550 6400 5 8 0 1 0 8 1 pintype=io } P 3900 6800 3600 6800 1 0 0 { T 3700 6850 5 8 1 1 0 0 1 pinnumber=39 T 3700 6750 5 8 0 1 0 2 1 pinseq=45 T 3550 6800 9 8 1 1 0 6 1 pinlabel=(A12) PC4 T 3550 6800 5 8 0 1 0 8 1 pintype=io } P 3900 7200 3600 7200 1 0 0 { T 3700 7250 5 8 1 1 0 0 1 pinnumber=38 T 3700 7150 5 8 0 1 0 2 1 pinseq=46 T 3550 7200 9 8 1 1 0 6 1 pinlabel=(A11) PC3 T 3550 7200 5 8 0 1 0 8 1 pintype=io } P 3900 7600 3600 7600 1 0 0 { T 3700 7650 5 8 1 1 0 0 1 pinnumber=37 T 3700 7550 5 8 0 1 0 2 1 pinseq=47 T 3550 7600 9 8 1 1 0 6 1 pinlabel=(A10) PC2 T 3550 7600 5 8 0 1 0 8 1 pintype=io } P 3900 8000 3600 8000 1 0 0 { T 3700 8050 5 8 1 1 0 0 1 pinnumber=36 T 3700 7950 5 8 0 1 0 2 1 pinseq=48 T 3550 8000 9 8 1 1 0 6 1 pinlabel=(A9) PC1 T 3550 8000 5 8 0 1 0 8 1 pintype=io } P 3900 8400 3600 8400 1 0 0 { T 3700 8450 5 8 1 1 0 0 1 pinnumber=35 T 3700 8350 5 8 0 1 0 2 1 pinseq=49 T 3550 8400 9 8 1 1 0 6 1 pinlabel=(A8) PC0 T 3550 8400 5 8 0 1 0 8 1 pintype=io } P 3900 9000 3600 9000 1 0 0 { T 3700 9050 5 8 1 1 0 0 1 pinnumber=44 T 3700 8950 5 8 0 1 0 2 1 pinseq=50 T 3550 9000 9 8 1 1 0 6 1 pinlabel=(AD7) PA7 T 3550 9000 5 8 0 1 0 8 1 pintype=io } P 3900 9400 3600 9400 1 0 0 { T 3700 9450 5 8 1 1 0 0 1 pinnumber=45 T 3700 9350 5 8 0 1 0 2 1 pinseq=51 T 3550 9400 9 8 1 1 0 6 1 pinlabel=(AD6) PA6 T 3550 9400 5 8 0 1 0 8 1 pintype=io } P 3900 9800 3600 9800 1 0 0 { T 3700 9850 5 8 1 1 0 0 1 pinnumber=46 T 3700 9750 5 8 0 1 0 2 1 pinseq=52 T 3550 9800 9 8 1 1 0 6 1 pinlabel=(AD5) PA5 T 3550 9800 5 8 0 1 0 8 1 pintype=io } P 3900 10200 3600 10200 1 0 0 { T 3700 10250 5 8 1 1 0 0 1 pinnumber=47 T 3700 10150 5 8 0 1 0 2 1 pinseq=53 T 3550 10200 9 8 1 1 0 6 1 pinlabel=(AD4) PA4 T 3550 10200 5 8 0 1 0 8 1 pintype=io } P 3900 10600 3600 10600 1 0 0 { T 3700 10650 5 8 1 1 0 0 1 pinnumber=48 T 3700 10550 5 8 0 1 0 2 1 pinseq=54 T 3550 10600 9 8 1 1 0 6 1 pinlabel=(AD3) PA3 T 3550 10600 5 8 0 1 0 8 1 pintype=io } P 3900 11000 3600 11000 1 0 0 { T 3700 11050 5 8 1 1 0 0 1 pinnumber=49 T 3700 10950 5 8 0 1 0 2 1 pinseq=55 T 3550 11000 9 8 1 1 0 6 1 pinlabel=(AD2) PA2 T 3550 11000 5 8 0 1 0 8 1 pintype=io } P 3900 11400 3600 11400 1 0 0 { T 3700 11450 5 8 1 1 0 0 1 pinnumber=50 T 3700 11350 5 8 0 1 0 2 1 pinseq=56 T 3550 11400 9 8 1 1 0 6 1 pinlabel=(AD1) PA1 T 3550 11400 5 8 0 1 0 8 1 pintype=io } P 3900 11800 3600 11800 1 0 0 { T 3700 11850 5 8 1 1 0 0 1 pinnumber=51 T 3700 11750 5 8 0 1 0 2 1 pinseq=57 T 3550 11800 9 8 1 1 0 6 1 pinlabel=(AD0) PA0 T 3550 11800 5 8 0 1 0 8 1 pintype=io } P 3900 1600 3600 1600 1 0 0 { T 3700 1650 5 8 1 1 0 0 1 pinnumber=43 T 3700 1550 5 8 0 1 0 2 1 pinseq=58 T 3550 1600 9 8 1 1 0 6 1 pinlabel=ALE T 3550 1600 5 8 0 1 0 8 1 pintype=out } B 400 400 3200 11800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 13650 8 10 0 0 0 0 1 description=8-bit RISC micro controller (Atmel) T 400 13850 8 10 0 0 0 0 1 numslots=0 T 400 14050 8 10 0 0 0 0 1 author=Werner Hoch T 400 12250 9 10 1 0 0 0 1 ATmega64 geda-gaf-1.8.2/symbols/micro/MSP430x43x.sym0000664000175000017500000003616612204104272015056 00000000000000v 20070626 1 B 400 400 10800 8000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2700 5875 5 10 0 0 0 0 1 device=MSP430x43x T 11150 8450 8 10 1 1 0 6 1 refdes=U? P 400 8200 100 8200 1 0 1 { T 300 8250 5 8 1 1 0 6 1 pinnumber=1 T 450 8200 9 8 1 1 0 0 1 pinlabel=DVcc T 300 8150 5 8 0 1 0 8 1 pinseq=1 T 450 8200 5 8 0 1 0 2 1 pintype=pwr } P 400 7800 100 7800 1 0 1 { T 300 7850 5 8 1 1 0 6 1 pinnumber=2 T 450 7800 9 8 1 1 0 0 1 pinlabel=P6.3/A3 T 300 7750 5 8 0 1 0 8 1 pinseq=2 T 450 7800 5 8 0 1 0 2 1 pintype=io } P 400 7400 100 7400 1 0 1 { T 300 7450 5 8 1 1 0 6 1 pinnumber=3 T 450 7400 9 8 1 1 0 0 1 pinlabel=P6.4/A4 T 300 7350 5 8 0 1 0 8 1 pinseq=3 T 450 7400 5 8 0 1 0 2 1 pintype=io } P 400 7000 100 7000 1 0 1 { T 300 7050 5 8 1 1 0 6 1 pinnumber=4 T 450 7000 9 8 1 1 0 0 1 pinlabel=P6.5/A5 T 300 6950 5 8 0 1 0 8 1 pinseq=4 T 450 7000 5 8 0 1 0 2 1 pintype=io } P 400 6600 100 6600 1 0 1 { T 300 6650 5 8 1 1 0 6 1 pinnumber=5 T 450 6600 9 8 1 1 0 0 1 pinlabel=P6.6/A6 T 300 6550 5 8 0 1 0 8 1 pinseq=5 T 450 6600 5 8 0 1 0 2 1 pintype=io } P 400 6200 100 6200 1 0 1 { T 300 6250 5 8 1 1 0 6 1 pinnumber=6 T 450 6200 9 8 1 1 0 0 1 pinlabel=P6.7/A7 T 300 6150 5 8 0 1 0 8 1 pinseq=6 T 450 6200 5 8 0 1 0 2 1 pintype=io } P 400 5800 100 5800 1 0 1 { T 300 5850 5 8 1 1 0 6 1 pinnumber=7 T 450 5800 9 8 1 1 0 0 1 pinlabel=Vref+ T 300 5750 5 8 0 1 0 8 1 pinseq=7 T 450 5800 5 8 0 1 0 2 1 pintype=out } P 400 5400 100 5400 1 0 1 { T 300 5450 5 8 1 1 0 6 1 pinnumber=8 T 450 5400 9 8 1 1 0 0 1 pinlabel=XIN T 300 5350 5 8 0 1 0 8 1 pinseq=8 T 450 5400 5 8 0 1 0 2 1 pintype=io } P 400 5000 100 5000 1 0 1 { T 300 5050 5 8 1 1 0 6 1 pinnumber=9 T 450 5000 9 8 1 1 0 0 1 pinlabel=XOUT/TCLK T 300 4950 5 8 0 1 0 8 1 pinseq=9 T 450 5000 5 8 0 1 0 2 1 pintype=io } P 400 4600 100 4600 1 0 1 { T 300 4650 5 8 1 1 0 6 1 pinnumber=10 T 450 4600 9 8 1 1 0 0 1 pinlabel=VeREF+ T 300 4550 5 8 0 1 0 8 1 pinseq=10 T 450 4600 5 8 0 1 0 2 1 pintype=in } P 400 4200 100 4200 1 0 1 { T 300 4250 5 8 1 1 0 6 1 pinnumber=11 T 450 4200 9 8 1 1 0 0 1 pinlabel=Vref-/VeREF- T 300 4150 5 8 0 1 0 8 1 pinseq=11 T 450 4200 5 8 0 1 0 2 1 pintype=in } P 400 3800 100 3800 1 0 1 { T 300 3850 5 8 1 1 0 6 1 pinnumber=12 T 450 3800 9 8 1 1 0 0 1 pinlabel=P5.1/S0 T 300 3750 5 8 0 1 0 8 1 pinseq=12 T 450 3800 5 8 0 1 0 2 1 pintype=io } P 400 3400 100 3400 1 0 1 { T 300 3450 5 8 1 1 0 6 1 pinnumber=13 T 450 3400 9 8 1 1 0 0 1 pinlabel=P5.0/S1 T 300 3350 5 8 0 1 0 8 1 pinseq=13 T 450 3400 5 8 0 1 0 2 1 pintype=io } P 400 3000 100 3000 1 0 1 { T 300 3050 5 8 1 1 0 6 1 pinnumber=14 T 450 3000 9 8 1 1 0 0 1 pinlabel=P4.7/S2 T 300 2950 5 8 0 1 0 8 1 pinseq=14 T 450 3000 5 8 0 1 0 2 1 pintype=io } P 400 2600 100 2600 1 0 1 { T 300 2650 5 8 1 1 0 6 1 pinnumber=15 T 450 2600 9 8 1 1 0 0 1 pinlabel=P4.6/S3 T 300 2550 5 8 0 1 0 8 1 pinseq=15 T 450 2600 5 8 0 1 0 2 1 pintype=io } P 400 2200 100 2200 1 0 1 { T 300 2250 5 8 1 1 0 6 1 pinnumber=16 T 450 2200 9 8 1 1 0 0 1 pinlabel=P4.5/S4 T 300 2150 5 8 0 1 0 8 1 pinseq=16 T 450 2200 5 8 0 1 0 2 1 pintype=io } P 400 1800 100 1800 1 0 1 { T 300 1850 5 8 1 1 0 6 1 pinnumber=17 T 450 1800 9 8 1 1 0 0 1 pinlabel=P4.4/S5 T 300 1750 5 8 0 1 0 8 1 pinseq=17 T 450 1800 5 8 0 1 0 2 1 pintype=io } P 400 1400 100 1400 1 0 1 { T 300 1450 5 8 1 1 0 6 1 pinnumber=18 T 450 1400 9 8 1 1 0 0 1 pinlabel=P4.3/S6 T 300 1350 5 8 0 1 0 8 1 pinseq=18 T 450 1400 5 8 0 1 0 2 1 pintype=io } P 400 1000 100 1000 1 0 1 { T 300 1050 5 8 1 1 0 6 1 pinnumber=19 T 450 1000 9 8 1 1 0 0 1 pinlabel=P4.2/S7 T 300 950 5 8 0 1 0 8 1 pinseq=19 T 450 1000 5 8 0 1 0 2 1 pintype=io } P 400 600 100 600 1 0 1 { T 300 650 5 8 1 1 0 6 1 pinnumber=20 T 450 600 9 8 1 1 0 0 1 pinlabel=P4.1/S8 T 300 550 5 8 0 1 0 8 1 pinseq=20 T 450 600 5 8 0 1 0 2 1 pintype=io } P 2000 100 2000 400 1 0 0 { T 1950 300 5 8 1 1 90 6 1 pinnumber=21 T 2000 450 9 8 1 1 90 0 1 pinlabel=P4.0/S9 T 2050 300 5 8 0 1 90 8 1 pinseq=21 T 2000 450 5 8 0 1 90 2 1 pintype=io } P 2400 100 2400 400 1 0 0 { T 2350 300 5 8 1 1 90 6 1 pinnumber=22 T 2400 450 9 8 1 1 90 0 1 pinlabel=S10 T 2450 300 5 8 0 1 90 8 1 pinseq=22 T 2400 450 5 8 0 1 90 2 1 pintype=out } P 2800 100 2800 400 1 0 0 { T 2750 300 5 8 1 1 90 6 1 pinnumber=23 T 2800 450 9 8 1 1 90 0 1 pinlabel=S11 T 2850 300 5 8 0 1 90 8 1 pinseq=23 T 2800 450 5 8 0 1 90 2 1 pintype=out } P 3200 100 3200 400 1 0 0 { T 3150 300 5 8 1 1 90 6 1 pinnumber=24 T 3200 450 9 8 1 1 90 0 1 pinlabel=S12 T 3250 300 5 8 0 1 90 8 1 pinseq=24 T 3200 450 5 8 0 1 90 2 1 pintype=out } P 3600 100 3600 400 1 0 0 { T 3550 300 5 8 1 1 90 6 1 pinnumber=25 T 3600 450 9 8 1 1 90 0 1 pinlabel=S13 T 3650 300 5 8 0 1 90 8 1 pinseq=25 T 3600 450 5 8 0 1 90 2 1 pintype=out } P 4000 100 4000 400 1 0 0 { T 3950 300 5 8 1 1 90 6 1 pinnumber=26 T 4000 450 9 8 1 1 90 0 1 pinlabel=S14 T 4050 300 5 8 0 1 90 8 1 pinseq=26 T 4000 450 5 8 0 1 90 2 1 pintype=out } P 4400 100 4400 400 1 0 0 { T 4350 300 5 8 1 1 90 6 1 pinnumber=27 T 4400 450 9 8 1 1 90 0 1 pinlabel=S15 T 4450 300 5 8 0 1 90 8 1 pinseq=27 T 4400 450 5 8 0 1 90 2 1 pintype=out } P 4800 100 4800 400 1 0 0 { T 4750 300 5 8 1 1 90 6 1 pinnumber=28 T 4800 450 9 8 1 1 90 0 1 pinlabel=S16 T 4850 300 5 8 0 1 90 8 1 pinseq=28 T 4800 450 5 8 0 1 90 2 1 pintype=out } P 5200 100 5200 400 1 0 0 { T 5150 300 5 8 1 1 90 6 1 pinnumber=29 T 5200 450 9 8 1 1 90 0 1 pinlabel=S17 T 5250 300 5 8 0 1 90 8 1 pinseq=29 T 5200 450 5 8 0 1 90 2 1 pintype=out } P 5600 100 5600 400 1 0 0 { T 5550 300 5 8 1 1 90 6 1 pinnumber=30 T 5600 450 9 8 1 1 90 0 1 pinlabel=P2.7/ADC12CLK/S18 T 5650 300 5 8 0 1 90 8 1 pinseq=30 T 5600 450 5 8 0 1 90 2 1 pintype=io } P 6000 100 6000 400 1 0 0 { T 5950 300 5 8 1 1 90 6 1 pinnumber=31 T 6000 450 9 8 1 1 90 0 1 pinlabel=P2.6/CAOUT/S19 T 6050 300 5 8 0 1 90 8 1 pinseq=31 T 6000 450 5 8 0 1 90 2 1 pintype=io } P 6400 100 6400 400 1 0 0 { T 6350 300 5 8 1 1 90 6 1 pinnumber=32 T 6400 450 9 8 1 1 90 0 1 pinlabel=S20 T 6450 300 5 8 0 1 90 8 1 pinseq=32 T 6400 450 5 8 0 1 90 2 1 pintype=out } P 6800 100 6800 400 1 0 0 { T 6750 300 5 8 1 1 90 6 1 pinnumber=33 T 6800 450 9 8 1 1 90 0 1 pinlabel=S21 T 6850 300 5 8 0 1 90 8 1 pinseq=33 T 6800 450 5 8 0 1 90 2 1 pintype=out } P 7200 100 7200 400 1 0 0 { T 7150 300 5 8 1 1 90 6 1 pinnumber=34 T 7200 450 9 8 1 1 90 0 1 pinlabel=S22 T 7250 300 5 8 0 1 90 8 1 pinseq=34 T 7200 450 5 8 0 1 90 2 1 pintype=out } P 7600 100 7600 400 1 0 0 { T 7550 300 5 8 1 1 90 6 1 pinnumber=35 T 7600 450 9 8 1 1 90 0 1 pinlabel=S23 T 7650 300 5 8 0 1 90 8 1 pinseq=35 T 7600 450 5 8 0 1 90 2 1 pintype=out } P 8000 100 8000 400 1 0 0 { T 7950 300 5 8 1 1 90 6 1 pinnumber=36 T 8000 450 9 8 1 1 90 0 1 pinlabel=P3.7/S24 T 8050 300 5 8 0 1 90 8 1 pinseq=36 T 8000 450 5 8 0 1 90 2 1 pintype=io } P 8400 100 8400 400 1 0 0 { T 8350 300 5 8 1 1 90 6 1 pinnumber=37 T 8400 450 9 8 1 1 90 0 1 pinlabel=P3.6/S25 T 8450 300 5 8 0 1 90 8 1 pinseq=37 T 8400 450 5 8 0 1 90 2 1 pintype=io } P 8800 100 8800 400 1 0 0 { T 8750 300 5 8 1 1 90 6 1 pinnumber=38 T 8800 450 9 8 1 1 90 0 1 pinlabel=P3.5/S26 T 8850 300 5 8 0 1 90 8 1 pinseq=38 T 8800 450 5 8 0 1 90 2 1 pintype=io } P 9200 100 9200 400 1 0 0 { T 9150 300 5 8 1 1 90 6 1 pinnumber=39 T 9200 450 9 8 1 1 90 0 1 pinlabel=P3.4/S27 T 9250 300 5 8 0 1 90 8 1 pinseq=39 T 9200 450 5 8 0 1 90 2 1 pintype=io } P 9600 100 9600 400 1 0 0 { T 9550 300 5 8 1 1 90 6 1 pinnumber=40 T 9600 450 9 8 1 1 90 0 1 pinlabel=P3.3/UCLK0/S28 T 9650 300 5 8 0 1 90 8 1 pinseq=40 T 9600 450 5 8 0 1 90 2 1 pintype=io } P 11200 600 11500 600 1 0 1 { T 11300 650 5 8 1 1 0 0 1 pinnumber=41 T 11150 600 9 8 1 1 0 6 1 pinlabel=P3.2/SOMI0/S29 T 11300 550 5 8 0 1 0 2 1 pinseq=41 T 11150 600 5 8 0 1 0 8 1 pintype=io } P 11200 1000 11500 1000 1 0 1 { T 11300 1050 5 8 1 1 0 0 1 pinnumber=42 T 11150 1000 9 8 1 1 0 6 1 pinlabel=P3.1/SIMO0/S30 T 11300 950 5 8 0 1 0 2 1 pinseq=42 T 11150 1000 5 8 0 1 0 8 1 pintype=io } P 11200 1400 11500 1400 1 0 1 { T 11300 1450 5 8 1 1 0 0 1 pinnumber=43 T 11150 1400 9 8 1 1 0 6 1 pinlabel=P3.0/STE0/S31 T 11300 1350 5 8 0 1 0 2 1 pinseq=43 T 11150 1400 5 8 0 1 0 8 1 pintype=io } P 11200 1800 11500 1800 1 0 1 { T 11300 1850 5 8 1 1 0 0 1 pinnumber=44 T 11150 1800 9 8 1 1 0 6 1 pinlabel=COM0 T 11300 1750 5 8 0 1 0 2 1 pinseq=44 T 11150 1800 5 8 0 1 0 8 1 pintype=out } P 11200 2200 11500 2200 1 0 1 { T 11300 2250 5 8 1 1 0 0 1 pinnumber=45 T 11150 2200 9 8 1 1 0 6 1 pinlabel=P5.2/COM1 T 11300 2150 5 8 0 1 0 2 1 pinseq=45 T 11150 2200 5 8 0 1 0 8 1 pintype=io } P 11200 2600 11500 2600 1 0 1 { T 11300 2650 5 8 1 1 0 0 1 pinnumber=46 T 11150 2600 9 8 1 1 0 6 1 pinlabel=P5.3/COM2 T 11300 2550 5 8 0 1 0 2 1 pinseq=46 T 11150 2600 5 8 0 1 0 8 1 pintype=io } P 11200 3000 11500 3000 1 0 1 { T 11300 3050 5 8 1 1 0 0 1 pinnumber=47 T 11150 3000 9 8 1 1 0 6 1 pinlabel=P5.4/COM3 T 11300 2950 5 8 0 1 0 2 1 pinseq=47 T 11150 3000 5 8 0 1 0 8 1 pintype=io } P 11200 3400 11500 3400 1 0 1 { T 11300 3450 5 8 1 1 0 0 1 pinnumber=48 T 11150 3400 9 8 1 1 0 6 1 pinlabel=R03 T 11300 3350 5 8 0 1 0 2 1 pinseq=48 T 11150 3400 5 8 0 1 0 8 1 pintype=in } P 11200 3800 11500 3800 1 0 1 { T 11300 3850 5 8 1 1 0 0 1 pinnumber=49 T 11150 3800 9 8 1 1 0 6 1 pinlabel=P5.5/R13 T 11300 3750 5 8 0 1 0 2 1 pinseq=49 T 11150 3800 5 8 0 1 0 8 1 pintype=io } P 11200 4200 11500 4200 1 0 1 { T 11300 4250 5 8 1 1 0 0 1 pinnumber=50 T 11150 4200 9 8 1 1 0 6 1 pinlabel=P5.6/R23 T 11300 4150 5 8 0 1 0 2 1 pinseq=50 T 11150 4200 5 8 0 1 0 8 1 pintype=io } P 11200 4600 11500 4600 1 0 1 { T 11300 4650 5 8 1 1 0 0 1 pinnumber=51 T 11150 4600 9 8 1 1 0 6 1 pinlabel=P5.7/R33 T 11300 4550 5 8 0 1 0 2 1 pinseq=51 T 11150 4600 5 8 0 1 0 8 1 pintype=io } P 11200 5000 11500 5000 1 0 1 { T 11300 5050 5 8 1 1 0 0 1 pinnumber=52 T 11150 5000 9 8 1 1 0 6 1 pinlabel=DVcc2 T 11300 4950 5 8 0 1 0 2 1 pinseq=52 T 11150 5000 5 8 0 1 0 8 1 pintype=pwr } P 11200 5400 11500 5400 1 0 1 { T 11300 5450 5 8 1 1 0 0 1 pinnumber=53 T 11150 5400 9 8 1 1 0 6 1 pinlabel=DVss2 T 11300 5350 5 8 0 1 0 2 1 pinseq=53 T 11150 5400 5 8 0 1 0 8 1 pintype=pwr } P 11200 5800 11500 5800 1 0 1 { T 11300 5850 5 8 1 1 0 0 1 pinnumber=54 T 11150 5800 9 8 1 1 0 6 1 pinlabel=P2.5/URXD0 T 11300 5750 5 8 0 1 0 2 1 pinseq=54 T 11150 5800 5 8 0 1 0 8 1 pintype=io } P 11200 6200 11500 6200 1 0 1 { T 11300 6250 5 8 1 1 0 0 1 pinnumber=55 T 11150 6200 9 8 1 1 0 6 1 pinlabel=P2.4/UTXD0 T 11300 6150 5 8 0 1 0 2 1 pinseq=55 T 11150 6200 5 8 0 1 0 8 1 pintype=io } P 11200 6600 11500 6600 1 0 1 { T 11300 6650 5 8 1 1 0 0 1 pinnumber=56 T 11150 6600 9 8 1 1 0 6 1 pinlabel=P2.3/TB2 T 11300 6550 5 8 0 1 0 2 1 pinseq=56 T 11150 6600 5 8 0 1 0 8 1 pintype=io } P 11200 7000 11500 7000 1 0 1 { T 11300 7050 5 8 1 1 0 0 1 pinnumber=57 T 11150 7000 9 8 1 1 0 6 1 pinlabel=P2.2/TB1 T 11300 6950 5 8 0 1 0 2 1 pinseq=57 T 11150 7000 5 8 0 1 0 8 1 pintype=io } P 11200 7400 11500 7400 1 0 1 { T 11300 7450 5 8 1 1 0 0 1 pinnumber=58 T 11150 7400 9 8 1 1 0 6 1 pinlabel=P2.1/TB0 T 11300 7350 5 8 0 1 0 2 1 pinseq=58 T 11150 7400 5 8 0 1 0 8 1 pintype=io } P 11200 7800 11500 7800 1 0 1 { T 11300 7850 5 8 1 1 0 0 1 pinnumber=59 T 11150 7800 9 8 1 1 0 6 1 pinlabel=P2.0/TA2 T 11300 7750 5 8 0 1 0 2 1 pinseq=59 T 11150 7800 5 8 0 1 0 8 1 pintype=io } P 11200 8200 11500 8200 1 0 1 { T 11300 8250 5 8 1 1 0 0 1 pinnumber=60 T 11150 8200 9 8 1 1 0 6 1 pinlabel=P1.7/CA1 T 11300 8150 5 8 0 1 0 2 1 pinseq=60 T 11150 8200 5 8 0 1 0 8 1 pintype=io } P 9600 8400 9600 8700 1 0 1 { T 9550 8500 5 8 1 1 90 0 1 pinnumber=61 T 9600 8350 9 8 1 1 90 6 1 pinlabel=P1.6/CA0 T 9650 8500 5 8 0 1 90 2 1 pinseq=61 T 9600 8350 5 8 0 1 90 8 1 pintype=io } P 9200 8400 9200 8700 1 0 1 { T 9150 8500 5 8 1 1 90 0 1 pinnumber=62 T 9200 8350 9 8 1 1 90 6 1 pinlabel=P1.5/TACLK/ACLK T 9250 8500 5 8 0 1 90 2 1 pinseq=62 T 9200 8350 5 8 0 1 90 8 1 pintype=io } P 8800 8400 8800 8700 1 0 1 { T 8750 8500 5 8 1 1 90 0 1 pinnumber=63 T 8800 8350 9 8 1 1 90 6 1 pinlabel=P1.4/TBCLK/SMCLK T 8850 8500 5 8 0 1 90 2 1 pinseq=63 T 8800 8350 5 8 0 1 90 8 1 pintype=io } P 8400 8400 8400 8700 1 0 1 { T 8350 8500 5 8 1 1 90 0 1 pinnumber=64 T 8400 8350 9 8 1 1 90 6 1 pinlabel=P1.3/TBOUTH/SVSOUT T 8450 8500 5 8 0 1 90 2 1 pinseq=64 T 8400 8350 5 8 0 1 90 8 1 pintype=io } P 8000 8400 8000 8700 1 0 1 { T 7950 8500 5 8 1 1 90 0 1 pinnumber=65 T 8000 8350 9 8 1 1 90 6 1 pinlabel=P1.2/TA1 T 8050 8500 5 8 0 1 90 2 1 pinseq=65 T 8000 8350 5 8 0 1 90 8 1 pintype=io } P 7600 8400 7600 8700 1 0 1 { T 7550 8500 5 8 1 1 90 0 1 pinnumber=66 T 7600 8350 9 8 1 1 90 6 1 pinlabel=P1.1/TA0/MCLK T 7650 8500 5 8 0 1 90 2 1 pinseq=66 T 7600 8350 5 8 0 1 90 8 1 pintype=io } P 7200 8400 7200 8700 1 0 1 { T 7150 8500 5 8 1 1 90 0 1 pinnumber=67 T 7200 8350 9 8 1 1 90 6 1 pinlabel=P1.0/TA0 T 7250 8500 5 8 0 1 90 2 1 pinseq=67 T 7200 8350 5 8 0 1 90 8 1 pintype=io } P 6800 8400 6800 8700 1 0 1 { T 6750 8500 5 8 1 1 90 0 1 pinnumber=68 T 6800 8350 9 8 1 1 90 6 1 pinlabel=XT2OUT T 6850 8500 5 8 0 1 90 2 1 pinseq=68 T 6800 8350 5 8 0 1 90 8 1 pintype=out } P 6400 8400 6400 8700 1 0 1 { T 6350 8500 5 8 1 1 90 0 1 pinnumber=69 T 6400 8350 9 8 1 1 90 6 1 pinlabel=XT2IN T 6450 8500 5 8 0 1 90 2 1 pinseq=69 T 6400 8350 5 8 0 1 90 8 1 pintype=in } P 6000 8400 6000 8700 1 0 1 { T 5950 8500 5 8 1 1 90 0 1 pinnumber=70 T 6000 8350 9 8 1 1 90 6 1 pinlabel=TDO/TDI T 6050 8500 5 8 0 1 90 2 1 pinseq=70 T 6000 8350 5 8 0 1 90 8 1 pintype=io } P 5600 8400 5600 8700 1 0 1 { T 5550 8500 5 8 1 1 90 0 1 pinnumber=71 T 5600 8350 9 8 1 1 90 6 1 pinlabel=TDI T 5650 8500 5 8 0 1 90 2 1 pinseq=71 T 5600 8350 5 8 0 1 90 8 1 pintype=in } P 5200 8400 5200 8700 1 0 1 { T 5150 8500 5 8 1 1 90 0 1 pinnumber=72 T 5200 8350 9 8 1 1 90 6 1 pinlabel=TMS T 5250 8500 5 8 0 1 90 2 1 pinseq=72 T 5200 8350 5 8 0 1 90 8 1 pintype=in } P 4800 8400 4800 8700 1 0 1 { T 4750 8500 5 8 1 1 90 0 1 pinnumber=73 T 4800 8350 9 8 1 1 90 6 1 pinlabel=TCK T 4850 8500 5 8 0 1 90 2 1 pinseq=73 T 4800 8350 5 8 0 1 90 8 1 pintype=in } P 4400 8500 4400 8700 1 0 1 { T 4350 8500 5 8 1 1 90 0 1 pinnumber=74 T 4400 8350 9 8 1 1 90 6 1 pinlabel=\_RST\_/NMI T 4450 8500 5 8 0 1 90 2 1 pinseq=74 T 4400 8350 5 8 0 1 90 8 1 pintype=in } P 4000 8400 4000 8700 1 0 1 { T 3950 8500 5 8 1 1 90 0 1 pinnumber=75 T 4000 8350 9 8 1 1 90 6 1 pinlabel=P6.0/A0 T 4050 8500 5 8 0 1 90 2 1 pinseq=75 T 4000 8350 5 8 0 1 90 8 1 pintype=io } P 3600 8400 3600 8700 1 0 1 { T 3550 8500 5 8 1 1 90 0 1 pinnumber=76 T 3600 8350 9 8 1 1 90 6 1 pinlabel=P6.1/A1 T 3650 8500 5 8 0 1 90 2 1 pinseq=76 T 3600 8350 5 8 0 1 90 8 1 pintype=io } P 3200 8400 3200 8700 1 0 1 { T 3150 8500 5 8 1 1 90 0 1 pinnumber=77 T 3200 8350 9 8 1 1 90 6 1 pinlabel=P6.2/A2 T 3250 8500 5 8 0 1 90 2 1 pinseq=77 T 3200 8350 5 8 0 1 90 8 1 pintype=io } P 2800 8400 2800 8700 1 0 1 { T 2750 8500 5 8 1 1 90 0 1 pinnumber=78 T 2800 8350 9 8 1 1 90 6 1 pinlabel=AVss T 2850 8500 5 8 0 1 90 2 1 pinseq=78 T 2800 8350 5 8 0 1 90 8 1 pintype=pwr } P 2400 8400 2400 8700 1 0 1 { T 2350 8500 5 8 1 1 90 0 1 pinnumber=79 T 2400 8350 9 8 1 1 90 6 1 pinlabel=DVss T 2450 8500 5 8 0 1 90 2 1 pinseq=79 T 2400 8350 5 8 0 1 90 8 1 pintype=pwr } P 2000 8400 2000 8700 1 0 1 { T 1950 8500 5 8 1 1 90 0 1 pinnumber=80 T 2000 8350 9 8 1 1 90 6 1 pinlabel=AVcc T 2050 8500 5 8 0 1 90 2 1 pinseq=80 T 2000 8350 5 8 0 1 90 8 1 pintype=pwr } T 2700 5650 5 10 0 0 0 0 1 footprint=none T 2700 5450 5 10 0 0 0 0 1 numslots=0 T 400 8450 3 10 1 0 0 0 1 MSP430x43x T 2700 6075 5 10 0 0 0 0 1 description=16-bit mixed mode microcontroller V 4400 8450 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2700 5250 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/msp430f435.pdf geda-gaf-1.8.2/symbols/micro/ATmega163_DIP.sym0000664000175000017500000001607612204104272015523 00000000000000v 20070626 1 T 3000 7500 8 10 1 1 0 6 1 refdes=U? T 400 7650 5 10 0 0 0 0 1 device=ATmega163_DIP T 400 7850 5 10 0 0 0 0 1 footprint=DIP40 T 400 8050 5 10 0 0 0 0 1 net=Vcc:10 T 400 8250 5 10 0 0 0 0 1 net=GND:11 T 400 8450 5 10 0 0 0 0 1 net=AVcc:30 T 400 8650 5 10 0 0 0 0 1 net=AGND:31 P 2600 100 2600 300 1 0 0 { T 2650 200 5 8 1 1 0 0 1 pinnumber=9 T 2650 200 5 8 0 1 0 2 1 pinseq=1 T 2600 450 9 8 1 1 0 3 1 pinlabel=\_Reset\_ T 2600 600 5 8 0 1 0 3 1 pintype=in } V 2600 350 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 100 2000 400 1 0 0 { T 2050 200 5 8 1 1 0 0 1 pinnumber=12 T 2050 200 5 8 0 1 0 2 1 pinseq=2 T 2000 450 9 8 1 1 0 3 1 pinlabel=XTAL2 T 2000 600 5 8 0 1 0 3 1 pintype=out } P 1400 100 1400 400 1 0 0 { T 1450 200 5 8 1 1 0 0 1 pinnumber=13 T 1450 200 5 8 0 1 0 2 1 pinseq=3 T 1400 450 9 8 1 1 0 3 1 pinlabel=XTAL1 T 1400 600 5 8 0 1 0 3 1 pintype=in } P 800 100 800 400 1 0 0 { T 850 200 5 8 1 1 0 0 1 pinnumber=32 T 850 200 5 8 0 1 0 2 1 pinseq=4 T 800 450 9 8 1 1 0 3 1 pinlabel=AREF T 800 600 5 8 0 1 0 3 1 pintype=in } P 100 800 400 800 1 0 0 { T 300 850 5 8 1 1 0 6 1 pinnumber=21 T 300 750 5 8 0 1 0 8 1 pinseq=5 T 450 800 9 8 1 1 0 0 1 pinlabel=PD7 (OC2) T 450 800 5 8 0 1 0 2 1 pintype=io } P 100 1200 400 1200 1 0 0 { T 300 1250 5 8 1 1 0 6 1 pinnumber=20 T 300 1150 5 8 0 1 0 8 1 pinseq=6 T 450 1200 9 8 1 1 0 0 1 pinlabel=PD6 (ICP) T 450 1200 5 8 0 1 0 2 1 pintype=io } P 100 1600 400 1600 1 0 0 { T 300 1650 5 8 1 1 0 6 1 pinnumber=19 T 300 1550 5 8 0 1 0 8 1 pinseq=7 T 450 1600 9 8 1 1 0 0 1 pinlabel=PD5 (OC1A) T 450 1600 5 8 0 1 0 2 1 pintype=io } P 100 2000 400 2000 1 0 0 { T 300 2050 5 8 1 1 0 6 1 pinnumber=18 T 300 1950 5 8 0 1 0 8 1 pinseq=8 T 450 2000 9 8 1 1 0 0 1 pinlabel=PD4 (OC1B) T 450 2000 5 8 0 1 0 2 1 pintype=io } P 100 2400 400 2400 1 0 0 { T 300 2450 5 8 1 1 0 6 1 pinnumber=17 T 300 2350 5 8 0 1 0 8 1 pinseq=9 T 450 2400 9 8 1 1 0 0 1 pinlabel=PD3 (INT1) T 450 2400 5 8 0 1 0 2 1 pintype=io } P 100 2800 400 2800 1 0 0 { T 300 2850 5 8 1 1 0 6 1 pinnumber=16 T 300 2750 5 8 0 1 0 8 1 pinseq=10 T 450 2800 9 8 1 1 0 0 1 pinlabel=PD2 (INT0) T 450 2800 5 8 0 1 0 2 1 pintype=io } P 100 3200 400 3200 1 0 0 { T 300 3250 5 8 1 1 0 6 1 pinnumber=15 T 300 3150 5 8 0 1 0 8 1 pinseq=11 T 450 3200 9 8 1 1 0 0 1 pinlabel=PD1 (TXD) T 450 3200 5 8 0 1 0 2 1 pintype=io } P 100 3600 400 3600 1 0 0 { T 300 3650 5 8 1 1 0 6 1 pinnumber=14 T 300 3550 5 8 0 1 0 8 1 pinseq=12 T 450 3600 9 8 1 1 0 0 1 pinlabel=PD0 (RXD) T 450 3600 5 8 0 1 0 2 1 pintype=io } P 100 4200 400 4200 1 0 0 { T 300 4250 5 8 1 1 0 6 1 pinnumber=8 T 300 4150 5 8 0 1 0 8 1 pinseq=13 T 450 4200 9 8 1 1 0 0 1 pinlabel=PB7 (SCK) T 450 4200 5 8 0 1 0 2 1 pintype=io } P 100 4600 400 4600 1 0 0 { T 300 4650 5 8 1 1 0 6 1 pinnumber=7 T 300 4550 5 8 0 1 0 8 1 pinseq=14 T 450 4600 9 8 1 1 0 0 1 pinlabel=PB6 (MISO) T 450 4600 5 8 0 1 0 2 1 pintype=io } P 100 5000 400 5000 1 0 0 { T 300 5050 5 8 1 1 0 6 1 pinnumber=6 T 300 4950 5 8 0 1 0 8 1 pinseq=15 T 450 5000 9 8 1 1 0 0 1 pinlabel=PB5 (MOSI) T 450 5000 5 8 0 1 0 2 1 pintype=io } P 100 5400 400 5400 1 0 0 { T 300 5450 5 8 1 1 0 6 1 pinnumber=5 T 300 5350 5 8 0 1 0 8 1 pinseq=16 T 450 5400 9 8 1 1 0 0 1 pinlabel=PB4 (\_SS\_) T 450 5400 5 8 0 1 0 2 1 pintype=io } P 100 5800 400 5800 1 0 0 { T 300 5850 5 8 1 1 0 6 1 pinnumber=4 T 300 5750 5 8 0 1 0 8 1 pinseq=17 T 450 5800 9 8 1 1 0 0 1 pinlabel=PB3 (AIN1) T 450 5800 5 8 0 1 0 2 1 pintype=io } P 100 6200 400 6200 1 0 0 { T 300 6250 5 8 1 1 0 6 1 pinnumber=3 T 300 6150 5 8 0 1 0 8 1 pinseq=18 T 450 6200 9 8 1 1 0 0 1 pinlabel=PB2 (AIN0) T 450 6200 5 8 0 1 0 2 1 pintype=io } P 100 6600 400 6600 1 0 0 { T 300 6650 5 8 1 1 0 6 1 pinnumber=2 T 300 6550 5 8 0 1 0 8 1 pinseq=19 T 450 6600 9 8 1 1 0 0 1 pinlabel=PB1 (T1) T 450 6600 5 8 0 1 0 2 1 pintype=io } P 100 7000 400 7000 1 0 0 { T 300 7050 5 8 1 1 0 6 1 pinnumber=1 T 300 6950 5 8 0 1 0 8 1 pinseq=20 T 450 7000 9 8 1 1 0 0 1 pinlabel=PB0 (T0) T 450 7000 5 8 0 1 0 2 1 pintype=io } P 3300 800 3000 800 1 0 0 { T 3100 850 5 8 1 1 0 0 1 pinnumber=29 T 3100 750 5 8 0 1 0 2 1 pinseq=21 T 2950 800 9 8 1 1 0 6 1 pinlabel=(TOSC2) PC7 T 2950 800 5 8 0 1 0 8 1 pintype=io } P 3300 1200 3000 1200 1 0 0 { T 3100 1250 5 8 1 1 0 0 1 pinnumber=28 T 3100 1150 5 8 0 1 0 2 1 pinseq=22 T 2950 1200 9 8 1 1 0 6 1 pinlabel=(TOSC1) PC6 T 2950 1200 5 8 0 1 0 8 1 pintype=io } P 3300 1600 3000 1600 1 0 0 { T 3100 1650 5 8 1 1 0 0 1 pinnumber=27 T 3100 1550 5 8 0 1 0 2 1 pinseq=23 T 2950 1600 9 8 1 1 0 6 1 pinlabel=PC5 T 2950 1600 5 8 0 1 0 8 1 pintype=io } P 3300 2000 3000 2000 1 0 0 { T 3100 2050 5 8 1 1 0 0 1 pinnumber=26 T 3100 1950 5 8 0 1 0 2 1 pinseq=24 T 2950 2000 9 8 1 1 0 6 1 pinlabel=PC4 T 2950 2000 5 8 0 1 0 8 1 pintype=io } P 3300 2400 3000 2400 1 0 0 { T 3100 2450 5 8 1 1 0 0 1 pinnumber=25 T 3100 2350 5 8 0 1 0 2 1 pinseq=25 T 2950 2400 9 8 1 1 0 6 1 pinlabel=PC3 T 2950 2400 5 8 0 1 0 8 1 pintype=io } P 3300 2800 3000 2800 1 0 0 { T 3100 2850 5 8 1 1 0 0 1 pinnumber=24 T 3100 2750 5 8 0 1 0 2 1 pinseq=26 T 2950 2800 9 8 1 1 0 6 1 pinlabel=PC2 T 2950 2800 5 8 0 1 0 8 1 pintype=io } P 3300 3200 3000 3200 1 0 0 { T 3100 3250 5 8 1 1 0 0 1 pinnumber=23 T 3100 3150 5 8 0 1 0 2 1 pinseq=27 T 2950 3200 9 8 1 1 0 6 1 pinlabel=(SDA) PC1 T 2950 3200 5 8 0 1 0 8 1 pintype=io } P 3300 3600 3000 3600 1 0 0 { T 3100 3650 5 8 1 1 0 0 1 pinnumber=22 T 3100 3550 5 8 0 1 0 2 1 pinseq=28 T 2950 3600 9 8 1 1 0 6 1 pinlabel=(SCL) PC0 T 2950 3600 5 8 0 1 0 8 1 pintype=io } P 3300 4200 3000 4200 1 0 0 { T 3100 4250 5 8 1 1 0 0 1 pinnumber=33 T 3100 4150 5 8 0 1 0 2 1 pinseq=29 T 2950 4200 9 8 1 1 0 6 1 pinlabel=(ADC7) PA7 T 2950 4200 5 8 0 1 0 8 1 pintype=io } P 3300 4600 3000 4600 1 0 0 { T 3100 4650 5 8 1 1 0 0 1 pinnumber=34 T 3100 4550 5 8 0 1 0 2 1 pinseq=30 T 2950 4600 9 8 1 1 0 6 1 pinlabel=(ADC6) PA6 T 2950 4600 5 8 0 1 0 8 1 pintype=io } P 3300 5000 3000 5000 1 0 0 { T 3100 5050 5 8 1 1 0 0 1 pinnumber=35 T 3100 4950 5 8 0 1 0 2 1 pinseq=31 T 2950 5000 9 8 1 1 0 6 1 pinlabel=(ADC5) PA5 T 2950 5000 5 8 0 1 0 8 1 pintype=io } P 3300 5400 3000 5400 1 0 0 { T 3100 5450 5 8 1 1 0 0 1 pinnumber=36 T 3100 5350 5 8 0 1 0 2 1 pinseq=32 T 2950 5400 9 8 1 1 0 6 1 pinlabel=(ADC4) PA4 T 2950 5400 5 8 0 1 0 8 1 pintype=io } P 3300 5800 3000 5800 1 0 0 { T 3100 5850 5 8 1 1 0 0 1 pinnumber=37 T 3100 5750 5 8 0 1 0 2 1 pinseq=33 T 2950 5800 9 8 1 1 0 6 1 pinlabel=(ADC3) PA3 T 2950 5800 5 8 0 1 0 8 1 pintype=io } P 3300 6200 3000 6200 1 0 0 { T 3100 6250 5 8 1 1 0 0 1 pinnumber=38 T 3100 6150 5 8 0 1 0 2 1 pinseq=34 T 2950 6200 9 8 1 1 0 6 1 pinlabel=(ADC2) PA2 T 2950 6200 5 8 0 1 0 8 1 pintype=io } P 3300 6600 3000 6600 1 0 0 { T 3100 6650 5 8 1 1 0 0 1 pinnumber=39 T 3100 6550 5 8 0 1 0 2 1 pinseq=35 T 2950 6600 9 8 1 1 0 6 1 pinlabel=(ADC1) PA1 T 2950 6600 5 8 0 1 0 8 1 pintype=io } P 3300 7000 3000 7000 1 0 0 { T 3100 7050 5 8 1 1 0 0 1 pinnumber=40 T 3100 6950 5 8 0 1 0 2 1 pinseq=36 T 2950 7000 9 8 1 1 0 6 1 pinlabel=(ADC0) PA0 T 2950 7000 5 8 0 1 0 8 1 pintype=io } B 400 400 2600 7000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 8850 5 10 0 0 0 0 1 description=8-bit RISC micro controller (Atmel) T 400 9050 5 10 0 0 0 0 1 numslots=0 T 400 9250 5 10 0 0 0 0 1 author=Werner Hoch T 400 7450 9 10 1 0 0 0 1 ATmega163 geda-gaf-1.8.2/symbols/micro/ACE1202-1.sym0000664000175000017500000000577112204104272014472 00000000000000v 20070626 1 B 300 0 2300 2800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 3050 5 10 0 0 0 0 1 device=ACE1202LN14 P 300 2600 0 2600 1 0 1 { T 200 2650 5 8 1 1 0 6 1 pinnumber=1 T 200 2550 5 8 0 1 0 8 1 pinseq=1 T 350 2600 5 8 0 1 0 2 1 pintype=io T 350 2600 9 8 1 1 0 0 1 pinlabel=G3 (LOAD) } P 300 2200 0 2200 1 0 1 { T 200 2250 5 8 1 1 0 6 1 pinnumber=2 T 200 2150 5 8 0 1 0 8 1 pinseq=2 T 350 2200 5 8 0 1 0 2 1 pintype=io T 350 2200 9 8 1 1 0 0 1 pinlabel=G4 (SFT_IN) } P 300 1800 0 1800 1 0 1 { T 200 1850 5 8 1 1 0 6 1 pinnumber=3 T 200 1750 5 8 0 1 0 8 1 pinseq=3 T 350 1800 5 8 0 1 0 2 1 pintype=io T 350 1800 9 8 1 1 0 0 1 pinlabel=NC } P 300 1400 0 1400 1 0 1 { T 200 1450 5 8 1 1 0 6 1 pinnumber=4 T 200 1350 5 8 0 1 0 8 1 pinseq=4 T 350 1400 5 8 0 1 0 2 1 pintype=io T 350 1400 9 8 1 1 0 0 1 pinlabel=G6 } P 300 1000 0 1000 1 0 1 { T 200 1050 5 8 1 1 0 6 1 pinnumber=5 T 200 950 5 8 0 1 0 8 1 pinseq=5 T 350 1000 5 8 0 1 0 2 1 pintype=io T 350 1000 9 8 1 1 0 0 1 pinlabel=G7 } P 300 600 0 600 1 0 1 { T 200 650 5 8 1 1 0 6 1 pinnumber=6 T 200 550 5 8 0 1 0 8 1 pinseq=6 T 350 600 5 8 0 1 0 2 1 pintype=io T 350 600 9 8 1 1 0 0 1 pinlabel=G5 (VCC) } P 300 200 0 200 1 0 1 { T 200 250 5 8 1 1 0 6 1 pinnumber=7 T 200 150 5 8 0 1 0 8 1 pinseq=7 T 350 200 5 8 0 1 0 2 1 pintype=io T 350 200 9 8 1 1 0 0 1 pinlabel=G0 } P 2900 200 2600 200 1 0 0 { T 2700 250 5 8 1 1 0 0 1 pinnumber=8 T 2700 150 5 8 0 1 0 2 1 pinseq=8 T 2550 200 5 8 0 1 0 8 1 pintype=io T 2550 200 9 8 1 1 0 6 1 pinlabel=(CKI) G1 } P 2900 600 2700 600 1 0 0 { T 2700 650 5 8 1 1 0 0 1 pinnumber=9 T 2700 550 5 8 0 1 0 2 1 pinseq=9 T 2550 600 5 8 0 1 0 8 1 pintype=in T 2550 600 9 8 1 1 0 6 1 pinlabel=\_RESET\_ } P 2900 1000 2600 1000 1 0 0 { T 2700 1050 5 8 1 1 0 0 1 pinnumber=10 T 2700 950 5 8 0 1 0 2 1 pinseq=10 T 2550 1000 5 8 0 1 0 8 1 pintype=pas T 2550 1000 9 8 1 1 0 6 1 pinlabel=NC } P 2900 1400 2600 1400 1 0 0 { T 2700 1450 5 8 1 1 0 0 1 pinnumber=11 T 2700 1350 5 8 0 1 0 2 1 pinseq=11 T 2550 1400 5 8 0 1 0 8 1 pintype=io T 2550 1400 9 8 1 1 0 6 1 pinlabel=(SFT_OUT) G2 } P 2900 1800 2600 1800 1 0 0 { T 2700 1850 5 8 1 1 0 0 1 pinnumber=12 T 2700 1750 5 8 0 1 0 2 1 pinseq=12 T 2550 1800 5 8 0 1 0 8 1 pintype=pas T 2550 1800 9 8 1 1 0 6 1 pinlabel=NC } P 2900 2200 2600 2200 1 0 0 { T 2700 2250 5 8 1 1 0 0 1 pinnumber=13 T 2700 2150 5 8 0 1 0 2 1 pinseq=13 T 2550 2200 5 8 0 1 0 8 1 pintype=pwr T 2550 2200 9 8 1 1 0 6 1 pinlabel=GND } P 2600 2600 2900 2600 1 0 1 { T 2700 2650 5 8 1 1 0 0 1 pinnumber=14 T 2700 2550 5 8 0 1 0 2 1 pinseq=14 T 2550 2600 5 8 0 1 0 8 1 pintype=pwr T 2550 2600 9 8 1 1 0 6 1 pinlabel=VCC } V 2650 600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2600 2900 8 10 1 1 0 6 1 refdes=U? T 300 3450 5 10 0 0 0 0 1 footprint=DIP14 T 300 3250 5 10 0 0 0 0 1 numslots=0 T 300 3650 5 10 0 0 0 0 1 description=8-bit micro controller for low power applications (FAIRCHILD) T 300 3850 5 10 0 0 0 0 1 net=GND:13 T 300 4050 5 10 0 0 0 0 1 net=Vcc:14 T 300 2850 9 8 1 0 0 0 1 ACE1202LN14 T 300 4250 5 10 0 0 0 0 1 documentation=http://www.fairchildsemi.com/ds/AC/ACE1202.pdf geda-gaf-1.8.2/symbols/micro/sx28ac-1.sym0000664000175000017500000001134612204104272014700 00000000000000v 20070626 1 P 0 4100 300 4100 1 0 0 { T 200 4150 5 8 1 1 0 6 1 pinnumber=1 T 200 4050 5 8 0 1 0 8 1 pinseq=1 T 350 4100 9 8 1 1 0 0 1 pinlabel=RTCC T 350 4100 5 8 0 1 0 2 1 pintype=in } P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=6 T 200 2550 5 8 0 1 0 8 1 pinseq=6 T 350 2600 9 8 1 1 0 0 1 pinlabel=RA0 T 350 2600 5 8 0 1 0 2 1 pintype=io } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=7 T 200 2250 5 8 0 1 0 8 1 pinseq=7 T 350 2300 9 8 1 1 0 0 1 pinlabel=RA1 T 350 2300 5 8 0 1 0 2 1 pintype=io } P 0 2000 300 2000 1 0 0 { T 200 2050 5 8 1 1 0 6 1 pinnumber=8 T 200 1950 5 8 0 1 0 8 1 pinseq=8 T 350 2000 9 8 1 1 0 0 1 pinlabel=RA2 T 350 2000 5 8 0 1 0 2 1 pintype=io } P 0 1700 300 1700 1 0 0 { T 200 1750 5 8 1 1 0 6 1 pinnumber=9 T 200 1650 5 8 0 1 0 8 1 pinseq=9 T 350 1700 9 8 1 1 0 0 1 pinlabel=RA3 T 350 1700 5 8 0 1 0 2 1 pintype=io } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=10 T 200 1350 5 8 0 1 0 8 1 pinseq=10 T 350 1400 9 8 1 1 0 0 1 pinlabel=RB0 T 350 1400 5 8 0 1 0 2 1 pintype=io } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=11 T 200 1050 5 8 0 1 0 8 1 pinseq=11 T 350 1100 9 8 1 1 0 0 1 pinlabel=RB1 T 350 1100 5 8 0 1 0 2 1 pintype=io } P 0 800 300 800 1 0 0 { T 200 850 5 8 1 1 0 6 1 pinnumber=12 T 200 750 5 8 0 1 0 8 1 pinseq=12 T 350 800 9 8 1 1 0 0 1 pinlabel=RB2 T 350 800 5 8 0 1 0 2 1 pintype=io } P 0 500 300 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=13 T 200 450 5 8 0 1 0 8 1 pinseq=13 T 350 500 9 8 1 1 0 0 1 pinlabel=RB3 T 350 500 5 8 0 1 0 2 1 pintype=io } P 2300 2600 2600 2600 1 0 1 { T 2400 2650 5 8 1 1 0 0 1 pinnumber=23 T 2400 2550 5 8 0 1 0 2 1 pinseq=23 T 2250 2600 9 8 1 1 0 6 1 pinlabel=RC5 T 2250 2600 5 8 0 1 0 8 1 pintype=io } P 2300 2000 2600 2000 1 0 1 { T 2400 2050 5 8 1 1 0 0 1 pinnumber=21 T 2400 1950 5 8 0 1 0 2 1 pinseq=21 T 2250 2000 9 8 1 1 0 6 1 pinlabel=RC3 T 2250 2000 5 8 0 1 0 8 1 pintype=io } P 2300 1400 2600 1400 1 0 1 { T 2400 1450 5 8 1 1 0 0 1 pinnumber=19 T 2400 1350 5 8 0 1 0 2 1 pinseq=19 T 2250 1400 9 8 1 1 0 6 1 pinlabel=RC1 T 2250 1400 5 8 0 1 0 8 1 pintype=io } P 2300 1100 2600 1100 1 0 1 { T 2400 1150 5 8 1 1 0 0 1 pinnumber=18 T 2400 1050 5 8 0 1 0 2 1 pinseq=18 T 2250 1100 9 8 1 1 0 6 1 pinlabel=RC0 T 2250 1100 5 8 0 1 0 8 1 pintype=io } P 2300 800 2600 800 1 0 1 { T 2400 850 5 8 1 1 0 0 1 pinnumber=17 T 2400 750 5 8 0 1 0 2 1 pinseq=17 T 2250 800 9 8 1 1 0 6 1 pinlabel=RB7 T 2250 800 5 8 0 1 0 8 1 pintype=io } P 2300 500 2600 500 1 0 1 { T 2400 550 5 8 1 1 0 0 1 pinnumber=16 T 2400 450 5 8 0 1 0 2 1 pinseq=16 T 2250 500 9 8 1 1 0 6 1 pinlabel=RB6 T 2250 500 5 8 0 1 0 8 1 pintype=io } P 2300 200 2600 200 1 0 1 { T 2400 250 5 8 1 1 0 0 1 pinnumber=15 T 2400 150 5 8 0 1 0 2 1 pinseq=15 T 2250 200 9 8 1 1 0 6 1 pinlabel=RB5 T 2250 200 5 8 0 1 0 8 1 pintype=io } T 300 4650 5 10 0 0 0 0 1 device=SX28AC P 2300 1700 2600 1700 1 0 1 { T 2400 1750 5 8 1 1 0 0 1 pinnumber=20 T 2400 1650 5 8 0 1 0 2 1 pinseq=20 T 2250 1700 9 8 1 1 0 6 1 pinlabel=RC2 T 2250 1700 5 8 0 1 0 8 1 pintype=io } P 2300 2300 2600 2300 1 0 1 { T 2400 2350 5 8 1 1 0 0 1 pinnumber=22 T 2400 2250 5 8 0 1 0 2 1 pinseq=22 T 2250 2300 9 8 1 1 0 6 1 pinlabel=RC4 T 2250 2300 5 8 0 1 0 8 1 pintype=io } P 2300 2900 2600 2900 1 0 1 { T 2400 2950 5 8 1 1 0 0 1 pinnumber=24 T 2400 2850 5 8 0 1 0 2 1 pinseq=24 T 2250 2900 9 8 1 1 0 6 1 pinlabel=RC6 T 2250 2900 5 8 0 1 0 8 1 pintype=io } P 2300 3200 2600 3200 1 0 1 { T 2400 3250 5 8 1 1 0 0 1 pinnumber=25 T 2400 3150 5 8 0 1 0 2 1 pinseq=25 T 2250 3200 9 8 1 1 0 6 1 pinlabel=RC7 T 2250 3200 5 8 0 1 0 8 1 pintype=io } P 2300 3500 2600 3500 1 0 1 { T 2400 3550 5 8 1 1 0 0 1 pinnumber=26 T 2400 3450 5 8 0 1 0 2 1 pinseq=26 T 2250 3500 9 8 1 1 0 6 1 pinlabel=OSC2 T 2250 3500 5 8 0 1 0 8 1 pintype=out } P 2300 3800 2600 3800 1 0 1 { T 2400 3850 5 8 1 1 0 0 1 pinnumber=27 T 2400 3750 5 8 0 1 0 2 1 pinseq=27 T 2250 3800 9 8 1 1 0 6 1 pinlabel=OSC1 T 2250 3800 5 8 0 1 0 8 1 pintype=in } P 2400 4100 2600 4100 1 0 1 { T 2400 4150 5 8 1 1 0 0 1 pinnumber=28 T 2400 4050 5 8 0 1 0 2 1 pinseq=28 T 2250 4100 9 8 1 1 0 6 1 pinlabel=\_MCLR\_ T 2250 4100 5 8 0 1 0 8 1 pintype=in } V 2350 4100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=14 T 200 150 5 8 0 1 0 8 1 pinseq=14 T 350 200 9 8 1 1 0 0 1 pinlabel=RB4 T 350 200 5 8 0 1 0 2 1 pintype=io } B 300 0 2000 4400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2300 4500 8 10 1 1 0 6 1 refdes=U? T 300 5050 5 10 0 0 0 0 1 footprint=DIP28 T 300 5250 5 10 0 0 0 0 1 description=8-bit configurable communication controller T 300 4850 5 10 0 0 0 0 1 numslots=0 T 300 5450 5 10 0 0 0 0 1 net=Vcc:2 T 300 5650 5 10 0 0 0 0 1 net=GND:4 T 300 4450 9 10 1 0 0 0 1 SX28AC T 300 5850 5 10 0 0 0 0 1 documentation=http://www.scenix.com/pdfs/products/sx/processor/SX-DDS-SX2028AC-16.pdf geda-gaf-1.8.2/symbols/micro/DS80C310-1.sym0000664000175000017500000001672212204104272014600 00000000000000v 20070626 1 T 2400 8500 8 10 1 1 0 6 1 refdes=U? T 400 8650 5 10 0 0 0 0 1 device=DS80C310_DIP T 400 8850 5 10 0 0 0 0 1 footprint=DIP40 T 400 9050 5 10 0 0 0 0 1 description=80C32 compatible micro controller T 400 9250 5 10 0 0 0 0 1 net=GND:20 T 400 9450 5 10 0 0 0 0 1 net=Vcc:40 P 2700 4800 2400 4800 1 0 0 { T 2500 4850 5 8 1 1 0 0 1 pinnumber=21 T 2500 4750 5 8 0 1 0 2 1 pinseq=1 T 2350 4800 9 8 1 1 0 6 1 pinlabel=(P2.0) A8 T 2350 4800 5 8 0 1 0 8 1 pintype=out } P 2700 4400 2400 4400 1 0 0 { T 2500 4450 5 8 1 1 0 0 1 pinnumber=22 T 2500 4350 5 8 0 1 0 2 1 pinseq=2 T 2350 4400 9 8 1 1 0 6 1 pinlabel=(P2.1) A9 T 2350 4400 5 8 0 1 0 8 1 pintype=out } P 2700 4000 2400 4000 1 0 0 { T 2500 4050 5 8 1 1 0 0 1 pinnumber=23 T 2500 3950 5 8 0 1 0 2 1 pinseq=3 T 2350 4000 9 8 1 1 0 6 1 pinlabel=(P2.2) A10 T 2350 4000 5 8 0 1 0 8 1 pintype=out } P 2700 3600 2400 3600 1 0 0 { T 2500 3650 5 8 1 1 0 0 1 pinnumber=24 T 2500 3550 5 8 0 1 0 2 1 pinseq=4 T 2350 3600 9 8 1 1 0 6 1 pinlabel=(P2.3) A11 T 2350 3600 5 8 0 1 0 8 1 pintype=out } P 2700 3200 2400 3200 1 0 0 { T 2500 3250 5 8 1 1 0 0 1 pinnumber=25 T 2500 3150 5 8 0 1 0 2 1 pinseq=5 T 2350 3200 9 8 1 1 0 6 1 pinlabel=(P2.4) A12 T 2350 3200 5 8 0 1 0 8 1 pintype=out } P 2700 2800 2400 2800 1 0 0 { T 2500 2850 5 8 1 1 0 0 1 pinnumber=26 T 2500 2750 5 8 0 1 0 2 1 pinseq=6 T 2350 2800 9 8 1 1 0 6 1 pinlabel=(P2.5) A13 T 2350 2800 5 8 0 1 0 8 1 pintype=out } P 2700 2400 2400 2400 1 0 0 { T 2500 2450 5 8 1 1 0 0 1 pinnumber=27 T 2500 2350 5 8 0 1 0 2 1 pinseq=7 T 2350 2400 9 8 1 1 0 6 1 pinlabel=(P2.6) A14 T 2350 2400 5 8 0 1 0 8 1 pintype=out } P 2700 2000 2400 2000 1 0 0 { T 2500 2050 5 8 1 1 0 0 1 pinnumber=28 T 2500 1950 5 8 0 1 0 2 1 pinseq=8 T 2350 2000 9 8 1 1 0 6 1 pinlabel=(P2.7) A15 T 2350 2000 5 8 0 1 0 8 1 pintype=out } P 2700 8000 2400 8000 1 0 0 { T 2500 8050 5 8 1 1 0 0 1 pinnumber=39 T 2500 7950 5 8 0 1 0 2 1 pinseq=9 T 2350 8000 9 8 1 1 0 6 1 pinlabel=(P0.0) AD0 T 2350 8000 5 8 0 1 0 8 1 pintype=io } P 2700 7600 2400 7600 1 0 0 { T 2500 7650 5 8 1 1 0 0 1 pinnumber=38 T 2500 7550 5 8 0 1 0 2 1 pinseq=10 T 2350 7600 9 8 1 1 0 6 1 pinlabel=(P0.1) AD1 T 2350 7600 5 8 0 1 0 8 1 pintype=io } P 2700 7200 2400 7200 1 0 0 { T 2500 7250 5 8 1 1 0 0 1 pinnumber=37 T 2500 7150 5 8 0 1 0 2 1 pinseq=11 T 2350 7200 9 8 1 1 0 6 1 pinlabel=(P0.2) AD2 T 2350 7200 5 8 0 1 0 8 1 pintype=io } P 2700 6800 2400 6800 1 0 0 { T 2500 6850 5 8 1 1 0 0 1 pinnumber=36 T 2500 6750 5 8 0 1 0 2 1 pinseq=12 T 2350 6800 9 8 1 1 0 6 1 pinlabel=(P0.3) AD3 T 2350 6800 5 8 0 1 0 8 1 pintype=io } P 2700 6400 2400 6400 1 0 0 { T 2500 6450 5 8 1 1 0 0 1 pinnumber=35 T 2500 6350 5 8 0 1 0 2 1 pinseq=13 T 2350 6400 9 8 1 1 0 6 1 pinlabel=(P0.4) AD4 T 2350 6400 5 8 0 1 0 8 1 pintype=io } P 2700 6000 2400 6000 1 0 0 { T 2500 6050 5 8 1 1 0 0 1 pinnumber=34 T 2500 5950 5 8 0 1 0 2 1 pinseq=14 T 2350 6000 9 8 1 1 0 6 1 pinlabel=(P0.5) AD5 T 2350 6000 5 8 0 1 0 8 1 pintype=io } P 2700 5600 2400 5600 1 0 0 { T 2500 5650 5 8 1 1 0 0 1 pinnumber=33 T 2500 5550 5 8 0 1 0 2 1 pinseq=15 T 2350 5600 9 8 1 1 0 6 1 pinlabel=(P0.6) AD6 T 2350 5600 5 8 0 1 0 8 1 pintype=io } P 2700 5200 2400 5200 1 0 0 { T 2500 5250 5 8 1 1 0 0 1 pinnumber=32 T 2500 5150 5 8 0 1 0 2 1 pinseq=16 T 2350 5200 9 8 1 1 0 6 1 pinlabel=(P0.7) AD7 T 2350 5200 5 8 0 1 0 8 1 pintype=io } P 2700 1600 2400 1600 1 0 0 { T 2500 1650 5 8 1 1 0 0 1 pinnumber=30 T 2500 1550 5 8 0 1 0 2 1 pinseq=17 T 2350 1600 9 8 1 1 0 6 1 pinlabel=ALE T 2350 1600 5 8 0 1 0 8 1 pintype=out } P 2700 1200 2500 1200 1 0 0 { T 2500 1250 5 8 1 1 0 0 1 pinnumber=31 T 2500 1150 5 8 0 1 0 2 1 pinseq=18 T 2350 1200 9 8 1 1 0 6 1 pinlabel=\_EA\_ T 2350 1200 5 8 0 1 0 8 1 pintype=in } V 2450 1200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2700 800 2500 800 1 0 0 { T 2500 850 5 8 1 1 0 0 1 pinnumber=29 T 2500 750 5 8 0 1 0 2 1 pinseq=19 T 2350 800 9 8 1 1 0 6 1 pinlabel=\_PSEN\_ T 2350 800 5 8 0 1 0 8 1 pintype=out } V 2450 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8000 400 8000 1 0 0 { T 300 8050 5 8 1 1 0 6 1 pinnumber=1 T 300 7950 5 8 0 1 0 8 1 pinseq=20 T 450 8000 9 8 1 1 0 0 1 pinlabel=P1.0 (T2) T 450 8000 5 8 0 1 0 2 1 pintype=io } P 100 7600 400 7600 1 0 0 { T 300 7650 5 8 1 1 0 6 1 pinnumber=2 T 300 7550 5 8 0 1 0 8 1 pinseq=21 T 450 7600 9 8 1 1 0 0 1 pinlabel=P1.1 (T2EX) T 450 7600 5 8 0 1 0 2 1 pintype=io } P 100 7200 400 7200 1 0 0 { T 300 7250 5 8 1 1 0 6 1 pinnumber=3 T 300 7150 5 8 0 1 0 8 1 pinseq=22 T 450 7200 9 8 1 1 0 0 1 pinlabel=P1.2 T 450 7200 5 8 0 1 0 2 1 pintype=io } P 100 6800 400 6800 1 0 0 { T 300 6850 5 8 1 1 0 6 1 pinnumber=4 T 300 6750 5 8 0 1 0 8 1 pinseq=23 T 450 6800 9 8 1 1 0 0 1 pinlabel=P1.3 T 450 6800 5 8 0 1 0 2 1 pintype=io } P 100 6400 400 6400 1 0 0 { T 300 6450 5 8 1 1 0 6 1 pinnumber=5 T 300 6350 5 8 0 1 0 8 1 pinseq=24 T 450 6400 9 8 1 1 0 0 1 pinlabel=P1.4 (INT2) T 450 6400 5 8 0 1 0 2 1 pintype=io } P 100 6000 400 6000 1 0 0 { T 300 6050 5 8 1 1 0 6 1 pinnumber=6 T 300 5950 5 8 0 1 0 8 1 pinseq=25 T 450 6000 9 8 1 1 0 0 1 pinlabel=P1.5 (\_INT3\_) T 450 6000 5 8 0 1 0 2 1 pintype=io } P 100 5600 400 5600 1 0 0 { T 300 5650 5 8 1 1 0 6 1 pinnumber=7 T 300 5550 5 8 0 1 0 8 1 pinseq=26 T 450 5600 9 8 1 1 0 0 1 pinlabel=P1.6 (INT4) T 450 5600 5 8 0 1 0 2 1 pintype=io } P 100 5200 400 5200 1 0 0 { T 300 5250 5 8 1 1 0 6 1 pinnumber=8 T 300 5150 5 8 0 1 0 8 1 pinseq=27 T 450 5200 9 8 1 1 0 0 1 pinlabel=P1.7 (\_INT5\_) T 450 5200 5 8 0 1 0 2 1 pintype=io } P 100 4800 400 4800 1 0 0 { T 300 4850 5 8 1 1 0 6 1 pinnumber=10 T 300 4750 5 8 0 1 0 8 1 pinseq=28 T 450 4800 9 8 1 1 0 0 1 pinlabel=P3.0 (RXD0) T 450 4800 5 8 0 1 0 2 1 pintype=io } P 100 4400 400 4400 1 0 0 { T 300 4450 5 8 1 1 0 6 1 pinnumber=11 T 300 4350 5 8 0 1 0 8 1 pinseq=29 T 450 4400 9 8 1 1 0 0 1 pinlabel=P3.1 (TXD0) T 450 4400 5 8 0 1 0 2 1 pintype=io } P 100 4000 400 4000 1 0 0 { T 300 4050 5 8 1 1 0 6 1 pinnumber=12 T 300 3950 5 8 0 1 0 8 1 pinseq=30 T 450 4000 9 8 1 1 0 0 1 pinlabel=P3.2 (\_INT0\_) T 450 4000 5 8 0 1 0 2 1 pintype=io } P 100 3600 400 3600 1 0 0 { T 300 3650 5 8 1 1 0 6 1 pinnumber=13 T 300 3550 5 8 0 1 0 8 1 pinseq=31 T 450 3600 9 8 1 1 0 0 1 pinlabel=P3.3 (\_INT1\_) T 450 3600 5 8 0 1 0 2 1 pintype=io } P 100 3200 400 3200 1 0 0 { T 300 3250 5 8 1 1 0 6 1 pinnumber=14 T 300 3150 5 8 0 1 0 8 1 pinseq=32 T 450 3200 9 8 1 1 0 0 1 pinlabel=P3.4 (T0) T 450 3200 5 8 0 1 0 2 1 pintype=io } P 100 2800 400 2800 1 0 0 { T 300 2850 5 8 1 1 0 6 1 pinnumber=15 T 300 2750 5 8 0 1 0 8 1 pinseq=33 T 450 2800 9 8 1 1 0 0 1 pinlabel=P3.5 (T1) T 450 2800 5 8 0 1 0 2 1 pintype=io } P 100 2400 400 2400 1 0 0 { T 300 2450 5 8 1 1 0 6 1 pinnumber=16 T 300 2350 5 8 0 1 0 8 1 pinseq=34 T 450 2400 9 8 1 1 0 0 1 pinlabel=P3.6 (\_WR\_) T 450 2400 5 8 0 1 0 2 1 pintype=io } P 100 2000 400 2000 1 0 0 { T 300 2050 5 8 1 1 0 6 1 pinnumber=17 T 300 1950 5 8 0 1 0 8 1 pinseq=35 T 450 2000 9 8 1 1 0 0 1 pinlabel=P3.7 (\_RD\_) T 450 2000 5 8 0 1 0 2 1 pintype=io } P 800 100 800 400 1 0 0 { T 850 200 5 8 1 1 0 0 1 pinnumber=9 T 850 200 5 8 0 1 0 2 1 pinseq=36 T 800 450 9 8 1 1 0 3 1 pinlabel=RST T 800 600 5 8 0 1 0 3 1 pintype=in } P 1400 100 1400 400 1 0 0 { T 1450 200 5 8 1 1 0 0 1 pinnumber=19 T 1450 200 5 8 0 1 0 2 1 pinseq=37 T 1400 450 9 8 1 1 0 3 1 pinlabel=XTAL1 T 1400 600 5 8 0 1 0 3 1 pintype=in } P 2000 100 2000 400 1 0 0 { T 2050 200 5 8 1 1 0 0 1 pinnumber=18 T 2050 200 5 8 0 1 0 2 1 pinseq=38 T 2000 450 9 8 1 1 0 3 1 pinlabel=XTAL2 T 2000 600 5 8 0 1 0 3 1 pintype=out } B 400 400 2000 8000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 9650 5 10 0 0 0 0 1 numslots=0 T 400 9850 5 10 0 0 0 0 1 author=Werner Hoch T 400 8450 9 10 1 0 0 0 1 DS80C310 geda-gaf-1.8.2/symbols/micro/TINIm390-RevD.sym0000664000175000017500000003010012204104272015431 00000000000000v 20031231 1 B 400 100 1500 11800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 450 11950 9 10 1 1 0 0 1 device=TINIm390-RevD T 1900 12000 8 10 1 1 0 0 1 refdes=U? T 450 12450 5 10 0 0 0 0 1 footprint=SIMM72 T 450 12650 5 10 0 0 0 0 1 description=Tini Verification Module m390 RevD T 450 12250 5 10 0 0 0 0 1 numslots=0 P 400 6500 100 6500 1 0 1 { T 220 6550 5 8 1 1 0 0 1 pinnumber=1 T 120 6450 5 8 0 0 0 1 1 pinseq=1 T 920 6450 5 8 0 0 0 1 1 pintype=in T 450 6500 9 8 1 1 0 1 1 pinlabel=IOS2 } P 400 7100 100 7100 1 0 1 { T 220 7150 5 8 1 1 0 0 1 pinnumber=2 T 120 7050 5 8 0 0 0 1 1 pinseq=2 T 920 7050 5 8 0 0 0 1 1 pintype=in T 450 7100 9 8 1 1 0 1 1 pinlabel=IOS0 } T 100 -1000 8 10 0 1 0 0 1 net=GND:3,4,5,6,7 P 400 11600 100 11600 1 0 1 { T 220 11650 5 8 1 1 0 0 1 pinnumber=8 T 120 11550 5 8 0 0 0 1 1 pinseq=8 T 920 11550 5 8 0 0 0 1 1 pintype=io T 450 11600 9 8 1 1 0 1 1 pinlabel=OWIO } P 400 2300 100 2300 1 0 1 { T 220 2350 5 8 1 1 0 0 1 pinnumber=9 T 120 2250 5 8 0 0 0 1 1 pinseq=9 T 920 2250 5 8 0 0 0 1 1 pintype=pwr T 450 2300 9 8 1 1 0 1 1 pinlabel=Vpp } P 400 10700 100 10700 1 0 1 { T 140 10750 5 8 1 1 0 0 1 pinnumber=10 T 140 10650 5 8 0 0 0 1 1 pinseq=10 T 940 10650 5 8 0 0 0 1 1 pintype=io T 450 10700 9 8 1 1 0 1 1 pinlabel=CTX } P 400 10400 100 10400 1 0 1 { T 140 10450 5 8 1 1 0 0 1 pinnumber=11 T 140 10350 5 8 0 0 0 1 1 pinseq=11 T 940 10350 5 8 0 0 0 1 1 pintype=io T 450 10400 9 8 1 1 0 1 1 pinlabel=CRX } V 350 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 300 800 100 800 1 0 1 { T 140 850 5 8 1 1 0 0 1 pinnumber=12 T 140 750 5 8 0 0 0 1 1 pinseq=12 T 940 750 5 8 0 0 0 1 1 pintype=out T 450 800 9 8 1 1 0 1 1 pinlabel=/CE0 } P 1900 3200 2200 3200 1 0 1 { T 2000 3250 5 8 1 1 0 0 1 pinnumber=13 T 2300 3250 5 8 0 0 0 1 1 pinseq=13 T 3100 3250 5 8 0 0 0 1 1 pintype=out T 1610 3200 9 8 1 1 0 1 1 pinlabel=A19 } P 400 9800 100 9800 1 0 1 { T 140 9850 5 8 1 1 0 0 1 pinnumber=14 T 140 9750 5 8 0 0 0 1 1 pinseq=14 T 940 9750 5 8 0 0 0 1 1 pintype=out T 450 9800 9 8 1 1 0 1 1 pinlabel=TX1 } P 400 9500 100 9500 1 0 1 { T 140 9550 5 8 1 1 0 0 1 pinnumber=15 T 140 9450 5 8 0 0 0 1 1 pinseq=15 T 940 9450 5 8 0 0 0 1 1 pintype=in T 450 9500 9 8 1 1 0 1 1 pinlabel=XRX1 } V 1950 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 800 2200 800 1 0 1 { T 2000 850 5 8 1 1 0 0 1 pinnumber=16 T 2300 850 5 8 0 0 0 1 1 pinseq=16 T 3100 850 5 8 0 0 0 1 1 pintype=out T 1510 800 9 8 1 1 0 1 1 pinlabel=/RD } P 400 11300 100 11300 1 0 1 { T 140 11350 5 8 1 1 0 0 1 pinnumber=17 T 140 11250 5 8 0 0 0 1 1 pinseq=17 T 940 11250 5 8 0 0 0 1 1 pintype=io T 450 11300 9 8 1 1 0 1 1 pinlabel=INTOW } P 400 2900 100 2900 1 0 1 { T 140 2950 5 8 1 1 0 0 1 pinnumber=18 T 140 2850 5 8 0 0 0 1 1 pinseq=18 T 940 2850 5 8 0 0 0 1 1 pintype=out T 450 2900 9 8 1 1 0 1 1 pinlabel=SMCRST } P 400 8300 100 8300 1 0 1 { T 140 8350 5 8 1 1 0 0 1 pinnumber=19 T 140 8250 5 8 0 0 0 1 1 pinseq=19 T 940 8250 5 8 0 0 0 1 1 pintype=out T 450 8300 9 8 1 1 0 1 1 pinlabel=TX232 } P 400 8000 100 8000 1 0 1 { T 140 8050 5 8 1 1 0 0 1 pinnumber=20 T 140 7950 5 8 0 0 0 1 1 pinseq=20 T 940 7950 5 8 0 0 0 1 1 pintype=in T 450 7910 9 8 1 1 0 1 1 pinlabel=RX232 } P 400 8900 100 8900 1 0 1 { T 140 8950 5 8 1 1 0 0 1 pinnumber=21 T 140 8850 5 8 0 0 0 1 1 pinseq=21 T 940 8850 5 8 0 0 0 1 1 pintype=out T 450 8900 9 8 1 1 0 1 1 pinlabel=TX } P 400 8600 100 8600 1 0 1 { T 140 8650 5 8 1 1 0 0 1 pinnumber=22 T 140 8550 5 8 0 0 0 1 1 pinseq=22 T 940 8550 5 8 0 0 0 1 1 pintype=in T 450 8600 9 8 1 1 0 1 1 pinlabel=XRX0 } V 350 3500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 300 3500 100 3500 1 0 1 { T 140 3550 5 8 1 1 0 0 1 pinnumber=23 T 140 3450 5 8 0 0 0 1 1 pinseq=23 T 940 3450 5 8 0 0 0 1 1 pintype=in T 450 3500 9 8 1 1 0 1 1 pinlabel=/EXTINT } P 400 3200 100 3200 1 0 1 { T 140 3250 5 8 1 1 0 0 1 pinnumber=24 T 140 3150 5 8 0 0 0 1 1 pinseq=24 T 940 3150 5 8 0 0 0 1 1 pintype=in T 450 3200 9 8 1 1 0 1 1 pinlabel=CPURST } P 400 7700 100 7700 1 0 1 { T 140 7750 5 8 1 1 0 0 1 pinnumber=25 T 140 7650 5 8 0 0 0 1 1 pinseq=25 T 940 7650 5 8 0 0 0 1 1 pintype=in T 450 7700 9 8 1 1 0 1 1 pinlabel=DTR32 } P 400 1700 100 1700 1 0 1 { T 140 1750 5 8 1 1 0 0 1 pinnumber=26 T 140 1650 5 8 0 0 0 1 1 pinseq=26 T 940 1650 5 8 0 0 0 1 1 pintype=in T 450 1700 9 8 1 1 0 1 1 pinlabel=EN2480 } V 1950 1700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 1700 2200 1700 1 0 1 { T 2000 1750 5 8 1 1 0 0 1 pinnumber=27 T 2300 1750 5 8 0 0 0 1 1 pinseq=27 T 3100 1750 5 8 0 0 0 1 1 pintype=out T 1350 1700 9 8 1 1 0 1 1 pinlabel=/PCE3 } V 1950 2000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 2000 2200 2000 1 0 1 { T 2000 2050 5 8 1 1 0 0 1 pinnumber=28 T 2300 2050 5 8 0 0 0 1 1 pinseq=28 T 3100 2050 5 8 0 0 0 1 1 pintype=out T 1350 2000 9 8 1 1 0 1 1 pinlabel=/PCE2 } V 1950 2300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 2300 2200 2300 1 0 1 { T 2000 2350 5 8 1 1 0 0 1 pinnumber=29 T 2300 2350 5 8 0 0 0 1 1 pinseq=29 T 3100 2350 5 8 0 0 0 1 1 pintype=out T 1350 2300 9 8 1 1 0 1 1 pinlabel=/PCE1 } V 1950 2600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 2600 2200 2600 1 0 1 { T 2000 2650 5 8 1 1 0 0 1 pinnumber=30 T 2300 2650 5 8 0 0 0 1 1 pinseq=30 T 3100 2650 5 8 0 0 0 1 1 pintype=out T 1350 2600 9 8 1 1 0 1 1 pinlabel=/PCE0 } V 350 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 300 500 100 500 1 0 1 { T 140 550 5 8 1 1 0 0 1 pinnumber=31 T 140 450 5 8 0 0 0 1 1 pinseq=31 T 940 450 5 8 0 0 0 1 1 pintype=out T 450 500 9 8 1 1 0 1 1 pinlabel=/CE3 } V 1950 1100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 1100 2200 1100 1 0 1 { T 2000 1150 5 8 1 1 0 0 1 pinnumber=32 T 2300 1150 5 8 0 0 0 1 1 pinseq=32 T 3100 1150 5 8 0 0 0 1 1 pintype=out T 1350 1100 9 8 1 1 0 1 1 pinlabel=/PSEN } P 1900 6800 2200 6800 1 0 1 { T 2000 6850 5 8 1 1 0 0 1 pinnumber=33 T 2300 6850 5 8 0 0 0 1 1 pinseq=33 T 3100 6850 5 8 0 0 0 1 1 pintype=out T 1590 6800 9 8 1 1 0 1 1 pinlabel=A7 } P 1900 7100 2200 7100 1 0 1 { T 2000 7150 5 8 1 1 0 0 1 pinnumber=34 T 2300 7150 5 8 0 0 0 1 1 pinseq=34 T 3100 7150 5 8 0 0 0 1 1 pintype=out T 1610 7100 9 8 1 1 0 1 1 pinlabel=A6 } P 1900 7400 2200 7400 1 0 1 { T 2000 7450 5 8 1 1 0 0 1 pinnumber=35 T 2300 7450 5 8 0 0 0 1 1 pinseq=35 T 3100 7450 5 8 0 0 0 1 1 pintype=out T 1610 7400 9 8 1 1 0 1 1 pinlabel=A5 } P 1900 7700 2200 7700 1 0 1 { T 2000 7750 5 8 1 1 0 0 1 pinnumber=36 T 2300 7750 5 8 0 0 0 1 1 pinseq=36 T 3100 7750 5 8 0 0 0 1 1 pintype=out T 1610 7700 9 8 1 1 0 1 1 pinlabel=A4 } P 1900 6500 2200 6500 1 0 1 { T 2000 6550 5 8 1 1 0 0 1 pinnumber=37 T 2300 6550 5 8 0 0 0 1 1 pinseq=37 T 3100 6550 5 8 0 0 0 1 1 pintype=out T 1610 6500 9 8 1 1 0 1 1 pinlabel=A8 } P 1900 6200 2200 6200 1 0 1 { T 2000 6250 5 8 1 1 0 0 1 pinnumber=38 T 2300 6250 5 8 0 0 0 1 1 pinseq=38 T 3100 6250 5 8 0 0 0 1 1 pintype=out T 1610 6200 9 8 1 1 0 1 1 pinlabel=A9 } P 1900 5900 2200 5900 1 0 1 { T 2000 5950 5 8 1 1 0 0 1 pinnumber=39 T 2300 5950 5 8 0 0 0 1 1 pinseq=39 T 3100 5950 5 8 0 0 0 1 1 pintype=out T 1610 5900 9 8 1 1 0 1 1 pinlabel=A10 } P 1900 5600 2200 5600 1 0 1 { T 2000 5650 5 8 1 1 0 0 1 pinnumber=40 T 2300 5650 5 8 0 0 0 1 1 pinseq=40 T 3100 5650 5 8 0 0 0 1 1 pintype=out T 1610 5600 9 8 1 1 0 1 1 pinlabel=A11 } P 1900 5300 2200 5300 1 0 1 { T 2000 5350 5 8 1 1 0 0 1 pinnumber=41 T 2300 5350 5 8 0 0 0 1 1 pinseq=41 T 3100 5350 5 8 0 0 0 1 1 pintype=out T 1610 5300 9 8 1 1 0 1 1 pinlabel=A12 } P 1900 5000 2200 5000 1 0 1 { T 2000 5050 5 8 1 1 0 0 1 pinnumber=42 T 2300 5050 5 8 0 0 0 1 1 pinseq=42 T 3100 5050 5 8 0 0 0 1 1 pintype=out T 1610 5000 9 8 1 1 0 1 1 pinlabel=A13 } P 1900 4700 2200 4700 1 0 1 { T 2000 4750 5 8 1 1 0 0 1 pinnumber=43 T 2300 4750 5 8 0 0 0 1 1 pinseq=43 T 3100 4750 5 8 0 0 0 1 1 pintype=out T 1610 4700 9 8 1 1 0 1 1 pinlabel=A14 } P 1900 4400 2200 4400 1 0 1 { T 2000 4450 5 8 1 1 0 0 1 pinnumber=44 T 2300 4450 5 8 0 0 0 1 1 pinseq=44 T 3100 4450 5 8 0 0 0 1 1 pintype=out T 1610 4400 9 8 1 1 0 1 1 pinlabel=A15 } V 350 1100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 300 1100 100 1100 1 0 1 { T 140 1150 5 8 1 1 0 0 1 pinnumber=45 T 140 1050 5 8 0 0 0 1 1 pinseq=45 T 940 1050 5 8 0 0 0 1 1 pintype=in T 450 1100 9 8 1 1 0 1 1 pinlabel=/RCE0 } P 1900 9500 2200 9500 1 0 1 { T 2000 9550 5 8 1 1 0 0 1 pinnumber=46 T 2300 9550 5 8 0 0 0 1 1 pinseq=46 T 3100 9550 5 8 0 0 0 1 1 pintype=io T 1610 9500 9 8 1 1 0 1 1 pinlabel=D7 } P 1900 9800 2200 9800 1 0 1 { T 2000 9850 5 8 1 1 0 0 1 pinnumber=47 T 2300 9850 5 8 0 0 0 1 1 pinseq=47 T 3100 9850 5 8 0 0 0 1 1 pintype=io T 1610 9800 9 8 1 1 0 1 1 pinlabel=D6 } P 1900 10100 2200 10100 1 0 1 { T 2000 10150 5 8 1 1 0 0 1 pinnumber=48 T 2300 10150 5 8 0 0 0 1 1 pinseq=48 T 3100 10150 5 8 0 0 0 1 1 pintype=io T 1610 10100 9 8 1 1 0 1 1 pinlabel=D5 } P 1900 10400 2200 10400 1 0 1 { T 2000 10450 5 8 1 1 0 0 1 pinnumber=49 T 2300 10450 5 8 0 0 0 1 1 pinseq=49 T 3100 10450 5 8 0 0 0 1 1 pintype=io T 1610 10400 9 8 1 1 0 1 1 pinlabel=D4 } P 1900 10700 2200 10700 1 0 1 { T 2000 10750 5 8 1 1 0 0 1 pinnumber=50 T 2300 10750 5 8 0 0 0 1 1 pinseq=50 T 3100 10750 5 8 0 0 0 1 1 pintype=io T 1610 10700 9 8 1 1 0 1 1 pinlabel=D3 } P 1900 11000 2200 11000 1 0 1 { T 2000 11050 5 8 1 1 0 0 1 pinnumber=51 T 2300 11050 5 8 0 0 0 1 1 pinseq=51 T 3100 11050 5 8 0 0 0 1 1 pintype=io T 1610 11000 9 8 1 1 0 1 1 pinlabel=D2 } P 1900 11300 2200 11300 1 0 1 { T 2000 11350 5 8 1 1 0 0 1 pinnumber=52 T 2300 11350 5 8 0 0 0 1 1 pinseq=52 T 3100 11350 5 8 0 0 0 1 1 pintype=io T 1610 11300 9 8 1 1 0 1 1 pinlabel=D1 } P 1900 11600 2200 11600 1 0 1 { T 2000 11650 5 8 1 1 0 0 1 pinnumber=53 T 2300 11650 5 8 0 0 0 1 1 pinseq=53 T 3100 11650 5 8 0 0 0 1 1 pintype=io T 1610 11600 9 8 1 1 0 1 1 pinlabel=D0 } P 1900 8900 2200 8900 1 0 1 { T 2000 8950 5 8 1 1 0 0 1 pinnumber=54 T 2300 8950 5 8 0 0 0 1 1 pinseq=54 T 3100 8950 5 8 0 0 0 1 1 pintype=out T 1590 8900 9 8 1 1 0 1 1 pinlabel=A0 } P 1900 8600 2200 8600 1 0 1 { T 2000 8650 5 8 1 1 0 0 1 pinnumber=55 T 2300 8650 5 8 0 0 0 1 1 pinseq=55 T 3100 8650 5 8 0 0 0 1 1 pintype=out T 1590 8600 9 8 1 1 0 1 1 pinlabel=A1 } P 1900 8300 2200 8300 1 0 1 { T 2000 8350 5 8 1 1 0 0 1 pinnumber=56 T 2300 8350 5 8 0 0 0 1 1 pinseq=56 T 3100 8350 5 8 0 0 0 1 1 pintype=out T 1610 8300 9 8 1 1 0 1 1 pinlabel=A2 } P 1900 8000 2200 8000 1 0 1 { T 2000 8050 5 8 1 1 0 0 1 pinnumber=57 T 2300 8050 5 8 0 0 0 1 1 pinseq=57 T 3100 8050 5 8 0 0 0 1 1 pintype=out T 1610 8000 9 8 1 1 0 1 1 pinlabel=A3 } V 1950 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 500 2200 500 1 0 1 { T 2000 550 5 8 1 1 0 0 1 pinnumber=58 T 2300 550 5 8 0 0 0 1 1 pinseq=58 T 3100 550 5 8 0 0 0 1 1 pintype=out T 1510 500 9 8 1 1 0 1 1 pinlabel=/WR } P 400 6800 100 6800 1 0 1 { T 140 6850 5 8 1 1 0 0 1 pinnumber=59 T 140 6750 5 8 0 0 0 1 1 pinseq=59 T 940 6750 5 8 0 0 0 1 1 pintype=in T 450 6800 9 8 1 1 0 1 1 pinlabel=IOS1 } P 1900 4100 2200 4100 1 0 1 { T 2000 4150 5 8 1 1 0 0 1 pinnumber=60 T 2300 4150 5 8 0 0 0 1 1 pinseq=60 T 3100 4150 5 8 0 0 0 1 1 pintype=out T 1610 4100 9 8 1 1 0 1 1 pinlabel=A16 } P 1900 3800 2200 3800 1 0 1 { T 2000 3850 5 8 1 1 0 0 1 pinnumber=61 T 2300 3850 5 8 0 0 0 1 1 pinseq=61 T 3100 3850 5 8 0 0 0 1 1 pintype=out T 1610 3800 9 8 1 1 0 1 1 pinlabel=A17 } P 1900 3500 2200 3500 1 0 1 { T 2000 3550 5 8 1 1 0 0 1 pinnumber=62 T 2300 3550 5 8 0 0 0 1 1 pinseq=62 T 3100 3550 5 8 0 0 0 1 1 pintype=out T 1610 3500 9 8 1 1 0 1 1 pinlabel=A18 } P 400 4400 100 4400 1 0 1 { T 140 4450 5 8 1 1 0 0 1 pinnumber=63 T 140 4350 5 8 0 0 0 1 1 pinseq=63 T 940 4350 5 8 0 0 0 1 1 pintype=in T 450 4400 9 8 1 1 0 1 1 pinlabel=ETH3 } P 400 4100 100 4100 1 0 1 { T 140 4150 5 8 1 1 0 0 1 pinnumber=64 T 140 4050 5 8 0 0 0 1 1 pinseq=64 T 940 4050 5 8 0 0 0 1 1 pintype=in T 450 4100 9 8 1 1 0 1 1 pinlabel=ETH6 } P 400 4700 100 4700 1 0 1 { T 140 4750 5 8 1 1 0 0 1 pinnumber=65 T 140 4650 5 8 0 0 0 1 1 pinseq=65 T 940 4650 5 8 0 0 0 1 1 pintype=out T 450 4700 9 8 1 1 0 1 1 pinlabel=ETH2 } P 400 5000 100 5000 1 0 1 { T 140 5050 5 8 1 1 0 0 1 pinnumber=66 T 140 4950 5 8 0 0 0 1 1 pinseq=66 T 940 4950 5 8 0 0 0 1 1 pintype=out T 450 5000 9 8 1 1 0 1 1 pinlabel=ETH1 } T 100 -1050 8 10 0 1 0 0 1 net=Vcc:67,68,69,70 P 400 5600 100 5600 1 0 1 { T 140 5650 5 8 1 1 0 0 1 pinnumber=71 T 140 5550 5 8 0 0 0 1 1 pinseq=71 T 940 5550 5 8 0 0 0 1 1 pintype=out T 450 5600 9 8 1 1 0 1 1 pinlabel=EESK } P 400 5900 100 5900 1 0 1 { T 140 5950 5 8 1 1 0 0 1 pinnumber=72 T 140 5850 5 8 0 0 0 1 1 pinseq=72 T 940 5850 5 8 0 0 0 1 1 pintype=out T 450 5900 9 8 1 1 0 1 1 pinlabel=EED0 } geda-gaf-1.8.2/symbols/micro/pic12F675-1.sym0000664000175000017500000000320212204104272015046 00000000000000v 20080127 1 T 5000 1300 8 10 1 1 180 0 1 refdes=U? T 300 1340 8 10 0 0 0 0 1 device=PIC12F675 T 300 1550 8 10 0 0 0 0 1 footprint=DIP8 T 300 1750 8 10 0 0 0 0 1 numslots=0 B 300 0 4700 1100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 800 300 800 1 0 0 { T 200 850 5 8 1 1 0 6 1 pinnumber=2 T 200 750 5 8 0 1 0 8 1 pinseq=1 T 350 800 9 8 1 1 0 0 1 pinlabel=GP5/T1CKI/OSC1/CLKIN T 350 800 5 8 0 1 0 2 1 pintype=io } P 0 500 300 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=3 T 200 450 5 8 0 1 0 8 1 pinseq=2 T 350 500 9 8 1 1 0 0 1 pinlabel=GP4/AN3/T1G/OSC2/CLKOUT T 350 500 5 8 0 1 0 2 1 pintype=io } P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=4 T 200 150 5 8 0 1 0 8 1 pinseq=3 T 350 200 9 8 1 1 0 0 1 pinlabel=GP3/MCLR/Vpp T 350 200 5 8 0 1 0 2 1 pintype=in } P 5300 200 5000 200 1 0 0 { T 5100 250 5 8 1 1 0 0 1 pinnumber=5 T 5100 150 5 8 0 1 0 2 1 pinseq=5 T 4950 200 9 8 1 1 0 6 1 pinlabel=GP2/AN2/T0CKI/INT/COUT T 4950 200 5 8 0 1 0 8 1 pintype=io } P 5300 500 5000 500 1 0 0 { T 5100 550 5 8 1 1 0 0 1 pinnumber=6 T 5100 450 5 8 0 1 0 2 1 pinseq=6 T 4950 500 9 8 1 1 0 6 1 pinlabel=GP1/AN1/CIN-/Vref/ICSPSLK T 4950 500 5 8 0 1 0 8 1 pintype=io } P 5300 800 5000 800 1 0 0 { T 5100 850 5 8 1 1 0 0 1 pinnumber=7 T 5100 750 5 8 0 1 0 2 1 pinseq=7 T 4950 800 9 8 1 1 0 6 1 pinlabel=GP0/AN0/CIN+/ICSPDAT T 4950 800 5 8 0 1 0 8 1 pintype=io } T 300 1950 8 10 0 0 0 0 1 description=8-bit FLASH microcontroller T 300 2150 8 10 0 0 0 0 1 documentation=http://ww1.microchip.com/downloads/en/DeviceDoc/41190E.pdf T 300 1150 9 10 1 0 0 0 1 PIC12F675 T 300 2350 8 10 0 0 0 0 1 net=GND:8 T 300 2550 8 10 0 0 0 0 1 net=Vcc:1 T 300 2750 8 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/micro/AT89C51_DIP.sym0000664000175000017500000001667012204104272015071 00000000000000v 20070626 1 T 3000 8900 8 10 1 1 0 6 1 refdes=U? T 400 9050 5 10 0 0 0 0 1 device=AT89C51_DIP T 400 9250 5 10 0 0 0 0 1 footprint=DIP40 T 400 9450 5 10 0 0 0 0 1 net=GND:20 T 400 9650 5 10 0 0 0 0 1 net=Vcc:40 P 3300 1600 3000 1600 1 0 0 { T 3100 1650 5 8 1 1 0 0 1 pinnumber=30 T 3100 1550 5 8 0 1 0 2 1 pinseq=1 T 2950 1600 9 8 1 1 0 6 1 pinlabel=ALE/\_PROG\_ T 2950 1600 5 8 0 1 0 8 1 pintype=out } P 3300 1200 3100 1200 1 0 0 { T 3100 1250 5 8 1 1 0 0 1 pinnumber=31 T 3100 1150 5 8 0 1 0 2 1 pinseq=2 T 2950 1200 9 8 1 1 0 6 1 pinlabel=\_EA\_/VPP T 2950 1200 5 8 0 1 0 8 1 pintype=in } V 3050 1200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 3300 8400 3000 8400 1 0 0 { T 3100 8450 5 8 1 1 0 0 1 pinnumber=39 T 3100 8350 5 8 0 1 0 2 1 pinseq=3 T 2950 8400 9 8 1 1 0 6 1 pinlabel=(AD0) P0.0 T 2950 8400 5 8 0 1 0 8 1 pintype=io } P 3300 8000 3000 8000 1 0 0 { T 3100 8050 5 8 1 1 0 0 1 pinnumber=38 T 3100 7950 5 8 0 1 0 2 1 pinseq=4 T 2950 8000 9 8 1 1 0 6 1 pinlabel=(AD1) P0.1 T 2950 8000 5 8 0 1 0 8 1 pintype=io } P 3300 7600 3000 7600 1 0 0 { T 3100 7650 5 8 1 1 0 0 1 pinnumber=37 T 3100 7550 5 8 0 1 0 2 1 pinseq=5 T 2950 7600 9 8 1 1 0 6 1 pinlabel=(AD2) P0.2 T 2950 7600 5 8 0 1 0 8 1 pintype=io } P 3300 7200 3000 7200 1 0 0 { T 3100 7250 5 8 1 1 0 0 1 pinnumber=36 T 3100 7150 5 8 0 1 0 2 1 pinseq=6 T 2950 7200 9 8 1 1 0 6 1 pinlabel=(AD3) P0.3 T 2950 7200 5 8 0 1 0 8 1 pintype=io } P 3300 6800 3000 6800 1 0 0 { T 3100 6850 5 8 1 1 0 0 1 pinnumber=35 T 3100 6750 5 8 0 1 0 2 1 pinseq=7 T 2950 6800 9 8 1 1 0 6 1 pinlabel=(AD4) P0.4 T 2950 6800 5 8 0 1 0 8 1 pintype=io } P 3300 6400 3000 6400 1 0 0 { T 3100 6450 5 8 1 1 0 0 1 pinnumber=34 T 3100 6350 5 8 0 1 0 2 1 pinseq=8 T 2950 6400 9 8 1 1 0 6 1 pinlabel=(AD5) P0.5 T 2950 6400 5 8 0 1 0 8 1 pintype=io } P 3300 6000 3000 6000 1 0 0 { T 3100 6050 5 8 1 1 0 0 1 pinnumber=33 T 3100 5950 5 8 0 1 0 2 1 pinseq=9 T 2950 6000 9 8 1 1 0 6 1 pinlabel=(AD6) P0.6 T 2950 6000 5 8 0 1 0 8 1 pintype=io } P 3300 5600 3000 5600 1 0 0 { T 3100 5650 5 8 1 1 0 0 1 pinnumber=32 T 3100 5550 5 8 0 1 0 2 1 pinseq=10 T 2950 5600 9 8 1 1 0 6 1 pinlabel=(AD7) P0.7 T 2950 5600 5 8 0 1 0 8 1 pintype=io } P 3300 5000 3000 5000 1 0 0 { T 3100 5050 5 8 1 1 0 0 1 pinnumber=21 T 3100 4950 5 8 0 1 0 2 1 pinseq=11 T 2950 5000 9 8 1 1 0 6 1 pinlabel=(A8) P2.0 T 2950 5000 5 8 0 1 0 8 1 pintype=io } P 3300 4600 3000 4600 1 0 0 { T 3100 4650 5 8 1 1 0 0 1 pinnumber=22 T 3100 4550 5 8 0 1 0 2 1 pinseq=12 T 2950 4600 9 8 1 1 0 6 1 pinlabel=(A9) P2.1 T 2950 4600 5 8 0 1 0 8 1 pintype=io } P 3300 4200 3000 4200 1 0 0 { T 3100 4250 5 8 1 1 0 0 1 pinnumber=23 T 3100 4150 5 8 0 1 0 2 1 pinseq=13 T 2950 4200 9 8 1 1 0 6 1 pinlabel=(A10) P2.2 T 2950 4200 5 8 0 1 0 8 1 pintype=io } P 3300 3800 3000 3800 1 0 0 { T 3100 3850 5 8 1 1 0 0 1 pinnumber=24 T 3100 3750 5 8 0 1 0 2 1 pinseq=14 T 2950 3800 9 8 1 1 0 6 1 pinlabel=(A11) P2.3 T 2950 3800 5 8 0 1 0 8 1 pintype=io } P 3300 3400 3000 3400 1 0 0 { T 3100 3450 5 8 1 1 0 0 1 pinnumber=25 T 3100 3350 5 8 0 1 0 2 1 pinseq=15 T 2950 3400 9 8 1 1 0 6 1 pinlabel=(A12) P2.4 T 2950 3400 5 8 0 1 0 8 1 pintype=io } P 3300 3000 3000 3000 1 0 0 { T 3100 3050 5 8 1 1 0 0 1 pinnumber=26 T 3100 2950 5 8 0 1 0 2 1 pinseq=16 T 2950 3000 9 8 1 1 0 6 1 pinlabel=(A13) P2.5 T 2950 3000 5 8 0 1 0 8 1 pintype=io } P 3300 2600 3000 2600 1 0 0 { T 3100 2650 5 8 1 1 0 0 1 pinnumber=27 T 3100 2550 5 8 0 1 0 2 1 pinseq=17 T 2950 2600 9 8 1 1 0 6 1 pinlabel=(A14) P2.6 T 2950 2600 5 8 0 1 0 8 1 pintype=io } P 3300 2200 3000 2200 1 0 0 { T 3100 2250 5 8 1 1 0 0 1 pinnumber=28 T 3100 2150 5 8 0 1 0 2 1 pinseq=18 T 2950 2200 9 8 1 1 0 6 1 pinlabel=(A15) P2.7 T 2950 2200 5 8 0 1 0 8 1 pintype=io } P 3300 800 3100 800 1 0 0 { T 3100 850 5 8 1 1 0 0 1 pinnumber=29 T 3100 750 5 8 0 1 0 2 1 pinseq=19 T 2950 800 9 8 1 1 0 6 1 pinlabel=\_PSEN\_ T 2950 800 5 8 0 1 0 8 1 pintype=out } V 3050 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8400 400 8400 1 0 0 { T 300 8450 5 8 1 1 0 6 1 pinnumber=1 T 300 8350 5 8 0 1 0 8 1 pinseq=20 T 450 8400 9 8 1 1 0 0 1 pinlabel=P1.0 T 450 8400 5 8 0 1 0 2 1 pintype=io } P 100 8000 400 8000 1 0 0 { T 300 8050 5 8 1 1 0 6 1 pinnumber=2 T 300 7950 5 8 0 1 0 8 1 pinseq=21 T 450 8000 9 8 1 1 0 0 1 pinlabel=P1.1 T 450 8000 5 8 0 1 0 2 1 pintype=io } P 100 7600 400 7600 1 0 0 { T 300 7650 5 8 1 1 0 6 1 pinnumber=3 T 300 7550 5 8 0 1 0 8 1 pinseq=22 T 450 7600 9 8 1 1 0 0 1 pinlabel=P1.2 T 450 7600 5 8 0 1 0 2 1 pintype=io } P 100 7200 400 7200 1 0 0 { T 300 7250 5 8 1 1 0 6 1 pinnumber=4 T 300 7150 5 8 0 1 0 8 1 pinseq=23 T 450 7200 9 8 1 1 0 0 1 pinlabel=P1.3 T 450 7200 5 8 0 1 0 2 1 pintype=io } P 100 6800 400 6800 1 0 0 { T 300 6850 5 8 1 1 0 6 1 pinnumber=5 T 300 6750 5 8 0 1 0 8 1 pinseq=24 T 450 6800 9 8 1 1 0 0 1 pinlabel=P1.4 T 450 6800 5 8 0 1 0 2 1 pintype=io } P 100 6400 400 6400 1 0 0 { T 300 6450 5 8 1 1 0 6 1 pinnumber=6 T 300 6350 5 8 0 1 0 8 1 pinseq=25 T 450 6400 9 8 1 1 0 0 1 pinlabel=P1.5 T 450 6400 5 8 0 1 0 2 1 pintype=io } P 100 6000 400 6000 1 0 0 { T 300 6050 5 8 1 1 0 6 1 pinnumber=7 T 300 5950 5 8 0 1 0 8 1 pinseq=26 T 450 6000 9 8 1 1 0 0 1 pinlabel=P1.6 T 450 6000 5 8 0 1 0 2 1 pintype=io } P 100 5600 400 5600 1 0 0 { T 300 5650 5 8 1 1 0 6 1 pinnumber=8 T 300 5550 5 8 0 1 0 8 1 pinseq=27 T 450 5600 9 8 1 1 0 0 1 pinlabel=P1.7 T 450 5600 5 8 0 1 0 2 1 pintype=io } P 100 5000 400 5000 1 0 0 { T 300 5050 5 8 1 1 0 6 1 pinnumber=10 T 300 4950 5 8 0 1 0 8 1 pinseq=28 T 450 5000 9 8 1 1 0 0 1 pinlabel=P3.0 (RXD) T 450 5000 5 8 0 1 0 2 1 pintype=io } P 100 4600 400 4600 1 0 0 { T 300 4650 5 8 1 1 0 6 1 pinnumber=11 T 300 4550 5 8 0 1 0 8 1 pinseq=29 T 450 4600 9 8 1 1 0 0 1 pinlabel=P3.1 (TXD) T 450 4600 5 8 0 1 0 2 1 pintype=io } P 100 4200 400 4200 1 0 0 { T 300 4250 5 8 1 1 0 6 1 pinnumber=12 T 300 4150 5 8 0 1 0 8 1 pinseq=30 T 450 4200 9 8 1 1 0 0 1 pinlabel=P3.2 (\_INT0\_) T 450 4200 5 8 0 1 0 2 1 pintype=io } P 100 3800 400 3800 1 0 0 { T 300 3850 5 8 1 1 0 6 1 pinnumber=13 T 300 3750 5 8 0 1 0 8 1 pinseq=31 T 450 3800 9 8 1 1 0 0 1 pinlabel=P3.3 (\_INT1\_) T 450 3800 5 8 0 1 0 2 1 pintype=io } P 100 3400 400 3400 1 0 0 { T 300 3450 5 8 1 1 0 6 1 pinnumber=14 T 300 3350 5 8 0 1 0 8 1 pinseq=32 T 450 3400 9 8 1 1 0 0 1 pinlabel=P3.4 (T0) T 450 3400 5 8 0 1 0 2 1 pintype=io } P 100 3000 400 3000 1 0 0 { T 300 3050 5 8 1 1 0 6 1 pinnumber=15 T 300 2950 5 8 0 1 0 8 1 pinseq=33 T 450 3000 9 8 1 1 0 0 1 pinlabel=P3.5 (T1) T 450 3000 5 8 0 1 0 2 1 pintype=io } P 100 2600 400 2600 1 0 0 { T 300 2650 5 8 1 1 0 6 1 pinnumber=16 T 300 2550 5 8 0 1 0 8 1 pinseq=34 T 450 2600 9 8 1 1 0 0 1 pinlabel=P3.6 (\_WR\_) T 450 2600 5 8 0 1 0 2 1 pintype=io } P 100 2200 400 2200 1 0 0 { T 300 2250 5 8 1 1 0 6 1 pinnumber=17 T 300 2150 5 8 0 1 0 8 1 pinseq=35 T 450 2200 9 8 1 1 0 0 1 pinlabel=P3.7 (\_RD\_) T 450 2200 5 8 0 1 0 2 1 pintype=io } P 1000 100 1000 400 1 0 0 { T 1050 200 5 8 1 1 0 0 1 pinnumber=9 T 1050 200 5 8 0 1 0 2 1 pinseq=36 T 1000 450 9 8 1 1 0 3 1 pinlabel=RST T 1000 600 5 8 0 1 0 3 1 pintype=in } P 1800 100 1800 400 1 0 0 { T 1850 200 5 8 1 1 0 0 1 pinnumber=19 T 1850 200 5 8 0 1 0 2 1 pinseq=37 T 1800 450 9 8 1 1 0 3 1 pinlabel=XTAL1 T 1800 600 5 8 0 1 0 3 1 pintype=in } P 2400 100 2400 400 1 0 0 { T 2450 200 5 8 1 1 0 0 1 pinnumber=18 T 2450 200 5 8 0 1 0 2 1 pinseq=38 T 2400 450 9 8 1 1 0 3 1 pinlabel=XTAL2 T 2400 600 5 8 0 1 0 3 1 pintype=out } B 400 400 2600 8400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 10050 5 10 0 0 0 0 1 description=8-bit 8051-compatibel micro controller (Atmel) T 400 9850 5 10 0 0 0 0 1 numslots=0 T 400 10250 5 10 0 0 0 0 1 author=Werner Hoch T 400 8850 9 10 1 0 0 0 1 AT89C51 geda-gaf-1.8.2/symbols/micro/AT90S8535_DIP.sym0000664000175000017500000001606212204104272015253 00000000000000v 20070626 1 T 3000 7500 8 10 1 1 0 6 1 refdes=U? T 400 7650 5 10 0 0 0 0 1 device=AT90S8535_DIP T 400 7850 5 10 0 0 0 0 1 footprint=DIP40 T 400 8050 5 10 0 0 0 0 1 net=Vcc:10 T 400 8250 5 10 0 0 0 0 1 net=GND:11 T 400 8450 5 10 0 0 0 0 1 net=AVcc:30 T 400 8650 5 10 0 0 0 0 1 net=AGND:31 P 2600 100 2600 300 1 0 0 { T 2650 200 5 8 1 1 0 0 1 pinnumber=9 T 2650 200 5 8 0 1 0 2 1 pinseq=1 T 2600 450 9 8 1 1 0 3 1 pinlabel=\_Reset\_ T 2600 600 5 8 0 1 0 3 1 pintype=in } V 2600 350 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 100 2000 400 1 0 0 { T 2050 200 5 8 1 1 0 0 1 pinnumber=12 T 2050 200 5 8 0 1 0 2 1 pinseq=2 T 2000 450 9 8 1 1 0 3 1 pinlabel=XTAL2 T 2000 600 5 8 0 1 0 3 1 pintype=out } P 1400 100 1400 400 1 0 0 { T 1450 200 5 8 1 1 0 0 1 pinnumber=13 T 1450 200 5 8 0 1 0 2 1 pinseq=3 T 1400 450 9 8 1 1 0 3 1 pinlabel=XTAL1 T 1400 600 5 8 0 1 0 3 1 pintype=in } P 800 100 800 400 1 0 0 { T 850 200 5 8 1 1 0 0 1 pinnumber=32 T 850 200 5 8 0 1 0 2 1 pinseq=4 T 800 450 9 8 1 1 0 3 1 pinlabel=AREF T 800 600 5 8 0 1 0 3 1 pintype=in } P 100 800 400 800 1 0 0 { T 300 850 5 8 1 1 0 6 1 pinnumber=21 T 300 750 5 8 0 1 0 8 1 pinseq=5 T 450 800 9 8 1 1 0 0 1 pinlabel=PD7 (OC2) T 450 800 5 8 0 1 0 2 1 pintype=io } P 100 1200 400 1200 1 0 0 { T 300 1250 5 8 1 1 0 6 1 pinnumber=20 T 300 1150 5 8 0 1 0 8 1 pinseq=6 T 450 1200 9 8 1 1 0 0 1 pinlabel=PD6 (ICP) T 450 1200 5 8 0 1 0 2 1 pintype=io } P 100 1600 400 1600 1 0 0 { T 300 1650 5 8 1 1 0 6 1 pinnumber=19 T 300 1550 5 8 0 1 0 8 1 pinseq=7 T 450 1600 9 8 1 1 0 0 1 pinlabel=PD5 (OC1A) T 450 1600 5 8 0 1 0 2 1 pintype=io } P 100 2000 400 2000 1 0 0 { T 300 2050 5 8 1 1 0 6 1 pinnumber=18 T 300 1950 5 8 0 1 0 8 1 pinseq=8 T 450 2000 9 8 1 1 0 0 1 pinlabel=PD4 (OC1B) T 450 2000 5 8 0 1 0 2 1 pintype=io } P 100 2400 400 2400 1 0 0 { T 300 2450 5 8 1 1 0 6 1 pinnumber=17 T 300 2350 5 8 0 1 0 8 1 pinseq=9 T 450 2400 9 8 1 1 0 0 1 pinlabel=PD3 (INT1) T 450 2400 5 8 0 1 0 2 1 pintype=io } P 100 2800 400 2800 1 0 0 { T 300 2850 5 8 1 1 0 6 1 pinnumber=16 T 300 2750 5 8 0 1 0 8 1 pinseq=10 T 450 2800 9 8 1 1 0 0 1 pinlabel=PD2 (INT0) T 450 2800 5 8 0 1 0 2 1 pintype=io } P 100 3200 400 3200 1 0 0 { T 300 3250 5 8 1 1 0 6 1 pinnumber=15 T 300 3150 5 8 0 1 0 8 1 pinseq=11 T 450 3200 9 8 1 1 0 0 1 pinlabel=PD1 (TXD) T 450 3200 5 8 0 1 0 2 1 pintype=io } P 100 3600 400 3600 1 0 0 { T 300 3650 5 8 1 1 0 6 1 pinnumber=14 T 300 3550 5 8 0 1 0 8 1 pinseq=12 T 450 3600 9 8 1 1 0 0 1 pinlabel=PD0 (RXD) T 450 3600 5 8 0 1 0 2 1 pintype=io } P 100 4200 400 4200 1 0 0 { T 300 4250 5 8 1 1 0 6 1 pinnumber=8 T 300 4150 5 8 0 1 0 8 1 pinseq=13 T 450 4200 9 8 1 1 0 0 1 pinlabel=PB7 (SCK) T 450 4200 5 8 0 1 0 2 1 pintype=io } P 100 4600 400 4600 1 0 0 { T 300 4650 5 8 1 1 0 6 1 pinnumber=7 T 300 4550 5 8 0 1 0 8 1 pinseq=14 T 450 4600 9 8 1 1 0 0 1 pinlabel=PB6 (MISO) T 450 4600 5 8 0 1 0 2 1 pintype=io } P 100 5000 400 5000 1 0 0 { T 300 5050 5 8 1 1 0 6 1 pinnumber=6 T 300 4950 5 8 0 1 0 8 1 pinseq=15 T 450 5000 9 8 1 1 0 0 1 pinlabel=PB5 (MOSI) T 450 5000 5 8 0 1 0 2 1 pintype=io } P 100 5400 400 5400 1 0 0 { T 300 5450 5 8 1 1 0 6 1 pinnumber=5 T 300 5350 5 8 0 1 0 8 1 pinseq=16 T 450 5400 9 8 1 1 0 0 1 pinlabel=PB4 (\_SS\_) T 450 5400 5 8 0 1 0 2 1 pintype=io } P 100 5800 400 5800 1 0 0 { T 300 5850 5 8 1 1 0 6 1 pinnumber=4 T 300 5750 5 8 0 1 0 8 1 pinseq=17 T 450 5800 9 8 1 1 0 0 1 pinlabel=PB3 (AIN1) T 450 5800 5 8 0 1 0 2 1 pintype=io } P 100 6200 400 6200 1 0 0 { T 300 6250 5 8 1 1 0 6 1 pinnumber=3 T 300 6150 5 8 0 1 0 8 1 pinseq=18 T 450 6200 9 8 1 1 0 0 1 pinlabel=PB2 (AIN0) T 450 6200 5 8 0 1 0 2 1 pintype=io } P 100 6600 400 6600 1 0 0 { T 300 6650 5 8 1 1 0 6 1 pinnumber=2 T 300 6550 5 8 0 1 0 8 1 pinseq=19 T 450 6600 9 8 1 1 0 0 1 pinlabel=PB1 (T1) T 450 6600 5 8 0 1 0 2 1 pintype=io } P 100 7000 400 7000 1 0 0 { T 300 7050 5 8 1 1 0 6 1 pinnumber=1 T 300 6950 5 8 0 1 0 8 1 pinseq=20 T 450 7000 9 8 1 1 0 0 1 pinlabel=PB0 (T0) T 450 7000 5 8 0 1 0 2 1 pintype=io } P 3300 800 3000 800 1 0 0 { T 3100 850 5 8 1 1 0 0 1 pinnumber=29 T 3100 750 5 8 0 1 0 2 1 pinseq=21 T 2950 800 9 8 1 1 0 6 1 pinlabel=(TOSC2) PC7 T 2950 800 5 8 0 1 0 8 1 pintype=io } P 3300 1200 3000 1200 1 0 0 { T 3100 1250 5 8 1 1 0 0 1 pinnumber=28 T 3100 1150 5 8 0 1 0 2 1 pinseq=22 T 2950 1200 9 8 1 1 0 6 1 pinlabel=(TOSC1) PC6 T 2950 1200 5 8 0 1 0 8 1 pintype=io } P 3300 1600 3000 1600 1 0 0 { T 3100 1650 5 8 1 1 0 0 1 pinnumber=27 T 3100 1550 5 8 0 1 0 2 1 pinseq=23 T 2950 1600 9 8 1 1 0 6 1 pinlabel=PC5 T 2950 1600 5 8 0 1 0 8 1 pintype=io } P 3300 2000 3000 2000 1 0 0 { T 3100 2050 5 8 1 1 0 0 1 pinnumber=26 T 3100 1950 5 8 0 1 0 2 1 pinseq=24 T 2950 2000 9 8 1 1 0 6 1 pinlabel=PC4 T 2950 2000 5 8 0 1 0 8 1 pintype=io } P 3300 2400 3000 2400 1 0 0 { T 3100 2450 5 8 1 1 0 0 1 pinnumber=25 T 3100 2350 5 8 0 1 0 2 1 pinseq=25 T 2950 2400 9 8 1 1 0 6 1 pinlabel=PC3 T 2950 2400 5 8 0 1 0 8 1 pintype=io } P 3300 2800 3000 2800 1 0 0 { T 3100 2850 5 8 1 1 0 0 1 pinnumber=24 T 3100 2750 5 8 0 1 0 2 1 pinseq=26 T 2950 2800 9 8 1 1 0 6 1 pinlabel=PC2 T 2950 2800 5 8 0 1 0 8 1 pintype=io } P 3300 3200 3000 3200 1 0 0 { T 3100 3250 5 8 1 1 0 0 1 pinnumber=23 T 3100 3150 5 8 0 1 0 2 1 pinseq=27 T 2950 3200 9 8 1 1 0 6 1 pinlabel=PC1 T 2950 3200 5 8 0 1 0 8 1 pintype=io } P 3300 3600 3000 3600 1 0 0 { T 3100 3650 5 8 1 1 0 0 1 pinnumber=22 T 3100 3550 5 8 0 1 0 2 1 pinseq=28 T 2950 3600 9 8 1 1 0 6 1 pinlabel=PC0 T 2950 3600 5 8 0 1 0 8 1 pintype=io } P 3300 4200 3000 4200 1 0 0 { T 3100 4250 5 8 1 1 0 0 1 pinnumber=33 T 3100 4150 5 8 0 1 0 2 1 pinseq=29 T 2950 4200 9 8 1 1 0 6 1 pinlabel=(ADC7) PA7 T 2950 4200 5 8 0 1 0 8 1 pintype=io } P 3300 4600 3000 4600 1 0 0 { T 3100 4650 5 8 1 1 0 0 1 pinnumber=34 T 3100 4550 5 8 0 1 0 2 1 pinseq=30 T 2950 4600 9 8 1 1 0 6 1 pinlabel=(ADC6) PA6 T 2950 4600 5 8 0 1 0 8 1 pintype=io } P 3300 5000 3000 5000 1 0 0 { T 3100 5050 5 8 1 1 0 0 1 pinnumber=35 T 3100 4950 5 8 0 1 0 2 1 pinseq=31 T 2950 5000 9 8 1 1 0 6 1 pinlabel=(ADC5) PA5 T 2950 5000 5 8 0 1 0 8 1 pintype=io } P 3300 5400 3000 5400 1 0 0 { T 3100 5450 5 8 1 1 0 0 1 pinnumber=36 T 3100 5350 5 8 0 1 0 2 1 pinseq=32 T 2950 5400 9 8 1 1 0 6 1 pinlabel=(ADC4) PA4 T 2950 5400 5 8 0 1 0 8 1 pintype=io } P 3300 5800 3000 5800 1 0 0 { T 3100 5850 5 8 1 1 0 0 1 pinnumber=37 T 3100 5750 5 8 0 1 0 2 1 pinseq=33 T 2950 5800 9 8 1 1 0 6 1 pinlabel=(ADC3) PA3 T 2950 5800 5 8 0 1 0 8 1 pintype=io } P 3300 6200 3000 6200 1 0 0 { T 3100 6250 5 8 1 1 0 0 1 pinnumber=38 T 3100 6150 5 8 0 1 0 2 1 pinseq=34 T 2950 6200 9 8 1 1 0 6 1 pinlabel=(ADC2) PA2 T 2950 6200 5 8 0 1 0 8 1 pintype=io } P 3300 6600 3000 6600 1 0 0 { T 3100 6650 5 8 1 1 0 0 1 pinnumber=39 T 3100 6550 5 8 0 1 0 2 1 pinseq=35 T 2950 6600 9 8 1 1 0 6 1 pinlabel=(ADC1) PA1 T 2950 6600 5 8 0 1 0 8 1 pintype=io } P 3300 7000 3000 7000 1 0 0 { T 3100 7050 5 8 1 1 0 0 1 pinnumber=40 T 3100 6950 5 8 0 1 0 2 1 pinseq=36 T 2950 7000 9 8 1 1 0 6 1 pinlabel=(ADC0) PA0 T 2950 7000 5 8 0 1 0 8 1 pintype=io } B 400 400 2600 7000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 8850 5 10 0 0 0 0 1 description=8-bit RISC micro controller (Atmel) T 400 9050 5 10 0 0 0 0 1 numslots=0 T 400 9250 5 10 0 0 0 0 1 author=Werner Hoch T 400 7450 9 10 1 0 0 0 1 AT90S8535 geda-gaf-1.8.2/symbols/micro/ATmega16_DIP-1.sym0000664000175000017500000001615412204104272015573 00000000000000v 20070626 1 T 3000 7500 8 10 1 1 0 6 1 refdes=U? T 400 7650 8 10 0 0 0 0 1 device=ATmega16_DIP T 400 7850 8 10 0 0 0 0 1 footprint=DIP40 T 400 8050 8 10 0 0 0 0 1 net=Vcc:10 T 400 8250 8 10 0 0 0 0 1 net=GND:11 T 400 8450 8 10 0 0 0 0 1 net=AVcc:30 T 400 8650 8 10 0 0 0 0 1 net=AGND:31 P 2600 100 2600 300 1 0 0 { T 2650 200 5 8 1 1 0 0 1 pinnumber=9 T 2650 200 5 8 0 1 0 2 1 pinseq=1 T 2600 450 9 8 1 1 0 3 1 pinlabel=\_Reset\_ T 2600 600 5 8 0 1 0 3 1 pintype=in } V 2600 350 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 100 2000 400 1 0 0 { T 2050 200 5 8 1 1 0 0 1 pinnumber=12 T 2050 200 5 8 0 1 0 2 1 pinseq=2 T 2000 450 9 8 1 1 0 3 1 pinlabel=XTAL2 T 2000 600 5 8 0 1 0 3 1 pintype=out } P 1400 100 1400 400 1 0 0 { T 1450 200 5 8 1 1 0 0 1 pinnumber=13 T 1450 200 5 8 0 1 0 2 1 pinseq=3 T 1400 450 9 8 1 1 0 3 1 pinlabel=XTAL1 T 1400 600 5 8 0 1 0 3 1 pintype=in } P 800 100 800 400 1 0 0 { T 850 200 5 8 1 1 0 0 1 pinnumber=32 T 850 200 5 8 0 1 0 2 1 pinseq=4 T 800 450 9 8 1 1 0 3 1 pinlabel=AREF T 800 600 5 8 0 1 0 3 1 pintype=in } P 100 800 400 800 1 0 0 { T 300 850 5 8 1 1 0 6 1 pinnumber=21 T 300 750 5 8 0 1 0 8 1 pinseq=5 T 450 800 9 8 1 1 0 0 1 pinlabel=PD7 (OC2) T 450 800 5 8 0 1 0 2 1 pintype=io } P 100 1200 400 1200 1 0 0 { T 300 1250 5 8 1 1 0 6 1 pinnumber=20 T 300 1150 5 8 0 1 0 8 1 pinseq=6 T 450 1200 9 8 1 1 0 0 1 pinlabel=PD6 (ICP1) T 450 1200 5 8 0 1 0 2 1 pintype=io } P 100 1600 400 1600 1 0 0 { T 300 1650 5 8 1 1 0 6 1 pinnumber=19 T 300 1550 5 8 0 1 0 8 1 pinseq=7 T 450 1600 9 8 1 1 0 0 1 pinlabel=PD5 (OC1A) T 450 1600 5 8 0 1 0 2 1 pintype=io } P 100 2000 400 2000 1 0 0 { T 300 2050 5 8 1 1 0 6 1 pinnumber=18 T 300 1950 5 8 0 1 0 8 1 pinseq=8 T 450 2000 9 8 1 1 0 0 1 pinlabel=PD4 (OC1B) T 450 2000 5 8 0 1 0 2 1 pintype=io } P 100 2400 400 2400 1 0 0 { T 300 2450 5 8 1 1 0 6 1 pinnumber=17 T 300 2350 5 8 0 1 0 8 1 pinseq=9 T 450 2400 9 8 1 1 0 0 1 pinlabel=PD3 (INT1) T 450 2400 5 8 0 1 0 2 1 pintype=io } P 100 2800 400 2800 1 0 0 { T 300 2850 5 8 1 1 0 6 1 pinnumber=16 T 300 2750 5 8 0 1 0 8 1 pinseq=10 T 450 2800 9 8 1 1 0 0 1 pinlabel=PD2 (INT0) T 450 2800 5 8 0 1 0 2 1 pintype=io } P 100 3200 400 3200 1 0 0 { T 300 3250 5 8 1 1 0 6 1 pinnumber=15 T 300 3150 5 8 0 1 0 8 1 pinseq=11 T 450 3200 9 8 1 1 0 0 1 pinlabel=PD1 (TXD) T 450 3200 5 8 0 1 0 2 1 pintype=io } P 100 3600 400 3600 1 0 0 { T 300 3650 5 8 1 1 0 6 1 pinnumber=14 T 300 3550 5 8 0 1 0 8 1 pinseq=12 T 450 3600 9 8 1 1 0 0 1 pinlabel=PD0 (RXD) T 450 3600 5 8 0 1 0 2 1 pintype=io } P 100 4200 400 4200 1 0 0 { T 300 4250 5 8 1 1 0 6 1 pinnumber=8 T 300 4150 5 8 0 1 0 8 1 pinseq=13 T 450 4200 9 8 1 1 0 0 1 pinlabel=PB7 (SCK) T 450 4200 5 8 0 1 0 2 1 pintype=io } P 100 4600 400 4600 1 0 0 { T 300 4650 5 8 1 1 0 6 1 pinnumber=7 T 300 4550 5 8 0 1 0 8 1 pinseq=14 T 450 4600 9 8 1 1 0 0 1 pinlabel=PB6 (MISO) T 450 4600 5 8 0 1 0 2 1 pintype=io } P 100 5000 400 5000 1 0 0 { T 300 5050 5 8 1 1 0 6 1 pinnumber=6 T 300 4950 5 8 0 1 0 8 1 pinseq=15 T 450 5000 9 8 1 1 0 0 1 pinlabel=PB5 (MOSI) T 450 5000 5 8 0 1 0 2 1 pintype=io } P 100 5400 400 5400 1 0 0 { T 300 5450 5 8 1 1 0 6 1 pinnumber=5 T 300 5350 5 8 0 1 0 8 1 pinseq=16 T 450 5400 9 8 1 1 0 0 1 pinlabel=PB4 (\_SS\_) T 450 5400 5 8 0 1 0 2 1 pintype=io } P 100 5800 400 5800 1 0 0 { T 300 5850 5 8 1 1 0 6 1 pinnumber=4 T 300 5750 5 8 0 1 0 8 1 pinseq=17 T 450 5800 9 8 1 1 0 0 1 pinlabel=PB3 (OC0/AIN1) T 450 5800 5 8 0 1 0 2 1 pintype=io } P 100 6200 400 6200 1 0 0 { T 300 6250 5 8 1 1 0 6 1 pinnumber=3 T 300 6150 5 8 0 1 0 8 1 pinseq=18 T 450 6200 9 8 1 1 0 0 1 pinlabel=PB2 (INT2/AIN0) T 450 6200 5 8 0 1 0 2 1 pintype=io } P 100 6600 400 6600 1 0 0 { T 300 6650 5 8 1 1 0 6 1 pinnumber=2 T 300 6550 5 8 0 1 0 8 1 pinseq=19 T 450 6600 9 8 1 1 0 0 1 pinlabel=PB1 (T1) T 450 6600 5 8 0 1 0 2 1 pintype=io } P 100 7000 400 7000 1 0 0 { T 300 7050 5 8 1 1 0 6 1 pinnumber=1 T 300 6950 5 8 0 1 0 8 1 pinseq=20 T 450 7000 9 8 1 1 0 0 1 pinlabel=PB0 (XCK/T0) T 450 7000 5 8 0 1 0 2 1 pintype=io } P 3300 800 3000 800 1 0 0 { T 3100 850 5 8 1 1 0 0 1 pinnumber=29 T 3100 750 5 8 0 1 0 2 1 pinseq=21 T 2950 800 9 8 1 1 0 6 1 pinlabel=(TOSC2) PC7 T 2950 800 5 8 0 1 0 8 1 pintype=io } P 3300 1200 3000 1200 1 0 0 { T 3100 1250 5 8 1 1 0 0 1 pinnumber=28 T 3100 1150 5 8 0 1 0 2 1 pinseq=22 T 2950 1200 9 8 1 1 0 6 1 pinlabel=(TOSC1) PC6 T 2950 1200 5 8 0 1 0 8 1 pintype=io } P 3300 1600 3000 1600 1 0 0 { T 3100 1650 5 8 1 1 0 0 1 pinnumber=27 T 3100 1550 5 8 0 1 0 2 1 pinseq=23 T 2950 1600 9 8 1 1 0 6 1 pinlabel=PC5 (TDI) T 2950 1600 5 8 0 1 0 8 1 pintype=io } P 3300 2000 3000 2000 1 0 0 { T 3100 2050 5 8 1 1 0 0 1 pinnumber=26 T 3100 1950 5 8 0 1 0 2 1 pinseq=24 T 2950 2000 9 8 1 1 0 6 1 pinlabel=PC4 (TDO) T 2950 2000 5 8 0 1 0 8 1 pintype=io } P 3300 2400 3000 2400 1 0 0 { T 3100 2450 5 8 1 1 0 0 1 pinnumber=25 T 3100 2350 5 8 0 1 0 2 1 pinseq=25 T 2950 2400 9 8 1 1 0 6 1 pinlabel=PC3 (TMS) T 2950 2400 5 8 0 1 0 8 1 pintype=io } P 3300 2800 3000 2800 1 0 0 { T 3100 2850 5 8 1 1 0 0 1 pinnumber=24 T 3100 2750 5 8 0 1 0 2 1 pinseq=26 T 2950 2800 9 8 1 1 0 6 1 pinlabel=PC2 (TCK) T 2950 2800 5 8 0 1 0 8 1 pintype=io } P 3300 3200 3000 3200 1 0 0 { T 3100 3250 5 8 1 1 0 0 1 pinnumber=23 T 3100 3150 5 8 0 1 0 2 1 pinseq=27 T 2950 3200 9 8 1 1 0 6 1 pinlabel=(SDA) PC1 T 2950 3200 5 8 0 1 0 8 1 pintype=io } P 3300 3600 3000 3600 1 0 0 { T 3100 3650 5 8 1 1 0 0 1 pinnumber=22 T 3100 3550 5 8 0 1 0 2 1 pinseq=28 T 2950 3600 9 8 1 1 0 6 1 pinlabel=(SCL) PC0 T 2950 3600 5 8 0 1 0 8 1 pintype=io } P 3300 4200 3000 4200 1 0 0 { T 3100 4250 5 8 1 1 0 0 1 pinnumber=33 T 3100 4150 5 8 0 1 0 2 1 pinseq=29 T 2950 4200 9 8 1 1 0 6 1 pinlabel=(ADC7) PA7 T 2950 4200 5 8 0 1 0 8 1 pintype=io } P 3300 4600 3000 4600 1 0 0 { T 3100 4650 5 8 1 1 0 0 1 pinnumber=34 T 3100 4550 5 8 0 1 0 2 1 pinseq=30 T 2950 4600 9 8 1 1 0 6 1 pinlabel=(ADC6) PA6 T 2950 4600 5 8 0 1 0 8 1 pintype=io } P 3300 5000 3000 5000 1 0 0 { T 3100 5050 5 8 1 1 0 0 1 pinnumber=35 T 3100 4950 5 8 0 1 0 2 1 pinseq=31 T 2950 5000 9 8 1 1 0 6 1 pinlabel=(ADC5) PA5 T 2950 5000 5 8 0 1 0 8 1 pintype=io } P 3300 5400 3000 5400 1 0 0 { T 3100 5450 5 8 1 1 0 0 1 pinnumber=36 T 3100 5350 5 8 0 1 0 2 1 pinseq=32 T 2950 5400 9 8 1 1 0 6 1 pinlabel=(ADC4) PA4 T 2950 5400 5 8 0 1 0 8 1 pintype=io } P 3300 5800 3000 5800 1 0 0 { T 3100 5850 5 8 1 1 0 0 1 pinnumber=37 T 3100 5750 5 8 0 1 0 2 1 pinseq=33 T 2950 5800 9 8 1 1 0 6 1 pinlabel=(ADC3) PA3 T 2950 5800 5 8 0 1 0 8 1 pintype=io } P 3300 6200 3000 6200 1 0 0 { T 3100 6250 5 8 1 1 0 0 1 pinnumber=38 T 3100 6150 5 8 0 1 0 2 1 pinseq=34 T 2950 6200 9 8 1 1 0 6 1 pinlabel=(ADC2) PA2 T 2950 6200 5 8 0 1 0 8 1 pintype=io } P 3300 6600 3000 6600 1 0 0 { T 3100 6650 5 8 1 1 0 0 1 pinnumber=39 T 3100 6550 5 8 0 1 0 2 1 pinseq=35 T 2950 6600 9 8 1 1 0 6 1 pinlabel=(ADC1) PA1 T 2950 6600 5 8 0 1 0 8 1 pintype=io } P 3300 7000 3000 7000 1 0 0 { T 3100 7050 5 8 1 1 0 0 1 pinnumber=40 T 3100 6950 5 8 0 1 0 2 1 pinseq=36 T 2950 7000 9 8 1 1 0 6 1 pinlabel=(ADC0) PA0 T 2950 7000 5 8 0 1 0 8 1 pintype=io } B 400 400 2600 7000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 8850 8 10 0 0 0 0 1 description=8-bit RISC micro controller (Atmel) T 400 9050 8 10 0 0 0 0 1 numslots=0 T 400 9250 8 10 0 0 0 0 1 author=Jaroslaw Juda T 400 7450 9 10 1 0 0 0 1 ATmega16 geda-gaf-1.8.2/symbols/micro/8086-1.sym0000664000175000017500000001771712204104272014205 00000000000000v 20070626 1 P 0 6800 300 6800 1 0 0 { T 200 6850 5 8 1 1 0 6 1 pinnumber=1 T 200 6750 5 8 0 1 0 8 1 pinseq=1 T 350 6800 9 8 1 1 0 0 1 pinlabel=GND T 350 6800 5 8 0 1 0 2 1 pintype=pwr } P 0 6300 300 6300 1 0 0 { T 200 6350 5 8 1 1 0 6 1 pinnumber=2 T 200 6250 5 8 0 1 0 8 1 pinseq=2 T 350 6300 9 8 1 1 0 0 1 pinlabel=AD14 T 350 6300 5 8 0 1 0 2 1 pintype=io } P 0 6000 300 6000 1 0 0 { T 200 6050 5 8 1 1 0 6 1 pinnumber=3 T 200 5950 5 8 0 1 0 8 1 pinseq=3 T 350 6000 9 8 1 1 0 0 1 pinlabel=AD13 T 350 6000 5 8 0 1 0 2 1 pintype=io } P 0 5700 300 5700 1 0 0 { T 200 5750 5 8 1 1 0 6 1 pinnumber=4 T 200 5650 5 8 0 1 0 8 1 pinseq=4 T 350 5700 9 8 1 1 0 0 1 pinlabel=AD12 T 350 5700 5 8 0 1 0 2 1 pintype=io } P 0 5400 300 5400 1 0 0 { T 200 5450 5 8 1 1 0 6 1 pinnumber=5 T 200 5350 5 8 0 1 0 8 1 pinseq=5 T 350 5400 9 8 1 1 0 0 1 pinlabel=AD11 T 350 5400 5 8 0 1 0 2 1 pintype=io } P 0 5100 300 5100 1 0 0 { T 200 5150 5 8 1 1 0 6 1 pinnumber=6 T 200 5050 5 8 0 1 0 8 1 pinseq=6 T 350 5100 9 8 1 1 0 0 1 pinlabel=AD10 T 350 5100 5 8 0 1 0 2 1 pintype=io } P 0 4800 300 4800 1 0 0 { T 200 4850 5 8 1 1 0 6 1 pinnumber=7 T 200 4750 5 8 0 1 0 8 1 pinseq=7 T 350 4800 9 8 1 1 0 0 1 pinlabel=AD9 T 350 4800 5 8 0 1 0 2 1 pintype=io } P 0 4500 300 4500 1 0 0 { T 200 4550 5 8 1 1 0 6 1 pinnumber=8 T 200 4450 5 8 0 1 0 8 1 pinseq=8 T 350 4500 9 8 1 1 0 0 1 pinlabel=AD8 T 350 4500 5 8 0 1 0 2 1 pintype=io } P 0 4000 300 4000 1 0 0 { T 200 4050 5 8 1 1 0 6 1 pinnumber=9 T 200 3950 5 8 0 1 0 8 1 pinseq=9 T 350 4000 9 8 1 1 0 0 1 pinlabel=AD7 T 350 4000 5 8 0 1 0 2 1 pintype=io } P 0 3700 300 3700 1 0 0 { T 200 3750 5 8 1 1 0 6 1 pinnumber=10 T 200 3650 5 8 0 1 0 8 1 pinseq=10 T 350 3700 9 8 1 1 0 0 1 pinlabel=AD6 T 350 3700 5 8 0 1 0 2 1 pintype=io } P 0 3400 300 3400 1 0 0 { T 200 3450 5 8 1 1 0 6 1 pinnumber=11 T 200 3350 5 8 0 1 0 8 1 pinseq=11 T 350 3400 9 8 1 1 0 0 1 pinlabel=AD5 T 350 3400 5 8 0 1 0 2 1 pintype=io } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=12 T 200 3050 5 8 0 1 0 8 1 pinseq=12 T 350 3100 9 8 1 1 0 0 1 pinlabel=AD4 T 350 3100 5 8 0 1 0 2 1 pintype=io } P 0 2800 300 2800 1 0 0 { T 200 2850 5 8 1 1 0 6 1 pinnumber=13 T 200 2750 5 8 0 1 0 8 1 pinseq=13 T 350 2800 9 8 1 1 0 0 1 pinlabel=AD3 T 350 2800 5 8 0 1 0 2 1 pintype=io } P 0 2500 300 2500 1 0 0 { T 200 2550 5 8 1 1 0 6 1 pinnumber=14 T 200 2450 5 8 0 1 0 8 1 pinseq=14 T 350 2500 9 8 1 1 0 0 1 pinlabel=AD2 T 350 2500 5 8 0 1 0 2 1 pintype=io } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=15 T 200 2150 5 8 0 1 0 8 1 pinseq=15 T 350 2200 9 8 1 1 0 0 1 pinlabel=AD1 T 350 2200 5 8 0 1 0 2 1 pintype=io } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=16 T 200 1850 5 8 0 1 0 8 1 pinseq=16 T 350 1900 9 8 1 1 0 0 1 pinlabel=AD0 T 350 1900 5 8 0 1 0 2 1 pintype=io } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=17 T 200 1450 5 8 0 1 0 8 1 pinseq=17 T 350 1500 9 8 1 1 0 0 1 pinlabel=NMI T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1200 300 1200 1 0 0 { T 200 1250 5 8 1 1 0 6 1 pinnumber=18 T 200 1150 5 8 0 1 0 8 1 pinseq=18 T 350 1200 9 8 1 1 0 0 1 pinlabel=INTR T 350 1200 5 8 0 1 0 2 1 pintype=in } P 0 800 300 800 1 0 0 { T 200 850 5 8 1 1 0 6 1 pinnumber=19 T 200 750 5 8 0 1 0 8 1 pinseq=19 T 375 800 9 8 1 1 0 0 1 pinlabel=CLK T 375 800 5 8 0 1 0 2 1 pintype=clk } P 0 400 300 400 1 0 0 { T 200 450 5 8 1 1 0 6 1 pinnumber=20 T 200 350 5 8 0 1 0 8 1 pinseq=20 T 350 400 9 8 1 1 0 0 1 pinlabel=GND T 350 400 5 8 0 1 0 2 1 pintype=pwr } P 2300 6800 2600 6800 1 0 1 { T 2400 6850 5 8 1 1 0 0 1 pinnumber=40 T 2400 6750 5 8 0 1 0 2 1 pinseq=40 T 2250 6800 9 8 1 1 0 6 1 pinlabel=Vcc T 2250 6800 5 8 0 1 0 8 1 pintype=pwr } P 2300 6400 2600 6400 1 0 1 { T 2400 6450 5 8 1 1 0 0 1 pinnumber=39 T 2400 6350 5 8 0 1 0 2 1 pinseq=39 T 2250 6400 9 8 1 1 0 6 1 pinlabel=AD15 T 2250 6400 5 8 0 1 0 8 1 pintype=io } P 2300 6100 2600 6100 1 0 1 { T 2400 6150 5 8 1 1 0 0 1 pinnumber=38 T 2400 6050 5 8 0 1 0 2 1 pinseq=38 T 2250 6100 9 8 1 1 0 6 1 pinlabel=A16/S3 T 2250 6100 5 8 0 1 0 8 1 pintype=out } P 2300 5800 2600 5800 1 0 1 { T 2400 5850 5 8 1 1 0 0 1 pinnumber=37 T 2400 5750 5 8 0 1 0 2 1 pinseq=37 T 2250 5800 9 8 1 1 0 6 1 pinlabel=A17/S4 T 2250 5800 5 8 0 1 0 8 1 pintype=out } P 2300 5500 2600 5500 1 0 1 { T 2400 5550 5 8 1 1 0 0 1 pinnumber=36 T 2400 5450 5 8 0 1 0 2 1 pinseq=36 T 2250 5500 9 8 1 1 0 6 1 pinlabel=A18/S5 T 2250 5500 5 8 0 1 0 8 1 pintype=out } P 2300 5200 2600 5200 1 0 1 { T 2400 5250 5 8 1 1 0 0 1 pinnumber=35 T 2400 5150 5 8 0 1 0 2 1 pinseq=35 T 2250 5200 9 8 1 1 0 6 1 pinlabel=A19/S6 T 2250 5200 5 8 0 1 0 8 1 pintype=out } V 2350 4800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2400 4800 2600 4800 1 0 1 { T 2400 4850 5 8 1 1 0 0 1 pinnumber=34 T 2400 4750 5 8 0 1 0 2 1 pinseq=34 T 2250 4800 9 8 1 1 0 6 1 pinlabel=\_BHE\_/S7 T 2250 4800 5 8 0 1 0 8 1 pintype=out } P 2300 4500 2600 4500 1 0 1 { T 2400 4550 5 8 1 1 0 0 1 pinnumber=33 T 2400 4450 5 8 0 1 0 2 1 pinseq=33 T 2250 4500 9 8 1 1 0 6 1 pinlabel=MN/\_MX\_ T 2250 4500 5 8 0 1 0 8 1 pintype=in } V 2350 4100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2400 4100 2600 4100 1 0 1 { T 2400 4150 5 8 1 1 0 0 1 pinnumber=32 T 2400 4050 5 8 0 1 0 2 1 pinseq=32 T 2250 4100 9 8 1 1 0 6 1 pinlabel=\_RD\_ T 2250 4100 5 8 0 1 0 8 1 pintype=out } P 2400 3800 2600 3800 1 0 1 { T 2400 3850 5 8 1 1 0 0 1 pinnumber=31 T 2400 3750 5 8 0 1 0 2 1 pinseq=31 T 2250 3800 9 8 1 1 0 6 1 pinlabel=(HOLD) \_RQ\_/\_GT0\_ T 2250 3800 5 8 0 1 0 8 1 pintype=io } P 2400 3500 2600 3500 1 0 1 { T 2400 3550 5 8 1 1 0 0 1 pinnumber=30 T 2400 3450 5 8 0 1 0 2 1 pinseq=30 T 2250 3500 9 8 1 1 0 6 1 pinlabel=(HLDA) \_RQ\_/\_GT1\_ T 2250 3500 5 8 0 1 0 8 1 pintype=io } P 2400 3200 2600 3200 1 0 1 { T 2400 3250 5 8 1 1 0 0 1 pinnumber=29 T 2400 3150 5 8 0 1 0 2 1 pinseq=29 T 2250 3200 9 8 1 1 0 6 1 pinlabel=(\_WR\_) \_LOCK\_ T 2250 3200 5 8 0 1 0 8 1 pintype=out } P 2400 2900 2600 2900 1 0 1 { T 2400 2950 5 8 1 1 0 0 1 pinnumber=28 T 2400 2850 5 8 0 1 0 2 1 pinseq=28 T 2250 2900 9 8 1 1 0 6 1 pinlabel=(M/\_IO\_) \_S2\_ T 2250 2900 5 8 0 1 0 8 1 pintype=out } P 2400 2600 2600 2600 1 0 1 { T 2400 2650 5 8 1 1 0 0 1 pinnumber=27 T 2400 2550 5 8 0 1 0 2 1 pinseq=27 T 2250 2600 9 8 1 1 0 6 1 pinlabel=(DT/\_R\_) \_S1\_ T 2250 2600 5 8 0 1 0 8 1 pintype=out } V 2350 2300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2400 2300 2600 2300 1 0 1 { T 2400 2350 5 8 1 1 0 0 1 pinnumber=26 T 2400 2250 5 8 0 1 0 2 1 pinseq=26 T 2250 2300 9 8 1 1 0 6 1 pinlabel=(\_DEN\_) \_S0\_ T 2250 2300 5 8 0 1 0 8 1 pintype=out } P 2300 2000 2600 2000 1 0 1 { T 2400 2050 5 8 1 1 0 0 1 pinnumber=25 T 2400 1950 5 8 0 1 0 2 1 pinseq=25 T 2250 2000 9 8 1 1 0 6 1 pinlabel=(ALE) QS0 T 2250 2000 5 8 0 1 0 8 1 pintype=out } P 2300 1600 2600 1600 1 0 1 { T 2400 1650 5 8 1 1 0 0 1 pinnumber=24 T 2400 1550 5 8 0 1 0 2 1 pinseq=24 T 2250 1600 9 8 1 1 0 6 1 pinlabel=(\_INTA\_) QS1 T 2250 1600 5 8 0 1 0 8 1 pintype=out } V 2350 1100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2400 1100 2600 1100 1 0 1 { T 2400 1150 5 8 1 1 0 0 1 pinnumber=23 T 2400 1050 5 8 0 1 0 2 1 pinseq=23 T 2250 1100 9 8 1 1 0 6 1 pinlabel=\_TEST\_ T 2250 1100 5 8 0 1 0 8 1 pintype=in } P 2300 800 2600 800 1 0 1 { T 2400 850 5 8 1 1 0 0 1 pinnumber=22 T 2400 750 5 8 0 1 0 2 1 pinseq=22 T 2250 800 9 8 1 1 0 6 1 pinlabel=READY T 2250 800 5 8 0 1 0 8 1 pintype=in } P 2300 400 2600 400 1 0 1 { T 2400 450 5 8 1 1 0 0 1 pinnumber=21 T 2400 350 5 8 0 1 0 2 1 pinseq=21 T 2250 400 9 8 1 1 0 6 1 pinlabel=RESET T 2250 400 5 8 0 1 0 8 1 pintype=in } B 300 300 2000 6700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 7250 5 10 0 0 0 0 1 device=8086 T 2300 7100 8 10 1 1 0 6 1 refdes=U? T 300 7450 5 10 0 0 0 0 1 footprint=DIP40 T 300 7850 5 10 0 0 0 0 1 description=16-bit HMOS microprocessor T 300 7650 5 10 0 0 0 0 1 numslots=0 T 300 8050 5 10 0 0 0 0 1 author=Werner Hoch T 300 7050 9 10 1 0 0 0 1 8086 L 375 800 300 875 3 0 0 0 -1 -1 L 375 800 300 750 3 0 0 0 -1 -1 V 2350 2600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 2350 2900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 2350 3500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 2350 3800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 2350 3200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/micro/mc68hc811e2fn-1.sym0000664000175000017500000002337712204104272015674 00000000000000v 20031231 1 T 300 5450 9 10 1 0 0 0 1 MC68HC811E2FN P 0 3800 300 3800 1 0 0 { T 200 3850 5 8 1 1 0 6 1 pinnumber=43 T 200 3750 5 8 0 1 0 8 1 pinseq=43 T 350 3800 5 8 0 1 0 2 1 pintype=in T 350 3800 9 8 1 1 0 0 1 pinlabel=PE0/AN0 } P 0 4000 300 4000 1 0 0 { T 200 4050 5 8 1 1 0 6 1 pinnumber=45 T 200 3950 5 8 0 1 0 8 1 pinseq=45 T 350 4000 5 8 0 1 0 2 1 pintype=in T 350 4000 9 8 1 1 0 0 1 pinlabel=PE1/AN1 } P 3100 600 3400 600 1 0 1 { T 3200 650 5 8 1 1 0 0 1 pinnumber=17 T 3200 550 5 8 0 1 0 2 1 pinseq=17 T 3050 600 5 8 0 1 0 8 1 pintype=io T 3050 600 9 8 1 1 0 6 1 pinlabel=~RESET } P 3100 800 3400 800 1 0 1 { T 3200 850 5 8 1 1 0 0 1 pinnumber=2 T 3200 750 5 8 0 1 0 2 1 pinseq=2 T 3050 800 5 8 0 1 0 8 1 pintype=in T 3050 800 9 8 1 1 0 6 1 pinlabel=MODB/VSTBY } P 3100 1000 3400 1000 1 0 1 { T 3200 1050 5 8 1 1 0 0 1 pinnumber=3 T 3200 950 5 8 0 1 0 2 1 pinseq=3 T 3050 1000 5 8 0 1 0 8 1 pintype=io T 3050 1000 9 8 1 1 0 6 1 pinlabel=MODA/~LIR } P 3100 1200 3400 1200 1 0 1 { T 3200 1250 5 8 1 1 0 0 1 pinnumber=4 T 3200 1150 5 8 0 1 0 2 1 pinseq=4 T 3050 1200 5 8 0 1 0 8 1 pintype=io T 3050 1200 9 8 1 1 0 6 1 pinlabel=STRA/AS } P 3100 1400 3400 1400 1 0 1 { T 3200 1450 5 8 1 1 0 0 1 pinnumber=5 T 3200 1350 5 8 0 1 0 2 1 pinseq=5 T 3050 1400 5 8 0 1 0 8 1 pintype=out T 3050 1400 9 8 1 1 0 6 1 pinlabel=E } P 3100 1600 3400 1600 1 0 1 { T 3200 1650 5 8 1 1 0 0 1 pinnumber=6 T 3200 1550 5 8 0 1 0 2 1 pinseq=6 T 3050 1600 5 8 0 1 0 8 1 pintype=out T 3050 1600 9 8 1 1 0 6 1 pinlabel=STRB/R/~W } P 3100 1800 3400 1800 1 0 1 { T 3200 1850 5 8 1 1 0 0 1 pinnumber=7 T 3200 1750 5 8 0 1 0 2 1 pinseq=7 T 3050 1800 5 8 0 1 0 8 1 pintype=io T 3050 1800 9 8 1 1 0 6 1 pinlabel=EXTAL } P 3100 2000 3400 2000 1 0 1 { T 3200 2050 5 8 1 1 0 0 1 pinnumber=8 T 3200 1950 5 8 0 1 0 2 1 pinseq=8 T 3050 2000 5 8 0 1 0 8 1 pintype=io T 3050 2000 9 8 1 1 0 6 1 pinlabel=XTAL } P 3100 3800 3400 3800 1 0 1 { T 3200 3850 5 8 1 1 0 0 1 pinnumber=42 T 3200 3750 5 8 0 1 0 2 1 pinseq=42 T 3050 3800 5 8 0 1 0 8 1 pintype=out T 3050 3800 9 8 1 1 0 6 1 pinlabel=PB0/ADDR8 } P 3100 4000 3400 4000 1 0 1 { T 3200 4050 5 8 1 1 0 0 1 pinnumber=41 T 3200 3950 5 8 0 1 0 2 1 pinseq=41 T 3050 4000 5 8 0 1 0 8 1 pintype=out T 3050 4000 9 8 1 1 0 6 1 pinlabel=PB1/ADDR9 } P 3100 4200 3400 4200 1 0 1 { T 3200 4250 5 8 1 1 0 0 1 pinnumber=40 T 3200 4150 5 8 0 1 0 2 1 pinseq=40 T 3050 4200 5 8 0 1 0 8 1 pintype=out T 3050 4200 9 8 1 1 0 6 1 pinlabel=PB2/ADDR10 } P 3100 4400 3400 4400 1 0 1 { T 3200 4450 5 8 1 1 0 0 1 pinnumber=39 T 3200 4350 5 8 0 1 0 2 1 pinseq=39 T 3050 4400 5 8 0 1 0 8 1 pintype=out T 3050 4400 9 8 1 1 0 6 1 pinlabel=PB3/ADDR11 } P 3100 4600 3400 4600 1 0 1 { T 3200 4650 5 8 1 1 0 0 1 pinnumber=38 T 3200 4550 5 8 0 1 0 2 1 pinseq=38 T 3050 4600 5 8 0 1 0 8 1 pintype=out T 3050 4600 9 8 1 1 0 6 1 pinlabel=PB4/ADDR12 } P 3100 4800 3400 4800 1 0 1 { T 3200 4850 5 8 1 1 0 0 1 pinnumber=37 T 3200 4750 5 8 0 1 0 2 1 pinseq=37 T 3050 4800 5 8 0 1 0 8 1 pintype=out T 3050 4800 9 8 1 1 0 6 1 pinlabel=PB5/ADDR13 } P 3100 5000 3400 5000 1 0 1 { T 3200 5050 5 8 1 1 0 0 1 pinnumber=36 T 3200 4950 5 8 0 1 0 2 1 pinseq=36 T 3050 5000 5 8 0 1 0 8 1 pintype=out T 3050 5000 9 8 1 1 0 6 1 pinlabel=PB6/ADDR14 } P 3100 5200 3400 5200 1 0 1 { T 3200 5250 5 8 1 1 0 0 1 pinnumber=35 T 3200 5150 5 8 0 1 0 2 1 pinseq=35 T 3050 5200 5 8 0 1 0 8 1 pintype=out T 3050 5200 9 8 1 1 0 6 1 pinlabel=PB7/ADDR15 } P 0 4200 300 4200 1 0 0 { T 200 4250 5 8 1 1 0 6 1 pinnumber=47 T 200 4150 5 8 0 1 0 8 1 pinseq=47 T 350 4200 5 8 0 1 0 2 1 pintype=in T 350 4200 9 8 1 1 0 0 1 pinlabel=PE2/AN2 } P 0 4400 300 4400 1 0 0 { T 200 4450 5 8 1 1 0 6 1 pinnumber=49 T 200 4350 5 8 0 1 0 8 1 pinseq=49 T 350 4400 5 8 0 1 0 2 1 pintype=in T 350 4400 9 8 1 1 0 0 1 pinlabel=PE3/AN3 } P 0 4600 300 4600 1 0 0 { T 200 4650 5 8 1 1 0 6 1 pinnumber=44 T 200 4550 5 8 0 1 0 8 1 pinseq=44 T 350 4600 5 8 0 1 0 2 1 pintype=in T 350 4600 9 8 1 1 0 0 1 pinlabel=PE4/AN4 } P 0 4800 300 4800 1 0 0 { T 200 4850 5 8 1 1 0 6 1 pinnumber=46 T 200 4750 5 8 0 1 0 8 1 pinseq=46 T 350 4800 5 8 0 1 0 2 1 pintype=in T 350 4800 9 8 1 1 0 0 1 pinlabel=PE5/AN5 } P 0 5000 300 5000 1 0 0 { T 200 5050 5 8 1 1 0 6 1 pinnumber=48 T 200 4950 5 8 0 1 0 8 1 pinseq=48 T 350 5000 5 8 0 1 0 2 1 pintype=in T 350 5000 9 8 1 1 0 0 1 pinlabel=PE6/AN6 } P 0 5200 300 5200 1 0 0 { T 200 5250 5 8 1 1 0 6 1 pinnumber=50 T 200 5150 5 8 0 1 0 8 1 pinseq=50 T 350 5200 5 8 0 1 0 2 1 pintype=in T 350 5200 9 8 1 1 0 0 1 pinlabel=PE7/AN7 } P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=20 T 200 950 5 8 0 1 0 8 1 pinseq=20 T 350 1000 5 8 0 1 0 2 1 pintype=io T 350 1000 9 8 1 1 0 0 1 pinlabel=PD0/RXD } P 0 1200 300 1200 1 0 0 { T 200 1250 5 8 1 1 0 6 1 pinnumber=21 T 200 1150 5 8 0 1 0 8 1 pinseq=21 T 350 1200 5 8 0 1 0 2 1 pintype=io T 350 1200 9 8 1 1 0 0 1 pinlabel=PD1/TXD } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=22 T 200 1350 5 8 0 1 0 8 1 pinseq=22 T 350 1400 5 8 0 1 0 2 1 pintype=io T 350 1400 9 8 1 1 0 0 1 pinlabel=PD2/MISO } P 0 1600 300 1600 1 0 0 { T 200 1650 5 8 1 1 0 6 1 pinnumber=23 T 200 1550 5 8 0 1 0 8 1 pinseq=23 T 350 1600 5 8 0 1 0 2 1 pintype=io T 350 1600 9 8 1 1 0 0 1 pinlabel=PD3/MOSI } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=24 T 200 1750 5 8 0 1 0 8 1 pinseq=24 T 350 1800 5 8 0 1 0 2 1 pintype=io T 350 1800 9 8 1 1 0 0 1 pinlabel=PD4/SCK } P 0 2000 300 2000 1 0 0 { T 200 2050 5 8 1 1 0 6 1 pinnumber=25 T 200 1950 5 8 0 1 0 8 1 pinseq=25 T 350 2000 5 8 0 1 0 2 1 pintype=io T 350 2000 9 8 1 1 0 0 1 pinlabel=PD5/~SS } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=34 T 200 2150 5 8 0 1 0 8 1 pinseq=34 T 350 2200 5 8 0 1 0 2 1 pintype=io T 350 2200 9 8 1 1 0 0 1 pinlabel=PA0/IC3 } P 0 2400 300 2400 1 0 0 { T 200 2450 5 8 1 1 0 6 1 pinnumber=33 T 200 2350 5 8 0 1 0 8 1 pinseq=33 T 350 2400 5 8 0 1 0 2 1 pintype=io T 350 2400 9 8 1 1 0 0 1 pinlabel=PA1/IC2 } P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=32 T 200 2550 5 8 0 1 0 8 1 pinseq=32 T 350 2600 5 8 0 1 0 2 1 pintype=io T 350 2600 9 8 1 1 0 0 1 pinlabel=PA2/IC1 } P 0 2800 300 2800 1 0 0 { T 200 2850 5 8 1 1 0 6 1 pinnumber=31 T 200 2750 5 8 0 1 0 8 1 pinseq=31 T 350 2800 5 8 0 1 0 2 1 pintype=io T 350 2800 9 8 1 1 0 0 1 pinlabel=PA3/OC5/IC4/OC1 } P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=30 T 200 2950 5 8 0 1 0 8 1 pinseq=30 T 350 3000 5 8 0 1 0 2 1 pintype=io T 350 3000 9 8 1 1 0 0 1 pinlabel=PA4/OC4/OC1 } P 0 3200 300 3200 1 0 0 { T 200 3250 5 8 1 1 0 6 1 pinnumber=29 T 200 3150 5 8 0 1 0 8 1 pinseq=29 T 350 3200 5 8 0 1 0 2 1 pintype=io T 350 3200 9 8 1 1 0 0 1 pinlabel=PA5/OC3/OC1 } P 0 3400 300 3400 1 0 0 { T 200 3450 5 8 1 1 0 6 1 pinnumber=28 T 200 3350 5 8 0 1 0 8 1 pinseq=28 T 350 3400 5 8 0 1 0 2 1 pintype=io T 350 3400 9 8 1 1 0 0 1 pinlabel=PA6/OC2/OC1 } P 0 3600 300 3600 1 0 0 { T 200 3650 5 8 1 1 0 6 1 pinnumber=27 T 200 3550 5 8 0 1 0 8 1 pinseq=27 T 350 3600 5 8 0 1 0 2 1 pintype=io T 350 3600 9 8 1 1 0 0 1 pinlabel=PA7/PAI/OC1 } P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=1 T 200 150 5 8 0 1 0 8 1 pinseq=1 T 350 200 5 8 0 1 0 2 1 pintype=pwr T 350 200 9 8 1 1 0 0 1 pinlabel=VSS } P 0 400 300 400 1 0 0 { T 200 450 5 8 1 1 0 6 1 pinnumber=26 T 200 350 5 8 0 1 0 8 1 pinseq=26 T 350 400 5 8 0 1 0 2 1 pintype=pwr T 350 400 9 8 1 1 0 0 1 pinlabel=VDD } P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=51 T 200 550 5 8 0 1 0 8 1 pinseq=51 T 350 600 5 8 0 1 0 2 1 pintype=in T 350 600 9 8 1 1 0 0 1 pinlabel=VRL } P 0 800 300 800 1 0 0 { T 200 850 5 8 1 1 0 6 1 pinnumber=52 T 200 750 5 8 0 1 0 8 1 pinseq=52 T 350 800 5 8 0 1 0 2 1 pintype=in T 350 800 9 8 1 1 0 0 1 pinlabel=VRH } B 300 0 2800 5400 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 T 1050 5900 5 10 0 0 0 4 1 footprint=PLCC 52 P 3100 2200 3400 2200 1 0 1 { T 3200 2250 5 8 1 1 0 0 1 pinnumber=9 T 3200 2150 5 8 0 1 0 2 1 pinseq=9 T 3050 2200 5 8 0 1 0 8 1 pintype=io T 3050 2200 9 8 1 1 0 6 1 pinlabel=PC0/ADDR0/D0 } P 3100 2400 3400 2400 1 0 1 { T 3200 2450 5 8 1 1 0 0 1 pinnumber=10 T 3200 2350 5 8 0 1 0 2 1 pinseq=10 T 3050 2400 5 8 0 1 0 8 1 pintype=io T 3050 2400 9 8 1 1 0 6 1 pinlabel=PC1/ADDR1/D1 } P 3100 2600 3400 2600 1 0 1 { T 3200 2650 5 8 1 1 0 0 1 pinnumber=11 T 3200 2550 5 8 0 1 0 2 1 pinseq=11 T 3050 2600 5 8 0 1 0 8 1 pintype=io T 3050 2600 9 8 1 1 0 6 1 pinlabel=PC2/ADDR2/D2 } P 3100 2800 3400 2800 1 0 1 { T 3200 2850 5 8 1 1 0 0 1 pinnumber=12 T 3200 2750 5 8 0 1 0 2 1 pinseq=12 T 3050 2800 5 8 0 1 0 8 1 pintype=io T 3050 2800 9 8 1 1 0 6 1 pinlabel=PC3/ADDR3/D3 } P 3100 3000 3400 3000 1 0 1 { T 3200 3050 5 8 1 1 0 0 1 pinnumber=13 T 3200 2950 5 8 0 1 0 2 1 pinseq=13 T 3050 3000 5 8 0 1 0 8 1 pintype=io T 3050 3000 9 8 1 1 0 6 1 pinlabel=PC4/ADDR4/D4 } P 3100 3200 3400 3200 1 0 1 { T 3200 3250 5 8 1 1 0 0 1 pinnumber=14 T 3200 3150 5 8 0 1 0 2 1 pinseq=14 T 3050 3200 5 8 0 1 0 8 1 pintype=io T 3050 3200 9 8 1 1 0 6 1 pinlabel=PC5/ADDR5/D5 } P 3100 3400 3400 3400 1 0 1 { T 3200 3450 5 8 1 1 0 0 1 pinnumber=15 T 3200 3350 5 8 0 1 0 2 1 pinseq=15 T 3050 3400 5 8 0 1 0 8 1 pintype=io T 3050 3400 9 8 1 1 0 6 1 pinlabel=PC6/ADDR6/D6 } P 3100 3600 3400 3600 1 0 1 { T 3200 3650 5 8 1 1 0 0 1 pinnumber=16 T 3200 3550 5 8 0 1 0 2 1 pinseq=16 T 3050 3600 5 8 0 1 0 8 1 pintype=io T 3050 3600 9 8 1 1 0 6 1 pinlabel=PC7/ADDR7/D7 } P 3100 400 3400 400 1 0 1 { T 3200 450 5 8 1 1 0 0 1 pinnumber=18 T 3200 350 5 8 0 1 0 2 1 pinseq=18 T 3050 400 5 8 0 1 0 8 1 pintype=in T 3050 400 9 8 1 1 0 6 1 pinlabel=~XIRQ } P 3100 200 3400 200 1 0 1 { T 3200 250 5 8 1 1 0 0 1 pinnumber=19 T 3200 150 5 8 0 1 0 2 1 pinseq=19 T 3050 200 5 8 0 1 0 8 1 pintype=in T 3050 200 9 8 1 1 0 6 1 pinlabel=~IRQ } T 300 5650 5 10 0 0 0 0 1 device=MC68HC811E2FN T 3100 5500 8 10 1 1 0 6 1 refdes=U? T 300 6250 5 10 0 0 0 0 1 description=8-bit microcontroller (M68HC11 family) T 300 6050 5 10 0 0 0 0 1 numslots=0 T 300 6450 5 10 0 0 0 0 1 documentation=http://e-www.motorola.com/files/microcontrollers/doc/data_sheet/M68HC11E.pdf geda-gaf-1.8.2/symbols/micro/AT89C5132_TQFP-1.sym0000664000175000017500000003050012204104272015516 00000000000000v 20041228 1 B 400 100 3800 15500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 600 16000 8 10 0 0 0 0 1 net=Vdd:11,23,41,51,71 T 600 18400 8 10 0 0 0 0 1 author=Jim Duchek T 600 18200 8 10 0 0 0 0 1 description=8-bit 8051 compatible microcontroller w/USB (Atmel) T 600 16200 8 10 0 0 0 0 1 net=Vss:15,24,42,52,72 T 600 16600 8 10 0 0 0 0 1 net=PVss:14 T 600 16400 8 10 0 0 0 0 1 net=PVdd:12 T 600 17000 8 10 0 0 0 0 1 net=AVss:34 T 600 16800 8 10 0 0 0 0 1 net=AVdd:33 T 600 17800 8 10 0 0 0 0 1 footprint=TQFP80 T 600 17600 8 10 0 0 0 0 1 device=AT89C5132_TQFP T 600 18000 8 10 0 0 0 0 1 numslots=0 T 4000 15700 3 8 0 1 0 0 1 refdes=U? T 600 17400 8 10 0 0 0 0 1 net=UVss:20 T 600 17200 8 10 0 0 0 0 1 net=UVdd:19 T 600 15600 9 10 1 0 0 0 1 AT89C5132 P 100 15100 400 15100 1 0 0 { T 200 15200 5 8 1 1 0 0 1 pinnumber=3 T 500 15000 5 8 0 1 0 0 1 pintype=io T 500 15100 3 8 1 1 0 0 1 pinlabel=P1.0/KIN0 T 500 15200 5 8 0 1 0 0 1 pinseq=1 } P 100 14700 400 14700 1 0 0 { T 200 14800 5 8 1 1 0 0 1 pinnumber=4 T 500 14700 3 8 1 1 0 0 1 pinlabel=P1.1/KIN1 T 500 14600 5 8 0 1 0 0 1 pintype=io T 500 14700 5 8 0 1 0 0 1 pinseq=2 } P 100 14300 400 14300 1 0 0 { T 200 14400 5 8 1 1 0 0 1 pinnumber=5 T 500 14300 3 8 1 1 0 0 1 pinlabel=P1.2/KIN2 T 500 14200 5 8 0 1 0 0 1 pintype=io T 500 14400 5 8 0 1 0 0 1 pinseq=3 } P 100 13900 400 13900 1 0 0 { T 200 14000 5 8 1 1 0 0 1 pinnumber=6 T 500 13900 3 8 1 1 0 0 1 pinlabel=P1.3/KIN3 T 500 13800 5 8 0 1 0 0 1 pintype=io T 500 14000 5 8 0 1 0 0 1 pinseq=4 } P 100 13500 400 13500 1 0 0 { T 200 13600 5 8 1 1 0 0 1 pinnumber=7 T 500 13500 3 8 1 1 0 0 1 pinlabel=P1.4 T 500 13400 5 8 0 1 0 0 1 pintype=io T 500 13600 5 8 0 1 0 0 1 pinseq=5 } P 100 13100 400 13100 1 0 0 { T 200 13200 5 8 1 1 0 0 1 pinnumber=8 T 500 13100 3 8 1 1 0 0 1 pinlabel=P1.5 T 500 13000 5 8 0 1 0 0 1 pintype=io T 500 13200 5 8 0 1 0 0 1 pinseq=6 } P 100 12700 400 12700 1 0 0 { T 200 12800 5 8 1 1 0 0 1 pinnumber=9 T 500 12700 3 8 1 1 0 0 1 pinlabel=P1.6/SCL T 500 12600 5 8 0 1 0 0 1 pintype=io T 500 12800 5 8 0 1 0 0 1 pinseq=7 } P 100 12300 400 12300 1 0 0 { T 200 12400 5 8 1 1 0 0 1 pinnumber=10 T 500 12300 3 8 1 1 0 0 1 pinlabel=P1.7/SDA T 500 12200 5 8 0 1 0 0 1 pintype=io T 500 12400 5 8 0 1 0 0 1 pinseq=8 } P 4500 15100 4200 15100 1 0 0 { T 4300 15200 5 8 1 1 0 0 1 pinnumber=78 T 4100 15100 3 8 1 1 0 6 1 pinlabel=P0.0/AD0 T 4000 15000 5 8 0 1 0 0 1 pintype=io T 4000 15200 5 8 0 1 0 0 1 pinseq=9 } P 4500 14700 4200 14700 1 0 0 { T 4300 14800 5 8 1 1 0 0 1 pinnumber=77 T 4100 14700 3 8 1 1 0 6 1 pinlabel=P0.1/AD1 T 4000 14600 5 8 0 1 0 0 1 pintype=io T 4000 14800 5 8 0 1 0 0 1 pinseq=10 } P 4500 14300 4200 14300 1 0 0 { T 4300 14400 5 8 1 1 0 0 1 pinnumber=76 T 4100 14300 3 8 1 1 0 6 1 pinlabel=P0.2/AD2 T 4000 14200 5 8 0 1 0 0 1 pintype=io T 4000 14400 5 8 0 1 0 0 1 pinseq=11 } P 4500 13900 4200 13900 1 0 0 { T 4300 14000 5 8 1 1 0 0 1 pinnumber=75 T 4100 13900 3 8 1 1 0 6 1 pinlabel=P0.3/AD3 T 4000 13800 5 8 0 1 0 0 1 pintype=io T 4000 14000 5 8 0 1 0 0 1 pinseq=12 } P 4500 13500 4200 13500 1 0 0 { T 4300 13600 5 8 1 1 0 0 1 pinnumber=74 T 4100 13500 3 8 1 1 0 6 1 pinlabel=P0.4/AD4 T 4000 13400 5 8 0 1 0 0 1 pintype=io T 4000 13600 5 8 0 1 0 0 1 pinseq=13 } P 4500 13100 4200 13100 1 0 0 { T 4300 13200 5 8 1 1 0 0 1 pinnumber=73 T 4100 13100 3 8 1 1 0 6 1 pinlabel=P0.5/AD5 T 4000 13000 5 8 0 1 0 0 1 pintype=io T 4000 13200 5 8 0 1 0 0 1 pinseq=14 } P 4500 12700 4200 12700 1 0 0 { T 4300 12800 5 8 1 1 0 0 1 pinnumber=70 T 4100 12700 3 8 1 1 0 6 1 pinlabel=P0.6/AD6 T 4000 12600 5 8 0 1 0 0 1 pintype=io T 4000 12800 5 8 0 1 0 0 1 pinseq=15 } P 4500 12300 4200 12300 1 0 0 { T 4300 12400 5 8 1 1 0 0 1 pinnumber=69 T 4100 12300 3 8 1 1 0 6 1 pinlabel=P0.7/AD7 T 4000 12200 5 8 0 1 0 0 1 pintype=io T 4000 12400 5 8 0 1 0 0 1 pinseq=16 } P 100 8700 400 8700 1 0 0 { T 200 8800 5 8 1 1 0 0 1 pinnumber=32 T 500 8600 5 8 0 1 0 0 1 pintype=io T 500 8700 3 8 1 1 0 0 1 pinlabel=P3.7/~RD T 500 8800 5 8 0 1 0 0 1 pinseq=24 } P 100 11500 400 11500 1 0 0 { T 200 11600 5 8 1 1 0 0 1 pinnumber=25 T 500 11400 5 8 0 1 0 0 1 pintype=io T 500 11500 3 8 1 1 0 0 1 pinlabel=P3.0/RXD T 500 11600 5 8 0 1 0 0 1 pinseq=17 } P 100 11100 400 11100 1 0 0 { T 200 11200 5 8 1 1 0 0 1 pinnumber=26 T 500 11000 5 8 0 1 0 0 1 pintype=io T 500 11100 3 8 1 1 0 0 1 pinlabel=P3.1/TXD T 500 11200 5 8 0 1 0 0 1 pinseq=18 } P 100 10700 400 10700 1 0 0 { T 200 10800 5 8 1 1 0 0 1 pinnumber=27 T 500 10600 5 8 0 1 0 0 1 pintype=io T 500 10700 3 8 1 1 0 0 1 pinlabel=P3.2/~INT0 T 500 10800 5 8 0 1 0 0 1 pinseq=19 } P 100 10300 400 10300 1 0 0 { T 200 10400 5 8 1 1 0 0 1 pinnumber=28 T 500 10200 5 8 0 1 0 0 1 pintype=io T 500 10300 3 8 1 1 0 0 1 pinlabel=P3.3/~INT1 T 500 10400 5 8 0 1 0 0 1 pinseq=20 } P 100 9900 400 9900 1 0 0 { T 200 10000 5 8 1 1 0 0 1 pinnumber=29 T 500 9800 5 8 0 1 0 0 1 pintype=io T 500 9900 3 8 1 1 0 0 1 pinlabel=P3.4/T0 T 500 10000 5 8 0 1 0 0 1 pinseq=21 } P 100 9500 400 9500 1 0 0 { T 200 9600 5 8 1 1 0 0 1 pinnumber=30 T 500 9400 5 8 0 1 0 0 1 pintype=io T 500 9500 3 8 1 1 0 0 1 pinlabel=P3.5/T1 T 500 9600 5 8 0 1 0 0 1 pinseq=22 } P 100 9100 400 9100 1 0 0 { T 200 9200 5 8 1 1 0 0 1 pinnumber=31 T 500 9000 5 8 0 1 0 0 1 pintype=io T 500 9100 3 8 1 1 0 0 1 pinlabel=P3.6/~WR T 500 9200 5 8 0 1 0 0 1 pinseq=23 } P 4500 11500 4200 11500 1 0 0 { T 4300 11600 5 8 1 1 0 0 1 pinnumber=64 T 4100 11500 3 8 1 1 0 6 1 pinlabel=P2.0/A8 T 4000 11400 5 8 0 1 0 0 1 pintype=io T 3900 11600 5 8 0 1 0 0 1 pinseq=25 } P 4500 11100 4200 11100 1 0 0 { T 4300 11200 5 8 1 1 0 0 1 pinnumber=63 T 4100 11100 3 8 1 1 0 6 1 pinlabel=P2.1/A9 T 4000 11000 5 8 0 1 0 0 1 pintype=io T 3900 11200 5 8 0 1 0 0 1 pinseq=26 } P 4500 10700 4200 10700 1 0 0 { T 4300 10800 5 8 1 1 0 0 1 pinnumber=58 T 4100 10700 3 8 1 1 0 6 1 pinlabel=P2.2/A10 T 4000 10600 5 8 0 1 0 0 1 pintype=io T 3900 10800 5 8 0 1 0 0 1 pinseq=27 } P 4500 10300 4200 10300 1 0 0 { T 4300 10400 5 8 1 1 0 0 1 pinnumber=57 T 4100 10300 3 8 1 1 0 6 1 pinlabel=P2.3/A11 T 4000 10200 5 8 0 1 0 0 1 pintype=io T 3900 10400 5 8 0 1 0 0 1 pinseq=28 } P 4500 9900 4200 9900 1 0 0 { T 4300 10000 5 8 1 1 0 0 1 pinnumber=56 T 4100 9900 3 8 1 1 0 6 1 pinlabel=P2.4/A12 T 4000 9800 5 8 0 1 0 0 1 pintype=io T 3900 10000 5 8 0 1 0 0 1 pinseq=29 } P 4500 9500 4200 9500 1 0 0 { T 4300 9600 5 8 1 1 0 0 1 pinnumber=55 T 4100 9500 3 8 1 1 0 6 1 pinlabel=P2.5/A13 T 4000 9400 5 8 0 1 0 0 1 pintype=io T 3900 9600 5 8 0 1 0 0 1 pinseq=30 } P 4500 9100 4200 9100 1 0 0 { T 4300 9200 5 8 1 1 0 0 1 pinnumber=54 T 4100 9100 3 8 1 1 0 6 1 pinlabel=P2.6/A14 T 4000 9000 5 8 0 1 0 0 1 pintype=io T 3900 9200 5 8 0 1 0 0 1 pinseq=31 } P 4500 8700 4200 8700 1 0 0 { T 4300 8800 5 8 1 1 0 0 1 pinnumber=53 T 4100 8700 3 8 1 1 0 6 1 pinlabel=P2.7/A15 T 4000 8600 5 8 0 1 0 0 1 pintype=io T 3900 8800 5 8 0 1 0 0 1 pinseq=32 } P 4500 7900 4200 7900 1 0 0 { T 3900 8000 5 8 0 1 0 0 1 pinseq=33 T 4000 7800 5 8 0 1 0 0 1 pintype=io T 4100 7900 3 8 1 1 0 6 1 pinlabel=P4.0/MISO T 4300 8000 5 8 1 1 0 0 1 pinnumber=65 } P 4500 7500 4200 7500 1 0 0 { T 3900 7600 5 8 0 1 0 0 1 pinseq=34 T 4000 7400 5 8 0 1 0 0 1 pintype=io T 4100 7500 3 8 1 1 0 6 1 pinlabel=P4.1/MOSI T 4300 7600 5 8 1 1 0 0 1 pinnumber=66 } P 4500 7100 4200 7100 1 0 0 { T 3900 7200 5 8 0 1 0 0 1 pinseq=35 T 4000 7000 5 8 0 1 0 0 1 pintype=io T 4100 7100 3 8 1 1 0 6 1 pinlabel=P4.2/SCK T 4300 7200 5 8 1 1 0 0 1 pinnumber=67 } P 4500 6700 4200 6700 1 0 0 { T 3900 6800 5 8 0 1 0 0 1 pinseq=36 T 4000 6600 5 8 0 1 0 0 1 pintype=io T 4100 6700 3 8 1 1 0 6 1 pinlabel=P4.3/~SS T 4300 6800 5 8 1 1 0 0 1 pinnumber=68 } P 4500 6300 4200 6300 1 0 0 { T 3900 6400 5 8 0 1 0 0 1 pinseq=37 T 4000 6200 5 8 0 1 0 0 1 pintype=io T 4100 6300 3 8 1 1 0 6 1 pinlabel=P4.4 T 4300 6400 5 8 1 1 0 0 1 pinnumber=59 } P 4500 5900 4200 5900 1 0 0 { T 3900 6000 5 8 0 1 0 0 1 pinseq=38 T 4000 5800 5 8 0 1 0 0 1 pintype=io T 4100 5900 3 8 1 1 0 6 1 pinlabel=P4.5 T 4300 6000 5 8 1 1 0 0 1 pinnumber=60 } P 4500 5500 4200 5500 1 0 0 { T 3900 5600 5 8 0 1 0 0 1 pinseq=39 T 4000 5400 5 8 0 1 0 0 1 pintype=io T 4100 5500 3 8 1 1 0 6 1 pinlabel=P4.6 T 4300 5600 5 8 1 1 0 0 1 pinnumber=61 } P 4500 5100 4200 5100 1 0 0 { T 3900 5200 5 8 0 1 0 0 1 pinseq=40 T 4000 5000 5 8 0 1 0 0 1 pintype=io T 4100 5100 3 8 1 1 0 6 1 pinlabel=P4.7 T 4300 5200 5 8 1 1 0 0 1 pinnumber=62 } P 100 7900 400 7900 1 0 0 { T 500 8000 5 8 0 1 0 0 1 pinseq=41 T 500 7800 5 8 0 1 0 0 1 pintype=io T 200 8000 5 8 1 1 0 0 1 pinnumber=79 T 500 7900 3 8 1 1 0 0 1 pinlabel=P5.0 } P 100 7500 400 7500 1 0 0 { T 500 7600 5 8 0 1 0 0 1 pinseq=42 T 500 7400 5 8 0 1 0 0 1 pintype=io T 200 7600 5 8 1 1 0 0 1 pinnumber=80 T 500 7500 3 8 1 1 0 0 1 pinlabel=P5.1 } P 100 7100 400 7100 1 0 0 { T 500 7200 5 8 0 1 0 0 1 pinseq=43 T 500 7000 5 8 0 1 0 0 1 pintype=io T 200 7200 5 8 1 1 0 0 1 pinnumber=39 T 500 7100 3 8 1 1 0 0 1 pinlabel=P5.2 } P 100 6700 400 6700 1 0 0 { T 500 6800 5 8 0 1 0 0 1 pinseq=44 T 500 6600 5 8 0 1 0 0 1 pintype=io T 200 6800 5 8 1 1 0 0 1 pinnumber=40 T 500 6700 3 8 1 1 0 0 1 pinlabel=P5.3 } P 100 5900 400 5900 1 0 0 { T 500 6000 5 8 0 1 0 0 1 pinseq=45 T 500 5900 3 8 1 1 0 0 1 pinlabel=X1 T 200 6000 5 8 1 1 0 0 1 pinnumber=17 T 500 5800 5 8 0 1 0 0 1 pintype=in } P 100 5500 400 5500 1 0 0 { T 500 5600 5 8 0 1 0 0 1 pinseq=46 T 500 5500 3 8 1 1 0 0 1 pinlabel=X2 T 200 5600 5 8 1 1 0 0 1 pinnumber=16 T 500 5400 5 8 0 1 0 0 1 pintype=out } P 100 5100 400 5100 1 0 0 { T 500 5200 5 8 0 1 0 0 1 pinseq=47 T 500 5100 3 8 1 1 0 0 1 pinlabel=FILT T 200 5200 5 8 1 1 0 0 1 pinnumber=13 T 500 5000 5 8 0 1 0 0 1 pintype=in } P 100 3900 400 3900 1 0 0 { T 500 4000 5 8 0 1 0 0 1 pinseq=49 T 500 3900 3 8 1 1 0 0 1 pinlabel=DCLK T 200 4000 5 8 1 1 0 0 1 pinnumber=44 T 500 3800 5 8 0 1 0 0 1 pintype=out } P 100 4300 400 4300 1 0 0 { T 500 4400 5 8 0 1 0 0 1 pinseq=48 T 500 4300 3 8 1 1 0 0 1 pinlabel=DOUT T 200 4400 5 8 1 1 0 0 1 pinnumber=43 T 500 4200 5 8 0 1 0 0 1 pintype=out } P 100 3500 400 3500 1 0 0 { T 500 3600 5 8 0 1 0 0 1 pinseq=50 T 500 3500 3 8 1 1 0 0 1 pinlabel=DSEL T 200 3600 5 8 1 1 0 0 1 pinnumber=45 T 500 3400 5 8 0 1 0 0 1 pintype=out } P 100 3100 400 3100 1 0 0 { T 500 3200 5 8 0 1 0 0 1 pinseq=51 T 500 3100 3 8 1 1 0 0 1 pinlabel=SCLK T 200 3200 5 8 1 1 0 0 1 pinnumber=46 T 500 3000 5 8 0 1 0 0 1 pintype=out } P 4500 4300 4200 4300 1 0 0 { T 3900 4400 5 8 0 1 0 0 1 pinseq=52 T 4100 4300 3 8 1 1 0 6 1 pinlabel=D+ T 4300 4400 5 8 1 1 0 0 1 pinnumber=21 T 3900 4200 5 8 0 1 0 0 1 pintype=io } P 4500 3900 4200 3900 1 0 0 { T 3900 4000 5 8 0 1 0 0 1 pinseq=53 T 4100 3900 3 8 1 1 0 6 1 pinlabel=D- T 4300 4000 5 8 1 1 0 0 1 pinnumber=22 T 3900 3800 5 8 0 1 0 0 1 pintype=io } P 4500 2300 4200 2300 1 0 0 { T 4300 2400 5 8 1 1 0 0 1 pinnumber=37 T 3900 2200 5 8 0 1 0 0 1 pintype=in T 4100 2300 3 8 1 1 0 6 1 pinlabel=AIN0 T 3900 2400 5 8 0 1 0 0 1 pinseq=60 } P 4500 1900 4200 1900 1 0 0 { T 4300 2000 5 8 1 1 0 0 1 pinnumber=38 T 3900 1800 5 8 0 1 0 0 1 pintype=in T 4100 1900 3 8 1 1 0 6 1 pinlabel=AIN1 T 3900 2000 5 8 0 1 0 0 1 pinseq=61 } P 4500 3100 4200 3100 1 0 0 { T 4300 3200 5 8 1 1 0 0 1 pinnumber=35 T 3900 3000 5 8 0 1 0 0 1 pintype=in T 4100 3100 3 8 1 1 0 6 1 pinlabel=AREFP T 3900 3200 5 8 0 1 0 0 1 pinseq=58 } P 4500 2700 4200 2700 1 0 0 { T 4300 2800 5 8 1 1 0 0 1 pinnumber=36 T 3900 2600 5 8 0 1 0 0 1 pintype=in T 4100 2700 3 8 1 1 0 6 1 pinlabel=AREFN T 3900 2800 5 8 0 1 0 0 1 pinseq=59 } P 4500 300 4200 300 1 0 0 { T 4300 400 5 8 1 1 0 0 1 pinnumber=50 T 3900 200 5 8 0 1 0 0 1 pintype=out T 4100 300 3 8 1 1 0 6 1 pinlabel=MCLK T 3900 400 5 8 0 1 0 0 1 pinseq=64 } P 4500 1100 4200 1100 1 0 0 { T 4300 1200 5 8 1 1 0 0 1 pinnumber=48 T 3900 1000 5 8 0 1 0 0 1 pintype=io T 4100 1100 3 8 1 1 0 6 1 pinlabel=MCMD T 3900 1200 5 8 0 1 0 0 1 pinseq=62 } P 100 2300 400 2300 1 0 0 { T 200 2400 5 8 1 1 0 0 1 pinnumber=1 T 500 2200 5 8 0 1 0 0 1 pintype=out T 500 2300 3 8 1 1 0 0 1 pinlabel=ALE T 500 2400 5 8 0 1 0 0 1 pinseq=54 } P 100 1900 400 1900 1 0 0 { T 200 2000 5 8 1 1 0 0 1 pinnumber=2 T 500 1800 5 8 0 1 0 0 1 pintype=io T 500 1900 3 8 1 1 0 0 1 pinlabel=~ISP T 500 2000 5 8 0 1 0 0 1 pinseq=55 } P 100 1100 400 1100 1 0 0 { T 200 1200 5 8 1 1 0 0 1 pinnumber=47 T 500 1000 5 8 0 1 0 0 1 pintype=in T 500 1100 3 8 1 1 0 0 1 pinlabel=RST T 500 1200 5 8 0 1 0 0 1 pinseq=56 } P 100 700 400 700 1 0 0 { T 200 800 5 8 1 1 0 0 1 pinnumber=18 T 500 600 5 8 0 1 0 0 1 pintype=in T 500 700 3 8 1 1 0 0 1 pinlabel=~TST T 500 800 5 8 0 1 0 0 1 pinseq=57 } P 4500 700 4200 700 1 0 0 { T 4100 700 3 8 1 1 0 6 1 pinlabel=MDAT T 3900 600 5 8 0 1 0 0 1 pintype=io T 4300 800 5 8 1 1 0 0 1 pinnumber=49 T 3900 800 5 8 0 1 0 0 1 pinseq=63 } geda-gaf-1.8.2/symbols/micro/pic18F4431-1.sym0000664000175000017500000001765312204104272015145 00000000000000v 20070626 1 P 100 7200 400 7200 1 0 0 { T 237 7246 5 8 1 1 0 0 1 pinnumber=3 T 237 7246 5 8 0 0 0 0 1 pinseq=3 T 100 7200 5 10 0 0 0 0 1 pintype=io T 500 7200 9 8 1 1 0 0 1 pinlabel=RA1/AN1 } P 100 6800 400 6800 1 0 0 { T 215 6848 5 8 1 1 0 0 1 pinnumber=4 T 215 6848 5 8 0 0 0 0 1 pinseq=4 T 100 6800 5 10 0 0 0 0 1 pintype=io T 500 6800 9 8 1 1 0 0 1 pinlabel=RA2/AN2/Vref-/Cap1/Indx } P 100 6400 400 6400 1 0 0 { T 217 6443 5 8 1 1 0 0 1 pinnumber=5 T 217 6443 5 8 0 0 0 0 1 pinseq=5 T 100 6400 5 10 0 0 0 0 1 pintype=io T 500 6400 9 8 1 1 0 0 1 pinlabel=RA3/AN3/Vref+/Cap2/QEA } P 100 6000 400 6000 1 0 0 { T 220 6048 5 8 1 1 0 0 1 pinnumber=6 T 220 6048 5 8 0 0 0 0 1 pinseq=6 T 100 6000 5 10 0 0 0 0 1 pintype=io T 500 6000 9 8 1 1 0 0 1 pinlabel=RA4/AN4/Cap3/QEB } P 100 5600 400 5600 1 0 0 { T 225 5645 5 8 1 1 0 0 1 pinnumber=7 T 225 5645 5 8 0 0 0 0 1 pinseq=7 T 100 5600 5 10 0 0 0 0 1 pintype=io T 500 5600 9 8 1 1 0 0 1 pinlabel=RA5/AN5/LVDIN } P 100 5200 400 5200 1 0 0 { T 216 5248 5 8 1 1 0 0 1 pinnumber=8 T 216 5248 5 8 0 0 0 0 1 pinseq=8 T 100 5200 5 10 0 0 0 0 1 pintype=io T 500 5200 9 8 1 1 0 0 1 pinlabel=RE0/AN6 } P 100 4800 400 4800 1 0 0 { T 221 4850 5 8 1 1 0 0 1 pinnumber=9 T 221 4850 5 8 0 0 0 0 1 pinseq=9 T 100 4800 5 10 0 0 0 0 1 pintype=io T 500 4800 9 8 1 1 0 0 1 pinlabel=RE1/AN7 } P 100 400 400 400 1 0 0 { T 222 445 5 8 1 1 0 0 1 pinnumber=20 T 222 445 5 8 0 0 0 0 1 pinseq=20 T 100 400 5 10 0 0 0 0 1 pintype=io T 500 400 9 8 1 1 0 0 1 pinlabel=RD1/SDO } P 4300 1200 4600 1200 1 0 1 { T 4418 1250 5 8 1 1 0 0 1 pinnumber=23 T 4418 1250 5 8 0 0 0 0 1 pinseq=23 T 4300 1200 5 10 0 0 0 0 1 pintype=io T 2900 1200 9 8 1 1 0 0 1 pinlabel=RC4/INT1/SDI/SDA } P 4300 1600 4600 1600 1 0 1 { T 4400 1650 5 8 1 1 0 0 1 pinnumber=24 T 4400 1650 5 8 0 0 0 0 1 pinseq=24 T 4300 1600 5 10 0 0 0 0 1 pintype=io T 2800 1600 9 8 1 1 0 0 1 pinlabel=RC5/INT2/SCK/SCL } P 100 4400 400 4400 1 0 0 { T 171 4450 5 8 1 1 0 0 1 pinnumber=10 T 171 4450 5 8 0 0 0 0 1 pinseq=10 T 100 4400 5 10 0 0 0 0 1 pintype=io T 500 4400 9 8 1 1 0 0 1 pinlabel=RE2/AN8 } P 100 4000 400 4000 1 0 0 { T 163 4050 5 8 1 1 0 0 1 pinnumber=11 T 163 4050 5 8 0 0 0 0 1 pinseq=11 T 100 4000 5 10 0 1 0 0 1 pintype=in T 500 4000 9 8 1 1 0 0 1 pinlabel=AVdd } P 4300 8000 4600 8000 1 0 1 { T 4400 8050 5 8 1 1 0 0 1 pinnumber=40 T 4400 8050 5 8 0 0 0 0 1 pinseq=40 T 4300 8000 5 10 0 0 0 0 1 pintype=io T 3100 8000 9 8 1 1 0 0 1 pinlabel=RB7/KBI3/PGD } P 4300 7600 4600 7600 1 0 1 { T 4400 7650 5 8 1 1 0 0 1 pinnumber=39 T 4400 7650 5 8 0 0 0 0 1 pinseq=39 T 4300 7600 5 10 0 0 0 0 1 pintype=io T 3100 7600 9 8 1 1 0 0 1 pinlabel=RB6/KBI2/PGC } P 4300 7200 4600 7200 1 0 1 { T 4400 7250 5 8 1 1 0 0 1 pinnumber=38 T 4400 7250 5 8 0 0 0 0 1 pinseq=38 T 4300 7200 5 10 0 0 0 0 1 pintype=io T 2600 7200 9 8 1 1 0 0 1 pinlabel=RB5/KBI1/PWM4/PGM } P 4300 6800 4600 6800 1 0 1 { T 4400 6850 5 8 1 1 0 0 1 pinnumber=37 T 4400 6850 5 8 0 0 0 0 1 pinseq=37 T 4300 6800 5 10 0 0 0 0 1 pintype=io T 3000 6800 9 8 1 1 0 0 1 pinlabel=RB4/KBI0/PWM5 } P 4300 4800 4600 4800 1 0 1 { T 4400 4850 5 8 1 1 0 0 1 pinnumber=32 T 4400 4850 5 8 0 0 0 0 1 pinseq=32 T 4300 4800 5 10 0 0 0 0 1 pintype=in T 4000 4800 9 8 1 1 0 0 1 pinlabel=Vdd } P 4300 4400 4600 4400 1 0 1 { T 4395 4449 5 8 1 1 0 0 1 pinnumber=31 T 4395 4449 5 8 0 0 0 0 1 pinseq=31 T 4300 4400 5 10 0 0 0 0 1 pintype=in T 4000 4400 9 8 1 1 0 0 1 pinlabel=Vss } P 100 800 400 800 1 0 0 { T 123 848 5 8 1 1 0 0 1 pinnumber=19 T 123 848 5 8 0 0 0 0 1 pinseq=19 T 100 800 5 10 0 0 0 0 1 pintype=io T 500 800 9 8 1 1 0 0 1 pinlabel=RD0/T0CKI/T5CKI } P 100 1200 400 1200 1 0 0 { T 135 1250 5 8 1 1 0 0 1 pinnumber=18 T 135 1250 5 8 0 0 0 0 1 pinseq=18 T 100 1200 5 10 0 0 0 0 1 pintype=io T 500 1200 9 8 1 1 0 0 1 pinlabel=RC3/T0CKI/T5CKI/INT0 } P 100 1600 400 1600 1 0 0 { T 140 1650 5 8 1 1 0 0 1 pinnumber=17 T 140 1650 5 8 0 0 0 0 1 pinseq=17 T 100 1600 5 10 0 0 0 0 1 pintype=io T 500 1600 9 8 1 1 0 0 1 pinlabel=RC2/CCP1/\_FLTB\_ } P 100 2000 400 2000 1 0 0 { T 150 2050 5 8 1 1 0 0 1 pinnumber=16 T 150 2050 5 8 0 0 0 0 1 pinseq=16 T 100 2000 5 10 0 0 0 0 1 pintype=io T 500 2000 9 8 1 1 0 0 1 pinlabel=RC1/T1OSI/CCP2/\_FLTA\_ } P 100 2400 400 2400 1 0 0 { T 138 2450 5 8 1 1 0 0 1 pinnumber=15 T 138 2450 5 8 0 0 0 0 1 pinseq=15 T 100 2400 5 10 0 0 0 0 1 pintype=io T 500 2400 9 8 1 1 0 0 1 pinlabel=RC0/T1OSO/T1CKI } P 100 2800 400 2800 1 0 0 { T 150 2850 5 8 1 1 0 0 1 pinnumber=14 T 150 2850 5 8 0 0 0 0 1 pinseq=14 T 100 2800 5 10 0 0 0 0 1 pintype=io T 500 2800 9 8 1 1 0 0 1 pinlabel=OSC2/CLKO/RA6 } P 100 3200 400 3200 1 0 0 { T 141 3250 5 8 1 1 0 0 1 pinnumber=13 T 141 3250 5 8 0 0 0 0 1 pinseq=13 T 100 3200 5 10 0 0 0 0 1 pintype=io T 500 3200 9 8 1 1 0 0 1 pinlabel=OSC1/CLKI/RA7 } P 100 3600 400 3600 1 0 0 { T 146 3650 5 8 1 1 0 0 1 pinnumber=12 T 146 3650 5 8 0 0 0 0 1 pinseq=12 T 100 3600 5 10 0 0 0 0 1 pintype=in T 500 3600 9 8 1 1 0 0 1 pinlabel=AVss } P 4300 2000 4600 2000 1 0 1 { T 4399 2050 5 8 1 1 0 0 1 pinnumber=25 T 4399 2050 5 8 0 0 0 0 1 pinseq=25 T 4300 2000 5 10 0 0 0 0 1 pintype=io T 3100 2000 9 8 1 1 0 0 1 pinlabel=RC6/TX/CK/\_SS\_ } P 4300 2400 4600 2400 1 0 1 { T 4399 2450 5 8 1 1 0 0 1 pinnumber=26 T 4399 2450 5 8 0 0 0 0 1 pinseq=26 T 4300 2400 5 10 0 0 0 0 1 pintype=io T 3000 2400 9 8 1 1 0 0 1 pinlabel=RC7/RX/DT/SDO } P 4300 3200 4600 3200 1 0 1 { T 4395 3250 5 8 1 1 0 0 1 pinnumber=28 T 4395 3250 5 8 0 0 0 0 1 pinseq=28 T 4300 3200 5 10 0 1 0 0 1 pintype=io T 3400 3200 9 8 1 1 0 0 1 pinlabel=RD5/PWM4 } P 4300 2800 4600 2800 1 0 1 { T 4393 2850 5 8 1 1 0 0 1 pinnumber=27 T 4393 2850 5 8 0 0 0 0 1 pinseq=27 T 4300 2800 5 10 0 1 0 0 1 pintype=io T 3500 2800 9 8 1 1 0 0 1 pinlabel=RD4/\_FLTA\_ } P 4300 5200 4600 5200 1 0 1 { T 4398 5250 5 8 1 1 0 0 1 pinnumber=33 T 4398 5250 5 8 0 0 0 0 1 pinseq=33 T 4300 5200 5 10 0 0 0 0 1 pintype=io T 3400 5200 9 8 1 1 0 0 1 pinlabel=RB0/PWM0 } P 4300 5600 4600 5600 1 0 1 { T 4395 5650 5 8 1 1 0 0 1 pinnumber=34 T 4395 5650 5 8 0 0 0 0 1 pinseq=34 T 4300 5600 5 10 0 0 0 0 1 pintype=io T 3500 5600 9 8 1 1 0 0 1 pinlabel=RB1/PWM1 } P 4300 4000 4600 4000 1 0 1 { T 4390 4049 5 8 1 1 0 0 1 pinnumber=30 T 4390 4049 5 8 0 0 0 0 1 pinseq=30 T 4300 4000 5 10 0 0 0 0 1 pintype=io T 3400 4000 9 8 1 1 0 0 1 pinlabel=RD7/PWM7 } P 4300 3600 4600 3600 1 0 1 { T 4394 3649 5 8 1 1 0 0 1 pinnumber=29 T 4394 3649 5 8 0 0 0 0 1 pinseq=29 T 4300 3600 5 10 0 0 0 0 1 pintype=io T 3400 3600 9 8 1 1 0 0 1 pinlabel=RD6/PWM6 } P 4300 6400 4600 6400 1 0 1 { T 4404 6450 5 8 1 1 0 0 1 pinnumber=36 T 4404 6450 5 8 0 0 0 0 1 pinseq=36 T 4300 6400 5 10 0 0 0 0 1 pintype=io T 3400 6400 9 8 1 1 0 0 1 pinlabel=RB3/PWM3 } P 4300 6000 4600 6000 1 0 1 { T 4402 6050 5 8 1 1 0 0 1 pinnumber=35 T 4402 6050 5 8 0 0 0 0 1 pinseq=35 T 4300 6000 5 10 0 0 0 0 1 pintype=io T 3400 6000 9 8 1 1 0 0 1 pinlabel=RB2/PWM2 } B 400 -100 3900 8400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 8800 8 8 0 0 0 0 1 description=Microchip enhanced flash microcontroller with nanoWatt technology and high performance PWM and A/D T 2600 2400 9 20 1 0 90 0 1 PIC18F4431/4331 DIP T 4000 8500 8 10 1 1 0 6 1 refdes=U? P 4300 800 4600 800 1 0 1 { T 4397 851 5 8 1 1 0 0 1 pinnumber=22 T 4397 851 5 8 0 0 0 0 1 pinseq=22 T 4300 800 5 10 0 0 0 0 1 pintype=io T 3200 800 9 8 1 1 0 0 1 pinlabel=RD3/SCK/SCL } P 100 8000 400 8000 1 0 0 { T 307 8048 5 8 1 1 0 0 1 pinnumber=1 T 207 8048 5 8 0 0 0 0 1 pinseq=1 T 100 8000 5 10 0 0 0 0 1 pintype=in T 500 8000 9 8 1 1 0 0 1 pinlabel=\_MCLR\_/Vpp/RE3 } P 4300 400 4600 400 1 0 1 { T 4397 443 5 8 1 1 0 0 1 pinnumber=21 T 4397 443 5 8 0 0 0 0 1 pinseq=21 T 4300 400 5 10 0 0 0 0 1 pintype=io T 3300 400 9 8 1 1 0 0 1 pinlabel=RD2/SDI/SDA } P 100 7600 400 7600 1 0 0 { T 242 7643 5 8 1 1 0 0 1 pinnumber=2 T 142 7643 5 8 0 0 0 0 1 pinseq=2 T 500 7600 9 8 1 1 0 0 1 pinlabel=RA0/AN0 T 100 7600 5 10 0 1 0 0 1 pintype=io } A 2400 8300 311 180 180 3 0 0 0 -1 -1 T 3200 8700 9 14 1 0 180 0 1 PIC18F4431/4331-DIP T 400 9000 8 8 0 0 0 0 1 device=PIC18F4431-DIP T 400 9200 8 8 0 0 0 0 1 numslots=0 T 400 9400 8 8 0 0 0 0 1 footprint=DIP40 T 400 9600 8 8 0 0 0 0 1 documentation=http://www.microchip.com/ geda-gaf-1.8.2/symbols/micro/ATtiny12.sym0000664000175000017500000000306712204104272015006 00000000000000v 20070626 1 T 2300 2300 8 10 1 1 0 6 1 refdes=U? T 300 2450 5 10 0 0 0 0 1 device=ATtiny12 T 300 2650 5 10 0 0 0 0 1 footprint=DIP8 T 300 2850 5 10 0 0 0 0 1 net=GND:4 T 300 3050 5 10 0 0 0 0 1 net=Vcc:8 P 0 300 300 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=1 T 200 250 5 8 0 1 0 8 1 pinseq=1 T 350 300 9 8 1 1 0 0 1 pinlabel=PB5 (\_Reset\_) T 350 300 5 8 0 1 0 2 1 pintype=io } P 2600 300 2300 300 1 0 0 { T 2400 350 5 8 1 1 0 0 1 pinnumber=3 T 2400 250 5 8 0 1 0 2 1 pinseq=2 T 2250 300 9 8 1 1 0 6 1 pinlabel=(XTAL2) PB4 T 2250 300 5 8 0 1 0 8 1 pintype=io } P 2600 700 2300 700 1 0 0 { T 2400 750 5 8 1 1 0 0 1 pinnumber=2 T 2400 650 5 8 0 1 0 2 1 pinseq=3 T 2250 700 9 8 1 1 0 6 1 pinlabel=(XTAL1) PB3 T 2250 700 5 8 0 1 0 8 1 pintype=io } P 2600 1100 2300 1100 1 0 0 { T 2400 1150 5 8 1 1 0 0 1 pinnumber=7 T 2400 1050 5 8 0 1 0 2 1 pinseq=4 T 2250 1100 9 8 1 1 0 6 1 pinlabel=(SCK/T0) PB2 T 2250 1100 5 8 0 1 0 8 1 pintype=io } P 2600 1500 2300 1500 1 0 0 { T 2400 1550 5 8 1 1 0 0 1 pinnumber=6 T 2400 1450 5 8 0 1 0 2 1 pinseq=5 T 2250 1500 9 8 1 1 0 6 1 pinlabel=(MISO/INT0/AIN1) PB1 T 2250 1500 5 8 0 1 0 8 1 pintype=io } P 2600 1900 2300 1900 1 0 0 { T 2400 1950 5 8 1 1 0 0 1 pinnumber=5 T 2400 1850 5 8 0 1 0 2 1 pinseq=6 T 2250 1900 9 8 1 1 0 6 1 pinlabel=(MOSI/AIN0) PB0 T 2250 1900 5 8 0 1 0 8 1 pintype=io } B 300 0 2000 2200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 3250 5 10 0 0 0 0 1 description=8-bit RISC micro controller (Atmel) T 300 3450 5 10 0 0 0 0 1 numslots=0 T 300 3650 5 10 0 0 0 0 1 author=Werner Hoch T 300 2250 9 10 1 0 0 0 1 ATtiny12 geda-gaf-1.8.2/symbols/micro/AT90S8535_TQFP.sym0000664000175000017500000001610012204104272015402 00000000000000v 20070626 1 T 3000 7500 8 10 1 1 0 6 1 refdes=U? T 400 7650 5 10 0 0 0 0 1 device=AT90S8535_TQFP T 400 7850 5 10 0 0 0 0 1 footprint=TQFP44 T 400 8050 5 10 0 0 0 0 1 net=Vcc:5,17,38 T 400 8250 5 10 0 0 0 0 1 net=GND:6,18,39 T 400 8450 5 10 0 0 0 0 1 net=AVcc:27 T 400 8650 5 10 0 0 0 0 1 net=AGND:28 T 400 8850 5 10 0 0 0 0 1 description=8-bit RISC micro controller (Atmel) P 2600 100 2600 300 1 0 0 { T 2650 200 5 8 1 1 0 0 1 pinnumber=4 T 2650 200 5 8 0 1 0 2 1 pinseq=1 T 2600 450 9 8 1 1 0 3 1 pinlabel=\_Reset\_ T 2600 600 5 8 0 1 0 3 1 pintype=in } V 2600 350 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 100 2000 400 1 0 0 { T 2050 200 5 8 1 1 0 0 1 pinnumber=7 T 2050 200 5 8 0 1 0 2 1 pinseq=2 T 2000 450 9 8 1 1 0 3 1 pinlabel=XTAL2 T 2000 600 5 8 0 1 0 3 1 pintype=out } P 1400 100 1400 400 1 0 0 { T 1450 200 5 8 1 1 0 0 1 pinnumber=8 T 1450 200 5 8 0 1 0 2 1 pinseq=3 T 1400 450 9 8 1 1 0 3 1 pinlabel=XTAL1 T 1400 600 5 8 0 1 0 3 1 pintype=in } P 800 100 800 400 1 0 0 { T 850 200 5 8 1 1 0 0 1 pinnumber=29 T 850 200 5 8 0 1 0 2 1 pinseq=4 T 800 450 9 8 1 1 0 3 1 pinlabel=AREF T 800 600 5 8 0 1 0 3 1 pintype=in } P 100 800 400 800 1 0 0 { T 300 850 5 8 1 1 0 6 1 pinnumber=16 T 300 750 5 8 0 1 0 8 1 pinseq=5 T 450 800 9 8 1 1 0 0 1 pinlabel=PD7 (OC2) T 450 800 5 8 0 1 0 2 1 pintype=io } P 100 1200 400 1200 1 0 0 { T 300 1250 5 8 1 1 0 6 1 pinnumber=15 T 300 1150 5 8 0 1 0 8 1 pinseq=6 T 450 1200 9 8 1 1 0 0 1 pinlabel=PD6 (ICP) T 450 1200 5 8 0 1 0 2 1 pintype=io } P 100 1600 400 1600 1 0 0 { T 300 1650 5 8 1 1 0 6 1 pinnumber=14 T 300 1550 5 8 0 1 0 8 1 pinseq=7 T 450 1600 9 8 1 1 0 0 1 pinlabel=PD5 (OC1A) T 450 1600 5 8 0 1 0 2 1 pintype=io } P 100 2000 400 2000 1 0 0 { T 300 2050 5 8 1 1 0 6 1 pinnumber=13 T 300 1950 5 8 0 1 0 8 1 pinseq=8 T 450 2000 9 8 1 1 0 0 1 pinlabel=PD4 (OC1B) T 450 2000 5 8 0 1 0 2 1 pintype=io } P 100 2400 400 2400 1 0 0 { T 300 2450 5 8 1 1 0 6 1 pinnumber=12 T 300 2350 5 8 0 1 0 8 1 pinseq=9 T 450 2400 9 8 1 1 0 0 1 pinlabel=PD3 (INT1) T 450 2400 5 8 0 1 0 2 1 pintype=io } P 100 2800 400 2800 1 0 0 { T 300 2850 5 8 1 1 0 6 1 pinnumber=11 T 300 2750 5 8 0 1 0 8 1 pinseq=10 T 450 2800 9 8 1 1 0 0 1 pinlabel=PD2 (INT0) T 450 2800 5 8 0 1 0 2 1 pintype=io } P 100 3200 400 3200 1 0 0 { T 300 3250 5 8 1 1 0 6 1 pinnumber=10 T 300 3150 5 8 0 1 0 8 1 pinseq=11 T 450 3200 9 8 1 1 0 0 1 pinlabel=PD1 (TXD) T 450 3200 5 8 0 1 0 2 1 pintype=io } P 100 3600 400 3600 1 0 0 { T 300 3650 5 8 1 1 0 6 1 pinnumber=9 T 300 3550 5 8 0 1 0 8 1 pinseq=12 T 450 3600 9 8 1 1 0 0 1 pinlabel=PD0 (RXD) T 450 3600 5 8 0 1 0 2 1 pintype=io } P 100 4200 400 4200 1 0 0 { T 300 4250 5 8 1 1 0 6 1 pinnumber=3 T 300 4150 5 8 0 1 0 8 1 pinseq=13 T 450 4200 9 8 1 1 0 0 1 pinlabel=PB7 (SCK) T 450 4200 5 8 0 1 0 2 1 pintype=io } P 100 4600 400 4600 1 0 0 { T 300 4650 5 8 1 1 0 6 1 pinnumber=2 T 300 4550 5 8 0 1 0 8 1 pinseq=14 T 450 4600 9 8 1 1 0 0 1 pinlabel=PB6 (MISO) T 450 4600 5 8 0 1 0 2 1 pintype=io } P 100 5000 400 5000 1 0 0 { T 300 5050 5 8 1 1 0 6 1 pinnumber=1 T 300 4950 5 8 0 1 0 8 1 pinseq=15 T 450 5000 9 8 1 1 0 0 1 pinlabel=PB5 (MOSI) T 450 5000 5 8 0 1 0 2 1 pintype=io } P 100 5400 400 5400 1 0 0 { T 300 5450 5 8 1 1 0 6 1 pinnumber=44 T 300 5350 5 8 0 1 0 8 1 pinseq=16 T 450 5400 9 8 1 1 0 0 1 pinlabel=PB4 (\_SS\_) T 450 5400 5 8 0 1 0 2 1 pintype=io } P 100 5800 400 5800 1 0 0 { T 300 5850 5 8 1 1 0 6 1 pinnumber=43 T 300 5750 5 8 0 1 0 8 1 pinseq=17 T 450 5800 9 8 1 1 0 0 1 pinlabel=PB3 (AIN1) T 450 5800 5 8 0 1 0 2 1 pintype=io } P 100 6200 400 6200 1 0 0 { T 300 6250 5 8 1 1 0 6 1 pinnumber=42 T 300 6150 5 8 0 1 0 8 1 pinseq=18 T 450 6200 9 8 1 1 0 0 1 pinlabel=PB2 (AIN0) T 450 6200 5 8 0 1 0 2 1 pintype=io } P 100 6600 400 6600 1 0 0 { T 300 6650 5 8 1 1 0 6 1 pinnumber=41 T 300 6550 5 8 0 1 0 8 1 pinseq=19 T 450 6600 9 8 1 1 0 0 1 pinlabel=PB1 (T1) T 450 6600 5 8 0 1 0 2 1 pintype=io } P 100 7000 400 7000 1 0 0 { T 300 7050 5 8 1 1 0 6 1 pinnumber=40 T 300 6950 5 8 0 1 0 8 1 pinseq=20 T 450 7000 9 8 1 1 0 0 1 pinlabel=PB0 (T0) T 450 7000 5 8 0 1 0 2 1 pintype=io } P 3300 800 3000 800 1 0 0 { T 3100 850 5 8 1 1 0 0 1 pinnumber=26 T 3100 750 5 8 0 1 0 2 1 pinseq=21 T 2950 800 9 8 1 1 0 6 1 pinlabel=(TOSC2) PC7 T 2950 800 5 8 0 1 0 8 1 pintype=io } P 3300 1200 3000 1200 1 0 0 { T 3100 1250 5 8 1 1 0 0 1 pinnumber=25 T 3100 1150 5 8 0 1 0 2 1 pinseq=22 T 2950 1200 9 8 1 1 0 6 1 pinlabel=(TOSC1) PC6 T 2950 1200 5 8 0 1 0 8 1 pintype=io } P 3300 1600 3000 1600 1 0 0 { T 3100 1650 5 8 1 1 0 0 1 pinnumber=24 T 3100 1550 5 8 0 1 0 2 1 pinseq=23 T 2950 1600 9 8 1 1 0 6 1 pinlabel=PC5 T 2950 1600 5 8 0 1 0 8 1 pintype=io } P 3300 2000 3000 2000 1 0 0 { T 3100 2050 5 8 1 1 0 0 1 pinnumber=23 T 3100 1950 5 8 0 1 0 2 1 pinseq=24 T 2950 2000 9 8 1 1 0 6 1 pinlabel=PC4 T 2950 2000 5 8 0 1 0 8 1 pintype=io } P 3300 2400 3000 2400 1 0 0 { T 3100 2450 5 8 1 1 0 0 1 pinnumber=22 T 3100 2350 5 8 0 1 0 2 1 pinseq=25 T 2950 2400 9 8 1 1 0 6 1 pinlabel=PC3 T 2950 2400 5 8 0 1 0 8 1 pintype=io } P 3300 2800 3000 2800 1 0 0 { T 3100 2850 5 8 1 1 0 0 1 pinnumber=21 T 3100 2750 5 8 0 1 0 2 1 pinseq=26 T 2950 2800 9 8 1 1 0 6 1 pinlabel=PC2 T 2950 2800 5 8 0 1 0 8 1 pintype=io } P 3300 3200 3000 3200 1 0 0 { T 3100 3250 5 8 1 1 0 0 1 pinnumber=20 T 3100 3150 5 8 0 1 0 2 1 pinseq=27 T 2950 3200 9 8 1 1 0 6 1 pinlabel=PC1 T 2950 3200 5 8 0 1 0 8 1 pintype=io } P 3300 3600 3000 3600 1 0 0 { T 3100 3650 5 8 1 1 0 0 1 pinnumber=19 T 3100 3550 5 8 0 1 0 2 1 pinseq=28 T 2950 3600 9 8 1 1 0 6 1 pinlabel=PC0 T 2950 3600 5 8 0 1 0 8 1 pintype=io } P 3300 4200 3000 4200 1 0 0 { T 3100 4250 5 8 1 1 0 0 1 pinnumber=30 T 3100 4150 5 8 0 1 0 2 1 pinseq=29 T 2950 4200 9 8 1 1 0 6 1 pinlabel=(ADC7) PA7 T 2950 4200 5 8 0 1 0 8 1 pintype=io } P 3300 4600 3000 4600 1 0 0 { T 3100 4650 5 8 1 1 0 0 1 pinnumber=31 T 3100 4550 5 8 0 1 0 2 1 pinseq=30 T 2950 4600 9 8 1 1 0 6 1 pinlabel=(ADC6) PA6 T 2950 4600 5 8 0 1 0 8 1 pintype=io } P 3300 5000 3000 5000 1 0 0 { T 3100 5050 5 8 1 1 0 0 1 pinnumber=32 T 3100 4950 5 8 0 1 0 2 1 pinseq=31 T 2950 5000 9 8 1 1 0 6 1 pinlabel=(ADC5) PA5 T 2950 5000 5 8 0 1 0 8 1 pintype=io } P 3300 5400 3000 5400 1 0 0 { T 3100 5450 5 8 1 1 0 0 1 pinnumber=33 T 3100 5350 5 8 0 1 0 2 1 pinseq=32 T 2950 5400 9 8 1 1 0 6 1 pinlabel=(ADC4) PA4 T 2950 5400 5 8 0 1 0 8 1 pintype=io } P 3300 5800 3000 5800 1 0 0 { T 3100 5850 5 8 1 1 0 0 1 pinnumber=34 T 3100 5750 5 8 0 1 0 2 1 pinseq=33 T 2950 5800 9 8 1 1 0 6 1 pinlabel=(ADC3) PA3 T 2950 5800 5 8 0 1 0 8 1 pintype=io } P 3300 6200 3000 6200 1 0 0 { T 3100 6250 5 8 1 1 0 0 1 pinnumber=35 T 3100 6150 5 8 0 1 0 2 1 pinseq=34 T 2950 6200 9 8 1 1 0 6 1 pinlabel=(ADC2) PA2 T 2950 6200 5 8 0 1 0 8 1 pintype=io } P 3300 6600 3000 6600 1 0 0 { T 3100 6650 5 8 1 1 0 0 1 pinnumber=36 T 3100 6550 5 8 0 1 0 2 1 pinseq=35 T 2950 6600 9 8 1 1 0 6 1 pinlabel=(ADC1) PA1 T 2950 6600 5 8 0 1 0 8 1 pintype=io } P 3300 7000 3000 7000 1 0 0 { T 3100 7050 5 8 1 1 0 0 1 pinnumber=37 T 3100 6950 5 8 0 1 0 2 1 pinseq=36 T 2950 7000 9 8 1 1 0 6 1 pinlabel=(ADC0) PA0 T 2950 7000 5 8 0 1 0 8 1 pintype=io } B 400 400 2600 7000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 9050 5 10 0 0 0 0 1 numslots=0 T 400 9250 5 10 0 0 0 0 1 author=Werner Hoch T 400 7450 9 10 1 0 0 0 1 AT90S8535 geda-gaf-1.8.2/symbols/micro/8031.sym0000664000175000017500000001645312204104272014031 00000000000000v 20070626 1 B 300 600 1500 6300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 300 6600 0 6600 1 0 1 { T 200 6650 5 8 1 1 0 6 1 pinnumber=1 T 200 6550 5 8 0 1 0 8 1 pinseq=1 T 350 6600 9 8 1 1 0 0 1 pinlabel=P1.0 (T2) T 350 6600 5 8 0 1 0 2 1 pintype=io } P 300 6300 0 6300 1 0 1 { T 200 6350 5 8 1 1 0 6 1 pinnumber=2 T 200 6250 5 8 0 1 0 8 1 pinseq=2 T 350 6300 9 8 1 1 0 0 1 pinlabel=P1.1 (T2EX) T 350 6300 5 8 0 1 0 2 1 pintype=io } P 300 6000 0 6000 1 0 1 { T 200 6050 5 8 1 1 0 6 1 pinnumber=3 T 200 5950 5 8 0 1 0 8 1 pinseq=3 T 350 6000 9 8 1 1 0 0 1 pinlabel=P1.2 T 350 6000 5 8 0 1 0 2 1 pintype=io } P 300 5700 0 5700 1 0 1 { T 200 5750 5 8 1 1 0 6 1 pinnumber=4 T 200 5650 5 8 0 1 0 8 1 pinseq=4 T 350 5700 9 8 1 1 0 0 1 pinlabel=P1.3 T 350 5700 5 8 0 1 0 2 1 pintype=io } P 300 5400 0 5400 1 0 1 { T 200 5450 5 8 1 1 0 6 1 pinnumber=5 T 200 5350 5 8 0 1 0 8 1 pinseq=5 T 350 5400 9 8 1 1 0 0 1 pinlabel=P1.4 (INT2) T 350 5400 5 8 0 1 0 2 1 pintype=io } P 300 5100 0 5100 1 0 1 { T 200 5150 5 8 1 1 0 6 1 pinnumber=6 T 200 5050 5 8 0 1 0 8 1 pinseq=6 T 350 5100 9 8 1 1 0 0 1 pinlabel=P1.5 (\_INT3\_) T 350 5100 5 8 0 1 0 2 1 pintype=io } P 300 4800 0 4800 1 0 1 { T 200 4850 5 8 1 1 0 6 1 pinnumber=7 T 200 4750 5 8 0 1 0 8 1 pinseq=7 T 350 4800 9 8 1 1 0 0 1 pinlabel=P1.6 (INT4) T 350 4800 5 8 0 1 0 2 1 pintype=io } P 300 4500 0 4500 1 0 1 { T 200 4550 5 8 1 1 0 6 1 pinnumber=8 T 200 4450 5 8 0 1 0 8 1 pinseq=8 T 350 4500 9 8 1 1 0 0 1 pinlabel=P1.7 (\_INT5\_) T 350 4500 5 8 0 1 0 2 1 pintype=io } P 300 4200 0 4200 1 0 1 { T 200 4250 5 8 1 1 0 6 1 pinnumber=10 T 200 4150 5 8 0 1 0 8 1 pinseq=9 T 350 4200 9 8 1 1 0 0 1 pinlabel=P3.0 (RXD0) T 350 4200 5 8 0 1 0 2 1 pintype=io } P 300 3900 0 3900 1 0 1 { T 200 3950 5 8 1 1 0 6 1 pinnumber=11 T 200 3850 5 8 0 1 0 8 1 pinseq=10 T 350 3900 9 8 1 1 0 0 1 pinlabel=P3.1 (TXD0) T 350 3900 5 8 0 1 0 2 1 pintype=io } P 300 3600 0 3600 1 0 1 { T 200 3650 5 8 1 1 0 6 1 pinnumber=12 T 200 3550 5 8 0 1 0 8 1 pinseq=11 T 350 3600 9 8 1 1 0 0 1 pinlabel=P3.2 (\_INT0\_) T 350 3600 5 8 0 1 0 2 1 pintype=io } P 300 3300 0 3300 1 0 1 { T 200 3350 5 8 1 1 0 6 1 pinnumber=13 T 200 3250 5 8 0 1 0 8 1 pinseq=12 T 350 3300 9 8 1 1 0 0 1 pinlabel=P3.3 (\_INT1\_) T 350 3300 5 8 0 1 0 2 1 pintype=io } P 300 3000 0 3000 1 0 1 { T 200 3050 5 8 1 1 0 6 1 pinnumber=14 T 200 2950 5 8 0 1 0 8 1 pinseq=13 T 350 3000 9 8 1 1 0 0 1 pinlabel=P3.4 (T0) T 350 3000 5 8 0 1 0 2 1 pintype=io } P 300 2700 0 2700 1 0 1 { T 200 2750 5 8 1 1 0 6 1 pinnumber=15 T 200 2650 5 8 0 1 0 8 1 pinseq=14 T 350 2700 9 8 1 1 0 0 1 pinlabel=P3.5 (T1) T 350 2700 5 8 0 1 0 2 1 pintype=io } P 300 2400 0 2400 1 0 1 { T 200 2450 5 8 1 1 0 6 1 pinnumber=9 T 200 2350 5 8 0 1 0 8 1 pinseq=15 T 350 2400 9 8 1 1 0 0 1 pinlabel=RST T 350 2400 5 8 0 1 0 2 1 pintype=in } P 300 1200 0 1200 1 0 1 { T 200 1250 5 8 1 1 0 6 1 pinnumber=18 T 200 1150 5 8 0 1 0 8 1 pinseq=16 T 350 1200 9 8 1 1 0 0 1 pinlabel=XTAL2 T 350 1200 5 8 0 1 0 2 1 pintype=out } P 300 1500 0 1500 1 0 1 { T 200 1550 5 8 1 1 0 6 1 pinnumber=19 T 200 1450 5 8 0 1 0 8 1 pinseq=17 T 350 1500 9 8 1 1 0 0 1 pinlabel=XTAL1 T 350 1500 5 8 0 1 0 2 1 pintype=in } V 250 1800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 1800 0 1800 1 0 1 { T 200 1850 5 8 1 1 0 6 1 pinnumber=31 T 200 1750 5 8 0 1 0 8 1 pinseq=18 T 350 1800 9 8 1 1 0 0 1 pinlabel=\_EA\_ T 350 1800 5 8 0 1 0 2 1 pintype=in } P 1800 6600 2100 6600 1 0 1 { T 1900 6650 5 8 1 1 0 0 1 pinnumber=39 T 1900 6550 5 8 0 1 0 2 1 pinseq=19 T 1750 6600 9 8 1 1 0 6 1 pinlabel=AD0 T 1750 6600 5 8 0 1 0 8 1 pintype=io } P 1800 6300 2100 6300 1 0 1 { T 1900 6350 5 8 1 1 0 0 1 pinnumber=38 T 1900 6250 5 8 0 1 0 2 1 pinseq=20 T 1750 6300 9 8 1 1 0 6 1 pinlabel=AD1 T 1750 6300 5 8 0 1 0 8 1 pintype=io } P 1800 6000 2100 6000 1 0 1 { T 1900 6050 5 8 1 1 0 0 1 pinnumber=37 T 1900 5950 5 8 0 1 0 2 1 pinseq=21 T 1750 6000 9 8 1 1 0 6 1 pinlabel=AD2 T 1750 6000 5 8 0 1 0 8 1 pintype=io } P 1800 5700 2100 5700 1 0 1 { T 1900 5750 5 8 1 1 0 0 1 pinnumber=36 T 1900 5650 5 8 0 1 0 2 1 pinseq=22 T 1750 5700 9 8 1 1 0 6 1 pinlabel=AD3 T 1750 5700 5 8 0 1 0 8 1 pintype=io } P 1800 5400 2100 5400 1 0 1 { T 1900 5450 5 8 1 1 0 0 1 pinnumber=35 T 1900 5350 5 8 0 1 0 2 1 pinseq=23 T 1750 5400 9 8 1 1 0 6 1 pinlabel=AD4 T 1750 5400 5 8 0 1 0 8 1 pintype=io } P 1800 5100 2100 5100 1 0 1 { T 1900 5150 5 8 1 1 0 0 1 pinnumber=34 T 1900 5050 5 8 0 1 0 2 1 pinseq=24 T 1750 5100 9 8 1 1 0 6 1 pinlabel=AD5 T 1750 5100 5 8 0 1 0 8 1 pintype=io } P 1800 4800 2100 4800 1 0 1 { T 1900 4850 5 8 1 1 0 0 1 pinnumber=33 T 1900 4750 5 8 0 1 0 2 1 pinseq=25 T 1750 4800 9 8 1 1 0 6 1 pinlabel=AD6 T 1750 4800 5 8 0 1 0 8 1 pintype=io } P 1800 4500 2100 4500 1 0 1 { T 1900 4550 5 8 1 1 0 0 1 pinnumber=32 T 1900 4450 5 8 0 1 0 2 1 pinseq=26 T 1750 4500 9 8 1 1 0 6 1 pinlabel=AD7 T 1750 4500 5 8 0 1 0 8 1 pintype=io } P 1800 4200 2100 4200 1 0 1 { T 1900 4250 5 8 1 1 0 0 1 pinnumber=21 T 1900 4150 5 8 0 1 0 2 1 pinseq=27 T 1750 4200 9 8 1 1 0 6 1 pinlabel=A8 T 1750 4200 5 8 0 1 0 8 1 pintype=io } P 1800 3900 2100 3900 1 0 1 { T 1900 3950 5 8 1 1 0 0 1 pinnumber=22 T 1900 3850 5 8 0 1 0 2 1 pinseq=28 T 1750 3900 9 8 1 1 0 6 1 pinlabel=A9 T 1750 3900 5 8 0 1 0 8 1 pintype=io } P 1800 3600 2100 3600 1 0 1 { T 1900 3650 5 8 1 1 0 0 1 pinnumber=23 T 1900 3550 5 8 0 1 0 2 1 pinseq=29 T 1750 3600 9 8 1 1 0 6 1 pinlabel=A10 T 1750 3600 5 8 0 1 0 8 1 pintype=io } P 1800 3300 2100 3300 1 0 1 { T 1900 3350 5 8 1 1 0 0 1 pinnumber=24 T 1900 3250 5 8 0 1 0 2 1 pinseq=30 T 1750 3300 9 8 1 1 0 6 1 pinlabel=A11 T 1750 3300 5 8 0 1 0 8 1 pintype=io } P 1800 3000 2100 3000 1 0 1 { T 1900 3050 5 8 1 1 0 0 1 pinnumber=25 T 1900 2950 5 8 0 1 0 2 1 pinseq=31 T 1750 3000 9 8 1 1 0 6 1 pinlabel=A12 T 1750 3000 5 8 0 1 0 8 1 pintype=io } P 1800 2700 2100 2700 1 0 1 { T 1900 2750 5 8 1 1 0 0 1 pinnumber=26 T 1900 2650 5 8 0 1 0 2 1 pinseq=32 T 1750 2700 9 8 1 1 0 6 1 pinlabel=A13 T 1750 2700 5 8 0 1 0 8 1 pintype=io } P 1800 2400 2100 2400 1 0 1 { T 1900 2450 5 8 1 1 0 0 1 pinnumber=27 T 1900 2350 5 8 0 1 0 2 1 pinseq=33 T 1750 2400 9 8 1 1 0 6 1 pinlabel=A14 T 1750 2400 5 8 0 1 0 8 1 pintype=io } P 1800 1800 2100 1800 1 0 1 { T 1900 1850 5 8 1 1 0 0 1 pinnumber=30 T 1900 1750 5 8 0 1 0 2 1 pinseq=34 T 1750 1800 9 8 1 1 0 6 1 pinlabel=ALE T 1750 1800 5 8 0 1 0 8 1 pintype=out } V 1850 1500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1900 1500 2100 1500 1 0 1 { T 1900 1550 5 8 1 1 0 0 1 pinnumber=29 T 1900 1450 5 8 0 1 0 2 1 pinseq=35 T 1750 1500 9 8 1 1 0 6 1 pinlabel=\_PSEN\_ T 1750 1500 5 8 0 1 0 8 1 pintype=out } P 1800 1200 2100 1200 1 0 1 { T 1900 1250 5 8 1 1 0 0 1 pinnumber=17 T 1900 1150 5 8 0 1 0 2 1 pinseq=36 T 1750 1200 9 8 1 1 0 6 1 pinlabel=(\_RD\_) P3.7 T 1750 1200 5 8 0 1 0 8 1 pintype=io } P 1800 900 2100 900 1 0 1 { T 1900 950 5 8 1 1 0 0 1 pinnumber=16 T 1900 850 5 8 0 1 0 2 1 pinseq=37 T 1750 900 9 8 1 1 0 6 1 pinlabel=(\_WR\_) P3.6 T 1750 900 5 8 0 1 0 8 1 pintype=io } T 1800 7000 8 10 1 1 0 6 1 refdes=U? T 300 7150 5 10 0 0 0 0 1 device=8031 T 300 7350 5 10 0 0 0 0 1 footprint=DIP40 T 300 8150 5 10 0 0 0 0 1 description=8-bit micro controller T 300 7950 5 10 0 0 0 0 1 numslots=0 T 300 8350 5 10 0 0 0 0 1 author=Werner Hoch T 300 7550 5 10 0 0 0 0 1 net=Vcc:40 T 300 7750 5 10 0 0 0 0 1 net=GND:20 T 300 6950 9 10 1 0 0 0 1 8031 P 1800 2100 2100 2100 1 0 1 { T 1900 2150 5 8 1 1 0 0 1 pinnumber=28 T 1900 2050 5 8 0 1 0 2 1 pinseq=38 T 1750 2100 9 8 1 1 0 6 1 pinlabel=A15 T 1750 2100 5 8 0 1 0 8 1 pintype=io } geda-gaf-1.8.2/symbols/micro/ATmega32MLF-1.sym0000664000175000017500000002071712204104272015434 00000000000000v 20041228 1 B 400 400 3500 8500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1400 9400 8 10 0 0 0 0 1 device=ATMEGA32 T 1400 9600 8 10 0 0 0 0 1 footprint=MLF 44 T 1400 9800 8 10 0 0 0 0 1 numslots=0 T 2700 9000 9 10 1 0 0 0 1 ATmega32 TQFP/MLF P 100 1700 400 1700 1 0 0 { T 100 1700 5 10 0 1 0 0 1 pintype=io T 100 1700 5 10 1 1 0 0 1 pinnumber=40 T 100 1700 5 10 0 1 0 0 1 pinseq=40 T 500 1700 3 10 1 1 0 0 1 pinlabel=PB0 (XCK/T0) } P 100 2100 400 2100 1 0 0 { T 100 2100 5 10 0 1 0 0 1 pintype=io T 100 2100 5 10 1 1 0 0 1 pinnumber=41 T 100 2100 5 10 0 1 0 0 1 pinseq=41 T 500 2100 3 10 1 1 0 0 1 pinlabel=PB1 (T1) } P 100 2500 400 2500 1 0 0 { T 100 2500 5 10 0 1 0 0 1 pintype=io T 100 2500 5 10 1 1 0 0 1 pinnumber=42 T 100 2500 5 10 0 1 0 0 1 pinseq=42 T 500 2500 3 10 1 1 0 0 1 pinlabel=PB2 (INT2/AIN0) } P 100 2900 400 2900 1 0 0 { T 100 2900 5 10 0 1 0 0 1 pintype=io T 100 2900 5 10 1 1 0 0 1 pinnumber=43 T 100 2900 5 10 0 1 0 0 1 pinseq=43 T 500 2900 3 10 1 1 0 0 1 pinlabel=PB3 (OC0/AIN1) } P 100 3300 400 3300 1 0 0 { T 100 3300 5 10 0 1 0 0 1 pintype=io T 100 3300 5 10 1 1 0 0 1 pinnumber=44 T 100 3300 5 10 0 1 0 0 1 pinseq=44 T 500 3300 3 10 1 1 0 0 1 pinlabel=PB4 (SS_L) } P 100 3700 400 3700 1 0 0 { T 100 3700 5 10 0 1 0 0 1 pintype=io T 100 3700 5 10 1 1 0 0 1 pinnumber=1 T 100 3700 5 10 0 1 0 0 1 pinseq=1 T 500 3700 3 10 1 1 0 0 1 pinlabel=PB5 (MOSI) } P 100 4100 400 4100 1 0 0 { T 100 4100 5 10 0 1 0 0 1 pintype=io T 100 4100 5 10 1 1 0 0 1 pinnumber=2 T 100 4100 5 10 0 1 0 0 1 pinseq=2 T 500 4100 3 10 1 1 0 0 1 pinlabel=PB6 (MISO) } P 100 4500 400 4500 1 0 0 { T 100 4500 5 10 0 1 0 0 1 pintype=io T 100 4500 5 10 1 1 0 0 1 pinnumber=3 T 100 4500 5 10 0 1 0 0 1 pinseq=3 T 500 4500 3 10 1 1 0 0 1 pinlabel=PB7 (SCK) } P 3900 1700 4200 1700 1 0 1 { T 3900 1700 5 10 0 1 0 0 1 pintype=io T 3900 1700 5 10 1 1 0 0 1 pinnumber=19 T 3900 1700 5 10 0 1 0 0 1 pinseq=19 T 2883 1700 3 10 1 1 0 0 1 pinlabel=PC0 (SCL) } P 3900 2100 4200 2100 1 0 1 { T 3900 2100 5 10 0 1 0 0 1 pintype=io T 3900 2100 5 10 1 1 0 0 1 pinnumber=20 T 3900 2100 5 10 0 1 0 0 1 pinseq=20 T 2906 2100 3 10 1 1 0 0 1 pinlabel=PC1 (SDA) } P 3900 2500 4200 2500 1 0 1 { T 3900 2500 5 10 0 1 0 0 1 pintype=io T 3900 2500 5 10 1 1 0 0 1 pinnumber=21 T 3900 2500 5 10 0 1 0 0 1 pinseq=21 T 2866 2500 3 10 1 1 0 0 1 pinlabel=PC2 (TCK) } P 3900 2900 4200 2900 1 0 1 { T 3900 2900 5 10 0 1 0 0 1 pintype=io T 3900 2900 5 10 1 1 0 0 1 pinnumber=22 T 3900 2900 5 10 0 1 0 0 1 pinseq=22 T 2878 2900 3 10 1 1 0 0 1 pinlabel=PC3 (TMS) } P 3900 3300 4200 3300 1 0 1 { T 3900 3300 5 10 0 1 0 0 1 pintype=io T 3900 3300 5 10 1 1 0 0 1 pinnumber=23 T 3900 3300 5 10 0 1 0 0 1 pinseq=23 T 2856 3300 3 10 1 1 0 0 1 pinlabel=PC4 (TDO) } P 3900 3700 4200 3700 1 0 1 { T 3900 3700 5 10 0 1 0 0 1 pintype=io T 3900 3700 5 10 1 1 0 0 1 pinnumber=24 T 3900 3700 5 10 0 1 0 0 1 pinseq=24 T 2996 3700 3 10 1 1 0 0 1 pinlabel=PC5 (TDI) } P 3900 4100 4200 4100 1 0 1 { T 3900 4100 5 10 0 1 0 0 1 pintype=io T 3900 4100 5 10 1 1 0 0 1 pinnumber=25 T 3900 4100 5 10 0 1 0 0 1 pinseq=25 T 2651 4100 3 10 1 1 0 0 1 pinlabel=PC6 (TOSC1) } P 3900 4500 4200 4500 1 0 1 { T 3900 4500 5 10 0 1 0 0 1 pintype=io T 3900 4500 5 10 1 1 0 0 1 pinnumber=26 T 3900 4500 5 10 0 1 0 0 1 pinseq=26 T 2618 4500 3 10 1 1 0 0 1 pinlabel=PC7 (TOSC2) } P 3900 5100 4200 5100 1 0 1 { T 3900 5100 5 10 0 1 0 0 1 pintype=io T 3900 5100 5 10 1 1 0 0 1 pinnumber=9 T 3900 5100 5 10 0 1 0 0 1 pinseq=9 T 2871 5105 3 10 1 1 0 0 1 pinlabel=PD0 (RXD) } P 3900 5500 4200 5500 1 0 1 { T 3900 5500 5 10 0 1 0 0 1 pintype=io T 3900 5500 5 10 1 1 0 0 1 pinnumber=10 T 3900 5500 5 10 0 1 0 0 1 pinseq=10 T 2934 5500 3 10 1 1 0 0 1 pinlabel=PD1 (TXD) } P 3900 5900 4200 5900 1 0 1 { T 3900 5900 5 10 0 1 0 0 1 pintype=io T 3900 5900 5 10 1 1 0 0 1 pinnumber=11 T 3900 5900 5 10 0 1 0 0 1 pinseq=11 T 2833 5900 3 10 1 1 0 0 1 pinlabel=PD2 (INT0) } P 3900 6300 4200 6300 1 0 1 { T 3900 6300 5 10 0 1 0 0 1 pintype=io T 3900 6300 5 10 1 1 0 0 1 pinnumber=12 T 3900 6300 5 10 0 1 0 0 1 pinseq=12 T 2906 6300 3 10 1 1 0 0 1 pinlabel=PD3 (INT1) } P 3900 6700 4200 6700 1 0 1 { T 3900 6700 5 10 0 1 0 0 1 pintype=io T 3900 6700 5 10 1 1 0 0 1 pinnumber=13 T 3900 6700 5 10 0 1 0 0 1 pinseq=13 T 2739 6700 3 10 1 1 0 0 1 pinlabel=PD4 (OC1B) } P 3900 7100 4200 7100 1 0 1 { T 3900 7100 5 10 0 1 0 0 1 pintype=io T 3900 7100 5 10 1 1 0 0 1 pinnumber=14 T 3900 7100 5 10 0 1 0 0 1 pinseq=14 T 2768 7100 3 10 1 1 0 0 1 pinlabel=PD5 (OC1A) } P 3900 7500 4200 7500 1 0 1 { T 3900 7500 5 10 0 1 0 0 1 pintype=io T 3900 7500 5 10 1 1 0 0 1 pinnumber=15 T 3900 7500 5 10 0 1 0 0 1 pinseq=15 T 2963 7500 3 10 1 1 0 0 1 pinlabel=PD6 (ICP) } P 3900 7900 4200 7900 1 0 1 { T 3900 7900 5 10 0 1 0 0 1 pintype=io T 3900 7900 5 10 1 1 0 0 1 pinnumber=16 T 3900 7900 5 10 0 1 0 0 1 pinseq=16 T 2863 7906 3 10 1 1 0 0 1 pinlabel=PD7 (OC2) } P 2600 100 2600 400 1 0 0 { T 2600 100 5 10 0 1 90 0 1 pintype=pwr T 2600 100 5 10 1 1 90 0 1 pinnumber=28 T 2600 100 5 10 0 1 90 0 1 pinseq=28 T 2594 541 3 10 1 1 90 0 1 pinlabel=GND } P 100 8500 400 8500 1 0 0 { T 100 8500 5 10 0 1 0 0 1 pintype=in T 100 8500 5 10 1 1 0 0 1 pinnumber=4 T 100 8500 5 10 0 1 0 0 1 pinseq=4 T 500 8500 3 10 1 1 0 0 1 pinlabel=RESET_L } P 1600 9200 1600 8900 1 0 0 { T 1600 9200 5 10 0 1 270 0 1 pintype=pwr T 1600 9200 5 10 1 1 270 0 1 pinnumber=5 T 1600 9200 5 10 0 1 270 0 1 pinseq=5 T 1589 8788 3 10 1 1 270 0 1 pinlabel=VCC } P 100 1100 400 1100 1 0 0 { T 100 1100 5 10 0 1 0 0 1 pintype=io T 100 1100 5 10 1 1 0 0 1 pinnumber=8 T 100 1100 5 10 0 1 0 0 1 pinseq=8 T 500 1100 3 10 1 1 0 0 1 pinlabel=XTAL1 } P 100 700 400 700 1 0 0 { T 100 700 5 10 0 1 0 0 1 pintype=io T 100 700 5 10 1 1 0 0 1 pinnumber=7 T 100 700 5 10 0 1 0 0 1 pinseq=7 T 500 700 3 10 1 1 0 0 1 pinlabel=XTAL2 } T 3700 9200 5 10 1 1 0 0 1 refdes=U? P 100 7900 400 7900 1 0 0 { T 500 7900 3 10 1 1 0 0 1 pinlabel=PA7 (ADC7) T 100 7900 5 10 1 1 0 0 1 pinnumber=30 T 100 7900 5 10 0 1 0 0 1 pinseq=30 T 100 7900 5 10 0 1 0 0 1 pintype=io } P 100 7500 400 7500 1 0 0 { T 500 7500 3 10 1 1 0 0 1 pinlabel=PA6 (ADC6) T 100 7500 5 10 1 1 0 0 1 pinnumber=31 T 100 7500 5 10 0 1 0 0 1 pinseq=31 T 100 7500 5 10 0 1 0 0 1 pintype=io } P 100 7100 400 7100 1 0 0 { T 500 7100 3 10 1 1 0 0 1 pinlabel=PA5 (ADC5) T 100 7100 5 10 1 1 0 0 1 pinnumber=32 T 100 7100 5 10 0 1 0 0 1 pinseq=32 T 100 7100 5 10 0 1 0 0 1 pintype=io } P 100 6700 400 6700 1 0 0 { T 500 6700 3 10 1 1 0 0 1 pinlabel=PA4 (ADC4) T 100 6700 5 10 1 1 0 0 1 pinnumber=33 T 100 6700 5 10 0 1 0 0 1 pinseq=33 T 100 6700 5 10 0 1 0 0 1 pintype=io } P 100 6300 400 6300 1 0 0 { T 500 6300 3 10 1 1 0 0 1 pinlabel=PA3 (ADC3) T 100 6300 5 10 1 1 0 0 1 pinnumber=34 T 100 6300 5 10 0 1 0 0 1 pinseq=34 T 100 6300 5 10 0 1 0 0 1 pintype=io } P 100 5900 400 5900 1 0 0 { T 500 5900 3 10 1 1 0 0 1 pinlabel=PA2 (ADC2) T 100 5900 5 10 1 1 0 0 1 pinnumber=35 T 100 5900 5 10 0 1 0 0 1 pinseq=35 T 100 5900 5 10 0 1 0 0 1 pintype=io } P 100 5500 400 5500 1 0 0 { T 500 5500 3 10 1 1 0 0 1 pinlabel=PA1 (ADC1) T 100 5500 5 10 1 1 0 0 1 pinnumber=36 T 100 5500 5 10 0 1 0 0 1 pinseq=36 T 100 5500 5 10 0 1 0 0 1 pintype=io } P 100 5100 400 5100 1 0 0 { T 500 5100 3 10 1 1 0 0 1 pinlabel=PA0 (ADC0) T 100 5100 5 10 1 1 0 0 1 pinnumber=37 T 100 5100 5 10 0 1 0 0 1 pinseq=37 T 100 5100 5 10 0 1 0 0 1 pintype=io } P 2200 100 2200 400 1 0 0 { T 2200 100 5 10 0 1 90 0 1 pintype=pwr T 2200 100 5 10 1 1 90 0 1 pinnumber=18 T 2200 100 5 10 0 1 90 0 1 pinseq=18 T 2194 541 3 10 1 1 90 0 1 pinlabel=GND } P 1800 100 1800 400 1 0 0 { T 1800 100 5 10 0 1 90 0 1 pintype=pwr T 1800 100 5 10 1 1 90 0 1 pinnumber=6 T 1800 100 5 10 0 1 90 0 1 pinseq=6 T 1794 541 3 10 1 1 90 0 1 pinlabel=GND } P 3000 100 3000 400 1 0 0 { T 3000 100 5 10 0 1 90 0 1 pintype=pwr T 3000 100 5 10 1 1 90 0 1 pinnumber=39 T 3000 100 5 10 0 1 90 0 1 pinseq=39 T 2994 541 3 10 1 1 90 0 1 pinlabel=GND } P 2000 9200 2000 8900 1 0 0 { T 2000 9200 5 10 0 1 270 0 1 pintype=pwr T 2000 9200 5 10 1 1 270 0 1 pinnumber=17 T 2000 9200 5 10 0 1 270 0 1 pinseq=17 T 1989 8788 3 10 1 1 270 0 1 pinlabel=VCC } P 2400 9200 2400 8900 1 0 0 { T 2400 9200 5 10 0 1 270 0 1 pintype=pwr T 2400 9200 5 10 1 1 270 0 1 pinnumber=38 T 2400 9200 5 10 0 1 270 0 1 pinseq=38 T 2389 8788 3 10 1 1 270 0 1 pinlabel=VCC } P 3900 700 4200 700 1 0 1 { T 3900 700 5 10 0 1 0 0 1 pintype=io T 3900 700 5 10 1 1 0 0 1 pinnumber=29 T 3900 700 5 10 0 1 0 0 1 pinseq=29 T 3271 705 3 10 1 1 0 0 1 pinlabel=AREF } P 3900 1100 4200 1100 1 0 1 { T 3900 1100 5 10 0 1 0 0 1 pintype=io T 3900 1100 5 10 1 1 0 0 1 pinnumber=27 T 3900 1100 5 10 0 1 0 0 1 pinseq=27 T 3271 1105 3 10 1 1 0 0 1 pinlabel=AVCC } T 1400 10000 8 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/micro/DS2450-1.sym0000664000175000017500000000356712204104272014417 00000000000000v 20031231 1 B 400 0 1400 1600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 1850 5 10 0 0 0 0 1 device=DS2450 P 400 1400 100 1400 1 0 1 { T 300 1450 5 8 1 1 0 6 1 pinnumber=1 T 300 1350 5 8 0 1 0 8 1 pinseq=1 T 450 1400 5 8 0 1 0 2 1 pintype=pwr T 450 1400 9 8 1 1 0 0 1 pinlabel=Vcc } P 400 1000 100 1000 1 0 1 { T 300 1050 5 8 1 1 0 6 1 pinnumber=2 T 300 950 5 8 0 1 0 8 1 pinseq=2 T 450 1000 5 8 0 1 0 2 1 pintype=pas T 450 1000 9 8 1 1 0 0 1 pinlabel=NC } P 400 600 100 600 1 0 1 { T 300 650 5 8 1 1 0 6 1 pinnumber=3 T 300 550 5 8 0 1 0 8 1 pinseq=3 T 450 600 5 8 0 1 0 2 1 pintype=io T 450 600 9 8 1 1 0 0 1 pinlabel=DATA } P 400 200 100 200 1 0 1 { T 300 250 5 8 1 1 0 6 1 pinnumber=4 T 300 150 5 8 0 1 0 8 1 pinseq=4 T 450 200 5 8 0 1 0 2 1 pintype=pwr T 450 200 9 8 1 1 0 0 1 pinlabel=GND } P 2100 200 1800 200 1 0 0 { T 1900 250 5 8 1 1 0 0 1 pinnumber=5 T 1900 150 5 8 0 1 0 2 1 pinseq=5 T 1750 200 5 8 0 1 0 8 1 pintype=io T 1750 200 9 8 1 1 0 6 1 pinlabel=AIN-A } P 2100 600 1800 600 1 0 0 { T 1900 650 5 8 1 1 0 0 1 pinnumber=6 T 1900 550 5 8 0 1 0 2 1 pinseq=6 T 1750 600 5 8 0 1 0 8 1 pintype=io T 1750 600 9 8 1 1 0 6 1 pinlabel=AIN-B } P 2100 1000 1800 1000 1 0 0 { T 1900 1050 5 8 1 1 0 0 1 pinnumber=7 T 1900 950 5 8 0 1 0 2 1 pinseq=7 T 1750 1000 5 8 0 1 0 8 1 pintype=io T 1750 1000 9 8 1 1 0 6 1 pinlabel=AIN-C } P 2100 1400 1800 1400 1 0 0 { T 1900 1450 5 8 1 1 0 0 1 pinnumber=8 T 1900 1350 5 8 0 1 0 2 1 pinseq=8 T 1750 1400 5 8 0 1 0 8 1 pintype=io T 1750 1400 9 8 1 1 0 6 1 pinlabel=AIN-D } T 1800 1700 8 10 1 1 0 6 1 refdes=U? T 400 2250 5 10 0 0 0 0 1 footprint=SMD8 T 400 2050 5 10 0 0 0 0 1 numslots=0 T 400 2450 5 10 0 0 0 0 1 description=Dallas Semiconductor 1-Wire A/D Converter (Travis Sawyer) T 400 2650 5 10 0 0 0 0 1 net=GND:4 T 400 2850 5 10 0 0 0 0 1 net=Vcc:1 T 400 3050 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/DS2450.pdf T 400 1650 9 8 1 0 0 0 1 DS2450 geda-gaf-1.8.2/symbols/micro/ATmega8-1.sym0000664000175000017500000001207212204104272015013 00000000000000v 20041228 1 T 100 5400 8 10 0 0 0 0 1 Copyright Mark Salyzyn T 2200 4300 9 10 1 0 0 6 1 ATmega8 T 100 5000 8 10 0 0 0 0 1 description=Low-power AVR 8-bit Microcontroller T 100 5200 8 10 0 0 0 0 1 documentation=http://rocky.digikey.com/WebLib/Atmel/Web Data/ATmeg8(L) Preliminary Complete.pdf T 100 4800 8 10 0 0 0 0 1 footprint=DIP28N T 2300 4600 8 10 1 1 0 6 1 refdes=U? T 1900 4600 8 10 0 1 0 6 1 numslots=0 P 2600 2100 2300 2100 1 0 0 { T 2400 2150 5 8 1 1 0 0 1 pinnumber=1 T 2400 2250 5 8 0 1 0 2 1 pinseq=1 T 2250 2100 9 8 1 1 0 6 1 pinlabel=(RESET) PC6 T 2250 2100 5 8 0 1 0 8 1 pintype=io } P 0 4300 300 4300 1 0 0 { T 200 4350 5 8 1 1 0 6 1 pinnumber=2 T 200 4450 5 8 0 1 0 8 1 pinseq=2 T 350 4300 9 8 1 1 0 0 1 pinlabel=PD0 (RxD) T 350 4300 5 8 0 1 0 2 1 pintype=io } P 0 4100 300 4100 1 0 0 { T 200 4150 5 8 1 1 0 6 1 pinnumber=3 T 200 4250 5 8 0 1 0 8 1 pinseq=3 T 350 4100 9 8 1 1 0 0 1 pinlabel=PD1 (TxD) T 350 4100 5 8 0 1 0 2 1 pintype=io } P 0 3900 300 3900 1 0 0 { T 200 3950 5 8 1 1 0 6 1 pinnumber=4 T 200 4050 5 8 0 1 0 8 1 pinseq=4 T 350 3900 9 8 1 1 0 0 1 pinlabel=PD2 (INT0) T 350 3900 5 8 0 1 0 2 1 pintype=io } P 0 3700 300 3700 1 0 0 { T 200 3750 5 8 1 1 0 6 1 pinnumber=5 T 200 3850 5 8 0 1 0 8 1 pinseq=5 T 350 3700 9 8 1 1 0 0 1 pinlabel=PD3 (INT1) T 350 3700 5 8 0 1 0 2 1 pintype=io } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=6 T 200 3650 5 8 0 1 0 8 1 pinseq=6 T 350 3500 9 8 1 1 0 0 1 pinlabel=PD4 (XCK/T0) T 350 3500 5 8 0 1 0 2 1 pintype=io } T 1900 3950 5 10 0 1 0 6 1 net=Vcc:7 T 2200 3750 5 10 0 1 0 6 1 net=GND:8,22 P 0 400 300 400 1 0 0 { T 200 450 5 8 1 1 0 6 1 pinnumber=9 T 200 550 5 8 0 1 0 8 1 pinseq=9 T 350 400 9 8 1 1 0 0 1 pinlabel=PB6 (XTAL1/OSC1) T 350 400 5 8 0 1 0 2 1 pintype=io } P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=10 T 200 350 5 8 0 1 0 8 1 pinseq=10 T 350 200 9 8 1 1 0 0 1 pinlabel=PB7 (XTAL2/TOSC2) T 350 200 5 8 0 1 0 2 1 pintype=io } P 0 3300 300 3300 1 0 0 { T 200 3350 5 8 1 1 0 6 1 pinnumber=11 T 200 3450 5 8 0 1 0 8 1 pinseq=11 T 350 3300 9 8 1 1 0 0 1 pinlabel=PD5 (T1) T 350 3300 5 8 0 1 0 2 1 pintype=io } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=12 T 200 3250 5 8 0 1 0 8 1 pinseq=12 T 350 3100 9 8 1 1 0 0 1 pinlabel=PD6 (AIN0) T 350 3100 5 8 0 1 0 2 1 pintype=io } P 0 2900 300 2900 1 0 0 { T 200 2950 5 8 1 1 0 6 1 pinnumber=13 T 200 3050 5 8 0 1 0 8 1 pinseq=13 T 350 2900 9 8 1 1 0 0 1 pinlabel=PD7 (AIN1) T 350 2900 5 8 0 1 0 2 1 pintype=io } P 0 1600 300 1600 1 0 0 { T 200 1650 5 8 1 1 0 6 1 pinnumber=14 T 200 1750 5 8 0 1 0 8 1 pinseq=14 T 350 1600 9 8 1 1 0 0 1 pinlabel=PB0 (ICP1) T 350 1600 5 8 0 1 0 2 1 pintype=io } P 300 1400 0 1400 1 0 1 { T 200 1450 5 8 1 1 0 6 1 pinnumber=15 T 200 1550 5 8 0 1 0 8 1 pinseq=15 T 350 1400 9 8 1 1 0 0 1 pinlabel=PB1 (OC1A) T 350 1400 5 8 0 1 0 2 1 pintype=io } P 300 1200 0 1200 1 0 1 { T 200 1250 5 8 1 1 0 6 1 pinnumber=16 T 200 1350 5 8 0 1 0 8 1 pinseq=16 T 350 1200 9 8 1 1 0 0 1 pinlabel=PB2 (SS/OC1B) T 350 1200 5 8 0 1 0 2 1 pintype=io } P 300 1000 0 1000 1 0 1 { T 200 1050 5 8 1 1 0 6 1 pinnumber=17 T 200 1150 5 8 0 1 0 8 1 pinseq=17 T 350 1000 9 8 1 1 0 0 1 pinlabel=PB3 (MOSI/OC2) T 350 1000 5 8 0 1 0 2 1 pintype=io } P 300 800 0 800 1 0 1 { T 200 850 5 8 1 1 0 6 1 pinnumber=18 T 200 950 5 8 0 1 0 8 1 pinseq=18 T 350 800 9 8 1 1 0 0 1 pinlabel=PB4 (MISO) T 350 800 5 8 0 1 0 2 1 pintype=io } P 300 600 0 600 1 0 1 { T 200 650 5 8 1 1 0 6 1 pinnumber=19 T 200 750 5 8 0 1 0 8 1 pinseq=19 T 350 600 9 8 1 1 0 0 1 pinlabel=PB5 (SCK) T 350 600 5 8 0 1 0 2 1 pintype=io } P 2300 1000 2600 1000 1 0 1 { T 2400 1050 5 8 1 1 0 0 1 pinnumber=20 T 2400 1150 5 8 0 1 0 2 1 pinseq=20 T 2250 1000 9 8 1 1 0 6 1 pinlabel=AVCC T 2250 1000 5 8 0 1 0 8 1 pintype=in } P 2300 1300 2600 1300 1 0 1 { T 2400 1350 5 8 1 1 0 0 1 pinnumber=21 T 2400 1450 5 8 0 1 0 2 1 pinseq=21 T 2250 1300 9 8 1 1 0 6 1 pinlabel=AREF T 2250 1300 5 8 0 1 0 8 1 pintype=in } P 2300 3300 2600 3300 1 0 1 { T 2400 3350 5 8 1 1 0 0 1 pinnumber=23 T 2400 3450 5 8 0 1 0 2 1 pinseq=23 T 2250 3300 9 8 1 1 0 6 1 pinlabel=(ADC0) PC0 T 2250 3300 5 8 0 1 0 8 1 pintype=io } P 2300 3100 2600 3100 1 0 1 { T 2400 3150 5 8 1 1 0 0 1 pinnumber=24 T 2400 3250 5 8 0 1 0 2 1 pinseq=24 T 2250 3100 9 8 1 1 0 6 1 pinlabel=(ADC1) PC1 T 2250 3100 5 8 0 1 0 8 1 pintype=io } P 2300 2900 2600 2900 1 0 1 { T 2400 2950 5 8 1 1 0 0 1 pinnumber=25 T 2400 3050 5 8 0 1 0 2 1 pinseq=25 T 2250 2900 9 8 1 1 0 6 1 pinlabel=(ADC2) PC2 T 2250 2900 5 8 0 1 0 8 1 pintype=io } P 2300 2700 2600 2700 1 0 1 { T 2400 2750 5 8 1 1 0 0 1 pinnumber=26 T 2400 2850 5 8 0 1 0 2 1 pinseq=26 T 2250 2700 9 8 1 1 0 6 1 pinlabel=(ADC3) PC3 T 2250 2700 5 8 0 1 0 8 1 pintype=io } P 2300 2500 2600 2500 1 0 1 { T 2400 2550 5 8 1 1 0 0 1 pinnumber=27 T 2400 2650 5 8 0 1 0 2 1 pinseq=27 T 2250 2500 9 8 1 1 0 6 1 pinlabel=(ADC4/SDA) PC4 T 2250 2500 5 8 0 1 0 8 1 pintype=io } P 2300 2300 2600 2300 1 0 1 { T 2400 2350 5 8 1 1 0 0 1 pinnumber=28 T 2400 2450 5 8 0 1 0 2 1 pinseq=28 T 2250 2300 9 8 1 1 0 6 1 pinlabel=(ADC5/SCL) PC5 T 2250 2300 5 8 0 1 0 8 1 pintype=io } B 300 100 2000 4400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 100 5600 8 10 0 0 0 0 1 device=ATmega8 geda-gaf-1.8.2/symbols/micro/tiny-tiger-1.sym0000664000175000017500000002067212204104272015665 00000000000000v 20031231 1 T 400 12300 5 10 0 0 0 0 1 device=TINY-TIGER T 400 12000 5 10 0 0 0 0 1 description=TINY-Tiger multi-tasking MPU by Wilke Technology T 400 11700 5 10 0 0 0 0 1 documentation=http://www.wilke.de/multi.htm#tinytiger T 400 11400 5 10 0 0 0 0 1 author=Jan Stap stapATdse.nl T 400 10800 5 10 0 0 0 0 1 date=$Date$ T 400 10500 5 10 0 0 0 0 1 rev=$Revision$ T 400 10200 5 10 0 0 0 0 1 auth=$Author$ T 400 9900 5 10 0 0 0 0 1 fname=$Source$ T 400 9600 5 10 0 0 0 0 1 footprint=DIL 44 900 T 400 9300 5 10 0 0 0 0 1 numslots=0 T 2400 8900 8 10 1 1 0 6 1 refdes=U? T 400 8850 9 10 1 0 0 0 1 TINY-Tiger B 400 0 2000 8800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 400 8600 100 8600 1 0 1 { T 300 8650 5 8 1 1 0 6 1 pinnumber=1 T 300 8550 5 8 0 1 0 8 1 pinseq=1 T 450 8600 9 8 1 1 0 0 1 pinlabel=L60 T 450 8550 5 8 0 1 0 2 1 pintype=io } P 400 8200 100 8200 1 0 1 { T 300 8250 5 8 1 1 0 6 1 pinnumber=2 T 300 8150 5 8 0 1 0 8 1 pinseq=2 T 450 8200 9 8 1 1 0 0 1 pinlabel=L61 T 450 8150 5 8 0 1 0 2 1 pintype=io } P 400 7800 100 7800 1 0 1 { T 300 7850 5 8 1 1 0 6 1 pinnumber=3 T 300 7750 5 8 0 1 0 8 1 pinseq=3 T 450 7800 9 8 1 1 0 0 1 pinlabel=L62 T 450 7750 5 8 0 1 0 2 1 pintype=io } P 400 7400 100 7400 1 0 1 { T 300 7450 5 8 1 1 0 6 1 pinnumber=4 T 300 7350 5 8 0 1 0 8 1 pinseq=4 T 450 7400 9 8 1 1 0 0 1 pinlabel=L63 T 450 7350 5 8 0 1 0 2 1 pintype=io } P 400 7000 100 7000 1 0 1 { T 300 7050 5 8 1 1 0 6 1 pinnumber=5 T 300 6950 5 8 0 1 0 8 1 pinseq=5 T 450 7000 9 8 1 1 0 0 1 pinlabel=L64 T 450 6950 5 8 0 1 0 2 1 pintype=io } P 400 6600 100 6600 1 0 1 { T 300 6650 5 8 1 1 0 6 1 pinnumber=6 T 300 6550 5 8 0 1 0 8 1 pinseq=6 T 450 6600 9 8 1 1 0 0 1 pinlabel=L65 T 450 6550 5 8 0 1 0 2 1 pintype=io } P 400 6200 100 6200 1 0 1 { T 300 6250 5 8 1 1 0 6 1 pinnumber=7 T 300 6150 5 8 0 1 0 8 1 pinseq=7 T 450 6200 9 8 1 1 0 0 1 pinlabel=L66 T 450 6150 5 8 0 1 0 2 1 pintype=io } P 400 5800 100 5800 1 0 1 { T 300 5850 5 8 1 1 0 6 1 pinnumber=8 T 300 5750 5 8 0 1 0 8 1 pinseq=8 T 450 5800 9 8 1 1 0 0 1 pinlabel=L67 T 450 5750 5 8 0 1 0 2 1 pintype=io } P 400 5400 100 5400 1 0 1 { T 300 5450 5 8 1 1 0 6 1 pinnumber=9 T 300 5350 5 8 0 1 0 8 1 pinseq=9 T 450 5400 9 8 1 1 0 0 1 pinlabel=L70 T 450 5350 5 8 0 1 0 2 1 pintype=io } P 400 5000 100 5000 1 0 1 { T 300 5050 5 8 1 1 0 6 1 pinnumber=10 T 300 4950 5 8 0 1 0 8 1 pinseq=10 T 450 5000 9 8 1 1 0 0 1 pinlabel=L71 T 450 4950 5 8 0 1 0 2 1 pintype=io } P 400 4600 100 4600 1 0 1 { T 300 4650 5 8 1 1 0 6 1 pinnumber=11 T 300 4550 5 8 0 1 0 8 1 pinseq=11 T 450 4600 9 8 1 1 0 0 1 pinlabel=PWM/L72 T 450 4550 5 8 0 1 0 2 1 pintype=io } P 400 4200 100 4200 1 0 1 { T 300 4250 5 8 1 1 0 6 1 pinnumber=12 T 300 4150 5 8 0 1 0 8 1 pinseq=12 T 450 4200 9 8 1 1 0 0 1 pinlabel=PWM/L73 T 450 4150 5 8 0 1 0 2 1 pintype=io } P 400 3800 100 3800 1 0 1 { T 300 3850 5 8 1 1 0 6 1 pinnumber=13 T 300 3750 5 8 0 1 0 8 1 pinseq=13 T 450 3800 9 8 1 1 0 0 1 pinlabel=L80 T 450 3750 5 8 0 1 0 2 1 pintype=io } P 400 3400 100 3400 1 0 1 { T 300 3450 5 8 1 1 0 6 1 pinnumber=14 T 300 3350 5 8 0 1 0 8 1 pinseq=14 T 450 3400 9 8 1 1 0 0 1 pinlabel=L81 T 450 3350 5 8 0 1 0 2 1 pintype=io } P 400 3000 100 3000 1 0 1 { T 300 3050 5 8 1 1 0 6 1 pinnumber=15 T 300 2950 5 8 0 1 0 8 1 pinseq=15 T 450 3000 9 8 1 1 0 0 1 pinlabel=L82 T 450 2950 5 8 0 1 0 2 1 pintype=io } P 400 2600 100 2600 1 0 1 { T 300 2650 5 8 1 1 0 6 1 pinnumber=16 T 300 2550 5 8 0 1 0 8 1 pinseq=16 T 450 2600 9 8 1 1 0 0 1 pinlabel=L83 T 450 2550 5 8 0 1 0 2 1 pintype=io } P 400 2200 100 2200 1 0 1 { T 300 2250 5 8 1 1 0 6 1 pinnumber=17 T 300 2150 5 8 0 1 0 8 1 pinseq=17 T 450 2200 9 8 1 1 0 0 1 pinlabel=L84 T 450 2150 5 8 0 1 0 2 1 pintype=io } P 400 1800 100 1800 1 0 1 { T 300 1850 5 8 1 1 0 6 1 pinnumber=18 T 300 1750 5 8 0 1 0 8 1 pinseq=18 T 450 1800 9 8 1 1 0 0 1 pinlabel=L85 T 450 1750 5 8 0 1 0 2 1 pintype=io } P 400 1400 100 1400 1 0 1 { T 300 1450 5 8 1 1 0 6 1 pinnumber=19 T 300 1350 5 8 0 1 0 8 1 pinseq=19 T 450 1400 9 8 1 1 0 0 1 pinlabel=L86 T 450 1350 5 8 0 1 0 2 1 pintype=io } P 400 1000 100 1000 1 0 1 { T 300 1050 5 8 1 1 0 6 1 pinnumber=20 T 300 950 5 8 0 1 0 8 1 pinseq=20 T 450 1000 9 8 1 1 0 0 1 pinlabel=L87 T 450 950 5 8 0 1 0 2 1 pintype=io } P 400 600 100 600 1 0 1 { T 300 650 5 8 1 1 0 6 1 pinnumber=21 T 300 550 5 8 0 1 0 8 1 pinseq=21 T 450 600 9 8 1 1 0 0 1 pinlabel=Reset in T 450 550 5 8 0 1 0 2 1 pintype=in } P 400 200 100 200 1 0 1 { T 300 250 5 8 1 1 0 6 1 pinnumber=22 T 300 150 5 8 0 1 0 8 1 pinseq=22 T 450 200 9 8 1 1 0 0 1 pinlabel=GND T 450 150 5 8 0 1 0 2 1 pintype=pwr } P 2400 200 2700 200 1 0 1 { T 2650 250 5 8 1 1 0 6 1 pinnumber=23 T 2650 150 5 8 0 1 0 8 1 pinseq=23 T 2350 200 9 8 1 1 0 6 1 pinlabel=L90/TxD0 T 2350 150 5 8 0 1 0 8 1 pintype=io } P 2400 600 2700 600 1 0 1 { T 2650 650 5 8 1 1 0 6 1 pinnumber=24 T 2650 550 5 8 0 1 0 8 1 pinseq=24 T 2350 600 9 8 1 1 0 6 1 pinlabel=L91/RxD0 T 2350 550 5 8 0 1 0 8 1 pintype=io } P 2400 1000 2700 1000 1 0 1 { T 2650 1050 5 8 1 1 0 6 1 pinnumber=25 T 2650 950 5 8 0 1 0 8 1 pinseq=25 T 2350 1000 9 8 1 1 0 6 1 pinlabel=L92/CTS0 T 2350 950 5 8 0 1 0 8 1 pintype=io } P 2400 1400 2700 1400 1 0 1 { T 2650 1450 5 8 1 1 0 6 1 pinnumber=26 T 2650 1350 5 8 0 1 0 8 1 pinseq=26 T 2350 1400 9 8 1 1 0 6 1 pinlabel=L93/TxD1 T 2350 1350 5 8 0 1 0 8 1 pintype=io } P 2400 1800 2700 1800 1 0 1 { T 2650 1850 5 8 1 1 0 6 1 pinnumber=27 T 2650 1750 5 8 0 1 0 8 1 pinseq=27 T 2350 1800 9 8 1 1 0 6 1 pinlabel=L94/RxD1 T 2350 1750 5 8 0 1 0 8 1 pintype=io } P 2400 2200 2700 2200 1 0 1 { T 2650 2250 5 8 1 1 0 6 1 pinnumber=28 T 2650 2150 5 8 0 1 0 8 1 pinseq=28 T 2350 2200 9 8 1 1 0 6 1 pinlabel=L95/RTS0 T 2350 2150 5 8 0 1 0 8 1 pintype=io } P 2400 2600 2700 2600 1 0 1 { T 2650 2650 5 8 1 1 0 6 1 pinnumber=29 T 2650 2550 5 8 0 1 0 8 1 pinseq=29 T 2350 2600 9 8 1 1 0 6 1 pinlabel=L33 T 2350 2550 5 8 0 1 0 8 1 pintype=io } P 2400 3000 2700 3000 1 0 1 { T 2650 3050 5 8 1 1 0 6 1 pinnumber=30 T 2650 2950 5 8 0 1 0 8 1 pinseq=30 T 2350 3000 9 8 1 1 0 6 1 pinlabel=L34 T 2350 2950 5 8 0 1 0 8 1 pintype=io } P 2400 3400 2700 3400 1 0 1 { T 2650 3450 5 8 1 1 0 6 1 pinnumber=31 T 2650 3350 5 8 0 1 0 8 1 pinseq=31 T 2350 3400 9 8 1 1 0 6 1 pinlabel=L35 T 2350 3350 5 8 0 1 0 8 1 pintype=io } P 2400 3800 2700 3800 1 0 1 { T 2650 3850 5 8 1 1 0 6 1 pinnumber=32 T 2650 3750 5 8 0 1 0 8 1 pinseq=32 T 2350 3800 9 8 1 1 0 6 1 pinlabel=L36 T 2350 3750 5 8 0 1 0 8 1 pintype=io } P 2400 4200 2700 4200 1 0 1 { T 2650 4250 5 8 1 1 0 6 1 pinnumber=33 T 2650 4150 5 8 0 1 0 8 1 pinseq=33 T 2350 4200 9 8 1 1 0 6 1 pinlabel=L37 T 2350 4150 5 8 0 1 0 8 1 pintype=io } P 2400 4600 2700 4600 1 0 1 { T 2650 4650 5 8 1 1 0 6 1 pinnumber=34 T 2650 4550 5 8 0 1 0 8 1 pinseq=34 T 2350 4600 9 8 1 1 0 6 1 pinlabel=Alarm T 2350 4550 5 8 0 1 0 8 1 pintype=out } P 2400 5000 2700 5000 1 0 1 { T 2650 5050 5 8 1 1 0 6 1 pinnumber=35 T 2650 4950 5 8 0 1 0 8 1 pinseq=35 T 2350 5000 9 8 1 1 0 6 1 pinlabel=Reserved T 2350 4950 5 8 0 1 0 8 1 pintype=io } P 2400 5400 2700 5400 1 0 1 { T 2650 5450 5 8 1 1 0 6 1 pinnumber=36 T 2650 5350 5 8 0 1 0 8 1 pinseq=36 T 2350 5400 9 8 1 1 0 6 1 pinlabel=PC T 2350 5350 5 8 0 1 0 8 1 pintype=in } P 2400 5800 2700 5800 1 0 1 { T 2650 5850 5 8 1 1 0 6 1 pinnumber=37 T 2650 5750 5 8 0 1 0 8 1 pinseq=37 T 2350 5800 9 8 1 1 0 6 1 pinlabel=Analog-in-0 T 2350 5750 5 8 0 1 0 8 1 pintype=in } P 2400 6200 2700 6200 1 0 1 { T 2650 6250 5 8 1 1 0 6 1 pinnumber=38 T 2650 6150 5 8 0 1 0 8 1 pinseq=38 T 2350 6200 9 8 1 1 0 6 1 pinlabel=Analog-in-1 T 2350 6150 5 8 0 1 0 8 1 pintype=in } P 2400 6600 2700 6600 1 0 1 { T 2650 6650 5 8 1 1 0 6 1 pinnumber=39 T 2650 6550 5 8 0 1 0 8 1 pinseq=39 T 2350 6600 9 8 1 1 0 6 1 pinlabel=Analog-in-2 T 2350 6550 5 8 0 1 0 8 1 pintype=in } P 2400 7000 2700 7000 1 0 1 { T 2650 7050 5 8 1 1 0 6 1 pinnumber=40 T 2650 6950 5 8 0 1 0 8 1 pinseq=40 T 2350 7000 9 8 1 1 0 6 1 pinlabel=Analog-in-3 T 2350 6950 5 8 0 1 0 8 1 pintype=in } P 2400 7400 2700 7400 1 0 1 { T 2650 7450 5 8 1 1 0 6 1 pinnumber=41 T 2650 7350 5 8 0 1 0 8 1 pinseq=41 T 2350 7400 9 8 1 1 0 6 1 pinlabel=AGND T 2350 7350 5 8 0 1 0 8 1 pintype=pwr } P 2400 7800 2700 7800 1 0 1 { T 2650 7850 5 8 1 1 0 6 1 pinnumber=42 T 2650 7750 5 8 0 1 0 8 1 pinseq=42 T 2350 7800 9 8 1 1 0 6 1 pinlabel=A/D-Ref in T 2350 7750 5 8 0 1 0 8 1 pintype=in } P 2400 8200 2700 8200 1 0 1 { T 2650 8250 5 8 1 1 0 6 1 pinnumber=43 T 2650 8150 5 8 0 1 0 8 1 pinseq=43 T 2350 8200 9 8 1 1 0 6 1 pinlabel=Batt. input T 2350 8150 5 8 0 1 0 8 1 pintype=pwr } P 2400 8600 2700 8600 1 0 1 { T 2650 8650 5 8 1 1 0 6 1 pinnumber=44 T 2650 8550 5 8 0 1 0 8 1 pinseq=44 T 2350 8600 9 8 1 1 0 6 1 pinlabel=VCC (5V) T 2350 8550 5 8 0 1 0 8 1 pintype=pwr } geda-gaf-1.8.2/symbols/micro/ATmega161_TQFP.sym0000664000175000017500000002016512204104272015651 00000000000000v 20070626 1 T 3000 8900 8 10 1 1 0 6 1 refdes=U? T 400 9050 5 10 0 0 0 0 1 device=ATmega161_TQFP T 400 9250 5 10 0 0 0 0 1 footprint=TQFP44 T 400 9450 5 10 0 0 0 0 1 net=GND:16 T 400 9650 5 10 0 0 0 0 1 net=Vcc:38 P 2300 100 2300 300 1 0 0 { T 2350 200 5 8 1 1 0 0 1 pinnumber=4 T 2350 200 5 8 0 1 0 2 1 pinseq=1 T 2300 450 9 8 1 1 0 3 1 pinlabel=\_Reset\_ T 2300 600 5 8 0 1 0 3 1 pintype=in } V 2300 350 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1700 100 1700 400 1 0 0 { T 1750 200 5 8 1 1 0 0 1 pinnumber=14 T 1750 200 5 8 0 1 0 2 1 pinseq=2 T 1700 450 9 8 1 1 0 3 1 pinlabel=XTAL2 T 1700 600 5 8 0 1 0 3 1 pintype=out } P 1100 100 1100 400 1 0 0 { T 1150 200 5 8 1 1 0 0 1 pinnumber=15 T 1150 200 5 8 0 1 0 2 1 pinseq=3 T 1100 450 9 8 1 1 0 3 1 pinlabel=XTAL1 T 1100 600 5 8 0 1 0 3 1 pintype=in } P 100 2200 400 2200 1 0 0 { T 300 2250 5 8 1 1 0 6 1 pinnumber=13 T 300 2150 5 8 0 1 0 8 1 pinseq=4 T 450 2200 9 8 1 1 0 0 1 pinlabel=PD7 (\_RD\_) T 450 2200 5 8 0 1 0 2 1 pintype=io } P 100 2600 400 2600 1 0 0 { T 300 2650 5 8 1 1 0 6 1 pinnumber=12 T 300 2550 5 8 0 1 0 8 1 pinseq=5 T 450 2600 9 8 1 1 0 0 1 pinlabel=PD6 (\_WR\_) T 450 2600 5 8 0 1 0 2 1 pintype=io } P 100 3000 400 3000 1 0 0 { T 300 3050 5 8 1 1 0 6 1 pinnumber=11 T 300 2950 5 8 0 1 0 8 1 pinseq=6 T 450 3000 9 8 1 1 0 0 1 pinlabel=PD5 (OC1A/TOSC2) T 450 3000 5 8 0 1 0 2 1 pintype=io } P 100 3400 400 3400 1 0 0 { T 300 3450 5 8 1 1 0 6 1 pinnumber=10 T 300 3350 5 8 0 1 0 8 1 pinseq=7 T 450 3400 9 8 1 1 0 0 1 pinlabel=PD4 (TOSC1) T 450 3400 5 8 0 1 0 2 1 pintype=io } P 100 3800 400 3800 1 0 0 { T 300 3850 5 8 1 1 0 6 1 pinnumber=9 T 300 3750 5 8 0 1 0 8 1 pinseq=8 T 450 3800 9 8 1 1 0 0 1 pinlabel=PD3 (INT1) T 450 3800 5 8 0 1 0 2 1 pintype=io } P 100 4200 400 4200 1 0 0 { T 300 4250 5 8 1 1 0 6 1 pinnumber=8 T 300 4150 5 8 0 1 0 8 1 pinseq=9 T 450 4200 9 8 1 1 0 0 1 pinlabel=PD2 (INT0) T 450 4200 5 8 0 1 0 2 1 pintype=io } P 100 4600 400 4600 1 0 0 { T 300 4650 5 8 1 1 0 6 1 pinnumber=7 T 300 4550 5 8 0 1 0 8 1 pinseq=10 T 450 4600 9 8 1 1 0 0 1 pinlabel=PD1 (TXD0) T 450 4600 5 8 0 1 0 2 1 pintype=io } P 100 5000 400 5000 1 0 0 { T 300 5050 5 8 1 1 0 6 1 pinnumber=5 T 300 4950 5 8 0 1 0 8 1 pinseq=11 T 450 5000 9 8 1 1 0 0 1 pinlabel=PD0 (RXD0) T 450 5000 5 8 0 1 0 2 1 pintype=io } P 100 5600 400 5600 1 0 0 { T 300 5650 5 8 1 1 0 6 1 pinnumber=3 T 300 5550 5 8 0 1 0 8 1 pinseq=12 T 450 5600 9 8 1 1 0 0 1 pinlabel=PB7 (SCK) T 450 5600 5 8 0 1 0 2 1 pintype=io } P 100 6000 400 6000 1 0 0 { T 300 6050 5 8 1 1 0 6 1 pinnumber=2 T 300 5950 5 8 0 1 0 8 1 pinseq=13 T 450 6000 9 8 1 1 0 0 1 pinlabel=PB6 (MISO) T 450 6000 5 8 0 1 0 2 1 pintype=io } P 100 6400 400 6400 1 0 0 { T 300 6450 5 8 1 1 0 6 1 pinnumber=1 T 300 6350 5 8 0 1 0 8 1 pinseq=14 T 450 6400 9 8 1 1 0 0 1 pinlabel=PB5 (MOSI) T 450 6400 5 8 0 1 0 2 1 pintype=io } P 100 6800 400 6800 1 0 0 { T 300 6850 5 8 1 1 0 6 1 pinnumber=44 T 300 6750 5 8 0 1 0 8 1 pinseq=15 T 450 6800 9 8 1 1 0 0 1 pinlabel=PB4 (\_SS\_) T 450 6800 5 8 0 1 0 2 1 pintype=io } P 100 7200 400 7200 1 0 0 { T 300 7250 5 8 1 1 0 6 1 pinnumber=43 T 300 7150 5 8 0 1 0 8 1 pinseq=16 T 450 7200 9 8 1 1 0 0 1 pinlabel=PB3 (TXD1/AIN1) T 450 7200 5 8 0 1 0 2 1 pintype=io } P 100 7600 400 7600 1 0 0 { T 300 7650 5 8 1 1 0 6 1 pinnumber=42 T 300 7550 5 8 0 1 0 8 1 pinseq=17 T 450 7600 9 8 1 1 0 0 1 pinlabel=PB2 (RXD1/AIN0) T 450 7600 5 8 0 1 0 2 1 pintype=io } P 100 8000 400 8000 1 0 0 { T 300 8050 5 8 1 1 0 6 1 pinnumber=41 T 300 7950 5 8 0 1 0 8 1 pinseq=18 T 450 8000 9 8 1 1 0 0 1 pinlabel=PB1 (OC2/T1) T 450 8000 5 8 0 1 0 2 1 pintype=io } P 100 8400 400 8400 1 0 0 { T 300 8450 5 8 1 1 0 6 1 pinnumber=40 T 300 8350 5 8 0 1 0 8 1 pinseq=19 T 450 8400 9 8 1 1 0 0 1 pinlabel=PB0 (OC0/T0) T 450 8400 5 8 0 1 0 2 1 pintype=io } P 100 800 400 800 1 0 0 { T 300 850 5 8 1 1 0 6 1 pinnumber=6 T 300 750 5 8 0 1 0 8 1 pinseq=20 T 450 800 9 8 1 1 0 0 1 pinlabel=NC. T 450 800 5 8 0 1 0 2 1 pintype=tp } P 100 1000 400 1000 1 0 0 { T 300 1050 5 8 1 1 0 6 1 pinnumber=17 T 300 950 5 8 0 1 0 8 1 pinseq=21 T 450 1000 9 8 1 1 0 0 1 pinlabel=NC. T 450 1000 5 8 0 1 0 2 1 pintype=tp } P 100 1200 400 1200 1 0 0 { T 300 1250 5 8 1 1 0 6 1 pinnumber=28 T 300 1150 5 8 0 1 0 8 1 pinseq=22 T 450 1200 9 8 1 1 0 0 1 pinlabel=NC. T 450 1200 5 8 0 1 0 2 1 pintype=tp } P 100 1400 400 1400 1 0 0 { T 300 1450 5 8 1 1 0 6 1 pinnumber=39 T 300 1350 5 8 0 1 0 8 1 pinseq=23 T 450 1400 9 8 1 1 0 0 1 pinlabel=NC. T 450 1400 5 8 0 1 0 2 1 pintype=tp } P 3300 800 3000 800 1 0 0 { T 3100 850 5 8 1 1 0 0 1 pinnumber=26 T 3100 750 5 8 0 1 0 2 1 pinseq=24 T 2950 800 9 8 1 1 0 6 1 pinlabel=(OC1B) PE2 T 2950 800 5 8 0 1 0 8 1 pintype=io } P 3300 1200 3000 1200 1 0 0 { T 3100 1250 5 8 1 1 0 0 1 pinnumber=27 T 3100 1150 5 8 0 1 0 2 1 pinseq=25 T 2950 1200 9 8 1 1 0 6 1 pinlabel=(ALE) PE1 T 2950 1200 5 8 0 1 0 8 1 pintype=io } P 3300 1600 3000 1600 1 0 0 { T 3100 1650 5 8 1 1 0 0 1 pinnumber=29 T 3100 1550 5 8 0 1 0 2 1 pinseq=26 T 2950 1600 9 8 1 1 0 6 1 pinlabel=(ICP/INT2) PE0 T 2950 1600 5 8 0 1 0 8 1 pintype=io } P 3300 2200 3000 2200 1 0 0 { T 3100 2250 5 8 1 1 0 0 1 pinnumber=25 T 3100 2150 5 8 0 1 0 2 1 pinseq=27 T 2950 2200 9 8 1 1 0 6 1 pinlabel=(A15) PC7 T 2950 2200 5 8 0 1 0 8 1 pintype=io } P 3300 2600 3000 2600 1 0 0 { T 3100 2650 5 8 1 1 0 0 1 pinnumber=24 T 3100 2550 5 8 0 1 0 2 1 pinseq=28 T 2950 2600 9 8 1 1 0 6 1 pinlabel=(A14) PC6 T 2950 2600 5 8 0 1 0 8 1 pintype=io } P 3300 3000 3000 3000 1 0 0 { T 3100 3050 5 8 1 1 0 0 1 pinnumber=23 T 3100 2950 5 8 0 1 0 2 1 pinseq=29 T 2950 3000 9 8 1 1 0 6 1 pinlabel=(A13) PC5 T 2950 3000 5 8 0 1 0 8 1 pintype=io } P 3300 3400 3000 3400 1 0 0 { T 3100 3450 5 8 1 1 0 0 1 pinnumber=22 T 3100 3350 5 8 0 1 0 2 1 pinseq=30 T 2950 3400 9 8 1 1 0 6 1 pinlabel=(A12) PC4 T 2950 3400 5 8 0 1 0 8 1 pintype=io } P 3300 3800 3000 3800 1 0 0 { T 3100 3850 5 8 1 1 0 0 1 pinnumber=21 T 3100 3750 5 8 0 1 0 2 1 pinseq=31 T 2950 3800 9 8 1 1 0 6 1 pinlabel=(A11) PC3 T 2950 3800 5 8 0 1 0 8 1 pintype=io } P 3300 4200 3000 4200 1 0 0 { T 3100 4250 5 8 1 1 0 0 1 pinnumber=20 T 3100 4150 5 8 0 1 0 2 1 pinseq=32 T 2950 4200 9 8 1 1 0 6 1 pinlabel=(A10) PC2 T 2950 4200 5 8 0 1 0 8 1 pintype=io } P 3300 4600 3000 4600 1 0 0 { T 3100 4650 5 8 1 1 0 0 1 pinnumber=19 T 3100 4550 5 8 0 1 0 2 1 pinseq=33 T 2950 4600 9 8 1 1 0 6 1 pinlabel=(A9) PC1 T 2950 4600 5 8 0 1 0 8 1 pintype=io } P 3300 5000 3000 5000 1 0 0 { T 3100 5050 5 8 1 1 0 0 1 pinnumber=18 T 3100 4950 5 8 0 1 0 2 1 pinseq=34 T 2950 5000 9 8 1 1 0 6 1 pinlabel=(A8) PC0 T 2950 5000 5 8 0 1 0 8 1 pintype=io } P 3300 5600 3000 5600 1 0 0 { T 3100 5650 5 8 1 1 0 0 1 pinnumber=30 T 3100 5550 5 8 0 1 0 2 1 pinseq=35 T 2950 5600 9 8 1 1 0 6 1 pinlabel=(AD7) PA7 T 2950 5600 5 8 0 1 0 8 1 pintype=io } P 3300 6000 3000 6000 1 0 0 { T 3100 6050 5 8 1 1 0 0 1 pinnumber=31 T 3100 5950 5 8 0 1 0 2 1 pinseq=36 T 2950 6000 9 8 1 1 0 6 1 pinlabel=(AD6) PA6 T 2950 6000 5 8 0 1 0 8 1 pintype=io } P 3300 6400 3000 6400 1 0 0 { T 3100 6450 5 8 1 1 0 0 1 pinnumber=32 T 3100 6350 5 8 0 1 0 2 1 pinseq=37 T 2950 6400 9 8 1 1 0 6 1 pinlabel=(AD5) PA5 T 2950 6400 5 8 0 1 0 8 1 pintype=io } P 3300 6800 3000 6800 1 0 0 { T 3100 6850 5 8 1 1 0 0 1 pinnumber=33 T 3100 6750 5 8 0 1 0 2 1 pinseq=38 T 2950 6800 9 8 1 1 0 6 1 pinlabel=(AD4) PA4 T 2950 6800 5 8 0 1 0 8 1 pintype=io } P 3300 7200 3000 7200 1 0 0 { T 3100 7250 5 8 1 1 0 0 1 pinnumber=34 T 3100 7150 5 8 0 1 0 2 1 pinseq=39 T 2950 7200 9 8 1 1 0 6 1 pinlabel=(AD3) PA3 T 2950 7200 5 8 0 1 0 8 1 pintype=io } P 3300 7600 3000 7600 1 0 0 { T 3100 7650 5 8 1 1 0 0 1 pinnumber=35 T 3100 7550 5 8 0 1 0 2 1 pinseq=40 T 2950 7600 9 8 1 1 0 6 1 pinlabel=(AD2) PA2 T 2950 7600 5 8 0 1 0 8 1 pintype=io } P 3300 8000 3000 8000 1 0 0 { T 3100 8050 5 8 1 1 0 0 1 pinnumber=36 T 3100 7950 5 8 0 1 0 2 1 pinseq=41 T 2950 8000 9 8 1 1 0 6 1 pinlabel=(AD1) PA1 T 2950 8000 5 8 0 1 0 8 1 pintype=io } P 3300 8400 3000 8400 1 0 0 { T 3100 8450 5 8 1 1 0 0 1 pinnumber=37 T 3100 8350 5 8 0 1 0 2 1 pinseq=42 T 2950 8400 9 8 1 1 0 6 1 pinlabel=(AD0) PA0 T 2950 8400 5 8 0 1 0 8 1 pintype=io } B 400 400 2600 8400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 9850 5 10 0 0 0 0 1 description=8-bit RISC micro controller (Atmel) T 400 10050 5 10 0 0 0 0 1 numslots=0 T 400 10250 5 10 0 0 0 0 1 author=Werner Hoch T 400 8850 9 10 1 0 0 0 1 ATmega161 geda-gaf-1.8.2/symbols/micro/mc68hc05j1a-1.sym0000664000175000017500000000753012204104272015421 00000000000000v 20070626 1 P 0 3600 300 3600 1 0 0 { T 200 3650 5 8 1 1 0 6 1 pinnumber=1 T 200 3550 5 8 0 1 0 8 1 pinseq=1 T 350 3600 9 8 1 1 0 0 1 pinlabel=OSC1 T 350 3600 5 8 0 1 0 2 1 pintype=in } B 300 300 2000 3500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3200 300 3200 1 0 0 { T 200 3250 5 8 1 1 0 6 1 pinnumber=2 T 200 3150 5 8 0 1 0 8 1 pinseq=2 T 350 3200 9 8 1 1 0 0 1 pinlabel=OSC2 T 350 3200 5 8 0 1 0 2 1 pintype=out } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=3 T 200 2150 5 8 0 1 0 8 1 pinseq=3 T 350 2200 9 8 1 1 0 0 1 pinlabel=PB5 T 350 2200 5 8 0 1 0 2 1 pintype=io } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=4 T 200 1850 5 8 0 1 0 8 1 pinseq=4 T 350 1900 9 8 1 1 0 0 1 pinlabel=PB4 T 350 1900 5 8 0 1 0 2 1 pintype=io } P 0 1600 300 1600 1 0 0 { T 200 1650 5 8 1 1 0 6 1 pinnumber=5 T 200 1550 5 8 0 1 0 8 1 pinseq=5 T 350 1600 9 8 1 1 0 0 1 pinlabel=PB3 T 350 1600 5 8 0 1 0 2 1 pintype=io } P 0 1300 300 1300 1 0 0 { T 200 1350 5 8 1 1 0 6 1 pinnumber=6 T 200 1250 5 8 0 1 0 8 1 pinseq=6 T 350 1300 9 8 1 1 0 0 1 pinlabel=PB2 T 350 1300 5 8 0 1 0 2 1 pintype=io } P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=7 T 200 950 5 8 0 1 0 8 1 pinseq=7 T 350 1000 9 8 1 1 0 0 1 pinlabel=PB1 T 350 1000 5 8 0 1 0 2 1 pintype=io } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=8 T 200 650 5 8 0 1 0 8 1 pinseq=8 T 350 700 9 8 1 1 0 0 1 pinlabel=PB0 T 350 700 5 8 0 1 0 2 1 pintype=io } P 2600 2600 2300 2600 1 0 0 { T 2400 2650 5 8 1 1 0 0 1 pinnumber=18 T 2400 2550 5 8 0 1 0 2 1 pinseq=18 T 2250 2600 9 8 1 1 0 6 1 pinlabel=PA0 T 2250 2600 5 8 0 1 0 8 1 pintype=io } P 2600 2300 2300 2300 1 0 0 { T 2400 2350 5 8 1 1 0 0 1 pinnumber=17 T 2400 2250 5 8 0 1 0 2 1 pinseq=17 T 2250 2300 9 8 1 1 0 6 1 pinlabel=PA1 T 2250 2300 5 8 0 1 0 8 1 pintype=io } P 2600 2000 2300 2000 1 0 0 { T 2400 2050 5 8 1 1 0 0 1 pinnumber=16 T 2400 1950 5 8 0 1 0 2 1 pinseq=16 T 2250 2000 9 8 1 1 0 6 1 pinlabel=PA2 T 2250 2000 5 8 0 1 0 8 1 pintype=io } P 2600 1700 2300 1700 1 0 0 { T 2400 1750 5 8 1 1 0 0 1 pinnumber=15 T 2400 1650 5 8 0 1 0 2 1 pinseq=15 T 2250 1700 9 8 1 1 0 6 1 pinlabel=PA3 T 2250 1700 5 8 0 1 0 8 1 pintype=io } P 2600 1400 2300 1400 1 0 0 { T 2400 1450 5 8 1 1 0 0 1 pinnumber=14 T 2400 1350 5 8 0 1 0 2 1 pinseq=14 T 2250 1400 9 8 1 1 0 6 1 pinlabel=PA4 T 2250 1400 5 8 0 1 0 8 1 pintype=io } P 2600 1100 2300 1100 1 0 0 { T 2400 1150 5 8 1 1 0 0 1 pinnumber=13 T 2400 1050 5 8 0 1 0 2 1 pinseq=13 T 2250 1100 9 8 1 1 0 6 1 pinlabel=PA5 T 2250 1100 5 8 0 1 0 8 1 pintype=io } P 2600 800 2300 800 1 0 0 { T 2400 850 5 8 1 1 0 0 1 pinnumber=12 T 2400 750 5 8 0 1 0 2 1 pinseq=12 T 2250 800 9 8 1 1 0 6 1 pinlabel=PA6 T 2250 800 5 8 0 1 0 8 1 pintype=io } P 2600 500 2300 500 1 0 0 { T 2400 550 5 8 1 1 0 0 1 pinnumber=11 T 2400 450 5 8 0 1 0 2 1 pinseq=11 T 2250 500 9 8 1 1 0 6 1 pinlabel=PA7 T 2250 500 5 8 0 1 0 8 1 pintype=io } P 2600 3600 2400 3600 1 0 0 { T 2400 3650 5 8 1 1 0 0 1 pinnumber=20 T 2400 3550 5 8 0 1 0 2 1 pinseq=20 T 2250 3600 9 8 1 1 0 6 1 pinlabel=\_RESET\_ T 2250 3600 5 8 0 1 0 8 1 pintype=in } P 2600 3300 2400 3300 1 0 0 { T 2400 3350 5 8 1 1 0 0 1 pinnumber=19 T 2400 3250 5 8 0 1 0 2 1 pinseq=19 T 2250 3300 9 8 1 1 0 6 1 pinlabel=(Vpp) \_IRQ\_ T 2250 3300 5 8 0 1 0 8 1 pintype=in } P 1300 3800 1300 4100 1 0 1 { T 1350 3900 5 8 1 1 0 0 1 pinnumber=9 T 1350 3900 5 8 0 1 0 2 1 pinseq=9 T 1300 3750 9 8 1 1 0 5 1 pinlabel=VDD T 1300 3650 5 8 0 1 0 5 1 pintype=pwr } P 1300 0 1300 300 1 0 0 { T 1350 100 5 8 1 1 0 0 1 pinnumber=10 T 1350 100 5 8 0 1 0 2 1 pinseq=10 T 1300 350 9 8 1 1 0 3 1 pinlabel=VSS T 1300 450 5 8 0 1 0 3 1 pintype=pwr } T 2300 3900 8 10 1 1 0 6 1 refdes=U? T 300 4200 5 10 0 0 0 0 1 device=MC68HC05J1A T 300 4600 5 10 0 0 0 0 1 footprint=DIP20 T 300 4400 5 10 0 0 0 0 1 numslots=0 T 1300 2900 9 10 1 0 0 4 1 MC68HC05J1A V 2350 3600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 2350 3300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/micro/pic12F675-2.sym0000664000175000017500000000363712204104272015063 00000000000000v 20060906 1 T 5000 1650 8 10 1 1 180 0 1 refdes=U? T 300 1740 8 10 0 0 0 0 1 device=PIC12F675 T 300 1950 8 10 0 0 0 0 1 footprint=DIP8 T 300 2150 8 10 0 0 0 0 1 numslots=0 B 300 50 4700 1400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 900 300 900 1 0 0 { T 200 950 5 8 1 1 0 6 1 pinnumber=2 T 200 850 5 8 0 1 0 8 1 pinseq=2 T 350 900 9 8 1 1 0 0 1 pinlabel=GP5/T1CKI/OSC1/CLKIN T 350 900 5 8 0 1 0 2 1 pintype=io } P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=3 T 200 550 5 8 0 1 0 8 1 pinseq=3 T 350 600 9 8 1 1 0 0 1 pinlabel=GP4/AN3/T1G/OSC2/CLKOUT T 350 600 5 8 0 1 0 2 1 pintype=io } P 0 300 300 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=4 T 200 250 5 8 0 1 0 8 1 pinseq=4 T 350 300 9 8 1 1 0 0 1 pinlabel=GP3/MCLR/Vpp T 350 300 5 8 0 1 0 2 1 pintype=in } P 5300 300 5000 300 1 0 0 { T 5100 350 5 8 1 1 0 0 1 pinnumber=5 T 5100 250 5 8 0 1 0 2 1 pinseq=5 T 4950 300 9 8 1 1 0 6 1 pinlabel=GP2/AN2/T0CKI/INT/COUT T 4950 300 5 8 0 1 0 8 1 pintype=io } P 5300 600 5000 600 1 0 0 { T 5100 650 5 8 1 1 0 0 1 pinnumber=6 T 5100 550 5 8 0 1 0 2 1 pinseq=6 T 4950 600 9 8 1 1 0 6 1 pinlabel=GP1/AN1/CIN-/Vref/ICSPSLK T 4950 600 5 8 0 1 0 8 1 pintype=io } P 5300 900 5000 900 1 0 0 { T 5100 950 5 8 1 1 0 0 1 pinnumber=7 T 5100 850 5 8 0 1 0 2 1 pinseq=7 T 4950 900 9 8 1 1 0 6 1 pinlabel=GP0/AN0/CIN+/ICSPDAT T 4950 900 5 8 0 1 0 8 1 pintype=io } T 300 2350 8 10 0 0 0 0 1 description=8-bit FLASH microcontroller T 300 2550 8 10 0 0 0 0 1 documentation=http://ww1.microchip.com/downloads/en/DeviceDoc/41190E.pdf T 300 1500 9 10 1 0 0 0 1 PIC12F675 P 0 1200 300 1200 1 0 0 { T 200 1250 5 8 1 1 0 6 1 pinnumber=1 T 200 1150 5 8 0 1 0 8 1 pinseq=1 T 350 1200 5 8 0 1 0 2 1 pintype=pwr T 350 1200 3 8 1 1 0 0 1 pinlabel=Vdd } P 5300 1200 5000 1200 1 0 0 { T 5100 1250 5 8 1 1 0 0 1 pinnumber=8 T 5100 1150 5 8 0 1 0 2 1 pinseq=8 T 4950 1200 5 8 0 1 0 8 1 pintype=pwr T 4950 1200 3 8 1 1 0 6 1 pinlabel=Vss } T 300 2750 8 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/micro/AT90S8535.sym0000664000175000017500000001601712204104272014557 00000000000000v 20070626 1 T 2700 7500 8 10 1 1 0 6 1 refdes=U? T 400 7650 5 10 0 0 0 0 1 device=AT90S8535 T 400 7850 5 10 0 0 0 0 1 footprint=DIP40 T 400 8050 5 10 0 0 0 0 1 net=Vcc:10 T 400 8250 5 10 0 0 0 0 1 net=GND:11 T 400 8450 5 10 0 0 0 0 1 net=AVcc:30 T 400 8650 5 10 0 0 0 0 1 net=AGND:31 P 1300 100 1300 400 1 0 0 { T 1350 200 5 8 1 1 0 0 1 pinnumber=12 T 1350 200 5 8 0 1 0 2 1 pinseq=1 T 1300 450 9 8 1 1 0 3 1 pinlabel=XTAL2 T 1300 600 5 8 0 1 0 3 1 pintype=out } P 1800 100 1800 400 1 0 0 { T 1850 200 5 8 1 1 0 0 1 pinnumber=13 T 1850 200 5 8 0 1 0 2 1 pinseq=2 T 1800 450 9 8 1 1 0 3 1 pinlabel=XTAL1 T 1800 600 5 8 0 1 0 3 1 pintype=in } P 2300 100 2300 400 1 0 0 { T 2350 200 5 8 1 1 0 0 1 pinnumber=32 T 2350 200 5 8 0 1 0 2 1 pinseq=3 T 2300 450 9 8 1 1 0 3 1 pinlabel=AREF T 2300 600 5 8 0 1 0 3 1 pintype=in } P 800 100 800 300 1 0 0 { T 850 200 5 8 1 1 0 0 1 pinnumber=9 T 850 200 5 8 0 1 0 2 1 pinseq=4 T 800 450 9 8 1 1 0 3 1 pinlabel=\_Reset\_ T 800 600 5 8 0 1 0 3 1 pintype=in } V 800 350 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 800 400 800 1 0 0 { T 300 850 5 8 1 1 0 6 1 pinnumber=21 T 300 750 5 8 0 1 0 8 1 pinseq=5 T 450 800 9 8 1 1 0 0 1 pinlabel=PD7 (OC2) T 450 800 5 8 0 1 0 2 1 pintype=tri } P 100 1200 400 1200 1 0 0 { T 300 1250 5 8 1 1 0 6 1 pinnumber=20 T 300 1150 5 8 0 1 0 8 1 pinseq=6 T 450 1200 9 8 1 1 0 0 1 pinlabel=PD6 (ICP) T 450 1200 5 8 0 1 0 2 1 pintype=tri } P 100 1600 400 1600 1 0 0 { T 300 1650 5 8 1 1 0 6 1 pinnumber=19 T 300 1550 5 8 0 1 0 8 1 pinseq=7 T 450 1600 9 8 1 1 0 0 1 pinlabel=PD5 (OC1A) T 450 1600 5 8 0 1 0 2 1 pintype=tri } P 100 2000 400 2000 1 0 0 { T 300 2050 5 8 1 1 0 6 1 pinnumber=18 T 300 1950 5 8 0 1 0 8 1 pinseq=8 T 450 2000 9 8 1 1 0 0 1 pinlabel=PD4 (OC1B) T 450 2000 5 8 0 1 0 2 1 pintype=tri } P 100 2400 400 2400 1 0 0 { T 300 2450 5 8 1 1 0 6 1 pinnumber=17 T 300 2350 5 8 0 1 0 8 1 pinseq=9 T 450 2400 9 8 1 1 0 0 1 pinlabel=PD3 (INT1) T 450 2400 5 8 0 1 0 2 1 pintype=tri } P 100 2800 400 2800 1 0 0 { T 300 2850 5 8 1 1 0 6 1 pinnumber=16 T 300 2750 5 8 0 1 0 8 1 pinseq=10 T 450 2800 9 8 1 1 0 0 1 pinlabel=PD2 (INT0) T 450 2800 5 8 0 1 0 2 1 pintype=tri } P 100 3200 400 3200 1 0 0 { T 300 3250 5 8 1 1 0 6 1 pinnumber=15 T 300 3150 5 8 0 1 0 8 1 pinseq=11 T 450 3200 9 8 1 1 0 0 1 pinlabel=PD1 (TXD) T 450 3200 5 8 0 1 0 2 1 pintype=tri } P 100 3600 400 3600 1 0 0 { T 300 3650 5 8 1 1 0 6 1 pinnumber=14 T 300 3550 5 8 0 1 0 8 1 pinseq=12 T 450 3600 9 8 1 1 0 0 1 pinlabel=PD0 (RXD) T 450 3600 5 8 0 1 0 2 1 pintype=tri } P 100 4200 400 4200 1 0 0 { T 300 4250 5 8 1 1 0 6 1 pinnumber=8 T 300 4150 5 8 0 1 0 8 1 pinseq=13 T 450 4200 9 8 1 1 0 0 1 pinlabel=PB7 (SCK) T 450 4200 5 8 0 1 0 2 1 pintype=tri } P 100 4600 400 4600 1 0 0 { T 300 4650 5 8 1 1 0 6 1 pinnumber=7 T 300 4550 5 8 0 1 0 8 1 pinseq=14 T 450 4600 9 8 1 1 0 0 1 pinlabel=PB6 (MISO) T 450 4600 5 8 0 1 0 2 1 pintype=tri } P 100 5000 400 5000 1 0 0 { T 300 5050 5 8 1 1 0 6 1 pinnumber=6 T 300 4950 5 8 0 1 0 8 1 pinseq=15 T 450 5000 9 8 1 1 0 0 1 pinlabel=PB5 (MOSI) T 450 5000 5 8 0 1 0 2 1 pintype=tri } P 100 5400 400 5400 1 0 0 { T 300 5450 5 8 1 1 0 6 1 pinnumber=5 T 300 5350 5 8 0 1 0 8 1 pinseq=16 T 450 5400 9 8 1 1 0 0 1 pinlabel=PB4 (\_SS\_) T 450 5400 5 8 0 1 0 2 1 pintype=tri } P 100 5800 400 5800 1 0 0 { T 300 5850 5 8 1 1 0 6 1 pinnumber=4 T 300 5750 5 8 0 1 0 8 1 pinseq=17 T 450 5800 9 8 1 1 0 0 1 pinlabel=PB3 (AIN1) T 450 5800 5 8 0 1 0 2 1 pintype=tri } P 100 6200 400 6200 1 0 0 { T 300 6250 5 8 1 1 0 6 1 pinnumber=3 T 300 6150 5 8 0 1 0 8 1 pinseq=18 T 450 6200 9 8 1 1 0 0 1 pinlabel=PB2 (AIN0) T 450 6200 5 8 0 1 0 2 1 pintype=tri } P 100 6600 400 6600 1 0 0 { T 300 6650 5 8 1 1 0 6 1 pinnumber=2 T 300 6550 5 8 0 1 0 8 1 pinseq=19 T 450 6600 9 8 1 1 0 0 1 pinlabel=PB1 (T1) T 450 6600 5 8 0 1 0 2 1 pintype=tri } P 100 7000 400 7000 1 0 0 { T 300 7050 5 8 1 1 0 6 1 pinnumber=1 T 300 6950 5 8 0 1 0 8 1 pinseq=20 T 450 7000 9 8 1 1 0 0 1 pinlabel=PB0 (T0) T 450 7000 5 8 0 1 0 2 1 pintype=tri } P 3000 800 2700 800 1 0 0 { T 2800 850 5 8 1 1 0 0 1 pinnumber=29 T 2800 750 5 8 0 1 0 2 1 pinseq=21 T 2650 800 9 8 1 1 0 6 1 pinlabel=(TOSC2) PC7 T 2650 800 5 8 0 1 0 8 1 pintype=tri } P 3000 1200 2700 1200 1 0 0 { T 2800 1250 5 8 1 1 0 0 1 pinnumber=28 T 2800 1150 5 8 0 1 0 2 1 pinseq=22 T 2650 1200 9 8 1 1 0 6 1 pinlabel=(TOSC1) PC6 T 2650 1200 5 8 0 1 0 8 1 pintype=tri } P 3000 1600 2700 1600 1 0 0 { T 2800 1650 5 8 1 1 0 0 1 pinnumber=27 T 2800 1550 5 8 0 1 0 2 1 pinseq=23 T 2650 1600 9 8 1 1 0 6 1 pinlabel=PC5 T 2650 1600 5 8 0 1 0 8 1 pintype=tri } P 3000 2000 2700 2000 1 0 0 { T 2800 2050 5 8 1 1 0 0 1 pinnumber=26 T 2800 1950 5 8 0 1 0 2 1 pinseq=24 T 2650 2000 9 8 1 1 0 6 1 pinlabel=PC4 T 2650 2000 5 8 0 1 0 8 1 pintype=tri } P 3000 2400 2700 2400 1 0 0 { T 2800 2450 5 8 1 1 0 0 1 pinnumber=25 T 2800 2350 5 8 0 1 0 2 1 pinseq=25 T 2650 2400 9 8 1 1 0 6 1 pinlabel=PC3 T 2650 2400 5 8 0 1 0 8 1 pintype=tri } P 3000 2800 2700 2800 1 0 0 { T 2800 2850 5 8 1 1 0 0 1 pinnumber=24 T 2800 2750 5 8 0 1 0 2 1 pinseq=26 T 2650 2800 9 8 1 1 0 6 1 pinlabel=PC2 T 2650 2800 5 8 0 1 0 8 1 pintype=tri } P 3000 3200 2700 3200 1 0 0 { T 2800 3250 5 8 1 1 0 0 1 pinnumber=23 T 2800 3150 5 8 0 1 0 2 1 pinseq=27 T 2650 3200 9 8 1 1 0 6 1 pinlabel=PC1 T 2650 3200 5 8 0 1 0 8 1 pintype=tri } P 3000 3600 2700 3600 1 0 0 { T 2800 3650 5 8 1 1 0 0 1 pinnumber=22 T 2800 3550 5 8 0 1 0 2 1 pinseq=28 T 2650 3600 9 8 1 1 0 6 1 pinlabel=PC0 T 2650 3600 5 8 0 1 0 8 1 pintype=tri } P 3000 4200 2700 4200 1 0 0 { T 2800 4250 5 8 1 1 0 0 1 pinnumber=33 T 2800 4150 5 8 0 1 0 2 1 pinseq=29 T 2650 4200 9 8 1 1 0 6 1 pinlabel=(ADC7) PA7 T 2650 4200 5 8 0 1 0 8 1 pintype=tri } P 3000 4600 2700 4600 1 0 0 { T 2800 4650 5 8 1 1 0 0 1 pinnumber=34 T 2800 4550 5 8 0 1 0 2 1 pinseq=30 T 2650 4600 9 8 1 1 0 6 1 pinlabel=(ADC6) PA6 T 2650 4600 5 8 0 1 0 8 1 pintype=tri } P 3000 5000 2700 5000 1 0 0 { T 2800 5050 5 8 1 1 0 0 1 pinnumber=35 T 2800 4950 5 8 0 1 0 2 1 pinseq=31 T 2650 5000 9 8 1 1 0 6 1 pinlabel=(ADC5) PA5 T 2650 5000 5 8 0 1 0 8 1 pintype=tri } P 3000 5400 2700 5400 1 0 0 { T 2800 5450 5 8 1 1 0 0 1 pinnumber=36 T 2800 5350 5 8 0 1 0 2 1 pinseq=32 T 2650 5400 9 8 1 1 0 6 1 pinlabel=(ADC4) PA4 T 2650 5400 5 8 0 1 0 8 1 pintype=tri } P 3000 5800 2700 5800 1 0 0 { T 2800 5850 5 8 1 1 0 0 1 pinnumber=37 T 2800 5750 5 8 0 1 0 2 1 pinseq=33 T 2650 5800 9 8 1 1 0 6 1 pinlabel=(ADC3) PA3 T 2650 5800 5 8 0 1 0 8 1 pintype=tri } P 3000 6200 2700 6200 1 0 0 { T 2800 6250 5 8 1 1 0 0 1 pinnumber=38 T 2800 6150 5 8 0 1 0 2 1 pinseq=34 T 2650 6200 9 8 1 1 0 6 1 pinlabel=(ADC2) PA2 T 2650 6200 5 8 0 1 0 8 1 pintype=tri } P 3000 6600 2700 6600 1 0 0 { T 2800 6650 5 8 1 1 0 0 1 pinnumber=39 T 2800 6550 5 8 0 1 0 2 1 pinseq=35 T 2650 6600 9 8 1 1 0 6 1 pinlabel=(ADC1) PA1 T 2650 6600 5 8 0 1 0 8 1 pintype=tri } P 3000 7000 2700 7000 1 0 0 { T 2800 7050 5 8 1 1 0 0 1 pinnumber=40 T 2800 6950 5 8 0 1 0 2 1 pinseq=36 T 2650 7000 9 8 1 1 0 6 1 pinlabel=(ADC0) PA0 T 2650 7000 5 8 0 1 0 8 1 pintype=tri } B 400 400 2300 7000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 8850 5 10 0 0 0 0 1 comment=dont_use this symbol: nonstandard symwidth T 400 9050 5 10 0 0 0 0 1 numslots=0 T 400 7450 9 10 1 0 0 0 1 AT90S8535 geda-gaf-1.8.2/symbols/micro/DS80C310.sym0000664000175000017500000001266512204104272014444 00000000000000v 20031231 1 B 300 300 1500 6600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 7175 5 10 0 0 0 0 1 device=DS80C310 T 350 6950 9 10 1 0 0 0 1 DS80C310 T 350 6550 9 8 1 0 0 0 1 T2 P 300 6600 0 6600 1 0 1 { T 120 6650 5 8 1 1 0 0 1 pinnumber=1 T 120 6650 5 8 0 0 0 0 1 pinseq=1 } T 350 6250 9 8 1 0 0 0 1 T2EX P 300 6300 0 6300 1 0 1 { T 120 6350 5 8 1 1 0 0 1 pinnumber=2 T 120 6350 5 8 0 0 0 0 1 pinseq=2 } T 350 5950 9 8 1 0 0 0 1 P1.2 P 300 6000 0 6000 1 0 1 { T 120 6050 5 8 1 1 0 0 1 pinnumber=3 T 120 6050 5 8 0 0 0 0 1 pinseq=3 } T 350 5650 9 8 1 0 0 0 1 P1.3 P 300 5700 0 5700 1 0 1 { T 120 5750 5 8 1 1 0 0 1 pinnumber=4 T 120 5750 5 8 0 0 0 0 1 pinseq=4 } T 350 5350 9 8 1 0 0 0 1 INT2 P 300 5400 0 5400 1 0 1 { T 120 5450 5 8 1 1 0 0 1 pinnumber=5 T 120 5450 5 8 0 0 0 0 1 pinseq=5 } T 350 5050 9 8 1 0 0 0 1 /INT3 V 250 5100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 5100 0 5100 1 0 1 { T 120 5150 5 8 1 1 0 0 1 pinnumber=6 T 120 5150 5 8 0 0 0 0 1 pinseq=6 } T 350 4750 9 8 1 0 0 0 1 INT4 P 300 4800 0 4800 1 0 1 { T 120 4850 5 8 1 1 0 0 1 pinnumber=7 T 120 4850 5 8 0 0 0 0 1 pinseq=7 } T 350 4450 9 8 1 0 0 0 1 /INT5 V 250 4500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 4500 0 4500 1 0 1 { T 120 4550 5 8 1 1 0 0 1 pinnumber=8 T 120 4550 5 8 0 0 0 0 1 pinseq=8 } T 350 4150 9 8 1 0 0 0 1 RXD P 300 4200 0 4200 1 0 1 { T 40 4250 5 8 1 1 0 0 1 pinnumber=10 T 40 4250 5 8 0 0 0 0 1 pinseq=9 } T 350 3850 9 8 1 0 0 0 1 TXD P 300 3900 0 3900 1 0 1 { T 40 3950 5 8 1 1 0 0 1 pinnumber=11 T 40 3950 5 8 0 0 0 0 1 pinseq=10 } T 350 3550 9 8 1 0 0 0 1 /INT0 V 250 3600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 3600 0 3600 1 0 1 { T 40 3650 5 8 1 1 0 0 1 pinnumber=12 T 40 3650 5 8 0 0 0 0 1 pinseq=11 } T 350 3250 9 8 1 0 0 0 1 /INT1 V 250 3300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 3300 0 3300 1 0 1 { T 40 3350 5 8 1 1 0 0 1 pinnumber=13 T 40 3350 5 8 0 0 0 0 1 pinseq=12 } T 350 2950 9 8 1 0 0 0 1 T0 P 300 3000 0 3000 1 0 1 { T 40 3050 5 8 1 1 0 0 1 pinnumber=14 T 40 3050 5 8 0 0 0 0 1 pinseq=13 } T 350 2650 9 8 1 0 0 0 1 T1 P 300 2700 0 2700 1 0 1 { T 40 2750 5 8 1 1 0 0 1 pinnumber=15 T 40 2750 5 8 0 0 0 0 1 pinseq=14 } T 350 2350 9 8 1 0 0 0 1 Rst P 300 2400 0 2400 1 0 1 { T 120 2450 5 8 1 1 0 0 1 pinnumber=9 T 120 2450 5 8 0 0 0 0 1 pinseq=15 } T 350 1150 9 8 1 0 0 0 1 Xtal1 P 300 1200 0 1200 1 0 1 { T 40 1250 5 8 1 1 0 0 1 pinnumber=18 T 40 1250 5 8 0 0 0 0 1 pinseq=16 } T 350 1450 9 8 1 0 0 0 1 Xtal2 P 300 1500 0 1500 1 0 1 { T 40 1550 5 8 1 1 0 0 1 pinnumber=19 T 40 1550 5 8 0 0 0 0 1 pinseq=17 } T 350 1750 9 8 1 0 0 0 1 /EA V 250 1800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 1800 0 1800 1 0 1 { T 40 1850 5 8 1 1 0 0 1 pinnumber=31 T 40 1850 5 8 0 0 0 0 1 pinseq=18 } T 1410 6550 9 8 1 0 0 0 1 AD0 P 1800 6600 2100 6600 1 0 1 { T 1900 6650 5 8 1 1 0 0 1 pinnumber=39 T 1900 6650 5 8 0 0 0 0 1 pinseq=19 } T 1410 6250 9 8 1 0 0 0 1 AD1 P 1800 6300 2100 6300 1 0 1 { T 1900 6350 5 8 1 1 0 0 1 pinnumber=38 T 1900 6350 5 8 0 0 0 0 1 pinseq=20 } T 1410 5950 9 8 1 0 0 0 1 AD2 P 1800 6000 2100 6000 1 0 1 { T 1900 6050 5 8 1 1 0 0 1 pinnumber=37 T 1900 6050 5 8 0 0 0 0 1 pinseq=21 } T 1410 5650 9 8 1 0 0 0 1 AD3 P 1800 5700 2100 5700 1 0 1 { T 1900 5750 5 8 1 1 0 0 1 pinnumber=36 T 1900 5750 5 8 0 0 0 0 1 pinseq=22 } T 1410 5350 9 8 1 0 0 0 1 AD4 P 1800 5400 2100 5400 1 0 1 { T 1900 5450 5 8 1 1 0 0 1 pinnumber=35 T 1900 5450 5 8 0 0 0 0 1 pinseq=23 } T 1410 5050 9 8 1 0 0 0 1 AD5 P 1800 5100 2100 5100 1 0 1 { T 1900 5150 5 8 1 1 0 0 1 pinnumber=34 T 1900 5150 5 8 0 0 0 0 1 pinseq=24 } T 1410 4750 9 8 1 0 0 0 1 AD6 P 1800 4800 2100 4800 1 0 1 { T 1900 4850 5 8 1 1 0 0 1 pinnumber=33 T 1900 4850 5 8 0 0 0 0 1 pinseq=25 } T 1410 4450 9 8 1 0 0 0 1 AD7 P 1800 4500 2100 4500 1 0 1 { T 1900 4550 5 8 1 1 0 0 1 pinnumber=32 T 1900 4550 5 8 0 0 0 0 1 pinseq=26 } T 1490 4150 9 8 1 0 0 0 1 A8 P 1800 4200 2100 4200 1 0 1 { T 1900 4250 5 8 1 1 0 0 1 pinnumber=21 T 1900 4250 5 8 0 0 0 0 1 pinseq=27 } T 1490 3850 9 8 1 0 0 0 1 A9 P 1800 3900 2100 3900 1 0 1 { T 1900 3950 5 8 1 1 0 0 1 pinnumber=22 T 1900 3950 5 8 0 0 0 0 1 pinseq=28 } T 1410 3550 9 8 1 0 0 0 1 A10 P 1800 3600 2100 3600 1 0 1 { T 1900 3650 5 8 1 1 0 0 1 pinnumber=23 T 1900 3650 5 8 0 0 0 0 1 pinseq=29 } T 1410 3250 9 8 1 0 0 0 1 A11 P 1800 3300 2100 3300 1 0 1 { T 1900 3350 5 8 1 1 0 0 1 pinnumber=24 T 1900 3350 5 8 0 0 0 0 1 pinseq=30 } T 1410 2950 9 8 1 0 0 0 1 A13 P 1800 3000 2100 3000 1 0 1 { T 1900 3050 5 8 1 1 0 0 1 pinnumber=25 T 1900 3050 5 8 0 0 0 0 1 pinseq=31 } T 1410 2650 9 8 1 0 0 0 1 A14 P 1800 2700 2100 2700 1 0 1 { T 1900 2750 5 8 1 1 0 0 1 pinnumber=26 T 1900 2750 5 8 0 0 0 0 1 pinseq=32 } T 1410 2350 9 8 1 0 0 0 1 A15 P 1800 2400 2100 2400 1 0 1 { T 1900 2450 5 8 1 1 0 0 1 pinnumber=27 T 1900 2450 5 8 0 0 0 0 1 pinseq=33 } T 1410 1750 9 8 1 0 0 0 1 ALE P 1800 1800 2100 1800 1 0 1 { T 1900 1850 5 8 1 1 0 0 1 pinnumber=30 T 1900 1850 5 8 0 0 0 0 1 pinseq=34 } T 1250 1450 9 8 1 0 0 0 1 /PSEN V 1850 1500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1900 1500 2100 1500 1 0 1 { T 1900 1550 5 8 1 1 0 0 1 pinnumber=29 T 1900 1550 5 8 0 0 0 0 1 pinseq=35 } T 1410 1150 9 8 1 0 0 0 1 /RD V 1850 1200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1900 1200 2100 1200 1 0 1 { T 1900 1250 5 8 1 1 0 0 1 pinnumber=17 T 1900 1250 5 8 0 0 0 0 1 pinseq=36 } T 1410 850 9 8 1 0 0 0 1 /WR V 1850 900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1900 900 2100 900 1 0 1 { T 1900 950 5 8 1 1 0 0 1 pinnumber=16 T 1900 950 5 8 0 0 0 0 1 pinseq=37 } T 1800 7000 8 10 1 1 0 0 1 refdes=U? T 300 7375 5 10 1 1 0 0 1 comment=dont_use this broken symbol, pin A12 is missing, check your design geda-gaf-1.8.2/symbols/micro/MSP430x15-6x.sym0000664000175000017500000003006212204104272015205 00000000000000v 20070626 1 B 300 300 9300 6400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2600 3975 5 10 0 0 0 0 1 device=MSP430x15/6x T 9550 6750 8 10 1 1 0 6 1 refdes=U? P 300 6500 0 6500 1 0 1 { T 200 6550 5 8 1 1 0 6 1 pinnumber=1 T 350 6500 9 8 1 1 0 0 1 pinlabel=DVcc T 200 6450 5 8 0 1 0 8 1 pinseq=1 T 350 6500 5 8 0 1 0 2 1 pintype=pwr } P 300 6100 0 6100 1 0 1 { T 200 6150 5 8 1 1 0 6 1 pinnumber=2 T 350 6100 9 8 1 1 0 0 1 pinlabel=P6.3/A3 T 200 6050 5 8 0 1 0 8 1 pinseq=2 T 350 6100 5 8 0 1 0 2 1 pintype=io } P 300 5700 0 5700 1 0 1 { T 200 5750 5 8 1 1 0 6 1 pinnumber=3 T 350 5700 9 8 1 1 0 0 1 pinlabel=P6.4/A4 T 200 5650 5 8 0 1 0 8 1 pinseq=3 T 350 5700 5 8 0 1 0 2 1 pintype=io } P 300 5300 0 5300 1 0 1 { T 200 5350 5 8 1 1 0 6 1 pinnumber=4 T 350 5300 9 8 1 1 0 0 1 pinlabel=P6.5/A5 T 200 5250 5 8 0 1 0 8 1 pinseq=4 T 350 5300 5 8 0 1 0 2 1 pintype=io } P 300 4900 0 4900 1 0 1 { T 200 4950 5 8 1 1 0 6 1 pinnumber=5 T 350 4900 9 8 1 1 0 0 1 pinlabel=P6.6/A6/DAC0 T 200 4850 5 8 0 1 0 8 1 pinseq=5 T 350 4900 5 8 0 1 0 2 1 pintype=io } P 300 4500 0 4500 1 0 1 { T 200 4550 5 8 1 1 0 6 1 pinnumber=6 T 350 4500 9 8 1 1 0 0 1 pinlabel=P6.7/A7/DAC1/SVSIN T 200 4450 5 8 0 1 0 8 1 pinseq=6 T 350 4500 5 8 0 1 0 2 1 pintype=io } P 300 4100 0 4100 1 0 1 { T 200 4150 5 8 1 1 0 6 1 pinnumber=7 T 350 4100 9 8 1 1 0 0 1 pinlabel=Vref+ T 200 4050 5 8 0 1 0 8 1 pinseq=7 T 350 4100 5 8 0 1 0 2 1 pintype=out } P 300 3700 0 3700 1 0 1 { T 200 3750 5 8 1 1 0 6 1 pinnumber=8 T 350 3700 9 8 1 1 0 0 1 pinlabel=XIN T 200 3650 5 8 0 1 0 8 1 pinseq=8 T 350 3700 5 8 0 1 0 2 1 pintype=in } P 300 3300 0 3300 1 0 1 { T 200 3350 5 8 1 1 0 6 1 pinnumber=9 T 350 3300 9 8 1 1 0 0 1 pinlabel=XOUT/TCLK T 200 3250 5 8 0 1 0 8 1 pinseq=9 T 350 3300 5 8 0 1 0 2 1 pintype=io } P 300 2900 0 2900 1 0 1 { T 200 2950 5 8 1 1 0 6 1 pinnumber=10 T 350 2900 9 8 1 1 0 0 1 pinlabel=VeREF+ T 200 2850 5 8 0 1 0 8 1 pinseq=10 T 350 2900 5 8 0 1 0 2 1 pintype=in } P 300 2500 0 2500 1 0 1 { T 200 2550 5 8 1 1 0 6 1 pinnumber=11 T 350 2500 9 8 1 1 0 0 1 pinlabel=Vref-/VeREF- T 200 2450 5 8 0 1 0 8 1 pinseq=11 T 350 2500 5 8 0 1 0 2 1 pintype=out } P 300 2100 0 2100 1 0 1 { T 200 2150 5 8 1 1 0 6 1 pinnumber=12 T 350 2100 9 8 1 1 0 0 1 pinlabel=P1.0/TACLK T 200 2050 5 8 0 1 0 8 1 pinseq=12 T 350 2100 5 8 0 1 0 2 1 pintype=io } P 300 1700 0 1700 1 0 1 { T 200 1750 5 8 1 1 0 6 1 pinnumber=13 T 350 1700 9 8 1 1 0 0 1 pinlabel=P1.1/TA0 T 200 1650 5 8 0 1 0 8 1 pinseq=13 T 350 1700 5 8 0 1 0 2 1 pintype=io } P 300 1300 0 1300 1 0 1 { T 200 1350 5 8 1 1 0 6 1 pinnumber=14 T 350 1300 9 8 1 1 0 0 1 pinlabel=P1.2/TA1 T 200 1250 5 8 0 1 0 8 1 pinseq=14 T 350 1300 5 8 0 1 0 2 1 pintype=io } P 300 900 0 900 1 0 1 { T 200 950 5 8 1 1 0 6 1 pinnumber=15 T 350 900 9 8 1 1 0 0 1 pinlabel=P1.3/TA2 T 200 850 5 8 0 1 0 8 1 pinseq=15 T 350 900 5 8 0 1 0 2 1 pintype=io } P 300 500 0 500 1 0 1 { T 200 550 5 8 1 1 0 6 1 pinnumber=16 T 350 500 9 8 1 1 0 0 1 pinlabel=P1.4/SMCLK T 200 450 5 8 0 1 0 8 1 pinseq=16 T 350 500 5 8 0 1 0 2 1 pintype=io } P 1900 0 1900 300 1 0 0 { T 1850 200 5 8 1 1 90 6 1 pinnumber=17 T 1900 350 9 8 1 1 90 0 1 pinlabel=P1.5/TA0 T 1950 200 5 8 0 1 90 8 1 pinseq=17 T 1900 350 5 8 0 1 90 2 1 pintype=io } P 2300 0 2300 300 1 0 0 { T 2250 200 5 8 1 1 90 6 1 pinnumber=18 T 2300 350 9 8 1 1 90 0 1 pinlabel=P1.6/TA1 T 2350 200 5 8 0 1 90 8 1 pinseq=18 T 2300 350 5 8 0 1 90 2 1 pintype=io } P 2700 0 2700 300 1 0 0 { T 2650 200 5 8 1 1 90 6 1 pinnumber=19 T 2700 350 9 8 1 1 90 0 1 pinlabel=P1.7/TA2 T 2750 200 5 8 0 1 90 8 1 pinseq=19 T 2700 350 5 8 0 1 90 2 1 pintype=io } P 3100 0 3100 300 1 0 0 { T 3050 200 5 8 1 1 90 6 1 pinnumber=20 T 3100 350 9 8 1 1 90 0 1 pinlabel=P2.0/ACLK T 3150 200 5 8 0 1 90 8 1 pinseq=20 T 3100 350 5 8 0 1 90 2 1 pintype=io } P 3500 0 3500 300 1 0 0 { T 3450 200 5 8 1 1 90 6 1 pinnumber=21 T 3500 350 9 8 1 1 90 0 1 pinlabel=P2.1/TAINCLK T 3550 200 5 8 0 1 90 8 1 pinseq=21 T 3500 350 5 8 0 1 90 2 1 pintype=io } P 3900 0 3900 300 1 0 0 { T 3850 200 5 8 1 1 90 6 1 pinnumber=22 T 3900 350 9 8 1 1 90 0 1 pinlabel=P2.2/CAOUT/TA0 T 3950 200 5 8 0 1 90 8 1 pinseq=22 T 3900 350 5 8 0 1 90 2 1 pintype=io } P 4300 0 4300 300 1 0 0 { T 4250 200 5 8 1 1 90 6 1 pinnumber=23 T 4300 350 9 8 1 1 90 0 1 pinlabel=P2.3/CA0/TA1 T 4350 200 5 8 0 1 90 8 1 pinseq=23 T 4300 350 5 8 0 1 90 2 1 pintype=io } P 4700 0 4700 300 1 0 0 { T 4650 200 5 8 1 1 90 6 1 pinnumber=24 T 4700 350 9 8 1 1 90 0 1 pinlabel=P2.4/CA1/TA2 T 4750 200 5 8 0 1 90 8 1 pinseq=24 T 4700 350 5 8 0 1 90 2 1 pintype=io } P 5100 0 5100 300 1 0 0 { T 5050 200 5 8 1 1 90 6 1 pinnumber=25 T 5100 350 9 8 1 1 90 0 1 pinlabel=P2.5/Rosc T 5150 200 5 8 0 1 90 8 1 pinseq=25 T 5100 350 5 8 0 1 90 2 1 pintype=io } P 5500 0 5500 300 1 0 0 { T 5450 200 5 8 1 1 90 6 1 pinnumber=26 T 5500 350 9 8 1 1 90 0 1 pinlabel=P2.6/ADC12CLK/DMAE0 T 5550 200 5 8 0 1 90 8 1 pinseq=26 T 5500 350 5 8 0 1 90 2 1 pintype=io } P 5900 0 5900 300 1 0 0 { T 5850 200 5 8 1 1 90 6 1 pinnumber=27 T 5900 350 9 8 1 1 90 0 1 pinlabel=P2.7/TA0 T 5950 200 5 8 0 1 90 8 1 pinseq=27 T 5900 350 5 8 0 1 90 2 1 pintype=io } P 6300 0 6300 300 1 0 0 { T 6250 200 5 8 1 1 90 6 1 pinnumber=28 T 6300 350 9 8 1 1 90 0 1 pinlabel=P3.0/STE0 T 6350 200 5 8 0 1 90 8 1 pinseq=28 T 6300 350 5 8 0 1 90 2 1 pintype=io } P 6700 0 6700 300 1 0 0 { T 6650 200 5 8 1 1 90 6 1 pinnumber=29 T 6700 350 9 8 1 1 90 0 1 pinlabel=P3.1/SIMO0/SDA T 6750 200 5 8 0 1 90 8 1 pinseq=29 T 6700 350 5 8 0 1 90 2 1 pintype=io } P 7100 0 7100 300 1 0 0 { T 7050 200 5 8 1 1 90 6 1 pinnumber=30 T 7100 350 9 8 1 1 90 0 1 pinlabel=P3.2/SOMI0 T 7150 200 5 8 0 1 90 8 1 pinseq=30 T 7100 350 5 8 0 1 90 2 1 pintype=io } P 7500 0 7500 300 1 0 0 { T 7450 200 5 8 1 1 90 6 1 pinnumber=31 T 7500 350 9 8 1 1 90 0 1 pinlabel=P3.3/UCLK0/SCL T 7550 200 5 8 0 1 90 8 1 pinseq=31 T 7500 350 5 8 0 1 90 2 1 pintype=io } P 7900 0 7900 300 1 0 0 { T 7850 200 5 8 1 1 90 6 1 pinnumber=32 T 7900 350 9 8 1 1 90 0 1 pinlabel=P3.4/UTXD0 T 7950 200 5 8 0 1 90 8 1 pinseq=32 T 7900 350 5 8 0 1 90 2 1 pintype=io } P 9600 500 9900 500 1 0 1 { T 9700 550 5 8 1 1 0 0 1 pinnumber=33 T 9550 500 9 8 1 1 0 6 1 pinlabel=P3.5/URXD0 T 9700 450 5 8 0 1 0 2 1 pinseq=33 T 9550 500 5 8 0 1 0 8 1 pintype=io } P 9600 900 9900 900 1 0 1 { T 9700 950 5 8 1 1 0 0 1 pinnumber=34 T 9550 900 9 8 1 1 0 6 1 pinlabel=P3.6 T 9700 850 5 8 0 1 0 2 1 pinseq=34 T 9550 900 5 8 0 1 0 8 1 pintype=io } P 9600 1300 9900 1300 1 0 1 { T 9700 1350 5 8 1 1 0 0 1 pinnumber=35 T 9550 1300 9 8 1 1 0 6 1 pinlabel=P3.7 T 9700 1250 5 8 0 1 0 2 1 pinseq=35 T 9550 1300 5 8 0 1 0 8 1 pintype=io } P 9600 1700 9900 1700 1 0 1 { T 9700 1750 5 8 1 1 0 0 1 pinnumber=36 T 9550 1700 9 8 1 1 0 6 1 pinlabel=P4.0/TB0 T 9700 1650 5 8 0 1 0 2 1 pinseq=36 T 9550 1700 5 8 0 1 0 8 1 pintype=io } P 9600 2100 9900 2100 1 0 1 { T 9700 2150 5 8 1 1 0 0 1 pinnumber=37 T 9550 2100 9 8 1 1 0 6 1 pinlabel=P4.1/TB1 T 9700 2050 5 8 0 1 0 2 1 pinseq=37 T 9550 2100 5 8 0 1 0 8 1 pintype=io } P 9600 2500 9900 2500 1 0 1 { T 9700 2550 5 8 1 1 0 0 1 pinnumber=38 T 9550 2500 9 8 1 1 0 6 1 pinlabel=P4.2/TB2 T 9700 2450 5 8 0 1 0 2 1 pinseq=38 T 9550 2500 5 8 0 1 0 8 1 pintype=io } P 9600 2900 9900 2900 1 0 1 { T 9700 2950 5 8 1 1 0 0 1 pinnumber=39 T 9550 2900 9 8 1 1 0 6 1 pinlabel=P4.3 T 9700 2850 5 8 0 1 0 2 1 pinseq=39 T 9550 2900 5 8 0 1 0 8 1 pintype=io } P 9600 3300 9900 3300 1 0 1 { T 9700 3350 5 8 1 1 0 0 1 pinnumber=40 T 9550 3300 9 8 1 1 0 6 1 pinlabel=P4.4 T 9700 3250 5 8 0 1 0 2 1 pinseq=40 T 9550 3300 5 8 0 1 0 8 1 pintype=io } P 9600 3700 9900 3700 1 0 1 { T 9700 3750 5 8 1 1 0 0 1 pinnumber=41 T 9550 3700 9 8 1 1 0 6 1 pinlabel=P4.5 T 9700 3650 5 8 0 1 0 2 1 pinseq=41 T 9550 3700 5 8 0 1 0 8 1 pintype=io } P 9600 4100 9900 4100 1 0 1 { T 9700 4150 5 8 1 1 0 0 1 pinnumber=42 T 9550 4100 9 8 1 1 0 6 1 pinlabel=P4.6 T 9700 4050 5 8 0 1 0 2 1 pinseq=42 T 9550 4100 5 8 0 1 0 8 1 pintype=io } P 9600 4500 9900 4500 1 0 1 { T 9700 4550 5 8 1 1 0 0 1 pinnumber=43 T 9550 4500 9 8 1 1 0 6 1 pinlabel=P4.7/TBCLK T 9700 4450 5 8 0 1 0 2 1 pinseq=43 T 9550 4500 5 8 0 1 0 8 1 pintype=io } P 9600 4900 9900 4900 1 0 1 { T 9700 4950 5 8 1 1 0 0 1 pinnumber=44 T 9550 4900 9 8 1 1 0 6 1 pinlabel=P5.0 T 9700 4850 5 8 0 1 0 2 1 pinseq=44 T 9550 4900 5 8 0 1 0 8 1 pintype=io } P 9600 5300 9900 5300 1 0 1 { T 9700 5350 5 8 1 1 0 0 1 pinnumber=45 T 9550 5300 9 8 1 1 0 6 1 pinlabel=P5.1 T 9700 5250 5 8 0 1 0 2 1 pinseq=45 T 9550 5300 5 8 0 1 0 8 1 pintype=io } P 9600 5700 9900 5700 1 0 1 { T 9700 5750 5 8 1 1 0 0 1 pinnumber=46 T 9550 5700 9 8 1 1 0 6 1 pinlabel=P5.2 T 9700 5650 5 8 0 1 0 2 1 pinseq=46 T 9550 5700 5 8 0 1 0 8 1 pintype=io } P 9600 6100 9900 6100 1 0 1 { T 9700 6150 5 8 1 1 0 0 1 pinnumber=47 T 9550 6100 9 8 1 1 0 6 1 pinlabel=P5.3 T 9700 6050 5 8 0 1 0 2 1 pinseq=47 T 9550 6100 5 8 0 1 0 8 1 pintype=io } P 9600 6500 9900 6500 1 0 1 { T 9700 6550 5 8 1 1 0 0 1 pinnumber=48 T 9550 6500 9 8 1 1 0 6 1 pinlabel=P5.4/MCLK T 9700 6450 5 8 0 1 0 2 1 pinseq=48 T 9550 6500 5 8 0 1 0 8 1 pintype=io } P 7900 6700 7900 7000 1 0 1 { T 7850 6800 5 8 1 1 90 0 1 pinnumber=49 T 7900 6650 9 8 1 1 90 6 1 pinlabel=P5.5/SMCLK T 7950 6800 5 8 0 1 90 2 1 pinseq=49 T 7900 6650 5 8 0 1 90 8 1 pintype=io } P 7500 6700 7500 7000 1 0 1 { T 7450 6800 5 8 1 1 90 0 1 pinnumber=50 T 7500 6650 9 8 1 1 90 6 1 pinlabel=P5.6/ACLK T 7550 6800 5 8 0 1 90 2 1 pinseq=50 T 7500 6650 5 8 0 1 90 8 1 pintype=io } P 7100 6700 7100 7000 1 0 1 { T 7050 6800 5 8 1 1 90 0 1 pinnumber=51 T 7100 6650 9 8 1 1 90 6 1 pinlabel=P5.7/TBoutH/SVSOUT T 7150 6800 5 8 0 1 90 2 1 pinseq=51 T 7100 6650 5 8 0 1 90 8 1 pintype=io } P 6700 6700 6700 7000 1 0 1 { T 6650 6800 5 8 1 1 90 0 1 pinnumber=52 T 6700 6650 9 8 1 1 90 6 1 pinlabel=XT2OUT T 6750 6800 5 8 0 1 90 2 1 pinseq=52 T 6700 6650 5 8 0 1 90 8 1 pintype=out } P 6300 6700 6300 7000 1 0 1 { T 6250 6800 5 8 1 1 90 0 1 pinnumber=53 T 6300 6650 9 8 1 1 90 6 1 pinlabel=XT2IN T 6350 6800 5 8 0 1 90 2 1 pinseq=53 T 6300 6650 5 8 0 1 90 8 1 pintype=in } P 5900 6700 5900 7000 1 0 1 { T 5850 6800 5 8 1 1 90 0 1 pinnumber=54 T 5900 6650 9 8 1 1 90 6 1 pinlabel=TDO/TDI T 5950 6800 5 8 0 1 90 2 1 pinseq=54 T 5900 6650 5 8 0 1 90 8 1 pintype=io } P 5500 6700 5500 7000 1 0 1 { T 5450 6800 5 8 1 1 90 0 1 pinnumber=55 T 5500 6650 9 8 1 1 90 6 1 pinlabel=TDI T 5550 6800 5 8 0 1 90 2 1 pinseq=55 T 5500 6650 5 8 0 1 90 8 1 pintype=in } P 5100 6700 5100 7000 1 0 1 { T 5050 6800 5 8 1 1 90 0 1 pinnumber=56 T 5100 6650 9 8 1 1 90 6 1 pinlabel=TMS T 5150 6800 5 8 0 1 90 2 1 pinseq=56 T 5100 6650 5 8 0 1 90 8 1 pintype=in } P 4700 6700 4700 7000 1 0 1 { T 4650 6800 5 8 1 1 90 0 1 pinnumber=57 T 4700 6650 9 8 1 1 90 6 1 pinlabel=TCK T 4750 6800 5 8 0 1 90 2 1 pinseq=57 T 4700 6650 5 8 0 1 90 8 1 pintype=in } P 4300 6800 4300 7000 1 0 1 { T 4250 6800 5 8 1 1 90 0 1 pinnumber=58 T 4300 6650 9 8 1 1 90 6 1 pinlabel=\_RST\_/NMI T 4350 6800 5 8 0 1 90 2 1 pinseq=58 T 4300 6650 5 8 0 1 90 8 1 pintype=in } P 3900 6700 3900 7000 1 0 1 { T 3850 6800 5 8 1 1 90 0 1 pinnumber=59 T 3900 6650 9 8 1 1 90 6 1 pinlabel=P6.0/A0 T 3950 6800 5 8 0 1 90 2 1 pinseq=59 T 3900 6650 5 8 0 1 90 8 1 pintype=io } P 3500 6700 3500 7000 1 0 1 { T 3450 6800 5 8 1 1 90 0 1 pinnumber=60 T 3500 6650 9 8 1 1 90 6 1 pinlabel=P6.1/A1 T 3550 6800 5 8 0 1 90 2 1 pinseq=60 T 3500 6650 5 8 0 1 90 8 1 pintype=io } P 3100 6700 3100 7000 1 0 1 { T 3050 6800 5 8 1 1 90 0 1 pinnumber=61 T 3100 6650 9 8 1 1 90 6 1 pinlabel=P6.2/A2 T 3150 6800 5 8 0 1 90 2 1 pinseq=61 T 3100 6650 5 8 0 1 90 8 1 pintype=io } P 2700 6700 2700 7000 1 0 1 { T 2650 6800 5 8 1 1 90 0 1 pinnumber=62 T 2700 6650 9 8 1 1 90 6 1 pinlabel=AVss T 2750 6800 5 8 0 1 90 2 1 pinseq=62 T 2700 6650 5 8 0 1 90 8 1 pintype=pwr } P 2300 6700 2300 7000 1 0 1 { T 2250 6800 5 8 1 1 90 0 1 pinnumber=63 T 2300 6650 9 8 1 1 90 6 1 pinlabel=DVss T 2350 6800 5 8 0 1 90 2 1 pinseq=63 T 2300 6650 5 8 0 1 90 8 1 pintype=pwr } P 1900 6700 1900 7000 1 0 1 { T 1850 6800 5 8 1 1 90 0 1 pinnumber=64 T 1900 6650 9 8 1 1 90 6 1 pinlabel=AVcc T 1950 6800 5 8 0 1 90 2 1 pinseq=64 T 1900 6650 5 8 0 1 90 8 1 pintype=pwr } T 2600 3550 5 10 0 0 0 0 1 footprint=none T 2600 3750 5 10 0 0 0 0 1 description=16-bit mixed signal microcontroller T 2600 3350 5 10 0 0 0 0 1 numslots=0 T 300 6750 3 10 1 0 0 0 1 MSP430x15/6x V 4300 6750 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2600 3150 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/msp430f155.pdf geda-gaf-1.8.2/symbols/micro/AT89S8252-24PC-1.sym0000664000175000017500000001706612204104272015374 00000000000000v 20070626 1 B 300 -50 1900 7300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 348 7844 5 10 0 0 0 0 1 device=AT89S8252-24PC P 300 5800 0 5800 1 0 1 { T 200 5850 5 8 1 1 0 6 1 pinnumber=1 T 200 5750 5 8 0 1 0 8 1 pinseq=3 T 350 5800 5 8 0 1 0 2 1 pintype=io T 350 5800 9 8 1 1 0 0 1 pinlabel=P1.0 (T2) } P 300 5500 0 5500 1 0 1 { T 350 5500 9 8 1 1 0 0 1 pinlabel=P1.1 (T2 Ex) T 200 5550 5 8 1 1 0 6 1 pinnumber=2 T 200 5450 5 8 0 1 0 8 1 pinseq=4 T 350 5500 5 8 0 1 0 2 1 pintype=io } P 300 5200 0 5200 1 0 1 { T 200 5250 5 8 1 1 0 6 1 pinnumber=3 T 200 5150 5 8 0 1 0 8 1 pinseq=5 T 350 5200 9 8 1 1 0 0 1 pinlabel=P1.2 T 350 5200 5 8 0 1 0 2 1 pintype=io } P 300 4900 0 4900 1 0 1 { T 200 4950 5 8 1 1 0 6 1 pinnumber=4 T 200 4850 5 8 0 1 0 8 1 pinseq=6 T 350 4900 9 8 1 1 0 0 1 pinlabel=P1.3 T 350 4900 5 8 0 1 0 2 1 pintype=io } P 300 4600 0 4600 1 0 1 { T 200 4650 5 8 1 1 0 6 1 pinnumber=5 T 200 4550 5 8 0 1 0 8 1 pinseq=7 T 350 4600 9 8 1 1 0 0 1 pinlabel=P1.4 (\_SS\_) T 350 4600 5 8 0 1 0 2 1 pintype=io } P 300 4300 0 4300 1 0 1 { T 200 4350 5 8 1 1 0 6 1 pinnumber=6 T 200 4250 5 8 0 1 0 8 1 pinseq=8 T 350 4300 9 8 1 1 0 0 1 pinlabel=P1.5 (MOSI) T 350 4300 5 8 0 1 0 2 1 pintype=io } P 300 4000 0 4000 1 0 1 { T 200 4050 5 8 1 1 0 6 1 pinnumber=7 T 200 3950 5 8 0 1 0 8 1 pinseq=9 T 350 4000 9 8 1 1 0 0 1 pinlabel=P1.6 (MISO) T 350 4000 5 8 0 1 0 2 1 pintype=io } P 300 3700 0 3700 1 0 1 { T 200 3750 5 8 1 1 0 6 1 pinnumber=8 T 200 3650 5 8 0 1 0 8 1 pinseq=10 T 350 3700 9 8 1 1 0 0 1 pinlabel=P1.7 (SCK) T 350 3700 5 8 0 1 0 2 1 pintype=io } P 300 3100 0 3100 1 0 1 { T 200 3150 5 8 1 1 0 6 1 pinnumber=10 T 200 3050 5 8 0 1 0 8 1 pinseq=11 T 350 3100 9 8 1 1 0 0 1 pinlabel=P3.0 (RxD) T 350 3100 5 8 0 1 0 2 1 pintype=io } P 300 2800 0 2800 1 0 1 { T 200 2850 5 8 1 1 0 6 1 pinnumber=11 T 200 2750 5 8 0 1 0 8 1 pinseq=12 T 350 2800 9 8 1 1 0 0 1 pinlabel=P3.1 (TxD) T 350 2800 5 8 0 1 0 2 1 pintype=io } V 250 2500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 2500 0 2500 1 0 1 { T 200 2550 5 8 1 1 0 6 1 pinnumber=12 T 200 2450 5 8 0 1 0 8 1 pinseq=13 T 350 2500 9 8 1 1 0 0 1 pinlabel=P3.2 (\_Int0\_) T 350 2500 5 8 0 1 0 2 1 pintype=io } V 250 2200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 2200 0 2200 1 0 1 { T 200 2250 5 8 1 1 0 6 1 pinnumber=13 T 200 2150 5 8 0 1 0 8 1 pinseq=14 T 350 2200 9 8 1 1 0 0 1 pinlabel=P3.3 (\_Int1\_) T 350 2200 5 8 0 1 0 2 1 pintype=io } P 300 1900 0 1900 1 0 1 { T 200 1950 5 8 1 1 0 6 1 pinnumber=14 T 200 1850 5 8 0 1 0 8 1 pinseq=15 T 350 1900 9 8 1 1 0 0 1 pinlabel=P3.4 (T0) T 350 1900 5 8 0 1 0 2 1 pintype=io } P 300 1600 0 1600 1 0 1 { T 200 1650 5 8 1 1 0 6 1 pinnumber=15 T 200 1550 5 8 0 1 0 8 1 pinseq=16 T 350 1600 9 8 1 1 0 0 1 pinlabel=P3.5 (T1) T 350 1600 5 8 0 1 0 2 1 pintype=io } P 2500 6400 2200 6400 1 0 0 { T 2300 6450 5 8 1 1 0 0 1 pinnumber=9 T 2300 6350 5 8 0 1 0 2 1 pinseq=37 T 2150 6400 9 8 1 1 0 6 1 pinlabel=RST T 2150 6400 5 8 0 1 0 8 1 pintype=in } P 300 6900 0 6900 1 0 1 { T 200 6950 5 8 1 1 0 6 1 pinnumber=18 T 200 6850 5 8 0 1 0 8 1 pinseq=1 T 350 6900 5 8 0 1 0 2 1 pintype=out T 350 6900 9 8 1 1 0 0 1 pinlabel=XTAL2 } P 2500 6900 2200 6900 1 0 0 { T 2300 6950 5 8 1 1 0 0 1 pinnumber=19 T 2300 6850 5 8 0 1 0 2 1 pinseq=38 T 2150 6900 9 8 1 1 0 6 1 pinlabel=XTAL1 T 2150 6900 5 8 0 1 0 8 1 pintype=in } V 250 6400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 6400 0 6400 1 0 1 { T 200 6450 5 8 1 1 0 6 1 pinnumber=31 T 200 6350 5 8 0 1 0 8 1 pinseq=2 T 350 6400 5 8 0 1 0 2 1 pintype=in T 350 6400 9 8 1 1 0 0 1 pinlabel=\_EA\_/Vpp } P 2200 5800 2500 5800 1 0 1 { T 2300 5850 5 8 1 1 0 0 1 pinnumber=39 T 2300 5750 5 8 0 1 0 2 1 pinseq=36 T 2150 5800 9 8 1 1 0 6 1 pinlabel=(AD0) P0.0 T 2150 5800 5 8 0 1 0 8 1 pintype=io } P 2200 5500 2500 5500 1 0 1 { T 2300 5550 5 8 1 1 0 0 1 pinnumber=38 T 2300 5450 5 8 0 1 0 2 1 pinseq=35 T 2150 5500 9 8 1 1 0 6 1 pinlabel=(AD1) P0.1 T 2150 5500 5 8 0 1 0 8 1 pintype=io } P 2200 5200 2500 5200 1 0 1 { T 2300 5250 5 8 1 1 0 0 1 pinnumber=37 T 2300 5150 5 8 0 1 0 2 1 pinseq=34 T 2150 5200 9 8 1 1 0 6 1 pinlabel=(AD2) P0.2 T 2150 5200 5 8 0 1 0 8 1 pintype=io } P 2200 4900 2500 4900 1 0 1 { T 2300 4950 5 8 1 1 0 0 1 pinnumber=36 T 2300 4850 5 8 0 1 0 2 1 pinseq=33 T 2150 4900 9 8 1 1 0 6 1 pinlabel=(AD3) P0.3 T 2150 4900 5 8 0 1 0 8 1 pintype=io } P 2200 4600 2500 4600 1 0 1 { T 2300 4650 5 8 1 1 0 0 1 pinnumber=35 T 2300 4550 5 8 0 1 0 2 1 pinseq=32 T 2150 4600 9 8 1 1 0 6 1 pinlabel=(AD4) P0.4 T 2150 4600 5 8 0 1 0 8 1 pintype=io } P 2200 4300 2500 4300 1 0 1 { T 2300 4350 5 8 1 1 0 0 1 pinnumber=34 T 2300 4250 5 8 0 1 0 2 1 pinseq=31 T 2150 4300 9 8 1 1 0 6 1 pinlabel=(AD5) P0.5 T 2150 4300 5 8 0 1 0 8 1 pintype=io } P 2200 4000 2500 4000 1 0 1 { T 2300 4050 5 8 1 1 0 0 1 pinnumber=33 T 2300 3950 5 8 0 1 0 2 1 pinseq=30 T 2150 4000 9 8 1 1 0 6 1 pinlabel=(AD6) P0.6 T 2150 4000 5 8 0 1 0 8 1 pintype=io } P 2200 3700 2500 3700 1 0 1 { T 2300 3750 5 8 1 1 0 0 1 pinnumber=32 T 2300 3650 5 8 0 1 0 2 1 pinseq=29 T 2150 3700 9 8 1 1 0 6 1 pinlabel=(AD7) P0.7 T 2150 3700 5 8 0 1 0 8 1 pintype=io } P 2200 3100 2500 3100 1 0 1 { T 2300 3150 5 8 1 1 0 0 1 pinnumber=21 T 2300 3050 5 8 0 1 0 2 1 pinseq=28 T 2150 3100 9 8 1 1 0 6 1 pinlabel=(A8) P2.0 T 2150 3100 5 8 0 1 0 8 1 pintype=io } P 2200 2800 2500 2800 1 0 1 { T 2300 2850 5 8 1 1 0 0 1 pinnumber=22 T 2300 2750 5 8 0 1 0 2 1 pinseq=27 T 2150 2800 9 8 1 1 0 6 1 pinlabel=(A9) P2.1 T 2150 2800 5 8 0 1 0 8 1 pintype=io } P 2200 2500 2500 2500 1 0 1 { T 2300 2550 5 8 1 1 0 0 1 pinnumber=23 T 2300 2450 5 8 0 1 0 2 1 pinseq=26 T 2150 2500 9 8 1 1 0 6 1 pinlabel=(A10) P2.2 T 2150 2500 5 8 0 1 0 8 1 pintype=io } P 2200 2200 2500 2200 1 0 1 { T 2300 2250 5 8 1 1 0 0 1 pinnumber=24 T 2300 2150 5 8 0 1 0 2 1 pinseq=25 T 2150 2200 9 8 1 1 0 6 1 pinlabel=(A11) P2.3 T 2150 2200 5 8 0 1 0 8 1 pintype=io } P 2200 1600 2500 1600 1 0 1 { T 2300 1650 5 8 1 1 0 0 1 pinnumber=26 T 2300 1550 5 8 0 1 0 2 1 pinseq=23 T 2150 1600 9 8 1 1 0 6 1 pinlabel=(A13) P2.5 T 2150 1600 5 8 0 1 0 8 1 pintype=io } P 2200 1300 2500 1300 1 0 1 { T 2300 1350 5 8 1 1 0 0 1 pinnumber=27 T 2300 1250 5 8 0 1 0 2 1 pinseq=22 T 2150 1300 9 8 1 1 0 6 1 pinlabel=(A14) P2.6 T 2150 1300 5 8 0 1 0 8 1 pintype=io } P 2200 1000 2500 1000 1 0 1 { T 2300 1050 5 8 1 1 0 0 1 pinnumber=28 T 2300 950 5 8 0 1 0 2 1 pinseq=21 T 2150 1000 9 8 1 1 0 6 1 pinlabel=(A15) P2.7 T 2150 1000 5 8 0 1 0 8 1 pintype=io } P 2200 500 2500 500 1 0 1 { T 2300 550 5 8 1 1 0 0 1 pinnumber=30 T 2300 450 5 8 0 1 0 2 1 pinseq=20 T 2150 500 9 8 1 1 0 6 1 pinlabel=ALE/\_PROG\_ T 2150 500 5 8 0 1 0 8 1 pintype=io } V 2250 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2300 200 2500 200 1 0 1 { T 2300 250 5 8 1 1 0 0 1 pinnumber=29 T 2300 150 5 8 0 1 0 2 1 pinseq=19 T 2150 200 9 8 1 1 0 6 1 pinlabel=\_PSEN\_ T 2150 200 5 8 0 1 0 8 1 pintype=out } V 250 1300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1300 200 1300 1 0 0 { T 200 1350 5 8 1 1 0 6 1 pinnumber=16 T 200 1250 5 8 0 1 0 8 1 pinseq=17 T 350 1300 9 8 1 1 0 0 1 pinlabel=P3.6 (\_WR\_) T 350 1300 5 8 0 1 0 2 1 pintype=io } V 250 1000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1000 200 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=17 T 200 950 5 8 0 1 0 8 1 pinseq=18 T 350 1000 9 8 1 1 0 0 1 pinlabel=P3.7 (\_RD\_) T 350 1000 5 8 0 1 0 2 1 pintype=io } T 2236 7404 8 10 1 1 0 6 1 refdes=U? P 2200 1900 2500 1900 1 0 1 { T 2300 1950 5 8 1 1 0 0 1 pinnumber=25 T 2300 1850 5 8 0 1 0 2 1 pinseq=24 T 2150 1900 9 8 1 1 0 6 1 pinlabel=(A12) P2.4 T 2150 1900 5 8 0 1 0 8 1 pintype=io } T 350 8450 5 10 0 0 0 0 1 net=Vcc:40 T 350 8650 5 10 0 0 0 0 1 net=GND:20 T 347 7648 5 10 0 0 0 0 1 footprint=DIP40 T 350 8250 5 10 0 0 0 0 1 description=8-bit, 8051 compatible micro controller (Atmel) T 350 8050 5 10 0 0 0 0 1 numslots=0 T 186 7412 9 10 1 0 0 0 1 AT89S8252-24PC geda-gaf-1.8.2/symbols/micro/ATmega128-2.sym0000664000175000017500000002655012204104272015165 00000000000000v 20070626 1 T 3600 12300 8 10 1 1 0 6 1 refdes=U? T 400 12450 8 10 0 0 0 0 1 device=Atmega128 T 400 12650 8 10 0 0 0 0 1 footprint=TQFP64 T 400 12850 8 10 0 0 0 0 1 net=Vcc:21,52 T 400 13050 8 10 0 0 0 0 1 net=GND:22,53 T 400 13250 8 10 0 0 0 0 1 net=AGND:63 T 400 13450 8 10 0 0 0 0 1 net=AVcc:64 P 2900 100 2900 400 1 0 0 { T 2950 200 5 8 1 1 0 0 1 pinnumber=23 T 2950 200 5 8 0 1 0 2 1 pinseq=1 T 2900 450 9 8 1 1 0 3 1 pinlabel=XTAL2 T 2900 600 5 8 0 1 0 3 1 pintype=out } P 2300 100 2300 400 1 0 0 { T 2350 200 5 8 1 1 0 0 1 pinnumber=24 T 2350 200 5 8 0 1 0 2 1 pinseq=2 T 2300 450 9 8 1 1 0 3 1 pinlabel=XTAL1 T 2300 600 5 8 0 1 0 3 1 pintype=in } P 1700 100 1700 400 1 0 0 { T 1750 200 5 8 1 1 0 0 1 pinnumber=18 T 1750 200 5 8 0 1 0 2 1 pinseq=3 T 1700 450 9 8 1 1 0 3 1 pinlabel=TOSC2 T 1700 600 5 8 0 1 0 3 1 pintype=out } P 1100 100 1100 400 1 0 0 { T 1150 200 5 8 1 1 0 0 1 pinnumber=19 T 1150 200 5 8 0 1 0 2 1 pinseq=4 T 1100 450 9 8 1 1 0 3 1 pinlabel=TOSC1 T 1100 600 5 8 0 1 0 3 1 pintype=in } P 100 800 300 800 1 0 0 { T 300 850 5 8 1 1 0 6 1 pinnumber=20 T 300 750 5 8 0 1 0 8 1 pinseq=5 T 450 800 9 8 1 1 0 0 1 pinlabel=\_Reset\_ T 450 800 5 8 0 1 0 2 1 pintype=in } V 350 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1200 300 1200 1 0 0 { T 300 1250 5 8 1 1 0 6 1 pinnumber=1 T 300 1150 5 8 0 1 0 8 1 pinseq=6 T 450 1200 9 8 1 1 0 0 1 pinlabel=\_PEN\_ T 450 1200 5 8 0 1 0 2 1 pintype=in } V 350 1200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2200 400 2200 1 0 0 { T 300 2250 5 8 1 1 0 6 1 pinnumber=9 T 300 2150 5 8 0 1 0 8 1 pinseq=7 T 450 2200 9 8 1 1 0 0 1 pinlabel=PE7 (INT7) T 450 2200 5 8 0 1 0 2 1 pintype=io } P 100 2600 400 2600 1 0 0 { T 300 2650 5 8 1 1 0 6 1 pinnumber=8 T 300 2550 5 8 0 1 0 8 1 pinseq=8 T 450 2600 9 8 1 1 0 0 1 pinlabel=PE6 (INT6) T 450 2600 5 8 0 1 0 2 1 pintype=io } P 100 3000 400 3000 1 0 0 { T 300 3050 5 8 1 1 0 6 1 pinnumber=7 T 300 2950 5 8 0 1 0 8 1 pinseq=9 T 450 3000 9 8 1 1 0 0 1 pinlabel=PE5 (INT5) T 450 3000 5 8 0 1 0 2 1 pintype=io } P 100 3400 400 3400 1 0 0 { T 300 3450 5 8 1 1 0 6 1 pinnumber=6 T 300 3350 5 8 0 1 0 8 1 pinseq=10 T 450 3400 9 8 1 1 0 0 1 pinlabel=PE4 (INT4) T 450 3400 5 8 0 1 0 2 1 pintype=io } P 100 3800 400 3800 1 0 0 { T 300 3850 5 8 1 1 0 6 1 pinnumber=5 T 300 3750 5 8 0 1 0 8 1 pinseq=11 T 450 3800 9 8 1 1 0 0 1 pinlabel=PE3 (AC-) T 450 3800 5 8 0 1 0 2 1 pintype=io } P 100 4200 400 4200 1 0 0 { T 300 4250 5 8 1 1 0 6 1 pinnumber=4 T 300 4150 5 8 0 1 0 8 1 pinseq=12 T 450 4200 9 8 1 1 0 0 1 pinlabel=PE2 (AC+) T 450 4200 5 8 0 1 0 2 1 pintype=io } P 100 4600 400 4600 1 0 0 { T 300 4650 5 8 1 1 0 6 1 pinnumber=3 T 300 4550 5 8 0 1 0 8 1 pinseq=13 T 450 4600 9 8 1 1 0 0 1 pinlabel=PE1 (PDO/TXD) T 450 4600 5 8 0 1 0 2 1 pintype=io } P 100 5000 400 5000 1 0 0 { T 300 5050 5 8 1 1 0 6 1 pinnumber=2 T 300 4950 5 8 0 1 0 8 1 pinseq=14 T 450 5000 9 8 1 1 0 0 1 pinlabel=PE0 (PDI/RXD) T 450 5000 5 8 0 1 0 2 1 pintype=io } P 100 5600 400 5600 1 0 0 { T 300 5650 5 8 1 1 0 6 1 pinnumber=32 T 300 5550 5 8 0 1 0 8 1 pinseq=15 T 450 5600 9 8 1 1 0 0 1 pinlabel=PD7 (T2) T 450 5600 5 8 0 1 0 2 1 pintype=io } P 100 6000 400 6000 1 0 0 { T 300 6050 5 8 1 1 0 6 1 pinnumber=31 T 300 5950 5 8 0 1 0 8 1 pinseq=16 T 450 6000 9 8 1 1 0 0 1 pinlabel=PD6 (T1) T 450 6000 5 8 0 1 0 2 1 pintype=io } P 100 6400 400 6400 1 0 0 { T 300 6450 5 8 1 1 0 6 1 pinnumber=30 T 300 6350 5 8 0 1 0 8 1 pinseq=17 T 450 6400 9 8 1 1 0 0 1 pinlabel=PD5 T 450 6400 5 8 0 1 0 2 1 pintype=io } P 100 6800 400 6800 1 0 0 { T 300 6850 5 8 1 1 0 6 1 pinnumber=29 T 300 6750 5 8 0 1 0 8 1 pinseq=18 T 450 6800 9 8 1 1 0 0 1 pinlabel=PD4 (IC1) T 450 6800 5 8 0 1 0 2 1 pintype=io } P 100 7200 400 7200 1 0 0 { T 300 7250 5 8 1 1 0 6 1 pinnumber=28 T 300 7150 5 8 0 1 0 8 1 pinseq=19 T 450 7200 9 8 1 1 0 0 1 pinlabel=PD3 (\_INT3\_) T 450 7200 5 8 0 1 0 2 1 pintype=io } P 100 7600 400 7600 1 0 0 { T 300 7650 5 8 1 1 0 6 1 pinnumber=27 T 300 7550 5 8 0 1 0 8 1 pinseq=20 T 450 7600 9 8 1 1 0 0 1 pinlabel=PD2 (\_INT2\_) T 450 7600 5 8 0 1 0 2 1 pintype=io } P 100 8000 400 8000 1 0 0 { T 300 8050 5 8 1 1 0 6 1 pinnumber=26 T 300 7950 5 8 0 1 0 8 1 pinseq=21 T 450 8000 9 8 1 1 0 0 1 pinlabel=PD1 (\_INT1\_) T 450 8000 5 8 0 1 0 2 1 pintype=io } P 100 8400 400 8400 1 0 0 { T 300 8450 5 8 1 1 0 6 1 pinnumber=25 T 300 8350 5 8 0 1 0 8 1 pinseq=22 T 450 8400 9 8 1 1 0 0 1 pinlabel=PD0 (\_INT0\_) T 450 8400 5 8 0 1 0 2 1 pintype=io } P 100 9000 400 9000 1 0 0 { T 300 9050 5 8 1 1 0 6 1 pinnumber=17 T 300 8950 5 8 0 1 0 8 1 pinseq=23 T 450 9000 9 8 1 1 0 0 1 pinlabel=PB7 (OC2/PWM2) T 450 9000 5 8 0 1 0 2 1 pintype=io } P 100 9400 400 9400 1 0 0 { T 300 9450 5 8 1 1 0 6 1 pinnumber=16 T 300 9350 5 8 0 1 0 8 1 pinseq=24 T 450 9400 9 8 1 1 0 0 1 pinlabel=PB6 (OC1B/PWM1B) T 450 9400 5 8 0 1 0 2 1 pintype=io } P 100 9800 400 9800 1 0 0 { T 300 9850 5 8 1 1 0 6 1 pinnumber=15 T 300 9750 5 8 0 1 0 8 1 pinseq=25 T 450 9800 9 8 1 1 0 0 1 pinlabel=PB5 (OC1A/PWM1A) T 450 9800 5 8 0 1 0 2 1 pintype=io } P 100 10200 400 10200 1 0 0 { T 300 10250 5 8 1 1 0 6 1 pinnumber=14 T 300 10150 5 8 0 1 0 8 1 pinseq=26 T 450 10200 9 8 1 1 0 0 1 pinlabel=PB4 (OC0/PWM0) T 450 10200 5 8 0 1 0 2 1 pintype=io } P 100 10600 400 10600 1 0 0 { T 300 10650 5 8 1 1 0 6 1 pinnumber=13 T 300 10550 5 8 0 1 0 8 1 pinseq=27 T 450 10600 9 8 1 1 0 0 1 pinlabel=PB3 (MISO) T 450 10600 5 8 0 1 0 2 1 pintype=io } P 100 11000 400 11000 1 0 0 { T 300 11050 5 8 1 1 0 6 1 pinnumber=12 T 300 10950 5 8 0 1 0 8 1 pinseq=28 T 450 11000 9 8 1 1 0 0 1 pinlabel=PB2 (MOSI) T 450 11000 5 8 0 1 0 2 1 pintype=io } P 100 11400 400 11400 1 0 0 { T 300 11450 5 8 1 1 0 6 1 pinnumber=11 T 300 11350 5 8 0 1 0 8 1 pinseq=29 T 450 11400 9 8 1 1 0 0 1 pinlabel=PB1 (SCK) T 450 11400 5 8 0 1 0 2 1 pintype=io } P 100 11800 400 11800 1 0 0 { T 300 11850 5 8 1 1 0 6 1 pinnumber=10 T 300 11750 5 8 0 1 0 8 1 pinseq=30 T 450 11800 9 8 1 1 0 0 1 pinlabel=PB0 (\_SS\_) T 450 11800 5 8 0 1 0 2 1 pintype=io } P 100 1600 400 1600 1 0 0 { T 300 1650 5 8 1 1 0 6 1 pinnumber=62 T 300 1550 5 8 0 1 0 8 1 pinseq=31 T 450 1600 9 8 1 1 0 0 1 pinlabel=AREF T 450 1600 5 8 0 1 0 2 1 pintype=in } P 3900 800 3700 800 1 0 0 { T 3700 850 5 8 1 1 0 0 1 pinnumber=33 T 3700 750 5 8 0 1 0 2 1 pinseq=32 T 3550 800 9 8 1 1 0 6 1 pinlabel=\_WR\_ T 3550 800 5 8 0 1 0 8 1 pintype=out } V 3650 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 3900 1200 3700 1200 1 0 0 { T 3700 1250 5 8 1 1 0 0 1 pinnumber=34 T 3700 1150 5 8 0 1 0 2 1 pinseq=33 T 3550 1200 9 8 1 1 0 6 1 pinlabel=\_RD\_ T 3550 1200 5 8 0 1 0 8 1 pintype=out } V 3650 1200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 3900 2200 3600 2200 1 0 0 { T 3700 2250 5 8 1 1 0 0 1 pinnumber=54 T 3700 2150 5 8 0 1 0 2 1 pinseq=34 T 3550 2200 9 8 1 1 0 6 1 pinlabel=(ADC7) PF7 T 3550 2200 5 8 0 1 0 8 1 pintype=io } P 3900 2600 3600 2600 1 0 0 { T 3700 2650 5 8 1 1 0 0 1 pinnumber=55 T 3700 2550 5 8 0 1 0 2 1 pinseq=35 T 3550 2600 9 8 1 1 0 6 1 pinlabel=(ADC6) PF6 T 3550 2600 5 8 0 1 0 8 1 pintype=io } P 3900 3000 3600 3000 1 0 0 { T 3700 3050 5 8 1 1 0 0 1 pinnumber=56 T 3700 2950 5 8 0 1 0 2 1 pinseq=36 T 3550 3000 9 8 1 1 0 6 1 pinlabel=(ADC5) PF5 T 3550 3000 5 8 0 1 0 8 1 pintype=io } P 3900 3400 3600 3400 1 0 0 { T 3700 3450 5 8 1 1 0 0 1 pinnumber=57 T 3700 3350 5 8 0 1 0 2 1 pinseq=37 T 3550 3400 9 8 1 1 0 6 1 pinlabel=(ADC4) PF4 T 3550 3400 5 8 0 1 0 8 1 pintype=io } P 3900 3800 3600 3800 1 0 0 { T 3700 3850 5 8 1 1 0 0 1 pinnumber=58 T 3700 3750 5 8 0 1 0 2 1 pinseq=38 T 3550 3800 9 8 1 1 0 6 1 pinlabel=(ADC3) PF3 T 3550 3800 5 8 0 1 0 8 1 pintype=io } P 3900 4200 3600 4200 1 0 0 { T 3700 4250 5 8 1 1 0 0 1 pinnumber=59 T 3700 4150 5 8 0 1 0 2 1 pinseq=39 T 3550 4200 9 8 1 1 0 6 1 pinlabel=(ADC2) PF2 T 3550 4200 5 8 0 1 0 8 1 pintype=io } P 3900 4600 3600 4600 1 0 0 { T 3700 4650 5 8 1 1 0 0 1 pinnumber=60 T 3700 4550 5 8 0 1 0 2 1 pinseq=40 T 3550 4600 9 8 1 1 0 6 1 pinlabel=(ADC1) PF1 T 3550 4600 5 8 0 1 0 8 1 pintype=io } P 3900 5000 3600 5000 1 0 0 { T 3700 5050 5 8 1 1 0 0 1 pinnumber=61 T 3700 4950 5 8 0 1 0 2 1 pinseq=41 T 3550 5000 9 8 1 1 0 6 1 pinlabel=(ADC0) PF0 T 3550 5000 5 8 0 1 0 8 1 pintype=io } P 3900 5600 3600 5600 1 0 0 { T 3700 5650 5 8 1 1 0 0 1 pinnumber=42 T 3700 5550 5 8 0 1 0 2 1 pinseq=42 T 3550 5600 9 8 1 1 0 6 1 pinlabel=(A15) PC7 T 3550 5600 5 8 0 1 0 8 1 pintype=io } P 3900 6000 3600 6000 1 0 0 { T 3700 6050 5 8 1 1 0 0 1 pinnumber=41 T 3700 5950 5 8 0 1 0 2 1 pinseq=43 T 3550 6000 9 8 1 1 0 6 1 pinlabel=(A14) PC6 T 3550 6000 5 8 0 1 0 8 1 pintype=io } P 3900 6400 3600 6400 1 0 0 { T 3700 6450 5 8 1 1 0 0 1 pinnumber=40 T 3700 6350 5 8 0 1 0 2 1 pinseq=44 T 3550 6400 9 8 1 1 0 6 1 pinlabel=(A13) PC5 T 3550 6400 5 8 0 1 0 8 1 pintype=io } P 3900 6800 3600 6800 1 0 0 { T 3700 6850 5 8 1 1 0 0 1 pinnumber=39 T 3700 6750 5 8 0 1 0 2 1 pinseq=45 T 3550 6800 9 8 1 1 0 6 1 pinlabel=(A12) PC4 T 3550 6800 5 8 0 1 0 8 1 pintype=io } P 3900 7200 3600 7200 1 0 0 { T 3700 7250 5 8 1 1 0 0 1 pinnumber=38 T 3700 7150 5 8 0 1 0 2 1 pinseq=46 T 3550 7200 9 8 1 1 0 6 1 pinlabel=(A11) PC3 T 3550 7200 5 8 0 1 0 8 1 pintype=io } P 3900 7600 3600 7600 1 0 0 { T 3700 7650 5 8 1 1 0 0 1 pinnumber=37 T 3700 7550 5 8 0 1 0 2 1 pinseq=47 T 3550 7600 9 8 1 1 0 6 1 pinlabel=(A10) PC2 T 3550 7600 5 8 0 1 0 8 1 pintype=io } P 3900 8000 3600 8000 1 0 0 { T 3700 8050 5 8 1 1 0 0 1 pinnumber=36 T 3700 7950 5 8 0 1 0 2 1 pinseq=48 T 3550 8000 9 8 1 1 0 6 1 pinlabel=(A9) PC1 T 3550 8000 5 8 0 1 0 8 1 pintype=io } P 3900 8400 3600 8400 1 0 0 { T 3700 8450 5 8 1 1 0 0 1 pinnumber=35 T 3700 8350 5 8 0 1 0 2 1 pinseq=49 T 3550 8400 9 8 1 1 0 6 1 pinlabel=(A8) PC0 T 3550 8400 5 8 0 1 0 8 1 pintype=io } P 3900 9000 3600 9000 1 0 0 { T 3700 9050 5 8 1 1 0 0 1 pinnumber=44 T 3700 8950 5 8 0 1 0 2 1 pinseq=50 T 3550 9000 9 8 1 1 0 6 1 pinlabel=(AD7) PA7 T 3550 9000 5 8 0 1 0 8 1 pintype=io } P 3900 9400 3600 9400 1 0 0 { T 3700 9450 5 8 1 1 0 0 1 pinnumber=45 T 3700 9350 5 8 0 1 0 2 1 pinseq=51 T 3550 9400 9 8 1 1 0 6 1 pinlabel=(AD6) PA6 T 3550 9400 5 8 0 1 0 8 1 pintype=io } P 3900 9800 3600 9800 1 0 0 { T 3700 9850 5 8 1 1 0 0 1 pinnumber=46 T 3700 9750 5 8 0 1 0 2 1 pinseq=52 T 3550 9800 9 8 1 1 0 6 1 pinlabel=(AD5) PA5 T 3550 9800 5 8 0 1 0 8 1 pintype=io } P 3900 10200 3600 10200 1 0 0 { T 3700 10250 5 8 1 1 0 0 1 pinnumber=47 T 3700 10150 5 8 0 1 0 2 1 pinseq=53 T 3550 10200 9 8 1 1 0 6 1 pinlabel=(AD4) PA4 T 3550 10200 5 8 0 1 0 8 1 pintype=io } P 3900 10600 3600 10600 1 0 0 { T 3700 10650 5 8 1 1 0 0 1 pinnumber=48 T 3700 10550 5 8 0 1 0 2 1 pinseq=54 T 3550 10600 9 8 1 1 0 6 1 pinlabel=(AD3) PA3 T 3550 10600 5 8 0 1 0 8 1 pintype=io } P 3900 11000 3600 11000 1 0 0 { T 3700 11050 5 8 1 1 0 0 1 pinnumber=49 T 3700 10950 5 8 0 1 0 2 1 pinseq=55 T 3550 11000 9 8 1 1 0 6 1 pinlabel=(AD2) PA2 T 3550 11000 5 8 0 1 0 8 1 pintype=io } P 3900 11400 3600 11400 1 0 0 { T 3700 11450 5 8 1 1 0 0 1 pinnumber=50 T 3700 11350 5 8 0 1 0 2 1 pinseq=56 T 3550 11400 9 8 1 1 0 6 1 pinlabel=(AD1) PA1 T 3550 11400 5 8 0 1 0 8 1 pintype=io } P 3900 11800 3600 11800 1 0 0 { T 3700 11850 5 8 1 1 0 0 1 pinnumber=51 T 3700 11750 5 8 0 1 0 2 1 pinseq=57 T 3550 11800 9 8 1 1 0 6 1 pinlabel=(AD0) PA0 T 3550 11800 5 8 0 1 0 8 1 pintype=io } P 3900 1600 3600 1600 1 0 0 { T 3700 1650 5 8 1 1 0 0 1 pinnumber=43 T 3700 1550 5 8 0 1 0 2 1 pinseq=58 T 3550 1600 9 8 1 1 0 6 1 pinlabel=ALE T 3550 1600 5 8 0 1 0 8 1 pintype=out } B 400 400 3200 11800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 13650 8 10 0 0 0 0 1 description=8-bit RISC micro controller (Atmel) T 400 13850 8 10 0 0 0 0 1 numslots=0 T 400 14050 8 10 0 0 0 0 1 author=Werner Hoch T 400 12250 9 10 1 0 0 0 1 ATmega128 T 400 14200 8 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/verilog/0000775000175000017500000000000012220655766013332 500000000000000geda-gaf-1.8.2/symbols/verilog/and9-1.sym0000664000175000017500000000245412204104272014761 00000000000000v 20031231 1 L 300 1200 700 1200 3 0 0 0 -1 -1 L 300 600 700 600 3 0 0 0 -1 -1 L 300 600 300 1200 3 0 0 0 -1 -1 A 700 900 300 270 180 3 0 0 0 -1 -1 L 300 1200 300 1800 3 0 0 0 -1 -1 L 300 600 300 0 3 0 0 0 -1 -1 P 1000 900 1300 900 1 0 1 { T 1000 900 5 8 0 0 0 0 1 pinnumber=OUT T 1000 900 5 8 0 0 0 0 1 pinseq=1 } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } P 300 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } P 300 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } P 300 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 } P 300 1100 0 1100 1 0 1 { T 300 1100 5 8 0 0 0 0 1 pinnumber=IN5 T 300 1100 5 8 0 0 0 0 1 pinseq=7 } P 300 1300 0 1300 1 0 1 { T 300 1300 5 8 0 0 0 0 1 pinnumber=IN6 T 300 1300 5 8 0 0 0 0 1 pinseq=8 } P 300 1500 0 1500 1 0 1 { T 300 1500 5 8 0 0 0 0 1 pinnumber=IN7 T 300 1500 5 8 0 0 0 0 1 pinseq=9 } P 300 1700 0 1700 1 0 1 { T 300 1700 5 8 0 0 0 0 1 pinnumber=IN8 T 300 1700 5 8 0 0 0 0 1 pinseq=10 } T 400 500 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=and T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/nor4-2.sym0000664000175000017500000000173312204104272015010 00000000000000v 20031231 1 L 300 700 700 700 3 0 0 0 -1 -1 L 300 100 700 100 3 0 0 0 -1 -1 L 300 100 300 700 3 0 0 0 -1 -1 A 700 400 300 270 180 3 0 0 0 -1 -1 L 300 700 300 800 3 0 0 0 -1 -1 L 300 100 300 0 3 0 0 0 -1 -1 P 1000 400 1300 400 1 0 1 { T 1000 400 5 8 0 0 0 0 1 pinnumber=OUT T 1000 400 5 8 0 0 0 0 1 pinseq=1 } V 250 100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } V 250 300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } V 250 500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } V 250 700 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } T 400 0 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=nor T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/nand7-2.sym0000664000175000017500000000266312204104272015140 00000000000000v 20031231 1 L 300 1000 600 1000 3 0 0 0 -1 -1 L 300 400 600 400 3 0 0 0 -1 -1 A 40 700 400 312 97 3 0 0 0 -1 -1 A 600 800 400 270 76 3 0 0 0 -1 -1 A 600 600 400 14 76 3 0 0 0 -1 -1 L 300 1000 300 1400 3 0 0 0 -1 -1 L 300 400 300 0 3 0 0 0 -1 -1 P 1000 700 1300 700 1 0 1 { T 1000 700 5 8 0 0 0 0 1 pinnumber=OUT T 1000 700 5 8 0 0 0 0 1 pinseq=1 } V 250 100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } V 250 300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } V 250 500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } V 250 700 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } V 250 900 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 } V 250 1100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 1100 0 1100 1 0 1 { T 300 1100 5 8 0 0 0 0 1 pinnumber=IN5 T 300 1100 5 8 0 0 0 0 1 pinseq=7 } V 250 1300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 1300 0 1300 1 0 1 { T 300 1300 5 8 0 0 0 0 1 pinnumber=IN6 T 300 1300 5 8 0 0 0 0 1 pinseq=8 } T 400 300 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=nand T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/block-1.sym0000664000175000017500000000173612204104272015222 00000000000000v 20031231 1 B 300 300 1500 1500 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 T 2000 1675 5 10 0 0 0 0 1 device=BLOCK T 300 1850 9 10 1 0 0 0 1 BLOCK T 350 1450 9 8 1 0 0 0 1 IO1 P 300 1500 0 1500 1 0 1 { T -88 1550 5 8 1 1 0 0 1 pinnumber=IO1 T -88 1550 5 8 0 0 0 0 1 pinseq=1 } T 350 1150 9 8 1 0 0 0 1 IO2 P 300 1200 0 1200 1 0 1 { T -88 1250 5 8 1 1 0 0 1 pinnumber=IO2 T -88 1250 5 8 0 0 0 0 1 pinseq=2 } T 350 850 9 8 1 0 0 0 1 INPUT1 P 300 900 0 900 1 0 1 { T -376 950 5 8 1 1 0 0 1 pinnumber=INPUT1 T -376 950 5 8 0 0 0 0 1 pinseq=3 } T 350 550 9 8 1 0 0 0 1 INPUT2 P 300 600 0 600 1 0 1 { T -376 650 5 8 1 1 0 0 1 pinnumber=INPUT2 T -376 650 5 8 0 0 0 0 1 pinseq=4 } T 1078 1150 9 8 1 0 0 0 1 OUTPUT1 P 1800 1200 2100 1200 1 0 1 { T 1900 1250 5 8 1 1 0 0 1 pinnumber=OUTPUT1 T 1900 1250 5 8 0 0 0 0 1 pinseq=5 } T 1078 850 9 8 1 0 0 0 1 OUTPUT2 V 1850 900 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1900 900 2100 900 1 0 1 { T 1900 950 5 8 1 1 0 0 1 pinnumber=OUTPUT2 T 1900 950 5 8 0 0 0 0 1 pinseq=6 } geda-gaf-1.8.2/symbols/verilog/notif1-1.sym0000664000175000017500000000117412204104272015324 00000000000000v 20031231 1 L 300 800 800 500 3 0 0 0 -1 -1 L 800 500 300 200 3 0 0 0 -1 -1 L 300 800 300 500 3 0 0 0 -1 -1 L 300 500 300 200 3 0 0 0 -1 -1 V 850 500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 300 500 0 500 1 0 1 { T 0 550 5 8 0 1 0 0 1 pinnumber=INW T 0 550 5 8 0 0 0 0 1 pinseq=2 } P 1100 500 900 500 1 0 0 { T 915 550 5 8 0 1 0 0 1 pinnumber=OUTW T 915 550 5 8 0 0 0 0 1 pinseq=1 } P 0 900 550 900 1 0 0 { T 50 950 5 10 0 1 0 0 1 pinnumber=CONTROLW T 50 950 5 10 0 0 0 0 1 pinseq=3 } L 550 900 550 650 3 0 0 0 -1 -1 T 700 750 2 10 0 0 0 0 1 VERILOG_PORTS=POSITIONAL T 650 250 2 10 0 1 0 0 1 device=notif1 T 500 300 5 10 1 1 0 2 1 refdes=U? geda-gaf-1.8.2/symbols/verilog/and9-2.sym0000664000175000017500000000340212204104272014754 00000000000000v 20031231 1 L 300 1200 600 1200 3 0 0 0 -1 -1 L 300 600 600 600 3 0 0 0 -1 -1 A 40 900 400 312 97 3 0 0 0 -1 -1 A 600 1000 400 270 76 3 0 0 0 -1 -1 A 600 800 400 14 76 3 0 0 0 -1 -1 L 300 1200 300 1800 3 0 0 0 -1 -1 L 300 600 300 0 3 0 0 0 -1 -1 V 1050 900 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1100 900 1300 900 1 0 1 { T 1000 900 5 8 0 0 0 0 1 pinnumber=OUT T 1000 900 5 8 0 0 0 0 1 pinseq=1 } V 250 100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } V 250 300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } V 250 500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } V 250 700 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } V 250 900 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 } V 250 1100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 1100 0 1100 1 0 1 { T 300 1100 5 8 0 0 0 0 1 pinnumber=IN5 T 300 1100 5 8 0 0 0 0 1 pinseq=7 } V 250 1300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 1300 0 1300 1 0 1 { T 300 1300 5 8 0 0 0 0 1 pinnumber=IN6 T 300 1300 5 8 0 0 0 0 1 pinseq=8 } V 250 1500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 1500 0 1500 1 0 1 { T 300 1500 5 8 0 0 0 0 1 pinnumber=IN7 T 300 1500 5 8 0 0 0 0 1 pinseq=9 } V 250 1700 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 1700 0 1700 1 0 1 { T 300 1700 5 8 0 0 0 0 1 pinnumber=IN8 T 300 1700 5 8 0 0 0 0 1 pinseq=10 } T 400 500 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=and T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/test_verilog.sym0000664000175000017500000000067212204104273016477 00000000000000v 20031231 1 B 300 300 1200 600 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 T 1700 775 5 10 0 0 0 0 1 device=TEST T 300 950 9 10 1 0 0 0 1 TEST T 350 550 9 8 1 0 0 0 1 INPUT P 300 600 0 600 1 0 1 { T -280 650 5 8 1 1 0 0 1 pinnumber=INPUT T -280 650 5 8 0 0 0 0 1 pinseq=1 } T 874 550 9 8 1 0 0 0 1 OUTPUT V 1550 600 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1600 600 1800 600 1 0 1 { T 1600 650 5 8 1 1 0 0 1 pinnumber=OUTPUT T 1600 650 5 8 0 0 0 0 1 pinseq=2 } geda-gaf-1.8.2/symbols/verilog/and3-1.sym0000664000175000017500000000121512204104272014745 00000000000000v 20031231 1 L 300 600 700 600 3 0 0 0 -1 -1 L 300 0 700 0 3 0 0 0 -1 -1 L 300 0 300 600 3 0 0 0 -1 -1 A 700 300 300 270 180 3 0 0 0 -1 -1 P 1000 300 1300 300 1 0 1 { T 1000 300 5 8 0 0 0 0 1 pinnumber=OUT T 1000 300 5 8 0 0 0 0 1 pinseq=1 } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } P 300 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } T 400 -100 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=and T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/or8-2.sym0000664000175000017500000000311412204104273014632 00000000000000v 20031231 1 L 300 1100 700 1100 3 0 0 0 -1 -1 L 300 500 700 500 3 0 0 0 -1 -1 L 300 500 300 1100 3 0 0 0 -1 -1 A 700 800 300 270 180 3 0 0 0 -1 -1 L 300 1100 300 1600 3 0 0 0 -1 -1 L 300 500 300 0 3 0 0 0 -1 -1 V 1050 800 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1100 800 1300 800 1 0 1 { T 1000 800 5 8 0 0 0 0 1 pinnumber=OUT T 1000 800 5 8 0 0 0 0 1 pinseq=1 } V 250 100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } V 250 300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } V 250 500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } V 250 700 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } V 250 900 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 } V 250 1100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 1100 0 1100 1 0 1 { T 300 1100 5 8 0 0 0 0 1 pinnumber=IN5 T 300 1100 5 8 0 0 0 0 1 pinseq=7 } V 250 1300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 1300 0 1300 1 0 1 { T 300 1300 5 8 0 0 0 0 1 pinnumber=IN6 T 300 1300 5 8 0 0 0 0 1 pinseq=8 } V 250 1500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 1500 0 1500 1 0 1 { T 300 1500 5 8 0 0 0 0 1 pinnumber=IN7 T 300 1500 5 8 0 0 0 0 1 pinseq=9 } T 400 400 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=or T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/nand9-1.sym0000664000175000017500000000253112204104272015133 00000000000000v 20031231 1 L 300 1200 700 1200 3 0 0 0 -1 -1 L 300 600 700 600 3 0 0 0 -1 -1 L 300 600 300 1200 3 0 0 0 -1 -1 A 700 900 300 270 180 3 0 0 0 -1 -1 L 300 1200 300 1800 3 0 0 0 -1 -1 L 300 600 300 0 3 0 0 0 -1 -1 V 1050 900 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1100 900 1300 900 1 0 1 { T 1000 900 5 8 0 0 0 0 1 pinnumber=OUT T 1000 900 5 8 0 0 0 0 1 pinseq=1 } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } P 300 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } P 300 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } P 300 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 } P 300 1100 0 1100 1 0 1 { T 300 1100 5 8 0 0 0 0 1 pinnumber=IN5 T 300 1100 5 8 0 0 0 0 1 pinseq=7 } P 300 1300 0 1300 1 0 1 { T 300 1300 5 8 0 0 0 0 1 pinnumber=IN6 T 300 1300 5 8 0 0 0 0 1 pinseq=8 } P 300 1500 0 1500 1 0 1 { T 300 1500 5 8 0 0 0 0 1 pinnumber=IN7 T 300 1500 5 8 0 0 0 0 1 pinseq=9 } P 300 1700 0 1700 1 0 1 { T 300 1700 5 8 0 0 0 0 1 pinnumber=IN8 T 300 1700 5 8 0 0 0 0 1 pinseq=10 } T 400 500 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=nand T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/and5-1.sym0000664000175000017500000000162312204104272014752 00000000000000v 20031231 1 L 300 800 700 800 3 0 0 0 -1 -1 L 300 200 700 200 3 0 0 0 -1 -1 L 300 200 300 800 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 L 300 800 300 1000 3 0 0 0 -1 -1 L 300 200 300 0 3 0 0 0 -1 -1 P 1000 500 1300 500 1 0 1 { T 1000 500 5 8 0 0 0 0 1 pinnumber=OUT T 1000 500 5 8 0 0 0 0 1 pinseq=1 } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } P 300 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } P 300 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } P 300 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 } T 400 100 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=and T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/ipad-1.sym0000664000175000017500000000051012204104272015032 00000000000000v 20031231 1 L 0 200 600 200 3 0 0 0 -1 -1 L 600 200 700 100 3 0 0 0 -1 -1 L 700 100 600 0 3 0 0 0 -1 -1 L 600 0 0 0 3 0 0 0 -1 -1 L 0 0 0 200 3 0 0 0 -1 -1 P 900 100 700 100 1 0 0 { T 170 38 5 10 1 1 0 0 1 pinnumber=IPAD T 170 38 5 10 0 0 0 0 1 pinseq=1 } T 84 221 2 10 0 1 0 0 1 device=IPAD T 700 100 5 10 1 1 0 0 1 refdes=P? geda-gaf-1.8.2/symbols/verilog/or5-1.sym0000664000175000017500000000166512204104273014637 00000000000000v 20031231 1 L 300 800 600 800 3 0 0 0 -1 -1 L 300 200 600 200 3 0 0 0 -1 -1 A 40 500 400 312 97 3 0 0 0 -1 -1 A 600 600 400 270 76 3 0 0 0 -1 -1 A 600 400 400 14 76 3 0 0 0 -1 -1 L 300 800 300 1000 3 0 0 0 -1 -1 L 300 200 300 0 3 0 0 0 -1 -1 P 1000 500 1300 500 1 0 1 { T 1000 500 5 8 0 0 0 0 1 pinnumber=OUT T 1000 500 5 8 0 0 0 0 1 pinseq=1 } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } P 300 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } P 300 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } P 300 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 } T 400 100 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=or T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/nand5-1.sym0000664000175000017500000000170012204104272015124 00000000000000v 20031231 1 L 300 800 700 800 3 0 0 0 -1 -1 L 300 200 700 200 3 0 0 0 -1 -1 L 300 200 300 800 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 L 300 800 300 1000 3 0 0 0 -1 -1 L 300 200 300 0 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1100 500 1300 500 1 0 1 { T 1000 500 5 8 0 0 0 0 1 pinnumber=OUT T 1000 500 5 8 0 0 0 0 1 pinseq=1 } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } P 300 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } P 300 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } P 300 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 } T 400 100 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=nand T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/xnor5-1.sym0000664000175000017500000000200612204104273015173 00000000000000v 20031231 1 L 400 800 600 800 3 0 0 0 -1 -1 L 400 200 600 200 3 0 0 0 -1 -1 A 40 500 400 312 97 3 0 0 0 -1 -1 A 140 500 400 312 97 3 0 0 0 -1 -1 A 600 600 400 270 76 3 0 0 0 -1 -1 A 600 400 400 14 76 3 0 0 0 -1 -1 L 300 800 300 1000 3 0 0 0 -1 -1 L 300 200 300 0 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1100 500 1300 500 1 0 1 { T 1000 500 5 8 0 0 0 0 1 pinnumber=OUT T 1000 500 5 8 0 0 0 0 1 pinseq=1 } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } P 300 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } P 300 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } P 300 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 } T 400 100 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=xnor T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/nor7-1.sym0000664000175000017500000000225712204104272015014 00000000000000v 20031231 1 L 300 1000 600 1000 3 0 0 0 -1 -1 L 300 400 600 400 3 0 0 0 -1 -1 A 40 700 400 312 97 3 0 0 0 -1 -1 A 600 800 400 270 76 3 0 0 0 -1 -1 A 600 600 400 14 76 3 0 0 0 -1 -1 L 300 1000 300 1400 3 0 0 0 -1 -1 L 300 400 300 0 3 0 0 0 -1 -1 V 1050 700 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1100 700 1300 700 1 0 1 { T 1000 700 5 8 0 0 0 0 1 pinnumber=OUT T 1000 700 5 8 0 0 0 0 1 pinseq=1 } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } P 300 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } P 300 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } P 300 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 } P 300 1100 0 1100 1 0 1 { T 300 1100 5 8 0 0 0 0 1 pinnumber=IN5 T 300 1100 5 8 0 0 0 0 1 pinseq=7 } P 300 1300 0 1300 1 0 1 { T 300 1300 5 8 0 0 0 0 1 pinnumber=IN6 T 300 1300 5 8 0 0 0 0 1 pinseq=8 } T 400 300 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=nor T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/and7-2.sym0000664000175000017500000000273612204104272014763 00000000000000v 20031231 1 L 300 1000 600 1000 3 0 0 0 -1 -1 L 300 400 600 400 3 0 0 0 -1 -1 A 40 700 400 312 97 3 0 0 0 -1 -1 A 600 800 400 270 76 3 0 0 0 -1 -1 A 600 600 400 14 76 3 0 0 0 -1 -1 L 300 1000 300 1400 3 0 0 0 -1 -1 L 300 400 300 0 3 0 0 0 -1 -1 V 1050 700 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1100 700 1300 700 1 0 1 { T 1000 700 5 8 0 0 0 0 1 pinnumber=OUT T 1000 700 5 8 0 0 0 0 1 pinseq=1 } V 250 100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } V 250 300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } V 250 500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } V 250 700 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } V 250 900 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 } V 250 1100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 1100 0 1100 1 0 1 { T 300 1100 5 8 0 0 0 0 1 pinnumber=IN5 T 300 1100 5 8 0 0 0 0 1 pinseq=7 } V 250 1300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 1300 0 1300 1 0 1 { T 300 1300 5 8 0 0 0 0 1 pinnumber=IN6 T 300 1300 5 8 0 0 0 0 1 pinseq=8 } T 400 300 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=and T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/bufif1-1.sym0000664000175000017500000000112112204104272015270 00000000000000v 20031231 1 L 300 800 800 500 3 0 0 0 -1 -1 L 800 500 300 200 3 0 0 0 -1 -1 L 300 800 300 500 3 0 0 0 -1 -1 L 300 500 300 200 3 0 0 0 -1 -1 P 300 500 0 500 1 0 1 { T 0 550 5 8 0 1 0 0 1 pinnumber=INW T 0 550 5 8 0 0 0 0 1 pinseq=2 } P 1100 500 800 500 1 0 0 { T 915 550 5 8 0 1 0 0 1 pinnumber=OUTW T 915 550 5 8 0 0 0 0 1 pinseq=1 } P 0 900 550 900 1 0 0 { T 50 950 5 10 0 1 0 0 1 pinnumber=CONTROLW T 50 950 5 10 0 0 0 0 1 pinseq=3 } L 550 900 550 650 3 0 0 0 -1 -1 T 700 750 2 10 0 0 0 0 1 VERILOG_PORTS=POSITIONAL T 650 250 2 10 0 1 0 0 1 device=bufif1 T 500 300 5 10 1 1 0 2 1 refdes=U? geda-gaf-1.8.2/symbols/verilog/and2-1.sym0000664000175000017500000000105412204104272014745 00000000000000v 20031231 1 L 300 600 700 600 3 0 0 0 -1 -1 L 300 0 700 0 3 0 0 0 -1 -1 L 300 0 300 600 3 0 0 0 -1 -1 A 700 300 300 270 180 3 0 0 0 -1 -1 P 1000 300 1300 300 1 0 1 { T 1000 300 5 8 0 0 0 0 1 pinnumber=OUT T 1000 300 5 8 0 0 0 0 1 pinseq=1 } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN1 T 300 500 5 8 0 0 0 0 1 pinseq=3 } T 400 -100 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=and T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/nand9-2.sym0000664000175000017500000000332712204104272015140 00000000000000v 20031231 1 L 300 1200 600 1200 3 0 0 0 -1 -1 L 300 600 600 600 3 0 0 0 -1 -1 A 40 900 400 312 97 3 0 0 0 -1 -1 A 600 1000 400 270 76 3 0 0 0 -1 -1 A 600 800 400 14 76 3 0 0 0 -1 -1 L 300 1200 300 1800 3 0 0 0 -1 -1 L 300 600 300 0 3 0 0 0 -1 -1 P 1000 900 1300 900 1 0 1 { T 1000 900 5 8 0 0 0 0 1 pinnumber=OUT T 1000 900 5 8 0 0 0 0 1 pinseq=1 } V 250 100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } V 250 300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } V 250 500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } V 250 700 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } V 250 900 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 } V 250 1100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 1100 0 1100 1 0 1 { T 300 1100 5 8 0 0 0 0 1 pinnumber=IN5 T 300 1100 5 8 0 0 0 0 1 pinseq=7 } V 250 1300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 1300 0 1300 1 0 1 { T 300 1300 5 8 0 0 0 0 1 pinnumber=IN6 T 300 1300 5 8 0 0 0 0 1 pinseq=8 } V 250 1500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 1500 0 1500 1 0 1 { T 300 1500 5 8 0 0 0 0 1 pinnumber=IN7 T 300 1500 5 8 0 0 0 0 1 pinseq=9 } V 250 1700 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 1700 0 1700 1 0 1 { T 300 1700 5 8 0 0 0 0 1 pinnumber=IN8 T 300 1700 5 8 0 0 0 0 1 pinseq=10 } T 400 500 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=nand T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/and4-1.sym0000664000175000017500000000145712204104272014756 00000000000000v 20031231 1 L 300 700 700 700 3 0 0 0 -1 -1 L 300 100 700 100 3 0 0 0 -1 -1 L 300 100 300 700 3 0 0 0 -1 -1 A 700 400 300 270 180 3 0 0 0 -1 -1 L 300 700 300 800 3 0 0 0 -1 -1 L 300 100 300 0 3 0 0 0 -1 -1 P 1000 400 1300 400 1 0 1 { T 1000 400 5 8 0 0 0 0 1 pinnumber=OUT T 1000 400 5 8 0 0 0 0 1 pinseq=1 } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } P 300 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } P 300 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } T 400 0 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=and T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/and7-1.sym0000664000175000017500000000214112204104272014750 00000000000000v 20031231 1 L 300 1000 700 1000 3 0 0 0 -1 -1 L 300 400 700 400 3 0 0 0 -1 -1 L 300 400 300 1000 3 0 0 0 -1 -1 A 700 700 300 270 180 3 0 0 0 -1 -1 L 300 1000 300 1400 3 0 0 0 -1 -1 L 300 400 300 0 3 0 0 0 -1 -1 P 1000 700 1300 700 1 0 1 { T 1000 700 5 8 0 0 0 0 1 pinnumber=OUT T 1000 700 5 8 0 0 0 0 1 pinseq=1 } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } P 300 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } P 300 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } P 300 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 } P 300 1100 0 1100 1 0 1 { T 300 1100 5 8 0 0 0 0 1 pinnumber=IN5 T 300 1100 5 8 0 0 0 0 1 pinseq=7 } P 300 1300 0 1300 1 0 1 { T 300 1300 5 8 0 0 0 0 1 pinnumber=IN6 T 300 1300 5 8 0 0 0 0 1 pinseq=8 } T 400 300 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=and T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/high-1.sym0000664000175000017500000000034412204104272015041 00000000000000v 20031231 1 V 100 250 50 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 T 300 300 5 10 0 1 0 0 1 device=HIGH P 100 200 100 0 1 0 1 { T 200 100 5 10 0 1 0 0 1 pinnumber=HIGH T 200 100 5 10 0 0 0 0 1 pinseq=1 } T 200 200 5 10 1 1 0 0 1 refdes=H? geda-gaf-1.8.2/symbols/verilog/or7-1.sym0000664000175000017500000000220212204104273014625 00000000000000v 20031231 1 L 300 1000 600 1000 3 0 0 0 -1 -1 L 300 400 600 400 3 0 0 0 -1 -1 A 40 700 400 312 97 3 0 0 0 -1 -1 A 600 800 400 270 76 3 0 0 0 -1 -1 A 600 600 400 14 76 3 0 0 0 -1 -1 L 300 1000 300 1400 3 0 0 0 -1 -1 L 300 400 300 0 3 0 0 0 -1 -1 P 1000 700 1300 700 1 0 1 { T 1000 700 5 8 0 0 0 0 1 pinnumber=OUT T 1000 700 5 8 0 0 0 0 1 pinseq=1 } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } P 300 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } P 300 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } P 300 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 } P 300 1100 0 1100 1 0 1 { T 300 1100 5 8 0 0 0 0 1 pinnumber=IN5 T 300 1100 5 8 0 0 0 0 1 pinseq=7 } P 300 1300 0 1300 1 0 1 { T 300 1300 5 8 0 0 0 0 1 pinnumber=IN6 T 300 1300 5 8 0 0 0 0 1 pinseq=8 } T 400 300 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=or T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/and4-2.sym0000664000175000017500000000205212204104272014747 00000000000000v 20031231 1 L 300 700 600 700 3 0 0 0 -1 -1 L 300 100 600 100 3 0 0 0 -1 -1 A 40 400 400 312 97 3 0 0 0 -1 -1 A 600 500 400 270 76 3 0 0 0 -1 -1 A 600 300 400 14 76 3 0 0 0 -1 -1 L 300 700 300 800 3 0 0 0 -1 -1 L 300 100 300 0 3 0 0 0 -1 -1 V 1050 400 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1100 400 1300 400 1 0 1 { T 1000 400 5 8 0 0 0 0 1 pinnumber=OUT T 1000 400 5 8 0 0 0 0 1 pinseq=1 } V 250 100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } V 250 300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } V 250 500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } V 250 700 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } T 400 0 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=and T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/nor2-1.sym0000664000175000017500000000117512204104272015005 00000000000000v 20031231 1 L 300 600 600 600 3 0 0 0 -1 -1 L 300 0 600 0 3 0 0 0 -1 -1 A 40 300 400 312 97 3 0 0 0 -1 -1 A 600 400 400 270 76 3 0 0 0 -1 -1 A 600 200 400 14 76 3 0 0 0 -1 -1 V 1050 300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1100 300 1300 300 1 0 1 { T 1000 300 5 8 0 0 0 0 1 pinnumber=OUT T 1000 300 5 8 0 0 0 0 1 pinseq=1 } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN1 T 300 500 5 8 0 0 0 0 1 pinseq=3 } T 400 -100 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=nor T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/nand8-1.sym0000664000175000017500000000236312204104272015135 00000000000000v 20031231 1 L 300 1100 700 1100 3 0 0 0 -1 -1 L 300 500 700 500 3 0 0 0 -1 -1 L 300 500 300 1100 3 0 0 0 -1 -1 A 700 800 300 270 180 3 0 0 0 -1 -1 L 300 1100 300 1600 3 0 0 0 -1 -1 L 300 500 300 0 3 0 0 0 -1 -1 V 1050 800 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1100 800 1300 800 1 0 1 { T 1000 800 5 8 0 0 0 0 1 pinnumber=OUT T 1000 800 5 8 0 0 0 0 1 pinseq=1 } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } P 300 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } P 300 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } P 300 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 } P 300 1100 0 1100 1 0 1 { T 300 1100 5 8 0 0 0 0 1 pinnumber=IN5 T 300 1100 5 8 0 0 0 0 1 pinseq=7 } P 300 1300 0 1300 1 0 1 { T 300 1300 5 8 0 0 0 0 1 pinnumber=IN6 T 300 1300 5 8 0 0 0 0 1 pinseq=8 } P 300 1500 0 1500 1 0 1 { T 300 1500 5 8 0 0 0 0 1 pinnumber=IN7 T 300 1500 5 8 0 0 0 0 1 pinseq=9 } T 400 400 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=nand T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/bufif0-1.sym0000664000175000017500000000117412204104272015277 00000000000000v 20031231 1 L 300 800 800 500 3 0 0 0 -1 -1 L 800 500 300 200 3 0 0 0 -1 -1 L 300 800 300 500 3 0 0 0 -1 -1 L 300 500 300 200 3 0 0 0 -1 -1 P 300 500 0 500 1 0 1 { T 0 550 5 8 0 1 0 0 1 pinnumber=INW T 0 550 5 8 0 0 0 0 1 pinseq=2 } P 1100 500 800 500 1 0 0 { T 915 550 5 8 0 1 0 0 1 pinnumber=OUTW T 915 550 5 8 0 0 0 0 1 pinseq=1 } V 550 700 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 0 900 550 900 1 0 0 { T 50 950 5 10 0 1 0 0 1 pinnumber=CONTROLW T 50 950 5 10 0 0 0 0 1 pinseq=3 } L 550 900 550 750 3 0 0 0 -1 -1 T 700 750 2 10 0 0 0 0 1 VERILOG_PORTS=POSITIONAL T 650 250 2 10 0 1 0 0 1 device=bufif0 T 500 300 5 10 1 1 0 2 1 refdes=U? geda-gaf-1.8.2/symbols/verilog/nor7-2.sym0000664000175000017500000000262012204104272015007 00000000000000v 20031231 1 L 300 1000 700 1000 3 0 0 0 -1 -1 L 300 400 700 400 3 0 0 0 -1 -1 L 300 400 300 1000 3 0 0 0 -1 -1 A 700 700 300 270 180 3 0 0 0 -1 -1 L 300 1000 300 1400 3 0 0 0 -1 -1 L 300 400 300 0 3 0 0 0 -1 -1 P 1000 700 1300 700 1 0 1 { T 1000 700 5 8 0 0 0 0 1 pinnumber=OUT T 1000 700 5 8 0 0 0 0 1 pinseq=1 } V 250 100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } V 250 300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } V 250 500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } V 250 700 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } V 250 900 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 } V 250 1100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 1100 0 1100 1 0 1 { T 300 1100 5 8 0 0 0 0 1 pinnumber=IN5 T 300 1100 5 8 0 0 0 0 1 pinseq=7 } V 250 1300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 1300 0 1300 1 0 1 { T 300 1300 5 8 0 0 0 0 1 pinnumber=IN6 T 300 1300 5 8 0 0 0 0 1 pinseq=8 } T 400 300 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=nor T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/or6-2.sym0000664000175000017500000000244612204104273014637 00000000000000v 20031231 1 L 300 900 700 900 3 0 0 0 -1 -1 L 300 300 700 300 3 0 0 0 -1 -1 L 300 300 300 900 3 0 0 0 -1 -1 A 700 600 300 270 180 3 0 0 0 -1 -1 L 300 900 300 1200 3 0 0 0 -1 -1 L 300 300 300 0 3 0 0 0 -1 -1 V 1050 600 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1100 600 1300 600 1 0 1 { T 1000 600 5 8 0 0 0 0 1 pinnumber=OUT T 1000 600 5 8 0 0 0 0 1 pinseq=1 } V 250 100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } V 250 300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } V 250 500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } V 250 700 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } V 250 900 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 } V 250 1100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 1100 0 1100 1 0 1 { T 300 1100 5 8 0 0 0 0 1 pinnumber=IN5 T 300 1100 5 8 0 0 0 0 1 pinseq=7 } T 400 200 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=or T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/nand3-1.sym0000664000175000017500000000127212204104272015126 00000000000000v 20031231 1 L 300 600 700 600 3 0 0 0 -1 -1 L 300 0 700 0 3 0 0 0 -1 -1 L 300 0 300 600 3 0 0 0 -1 -1 A 700 300 300 270 180 3 0 0 0 -1 -1 V 1050 300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1100 300 1300 300 1 0 1 { T 1000 300 5 8 0 0 0 0 1 pinnumber=OUT T 1000 300 5 8 0 0 0 0 1 pinseq=1 } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } P 300 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } T 400 -100 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=nand T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/block_pos-1.sym0000664000175000017500000000202212204104272016070 00000000000000v 20031231 1 B 300 300 1500 1500 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 T 2000 1675 2 10 0 0 0 0 1 device=BLOCK T 2000 1875 2 10 0 0 0 0 1 VERILOG_PORTS=POSITIONAL T 300 1850 9 10 1 0 0 0 1 BLOCK T 350 1450 9 8 0 0 0 0 1 IO1 P 300 1500 0 1500 1 0 1 { T -88 1550 5 8 1 1 0 0 1 pinnumber=IO1 T -88 1550 5 8 0 0 0 0 1 pinseq=1 } T 350 1150 9 8 0 0 0 0 1 IO2 P 300 1200 0 1200 1 0 1 { T -88 1250 5 8 1 1 0 0 1 pinnumber=IO2 T -88 1250 5 8 0 0 0 0 1 pinseq=2 } T 350 850 9 8 0 0 0 0 1 INPUT1 P 300 900 0 900 1 0 1 { T -376 950 5 8 1 1 0 0 1 pinnumber=INPUT1 T -376 950 5 8 0 0 0 0 1 pinseq=3 } T 350 550 9 8 0 0 0 0 1 INPUT2 P 300 600 0 600 1 0 1 { T -376 650 5 8 1 1 0 0 1 pinnumber=INPUT2 T -376 650 5 8 0 0 0 0 1 pinseq=4 } T 1078 1150 9 8 0 0 0 0 1 OUTPUT1 P 1800 1200 2100 1200 1 0 1 { T 1900 1250 5 8 1 1 0 0 1 pinnumber=OUTPUT1 T 1900 1250 5 8 0 0 0 0 1 pinseq=5 } T 1078 850 9 8 0 0 0 0 1 OUTPUT2 V 1850 900 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1900 900 2100 900 1 0 1 { T 1900 950 5 8 1 1 0 0 1 pinnumber=OUTPUT2 T 1900 950 5 8 0 0 0 0 1 pinseq=6 } geda-gaf-1.8.2/symbols/verilog/or4-2.sym0000664000175000017500000000200612204104273014625 00000000000000v 20031231 1 L 300 700 700 700 3 0 0 0 -1 -1 L 300 100 700 100 3 0 0 0 -1 -1 L 300 100 300 700 3 0 0 0 -1 -1 A 700 400 300 270 180 3 0 0 0 -1 -1 L 300 700 300 800 3 0 0 0 -1 -1 L 300 100 300 0 3 0 0 0 -1 -1 V 1050 400 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1100 400 1300 400 1 0 1 { T 1000 400 5 8 0 0 0 0 1 pinnumber=OUT T 1000 400 5 8 0 0 0 0 1 pinseq=1 } V 250 100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } V 250 300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } V 250 500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } V 250 700 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } T 400 0 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=or T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/and6-1.sym0000664000175000017500000000177012204104272014756 00000000000000v 20031231 1 L 300 900 700 900 3 0 0 0 -1 -1 L 300 300 700 300 3 0 0 0 -1 -1 L 300 300 300 900 3 0 0 0 -1 -1 A 700 600 300 270 180 3 0 0 0 -1 -1 L 300 900 300 1200 3 0 0 0 -1 -1 L 300 300 300 0 3 0 0 0 -1 -1 P 1000 600 1300 600 1 0 1 { T 1000 600 5 8 0 0 0 0 1 pinnumber=OUT T 1000 600 5 8 0 0 0 0 1 pinseq=1 } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } P 300 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } P 300 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } P 300 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 } P 300 1100 0 1100 1 0 1 { T 300 1100 5 8 0 0 0 0 1 pinnumber=IN5 T 300 1100 5 8 0 0 0 0 1 pinseq=7 } T 400 200 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=and T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/nor6-1.sym0000664000175000017500000000210712204104272015005 00000000000000v 20031231 1 L 300 900 600 900 3 0 0 0 -1 -1 L 300 300 600 300 3 0 0 0 -1 -1 A 40 600 400 312 97 3 0 0 0 -1 -1 A 600 700 400 270 76 3 0 0 0 -1 -1 A 600 500 400 14 76 3 0 0 0 -1 -1 L 300 900 300 1200 3 0 0 0 -1 -1 L 300 300 300 0 3 0 0 0 -1 -1 V 1050 600 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1100 600 1300 600 1 0 1 { T 1000 600 5 8 0 0 0 0 1 pinnumber=OUT T 1000 600 5 8 0 0 0 0 1 pinseq=1 } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } P 300 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } P 300 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } P 300 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 } P 300 1100 0 1100 1 0 1 { T 300 1100 5 8 0 0 0 0 1 pinnumber=IN5 T 300 1100 5 8 0 0 0 0 1 pinseq=7 } T 400 200 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=nor T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/or4-1.sym0000664000175000017500000000152112204104272014624 00000000000000v 20031231 1 L 300 700 600 700 3 0 0 0 -1 -1 L 300 100 600 100 3 0 0 0 -1 -1 A 40 400 400 312 97 3 0 0 0 -1 -1 A 600 500 400 270 76 3 0 0 0 -1 -1 A 600 300 400 14 76 3 0 0 0 -1 -1 L 300 700 300 800 3 0 0 0 -1 -1 L 300 100 300 0 3 0 0 0 -1 -1 P 1000 400 1300 400 1 0 1 { T 1000 400 5 8 0 0 0 0 1 pinnumber=OUT T 1000 400 5 8 0 0 0 0 1 pinseq=1 } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } P 300 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } P 300 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } T 400 0 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=or T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/and8-2.sym0000664000175000017500000000315712204104272014762 00000000000000v 20031231 1 L 300 1100 600 1100 3 0 0 0 -1 -1 L 300 500 600 500 3 0 0 0 -1 -1 A 40 800 400 312 97 3 0 0 0 -1 -1 A 600 900 400 270 76 3 0 0 0 -1 -1 A 600 700 400 14 76 3 0 0 0 -1 -1 L 300 1100 300 1600 3 0 0 0 -1 -1 L 300 500 300 0 3 0 0 0 -1 -1 V 1050 800 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1100 800 1300 800 1 0 1 { T 1000 800 5 8 0 0 0 0 1 pinnumber=OUT T 1000 800 5 8 0 0 0 0 1 pinseq=1 } V 250 100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } V 250 300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } V 250 500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } V 250 700 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } V 250 900 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 } V 250 1100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 1100 0 1100 1 0 1 { T 300 1100 5 8 0 0 0 0 1 pinnumber=IN5 T 300 1100 5 8 0 0 0 0 1 pinseq=7 } V 250 1300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 1300 0 1300 1 0 1 { T 300 1300 5 8 0 0 0 0 1 pinnumber=IN6 T 300 1300 5 8 0 0 0 0 1 pinseq=8 } V 250 1500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 1500 0 1500 1 0 1 { T 300 1500 5 8 0 0 0 0 1 pinnumber=IN7 T 300 1500 5 8 0 0 0 0 1 pinseq=9 } T 400 400 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=and T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/nand8-2.sym0000664000175000017500000000310412204104272015130 00000000000000v 20031231 1 L 300 1100 600 1100 3 0 0 0 -1 -1 L 300 500 600 500 3 0 0 0 -1 -1 A 40 800 400 312 97 3 0 0 0 -1 -1 A 600 900 400 270 76 3 0 0 0 -1 -1 A 600 700 400 14 76 3 0 0 0 -1 -1 L 300 1100 300 1600 3 0 0 0 -1 -1 L 300 500 300 0 3 0 0 0 -1 -1 P 1000 800 1300 800 1 0 1 { T 1000 800 5 8 0 0 0 0 1 pinnumber=OUT T 1000 800 5 8 0 0 0 0 1 pinseq=1 } V 250 100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } V 250 300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } V 250 500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } V 250 700 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } V 250 900 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 } V 250 1100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 1100 0 1100 1 0 1 { T 300 1100 5 8 0 0 0 0 1 pinnumber=IN5 T 300 1100 5 8 0 0 0 0 1 pinseq=7 } V 250 1300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 1300 0 1300 1 0 1 { T 300 1300 5 8 0 0 0 0 1 pinnumber=IN6 T 300 1300 5 8 0 0 0 0 1 pinseq=8 } V 250 1500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 1500 0 1500 1 0 1 { T 300 1500 5 8 0 0 0 0 1 pinnumber=IN7 T 300 1500 5 8 0 0 0 0 1 pinseq=9 } T 400 400 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=nand T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/xor6-1.sym0000664000175000017500000000207612204104273015025 00000000000000v 20031231 1 L 400 900 600 900 3 0 0 0 -1 -1 L 400 300 600 300 3 0 0 0 -1 -1 A 40 600 400 312 97 3 0 0 0 -1 -1 A 140 600 400 312 97 3 0 0 0 -1 -1 A 600 700 400 270 76 3 0 0 0 -1 -1 A 600 500 400 14 76 3 0 0 0 -1 -1 L 300 900 300 1200 3 0 0 0 -1 -1 L 300 300 300 0 3 0 0 0 -1 -1 P 1000 600 1300 600 1 0 1 { T 1000 600 5 8 0 0 0 0 1 pinnumber=OUT T 1000 600 5 8 0 0 0 0 1 pinseq=1 } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } P 300 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } P 300 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } P 300 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 } P 300 1100 0 1100 1 0 1 { T 300 1100 5 8 0 0 0 0 1 pinnumber=IN5 T 300 1100 5 8 0 0 0 0 1 pinseq=7 } T 400 200 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=xor T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/pullup-1.sym0000664000175000017500000000066612204104273015453 00000000000000v 20031231 1 P 100 50 100 0 1 0 1 { T 150 0 5 10 0 1 0 0 1 pinnumber=PULL T 150 0 5 10 0 0 0 0 1 pinseq=1 } L 100 50 0 90 3 0 0 0 -1 -1 L 0 90 200 130 3 0 0 0 -1 -1 L 200 130 0 180 3 0 0 0 -1 -1 L 0 180 200 220 3 0 0 0 -1 -1 L 200 220 100 250 3 0 0 0 -1 -1 L 100 300 100 250 3 0 0 0 -1 -1 T 200 -150 2 10 0 0 0 0 1 VERILOG_PORTS=POSITIONAL L 50 250 100 300 3 0 0 0 -1 -1 L 100 300 150 250 3 0 0 0 -1 -1 T 200 100 5 10 1 1 0 0 1 refdes=H? geda-gaf-1.8.2/symbols/verilog/nor3-1.sym0000664000175000017500000000133612204104272015005 00000000000000v 20031231 1 L 300 600 600 600 3 0 0 0 -1 -1 L 300 0 600 0 3 0 0 0 -1 -1 A 40 300 400 312 97 3 0 0 0 -1 -1 A 600 400 400 270 76 3 0 0 0 -1 -1 A 600 200 400 14 76 3 0 0 0 -1 -1 V 1050 300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1100 300 1300 300 1 0 1 { T 1000 300 5 8 0 0 0 0 1 pinnumber=OUT T 1000 300 5 8 0 0 0 0 1 pinseq=1 } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } P 300 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } T 400 -100 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=nor T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/xnor9-1.sym0000664000175000017500000000263712204104273015211 00000000000000v 20031231 1 L 400 1200 600 1200 3 0 0 0 -1 -1 L 400 600 600 600 3 0 0 0 -1 -1 A 40 900 400 312 97 3 0 0 0 -1 -1 A 140 900 400 312 97 3 0 0 0 -1 -1 A 600 1000 400 270 76 3 0 0 0 -1 -1 A 600 800 400 14 76 3 0 0 0 -1 -1 L 300 1200 300 1800 3 0 0 0 -1 -1 L 300 600 300 0 3 0 0 0 -1 -1 V 1050 900 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1100 900 1300 900 1 0 1 { T 1000 900 5 8 0 0 0 0 1 pinnumber=OUT T 1000 900 5 8 0 0 0 0 1 pinseq=1 } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } P 300 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } P 300 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } P 300 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 } P 300 1100 0 1100 1 0 1 { T 300 1100 5 8 0 0 0 0 1 pinnumber=IN5 T 300 1100 5 8 0 0 0 0 1 pinseq=7 } P 300 1300 0 1300 1 0 1 { T 300 1300 5 8 0 0 0 0 1 pinnumber=IN6 T 300 1300 5 8 0 0 0 0 1 pinseq=8 } P 300 1500 0 1500 1 0 1 { T 300 1500 5 8 0 0 0 0 1 pinnumber=IN7 T 300 1500 5 8 0 0 0 0 1 pinseq=9 } P 300 1700 0 1700 1 0 1 { T 300 1700 5 8 0 0 0 0 1 pinnumber=IN8 T 300 1700 5 8 0 0 0 0 1 pinseq=10 } T 400 500 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=xnor T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/xor5-1.sym0000664000175000017500000000173112204104273015021 00000000000000v 20031231 1 L 400 800 600 800 3 0 0 0 -1 -1 L 400 200 600 200 3 0 0 0 -1 -1 A 40 500 400 312 97 3 0 0 0 -1 -1 A 140 500 400 312 97 3 0 0 0 -1 -1 A 600 600 400 270 76 3 0 0 0 -1 -1 A 600 400 400 14 76 3 0 0 0 -1 -1 L 300 800 300 1000 3 0 0 0 -1 -1 L 300 200 300 0 3 0 0 0 -1 -1 P 1000 500 1300 500 1 0 1 { T 1000 500 5 8 0 0 0 0 1 pinnumber=OUT T 1000 500 5 8 0 0 0 0 1 pinseq=1 } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } P 300 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } P 300 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } P 300 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 } T 400 100 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=xor T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/or3-2.sym0000664000175000017500000000147112204104272014630 00000000000000v 20031231 1 L 300 600 700 600 3 0 0 0 -1 -1 L 300 0 700 0 3 0 0 0 -1 -1 L 300 0 300 600 3 0 0 0 -1 -1 A 700 300 300 270 180 3 0 0 0 -1 -1 V 1050 300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1100 300 1300 300 1 0 1 { T 1000 300 5 8 0 0 0 0 1 pinnumber=OUT T 1000 300 5 8 0 0 0 0 1 pinseq=1 } V 250 100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } V 250 300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } V 250 500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } T 400 -100 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=or T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/or9-2.sym0000664000175000017500000000333612204104273014641 00000000000000v 20031231 1 L 300 1200 700 1200 3 0 0 0 -1 -1 L 300 600 700 600 3 0 0 0 -1 -1 L 300 600 300 1200 3 0 0 0 -1 -1 A 700 900 300 270 180 3 0 0 0 -1 -1 L 300 1200 300 1800 3 0 0 0 -1 -1 L 300 600 300 0 3 0 0 0 -1 -1 V 1050 900 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1100 900 1300 900 1 0 1 { T 1000 900 5 8 0 0 0 0 1 pinnumber=OUT T 1000 900 5 8 0 0 0 0 1 pinseq=1 } V 250 100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } V 250 300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } V 250 500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } V 250 700 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } V 250 900 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 } V 250 1100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 1100 0 1100 1 0 1 { T 300 1100 5 8 0 0 0 0 1 pinnumber=IN5 T 300 1100 5 8 0 0 0 0 1 pinseq=7 } V 250 1300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 1300 0 1300 1 0 1 { T 300 1300 5 8 0 0 0 0 1 pinnumber=IN6 T 300 1300 5 8 0 0 0 0 1 pinseq=8 } V 250 1500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 1500 0 1500 1 0 1 { T 300 1500 5 8 0 0 0 0 1 pinnumber=IN7 T 300 1500 5 8 0 0 0 0 1 pinseq=9 } V 250 1700 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 1700 0 1700 1 0 1 { T 300 1700 5 8 0 0 0 0 1 pinnumber=IN8 T 300 1700 5 8 0 0 0 0 1 pinseq=10 } T 400 500 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=or T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/xor9-1.sym0000664000175000017500000000256212204104273015030 00000000000000v 20031231 1 L 400 1200 600 1200 3 0 0 0 -1 -1 L 400 600 600 600 3 0 0 0 -1 -1 A 40 900 400 312 97 3 0 0 0 -1 -1 A 140 900 400 312 97 3 0 0 0 -1 -1 A 600 1000 400 270 76 3 0 0 0 -1 -1 A 600 800 400 14 76 3 0 0 0 -1 -1 L 300 1200 300 1800 3 0 0 0 -1 -1 L 300 600 300 0 3 0 0 0 -1 -1 P 1000 900 1300 900 1 0 1 { T 1000 900 5 8 0 0 0 0 1 pinnumber=OUT T 1000 900 5 8 0 0 0 0 1 pinseq=1 } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } P 300 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } P 300 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } P 300 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 } P 300 1100 0 1100 1 0 1 { T 300 1100 5 8 0 0 0 0 1 pinnumber=IN5 T 300 1100 5 8 0 0 0 0 1 pinseq=7 } P 300 1300 0 1300 1 0 1 { T 300 1300 5 8 0 0 0 0 1 pinnumber=IN6 T 300 1300 5 8 0 0 0 0 1 pinseq=8 } P 300 1500 0 1500 1 0 1 { T 300 1500 5 8 0 0 0 0 1 pinnumber=IN7 T 300 1500 5 8 0 0 0 0 1 pinseq=9 } P 300 1700 0 1700 1 0 1 { T 300 1700 5 8 0 0 0 0 1 pinnumber=IN8 T 300 1700 5 8 0 0 0 0 1 pinseq=10 } T 400 500 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=xor T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/nand6-1.sym0000664000175000017500000000204512204104272015130 00000000000000v 20031231 1 L 300 900 700 900 3 0 0 0 -1 -1 L 300 300 700 300 3 0 0 0 -1 -1 L 300 300 300 900 3 0 0 0 -1 -1 A 700 600 300 270 180 3 0 0 0 -1 -1 L 300 900 300 1200 3 0 0 0 -1 -1 L 300 300 300 0 3 0 0 0 -1 -1 V 1050 600 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1100 600 1300 600 1 0 1 { T 1000 600 5 8 0 0 0 0 1 pinnumber=OUT T 1000 600 5 8 0 0 0 0 1 pinseq=1 } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } P 300 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } P 300 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } P 300 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 } P 300 1100 0 1100 1 0 1 { T 300 1100 5 8 0 0 0 0 1 pinnumber=IN5 T 300 1100 5 8 0 0 0 0 1 pinseq=7 } T 400 200 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=nand T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/nand2-1.sym0000664000175000017500000000113112204104272015117 00000000000000v 20031231 1 L 300 0 700 0 3 0 0 0 -1 -1 L 300 0 300 600 3 0 0 0 -1 -1 A 700 300 300 270 180 3 0 0 0 -1 -1 V 1050 300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1100 300 1300 300 1 0 1 { T 1000 300 5 8 0 0 0 0 1 pinnumber=OUT T 1000 300 5 8 0 0 0 0 1 pinseq=1 } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN1 T 300 500 5 8 0 0 0 0 1 pinseq=3 } T 400 -100 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=nand T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL L 300 600 700 600 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/verilog/or2-2.sym0000664000175000017500000000125512204104272014627 00000000000000v 20031231 1 L 300 600 700 600 3 0 0 0 -1 -1 L 300 0 700 0 3 0 0 0 -1 -1 L 300 0 300 600 3 0 0 0 -1 -1 A 700 300 300 270 180 3 0 0 0 -1 -1 V 1050 300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1100 300 1300 300 1 0 1 { T 1000 300 5 8 0 0 0 0 1 pinnumber=OUT T 1000 300 5 8 0 0 0 0 1 pinseq=1 } V 250 100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } V 250 500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN1 T 300 500 5 8 0 0 0 0 1 pinseq=3 } T 400 -100 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=or T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/or3-1.sym0000664000175000017500000000126112204104272014624 00000000000000v 20031231 1 L 300 600 600 600 3 0 0 0 -1 -1 L 300 0 600 0 3 0 0 0 -1 -1 A 40 300 400 312 97 3 0 0 0 -1 -1 A 600 400 400 270 76 3 0 0 0 -1 -1 A 600 200 400 14 76 3 0 0 0 -1 -1 P 1000 300 1300 300 1 0 1 { T 1000 300 5 8 0 0 0 0 1 pinnumber=OUT T 1000 300 5 8 0 0 0 0 1 pinseq=1 } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } P 300 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } T 400 -100 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=or T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/nor5-1.sym0000664000175000017500000000174212204104272015010 00000000000000v 20031231 1 L 300 800 600 800 3 0 0 0 -1 -1 L 300 200 600 200 3 0 0 0 -1 -1 A 40 500 400 312 97 3 0 0 0 -1 -1 A 600 600 400 270 76 3 0 0 0 -1 -1 A 600 400 400 14 76 3 0 0 0 -1 -1 L 300 800 300 1000 3 0 0 0 -1 -1 L 300 200 300 0 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1100 500 1300 500 1 0 1 { T 1000 500 5 8 0 0 0 0 1 pinnumber=OUT T 1000 500 5 8 0 0 0 0 1 pinseq=1 } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } P 300 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } P 300 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } P 300 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 } T 400 100 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=nor T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/nor8-1.sym0000664000175000017500000000242412204104272015011 00000000000000v 20031231 1 L 300 1100 600 1100 3 0 0 0 -1 -1 L 300 500 600 500 3 0 0 0 -1 -1 A 40 800 400 312 97 3 0 0 0 -1 -1 A 600 900 400 270 76 3 0 0 0 -1 -1 A 600 700 400 14 76 3 0 0 0 -1 -1 L 300 1100 300 1600 3 0 0 0 -1 -1 L 300 500 300 0 3 0 0 0 -1 -1 V 1050 800 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1100 800 1300 800 1 0 1 { T 1000 800 5 8 0 0 0 0 1 pinnumber=OUT T 1000 800 5 8 0 0 0 0 1 pinseq=1 } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } P 300 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } P 300 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } P 300 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 } P 300 1100 0 1100 1 0 1 { T 300 1100 5 8 0 0 0 0 1 pinnumber=IN5 T 300 1100 5 8 0 0 0 0 1 pinseq=7 } P 300 1300 0 1300 1 0 1 { T 300 1300 5 8 0 0 0 0 1 pinnumber=IN6 T 300 1300 5 8 0 0 0 0 1 pinseq=8 } P 300 1500 0 1500 1 0 1 { T 300 1500 5 8 0 0 0 0 1 pinnumber=IN7 T 300 1500 5 8 0 0 0 0 1 pinseq=9 } T 400 400 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=nor T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/nor4-1.sym0000664000175000017500000000157612204104272015014 00000000000000v 20031231 1 L 300 700 600 700 3 0 0 0 -1 -1 L 300 100 600 100 3 0 0 0 -1 -1 A 40 400 400 312 97 3 0 0 0 -1 -1 A 600 500 400 270 76 3 0 0 0 -1 -1 A 600 300 400 14 76 3 0 0 0 -1 -1 L 300 700 300 800 3 0 0 0 -1 -1 L 300 100 300 0 3 0 0 0 -1 -1 V 1050 400 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1100 400 1300 400 1 0 1 { T 1000 400 5 8 0 0 0 0 1 pinnumber=OUT T 1000 400 5 8 0 0 0 0 1 pinseq=1 } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } P 300 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } P 300 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } T 400 0 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=nor T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/or8-1.sym0000664000175000017500000000234712204104273014640 00000000000000v 20031231 1 L 300 1100 600 1100 3 0 0 0 -1 -1 L 300 500 600 500 3 0 0 0 -1 -1 A 40 800 400 312 97 3 0 0 0 -1 -1 A 600 900 400 270 76 3 0 0 0 -1 -1 A 600 700 400 14 76 3 0 0 0 -1 -1 L 300 1100 300 1600 3 0 0 0 -1 -1 L 300 500 300 0 3 0 0 0 -1 -1 P 1000 800 1300 800 1 0 1 { T 1000 800 5 8 0 0 0 0 1 pinnumber=OUT T 1000 800 5 8 0 0 0 0 1 pinseq=1 } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } P 300 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } P 300 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } P 300 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 } P 300 1100 0 1100 1 0 1 { T 300 1100 5 8 0 0 0 0 1 pinnumber=IN5 T 300 1100 5 8 0 0 0 0 1 pinseq=7 } P 300 1300 0 1300 1 0 1 { T 300 1300 5 8 0 0 0 0 1 pinnumber=IN6 T 300 1300 5 8 0 0 0 0 1 pinseq=8 } P 300 1500 0 1500 1 0 1 { T 300 1500 5 8 0 0 0 0 1 pinnumber=IN7 T 300 1500 5 8 0 0 0 0 1 pinseq=9 } T 400 400 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=or T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/buf-1.sym0000664000175000017500000000071312204104272014676 00000000000000v 20031231 1 L 300 800 800 500 3 0 0 0 -1 -1 L 800 500 300 200 3 0 0 0 -1 -1 L 300 800 300 500 3 0 0 0 -1 -1 L 300 500 300 200 3 0 0 0 -1 -1 P 1100 500 800 500 1 0 0 { T 915 550 5 8 0 1 0 0 1 pinnumber=OUT T 915 550 5 8 0 0 0 0 1 pinseq=1 } P 300 500 0 500 1 0 1 { T 100 550 5 8 0 1 0 0 1 pinnumber=IN T 100 550 5 8 0 0 0 0 1 pinseq=2 } T 200 900 2 10 0 0 0 0 1 VERILOG_PORTS=POSITIONAL T 200 1000 2 10 0 0 0 0 1 device=buf T 500 300 5 10 1 1 0 2 1 refdes=U? geda-gaf-1.8.2/symbols/verilog/xnor2-1.sym0000664000175000017500000000124112204104273015170 00000000000000v 20031231 1 L 400 600 600 600 3 0 0 0 -1 -1 L 400 0 600 0 3 0 0 0 -1 -1 A 40 300 400 312 97 3 0 0 0 -1 -1 A 140 300 400 312 97 3 0 0 0 -1 -1 A 600 400 400 270 76 3 0 0 0 -1 -1 A 600 200 400 14 76 3 0 0 0 -1 -1 V 1050 300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1100 300 1300 300 1 0 1 { T 1000 300 5 8 0 0 0 0 1 pinnumber=OUT T 1000 300 5 8 0 0 0 0 1 pinseq=1 } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN1 T 300 500 5 8 0 0 0 0 1 pinseq=3 } T 400 -100 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=xnor T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/not-1.sym0000664000175000017500000000076612204104272014732 00000000000000v 20031231 1 L 300 800 800 500 3 0 0 0 -1 -1 L 800 500 300 200 3 0 0 0 -1 -1 L 300 800 300 500 3 0 0 0 -1 -1 L 300 500 300 200 3 0 0 0 -1 -1 V 850 500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1100 500 900 500 1 0 0 { T 915 550 5 8 0 1 0 0 1 pinnumber=OUT T 915 550 5 8 0 0 0 0 1 pinseq=1 } P 300 500 0 500 1 0 1 { T 100 550 5 8 0 1 0 0 1 pinnumber=IN T 100 550 5 8 0 0 0 0 1 pinseq=2 } T 200 900 2 10 0 0 0 0 1 VERILOG_PORTS=POSITIONAL T 200 1000 2 10 0 0 0 0 1 device=not T 500 300 5 10 1 1 0 2 1 refdes=U? geda-gaf-1.8.2/symbols/verilog/and5-2.sym0000664000175000017500000000227112204104272014753 00000000000000v 20031231 1 L 300 800 600 800 3 0 0 0 -1 -1 L 300 200 600 200 3 0 0 0 -1 -1 A 40 500 400 312 97 3 0 0 0 -1 -1 A 600 600 400 270 76 3 0 0 0 -1 -1 A 600 400 400 14 76 3 0 0 0 -1 -1 L 300 800 300 1000 3 0 0 0 -1 -1 L 300 200 300 0 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1100 500 1300 500 1 0 1 { T 1000 500 5 8 0 0 0 0 1 pinnumber=OUT T 1000 500 5 8 0 0 0 0 1 pinseq=1 } V 250 100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } V 250 300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } V 250 500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } V 250 700 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } V 250 900 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 } T 400 100 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=and T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/or6-1.sym0000664000175000017500000000203212204104273014625 00000000000000v 20031231 1 L 300 900 600 900 3 0 0 0 -1 -1 L 300 300 600 300 3 0 0 0 -1 -1 A 40 600 400 312 97 3 0 0 0 -1 -1 A 600 700 400 270 76 3 0 0 0 -1 -1 A 600 500 400 14 76 3 0 0 0 -1 -1 L 300 900 300 1200 3 0 0 0 -1 -1 L 300 300 300 0 3 0 0 0 -1 -1 P 1000 600 1300 600 1 0 1 { T 1000 600 5 8 0 0 0 0 1 pinnumber=OUT T 1000 600 5 8 0 0 0 0 1 pinseq=1 } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } P 300 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } P 300 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } P 300 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 } P 300 1100 0 1100 1 0 1 { T 300 1100 5 8 0 0 0 0 1 pinnumber=IN5 T 300 1100 5 8 0 0 0 0 1 pinseq=7 } T 400 200 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=or T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/or9-1.sym0000664000175000017500000000251612204104273014637 00000000000000v 20031231 1 L 300 1200 600 1200 3 0 0 0 -1 -1 L 300 600 600 600 3 0 0 0 -1 -1 A 40 900 400 312 97 3 0 0 0 -1 -1 A 600 1000 400 270 76 3 0 0 0 -1 -1 A 600 800 400 14 76 3 0 0 0 -1 -1 L 300 1200 300 1800 3 0 0 0 -1 -1 L 300 600 300 0 3 0 0 0 -1 -1 P 1000 900 1300 900 1 0 1 { T 1000 900 5 8 0 0 0 0 1 pinnumber=OUT T 1000 900 5 8 0 0 0 0 1 pinseq=1 } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } P 300 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } P 300 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } P 300 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 } P 300 1100 0 1100 1 0 1 { T 300 1100 5 8 0 0 0 0 1 pinnumber=IN5 T 300 1100 5 8 0 0 0 0 1 pinseq=7 } P 300 1300 0 1300 1 0 1 { T 300 1300 5 8 0 0 0 0 1 pinnumber=IN6 T 300 1300 5 8 0 0 0 0 1 pinseq=8 } P 300 1500 0 1500 1 0 1 { T 300 1500 5 8 0 0 0 0 1 pinnumber=IN7 T 300 1500 5 8 0 0 0 0 1 pinseq=9 } P 300 1700 0 1700 1 0 1 { T 300 1700 5 8 0 0 0 0 1 pinnumber=IN8 T 300 1700 5 8 0 0 0 0 1 pinseq=10 } T 400 500 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=or T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/xor4-1.sym0000664000175000017500000000156512204104273015025 00000000000000v 20031231 1 L 400 700 600 700 3 0 0 0 -1 -1 L 400 100 600 100 3 0 0 0 -1 -1 A 40 400 400 312 97 3 0 0 0 -1 -1 A 140 400 400 312 97 3 0 0 0 -1 -1 A 600 500 400 270 76 3 0 0 0 -1 -1 A 600 300 400 14 76 3 0 0 0 -1 -1 L 300 700 300 800 3 0 0 0 -1 -1 L 300 100 300 0 3 0 0 0 -1 -1 P 1000 400 1300 400 1 0 1 { T 1000 400 5 8 0 0 0 0 1 pinnumber=OUT T 1000 400 5 8 0 0 0 0 1 pinseq=1 } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } P 300 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } P 300 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } T 400 0 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=xor T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/iopad-1.sym0000664000175000017500000000056012204104272015216 00000000000000v 20031231 1 L 800 100 700 0 3 0 0 0 -1 -1 L 700 0 100 0 3 0 0 0 -1 -1 L 100 0 0 100 3 0 0 0 -1 -1 L 0 100 100 200 3 0 0 0 -1 -1 L 100 200 700 200 3 0 0 0 -1 -1 L 700 200 800 100 3 0 0 0 -1 -1 P 1000 100 800 100 1 0 0 { T 125 36 5 10 1 1 0 0 1 pinnumber=IOPAD T 125 36 5 10 0 0 0 0 1 pinseq=1 } T 113 221 2 10 0 1 0 0 1 device=IOPAD T 800 100 5 10 1 1 0 0 1 refdes=P? geda-gaf-1.8.2/symbols/verilog/nor5-2.sym0000664000175000017500000000215212204104272015005 00000000000000v 20031231 1 L 300 800 700 800 3 0 0 0 -1 -1 L 300 200 700 200 3 0 0 0 -1 -1 L 300 200 300 800 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 L 300 800 300 1000 3 0 0 0 -1 -1 L 300 200 300 0 3 0 0 0 -1 -1 P 1000 500 1300 500 1 0 1 { T 1000 500 5 8 0 0 0 0 1 pinnumber=OUT T 1000 500 5 8 0 0 0 0 1 pinseq=1 } V 250 100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } V 250 300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } V 250 500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } V 250 700 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } V 250 900 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 } T 400 100 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=nor T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/nor3-2.sym0000664000175000017500000000141612204104272015005 00000000000000v 20031231 1 L 300 600 700 600 3 0 0 0 -1 -1 L 300 0 700 0 3 0 0 0 -1 -1 L 300 0 300 600 3 0 0 0 -1 -1 A 700 300 300 270 180 3 0 0 0 -1 -1 P 1000 300 1300 300 1 0 1 { T 1000 300 5 8 0 0 0 0 1 pinnumber=OUT T 1000 300 5 8 0 0 0 0 1 pinseq=1 } V 250 100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } V 250 300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } V 250 500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } T 400 -100 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=nor T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/nand4-1.sym0000664000175000017500000000153412204104272015130 00000000000000v 20031231 1 L 300 700 700 700 3 0 0 0 -1 -1 L 300 100 700 100 3 0 0 0 -1 -1 L 300 100 300 700 3 0 0 0 -1 -1 A 700 400 300 270 180 3 0 0 0 -1 -1 L 300 700 300 800 3 0 0 0 -1 -1 L 300 100 300 0 3 0 0 0 -1 -1 V 1050 400 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1100 400 1300 400 1 0 1 { T 1000 400 5 8 0 0 0 0 1 pinnumber=OUT T 1000 400 5 8 0 0 0 0 1 pinseq=1 } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } P 300 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } P 300 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } T 400 0 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=nand T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/xnor4-1.sym0000664000175000017500000000164212204104273015177 00000000000000v 20031231 1 L 400 700 600 700 3 0 0 0 -1 -1 L 400 100 600 100 3 0 0 0 -1 -1 A 40 400 400 312 97 3 0 0 0 -1 -1 A 140 400 400 312 97 3 0 0 0 -1 -1 A 600 500 400 270 76 3 0 0 0 -1 -1 A 600 300 400 14 76 3 0 0 0 -1 -1 L 300 700 300 800 3 0 0 0 -1 -1 L 300 100 300 0 3 0 0 0 -1 -1 V 1050 400 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1100 400 1300 400 1 0 1 { T 1000 400 5 8 0 0 0 0 1 pinnumber=OUT T 1000 400 5 8 0 0 0 0 1 pinseq=1 } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } P 300 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } P 300 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } T 400 0 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=xnor T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/pulldown-1.sym0000664000175000017500000000062512204104273015771 00000000000000v 20031231 1 P 100 300 100 250 1 0 0 { T 150 250 5 10 0 1 0 0 1 pinnumber=PULL T 150 250 5 10 0 0 0 0 1 pinseq=1 } L 100 50 0 90 3 0 0 0 -1 -1 L 0 90 200 130 3 0 0 0 -1 -1 L 200 130 0 180 3 0 0 0 -1 -1 L 0 180 200 220 3 0 0 0 -1 -1 L 200 220 100 250 3 0 0 0 -1 -1 L 100 50 100 0 3 0 0 0 -1 -1 L 50 0 150 0 3 0 0 0 -1 -1 T 200 100 2 10 0 0 0 0 1 VERILOG_PORTS=POSITIONAL T 200 100 5 10 1 1 0 0 1 refdes=G? geda-gaf-1.8.2/symbols/verilog/notif0-1.sym0000664000175000017500000000124712204104272015324 00000000000000v 20031231 1 L 300 800 800 500 3 0 0 0 -1 -1 L 800 500 300 200 3 0 0 0 -1 -1 L 300 800 300 500 3 0 0 0 -1 -1 L 300 500 300 200 3 0 0 0 -1 -1 V 850 500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 300 500 0 500 1 0 1 { T 0 550 5 8 0 1 0 0 1 pinnumber=INW T 0 550 5 8 0 0 0 0 1 pinseq=2 } P 1100 500 900 500 1 0 0 { T 915 550 5 8 0 1 0 0 1 pinnumber=OUTW T 915 550 5 8 0 0 0 0 1 pinseq=1 } V 550 700 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 0 900 550 900 1 0 0 { T 50 950 5 10 0 1 0 0 1 pinnumber=CONTROLW T 50 950 5 10 0 0 0 0 1 pinseq=3 } L 550 900 550 750 3 0 0 0 -1 -1 T 700 750 2 10 0 0 0 0 1 VERILOG_PORTS=POSITIONAL T 650 250 2 10 0 1 0 0 1 device=notif0 T 500 300 5 10 1 1 0 2 1 refdes=U? geda-gaf-1.8.2/symbols/verilog/xor3-1.sym0000664000175000017500000000132512204104273015016 00000000000000v 20031231 1 L 400 600 600 600 3 0 0 0 -1 -1 L 400 0 600 0 3 0 0 0 -1 -1 A 40 300 400 312 97 3 0 0 0 -1 -1 A 140 300 400 312 97 3 0 0 0 -1 -1 A 600 400 400 270 76 3 0 0 0 -1 -1 A 600 200 400 14 76 3 0 0 0 -1 -1 P 1000 300 1300 300 1 0 1 { T 1000 300 5 8 0 0 0 0 1 pinnumber=OUT T 1000 300 5 8 0 0 0 0 1 pinseq=1 } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } P 300 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } T 400 -100 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=xor T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/nor6-2.sym0000664000175000017500000000237312204104272015013 00000000000000v 20031231 1 L 300 900 700 900 3 0 0 0 -1 -1 L 300 300 700 300 3 0 0 0 -1 -1 L 300 300 300 900 3 0 0 0 -1 -1 A 700 600 300 270 180 3 0 0 0 -1 -1 L 300 900 300 1200 3 0 0 0 -1 -1 L 300 300 300 0 3 0 0 0 -1 -1 P 1000 600 1300 600 1 0 1 { T 1000 600 5 8 0 0 0 0 1 pinnumber=OUT T 1000 600 5 8 0 0 0 0 1 pinseq=1 } V 250 100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } V 250 300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } V 250 500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } V 250 700 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } V 250 900 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 } V 250 1100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 1100 0 1100 1 0 1 { T 300 1100 5 8 0 0 0 0 1 pinnumber=IN5 T 300 1100 5 8 0 0 0 0 1 pinseq=7 } T 400 200 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=nor T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/nor2-2.sym0000664000175000017500000000120212204104272014775 00000000000000v 20031231 1 L 300 600 700 600 3 0 0 0 -1 -1 L 300 0 700 0 3 0 0 0 -1 -1 L 300 0 300 600 3 0 0 0 -1 -1 A 700 300 300 270 180 3 0 0 0 -1 -1 P 1000 300 1300 300 1 0 1 { T 1000 300 5 8 0 0 0 0 1 pinnumber=OUT T 1000 300 5 8 0 0 0 0 1 pinseq=1 } V 250 100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } V 250 500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN1 T 300 500 5 8 0 0 0 0 1 pinseq=3 } T 400 -100 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=nor T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/nor9-1.sym0000664000175000017500000000257312204104272015017 00000000000000v 20031231 1 L 300 1200 600 1200 3 0 0 0 -1 -1 L 300 600 600 600 3 0 0 0 -1 -1 A 40 900 400 312 97 3 0 0 0 -1 -1 A 600 1000 400 270 76 3 0 0 0 -1 -1 A 600 800 400 14 76 3 0 0 0 -1 -1 L 300 1200 300 1800 3 0 0 0 -1 -1 L 300 600 300 0 3 0 0 0 -1 -1 V 1050 900 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1100 900 1300 900 1 0 1 { T 1000 900 5 8 0 0 0 0 1 pinnumber=OUT T 1000 900 5 8 0 0 0 0 1 pinseq=1 } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } P 300 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } P 300 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } P 300 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 } P 300 1100 0 1100 1 0 1 { T 300 1100 5 8 0 0 0 0 1 pinnumber=IN5 T 300 1100 5 8 0 0 0 0 1 pinseq=7 } P 300 1300 0 1300 1 0 1 { T 300 1300 5 8 0 0 0 0 1 pinnumber=IN6 T 300 1300 5 8 0 0 0 0 1 pinseq=8 } P 300 1500 0 1500 1 0 1 { T 300 1500 5 8 0 0 0 0 1 pinnumber=IN7 T 300 1500 5 8 0 0 0 0 1 pinseq=9 } P 300 1700 0 1700 1 0 1 { T 300 1700 5 8 0 0 0 0 1 pinnumber=IN8 T 300 1700 5 8 0 0 0 0 1 pinseq=10 } T 400 500 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=nor T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/nand4-2.sym0000664000175000017500000000177712204104272015142 00000000000000v 20031231 1 L 300 700 600 700 3 0 0 0 -1 -1 L 300 100 600 100 3 0 0 0 -1 -1 A 40 400 400 312 97 3 0 0 0 -1 -1 A 600 500 400 270 76 3 0 0 0 -1 -1 A 600 300 400 14 76 3 0 0 0 -1 -1 L 300 700 300 800 3 0 0 0 -1 -1 L 300 100 300 0 3 0 0 0 -1 -1 P 1000 400 1300 400 1 0 1 { T 1000 400 5 8 0 0 0 0 1 pinnumber=OUT T 1000 400 5 8 0 0 0 0 1 pinseq=1 } V 250 100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } V 250 300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } V 250 500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } V 250 700 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } T 400 0 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=nand T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/nand6-2.sym0000664000175000017500000000243712204104272015136 00000000000000v 20031231 1 L 300 900 600 900 3 0 0 0 -1 -1 L 300 300 600 300 3 0 0 0 -1 -1 A 40 600 400 312 97 3 0 0 0 -1 -1 A 600 700 400 270 76 3 0 0 0 -1 -1 A 600 500 400 14 76 3 0 0 0 -1 -1 L 300 900 300 1200 3 0 0 0 -1 -1 L 300 300 300 0 3 0 0 0 -1 -1 P 1000 600 1300 600 1 0 1 { T 1000 600 5 8 0 0 0 0 1 pinnumber=OUT T 1000 600 5 8 0 0 0 0 1 pinseq=1 } V 250 100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } V 250 300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } V 250 500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } V 250 700 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } V 250 900 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 } V 250 1100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 1100 0 1100 1 0 1 { T 300 1100 5 8 0 0 0 0 1 pinnumber=IN5 T 300 1100 5 8 0 0 0 0 1 pinseq=7 } T 400 200 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=nand T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/nand7-1.sym0000664000175000017500000000221612204104272015131 00000000000000v 20031231 1 L 300 1000 700 1000 3 0 0 0 -1 -1 L 300 400 700 400 3 0 0 0 -1 -1 L 300 400 300 1000 3 0 0 0 -1 -1 A 700 700 300 270 180 3 0 0 0 -1 -1 L 300 1000 300 1400 3 0 0 0 -1 -1 L 300 400 300 0 3 0 0 0 -1 -1 V 1050 700 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1100 700 1300 700 1 0 1 { T 1000 700 5 8 0 0 0 0 1 pinnumber=OUT T 1000 700 5 8 0 0 0 0 1 pinseq=1 } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } P 300 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } P 300 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } P 300 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 } P 300 1100 0 1100 1 0 1 { T 300 1100 5 8 0 0 0 0 1 pinnumber=IN5 T 300 1100 5 8 0 0 0 0 1 pinseq=7 } P 300 1300 0 1300 1 0 1 { T 300 1300 5 8 0 0 0 0 1 pinnumber=IN6 T 300 1300 5 8 0 0 0 0 1 pinseq=8 } T 400 300 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=nand T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/xnor7-1.sym0000664000175000017500000000232312204104273015177 00000000000000v 20031231 1 L 400 1000 600 1000 3 0 0 0 -1 -1 L 400 400 600 400 3 0 0 0 -1 -1 A 40 700 400 312 97 3 0 0 0 -1 -1 A 140 700 400 312 97 3 0 0 0 -1 -1 A 600 800 400 270 76 3 0 0 0 -1 -1 A 600 600 400 14 76 3 0 0 0 -1 -1 L 300 1000 300 1400 3 0 0 0 -1 -1 L 300 400 300 0 3 0 0 0 -1 -1 V 1050 700 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1100 700 1300 700 1 0 1 { T 1000 700 5 8 0 0 0 0 1 pinnumber=OUT T 1000 700 5 8 0 0 0 0 1 pinseq=1 } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } P 300 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } P 300 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } P 300 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 } P 300 1100 0 1100 1 0 1 { T 300 1100 5 8 0 0 0 0 1 pinnumber=IN5 T 300 1100 5 8 0 0 0 0 1 pinseq=7 } P 300 1300 0 1300 1 0 1 { T 300 1300 5 8 0 0 0 0 1 pinnumber=IN6 T 300 1300 5 8 0 0 0 0 1 pinseq=8 } T 400 300 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=xnor T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/nor9-2.sym0000664000175000017500000000326312204104272015015 00000000000000v 20031231 1 L 300 1200 700 1200 3 0 0 0 -1 -1 L 300 600 700 600 3 0 0 0 -1 -1 L 300 600 300 1200 3 0 0 0 -1 -1 A 700 900 300 270 180 3 0 0 0 -1 -1 L 300 1200 300 1800 3 0 0 0 -1 -1 L 300 600 300 0 3 0 0 0 -1 -1 P 1000 900 1300 900 1 0 1 { T 1000 900 5 8 0 0 0 0 1 pinnumber=OUT T 1000 900 5 8 0 0 0 0 1 pinseq=1 } V 250 100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } V 250 300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } V 250 500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } V 250 700 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } V 250 900 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 } V 250 1100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 1100 0 1100 1 0 1 { T 300 1100 5 8 0 0 0 0 1 pinnumber=IN5 T 300 1100 5 8 0 0 0 0 1 pinseq=7 } V 250 1300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 1300 0 1300 1 0 1 { T 300 1300 5 8 0 0 0 0 1 pinnumber=IN6 T 300 1300 5 8 0 0 0 0 1 pinseq=8 } V 250 1500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 1500 0 1500 1 0 1 { T 300 1500 5 8 0 0 0 0 1 pinnumber=IN7 T 300 1500 5 8 0 0 0 0 1 pinseq=9 } V 250 1700 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 1700 0 1700 1 0 1 { T 300 1700 5 8 0 0 0 0 1 pinnumber=IN8 T 300 1700 5 8 0 0 0 0 1 pinseq=10 } T 400 500 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=nor T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/or2-1.sym0000664000175000017500000000112012204104272014615 00000000000000v 20031231 1 L 300 600 600 600 3 0 0 0 -1 -1 L 300 0 600 0 3 0 0 0 -1 -1 A 40 300 400 312 97 3 0 0 0 -1 -1 A 600 400 400 270 76 3 0 0 0 -1 -1 A 600 200 400 14 76 3 0 0 0 -1 -1 P 1000 300 1300 300 1 0 1 { T 1000 300 5 8 0 0 0 0 1 pinnumber=OUT T 1000 300 5 8 0 0 0 0 1 pinseq=1 } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN1 T 300 500 5 8 0 0 0 0 1 pinseq=3 } T 400 -100 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=or T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/opad-1.sym0000664000175000017500000000051712204104272015047 00000000000000v 20031231 1 L 200 100 300 0 3 0 0 0 -1 -1 L 300 0 900 0 3 0 0 0 -1 -1 L 900 0 900 200 3 0 0 0 -1 -1 L 900 200 300 200 3 0 0 0 -1 -1 L 300 200 200 100 3 0 0 0 -1 -1 P 0 100 200 100 1 0 0 { T 302 35 5 10 1 1 0 0 1 pinnumber=OPAD T 302 35 5 10 0 0 0 0 1 pinseq=1 } T 302 218 5 10 0 1 0 0 1 device=OPAD T 200 100 5 10 1 1 0 6 1 refdes=P? geda-gaf-1.8.2/symbols/verilog/nor8-2.sym0000664000175000017500000000304112204104272015006 00000000000000v 20031231 1 L 300 1100 700 1100 3 0 0 0 -1 -1 L 300 500 700 500 3 0 0 0 -1 -1 L 300 500 300 1100 3 0 0 0 -1 -1 A 700 800 300 270 180 3 0 0 0 -1 -1 L 300 1100 300 1600 3 0 0 0 -1 -1 L 300 500 300 0 3 0 0 0 -1 -1 P 1000 800 1300 800 1 0 1 { T 1000 800 5 8 0 0 0 0 1 pinnumber=OUT T 1000 800 5 8 0 0 0 0 1 pinseq=1 } V 250 100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } V 250 300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } V 250 500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } V 250 700 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } V 250 900 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 } V 250 1100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 1100 0 1100 1 0 1 { T 300 1100 5 8 0 0 0 0 1 pinnumber=IN5 T 300 1100 5 8 0 0 0 0 1 pinseq=7 } V 250 1300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 1300 0 1300 1 0 1 { T 300 1300 5 8 0 0 0 0 1 pinnumber=IN6 T 300 1300 5 8 0 0 0 0 1 pinseq=8 } V 250 1500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 1500 0 1500 1 0 1 { T 300 1500 5 8 0 0 0 0 1 pinnumber=IN7 T 300 1500 5 8 0 0 0 0 1 pinseq=9 } T 400 400 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=nor T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/nand3-2.sym0000664000175000017500000000146412204104272015132 00000000000000v 20031231 1 L 300 600 600 600 3 0 0 0 -1 -1 L 300 0 600 0 3 0 0 0 -1 -1 A 40 300 400 312 97 3 0 0 0 -1 -1 A 600 400 400 270 76 3 0 0 0 -1 -1 A 600 200 400 14 76 3 0 0 0 -1 -1 P 1000 300 1300 300 1 0 1 { T 1000 300 5 8 0 0 0 0 1 pinnumber=OUT T 1000 300 5 8 0 0 0 0 1 pinseq=1 } V 250 100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } V 250 300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } V 250 500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } T 400 -100 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=nand T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/xor7-1.sym0000664000175000017500000000224612204104273015025 00000000000000v 20031231 1 L 400 1000 600 1000 3 0 0 0 -1 -1 L 400 400 600 400 3 0 0 0 -1 -1 A 40 700 400 312 97 3 0 0 0 -1 -1 A 140 700 400 312 97 3 0 0 0 -1 -1 A 600 800 400 270 76 3 0 0 0 -1 -1 A 600 600 400 14 76 3 0 0 0 -1 -1 L 300 1000 300 1400 3 0 0 0 -1 -1 L 300 400 300 0 3 0 0 0 -1 -1 P 1000 700 1300 700 1 0 1 { T 1000 700 5 8 0 0 0 0 1 pinnumber=OUT T 1000 700 5 8 0 0 0 0 1 pinseq=1 } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } P 300 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } P 300 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } P 300 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 } P 300 1100 0 1100 1 0 1 { T 300 1100 5 8 0 0 0 0 1 pinnumber=IN5 T 300 1100 5 8 0 0 0 0 1 pinseq=7 } P 300 1300 0 1300 1 0 1 { T 300 1300 5 8 0 0 0 0 1 pinnumber=IN6 T 300 1300 5 8 0 0 0 0 1 pinseq=8 } T 400 300 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=xor T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/low-1.sym0000664000175000017500000000042112204104272014717 00000000000000v 20031231 1 P 200 300 200 100 1 0 0 { T 400 200 5 10 0 1 0 0 1 pinnumber=LOW T 400 200 5 10 0 0 0 0 1 pinseq=1 } L 50 100 350 100 3 0 0 0 -1 -1 T 400 0 5 10 0 1 0 0 1 device=LOW L 100 50 300 50 3 0 0 0 -1 -1 L 150 0 250 0 3 0 0 0 -1 -1 T 300 200 5 10 1 1 0 0 1 refdes=G? geda-gaf-1.8.2/symbols/verilog/xnor8-1.sym0000664000175000017500000000247012204104273015203 00000000000000v 20031231 1 L 400 1100 600 1100 3 0 0 0 -1 -1 L 400 500 600 500 3 0 0 0 -1 -1 A 40 800 400 312 97 3 0 0 0 -1 -1 A 140 800 400 312 97 3 0 0 0 -1 -1 A 600 900 400 270 76 3 0 0 0 -1 -1 A 600 700 400 14 76 3 0 0 0 -1 -1 L 300 1100 300 1600 3 0 0 0 -1 -1 L 300 500 300 0 3 0 0 0 -1 -1 V 1050 800 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1100 800 1300 800 1 0 1 { T 1000 800 5 8 0 0 0 0 1 pinnumber=OUT T 1000 800 5 8 0 0 0 0 1 pinseq=1 } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } P 300 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } P 300 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } P 300 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 } P 300 1100 0 1100 1 0 1 { T 300 1100 5 8 0 0 0 0 1 pinnumber=IN5 T 300 1100 5 8 0 0 0 0 1 pinseq=7 } P 300 1300 0 1300 1 0 1 { T 300 1300 5 8 0 0 0 0 1 pinnumber=IN6 T 300 1300 5 8 0 0 0 0 1 pinseq=8 } P 300 1500 0 1500 1 0 1 { T 300 1500 5 8 0 0 0 0 1 pinnumber=IN7 T 300 1500 5 8 0 0 0 0 1 pinseq=9 } T 400 400 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=xnor T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/and3-2.sym0000664000175000017500000000153712204104272014755 00000000000000v 20031231 1 L 300 600 600 600 3 0 0 0 -1 -1 L 300 0 600 0 3 0 0 0 -1 -1 A 40 300 400 312 97 3 0 0 0 -1 -1 A 600 400 400 270 76 3 0 0 0 -1 -1 A 600 200 400 14 76 3 0 0 0 -1 -1 V 1050 300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1100 300 1300 300 1 0 1 { T 1000 300 5 8 0 0 0 0 1 pinnumber=OUT T 1000 300 5 8 0 0 0 0 1 pinseq=1 } V 250 100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } V 250 300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } V 250 500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } T 400 -100 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=and T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/xor2-1.sym0000664000175000017500000000116412204104273015016 00000000000000v 20031231 1 L 400 600 600 600 3 0 0 0 -1 -1 L 400 0 600 0 3 0 0 0 -1 -1 A 40 300 400 312 97 3 0 0 0 -1 -1 A 140 300 400 312 97 3 0 0 0 -1 -1 A 600 400 400 270 76 3 0 0 0 -1 -1 A 600 200 400 14 76 3 0 0 0 -1 -1 P 1000 300 1300 300 1 0 1 { T 1000 300 5 8 0 0 0 0 1 pinnumber=OUT T 1000 300 5 8 0 0 0 0 1 pinseq=1 } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN1 T 300 500 5 8 0 0 0 0 1 pinseq=3 } T 400 -100 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=xor T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/or5-2.sym0000664000175000017500000000222512204104273014631 00000000000000v 20031231 1 L 300 800 700 800 3 0 0 0 -1 -1 L 300 200 700 200 3 0 0 0 -1 -1 L 300 200 300 800 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 L 300 800 300 1000 3 0 0 0 -1 -1 L 300 200 300 0 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1100 500 1300 500 1 0 1 { T 1000 500 5 8 0 0 0 0 1 pinnumber=OUT T 1000 500 5 8 0 0 0 0 1 pinseq=1 } V 250 100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } V 250 300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } V 250 500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } V 250 700 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } V 250 900 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 } T 400 100 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=or T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/and8-1.sym0000664000175000017500000000230612204104272014754 00000000000000v 20031231 1 L 300 1100 700 1100 3 0 0 0 -1 -1 L 300 500 700 500 3 0 0 0 -1 -1 L 300 500 300 1100 3 0 0 0 -1 -1 A 700 800 300 270 180 3 0 0 0 -1 -1 L 300 1100 300 1600 3 0 0 0 -1 -1 L 300 500 300 0 3 0 0 0 -1 -1 P 1000 800 1300 800 1 0 1 { T 1000 800 5 8 0 0 0 0 1 pinnumber=OUT T 1000 800 5 8 0 0 0 0 1 pinseq=1 } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } P 300 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } P 300 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } P 300 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 } P 300 1100 0 1100 1 0 1 { T 300 1100 5 8 0 0 0 0 1 pinnumber=IN5 T 300 1100 5 8 0 0 0 0 1 pinseq=7 } P 300 1300 0 1300 1 0 1 { T 300 1300 5 8 0 0 0 0 1 pinnumber=IN6 T 300 1300 5 8 0 0 0 0 1 pinseq=8 } P 300 1500 0 1500 1 0 1 { T 300 1500 5 8 0 0 0 0 1 pinnumber=IN7 T 300 1500 5 8 0 0 0 0 1 pinseq=9 } T 400 400 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=and T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/or7-2.sym0000664000175000017500000000267312204104273014642 00000000000000v 20031231 1 L 300 1000 700 1000 3 0 0 0 -1 -1 L 300 400 700 400 3 0 0 0 -1 -1 L 300 400 300 1000 3 0 0 0 -1 -1 A 700 700 300 270 180 3 0 0 0 -1 -1 L 300 1000 300 1400 3 0 0 0 -1 -1 L 300 400 300 0 3 0 0 0 -1 -1 V 1050 700 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1100 700 1300 700 1 0 1 { T 1000 700 5 8 0 0 0 0 1 pinnumber=OUT T 1000 700 5 8 0 0 0 0 1 pinseq=1 } V 250 100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } V 250 300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } V 250 500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } V 250 700 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } V 250 900 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 } V 250 1100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 1100 0 1100 1 0 1 { T 300 1100 5 8 0 0 0 0 1 pinnumber=IN5 T 300 1100 5 8 0 0 0 0 1 pinseq=7 } V 250 1300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 1300 0 1300 1 0 1 { T 300 1300 5 8 0 0 0 0 1 pinnumber=IN6 T 300 1300 5 8 0 0 0 0 1 pinseq=8 } T 400 300 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=or T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/xnor6-1.sym0000664000175000017500000000215312204104273015177 00000000000000v 20031231 1 L 400 900 600 900 3 0 0 0 -1 -1 L 400 300 600 300 3 0 0 0 -1 -1 A 40 600 400 312 97 3 0 0 0 -1 -1 A 140 600 400 312 97 3 0 0 0 -1 -1 A 600 700 400 270 76 3 0 0 0 -1 -1 A 600 500 400 14 76 3 0 0 0 -1 -1 L 300 900 300 1200 3 0 0 0 -1 -1 L 300 300 300 0 3 0 0 0 -1 -1 V 1050 600 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1100 600 1300 600 1 0 1 { T 1000 600 5 8 0 0 0 0 1 pinnumber=OUT T 1000 600 5 8 0 0 0 0 1 pinseq=1 } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } P 300 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } P 300 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } P 300 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 } P 300 1100 0 1100 1 0 1 { T 300 1100 5 8 0 0 0 0 1 pinnumber=IN5 T 300 1100 5 8 0 0 0 0 1 pinseq=7 } T 400 200 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=xnor T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/xnor3-1.sym0000664000175000017500000000140212204104273015170 00000000000000v 20031231 1 L 400 600 600 600 3 0 0 0 -1 -1 L 400 0 600 0 3 0 0 0 -1 -1 A 40 300 400 312 97 3 0 0 0 -1 -1 A 140 300 400 312 97 3 0 0 0 -1 -1 A 600 400 400 270 76 3 0 0 0 -1 -1 A 600 200 400 14 76 3 0 0 0 -1 -1 V 1050 300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1100 300 1300 300 1 0 1 { T 1000 300 5 8 0 0 0 0 1 pinnumber=OUT T 1000 300 5 8 0 0 0 0 1 pinseq=1 } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } P 300 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } T 400 -100 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=xnor T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/xor8-1.sym0000664000175000017500000000241312204104273015022 00000000000000v 20031231 1 L 400 1100 600 1100 3 0 0 0 -1 -1 L 400 500 600 500 3 0 0 0 -1 -1 A 40 800 400 312 97 3 0 0 0 -1 -1 A 140 800 400 312 97 3 0 0 0 -1 -1 A 600 900 400 270 76 3 0 0 0 -1 -1 A 600 700 400 14 76 3 0 0 0 -1 -1 L 300 1100 300 1600 3 0 0 0 -1 -1 L 300 500 300 0 3 0 0 0 -1 -1 P 1000 800 1300 800 1 0 1 { T 1000 800 5 8 0 0 0 0 1 pinnumber=OUT T 1000 800 5 8 0 0 0 0 1 pinseq=1 } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } P 300 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } P 300 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } P 300 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 } P 300 1100 0 1100 1 0 1 { T 300 1100 5 8 0 0 0 0 1 pinnumber=IN5 T 300 1100 5 8 0 0 0 0 1 pinseq=7 } P 300 1300 0 1300 1 0 1 { T 300 1300 5 8 0 0 0 0 1 pinnumber=IN6 T 300 1300 5 8 0 0 0 0 1 pinseq=8 } P 300 1500 0 1500 1 0 1 { T 300 1500 5 8 0 0 0 0 1 pinnumber=IN7 T 300 1500 5 8 0 0 0 0 1 pinseq=9 } T 400 400 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=xor T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/nand5-2.sym0000664000175000017500000000221612204104272015130 00000000000000v 20031231 1 L 300 800 600 800 3 0 0 0 -1 -1 L 300 200 600 200 3 0 0 0 -1 -1 A 40 500 400 312 97 3 0 0 0 -1 -1 A 600 600 400 270 76 3 0 0 0 -1 -1 A 600 400 400 14 76 3 0 0 0 -1 -1 L 300 800 300 1000 3 0 0 0 -1 -1 L 300 200 300 0 3 0 0 0 -1 -1 P 1000 500 1300 500 1 0 1 { T 1000 500 5 8 0 0 0 0 1 pinnumber=OUT T 1000 500 5 8 0 0 0 0 1 pinseq=1 } V 250 100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } V 250 300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } V 250 500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } V 250 700 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } V 250 900 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 } T 400 100 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=nand T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/and6-2.sym0000664000175000017500000000251212204104272014752 00000000000000v 20031231 1 L 300 900 600 900 3 0 0 0 -1 -1 L 300 300 600 300 3 0 0 0 -1 -1 A 40 600 400 312 97 3 0 0 0 -1 -1 A 600 700 400 270 76 3 0 0 0 -1 -1 A 600 500 400 14 76 3 0 0 0 -1 -1 L 300 900 300 1200 3 0 0 0 -1 -1 L 300 300 300 0 3 0 0 0 -1 -1 V 1050 600 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1100 600 1300 600 1 0 1 { T 1000 600 5 8 0 0 0 0 1 pinnumber=OUT T 1000 600 5 8 0 0 0 0 1 pinseq=1 } V 250 100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } V 250 300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 } V 250 500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 } V 250 700 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 } V 250 900 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 } V 250 1100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 1100 0 1100 1 0 1 { T 300 1100 5 8 0 0 0 0 1 pinnumber=IN5 T 300 1100 5 8 0 0 0 0 1 pinseq=7 } T 400 200 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=and T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/nand2-2.sym0000664000175000017500000000125012204104272015122 00000000000000v 20031231 1 L 300 600 600 600 3 0 0 0 -1 -1 L 300 0 600 0 3 0 0 0 -1 -1 A 40 300 400 312 97 3 0 0 0 -1 -1 A 600 400 400 270 76 3 0 0 0 -1 -1 A 600 200 400 14 76 3 0 0 0 -1 -1 P 1000 300 1300 300 1 0 1 { T 1000 300 5 8 0 0 0 0 1 pinnumber=OUT T 1000 300 5 8 0 0 0 0 1 pinseq=1 } V 250 100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } V 250 500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN1 T 300 500 5 8 0 0 0 0 1 pinseq=3 } T 400 -100 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=nand T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/verilog/and2-2.sym0000664000175000017500000000132312204104272014745 00000000000000v 20031231 1 L 300 600 600 600 3 0 0 0 -1 -1 L 300 0 600 0 3 0 0 0 -1 -1 A 40 300 400 312 97 3 0 0 0 -1 -1 A 600 400 400 270 76 3 0 0 0 -1 -1 A 600 200 400 14 76 3 0 0 0 -1 -1 V 1050 300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1100 300 1300 300 1 0 1 { T 1000 300 5 8 0 0 0 0 1 pinnumber=OUT T 1000 300 5 8 0 0 0 0 1 pinseq=1 } V 250 100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 } V 250 500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN1 T 300 500 5 8 0 0 0 0 1 pinseq=3 } T 400 -100 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=and T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/gnetman/0000775000175000017500000000000012220655765013313 500000000000000geda-gaf-1.8.2/symbols/gnetman/nor2.sym0000664000175000017500000000153712204104272014633 00000000000000v 20080706 1 L 260 200 600 200 3 0 0 0 -1 -1 L 260 800 600 800 3 0 0 0 -1 -1 A 0 500 400 312 97 3 0 0 0 -1 -1 P 350 700 0 700 1 0 1 { T 200 750 5 8 0 1 0 6 1 pinnumber=B T 200 650 5 8 0 1 0 8 1 pinseq=3 T 350 700 9 8 0 1 0 0 1 pinlabel=B T 350 700 5 8 0 1 0 2 1 pintype=in } P 348 300 0 300 1 0 1 { T 200 350 5 8 0 1 0 6 1 pinnumber=A T 200 250 5 8 0 1 0 8 1 pinseq=2 T 350 300 9 8 0 1 0 0 1 pinlabel=A T 350 300 5 8 0 1 0 2 1 pintype=in } V 1038 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 500 1088 500 1 0 0 { T 1100 550 5 8 0 1 0 0 1 pinnumber=Z T 1100 450 5 8 0 1 0 2 1 pinseq=1 T 950 500 9 8 0 1 0 6 1 pinlabel=Z T 950 500 5 8 0 1 0 8 1 pintype=out } A 600 600 400 270 76 3 0 0 0 -1 -1 A 600 400 400 14 76 3 0 0 0 -1 -1 T 600 100 8 10 1 1 0 5 1 refdes=NOR? T 0 -235 8 10 0 1 0 0 1 source=nor2.sch T 500 565 8 6 1 0 0 0 1 P=3.2u T 500 465 8 6 1 0 0 0 1 N=1u geda-gaf-1.8.2/symbols/gnetman/pmos4.sym0000664000175000017500000000207112204104272015007 00000000000000v 20080706 1 L 400 600 400 200 3 0 0 0 -1 -1 T 600 200 5 10 0 0 0 0 1 spicetype=M L 300 600 300 200 3 0 0 0 -1 -1 L 400 600 600 600 3 0 0 0 -1 -1 L 400 200 600 200 3 0 0 0 -1 -1 P 600 600 600 800 1 0 1 { T 400 700 5 10 0 1 0 0 1 pinnumber=D T 400 700 5 10 0 1 0 0 1 pinlabel=D T 400 700 5 10 0 0 0 0 1 pinseq=1 T 600 600 5 10 0 1 0 0 1 pintype=io } P 600 200 600 0 1 0 1 { T 400 0 5 10 0 1 0 0 1 pinnumber=S T 400 0 5 10 0 1 0 0 1 pinlabel=S T 400 0 5 10 0 0 0 0 1 pinseq=3 T 600 200 5 10 0 1 0 0 1 pintype=io } P 200 400 0 400 1 0 1 { T 0 500 5 10 0 1 0 0 1 pinnumber=G T 0 500 5 10 0 1 0 0 1 pinlabel=G T 0 500 5 10 0 0 0 0 1 pinseq=2 T 100 400 5 10 0 1 0 0 1 pintype=in } T 800 600 8 10 1 1 0 0 1 refdes=M? T 800 200 9 6 1 0 0 0 1 w=1u T 800 300 9 6 0 0 0 0 1 l=.35u V 250 400 51 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 0 0 8 10 0 1 0 0 1 model=MODP P 500 400 600 400 1 0 1 { T 700 500 5 10 0 1 0 6 1 pinnumber=B T 700 500 5 10 0 1 0 6 1 pinlabel=B T 700 500 5 10 0 0 0 6 1 pinseq=4 T 600 400 5 10 0 1 0 6 1 pintype=in } L 400 500 400 400 3 0 0 0 -1 -1 L 500 400 400 400 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/gnetman/inductor-1.sym0000664000175000017500000000142612204104272015735 00000000000000v 20080706 1 P 900 100 750 100 1 0 0 { T 800 150 5 8 0 1 0 0 1 pinnumber=n+ T 800 150 5 8 0 0 0 0 1 pinseq=2 T 800 100 5 10 0 1 0 0 1 pinlabel=n+ T 900 100 5 10 0 1 0 0 1 pintype=pas } P 0 100 150 100 1 0 0 { T 100 150 5 8 0 1 0 0 1 pinnumber=n- T 100 150 5 8 0 0 0 0 1 pinseq=1 T 100 100 5 10 0 1 0 0 1 pinlabel=n- T 0 100 5 10 0 1 0 0 1 pintype=pas } A 237 100 75 0 180 3 0 0 0 -1 -1 A 379 100 75 0 180 3 0 0 0 -1 -1 A 521 100 75 0 180 3 0 0 0 -1 -1 A 663 100 75 0 180 3 0 0 0 -1 -1 T 100 400 5 10 0 0 0 0 1 spicetype=L L 738 100 750 100 3 0 0 0 -1 -1 L 150 100 162 100 3 0 0 0 -1 -1 A 308 100 4 180 180 3 0 0 0 -1 -1 A 450 100 4 180 180 3 0 0 0 -1 -1 A 592 100 4 180 180 3 0 0 0 -1 -1 T 400 0 8 10 1 1 0 0 1 refdes=L? T 0 100 8 10 0 1 0 0 1 pins=2 T 400 300 8 10 1 1 0 0 1 inductance=1H geda-gaf-1.8.2/symbols/gnetman/latr.sym0000664000175000017500000000141712204104272014712 00000000000000v 20080706 1 P 1300 800 1500 800 1 0 1 { T 1200 800 5 8 0 0 0 0 1 pinnumber=Q T 1100 800 5 8 1 1 0 0 1 pinlabel=Q T 1200 800 5 8 0 0 0 0 1 pinseq=1 T 1200 800 5 8 0 0 0 0 1 pintype=out } P 300 800 0 800 1 0 1 { T 300 800 5 8 0 0 0 0 1 pinnumber=D T 400 800 5 8 1 1 0 0 1 pinlabel=D T 300 800 5 8 0 0 0 0 1 pinseq=2 T 300 800 5 8 0 0 0 0 1 pintype=in } P 800 300 800 0 1 0 1 { T 800 300 5 8 0 0 0 0 1 pinnumber=G T 800 300 5 8 1 1 0 0 1 pinlabel=G T 800 300 5 8 0 0 0 0 1 pinseq=3 T 800 300 5 8 0 0 0 0 1 pintype=in } T 800 500 5 10 1 1 0 3 1 refdes=LATR? B 300 300 1000 1000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 800 1600 800 1300 1 0 0 { T 800 1100 5 10 1 1 0 0 1 pinlabel=R T 800 1600 5 10 0 1 0 0 1 pinnumber=R T 800 1600 5 10 0 1 0 0 1 pinseq=4 T 800 1600 5 10 0 1 0 0 1 pintype=in } geda-gaf-1.8.2/symbols/gnetman/nmos4.sym0000664000175000017500000000204312204104272015004 00000000000000v 20080706 1 L 400 600 400 200 3 0 0 0 -1 -1 T 600 500 5 10 0 0 0 0 1 spicetype=M L 300 600 300 200 3 0 0 0 -1 -1 L 400 600 600 600 3 0 0 0 -1 -1 L 400 200 600 200 3 0 0 0 -1 -1 P 0 400 300 400 1 0 0 { T 0 500 5 10 0 1 0 0 1 pinnumber=G T 0 500 5 10 0 1 0 0 1 pinlabel=G T 0 500 5 10 0 0 0 0 1 pinseq=2 T 0 400 5 10 0 1 0 0 1 pintype=in } P 600 600 600 800 1 0 1 { T 400 700 5 10 0 1 0 0 1 pinnumber=D T 400 700 5 10 0 1 0 0 1 pinlabel=D T 400 700 5 10 0 0 0 0 1 pinseq=1 T 600 600 5 10 0 1 0 0 1 pintype=io } P 600 200 600 0 1 0 1 { T 400 0 5 10 0 1 0 0 1 pinnumber=S T 400 0 5 10 0 1 0 0 1 pinlabel=S T 400 0 5 10 0 0 0 0 1 pinseq=3 T 600 200 5 10 0 1 0 0 1 pintype=io } T 800 600 8 10 1 1 0 0 1 refdes=M? T 800 200 9 6 1 0 0 0 1 w=1u T 800 300 9 6 0 0 0 0 1 l=.35u T 0 0 8 10 0 1 0 0 1 description=Basic N-MOS transistor T 0 0 8 10 0 1 0 0 1 model=MODN L 400 400 500 400 3 0 0 0 -1 -1 P 600 400 500 400 1 0 0 { T 800 500 5 10 0 1 0 6 1 pinnumber=B T 800 500 5 10 0 1 0 6 1 pinlabel=B T 800 500 5 10 0 0 0 6 1 pinseq=2 T 800 400 5 10 0 1 0 6 1 pintype=in } geda-gaf-1.8.2/symbols/gnetman/idc-1.sym0000664000175000017500000000140412204104272014641 00000000000000v 20080706 1 T 700 650 8 10 1 1 0 0 1 refdes=I? T 700 850 5 10 0 0 0 0 1 spice-type=I T 700 1050 5 10 0 0 0 0 1 footprint=none T 700 1250 5 10 0 0 0 0 1 numslots=0 T 700 1450 5 10 0 0 0 0 1 description=dc current source P 300 1200 300 900 1 0 0 { T 350 1000 5 8 0 1 0 0 1 pinnumber=1 T 350 1000 5 8 0 1 0 2 1 pinseq=1 T 300 850 9 8 0 1 0 5 1 pinlabel=n+ T 300 700 5 8 0 1 0 5 1 pintype=pwr } P 300 0 300 300 1 0 0 { T 350 100 5 8 0 1 0 0 1 pinnumber=2 T 350 100 5 8 0 1 0 2 1 pinseq=2 T 300 350 9 8 0 1 0 3 1 pinlabel=n- T 300 500 5 8 0 1 0 3 1 pintype=pwr } V 300 600 300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 700 450 5 10 1 1 0 0 1 current=DC 1mA L 300 600 300 400 3 0 0 0 -1 -1 L 300 600 300 800 3 0 0 0 -1 -1 L 400 500 300 400 3 0 0 0 -1 -1 L 200 500 300 400 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/gnetman/vss.sym0000664000175000017500000000044012204104272014556 00000000000000v 20080706 1 P 200 400 200 200 1 0 0 { T 150 350 5 6 0 1 180 0 1 pinnumber=VSS T 150 350 5 6 0 1 180 0 1 pinlabel=VSS T 150 350 5 6 0 0 180 0 1 pinseq=1 T 150 350 5 6 0 0 180 0 1 pintype=pwr } L 50 200 350 200 3 0 0 0 -1 -1 T 75 50 9 8 1 0 0 0 1 VSS T 450 200 8 10 0 0 0 0 1 device=POWER geda-gaf-1.8.2/symbols/gnetman/pmos.sym0000664000175000017500000000155512204104272014731 00000000000000v 20080706 1 L 400 600 400 200 3 0 0 0 -1 -1 T 600 200 5 10 0 0 0 0 1 spicetype=M L 300 600 300 200 3 0 0 0 -1 -1 L 400 600 600 600 3 0 0 0 -1 -1 L 400 200 600 200 3 0 0 0 -1 -1 P 600 600 600 800 1 0 1 { T 400 700 5 10 0 1 0 0 1 pinnumber=D T 400 700 5 10 0 1 0 0 1 pinlabel=D T 400 700 5 10 0 0 0 0 1 pinseq=1 T 600 600 5 10 0 1 0 0 1 pintype=io } P 600 200 600 0 1 0 1 { T 400 0 5 10 0 1 0 0 1 pinnumber=S T 400 0 5 10 0 1 0 0 1 pinlabel=S T 400 0 5 10 0 0 0 0 1 pinseq=3 T 600 200 5 10 0 1 0 0 1 pintype=io } P 200 400 0 400 1 0 1 { T 0 500 5 10 0 1 0 0 1 pinnumber=G T 0 500 5 10 0 1 0 0 1 pinlabel=G T 0 500 5 10 0 0 0 0 1 pinseq=2 T 100 400 5 10 0 1 0 0 1 pintype=in } T 800 600 8 10 1 1 0 0 1 refdes=M? T 800 200 9 6 1 0 0 0 1 w=1u T 800 300 9 6 0 0 0 0 1 l=.35u V 250 400 51 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 0 0 8 10 0 1 0 0 1 model=MODP T 0 0 8 10 0 1 0 0 1 net=VDD:B geda-gaf-1.8.2/symbols/gnetman/nand2.sym0000664000175000017500000000147112204104272014752 00000000000000v 20080706 1 L 300 0 700 0 3 0 0 0 -1 -1 L 300 0 300 600 3 0 0 0 -1 -1 A 700 300 300 270 180 3 0 0 0 -1 -1 V 1050 300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1100 300 1300 300 1 0 1 { T 1000 300 5 8 0 0 0 0 1 pinnumber=Z T 1000 300 5 8 0 0 0 0 1 pinlabel=Z T 1000 300 5 8 0 0 0 0 1 pinseq=1 T 1000 300 5 8 0 0 0 0 1 pintype=out } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=A T 300 100 5 8 0 0 0 0 1 pinlabel=A T 300 100 5 8 0 0 0 0 1 pinseq=2 T 300 100 5 8 0 0 0 0 1 pintype=in } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=B T 300 500 5 8 0 0 0 0 1 pinlabel=B T 300 500 5 8 0 0 0 0 1 pinseq=3 T 300 500 5 8 0 0 0 0 1 pintype=in } T 400 -100 5 10 1 1 0 2 1 refdes=NAND? L 300 600 700 600 3 0 0 0 -1 -1 T 0 -235 8 10 0 1 0 0 1 source=nand2.sch T 400 365 8 6 1 0 0 0 1 P=2u T 400 265 8 6 1 0 0 0 1 N=1u geda-gaf-1.8.2/symbols/gnetman/in.sym0000664000175000017500000000062412204104272014355 00000000000000v 20080706 1 P 600 100 800 100 1 0 1 { T 650 150 5 6 0 1 0 0 1 pinnumber=Z T 650 150 5 6 0 1 0 0 1 pinlabel=Z T 650 150 5 6 0 0 0 0 1 pintype=out T 650 150 5 6 0 0 0 0 1 pinseq=1 } L 600 100 500 200 6 0 0 0 -1 -1 L 600 100 500 0 6 0 0 0 -1 -1 T 0 100 8 10 1 1 0 7 1 value=pinlabel T 0 0 8 10 0 1 0 0 1 device=FLAG L 500 200 100 200 3 0 0 0 -1 -1 L 100 200 100 0 3 0 0 0 -1 -1 L 100 0 500 0 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/gnetman/inv.sym0000664000175000017500000000121312204104272014536 00000000000000v 20080706 1 L 300 800 800 500 3 0 0 0 -1 -1 L 800 500 300 200 3 0 0 0 -1 -1 L 300 800 300 500 3 0 0 0 -1 -1 L 300 500 300 200 3 0 0 0 -1 -1 V 850 500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1100 500 900 500 1 0 0 { T 915 550 5 8 0 1 0 0 1 pinnumber=Z T 915 550 5 8 0 0 0 0 1 pinlabel=Z T 915 550 5 8 0 0 0 0 1 pintype=out T 915 550 5 8 0 0 0 0 1 pinseq=1 } P 300 500 0 500 1 0 1 { T 100 550 5 8 0 1 0 0 1 pinnumber=D T 100 550 5 8 0 1 0 0 1 pinlabel=D T 100 550 5 8 0 1 0 0 1 pintype=in T 100 550 5 8 0 0 0 0 1 pinseq=2 } T 500 200 5 10 1 1 0 2 1 refdes=INV? T 700 765 8 6 1 0 0 0 1 P=2u T 700 665 8 6 1 0 0 0 1 N=1u T 0 165 8 10 0 1 0 0 1 source=inv.sch geda-gaf-1.8.2/symbols/gnetman/nand3.sym0000664000175000017500000000174312204104272014755 00000000000000v 20080706 1 L 300 200 700 200 3 0 0 0 -1 -1 L 300 0 300 1000 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1100 500 1300 500 1 0 1 { T 1000 500 5 8 0 0 0 0 1 pinnumber=Z T 1000 500 5 8 0 0 0 0 1 pinlabel=Z T 1000 500 5 8 0 0 0 0 1 pinseq=1 T 1000 500 5 8 0 0 0 0 1 pintype=out } P 300 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=A T 300 900 5 8 0 0 0 0 1 pinlabel=A T 300 900 5 8 0 0 0 0 1 pinseq=2 T 300 900 5 8 0 0 0 0 1 pintype=in } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=B T 300 500 5 8 0 0 0 0 1 pinlabel=B T 300 500 5 8 0 0 0 0 1 pinseq=3 T 300 500 5 8 0 0 0 0 1 pintype=in } T 400 -100 5 10 1 1 0 2 1 refdes=NAND? L 300 800 700 800 3 0 0 0 -1 -1 T 0 -235 8 10 0 1 0 0 1 source=nand3.sch T 400 565 8 6 1 0 0 0 1 P=2u T 400 465 8 6 1 0 0 0 1 N=1u P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=C T 300 100 5 8 0 0 0 0 1 pinlabel=C T 300 100 5 8 0 0 0 0 1 pinseq=4 T 300 100 5 8 0 0 0 0 1 pintype=in } geda-gaf-1.8.2/symbols/gnetman/vdd.sym0000664000175000017500000000042312204104272014521 00000000000000v 20080706 1 P 200 0 200 200 1 0 0 { T 250 50 5 6 0 1 0 0 1 pinnumber=VDD T 250 50 5 6 0 1 0 0 1 pinlabel=VDD T 250 50 5 6 0 0 0 0 1 pinseq=1 T 250 50 5 6 0 1 0 0 1 pintype=pwr } L 50 200 350 200 3 0 0 0 -1 -1 T 75 250 9 8 1 0 0 0 1 VDD T 450 200 8 10 0 0 0 0 1 device=POWER geda-gaf-1.8.2/symbols/gnetman/vcvs-1.sym0000664000175000017500000000223112204104272015062 00000000000000v 20080706 1 L 1000 600 1000 700 3 0 0 0 -1 -1 L 1000 700 1300 700 3 0 0 0 -1 -1 L 1300 100 1000 100 3 0 0 0 -1 -1 L 1000 200 1000 100 3 0 0 0 -1 -1 P 1300 700 1500 700 1 0 1 { T 1400 800 5 8 0 0 0 0 1 pinnumber=1 T 1400 800 5 8 0 0 0 0 1 pinseq=1 T 1300 700 5 10 0 1 0 0 1 pinlabel=n+ } P 1300 100 1500 100 1 0 1 { T 1400 -100 5 8 0 0 0 0 1 pinnumber=2 T 1400 -100 5 8 0 0 0 0 1 pinseq=2 T 1300 100 5 10 0 1 0 0 1 pinlabel=n- } L 1300 0 1300 800 3 0 0 0 -1 -1 L 500 100 200 100 3 0 0 0 -1 -1 L 200 700 500 700 3 0 0 0 -1 -1 L 200 800 200 0 3 0 0 0 -1 -1 L 200 800 1300 800 3 0 0 0 -1 -1 T 1400 1300 9 8 0 0 0 0 1 spice-type=E L 1300 0 200 0 3 0 0 0 -1 -1 P 200 700 0 700 1 0 1 { T -400 800 5 8 0 0 0 0 1 pinnumber=3 T -400 800 5 8 0 0 0 0 1 pinseq=3 T 200 700 5 10 0 1 0 0 1 pinlabel=nc+ } P 0 100 200 100 1 0 0 { T -400 -100 5 8 0 0 0 0 1 pinnumber=4 T -400 -100 5 8 0 0 0 0 1 pinseq=4 T 0 100 5 10 0 1 0 0 1 pinlabel=nc- } T 1000 500 9 10 1 0 0 0 1 + T 1000 200 9 10 1 0 0 0 1 - T 500 600 9 10 1 0 0 0 1 + T 500 100 9 10 1 0 0 0 1 - T 600 900 8 12 1 1 0 0 1 refdes=E? T 400 400 9 10 1 0 0 0 1 CT T 700 300 8 10 1 1 0 0 1 gain=1 V 1000 400 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/gnetman/clkinv.sym0000664000175000017500000000201112204104272015225 00000000000000v 20080706 1 L 300 700 800 400 3 0 0 0 -1 -1 L 800 400 300 100 3 0 0 0 -1 -1 L 300 700 300 400 3 0 0 0 -1 -1 L 300 400 300 100 3 0 0 0 -1 -1 V 850 400 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1100 400 900 400 1 0 0 { T 915 450 5 8 0 1 0 0 1 pinnumber=Z T 915 450 5 8 0 0 0 0 1 pinlabel=Z T 915 450 5 8 0 0 0 0 1 pintype=out T 915 450 5 8 0 0 0 0 1 pinseq=1 } P 300 400 0 400 1 0 1 { T 100 450 5 8 0 1 0 0 1 pinnumber=D T 100 450 5 8 0 1 0 0 1 pinlabel=D T 100 450 5 8 0 1 0 0 1 pintype=in T 100 450 5 8 0 0 0 0 1 pinseq=2 } T 700 200 5 10 1 1 0 2 1 refdes=CLKINV? T 700 665 8 6 1 0 0 0 1 P=2u T 700 565 8 6 1 0 0 0 1 N=1u T 0 65 8 10 0 1 0 0 1 source=clkinv.sch V 599 581 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 600 800 600 633 1 0 0 { T 600 800 5 10 0 1 0 0 1 pinnumber=EN T 600 800 5 10 0 1 0 0 1 pinseq=4 T 600 800 5 10 0 1 0 0 1 pintype=in T 600 800 5 10 0 1 0 0 1 pinlabel=EN } P 600 0 600 279 1 0 0 { T 600 0 5 10 0 1 0 0 1 pinnumber=E T 600 0 5 10 0 1 0 0 1 pinseq=3 T 600 0 5 10 0 1 0 0 1 pintype=in T 600 0 5 10 0 1 0 0 1 pinlabel=E } geda-gaf-1.8.2/symbols/gnetman/passtrans.sym0000664000175000017500000000177512204104272015775 00000000000000v 20080706 1 L 300 600 300 0 3 0 0 0 -1 -1 L 300 0 1300 600 3 0 0 0 -1 -1 L 1300 600 1300 0 3 0 0 0 -1 -1 L 1300 0 300 600 3 0 0 0 -1 -1 V 800 350 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 300 300 300 1 0 0 { T 0 300 5 10 0 1 0 0 1 pinnumber=D1 T 0 300 5 10 0 1 0 0 1 pinseq=1 T 0 300 5 10 0 1 0 0 1 pintype=pas T 0 300 5 10 0 1 0 0 1 pinlabel=D1 } P 1600 300 1300 300 1 0 0 { T 1600 300 5 10 0 1 0 6 1 pinnumber=D2 T 1600 300 5 10 0 1 0 6 1 pinseq=2 T 1600 300 5 10 0 1 0 6 1 pintype=pas T 1600 300 5 10 0 1 0 6 1 pinlabel=D2 } P 800 600 800 400 1 0 0 { T 800 700 5 10 0 1 90 6 1 pinnumber=EN T 800 700 5 10 0 1 90 6 1 pinseq=3 T 800 700 5 10 0 1 90 6 1 pintype=pas T 800 700 5 10 0 1 90 6 1 pinlabel=EN } P 800 0 800 300 1 0 0 { T 800 -100 5 10 0 1 270 6 1 pinnumber=E T 800 -100 5 10 0 1 270 6 1 pinseq=4 T 800 -100 5 10 0 1 270 6 1 pintype=pas T 800 -100 5 10 0 1 270 6 1 pinlabel=E } T 900 0 8 10 1 1 0 2 1 refdes=X? T 0 -235 8 10 0 1 0 0 1 source=passtrans.sch T 400 365 8 6 1 0 0 0 1 P=2u T 400 265 8 6 1 0 0 0 1 N=1u geda-gaf-1.8.2/symbols/gnetman/lat.sym0000664000175000017500000000113512204104272014525 00000000000000v 20080706 1 P 1300 800 1500 800 1 0 1 { T 1200 800 5 8 0 0 0 0 1 pinnumber=Q T 1100 800 5 8 1 1 0 0 1 pinlabel=Q T 1200 800 5 8 0 0 0 0 1 pinseq=1 T 1200 800 5 8 0 0 0 0 1 pintype=out } P 300 800 0 800 1 0 1 { T 300 800 5 8 0 0 0 0 1 pinnumber=D T 400 800 5 8 1 1 0 0 1 pinlabel=D T 300 800 5 8 0 0 0 0 1 pinseq=2 T 300 800 5 8 0 0 0 0 1 pintype=in } P 800 300 800 0 1 0 1 { T 800 300 5 8 0 0 0 0 1 pinnumber=G T 800 300 5 8 1 1 0 0 1 pinlabel=G T 800 300 5 8 0 0 0 0 1 pinseq=3 T 800 300 5 8 0 0 0 0 1 pintype=in } T 800 500 5 10 1 1 0 3 1 refdes=LAT? B 300 300 1000 1000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/gnetman/out.sym0000664000175000017500000000062212204104272014554 00000000000000v 20080706 1 P 0 100 200 100 1 0 0 { T 150 150 5 6 0 1 0 0 1 pinnumber=D T 150 150 5 6 0 1 0 0 1 pinlabel=D T 150 150 5 6 0 0 0 0 1 pinseq=1 T 0 100 5 10 0 1 0 0 1 pintype=in } L 700 100 600 200 6 0 0 0 -1 -1 L 700 100 600 0 6 0 0 0 -1 -1 T 800 100 8 10 1 1 0 1 1 value=pinlabel T 0 0 8 10 0 1 0 0 1 device=FLAG L 600 200 200 200 3 0 0 0 -1 -1 L 200 0 200 200 3 0 0 0 -1 -1 L 200 0 600 0 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/gnetman/ccvs-1.sym0000664000175000017500000000275212204104272015047 00000000000000v 20080706 1 L 1000 600 800 400 3 0 0 0 -1 -1 L 800 400 1000 200 3 0 0 0 -1 -1 L 1200 400 1000 200 3 0 0 0 -1 -1 L 1200 400 1000 600 3 0 0 0 -1 -1 L 1000 600 1000 700 3 0 0 0 -1 -1 L 1000 700 1300 700 3 0 0 0 -1 -1 L 1300 100 1000 100 3 0 0 0 -1 -1 L 1000 200 1000 100 3 0 0 0 -1 -1 T 900 600 9 10 1 0 0 0 1 + T 900 100 9 10 1 0 0 0 1 - L 1300 0 1300 800 3 0 0 0 -1 -1 L 500 700 500 100 3 0 0 0 -1 -1 L 500 100 200 100 3 0 0 0 -1 -1 L 200 700 500 700 3 0 0 0 -1 -1 L 200 800 200 0 3 0 0 0 -1 -1 L 200 800 1300 800 3 0 0 0 -1 -1 T -200 1000 9 8 0 0 0 0 1 device=SPICE-ccvs L 1300 0 200 0 3 0 0 0 -1 -1 L 1000 200 1000 600 3 0 0 0 -1 -1 L 500 200 550 325 3 0 0 0 -1 -1 L 500 200 450 325 3 0 0 0 -1 -1 P 200 700 0 700 1 0 1 { T -400 800 5 8 0 0 0 0 1 pinlabel=np T -400 800 5 8 0 0 0 0 1 pinseq=3 T 200 700 5 10 0 1 0 0 1 pinnumber=np T 200 700 5 10 0 1 0 0 1 pintype=pas } P 200 100 0 100 1 0 1 { T -400 -100 5 8 0 0 0 0 1 pinnumber=nm T -400 -100 5 8 0 0 0 0 1 pinseq=4 T 200 100 5 10 0 0 0 0 1 pinlabel=nm T 200 100 5 10 0 1 0 0 1 pintype=pas } P 1300 100 1500 100 1 0 1 { T 1400 -100 5 8 0 0 0 0 1 pinnumber=ncm T 1400 -100 5 8 0 0 0 0 1 pinseq=2 T 1300 100 5 10 0 0 0 0 1 pinlabel=ncm T 1300 100 5 10 0 1 0 0 1 pintype=pas } P 1300 700 1500 700 1 0 1 { T 1400 800 5 8 0 0 0 0 1 pinnumber=1 T 1400 800 5 8 0 0 0 0 1 pinseq=1 T 1300 700 5 10 0 1 0 0 1 pinlabel=ncp T 1300 700 5 10 0 1 0 0 1 pintype=pas } T 600 900 8 12 1 1 0 0 1 refdes=H? T 0 0 8 10 0 1 0 0 1 source=ccvs.sch T 1400 300 8 10 1 1 0 0 1 transres=1 geda-gaf-1.8.2/symbols/gnetman/resistor-1.sym0000664000175000017500000000124712204104272015761 00000000000000v 20080706 1 L 600 300 500 100 3 0 0 0 -1 -1 L 500 100 400 300 3 0 0 0 -1 -1 L 400 300 300 100 3 0 0 0 -1 -1 L 300 100 200 300 3 0 0 0 -1 -1 T 300 400 5 10 0 0 0 0 1 spicetype=R L 600 300 700 100 3 0 0 0 -1 -1 L 700 100 750 200 3 0 0 0 -1 -1 P 900 200 750 200 1 0 0 { T 800 250 5 8 0 1 0 0 1 pinnumber=n2 T 800 250 5 8 0 1 0 0 1 pinlabel=n2 T 800 250 5 8 0 0 0 0 1 pinseq=2 T 800 250 5 8 0 0 0 0 1 pintype=pas } P 0 200 152 200 1 0 0 { T 100 250 5 8 0 1 0 0 1 pinnumber=n1 T 100 250 5 8 0 1 0 0 1 pinlabel=n1 T 100 250 5 8 0 0 0 0 1 pinseq=1 T 100 250 5 8 0 0 0 0 1 pintype=pas } L 201 300 150 200 3 0 0 0 -1 -1 T 400 0 8 10 1 1 0 5 1 refdes=R? T 400 400 8 10 1 1 0 3 1 value=1K geda-gaf-1.8.2/symbols/gnetman/io.sym0000664000175000017500000000066212204104272014360 00000000000000v 20080706 1 P 0 100 200 100 1 0 0 { T 150 150 5 6 0 1 0 0 1 pinnumber=D T 150 150 5 6 0 1 0 0 1 pinlabel=D T 150 150 5 6 0 0 0 0 1 pinseq=1 T 0 100 5 10 0 1 0 0 1 pintype=io } L 300 200 700 200 6 0 0 0 -1 -1 L 800 100 700 200 6 0 0 0 -1 -1 L 800 100 700 0 6 0 0 0 -1 -1 T 900 100 8 10 1 1 0 1 1 value=pinlabel T 0 0 8 10 0 1 0 0 1 device=FLAG L 700 0 300 0 3 0 0 0 -1 -1 L 300 200 200 100 3 0 0 0 -1 -1 L 200 100 300 0 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/gnetman/vpwl-1.sym0000664000175000017500000000154112204104272015074 00000000000000v 20080706 1 T 700 650 8 10 1 1 0 0 1 refdes=V? T 700 850 5 10 0 0 0 0 1 spicetype=V T 700 1450 5 10 0 0 0 0 1 description=piece-wise linear signal source P 300 1200 300 900 1 0 0 { T 350 1000 5 8 0 1 0 0 1 pinnumber=1 T 350 1000 5 8 0 1 0 2 1 pinseq=1 T 300 850 9 8 0 1 0 5 1 pinlabel=n+ T 300 700 5 8 0 1 0 5 1 pintype=pas } P 300 0 300 300 1 0 0 { T 350 100 5 8 0 1 0 0 1 pinnumber=2 T 350 100 5 8 0 1 0 2 1 pinseq=2 T 300 350 9 8 0 1 0 3 1 pinlabel=n- T 300 500 5 8 0 1 0 3 1 pintype=pas } V 300 600 300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 700 450 5 10 1 1 0 0 1 voltage=pwl 100n 0 200n 1 T 700 250 5 10 0 1 0 0 1 comment=syntax: pwl t1 v1 t2 v2 ... L 120 500 200 720 3 0 0 0 -1 -1 L 200 720 200 620 3 0 0 0 -1 -1 L 200 620 360 640 3 0 0 0 -1 -1 L 360 640 380 560 3 0 0 0 -1 -1 L 380 560 460 500 3 0 0 0 -1 -1 T 300 900 9 10 1 0 0 5 1 + T 300 300 9 10 1 0 0 3 1 - geda-gaf-1.8.2/symbols/gnetman/nmos.sym0000664000175000017500000000156712204104272014732 00000000000000v 20080706 1 L 400 600 400 200 3 0 0 0 -1 -1 T 600 500 5 10 0 0 0 0 1 spicetype=M L 300 600 300 200 3 0 0 0 -1 -1 L 400 600 600 600 3 0 0 0 -1 -1 L 400 200 600 200 3 0 0 0 -1 -1 P 0 400 300 400 1 0 0 { T 0 500 5 10 0 1 0 0 1 pinnumber=G T 0 500 5 10 0 1 0 0 1 pinlabel=G T 0 500 5 10 0 0 0 0 1 pinseq=2 T 0 400 5 10 0 1 0 0 1 pintype=in } P 600 600 600 800 1 0 1 { T 400 700 5 10 0 1 0 0 1 pinnumber=D T 400 700 5 10 0 1 0 0 1 pinlabel=D T 400 700 5 10 0 0 0 0 1 pinseq=1 T 600 600 5 10 0 1 0 0 1 pintype=io } P 600 200 600 0 1 0 1 { T 400 0 5 10 0 1 0 0 1 pinnumber=S T 400 0 5 10 0 1 0 0 1 pinlabel=S T 400 0 5 10 0 0 0 0 1 pinseq=3 T 600 200 5 10 0 1 0 0 1 pintype=io } T 800 600 8 10 1 1 0 0 1 refdes=M? T 800 200 9 6 1 0 0 0 1 w=1u T 800 300 9 6 0 0 0 0 1 l=.35u T 0 0 8 10 0 1 0 0 1 description=Basic N-MOS transistor T 0 0 8 10 0 1 0 0 1 model=MODN T 0 0 8 10 0 1 0 0 1 net=VSS:B geda-gaf-1.8.2/symbols/gnetman/vccs-1.sym0000664000175000017500000000250612204104272015044 00000000000000v 20080706 1 L 1000 600 800 400 3 0 0 0 -1 -1 L 800 400 1000 200 3 0 0 0 -1 -1 L 1200 400 1000 200 3 0 0 0 -1 -1 L 1200 400 1000 600 3 0 0 0 -1 -1 L 1000 600 1000 700 3 0 0 0 -1 -1 L 1000 700 1300 700 3 0 0 0 -1 -1 L 1300 100 1000 100 3 0 0 0 -1 -1 L 1000 200 1000 100 3 0 0 0 -1 -1 P 1300 700 1500 700 1 0 1 { T 1400 800 5 8 0 0 0 0 1 pinnumber=1 T 1400 800 5 8 0 0 0 0 1 pinseq=1 T 1300 700 5 10 0 1 0 0 1 pinlabel=n+ } P 1300 100 1500 100 1 0 1 { T 1400 -100 5 8 0 0 0 0 1 pinnumber=2 T 1400 -100 5 8 0 0 0 0 1 pinseq=2 T 1300 100 5 10 0 1 0 0 1 pinlabel=n- } L 1300 0 1300 800 3 0 0 0 -1 -1 L 500 100 200 100 3 0 0 0 -1 -1 L 200 700 500 700 3 0 0 0 -1 -1 L 200 800 200 0 3 0 0 0 -1 -1 L 200 800 1300 800 3 0 0 0 -1 -1 T -200 1100 9 8 0 0 0 0 1 spice-type=G L 1300 0 200 0 3 0 0 0 -1 -1 P 200 700 0 700 1 0 1 { T -400 800 5 8 0 0 0 0 1 pinnumber=3 T -400 800 5 8 0 0 0 0 1 pinseq=3 T 200 700 5 10 0 1 0 0 1 pinlabel=nc+ } P 0 100 200 100 1 0 0 { T -400 -100 5 8 0 0 0 0 1 pinnumber=4 T -400 -100 5 8 0 0 0 0 1 pinseq=4 T 0 100 5 10 0 1 0 0 1 pinlabel=nc- } T 500 600 9 10 1 0 0 0 1 + T 500 100 9 10 1 0 0 0 1 - L 800 400 1200 400 3 0 0 0 -1 -1 L 750 200 700 350 3 0 0 0 -1 -1 L 800 350 750 200 3 0 0 0 -1 -1 L 750 625 750 200 3 0 0 0 -1 -1 T 600 900 8 12 1 1 0 0 1 refdes=G? T 600 400 8 10 1 1 0 0 1 transconductance=1 T 300 400 9 10 1 0 0 0 1 CT geda-gaf-1.8.2/symbols/gnetman/vpulse-1.sym0000664000175000017500000000156212204104272015425 00000000000000v 20080706 1 T 700 650 8 10 1 1 0 0 1 refdes=V? T 700 850 5 10 0 0 0 0 1 spicetype=V T 700 1450 5 10 0 0 0 0 1 description=pulse power source, generator V 300 600 300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 700 450 5 10 1 1 0 0 1 voltage=pulse 0 1 10n 10n 100n 1u 2u T 700 250 5 10 0 1 0 0 1 comment=syntax: pulse v1 v2 td tr tf pw per L 375 675 225 675 3 0 0 0 -1 -1 L 375 675 375 525 3 0 0 0 -1 -1 L 375 525 500 525 3 0 0 0 -1 -1 L 225 675 225 525 3 0 0 0 -1 -1 L 225 525 100 525 3 0 0 0 -1 -1 P 300 1200 300 900 1 0 0 { T 350 1000 5 8 0 1 0 0 1 pinnumber=1 T 350 1000 5 8 0 1 0 2 1 pinseq=1 T 300 850 5 8 0 1 0 5 1 pinlabel=n+ T 300 700 5 8 0 1 0 5 1 pintype=pas } P 300 0 300 300 1 0 0 { T 350 100 5 8 0 1 0 0 1 pinnumber=2 T 350 100 5 8 0 1 0 2 1 pinseq=2 T 300 350 5 8 0 1 0 3 1 pinlabel=n- T 300 500 5 8 0 1 0 3 1 pintype=pas } T 300 900 9 10 1 0 0 5 1 + T 300 300 9 10 1 0 0 3 1 - geda-gaf-1.8.2/symbols/gnetman/capacitor-1.sym0000664000175000017500000000116012204104272016046 00000000000000v 20080706 1 P 200 0 200 200 1 0 0 { T 150 100 5 8 0 1 90 0 1 pinnumber=n- T 150 100 5 8 0 1 90 0 1 pinlabel=n- T 150 100 5 8 0 0 90 0 1 pinseq=2 T 150 100 5 8 0 0 90 0 1 pintype=pas } P 200 900 200 700 1 0 0 { T 150 700 5 8 0 1 90 0 1 pinnumber=n+ T 150 700 5 8 0 1 90 0 1 pinlabel=n+ T 150 700 5 8 0 0 90 0 1 pinseq=1 T 150 700 5 8 0 0 90 0 1 pintype=pas } L 0 400 400 400 3 0 0 0 -1 -1 L 0 500 400 500 3 0 0 0 -1 -1 L 200 700 200 500 3 0 0 0 -1 -1 L 200 400 200 200 3 0 0 0 -1 -1 T -400 500 5 10 0 0 0 0 1 spicetype=C T 500 500 8 10 1 1 0 0 1 refdes=C? T 500 300 8 10 1 1 0 0 1 capacitance=1uF T 300 600 9 10 1 0 0 0 1 + geda-gaf-1.8.2/symbols/gnetman/cvstitle.sym0000664000175000017500000000060512204104272015603 00000000000000v 20080706 1 B 0 0 7000 700 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 600 300 9 10 1 1 0 0 1 date=$Date$ T 4500 300 9 10 1 1 0 0 1 rev=$Revision$ T 2500 100 9 10 1 1 0 0 1 auth=$Author$ T 800 500 9 10 1 1 0 0 1 fname=$Source$ T 100 500 15 8 1 0 0 0 1 FILE: T 3600 300 15 8 1 0 0 0 1 REVISION: T 100 100 15 8 1 0 0 0 1 DRAWN BY: T 100 300 15 8 1 0 0 0 1 DATE T 900 1800 8 10 0 0 0 0 1 graphical=1 geda-gaf-1.8.2/symbols/gnetman/dffr.sym0000664000175000017500000000157112204104272014672 00000000000000v 20080706 1 P 1300 800 1500 800 1 0 1 { T 1200 800 5 8 0 0 0 0 1 pinnumber=Q T 1100 800 5 8 1 1 0 0 1 pinlabel=Q T 1200 800 5 8 0 0 0 0 1 pinseq=1 T 1200 800 5 8 0 0 0 0 1 pintype=out } P 300 800 0 800 1 0 1 { T 300 800 5 8 0 0 0 0 1 pinnumber=D T 400 800 5 8 1 1 0 0 1 pinlabel=D T 300 800 5 8 0 0 0 0 1 pinseq=2 T 300 800 5 8 0 0 0 0 1 pintype=in } P 800 300 800 0 1 0 1 { T 800 300 5 8 0 0 0 0 1 pinnumber=CLK T 800 300 5 8 0 0 0 0 1 pinlabel=CLK T 800 300 5 8 0 0 0 0 1 pinseq=3 T 800 300 5 8 0 0 0 0 1 pintype=clk } T 800 600 5 10 1 1 0 3 1 refdes=DFFR? T 0 0 8 10 0 1 0 0 1 source=dffr.sch B 300 300 1000 1000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 700 300 800 500 3 0 0 0 -1 -1 L 900 300 800 500 3 0 0 0 -1 -1 P 800 1600 800 1300 1 0 0 { T 800 1100 5 10 1 1 0 0 1 pinlabel=R T 800 1600 5 10 0 1 0 0 1 pinnumber=R T 800 1600 5 10 0 1 0 0 1 pinseq=4 T 800 1600 5 10 0 1 0 0 1 pintype=in } geda-gaf-1.8.2/symbols/gnetman/vdc-1.sym0000664000175000017500000000121512204104272014656 00000000000000v 20080706 1 T 700 650 8 10 1 1 0 0 1 refdes=V? T 700 850 5 10 0 0 0 0 1 spicetype=V T 700 1250 5 10 0 0 0 0 1 numslots=0 T 700 1450 5 10 0 0 0 0 1 description=dc power source P 300 1200 300 900 1 0 0 { T 350 1000 5 8 0 1 0 0 1 pinnumber=1 T 350 1000 5 8 0 1 0 2 1 pinseq=1 T 300 850 9 8 0 1 0 5 1 pinlabel=n+ T 300 700 5 8 0 1 0 5 1 pintype=pwr } P 300 0 300 300 1 0 0 { T 350 100 5 8 0 1 0 0 1 pinnumber=2 T 350 100 5 8 0 1 0 2 1 pinseq=2 T 300 350 9 8 0 1 0 3 1 pinlabel=n- T 300 500 5 8 0 1 0 3 1 pintype=pwr } V 300 600 300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 700 450 5 10 1 1 0 0 1 voltage=DC 1V T 300 900 9 10 1 0 0 5 1 + T 300 300 9 10 1 0 0 3 1 - geda-gaf-1.8.2/symbols/apex/0000775000175000017500000000000012220655764012616 500000000000000geda-gaf-1.8.2/symbols/apex/pa140-1.sym0000664000175000017500000000331712204104272014240 00000000000000v 20041228 1 L 300 1200 300 200 3 0 0 0 -1 -1 L 300 1200 1400 700 3 0 0 0 -1 -1 L 300 200 1400 700 3 0 0 0 -1 -1 P 1700 700 1400 700 1 0 0 { T 2100 800 5 10 0 1 0 0 1 pinseq=3 T 1700 700 5 10 0 1 0 0 1 pinnumber=5 T 1300 500 9 10 1 1 0 0 1 pinlabel=OUT T 1700 700 5 10 0 1 0 0 1 pintype=out } P 0 1000 300 1000 1 0 0 { T -1500 1800 5 10 0 1 0 0 1 pinseq=2 T 400 900 9 10 1 1 0 0 1 pinlabel=-in T -1500 1800 5 10 0 1 0 0 1 pinnumber=1 T 0 1000 5 10 0 1 0 0 1 pintype=in } P 0 400 300 400 1 0 0 { T -1500 -200 5 10 0 1 0 0 1 pinseq=1 T 400 400 9 10 1 1 0 0 1 pinlabel=+in T 0 400 5 10 0 1 0 0 1 pinnumber=2 T 0 400 5 10 0 1 0 0 1 pintype=in } P 700 100 700 400 1 0 0 { T 600 -600 5 10 0 1 0 0 1 pinseq=6 T 700 100 5 10 0 1 0 0 1 pinnumber=6 T 700 100 5 10 0 1 0 0 1 pintype=io T 800 200 9 10 1 1 0 0 1 pinlabel=C1 } P 1000 200 1000 500 1 0 0 { T 1500 -700 5 10 0 1 0 0 1 pinseq=7 T 1000 200 5 10 0 1 0 0 1 pinnumber=7 T 1000 200 5 10 0 1 0 0 1 pintype=io T 1100 200 9 10 1 1 0 0 1 pinlabel=C2 } T 400 700 8 10 1 1 0 0 1 device=PA140 T 700 2300 8 10 0 0 0 0 1 description=APEX PA140 High Voltage Amplifier T 700 1900 8 10 0 0 0 0 1 numslots=0 T -1500 -700 8 10 0 1 0 0 1 footprint=TO220-7 T 1200 1300 8 10 1 1 0 0 1 refdes=U? P 500 1400 500 1100 1 0 0 { T 500 1400 9 10 1 1 0 0 1 pinlabel=+Vss T 500 1400 5 10 0 1 0 0 1 pintype=pwr T 500 1400 5 10 0 1 0 0 1 pinnumber=3 T 500 1400 5 10 0 1 0 0 1 pinseq=4 } P 500 0 500 300 1 0 0 { T 0 0 9 10 1 1 0 0 1 pinlabel=-Vss T 500 0 5 10 0 1 0 0 1 pintype=pwr T 500 0 5 10 0 1 0 0 1 pinnumber=4 T 500 0 5 10 0 1 0 0 1 pinseq=5 } T 700 1700 8 10 0 0 0 0 1 value=pa140 T 700 2500 8 10 0 0 0 0 1 documentation=http://eportal.apexmicrotech.com/mainsite/pdf/pa140u.pdf T 700 2100 8 10 0 0 0 0 1 symversion=0.1 geda-gaf-1.8.2/symbols/apex/pa91-1.sym0000664000175000017500000000461312204104272014165 00000000000000v 20050820 1 L 300 1200 300 200 3 0 0 0 -1 -1 L 300 1200 1400 700 3 0 0 0 -1 -1 L 300 200 1400 700 3 0 0 0 -1 -1 P 1700 700 1400 700 1 0 0 { T 2200 800 5 10 0 1 0 0 1 pinseq=6 T 1700 700 5 10 0 1 0 0 1 pinnumber=6 T 1300 500 9 10 1 1 0 0 1 pinlabel=OUT T 1700 700 5 10 0 1 0 0 1 pintype=out } P 0 1000 300 1000 1 0 0 { T -1500 1800 5 10 0 1 0 0 1 pinseq=1 T -1500 1800 5 10 0 1 0 0 1 pinnumber=1 T 0 1000 5 10 0 1 0 0 1 pintype=in T 400 900 9 10 1 1 0 0 1 pinlabel=-in } P 0 400 300 400 1 0 0 { T -1500 -200 5 10 0 1 0 0 1 pinseq=2 T 400 400 9 10 1 1 0 0 1 pinlabel=+in T 0 400 5 10 0 1 0 0 1 pinnumber=2 T 0 400 5 10 0 1 0 0 1 pintype=in } P 1100 1000 800 1000 1 0 0 { T 1400 1200 5 10 0 1 0 0 1 pinseq=9 T 700 1100 9 10 1 1 0 0 1 pinlabel=ILIM T 1100 1000 5 10 0 1 0 0 1 pinnumber=9 T 1100 1000 5 10 0 1 0 0 1 pintype=io } P 700 100 700 400 1 0 0 { T 600 -600 5 10 0 1 0 0 1 pinseq=4 T 700 100 5 10 0 1 0 0 1 pinnumber=4 T 700 100 5 10 0 1 0 0 1 pintype=io T 800 200 9 10 1 1 0 0 1 pinlabel=C1 } P 1000 200 1000 500 1 0 0 { T 1500 -700 5 10 0 1 0 0 1 pinseq=5 T 1000 200 5 10 0 1 0 0 1 pinnumber=5 T 1000 200 5 10 0 1 0 0 1 pintype=io T 1100 200 9 10 1 1 0 0 1 pinlabel=C2 } T 400 700 8 10 1 1 0 0 1 device=PA91 T 600 2100 5 10 0 0 0 0 1 description=APEX PA91 High Voltage Amplifier T 0 0 8 10 0 1 0 0 1 slot=1 T 600 2300 5 10 0 0 0 0 1 documentation=http://eportal.apexmicrotech.com/mainsite/pdf/pa91u.pdf T 600 1900 5 10 0 0 0 0 1 footprint=SIP02 T 1200 1300 8 10 1 1 0 0 1 refdes=U? P 500 1400 500 1100 1 0 0 { T 500 1400 5 10 0 1 0 0 1 pintype=pwr T 500 1400 5 10 0 1 0 0 1 pinnumber=11 T 500 1400 5 10 0 1 0 0 1 pinseq=11 T 0 1300 9 10 1 1 0 0 1 pinlabel=+Vss } P 500 0 500 300 1 0 0 { T 0 0 9 10 1 1 0 0 1 pinlabel=-Vss T 500 0 5 10 0 1 0 0 1 pintype=pwr T 500 0 5 10 0 1 0 0 1 pinnumber=7 T 500 0 5 10 0 1 0 0 1 pinseq=7 } P 600 1400 600 1100 1 0 0 { T 600 1400 5 10 0 1 0 0 1 pinnumber=12 T 600 1400 5 10 0 1 0 0 1 pinseq=12 T 600 1400 5 10 0 1 0 0 1 pintype=pwr T 600 1400 5 10 0 1 0 0 1 pinlabel=+Vss2 } P 600 0 600 300 1 0 0 { T 600 0 5 10 0 1 0 0 1 pinnumber=8 T 600 0 5 10 0 1 0 0 1 pinseq=8 T 600 0 5 10 0 1 0 0 1 pintype=pwr T 600 0 5 10 0 1 0 0 1 pinlabel=-Vss2 } P 1300 900 1000 900 1 0 0 { T 1300 900 5 10 0 1 0 0 1 pinseq=10 T 1300 900 5 10 0 1 0 0 1 pinnumber=10 T 1300 900 5 10 0 1 0 0 1 pintype=io T 1300 900 5 10 0 1 0 0 1 pinlabel=ILIM2 } T 600 2500 5 10 0 0 0 0 1 symversion=0.1 T 600 2700 5 10 0 0 0 0 1 numslots=0 geda-gaf-1.8.2/symbols/radio/0000775000175000017500000000000012220655765012760 500000000000000geda-gaf-1.8.2/symbols/radio/osc_coil_aircore-1.sym0000664000175000017500000000101212204104272017040 00000000000000v 20031231 1 A 700 2400 200 90 180 3 0 0 0 -1 -1 T 2100 2800 5 10 0 0 0 0 1 device=OSC_COIL A 700 2000 200 90 180 3 0 0 0 -1 -1 A 700 1600 200 90 180 3 0 0 0 -1 -1 A 700 1200 200 90 180 3 0 0 0 -1 -1 A 700 800 200 90 180 3 0 0 0 -1 -1 A 900 800 200 270 180 3 0 0 0 -1 -1 A 900 1200 200 270 180 3 0 0 0 -1 -1 A 900 1600 200 270 180 3 0 0 0 -1 -1 T 1000 300 9 10 1 0 0 0 1 OSC COIL L 700 600 900 600 3 0 0 0 -1 -1 P 900 1800 1700 1800 1 0 1 P 700 2600 0 2600 1 0 1 P 800 600 800 0 1 0 1 T 1000 2300 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/radio/loop_antenna-1.sym0000664000175000017500000000104512204104272016225 00000000000000v 20031231 1 P 600 700 600 0 1 0 1 T 100 2600 9 10 1 0 0 0 1 LOOP ANTENNA P 1300 700 1300 0 1 0 1 L 600 700 600 900 3 0 0 0 -1 -1 L 600 900 0 900 3 0 0 0 -1 -1 L 1300 700 1300 900 3 0 0 0 -1 -1 L 1900 900 1300 900 3 0 0 0 -1 -1 L 0 900 0 2500 3 0 0 0 -1 -1 L 1700 2500 1700 1100 3 0 0 0 -1 -1 L 200 1100 200 2300 3 0 0 0 -1 -1 L 200 2300 1900 2300 3 0 0 0 -1 -1 L 1900 2300 1900 900 3 0 0 0 -1 -1 L 0 2500 1700 2500 3 0 0 0 -1 -1 T 2000 2400 5 10 0 0 0 0 1 device=LOOP_ANTENNA L 1700 1100 200 1100 3 0 0 0 -1 -1 T 1900 2400 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/radio/af_output_transformer-1.sym0000664000175000017500000000113712204104272020202 00000000000000v 20031231 1 A 1400 1600 200 90 180 3 0 0 0 -1 -1 A 1400 1200 200 90 180 3 0 0 0 -1 -1 A 1400 800 200 90 180 3 0 0 0 -1 -1 A 600 2100 200 270 180 3 0 0 0 -1 -1 A 600 1700 200 270 180 3 0 0 0 -1 -1 A 600 1300 200 270 180 3 0 0 0 -1 -1 A 600 900 200 270 180 3 0 0 0 -1 -1 A 600 500 200 270 180 3 0 0 0 -1 -1 L 900 2400 900 300 3 0 0 0 -1 -1 L 1100 2400 1100 300 3 0 0 0 -1 -1 T 1300 2400 5 10 0 0 0 0 1 device=AF_OUTPUT_TRANSFORMER P 600 2300 0 2300 1 0 1 P 600 300 0 300 1 0 1 P 1400 1800 2000 1800 1 0 1 P 1400 600 1900 600 1 0 1 T 0 0 9 10 1 0 0 0 1 TRANSFORMER AF OUT T 1300 2100 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/radio/if_trans_aircore-1.sym0000664000175000017500000000470712204104272017071 00000000000000v 20031231 1 A 1250 1750 150 90 180 3 0 0 0 -1 -1 A 1250 1450 150 90 180 3 0 0 0 -1 -1 A 1250 1150 150 90 180 3 0 0 0 -1 -1 A 1250 850 150 90 180 3 0 0 0 -1 -1 A 1250 550 150 90 180 3 0 0 0 -1 -1 A 1950 1750 150 270 180 3 0 0 0 -1 -1 A 1950 1450 150 270 180 3 0 0 0 -1 -1 A 1950 1150 150 270 180 3 0 0 0 -1 -1 A 1950 850 150 270 180 3 0 0 0 -1 -1 A 1950 550 150 270 180 3 0 0 0 -1 -1 L 1200 1900 700 1900 3 0 0 0 -1 -1 T 1600 2900 5 10 0 0 0 0 1 device=IF_TRANSFORMER L 700 1900 700 1600 3 0 0 0 -1 -1 L 1900 1900 2500 1900 3 0 0 0 -1 -1 L 2500 1900 2500 1600 3 0 0 0 -1 -1 L 700 700 700 400 3 0 0 0 -1 -1 L 700 400 1200 400 3 0 0 0 -1 -1 L 2000 400 2500 400 3 0 0 0 -1 -1 L 2500 400 2500 700 3 0 0 0 -1 -1 L 2300 900 2700 1400 3 0 0 0 -1 -1 L 2700 1400 2700 1300 3 0 0 0 -1 -1 L 2700 1400 2600 1400 3 0 0 0 -1 -1 L 400 2100 600 2100 3 0 0 0 -1 -1 L 700 2100 900 2100 3 0 0 0 -1 -1 L 1000 2100 1200 2100 3 0 0 0 -1 -1 L 1300 2100 1500 2100 3 0 0 0 -1 -1 L 1600 2100 1800 2100 3 0 0 0 -1 -1 L 2000 2100 2200 2100 3 0 0 0 -1 -1 L 2300 2100 2500 2100 3 0 0 0 -1 -1 L 2600 2100 2800 2100 3 0 0 0 -1 -1 L 2900 2000 2900 1900 3 0 0 0 -1 -1 L 2900 1800 2900 1600 3 0 0 0 -1 -1 L 2900 1500 2900 1300 3 0 0 0 -1 -1 L 2900 1200 2900 1000 3 0 0 0 -1 -1 L 2900 900 2900 700 3 0 0 0 -1 -1 L 2900 600 2900 400 3 0 0 0 -1 -1 L 2900 300 2900 200 3 0 0 0 -1 -1 L 2800 200 2600 200 3 0 0 0 -1 -1 L 400 2000 400 1800 3 0 0 0 -1 -1 L 400 1700 400 1500 3 0 0 0 -1 -1 L 400 1400 400 1200 3 0 0 0 -1 -1 L 400 1100 400 900 3 0 0 0 -1 -1 L 400 800 400 600 3 0 0 0 -1 -1 L 400 500 400 300 3 0 0 0 -1 -1 L 400 200 600 200 3 0 0 0 -1 -1 L 800 200 1000 200 3 0 0 0 -1 -1 L 1100 200 1300 200 3 0 0 0 -1 -1 L 1400 200 1600 200 3 0 0 0 -1 -1 L 1700 200 1900 200 3 0 0 0 -1 -1 L 2000 200 2200 200 3 0 0 0 -1 -1 L 2300 200 2500 200 3 0 0 0 -1 -1 P 700 1900 0 1900 1 0 1 P 700 400 700 0 1 0 1 P 2500 1900 3300 1900 1 0 1 T 400 2200 9 10 1 0 0 0 1 IF TRANSFORMER L 500 1100 900 1100 3 0 0 0 -1 -1 L 500 1200 900 1200 3 0 0 0 -1 -1 L 700 1400 700 1200 3 0 0 0 -1 -1 L 700 1100 700 900 3 0 0 0 -1 -1 L 2300 1100 2700 1100 3 0 0 0 -1 -1 L 2300 1200 2700 1200 3 0 0 0 -1 -1 L 2500 1400 2500 1200 3 0 0 0 -1 -1 L 2500 1100 2500 900 3 0 0 0 -1 -1 L 500 900 900 1400 3 0 0 0 -1 -1 L 900 1400 900 1300 3 0 0 0 -1 -1 L 900 1400 800 1400 3 0 0 0 -1 -1 P 2500 400 2500 0 1 0 1 L 2500 1600 2500 1400 3 0 0 0 -1 -1 L 700 1600 700 1400 3 0 0 0 -1 -1 L 700 900 700 700 3 0 0 0 -1 -1 L 2500 900 2500 700 3 0 0 0 -1 -1 T 2700 2200 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/radio/README0000664000175000017500000000020712204104272013537 00000000000000 These will be moved to a better named directory once they are generalized (if that's even possible). -Ales 12/13/98 geda-gaf-1.8.2/symbols/radio/loop_antenna-2.sym0000664000175000017500000000137512204104272016234 00000000000000v 20031231 1 L 1200 3800 3600 3800 3 0 0 0 -1 -1 T 3400 4200 5 10 0 0 0 0 1 device=LOOP_ANTENNA L 3600 3800 3600 1300 3 0 0 0 -1 -1 L 3600 1300 1100 1300 3 0 0 0 -1 -1 L 1100 1300 1100 3500 3 0 0 0 -1 -1 L 1100 3500 3400 3500 3 0 0 0 -1 -1 L 3400 3500 3400 1600 3 0 0 0 -1 -1 L 3400 1600 1300 1600 3 0 0 0 -1 -1 L 1300 1600 1300 3300 3 0 0 0 -1 -1 L 1300 3300 3100 3300 3 0 0 0 -1 -1 L 3100 3300 3100 1800 3 0 0 0 -1 -1 L 3100 1800 1600 1800 3 0 0 0 -1 -1 L 1600 1800 1600 3000 3 0 0 0 -1 -1 L 1600 3000 2900 3000 3 0 0 0 -1 -1 L 2900 3000 2900 1900 3 0 0 0 -1 -1 L 2900 1900 1800 1900 3 0 0 0 -1 -1 L 1800 1900 1800 800 3 0 0 0 -1 -1 P 1200 3800 100 3800 1 0 1 P 1800 800 1800 100 1 0 1 T 1300 4000 9 10 1 0 0 0 1 LOOP ANTENNA T 3600 3900 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/switcap/0000775000175000017500000000000012220655765013334 500000000000000geda-gaf-1.8.2/symbols/switcap/switcap-timing-1.sym0000664000175000017500000000045412204104272017066 00000000000000v 20031231 1 T 1700 700 8 10 1 0 0 0 1 PERIOD=1e-6 B 0 0 4500 1500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 0 400 4500 400 3 0 0 0 -1 -1 T 100 1100 9 20 1 0 0 0 1 Switcap Timing Block T 1800 3400 8 10 0 1 0 0 1 device=SWITCAP-timing T 100 100 8 10 1 1 0 0 1 refdes=TIMING T 3400 100 8 10 0 1 0 0 1 net=GND:1 geda-gaf-1.8.2/symbols/switcap/switcap-vcvs-1.sym0000664000175000017500000000255212204104272016561 00000000000000v 20031231 1 L 1000 600 800 400 3 0 0 0 -1 -1 L 800 400 1000 200 3 0 0 0 -1 -1 L 1200 400 1000 200 3 0 0 0 -1 -1 L 1200 400 1000 600 3 0 0 0 -1 -1 L 1000 600 1000 700 3 0 0 0 -1 -1 L 1000 700 1300 700 3 0 0 0 -1 -1 L 1300 100 1000 100 3 0 0 0 -1 -1 L 1000 200 1000 100 3 0 0 0 -1 -1 P 1300 700 1500 700 1 0 1 { T 1400 800 5 8 0 0 0 0 1 pinnumber=1 T 1400 800 5 8 0 0 0 0 1 pinseq=1 T 1325 725 5 10 0 1 0 0 1 pinlabel=OP T 1300 700 5 10 0 1 0 0 1 pintype=out } P 1300 100 1500 100 1 0 1 { T 1400 -100 5 8 0 0 0 0 1 pinnumber=2 T 1400 -100 5 8 0 0 0 0 1 pinseq=2 T 1325 125 5 10 0 1 0 0 1 pinlabel=OM T 1300 100 5 10 0 1 0 0 1 pintype=out } L 1300 0 1300 800 3 0 0 0 -1 -1 L 500 100 200 100 3 0 0 0 -1 -1 L 200 700 500 700 3 0 0 0 -1 -1 L 200 800 200 0 3 0 0 0 -1 -1 L 200 800 1300 800 3 0 0 0 -1 -1 T -200 1000 9 8 0 0 0 0 1 device=SWITCAP-vcvs L 1300 0 200 0 3 0 0 0 -1 -1 P 200 700 0 700 1 0 1 { T -400 800 5 8 0 0 0 0 1 pinnumber=3 T -400 800 5 8 0 0 0 0 1 pinseq=3 T 25 725 5 10 0 1 0 0 1 pinlabel=IP T 200 700 5 10 0 1 0 0 1 pintype=in } P 0 100 200 100 1 0 0 { T -400 -100 5 8 0 0 0 0 1 pinnumber=4 T -400 -100 5 8 0 0 0 0 1 pinseq=4 T 25 125 5 10 0 1 0 0 1 pinlabel=IM T 0 100 5 10 0 1 0 0 1 pintype=in } T 900 600 9 10 1 0 0 0 1 + T 900 100 9 10 1 0 0 0 1 - T 500 600 9 10 1 0 0 0 1 + T 500 100 9 10 1 0 0 0 1 - T 600 900 8 12 1 1 0 0 1 refdes=E? T 300 300 8 12 1 1 0 0 1 gain=1 geda-gaf-1.8.2/symbols/switcap/switcap-vcvs-3.sym0000664000175000017500000000154212204104272016561 00000000000000v 20031231 1 P 1200 500 1400 500 1 0 1 { T 1300 600 5 8 0 0 0 0 1 pinnumber=1 T 1300 600 5 8 0 0 0 0 1 pinseq=1 T 1200 350 5 10 0 1 0 0 1 pinlabel=OP T 1200 500 5 10 0 1 0 0 1 pintype=out } L 200 1000 200 0 3 0 0 0 -1 -1 L 200 1000 1200 500 3 0 0 0 -1 -1 T -200 1100 9 8 0 0 0 0 1 device=SWITCAP-vcvs L 1200 500 200 0 3 0 0 0 -1 -1 P 200 700 0 700 1 0 1 { T -400 800 5 8 0 0 0 0 1 pinnumber=3 T -400 800 5 8 0 0 0 0 1 pinseq=3 T 25 725 5 10 0 1 0 0 1 pinlabel=IP T 200 700 5 10 0 1 0 0 1 pintype=in } P 0 300 200 300 1 0 0 { T -400 100 5 8 0 0 0 0 1 pinnumber=4 T -400 100 5 8 0 0 0 0 1 pinseq=4 T 25 325 5 10 0 1 0 0 1 pinlabel=IM T 0 300 5 10 0 1 0 0 1 pintype=in } T 600 800 8 12 1 1 0 0 1 refdes=E? T 250 450 8 12 1 1 0 0 1 gain=1 T 500 700 8 10 0 1 0 0 1 net=GND:2 L 250 300 350 300 3 0 0 0 -1 -1 L 350 700 250 700 3 0 0 0 -1 -1 L 300 750 300 650 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/switcap/switcap-capacitor-1.sym0000664000175000017500000000114712204104272017544 00000000000000v 20031231 1 P 0 200 200 200 1 0 0 { T 100 250 5 8 0 1 0 0 1 pinnumber=1 T 100 250 5 8 0 0 0 0 1 pinseq=1 T 0 200 5 10 0 1 0 0 1 pinlabel=A T 0 200 5 10 0 1 0 0 1 pintype=io } P 900 200 700 200 1 0 0 { T 700 250 5 8 0 1 0 0 1 pinnumber=2 T 700 250 5 8 0 0 0 0 1 pinseq=2 T 900 200 5 10 0 1 0 0 1 pinlabel=B T 900 200 5 10 0 1 0 0 1 pintype=io } L 400 400 400 0 3 0 0 0 -1 -1 L 500 400 500 0 3 0 0 0 -1 -1 L 700 200 500 200 3 0 0 0 -1 -1 L 400 200 200 200 3 0 0 0 -1 -1 T 300 600 5 10 0 0 0 0 1 device=SWITCAP-capacitor T 600 300 8 10 1 1 0 0 1 refdes=C? T 0 0 8 10 0 1 0 0 1 pins=2 T 600 0 8 10 1 1 0 0 1 value=1.0 geda-gaf-1.8.2/symbols/switcap/switcap-vsrc-1.sym0000664000175000017500000000113212204104272016546 00000000000000v 20031231 1 P 0 200 200 200 1 0 0 { T 100 250 5 8 0 1 0 0 1 pinnumber=1 T 100 250 5 8 0 0 0 0 1 pinseq=1 T 0 200 5 10 0 1 0 0 1 pinlabel=A T 0 200 5 10 0 1 0 0 1 pintype=io } P 900 200 700 200 1 0 0 { T 700 250 5 8 0 1 0 0 1 pinnumber=2 T 700 250 5 8 0 0 0 0 1 pinseq=2 T 900 200 5 10 0 1 0 0 1 pinlabel=B T 900 200 5 10 0 1 0 0 1 pintype=io } V 450 200 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 100 500 5 10 0 0 0 0 1 device=SWITCAP-vsrc L 200 200 250 200 3 0 0 0 -1 -1 L 650 200 700 200 3 0 0 0 -1 -1 A 400 200 50 0 180 3 0 0 0 -1 -1 A 500 200 50 180 180 3 0 0 0 -1 -1 T 300 500 8 10 1 1 0 0 1 refdes=V? geda-gaf-1.8.2/symbols/switcap/switcap-switch-1.sym0000664000175000017500000000076012204104272017100 00000000000000v 20031231 1 L 300 400 500 200 3 0 0 0 -1 -1 T 100 400 5 10 0 0 0 0 1 device=SWITCAP-switch P 500 200 800 200 1 0 1 { T 650 250 5 8 0 1 0 0 1 pinnumber=2 T 650 250 5 8 0 0 0 0 1 pinseq=2 T 500 200 5 10 0 1 0 0 1 pinlabel=B T 500 200 5 10 0 1 0 0 1 pintype=io } P 300 200 0 200 1 0 1 { T 100 250 5 8 0 1 0 0 1 pinnumber=1 T 100 250 5 8 0 0 0 0 1 pinseq=1 T 300 200 5 10 0 1 0 0 1 pinlabel=A T 300 200 5 10 0 1 0 0 1 pintype=io } T 300 0 8 10 1 1 0 0 1 clock=clk T 400 400 8 10 1 1 0 0 1 refdes=S? geda-gaf-1.8.2/symbols/switcap/switcap-options-1.sym0000664000175000017500000000054512204104272017273 00000000000000v 20031231 1 T 200 700 8 10 1 0 0 0 1 OPTIONS=WIDTH132; NOLIST; REPORT; NOOVRLAY; GRID; NUMBER; CHKCLK; B 0 0 7600 1500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 0 400 7600 400 3 0 0 0 -1 -1 T 1700 1100 9 20 1 0 0 0 1 Switcap Options Block T 1800 3400 8 10 0 1 0 0 1 device=SWITCAP-options T 100 100 8 10 1 1 0 0 1 refdes=OPTIONS T 3400 100 8 10 0 1 0 0 1 net=GND:1 geda-gaf-1.8.2/symbols/switcap/switcap-analysis-1.sym0000664000175000017500000000045212204104272017420 00000000000000v 20031231 1 B 0 0 4400 1300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 0 400 4400 400 3 0 0 0 -1 -1 T 200 900 9 20 1 0 0 0 1 Switcap Analysis Block T 1800 3400 8 10 0 1 0 0 1 device=SWITCAP-analysis T 200 100 8 10 1 1 0 0 1 refdes=ANA? T 200 600 8 10 1 0 0 0 1 file=none T 3700 100 8 10 0 1 0 0 1 net=GND:1 geda-gaf-1.8.2/symbols/switcap/switcap-vcvs-2.sym0000664000175000017500000000210612204104272016555 00000000000000v 20031231 1 P 800 300 1000 300 1 0 1 { T 900 400 5 8 0 0 0 0 1 pinnumber=1 T 900 400 5 8 0 0 0 0 1 pinseq=1 T 800 150 5 10 0 1 0 0 1 pinlabel=OP T 800 300 5 10 0 1 0 0 1 pintype=out } P 800 700 1000 700 1 0 1 { T 900 500 5 8 0 0 0 0 1 pinnumber=2 T 900 500 5 8 0 0 0 0 1 pinseq=2 T 800 725 5 10 0 1 0 0 1 pinlabel=OM T 800 700 5 10 0 1 0 0 1 pintype=out } L 200 1000 200 0 3 0 0 0 -1 -1 L 200 1000 1200 500 3 0 0 0 -1 -1 T -200 1100 9 8 0 0 0 0 1 device=SWITCAP-vcvs L 1200 500 200 0 3 0 0 0 -1 -1 P 200 700 0 700 1 0 1 { T -400 800 5 8 0 0 0 0 1 pinnumber=3 T -400 800 5 8 0 0 0 0 1 pinseq=3 T 25 725 5 10 0 1 0 0 1 pinlabel=IP T 200 700 5 10 0 1 0 0 1 pintype=in } P 0 300 200 300 1 0 0 { T -400 100 5 8 0 0 0 0 1 pinnumber=4 T -400 100 5 8 0 0 0 0 1 pinseq=4 T 25 325 5 10 0 1 0 0 1 pinlabel=IM T 0 300 5 10 0 1 0 0 1 pintype=in } T 400 900 8 12 1 1 0 0 1 refdes=E? T 250 450 8 12 1 1 0 0 1 gain=1 L 250 700 350 700 3 0 0 0 -1 -1 L 300 750 300 650 3 0 0 0 -1 -1 L 350 300 250 300 3 0 0 0 -1 -1 L 600 300 700 300 3 0 0 0 -1 -1 L 650 250 650 350 3 0 0 0 -1 -1 L 700 700 600 700 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/switcap/switcap-title-1.sym0000664000175000017500000000045312204104272016717 00000000000000v 20031231 1 T 200 700 8 10 1 0 0 0 1 TITLE=my title B 0 0 4500 1500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 0 400 4500 400 3 0 0 0 -1 -1 T 500 1100 9 20 1 0 0 0 1 Switcap Title Block T 1800 3400 8 10 0 1 0 0 1 device=SWITCAP-title T 100 100 8 10 1 1 0 0 1 refdes=TITLE T 3400 100 8 10 0 1 0 0 1 net=GND:1 geda-gaf-1.8.2/symbols/switcap/switcap-clock-1.sym0000664000175000017500000000052112204104272016665 00000000000000v 20031231 1 T 200 100 8 10 1 0 0 0 1 PERIOD=1 B 0 0 4500 1300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 100 900 9 20 1 0 0 0 1 Switcap Clock Definition T 1800 3400 8 10 0 1 0 0 1 device=SWITCAP-clock T 1700 100 8 10 1 0 0 0 1 PSTART=0 T 3200 100 8 10 1 0 0 0 1 PSTOP=3/8 T 1900 500 8 10 1 1 0 0 1 refdes=CLK? T 2200 100 8 10 0 1 0 0 1 net=GND:1 geda-gaf-1.8.2/symbols/lattice/0000775000175000017500000000000012220655765013307 500000000000000geda-gaf-1.8.2/symbols/lattice/isp2032-1.sym0000664000175000017500000001473112204104272015207 00000000000000v 20031231 1 P 2100 4100 2100 4400 1 0 1 { T 2150 3550 3 10 1 1 90 0 1 pinlabel=GND1 T 2075 4150 5 8 1 1 90 0 1 pinnumber=1 T 2075 4150 5 8 0 0 90 0 1 pinseq=1 } P 0 3200 300 3200 1 0 0 { T 350 3175 3 8 1 1 0 0 1 pinlabel=IO28 T 100 3250 5 8 1 1 0 0 1 pinnumber=7 T 100 3250 5 8 0 0 0 0 1 pinseq=7 } T 1500 2800 5 10 0 0 0 0 1 device=ISP2032 P 1100 300 1100 0 1 0 1 { T 1175 350 3 8 1 1 90 0 1 pinlabel=IO3 T 1225 50 5 8 1 1 90 0 1 pinnumber=18 T 1225 50 5 8 0 0 90 0 1 pinseq=18 } T 1700 2200 9 10 1 0 0 0 1 isp2032 P 1900 4100 1900 4400 1 0 1 { T 1950 3450 3 10 1 1 90 0 1 pinlabel=GOE0 T 1875 4150 5 8 1 1 90 0 1 pinnumber=2 T 1875 4150 5 8 0 0 90 0 1 pinseq=2 } P 1700 4100 1700 4400 1 0 1 { T 1750 3600 3 10 1 1 90 0 1 pinlabel=IO24 T 1675 4150 5 8 1 1 90 0 1 pinnumber=3 T 1675 4150 5 8 0 0 90 0 1 pinseq=3 } P 1500 4100 1500 4400 1 0 1 { T 1550 3600 3 10 1 1 90 0 1 pinlabel=IO25 T 1475 4150 5 8 1 1 90 0 1 pinnumber=4 T 1475 4150 5 8 0 0 90 0 1 pinseq=4 } P 1300 4100 1300 4400 1 0 1 { T 1350 3600 3 10 1 1 90 0 1 pinlabel=IO26 T 1275 4150 5 8 1 1 90 0 1 pinnumber=5 T 1275 4150 5 8 0 0 90 0 1 pinseq=5 } P 1100 4100 1100 4400 1 0 1 { T 1163 3609 3 10 1 1 90 0 1 pinlabel=IO27 T 1075 4150 5 8 1 1 90 0 1 pinnumber=6 T 1075 4150 5 8 0 0 90 0 1 pinseq=6 } P 2300 4100 2300 4400 1 0 1 { T 2350 3600 3 10 1 1 90 0 1 pinlabel=IO23 T 2275 4150 5 8 1 1 90 0 1 pinnumber=44 T 2275 4150 5 8 0 0 90 0 1 pinseq=44 } P 2500 4100 2500 4400 1 0 1 { T 2550 3600 3 10 1 1 90 0 1 pinlabel=IO22 T 2475 4150 5 8 1 1 90 0 1 pinnumber=43 T 2475 4150 5 8 0 0 90 0 1 pinseq=43 } P 2700 4100 2700 4400 1 0 1 { T 2750 3650 3 10 1 1 90 0 1 pinlabel=IO21 T 2675 4150 5 8 1 1 90 0 1 pinnumber=42 T 2675 4150 5 8 0 0 90 0 1 pinseq=42 } P 2900 4100 2900 4400 1 0 1 { T 2950 3600 3 10 1 1 90 0 1 pinlabel=IO20 T 2875 4150 5 8 1 1 90 0 1 pinnumber=41 T 2875 4150 5 8 0 0 90 0 1 pinseq=41 } P 3100 4100 3100 4400 1 0 1 { T 3150 3650 3 10 1 1 90 0 1 pinlabel=IO19 T 3075 4150 5 8 1 1 90 0 1 pinnumber=40 T 3075 4150 5 8 0 0 90 0 1 pinseq=40 } L 300 4100 3900 4100 3 0 0 0 -1 -1 P 0 3000 300 3000 1 0 0 { T 350 2975 3 8 1 1 0 0 1 pinlabel=IO29 T 100 3050 5 8 1 1 0 0 1 pinnumber=8 T 100 3050 5 8 0 0 0 0 1 pinseq=8 } P 0 2800 300 2800 1 0 0 { T 350 2775 3 8 1 1 0 0 1 pinlabel=IO30 T 100 2850 5 8 1 1 0 0 1 pinnumber=9 T 100 2850 5 8 0 0 0 0 1 pinseq=9 } P 0 2600 300 2600 1 0 0 { T 350 2575 3 8 1 1 0 0 1 pinlabel=IO31 T 100 2650 5 8 1 1 0 0 1 pinnumber=10 T 100 2650 5 8 0 0 0 0 1 pinseq=10 } P 0 2400 300 2400 1 0 0 { T 350 2375 3 8 1 1 0 0 1 pinlabel=Y0 T 100 2450 5 8 1 1 0 0 1 pinnumber=11 T 100 2450 5 8 0 0 0 0 1 pinseq=11 } P 0 2200 300 2200 1 0 0 { T 350 2175 3 8 1 1 0 0 1 pinlabel=VCC1 T 100 2250 5 8 1 1 0 0 1 pinnumber=12 T 100 2250 5 8 0 0 0 0 1 pinseq=12 } P 0 2000 300 2000 1 0 0 { T 350 1975 3 8 1 1 0 0 1 pinlabel=nISPEN T 100 2050 5 8 1 1 0 0 1 pinnumber=13 T 100 2050 5 8 0 0 0 0 1 pinseq=13 } P 0 1800 300 1800 1 0 0 { T 350 1775 3 8 1 1 0 0 1 pinlabel=SDI/IN0 T 100 1850 5 8 1 1 0 0 1 pinnumber=14 T 100 1850 5 8 0 0 0 0 1 pinseq=14 } P 0 1600 300 1600 1 0 0 { T 350 1575 3 8 1 1 0 0 1 pinlabel=IO0 T 100 1650 5 8 1 1 0 0 1 pinnumber=15 T 100 1650 5 8 0 0 0 0 1 pinseq=15 } P 0 1400 300 1400 1 0 0 { T 350 1375 3 8 1 1 0 0 1 pinlabel=IO1 T 100 1450 5 8 1 1 0 0 1 pinnumber=16 T 100 1450 5 8 0 0 0 0 1 pinseq=16 } P 0 1200 300 1200 1 0 0 { T 350 1175 3 8 1 1 0 0 1 pinlabel=IO2 T 100 1250 5 8 1 1 0 0 1 pinnumber=17 T 100 1250 5 8 0 0 0 0 1 pinseq=17 } L 300 4100 300 300 3 0 0 0 -1 -1 P 1300 300 1300 0 1 0 1 { T 1375 350 3 8 1 1 90 0 1 pinlabel=IO4 T 1425 50 5 8 1 1 90 0 1 pinnumber=19 T 1425 50 5 8 0 0 90 0 1 pinseq=19 } P 1500 300 1500 0 1 0 1 { T 1575 350 3 8 1 1 90 0 1 pinlabel=IO5 T 1625 50 5 8 1 1 90 0 1 pinnumber=20 T 1625 50 5 8 0 0 90 0 1 pinseq=20 } L 300 300 3900 300 3 0 0 0 -1 -1 L 3900 4100 3900 300 3 0 0 0 -1 -1 P 3900 1200 4200 1200 1 0 1 { T 3550 1175 3 8 1 1 0 0 1 pinlabel=IO12 T 4000 1250 5 8 1 1 0 0 1 pinnumber=29 T 4000 1250 5 8 0 0 0 0 1 pinseq=29 } P 1700 300 1700 0 1 0 1 { T 1775 350 3 8 1 1 90 0 1 pinlabel=IO6 T 1825 50 5 8 1 1 90 0 1 pinnumber=21 T 1825 50 5 8 0 0 90 0 1 pinseq=21 } P 1900 300 1900 0 1 0 1 { T 1975 350 3 8 1 1 90 0 1 pinlabel=IO7 T 2025 50 5 8 1 1 90 0 1 pinnumber=22 T 2025 50 5 8 0 0 90 0 1 pinseq=22 } P 2100 300 2100 0 1 0 1 { T 2175 350 3 8 1 1 90 0 1 pinlabel=GND2 T 2225 50 5 8 1 1 90 0 1 pinnumber=23 T 2225 50 5 8 0 0 90 0 1 pinseq=23 } P 2500 300 2500 0 1 0 1 { T 2575 350 3 8 1 1 90 0 1 pinlabel=IO8 T 2625 50 5 8 1 1 90 0 1 pinnumber=25 T 2625 50 5 8 0 0 90 0 1 pinseq=25 } P 2700 300 2700 0 1 0 1 { T 2775 350 3 8 1 1 90 0 1 pinlabel=IO9 T 2825 50 5 8 1 1 90 0 1 pinnumber=26 T 2825 50 5 8 0 0 90 0 1 pinseq=26 } P 2900 300 2900 0 1 0 1 { T 2975 350 3 8 1 1 90 0 1 pinlabel=IO10 T 3025 50 5 8 1 1 90 0 1 pinnumber=27 T 3025 50 5 8 0 0 90 0 1 pinseq=27 } P 2300 300 2300 0 1 0 1 { T 2375 350 3 8 1 1 90 0 1 pinlabel=SDO/IN1 T 2425 50 5 8 1 1 90 0 1 pinnumber=24 T 2425 50 5 8 0 0 90 0 1 pinseq=24 } P 3100 300 3100 0 1 0 1 { T 3175 350 3 8 1 1 90 0 1 pinlabel=IO11 T 3225 50 5 8 1 1 90 0 1 pinnumber=28 T 3225 50 5 8 0 0 90 0 1 pinseq=28 } P 3900 1400 4200 1400 1 0 1 { T 3550 1375 3 8 1 1 0 0 1 pinlabel=IO13 T 4000 1450 5 8 1 1 0 0 1 pinnumber=30 T 4000 1450 5 8 0 0 0 0 1 pinseq=30 } P 3900 1600 4200 1600 1 0 1 { T 3550 1575 3 8 1 1 0 0 1 pinlabel=IO14 T 4000 1650 5 8 1 1 0 0 1 pinnumber=31 T 4000 1650 5 8 0 0 0 0 1 pinseq=31 } P 3900 1800 4200 1800 1 0 1 { T 3550 1775 3 8 1 1 0 0 1 pinlabel=IO15 T 4000 1850 5 8 1 1 0 0 1 pinnumber=32 T 4000 1850 5 8 0 0 0 0 1 pinseq=32 } P 3900 2000 4200 2000 1 0 1 { T 3200 1975 3 8 1 1 0 0 1 pinlabel=SCLK/Y2 T 4000 2050 5 8 1 1 0 0 1 pinnumber=33 T 4000 2050 5 8 0 0 0 0 1 pinseq=33 } P 3900 2200 4200 2200 1 0 1 { T 3450 2175 3 8 1 1 0 0 1 pinlabel=VCC2 T 4000 2250 5 8 1 1 0 0 1 pinnumber=34 T 4000 2250 5 8 0 0 0 0 1 pinseq=34 } P 3900 2400 4200 2400 1 0 1 { T 3050 2375 3 8 1 1 0 0 1 pinlabel=nRESET/Y1 T 4000 2450 5 8 1 1 0 0 1 pinnumber=35 T 4000 2450 5 8 0 0 0 0 1 pinseq=35 } P 3900 2600 4200 2600 1 0 1 { T 3400 2575 3 8 1 1 0 0 1 pinlabel=MODE T 4000 2650 5 8 1 1 0 0 1 pinnumber=36 T 4000 2650 5 8 0 0 0 0 1 pinseq=36 } P 3900 2800 4200 2800 1 0 1 { T 3550 2775 3 8 1 1 0 0 1 pinlabel=IO16 T 4000 2850 5 8 1 1 0 0 1 pinnumber=37 T 4000 2850 5 8 0 0 0 0 1 pinseq=37 } P 3900 3000 4200 3000 1 0 1 { T 3550 2975 3 8 1 1 0 0 1 pinlabel=IO17 T 4000 3050 5 8 1 1 0 0 1 pinnumber=38 T 4000 3050 5 8 0 0 0 0 1 pinseq=38 } P 3900 3200 4200 3200 1 0 1 { T 3550 3175 3 8 1 1 0 0 1 pinlabel=IO18 T 4000 3250 5 8 1 1 0 0 1 pinnumber=39 T 4000 3250 5 8 0 0 0 0 1 pinseq=39 } T 300 4200 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/ChangeLog-1.00000664000175000017500000016061412204104272013640 000000000000002007-05-25 Ales Hvezda * configure.ac: Updated version to 20070526 in prep for the next release. 2007-04-10 Ales Hvezda * system-gafrc.in, font/Omega.sym: Added upper case greek omega character by Jens Persson. 2007-02-15 Carlos Nieves Onega * system-gafrc.in, font/mu_.sym: Added the greek mu character. 2007-02-14 Carlos Nieves Onega * system-gafrc.in, font/o_-double-acute-accent.sym, font/O-double-acute-accent.sym font/u_-double-acute-accent.sym, font/U-double-acute-accent.sym: Added the four missing characters for the complete hungarian charset: - o and O with double acute accent, - u and U with double acute accent. They were contributed by Sztrik Jnos. Thanks. 2006-02-10 Ales Hvezda * configure.ac: Bumped package version to 20070216. 2006-10-20 Ales Hvezda * configure.ac: Bumped package version to 20061020. 2006-09-27 Carlos Nieves Onega * configure.ac : Applied patch #1564796 by Cesar Strauss, enabling Cygwin's compilation. Thanks. 2006-09-26 Werner Hoch * 4000/4022-2.sym, connector/mains-entry-1.sym, maxim/max186-1.sym, memory/HM628511HC-SOJ36-1.sym, memory/am27S13D-1.sym, micro/ATmega16L-1.sym, micro/pic12F675-2.sym, pla/N82S100N-1.sym, xilinx/XC95108-PC84.sym, supervisor/adm707.sym, opto/hcpl-4534-1.sym: fixed offgrid pins inside the symbols 2006-09-24 Carlos Nieves Onega * linear/lm311-1.sym: Removed the GND false connection of the symbol. That pin was not really connected to ground. Thanks to Ramakrishnan Muthukrishnan for reporting the bug and John Luciani for the fix. 2006-09-06 Ales Hvezda * configure.ac: Updated program version to 20060906. 2006-08-21 Ales Hvezda * README: Updated the README a little to be ready for the next release. 2006-08-19 Ales Hvezda * configure.ac: Bumped version number to 20060821 in prep for the next gEDA/gaf release. 2006-08-14 Ales Hvezda * micro/ATmega8-1.sym: Applied bug fix to pinlabel by Sascha Silbe * asic/*.sym: Added a bunch of symbols by Peter Kaiser 2006-07-14 Carlos Nieves Onega * misc/nc-*.sym: Added graphical=1, device=DRC_Directive, value=NoConnection attributes to the NC symbols. This change, and the directives support included into gnetlist, fixed bug #1442910 and allows to use the nc-* symbols without shorting the nets to a new NoConnection net. 2006-05-20 Ales Hvezda * system-gafrc.in: Added default setting for always-promote-attributes 2006-04-07 Carlos Nieves Onega * asic/asic-cap-1.sym, asic/asic-cap-2.sym, asic/asic-cap-3.sym, asic/asic-diode-1.sym, asic/asic-nmos-1.sym, asic/asic-pmos-1.sym, asic/asic-res-1.sym, asic/asic-res-2.sym, asic/asic-res-3.sym, asic/asic-cap-4.sym: Added missing pintype and pinlabel attributes. 2006-04-02: Werner Hoch * micro/ATmega16L-1.sym: fixed Port label 2006-03-23: Werner Hoch * ecl/MC10E104-1.sym, ecl/MC10E136-1.sym, ecl/MC10E137-1.sym, ecl/MC10E137-2.sym, ecl/MC12429-1.sym, ecl/MC100ELT23-1.sym: changed negation marks from "\" to "\\". This is necessary to keep them visible after the introduction of the new overbar feature 2006-02-05: Werner Hoch * spice/cccs-1.sym, spice/ccvs-1.sym, spice/vccs-1.sym, spice/vcvs-1.sym: added value attribute, pinlabels fixed 2006-01-16 Ales Hvezda * configure.ac: Bumped package version to 20060123 * README: Updated for the new year and release. 2005-12-09 Carlos Nieves Onega * analog/current-1.sym, analog/nmos-2.sym, analog/npn-1.sym, analog/npn-2.sym, analog/npn-3.sym, analog/npn-IGBT-1.sym, analog/ntc-1.sym, analog/photo-resistor-1.sym, analog/photo-transistor-1.sym, analog/photodiode-1.sym, analog/pmos-1.sym, analog/pmos-2.sym, analog/pnp-1.sym, analog/pnp-2.sym, analog/pnp-3.sym, analog/pot-bourns.sym, analog/pwrxfmr-1.sym, analog/quad_opamp-1.sym, analog/resistor-1.sym, analog/resistor-2.sym, analog/resistor-variable-1.sym, analog/resistor-variable-2.sym, analog/resistorpack10-1.sym, analog/resistorpack11-1.sym, analog/resistorpack12-1.sym, analog/resistorpack3-1.sym, analog/resistorpack4-1.sym, analog/resistorpack5-1.sym, analog/resistorpack6-1.sym, analog/resistorpack7-1.sym, analog/resistorpack7-2.sym, analog/resistorpack8-1.sym, analog/resistorpack8-2.sym, analog/resistorpack9-1.sym, analog/speaker-1.sym, analog/speaker-2.sym, analog/transformer-1.sym, analog/transformer-2.sym, analog/transformer-3.sym, analog/transformer-4.sym, analog/transformer-5.sym, analog/triac-1.sym, analog/txo-1.sym, analog/voltage-1.sym, analog/voltage-2.sym, analog/voltage-3.sym, analog/voltmeter-1.sym, connector/BNC-1.sym, connector/DB15-1.sym, connector/DB25-1.sym, connector/DB25-2.sym, connector/DB25-3.sym, connector/DB31-1.sym, connector/DB37-1.sym, connector/DB9-1.sym, connector/DB9-2.sym, connector/DIN41617C13-1.sym, connector/DIN41617C15-1.sym, connector/DIN41617C31-1.sym, connector/MCX-1.sym, connector/connector1-2.sym, connector/connector10-1.sym, connector/connector10-2.sym, connector/connector11-2.sym, connector/connector12-1.sym, connector/connector12-2.sym, connector/connector13-2.sym, connector/connector14-2.sym, connector/connector15-1.sym, connector/connector15-2.sym, connector/connector16-1.sym, connector/connector16-2.sym, connector/connector17-2.sym, connector/connector18-2.sym, connector/connector19-1.sym, connector/connector19-2.sym, connector/connector2-1.sym, connector/connector2-2.sym, connector/connector20-1.sym, connector/connector20-2.sym, connector/connector21-2.sym, connector/connector22-2.sym, connector/connector23-2.sym, connector/connector24-2.sym, connector/connector25-2.sym, connector/connector26-1.sym, connector/connector26-2.sym, connector/connector27-2.sym, connector/connector28-2.sym, connector/connector29-2.sym, connector/connector3-1.sym, connector/connector3-2.sym, connector/connector30-2.sym, connector/connector31-2.sym, connector/connector32-2.sym, connector/connector33-2.sym, connector/connector34-2.sym, connector/connector35-2.sym, connector/connector36-2.sym, connector/connector37-2.sym, connector/connector38-2.sym, connector/connector39-2.sym, connector/connector4-1.sym, connector/connector4-2.sym, connector/connector40-2.sym, connector/connector41-1.sym, connector/connector5-1.sym, connector/connector5-2.sym, connector/connector6-1.sym, connector/connector6-2.sym, connector/connector7-2.sym, connector/connector8-1.sym, connector/connector8-2.sym, connector/connector9-1.sym, connector/connector9-2.sym, connector/dip24-1.sym, connector/gpib-1.sym, connector/header10-1.sym, connector/header10-2.sym, connector/header16-1.sym, connector/header18-2.sym, connector/header20-1.sym, connector/header20-2.sym, connector/header20-3.sym, connector/header22-1.sym, connector/header26-1.sym, connector/header26-2.sym, connector/header3-1.sym, connector/header32-2.sym, connector/header34-1.sym, connector/header40-2.sym, connector/header50-1.sym, connector/header50-2.sym, connector/header50-3.sym, connector/header50r-1.sym, connector/header8-1.sym, connector/header8-2.sym, connector/jumper-1.sym, connector/mains-plug-1.sym, connector/mains-plug-2.sym, connector/pwrjack-1.sym, connector/rs232-idc10.sym, diode/diode-1.sym, diode/diode-2.sym, diode/diode-3.sym, diode/diode-bridge-1.sym, diode/led-2.sym, diode/mbr1545ct-1.sym, diode/smda05-1.sym, diode/zener-1.sym, diode/zener-2.sym, diode/zener-3.sym, diode/zener-4.sym, power/12V-minus-1.sym, power/12V-plus-1.sym, power/3.3V-plus-1.sym, power/5V-minus-1.sym, power/5V-plus-1.sym, power/9V-minus-1.sym, power/9V-plus-1.sym, power/generic-power.sym, power/gnd-1.sym, power/gnd-2.sym, power/vcc-1.sym, power/vcc-2.sym, power/vcc-minus-1.sym, power/vcc-orcad-circle-1.sym, power/vdd-1.sym, power/vee-1.sym, power/vss-1.sym, relay/aromat-tq4.sym, relay/omron-G5V-1-DCx-1.sym, relay/omron_g2r_24_dc5.sym, spice/aop-spice-1.sym, spice/cccs-1.sym, spice/ccvs-1.sym, spice/spice-npn-1.sym, spice/spice-pnp-1.sym, spice/spice-subcircuit-IO-1.sym, spice/spice-vc-switch-1.sym, spice/tline.sym, spice/vccs-1.sym, spice/vcvs-1.sym, spice/wline-1x.sym, switch/relay-1.sym, switch/ssrelay-spdt-lcc110-1.sym, switch/ssrelay-spst-lcb110-1.sym, switch/switch-LORLIN-12pos-1com-1.sym, switch/switch-dip12.sym, switch/switch-dip4-1.sym, switch/switch-dip4-2.sym, switch/switch-dip5-1.sym, switch/switch-dip5-2.sym, switch/switch-dip6-1.sym, switch/switch-dip6-2.sym, switch/switch-dip8-1.sym, switch/switch-dip8-2.sym, switch/switch-pushbutton-nc-1.sym, switch/switch-pushbutton-nc-2.sym, switch/switch-pushbutton-no-1.sym, switch/switch-pushbutton-spdt-1.sym, switch/switch-spdt-1.sym, switch/switch-spdt-2.sym, switch/switch-spst-1.sym, transistor/2N2222-1.sym, transistor/2N3055-1.sym, transistor/2N3904-1.sym, transistor/2N3904-2.sym, transistor/2N3906-1.sym, transistor/2N5245-1.sym, transistor/2N5911-1.sym, transistor/BC182-1.sym, transistor/BC307-1.sym, transistor/BC547-1.sym, transistor/BC547-2.sym, transistor/BC547-3.sym, transistor/BC557-1.sym, transistor/BC557-2.sym, transistor/IRF1010N-1.sym, transistor/IRLZ24N-1.sym, transistor/ULN2003-1.sym, transistor/ULN2801A-1.sym, transistor/dgnmos-1.sym, transistor/ips3310-1.sym, transistor/ips521-1.sym, transistor/mosfet-with-diode-1.sym: Fixed pintype and pinlabel attributes. 2005-10-04 Werner Hoch * bus/pc104B-1.sym: added missing pinseq * connector/DB37-1.sym: pinseq corrected * connector/DIN41612C*: added pinattributes * connector/smart-media-1.sym: pintype corrected, graphical rework * ecl/*: added documentation (symbols are still bad) * idt/idt7204-1.sym/*: added documentation (still bad) 2005-09-12 Werner Hoch * analog/*: added missing attributs, fixed a few symbols 2005-09-11 Stuart Brorson * analog/jj-1.sym, spice/kmutual-1.sym: added symbols contributed by Paul Bunyk. 2005-08-19 Ales Hvezda * configure.ac: Bumped the package version to 20050820 which will be a real snapshot. 2005-08-17 03:00 Dan McMahill * system-gafrc.in: add amphenol library 2005-08-17 02:57 Dan McMahill * Makefile.am: add amphenol symbols 2005-08-17 02:56 Dan McMahill * amphenol/31-71043-1.sym: add amphenol 31-71043 BNC connector 2005-08-14 Ales Hvezda * configure.ac: Updated package version to 20050814. This is a temporary version and not a real release number. 2005-03-25 Werner Hoch * memory/27C2001-1.sym: lowercase pintype * memory/*: added some datasheet links * micro/AT89C5131_PLCC-1.sym: added missing pins, ... 2005-03-14 07:13 Dan McMahill * maxim/: max12527-1.sym, max12557-1.sym: add 2 more Maxim high speed ADCs 2005-03-13 Ales Hvezda * transistor/BC557-1.sym: Replaced this symbol with BC557-2.sym and bumped symversion= to 1.0 * misc/PCF8563-1.sym: Removed duplicate symbol. 2005-03-12 Patrick Bernaud * font/: * system-gafrc.in: Added polish font definitions provided by Wojciech Kazubski. 2005-03-11 Patrick Bernaud * font/*.sym: Converted special character definitions to UTF-8. * system-gafrc.in: Converted file to UTF-8 and rewrote the code for declaration of special characters. 2005-03-08 Ales Hvezda * configure.ac: Bumped version to 20050313 2005-03-06 Ales Hvezda * system-gafrc.in, font/newline.sym: Fixed up hashtable filling scheme code to use the newline.sym file instead of excl.sym and fixed newline.sym to contain something to allow a critical code path within o_text_basic.nw (line 744) to execute. 2005-03-06 Werner Hoch * micro/pic12c5xx-1.sym: removed accidently added power nets 2005-03-05 Carlos Nieves Onega * system-gafrc.in: Include font character to file map. 2005-01-29 Werner Hoch * 4000/4002-2.sym, 4000/4016-2.sym, 4000/4027-1.sym, 4000/4528-1.sym, 4000/4538-1.sym, 74/74124-1.sym, 74/74124-2.sym, analog/darlington_NPN-1.sym, analog/dual-opamp-1.sym, analog/quad_opamp-1.sym, diode/smda05-1.sym, ecl/MC10E104-2.sym, linear/lm339-1.sym, linear/lm393-1.sym, misc/ADG601-1.sym, misc/ADG602-1.sym, misc/ADG619-1.sym, misc/ADG620-1.sym, switch/ssrelay-spdt-lcc110-1.sym, apex/pa140-1.sym, apex/pa91-1.sym: repaired slotdef and pinseq errors, misc small changes 2005-01-22 Ales Hvezda * Removed system-commonrc.in from CVS as system-gafrc.in has replaced it 2005-01-15 Werner Hoch * memory/27C256-1.sym, memory/27512-1.sym, memory/27256-1.sym: corrected footprint * maxim/max1480A-1.sym, maxim/max1011-2.sym, maxim/max1011-1.sym: corrected net attributes 2005-01-06 Stuart Brorson * system-commonrc.in: renamed this file system-gafrc.in. * Makefile.am, configure.ac: changed to accomodate system-gafrc * spice/spice-npn-1.sym, spice/spice-npn-1.sym, spice/spice-vc-switch-1.sym: Added SPICE symbols. 2005-01-06 Werner Hoch * maxim/*sym: added documentation, pinlabel, pintype, fixed several symbol errors, * analog/ntc-1.sym: contained a component, fixed * linear/lm135-1.sym, transistor/2N5245-1.sym, transistor/2N5911-1.sym: added pinattributes 2004-12-28 Ales Hvezda * allegro/3967-1.sym allegro/3967-2.sym irf/ips021-1.sym maxim/DS1307-1.sym maxim/DS89C450-1.sym maxim/max662A-1.sym memory/27C2001-1.sym micro/ATmega128-1.sym micro/ATmega128-2.sym micro/ATmega128-3.sym micro/ATmega64-1.sym micro/FT245BM-1.sym micro/pic16F628-2.sym micro/pic18F242-1.sym micro/staver24m32-1.sym misc/6A259-1.sym misc/ADG601-1.sym misc/ADG602-1.sym misc/ADG619-1.sym misc/ADG620-1.sym national/ADC0831-1.sym national/DS1620-1.sym national/DS75176-1.sym: Checked in another set of user contributed symbols * misc/osc-3.sym: Added another symbol by Karel * asic/*.sym: Removed old asic library symbols and replaced with Peter's Jun 2004 asic_spice_primitive symbols. * system-commonrc.in: Commented back in the asic library now that the symbols have unique names. * asicpads asicpads/*.sym: Added new symbol library for Peter's asic_pad symbol library 2004-12-27 Ales Hvezda * configure.ac: Updated version to 20041228 * Created new component library directories: mini-circuits st apex allegro irf * 74/7404-4.sym 74/74133-2.sym 74/7414-2.sym 74/74238-1.sym 74/7432-3.sym 74/7474-3.sym 74/74power-1.sym analog/capacitor-4.sym analog/darlington_NPN_PNP-1.sym analog/transformer-5.sym analog/varistor-1.sym connector/DB25-3.sym connector/connector1-2.sym connector/connector10-2.sym connector/connector11-2.sym connector/connector12-2.sym connector/connector13-2.sym connector/connector14-2.sym connector/connector15-2.sym connector/connector16-2.sym connector/connector17-2.sym connector/connector18-2.sym connector/connector19-2.sym connector/connector2-2.sym connector/connector20-2.sym connector/connector21-2.sym connector/connector22-2.sym connector/connector23-2.sym connector/connector24-2.sym connector/connector25-2.sym connector/connector26-2.sym connector/connector27-2.sym connector/connector28-2.sym connector/connector29-2.sym connector/connector3-2.sym connector/connector30-2.sym connector/connector31-2.sym connector/connector32-2.sym connector/connector33-2.sym connector/connector34-2.sym connector/connector35-2.sym connector/connector36-2.sym connector/connector37-2.sym connector/connector38-2.sym connector/connector39-2.sym connector/connector4-2.sym connector/connector40-2.sym connector/connector5-2.sym connector/connector6-2.sym connector/connector7-2.sym connector/connector8-2.sym connector/connector9-2.sym connector/mains-entry-1.sym connector/terminal-1.sym diode/schottky-1.sym io/LCD-1.sym io/TEC4x3-1.sym linear/lm319-1.sym linear/lm723-1.sym linear/lp2954IT-1.sym maxim/max1206-1.sym maxim/max1207-1.sym maxim/max1208-1.sym maxim/max1209-1.sym maxim/max122-1.sym maxim/max12553-1.sym maxim/max12554-1.sym maxim/max12555-1.sym maxim/max507-1.sym memory/25Cxx-1.sym memory/2732-1.sym memory/AT45db021bso8w-1.sym memory/HM628511HC-SOJ36-1.sym micro/AT89C5131_PLCC-1.sym micro/AT89C5132_TQFP-1.sym micro/AT89S53-24PI-1.sym micro/ATmega16L-1.sym micro/ATmega16_DIP-1.sym micro/ATmega32MLF-1.sym micro/ATmega8-1.sym micro/ATtiny15L-1.sym micro/pic12F675-1.sym micro/pic12F675-2.sym micro/pic16F628-1.sym micro/pic18F4431-1.sym misc/75176-1.sym misc/MC34063-1.sym misc/dc_motor-1.sym misc/ir2110-1.sym misc/ltp-757g-1.sym opto/hsdl3612-1.sym philips/PCF8563-1.sym spice/gnucap-directive-1.sym spice/gnucap-include-1.sym spice/gnucap-model-1.sym spice/gnucap-npn-1.sym spice/gnucap-options-1.sym switch/switch-dip12.sym transistor/2N2222-1.sym transistor/2N3904-2.sym transistor/2N3906-1.sym transistor/BC182-1.sym transistor/BC307-1.sym transistor/BC547-2.sym transistor/BC547-3.sym transistor/BC557-2.sym transistor/ips3310-1.sym transistor/ips521-1.sym: Added a whole bunch of contributed symbols. Some of these were added without any modification, others with minor tweaks, and some had significant enough changes to warrent a symversion=1.0 2004-12-13 Werner Hoch * linear/lt1782-1.sym: duplicate pinnumber repaired * pintype corrected to [in,out,io,...] * misc file format corrections 2004-12-10 Werner Hoch * opto/hcpl-2430-1.sym added * repaired pinlabels, repaired some file format errors 2004-11-07 Werner Hoch * 4000/4006-2.sym: added missing pin, symversion, repaired wrong pinnames * 4000/4042-1.sym, 4000/4042-2.sym, 4000/40147-1.sym, 4000/4352-1.sym, 4000/4353-1.sym, 4000/4515-1.sym,: corrected footprint * 4000/4534-1.sym: added missing pins, symversion=1.0 * memory/HM6264P15-1.sym: pinlabel A9 corrected 2004-11-05 Werner Hoch * 74/74123-2.sym, 74/74124-1.sym, 74/74133-1.sym, 74/74159-1.sym 74161-2.sym, 74168-1.sym, 74169-1.sym, 74265-1.sym, 74/7495-1.sym: Repaired symbol, added symversion=1.0 * 74/7447-1.sym, 74/7446-1.sym, 74/7448-1.sym: added lamp test pin, added symversion=1.0 * 74/7497-1.sym: repaired whichend, added missing pin, symversion 2004-07-06 Ales Hvezda * 4000/4002-1.sym 4000/40107-1.sym 4000/4011-1.sym 4000/4012-1.sym 4000/4023-1.sym 4000/4025-1.sym 4000/4030-1.sym 4000/4068-1.sym 4000/4070-1.sym 4000/4072-1.sym 4000/4073-1.sym 4000/4075-1.sym 4000/4078-1.sym 4000/4081-1.sym 4000/4082-1.sym 4000/4085-1.sym: Completely redrew most of these symbols. These are the first symbols to get a symversion= attribute to signify that they have changed in a major way. * 4000/40107-2.sym: Moved this file to 40107-1.sym since -1 was completely broken and wrong. 2004-07-03 Ales Hvezda * configure.ac: Updated version to 20040710 * system-commonrc.in: Moved local component library to the end (searched first, since these are user symbols). This is a bug reported by Eric Winsor. 2004-01-11 Ales Hvezda * configure.ac: Updated version to 20040111 2004-01-06 Ales Hvezda * 4000/40106-1.sym 4000/4061-1.sym 4000/4062-1.sym 4000/4513-1.sym 4000/4580-1.sym 4000/4723-1.sym analog/pot-1.sym analog/pot-2.sym: Changed the footprint= attribute to be none (not None or NONE). 2004-01-04 Ales Hvezda * DS26LS31-1.sym 74133-1.sym switch-spdt-2.sym 2N3904-1.sym (added footprint) BC547-1.sym BC557-1.sym tl062-1.sym tl072-1.sym tl082-1.sym 7404-1.sym (corrected visible attribute) mc3487-1.sym: Added a bunch of symbol by Karel Kulhavy * font/A-acute-accent.sym, E-acute-accent.sym, I-acute-accent.sym, N-tilde.sym, O-acute-accent.sym, U-acute-accent.sym, a_-acute-accent.sym, e_-acute-accent.sym, excl-open.sym, i_-acute-accent.sym, n_-tilde.sym, o_-acute-accent.sym, quest-open.sym, u_-acute-accent.sym: Added a bunch of new spanish characters by Carlos. * Makefile.am, configure.ac, system-commonrc.in, gnetman/*.sym: Added gnetman symbol library and symbols. (updated symbols to the latest file format: 1) * 74/74259-1.sym analog/darlington_NPN-1.sym analog/photo-transistor-1.sym analog/resistorpack7-2.sym connector/header50-3.sym connector/header50r-1.sym connector/rj45-1.sym linear/lm337-1.sym maxim/adm202-1.sym maxim/adm202-2.sym memory/628512-1.sym misc/HIP4080A-1.sym misc/HIP4081A-1.sym misc/mc3479-1.sym national/DS2405-1.sym national/DS26C31-1.sym national/DS26C32-2.sym national/DS2890_TO92-1.sym opto/CNY17-1.sym opto/K3020P-1.sym opto/hcnr201-1.sym, analog/pot-1.sym analog/pot-2.sym analog/testpt-1.sym symbols/misc/PCF8563-1.sym: Added a bunch of contributed symbols. Thanks everybody! * system-commonrc.in: Commented out the following conflicting component-libraries: vhdl/ verilog/ asic/ gnetman/ Note this libraries are only commented out temporary, just until the component search limitation is fixed. (see jitterbug #9) Also commented out the automatic symbol search mechanism. * */*.sym: Updated all symbols to creation date 20031231. 20031231 will be the last version where this will be done. 2004-01-03 Ales Hvezda * Makefile.am, configure.ac, system-commonrc.in, cascade/*.sym: Added RF Cascade symbol library and symbols. (updated symbols to the latest file format: 1) * micro/AT89S8252-24PC-1.sym, MSP430x11x1.sym, basicstamp-1.sym, pic16C74A-1.sym, AT90S8535J-1.sym, MSP430x11x2.sym, AT90S8535P-1.sym, MSP430x12x.sym, mc68hc05j1a-1.sym, pic16F876-1.sym, ATmega323-1.sym, MSP430x12x2.sym, mc68hc705kj1-1.sym, pic16F877-1.sym, DS1602-1.sym, MSP430x13-4x.sym, mc68hc811e2fn-1.sym, pic16F877A-1.sym, DS2450-1.sym, MSP430x15-6x.sym, mc68hc812a4-1.sym, pic16c505-1.sym, DS2480B-1.sym, MSP430x41x.sym, mc68hc908gp32cp-1.sym, pic16c5x-1.sym, DS80C310-1.sym, MSP430x43x.sym, mc68hc912b32-1.sym, sx28ac-1.sym, DS80C320-1.sym, MSP430x44x.sym, pic12c5xx-1.sym, z80pio-1.sym: Check in all of Werner's changes to the symbols in the micro directory. Thanks Werner. * Makefile.am, configure.ac, system-commonrc.in, asic/*.sym: Added asic symbol library and symbols (created by Peter Kaiser). I translated some of the symbols to the origin. Thanks Peter. 2003-12-31 Ales Hvezda * configure.ac: Bumped version to 20031231 2003-11-09 Ales Hvezda * autogen.sh: Added script to generate all the auto* generated files. * config.guess config.sub depcomp install-sh mkinstalldirs missing: Removed machine generated files from CVS. * Makefile.am: Added the above files to be cleaned during maintainer-clean 2003-10-19 Ales Hvezda * Updated all symbols to file format version 1. * font/newline.sym: Added dummy font definition to get rid of a warning. This file is not really used. 2003-10-19 Werner Hoch symbol rework in micro/ * 6821-1.sym: added missing pinlabel and pintype * 6821-2.sym: correct some pintypes, prettified * 8031.sym: added missing pin, repaired * 8052basic-1.sym: added pintype * 8086-1.sym: added pinlabel/pintype, missing negation bubbles * ACE1202-1.sym: put pinlabels into pin{} * 8088-1.sym, 8254-1.sym, 8255A-1.sym, 8259A-1.sym: put pinlabels into pin{} added pintype * AT89C2051-1.sym, AT89C51_DIP.sym, AT89C51_PLCC.sym, AT89C51_TQFP.sym: replaced i/o with io, added numslots=0, description * AT43USB320A.sym, AT90S1200.sym, AT90S2323.sym, AT90S2343.sym, AT90S4433_DIP.sym, AT90S4433_TQFP.sym, AT90S8515_DIP.sym, AT90S8515_PLCC.sym, AT90S8515_TQFP.sym, AT90S8535_DIP.sym, AT90S8535_PLCC.sym, AT90S8535.sym, AT90S8535_TQFP.sym, ATmega103.sym, ATmega161_DIP.sym, ATmega161_TQFP.sym, ATmega163_DIP.sym, ATtiny11.sym, ATmega163_TQFP.sym, ATtiny12.sym, ATtiny28_DIP.sym, ATtiny28_TQFP.sym: added numslots=0, author, rearanged pintype 2003-10-18 Ales Hvezda * configure.ac: Updated version to something more recent, but this version is not an official release. 2003-10-04 Ales Hvezda * configure.ac: Updated version to something more recent, but this version is not an official release. 2003-09-28 Ales Hvezda * */*.sym: Updated all symbols and font defs to the latest version, hopefully for the last time since I have added a file format version to the "v" tag. 2003-09-27 Ales Hvezda * connector/mains-plug-1.sym: Deleted device= attribute which was out in la la land. 2003-09-20 Ales Hvezda * configure.ac: Fixed MinGW cflags/ldflags * auto* files: Updated to autoconf 2.57 and automake 1.7.6 * */*.sym: Updated all symbols to the latest version 2003-09-01 Ales Hvezda * linear/lm339-1.sym: Added note to warn people not to use this symbol. This symbol will eventually be removed. * 74/74688-2.sym connector/header26-2.sym connector/header32-2.sym linear/lm2576T-1.sym linear/lm339-2.sym maxim/max1211-1.sym maxim/max6674-1.sym micro/6821-2.sym opto/810-1.sym: Added contributed symbols. * 4000/4049-1.sym 4000/4050-1.sym: Applied symbol patch by Gabriel Paubert to fix the broken 4049-1 symbol. * configure.ac: Added --with-docdir and supporting macros. This fixes a problem with gschemdoc not finding the manual. 2003-08-30 Ales Hvezda * *.sym: Updated all symbols and font definitions to 20030901 * connector/DB15-1.sym: Added new symbol by Gabriel Paubert. Thanks. 2003-08-31 Werner Hoch * memory/*.sym: repaired and completed all symbols 2003-08-30 Ales Hvezda * maxim/max3223e-1.sym, micro/M41T00-SO8-1.sym, micro/tiny-tiger-1.sym, misc/FND5148-1.sym, misc/QT60040-1.sym: Merged author= and email= attributes together. 2003-08-24 Ales Hvezda * configure.ac: Improved the configuration summary message. 2003-07-15 Ales Hvezda * configure.ac: Created new configure file from configure.in (remvoed configure.in). Removed all unnecessary auto* files. * gesym-config.in: Removed file, since it will not longer be used in the install process. * configure.ac: Cleaned up file quite a bit (simplified) * *.in, *.h, etc: Removed a bunch of old unneeded auto* files. 2003-06-01 Werner Hoch * 74/74520-3.sym, 74/74189-2.sym, 74673A-2.sym: Added with swapped LSB/MSB order. (hint of Magnus Danielson) 2003-05-25 Ales Hvezda * connector/header50-1.sym: Changed the color on some detached attributes * configure.in: Applied Wojciech Kazubski's --with-docdir patch * 74/7408-2.sym, 74/7409-2.sym: These two symbols were partially swapped. Fixed. Pointed out by Mario Klebsch. * 74/7432-2.sym: Added new symbol by Mario Klebsch. * analog/bridge-2.sym analog/fuse-2.sym analog/npn-IGBT-1.sym analog/ntc-1.sym analog/transformer-2.sym analog/transformer-3.sym analog/transformer-4.sym analog/triac-1.sym connector/smart-media-1.sym linear/l200-1.sym linear/lm7912-1.sym maxim/max713-1.sym maxim/max7652-1.sym micro/AT89C2051-1.sym micro/DS1602-1.sym micro/M41T00-SO8-1.sym micro/mc68hc705kj1-1.sym opto/tfds4500-1.sym: Added a bunch of new symbols * memory/93Cx6-1.sym: Fixed symbol based on patch from Holger Dietze Fix for Bug#65 2003-05-22 Ales Hvezda * configure.in: Updated version * */*.sym: Updated version of all symbols and font defs 2003-05-13 Ales Hvezda * spice/spice-options-1.sym: Updated symbol from Stuart Brorson's latest symbol tarball. 2003-04-27 Ales Hvezda * memory/am9128-1.sym: Cosmetic improvements to this symbol * configure.in, Makefile.am, switchcap/, system-commonrc.in: Integrated Dan McMahill's new switcap backend (the symbols). switchcap/ is a new directory * spice/*.sym: Integrated Stuart Brorson's advanced spice netlister (the symbols) 2003-03-30 Werner Hoch * max/max038-1.sym completed, max/max038-2.sym added * max/max100-1.sym changed (missing pins) * max/max1005-1.sym completed, max/max1005-2.sym added * max/max1011-1.sym completed, max/max1011-2.sym added * max/max101A-1.sym changed (missing pins) * max/max1114-1.sym completed, max/max1114-2.sym added * max/max135-1.sym changed (duplicate pins) * max/max1480A-1.sym changed (missing pins) * 74/7404-3.sym completed Note: changed symbols are not pin compatible with the old symbols 2003-03-07 Werner Hoch * diode: added sa52-11-1.sym, sc52-11-1.sym 2003-02-24 Ales Hvezda * documentation/Makefile.am: Added a little more to this Makefile to make sure the example documentation is prebuilt into the dist tarball. 2003-02-23 Ales Hvezda * */*.sym: Added a bunch of symbols for the online symbol upload mechanism. * philips: Added new component library (suggestions by Walter Fetter) (and changed all required files for this addition). * */*.sym: Updated all symbols to 20030223, including the font symbols * configure.in: Added shell code to expand the prefix and set the proper directory for documentation (${prefix}/share/doc/geda-doc) * documentation/Makefile.am: Changed the install dir to the right one (${prefix}/share/doc/geda-doc) 2003-02-18 Ales Hvezda * configure.in: Bumped version to 20030223 2003-02-06 Ales Hvezda * configure.in: Applied Gabriel Paubert's warning reducing patch with a few minor mods. 2003-01-12 Ales Hvezda * README: Removed bogus BUGS and NEWS reference. 2003-01-11 Ales Hvezda * Makefile.am: Fixed the distclean-local target. 2003-01-03 Werner Hoch * 4000/4[357]*.sym: added missing attributes and ajusted the boxwidth of some symbols corrected some pinnumber errors 2002-12-27 Ales Hvezda * 74/7404-3.sym, connector/connector20-1.sym, connector/header16-1.sym, memory/ST39SF020A-1.sym, memory/ST39SF020A.sym, micro/ACE1202-1.sym, micro/DS2450-1.sym, micro/DS2480B-1.sym, national/pc16500d-1.sym: New symbols which needed a few tweaks. Various contributers. Thanks. 2002-12-23 Ales Hvezda * font/ae_-lig.sym font/AE-lig.sym font/u_-diaeresis.sym font/U-diaeresis.sym font/o_-slash.sym font/O-slash.sym font/a_-ring.sym font/a-ring.sym: Applied Norwegian/Danish/German characters patch from Egil Kvaleberg * font/a-ring.sym: Removed from repository (above patch nulls file). 2002-12-15 Ales Hvezda * documentation/Makefile.am: Updated makefile to distribute all the nc* docs when doing a make dist. 2002-11-30 Ales Hvezda * aclocal.m4: Removed file from cvs. 2002-11-23 Ales Hvezda * documentation/Makefile.am: Added LC_NUMERIC=C to fix build problem. Not sure if this fixes the problem reported by Andy Shevchenko. Bug#42. * documentation/Makefile.am: Added geda.pic to the distribution. 2002-11-21 Werner Hoch * 74/*sym: added documentation attribut to symbols * 74/74595-1.sym: completed symbol (added footprint, pintype,...) 2002-11-21 Werner Hoch * 4000/40[89]?-*.sym: completed symbols (added footprint, numslot,...) * 4000/40[123]??-*.sym: completed symbols (added footprint, numslot,...) * 4000/4081-2.sym added 2002-11-17 Werner Hoch * 4000/40[567]?-*.sym: completed symbols (added net, footprint, ..) * 4000/: 4053-1.sym marked as unrepairable, 4056-1.sym repaired pin14, pin15 * 4000/: added 4053-2.sym, 4060-2.sym, 4066-2.sym, 4067-2.sym, 4068-2.sym, 4072-2.sym, 4073-2.sym, 4075-2.sym, 4078-2.sym 2002-11-15 Werner Hoch * 4000/40[34]?-*.sym: completed symbols (added net, footprint, ..) * 4000/: added 4032-2.sym, 4033-2.sym, 4035-2.sym, 4038-2.sym, 4042-2.sym, 4043-2.sym, 4044-2.sym 2002-11-09 Werner Hoch * spice/: added vdc-1.sym, vac-1.sym, vpulse-1.sym, vsin-1.sym, vexp-1.sym, vpwl-1.sym 2002-11-03 Ales Hvezda * 4000/*.sym: Ran gsymupdate on all symbols * 4000/4585-1.sym, 40181-1.sym, 4062-1.sym, 4063-1.sym: Oops, gsymupdate broke these symbols because it was choking on the = in label= attributes. Fixed. * 74/*.sym: Ran gsymupdate on all symbols * IEC417/*.sym: Ran gsymupdate on all symbols * altera/*.sym: Ran gsymupdate on all symbols * analog/*.sym: Ran gsymupdate on all symbols * bus/*.sym: Ran gsymupdate on all symbols * connector/*.sym: Ran gsymupdate on all symbols * dec/*.sym: Ran gsymupdate on all symbols * diode/*.sym: Ran gsymupdate on all symbols * ecl/*.sym: Ran gsymupdate on all symbols * idt/*.sym: Ran gsymupdate on all symbols * io/*.sym: Ran gsymupdate on all symbols * lattice/*.sym: Ran gsymupdate on all symbols * linear/*.sym: Ran gsymupdate on all symbols * linear/lm2941-1.sym: Added missing pinlabel= (had values, but no pinlabel= name). * linear/lm7805-2.sym lm78l05-1.sym lm78l05c-1.sym lm7905-1.sym lm7805c-1.sym lm78l05ac-1.sym lm78m05-1.sym lm79m05-1.sym: Removed symbols from distribution because they are wrong. I got a bug fix for each of these symbols from Hans Nieuwenhuis, but when I went to verify them, I found conflicting information. * maxim/*.sym: Ran gsymupdate on all symbols * memory/*.sym: Ran gsymupdate on all symbols * misc/*.sym: Ran gsymupdate on all symbols * national/*.sym: Ran gsymupdate on all symbols * opto/*.sym: Ran gsymupdate on all symbols * pla/*.sym: Ran gsymupdate on all symbols * power/*.sym: Ran gsymupdate on all symbols * radio/*.sym: Ran gsymupdate on all symbols * relay/*.sym: Ran gsymupdate on all symbols * rf/*.sym: Ran gsymupdate on all symbols * spice/*.sym: Ran gsymupdate on all symbols * supervisor/*.sym: Ran gsymupdate on all symbols * switch/*.sym: Ran gsymupdate on all symbols * titleblock/*.sym: Ran gsymupdate on all symbols * transistor/*.sym: Ran gsymupdate on all symbols * tube/*.sym: Ran gsymupdate on all symbols * verilog/*.sym: Ran gsymupdate on all symbols * vhdl/*.sym: Ran gsymupdate on all symbols * xilinx/*.sym: Ran gsymupdate on all symbols * font/*.sym: Very carefully updated all font defs to the latest version using gsymupdate (used fontupdate) * configure.in: Updated version to 20021103 (an official version) 2002-10-31 Ales Hvezda * Makefile.am: Added gesym-config-install target 2002-10-29 Ales Hvezda * maxim/max489-1.sym, micro/pic16F877-1.sym: Added updated symbols from Tommi Keisala. * analog/dual-opamp-1.sym: Added symbol by Karel Kulhavy. 2002-10-28 Ales Hvezda * configure.in: Bumped version to 20021031 2002-10-27 Ales Hvezda * configure and friends: Ran "autoreconf --force --install -v" to really upgrade to the auto* tools. * connector/*.sym: gsymupdate'd all symbols in this library. * 74/74595-1.sym linear/lt1782-1.sym maxim/max1407-1.sym maxim/max489-1.sym maxim/max6018-1.sym micro/ATmega323-1.sym micro/MSP430x11x1.sym micro/MSP430x11x2.sym micro/MSP430x12x.sym micro/MSP430x12x2.sym micro/MSP430x15-6x.sym micro/pic16F877-1.sym micro/pic16F877A-1.sym: Added symbols via the web upload mechanism. Some cleanup. 2002-10-26 Ales Hvezda * misc/busripper-1.sym, busripper-2.sym: Added bus ripper symbols. Initial version of busripper-1.sym was created by Egil Kvaleberg. 2002-10-19 Ales Hvezda * configure.in, *.m4: Upgraded to automake 1.7.1 and autoconf 2.54 2002-10-17 Ales Hvezda * symbols/Makefile.am, symbols/configure.in, symbols/74/7400-1.sym, symbols/74/7400-2.sym, symbols/documentation/Makefile.am, symbols/documentation/geda.fig, symbols/documentation/nc.doc, symbols/misc/nc-bottom-1.sym, symbols/misc/nc-left-1.sym, symbols/misc/nc-right-1.sym, symbols/misc/nc-top-1.sym: Added Egil Kvaleberg's find documentation patch. 2002-10-12 Werner Hoch * 4000/40[12]?-*.sym: completed symbols (added net, footprint, ..) * 4000/: 4014-2.sym, 4016-2.sym, 4017-2.sym, 4018-2.sym, 4019-2.sym 4021-3.sym, 4022-2.sym, 4028-2.sym added * 4000/400[68]-*.sym: changed footprint from none to DIP... 2002-10-09 Werner Hoch * maxim/max232-1.sym: completed symbol (added net, pinlabels, ...) * maxim/max232-2.sym: added symbol with rearranged pins, 1400mils block * 4000/400?-*.sym: completed symbol (added net, pinlabels, ...) * 4000/: 4000-2.sym, 4002-2.sym, 4006-2.sym, 4008-2.sym added 2002-10-08 Ales Hvezda * system-commonrc.in: Removed stale source-library paths. These paths really ought to be in the users environment and not here. And they most certainly should not be the symbol directories. 2002-10-07 Ales Hvezda * misc/interpage_bidir-1.sym, interpage_from-1.sym, interpage_to-1.sym: Symbols into CVS. These somehow made it into 20020825 accidentally, but they should be in CVS either way. 2002-10-03 Werner Hoch * 74/74240-1.sym: corrected pinlabels YB1..YB4 * 74/74244-1.sym: corrected pinlabels YB1..YB4 * 74/74[23456]??-*: completed symbols (added net, pinlabels, ...) * 74/74[345789]?-*: inserted numslots=0 at some symbols 2002-10-02 Werner Hoch * 74/741[789]?-*: completed symbols (added net, pinlabels, pintype, ...) * 74/74HCT245-1.sym, 74/74HCT4094-1.sym, 74/74HCT541-1.sym: added numslots=0 2002-10-01 Werner Hoch * 74/741[456]?-*: corrected the wrong whichend attribute on some pins 2002-09-29 Werner Hoch * 74/741[456]?-*: completed symbols (added net, pinlabels, pintype, ...) * 74/74161-2.sym, 74/74168-1.sym, 74/74169-1.sym: marked as bad 2002-09-22 Ales Hvezda * configure.in: Bumped version to 20020922, which is NOT a release. 2002-09-13 Werner Hoch * 74/741[123]?-*: completed symbols (added net, pinlabels, pintype, ...) 2002-09-09 Werner Hoch * 74/74HCT*: completed symbols (added net, pinlabels, ...) * 74/74124-2.sym: corrected slotdefs * 74/7410[79]*.sym: completed symbols (added net, pinlabels, ...) * 74/74109-2.sym: corrected slotdef 2002-09-06 Werner Hoch * 74/: 74[56789]?-*: completed symbols (added net, pinlabels, ...) 7492-1.sym, 7485-1.sym: corrected pin numbering 74520-1.sym: corrected symbol, added 74520-2.sym without pwr pins 74265-1.sym: marked as unrepairable, added 74265-2.sym 7491-1.sym: corrected pinnumber of clk 7495-1.sym: marked as bad, added 7495-2.sym 7497-1.sym: marked as bad, added 7497-2.sym 2002-09-04 Werner Hoch * 74/: repaired 74114-1.sym, 74123-1.sym, 74125-1.sym, 74126-1.sym 74124-1.sym marked as unrepairable, 74124-2.sym added 2002-09-02 Werner Hoch * 74/74[1234]?-*.sym: completed the symbols (added net, pinlabels, ..) 2002-09-01 Werner Hoch * 74/740*: completed the symbols (added net, pinlabels, pintypes) 2002-08-25 Ales Hvezda * maxim/max4106-1.sym, max4107-1.sym: Added symbols by Dan McMahill * misc/arfx1229-1.sym: Added symbol by Dan McMahill * micro/8052basic-1.sym: Added symbol by Jesse Alexander * 74/74573-1.sym: Fixed incorrect polarity (should be asserted high) on pin 11 (le), pointed by James Tabor 2002-08-18 Ales Hvezda * 74/7474-2.sym: Fixed typo (0 in slotdef), pointed out by Karel Kulhavy * 74/7403-1.sym: Added open collector arc by Jim Battle * 74/9602-1.sym 9602-2.sym, 74266-1.sym: Added symbols by Jim Battle * micros/pic16F876-1.sym: Added symbol by James Carter 2002-08-12 Ales Hvezda * analog/transformer-1.sym: Added symbol, need to verify pinnumbers and pinseq * linear/lm317-1.sym: Added new symbol 2002-08-06 Ales Hvezda * misc/nc-*.sym: Added 4 "no connection" symbols (one for each orientation). 2002-07-29 Ales Hvezda * */*.sym: Re-ran gsymupdate on all symbol files to update type= and label= to pintype= and pinlabel= 2002-07-29 Ales Hvezda * */*.sym: Ran gsymupdate on all symbol files * winfonts: Removed directory 2002-07-07 Ales Hvezda * font/a_-diaeresis.sym, o_-diaeresis.sym: Renamed these font def files to include the _ to signify the lowercase version. 2002-07-06 Ales Hvezda * connector/aui-1.sym: Added symbol by Karel Kulhavy * configure.in/Makefile.am: Upgraded to automake 1.6.2 2002-05-31 Werner Hoch * micro/: startet with symbol rework to match current symbol specs 2002-05-27 Ales Hvezda * switch, linear: Added two new symbols by Vladimir Dergachev. * font/colon.sym, comma.sym, excl.sym, quest.sym, semi.sym: Changed the graphical representation to be a little larger. Mauricio de Alencar did the actual work. * titleblock: Added a bunch of titleblocks by Eric Winsor. * spice: Added a couple symbols by Daniel Nilsson. * micro: Added a symbol by Al Williams. 2002-05-16 Ales Hvezda * system-commonrc.in: Add bitmap-directory rc keyword 2002-05-12 Ales Hvezda * font/[a-z].sym: Removed these obsolete symbol files * foot: Removed directory 2002-04-09 Ales Hvezda * font/period.sym: Changed the graphical representation to be a little larger. Mauricio de Alencar did the actual work. 2002-04-03 Ales Hvezda * configure.in and friends: More work on getting the upgrade of autoconf, automake, and libtool to behave correctly. * configure.in: Added PATHSEP variable which holds the proper path separater depending on the platform. * lib/system-*.in: Work on getting rc files to use above variable. 2002-04-01 Ales Hvezda * configure.in and friends: Upgraded to autoconf 2.53, libtool 1.5, and automake 1.5. Lots of changes in various places for this upgrade. 2002-02-26 Ales Hvezda * power/*.sym: Made sure all the power symbols have the net= attribute in them. Misc cleanup as well. 2002-02-16 Ales Hvezda * micro/AT*.sym: Oops grabbed the wrong versions of Werner's symbols. Got the right ones now. Updated with Lower Right Text alignment for text on the left hand side of symbols. 2002-02-09 Ales Hvezda * micro/AT90S8535.sym AT90S8535_TQFP.sym AT90S8535_PLCC.sym: Added symbols by Werner Hoch (minor tweeks). * micro/AT*.sym: Added a bunch more symbols by Werner Hoch * 74/ analog/ transistor/ connector/ linear/ maxim/ micro/ power/ opto/: Added a bunch of symbols by Bruno Schwander * 4000/ 74/ maxim/ connector/: Added a bunch of symbols by Bert Timmerman * analog/ 74/ : Added a few of symbols by Karel Kulhavy 2002-02-04 Ales Hvezda * analog/resistor-variable-2.sym: Checked in Bert's fix to the misalignment * power/vcc-orcad-circle-1.sym: Added power symbol from Dave Lawrence * 4000/*.sym: Added a bunch of symbols by Mark Moss. 2001-07-22 Ales Hvezda * */Makefile.am, configure.in: A bunch of cleanup and changes to support rc files living in a different directory than GEDADATA 2001-07-19 Ales Hvezda * configure.in: Bumped up version to 20010722 2001-07-08 Ales Hvezda * opto/hcpl-2631-1.sym: Minor touch up work * local/*.sym: Moved a bunch of symbols around to their right places * power: New directory which got all the power/gnd symbols from misc (changed all config files to add this new symbol directory) * misc: Moved all power/gnd symbols into above new dir * transistor: Added transistor symbol library (changed all config files to add this new symbol directory) * Rearranged a few symbol libraries (namely local and misc) 2001-07-01 Ales Hvezda * src/configure.in: Make sure configure scripts work with autoconf-2.50 (had to fix cygwin check), they do not yet work with 2.50 * Removed all trace of libtool, libtool is certainly not required to install the symbols * maxim/max6314-1.sym, max535-1.sym: Cleaned up symbols to be more consistant with the rest of the max* symbols 2001-03-18 Ales Hvezda * Removed all Makefile.in files and configure 2001-03-17 Ales Hvezda * Got make dist and make distcheck working (means all files which are in CVS are in some Makefile) * configure.in: Added DATADIR instead of PACKAGE 2000-03-04 Ales Hvezda * spice/*.sym: Replaced symbols with the latest ones from Bas * vhdl/: Created symbol library which was contributed by Thomas Heidel (symbols derived from the Verilog symbols by Mike) * configure.in: Updated version 2000-12-13 Ales Hvezda * configure.in: Added -lregex for CYGWIN32 build 2000-12-10 Ales Hvezda * */*.sym: Added a bunch of contributed symbols from Chris Ellec * ecl: Created new symbol library (update configure.in, Makefile.am, and system-commonrc.in) Added Makefiles* to new dir 2000-11-03 Ales Hvezda * 74/7414-1.sym: Added symbol by Chris Ellec 2000-11-02 Ales Hvezda * verilog/nand2-1.sym: Added a missing line 2000-10-06 Ales Hvezda * 4000/4015-1.sym 4000/4024-1.sym 4000/4052-1.sym 4000/4518-1.sym: Oops left in a physical attribute (should be called footprint) * */*.sym: Read All and Saved All symbols to update them to the latest file format version (except verilog since they are machine generated) * configure.in: Added bus directory to the list of valid symbols * src/*.sym: A bunch of misc cleanup to get ready for a release 2000-10-05 Ales Hvezda * 74/74520-1.sym: Fixed version in file (should have been 20000704) Removed circle from inside attribute attach * 4000/*.sym: Added urefs to all symbols 2000-09-27 Ales Hvezda * font/*.sym: Added version number to all font definitions 2000-08-12 Stefan Petersen * Changed configure.in to be more place independent. Patch by Roger Gammans. All Makefile.in and configure regenerated. 2000-07-26 Ales Hvezda * connecter/jumper-1.sym: Fixed missing pin#=# attributes, pointed out by routoure Jean-Marc 2000-07-04 Ales Hvezda * configure.in: Bumped version up to 20000704 2000-06-27 Ales Hvezda * system-commonrc.in: Added component-library-search keyword to allow for the automatic search for component libraries * system-commonrc.in: Added source-library-search keyword to allow for the automatic search for source libraries 2000-06-21 Ales Hvezda * memory/*.sym: Updated all symbols to have default uref * micro/*.sym: Updated all symbols to have default uref * xilinx/*.sym: Updated all symbols to have default uref * dec/*.sym: Updated all symbols to have default uref * lattice/*.sym: Updated all symbols to have default uref * national/*.sym: Updated all symbols to have default uref * pla/*.sym: Updated all symbols to have default uref * switch/*.sym: Updated all symbols to have default uref * radio/*.sym: Updated all symbols to have default uref * tube/*.sym: Updated all symbols to have default uref 2000-06-12 Ales Hvezda * maxim/*.sym: Updated all symbols to have default uref * local/*.sym: Updated all symbols to have default uref * linear/*.sym: Updated all symbols to have default uref * linear/lm555.sym: Had to retranslate symbol to origin because of text location change (this breaks any existing schematics which use this symbol) * idt/*.sym: Updated all symbols to have default uref * connector/*.sym: Updated all symbols to have default uref * analog/*.sym: Updated all symbols to have default uref * analog/voltage-3.sym: Rotated symbol to be like all the other voltage sources * analog/beeper-1.sym: Rotated symbol to be like all the other symbols * 74/*.sym: Updated all symbols to have default uref Also moved some labels around, minor cleanup * 4000/*.sym: Updated all symbols to have default uref * altera/*.sym: Updated all symbols to have default uref 2000-06-19 Matt Ettus * connector/DB37-1.sym: Added DB37 * connector/header10-1.sym: Added uref=J? * connector/header10-2.sym, connector/header20-1.sym, connector/header20-2.sym: Added symbol * maxim/max233-1.sym: Added symbol * maxim/max488-1.sym: Added symbol * supervisor/adm707.sym: Added symbol 2000-05-29 Ales Hvezda * local/dac08sm-1.sym: Removed a attribute which shouldn't have been a floating attribute (or an attribute in general) * xilinx/XC95108-PC84.sym: Made the device= attribute hidden and added a text label (in device='s place) * 74/74181-1.sym: Put spaces around the ='s in the text label "A=B", since libgeda/gschem were interpreting this as a valid attribute 2000-04-21 Ales Hvezda * */*.sym: Changed all physical attributes to footprint * local/dac08sm-1.sym: Changed some of the attributes to be green * local/EPF10K-1.sym and altera/EPC1LC20-1.sym : Color changes and minor cosmetic updates * */*.sym: Changed all pinlabel attributes to label 2000-04-16 Ales Hvezda * Added the contributed symbols by JM Routoure * sym/national: Created new symbol library * Added the contributed symbols by Luke Stras * verilog/*.sym: Some how a bogus alignment field got into all these symbols. Removed it and replaced it with 0 (lower right) 2000-02-20 Ales Hvezda * local/ micro/: Added a four symbols created by Marcus Isaksson * */*.sym: Loaded and saved all symbols in gschem to get the new version and file format (text alignment change) * analog/*.sym: Added pin#= attributes to a few of the symbols Added missing device= attributes as well 2000-02-19 Ales Hvezda * README/INSTALL: Updated files to reflect next release 2000-02-08 Ales Hvezda * */*.sym: Removed all spaces from all device= attributes. This is to make the pcb netlister(s) happy. 2000-02-07 Ales Hvezda * misc/include-1.sym: Added symbol by Bas for use with gnetlist spice backend. See for more info: http://www.geda.seul.org/mailinglist/geda-dev25/msg00113.html * analog/diode-2.sym and local/lt1108-1.sym: Symbols added by Arnim 2000-01-25 Ales Hvezda * config.h: Remove this file from the cvs repository; should not have been there in the first place. 2000-01-18 Ales Hvezda * analog/opamp-2.sym: Added a slightly larger version of opamp-1.sym 1999-11-07 Ales Hvezda * local/ULN2003-1.sym: Fixed the wrong text colors (text colors should be color 9) * local/*phase-stepper*.sym: Added some more symbols created by me. * connector/DB25-2.sym: Added an alternate version of the 25 pin parallel port connector (modified by me :-) 1999-11-06 Ales Hvezda * Bunch: Integrated a bunch of symbols by Arnim * local/ULN2003-1.sym: Added a symbol created by me. :) 1999-10-22 Ales Hvezda * xilinx/XC95108-PC84.sym: Added updated symbol by Jamil Khatib * connector/pwrjack-1.sym: Added symbol by Tom Barraza * lattice/: Created symbol library (updated all required files) * lattice/isp2032-1.sym: Added symbol by Tom Barraza 1999-10-11 Ales Hvezda * 4000/4538-1.sym: Translated symbol to origin. * 4000/4046-1.sym: Translated symbol to origin. * pla/: Added symbol library (Makefile.am/configure.in/*commonrc.in) * pla/N82S100N-1.sym: Added symbol drawn Magnus * 74/74373-1.sym, 74/74374-1.sym: Added symbol drawn by Magnus * dec/: Added symbol library (Makefile.am/configure.in/*commonrc.in) * xilinx/: Added symbol library (Makefile.am/configure.in/*commonrc.in) * 74/74574-1.sym: Changed CLOCK to CLK * 74/74374-1.sym: Removed logic bubble from clock line and moved that pin so that you can connect to it (on the 100 mil grid) 10/6/99 ETTUS: Added rf directory, and symbols in it. 9/17/99 Changed a few of the IEC417 symbols (again) to use color 15 (lock) as the grey color: ac-ac.sym ac-dc.sym adc.sym dac.sym dc-ac.sym dc-dc.sym 9/17/99 Changed a few of the IEC417 symbols to use color 17 as the grey color: ac-ac.sym ac-dc.sym adc.sym dac.sym dc-ac.sym dc-dc.sym 9/16/99 Created a spice symbol library which hold some of the special spice symbols by Bas Gieltjes - Added spice to all the required configure/Makefiles - Added spice dir to system-commonrc.in 9/15/99 Added pin#= attributes to all symbols in the io library Added device= attributes to all the symbols in the io library 9/13/99 Fixed all the misc power/gnd symbols to work with the new net= gnetlist options - Removed all special attributes - Properly named pin# attributes - Added net=GND:1 to gnd-1.sym - Did not add any net= attribs to any v* symbol - Made sure all the v*-1.sym are consistant Removed vdd-1.sym and renamed vdd-2.sym to be vdd-1.sym (old vdd-1.sym was just a 180 degree rotation of vdd-2) All v symbols should be drawn with the label on top, and the pin going down. All gnd symbols should have the pin going up. Created misc/vee-1.sym Created symbol directory called titleblock. Moved all the title block symbols into this new library. Added above to Makefile/configure and to the system-commonrc.in files Created symbol directory called io (input/output). Moved all input and output type symbols into this new library. Added above to Makefile/configure and to the system-commonrc.in files Created +3.3V, +5V, -5V, +12V, -12V, 9V, -9V symbols which contain the net= attribute Removed all device= attributes from the power/gnd symbols 9/6/99 Start of getting symbols updated with the new colors scheme: - All locked components need to be color 15 (locked) - All text items need to be color 9 Did all title blocks (updated locked color to 15) Fixed a few symbols (74194-1.sym and 74174-1.sym) which caused a core dump (now fixed) by having improper/incomplete attributes Removed 74174-1.sym since it is wrong (wrong number of pins) Did all symbols which had text (updated text color to 9) 8/27/99 Set the program version to 19990829 to force Ales to release on the 29th :) 8/8/99 Renamed some of the verilog symbols to be named *-1.sym 8/3/99 Added a whole bunch of verilog symbols by Mike Jarabek 7/5/99 Removed numslots=1 from switch-dip[4|8]-1.sym (isn't needed) 7/4/99 Added update/new symbols for verilog netlist from Mike Jarabek 7/3/99 Went through all symbols and eliminated all zero length objects (using the new warning code in libgeda) 6/27/99 Integrated more symbols from Arnim Littek Integrated more maxim symbols as well as updates from Salman 6/25/99 Integrated changes to some of the analog symbols by Arno Peters 5/29/99 Changed all symbols so that the top level attributes are no longer attached to an object. This is a new symbol standard 5/28/99 Got this new way of doing symbols finally done Update all aux files (AUTHORS/README etc...) geda-gaf-1.8.2/symbols/st/0000775000175000017500000000000012220655765012310 500000000000000geda-gaf-1.8.2/symbols/st/ST7538-1.sym0000664000175000017500000002021212204104272013752 00000000000000v 20041121 1 B 300 300 2900 5500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 350 5850 9 10 1 1 0 0 1 device=ST7538 T 2800 5850 5 10 1 1 0 0 1 refdes=U? T 350 6900 8 10 0 0 0 0 1 footprint=TQFP44_10 T 350 7100 8 10 0 0 0 0 1 description=Power Line FSK Transceiver T 350 7300 8 10 0 0 0 0 1 documentation=http://www.st.com/stonline/books/pdf/docs/9324.pdf T 350 7550 8 10 0 0 0 0 1 numslots=0 P 300 2400 0 2400 1 0 1 { T 250 2430 5 8 1 1 0 6 1 pinnumber=1 T -650 2450 5 8 0 0 0 1 1 pinseq=1 T -1550 2450 5 8 0 0 0 1 1 pintype=out T 350 2400 9 8 1 1 0 1 1 pinlabel=CD/PD } P 2100 300 2100 0 1 0 1 { T 2070 250 5 8 1 1 0 8 1 pinnumber=2 T 1750 -50 5 8 0 0 0 1 1 pinseq=2 T 1650 -150 5 8 0 0 0 1 1 pintype=pwr T 2100 400 9 8 1 1 0 4 1 pinlabel=DVSS } P 300 2100 0 2100 1 0 1 { T 250 2130 5 8 1 1 0 6 1 pinnumber=3 T -650 2150 5 8 0 0 0 1 1 pinseq=3 T -1550 2150 5 8 0 0 0 1 1 pintype=out T 350 2100 9 8 1 1 0 1 1 pinlabel=RxD } P 300 1700 0 1700 1 0 1 { T 250 1730 5 8 1 1 0 6 1 pinnumber=4 T -650 1750 5 8 0 0 0 1 1 pinseq=4 T -1450 1750 5 8 0 0 0 1 1 pintype=in T 350 1700 9 8 1 1 0 1 1 pinlabel=RX/TX } P 300 1900 0 1900 1 0 1 { T 250 1930 5 8 1 1 0 6 1 pinnumber=5 T -650 1950 5 8 0 0 0 1 1 pinseq=5 T -1450 1950 5 8 0 0 0 1 1 pintype=in T 350 1900 9 8 1 1 0 1 1 pinlabel=TxD } P 2500 300 2500 0 1 0 1 { T 2470 250 5 8 1 1 0 8 1 pinnumber=6 T 2150 -250 5 8 0 0 0 1 1 pinseq=6 T 2850 -250 5 8 0 0 0 1 1 pintype=pwr T 2500 400 9 8 1 1 0 4 1 pinlabel=GND } P 300 3000 0 3000 1 0 1 { T 250 3030 5 8 1 1 0 6 1 pinnumber=7 T -650 3050 5 8 0 0 0 1 1 pinseq=7 T -1550 3050 5 8 0 0 0 1 1 pintype=out T 350 3000 9 8 1 1 0 1 1 pinlabel=TOUT } P 300 1500 0 1500 1 0 1 { T 250 1530 5 8 1 1 0 6 1 pinnumber=8 T -650 1550 5 8 0 0 0 1 1 pinseq=8 T -1480 1550 5 8 0 0 0 1 1 pintype=out T 350 1500 9 8 1 1 0 1 1 pinlabel=CLT/T } P 300 2800 0 2800 1 0 1 { T 250 2830 5 8 1 1 0 6 1 pinnumber=9 T -650 2850 5 8 0 0 0 1 1 pinseq=9 T -1550 2850 5 8 0 0 0 1 1 pintype=out T 350 2800 9 8 1 1 0 1 1 pinlabel=BU } P 300 4700 0 4700 1 0 1 { T 250 4730 5 8 1 1 0 6 1 pinnumber=10 T -750 4750 5 8 0 0 0 1 1 pinseq=10 T -1650 4750 5 8 0 0 0 1 1 pintype=pwr T 350 4700 9 8 1 1 0 1 1 pinlabel=DVdd } P 300 800 0 800 1 0 1 { T 250 830 5 8 1 1 0 6 1 pinnumber=11 T -650 850 5 8 0 0 0 1 1 pinseq=11 T -1550 850 5 8 0 0 0 1 1 pintype=out T 350 800 9 8 1 1 0 1 1 pinlabel=MCLK } P 300 600 0 600 1 0 1 { T 250 630 5 8 1 1 0 6 1 pinnumber=12 T -750 650 5 8 0 0 0 1 1 pinseq=12 T -1650 650 5 8 0 0 0 1 1 pintype=out T 350 600 9 8 1 1 0 1 1 pinlabel=RSTO } P 300 4400 0 4400 1 0 1 { T 250 4430 5 8 1 1 0 6 1 pinnumber=13 T -750 4450 5 8 0 0 0 1 1 pinseq=13 T -1550 4450 5 8 0 0 0 1 1 pintype=in T 350 4400 9 8 1 1 0 1 1 pinlabel=TEST3 } P 300 3700 0 3700 1 0 1 { T 250 3730 5 8 1 1 0 6 1 pinnumber=14 T -750 3750 5 8 0 0 0 1 1 pinseq=14 T -1550 3750 5 8 0 0 0 1 1 pintype=in T 350 3700 9 8 1 1 0 1 1 pinlabel=WD } P 300 2600 0 2600 1 0 1 { T 120 2650 5 8 1 1 0 0 1 pinnumber=15 T -680 2650 5 8 0 0 0 1 1 pinseq=15 T -1580 2650 5 8 0 0 0 1 1 pintype=out T 350 2600 9 8 1 1 0 1 1 pinlabel=ZCOUT } P 3200 1300 3500 1300 1 0 1 { T 3250 1330 5 8 1 1 0 0 1 pinnumber=16 T 4350 1350 5 8 0 0 0 7 1 pinseq=16 T 5150 1350 5 8 0 0 0 7 1 pintype=in T 3150 1300 9 8 1 1 0 7 1 pinlabel=ZCIN } P 2500 5800 2500 6100 1 0 1 { T 2460 5850 5 8 1 1 0 6 1 pinnumber=17 T 2500 6200 5 8 0 0 0 3 1 pinseq=17 T 3300 6300 5 8 0 0 0 5 1 pintype=pas T 2500 5750 9 8 1 1 0 5 1 pinlabel=N.C. } P 1600 300 1600 0 1 0 1 { T 1560 250 5 8 1 1 0 8 1 pinnumber=18 T 1250 -450 5 8 0 0 0 1 1 pinseq=18 T 1950 -450 5 8 0 0 0 1 1 pintype=pwr T 1600 400 9 8 1 1 0 4 1 pinlabel=DVSS } P 3200 3300 3500 3300 1 0 1 { T 3250 3330 5 8 1 1 0 0 1 pinnumber=19 T 4350 3350 5 8 0 0 0 7 1 pinseq=19 T 5250 3350 5 8 0 0 0 7 1 pintype=out T 3150 3300 9 8 1 1 0 7 1 pinlabel=ATOP1 } P 600 300 600 0 1 0 1 { T 570 250 5 8 1 1 0 8 1 pinnumber=20 T 250 -50 5 8 0 0 0 1 1 pinseq=20 T -250 -150 5 8 0 0 0 1 1 pintype=pwr T 600 400 9 8 1 1 0 4 1 pinlabel=PAVSS } P 3200 4400 3500 4400 1 0 1 { T 3250 4430 5 8 1 1 0 0 1 pinnumber=21 T 4350 4450 5 8 0 0 0 7 1 pinseq=21 T 5250 4450 5 8 0 0 0 7 1 pintype=out T 3150 4400 9 8 1 1 0 7 1 pinlabel=ATOP2 } P 3200 5300 3500 5300 1 0 1 { T 3250 5330 5 8 1 1 0 0 1 pinnumber=22 T 4350 5350 5 8 0 0 0 7 1 pinseq=22 T 5250 5350 5 8 0 0 0 7 1 pintype=pwr T 3150 5300 9 8 1 1 0 7 1 pinlabel=PAVCC } P 3200 2200 3500 2200 1 0 1 { T 3250 2230 5 8 1 1 0 0 1 pinnumber=23 T 4350 2250 5 8 0 0 0 7 1 pinseq=23 T 5150 2250 5 8 0 0 0 7 1 pintype=in T 3150 2200 9 8 1 1 0 7 1 pinlabel=CL } P 3200 4100 3500 4100 1 0 1 { T 3250 4130 5 8 1 1 0 0 1 pinnumber=24 T 4350 4150 5 8 0 0 0 7 1 pinseq=24 T 5250 4150 5 8 0 0 0 7 1 pintype=out T 3150 4100 9 8 1 1 0 7 1 pinlabel=ATO } P 1100 300 1100 0 1 0 1 { T 1060 250 5 8 1 1 0 8 1 pinnumber=25 T 750 -250 5 8 0 0 0 1 1 pinseq=25 T 150 -350 5 8 0 0 0 1 1 pintype=pwr T 1100 400 9 8 1 1 0 4 1 pinlabel=SGND } P 3200 600 3500 600 1 0 1 { T 3250 630 5 8 1 1 0 0 1 pinnumber=26 T 4350 650 5 8 0 0 0 7 1 pinseq=26 T 5150 650 5 8 0 0 0 7 1 pintype=io T 3150 600 9 8 1 1 0 7 1 pinlabel=XOUT } P 3200 1000 3500 1000 1 0 1 { T 3250 1030 5 8 1 1 0 0 1 pinnumber=27 T 4350 1050 5 8 0 0 0 7 1 pinseq=27 T 5150 1050 5 8 0 0 0 7 1 pintype=in T 3150 1000 9 8 1 1 0 7 1 pinlabel=XIN } P 300 5100 0 5100 1 0 1 { T 250 5130 5 8 1 1 0 6 1 pinnumber=28 T -750 5150 5 8 0 0 0 1 1 pinseq=28 T -1650 5150 5 8 0 0 0 1 1 pintype=pwr T 350 5100 9 8 1 1 0 1 1 pinlabel=AVdd } P 3200 2800 3500 2800 1 0 1 { T 3250 2830 5 8 1 1 0 0 1 pinnumber=29 T 4350 2850 5 8 0 0 0 7 1 pinseq=29 T 5150 2850 5 8 0 0 0 7 1 pintype=in T 3100 2800 9 8 1 1 0 7 1 pinlabel=Vsense } P 300 4200 0 4200 1 0 1 { T 250 4230 5 8 1 1 0 6 1 pinnumber=30 T -750 4250 5 8 0 0 0 1 1 pinseq=30 T -1550 4250 5 8 0 0 0 1 1 pintype=in T 350 4200 9 8 1 1 0 1 1 pinlabel=TEST2 } P 3200 1600 3500 1600 1 0 1 { T 3250 1630 5 8 1 1 0 0 1 pinnumber=31 T 4350 1650 5 8 0 0 0 7 1 pinseq=31 T 5250 1650 5 8 0 0 0 7 1 pintype=out T 3150 1600 9 8 1 1 0 7 1 pinlabel=RxFO } P 3200 3800 3500 3800 1 0 1 { T 3250 3830 5 8 1 1 0 0 1 pinnumber=32 T 4350 3850 5 8 0 0 0 7 1 pinseq=32 T 5150 3850 5 8 0 0 0 7 1 pintype=in T 3150 3800 9 8 1 1 0 7 1 pinlabel=RAI } P 300 5500 0 5500 1 0 1 { T 250 5530 5 8 1 1 0 6 1 pinnumber=33 T -750 5550 5 8 0 0 0 1 1 pinseq=33 T -1650 5550 5 8 0 0 0 1 1 pintype=pwr T 350 5500 9 8 1 1 0 1 1 pinlabel=VDC } P 2100 5800 2100 6100 1 0 1 { T 2070 5850 5 8 1 1 0 6 1 pinnumber=34 T 2100 6400 5 8 0 0 0 3 1 pinseq=34 T 2900 6500 5 8 0 0 0 5 1 pintype=pas T 2100 5750 9 8 1 1 0 5 1 pinlabel=N.C. } P 300 4000 0 4000 1 0 1 { T 250 4030 5 8 1 1 0 6 1 pinnumber=35 T -750 4050 5 8 0 0 0 1 1 pinseq=35 T -1550 4050 5 8 0 0 0 1 1 pintype=in T 350 4000 9 8 1 1 0 1 1 pinlabel=TEST1 } P 300 3300 0 3300 1 0 1 { T 250 3330 5 8 1 1 0 6 1 pinnumber=36 T -750 3350 5 8 0 0 0 1 1 pinseq=36 T -1650 3350 5 8 0 0 0 1 1 pintype=out T 350 3300 9 8 1 1 0 1 1 pinlabel=REGOK } P 3200 4700 3500 4700 1 0 1 { T 3250 4730 5 8 1 1 0 0 1 pinnumber=37 T 4350 4750 5 8 0 0 0 7 1 pinseq=37 T 5150 4750 5 8 0 0 0 7 1 pintype=in T 3150 4700 9 8 1 1 0 7 1 pinlabel=C_MINUS } P 3200 4900 3500 4900 1 0 1 { T 3250 4930 5 8 1 1 0 0 1 pinnumber=38 T 4350 4950 5 8 0 0 0 7 1 pinseq=38 T 5150 4950 5 8 0 0 0 7 1 pintype=in T 3150 4900 9 8 1 1 0 7 1 pinlabel=C_PLUS } P 1700 5800 1700 6100 1 0 1 { T 1670 5850 5 8 1 1 0 6 1 pinnumber=39 T 1700 6600 5 8 0 0 0 3 1 pinseq=39 T 2500 6700 5 8 0 0 0 5 1 pintype=pas T 1700 5750 9 8 1 1 0 5 1 pinlabel=N.C. } P 3200 5100 3500 5100 1 0 1 { T 3250 5130 5 8 1 1 0 0 1 pinnumber=40 T 4350 5150 5 8 0 0 0 7 1 pinseq=40 T 5250 5150 5 8 0 0 0 7 1 pintype=out T 3150 5100 9 8 1 1 0 7 1 pinlabel=C_OUT } P 2900 300 2900 0 1 0 1 { T 2870 250 5 8 1 1 0 8 1 pinnumber=41 T 2550 -50 5 8 0 0 0 1 1 pinseq=41 T 3250 -50 5 8 0 0 0 1 1 pintype=pwr T 2900 400 9 8 1 1 0 4 1 pinlabel=GND } P 300 3500 0 3500 1 0 1 { T 250 3530 5 8 1 1 0 6 1 pinnumber=42 T -750 3550 5 8 0 0 0 1 1 pinseq=42 T -1650 3550 5 8 0 0 0 1 1 pintype=out T 350 3500 9 8 1 1 0 1 1 pinlabel=PG } P 300 1300 0 1300 1 0 1 { T 250 1330 5 8 1 1 0 6 1 pinnumber=43 T -750 1350 5 8 0 0 0 1 1 pinseq=43 T -1550 1350 5 8 0 0 0 1 1 pintype=in T 350 1300 9 8 1 1 0 1 1 pinlabel=REG/DATA } P 1300 5800 1300 6100 1 0 1 { T 1270 5850 5 8 1 1 0 6 1 pinnumber=44 T 1300 6200 5 8 0 0 0 3 1 pinseq=44 T 1100 6400 5 8 0 0 0 5 1 pintype=pas T 1300 5750 9 8 1 1 0 5 1 pinlabel=N.C. } geda-gaf-1.8.2/symbols/README0000664000175000017500000000211412204104272012440 00000000000000 gEDA GPL Electronic Design Automation ------------------------------------------------------------------------------ README for symbols - Installation See the toplevel INSTALL for more instructions on how to install these symbols - System Requirements See libgeda/README or gschem/README for system requirements. - License gEDA/gaf (which includes libgeda, gschem, gnetlist, geda, setup, gsymcheck, gschcheck, gpcb, utils, docs, examples, all associated files, the component symbols, and all the file formats) is placed under the GNU Public License (GPL) version 2.0. See the various COPYING files for more information. Programs and associated files are: Copyright 1998-2008 by Ales Hvezda and the respective original authors (which are listed on the respective files) - gEDA Internet resources Homepage: http://www.geda-project.org/ Mailing lists: http://wiki.geda-project.org/geda:mailinglists For any questions related to gEDA/gaf, please subscribe and post to the "geda-user" mailing list. geda-gaf-1.8.2/symbols/linear/0000775000175000017500000000000012220655765013134 500000000000000geda-gaf-1.8.2/symbols/linear/lm723-1.sym0000664000175000017500000000451212204104272014572 00000000000000v 20041228 1 B 300 300 1400 2400 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 T 300 3400 8 10 0 0 0 0 1 device=LM723 T 300 3600 8 10 0 0 0 0 1 class=IC T 300 3000 8 10 1 1 0 0 1 refdes=U? T 300 2750 3 10 1 0 0 0 1 LM723 P 1700 1800 2000 1800 1 0 1 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=2 T 1800 1850 5 8 0 0 0 0 1 pinseq=1 T 1400 1800 9 10 1 1 0 0 1 pinlabel=CL T 1700 1800 5 10 0 1 0 0 1 pintype=io } P 1700 1500 2000 1500 1 0 1 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=3 T 1800 1550 5 8 0 0 0 0 1 pinseq=2 T 1400 1500 9 10 1 1 0 0 1 pinlabel=CS T 1700 1500 5 10 0 1 0 0 1 pintype=io } P 1200 300 1200 0 1 0 1 { T 1275 150 5 8 1 1 0 0 1 pinnumber=7 T 1275 150 5 8 0 0 0 0 1 pinseq=6 T 1200 400 9 10 1 1 0 0 1 pinlabel=V- T 1200 300 5 10 0 1 0 0 1 pintype=pwr } P 300 600 0 600 1 0 1 { T 120 650 5 8 1 1 0 0 1 pinnumber=5 T 120 650 5 8 0 0 0 0 1 pinseq=4 T 400 600 9 10 1 1 0 0 1 pinlabel=N.I. T 300 600 5 10 0 1 0 0 1 pintype=in } P 300 900 0 900 1 0 1 { T 104 950 5 8 1 1 0 0 1 pinnumber=4 T 104 950 5 8 0 0 0 0 1 pinseq=3 T 400 900 9 10 1 1 0 0 1 pinlabel=INV T 300 900 5 10 0 1 0 0 1 pintype=in } P 300 1800 0 1800 1 0 1 { T 120 1850 5 8 1 1 0 0 1 pinnumber=6 T 120 1850 5 8 0 0 0 0 1 pinseq=5 T 400 1800 9 10 1 1 0 0 1 pinlabel=Vref T 300 1800 5 10 0 1 0 0 1 pintype=out } P 300 1500 0 1500 1 0 1 { T 112 1550 5 8 1 1 0 0 1 pinnumber=9 T 112 1550 5 8 0 0 0 0 1 pinseq=7 T 400 1500 9 10 1 1 0 0 1 pinlabel=Vz T 300 1500 5 10 0 1 0 0 1 pintype=io } P 1200 2700 1200 3000 1 0 1 { T 1275 2775 5 8 1 1 0 0 1 pinnumber=12 T 1275 2775 5 8 0 0 0 0 1 pinseq=10 T 1200 2500 9 10 1 1 0 0 1 pinlabel=V+ T 1200 2700 5 10 0 1 0 0 1 pintype=pwr } P 300 2400 0 2400 1 0 1 { T 120 2450 5 8 1 1 0 0 1 pinnumber=11 T 120 2450 5 8 0 0 0 0 1 pinseq=9 T 400 2400 9 10 1 1 0 0 1 pinlabel=Vc T 300 2400 5 10 0 1 0 0 1 pintype=io } T 300 3800 8 10 0 0 0 0 1 footprint=DIP14 P 1700 700 2000 700 1 0 1 { T 1800 750 5 8 1 1 0 0 1 pinnumber=13 T 1800 750 5 8 0 0 0 0 1 pinseq=11 T 1100 700 9 10 1 1 0 0 1 pinlabel=COMP T 1700 700 5 10 0 1 0 0 1 pintype=io } P 1700 2300 2000 2300 1 0 1 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=10 T 1800 2350 5 8 0 0 0 0 1 pinseq=8 T 1300 2300 9 10 1 1 0 0 1 pinlabel=Vout T 1700 2300 5 10 0 1 0 0 1 pintype=out } T 300 4000 8 10 0 0 0 0 1 description=Voltage regulator T 300 4400 8 10 0 0 0 0 1 author=Radoslaw Korzeniewski T 300 4200 8 10 0 0 0 0 1 numslots=0 geda-gaf-1.8.2/symbols/linear/ltc1799-1.sym0000664000175000017500000000144712204104272015046 00000000000000v 20031231 1 T 983 466 9 8 1 0 0 0 1 DIV T 964 1265 9 8 1 0 0 0 1 OUT P 0 1500 300 1500 1 0 0 { T 98 1568 5 8 1 1 0 0 1 pinnumber=1 T 98 1568 5 8 0 0 0 0 1 pinseq=1 } P 1300 500 1600 500 1 0 1 { T 1398 566 5 8 1 1 0 0 1 pinnumber=4 T 1398 566 5 8 0 0 0 0 1 pinseq=4 } P 1300 1300 1600 1300 1 0 1 { T 1398 1370 5 8 1 1 0 0 1 pinnumber=5 T 1398 1370 5 8 0 0 0 0 1 pinseq=5 } T 337 773 9 8 1 0 0 0 1 GND T 347 163 9 8 1 0 0 0 1 SET P 0 800 300 800 1 0 0 { T 96 865 5 8 1 1 0 0 1 pinnumber=2 T 96 865 5 8 0 0 0 0 1 pinseq=2 } P 0 200 300 200 1 0 0 { T 129 268 5 8 1 1 0 0 1 pinnumber=3 T 129 268 5 8 0 0 0 0 1 pinseq=3 } T 300 1822 9 10 1 0 0 0 1 LTC1799 T 1500 1700 8 10 0 0 0 0 1 device=LTC1799 T 341 1463 9 8 1 0 0 0 1 V+ B 300 0 1000 1800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1300 1900 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/linear/lm1877-1.sym0000664000175000017500000000551312204104272014667 00000000000000v 20031231 1 P 300 1700 0 1700 1 0 1 { T 100 1750 5 8 1 1 0 0 1 pinnumber=2 T 100 1750 5 8 0 0 0 0 1 pinseq=2 } P 300 1400 0 1400 1 0 1 { T 100 1450 5 8 1 1 0 0 1 pinnumber=3 T 100 1450 5 8 0 0 0 0 1 pinseq=3 } P 300 1100 0 1100 1 0 1 { T 100 1150 5 8 1 1 0 0 1 pinnumber=4 T 100 1150 5 8 0 0 0 0 1 pinseq=4 } P 300 800 0 800 1 0 1 { T 100 850 5 8 1 1 0 0 1 pinnumber=5 T 100 850 5 8 0 0 0 0 1 pinseq=5 } P 300 500 0 500 1 0 1 { T 100 550 5 8 1 1 0 0 1 pinnumber=6 T 100 550 5 8 0 0 0 0 1 pinseq=6 } P 300 200 0 200 1 0 1 { T 100 250 5 8 1 1 0 0 1 pinnumber=7 T 100 250 5 8 0 0 0 0 1 pinseq=7 } P 4500 200 4200 200 1 0 0 { T 4300 250 5 8 1 1 0 0 1 pinnumber=8 T 4300 250 5 8 0 0 0 0 1 pinseq=8 } T 400 750 9 10 1 0 0 0 1 GND T 400 450 9 10 1 0 0 0 1 INPUT 1 T 400 150 9 10 1 0 0 0 1 FEEDBACK 1 T 400 1950 9 10 1 0 0 0 1 BIAS T 400 1650 9 10 1 0 0 0 1 OUTPUT 1 T 400 1350 9 10 1 0 0 0 1 GND T 400 1050 9 10 1 0 0 0 1 GND T 350 2450 9 10 1 0 0 0 1 LM1877 P 4200 500 4500 500 1 0 1 { T 4300 550 5 8 1 1 0 0 1 pinnumber=9 T 4300 550 5 8 0 0 0 0 1 pinseq=9 } P 4200 800 4500 800 1 0 1 { T 4300 850 5 8 1 1 0 0 1 pinnumber=10 T 4300 850 5 8 0 0 0 0 1 pinseq=10 } P 4200 1100 4500 1100 1 0 1 { T 4300 1150 5 8 1 1 0 0 1 pinnumber=11 T 4300 1150 5 8 0 0 0 0 1 pinseq=11 } P 4200 1400 4500 1400 1 0 1 { T 4300 1450 5 8 1 1 0 0 1 pinnumber=12 T 4300 1450 5 8 0 0 0 0 1 pinseq=12 } T 3700 750 9 10 1 0 0 0 1 GND T 3900 1950 9 10 1 0 0 0 1 V+ T 3200 1650 9 10 1 0 0 0 1 OUTPUT2 T 3700 1350 9 10 1 0 0 0 1 GND T 3700 1050 9 10 1 0 0 0 1 GND P 4200 1700 4500 1700 1 0 1 { T 4300 1750 5 8 1 1 0 0 1 pinnumber=13 T 4300 1750 5 8 0 0 0 0 1 pinseq=13 } T 2450 2200 5 10 0 0 0 0 1 device=LT1181 P 4200 2000 4500 2000 1 0 1 { T 4300 2050 5 8 1 1 0 0 1 pinnumber=14 T 4300 2050 5 8 0 0 0 0 1 pinseq=14 } P 300 2000 0 2000 1 0 1 { T 100 2050 5 8 1 1 0 0 1 pinnumber=1 T 100 2050 5 8 0 0 0 0 1 pinseq=1 } T 2900 150 9 10 1 0 0 0 1 FEEDBACK 2 T 3400 450 9 10 1 0 0 0 1 INPUT 2 B 300 0 3900 2350 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 4200 2500 8 10 1 1 0 6 1 refdes=U? L 1400 1000 1700 1400 3 0 0 0 -1 -1 L 2000 1000 1700 1400 3 0 0 0 -1 -1 L 2000 1000 1400 1000 3 0 0 0 -1 -1 L 1100 500 1600 500 3 0 0 0 -1 -1 L 1600 500 1600 1000 3 0 0 0 -1 -1 L 1600 200 1800 200 3 0 0 0 -1 -1 L 1800 1000 1800 200 3 0 0 0 -1 -1 L 1700 1400 1700 1700 3 0 0 0 -1 -1 L 1700 1700 1300 1700 3 0 0 0 -1 -1 L 1650 1100 1550 1100 3 0 0 0 -1 -1 L 1600 1150 1600 1050 3 0 0 0 -1 -1 L 1800 1050 1800 1150 3 0 0 0 -1 -1 L 2400 1000 2700 1400 3 0 0 0 -1 -1 L 3000 1000 2700 1400 3 0 0 0 -1 -1 L 3000 1000 2400 1000 3 0 0 0 -1 -1 L 3350 500 2800 500 3 0 0 0 -1 -1 L 2800 500 2800 1000 3 0 0 0 -1 -1 L 2850 200 2600 200 3 0 0 0 -1 -1 L 2600 1000 2600 200 3 0 0 0 -1 -1 L 2700 1400 2700 1700 3 0 0 0 -1 -1 L 2700 1700 3150 1700 3 0 0 0 -1 -1 L 2850 1100 2750 1100 3 0 0 0 -1 -1 L 2800 1150 2800 1050 3 0 0 0 -1 -1 L 2600 1050 2600 1150 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/linear/lm386-1.sym0000664000175000017500000000205412204104272014576 00000000000000v 20031231 1 T 625 950 8 8 0 0 0 0 1 device=LM741 T 225 350 9 8 1 0 0 0 1 LM386 T 200 900 8 10 1 1 0 0 1 refdes=U? P 200 200 0 200 1 0 1 { T 50 225 5 8 1 1 0 0 1 pinnumber=2 T 50 225 5 8 0 0 0 0 1 pinseq=2 } P 200 600 0 600 1 0 1 { T 50 625 5 8 1 1 0 0 1 pinnumber=3 T 50 625 5 8 0 0 0 0 1 pinseq=3 } P 500 200 500 0 1 0 1 { T 525 50 5 8 1 1 0 0 1 pinnumber=4 T 525 50 5 8 0 0 0 0 1 pinseq=4 } P 800 400 1000 400 1 0 1 { T 875 425 5 8 1 1 0 0 1 pinnumber=5 T 875 425 5 8 0 0 0 0 1 pinseq=5 } P 500 600 500 800 1 0 1 { T 550 675 5 8 1 1 0 0 1 pinnumber=7 T 550 675 5 8 0 0 0 0 1 pinseq=7 } L 200 800 200 0 3 0 0 0 -1 -1 L 800 400 200 800 3 0 0 0 -1 -1 L 300 650 300 550 3 0 0 0 -1 -1 L 250 600 350 600 3 0 0 0 -1 -1 L 250 200 350 200 3 0 0 0 -1 -1 L 800 400 200 0 3 0 0 0 -1 -1 P 700 323 700 100 1 0 1 { T 725 150 5 8 1 1 0 0 1 pinnumber=1 T 725 150 5 8 0 0 0 0 1 pinseq=1 } P 700 471 700 700 1 0 1 { T 750 575 5 8 1 1 0 0 1 pinnumber=8 T 750 575 5 8 0 0 0 0 1 pinseq=8 } P 400 666 400 900 1 0 1 { T 311 764 5 8 1 1 0 0 1 pinnumber=6 T 311 764 5 8 0 0 0 0 1 pinseq=6 } geda-gaf-1.8.2/symbols/linear/lm7815-1.sym0000664000175000017500000000114412204104272014661 00000000000000v 20031231 1 T 400 600 9 8 1 0 0 0 1 IN T 948 600 9 8 1 0 0 0 1 OUT T 900 100 9 8 1 0 0 0 1 7815 B 300 300 1000 600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1600 1300 5 10 0 0 0 0 1 device=7815 T 656 401 9 8 1 0 0 0 1 GND P 300 600 0 600 1 0 1 { T 100 650 5 8 1 1 0 0 1 pinnumber=1 T 100 650 5 8 0 0 0 0 1 pinseq=1 } P 800 0 800 300 1 0 0 { T 700 100 5 8 1 1 0 0 1 pinnumber=2 T 700 100 5 8 0 0 0 0 1 pinseq=2 } P 1300 600 1600 600 1 0 1 { T 1430 650 5 8 1 1 0 0 1 pinnumber=3 T 1430 650 5 8 0 0 0 0 1 pinseq=3 } T 1400 1000 8 10 1 1 0 6 1 refdes=U? T 1600 1100 5 10 0 0 0 0 1 pins=3 T 1600 900 5 10 0 0 0 0 1 net=GND:2 geda-gaf-1.8.2/symbols/linear/lm7806-1.sym0000664000175000017500000000114412204104272014661 00000000000000v 20031231 1 T 400 600 9 8 1 0 0 0 1 IN T 948 600 9 8 1 0 0 0 1 OUT T 900 100 9 8 1 0 0 0 1 7806 B 300 300 1000 600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1600 1300 5 10 0 0 0 0 1 device=7806 T 656 401 9 8 1 0 0 0 1 GND P 300 600 0 600 1 0 1 { T 100 650 5 8 1 1 0 0 1 pinnumber=1 T 100 650 5 8 0 0 0 0 1 pinseq=1 } P 800 0 800 300 1 0 0 { T 700 100 5 8 1 1 0 0 1 pinnumber=2 T 700 100 5 8 0 0 0 0 1 pinseq=2 } P 1300 600 1600 600 1 0 1 { T 1430 650 5 8 1 1 0 0 1 pinnumber=3 T 1430 650 5 8 0 0 0 0 1 pinseq=3 } T 1400 1000 8 10 1 1 0 6 1 refdes=U? T 1600 1100 5 10 0 0 0 0 1 pins=3 T 1600 900 5 10 0 0 0 0 1 net=GND:2 geda-gaf-1.8.2/symbols/linear/lm2822-1.sym0000664000175000017500000000242312204104272014653 00000000000000v 20040111 1 B 300 300 1500 2400 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 T 300 3400 5 10 0 0 0 0 1 device=LM2822M T 300 3200 2 10 1 1 0 0 1 refdes=U? T 300 2750 3 10 1 0 0 0 1 LM2822M P 1800 2100 2100 2100 1 0 1 { T 1900 2150 5 8 1 1 0 0 1 pinnumber=1 T 1900 2150 5 8 0 0 0 0 1 pinseq=1 T 1262 2050 3 8 1 1 0 0 1 pinlabel=OUT(1) } P 1500 2700 1500 3000 1 0 1 { T 1575 2775 5 8 1 1 0 0 1 pinnumber=2 T 1575 2775 5 8 0 0 0 0 1 pinseq=2 T 1358 2550 3 8 1 1 0 0 1 pinlabel=Vcc } P 1800 900 2100 900 1 0 1 { T 1900 950 5 8 1 1 0 0 1 pinnumber=3 T 1900 950 5 8 0 0 0 0 1 pinseq=3 T 1222 850 3 8 1 1 0 0 1 pinlabel=OUT(2) } P 1500 300 1500 0 1 0 1 { T 1575 150 5 8 1 1 0 0 1 pinnumber=4 T 1575 150 5 8 0 0 0 0 1 pinseq=4 T 1332 350 3 8 1 1 0 0 1 pinlabel=GND } P 300 900 0 900 1 0 1 { T 120 950 5 8 1 1 0 0 1 pinnumber=5 T 120 950 5 8 0 0 0 0 1 pinseq=5 T 375 850 3 8 1 1 0 0 1 pinlabel=-IN(2) } P 300 1200 0 1200 1 0 1 { T 104 1250 5 8 1 1 0 0 1 pinnumber=6 T 104 1250 5 8 0 0 0 0 1 pinseq=6 T 375 1150 3 8 1 1 0 0 1 pinlabel=+IN(2) } P 300 2400 0 2400 1 0 1 { T 120 2450 5 8 1 1 0 0 1 pinnumber=7 T 120 2450 5 8 0 0 0 0 1 pinseq=7 T 375 2350 3 8 1 1 0 0 1 pinlabel=+IN(1) } P 300 2100 0 2100 1 0 1 { T 112 2150 5 8 1 1 0 0 1 pinnumber=8 T 112 2150 5 8 0 0 0 0 1 pinseq=8 T 375 2050 3 8 1 1 0 0 1 pinlabel=-IN(1) } geda-gaf-1.8.2/symbols/linear/lt1162-1.sym0000664000175000017500000000536312204104272014664 00000000000000v 20031231 1 B 300 300 2300 3300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1900 100 9 10 1 1 0 0 1 device=LT1162 T 400 4100 5 10 0 0 0 0 1 description=Full-bridge N-channel Power MOSFET Driver T 400 4300 5 10 0 0 0 0 1 documentation=http://www.linear.com/pdf/11602fa.pdf T 400 3700 8 10 1 1 0 0 1 refdes=U? T 400 3900 5 10 0 0 0 0 1 footprint=DIP24N T 400 4500 5 10 0 0 0 0 1 slot=1 T 400 4700 5 10 0 0 0 0 1 numslots=2 T 400 4900 5 10 0 0 0 0 1 slotdef=1:1,2,3,4,5,6,19,20,21,22,23,24 T 400 5100 5 10 0 0 0 0 1 slotdef=2:7,8,9,10,11,12,13,14,15,16,17,18 P 300 3300 0 3300 1 0 1 { T 200 3350 5 10 1 1 0 6 1 pinnumber=1 T -800 3250 5 10 0 0 0 0 1 pinseq=1 T 400 3300 9 10 1 1 0 1 1 pinlabel=SV+ T 400 3200 5 10 0 1 0 1 1 pintype=pwr } P 300 1800 0 1800 1 0 1 { T 200 1850 5 10 1 1 0 6 1 pinnumber=2 T -800 1750 5 10 0 0 0 0 1 pinseq=2 T 400 1800 9 10 1 1 0 1 1 pinlabel=INTOP T 400 1700 5 10 0 1 0 1 1 pintype=in } P 300 1200 0 1200 1 0 1 { T 200 1250 5 10 1 1 0 6 1 pinnumber=3 T -800 1150 5 10 0 0 0 0 1 pinseq=3 T 400 1200 9 10 1 1 0 1 1 pinlabel=INBOTTOM T 400 1100 5 10 0 1 0 1 1 pintype=in } V 250 2400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 2400 0 2400 1 0 1 { T 200 2450 5 10 1 1 0 6 1 pinnumber=4 T -800 2350 5 10 0 0 0 0 1 pinseq=4 T 400 2400 9 10 1 1 0 1 1 pinlabel=/UVOUT T 400 2300 5 10 0 1 0 1 1 pintype=oc } P 900 300 900 0 1 0 1 { T 950 100 5 10 1 1 0 0 1 pinnumber=5 T 50 100 5 10 0 0 0 0 1 pinseq=5 T 900 400 9 10 1 1 0 4 1 pinlabel=GND T 900 600 5 10 0 1 0 1 1 pintype=pwr } P 2600 900 2900 900 1 0 1 { T 2700 950 5 10 1 1 0 0 1 pinnumber=6 T 3000 850 5 10 0 0 0 0 1 pinseq=6 T 1600 900 9 10 1 1 0 1 1 pinlabel=BGATEFB T 1600 800 5 10 0 1 0 1 1 pintype=in } P 2600 1200 2900 1200 1 0 1 { T 2700 1250 5 10 1 1 0 0 1 pinnumber=19 T 3000 1150 5 10 0 0 0 0 1 pinseq=7 T 1600 1200 9 10 1 1 0 1 1 pinlabel=BGATEDR T 1600 1100 5 10 0 1 0 1 1 pintype=out } P 300 3000 0 3000 1 0 1 { T 200 3050 5 10 1 1 0 6 1 pinnumber=20 T -800 2950 5 10 0 0 0 0 1 pinseq=8 T 400 3000 9 10 1 1 0 1 1 pinlabel=PV+ T 400 2900 5 10 0 1 0 1 1 pintype=pwr } P 2600 1800 2900 1800 1 0 1 { T 2700 1850 5 10 1 1 0 0 1 pinnumber=21 T 3000 1750 5 10 0 0 0 0 1 pinseq=9 T 1600 1800 9 10 1 1 0 1 1 pinlabel=TSOURCE T 1600 1700 5 10 0 1 0 1 1 pintype=pas } P 2600 2400 2900 2400 1 0 1 { T 2700 2450 5 10 1 1 0 0 1 pinnumber=22 T 3000 2350 5 10 0 0 0 0 1 pinseq=10 T 1600 2400 9 10 1 1 0 1 1 pinlabel=TGATEFB T 1600 2300 5 10 0 1 0 1 1 pintype=in } P 2600 2700 2900 2700 1 0 1 { T 2700 2750 5 10 1 1 0 0 1 pinnumber=23 T 3000 2650 5 10 0 0 0 0 1 pinseq=11 T 1600 2700 9 10 1 1 0 1 1 pinlabel=TGATEDR T 1600 2600 5 10 0 1 0 1 1 pintype=out } P 2600 3300 2900 3300 1 0 1 { T 2700 3350 5 10 1 1 0 0 1 pinnumber=24 T 3000 3250 5 10 0 0 0 0 1 pinseq=12 T 1800 3300 9 10 1 1 0 1 1 pinlabel=BOOST T 1800 3200 5 10 0 1 0 1 1 pintype=pwr } geda-gaf-1.8.2/symbols/linear/lm7818-1.sym0000664000175000017500000000114412204104272014664 00000000000000v 20031231 1 T 400 600 9 8 1 0 0 0 1 IN T 948 600 9 8 1 0 0 0 1 OUT T 900 100 9 8 1 0 0 0 1 7818 B 300 300 1000 600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1600 1300 5 10 0 0 0 0 1 device=7818 T 656 401 9 8 1 0 0 0 1 GND P 300 600 0 600 1 0 1 { T 100 650 5 8 1 1 0 0 1 pinnumber=1 T 100 650 5 8 0 0 0 0 1 pinseq=1 } P 800 0 800 300 1 0 0 { T 700 100 5 8 1 1 0 0 1 pinnumber=2 T 700 100 5 8 0 0 0 0 1 pinseq=2 } P 1300 600 1600 600 1 0 1 { T 1430 650 5 8 1 1 0 0 1 pinnumber=3 T 1430 650 5 8 0 0 0 0 1 pinseq=3 } T 1400 1000 8 10 1 1 0 6 1 refdes=U? T 1600 1100 5 10 0 0 0 0 1 pins=3 T 1600 900 5 10 0 0 0 0 1 net=GND:2 geda-gaf-1.8.2/symbols/linear/ad633JN-2.sym0000664000175000017500000000367412204104272015007 00000000000000v 20031231 1 L 700 700 900 900 3 0 0 0 -1 -1 L 700 900 900 700 3 0 0 0 -1 -1 V 800 800 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1300 800 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 1200 900 1400 900 3 0 0 0 -1 -1 L 1200 900 1300 800 3 0 0 0 -1 -1 L 1300 800 1200 700 3 0 0 0 -1 -1 L 1200 700 1400 700 3 0 0 0 -1 -1 T 400 1000 9 8 1 0 0 0 1 X T 400 500 9 8 1 0 0 0 1 Y T 1500 900 9 8 1 0 0 0 1 W L 200 200 1500 200 3 0 0 0 -1 -1 P 200 600 0 600 1 0 1 { T 150 650 5 8 1 1 0 6 1 pinnumber=3 T 150 650 5 8 0 0 0 6 1 pinseq=3 } P 200 1100 0 1100 1 0 1 { T 150 1150 5 8 1 1 0 6 1 pinnumber=1 T 150 1150 5 8 0 0 0 6 1 pinseq=1 } P 200 900 0 900 1 0 1 { T 150 950 5 8 1 1 0 6 1 pinnumber=2 T 150 950 5 8 0 0 0 6 1 pinseq=2 } P 200 400 0 400 1 0 1 { T 150 450 5 8 1 1 0 6 1 pinnumber=4 T 150 450 5 8 0 0 0 6 1 pinseq=4 } P 1300 200 1300 0 1 0 1 { T 1350 50 5 8 1 1 0 0 1 pinnumber=6 T 1350 50 5 8 0 0 0 0 1 pinseq=6 } P 1900 800 1700 800 1 0 0 { T 1750 850 5 8 1 1 0 0 1 pinnumber=7 T 1750 850 5 8 0 0 0 0 1 pinseq=7 } P 700 1500 700 1300 1 0 0 { T 750 1400 5 8 1 1 0 0 1 pinnumber=8 T 750 1400 5 8 0 0 0 0 1 pinseq=8 } P 1200 1500 1200 1300 1 0 0 { T 1250 1400 5 8 1 1 0 0 1 pinnumber=5 T 1250 1400 5 8 0 0 0 0 1 pinseq=5 } T 600 1100 9 8 1 0 0 0 1 +VS T 1100 1100 9 8 1 0 0 0 1 -VS T 300 1100 9 8 1 0 0 0 1 + T 300 600 9 8 1 0 0 0 1 + T 300 900 9 8 1 0 0 0 1 - T 300 400 9 8 1 0 0 0 1 - L 1300 600 1300 200 3 0 0 0 -1 -1 L 1100 800 1000 800 3 0 0 0 -1 -1 L 400 1000 400 800 3 0 0 0 -1 -1 L 400 800 600 800 3 0 0 0 -1 -1 L 400 400 800 400 3 0 0 0 -1 -1 L 800 400 800 600 3 0 0 0 -1 -1 L 200 1300 1500 1300 3 0 0 0 -1 -1 L 200 1300 200 200 3 0 0 0 -1 -1 L 1500 800 1600 800 3 0 0 0 -1 -1 L 1500 1300 1700 1100 3 0 0 0 -1 -1 L 1700 1100 1700 400 3 0 0 0 -1 -1 L 1700 400 1500 200 3 0 0 0 -1 -1 L 1300 400 1400 300 3 0 0 0 -1 -1 L 1300 400 1200 300 3 0 0 0 -1 -1 L 1600 800 1700 800 3 0 0 0 -1 -1 T 1200 400 9 8 1 0 0 0 1 Z T 2000 1200 5 10 0 0 0 0 1 device=AD633JN T 200 1400 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/linear/lt1160-1.sym0000664000175000017500000000537712204104272014667 00000000000000v 20031231 1 B 300 300 2300 3300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1900 100 9 10 1 1 0 0 1 device=LT1160 T 400 4100 5 10 0 0 0 0 1 description=Half-bridge N-channel Power MOSFET Driver T 400 4300 5 10 0 0 0 0 1 documentation=http://www.linear.com/pdf/11602fa.pdf T 400 4500 5 10 0 0 0 0 1 numslots=0 T 400 3700 8 10 1 1 0 0 1 refdes=U? T 400 3900 5 10 0 0 0 0 1 footprint=DIP14 P 300 3300 0 3300 1 0 1 { T 200 3350 5 10 1 1 0 6 1 pinnumber=1 T -800 3250 5 10 0 0 0 0 1 pinseq=1 T 400 3300 9 10 1 1 0 1 1 pinlabel=SV+ T 400 3200 5 10 0 1 0 1 1 pintype=pwr } P 300 1800 0 1800 1 0 1 { T 200 1850 5 10 1 1 0 6 1 pinnumber=2 T -800 1750 5 10 0 0 0 0 1 pinseq=2 T 400 1800 9 10 1 1 0 1 1 pinlabel=INTOP T 400 1700 5 10 0 1 0 1 1 pintype=in } P 300 1200 0 1200 1 0 1 { T 200 1250 5 10 1 1 0 6 1 pinnumber=3 T -800 1150 5 10 0 0 0 0 1 pinseq=3 T 400 1200 9 10 1 1 0 1 1 pinlabel=INBOTTOM T 400 1100 5 10 0 1 0 1 1 pintype=in } V 250 2400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 2400 0 2400 1 0 1 { T 200 2450 5 10 1 1 0 6 1 pinnumber=4 T -800 2350 5 10 0 0 0 0 1 pinseq=4 T 400 2400 9 10 1 1 0 1 1 pinlabel=/UVOUT T 400 2300 5 10 0 1 0 1 1 pintype=oc } P 600 300 600 0 1 0 1 { T 650 100 5 10 1 1 0 0 1 pinnumber=5 T -250 0 5 10 0 0 0 0 1 pinseq=5 T 600 400 9 10 1 1 0 4 1 pinlabel=SGND T 600 600 5 10 0 1 0 1 1 pintype=pwr } P 1200 300 1200 0 1 0 1 { T 1350 100 5 10 1 1 0 0 1 pinnumber=6 T 1050 -100 5 10 0 0 0 0 1 pinseq=6 T 1200 400 9 10 1 1 0 4 1 pinlabel=PGND T 1200 600 5 10 0 1 0 1 1 pintype=pwr } P 2600 900 2900 900 1 0 1 { T 2700 950 5 10 1 1 0 0 1 pinnumber=8 T 3000 850 5 10 0 0 0 0 1 pinseq=7 T 1600 900 9 10 1 1 0 1 1 pinlabel=BGATEFB T 1600 800 5 10 0 1 0 1 1 pintype=in } P 2600 1200 2900 1200 1 0 1 { T 2700 1250 5 10 1 1 0 0 1 pinnumber=9 T 3000 1150 5 10 0 0 0 0 1 pinseq=8 T 1600 1200 9 10 1 1 0 1 1 pinlabel=BGATEDR T 1600 1100 5 10 0 1 0 1 1 pintype=out } P 300 3000 0 3000 1 0 1 { T 200 3050 5 10 1 1 0 6 1 pinnumber=10 T -800 2950 5 10 0 0 0 0 1 pinseq=9 T 400 3000 9 10 1 1 0 1 1 pinlabel=PV+ T 400 2900 5 10 0 1 0 1 1 pintype=pwr } P 2600 1800 2900 1800 1 0 1 { T 2700 1850 5 10 1 1 0 0 1 pinnumber=11 T 3000 1750 5 10 0 0 0 0 1 pinseq=10 T 1600 1800 9 10 1 1 0 1 1 pinlabel=TSOURCE T 1600 1700 5 10 0 1 0 1 1 pintype=pas } P 2600 2400 2900 2400 1 0 1 { T 2700 2450 5 10 1 1 0 0 1 pinnumber=12 T 3000 2350 5 10 0 0 0 0 1 pinseq=11 T 1600 2400 9 10 1 1 0 1 1 pinlabel=TGATEFB T 1600 2300 5 10 0 1 0 1 1 pintype=in } P 2600 2700 2900 2700 1 0 1 { T 2700 2750 5 10 1 1 0 0 1 pinnumber=13 T 3000 2650 5 10 0 0 0 0 1 pinseq=12 T 1600 2700 9 10 1 1 0 1 1 pinlabel=TGATEDR T 1600 2600 5 10 0 1 0 1 1 pintype=out } P 2600 3300 2900 3300 1 0 1 { T 2700 3350 5 10 1 1 0 0 1 pinnumber=14 T 3000 3250 5 10 0 0 0 0 1 pinseq=13 T 1800 3300 9 10 1 1 0 1 1 pinlabel=BOOST T 1800 3200 5 10 0 1 0 1 1 pintype=pwr } geda-gaf-1.8.2/symbols/linear/TDA2822M-1.sym0000664000175000017500000000242512204104272014772 00000000000000v 20040111 1 B 300 300 1500 2400 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 T 300 3400 8 10 0 0 0 0 1 device=TDA2822M T 300 3100 2 10 1 1 0 0 1 refdes=U? T 300 2750 3 10 1 0 0 0 1 TDA2822M P 1800 2100 2100 2100 1 0 1 { T 1900 2150 5 8 1 1 0 0 1 pinnumber=1 T 1900 2150 5 8 0 0 0 0 1 pinseq=1 T 1262 2050 3 8 1 1 0 0 1 pinlabel=OUT(1) } P 1500 2700 1500 3000 1 0 1 { T 1575 2775 5 8 1 1 0 0 1 pinnumber=2 T 1575 2775 5 8 0 0 0 0 1 pinseq=2 T 1358 2550 3 8 1 1 0 0 1 pinlabel=Vcc } P 1800 900 2100 900 1 0 1 { T 1900 950 5 8 1 1 0 0 1 pinnumber=3 T 1900 950 5 8 0 0 0 0 1 pinseq=3 T 1222 850 3 8 1 1 0 0 1 pinlabel=OUT(2) } P 1500 300 1500 0 1 0 1 { T 1575 150 5 8 1 1 0 0 1 pinnumber=4 T 1575 150 5 8 0 0 0 0 1 pinseq=4 T 1332 350 3 8 1 1 0 0 1 pinlabel=GND } P 300 900 0 900 1 0 1 { T 120 950 5 8 1 1 0 0 1 pinnumber=5 T 120 950 5 8 0 0 0 0 1 pinseq=5 T 375 850 3 8 1 1 0 0 1 pinlabel=-IN(2) } P 300 1200 0 1200 1 0 1 { T 104 1250 5 8 1 1 0 0 1 pinnumber=6 T 104 1250 5 8 0 0 0 0 1 pinseq=6 T 375 1150 3 8 1 1 0 0 1 pinlabel=+IN(2) } P 300 2400 0 2400 1 0 1 { T 120 2450 5 8 1 1 0 0 1 pinnumber=7 T 120 2450 5 8 0 0 0 0 1 pinseq=7 T 375 2350 3 8 1 1 0 0 1 pinlabel=+IN(1) } P 300 2100 0 2100 1 0 1 { T 112 2150 5 8 1 1 0 0 1 pinnumber=8 T 112 2150 5 8 0 0 0 0 1 pinseq=8 T 375 2050 3 8 1 1 0 0 1 pinlabel=-IN(1) } geda-gaf-1.8.2/symbols/linear/lm2822m-1.sym0000664000175000017500000000242312204104272015030 00000000000000v 20040111 1 B 300 300 1500 2400 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 T 300 3400 8 10 0 0 0 0 1 device=LM2822M T 300 3000 8 10 1 1 0 0 1 refdes=U? T 300 2750 3 10 1 0 0 0 1 LM2822M P 1800 2100 2100 2100 1 0 1 { T 1900 2150 5 8 1 1 0 0 1 pinnumber=1 T 1900 2150 5 8 0 0 0 0 1 pinseq=1 T 1262 2050 3 8 1 1 0 0 1 pinlabel=OUT(1) } P 1500 2700 1500 3000 1 0 1 { T 1575 2775 5 8 1 1 0 0 1 pinnumber=2 T 1575 2775 5 8 0 0 0 0 1 pinseq=2 T 1358 2550 3 8 1 1 0 0 1 pinlabel=Vcc } P 1800 900 2100 900 1 0 1 { T 1900 950 5 8 1 1 0 0 1 pinnumber=3 T 1900 950 5 8 0 0 0 0 1 pinseq=3 T 1222 850 3 8 1 1 0 0 1 pinlabel=OUT(2) } P 1500 300 1500 0 1 0 1 { T 1575 150 5 8 1 1 0 0 1 pinnumber=4 T 1575 150 5 8 0 0 0 0 1 pinseq=4 T 1332 350 3 8 1 1 0 0 1 pinlabel=GND } P 300 900 0 900 1 0 1 { T 120 950 5 8 1 1 0 0 1 pinnumber=5 T 120 950 5 8 0 0 0 0 1 pinseq=5 T 375 850 3 8 1 1 0 0 1 pinlabel=-IN(2) } P 300 1200 0 1200 1 0 1 { T 104 1250 5 8 1 1 0 0 1 pinnumber=6 T 104 1250 5 8 0 0 0 0 1 pinseq=6 T 375 1150 3 8 1 1 0 0 1 pinlabel=+IN(2) } P 300 2400 0 2400 1 0 1 { T 120 2450 5 8 1 1 0 0 1 pinnumber=7 T 120 2450 5 8 0 0 0 0 1 pinseq=7 T 375 2350 3 8 1 1 0 0 1 pinlabel=+IN(1) } P 300 2100 0 2100 1 0 1 { T 112 2150 5 8 1 1 0 0 1 pinnumber=8 T 112 2150 5 8 0 0 0 0 1 pinseq=8 T 375 2050 3 8 1 1 0 0 1 pinlabel=-IN(1) } geda-gaf-1.8.2/symbols/linear/lm7824-1.sym0000664000175000017500000000114412204104272014661 00000000000000v 20031231 1 T 400 600 9 8 1 0 0 0 1 IN T 948 600 9 8 1 0 0 0 1 OUT T 900 100 9 8 1 0 0 0 1 7824 B 300 300 1000 600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1600 1300 5 10 0 0 0 0 1 device=7824 T 656 401 9 8 1 0 0 0 1 GND P 300 600 0 600 1 0 1 { T 100 650 5 8 1 1 0 0 1 pinnumber=1 T 100 650 5 8 0 0 0 0 1 pinseq=1 } P 800 0 800 300 1 0 0 { T 700 100 5 8 1 1 0 0 1 pinnumber=2 T 700 100 5 8 0 0 0 0 1 pinseq=2 } P 1300 600 1600 600 1 0 1 { T 1430 650 5 8 1 1 0 0 1 pinnumber=3 T 1430 650 5 8 0 0 0 0 1 pinseq=3 } T 1400 1000 8 10 1 1 0 6 1 refdes=U? T 1600 1100 5 10 0 0 0 0 1 pins=3 T 1600 900 5 10 0 0 0 0 1 net=GND:2 geda-gaf-1.8.2/symbols/linear/lt1108-1.sym0000664000175000017500000000225212204104272014656 00000000000000v 20031231 1 P 0 1200 300 1200 1 0 0 { T 100 1250 5 8 1 1 0 0 1 pinnumber=1 T 100 1250 5 8 0 0 0 0 1 pinseq=1 } T 360 1200 9 8 1 0 0 0 1 Ilim P 1700 600 2000 600 1 0 1 { T 1800 650 5 8 1 1 0 0 1 pinnumber=6 T 1800 650 5 8 0 0 0 0 1 pinseq=6 } T 1460 900 9 8 1 0 0 0 1 Set T 360 600 9 8 1 0 0 0 1 SW1 P 1700 900 2000 900 1 0 1 { T 1800 950 5 8 1 1 0 0 1 pinnumber=7 T 1800 950 5 8 0 0 0 0 1 pinseq=7 } T 1460 600 9 8 1 0 0 0 1 AO T 1360 300 9 8 1 0 0 0 1 Gnd T 1460 1200 9 8 1 0 0 0 1 FB T 360 900 9 8 1 0 0 0 1 Vin T 360 300 9 8 1 0 0 0 1 SW2 T 300 1540 9 10 1 0 0 0 1 LT1108 P 0 600 300 600 1 0 0 { T 100 650 5 8 1 1 0 0 1 pinnumber=3 T 100 650 5 8 0 0 0 0 1 pinseq=3 } P 1700 1200 2000 1200 1 0 1 { T 1800 1250 5 8 1 1 0 0 1 pinnumber=8 T 1800 1250 5 8 0 0 0 0 1 pinseq=8 } P 0 300 300 300 1 0 0 { T 100 350 5 8 1 1 0 0 1 pinnumber=4 T 100 350 5 8 0 0 0 0 1 pinseq=4 } P 0 900 300 900 1 0 0 { T 100 950 5 8 1 1 0 0 1 pinnumber=2 T 100 950 5 8 0 0 0 0 1 pinseq=2 } P 1700 300 2000 300 1 0 1 { T 1800 350 5 8 1 1 0 0 1 pinnumber=5 T 1800 350 5 8 0 0 0 0 1 pinseq=5 } B 300 0 1400 1500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1800 1500 5 10 0 0 0 0 1 device=lt1108 T 1700 1600 8 10 1 1 0 6 1 refdes=U? geda-gaf-1.8.2/symbols/linear/ad633JN-1.sym0000664000175000017500000000162512204104272015000 00000000000000v 20031231 1 P 200 800 0 800 1 0 1 { T 50 825 5 8 1 1 0 0 1 pinnumber=2 T 50 825 5 8 0 0 0 0 1 pinseq=2 } P 200 1100 0 1100 1 0 1 { T 50 1125 5 8 1 1 0 0 1 pinnumber=1 T 50 1125 5 8 0 0 0 0 1 pinseq=1 } T 225 1050 9 8 1 0 0 0 1 1+ T 225 750 9 8 1 0 0 0 1 1- P 200 500 0 500 1 0 1 { T 50 525 5 8 1 1 0 0 1 pinnumber=3 T 50 525 5 8 0 0 0 0 1 pinseq=3 } P 200 200 0 200 1 0 1 { T 50 225 5 8 1 1 0 0 1 pinnumber=4 T 50 225 5 8 0 0 0 0 1 pinseq=4 } P 1200 1100 1000 1100 1 0 0 { T 1075 1125 5 8 1 1 0 0 1 pinnumber=7 T 1075 1125 5 8 0 0 0 0 1 pinseq=7 } P 1200 800 1000 800 1 0 0 { T 1075 825 5 8 1 1 0 0 1 pinnumber=6 T 1075 825 5 8 0 0 0 0 1 pinseq=6 } T 225 450 9 8 1 0 0 0 1 2+ T 225 150 9 8 1 0 0 0 1 2- T 800 1050 9 8 1 0 0 0 1 W T 850 750 9 8 1 0 0 0 1 X T 200 1325 9 8 1 0 0 0 1 AD633JN T 1200 1400 5 10 0 0 0 0 1 device=AD633JN B 200 0 800 1300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1100 1400 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/linear/lm339-2.sym0000664000175000017500000000157612204104272014605 00000000000000v 20031231 1 L 200 800 200 0 3 0 0 0 -1 -1 L 800 400 200 800 3 0 0 0 -1 -1 P 200 600 0 600 1 0 1 { T 50 625 5 8 1 1 0 0 1 pinnumber=5 T 50 625 5 8 0 0 0 0 1 pinseq=1 } P 200 200 0 200 1 0 1 { T 50 225 5 8 1 1 0 0 1 pinnumber=4 T 50 225 5 8 0 0 0 0 1 pinseq=2 } P 800 400 1000 400 1 0 1 { T 875 425 5 8 1 1 0 0 1 pinnumber=2 T 875 425 5 8 0 0 0 0 1 pinseq=3 } L 300 650 300 550 3 0 0 0 -1 -1 L 250 600 350 600 3 0 0 0 -1 -1 L 250 200 350 200 3 0 0 0 -1 -1 L 800 400 200 0 3 0 0 0 -1 -1 T 900 1800 8 8 0 0 0 0 1 device=LM339 T 900 1600 8 8 0 0 0 0 1 slotdef=1:5,4,2 T 900 1500 8 8 0 0 0 0 1 slotdef=2:7,6,1 T 900 1400 8 8 0 0 0 0 1 slotdef=3:9,8,14 T 900 1300 8 8 0 0 0 0 1 slotdef=4:11,10,13 T 900 1700 8 8 0 0 0 0 1 numslots=4 T 900 1200 8 8 0 0 0 0 1 slot=1 T 225 350 9 8 1 0 0 0 1 LM339 T 200 900 8 10 1 1 0 0 1 refdes=U? T 900 1100 8 8 0 0 0 0 1 net=GND:12 T 900 1000 8 8 0 0 0 0 1 net=V+:3 geda-gaf-1.8.2/symbols/linear/lm317-1.sym0000664000175000017500000000112012204104272014561 00000000000000v 20031231 1 B 300 300 1400 1000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1700 800 2000 800 1 0 1 { T 1800 1100 5 10 0 0 0 0 1 pinnumber=2 T 1800 900 5 10 1 1 0 0 1 pinseq=2 T 1600 800 9 10 1 1 0 6 1 pinlabel=Vout } P 0 800 300 800 1 0 0 { T 200 900 5 10 1 1 0 6 1 pinnumber=3 T 0 1000 5 10 0 0 0 0 1 pinseq=3 T 400 800 9 10 1 1 0 0 1 pinlabel=Vin } P 1000 0 1000 300 1 0 0 { T 1100 100 5 10 1 1 0 0 1 pinnumber=1 T 200 100 5 10 0 0 0 0 1 pinseq=1 T 1000 400 9 10 1 1 0 3 1 pinlabel=Adjust } T 300 1400 9 10 1 0 0 0 1 LM317 T 300 1700 8 10 0 0 0 0 1 device=LM317 T 1700 1400 8 10 1 1 0 6 1 refdes=U? geda-gaf-1.8.2/symbols/linear/l200-1.sym0000664000175000017500000000122112204104272014375 00000000000000v 20031231 1 B 200 200 1000 1000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 700 200 700 1 0 0 { T 100 800 5 10 1 1 0 0 1 pinnumber=1 T 0 700 5 10 0 1 0 0 1 pinseq=1 } P 700 1400 700 1200 1 0 0 { T 500 1300 5 10 1 1 0 0 1 pinnumber=5 T 700 1400 5 10 0 1 0 0 1 pinseq=5 } P 1400 700 1200 700 1 0 0 { T 1300 800 5 10 1 1 0 0 1 pinnumber=2 T 1400 700 5 10 0 1 0 0 1 pinseq=2 } P 500 0 500 200 1 0 0 { T 300 0 5 10 1 1 0 0 1 pinnumber=3 T 500 0 5 10 0 1 0 0 1 pinseq=3 } P 900 0 900 200 1 0 0 { T 1000 0 5 10 1 1 0 0 1 pinnumber=4 T 900 0 5 10 0 1 0 0 1 pinseq=4 } T 500 700 9 10 1 0 0 0 1 L200 T 1000 1300 8 10 1 1 0 0 1 refdes=U? T 200 1600 8 10 0 0 0 0 1 device=L200 geda-gaf-1.8.2/symbols/linear/lt1376-5.sym0000664000175000017500000000253712204104272014677 00000000000000v 20031231 1 B 200 200 1800 2000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 1700 0 1700 1 0 1 { T 50 1750 5 10 1 1 0 0 1 pinnumber=2 T 50 1750 5 10 0 0 0 0 1 pinseq=2 T 250 1700 3 10 1 1 0 1 1 pinlabel=Vin } P 200 800 0 800 1 0 1 { T 50 850 5 10 1 1 0 0 1 pinnumber=5 T 50 850 5 10 0 0 0 0 1 pinseq=5 T 250 800 3 10 1 1 0 1 1 pinlabel=/SHDN } P 2200 1700 2000 1700 1 0 0 { T 2050 1750 5 10 1 1 0 0 1 pinnumber=3 T 2050 1750 5 10 0 0 0 0 1 pinseq=3 T 1900 1700 3 10 1 1 0 7 1 pinlabel=Vsw } P 2200 800 2000 800 1 0 0 { T 2050 850 5 10 1 1 0 0 1 pinnumber=7 T 2050 850 5 10 0 0 0 0 1 pinseq=7 T 1900 800 3 10 1 1 0 7 1 pinlabel=FB/Sense } P 600 200 600 0 1 0 1 { T 450 0 5 10 1 1 0 0 1 pinnumber=6 T 450 0 5 10 0 0 0 0 1 pinseq=6 T 600 250 3 10 1 1 0 3 1 pinlabel=GND } P 1500 200 1500 0 1 0 1 { T 1350 0 5 10 1 1 0 0 1 pinnumber=8 T 1350 0 5 10 0 0 0 0 1 pinseq=8 T 1500 250 3 10 1 1 0 3 1 pinlabel=Vc } P 1100 2400 1100 2200 1 0 0 { T 1000 2250 5 10 1 1 0 0 1 pinnumber=1 T 1000 2250 5 10 0 0 0 0 1 pinseq=1 T 1100 2100 3 10 1 1 0 5 1 pinlabel=Boost } P 2200 1300 2000 1300 1 0 0 { T 2050 1350 5 10 1 1 0 0 1 pinnumber=4 T 2050 1350 5 10 0 0 0 0 1 pinseq=4 T 1900 1300 3 10 1 1 0 7 1 pinlabel=BIAS } T 200 2700 8 10 0 0 0 0 1 class=IC T 200 2500 8 10 1 1 0 0 1 refdes=U? T 200 2900 8 10 0 0 0 0 1 pins=8 T 200 3100 8 10 0 0 0 0 1 device=LT1376-5 T 700 1000 9 10 1 0 0 0 1 LT1376-5 geda-gaf-1.8.2/symbols/linear/lm311-1.sym0000664000175000017500000000155312204104272014565 00000000000000v 20031231 1 L 200 800 200 0 3 0 0 0 -1 -1 L 200 0 800 400 3 0 0 0 -1 -1 T 1050 150 5 8 0 0 0 0 1 device=LM311 L 800 400 200 800 3 0 0 0 -1 -1 P 200 600 0 600 1 0 1 { T 50 625 5 8 1 1 0 0 1 pinnumber=2 T 50 625 5 8 0 0 0 0 1 pinseq=2 } P 200 200 0 200 1 0 1 { T 50 225 5 8 1 1 0 0 1 pinnumber=3 T 50 225 5 8 0 0 0 0 1 pinseq=3 } P 800 400 1000 400 1 0 1 { T 875 425 5 8 1 1 0 0 1 pinnumber=7 T 875 425 5 8 0 0 0 0 1 pinseq=7 } P 500 600 500 800 1 0 1 { T 525 650 5 8 1 1 0 0 1 pinnumber=8 T 525 650 5 8 0 0 0 0 1 pinseq=8 } P 500 200 500 0 1 0 1 { T 400 25 5 8 1 1 0 0 1 pinnumber=4 T 400 25 5 8 0 0 0 0 1 pinseq=4 } L 300 650 300 550 3 0 0 0 -1 -1 L 250 600 350 600 3 0 0 0 -1 -1 L 250 200 350 200 3 0 0 0 -1 -1 P 700 335 700 200 1 0 1 { T 750 225 5 8 1 1 0 0 1 pinnumber=1 T 750 225 5 8 0 0 0 0 1 pinseq=1 } T 250 350 9 8 1 0 0 0 1 LM311 T 200 900 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/linear/lt1181-1.sym0000664000175000017500000000375312204104272014666 00000000000000v 20031231 1 P 300 2100 0 2100 1 0 1 { T 100 2150 5 8 1 1 0 0 1 pinnumber=2 T 100 2150 5 8 0 0 0 0 1 pinseq=2 } P 300 1800 0 1800 1 0 1 { T 100 1850 5 8 1 1 0 0 1 pinnumber=3 T 100 1850 5 8 0 0 0 0 1 pinseq=3 } P 300 1500 0 1500 1 0 1 { T 100 1550 5 8 1 1 0 0 1 pinnumber=4 T 100 1550 5 8 0 0 0 0 1 pinseq=4 } P 300 1200 0 1200 1 0 1 { T 100 1250 5 8 1 1 0 0 1 pinnumber=5 T 100 1250 5 8 0 0 0 0 1 pinseq=5 } P 300 900 0 900 1 0 1 { T 100 950 5 8 1 1 0 0 1 pinnumber=6 T 100 950 5 8 0 0 0 0 1 pinseq=6 } P 300 600 0 600 1 0 1 { T 100 650 5 8 1 1 0 0 1 pinnumber=7 T 100 650 5 8 0 0 0 0 1 pinseq=7 } P 300 300 0 300 1 0 1 { T 100 350 5 8 1 1 0 0 1 pinnumber=8 T 100 350 5 8 0 0 0 0 1 pinseq=8 } T 400 1150 9 10 1 0 0 0 1 C2- T 400 850 9 10 1 0 0 0 1 V- T 400 550 9 10 1 0 0 0 1 Tx2 Out T 400 2350 9 10 1 0 0 0 1 C1+ T 400 2050 9 10 1 0 0 0 1 V+ T 400 1750 9 10 1 0 0 0 1 C1- T 400 1450 9 10 1 0 0 0 1 C2+ T 350 2850 9 10 1 0 0 0 1 LT1181 P 2300 300 2600 300 1 0 1 { T 2400 350 5 8 1 1 0 0 1 pinnumber=9 T 2400 350 5 8 0 0 0 0 1 pinseq=9 } P 2300 600 2600 600 1 0 1 { T 2400 650 5 8 1 1 0 0 1 pinnumber=10 T 2400 650 5 8 0 0 0 0 1 pinseq=10 } P 2300 900 2600 900 1 0 1 { T 2400 950 5 8 1 1 0 0 1 pinnumber=11 T 2400 950 5 8 0 0 0 0 1 pinseq=11 } P 2300 1200 2600 1200 1 0 1 { T 2400 1250 5 8 1 1 0 0 1 pinnumber=12 T 2400 1250 5 8 0 0 0 0 1 pinseq=12 } T 1700 550 9 10 1 0 0 0 1 Tx2 In T 1600 1750 9 10 1 0 0 0 1 Tx1 Out T 1700 1450 9 10 1 0 0 0 1 Rx1 In T 1600 1150 9 10 1 0 0 0 1 Rx1 Out T 1700 850 9 10 1 0 0 0 1 Tx1 In P 2300 1500 2600 1500 1 0 1 { T 2400 1550 5 8 1 1 0 0 1 pinnumber=13 T 2400 1550 5 8 0 0 0 0 1 pinseq=13 } T 2450 2600 5 10 0 0 0 0 1 device=LT1181 P 2300 1800 2600 1800 1 0 1 { T 2400 1850 5 8 1 1 0 0 1 pinnumber=14 T 2400 1850 5 8 0 0 0 0 1 pinseq=14 } P 300 2400 0 2400 1 0 1 { T 100 2450 5 8 1 1 0 0 1 pinnumber=1 T 100 2450 5 8 0 0 0 0 1 pinseq=1 } T 400 250 9 10 1 0 0 0 1 Rx2 In T 1500 250 9 10 1 0 0 0 1 Rx2 Out B 300 0 2000 2800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2300 2900 8 10 1 1 0 6 1 refdes=U? geda-gaf-1.8.2/symbols/linear/lt1761sd-1.sym0000664000175000017500000000167512204104272015222 00000000000000v 20031231 1 P 800 200 800 0 1 0 1 { T 650 250 9 8 1 1 0 0 1 pinlabel=GND T 850 50 5 8 1 1 0 0 1 pinnumber=2 T 850 50 5 8 0 0 0 0 1 pinseq=2 } P 1400 1000 1600 1000 1 0 1 { T 1050 950 9 8 1 1 0 0 1 pinlabel=Vout T 1450 1050 5 10 1 1 0 0 1 pinnumber=5 T 1450 1050 5 10 0 0 0 0 1 pinseq=5 } P 0 1000 200 1000 1 0 0 { T 250 950 9 8 1 1 0 0 1 pinlabel=Vin T 100 1050 5 10 1 1 0 0 1 pinnumber=1 T 100 1050 5 10 0 0 0 0 1 pinseq=1 } P 200 500 0 500 1 0 1 { T 200 450 9 8 1 1 0 0 1 pinlabel=/SHDN T 50 550 5 10 1 1 0 0 1 pinnumber=3 T 50 550 5 10 0 0 0 0 1 pinseq=3 } P 1400 500 1600 500 1 0 1 { T 1050 450 9 8 1 1 0 0 1 pinlabel=ADJ T 1450 550 5 10 1 1 0 0 1 pinnumber=4 T 1450 550 5 10 0 0 0 0 1 pinseq=4 } T 400 700 9 10 1 0 0 0 1 LT1761SD B 200 200 1200 1100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 700 1400 8 10 1 1 0 0 1 refdes=U? T 0 0 8 10 0 1 0 0 1 footprint=SOT23-5 T 0 0 8 10 0 1 0 0 1 class=IC T 0 0 8 10 0 1 0 0 1 pins=5 T 0 0 8 10 0 1 0 0 1 device=LT1761SD geda-gaf-1.8.2/symbols/linear/volt_reg_adj-1.sym0000664000175000017500000000150012204104272016357 00000000000000v 20031231 1 T 400 600 9 8 1 0 0 0 1 IN T 1148 600 9 8 1 0 0 0 1 OUT T 300 1000 9 8 1 0 0 0 1 Volt_reg B 300 300 1200 600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1600 1300 5 10 0 0 0 0 1 device=7805 T 756 401 9 8 1 0 0 0 1 GND P 300 600 0 600 1 0 1 { T 100 650 5 8 1 1 0 0 1 pinnumber=1 T 100 650 5 8 0 0 0 0 1 pinseq=1 } P 900 0 900 300 1 0 0 { T 800 100 5 8 1 1 0 0 1 pinnumber=3 T 800 100 5 8 0 0 0 0 1 pinseq=3 } P 1500 600 1800 600 1 0 1 { T 1630 650 5 8 1 1 0 0 1 pinnumber=5 T 1630 650 5 8 0 0 0 0 1 pinseq=5 } T 1400 1000 8 10 1 1 0 6 1 refdes=U? T 1600 1100 5 10 0 0 0 0 1 pins=3 P 500 300 500 0 1 0 1 { T 400 100 5 8 1 1 0 0 1 pinnumber=2 T 400 100 5 8 0 0 0 0 1 pinseq=2 } P 1300 300 1300 0 1 0 1 { T 1200 100 5 8 1 1 0 0 1 pinnumber=4 T 1200 100 5 8 0 0 0 0 1 pinseq=4 } T 400 400 9 8 1 0 0 0 1 CT T 1150 400 9 8 1 0 0 0 1 ADJ geda-gaf-1.8.2/symbols/linear/lm7805-1.sym0000664000175000017500000000114412204104272014660 00000000000000v 20031231 1 T 400 600 9 8 1 0 0 0 1 IN T 948 600 9 8 1 0 0 0 1 OUT T 900 100 9 8 1 0 0 0 1 7805 B 300 300 1000 600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1600 1300 5 10 0 0 0 0 1 device=7805 T 656 401 9 8 1 0 0 0 1 GND P 300 600 0 600 1 0 1 { T 100 650 5 8 1 1 0 0 1 pinnumber=1 T 100 650 5 8 0 0 0 0 1 pinseq=1 } P 800 0 800 300 1 0 0 { T 700 100 5 8 1 1 0 0 1 pinnumber=2 T 700 100 5 8 0 0 0 0 1 pinseq=2 } P 1300 600 1600 600 1 0 1 { T 1430 650 5 8 1 1 0 0 1 pinnumber=3 T 1430 650 5 8 0 0 0 0 1 pinseq=3 } T 1400 1000 8 10 1 1 0 6 1 refdes=U? T 1600 1100 5 10 0 0 0 0 1 pins=3 T 1600 900 5 10 0 0 0 0 1 net=GND:2 geda-gaf-1.8.2/symbols/linear/lt1308-1.sym0000664000175000017500000000260512204104272014662 00000000000000v 20031231 1 B 200 200 2100 2700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2400 200 2400 1 0 0 { T 75 2450 5 10 1 1 0 0 1 pinnumber=7 T 75 2450 5 10 0 0 0 0 1 pinseq=7 T 300 2400 3 10 1 1 0 1 1 pinlabel=LBI } P 800 0 800 200 1 0 0 { T 875 25 5 10 1 1 0 0 1 pinnumber=1 T 875 25 5 10 0 0 0 0 1 pinseq=1 T 800 300 3 10 1 1 0 3 1 pinlabel=Vc } P 1700 2900 1700 3100 1 0 1 { T 1575 2950 5 10 1 1 0 0 1 pinnumber=5 T 1575 2950 5 10 0 0 0 0 1 pinseq=5 T 1700 2800 3 10 1 1 0 5 1 pinlabel=SW } P 800 2900 800 3100 1 0 1 { T 675 2950 5 10 1 1 0 0 1 pinnumber=6 T 675 2950 5 10 0 0 0 0 1 pinseq=6 T 800 2800 3 10 1 1 0 5 1 pinlabel=Vin } P 2300 1200 2500 1200 1 0 1 { T 2375 1250 5 10 1 1 0 0 1 pinnumber=2 T 2375 1250 5 10 0 0 0 0 1 pinseq=2 T 2200 1200 3 10 1 1 0 7 1 pinlabel=FB } P 2300 2400 2500 2400 1 0 1 { T 2375 2450 5 10 1 1 0 0 1 pinnumber=8 T 2375 2450 5 10 0 0 0 0 1 pinseq=8 T 2200 2400 3 10 1 1 180 1 1 pinlabel=LBO } P 0 1200 200 1200 1 0 0 { T 75 1250 5 10 1 1 0 0 1 pinnumber=3 T 75 1250 5 10 0 0 0 0 1 pinseq=3 T 300 1200 3 10 1 1 0 1 1 pinlabel=_SHDN } P 1700 0 1700 200 1 0 0 { T 1750 25 5 10 1 1 0 0 1 pinnumber=4 T 1750 25 5 10 0 0 0 0 1 pinseq=4 T 1700 275 3 10 1 1 0 3 1 pinlabel=GND } T 1300 1700 9 10 1 0 0 4 1 LT1308 T 200 3200 8 10 1 1 0 0 1 refdes=U? T 200 3400 8 10 0 1 0 0 1 device=LT1308 T 200 3800 8 10 0 0 0 0 1 pins=8 T 200 4000 8 10 0 0 0 0 1 class=IC T 200 3600 8 10 0 1 0 0 1 footprint=SO8 geda-gaf-1.8.2/symbols/linear/lm324-1.sym0000664000175000017500000000177212204104272014574 00000000000000v 20031231 1 L 200 0 200 800 3 0 0 0 -1 -1 L 200 800 800 400 3 0 0 0 -1 -1 L 800 400 200 0 3 0 0 0 -1 -1 T 825 150 5 8 0 0 0 0 1 device=LM324 T 700 1200 5 10 0 0 0 0 1 numslots=4 T 675 1050 5 10 0 0 0 0 1 slotdef=1:1,2,3 T 675 900 5 10 0 0 0 0 1 slotdef=2:7,6,5 T 675 750 5 10 0 0 0 0 1 slotdef=3:8,9,10 T 675 600 5 10 0 0 0 0 1 slotdef=4:14,13,12 T 1225 450 5 10 0 0 0 0 1 slot=1 P 200 600 0 600 1 0 1 { T 50 625 5 8 1 1 0 0 1 pinnumber=3 T 50 625 5 8 0 0 0 0 1 pinseq=3 } P 200 200 0 200 1 0 1 { T 50 225 5 8 1 1 0 0 1 pinnumber=2 T 50 225 5 8 0 0 0 0 1 pinseq=2 } P 800 400 1000 400 1 0 1 { T 875 425 5 8 1 1 0 0 1 pinnumber=1 T 875 425 5 8 0 0 0 0 1 pinseq=1 } P 500 200 500 0 1 0 1 { T 525 50 5 8 1 1 0 0 1 pinnumber=11 T 525 50 5 8 0 0 0 0 1 pinseq=11 } P 500 600 500 800 1 0 1 { T 525 650 5 8 1 1 0 0 1 pinnumber=4 T 525 650 5 8 0 0 0 0 1 pinseq=4 } L 250 600 350 600 3 0 0 0 -1 -1 L 300 650 300 550 3 0 0 0 -1 -1 L 250 200 350 200 3 0 0 0 -1 -1 T 225 350 9 8 1 0 0 0 1 LM324 T 200 900 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/linear/lm2902-1.sym0000664000175000017500000000177412204104272014662 00000000000000v 20031231 1 L 200 0 200 800 3 0 0 0 -1 -1 L 200 800 800 400 3 0 0 0 -1 -1 L 800 400 200 0 3 0 0 0 -1 -1 T 825 150 5 8 0 0 0 0 1 device=LM2902 T 700 1200 5 10 0 0 0 0 1 numslots=4 T 675 1050 5 10 0 0 0 0 1 slotdef=1:1,2,3 T 675 900 5 10 0 0 0 0 1 slotdef=2:7,6,5 T 675 750 5 10 0 0 0 0 1 slotdef=3:8,9,10 T 675 600 5 10 0 0 0 0 1 slotdef=4:14,13,12 T 1225 450 5 10 0 0 0 0 1 slot=1 P 200 600 0 600 1 0 1 { T 50 625 5 8 1 1 0 0 1 pinnumber=3 T 50 625 5 8 0 0 0 0 1 pinseq=3 } P 200 200 0 200 1 0 1 { T 50 225 5 8 1 1 0 0 1 pinnumber=2 T 50 225 5 8 0 0 0 0 1 pinseq=2 } P 800 400 1000 400 1 0 1 { T 875 425 5 8 1 1 0 0 1 pinnumber=1 T 875 425 5 8 0 0 0 0 1 pinseq=1 } P 500 200 500 0 1 0 1 { T 525 50 5 8 1 1 0 0 1 pinnumber=11 T 525 50 5 8 0 0 0 0 1 pinseq=11 } P 500 600 500 800 1 0 1 { T 525 650 5 8 1 1 0 0 1 pinnumber=4 T 525 650 5 8 0 0 0 0 1 pinseq=4 } L 250 600 350 600 3 0 0 0 -1 -1 L 300 650 300 550 3 0 0 0 -1 -1 L 250 200 350 200 3 0 0 0 -1 -1 T 225 350 9 7 1 0 0 0 1 LM2902 T 200 900 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/linear/lm7812-1.sym0000664000175000017500000000114412204104272014656 00000000000000v 20031231 1 T 400 600 9 8 1 0 0 0 1 IN T 948 600 9 8 1 0 0 0 1 OUT T 900 100 9 8 1 0 0 0 1 7812 B 300 300 1000 600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1600 1300 5 10 0 0 0 0 1 device=7812 T 656 401 9 8 1 0 0 0 1 GND P 300 600 0 600 1 0 1 { T 100 650 5 8 1 1 0 0 1 pinnumber=1 T 100 650 5 8 0 0 0 0 1 pinseq=1 } P 800 0 800 300 1 0 0 { T 700 100 5 8 1 1 0 0 1 pinnumber=2 T 700 100 5 8 0 0 0 0 1 pinseq=2 } P 1300 600 1600 600 1 0 1 { T 1430 650 5 8 1 1 0 0 1 pinnumber=3 T 1430 650 5 8 0 0 0 0 1 pinseq=3 } T 1400 1000 8 10 1 1 0 6 1 refdes=U? T 1600 1100 5 10 0 0 0 0 1 pins=3 T 1600 900 5 10 0 0 0 0 1 net=GND:2 geda-gaf-1.8.2/symbols/linear/lm337-1.sym0000664000175000017500000000112012204104272014563 00000000000000v 20031231 1 B 300 300 1400 1000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1700 800 2000 800 1 0 1 { T 1800 1100 5 10 0 0 0 0 1 pinnumber=2 T 1800 900 5 10 1 1 0 0 1 pinseq=2 T 1600 800 9 10 1 1 0 6 1 pinlabel=Vout } P 0 800 300 800 1 0 0 { T 200 900 5 10 1 1 0 6 1 pinnumber=3 T 0 1000 5 10 0 0 0 0 1 pinseq=3 T 400 800 9 10 1 1 0 0 1 pinlabel=Vin } P 1000 0 1000 300 1 0 0 { T 1100 100 5 10 1 1 0 0 1 pinnumber=1 T 200 100 5 10 0 0 0 0 1 pinseq=1 T 1000 400 9 10 1 1 0 3 1 pinlabel=Adjust } T 300 1400 9 10 1 0 0 0 1 LM337 T 300 1700 8 10 0 0 0 0 1 device=LM337 T 1700 1400 8 10 1 1 0 6 1 refdes=U? geda-gaf-1.8.2/symbols/linear/lm7810-1.sym0000664000175000017500000000114412204104272014654 00000000000000v 20031231 1 T 400 600 9 8 1 0 0 0 1 IN T 948 600 9 8 1 0 0 0 1 OUT T 900 100 9 8 1 0 0 0 1 7810 B 300 300 1000 600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1600 1300 5 10 0 0 0 0 1 device=7810 T 656 401 9 8 1 0 0 0 1 GND P 300 600 0 600 1 0 1 { T 100 650 5 8 1 1 0 0 1 pinnumber=1 T 100 650 5 8 0 0 0 0 1 pinseq=1 } P 800 0 800 300 1 0 0 { T 700 100 5 8 1 1 0 0 1 pinnumber=2 T 700 100 5 8 0 0 0 0 1 pinseq=2 } P 1300 600 1600 600 1 0 1 { T 1430 650 5 8 1 1 0 0 1 pinnumber=3 T 1430 650 5 8 0 0 0 0 1 pinseq=3 } T 1400 1000 8 10 1 1 0 6 1 refdes=U? T 1600 1100 5 10 0 0 0 0 1 pins=3 T 1600 900 5 10 0 0 0 0 1 net=GND:2 geda-gaf-1.8.2/symbols/linear/lm2576T-1.sym0000664000175000017500000000142012204104272015001 00000000000000v 20031231 1 B 300 300 1000 400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 500 300 500 1 0 0 { T 100 600 5 8 0 0 180 4 1 pinseq=1 T 200 700 5 10 1 1 180 0 1 pinnumber=1 } P 400 0 400 300 1 0 0 { T 400 200 5 8 0 0 180 4 1 pinseq=3 T 300 200 5 10 1 1 180 0 1 pinnumber=3 } P 1200 0 1200 300 1 0 0 { T 1100 200 5 8 0 0 180 4 1 pinseq=5 T 1100 200 5 10 1 1 180 0 1 pinnumber=5 } P 1600 600 1300 600 1 0 0 { T 1900 800 5 8 0 0 180 4 1 pinseq=4 T 1500 800 5 10 1 1 180 0 1 pinnumber=4 } P 1600 400 1300 400 1 0 0 { T 1900 500 5 8 0 0 180 4 1 pinseq=2 T 1500 300 5 10 1 1 180 0 1 pinnumber=2 } T 800 500 9 10 1 0 0 4 1 LM2576T T 500 1100 8 10 0 0 0 0 1 device=LM2576T T 500 1500 8 10 0 0 0 0 1 description=LM2576 FAMILY T 500 1300 8 10 0 0 0 0 1 footprint=TO-220 T 1100 800 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/linear/lm339-1.sym0000664000175000017500000000231612204104272014575 00000000000000v 20041228 1 L 200 800 200 0 3 0 0 0 -1 -1 L 800 400 200 800 3 0 0 0 -1 -1 P 200 600 0 600 1 0 1 { T 50 625 5 8 1 1 0 0 1 pinnumber=5 T 50 625 5 8 0 0 0 0 1 pinseq=1 } P 200 200 0 200 1 0 1 { T 50 225 5 8 1 1 0 0 1 pinnumber=4 T 50 225 5 8 0 0 0 0 1 pinseq=2 } P 800 400 1000 400 1 0 1 { T 875 425 5 8 1 1 0 0 1 pinnumber=2 T 875 425 5 8 0 0 0 0 1 pinseq=5 } P 500 600 500 800 1 0 1 { T 550 675 5 8 1 1 0 0 1 pinnumber=3 T 550 675 5 8 0 0 0 0 1 pinseq=3 } P 500 200 500 0 1 0 1 { T 525 50 5 8 1 1 0 0 1 pinnumber=12 T 525 50 5 8 0 0 0 0 1 pinseq=4 } L 300 650 300 550 3 0 0 0 -1 -1 L 250 600 350 600 3 0 0 0 -1 -1 L 250 200 350 200 3 0 0 0 -1 -1 L 800 400 200 0 3 0 0 0 -1 -1 T 825 150 5 8 0 0 0 0 1 device=LM339 T 900 1600 5 8 0 0 0 0 1 slotdef=1:5,4,3,12,2 T 900 1475 5 8 0 0 0 0 1 slotdef=2:7,6,3,12,1 T 900 1350 5 8 0 0 0 0 1 slotdef=3:9,8,3,12,14 T 900 1225 5 8 0 0 0 0 1 slotdef=4:11,10,3,12,13 T 900 1725 5 8 0 0 0 0 1 numslots=4 T 900 1100 5 8 0 0 0 0 1 slot=1 T 225 350 9 8 1 0 0 0 1 LM339 T 200 900 8 10 1 1 0 0 1 refdes=U? T 900 1825 5 8 0 0 0 0 1 symversion=1.0 T 900 1925 5 8 0 0 0 0 1 documentation=http://www.onsemi.com/pub/Collateral/LM339-D.PDF T 900 2025 5 8 0 0 0 0 1 description=single supply quad comparators geda-gaf-1.8.2/symbols/linear/lm358-1.sym0000664000175000017500000000172312204104272014577 00000000000000v 20031231 1 L 200 0 200 800 3 0 0 0 -1 -1 L 200 800 800 400 3 0 0 0 -1 -1 L 800 400 200 0 3 0 0 0 -1 -1 T 675 600 5 10 0 0 0 0 1 device=LM358 T 700 1200 5 10 0 0 0 0 1 numslots=2 T 675 1050 5 10 0 0 0 0 1 slotdef=1:1,2,3,4,8 T 675 900 5 10 0 0 0 0 1 slotdef=2:7,6,5,4,8 T 675 750 5 10 0 0 0 0 1 slot=1 T 700 1350 5 10 0 0 0 0 1 footprint=DIP8 P 200 600 0 600 1 0 1 { T 50 625 5 8 1 1 0 0 1 pinnumber=3 T 50 625 5 8 0 0 0 0 1 pinseq=3 } P 200 200 0 200 1 0 1 { T 50 225 5 8 1 1 0 0 1 pinnumber=2 T 50 225 5 8 0 0 0 0 1 pinseq=2 } P 800 400 1000 400 1 0 1 { T 875 425 5 8 1 1 0 0 1 pinnumber=1 T 875 425 5 8 0 0 0 0 1 pinseq=1 } P 500 200 500 0 1 0 1 { T 525 50 5 8 1 1 0 0 1 pinnumber=4 T 525 50 5 8 0 0 0 0 1 pinseq=4 } P 500 600 500 800 1 0 1 { T 525 650 5 8 1 1 0 0 1 pinnumber=8 T 525 650 5 8 0 0 0 0 1 pinseq=5 } L 250 600 350 600 3 0 0 0 -1 -1 L 300 650 300 550 3 0 0 0 -1 -1 L 250 200 350 200 3 0 0 0 -1 -1 T 225 350 9 8 1 0 0 0 1 LM358 T 200 900 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/linear/lp2954IT-1.sym0000664000175000017500000000175412204104272015127 00000000000000v 20041228 1 T 900 100 9 8 1 0 0 0 1 LP2954IT B 300 300 1000 600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1600 1300 8 10 0 0 0 0 1 device=LP2954IT P 300 600 0 600 1 0 1 { T 100 650 5 8 1 1 0 0 1 pinnumber=1 T 100 300 5 8 0 0 0 0 1 pinseq=1 T 350 600 9 8 1 1 0 0 1 pinlabel=IN T 100 450 5 10 0 1 0 0 1 pintype=pwr } P 800 0 800 300 1 0 0 { T 700 100 5 8 1 1 0 0 1 pinnumber=2 T 1850 50 5 8 0 0 0 0 1 pinseq=2 T 800 350 9 8 1 1 0 3 1 pinlabel=GND T 900 0 5 10 0 1 0 0 1 pintype=pwr } P 1300 600 1600 600 1 0 1 { T 1430 650 5 8 1 1 0 0 1 pinnumber=3 T 1430 300 5 8 0 0 0 0 1 pinseq=3 T 1250 600 9 8 1 1 0 6 1 pinlabel=OUT T 1450 450 5 10 0 1 0 0 1 pintype=pwr } T 1400 1000 8 10 1 1 0 6 1 refdes=U? T 1600 1100 8 10 0 0 0 0 1 pins=3 T 1600 900 8 10 0 0 0 0 1 net=GND:2 T 1600 1470 8 10 0 0 0 0 1 numslots=0 T 1600 1620 8 10 0 0 0 0 1 footprint=TO220 T 1600 1820 8 10 0 0 0 0 1 description=5V Micropower Low-Dropout Voltage Regulator T 1600 1970 8 10 0 0 0 0 1 documentation=http://www.national.com/ds/LP/LP2954.pdf geda-gaf-1.8.2/symbols/linear/lm555-1.sym0000664000175000017500000000230712204104272014575 00000000000000v 20031231 1 T 1600 400 9 8 1 0 0 0 1 OUT T 1530 1098 9 8 1 0 0 0 1 CTRL T 1400 1500 9 8 1 0 0 0 1 THRES T 1569 1902 9 8 1 0 0 0 1 DISC P 2000 400 2300 400 1 0 1 { T 2098 468 5 8 1 1 0 0 1 pinnumber=3 T 2098 468 5 8 0 0 0 0 1 pinseq=3 } P 2000 1100 2300 1100 1 0 1 { T 2098 1166 5 8 1 1 0 0 1 pinnumber=5 T 2098 1166 5 8 0 0 0 0 1 pinseq=5 } P 2000 1500 2300 1500 1 0 1 { T 2098 1565 5 8 1 1 0 0 1 pinnumber=6 T 2098 1565 5 8 0 0 0 0 1 pinseq=6 } P 2000 1900 2300 1900 1 0 1 { T 2098 1970 5 8 1 1 0 0 1 pinnumber=7 T 2098 1970 5 8 0 0 0 0 1 pinseq=7 } T 506 2302 9 8 1 0 0 0 1 RESET T 1440 2302 9 8 1 0 0 0 1 VCC P 1600 2500 1600 2800 1 0 1 { T 1401 2622 5 8 1 1 0 0 1 pinnumber=8 T 1401 2622 5 8 0 0 0 0 1 pinseq=8 } P 800 2500 800 2800 1 0 1 { T 602 2622 5 8 1 1 0 0 1 pinnumber=4 T 602 2622 5 8 0 0 0 0 1 pinseq=4 } T 400 1500 9 8 1 0 0 0 1 TRIG T 400 400 9 8 1 0 0 0 1 GND P 0 1500 300 1500 1 0 0 { T 96 1565 5 8 1 1 0 0 1 pinnumber=2 T 96 1565 5 8 0 0 0 0 1 pinseq=2 } P 0 400 300 400 1 0 0 { T 129 468 5 8 1 1 0 0 1 pinnumber=1 T 129 468 5 8 0 0 0 0 1 pinseq=1 } T 300 0 9 10 1 0 0 0 1 LM555 B 300 200 1700 2300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2300 2400 5 10 0 0 0 0 1 device=LM555 T 1800 0 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/linear/lt1374cs8.sym0000664000175000017500000000261212204104272015143 00000000000000v 20031231 1 B 200 200 1800 2000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 1700 0 1700 1 0 1 { T 50 1750 5 10 1 1 0 0 1 pinnumber=1 T 50 1750 5 10 0 0 0 0 1 pinseq=1 T 250 1700 3 10 1 1 0 1 1 pinlabel=Vin } P 200 800 0 800 1 0 1 { T 50 850 5 10 1 1 0 0 1 pinnumber=7 T 50 850 5 10 0 0 0 0 1 pinseq=7 T 250 800 3 10 1 1 0 1 1 pinlabel=/SHDN } P 2200 1700 2000 1700 1 0 0 { T 2050 1750 5 10 1 1 0 0 1 pinnumber=8 T 2050 1750 5 10 0 0 0 0 1 pinseq=8 T 1900 1700 3 10 1 1 0 7 1 pinlabel=Vsw } P 2200 800 2000 800 1 0 0 { T 2050 850 5 10 1 1 0 0 1 pinnumber=3 T 2050 850 5 10 0 0 0 0 1 pinseq=3 T 1900 800 3 10 1 1 0 7 1 pinlabel=FB/Sense } P 600 200 600 0 1 0 1 { T 450 0 5 10 1 1 0 0 1 pinnumber=4 T 450 0 5 10 0 0 0 0 1 pinseq=4 T 600 250 3 10 1 1 0 3 1 pinlabel=GND } P 1500 200 1500 0 1 0 1 { T 1350 0 5 10 1 1 0 0 1 pinnumber=6 T 1350 0 5 10 0 0 0 0 1 pinseq=6 T 1500 250 3 10 1 1 0 3 1 pinlabel=Vc } P 1100 2400 1100 2200 1 0 0 { T 1000 2250 5 10 1 1 0 0 1 pinnumber=2 T 1000 2250 5 10 0 0 0 0 1 pinseq=2 T 1100 2100 3 10 1 1 0 5 1 pinlabel=Boost } P 2200 1300 2000 1300 1 0 0 { T 2050 1350 5 10 1 1 0 0 1 pinnumber=5 T 2050 1350 5 10 0 0 0 0 1 pinseq=5 T 1900 1300 3 10 1 1 0 7 1 pinlabel=BIAS } T 200 2700 8 10 0 0 0 0 1 class=IC T 200 2500 8 10 1 1 0 0 1 refdes=U? T 200 2900 8 10 0 0 0 0 1 pins=8 T 200 3100 8 10 0 0 0 0 1 device=LT1374CS8 T 700 1000 9 10 1 0 0 0 1 LT1374CS8 T 700 800 9 10 0 0 0 0 1 footprint=SMD 8 geda-gaf-1.8.2/symbols/linear/ad633JR-1.sym0000664000175000017500000000367412204104272015012 00000000000000v 20031231 1 L 700 700 900 900 3 0 0 0 -1 -1 L 700 900 900 700 3 0 0 0 -1 -1 V 800 800 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1300 800 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 1200 900 1400 900 3 0 0 0 -1 -1 L 1200 900 1300 800 3 0 0 0 -1 -1 L 1300 800 1200 700 3 0 0 0 -1 -1 L 1200 700 1400 700 3 0 0 0 -1 -1 T 400 1000 9 8 1 0 0 0 1 X T 400 500 9 8 1 0 0 0 1 Y T 1500 900 9 8 1 0 0 0 1 W L 200 200 1500 200 3 0 0 0 -1 -1 P 200 600 0 600 1 0 1 { T 150 650 5 8 1 1 0 6 1 pinnumber=1 T 150 650 5 8 0 0 0 6 1 pinseq=1 } P 200 1100 0 1100 1 0 1 { T 150 1150 5 8 1 1 0 6 1 pinnumber=7 T 150 1150 5 8 0 0 0 6 1 pinseq=7 } P 200 900 0 900 1 0 1 { T 150 950 5 8 1 1 0 6 1 pinnumber=8 T 150 950 5 8 0 0 0 6 1 pinseq=8 } P 200 400 0 400 1 0 1 { T 150 450 5 8 1 1 0 6 1 pinnumber=2 T 150 450 5 8 0 0 0 6 1 pinseq=2 } P 1300 200 1300 0 1 0 1 { T 1350 50 5 8 1 1 0 0 1 pinnumber=4 T 1350 50 5 8 0 0 0 0 1 pinseq=4 } P 1900 800 1700 800 1 0 0 { T 1750 850 5 8 1 1 0 0 1 pinnumber=5 T 1750 850 5 8 0 0 0 0 1 pinseq=5 } P 700 1500 700 1300 1 0 0 { T 750 1400 5 8 1 1 0 0 1 pinnumber=6 T 750 1400 5 8 0 0 0 0 1 pinseq=6 } P 1200 1500 1200 1300 1 0 0 { T 1250 1400 5 8 1 1 0 0 1 pinnumber=3 T 1250 1400 5 8 0 0 0 0 1 pinseq=3 } T 600 1100 9 8 1 0 0 0 1 +VS T 1100 1100 9 8 1 0 0 0 1 -VS T 300 1100 9 8 1 0 0 0 1 + T 300 600 9 8 1 0 0 0 1 + T 300 900 9 8 1 0 0 0 1 - T 300 400 9 8 1 0 0 0 1 - L 1300 600 1300 200 3 0 0 0 -1 -1 L 1100 800 1000 800 3 0 0 0 -1 -1 L 400 1000 400 800 3 0 0 0 -1 -1 L 400 800 600 800 3 0 0 0 -1 -1 L 400 400 800 400 3 0 0 0 -1 -1 L 800 400 800 600 3 0 0 0 -1 -1 L 200 1300 1500 1300 3 0 0 0 -1 -1 L 200 1300 200 200 3 0 0 0 -1 -1 L 1500 800 1600 800 3 0 0 0 -1 -1 L 1500 1300 1700 1100 3 0 0 0 -1 -1 L 1700 1100 1700 400 3 0 0 0 -1 -1 L 1700 400 1500 200 3 0 0 0 -1 -1 L 1300 400 1400 300 3 0 0 0 -1 -1 L 1300 400 1200 300 3 0 0 0 -1 -1 L 1600 800 1700 800 3 0 0 0 -1 -1 T 1200 400 9 8 1 0 0 0 1 Z T 1600 1300 5 10 0 0 0 0 1 device=AD633JR T 200 1400 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/linear/lm741-1.sym0000664000175000017500000000141112204104272014565 00000000000000v 20031231 1 T 625 950 8 8 0 0 0 0 1 device=LM741 T 225 350 9 8 1 0 0 0 1 LM741 T 200 900 8 10 1 1 0 0 1 refdes=U? P 200 200 0 200 1 0 1 { T 50 225 5 8 1 1 0 0 1 pinnumber=2 T 50 225 5 8 0 0 0 0 1 pinseq=2 } P 200 600 0 600 1 0 1 { T 50 625 5 8 1 1 0 0 1 pinnumber=3 T 50 625 5 8 0 0 0 0 1 pinseq=3 } P 500 200 500 0 1 0 1 { T 525 50 5 8 1 1 0 0 1 pinnumber=4 T 525 50 5 8 0 0 0 0 1 pinseq=4 } P 800 400 1000 400 1 0 1 { T 875 425 5 8 1 1 0 0 1 pinnumber=6 T 875 425 5 8 0 0 0 0 1 pinseq=6 } P 500 600 500 800 1 0 1 { T 550 675 5 8 1 1 0 0 1 pinnumber=7 T 550 675 5 8 0 0 0 0 1 pinseq=7 } L 200 800 200 0 3 0 0 0 -1 -1 L 800 400 200 800 3 0 0 0 -1 -1 L 300 650 300 550 3 0 0 0 -1 -1 L 250 600 350 600 3 0 0 0 -1 -1 L 250 200 350 200 3 0 0 0 -1 -1 L 800 400 200 0 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/linear/lm2941-1.sym0000664000175000017500000000217512204104272014661 00000000000000v 20031231 1 T 300 2600 5 10 0 0 0 0 1 footprint=TO220_5PIN T 300 2800 5 10 0 0 0 0 1 pins=6 B 300 300 1200 1200 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 T 300 2200 5 10 0 0 0 0 1 device=LM2941T T 300 2400 5 10 0 0 0 0 1 class=IC T 1500 1600 2 10 1 1 0 6 1 refdes=U? P 300 1200 0 1200 1 0 1 { T 96 1250 5 8 1 1 0 0 1 pinnumber=4 T 96 1250 5 8 0 0 0 0 1 pinseq=1 T 375 1150 3 8 1 1 0 0 1 pinlabel=In } P 200 600 0 600 1 0 1 { T 96 650 5 8 1 1 0 0 1 pinnumber=2 T 96 650 5 8 0 0 0 0 1 pinseq=2 T 375 550 3 8 1 1 0 0 1 pinlabel=/On } V 250 600 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1500 1200 1800 1200 1 0 1 { T 1600 1250 5 8 1 1 0 0 1 pinnumber=5 T 1600 1250 5 8 0 0 0 0 1 pinseq=3 T 1198 1150 3 8 1 1 0 0 1 pinlabel=Out } P 1500 600 1800 600 1 0 1 { T 1600 650 5 8 1 1 0 0 1 pinnumber=1 T 1600 650 5 8 0 0 0 0 1 pinseq=4 T 1214 550 3 8 1 1 0 0 1 pinlabel=Adj } P 600 300 600 0 1 0 1 { T 675 150 5 8 1 1 0 0 1 pinnumber=6 T 675 150 5 8 0 0 0 0 1 pinseq=5 T 462 350 3 8 1 1 0 0 1 pinlabel=Tab } P 1200 300 1200 0 1 0 1 { T 1275 150 5 8 1 1 0 0 1 pinnumber=3 T 1275 150 5 8 0 0 0 0 1 pinseq=6 T 1032 350 3 8 1 1 0 0 1 pinlabel=GND } T 300 1600 9 10 1 0 0 0 1 LM2941T geda-gaf-1.8.2/symbols/linear/lm393-1.sym0000664000175000017500000000212712204104272014575 00000000000000v 20041228 1 L 200 800 200 0 3 0 0 0 -1 -1 L 200 0 800 400 3 0 0 0 -1 -1 T 225 2050 5 8 0 0 0 0 1 device=LM393 T 200 1300 5 10 0 0 0 0 1 numslots=2 T 200 1150 5 10 0 0 0 0 1 slotdef=1:3,2,8,4,1 T 200 1000 5 10 0 0 0 0 1 slotdef=2:5,6,8,4,7 L 800 400 200 800 3 0 0 0 -1 -1 P 200 600 0 600 1 0 1 { T 50 625 5 8 1 1 0 0 1 pinnumber=3 T 50 625 5 8 0 0 0 0 1 pinseq=1 } P 200 200 0 200 1 0 1 { T 50 225 5 8 1 1 0 0 1 pinnumber=2 T 50 225 5 8 0 0 0 0 1 pinseq=2 } P 800 400 1000 400 1 0 1 { T 875 425 5 8 1 1 0 0 1 pinnumber=1 T 875 425 5 8 0 0 0 0 1 pinseq=5 } P 500 600 500 800 1 0 1 { T 525 650 5 8 1 1 0 0 1 pinnumber=8 T 525 650 5 8 0 0 0 0 1 pinseq=3 } P 500 200 500 0 1 0 1 { T 525 50 5 8 1 1 0 0 1 pinnumber=4 T 525 50 5 8 0 0 0 0 1 pinseq=4 } L 300 650 300 550 3 0 0 0 -1 -1 L 250 600 350 600 3 0 0 0 -1 -1 L 250 200 350 200 3 0 0 0 -1 -1 T 225 350 9 8 1 0 0 0 1 LM393 T 200 900 8 10 1 1 0 0 1 refdes=U? T 200 1500 5 10 0 0 0 0 1 documentation=http://www.onsemi.com/pub/Collateral/LM393-D.PDF T 200 1700 5 10 0 0 0 0 1 description=low offset voltage dual comparators T 200 1900 5 10 0 0 0 0 1 symversion=0.1 geda-gaf-1.8.2/symbols/linear/lm135-1.sym0000664000175000017500000000221612204104272014566 00000000000000v 20040111 1 L 300 600 300 200 3 0 0 0 -1 -1 T 300 1000 5 10 0 0 0 0 1 device=LM135 L 300 200 600 400 3 0 0 0 -1 -1 L 300 600 600 400 3 0 0 0 -1 -1 L 600 400 600 600 3 0 0 0 -1 -1 L 600 600 500 600 3 0 0 0 -1 -1 L 600 400 600 200 3 0 0 0 -1 -1 L 600 200 700 200 3 0 0 0 -1 -1 L 300 400 200 400 3 0 0 0 -1 -1 L 600 400 700 400 3 0 0 0 -1 -1 L 402 262 402 198 3 0 0 0 -1 -1 P 700 400 900 400 1 0 1 { T 750 250 5 8 1 1 0 0 1 pinnumber=2 T 700 350 5 8 0 1 0 2 1 pinseq=2 T 850 450 9 8 1 1 0 6 1 pinlabel=+ T 550 400 5 8 0 1 0 8 1 pintype=pas } P 200 400 0 400 1 0 1 { T 150 250 5 8 1 1 0 6 1 pinnumber=1 T 200 350 5 8 0 1 0 8 1 pinseq=1 T 100 450 9 8 1 1 0 0 1 pinlabel=- T 350 400 5 8 0 1 0 2 1 pintype=pas } P 400 200 400 0 1 0 1 { T 300 50 5 8 1 1 0 0 1 pinnumber=3 T 450 100 5 8 0 1 0 2 1 pinseq=3 T 600 50 9 8 1 1 0 3 1 pinlabel=ADJ T 400 500 5 8 0 1 0 3 1 pintype=pas } T 300 800 8 10 1 1 0 0 1 refdes=U? T 300 1400 5 10 0 0 0 0 1 footprint=TO92 T 300 1600 5 10 0 0 0 0 1 description=precision temperature sensor T 300 1800 5 10 0 0 0 0 1 numslots=0 T 300 1200 5 10 0 0 0 0 1 documentation=http://www.national.com/ds.cgi/LM/LM135.pdf T 200 650 9 8 1 0 0 0 1 LM135 geda-gaf-1.8.2/symbols/linear/lm7885-1.sym0000664000175000017500000000114412204104272014670 00000000000000v 20031231 1 T 400 600 9 8 1 0 0 0 1 IN T 948 600 9 8 1 0 0 0 1 OUT T 900 100 9 8 1 0 0 0 1 7885 B 300 300 1000 600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1600 1300 5 10 0 0 0 0 1 device=7885 T 656 401 9 8 1 0 0 0 1 GND P 300 600 0 600 1 0 1 { T 100 650 5 8 1 1 0 0 1 pinnumber=1 T 100 650 5 8 0 0 0 0 1 pinseq=1 } P 800 0 800 300 1 0 0 { T 700 100 5 8 1 1 0 0 1 pinnumber=2 T 700 100 5 8 0 0 0 0 1 pinseq=2 } P 1300 600 1600 600 1 0 1 { T 1430 650 5 8 1 1 0 0 1 pinnumber=3 T 1430 650 5 8 0 0 0 0 1 pinseq=3 } T 1400 1000 8 10 1 1 0 6 1 refdes=U? T 1600 1100 5 10 0 0 0 0 1 pins=3 T 1600 900 5 10 0 0 0 0 1 net=GND:2 geda-gaf-1.8.2/symbols/linear/lm3909-1.sym0000664000175000017500000000247212204104272014666 00000000000000v 20031231 1 B 300 0 1200 1850 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 1850 5 10 0 1 0 0 1 device=LM3909 T 300 1900 9 10 1 0 0 0 1 LM3909 P 0 1500 300 1500 1 0 0 { T 112 1540 5 10 1 1 0 0 1 pinnumber=1 T 112 1540 5 10 0 0 0 0 1 pinseq=1 T 350 1500 3 10 1 1 0 0 1 pinlabel=3k RC } P 300 1100 0 1100 1 0 1 { T 100 1150 5 10 1 1 0 0 1 pinnumber=2 T 100 1150 5 10 0 0 0 0 1 pinseq=2 T 350 1100 3 10 1 1 0 0 1 pinlabel=OUT } P 300 700 0 700 1 0 1 { T 100 750 5 10 1 1 0 0 1 pinnumber=3 T 100 750 5 10 0 0 0 0 1 pinseq=3 T 350 700 3 10 1 1 0 0 1 pinlabel=NC } P 300 300 0 300 1 0 1 { T 100 350 5 10 1 1 0 0 1 pinnumber=4 T 100 350 5 10 0 0 0 0 1 pinseq=4 T 350 300 3 10 1 1 0 0 1 pinlabel=V- } P 1500 1500 1800 1500 1 0 1 { T 1600 1550 5 10 1 1 0 0 1 pinnumber=5 T 1600 1550 5 10 0 0 0 0 1 pinseq=5 T 950 1500 3 10 1 1 0 0 1 pinlabel=9k RC } P 1500 1100 1800 1100 1 0 1 { T 1600 1150 5 10 1 1 0 0 1 pinnumber=6 T 1600 1150 5 10 0 0 0 0 1 pinseq=6 T 1200 1100 3 10 1 1 0 0 1 pinlabel=NC } P 1500 700 1800 700 1 0 1 { T 1600 750 5 10 1 1 0 0 1 pinnumber=7 T 1600 750 5 10 0 0 0 0 1 pinseq=7 T 1250 700 3 10 1 1 0 0 1 pinlabel=RL } P 1500 300 1800 300 1 0 1 { T 1600 350 5 10 1 1 0 0 1 pinnumber=8 T 1600 350 5 10 0 0 0 0 1 pinseq=8 T 1250 300 3 10 1 1 0 0 1 pinlabel=V+ } T 650 300 8 10 0 1 0 0 1 footprint=DIP8 T 1200 1900 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/linear/lt1782-1.sym0000664000175000017500000000213612204104272014667 00000000000000v 20040111 1 T 600 600 8 10 1 1 0 0 1 refdes=U? L 200 800 200 0 3 0 0 0 -1 -1 L 200 800 800 400 3 0 0 0 -1 -1 L 800 400 200 0 3 0 0 0 -1 -1 T 200 2150 5 10 0 0 0 0 1 net=Vcc:5 T 200 2350 5 10 0 0 0 0 1 net=GND:2 T 200 1150 5 10 0 0 0 0 1 footprint=SOT23 L 300 650 300 550 3 0 0 0 -1 -1 L 250 600 350 600 3 0 0 0 -1 -1 L 250 200 350 200 3 0 0 0 -1 -1 P 800 400 1000 400 1 0 1 { T 800 450 5 8 1 1 0 0 1 pinnumber=1 T 800 350 5 8 0 1 0 2 1 pinseq=1 T 650 400 5 8 0 1 0 8 1 pintype=out T 650 400 9 8 0 1 0 6 1 pinlabel=OUT } P 0 600 200 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=3 T 200 550 5 8 0 1 0 8 1 pinseq=3 T 350 600 5 8 0 1 0 2 1 pintype=in T 350 600 9 8 0 1 0 0 1 pinlabel=IN+ } P 0 200 200 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=4 T 200 150 5 8 0 1 0 8 1 pinseq=4 T 350 200 5 8 0 1 0 2 1 pintype=in T 350 200 9 8 0 1 0 0 1 pinlabel=IN- } T 200 1750 5 10 0 0 0 0 1 device=LT1782 T 200 1550 5 10 0 0 0 0 1 description=rail-to-rail input and output opamp T 200 1950 5 10 0 0 0 0 1 numslots=0 T 200 1350 5 10 0 0 0 0 1 documentation=http://www.linear.com.cn/pdf/1782fa.pdf T 200 900 9 10 1 0 0 0 1 LT1782 geda-gaf-1.8.2/symbols/linear/SLA7024M.sym0000664000175000017500000000523012204104272014637 00000000000000v 20070626 1 P 0 1800 300 1800 1 0 0 { T 100 1850 5 8 1 1 0 0 1 pinnumber=4 T 100 1850 5 8 0 0 0 0 1 pinseq=9 T 400 1800 9 8 1 1 0 0 1 pinlabel=GNDa } P 0 1500 300 1500 1 0 0 { T 100 1550 5 8 1 1 0 0 1 pinnumber=15 T 100 1550 5 8 0 0 0 0 1 pinseq=10 T 400 1500 9 8 1 1 0 0 1 pinlabel=GNDb } T 300 4440 9 10 1 0 0 0 1 SLA7024M P 1700 4200 2000 4200 1 0 1 { T 1800 4250 5 8 1 1 0 0 1 pinnumber=1 T 1800 4250 5 8 0 0 0 0 1 pinseq=15 T 1200 4200 9 8 1 1 0 0 1 pinlabel=OUTa } P 1700 3900 2000 3900 1 0 1 { T 1800 3950 5 8 1 1 0 0 1 pinnumber=8 T 1800 3950 5 8 0 0 0 0 1 pinseq=16 T 1200 3900 9 8 1 1 0 0 1 pinlabel=OUT\_a\_ } P 1700 3600 2000 3600 1 0 1 { T 1800 3650 5 8 1 1 0 0 1 pinnumber=11 T 1800 3650 5 8 0 0 0 0 1 pinseq=17 T 1200 3600 9 8 1 1 0 0 1 pinlabel=OUTb } P 1700 3300 2000 3300 1 0 1 { T 1800 3350 5 8 1 1 0 0 1 pinnumber=18 T 1800 3350 5 8 0 0 0 0 1 pinseq=18 T 1200 3300 9 8 1 1 0 0 1 pinlabel=OUT\_b\_ } B 300 200 1400 4200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1666 4400 5 10 0 0 0 0 1 device=SLA7024M T 1700 4500 8 10 1 1 0 6 1 refdes=U? P 0 1200 300 1200 1 0 0 { T 100 1250 5 8 1 1 0 0 1 pinnumber=6 T 100 1250 5 8 0 0 0 0 1 pinseq=11 T 400 1200 9 8 1 1 0 0 1 pinlabel=INa } P 0 900 300 900 1 0 0 { T 100 950 5 8 1 1 0 0 1 pinnumber=5 T 100 950 5 8 0 0 0 0 1 pinseq=12 T 400 900 9 8 1 1 0 0 1 pinlabel=IN\_a\_ } P 0 600 300 600 1 0 0 { T 100 650 5 8 1 1 0 0 1 pinnumber=17 T 100 650 5 8 0 0 0 0 1 pinseq=13 T 400 600 9 8 1 1 0 0 1 pinlabel=INb } P 0 4200 300 4200 1 0 0 { T 100 4250 5 8 1 1 0 0 1 pinnumber=2 T 100 4250 5 8 0 0 0 0 1 pinseq=1 T 400 4200 9 8 1 1 0 0 1 pinlabel=OFFa } P 0 3900 300 3900 1 0 0 { T 100 3950 5 8 1 1 0 0 1 pinnumber=13 T 100 3950 5 8 0 0 0 0 1 pinseq=2 T 400 3900 9 8 1 1 0 0 1 pinlabel=OFFb } P 0 3600 300 3600 1 0 0 { T 100 3650 5 8 1 1 0 0 1 pinnumber=3 T 100 3650 5 8 0 0 0 0 1 pinseq=3 T 400 3600 9 8 1 1 0 0 1 pinlabel=REFa } P 0 3300 300 3300 1 0 0 { T 100 3350 5 8 1 1 0 0 1 pinnumber=14 T 100 3350 5 8 0 0 0 0 1 pinseq=4 T 400 3300 9 8 1 1 0 0 1 pinlabel=REFb } P 0 3000 300 3000 1 0 0 { T 100 3050 5 8 1 1 0 0 1 pinnumber=7 T 100 3050 5 8 0 0 0 0 1 pinseq=5 T 400 3000 9 8 1 1 0 0 1 pinlabel=CTRLa } P 0 2700 300 2700 1 0 0 { T 100 2750 5 8 1 1 0 0 1 pinnumber=12 T 100 2750 5 8 0 0 0 0 1 pinseq=6 T 400 2700 9 8 1 1 0 0 1 pinlabel=CTRLb } P 0 2400 300 2400 1 0 0 { T 100 2450 5 8 1 1 0 0 1 pinnumber=9 T 100 2450 5 8 0 0 0 0 1 pinseq=7 T 400 2400 9 8 1 1 0 0 1 pinlabel=SENSEa } P 0 2100 300 2100 1 0 0 { T 100 2150 5 8 1 1 0 0 1 pinnumber=10 T 100 2150 5 8 0 0 0 0 1 pinseq=8 T 400 2100 9 8 1 1 0 0 1 pinlabel=SENSEb } P 0 300 300 300 1 0 0 { T 100 350 5 8 1 1 0 0 1 pinnumber=16 T 100 350 5 8 0 0 0 0 1 pinseq=14 T 400 300 9 8 1 1 0 0 1 pinlabel=IN\_b\_ } geda-gaf-1.8.2/symbols/linear/ltc2400-1.sym0000664000175000017500000000165112204104272015017 00000000000000v 20031231 1 T 1083 466 9 8 1 0 0 0 1 CS T 963 863 9 8 1 0 0 0 1 SDO T 964 1265 9 8 1 0 0 0 1 SCK P 0 1500 300 1500 1 0 0 { T 98 1568 5 8 1 1 0 0 1 pinnumber=3 T 98 1568 5 8 0 0 0 0 1 pinseq=3 } P 1300 500 1600 500 1 0 1 { T 1398 566 5 8 1 1 0 0 1 pinnumber=5 T 1398 566 5 8 0 0 0 0 1 pinseq=5 } P 1300 900 1600 900 1 0 1 { T 1398 965 5 8 1 1 0 0 1 pinnumber=6 T 1398 965 5 8 0 0 0 0 1 pinseq=6 } P 1300 1300 1600 1300 1 0 1 { T 1398 1370 5 8 1 1 0 0 1 pinnumber=7 T 1398 1370 5 8 0 0 0 0 1 pinseq=7 } T 337 773 9 8 1 0 0 0 1 Vref T 347 163 9 8 1 0 0 0 1 Fo P 0 800 300 800 1 0 0 { T 96 865 5 8 1 1 0 0 1 pinnumber=2 T 96 865 5 8 0 0 0 0 1 pinseq=2 } P 0 200 300 200 1 0 0 { T 129 268 5 8 1 1 0 0 1 pinnumber=8 T 129 268 5 8 0 0 0 0 1 pinseq=8 } T 300 1822 9 10 1 0 0 0 1 LTC2400 T 1500 1700 5 10 0 0 0 0 1 device=LTC2400 T 341 1463 9 8 1 0 0 0 1 Vin B 300 0 1000 1800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1500 1900 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/linear/lm75-1.sym0000664000175000017500000000163412204104272014514 00000000000000v 20031231 1 P 0 900 300 900 1 0 0 { T 200 950 5 8 1 1 0 0 1 pinnumber=1 T 200 950 5 8 0 0 0 0 1 pinseq=1 } P 0 500 300 500 1 0 0 { T 150 550 5 8 1 1 0 0 1 pinnumber=2 T 150 550 5 8 0 0 0 0 1 pinseq=2 } P 0 100 300 100 1 0 0 { T 150 150 5 8 1 1 0 0 1 pinnumber=3 T 150 150 5 8 0 0 0 0 1 pinseq=3 } T 350 900 9 8 1 0 0 0 1 SDA T 350 500 9 8 1 0 0 0 1 SCL T 350 100 9 8 1 0 0 0 1 O.S. P 1300 900 1600 900 1 0 1 { T 1350 950 5 8 1 1 0 0 1 pinnumber=7 T 1350 950 5 8 0 0 0 0 1 pinseq=7 } P 1300 500 1600 500 1 0 1 { T 1350 550 5 8 1 1 0 0 1 pinnumber=6 T 1350 550 5 8 0 0 0 0 1 pinseq=6 } P 1300 100 1600 100 1 0 1 { T 1350 150 5 8 1 1 0 0 1 pinnumber=5 T 1350 150 5 8 0 0 0 0 1 pinseq=5 } T 1050 900 9 8 1 0 0 0 1 A0 T 1050 500 9 8 1 0 0 0 1 A1 T 1050 100 9 8 1 0 0 0 1 A2 B 300 0 1000 1100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1300 1150 5 8 0 0 0 0 1 device=LM75 T 300 1150 9 8 1 0 0 0 1 LM75 T 1300 1200 8 10 1 1 0 6 1 refdes=U? geda-gaf-1.8.2/symbols/linear/lm319-1.sym0000664000175000017500000000306012204104272014570 00000000000000v 20041228 1 L 200 975 200 25 3 0 0 0 -1 -1 L 1000 500 200 975 3 0 0 0 -1 -1 P 200 700 0 700 1 0 1 { T 166 750 5 8 1 1 0 6 1 pinnumber=4 T 50 725 5 8 0 0 0 0 1 pinseq=1 T 200 700 5 10 0 1 0 0 1 pintype=in T 227 626 9 12 1 1 0 0 1 pinlabel=+ } P 200 300 0 300 1 0 1 { T 169 342 5 8 1 1 0 6 1 pinnumber=5 T 50 325 5 8 0 0 0 0 1 pinseq=2 T 200 300 5 10 0 1 0 0 1 pintype=in T 236 229 9 12 1 1 0 0 1 pinlabel=- } P 1000 500 1200 500 1 0 1 { T 994 554 5 8 1 1 0 0 1 pinnumber=12 T 1175 525 5 8 0 0 0 0 1 pinseq=6 T 1000 500 5 10 0 1 0 0 1 pintype=out T 1000 500 5 8 0 2 0 0 1 pinlabel=out } P 500 800 500 1000 1 0 1 { T 550 850 5 8 1 1 0 0 1 pinnumber=11 T 525 850 5 8 0 0 0 0 1 pinseq=3 T 500 800 5 10 0 1 0 0 1 pintype=pwr T 606 640 9 8 1 1 0 6 1 pinlabel=V+ } P 500 200 500 0 1 0 1 { T 475 -8 5 8 1 1 0 6 1 pinnumber=6 T 400 25 5 8 0 0 0 0 1 pinseq=4 T 500 200 5 10 0 1 0 0 1 pintype=pwr T 608 244 9 8 1 1 0 6 1 pinlabel=V- } P 700 317 700 100 1 0 1 { T 758 202 5 8 1 1 0 0 1 pinnumber=3 T 725 125 5 8 0 0 0 0 1 pinseq=5 T 700 250 5 10 0 1 0 0 1 pintype=pwr T 800 400 9 6 1 1 0 6 1 pinlabel=GND } T 200 1000 8 10 1 1 0 0 1 refdes=U? T 725 796 9 10 1 1 0 0 1 device=LM319 T 600 1200 8 10 0 0 0 0 1 documentation=http://www.national.com/pf/LM/LM319.html T 600 1400 8 10 0 0 0 0 1 description=comparator T 600 2000 8 10 0 0 0 0 1 numslots=2 T 600 2200 8 10 0 0 0 0 1 slot=1 T 600 2400 8 10 0 0 0 0 1 footprint=DIP14 T 600 1600 8 10 0 0 0 0 1 slotdef=1:4,5,11,6,3,12 T 600 1800 8 10 0 0 0 0 1 slotdef=2:9,10,11,6,8,7 L 1000 500 200 25 3 0 0 0 -1 -1 T 600 2600 8 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/linear/lm628n-6.sym0000664000175000017500000001211312204104272014755 00000000000000v 20031231 1 P 0 4500 200 4500 1 0 0 { T 100 4550 5 8 1 1 0 0 1 pinnumber=12 T 100 4550 5 8 0 0 0 0 1 pinseq=2 T 394 4465 9 8 1 1 0 0 1 pinlabel=/CS T 0 4500 5 8 0 0 0 0 1 pintype=in } P 0 4200 200 4200 1 0 0 { T 100 4250 5 8 1 1 0 0 1 pinnumber=13 T 100 4250 5 8 0 0 0 0 1 pinseq=3 T 394 4177 9 8 1 1 0 0 1 pinlabel=/RD T 0 4200 5 8 0 0 0 0 1 pintype=in } P 0 3900 200 3900 1 0 0 { T 100 3950 5 8 1 1 0 0 1 pinnumber=15 T 100 3950 5 8 0 0 0 0 1 pinseq=4 T 394 3877 9 8 1 1 0 0 1 pinlabel=/WR T 0 3900 5 8 0 0 0 0 1 pintype=in } P 0 3600 200 3600 1 0 0 { T 100 3650 5 8 1 1 0 0 1 pinnumber=16 T 100 3650 5 8 0 0 0 0 1 pinseq=5 T 394 3577 9 8 1 1 0 0 1 pinlabel=/PS T 0 3600 5 8 0 0 0 0 1 pintype=in } P 0 3300 300 3300 1 0 0 { T 110 3361 5 8 1 1 0 0 1 pinnumber=17 T 110 3361 5 8 0 0 0 0 1 pinseq=6 T 395 3289 9 8 1 1 0 0 1 pinlabel=HI T 0 3300 5 8 0 0 0 0 1 pintype=out } P 0 3000 200 3000 1 0 0 { T 100 3050 5 8 1 1 0 0 1 pinnumber=27 T 100 3050 5 8 0 0 0 0 1 pinseq=7 T 394 2977 9 8 1 1 0 0 1 pinlabel=/RST T 0 3000 5 8 0 0 0 0 1 pintype=in } P 0 5100 300 5100 1 0 0 { T 100 5150 5 8 1 1 0 0 1 pinnumber=26 T 100 5150 5 8 0 0 0 0 1 pinseq=1 T 509 5039 9 8 1 1 0 0 1 pinlabel=CLK T 0 5100 5 8 0 0 0 0 1 pintype=clk } P 0 2400 300 2400 1 0 0 { T 100 2450 5 8 1 1 0 0 1 pinnumber=11 T 100 2450 5 8 0 0 0 0 1 pinseq=8 T 394 2377 9 8 1 1 0 0 1 pinlabel=D0 T 0 2400 5 8 0 0 0 0 1 pintype=io } P 0 2100 300 2100 1 0 0 { T 100 2161 5 8 1 1 0 0 1 pinnumber=10 T 100 2161 5 8 0 0 0 0 1 pinseq=9 T 405 2065 9 8 1 1 0 0 1 pinlabel=D1 T 0 2100 5 8 0 0 0 0 1 pintype=io } P 0 1800 300 1800 1 0 0 { T 100 1850 5 8 1 1 0 0 1 pinnumber=9 T 100 1850 5 8 0 0 0 0 1 pinseq=10 T 394 1777 9 8 1 1 0 0 1 pinlabel=D2 T 0 1800 5 8 0 0 0 0 1 pintype=io } P 0 1500 300 1500 1 0 0 { T 100 1550 5 8 1 1 0 0 1 pinnumber=8 T 100 1550 5 8 0 0 0 0 1 pinseq=11 T 394 1477 9 8 1 1 0 0 1 pinlabel=D3 T 0 1500 5 8 0 0 0 0 1 pintype=io } P 0 1200 300 1200 1 0 0 { T 100 1250 5 8 1 1 0 0 1 pinnumber=7 T 100 1250 5 8 0 0 0 0 1 pinseq=12 T 394 1177 9 8 1 1 0 0 1 pinlabel=D4 T 0 1200 5 8 0 0 0 0 1 pintype=io } P 0 900 300 900 1 0 0 { T 100 950 5 8 1 1 0 0 1 pinnumber=6 T 100 950 5 8 0 0 0 0 1 pinseq=13 T 394 877 9 8 1 1 0 0 1 pinlabel=D5 T 0 900 5 8 0 0 0 0 1 pintype=io } P 0 600 300 600 1 0 0 { T 100 650 5 8 1 1 0 0 1 pinnumber=5 T 100 650 5 8 0 0 0 0 1 pinseq=14 T 394 577 9 8 1 1 0 0 1 pinlabel=D6 T 0 600 5 8 0 0 0 0 1 pintype=io } P 0 300 300 300 1 0 0 { T 100 350 5 8 1 1 0 0 1 pinnumber=4 T 100 350 5 8 0 0 0 0 1 pinseq=15 T 394 277 9 8 1 1 0 0 1 pinlabel=D7 T 0 300 5 8 0 0 0 0 1 pintype=io } P 2300 300 2600 300 1 0 1 { T 2350 350 5 8 1 1 0 0 1 pinnumber=18 T 2350 350 5 8 0 0 0 0 1 pinseq=16 T 1785 277 9 8 1 1 0 0 1 pinlabel=DAC7 T 2300 300 5 8 0 0 0 0 1 pintype=out } P 2300 600 2600 600 1 0 1 { T 2350 650 5 8 1 1 0 0 1 pinnumber=19 T 2350 650 5 8 0 0 0 0 1 pinseq=17 T 1785 577 9 8 1 1 0 0 1 pinlabel=DAC6 T 2300 600 5 8 0 0 0 0 1 pintype=out } P 2300 900 2600 900 1 0 1 { T 2350 950 5 8 1 1 0 0 1 pinnumber=20 T 2350 950 5 8 0 0 0 0 1 pinseq=18 T 1785 877 9 8 1 1 0 0 1 pinlabel=DAC5 T 2300 900 5 8 0 0 0 0 1 pintype=out } P 2300 1200 2600 1200 1 0 1 { T 2350 1250 5 8 1 1 0 0 1 pinnumber=21 T 2350 1250 5 8 0 0 0 0 1 pinseq=19 T 1785 1177 9 8 1 1 0 0 1 pinlabel=DAC4 T 2300 1200 5 8 0 0 0 0 1 pintype=out } P 2300 1500 2600 1500 1 0 1 { T 2350 1550 5 8 1 1 0 0 1 pinnumber=22 T 2350 1550 5 8 0 0 0 0 1 pinseq=20 T 1785 1477 9 8 1 1 0 0 1 pinlabel=DAC3 T 2300 1500 5 8 0 0 0 0 1 pintype=out } P 2300 1800 2600 1800 1 0 1 { T 2350 1850 5 8 1 1 0 0 1 pinnumber=23 T 2350 1850 5 8 0 0 0 0 1 pinseq=21 T 1785 1777 9 8 1 1 0 0 1 pinlabel=DAC2 T 2300 1800 5 8 0 0 0 0 1 pintype=out } P 2300 2100 2600 2100 1 0 1 { T 2350 2150 5 8 1 1 0 0 1 pinnumber=24 T 2350 2150 5 8 0 0 0 0 1 pinseq=22 T 1441 2042 9 8 1 1 0 0 1 pinlabel=SEL|DAC1 T 2300 2100 5 8 0 0 0 0 1 pintype=out } P 2300 2400 2600 2400 1 0 1 { T 2350 2450 5 8 1 1 0 0 1 pinnumber=25 T 2350 2450 5 8 0 0 0 0 1 pinseq=23 T 1330 2354 9 8 1 1 0 0 1 pinlabel=STRB|DAC0 T 2300 2400 5 8 0 0 0 0 1 pintype=out } P 2300 4500 2600 4500 1 0 1 { T 2350 4550 5 8 1 1 0 0 1 pinnumber=2 T 2350 4550 5 8 0 0 0 0 1 pinseq=26 T 2129 4442 9 8 1 1 0 0 1 pinlabel=A T 2300 4500 5 8 0 0 0 0 1 pintype=in } P 2300 4200 2600 4200 1 0 1 { T 2350 4250 5 8 1 1 0 0 1 pinnumber=3 T 2350 4250 5 8 0 0 0 0 1 pinseq=25 T 2138 4131 9 8 1 1 0 0 1 pinlabel=B T 2350 4250 5 8 0 0 0 0 1 pintype=in } P 2400 3900 2600 3900 1 0 1 { T 2350 3950 5 8 1 1 0 0 1 pinnumber=1 T 2350 3950 5 8 0 0 0 0 1 pinseq=24 T 2016 3843 9 8 1 1 0 0 1 pinlabel=/IN T 2350 3950 5 8 0 0 0 0 1 pintype=in } B 300 0 2000 5400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 300 5050 400 5100 3 0 0 0 -1 -1 L 400 5100 300 5152 3 0 0 0 -1 -1 T 0 -500 8 8 0 0 0 0 1 net=+5V:28 T 1800 -500 8 8 0 0 0 0 1 net=GND:14 T 700 6400 8 8 0 0 0 0 1 device=lm628n-6 T 700 6200 8 8 0 0 0 0 1 footprint=DIP28 T 2100 5500 8 10 1 1 0 0 1 refdes=U? T 300 5500 9 10 1 0 0 0 1 LM628N-6 V 250 4500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 4200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 3900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 3600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 2350 3900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 3000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/linear/lm7912-1.sym0000664000175000017500000000167112204104272014664 00000000000000v 20070818 1 B 300 300 1000 600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 1150 5 10 0 0 0 0 1 device=7912 P 300 600 0 600 1 0 1 { T 200 650 5 8 1 1 0 6 1 pinnumber=2 T 200 550 5 8 0 1 0 8 1 pinseq=2 T 350 600 9 8 1 1 0 0 1 pinlabel=IN T 350 600 5 8 0 1 0 2 1 pintype=pas } P 800 0 800 300 1 0 0 { T 850 100 5 8 1 1 0 0 1 pinnumber=1 T 850 100 5 8 0 1 0 2 1 pinseq=1 T 800 350 9 8 1 1 0 3 1 pinlabel=GND T 800 500 5 8 0 1 0 3 1 pintype=pwr } P 1300 600 1600 600 1 0 1 { T 1400 650 5 8 1 1 0 0 1 pinnumber=3 T 1400 550 5 8 0 1 0 2 1 pinseq=3 T 1250 600 9 8 1 1 0 6 1 pinlabel=OUT T 1250 600 5 8 0 1 0 8 1 pintype=pas } T 1400 1000 8 10 1 1 0 6 1 refdes=U? T 300 1750 5 10 0 0 0 0 1 footprint=TO220 T 300 1950 5 10 0 0 0 0 1 description=negative voltage regulator T 300 1550 5 10 0 0 0 0 1 numslots=0 T 300 1350 5 10 0 0 0 0 1 symversion=1.0 T 300 2150 5 10 0 0 0 0 1 documentation=http://www.onsemi.com/pub/Collateral/MC7900-D.PDF T 300 950 9 8 1 0 0 0 1 7912 geda-gaf-1.8.2/symbols/xilinx/0000775000175000017500000000000012220655766013176 500000000000000geda-gaf-1.8.2/symbols/xilinx/XC2S200-5PQ208I.sym0000664000175000017500000007464012204104273015552 00000000000000v 20031231 1 P 100 12600 400 12600 1 0 0 { T 100 12650 5 10 1 1 0 0 1 pinnumber=14 T 100 12650 5 10 0 0 0 0 1 pinseq=14 } P 100 12300 400 12300 1 0 0 { T 100 12350 5 10 1 1 0 0 1 pinnumber=15 T 100 12350 5 10 0 0 0 0 1 pinseq=15 } P 100 12000 400 12000 1 0 0 { T 100 12050 5 10 1 1 0 0 1 pinnumber=16 T 100 12050 5 10 0 0 0 0 1 pinseq=16 } P 100 11700 400 11700 1 0 0 { T 100 11750 5 10 1 1 0 0 1 pinnumber=17 T 100 11750 5 10 0 0 0 0 1 pinseq=17 } P 100 11400 400 11400 1 0 0 { T 100 11450 5 10 1 1 0 0 1 pinnumber=18 T 100 11450 5 10 0 0 0 0 1 pinseq=18 } P 100 11100 400 11100 1 0 0 { T 100 11150 5 10 1 1 0 0 1 pinnumber=19 T 100 11150 5 10 0 0 0 0 1 pinseq=19 } P 100 10800 400 10800 1 0 0 { T 100 10850 5 10 1 1 0 0 1 pinnumber=20 T 100 10850 5 10 0 0 0 0 1 pinseq=20 } P 100 10500 400 10500 1 0 0 { T 100 10550 5 10 1 1 0 0 1 pinnumber=21 T 100 10550 5 10 0 0 0 0 1 pinseq=21 } P 100 10200 400 10200 1 0 0 { T 100 10250 5 10 1 1 0 0 1 pinnumber=22 T 100 10250 5 10 0 0 0 0 1 pinseq=22 } P 100 9900 400 9900 1 0 0 { T 100 9950 5 10 1 1 0 0 1 pinnumber=23 T 100 9950 5 10 0 0 0 0 1 pinseq=23 } P 100 9600 400 9600 1 0 0 { T 100 9650 5 10 1 1 0 0 1 pinnumber=24 T 100 9650 5 10 0 0 0 0 1 pinseq=24 } P 100 9300 400 9300 1 0 0 { T 100 9350 5 10 1 1 0 0 1 pinnumber=25 T 100 9350 5 10 0 0 0 0 1 pinseq=25 } P 100 9000 400 9000 1 0 0 { T 100 9050 5 10 1 1 0 0 1 pinnumber=26 T 100 9050 5 10 0 0 0 0 1 pinseq=26 } P 100 16500 400 16500 1 0 0 { T 100 16550 5 10 1 1 0 0 1 pinnumber=1 T 100 16550 5 10 0 0 0 0 1 pinseq=1 } P 100 16200 400 16200 1 0 0 { T 100 16250 5 10 1 1 0 0 1 pinnumber=2 T 100 16250 5 10 0 0 0 0 1 pinseq=2 } P 100 15900 400 15900 1 0 0 { T 100 15950 5 10 1 1 0 0 1 pinnumber=3 T 100 15950 5 10 0 0 0 0 1 pinseq=3 } P 100 15600 400 15600 1 0 0 { T 100 15650 5 10 1 1 0 0 1 pinnumber=4 T 100 15650 5 10 0 0 0 0 1 pinseq=4 } P 100 15300 400 15300 1 0 0 { T 100 15350 5 10 1 1 0 0 1 pinnumber=5 T 100 15350 5 10 0 0 0 0 1 pinseq=5 } P 100 15000 400 15000 1 0 0 { T 100 15050 5 10 1 1 0 0 1 pinnumber=6 T 100 15050 5 10 0 0 0 0 1 pinseq=6 } P 100 14700 400 14700 1 0 0 { T 100 14750 5 10 1 1 0 0 1 pinnumber=7 T 100 14750 5 10 0 0 0 0 1 pinseq=7 } P 100 14400 400 14400 1 0 0 { T 100 14450 5 10 1 1 0 0 1 pinnumber=8 T 100 14450 5 10 0 0 0 0 1 pinseq=8 } P 100 14100 400 14100 1 0 0 { T 100 14150 5 10 1 1 0 0 1 pinnumber=9 T 100 14150 5 10 0 0 0 0 1 pinseq=9 } P 100 13800 400 13800 1 0 0 { T 100 13850 5 10 1 1 0 0 1 pinnumber=10 T 100 13850 5 10 0 0 0 0 1 pinseq=10 } P 100 13500 400 13500 1 0 0 { T 100 13550 5 10 1 1 0 0 1 pinnumber=11 T 100 13550 5 10 0 0 0 0 1 pinseq=11 } P 100 13200 400 13200 1 0 0 { T 100 13250 5 10 1 1 0 0 1 pinnumber=12 T 100 13250 5 10 0 0 0 0 1 pinseq=12 } P 100 12900 400 12900 1 0 0 { T 100 12950 5 10 1 1 0 0 1 pinnumber=13 T 100 12950 5 10 0 0 0 0 1 pinseq=13 } P 100 8700 400 8700 1 0 0 { T 100 8750 5 10 1 1 0 0 1 pinnumber=27 T 100 8750 5 10 0 0 0 0 1 pinseq=27 } P 100 8400 400 8400 1 0 0 { T 100 8450 5 10 1 1 0 0 1 pinnumber=28 T 100 8450 5 10 0 0 0 0 1 pinseq=28 } P 100 8100 400 8100 1 0 0 { T 100 8150 5 10 1 1 0 0 1 pinnumber=29 T 100 8150 5 10 0 0 0 0 1 pinseq=29 } P 100 7800 400 7800 1 0 0 { T 100 7850 5 10 1 1 0 0 1 pinnumber=30 T 100 7850 5 10 0 0 0 0 1 pinseq=30 } P 100 7500 400 7500 1 0 0 { T 100 7550 5 10 1 1 0 0 1 pinnumber=31 T 100 7550 5 10 0 0 0 0 1 pinseq=31 } P 100 7200 400 7200 1 0 0 { T 100 7250 5 10 1 1 0 0 1 pinnumber=32 T 100 7250 5 10 0 0 0 0 1 pinseq=32 } P 100 6900 400 6900 1 0 0 { T 100 6950 5 10 1 1 0 0 1 pinnumber=33 T 100 6950 5 10 0 0 0 0 1 pinseq=33 } P 100 6600 400 6600 1 0 0 { T 100 6650 5 10 1 1 0 0 1 pinnumber=34 T 100 6650 5 10 0 0 0 0 1 pinseq=34 } P 100 6300 400 6300 1 0 0 { T 100 6350 5 10 1 1 0 0 1 pinnumber=35 T 100 6350 5 10 0 0 0 0 1 pinseq=35 } P 100 6000 400 6000 1 0 0 { T 100 6050 5 10 1 1 0 0 1 pinnumber=36 T 100 6050 5 10 0 0 0 0 1 pinseq=36 } P 100 5700 400 5700 1 0 0 { T 100 5750 5 10 1 1 0 0 1 pinnumber=37 T 100 5750 5 10 0 0 0 0 1 pinseq=37 } P 100 5400 400 5400 1 0 0 { T 100 5450 5 10 1 1 0 0 1 pinnumber=38 T 100 5450 5 10 0 0 0 0 1 pinseq=38 } P 100 5100 400 5100 1 0 0 { T 100 5150 5 10 1 1 0 0 1 pinnumber=39 T 100 5150 5 10 0 0 0 0 1 pinseq=39 } P 100 4800 400 4800 1 0 0 { T 100 4850 5 10 1 1 0 0 1 pinnumber=40 T 100 4850 5 10 0 0 0 0 1 pinseq=40 } P 100 4500 400 4500 1 0 0 { T 100 4550 5 10 1 1 0 0 1 pinnumber=41 T 100 4550 5 10 0 0 0 0 1 pinseq=41 } P 100 4200 400 4200 1 0 0 { T 100 4250 5 10 1 1 0 0 1 pinnumber=42 T 100 4250 5 10 0 0 0 0 1 pinseq=42 } P 100 3900 400 3900 1 0 0 { T 100 3950 5 10 1 1 0 0 1 pinnumber=43 T 100 3950 5 10 0 0 0 0 1 pinseq=43 } P 100 3600 400 3600 1 0 0 { T 100 3650 5 10 1 1 0 0 1 pinnumber=44 T 100 3650 5 10 0 0 0 0 1 pinseq=44 } P 100 3300 400 3300 1 0 0 { T 100 3350 5 10 1 1 0 0 1 pinnumber=45 T 100 3350 5 10 0 0 0 0 1 pinseq=45 } P 100 3000 400 3000 1 0 0 { T 100 3050 5 10 1 1 0 0 1 pinnumber=46 T 100 3050 5 10 0 0 0 0 1 pinseq=46 } P 100 2700 400 2700 1 0 0 { T 100 2750 5 10 1 1 0 0 1 pinnumber=47 T 100 2750 5 10 0 0 0 0 1 pinseq=47 } P 100 2400 400 2400 1 0 0 { T 100 2450 5 10 1 1 0 0 1 pinnumber=48 T 100 2450 5 10 0 0 0 0 1 pinseq=48 } P 100 2100 400 2100 1 0 0 { T 100 2150 5 10 1 1 0 0 1 pinnumber=49 T 100 2150 5 10 0 0 0 0 1 pinseq=49 } P 100 1800 400 1800 1 0 0 { T 100 1850 5 10 1 1 0 0 1 pinnumber=50 T 100 1850 5 10 0 0 0 0 1 pinseq=50 } P 100 1500 400 1500 1 0 0 { T 100 1550 5 10 1 1 0 0 1 pinnumber=51 T 100 1550 5 10 0 0 0 0 1 pinseq=51 } P 100 1200 400 1200 1 0 0 { T 100 1250 5 10 1 1 0 0 1 pinnumber=52 T 100 1250 5 10 0 0 0 0 1 pinseq=52 } P 1200 17300 1200 17600 1 0 1 { T 1150 17350 5 10 1 1 90 0 1 pinnumber=208 T 1150 17350 5 10 0 0 90 0 1 pinseq=208 } P 1500 17300 1500 17600 1 0 1 { T 1450 17350 5 10 1 1 90 0 1 pinnumber=207 T 1450 17350 5 10 0 0 90 0 1 pinseq=207 } P 1800 17300 1800 17600 1 0 1 { T 1750 17350 5 10 1 1 90 0 1 pinnumber=206 T 1750 17350 5 10 0 0 90 0 1 pinseq=206 } P 2100 17300 2100 17600 1 0 1 { T 2050 17350 5 10 1 1 90 0 1 pinnumber=205 T 2050 17350 5 10 0 0 90 0 1 pinseq=205 } P 2400 17300 2400 17600 1 0 1 { T 2350 17350 5 10 1 1 90 0 1 pinnumber=204 T 2350 17350 5 10 0 0 90 0 1 pinseq=204 } P 2700 17300 2700 17600 1 0 1 { T 2650 17350 5 10 1 1 90 0 1 pinnumber=203 T 2650 17350 5 10 0 0 90 0 1 pinseq=203 } P 3000 17300 3000 17600 1 0 1 { T 2950 17350 5 10 1 1 90 0 1 pinnumber=202 T 2950 17350 5 10 0 0 90 0 1 pinseq=202 } P 3300 17300 3300 17600 1 0 1 { T 3250 17350 5 10 1 1 90 0 1 pinnumber=201 T 3250 17350 5 10 0 0 90 0 1 pinseq=201 } P 3600 17300 3600 17600 1 0 1 { T 3550 17350 5 10 1 1 90 0 1 pinnumber=200 T 3550 17350 5 10 0 0 90 0 1 pinseq=200 } P 3900 17300 3900 17600 1 0 1 { T 3850 17350 5 10 1 1 90 0 1 pinnumber=199 T 3850 17350 5 10 0 0 90 0 1 pinseq=199 } P 4200 17300 4200 17600 1 0 1 { T 4150 17350 5 10 1 1 90 0 1 pinnumber=198 T 4150 17350 5 10 0 0 90 0 1 pinseq=198 } P 4500 17300 4500 17600 1 0 1 { T 4450 17350 5 10 1 1 90 0 1 pinnumber=197 T 4450 17350 5 10 0 0 90 0 1 pinseq=197 } P 4800 17300 4800 17600 1 0 1 { T 4750 17350 5 10 1 1 90 0 1 pinnumber=196 T 4750 17350 5 10 0 0 90 0 1 pinseq=196 } P 5100 17300 5100 17600 1 0 1 { T 5050 17350 5 10 1 1 90 0 1 pinnumber=195 T 5050 17350 5 10 0 0 90 0 1 pinseq=195 } P 5400 17300 5400 17600 1 0 1 { T 5350 17350 5 10 1 1 90 0 1 pinnumber=194 T 5350 17350 5 10 0 0 90 0 1 pinseq=194 } P 5700 17300 5700 17600 1 0 1 { T 5650 17350 5 10 1 1 90 0 1 pinnumber=193 T 5650 17350 5 10 0 0 90 0 1 pinseq=193 } P 6000 17300 6000 17600 1 0 1 { T 5950 17350 5 10 1 1 90 0 1 pinnumber=192 T 5950 17350 5 10 0 0 90 0 1 pinseq=192 } P 6300 17300 6300 17600 1 0 1 { T 6250 17350 5 10 1 1 90 0 1 pinnumber=191 T 6250 17350 5 10 0 0 90 0 1 pinseq=191 } P 6600 17300 6600 17600 1 0 1 { T 6550 17350 5 10 1 1 90 0 1 pinnumber=190 T 6550 17350 5 10 0 0 90 0 1 pinseq=190 } P 6900 17300 6900 17600 1 0 1 { T 6850 17350 5 10 1 1 90 0 1 pinnumber=189 T 6850 17350 5 10 0 0 90 0 1 pinseq=189 } P 7200 17300 7200 17600 1 0 1 { T 7150 17350 5 10 1 1 90 0 1 pinnumber=188 T 7150 17350 5 10 0 0 90 0 1 pinseq=188 } P 7500 17300 7500 17600 1 0 1 { T 7450 17350 5 10 1 1 90 0 1 pinnumber=187 T 7450 17350 5 10 0 0 90 0 1 pinseq=187 } P 7800 17300 7800 17600 1 0 1 { T 7750 17350 5 10 1 1 90 0 1 pinnumber=186 T 7750 17350 5 10 0 0 90 0 1 pinseq=186 } P 8100 17300 8100 17600 1 0 1 { T 8050 17350 5 10 1 1 90 0 1 pinnumber=185 T 8050 17350 5 10 0 0 90 0 1 pinseq=185 } P 8400 17300 8400 17600 1 0 1 { T 8350 17350 5 10 1 1 90 0 1 pinnumber=184 T 8350 17350 5 10 0 0 90 0 1 pinseq=184 } P 8700 17300 8700 17600 1 0 1 { T 8650 17350 5 10 1 1 90 0 1 pinnumber=183 T 8650 17350 5 10 0 0 90 0 1 pinseq=183 } P 9000 17300 9000 17600 1 0 1 { T 8950 17350 5 10 1 1 90 0 1 pinnumber=182 T 8950 17350 5 10 0 0 90 0 1 pinseq=182 } P 9300 17300 9300 17600 1 0 1 { T 9250 17350 5 10 1 1 90 0 1 pinnumber=181 T 9250 17350 5 10 0 0 90 0 1 pinseq=181 } P 9600 17300 9600 17600 1 0 1 { T 9550 17350 5 10 1 1 90 0 1 pinnumber=180 T 9550 17350 5 10 0 0 90 0 1 pinseq=180 } P 9900 17300 9900 17600 1 0 1 { T 9850 17350 5 10 1 1 90 0 1 pinnumber=179 T 9850 17350 5 10 0 0 90 0 1 pinseq=179 } P 10200 17300 10200 17600 1 0 1 { T 10150 17350 5 10 1 1 90 0 1 pinnumber=178 T 10150 17350 5 10 0 0 90 0 1 pinseq=178 } P 10500 17300 10500 17600 1 0 1 { T 10450 17350 5 10 1 1 90 0 1 pinnumber=177 T 10450 17350 5 10 0 0 90 0 1 pinseq=177 } P 10800 17300 10800 17600 1 0 1 { T 10750 17350 5 10 1 1 90 0 1 pinnumber=176 T 10750 17350 5 10 0 0 90 0 1 pinseq=176 } P 11100 17300 11100 17600 1 0 1 { T 11050 17350 5 10 1 1 90 0 1 pinnumber=175 T 11050 17350 5 10 0 0 90 0 1 pinseq=175 } P 11400 17300 11400 17600 1 0 1 { T 11350 17350 5 10 1 1 90 0 1 pinnumber=174 T 11350 17350 5 10 0 0 90 0 1 pinseq=174 } P 11700 17300 11700 17600 1 0 1 { T 11650 17350 5 10 1 1 90 0 1 pinnumber=173 T 11650 17350 5 10 0 0 90 0 1 pinseq=173 } P 12000 17300 12000 17600 1 0 1 { T 11950 17350 5 10 1 1 90 0 1 pinnumber=172 T 11950 17350 5 10 0 0 90 0 1 pinseq=172 } P 12300 17300 12300 17600 1 0 1 { T 12250 17350 5 10 1 1 90 0 1 pinnumber=171 T 12250 17350 5 10 0 0 90 0 1 pinseq=171 } P 12600 17300 12600 17600 1 0 1 { T 12550 17350 5 10 1 1 90 0 1 pinnumber=170 T 12550 17350 5 10 0 0 90 0 1 pinseq=170 } P 12900 17300 12900 17600 1 0 1 { T 12850 17350 5 10 1 1 90 0 1 pinnumber=169 T 12850 17350 5 10 0 0 90 0 1 pinseq=169 } P 13200 17300 13200 17600 1 0 1 { T 13150 17350 5 10 1 1 90 0 1 pinnumber=168 T 13150 17350 5 10 0 0 90 0 1 pinseq=168 } P 13500 17300 13500 17600 1 0 1 { T 13450 17350 5 10 1 1 90 0 1 pinnumber=167 T 13450 17350 5 10 0 0 90 0 1 pinseq=167 } P 13800 17300 13800 17600 1 0 1 { T 13750 17350 5 10 1 1 90 0 1 pinnumber=166 T 13750 17350 5 10 0 0 90 0 1 pinseq=166 } P 14100 17300 14100 17600 1 0 1 { T 14050 17350 5 10 1 1 90 0 1 pinnumber=165 T 14050 17350 5 10 0 0 90 0 1 pinseq=165 } P 14400 17300 14400 17600 1 0 1 { T 14350 17350 5 10 1 1 90 0 1 pinnumber=164 T 14350 17350 5 10 0 0 90 0 1 pinseq=164 } P 14700 17300 14700 17600 1 0 1 { T 14650 17350 5 10 1 1 90 0 1 pinnumber=163 T 14650 17350 5 10 0 0 90 0 1 pinseq=163 } P 15000 17300 15000 17600 1 0 1 { T 14950 17350 5 10 1 1 90 0 1 pinnumber=162 T 14950 17350 5 10 0 0 90 0 1 pinseq=162 } P 15300 17300 15300 17600 1 0 1 { T 15250 17350 5 10 1 1 90 0 1 pinnumber=161 T 15250 17350 5 10 0 0 90 0 1 pinseq=161 } P 15600 17300 15600 17600 1 0 1 { T 15550 17350 5 10 1 1 90 0 1 pinnumber=160 T 15550 17350 5 10 0 0 90 0 1 pinseq=160 } P 15900 17300 15900 17600 1 0 1 { T 15850 17350 5 10 1 1 90 0 1 pinnumber=159 T 15850 17350 5 10 0 0 90 0 1 pinseq=159 } P 16200 17300 16200 17600 1 0 1 { T 16150 17350 5 10 1 1 90 0 1 pinnumber=158 T 16150 17350 5 10 0 0 90 0 1 pinseq=158 } P 16500 17300 16500 17600 1 0 1 { T 16450 17350 5 10 1 1 90 0 1 pinnumber=157 T 16450 17350 5 10 0 0 90 0 1 pinseq=157 } P 1200 100 1200 400 1 0 0 { T 1150 100 5 10 1 1 90 0 1 pinnumber=53 T 1150 100 5 10 0 0 90 0 1 pinseq=53 } P 1500 100 1500 400 1 0 0 { T 1450 100 5 10 1 1 90 0 1 pinnumber=54 T 1450 100 5 10 0 0 90 0 1 pinseq=54 } P 1800 100 1800 400 1 0 0 { T 1750 100 5 10 1 1 90 0 1 pinnumber=55 T 1750 100 5 10 0 0 90 0 1 pinseq=55 } P 2100 100 2100 400 1 0 0 { T 2050 100 5 10 1 1 90 0 1 pinnumber=56 T 2050 100 5 10 0 0 90 0 1 pinseq=56 } P 2400 100 2400 400 1 0 0 { T 2350 100 5 10 1 1 90 0 1 pinnumber=57 T 2350 100 5 10 0 0 90 0 1 pinseq=57 } P 2700 100 2700 400 1 0 0 { T 2650 100 5 10 1 1 90 0 1 pinnumber=58 T 2650 100 5 10 0 0 90 0 1 pinseq=58 } P 3000 100 3000 400 1 0 0 { T 2950 100 5 10 1 1 90 0 1 pinnumber=59 T 2950 100 5 10 0 0 90 0 1 pinseq=59 } P 3300 100 3300 400 1 0 0 { T 3250 100 5 10 1 1 90 0 1 pinnumber=60 T 3250 100 5 10 0 0 90 0 1 pinseq=60 } P 3600 100 3600 400 1 0 0 { T 3550 100 5 10 1 1 90 0 1 pinnumber=61 T 3550 100 5 10 0 0 90 0 1 pinseq=61 } P 3900 100 3900 400 1 0 0 { T 3850 100 5 10 1 1 90 0 1 pinnumber=62 T 3850 100 5 10 0 0 90 0 1 pinseq=62 } P 4200 100 4200 400 1 0 0 { T 4150 100 5 10 1 1 90 0 1 pinnumber=63 T 4150 100 5 10 0 0 90 0 1 pinseq=63 } P 4500 100 4500 400 1 0 0 { T 4450 100 5 10 1 1 90 0 1 pinnumber=64 T 4450 100 5 10 0 0 90 0 1 pinseq=64 } P 4800 100 4800 400 1 0 0 { T 4750 100 5 10 1 1 90 0 1 pinnumber=65 T 4750 100 5 10 0 0 90 0 1 pinseq=65 } P 5100 100 5100 400 1 0 0 { T 5050 100 5 10 1 1 90 0 1 pinnumber=66 T 5050 100 5 10 0 0 90 0 1 pinseq=66 } P 5400 100 5400 400 1 0 0 { T 5350 100 5 10 1 1 90 0 1 pinnumber=67 T 5350 100 5 10 0 0 90 0 1 pinseq=67 } P 5700 100 5700 400 1 0 0 { T 5650 100 5 10 1 1 90 0 1 pinnumber=68 T 5650 100 5 10 0 0 90 0 1 pinseq=68 } P 6000 100 6000 400 1 0 0 { T 5950 100 5 10 1 1 90 0 1 pinnumber=69 T 5950 100 5 10 0 0 90 0 1 pinseq=69 } P 6300 100 6300 400 1 0 0 { T 6250 100 5 10 1 1 90 0 1 pinnumber=70 T 6250 100 5 10 0 0 90 0 1 pinseq=70 } P 6600 100 6600 400 1 0 0 { T 6550 100 5 10 1 1 90 0 1 pinnumber=71 T 6550 100 5 10 0 0 90 0 1 pinseq=71 } P 6900 100 6900 400 1 0 0 { T 6850 100 5 10 1 1 90 0 1 pinnumber=72 T 6850 100 5 10 0 0 90 0 1 pinseq=72 } P 7200 100 7200 400 1 0 0 { T 7150 100 5 10 1 1 90 0 1 pinnumber=73 T 7150 100 5 10 0 0 90 0 1 pinseq=73 } P 7500 100 7500 400 1 0 0 { T 7450 100 5 10 1 1 90 0 1 pinnumber=74 T 7450 100 5 10 0 0 90 0 1 pinseq=74 } P 7800 100 7800 400 1 0 0 { T 7750 100 5 10 1 1 90 0 1 pinnumber=75 T 7750 100 5 10 0 0 90 0 1 pinseq=75 } P 8100 100 8100 400 1 0 0 { T 8050 100 5 10 1 1 90 0 1 pinnumber=76 T 8050 100 5 10 0 0 90 0 1 pinseq=76 } P 8400 100 8400 400 1 0 0 { T 8350 100 5 10 1 1 90 0 1 pinnumber=77 T 8350 100 5 10 0 0 90 0 1 pinseq=77 } P 8700 100 8700 400 1 0 0 { T 8650 100 5 10 1 1 90 0 1 pinnumber=78 T 8650 100 5 10 0 0 90 0 1 pinseq=78 } P 9000 100 9000 400 1 0 0 { T 8950 100 5 10 1 1 90 0 1 pinnumber=79 T 8950 100 5 10 0 0 90 0 1 pinseq=79 } P 9300 100 9300 400 1 0 0 { T 9250 100 5 10 1 1 90 0 1 pinnumber=80 T 9250 100 5 10 0 0 90 0 1 pinseq=80 } P 9600 100 9600 400 1 0 0 { T 9550 100 5 10 1 1 90 0 1 pinnumber=81 T 9550 100 5 10 0 0 90 0 1 pinseq=81 } P 9900 100 9900 400 1 0 0 { T 9850 100 5 10 1 1 90 0 1 pinnumber=82 T 9850 100 5 10 0 0 90 0 1 pinseq=82 } P 10200 100 10200 400 1 0 0 { T 10150 100 5 10 1 1 90 0 1 pinnumber=83 T 10150 100 5 10 0 0 90 0 1 pinseq=83 } P 10500 100 10500 400 1 0 0 { T 10450 100 5 10 1 1 90 0 1 pinnumber=84 T 10450 100 5 10 0 0 90 0 1 pinseq=84 } P 10800 100 10800 400 1 0 0 { T 10750 100 5 10 1 1 90 0 1 pinnumber=85 T 10750 100 5 10 0 0 90 0 1 pinseq=85 } P 11100 100 11100 400 1 0 0 { T 11050 100 5 10 1 1 90 0 1 pinnumber=86 T 11050 100 5 10 0 0 90 0 1 pinseq=86 } P 11400 100 11400 400 1 0 0 { T 11350 100 5 10 1 1 90 0 1 pinnumber=87 T 11350 100 5 10 0 0 90 0 1 pinseq=87 } P 11700 100 11700 400 1 0 0 { T 11650 100 5 10 1 1 90 0 1 pinnumber=88 T 11650 100 5 10 0 0 90 0 1 pinseq=88 } P 12000 100 12000 400 1 0 0 { T 11950 100 5 10 1 1 90 0 1 pinnumber=89 T 11950 100 5 10 0 0 90 0 1 pinseq=89 } P 12300 100 12300 400 1 0 0 { T 12250 100 5 10 1 1 90 0 1 pinnumber=90 T 12250 100 5 10 0 0 90 0 1 pinseq=90 } P 12600 100 12600 400 1 0 0 { T 12550 100 5 10 1 1 90 0 1 pinnumber=91 T 12550 100 5 10 0 0 90 0 1 pinseq=91 } P 12900 100 12900 400 1 0 0 { T 12850 100 5 10 1 1 90 0 1 pinnumber=92 T 12850 100 5 10 0 0 90 0 1 pinseq=92 } P 13200 100 13200 400 1 0 0 { T 13150 100 5 10 1 1 90 0 1 pinnumber=93 T 13150 100 5 10 0 0 90 0 1 pinseq=93 } P 13500 100 13500 400 1 0 0 { T 13450 100 5 10 1 1 90 0 1 pinnumber=94 T 13450 100 5 10 0 0 90 0 1 pinseq=94 } P 13800 100 13800 400 1 0 0 { T 13750 100 5 10 1 1 90 0 1 pinnumber=95 T 13750 100 5 10 0 0 90 0 1 pinseq=95 } P 14100 100 14100 400 1 0 0 { T 14050 100 5 10 1 1 90 0 1 pinnumber=96 T 14050 100 5 10 0 0 90 0 1 pinseq=96 } P 14400 100 14400 400 1 0 0 { T 14350 100 5 10 1 1 90 0 1 pinnumber=97 T 14350 100 5 10 0 0 90 0 1 pinseq=97 } P 14700 100 14700 400 1 0 0 { T 14650 100 5 10 1 1 90 0 1 pinnumber=98 T 14650 100 5 10 0 0 90 0 1 pinseq=98 } P 15000 100 15000 400 1 0 0 { T 14950 100 5 10 1 1 90 0 1 pinnumber=99 T 14950 100 5 10 0 0 90 0 1 pinseq=99 } P 15300 100 15300 400 1 0 0 { T 15250 50 5 10 1 1 90 0 1 pinnumber=100 T 15250 50 5 10 0 0 90 0 1 pinseq=100 } P 15600 100 15600 400 1 0 0 { T 15550 50 5 10 1 1 90 0 1 pinnumber=101 T 15550 50 5 10 0 0 90 0 1 pinseq=101 } P 15900 100 15900 400 1 0 0 { T 15850 50 5 10 1 1 90 0 1 pinnumber=102 T 15850 50 5 10 0 0 90 0 1 pinseq=102 } P 16200 100 16200 400 1 0 0 { T 16150 50 5 10 1 1 90 0 1 pinnumber=103 T 16150 50 5 10 0 0 90 0 1 pinseq=103 } P 16500 100 16500 400 1 0 0 { T 16450 50 5 10 1 1 90 0 1 pinnumber=104 T 16450 50 5 10 0 0 90 0 1 pinseq=104 } P 17300 12600 17600 12600 1 0 1 { T 17350 12650 5 10 1 1 0 0 1 pinnumber=143 T 17350 12650 5 10 0 0 0 0 1 pinseq=143 } P 17300 12300 17600 12300 1 0 1 { T 17350 12350 5 10 1 1 0 0 1 pinnumber=142 T 17350 12350 5 10 0 0 0 0 1 pinseq=142 } P 17300 12000 17600 12000 1 0 1 { T 17350 12050 5 10 1 1 0 0 1 pinnumber=141 T 17350 12050 5 10 0 0 0 0 1 pinseq=141 } P 17300 11700 17600 11700 1 0 1 { T 17350 11750 5 10 1 1 0 0 1 pinnumber=140 T 17350 11750 5 10 0 0 0 0 1 pinseq=140 } P 17300 11400 17600 11400 1 0 1 { T 17350 11500 5 10 1 1 0 0 1 pinnumber=139 T 17350 11500 5 10 0 0 0 0 1 pinseq=139 } P 17300 11100 17600 11100 1 0 1 { T 17350 11150 5 10 1 1 0 0 1 pinnumber=138 T 17350 11150 5 10 0 0 0 0 1 pinseq=138 } P 17300 10800 17600 10800 1 0 1 { T 17350 10850 5 10 1 1 0 0 1 pinnumber=137 T 17350 10850 5 10 0 0 0 0 1 pinseq=137 } P 17300 10500 17600 10500 1 0 1 { T 17350 10550 5 10 1 1 0 0 1 pinnumber=136 T 17350 10550 5 10 0 0 0 0 1 pinseq=136 } P 17300 10200 17600 10200 1 0 1 { T 17350 10250 5 10 1 1 0 0 1 pinnumber=135 T 17350 10250 5 10 0 0 0 0 1 pinseq=135 } P 17300 9900 17600 9900 1 0 1 { T 17350 9950 5 10 1 1 0 0 1 pinnumber=134 T 17350 9950 5 10 0 0 0 0 1 pinseq=134 } P 17300 9600 17600 9600 1 0 1 { T 17350 9650 5 10 1 1 0 0 1 pinnumber=133 T 17350 9650 5 10 0 0 0 0 1 pinseq=133 } P 17300 9300 17600 9300 1 0 1 { T 17350 9350 5 10 1 1 0 0 1 pinnumber=132 T 17350 9350 5 10 0 0 0 0 1 pinseq=132 } P 17300 9000 17600 9000 1 0 1 { T 17350 9050 5 10 1 1 0 0 1 pinnumber=131 T 17350 9050 5 10 0 0 0 0 1 pinseq=131 } P 17300 16500 17600 16500 1 0 1 { T 17350 16550 5 10 1 1 0 0 1 pinnumber=156 T 17350 16550 5 10 0 0 0 0 1 pinseq=156 } P 17300 16200 17600 16200 1 0 1 { T 17350 16250 5 10 1 1 0 0 1 pinnumber=155 T 17350 16250 5 10 0 0 0 0 1 pinseq=155 } P 17300 15900 17600 15900 1 0 1 { T 17350 15950 5 10 1 1 0 0 1 pinnumber=154 T 17350 15950 5 10 0 0 0 0 1 pinseq=154 } P 17300 15600 17600 15600 1 0 1 { T 17350 15650 5 10 1 1 0 0 1 pinnumber=153 T 17350 15650 5 10 0 0 0 0 1 pinseq=153 } P 17300 15300 17600 15300 1 0 1 { T 17350 15350 5 10 1 1 0 0 1 pinnumber=152 T 17350 15350 5 10 0 0 0 0 1 pinseq=152 } P 17300 15000 17600 15000 1 0 1 { T 17350 15050 5 10 1 1 0 0 1 pinnumber=151 T 17350 15050 5 10 0 0 0 0 1 pinseq=151 } P 17300 14700 17600 14700 1 0 1 { T 17350 14750 5 10 1 1 0 0 1 pinnumber=150 T 17350 14750 5 10 0 0 0 0 1 pinseq=150 } P 17300 14400 17600 14400 1 0 1 { T 17350 14450 5 10 1 1 0 0 1 pinnumber=149 T 17350 14450 5 10 0 0 0 0 1 pinseq=149 } P 17300 14100 17600 14100 1 0 1 { T 17350 14150 5 10 1 1 0 0 1 pinnumber=148 T 17350 14150 5 10 0 0 0 0 1 pinseq=148 } P 17300 13800 17600 13800 1 0 1 { T 17350 13850 5 10 1 1 0 0 1 pinnumber=147 T 17350 13850 5 10 0 0 0 0 1 pinseq=147 } P 17300 13500 17600 13500 1 0 1 { T 17350 13550 5 10 1 1 0 0 1 pinnumber=146 T 17350 13550 5 10 0 0 0 0 1 pinseq=146 } P 17300 13200 17600 13200 1 0 1 { T 17350 13250 5 10 1 1 0 0 1 pinnumber=145 T 17350 13250 5 10 0 0 0 0 1 pinseq=145 } P 17300 12900 17600 12900 1 0 1 { T 17350 12950 5 10 1 1 0 0 1 pinnumber=144 T 17350 12950 5 10 0 0 0 0 1 pinseq=144 } P 17300 8700 17600 8700 1 0 1 { T 17350 8750 5 10 1 1 0 0 1 pinnumber=130 T 17350 8750 5 10 0 0 0 0 1 pinseq=130 } P 17300 8400 17600 8400 1 0 1 { T 17350 8450 5 10 1 1 0 0 1 pinnumber=129 T 17350 8450 5 10 0 0 0 0 1 pinseq=129 } P 17300 8100 17600 8100 1 0 1 { T 17350 8150 5 10 1 1 0 0 1 pinnumber=128 T 17350 8150 5 10 0 0 0 0 1 pinseq=128 } P 17300 7800 17600 7800 1 0 1 { T 17350 7850 5 10 1 1 0 0 1 pinnumber=127 T 17350 7850 5 10 0 0 0 0 1 pinseq=127 } P 17300 7500 17600 7500 1 0 1 { T 17350 7550 5 10 1 1 0 0 1 pinnumber=126 T 17350 7550 5 10 0 0 0 0 1 pinseq=126 } P 17300 7200 17600 7200 1 0 1 { T 17350 7250 5 10 1 1 0 0 1 pinnumber=125 T 17350 7250 5 10 0 0 0 0 1 pinseq=125 } P 17300 6900 17600 6900 1 0 1 { T 17350 6950 5 10 1 1 0 0 1 pinnumber=124 T 17350 6950 5 10 0 0 0 0 1 pinseq=124 } P 17300 6600 17600 6600 1 0 1 { T 17350 6650 5 10 1 1 0 0 1 pinnumber=123 T 17350 6650 5 10 0 0 0 0 1 pinseq=123 } P 17300 6300 17600 6300 1 0 1 { T 17350 6350 5 10 1 1 0 0 1 pinnumber=122 T 17350 6350 5 10 0 0 0 0 1 pinseq=122 } P 17300 6000 17600 6000 1 0 1 { T 17350 6050 5 10 1 1 0 0 1 pinnumber=121 T 17350 6050 5 10 0 0 0 0 1 pinseq=121 } P 17300 5700 17600 5700 1 0 1 { T 17350 5750 5 10 1 1 0 0 1 pinnumber=120 T 17350 5750 5 10 0 0 0 0 1 pinseq=120 } P 17300 5400 17600 5400 1 0 1 { T 17350 5450 5 10 1 1 0 0 1 pinnumber=119 T 17350 5450 5 10 0 0 0 0 1 pinseq=119 } P 17300 5100 17600 5100 1 0 1 { T 17350 5150 5 10 1 1 0 0 1 pinnumber=118 T 17350 5150 5 10 0 0 0 0 1 pinseq=118 } P 17300 4800 17600 4800 1 0 1 { T 17350 4850 5 10 1 1 0 0 1 pinnumber=117 T 17350 4850 5 10 0 0 0 0 1 pinseq=117 } P 17300 4500 17600 4500 1 0 1 { T 17350 4550 5 10 1 1 0 0 1 pinnumber=116 T 17350 4550 5 10 0 0 0 0 1 pinseq=116 } P 17300 4200 17600 4200 1 0 1 { T 17350 4250 5 10 1 1 0 0 1 pinnumber=115 T 17350 4250 5 10 0 0 0 0 1 pinseq=115 } P 17300 3900 17600 3900 1 0 1 { T 17350 3950 5 10 1 1 0 0 1 pinnumber=114 T 17350 3950 5 10 0 0 0 0 1 pinseq=114 } P 17300 3600 17600 3600 1 0 1 { T 17350 3650 5 10 1 1 0 0 1 pinnumber=113 T 17350 3650 5 10 0 0 0 0 1 pinseq=113 } P 17300 3300 17600 3300 1 0 1 { T 17350 3350 5 10 1 1 0 0 1 pinnumber=112 T 17350 3350 5 10 0 0 0 0 1 pinseq=112 } P 17300 3000 17600 3000 1 0 1 { T 17350 3050 5 10 1 1 0 0 1 pinnumber=111 T 17350 3050 5 10 0 0 0 0 1 pinseq=111 } P 17300 2700 17600 2700 1 0 1 { T 17350 2750 5 10 1 1 0 0 1 pinnumber=110 T 17350 2750 5 10 0 0 0 0 1 pinseq=110 } P 17300 2400 17600 2400 1 0 1 { T 17350 2450 5 10 1 1 0 0 1 pinnumber=109 T 17350 2450 5 10 0 0 0 0 1 pinseq=109 } P 17300 2100 17600 2100 1 0 1 { T 17350 2150 5 10 1 1 0 0 1 pinnumber=108 T 17350 2150 5 10 0 0 0 0 1 pinseq=108 } P 17300 1800 17600 1800 1 0 1 { T 17350 1850 5 10 1 1 0 0 1 pinnumber=107 T 17350 1850 5 10 0 0 0 0 1 pinseq=107 } P 17300 1500 17600 1500 1 0 1 { T 17350 1550 5 10 1 1 0 0 1 pinnumber=106 T 17350 1550 5 10 0 0 0 0 1 pinseq=106 } P 17300 1200 17600 1200 1 0 1 { T 17350 1250 5 10 1 1 0 0 1 pinnumber=105 T 17350 1250 5 10 0 0 0 0 1 pinseq=105 } B 400 400 16900 16900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 17300 5 10 0 1 0 0 1 device=XC2S200-5PQ208I T 16600 17650 8 10 1 1 0 0 1 refdes=U? T 500 16500 9 10 1 0 0 0 1 GND T 500 13500 9 10 1 0 0 0 1 GND T 500 11100 9 10 1 0 0 0 1 GND T 500 16200 9 10 1 0 0 0 1 TMS T 500 15900 9 10 1 0 0 0 1 I/O T 500 15600 9 10 1 0 0 0 1 I/O, VREF T 500 14400 9 10 1 0 0 0 1 I/O T 500 15000 9 10 1 0 0 0 1 I/O, VREF T 500 14100 9 10 1 0 0 0 1 I/O, VREF T 500 13800 9 10 1 0 0 0 1 I/O T 500 13200 9 10 1 0 0 0 1 VCCO T 500 12600 9 10 1 0 0 0 1 I/O T 500 12300 9 10 1 0 0 0 1 I/O T 500 12000 9 10 1 0 0 0 1 I/O T 500 11700 9 10 1 0 0 0 1 I/O T 500 11400 9 10 1 0 0 0 1 I/O T 500 15300 9 10 1 0 0 0 1 I/O T 500 10800 9 10 1 0 0 0 1 I/O, VREF T 500 10500 9 10 1 0 0 0 1 I/O T 500 10200 9 10 1 0 0 0 1 I/O T 500 9900 9 10 1 0 0 0 1 I/O T 500 9600 9 10 1 0 0 0 1 I/O, IRDY T 500 1500 9 10 1 0 0 0 1 GND T 500 4800 9 10 1 0 0 0 1 GND T 500 7200 9 10 1 0 0 0 1 GND T 500 9300 9 10 1 0 0 0 1 GND T 500 9000 9 10 1 0 0 0 1 VCCO T 500 5100 9 10 1 0 0 0 1 VCCO T 500 8400 9 10 1 0 0 0 1 VCCINT T 500 7500 9 10 1 0 0 0 1 I/O, VREF T 500 3300 9 10 1 0 0 0 1 I/O, VREF T 500 8700 9 10 1 0 0 0 1 I/O, TRDY T 500 8100 9 10 1 0 0 0 1 I/O T 500 7800 9 10 1 0 0 0 1 I/O T 500 6900 9 10 1 0 0 0 1 I/O T 500 6600 9 10 1 0 0 0 1 I/O T 500 6300 9 10 1 0 0 0 1 I/O T 500 6000 9 10 1 0 0 0 1 I/O T 500 5700 9 10 1 0 0 0 1 I/O T 500 4500 9 10 1 0 0 0 1 I/O T 500 4200 9 10 1 0 0 0 1 I/O, VREF T 500 3900 9 10 1 0 0 0 1 I/O T 500 3000 9 10 1 0 0 0 1 I/O T 500 2700 9 10 1 0 0 0 1 I/O, VREF T 500 2400 9 10 1 0 0 0 1 I/O T 500 2100 9 10 1 0 0 0 1 I/O T 500 1800 9 10 1 0 0 0 1 M1 T 500 1200 9 10 1 0 0 0 1 M0 T 500 3600 9 10 1 0 0 0 1 I/O T 500 14700 9 10 1 0 0 0 1 I/O T 500 12900 9 10 1 0 0 0 1 VCCINT T 500 5400 9 10 1 0 0 0 1 VCCINT T 16600 17450 9 10 1 0 0 0 1 XC2S200-5PQ208I T 1200 500 9 10 1 0 90 0 1 VCCO T 1500 500 9 10 1 0 90 0 1 M2 T 2400 500 9 10 1 0 90 0 1 I/O, VREF T 2700 500 9 10 1 0 90 0 1 I/O T 3000 500 9 10 1 0 90 0 1 I/O, VREF T 3300 500 9 10 1 0 90 0 1 I/O T 3600 500 9 10 1 0 90 0 1 I/O T 3900 500 9 10 1 0 90 0 1 I/O, VREF T 4200 500 9 10 1 0 90 0 1 I/O T 4500 500 9 10 1 0 90 0 1 GND T 4800 500 9 10 1 0 90 0 1 VCCO T 5100 500 9 10 1 0 90 0 1 VCCINT T 5400 500 9 10 1 0 90 0 1 I/O T 5700 500 9 10 1 0 90 0 1 I/O T 6000 500 9 10 1 0 90 0 1 I/O T 6300 500 9 10 1 0 90 0 1 I/O T 6600 500 9 10 1 0 90 0 1 I/O T 6900 500 9 10 1 0 90 0 1 GND T 7200 500 9 10 1 0 90 0 1 I/O, VREF T 7500 500 9 10 1 0 90 0 1 I/O T 7800 500 9 10 1 0 90 0 1 I/O T 8100 500 9 10 1 0 90 0 1 VCCINT T 8400 500 9 10 1 0 90 0 1 I, GCK1 T 9300 500 9 10 1 0 90 0 1 I, GCK0 T 8700 500 9 10 1 0 90 0 1 VCCO T 9000 500 9 10 1 0 90 0 1 GND T 9600 500 9 10 1 0 90 0 1 I/O T 9900 500 9 10 1 0 90 0 1 I/O T 10200 500 9 10 1 0 90 0 1 I/O T 10500 500 9 10 1 0 90 0 1 I/O, VREF T 10800 500 9 10 1 0 90 0 1 GND T 11100 500 9 10 1 0 90 0 1 I/O T 11400 500 9 10 1 0 90 0 1 I/O T 11700 500 9 10 1 0 90 0 1 I/O T 12000 500 9 10 1 0 90 0 1 I/O T 12300 500 9 10 1 0 90 0 1 I/O T 12600 500 9 10 1 0 90 0 1 VCCINT T 12900 500 9 10 1 0 90 0 1 VCCO T 13200 500 9 10 1 0 90 0 1 GND T 13500 500 9 10 1 0 90 0 1 I/O T 13800 500 9 10 1 0 90 0 1 I/O, VREF T 14100 500 9 10 1 0 90 0 1 I/O T 14400 500 9 10 1 0 90 0 1 I/O T 14700 500 9 10 1 0 90 0 1 I/O, VREF T 15000 500 9 10 1 0 90 0 1 I/O T 15300 500 9 10 1 0 90 0 1 I/O, VREF T 15600 500 9 10 1 0 90 0 1 I/O T 15900 500 9 10 1 0 90 0 1 I/O T 16200 500 9 10 1 0 90 0 1 GND T 16500 500 9 10 1 0 90 0 1 DONE T 17200 1200 9 10 1 0 0 6 1 VCCO T 17200 1500 9 10 1 0 0 6 1 PROGRAM T 17200 1800 9 10 1 0 0 6 1 I/O (INIT) T 17200 2100 9 10 1 0 0 6 1 I/O (D7) T 17200 2400 9 10 1 0 0 6 1 I/O, VREF T 17200 2700 9 10 1 0 0 6 1 I/O T 17200 3000 9 10 1 0 0 6 1 I/O, VREF T 17200 3300 9 10 1 0 0 6 1 I/O T 17200 3600 9 10 1 0 0 6 1 I/O T 17200 3900 9 10 1 0 0 6 1 I/O, VREF T 17200 4200 9 10 1 0 0 6 1 I/O (D6) T 17200 4500 9 10 1 0 0 6 1 GND T 17200 4800 9 10 1 0 0 6 1 VCCO T 17200 5100 9 10 1 0 0 6 1 VCCINT T 17200 5400 9 10 1 0 0 6 1 I/O (D5) T 17200 5700 9 10 1 0 0 6 1 I/O T 17200 6000 9 10 1 0 0 6 1 I/O T 17200 6300 9 10 1 0 0 6 1 I/O T 17200 6600 9 10 1 0 0 6 1 I/O T 17200 6900 9 10 1 0 0 6 1 GND T 17200 7200 9 10 1 0 0 6 1 I/O, VREF T 17200 7500 9 10 1 0 0 6 1 I/O (D4) T 17200 7800 9 10 1 0 0 6 1 I/O T 17200 8100 9 10 1 0 0 6 1 VCCINT T 17200 8400 9 10 1 0 0 6 1 I/O, TRDY T 17200 8700 9 10 1 0 0 6 1 VCCO T 17200 9000 9 10 1 0 0 6 1 GND T 17200 9300 9 10 1 0 0 6 1 I/O, IRDY T 17200 9600 9 10 1 0 0 6 1 I/O T 17200 9900 9 10 1 0 0 6 1 I/O T 17200 10200 9 10 1 0 0 6 1 I/O (D3) T 17200 10500 9 10 1 0 0 6 1 I/O, VREF T 17200 10800 9 10 1 0 0 6 1 GND T 17200 11100 9 10 1 0 0 6 1 I/O T 17200 11400 9 10 1 0 0 6 1 I/O T 17200 11700 9 10 1 0 0 6 1 I/O T 17200 12000 9 10 1 0 0 6 1 I/O T 17200 12300 9 10 1 0 0 6 1 I/O (D2) T 17200 12600 9 10 1 0 0 6 1 VCCINT T 17200 12900 9 10 1 0 0 6 1 VCCO T 17200 13200 9 10 1 0 0 6 1 GND T 17200 13500 9 10 1 0 0 6 1 I/O (D1) T 17200 13800 9 10 1 0 0 6 1 I/O, VREF T 17200 14100 9 10 1 0 0 6 1 I/O T 17200 14400 9 10 1 0 0 6 1 I/O T 17200 14700 9 10 1 0 0 6 1 I/O, VREF T 17200 15000 9 10 1 0 0 6 1 I/O T 17200 15300 9 10 1 0 0 6 1 I/O, VREF T 17200 15600 9 10 1 0 0 6 1 I/O (DIN, D0) T 17200 15900 9 10 1 0 0 6 1 I/O (DOUT, BUSY) T 17200 16200 9 10 1 0 0 6 1 CCLK T 17200 16500 9 10 1 0 0 6 1 VCCO T 16500 17200 9 10 1 0 90 6 1 TDO T 16200 17200 9 10 1 0 90 6 1 GND T 15900 17200 9 10 1 0 90 6 1 TDI T 15600 17200 9 10 1 0 90 6 1 I/O (CS) T 15300 17200 9 10 1 0 90 6 1 I/O (WRITE) T 15000 17200 9 10 1 0 90 6 1 I/O, VREF T 14700 17200 9 10 1 0 90 6 1 I/O T 14400 17200 9 10 1 0 90 6 1 I/O, VREF T 14100 17200 9 10 1 0 90 6 1 I/O T 13800 17200 9 10 1 0 90 6 1 I/O T 13500 17200 9 10 1 0 90 6 1 I/O, VREF T 13200 17200 9 10 1 0 90 6 1 I/O T 12900 17200 9 10 1 0 90 6 1 GND T 12600 17200 9 10 1 0 90 6 1 VCCO T 12300 17200 9 10 1 0 90 6 1 VCCINT T 12000 17200 9 10 1 0 90 6 1 I/O T 11700 17200 9 10 1 0 90 6 1 I/O T 11400 17200 9 10 1 0 90 6 1 I/O T 11100 17200 9 10 1 0 90 6 1 I/O T 10800 17200 9 10 1 0 90 6 1 I/O T 10500 17200 9 10 1 0 90 6 1 GND T 10200 17200 9 10 1 0 90 6 1 I/O, VREF T 9900 17200 9 10 1 0 90 6 1 I/O T 9600 17200 9 10 1 0 90 6 1 I/O T 9300 17200 9 10 1 0 90 6 1 I/O T 9000 17200 9 10 1 0 90 6 1 I, GCK2 T 8100 17200 9 10 1 0 90 6 1 I, GCK3 T 8700 17200 9 10 1 0 90 6 1 GND T 8400 17200 9 10 1 0 90 6 1 VCCO T 7800 17200 9 10 1 0 90 6 1 VCCINT T 7500 17200 9 10 1 0 90 6 1 I/O T 7200 17200 9 10 1 0 90 6 1 I/O T 6900 17200 9 10 1 0 90 6 1 I/O, VREF T 6600 17200 9 10 1 0 90 6 1 GND T 6300 17200 9 10 1 0 90 6 1 I/O T 6000 17200 9 10 1 0 90 6 1 I/O T 5700 17200 9 10 1 0 90 6 1 I/O T 5400 17200 9 10 1 0 90 6 1 I/O T 5100 17200 9 10 1 0 90 6 1 I/O T 4800 17200 9 10 1 0 90 6 1 VCCINT T 4500 17200 9 10 1 0 90 6 1 VCCO T 4200 17200 9 10 1 0 90 6 1 GND T 3900 17200 9 10 1 0 90 6 1 I/O T 3600 17200 9 10 1 0 90 6 1 I/O, VREF T 3300 17200 9 10 1 0 90 6 1 I/O T 3000 17200 9 10 1 0 90 6 1 I/O T 2700 17200 9 10 1 0 90 6 1 I/O, VREF T 2400 17200 9 10 1 0 90 6 1 I/O T 2100 17200 9 10 1 0 90 6 1 I/O, VREF T 1800 17200 9 10 1 0 90 6 1 I/O T 1500 17200 9 10 1 0 90 6 1 TCK T 1200 17200 9 10 1 0 90 6 1 VCCO L 1100 9100 2600 9100 3 0 0 0 -1 -1 L 900 16800 2600 15100 3 0 0 0 -1 -1 L 1100 1100 2600 2600 3 0 0 0 -1 -1 L 8600 1100 8600 2600 3 0 0 0 -1 -1 L 16600 1100 15100 2600 3 0 0 0 -1 -1 L 16600 8600 15100 8600 3 0 0 0 -1 -1 L 16600 16600 15100 15100 3 0 0 0 -1 -1 L 8400 16600 8400 15100 3 0 0 0 -1 -1 T 1600 12800 9 30 1 0 0 0 1 BANK7 T 1600 5200 9 30 1 0 0 0 1 BANK6 T 4100 1600 9 30 1 0 0 0 1 BANK5 T 11600 1600 9 30 1 0 0 0 1 BANK4 T 14100 5100 9 30 1 0 0 0 1 BANK3 T 14100 12800 9 30 1 0 0 0 1 BANK2 T 11600 15700 9 30 1 0 0 0 1 BANK1 T 3600 15700 9 30 1 0 0 0 1 BANK0 geda-gaf-1.8.2/symbols/xilinx/XC2S100-5PQ208C.sym0000664000175000017500000007456012204104273015544 00000000000000v 20031231 1 P 100 12600 400 12600 1 0 0 { T 100 12650 5 10 1 1 0 0 1 pinnumber=14 T 100 12650 5 10 0 0 0 0 1 pinseq=14 } P 100 12300 400 12300 1 0 0 { T 100 12350 5 10 1 1 0 0 1 pinnumber=15 T 100 12350 5 10 0 0 0 0 1 pinseq=15 } P 100 12000 400 12000 1 0 0 { T 100 12050 5 10 1 1 0 0 1 pinnumber=16 T 100 12050 5 10 0 0 0 0 1 pinseq=16 } P 100 11700 400 11700 1 0 0 { T 100 11750 5 10 1 1 0 0 1 pinnumber=17 T 100 11750 5 10 0 0 0 0 1 pinseq=17 } P 100 11400 400 11400 1 0 0 { T 100 11450 5 10 1 1 0 0 1 pinnumber=18 T 100 11450 5 10 0 0 0 0 1 pinseq=18 } P 100 11100 400 11100 1 0 0 { T 100 11150 5 10 1 1 0 0 1 pinnumber=19 T 100 11150 5 10 0 0 0 0 1 pinseq=19 } P 100 10800 400 10800 1 0 0 { T 100 10850 5 10 1 1 0 0 1 pinnumber=20 T 100 10850 5 10 0 0 0 0 1 pinseq=20 } P 100 10500 400 10500 1 0 0 { T 100 10550 5 10 1 1 0 0 1 pinnumber=21 T 100 10550 5 10 0 0 0 0 1 pinseq=21 } P 100 10200 400 10200 1 0 0 { T 100 10250 5 10 1 1 0 0 1 pinnumber=22 T 100 10250 5 10 0 0 0 0 1 pinseq=22 } P 100 9900 400 9900 1 0 0 { T 100 9950 5 10 1 1 0 0 1 pinnumber=23 T 100 9950 5 10 0 0 0 0 1 pinseq=23 } P 100 9600 400 9600 1 0 0 { T 100 9650 5 10 1 1 0 0 1 pinnumber=24 T 100 9650 5 10 0 0 0 0 1 pinseq=24 } P 100 9300 400 9300 1 0 0 { T 100 9350 5 10 1 1 0 0 1 pinnumber=25 T 100 9350 5 10 0 0 0 0 1 pinseq=25 } P 100 9000 400 9000 1 0 0 { T 100 9050 5 10 1 1 0 0 1 pinnumber=26 T 100 9050 5 10 0 0 0 0 1 pinseq=26 } P 100 16500 400 16500 1 0 0 { T 100 16550 5 10 1 1 0 0 1 pinnumber=1 T 100 16550 5 10 0 0 0 0 1 pinseq=1 } P 100 16200 400 16200 1 0 0 { T 100 16250 5 10 1 1 0 0 1 pinnumber=2 T 100 16250 5 10 0 0 0 0 1 pinseq=2 } P 100 15900 400 15900 1 0 0 { T 100 15950 5 10 1 1 0 0 1 pinnumber=3 T 100 15950 5 10 0 0 0 0 1 pinseq=3 } P 100 15600 400 15600 1 0 0 { T 100 15650 5 10 1 1 0 0 1 pinnumber=4 T 100 15650 5 10 0 0 0 0 1 pinseq=4 } P 100 15300 400 15300 1 0 0 { T 100 15350 5 10 1 1 0 0 1 pinnumber=5 T 100 15350 5 10 0 0 0 0 1 pinseq=5 } P 100 15000 400 15000 1 0 0 { T 100 15050 5 10 1 1 0 0 1 pinnumber=6 T 100 15050 5 10 0 0 0 0 1 pinseq=6 } P 100 14700 400 14700 1 0 0 { T 100 14750 5 10 1 1 0 0 1 pinnumber=7 T 100 14750 5 10 0 0 0 0 1 pinseq=7 } P 100 14400 400 14400 1 0 0 { T 100 14450 5 10 1 1 0 0 1 pinnumber=8 T 100 14450 5 10 0 0 0 0 1 pinseq=8 } P 100 14100 400 14100 1 0 0 { T 100 14150 5 10 1 1 0 0 1 pinnumber=9 T 100 14150 5 10 0 0 0 0 1 pinseq=9 } P 100 13800 400 13800 1 0 0 { T 100 13850 5 10 1 1 0 0 1 pinnumber=10 T 100 13850 5 10 0 0 0 0 1 pinseq=10 } P 100 13500 400 13500 1 0 0 { T 100 13550 5 10 1 1 0 0 1 pinnumber=11 T 100 13550 5 10 0 0 0 0 1 pinseq=11 } P 100 13200 400 13200 1 0 0 { T 100 13250 5 10 1 1 0 0 1 pinnumber=12 T 100 13250 5 10 0 0 0 0 1 pinseq=12 } P 100 12900 400 12900 1 0 0 { T 100 12950 5 10 1 1 0 0 1 pinnumber=13 T 100 12950 5 10 0 0 0 0 1 pinseq=13 } P 100 8700 400 8700 1 0 0 { T 100 8750 5 10 1 1 0 0 1 pinnumber=27 T 100 8750 5 10 0 0 0 0 1 pinseq=27 } P 100 8400 400 8400 1 0 0 { T 100 8450 5 10 1 1 0 0 1 pinnumber=28 T 100 8450 5 10 0 0 0 0 1 pinseq=28 } P 100 8100 400 8100 1 0 0 { T 100 8150 5 10 1 1 0 0 1 pinnumber=29 T 100 8150 5 10 0 0 0 0 1 pinseq=29 } P 100 7800 400 7800 1 0 0 { T 100 7850 5 10 1 1 0 0 1 pinnumber=30 T 100 7850 5 10 0 0 0 0 1 pinseq=30 } P 100 7500 400 7500 1 0 0 { T 100 7550 5 10 1 1 0 0 1 pinnumber=31 T 100 7550 5 10 0 0 0 0 1 pinseq=31 } P 100 7200 400 7200 1 0 0 { T 100 7250 5 10 1 1 0 0 1 pinnumber=32 T 100 7250 5 10 0 0 0 0 1 pinseq=32 } P 100 6900 400 6900 1 0 0 { T 100 6950 5 10 1 1 0 0 1 pinnumber=33 T 100 6950 5 10 0 0 0 0 1 pinseq=33 } P 100 6600 400 6600 1 0 0 { T 100 6650 5 10 1 1 0 0 1 pinnumber=34 T 100 6650 5 10 0 0 0 0 1 pinseq=34 } P 100 6300 400 6300 1 0 0 { T 100 6350 5 10 1 1 0 0 1 pinnumber=35 T 100 6350 5 10 0 0 0 0 1 pinseq=35 } P 100 6000 400 6000 1 0 0 { T 100 6050 5 10 1 1 0 0 1 pinnumber=36 T 100 6050 5 10 0 0 0 0 1 pinseq=36 } P 100 5700 400 5700 1 0 0 { T 100 5750 5 10 1 1 0 0 1 pinnumber=37 T 100 5750 5 10 0 0 0 0 1 pinseq=37 } P 100 5400 400 5400 1 0 0 { T 100 5450 5 10 1 1 0 0 1 pinnumber=38 T 100 5450 5 10 0 0 0 0 1 pinseq=38 } P 100 5100 400 5100 1 0 0 { T 100 5150 5 10 1 1 0 0 1 pinnumber=39 T 100 5150 5 10 0 0 0 0 1 pinseq=39 } P 100 4800 400 4800 1 0 0 { T 100 4850 5 10 1 1 0 0 1 pinnumber=40 T 100 4850 5 10 0 0 0 0 1 pinseq=40 } P 100 4500 400 4500 1 0 0 { T 100 4550 5 10 1 1 0 0 1 pinnumber=41 T 100 4550 5 10 0 0 0 0 1 pinseq=41 } P 100 4200 400 4200 1 0 0 { T 100 4250 5 10 1 1 0 0 1 pinnumber=42 T 100 4250 5 10 0 0 0 0 1 pinseq=42 } P 100 3900 400 3900 1 0 0 { T 100 3950 5 10 1 1 0 0 1 pinnumber=43 T 100 3950 5 10 0 0 0 0 1 pinseq=43 } P 100 3600 400 3600 1 0 0 { T 100 3650 5 10 1 1 0 0 1 pinnumber=44 T 100 3650 5 10 0 0 0 0 1 pinseq=44 } P 100 3300 400 3300 1 0 0 { T 100 3350 5 10 1 1 0 0 1 pinnumber=45 T 100 3350 5 10 0 0 0 0 1 pinseq=45 } P 100 3000 400 3000 1 0 0 { T 100 3050 5 10 1 1 0 0 1 pinnumber=46 T 100 3050 5 10 0 0 0 0 1 pinseq=46 } P 100 2700 400 2700 1 0 0 { T 100 2750 5 10 1 1 0 0 1 pinnumber=47 T 100 2750 5 10 0 0 0 0 1 pinseq=47 } P 100 2400 400 2400 1 0 0 { T 100 2450 5 10 1 1 0 0 1 pinnumber=48 T 100 2450 5 10 0 0 0 0 1 pinseq=48 } P 100 2100 400 2100 1 0 0 { T 100 2150 5 10 1 1 0 0 1 pinnumber=49 T 100 2150 5 10 0 0 0 0 1 pinseq=49 } P 100 1800 400 1800 1 0 0 { T 100 1850 5 10 1 1 0 0 1 pinnumber=50 T 100 1850 5 10 0 0 0 0 1 pinseq=50 } P 100 1500 400 1500 1 0 0 { T 100 1550 5 10 1 1 0 0 1 pinnumber=51 T 100 1550 5 10 0 0 0 0 1 pinseq=51 } P 100 1200 400 1200 1 0 0 { T 100 1250 5 10 1 1 0 0 1 pinnumber=52 T 100 1250 5 10 0 0 0 0 1 pinseq=52 } P 1200 17300 1200 17600 1 0 1 { T 1150 17350 5 10 1 1 90 0 1 pinnumber=208 T 1150 17350 5 10 0 0 90 0 1 pinseq=208 } P 1500 17300 1500 17600 1 0 1 { T 1450 17350 5 10 1 1 90 0 1 pinnumber=207 T 1450 17350 5 10 0 0 90 0 1 pinseq=207 } P 1800 17300 1800 17600 1 0 1 { T 1750 17350 5 10 1 1 90 0 1 pinnumber=206 T 1750 17350 5 10 0 0 90 0 1 pinseq=206 } P 2100 17300 2100 17600 1 0 1 { T 2050 17350 5 10 1 1 90 0 1 pinnumber=205 T 2050 17350 5 10 0 0 90 0 1 pinseq=205 } P 2400 17300 2400 17600 1 0 1 { T 2350 17350 5 10 1 1 90 0 1 pinnumber=204 T 2350 17350 5 10 0 0 90 0 1 pinseq=204 } P 2700 17300 2700 17600 1 0 1 { T 2650 17350 5 10 1 1 90 0 1 pinnumber=203 T 2650 17350 5 10 0 0 90 0 1 pinseq=203 } P 3000 17300 3000 17600 1 0 1 { T 2950 17350 5 10 1 1 90 0 1 pinnumber=202 T 2950 17350 5 10 0 0 90 0 1 pinseq=202 } P 3300 17300 3300 17600 1 0 1 { T 3250 17350 5 10 1 1 90 0 1 pinnumber=201 T 3250 17350 5 10 0 0 90 0 1 pinseq=201 } P 3600 17300 3600 17600 1 0 1 { T 3550 17350 5 10 1 1 90 0 1 pinnumber=200 T 3550 17350 5 10 0 0 90 0 1 pinseq=200 } P 3900 17300 3900 17600 1 0 1 { T 3850 17350 5 10 1 1 90 0 1 pinnumber=199 T 3850 17350 5 10 0 0 90 0 1 pinseq=199 } P 4200 17300 4200 17600 1 0 1 { T 4150 17350 5 10 1 1 90 0 1 pinnumber=198 T 4150 17350 5 10 0 0 90 0 1 pinseq=198 } P 4500 17300 4500 17600 1 0 1 { T 4450 17350 5 10 1 1 90 0 1 pinnumber=197 T 4450 17350 5 10 0 0 90 0 1 pinseq=197 } P 4800 17300 4800 17600 1 0 1 { T 4750 17350 5 10 1 1 90 0 1 pinnumber=196 T 4750 17350 5 10 0 0 90 0 1 pinseq=196 } P 5100 17300 5100 17600 1 0 1 { T 5050 17350 5 10 1 1 90 0 1 pinnumber=195 T 5050 17350 5 10 0 0 90 0 1 pinseq=195 } P 5400 17300 5400 17600 1 0 1 { T 5350 17350 5 10 1 1 90 0 1 pinnumber=194 T 5350 17350 5 10 0 0 90 0 1 pinseq=194 } P 5700 17300 5700 17600 1 0 1 { T 5650 17350 5 10 1 1 90 0 1 pinnumber=193 T 5650 17350 5 10 0 0 90 0 1 pinseq=193 } P 6000 17300 6000 17600 1 0 1 { T 5950 17350 5 10 1 1 90 0 1 pinnumber=192 T 5950 17350 5 10 0 0 90 0 1 pinseq=192 } P 6300 17300 6300 17600 1 0 1 { T 6250 17350 5 10 1 1 90 0 1 pinnumber=191 T 6250 17350 5 10 0 0 90 0 1 pinseq=191 } P 6600 17300 6600 17600 1 0 1 { T 6550 17350 5 10 1 1 90 0 1 pinnumber=190 T 6550 17350 5 10 0 0 90 0 1 pinseq=190 } P 6900 17300 6900 17600 1 0 1 { T 6850 17350 5 10 1 1 90 0 1 pinnumber=189 T 6850 17350 5 10 0 0 90 0 1 pinseq=189 } P 7200 17300 7200 17600 1 0 1 { T 7150 17350 5 10 1 1 90 0 1 pinnumber=188 T 7150 17350 5 10 0 0 90 0 1 pinseq=188 } P 7500 17300 7500 17600 1 0 1 { T 7450 17350 5 10 1 1 90 0 1 pinnumber=187 T 7450 17350 5 10 0 0 90 0 1 pinseq=187 } P 7800 17300 7800 17600 1 0 1 { T 7750 17350 5 10 1 1 90 0 1 pinnumber=186 T 7750 17350 5 10 0 0 90 0 1 pinseq=186 } P 8100 17300 8100 17600 1 0 1 { T 8050 17350 5 10 1 1 90 0 1 pinnumber=185 T 8050 17350 5 10 0 0 90 0 1 pinseq=185 } P 8400 17300 8400 17600 1 0 1 { T 8350 17350 5 10 1 1 90 0 1 pinnumber=184 T 8350 17350 5 10 0 0 90 0 1 pinseq=184 } P 8700 17300 8700 17600 1 0 1 { T 8650 17350 5 10 1 1 90 0 1 pinnumber=183 T 8650 17350 5 10 0 0 90 0 1 pinseq=183 } P 9000 17300 9000 17600 1 0 1 { T 8950 17350 5 10 1 1 90 0 1 pinnumber=182 T 8950 17350 5 10 0 0 90 0 1 pinseq=182 } P 9300 17300 9300 17600 1 0 1 { T 9250 17350 5 10 1 1 90 0 1 pinnumber=181 T 9250 17350 5 10 0 0 90 0 1 pinseq=181 } P 9600 17300 9600 17600 1 0 1 { T 9550 17350 5 10 1 1 90 0 1 pinnumber=180 T 9550 17350 5 10 0 0 90 0 1 pinseq=180 } P 9900 17300 9900 17600 1 0 1 { T 9850 17350 5 10 1 1 90 0 1 pinnumber=179 T 9850 17350 5 10 0 0 90 0 1 pinseq=179 } P 10200 17300 10200 17600 1 0 1 { T 10150 17350 5 10 1 1 90 0 1 pinnumber=178 T 10150 17350 5 10 0 0 90 0 1 pinseq=178 } P 10500 17300 10500 17600 1 0 1 { T 10450 17350 5 10 1 1 90 0 1 pinnumber=177 T 10450 17350 5 10 0 0 90 0 1 pinseq=177 } P 10800 17300 10800 17600 1 0 1 { T 10750 17350 5 10 1 1 90 0 1 pinnumber=176 T 10750 17350 5 10 0 0 90 0 1 pinseq=176 } P 11100 17300 11100 17600 1 0 1 { T 11050 17350 5 10 1 1 90 0 1 pinnumber=175 T 11050 17350 5 10 0 0 90 0 1 pinseq=175 } P 11400 17300 11400 17600 1 0 1 { T 11350 17350 5 10 1 1 90 0 1 pinnumber=174 T 11350 17350 5 10 0 0 90 0 1 pinseq=174 } P 11700 17300 11700 17600 1 0 1 { T 11650 17350 5 10 1 1 90 0 1 pinnumber=173 T 11650 17350 5 10 0 0 90 0 1 pinseq=173 } P 12000 17300 12000 17600 1 0 1 { T 11950 17350 5 10 1 1 90 0 1 pinnumber=172 T 11950 17350 5 10 0 0 90 0 1 pinseq=172 } P 12300 17300 12300 17600 1 0 1 { T 12250 17350 5 10 1 1 90 0 1 pinnumber=171 T 12250 17350 5 10 0 0 90 0 1 pinseq=171 } P 12600 17300 12600 17600 1 0 1 { T 12550 17350 5 10 1 1 90 0 1 pinnumber=170 T 12550 17350 5 10 0 0 90 0 1 pinseq=170 } P 12900 17300 12900 17600 1 0 1 { T 12850 17350 5 10 1 1 90 0 1 pinnumber=169 T 12850 17350 5 10 0 0 90 0 1 pinseq=169 } P 13200 17300 13200 17600 1 0 1 { T 13150 17350 5 10 1 1 90 0 1 pinnumber=168 T 13150 17350 5 10 0 0 90 0 1 pinseq=168 } P 13500 17300 13500 17600 1 0 1 { T 13450 17350 5 10 1 1 90 0 1 pinnumber=167 T 13450 17350 5 10 0 0 90 0 1 pinseq=167 } P 13800 17300 13800 17600 1 0 1 { T 13750 17350 5 10 1 1 90 0 1 pinnumber=166 T 13750 17350 5 10 0 0 90 0 1 pinseq=166 } P 14100 17300 14100 17600 1 0 1 { T 14050 17350 5 10 1 1 90 0 1 pinnumber=165 T 14050 17350 5 10 0 0 90 0 1 pinseq=165 } P 14400 17300 14400 17600 1 0 1 { T 14350 17350 5 10 1 1 90 0 1 pinnumber=164 T 14350 17350 5 10 0 0 90 0 1 pinseq=164 } P 14700 17300 14700 17600 1 0 1 { T 14650 17350 5 10 1 1 90 0 1 pinnumber=163 T 14650 17350 5 10 0 0 90 0 1 pinseq=163 } P 15000 17300 15000 17600 1 0 1 { T 14950 17350 5 10 1 1 90 0 1 pinnumber=162 T 14950 17350 5 10 0 0 90 0 1 pinseq=162 } P 15300 17300 15300 17600 1 0 1 { T 15250 17350 5 10 1 1 90 0 1 pinnumber=161 T 15250 17350 5 10 0 0 90 0 1 pinseq=161 } P 15600 17300 15600 17600 1 0 1 { T 15550 17350 5 10 1 1 90 0 1 pinnumber=160 T 15550 17350 5 10 0 0 90 0 1 pinseq=160 } P 15900 17300 15900 17600 1 0 1 { T 15850 17350 5 10 1 1 90 0 1 pinnumber=159 T 15850 17350 5 10 0 0 90 0 1 pinseq=159 } P 16200 17300 16200 17600 1 0 1 { T 16150 17350 5 10 1 1 90 0 1 pinnumber=158 T 16150 17350 5 10 0 0 90 0 1 pinseq=158 } P 16500 17300 16500 17600 1 0 1 { T 16450 17350 5 10 1 1 90 0 1 pinnumber=157 T 16450 17350 5 10 0 0 90 0 1 pinseq=157 } P 1200 100 1200 400 1 0 0 { T 1150 100 5 10 1 1 90 0 1 pinnumber=53 T 1150 100 5 10 0 0 90 0 1 pinseq=53 } P 1500 100 1500 400 1 0 0 { T 1450 100 5 10 1 1 90 0 1 pinnumber=54 T 1450 100 5 10 0 0 90 0 1 pinseq=54 } P 1800 100 1800 400 1 0 0 { T 1750 100 5 10 1 1 90 0 1 pinnumber=55 T 1750 100 5 10 0 0 90 0 1 pinseq=55 } P 2100 100 2100 400 1 0 0 { T 2050 100 5 10 1 1 90 0 1 pinnumber=56 T 2050 100 5 10 0 0 90 0 1 pinseq=56 } P 2400 100 2400 400 1 0 0 { T 2350 100 5 10 1 1 90 0 1 pinnumber=57 T 2350 100 5 10 0 0 90 0 1 pinseq=57 } P 2700 100 2700 400 1 0 0 { T 2650 100 5 10 1 1 90 0 1 pinnumber=58 T 2650 100 5 10 0 0 90 0 1 pinseq=58 } P 3000 100 3000 400 1 0 0 { T 2950 100 5 10 1 1 90 0 1 pinnumber=59 T 2950 100 5 10 0 0 90 0 1 pinseq=59 } P 3300 100 3300 400 1 0 0 { T 3250 100 5 10 1 1 90 0 1 pinnumber=60 T 3250 100 5 10 0 0 90 0 1 pinseq=60 } P 3600 100 3600 400 1 0 0 { T 3550 100 5 10 1 1 90 0 1 pinnumber=61 T 3550 100 5 10 0 0 90 0 1 pinseq=61 } P 3900 100 3900 400 1 0 0 { T 3850 100 5 10 1 1 90 0 1 pinnumber=62 T 3850 100 5 10 0 0 90 0 1 pinseq=62 } P 4200 100 4200 400 1 0 0 { T 4150 100 5 10 1 1 90 0 1 pinnumber=63 T 4150 100 5 10 0 0 90 0 1 pinseq=63 } P 4500 100 4500 400 1 0 0 { T 4450 100 5 10 1 1 90 0 1 pinnumber=64 T 4450 100 5 10 0 0 90 0 1 pinseq=64 } P 4800 100 4800 400 1 0 0 { T 4750 100 5 10 1 1 90 0 1 pinnumber=65 T 4750 100 5 10 0 0 90 0 1 pinseq=65 } P 5100 100 5100 400 1 0 0 { T 5050 100 5 10 1 1 90 0 1 pinnumber=66 T 5050 100 5 10 0 0 90 0 1 pinseq=66 } P 5400 100 5400 400 1 0 0 { T 5350 100 5 10 1 1 90 0 1 pinnumber=67 T 5350 100 5 10 0 0 90 0 1 pinseq=67 } P 5700 100 5700 400 1 0 0 { T 5650 100 5 10 1 1 90 0 1 pinnumber=68 T 5650 100 5 10 0 0 90 0 1 pinseq=68 } P 6000 100 6000 400 1 0 0 { T 5950 100 5 10 1 1 90 0 1 pinnumber=69 T 5950 100 5 10 0 0 90 0 1 pinseq=69 } P 6300 100 6300 400 1 0 0 { T 6250 100 5 10 1 1 90 0 1 pinnumber=70 T 6250 100 5 10 0 0 90 0 1 pinseq=70 } P 6600 100 6600 400 1 0 0 { T 6550 100 5 10 1 1 90 0 1 pinnumber=71 T 6550 100 5 10 0 0 90 0 1 pinseq=71 } P 6900 100 6900 400 1 0 0 { T 6850 100 5 10 1 1 90 0 1 pinnumber=72 T 6850 100 5 10 0 0 90 0 1 pinseq=72 } P 7200 100 7200 400 1 0 0 { T 7150 100 5 10 1 1 90 0 1 pinnumber=73 T 7150 100 5 10 0 0 90 0 1 pinseq=73 } P 7500 100 7500 400 1 0 0 { T 7450 100 5 10 1 1 90 0 1 pinnumber=74 T 7450 100 5 10 0 0 90 0 1 pinseq=74 } P 7800 100 7800 400 1 0 0 { T 7750 100 5 10 1 1 90 0 1 pinnumber=75 T 7750 100 5 10 0 0 90 0 1 pinseq=75 } P 8100 100 8100 400 1 0 0 { T 8050 100 5 10 1 1 90 0 1 pinnumber=76 T 8050 100 5 10 0 0 90 0 1 pinseq=76 } P 8400 100 8400 400 1 0 0 { T 8350 100 5 10 1 1 90 0 1 pinnumber=77 T 8350 100 5 10 0 0 90 0 1 pinseq=77 } P 8700 100 8700 400 1 0 0 { T 8650 100 5 10 1 1 90 0 1 pinnumber=78 T 8650 100 5 10 0 0 90 0 1 pinseq=78 } P 9000 100 9000 400 1 0 0 { T 8950 100 5 10 1 1 90 0 1 pinnumber=79 T 8950 100 5 10 0 0 90 0 1 pinseq=79 } P 9300 100 9300 400 1 0 0 { T 9250 100 5 10 1 1 90 0 1 pinnumber=80 T 9250 100 5 10 0 0 90 0 1 pinseq=80 } P 9600 100 9600 400 1 0 0 { T 9550 100 5 10 1 1 90 0 1 pinnumber=81 T 9550 100 5 10 0 0 90 0 1 pinseq=81 } P 9900 100 9900 400 1 0 0 { T 9850 100 5 10 1 1 90 0 1 pinnumber=82 T 9850 100 5 10 0 0 90 0 1 pinseq=82 } P 10200 100 10200 400 1 0 0 { T 10150 100 5 10 1 1 90 0 1 pinnumber=83 T 10150 100 5 10 0 0 90 0 1 pinseq=83 } P 10500 100 10500 400 1 0 0 { T 10450 100 5 10 1 1 90 0 1 pinnumber=84 T 10450 100 5 10 0 0 90 0 1 pinseq=84 } P 10800 100 10800 400 1 0 0 { T 10750 100 5 10 1 1 90 0 1 pinnumber=85 T 10750 100 5 10 0 0 90 0 1 pinseq=85 } P 11100 100 11100 400 1 0 0 { T 11050 100 5 10 1 1 90 0 1 pinnumber=86 T 11050 100 5 10 0 0 90 0 1 pinseq=86 } P 11400 100 11400 400 1 0 0 { T 11350 100 5 10 1 1 90 0 1 pinnumber=87 T 11350 100 5 10 0 0 90 0 1 pinseq=87 } P 11700 100 11700 400 1 0 0 { T 11650 100 5 10 1 1 90 0 1 pinnumber=88 T 11650 100 5 10 0 0 90 0 1 pinseq=88 } P 12000 100 12000 400 1 0 0 { T 11950 100 5 10 1 1 90 0 1 pinnumber=89 T 11950 100 5 10 0 0 90 0 1 pinseq=89 } P 12300 100 12300 400 1 0 0 { T 12250 100 5 10 1 1 90 0 1 pinnumber=90 T 12250 100 5 10 0 0 90 0 1 pinseq=90 } P 12600 100 12600 400 1 0 0 { T 12550 100 5 10 1 1 90 0 1 pinnumber=91 T 12550 100 5 10 0 0 90 0 1 pinseq=91 } P 12900 100 12900 400 1 0 0 { T 12850 100 5 10 1 1 90 0 1 pinnumber=92 T 12850 100 5 10 0 0 90 0 1 pinseq=92 } P 13200 100 13200 400 1 0 0 { T 13150 100 5 10 1 1 90 0 1 pinnumber=93 T 13150 100 5 10 0 0 90 0 1 pinseq=93 } P 13500 100 13500 400 1 0 0 { T 13450 100 5 10 1 1 90 0 1 pinnumber=94 T 13450 100 5 10 0 0 90 0 1 pinseq=94 } P 13800 100 13800 400 1 0 0 { T 13750 100 5 10 1 1 90 0 1 pinnumber=95 T 13750 100 5 10 0 0 90 0 1 pinseq=95 } P 14100 100 14100 400 1 0 0 { T 14050 100 5 10 1 1 90 0 1 pinnumber=96 T 14050 100 5 10 0 0 90 0 1 pinseq=96 } P 14400 100 14400 400 1 0 0 { T 14350 100 5 10 1 1 90 0 1 pinnumber=97 T 14350 100 5 10 0 0 90 0 1 pinseq=97 } P 14700 100 14700 400 1 0 0 { T 14650 100 5 10 1 1 90 0 1 pinnumber=98 T 14650 100 5 10 0 0 90 0 1 pinseq=98 } P 15000 100 15000 400 1 0 0 { T 14950 100 5 10 1 1 90 0 1 pinnumber=99 T 14950 100 5 10 0 0 90 0 1 pinseq=99 } P 15300 100 15300 400 1 0 0 { T 15250 50 5 10 1 1 90 0 1 pinnumber=100 T 15250 50 5 10 0 0 90 0 1 pinseq=100 } P 15600 100 15600 400 1 0 0 { T 15550 50 5 10 1 1 90 0 1 pinnumber=101 T 15550 50 5 10 0 0 90 0 1 pinseq=101 } P 15900 100 15900 400 1 0 0 { T 15850 50 5 10 1 1 90 0 1 pinnumber=102 T 15850 50 5 10 0 0 90 0 1 pinseq=102 } P 16200 100 16200 400 1 0 0 { T 16150 50 5 10 1 1 90 0 1 pinnumber=103 T 16150 50 5 10 0 0 90 0 1 pinseq=103 } P 16500 100 16500 400 1 0 0 { T 16450 50 5 10 1 1 90 0 1 pinnumber=104 T 16450 50 5 10 0 0 90 0 1 pinseq=104 } P 17300 12600 17600 12600 1 0 1 { T 17350 12650 5 10 1 1 0 0 1 pinnumber=143 T 17350 12650 5 10 0 0 0 0 1 pinseq=143 } P 17300 12300 17600 12300 1 0 1 { T 17350 12350 5 10 1 1 0 0 1 pinnumber=142 T 17350 12350 5 10 0 0 0 0 1 pinseq=142 } P 17300 12000 17600 12000 1 0 1 { T 17350 12050 5 10 1 1 0 0 1 pinnumber=141 T 17350 12050 5 10 0 0 0 0 1 pinseq=141 } P 17300 11700 17600 11700 1 0 1 { T 17350 11750 5 10 1 1 0 0 1 pinnumber=140 T 17350 11750 5 10 0 0 0 0 1 pinseq=140 } P 17300 11400 17600 11400 1 0 1 { T 17350 11500 5 10 1 1 0 0 1 pinnumber=139 T 17350 11500 5 10 0 0 0 0 1 pinseq=139 } P 17300 11100 17600 11100 1 0 1 { T 17350 11150 5 10 1 1 0 0 1 pinnumber=138 T 17350 11150 5 10 0 0 0 0 1 pinseq=138 } P 17300 10800 17600 10800 1 0 1 { T 17350 10850 5 10 1 1 0 0 1 pinnumber=137 T 17350 10850 5 10 0 0 0 0 1 pinseq=137 } P 17300 10500 17600 10500 1 0 1 { T 17350 10550 5 10 1 1 0 0 1 pinnumber=136 T 17350 10550 5 10 0 0 0 0 1 pinseq=136 } P 17300 10200 17600 10200 1 0 1 { T 17350 10250 5 10 1 1 0 0 1 pinnumber=135 T 17350 10250 5 10 0 0 0 0 1 pinseq=135 } P 17300 9900 17600 9900 1 0 1 { T 17350 9950 5 10 1 1 0 0 1 pinnumber=134 T 17350 9950 5 10 0 0 0 0 1 pinseq=134 } P 17300 9600 17600 9600 1 0 1 { T 17350 9650 5 10 1 1 0 0 1 pinnumber=133 T 17350 9650 5 10 0 0 0 0 1 pinseq=133 } P 17300 9300 17600 9300 1 0 1 { T 17350 9350 5 10 1 1 0 0 1 pinnumber=132 T 17350 9350 5 10 0 0 0 0 1 pinseq=132 } P 17300 9000 17600 9000 1 0 1 { T 17350 9050 5 10 1 1 0 0 1 pinnumber=131 T 17350 9050 5 10 0 0 0 0 1 pinseq=131 } P 17300 16500 17600 16500 1 0 1 { T 17350 16550 5 10 1 1 0 0 1 pinnumber=156 T 17350 16550 5 10 0 0 0 0 1 pinseq=156 } P 17300 16200 17600 16200 1 0 1 { T 17350 16250 5 10 1 1 0 0 1 pinnumber=155 T 17350 16250 5 10 0 0 0 0 1 pinseq=155 } P 17300 15900 17600 15900 1 0 1 { T 17350 15950 5 10 1 1 0 0 1 pinnumber=154 T 17350 15950 5 10 0 0 0 0 1 pinseq=154 } P 17300 15600 17600 15600 1 0 1 { T 17350 15650 5 10 1 1 0 0 1 pinnumber=153 T 17350 15650 5 10 0 0 0 0 1 pinseq=153 } P 17300 15300 17600 15300 1 0 1 { T 17350 15350 5 10 1 1 0 0 1 pinnumber=152 T 17350 15350 5 10 0 0 0 0 1 pinseq=152 } P 17300 15000 17600 15000 1 0 1 { T 17350 15050 5 10 1 1 0 0 1 pinnumber=151 T 17350 15050 5 10 0 0 0 0 1 pinseq=151 } P 17300 14700 17600 14700 1 0 1 { T 17350 14750 5 10 1 1 0 0 1 pinnumber=150 T 17350 14750 5 10 0 0 0 0 1 pinseq=150 } P 17300 14400 17600 14400 1 0 1 { T 17350 14450 5 10 1 1 0 0 1 pinnumber=149 T 17350 14450 5 10 0 0 0 0 1 pinseq=149 } P 17300 14100 17600 14100 1 0 1 { T 17350 14150 5 10 1 1 0 0 1 pinnumber=148 T 17350 14150 5 10 0 0 0 0 1 pinseq=148 } P 17300 13800 17600 13800 1 0 1 { T 17350 13850 5 10 1 1 0 0 1 pinnumber=147 T 17350 13850 5 10 0 0 0 0 1 pinseq=147 } P 17300 13500 17600 13500 1 0 1 { T 17350 13550 5 10 1 1 0 0 1 pinnumber=146 T 17350 13550 5 10 0 0 0 0 1 pinseq=146 } P 17300 13200 17600 13200 1 0 1 { T 17350 13250 5 10 1 1 0 0 1 pinnumber=145 T 17350 13250 5 10 0 0 0 0 1 pinseq=145 } P 17300 12900 17600 12900 1 0 1 { T 17350 12950 5 10 1 1 0 0 1 pinnumber=144 T 17350 12950 5 10 0 0 0 0 1 pinseq=144 } P 17300 8700 17600 8700 1 0 1 { T 17350 8750 5 10 1 1 0 0 1 pinnumber=130 T 17350 8750 5 10 0 0 0 0 1 pinseq=130 } P 17300 8400 17600 8400 1 0 1 { T 17350 8450 5 10 1 1 0 0 1 pinnumber=129 T 17350 8450 5 10 0 0 0 0 1 pinseq=129 } P 17300 8100 17600 8100 1 0 1 { T 17350 8150 5 10 1 1 0 0 1 pinnumber=128 T 17350 8150 5 10 0 0 0 0 1 pinseq=128 } P 17300 7800 17600 7800 1 0 1 { T 17350 7850 5 10 1 1 0 0 1 pinnumber=127 T 17350 7850 5 10 0 0 0 0 1 pinseq=127 } P 17300 7500 17600 7500 1 0 1 { T 17350 7550 5 10 1 1 0 0 1 pinnumber=126 T 17350 7550 5 10 0 0 0 0 1 pinseq=126 } P 17300 7200 17600 7200 1 0 1 { T 17350 7250 5 10 1 1 0 0 1 pinnumber=125 T 17350 7250 5 10 0 0 0 0 1 pinseq=125 } P 17300 6900 17600 6900 1 0 1 { T 17350 6950 5 10 1 1 0 0 1 pinnumber=124 T 17350 6950 5 10 0 0 0 0 1 pinseq=124 } P 17300 6600 17600 6600 1 0 1 { T 17350 6650 5 10 1 1 0 0 1 pinnumber=123 T 17350 6650 5 10 0 0 0 0 1 pinseq=123 } P 17300 6300 17600 6300 1 0 1 { T 17350 6350 5 10 1 1 0 0 1 pinnumber=122 T 17350 6350 5 10 0 0 0 0 1 pinseq=122 } P 17300 6000 17600 6000 1 0 1 { T 17350 6050 5 10 1 1 0 0 1 pinnumber=121 T 17350 6050 5 10 0 0 0 0 1 pinseq=121 } P 17300 5700 17600 5700 1 0 1 { T 17350 5750 5 10 1 1 0 0 1 pinnumber=120 T 17350 5750 5 10 0 0 0 0 1 pinseq=120 } P 17300 5400 17600 5400 1 0 1 { T 17350 5450 5 10 1 1 0 0 1 pinnumber=119 T 17350 5450 5 10 0 0 0 0 1 pinseq=119 } P 17300 5100 17600 5100 1 0 1 { T 17350 5150 5 10 1 1 0 0 1 pinnumber=118 T 17350 5150 5 10 0 0 0 0 1 pinseq=118 } P 17300 4800 17600 4800 1 0 1 { T 17350 4850 5 10 1 1 0 0 1 pinnumber=117 T 17350 4850 5 10 0 0 0 0 1 pinseq=117 } P 17300 4500 17600 4500 1 0 1 { T 17350 4550 5 10 1 1 0 0 1 pinnumber=116 T 17350 4550 5 10 0 0 0 0 1 pinseq=116 } P 17300 4200 17600 4200 1 0 1 { T 17350 4250 5 10 1 1 0 0 1 pinnumber=115 T 17350 4250 5 10 0 0 0 0 1 pinseq=115 } P 17300 3900 17600 3900 1 0 1 { T 17350 3950 5 10 1 1 0 0 1 pinnumber=114 T 17350 3950 5 10 0 0 0 0 1 pinseq=114 } P 17300 3600 17600 3600 1 0 1 { T 17350 3650 5 10 1 1 0 0 1 pinnumber=113 T 17350 3650 5 10 0 0 0 0 1 pinseq=113 } P 17300 3300 17600 3300 1 0 1 { T 17350 3350 5 10 1 1 0 0 1 pinnumber=112 T 17350 3350 5 10 0 0 0 0 1 pinseq=112 } P 17300 3000 17600 3000 1 0 1 { T 17350 3050 5 10 1 1 0 0 1 pinnumber=111 T 17350 3050 5 10 0 0 0 0 1 pinseq=111 } P 17300 2700 17600 2700 1 0 1 { T 17350 2750 5 10 1 1 0 0 1 pinnumber=110 T 17350 2750 5 10 0 0 0 0 1 pinseq=110 } P 17300 2400 17600 2400 1 0 1 { T 17350 2450 5 10 1 1 0 0 1 pinnumber=109 T 17350 2450 5 10 0 0 0 0 1 pinseq=109 } P 17300 2100 17600 2100 1 0 1 { T 17350 2150 5 10 1 1 0 0 1 pinnumber=108 T 17350 2150 5 10 0 0 0 0 1 pinseq=108 } P 17300 1800 17600 1800 1 0 1 { T 17350 1850 5 10 1 1 0 0 1 pinnumber=107 T 17350 1850 5 10 0 0 0 0 1 pinseq=107 } P 17300 1500 17600 1500 1 0 1 { T 17350 1550 5 10 1 1 0 0 1 pinnumber=106 T 17350 1550 5 10 0 0 0 0 1 pinseq=106 } P 17300 1200 17600 1200 1 0 1 { T 17350 1250 5 10 1 1 0 0 1 pinnumber=105 T 17350 1250 5 10 0 0 0 0 1 pinseq=105 } B 400 400 16900 16900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 17300 5 10 0 1 0 0 1 device=XC2S100-5PQ208C T 16600 17650 8 10 1 1 0 0 1 refdes=U? T 500 16500 9 10 1 0 0 0 1 GND T 500 13500 9 10 1 0 0 0 1 GND T 500 11100 9 10 1 0 0 0 1 GND T 500 16200 9 10 1 0 0 0 1 TMS T 500 15900 9 10 1 0 0 0 1 I/O T 500 15600 9 10 1 0 0 0 1 I/O T 500 14400 9 10 1 0 0 0 1 I/O T 500 15000 9 10 1 0 0 0 1 I/O, VREF T 500 14100 9 10 1 0 0 0 1 I/O, VREF T 500 13800 9 10 1 0 0 0 1 I/O T 500 13200 9 10 1 0 0 0 1 VCCO T 500 12600 9 10 1 0 0 0 1 I/O T 500 12300 9 10 1 0 0 0 1 I/O T 500 12000 9 10 1 0 0 0 1 I/O T 500 11700 9 10 1 0 0 0 1 I/O T 500 11400 9 10 1 0 0 0 1 I/O T 500 15300 9 10 1 0 0 0 1 I/O T 500 10800 9 10 1 0 0 0 1 I/O, VREF T 500 10500 9 10 1 0 0 0 1 I/O T 500 10200 9 10 1 0 0 0 1 I/O T 500 9900 9 10 1 0 0 0 1 I/O T 500 9600 9 10 1 0 0 0 1 I/O, IRDY T 500 1500 9 10 1 0 0 0 1 GND T 500 4800 9 10 1 0 0 0 1 GND T 500 7200 9 10 1 0 0 0 1 GND T 500 9300 9 10 1 0 0 0 1 GND T 500 9000 9 10 1 0 0 0 1 VCCO T 500 5100 9 10 1 0 0 0 1 VCCO T 500 8400 9 10 1 0 0 0 1 VCCINT T 500 7500 9 10 1 0 0 0 1 I/O, VREF T 500 3300 9 10 1 0 0 0 1 I/O, VREF T 500 8700 9 10 1 0 0 0 1 I/O, TRDY T 500 8100 9 10 1 0 0 0 1 I/O T 500 7800 9 10 1 0 0 0 1 I/O T 500 6900 9 10 1 0 0 0 1 I/O T 500 6600 9 10 1 0 0 0 1 I/O T 500 6300 9 10 1 0 0 0 1 I/O T 500 6000 9 10 1 0 0 0 1 I/O T 500 5700 9 10 1 0 0 0 1 I/O T 500 4500 9 10 1 0 0 0 1 I/O T 500 4200 9 10 1 0 0 0 1 I/O, VREF T 500 3900 9 10 1 0 0 0 1 I/O T 500 3000 9 10 1 0 0 0 1 I/O T 500 2700 9 10 1 0 0 0 1 I/O T 500 2400 9 10 1 0 0 0 1 I/O T 500 2100 9 10 1 0 0 0 1 I/O T 500 1800 9 10 1 0 0 0 1 M1 T 500 1200 9 10 1 0 0 0 1 M0 T 500 3600 9 10 1 0 0 0 1 I/O T 500 14700 9 10 1 0 0 0 1 I/O T 500 12900 9 10 1 0 0 0 1 VCCINT T 500 5400 9 10 1 0 0 0 1 VCCINT T 16600 17450 9 10 1 0 0 0 1 XC2S100-5PQ208C T 1200 500 9 10 1 0 90 0 1 VCCO T 1500 500 9 10 1 0 90 0 1 M2 T 2400 500 9 10 1 0 90 0 1 I/O T 2700 500 9 10 1 0 90 0 1 I/O T 3000 500 9 10 1 0 90 0 1 I/O, VREF T 3300 500 9 10 1 0 90 0 1 I/O T 3600 500 9 10 1 0 90 0 1 I/O T 3900 500 9 10 1 0 90 0 1 I/O, VREF T 4200 500 9 10 1 0 90 0 1 I/O T 4500 500 9 10 1 0 90 0 1 GND T 4800 500 9 10 1 0 90 0 1 VCCO T 5100 500 9 10 1 0 90 0 1 VCCINT T 5400 500 9 10 1 0 90 0 1 I/O T 5700 500 9 10 1 0 90 0 1 I/O T 6000 500 9 10 1 0 90 0 1 I/O T 6300 500 9 10 1 0 90 0 1 I/O T 6600 500 9 10 1 0 90 0 1 I/O T 6900 500 9 10 1 0 90 0 1 GND T 7200 500 9 10 1 0 90 0 1 I/O, VREF T 7500 500 9 10 1 0 90 0 1 I/O T 7800 500 9 10 1 0 90 0 1 I/O T 8100 500 9 10 1 0 90 0 1 VCCINT T 8400 500 9 10 1 0 90 0 1 I, GCK1 T 9300 500 9 10 1 0 90 0 1 I, GCK0 T 8700 500 9 10 1 0 90 0 1 VCCO T 9000 500 9 10 1 0 90 0 1 GND T 9600 500 9 10 1 0 90 0 1 I/O T 9900 500 9 10 1 0 90 0 1 I/O T 10200 500 9 10 1 0 90 0 1 I/O T 10500 500 9 10 1 0 90 0 1 I/O, VREF T 10800 500 9 10 1 0 90 0 1 GND T 11100 500 9 10 1 0 90 0 1 I/O T 11400 500 9 10 1 0 90 0 1 I/O T 11700 500 9 10 1 0 90 0 1 I/O T 12000 500 9 10 1 0 90 0 1 I/O T 12300 500 9 10 1 0 90 0 1 I/O T 12600 500 9 10 1 0 90 0 1 VCCINT T 12900 500 9 10 1 0 90 0 1 VCCO T 13200 500 9 10 1 0 90 0 1 GND T 13500 500 9 10 1 0 90 0 1 I/O T 13800 500 9 10 1 0 90 0 1 I/O, VREF T 14100 500 9 10 1 0 90 0 1 I/O T 14400 500 9 10 1 0 90 0 1 I/O T 14700 500 9 10 1 0 90 0 1 I/O, VREF T 15000 500 9 10 1 0 90 0 1 I/O T 15300 500 9 10 1 0 90 0 1 I/O T 15600 500 9 10 1 0 90 0 1 I/O T 15900 500 9 10 1 0 90 0 1 I/O T 16200 500 9 10 1 0 90 0 1 GND T 16500 500 9 10 1 0 90 0 1 DONE T 17200 1200 9 10 1 0 0 6 1 VCCO T 17200 1500 9 10 1 0 0 6 1 PROGRAM T 17200 1800 9 10 1 0 0 6 1 I/O (INIT) T 17200 2100 9 10 1 0 0 6 1 I/O (D7) T 17200 2400 9 10 1 0 0 6 1 I/O T 17200 2700 9 10 1 0 0 6 1 I/O T 17200 3000 9 10 1 0 0 6 1 I/O, VREF T 17200 3300 9 10 1 0 0 6 1 I/O T 17200 3600 9 10 1 0 0 6 1 I/O T 17200 3900 9 10 1 0 0 6 1 I/O, VREF T 17200 4200 9 10 1 0 0 6 1 I/O (D6) T 17200 4500 9 10 1 0 0 6 1 GND T 17200 4800 9 10 1 0 0 6 1 VCCO T 17200 5100 9 10 1 0 0 6 1 VCCINT T 17200 5400 9 10 1 0 0 6 1 I/O (D5) T 17200 5700 9 10 1 0 0 6 1 I/O T 17200 6000 9 10 1 0 0 6 1 I/O T 17200 6300 9 10 1 0 0 6 1 I/O T 17200 6600 9 10 1 0 0 6 1 I/O T 17200 6900 9 10 1 0 0 6 1 GND T 17200 7200 9 10 1 0 0 6 1 I/O, VREF T 17200 7500 9 10 1 0 0 6 1 I/O (D4) T 17200 7800 9 10 1 0 0 6 1 I/O T 17200 8100 9 10 1 0 0 6 1 VCCINT T 17200 8400 9 10 1 0 0 6 1 I/O, TRDY T 17200 8700 9 10 1 0 0 6 1 VCCO T 17200 9000 9 10 1 0 0 6 1 GND T 17200 9300 9 10 1 0 0 6 1 I/O, IRDY T 17200 9600 9 10 1 0 0 6 1 I/O T 17200 9900 9 10 1 0 0 6 1 I/O T 17200 10200 9 10 1 0 0 6 1 I/O (D3) T 17200 10500 9 10 1 0 0 6 1 I/O, VREF T 17200 10800 9 10 1 0 0 6 1 GND T 17200 11100 9 10 1 0 0 6 1 I/O T 17200 11400 9 10 1 0 0 6 1 I/O T 17200 11700 9 10 1 0 0 6 1 I/O T 17200 12000 9 10 1 0 0 6 1 I/O T 17200 12300 9 10 1 0 0 6 1 I/O (D2) T 17200 12600 9 10 1 0 0 6 1 VCCINT T 17200 12900 9 10 1 0 0 6 1 VCCO T 17200 13200 9 10 1 0 0 6 1 GND T 17200 13500 9 10 1 0 0 6 1 I/O (D1) T 17200 13800 9 10 1 0 0 6 1 I/O, VREF T 17200 14100 9 10 1 0 0 6 1 I/O T 17200 14400 9 10 1 0 0 6 1 I/O T 17200 14700 9 10 1 0 0 6 1 I/O, VREF T 17200 15000 9 10 1 0 0 6 1 I/O T 17200 15300 9 10 1 0 0 6 1 I/O T 17200 15600 9 10 1 0 0 6 1 I/O (DIN, D0) T 17200 15900 9 10 1 0 0 6 1 I/O (DOUT, BUSY) T 17200 16200 9 10 1 0 0 6 1 CCLK T 17200 16500 9 10 1 0 0 6 1 VCCO T 16500 17200 9 10 1 0 90 6 1 TDO T 16200 17200 9 10 1 0 90 6 1 GND T 15900 17200 9 10 1 0 90 6 1 TDI T 15600 17200 9 10 1 0 90 6 1 I/O (CS) T 15300 17200 9 10 1 0 90 6 1 I/O (WRITE) T 15000 17200 9 10 1 0 90 6 1 I/O T 14700 17200 9 10 1 0 90 6 1 I/O T 14400 17200 9 10 1 0 90 6 1 I/O, VREF T 14100 17200 9 10 1 0 90 6 1 I/O T 13800 17200 9 10 1 0 90 6 1 I/O T 13500 17200 9 10 1 0 90 6 1 I/O, VREF T 13200 17200 9 10 1 0 90 6 1 I/O T 12900 17200 9 10 1 0 90 6 1 GND T 12600 17200 9 10 1 0 90 6 1 VCCO T 12300 17200 9 10 1 0 90 6 1 VCCINT T 12000 17200 9 10 1 0 90 6 1 I/O T 11700 17200 9 10 1 0 90 6 1 I/O T 11400 17200 9 10 1 0 90 6 1 I/O T 11100 17200 9 10 1 0 90 6 1 I/O T 10800 17200 9 10 1 0 90 6 1 I/O T 10500 17200 9 10 1 0 90 6 1 GND T 10200 17200 9 10 1 0 90 6 1 I/O, VREF T 9900 17200 9 10 1 0 90 6 1 I/O T 9600 17200 9 10 1 0 90 6 1 I/O T 9300 17200 9 10 1 0 90 6 1 I/O T 9000 17200 9 10 1 0 90 6 1 I, GCK2 T 8100 17200 9 10 1 0 90 6 1 I, GCK3 T 8700 17200 9 10 1 0 90 6 1 GND T 8400 17200 9 10 1 0 90 6 1 VCCO T 7800 17200 9 10 1 0 90 6 1 VCCINT T 7500 17200 9 10 1 0 90 6 1 I/O T 7200 17200 9 10 1 0 90 6 1 I/O T 6900 17200 9 10 1 0 90 6 1 I/O, VREF T 6600 17200 9 10 1 0 90 6 1 GND T 6300 17200 9 10 1 0 90 6 1 I/O T 6000 17200 9 10 1 0 90 6 1 I/O T 5700 17200 9 10 1 0 90 6 1 I/O T 5400 17200 9 10 1 0 90 6 1 I/O T 5100 17200 9 10 1 0 90 6 1 I/O T 4800 17200 9 10 1 0 90 6 1 VCCINT T 4500 17200 9 10 1 0 90 6 1 VCCO T 4200 17200 9 10 1 0 90 6 1 GND T 3900 17200 9 10 1 0 90 6 1 I/O T 3600 17200 9 10 1 0 90 6 1 I/O, VREF T 3300 17200 9 10 1 0 90 6 1 I/O T 3000 17200 9 10 1 0 90 6 1 I/O T 2700 17200 9 10 1 0 90 6 1 I/O, VREF T 2400 17200 9 10 1 0 90 6 1 I/O T 2100 17200 9 10 1 0 90 6 1 I/O T 1800 17200 9 10 1 0 90 6 1 I/O T 1500 17200 9 10 1 0 90 6 1 TCK T 1200 17200 9 10 1 0 90 6 1 VCCO L 1100 9100 2600 9100 3 0 0 0 -1 -1 L 900 16800 2600 15100 3 0 0 0 -1 -1 L 1100 1100 2600 2600 3 0 0 0 -1 -1 L 8600 1100 8600 2600 3 0 0 0 -1 -1 L 16600 1100 15100 2600 3 0 0 0 -1 -1 L 16600 8600 15100 8600 3 0 0 0 -1 -1 L 16600 16600 15100 15100 3 0 0 0 -1 -1 L 8400 16600 8400 15100 3 0 0 0 -1 -1 T 1600 12800 9 30 1 0 0 0 1 BANK7 T 1600 5200 9 30 1 0 0 0 1 BANK6 T 4100 1600 9 30 1 0 0 0 1 BANK5 T 11600 1600 9 30 1 0 0 0 1 BANK4 T 14100 5100 9 30 1 0 0 0 1 BANK3 T 14100 12800 9 30 1 0 0 0 1 BANK2 T 11600 15700 9 30 1 0 0 0 1 BANK1 T 3600 15700 9 30 1 0 0 0 1 BANK0 geda-gaf-1.8.2/symbols/xilinx/XC2S50-6PQ208C.sym0000664000175000017500000007447612204104273015477 00000000000000v 20031231 1 P 100 12600 400 12600 1 0 0 { T 100 12650 5 10 1 1 0 0 1 pinnumber=14 T 100 12650 5 10 0 0 0 0 1 pinseq=14 } P 100 12300 400 12300 1 0 0 { T 100 12350 5 10 1 1 0 0 1 pinnumber=15 T 100 12350 5 10 0 0 0 0 1 pinseq=15 } P 100 12000 400 12000 1 0 0 { T 100 12050 5 10 1 1 0 0 1 pinnumber=16 T 100 12050 5 10 0 0 0 0 1 pinseq=16 } P 100 11700 400 11700 1 0 0 { T 100 11750 5 10 1 1 0 0 1 pinnumber=17 T 100 11750 5 10 0 0 0 0 1 pinseq=17 } P 100 11400 400 11400 1 0 0 { T 100 11450 5 10 1 1 0 0 1 pinnumber=18 T 100 11450 5 10 0 0 0 0 1 pinseq=18 } P 100 11100 400 11100 1 0 0 { T 100 11150 5 10 1 1 0 0 1 pinnumber=19 T 100 11150 5 10 0 0 0 0 1 pinseq=19 } P 100 10800 400 10800 1 0 0 { T 100 10850 5 10 1 1 0 0 1 pinnumber=20 T 100 10850 5 10 0 0 0 0 1 pinseq=20 } P 100 10500 400 10500 1 0 0 { T 100 10550 5 10 1 1 0 0 1 pinnumber=21 T 100 10550 5 10 0 0 0 0 1 pinseq=21 } P 100 10200 400 10200 1 0 0 { T 100 10250 5 10 1 1 0 0 1 pinnumber=22 T 100 10250 5 10 0 0 0 0 1 pinseq=22 } P 100 9900 400 9900 1 0 0 { T 100 9950 5 10 1 1 0 0 1 pinnumber=23 T 100 9950 5 10 0 0 0 0 1 pinseq=23 } P 100 9600 400 9600 1 0 0 { T 100 9650 5 10 1 1 0 0 1 pinnumber=24 T 100 9650 5 10 0 0 0 0 1 pinseq=24 } P 100 9300 400 9300 1 0 0 { T 100 9350 5 10 1 1 0 0 1 pinnumber=25 T 100 9350 5 10 0 0 0 0 1 pinseq=25 } P 100 9000 400 9000 1 0 0 { T 100 9050 5 10 1 1 0 0 1 pinnumber=26 T 100 9050 5 10 0 0 0 0 1 pinseq=26 } P 100 16500 400 16500 1 0 0 { T 100 16550 5 10 1 1 0 0 1 pinnumber=1 T 100 16550 5 10 0 0 0 0 1 pinseq=1 } P 100 16200 400 16200 1 0 0 { T 100 16250 5 10 1 1 0 0 1 pinnumber=2 T 100 16250 5 10 0 0 0 0 1 pinseq=2 } P 100 15900 400 15900 1 0 0 { T 100 15950 5 10 1 1 0 0 1 pinnumber=3 T 100 15950 5 10 0 0 0 0 1 pinseq=3 } P 100 15600 400 15600 1 0 0 { T 100 15650 5 10 1 1 0 0 1 pinnumber=4 T 100 15650 5 10 0 0 0 0 1 pinseq=4 } P 100 15300 400 15300 1 0 0 { T 100 15350 5 10 1 1 0 0 1 pinnumber=5 T 100 15350 5 10 0 0 0 0 1 pinseq=5 } P 100 15000 400 15000 1 0 0 { T 100 15050 5 10 1 1 0 0 1 pinnumber=6 T 100 15050 5 10 0 0 0 0 1 pinseq=6 } P 100 14700 400 14700 1 0 0 { T 100 14750 5 10 1 1 0 0 1 pinnumber=7 T 100 14750 5 10 0 0 0 0 1 pinseq=7 } P 100 14400 400 14400 1 0 0 { T 100 14450 5 10 1 1 0 0 1 pinnumber=8 T 100 14450 5 10 0 0 0 0 1 pinseq=8 } P 100 14100 400 14100 1 0 0 { T 100 14150 5 10 1 1 0 0 1 pinnumber=9 T 100 14150 5 10 0 0 0 0 1 pinseq=9 } P 100 13800 400 13800 1 0 0 { T 100 13850 5 10 1 1 0 0 1 pinnumber=10 T 100 13850 5 10 0 0 0 0 1 pinseq=10 } P 100 13500 400 13500 1 0 0 { T 100 13550 5 10 1 1 0 0 1 pinnumber=11 T 100 13550 5 10 0 0 0 0 1 pinseq=11 } P 100 13200 400 13200 1 0 0 { T 100 13250 5 10 1 1 0 0 1 pinnumber=12 T 100 13250 5 10 0 0 0 0 1 pinseq=12 } P 100 12900 400 12900 1 0 0 { T 100 12950 5 10 1 1 0 0 1 pinnumber=13 T 100 12950 5 10 0 0 0 0 1 pinseq=13 } P 100 8700 400 8700 1 0 0 { T 100 8750 5 10 1 1 0 0 1 pinnumber=27 T 100 8750 5 10 0 0 0 0 1 pinseq=27 } P 100 8400 400 8400 1 0 0 { T 100 8450 5 10 1 1 0 0 1 pinnumber=28 T 100 8450 5 10 0 0 0 0 1 pinseq=28 } P 100 8100 400 8100 1 0 0 { T 100 8150 5 10 1 1 0 0 1 pinnumber=29 T 100 8150 5 10 0 0 0 0 1 pinseq=29 } P 100 7800 400 7800 1 0 0 { T 100 7850 5 10 1 1 0 0 1 pinnumber=30 T 100 7850 5 10 0 0 0 0 1 pinseq=30 } P 100 7500 400 7500 1 0 0 { T 100 7550 5 10 1 1 0 0 1 pinnumber=31 T 100 7550 5 10 0 0 0 0 1 pinseq=31 } P 100 7200 400 7200 1 0 0 { T 100 7250 5 10 1 1 0 0 1 pinnumber=32 T 100 7250 5 10 0 0 0 0 1 pinseq=32 } P 100 6900 400 6900 1 0 0 { T 100 6950 5 10 1 1 0 0 1 pinnumber=33 T 100 6950 5 10 0 0 0 0 1 pinseq=33 } P 100 6600 400 6600 1 0 0 { T 100 6650 5 10 1 1 0 0 1 pinnumber=34 T 100 6650 5 10 0 0 0 0 1 pinseq=34 } P 100 6300 400 6300 1 0 0 { T 100 6350 5 10 1 1 0 0 1 pinnumber=35 T 100 6350 5 10 0 0 0 0 1 pinseq=35 } P 100 6000 400 6000 1 0 0 { T 100 6050 5 10 1 1 0 0 1 pinnumber=36 T 100 6050 5 10 0 0 0 0 1 pinseq=36 } P 100 5700 400 5700 1 0 0 { T 100 5750 5 10 1 1 0 0 1 pinnumber=37 T 100 5750 5 10 0 0 0 0 1 pinseq=37 } P 100 5400 400 5400 1 0 0 { T 100 5450 5 10 1 1 0 0 1 pinnumber=38 T 100 5450 5 10 0 0 0 0 1 pinseq=38 } P 100 5100 400 5100 1 0 0 { T 100 5150 5 10 1 1 0 0 1 pinnumber=39 T 100 5150 5 10 0 0 0 0 1 pinseq=39 } P 100 4800 400 4800 1 0 0 { T 100 4850 5 10 1 1 0 0 1 pinnumber=40 T 100 4850 5 10 0 0 0 0 1 pinseq=40 } P 100 4500 400 4500 1 0 0 { T 100 4550 5 10 1 1 0 0 1 pinnumber=41 T 100 4550 5 10 0 0 0 0 1 pinseq=41 } P 100 4200 400 4200 1 0 0 { T 100 4250 5 10 1 1 0 0 1 pinnumber=42 T 100 4250 5 10 0 0 0 0 1 pinseq=42 } P 100 3900 400 3900 1 0 0 { T 100 3950 5 10 1 1 0 0 1 pinnumber=43 T 100 3950 5 10 0 0 0 0 1 pinseq=43 } P 100 3600 400 3600 1 0 0 { T 100 3650 5 10 1 1 0 0 1 pinnumber=44 T 100 3650 5 10 0 0 0 0 1 pinseq=44 } P 100 3300 400 3300 1 0 0 { T 100 3350 5 10 1 1 0 0 1 pinnumber=45 T 100 3350 5 10 0 0 0 0 1 pinseq=45 } P 100 3000 400 3000 1 0 0 { T 100 3050 5 10 1 1 0 0 1 pinnumber=46 T 100 3050 5 10 0 0 0 0 1 pinseq=46 } P 100 2700 400 2700 1 0 0 { T 100 2750 5 10 1 1 0 0 1 pinnumber=47 T 100 2750 5 10 0 0 0 0 1 pinseq=47 } P 100 2400 400 2400 1 0 0 { T 100 2450 5 10 1 1 0 0 1 pinnumber=48 T 100 2450 5 10 0 0 0 0 1 pinseq=48 } P 100 2100 400 2100 1 0 0 { T 100 2150 5 10 1 1 0 0 1 pinnumber=49 T 100 2150 5 10 0 0 0 0 1 pinseq=49 } P 100 1800 400 1800 1 0 0 { T 100 1850 5 10 1 1 0 0 1 pinnumber=50 T 100 1850 5 10 0 0 0 0 1 pinseq=50 } P 100 1500 400 1500 1 0 0 { T 100 1550 5 10 1 1 0 0 1 pinnumber=51 T 100 1550 5 10 0 0 0 0 1 pinseq=51 } P 100 1200 400 1200 1 0 0 { T 100 1250 5 10 1 1 0 0 1 pinnumber=52 T 100 1250 5 10 0 0 0 0 1 pinseq=52 } P 1200 17300 1200 17600 1 0 1 { T 1150 17350 5 10 1 1 90 0 1 pinnumber=208 T 1150 17350 5 10 0 0 90 0 1 pinseq=208 } P 1500 17300 1500 17600 1 0 1 { T 1450 17350 5 10 1 1 90 0 1 pinnumber=207 T 1450 17350 5 10 0 0 90 0 1 pinseq=207 } P 1800 17300 1800 17600 1 0 1 { T 1750 17350 5 10 1 1 90 0 1 pinnumber=206 T 1750 17350 5 10 0 0 90 0 1 pinseq=206 } P 2100 17300 2100 17600 1 0 1 { T 2050 17350 5 10 1 1 90 0 1 pinnumber=205 T 2050 17350 5 10 0 0 90 0 1 pinseq=205 } P 2400 17300 2400 17600 1 0 1 { T 2350 17350 5 10 1 1 90 0 1 pinnumber=204 T 2350 17350 5 10 0 0 90 0 1 pinseq=204 } P 2700 17300 2700 17600 1 0 1 { T 2650 17350 5 10 1 1 90 0 1 pinnumber=203 T 2650 17350 5 10 0 0 90 0 1 pinseq=203 } P 3000 17300 3000 17600 1 0 1 { T 2950 17350 5 10 1 1 90 0 1 pinnumber=202 T 2950 17350 5 10 0 0 90 0 1 pinseq=202 } P 3300 17300 3300 17600 1 0 1 { T 3250 17350 5 10 1 1 90 0 1 pinnumber=201 T 3250 17350 5 10 0 0 90 0 1 pinseq=201 } P 3600 17300 3600 17600 1 0 1 { T 3550 17350 5 10 1 1 90 0 1 pinnumber=200 T 3550 17350 5 10 0 0 90 0 1 pinseq=200 } P 3900 17300 3900 17600 1 0 1 { T 3850 17350 5 10 1 1 90 0 1 pinnumber=199 T 3850 17350 5 10 0 0 90 0 1 pinseq=199 } P 4200 17300 4200 17600 1 0 1 { T 4150 17350 5 10 1 1 90 0 1 pinnumber=198 T 4150 17350 5 10 0 0 90 0 1 pinseq=198 } P 4500 17300 4500 17600 1 0 1 { T 4450 17350 5 10 1 1 90 0 1 pinnumber=197 T 4450 17350 5 10 0 0 90 0 1 pinseq=197 } P 4800 17300 4800 17600 1 0 1 { T 4750 17350 5 10 1 1 90 0 1 pinnumber=196 T 4750 17350 5 10 0 0 90 0 1 pinseq=196 } P 5100 17300 5100 17600 1 0 1 { T 5050 17350 5 10 1 1 90 0 1 pinnumber=195 T 5050 17350 5 10 0 0 90 0 1 pinseq=195 } P 5400 17300 5400 17600 1 0 1 { T 5350 17350 5 10 1 1 90 0 1 pinnumber=194 T 5350 17350 5 10 0 0 90 0 1 pinseq=194 } P 5700 17300 5700 17600 1 0 1 { T 5650 17350 5 10 1 1 90 0 1 pinnumber=193 T 5650 17350 5 10 0 0 90 0 1 pinseq=193 } P 6000 17300 6000 17600 1 0 1 { T 5950 17350 5 10 1 1 90 0 1 pinnumber=192 T 5950 17350 5 10 0 0 90 0 1 pinseq=192 } P 6300 17300 6300 17600 1 0 1 { T 6250 17350 5 10 1 1 90 0 1 pinnumber=191 T 6250 17350 5 10 0 0 90 0 1 pinseq=191 } P 6600 17300 6600 17600 1 0 1 { T 6550 17350 5 10 1 1 90 0 1 pinnumber=190 T 6550 17350 5 10 0 0 90 0 1 pinseq=190 } P 6900 17300 6900 17600 1 0 1 { T 6850 17350 5 10 1 1 90 0 1 pinnumber=189 T 6850 17350 5 10 0 0 90 0 1 pinseq=189 } P 7200 17300 7200 17600 1 0 1 { T 7150 17350 5 10 1 1 90 0 1 pinnumber=188 T 7150 17350 5 10 0 0 90 0 1 pinseq=188 } P 7500 17300 7500 17600 1 0 1 { T 7450 17350 5 10 1 1 90 0 1 pinnumber=187 T 7450 17350 5 10 0 0 90 0 1 pinseq=187 } P 7800 17300 7800 17600 1 0 1 { T 7750 17350 5 10 1 1 90 0 1 pinnumber=186 T 7750 17350 5 10 0 0 90 0 1 pinseq=186 } P 8100 17300 8100 17600 1 0 1 { T 8050 17350 5 10 1 1 90 0 1 pinnumber=185 T 8050 17350 5 10 0 0 90 0 1 pinseq=185 } P 8400 17300 8400 17600 1 0 1 { T 8350 17350 5 10 1 1 90 0 1 pinnumber=184 T 8350 17350 5 10 0 0 90 0 1 pinseq=184 } P 8700 17300 8700 17600 1 0 1 { T 8650 17350 5 10 1 1 90 0 1 pinnumber=183 T 8650 17350 5 10 0 0 90 0 1 pinseq=183 } P 9000 17300 9000 17600 1 0 1 { T 8950 17350 5 10 1 1 90 0 1 pinnumber=182 T 8950 17350 5 10 0 0 90 0 1 pinseq=182 } P 9300 17300 9300 17600 1 0 1 { T 9250 17350 5 10 1 1 90 0 1 pinnumber=181 T 9250 17350 5 10 0 0 90 0 1 pinseq=181 } P 9600 17300 9600 17600 1 0 1 { T 9550 17350 5 10 1 1 90 0 1 pinnumber=180 T 9550 17350 5 10 0 0 90 0 1 pinseq=180 } P 9900 17300 9900 17600 1 0 1 { T 9850 17350 5 10 1 1 90 0 1 pinnumber=179 T 9850 17350 5 10 0 0 90 0 1 pinseq=179 } P 10200 17300 10200 17600 1 0 1 { T 10150 17350 5 10 1 1 90 0 1 pinnumber=178 T 10150 17350 5 10 0 0 90 0 1 pinseq=178 } P 10500 17300 10500 17600 1 0 1 { T 10450 17350 5 10 1 1 90 0 1 pinnumber=177 T 10450 17350 5 10 0 0 90 0 1 pinseq=177 } P 10800 17300 10800 17600 1 0 1 { T 10750 17350 5 10 1 1 90 0 1 pinnumber=176 T 10750 17350 5 10 0 0 90 0 1 pinseq=176 } P 11100 17300 11100 17600 1 0 1 { T 11050 17350 5 10 1 1 90 0 1 pinnumber=175 T 11050 17350 5 10 0 0 90 0 1 pinseq=175 } P 11400 17300 11400 17600 1 0 1 { T 11350 17350 5 10 1 1 90 0 1 pinnumber=174 T 11350 17350 5 10 0 0 90 0 1 pinseq=174 } P 11700 17300 11700 17600 1 0 1 { T 11650 17350 5 10 1 1 90 0 1 pinnumber=173 T 11650 17350 5 10 0 0 90 0 1 pinseq=173 } P 12000 17300 12000 17600 1 0 1 { T 11950 17350 5 10 1 1 90 0 1 pinnumber=172 T 11950 17350 5 10 0 0 90 0 1 pinseq=172 } P 12300 17300 12300 17600 1 0 1 { T 12250 17350 5 10 1 1 90 0 1 pinnumber=171 T 12250 17350 5 10 0 0 90 0 1 pinseq=171 } P 12600 17300 12600 17600 1 0 1 { T 12550 17350 5 10 1 1 90 0 1 pinnumber=170 T 12550 17350 5 10 0 0 90 0 1 pinseq=170 } P 12900 17300 12900 17600 1 0 1 { T 12850 17350 5 10 1 1 90 0 1 pinnumber=169 T 12850 17350 5 10 0 0 90 0 1 pinseq=169 } P 13200 17300 13200 17600 1 0 1 { T 13150 17350 5 10 1 1 90 0 1 pinnumber=168 T 13150 17350 5 10 0 0 90 0 1 pinseq=168 } P 13500 17300 13500 17600 1 0 1 { T 13450 17350 5 10 1 1 90 0 1 pinnumber=167 T 13450 17350 5 10 0 0 90 0 1 pinseq=167 } P 13800 17300 13800 17600 1 0 1 { T 13750 17350 5 10 1 1 90 0 1 pinnumber=166 T 13750 17350 5 10 0 0 90 0 1 pinseq=166 } P 14100 17300 14100 17600 1 0 1 { T 14050 17350 5 10 1 1 90 0 1 pinnumber=165 T 14050 17350 5 10 0 0 90 0 1 pinseq=165 } P 14400 17300 14400 17600 1 0 1 { T 14350 17350 5 10 1 1 90 0 1 pinnumber=164 T 14350 17350 5 10 0 0 90 0 1 pinseq=164 } P 14700 17300 14700 17600 1 0 1 { T 14650 17350 5 10 1 1 90 0 1 pinnumber=163 T 14650 17350 5 10 0 0 90 0 1 pinseq=163 } P 15000 17300 15000 17600 1 0 1 { T 14950 17350 5 10 1 1 90 0 1 pinnumber=162 T 14950 17350 5 10 0 0 90 0 1 pinseq=162 } P 15300 17300 15300 17600 1 0 1 { T 15250 17350 5 10 1 1 90 0 1 pinnumber=161 T 15250 17350 5 10 0 0 90 0 1 pinseq=161 } P 15600 17300 15600 17600 1 0 1 { T 15550 17350 5 10 1 1 90 0 1 pinnumber=160 T 15550 17350 5 10 0 0 90 0 1 pinseq=160 } P 15900 17300 15900 17600 1 0 1 { T 15850 17350 5 10 1 1 90 0 1 pinnumber=159 T 15850 17350 5 10 0 0 90 0 1 pinseq=159 } P 16200 17300 16200 17600 1 0 1 { T 16150 17350 5 10 1 1 90 0 1 pinnumber=158 T 16150 17350 5 10 0 0 90 0 1 pinseq=158 } P 16500 17300 16500 17600 1 0 1 { T 16450 17350 5 10 1 1 90 0 1 pinnumber=157 T 16450 17350 5 10 0 0 90 0 1 pinseq=157 } P 1200 100 1200 400 1 0 0 { T 1150 100 5 10 1 1 90 0 1 pinnumber=53 T 1150 100 5 10 0 0 90 0 1 pinseq=53 } P 1500 100 1500 400 1 0 0 { T 1450 100 5 10 1 1 90 0 1 pinnumber=54 T 1450 100 5 10 0 0 90 0 1 pinseq=54 } P 1800 100 1800 400 1 0 0 { T 1750 100 5 10 1 1 90 0 1 pinnumber=55 T 1750 100 5 10 0 0 90 0 1 pinseq=55 } P 2100 100 2100 400 1 0 0 { T 2050 100 5 10 1 1 90 0 1 pinnumber=56 T 2050 100 5 10 0 0 90 0 1 pinseq=56 } P 2400 100 2400 400 1 0 0 { T 2350 100 5 10 1 1 90 0 1 pinnumber=57 T 2350 100 5 10 0 0 90 0 1 pinseq=57 } P 2700 100 2700 400 1 0 0 { T 2650 100 5 10 1 1 90 0 1 pinnumber=58 T 2650 100 5 10 0 0 90 0 1 pinseq=58 } P 3000 100 3000 400 1 0 0 { T 2950 100 5 10 1 1 90 0 1 pinnumber=59 T 2950 100 5 10 0 0 90 0 1 pinseq=59 } P 3300 100 3300 400 1 0 0 { T 3250 100 5 10 1 1 90 0 1 pinnumber=60 T 3250 100 5 10 0 0 90 0 1 pinseq=60 } P 3600 100 3600 400 1 0 0 { T 3550 100 5 10 1 1 90 0 1 pinnumber=61 T 3550 100 5 10 0 0 90 0 1 pinseq=61 } P 3900 100 3900 400 1 0 0 { T 3850 100 5 10 1 1 90 0 1 pinnumber=62 T 3850 100 5 10 0 0 90 0 1 pinseq=62 } P 4200 100 4200 400 1 0 0 { T 4150 100 5 10 1 1 90 0 1 pinnumber=63 T 4150 100 5 10 0 0 90 0 1 pinseq=63 } P 4500 100 4500 400 1 0 0 { T 4450 100 5 10 1 1 90 0 1 pinnumber=64 T 4450 100 5 10 0 0 90 0 1 pinseq=64 } P 4800 100 4800 400 1 0 0 { T 4750 100 5 10 1 1 90 0 1 pinnumber=65 T 4750 100 5 10 0 0 90 0 1 pinseq=65 } P 5100 100 5100 400 1 0 0 { T 5050 100 5 10 1 1 90 0 1 pinnumber=66 T 5050 100 5 10 0 0 90 0 1 pinseq=66 } P 5400 100 5400 400 1 0 0 { T 5350 100 5 10 1 1 90 0 1 pinnumber=67 T 5350 100 5 10 0 0 90 0 1 pinseq=67 } P 5700 100 5700 400 1 0 0 { T 5650 100 5 10 1 1 90 0 1 pinnumber=68 T 5650 100 5 10 0 0 90 0 1 pinseq=68 } P 6000 100 6000 400 1 0 0 { T 5950 100 5 10 1 1 90 0 1 pinnumber=69 T 5950 100 5 10 0 0 90 0 1 pinseq=69 } P 6300 100 6300 400 1 0 0 { T 6250 100 5 10 1 1 90 0 1 pinnumber=70 T 6250 100 5 10 0 0 90 0 1 pinseq=70 } P 6600 100 6600 400 1 0 0 { T 6550 100 5 10 1 1 90 0 1 pinnumber=71 T 6550 100 5 10 0 0 90 0 1 pinseq=71 } P 6900 100 6900 400 1 0 0 { T 6850 100 5 10 1 1 90 0 1 pinnumber=72 T 6850 100 5 10 0 0 90 0 1 pinseq=72 } P 7200 100 7200 400 1 0 0 { T 7150 100 5 10 1 1 90 0 1 pinnumber=73 T 7150 100 5 10 0 0 90 0 1 pinseq=73 } P 7500 100 7500 400 1 0 0 { T 7450 100 5 10 1 1 90 0 1 pinnumber=74 T 7450 100 5 10 0 0 90 0 1 pinseq=74 } P 7800 100 7800 400 1 0 0 { T 7750 100 5 10 1 1 90 0 1 pinnumber=75 T 7750 100 5 10 0 0 90 0 1 pinseq=75 } P 8100 100 8100 400 1 0 0 { T 8050 100 5 10 1 1 90 0 1 pinnumber=76 T 8050 100 5 10 0 0 90 0 1 pinseq=76 } P 8400 100 8400 400 1 0 0 { T 8350 100 5 10 1 1 90 0 1 pinnumber=77 T 8350 100 5 10 0 0 90 0 1 pinseq=77 } P 8700 100 8700 400 1 0 0 { T 8650 100 5 10 1 1 90 0 1 pinnumber=78 T 8650 100 5 10 0 0 90 0 1 pinseq=78 } P 9000 100 9000 400 1 0 0 { T 8950 100 5 10 1 1 90 0 1 pinnumber=79 T 8950 100 5 10 0 0 90 0 1 pinseq=79 } P 9300 100 9300 400 1 0 0 { T 9250 100 5 10 1 1 90 0 1 pinnumber=80 T 9250 100 5 10 0 0 90 0 1 pinseq=80 } P 9600 100 9600 400 1 0 0 { T 9550 100 5 10 1 1 90 0 1 pinnumber=81 T 9550 100 5 10 0 0 90 0 1 pinseq=81 } P 9900 100 9900 400 1 0 0 { T 9850 100 5 10 1 1 90 0 1 pinnumber=82 T 9850 100 5 10 0 0 90 0 1 pinseq=82 } P 10200 100 10200 400 1 0 0 { T 10150 100 5 10 1 1 90 0 1 pinnumber=83 T 10150 100 5 10 0 0 90 0 1 pinseq=83 } P 10500 100 10500 400 1 0 0 { T 10450 100 5 10 1 1 90 0 1 pinnumber=84 T 10450 100 5 10 0 0 90 0 1 pinseq=84 } P 10800 100 10800 400 1 0 0 { T 10750 100 5 10 1 1 90 0 1 pinnumber=85 T 10750 100 5 10 0 0 90 0 1 pinseq=85 } P 11100 100 11100 400 1 0 0 { T 11050 100 5 10 1 1 90 0 1 pinnumber=86 T 11050 100 5 10 0 0 90 0 1 pinseq=86 } P 11400 100 11400 400 1 0 0 { T 11350 100 5 10 1 1 90 0 1 pinnumber=87 T 11350 100 5 10 0 0 90 0 1 pinseq=87 } P 11700 100 11700 400 1 0 0 { T 11650 100 5 10 1 1 90 0 1 pinnumber=88 T 11650 100 5 10 0 0 90 0 1 pinseq=88 } P 12000 100 12000 400 1 0 0 { T 11950 100 5 10 1 1 90 0 1 pinnumber=89 T 11950 100 5 10 0 0 90 0 1 pinseq=89 } P 12300 100 12300 400 1 0 0 { T 12250 100 5 10 1 1 90 0 1 pinnumber=90 T 12250 100 5 10 0 0 90 0 1 pinseq=90 } P 12600 100 12600 400 1 0 0 { T 12550 100 5 10 1 1 90 0 1 pinnumber=91 T 12550 100 5 10 0 0 90 0 1 pinseq=91 } P 12900 100 12900 400 1 0 0 { T 12850 100 5 10 1 1 90 0 1 pinnumber=92 T 12850 100 5 10 0 0 90 0 1 pinseq=92 } P 13200 100 13200 400 1 0 0 { T 13150 100 5 10 1 1 90 0 1 pinnumber=93 T 13150 100 5 10 0 0 90 0 1 pinseq=93 } P 13500 100 13500 400 1 0 0 { T 13450 100 5 10 1 1 90 0 1 pinnumber=94 T 13450 100 5 10 0 0 90 0 1 pinseq=94 } P 13800 100 13800 400 1 0 0 { T 13750 100 5 10 1 1 90 0 1 pinnumber=95 T 13750 100 5 10 0 0 90 0 1 pinseq=95 } P 14100 100 14100 400 1 0 0 { T 14050 100 5 10 1 1 90 0 1 pinnumber=96 T 14050 100 5 10 0 0 90 0 1 pinseq=96 } P 14400 100 14400 400 1 0 0 { T 14350 100 5 10 1 1 90 0 1 pinnumber=97 T 14350 100 5 10 0 0 90 0 1 pinseq=97 } P 14700 100 14700 400 1 0 0 { T 14650 100 5 10 1 1 90 0 1 pinnumber=98 T 14650 100 5 10 0 0 90 0 1 pinseq=98 } P 15000 100 15000 400 1 0 0 { T 14950 100 5 10 1 1 90 0 1 pinnumber=99 T 14950 100 5 10 0 0 90 0 1 pinseq=99 } P 15300 100 15300 400 1 0 0 { T 15250 50 5 10 1 1 90 0 1 pinnumber=100 T 15250 50 5 10 0 0 90 0 1 pinseq=100 } P 15600 100 15600 400 1 0 0 { T 15550 50 5 10 1 1 90 0 1 pinnumber=101 T 15550 50 5 10 0 0 90 0 1 pinseq=101 } P 15900 100 15900 400 1 0 0 { T 15850 50 5 10 1 1 90 0 1 pinnumber=102 T 15850 50 5 10 0 0 90 0 1 pinseq=102 } P 16200 100 16200 400 1 0 0 { T 16150 50 5 10 1 1 90 0 1 pinnumber=103 T 16150 50 5 10 0 0 90 0 1 pinseq=103 } P 16500 100 16500 400 1 0 0 { T 16450 50 5 10 1 1 90 0 1 pinnumber=104 T 16450 50 5 10 0 0 90 0 1 pinseq=104 } P 17300 12600 17600 12600 1 0 1 { T 17350 12650 5 10 1 1 0 0 1 pinnumber=143 T 17350 12650 5 10 0 0 0 0 1 pinseq=143 } P 17300 12300 17600 12300 1 0 1 { T 17350 12350 5 10 1 1 0 0 1 pinnumber=142 T 17350 12350 5 10 0 0 0 0 1 pinseq=142 } P 17300 12000 17600 12000 1 0 1 { T 17350 12050 5 10 1 1 0 0 1 pinnumber=141 T 17350 12050 5 10 0 0 0 0 1 pinseq=141 } P 17300 11700 17600 11700 1 0 1 { T 17350 11750 5 10 1 1 0 0 1 pinnumber=140 T 17350 11750 5 10 0 0 0 0 1 pinseq=140 } P 17300 11400 17600 11400 1 0 1 { T 17350 11500 5 10 1 1 0 0 1 pinnumber=139 T 17350 11500 5 10 0 0 0 0 1 pinseq=139 } P 17300 11100 17600 11100 1 0 1 { T 17350 11150 5 10 1 1 0 0 1 pinnumber=138 T 17350 11150 5 10 0 0 0 0 1 pinseq=138 } P 17300 10800 17600 10800 1 0 1 { T 17350 10850 5 10 1 1 0 0 1 pinnumber=137 T 17350 10850 5 10 0 0 0 0 1 pinseq=137 } P 17300 10500 17600 10500 1 0 1 { T 17350 10550 5 10 1 1 0 0 1 pinnumber=136 T 17350 10550 5 10 0 0 0 0 1 pinseq=136 } P 17300 10200 17600 10200 1 0 1 { T 17350 10250 5 10 1 1 0 0 1 pinnumber=135 T 17350 10250 5 10 0 0 0 0 1 pinseq=135 } P 17300 9900 17600 9900 1 0 1 { T 17350 9950 5 10 1 1 0 0 1 pinnumber=134 T 17350 9950 5 10 0 0 0 0 1 pinseq=134 } P 17300 9600 17600 9600 1 0 1 { T 17350 9650 5 10 1 1 0 0 1 pinnumber=133 T 17350 9650 5 10 0 0 0 0 1 pinseq=133 } P 17300 9300 17600 9300 1 0 1 { T 17350 9350 5 10 1 1 0 0 1 pinnumber=132 T 17350 9350 5 10 0 0 0 0 1 pinseq=132 } P 17300 9000 17600 9000 1 0 1 { T 17350 9050 5 10 1 1 0 0 1 pinnumber=131 T 17350 9050 5 10 0 0 0 0 1 pinseq=131 } P 17300 16500 17600 16500 1 0 1 { T 17350 16550 5 10 1 1 0 0 1 pinnumber=156 T 17350 16550 5 10 0 0 0 0 1 pinseq=156 } P 17300 16200 17600 16200 1 0 1 { T 17350 16250 5 10 1 1 0 0 1 pinnumber=155 T 17350 16250 5 10 0 0 0 0 1 pinseq=155 } P 17300 15900 17600 15900 1 0 1 { T 17350 15950 5 10 1 1 0 0 1 pinnumber=154 T 17350 15950 5 10 0 0 0 0 1 pinseq=154 } P 17300 15600 17600 15600 1 0 1 { T 17350 15650 5 10 1 1 0 0 1 pinnumber=153 T 17350 15650 5 10 0 0 0 0 1 pinseq=153 } P 17300 15300 17600 15300 1 0 1 { T 17350 15350 5 10 1 1 0 0 1 pinnumber=152 T 17350 15350 5 10 0 0 0 0 1 pinseq=152 } P 17300 15000 17600 15000 1 0 1 { T 17350 15050 5 10 1 1 0 0 1 pinnumber=151 T 17350 15050 5 10 0 0 0 0 1 pinseq=151 } P 17300 14700 17600 14700 1 0 1 { T 17350 14750 5 10 1 1 0 0 1 pinnumber=150 T 17350 14750 5 10 0 0 0 0 1 pinseq=150 } P 17300 14400 17600 14400 1 0 1 { T 17350 14450 5 10 1 1 0 0 1 pinnumber=149 T 17350 14450 5 10 0 0 0 0 1 pinseq=149 } P 17300 14100 17600 14100 1 0 1 { T 17350 14150 5 10 1 1 0 0 1 pinnumber=148 T 17350 14150 5 10 0 0 0 0 1 pinseq=148 } P 17300 13800 17600 13800 1 0 1 { T 17350 13850 5 10 1 1 0 0 1 pinnumber=147 T 17350 13850 5 10 0 0 0 0 1 pinseq=147 } P 17300 13500 17600 13500 1 0 1 { T 17350 13550 5 10 1 1 0 0 1 pinnumber=146 T 17350 13550 5 10 0 0 0 0 1 pinseq=146 } P 17300 13200 17600 13200 1 0 1 { T 17350 13250 5 10 1 1 0 0 1 pinnumber=145 T 17350 13250 5 10 0 0 0 0 1 pinseq=145 } P 17300 12900 17600 12900 1 0 1 { T 17350 12950 5 10 1 1 0 0 1 pinnumber=144 T 17350 12950 5 10 0 0 0 0 1 pinseq=144 } P 17300 8700 17600 8700 1 0 1 { T 17350 8750 5 10 1 1 0 0 1 pinnumber=130 T 17350 8750 5 10 0 0 0 0 1 pinseq=130 } P 17300 8400 17600 8400 1 0 1 { T 17350 8450 5 10 1 1 0 0 1 pinnumber=129 T 17350 8450 5 10 0 0 0 0 1 pinseq=129 } P 17300 8100 17600 8100 1 0 1 { T 17350 8150 5 10 1 1 0 0 1 pinnumber=128 T 17350 8150 5 10 0 0 0 0 1 pinseq=128 } P 17300 7800 17600 7800 1 0 1 { T 17350 7850 5 10 1 1 0 0 1 pinnumber=127 T 17350 7850 5 10 0 0 0 0 1 pinseq=127 } P 17300 7500 17600 7500 1 0 1 { T 17350 7550 5 10 1 1 0 0 1 pinnumber=126 T 17350 7550 5 10 0 0 0 0 1 pinseq=126 } P 17300 7200 17600 7200 1 0 1 { T 17350 7250 5 10 1 1 0 0 1 pinnumber=125 T 17350 7250 5 10 0 0 0 0 1 pinseq=125 } P 17300 6900 17600 6900 1 0 1 { T 17350 6950 5 10 1 1 0 0 1 pinnumber=124 T 17350 6950 5 10 0 0 0 0 1 pinseq=124 } P 17300 6600 17600 6600 1 0 1 { T 17350 6650 5 10 1 1 0 0 1 pinnumber=123 T 17350 6650 5 10 0 0 0 0 1 pinseq=123 } P 17300 6300 17600 6300 1 0 1 { T 17350 6350 5 10 1 1 0 0 1 pinnumber=122 T 17350 6350 5 10 0 0 0 0 1 pinseq=122 } P 17300 6000 17600 6000 1 0 1 { T 17350 6050 5 10 1 1 0 0 1 pinnumber=121 T 17350 6050 5 10 0 0 0 0 1 pinseq=121 } P 17300 5700 17600 5700 1 0 1 { T 17350 5750 5 10 1 1 0 0 1 pinnumber=120 T 17350 5750 5 10 0 0 0 0 1 pinseq=120 } P 17300 5400 17600 5400 1 0 1 { T 17350 5450 5 10 1 1 0 0 1 pinnumber=119 T 17350 5450 5 10 0 0 0 0 1 pinseq=119 } P 17300 5100 17600 5100 1 0 1 { T 17350 5150 5 10 1 1 0 0 1 pinnumber=118 T 17350 5150 5 10 0 0 0 0 1 pinseq=118 } P 17300 4800 17600 4800 1 0 1 { T 17350 4850 5 10 1 1 0 0 1 pinnumber=117 T 17350 4850 5 10 0 0 0 0 1 pinseq=117 } P 17300 4500 17600 4500 1 0 1 { T 17350 4550 5 10 1 1 0 0 1 pinnumber=116 T 17350 4550 5 10 0 0 0 0 1 pinseq=116 } P 17300 4200 17600 4200 1 0 1 { T 17350 4250 5 10 1 1 0 0 1 pinnumber=115 T 17350 4250 5 10 0 0 0 0 1 pinseq=115 } P 17300 3900 17600 3900 1 0 1 { T 17350 3950 5 10 1 1 0 0 1 pinnumber=114 T 17350 3950 5 10 0 0 0 0 1 pinseq=114 } P 17300 3600 17600 3600 1 0 1 { T 17350 3650 5 10 1 1 0 0 1 pinnumber=113 T 17350 3650 5 10 0 0 0 0 1 pinseq=113 } P 17300 3300 17600 3300 1 0 1 { T 17350 3350 5 10 1 1 0 0 1 pinnumber=112 T 17350 3350 5 10 0 0 0 0 1 pinseq=112 } P 17300 3000 17600 3000 1 0 1 { T 17350 3050 5 10 1 1 0 0 1 pinnumber=111 T 17350 3050 5 10 0 0 0 0 1 pinseq=111 } P 17300 2700 17600 2700 1 0 1 { T 17350 2750 5 10 1 1 0 0 1 pinnumber=110 T 17350 2750 5 10 0 0 0 0 1 pinseq=110 } P 17300 2400 17600 2400 1 0 1 { T 17350 2450 5 10 1 1 0 0 1 pinnumber=109 T 17350 2450 5 10 0 0 0 0 1 pinseq=109 } P 17300 2100 17600 2100 1 0 1 { T 17350 2150 5 10 1 1 0 0 1 pinnumber=108 T 17350 2150 5 10 0 0 0 0 1 pinseq=108 } P 17300 1800 17600 1800 1 0 1 { T 17350 1850 5 10 1 1 0 0 1 pinnumber=107 T 17350 1850 5 10 0 0 0 0 1 pinseq=107 } P 17300 1500 17600 1500 1 0 1 { T 17350 1550 5 10 1 1 0 0 1 pinnumber=106 T 17350 1550 5 10 0 0 0 0 1 pinseq=106 } P 17300 1200 17600 1200 1 0 1 { T 17350 1250 5 10 1 1 0 0 1 pinnumber=105 T 17350 1250 5 10 0 0 0 0 1 pinseq=105 } B 400 400 16900 16900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 17300 5 10 0 1 0 0 1 device=XC2S50-6PQ208C T 16600 17650 8 10 1 1 0 0 1 refdes=U? T 500 16500 9 10 1 0 0 0 1 GND T 500 13500 9 10 1 0 0 0 1 GND T 500 11100 9 10 1 0 0 0 1 GND T 500 16200 9 10 1 0 0 0 1 TMS T 500 15900 9 10 1 0 0 0 1 I/O T 500 15600 9 10 1 0 0 0 1 I/O T 500 14400 9 10 1 0 0 0 1 I/O T 500 15000 9 10 1 0 0 0 1 I/O, VREF T 500 14100 9 10 1 0 0 0 1 I/O T 500 13800 9 10 1 0 0 0 1 I/O T 500 13200 9 10 1 0 0 0 1 VCCO T 500 12600 9 10 1 0 0 0 1 I/O T 500 12300 9 10 1 0 0 0 1 I/O T 500 12000 9 10 1 0 0 0 1 I/O T 500 11700 9 10 1 0 0 0 1 I/O T 500 11400 9 10 1 0 0 0 1 I/O T 500 15300 9 10 1 0 0 0 1 I/O T 500 10800 9 10 1 0 0 0 1 I/O, VREF T 500 10500 9 10 1 0 0 0 1 I/O T 500 10200 9 10 1 0 0 0 1 I/O T 500 9900 9 10 1 0 0 0 1 I/O T 500 9600 9 10 1 0 0 0 1 I/O, IRDY T 500 1500 9 10 1 0 0 0 1 GND T 500 4800 9 10 1 0 0 0 1 GND T 500 7200 9 10 1 0 0 0 1 GND T 500 9300 9 10 1 0 0 0 1 GND T 500 9000 9 10 1 0 0 0 1 VCCO T 500 5100 9 10 1 0 0 0 1 VCCO T 500 8400 9 10 1 0 0 0 1 VCCINT T 500 7500 9 10 1 0 0 0 1 I/O, VREF T 500 3300 9 10 1 0 0 0 1 I/O, VREF T 500 8700 9 10 1 0 0 0 1 I/O, TRDY T 500 8100 9 10 1 0 0 0 1 I/O T 500 7800 9 10 1 0 0 0 1 I/O T 500 6900 9 10 1 0 0 0 1 I/O T 500 6600 9 10 1 0 0 0 1 I/O T 500 6300 9 10 1 0 0 0 1 I/O T 500 6000 9 10 1 0 0 0 1 I/O T 500 5700 9 10 1 0 0 0 1 I/O T 500 4500 9 10 1 0 0 0 1 I/O T 500 4200 9 10 1 0 0 0 1 I/O T 500 3900 9 10 1 0 0 0 1 I/O T 500 3000 9 10 1 0 0 0 1 I/O T 500 2700 9 10 1 0 0 0 1 I/O T 500 2400 9 10 1 0 0 0 1 I/O T 500 2100 9 10 1 0 0 0 1 I/O T 500 1800 9 10 1 0 0 0 1 M1 T 500 1200 9 10 1 0 0 0 1 M0 T 500 3600 9 10 1 0 0 0 1 I/O T 500 14700 9 10 1 0 0 0 1 I/O T 500 12900 9 10 1 0 0 0 1 VCCINT T 500 5400 9 10 1 0 0 0 1 VCCINT T 16600 17450 9 10 1 0 0 0 1 XC2S50-6PQ208C T 1200 500 9 10 1 0 90 0 1 VCCO T 1500 500 9 10 1 0 90 0 1 M2 T 2400 500 9 10 1 0 90 0 1 I/O T 2700 500 9 10 1 0 90 0 1 I/O T 3000 500 9 10 1 0 90 0 1 I/O, VREF T 3300 500 9 10 1 0 90 0 1 I/O T 3600 500 9 10 1 0 90 0 1 I/O T 3900 500 9 10 1 0 90 0 1 I/O T 4200 500 9 10 1 0 90 0 1 I/O T 4500 500 9 10 1 0 90 0 1 GND T 4800 500 9 10 1 0 90 0 1 VCCO T 5100 500 9 10 1 0 90 0 1 VCCINT T 5400 500 9 10 1 0 90 0 1 I/O T 5700 500 9 10 1 0 90 0 1 I/O T 6000 500 9 10 1 0 90 0 1 I/O T 6300 500 9 10 1 0 90 0 1 I/O T 6600 500 9 10 1 0 90 0 1 I/O T 6900 500 9 10 1 0 90 0 1 GND T 7200 500 9 10 1 0 90 0 1 I/O, VREF T 7500 500 9 10 1 0 90 0 1 I/O T 7800 500 9 10 1 0 90 0 1 I/O T 8100 500 9 10 1 0 90 0 1 VCCINT T 8400 500 9 10 1 0 90 0 1 I, GCK1 T 9300 500 9 10 1 0 90 0 1 I, GCK0 T 8700 500 9 10 1 0 90 0 1 VCCO T 9000 500 9 10 1 0 90 0 1 GND T 9600 500 9 10 1 0 90 0 1 I/O T 9900 500 9 10 1 0 90 0 1 I/O T 10200 500 9 10 1 0 90 0 1 I/O T 10500 500 9 10 1 0 90 0 1 I/O, VREF T 10800 500 9 10 1 0 90 0 1 GND T 11100 500 9 10 1 0 90 0 1 I/O T 11400 500 9 10 1 0 90 0 1 I/O T 11700 500 9 10 1 0 90 0 1 I/O T 12000 500 9 10 1 0 90 0 1 I/O T 12300 500 9 10 1 0 90 0 1 I/O T 12600 500 9 10 1 0 90 0 1 VCCINT T 12900 500 9 10 1 0 90 0 1 VCCO T 13200 500 9 10 1 0 90 0 1 GND T 13500 500 9 10 1 0 90 0 1 I/O T 13800 500 9 10 1 0 90 0 1 I/O T 14100 500 9 10 1 0 90 0 1 I/O T 14400 500 9 10 1 0 90 0 1 I/O T 14700 500 9 10 1 0 90 0 1 I/O, VREF T 15000 500 9 10 1 0 90 0 1 I/O T 15300 500 9 10 1 0 90 0 1 I/O T 15600 500 9 10 1 0 90 0 1 I/O T 15900 500 9 10 1 0 90 0 1 I/O T 16200 500 9 10 1 0 90 0 1 GND T 16500 500 9 10 1 0 90 0 1 DONE T 17200 1200 9 10 1 0 0 6 1 VCCO T 17200 1500 9 10 1 0 0 6 1 PROGRAM T 17200 1800 9 10 1 0 0 6 1 I/O (INIT) T 17200 2100 9 10 1 0 0 6 1 I/O (D7) T 17200 2400 9 10 1 0 0 6 1 I/O T 17200 2700 9 10 1 0 0 6 1 I/O T 17200 3000 9 10 1 0 0 6 1 I/O, VREF T 17200 3300 9 10 1 0 0 6 1 I/O T 17200 3600 9 10 1 0 0 6 1 I/O T 17200 3900 9 10 1 0 0 6 1 I/O T 17200 4200 9 10 1 0 0 6 1 I/O (D6) T 17200 4500 9 10 1 0 0 6 1 GND T 17200 4800 9 10 1 0 0 6 1 VCCO T 17200 5100 9 10 1 0 0 6 1 VCCINT T 17200 5400 9 10 1 0 0 6 1 I/O (D5) T 17200 5700 9 10 1 0 0 6 1 I/O T 17200 6000 9 10 1 0 0 6 1 I/O T 17200 6300 9 10 1 0 0 6 1 I/O T 17200 6600 9 10 1 0 0 6 1 I/O T 17200 6900 9 10 1 0 0 6 1 GND T 17200 7200 9 10 1 0 0 6 1 I/O, VREF T 17200 7500 9 10 1 0 0 6 1 I/O (D4) T 17200 7800 9 10 1 0 0 6 1 I/O T 17200 8100 9 10 1 0 0 6 1 VCCINT T 17200 8400 9 10 1 0 0 6 1 I/O, TRDY T 17200 8700 9 10 1 0 0 6 1 VCCO T 17200 9000 9 10 1 0 0 6 1 GND T 17200 9300 9 10 1 0 0 6 1 I/O, IRDY T 17200 9600 9 10 1 0 0 6 1 I/O T 17200 9900 9 10 1 0 0 6 1 I/O T 17200 10200 9 10 1 0 0 6 1 I/O (D3) T 17200 10500 9 10 1 0 0 6 1 I/O, VREF T 17200 10800 9 10 1 0 0 6 1 GND T 17200 11100 9 10 1 0 0 6 1 I/O T 17200 11400 9 10 1 0 0 6 1 I/O T 17200 11700 9 10 1 0 0 6 1 I/O T 17200 12000 9 10 1 0 0 6 1 I/O T 17200 12300 9 10 1 0 0 6 1 I/O (D2) T 17200 12600 9 10 1 0 0 6 1 VCCINT T 17200 12900 9 10 1 0 0 6 1 VCCO T 17200 13200 9 10 1 0 0 6 1 GND T 17200 13500 9 10 1 0 0 6 1 I/O (D1) T 17200 13800 9 10 1 0 0 6 1 I/O T 17200 14100 9 10 1 0 0 6 1 I/O T 17200 14400 9 10 1 0 0 6 1 I/O T 17200 14700 9 10 1 0 0 6 1 I/O, VREF T 17200 15000 9 10 1 0 0 6 1 I/O T 17200 15300 9 10 1 0 0 6 1 I/O T 17200 15600 9 10 1 0 0 6 1 I/O (DIN, D0) T 17200 15900 9 10 1 0 0 6 1 I/O (DOUT, BUSY) T 17200 16200 9 10 1 0 0 6 1 CCLK T 17200 16500 9 10 1 0 0 6 1 VCCO T 16500 17200 9 10 1 0 90 6 1 TDO T 16200 17200 9 10 1 0 90 6 1 GND T 15900 17200 9 10 1 0 90 6 1 TDI T 15600 17200 9 10 1 0 90 6 1 I/O (CS) T 15300 17200 9 10 1 0 90 6 1 I/O (WRITE) T 15000 17200 9 10 1 0 90 6 1 I/O T 14700 17200 9 10 1 0 90 6 1 I/O T 14400 17200 9 10 1 0 90 6 1 I/O, VREF T 14100 17200 9 10 1 0 90 6 1 I/O T 13800 17200 9 10 1 0 90 6 1 I/O T 13500 17200 9 10 1 0 90 6 1 I/O T 13200 17200 9 10 1 0 90 6 1 I/O T 12900 17200 9 10 1 0 90 6 1 GND T 12600 17200 9 10 1 0 90 6 1 VCCO T 12300 17200 9 10 1 0 90 6 1 VCCINT T 12000 17200 9 10 1 0 90 6 1 I/O T 11700 17200 9 10 1 0 90 6 1 I/O T 11400 17200 9 10 1 0 90 6 1 I/O T 11100 17200 9 10 1 0 90 6 1 I/O T 10800 17200 9 10 1 0 90 6 1 I/O T 10500 17200 9 10 1 0 90 6 1 GND T 10200 17200 9 10 1 0 90 6 1 I/O, VREF T 9900 17200 9 10 1 0 90 6 1 I/O T 9600 17200 9 10 1 0 90 6 1 I/O T 9300 17200 9 10 1 0 90 6 1 I/O T 9000 17200 9 10 1 0 90 6 1 I, GCK2 T 8100 17200 9 10 1 0 90 6 1 I, GCK3 T 8700 17200 9 10 1 0 90 6 1 GND T 8400 17200 9 10 1 0 90 6 1 VCCO T 7800 17200 9 10 1 0 90 6 1 VCCINT T 7500 17200 9 10 1 0 90 6 1 I/O T 7200 17200 9 10 1 0 90 6 1 I/O T 6900 17200 9 10 1 0 90 6 1 I/O, VREF T 6600 17200 9 10 1 0 90 6 1 GND T 6300 17200 9 10 1 0 90 6 1 I/O T 6000 17200 9 10 1 0 90 6 1 I/O T 5700 17200 9 10 1 0 90 6 1 I/O T 5400 17200 9 10 1 0 90 6 1 I/O T 5100 17200 9 10 1 0 90 6 1 I/O T 4800 17200 9 10 1 0 90 6 1 VCCINT T 4500 17200 9 10 1 0 90 6 1 VCCO T 4200 17200 9 10 1 0 90 6 1 GND T 3900 17200 9 10 1 0 90 6 1 I/O T 3600 17200 9 10 1 0 90 6 1 I/O T 3300 17200 9 10 1 0 90 6 1 I/O T 3000 17200 9 10 1 0 90 6 1 I/O T 2700 17200 9 10 1 0 90 6 1 I/O, VREF T 2400 17200 9 10 1 0 90 6 1 I/O T 2100 17200 9 10 1 0 90 6 1 I/O T 1800 17200 9 10 1 0 90 6 1 I/O T 1500 17200 9 10 1 0 90 6 1 TCK T 1200 17200 9 10 1 0 90 6 1 VCCO L 1100 9100 2600 9100 3 0 0 0 -1 -1 L 900 16800 2600 15100 3 0 0 0 -1 -1 L 1100 1100 2600 2600 3 0 0 0 -1 -1 L 8600 1100 8600 2600 3 0 0 0 -1 -1 L 16600 1100 15100 2600 3 0 0 0 -1 -1 L 16600 8600 15100 8600 3 0 0 0 -1 -1 L 16600 16600 15100 15100 3 0 0 0 -1 -1 L 8400 16600 8400 15100 3 0 0 0 -1 -1 T 1600 12800 9 30 1 0 0 0 1 BANK7 T 1600 5200 9 30 1 0 0 0 1 BANK6 T 4100 1600 9 30 1 0 0 0 1 BANK5 T 11600 1600 9 30 1 0 0 0 1 BANK4 T 14100 5100 9 30 1 0 0 0 1 BANK3 T 14100 12800 9 30 1 0 0 0 1 BANK2 T 11600 15700 9 30 1 0 0 0 1 BANK1 T 3600 15700 9 30 1 0 0 0 1 BANK0 geda-gaf-1.8.2/symbols/xilinx/XC95108-PC84.sym0000664000175000017500000003314112204104273015227 00000000000000v 20060906 1 P 400 300 0 300 1 0 1 { T 173 386 5 8 1 1 0 0 1 pinnumber=28 T 173 386 5 8 0 0 0 0 1 pinseq=28 T 500 400 3 10 1 1 0 0 1 pinlabel=TDI } P 400 1500 0 1500 1 0 1 { T 185 1578 5 8 1 1 0 0 1 pinnumber=30 T 185 1578 5 8 0 0 0 0 1 pinseq=30 T 500 1600 3 10 1 1 0 0 1 pinlabel=TCK } P 400 900 0 900 1 0 1 { T 171 993 5 8 1 1 0 0 1 pinnumber=29 T 171 993 5 8 0 0 0 0 1 pinseq=29 T 500 1000 3 10 1 1 0 0 1 pinlabel=TMS } P 4800 300 5300 300 1 0 1 { T 4898 393 5 8 1 1 0 0 1 pinnumber=59 T 4898 393 5 8 0 0 0 0 1 pinseq=59 T 4400 400 3 10 1 1 0 0 1 pinlabel=TDO } T 1800 1100 3 10 1 0 0 0 1 JTAG INTERFACE T 1500 3600 3 10 1 0 0 0 1 GLOBAL SIGNALS P 400 2500 0 2500 1 0 1 { T 181 2574 5 8 1 1 0 0 1 pinnumber=74 T 181 2574 5 8 0 0 0 0 1 pinseq=74 T 500 2500 3 10 1 1 0 0 1 pinlabel=GSR } P 400 3200 0 3200 1 0 1 { T 203 3253 5 8 1 1 0 0 1 pinnumber=12 T 203 3253 5 8 0 0 0 0 1 pinseq=12 T 500 3200 3 10 1 1 0 0 1 pinlabel=GCK3 } P 400 3700 0 3700 1 0 1 { T 209 3764 5 8 1 1 0 0 1 pinnumber=10 T 209 3764 5 8 0 0 0 0 1 pinseq=10 T 500 3700 3 10 1 1 0 0 1 pinlabel=GCK2 } P 400 4200 0 4200 1 0 1 { T 251 4263 5 8 1 1 0 0 1 pinnumber=9 T 251 4263 5 8 0 0 0 0 1 pinseq=9 T 500 4200 3 10 1 1 0 0 1 pinlabel=GCK1 } T 2191 3275 3 10 1 0 0 0 1 I/O L 3100 3200 3600 3200 3 0 0 0 -1 -1 L 3100 3000 3600 3000 3 0 0 0 -1 -1 L 3500 3300 3700 3100 3 0 0 0 -1 -1 L 3700 3100 3500 2900 3 0 0 0 -1 -1 L 3200 3300 3000 3100 3 0 0 0 -1 -1 L 3000 3100 3200 2900 3 0 0 0 -1 -1 P 4800 3200 5300 3200 1 0 1 { T 4868 3263 5 8 1 1 0 0 1 pinnumber=77 T 4868 3263 5 8 0 0 0 0 1 pinseq=77 T 4200 3100 3 10 1 1 0 0 1 pinlabel=GTS2 } P 4800 3700 5300 3700 1 0 1 { T 4905 3756 5 8 1 1 0 0 1 pinnumber=76 T 4905 3756 5 8 0 0 0 0 1 pinseq=76 T 4300 3700 3 10 1 1 0 0 1 pinlabel=GTS1 } L 1500 4200 2000 4200 3 0 0 0 -1 -1 L 1500 4000 2000 4000 3 0 0 0 -1 -1 L 1900 4300 2100 4100 3 0 0 0 -1 -1 L 2100 4100 1900 3900 3 0 0 0 -1 -1 L 1600 4300 1400 4100 3 0 0 0 -1 -1 L 1400 4100 1600 3900 3 0 0 0 -1 -1 L 1200 1700 1700 1700 3 0 0 0 -1 -1 L 1200 1500 1700 1500 3 0 0 0 -1 -1 L 1300 1800 1100 1600 3 0 0 0 -1 -1 L 1100 1600 1300 1400 3 0 0 0 -1 -1 L 3800 600 3300 600 3 0 0 0 -1 -1 L 3800 400 3300 400 3 0 0 0 -1 -1 L 3700 700 3900 500 3 0 0 0 -1 -1 L 3900 500 3700 300 3 0 0 0 -1 -1 T 1800 7700 3 10 1 0 0 0 1 I/O SIGNALS L 1400 9500 1900 9500 3 0 0 0 -1 -1 L 1400 9300 1900 9300 3 0 0 0 -1 -1 L 1800 9600 2000 9400 3 0 0 0 -1 -1 L 2000 9400 1800 9200 3 0 0 0 -1 -1 L 1500 9600 1300 9400 3 0 0 0 -1 -1 L 1300 9400 1500 9200 3 0 0 0 -1 -1 L 3200 5800 3700 5800 3 0 0 0 -1 -1 L 3200 5600 3700 5600 3 0 0 0 -1 -1 L 3600 5900 3800 5700 3 0 0 0 -1 -1 L 3800 5700 3600 5500 3 0 0 0 -1 -1 L 3300 5900 3100 5700 3 0 0 0 -1 -1 L 3100 5700 3300 5500 3 0 0 0 -1 -1 P 4800 5500 5300 5500 1 0 1 { T 4905 5556 5 8 1 1 0 0 1 pinnumber=56 T 4905 5556 5 8 0 0 0 0 1 pinseq=56 T 4500 5600 3 10 1 1 0 0 1 pinlabel=56 } P 4800 6000 5300 6000 1 0 1 { T 4905 6056 5 8 1 1 0 0 1 pinnumber=55 T 4905 6056 5 8 0 0 0 0 1 pinseq=55 T 4500 6100 3 10 1 1 0 0 1 pinlabel=55 } P 4800 6500 5300 6500 1 0 1 { T 4905 6556 5 8 1 1 0 0 1 pinnumber=54 T 4905 6556 5 8 0 0 0 0 1 pinseq=54 T 4500 6600 3 10 1 1 0 0 1 pinlabel=54 } P 4800 7000 5300 7000 1 0 1 { T 4905 7056 5 8 1 1 0 0 1 pinnumber=53 T 4905 7056 5 8 0 0 0 0 1 pinseq=53 T 4500 7100 3 10 1 1 0 0 1 pinlabel=53 } P 4800 7500 5300 7500 1 0 1 { T 4905 7556 5 8 1 1 0 0 1 pinnumber=52 T 4905 7556 5 8 0 0 0 0 1 pinseq=52 T 4500 7600 3 10 1 1 0 0 1 pinlabel=52 } P 400 5500 0 5500 1 0 1 { T 151 5563 5 8 1 1 0 0 1 pinnumber=44 T 151 5563 5 8 0 0 0 0 1 pinseq=44 T 600 5600 3 10 1 1 0 0 1 pinlabel=44 } P 400 6000 0 6000 1 0 1 { T 151 6063 5 8 1 1 0 0 1 pinnumber=43 T 151 6063 5 8 0 0 0 0 1 pinseq=43 T 600 6100 3 10 1 1 0 0 1 pinlabel=43 } P 400 6500 0 6500 1 0 1 { T 151 6563 5 8 1 1 0 0 1 pinnumber=41 T 151 6563 5 8 0 0 0 0 1 pinseq=41 T 600 6600 3 10 1 1 0 0 1 pinlabel=41 } P 400 7000 0 7000 1 0 1 { T 151 7063 5 8 1 1 0 0 1 pinnumber=40 T 151 7063 5 8 0 0 0 0 1 pinseq=40 T 600 7100 3 10 1 1 0 0 1 pinlabel=40 } P 400 7500 0 7500 1 0 1 { T 151 7563 5 8 1 1 0 0 1 pinnumber=39 T 151 7563 5 8 0 0 0 0 1 pinseq=39 T 600 7600 3 10 1 1 0 0 1 pinlabel=39 } P 4800 8000 5300 8000 1 0 1 { T 4905 8056 5 8 1 1 0 0 1 pinnumber=51 T 4905 8056 5 8 0 0 0 0 1 pinseq=51 T 4500 8100 3 10 1 1 0 0 1 pinlabel=51 } P 4800 8500 5300 8500 1 0 1 { T 4905 8556 5 8 1 1 0 0 1 pinnumber=50 T 4905 8556 5 8 0 0 0 0 1 pinseq=50 T 4500 8600 3 10 1 1 0 0 1 pinlabel=50 } P 4800 9000 5300 9000 1 0 1 { T 4905 9056 5 8 1 1 0 0 1 pinnumber=48 T 4905 9056 5 8 0 0 0 0 1 pinseq=48 T 4500 9100 3 10 1 1 0 0 1 pinlabel=48 } P 4800 9500 5300 9500 1 0 1 { T 4905 9556 5 8 1 1 0 0 1 pinnumber=47 T 4905 9556 5 8 0 0 0 0 1 pinseq=47 T 4500 9600 3 10 1 1 0 0 1 pinlabel=47 } P 4800 10000 5300 10000 1 0 1 { T 4905 10056 5 8 1 1 0 0 1 pinnumber=46 T 4905 10056 5 8 0 0 0 0 1 pinseq=46 T 4500 10100 3 10 1 1 0 0 1 pinlabel=46 } P 400 8000 0 8000 1 0 1 { T 151 8063 5 8 1 1 0 0 1 pinnumber=37 T 151 8063 5 8 0 0 0 0 1 pinseq=37 T 600 8100 3 10 1 1 0 0 1 pinlabel=37 } P 400 8500 0 8500 1 0 1 { T 151 8563 5 8 1 1 0 0 1 pinnumber=36 T 151 8563 5 8 0 0 0 0 1 pinseq=36 T 600 8600 3 10 1 1 0 0 1 pinlabel=36 } P 400 9000 0 9000 1 0 1 { T 151 9063 5 8 1 1 0 0 1 pinnumber=35 T 151 9063 5 8 0 0 0 0 1 pinseq=35 T 600 9100 3 10 1 1 0 0 1 pinlabel=35 } P 400 9500 0 9500 1 0 1 { T 151 9563 5 8 1 1 0 0 1 pinnumber=34 T 151 9563 5 8 0 0 0 0 1 pinseq=34 T 600 9600 3 10 1 1 0 0 1 pinlabel=34 } P 400 10000 0 10000 1 0 1 { T 151 10063 5 8 1 1 0 0 1 pinnumber=33 T 151 10063 5 8 0 0 0 0 1 pinseq=33 T 600 10100 3 10 1 1 0 0 1 pinlabel=33 } P 4800 10500 5300 10500 1 0 1 { T 4905 10556 5 8 1 1 0 0 1 pinnumber=45 T 4905 10556 5 8 0 0 0 0 1 pinseq=45 T 4500 10600 3 10 1 1 0 0 1 pinlabel=45 } P 4800 11500 5300 11500 1 0 1 { T 4905 11556 5 8 1 1 0 0 1 pinnumber=70 T 4905 11556 5 8 0 0 0 0 1 pinseq=70 T 4500 11600 3 10 1 1 0 0 1 pinlabel=70 } P 4800 12000 5300 12000 1 0 1 { T 4905 12056 5 8 1 1 0 0 1 pinnumber=69 T 4905 12056 5 8 0 0 0 0 1 pinseq=69 T 4500 12100 3 10 1 1 0 0 1 pinlabel=69 } P 4800 12500 5300 12500 1 0 1 { T 4905 12556 5 8 1 1 0 0 1 pinnumber=68 T 4905 12556 5 8 0 0 0 0 1 pinseq=68 T 4500 12600 3 10 1 1 0 0 1 pinlabel=68 } P 4800 13000 5300 13000 1 0 1 { T 4905 13056 5 8 1 1 0 0 1 pinnumber=67 T 4905 13056 5 8 0 0 0 0 1 pinseq=67 T 4500 13100 3 10 1 1 0 0 1 pinlabel=67 } P 400 10500 0 10500 1 0 1 { T 151 10563 5 8 1 1 0 0 1 pinnumber=32 T 151 10563 5 8 0 0 0 0 1 pinseq=32 T 600 10600 3 10 1 1 0 0 1 pinlabel=32 } P 400 11500 0 11500 1 0 1 { T 151 11563 5 8 1 1 0 0 1 pinnumber=31 T 151 11563 5 8 0 0 0 0 1 pinseq=31 T 600 11600 3 10 1 1 0 0 1 pinlabel=31 } P 400 12000 0 12000 1 0 1 { T 151 12063 5 8 1 1 0 0 1 pinnumber=26 T 151 12063 5 8 0 0 0 0 1 pinseq=26 T 600 12100 3 10 1 1 0 0 1 pinlabel=26 } P 400 12500 0 12500 1 0 1 { T 151 12563 5 8 1 1 0 0 1 pinnumber=25 T 151 12563 5 8 0 0 0 0 1 pinseq=25 T 600 12600 3 10 1 1 0 0 1 pinlabel=25 } P 400 13000 0 13000 1 0 1 { T 151 13063 5 8 1 1 0 0 1 pinnumber=24 T 151 13063 5 8 0 0 0 0 1 pinseq=24 T 600 13100 3 10 1 1 0 0 1 pinlabel=24 } P 4800 13500 5300 13500 1 0 1 { T 4905 13556 5 8 1 1 0 0 1 pinnumber=66 T 4905 13556 5 8 0 0 0 0 1 pinseq=66 T 4500 13600 3 10 1 1 0 0 1 pinlabel=66 } P 4800 14000 5300 14000 1 0 1 { T 4905 14056 5 8 1 1 0 0 1 pinnumber=65 T 4905 14056 5 8 0 0 0 0 1 pinseq=65 T 4500 14100 3 10 1 1 0 0 1 pinlabel=65 } P 4800 14500 5300 14500 1 0 1 { T 4905 14556 5 8 1 1 0 0 1 pinnumber=63 T 4905 14556 5 8 0 0 0 0 1 pinseq=63 T 4500 14600 3 10 1 1 0 0 1 pinlabel=63 } P 4800 15000 5300 15000 1 0 1 { T 4905 15056 5 8 1 1 0 0 1 pinnumber=62 T 4905 15056 5 8 0 0 0 0 1 pinseq=62 T 4500 15100 3 10 1 1 0 0 1 pinlabel=62 } P 4800 15500 5300 15500 1 0 1 { T 4905 15556 5 8 1 1 0 0 1 pinnumber=61 T 4905 15556 5 8 0 0 0 0 1 pinseq=61 T 4500 15600 3 10 1 1 0 0 1 pinlabel=61 } P 400 13500 0 13500 1 0 1 { T 151 13563 5 8 1 1 0 0 1 pinnumber=23 T 151 13563 5 8 0 0 0 0 1 pinseq=23 T 600 13700 3 10 1 1 0 0 1 pinlabel=23 } P 400 14000 0 14000 1 0 1 { T 151 14063 5 8 1 1 0 0 1 pinnumber=21 T 151 14063 5 8 0 0 0 0 1 pinseq=21 T 600 14100 3 10 1 1 0 0 1 pinlabel=21 } P 400 14500 0 14500 1 0 1 { T 151 14563 5 8 1 1 0 0 1 pinnumber=20 T 151 14563 5 8 0 0 0 0 1 pinseq=20 T 600 14600 3 10 1 1 0 0 1 pinlabel=20 } P 400 15000 0 15000 1 0 1 { T 151 15063 5 8 1 1 0 0 1 pinnumber=19 T 151 15063 5 8 0 0 0 0 1 pinseq=19 T 600 15100 3 10 1 1 0 0 1 pinlabel=19 } P 400 15500 0 15500 1 0 1 { T 151 15563 5 8 1 1 0 0 1 pinnumber=18 T 151 15563 5 8 0 0 0 0 1 pinseq=18 T 600 15600 3 10 1 1 0 0 1 pinlabel=18 } P 4800 16000 5300 16000 1 0 1 { T 4905 16056 5 8 1 1 0 0 1 pinnumber=58 T 4905 16056 5 8 0 0 0 0 1 pinseq=58 T 4500 16100 3 10 1 1 0 0 1 pinlabel=58 } P 4800 16500 5300 16500 1 0 1 { T 4905 16556 5 8 1 1 0 0 1 pinnumber=57 T 4905 16556 5 8 0 0 0 0 1 pinseq=57 T 4500 16600 3 10 1 1 0 0 1 pinlabel=57 } P 4800 18000 5300 18000 1 0 1 { T 4905 18056 5 8 1 1 0 0 1 pinnumber=84 T 4905 18056 5 8 0 0 0 0 1 pinseq=84 T 4500 18100 3 10 1 1 0 0 1 pinlabel=84 } P 4800 18500 5300 18500 1 0 1 { T 4905 18556 5 8 1 1 0 0 1 pinnumber=83 T 4905 18556 5 8 0 0 0 0 1 pinseq=83 T 4500 18600 3 10 1 1 0 0 1 pinlabel=83 } P 4800 19000 5300 19000 1 0 1 { T 4905 19056 5 8 1 1 0 0 1 pinnumber=82 T 4905 19056 5 8 0 0 0 0 1 pinseq=82 T 4500 19100 3 10 1 1 0 0 1 pinlabel=82 } P 4800 19500 5300 19500 1 0 1 { T 4905 19556 5 8 1 1 0 0 1 pinnumber=81 T 4905 19556 5 8 0 0 0 0 1 pinseq=81 T 4500 19600 3 10 1 1 0 0 1 pinlabel=81 } P 4800 20000 5300 20000 1 0 1 { T 4905 20056 5 8 1 1 0 0 1 pinnumber=80 T 4905 20056 5 8 0 0 0 0 1 pinseq=80 T 4500 20100 3 10 1 1 0 0 1 pinlabel=80 } P 4800 20500 5300 20500 1 0 1 { T 4905 20556 5 8 1 1 0 0 1 pinnumber=79 T 4905 20556 5 8 0 0 0 0 1 pinseq=79 T 4500 20600 3 10 1 1 0 0 1 pinlabel=79 } P 4800 21000 5300 21000 1 0 1 { T 4905 21056 5 8 1 1 0 0 1 pinnumber=75 T 4905 21056 5 8 0 0 0 0 1 pinseq=75 T 4500 21100 3 10 1 1 0 0 1 pinlabel=75 } P 4800 21500 5300 21500 1 0 1 { T 4905 21556 5 8 1 1 0 0 1 pinnumber=72 T 4905 21556 5 8 0 0 0 0 1 pinseq=72 T 4500 21600 3 10 1 1 0 0 1 pinlabel=72 } P 400 16000 0 16000 1 0 1 { T 151 16063 5 8 1 1 0 0 1 pinnumber=17 T 151 16063 5 8 0 0 0 0 1 pinseq=17 T 600 16100 3 10 1 1 0 0 1 pinlabel=17 } P 400 16500 0 16500 1 0 1 { T 151 16563 5 8 1 1 0 0 1 pinnumber=15 T 151 16563 5 8 0 0 0 0 1 pinseq=15 T 600 16600 3 10 1 1 0 0 1 pinlabel=15 } P 400 17000 0 17000 1 0 1 { T 151 17063 5 8 1 1 0 0 1 pinnumber=14 T 151 17063 5 8 0 0 0 0 1 pinseq=14 T 600 17100 3 10 1 1 0 0 1 pinlabel=14 } P 400 18000 0 18000 1 0 1 { T 151 18063 5 8 1 1 0 0 1 pinnumber=13 T 151 18063 5 8 0 0 0 0 1 pinseq=13 T 600 18100 3 10 1 1 0 0 1 pinlabel=13 } P 400 18500 0 18500 1 0 1 { T 151 18563 5 8 1 1 0 0 1 pinnumber=11 T 151 18563 5 8 0 0 0 0 1 pinseq=11 T 600 18600 3 10 1 1 0 0 1 pinlabel=11 } P 400 19000 0 19000 1 0 1 { T 151 19063 5 8 1 1 0 0 1 pinnumber=7 T 151 19063 5 8 0 0 0 0 1 pinseq=7 T 600 19100 3 10 1 1 0 0 1 pinlabel=7 } P 400 19500 0 19500 1 0 1 { T 151 19563 5 8 1 1 0 0 1 pinnumber=6 T 151 19563 5 8 0 0 0 0 1 pinseq=6 T 600 19600 3 10 1 1 0 0 1 pinlabel=6 } P 400 20000 0 20000 1 0 1 { T 151 20063 5 8 1 1 0 0 1 pinnumber=5 T 151 20063 5 8 0 0 0 0 1 pinseq=5 T 600 20100 3 10 1 1 0 0 1 pinlabel=5 } P 400 20500 0 20500 1 0 1 { T 151 20563 5 8 1 1 0 0 1 pinnumber=4 T 151 20563 5 8 0 0 0 0 1 pinseq=4 T 600 20600 3 10 1 1 0 0 1 pinlabel=4 } P 400 21000 0 21000 1 0 1 { T 151 21063 5 8 1 1 0 0 1 pinnumber=3 T 151 21063 5 8 0 0 0 0 1 pinseq=3 T 600 21100 3 10 1 1 0 0 1 pinlabel=3 } P 4800 22000 5300 22000 1 0 1 { T 4905 22056 5 8 1 1 0 0 1 pinnumber=71 T 4905 22056 5 8 0 0 0 0 1 pinseq=71 T 4500 22100 3 10 1 1 0 0 1 pinlabel=71 } L 1300 15200 1800 15200 3 0 0 0 -1 -1 L 1300 15000 1800 15000 3 0 0 0 -1 -1 L 1700 15300 1900 15100 3 0 0 0 -1 -1 L 1900 15100 1700 14900 3 0 0 0 -1 -1 L 1400 15300 1200 15100 3 0 0 0 -1 -1 L 1200 15100 1400 14900 3 0 0 0 -1 -1 L 3000 11900 3500 11900 3 0 0 0 -1 -1 L 3000 11700 3500 11700 3 0 0 0 -1 -1 L 3400 12000 3600 11800 3 0 0 0 -1 -1 L 3600 11800 3400 11600 3 0 0 0 -1 -1 L 3100 12000 2900 11800 3 0 0 0 -1 -1 L 2900 11800 3100 11600 3 0 0 0 -1 -1 T 1600 13400 3 10 1 0 0 0 1 I/O SIGNALS L 1400 20600 1900 20600 3 0 0 0 -1 -1 L 1400 20400 1900 20400 3 0 0 0 -1 -1 L 1800 20700 2000 20500 3 0 0 0 -1 -1 L 2000 20500 1800 20300 3 0 0 0 -1 -1 L 1500 20700 1300 20500 3 0 0 0 -1 -1 L 1300 20500 1500 20300 3 0 0 0 -1 -1 L 2900 18300 3400 18300 3 0 0 0 -1 -1 L 2900 18100 3400 18100 3 0 0 0 -1 -1 L 3300 18400 3500 18200 3 0 0 0 -1 -1 L 3500 18200 3300 18000 3 0 0 0 -1 -1 L 3000 18400 2800 18200 3 0 0 0 -1 -1 L 2800 18200 3000 18000 3 0 0 0 -1 -1 T 1600 19600 3 10 1 0 0 0 1 I/O SIGNALS T 3600 8800 3 10 1 0 0 0 1 FB6 T 1400 12400 3 10 1 0 0 0 1 FB3 T 3600 14600 3 10 1 0 0 0 1 FB4 T 1400 6500 3 10 1 0 0 0 1 FB5 T 3500 21300 3 10 1 0 0 0 1 FB2 P 400 21500 0 21500 1 0 1 { T 151 21563 5 8 1 1 0 0 1 pinnumber=2 T 151 21563 5 8 0 0 0 0 1 pinseq=2 T 600 21600 3 10 1 1 0 0 1 pinlabel=2 } P 400 22000 0 22000 1 0 1 { T 151 22063 5 8 1 1 0 0 1 pinnumber=1 T 151 22063 5 8 0 0 0 0 1 pinseq=1 T 600 22100 3 10 1 1 0 0 1 pinlabel=1 } T 1100 18500 3 10 1 0 0 0 1 FB1 B 400 0 4400 24500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1700 23600 5 10 1 1 0 0 1 device=XC95108-PC84 L 4800 4000 5100 4000 3 0 0 0 -1 -1 L 5100 3700 5100 4000 3 0 0 0 -1 -1 L 4800 3500 5100 3500 3 0 0 0 -1 -1 L 5100 3200 5100 3500 3 0 0 0 -1 -1 T 4500 3400 9 10 1 0 0 0 1 IO T 4500 4000 9 10 1 0 0 0 1 IO L 400 4500 100 4500 3 0 0 0 -1 -1 L 100 4200 100 4500 3 0 0 0 -1 -1 L 400 4000 100 4000 3 0 0 0 -1 -1 L 100 3700 100 4000 3 0 0 0 -1 -1 L 400 3500 100 3500 3 0 0 0 -1 -1 L 100 3200 100 3500 3 0 0 0 -1 -1 L 400 2800 100 2800 3 0 0 0 -1 -1 L 100 2500 100 2800 3 0 0 0 -1 -1 T 500 4500 3 10 1 0 0 0 1 IO T 500 3900 3 10 1 0 0 0 1 IO T 500 3400 3 10 1 0 0 0 1 IO T 500 2700 9 10 1 0 0 0 1 IO T 2100 24000 9 10 1 0 0 0 1 CPLD T 400 24600 8 10 1 1 0 0 1 refdes=U? T 400 24800 5 10 0 0 0 0 1 numslots=0 T 400 25000 5 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/xilinx/XC2S150-6PQ208C.sym0000664000175000017500000007456012204104273015552 00000000000000v 20031231 1 P 100 12600 400 12600 1 0 0 { T 100 12650 5 10 1 1 0 0 1 pinnumber=14 T 100 12650 5 10 0 0 0 0 1 pinseq=14 } P 100 12300 400 12300 1 0 0 { T 100 12350 5 10 1 1 0 0 1 pinnumber=15 T 100 12350 5 10 0 0 0 0 1 pinseq=15 } P 100 12000 400 12000 1 0 0 { T 100 12050 5 10 1 1 0 0 1 pinnumber=16 T 100 12050 5 10 0 0 0 0 1 pinseq=16 } P 100 11700 400 11700 1 0 0 { T 100 11750 5 10 1 1 0 0 1 pinnumber=17 T 100 11750 5 10 0 0 0 0 1 pinseq=17 } P 100 11400 400 11400 1 0 0 { T 100 11450 5 10 1 1 0 0 1 pinnumber=18 T 100 11450 5 10 0 0 0 0 1 pinseq=18 } P 100 11100 400 11100 1 0 0 { T 100 11150 5 10 1 1 0 0 1 pinnumber=19 T 100 11150 5 10 0 0 0 0 1 pinseq=19 } P 100 10800 400 10800 1 0 0 { T 100 10850 5 10 1 1 0 0 1 pinnumber=20 T 100 10850 5 10 0 0 0 0 1 pinseq=20 } P 100 10500 400 10500 1 0 0 { T 100 10550 5 10 1 1 0 0 1 pinnumber=21 T 100 10550 5 10 0 0 0 0 1 pinseq=21 } P 100 10200 400 10200 1 0 0 { T 100 10250 5 10 1 1 0 0 1 pinnumber=22 T 100 10250 5 10 0 0 0 0 1 pinseq=22 } P 100 9900 400 9900 1 0 0 { T 100 9950 5 10 1 1 0 0 1 pinnumber=23 T 100 9950 5 10 0 0 0 0 1 pinseq=23 } P 100 9600 400 9600 1 0 0 { T 100 9650 5 10 1 1 0 0 1 pinnumber=24 T 100 9650 5 10 0 0 0 0 1 pinseq=24 } P 100 9300 400 9300 1 0 0 { T 100 9350 5 10 1 1 0 0 1 pinnumber=25 T 100 9350 5 10 0 0 0 0 1 pinseq=25 } P 100 9000 400 9000 1 0 0 { T 100 9050 5 10 1 1 0 0 1 pinnumber=26 T 100 9050 5 10 0 0 0 0 1 pinseq=26 } P 100 16500 400 16500 1 0 0 { T 100 16550 5 10 1 1 0 0 1 pinnumber=1 T 100 16550 5 10 0 0 0 0 1 pinseq=1 } P 100 16200 400 16200 1 0 0 { T 100 16250 5 10 1 1 0 0 1 pinnumber=2 T 100 16250 5 10 0 0 0 0 1 pinseq=2 } P 100 15900 400 15900 1 0 0 { T 100 15950 5 10 1 1 0 0 1 pinnumber=3 T 100 15950 5 10 0 0 0 0 1 pinseq=3 } P 100 15600 400 15600 1 0 0 { T 100 15650 5 10 1 1 0 0 1 pinnumber=4 T 100 15650 5 10 0 0 0 0 1 pinseq=4 } P 100 15300 400 15300 1 0 0 { T 100 15350 5 10 1 1 0 0 1 pinnumber=5 T 100 15350 5 10 0 0 0 0 1 pinseq=5 } P 100 15000 400 15000 1 0 0 { T 100 15050 5 10 1 1 0 0 1 pinnumber=6 T 100 15050 5 10 0 0 0 0 1 pinseq=6 } P 100 14700 400 14700 1 0 0 { T 100 14750 5 10 1 1 0 0 1 pinnumber=7 T 100 14750 5 10 0 0 0 0 1 pinseq=7 } P 100 14400 400 14400 1 0 0 { T 100 14450 5 10 1 1 0 0 1 pinnumber=8 T 100 14450 5 10 0 0 0 0 1 pinseq=8 } P 100 14100 400 14100 1 0 0 { T 100 14150 5 10 1 1 0 0 1 pinnumber=9 T 100 14150 5 10 0 0 0 0 1 pinseq=9 } P 100 13800 400 13800 1 0 0 { T 100 13850 5 10 1 1 0 0 1 pinnumber=10 T 100 13850 5 10 0 0 0 0 1 pinseq=10 } P 100 13500 400 13500 1 0 0 { T 100 13550 5 10 1 1 0 0 1 pinnumber=11 T 100 13550 5 10 0 0 0 0 1 pinseq=11 } P 100 13200 400 13200 1 0 0 { T 100 13250 5 10 1 1 0 0 1 pinnumber=12 T 100 13250 5 10 0 0 0 0 1 pinseq=12 } P 100 12900 400 12900 1 0 0 { T 100 12950 5 10 1 1 0 0 1 pinnumber=13 T 100 12950 5 10 0 0 0 0 1 pinseq=13 } P 100 8700 400 8700 1 0 0 { T 100 8750 5 10 1 1 0 0 1 pinnumber=27 T 100 8750 5 10 0 0 0 0 1 pinseq=27 } P 100 8400 400 8400 1 0 0 { T 100 8450 5 10 1 1 0 0 1 pinnumber=28 T 100 8450 5 10 0 0 0 0 1 pinseq=28 } P 100 8100 400 8100 1 0 0 { T 100 8150 5 10 1 1 0 0 1 pinnumber=29 T 100 8150 5 10 0 0 0 0 1 pinseq=29 } P 100 7800 400 7800 1 0 0 { T 100 7850 5 10 1 1 0 0 1 pinnumber=30 T 100 7850 5 10 0 0 0 0 1 pinseq=30 } P 100 7500 400 7500 1 0 0 { T 100 7550 5 10 1 1 0 0 1 pinnumber=31 T 100 7550 5 10 0 0 0 0 1 pinseq=31 } P 100 7200 400 7200 1 0 0 { T 100 7250 5 10 1 1 0 0 1 pinnumber=32 T 100 7250 5 10 0 0 0 0 1 pinseq=32 } P 100 6900 400 6900 1 0 0 { T 100 6950 5 10 1 1 0 0 1 pinnumber=33 T 100 6950 5 10 0 0 0 0 1 pinseq=33 } P 100 6600 400 6600 1 0 0 { T 100 6650 5 10 1 1 0 0 1 pinnumber=34 T 100 6650 5 10 0 0 0 0 1 pinseq=34 } P 100 6300 400 6300 1 0 0 { T 100 6350 5 10 1 1 0 0 1 pinnumber=35 T 100 6350 5 10 0 0 0 0 1 pinseq=35 } P 100 6000 400 6000 1 0 0 { T 100 6050 5 10 1 1 0 0 1 pinnumber=36 T 100 6050 5 10 0 0 0 0 1 pinseq=36 } P 100 5700 400 5700 1 0 0 { T 100 5750 5 10 1 1 0 0 1 pinnumber=37 T 100 5750 5 10 0 0 0 0 1 pinseq=37 } P 100 5400 400 5400 1 0 0 { T 100 5450 5 10 1 1 0 0 1 pinnumber=38 T 100 5450 5 10 0 0 0 0 1 pinseq=38 } P 100 5100 400 5100 1 0 0 { T 100 5150 5 10 1 1 0 0 1 pinnumber=39 T 100 5150 5 10 0 0 0 0 1 pinseq=39 } P 100 4800 400 4800 1 0 0 { T 100 4850 5 10 1 1 0 0 1 pinnumber=40 T 100 4850 5 10 0 0 0 0 1 pinseq=40 } P 100 4500 400 4500 1 0 0 { T 100 4550 5 10 1 1 0 0 1 pinnumber=41 T 100 4550 5 10 0 0 0 0 1 pinseq=41 } P 100 4200 400 4200 1 0 0 { T 100 4250 5 10 1 1 0 0 1 pinnumber=42 T 100 4250 5 10 0 0 0 0 1 pinseq=42 } P 100 3900 400 3900 1 0 0 { T 100 3950 5 10 1 1 0 0 1 pinnumber=43 T 100 3950 5 10 0 0 0 0 1 pinseq=43 } P 100 3600 400 3600 1 0 0 { T 100 3650 5 10 1 1 0 0 1 pinnumber=44 T 100 3650 5 10 0 0 0 0 1 pinseq=44 } P 100 3300 400 3300 1 0 0 { T 100 3350 5 10 1 1 0 0 1 pinnumber=45 T 100 3350 5 10 0 0 0 0 1 pinseq=45 } P 100 3000 400 3000 1 0 0 { T 100 3050 5 10 1 1 0 0 1 pinnumber=46 T 100 3050 5 10 0 0 0 0 1 pinseq=46 } P 100 2700 400 2700 1 0 0 { T 100 2750 5 10 1 1 0 0 1 pinnumber=47 T 100 2750 5 10 0 0 0 0 1 pinseq=47 } P 100 2400 400 2400 1 0 0 { T 100 2450 5 10 1 1 0 0 1 pinnumber=48 T 100 2450 5 10 0 0 0 0 1 pinseq=48 } P 100 2100 400 2100 1 0 0 { T 100 2150 5 10 1 1 0 0 1 pinnumber=49 T 100 2150 5 10 0 0 0 0 1 pinseq=49 } P 100 1800 400 1800 1 0 0 { T 100 1850 5 10 1 1 0 0 1 pinnumber=50 T 100 1850 5 10 0 0 0 0 1 pinseq=50 } P 100 1500 400 1500 1 0 0 { T 100 1550 5 10 1 1 0 0 1 pinnumber=51 T 100 1550 5 10 0 0 0 0 1 pinseq=51 } P 100 1200 400 1200 1 0 0 { T 100 1250 5 10 1 1 0 0 1 pinnumber=52 T 100 1250 5 10 0 0 0 0 1 pinseq=52 } P 1200 17300 1200 17600 1 0 1 { T 1150 17350 5 10 1 1 90 0 1 pinnumber=208 T 1150 17350 5 10 0 0 90 0 1 pinseq=208 } P 1500 17300 1500 17600 1 0 1 { T 1450 17350 5 10 1 1 90 0 1 pinnumber=207 T 1450 17350 5 10 0 0 90 0 1 pinseq=207 } P 1800 17300 1800 17600 1 0 1 { T 1750 17350 5 10 1 1 90 0 1 pinnumber=206 T 1750 17350 5 10 0 0 90 0 1 pinseq=206 } P 2100 17300 2100 17600 1 0 1 { T 2050 17350 5 10 1 1 90 0 1 pinnumber=205 T 2050 17350 5 10 0 0 90 0 1 pinseq=205 } P 2400 17300 2400 17600 1 0 1 { T 2350 17350 5 10 1 1 90 0 1 pinnumber=204 T 2350 17350 5 10 0 0 90 0 1 pinseq=204 } P 2700 17300 2700 17600 1 0 1 { T 2650 17350 5 10 1 1 90 0 1 pinnumber=203 T 2650 17350 5 10 0 0 90 0 1 pinseq=203 } P 3000 17300 3000 17600 1 0 1 { T 2950 17350 5 10 1 1 90 0 1 pinnumber=202 T 2950 17350 5 10 0 0 90 0 1 pinseq=202 } P 3300 17300 3300 17600 1 0 1 { T 3250 17350 5 10 1 1 90 0 1 pinnumber=201 T 3250 17350 5 10 0 0 90 0 1 pinseq=201 } P 3600 17300 3600 17600 1 0 1 { T 3550 17350 5 10 1 1 90 0 1 pinnumber=200 T 3550 17350 5 10 0 0 90 0 1 pinseq=200 } P 3900 17300 3900 17600 1 0 1 { T 3850 17350 5 10 1 1 90 0 1 pinnumber=199 T 3850 17350 5 10 0 0 90 0 1 pinseq=199 } P 4200 17300 4200 17600 1 0 1 { T 4150 17350 5 10 1 1 90 0 1 pinnumber=198 T 4150 17350 5 10 0 0 90 0 1 pinseq=198 } P 4500 17300 4500 17600 1 0 1 { T 4450 17350 5 10 1 1 90 0 1 pinnumber=197 T 4450 17350 5 10 0 0 90 0 1 pinseq=197 } P 4800 17300 4800 17600 1 0 1 { T 4750 17350 5 10 1 1 90 0 1 pinnumber=196 T 4750 17350 5 10 0 0 90 0 1 pinseq=196 } P 5100 17300 5100 17600 1 0 1 { T 5050 17350 5 10 1 1 90 0 1 pinnumber=195 T 5050 17350 5 10 0 0 90 0 1 pinseq=195 } P 5400 17300 5400 17600 1 0 1 { T 5350 17350 5 10 1 1 90 0 1 pinnumber=194 T 5350 17350 5 10 0 0 90 0 1 pinseq=194 } P 5700 17300 5700 17600 1 0 1 { T 5650 17350 5 10 1 1 90 0 1 pinnumber=193 T 5650 17350 5 10 0 0 90 0 1 pinseq=193 } P 6000 17300 6000 17600 1 0 1 { T 5950 17350 5 10 1 1 90 0 1 pinnumber=192 T 5950 17350 5 10 0 0 90 0 1 pinseq=192 } P 6300 17300 6300 17600 1 0 1 { T 6250 17350 5 10 1 1 90 0 1 pinnumber=191 T 6250 17350 5 10 0 0 90 0 1 pinseq=191 } P 6600 17300 6600 17600 1 0 1 { T 6550 17350 5 10 1 1 90 0 1 pinnumber=190 T 6550 17350 5 10 0 0 90 0 1 pinseq=190 } P 6900 17300 6900 17600 1 0 1 { T 6850 17350 5 10 1 1 90 0 1 pinnumber=189 T 6850 17350 5 10 0 0 90 0 1 pinseq=189 } P 7200 17300 7200 17600 1 0 1 { T 7150 17350 5 10 1 1 90 0 1 pinnumber=188 T 7150 17350 5 10 0 0 90 0 1 pinseq=188 } P 7500 17300 7500 17600 1 0 1 { T 7450 17350 5 10 1 1 90 0 1 pinnumber=187 T 7450 17350 5 10 0 0 90 0 1 pinseq=187 } P 7800 17300 7800 17600 1 0 1 { T 7750 17350 5 10 1 1 90 0 1 pinnumber=186 T 7750 17350 5 10 0 0 90 0 1 pinseq=186 } P 8100 17300 8100 17600 1 0 1 { T 8050 17350 5 10 1 1 90 0 1 pinnumber=185 T 8050 17350 5 10 0 0 90 0 1 pinseq=185 } P 8400 17300 8400 17600 1 0 1 { T 8350 17350 5 10 1 1 90 0 1 pinnumber=184 T 8350 17350 5 10 0 0 90 0 1 pinseq=184 } P 8700 17300 8700 17600 1 0 1 { T 8650 17350 5 10 1 1 90 0 1 pinnumber=183 T 8650 17350 5 10 0 0 90 0 1 pinseq=183 } P 9000 17300 9000 17600 1 0 1 { T 8950 17350 5 10 1 1 90 0 1 pinnumber=182 T 8950 17350 5 10 0 0 90 0 1 pinseq=182 } P 9300 17300 9300 17600 1 0 1 { T 9250 17350 5 10 1 1 90 0 1 pinnumber=181 T 9250 17350 5 10 0 0 90 0 1 pinseq=181 } P 9600 17300 9600 17600 1 0 1 { T 9550 17350 5 10 1 1 90 0 1 pinnumber=180 T 9550 17350 5 10 0 0 90 0 1 pinseq=180 } P 9900 17300 9900 17600 1 0 1 { T 9850 17350 5 10 1 1 90 0 1 pinnumber=179 T 9850 17350 5 10 0 0 90 0 1 pinseq=179 } P 10200 17300 10200 17600 1 0 1 { T 10150 17350 5 10 1 1 90 0 1 pinnumber=178 T 10150 17350 5 10 0 0 90 0 1 pinseq=178 } P 10500 17300 10500 17600 1 0 1 { T 10450 17350 5 10 1 1 90 0 1 pinnumber=177 T 10450 17350 5 10 0 0 90 0 1 pinseq=177 } P 10800 17300 10800 17600 1 0 1 { T 10750 17350 5 10 1 1 90 0 1 pinnumber=176 T 10750 17350 5 10 0 0 90 0 1 pinseq=176 } P 11100 17300 11100 17600 1 0 1 { T 11050 17350 5 10 1 1 90 0 1 pinnumber=175 T 11050 17350 5 10 0 0 90 0 1 pinseq=175 } P 11400 17300 11400 17600 1 0 1 { T 11350 17350 5 10 1 1 90 0 1 pinnumber=174 T 11350 17350 5 10 0 0 90 0 1 pinseq=174 } P 11700 17300 11700 17600 1 0 1 { T 11650 17350 5 10 1 1 90 0 1 pinnumber=173 T 11650 17350 5 10 0 0 90 0 1 pinseq=173 } P 12000 17300 12000 17600 1 0 1 { T 11950 17350 5 10 1 1 90 0 1 pinnumber=172 T 11950 17350 5 10 0 0 90 0 1 pinseq=172 } P 12300 17300 12300 17600 1 0 1 { T 12250 17350 5 10 1 1 90 0 1 pinnumber=171 T 12250 17350 5 10 0 0 90 0 1 pinseq=171 } P 12600 17300 12600 17600 1 0 1 { T 12550 17350 5 10 1 1 90 0 1 pinnumber=170 T 12550 17350 5 10 0 0 90 0 1 pinseq=170 } P 12900 17300 12900 17600 1 0 1 { T 12850 17350 5 10 1 1 90 0 1 pinnumber=169 T 12850 17350 5 10 0 0 90 0 1 pinseq=169 } P 13200 17300 13200 17600 1 0 1 { T 13150 17350 5 10 1 1 90 0 1 pinnumber=168 T 13150 17350 5 10 0 0 90 0 1 pinseq=168 } P 13500 17300 13500 17600 1 0 1 { T 13450 17350 5 10 1 1 90 0 1 pinnumber=167 T 13450 17350 5 10 0 0 90 0 1 pinseq=167 } P 13800 17300 13800 17600 1 0 1 { T 13750 17350 5 10 1 1 90 0 1 pinnumber=166 T 13750 17350 5 10 0 0 90 0 1 pinseq=166 } P 14100 17300 14100 17600 1 0 1 { T 14050 17350 5 10 1 1 90 0 1 pinnumber=165 T 14050 17350 5 10 0 0 90 0 1 pinseq=165 } P 14400 17300 14400 17600 1 0 1 { T 14350 17350 5 10 1 1 90 0 1 pinnumber=164 T 14350 17350 5 10 0 0 90 0 1 pinseq=164 } P 14700 17300 14700 17600 1 0 1 { T 14650 17350 5 10 1 1 90 0 1 pinnumber=163 T 14650 17350 5 10 0 0 90 0 1 pinseq=163 } P 15000 17300 15000 17600 1 0 1 { T 14950 17350 5 10 1 1 90 0 1 pinnumber=162 T 14950 17350 5 10 0 0 90 0 1 pinseq=162 } P 15300 17300 15300 17600 1 0 1 { T 15250 17350 5 10 1 1 90 0 1 pinnumber=161 T 15250 17350 5 10 0 0 90 0 1 pinseq=161 } P 15600 17300 15600 17600 1 0 1 { T 15550 17350 5 10 1 1 90 0 1 pinnumber=160 T 15550 17350 5 10 0 0 90 0 1 pinseq=160 } P 15900 17300 15900 17600 1 0 1 { T 15850 17350 5 10 1 1 90 0 1 pinnumber=159 T 15850 17350 5 10 0 0 90 0 1 pinseq=159 } P 16200 17300 16200 17600 1 0 1 { T 16150 17350 5 10 1 1 90 0 1 pinnumber=158 T 16150 17350 5 10 0 0 90 0 1 pinseq=158 } P 16500 17300 16500 17600 1 0 1 { T 16450 17350 5 10 1 1 90 0 1 pinnumber=157 T 16450 17350 5 10 0 0 90 0 1 pinseq=157 } P 1200 100 1200 400 1 0 0 { T 1150 100 5 10 1 1 90 0 1 pinnumber=53 T 1150 100 5 10 0 0 90 0 1 pinseq=53 } P 1500 100 1500 400 1 0 0 { T 1450 100 5 10 1 1 90 0 1 pinnumber=54 T 1450 100 5 10 0 0 90 0 1 pinseq=54 } P 1800 100 1800 400 1 0 0 { T 1750 100 5 10 1 1 90 0 1 pinnumber=55 T 1750 100 5 10 0 0 90 0 1 pinseq=55 } P 2100 100 2100 400 1 0 0 { T 2050 100 5 10 1 1 90 0 1 pinnumber=56 T 2050 100 5 10 0 0 90 0 1 pinseq=56 } P 2400 100 2400 400 1 0 0 { T 2350 100 5 10 1 1 90 0 1 pinnumber=57 T 2350 100 5 10 0 0 90 0 1 pinseq=57 } P 2700 100 2700 400 1 0 0 { T 2650 100 5 10 1 1 90 0 1 pinnumber=58 T 2650 100 5 10 0 0 90 0 1 pinseq=58 } P 3000 100 3000 400 1 0 0 { T 2950 100 5 10 1 1 90 0 1 pinnumber=59 T 2950 100 5 10 0 0 90 0 1 pinseq=59 } P 3300 100 3300 400 1 0 0 { T 3250 100 5 10 1 1 90 0 1 pinnumber=60 T 3250 100 5 10 0 0 90 0 1 pinseq=60 } P 3600 100 3600 400 1 0 0 { T 3550 100 5 10 1 1 90 0 1 pinnumber=61 T 3550 100 5 10 0 0 90 0 1 pinseq=61 } P 3900 100 3900 400 1 0 0 { T 3850 100 5 10 1 1 90 0 1 pinnumber=62 T 3850 100 5 10 0 0 90 0 1 pinseq=62 } P 4200 100 4200 400 1 0 0 { T 4150 100 5 10 1 1 90 0 1 pinnumber=63 T 4150 100 5 10 0 0 90 0 1 pinseq=63 } P 4500 100 4500 400 1 0 0 { T 4450 100 5 10 1 1 90 0 1 pinnumber=64 T 4450 100 5 10 0 0 90 0 1 pinseq=64 } P 4800 100 4800 400 1 0 0 { T 4750 100 5 10 1 1 90 0 1 pinnumber=65 T 4750 100 5 10 0 0 90 0 1 pinseq=65 } P 5100 100 5100 400 1 0 0 { T 5050 100 5 10 1 1 90 0 1 pinnumber=66 T 5050 100 5 10 0 0 90 0 1 pinseq=66 } P 5400 100 5400 400 1 0 0 { T 5350 100 5 10 1 1 90 0 1 pinnumber=67 T 5350 100 5 10 0 0 90 0 1 pinseq=67 } P 5700 100 5700 400 1 0 0 { T 5650 100 5 10 1 1 90 0 1 pinnumber=68 T 5650 100 5 10 0 0 90 0 1 pinseq=68 } P 6000 100 6000 400 1 0 0 { T 5950 100 5 10 1 1 90 0 1 pinnumber=69 T 5950 100 5 10 0 0 90 0 1 pinseq=69 } P 6300 100 6300 400 1 0 0 { T 6250 100 5 10 1 1 90 0 1 pinnumber=70 T 6250 100 5 10 0 0 90 0 1 pinseq=70 } P 6600 100 6600 400 1 0 0 { T 6550 100 5 10 1 1 90 0 1 pinnumber=71 T 6550 100 5 10 0 0 90 0 1 pinseq=71 } P 6900 100 6900 400 1 0 0 { T 6850 100 5 10 1 1 90 0 1 pinnumber=72 T 6850 100 5 10 0 0 90 0 1 pinseq=72 } P 7200 100 7200 400 1 0 0 { T 7150 100 5 10 1 1 90 0 1 pinnumber=73 T 7150 100 5 10 0 0 90 0 1 pinseq=73 } P 7500 100 7500 400 1 0 0 { T 7450 100 5 10 1 1 90 0 1 pinnumber=74 T 7450 100 5 10 0 0 90 0 1 pinseq=74 } P 7800 100 7800 400 1 0 0 { T 7750 100 5 10 1 1 90 0 1 pinnumber=75 T 7750 100 5 10 0 0 90 0 1 pinseq=75 } P 8100 100 8100 400 1 0 0 { T 8050 100 5 10 1 1 90 0 1 pinnumber=76 T 8050 100 5 10 0 0 90 0 1 pinseq=76 } P 8400 100 8400 400 1 0 0 { T 8350 100 5 10 1 1 90 0 1 pinnumber=77 T 8350 100 5 10 0 0 90 0 1 pinseq=77 } P 8700 100 8700 400 1 0 0 { T 8650 100 5 10 1 1 90 0 1 pinnumber=78 T 8650 100 5 10 0 0 90 0 1 pinseq=78 } P 9000 100 9000 400 1 0 0 { T 8950 100 5 10 1 1 90 0 1 pinnumber=79 T 8950 100 5 10 0 0 90 0 1 pinseq=79 } P 9300 100 9300 400 1 0 0 { T 9250 100 5 10 1 1 90 0 1 pinnumber=80 T 9250 100 5 10 0 0 90 0 1 pinseq=80 } P 9600 100 9600 400 1 0 0 { T 9550 100 5 10 1 1 90 0 1 pinnumber=81 T 9550 100 5 10 0 0 90 0 1 pinseq=81 } P 9900 100 9900 400 1 0 0 { T 9850 100 5 10 1 1 90 0 1 pinnumber=82 T 9850 100 5 10 0 0 90 0 1 pinseq=82 } P 10200 100 10200 400 1 0 0 { T 10150 100 5 10 1 1 90 0 1 pinnumber=83 T 10150 100 5 10 0 0 90 0 1 pinseq=83 } P 10500 100 10500 400 1 0 0 { T 10450 100 5 10 1 1 90 0 1 pinnumber=84 T 10450 100 5 10 0 0 90 0 1 pinseq=84 } P 10800 100 10800 400 1 0 0 { T 10750 100 5 10 1 1 90 0 1 pinnumber=85 T 10750 100 5 10 0 0 90 0 1 pinseq=85 } P 11100 100 11100 400 1 0 0 { T 11050 100 5 10 1 1 90 0 1 pinnumber=86 T 11050 100 5 10 0 0 90 0 1 pinseq=86 } P 11400 100 11400 400 1 0 0 { T 11350 100 5 10 1 1 90 0 1 pinnumber=87 T 11350 100 5 10 0 0 90 0 1 pinseq=87 } P 11700 100 11700 400 1 0 0 { T 11650 100 5 10 1 1 90 0 1 pinnumber=88 T 11650 100 5 10 0 0 90 0 1 pinseq=88 } P 12000 100 12000 400 1 0 0 { T 11950 100 5 10 1 1 90 0 1 pinnumber=89 T 11950 100 5 10 0 0 90 0 1 pinseq=89 } P 12300 100 12300 400 1 0 0 { T 12250 100 5 10 1 1 90 0 1 pinnumber=90 T 12250 100 5 10 0 0 90 0 1 pinseq=90 } P 12600 100 12600 400 1 0 0 { T 12550 100 5 10 1 1 90 0 1 pinnumber=91 T 12550 100 5 10 0 0 90 0 1 pinseq=91 } P 12900 100 12900 400 1 0 0 { T 12850 100 5 10 1 1 90 0 1 pinnumber=92 T 12850 100 5 10 0 0 90 0 1 pinseq=92 } P 13200 100 13200 400 1 0 0 { T 13150 100 5 10 1 1 90 0 1 pinnumber=93 T 13150 100 5 10 0 0 90 0 1 pinseq=93 } P 13500 100 13500 400 1 0 0 { T 13450 100 5 10 1 1 90 0 1 pinnumber=94 T 13450 100 5 10 0 0 90 0 1 pinseq=94 } P 13800 100 13800 400 1 0 0 { T 13750 100 5 10 1 1 90 0 1 pinnumber=95 T 13750 100 5 10 0 0 90 0 1 pinseq=95 } P 14100 100 14100 400 1 0 0 { T 14050 100 5 10 1 1 90 0 1 pinnumber=96 T 14050 100 5 10 0 0 90 0 1 pinseq=96 } P 14400 100 14400 400 1 0 0 { T 14350 100 5 10 1 1 90 0 1 pinnumber=97 T 14350 100 5 10 0 0 90 0 1 pinseq=97 } P 14700 100 14700 400 1 0 0 { T 14650 100 5 10 1 1 90 0 1 pinnumber=98 T 14650 100 5 10 0 0 90 0 1 pinseq=98 } P 15000 100 15000 400 1 0 0 { T 14950 100 5 10 1 1 90 0 1 pinnumber=99 T 14950 100 5 10 0 0 90 0 1 pinseq=99 } P 15300 100 15300 400 1 0 0 { T 15250 50 5 10 1 1 90 0 1 pinnumber=100 T 15250 50 5 10 0 0 90 0 1 pinseq=100 } P 15600 100 15600 400 1 0 0 { T 15550 50 5 10 1 1 90 0 1 pinnumber=101 T 15550 50 5 10 0 0 90 0 1 pinseq=101 } P 15900 100 15900 400 1 0 0 { T 15850 50 5 10 1 1 90 0 1 pinnumber=102 T 15850 50 5 10 0 0 90 0 1 pinseq=102 } P 16200 100 16200 400 1 0 0 { T 16150 50 5 10 1 1 90 0 1 pinnumber=103 T 16150 50 5 10 0 0 90 0 1 pinseq=103 } P 16500 100 16500 400 1 0 0 { T 16450 50 5 10 1 1 90 0 1 pinnumber=104 T 16450 50 5 10 0 0 90 0 1 pinseq=104 } P 17300 12600 17600 12600 1 0 1 { T 17350 12650 5 10 1 1 0 0 1 pinnumber=143 T 17350 12650 5 10 0 0 0 0 1 pinseq=143 } P 17300 12300 17600 12300 1 0 1 { T 17350 12350 5 10 1 1 0 0 1 pinnumber=142 T 17350 12350 5 10 0 0 0 0 1 pinseq=142 } P 17300 12000 17600 12000 1 0 1 { T 17350 12050 5 10 1 1 0 0 1 pinnumber=141 T 17350 12050 5 10 0 0 0 0 1 pinseq=141 } P 17300 11700 17600 11700 1 0 1 { T 17350 11750 5 10 1 1 0 0 1 pinnumber=140 T 17350 11750 5 10 0 0 0 0 1 pinseq=140 } P 17300 11400 17600 11400 1 0 1 { T 17350 11500 5 10 1 1 0 0 1 pinnumber=139 T 17350 11500 5 10 0 0 0 0 1 pinseq=139 } P 17300 11100 17600 11100 1 0 1 { T 17350 11150 5 10 1 1 0 0 1 pinnumber=138 T 17350 11150 5 10 0 0 0 0 1 pinseq=138 } P 17300 10800 17600 10800 1 0 1 { T 17350 10850 5 10 1 1 0 0 1 pinnumber=137 T 17350 10850 5 10 0 0 0 0 1 pinseq=137 } P 17300 10500 17600 10500 1 0 1 { T 17350 10550 5 10 1 1 0 0 1 pinnumber=136 T 17350 10550 5 10 0 0 0 0 1 pinseq=136 } P 17300 10200 17600 10200 1 0 1 { T 17350 10250 5 10 1 1 0 0 1 pinnumber=135 T 17350 10250 5 10 0 0 0 0 1 pinseq=135 } P 17300 9900 17600 9900 1 0 1 { T 17350 9950 5 10 1 1 0 0 1 pinnumber=134 T 17350 9950 5 10 0 0 0 0 1 pinseq=134 } P 17300 9600 17600 9600 1 0 1 { T 17350 9650 5 10 1 1 0 0 1 pinnumber=133 T 17350 9650 5 10 0 0 0 0 1 pinseq=133 } P 17300 9300 17600 9300 1 0 1 { T 17350 9350 5 10 1 1 0 0 1 pinnumber=132 T 17350 9350 5 10 0 0 0 0 1 pinseq=132 } P 17300 9000 17600 9000 1 0 1 { T 17350 9050 5 10 1 1 0 0 1 pinnumber=131 T 17350 9050 5 10 0 0 0 0 1 pinseq=131 } P 17300 16500 17600 16500 1 0 1 { T 17350 16550 5 10 1 1 0 0 1 pinnumber=156 T 17350 16550 5 10 0 0 0 0 1 pinseq=156 } P 17300 16200 17600 16200 1 0 1 { T 17350 16250 5 10 1 1 0 0 1 pinnumber=155 T 17350 16250 5 10 0 0 0 0 1 pinseq=155 } P 17300 15900 17600 15900 1 0 1 { T 17350 15950 5 10 1 1 0 0 1 pinnumber=154 T 17350 15950 5 10 0 0 0 0 1 pinseq=154 } P 17300 15600 17600 15600 1 0 1 { T 17350 15650 5 10 1 1 0 0 1 pinnumber=153 T 17350 15650 5 10 0 0 0 0 1 pinseq=153 } P 17300 15300 17600 15300 1 0 1 { T 17350 15350 5 10 1 1 0 0 1 pinnumber=152 T 17350 15350 5 10 0 0 0 0 1 pinseq=152 } P 17300 15000 17600 15000 1 0 1 { T 17350 15050 5 10 1 1 0 0 1 pinnumber=151 T 17350 15050 5 10 0 0 0 0 1 pinseq=151 } P 17300 14700 17600 14700 1 0 1 { T 17350 14750 5 10 1 1 0 0 1 pinnumber=150 T 17350 14750 5 10 0 0 0 0 1 pinseq=150 } P 17300 14400 17600 14400 1 0 1 { T 17350 14450 5 10 1 1 0 0 1 pinnumber=149 T 17350 14450 5 10 0 0 0 0 1 pinseq=149 } P 17300 14100 17600 14100 1 0 1 { T 17350 14150 5 10 1 1 0 0 1 pinnumber=148 T 17350 14150 5 10 0 0 0 0 1 pinseq=148 } P 17300 13800 17600 13800 1 0 1 { T 17350 13850 5 10 1 1 0 0 1 pinnumber=147 T 17350 13850 5 10 0 0 0 0 1 pinseq=147 } P 17300 13500 17600 13500 1 0 1 { T 17350 13550 5 10 1 1 0 0 1 pinnumber=146 T 17350 13550 5 10 0 0 0 0 1 pinseq=146 } P 17300 13200 17600 13200 1 0 1 { T 17350 13250 5 10 1 1 0 0 1 pinnumber=145 T 17350 13250 5 10 0 0 0 0 1 pinseq=145 } P 17300 12900 17600 12900 1 0 1 { T 17350 12950 5 10 1 1 0 0 1 pinnumber=144 T 17350 12950 5 10 0 0 0 0 1 pinseq=144 } P 17300 8700 17600 8700 1 0 1 { T 17350 8750 5 10 1 1 0 0 1 pinnumber=130 T 17350 8750 5 10 0 0 0 0 1 pinseq=130 } P 17300 8400 17600 8400 1 0 1 { T 17350 8450 5 10 1 1 0 0 1 pinnumber=129 T 17350 8450 5 10 0 0 0 0 1 pinseq=129 } P 17300 8100 17600 8100 1 0 1 { T 17350 8150 5 10 1 1 0 0 1 pinnumber=128 T 17350 8150 5 10 0 0 0 0 1 pinseq=128 } P 17300 7800 17600 7800 1 0 1 { T 17350 7850 5 10 1 1 0 0 1 pinnumber=127 T 17350 7850 5 10 0 0 0 0 1 pinseq=127 } P 17300 7500 17600 7500 1 0 1 { T 17350 7550 5 10 1 1 0 0 1 pinnumber=126 T 17350 7550 5 10 0 0 0 0 1 pinseq=126 } P 17300 7200 17600 7200 1 0 1 { T 17350 7250 5 10 1 1 0 0 1 pinnumber=125 T 17350 7250 5 10 0 0 0 0 1 pinseq=125 } P 17300 6900 17600 6900 1 0 1 { T 17350 6950 5 10 1 1 0 0 1 pinnumber=124 T 17350 6950 5 10 0 0 0 0 1 pinseq=124 } P 17300 6600 17600 6600 1 0 1 { T 17350 6650 5 10 1 1 0 0 1 pinnumber=123 T 17350 6650 5 10 0 0 0 0 1 pinseq=123 } P 17300 6300 17600 6300 1 0 1 { T 17350 6350 5 10 1 1 0 0 1 pinnumber=122 T 17350 6350 5 10 0 0 0 0 1 pinseq=122 } P 17300 6000 17600 6000 1 0 1 { T 17350 6050 5 10 1 1 0 0 1 pinnumber=121 T 17350 6050 5 10 0 0 0 0 1 pinseq=121 } P 17300 5700 17600 5700 1 0 1 { T 17350 5750 5 10 1 1 0 0 1 pinnumber=120 T 17350 5750 5 10 0 0 0 0 1 pinseq=120 } P 17300 5400 17600 5400 1 0 1 { T 17350 5450 5 10 1 1 0 0 1 pinnumber=119 T 17350 5450 5 10 0 0 0 0 1 pinseq=119 } P 17300 5100 17600 5100 1 0 1 { T 17350 5150 5 10 1 1 0 0 1 pinnumber=118 T 17350 5150 5 10 0 0 0 0 1 pinseq=118 } P 17300 4800 17600 4800 1 0 1 { T 17350 4850 5 10 1 1 0 0 1 pinnumber=117 T 17350 4850 5 10 0 0 0 0 1 pinseq=117 } P 17300 4500 17600 4500 1 0 1 { T 17350 4550 5 10 1 1 0 0 1 pinnumber=116 T 17350 4550 5 10 0 0 0 0 1 pinseq=116 } P 17300 4200 17600 4200 1 0 1 { T 17350 4250 5 10 1 1 0 0 1 pinnumber=115 T 17350 4250 5 10 0 0 0 0 1 pinseq=115 } P 17300 3900 17600 3900 1 0 1 { T 17350 3950 5 10 1 1 0 0 1 pinnumber=114 T 17350 3950 5 10 0 0 0 0 1 pinseq=114 } P 17300 3600 17600 3600 1 0 1 { T 17350 3650 5 10 1 1 0 0 1 pinnumber=113 T 17350 3650 5 10 0 0 0 0 1 pinseq=113 } P 17300 3300 17600 3300 1 0 1 { T 17350 3350 5 10 1 1 0 0 1 pinnumber=112 T 17350 3350 5 10 0 0 0 0 1 pinseq=112 } P 17300 3000 17600 3000 1 0 1 { T 17350 3050 5 10 1 1 0 0 1 pinnumber=111 T 17350 3050 5 10 0 0 0 0 1 pinseq=111 } P 17300 2700 17600 2700 1 0 1 { T 17350 2750 5 10 1 1 0 0 1 pinnumber=110 T 17350 2750 5 10 0 0 0 0 1 pinseq=110 } P 17300 2400 17600 2400 1 0 1 { T 17350 2450 5 10 1 1 0 0 1 pinnumber=109 T 17350 2450 5 10 0 0 0 0 1 pinseq=109 } P 17300 2100 17600 2100 1 0 1 { T 17350 2150 5 10 1 1 0 0 1 pinnumber=108 T 17350 2150 5 10 0 0 0 0 1 pinseq=108 } P 17300 1800 17600 1800 1 0 1 { T 17350 1850 5 10 1 1 0 0 1 pinnumber=107 T 17350 1850 5 10 0 0 0 0 1 pinseq=107 } P 17300 1500 17600 1500 1 0 1 { T 17350 1550 5 10 1 1 0 0 1 pinnumber=106 T 17350 1550 5 10 0 0 0 0 1 pinseq=106 } P 17300 1200 17600 1200 1 0 1 { T 17350 1250 5 10 1 1 0 0 1 pinnumber=105 T 17350 1250 5 10 0 0 0 0 1 pinseq=105 } B 400 400 16900 16900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 17300 5 10 0 1 0 0 1 device=XC2S150-6PQ208C T 16600 17650 8 10 1 1 0 0 1 refdes=U? T 500 16500 9 10 1 0 0 0 1 GND T 500 13500 9 10 1 0 0 0 1 GND T 500 11100 9 10 1 0 0 0 1 GND T 500 16200 9 10 1 0 0 0 1 TMS T 500 15900 9 10 1 0 0 0 1 I/O T 500 15600 9 10 1 0 0 0 1 I/O T 500 14400 9 10 1 0 0 0 1 I/O T 500 15000 9 10 1 0 0 0 1 I/O, VREF T 500 14100 9 10 1 0 0 0 1 I/O, VREF T 500 13800 9 10 1 0 0 0 1 I/O T 500 13200 9 10 1 0 0 0 1 VCCO T 500 12600 9 10 1 0 0 0 1 I/O T 500 12300 9 10 1 0 0 0 1 I/O T 500 12000 9 10 1 0 0 0 1 I/O T 500 11700 9 10 1 0 0 0 1 I/O T 500 11400 9 10 1 0 0 0 1 I/O T 500 15300 9 10 1 0 0 0 1 I/O T 500 10800 9 10 1 0 0 0 1 I/O, VREF T 500 10500 9 10 1 0 0 0 1 I/O T 500 10200 9 10 1 0 0 0 1 I/O T 500 9900 9 10 1 0 0 0 1 I/O T 500 9600 9 10 1 0 0 0 1 I/O, IRDY T 500 1500 9 10 1 0 0 0 1 GND T 500 4800 9 10 1 0 0 0 1 GND T 500 7200 9 10 1 0 0 0 1 GND T 500 9300 9 10 1 0 0 0 1 GND T 500 9000 9 10 1 0 0 0 1 VCCO T 500 5100 9 10 1 0 0 0 1 VCCO T 500 8400 9 10 1 0 0 0 1 VCCINT T 500 7500 9 10 1 0 0 0 1 I/O, VREF T 500 3300 9 10 1 0 0 0 1 I/O, VREF T 500 8700 9 10 1 0 0 0 1 I/O, TRDY T 500 8100 9 10 1 0 0 0 1 I/O T 500 7800 9 10 1 0 0 0 1 I/O T 500 6900 9 10 1 0 0 0 1 I/O T 500 6600 9 10 1 0 0 0 1 I/O T 500 6300 9 10 1 0 0 0 1 I/O T 500 6000 9 10 1 0 0 0 1 I/O T 500 5700 9 10 1 0 0 0 1 I/O T 500 4500 9 10 1 0 0 0 1 I/O T 500 4200 9 10 1 0 0 0 1 I/O, VREF T 500 3900 9 10 1 0 0 0 1 I/O T 500 3000 9 10 1 0 0 0 1 I/O T 500 2700 9 10 1 0 0 0 1 I/O T 500 2400 9 10 1 0 0 0 1 I/O T 500 2100 9 10 1 0 0 0 1 I/O T 500 1800 9 10 1 0 0 0 1 M1 T 500 1200 9 10 1 0 0 0 1 M0 T 500 3600 9 10 1 0 0 0 1 I/O T 500 14700 9 10 1 0 0 0 1 I/O T 500 12900 9 10 1 0 0 0 1 VCCINT T 500 5400 9 10 1 0 0 0 1 VCCINT T 16600 17450 9 10 1 0 0 0 1 XC2S150-6PQ208C T 1200 500 9 10 1 0 90 0 1 VCCO T 1500 500 9 10 1 0 90 0 1 M2 T 2400 500 9 10 1 0 90 0 1 I/O T 2700 500 9 10 1 0 90 0 1 I/O T 3000 500 9 10 1 0 90 0 1 I/O, VREF T 3300 500 9 10 1 0 90 0 1 I/O T 3600 500 9 10 1 0 90 0 1 I/O T 3900 500 9 10 1 0 90 0 1 I/O, VREF T 4200 500 9 10 1 0 90 0 1 I/O T 4500 500 9 10 1 0 90 0 1 GND T 4800 500 9 10 1 0 90 0 1 VCCO T 5100 500 9 10 1 0 90 0 1 VCCINT T 5400 500 9 10 1 0 90 0 1 I/O T 5700 500 9 10 1 0 90 0 1 I/O T 6000 500 9 10 1 0 90 0 1 I/O T 6300 500 9 10 1 0 90 0 1 I/O T 6600 500 9 10 1 0 90 0 1 I/O T 6900 500 9 10 1 0 90 0 1 GND T 7200 500 9 10 1 0 90 0 1 I/O, VREF T 7500 500 9 10 1 0 90 0 1 I/O T 7800 500 9 10 1 0 90 0 1 I/O T 8100 500 9 10 1 0 90 0 1 VCCINT T 8400 500 9 10 1 0 90 0 1 I, GCK1 T 9300 500 9 10 1 0 90 0 1 I, GCK0 T 8700 500 9 10 1 0 90 0 1 VCCO T 9000 500 9 10 1 0 90 0 1 GND T 9600 500 9 10 1 0 90 0 1 I/O T 9900 500 9 10 1 0 90 0 1 I/O T 10200 500 9 10 1 0 90 0 1 I/O T 10500 500 9 10 1 0 90 0 1 I/O, VREF T 10800 500 9 10 1 0 90 0 1 GND T 11100 500 9 10 1 0 90 0 1 I/O T 11400 500 9 10 1 0 90 0 1 I/O T 11700 500 9 10 1 0 90 0 1 I/O T 12000 500 9 10 1 0 90 0 1 I/O T 12300 500 9 10 1 0 90 0 1 I/O T 12600 500 9 10 1 0 90 0 1 VCCINT T 12900 500 9 10 1 0 90 0 1 VCCO T 13200 500 9 10 1 0 90 0 1 GND T 13500 500 9 10 1 0 90 0 1 I/O T 13800 500 9 10 1 0 90 0 1 I/O, VREF T 14100 500 9 10 1 0 90 0 1 I/O T 14400 500 9 10 1 0 90 0 1 I/O T 14700 500 9 10 1 0 90 0 1 I/O, VREF T 15000 500 9 10 1 0 90 0 1 I/O T 15300 500 9 10 1 0 90 0 1 I/O T 15600 500 9 10 1 0 90 0 1 I/O T 15900 500 9 10 1 0 90 0 1 I/O T 16200 500 9 10 1 0 90 0 1 GND T 16500 500 9 10 1 0 90 0 1 DONE T 17200 1200 9 10 1 0 0 6 1 VCCO T 17200 1500 9 10 1 0 0 6 1 PROGRAM T 17200 1800 9 10 1 0 0 6 1 I/O (INIT) T 17200 2100 9 10 1 0 0 6 1 I/O (D7) T 17200 2400 9 10 1 0 0 6 1 I/O T 17200 2700 9 10 1 0 0 6 1 I/O T 17200 3000 9 10 1 0 0 6 1 I/O, VREF T 17200 3300 9 10 1 0 0 6 1 I/O T 17200 3600 9 10 1 0 0 6 1 I/O T 17200 3900 9 10 1 0 0 6 1 I/O, VREF T 17200 4200 9 10 1 0 0 6 1 I/O (D6) T 17200 4500 9 10 1 0 0 6 1 GND T 17200 4800 9 10 1 0 0 6 1 VCCO T 17200 5100 9 10 1 0 0 6 1 VCCINT T 17200 5400 9 10 1 0 0 6 1 I/O (D5) T 17200 5700 9 10 1 0 0 6 1 I/O T 17200 6000 9 10 1 0 0 6 1 I/O T 17200 6300 9 10 1 0 0 6 1 I/O T 17200 6600 9 10 1 0 0 6 1 I/O T 17200 6900 9 10 1 0 0 6 1 GND T 17200 7200 9 10 1 0 0 6 1 I/O, VREF T 17200 7500 9 10 1 0 0 6 1 I/O (D4) T 17200 7800 9 10 1 0 0 6 1 I/O T 17200 8100 9 10 1 0 0 6 1 VCCINT T 17200 8400 9 10 1 0 0 6 1 I/O, TRDY T 17200 8700 9 10 1 0 0 6 1 VCCO T 17200 9000 9 10 1 0 0 6 1 GND T 17200 9300 9 10 1 0 0 6 1 I/O, IRDY T 17200 9600 9 10 1 0 0 6 1 I/O T 17200 9900 9 10 1 0 0 6 1 I/O T 17200 10200 9 10 1 0 0 6 1 I/O (D3) T 17200 10500 9 10 1 0 0 6 1 I/O, VREF T 17200 10800 9 10 1 0 0 6 1 GND T 17200 11100 9 10 1 0 0 6 1 I/O T 17200 11400 9 10 1 0 0 6 1 I/O T 17200 11700 9 10 1 0 0 6 1 I/O T 17200 12000 9 10 1 0 0 6 1 I/O T 17200 12300 9 10 1 0 0 6 1 I/O (D2) T 17200 12600 9 10 1 0 0 6 1 VCCINT T 17200 12900 9 10 1 0 0 6 1 VCCO T 17200 13200 9 10 1 0 0 6 1 GND T 17200 13500 9 10 1 0 0 6 1 I/O (D1) T 17200 13800 9 10 1 0 0 6 1 I/O, VREF T 17200 14100 9 10 1 0 0 6 1 I/O T 17200 14400 9 10 1 0 0 6 1 I/O T 17200 14700 9 10 1 0 0 6 1 I/O, VREF T 17200 15000 9 10 1 0 0 6 1 I/O T 17200 15300 9 10 1 0 0 6 1 I/O T 17200 15600 9 10 1 0 0 6 1 I/O (DIN, D0) T 17200 15900 9 10 1 0 0 6 1 I/O (DOUT, BUSY) T 17200 16200 9 10 1 0 0 6 1 CCLK T 17200 16500 9 10 1 0 0 6 1 VCCO T 16500 17200 9 10 1 0 90 6 1 TDO T 16200 17200 9 10 1 0 90 6 1 GND T 15900 17200 9 10 1 0 90 6 1 TDI T 15600 17200 9 10 1 0 90 6 1 I/O (CS) T 15300 17200 9 10 1 0 90 6 1 I/O (WRITE) T 15000 17200 9 10 1 0 90 6 1 I/O T 14700 17200 9 10 1 0 90 6 1 I/O T 14400 17200 9 10 1 0 90 6 1 I/O, VREF T 14100 17200 9 10 1 0 90 6 1 I/O T 13800 17200 9 10 1 0 90 6 1 I/O T 13500 17200 9 10 1 0 90 6 1 I/O, VREF T 13200 17200 9 10 1 0 90 6 1 I/O T 12900 17200 9 10 1 0 90 6 1 GND T 12600 17200 9 10 1 0 90 6 1 VCCO T 12300 17200 9 10 1 0 90 6 1 VCCINT T 12000 17200 9 10 1 0 90 6 1 I/O T 11700 17200 9 10 1 0 90 6 1 I/O T 11400 17200 9 10 1 0 90 6 1 I/O T 11100 17200 9 10 1 0 90 6 1 I/O T 10800 17200 9 10 1 0 90 6 1 I/O T 10500 17200 9 10 1 0 90 6 1 GND T 10200 17200 9 10 1 0 90 6 1 I/O, VREF T 9900 17200 9 10 1 0 90 6 1 I/O T 9600 17200 9 10 1 0 90 6 1 I/O T 9300 17200 9 10 1 0 90 6 1 I/O T 9000 17200 9 10 1 0 90 6 1 I, GCK2 T 8100 17200 9 10 1 0 90 6 1 I, GCK3 T 8700 17200 9 10 1 0 90 6 1 GND T 8400 17200 9 10 1 0 90 6 1 VCCO T 7800 17200 9 10 1 0 90 6 1 VCCINT T 7500 17200 9 10 1 0 90 6 1 I/O T 7200 17200 9 10 1 0 90 6 1 I/O T 6900 17200 9 10 1 0 90 6 1 I/O, VREF T 6600 17200 9 10 1 0 90 6 1 GND T 6300 17200 9 10 1 0 90 6 1 I/O T 6000 17200 9 10 1 0 90 6 1 I/O T 5700 17200 9 10 1 0 90 6 1 I/O T 5400 17200 9 10 1 0 90 6 1 I/O T 5100 17200 9 10 1 0 90 6 1 I/O T 4800 17200 9 10 1 0 90 6 1 VCCINT T 4500 17200 9 10 1 0 90 6 1 VCCO T 4200 17200 9 10 1 0 90 6 1 GND T 3900 17200 9 10 1 0 90 6 1 I/O T 3600 17200 9 10 1 0 90 6 1 I/O, VREF T 3300 17200 9 10 1 0 90 6 1 I/O T 3000 17200 9 10 1 0 90 6 1 I/O T 2700 17200 9 10 1 0 90 6 1 I/O, VREF T 2400 17200 9 10 1 0 90 6 1 I/O T 2100 17200 9 10 1 0 90 6 1 I/O T 1800 17200 9 10 1 0 90 6 1 I/O T 1500 17200 9 10 1 0 90 6 1 TCK T 1200 17200 9 10 1 0 90 6 1 VCCO L 1100 9100 2600 9100 3 0 0 0 -1 -1 L 900 16800 2600 15100 3 0 0 0 -1 -1 L 1100 1100 2600 2600 3 0 0 0 -1 -1 L 8600 1100 8600 2600 3 0 0 0 -1 -1 L 16600 1100 15100 2600 3 0 0 0 -1 -1 L 16600 8600 15100 8600 3 0 0 0 -1 -1 L 16600 16600 15100 15100 3 0 0 0 -1 -1 L 8400 16600 8400 15100 3 0 0 0 -1 -1 T 1600 12800 9 30 1 0 0 0 1 BANK7 T 1600 5200 9 30 1 0 0 0 1 BANK6 T 4100 1600 9 30 1 0 0 0 1 BANK5 T 11600 1600 9 30 1 0 0 0 1 BANK4 T 14100 5100 9 30 1 0 0 0 1 BANK3 T 14100 12800 9 30 1 0 0 0 1 BANK2 T 11600 15700 9 30 1 0 0 0 1 BANK1 T 3600 15700 9 30 1 0 0 0 1 BANK0 geda-gaf-1.8.2/symbols/xilinx/XC2S50-5PQ208I.sym0000664000175000017500000007447612204104273015504 00000000000000v 20031231 1 P 100 12600 400 12600 1 0 0 { T 100 12650 5 10 1 1 0 0 1 pinnumber=14 T 100 12650 5 10 0 0 0 0 1 pinseq=14 } P 100 12300 400 12300 1 0 0 { T 100 12350 5 10 1 1 0 0 1 pinnumber=15 T 100 12350 5 10 0 0 0 0 1 pinseq=15 } P 100 12000 400 12000 1 0 0 { T 100 12050 5 10 1 1 0 0 1 pinnumber=16 T 100 12050 5 10 0 0 0 0 1 pinseq=16 } P 100 11700 400 11700 1 0 0 { T 100 11750 5 10 1 1 0 0 1 pinnumber=17 T 100 11750 5 10 0 0 0 0 1 pinseq=17 } P 100 11400 400 11400 1 0 0 { T 100 11450 5 10 1 1 0 0 1 pinnumber=18 T 100 11450 5 10 0 0 0 0 1 pinseq=18 } P 100 11100 400 11100 1 0 0 { T 100 11150 5 10 1 1 0 0 1 pinnumber=19 T 100 11150 5 10 0 0 0 0 1 pinseq=19 } P 100 10800 400 10800 1 0 0 { T 100 10850 5 10 1 1 0 0 1 pinnumber=20 T 100 10850 5 10 0 0 0 0 1 pinseq=20 } P 100 10500 400 10500 1 0 0 { T 100 10550 5 10 1 1 0 0 1 pinnumber=21 T 100 10550 5 10 0 0 0 0 1 pinseq=21 } P 100 10200 400 10200 1 0 0 { T 100 10250 5 10 1 1 0 0 1 pinnumber=22 T 100 10250 5 10 0 0 0 0 1 pinseq=22 } P 100 9900 400 9900 1 0 0 { T 100 9950 5 10 1 1 0 0 1 pinnumber=23 T 100 9950 5 10 0 0 0 0 1 pinseq=23 } P 100 9600 400 9600 1 0 0 { T 100 9650 5 10 1 1 0 0 1 pinnumber=24 T 100 9650 5 10 0 0 0 0 1 pinseq=24 } P 100 9300 400 9300 1 0 0 { T 100 9350 5 10 1 1 0 0 1 pinnumber=25 T 100 9350 5 10 0 0 0 0 1 pinseq=25 } P 100 9000 400 9000 1 0 0 { T 100 9050 5 10 1 1 0 0 1 pinnumber=26 T 100 9050 5 10 0 0 0 0 1 pinseq=26 } P 100 16500 400 16500 1 0 0 { T 100 16550 5 10 1 1 0 0 1 pinnumber=1 T 100 16550 5 10 0 0 0 0 1 pinseq=1 } P 100 16200 400 16200 1 0 0 { T 100 16250 5 10 1 1 0 0 1 pinnumber=2 T 100 16250 5 10 0 0 0 0 1 pinseq=2 } P 100 15900 400 15900 1 0 0 { T 100 15950 5 10 1 1 0 0 1 pinnumber=3 T 100 15950 5 10 0 0 0 0 1 pinseq=3 } P 100 15600 400 15600 1 0 0 { T 100 15650 5 10 1 1 0 0 1 pinnumber=4 T 100 15650 5 10 0 0 0 0 1 pinseq=4 } P 100 15300 400 15300 1 0 0 { T 100 15350 5 10 1 1 0 0 1 pinnumber=5 T 100 15350 5 10 0 0 0 0 1 pinseq=5 } P 100 15000 400 15000 1 0 0 { T 100 15050 5 10 1 1 0 0 1 pinnumber=6 T 100 15050 5 10 0 0 0 0 1 pinseq=6 } P 100 14700 400 14700 1 0 0 { T 100 14750 5 10 1 1 0 0 1 pinnumber=7 T 100 14750 5 10 0 0 0 0 1 pinseq=7 } P 100 14400 400 14400 1 0 0 { T 100 14450 5 10 1 1 0 0 1 pinnumber=8 T 100 14450 5 10 0 0 0 0 1 pinseq=8 } P 100 14100 400 14100 1 0 0 { T 100 14150 5 10 1 1 0 0 1 pinnumber=9 T 100 14150 5 10 0 0 0 0 1 pinseq=9 } P 100 13800 400 13800 1 0 0 { T 100 13850 5 10 1 1 0 0 1 pinnumber=10 T 100 13850 5 10 0 0 0 0 1 pinseq=10 } P 100 13500 400 13500 1 0 0 { T 100 13550 5 10 1 1 0 0 1 pinnumber=11 T 100 13550 5 10 0 0 0 0 1 pinseq=11 } P 100 13200 400 13200 1 0 0 { T 100 13250 5 10 1 1 0 0 1 pinnumber=12 T 100 13250 5 10 0 0 0 0 1 pinseq=12 } P 100 12900 400 12900 1 0 0 { T 100 12950 5 10 1 1 0 0 1 pinnumber=13 T 100 12950 5 10 0 0 0 0 1 pinseq=13 } P 100 8700 400 8700 1 0 0 { T 100 8750 5 10 1 1 0 0 1 pinnumber=27 T 100 8750 5 10 0 0 0 0 1 pinseq=27 } P 100 8400 400 8400 1 0 0 { T 100 8450 5 10 1 1 0 0 1 pinnumber=28 T 100 8450 5 10 0 0 0 0 1 pinseq=28 } P 100 8100 400 8100 1 0 0 { T 100 8150 5 10 1 1 0 0 1 pinnumber=29 T 100 8150 5 10 0 0 0 0 1 pinseq=29 } P 100 7800 400 7800 1 0 0 { T 100 7850 5 10 1 1 0 0 1 pinnumber=30 T 100 7850 5 10 0 0 0 0 1 pinseq=30 } P 100 7500 400 7500 1 0 0 { T 100 7550 5 10 1 1 0 0 1 pinnumber=31 T 100 7550 5 10 0 0 0 0 1 pinseq=31 } P 100 7200 400 7200 1 0 0 { T 100 7250 5 10 1 1 0 0 1 pinnumber=32 T 100 7250 5 10 0 0 0 0 1 pinseq=32 } P 100 6900 400 6900 1 0 0 { T 100 6950 5 10 1 1 0 0 1 pinnumber=33 T 100 6950 5 10 0 0 0 0 1 pinseq=33 } P 100 6600 400 6600 1 0 0 { T 100 6650 5 10 1 1 0 0 1 pinnumber=34 T 100 6650 5 10 0 0 0 0 1 pinseq=34 } P 100 6300 400 6300 1 0 0 { T 100 6350 5 10 1 1 0 0 1 pinnumber=35 T 100 6350 5 10 0 0 0 0 1 pinseq=35 } P 100 6000 400 6000 1 0 0 { T 100 6050 5 10 1 1 0 0 1 pinnumber=36 T 100 6050 5 10 0 0 0 0 1 pinseq=36 } P 100 5700 400 5700 1 0 0 { T 100 5750 5 10 1 1 0 0 1 pinnumber=37 T 100 5750 5 10 0 0 0 0 1 pinseq=37 } P 100 5400 400 5400 1 0 0 { T 100 5450 5 10 1 1 0 0 1 pinnumber=38 T 100 5450 5 10 0 0 0 0 1 pinseq=38 } P 100 5100 400 5100 1 0 0 { T 100 5150 5 10 1 1 0 0 1 pinnumber=39 T 100 5150 5 10 0 0 0 0 1 pinseq=39 } P 100 4800 400 4800 1 0 0 { T 100 4850 5 10 1 1 0 0 1 pinnumber=40 T 100 4850 5 10 0 0 0 0 1 pinseq=40 } P 100 4500 400 4500 1 0 0 { T 100 4550 5 10 1 1 0 0 1 pinnumber=41 T 100 4550 5 10 0 0 0 0 1 pinseq=41 } P 100 4200 400 4200 1 0 0 { T 100 4250 5 10 1 1 0 0 1 pinnumber=42 T 100 4250 5 10 0 0 0 0 1 pinseq=42 } P 100 3900 400 3900 1 0 0 { T 100 3950 5 10 1 1 0 0 1 pinnumber=43 T 100 3950 5 10 0 0 0 0 1 pinseq=43 } P 100 3600 400 3600 1 0 0 { T 100 3650 5 10 1 1 0 0 1 pinnumber=44 T 100 3650 5 10 0 0 0 0 1 pinseq=44 } P 100 3300 400 3300 1 0 0 { T 100 3350 5 10 1 1 0 0 1 pinnumber=45 T 100 3350 5 10 0 0 0 0 1 pinseq=45 } P 100 3000 400 3000 1 0 0 { T 100 3050 5 10 1 1 0 0 1 pinnumber=46 T 100 3050 5 10 0 0 0 0 1 pinseq=46 } P 100 2700 400 2700 1 0 0 { T 100 2750 5 10 1 1 0 0 1 pinnumber=47 T 100 2750 5 10 0 0 0 0 1 pinseq=47 } P 100 2400 400 2400 1 0 0 { T 100 2450 5 10 1 1 0 0 1 pinnumber=48 T 100 2450 5 10 0 0 0 0 1 pinseq=48 } P 100 2100 400 2100 1 0 0 { T 100 2150 5 10 1 1 0 0 1 pinnumber=49 T 100 2150 5 10 0 0 0 0 1 pinseq=49 } P 100 1800 400 1800 1 0 0 { T 100 1850 5 10 1 1 0 0 1 pinnumber=50 T 100 1850 5 10 0 0 0 0 1 pinseq=50 } P 100 1500 400 1500 1 0 0 { T 100 1550 5 10 1 1 0 0 1 pinnumber=51 T 100 1550 5 10 0 0 0 0 1 pinseq=51 } P 100 1200 400 1200 1 0 0 { T 100 1250 5 10 1 1 0 0 1 pinnumber=52 T 100 1250 5 10 0 0 0 0 1 pinseq=52 } P 1200 17300 1200 17600 1 0 1 { T 1150 17350 5 10 1 1 90 0 1 pinnumber=208 T 1150 17350 5 10 0 0 90 0 1 pinseq=208 } P 1500 17300 1500 17600 1 0 1 { T 1450 17350 5 10 1 1 90 0 1 pinnumber=207 T 1450 17350 5 10 0 0 90 0 1 pinseq=207 } P 1800 17300 1800 17600 1 0 1 { T 1750 17350 5 10 1 1 90 0 1 pinnumber=206 T 1750 17350 5 10 0 0 90 0 1 pinseq=206 } P 2100 17300 2100 17600 1 0 1 { T 2050 17350 5 10 1 1 90 0 1 pinnumber=205 T 2050 17350 5 10 0 0 90 0 1 pinseq=205 } P 2400 17300 2400 17600 1 0 1 { T 2350 17350 5 10 1 1 90 0 1 pinnumber=204 T 2350 17350 5 10 0 0 90 0 1 pinseq=204 } P 2700 17300 2700 17600 1 0 1 { T 2650 17350 5 10 1 1 90 0 1 pinnumber=203 T 2650 17350 5 10 0 0 90 0 1 pinseq=203 } P 3000 17300 3000 17600 1 0 1 { T 2950 17350 5 10 1 1 90 0 1 pinnumber=202 T 2950 17350 5 10 0 0 90 0 1 pinseq=202 } P 3300 17300 3300 17600 1 0 1 { T 3250 17350 5 10 1 1 90 0 1 pinnumber=201 T 3250 17350 5 10 0 0 90 0 1 pinseq=201 } P 3600 17300 3600 17600 1 0 1 { T 3550 17350 5 10 1 1 90 0 1 pinnumber=200 T 3550 17350 5 10 0 0 90 0 1 pinseq=200 } P 3900 17300 3900 17600 1 0 1 { T 3850 17350 5 10 1 1 90 0 1 pinnumber=199 T 3850 17350 5 10 0 0 90 0 1 pinseq=199 } P 4200 17300 4200 17600 1 0 1 { T 4150 17350 5 10 1 1 90 0 1 pinnumber=198 T 4150 17350 5 10 0 0 90 0 1 pinseq=198 } P 4500 17300 4500 17600 1 0 1 { T 4450 17350 5 10 1 1 90 0 1 pinnumber=197 T 4450 17350 5 10 0 0 90 0 1 pinseq=197 } P 4800 17300 4800 17600 1 0 1 { T 4750 17350 5 10 1 1 90 0 1 pinnumber=196 T 4750 17350 5 10 0 0 90 0 1 pinseq=196 } P 5100 17300 5100 17600 1 0 1 { T 5050 17350 5 10 1 1 90 0 1 pinnumber=195 T 5050 17350 5 10 0 0 90 0 1 pinseq=195 } P 5400 17300 5400 17600 1 0 1 { T 5350 17350 5 10 1 1 90 0 1 pinnumber=194 T 5350 17350 5 10 0 0 90 0 1 pinseq=194 } P 5700 17300 5700 17600 1 0 1 { T 5650 17350 5 10 1 1 90 0 1 pinnumber=193 T 5650 17350 5 10 0 0 90 0 1 pinseq=193 } P 6000 17300 6000 17600 1 0 1 { T 5950 17350 5 10 1 1 90 0 1 pinnumber=192 T 5950 17350 5 10 0 0 90 0 1 pinseq=192 } P 6300 17300 6300 17600 1 0 1 { T 6250 17350 5 10 1 1 90 0 1 pinnumber=191 T 6250 17350 5 10 0 0 90 0 1 pinseq=191 } P 6600 17300 6600 17600 1 0 1 { T 6550 17350 5 10 1 1 90 0 1 pinnumber=190 T 6550 17350 5 10 0 0 90 0 1 pinseq=190 } P 6900 17300 6900 17600 1 0 1 { T 6850 17350 5 10 1 1 90 0 1 pinnumber=189 T 6850 17350 5 10 0 0 90 0 1 pinseq=189 } P 7200 17300 7200 17600 1 0 1 { T 7150 17350 5 10 1 1 90 0 1 pinnumber=188 T 7150 17350 5 10 0 0 90 0 1 pinseq=188 } P 7500 17300 7500 17600 1 0 1 { T 7450 17350 5 10 1 1 90 0 1 pinnumber=187 T 7450 17350 5 10 0 0 90 0 1 pinseq=187 } P 7800 17300 7800 17600 1 0 1 { T 7750 17350 5 10 1 1 90 0 1 pinnumber=186 T 7750 17350 5 10 0 0 90 0 1 pinseq=186 } P 8100 17300 8100 17600 1 0 1 { T 8050 17350 5 10 1 1 90 0 1 pinnumber=185 T 8050 17350 5 10 0 0 90 0 1 pinseq=185 } P 8400 17300 8400 17600 1 0 1 { T 8350 17350 5 10 1 1 90 0 1 pinnumber=184 T 8350 17350 5 10 0 0 90 0 1 pinseq=184 } P 8700 17300 8700 17600 1 0 1 { T 8650 17350 5 10 1 1 90 0 1 pinnumber=183 T 8650 17350 5 10 0 0 90 0 1 pinseq=183 } P 9000 17300 9000 17600 1 0 1 { T 8950 17350 5 10 1 1 90 0 1 pinnumber=182 T 8950 17350 5 10 0 0 90 0 1 pinseq=182 } P 9300 17300 9300 17600 1 0 1 { T 9250 17350 5 10 1 1 90 0 1 pinnumber=181 T 9250 17350 5 10 0 0 90 0 1 pinseq=181 } P 9600 17300 9600 17600 1 0 1 { T 9550 17350 5 10 1 1 90 0 1 pinnumber=180 T 9550 17350 5 10 0 0 90 0 1 pinseq=180 } P 9900 17300 9900 17600 1 0 1 { T 9850 17350 5 10 1 1 90 0 1 pinnumber=179 T 9850 17350 5 10 0 0 90 0 1 pinseq=179 } P 10200 17300 10200 17600 1 0 1 { T 10150 17350 5 10 1 1 90 0 1 pinnumber=178 T 10150 17350 5 10 0 0 90 0 1 pinseq=178 } P 10500 17300 10500 17600 1 0 1 { T 10450 17350 5 10 1 1 90 0 1 pinnumber=177 T 10450 17350 5 10 0 0 90 0 1 pinseq=177 } P 10800 17300 10800 17600 1 0 1 { T 10750 17350 5 10 1 1 90 0 1 pinnumber=176 T 10750 17350 5 10 0 0 90 0 1 pinseq=176 } P 11100 17300 11100 17600 1 0 1 { T 11050 17350 5 10 1 1 90 0 1 pinnumber=175 T 11050 17350 5 10 0 0 90 0 1 pinseq=175 } P 11400 17300 11400 17600 1 0 1 { T 11350 17350 5 10 1 1 90 0 1 pinnumber=174 T 11350 17350 5 10 0 0 90 0 1 pinseq=174 } P 11700 17300 11700 17600 1 0 1 { T 11650 17350 5 10 1 1 90 0 1 pinnumber=173 T 11650 17350 5 10 0 0 90 0 1 pinseq=173 } P 12000 17300 12000 17600 1 0 1 { T 11950 17350 5 10 1 1 90 0 1 pinnumber=172 T 11950 17350 5 10 0 0 90 0 1 pinseq=172 } P 12300 17300 12300 17600 1 0 1 { T 12250 17350 5 10 1 1 90 0 1 pinnumber=171 T 12250 17350 5 10 0 0 90 0 1 pinseq=171 } P 12600 17300 12600 17600 1 0 1 { T 12550 17350 5 10 1 1 90 0 1 pinnumber=170 T 12550 17350 5 10 0 0 90 0 1 pinseq=170 } P 12900 17300 12900 17600 1 0 1 { T 12850 17350 5 10 1 1 90 0 1 pinnumber=169 T 12850 17350 5 10 0 0 90 0 1 pinseq=169 } P 13200 17300 13200 17600 1 0 1 { T 13150 17350 5 10 1 1 90 0 1 pinnumber=168 T 13150 17350 5 10 0 0 90 0 1 pinseq=168 } P 13500 17300 13500 17600 1 0 1 { T 13450 17350 5 10 1 1 90 0 1 pinnumber=167 T 13450 17350 5 10 0 0 90 0 1 pinseq=167 } P 13800 17300 13800 17600 1 0 1 { T 13750 17350 5 10 1 1 90 0 1 pinnumber=166 T 13750 17350 5 10 0 0 90 0 1 pinseq=166 } P 14100 17300 14100 17600 1 0 1 { T 14050 17350 5 10 1 1 90 0 1 pinnumber=165 T 14050 17350 5 10 0 0 90 0 1 pinseq=165 } P 14400 17300 14400 17600 1 0 1 { T 14350 17350 5 10 1 1 90 0 1 pinnumber=164 T 14350 17350 5 10 0 0 90 0 1 pinseq=164 } P 14700 17300 14700 17600 1 0 1 { T 14650 17350 5 10 1 1 90 0 1 pinnumber=163 T 14650 17350 5 10 0 0 90 0 1 pinseq=163 } P 15000 17300 15000 17600 1 0 1 { T 14950 17350 5 10 1 1 90 0 1 pinnumber=162 T 14950 17350 5 10 0 0 90 0 1 pinseq=162 } P 15300 17300 15300 17600 1 0 1 { T 15250 17350 5 10 1 1 90 0 1 pinnumber=161 T 15250 17350 5 10 0 0 90 0 1 pinseq=161 } P 15600 17300 15600 17600 1 0 1 { T 15550 17350 5 10 1 1 90 0 1 pinnumber=160 T 15550 17350 5 10 0 0 90 0 1 pinseq=160 } P 15900 17300 15900 17600 1 0 1 { T 15850 17350 5 10 1 1 90 0 1 pinnumber=159 T 15850 17350 5 10 0 0 90 0 1 pinseq=159 } P 16200 17300 16200 17600 1 0 1 { T 16150 17350 5 10 1 1 90 0 1 pinnumber=158 T 16150 17350 5 10 0 0 90 0 1 pinseq=158 } P 16500 17300 16500 17600 1 0 1 { T 16450 17350 5 10 1 1 90 0 1 pinnumber=157 T 16450 17350 5 10 0 0 90 0 1 pinseq=157 } P 1200 100 1200 400 1 0 0 { T 1150 100 5 10 1 1 90 0 1 pinnumber=53 T 1150 100 5 10 0 0 90 0 1 pinseq=53 } P 1500 100 1500 400 1 0 0 { T 1450 100 5 10 1 1 90 0 1 pinnumber=54 T 1450 100 5 10 0 0 90 0 1 pinseq=54 } P 1800 100 1800 400 1 0 0 { T 1750 100 5 10 1 1 90 0 1 pinnumber=55 T 1750 100 5 10 0 0 90 0 1 pinseq=55 } P 2100 100 2100 400 1 0 0 { T 2050 100 5 10 1 1 90 0 1 pinnumber=56 T 2050 100 5 10 0 0 90 0 1 pinseq=56 } P 2400 100 2400 400 1 0 0 { T 2350 100 5 10 1 1 90 0 1 pinnumber=57 T 2350 100 5 10 0 0 90 0 1 pinseq=57 } P 2700 100 2700 400 1 0 0 { T 2650 100 5 10 1 1 90 0 1 pinnumber=58 T 2650 100 5 10 0 0 90 0 1 pinseq=58 } P 3000 100 3000 400 1 0 0 { T 2950 100 5 10 1 1 90 0 1 pinnumber=59 T 2950 100 5 10 0 0 90 0 1 pinseq=59 } P 3300 100 3300 400 1 0 0 { T 3250 100 5 10 1 1 90 0 1 pinnumber=60 T 3250 100 5 10 0 0 90 0 1 pinseq=60 } P 3600 100 3600 400 1 0 0 { T 3550 100 5 10 1 1 90 0 1 pinnumber=61 T 3550 100 5 10 0 0 90 0 1 pinseq=61 } P 3900 100 3900 400 1 0 0 { T 3850 100 5 10 1 1 90 0 1 pinnumber=62 T 3850 100 5 10 0 0 90 0 1 pinseq=62 } P 4200 100 4200 400 1 0 0 { T 4150 100 5 10 1 1 90 0 1 pinnumber=63 T 4150 100 5 10 0 0 90 0 1 pinseq=63 } P 4500 100 4500 400 1 0 0 { T 4450 100 5 10 1 1 90 0 1 pinnumber=64 T 4450 100 5 10 0 0 90 0 1 pinseq=64 } P 4800 100 4800 400 1 0 0 { T 4750 100 5 10 1 1 90 0 1 pinnumber=65 T 4750 100 5 10 0 0 90 0 1 pinseq=65 } P 5100 100 5100 400 1 0 0 { T 5050 100 5 10 1 1 90 0 1 pinnumber=66 T 5050 100 5 10 0 0 90 0 1 pinseq=66 } P 5400 100 5400 400 1 0 0 { T 5350 100 5 10 1 1 90 0 1 pinnumber=67 T 5350 100 5 10 0 0 90 0 1 pinseq=67 } P 5700 100 5700 400 1 0 0 { T 5650 100 5 10 1 1 90 0 1 pinnumber=68 T 5650 100 5 10 0 0 90 0 1 pinseq=68 } P 6000 100 6000 400 1 0 0 { T 5950 100 5 10 1 1 90 0 1 pinnumber=69 T 5950 100 5 10 0 0 90 0 1 pinseq=69 } P 6300 100 6300 400 1 0 0 { T 6250 100 5 10 1 1 90 0 1 pinnumber=70 T 6250 100 5 10 0 0 90 0 1 pinseq=70 } P 6600 100 6600 400 1 0 0 { T 6550 100 5 10 1 1 90 0 1 pinnumber=71 T 6550 100 5 10 0 0 90 0 1 pinseq=71 } P 6900 100 6900 400 1 0 0 { T 6850 100 5 10 1 1 90 0 1 pinnumber=72 T 6850 100 5 10 0 0 90 0 1 pinseq=72 } P 7200 100 7200 400 1 0 0 { T 7150 100 5 10 1 1 90 0 1 pinnumber=73 T 7150 100 5 10 0 0 90 0 1 pinseq=73 } P 7500 100 7500 400 1 0 0 { T 7450 100 5 10 1 1 90 0 1 pinnumber=74 T 7450 100 5 10 0 0 90 0 1 pinseq=74 } P 7800 100 7800 400 1 0 0 { T 7750 100 5 10 1 1 90 0 1 pinnumber=75 T 7750 100 5 10 0 0 90 0 1 pinseq=75 } P 8100 100 8100 400 1 0 0 { T 8050 100 5 10 1 1 90 0 1 pinnumber=76 T 8050 100 5 10 0 0 90 0 1 pinseq=76 } P 8400 100 8400 400 1 0 0 { T 8350 100 5 10 1 1 90 0 1 pinnumber=77 T 8350 100 5 10 0 0 90 0 1 pinseq=77 } P 8700 100 8700 400 1 0 0 { T 8650 100 5 10 1 1 90 0 1 pinnumber=78 T 8650 100 5 10 0 0 90 0 1 pinseq=78 } P 9000 100 9000 400 1 0 0 { T 8950 100 5 10 1 1 90 0 1 pinnumber=79 T 8950 100 5 10 0 0 90 0 1 pinseq=79 } P 9300 100 9300 400 1 0 0 { T 9250 100 5 10 1 1 90 0 1 pinnumber=80 T 9250 100 5 10 0 0 90 0 1 pinseq=80 } P 9600 100 9600 400 1 0 0 { T 9550 100 5 10 1 1 90 0 1 pinnumber=81 T 9550 100 5 10 0 0 90 0 1 pinseq=81 } P 9900 100 9900 400 1 0 0 { T 9850 100 5 10 1 1 90 0 1 pinnumber=82 T 9850 100 5 10 0 0 90 0 1 pinseq=82 } P 10200 100 10200 400 1 0 0 { T 10150 100 5 10 1 1 90 0 1 pinnumber=83 T 10150 100 5 10 0 0 90 0 1 pinseq=83 } P 10500 100 10500 400 1 0 0 { T 10450 100 5 10 1 1 90 0 1 pinnumber=84 T 10450 100 5 10 0 0 90 0 1 pinseq=84 } P 10800 100 10800 400 1 0 0 { T 10750 100 5 10 1 1 90 0 1 pinnumber=85 T 10750 100 5 10 0 0 90 0 1 pinseq=85 } P 11100 100 11100 400 1 0 0 { T 11050 100 5 10 1 1 90 0 1 pinnumber=86 T 11050 100 5 10 0 0 90 0 1 pinseq=86 } P 11400 100 11400 400 1 0 0 { T 11350 100 5 10 1 1 90 0 1 pinnumber=87 T 11350 100 5 10 0 0 90 0 1 pinseq=87 } P 11700 100 11700 400 1 0 0 { T 11650 100 5 10 1 1 90 0 1 pinnumber=88 T 11650 100 5 10 0 0 90 0 1 pinseq=88 } P 12000 100 12000 400 1 0 0 { T 11950 100 5 10 1 1 90 0 1 pinnumber=89 T 11950 100 5 10 0 0 90 0 1 pinseq=89 } P 12300 100 12300 400 1 0 0 { T 12250 100 5 10 1 1 90 0 1 pinnumber=90 T 12250 100 5 10 0 0 90 0 1 pinseq=90 } P 12600 100 12600 400 1 0 0 { T 12550 100 5 10 1 1 90 0 1 pinnumber=91 T 12550 100 5 10 0 0 90 0 1 pinseq=91 } P 12900 100 12900 400 1 0 0 { T 12850 100 5 10 1 1 90 0 1 pinnumber=92 T 12850 100 5 10 0 0 90 0 1 pinseq=92 } P 13200 100 13200 400 1 0 0 { T 13150 100 5 10 1 1 90 0 1 pinnumber=93 T 13150 100 5 10 0 0 90 0 1 pinseq=93 } P 13500 100 13500 400 1 0 0 { T 13450 100 5 10 1 1 90 0 1 pinnumber=94 T 13450 100 5 10 0 0 90 0 1 pinseq=94 } P 13800 100 13800 400 1 0 0 { T 13750 100 5 10 1 1 90 0 1 pinnumber=95 T 13750 100 5 10 0 0 90 0 1 pinseq=95 } P 14100 100 14100 400 1 0 0 { T 14050 100 5 10 1 1 90 0 1 pinnumber=96 T 14050 100 5 10 0 0 90 0 1 pinseq=96 } P 14400 100 14400 400 1 0 0 { T 14350 100 5 10 1 1 90 0 1 pinnumber=97 T 14350 100 5 10 0 0 90 0 1 pinseq=97 } P 14700 100 14700 400 1 0 0 { T 14650 100 5 10 1 1 90 0 1 pinnumber=98 T 14650 100 5 10 0 0 90 0 1 pinseq=98 } P 15000 100 15000 400 1 0 0 { T 14950 100 5 10 1 1 90 0 1 pinnumber=99 T 14950 100 5 10 0 0 90 0 1 pinseq=99 } P 15300 100 15300 400 1 0 0 { T 15250 50 5 10 1 1 90 0 1 pinnumber=100 T 15250 50 5 10 0 0 90 0 1 pinseq=100 } P 15600 100 15600 400 1 0 0 { T 15550 50 5 10 1 1 90 0 1 pinnumber=101 T 15550 50 5 10 0 0 90 0 1 pinseq=101 } P 15900 100 15900 400 1 0 0 { T 15850 50 5 10 1 1 90 0 1 pinnumber=102 T 15850 50 5 10 0 0 90 0 1 pinseq=102 } P 16200 100 16200 400 1 0 0 { T 16150 50 5 10 1 1 90 0 1 pinnumber=103 T 16150 50 5 10 0 0 90 0 1 pinseq=103 } P 16500 100 16500 400 1 0 0 { T 16450 50 5 10 1 1 90 0 1 pinnumber=104 T 16450 50 5 10 0 0 90 0 1 pinseq=104 } P 17300 12600 17600 12600 1 0 1 { T 17350 12650 5 10 1 1 0 0 1 pinnumber=143 T 17350 12650 5 10 0 0 0 0 1 pinseq=143 } P 17300 12300 17600 12300 1 0 1 { T 17350 12350 5 10 1 1 0 0 1 pinnumber=142 T 17350 12350 5 10 0 0 0 0 1 pinseq=142 } P 17300 12000 17600 12000 1 0 1 { T 17350 12050 5 10 1 1 0 0 1 pinnumber=141 T 17350 12050 5 10 0 0 0 0 1 pinseq=141 } P 17300 11700 17600 11700 1 0 1 { T 17350 11750 5 10 1 1 0 0 1 pinnumber=140 T 17350 11750 5 10 0 0 0 0 1 pinseq=140 } P 17300 11400 17600 11400 1 0 1 { T 17350 11500 5 10 1 1 0 0 1 pinnumber=139 T 17350 11500 5 10 0 0 0 0 1 pinseq=139 } P 17300 11100 17600 11100 1 0 1 { T 17350 11150 5 10 1 1 0 0 1 pinnumber=138 T 17350 11150 5 10 0 0 0 0 1 pinseq=138 } P 17300 10800 17600 10800 1 0 1 { T 17350 10850 5 10 1 1 0 0 1 pinnumber=137 T 17350 10850 5 10 0 0 0 0 1 pinseq=137 } P 17300 10500 17600 10500 1 0 1 { T 17350 10550 5 10 1 1 0 0 1 pinnumber=136 T 17350 10550 5 10 0 0 0 0 1 pinseq=136 } P 17300 10200 17600 10200 1 0 1 { T 17350 10250 5 10 1 1 0 0 1 pinnumber=135 T 17350 10250 5 10 0 0 0 0 1 pinseq=135 } P 17300 9900 17600 9900 1 0 1 { T 17350 9950 5 10 1 1 0 0 1 pinnumber=134 T 17350 9950 5 10 0 0 0 0 1 pinseq=134 } P 17300 9600 17600 9600 1 0 1 { T 17350 9650 5 10 1 1 0 0 1 pinnumber=133 T 17350 9650 5 10 0 0 0 0 1 pinseq=133 } P 17300 9300 17600 9300 1 0 1 { T 17350 9350 5 10 1 1 0 0 1 pinnumber=132 T 17350 9350 5 10 0 0 0 0 1 pinseq=132 } P 17300 9000 17600 9000 1 0 1 { T 17350 9050 5 10 1 1 0 0 1 pinnumber=131 T 17350 9050 5 10 0 0 0 0 1 pinseq=131 } P 17300 16500 17600 16500 1 0 1 { T 17350 16550 5 10 1 1 0 0 1 pinnumber=156 T 17350 16550 5 10 0 0 0 0 1 pinseq=156 } P 17300 16200 17600 16200 1 0 1 { T 17350 16250 5 10 1 1 0 0 1 pinnumber=155 T 17350 16250 5 10 0 0 0 0 1 pinseq=155 } P 17300 15900 17600 15900 1 0 1 { T 17350 15950 5 10 1 1 0 0 1 pinnumber=154 T 17350 15950 5 10 0 0 0 0 1 pinseq=154 } P 17300 15600 17600 15600 1 0 1 { T 17350 15650 5 10 1 1 0 0 1 pinnumber=153 T 17350 15650 5 10 0 0 0 0 1 pinseq=153 } P 17300 15300 17600 15300 1 0 1 { T 17350 15350 5 10 1 1 0 0 1 pinnumber=152 T 17350 15350 5 10 0 0 0 0 1 pinseq=152 } P 17300 15000 17600 15000 1 0 1 { T 17350 15050 5 10 1 1 0 0 1 pinnumber=151 T 17350 15050 5 10 0 0 0 0 1 pinseq=151 } P 17300 14700 17600 14700 1 0 1 { T 17350 14750 5 10 1 1 0 0 1 pinnumber=150 T 17350 14750 5 10 0 0 0 0 1 pinseq=150 } P 17300 14400 17600 14400 1 0 1 { T 17350 14450 5 10 1 1 0 0 1 pinnumber=149 T 17350 14450 5 10 0 0 0 0 1 pinseq=149 } P 17300 14100 17600 14100 1 0 1 { T 17350 14150 5 10 1 1 0 0 1 pinnumber=148 T 17350 14150 5 10 0 0 0 0 1 pinseq=148 } P 17300 13800 17600 13800 1 0 1 { T 17350 13850 5 10 1 1 0 0 1 pinnumber=147 T 17350 13850 5 10 0 0 0 0 1 pinseq=147 } P 17300 13500 17600 13500 1 0 1 { T 17350 13550 5 10 1 1 0 0 1 pinnumber=146 T 17350 13550 5 10 0 0 0 0 1 pinseq=146 } P 17300 13200 17600 13200 1 0 1 { T 17350 13250 5 10 1 1 0 0 1 pinnumber=145 T 17350 13250 5 10 0 0 0 0 1 pinseq=145 } P 17300 12900 17600 12900 1 0 1 { T 17350 12950 5 10 1 1 0 0 1 pinnumber=144 T 17350 12950 5 10 0 0 0 0 1 pinseq=144 } P 17300 8700 17600 8700 1 0 1 { T 17350 8750 5 10 1 1 0 0 1 pinnumber=130 T 17350 8750 5 10 0 0 0 0 1 pinseq=130 } P 17300 8400 17600 8400 1 0 1 { T 17350 8450 5 10 1 1 0 0 1 pinnumber=129 T 17350 8450 5 10 0 0 0 0 1 pinseq=129 } P 17300 8100 17600 8100 1 0 1 { T 17350 8150 5 10 1 1 0 0 1 pinnumber=128 T 17350 8150 5 10 0 0 0 0 1 pinseq=128 } P 17300 7800 17600 7800 1 0 1 { T 17350 7850 5 10 1 1 0 0 1 pinnumber=127 T 17350 7850 5 10 0 0 0 0 1 pinseq=127 } P 17300 7500 17600 7500 1 0 1 { T 17350 7550 5 10 1 1 0 0 1 pinnumber=126 T 17350 7550 5 10 0 0 0 0 1 pinseq=126 } P 17300 7200 17600 7200 1 0 1 { T 17350 7250 5 10 1 1 0 0 1 pinnumber=125 T 17350 7250 5 10 0 0 0 0 1 pinseq=125 } P 17300 6900 17600 6900 1 0 1 { T 17350 6950 5 10 1 1 0 0 1 pinnumber=124 T 17350 6950 5 10 0 0 0 0 1 pinseq=124 } P 17300 6600 17600 6600 1 0 1 { T 17350 6650 5 10 1 1 0 0 1 pinnumber=123 T 17350 6650 5 10 0 0 0 0 1 pinseq=123 } P 17300 6300 17600 6300 1 0 1 { T 17350 6350 5 10 1 1 0 0 1 pinnumber=122 T 17350 6350 5 10 0 0 0 0 1 pinseq=122 } P 17300 6000 17600 6000 1 0 1 { T 17350 6050 5 10 1 1 0 0 1 pinnumber=121 T 17350 6050 5 10 0 0 0 0 1 pinseq=121 } P 17300 5700 17600 5700 1 0 1 { T 17350 5750 5 10 1 1 0 0 1 pinnumber=120 T 17350 5750 5 10 0 0 0 0 1 pinseq=120 } P 17300 5400 17600 5400 1 0 1 { T 17350 5450 5 10 1 1 0 0 1 pinnumber=119 T 17350 5450 5 10 0 0 0 0 1 pinseq=119 } P 17300 5100 17600 5100 1 0 1 { T 17350 5150 5 10 1 1 0 0 1 pinnumber=118 T 17350 5150 5 10 0 0 0 0 1 pinseq=118 } P 17300 4800 17600 4800 1 0 1 { T 17350 4850 5 10 1 1 0 0 1 pinnumber=117 T 17350 4850 5 10 0 0 0 0 1 pinseq=117 } P 17300 4500 17600 4500 1 0 1 { T 17350 4550 5 10 1 1 0 0 1 pinnumber=116 T 17350 4550 5 10 0 0 0 0 1 pinseq=116 } P 17300 4200 17600 4200 1 0 1 { T 17350 4250 5 10 1 1 0 0 1 pinnumber=115 T 17350 4250 5 10 0 0 0 0 1 pinseq=115 } P 17300 3900 17600 3900 1 0 1 { T 17350 3950 5 10 1 1 0 0 1 pinnumber=114 T 17350 3950 5 10 0 0 0 0 1 pinseq=114 } P 17300 3600 17600 3600 1 0 1 { T 17350 3650 5 10 1 1 0 0 1 pinnumber=113 T 17350 3650 5 10 0 0 0 0 1 pinseq=113 } P 17300 3300 17600 3300 1 0 1 { T 17350 3350 5 10 1 1 0 0 1 pinnumber=112 T 17350 3350 5 10 0 0 0 0 1 pinseq=112 } P 17300 3000 17600 3000 1 0 1 { T 17350 3050 5 10 1 1 0 0 1 pinnumber=111 T 17350 3050 5 10 0 0 0 0 1 pinseq=111 } P 17300 2700 17600 2700 1 0 1 { T 17350 2750 5 10 1 1 0 0 1 pinnumber=110 T 17350 2750 5 10 0 0 0 0 1 pinseq=110 } P 17300 2400 17600 2400 1 0 1 { T 17350 2450 5 10 1 1 0 0 1 pinnumber=109 T 17350 2450 5 10 0 0 0 0 1 pinseq=109 } P 17300 2100 17600 2100 1 0 1 { T 17350 2150 5 10 1 1 0 0 1 pinnumber=108 T 17350 2150 5 10 0 0 0 0 1 pinseq=108 } P 17300 1800 17600 1800 1 0 1 { T 17350 1850 5 10 1 1 0 0 1 pinnumber=107 T 17350 1850 5 10 0 0 0 0 1 pinseq=107 } P 17300 1500 17600 1500 1 0 1 { T 17350 1550 5 10 1 1 0 0 1 pinnumber=106 T 17350 1550 5 10 0 0 0 0 1 pinseq=106 } P 17300 1200 17600 1200 1 0 1 { T 17350 1250 5 10 1 1 0 0 1 pinnumber=105 T 17350 1250 5 10 0 0 0 0 1 pinseq=105 } B 400 400 16900 16900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 17300 5 10 0 1 0 0 1 device=XC2S50-5PQ208I T 16600 17650 8 10 1 1 0 0 1 refdes=U? T 500 16500 9 10 1 0 0 0 1 GND T 500 13500 9 10 1 0 0 0 1 GND T 500 11100 9 10 1 0 0 0 1 GND T 500 16200 9 10 1 0 0 0 1 TMS T 500 15900 9 10 1 0 0 0 1 I/O T 500 15600 9 10 1 0 0 0 1 I/O T 500 14400 9 10 1 0 0 0 1 I/O T 500 15000 9 10 1 0 0 0 1 I/O, VREF T 500 14100 9 10 1 0 0 0 1 I/O T 500 13800 9 10 1 0 0 0 1 I/O T 500 13200 9 10 1 0 0 0 1 VCCO T 500 12600 9 10 1 0 0 0 1 I/O T 500 12300 9 10 1 0 0 0 1 I/O T 500 12000 9 10 1 0 0 0 1 I/O T 500 11700 9 10 1 0 0 0 1 I/O T 500 11400 9 10 1 0 0 0 1 I/O T 500 15300 9 10 1 0 0 0 1 I/O T 500 10800 9 10 1 0 0 0 1 I/O, VREF T 500 10500 9 10 1 0 0 0 1 I/O T 500 10200 9 10 1 0 0 0 1 I/O T 500 9900 9 10 1 0 0 0 1 I/O T 500 9600 9 10 1 0 0 0 1 I/O, IRDY T 500 1500 9 10 1 0 0 0 1 GND T 500 4800 9 10 1 0 0 0 1 GND T 500 7200 9 10 1 0 0 0 1 GND T 500 9300 9 10 1 0 0 0 1 GND T 500 9000 9 10 1 0 0 0 1 VCCO T 500 5100 9 10 1 0 0 0 1 VCCO T 500 8400 9 10 1 0 0 0 1 VCCINT T 500 7500 9 10 1 0 0 0 1 I/O, VREF T 500 3300 9 10 1 0 0 0 1 I/O, VREF T 500 8700 9 10 1 0 0 0 1 I/O, TRDY T 500 8100 9 10 1 0 0 0 1 I/O T 500 7800 9 10 1 0 0 0 1 I/O T 500 6900 9 10 1 0 0 0 1 I/O T 500 6600 9 10 1 0 0 0 1 I/O T 500 6300 9 10 1 0 0 0 1 I/O T 500 6000 9 10 1 0 0 0 1 I/O T 500 5700 9 10 1 0 0 0 1 I/O T 500 4500 9 10 1 0 0 0 1 I/O T 500 4200 9 10 1 0 0 0 1 I/O T 500 3900 9 10 1 0 0 0 1 I/O T 500 3000 9 10 1 0 0 0 1 I/O T 500 2700 9 10 1 0 0 0 1 I/O T 500 2400 9 10 1 0 0 0 1 I/O T 500 2100 9 10 1 0 0 0 1 I/O T 500 1800 9 10 1 0 0 0 1 M1 T 500 1200 9 10 1 0 0 0 1 M0 T 500 3600 9 10 1 0 0 0 1 I/O T 500 14700 9 10 1 0 0 0 1 I/O T 500 12900 9 10 1 0 0 0 1 VCCINT T 500 5400 9 10 1 0 0 0 1 VCCINT T 16600 17450 9 10 1 0 0 0 1 XC2S50-5PQ208I T 1200 500 9 10 1 0 90 0 1 VCCO T 1500 500 9 10 1 0 90 0 1 M2 T 2400 500 9 10 1 0 90 0 1 I/O T 2700 500 9 10 1 0 90 0 1 I/O T 3000 500 9 10 1 0 90 0 1 I/O, VREF T 3300 500 9 10 1 0 90 0 1 I/O T 3600 500 9 10 1 0 90 0 1 I/O T 3900 500 9 10 1 0 90 0 1 I/O T 4200 500 9 10 1 0 90 0 1 I/O T 4500 500 9 10 1 0 90 0 1 GND T 4800 500 9 10 1 0 90 0 1 VCCO T 5100 500 9 10 1 0 90 0 1 VCCINT T 5400 500 9 10 1 0 90 0 1 I/O T 5700 500 9 10 1 0 90 0 1 I/O T 6000 500 9 10 1 0 90 0 1 I/O T 6300 500 9 10 1 0 90 0 1 I/O T 6600 500 9 10 1 0 90 0 1 I/O T 6900 500 9 10 1 0 90 0 1 GND T 7200 500 9 10 1 0 90 0 1 I/O, VREF T 7500 500 9 10 1 0 90 0 1 I/O T 7800 500 9 10 1 0 90 0 1 I/O T 8100 500 9 10 1 0 90 0 1 VCCINT T 8400 500 9 10 1 0 90 0 1 I, GCK1 T 9300 500 9 10 1 0 90 0 1 I, GCK0 T 8700 500 9 10 1 0 90 0 1 VCCO T 9000 500 9 10 1 0 90 0 1 GND T 9600 500 9 10 1 0 90 0 1 I/O T 9900 500 9 10 1 0 90 0 1 I/O T 10200 500 9 10 1 0 90 0 1 I/O T 10500 500 9 10 1 0 90 0 1 I/O, VREF T 10800 500 9 10 1 0 90 0 1 GND T 11100 500 9 10 1 0 90 0 1 I/O T 11400 500 9 10 1 0 90 0 1 I/O T 11700 500 9 10 1 0 90 0 1 I/O T 12000 500 9 10 1 0 90 0 1 I/O T 12300 500 9 10 1 0 90 0 1 I/O T 12600 500 9 10 1 0 90 0 1 VCCINT T 12900 500 9 10 1 0 90 0 1 VCCO T 13200 500 9 10 1 0 90 0 1 GND T 13500 500 9 10 1 0 90 0 1 I/O T 13800 500 9 10 1 0 90 0 1 I/O T 14100 500 9 10 1 0 90 0 1 I/O T 14400 500 9 10 1 0 90 0 1 I/O T 14700 500 9 10 1 0 90 0 1 I/O, VREF T 15000 500 9 10 1 0 90 0 1 I/O T 15300 500 9 10 1 0 90 0 1 I/O T 15600 500 9 10 1 0 90 0 1 I/O T 15900 500 9 10 1 0 90 0 1 I/O T 16200 500 9 10 1 0 90 0 1 GND T 16500 500 9 10 1 0 90 0 1 DONE T 17200 1200 9 10 1 0 0 6 1 VCCO T 17200 1500 9 10 1 0 0 6 1 PROGRAM T 17200 1800 9 10 1 0 0 6 1 I/O (INIT) T 17200 2100 9 10 1 0 0 6 1 I/O (D7) T 17200 2400 9 10 1 0 0 6 1 I/O T 17200 2700 9 10 1 0 0 6 1 I/O T 17200 3000 9 10 1 0 0 6 1 I/O, VREF T 17200 3300 9 10 1 0 0 6 1 I/O T 17200 3600 9 10 1 0 0 6 1 I/O T 17200 3900 9 10 1 0 0 6 1 I/O T 17200 4200 9 10 1 0 0 6 1 I/O (D6) T 17200 4500 9 10 1 0 0 6 1 GND T 17200 4800 9 10 1 0 0 6 1 VCCO T 17200 5100 9 10 1 0 0 6 1 VCCINT T 17200 5400 9 10 1 0 0 6 1 I/O (D5) T 17200 5700 9 10 1 0 0 6 1 I/O T 17200 6000 9 10 1 0 0 6 1 I/O T 17200 6300 9 10 1 0 0 6 1 I/O T 17200 6600 9 10 1 0 0 6 1 I/O T 17200 6900 9 10 1 0 0 6 1 GND T 17200 7200 9 10 1 0 0 6 1 I/O, VREF T 17200 7500 9 10 1 0 0 6 1 I/O (D4) T 17200 7800 9 10 1 0 0 6 1 I/O T 17200 8100 9 10 1 0 0 6 1 VCCINT T 17200 8400 9 10 1 0 0 6 1 I/O, TRDY T 17200 8700 9 10 1 0 0 6 1 VCCO T 17200 9000 9 10 1 0 0 6 1 GND T 17200 9300 9 10 1 0 0 6 1 I/O, IRDY T 17200 9600 9 10 1 0 0 6 1 I/O T 17200 9900 9 10 1 0 0 6 1 I/O T 17200 10200 9 10 1 0 0 6 1 I/O (D3) T 17200 10500 9 10 1 0 0 6 1 I/O, VREF T 17200 10800 9 10 1 0 0 6 1 GND T 17200 11100 9 10 1 0 0 6 1 I/O T 17200 11400 9 10 1 0 0 6 1 I/O T 17200 11700 9 10 1 0 0 6 1 I/O T 17200 12000 9 10 1 0 0 6 1 I/O T 17200 12300 9 10 1 0 0 6 1 I/O (D2) T 17200 12600 9 10 1 0 0 6 1 VCCINT T 17200 12900 9 10 1 0 0 6 1 VCCO T 17200 13200 9 10 1 0 0 6 1 GND T 17200 13500 9 10 1 0 0 6 1 I/O (D1) T 17200 13800 9 10 1 0 0 6 1 I/O T 17200 14100 9 10 1 0 0 6 1 I/O T 17200 14400 9 10 1 0 0 6 1 I/O T 17200 14700 9 10 1 0 0 6 1 I/O, VREF T 17200 15000 9 10 1 0 0 6 1 I/O T 17200 15300 9 10 1 0 0 6 1 I/O T 17200 15600 9 10 1 0 0 6 1 I/O (DIN, D0) T 17200 15900 9 10 1 0 0 6 1 I/O (DOUT, BUSY) T 17200 16200 9 10 1 0 0 6 1 CCLK T 17200 16500 9 10 1 0 0 6 1 VCCO T 16500 17200 9 10 1 0 90 6 1 TDO T 16200 17200 9 10 1 0 90 6 1 GND T 15900 17200 9 10 1 0 90 6 1 TDI T 15600 17200 9 10 1 0 90 6 1 I/O (CS) T 15300 17200 9 10 1 0 90 6 1 I/O (WRITE) T 15000 17200 9 10 1 0 90 6 1 I/O T 14700 17200 9 10 1 0 90 6 1 I/O T 14400 17200 9 10 1 0 90 6 1 I/O, VREF T 14100 17200 9 10 1 0 90 6 1 I/O T 13800 17200 9 10 1 0 90 6 1 I/O T 13500 17200 9 10 1 0 90 6 1 I/O T 13200 17200 9 10 1 0 90 6 1 I/O T 12900 17200 9 10 1 0 90 6 1 GND T 12600 17200 9 10 1 0 90 6 1 VCCO T 12300 17200 9 10 1 0 90 6 1 VCCINT T 12000 17200 9 10 1 0 90 6 1 I/O T 11700 17200 9 10 1 0 90 6 1 I/O T 11400 17200 9 10 1 0 90 6 1 I/O T 11100 17200 9 10 1 0 90 6 1 I/O T 10800 17200 9 10 1 0 90 6 1 I/O T 10500 17200 9 10 1 0 90 6 1 GND T 10200 17200 9 10 1 0 90 6 1 I/O, VREF T 9900 17200 9 10 1 0 90 6 1 I/O T 9600 17200 9 10 1 0 90 6 1 I/O T 9300 17200 9 10 1 0 90 6 1 I/O T 9000 17200 9 10 1 0 90 6 1 I, GCK2 T 8100 17200 9 10 1 0 90 6 1 I, GCK3 T 8700 17200 9 10 1 0 90 6 1 GND T 8400 17200 9 10 1 0 90 6 1 VCCO T 7800 17200 9 10 1 0 90 6 1 VCCINT T 7500 17200 9 10 1 0 90 6 1 I/O T 7200 17200 9 10 1 0 90 6 1 I/O T 6900 17200 9 10 1 0 90 6 1 I/O, VREF T 6600 17200 9 10 1 0 90 6 1 GND T 6300 17200 9 10 1 0 90 6 1 I/O T 6000 17200 9 10 1 0 90 6 1 I/O T 5700 17200 9 10 1 0 90 6 1 I/O T 5400 17200 9 10 1 0 90 6 1 I/O T 5100 17200 9 10 1 0 90 6 1 I/O T 4800 17200 9 10 1 0 90 6 1 VCCINT T 4500 17200 9 10 1 0 90 6 1 VCCO T 4200 17200 9 10 1 0 90 6 1 GND T 3900 17200 9 10 1 0 90 6 1 I/O T 3600 17200 9 10 1 0 90 6 1 I/O T 3300 17200 9 10 1 0 90 6 1 I/O T 3000 17200 9 10 1 0 90 6 1 I/O T 2700 17200 9 10 1 0 90 6 1 I/O, VREF T 2400 17200 9 10 1 0 90 6 1 I/O T 2100 17200 9 10 1 0 90 6 1 I/O T 1800 17200 9 10 1 0 90 6 1 I/O T 1500 17200 9 10 1 0 90 6 1 TCK T 1200 17200 9 10 1 0 90 6 1 VCCO L 1100 9100 2600 9100 3 0 0 0 -1 -1 L 900 16800 2600 15100 3 0 0 0 -1 -1 L 1100 1100 2600 2600 3 0 0 0 -1 -1 L 8600 1100 8600 2600 3 0 0 0 -1 -1 L 16600 1100 15100 2600 3 0 0 0 -1 -1 L 16600 8600 15100 8600 3 0 0 0 -1 -1 L 16600 16600 15100 15100 3 0 0 0 -1 -1 L 8400 16600 8400 15100 3 0 0 0 -1 -1 T 1600 12800 9 30 1 0 0 0 1 BANK7 T 1600 5200 9 30 1 0 0 0 1 BANK6 T 4100 1600 9 30 1 0 0 0 1 BANK5 T 11600 1600 9 30 1 0 0 0 1 BANK4 T 14100 5100 9 30 1 0 0 0 1 BANK3 T 14100 12800 9 30 1 0 0 0 1 BANK2 T 11600 15700 9 30 1 0 0 0 1 BANK1 T 3600 15700 9 30 1 0 0 0 1 BANK0 geda-gaf-1.8.2/symbols/xilinx/XC2S200-5PQ208C.sym0000664000175000017500000007464012204104273015544 00000000000000v 20031231 1 P 100 12600 400 12600 1 0 0 { T 100 12650 5 10 1 1 0 0 1 pinnumber=14 T 100 12650 5 10 0 0 0 0 1 pinseq=14 } P 100 12300 400 12300 1 0 0 { T 100 12350 5 10 1 1 0 0 1 pinnumber=15 T 100 12350 5 10 0 0 0 0 1 pinseq=15 } P 100 12000 400 12000 1 0 0 { T 100 12050 5 10 1 1 0 0 1 pinnumber=16 T 100 12050 5 10 0 0 0 0 1 pinseq=16 } P 100 11700 400 11700 1 0 0 { T 100 11750 5 10 1 1 0 0 1 pinnumber=17 T 100 11750 5 10 0 0 0 0 1 pinseq=17 } P 100 11400 400 11400 1 0 0 { T 100 11450 5 10 1 1 0 0 1 pinnumber=18 T 100 11450 5 10 0 0 0 0 1 pinseq=18 } P 100 11100 400 11100 1 0 0 { T 100 11150 5 10 1 1 0 0 1 pinnumber=19 T 100 11150 5 10 0 0 0 0 1 pinseq=19 } P 100 10800 400 10800 1 0 0 { T 100 10850 5 10 1 1 0 0 1 pinnumber=20 T 100 10850 5 10 0 0 0 0 1 pinseq=20 } P 100 10500 400 10500 1 0 0 { T 100 10550 5 10 1 1 0 0 1 pinnumber=21 T 100 10550 5 10 0 0 0 0 1 pinseq=21 } P 100 10200 400 10200 1 0 0 { T 100 10250 5 10 1 1 0 0 1 pinnumber=22 T 100 10250 5 10 0 0 0 0 1 pinseq=22 } P 100 9900 400 9900 1 0 0 { T 100 9950 5 10 1 1 0 0 1 pinnumber=23 T 100 9950 5 10 0 0 0 0 1 pinseq=23 } P 100 9600 400 9600 1 0 0 { T 100 9650 5 10 1 1 0 0 1 pinnumber=24 T 100 9650 5 10 0 0 0 0 1 pinseq=24 } P 100 9300 400 9300 1 0 0 { T 100 9350 5 10 1 1 0 0 1 pinnumber=25 T 100 9350 5 10 0 0 0 0 1 pinseq=25 } P 100 9000 400 9000 1 0 0 { T 100 9050 5 10 1 1 0 0 1 pinnumber=26 T 100 9050 5 10 0 0 0 0 1 pinseq=26 } P 100 16500 400 16500 1 0 0 { T 100 16550 5 10 1 1 0 0 1 pinnumber=1 T 100 16550 5 10 0 0 0 0 1 pinseq=1 } P 100 16200 400 16200 1 0 0 { T 100 16250 5 10 1 1 0 0 1 pinnumber=2 T 100 16250 5 10 0 0 0 0 1 pinseq=2 } P 100 15900 400 15900 1 0 0 { T 100 15950 5 10 1 1 0 0 1 pinnumber=3 T 100 15950 5 10 0 0 0 0 1 pinseq=3 } P 100 15600 400 15600 1 0 0 { T 100 15650 5 10 1 1 0 0 1 pinnumber=4 T 100 15650 5 10 0 0 0 0 1 pinseq=4 } P 100 15300 400 15300 1 0 0 { T 100 15350 5 10 1 1 0 0 1 pinnumber=5 T 100 15350 5 10 0 0 0 0 1 pinseq=5 } P 100 15000 400 15000 1 0 0 { T 100 15050 5 10 1 1 0 0 1 pinnumber=6 T 100 15050 5 10 0 0 0 0 1 pinseq=6 } P 100 14700 400 14700 1 0 0 { T 100 14750 5 10 1 1 0 0 1 pinnumber=7 T 100 14750 5 10 0 0 0 0 1 pinseq=7 } P 100 14400 400 14400 1 0 0 { T 100 14450 5 10 1 1 0 0 1 pinnumber=8 T 100 14450 5 10 0 0 0 0 1 pinseq=8 } P 100 14100 400 14100 1 0 0 { T 100 14150 5 10 1 1 0 0 1 pinnumber=9 T 100 14150 5 10 0 0 0 0 1 pinseq=9 } P 100 13800 400 13800 1 0 0 { T 100 13850 5 10 1 1 0 0 1 pinnumber=10 T 100 13850 5 10 0 0 0 0 1 pinseq=10 } P 100 13500 400 13500 1 0 0 { T 100 13550 5 10 1 1 0 0 1 pinnumber=11 T 100 13550 5 10 0 0 0 0 1 pinseq=11 } P 100 13200 400 13200 1 0 0 { T 100 13250 5 10 1 1 0 0 1 pinnumber=12 T 100 13250 5 10 0 0 0 0 1 pinseq=12 } P 100 12900 400 12900 1 0 0 { T 100 12950 5 10 1 1 0 0 1 pinnumber=13 T 100 12950 5 10 0 0 0 0 1 pinseq=13 } P 100 8700 400 8700 1 0 0 { T 100 8750 5 10 1 1 0 0 1 pinnumber=27 T 100 8750 5 10 0 0 0 0 1 pinseq=27 } P 100 8400 400 8400 1 0 0 { T 100 8450 5 10 1 1 0 0 1 pinnumber=28 T 100 8450 5 10 0 0 0 0 1 pinseq=28 } P 100 8100 400 8100 1 0 0 { T 100 8150 5 10 1 1 0 0 1 pinnumber=29 T 100 8150 5 10 0 0 0 0 1 pinseq=29 } P 100 7800 400 7800 1 0 0 { T 100 7850 5 10 1 1 0 0 1 pinnumber=30 T 100 7850 5 10 0 0 0 0 1 pinseq=30 } P 100 7500 400 7500 1 0 0 { T 100 7550 5 10 1 1 0 0 1 pinnumber=31 T 100 7550 5 10 0 0 0 0 1 pinseq=31 } P 100 7200 400 7200 1 0 0 { T 100 7250 5 10 1 1 0 0 1 pinnumber=32 T 100 7250 5 10 0 0 0 0 1 pinseq=32 } P 100 6900 400 6900 1 0 0 { T 100 6950 5 10 1 1 0 0 1 pinnumber=33 T 100 6950 5 10 0 0 0 0 1 pinseq=33 } P 100 6600 400 6600 1 0 0 { T 100 6650 5 10 1 1 0 0 1 pinnumber=34 T 100 6650 5 10 0 0 0 0 1 pinseq=34 } P 100 6300 400 6300 1 0 0 { T 100 6350 5 10 1 1 0 0 1 pinnumber=35 T 100 6350 5 10 0 0 0 0 1 pinseq=35 } P 100 6000 400 6000 1 0 0 { T 100 6050 5 10 1 1 0 0 1 pinnumber=36 T 100 6050 5 10 0 0 0 0 1 pinseq=36 } P 100 5700 400 5700 1 0 0 { T 100 5750 5 10 1 1 0 0 1 pinnumber=37 T 100 5750 5 10 0 0 0 0 1 pinseq=37 } P 100 5400 400 5400 1 0 0 { T 100 5450 5 10 1 1 0 0 1 pinnumber=38 T 100 5450 5 10 0 0 0 0 1 pinseq=38 } P 100 5100 400 5100 1 0 0 { T 100 5150 5 10 1 1 0 0 1 pinnumber=39 T 100 5150 5 10 0 0 0 0 1 pinseq=39 } P 100 4800 400 4800 1 0 0 { T 100 4850 5 10 1 1 0 0 1 pinnumber=40 T 100 4850 5 10 0 0 0 0 1 pinseq=40 } P 100 4500 400 4500 1 0 0 { T 100 4550 5 10 1 1 0 0 1 pinnumber=41 T 100 4550 5 10 0 0 0 0 1 pinseq=41 } P 100 4200 400 4200 1 0 0 { T 100 4250 5 10 1 1 0 0 1 pinnumber=42 T 100 4250 5 10 0 0 0 0 1 pinseq=42 } P 100 3900 400 3900 1 0 0 { T 100 3950 5 10 1 1 0 0 1 pinnumber=43 T 100 3950 5 10 0 0 0 0 1 pinseq=43 } P 100 3600 400 3600 1 0 0 { T 100 3650 5 10 1 1 0 0 1 pinnumber=44 T 100 3650 5 10 0 0 0 0 1 pinseq=44 } P 100 3300 400 3300 1 0 0 { T 100 3350 5 10 1 1 0 0 1 pinnumber=45 T 100 3350 5 10 0 0 0 0 1 pinseq=45 } P 100 3000 400 3000 1 0 0 { T 100 3050 5 10 1 1 0 0 1 pinnumber=46 T 100 3050 5 10 0 0 0 0 1 pinseq=46 } P 100 2700 400 2700 1 0 0 { T 100 2750 5 10 1 1 0 0 1 pinnumber=47 T 100 2750 5 10 0 0 0 0 1 pinseq=47 } P 100 2400 400 2400 1 0 0 { T 100 2450 5 10 1 1 0 0 1 pinnumber=48 T 100 2450 5 10 0 0 0 0 1 pinseq=48 } P 100 2100 400 2100 1 0 0 { T 100 2150 5 10 1 1 0 0 1 pinnumber=49 T 100 2150 5 10 0 0 0 0 1 pinseq=49 } P 100 1800 400 1800 1 0 0 { T 100 1850 5 10 1 1 0 0 1 pinnumber=50 T 100 1850 5 10 0 0 0 0 1 pinseq=50 } P 100 1500 400 1500 1 0 0 { T 100 1550 5 10 1 1 0 0 1 pinnumber=51 T 100 1550 5 10 0 0 0 0 1 pinseq=51 } P 100 1200 400 1200 1 0 0 { T 100 1250 5 10 1 1 0 0 1 pinnumber=52 T 100 1250 5 10 0 0 0 0 1 pinseq=52 } P 1200 17300 1200 17600 1 0 1 { T 1150 17350 5 10 1 1 90 0 1 pinnumber=208 T 1150 17350 5 10 0 0 90 0 1 pinseq=208 } P 1500 17300 1500 17600 1 0 1 { T 1450 17350 5 10 1 1 90 0 1 pinnumber=207 T 1450 17350 5 10 0 0 90 0 1 pinseq=207 } P 1800 17300 1800 17600 1 0 1 { T 1750 17350 5 10 1 1 90 0 1 pinnumber=206 T 1750 17350 5 10 0 0 90 0 1 pinseq=206 } P 2100 17300 2100 17600 1 0 1 { T 2050 17350 5 10 1 1 90 0 1 pinnumber=205 T 2050 17350 5 10 0 0 90 0 1 pinseq=205 } P 2400 17300 2400 17600 1 0 1 { T 2350 17350 5 10 1 1 90 0 1 pinnumber=204 T 2350 17350 5 10 0 0 90 0 1 pinseq=204 } P 2700 17300 2700 17600 1 0 1 { T 2650 17350 5 10 1 1 90 0 1 pinnumber=203 T 2650 17350 5 10 0 0 90 0 1 pinseq=203 } P 3000 17300 3000 17600 1 0 1 { T 2950 17350 5 10 1 1 90 0 1 pinnumber=202 T 2950 17350 5 10 0 0 90 0 1 pinseq=202 } P 3300 17300 3300 17600 1 0 1 { T 3250 17350 5 10 1 1 90 0 1 pinnumber=201 T 3250 17350 5 10 0 0 90 0 1 pinseq=201 } P 3600 17300 3600 17600 1 0 1 { T 3550 17350 5 10 1 1 90 0 1 pinnumber=200 T 3550 17350 5 10 0 0 90 0 1 pinseq=200 } P 3900 17300 3900 17600 1 0 1 { T 3850 17350 5 10 1 1 90 0 1 pinnumber=199 T 3850 17350 5 10 0 0 90 0 1 pinseq=199 } P 4200 17300 4200 17600 1 0 1 { T 4150 17350 5 10 1 1 90 0 1 pinnumber=198 T 4150 17350 5 10 0 0 90 0 1 pinseq=198 } P 4500 17300 4500 17600 1 0 1 { T 4450 17350 5 10 1 1 90 0 1 pinnumber=197 T 4450 17350 5 10 0 0 90 0 1 pinseq=197 } P 4800 17300 4800 17600 1 0 1 { T 4750 17350 5 10 1 1 90 0 1 pinnumber=196 T 4750 17350 5 10 0 0 90 0 1 pinseq=196 } P 5100 17300 5100 17600 1 0 1 { T 5050 17350 5 10 1 1 90 0 1 pinnumber=195 T 5050 17350 5 10 0 0 90 0 1 pinseq=195 } P 5400 17300 5400 17600 1 0 1 { T 5350 17350 5 10 1 1 90 0 1 pinnumber=194 T 5350 17350 5 10 0 0 90 0 1 pinseq=194 } P 5700 17300 5700 17600 1 0 1 { T 5650 17350 5 10 1 1 90 0 1 pinnumber=193 T 5650 17350 5 10 0 0 90 0 1 pinseq=193 } P 6000 17300 6000 17600 1 0 1 { T 5950 17350 5 10 1 1 90 0 1 pinnumber=192 T 5950 17350 5 10 0 0 90 0 1 pinseq=192 } P 6300 17300 6300 17600 1 0 1 { T 6250 17350 5 10 1 1 90 0 1 pinnumber=191 T 6250 17350 5 10 0 0 90 0 1 pinseq=191 } P 6600 17300 6600 17600 1 0 1 { T 6550 17350 5 10 1 1 90 0 1 pinnumber=190 T 6550 17350 5 10 0 0 90 0 1 pinseq=190 } P 6900 17300 6900 17600 1 0 1 { T 6850 17350 5 10 1 1 90 0 1 pinnumber=189 T 6850 17350 5 10 0 0 90 0 1 pinseq=189 } P 7200 17300 7200 17600 1 0 1 { T 7150 17350 5 10 1 1 90 0 1 pinnumber=188 T 7150 17350 5 10 0 0 90 0 1 pinseq=188 } P 7500 17300 7500 17600 1 0 1 { T 7450 17350 5 10 1 1 90 0 1 pinnumber=187 T 7450 17350 5 10 0 0 90 0 1 pinseq=187 } P 7800 17300 7800 17600 1 0 1 { T 7750 17350 5 10 1 1 90 0 1 pinnumber=186 T 7750 17350 5 10 0 0 90 0 1 pinseq=186 } P 8100 17300 8100 17600 1 0 1 { T 8050 17350 5 10 1 1 90 0 1 pinnumber=185 T 8050 17350 5 10 0 0 90 0 1 pinseq=185 } P 8400 17300 8400 17600 1 0 1 { T 8350 17350 5 10 1 1 90 0 1 pinnumber=184 T 8350 17350 5 10 0 0 90 0 1 pinseq=184 } P 8700 17300 8700 17600 1 0 1 { T 8650 17350 5 10 1 1 90 0 1 pinnumber=183 T 8650 17350 5 10 0 0 90 0 1 pinseq=183 } P 9000 17300 9000 17600 1 0 1 { T 8950 17350 5 10 1 1 90 0 1 pinnumber=182 T 8950 17350 5 10 0 0 90 0 1 pinseq=182 } P 9300 17300 9300 17600 1 0 1 { T 9250 17350 5 10 1 1 90 0 1 pinnumber=181 T 9250 17350 5 10 0 0 90 0 1 pinseq=181 } P 9600 17300 9600 17600 1 0 1 { T 9550 17350 5 10 1 1 90 0 1 pinnumber=180 T 9550 17350 5 10 0 0 90 0 1 pinseq=180 } P 9900 17300 9900 17600 1 0 1 { T 9850 17350 5 10 1 1 90 0 1 pinnumber=179 T 9850 17350 5 10 0 0 90 0 1 pinseq=179 } P 10200 17300 10200 17600 1 0 1 { T 10150 17350 5 10 1 1 90 0 1 pinnumber=178 T 10150 17350 5 10 0 0 90 0 1 pinseq=178 } P 10500 17300 10500 17600 1 0 1 { T 10450 17350 5 10 1 1 90 0 1 pinnumber=177 T 10450 17350 5 10 0 0 90 0 1 pinseq=177 } P 10800 17300 10800 17600 1 0 1 { T 10750 17350 5 10 1 1 90 0 1 pinnumber=176 T 10750 17350 5 10 0 0 90 0 1 pinseq=176 } P 11100 17300 11100 17600 1 0 1 { T 11050 17350 5 10 1 1 90 0 1 pinnumber=175 T 11050 17350 5 10 0 0 90 0 1 pinseq=175 } P 11400 17300 11400 17600 1 0 1 { T 11350 17350 5 10 1 1 90 0 1 pinnumber=174 T 11350 17350 5 10 0 0 90 0 1 pinseq=174 } P 11700 17300 11700 17600 1 0 1 { T 11650 17350 5 10 1 1 90 0 1 pinnumber=173 T 11650 17350 5 10 0 0 90 0 1 pinseq=173 } P 12000 17300 12000 17600 1 0 1 { T 11950 17350 5 10 1 1 90 0 1 pinnumber=172 T 11950 17350 5 10 0 0 90 0 1 pinseq=172 } P 12300 17300 12300 17600 1 0 1 { T 12250 17350 5 10 1 1 90 0 1 pinnumber=171 T 12250 17350 5 10 0 0 90 0 1 pinseq=171 } P 12600 17300 12600 17600 1 0 1 { T 12550 17350 5 10 1 1 90 0 1 pinnumber=170 T 12550 17350 5 10 0 0 90 0 1 pinseq=170 } P 12900 17300 12900 17600 1 0 1 { T 12850 17350 5 10 1 1 90 0 1 pinnumber=169 T 12850 17350 5 10 0 0 90 0 1 pinseq=169 } P 13200 17300 13200 17600 1 0 1 { T 13150 17350 5 10 1 1 90 0 1 pinnumber=168 T 13150 17350 5 10 0 0 90 0 1 pinseq=168 } P 13500 17300 13500 17600 1 0 1 { T 13450 17350 5 10 1 1 90 0 1 pinnumber=167 T 13450 17350 5 10 0 0 90 0 1 pinseq=167 } P 13800 17300 13800 17600 1 0 1 { T 13750 17350 5 10 1 1 90 0 1 pinnumber=166 T 13750 17350 5 10 0 0 90 0 1 pinseq=166 } P 14100 17300 14100 17600 1 0 1 { T 14050 17350 5 10 1 1 90 0 1 pinnumber=165 T 14050 17350 5 10 0 0 90 0 1 pinseq=165 } P 14400 17300 14400 17600 1 0 1 { T 14350 17350 5 10 1 1 90 0 1 pinnumber=164 T 14350 17350 5 10 0 0 90 0 1 pinseq=164 } P 14700 17300 14700 17600 1 0 1 { T 14650 17350 5 10 1 1 90 0 1 pinnumber=163 T 14650 17350 5 10 0 0 90 0 1 pinseq=163 } P 15000 17300 15000 17600 1 0 1 { T 14950 17350 5 10 1 1 90 0 1 pinnumber=162 T 14950 17350 5 10 0 0 90 0 1 pinseq=162 } P 15300 17300 15300 17600 1 0 1 { T 15250 17350 5 10 1 1 90 0 1 pinnumber=161 T 15250 17350 5 10 0 0 90 0 1 pinseq=161 } P 15600 17300 15600 17600 1 0 1 { T 15550 17350 5 10 1 1 90 0 1 pinnumber=160 T 15550 17350 5 10 0 0 90 0 1 pinseq=160 } P 15900 17300 15900 17600 1 0 1 { T 15850 17350 5 10 1 1 90 0 1 pinnumber=159 T 15850 17350 5 10 0 0 90 0 1 pinseq=159 } P 16200 17300 16200 17600 1 0 1 { T 16150 17350 5 10 1 1 90 0 1 pinnumber=158 T 16150 17350 5 10 0 0 90 0 1 pinseq=158 } P 16500 17300 16500 17600 1 0 1 { T 16450 17350 5 10 1 1 90 0 1 pinnumber=157 T 16450 17350 5 10 0 0 90 0 1 pinseq=157 } P 1200 100 1200 400 1 0 0 { T 1150 100 5 10 1 1 90 0 1 pinnumber=53 T 1150 100 5 10 0 0 90 0 1 pinseq=53 } P 1500 100 1500 400 1 0 0 { T 1450 100 5 10 1 1 90 0 1 pinnumber=54 T 1450 100 5 10 0 0 90 0 1 pinseq=54 } P 1800 100 1800 400 1 0 0 { T 1750 100 5 10 1 1 90 0 1 pinnumber=55 T 1750 100 5 10 0 0 90 0 1 pinseq=55 } P 2100 100 2100 400 1 0 0 { T 2050 100 5 10 1 1 90 0 1 pinnumber=56 T 2050 100 5 10 0 0 90 0 1 pinseq=56 } P 2400 100 2400 400 1 0 0 { T 2350 100 5 10 1 1 90 0 1 pinnumber=57 T 2350 100 5 10 0 0 90 0 1 pinseq=57 } P 2700 100 2700 400 1 0 0 { T 2650 100 5 10 1 1 90 0 1 pinnumber=58 T 2650 100 5 10 0 0 90 0 1 pinseq=58 } P 3000 100 3000 400 1 0 0 { T 2950 100 5 10 1 1 90 0 1 pinnumber=59 T 2950 100 5 10 0 0 90 0 1 pinseq=59 } P 3300 100 3300 400 1 0 0 { T 3250 100 5 10 1 1 90 0 1 pinnumber=60 T 3250 100 5 10 0 0 90 0 1 pinseq=60 } P 3600 100 3600 400 1 0 0 { T 3550 100 5 10 1 1 90 0 1 pinnumber=61 T 3550 100 5 10 0 0 90 0 1 pinseq=61 } P 3900 100 3900 400 1 0 0 { T 3850 100 5 10 1 1 90 0 1 pinnumber=62 T 3850 100 5 10 0 0 90 0 1 pinseq=62 } P 4200 100 4200 400 1 0 0 { T 4150 100 5 10 1 1 90 0 1 pinnumber=63 T 4150 100 5 10 0 0 90 0 1 pinseq=63 } P 4500 100 4500 400 1 0 0 { T 4450 100 5 10 1 1 90 0 1 pinnumber=64 T 4450 100 5 10 0 0 90 0 1 pinseq=64 } P 4800 100 4800 400 1 0 0 { T 4750 100 5 10 1 1 90 0 1 pinnumber=65 T 4750 100 5 10 0 0 90 0 1 pinseq=65 } P 5100 100 5100 400 1 0 0 { T 5050 100 5 10 1 1 90 0 1 pinnumber=66 T 5050 100 5 10 0 0 90 0 1 pinseq=66 } P 5400 100 5400 400 1 0 0 { T 5350 100 5 10 1 1 90 0 1 pinnumber=67 T 5350 100 5 10 0 0 90 0 1 pinseq=67 } P 5700 100 5700 400 1 0 0 { T 5650 100 5 10 1 1 90 0 1 pinnumber=68 T 5650 100 5 10 0 0 90 0 1 pinseq=68 } P 6000 100 6000 400 1 0 0 { T 5950 100 5 10 1 1 90 0 1 pinnumber=69 T 5950 100 5 10 0 0 90 0 1 pinseq=69 } P 6300 100 6300 400 1 0 0 { T 6250 100 5 10 1 1 90 0 1 pinnumber=70 T 6250 100 5 10 0 0 90 0 1 pinseq=70 } P 6600 100 6600 400 1 0 0 { T 6550 100 5 10 1 1 90 0 1 pinnumber=71 T 6550 100 5 10 0 0 90 0 1 pinseq=71 } P 6900 100 6900 400 1 0 0 { T 6850 100 5 10 1 1 90 0 1 pinnumber=72 T 6850 100 5 10 0 0 90 0 1 pinseq=72 } P 7200 100 7200 400 1 0 0 { T 7150 100 5 10 1 1 90 0 1 pinnumber=73 T 7150 100 5 10 0 0 90 0 1 pinseq=73 } P 7500 100 7500 400 1 0 0 { T 7450 100 5 10 1 1 90 0 1 pinnumber=74 T 7450 100 5 10 0 0 90 0 1 pinseq=74 } P 7800 100 7800 400 1 0 0 { T 7750 100 5 10 1 1 90 0 1 pinnumber=75 T 7750 100 5 10 0 0 90 0 1 pinseq=75 } P 8100 100 8100 400 1 0 0 { T 8050 100 5 10 1 1 90 0 1 pinnumber=76 T 8050 100 5 10 0 0 90 0 1 pinseq=76 } P 8400 100 8400 400 1 0 0 { T 8350 100 5 10 1 1 90 0 1 pinnumber=77 T 8350 100 5 10 0 0 90 0 1 pinseq=77 } P 8700 100 8700 400 1 0 0 { T 8650 100 5 10 1 1 90 0 1 pinnumber=78 T 8650 100 5 10 0 0 90 0 1 pinseq=78 } P 9000 100 9000 400 1 0 0 { T 8950 100 5 10 1 1 90 0 1 pinnumber=79 T 8950 100 5 10 0 0 90 0 1 pinseq=79 } P 9300 100 9300 400 1 0 0 { T 9250 100 5 10 1 1 90 0 1 pinnumber=80 T 9250 100 5 10 0 0 90 0 1 pinseq=80 } P 9600 100 9600 400 1 0 0 { T 9550 100 5 10 1 1 90 0 1 pinnumber=81 T 9550 100 5 10 0 0 90 0 1 pinseq=81 } P 9900 100 9900 400 1 0 0 { T 9850 100 5 10 1 1 90 0 1 pinnumber=82 T 9850 100 5 10 0 0 90 0 1 pinseq=82 } P 10200 100 10200 400 1 0 0 { T 10150 100 5 10 1 1 90 0 1 pinnumber=83 T 10150 100 5 10 0 0 90 0 1 pinseq=83 } P 10500 100 10500 400 1 0 0 { T 10450 100 5 10 1 1 90 0 1 pinnumber=84 T 10450 100 5 10 0 0 90 0 1 pinseq=84 } P 10800 100 10800 400 1 0 0 { T 10750 100 5 10 1 1 90 0 1 pinnumber=85 T 10750 100 5 10 0 0 90 0 1 pinseq=85 } P 11100 100 11100 400 1 0 0 { T 11050 100 5 10 1 1 90 0 1 pinnumber=86 T 11050 100 5 10 0 0 90 0 1 pinseq=86 } P 11400 100 11400 400 1 0 0 { T 11350 100 5 10 1 1 90 0 1 pinnumber=87 T 11350 100 5 10 0 0 90 0 1 pinseq=87 } P 11700 100 11700 400 1 0 0 { T 11650 100 5 10 1 1 90 0 1 pinnumber=88 T 11650 100 5 10 0 0 90 0 1 pinseq=88 } P 12000 100 12000 400 1 0 0 { T 11950 100 5 10 1 1 90 0 1 pinnumber=89 T 11950 100 5 10 0 0 90 0 1 pinseq=89 } P 12300 100 12300 400 1 0 0 { T 12250 100 5 10 1 1 90 0 1 pinnumber=90 T 12250 100 5 10 0 0 90 0 1 pinseq=90 } P 12600 100 12600 400 1 0 0 { T 12550 100 5 10 1 1 90 0 1 pinnumber=91 T 12550 100 5 10 0 0 90 0 1 pinseq=91 } P 12900 100 12900 400 1 0 0 { T 12850 100 5 10 1 1 90 0 1 pinnumber=92 T 12850 100 5 10 0 0 90 0 1 pinseq=92 } P 13200 100 13200 400 1 0 0 { T 13150 100 5 10 1 1 90 0 1 pinnumber=93 T 13150 100 5 10 0 0 90 0 1 pinseq=93 } P 13500 100 13500 400 1 0 0 { T 13450 100 5 10 1 1 90 0 1 pinnumber=94 T 13450 100 5 10 0 0 90 0 1 pinseq=94 } P 13800 100 13800 400 1 0 0 { T 13750 100 5 10 1 1 90 0 1 pinnumber=95 T 13750 100 5 10 0 0 90 0 1 pinseq=95 } P 14100 100 14100 400 1 0 0 { T 14050 100 5 10 1 1 90 0 1 pinnumber=96 T 14050 100 5 10 0 0 90 0 1 pinseq=96 } P 14400 100 14400 400 1 0 0 { T 14350 100 5 10 1 1 90 0 1 pinnumber=97 T 14350 100 5 10 0 0 90 0 1 pinseq=97 } P 14700 100 14700 400 1 0 0 { T 14650 100 5 10 1 1 90 0 1 pinnumber=98 T 14650 100 5 10 0 0 90 0 1 pinseq=98 } P 15000 100 15000 400 1 0 0 { T 14950 100 5 10 1 1 90 0 1 pinnumber=99 T 14950 100 5 10 0 0 90 0 1 pinseq=99 } P 15300 100 15300 400 1 0 0 { T 15250 50 5 10 1 1 90 0 1 pinnumber=100 T 15250 50 5 10 0 0 90 0 1 pinseq=100 } P 15600 100 15600 400 1 0 0 { T 15550 50 5 10 1 1 90 0 1 pinnumber=101 T 15550 50 5 10 0 0 90 0 1 pinseq=101 } P 15900 100 15900 400 1 0 0 { T 15850 50 5 10 1 1 90 0 1 pinnumber=102 T 15850 50 5 10 0 0 90 0 1 pinseq=102 } P 16200 100 16200 400 1 0 0 { T 16150 50 5 10 1 1 90 0 1 pinnumber=103 T 16150 50 5 10 0 0 90 0 1 pinseq=103 } P 16500 100 16500 400 1 0 0 { T 16450 50 5 10 1 1 90 0 1 pinnumber=104 T 16450 50 5 10 0 0 90 0 1 pinseq=104 } P 17300 12600 17600 12600 1 0 1 { T 17350 12650 5 10 1 1 0 0 1 pinnumber=143 T 17350 12650 5 10 0 0 0 0 1 pinseq=143 } P 17300 12300 17600 12300 1 0 1 { T 17350 12350 5 10 1 1 0 0 1 pinnumber=142 T 17350 12350 5 10 0 0 0 0 1 pinseq=142 } P 17300 12000 17600 12000 1 0 1 { T 17350 12050 5 10 1 1 0 0 1 pinnumber=141 T 17350 12050 5 10 0 0 0 0 1 pinseq=141 } P 17300 11700 17600 11700 1 0 1 { T 17350 11750 5 10 1 1 0 0 1 pinnumber=140 T 17350 11750 5 10 0 0 0 0 1 pinseq=140 } P 17300 11400 17600 11400 1 0 1 { T 17350 11500 5 10 1 1 0 0 1 pinnumber=139 T 17350 11500 5 10 0 0 0 0 1 pinseq=139 } P 17300 11100 17600 11100 1 0 1 { T 17350 11150 5 10 1 1 0 0 1 pinnumber=138 T 17350 11150 5 10 0 0 0 0 1 pinseq=138 } P 17300 10800 17600 10800 1 0 1 { T 17350 10850 5 10 1 1 0 0 1 pinnumber=137 T 17350 10850 5 10 0 0 0 0 1 pinseq=137 } P 17300 10500 17600 10500 1 0 1 { T 17350 10550 5 10 1 1 0 0 1 pinnumber=136 T 17350 10550 5 10 0 0 0 0 1 pinseq=136 } P 17300 10200 17600 10200 1 0 1 { T 17350 10250 5 10 1 1 0 0 1 pinnumber=135 T 17350 10250 5 10 0 0 0 0 1 pinseq=135 } P 17300 9900 17600 9900 1 0 1 { T 17350 9950 5 10 1 1 0 0 1 pinnumber=134 T 17350 9950 5 10 0 0 0 0 1 pinseq=134 } P 17300 9600 17600 9600 1 0 1 { T 17350 9650 5 10 1 1 0 0 1 pinnumber=133 T 17350 9650 5 10 0 0 0 0 1 pinseq=133 } P 17300 9300 17600 9300 1 0 1 { T 17350 9350 5 10 1 1 0 0 1 pinnumber=132 T 17350 9350 5 10 0 0 0 0 1 pinseq=132 } P 17300 9000 17600 9000 1 0 1 { T 17350 9050 5 10 1 1 0 0 1 pinnumber=131 T 17350 9050 5 10 0 0 0 0 1 pinseq=131 } P 17300 16500 17600 16500 1 0 1 { T 17350 16550 5 10 1 1 0 0 1 pinnumber=156 T 17350 16550 5 10 0 0 0 0 1 pinseq=156 } P 17300 16200 17600 16200 1 0 1 { T 17350 16250 5 10 1 1 0 0 1 pinnumber=155 T 17350 16250 5 10 0 0 0 0 1 pinseq=155 } P 17300 15900 17600 15900 1 0 1 { T 17350 15950 5 10 1 1 0 0 1 pinnumber=154 T 17350 15950 5 10 0 0 0 0 1 pinseq=154 } P 17300 15600 17600 15600 1 0 1 { T 17350 15650 5 10 1 1 0 0 1 pinnumber=153 T 17350 15650 5 10 0 0 0 0 1 pinseq=153 } P 17300 15300 17600 15300 1 0 1 { T 17350 15350 5 10 1 1 0 0 1 pinnumber=152 T 17350 15350 5 10 0 0 0 0 1 pinseq=152 } P 17300 15000 17600 15000 1 0 1 { T 17350 15050 5 10 1 1 0 0 1 pinnumber=151 T 17350 15050 5 10 0 0 0 0 1 pinseq=151 } P 17300 14700 17600 14700 1 0 1 { T 17350 14750 5 10 1 1 0 0 1 pinnumber=150 T 17350 14750 5 10 0 0 0 0 1 pinseq=150 } P 17300 14400 17600 14400 1 0 1 { T 17350 14450 5 10 1 1 0 0 1 pinnumber=149 T 17350 14450 5 10 0 0 0 0 1 pinseq=149 } P 17300 14100 17600 14100 1 0 1 { T 17350 14150 5 10 1 1 0 0 1 pinnumber=148 T 17350 14150 5 10 0 0 0 0 1 pinseq=148 } P 17300 13800 17600 13800 1 0 1 { T 17350 13850 5 10 1 1 0 0 1 pinnumber=147 T 17350 13850 5 10 0 0 0 0 1 pinseq=147 } P 17300 13500 17600 13500 1 0 1 { T 17350 13550 5 10 1 1 0 0 1 pinnumber=146 T 17350 13550 5 10 0 0 0 0 1 pinseq=146 } P 17300 13200 17600 13200 1 0 1 { T 17350 13250 5 10 1 1 0 0 1 pinnumber=145 T 17350 13250 5 10 0 0 0 0 1 pinseq=145 } P 17300 12900 17600 12900 1 0 1 { T 17350 12950 5 10 1 1 0 0 1 pinnumber=144 T 17350 12950 5 10 0 0 0 0 1 pinseq=144 } P 17300 8700 17600 8700 1 0 1 { T 17350 8750 5 10 1 1 0 0 1 pinnumber=130 T 17350 8750 5 10 0 0 0 0 1 pinseq=130 } P 17300 8400 17600 8400 1 0 1 { T 17350 8450 5 10 1 1 0 0 1 pinnumber=129 T 17350 8450 5 10 0 0 0 0 1 pinseq=129 } P 17300 8100 17600 8100 1 0 1 { T 17350 8150 5 10 1 1 0 0 1 pinnumber=128 T 17350 8150 5 10 0 0 0 0 1 pinseq=128 } P 17300 7800 17600 7800 1 0 1 { T 17350 7850 5 10 1 1 0 0 1 pinnumber=127 T 17350 7850 5 10 0 0 0 0 1 pinseq=127 } P 17300 7500 17600 7500 1 0 1 { T 17350 7550 5 10 1 1 0 0 1 pinnumber=126 T 17350 7550 5 10 0 0 0 0 1 pinseq=126 } P 17300 7200 17600 7200 1 0 1 { T 17350 7250 5 10 1 1 0 0 1 pinnumber=125 T 17350 7250 5 10 0 0 0 0 1 pinseq=125 } P 17300 6900 17600 6900 1 0 1 { T 17350 6950 5 10 1 1 0 0 1 pinnumber=124 T 17350 6950 5 10 0 0 0 0 1 pinseq=124 } P 17300 6600 17600 6600 1 0 1 { T 17350 6650 5 10 1 1 0 0 1 pinnumber=123 T 17350 6650 5 10 0 0 0 0 1 pinseq=123 } P 17300 6300 17600 6300 1 0 1 { T 17350 6350 5 10 1 1 0 0 1 pinnumber=122 T 17350 6350 5 10 0 0 0 0 1 pinseq=122 } P 17300 6000 17600 6000 1 0 1 { T 17350 6050 5 10 1 1 0 0 1 pinnumber=121 T 17350 6050 5 10 0 0 0 0 1 pinseq=121 } P 17300 5700 17600 5700 1 0 1 { T 17350 5750 5 10 1 1 0 0 1 pinnumber=120 T 17350 5750 5 10 0 0 0 0 1 pinseq=120 } P 17300 5400 17600 5400 1 0 1 { T 17350 5450 5 10 1 1 0 0 1 pinnumber=119 T 17350 5450 5 10 0 0 0 0 1 pinseq=119 } P 17300 5100 17600 5100 1 0 1 { T 17350 5150 5 10 1 1 0 0 1 pinnumber=118 T 17350 5150 5 10 0 0 0 0 1 pinseq=118 } P 17300 4800 17600 4800 1 0 1 { T 17350 4850 5 10 1 1 0 0 1 pinnumber=117 T 17350 4850 5 10 0 0 0 0 1 pinseq=117 } P 17300 4500 17600 4500 1 0 1 { T 17350 4550 5 10 1 1 0 0 1 pinnumber=116 T 17350 4550 5 10 0 0 0 0 1 pinseq=116 } P 17300 4200 17600 4200 1 0 1 { T 17350 4250 5 10 1 1 0 0 1 pinnumber=115 T 17350 4250 5 10 0 0 0 0 1 pinseq=115 } P 17300 3900 17600 3900 1 0 1 { T 17350 3950 5 10 1 1 0 0 1 pinnumber=114 T 17350 3950 5 10 0 0 0 0 1 pinseq=114 } P 17300 3600 17600 3600 1 0 1 { T 17350 3650 5 10 1 1 0 0 1 pinnumber=113 T 17350 3650 5 10 0 0 0 0 1 pinseq=113 } P 17300 3300 17600 3300 1 0 1 { T 17350 3350 5 10 1 1 0 0 1 pinnumber=112 T 17350 3350 5 10 0 0 0 0 1 pinseq=112 } P 17300 3000 17600 3000 1 0 1 { T 17350 3050 5 10 1 1 0 0 1 pinnumber=111 T 17350 3050 5 10 0 0 0 0 1 pinseq=111 } P 17300 2700 17600 2700 1 0 1 { T 17350 2750 5 10 1 1 0 0 1 pinnumber=110 T 17350 2750 5 10 0 0 0 0 1 pinseq=110 } P 17300 2400 17600 2400 1 0 1 { T 17350 2450 5 10 1 1 0 0 1 pinnumber=109 T 17350 2450 5 10 0 0 0 0 1 pinseq=109 } P 17300 2100 17600 2100 1 0 1 { T 17350 2150 5 10 1 1 0 0 1 pinnumber=108 T 17350 2150 5 10 0 0 0 0 1 pinseq=108 } P 17300 1800 17600 1800 1 0 1 { T 17350 1850 5 10 1 1 0 0 1 pinnumber=107 T 17350 1850 5 10 0 0 0 0 1 pinseq=107 } P 17300 1500 17600 1500 1 0 1 { T 17350 1550 5 10 1 1 0 0 1 pinnumber=106 T 17350 1550 5 10 0 0 0 0 1 pinseq=106 } P 17300 1200 17600 1200 1 0 1 { T 17350 1250 5 10 1 1 0 0 1 pinnumber=105 T 17350 1250 5 10 0 0 0 0 1 pinseq=105 } B 400 400 16900 16900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 17300 5 10 0 1 0 0 1 device=XC2S200-5PQ208C T 16600 17650 8 10 1 1 0 0 1 refdes=U? T 500 16500 9 10 1 0 0 0 1 GND T 500 13500 9 10 1 0 0 0 1 GND T 500 11100 9 10 1 0 0 0 1 GND T 500 16200 9 10 1 0 0 0 1 TMS T 500 15900 9 10 1 0 0 0 1 I/O T 500 15600 9 10 1 0 0 0 1 I/O, VREF T 500 14400 9 10 1 0 0 0 1 I/O T 500 15000 9 10 1 0 0 0 1 I/O, VREF T 500 14100 9 10 1 0 0 0 1 I/O, VREF T 500 13800 9 10 1 0 0 0 1 I/O T 500 13200 9 10 1 0 0 0 1 VCCO T 500 12600 9 10 1 0 0 0 1 I/O T 500 12300 9 10 1 0 0 0 1 I/O T 500 12000 9 10 1 0 0 0 1 I/O T 500 11700 9 10 1 0 0 0 1 I/O T 500 11400 9 10 1 0 0 0 1 I/O T 500 15300 9 10 1 0 0 0 1 I/O T 500 10800 9 10 1 0 0 0 1 I/O, VREF T 500 10500 9 10 1 0 0 0 1 I/O T 500 10200 9 10 1 0 0 0 1 I/O T 500 9900 9 10 1 0 0 0 1 I/O T 500 9600 9 10 1 0 0 0 1 I/O, IRDY T 500 1500 9 10 1 0 0 0 1 GND T 500 4800 9 10 1 0 0 0 1 GND T 500 7200 9 10 1 0 0 0 1 GND T 500 9300 9 10 1 0 0 0 1 GND T 500 9000 9 10 1 0 0 0 1 VCCO T 500 5100 9 10 1 0 0 0 1 VCCO T 500 8400 9 10 1 0 0 0 1 VCCINT T 500 7500 9 10 1 0 0 0 1 I/O, VREF T 500 3300 9 10 1 0 0 0 1 I/O, VREF T 500 8700 9 10 1 0 0 0 1 I/O, TRDY T 500 8100 9 10 1 0 0 0 1 I/O T 500 7800 9 10 1 0 0 0 1 I/O T 500 6900 9 10 1 0 0 0 1 I/O T 500 6600 9 10 1 0 0 0 1 I/O T 500 6300 9 10 1 0 0 0 1 I/O T 500 6000 9 10 1 0 0 0 1 I/O T 500 5700 9 10 1 0 0 0 1 I/O T 500 4500 9 10 1 0 0 0 1 I/O T 500 4200 9 10 1 0 0 0 1 I/O, VREF T 500 3900 9 10 1 0 0 0 1 I/O T 500 3000 9 10 1 0 0 0 1 I/O T 500 2700 9 10 1 0 0 0 1 I/O, VREF T 500 2400 9 10 1 0 0 0 1 I/O T 500 2100 9 10 1 0 0 0 1 I/O T 500 1800 9 10 1 0 0 0 1 M1 T 500 1200 9 10 1 0 0 0 1 M0 T 500 3600 9 10 1 0 0 0 1 I/O T 500 14700 9 10 1 0 0 0 1 I/O T 500 12900 9 10 1 0 0 0 1 VCCINT T 500 5400 9 10 1 0 0 0 1 VCCINT T 16600 17450 9 10 1 0 0 0 1 XC2S200-5PQ208C T 1200 500 9 10 1 0 90 0 1 VCCO T 1500 500 9 10 1 0 90 0 1 M2 T 2400 500 9 10 1 0 90 0 1 I/O, VREF T 2700 500 9 10 1 0 90 0 1 I/O T 3000 500 9 10 1 0 90 0 1 I/O, VREF T 3300 500 9 10 1 0 90 0 1 I/O T 3600 500 9 10 1 0 90 0 1 I/O T 3900 500 9 10 1 0 90 0 1 I/O, VREF T 4200 500 9 10 1 0 90 0 1 I/O T 4500 500 9 10 1 0 90 0 1 GND T 4800 500 9 10 1 0 90 0 1 VCCO T 5100 500 9 10 1 0 90 0 1 VCCINT T 5400 500 9 10 1 0 90 0 1 I/O T 5700 500 9 10 1 0 90 0 1 I/O T 6000 500 9 10 1 0 90 0 1 I/O T 6300 500 9 10 1 0 90 0 1 I/O T 6600 500 9 10 1 0 90 0 1 I/O T 6900 500 9 10 1 0 90 0 1 GND T 7200 500 9 10 1 0 90 0 1 I/O, VREF T 7500 500 9 10 1 0 90 0 1 I/O T 7800 500 9 10 1 0 90 0 1 I/O T 8100 500 9 10 1 0 90 0 1 VCCINT T 8400 500 9 10 1 0 90 0 1 I, GCK1 T 9300 500 9 10 1 0 90 0 1 I, GCK0 T 8700 500 9 10 1 0 90 0 1 VCCO T 9000 500 9 10 1 0 90 0 1 GND T 9600 500 9 10 1 0 90 0 1 I/O T 9900 500 9 10 1 0 90 0 1 I/O T 10200 500 9 10 1 0 90 0 1 I/O T 10500 500 9 10 1 0 90 0 1 I/O, VREF T 10800 500 9 10 1 0 90 0 1 GND T 11100 500 9 10 1 0 90 0 1 I/O T 11400 500 9 10 1 0 90 0 1 I/O T 11700 500 9 10 1 0 90 0 1 I/O T 12000 500 9 10 1 0 90 0 1 I/O T 12300 500 9 10 1 0 90 0 1 I/O T 12600 500 9 10 1 0 90 0 1 VCCINT T 12900 500 9 10 1 0 90 0 1 VCCO T 13200 500 9 10 1 0 90 0 1 GND T 13500 500 9 10 1 0 90 0 1 I/O T 13800 500 9 10 1 0 90 0 1 I/O, VREF T 14100 500 9 10 1 0 90 0 1 I/O T 14400 500 9 10 1 0 90 0 1 I/O T 14700 500 9 10 1 0 90 0 1 I/O, VREF T 15000 500 9 10 1 0 90 0 1 I/O T 15300 500 9 10 1 0 90 0 1 I/O, VREF T 15600 500 9 10 1 0 90 0 1 I/O T 15900 500 9 10 1 0 90 0 1 I/O T 16200 500 9 10 1 0 90 0 1 GND T 16500 500 9 10 1 0 90 0 1 DONE T 17200 1200 9 10 1 0 0 6 1 VCCO T 17200 1500 9 10 1 0 0 6 1 PROGRAM T 17200 1800 9 10 1 0 0 6 1 I/O (INIT) T 17200 2100 9 10 1 0 0 6 1 I/O (D7) T 17200 2400 9 10 1 0 0 6 1 I/O, VREF T 17200 2700 9 10 1 0 0 6 1 I/O T 17200 3000 9 10 1 0 0 6 1 I/O, VREF T 17200 3300 9 10 1 0 0 6 1 I/O T 17200 3600 9 10 1 0 0 6 1 I/O T 17200 3900 9 10 1 0 0 6 1 I/O, VREF T 17200 4200 9 10 1 0 0 6 1 I/O (D6) T 17200 4500 9 10 1 0 0 6 1 GND T 17200 4800 9 10 1 0 0 6 1 VCCO T 17200 5100 9 10 1 0 0 6 1 VCCINT T 17200 5400 9 10 1 0 0 6 1 I/O (D5) T 17200 5700 9 10 1 0 0 6 1 I/O T 17200 6000 9 10 1 0 0 6 1 I/O T 17200 6300 9 10 1 0 0 6 1 I/O T 17200 6600 9 10 1 0 0 6 1 I/O T 17200 6900 9 10 1 0 0 6 1 GND T 17200 7200 9 10 1 0 0 6 1 I/O, VREF T 17200 7500 9 10 1 0 0 6 1 I/O (D4) T 17200 7800 9 10 1 0 0 6 1 I/O T 17200 8100 9 10 1 0 0 6 1 VCCINT T 17200 8400 9 10 1 0 0 6 1 I/O, TRDY T 17200 8700 9 10 1 0 0 6 1 VCCO T 17200 9000 9 10 1 0 0 6 1 GND T 17200 9300 9 10 1 0 0 6 1 I/O, IRDY T 17200 9600 9 10 1 0 0 6 1 I/O T 17200 9900 9 10 1 0 0 6 1 I/O T 17200 10200 9 10 1 0 0 6 1 I/O (D3) T 17200 10500 9 10 1 0 0 6 1 I/O, VREF T 17200 10800 9 10 1 0 0 6 1 GND T 17200 11100 9 10 1 0 0 6 1 I/O T 17200 11400 9 10 1 0 0 6 1 I/O T 17200 11700 9 10 1 0 0 6 1 I/O T 17200 12000 9 10 1 0 0 6 1 I/O T 17200 12300 9 10 1 0 0 6 1 I/O (D2) T 17200 12600 9 10 1 0 0 6 1 VCCINT T 17200 12900 9 10 1 0 0 6 1 VCCO T 17200 13200 9 10 1 0 0 6 1 GND T 17200 13500 9 10 1 0 0 6 1 I/O (D1) T 17200 13800 9 10 1 0 0 6 1 I/O, VREF T 17200 14100 9 10 1 0 0 6 1 I/O T 17200 14400 9 10 1 0 0 6 1 I/O T 17200 14700 9 10 1 0 0 6 1 I/O, VREF T 17200 15000 9 10 1 0 0 6 1 I/O T 17200 15300 9 10 1 0 0 6 1 I/O, VREF T 17200 15600 9 10 1 0 0 6 1 I/O (DIN, D0) T 17200 15900 9 10 1 0 0 6 1 I/O (DOUT, BUSY) T 17200 16200 9 10 1 0 0 6 1 CCLK T 17200 16500 9 10 1 0 0 6 1 VCCO T 16500 17200 9 10 1 0 90 6 1 TDO T 16200 17200 9 10 1 0 90 6 1 GND T 15900 17200 9 10 1 0 90 6 1 TDI T 15600 17200 9 10 1 0 90 6 1 I/O (CS) T 15300 17200 9 10 1 0 90 6 1 I/O (WRITE) T 15000 17200 9 10 1 0 90 6 1 I/O, VREF T 14700 17200 9 10 1 0 90 6 1 I/O T 14400 17200 9 10 1 0 90 6 1 I/O, VREF T 14100 17200 9 10 1 0 90 6 1 I/O T 13800 17200 9 10 1 0 90 6 1 I/O T 13500 17200 9 10 1 0 90 6 1 I/O, VREF T 13200 17200 9 10 1 0 90 6 1 I/O T 12900 17200 9 10 1 0 90 6 1 GND T 12600 17200 9 10 1 0 90 6 1 VCCO T 12300 17200 9 10 1 0 90 6 1 VCCINT T 12000 17200 9 10 1 0 90 6 1 I/O T 11700 17200 9 10 1 0 90 6 1 I/O T 11400 17200 9 10 1 0 90 6 1 I/O T 11100 17200 9 10 1 0 90 6 1 I/O T 10800 17200 9 10 1 0 90 6 1 I/O T 10500 17200 9 10 1 0 90 6 1 GND T 10200 17200 9 10 1 0 90 6 1 I/O, VREF T 9900 17200 9 10 1 0 90 6 1 I/O T 9600 17200 9 10 1 0 90 6 1 I/O T 9300 17200 9 10 1 0 90 6 1 I/O T 9000 17200 9 10 1 0 90 6 1 I, GCK2 T 8100 17200 9 10 1 0 90 6 1 I, GCK3 T 8700 17200 9 10 1 0 90 6 1 GND T 8400 17200 9 10 1 0 90 6 1 VCCO T 7800 17200 9 10 1 0 90 6 1 VCCINT T 7500 17200 9 10 1 0 90 6 1 I/O T 7200 17200 9 10 1 0 90 6 1 I/O T 6900 17200 9 10 1 0 90 6 1 I/O, VREF T 6600 17200 9 10 1 0 90 6 1 GND T 6300 17200 9 10 1 0 90 6 1 I/O T 6000 17200 9 10 1 0 90 6 1 I/O T 5700 17200 9 10 1 0 90 6 1 I/O T 5400 17200 9 10 1 0 90 6 1 I/O T 5100 17200 9 10 1 0 90 6 1 I/O T 4800 17200 9 10 1 0 90 6 1 VCCINT T 4500 17200 9 10 1 0 90 6 1 VCCO T 4200 17200 9 10 1 0 90 6 1 GND T 3900 17200 9 10 1 0 90 6 1 I/O T 3600 17200 9 10 1 0 90 6 1 I/O, VREF T 3300 17200 9 10 1 0 90 6 1 I/O T 3000 17200 9 10 1 0 90 6 1 I/O T 2700 17200 9 10 1 0 90 6 1 I/O, VREF T 2400 17200 9 10 1 0 90 6 1 I/O T 2100 17200 9 10 1 0 90 6 1 I/O, VREF T 1800 17200 9 10 1 0 90 6 1 I/O T 1500 17200 9 10 1 0 90 6 1 TCK T 1200 17200 9 10 1 0 90 6 1 VCCO L 1100 9100 2600 9100 3 0 0 0 -1 -1 L 900 16800 2600 15100 3 0 0 0 -1 -1 L 1100 1100 2600 2600 3 0 0 0 -1 -1 L 8600 1100 8600 2600 3 0 0 0 -1 -1 L 16600 1100 15100 2600 3 0 0 0 -1 -1 L 16600 8600 15100 8600 3 0 0 0 -1 -1 L 16600 16600 15100 15100 3 0 0 0 -1 -1 L 8400 16600 8400 15100 3 0 0 0 -1 -1 T 1600 12800 9 30 1 0 0 0 1 BANK7 T 1600 5200 9 30 1 0 0 0 1 BANK6 T 4100 1600 9 30 1 0 0 0 1 BANK5 T 11600 1600 9 30 1 0 0 0 1 BANK4 T 14100 5100 9 30 1 0 0 0 1 BANK3 T 14100 12800 9 30 1 0 0 0 1 BANK2 T 11600 15700 9 30 1 0 0 0 1 BANK1 T 3600 15700 9 30 1 0 0 0 1 BANK0 geda-gaf-1.8.2/symbols/xilinx/XC2S30-5PQ208I.sym0000664000175000017500000007374212204104273015475 00000000000000v 20031231 1 P 100 12600 400 12600 1 0 0 { T 100 12650 5 10 1 1 0 0 1 pinnumber=14 T 100 12650 5 10 0 0 0 0 1 pinseq=14 } P 100 12300 400 12300 1 0 0 { T 100 12350 5 10 1 1 0 0 1 pinnumber=15 T 100 12350 5 10 0 0 0 0 1 pinseq=15 } P 100 12000 400 12000 1 0 0 { T 100 12050 5 10 1 1 0 0 1 pinnumber=16 T 100 12050 5 10 0 0 0 0 1 pinseq=16 } P 100 11700 400 11700 1 0 0 { T 100 11750 5 10 1 1 0 0 1 pinnumber=17 T 100 11750 5 10 0 0 0 0 1 pinseq=17 } P 100 11400 400 11400 1 0 0 { T 100 11450 5 10 1 1 0 0 1 pinnumber=18 T 100 11450 5 10 0 0 0 0 1 pinseq=18 } P 100 11100 400 11100 1 0 0 { T 100 11150 5 10 1 1 0 0 1 pinnumber=19 T 100 11150 5 10 0 0 0 0 1 pinseq=19 } P 100 10800 400 10800 1 0 0 { T 100 10850 5 10 1 1 0 0 1 pinnumber=20 T 100 10850 5 10 0 0 0 0 1 pinseq=20 } P 100 10500 400 10500 1 0 0 { T 100 10550 5 10 1 1 0 0 1 pinnumber=21 T 100 10550 5 10 0 0 0 0 1 pinseq=21 } P 100 10200 400 10200 1 0 0 { T 100 10250 5 10 1 1 0 0 1 pinnumber=22 T 100 10250 5 10 0 0 0 0 1 pinseq=22 } P 100 9900 400 9900 1 0 0 { T 100 9950 5 10 1 1 0 0 1 pinnumber=23 T 100 9950 5 10 0 0 0 0 1 pinseq=23 } P 100 9600 400 9600 1 0 0 { T 100 9650 5 10 1 1 0 0 1 pinnumber=24 T 100 9650 5 10 0 0 0 0 1 pinseq=24 } P 100 9300 400 9300 1 0 0 { T 100 9350 5 10 1 1 0 0 1 pinnumber=25 T 100 9350 5 10 0 0 0 0 1 pinseq=25 } P 100 9000 400 9000 1 0 0 { T 100 9050 5 10 1 1 0 0 1 pinnumber=26 T 100 9050 5 10 0 0 0 0 1 pinseq=26 } P 100 16500 400 16500 1 0 0 { T 100 16550 5 10 1 1 0 0 1 pinnumber=1 T 100 16550 5 10 0 0 0 0 1 pinseq=1 } P 100 16200 400 16200 1 0 0 { T 100 16250 5 10 1 1 0 0 1 pinnumber=2 T 100 16250 5 10 0 0 0 0 1 pinseq=2 } P 100 15900 400 15900 1 0 0 { T 100 15950 5 10 1 1 0 0 1 pinnumber=3 T 100 15950 5 10 0 0 0 0 1 pinseq=3 } P 100 15600 400 15600 1 0 0 { T 100 15650 5 10 1 1 0 0 1 pinnumber=4 T 100 15650 5 10 0 0 0 0 1 pinseq=4 } P 100 15300 400 15300 1 0 0 { T 100 15350 5 10 1 1 0 0 1 pinnumber=5 T 100 15350 5 10 0 0 0 0 1 pinseq=5 } P 100 15000 400 15000 1 0 0 { T 100 15050 5 10 1 1 0 0 1 pinnumber=6 T 100 15050 5 10 0 0 0 0 1 pinseq=6 } P 100 14700 400 14700 1 0 0 { T 100 14750 5 10 1 1 0 0 1 pinnumber=7 T 100 14750 5 10 0 0 0 0 1 pinseq=7 } P 100 14400 400 14400 1 0 0 { T 100 14450 5 10 1 1 0 0 1 pinnumber=8 T 100 14450 5 10 0 0 0 0 1 pinseq=8 } P 100 14100 400 14100 1 0 0 { T 100 14150 5 10 1 1 0 0 1 pinnumber=9 T 100 14150 5 10 0 0 0 0 1 pinseq=9 } P 100 13800 400 13800 1 0 0 { T 100 13850 5 10 1 1 0 0 1 pinnumber=10 T 100 13850 5 10 0 0 0 0 1 pinseq=10 } P 100 13500 400 13500 1 0 0 { T 100 13550 5 10 1 1 0 0 1 pinnumber=11 T 100 13550 5 10 0 0 0 0 1 pinseq=11 } P 100 13200 400 13200 1 0 0 { T 100 13250 5 10 1 1 0 0 1 pinnumber=12 T 100 13250 5 10 0 0 0 0 1 pinseq=12 } P 100 12900 400 12900 1 0 0 { T 100 12950 5 10 1 1 0 0 1 pinnumber=13 T 100 12950 5 10 0 0 0 0 1 pinseq=13 } P 100 8700 400 8700 1 0 0 { T 100 8750 5 10 1 1 0 0 1 pinnumber=27 T 100 8750 5 10 0 0 0 0 1 pinseq=27 } P 100 8400 400 8400 1 0 0 { T 100 8450 5 10 1 1 0 0 1 pinnumber=28 T 100 8450 5 10 0 0 0 0 1 pinseq=28 } P 100 8100 400 8100 1 0 0 { T 100 8150 5 10 1 1 0 0 1 pinnumber=29 T 100 8150 5 10 0 0 0 0 1 pinseq=29 } P 100 7800 400 7800 1 0 0 { T 100 7850 5 10 1 1 0 0 1 pinnumber=30 T 100 7850 5 10 0 0 0 0 1 pinseq=30 } P 100 7500 400 7500 1 0 0 { T 100 7550 5 10 1 1 0 0 1 pinnumber=31 T 100 7550 5 10 0 0 0 0 1 pinseq=31 } P 100 7200 400 7200 1 0 0 { T 100 7250 5 10 1 1 0 0 1 pinnumber=32 T 100 7250 5 10 0 0 0 0 1 pinseq=32 } P 100 6900 400 6900 1 0 0 { T 100 6950 5 10 1 1 0 0 1 pinnumber=33 T 100 6950 5 10 0 0 0 0 1 pinseq=33 } P 100 6600 400 6600 1 0 0 { T 100 6650 5 10 1 1 0 0 1 pinnumber=34 T 100 6650 5 10 0 0 0 0 1 pinseq=34 } P 100 6300 400 6300 1 0 0 { T 100 6350 5 10 1 1 0 0 1 pinnumber=35 T 100 6350 5 10 0 0 0 0 1 pinseq=35 } P 100 6000 400 6000 1 0 0 { T 100 6050 5 10 1 1 0 0 1 pinnumber=36 T 100 6050 5 10 0 0 0 0 1 pinseq=36 } P 100 5700 400 5700 1 0 0 { T 100 5750 5 10 1 1 0 0 1 pinnumber=37 T 100 5750 5 10 0 0 0 0 1 pinseq=37 } P 100 5400 400 5400 1 0 0 { T 100 5450 5 10 1 1 0 0 1 pinnumber=38 T 100 5450 5 10 0 0 0 0 1 pinseq=38 } P 100 5100 400 5100 1 0 0 { T 100 5150 5 10 1 1 0 0 1 pinnumber=39 T 100 5150 5 10 0 0 0 0 1 pinseq=39 } P 100 4800 400 4800 1 0 0 { T 100 4850 5 10 1 1 0 0 1 pinnumber=40 T 100 4850 5 10 0 0 0 0 1 pinseq=40 } P 100 4500 400 4500 1 0 0 { T 100 4550 5 10 1 1 0 0 1 pinnumber=41 T 100 4550 5 10 0 0 0 0 1 pinseq=41 } P 100 4200 400 4200 1 0 0 { T 100 4250 5 10 1 1 0 0 1 pinnumber=42 T 100 4250 5 10 0 0 0 0 1 pinseq=42 } P 100 3900 400 3900 1 0 0 { T 100 3950 5 10 1 1 0 0 1 pinnumber=43 T 100 3950 5 10 0 0 0 0 1 pinseq=43 } P 100 3600 400 3600 1 0 0 { T 100 3650 5 10 1 1 0 0 1 pinnumber=44 T 100 3650 5 10 0 0 0 0 1 pinseq=44 } P 100 3300 400 3300 1 0 0 { T 100 3350 5 10 1 1 0 0 1 pinnumber=45 T 100 3350 5 10 0 0 0 0 1 pinseq=45 } P 100 3000 400 3000 1 0 0 { T 100 3050 5 10 1 1 0 0 1 pinnumber=46 T 100 3050 5 10 0 0 0 0 1 pinseq=46 } P 100 2700 400 2700 1 0 0 { T 100 2750 5 10 1 1 0 0 1 pinnumber=47 T 100 2750 5 10 0 0 0 0 1 pinseq=47 } P 100 2400 400 2400 1 0 0 { T 100 2450 5 10 1 1 0 0 1 pinnumber=48 T 100 2450 5 10 0 0 0 0 1 pinseq=48 } P 100 2100 400 2100 1 0 0 { T 100 2150 5 10 1 1 0 0 1 pinnumber=49 T 100 2150 5 10 0 0 0 0 1 pinseq=49 } P 100 1800 400 1800 1 0 0 { T 100 1850 5 10 1 1 0 0 1 pinnumber=50 T 100 1850 5 10 0 0 0 0 1 pinseq=50 } P 100 1500 400 1500 1 0 0 { T 100 1550 5 10 1 1 0 0 1 pinnumber=51 T 100 1550 5 10 0 0 0 0 1 pinseq=51 } P 100 1200 400 1200 1 0 0 { T 100 1250 5 10 1 1 0 0 1 pinnumber=52 T 100 1250 5 10 0 0 0 0 1 pinseq=52 } P 1200 17300 1200 17600 1 0 1 { T 1150 17350 5 10 1 1 90 0 1 pinnumber=208 T 1150 17350 5 10 0 0 90 0 1 pinseq=208 } P 1500 17300 1500 17600 1 0 1 { T 1450 17350 5 10 1 1 90 0 1 pinnumber=207 T 1450 17350 5 10 0 0 90 0 1 pinseq=207 } P 1800 17300 1800 17600 1 0 1 { T 1750 17350 5 10 1 1 90 0 1 pinnumber=206 T 1750 17350 5 10 0 0 90 0 1 pinseq=206 } P 2100 17300 2100 17600 1 0 1 { T 2050 17350 5 10 1 1 90 0 1 pinnumber=205 T 2050 17350 5 10 0 0 90 0 1 pinseq=205 } P 2400 17300 2400 17600 1 0 1 { T 2350 17350 5 10 1 1 90 0 1 pinnumber=204 T 2350 17350 5 10 0 0 90 0 1 pinseq=204 } P 2700 17300 2700 17600 1 0 1 { T 2650 17350 5 10 1 1 90 0 1 pinnumber=203 T 2650 17350 5 10 0 0 90 0 1 pinseq=203 } P 3000 17300 3000 17600 1 0 1 { T 2950 17350 5 10 1 1 90 0 1 pinnumber=202 T 2950 17350 5 10 0 0 90 0 1 pinseq=202 } P 3300 17300 3300 17600 1 0 1 { T 3250 17350 5 10 1 1 90 0 1 pinnumber=201 T 3250 17350 5 10 0 0 90 0 1 pinseq=201 } P 3600 17300 3600 17600 1 0 1 { T 3550 17350 5 10 1 1 90 0 1 pinnumber=200 T 3550 17350 5 10 0 0 90 0 1 pinseq=200 } P 3900 17300 3900 17600 1 0 1 { T 3850 17350 5 10 1 1 90 0 1 pinnumber=199 T 3850 17350 5 10 0 0 90 0 1 pinseq=199 } P 4200 17300 4200 17600 1 0 1 { T 4150 17350 5 10 1 1 90 0 1 pinnumber=198 T 4150 17350 5 10 0 0 90 0 1 pinseq=198 } P 4500 17300 4500 17600 1 0 1 { T 4450 17350 5 10 1 1 90 0 1 pinnumber=197 T 4450 17350 5 10 0 0 90 0 1 pinseq=197 } P 4800 17300 4800 17600 1 0 1 { T 4750 17350 5 10 1 1 90 0 1 pinnumber=196 T 4750 17350 5 10 0 0 90 0 1 pinseq=196 } P 5100 17300 5100 17600 1 0 1 { T 5050 17350 5 10 1 1 90 0 1 pinnumber=195 T 5050 17350 5 10 0 0 90 0 1 pinseq=195 } P 5400 17300 5400 17600 1 0 1 { T 5350 17350 5 10 1 1 90 0 1 pinnumber=194 T 5350 17350 5 10 0 0 90 0 1 pinseq=194 } P 5700 17300 5700 17600 1 0 1 { T 5650 17350 5 10 1 1 90 0 1 pinnumber=193 T 5650 17350 5 10 0 0 90 0 1 pinseq=193 } P 6000 17300 6000 17600 1 0 1 { T 5950 17350 5 10 1 1 90 0 1 pinnumber=192 T 5950 17350 5 10 0 0 90 0 1 pinseq=192 } P 6300 17300 6300 17600 1 0 1 { T 6250 17350 5 10 1 1 90 0 1 pinnumber=191 T 6250 17350 5 10 0 0 90 0 1 pinseq=191 } P 6600 17300 6600 17600 1 0 1 { T 6550 17350 5 10 1 1 90 0 1 pinnumber=190 T 6550 17350 5 10 0 0 90 0 1 pinseq=190 } P 6900 17300 6900 17600 1 0 1 { T 6850 17350 5 10 1 1 90 0 1 pinnumber=189 T 6850 17350 5 10 0 0 90 0 1 pinseq=189 } P 7200 17300 7200 17600 1 0 1 { T 7150 17350 5 10 1 1 90 0 1 pinnumber=188 T 7150 17350 5 10 0 0 90 0 1 pinseq=188 } P 7500 17300 7500 17600 1 0 1 { T 7450 17350 5 10 1 1 90 0 1 pinnumber=187 T 7450 17350 5 10 0 0 90 0 1 pinseq=187 } P 7800 17300 7800 17600 1 0 1 { T 7750 17350 5 10 1 1 90 0 1 pinnumber=186 T 7750 17350 5 10 0 0 90 0 1 pinseq=186 } P 8100 17300 8100 17600 1 0 1 { T 8050 17350 5 10 1 1 90 0 1 pinnumber=185 T 8050 17350 5 10 0 0 90 0 1 pinseq=185 } P 8400 17300 8400 17600 1 0 1 { T 8350 17350 5 10 1 1 90 0 1 pinnumber=184 T 8350 17350 5 10 0 0 90 0 1 pinseq=184 } P 8700 17300 8700 17600 1 0 1 { T 8650 17350 5 10 1 1 90 0 1 pinnumber=183 T 8650 17350 5 10 0 0 90 0 1 pinseq=183 } P 9000 17300 9000 17600 1 0 1 { T 8950 17350 5 10 1 1 90 0 1 pinnumber=182 T 8950 17350 5 10 0 0 90 0 1 pinseq=182 } P 9300 17300 9300 17600 1 0 1 { T 9250 17350 5 10 1 1 90 0 1 pinnumber=181 T 9250 17350 5 10 0 0 90 0 1 pinseq=181 } P 9600 17300 9600 17600 1 0 1 { T 9550 17350 5 10 1 1 90 0 1 pinnumber=180 T 9550 17350 5 10 0 0 90 0 1 pinseq=180 } P 9900 17300 9900 17600 1 0 1 { T 9850 17350 5 10 1 1 90 0 1 pinnumber=179 T 9850 17350 5 10 0 0 90 0 1 pinseq=179 } P 10200 17300 10200 17600 1 0 1 { T 10150 17350 5 10 1 1 90 0 1 pinnumber=178 T 10150 17350 5 10 0 0 90 0 1 pinseq=178 } P 10500 17300 10500 17600 1 0 1 { T 10450 17350 5 10 1 1 90 0 1 pinnumber=177 T 10450 17350 5 10 0 0 90 0 1 pinseq=177 } P 10800 17300 10800 17600 1 0 1 { T 10750 17350 5 10 1 1 90 0 1 pinnumber=176 T 10750 17350 5 10 0 0 90 0 1 pinseq=176 } P 11100 17300 11100 17600 1 0 1 { T 11050 17350 5 10 1 1 90 0 1 pinnumber=175 T 11050 17350 5 10 0 0 90 0 1 pinseq=175 } P 11400 17300 11400 17600 1 0 1 { T 11350 17350 5 10 1 1 90 0 1 pinnumber=174 T 11350 17350 5 10 0 0 90 0 1 pinseq=174 } P 11700 17300 11700 17600 1 0 1 { T 11650 17350 5 10 1 1 90 0 1 pinnumber=173 T 11650 17350 5 10 0 0 90 0 1 pinseq=173 } P 12000 17300 12000 17600 1 0 1 { T 11950 17350 5 10 1 1 90 0 1 pinnumber=172 T 11950 17350 5 10 0 0 90 0 1 pinseq=172 } P 12300 17300 12300 17600 1 0 1 { T 12250 17350 5 10 1 1 90 0 1 pinnumber=171 T 12250 17350 5 10 0 0 90 0 1 pinseq=171 } P 12600 17300 12600 17600 1 0 1 { T 12550 17350 5 10 1 1 90 0 1 pinnumber=170 T 12550 17350 5 10 0 0 90 0 1 pinseq=170 } P 12900 17300 12900 17600 1 0 1 { T 12850 17350 5 10 1 1 90 0 1 pinnumber=169 T 12850 17350 5 10 0 0 90 0 1 pinseq=169 } P 13200 17300 13200 17600 1 0 1 { T 13150 17350 5 10 1 1 90 0 1 pinnumber=168 T 13150 17350 5 10 0 0 90 0 1 pinseq=168 } P 13500 17300 13500 17600 1 0 1 { T 13450 17350 5 10 1 1 90 0 1 pinnumber=167 T 13450 17350 5 10 0 0 90 0 1 pinseq=167 } P 13800 17300 13800 17600 1 0 1 { T 13750 17350 5 10 1 1 90 0 1 pinnumber=166 T 13750 17350 5 10 0 0 90 0 1 pinseq=166 } P 14100 17300 14100 17600 1 0 1 { T 14050 17350 5 10 1 1 90 0 1 pinnumber=165 T 14050 17350 5 10 0 0 90 0 1 pinseq=165 } P 14400 17300 14400 17600 1 0 1 { T 14350 17350 5 10 1 1 90 0 1 pinnumber=164 T 14350 17350 5 10 0 0 90 0 1 pinseq=164 } P 14700 17300 14700 17600 1 0 1 { T 14650 17350 5 10 1 1 90 0 1 pinnumber=163 T 14650 17350 5 10 0 0 90 0 1 pinseq=163 } P 15000 17300 15000 17600 1 0 1 { T 14950 17350 5 10 1 1 90 0 1 pinnumber=162 T 14950 17350 5 10 0 0 90 0 1 pinseq=162 } P 15300 17300 15300 17600 1 0 1 { T 15250 17350 5 10 1 1 90 0 1 pinnumber=161 T 15250 17350 5 10 0 0 90 0 1 pinseq=161 } P 15600 17300 15600 17600 1 0 1 { T 15550 17350 5 10 1 1 90 0 1 pinnumber=160 T 15550 17350 5 10 0 0 90 0 1 pinseq=160 } P 15900 17300 15900 17600 1 0 1 { T 15850 17350 5 10 1 1 90 0 1 pinnumber=159 T 15850 17350 5 10 0 0 90 0 1 pinseq=159 } P 16200 17300 16200 17600 1 0 1 { T 16150 17350 5 10 1 1 90 0 1 pinnumber=158 T 16150 17350 5 10 0 0 90 0 1 pinseq=158 } P 16500 17300 16500 17600 1 0 1 { T 16450 17350 5 10 1 1 90 0 1 pinnumber=157 T 16450 17350 5 10 0 0 90 0 1 pinseq=157 } P 1200 100 1200 400 1 0 0 { T 1150 100 5 10 1 1 90 0 1 pinnumber=53 T 1150 100 5 10 0 0 90 0 1 pinseq=53 } P 1500 100 1500 400 1 0 0 { T 1450 100 5 10 1 1 90 0 1 pinnumber=54 T 1450 100 5 10 0 0 90 0 1 pinseq=54 } P 1800 100 1800 400 1 0 0 { T 1750 100 5 10 1 1 90 0 1 pinnumber=55 T 1750 100 5 10 0 0 90 0 1 pinseq=55 } P 2100 100 2100 400 1 0 0 { T 2050 100 5 10 1 1 90 0 1 pinnumber=56 T 2050 100 5 10 0 0 90 0 1 pinseq=56 } P 2400 100 2400 400 1 0 0 { T 2350 100 5 10 1 1 90 0 1 pinnumber=57 T 2350 100 5 10 0 0 90 0 1 pinseq=57 } P 2700 100 2700 400 1 0 0 { T 2650 100 5 10 1 1 90 0 1 pinnumber=58 T 2650 100 5 10 0 0 90 0 1 pinseq=58 } P 3000 100 3000 400 1 0 0 { T 2950 100 5 10 1 1 90 0 1 pinnumber=59 T 2950 100 5 10 0 0 90 0 1 pinseq=59 } P 3300 100 3300 400 1 0 0 { T 3250 100 5 10 1 1 90 0 1 pinnumber=60 T 3250 100 5 10 0 0 90 0 1 pinseq=60 } P 3600 100 3600 400 1 0 0 { T 3550 100 5 10 1 1 90 0 1 pinnumber=61 T 3550 100 5 10 0 0 90 0 1 pinseq=61 } P 3900 100 3900 400 1 0 0 { T 3850 100 5 10 1 1 90 0 1 pinnumber=62 T 3850 100 5 10 0 0 90 0 1 pinseq=62 } P 4200 100 4200 400 1 0 0 { T 4150 100 5 10 1 1 90 0 1 pinnumber=63 T 4150 100 5 10 0 0 90 0 1 pinseq=63 } P 4500 100 4500 400 1 0 0 { T 4450 100 5 10 1 1 90 0 1 pinnumber=64 T 4450 100 5 10 0 0 90 0 1 pinseq=64 } P 4800 100 4800 400 1 0 0 { T 4750 100 5 10 1 1 90 0 1 pinnumber=65 T 4750 100 5 10 0 0 90 0 1 pinseq=65 } P 5100 100 5100 400 1 0 0 { T 5050 100 5 10 1 1 90 0 1 pinnumber=66 T 5050 100 5 10 0 0 90 0 1 pinseq=66 } P 5400 100 5400 400 1 0 0 { T 5350 100 5 10 1 1 90 0 1 pinnumber=67 T 5350 100 5 10 0 0 90 0 1 pinseq=67 } P 5700 100 5700 400 1 0 0 { T 5650 100 5 10 1 1 90 0 1 pinnumber=68 T 5650 100 5 10 0 0 90 0 1 pinseq=68 } P 6000 100 6000 400 1 0 0 { T 5950 100 5 10 1 1 90 0 1 pinnumber=69 T 5950 100 5 10 0 0 90 0 1 pinseq=69 } P 6300 100 6300 400 1 0 0 { T 6250 100 5 10 1 1 90 0 1 pinnumber=70 T 6250 100 5 10 0 0 90 0 1 pinseq=70 } P 6600 100 6600 400 1 0 0 { T 6550 100 5 10 1 1 90 0 1 pinnumber=71 T 6550 100 5 10 0 0 90 0 1 pinseq=71 } P 6900 100 6900 400 1 0 0 { T 6850 100 5 10 1 1 90 0 1 pinnumber=72 T 6850 100 5 10 0 0 90 0 1 pinseq=72 } P 7200 100 7200 400 1 0 0 { T 7150 100 5 10 1 1 90 0 1 pinnumber=73 T 7150 100 5 10 0 0 90 0 1 pinseq=73 } P 7500 100 7500 400 1 0 0 { T 7450 100 5 10 1 1 90 0 1 pinnumber=74 T 7450 100 5 10 0 0 90 0 1 pinseq=74 } P 7800 100 7800 400 1 0 0 { T 7750 100 5 10 1 1 90 0 1 pinnumber=75 T 7750 100 5 10 0 0 90 0 1 pinseq=75 } P 8100 100 8100 400 1 0 0 { T 8050 100 5 10 1 1 90 0 1 pinnumber=76 T 8050 100 5 10 0 0 90 0 1 pinseq=76 } P 8400 100 8400 400 1 0 0 { T 8350 100 5 10 1 1 90 0 1 pinnumber=77 T 8350 100 5 10 0 0 90 0 1 pinseq=77 } P 8700 100 8700 400 1 0 0 { T 8650 100 5 10 1 1 90 0 1 pinnumber=78 T 8650 100 5 10 0 0 90 0 1 pinseq=78 } P 9000 100 9000 400 1 0 0 { T 8950 100 5 10 1 1 90 0 1 pinnumber=79 T 8950 100 5 10 0 0 90 0 1 pinseq=79 } P 9300 100 9300 400 1 0 0 { T 9250 100 5 10 1 1 90 0 1 pinnumber=80 T 9250 100 5 10 0 0 90 0 1 pinseq=80 } P 9600 100 9600 400 1 0 0 { T 9550 100 5 10 1 1 90 0 1 pinnumber=81 T 9550 100 5 10 0 0 90 0 1 pinseq=81 } P 9900 100 9900 400 1 0 0 { T 9850 100 5 10 1 1 90 0 1 pinnumber=82 T 9850 100 5 10 0 0 90 0 1 pinseq=82 } P 10200 100 10200 400 1 0 0 { T 10150 100 5 10 1 1 90 0 1 pinnumber=83 T 10150 100 5 10 0 0 90 0 1 pinseq=83 } P 10500 100 10500 400 1 0 0 { T 10450 100 5 10 1 1 90 0 1 pinnumber=84 T 10450 100 5 10 0 0 90 0 1 pinseq=84 } P 10800 100 10800 400 1 0 0 { T 10750 100 5 10 1 1 90 0 1 pinnumber=85 T 10750 100 5 10 0 0 90 0 1 pinseq=85 } P 11100 100 11100 400 1 0 0 { T 11050 100 5 10 1 1 90 0 1 pinnumber=86 T 11050 100 5 10 0 0 90 0 1 pinseq=86 } P 11400 100 11400 400 1 0 0 { T 11350 100 5 10 1 1 90 0 1 pinnumber=87 T 11350 100 5 10 0 0 90 0 1 pinseq=87 } P 11700 100 11700 400 1 0 0 { T 11650 100 5 10 1 1 90 0 1 pinnumber=88 T 11650 100 5 10 0 0 90 0 1 pinseq=88 } P 12000 100 12000 400 1 0 0 { T 11950 100 5 10 1 1 90 0 1 pinnumber=89 T 11950 100 5 10 0 0 90 0 1 pinseq=89 } P 12300 100 12300 400 1 0 0 { T 12250 100 5 10 1 1 90 0 1 pinnumber=90 T 12250 100 5 10 0 0 90 0 1 pinseq=90 } P 12600 100 12600 400 1 0 0 { T 12550 100 5 10 1 1 90 0 1 pinnumber=91 T 12550 100 5 10 0 0 90 0 1 pinseq=91 } P 12900 100 12900 400 1 0 0 { T 12850 100 5 10 1 1 90 0 1 pinnumber=92 T 12850 100 5 10 0 0 90 0 1 pinseq=92 } P 13200 100 13200 400 1 0 0 { T 13150 100 5 10 1 1 90 0 1 pinnumber=93 T 13150 100 5 10 0 0 90 0 1 pinseq=93 } P 13500 100 13500 400 1 0 0 { T 13450 100 5 10 1 1 90 0 1 pinnumber=94 T 13450 100 5 10 0 0 90 0 1 pinseq=94 } P 13800 100 13800 400 1 0 0 { T 13750 100 5 10 1 1 90 0 1 pinnumber=95 T 13750 100 5 10 0 0 90 0 1 pinseq=95 } P 14100 100 14100 400 1 0 0 { T 14050 100 5 10 1 1 90 0 1 pinnumber=96 T 14050 100 5 10 0 0 90 0 1 pinseq=96 } P 14400 100 14400 400 1 0 0 { T 14350 100 5 10 1 1 90 0 1 pinnumber=97 T 14350 100 5 10 0 0 90 0 1 pinseq=97 } P 14700 100 14700 400 1 0 0 { T 14650 100 5 10 1 1 90 0 1 pinnumber=98 T 14650 100 5 10 0 0 90 0 1 pinseq=98 } P 15000 100 15000 400 1 0 0 { T 14950 100 5 10 1 1 90 0 1 pinnumber=99 T 14950 100 5 10 0 0 90 0 1 pinseq=99 } P 15300 100 15300 400 1 0 0 { T 15250 50 5 10 1 1 90 0 1 pinnumber=100 T 15250 50 5 10 0 0 90 0 1 pinseq=100 } P 15600 100 15600 400 1 0 0 { T 15550 50 5 10 1 1 90 0 1 pinnumber=101 T 15550 50 5 10 0 0 90 0 1 pinseq=101 } P 15900 100 15900 400 1 0 0 { T 15850 50 5 10 1 1 90 0 1 pinnumber=102 T 15850 50 5 10 0 0 90 0 1 pinseq=102 } P 16200 100 16200 400 1 0 0 { T 16150 50 5 10 1 1 90 0 1 pinnumber=103 T 16150 50 5 10 0 0 90 0 1 pinseq=103 } P 16500 100 16500 400 1 0 0 { T 16450 50 5 10 1 1 90 0 1 pinnumber=104 T 16450 50 5 10 0 0 90 0 1 pinseq=104 } P 17300 12600 17600 12600 1 0 1 { T 17350 12650 5 10 1 1 0 0 1 pinnumber=143 T 17350 12650 5 10 0 0 0 0 1 pinseq=143 } P 17300 12300 17600 12300 1 0 1 { T 17350 12350 5 10 1 1 0 0 1 pinnumber=142 T 17350 12350 5 10 0 0 0 0 1 pinseq=142 } P 17300 12000 17600 12000 1 0 1 { T 17350 12050 5 10 1 1 0 0 1 pinnumber=141 T 17350 12050 5 10 0 0 0 0 1 pinseq=141 } P 17300 11700 17600 11700 1 0 1 { T 17350 11750 5 10 1 1 0 0 1 pinnumber=140 T 17350 11750 5 10 0 0 0 0 1 pinseq=140 } P 17300 11400 17600 11400 1 0 1 { T 17350 11500 5 10 1 1 0 0 1 pinnumber=139 T 17350 11500 5 10 0 0 0 0 1 pinseq=139 } P 17300 11100 17600 11100 1 0 1 { T 17350 11150 5 10 1 1 0 0 1 pinnumber=138 T 17350 11150 5 10 0 0 0 0 1 pinseq=138 } P 17300 10800 17600 10800 1 0 1 { T 17350 10850 5 10 1 1 0 0 1 pinnumber=137 T 17350 10850 5 10 0 0 0 0 1 pinseq=137 } P 17300 10500 17600 10500 1 0 1 { T 17350 10550 5 10 1 1 0 0 1 pinnumber=136 T 17350 10550 5 10 0 0 0 0 1 pinseq=136 } P 17300 10200 17600 10200 1 0 1 { T 17350 10250 5 10 1 1 0 0 1 pinnumber=135 T 17350 10250 5 10 0 0 0 0 1 pinseq=135 } P 17300 9900 17600 9900 1 0 1 { T 17350 9950 5 10 1 1 0 0 1 pinnumber=134 T 17350 9950 5 10 0 0 0 0 1 pinseq=134 } P 17300 9600 17600 9600 1 0 1 { T 17350 9650 5 10 1 1 0 0 1 pinnumber=133 T 17350 9650 5 10 0 0 0 0 1 pinseq=133 } P 17300 9300 17600 9300 1 0 1 { T 17350 9350 5 10 1 1 0 0 1 pinnumber=132 T 17350 9350 5 10 0 0 0 0 1 pinseq=132 } P 17300 9000 17600 9000 1 0 1 { T 17350 9050 5 10 1 1 0 0 1 pinnumber=131 T 17350 9050 5 10 0 0 0 0 1 pinseq=131 } P 17300 16500 17600 16500 1 0 1 { T 17350 16550 5 10 1 1 0 0 1 pinnumber=156 T 17350 16550 5 10 0 0 0 0 1 pinseq=156 } P 17300 16200 17600 16200 1 0 1 { T 17350 16250 5 10 1 1 0 0 1 pinnumber=155 T 17350 16250 5 10 0 0 0 0 1 pinseq=155 } P 17300 15900 17600 15900 1 0 1 { T 17350 15950 5 10 1 1 0 0 1 pinnumber=154 T 17350 15950 5 10 0 0 0 0 1 pinseq=154 } P 17300 15600 17600 15600 1 0 1 { T 17350 15650 5 10 1 1 0 0 1 pinnumber=153 T 17350 15650 5 10 0 0 0 0 1 pinseq=153 } P 17300 15300 17600 15300 1 0 1 { T 17350 15350 5 10 1 1 0 0 1 pinnumber=152 T 17350 15350 5 10 0 0 0 0 1 pinseq=152 } P 17300 15000 17600 15000 1 0 1 { T 17350 15050 5 10 1 1 0 0 1 pinnumber=151 T 17350 15050 5 10 0 0 0 0 1 pinseq=151 } P 17300 14700 17600 14700 1 0 1 { T 17350 14750 5 10 1 1 0 0 1 pinnumber=150 T 17350 14750 5 10 0 0 0 0 1 pinseq=150 } P 17300 14400 17600 14400 1 0 1 { T 17350 14450 5 10 1 1 0 0 1 pinnumber=149 T 17350 14450 5 10 0 0 0 0 1 pinseq=149 } P 17300 14100 17600 14100 1 0 1 { T 17350 14150 5 10 1 1 0 0 1 pinnumber=148 T 17350 14150 5 10 0 0 0 0 1 pinseq=148 } P 17300 13800 17600 13800 1 0 1 { T 17350 13850 5 10 1 1 0 0 1 pinnumber=147 T 17350 13850 5 10 0 0 0 0 1 pinseq=147 } P 17300 13500 17600 13500 1 0 1 { T 17350 13550 5 10 1 1 0 0 1 pinnumber=146 T 17350 13550 5 10 0 0 0 0 1 pinseq=146 } P 17300 13200 17600 13200 1 0 1 { T 17350 13250 5 10 1 1 0 0 1 pinnumber=145 T 17350 13250 5 10 0 0 0 0 1 pinseq=145 } P 17300 12900 17600 12900 1 0 1 { T 17350 12950 5 10 1 1 0 0 1 pinnumber=144 T 17350 12950 5 10 0 0 0 0 1 pinseq=144 } P 17300 8700 17600 8700 1 0 1 { T 17350 8750 5 10 1 1 0 0 1 pinnumber=130 T 17350 8750 5 10 0 0 0 0 1 pinseq=130 } P 17300 8400 17600 8400 1 0 1 { T 17350 8450 5 10 1 1 0 0 1 pinnumber=129 T 17350 8450 5 10 0 0 0 0 1 pinseq=129 } P 17300 8100 17600 8100 1 0 1 { T 17350 8150 5 10 1 1 0 0 1 pinnumber=128 T 17350 8150 5 10 0 0 0 0 1 pinseq=128 } P 17300 7800 17600 7800 1 0 1 { T 17350 7850 5 10 1 1 0 0 1 pinnumber=127 T 17350 7850 5 10 0 0 0 0 1 pinseq=127 } P 17300 7500 17600 7500 1 0 1 { T 17350 7550 5 10 1 1 0 0 1 pinnumber=126 T 17350 7550 5 10 0 0 0 0 1 pinseq=126 } P 17300 7200 17600 7200 1 0 1 { T 17350 7250 5 10 1 1 0 0 1 pinnumber=125 T 17350 7250 5 10 0 0 0 0 1 pinseq=125 } P 17300 6900 17600 6900 1 0 1 { T 17350 6950 5 10 1 1 0 0 1 pinnumber=124 T 17350 6950 5 10 0 0 0 0 1 pinseq=124 } P 17300 6600 17600 6600 1 0 1 { T 17350 6650 5 10 1 1 0 0 1 pinnumber=123 T 17350 6650 5 10 0 0 0 0 1 pinseq=123 } P 17300 6300 17600 6300 1 0 1 { T 17350 6350 5 10 1 1 0 0 1 pinnumber=122 T 17350 6350 5 10 0 0 0 0 1 pinseq=122 } P 17300 6000 17600 6000 1 0 1 { T 17350 6050 5 10 1 1 0 0 1 pinnumber=121 T 17350 6050 5 10 0 0 0 0 1 pinseq=121 } P 17300 5700 17600 5700 1 0 1 { T 17350 5750 5 10 1 1 0 0 1 pinnumber=120 T 17350 5750 5 10 0 0 0 0 1 pinseq=120 } P 17300 5400 17600 5400 1 0 1 { T 17350 5450 5 10 1 1 0 0 1 pinnumber=119 T 17350 5450 5 10 0 0 0 0 1 pinseq=119 } P 17300 5100 17600 5100 1 0 1 { T 17350 5150 5 10 1 1 0 0 1 pinnumber=118 T 17350 5150 5 10 0 0 0 0 1 pinseq=118 } P 17300 4800 17600 4800 1 0 1 { T 17350 4850 5 10 1 1 0 0 1 pinnumber=117 T 17350 4850 5 10 0 0 0 0 1 pinseq=117 } P 17300 4500 17600 4500 1 0 1 { T 17350 4550 5 10 1 1 0 0 1 pinnumber=116 T 17350 4550 5 10 0 0 0 0 1 pinseq=116 } P 17300 4200 17600 4200 1 0 1 { T 17350 4250 5 10 1 1 0 0 1 pinnumber=115 T 17350 4250 5 10 0 0 0 0 1 pinseq=115 } P 17300 3900 17600 3900 1 0 1 { T 17350 3950 5 10 1 1 0 0 1 pinnumber=114 T 17350 3950 5 10 0 0 0 0 1 pinseq=114 } P 17300 3600 17600 3600 1 0 1 { T 17350 3650 5 10 1 1 0 0 1 pinnumber=113 T 17350 3650 5 10 0 0 0 0 1 pinseq=113 } P 17300 3300 17600 3300 1 0 1 { T 17350 3350 5 10 1 1 0 0 1 pinnumber=112 T 17350 3350 5 10 0 0 0 0 1 pinseq=112 } P 17300 3000 17600 3000 1 0 1 { T 17350 3050 5 10 1 1 0 0 1 pinnumber=111 T 17350 3050 5 10 0 0 0 0 1 pinseq=111 } P 17300 2700 17600 2700 1 0 1 { T 17350 2750 5 10 1 1 0 0 1 pinnumber=110 T 17350 2750 5 10 0 0 0 0 1 pinseq=110 } P 17300 2400 17600 2400 1 0 1 { T 17350 2450 5 10 1 1 0 0 1 pinnumber=109 T 17350 2450 5 10 0 0 0 0 1 pinseq=109 } P 17300 2100 17600 2100 1 0 1 { T 17350 2150 5 10 1 1 0 0 1 pinnumber=108 T 17350 2150 5 10 0 0 0 0 1 pinseq=108 } P 17300 1800 17600 1800 1 0 1 { T 17350 1850 5 10 1 1 0 0 1 pinnumber=107 T 17350 1850 5 10 0 0 0 0 1 pinseq=107 } P 17300 1500 17600 1500 1 0 1 { T 17350 1550 5 10 1 1 0 0 1 pinnumber=106 T 17350 1550 5 10 0 0 0 0 1 pinseq=106 } P 17300 1200 17600 1200 1 0 1 { T 17350 1250 5 10 1 1 0 0 1 pinnumber=105 T 17350 1250 5 10 0 0 0 0 1 pinseq=105 } B 400 400 16900 16900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 17300 5 10 0 1 0 0 1 device=XC2S30-5PQ208I T 500 16500 9 10 1 0 0 0 1 GND T 500 13500 9 10 1 0 0 0 1 GND T 500 11100 9 10 1 0 0 0 1 GND T 500 16200 9 10 1 0 0 0 1 TMS T 500 15900 9 10 1 0 0 0 1 I/O T 500 15600 9 10 1 0 0 0 1 I/O T 500 14400 9 10 1 0 0 0 1 I/O T 500 15000 9 10 1 0 0 0 1 I/O, VREF T 500 14100 9 10 1 0 0 0 1 I/O T 500 13800 9 10 1 0 0 0 1 I/O T 500 13200 9 10 1 0 0 0 1 VCCO T 500 12600 9 10 1 0 0 0 1 I/O T 500 12300 9 10 1 0 0 0 1 I/O T 500 12000 9 10 1 0 0 0 1 I/O T 500 11700 9 10 1 0 0 0 1 I/O T 500 11400 9 10 1 0 0 0 1 I/O T 500 15300 9 10 1 0 0 0 1 I/O T 500 10800 9 10 1 0 0 0 1 I/O, VREF T 500 10500 9 10 1 0 0 0 1 I/O T 500 10200 9 10 1 0 0 0 1 I/O T 500 9900 9 10 1 0 0 0 1 I/O T 500 9600 9 10 1 0 0 0 1 I/O, IRDY T 500 1500 9 10 1 0 0 0 1 GND T 500 4800 9 10 1 0 0 0 1 GND T 500 7200 9 10 1 0 0 0 1 GND T 500 9300 9 10 1 0 0 0 1 GND T 500 9000 9 10 1 0 0 0 1 VCCO T 500 5100 9 10 1 0 0 0 1 VCCO T 500 8400 9 10 1 0 0 0 1 VCCINT T 500 7500 9 10 1 0 0 0 1 I/O, VREF T 500 3300 9 10 1 0 0 0 1 I/O, VREF T 500 8700 9 10 1 0 0 0 1 I/O, TRDY T 500 8100 9 10 1 0 0 0 1 I/O T 500 7800 9 10 1 0 0 0 1 I/O T 500 6900 9 10 1 0 0 0 1 I/O T 500 6600 9 10 1 0 0 0 1 I/O T 500 6300 9 10 1 0 0 0 1 I/O T 500 6000 9 10 1 0 0 0 1 I/O T 500 5700 9 10 1 0 0 0 1 I/O T 500 4500 9 10 1 0 0 0 1 I/O T 500 4200 9 10 1 0 0 0 1 I/O T 500 3900 9 10 1 0 0 0 1 I/O T 500 3000 9 10 1 0 0 0 1 I/O T 500 2700 9 10 1 0 0 0 1 I/O T 500 2400 9 10 1 0 0 0 1 I/O T 500 2100 9 10 1 0 0 0 1 I/O T 500 1800 9 10 1 0 0 0 1 M1 T 500 1200 9 10 1 0 0 0 1 M0 T 16600 17450 9 10 1 0 0 0 1 XC2S30-5PQ208I T 1200 500 9 10 1 0 90 0 1 VCCO T 1500 500 9 10 1 0 90 0 1 M2 T 2400 500 9 10 1 0 90 0 1 I/O T 2700 500 9 10 1 0 90 0 1 I/O T 3000 500 9 10 1 0 90 0 1 I/O, VREF T 3600 500 9 10 1 0 90 0 1 I/O T 3900 500 9 10 1 0 90 0 1 I/O T 4200 500 9 10 1 0 90 0 1 I/O T 4500 500 9 10 1 0 90 0 1 GND T 4800 500 9 10 1 0 90 0 1 VCCO T 5100 500 9 10 1 0 90 0 1 VCCINT T 5400 500 9 10 1 0 90 0 1 I/O T 5700 500 9 10 1 0 90 0 1 I/O T 6000 500 9 10 1 0 90 0 1 I/O T 6300 500 9 10 1 0 90 0 1 I/O T 6600 500 9 10 1 0 90 0 1 I/O T 6900 500 9 10 1 0 90 0 1 GND T 7200 500 9 10 1 0 90 0 1 I/O, VREF T 7500 500 9 10 1 0 90 0 1 I/O T 7800 500 9 10 1 0 90 0 1 I/O T 8100 500 9 10 1 0 90 0 1 VCCINT T 8400 500 9 10 1 0 90 0 1 I, GCK1 T 9300 500 9 10 1 0 90 0 1 I, GCK0 T 8700 500 9 10 1 0 90 0 1 VCCO T 9000 500 9 10 1 0 90 0 1 GND T 9600 500 9 10 1 0 90 0 1 I/O T 9900 500 9 10 1 0 90 0 1 I/O T 10200 500 9 10 1 0 90 0 1 I/O T 10500 500 9 10 1 0 90 0 1 I/O, VREF T 10800 500 9 10 1 0 90 0 1 GND T 11100 500 9 10 1 0 90 0 1 I/O T 11400 500 9 10 1 0 90 0 1 I/O T 11700 500 9 10 1 0 90 0 1 I/O T 12000 500 9 10 1 0 90 0 1 I/O T 12300 500 9 10 1 0 90 0 1 I/O T 12600 500 9 10 1 0 90 0 1 VCCINT T 12900 500 9 10 1 0 90 0 1 VCCO T 13200 500 9 10 1 0 90 0 1 GND T 13500 500 9 10 1 0 90 0 1 I/O T 13800 500 9 10 1 0 90 0 1 I/O T 14100 500 9 10 1 0 90 0 1 I/O T 14700 500 9 10 1 0 90 0 1 I/O, VREF T 15000 500 9 10 1 0 90 0 1 I/O T 15300 500 9 10 1 0 90 0 1 I/O T 15600 500 9 10 1 0 90 0 1 I/O T 15900 500 9 10 1 0 90 0 1 I/O T 16200 500 9 10 1 0 90 0 1 GND T 16500 500 9 10 1 0 90 0 1 DONE T 17200 1200 9 10 1 0 0 6 1 VCCO T 17200 1500 9 10 1 0 0 6 1 PROGRAM T 17200 1800 9 10 1 0 0 6 1 I/O (INIT) T 17200 2100 9 10 1 0 0 6 1 I/O (D7) T 17200 2400 9 10 1 0 0 6 1 I/O T 17200 2700 9 10 1 0 0 6 1 I/O T 17200 3000 9 10 1 0 0 6 1 I/O, VREF T 17200 3600 9 10 1 0 0 6 1 I/O T 17200 3900 9 10 1 0 0 6 1 I/O T 17200 4200 9 10 1 0 0 6 1 I/O (D6) T 17200 4500 9 10 1 0 0 6 1 GND T 17200 4800 9 10 1 0 0 6 1 VCCO T 17200 5400 9 10 1 0 0 6 1 I/O (D5) T 17200 5700 9 10 1 0 0 6 1 I/O T 17200 6000 9 10 1 0 0 6 1 I/O T 17200 6300 9 10 1 0 0 6 1 I/O T 17200 6600 9 10 1 0 0 6 1 I/O T 17200 6900 9 10 1 0 0 6 1 GND T 17200 7200 9 10 1 0 0 6 1 I/O, VREF T 17200 7500 9 10 1 0 0 6 1 I/O (D4) T 17200 7800 9 10 1 0 0 6 1 I/O T 17200 8100 9 10 1 0 0 6 1 VCCINT T 17200 8400 9 10 1 0 0 6 1 I/O, TRDY T 17200 8700 9 10 1 0 0 6 1 VCCO T 17200 9000 9 10 1 0 0 6 1 GND T 17200 9300 9 10 1 0 0 6 1 I/O, IRDY T 17200 9600 9 10 1 0 0 6 1 I/O T 17200 9900 9 10 1 0 0 6 1 I/O T 17200 10200 9 10 1 0 0 6 1 I/O (D3) T 17200 10500 9 10 1 0 0 6 1 I/O, VREF T 17200 10800 9 10 1 0 0 6 1 GND T 17200 11100 9 10 1 0 0 6 1 I/O T 17200 11400 9 10 1 0 0 6 1 I/O T 17200 11700 9 10 1 0 0 6 1 I/O T 17200 12000 9 10 1 0 0 6 1 I/O T 17200 12300 9 10 1 0 0 6 1 I/O (D2) T 17200 12900 9 10 1 0 0 6 1 VCCO T 17200 13200 9 10 1 0 0 6 1 GND T 17200 13500 9 10 1 0 0 6 1 I/O (D1) T 17200 13800 9 10 1 0 0 6 1 I/O T 17200 14100 9 10 1 0 0 6 1 I/O T 17200 14700 9 10 1 0 0 6 1 I/O, VREF T 17200 15000 9 10 1 0 0 6 1 I/O T 17200 15300 9 10 1 0 0 6 1 I/O T 17200 15600 9 10 1 0 0 6 1 I/O (DIN, D0) T 17200 15900 9 10 1 0 0 6 1 I/O (DOUT, BUSY) T 17200 16200 9 10 1 0 0 6 1 CCLK T 17200 16500 9 10 1 0 0 6 1 VCCO T 16500 17200 9 10 1 0 90 6 1 TDO T 16200 17200 9 10 1 0 90 6 1 GND T 15900 17200 9 10 1 0 90 6 1 TDI T 15600 17200 9 10 1 0 90 6 1 I/O (CS) T 15300 17200 9 10 1 0 90 6 1 I/O (WRITE) T 15000 17200 9 10 1 0 90 6 1 I/O T 14700 17200 9 10 1 0 90 6 1 I/O T 14400 17200 9 10 1 0 90 6 1 I/O, VREF T 13800 17200 9 10 1 0 90 6 1 I/O T 13500 17200 9 10 1 0 90 6 1 I/O T 13200 17200 9 10 1 0 90 6 1 I/O T 12900 17200 9 10 1 0 90 6 1 GND T 12600 17200 9 10 1 0 90 6 1 VCCO T 12300 17200 9 10 1 0 90 6 1 VCCINT T 12000 17200 9 10 1 0 90 6 1 I/O T 11700 17200 9 10 1 0 90 6 1 I/O T 11400 17200 9 10 1 0 90 6 1 I/O T 11100 17200 9 10 1 0 90 6 1 I/O T 10800 17200 9 10 1 0 90 6 1 I/O T 10500 17200 9 10 1 0 90 6 1 GND T 10200 17200 9 10 1 0 90 6 1 I/O, VREF T 9900 17200 9 10 1 0 90 6 1 I/O T 9600 17200 9 10 1 0 90 6 1 I/O T 9300 17200 9 10 1 0 90 6 1 I/O T 9000 17200 9 10 1 0 90 6 1 I, GCK2 T 8100 17200 9 10 1 0 90 6 1 I, GCK3 T 8700 17200 9 10 1 0 90 6 1 GND T 8400 17200 9 10 1 0 90 6 1 VCCO T 7800 17200 9 10 1 0 90 6 1 VCCINT T 7500 17200 9 10 1 0 90 6 1 I/O T 7200 17200 9 10 1 0 90 6 1 I/O T 6900 17200 9 10 1 0 90 6 1 I/O, VREF T 6600 17200 9 10 1 0 90 6 1 GND T 6300 17200 9 10 1 0 90 6 1 I/O T 6000 17200 9 10 1 0 90 6 1 I/O T 5700 17200 9 10 1 0 90 6 1 I/O T 5400 17200 9 10 1 0 90 6 1 I/O T 5100 17200 9 10 1 0 90 6 1 I/O T 4800 17200 9 10 1 0 90 6 1 VCCINT T 4500 17200 9 10 1 0 90 6 1 VCCO T 4200 17200 9 10 1 0 90 6 1 GND T 3900 17200 9 10 1 0 90 6 1 I/O T 3600 17200 9 10 1 0 90 6 1 I/O T 3300 17200 9 10 1 0 90 6 1 I/O T 2700 17200 9 10 1 0 90 6 1 I/O, VREF T 2400 17200 9 10 1 0 90 6 1 I/O T 2100 17200 9 10 1 0 90 6 1 I/O T 1800 17200 9 10 1 0 90 6 1 I/O T 1500 17200 9 10 1 0 90 6 1 TCK T 1200 17200 9 10 1 0 90 6 1 VCCO L 1100 9100 2600 9100 3 0 0 0 -1 -1 L 900 16800 2600 15100 3 0 0 0 -1 -1 L 1100 1100 2600 2600 3 0 0 0 -1 -1 L 8600 1100 8600 2600 3 0 0 0 -1 -1 L 16600 1100 15100 2600 3 0 0 0 -1 -1 L 16600 8600 15100 8600 3 0 0 0 -1 -1 L 16600 16600 15100 15100 3 0 0 0 -1 -1 L 8400 16600 8400 15100 3 0 0 0 -1 -1 T 1600 12800 9 30 1 0 0 0 1 BANK7 T 1600 5200 9 30 1 0 0 0 1 BANK6 T 4100 1600 9 30 1 0 0 0 1 BANK5 T 11600 1600 9 30 1 0 0 0 1 BANK4 T 14100 5100 9 30 1 0 0 0 1 BANK3 T 14100 12800 9 30 1 0 0 0 1 BANK2 T 11600 15700 9 30 1 0 0 0 1 BANK1 T 3600 15700 9 30 1 0 0 0 1 BANK0 T 100 50 8 10 0 1 0 0 1 device=XC2S30-5PQ208C T 16600 17650 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/xilinx/XC2S30-5PQ208C.sym0000664000175000017500000007374212204104273015467 00000000000000v 20031231 1 P 100 12600 400 12600 1 0 0 { T 100 12650 5 10 1 1 0 0 1 pinnumber=14 T 100 12650 5 10 0 0 0 0 1 pinseq=14 } P 100 12300 400 12300 1 0 0 { T 100 12350 5 10 1 1 0 0 1 pinnumber=15 T 100 12350 5 10 0 0 0 0 1 pinseq=15 } P 100 12000 400 12000 1 0 0 { T 100 12050 5 10 1 1 0 0 1 pinnumber=16 T 100 12050 5 10 0 0 0 0 1 pinseq=16 } P 100 11700 400 11700 1 0 0 { T 100 11750 5 10 1 1 0 0 1 pinnumber=17 T 100 11750 5 10 0 0 0 0 1 pinseq=17 } P 100 11400 400 11400 1 0 0 { T 100 11450 5 10 1 1 0 0 1 pinnumber=18 T 100 11450 5 10 0 0 0 0 1 pinseq=18 } P 100 11100 400 11100 1 0 0 { T 100 11150 5 10 1 1 0 0 1 pinnumber=19 T 100 11150 5 10 0 0 0 0 1 pinseq=19 } P 100 10800 400 10800 1 0 0 { T 100 10850 5 10 1 1 0 0 1 pinnumber=20 T 100 10850 5 10 0 0 0 0 1 pinseq=20 } P 100 10500 400 10500 1 0 0 { T 100 10550 5 10 1 1 0 0 1 pinnumber=21 T 100 10550 5 10 0 0 0 0 1 pinseq=21 } P 100 10200 400 10200 1 0 0 { T 100 10250 5 10 1 1 0 0 1 pinnumber=22 T 100 10250 5 10 0 0 0 0 1 pinseq=22 } P 100 9900 400 9900 1 0 0 { T 100 9950 5 10 1 1 0 0 1 pinnumber=23 T 100 9950 5 10 0 0 0 0 1 pinseq=23 } P 100 9600 400 9600 1 0 0 { T 100 9650 5 10 1 1 0 0 1 pinnumber=24 T 100 9650 5 10 0 0 0 0 1 pinseq=24 } P 100 9300 400 9300 1 0 0 { T 100 9350 5 10 1 1 0 0 1 pinnumber=25 T 100 9350 5 10 0 0 0 0 1 pinseq=25 } P 100 9000 400 9000 1 0 0 { T 100 9050 5 10 1 1 0 0 1 pinnumber=26 T 100 9050 5 10 0 0 0 0 1 pinseq=26 } P 100 16500 400 16500 1 0 0 { T 100 16550 5 10 1 1 0 0 1 pinnumber=1 T 100 16550 5 10 0 0 0 0 1 pinseq=1 } P 100 16200 400 16200 1 0 0 { T 100 16250 5 10 1 1 0 0 1 pinnumber=2 T 100 16250 5 10 0 0 0 0 1 pinseq=2 } P 100 15900 400 15900 1 0 0 { T 100 15950 5 10 1 1 0 0 1 pinnumber=3 T 100 15950 5 10 0 0 0 0 1 pinseq=3 } P 100 15600 400 15600 1 0 0 { T 100 15650 5 10 1 1 0 0 1 pinnumber=4 T 100 15650 5 10 0 0 0 0 1 pinseq=4 } P 100 15300 400 15300 1 0 0 { T 100 15350 5 10 1 1 0 0 1 pinnumber=5 T 100 15350 5 10 0 0 0 0 1 pinseq=5 } P 100 15000 400 15000 1 0 0 { T 100 15050 5 10 1 1 0 0 1 pinnumber=6 T 100 15050 5 10 0 0 0 0 1 pinseq=6 } P 100 14700 400 14700 1 0 0 { T 100 14750 5 10 1 1 0 0 1 pinnumber=7 T 100 14750 5 10 0 0 0 0 1 pinseq=7 } P 100 14400 400 14400 1 0 0 { T 100 14450 5 10 1 1 0 0 1 pinnumber=8 T 100 14450 5 10 0 0 0 0 1 pinseq=8 } P 100 14100 400 14100 1 0 0 { T 100 14150 5 10 1 1 0 0 1 pinnumber=9 T 100 14150 5 10 0 0 0 0 1 pinseq=9 } P 100 13800 400 13800 1 0 0 { T 100 13850 5 10 1 1 0 0 1 pinnumber=10 T 100 13850 5 10 0 0 0 0 1 pinseq=10 } P 100 13500 400 13500 1 0 0 { T 100 13550 5 10 1 1 0 0 1 pinnumber=11 T 100 13550 5 10 0 0 0 0 1 pinseq=11 } P 100 13200 400 13200 1 0 0 { T 100 13250 5 10 1 1 0 0 1 pinnumber=12 T 100 13250 5 10 0 0 0 0 1 pinseq=12 } P 100 12900 400 12900 1 0 0 { T 100 12950 5 10 1 1 0 0 1 pinnumber=13 T 100 12950 5 10 0 0 0 0 1 pinseq=13 } P 100 8700 400 8700 1 0 0 { T 100 8750 5 10 1 1 0 0 1 pinnumber=27 T 100 8750 5 10 0 0 0 0 1 pinseq=27 } P 100 8400 400 8400 1 0 0 { T 100 8450 5 10 1 1 0 0 1 pinnumber=28 T 100 8450 5 10 0 0 0 0 1 pinseq=28 } P 100 8100 400 8100 1 0 0 { T 100 8150 5 10 1 1 0 0 1 pinnumber=29 T 100 8150 5 10 0 0 0 0 1 pinseq=29 } P 100 7800 400 7800 1 0 0 { T 100 7850 5 10 1 1 0 0 1 pinnumber=30 T 100 7850 5 10 0 0 0 0 1 pinseq=30 } P 100 7500 400 7500 1 0 0 { T 100 7550 5 10 1 1 0 0 1 pinnumber=31 T 100 7550 5 10 0 0 0 0 1 pinseq=31 } P 100 7200 400 7200 1 0 0 { T 100 7250 5 10 1 1 0 0 1 pinnumber=32 T 100 7250 5 10 0 0 0 0 1 pinseq=32 } P 100 6900 400 6900 1 0 0 { T 100 6950 5 10 1 1 0 0 1 pinnumber=33 T 100 6950 5 10 0 0 0 0 1 pinseq=33 } P 100 6600 400 6600 1 0 0 { T 100 6650 5 10 1 1 0 0 1 pinnumber=34 T 100 6650 5 10 0 0 0 0 1 pinseq=34 } P 100 6300 400 6300 1 0 0 { T 100 6350 5 10 1 1 0 0 1 pinnumber=35 T 100 6350 5 10 0 0 0 0 1 pinseq=35 } P 100 6000 400 6000 1 0 0 { T 100 6050 5 10 1 1 0 0 1 pinnumber=36 T 100 6050 5 10 0 0 0 0 1 pinseq=36 } P 100 5700 400 5700 1 0 0 { T 100 5750 5 10 1 1 0 0 1 pinnumber=37 T 100 5750 5 10 0 0 0 0 1 pinseq=37 } P 100 5400 400 5400 1 0 0 { T 100 5450 5 10 1 1 0 0 1 pinnumber=38 T 100 5450 5 10 0 0 0 0 1 pinseq=38 } P 100 5100 400 5100 1 0 0 { T 100 5150 5 10 1 1 0 0 1 pinnumber=39 T 100 5150 5 10 0 0 0 0 1 pinseq=39 } P 100 4800 400 4800 1 0 0 { T 100 4850 5 10 1 1 0 0 1 pinnumber=40 T 100 4850 5 10 0 0 0 0 1 pinseq=40 } P 100 4500 400 4500 1 0 0 { T 100 4550 5 10 1 1 0 0 1 pinnumber=41 T 100 4550 5 10 0 0 0 0 1 pinseq=41 } P 100 4200 400 4200 1 0 0 { T 100 4250 5 10 1 1 0 0 1 pinnumber=42 T 100 4250 5 10 0 0 0 0 1 pinseq=42 } P 100 3900 400 3900 1 0 0 { T 100 3950 5 10 1 1 0 0 1 pinnumber=43 T 100 3950 5 10 0 0 0 0 1 pinseq=43 } P 100 3600 400 3600 1 0 0 { T 100 3650 5 10 1 1 0 0 1 pinnumber=44 T 100 3650 5 10 0 0 0 0 1 pinseq=44 } P 100 3300 400 3300 1 0 0 { T 100 3350 5 10 1 1 0 0 1 pinnumber=45 T 100 3350 5 10 0 0 0 0 1 pinseq=45 } P 100 3000 400 3000 1 0 0 { T 100 3050 5 10 1 1 0 0 1 pinnumber=46 T 100 3050 5 10 0 0 0 0 1 pinseq=46 } P 100 2700 400 2700 1 0 0 { T 100 2750 5 10 1 1 0 0 1 pinnumber=47 T 100 2750 5 10 0 0 0 0 1 pinseq=47 } P 100 2400 400 2400 1 0 0 { T 100 2450 5 10 1 1 0 0 1 pinnumber=48 T 100 2450 5 10 0 0 0 0 1 pinseq=48 } P 100 2100 400 2100 1 0 0 { T 100 2150 5 10 1 1 0 0 1 pinnumber=49 T 100 2150 5 10 0 0 0 0 1 pinseq=49 } P 100 1800 400 1800 1 0 0 { T 100 1850 5 10 1 1 0 0 1 pinnumber=50 T 100 1850 5 10 0 0 0 0 1 pinseq=50 } P 100 1500 400 1500 1 0 0 { T 100 1550 5 10 1 1 0 0 1 pinnumber=51 T 100 1550 5 10 0 0 0 0 1 pinseq=51 } P 100 1200 400 1200 1 0 0 { T 100 1250 5 10 1 1 0 0 1 pinnumber=52 T 100 1250 5 10 0 0 0 0 1 pinseq=52 } P 1200 17300 1200 17600 1 0 1 { T 1150 17350 5 10 1 1 90 0 1 pinnumber=208 T 1150 17350 5 10 0 0 90 0 1 pinseq=208 } P 1500 17300 1500 17600 1 0 1 { T 1450 17350 5 10 1 1 90 0 1 pinnumber=207 T 1450 17350 5 10 0 0 90 0 1 pinseq=207 } P 1800 17300 1800 17600 1 0 1 { T 1750 17350 5 10 1 1 90 0 1 pinnumber=206 T 1750 17350 5 10 0 0 90 0 1 pinseq=206 } P 2100 17300 2100 17600 1 0 1 { T 2050 17350 5 10 1 1 90 0 1 pinnumber=205 T 2050 17350 5 10 0 0 90 0 1 pinseq=205 } P 2400 17300 2400 17600 1 0 1 { T 2350 17350 5 10 1 1 90 0 1 pinnumber=204 T 2350 17350 5 10 0 0 90 0 1 pinseq=204 } P 2700 17300 2700 17600 1 0 1 { T 2650 17350 5 10 1 1 90 0 1 pinnumber=203 T 2650 17350 5 10 0 0 90 0 1 pinseq=203 } P 3000 17300 3000 17600 1 0 1 { T 2950 17350 5 10 1 1 90 0 1 pinnumber=202 T 2950 17350 5 10 0 0 90 0 1 pinseq=202 } P 3300 17300 3300 17600 1 0 1 { T 3250 17350 5 10 1 1 90 0 1 pinnumber=201 T 3250 17350 5 10 0 0 90 0 1 pinseq=201 } P 3600 17300 3600 17600 1 0 1 { T 3550 17350 5 10 1 1 90 0 1 pinnumber=200 T 3550 17350 5 10 0 0 90 0 1 pinseq=200 } P 3900 17300 3900 17600 1 0 1 { T 3850 17350 5 10 1 1 90 0 1 pinnumber=199 T 3850 17350 5 10 0 0 90 0 1 pinseq=199 } P 4200 17300 4200 17600 1 0 1 { T 4150 17350 5 10 1 1 90 0 1 pinnumber=198 T 4150 17350 5 10 0 0 90 0 1 pinseq=198 } P 4500 17300 4500 17600 1 0 1 { T 4450 17350 5 10 1 1 90 0 1 pinnumber=197 T 4450 17350 5 10 0 0 90 0 1 pinseq=197 } P 4800 17300 4800 17600 1 0 1 { T 4750 17350 5 10 1 1 90 0 1 pinnumber=196 T 4750 17350 5 10 0 0 90 0 1 pinseq=196 } P 5100 17300 5100 17600 1 0 1 { T 5050 17350 5 10 1 1 90 0 1 pinnumber=195 T 5050 17350 5 10 0 0 90 0 1 pinseq=195 } P 5400 17300 5400 17600 1 0 1 { T 5350 17350 5 10 1 1 90 0 1 pinnumber=194 T 5350 17350 5 10 0 0 90 0 1 pinseq=194 } P 5700 17300 5700 17600 1 0 1 { T 5650 17350 5 10 1 1 90 0 1 pinnumber=193 T 5650 17350 5 10 0 0 90 0 1 pinseq=193 } P 6000 17300 6000 17600 1 0 1 { T 5950 17350 5 10 1 1 90 0 1 pinnumber=192 T 5950 17350 5 10 0 0 90 0 1 pinseq=192 } P 6300 17300 6300 17600 1 0 1 { T 6250 17350 5 10 1 1 90 0 1 pinnumber=191 T 6250 17350 5 10 0 0 90 0 1 pinseq=191 } P 6600 17300 6600 17600 1 0 1 { T 6550 17350 5 10 1 1 90 0 1 pinnumber=190 T 6550 17350 5 10 0 0 90 0 1 pinseq=190 } P 6900 17300 6900 17600 1 0 1 { T 6850 17350 5 10 1 1 90 0 1 pinnumber=189 T 6850 17350 5 10 0 0 90 0 1 pinseq=189 } P 7200 17300 7200 17600 1 0 1 { T 7150 17350 5 10 1 1 90 0 1 pinnumber=188 T 7150 17350 5 10 0 0 90 0 1 pinseq=188 } P 7500 17300 7500 17600 1 0 1 { T 7450 17350 5 10 1 1 90 0 1 pinnumber=187 T 7450 17350 5 10 0 0 90 0 1 pinseq=187 } P 7800 17300 7800 17600 1 0 1 { T 7750 17350 5 10 1 1 90 0 1 pinnumber=186 T 7750 17350 5 10 0 0 90 0 1 pinseq=186 } P 8100 17300 8100 17600 1 0 1 { T 8050 17350 5 10 1 1 90 0 1 pinnumber=185 T 8050 17350 5 10 0 0 90 0 1 pinseq=185 } P 8400 17300 8400 17600 1 0 1 { T 8350 17350 5 10 1 1 90 0 1 pinnumber=184 T 8350 17350 5 10 0 0 90 0 1 pinseq=184 } P 8700 17300 8700 17600 1 0 1 { T 8650 17350 5 10 1 1 90 0 1 pinnumber=183 T 8650 17350 5 10 0 0 90 0 1 pinseq=183 } P 9000 17300 9000 17600 1 0 1 { T 8950 17350 5 10 1 1 90 0 1 pinnumber=182 T 8950 17350 5 10 0 0 90 0 1 pinseq=182 } P 9300 17300 9300 17600 1 0 1 { T 9250 17350 5 10 1 1 90 0 1 pinnumber=181 T 9250 17350 5 10 0 0 90 0 1 pinseq=181 } P 9600 17300 9600 17600 1 0 1 { T 9550 17350 5 10 1 1 90 0 1 pinnumber=180 T 9550 17350 5 10 0 0 90 0 1 pinseq=180 } P 9900 17300 9900 17600 1 0 1 { T 9850 17350 5 10 1 1 90 0 1 pinnumber=179 T 9850 17350 5 10 0 0 90 0 1 pinseq=179 } P 10200 17300 10200 17600 1 0 1 { T 10150 17350 5 10 1 1 90 0 1 pinnumber=178 T 10150 17350 5 10 0 0 90 0 1 pinseq=178 } P 10500 17300 10500 17600 1 0 1 { T 10450 17350 5 10 1 1 90 0 1 pinnumber=177 T 10450 17350 5 10 0 0 90 0 1 pinseq=177 } P 10800 17300 10800 17600 1 0 1 { T 10750 17350 5 10 1 1 90 0 1 pinnumber=176 T 10750 17350 5 10 0 0 90 0 1 pinseq=176 } P 11100 17300 11100 17600 1 0 1 { T 11050 17350 5 10 1 1 90 0 1 pinnumber=175 T 11050 17350 5 10 0 0 90 0 1 pinseq=175 } P 11400 17300 11400 17600 1 0 1 { T 11350 17350 5 10 1 1 90 0 1 pinnumber=174 T 11350 17350 5 10 0 0 90 0 1 pinseq=174 } P 11700 17300 11700 17600 1 0 1 { T 11650 17350 5 10 1 1 90 0 1 pinnumber=173 T 11650 17350 5 10 0 0 90 0 1 pinseq=173 } P 12000 17300 12000 17600 1 0 1 { T 11950 17350 5 10 1 1 90 0 1 pinnumber=172 T 11950 17350 5 10 0 0 90 0 1 pinseq=172 } P 12300 17300 12300 17600 1 0 1 { T 12250 17350 5 10 1 1 90 0 1 pinnumber=171 T 12250 17350 5 10 0 0 90 0 1 pinseq=171 } P 12600 17300 12600 17600 1 0 1 { T 12550 17350 5 10 1 1 90 0 1 pinnumber=170 T 12550 17350 5 10 0 0 90 0 1 pinseq=170 } P 12900 17300 12900 17600 1 0 1 { T 12850 17350 5 10 1 1 90 0 1 pinnumber=169 T 12850 17350 5 10 0 0 90 0 1 pinseq=169 } P 13200 17300 13200 17600 1 0 1 { T 13150 17350 5 10 1 1 90 0 1 pinnumber=168 T 13150 17350 5 10 0 0 90 0 1 pinseq=168 } P 13500 17300 13500 17600 1 0 1 { T 13450 17350 5 10 1 1 90 0 1 pinnumber=167 T 13450 17350 5 10 0 0 90 0 1 pinseq=167 } P 13800 17300 13800 17600 1 0 1 { T 13750 17350 5 10 1 1 90 0 1 pinnumber=166 T 13750 17350 5 10 0 0 90 0 1 pinseq=166 } P 14100 17300 14100 17600 1 0 1 { T 14050 17350 5 10 1 1 90 0 1 pinnumber=165 T 14050 17350 5 10 0 0 90 0 1 pinseq=165 } P 14400 17300 14400 17600 1 0 1 { T 14350 17350 5 10 1 1 90 0 1 pinnumber=164 T 14350 17350 5 10 0 0 90 0 1 pinseq=164 } P 14700 17300 14700 17600 1 0 1 { T 14650 17350 5 10 1 1 90 0 1 pinnumber=163 T 14650 17350 5 10 0 0 90 0 1 pinseq=163 } P 15000 17300 15000 17600 1 0 1 { T 14950 17350 5 10 1 1 90 0 1 pinnumber=162 T 14950 17350 5 10 0 0 90 0 1 pinseq=162 } P 15300 17300 15300 17600 1 0 1 { T 15250 17350 5 10 1 1 90 0 1 pinnumber=161 T 15250 17350 5 10 0 0 90 0 1 pinseq=161 } P 15600 17300 15600 17600 1 0 1 { T 15550 17350 5 10 1 1 90 0 1 pinnumber=160 T 15550 17350 5 10 0 0 90 0 1 pinseq=160 } P 15900 17300 15900 17600 1 0 1 { T 15850 17350 5 10 1 1 90 0 1 pinnumber=159 T 15850 17350 5 10 0 0 90 0 1 pinseq=159 } P 16200 17300 16200 17600 1 0 1 { T 16150 17350 5 10 1 1 90 0 1 pinnumber=158 T 16150 17350 5 10 0 0 90 0 1 pinseq=158 } P 16500 17300 16500 17600 1 0 1 { T 16450 17350 5 10 1 1 90 0 1 pinnumber=157 T 16450 17350 5 10 0 0 90 0 1 pinseq=157 } P 1200 100 1200 400 1 0 0 { T 1150 100 5 10 1 1 90 0 1 pinnumber=53 T 1150 100 5 10 0 0 90 0 1 pinseq=53 } P 1500 100 1500 400 1 0 0 { T 1450 100 5 10 1 1 90 0 1 pinnumber=54 T 1450 100 5 10 0 0 90 0 1 pinseq=54 } P 1800 100 1800 400 1 0 0 { T 1750 100 5 10 1 1 90 0 1 pinnumber=55 T 1750 100 5 10 0 0 90 0 1 pinseq=55 } P 2100 100 2100 400 1 0 0 { T 2050 100 5 10 1 1 90 0 1 pinnumber=56 T 2050 100 5 10 0 0 90 0 1 pinseq=56 } P 2400 100 2400 400 1 0 0 { T 2350 100 5 10 1 1 90 0 1 pinnumber=57 T 2350 100 5 10 0 0 90 0 1 pinseq=57 } P 2700 100 2700 400 1 0 0 { T 2650 100 5 10 1 1 90 0 1 pinnumber=58 T 2650 100 5 10 0 0 90 0 1 pinseq=58 } P 3000 100 3000 400 1 0 0 { T 2950 100 5 10 1 1 90 0 1 pinnumber=59 T 2950 100 5 10 0 0 90 0 1 pinseq=59 } P 3300 100 3300 400 1 0 0 { T 3250 100 5 10 1 1 90 0 1 pinnumber=60 T 3250 100 5 10 0 0 90 0 1 pinseq=60 } P 3600 100 3600 400 1 0 0 { T 3550 100 5 10 1 1 90 0 1 pinnumber=61 T 3550 100 5 10 0 0 90 0 1 pinseq=61 } P 3900 100 3900 400 1 0 0 { T 3850 100 5 10 1 1 90 0 1 pinnumber=62 T 3850 100 5 10 0 0 90 0 1 pinseq=62 } P 4200 100 4200 400 1 0 0 { T 4150 100 5 10 1 1 90 0 1 pinnumber=63 T 4150 100 5 10 0 0 90 0 1 pinseq=63 } P 4500 100 4500 400 1 0 0 { T 4450 100 5 10 1 1 90 0 1 pinnumber=64 T 4450 100 5 10 0 0 90 0 1 pinseq=64 } P 4800 100 4800 400 1 0 0 { T 4750 100 5 10 1 1 90 0 1 pinnumber=65 T 4750 100 5 10 0 0 90 0 1 pinseq=65 } P 5100 100 5100 400 1 0 0 { T 5050 100 5 10 1 1 90 0 1 pinnumber=66 T 5050 100 5 10 0 0 90 0 1 pinseq=66 } P 5400 100 5400 400 1 0 0 { T 5350 100 5 10 1 1 90 0 1 pinnumber=67 T 5350 100 5 10 0 0 90 0 1 pinseq=67 } P 5700 100 5700 400 1 0 0 { T 5650 100 5 10 1 1 90 0 1 pinnumber=68 T 5650 100 5 10 0 0 90 0 1 pinseq=68 } P 6000 100 6000 400 1 0 0 { T 5950 100 5 10 1 1 90 0 1 pinnumber=69 T 5950 100 5 10 0 0 90 0 1 pinseq=69 } P 6300 100 6300 400 1 0 0 { T 6250 100 5 10 1 1 90 0 1 pinnumber=70 T 6250 100 5 10 0 0 90 0 1 pinseq=70 } P 6600 100 6600 400 1 0 0 { T 6550 100 5 10 1 1 90 0 1 pinnumber=71 T 6550 100 5 10 0 0 90 0 1 pinseq=71 } P 6900 100 6900 400 1 0 0 { T 6850 100 5 10 1 1 90 0 1 pinnumber=72 T 6850 100 5 10 0 0 90 0 1 pinseq=72 } P 7200 100 7200 400 1 0 0 { T 7150 100 5 10 1 1 90 0 1 pinnumber=73 T 7150 100 5 10 0 0 90 0 1 pinseq=73 } P 7500 100 7500 400 1 0 0 { T 7450 100 5 10 1 1 90 0 1 pinnumber=74 T 7450 100 5 10 0 0 90 0 1 pinseq=74 } P 7800 100 7800 400 1 0 0 { T 7750 100 5 10 1 1 90 0 1 pinnumber=75 T 7750 100 5 10 0 0 90 0 1 pinseq=75 } P 8100 100 8100 400 1 0 0 { T 8050 100 5 10 1 1 90 0 1 pinnumber=76 T 8050 100 5 10 0 0 90 0 1 pinseq=76 } P 8400 100 8400 400 1 0 0 { T 8350 100 5 10 1 1 90 0 1 pinnumber=77 T 8350 100 5 10 0 0 90 0 1 pinseq=77 } P 8700 100 8700 400 1 0 0 { T 8650 100 5 10 1 1 90 0 1 pinnumber=78 T 8650 100 5 10 0 0 90 0 1 pinseq=78 } P 9000 100 9000 400 1 0 0 { T 8950 100 5 10 1 1 90 0 1 pinnumber=79 T 8950 100 5 10 0 0 90 0 1 pinseq=79 } P 9300 100 9300 400 1 0 0 { T 9250 100 5 10 1 1 90 0 1 pinnumber=80 T 9250 100 5 10 0 0 90 0 1 pinseq=80 } P 9600 100 9600 400 1 0 0 { T 9550 100 5 10 1 1 90 0 1 pinnumber=81 T 9550 100 5 10 0 0 90 0 1 pinseq=81 } P 9900 100 9900 400 1 0 0 { T 9850 100 5 10 1 1 90 0 1 pinnumber=82 T 9850 100 5 10 0 0 90 0 1 pinseq=82 } P 10200 100 10200 400 1 0 0 { T 10150 100 5 10 1 1 90 0 1 pinnumber=83 T 10150 100 5 10 0 0 90 0 1 pinseq=83 } P 10500 100 10500 400 1 0 0 { T 10450 100 5 10 1 1 90 0 1 pinnumber=84 T 10450 100 5 10 0 0 90 0 1 pinseq=84 } P 10800 100 10800 400 1 0 0 { T 10750 100 5 10 1 1 90 0 1 pinnumber=85 T 10750 100 5 10 0 0 90 0 1 pinseq=85 } P 11100 100 11100 400 1 0 0 { T 11050 100 5 10 1 1 90 0 1 pinnumber=86 T 11050 100 5 10 0 0 90 0 1 pinseq=86 } P 11400 100 11400 400 1 0 0 { T 11350 100 5 10 1 1 90 0 1 pinnumber=87 T 11350 100 5 10 0 0 90 0 1 pinseq=87 } P 11700 100 11700 400 1 0 0 { T 11650 100 5 10 1 1 90 0 1 pinnumber=88 T 11650 100 5 10 0 0 90 0 1 pinseq=88 } P 12000 100 12000 400 1 0 0 { T 11950 100 5 10 1 1 90 0 1 pinnumber=89 T 11950 100 5 10 0 0 90 0 1 pinseq=89 } P 12300 100 12300 400 1 0 0 { T 12250 100 5 10 1 1 90 0 1 pinnumber=90 T 12250 100 5 10 0 0 90 0 1 pinseq=90 } P 12600 100 12600 400 1 0 0 { T 12550 100 5 10 1 1 90 0 1 pinnumber=91 T 12550 100 5 10 0 0 90 0 1 pinseq=91 } P 12900 100 12900 400 1 0 0 { T 12850 100 5 10 1 1 90 0 1 pinnumber=92 T 12850 100 5 10 0 0 90 0 1 pinseq=92 } P 13200 100 13200 400 1 0 0 { T 13150 100 5 10 1 1 90 0 1 pinnumber=93 T 13150 100 5 10 0 0 90 0 1 pinseq=93 } P 13500 100 13500 400 1 0 0 { T 13450 100 5 10 1 1 90 0 1 pinnumber=94 T 13450 100 5 10 0 0 90 0 1 pinseq=94 } P 13800 100 13800 400 1 0 0 { T 13750 100 5 10 1 1 90 0 1 pinnumber=95 T 13750 100 5 10 0 0 90 0 1 pinseq=95 } P 14100 100 14100 400 1 0 0 { T 14050 100 5 10 1 1 90 0 1 pinnumber=96 T 14050 100 5 10 0 0 90 0 1 pinseq=96 } P 14400 100 14400 400 1 0 0 { T 14350 100 5 10 1 1 90 0 1 pinnumber=97 T 14350 100 5 10 0 0 90 0 1 pinseq=97 } P 14700 100 14700 400 1 0 0 { T 14650 100 5 10 1 1 90 0 1 pinnumber=98 T 14650 100 5 10 0 0 90 0 1 pinseq=98 } P 15000 100 15000 400 1 0 0 { T 14950 100 5 10 1 1 90 0 1 pinnumber=99 T 14950 100 5 10 0 0 90 0 1 pinseq=99 } P 15300 100 15300 400 1 0 0 { T 15250 50 5 10 1 1 90 0 1 pinnumber=100 T 15250 50 5 10 0 0 90 0 1 pinseq=100 } P 15600 100 15600 400 1 0 0 { T 15550 50 5 10 1 1 90 0 1 pinnumber=101 T 15550 50 5 10 0 0 90 0 1 pinseq=101 } P 15900 100 15900 400 1 0 0 { T 15850 50 5 10 1 1 90 0 1 pinnumber=102 T 15850 50 5 10 0 0 90 0 1 pinseq=102 } P 16200 100 16200 400 1 0 0 { T 16150 50 5 10 1 1 90 0 1 pinnumber=103 T 16150 50 5 10 0 0 90 0 1 pinseq=103 } P 16500 100 16500 400 1 0 0 { T 16450 50 5 10 1 1 90 0 1 pinnumber=104 T 16450 50 5 10 0 0 90 0 1 pinseq=104 } P 17300 12600 17600 12600 1 0 1 { T 17350 12650 5 10 1 1 0 0 1 pinnumber=143 T 17350 12650 5 10 0 0 0 0 1 pinseq=143 } P 17300 12300 17600 12300 1 0 1 { T 17350 12350 5 10 1 1 0 0 1 pinnumber=142 T 17350 12350 5 10 0 0 0 0 1 pinseq=142 } P 17300 12000 17600 12000 1 0 1 { T 17350 12050 5 10 1 1 0 0 1 pinnumber=141 T 17350 12050 5 10 0 0 0 0 1 pinseq=141 } P 17300 11700 17600 11700 1 0 1 { T 17350 11750 5 10 1 1 0 0 1 pinnumber=140 T 17350 11750 5 10 0 0 0 0 1 pinseq=140 } P 17300 11400 17600 11400 1 0 1 { T 17350 11500 5 10 1 1 0 0 1 pinnumber=139 T 17350 11500 5 10 0 0 0 0 1 pinseq=139 } P 17300 11100 17600 11100 1 0 1 { T 17350 11150 5 10 1 1 0 0 1 pinnumber=138 T 17350 11150 5 10 0 0 0 0 1 pinseq=138 } P 17300 10800 17600 10800 1 0 1 { T 17350 10850 5 10 1 1 0 0 1 pinnumber=137 T 17350 10850 5 10 0 0 0 0 1 pinseq=137 } P 17300 10500 17600 10500 1 0 1 { T 17350 10550 5 10 1 1 0 0 1 pinnumber=136 T 17350 10550 5 10 0 0 0 0 1 pinseq=136 } P 17300 10200 17600 10200 1 0 1 { T 17350 10250 5 10 1 1 0 0 1 pinnumber=135 T 17350 10250 5 10 0 0 0 0 1 pinseq=135 } P 17300 9900 17600 9900 1 0 1 { T 17350 9950 5 10 1 1 0 0 1 pinnumber=134 T 17350 9950 5 10 0 0 0 0 1 pinseq=134 } P 17300 9600 17600 9600 1 0 1 { T 17350 9650 5 10 1 1 0 0 1 pinnumber=133 T 17350 9650 5 10 0 0 0 0 1 pinseq=133 } P 17300 9300 17600 9300 1 0 1 { T 17350 9350 5 10 1 1 0 0 1 pinnumber=132 T 17350 9350 5 10 0 0 0 0 1 pinseq=132 } P 17300 9000 17600 9000 1 0 1 { T 17350 9050 5 10 1 1 0 0 1 pinnumber=131 T 17350 9050 5 10 0 0 0 0 1 pinseq=131 } P 17300 16500 17600 16500 1 0 1 { T 17350 16550 5 10 1 1 0 0 1 pinnumber=156 T 17350 16550 5 10 0 0 0 0 1 pinseq=156 } P 17300 16200 17600 16200 1 0 1 { T 17350 16250 5 10 1 1 0 0 1 pinnumber=155 T 17350 16250 5 10 0 0 0 0 1 pinseq=155 } P 17300 15900 17600 15900 1 0 1 { T 17350 15950 5 10 1 1 0 0 1 pinnumber=154 T 17350 15950 5 10 0 0 0 0 1 pinseq=154 } P 17300 15600 17600 15600 1 0 1 { T 17350 15650 5 10 1 1 0 0 1 pinnumber=153 T 17350 15650 5 10 0 0 0 0 1 pinseq=153 } P 17300 15300 17600 15300 1 0 1 { T 17350 15350 5 10 1 1 0 0 1 pinnumber=152 T 17350 15350 5 10 0 0 0 0 1 pinseq=152 } P 17300 15000 17600 15000 1 0 1 { T 17350 15050 5 10 1 1 0 0 1 pinnumber=151 T 17350 15050 5 10 0 0 0 0 1 pinseq=151 } P 17300 14700 17600 14700 1 0 1 { T 17350 14750 5 10 1 1 0 0 1 pinnumber=150 T 17350 14750 5 10 0 0 0 0 1 pinseq=150 } P 17300 14400 17600 14400 1 0 1 { T 17350 14450 5 10 1 1 0 0 1 pinnumber=149 T 17350 14450 5 10 0 0 0 0 1 pinseq=149 } P 17300 14100 17600 14100 1 0 1 { T 17350 14150 5 10 1 1 0 0 1 pinnumber=148 T 17350 14150 5 10 0 0 0 0 1 pinseq=148 } P 17300 13800 17600 13800 1 0 1 { T 17350 13850 5 10 1 1 0 0 1 pinnumber=147 T 17350 13850 5 10 0 0 0 0 1 pinseq=147 } P 17300 13500 17600 13500 1 0 1 { T 17350 13550 5 10 1 1 0 0 1 pinnumber=146 T 17350 13550 5 10 0 0 0 0 1 pinseq=146 } P 17300 13200 17600 13200 1 0 1 { T 17350 13250 5 10 1 1 0 0 1 pinnumber=145 T 17350 13250 5 10 0 0 0 0 1 pinseq=145 } P 17300 12900 17600 12900 1 0 1 { T 17350 12950 5 10 1 1 0 0 1 pinnumber=144 T 17350 12950 5 10 0 0 0 0 1 pinseq=144 } P 17300 8700 17600 8700 1 0 1 { T 17350 8750 5 10 1 1 0 0 1 pinnumber=130 T 17350 8750 5 10 0 0 0 0 1 pinseq=130 } P 17300 8400 17600 8400 1 0 1 { T 17350 8450 5 10 1 1 0 0 1 pinnumber=129 T 17350 8450 5 10 0 0 0 0 1 pinseq=129 } P 17300 8100 17600 8100 1 0 1 { T 17350 8150 5 10 1 1 0 0 1 pinnumber=128 T 17350 8150 5 10 0 0 0 0 1 pinseq=128 } P 17300 7800 17600 7800 1 0 1 { T 17350 7850 5 10 1 1 0 0 1 pinnumber=127 T 17350 7850 5 10 0 0 0 0 1 pinseq=127 } P 17300 7500 17600 7500 1 0 1 { T 17350 7550 5 10 1 1 0 0 1 pinnumber=126 T 17350 7550 5 10 0 0 0 0 1 pinseq=126 } P 17300 7200 17600 7200 1 0 1 { T 17350 7250 5 10 1 1 0 0 1 pinnumber=125 T 17350 7250 5 10 0 0 0 0 1 pinseq=125 } P 17300 6900 17600 6900 1 0 1 { T 17350 6950 5 10 1 1 0 0 1 pinnumber=124 T 17350 6950 5 10 0 0 0 0 1 pinseq=124 } P 17300 6600 17600 6600 1 0 1 { T 17350 6650 5 10 1 1 0 0 1 pinnumber=123 T 17350 6650 5 10 0 0 0 0 1 pinseq=123 } P 17300 6300 17600 6300 1 0 1 { T 17350 6350 5 10 1 1 0 0 1 pinnumber=122 T 17350 6350 5 10 0 0 0 0 1 pinseq=122 } P 17300 6000 17600 6000 1 0 1 { T 17350 6050 5 10 1 1 0 0 1 pinnumber=121 T 17350 6050 5 10 0 0 0 0 1 pinseq=121 } P 17300 5700 17600 5700 1 0 1 { T 17350 5750 5 10 1 1 0 0 1 pinnumber=120 T 17350 5750 5 10 0 0 0 0 1 pinseq=120 } P 17300 5400 17600 5400 1 0 1 { T 17350 5450 5 10 1 1 0 0 1 pinnumber=119 T 17350 5450 5 10 0 0 0 0 1 pinseq=119 } P 17300 5100 17600 5100 1 0 1 { T 17350 5150 5 10 1 1 0 0 1 pinnumber=118 T 17350 5150 5 10 0 0 0 0 1 pinseq=118 } P 17300 4800 17600 4800 1 0 1 { T 17350 4850 5 10 1 1 0 0 1 pinnumber=117 T 17350 4850 5 10 0 0 0 0 1 pinseq=117 } P 17300 4500 17600 4500 1 0 1 { T 17350 4550 5 10 1 1 0 0 1 pinnumber=116 T 17350 4550 5 10 0 0 0 0 1 pinseq=116 } P 17300 4200 17600 4200 1 0 1 { T 17350 4250 5 10 1 1 0 0 1 pinnumber=115 T 17350 4250 5 10 0 0 0 0 1 pinseq=115 } P 17300 3900 17600 3900 1 0 1 { T 17350 3950 5 10 1 1 0 0 1 pinnumber=114 T 17350 3950 5 10 0 0 0 0 1 pinseq=114 } P 17300 3600 17600 3600 1 0 1 { T 17350 3650 5 10 1 1 0 0 1 pinnumber=113 T 17350 3650 5 10 0 0 0 0 1 pinseq=113 } P 17300 3300 17600 3300 1 0 1 { T 17350 3350 5 10 1 1 0 0 1 pinnumber=112 T 17350 3350 5 10 0 0 0 0 1 pinseq=112 } P 17300 3000 17600 3000 1 0 1 { T 17350 3050 5 10 1 1 0 0 1 pinnumber=111 T 17350 3050 5 10 0 0 0 0 1 pinseq=111 } P 17300 2700 17600 2700 1 0 1 { T 17350 2750 5 10 1 1 0 0 1 pinnumber=110 T 17350 2750 5 10 0 0 0 0 1 pinseq=110 } P 17300 2400 17600 2400 1 0 1 { T 17350 2450 5 10 1 1 0 0 1 pinnumber=109 T 17350 2450 5 10 0 0 0 0 1 pinseq=109 } P 17300 2100 17600 2100 1 0 1 { T 17350 2150 5 10 1 1 0 0 1 pinnumber=108 T 17350 2150 5 10 0 0 0 0 1 pinseq=108 } P 17300 1800 17600 1800 1 0 1 { T 17350 1850 5 10 1 1 0 0 1 pinnumber=107 T 17350 1850 5 10 0 0 0 0 1 pinseq=107 } P 17300 1500 17600 1500 1 0 1 { T 17350 1550 5 10 1 1 0 0 1 pinnumber=106 T 17350 1550 5 10 0 0 0 0 1 pinseq=106 } P 17300 1200 17600 1200 1 0 1 { T 17350 1250 5 10 1 1 0 0 1 pinnumber=105 T 17350 1250 5 10 0 0 0 0 1 pinseq=105 } B 400 400 16900 16900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 17300 5 10 0 1 0 0 1 device=XC2S30-5PQ208C T 500 16500 9 10 1 0 0 0 1 GND T 500 13500 9 10 1 0 0 0 1 GND T 500 11100 9 10 1 0 0 0 1 GND T 500 16200 9 10 1 0 0 0 1 TMS T 500 15900 9 10 1 0 0 0 1 I/O T 500 15600 9 10 1 0 0 0 1 I/O T 500 14400 9 10 1 0 0 0 1 I/O T 500 15000 9 10 1 0 0 0 1 I/O, VREF T 500 14100 9 10 1 0 0 0 1 I/O T 500 13800 9 10 1 0 0 0 1 I/O T 500 13200 9 10 1 0 0 0 1 VCCO T 500 12600 9 10 1 0 0 0 1 I/O T 500 12300 9 10 1 0 0 0 1 I/O T 500 12000 9 10 1 0 0 0 1 I/O T 500 11700 9 10 1 0 0 0 1 I/O T 500 11400 9 10 1 0 0 0 1 I/O T 500 15300 9 10 1 0 0 0 1 I/O T 500 10800 9 10 1 0 0 0 1 I/O, VREF T 500 10500 9 10 1 0 0 0 1 I/O T 500 10200 9 10 1 0 0 0 1 I/O T 500 9900 9 10 1 0 0 0 1 I/O T 500 9600 9 10 1 0 0 0 1 I/O, IRDY T 500 1500 9 10 1 0 0 0 1 GND T 500 4800 9 10 1 0 0 0 1 GND T 500 7200 9 10 1 0 0 0 1 GND T 500 9300 9 10 1 0 0 0 1 GND T 500 9000 9 10 1 0 0 0 1 VCCO T 500 5100 9 10 1 0 0 0 1 VCCO T 500 8400 9 10 1 0 0 0 1 VCCINT T 500 7500 9 10 1 0 0 0 1 I/O, VREF T 500 3300 9 10 1 0 0 0 1 I/O, VREF T 500 8700 9 10 1 0 0 0 1 I/O, TRDY T 500 8100 9 10 1 0 0 0 1 I/O T 500 7800 9 10 1 0 0 0 1 I/O T 500 6900 9 10 1 0 0 0 1 I/O T 500 6600 9 10 1 0 0 0 1 I/O T 500 6300 9 10 1 0 0 0 1 I/O T 500 6000 9 10 1 0 0 0 1 I/O T 500 5700 9 10 1 0 0 0 1 I/O T 500 4500 9 10 1 0 0 0 1 I/O T 500 4200 9 10 1 0 0 0 1 I/O T 500 3900 9 10 1 0 0 0 1 I/O T 500 3000 9 10 1 0 0 0 1 I/O T 500 2700 9 10 1 0 0 0 1 I/O T 500 2400 9 10 1 0 0 0 1 I/O T 500 2100 9 10 1 0 0 0 1 I/O T 500 1800 9 10 1 0 0 0 1 M1 T 500 1200 9 10 1 0 0 0 1 M0 T 16600 17450 9 10 1 0 0 0 1 XC2S30-5PQ208C T 1200 500 9 10 1 0 90 0 1 VCCO T 1500 500 9 10 1 0 90 0 1 M2 T 2400 500 9 10 1 0 90 0 1 I/O T 2700 500 9 10 1 0 90 0 1 I/O T 3000 500 9 10 1 0 90 0 1 I/O, VREF T 3600 500 9 10 1 0 90 0 1 I/O T 3900 500 9 10 1 0 90 0 1 I/O T 4200 500 9 10 1 0 90 0 1 I/O T 4500 500 9 10 1 0 90 0 1 GND T 4800 500 9 10 1 0 90 0 1 VCCO T 5100 500 9 10 1 0 90 0 1 VCCINT T 5400 500 9 10 1 0 90 0 1 I/O T 5700 500 9 10 1 0 90 0 1 I/O T 6000 500 9 10 1 0 90 0 1 I/O T 6300 500 9 10 1 0 90 0 1 I/O T 6600 500 9 10 1 0 90 0 1 I/O T 6900 500 9 10 1 0 90 0 1 GND T 7200 500 9 10 1 0 90 0 1 I/O, VREF T 7500 500 9 10 1 0 90 0 1 I/O T 7800 500 9 10 1 0 90 0 1 I/O T 8100 500 9 10 1 0 90 0 1 VCCINT T 8400 500 9 10 1 0 90 0 1 I, GCK1 T 9300 500 9 10 1 0 90 0 1 I, GCK0 T 8700 500 9 10 1 0 90 0 1 VCCO T 9000 500 9 10 1 0 90 0 1 GND T 9600 500 9 10 1 0 90 0 1 I/O T 9900 500 9 10 1 0 90 0 1 I/O T 10200 500 9 10 1 0 90 0 1 I/O T 10500 500 9 10 1 0 90 0 1 I/O, VREF T 10800 500 9 10 1 0 90 0 1 GND T 11100 500 9 10 1 0 90 0 1 I/O T 11400 500 9 10 1 0 90 0 1 I/O T 11700 500 9 10 1 0 90 0 1 I/O T 12000 500 9 10 1 0 90 0 1 I/O T 12300 500 9 10 1 0 90 0 1 I/O T 12600 500 9 10 1 0 90 0 1 VCCINT T 12900 500 9 10 1 0 90 0 1 VCCO T 13200 500 9 10 1 0 90 0 1 GND T 13500 500 9 10 1 0 90 0 1 I/O T 13800 500 9 10 1 0 90 0 1 I/O T 14100 500 9 10 1 0 90 0 1 I/O T 14700 500 9 10 1 0 90 0 1 I/O, VREF T 15000 500 9 10 1 0 90 0 1 I/O T 15300 500 9 10 1 0 90 0 1 I/O T 15600 500 9 10 1 0 90 0 1 I/O T 15900 500 9 10 1 0 90 0 1 I/O T 16200 500 9 10 1 0 90 0 1 GND T 16500 500 9 10 1 0 90 0 1 DONE T 17200 1200 9 10 1 0 0 6 1 VCCO T 17200 1500 9 10 1 0 0 6 1 PROGRAM T 17200 1800 9 10 1 0 0 6 1 I/O (INIT) T 17200 2100 9 10 1 0 0 6 1 I/O (D7) T 17200 2400 9 10 1 0 0 6 1 I/O T 17200 2700 9 10 1 0 0 6 1 I/O T 17200 3000 9 10 1 0 0 6 1 I/O, VREF T 17200 3600 9 10 1 0 0 6 1 I/O T 17200 3900 9 10 1 0 0 6 1 I/O T 17200 4200 9 10 1 0 0 6 1 I/O (D6) T 17200 4500 9 10 1 0 0 6 1 GND T 17200 4800 9 10 1 0 0 6 1 VCCO T 17200 5400 9 10 1 0 0 6 1 I/O (D5) T 17200 5700 9 10 1 0 0 6 1 I/O T 17200 6000 9 10 1 0 0 6 1 I/O T 17200 6300 9 10 1 0 0 6 1 I/O T 17200 6600 9 10 1 0 0 6 1 I/O T 17200 6900 9 10 1 0 0 6 1 GND T 17200 7200 9 10 1 0 0 6 1 I/O, VREF T 17200 7500 9 10 1 0 0 6 1 I/O (D4) T 17200 7800 9 10 1 0 0 6 1 I/O T 17200 8100 9 10 1 0 0 6 1 VCCINT T 17200 8400 9 10 1 0 0 6 1 I/O, TRDY T 17200 8700 9 10 1 0 0 6 1 VCCO T 17200 9000 9 10 1 0 0 6 1 GND T 17200 9300 9 10 1 0 0 6 1 I/O, IRDY T 17200 9600 9 10 1 0 0 6 1 I/O T 17200 9900 9 10 1 0 0 6 1 I/O T 17200 10200 9 10 1 0 0 6 1 I/O (D3) T 17200 10500 9 10 1 0 0 6 1 I/O, VREF T 17200 10800 9 10 1 0 0 6 1 GND T 17200 11100 9 10 1 0 0 6 1 I/O T 17200 11400 9 10 1 0 0 6 1 I/O T 17200 11700 9 10 1 0 0 6 1 I/O T 17200 12000 9 10 1 0 0 6 1 I/O T 17200 12300 9 10 1 0 0 6 1 I/O (D2) T 17200 12900 9 10 1 0 0 6 1 VCCO T 17200 13200 9 10 1 0 0 6 1 GND T 17200 13500 9 10 1 0 0 6 1 I/O (D1) T 17200 13800 9 10 1 0 0 6 1 I/O T 17200 14100 9 10 1 0 0 6 1 I/O T 17200 14700 9 10 1 0 0 6 1 I/O, VREF T 17200 15000 9 10 1 0 0 6 1 I/O T 17200 15300 9 10 1 0 0 6 1 I/O T 17200 15600 9 10 1 0 0 6 1 I/O (DIN, D0) T 17200 15900 9 10 1 0 0 6 1 I/O (DOUT, BUSY) T 17200 16200 9 10 1 0 0 6 1 CCLK T 17200 16500 9 10 1 0 0 6 1 VCCO T 16500 17200 9 10 1 0 90 6 1 TDO T 16200 17200 9 10 1 0 90 6 1 GND T 15900 17200 9 10 1 0 90 6 1 TDI T 15600 17200 9 10 1 0 90 6 1 I/O (CS) T 15300 17200 9 10 1 0 90 6 1 I/O (WRITE) T 15000 17200 9 10 1 0 90 6 1 I/O T 14700 17200 9 10 1 0 90 6 1 I/O T 14400 17200 9 10 1 0 90 6 1 I/O, VREF T 13800 17200 9 10 1 0 90 6 1 I/O T 13500 17200 9 10 1 0 90 6 1 I/O T 13200 17200 9 10 1 0 90 6 1 I/O T 12900 17200 9 10 1 0 90 6 1 GND T 12600 17200 9 10 1 0 90 6 1 VCCO T 12300 17200 9 10 1 0 90 6 1 VCCINT T 12000 17200 9 10 1 0 90 6 1 I/O T 11700 17200 9 10 1 0 90 6 1 I/O T 11400 17200 9 10 1 0 90 6 1 I/O T 11100 17200 9 10 1 0 90 6 1 I/O T 10800 17200 9 10 1 0 90 6 1 I/O T 10500 17200 9 10 1 0 90 6 1 GND T 10200 17200 9 10 1 0 90 6 1 I/O, VREF T 9900 17200 9 10 1 0 90 6 1 I/O T 9600 17200 9 10 1 0 90 6 1 I/O T 9300 17200 9 10 1 0 90 6 1 I/O T 9000 17200 9 10 1 0 90 6 1 I, GCK2 T 8100 17200 9 10 1 0 90 6 1 I, GCK3 T 8700 17200 9 10 1 0 90 6 1 GND T 8400 17200 9 10 1 0 90 6 1 VCCO T 7800 17200 9 10 1 0 90 6 1 VCCINT T 7500 17200 9 10 1 0 90 6 1 I/O T 7200 17200 9 10 1 0 90 6 1 I/O T 6900 17200 9 10 1 0 90 6 1 I/O, VREF T 6600 17200 9 10 1 0 90 6 1 GND T 6300 17200 9 10 1 0 90 6 1 I/O T 6000 17200 9 10 1 0 90 6 1 I/O T 5700 17200 9 10 1 0 90 6 1 I/O T 5400 17200 9 10 1 0 90 6 1 I/O T 5100 17200 9 10 1 0 90 6 1 I/O T 4800 17200 9 10 1 0 90 6 1 VCCINT T 4500 17200 9 10 1 0 90 6 1 VCCO T 4200 17200 9 10 1 0 90 6 1 GND T 3900 17200 9 10 1 0 90 6 1 I/O T 3600 17200 9 10 1 0 90 6 1 I/O T 3300 17200 9 10 1 0 90 6 1 I/O T 2700 17200 9 10 1 0 90 6 1 I/O, VREF T 2400 17200 9 10 1 0 90 6 1 I/O T 2100 17200 9 10 1 0 90 6 1 I/O T 1800 17200 9 10 1 0 90 6 1 I/O T 1500 17200 9 10 1 0 90 6 1 TCK T 1200 17200 9 10 1 0 90 6 1 VCCO L 1100 9100 2600 9100 3 0 0 0 -1 -1 L 900 16800 2600 15100 3 0 0 0 -1 -1 L 1100 1100 2600 2600 3 0 0 0 -1 -1 L 8600 1100 8600 2600 3 0 0 0 -1 -1 L 16600 1100 15100 2600 3 0 0 0 -1 -1 L 16600 8600 15100 8600 3 0 0 0 -1 -1 L 16600 16600 15100 15100 3 0 0 0 -1 -1 L 8400 16600 8400 15100 3 0 0 0 -1 -1 T 1600 12800 9 30 1 0 0 0 1 BANK7 T 1600 5200 9 30 1 0 0 0 1 BANK6 T 4100 1600 9 30 1 0 0 0 1 BANK5 T 11600 1600 9 30 1 0 0 0 1 BANK4 T 14100 5100 9 30 1 0 0 0 1 BANK3 T 14100 12800 9 30 1 0 0 0 1 BANK2 T 11600 15700 9 30 1 0 0 0 1 BANK1 T 3600 15700 9 30 1 0 0 0 1 BANK0 T 100 50 8 10 0 1 0 0 1 device=XC2S30-5PQ208C T 16600 17650 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/xilinx/XC2S150-5PQ208C.sym0000664000175000017500000007456012204104273015551 00000000000000v 20031231 1 P 100 12600 400 12600 1 0 0 { T 100 12650 5 10 1 1 0 0 1 pinnumber=14 T 100 12650 5 10 0 0 0 0 1 pinseq=14 } P 100 12300 400 12300 1 0 0 { T 100 12350 5 10 1 1 0 0 1 pinnumber=15 T 100 12350 5 10 0 0 0 0 1 pinseq=15 } P 100 12000 400 12000 1 0 0 { T 100 12050 5 10 1 1 0 0 1 pinnumber=16 T 100 12050 5 10 0 0 0 0 1 pinseq=16 } P 100 11700 400 11700 1 0 0 { T 100 11750 5 10 1 1 0 0 1 pinnumber=17 T 100 11750 5 10 0 0 0 0 1 pinseq=17 } P 100 11400 400 11400 1 0 0 { T 100 11450 5 10 1 1 0 0 1 pinnumber=18 T 100 11450 5 10 0 0 0 0 1 pinseq=18 } P 100 11100 400 11100 1 0 0 { T 100 11150 5 10 1 1 0 0 1 pinnumber=19 T 100 11150 5 10 0 0 0 0 1 pinseq=19 } P 100 10800 400 10800 1 0 0 { T 100 10850 5 10 1 1 0 0 1 pinnumber=20 T 100 10850 5 10 0 0 0 0 1 pinseq=20 } P 100 10500 400 10500 1 0 0 { T 100 10550 5 10 1 1 0 0 1 pinnumber=21 T 100 10550 5 10 0 0 0 0 1 pinseq=21 } P 100 10200 400 10200 1 0 0 { T 100 10250 5 10 1 1 0 0 1 pinnumber=22 T 100 10250 5 10 0 0 0 0 1 pinseq=22 } P 100 9900 400 9900 1 0 0 { T 100 9950 5 10 1 1 0 0 1 pinnumber=23 T 100 9950 5 10 0 0 0 0 1 pinseq=23 } P 100 9600 400 9600 1 0 0 { T 100 9650 5 10 1 1 0 0 1 pinnumber=24 T 100 9650 5 10 0 0 0 0 1 pinseq=24 } P 100 9300 400 9300 1 0 0 { T 100 9350 5 10 1 1 0 0 1 pinnumber=25 T 100 9350 5 10 0 0 0 0 1 pinseq=25 } P 100 9000 400 9000 1 0 0 { T 100 9050 5 10 1 1 0 0 1 pinnumber=26 T 100 9050 5 10 0 0 0 0 1 pinseq=26 } P 100 16500 400 16500 1 0 0 { T 100 16550 5 10 1 1 0 0 1 pinnumber=1 T 100 16550 5 10 0 0 0 0 1 pinseq=1 } P 100 16200 400 16200 1 0 0 { T 100 16250 5 10 1 1 0 0 1 pinnumber=2 T 100 16250 5 10 0 0 0 0 1 pinseq=2 } P 100 15900 400 15900 1 0 0 { T 100 15950 5 10 1 1 0 0 1 pinnumber=3 T 100 15950 5 10 0 0 0 0 1 pinseq=3 } P 100 15600 400 15600 1 0 0 { T 100 15650 5 10 1 1 0 0 1 pinnumber=4 T 100 15650 5 10 0 0 0 0 1 pinseq=4 } P 100 15300 400 15300 1 0 0 { T 100 15350 5 10 1 1 0 0 1 pinnumber=5 T 100 15350 5 10 0 0 0 0 1 pinseq=5 } P 100 15000 400 15000 1 0 0 { T 100 15050 5 10 1 1 0 0 1 pinnumber=6 T 100 15050 5 10 0 0 0 0 1 pinseq=6 } P 100 14700 400 14700 1 0 0 { T 100 14750 5 10 1 1 0 0 1 pinnumber=7 T 100 14750 5 10 0 0 0 0 1 pinseq=7 } P 100 14400 400 14400 1 0 0 { T 100 14450 5 10 1 1 0 0 1 pinnumber=8 T 100 14450 5 10 0 0 0 0 1 pinseq=8 } P 100 14100 400 14100 1 0 0 { T 100 14150 5 10 1 1 0 0 1 pinnumber=9 T 100 14150 5 10 0 0 0 0 1 pinseq=9 } P 100 13800 400 13800 1 0 0 { T 100 13850 5 10 1 1 0 0 1 pinnumber=10 T 100 13850 5 10 0 0 0 0 1 pinseq=10 } P 100 13500 400 13500 1 0 0 { T 100 13550 5 10 1 1 0 0 1 pinnumber=11 T 100 13550 5 10 0 0 0 0 1 pinseq=11 } P 100 13200 400 13200 1 0 0 { T 100 13250 5 10 1 1 0 0 1 pinnumber=12 T 100 13250 5 10 0 0 0 0 1 pinseq=12 } P 100 12900 400 12900 1 0 0 { T 100 12950 5 10 1 1 0 0 1 pinnumber=13 T 100 12950 5 10 0 0 0 0 1 pinseq=13 } P 100 8700 400 8700 1 0 0 { T 100 8750 5 10 1 1 0 0 1 pinnumber=27 T 100 8750 5 10 0 0 0 0 1 pinseq=27 } P 100 8400 400 8400 1 0 0 { T 100 8450 5 10 1 1 0 0 1 pinnumber=28 T 100 8450 5 10 0 0 0 0 1 pinseq=28 } P 100 8100 400 8100 1 0 0 { T 100 8150 5 10 1 1 0 0 1 pinnumber=29 T 100 8150 5 10 0 0 0 0 1 pinseq=29 } P 100 7800 400 7800 1 0 0 { T 100 7850 5 10 1 1 0 0 1 pinnumber=30 T 100 7850 5 10 0 0 0 0 1 pinseq=30 } P 100 7500 400 7500 1 0 0 { T 100 7550 5 10 1 1 0 0 1 pinnumber=31 T 100 7550 5 10 0 0 0 0 1 pinseq=31 } P 100 7200 400 7200 1 0 0 { T 100 7250 5 10 1 1 0 0 1 pinnumber=32 T 100 7250 5 10 0 0 0 0 1 pinseq=32 } P 100 6900 400 6900 1 0 0 { T 100 6950 5 10 1 1 0 0 1 pinnumber=33 T 100 6950 5 10 0 0 0 0 1 pinseq=33 } P 100 6600 400 6600 1 0 0 { T 100 6650 5 10 1 1 0 0 1 pinnumber=34 T 100 6650 5 10 0 0 0 0 1 pinseq=34 } P 100 6300 400 6300 1 0 0 { T 100 6350 5 10 1 1 0 0 1 pinnumber=35 T 100 6350 5 10 0 0 0 0 1 pinseq=35 } P 100 6000 400 6000 1 0 0 { T 100 6050 5 10 1 1 0 0 1 pinnumber=36 T 100 6050 5 10 0 0 0 0 1 pinseq=36 } P 100 5700 400 5700 1 0 0 { T 100 5750 5 10 1 1 0 0 1 pinnumber=37 T 100 5750 5 10 0 0 0 0 1 pinseq=37 } P 100 5400 400 5400 1 0 0 { T 100 5450 5 10 1 1 0 0 1 pinnumber=38 T 100 5450 5 10 0 0 0 0 1 pinseq=38 } P 100 5100 400 5100 1 0 0 { T 100 5150 5 10 1 1 0 0 1 pinnumber=39 T 100 5150 5 10 0 0 0 0 1 pinseq=39 } P 100 4800 400 4800 1 0 0 { T 100 4850 5 10 1 1 0 0 1 pinnumber=40 T 100 4850 5 10 0 0 0 0 1 pinseq=40 } P 100 4500 400 4500 1 0 0 { T 100 4550 5 10 1 1 0 0 1 pinnumber=41 T 100 4550 5 10 0 0 0 0 1 pinseq=41 } P 100 4200 400 4200 1 0 0 { T 100 4250 5 10 1 1 0 0 1 pinnumber=42 T 100 4250 5 10 0 0 0 0 1 pinseq=42 } P 100 3900 400 3900 1 0 0 { T 100 3950 5 10 1 1 0 0 1 pinnumber=43 T 100 3950 5 10 0 0 0 0 1 pinseq=43 } P 100 3600 400 3600 1 0 0 { T 100 3650 5 10 1 1 0 0 1 pinnumber=44 T 100 3650 5 10 0 0 0 0 1 pinseq=44 } P 100 3300 400 3300 1 0 0 { T 100 3350 5 10 1 1 0 0 1 pinnumber=45 T 100 3350 5 10 0 0 0 0 1 pinseq=45 } P 100 3000 400 3000 1 0 0 { T 100 3050 5 10 1 1 0 0 1 pinnumber=46 T 100 3050 5 10 0 0 0 0 1 pinseq=46 } P 100 2700 400 2700 1 0 0 { T 100 2750 5 10 1 1 0 0 1 pinnumber=47 T 100 2750 5 10 0 0 0 0 1 pinseq=47 } P 100 2400 400 2400 1 0 0 { T 100 2450 5 10 1 1 0 0 1 pinnumber=48 T 100 2450 5 10 0 0 0 0 1 pinseq=48 } P 100 2100 400 2100 1 0 0 { T 100 2150 5 10 1 1 0 0 1 pinnumber=49 T 100 2150 5 10 0 0 0 0 1 pinseq=49 } P 100 1800 400 1800 1 0 0 { T 100 1850 5 10 1 1 0 0 1 pinnumber=50 T 100 1850 5 10 0 0 0 0 1 pinseq=50 } P 100 1500 400 1500 1 0 0 { T 100 1550 5 10 1 1 0 0 1 pinnumber=51 T 100 1550 5 10 0 0 0 0 1 pinseq=51 } P 100 1200 400 1200 1 0 0 { T 100 1250 5 10 1 1 0 0 1 pinnumber=52 T 100 1250 5 10 0 0 0 0 1 pinseq=52 } P 1200 17300 1200 17600 1 0 1 { T 1150 17350 5 10 1 1 90 0 1 pinnumber=208 T 1150 17350 5 10 0 0 90 0 1 pinseq=208 } P 1500 17300 1500 17600 1 0 1 { T 1450 17350 5 10 1 1 90 0 1 pinnumber=207 T 1450 17350 5 10 0 0 90 0 1 pinseq=207 } P 1800 17300 1800 17600 1 0 1 { T 1750 17350 5 10 1 1 90 0 1 pinnumber=206 T 1750 17350 5 10 0 0 90 0 1 pinseq=206 } P 2100 17300 2100 17600 1 0 1 { T 2050 17350 5 10 1 1 90 0 1 pinnumber=205 T 2050 17350 5 10 0 0 90 0 1 pinseq=205 } P 2400 17300 2400 17600 1 0 1 { T 2350 17350 5 10 1 1 90 0 1 pinnumber=204 T 2350 17350 5 10 0 0 90 0 1 pinseq=204 } P 2700 17300 2700 17600 1 0 1 { T 2650 17350 5 10 1 1 90 0 1 pinnumber=203 T 2650 17350 5 10 0 0 90 0 1 pinseq=203 } P 3000 17300 3000 17600 1 0 1 { T 2950 17350 5 10 1 1 90 0 1 pinnumber=202 T 2950 17350 5 10 0 0 90 0 1 pinseq=202 } P 3300 17300 3300 17600 1 0 1 { T 3250 17350 5 10 1 1 90 0 1 pinnumber=201 T 3250 17350 5 10 0 0 90 0 1 pinseq=201 } P 3600 17300 3600 17600 1 0 1 { T 3550 17350 5 10 1 1 90 0 1 pinnumber=200 T 3550 17350 5 10 0 0 90 0 1 pinseq=200 } P 3900 17300 3900 17600 1 0 1 { T 3850 17350 5 10 1 1 90 0 1 pinnumber=199 T 3850 17350 5 10 0 0 90 0 1 pinseq=199 } P 4200 17300 4200 17600 1 0 1 { T 4150 17350 5 10 1 1 90 0 1 pinnumber=198 T 4150 17350 5 10 0 0 90 0 1 pinseq=198 } P 4500 17300 4500 17600 1 0 1 { T 4450 17350 5 10 1 1 90 0 1 pinnumber=197 T 4450 17350 5 10 0 0 90 0 1 pinseq=197 } P 4800 17300 4800 17600 1 0 1 { T 4750 17350 5 10 1 1 90 0 1 pinnumber=196 T 4750 17350 5 10 0 0 90 0 1 pinseq=196 } P 5100 17300 5100 17600 1 0 1 { T 5050 17350 5 10 1 1 90 0 1 pinnumber=195 T 5050 17350 5 10 0 0 90 0 1 pinseq=195 } P 5400 17300 5400 17600 1 0 1 { T 5350 17350 5 10 1 1 90 0 1 pinnumber=194 T 5350 17350 5 10 0 0 90 0 1 pinseq=194 } P 5700 17300 5700 17600 1 0 1 { T 5650 17350 5 10 1 1 90 0 1 pinnumber=193 T 5650 17350 5 10 0 0 90 0 1 pinseq=193 } P 6000 17300 6000 17600 1 0 1 { T 5950 17350 5 10 1 1 90 0 1 pinnumber=192 T 5950 17350 5 10 0 0 90 0 1 pinseq=192 } P 6300 17300 6300 17600 1 0 1 { T 6250 17350 5 10 1 1 90 0 1 pinnumber=191 T 6250 17350 5 10 0 0 90 0 1 pinseq=191 } P 6600 17300 6600 17600 1 0 1 { T 6550 17350 5 10 1 1 90 0 1 pinnumber=190 T 6550 17350 5 10 0 0 90 0 1 pinseq=190 } P 6900 17300 6900 17600 1 0 1 { T 6850 17350 5 10 1 1 90 0 1 pinnumber=189 T 6850 17350 5 10 0 0 90 0 1 pinseq=189 } P 7200 17300 7200 17600 1 0 1 { T 7150 17350 5 10 1 1 90 0 1 pinnumber=188 T 7150 17350 5 10 0 0 90 0 1 pinseq=188 } P 7500 17300 7500 17600 1 0 1 { T 7450 17350 5 10 1 1 90 0 1 pinnumber=187 T 7450 17350 5 10 0 0 90 0 1 pinseq=187 } P 7800 17300 7800 17600 1 0 1 { T 7750 17350 5 10 1 1 90 0 1 pinnumber=186 T 7750 17350 5 10 0 0 90 0 1 pinseq=186 } P 8100 17300 8100 17600 1 0 1 { T 8050 17350 5 10 1 1 90 0 1 pinnumber=185 T 8050 17350 5 10 0 0 90 0 1 pinseq=185 } P 8400 17300 8400 17600 1 0 1 { T 8350 17350 5 10 1 1 90 0 1 pinnumber=184 T 8350 17350 5 10 0 0 90 0 1 pinseq=184 } P 8700 17300 8700 17600 1 0 1 { T 8650 17350 5 10 1 1 90 0 1 pinnumber=183 T 8650 17350 5 10 0 0 90 0 1 pinseq=183 } P 9000 17300 9000 17600 1 0 1 { T 8950 17350 5 10 1 1 90 0 1 pinnumber=182 T 8950 17350 5 10 0 0 90 0 1 pinseq=182 } P 9300 17300 9300 17600 1 0 1 { T 9250 17350 5 10 1 1 90 0 1 pinnumber=181 T 9250 17350 5 10 0 0 90 0 1 pinseq=181 } P 9600 17300 9600 17600 1 0 1 { T 9550 17350 5 10 1 1 90 0 1 pinnumber=180 T 9550 17350 5 10 0 0 90 0 1 pinseq=180 } P 9900 17300 9900 17600 1 0 1 { T 9850 17350 5 10 1 1 90 0 1 pinnumber=179 T 9850 17350 5 10 0 0 90 0 1 pinseq=179 } P 10200 17300 10200 17600 1 0 1 { T 10150 17350 5 10 1 1 90 0 1 pinnumber=178 T 10150 17350 5 10 0 0 90 0 1 pinseq=178 } P 10500 17300 10500 17600 1 0 1 { T 10450 17350 5 10 1 1 90 0 1 pinnumber=177 T 10450 17350 5 10 0 0 90 0 1 pinseq=177 } P 10800 17300 10800 17600 1 0 1 { T 10750 17350 5 10 1 1 90 0 1 pinnumber=176 T 10750 17350 5 10 0 0 90 0 1 pinseq=176 } P 11100 17300 11100 17600 1 0 1 { T 11050 17350 5 10 1 1 90 0 1 pinnumber=175 T 11050 17350 5 10 0 0 90 0 1 pinseq=175 } P 11400 17300 11400 17600 1 0 1 { T 11350 17350 5 10 1 1 90 0 1 pinnumber=174 T 11350 17350 5 10 0 0 90 0 1 pinseq=174 } P 11700 17300 11700 17600 1 0 1 { T 11650 17350 5 10 1 1 90 0 1 pinnumber=173 T 11650 17350 5 10 0 0 90 0 1 pinseq=173 } P 12000 17300 12000 17600 1 0 1 { T 11950 17350 5 10 1 1 90 0 1 pinnumber=172 T 11950 17350 5 10 0 0 90 0 1 pinseq=172 } P 12300 17300 12300 17600 1 0 1 { T 12250 17350 5 10 1 1 90 0 1 pinnumber=171 T 12250 17350 5 10 0 0 90 0 1 pinseq=171 } P 12600 17300 12600 17600 1 0 1 { T 12550 17350 5 10 1 1 90 0 1 pinnumber=170 T 12550 17350 5 10 0 0 90 0 1 pinseq=170 } P 12900 17300 12900 17600 1 0 1 { T 12850 17350 5 10 1 1 90 0 1 pinnumber=169 T 12850 17350 5 10 0 0 90 0 1 pinseq=169 } P 13200 17300 13200 17600 1 0 1 { T 13150 17350 5 10 1 1 90 0 1 pinnumber=168 T 13150 17350 5 10 0 0 90 0 1 pinseq=168 } P 13500 17300 13500 17600 1 0 1 { T 13450 17350 5 10 1 1 90 0 1 pinnumber=167 T 13450 17350 5 10 0 0 90 0 1 pinseq=167 } P 13800 17300 13800 17600 1 0 1 { T 13750 17350 5 10 1 1 90 0 1 pinnumber=166 T 13750 17350 5 10 0 0 90 0 1 pinseq=166 } P 14100 17300 14100 17600 1 0 1 { T 14050 17350 5 10 1 1 90 0 1 pinnumber=165 T 14050 17350 5 10 0 0 90 0 1 pinseq=165 } P 14400 17300 14400 17600 1 0 1 { T 14350 17350 5 10 1 1 90 0 1 pinnumber=164 T 14350 17350 5 10 0 0 90 0 1 pinseq=164 } P 14700 17300 14700 17600 1 0 1 { T 14650 17350 5 10 1 1 90 0 1 pinnumber=163 T 14650 17350 5 10 0 0 90 0 1 pinseq=163 } P 15000 17300 15000 17600 1 0 1 { T 14950 17350 5 10 1 1 90 0 1 pinnumber=162 T 14950 17350 5 10 0 0 90 0 1 pinseq=162 } P 15300 17300 15300 17600 1 0 1 { T 15250 17350 5 10 1 1 90 0 1 pinnumber=161 T 15250 17350 5 10 0 0 90 0 1 pinseq=161 } P 15600 17300 15600 17600 1 0 1 { T 15550 17350 5 10 1 1 90 0 1 pinnumber=160 T 15550 17350 5 10 0 0 90 0 1 pinseq=160 } P 15900 17300 15900 17600 1 0 1 { T 15850 17350 5 10 1 1 90 0 1 pinnumber=159 T 15850 17350 5 10 0 0 90 0 1 pinseq=159 } P 16200 17300 16200 17600 1 0 1 { T 16150 17350 5 10 1 1 90 0 1 pinnumber=158 T 16150 17350 5 10 0 0 90 0 1 pinseq=158 } P 16500 17300 16500 17600 1 0 1 { T 16450 17350 5 10 1 1 90 0 1 pinnumber=157 T 16450 17350 5 10 0 0 90 0 1 pinseq=157 } P 1200 100 1200 400 1 0 0 { T 1150 100 5 10 1 1 90 0 1 pinnumber=53 T 1150 100 5 10 0 0 90 0 1 pinseq=53 } P 1500 100 1500 400 1 0 0 { T 1450 100 5 10 1 1 90 0 1 pinnumber=54 T 1450 100 5 10 0 0 90 0 1 pinseq=54 } P 1800 100 1800 400 1 0 0 { T 1750 100 5 10 1 1 90 0 1 pinnumber=55 T 1750 100 5 10 0 0 90 0 1 pinseq=55 } P 2100 100 2100 400 1 0 0 { T 2050 100 5 10 1 1 90 0 1 pinnumber=56 T 2050 100 5 10 0 0 90 0 1 pinseq=56 } P 2400 100 2400 400 1 0 0 { T 2350 100 5 10 1 1 90 0 1 pinnumber=57 T 2350 100 5 10 0 0 90 0 1 pinseq=57 } P 2700 100 2700 400 1 0 0 { T 2650 100 5 10 1 1 90 0 1 pinnumber=58 T 2650 100 5 10 0 0 90 0 1 pinseq=58 } P 3000 100 3000 400 1 0 0 { T 2950 100 5 10 1 1 90 0 1 pinnumber=59 T 2950 100 5 10 0 0 90 0 1 pinseq=59 } P 3300 100 3300 400 1 0 0 { T 3250 100 5 10 1 1 90 0 1 pinnumber=60 T 3250 100 5 10 0 0 90 0 1 pinseq=60 } P 3600 100 3600 400 1 0 0 { T 3550 100 5 10 1 1 90 0 1 pinnumber=61 T 3550 100 5 10 0 0 90 0 1 pinseq=61 } P 3900 100 3900 400 1 0 0 { T 3850 100 5 10 1 1 90 0 1 pinnumber=62 T 3850 100 5 10 0 0 90 0 1 pinseq=62 } P 4200 100 4200 400 1 0 0 { T 4150 100 5 10 1 1 90 0 1 pinnumber=63 T 4150 100 5 10 0 0 90 0 1 pinseq=63 } P 4500 100 4500 400 1 0 0 { T 4450 100 5 10 1 1 90 0 1 pinnumber=64 T 4450 100 5 10 0 0 90 0 1 pinseq=64 } P 4800 100 4800 400 1 0 0 { T 4750 100 5 10 1 1 90 0 1 pinnumber=65 T 4750 100 5 10 0 0 90 0 1 pinseq=65 } P 5100 100 5100 400 1 0 0 { T 5050 100 5 10 1 1 90 0 1 pinnumber=66 T 5050 100 5 10 0 0 90 0 1 pinseq=66 } P 5400 100 5400 400 1 0 0 { T 5350 100 5 10 1 1 90 0 1 pinnumber=67 T 5350 100 5 10 0 0 90 0 1 pinseq=67 } P 5700 100 5700 400 1 0 0 { T 5650 100 5 10 1 1 90 0 1 pinnumber=68 T 5650 100 5 10 0 0 90 0 1 pinseq=68 } P 6000 100 6000 400 1 0 0 { T 5950 100 5 10 1 1 90 0 1 pinnumber=69 T 5950 100 5 10 0 0 90 0 1 pinseq=69 } P 6300 100 6300 400 1 0 0 { T 6250 100 5 10 1 1 90 0 1 pinnumber=70 T 6250 100 5 10 0 0 90 0 1 pinseq=70 } P 6600 100 6600 400 1 0 0 { T 6550 100 5 10 1 1 90 0 1 pinnumber=71 T 6550 100 5 10 0 0 90 0 1 pinseq=71 } P 6900 100 6900 400 1 0 0 { T 6850 100 5 10 1 1 90 0 1 pinnumber=72 T 6850 100 5 10 0 0 90 0 1 pinseq=72 } P 7200 100 7200 400 1 0 0 { T 7150 100 5 10 1 1 90 0 1 pinnumber=73 T 7150 100 5 10 0 0 90 0 1 pinseq=73 } P 7500 100 7500 400 1 0 0 { T 7450 100 5 10 1 1 90 0 1 pinnumber=74 T 7450 100 5 10 0 0 90 0 1 pinseq=74 } P 7800 100 7800 400 1 0 0 { T 7750 100 5 10 1 1 90 0 1 pinnumber=75 T 7750 100 5 10 0 0 90 0 1 pinseq=75 } P 8100 100 8100 400 1 0 0 { T 8050 100 5 10 1 1 90 0 1 pinnumber=76 T 8050 100 5 10 0 0 90 0 1 pinseq=76 } P 8400 100 8400 400 1 0 0 { T 8350 100 5 10 1 1 90 0 1 pinnumber=77 T 8350 100 5 10 0 0 90 0 1 pinseq=77 } P 8700 100 8700 400 1 0 0 { T 8650 100 5 10 1 1 90 0 1 pinnumber=78 T 8650 100 5 10 0 0 90 0 1 pinseq=78 } P 9000 100 9000 400 1 0 0 { T 8950 100 5 10 1 1 90 0 1 pinnumber=79 T 8950 100 5 10 0 0 90 0 1 pinseq=79 } P 9300 100 9300 400 1 0 0 { T 9250 100 5 10 1 1 90 0 1 pinnumber=80 T 9250 100 5 10 0 0 90 0 1 pinseq=80 } P 9600 100 9600 400 1 0 0 { T 9550 100 5 10 1 1 90 0 1 pinnumber=81 T 9550 100 5 10 0 0 90 0 1 pinseq=81 } P 9900 100 9900 400 1 0 0 { T 9850 100 5 10 1 1 90 0 1 pinnumber=82 T 9850 100 5 10 0 0 90 0 1 pinseq=82 } P 10200 100 10200 400 1 0 0 { T 10150 100 5 10 1 1 90 0 1 pinnumber=83 T 10150 100 5 10 0 0 90 0 1 pinseq=83 } P 10500 100 10500 400 1 0 0 { T 10450 100 5 10 1 1 90 0 1 pinnumber=84 T 10450 100 5 10 0 0 90 0 1 pinseq=84 } P 10800 100 10800 400 1 0 0 { T 10750 100 5 10 1 1 90 0 1 pinnumber=85 T 10750 100 5 10 0 0 90 0 1 pinseq=85 } P 11100 100 11100 400 1 0 0 { T 11050 100 5 10 1 1 90 0 1 pinnumber=86 T 11050 100 5 10 0 0 90 0 1 pinseq=86 } P 11400 100 11400 400 1 0 0 { T 11350 100 5 10 1 1 90 0 1 pinnumber=87 T 11350 100 5 10 0 0 90 0 1 pinseq=87 } P 11700 100 11700 400 1 0 0 { T 11650 100 5 10 1 1 90 0 1 pinnumber=88 T 11650 100 5 10 0 0 90 0 1 pinseq=88 } P 12000 100 12000 400 1 0 0 { T 11950 100 5 10 1 1 90 0 1 pinnumber=89 T 11950 100 5 10 0 0 90 0 1 pinseq=89 } P 12300 100 12300 400 1 0 0 { T 12250 100 5 10 1 1 90 0 1 pinnumber=90 T 12250 100 5 10 0 0 90 0 1 pinseq=90 } P 12600 100 12600 400 1 0 0 { T 12550 100 5 10 1 1 90 0 1 pinnumber=91 T 12550 100 5 10 0 0 90 0 1 pinseq=91 } P 12900 100 12900 400 1 0 0 { T 12850 100 5 10 1 1 90 0 1 pinnumber=92 T 12850 100 5 10 0 0 90 0 1 pinseq=92 } P 13200 100 13200 400 1 0 0 { T 13150 100 5 10 1 1 90 0 1 pinnumber=93 T 13150 100 5 10 0 0 90 0 1 pinseq=93 } P 13500 100 13500 400 1 0 0 { T 13450 100 5 10 1 1 90 0 1 pinnumber=94 T 13450 100 5 10 0 0 90 0 1 pinseq=94 } P 13800 100 13800 400 1 0 0 { T 13750 100 5 10 1 1 90 0 1 pinnumber=95 T 13750 100 5 10 0 0 90 0 1 pinseq=95 } P 14100 100 14100 400 1 0 0 { T 14050 100 5 10 1 1 90 0 1 pinnumber=96 T 14050 100 5 10 0 0 90 0 1 pinseq=96 } P 14400 100 14400 400 1 0 0 { T 14350 100 5 10 1 1 90 0 1 pinnumber=97 T 14350 100 5 10 0 0 90 0 1 pinseq=97 } P 14700 100 14700 400 1 0 0 { T 14650 100 5 10 1 1 90 0 1 pinnumber=98 T 14650 100 5 10 0 0 90 0 1 pinseq=98 } P 15000 100 15000 400 1 0 0 { T 14950 100 5 10 1 1 90 0 1 pinnumber=99 T 14950 100 5 10 0 0 90 0 1 pinseq=99 } P 15300 100 15300 400 1 0 0 { T 15250 50 5 10 1 1 90 0 1 pinnumber=100 T 15250 50 5 10 0 0 90 0 1 pinseq=100 } P 15600 100 15600 400 1 0 0 { T 15550 50 5 10 1 1 90 0 1 pinnumber=101 T 15550 50 5 10 0 0 90 0 1 pinseq=101 } P 15900 100 15900 400 1 0 0 { T 15850 50 5 10 1 1 90 0 1 pinnumber=102 T 15850 50 5 10 0 0 90 0 1 pinseq=102 } P 16200 100 16200 400 1 0 0 { T 16150 50 5 10 1 1 90 0 1 pinnumber=103 T 16150 50 5 10 0 0 90 0 1 pinseq=103 } P 16500 100 16500 400 1 0 0 { T 16450 50 5 10 1 1 90 0 1 pinnumber=104 T 16450 50 5 10 0 0 90 0 1 pinseq=104 } P 17300 12600 17600 12600 1 0 1 { T 17350 12650 5 10 1 1 0 0 1 pinnumber=143 T 17350 12650 5 10 0 0 0 0 1 pinseq=143 } P 17300 12300 17600 12300 1 0 1 { T 17350 12350 5 10 1 1 0 0 1 pinnumber=142 T 17350 12350 5 10 0 0 0 0 1 pinseq=142 } P 17300 12000 17600 12000 1 0 1 { T 17350 12050 5 10 1 1 0 0 1 pinnumber=141 T 17350 12050 5 10 0 0 0 0 1 pinseq=141 } P 17300 11700 17600 11700 1 0 1 { T 17350 11750 5 10 1 1 0 0 1 pinnumber=140 T 17350 11750 5 10 0 0 0 0 1 pinseq=140 } P 17300 11400 17600 11400 1 0 1 { T 17350 11500 5 10 1 1 0 0 1 pinnumber=139 T 17350 11500 5 10 0 0 0 0 1 pinseq=139 } P 17300 11100 17600 11100 1 0 1 { T 17350 11150 5 10 1 1 0 0 1 pinnumber=138 T 17350 11150 5 10 0 0 0 0 1 pinseq=138 } P 17300 10800 17600 10800 1 0 1 { T 17350 10850 5 10 1 1 0 0 1 pinnumber=137 T 17350 10850 5 10 0 0 0 0 1 pinseq=137 } P 17300 10500 17600 10500 1 0 1 { T 17350 10550 5 10 1 1 0 0 1 pinnumber=136 T 17350 10550 5 10 0 0 0 0 1 pinseq=136 } P 17300 10200 17600 10200 1 0 1 { T 17350 10250 5 10 1 1 0 0 1 pinnumber=135 T 17350 10250 5 10 0 0 0 0 1 pinseq=135 } P 17300 9900 17600 9900 1 0 1 { T 17350 9950 5 10 1 1 0 0 1 pinnumber=134 T 17350 9950 5 10 0 0 0 0 1 pinseq=134 } P 17300 9600 17600 9600 1 0 1 { T 17350 9650 5 10 1 1 0 0 1 pinnumber=133 T 17350 9650 5 10 0 0 0 0 1 pinseq=133 } P 17300 9300 17600 9300 1 0 1 { T 17350 9350 5 10 1 1 0 0 1 pinnumber=132 T 17350 9350 5 10 0 0 0 0 1 pinseq=132 } P 17300 9000 17600 9000 1 0 1 { T 17350 9050 5 10 1 1 0 0 1 pinnumber=131 T 17350 9050 5 10 0 0 0 0 1 pinseq=131 } P 17300 16500 17600 16500 1 0 1 { T 17350 16550 5 10 1 1 0 0 1 pinnumber=156 T 17350 16550 5 10 0 0 0 0 1 pinseq=156 } P 17300 16200 17600 16200 1 0 1 { T 17350 16250 5 10 1 1 0 0 1 pinnumber=155 T 17350 16250 5 10 0 0 0 0 1 pinseq=155 } P 17300 15900 17600 15900 1 0 1 { T 17350 15950 5 10 1 1 0 0 1 pinnumber=154 T 17350 15950 5 10 0 0 0 0 1 pinseq=154 } P 17300 15600 17600 15600 1 0 1 { T 17350 15650 5 10 1 1 0 0 1 pinnumber=153 T 17350 15650 5 10 0 0 0 0 1 pinseq=153 } P 17300 15300 17600 15300 1 0 1 { T 17350 15350 5 10 1 1 0 0 1 pinnumber=152 T 17350 15350 5 10 0 0 0 0 1 pinseq=152 } P 17300 15000 17600 15000 1 0 1 { T 17350 15050 5 10 1 1 0 0 1 pinnumber=151 T 17350 15050 5 10 0 0 0 0 1 pinseq=151 } P 17300 14700 17600 14700 1 0 1 { T 17350 14750 5 10 1 1 0 0 1 pinnumber=150 T 17350 14750 5 10 0 0 0 0 1 pinseq=150 } P 17300 14400 17600 14400 1 0 1 { T 17350 14450 5 10 1 1 0 0 1 pinnumber=149 T 17350 14450 5 10 0 0 0 0 1 pinseq=149 } P 17300 14100 17600 14100 1 0 1 { T 17350 14150 5 10 1 1 0 0 1 pinnumber=148 T 17350 14150 5 10 0 0 0 0 1 pinseq=148 } P 17300 13800 17600 13800 1 0 1 { T 17350 13850 5 10 1 1 0 0 1 pinnumber=147 T 17350 13850 5 10 0 0 0 0 1 pinseq=147 } P 17300 13500 17600 13500 1 0 1 { T 17350 13550 5 10 1 1 0 0 1 pinnumber=146 T 17350 13550 5 10 0 0 0 0 1 pinseq=146 } P 17300 13200 17600 13200 1 0 1 { T 17350 13250 5 10 1 1 0 0 1 pinnumber=145 T 17350 13250 5 10 0 0 0 0 1 pinseq=145 } P 17300 12900 17600 12900 1 0 1 { T 17350 12950 5 10 1 1 0 0 1 pinnumber=144 T 17350 12950 5 10 0 0 0 0 1 pinseq=144 } P 17300 8700 17600 8700 1 0 1 { T 17350 8750 5 10 1 1 0 0 1 pinnumber=130 T 17350 8750 5 10 0 0 0 0 1 pinseq=130 } P 17300 8400 17600 8400 1 0 1 { T 17350 8450 5 10 1 1 0 0 1 pinnumber=129 T 17350 8450 5 10 0 0 0 0 1 pinseq=129 } P 17300 8100 17600 8100 1 0 1 { T 17350 8150 5 10 1 1 0 0 1 pinnumber=128 T 17350 8150 5 10 0 0 0 0 1 pinseq=128 } P 17300 7800 17600 7800 1 0 1 { T 17350 7850 5 10 1 1 0 0 1 pinnumber=127 T 17350 7850 5 10 0 0 0 0 1 pinseq=127 } P 17300 7500 17600 7500 1 0 1 { T 17350 7550 5 10 1 1 0 0 1 pinnumber=126 T 17350 7550 5 10 0 0 0 0 1 pinseq=126 } P 17300 7200 17600 7200 1 0 1 { T 17350 7250 5 10 1 1 0 0 1 pinnumber=125 T 17350 7250 5 10 0 0 0 0 1 pinseq=125 } P 17300 6900 17600 6900 1 0 1 { T 17350 6950 5 10 1 1 0 0 1 pinnumber=124 T 17350 6950 5 10 0 0 0 0 1 pinseq=124 } P 17300 6600 17600 6600 1 0 1 { T 17350 6650 5 10 1 1 0 0 1 pinnumber=123 T 17350 6650 5 10 0 0 0 0 1 pinseq=123 } P 17300 6300 17600 6300 1 0 1 { T 17350 6350 5 10 1 1 0 0 1 pinnumber=122 T 17350 6350 5 10 0 0 0 0 1 pinseq=122 } P 17300 6000 17600 6000 1 0 1 { T 17350 6050 5 10 1 1 0 0 1 pinnumber=121 T 17350 6050 5 10 0 0 0 0 1 pinseq=121 } P 17300 5700 17600 5700 1 0 1 { T 17350 5750 5 10 1 1 0 0 1 pinnumber=120 T 17350 5750 5 10 0 0 0 0 1 pinseq=120 } P 17300 5400 17600 5400 1 0 1 { T 17350 5450 5 10 1 1 0 0 1 pinnumber=119 T 17350 5450 5 10 0 0 0 0 1 pinseq=119 } P 17300 5100 17600 5100 1 0 1 { T 17350 5150 5 10 1 1 0 0 1 pinnumber=118 T 17350 5150 5 10 0 0 0 0 1 pinseq=118 } P 17300 4800 17600 4800 1 0 1 { T 17350 4850 5 10 1 1 0 0 1 pinnumber=117 T 17350 4850 5 10 0 0 0 0 1 pinseq=117 } P 17300 4500 17600 4500 1 0 1 { T 17350 4550 5 10 1 1 0 0 1 pinnumber=116 T 17350 4550 5 10 0 0 0 0 1 pinseq=116 } P 17300 4200 17600 4200 1 0 1 { T 17350 4250 5 10 1 1 0 0 1 pinnumber=115 T 17350 4250 5 10 0 0 0 0 1 pinseq=115 } P 17300 3900 17600 3900 1 0 1 { T 17350 3950 5 10 1 1 0 0 1 pinnumber=114 T 17350 3950 5 10 0 0 0 0 1 pinseq=114 } P 17300 3600 17600 3600 1 0 1 { T 17350 3650 5 10 1 1 0 0 1 pinnumber=113 T 17350 3650 5 10 0 0 0 0 1 pinseq=113 } P 17300 3300 17600 3300 1 0 1 { T 17350 3350 5 10 1 1 0 0 1 pinnumber=112 T 17350 3350 5 10 0 0 0 0 1 pinseq=112 } P 17300 3000 17600 3000 1 0 1 { T 17350 3050 5 10 1 1 0 0 1 pinnumber=111 T 17350 3050 5 10 0 0 0 0 1 pinseq=111 } P 17300 2700 17600 2700 1 0 1 { T 17350 2750 5 10 1 1 0 0 1 pinnumber=110 T 17350 2750 5 10 0 0 0 0 1 pinseq=110 } P 17300 2400 17600 2400 1 0 1 { T 17350 2450 5 10 1 1 0 0 1 pinnumber=109 T 17350 2450 5 10 0 0 0 0 1 pinseq=109 } P 17300 2100 17600 2100 1 0 1 { T 17350 2150 5 10 1 1 0 0 1 pinnumber=108 T 17350 2150 5 10 0 0 0 0 1 pinseq=108 } P 17300 1800 17600 1800 1 0 1 { T 17350 1850 5 10 1 1 0 0 1 pinnumber=107 T 17350 1850 5 10 0 0 0 0 1 pinseq=107 } P 17300 1500 17600 1500 1 0 1 { T 17350 1550 5 10 1 1 0 0 1 pinnumber=106 T 17350 1550 5 10 0 0 0 0 1 pinseq=106 } P 17300 1200 17600 1200 1 0 1 { T 17350 1250 5 10 1 1 0 0 1 pinnumber=105 T 17350 1250 5 10 0 0 0 0 1 pinseq=105 } B 400 400 16900 16900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 17300 5 10 0 1 0 0 1 device=XC2S150-5PQ208C T 16600 17650 8 10 1 1 0 0 1 refdes=U? T 500 16500 9 10 1 0 0 0 1 GND T 500 13500 9 10 1 0 0 0 1 GND T 500 11100 9 10 1 0 0 0 1 GND T 500 16200 9 10 1 0 0 0 1 TMS T 500 15900 9 10 1 0 0 0 1 I/O T 500 15600 9 10 1 0 0 0 1 I/O T 500 14400 9 10 1 0 0 0 1 I/O T 500 15000 9 10 1 0 0 0 1 I/O, VREF T 500 14100 9 10 1 0 0 0 1 I/O, VREF T 500 13800 9 10 1 0 0 0 1 I/O T 500 13200 9 10 1 0 0 0 1 VCCO T 500 12600 9 10 1 0 0 0 1 I/O T 500 12300 9 10 1 0 0 0 1 I/O T 500 12000 9 10 1 0 0 0 1 I/O T 500 11700 9 10 1 0 0 0 1 I/O T 500 11400 9 10 1 0 0 0 1 I/O T 500 15300 9 10 1 0 0 0 1 I/O T 500 10800 9 10 1 0 0 0 1 I/O, VREF T 500 10500 9 10 1 0 0 0 1 I/O T 500 10200 9 10 1 0 0 0 1 I/O T 500 9900 9 10 1 0 0 0 1 I/O T 500 9600 9 10 1 0 0 0 1 I/O, IRDY T 500 1500 9 10 1 0 0 0 1 GND T 500 4800 9 10 1 0 0 0 1 GND T 500 7200 9 10 1 0 0 0 1 GND T 500 9300 9 10 1 0 0 0 1 GND T 500 9000 9 10 1 0 0 0 1 VCCO T 500 5100 9 10 1 0 0 0 1 VCCO T 500 8400 9 10 1 0 0 0 1 VCCINT T 500 7500 9 10 1 0 0 0 1 I/O, VREF T 500 3300 9 10 1 0 0 0 1 I/O, VREF T 500 8700 9 10 1 0 0 0 1 I/O, TRDY T 500 8100 9 10 1 0 0 0 1 I/O T 500 7800 9 10 1 0 0 0 1 I/O T 500 6900 9 10 1 0 0 0 1 I/O T 500 6600 9 10 1 0 0 0 1 I/O T 500 6300 9 10 1 0 0 0 1 I/O T 500 6000 9 10 1 0 0 0 1 I/O T 500 5700 9 10 1 0 0 0 1 I/O T 500 4500 9 10 1 0 0 0 1 I/O T 500 4200 9 10 1 0 0 0 1 I/O, VREF T 500 3900 9 10 1 0 0 0 1 I/O T 500 3000 9 10 1 0 0 0 1 I/O T 500 2700 9 10 1 0 0 0 1 I/O T 500 2400 9 10 1 0 0 0 1 I/O T 500 2100 9 10 1 0 0 0 1 I/O T 500 1800 9 10 1 0 0 0 1 M1 T 500 1200 9 10 1 0 0 0 1 M0 T 500 3600 9 10 1 0 0 0 1 I/O T 500 14700 9 10 1 0 0 0 1 I/O T 500 12900 9 10 1 0 0 0 1 VCCINT T 500 5400 9 10 1 0 0 0 1 VCCINT T 16600 17450 9 10 1 0 0 0 1 XC2S150-5PQ208C T 1200 500 9 10 1 0 90 0 1 VCCO T 1500 500 9 10 1 0 90 0 1 M2 T 2400 500 9 10 1 0 90 0 1 I/O T 2700 500 9 10 1 0 90 0 1 I/O T 3000 500 9 10 1 0 90 0 1 I/O, VREF T 3300 500 9 10 1 0 90 0 1 I/O T 3600 500 9 10 1 0 90 0 1 I/O T 3900 500 9 10 1 0 90 0 1 I/O, VREF T 4200 500 9 10 1 0 90 0 1 I/O T 4500 500 9 10 1 0 90 0 1 GND T 4800 500 9 10 1 0 90 0 1 VCCO T 5100 500 9 10 1 0 90 0 1 VCCINT T 5400 500 9 10 1 0 90 0 1 I/O T 5700 500 9 10 1 0 90 0 1 I/O T 6000 500 9 10 1 0 90 0 1 I/O T 6300 500 9 10 1 0 90 0 1 I/O T 6600 500 9 10 1 0 90 0 1 I/O T 6900 500 9 10 1 0 90 0 1 GND T 7200 500 9 10 1 0 90 0 1 I/O, VREF T 7500 500 9 10 1 0 90 0 1 I/O T 7800 500 9 10 1 0 90 0 1 I/O T 8100 500 9 10 1 0 90 0 1 VCCINT T 8400 500 9 10 1 0 90 0 1 I, GCK1 T 9300 500 9 10 1 0 90 0 1 I, GCK0 T 8700 500 9 10 1 0 90 0 1 VCCO T 9000 500 9 10 1 0 90 0 1 GND T 9600 500 9 10 1 0 90 0 1 I/O T 9900 500 9 10 1 0 90 0 1 I/O T 10200 500 9 10 1 0 90 0 1 I/O T 10500 500 9 10 1 0 90 0 1 I/O, VREF T 10800 500 9 10 1 0 90 0 1 GND T 11100 500 9 10 1 0 90 0 1 I/O T 11400 500 9 10 1 0 90 0 1 I/O T 11700 500 9 10 1 0 90 0 1 I/O T 12000 500 9 10 1 0 90 0 1 I/O T 12300 500 9 10 1 0 90 0 1 I/O T 12600 500 9 10 1 0 90 0 1 VCCINT T 12900 500 9 10 1 0 90 0 1 VCCO T 13200 500 9 10 1 0 90 0 1 GND T 13500 500 9 10 1 0 90 0 1 I/O T 13800 500 9 10 1 0 90 0 1 I/O, VREF T 14100 500 9 10 1 0 90 0 1 I/O T 14400 500 9 10 1 0 90 0 1 I/O T 14700 500 9 10 1 0 90 0 1 I/O, VREF T 15000 500 9 10 1 0 90 0 1 I/O T 15300 500 9 10 1 0 90 0 1 I/O T 15600 500 9 10 1 0 90 0 1 I/O T 15900 500 9 10 1 0 90 0 1 I/O T 16200 500 9 10 1 0 90 0 1 GND T 16500 500 9 10 1 0 90 0 1 DONE T 17200 1200 9 10 1 0 0 6 1 VCCO T 17200 1500 9 10 1 0 0 6 1 PROGRAM T 17200 1800 9 10 1 0 0 6 1 I/O (INIT) T 17200 2100 9 10 1 0 0 6 1 I/O (D7) T 17200 2400 9 10 1 0 0 6 1 I/O T 17200 2700 9 10 1 0 0 6 1 I/O T 17200 3000 9 10 1 0 0 6 1 I/O, VREF T 17200 3300 9 10 1 0 0 6 1 I/O T 17200 3600 9 10 1 0 0 6 1 I/O T 17200 3900 9 10 1 0 0 6 1 I/O, VREF T 17200 4200 9 10 1 0 0 6 1 I/O (D6) T 17200 4500 9 10 1 0 0 6 1 GND T 17200 4800 9 10 1 0 0 6 1 VCCO T 17200 5100 9 10 1 0 0 6 1 VCCINT T 17200 5400 9 10 1 0 0 6 1 I/O (D5) T 17200 5700 9 10 1 0 0 6 1 I/O T 17200 6000 9 10 1 0 0 6 1 I/O T 17200 6300 9 10 1 0 0 6 1 I/O T 17200 6600 9 10 1 0 0 6 1 I/O T 17200 6900 9 10 1 0 0 6 1 GND T 17200 7200 9 10 1 0 0 6 1 I/O, VREF T 17200 7500 9 10 1 0 0 6 1 I/O (D4) T 17200 7800 9 10 1 0 0 6 1 I/O T 17200 8100 9 10 1 0 0 6 1 VCCINT T 17200 8400 9 10 1 0 0 6 1 I/O, TRDY T 17200 8700 9 10 1 0 0 6 1 VCCO T 17200 9000 9 10 1 0 0 6 1 GND T 17200 9300 9 10 1 0 0 6 1 I/O, IRDY T 17200 9600 9 10 1 0 0 6 1 I/O T 17200 9900 9 10 1 0 0 6 1 I/O T 17200 10200 9 10 1 0 0 6 1 I/O (D3) T 17200 10500 9 10 1 0 0 6 1 I/O, VREF T 17200 10800 9 10 1 0 0 6 1 GND T 17200 11100 9 10 1 0 0 6 1 I/O T 17200 11400 9 10 1 0 0 6 1 I/O T 17200 11700 9 10 1 0 0 6 1 I/O T 17200 12000 9 10 1 0 0 6 1 I/O T 17200 12300 9 10 1 0 0 6 1 I/O (D2) T 17200 12600 9 10 1 0 0 6 1 VCCINT T 17200 12900 9 10 1 0 0 6 1 VCCO T 17200 13200 9 10 1 0 0 6 1 GND T 17200 13500 9 10 1 0 0 6 1 I/O (D1) T 17200 13800 9 10 1 0 0 6 1 I/O, VREF T 17200 14100 9 10 1 0 0 6 1 I/O T 17200 14400 9 10 1 0 0 6 1 I/O T 17200 14700 9 10 1 0 0 6 1 I/O, VREF T 17200 15000 9 10 1 0 0 6 1 I/O T 17200 15300 9 10 1 0 0 6 1 I/O T 17200 15600 9 10 1 0 0 6 1 I/O (DIN, D0) T 17200 15900 9 10 1 0 0 6 1 I/O (DOUT, BUSY) T 17200 16200 9 10 1 0 0 6 1 CCLK T 17200 16500 9 10 1 0 0 6 1 VCCO T 16500 17200 9 10 1 0 90 6 1 TDO T 16200 17200 9 10 1 0 90 6 1 GND T 15900 17200 9 10 1 0 90 6 1 TDI T 15600 17200 9 10 1 0 90 6 1 I/O (CS) T 15300 17200 9 10 1 0 90 6 1 I/O (WRITE) T 15000 17200 9 10 1 0 90 6 1 I/O T 14700 17200 9 10 1 0 90 6 1 I/O T 14400 17200 9 10 1 0 90 6 1 I/O, VREF T 14100 17200 9 10 1 0 90 6 1 I/O T 13800 17200 9 10 1 0 90 6 1 I/O T 13500 17200 9 10 1 0 90 6 1 I/O, VREF T 13200 17200 9 10 1 0 90 6 1 I/O T 12900 17200 9 10 1 0 90 6 1 GND T 12600 17200 9 10 1 0 90 6 1 VCCO T 12300 17200 9 10 1 0 90 6 1 VCCINT T 12000 17200 9 10 1 0 90 6 1 I/O T 11700 17200 9 10 1 0 90 6 1 I/O T 11400 17200 9 10 1 0 90 6 1 I/O T 11100 17200 9 10 1 0 90 6 1 I/O T 10800 17200 9 10 1 0 90 6 1 I/O T 10500 17200 9 10 1 0 90 6 1 GND T 10200 17200 9 10 1 0 90 6 1 I/O, VREF T 9900 17200 9 10 1 0 90 6 1 I/O T 9600 17200 9 10 1 0 90 6 1 I/O T 9300 17200 9 10 1 0 90 6 1 I/O T 9000 17200 9 10 1 0 90 6 1 I, GCK2 T 8100 17200 9 10 1 0 90 6 1 I, GCK3 T 8700 17200 9 10 1 0 90 6 1 GND T 8400 17200 9 10 1 0 90 6 1 VCCO T 7800 17200 9 10 1 0 90 6 1 VCCINT T 7500 17200 9 10 1 0 90 6 1 I/O T 7200 17200 9 10 1 0 90 6 1 I/O T 6900 17200 9 10 1 0 90 6 1 I/O, VREF T 6600 17200 9 10 1 0 90 6 1 GND T 6300 17200 9 10 1 0 90 6 1 I/O T 6000 17200 9 10 1 0 90 6 1 I/O T 5700 17200 9 10 1 0 90 6 1 I/O T 5400 17200 9 10 1 0 90 6 1 I/O T 5100 17200 9 10 1 0 90 6 1 I/O T 4800 17200 9 10 1 0 90 6 1 VCCINT T 4500 17200 9 10 1 0 90 6 1 VCCO T 4200 17200 9 10 1 0 90 6 1 GND T 3900 17200 9 10 1 0 90 6 1 I/O T 3600 17200 9 10 1 0 90 6 1 I/O, VREF T 3300 17200 9 10 1 0 90 6 1 I/O T 3000 17200 9 10 1 0 90 6 1 I/O T 2700 17200 9 10 1 0 90 6 1 I/O, VREF T 2400 17200 9 10 1 0 90 6 1 I/O T 2100 17200 9 10 1 0 90 6 1 I/O T 1800 17200 9 10 1 0 90 6 1 I/O T 1500 17200 9 10 1 0 90 6 1 TCK T 1200 17200 9 10 1 0 90 6 1 VCCO L 1100 9100 2600 9100 3 0 0 0 -1 -1 L 900 16800 2600 15100 3 0 0 0 -1 -1 L 1100 1100 2600 2600 3 0 0 0 -1 -1 L 8600 1100 8600 2600 3 0 0 0 -1 -1 L 16600 1100 15100 2600 3 0 0 0 -1 -1 L 16600 8600 15100 8600 3 0 0 0 -1 -1 L 16600 16600 15100 15100 3 0 0 0 -1 -1 L 8400 16600 8400 15100 3 0 0 0 -1 -1 T 1600 12800 9 30 1 0 0 0 1 BANK7 T 1600 5200 9 30 1 0 0 0 1 BANK6 T 4100 1600 9 30 1 0 0 0 1 BANK5 T 11600 1600 9 30 1 0 0 0 1 BANK4 T 14100 5100 9 30 1 0 0 0 1 BANK3 T 14100 12800 9 30 1 0 0 0 1 BANK2 T 11600 15700 9 30 1 0 0 0 1 BANK1 T 3600 15700 9 30 1 0 0 0 1 BANK0 geda-gaf-1.8.2/symbols/xilinx/XC2S200-6PQ208C.sym0000664000175000017500000007464012204104273015545 00000000000000v 20031231 1 P 100 12600 400 12600 1 0 0 { T 100 12650 5 10 1 1 0 0 1 pinnumber=14 T 100 12650 5 10 0 0 0 0 1 pinseq=14 } P 100 12300 400 12300 1 0 0 { T 100 12350 5 10 1 1 0 0 1 pinnumber=15 T 100 12350 5 10 0 0 0 0 1 pinseq=15 } P 100 12000 400 12000 1 0 0 { T 100 12050 5 10 1 1 0 0 1 pinnumber=16 T 100 12050 5 10 0 0 0 0 1 pinseq=16 } P 100 11700 400 11700 1 0 0 { T 100 11750 5 10 1 1 0 0 1 pinnumber=17 T 100 11750 5 10 0 0 0 0 1 pinseq=17 } P 100 11400 400 11400 1 0 0 { T 100 11450 5 10 1 1 0 0 1 pinnumber=18 T 100 11450 5 10 0 0 0 0 1 pinseq=18 } P 100 11100 400 11100 1 0 0 { T 100 11150 5 10 1 1 0 0 1 pinnumber=19 T 100 11150 5 10 0 0 0 0 1 pinseq=19 } P 100 10800 400 10800 1 0 0 { T 100 10850 5 10 1 1 0 0 1 pinnumber=20 T 100 10850 5 10 0 0 0 0 1 pinseq=20 } P 100 10500 400 10500 1 0 0 { T 100 10550 5 10 1 1 0 0 1 pinnumber=21 T 100 10550 5 10 0 0 0 0 1 pinseq=21 } P 100 10200 400 10200 1 0 0 { T 100 10250 5 10 1 1 0 0 1 pinnumber=22 T 100 10250 5 10 0 0 0 0 1 pinseq=22 } P 100 9900 400 9900 1 0 0 { T 100 9950 5 10 1 1 0 0 1 pinnumber=23 T 100 9950 5 10 0 0 0 0 1 pinseq=23 } P 100 9600 400 9600 1 0 0 { T 100 9650 5 10 1 1 0 0 1 pinnumber=24 T 100 9650 5 10 0 0 0 0 1 pinseq=24 } P 100 9300 400 9300 1 0 0 { T 100 9350 5 10 1 1 0 0 1 pinnumber=25 T 100 9350 5 10 0 0 0 0 1 pinseq=25 } P 100 9000 400 9000 1 0 0 { T 100 9050 5 10 1 1 0 0 1 pinnumber=26 T 100 9050 5 10 0 0 0 0 1 pinseq=26 } P 100 16500 400 16500 1 0 0 { T 100 16550 5 10 1 1 0 0 1 pinnumber=1 T 100 16550 5 10 0 0 0 0 1 pinseq=1 } P 100 16200 400 16200 1 0 0 { T 100 16250 5 10 1 1 0 0 1 pinnumber=2 T 100 16250 5 10 0 0 0 0 1 pinseq=2 } P 100 15900 400 15900 1 0 0 { T 100 15950 5 10 1 1 0 0 1 pinnumber=3 T 100 15950 5 10 0 0 0 0 1 pinseq=3 } P 100 15600 400 15600 1 0 0 { T 100 15650 5 10 1 1 0 0 1 pinnumber=4 T 100 15650 5 10 0 0 0 0 1 pinseq=4 } P 100 15300 400 15300 1 0 0 { T 100 15350 5 10 1 1 0 0 1 pinnumber=5 T 100 15350 5 10 0 0 0 0 1 pinseq=5 } P 100 15000 400 15000 1 0 0 { T 100 15050 5 10 1 1 0 0 1 pinnumber=6 T 100 15050 5 10 0 0 0 0 1 pinseq=6 } P 100 14700 400 14700 1 0 0 { T 100 14750 5 10 1 1 0 0 1 pinnumber=7 T 100 14750 5 10 0 0 0 0 1 pinseq=7 } P 100 14400 400 14400 1 0 0 { T 100 14450 5 10 1 1 0 0 1 pinnumber=8 T 100 14450 5 10 0 0 0 0 1 pinseq=8 } P 100 14100 400 14100 1 0 0 { T 100 14150 5 10 1 1 0 0 1 pinnumber=9 T 100 14150 5 10 0 0 0 0 1 pinseq=9 } P 100 13800 400 13800 1 0 0 { T 100 13850 5 10 1 1 0 0 1 pinnumber=10 T 100 13850 5 10 0 0 0 0 1 pinseq=10 } P 100 13500 400 13500 1 0 0 { T 100 13550 5 10 1 1 0 0 1 pinnumber=11 T 100 13550 5 10 0 0 0 0 1 pinseq=11 } P 100 13200 400 13200 1 0 0 { T 100 13250 5 10 1 1 0 0 1 pinnumber=12 T 100 13250 5 10 0 0 0 0 1 pinseq=12 } P 100 12900 400 12900 1 0 0 { T 100 12950 5 10 1 1 0 0 1 pinnumber=13 T 100 12950 5 10 0 0 0 0 1 pinseq=13 } P 100 8700 400 8700 1 0 0 { T 100 8750 5 10 1 1 0 0 1 pinnumber=27 T 100 8750 5 10 0 0 0 0 1 pinseq=27 } P 100 8400 400 8400 1 0 0 { T 100 8450 5 10 1 1 0 0 1 pinnumber=28 T 100 8450 5 10 0 0 0 0 1 pinseq=28 } P 100 8100 400 8100 1 0 0 { T 100 8150 5 10 1 1 0 0 1 pinnumber=29 T 100 8150 5 10 0 0 0 0 1 pinseq=29 } P 100 7800 400 7800 1 0 0 { T 100 7850 5 10 1 1 0 0 1 pinnumber=30 T 100 7850 5 10 0 0 0 0 1 pinseq=30 } P 100 7500 400 7500 1 0 0 { T 100 7550 5 10 1 1 0 0 1 pinnumber=31 T 100 7550 5 10 0 0 0 0 1 pinseq=31 } P 100 7200 400 7200 1 0 0 { T 100 7250 5 10 1 1 0 0 1 pinnumber=32 T 100 7250 5 10 0 0 0 0 1 pinseq=32 } P 100 6900 400 6900 1 0 0 { T 100 6950 5 10 1 1 0 0 1 pinnumber=33 T 100 6950 5 10 0 0 0 0 1 pinseq=33 } P 100 6600 400 6600 1 0 0 { T 100 6650 5 10 1 1 0 0 1 pinnumber=34 T 100 6650 5 10 0 0 0 0 1 pinseq=34 } P 100 6300 400 6300 1 0 0 { T 100 6350 5 10 1 1 0 0 1 pinnumber=35 T 100 6350 5 10 0 0 0 0 1 pinseq=35 } P 100 6000 400 6000 1 0 0 { T 100 6050 5 10 1 1 0 0 1 pinnumber=36 T 100 6050 5 10 0 0 0 0 1 pinseq=36 } P 100 5700 400 5700 1 0 0 { T 100 5750 5 10 1 1 0 0 1 pinnumber=37 T 100 5750 5 10 0 0 0 0 1 pinseq=37 } P 100 5400 400 5400 1 0 0 { T 100 5450 5 10 1 1 0 0 1 pinnumber=38 T 100 5450 5 10 0 0 0 0 1 pinseq=38 } P 100 5100 400 5100 1 0 0 { T 100 5150 5 10 1 1 0 0 1 pinnumber=39 T 100 5150 5 10 0 0 0 0 1 pinseq=39 } P 100 4800 400 4800 1 0 0 { T 100 4850 5 10 1 1 0 0 1 pinnumber=40 T 100 4850 5 10 0 0 0 0 1 pinseq=40 } P 100 4500 400 4500 1 0 0 { T 100 4550 5 10 1 1 0 0 1 pinnumber=41 T 100 4550 5 10 0 0 0 0 1 pinseq=41 } P 100 4200 400 4200 1 0 0 { T 100 4250 5 10 1 1 0 0 1 pinnumber=42 T 100 4250 5 10 0 0 0 0 1 pinseq=42 } P 100 3900 400 3900 1 0 0 { T 100 3950 5 10 1 1 0 0 1 pinnumber=43 T 100 3950 5 10 0 0 0 0 1 pinseq=43 } P 100 3600 400 3600 1 0 0 { T 100 3650 5 10 1 1 0 0 1 pinnumber=44 T 100 3650 5 10 0 0 0 0 1 pinseq=44 } P 100 3300 400 3300 1 0 0 { T 100 3350 5 10 1 1 0 0 1 pinnumber=45 T 100 3350 5 10 0 0 0 0 1 pinseq=45 } P 100 3000 400 3000 1 0 0 { T 100 3050 5 10 1 1 0 0 1 pinnumber=46 T 100 3050 5 10 0 0 0 0 1 pinseq=46 } P 100 2700 400 2700 1 0 0 { T 100 2750 5 10 1 1 0 0 1 pinnumber=47 T 100 2750 5 10 0 0 0 0 1 pinseq=47 } P 100 2400 400 2400 1 0 0 { T 100 2450 5 10 1 1 0 0 1 pinnumber=48 T 100 2450 5 10 0 0 0 0 1 pinseq=48 } P 100 2100 400 2100 1 0 0 { T 100 2150 5 10 1 1 0 0 1 pinnumber=49 T 100 2150 5 10 0 0 0 0 1 pinseq=49 } P 100 1800 400 1800 1 0 0 { T 100 1850 5 10 1 1 0 0 1 pinnumber=50 T 100 1850 5 10 0 0 0 0 1 pinseq=50 } P 100 1500 400 1500 1 0 0 { T 100 1550 5 10 1 1 0 0 1 pinnumber=51 T 100 1550 5 10 0 0 0 0 1 pinseq=51 } P 100 1200 400 1200 1 0 0 { T 100 1250 5 10 1 1 0 0 1 pinnumber=52 T 100 1250 5 10 0 0 0 0 1 pinseq=52 } P 1200 17300 1200 17600 1 0 1 { T 1150 17350 5 10 1 1 90 0 1 pinnumber=208 T 1150 17350 5 10 0 0 90 0 1 pinseq=208 } P 1500 17300 1500 17600 1 0 1 { T 1450 17350 5 10 1 1 90 0 1 pinnumber=207 T 1450 17350 5 10 0 0 90 0 1 pinseq=207 } P 1800 17300 1800 17600 1 0 1 { T 1750 17350 5 10 1 1 90 0 1 pinnumber=206 T 1750 17350 5 10 0 0 90 0 1 pinseq=206 } P 2100 17300 2100 17600 1 0 1 { T 2050 17350 5 10 1 1 90 0 1 pinnumber=205 T 2050 17350 5 10 0 0 90 0 1 pinseq=205 } P 2400 17300 2400 17600 1 0 1 { T 2350 17350 5 10 1 1 90 0 1 pinnumber=204 T 2350 17350 5 10 0 0 90 0 1 pinseq=204 } P 2700 17300 2700 17600 1 0 1 { T 2650 17350 5 10 1 1 90 0 1 pinnumber=203 T 2650 17350 5 10 0 0 90 0 1 pinseq=203 } P 3000 17300 3000 17600 1 0 1 { T 2950 17350 5 10 1 1 90 0 1 pinnumber=202 T 2950 17350 5 10 0 0 90 0 1 pinseq=202 } P 3300 17300 3300 17600 1 0 1 { T 3250 17350 5 10 1 1 90 0 1 pinnumber=201 T 3250 17350 5 10 0 0 90 0 1 pinseq=201 } P 3600 17300 3600 17600 1 0 1 { T 3550 17350 5 10 1 1 90 0 1 pinnumber=200 T 3550 17350 5 10 0 0 90 0 1 pinseq=200 } P 3900 17300 3900 17600 1 0 1 { T 3850 17350 5 10 1 1 90 0 1 pinnumber=199 T 3850 17350 5 10 0 0 90 0 1 pinseq=199 } P 4200 17300 4200 17600 1 0 1 { T 4150 17350 5 10 1 1 90 0 1 pinnumber=198 T 4150 17350 5 10 0 0 90 0 1 pinseq=198 } P 4500 17300 4500 17600 1 0 1 { T 4450 17350 5 10 1 1 90 0 1 pinnumber=197 T 4450 17350 5 10 0 0 90 0 1 pinseq=197 } P 4800 17300 4800 17600 1 0 1 { T 4750 17350 5 10 1 1 90 0 1 pinnumber=196 T 4750 17350 5 10 0 0 90 0 1 pinseq=196 } P 5100 17300 5100 17600 1 0 1 { T 5050 17350 5 10 1 1 90 0 1 pinnumber=195 T 5050 17350 5 10 0 0 90 0 1 pinseq=195 } P 5400 17300 5400 17600 1 0 1 { T 5350 17350 5 10 1 1 90 0 1 pinnumber=194 T 5350 17350 5 10 0 0 90 0 1 pinseq=194 } P 5700 17300 5700 17600 1 0 1 { T 5650 17350 5 10 1 1 90 0 1 pinnumber=193 T 5650 17350 5 10 0 0 90 0 1 pinseq=193 } P 6000 17300 6000 17600 1 0 1 { T 5950 17350 5 10 1 1 90 0 1 pinnumber=192 T 5950 17350 5 10 0 0 90 0 1 pinseq=192 } P 6300 17300 6300 17600 1 0 1 { T 6250 17350 5 10 1 1 90 0 1 pinnumber=191 T 6250 17350 5 10 0 0 90 0 1 pinseq=191 } P 6600 17300 6600 17600 1 0 1 { T 6550 17350 5 10 1 1 90 0 1 pinnumber=190 T 6550 17350 5 10 0 0 90 0 1 pinseq=190 } P 6900 17300 6900 17600 1 0 1 { T 6850 17350 5 10 1 1 90 0 1 pinnumber=189 T 6850 17350 5 10 0 0 90 0 1 pinseq=189 } P 7200 17300 7200 17600 1 0 1 { T 7150 17350 5 10 1 1 90 0 1 pinnumber=188 T 7150 17350 5 10 0 0 90 0 1 pinseq=188 } P 7500 17300 7500 17600 1 0 1 { T 7450 17350 5 10 1 1 90 0 1 pinnumber=187 T 7450 17350 5 10 0 0 90 0 1 pinseq=187 } P 7800 17300 7800 17600 1 0 1 { T 7750 17350 5 10 1 1 90 0 1 pinnumber=186 T 7750 17350 5 10 0 0 90 0 1 pinseq=186 } P 8100 17300 8100 17600 1 0 1 { T 8050 17350 5 10 1 1 90 0 1 pinnumber=185 T 8050 17350 5 10 0 0 90 0 1 pinseq=185 } P 8400 17300 8400 17600 1 0 1 { T 8350 17350 5 10 1 1 90 0 1 pinnumber=184 T 8350 17350 5 10 0 0 90 0 1 pinseq=184 } P 8700 17300 8700 17600 1 0 1 { T 8650 17350 5 10 1 1 90 0 1 pinnumber=183 T 8650 17350 5 10 0 0 90 0 1 pinseq=183 } P 9000 17300 9000 17600 1 0 1 { T 8950 17350 5 10 1 1 90 0 1 pinnumber=182 T 8950 17350 5 10 0 0 90 0 1 pinseq=182 } P 9300 17300 9300 17600 1 0 1 { T 9250 17350 5 10 1 1 90 0 1 pinnumber=181 T 9250 17350 5 10 0 0 90 0 1 pinseq=181 } P 9600 17300 9600 17600 1 0 1 { T 9550 17350 5 10 1 1 90 0 1 pinnumber=180 T 9550 17350 5 10 0 0 90 0 1 pinseq=180 } P 9900 17300 9900 17600 1 0 1 { T 9850 17350 5 10 1 1 90 0 1 pinnumber=179 T 9850 17350 5 10 0 0 90 0 1 pinseq=179 } P 10200 17300 10200 17600 1 0 1 { T 10150 17350 5 10 1 1 90 0 1 pinnumber=178 T 10150 17350 5 10 0 0 90 0 1 pinseq=178 } P 10500 17300 10500 17600 1 0 1 { T 10450 17350 5 10 1 1 90 0 1 pinnumber=177 T 10450 17350 5 10 0 0 90 0 1 pinseq=177 } P 10800 17300 10800 17600 1 0 1 { T 10750 17350 5 10 1 1 90 0 1 pinnumber=176 T 10750 17350 5 10 0 0 90 0 1 pinseq=176 } P 11100 17300 11100 17600 1 0 1 { T 11050 17350 5 10 1 1 90 0 1 pinnumber=175 T 11050 17350 5 10 0 0 90 0 1 pinseq=175 } P 11400 17300 11400 17600 1 0 1 { T 11350 17350 5 10 1 1 90 0 1 pinnumber=174 T 11350 17350 5 10 0 0 90 0 1 pinseq=174 } P 11700 17300 11700 17600 1 0 1 { T 11650 17350 5 10 1 1 90 0 1 pinnumber=173 T 11650 17350 5 10 0 0 90 0 1 pinseq=173 } P 12000 17300 12000 17600 1 0 1 { T 11950 17350 5 10 1 1 90 0 1 pinnumber=172 T 11950 17350 5 10 0 0 90 0 1 pinseq=172 } P 12300 17300 12300 17600 1 0 1 { T 12250 17350 5 10 1 1 90 0 1 pinnumber=171 T 12250 17350 5 10 0 0 90 0 1 pinseq=171 } P 12600 17300 12600 17600 1 0 1 { T 12550 17350 5 10 1 1 90 0 1 pinnumber=170 T 12550 17350 5 10 0 0 90 0 1 pinseq=170 } P 12900 17300 12900 17600 1 0 1 { T 12850 17350 5 10 1 1 90 0 1 pinnumber=169 T 12850 17350 5 10 0 0 90 0 1 pinseq=169 } P 13200 17300 13200 17600 1 0 1 { T 13150 17350 5 10 1 1 90 0 1 pinnumber=168 T 13150 17350 5 10 0 0 90 0 1 pinseq=168 } P 13500 17300 13500 17600 1 0 1 { T 13450 17350 5 10 1 1 90 0 1 pinnumber=167 T 13450 17350 5 10 0 0 90 0 1 pinseq=167 } P 13800 17300 13800 17600 1 0 1 { T 13750 17350 5 10 1 1 90 0 1 pinnumber=166 T 13750 17350 5 10 0 0 90 0 1 pinseq=166 } P 14100 17300 14100 17600 1 0 1 { T 14050 17350 5 10 1 1 90 0 1 pinnumber=165 T 14050 17350 5 10 0 0 90 0 1 pinseq=165 } P 14400 17300 14400 17600 1 0 1 { T 14350 17350 5 10 1 1 90 0 1 pinnumber=164 T 14350 17350 5 10 0 0 90 0 1 pinseq=164 } P 14700 17300 14700 17600 1 0 1 { T 14650 17350 5 10 1 1 90 0 1 pinnumber=163 T 14650 17350 5 10 0 0 90 0 1 pinseq=163 } P 15000 17300 15000 17600 1 0 1 { T 14950 17350 5 10 1 1 90 0 1 pinnumber=162 T 14950 17350 5 10 0 0 90 0 1 pinseq=162 } P 15300 17300 15300 17600 1 0 1 { T 15250 17350 5 10 1 1 90 0 1 pinnumber=161 T 15250 17350 5 10 0 0 90 0 1 pinseq=161 } P 15600 17300 15600 17600 1 0 1 { T 15550 17350 5 10 1 1 90 0 1 pinnumber=160 T 15550 17350 5 10 0 0 90 0 1 pinseq=160 } P 15900 17300 15900 17600 1 0 1 { T 15850 17350 5 10 1 1 90 0 1 pinnumber=159 T 15850 17350 5 10 0 0 90 0 1 pinseq=159 } P 16200 17300 16200 17600 1 0 1 { T 16150 17350 5 10 1 1 90 0 1 pinnumber=158 T 16150 17350 5 10 0 0 90 0 1 pinseq=158 } P 16500 17300 16500 17600 1 0 1 { T 16450 17350 5 10 1 1 90 0 1 pinnumber=157 T 16450 17350 5 10 0 0 90 0 1 pinseq=157 } P 1200 100 1200 400 1 0 0 { T 1150 100 5 10 1 1 90 0 1 pinnumber=53 T 1150 100 5 10 0 0 90 0 1 pinseq=53 } P 1500 100 1500 400 1 0 0 { T 1450 100 5 10 1 1 90 0 1 pinnumber=54 T 1450 100 5 10 0 0 90 0 1 pinseq=54 } P 1800 100 1800 400 1 0 0 { T 1750 100 5 10 1 1 90 0 1 pinnumber=55 T 1750 100 5 10 0 0 90 0 1 pinseq=55 } P 2100 100 2100 400 1 0 0 { T 2050 100 5 10 1 1 90 0 1 pinnumber=56 T 2050 100 5 10 0 0 90 0 1 pinseq=56 } P 2400 100 2400 400 1 0 0 { T 2350 100 5 10 1 1 90 0 1 pinnumber=57 T 2350 100 5 10 0 0 90 0 1 pinseq=57 } P 2700 100 2700 400 1 0 0 { T 2650 100 5 10 1 1 90 0 1 pinnumber=58 T 2650 100 5 10 0 0 90 0 1 pinseq=58 } P 3000 100 3000 400 1 0 0 { T 2950 100 5 10 1 1 90 0 1 pinnumber=59 T 2950 100 5 10 0 0 90 0 1 pinseq=59 } P 3300 100 3300 400 1 0 0 { T 3250 100 5 10 1 1 90 0 1 pinnumber=60 T 3250 100 5 10 0 0 90 0 1 pinseq=60 } P 3600 100 3600 400 1 0 0 { T 3550 100 5 10 1 1 90 0 1 pinnumber=61 T 3550 100 5 10 0 0 90 0 1 pinseq=61 } P 3900 100 3900 400 1 0 0 { T 3850 100 5 10 1 1 90 0 1 pinnumber=62 T 3850 100 5 10 0 0 90 0 1 pinseq=62 } P 4200 100 4200 400 1 0 0 { T 4150 100 5 10 1 1 90 0 1 pinnumber=63 T 4150 100 5 10 0 0 90 0 1 pinseq=63 } P 4500 100 4500 400 1 0 0 { T 4450 100 5 10 1 1 90 0 1 pinnumber=64 T 4450 100 5 10 0 0 90 0 1 pinseq=64 } P 4800 100 4800 400 1 0 0 { T 4750 100 5 10 1 1 90 0 1 pinnumber=65 T 4750 100 5 10 0 0 90 0 1 pinseq=65 } P 5100 100 5100 400 1 0 0 { T 5050 100 5 10 1 1 90 0 1 pinnumber=66 T 5050 100 5 10 0 0 90 0 1 pinseq=66 } P 5400 100 5400 400 1 0 0 { T 5350 100 5 10 1 1 90 0 1 pinnumber=67 T 5350 100 5 10 0 0 90 0 1 pinseq=67 } P 5700 100 5700 400 1 0 0 { T 5650 100 5 10 1 1 90 0 1 pinnumber=68 T 5650 100 5 10 0 0 90 0 1 pinseq=68 } P 6000 100 6000 400 1 0 0 { T 5950 100 5 10 1 1 90 0 1 pinnumber=69 T 5950 100 5 10 0 0 90 0 1 pinseq=69 } P 6300 100 6300 400 1 0 0 { T 6250 100 5 10 1 1 90 0 1 pinnumber=70 T 6250 100 5 10 0 0 90 0 1 pinseq=70 } P 6600 100 6600 400 1 0 0 { T 6550 100 5 10 1 1 90 0 1 pinnumber=71 T 6550 100 5 10 0 0 90 0 1 pinseq=71 } P 6900 100 6900 400 1 0 0 { T 6850 100 5 10 1 1 90 0 1 pinnumber=72 T 6850 100 5 10 0 0 90 0 1 pinseq=72 } P 7200 100 7200 400 1 0 0 { T 7150 100 5 10 1 1 90 0 1 pinnumber=73 T 7150 100 5 10 0 0 90 0 1 pinseq=73 } P 7500 100 7500 400 1 0 0 { T 7450 100 5 10 1 1 90 0 1 pinnumber=74 T 7450 100 5 10 0 0 90 0 1 pinseq=74 } P 7800 100 7800 400 1 0 0 { T 7750 100 5 10 1 1 90 0 1 pinnumber=75 T 7750 100 5 10 0 0 90 0 1 pinseq=75 } P 8100 100 8100 400 1 0 0 { T 8050 100 5 10 1 1 90 0 1 pinnumber=76 T 8050 100 5 10 0 0 90 0 1 pinseq=76 } P 8400 100 8400 400 1 0 0 { T 8350 100 5 10 1 1 90 0 1 pinnumber=77 T 8350 100 5 10 0 0 90 0 1 pinseq=77 } P 8700 100 8700 400 1 0 0 { T 8650 100 5 10 1 1 90 0 1 pinnumber=78 T 8650 100 5 10 0 0 90 0 1 pinseq=78 } P 9000 100 9000 400 1 0 0 { T 8950 100 5 10 1 1 90 0 1 pinnumber=79 T 8950 100 5 10 0 0 90 0 1 pinseq=79 } P 9300 100 9300 400 1 0 0 { T 9250 100 5 10 1 1 90 0 1 pinnumber=80 T 9250 100 5 10 0 0 90 0 1 pinseq=80 } P 9600 100 9600 400 1 0 0 { T 9550 100 5 10 1 1 90 0 1 pinnumber=81 T 9550 100 5 10 0 0 90 0 1 pinseq=81 } P 9900 100 9900 400 1 0 0 { T 9850 100 5 10 1 1 90 0 1 pinnumber=82 T 9850 100 5 10 0 0 90 0 1 pinseq=82 } P 10200 100 10200 400 1 0 0 { T 10150 100 5 10 1 1 90 0 1 pinnumber=83 T 10150 100 5 10 0 0 90 0 1 pinseq=83 } P 10500 100 10500 400 1 0 0 { T 10450 100 5 10 1 1 90 0 1 pinnumber=84 T 10450 100 5 10 0 0 90 0 1 pinseq=84 } P 10800 100 10800 400 1 0 0 { T 10750 100 5 10 1 1 90 0 1 pinnumber=85 T 10750 100 5 10 0 0 90 0 1 pinseq=85 } P 11100 100 11100 400 1 0 0 { T 11050 100 5 10 1 1 90 0 1 pinnumber=86 T 11050 100 5 10 0 0 90 0 1 pinseq=86 } P 11400 100 11400 400 1 0 0 { T 11350 100 5 10 1 1 90 0 1 pinnumber=87 T 11350 100 5 10 0 0 90 0 1 pinseq=87 } P 11700 100 11700 400 1 0 0 { T 11650 100 5 10 1 1 90 0 1 pinnumber=88 T 11650 100 5 10 0 0 90 0 1 pinseq=88 } P 12000 100 12000 400 1 0 0 { T 11950 100 5 10 1 1 90 0 1 pinnumber=89 T 11950 100 5 10 0 0 90 0 1 pinseq=89 } P 12300 100 12300 400 1 0 0 { T 12250 100 5 10 1 1 90 0 1 pinnumber=90 T 12250 100 5 10 0 0 90 0 1 pinseq=90 } P 12600 100 12600 400 1 0 0 { T 12550 100 5 10 1 1 90 0 1 pinnumber=91 T 12550 100 5 10 0 0 90 0 1 pinseq=91 } P 12900 100 12900 400 1 0 0 { T 12850 100 5 10 1 1 90 0 1 pinnumber=92 T 12850 100 5 10 0 0 90 0 1 pinseq=92 } P 13200 100 13200 400 1 0 0 { T 13150 100 5 10 1 1 90 0 1 pinnumber=93 T 13150 100 5 10 0 0 90 0 1 pinseq=93 } P 13500 100 13500 400 1 0 0 { T 13450 100 5 10 1 1 90 0 1 pinnumber=94 T 13450 100 5 10 0 0 90 0 1 pinseq=94 } P 13800 100 13800 400 1 0 0 { T 13750 100 5 10 1 1 90 0 1 pinnumber=95 T 13750 100 5 10 0 0 90 0 1 pinseq=95 } P 14100 100 14100 400 1 0 0 { T 14050 100 5 10 1 1 90 0 1 pinnumber=96 T 14050 100 5 10 0 0 90 0 1 pinseq=96 } P 14400 100 14400 400 1 0 0 { T 14350 100 5 10 1 1 90 0 1 pinnumber=97 T 14350 100 5 10 0 0 90 0 1 pinseq=97 } P 14700 100 14700 400 1 0 0 { T 14650 100 5 10 1 1 90 0 1 pinnumber=98 T 14650 100 5 10 0 0 90 0 1 pinseq=98 } P 15000 100 15000 400 1 0 0 { T 14950 100 5 10 1 1 90 0 1 pinnumber=99 T 14950 100 5 10 0 0 90 0 1 pinseq=99 } P 15300 100 15300 400 1 0 0 { T 15250 50 5 10 1 1 90 0 1 pinnumber=100 T 15250 50 5 10 0 0 90 0 1 pinseq=100 } P 15600 100 15600 400 1 0 0 { T 15550 50 5 10 1 1 90 0 1 pinnumber=101 T 15550 50 5 10 0 0 90 0 1 pinseq=101 } P 15900 100 15900 400 1 0 0 { T 15850 50 5 10 1 1 90 0 1 pinnumber=102 T 15850 50 5 10 0 0 90 0 1 pinseq=102 } P 16200 100 16200 400 1 0 0 { T 16150 50 5 10 1 1 90 0 1 pinnumber=103 T 16150 50 5 10 0 0 90 0 1 pinseq=103 } P 16500 100 16500 400 1 0 0 { T 16450 50 5 10 1 1 90 0 1 pinnumber=104 T 16450 50 5 10 0 0 90 0 1 pinseq=104 } P 17300 12600 17600 12600 1 0 1 { T 17350 12650 5 10 1 1 0 0 1 pinnumber=143 T 17350 12650 5 10 0 0 0 0 1 pinseq=143 } P 17300 12300 17600 12300 1 0 1 { T 17350 12350 5 10 1 1 0 0 1 pinnumber=142 T 17350 12350 5 10 0 0 0 0 1 pinseq=142 } P 17300 12000 17600 12000 1 0 1 { T 17350 12050 5 10 1 1 0 0 1 pinnumber=141 T 17350 12050 5 10 0 0 0 0 1 pinseq=141 } P 17300 11700 17600 11700 1 0 1 { T 17350 11750 5 10 1 1 0 0 1 pinnumber=140 T 17350 11750 5 10 0 0 0 0 1 pinseq=140 } P 17300 11400 17600 11400 1 0 1 { T 17350 11500 5 10 1 1 0 0 1 pinnumber=139 T 17350 11500 5 10 0 0 0 0 1 pinseq=139 } P 17300 11100 17600 11100 1 0 1 { T 17350 11150 5 10 1 1 0 0 1 pinnumber=138 T 17350 11150 5 10 0 0 0 0 1 pinseq=138 } P 17300 10800 17600 10800 1 0 1 { T 17350 10850 5 10 1 1 0 0 1 pinnumber=137 T 17350 10850 5 10 0 0 0 0 1 pinseq=137 } P 17300 10500 17600 10500 1 0 1 { T 17350 10550 5 10 1 1 0 0 1 pinnumber=136 T 17350 10550 5 10 0 0 0 0 1 pinseq=136 } P 17300 10200 17600 10200 1 0 1 { T 17350 10250 5 10 1 1 0 0 1 pinnumber=135 T 17350 10250 5 10 0 0 0 0 1 pinseq=135 } P 17300 9900 17600 9900 1 0 1 { T 17350 9950 5 10 1 1 0 0 1 pinnumber=134 T 17350 9950 5 10 0 0 0 0 1 pinseq=134 } P 17300 9600 17600 9600 1 0 1 { T 17350 9650 5 10 1 1 0 0 1 pinnumber=133 T 17350 9650 5 10 0 0 0 0 1 pinseq=133 } P 17300 9300 17600 9300 1 0 1 { T 17350 9350 5 10 1 1 0 0 1 pinnumber=132 T 17350 9350 5 10 0 0 0 0 1 pinseq=132 } P 17300 9000 17600 9000 1 0 1 { T 17350 9050 5 10 1 1 0 0 1 pinnumber=131 T 17350 9050 5 10 0 0 0 0 1 pinseq=131 } P 17300 16500 17600 16500 1 0 1 { T 17350 16550 5 10 1 1 0 0 1 pinnumber=156 T 17350 16550 5 10 0 0 0 0 1 pinseq=156 } P 17300 16200 17600 16200 1 0 1 { T 17350 16250 5 10 1 1 0 0 1 pinnumber=155 T 17350 16250 5 10 0 0 0 0 1 pinseq=155 } P 17300 15900 17600 15900 1 0 1 { T 17350 15950 5 10 1 1 0 0 1 pinnumber=154 T 17350 15950 5 10 0 0 0 0 1 pinseq=154 } P 17300 15600 17600 15600 1 0 1 { T 17350 15650 5 10 1 1 0 0 1 pinnumber=153 T 17350 15650 5 10 0 0 0 0 1 pinseq=153 } P 17300 15300 17600 15300 1 0 1 { T 17350 15350 5 10 1 1 0 0 1 pinnumber=152 T 17350 15350 5 10 0 0 0 0 1 pinseq=152 } P 17300 15000 17600 15000 1 0 1 { T 17350 15050 5 10 1 1 0 0 1 pinnumber=151 T 17350 15050 5 10 0 0 0 0 1 pinseq=151 } P 17300 14700 17600 14700 1 0 1 { T 17350 14750 5 10 1 1 0 0 1 pinnumber=150 T 17350 14750 5 10 0 0 0 0 1 pinseq=150 } P 17300 14400 17600 14400 1 0 1 { T 17350 14450 5 10 1 1 0 0 1 pinnumber=149 T 17350 14450 5 10 0 0 0 0 1 pinseq=149 } P 17300 14100 17600 14100 1 0 1 { T 17350 14150 5 10 1 1 0 0 1 pinnumber=148 T 17350 14150 5 10 0 0 0 0 1 pinseq=148 } P 17300 13800 17600 13800 1 0 1 { T 17350 13850 5 10 1 1 0 0 1 pinnumber=147 T 17350 13850 5 10 0 0 0 0 1 pinseq=147 } P 17300 13500 17600 13500 1 0 1 { T 17350 13550 5 10 1 1 0 0 1 pinnumber=146 T 17350 13550 5 10 0 0 0 0 1 pinseq=146 } P 17300 13200 17600 13200 1 0 1 { T 17350 13250 5 10 1 1 0 0 1 pinnumber=145 T 17350 13250 5 10 0 0 0 0 1 pinseq=145 } P 17300 12900 17600 12900 1 0 1 { T 17350 12950 5 10 1 1 0 0 1 pinnumber=144 T 17350 12950 5 10 0 0 0 0 1 pinseq=144 } P 17300 8700 17600 8700 1 0 1 { T 17350 8750 5 10 1 1 0 0 1 pinnumber=130 T 17350 8750 5 10 0 0 0 0 1 pinseq=130 } P 17300 8400 17600 8400 1 0 1 { T 17350 8450 5 10 1 1 0 0 1 pinnumber=129 T 17350 8450 5 10 0 0 0 0 1 pinseq=129 } P 17300 8100 17600 8100 1 0 1 { T 17350 8150 5 10 1 1 0 0 1 pinnumber=128 T 17350 8150 5 10 0 0 0 0 1 pinseq=128 } P 17300 7800 17600 7800 1 0 1 { T 17350 7850 5 10 1 1 0 0 1 pinnumber=127 T 17350 7850 5 10 0 0 0 0 1 pinseq=127 } P 17300 7500 17600 7500 1 0 1 { T 17350 7550 5 10 1 1 0 0 1 pinnumber=126 T 17350 7550 5 10 0 0 0 0 1 pinseq=126 } P 17300 7200 17600 7200 1 0 1 { T 17350 7250 5 10 1 1 0 0 1 pinnumber=125 T 17350 7250 5 10 0 0 0 0 1 pinseq=125 } P 17300 6900 17600 6900 1 0 1 { T 17350 6950 5 10 1 1 0 0 1 pinnumber=124 T 17350 6950 5 10 0 0 0 0 1 pinseq=124 } P 17300 6600 17600 6600 1 0 1 { T 17350 6650 5 10 1 1 0 0 1 pinnumber=123 T 17350 6650 5 10 0 0 0 0 1 pinseq=123 } P 17300 6300 17600 6300 1 0 1 { T 17350 6350 5 10 1 1 0 0 1 pinnumber=122 T 17350 6350 5 10 0 0 0 0 1 pinseq=122 } P 17300 6000 17600 6000 1 0 1 { T 17350 6050 5 10 1 1 0 0 1 pinnumber=121 T 17350 6050 5 10 0 0 0 0 1 pinseq=121 } P 17300 5700 17600 5700 1 0 1 { T 17350 5750 5 10 1 1 0 0 1 pinnumber=120 T 17350 5750 5 10 0 0 0 0 1 pinseq=120 } P 17300 5400 17600 5400 1 0 1 { T 17350 5450 5 10 1 1 0 0 1 pinnumber=119 T 17350 5450 5 10 0 0 0 0 1 pinseq=119 } P 17300 5100 17600 5100 1 0 1 { T 17350 5150 5 10 1 1 0 0 1 pinnumber=118 T 17350 5150 5 10 0 0 0 0 1 pinseq=118 } P 17300 4800 17600 4800 1 0 1 { T 17350 4850 5 10 1 1 0 0 1 pinnumber=117 T 17350 4850 5 10 0 0 0 0 1 pinseq=117 } P 17300 4500 17600 4500 1 0 1 { T 17350 4550 5 10 1 1 0 0 1 pinnumber=116 T 17350 4550 5 10 0 0 0 0 1 pinseq=116 } P 17300 4200 17600 4200 1 0 1 { T 17350 4250 5 10 1 1 0 0 1 pinnumber=115 T 17350 4250 5 10 0 0 0 0 1 pinseq=115 } P 17300 3900 17600 3900 1 0 1 { T 17350 3950 5 10 1 1 0 0 1 pinnumber=114 T 17350 3950 5 10 0 0 0 0 1 pinseq=114 } P 17300 3600 17600 3600 1 0 1 { T 17350 3650 5 10 1 1 0 0 1 pinnumber=113 T 17350 3650 5 10 0 0 0 0 1 pinseq=113 } P 17300 3300 17600 3300 1 0 1 { T 17350 3350 5 10 1 1 0 0 1 pinnumber=112 T 17350 3350 5 10 0 0 0 0 1 pinseq=112 } P 17300 3000 17600 3000 1 0 1 { T 17350 3050 5 10 1 1 0 0 1 pinnumber=111 T 17350 3050 5 10 0 0 0 0 1 pinseq=111 } P 17300 2700 17600 2700 1 0 1 { T 17350 2750 5 10 1 1 0 0 1 pinnumber=110 T 17350 2750 5 10 0 0 0 0 1 pinseq=110 } P 17300 2400 17600 2400 1 0 1 { T 17350 2450 5 10 1 1 0 0 1 pinnumber=109 T 17350 2450 5 10 0 0 0 0 1 pinseq=109 } P 17300 2100 17600 2100 1 0 1 { T 17350 2150 5 10 1 1 0 0 1 pinnumber=108 T 17350 2150 5 10 0 0 0 0 1 pinseq=108 } P 17300 1800 17600 1800 1 0 1 { T 17350 1850 5 10 1 1 0 0 1 pinnumber=107 T 17350 1850 5 10 0 0 0 0 1 pinseq=107 } P 17300 1500 17600 1500 1 0 1 { T 17350 1550 5 10 1 1 0 0 1 pinnumber=106 T 17350 1550 5 10 0 0 0 0 1 pinseq=106 } P 17300 1200 17600 1200 1 0 1 { T 17350 1250 5 10 1 1 0 0 1 pinnumber=105 T 17350 1250 5 10 0 0 0 0 1 pinseq=105 } B 400 400 16900 16900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 17300 5 10 0 1 0 0 1 device=XC2S200-6PQ208C T 16600 17650 8 10 1 1 0 0 1 refdes=U? T 500 16500 9 10 1 0 0 0 1 GND T 500 13500 9 10 1 0 0 0 1 GND T 500 11100 9 10 1 0 0 0 1 GND T 500 16200 9 10 1 0 0 0 1 TMS T 500 15900 9 10 1 0 0 0 1 I/O T 500 15600 9 10 1 0 0 0 1 I/O, VREF T 500 14400 9 10 1 0 0 0 1 I/O T 500 15000 9 10 1 0 0 0 1 I/O, VREF T 500 14100 9 10 1 0 0 0 1 I/O, VREF T 500 13800 9 10 1 0 0 0 1 I/O T 500 13200 9 10 1 0 0 0 1 VCCO T 500 12600 9 10 1 0 0 0 1 I/O T 500 12300 9 10 1 0 0 0 1 I/O T 500 12000 9 10 1 0 0 0 1 I/O T 500 11700 9 10 1 0 0 0 1 I/O T 500 11400 9 10 1 0 0 0 1 I/O T 500 15300 9 10 1 0 0 0 1 I/O T 500 10800 9 10 1 0 0 0 1 I/O, VREF T 500 10500 9 10 1 0 0 0 1 I/O T 500 10200 9 10 1 0 0 0 1 I/O T 500 9900 9 10 1 0 0 0 1 I/O T 500 9600 9 10 1 0 0 0 1 I/O, IRDY T 500 1500 9 10 1 0 0 0 1 GND T 500 4800 9 10 1 0 0 0 1 GND T 500 7200 9 10 1 0 0 0 1 GND T 500 9300 9 10 1 0 0 0 1 GND T 500 9000 9 10 1 0 0 0 1 VCCO T 500 5100 9 10 1 0 0 0 1 VCCO T 500 8400 9 10 1 0 0 0 1 VCCINT T 500 7500 9 10 1 0 0 0 1 I/O, VREF T 500 3300 9 10 1 0 0 0 1 I/O, VREF T 500 8700 9 10 1 0 0 0 1 I/O, TRDY T 500 8100 9 10 1 0 0 0 1 I/O T 500 7800 9 10 1 0 0 0 1 I/O T 500 6900 9 10 1 0 0 0 1 I/O T 500 6600 9 10 1 0 0 0 1 I/O T 500 6300 9 10 1 0 0 0 1 I/O T 500 6000 9 10 1 0 0 0 1 I/O T 500 5700 9 10 1 0 0 0 1 I/O T 500 4500 9 10 1 0 0 0 1 I/O T 500 4200 9 10 1 0 0 0 1 I/O, VREF T 500 3900 9 10 1 0 0 0 1 I/O T 500 3000 9 10 1 0 0 0 1 I/O T 500 2700 9 10 1 0 0 0 1 I/O, VREF T 500 2400 9 10 1 0 0 0 1 I/O T 500 2100 9 10 1 0 0 0 1 I/O T 500 1800 9 10 1 0 0 0 1 M1 T 500 1200 9 10 1 0 0 0 1 M0 T 500 3600 9 10 1 0 0 0 1 I/O T 500 14700 9 10 1 0 0 0 1 I/O T 500 12900 9 10 1 0 0 0 1 VCCINT T 500 5400 9 10 1 0 0 0 1 VCCINT T 16600 17450 9 10 1 0 0 0 1 XC2S200-6PQ208C T 1200 500 9 10 1 0 90 0 1 VCCO T 1500 500 9 10 1 0 90 0 1 M2 T 2400 500 9 10 1 0 90 0 1 I/O, VREF T 2700 500 9 10 1 0 90 0 1 I/O T 3000 500 9 10 1 0 90 0 1 I/O, VREF T 3300 500 9 10 1 0 90 0 1 I/O T 3600 500 9 10 1 0 90 0 1 I/O T 3900 500 9 10 1 0 90 0 1 I/O, VREF T 4200 500 9 10 1 0 90 0 1 I/O T 4500 500 9 10 1 0 90 0 1 GND T 4800 500 9 10 1 0 90 0 1 VCCO T 5100 500 9 10 1 0 90 0 1 VCCINT T 5400 500 9 10 1 0 90 0 1 I/O T 5700 500 9 10 1 0 90 0 1 I/O T 6000 500 9 10 1 0 90 0 1 I/O T 6300 500 9 10 1 0 90 0 1 I/O T 6600 500 9 10 1 0 90 0 1 I/O T 6900 500 9 10 1 0 90 0 1 GND T 7200 500 9 10 1 0 90 0 1 I/O, VREF T 7500 500 9 10 1 0 90 0 1 I/O T 7800 500 9 10 1 0 90 0 1 I/O T 8100 500 9 10 1 0 90 0 1 VCCINT T 8400 500 9 10 1 0 90 0 1 I, GCK1 T 9300 500 9 10 1 0 90 0 1 I, GCK0 T 8700 500 9 10 1 0 90 0 1 VCCO T 9000 500 9 10 1 0 90 0 1 GND T 9600 500 9 10 1 0 90 0 1 I/O T 9900 500 9 10 1 0 90 0 1 I/O T 10200 500 9 10 1 0 90 0 1 I/O T 10500 500 9 10 1 0 90 0 1 I/O, VREF T 10800 500 9 10 1 0 90 0 1 GND T 11100 500 9 10 1 0 90 0 1 I/O T 11400 500 9 10 1 0 90 0 1 I/O T 11700 500 9 10 1 0 90 0 1 I/O T 12000 500 9 10 1 0 90 0 1 I/O T 12300 500 9 10 1 0 90 0 1 I/O T 12600 500 9 10 1 0 90 0 1 VCCINT T 12900 500 9 10 1 0 90 0 1 VCCO T 13200 500 9 10 1 0 90 0 1 GND T 13500 500 9 10 1 0 90 0 1 I/O T 13800 500 9 10 1 0 90 0 1 I/O, VREF T 14100 500 9 10 1 0 90 0 1 I/O T 14400 500 9 10 1 0 90 0 1 I/O T 14700 500 9 10 1 0 90 0 1 I/O, VREF T 15000 500 9 10 1 0 90 0 1 I/O T 15300 500 9 10 1 0 90 0 1 I/O, VREF T 15600 500 9 10 1 0 90 0 1 I/O T 15900 500 9 10 1 0 90 0 1 I/O T 16200 500 9 10 1 0 90 0 1 GND T 16500 500 9 10 1 0 90 0 1 DONE T 17200 1200 9 10 1 0 0 6 1 VCCO T 17200 1500 9 10 1 0 0 6 1 PROGRAM T 17200 1800 9 10 1 0 0 6 1 I/O (INIT) T 17200 2100 9 10 1 0 0 6 1 I/O (D7) T 17200 2400 9 10 1 0 0 6 1 I/O, VREF T 17200 2700 9 10 1 0 0 6 1 I/O T 17200 3000 9 10 1 0 0 6 1 I/O, VREF T 17200 3300 9 10 1 0 0 6 1 I/O T 17200 3600 9 10 1 0 0 6 1 I/O T 17200 3900 9 10 1 0 0 6 1 I/O, VREF T 17200 4200 9 10 1 0 0 6 1 I/O (D6) T 17200 4500 9 10 1 0 0 6 1 GND T 17200 4800 9 10 1 0 0 6 1 VCCO T 17200 5100 9 10 1 0 0 6 1 VCCINT T 17200 5400 9 10 1 0 0 6 1 I/O (D5) T 17200 5700 9 10 1 0 0 6 1 I/O T 17200 6000 9 10 1 0 0 6 1 I/O T 17200 6300 9 10 1 0 0 6 1 I/O T 17200 6600 9 10 1 0 0 6 1 I/O T 17200 6900 9 10 1 0 0 6 1 GND T 17200 7200 9 10 1 0 0 6 1 I/O, VREF T 17200 7500 9 10 1 0 0 6 1 I/O (D4) T 17200 7800 9 10 1 0 0 6 1 I/O T 17200 8100 9 10 1 0 0 6 1 VCCINT T 17200 8400 9 10 1 0 0 6 1 I/O, TRDY T 17200 8700 9 10 1 0 0 6 1 VCCO T 17200 9000 9 10 1 0 0 6 1 GND T 17200 9300 9 10 1 0 0 6 1 I/O, IRDY T 17200 9600 9 10 1 0 0 6 1 I/O T 17200 9900 9 10 1 0 0 6 1 I/O T 17200 10200 9 10 1 0 0 6 1 I/O (D3) T 17200 10500 9 10 1 0 0 6 1 I/O, VREF T 17200 10800 9 10 1 0 0 6 1 GND T 17200 11100 9 10 1 0 0 6 1 I/O T 17200 11400 9 10 1 0 0 6 1 I/O T 17200 11700 9 10 1 0 0 6 1 I/O T 17200 12000 9 10 1 0 0 6 1 I/O T 17200 12300 9 10 1 0 0 6 1 I/O (D2) T 17200 12600 9 10 1 0 0 6 1 VCCINT T 17200 12900 9 10 1 0 0 6 1 VCCO T 17200 13200 9 10 1 0 0 6 1 GND T 17200 13500 9 10 1 0 0 6 1 I/O (D1) T 17200 13800 9 10 1 0 0 6 1 I/O, VREF T 17200 14100 9 10 1 0 0 6 1 I/O T 17200 14400 9 10 1 0 0 6 1 I/O T 17200 14700 9 10 1 0 0 6 1 I/O, VREF T 17200 15000 9 10 1 0 0 6 1 I/O T 17200 15300 9 10 1 0 0 6 1 I/O, VREF T 17200 15600 9 10 1 0 0 6 1 I/O (DIN, D0) T 17200 15900 9 10 1 0 0 6 1 I/O (DOUT, BUSY) T 17200 16200 9 10 1 0 0 6 1 CCLK T 17200 16500 9 10 1 0 0 6 1 VCCO T 16500 17200 9 10 1 0 90 6 1 TDO T 16200 17200 9 10 1 0 90 6 1 GND T 15900 17200 9 10 1 0 90 6 1 TDI T 15600 17200 9 10 1 0 90 6 1 I/O (CS) T 15300 17200 9 10 1 0 90 6 1 I/O (WRITE) T 15000 17200 9 10 1 0 90 6 1 I/O, VREF T 14700 17200 9 10 1 0 90 6 1 I/O T 14400 17200 9 10 1 0 90 6 1 I/O, VREF T 14100 17200 9 10 1 0 90 6 1 I/O T 13800 17200 9 10 1 0 90 6 1 I/O T 13500 17200 9 10 1 0 90 6 1 I/O, VREF T 13200 17200 9 10 1 0 90 6 1 I/O T 12900 17200 9 10 1 0 90 6 1 GND T 12600 17200 9 10 1 0 90 6 1 VCCO T 12300 17200 9 10 1 0 90 6 1 VCCINT T 12000 17200 9 10 1 0 90 6 1 I/O T 11700 17200 9 10 1 0 90 6 1 I/O T 11400 17200 9 10 1 0 90 6 1 I/O T 11100 17200 9 10 1 0 90 6 1 I/O T 10800 17200 9 10 1 0 90 6 1 I/O T 10500 17200 9 10 1 0 90 6 1 GND T 10200 17200 9 10 1 0 90 6 1 I/O, VREF T 9900 17200 9 10 1 0 90 6 1 I/O T 9600 17200 9 10 1 0 90 6 1 I/O T 9300 17200 9 10 1 0 90 6 1 I/O T 9000 17200 9 10 1 0 90 6 1 I, GCK2 T 8100 17200 9 10 1 0 90 6 1 I, GCK3 T 8700 17200 9 10 1 0 90 6 1 GND T 8400 17200 9 10 1 0 90 6 1 VCCO T 7800 17200 9 10 1 0 90 6 1 VCCINT T 7500 17200 9 10 1 0 90 6 1 I/O T 7200 17200 9 10 1 0 90 6 1 I/O T 6900 17200 9 10 1 0 90 6 1 I/O, VREF T 6600 17200 9 10 1 0 90 6 1 GND T 6300 17200 9 10 1 0 90 6 1 I/O T 6000 17200 9 10 1 0 90 6 1 I/O T 5700 17200 9 10 1 0 90 6 1 I/O T 5400 17200 9 10 1 0 90 6 1 I/O T 5100 17200 9 10 1 0 90 6 1 I/O T 4800 17200 9 10 1 0 90 6 1 VCCINT T 4500 17200 9 10 1 0 90 6 1 VCCO T 4200 17200 9 10 1 0 90 6 1 GND T 3900 17200 9 10 1 0 90 6 1 I/O T 3600 17200 9 10 1 0 90 6 1 I/O, VREF T 3300 17200 9 10 1 0 90 6 1 I/O T 3000 17200 9 10 1 0 90 6 1 I/O T 2700 17200 9 10 1 0 90 6 1 I/O, VREF T 2400 17200 9 10 1 0 90 6 1 I/O T 2100 17200 9 10 1 0 90 6 1 I/O, VREF T 1800 17200 9 10 1 0 90 6 1 I/O T 1500 17200 9 10 1 0 90 6 1 TCK T 1200 17200 9 10 1 0 90 6 1 VCCO L 1100 9100 2600 9100 3 0 0 0 -1 -1 L 900 16800 2600 15100 3 0 0 0 -1 -1 L 1100 1100 2600 2600 3 0 0 0 -1 -1 L 8600 1100 8600 2600 3 0 0 0 -1 -1 L 16600 1100 15100 2600 3 0 0 0 -1 -1 L 16600 8600 15100 8600 3 0 0 0 -1 -1 L 16600 16600 15100 15100 3 0 0 0 -1 -1 L 8400 16600 8400 15100 3 0 0 0 -1 -1 T 1600 12800 9 30 1 0 0 0 1 BANK7 T 1600 5200 9 30 1 0 0 0 1 BANK6 T 4100 1600 9 30 1 0 0 0 1 BANK5 T 11600 1600 9 30 1 0 0 0 1 BANK4 T 14100 5100 9 30 1 0 0 0 1 BANK3 T 14100 12800 9 30 1 0 0 0 1 BANK2 T 11600 15700 9 30 1 0 0 0 1 BANK1 T 3600 15700 9 30 1 0 0 0 1 BANK0 geda-gaf-1.8.2/symbols/xilinx/XC2S150-5PQ208I.sym0000664000175000017500000007456012204104273015557 00000000000000v 20031231 1 P 100 12600 400 12600 1 0 0 { T 100 12650 5 10 1 1 0 0 1 pinnumber=14 T 100 12650 5 10 0 0 0 0 1 pinseq=14 } P 100 12300 400 12300 1 0 0 { T 100 12350 5 10 1 1 0 0 1 pinnumber=15 T 100 12350 5 10 0 0 0 0 1 pinseq=15 } P 100 12000 400 12000 1 0 0 { T 100 12050 5 10 1 1 0 0 1 pinnumber=16 T 100 12050 5 10 0 0 0 0 1 pinseq=16 } P 100 11700 400 11700 1 0 0 { T 100 11750 5 10 1 1 0 0 1 pinnumber=17 T 100 11750 5 10 0 0 0 0 1 pinseq=17 } P 100 11400 400 11400 1 0 0 { T 100 11450 5 10 1 1 0 0 1 pinnumber=18 T 100 11450 5 10 0 0 0 0 1 pinseq=18 } P 100 11100 400 11100 1 0 0 { T 100 11150 5 10 1 1 0 0 1 pinnumber=19 T 100 11150 5 10 0 0 0 0 1 pinseq=19 } P 100 10800 400 10800 1 0 0 { T 100 10850 5 10 1 1 0 0 1 pinnumber=20 T 100 10850 5 10 0 0 0 0 1 pinseq=20 } P 100 10500 400 10500 1 0 0 { T 100 10550 5 10 1 1 0 0 1 pinnumber=21 T 100 10550 5 10 0 0 0 0 1 pinseq=21 } P 100 10200 400 10200 1 0 0 { T 100 10250 5 10 1 1 0 0 1 pinnumber=22 T 100 10250 5 10 0 0 0 0 1 pinseq=22 } P 100 9900 400 9900 1 0 0 { T 100 9950 5 10 1 1 0 0 1 pinnumber=23 T 100 9950 5 10 0 0 0 0 1 pinseq=23 } P 100 9600 400 9600 1 0 0 { T 100 9650 5 10 1 1 0 0 1 pinnumber=24 T 100 9650 5 10 0 0 0 0 1 pinseq=24 } P 100 9300 400 9300 1 0 0 { T 100 9350 5 10 1 1 0 0 1 pinnumber=25 T 100 9350 5 10 0 0 0 0 1 pinseq=25 } P 100 9000 400 9000 1 0 0 { T 100 9050 5 10 1 1 0 0 1 pinnumber=26 T 100 9050 5 10 0 0 0 0 1 pinseq=26 } P 100 16500 400 16500 1 0 0 { T 100 16550 5 10 1 1 0 0 1 pinnumber=1 T 100 16550 5 10 0 0 0 0 1 pinseq=1 } P 100 16200 400 16200 1 0 0 { T 100 16250 5 10 1 1 0 0 1 pinnumber=2 T 100 16250 5 10 0 0 0 0 1 pinseq=2 } P 100 15900 400 15900 1 0 0 { T 100 15950 5 10 1 1 0 0 1 pinnumber=3 T 100 15950 5 10 0 0 0 0 1 pinseq=3 } P 100 15600 400 15600 1 0 0 { T 100 15650 5 10 1 1 0 0 1 pinnumber=4 T 100 15650 5 10 0 0 0 0 1 pinseq=4 } P 100 15300 400 15300 1 0 0 { T 100 15350 5 10 1 1 0 0 1 pinnumber=5 T 100 15350 5 10 0 0 0 0 1 pinseq=5 } P 100 15000 400 15000 1 0 0 { T 100 15050 5 10 1 1 0 0 1 pinnumber=6 T 100 15050 5 10 0 0 0 0 1 pinseq=6 } P 100 14700 400 14700 1 0 0 { T 100 14750 5 10 1 1 0 0 1 pinnumber=7 T 100 14750 5 10 0 0 0 0 1 pinseq=7 } P 100 14400 400 14400 1 0 0 { T 100 14450 5 10 1 1 0 0 1 pinnumber=8 T 100 14450 5 10 0 0 0 0 1 pinseq=8 } P 100 14100 400 14100 1 0 0 { T 100 14150 5 10 1 1 0 0 1 pinnumber=9 T 100 14150 5 10 0 0 0 0 1 pinseq=9 } P 100 13800 400 13800 1 0 0 { T 100 13850 5 10 1 1 0 0 1 pinnumber=10 T 100 13850 5 10 0 0 0 0 1 pinseq=10 } P 100 13500 400 13500 1 0 0 { T 100 13550 5 10 1 1 0 0 1 pinnumber=11 T 100 13550 5 10 0 0 0 0 1 pinseq=11 } P 100 13200 400 13200 1 0 0 { T 100 13250 5 10 1 1 0 0 1 pinnumber=12 T 100 13250 5 10 0 0 0 0 1 pinseq=12 } P 100 12900 400 12900 1 0 0 { T 100 12950 5 10 1 1 0 0 1 pinnumber=13 T 100 12950 5 10 0 0 0 0 1 pinseq=13 } P 100 8700 400 8700 1 0 0 { T 100 8750 5 10 1 1 0 0 1 pinnumber=27 T 100 8750 5 10 0 0 0 0 1 pinseq=27 } P 100 8400 400 8400 1 0 0 { T 100 8450 5 10 1 1 0 0 1 pinnumber=28 T 100 8450 5 10 0 0 0 0 1 pinseq=28 } P 100 8100 400 8100 1 0 0 { T 100 8150 5 10 1 1 0 0 1 pinnumber=29 T 100 8150 5 10 0 0 0 0 1 pinseq=29 } P 100 7800 400 7800 1 0 0 { T 100 7850 5 10 1 1 0 0 1 pinnumber=30 T 100 7850 5 10 0 0 0 0 1 pinseq=30 } P 100 7500 400 7500 1 0 0 { T 100 7550 5 10 1 1 0 0 1 pinnumber=31 T 100 7550 5 10 0 0 0 0 1 pinseq=31 } P 100 7200 400 7200 1 0 0 { T 100 7250 5 10 1 1 0 0 1 pinnumber=32 T 100 7250 5 10 0 0 0 0 1 pinseq=32 } P 100 6900 400 6900 1 0 0 { T 100 6950 5 10 1 1 0 0 1 pinnumber=33 T 100 6950 5 10 0 0 0 0 1 pinseq=33 } P 100 6600 400 6600 1 0 0 { T 100 6650 5 10 1 1 0 0 1 pinnumber=34 T 100 6650 5 10 0 0 0 0 1 pinseq=34 } P 100 6300 400 6300 1 0 0 { T 100 6350 5 10 1 1 0 0 1 pinnumber=35 T 100 6350 5 10 0 0 0 0 1 pinseq=35 } P 100 6000 400 6000 1 0 0 { T 100 6050 5 10 1 1 0 0 1 pinnumber=36 T 100 6050 5 10 0 0 0 0 1 pinseq=36 } P 100 5700 400 5700 1 0 0 { T 100 5750 5 10 1 1 0 0 1 pinnumber=37 T 100 5750 5 10 0 0 0 0 1 pinseq=37 } P 100 5400 400 5400 1 0 0 { T 100 5450 5 10 1 1 0 0 1 pinnumber=38 T 100 5450 5 10 0 0 0 0 1 pinseq=38 } P 100 5100 400 5100 1 0 0 { T 100 5150 5 10 1 1 0 0 1 pinnumber=39 T 100 5150 5 10 0 0 0 0 1 pinseq=39 } P 100 4800 400 4800 1 0 0 { T 100 4850 5 10 1 1 0 0 1 pinnumber=40 T 100 4850 5 10 0 0 0 0 1 pinseq=40 } P 100 4500 400 4500 1 0 0 { T 100 4550 5 10 1 1 0 0 1 pinnumber=41 T 100 4550 5 10 0 0 0 0 1 pinseq=41 } P 100 4200 400 4200 1 0 0 { T 100 4250 5 10 1 1 0 0 1 pinnumber=42 T 100 4250 5 10 0 0 0 0 1 pinseq=42 } P 100 3900 400 3900 1 0 0 { T 100 3950 5 10 1 1 0 0 1 pinnumber=43 T 100 3950 5 10 0 0 0 0 1 pinseq=43 } P 100 3600 400 3600 1 0 0 { T 100 3650 5 10 1 1 0 0 1 pinnumber=44 T 100 3650 5 10 0 0 0 0 1 pinseq=44 } P 100 3300 400 3300 1 0 0 { T 100 3350 5 10 1 1 0 0 1 pinnumber=45 T 100 3350 5 10 0 0 0 0 1 pinseq=45 } P 100 3000 400 3000 1 0 0 { T 100 3050 5 10 1 1 0 0 1 pinnumber=46 T 100 3050 5 10 0 0 0 0 1 pinseq=46 } P 100 2700 400 2700 1 0 0 { T 100 2750 5 10 1 1 0 0 1 pinnumber=47 T 100 2750 5 10 0 0 0 0 1 pinseq=47 } P 100 2400 400 2400 1 0 0 { T 100 2450 5 10 1 1 0 0 1 pinnumber=48 T 100 2450 5 10 0 0 0 0 1 pinseq=48 } P 100 2100 400 2100 1 0 0 { T 100 2150 5 10 1 1 0 0 1 pinnumber=49 T 100 2150 5 10 0 0 0 0 1 pinseq=49 } P 100 1800 400 1800 1 0 0 { T 100 1850 5 10 1 1 0 0 1 pinnumber=50 T 100 1850 5 10 0 0 0 0 1 pinseq=50 } P 100 1500 400 1500 1 0 0 { T 100 1550 5 10 1 1 0 0 1 pinnumber=51 T 100 1550 5 10 0 0 0 0 1 pinseq=51 } P 100 1200 400 1200 1 0 0 { T 100 1250 5 10 1 1 0 0 1 pinnumber=52 T 100 1250 5 10 0 0 0 0 1 pinseq=52 } P 1200 17300 1200 17600 1 0 1 { T 1150 17350 5 10 1 1 90 0 1 pinnumber=208 T 1150 17350 5 10 0 0 90 0 1 pinseq=208 } P 1500 17300 1500 17600 1 0 1 { T 1450 17350 5 10 1 1 90 0 1 pinnumber=207 T 1450 17350 5 10 0 0 90 0 1 pinseq=207 } P 1800 17300 1800 17600 1 0 1 { T 1750 17350 5 10 1 1 90 0 1 pinnumber=206 T 1750 17350 5 10 0 0 90 0 1 pinseq=206 } P 2100 17300 2100 17600 1 0 1 { T 2050 17350 5 10 1 1 90 0 1 pinnumber=205 T 2050 17350 5 10 0 0 90 0 1 pinseq=205 } P 2400 17300 2400 17600 1 0 1 { T 2350 17350 5 10 1 1 90 0 1 pinnumber=204 T 2350 17350 5 10 0 0 90 0 1 pinseq=204 } P 2700 17300 2700 17600 1 0 1 { T 2650 17350 5 10 1 1 90 0 1 pinnumber=203 T 2650 17350 5 10 0 0 90 0 1 pinseq=203 } P 3000 17300 3000 17600 1 0 1 { T 2950 17350 5 10 1 1 90 0 1 pinnumber=202 T 2950 17350 5 10 0 0 90 0 1 pinseq=202 } P 3300 17300 3300 17600 1 0 1 { T 3250 17350 5 10 1 1 90 0 1 pinnumber=201 T 3250 17350 5 10 0 0 90 0 1 pinseq=201 } P 3600 17300 3600 17600 1 0 1 { T 3550 17350 5 10 1 1 90 0 1 pinnumber=200 T 3550 17350 5 10 0 0 90 0 1 pinseq=200 } P 3900 17300 3900 17600 1 0 1 { T 3850 17350 5 10 1 1 90 0 1 pinnumber=199 T 3850 17350 5 10 0 0 90 0 1 pinseq=199 } P 4200 17300 4200 17600 1 0 1 { T 4150 17350 5 10 1 1 90 0 1 pinnumber=198 T 4150 17350 5 10 0 0 90 0 1 pinseq=198 } P 4500 17300 4500 17600 1 0 1 { T 4450 17350 5 10 1 1 90 0 1 pinnumber=197 T 4450 17350 5 10 0 0 90 0 1 pinseq=197 } P 4800 17300 4800 17600 1 0 1 { T 4750 17350 5 10 1 1 90 0 1 pinnumber=196 T 4750 17350 5 10 0 0 90 0 1 pinseq=196 } P 5100 17300 5100 17600 1 0 1 { T 5050 17350 5 10 1 1 90 0 1 pinnumber=195 T 5050 17350 5 10 0 0 90 0 1 pinseq=195 } P 5400 17300 5400 17600 1 0 1 { T 5350 17350 5 10 1 1 90 0 1 pinnumber=194 T 5350 17350 5 10 0 0 90 0 1 pinseq=194 } P 5700 17300 5700 17600 1 0 1 { T 5650 17350 5 10 1 1 90 0 1 pinnumber=193 T 5650 17350 5 10 0 0 90 0 1 pinseq=193 } P 6000 17300 6000 17600 1 0 1 { T 5950 17350 5 10 1 1 90 0 1 pinnumber=192 T 5950 17350 5 10 0 0 90 0 1 pinseq=192 } P 6300 17300 6300 17600 1 0 1 { T 6250 17350 5 10 1 1 90 0 1 pinnumber=191 T 6250 17350 5 10 0 0 90 0 1 pinseq=191 } P 6600 17300 6600 17600 1 0 1 { T 6550 17350 5 10 1 1 90 0 1 pinnumber=190 T 6550 17350 5 10 0 0 90 0 1 pinseq=190 } P 6900 17300 6900 17600 1 0 1 { T 6850 17350 5 10 1 1 90 0 1 pinnumber=189 T 6850 17350 5 10 0 0 90 0 1 pinseq=189 } P 7200 17300 7200 17600 1 0 1 { T 7150 17350 5 10 1 1 90 0 1 pinnumber=188 T 7150 17350 5 10 0 0 90 0 1 pinseq=188 } P 7500 17300 7500 17600 1 0 1 { T 7450 17350 5 10 1 1 90 0 1 pinnumber=187 T 7450 17350 5 10 0 0 90 0 1 pinseq=187 } P 7800 17300 7800 17600 1 0 1 { T 7750 17350 5 10 1 1 90 0 1 pinnumber=186 T 7750 17350 5 10 0 0 90 0 1 pinseq=186 } P 8100 17300 8100 17600 1 0 1 { T 8050 17350 5 10 1 1 90 0 1 pinnumber=185 T 8050 17350 5 10 0 0 90 0 1 pinseq=185 } P 8400 17300 8400 17600 1 0 1 { T 8350 17350 5 10 1 1 90 0 1 pinnumber=184 T 8350 17350 5 10 0 0 90 0 1 pinseq=184 } P 8700 17300 8700 17600 1 0 1 { T 8650 17350 5 10 1 1 90 0 1 pinnumber=183 T 8650 17350 5 10 0 0 90 0 1 pinseq=183 } P 9000 17300 9000 17600 1 0 1 { T 8950 17350 5 10 1 1 90 0 1 pinnumber=182 T 8950 17350 5 10 0 0 90 0 1 pinseq=182 } P 9300 17300 9300 17600 1 0 1 { T 9250 17350 5 10 1 1 90 0 1 pinnumber=181 T 9250 17350 5 10 0 0 90 0 1 pinseq=181 } P 9600 17300 9600 17600 1 0 1 { T 9550 17350 5 10 1 1 90 0 1 pinnumber=180 T 9550 17350 5 10 0 0 90 0 1 pinseq=180 } P 9900 17300 9900 17600 1 0 1 { T 9850 17350 5 10 1 1 90 0 1 pinnumber=179 T 9850 17350 5 10 0 0 90 0 1 pinseq=179 } P 10200 17300 10200 17600 1 0 1 { T 10150 17350 5 10 1 1 90 0 1 pinnumber=178 T 10150 17350 5 10 0 0 90 0 1 pinseq=178 } P 10500 17300 10500 17600 1 0 1 { T 10450 17350 5 10 1 1 90 0 1 pinnumber=177 T 10450 17350 5 10 0 0 90 0 1 pinseq=177 } P 10800 17300 10800 17600 1 0 1 { T 10750 17350 5 10 1 1 90 0 1 pinnumber=176 T 10750 17350 5 10 0 0 90 0 1 pinseq=176 } P 11100 17300 11100 17600 1 0 1 { T 11050 17350 5 10 1 1 90 0 1 pinnumber=175 T 11050 17350 5 10 0 0 90 0 1 pinseq=175 } P 11400 17300 11400 17600 1 0 1 { T 11350 17350 5 10 1 1 90 0 1 pinnumber=174 T 11350 17350 5 10 0 0 90 0 1 pinseq=174 } P 11700 17300 11700 17600 1 0 1 { T 11650 17350 5 10 1 1 90 0 1 pinnumber=173 T 11650 17350 5 10 0 0 90 0 1 pinseq=173 } P 12000 17300 12000 17600 1 0 1 { T 11950 17350 5 10 1 1 90 0 1 pinnumber=172 T 11950 17350 5 10 0 0 90 0 1 pinseq=172 } P 12300 17300 12300 17600 1 0 1 { T 12250 17350 5 10 1 1 90 0 1 pinnumber=171 T 12250 17350 5 10 0 0 90 0 1 pinseq=171 } P 12600 17300 12600 17600 1 0 1 { T 12550 17350 5 10 1 1 90 0 1 pinnumber=170 T 12550 17350 5 10 0 0 90 0 1 pinseq=170 } P 12900 17300 12900 17600 1 0 1 { T 12850 17350 5 10 1 1 90 0 1 pinnumber=169 T 12850 17350 5 10 0 0 90 0 1 pinseq=169 } P 13200 17300 13200 17600 1 0 1 { T 13150 17350 5 10 1 1 90 0 1 pinnumber=168 T 13150 17350 5 10 0 0 90 0 1 pinseq=168 } P 13500 17300 13500 17600 1 0 1 { T 13450 17350 5 10 1 1 90 0 1 pinnumber=167 T 13450 17350 5 10 0 0 90 0 1 pinseq=167 } P 13800 17300 13800 17600 1 0 1 { T 13750 17350 5 10 1 1 90 0 1 pinnumber=166 T 13750 17350 5 10 0 0 90 0 1 pinseq=166 } P 14100 17300 14100 17600 1 0 1 { T 14050 17350 5 10 1 1 90 0 1 pinnumber=165 T 14050 17350 5 10 0 0 90 0 1 pinseq=165 } P 14400 17300 14400 17600 1 0 1 { T 14350 17350 5 10 1 1 90 0 1 pinnumber=164 T 14350 17350 5 10 0 0 90 0 1 pinseq=164 } P 14700 17300 14700 17600 1 0 1 { T 14650 17350 5 10 1 1 90 0 1 pinnumber=163 T 14650 17350 5 10 0 0 90 0 1 pinseq=163 } P 15000 17300 15000 17600 1 0 1 { T 14950 17350 5 10 1 1 90 0 1 pinnumber=162 T 14950 17350 5 10 0 0 90 0 1 pinseq=162 } P 15300 17300 15300 17600 1 0 1 { T 15250 17350 5 10 1 1 90 0 1 pinnumber=161 T 15250 17350 5 10 0 0 90 0 1 pinseq=161 } P 15600 17300 15600 17600 1 0 1 { T 15550 17350 5 10 1 1 90 0 1 pinnumber=160 T 15550 17350 5 10 0 0 90 0 1 pinseq=160 } P 15900 17300 15900 17600 1 0 1 { T 15850 17350 5 10 1 1 90 0 1 pinnumber=159 T 15850 17350 5 10 0 0 90 0 1 pinseq=159 } P 16200 17300 16200 17600 1 0 1 { T 16150 17350 5 10 1 1 90 0 1 pinnumber=158 T 16150 17350 5 10 0 0 90 0 1 pinseq=158 } P 16500 17300 16500 17600 1 0 1 { T 16450 17350 5 10 1 1 90 0 1 pinnumber=157 T 16450 17350 5 10 0 0 90 0 1 pinseq=157 } P 1200 100 1200 400 1 0 0 { T 1150 100 5 10 1 1 90 0 1 pinnumber=53 T 1150 100 5 10 0 0 90 0 1 pinseq=53 } P 1500 100 1500 400 1 0 0 { T 1450 100 5 10 1 1 90 0 1 pinnumber=54 T 1450 100 5 10 0 0 90 0 1 pinseq=54 } P 1800 100 1800 400 1 0 0 { T 1750 100 5 10 1 1 90 0 1 pinnumber=55 T 1750 100 5 10 0 0 90 0 1 pinseq=55 } P 2100 100 2100 400 1 0 0 { T 2050 100 5 10 1 1 90 0 1 pinnumber=56 T 2050 100 5 10 0 0 90 0 1 pinseq=56 } P 2400 100 2400 400 1 0 0 { T 2350 100 5 10 1 1 90 0 1 pinnumber=57 T 2350 100 5 10 0 0 90 0 1 pinseq=57 } P 2700 100 2700 400 1 0 0 { T 2650 100 5 10 1 1 90 0 1 pinnumber=58 T 2650 100 5 10 0 0 90 0 1 pinseq=58 } P 3000 100 3000 400 1 0 0 { T 2950 100 5 10 1 1 90 0 1 pinnumber=59 T 2950 100 5 10 0 0 90 0 1 pinseq=59 } P 3300 100 3300 400 1 0 0 { T 3250 100 5 10 1 1 90 0 1 pinnumber=60 T 3250 100 5 10 0 0 90 0 1 pinseq=60 } P 3600 100 3600 400 1 0 0 { T 3550 100 5 10 1 1 90 0 1 pinnumber=61 T 3550 100 5 10 0 0 90 0 1 pinseq=61 } P 3900 100 3900 400 1 0 0 { T 3850 100 5 10 1 1 90 0 1 pinnumber=62 T 3850 100 5 10 0 0 90 0 1 pinseq=62 } P 4200 100 4200 400 1 0 0 { T 4150 100 5 10 1 1 90 0 1 pinnumber=63 T 4150 100 5 10 0 0 90 0 1 pinseq=63 } P 4500 100 4500 400 1 0 0 { T 4450 100 5 10 1 1 90 0 1 pinnumber=64 T 4450 100 5 10 0 0 90 0 1 pinseq=64 } P 4800 100 4800 400 1 0 0 { T 4750 100 5 10 1 1 90 0 1 pinnumber=65 T 4750 100 5 10 0 0 90 0 1 pinseq=65 } P 5100 100 5100 400 1 0 0 { T 5050 100 5 10 1 1 90 0 1 pinnumber=66 T 5050 100 5 10 0 0 90 0 1 pinseq=66 } P 5400 100 5400 400 1 0 0 { T 5350 100 5 10 1 1 90 0 1 pinnumber=67 T 5350 100 5 10 0 0 90 0 1 pinseq=67 } P 5700 100 5700 400 1 0 0 { T 5650 100 5 10 1 1 90 0 1 pinnumber=68 T 5650 100 5 10 0 0 90 0 1 pinseq=68 } P 6000 100 6000 400 1 0 0 { T 5950 100 5 10 1 1 90 0 1 pinnumber=69 T 5950 100 5 10 0 0 90 0 1 pinseq=69 } P 6300 100 6300 400 1 0 0 { T 6250 100 5 10 1 1 90 0 1 pinnumber=70 T 6250 100 5 10 0 0 90 0 1 pinseq=70 } P 6600 100 6600 400 1 0 0 { T 6550 100 5 10 1 1 90 0 1 pinnumber=71 T 6550 100 5 10 0 0 90 0 1 pinseq=71 } P 6900 100 6900 400 1 0 0 { T 6850 100 5 10 1 1 90 0 1 pinnumber=72 T 6850 100 5 10 0 0 90 0 1 pinseq=72 } P 7200 100 7200 400 1 0 0 { T 7150 100 5 10 1 1 90 0 1 pinnumber=73 T 7150 100 5 10 0 0 90 0 1 pinseq=73 } P 7500 100 7500 400 1 0 0 { T 7450 100 5 10 1 1 90 0 1 pinnumber=74 T 7450 100 5 10 0 0 90 0 1 pinseq=74 } P 7800 100 7800 400 1 0 0 { T 7750 100 5 10 1 1 90 0 1 pinnumber=75 T 7750 100 5 10 0 0 90 0 1 pinseq=75 } P 8100 100 8100 400 1 0 0 { T 8050 100 5 10 1 1 90 0 1 pinnumber=76 T 8050 100 5 10 0 0 90 0 1 pinseq=76 } P 8400 100 8400 400 1 0 0 { T 8350 100 5 10 1 1 90 0 1 pinnumber=77 T 8350 100 5 10 0 0 90 0 1 pinseq=77 } P 8700 100 8700 400 1 0 0 { T 8650 100 5 10 1 1 90 0 1 pinnumber=78 T 8650 100 5 10 0 0 90 0 1 pinseq=78 } P 9000 100 9000 400 1 0 0 { T 8950 100 5 10 1 1 90 0 1 pinnumber=79 T 8950 100 5 10 0 0 90 0 1 pinseq=79 } P 9300 100 9300 400 1 0 0 { T 9250 100 5 10 1 1 90 0 1 pinnumber=80 T 9250 100 5 10 0 0 90 0 1 pinseq=80 } P 9600 100 9600 400 1 0 0 { T 9550 100 5 10 1 1 90 0 1 pinnumber=81 T 9550 100 5 10 0 0 90 0 1 pinseq=81 } P 9900 100 9900 400 1 0 0 { T 9850 100 5 10 1 1 90 0 1 pinnumber=82 T 9850 100 5 10 0 0 90 0 1 pinseq=82 } P 10200 100 10200 400 1 0 0 { T 10150 100 5 10 1 1 90 0 1 pinnumber=83 T 10150 100 5 10 0 0 90 0 1 pinseq=83 } P 10500 100 10500 400 1 0 0 { T 10450 100 5 10 1 1 90 0 1 pinnumber=84 T 10450 100 5 10 0 0 90 0 1 pinseq=84 } P 10800 100 10800 400 1 0 0 { T 10750 100 5 10 1 1 90 0 1 pinnumber=85 T 10750 100 5 10 0 0 90 0 1 pinseq=85 } P 11100 100 11100 400 1 0 0 { T 11050 100 5 10 1 1 90 0 1 pinnumber=86 T 11050 100 5 10 0 0 90 0 1 pinseq=86 } P 11400 100 11400 400 1 0 0 { T 11350 100 5 10 1 1 90 0 1 pinnumber=87 T 11350 100 5 10 0 0 90 0 1 pinseq=87 } P 11700 100 11700 400 1 0 0 { T 11650 100 5 10 1 1 90 0 1 pinnumber=88 T 11650 100 5 10 0 0 90 0 1 pinseq=88 } P 12000 100 12000 400 1 0 0 { T 11950 100 5 10 1 1 90 0 1 pinnumber=89 T 11950 100 5 10 0 0 90 0 1 pinseq=89 } P 12300 100 12300 400 1 0 0 { T 12250 100 5 10 1 1 90 0 1 pinnumber=90 T 12250 100 5 10 0 0 90 0 1 pinseq=90 } P 12600 100 12600 400 1 0 0 { T 12550 100 5 10 1 1 90 0 1 pinnumber=91 T 12550 100 5 10 0 0 90 0 1 pinseq=91 } P 12900 100 12900 400 1 0 0 { T 12850 100 5 10 1 1 90 0 1 pinnumber=92 T 12850 100 5 10 0 0 90 0 1 pinseq=92 } P 13200 100 13200 400 1 0 0 { T 13150 100 5 10 1 1 90 0 1 pinnumber=93 T 13150 100 5 10 0 0 90 0 1 pinseq=93 } P 13500 100 13500 400 1 0 0 { T 13450 100 5 10 1 1 90 0 1 pinnumber=94 T 13450 100 5 10 0 0 90 0 1 pinseq=94 } P 13800 100 13800 400 1 0 0 { T 13750 100 5 10 1 1 90 0 1 pinnumber=95 T 13750 100 5 10 0 0 90 0 1 pinseq=95 } P 14100 100 14100 400 1 0 0 { T 14050 100 5 10 1 1 90 0 1 pinnumber=96 T 14050 100 5 10 0 0 90 0 1 pinseq=96 } P 14400 100 14400 400 1 0 0 { T 14350 100 5 10 1 1 90 0 1 pinnumber=97 T 14350 100 5 10 0 0 90 0 1 pinseq=97 } P 14700 100 14700 400 1 0 0 { T 14650 100 5 10 1 1 90 0 1 pinnumber=98 T 14650 100 5 10 0 0 90 0 1 pinseq=98 } P 15000 100 15000 400 1 0 0 { T 14950 100 5 10 1 1 90 0 1 pinnumber=99 T 14950 100 5 10 0 0 90 0 1 pinseq=99 } P 15300 100 15300 400 1 0 0 { T 15250 50 5 10 1 1 90 0 1 pinnumber=100 T 15250 50 5 10 0 0 90 0 1 pinseq=100 } P 15600 100 15600 400 1 0 0 { T 15550 50 5 10 1 1 90 0 1 pinnumber=101 T 15550 50 5 10 0 0 90 0 1 pinseq=101 } P 15900 100 15900 400 1 0 0 { T 15850 50 5 10 1 1 90 0 1 pinnumber=102 T 15850 50 5 10 0 0 90 0 1 pinseq=102 } P 16200 100 16200 400 1 0 0 { T 16150 50 5 10 1 1 90 0 1 pinnumber=103 T 16150 50 5 10 0 0 90 0 1 pinseq=103 } P 16500 100 16500 400 1 0 0 { T 16450 50 5 10 1 1 90 0 1 pinnumber=104 T 16450 50 5 10 0 0 90 0 1 pinseq=104 } P 17300 12600 17600 12600 1 0 1 { T 17350 12650 5 10 1 1 0 0 1 pinnumber=143 T 17350 12650 5 10 0 0 0 0 1 pinseq=143 } P 17300 12300 17600 12300 1 0 1 { T 17350 12350 5 10 1 1 0 0 1 pinnumber=142 T 17350 12350 5 10 0 0 0 0 1 pinseq=142 } P 17300 12000 17600 12000 1 0 1 { T 17350 12050 5 10 1 1 0 0 1 pinnumber=141 T 17350 12050 5 10 0 0 0 0 1 pinseq=141 } P 17300 11700 17600 11700 1 0 1 { T 17350 11750 5 10 1 1 0 0 1 pinnumber=140 T 17350 11750 5 10 0 0 0 0 1 pinseq=140 } P 17300 11400 17600 11400 1 0 1 { T 17350 11500 5 10 1 1 0 0 1 pinnumber=139 T 17350 11500 5 10 0 0 0 0 1 pinseq=139 } P 17300 11100 17600 11100 1 0 1 { T 17350 11150 5 10 1 1 0 0 1 pinnumber=138 T 17350 11150 5 10 0 0 0 0 1 pinseq=138 } P 17300 10800 17600 10800 1 0 1 { T 17350 10850 5 10 1 1 0 0 1 pinnumber=137 T 17350 10850 5 10 0 0 0 0 1 pinseq=137 } P 17300 10500 17600 10500 1 0 1 { T 17350 10550 5 10 1 1 0 0 1 pinnumber=136 T 17350 10550 5 10 0 0 0 0 1 pinseq=136 } P 17300 10200 17600 10200 1 0 1 { T 17350 10250 5 10 1 1 0 0 1 pinnumber=135 T 17350 10250 5 10 0 0 0 0 1 pinseq=135 } P 17300 9900 17600 9900 1 0 1 { T 17350 9950 5 10 1 1 0 0 1 pinnumber=134 T 17350 9950 5 10 0 0 0 0 1 pinseq=134 } P 17300 9600 17600 9600 1 0 1 { T 17350 9650 5 10 1 1 0 0 1 pinnumber=133 T 17350 9650 5 10 0 0 0 0 1 pinseq=133 } P 17300 9300 17600 9300 1 0 1 { T 17350 9350 5 10 1 1 0 0 1 pinnumber=132 T 17350 9350 5 10 0 0 0 0 1 pinseq=132 } P 17300 9000 17600 9000 1 0 1 { T 17350 9050 5 10 1 1 0 0 1 pinnumber=131 T 17350 9050 5 10 0 0 0 0 1 pinseq=131 } P 17300 16500 17600 16500 1 0 1 { T 17350 16550 5 10 1 1 0 0 1 pinnumber=156 T 17350 16550 5 10 0 0 0 0 1 pinseq=156 } P 17300 16200 17600 16200 1 0 1 { T 17350 16250 5 10 1 1 0 0 1 pinnumber=155 T 17350 16250 5 10 0 0 0 0 1 pinseq=155 } P 17300 15900 17600 15900 1 0 1 { T 17350 15950 5 10 1 1 0 0 1 pinnumber=154 T 17350 15950 5 10 0 0 0 0 1 pinseq=154 } P 17300 15600 17600 15600 1 0 1 { T 17350 15650 5 10 1 1 0 0 1 pinnumber=153 T 17350 15650 5 10 0 0 0 0 1 pinseq=153 } P 17300 15300 17600 15300 1 0 1 { T 17350 15350 5 10 1 1 0 0 1 pinnumber=152 T 17350 15350 5 10 0 0 0 0 1 pinseq=152 } P 17300 15000 17600 15000 1 0 1 { T 17350 15050 5 10 1 1 0 0 1 pinnumber=151 T 17350 15050 5 10 0 0 0 0 1 pinseq=151 } P 17300 14700 17600 14700 1 0 1 { T 17350 14750 5 10 1 1 0 0 1 pinnumber=150 T 17350 14750 5 10 0 0 0 0 1 pinseq=150 } P 17300 14400 17600 14400 1 0 1 { T 17350 14450 5 10 1 1 0 0 1 pinnumber=149 T 17350 14450 5 10 0 0 0 0 1 pinseq=149 } P 17300 14100 17600 14100 1 0 1 { T 17350 14150 5 10 1 1 0 0 1 pinnumber=148 T 17350 14150 5 10 0 0 0 0 1 pinseq=148 } P 17300 13800 17600 13800 1 0 1 { T 17350 13850 5 10 1 1 0 0 1 pinnumber=147 T 17350 13850 5 10 0 0 0 0 1 pinseq=147 } P 17300 13500 17600 13500 1 0 1 { T 17350 13550 5 10 1 1 0 0 1 pinnumber=146 T 17350 13550 5 10 0 0 0 0 1 pinseq=146 } P 17300 13200 17600 13200 1 0 1 { T 17350 13250 5 10 1 1 0 0 1 pinnumber=145 T 17350 13250 5 10 0 0 0 0 1 pinseq=145 } P 17300 12900 17600 12900 1 0 1 { T 17350 12950 5 10 1 1 0 0 1 pinnumber=144 T 17350 12950 5 10 0 0 0 0 1 pinseq=144 } P 17300 8700 17600 8700 1 0 1 { T 17350 8750 5 10 1 1 0 0 1 pinnumber=130 T 17350 8750 5 10 0 0 0 0 1 pinseq=130 } P 17300 8400 17600 8400 1 0 1 { T 17350 8450 5 10 1 1 0 0 1 pinnumber=129 T 17350 8450 5 10 0 0 0 0 1 pinseq=129 } P 17300 8100 17600 8100 1 0 1 { T 17350 8150 5 10 1 1 0 0 1 pinnumber=128 T 17350 8150 5 10 0 0 0 0 1 pinseq=128 } P 17300 7800 17600 7800 1 0 1 { T 17350 7850 5 10 1 1 0 0 1 pinnumber=127 T 17350 7850 5 10 0 0 0 0 1 pinseq=127 } P 17300 7500 17600 7500 1 0 1 { T 17350 7550 5 10 1 1 0 0 1 pinnumber=126 T 17350 7550 5 10 0 0 0 0 1 pinseq=126 } P 17300 7200 17600 7200 1 0 1 { T 17350 7250 5 10 1 1 0 0 1 pinnumber=125 T 17350 7250 5 10 0 0 0 0 1 pinseq=125 } P 17300 6900 17600 6900 1 0 1 { T 17350 6950 5 10 1 1 0 0 1 pinnumber=124 T 17350 6950 5 10 0 0 0 0 1 pinseq=124 } P 17300 6600 17600 6600 1 0 1 { T 17350 6650 5 10 1 1 0 0 1 pinnumber=123 T 17350 6650 5 10 0 0 0 0 1 pinseq=123 } P 17300 6300 17600 6300 1 0 1 { T 17350 6350 5 10 1 1 0 0 1 pinnumber=122 T 17350 6350 5 10 0 0 0 0 1 pinseq=122 } P 17300 6000 17600 6000 1 0 1 { T 17350 6050 5 10 1 1 0 0 1 pinnumber=121 T 17350 6050 5 10 0 0 0 0 1 pinseq=121 } P 17300 5700 17600 5700 1 0 1 { T 17350 5750 5 10 1 1 0 0 1 pinnumber=120 T 17350 5750 5 10 0 0 0 0 1 pinseq=120 } P 17300 5400 17600 5400 1 0 1 { T 17350 5450 5 10 1 1 0 0 1 pinnumber=119 T 17350 5450 5 10 0 0 0 0 1 pinseq=119 } P 17300 5100 17600 5100 1 0 1 { T 17350 5150 5 10 1 1 0 0 1 pinnumber=118 T 17350 5150 5 10 0 0 0 0 1 pinseq=118 } P 17300 4800 17600 4800 1 0 1 { T 17350 4850 5 10 1 1 0 0 1 pinnumber=117 T 17350 4850 5 10 0 0 0 0 1 pinseq=117 } P 17300 4500 17600 4500 1 0 1 { T 17350 4550 5 10 1 1 0 0 1 pinnumber=116 T 17350 4550 5 10 0 0 0 0 1 pinseq=116 } P 17300 4200 17600 4200 1 0 1 { T 17350 4250 5 10 1 1 0 0 1 pinnumber=115 T 17350 4250 5 10 0 0 0 0 1 pinseq=115 } P 17300 3900 17600 3900 1 0 1 { T 17350 3950 5 10 1 1 0 0 1 pinnumber=114 T 17350 3950 5 10 0 0 0 0 1 pinseq=114 } P 17300 3600 17600 3600 1 0 1 { T 17350 3650 5 10 1 1 0 0 1 pinnumber=113 T 17350 3650 5 10 0 0 0 0 1 pinseq=113 } P 17300 3300 17600 3300 1 0 1 { T 17350 3350 5 10 1 1 0 0 1 pinnumber=112 T 17350 3350 5 10 0 0 0 0 1 pinseq=112 } P 17300 3000 17600 3000 1 0 1 { T 17350 3050 5 10 1 1 0 0 1 pinnumber=111 T 17350 3050 5 10 0 0 0 0 1 pinseq=111 } P 17300 2700 17600 2700 1 0 1 { T 17350 2750 5 10 1 1 0 0 1 pinnumber=110 T 17350 2750 5 10 0 0 0 0 1 pinseq=110 } P 17300 2400 17600 2400 1 0 1 { T 17350 2450 5 10 1 1 0 0 1 pinnumber=109 T 17350 2450 5 10 0 0 0 0 1 pinseq=109 } P 17300 2100 17600 2100 1 0 1 { T 17350 2150 5 10 1 1 0 0 1 pinnumber=108 T 17350 2150 5 10 0 0 0 0 1 pinseq=108 } P 17300 1800 17600 1800 1 0 1 { T 17350 1850 5 10 1 1 0 0 1 pinnumber=107 T 17350 1850 5 10 0 0 0 0 1 pinseq=107 } P 17300 1500 17600 1500 1 0 1 { T 17350 1550 5 10 1 1 0 0 1 pinnumber=106 T 17350 1550 5 10 0 0 0 0 1 pinseq=106 } P 17300 1200 17600 1200 1 0 1 { T 17350 1250 5 10 1 1 0 0 1 pinnumber=105 T 17350 1250 5 10 0 0 0 0 1 pinseq=105 } B 400 400 16900 16900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 17300 5 10 0 1 0 0 1 device=XC2S150-5PQ208I T 16600 17650 8 10 1 1 0 0 1 refdes=U? T 500 16500 9 10 1 0 0 0 1 GND T 500 13500 9 10 1 0 0 0 1 GND T 500 11100 9 10 1 0 0 0 1 GND T 500 16200 9 10 1 0 0 0 1 TMS T 500 15900 9 10 1 0 0 0 1 I/O T 500 15600 9 10 1 0 0 0 1 I/O T 500 14400 9 10 1 0 0 0 1 I/O T 500 15000 9 10 1 0 0 0 1 I/O, VREF T 500 14100 9 10 1 0 0 0 1 I/O, VREF T 500 13800 9 10 1 0 0 0 1 I/O T 500 13200 9 10 1 0 0 0 1 VCCO T 500 12600 9 10 1 0 0 0 1 I/O T 500 12300 9 10 1 0 0 0 1 I/O T 500 12000 9 10 1 0 0 0 1 I/O T 500 11700 9 10 1 0 0 0 1 I/O T 500 11400 9 10 1 0 0 0 1 I/O T 500 15300 9 10 1 0 0 0 1 I/O T 500 10800 9 10 1 0 0 0 1 I/O, VREF T 500 10500 9 10 1 0 0 0 1 I/O T 500 10200 9 10 1 0 0 0 1 I/O T 500 9900 9 10 1 0 0 0 1 I/O T 500 9600 9 10 1 0 0 0 1 I/O, IRDY T 500 1500 9 10 1 0 0 0 1 GND T 500 4800 9 10 1 0 0 0 1 GND T 500 7200 9 10 1 0 0 0 1 GND T 500 9300 9 10 1 0 0 0 1 GND T 500 9000 9 10 1 0 0 0 1 VCCO T 500 5100 9 10 1 0 0 0 1 VCCO T 500 8400 9 10 1 0 0 0 1 VCCINT T 500 7500 9 10 1 0 0 0 1 I/O, VREF T 500 3300 9 10 1 0 0 0 1 I/O, VREF T 500 8700 9 10 1 0 0 0 1 I/O, TRDY T 500 8100 9 10 1 0 0 0 1 I/O T 500 7800 9 10 1 0 0 0 1 I/O T 500 6900 9 10 1 0 0 0 1 I/O T 500 6600 9 10 1 0 0 0 1 I/O T 500 6300 9 10 1 0 0 0 1 I/O T 500 6000 9 10 1 0 0 0 1 I/O T 500 5700 9 10 1 0 0 0 1 I/O T 500 4500 9 10 1 0 0 0 1 I/O T 500 4200 9 10 1 0 0 0 1 I/O, VREF T 500 3900 9 10 1 0 0 0 1 I/O T 500 3000 9 10 1 0 0 0 1 I/O T 500 2700 9 10 1 0 0 0 1 I/O T 500 2400 9 10 1 0 0 0 1 I/O T 500 2100 9 10 1 0 0 0 1 I/O T 500 1800 9 10 1 0 0 0 1 M1 T 500 1200 9 10 1 0 0 0 1 M0 T 500 3600 9 10 1 0 0 0 1 I/O T 500 14700 9 10 1 0 0 0 1 I/O T 500 12900 9 10 1 0 0 0 1 VCCINT T 500 5400 9 10 1 0 0 0 1 VCCINT T 16600 17450 9 10 1 0 0 0 1 XC2S150-5PQ208I T 1200 500 9 10 1 0 90 0 1 VCCO T 1500 500 9 10 1 0 90 0 1 M2 T 2400 500 9 10 1 0 90 0 1 I/O T 2700 500 9 10 1 0 90 0 1 I/O T 3000 500 9 10 1 0 90 0 1 I/O, VREF T 3300 500 9 10 1 0 90 0 1 I/O T 3600 500 9 10 1 0 90 0 1 I/O T 3900 500 9 10 1 0 90 0 1 I/O, VREF T 4200 500 9 10 1 0 90 0 1 I/O T 4500 500 9 10 1 0 90 0 1 GND T 4800 500 9 10 1 0 90 0 1 VCCO T 5100 500 9 10 1 0 90 0 1 VCCINT T 5400 500 9 10 1 0 90 0 1 I/O T 5700 500 9 10 1 0 90 0 1 I/O T 6000 500 9 10 1 0 90 0 1 I/O T 6300 500 9 10 1 0 90 0 1 I/O T 6600 500 9 10 1 0 90 0 1 I/O T 6900 500 9 10 1 0 90 0 1 GND T 7200 500 9 10 1 0 90 0 1 I/O, VREF T 7500 500 9 10 1 0 90 0 1 I/O T 7800 500 9 10 1 0 90 0 1 I/O T 8100 500 9 10 1 0 90 0 1 VCCINT T 8400 500 9 10 1 0 90 0 1 I, GCK1 T 9300 500 9 10 1 0 90 0 1 I, GCK0 T 8700 500 9 10 1 0 90 0 1 VCCO T 9000 500 9 10 1 0 90 0 1 GND T 9600 500 9 10 1 0 90 0 1 I/O T 9900 500 9 10 1 0 90 0 1 I/O T 10200 500 9 10 1 0 90 0 1 I/O T 10500 500 9 10 1 0 90 0 1 I/O, VREF T 10800 500 9 10 1 0 90 0 1 GND T 11100 500 9 10 1 0 90 0 1 I/O T 11400 500 9 10 1 0 90 0 1 I/O T 11700 500 9 10 1 0 90 0 1 I/O T 12000 500 9 10 1 0 90 0 1 I/O T 12300 500 9 10 1 0 90 0 1 I/O T 12600 500 9 10 1 0 90 0 1 VCCINT T 12900 500 9 10 1 0 90 0 1 VCCO T 13200 500 9 10 1 0 90 0 1 GND T 13500 500 9 10 1 0 90 0 1 I/O T 13800 500 9 10 1 0 90 0 1 I/O, VREF T 14100 500 9 10 1 0 90 0 1 I/O T 14400 500 9 10 1 0 90 0 1 I/O T 14700 500 9 10 1 0 90 0 1 I/O, VREF T 15000 500 9 10 1 0 90 0 1 I/O T 15300 500 9 10 1 0 90 0 1 I/O T 15600 500 9 10 1 0 90 0 1 I/O T 15900 500 9 10 1 0 90 0 1 I/O T 16200 500 9 10 1 0 90 0 1 GND T 16500 500 9 10 1 0 90 0 1 DONE T 17200 1200 9 10 1 0 0 6 1 VCCO T 17200 1500 9 10 1 0 0 6 1 PROGRAM T 17200 1800 9 10 1 0 0 6 1 I/O (INIT) T 17200 2100 9 10 1 0 0 6 1 I/O (D7) T 17200 2400 9 10 1 0 0 6 1 I/O T 17200 2700 9 10 1 0 0 6 1 I/O T 17200 3000 9 10 1 0 0 6 1 I/O, VREF T 17200 3300 9 10 1 0 0 6 1 I/O T 17200 3600 9 10 1 0 0 6 1 I/O T 17200 3900 9 10 1 0 0 6 1 I/O, VREF T 17200 4200 9 10 1 0 0 6 1 I/O (D6) T 17200 4500 9 10 1 0 0 6 1 GND T 17200 4800 9 10 1 0 0 6 1 VCCO T 17200 5100 9 10 1 0 0 6 1 VCCINT T 17200 5400 9 10 1 0 0 6 1 I/O (D5) T 17200 5700 9 10 1 0 0 6 1 I/O T 17200 6000 9 10 1 0 0 6 1 I/O T 17200 6300 9 10 1 0 0 6 1 I/O T 17200 6600 9 10 1 0 0 6 1 I/O T 17200 6900 9 10 1 0 0 6 1 GND T 17200 7200 9 10 1 0 0 6 1 I/O, VREF T 17200 7500 9 10 1 0 0 6 1 I/O (D4) T 17200 7800 9 10 1 0 0 6 1 I/O T 17200 8100 9 10 1 0 0 6 1 VCCINT T 17200 8400 9 10 1 0 0 6 1 I/O, TRDY T 17200 8700 9 10 1 0 0 6 1 VCCO T 17200 9000 9 10 1 0 0 6 1 GND T 17200 9300 9 10 1 0 0 6 1 I/O, IRDY T 17200 9600 9 10 1 0 0 6 1 I/O T 17200 9900 9 10 1 0 0 6 1 I/O T 17200 10200 9 10 1 0 0 6 1 I/O (D3) T 17200 10500 9 10 1 0 0 6 1 I/O, VREF T 17200 10800 9 10 1 0 0 6 1 GND T 17200 11100 9 10 1 0 0 6 1 I/O T 17200 11400 9 10 1 0 0 6 1 I/O T 17200 11700 9 10 1 0 0 6 1 I/O T 17200 12000 9 10 1 0 0 6 1 I/O T 17200 12300 9 10 1 0 0 6 1 I/O (D2) T 17200 12600 9 10 1 0 0 6 1 VCCINT T 17200 12900 9 10 1 0 0 6 1 VCCO T 17200 13200 9 10 1 0 0 6 1 GND T 17200 13500 9 10 1 0 0 6 1 I/O (D1) T 17200 13800 9 10 1 0 0 6 1 I/O, VREF T 17200 14100 9 10 1 0 0 6 1 I/O T 17200 14400 9 10 1 0 0 6 1 I/O T 17200 14700 9 10 1 0 0 6 1 I/O, VREF T 17200 15000 9 10 1 0 0 6 1 I/O T 17200 15300 9 10 1 0 0 6 1 I/O T 17200 15600 9 10 1 0 0 6 1 I/O (DIN, D0) T 17200 15900 9 10 1 0 0 6 1 I/O (DOUT, BUSY) T 17200 16200 9 10 1 0 0 6 1 CCLK T 17200 16500 9 10 1 0 0 6 1 VCCO T 16500 17200 9 10 1 0 90 6 1 TDO T 16200 17200 9 10 1 0 90 6 1 GND T 15900 17200 9 10 1 0 90 6 1 TDI T 15600 17200 9 10 1 0 90 6 1 I/O (CS) T 15300 17200 9 10 1 0 90 6 1 I/O (WRITE) T 15000 17200 9 10 1 0 90 6 1 I/O T 14700 17200 9 10 1 0 90 6 1 I/O T 14400 17200 9 10 1 0 90 6 1 I/O, VREF T 14100 17200 9 10 1 0 90 6 1 I/O T 13800 17200 9 10 1 0 90 6 1 I/O T 13500 17200 9 10 1 0 90 6 1 I/O, VREF T 13200 17200 9 10 1 0 90 6 1 I/O T 12900 17200 9 10 1 0 90 6 1 GND T 12600 17200 9 10 1 0 90 6 1 VCCO T 12300 17200 9 10 1 0 90 6 1 VCCINT T 12000 17200 9 10 1 0 90 6 1 I/O T 11700 17200 9 10 1 0 90 6 1 I/O T 11400 17200 9 10 1 0 90 6 1 I/O T 11100 17200 9 10 1 0 90 6 1 I/O T 10800 17200 9 10 1 0 90 6 1 I/O T 10500 17200 9 10 1 0 90 6 1 GND T 10200 17200 9 10 1 0 90 6 1 I/O, VREF T 9900 17200 9 10 1 0 90 6 1 I/O T 9600 17200 9 10 1 0 90 6 1 I/O T 9300 17200 9 10 1 0 90 6 1 I/O T 9000 17200 9 10 1 0 90 6 1 I, GCK2 T 8100 17200 9 10 1 0 90 6 1 I, GCK3 T 8700 17200 9 10 1 0 90 6 1 GND T 8400 17200 9 10 1 0 90 6 1 VCCO T 7800 17200 9 10 1 0 90 6 1 VCCINT T 7500 17200 9 10 1 0 90 6 1 I/O T 7200 17200 9 10 1 0 90 6 1 I/O T 6900 17200 9 10 1 0 90 6 1 I/O, VREF T 6600 17200 9 10 1 0 90 6 1 GND T 6300 17200 9 10 1 0 90 6 1 I/O T 6000 17200 9 10 1 0 90 6 1 I/O T 5700 17200 9 10 1 0 90 6 1 I/O T 5400 17200 9 10 1 0 90 6 1 I/O T 5100 17200 9 10 1 0 90 6 1 I/O T 4800 17200 9 10 1 0 90 6 1 VCCINT T 4500 17200 9 10 1 0 90 6 1 VCCO T 4200 17200 9 10 1 0 90 6 1 GND T 3900 17200 9 10 1 0 90 6 1 I/O T 3600 17200 9 10 1 0 90 6 1 I/O, VREF T 3300 17200 9 10 1 0 90 6 1 I/O T 3000 17200 9 10 1 0 90 6 1 I/O T 2700 17200 9 10 1 0 90 6 1 I/O, VREF T 2400 17200 9 10 1 0 90 6 1 I/O T 2100 17200 9 10 1 0 90 6 1 I/O T 1800 17200 9 10 1 0 90 6 1 I/O T 1500 17200 9 10 1 0 90 6 1 TCK T 1200 17200 9 10 1 0 90 6 1 VCCO L 1100 9100 2600 9100 3 0 0 0 -1 -1 L 900 16800 2600 15100 3 0 0 0 -1 -1 L 1100 1100 2600 2600 3 0 0 0 -1 -1 L 8600 1100 8600 2600 3 0 0 0 -1 -1 L 16600 1100 15100 2600 3 0 0 0 -1 -1 L 16600 8600 15100 8600 3 0 0 0 -1 -1 L 16600 16600 15100 15100 3 0 0 0 -1 -1 L 8400 16600 8400 15100 3 0 0 0 -1 -1 T 1600 12800 9 30 1 0 0 0 1 BANK7 T 1600 5200 9 30 1 0 0 0 1 BANK6 T 4100 1600 9 30 1 0 0 0 1 BANK5 T 11600 1600 9 30 1 0 0 0 1 BANK4 T 14100 5100 9 30 1 0 0 0 1 BANK3 T 14100 12800 9 30 1 0 0 0 1 BANK2 T 11600 15700 9 30 1 0 0 0 1 BANK1 T 3600 15700 9 30 1 0 0 0 1 BANK0 geda-gaf-1.8.2/symbols/xilinx/XC2S50-5PQ208C.sym0000664000175000017500000007447612204104273015476 00000000000000v 20031231 1 P 100 12600 400 12600 1 0 0 { T 100 12650 5 10 1 1 0 0 1 pinnumber=14 T 100 12650 5 10 0 0 0 0 1 pinseq=14 } P 100 12300 400 12300 1 0 0 { T 100 12350 5 10 1 1 0 0 1 pinnumber=15 T 100 12350 5 10 0 0 0 0 1 pinseq=15 } P 100 12000 400 12000 1 0 0 { T 100 12050 5 10 1 1 0 0 1 pinnumber=16 T 100 12050 5 10 0 0 0 0 1 pinseq=16 } P 100 11700 400 11700 1 0 0 { T 100 11750 5 10 1 1 0 0 1 pinnumber=17 T 100 11750 5 10 0 0 0 0 1 pinseq=17 } P 100 11400 400 11400 1 0 0 { T 100 11450 5 10 1 1 0 0 1 pinnumber=18 T 100 11450 5 10 0 0 0 0 1 pinseq=18 } P 100 11100 400 11100 1 0 0 { T 100 11150 5 10 1 1 0 0 1 pinnumber=19 T 100 11150 5 10 0 0 0 0 1 pinseq=19 } P 100 10800 400 10800 1 0 0 { T 100 10850 5 10 1 1 0 0 1 pinnumber=20 T 100 10850 5 10 0 0 0 0 1 pinseq=20 } P 100 10500 400 10500 1 0 0 { T 100 10550 5 10 1 1 0 0 1 pinnumber=21 T 100 10550 5 10 0 0 0 0 1 pinseq=21 } P 100 10200 400 10200 1 0 0 { T 100 10250 5 10 1 1 0 0 1 pinnumber=22 T 100 10250 5 10 0 0 0 0 1 pinseq=22 } P 100 9900 400 9900 1 0 0 { T 100 9950 5 10 1 1 0 0 1 pinnumber=23 T 100 9950 5 10 0 0 0 0 1 pinseq=23 } P 100 9600 400 9600 1 0 0 { T 100 9650 5 10 1 1 0 0 1 pinnumber=24 T 100 9650 5 10 0 0 0 0 1 pinseq=24 } P 100 9300 400 9300 1 0 0 { T 100 9350 5 10 1 1 0 0 1 pinnumber=25 T 100 9350 5 10 0 0 0 0 1 pinseq=25 } P 100 9000 400 9000 1 0 0 { T 100 9050 5 10 1 1 0 0 1 pinnumber=26 T 100 9050 5 10 0 0 0 0 1 pinseq=26 } P 100 16500 400 16500 1 0 0 { T 100 16550 5 10 1 1 0 0 1 pinnumber=1 T 100 16550 5 10 0 0 0 0 1 pinseq=1 } P 100 16200 400 16200 1 0 0 { T 100 16250 5 10 1 1 0 0 1 pinnumber=2 T 100 16250 5 10 0 0 0 0 1 pinseq=2 } P 100 15900 400 15900 1 0 0 { T 100 15950 5 10 1 1 0 0 1 pinnumber=3 T 100 15950 5 10 0 0 0 0 1 pinseq=3 } P 100 15600 400 15600 1 0 0 { T 100 15650 5 10 1 1 0 0 1 pinnumber=4 T 100 15650 5 10 0 0 0 0 1 pinseq=4 } P 100 15300 400 15300 1 0 0 { T 100 15350 5 10 1 1 0 0 1 pinnumber=5 T 100 15350 5 10 0 0 0 0 1 pinseq=5 } P 100 15000 400 15000 1 0 0 { T 100 15050 5 10 1 1 0 0 1 pinnumber=6 T 100 15050 5 10 0 0 0 0 1 pinseq=6 } P 100 14700 400 14700 1 0 0 { T 100 14750 5 10 1 1 0 0 1 pinnumber=7 T 100 14750 5 10 0 0 0 0 1 pinseq=7 } P 100 14400 400 14400 1 0 0 { T 100 14450 5 10 1 1 0 0 1 pinnumber=8 T 100 14450 5 10 0 0 0 0 1 pinseq=8 } P 100 14100 400 14100 1 0 0 { T 100 14150 5 10 1 1 0 0 1 pinnumber=9 T 100 14150 5 10 0 0 0 0 1 pinseq=9 } P 100 13800 400 13800 1 0 0 { T 100 13850 5 10 1 1 0 0 1 pinnumber=10 T 100 13850 5 10 0 0 0 0 1 pinseq=10 } P 100 13500 400 13500 1 0 0 { T 100 13550 5 10 1 1 0 0 1 pinnumber=11 T 100 13550 5 10 0 0 0 0 1 pinseq=11 } P 100 13200 400 13200 1 0 0 { T 100 13250 5 10 1 1 0 0 1 pinnumber=12 T 100 13250 5 10 0 0 0 0 1 pinseq=12 } P 100 12900 400 12900 1 0 0 { T 100 12950 5 10 1 1 0 0 1 pinnumber=13 T 100 12950 5 10 0 0 0 0 1 pinseq=13 } P 100 8700 400 8700 1 0 0 { T 100 8750 5 10 1 1 0 0 1 pinnumber=27 T 100 8750 5 10 0 0 0 0 1 pinseq=27 } P 100 8400 400 8400 1 0 0 { T 100 8450 5 10 1 1 0 0 1 pinnumber=28 T 100 8450 5 10 0 0 0 0 1 pinseq=28 } P 100 8100 400 8100 1 0 0 { T 100 8150 5 10 1 1 0 0 1 pinnumber=29 T 100 8150 5 10 0 0 0 0 1 pinseq=29 } P 100 7800 400 7800 1 0 0 { T 100 7850 5 10 1 1 0 0 1 pinnumber=30 T 100 7850 5 10 0 0 0 0 1 pinseq=30 } P 100 7500 400 7500 1 0 0 { T 100 7550 5 10 1 1 0 0 1 pinnumber=31 T 100 7550 5 10 0 0 0 0 1 pinseq=31 } P 100 7200 400 7200 1 0 0 { T 100 7250 5 10 1 1 0 0 1 pinnumber=32 T 100 7250 5 10 0 0 0 0 1 pinseq=32 } P 100 6900 400 6900 1 0 0 { T 100 6950 5 10 1 1 0 0 1 pinnumber=33 T 100 6950 5 10 0 0 0 0 1 pinseq=33 } P 100 6600 400 6600 1 0 0 { T 100 6650 5 10 1 1 0 0 1 pinnumber=34 T 100 6650 5 10 0 0 0 0 1 pinseq=34 } P 100 6300 400 6300 1 0 0 { T 100 6350 5 10 1 1 0 0 1 pinnumber=35 T 100 6350 5 10 0 0 0 0 1 pinseq=35 } P 100 6000 400 6000 1 0 0 { T 100 6050 5 10 1 1 0 0 1 pinnumber=36 T 100 6050 5 10 0 0 0 0 1 pinseq=36 } P 100 5700 400 5700 1 0 0 { T 100 5750 5 10 1 1 0 0 1 pinnumber=37 T 100 5750 5 10 0 0 0 0 1 pinseq=37 } P 100 5400 400 5400 1 0 0 { T 100 5450 5 10 1 1 0 0 1 pinnumber=38 T 100 5450 5 10 0 0 0 0 1 pinseq=38 } P 100 5100 400 5100 1 0 0 { T 100 5150 5 10 1 1 0 0 1 pinnumber=39 T 100 5150 5 10 0 0 0 0 1 pinseq=39 } P 100 4800 400 4800 1 0 0 { T 100 4850 5 10 1 1 0 0 1 pinnumber=40 T 100 4850 5 10 0 0 0 0 1 pinseq=40 } P 100 4500 400 4500 1 0 0 { T 100 4550 5 10 1 1 0 0 1 pinnumber=41 T 100 4550 5 10 0 0 0 0 1 pinseq=41 } P 100 4200 400 4200 1 0 0 { T 100 4250 5 10 1 1 0 0 1 pinnumber=42 T 100 4250 5 10 0 0 0 0 1 pinseq=42 } P 100 3900 400 3900 1 0 0 { T 100 3950 5 10 1 1 0 0 1 pinnumber=43 T 100 3950 5 10 0 0 0 0 1 pinseq=43 } P 100 3600 400 3600 1 0 0 { T 100 3650 5 10 1 1 0 0 1 pinnumber=44 T 100 3650 5 10 0 0 0 0 1 pinseq=44 } P 100 3300 400 3300 1 0 0 { T 100 3350 5 10 1 1 0 0 1 pinnumber=45 T 100 3350 5 10 0 0 0 0 1 pinseq=45 } P 100 3000 400 3000 1 0 0 { T 100 3050 5 10 1 1 0 0 1 pinnumber=46 T 100 3050 5 10 0 0 0 0 1 pinseq=46 } P 100 2700 400 2700 1 0 0 { T 100 2750 5 10 1 1 0 0 1 pinnumber=47 T 100 2750 5 10 0 0 0 0 1 pinseq=47 } P 100 2400 400 2400 1 0 0 { T 100 2450 5 10 1 1 0 0 1 pinnumber=48 T 100 2450 5 10 0 0 0 0 1 pinseq=48 } P 100 2100 400 2100 1 0 0 { T 100 2150 5 10 1 1 0 0 1 pinnumber=49 T 100 2150 5 10 0 0 0 0 1 pinseq=49 } P 100 1800 400 1800 1 0 0 { T 100 1850 5 10 1 1 0 0 1 pinnumber=50 T 100 1850 5 10 0 0 0 0 1 pinseq=50 } P 100 1500 400 1500 1 0 0 { T 100 1550 5 10 1 1 0 0 1 pinnumber=51 T 100 1550 5 10 0 0 0 0 1 pinseq=51 } P 100 1200 400 1200 1 0 0 { T 100 1250 5 10 1 1 0 0 1 pinnumber=52 T 100 1250 5 10 0 0 0 0 1 pinseq=52 } P 1200 17300 1200 17600 1 0 1 { T 1150 17350 5 10 1 1 90 0 1 pinnumber=208 T 1150 17350 5 10 0 0 90 0 1 pinseq=208 } P 1500 17300 1500 17600 1 0 1 { T 1450 17350 5 10 1 1 90 0 1 pinnumber=207 T 1450 17350 5 10 0 0 90 0 1 pinseq=207 } P 1800 17300 1800 17600 1 0 1 { T 1750 17350 5 10 1 1 90 0 1 pinnumber=206 T 1750 17350 5 10 0 0 90 0 1 pinseq=206 } P 2100 17300 2100 17600 1 0 1 { T 2050 17350 5 10 1 1 90 0 1 pinnumber=205 T 2050 17350 5 10 0 0 90 0 1 pinseq=205 } P 2400 17300 2400 17600 1 0 1 { T 2350 17350 5 10 1 1 90 0 1 pinnumber=204 T 2350 17350 5 10 0 0 90 0 1 pinseq=204 } P 2700 17300 2700 17600 1 0 1 { T 2650 17350 5 10 1 1 90 0 1 pinnumber=203 T 2650 17350 5 10 0 0 90 0 1 pinseq=203 } P 3000 17300 3000 17600 1 0 1 { T 2950 17350 5 10 1 1 90 0 1 pinnumber=202 T 2950 17350 5 10 0 0 90 0 1 pinseq=202 } P 3300 17300 3300 17600 1 0 1 { T 3250 17350 5 10 1 1 90 0 1 pinnumber=201 T 3250 17350 5 10 0 0 90 0 1 pinseq=201 } P 3600 17300 3600 17600 1 0 1 { T 3550 17350 5 10 1 1 90 0 1 pinnumber=200 T 3550 17350 5 10 0 0 90 0 1 pinseq=200 } P 3900 17300 3900 17600 1 0 1 { T 3850 17350 5 10 1 1 90 0 1 pinnumber=199 T 3850 17350 5 10 0 0 90 0 1 pinseq=199 } P 4200 17300 4200 17600 1 0 1 { T 4150 17350 5 10 1 1 90 0 1 pinnumber=198 T 4150 17350 5 10 0 0 90 0 1 pinseq=198 } P 4500 17300 4500 17600 1 0 1 { T 4450 17350 5 10 1 1 90 0 1 pinnumber=197 T 4450 17350 5 10 0 0 90 0 1 pinseq=197 } P 4800 17300 4800 17600 1 0 1 { T 4750 17350 5 10 1 1 90 0 1 pinnumber=196 T 4750 17350 5 10 0 0 90 0 1 pinseq=196 } P 5100 17300 5100 17600 1 0 1 { T 5050 17350 5 10 1 1 90 0 1 pinnumber=195 T 5050 17350 5 10 0 0 90 0 1 pinseq=195 } P 5400 17300 5400 17600 1 0 1 { T 5350 17350 5 10 1 1 90 0 1 pinnumber=194 T 5350 17350 5 10 0 0 90 0 1 pinseq=194 } P 5700 17300 5700 17600 1 0 1 { T 5650 17350 5 10 1 1 90 0 1 pinnumber=193 T 5650 17350 5 10 0 0 90 0 1 pinseq=193 } P 6000 17300 6000 17600 1 0 1 { T 5950 17350 5 10 1 1 90 0 1 pinnumber=192 T 5950 17350 5 10 0 0 90 0 1 pinseq=192 } P 6300 17300 6300 17600 1 0 1 { T 6250 17350 5 10 1 1 90 0 1 pinnumber=191 T 6250 17350 5 10 0 0 90 0 1 pinseq=191 } P 6600 17300 6600 17600 1 0 1 { T 6550 17350 5 10 1 1 90 0 1 pinnumber=190 T 6550 17350 5 10 0 0 90 0 1 pinseq=190 } P 6900 17300 6900 17600 1 0 1 { T 6850 17350 5 10 1 1 90 0 1 pinnumber=189 T 6850 17350 5 10 0 0 90 0 1 pinseq=189 } P 7200 17300 7200 17600 1 0 1 { T 7150 17350 5 10 1 1 90 0 1 pinnumber=188 T 7150 17350 5 10 0 0 90 0 1 pinseq=188 } P 7500 17300 7500 17600 1 0 1 { T 7450 17350 5 10 1 1 90 0 1 pinnumber=187 T 7450 17350 5 10 0 0 90 0 1 pinseq=187 } P 7800 17300 7800 17600 1 0 1 { T 7750 17350 5 10 1 1 90 0 1 pinnumber=186 T 7750 17350 5 10 0 0 90 0 1 pinseq=186 } P 8100 17300 8100 17600 1 0 1 { T 8050 17350 5 10 1 1 90 0 1 pinnumber=185 T 8050 17350 5 10 0 0 90 0 1 pinseq=185 } P 8400 17300 8400 17600 1 0 1 { T 8350 17350 5 10 1 1 90 0 1 pinnumber=184 T 8350 17350 5 10 0 0 90 0 1 pinseq=184 } P 8700 17300 8700 17600 1 0 1 { T 8650 17350 5 10 1 1 90 0 1 pinnumber=183 T 8650 17350 5 10 0 0 90 0 1 pinseq=183 } P 9000 17300 9000 17600 1 0 1 { T 8950 17350 5 10 1 1 90 0 1 pinnumber=182 T 8950 17350 5 10 0 0 90 0 1 pinseq=182 } P 9300 17300 9300 17600 1 0 1 { T 9250 17350 5 10 1 1 90 0 1 pinnumber=181 T 9250 17350 5 10 0 0 90 0 1 pinseq=181 } P 9600 17300 9600 17600 1 0 1 { T 9550 17350 5 10 1 1 90 0 1 pinnumber=180 T 9550 17350 5 10 0 0 90 0 1 pinseq=180 } P 9900 17300 9900 17600 1 0 1 { T 9850 17350 5 10 1 1 90 0 1 pinnumber=179 T 9850 17350 5 10 0 0 90 0 1 pinseq=179 } P 10200 17300 10200 17600 1 0 1 { T 10150 17350 5 10 1 1 90 0 1 pinnumber=178 T 10150 17350 5 10 0 0 90 0 1 pinseq=178 } P 10500 17300 10500 17600 1 0 1 { T 10450 17350 5 10 1 1 90 0 1 pinnumber=177 T 10450 17350 5 10 0 0 90 0 1 pinseq=177 } P 10800 17300 10800 17600 1 0 1 { T 10750 17350 5 10 1 1 90 0 1 pinnumber=176 T 10750 17350 5 10 0 0 90 0 1 pinseq=176 } P 11100 17300 11100 17600 1 0 1 { T 11050 17350 5 10 1 1 90 0 1 pinnumber=175 T 11050 17350 5 10 0 0 90 0 1 pinseq=175 } P 11400 17300 11400 17600 1 0 1 { T 11350 17350 5 10 1 1 90 0 1 pinnumber=174 T 11350 17350 5 10 0 0 90 0 1 pinseq=174 } P 11700 17300 11700 17600 1 0 1 { T 11650 17350 5 10 1 1 90 0 1 pinnumber=173 T 11650 17350 5 10 0 0 90 0 1 pinseq=173 } P 12000 17300 12000 17600 1 0 1 { T 11950 17350 5 10 1 1 90 0 1 pinnumber=172 T 11950 17350 5 10 0 0 90 0 1 pinseq=172 } P 12300 17300 12300 17600 1 0 1 { T 12250 17350 5 10 1 1 90 0 1 pinnumber=171 T 12250 17350 5 10 0 0 90 0 1 pinseq=171 } P 12600 17300 12600 17600 1 0 1 { T 12550 17350 5 10 1 1 90 0 1 pinnumber=170 T 12550 17350 5 10 0 0 90 0 1 pinseq=170 } P 12900 17300 12900 17600 1 0 1 { T 12850 17350 5 10 1 1 90 0 1 pinnumber=169 T 12850 17350 5 10 0 0 90 0 1 pinseq=169 } P 13200 17300 13200 17600 1 0 1 { T 13150 17350 5 10 1 1 90 0 1 pinnumber=168 T 13150 17350 5 10 0 0 90 0 1 pinseq=168 } P 13500 17300 13500 17600 1 0 1 { T 13450 17350 5 10 1 1 90 0 1 pinnumber=167 T 13450 17350 5 10 0 0 90 0 1 pinseq=167 } P 13800 17300 13800 17600 1 0 1 { T 13750 17350 5 10 1 1 90 0 1 pinnumber=166 T 13750 17350 5 10 0 0 90 0 1 pinseq=166 } P 14100 17300 14100 17600 1 0 1 { T 14050 17350 5 10 1 1 90 0 1 pinnumber=165 T 14050 17350 5 10 0 0 90 0 1 pinseq=165 } P 14400 17300 14400 17600 1 0 1 { T 14350 17350 5 10 1 1 90 0 1 pinnumber=164 T 14350 17350 5 10 0 0 90 0 1 pinseq=164 } P 14700 17300 14700 17600 1 0 1 { T 14650 17350 5 10 1 1 90 0 1 pinnumber=163 T 14650 17350 5 10 0 0 90 0 1 pinseq=163 } P 15000 17300 15000 17600 1 0 1 { T 14950 17350 5 10 1 1 90 0 1 pinnumber=162 T 14950 17350 5 10 0 0 90 0 1 pinseq=162 } P 15300 17300 15300 17600 1 0 1 { T 15250 17350 5 10 1 1 90 0 1 pinnumber=161 T 15250 17350 5 10 0 0 90 0 1 pinseq=161 } P 15600 17300 15600 17600 1 0 1 { T 15550 17350 5 10 1 1 90 0 1 pinnumber=160 T 15550 17350 5 10 0 0 90 0 1 pinseq=160 } P 15900 17300 15900 17600 1 0 1 { T 15850 17350 5 10 1 1 90 0 1 pinnumber=159 T 15850 17350 5 10 0 0 90 0 1 pinseq=159 } P 16200 17300 16200 17600 1 0 1 { T 16150 17350 5 10 1 1 90 0 1 pinnumber=158 T 16150 17350 5 10 0 0 90 0 1 pinseq=158 } P 16500 17300 16500 17600 1 0 1 { T 16450 17350 5 10 1 1 90 0 1 pinnumber=157 T 16450 17350 5 10 0 0 90 0 1 pinseq=157 } P 1200 100 1200 400 1 0 0 { T 1150 100 5 10 1 1 90 0 1 pinnumber=53 T 1150 100 5 10 0 0 90 0 1 pinseq=53 } P 1500 100 1500 400 1 0 0 { T 1450 100 5 10 1 1 90 0 1 pinnumber=54 T 1450 100 5 10 0 0 90 0 1 pinseq=54 } P 1800 100 1800 400 1 0 0 { T 1750 100 5 10 1 1 90 0 1 pinnumber=55 T 1750 100 5 10 0 0 90 0 1 pinseq=55 } P 2100 100 2100 400 1 0 0 { T 2050 100 5 10 1 1 90 0 1 pinnumber=56 T 2050 100 5 10 0 0 90 0 1 pinseq=56 } P 2400 100 2400 400 1 0 0 { T 2350 100 5 10 1 1 90 0 1 pinnumber=57 T 2350 100 5 10 0 0 90 0 1 pinseq=57 } P 2700 100 2700 400 1 0 0 { T 2650 100 5 10 1 1 90 0 1 pinnumber=58 T 2650 100 5 10 0 0 90 0 1 pinseq=58 } P 3000 100 3000 400 1 0 0 { T 2950 100 5 10 1 1 90 0 1 pinnumber=59 T 2950 100 5 10 0 0 90 0 1 pinseq=59 } P 3300 100 3300 400 1 0 0 { T 3250 100 5 10 1 1 90 0 1 pinnumber=60 T 3250 100 5 10 0 0 90 0 1 pinseq=60 } P 3600 100 3600 400 1 0 0 { T 3550 100 5 10 1 1 90 0 1 pinnumber=61 T 3550 100 5 10 0 0 90 0 1 pinseq=61 } P 3900 100 3900 400 1 0 0 { T 3850 100 5 10 1 1 90 0 1 pinnumber=62 T 3850 100 5 10 0 0 90 0 1 pinseq=62 } P 4200 100 4200 400 1 0 0 { T 4150 100 5 10 1 1 90 0 1 pinnumber=63 T 4150 100 5 10 0 0 90 0 1 pinseq=63 } P 4500 100 4500 400 1 0 0 { T 4450 100 5 10 1 1 90 0 1 pinnumber=64 T 4450 100 5 10 0 0 90 0 1 pinseq=64 } P 4800 100 4800 400 1 0 0 { T 4750 100 5 10 1 1 90 0 1 pinnumber=65 T 4750 100 5 10 0 0 90 0 1 pinseq=65 } P 5100 100 5100 400 1 0 0 { T 5050 100 5 10 1 1 90 0 1 pinnumber=66 T 5050 100 5 10 0 0 90 0 1 pinseq=66 } P 5400 100 5400 400 1 0 0 { T 5350 100 5 10 1 1 90 0 1 pinnumber=67 T 5350 100 5 10 0 0 90 0 1 pinseq=67 } P 5700 100 5700 400 1 0 0 { T 5650 100 5 10 1 1 90 0 1 pinnumber=68 T 5650 100 5 10 0 0 90 0 1 pinseq=68 } P 6000 100 6000 400 1 0 0 { T 5950 100 5 10 1 1 90 0 1 pinnumber=69 T 5950 100 5 10 0 0 90 0 1 pinseq=69 } P 6300 100 6300 400 1 0 0 { T 6250 100 5 10 1 1 90 0 1 pinnumber=70 T 6250 100 5 10 0 0 90 0 1 pinseq=70 } P 6600 100 6600 400 1 0 0 { T 6550 100 5 10 1 1 90 0 1 pinnumber=71 T 6550 100 5 10 0 0 90 0 1 pinseq=71 } P 6900 100 6900 400 1 0 0 { T 6850 100 5 10 1 1 90 0 1 pinnumber=72 T 6850 100 5 10 0 0 90 0 1 pinseq=72 } P 7200 100 7200 400 1 0 0 { T 7150 100 5 10 1 1 90 0 1 pinnumber=73 T 7150 100 5 10 0 0 90 0 1 pinseq=73 } P 7500 100 7500 400 1 0 0 { T 7450 100 5 10 1 1 90 0 1 pinnumber=74 T 7450 100 5 10 0 0 90 0 1 pinseq=74 } P 7800 100 7800 400 1 0 0 { T 7750 100 5 10 1 1 90 0 1 pinnumber=75 T 7750 100 5 10 0 0 90 0 1 pinseq=75 } P 8100 100 8100 400 1 0 0 { T 8050 100 5 10 1 1 90 0 1 pinnumber=76 T 8050 100 5 10 0 0 90 0 1 pinseq=76 } P 8400 100 8400 400 1 0 0 { T 8350 100 5 10 1 1 90 0 1 pinnumber=77 T 8350 100 5 10 0 0 90 0 1 pinseq=77 } P 8700 100 8700 400 1 0 0 { T 8650 100 5 10 1 1 90 0 1 pinnumber=78 T 8650 100 5 10 0 0 90 0 1 pinseq=78 } P 9000 100 9000 400 1 0 0 { T 8950 100 5 10 1 1 90 0 1 pinnumber=79 T 8950 100 5 10 0 0 90 0 1 pinseq=79 } P 9300 100 9300 400 1 0 0 { T 9250 100 5 10 1 1 90 0 1 pinnumber=80 T 9250 100 5 10 0 0 90 0 1 pinseq=80 } P 9600 100 9600 400 1 0 0 { T 9550 100 5 10 1 1 90 0 1 pinnumber=81 T 9550 100 5 10 0 0 90 0 1 pinseq=81 } P 9900 100 9900 400 1 0 0 { T 9850 100 5 10 1 1 90 0 1 pinnumber=82 T 9850 100 5 10 0 0 90 0 1 pinseq=82 } P 10200 100 10200 400 1 0 0 { T 10150 100 5 10 1 1 90 0 1 pinnumber=83 T 10150 100 5 10 0 0 90 0 1 pinseq=83 } P 10500 100 10500 400 1 0 0 { T 10450 100 5 10 1 1 90 0 1 pinnumber=84 T 10450 100 5 10 0 0 90 0 1 pinseq=84 } P 10800 100 10800 400 1 0 0 { T 10750 100 5 10 1 1 90 0 1 pinnumber=85 T 10750 100 5 10 0 0 90 0 1 pinseq=85 } P 11100 100 11100 400 1 0 0 { T 11050 100 5 10 1 1 90 0 1 pinnumber=86 T 11050 100 5 10 0 0 90 0 1 pinseq=86 } P 11400 100 11400 400 1 0 0 { T 11350 100 5 10 1 1 90 0 1 pinnumber=87 T 11350 100 5 10 0 0 90 0 1 pinseq=87 } P 11700 100 11700 400 1 0 0 { T 11650 100 5 10 1 1 90 0 1 pinnumber=88 T 11650 100 5 10 0 0 90 0 1 pinseq=88 } P 12000 100 12000 400 1 0 0 { T 11950 100 5 10 1 1 90 0 1 pinnumber=89 T 11950 100 5 10 0 0 90 0 1 pinseq=89 } P 12300 100 12300 400 1 0 0 { T 12250 100 5 10 1 1 90 0 1 pinnumber=90 T 12250 100 5 10 0 0 90 0 1 pinseq=90 } P 12600 100 12600 400 1 0 0 { T 12550 100 5 10 1 1 90 0 1 pinnumber=91 T 12550 100 5 10 0 0 90 0 1 pinseq=91 } P 12900 100 12900 400 1 0 0 { T 12850 100 5 10 1 1 90 0 1 pinnumber=92 T 12850 100 5 10 0 0 90 0 1 pinseq=92 } P 13200 100 13200 400 1 0 0 { T 13150 100 5 10 1 1 90 0 1 pinnumber=93 T 13150 100 5 10 0 0 90 0 1 pinseq=93 } P 13500 100 13500 400 1 0 0 { T 13450 100 5 10 1 1 90 0 1 pinnumber=94 T 13450 100 5 10 0 0 90 0 1 pinseq=94 } P 13800 100 13800 400 1 0 0 { T 13750 100 5 10 1 1 90 0 1 pinnumber=95 T 13750 100 5 10 0 0 90 0 1 pinseq=95 } P 14100 100 14100 400 1 0 0 { T 14050 100 5 10 1 1 90 0 1 pinnumber=96 T 14050 100 5 10 0 0 90 0 1 pinseq=96 } P 14400 100 14400 400 1 0 0 { T 14350 100 5 10 1 1 90 0 1 pinnumber=97 T 14350 100 5 10 0 0 90 0 1 pinseq=97 } P 14700 100 14700 400 1 0 0 { T 14650 100 5 10 1 1 90 0 1 pinnumber=98 T 14650 100 5 10 0 0 90 0 1 pinseq=98 } P 15000 100 15000 400 1 0 0 { T 14950 100 5 10 1 1 90 0 1 pinnumber=99 T 14950 100 5 10 0 0 90 0 1 pinseq=99 } P 15300 100 15300 400 1 0 0 { T 15250 50 5 10 1 1 90 0 1 pinnumber=100 T 15250 50 5 10 0 0 90 0 1 pinseq=100 } P 15600 100 15600 400 1 0 0 { T 15550 50 5 10 1 1 90 0 1 pinnumber=101 T 15550 50 5 10 0 0 90 0 1 pinseq=101 } P 15900 100 15900 400 1 0 0 { T 15850 50 5 10 1 1 90 0 1 pinnumber=102 T 15850 50 5 10 0 0 90 0 1 pinseq=102 } P 16200 100 16200 400 1 0 0 { T 16150 50 5 10 1 1 90 0 1 pinnumber=103 T 16150 50 5 10 0 0 90 0 1 pinseq=103 } P 16500 100 16500 400 1 0 0 { T 16450 50 5 10 1 1 90 0 1 pinnumber=104 T 16450 50 5 10 0 0 90 0 1 pinseq=104 } P 17300 12600 17600 12600 1 0 1 { T 17350 12650 5 10 1 1 0 0 1 pinnumber=143 T 17350 12650 5 10 0 0 0 0 1 pinseq=143 } P 17300 12300 17600 12300 1 0 1 { T 17350 12350 5 10 1 1 0 0 1 pinnumber=142 T 17350 12350 5 10 0 0 0 0 1 pinseq=142 } P 17300 12000 17600 12000 1 0 1 { T 17350 12050 5 10 1 1 0 0 1 pinnumber=141 T 17350 12050 5 10 0 0 0 0 1 pinseq=141 } P 17300 11700 17600 11700 1 0 1 { T 17350 11750 5 10 1 1 0 0 1 pinnumber=140 T 17350 11750 5 10 0 0 0 0 1 pinseq=140 } P 17300 11400 17600 11400 1 0 1 { T 17350 11500 5 10 1 1 0 0 1 pinnumber=139 T 17350 11500 5 10 0 0 0 0 1 pinseq=139 } P 17300 11100 17600 11100 1 0 1 { T 17350 11150 5 10 1 1 0 0 1 pinnumber=138 T 17350 11150 5 10 0 0 0 0 1 pinseq=138 } P 17300 10800 17600 10800 1 0 1 { T 17350 10850 5 10 1 1 0 0 1 pinnumber=137 T 17350 10850 5 10 0 0 0 0 1 pinseq=137 } P 17300 10500 17600 10500 1 0 1 { T 17350 10550 5 10 1 1 0 0 1 pinnumber=136 T 17350 10550 5 10 0 0 0 0 1 pinseq=136 } P 17300 10200 17600 10200 1 0 1 { T 17350 10250 5 10 1 1 0 0 1 pinnumber=135 T 17350 10250 5 10 0 0 0 0 1 pinseq=135 } P 17300 9900 17600 9900 1 0 1 { T 17350 9950 5 10 1 1 0 0 1 pinnumber=134 T 17350 9950 5 10 0 0 0 0 1 pinseq=134 } P 17300 9600 17600 9600 1 0 1 { T 17350 9650 5 10 1 1 0 0 1 pinnumber=133 T 17350 9650 5 10 0 0 0 0 1 pinseq=133 } P 17300 9300 17600 9300 1 0 1 { T 17350 9350 5 10 1 1 0 0 1 pinnumber=132 T 17350 9350 5 10 0 0 0 0 1 pinseq=132 } P 17300 9000 17600 9000 1 0 1 { T 17350 9050 5 10 1 1 0 0 1 pinnumber=131 T 17350 9050 5 10 0 0 0 0 1 pinseq=131 } P 17300 16500 17600 16500 1 0 1 { T 17350 16550 5 10 1 1 0 0 1 pinnumber=156 T 17350 16550 5 10 0 0 0 0 1 pinseq=156 } P 17300 16200 17600 16200 1 0 1 { T 17350 16250 5 10 1 1 0 0 1 pinnumber=155 T 17350 16250 5 10 0 0 0 0 1 pinseq=155 } P 17300 15900 17600 15900 1 0 1 { T 17350 15950 5 10 1 1 0 0 1 pinnumber=154 T 17350 15950 5 10 0 0 0 0 1 pinseq=154 } P 17300 15600 17600 15600 1 0 1 { T 17350 15650 5 10 1 1 0 0 1 pinnumber=153 T 17350 15650 5 10 0 0 0 0 1 pinseq=153 } P 17300 15300 17600 15300 1 0 1 { T 17350 15350 5 10 1 1 0 0 1 pinnumber=152 T 17350 15350 5 10 0 0 0 0 1 pinseq=152 } P 17300 15000 17600 15000 1 0 1 { T 17350 15050 5 10 1 1 0 0 1 pinnumber=151 T 17350 15050 5 10 0 0 0 0 1 pinseq=151 } P 17300 14700 17600 14700 1 0 1 { T 17350 14750 5 10 1 1 0 0 1 pinnumber=150 T 17350 14750 5 10 0 0 0 0 1 pinseq=150 } P 17300 14400 17600 14400 1 0 1 { T 17350 14450 5 10 1 1 0 0 1 pinnumber=149 T 17350 14450 5 10 0 0 0 0 1 pinseq=149 } P 17300 14100 17600 14100 1 0 1 { T 17350 14150 5 10 1 1 0 0 1 pinnumber=148 T 17350 14150 5 10 0 0 0 0 1 pinseq=148 } P 17300 13800 17600 13800 1 0 1 { T 17350 13850 5 10 1 1 0 0 1 pinnumber=147 T 17350 13850 5 10 0 0 0 0 1 pinseq=147 } P 17300 13500 17600 13500 1 0 1 { T 17350 13550 5 10 1 1 0 0 1 pinnumber=146 T 17350 13550 5 10 0 0 0 0 1 pinseq=146 } P 17300 13200 17600 13200 1 0 1 { T 17350 13250 5 10 1 1 0 0 1 pinnumber=145 T 17350 13250 5 10 0 0 0 0 1 pinseq=145 } P 17300 12900 17600 12900 1 0 1 { T 17350 12950 5 10 1 1 0 0 1 pinnumber=144 T 17350 12950 5 10 0 0 0 0 1 pinseq=144 } P 17300 8700 17600 8700 1 0 1 { T 17350 8750 5 10 1 1 0 0 1 pinnumber=130 T 17350 8750 5 10 0 0 0 0 1 pinseq=130 } P 17300 8400 17600 8400 1 0 1 { T 17350 8450 5 10 1 1 0 0 1 pinnumber=129 T 17350 8450 5 10 0 0 0 0 1 pinseq=129 } P 17300 8100 17600 8100 1 0 1 { T 17350 8150 5 10 1 1 0 0 1 pinnumber=128 T 17350 8150 5 10 0 0 0 0 1 pinseq=128 } P 17300 7800 17600 7800 1 0 1 { T 17350 7850 5 10 1 1 0 0 1 pinnumber=127 T 17350 7850 5 10 0 0 0 0 1 pinseq=127 } P 17300 7500 17600 7500 1 0 1 { T 17350 7550 5 10 1 1 0 0 1 pinnumber=126 T 17350 7550 5 10 0 0 0 0 1 pinseq=126 } P 17300 7200 17600 7200 1 0 1 { T 17350 7250 5 10 1 1 0 0 1 pinnumber=125 T 17350 7250 5 10 0 0 0 0 1 pinseq=125 } P 17300 6900 17600 6900 1 0 1 { T 17350 6950 5 10 1 1 0 0 1 pinnumber=124 T 17350 6950 5 10 0 0 0 0 1 pinseq=124 } P 17300 6600 17600 6600 1 0 1 { T 17350 6650 5 10 1 1 0 0 1 pinnumber=123 T 17350 6650 5 10 0 0 0 0 1 pinseq=123 } P 17300 6300 17600 6300 1 0 1 { T 17350 6350 5 10 1 1 0 0 1 pinnumber=122 T 17350 6350 5 10 0 0 0 0 1 pinseq=122 } P 17300 6000 17600 6000 1 0 1 { T 17350 6050 5 10 1 1 0 0 1 pinnumber=121 T 17350 6050 5 10 0 0 0 0 1 pinseq=121 } P 17300 5700 17600 5700 1 0 1 { T 17350 5750 5 10 1 1 0 0 1 pinnumber=120 T 17350 5750 5 10 0 0 0 0 1 pinseq=120 } P 17300 5400 17600 5400 1 0 1 { T 17350 5450 5 10 1 1 0 0 1 pinnumber=119 T 17350 5450 5 10 0 0 0 0 1 pinseq=119 } P 17300 5100 17600 5100 1 0 1 { T 17350 5150 5 10 1 1 0 0 1 pinnumber=118 T 17350 5150 5 10 0 0 0 0 1 pinseq=118 } P 17300 4800 17600 4800 1 0 1 { T 17350 4850 5 10 1 1 0 0 1 pinnumber=117 T 17350 4850 5 10 0 0 0 0 1 pinseq=117 } P 17300 4500 17600 4500 1 0 1 { T 17350 4550 5 10 1 1 0 0 1 pinnumber=116 T 17350 4550 5 10 0 0 0 0 1 pinseq=116 } P 17300 4200 17600 4200 1 0 1 { T 17350 4250 5 10 1 1 0 0 1 pinnumber=115 T 17350 4250 5 10 0 0 0 0 1 pinseq=115 } P 17300 3900 17600 3900 1 0 1 { T 17350 3950 5 10 1 1 0 0 1 pinnumber=114 T 17350 3950 5 10 0 0 0 0 1 pinseq=114 } P 17300 3600 17600 3600 1 0 1 { T 17350 3650 5 10 1 1 0 0 1 pinnumber=113 T 17350 3650 5 10 0 0 0 0 1 pinseq=113 } P 17300 3300 17600 3300 1 0 1 { T 17350 3350 5 10 1 1 0 0 1 pinnumber=112 T 17350 3350 5 10 0 0 0 0 1 pinseq=112 } P 17300 3000 17600 3000 1 0 1 { T 17350 3050 5 10 1 1 0 0 1 pinnumber=111 T 17350 3050 5 10 0 0 0 0 1 pinseq=111 } P 17300 2700 17600 2700 1 0 1 { T 17350 2750 5 10 1 1 0 0 1 pinnumber=110 T 17350 2750 5 10 0 0 0 0 1 pinseq=110 } P 17300 2400 17600 2400 1 0 1 { T 17350 2450 5 10 1 1 0 0 1 pinnumber=109 T 17350 2450 5 10 0 0 0 0 1 pinseq=109 } P 17300 2100 17600 2100 1 0 1 { T 17350 2150 5 10 1 1 0 0 1 pinnumber=108 T 17350 2150 5 10 0 0 0 0 1 pinseq=108 } P 17300 1800 17600 1800 1 0 1 { T 17350 1850 5 10 1 1 0 0 1 pinnumber=107 T 17350 1850 5 10 0 0 0 0 1 pinseq=107 } P 17300 1500 17600 1500 1 0 1 { T 17350 1550 5 10 1 1 0 0 1 pinnumber=106 T 17350 1550 5 10 0 0 0 0 1 pinseq=106 } P 17300 1200 17600 1200 1 0 1 { T 17350 1250 5 10 1 1 0 0 1 pinnumber=105 T 17350 1250 5 10 0 0 0 0 1 pinseq=105 } B 400 400 16900 16900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 17300 5 10 0 1 0 0 1 device=XC2S50-5PQ208C T 16600 17650 8 10 1 1 0 0 1 refdes=U? T 500 16500 9 10 1 0 0 0 1 GND T 500 13500 9 10 1 0 0 0 1 GND T 500 11100 9 10 1 0 0 0 1 GND T 500 16200 9 10 1 0 0 0 1 TMS T 500 15900 9 10 1 0 0 0 1 I/O T 500 15600 9 10 1 0 0 0 1 I/O T 500 14400 9 10 1 0 0 0 1 I/O T 500 15000 9 10 1 0 0 0 1 I/O, VREF T 500 14100 9 10 1 0 0 0 1 I/O T 500 13800 9 10 1 0 0 0 1 I/O T 500 13200 9 10 1 0 0 0 1 VCCO T 500 12600 9 10 1 0 0 0 1 I/O T 500 12300 9 10 1 0 0 0 1 I/O T 500 12000 9 10 1 0 0 0 1 I/O T 500 11700 9 10 1 0 0 0 1 I/O T 500 11400 9 10 1 0 0 0 1 I/O T 500 15300 9 10 1 0 0 0 1 I/O T 500 10800 9 10 1 0 0 0 1 I/O, VREF T 500 10500 9 10 1 0 0 0 1 I/O T 500 10200 9 10 1 0 0 0 1 I/O T 500 9900 9 10 1 0 0 0 1 I/O T 500 9600 9 10 1 0 0 0 1 I/O, IRDY T 500 1500 9 10 1 0 0 0 1 GND T 500 4800 9 10 1 0 0 0 1 GND T 500 7200 9 10 1 0 0 0 1 GND T 500 9300 9 10 1 0 0 0 1 GND T 500 9000 9 10 1 0 0 0 1 VCCO T 500 5100 9 10 1 0 0 0 1 VCCO T 500 8400 9 10 1 0 0 0 1 VCCINT T 500 7500 9 10 1 0 0 0 1 I/O, VREF T 500 3300 9 10 1 0 0 0 1 I/O, VREF T 500 8700 9 10 1 0 0 0 1 I/O, TRDY T 500 8100 9 10 1 0 0 0 1 I/O T 500 7800 9 10 1 0 0 0 1 I/O T 500 6900 9 10 1 0 0 0 1 I/O T 500 6600 9 10 1 0 0 0 1 I/O T 500 6300 9 10 1 0 0 0 1 I/O T 500 6000 9 10 1 0 0 0 1 I/O T 500 5700 9 10 1 0 0 0 1 I/O T 500 4500 9 10 1 0 0 0 1 I/O T 500 4200 9 10 1 0 0 0 1 I/O T 500 3900 9 10 1 0 0 0 1 I/O T 500 3000 9 10 1 0 0 0 1 I/O T 500 2700 9 10 1 0 0 0 1 I/O T 500 2400 9 10 1 0 0 0 1 I/O T 500 2100 9 10 1 0 0 0 1 I/O T 500 1800 9 10 1 0 0 0 1 M1 T 500 1200 9 10 1 0 0 0 1 M0 T 500 3600 9 10 1 0 0 0 1 I/O T 500 14700 9 10 1 0 0 0 1 I/O T 500 12900 9 10 1 0 0 0 1 VCCINT T 500 5400 9 10 1 0 0 0 1 VCCINT T 16600 17450 9 10 1 0 0 0 1 XC2S50-5PQ208C T 1200 500 9 10 1 0 90 0 1 VCCO T 1500 500 9 10 1 0 90 0 1 M2 T 2400 500 9 10 1 0 90 0 1 I/O T 2700 500 9 10 1 0 90 0 1 I/O T 3000 500 9 10 1 0 90 0 1 I/O, VREF T 3300 500 9 10 1 0 90 0 1 I/O T 3600 500 9 10 1 0 90 0 1 I/O T 3900 500 9 10 1 0 90 0 1 I/O T 4200 500 9 10 1 0 90 0 1 I/O T 4500 500 9 10 1 0 90 0 1 GND T 4800 500 9 10 1 0 90 0 1 VCCO T 5100 500 9 10 1 0 90 0 1 VCCINT T 5400 500 9 10 1 0 90 0 1 I/O T 5700 500 9 10 1 0 90 0 1 I/O T 6000 500 9 10 1 0 90 0 1 I/O T 6300 500 9 10 1 0 90 0 1 I/O T 6600 500 9 10 1 0 90 0 1 I/O T 6900 500 9 10 1 0 90 0 1 GND T 7200 500 9 10 1 0 90 0 1 I/O, VREF T 7500 500 9 10 1 0 90 0 1 I/O T 7800 500 9 10 1 0 90 0 1 I/O T 8100 500 9 10 1 0 90 0 1 VCCINT T 8400 500 9 10 1 0 90 0 1 I, GCK1 T 9300 500 9 10 1 0 90 0 1 I, GCK0 T 8700 500 9 10 1 0 90 0 1 VCCO T 9000 500 9 10 1 0 90 0 1 GND T 9600 500 9 10 1 0 90 0 1 I/O T 9900 500 9 10 1 0 90 0 1 I/O T 10200 500 9 10 1 0 90 0 1 I/O T 10500 500 9 10 1 0 90 0 1 I/O, VREF T 10800 500 9 10 1 0 90 0 1 GND T 11100 500 9 10 1 0 90 0 1 I/O T 11400 500 9 10 1 0 90 0 1 I/O T 11700 500 9 10 1 0 90 0 1 I/O T 12000 500 9 10 1 0 90 0 1 I/O T 12300 500 9 10 1 0 90 0 1 I/O T 12600 500 9 10 1 0 90 0 1 VCCINT T 12900 500 9 10 1 0 90 0 1 VCCO T 13200 500 9 10 1 0 90 0 1 GND T 13500 500 9 10 1 0 90 0 1 I/O T 13800 500 9 10 1 0 90 0 1 I/O T 14100 500 9 10 1 0 90 0 1 I/O T 14400 500 9 10 1 0 90 0 1 I/O T 14700 500 9 10 1 0 90 0 1 I/O, VREF T 15000 500 9 10 1 0 90 0 1 I/O T 15300 500 9 10 1 0 90 0 1 I/O T 15600 500 9 10 1 0 90 0 1 I/O T 15900 500 9 10 1 0 90 0 1 I/O T 16200 500 9 10 1 0 90 0 1 GND T 16500 500 9 10 1 0 90 0 1 DONE T 17200 1200 9 10 1 0 0 6 1 VCCO T 17200 1500 9 10 1 0 0 6 1 PROGRAM T 17200 1800 9 10 1 0 0 6 1 I/O (INIT) T 17200 2100 9 10 1 0 0 6 1 I/O (D7) T 17200 2400 9 10 1 0 0 6 1 I/O T 17200 2700 9 10 1 0 0 6 1 I/O T 17200 3000 9 10 1 0 0 6 1 I/O, VREF T 17200 3300 9 10 1 0 0 6 1 I/O T 17200 3600 9 10 1 0 0 6 1 I/O T 17200 3900 9 10 1 0 0 6 1 I/O T 17200 4200 9 10 1 0 0 6 1 I/O (D6) T 17200 4500 9 10 1 0 0 6 1 GND T 17200 4800 9 10 1 0 0 6 1 VCCO T 17200 5100 9 10 1 0 0 6 1 VCCINT T 17200 5400 9 10 1 0 0 6 1 I/O (D5) T 17200 5700 9 10 1 0 0 6 1 I/O T 17200 6000 9 10 1 0 0 6 1 I/O T 17200 6300 9 10 1 0 0 6 1 I/O T 17200 6600 9 10 1 0 0 6 1 I/O T 17200 6900 9 10 1 0 0 6 1 GND T 17200 7200 9 10 1 0 0 6 1 I/O, VREF T 17200 7500 9 10 1 0 0 6 1 I/O (D4) T 17200 7800 9 10 1 0 0 6 1 I/O T 17200 8100 9 10 1 0 0 6 1 VCCINT T 17200 8400 9 10 1 0 0 6 1 I/O, TRDY T 17200 8700 9 10 1 0 0 6 1 VCCO T 17200 9000 9 10 1 0 0 6 1 GND T 17200 9300 9 10 1 0 0 6 1 I/O, IRDY T 17200 9600 9 10 1 0 0 6 1 I/O T 17200 9900 9 10 1 0 0 6 1 I/O T 17200 10200 9 10 1 0 0 6 1 I/O (D3) T 17200 10500 9 10 1 0 0 6 1 I/O, VREF T 17200 10800 9 10 1 0 0 6 1 GND T 17200 11100 9 10 1 0 0 6 1 I/O T 17200 11400 9 10 1 0 0 6 1 I/O T 17200 11700 9 10 1 0 0 6 1 I/O T 17200 12000 9 10 1 0 0 6 1 I/O T 17200 12300 9 10 1 0 0 6 1 I/O (D2) T 17200 12600 9 10 1 0 0 6 1 VCCINT T 17200 12900 9 10 1 0 0 6 1 VCCO T 17200 13200 9 10 1 0 0 6 1 GND T 17200 13500 9 10 1 0 0 6 1 I/O (D1) T 17200 13800 9 10 1 0 0 6 1 I/O T 17200 14100 9 10 1 0 0 6 1 I/O T 17200 14400 9 10 1 0 0 6 1 I/O T 17200 14700 9 10 1 0 0 6 1 I/O, VREF T 17200 15000 9 10 1 0 0 6 1 I/O T 17200 15300 9 10 1 0 0 6 1 I/O T 17200 15600 9 10 1 0 0 6 1 I/O (DIN, D0) T 17200 15900 9 10 1 0 0 6 1 I/O (DOUT, BUSY) T 17200 16200 9 10 1 0 0 6 1 CCLK T 17200 16500 9 10 1 0 0 6 1 VCCO T 16500 17200 9 10 1 0 90 6 1 TDO T 16200 17200 9 10 1 0 90 6 1 GND T 15900 17200 9 10 1 0 90 6 1 TDI T 15600 17200 9 10 1 0 90 6 1 I/O (CS) T 15300 17200 9 10 1 0 90 6 1 I/O (WRITE) T 15000 17200 9 10 1 0 90 6 1 I/O T 14700 17200 9 10 1 0 90 6 1 I/O T 14400 17200 9 10 1 0 90 6 1 I/O, VREF T 14100 17200 9 10 1 0 90 6 1 I/O T 13800 17200 9 10 1 0 90 6 1 I/O T 13500 17200 9 10 1 0 90 6 1 I/O T 13200 17200 9 10 1 0 90 6 1 I/O T 12900 17200 9 10 1 0 90 6 1 GND T 12600 17200 9 10 1 0 90 6 1 VCCO T 12300 17200 9 10 1 0 90 6 1 VCCINT T 12000 17200 9 10 1 0 90 6 1 I/O T 11700 17200 9 10 1 0 90 6 1 I/O T 11400 17200 9 10 1 0 90 6 1 I/O T 11100 17200 9 10 1 0 90 6 1 I/O T 10800 17200 9 10 1 0 90 6 1 I/O T 10500 17200 9 10 1 0 90 6 1 GND T 10200 17200 9 10 1 0 90 6 1 I/O, VREF T 9900 17200 9 10 1 0 90 6 1 I/O T 9600 17200 9 10 1 0 90 6 1 I/O T 9300 17200 9 10 1 0 90 6 1 I/O T 9000 17200 9 10 1 0 90 6 1 I, GCK2 T 8100 17200 9 10 1 0 90 6 1 I, GCK3 T 8700 17200 9 10 1 0 90 6 1 GND T 8400 17200 9 10 1 0 90 6 1 VCCO T 7800 17200 9 10 1 0 90 6 1 VCCINT T 7500 17200 9 10 1 0 90 6 1 I/O T 7200 17200 9 10 1 0 90 6 1 I/O T 6900 17200 9 10 1 0 90 6 1 I/O, VREF T 6600 17200 9 10 1 0 90 6 1 GND T 6300 17200 9 10 1 0 90 6 1 I/O T 6000 17200 9 10 1 0 90 6 1 I/O T 5700 17200 9 10 1 0 90 6 1 I/O T 5400 17200 9 10 1 0 90 6 1 I/O T 5100 17200 9 10 1 0 90 6 1 I/O T 4800 17200 9 10 1 0 90 6 1 VCCINT T 4500 17200 9 10 1 0 90 6 1 VCCO T 4200 17200 9 10 1 0 90 6 1 GND T 3900 17200 9 10 1 0 90 6 1 I/O T 3600 17200 9 10 1 0 90 6 1 I/O T 3300 17200 9 10 1 0 90 6 1 I/O T 3000 17200 9 10 1 0 90 6 1 I/O T 2700 17200 9 10 1 0 90 6 1 I/O, VREF T 2400 17200 9 10 1 0 90 6 1 I/O T 2100 17200 9 10 1 0 90 6 1 I/O T 1800 17200 9 10 1 0 90 6 1 I/O T 1500 17200 9 10 1 0 90 6 1 TCK T 1200 17200 9 10 1 0 90 6 1 VCCO L 1100 9100 2600 9100 3 0 0 0 -1 -1 L 900 16800 2600 15100 3 0 0 0 -1 -1 L 1100 1100 2600 2600 3 0 0 0 -1 -1 L 8600 1100 8600 2600 3 0 0 0 -1 -1 L 16600 1100 15100 2600 3 0 0 0 -1 -1 L 16600 8600 15100 8600 3 0 0 0 -1 -1 L 16600 16600 15100 15100 3 0 0 0 -1 -1 L 8400 16600 8400 15100 3 0 0 0 -1 -1 T 1600 12800 9 30 1 0 0 0 1 BANK7 T 1600 5200 9 30 1 0 0 0 1 BANK6 T 4100 1600 9 30 1 0 0 0 1 BANK5 T 11600 1600 9 30 1 0 0 0 1 BANK4 T 14100 5100 9 30 1 0 0 0 1 BANK3 T 14100 12800 9 30 1 0 0 0 1 BANK2 T 11600 15700 9 30 1 0 0 0 1 BANK1 T 3600 15700 9 30 1 0 0 0 1 BANK0 geda-gaf-1.8.2/symbols/xilinx/XC2S100-5PQ208I.sym0000664000175000017500000007456012204104273015552 00000000000000v 20031231 1 P 100 12600 400 12600 1 0 0 { T 100 12650 5 10 1 1 0 0 1 pinnumber=14 T 100 12650 5 10 0 0 0 0 1 pinseq=14 } P 100 12300 400 12300 1 0 0 { T 100 12350 5 10 1 1 0 0 1 pinnumber=15 T 100 12350 5 10 0 0 0 0 1 pinseq=15 } P 100 12000 400 12000 1 0 0 { T 100 12050 5 10 1 1 0 0 1 pinnumber=16 T 100 12050 5 10 0 0 0 0 1 pinseq=16 } P 100 11700 400 11700 1 0 0 { T 100 11750 5 10 1 1 0 0 1 pinnumber=17 T 100 11750 5 10 0 0 0 0 1 pinseq=17 } P 100 11400 400 11400 1 0 0 { T 100 11450 5 10 1 1 0 0 1 pinnumber=18 T 100 11450 5 10 0 0 0 0 1 pinseq=18 } P 100 11100 400 11100 1 0 0 { T 100 11150 5 10 1 1 0 0 1 pinnumber=19 T 100 11150 5 10 0 0 0 0 1 pinseq=19 } P 100 10800 400 10800 1 0 0 { T 100 10850 5 10 1 1 0 0 1 pinnumber=20 T 100 10850 5 10 0 0 0 0 1 pinseq=20 } P 100 10500 400 10500 1 0 0 { T 100 10550 5 10 1 1 0 0 1 pinnumber=21 T 100 10550 5 10 0 0 0 0 1 pinseq=21 } P 100 10200 400 10200 1 0 0 { T 100 10250 5 10 1 1 0 0 1 pinnumber=22 T 100 10250 5 10 0 0 0 0 1 pinseq=22 } P 100 9900 400 9900 1 0 0 { T 100 9950 5 10 1 1 0 0 1 pinnumber=23 T 100 9950 5 10 0 0 0 0 1 pinseq=23 } P 100 9600 400 9600 1 0 0 { T 100 9650 5 10 1 1 0 0 1 pinnumber=24 T 100 9650 5 10 0 0 0 0 1 pinseq=24 } P 100 9300 400 9300 1 0 0 { T 100 9350 5 10 1 1 0 0 1 pinnumber=25 T 100 9350 5 10 0 0 0 0 1 pinseq=25 } P 100 9000 400 9000 1 0 0 { T 100 9050 5 10 1 1 0 0 1 pinnumber=26 T 100 9050 5 10 0 0 0 0 1 pinseq=26 } P 100 16500 400 16500 1 0 0 { T 100 16550 5 10 1 1 0 0 1 pinnumber=1 T 100 16550 5 10 0 0 0 0 1 pinseq=1 } P 100 16200 400 16200 1 0 0 { T 100 16250 5 10 1 1 0 0 1 pinnumber=2 T 100 16250 5 10 0 0 0 0 1 pinseq=2 } P 100 15900 400 15900 1 0 0 { T 100 15950 5 10 1 1 0 0 1 pinnumber=3 T 100 15950 5 10 0 0 0 0 1 pinseq=3 } P 100 15600 400 15600 1 0 0 { T 100 15650 5 10 1 1 0 0 1 pinnumber=4 T 100 15650 5 10 0 0 0 0 1 pinseq=4 } P 100 15300 400 15300 1 0 0 { T 100 15350 5 10 1 1 0 0 1 pinnumber=5 T 100 15350 5 10 0 0 0 0 1 pinseq=5 } P 100 15000 400 15000 1 0 0 { T 100 15050 5 10 1 1 0 0 1 pinnumber=6 T 100 15050 5 10 0 0 0 0 1 pinseq=6 } P 100 14700 400 14700 1 0 0 { T 100 14750 5 10 1 1 0 0 1 pinnumber=7 T 100 14750 5 10 0 0 0 0 1 pinseq=7 } P 100 14400 400 14400 1 0 0 { T 100 14450 5 10 1 1 0 0 1 pinnumber=8 T 100 14450 5 10 0 0 0 0 1 pinseq=8 } P 100 14100 400 14100 1 0 0 { T 100 14150 5 10 1 1 0 0 1 pinnumber=9 T 100 14150 5 10 0 0 0 0 1 pinseq=9 } P 100 13800 400 13800 1 0 0 { T 100 13850 5 10 1 1 0 0 1 pinnumber=10 T 100 13850 5 10 0 0 0 0 1 pinseq=10 } P 100 13500 400 13500 1 0 0 { T 100 13550 5 10 1 1 0 0 1 pinnumber=11 T 100 13550 5 10 0 0 0 0 1 pinseq=11 } P 100 13200 400 13200 1 0 0 { T 100 13250 5 10 1 1 0 0 1 pinnumber=12 T 100 13250 5 10 0 0 0 0 1 pinseq=12 } P 100 12900 400 12900 1 0 0 { T 100 12950 5 10 1 1 0 0 1 pinnumber=13 T 100 12950 5 10 0 0 0 0 1 pinseq=13 } P 100 8700 400 8700 1 0 0 { T 100 8750 5 10 1 1 0 0 1 pinnumber=27 T 100 8750 5 10 0 0 0 0 1 pinseq=27 } P 100 8400 400 8400 1 0 0 { T 100 8450 5 10 1 1 0 0 1 pinnumber=28 T 100 8450 5 10 0 0 0 0 1 pinseq=28 } P 100 8100 400 8100 1 0 0 { T 100 8150 5 10 1 1 0 0 1 pinnumber=29 T 100 8150 5 10 0 0 0 0 1 pinseq=29 } P 100 7800 400 7800 1 0 0 { T 100 7850 5 10 1 1 0 0 1 pinnumber=30 T 100 7850 5 10 0 0 0 0 1 pinseq=30 } P 100 7500 400 7500 1 0 0 { T 100 7550 5 10 1 1 0 0 1 pinnumber=31 T 100 7550 5 10 0 0 0 0 1 pinseq=31 } P 100 7200 400 7200 1 0 0 { T 100 7250 5 10 1 1 0 0 1 pinnumber=32 T 100 7250 5 10 0 0 0 0 1 pinseq=32 } P 100 6900 400 6900 1 0 0 { T 100 6950 5 10 1 1 0 0 1 pinnumber=33 T 100 6950 5 10 0 0 0 0 1 pinseq=33 } P 100 6600 400 6600 1 0 0 { T 100 6650 5 10 1 1 0 0 1 pinnumber=34 T 100 6650 5 10 0 0 0 0 1 pinseq=34 } P 100 6300 400 6300 1 0 0 { T 100 6350 5 10 1 1 0 0 1 pinnumber=35 T 100 6350 5 10 0 0 0 0 1 pinseq=35 } P 100 6000 400 6000 1 0 0 { T 100 6050 5 10 1 1 0 0 1 pinnumber=36 T 100 6050 5 10 0 0 0 0 1 pinseq=36 } P 100 5700 400 5700 1 0 0 { T 100 5750 5 10 1 1 0 0 1 pinnumber=37 T 100 5750 5 10 0 0 0 0 1 pinseq=37 } P 100 5400 400 5400 1 0 0 { T 100 5450 5 10 1 1 0 0 1 pinnumber=38 T 100 5450 5 10 0 0 0 0 1 pinseq=38 } P 100 5100 400 5100 1 0 0 { T 100 5150 5 10 1 1 0 0 1 pinnumber=39 T 100 5150 5 10 0 0 0 0 1 pinseq=39 } P 100 4800 400 4800 1 0 0 { T 100 4850 5 10 1 1 0 0 1 pinnumber=40 T 100 4850 5 10 0 0 0 0 1 pinseq=40 } P 100 4500 400 4500 1 0 0 { T 100 4550 5 10 1 1 0 0 1 pinnumber=41 T 100 4550 5 10 0 0 0 0 1 pinseq=41 } P 100 4200 400 4200 1 0 0 { T 100 4250 5 10 1 1 0 0 1 pinnumber=42 T 100 4250 5 10 0 0 0 0 1 pinseq=42 } P 100 3900 400 3900 1 0 0 { T 100 3950 5 10 1 1 0 0 1 pinnumber=43 T 100 3950 5 10 0 0 0 0 1 pinseq=43 } P 100 3600 400 3600 1 0 0 { T 100 3650 5 10 1 1 0 0 1 pinnumber=44 T 100 3650 5 10 0 0 0 0 1 pinseq=44 } P 100 3300 400 3300 1 0 0 { T 100 3350 5 10 1 1 0 0 1 pinnumber=45 T 100 3350 5 10 0 0 0 0 1 pinseq=45 } P 100 3000 400 3000 1 0 0 { T 100 3050 5 10 1 1 0 0 1 pinnumber=46 T 100 3050 5 10 0 0 0 0 1 pinseq=46 } P 100 2700 400 2700 1 0 0 { T 100 2750 5 10 1 1 0 0 1 pinnumber=47 T 100 2750 5 10 0 0 0 0 1 pinseq=47 } P 100 2400 400 2400 1 0 0 { T 100 2450 5 10 1 1 0 0 1 pinnumber=48 T 100 2450 5 10 0 0 0 0 1 pinseq=48 } P 100 2100 400 2100 1 0 0 { T 100 2150 5 10 1 1 0 0 1 pinnumber=49 T 100 2150 5 10 0 0 0 0 1 pinseq=49 } P 100 1800 400 1800 1 0 0 { T 100 1850 5 10 1 1 0 0 1 pinnumber=50 T 100 1850 5 10 0 0 0 0 1 pinseq=50 } P 100 1500 400 1500 1 0 0 { T 100 1550 5 10 1 1 0 0 1 pinnumber=51 T 100 1550 5 10 0 0 0 0 1 pinseq=51 } P 100 1200 400 1200 1 0 0 { T 100 1250 5 10 1 1 0 0 1 pinnumber=52 T 100 1250 5 10 0 0 0 0 1 pinseq=52 } P 1200 17300 1200 17600 1 0 1 { T 1150 17350 5 10 1 1 90 0 1 pinnumber=208 T 1150 17350 5 10 0 0 90 0 1 pinseq=208 } P 1500 17300 1500 17600 1 0 1 { T 1450 17350 5 10 1 1 90 0 1 pinnumber=207 T 1450 17350 5 10 0 0 90 0 1 pinseq=207 } P 1800 17300 1800 17600 1 0 1 { T 1750 17350 5 10 1 1 90 0 1 pinnumber=206 T 1750 17350 5 10 0 0 90 0 1 pinseq=206 } P 2100 17300 2100 17600 1 0 1 { T 2050 17350 5 10 1 1 90 0 1 pinnumber=205 T 2050 17350 5 10 0 0 90 0 1 pinseq=205 } P 2400 17300 2400 17600 1 0 1 { T 2350 17350 5 10 1 1 90 0 1 pinnumber=204 T 2350 17350 5 10 0 0 90 0 1 pinseq=204 } P 2700 17300 2700 17600 1 0 1 { T 2650 17350 5 10 1 1 90 0 1 pinnumber=203 T 2650 17350 5 10 0 0 90 0 1 pinseq=203 } P 3000 17300 3000 17600 1 0 1 { T 2950 17350 5 10 1 1 90 0 1 pinnumber=202 T 2950 17350 5 10 0 0 90 0 1 pinseq=202 } P 3300 17300 3300 17600 1 0 1 { T 3250 17350 5 10 1 1 90 0 1 pinnumber=201 T 3250 17350 5 10 0 0 90 0 1 pinseq=201 } P 3600 17300 3600 17600 1 0 1 { T 3550 17350 5 10 1 1 90 0 1 pinnumber=200 T 3550 17350 5 10 0 0 90 0 1 pinseq=200 } P 3900 17300 3900 17600 1 0 1 { T 3850 17350 5 10 1 1 90 0 1 pinnumber=199 T 3850 17350 5 10 0 0 90 0 1 pinseq=199 } P 4200 17300 4200 17600 1 0 1 { T 4150 17350 5 10 1 1 90 0 1 pinnumber=198 T 4150 17350 5 10 0 0 90 0 1 pinseq=198 } P 4500 17300 4500 17600 1 0 1 { T 4450 17350 5 10 1 1 90 0 1 pinnumber=197 T 4450 17350 5 10 0 0 90 0 1 pinseq=197 } P 4800 17300 4800 17600 1 0 1 { T 4750 17350 5 10 1 1 90 0 1 pinnumber=196 T 4750 17350 5 10 0 0 90 0 1 pinseq=196 } P 5100 17300 5100 17600 1 0 1 { T 5050 17350 5 10 1 1 90 0 1 pinnumber=195 T 5050 17350 5 10 0 0 90 0 1 pinseq=195 } P 5400 17300 5400 17600 1 0 1 { T 5350 17350 5 10 1 1 90 0 1 pinnumber=194 T 5350 17350 5 10 0 0 90 0 1 pinseq=194 } P 5700 17300 5700 17600 1 0 1 { T 5650 17350 5 10 1 1 90 0 1 pinnumber=193 T 5650 17350 5 10 0 0 90 0 1 pinseq=193 } P 6000 17300 6000 17600 1 0 1 { T 5950 17350 5 10 1 1 90 0 1 pinnumber=192 T 5950 17350 5 10 0 0 90 0 1 pinseq=192 } P 6300 17300 6300 17600 1 0 1 { T 6250 17350 5 10 1 1 90 0 1 pinnumber=191 T 6250 17350 5 10 0 0 90 0 1 pinseq=191 } P 6600 17300 6600 17600 1 0 1 { T 6550 17350 5 10 1 1 90 0 1 pinnumber=190 T 6550 17350 5 10 0 0 90 0 1 pinseq=190 } P 6900 17300 6900 17600 1 0 1 { T 6850 17350 5 10 1 1 90 0 1 pinnumber=189 T 6850 17350 5 10 0 0 90 0 1 pinseq=189 } P 7200 17300 7200 17600 1 0 1 { T 7150 17350 5 10 1 1 90 0 1 pinnumber=188 T 7150 17350 5 10 0 0 90 0 1 pinseq=188 } P 7500 17300 7500 17600 1 0 1 { T 7450 17350 5 10 1 1 90 0 1 pinnumber=187 T 7450 17350 5 10 0 0 90 0 1 pinseq=187 } P 7800 17300 7800 17600 1 0 1 { T 7750 17350 5 10 1 1 90 0 1 pinnumber=186 T 7750 17350 5 10 0 0 90 0 1 pinseq=186 } P 8100 17300 8100 17600 1 0 1 { T 8050 17350 5 10 1 1 90 0 1 pinnumber=185 T 8050 17350 5 10 0 0 90 0 1 pinseq=185 } P 8400 17300 8400 17600 1 0 1 { T 8350 17350 5 10 1 1 90 0 1 pinnumber=184 T 8350 17350 5 10 0 0 90 0 1 pinseq=184 } P 8700 17300 8700 17600 1 0 1 { T 8650 17350 5 10 1 1 90 0 1 pinnumber=183 T 8650 17350 5 10 0 0 90 0 1 pinseq=183 } P 9000 17300 9000 17600 1 0 1 { T 8950 17350 5 10 1 1 90 0 1 pinnumber=182 T 8950 17350 5 10 0 0 90 0 1 pinseq=182 } P 9300 17300 9300 17600 1 0 1 { T 9250 17350 5 10 1 1 90 0 1 pinnumber=181 T 9250 17350 5 10 0 0 90 0 1 pinseq=181 } P 9600 17300 9600 17600 1 0 1 { T 9550 17350 5 10 1 1 90 0 1 pinnumber=180 T 9550 17350 5 10 0 0 90 0 1 pinseq=180 } P 9900 17300 9900 17600 1 0 1 { T 9850 17350 5 10 1 1 90 0 1 pinnumber=179 T 9850 17350 5 10 0 0 90 0 1 pinseq=179 } P 10200 17300 10200 17600 1 0 1 { T 10150 17350 5 10 1 1 90 0 1 pinnumber=178 T 10150 17350 5 10 0 0 90 0 1 pinseq=178 } P 10500 17300 10500 17600 1 0 1 { T 10450 17350 5 10 1 1 90 0 1 pinnumber=177 T 10450 17350 5 10 0 0 90 0 1 pinseq=177 } P 10800 17300 10800 17600 1 0 1 { T 10750 17350 5 10 1 1 90 0 1 pinnumber=176 T 10750 17350 5 10 0 0 90 0 1 pinseq=176 } P 11100 17300 11100 17600 1 0 1 { T 11050 17350 5 10 1 1 90 0 1 pinnumber=175 T 11050 17350 5 10 0 0 90 0 1 pinseq=175 } P 11400 17300 11400 17600 1 0 1 { T 11350 17350 5 10 1 1 90 0 1 pinnumber=174 T 11350 17350 5 10 0 0 90 0 1 pinseq=174 } P 11700 17300 11700 17600 1 0 1 { T 11650 17350 5 10 1 1 90 0 1 pinnumber=173 T 11650 17350 5 10 0 0 90 0 1 pinseq=173 } P 12000 17300 12000 17600 1 0 1 { T 11950 17350 5 10 1 1 90 0 1 pinnumber=172 T 11950 17350 5 10 0 0 90 0 1 pinseq=172 } P 12300 17300 12300 17600 1 0 1 { T 12250 17350 5 10 1 1 90 0 1 pinnumber=171 T 12250 17350 5 10 0 0 90 0 1 pinseq=171 } P 12600 17300 12600 17600 1 0 1 { T 12550 17350 5 10 1 1 90 0 1 pinnumber=170 T 12550 17350 5 10 0 0 90 0 1 pinseq=170 } P 12900 17300 12900 17600 1 0 1 { T 12850 17350 5 10 1 1 90 0 1 pinnumber=169 T 12850 17350 5 10 0 0 90 0 1 pinseq=169 } P 13200 17300 13200 17600 1 0 1 { T 13150 17350 5 10 1 1 90 0 1 pinnumber=168 T 13150 17350 5 10 0 0 90 0 1 pinseq=168 } P 13500 17300 13500 17600 1 0 1 { T 13450 17350 5 10 1 1 90 0 1 pinnumber=167 T 13450 17350 5 10 0 0 90 0 1 pinseq=167 } P 13800 17300 13800 17600 1 0 1 { T 13750 17350 5 10 1 1 90 0 1 pinnumber=166 T 13750 17350 5 10 0 0 90 0 1 pinseq=166 } P 14100 17300 14100 17600 1 0 1 { T 14050 17350 5 10 1 1 90 0 1 pinnumber=165 T 14050 17350 5 10 0 0 90 0 1 pinseq=165 } P 14400 17300 14400 17600 1 0 1 { T 14350 17350 5 10 1 1 90 0 1 pinnumber=164 T 14350 17350 5 10 0 0 90 0 1 pinseq=164 } P 14700 17300 14700 17600 1 0 1 { T 14650 17350 5 10 1 1 90 0 1 pinnumber=163 T 14650 17350 5 10 0 0 90 0 1 pinseq=163 } P 15000 17300 15000 17600 1 0 1 { T 14950 17350 5 10 1 1 90 0 1 pinnumber=162 T 14950 17350 5 10 0 0 90 0 1 pinseq=162 } P 15300 17300 15300 17600 1 0 1 { T 15250 17350 5 10 1 1 90 0 1 pinnumber=161 T 15250 17350 5 10 0 0 90 0 1 pinseq=161 } P 15600 17300 15600 17600 1 0 1 { T 15550 17350 5 10 1 1 90 0 1 pinnumber=160 T 15550 17350 5 10 0 0 90 0 1 pinseq=160 } P 15900 17300 15900 17600 1 0 1 { T 15850 17350 5 10 1 1 90 0 1 pinnumber=159 T 15850 17350 5 10 0 0 90 0 1 pinseq=159 } P 16200 17300 16200 17600 1 0 1 { T 16150 17350 5 10 1 1 90 0 1 pinnumber=158 T 16150 17350 5 10 0 0 90 0 1 pinseq=158 } P 16500 17300 16500 17600 1 0 1 { T 16450 17350 5 10 1 1 90 0 1 pinnumber=157 T 16450 17350 5 10 0 0 90 0 1 pinseq=157 } P 1200 100 1200 400 1 0 0 { T 1150 100 5 10 1 1 90 0 1 pinnumber=53 T 1150 100 5 10 0 0 90 0 1 pinseq=53 } P 1500 100 1500 400 1 0 0 { T 1450 100 5 10 1 1 90 0 1 pinnumber=54 T 1450 100 5 10 0 0 90 0 1 pinseq=54 } P 1800 100 1800 400 1 0 0 { T 1750 100 5 10 1 1 90 0 1 pinnumber=55 T 1750 100 5 10 0 0 90 0 1 pinseq=55 } P 2100 100 2100 400 1 0 0 { T 2050 100 5 10 1 1 90 0 1 pinnumber=56 T 2050 100 5 10 0 0 90 0 1 pinseq=56 } P 2400 100 2400 400 1 0 0 { T 2350 100 5 10 1 1 90 0 1 pinnumber=57 T 2350 100 5 10 0 0 90 0 1 pinseq=57 } P 2700 100 2700 400 1 0 0 { T 2650 100 5 10 1 1 90 0 1 pinnumber=58 T 2650 100 5 10 0 0 90 0 1 pinseq=58 } P 3000 100 3000 400 1 0 0 { T 2950 100 5 10 1 1 90 0 1 pinnumber=59 T 2950 100 5 10 0 0 90 0 1 pinseq=59 } P 3300 100 3300 400 1 0 0 { T 3250 100 5 10 1 1 90 0 1 pinnumber=60 T 3250 100 5 10 0 0 90 0 1 pinseq=60 } P 3600 100 3600 400 1 0 0 { T 3550 100 5 10 1 1 90 0 1 pinnumber=61 T 3550 100 5 10 0 0 90 0 1 pinseq=61 } P 3900 100 3900 400 1 0 0 { T 3850 100 5 10 1 1 90 0 1 pinnumber=62 T 3850 100 5 10 0 0 90 0 1 pinseq=62 } P 4200 100 4200 400 1 0 0 { T 4150 100 5 10 1 1 90 0 1 pinnumber=63 T 4150 100 5 10 0 0 90 0 1 pinseq=63 } P 4500 100 4500 400 1 0 0 { T 4450 100 5 10 1 1 90 0 1 pinnumber=64 T 4450 100 5 10 0 0 90 0 1 pinseq=64 } P 4800 100 4800 400 1 0 0 { T 4750 100 5 10 1 1 90 0 1 pinnumber=65 T 4750 100 5 10 0 0 90 0 1 pinseq=65 } P 5100 100 5100 400 1 0 0 { T 5050 100 5 10 1 1 90 0 1 pinnumber=66 T 5050 100 5 10 0 0 90 0 1 pinseq=66 } P 5400 100 5400 400 1 0 0 { T 5350 100 5 10 1 1 90 0 1 pinnumber=67 T 5350 100 5 10 0 0 90 0 1 pinseq=67 } P 5700 100 5700 400 1 0 0 { T 5650 100 5 10 1 1 90 0 1 pinnumber=68 T 5650 100 5 10 0 0 90 0 1 pinseq=68 } P 6000 100 6000 400 1 0 0 { T 5950 100 5 10 1 1 90 0 1 pinnumber=69 T 5950 100 5 10 0 0 90 0 1 pinseq=69 } P 6300 100 6300 400 1 0 0 { T 6250 100 5 10 1 1 90 0 1 pinnumber=70 T 6250 100 5 10 0 0 90 0 1 pinseq=70 } P 6600 100 6600 400 1 0 0 { T 6550 100 5 10 1 1 90 0 1 pinnumber=71 T 6550 100 5 10 0 0 90 0 1 pinseq=71 } P 6900 100 6900 400 1 0 0 { T 6850 100 5 10 1 1 90 0 1 pinnumber=72 T 6850 100 5 10 0 0 90 0 1 pinseq=72 } P 7200 100 7200 400 1 0 0 { T 7150 100 5 10 1 1 90 0 1 pinnumber=73 T 7150 100 5 10 0 0 90 0 1 pinseq=73 } P 7500 100 7500 400 1 0 0 { T 7450 100 5 10 1 1 90 0 1 pinnumber=74 T 7450 100 5 10 0 0 90 0 1 pinseq=74 } P 7800 100 7800 400 1 0 0 { T 7750 100 5 10 1 1 90 0 1 pinnumber=75 T 7750 100 5 10 0 0 90 0 1 pinseq=75 } P 8100 100 8100 400 1 0 0 { T 8050 100 5 10 1 1 90 0 1 pinnumber=76 T 8050 100 5 10 0 0 90 0 1 pinseq=76 } P 8400 100 8400 400 1 0 0 { T 8350 100 5 10 1 1 90 0 1 pinnumber=77 T 8350 100 5 10 0 0 90 0 1 pinseq=77 } P 8700 100 8700 400 1 0 0 { T 8650 100 5 10 1 1 90 0 1 pinnumber=78 T 8650 100 5 10 0 0 90 0 1 pinseq=78 } P 9000 100 9000 400 1 0 0 { T 8950 100 5 10 1 1 90 0 1 pinnumber=79 T 8950 100 5 10 0 0 90 0 1 pinseq=79 } P 9300 100 9300 400 1 0 0 { T 9250 100 5 10 1 1 90 0 1 pinnumber=80 T 9250 100 5 10 0 0 90 0 1 pinseq=80 } P 9600 100 9600 400 1 0 0 { T 9550 100 5 10 1 1 90 0 1 pinnumber=81 T 9550 100 5 10 0 0 90 0 1 pinseq=81 } P 9900 100 9900 400 1 0 0 { T 9850 100 5 10 1 1 90 0 1 pinnumber=82 T 9850 100 5 10 0 0 90 0 1 pinseq=82 } P 10200 100 10200 400 1 0 0 { T 10150 100 5 10 1 1 90 0 1 pinnumber=83 T 10150 100 5 10 0 0 90 0 1 pinseq=83 } P 10500 100 10500 400 1 0 0 { T 10450 100 5 10 1 1 90 0 1 pinnumber=84 T 10450 100 5 10 0 0 90 0 1 pinseq=84 } P 10800 100 10800 400 1 0 0 { T 10750 100 5 10 1 1 90 0 1 pinnumber=85 T 10750 100 5 10 0 0 90 0 1 pinseq=85 } P 11100 100 11100 400 1 0 0 { T 11050 100 5 10 1 1 90 0 1 pinnumber=86 T 11050 100 5 10 0 0 90 0 1 pinseq=86 } P 11400 100 11400 400 1 0 0 { T 11350 100 5 10 1 1 90 0 1 pinnumber=87 T 11350 100 5 10 0 0 90 0 1 pinseq=87 } P 11700 100 11700 400 1 0 0 { T 11650 100 5 10 1 1 90 0 1 pinnumber=88 T 11650 100 5 10 0 0 90 0 1 pinseq=88 } P 12000 100 12000 400 1 0 0 { T 11950 100 5 10 1 1 90 0 1 pinnumber=89 T 11950 100 5 10 0 0 90 0 1 pinseq=89 } P 12300 100 12300 400 1 0 0 { T 12250 100 5 10 1 1 90 0 1 pinnumber=90 T 12250 100 5 10 0 0 90 0 1 pinseq=90 } P 12600 100 12600 400 1 0 0 { T 12550 100 5 10 1 1 90 0 1 pinnumber=91 T 12550 100 5 10 0 0 90 0 1 pinseq=91 } P 12900 100 12900 400 1 0 0 { T 12850 100 5 10 1 1 90 0 1 pinnumber=92 T 12850 100 5 10 0 0 90 0 1 pinseq=92 } P 13200 100 13200 400 1 0 0 { T 13150 100 5 10 1 1 90 0 1 pinnumber=93 T 13150 100 5 10 0 0 90 0 1 pinseq=93 } P 13500 100 13500 400 1 0 0 { T 13450 100 5 10 1 1 90 0 1 pinnumber=94 T 13450 100 5 10 0 0 90 0 1 pinseq=94 } P 13800 100 13800 400 1 0 0 { T 13750 100 5 10 1 1 90 0 1 pinnumber=95 T 13750 100 5 10 0 0 90 0 1 pinseq=95 } P 14100 100 14100 400 1 0 0 { T 14050 100 5 10 1 1 90 0 1 pinnumber=96 T 14050 100 5 10 0 0 90 0 1 pinseq=96 } P 14400 100 14400 400 1 0 0 { T 14350 100 5 10 1 1 90 0 1 pinnumber=97 T 14350 100 5 10 0 0 90 0 1 pinseq=97 } P 14700 100 14700 400 1 0 0 { T 14650 100 5 10 1 1 90 0 1 pinnumber=98 T 14650 100 5 10 0 0 90 0 1 pinseq=98 } P 15000 100 15000 400 1 0 0 { T 14950 100 5 10 1 1 90 0 1 pinnumber=99 T 14950 100 5 10 0 0 90 0 1 pinseq=99 } P 15300 100 15300 400 1 0 0 { T 15250 50 5 10 1 1 90 0 1 pinnumber=100 T 15250 50 5 10 0 0 90 0 1 pinseq=100 } P 15600 100 15600 400 1 0 0 { T 15550 50 5 10 1 1 90 0 1 pinnumber=101 T 15550 50 5 10 0 0 90 0 1 pinseq=101 } P 15900 100 15900 400 1 0 0 { T 15850 50 5 10 1 1 90 0 1 pinnumber=102 T 15850 50 5 10 0 0 90 0 1 pinseq=102 } P 16200 100 16200 400 1 0 0 { T 16150 50 5 10 1 1 90 0 1 pinnumber=103 T 16150 50 5 10 0 0 90 0 1 pinseq=103 } P 16500 100 16500 400 1 0 0 { T 16450 50 5 10 1 1 90 0 1 pinnumber=104 T 16450 50 5 10 0 0 90 0 1 pinseq=104 } P 17300 12600 17600 12600 1 0 1 { T 17350 12650 5 10 1 1 0 0 1 pinnumber=143 T 17350 12650 5 10 0 0 0 0 1 pinseq=143 } P 17300 12300 17600 12300 1 0 1 { T 17350 12350 5 10 1 1 0 0 1 pinnumber=142 T 17350 12350 5 10 0 0 0 0 1 pinseq=142 } P 17300 12000 17600 12000 1 0 1 { T 17350 12050 5 10 1 1 0 0 1 pinnumber=141 T 17350 12050 5 10 0 0 0 0 1 pinseq=141 } P 17300 11700 17600 11700 1 0 1 { T 17350 11750 5 10 1 1 0 0 1 pinnumber=140 T 17350 11750 5 10 0 0 0 0 1 pinseq=140 } P 17300 11400 17600 11400 1 0 1 { T 17350 11500 5 10 1 1 0 0 1 pinnumber=139 T 17350 11500 5 10 0 0 0 0 1 pinseq=139 } P 17300 11100 17600 11100 1 0 1 { T 17350 11150 5 10 1 1 0 0 1 pinnumber=138 T 17350 11150 5 10 0 0 0 0 1 pinseq=138 } P 17300 10800 17600 10800 1 0 1 { T 17350 10850 5 10 1 1 0 0 1 pinnumber=137 T 17350 10850 5 10 0 0 0 0 1 pinseq=137 } P 17300 10500 17600 10500 1 0 1 { T 17350 10550 5 10 1 1 0 0 1 pinnumber=136 T 17350 10550 5 10 0 0 0 0 1 pinseq=136 } P 17300 10200 17600 10200 1 0 1 { T 17350 10250 5 10 1 1 0 0 1 pinnumber=135 T 17350 10250 5 10 0 0 0 0 1 pinseq=135 } P 17300 9900 17600 9900 1 0 1 { T 17350 9950 5 10 1 1 0 0 1 pinnumber=134 T 17350 9950 5 10 0 0 0 0 1 pinseq=134 } P 17300 9600 17600 9600 1 0 1 { T 17350 9650 5 10 1 1 0 0 1 pinnumber=133 T 17350 9650 5 10 0 0 0 0 1 pinseq=133 } P 17300 9300 17600 9300 1 0 1 { T 17350 9350 5 10 1 1 0 0 1 pinnumber=132 T 17350 9350 5 10 0 0 0 0 1 pinseq=132 } P 17300 9000 17600 9000 1 0 1 { T 17350 9050 5 10 1 1 0 0 1 pinnumber=131 T 17350 9050 5 10 0 0 0 0 1 pinseq=131 } P 17300 16500 17600 16500 1 0 1 { T 17350 16550 5 10 1 1 0 0 1 pinnumber=156 T 17350 16550 5 10 0 0 0 0 1 pinseq=156 } P 17300 16200 17600 16200 1 0 1 { T 17350 16250 5 10 1 1 0 0 1 pinnumber=155 T 17350 16250 5 10 0 0 0 0 1 pinseq=155 } P 17300 15900 17600 15900 1 0 1 { T 17350 15950 5 10 1 1 0 0 1 pinnumber=154 T 17350 15950 5 10 0 0 0 0 1 pinseq=154 } P 17300 15600 17600 15600 1 0 1 { T 17350 15650 5 10 1 1 0 0 1 pinnumber=153 T 17350 15650 5 10 0 0 0 0 1 pinseq=153 } P 17300 15300 17600 15300 1 0 1 { T 17350 15350 5 10 1 1 0 0 1 pinnumber=152 T 17350 15350 5 10 0 0 0 0 1 pinseq=152 } P 17300 15000 17600 15000 1 0 1 { T 17350 15050 5 10 1 1 0 0 1 pinnumber=151 T 17350 15050 5 10 0 0 0 0 1 pinseq=151 } P 17300 14700 17600 14700 1 0 1 { T 17350 14750 5 10 1 1 0 0 1 pinnumber=150 T 17350 14750 5 10 0 0 0 0 1 pinseq=150 } P 17300 14400 17600 14400 1 0 1 { T 17350 14450 5 10 1 1 0 0 1 pinnumber=149 T 17350 14450 5 10 0 0 0 0 1 pinseq=149 } P 17300 14100 17600 14100 1 0 1 { T 17350 14150 5 10 1 1 0 0 1 pinnumber=148 T 17350 14150 5 10 0 0 0 0 1 pinseq=148 } P 17300 13800 17600 13800 1 0 1 { T 17350 13850 5 10 1 1 0 0 1 pinnumber=147 T 17350 13850 5 10 0 0 0 0 1 pinseq=147 } P 17300 13500 17600 13500 1 0 1 { T 17350 13550 5 10 1 1 0 0 1 pinnumber=146 T 17350 13550 5 10 0 0 0 0 1 pinseq=146 } P 17300 13200 17600 13200 1 0 1 { T 17350 13250 5 10 1 1 0 0 1 pinnumber=145 T 17350 13250 5 10 0 0 0 0 1 pinseq=145 } P 17300 12900 17600 12900 1 0 1 { T 17350 12950 5 10 1 1 0 0 1 pinnumber=144 T 17350 12950 5 10 0 0 0 0 1 pinseq=144 } P 17300 8700 17600 8700 1 0 1 { T 17350 8750 5 10 1 1 0 0 1 pinnumber=130 T 17350 8750 5 10 0 0 0 0 1 pinseq=130 } P 17300 8400 17600 8400 1 0 1 { T 17350 8450 5 10 1 1 0 0 1 pinnumber=129 T 17350 8450 5 10 0 0 0 0 1 pinseq=129 } P 17300 8100 17600 8100 1 0 1 { T 17350 8150 5 10 1 1 0 0 1 pinnumber=128 T 17350 8150 5 10 0 0 0 0 1 pinseq=128 } P 17300 7800 17600 7800 1 0 1 { T 17350 7850 5 10 1 1 0 0 1 pinnumber=127 T 17350 7850 5 10 0 0 0 0 1 pinseq=127 } P 17300 7500 17600 7500 1 0 1 { T 17350 7550 5 10 1 1 0 0 1 pinnumber=126 T 17350 7550 5 10 0 0 0 0 1 pinseq=126 } P 17300 7200 17600 7200 1 0 1 { T 17350 7250 5 10 1 1 0 0 1 pinnumber=125 T 17350 7250 5 10 0 0 0 0 1 pinseq=125 } P 17300 6900 17600 6900 1 0 1 { T 17350 6950 5 10 1 1 0 0 1 pinnumber=124 T 17350 6950 5 10 0 0 0 0 1 pinseq=124 } P 17300 6600 17600 6600 1 0 1 { T 17350 6650 5 10 1 1 0 0 1 pinnumber=123 T 17350 6650 5 10 0 0 0 0 1 pinseq=123 } P 17300 6300 17600 6300 1 0 1 { T 17350 6350 5 10 1 1 0 0 1 pinnumber=122 T 17350 6350 5 10 0 0 0 0 1 pinseq=122 } P 17300 6000 17600 6000 1 0 1 { T 17350 6050 5 10 1 1 0 0 1 pinnumber=121 T 17350 6050 5 10 0 0 0 0 1 pinseq=121 } P 17300 5700 17600 5700 1 0 1 { T 17350 5750 5 10 1 1 0 0 1 pinnumber=120 T 17350 5750 5 10 0 0 0 0 1 pinseq=120 } P 17300 5400 17600 5400 1 0 1 { T 17350 5450 5 10 1 1 0 0 1 pinnumber=119 T 17350 5450 5 10 0 0 0 0 1 pinseq=119 } P 17300 5100 17600 5100 1 0 1 { T 17350 5150 5 10 1 1 0 0 1 pinnumber=118 T 17350 5150 5 10 0 0 0 0 1 pinseq=118 } P 17300 4800 17600 4800 1 0 1 { T 17350 4850 5 10 1 1 0 0 1 pinnumber=117 T 17350 4850 5 10 0 0 0 0 1 pinseq=117 } P 17300 4500 17600 4500 1 0 1 { T 17350 4550 5 10 1 1 0 0 1 pinnumber=116 T 17350 4550 5 10 0 0 0 0 1 pinseq=116 } P 17300 4200 17600 4200 1 0 1 { T 17350 4250 5 10 1 1 0 0 1 pinnumber=115 T 17350 4250 5 10 0 0 0 0 1 pinseq=115 } P 17300 3900 17600 3900 1 0 1 { T 17350 3950 5 10 1 1 0 0 1 pinnumber=114 T 17350 3950 5 10 0 0 0 0 1 pinseq=114 } P 17300 3600 17600 3600 1 0 1 { T 17350 3650 5 10 1 1 0 0 1 pinnumber=113 T 17350 3650 5 10 0 0 0 0 1 pinseq=113 } P 17300 3300 17600 3300 1 0 1 { T 17350 3350 5 10 1 1 0 0 1 pinnumber=112 T 17350 3350 5 10 0 0 0 0 1 pinseq=112 } P 17300 3000 17600 3000 1 0 1 { T 17350 3050 5 10 1 1 0 0 1 pinnumber=111 T 17350 3050 5 10 0 0 0 0 1 pinseq=111 } P 17300 2700 17600 2700 1 0 1 { T 17350 2750 5 10 1 1 0 0 1 pinnumber=110 T 17350 2750 5 10 0 0 0 0 1 pinseq=110 } P 17300 2400 17600 2400 1 0 1 { T 17350 2450 5 10 1 1 0 0 1 pinnumber=109 T 17350 2450 5 10 0 0 0 0 1 pinseq=109 } P 17300 2100 17600 2100 1 0 1 { T 17350 2150 5 10 1 1 0 0 1 pinnumber=108 T 17350 2150 5 10 0 0 0 0 1 pinseq=108 } P 17300 1800 17600 1800 1 0 1 { T 17350 1850 5 10 1 1 0 0 1 pinnumber=107 T 17350 1850 5 10 0 0 0 0 1 pinseq=107 } P 17300 1500 17600 1500 1 0 1 { T 17350 1550 5 10 1 1 0 0 1 pinnumber=106 T 17350 1550 5 10 0 0 0 0 1 pinseq=106 } P 17300 1200 17600 1200 1 0 1 { T 17350 1250 5 10 1 1 0 0 1 pinnumber=105 T 17350 1250 5 10 0 0 0 0 1 pinseq=105 } B 400 400 16900 16900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 17300 5 10 0 1 0 0 1 device=XC2S100-5PQ208I T 16600 17650 8 10 1 1 0 0 1 refdes=U? T 500 16500 9 10 1 0 0 0 1 GND T 500 13500 9 10 1 0 0 0 1 GND T 500 11100 9 10 1 0 0 0 1 GND T 500 16200 9 10 1 0 0 0 1 TMS T 500 15900 9 10 1 0 0 0 1 I/O T 500 15600 9 10 1 0 0 0 1 I/O T 500 14400 9 10 1 0 0 0 1 I/O T 500 15000 9 10 1 0 0 0 1 I/O, VREF T 500 14100 9 10 1 0 0 0 1 I/O, VREF T 500 13800 9 10 1 0 0 0 1 I/O T 500 13200 9 10 1 0 0 0 1 VCCO T 500 12600 9 10 1 0 0 0 1 I/O T 500 12300 9 10 1 0 0 0 1 I/O T 500 12000 9 10 1 0 0 0 1 I/O T 500 11700 9 10 1 0 0 0 1 I/O T 500 11400 9 10 1 0 0 0 1 I/O T 500 15300 9 10 1 0 0 0 1 I/O T 500 10800 9 10 1 0 0 0 1 I/O, VREF T 500 10500 9 10 1 0 0 0 1 I/O T 500 10200 9 10 1 0 0 0 1 I/O T 500 9900 9 10 1 0 0 0 1 I/O T 500 9600 9 10 1 0 0 0 1 I/O, IRDY T 500 1500 9 10 1 0 0 0 1 GND T 500 4800 9 10 1 0 0 0 1 GND T 500 7200 9 10 1 0 0 0 1 GND T 500 9300 9 10 1 0 0 0 1 GND T 500 9000 9 10 1 0 0 0 1 VCCO T 500 5100 9 10 1 0 0 0 1 VCCO T 500 8400 9 10 1 0 0 0 1 VCCINT T 500 7500 9 10 1 0 0 0 1 I/O, VREF T 500 3300 9 10 1 0 0 0 1 I/O, VREF T 500 8700 9 10 1 0 0 0 1 I/O, TRDY T 500 8100 9 10 1 0 0 0 1 I/O T 500 7800 9 10 1 0 0 0 1 I/O T 500 6900 9 10 1 0 0 0 1 I/O T 500 6600 9 10 1 0 0 0 1 I/O T 500 6300 9 10 1 0 0 0 1 I/O T 500 6000 9 10 1 0 0 0 1 I/O T 500 5700 9 10 1 0 0 0 1 I/O T 500 4500 9 10 1 0 0 0 1 I/O T 500 4200 9 10 1 0 0 0 1 I/O, VREF T 500 3900 9 10 1 0 0 0 1 I/O T 500 3000 9 10 1 0 0 0 1 I/O T 500 2700 9 10 1 0 0 0 1 I/O T 500 2400 9 10 1 0 0 0 1 I/O T 500 2100 9 10 1 0 0 0 1 I/O T 500 1800 9 10 1 0 0 0 1 M1 T 500 1200 9 10 1 0 0 0 1 M0 T 500 3600 9 10 1 0 0 0 1 I/O T 500 14700 9 10 1 0 0 0 1 I/O T 500 12900 9 10 1 0 0 0 1 VCCINT T 500 5400 9 10 1 0 0 0 1 VCCINT T 16600 17450 9 10 1 0 0 0 1 XC2S100-5PQ208I T 1200 500 9 10 1 0 90 0 1 VCCO T 1500 500 9 10 1 0 90 0 1 M2 T 2400 500 9 10 1 0 90 0 1 I/O T 2700 500 9 10 1 0 90 0 1 I/O T 3000 500 9 10 1 0 90 0 1 I/O, VREF T 3300 500 9 10 1 0 90 0 1 I/O T 3600 500 9 10 1 0 90 0 1 I/O T 3900 500 9 10 1 0 90 0 1 I/O, VREF T 4200 500 9 10 1 0 90 0 1 I/O T 4500 500 9 10 1 0 90 0 1 GND T 4800 500 9 10 1 0 90 0 1 VCCO T 5100 500 9 10 1 0 90 0 1 VCCINT T 5400 500 9 10 1 0 90 0 1 I/O T 5700 500 9 10 1 0 90 0 1 I/O T 6000 500 9 10 1 0 90 0 1 I/O T 6300 500 9 10 1 0 90 0 1 I/O T 6600 500 9 10 1 0 90 0 1 I/O T 6900 500 9 10 1 0 90 0 1 GND T 7200 500 9 10 1 0 90 0 1 I/O, VREF T 7500 500 9 10 1 0 90 0 1 I/O T 7800 500 9 10 1 0 90 0 1 I/O T 8100 500 9 10 1 0 90 0 1 VCCINT T 8400 500 9 10 1 0 90 0 1 I, GCK1 T 9300 500 9 10 1 0 90 0 1 I, GCK0 T 8700 500 9 10 1 0 90 0 1 VCCO T 9000 500 9 10 1 0 90 0 1 GND T 9600 500 9 10 1 0 90 0 1 I/O T 9900 500 9 10 1 0 90 0 1 I/O T 10200 500 9 10 1 0 90 0 1 I/O T 10500 500 9 10 1 0 90 0 1 I/O, VREF T 10800 500 9 10 1 0 90 0 1 GND T 11100 500 9 10 1 0 90 0 1 I/O T 11400 500 9 10 1 0 90 0 1 I/O T 11700 500 9 10 1 0 90 0 1 I/O T 12000 500 9 10 1 0 90 0 1 I/O T 12300 500 9 10 1 0 90 0 1 I/O T 12600 500 9 10 1 0 90 0 1 VCCINT T 12900 500 9 10 1 0 90 0 1 VCCO T 13200 500 9 10 1 0 90 0 1 GND T 13500 500 9 10 1 0 90 0 1 I/O T 13800 500 9 10 1 0 90 0 1 I/O, VREF T 14100 500 9 10 1 0 90 0 1 I/O T 14400 500 9 10 1 0 90 0 1 I/O T 14700 500 9 10 1 0 90 0 1 I/O, VREF T 15000 500 9 10 1 0 90 0 1 I/O T 15300 500 9 10 1 0 90 0 1 I/O T 15600 500 9 10 1 0 90 0 1 I/O T 15900 500 9 10 1 0 90 0 1 I/O T 16200 500 9 10 1 0 90 0 1 GND T 16500 500 9 10 1 0 90 0 1 DONE T 17200 1200 9 10 1 0 0 6 1 VCCO T 17200 1500 9 10 1 0 0 6 1 PROGRAM T 17200 1800 9 10 1 0 0 6 1 I/O (INIT) T 17200 2100 9 10 1 0 0 6 1 I/O (D7) T 17200 2400 9 10 1 0 0 6 1 I/O T 17200 2700 9 10 1 0 0 6 1 I/O T 17200 3000 9 10 1 0 0 6 1 I/O, VREF T 17200 3300 9 10 1 0 0 6 1 I/O T 17200 3600 9 10 1 0 0 6 1 I/O T 17200 3900 9 10 1 0 0 6 1 I/O, VREF T 17200 4200 9 10 1 0 0 6 1 I/O (D6) T 17200 4500 9 10 1 0 0 6 1 GND T 17200 4800 9 10 1 0 0 6 1 VCCO T 17200 5100 9 10 1 0 0 6 1 VCCINT T 17200 5400 9 10 1 0 0 6 1 I/O (D5) T 17200 5700 9 10 1 0 0 6 1 I/O T 17200 6000 9 10 1 0 0 6 1 I/O T 17200 6300 9 10 1 0 0 6 1 I/O T 17200 6600 9 10 1 0 0 6 1 I/O T 17200 6900 9 10 1 0 0 6 1 GND T 17200 7200 9 10 1 0 0 6 1 I/O, VREF T 17200 7500 9 10 1 0 0 6 1 I/O (D4) T 17200 7800 9 10 1 0 0 6 1 I/O T 17200 8100 9 10 1 0 0 6 1 VCCINT T 17200 8400 9 10 1 0 0 6 1 I/O, TRDY T 17200 8700 9 10 1 0 0 6 1 VCCO T 17200 9000 9 10 1 0 0 6 1 GND T 17200 9300 9 10 1 0 0 6 1 I/O, IRDY T 17200 9600 9 10 1 0 0 6 1 I/O T 17200 9900 9 10 1 0 0 6 1 I/O T 17200 10200 9 10 1 0 0 6 1 I/O (D3) T 17200 10500 9 10 1 0 0 6 1 I/O, VREF T 17200 10800 9 10 1 0 0 6 1 GND T 17200 11100 9 10 1 0 0 6 1 I/O T 17200 11400 9 10 1 0 0 6 1 I/O T 17200 11700 9 10 1 0 0 6 1 I/O T 17200 12000 9 10 1 0 0 6 1 I/O T 17200 12300 9 10 1 0 0 6 1 I/O (D2) T 17200 12600 9 10 1 0 0 6 1 VCCINT T 17200 12900 9 10 1 0 0 6 1 VCCO T 17200 13200 9 10 1 0 0 6 1 GND T 17200 13500 9 10 1 0 0 6 1 I/O (D1) T 17200 13800 9 10 1 0 0 6 1 I/O, VREF T 17200 14100 9 10 1 0 0 6 1 I/O T 17200 14400 9 10 1 0 0 6 1 I/O T 17200 14700 9 10 1 0 0 6 1 I/O, VREF T 17200 15000 9 10 1 0 0 6 1 I/O T 17200 15300 9 10 1 0 0 6 1 I/O T 17200 15600 9 10 1 0 0 6 1 I/O (DIN, D0) T 17200 15900 9 10 1 0 0 6 1 I/O (DOUT, BUSY) T 17200 16200 9 10 1 0 0 6 1 CCLK T 17200 16500 9 10 1 0 0 6 1 VCCO T 16500 17200 9 10 1 0 90 6 1 TDO T 16200 17200 9 10 1 0 90 6 1 GND T 15900 17200 9 10 1 0 90 6 1 TDI T 15600 17200 9 10 1 0 90 6 1 I/O (CS) T 15300 17200 9 10 1 0 90 6 1 I/O (WRITE) T 15000 17200 9 10 1 0 90 6 1 I/O T 14700 17200 9 10 1 0 90 6 1 I/O T 14400 17200 9 10 1 0 90 6 1 I/O, VREF T 14100 17200 9 10 1 0 90 6 1 I/O T 13800 17200 9 10 1 0 90 6 1 I/O T 13500 17200 9 10 1 0 90 6 1 I/O, VREF T 13200 17200 9 10 1 0 90 6 1 I/O T 12900 17200 9 10 1 0 90 6 1 GND T 12600 17200 9 10 1 0 90 6 1 VCCO T 12300 17200 9 10 1 0 90 6 1 VCCINT T 12000 17200 9 10 1 0 90 6 1 I/O T 11700 17200 9 10 1 0 90 6 1 I/O T 11400 17200 9 10 1 0 90 6 1 I/O T 11100 17200 9 10 1 0 90 6 1 I/O T 10800 17200 9 10 1 0 90 6 1 I/O T 10500 17200 9 10 1 0 90 6 1 GND T 10200 17200 9 10 1 0 90 6 1 I/O, VREF T 9900 17200 9 10 1 0 90 6 1 I/O T 9600 17200 9 10 1 0 90 6 1 I/O T 9300 17200 9 10 1 0 90 6 1 I/O T 9000 17200 9 10 1 0 90 6 1 I, GCK2 T 8100 17200 9 10 1 0 90 6 1 I, GCK3 T 8700 17200 9 10 1 0 90 6 1 GND T 8400 17200 9 10 1 0 90 6 1 VCCO T 7800 17200 9 10 1 0 90 6 1 VCCINT T 7500 17200 9 10 1 0 90 6 1 I/O T 7200 17200 9 10 1 0 90 6 1 I/O T 6900 17200 9 10 1 0 90 6 1 I/O, VREF T 6600 17200 9 10 1 0 90 6 1 GND T 6300 17200 9 10 1 0 90 6 1 I/O T 6000 17200 9 10 1 0 90 6 1 I/O T 5700 17200 9 10 1 0 90 6 1 I/O T 5400 17200 9 10 1 0 90 6 1 I/O T 5100 17200 9 10 1 0 90 6 1 I/O T 4800 17200 9 10 1 0 90 6 1 VCCINT T 4500 17200 9 10 1 0 90 6 1 VCCO T 4200 17200 9 10 1 0 90 6 1 GND T 3900 17200 9 10 1 0 90 6 1 I/O T 3600 17200 9 10 1 0 90 6 1 I/O, VREF T 3300 17200 9 10 1 0 90 6 1 I/O T 3000 17200 9 10 1 0 90 6 1 I/O T 2700 17200 9 10 1 0 90 6 1 I/O, VREF T 2400 17200 9 10 1 0 90 6 1 I/O T 2100 17200 9 10 1 0 90 6 1 I/O T 1800 17200 9 10 1 0 90 6 1 I/O T 1500 17200 9 10 1 0 90 6 1 TCK T 1200 17200 9 10 1 0 90 6 1 VCCO L 1100 9100 2600 9100 3 0 0 0 -1 -1 L 900 16800 2600 15100 3 0 0 0 -1 -1 L 1100 1100 2600 2600 3 0 0 0 -1 -1 L 8600 1100 8600 2600 3 0 0 0 -1 -1 L 16600 1100 15100 2600 3 0 0 0 -1 -1 L 16600 8600 15100 8600 3 0 0 0 -1 -1 L 16600 16600 15100 15100 3 0 0 0 -1 -1 L 8400 16600 8400 15100 3 0 0 0 -1 -1 T 1600 12800 9 30 1 0 0 0 1 BANK7 T 1600 5200 9 30 1 0 0 0 1 BANK6 T 4100 1600 9 30 1 0 0 0 1 BANK5 T 11600 1600 9 30 1 0 0 0 1 BANK4 T 14100 5100 9 30 1 0 0 0 1 BANK3 T 14100 12800 9 30 1 0 0 0 1 BANK2 T 11600 15700 9 30 1 0 0 0 1 BANK1 T 3600 15700 9 30 1 0 0 0 1 BANK0 geda-gaf-1.8.2/symbols/xilinx/XC2S30-6PQ208C.sym0000664000175000017500000007374212204104273015470 00000000000000v 20031231 1 P 100 12600 400 12600 1 0 0 { T 100 12650 5 10 1 1 0 0 1 pinnumber=14 T 100 12650 5 10 0 0 0 0 1 pinseq=14 } P 100 12300 400 12300 1 0 0 { T 100 12350 5 10 1 1 0 0 1 pinnumber=15 T 100 12350 5 10 0 0 0 0 1 pinseq=15 } P 100 12000 400 12000 1 0 0 { T 100 12050 5 10 1 1 0 0 1 pinnumber=16 T 100 12050 5 10 0 0 0 0 1 pinseq=16 } P 100 11700 400 11700 1 0 0 { T 100 11750 5 10 1 1 0 0 1 pinnumber=17 T 100 11750 5 10 0 0 0 0 1 pinseq=17 } P 100 11400 400 11400 1 0 0 { T 100 11450 5 10 1 1 0 0 1 pinnumber=18 T 100 11450 5 10 0 0 0 0 1 pinseq=18 } P 100 11100 400 11100 1 0 0 { T 100 11150 5 10 1 1 0 0 1 pinnumber=19 T 100 11150 5 10 0 0 0 0 1 pinseq=19 } P 100 10800 400 10800 1 0 0 { T 100 10850 5 10 1 1 0 0 1 pinnumber=20 T 100 10850 5 10 0 0 0 0 1 pinseq=20 } P 100 10500 400 10500 1 0 0 { T 100 10550 5 10 1 1 0 0 1 pinnumber=21 T 100 10550 5 10 0 0 0 0 1 pinseq=21 } P 100 10200 400 10200 1 0 0 { T 100 10250 5 10 1 1 0 0 1 pinnumber=22 T 100 10250 5 10 0 0 0 0 1 pinseq=22 } P 100 9900 400 9900 1 0 0 { T 100 9950 5 10 1 1 0 0 1 pinnumber=23 T 100 9950 5 10 0 0 0 0 1 pinseq=23 } P 100 9600 400 9600 1 0 0 { T 100 9650 5 10 1 1 0 0 1 pinnumber=24 T 100 9650 5 10 0 0 0 0 1 pinseq=24 } P 100 9300 400 9300 1 0 0 { T 100 9350 5 10 1 1 0 0 1 pinnumber=25 T 100 9350 5 10 0 0 0 0 1 pinseq=25 } P 100 9000 400 9000 1 0 0 { T 100 9050 5 10 1 1 0 0 1 pinnumber=26 T 100 9050 5 10 0 0 0 0 1 pinseq=26 } P 100 16500 400 16500 1 0 0 { T 100 16550 5 10 1 1 0 0 1 pinnumber=1 T 100 16550 5 10 0 0 0 0 1 pinseq=1 } P 100 16200 400 16200 1 0 0 { T 100 16250 5 10 1 1 0 0 1 pinnumber=2 T 100 16250 5 10 0 0 0 0 1 pinseq=2 } P 100 15900 400 15900 1 0 0 { T 100 15950 5 10 1 1 0 0 1 pinnumber=3 T 100 15950 5 10 0 0 0 0 1 pinseq=3 } P 100 15600 400 15600 1 0 0 { T 100 15650 5 10 1 1 0 0 1 pinnumber=4 T 100 15650 5 10 0 0 0 0 1 pinseq=4 } P 100 15300 400 15300 1 0 0 { T 100 15350 5 10 1 1 0 0 1 pinnumber=5 T 100 15350 5 10 0 0 0 0 1 pinseq=5 } P 100 15000 400 15000 1 0 0 { T 100 15050 5 10 1 1 0 0 1 pinnumber=6 T 100 15050 5 10 0 0 0 0 1 pinseq=6 } P 100 14700 400 14700 1 0 0 { T 100 14750 5 10 1 1 0 0 1 pinnumber=7 T 100 14750 5 10 0 0 0 0 1 pinseq=7 } P 100 14400 400 14400 1 0 0 { T 100 14450 5 10 1 1 0 0 1 pinnumber=8 T 100 14450 5 10 0 0 0 0 1 pinseq=8 } P 100 14100 400 14100 1 0 0 { T 100 14150 5 10 1 1 0 0 1 pinnumber=9 T 100 14150 5 10 0 0 0 0 1 pinseq=9 } P 100 13800 400 13800 1 0 0 { T 100 13850 5 10 1 1 0 0 1 pinnumber=10 T 100 13850 5 10 0 0 0 0 1 pinseq=10 } P 100 13500 400 13500 1 0 0 { T 100 13550 5 10 1 1 0 0 1 pinnumber=11 T 100 13550 5 10 0 0 0 0 1 pinseq=11 } P 100 13200 400 13200 1 0 0 { T 100 13250 5 10 1 1 0 0 1 pinnumber=12 T 100 13250 5 10 0 0 0 0 1 pinseq=12 } P 100 12900 400 12900 1 0 0 { T 100 12950 5 10 1 1 0 0 1 pinnumber=13 T 100 12950 5 10 0 0 0 0 1 pinseq=13 } P 100 8700 400 8700 1 0 0 { T 100 8750 5 10 1 1 0 0 1 pinnumber=27 T 100 8750 5 10 0 0 0 0 1 pinseq=27 } P 100 8400 400 8400 1 0 0 { T 100 8450 5 10 1 1 0 0 1 pinnumber=28 T 100 8450 5 10 0 0 0 0 1 pinseq=28 } P 100 8100 400 8100 1 0 0 { T 100 8150 5 10 1 1 0 0 1 pinnumber=29 T 100 8150 5 10 0 0 0 0 1 pinseq=29 } P 100 7800 400 7800 1 0 0 { T 100 7850 5 10 1 1 0 0 1 pinnumber=30 T 100 7850 5 10 0 0 0 0 1 pinseq=30 } P 100 7500 400 7500 1 0 0 { T 100 7550 5 10 1 1 0 0 1 pinnumber=31 T 100 7550 5 10 0 0 0 0 1 pinseq=31 } P 100 7200 400 7200 1 0 0 { T 100 7250 5 10 1 1 0 0 1 pinnumber=32 T 100 7250 5 10 0 0 0 0 1 pinseq=32 } P 100 6900 400 6900 1 0 0 { T 100 6950 5 10 1 1 0 0 1 pinnumber=33 T 100 6950 5 10 0 0 0 0 1 pinseq=33 } P 100 6600 400 6600 1 0 0 { T 100 6650 5 10 1 1 0 0 1 pinnumber=34 T 100 6650 5 10 0 0 0 0 1 pinseq=34 } P 100 6300 400 6300 1 0 0 { T 100 6350 5 10 1 1 0 0 1 pinnumber=35 T 100 6350 5 10 0 0 0 0 1 pinseq=35 } P 100 6000 400 6000 1 0 0 { T 100 6050 5 10 1 1 0 0 1 pinnumber=36 T 100 6050 5 10 0 0 0 0 1 pinseq=36 } P 100 5700 400 5700 1 0 0 { T 100 5750 5 10 1 1 0 0 1 pinnumber=37 T 100 5750 5 10 0 0 0 0 1 pinseq=37 } P 100 5400 400 5400 1 0 0 { T 100 5450 5 10 1 1 0 0 1 pinnumber=38 T 100 5450 5 10 0 0 0 0 1 pinseq=38 } P 100 5100 400 5100 1 0 0 { T 100 5150 5 10 1 1 0 0 1 pinnumber=39 T 100 5150 5 10 0 0 0 0 1 pinseq=39 } P 100 4800 400 4800 1 0 0 { T 100 4850 5 10 1 1 0 0 1 pinnumber=40 T 100 4850 5 10 0 0 0 0 1 pinseq=40 } P 100 4500 400 4500 1 0 0 { T 100 4550 5 10 1 1 0 0 1 pinnumber=41 T 100 4550 5 10 0 0 0 0 1 pinseq=41 } P 100 4200 400 4200 1 0 0 { T 100 4250 5 10 1 1 0 0 1 pinnumber=42 T 100 4250 5 10 0 0 0 0 1 pinseq=42 } P 100 3900 400 3900 1 0 0 { T 100 3950 5 10 1 1 0 0 1 pinnumber=43 T 100 3950 5 10 0 0 0 0 1 pinseq=43 } P 100 3600 400 3600 1 0 0 { T 100 3650 5 10 1 1 0 0 1 pinnumber=44 T 100 3650 5 10 0 0 0 0 1 pinseq=44 } P 100 3300 400 3300 1 0 0 { T 100 3350 5 10 1 1 0 0 1 pinnumber=45 T 100 3350 5 10 0 0 0 0 1 pinseq=45 } P 100 3000 400 3000 1 0 0 { T 100 3050 5 10 1 1 0 0 1 pinnumber=46 T 100 3050 5 10 0 0 0 0 1 pinseq=46 } P 100 2700 400 2700 1 0 0 { T 100 2750 5 10 1 1 0 0 1 pinnumber=47 T 100 2750 5 10 0 0 0 0 1 pinseq=47 } P 100 2400 400 2400 1 0 0 { T 100 2450 5 10 1 1 0 0 1 pinnumber=48 T 100 2450 5 10 0 0 0 0 1 pinseq=48 } P 100 2100 400 2100 1 0 0 { T 100 2150 5 10 1 1 0 0 1 pinnumber=49 T 100 2150 5 10 0 0 0 0 1 pinseq=49 } P 100 1800 400 1800 1 0 0 { T 100 1850 5 10 1 1 0 0 1 pinnumber=50 T 100 1850 5 10 0 0 0 0 1 pinseq=50 } P 100 1500 400 1500 1 0 0 { T 100 1550 5 10 1 1 0 0 1 pinnumber=51 T 100 1550 5 10 0 0 0 0 1 pinseq=51 } P 100 1200 400 1200 1 0 0 { T 100 1250 5 10 1 1 0 0 1 pinnumber=52 T 100 1250 5 10 0 0 0 0 1 pinseq=52 } P 1200 17300 1200 17600 1 0 1 { T 1150 17350 5 10 1 1 90 0 1 pinnumber=208 T 1150 17350 5 10 0 0 90 0 1 pinseq=208 } P 1500 17300 1500 17600 1 0 1 { T 1450 17350 5 10 1 1 90 0 1 pinnumber=207 T 1450 17350 5 10 0 0 90 0 1 pinseq=207 } P 1800 17300 1800 17600 1 0 1 { T 1750 17350 5 10 1 1 90 0 1 pinnumber=206 T 1750 17350 5 10 0 0 90 0 1 pinseq=206 } P 2100 17300 2100 17600 1 0 1 { T 2050 17350 5 10 1 1 90 0 1 pinnumber=205 T 2050 17350 5 10 0 0 90 0 1 pinseq=205 } P 2400 17300 2400 17600 1 0 1 { T 2350 17350 5 10 1 1 90 0 1 pinnumber=204 T 2350 17350 5 10 0 0 90 0 1 pinseq=204 } P 2700 17300 2700 17600 1 0 1 { T 2650 17350 5 10 1 1 90 0 1 pinnumber=203 T 2650 17350 5 10 0 0 90 0 1 pinseq=203 } P 3000 17300 3000 17600 1 0 1 { T 2950 17350 5 10 1 1 90 0 1 pinnumber=202 T 2950 17350 5 10 0 0 90 0 1 pinseq=202 } P 3300 17300 3300 17600 1 0 1 { T 3250 17350 5 10 1 1 90 0 1 pinnumber=201 T 3250 17350 5 10 0 0 90 0 1 pinseq=201 } P 3600 17300 3600 17600 1 0 1 { T 3550 17350 5 10 1 1 90 0 1 pinnumber=200 T 3550 17350 5 10 0 0 90 0 1 pinseq=200 } P 3900 17300 3900 17600 1 0 1 { T 3850 17350 5 10 1 1 90 0 1 pinnumber=199 T 3850 17350 5 10 0 0 90 0 1 pinseq=199 } P 4200 17300 4200 17600 1 0 1 { T 4150 17350 5 10 1 1 90 0 1 pinnumber=198 T 4150 17350 5 10 0 0 90 0 1 pinseq=198 } P 4500 17300 4500 17600 1 0 1 { T 4450 17350 5 10 1 1 90 0 1 pinnumber=197 T 4450 17350 5 10 0 0 90 0 1 pinseq=197 } P 4800 17300 4800 17600 1 0 1 { T 4750 17350 5 10 1 1 90 0 1 pinnumber=196 T 4750 17350 5 10 0 0 90 0 1 pinseq=196 } P 5100 17300 5100 17600 1 0 1 { T 5050 17350 5 10 1 1 90 0 1 pinnumber=195 T 5050 17350 5 10 0 0 90 0 1 pinseq=195 } P 5400 17300 5400 17600 1 0 1 { T 5350 17350 5 10 1 1 90 0 1 pinnumber=194 T 5350 17350 5 10 0 0 90 0 1 pinseq=194 } P 5700 17300 5700 17600 1 0 1 { T 5650 17350 5 10 1 1 90 0 1 pinnumber=193 T 5650 17350 5 10 0 0 90 0 1 pinseq=193 } P 6000 17300 6000 17600 1 0 1 { T 5950 17350 5 10 1 1 90 0 1 pinnumber=192 T 5950 17350 5 10 0 0 90 0 1 pinseq=192 } P 6300 17300 6300 17600 1 0 1 { T 6250 17350 5 10 1 1 90 0 1 pinnumber=191 T 6250 17350 5 10 0 0 90 0 1 pinseq=191 } P 6600 17300 6600 17600 1 0 1 { T 6550 17350 5 10 1 1 90 0 1 pinnumber=190 T 6550 17350 5 10 0 0 90 0 1 pinseq=190 } P 6900 17300 6900 17600 1 0 1 { T 6850 17350 5 10 1 1 90 0 1 pinnumber=189 T 6850 17350 5 10 0 0 90 0 1 pinseq=189 } P 7200 17300 7200 17600 1 0 1 { T 7150 17350 5 10 1 1 90 0 1 pinnumber=188 T 7150 17350 5 10 0 0 90 0 1 pinseq=188 } P 7500 17300 7500 17600 1 0 1 { T 7450 17350 5 10 1 1 90 0 1 pinnumber=187 T 7450 17350 5 10 0 0 90 0 1 pinseq=187 } P 7800 17300 7800 17600 1 0 1 { T 7750 17350 5 10 1 1 90 0 1 pinnumber=186 T 7750 17350 5 10 0 0 90 0 1 pinseq=186 } P 8100 17300 8100 17600 1 0 1 { T 8050 17350 5 10 1 1 90 0 1 pinnumber=185 T 8050 17350 5 10 0 0 90 0 1 pinseq=185 } P 8400 17300 8400 17600 1 0 1 { T 8350 17350 5 10 1 1 90 0 1 pinnumber=184 T 8350 17350 5 10 0 0 90 0 1 pinseq=184 } P 8700 17300 8700 17600 1 0 1 { T 8650 17350 5 10 1 1 90 0 1 pinnumber=183 T 8650 17350 5 10 0 0 90 0 1 pinseq=183 } P 9000 17300 9000 17600 1 0 1 { T 8950 17350 5 10 1 1 90 0 1 pinnumber=182 T 8950 17350 5 10 0 0 90 0 1 pinseq=182 } P 9300 17300 9300 17600 1 0 1 { T 9250 17350 5 10 1 1 90 0 1 pinnumber=181 T 9250 17350 5 10 0 0 90 0 1 pinseq=181 } P 9600 17300 9600 17600 1 0 1 { T 9550 17350 5 10 1 1 90 0 1 pinnumber=180 T 9550 17350 5 10 0 0 90 0 1 pinseq=180 } P 9900 17300 9900 17600 1 0 1 { T 9850 17350 5 10 1 1 90 0 1 pinnumber=179 T 9850 17350 5 10 0 0 90 0 1 pinseq=179 } P 10200 17300 10200 17600 1 0 1 { T 10150 17350 5 10 1 1 90 0 1 pinnumber=178 T 10150 17350 5 10 0 0 90 0 1 pinseq=178 } P 10500 17300 10500 17600 1 0 1 { T 10450 17350 5 10 1 1 90 0 1 pinnumber=177 T 10450 17350 5 10 0 0 90 0 1 pinseq=177 } P 10800 17300 10800 17600 1 0 1 { T 10750 17350 5 10 1 1 90 0 1 pinnumber=176 T 10750 17350 5 10 0 0 90 0 1 pinseq=176 } P 11100 17300 11100 17600 1 0 1 { T 11050 17350 5 10 1 1 90 0 1 pinnumber=175 T 11050 17350 5 10 0 0 90 0 1 pinseq=175 } P 11400 17300 11400 17600 1 0 1 { T 11350 17350 5 10 1 1 90 0 1 pinnumber=174 T 11350 17350 5 10 0 0 90 0 1 pinseq=174 } P 11700 17300 11700 17600 1 0 1 { T 11650 17350 5 10 1 1 90 0 1 pinnumber=173 T 11650 17350 5 10 0 0 90 0 1 pinseq=173 } P 12000 17300 12000 17600 1 0 1 { T 11950 17350 5 10 1 1 90 0 1 pinnumber=172 T 11950 17350 5 10 0 0 90 0 1 pinseq=172 } P 12300 17300 12300 17600 1 0 1 { T 12250 17350 5 10 1 1 90 0 1 pinnumber=171 T 12250 17350 5 10 0 0 90 0 1 pinseq=171 } P 12600 17300 12600 17600 1 0 1 { T 12550 17350 5 10 1 1 90 0 1 pinnumber=170 T 12550 17350 5 10 0 0 90 0 1 pinseq=170 } P 12900 17300 12900 17600 1 0 1 { T 12850 17350 5 10 1 1 90 0 1 pinnumber=169 T 12850 17350 5 10 0 0 90 0 1 pinseq=169 } P 13200 17300 13200 17600 1 0 1 { T 13150 17350 5 10 1 1 90 0 1 pinnumber=168 T 13150 17350 5 10 0 0 90 0 1 pinseq=168 } P 13500 17300 13500 17600 1 0 1 { T 13450 17350 5 10 1 1 90 0 1 pinnumber=167 T 13450 17350 5 10 0 0 90 0 1 pinseq=167 } P 13800 17300 13800 17600 1 0 1 { T 13750 17350 5 10 1 1 90 0 1 pinnumber=166 T 13750 17350 5 10 0 0 90 0 1 pinseq=166 } P 14100 17300 14100 17600 1 0 1 { T 14050 17350 5 10 1 1 90 0 1 pinnumber=165 T 14050 17350 5 10 0 0 90 0 1 pinseq=165 } P 14400 17300 14400 17600 1 0 1 { T 14350 17350 5 10 1 1 90 0 1 pinnumber=164 T 14350 17350 5 10 0 0 90 0 1 pinseq=164 } P 14700 17300 14700 17600 1 0 1 { T 14650 17350 5 10 1 1 90 0 1 pinnumber=163 T 14650 17350 5 10 0 0 90 0 1 pinseq=163 } P 15000 17300 15000 17600 1 0 1 { T 14950 17350 5 10 1 1 90 0 1 pinnumber=162 T 14950 17350 5 10 0 0 90 0 1 pinseq=162 } P 15300 17300 15300 17600 1 0 1 { T 15250 17350 5 10 1 1 90 0 1 pinnumber=161 T 15250 17350 5 10 0 0 90 0 1 pinseq=161 } P 15600 17300 15600 17600 1 0 1 { T 15550 17350 5 10 1 1 90 0 1 pinnumber=160 T 15550 17350 5 10 0 0 90 0 1 pinseq=160 } P 15900 17300 15900 17600 1 0 1 { T 15850 17350 5 10 1 1 90 0 1 pinnumber=159 T 15850 17350 5 10 0 0 90 0 1 pinseq=159 } P 16200 17300 16200 17600 1 0 1 { T 16150 17350 5 10 1 1 90 0 1 pinnumber=158 T 16150 17350 5 10 0 0 90 0 1 pinseq=158 } P 16500 17300 16500 17600 1 0 1 { T 16450 17350 5 10 1 1 90 0 1 pinnumber=157 T 16450 17350 5 10 0 0 90 0 1 pinseq=157 } P 1200 100 1200 400 1 0 0 { T 1150 100 5 10 1 1 90 0 1 pinnumber=53 T 1150 100 5 10 0 0 90 0 1 pinseq=53 } P 1500 100 1500 400 1 0 0 { T 1450 100 5 10 1 1 90 0 1 pinnumber=54 T 1450 100 5 10 0 0 90 0 1 pinseq=54 } P 1800 100 1800 400 1 0 0 { T 1750 100 5 10 1 1 90 0 1 pinnumber=55 T 1750 100 5 10 0 0 90 0 1 pinseq=55 } P 2100 100 2100 400 1 0 0 { T 2050 100 5 10 1 1 90 0 1 pinnumber=56 T 2050 100 5 10 0 0 90 0 1 pinseq=56 } P 2400 100 2400 400 1 0 0 { T 2350 100 5 10 1 1 90 0 1 pinnumber=57 T 2350 100 5 10 0 0 90 0 1 pinseq=57 } P 2700 100 2700 400 1 0 0 { T 2650 100 5 10 1 1 90 0 1 pinnumber=58 T 2650 100 5 10 0 0 90 0 1 pinseq=58 } P 3000 100 3000 400 1 0 0 { T 2950 100 5 10 1 1 90 0 1 pinnumber=59 T 2950 100 5 10 0 0 90 0 1 pinseq=59 } P 3300 100 3300 400 1 0 0 { T 3250 100 5 10 1 1 90 0 1 pinnumber=60 T 3250 100 5 10 0 0 90 0 1 pinseq=60 } P 3600 100 3600 400 1 0 0 { T 3550 100 5 10 1 1 90 0 1 pinnumber=61 T 3550 100 5 10 0 0 90 0 1 pinseq=61 } P 3900 100 3900 400 1 0 0 { T 3850 100 5 10 1 1 90 0 1 pinnumber=62 T 3850 100 5 10 0 0 90 0 1 pinseq=62 } P 4200 100 4200 400 1 0 0 { T 4150 100 5 10 1 1 90 0 1 pinnumber=63 T 4150 100 5 10 0 0 90 0 1 pinseq=63 } P 4500 100 4500 400 1 0 0 { T 4450 100 5 10 1 1 90 0 1 pinnumber=64 T 4450 100 5 10 0 0 90 0 1 pinseq=64 } P 4800 100 4800 400 1 0 0 { T 4750 100 5 10 1 1 90 0 1 pinnumber=65 T 4750 100 5 10 0 0 90 0 1 pinseq=65 } P 5100 100 5100 400 1 0 0 { T 5050 100 5 10 1 1 90 0 1 pinnumber=66 T 5050 100 5 10 0 0 90 0 1 pinseq=66 } P 5400 100 5400 400 1 0 0 { T 5350 100 5 10 1 1 90 0 1 pinnumber=67 T 5350 100 5 10 0 0 90 0 1 pinseq=67 } P 5700 100 5700 400 1 0 0 { T 5650 100 5 10 1 1 90 0 1 pinnumber=68 T 5650 100 5 10 0 0 90 0 1 pinseq=68 } P 6000 100 6000 400 1 0 0 { T 5950 100 5 10 1 1 90 0 1 pinnumber=69 T 5950 100 5 10 0 0 90 0 1 pinseq=69 } P 6300 100 6300 400 1 0 0 { T 6250 100 5 10 1 1 90 0 1 pinnumber=70 T 6250 100 5 10 0 0 90 0 1 pinseq=70 } P 6600 100 6600 400 1 0 0 { T 6550 100 5 10 1 1 90 0 1 pinnumber=71 T 6550 100 5 10 0 0 90 0 1 pinseq=71 } P 6900 100 6900 400 1 0 0 { T 6850 100 5 10 1 1 90 0 1 pinnumber=72 T 6850 100 5 10 0 0 90 0 1 pinseq=72 } P 7200 100 7200 400 1 0 0 { T 7150 100 5 10 1 1 90 0 1 pinnumber=73 T 7150 100 5 10 0 0 90 0 1 pinseq=73 } P 7500 100 7500 400 1 0 0 { T 7450 100 5 10 1 1 90 0 1 pinnumber=74 T 7450 100 5 10 0 0 90 0 1 pinseq=74 } P 7800 100 7800 400 1 0 0 { T 7750 100 5 10 1 1 90 0 1 pinnumber=75 T 7750 100 5 10 0 0 90 0 1 pinseq=75 } P 8100 100 8100 400 1 0 0 { T 8050 100 5 10 1 1 90 0 1 pinnumber=76 T 8050 100 5 10 0 0 90 0 1 pinseq=76 } P 8400 100 8400 400 1 0 0 { T 8350 100 5 10 1 1 90 0 1 pinnumber=77 T 8350 100 5 10 0 0 90 0 1 pinseq=77 } P 8700 100 8700 400 1 0 0 { T 8650 100 5 10 1 1 90 0 1 pinnumber=78 T 8650 100 5 10 0 0 90 0 1 pinseq=78 } P 9000 100 9000 400 1 0 0 { T 8950 100 5 10 1 1 90 0 1 pinnumber=79 T 8950 100 5 10 0 0 90 0 1 pinseq=79 } P 9300 100 9300 400 1 0 0 { T 9250 100 5 10 1 1 90 0 1 pinnumber=80 T 9250 100 5 10 0 0 90 0 1 pinseq=80 } P 9600 100 9600 400 1 0 0 { T 9550 100 5 10 1 1 90 0 1 pinnumber=81 T 9550 100 5 10 0 0 90 0 1 pinseq=81 } P 9900 100 9900 400 1 0 0 { T 9850 100 5 10 1 1 90 0 1 pinnumber=82 T 9850 100 5 10 0 0 90 0 1 pinseq=82 } P 10200 100 10200 400 1 0 0 { T 10150 100 5 10 1 1 90 0 1 pinnumber=83 T 10150 100 5 10 0 0 90 0 1 pinseq=83 } P 10500 100 10500 400 1 0 0 { T 10450 100 5 10 1 1 90 0 1 pinnumber=84 T 10450 100 5 10 0 0 90 0 1 pinseq=84 } P 10800 100 10800 400 1 0 0 { T 10750 100 5 10 1 1 90 0 1 pinnumber=85 T 10750 100 5 10 0 0 90 0 1 pinseq=85 } P 11100 100 11100 400 1 0 0 { T 11050 100 5 10 1 1 90 0 1 pinnumber=86 T 11050 100 5 10 0 0 90 0 1 pinseq=86 } P 11400 100 11400 400 1 0 0 { T 11350 100 5 10 1 1 90 0 1 pinnumber=87 T 11350 100 5 10 0 0 90 0 1 pinseq=87 } P 11700 100 11700 400 1 0 0 { T 11650 100 5 10 1 1 90 0 1 pinnumber=88 T 11650 100 5 10 0 0 90 0 1 pinseq=88 } P 12000 100 12000 400 1 0 0 { T 11950 100 5 10 1 1 90 0 1 pinnumber=89 T 11950 100 5 10 0 0 90 0 1 pinseq=89 } P 12300 100 12300 400 1 0 0 { T 12250 100 5 10 1 1 90 0 1 pinnumber=90 T 12250 100 5 10 0 0 90 0 1 pinseq=90 } P 12600 100 12600 400 1 0 0 { T 12550 100 5 10 1 1 90 0 1 pinnumber=91 T 12550 100 5 10 0 0 90 0 1 pinseq=91 } P 12900 100 12900 400 1 0 0 { T 12850 100 5 10 1 1 90 0 1 pinnumber=92 T 12850 100 5 10 0 0 90 0 1 pinseq=92 } P 13200 100 13200 400 1 0 0 { T 13150 100 5 10 1 1 90 0 1 pinnumber=93 T 13150 100 5 10 0 0 90 0 1 pinseq=93 } P 13500 100 13500 400 1 0 0 { T 13450 100 5 10 1 1 90 0 1 pinnumber=94 T 13450 100 5 10 0 0 90 0 1 pinseq=94 } P 13800 100 13800 400 1 0 0 { T 13750 100 5 10 1 1 90 0 1 pinnumber=95 T 13750 100 5 10 0 0 90 0 1 pinseq=95 } P 14100 100 14100 400 1 0 0 { T 14050 100 5 10 1 1 90 0 1 pinnumber=96 T 14050 100 5 10 0 0 90 0 1 pinseq=96 } P 14400 100 14400 400 1 0 0 { T 14350 100 5 10 1 1 90 0 1 pinnumber=97 T 14350 100 5 10 0 0 90 0 1 pinseq=97 } P 14700 100 14700 400 1 0 0 { T 14650 100 5 10 1 1 90 0 1 pinnumber=98 T 14650 100 5 10 0 0 90 0 1 pinseq=98 } P 15000 100 15000 400 1 0 0 { T 14950 100 5 10 1 1 90 0 1 pinnumber=99 T 14950 100 5 10 0 0 90 0 1 pinseq=99 } P 15300 100 15300 400 1 0 0 { T 15250 50 5 10 1 1 90 0 1 pinnumber=100 T 15250 50 5 10 0 0 90 0 1 pinseq=100 } P 15600 100 15600 400 1 0 0 { T 15550 50 5 10 1 1 90 0 1 pinnumber=101 T 15550 50 5 10 0 0 90 0 1 pinseq=101 } P 15900 100 15900 400 1 0 0 { T 15850 50 5 10 1 1 90 0 1 pinnumber=102 T 15850 50 5 10 0 0 90 0 1 pinseq=102 } P 16200 100 16200 400 1 0 0 { T 16150 50 5 10 1 1 90 0 1 pinnumber=103 T 16150 50 5 10 0 0 90 0 1 pinseq=103 } P 16500 100 16500 400 1 0 0 { T 16450 50 5 10 1 1 90 0 1 pinnumber=104 T 16450 50 5 10 0 0 90 0 1 pinseq=104 } P 17300 12600 17600 12600 1 0 1 { T 17350 12650 5 10 1 1 0 0 1 pinnumber=143 T 17350 12650 5 10 0 0 0 0 1 pinseq=143 } P 17300 12300 17600 12300 1 0 1 { T 17350 12350 5 10 1 1 0 0 1 pinnumber=142 T 17350 12350 5 10 0 0 0 0 1 pinseq=142 } P 17300 12000 17600 12000 1 0 1 { T 17350 12050 5 10 1 1 0 0 1 pinnumber=141 T 17350 12050 5 10 0 0 0 0 1 pinseq=141 } P 17300 11700 17600 11700 1 0 1 { T 17350 11750 5 10 1 1 0 0 1 pinnumber=140 T 17350 11750 5 10 0 0 0 0 1 pinseq=140 } P 17300 11400 17600 11400 1 0 1 { T 17350 11500 5 10 1 1 0 0 1 pinnumber=139 T 17350 11500 5 10 0 0 0 0 1 pinseq=139 } P 17300 11100 17600 11100 1 0 1 { T 17350 11150 5 10 1 1 0 0 1 pinnumber=138 T 17350 11150 5 10 0 0 0 0 1 pinseq=138 } P 17300 10800 17600 10800 1 0 1 { T 17350 10850 5 10 1 1 0 0 1 pinnumber=137 T 17350 10850 5 10 0 0 0 0 1 pinseq=137 } P 17300 10500 17600 10500 1 0 1 { T 17350 10550 5 10 1 1 0 0 1 pinnumber=136 T 17350 10550 5 10 0 0 0 0 1 pinseq=136 } P 17300 10200 17600 10200 1 0 1 { T 17350 10250 5 10 1 1 0 0 1 pinnumber=135 T 17350 10250 5 10 0 0 0 0 1 pinseq=135 } P 17300 9900 17600 9900 1 0 1 { T 17350 9950 5 10 1 1 0 0 1 pinnumber=134 T 17350 9950 5 10 0 0 0 0 1 pinseq=134 } P 17300 9600 17600 9600 1 0 1 { T 17350 9650 5 10 1 1 0 0 1 pinnumber=133 T 17350 9650 5 10 0 0 0 0 1 pinseq=133 } P 17300 9300 17600 9300 1 0 1 { T 17350 9350 5 10 1 1 0 0 1 pinnumber=132 T 17350 9350 5 10 0 0 0 0 1 pinseq=132 } P 17300 9000 17600 9000 1 0 1 { T 17350 9050 5 10 1 1 0 0 1 pinnumber=131 T 17350 9050 5 10 0 0 0 0 1 pinseq=131 } P 17300 16500 17600 16500 1 0 1 { T 17350 16550 5 10 1 1 0 0 1 pinnumber=156 T 17350 16550 5 10 0 0 0 0 1 pinseq=156 } P 17300 16200 17600 16200 1 0 1 { T 17350 16250 5 10 1 1 0 0 1 pinnumber=155 T 17350 16250 5 10 0 0 0 0 1 pinseq=155 } P 17300 15900 17600 15900 1 0 1 { T 17350 15950 5 10 1 1 0 0 1 pinnumber=154 T 17350 15950 5 10 0 0 0 0 1 pinseq=154 } P 17300 15600 17600 15600 1 0 1 { T 17350 15650 5 10 1 1 0 0 1 pinnumber=153 T 17350 15650 5 10 0 0 0 0 1 pinseq=153 } P 17300 15300 17600 15300 1 0 1 { T 17350 15350 5 10 1 1 0 0 1 pinnumber=152 T 17350 15350 5 10 0 0 0 0 1 pinseq=152 } P 17300 15000 17600 15000 1 0 1 { T 17350 15050 5 10 1 1 0 0 1 pinnumber=151 T 17350 15050 5 10 0 0 0 0 1 pinseq=151 } P 17300 14700 17600 14700 1 0 1 { T 17350 14750 5 10 1 1 0 0 1 pinnumber=150 T 17350 14750 5 10 0 0 0 0 1 pinseq=150 } P 17300 14400 17600 14400 1 0 1 { T 17350 14450 5 10 1 1 0 0 1 pinnumber=149 T 17350 14450 5 10 0 0 0 0 1 pinseq=149 } P 17300 14100 17600 14100 1 0 1 { T 17350 14150 5 10 1 1 0 0 1 pinnumber=148 T 17350 14150 5 10 0 0 0 0 1 pinseq=148 } P 17300 13800 17600 13800 1 0 1 { T 17350 13850 5 10 1 1 0 0 1 pinnumber=147 T 17350 13850 5 10 0 0 0 0 1 pinseq=147 } P 17300 13500 17600 13500 1 0 1 { T 17350 13550 5 10 1 1 0 0 1 pinnumber=146 T 17350 13550 5 10 0 0 0 0 1 pinseq=146 } P 17300 13200 17600 13200 1 0 1 { T 17350 13250 5 10 1 1 0 0 1 pinnumber=145 T 17350 13250 5 10 0 0 0 0 1 pinseq=145 } P 17300 12900 17600 12900 1 0 1 { T 17350 12950 5 10 1 1 0 0 1 pinnumber=144 T 17350 12950 5 10 0 0 0 0 1 pinseq=144 } P 17300 8700 17600 8700 1 0 1 { T 17350 8750 5 10 1 1 0 0 1 pinnumber=130 T 17350 8750 5 10 0 0 0 0 1 pinseq=130 } P 17300 8400 17600 8400 1 0 1 { T 17350 8450 5 10 1 1 0 0 1 pinnumber=129 T 17350 8450 5 10 0 0 0 0 1 pinseq=129 } P 17300 8100 17600 8100 1 0 1 { T 17350 8150 5 10 1 1 0 0 1 pinnumber=128 T 17350 8150 5 10 0 0 0 0 1 pinseq=128 } P 17300 7800 17600 7800 1 0 1 { T 17350 7850 5 10 1 1 0 0 1 pinnumber=127 T 17350 7850 5 10 0 0 0 0 1 pinseq=127 } P 17300 7500 17600 7500 1 0 1 { T 17350 7550 5 10 1 1 0 0 1 pinnumber=126 T 17350 7550 5 10 0 0 0 0 1 pinseq=126 } P 17300 7200 17600 7200 1 0 1 { T 17350 7250 5 10 1 1 0 0 1 pinnumber=125 T 17350 7250 5 10 0 0 0 0 1 pinseq=125 } P 17300 6900 17600 6900 1 0 1 { T 17350 6950 5 10 1 1 0 0 1 pinnumber=124 T 17350 6950 5 10 0 0 0 0 1 pinseq=124 } P 17300 6600 17600 6600 1 0 1 { T 17350 6650 5 10 1 1 0 0 1 pinnumber=123 T 17350 6650 5 10 0 0 0 0 1 pinseq=123 } P 17300 6300 17600 6300 1 0 1 { T 17350 6350 5 10 1 1 0 0 1 pinnumber=122 T 17350 6350 5 10 0 0 0 0 1 pinseq=122 } P 17300 6000 17600 6000 1 0 1 { T 17350 6050 5 10 1 1 0 0 1 pinnumber=121 T 17350 6050 5 10 0 0 0 0 1 pinseq=121 } P 17300 5700 17600 5700 1 0 1 { T 17350 5750 5 10 1 1 0 0 1 pinnumber=120 T 17350 5750 5 10 0 0 0 0 1 pinseq=120 } P 17300 5400 17600 5400 1 0 1 { T 17350 5450 5 10 1 1 0 0 1 pinnumber=119 T 17350 5450 5 10 0 0 0 0 1 pinseq=119 } P 17300 5100 17600 5100 1 0 1 { T 17350 5150 5 10 1 1 0 0 1 pinnumber=118 T 17350 5150 5 10 0 0 0 0 1 pinseq=118 } P 17300 4800 17600 4800 1 0 1 { T 17350 4850 5 10 1 1 0 0 1 pinnumber=117 T 17350 4850 5 10 0 0 0 0 1 pinseq=117 } P 17300 4500 17600 4500 1 0 1 { T 17350 4550 5 10 1 1 0 0 1 pinnumber=116 T 17350 4550 5 10 0 0 0 0 1 pinseq=116 } P 17300 4200 17600 4200 1 0 1 { T 17350 4250 5 10 1 1 0 0 1 pinnumber=115 T 17350 4250 5 10 0 0 0 0 1 pinseq=115 } P 17300 3900 17600 3900 1 0 1 { T 17350 3950 5 10 1 1 0 0 1 pinnumber=114 T 17350 3950 5 10 0 0 0 0 1 pinseq=114 } P 17300 3600 17600 3600 1 0 1 { T 17350 3650 5 10 1 1 0 0 1 pinnumber=113 T 17350 3650 5 10 0 0 0 0 1 pinseq=113 } P 17300 3300 17600 3300 1 0 1 { T 17350 3350 5 10 1 1 0 0 1 pinnumber=112 T 17350 3350 5 10 0 0 0 0 1 pinseq=112 } P 17300 3000 17600 3000 1 0 1 { T 17350 3050 5 10 1 1 0 0 1 pinnumber=111 T 17350 3050 5 10 0 0 0 0 1 pinseq=111 } P 17300 2700 17600 2700 1 0 1 { T 17350 2750 5 10 1 1 0 0 1 pinnumber=110 T 17350 2750 5 10 0 0 0 0 1 pinseq=110 } P 17300 2400 17600 2400 1 0 1 { T 17350 2450 5 10 1 1 0 0 1 pinnumber=109 T 17350 2450 5 10 0 0 0 0 1 pinseq=109 } P 17300 2100 17600 2100 1 0 1 { T 17350 2150 5 10 1 1 0 0 1 pinnumber=108 T 17350 2150 5 10 0 0 0 0 1 pinseq=108 } P 17300 1800 17600 1800 1 0 1 { T 17350 1850 5 10 1 1 0 0 1 pinnumber=107 T 17350 1850 5 10 0 0 0 0 1 pinseq=107 } P 17300 1500 17600 1500 1 0 1 { T 17350 1550 5 10 1 1 0 0 1 pinnumber=106 T 17350 1550 5 10 0 0 0 0 1 pinseq=106 } P 17300 1200 17600 1200 1 0 1 { T 17350 1250 5 10 1 1 0 0 1 pinnumber=105 T 17350 1250 5 10 0 0 0 0 1 pinseq=105 } B 400 400 16900 16900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 17300 5 10 0 1 0 0 1 device=XC2S30-6PQ208C T 500 16500 9 10 1 0 0 0 1 GND T 500 13500 9 10 1 0 0 0 1 GND T 500 11100 9 10 1 0 0 0 1 GND T 500 16200 9 10 1 0 0 0 1 TMS T 500 15900 9 10 1 0 0 0 1 I/O T 500 15600 9 10 1 0 0 0 1 I/O T 500 14400 9 10 1 0 0 0 1 I/O T 500 15000 9 10 1 0 0 0 1 I/O, VREF T 500 14100 9 10 1 0 0 0 1 I/O T 500 13800 9 10 1 0 0 0 1 I/O T 500 13200 9 10 1 0 0 0 1 VCCO T 500 12600 9 10 1 0 0 0 1 I/O T 500 12300 9 10 1 0 0 0 1 I/O T 500 12000 9 10 1 0 0 0 1 I/O T 500 11700 9 10 1 0 0 0 1 I/O T 500 11400 9 10 1 0 0 0 1 I/O T 500 15300 9 10 1 0 0 0 1 I/O T 500 10800 9 10 1 0 0 0 1 I/O, VREF T 500 10500 9 10 1 0 0 0 1 I/O T 500 10200 9 10 1 0 0 0 1 I/O T 500 9900 9 10 1 0 0 0 1 I/O T 500 9600 9 10 1 0 0 0 1 I/O, IRDY T 500 1500 9 10 1 0 0 0 1 GND T 500 4800 9 10 1 0 0 0 1 GND T 500 7200 9 10 1 0 0 0 1 GND T 500 9300 9 10 1 0 0 0 1 GND T 500 9000 9 10 1 0 0 0 1 VCCO T 500 5100 9 10 1 0 0 0 1 VCCO T 500 8400 9 10 1 0 0 0 1 VCCINT T 500 7500 9 10 1 0 0 0 1 I/O, VREF T 500 3300 9 10 1 0 0 0 1 I/O, VREF T 500 8700 9 10 1 0 0 0 1 I/O, TRDY T 500 8100 9 10 1 0 0 0 1 I/O T 500 7800 9 10 1 0 0 0 1 I/O T 500 6900 9 10 1 0 0 0 1 I/O T 500 6600 9 10 1 0 0 0 1 I/O T 500 6300 9 10 1 0 0 0 1 I/O T 500 6000 9 10 1 0 0 0 1 I/O T 500 5700 9 10 1 0 0 0 1 I/O T 500 4500 9 10 1 0 0 0 1 I/O T 500 4200 9 10 1 0 0 0 1 I/O T 500 3900 9 10 1 0 0 0 1 I/O T 500 3000 9 10 1 0 0 0 1 I/O T 500 2700 9 10 1 0 0 0 1 I/O T 500 2400 9 10 1 0 0 0 1 I/O T 500 2100 9 10 1 0 0 0 1 I/O T 500 1800 9 10 1 0 0 0 1 M1 T 500 1200 9 10 1 0 0 0 1 M0 T 16600 17450 9 10 1 0 0 0 1 XC2S30-6PQ208C T 1200 500 9 10 1 0 90 0 1 VCCO T 1500 500 9 10 1 0 90 0 1 M2 T 2400 500 9 10 1 0 90 0 1 I/O T 2700 500 9 10 1 0 90 0 1 I/O T 3000 500 9 10 1 0 90 0 1 I/O, VREF T 3600 500 9 10 1 0 90 0 1 I/O T 3900 500 9 10 1 0 90 0 1 I/O T 4200 500 9 10 1 0 90 0 1 I/O T 4500 500 9 10 1 0 90 0 1 GND T 4800 500 9 10 1 0 90 0 1 VCCO T 5100 500 9 10 1 0 90 0 1 VCCINT T 5400 500 9 10 1 0 90 0 1 I/O T 5700 500 9 10 1 0 90 0 1 I/O T 6000 500 9 10 1 0 90 0 1 I/O T 6300 500 9 10 1 0 90 0 1 I/O T 6600 500 9 10 1 0 90 0 1 I/O T 6900 500 9 10 1 0 90 0 1 GND T 7200 500 9 10 1 0 90 0 1 I/O, VREF T 7500 500 9 10 1 0 90 0 1 I/O T 7800 500 9 10 1 0 90 0 1 I/O T 8100 500 9 10 1 0 90 0 1 VCCINT T 8400 500 9 10 1 0 90 0 1 I, GCK1 T 9300 500 9 10 1 0 90 0 1 I, GCK0 T 8700 500 9 10 1 0 90 0 1 VCCO T 9000 500 9 10 1 0 90 0 1 GND T 9600 500 9 10 1 0 90 0 1 I/O T 9900 500 9 10 1 0 90 0 1 I/O T 10200 500 9 10 1 0 90 0 1 I/O T 10500 500 9 10 1 0 90 0 1 I/O, VREF T 10800 500 9 10 1 0 90 0 1 GND T 11100 500 9 10 1 0 90 0 1 I/O T 11400 500 9 10 1 0 90 0 1 I/O T 11700 500 9 10 1 0 90 0 1 I/O T 12000 500 9 10 1 0 90 0 1 I/O T 12300 500 9 10 1 0 90 0 1 I/O T 12600 500 9 10 1 0 90 0 1 VCCINT T 12900 500 9 10 1 0 90 0 1 VCCO T 13200 500 9 10 1 0 90 0 1 GND T 13500 500 9 10 1 0 90 0 1 I/O T 13800 500 9 10 1 0 90 0 1 I/O T 14100 500 9 10 1 0 90 0 1 I/O T 14700 500 9 10 1 0 90 0 1 I/O, VREF T 15000 500 9 10 1 0 90 0 1 I/O T 15300 500 9 10 1 0 90 0 1 I/O T 15600 500 9 10 1 0 90 0 1 I/O T 15900 500 9 10 1 0 90 0 1 I/O T 16200 500 9 10 1 0 90 0 1 GND T 16500 500 9 10 1 0 90 0 1 DONE T 17200 1200 9 10 1 0 0 6 1 VCCO T 17200 1500 9 10 1 0 0 6 1 PROGRAM T 17200 1800 9 10 1 0 0 6 1 I/O (INIT) T 17200 2100 9 10 1 0 0 6 1 I/O (D7) T 17200 2400 9 10 1 0 0 6 1 I/O T 17200 2700 9 10 1 0 0 6 1 I/O T 17200 3000 9 10 1 0 0 6 1 I/O, VREF T 17200 3600 9 10 1 0 0 6 1 I/O T 17200 3900 9 10 1 0 0 6 1 I/O T 17200 4200 9 10 1 0 0 6 1 I/O (D6) T 17200 4500 9 10 1 0 0 6 1 GND T 17200 4800 9 10 1 0 0 6 1 VCCO T 17200 5400 9 10 1 0 0 6 1 I/O (D5) T 17200 5700 9 10 1 0 0 6 1 I/O T 17200 6000 9 10 1 0 0 6 1 I/O T 17200 6300 9 10 1 0 0 6 1 I/O T 17200 6600 9 10 1 0 0 6 1 I/O T 17200 6900 9 10 1 0 0 6 1 GND T 17200 7200 9 10 1 0 0 6 1 I/O, VREF T 17200 7500 9 10 1 0 0 6 1 I/O (D4) T 17200 7800 9 10 1 0 0 6 1 I/O T 17200 8100 9 10 1 0 0 6 1 VCCINT T 17200 8400 9 10 1 0 0 6 1 I/O, TRDY T 17200 8700 9 10 1 0 0 6 1 VCCO T 17200 9000 9 10 1 0 0 6 1 GND T 17200 9300 9 10 1 0 0 6 1 I/O, IRDY T 17200 9600 9 10 1 0 0 6 1 I/O T 17200 9900 9 10 1 0 0 6 1 I/O T 17200 10200 9 10 1 0 0 6 1 I/O (D3) T 17200 10500 9 10 1 0 0 6 1 I/O, VREF T 17200 10800 9 10 1 0 0 6 1 GND T 17200 11100 9 10 1 0 0 6 1 I/O T 17200 11400 9 10 1 0 0 6 1 I/O T 17200 11700 9 10 1 0 0 6 1 I/O T 17200 12000 9 10 1 0 0 6 1 I/O T 17200 12300 9 10 1 0 0 6 1 I/O (D2) T 17200 12900 9 10 1 0 0 6 1 VCCO T 17200 13200 9 10 1 0 0 6 1 GND T 17200 13500 9 10 1 0 0 6 1 I/O (D1) T 17200 13800 9 10 1 0 0 6 1 I/O T 17200 14100 9 10 1 0 0 6 1 I/O T 17200 14700 9 10 1 0 0 6 1 I/O, VREF T 17200 15000 9 10 1 0 0 6 1 I/O T 17200 15300 9 10 1 0 0 6 1 I/O T 17200 15600 9 10 1 0 0 6 1 I/O (DIN, D0) T 17200 15900 9 10 1 0 0 6 1 I/O (DOUT, BUSY) T 17200 16200 9 10 1 0 0 6 1 CCLK T 17200 16500 9 10 1 0 0 6 1 VCCO T 16500 17200 9 10 1 0 90 6 1 TDO T 16200 17200 9 10 1 0 90 6 1 GND T 15900 17200 9 10 1 0 90 6 1 TDI T 15600 17200 9 10 1 0 90 6 1 I/O (CS) T 15300 17200 9 10 1 0 90 6 1 I/O (WRITE) T 15000 17200 9 10 1 0 90 6 1 I/O T 14700 17200 9 10 1 0 90 6 1 I/O T 14400 17200 9 10 1 0 90 6 1 I/O, VREF T 13800 17200 9 10 1 0 90 6 1 I/O T 13500 17200 9 10 1 0 90 6 1 I/O T 13200 17200 9 10 1 0 90 6 1 I/O T 12900 17200 9 10 1 0 90 6 1 GND T 12600 17200 9 10 1 0 90 6 1 VCCO T 12300 17200 9 10 1 0 90 6 1 VCCINT T 12000 17200 9 10 1 0 90 6 1 I/O T 11700 17200 9 10 1 0 90 6 1 I/O T 11400 17200 9 10 1 0 90 6 1 I/O T 11100 17200 9 10 1 0 90 6 1 I/O T 10800 17200 9 10 1 0 90 6 1 I/O T 10500 17200 9 10 1 0 90 6 1 GND T 10200 17200 9 10 1 0 90 6 1 I/O, VREF T 9900 17200 9 10 1 0 90 6 1 I/O T 9600 17200 9 10 1 0 90 6 1 I/O T 9300 17200 9 10 1 0 90 6 1 I/O T 9000 17200 9 10 1 0 90 6 1 I, GCK2 T 8100 17200 9 10 1 0 90 6 1 I, GCK3 T 8700 17200 9 10 1 0 90 6 1 GND T 8400 17200 9 10 1 0 90 6 1 VCCO T 7800 17200 9 10 1 0 90 6 1 VCCINT T 7500 17200 9 10 1 0 90 6 1 I/O T 7200 17200 9 10 1 0 90 6 1 I/O T 6900 17200 9 10 1 0 90 6 1 I/O, VREF T 6600 17200 9 10 1 0 90 6 1 GND T 6300 17200 9 10 1 0 90 6 1 I/O T 6000 17200 9 10 1 0 90 6 1 I/O T 5700 17200 9 10 1 0 90 6 1 I/O T 5400 17200 9 10 1 0 90 6 1 I/O T 5100 17200 9 10 1 0 90 6 1 I/O T 4800 17200 9 10 1 0 90 6 1 VCCINT T 4500 17200 9 10 1 0 90 6 1 VCCO T 4200 17200 9 10 1 0 90 6 1 GND T 3900 17200 9 10 1 0 90 6 1 I/O T 3600 17200 9 10 1 0 90 6 1 I/O T 3300 17200 9 10 1 0 90 6 1 I/O T 2700 17200 9 10 1 0 90 6 1 I/O, VREF T 2400 17200 9 10 1 0 90 6 1 I/O T 2100 17200 9 10 1 0 90 6 1 I/O T 1800 17200 9 10 1 0 90 6 1 I/O T 1500 17200 9 10 1 0 90 6 1 TCK T 1200 17200 9 10 1 0 90 6 1 VCCO L 1100 9100 2600 9100 3 0 0 0 -1 -1 L 900 16800 2600 15100 3 0 0 0 -1 -1 L 1100 1100 2600 2600 3 0 0 0 -1 -1 L 8600 1100 8600 2600 3 0 0 0 -1 -1 L 16600 1100 15100 2600 3 0 0 0 -1 -1 L 16600 8600 15100 8600 3 0 0 0 -1 -1 L 16600 16600 15100 15100 3 0 0 0 -1 -1 L 8400 16600 8400 15100 3 0 0 0 -1 -1 T 1600 12800 9 30 1 0 0 0 1 BANK7 T 1600 5200 9 30 1 0 0 0 1 BANK6 T 4100 1600 9 30 1 0 0 0 1 BANK5 T 11600 1600 9 30 1 0 0 0 1 BANK4 T 14100 5100 9 30 1 0 0 0 1 BANK3 T 14100 12800 9 30 1 0 0 0 1 BANK2 T 11600 15700 9 30 1 0 0 0 1 BANK1 T 3600 15700 9 30 1 0 0 0 1 BANK0 T 100 50 8 10 0 1 0 0 1 device=XC2S30-5PQ208C T 16600 17650 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/xilinx/XC2S100-6PQ208C.sym0000664000175000017500000007456012204104273015545 00000000000000v 20031231 1 P 100 12600 400 12600 1 0 0 { T 100 12650 5 10 1 1 0 0 1 pinnumber=14 T 100 12650 5 10 0 0 0 0 1 pinseq=14 } P 100 12300 400 12300 1 0 0 { T 100 12350 5 10 1 1 0 0 1 pinnumber=15 T 100 12350 5 10 0 0 0 0 1 pinseq=15 } P 100 12000 400 12000 1 0 0 { T 100 12050 5 10 1 1 0 0 1 pinnumber=16 T 100 12050 5 10 0 0 0 0 1 pinseq=16 } P 100 11700 400 11700 1 0 0 { T 100 11750 5 10 1 1 0 0 1 pinnumber=17 T 100 11750 5 10 0 0 0 0 1 pinseq=17 } P 100 11400 400 11400 1 0 0 { T 100 11450 5 10 1 1 0 0 1 pinnumber=18 T 100 11450 5 10 0 0 0 0 1 pinseq=18 } P 100 11100 400 11100 1 0 0 { T 100 11150 5 10 1 1 0 0 1 pinnumber=19 T 100 11150 5 10 0 0 0 0 1 pinseq=19 } P 100 10800 400 10800 1 0 0 { T 100 10850 5 10 1 1 0 0 1 pinnumber=20 T 100 10850 5 10 0 0 0 0 1 pinseq=20 } P 100 10500 400 10500 1 0 0 { T 100 10550 5 10 1 1 0 0 1 pinnumber=21 T 100 10550 5 10 0 0 0 0 1 pinseq=21 } P 100 10200 400 10200 1 0 0 { T 100 10250 5 10 1 1 0 0 1 pinnumber=22 T 100 10250 5 10 0 0 0 0 1 pinseq=22 } P 100 9900 400 9900 1 0 0 { T 100 9950 5 10 1 1 0 0 1 pinnumber=23 T 100 9950 5 10 0 0 0 0 1 pinseq=23 } P 100 9600 400 9600 1 0 0 { T 100 9650 5 10 1 1 0 0 1 pinnumber=24 T 100 9650 5 10 0 0 0 0 1 pinseq=24 } P 100 9300 400 9300 1 0 0 { T 100 9350 5 10 1 1 0 0 1 pinnumber=25 T 100 9350 5 10 0 0 0 0 1 pinseq=25 } P 100 9000 400 9000 1 0 0 { T 100 9050 5 10 1 1 0 0 1 pinnumber=26 T 100 9050 5 10 0 0 0 0 1 pinseq=26 } P 100 16500 400 16500 1 0 0 { T 100 16550 5 10 1 1 0 0 1 pinnumber=1 T 100 16550 5 10 0 0 0 0 1 pinseq=1 } P 100 16200 400 16200 1 0 0 { T 100 16250 5 10 1 1 0 0 1 pinnumber=2 T 100 16250 5 10 0 0 0 0 1 pinseq=2 } P 100 15900 400 15900 1 0 0 { T 100 15950 5 10 1 1 0 0 1 pinnumber=3 T 100 15950 5 10 0 0 0 0 1 pinseq=3 } P 100 15600 400 15600 1 0 0 { T 100 15650 5 10 1 1 0 0 1 pinnumber=4 T 100 15650 5 10 0 0 0 0 1 pinseq=4 } P 100 15300 400 15300 1 0 0 { T 100 15350 5 10 1 1 0 0 1 pinnumber=5 T 100 15350 5 10 0 0 0 0 1 pinseq=5 } P 100 15000 400 15000 1 0 0 { T 100 15050 5 10 1 1 0 0 1 pinnumber=6 T 100 15050 5 10 0 0 0 0 1 pinseq=6 } P 100 14700 400 14700 1 0 0 { T 100 14750 5 10 1 1 0 0 1 pinnumber=7 T 100 14750 5 10 0 0 0 0 1 pinseq=7 } P 100 14400 400 14400 1 0 0 { T 100 14450 5 10 1 1 0 0 1 pinnumber=8 T 100 14450 5 10 0 0 0 0 1 pinseq=8 } P 100 14100 400 14100 1 0 0 { T 100 14150 5 10 1 1 0 0 1 pinnumber=9 T 100 14150 5 10 0 0 0 0 1 pinseq=9 } P 100 13800 400 13800 1 0 0 { T 100 13850 5 10 1 1 0 0 1 pinnumber=10 T 100 13850 5 10 0 0 0 0 1 pinseq=10 } P 100 13500 400 13500 1 0 0 { T 100 13550 5 10 1 1 0 0 1 pinnumber=11 T 100 13550 5 10 0 0 0 0 1 pinseq=11 } P 100 13200 400 13200 1 0 0 { T 100 13250 5 10 1 1 0 0 1 pinnumber=12 T 100 13250 5 10 0 0 0 0 1 pinseq=12 } P 100 12900 400 12900 1 0 0 { T 100 12950 5 10 1 1 0 0 1 pinnumber=13 T 100 12950 5 10 0 0 0 0 1 pinseq=13 } P 100 8700 400 8700 1 0 0 { T 100 8750 5 10 1 1 0 0 1 pinnumber=27 T 100 8750 5 10 0 0 0 0 1 pinseq=27 } P 100 8400 400 8400 1 0 0 { T 100 8450 5 10 1 1 0 0 1 pinnumber=28 T 100 8450 5 10 0 0 0 0 1 pinseq=28 } P 100 8100 400 8100 1 0 0 { T 100 8150 5 10 1 1 0 0 1 pinnumber=29 T 100 8150 5 10 0 0 0 0 1 pinseq=29 } P 100 7800 400 7800 1 0 0 { T 100 7850 5 10 1 1 0 0 1 pinnumber=30 T 100 7850 5 10 0 0 0 0 1 pinseq=30 } P 100 7500 400 7500 1 0 0 { T 100 7550 5 10 1 1 0 0 1 pinnumber=31 T 100 7550 5 10 0 0 0 0 1 pinseq=31 } P 100 7200 400 7200 1 0 0 { T 100 7250 5 10 1 1 0 0 1 pinnumber=32 T 100 7250 5 10 0 0 0 0 1 pinseq=32 } P 100 6900 400 6900 1 0 0 { T 100 6950 5 10 1 1 0 0 1 pinnumber=33 T 100 6950 5 10 0 0 0 0 1 pinseq=33 } P 100 6600 400 6600 1 0 0 { T 100 6650 5 10 1 1 0 0 1 pinnumber=34 T 100 6650 5 10 0 0 0 0 1 pinseq=34 } P 100 6300 400 6300 1 0 0 { T 100 6350 5 10 1 1 0 0 1 pinnumber=35 T 100 6350 5 10 0 0 0 0 1 pinseq=35 } P 100 6000 400 6000 1 0 0 { T 100 6050 5 10 1 1 0 0 1 pinnumber=36 T 100 6050 5 10 0 0 0 0 1 pinseq=36 } P 100 5700 400 5700 1 0 0 { T 100 5750 5 10 1 1 0 0 1 pinnumber=37 T 100 5750 5 10 0 0 0 0 1 pinseq=37 } P 100 5400 400 5400 1 0 0 { T 100 5450 5 10 1 1 0 0 1 pinnumber=38 T 100 5450 5 10 0 0 0 0 1 pinseq=38 } P 100 5100 400 5100 1 0 0 { T 100 5150 5 10 1 1 0 0 1 pinnumber=39 T 100 5150 5 10 0 0 0 0 1 pinseq=39 } P 100 4800 400 4800 1 0 0 { T 100 4850 5 10 1 1 0 0 1 pinnumber=40 T 100 4850 5 10 0 0 0 0 1 pinseq=40 } P 100 4500 400 4500 1 0 0 { T 100 4550 5 10 1 1 0 0 1 pinnumber=41 T 100 4550 5 10 0 0 0 0 1 pinseq=41 } P 100 4200 400 4200 1 0 0 { T 100 4250 5 10 1 1 0 0 1 pinnumber=42 T 100 4250 5 10 0 0 0 0 1 pinseq=42 } P 100 3900 400 3900 1 0 0 { T 100 3950 5 10 1 1 0 0 1 pinnumber=43 T 100 3950 5 10 0 0 0 0 1 pinseq=43 } P 100 3600 400 3600 1 0 0 { T 100 3650 5 10 1 1 0 0 1 pinnumber=44 T 100 3650 5 10 0 0 0 0 1 pinseq=44 } P 100 3300 400 3300 1 0 0 { T 100 3350 5 10 1 1 0 0 1 pinnumber=45 T 100 3350 5 10 0 0 0 0 1 pinseq=45 } P 100 3000 400 3000 1 0 0 { T 100 3050 5 10 1 1 0 0 1 pinnumber=46 T 100 3050 5 10 0 0 0 0 1 pinseq=46 } P 100 2700 400 2700 1 0 0 { T 100 2750 5 10 1 1 0 0 1 pinnumber=47 T 100 2750 5 10 0 0 0 0 1 pinseq=47 } P 100 2400 400 2400 1 0 0 { T 100 2450 5 10 1 1 0 0 1 pinnumber=48 T 100 2450 5 10 0 0 0 0 1 pinseq=48 } P 100 2100 400 2100 1 0 0 { T 100 2150 5 10 1 1 0 0 1 pinnumber=49 T 100 2150 5 10 0 0 0 0 1 pinseq=49 } P 100 1800 400 1800 1 0 0 { T 100 1850 5 10 1 1 0 0 1 pinnumber=50 T 100 1850 5 10 0 0 0 0 1 pinseq=50 } P 100 1500 400 1500 1 0 0 { T 100 1550 5 10 1 1 0 0 1 pinnumber=51 T 100 1550 5 10 0 0 0 0 1 pinseq=51 } P 100 1200 400 1200 1 0 0 { T 100 1250 5 10 1 1 0 0 1 pinnumber=52 T 100 1250 5 10 0 0 0 0 1 pinseq=52 } P 1200 17300 1200 17600 1 0 1 { T 1150 17350 5 10 1 1 90 0 1 pinnumber=208 T 1150 17350 5 10 0 0 90 0 1 pinseq=208 } P 1500 17300 1500 17600 1 0 1 { T 1450 17350 5 10 1 1 90 0 1 pinnumber=207 T 1450 17350 5 10 0 0 90 0 1 pinseq=207 } P 1800 17300 1800 17600 1 0 1 { T 1750 17350 5 10 1 1 90 0 1 pinnumber=206 T 1750 17350 5 10 0 0 90 0 1 pinseq=206 } P 2100 17300 2100 17600 1 0 1 { T 2050 17350 5 10 1 1 90 0 1 pinnumber=205 T 2050 17350 5 10 0 0 90 0 1 pinseq=205 } P 2400 17300 2400 17600 1 0 1 { T 2350 17350 5 10 1 1 90 0 1 pinnumber=204 T 2350 17350 5 10 0 0 90 0 1 pinseq=204 } P 2700 17300 2700 17600 1 0 1 { T 2650 17350 5 10 1 1 90 0 1 pinnumber=203 T 2650 17350 5 10 0 0 90 0 1 pinseq=203 } P 3000 17300 3000 17600 1 0 1 { T 2950 17350 5 10 1 1 90 0 1 pinnumber=202 T 2950 17350 5 10 0 0 90 0 1 pinseq=202 } P 3300 17300 3300 17600 1 0 1 { T 3250 17350 5 10 1 1 90 0 1 pinnumber=201 T 3250 17350 5 10 0 0 90 0 1 pinseq=201 } P 3600 17300 3600 17600 1 0 1 { T 3550 17350 5 10 1 1 90 0 1 pinnumber=200 T 3550 17350 5 10 0 0 90 0 1 pinseq=200 } P 3900 17300 3900 17600 1 0 1 { T 3850 17350 5 10 1 1 90 0 1 pinnumber=199 T 3850 17350 5 10 0 0 90 0 1 pinseq=199 } P 4200 17300 4200 17600 1 0 1 { T 4150 17350 5 10 1 1 90 0 1 pinnumber=198 T 4150 17350 5 10 0 0 90 0 1 pinseq=198 } P 4500 17300 4500 17600 1 0 1 { T 4450 17350 5 10 1 1 90 0 1 pinnumber=197 T 4450 17350 5 10 0 0 90 0 1 pinseq=197 } P 4800 17300 4800 17600 1 0 1 { T 4750 17350 5 10 1 1 90 0 1 pinnumber=196 T 4750 17350 5 10 0 0 90 0 1 pinseq=196 } P 5100 17300 5100 17600 1 0 1 { T 5050 17350 5 10 1 1 90 0 1 pinnumber=195 T 5050 17350 5 10 0 0 90 0 1 pinseq=195 } P 5400 17300 5400 17600 1 0 1 { T 5350 17350 5 10 1 1 90 0 1 pinnumber=194 T 5350 17350 5 10 0 0 90 0 1 pinseq=194 } P 5700 17300 5700 17600 1 0 1 { T 5650 17350 5 10 1 1 90 0 1 pinnumber=193 T 5650 17350 5 10 0 0 90 0 1 pinseq=193 } P 6000 17300 6000 17600 1 0 1 { T 5950 17350 5 10 1 1 90 0 1 pinnumber=192 T 5950 17350 5 10 0 0 90 0 1 pinseq=192 } P 6300 17300 6300 17600 1 0 1 { T 6250 17350 5 10 1 1 90 0 1 pinnumber=191 T 6250 17350 5 10 0 0 90 0 1 pinseq=191 } P 6600 17300 6600 17600 1 0 1 { T 6550 17350 5 10 1 1 90 0 1 pinnumber=190 T 6550 17350 5 10 0 0 90 0 1 pinseq=190 } P 6900 17300 6900 17600 1 0 1 { T 6850 17350 5 10 1 1 90 0 1 pinnumber=189 T 6850 17350 5 10 0 0 90 0 1 pinseq=189 } P 7200 17300 7200 17600 1 0 1 { T 7150 17350 5 10 1 1 90 0 1 pinnumber=188 T 7150 17350 5 10 0 0 90 0 1 pinseq=188 } P 7500 17300 7500 17600 1 0 1 { T 7450 17350 5 10 1 1 90 0 1 pinnumber=187 T 7450 17350 5 10 0 0 90 0 1 pinseq=187 } P 7800 17300 7800 17600 1 0 1 { T 7750 17350 5 10 1 1 90 0 1 pinnumber=186 T 7750 17350 5 10 0 0 90 0 1 pinseq=186 } P 8100 17300 8100 17600 1 0 1 { T 8050 17350 5 10 1 1 90 0 1 pinnumber=185 T 8050 17350 5 10 0 0 90 0 1 pinseq=185 } P 8400 17300 8400 17600 1 0 1 { T 8350 17350 5 10 1 1 90 0 1 pinnumber=184 T 8350 17350 5 10 0 0 90 0 1 pinseq=184 } P 8700 17300 8700 17600 1 0 1 { T 8650 17350 5 10 1 1 90 0 1 pinnumber=183 T 8650 17350 5 10 0 0 90 0 1 pinseq=183 } P 9000 17300 9000 17600 1 0 1 { T 8950 17350 5 10 1 1 90 0 1 pinnumber=182 T 8950 17350 5 10 0 0 90 0 1 pinseq=182 } P 9300 17300 9300 17600 1 0 1 { T 9250 17350 5 10 1 1 90 0 1 pinnumber=181 T 9250 17350 5 10 0 0 90 0 1 pinseq=181 } P 9600 17300 9600 17600 1 0 1 { T 9550 17350 5 10 1 1 90 0 1 pinnumber=180 T 9550 17350 5 10 0 0 90 0 1 pinseq=180 } P 9900 17300 9900 17600 1 0 1 { T 9850 17350 5 10 1 1 90 0 1 pinnumber=179 T 9850 17350 5 10 0 0 90 0 1 pinseq=179 } P 10200 17300 10200 17600 1 0 1 { T 10150 17350 5 10 1 1 90 0 1 pinnumber=178 T 10150 17350 5 10 0 0 90 0 1 pinseq=178 } P 10500 17300 10500 17600 1 0 1 { T 10450 17350 5 10 1 1 90 0 1 pinnumber=177 T 10450 17350 5 10 0 0 90 0 1 pinseq=177 } P 10800 17300 10800 17600 1 0 1 { T 10750 17350 5 10 1 1 90 0 1 pinnumber=176 T 10750 17350 5 10 0 0 90 0 1 pinseq=176 } P 11100 17300 11100 17600 1 0 1 { T 11050 17350 5 10 1 1 90 0 1 pinnumber=175 T 11050 17350 5 10 0 0 90 0 1 pinseq=175 } P 11400 17300 11400 17600 1 0 1 { T 11350 17350 5 10 1 1 90 0 1 pinnumber=174 T 11350 17350 5 10 0 0 90 0 1 pinseq=174 } P 11700 17300 11700 17600 1 0 1 { T 11650 17350 5 10 1 1 90 0 1 pinnumber=173 T 11650 17350 5 10 0 0 90 0 1 pinseq=173 } P 12000 17300 12000 17600 1 0 1 { T 11950 17350 5 10 1 1 90 0 1 pinnumber=172 T 11950 17350 5 10 0 0 90 0 1 pinseq=172 } P 12300 17300 12300 17600 1 0 1 { T 12250 17350 5 10 1 1 90 0 1 pinnumber=171 T 12250 17350 5 10 0 0 90 0 1 pinseq=171 } P 12600 17300 12600 17600 1 0 1 { T 12550 17350 5 10 1 1 90 0 1 pinnumber=170 T 12550 17350 5 10 0 0 90 0 1 pinseq=170 } P 12900 17300 12900 17600 1 0 1 { T 12850 17350 5 10 1 1 90 0 1 pinnumber=169 T 12850 17350 5 10 0 0 90 0 1 pinseq=169 } P 13200 17300 13200 17600 1 0 1 { T 13150 17350 5 10 1 1 90 0 1 pinnumber=168 T 13150 17350 5 10 0 0 90 0 1 pinseq=168 } P 13500 17300 13500 17600 1 0 1 { T 13450 17350 5 10 1 1 90 0 1 pinnumber=167 T 13450 17350 5 10 0 0 90 0 1 pinseq=167 } P 13800 17300 13800 17600 1 0 1 { T 13750 17350 5 10 1 1 90 0 1 pinnumber=166 T 13750 17350 5 10 0 0 90 0 1 pinseq=166 } P 14100 17300 14100 17600 1 0 1 { T 14050 17350 5 10 1 1 90 0 1 pinnumber=165 T 14050 17350 5 10 0 0 90 0 1 pinseq=165 } P 14400 17300 14400 17600 1 0 1 { T 14350 17350 5 10 1 1 90 0 1 pinnumber=164 T 14350 17350 5 10 0 0 90 0 1 pinseq=164 } P 14700 17300 14700 17600 1 0 1 { T 14650 17350 5 10 1 1 90 0 1 pinnumber=163 T 14650 17350 5 10 0 0 90 0 1 pinseq=163 } P 15000 17300 15000 17600 1 0 1 { T 14950 17350 5 10 1 1 90 0 1 pinnumber=162 T 14950 17350 5 10 0 0 90 0 1 pinseq=162 } P 15300 17300 15300 17600 1 0 1 { T 15250 17350 5 10 1 1 90 0 1 pinnumber=161 T 15250 17350 5 10 0 0 90 0 1 pinseq=161 } P 15600 17300 15600 17600 1 0 1 { T 15550 17350 5 10 1 1 90 0 1 pinnumber=160 T 15550 17350 5 10 0 0 90 0 1 pinseq=160 } P 15900 17300 15900 17600 1 0 1 { T 15850 17350 5 10 1 1 90 0 1 pinnumber=159 T 15850 17350 5 10 0 0 90 0 1 pinseq=159 } P 16200 17300 16200 17600 1 0 1 { T 16150 17350 5 10 1 1 90 0 1 pinnumber=158 T 16150 17350 5 10 0 0 90 0 1 pinseq=158 } P 16500 17300 16500 17600 1 0 1 { T 16450 17350 5 10 1 1 90 0 1 pinnumber=157 T 16450 17350 5 10 0 0 90 0 1 pinseq=157 } P 1200 100 1200 400 1 0 0 { T 1150 100 5 10 1 1 90 0 1 pinnumber=53 T 1150 100 5 10 0 0 90 0 1 pinseq=53 } P 1500 100 1500 400 1 0 0 { T 1450 100 5 10 1 1 90 0 1 pinnumber=54 T 1450 100 5 10 0 0 90 0 1 pinseq=54 } P 1800 100 1800 400 1 0 0 { T 1750 100 5 10 1 1 90 0 1 pinnumber=55 T 1750 100 5 10 0 0 90 0 1 pinseq=55 } P 2100 100 2100 400 1 0 0 { T 2050 100 5 10 1 1 90 0 1 pinnumber=56 T 2050 100 5 10 0 0 90 0 1 pinseq=56 } P 2400 100 2400 400 1 0 0 { T 2350 100 5 10 1 1 90 0 1 pinnumber=57 T 2350 100 5 10 0 0 90 0 1 pinseq=57 } P 2700 100 2700 400 1 0 0 { T 2650 100 5 10 1 1 90 0 1 pinnumber=58 T 2650 100 5 10 0 0 90 0 1 pinseq=58 } P 3000 100 3000 400 1 0 0 { T 2950 100 5 10 1 1 90 0 1 pinnumber=59 T 2950 100 5 10 0 0 90 0 1 pinseq=59 } P 3300 100 3300 400 1 0 0 { T 3250 100 5 10 1 1 90 0 1 pinnumber=60 T 3250 100 5 10 0 0 90 0 1 pinseq=60 } P 3600 100 3600 400 1 0 0 { T 3550 100 5 10 1 1 90 0 1 pinnumber=61 T 3550 100 5 10 0 0 90 0 1 pinseq=61 } P 3900 100 3900 400 1 0 0 { T 3850 100 5 10 1 1 90 0 1 pinnumber=62 T 3850 100 5 10 0 0 90 0 1 pinseq=62 } P 4200 100 4200 400 1 0 0 { T 4150 100 5 10 1 1 90 0 1 pinnumber=63 T 4150 100 5 10 0 0 90 0 1 pinseq=63 } P 4500 100 4500 400 1 0 0 { T 4450 100 5 10 1 1 90 0 1 pinnumber=64 T 4450 100 5 10 0 0 90 0 1 pinseq=64 } P 4800 100 4800 400 1 0 0 { T 4750 100 5 10 1 1 90 0 1 pinnumber=65 T 4750 100 5 10 0 0 90 0 1 pinseq=65 } P 5100 100 5100 400 1 0 0 { T 5050 100 5 10 1 1 90 0 1 pinnumber=66 T 5050 100 5 10 0 0 90 0 1 pinseq=66 } P 5400 100 5400 400 1 0 0 { T 5350 100 5 10 1 1 90 0 1 pinnumber=67 T 5350 100 5 10 0 0 90 0 1 pinseq=67 } P 5700 100 5700 400 1 0 0 { T 5650 100 5 10 1 1 90 0 1 pinnumber=68 T 5650 100 5 10 0 0 90 0 1 pinseq=68 } P 6000 100 6000 400 1 0 0 { T 5950 100 5 10 1 1 90 0 1 pinnumber=69 T 5950 100 5 10 0 0 90 0 1 pinseq=69 } P 6300 100 6300 400 1 0 0 { T 6250 100 5 10 1 1 90 0 1 pinnumber=70 T 6250 100 5 10 0 0 90 0 1 pinseq=70 } P 6600 100 6600 400 1 0 0 { T 6550 100 5 10 1 1 90 0 1 pinnumber=71 T 6550 100 5 10 0 0 90 0 1 pinseq=71 } P 6900 100 6900 400 1 0 0 { T 6850 100 5 10 1 1 90 0 1 pinnumber=72 T 6850 100 5 10 0 0 90 0 1 pinseq=72 } P 7200 100 7200 400 1 0 0 { T 7150 100 5 10 1 1 90 0 1 pinnumber=73 T 7150 100 5 10 0 0 90 0 1 pinseq=73 } P 7500 100 7500 400 1 0 0 { T 7450 100 5 10 1 1 90 0 1 pinnumber=74 T 7450 100 5 10 0 0 90 0 1 pinseq=74 } P 7800 100 7800 400 1 0 0 { T 7750 100 5 10 1 1 90 0 1 pinnumber=75 T 7750 100 5 10 0 0 90 0 1 pinseq=75 } P 8100 100 8100 400 1 0 0 { T 8050 100 5 10 1 1 90 0 1 pinnumber=76 T 8050 100 5 10 0 0 90 0 1 pinseq=76 } P 8400 100 8400 400 1 0 0 { T 8350 100 5 10 1 1 90 0 1 pinnumber=77 T 8350 100 5 10 0 0 90 0 1 pinseq=77 } P 8700 100 8700 400 1 0 0 { T 8650 100 5 10 1 1 90 0 1 pinnumber=78 T 8650 100 5 10 0 0 90 0 1 pinseq=78 } P 9000 100 9000 400 1 0 0 { T 8950 100 5 10 1 1 90 0 1 pinnumber=79 T 8950 100 5 10 0 0 90 0 1 pinseq=79 } P 9300 100 9300 400 1 0 0 { T 9250 100 5 10 1 1 90 0 1 pinnumber=80 T 9250 100 5 10 0 0 90 0 1 pinseq=80 } P 9600 100 9600 400 1 0 0 { T 9550 100 5 10 1 1 90 0 1 pinnumber=81 T 9550 100 5 10 0 0 90 0 1 pinseq=81 } P 9900 100 9900 400 1 0 0 { T 9850 100 5 10 1 1 90 0 1 pinnumber=82 T 9850 100 5 10 0 0 90 0 1 pinseq=82 } P 10200 100 10200 400 1 0 0 { T 10150 100 5 10 1 1 90 0 1 pinnumber=83 T 10150 100 5 10 0 0 90 0 1 pinseq=83 } P 10500 100 10500 400 1 0 0 { T 10450 100 5 10 1 1 90 0 1 pinnumber=84 T 10450 100 5 10 0 0 90 0 1 pinseq=84 } P 10800 100 10800 400 1 0 0 { T 10750 100 5 10 1 1 90 0 1 pinnumber=85 T 10750 100 5 10 0 0 90 0 1 pinseq=85 } P 11100 100 11100 400 1 0 0 { T 11050 100 5 10 1 1 90 0 1 pinnumber=86 T 11050 100 5 10 0 0 90 0 1 pinseq=86 } P 11400 100 11400 400 1 0 0 { T 11350 100 5 10 1 1 90 0 1 pinnumber=87 T 11350 100 5 10 0 0 90 0 1 pinseq=87 } P 11700 100 11700 400 1 0 0 { T 11650 100 5 10 1 1 90 0 1 pinnumber=88 T 11650 100 5 10 0 0 90 0 1 pinseq=88 } P 12000 100 12000 400 1 0 0 { T 11950 100 5 10 1 1 90 0 1 pinnumber=89 T 11950 100 5 10 0 0 90 0 1 pinseq=89 } P 12300 100 12300 400 1 0 0 { T 12250 100 5 10 1 1 90 0 1 pinnumber=90 T 12250 100 5 10 0 0 90 0 1 pinseq=90 } P 12600 100 12600 400 1 0 0 { T 12550 100 5 10 1 1 90 0 1 pinnumber=91 T 12550 100 5 10 0 0 90 0 1 pinseq=91 } P 12900 100 12900 400 1 0 0 { T 12850 100 5 10 1 1 90 0 1 pinnumber=92 T 12850 100 5 10 0 0 90 0 1 pinseq=92 } P 13200 100 13200 400 1 0 0 { T 13150 100 5 10 1 1 90 0 1 pinnumber=93 T 13150 100 5 10 0 0 90 0 1 pinseq=93 } P 13500 100 13500 400 1 0 0 { T 13450 100 5 10 1 1 90 0 1 pinnumber=94 T 13450 100 5 10 0 0 90 0 1 pinseq=94 } P 13800 100 13800 400 1 0 0 { T 13750 100 5 10 1 1 90 0 1 pinnumber=95 T 13750 100 5 10 0 0 90 0 1 pinseq=95 } P 14100 100 14100 400 1 0 0 { T 14050 100 5 10 1 1 90 0 1 pinnumber=96 T 14050 100 5 10 0 0 90 0 1 pinseq=96 } P 14400 100 14400 400 1 0 0 { T 14350 100 5 10 1 1 90 0 1 pinnumber=97 T 14350 100 5 10 0 0 90 0 1 pinseq=97 } P 14700 100 14700 400 1 0 0 { T 14650 100 5 10 1 1 90 0 1 pinnumber=98 T 14650 100 5 10 0 0 90 0 1 pinseq=98 } P 15000 100 15000 400 1 0 0 { T 14950 100 5 10 1 1 90 0 1 pinnumber=99 T 14950 100 5 10 0 0 90 0 1 pinseq=99 } P 15300 100 15300 400 1 0 0 { T 15250 50 5 10 1 1 90 0 1 pinnumber=100 T 15250 50 5 10 0 0 90 0 1 pinseq=100 } P 15600 100 15600 400 1 0 0 { T 15550 50 5 10 1 1 90 0 1 pinnumber=101 T 15550 50 5 10 0 0 90 0 1 pinseq=101 } P 15900 100 15900 400 1 0 0 { T 15850 50 5 10 1 1 90 0 1 pinnumber=102 T 15850 50 5 10 0 0 90 0 1 pinseq=102 } P 16200 100 16200 400 1 0 0 { T 16150 50 5 10 1 1 90 0 1 pinnumber=103 T 16150 50 5 10 0 0 90 0 1 pinseq=103 } P 16500 100 16500 400 1 0 0 { T 16450 50 5 10 1 1 90 0 1 pinnumber=104 T 16450 50 5 10 0 0 90 0 1 pinseq=104 } P 17300 12600 17600 12600 1 0 1 { T 17350 12650 5 10 1 1 0 0 1 pinnumber=143 T 17350 12650 5 10 0 0 0 0 1 pinseq=143 } P 17300 12300 17600 12300 1 0 1 { T 17350 12350 5 10 1 1 0 0 1 pinnumber=142 T 17350 12350 5 10 0 0 0 0 1 pinseq=142 } P 17300 12000 17600 12000 1 0 1 { T 17350 12050 5 10 1 1 0 0 1 pinnumber=141 T 17350 12050 5 10 0 0 0 0 1 pinseq=141 } P 17300 11700 17600 11700 1 0 1 { T 17350 11750 5 10 1 1 0 0 1 pinnumber=140 T 17350 11750 5 10 0 0 0 0 1 pinseq=140 } P 17300 11400 17600 11400 1 0 1 { T 17350 11500 5 10 1 1 0 0 1 pinnumber=139 T 17350 11500 5 10 0 0 0 0 1 pinseq=139 } P 17300 11100 17600 11100 1 0 1 { T 17350 11150 5 10 1 1 0 0 1 pinnumber=138 T 17350 11150 5 10 0 0 0 0 1 pinseq=138 } P 17300 10800 17600 10800 1 0 1 { T 17350 10850 5 10 1 1 0 0 1 pinnumber=137 T 17350 10850 5 10 0 0 0 0 1 pinseq=137 } P 17300 10500 17600 10500 1 0 1 { T 17350 10550 5 10 1 1 0 0 1 pinnumber=136 T 17350 10550 5 10 0 0 0 0 1 pinseq=136 } P 17300 10200 17600 10200 1 0 1 { T 17350 10250 5 10 1 1 0 0 1 pinnumber=135 T 17350 10250 5 10 0 0 0 0 1 pinseq=135 } P 17300 9900 17600 9900 1 0 1 { T 17350 9950 5 10 1 1 0 0 1 pinnumber=134 T 17350 9950 5 10 0 0 0 0 1 pinseq=134 } P 17300 9600 17600 9600 1 0 1 { T 17350 9650 5 10 1 1 0 0 1 pinnumber=133 T 17350 9650 5 10 0 0 0 0 1 pinseq=133 } P 17300 9300 17600 9300 1 0 1 { T 17350 9350 5 10 1 1 0 0 1 pinnumber=132 T 17350 9350 5 10 0 0 0 0 1 pinseq=132 } P 17300 9000 17600 9000 1 0 1 { T 17350 9050 5 10 1 1 0 0 1 pinnumber=131 T 17350 9050 5 10 0 0 0 0 1 pinseq=131 } P 17300 16500 17600 16500 1 0 1 { T 17350 16550 5 10 1 1 0 0 1 pinnumber=156 T 17350 16550 5 10 0 0 0 0 1 pinseq=156 } P 17300 16200 17600 16200 1 0 1 { T 17350 16250 5 10 1 1 0 0 1 pinnumber=155 T 17350 16250 5 10 0 0 0 0 1 pinseq=155 } P 17300 15900 17600 15900 1 0 1 { T 17350 15950 5 10 1 1 0 0 1 pinnumber=154 T 17350 15950 5 10 0 0 0 0 1 pinseq=154 } P 17300 15600 17600 15600 1 0 1 { T 17350 15650 5 10 1 1 0 0 1 pinnumber=153 T 17350 15650 5 10 0 0 0 0 1 pinseq=153 } P 17300 15300 17600 15300 1 0 1 { T 17350 15350 5 10 1 1 0 0 1 pinnumber=152 T 17350 15350 5 10 0 0 0 0 1 pinseq=152 } P 17300 15000 17600 15000 1 0 1 { T 17350 15050 5 10 1 1 0 0 1 pinnumber=151 T 17350 15050 5 10 0 0 0 0 1 pinseq=151 } P 17300 14700 17600 14700 1 0 1 { T 17350 14750 5 10 1 1 0 0 1 pinnumber=150 T 17350 14750 5 10 0 0 0 0 1 pinseq=150 } P 17300 14400 17600 14400 1 0 1 { T 17350 14450 5 10 1 1 0 0 1 pinnumber=149 T 17350 14450 5 10 0 0 0 0 1 pinseq=149 } P 17300 14100 17600 14100 1 0 1 { T 17350 14150 5 10 1 1 0 0 1 pinnumber=148 T 17350 14150 5 10 0 0 0 0 1 pinseq=148 } P 17300 13800 17600 13800 1 0 1 { T 17350 13850 5 10 1 1 0 0 1 pinnumber=147 T 17350 13850 5 10 0 0 0 0 1 pinseq=147 } P 17300 13500 17600 13500 1 0 1 { T 17350 13550 5 10 1 1 0 0 1 pinnumber=146 T 17350 13550 5 10 0 0 0 0 1 pinseq=146 } P 17300 13200 17600 13200 1 0 1 { T 17350 13250 5 10 1 1 0 0 1 pinnumber=145 T 17350 13250 5 10 0 0 0 0 1 pinseq=145 } P 17300 12900 17600 12900 1 0 1 { T 17350 12950 5 10 1 1 0 0 1 pinnumber=144 T 17350 12950 5 10 0 0 0 0 1 pinseq=144 } P 17300 8700 17600 8700 1 0 1 { T 17350 8750 5 10 1 1 0 0 1 pinnumber=130 T 17350 8750 5 10 0 0 0 0 1 pinseq=130 } P 17300 8400 17600 8400 1 0 1 { T 17350 8450 5 10 1 1 0 0 1 pinnumber=129 T 17350 8450 5 10 0 0 0 0 1 pinseq=129 } P 17300 8100 17600 8100 1 0 1 { T 17350 8150 5 10 1 1 0 0 1 pinnumber=128 T 17350 8150 5 10 0 0 0 0 1 pinseq=128 } P 17300 7800 17600 7800 1 0 1 { T 17350 7850 5 10 1 1 0 0 1 pinnumber=127 T 17350 7850 5 10 0 0 0 0 1 pinseq=127 } P 17300 7500 17600 7500 1 0 1 { T 17350 7550 5 10 1 1 0 0 1 pinnumber=126 T 17350 7550 5 10 0 0 0 0 1 pinseq=126 } P 17300 7200 17600 7200 1 0 1 { T 17350 7250 5 10 1 1 0 0 1 pinnumber=125 T 17350 7250 5 10 0 0 0 0 1 pinseq=125 } P 17300 6900 17600 6900 1 0 1 { T 17350 6950 5 10 1 1 0 0 1 pinnumber=124 T 17350 6950 5 10 0 0 0 0 1 pinseq=124 } P 17300 6600 17600 6600 1 0 1 { T 17350 6650 5 10 1 1 0 0 1 pinnumber=123 T 17350 6650 5 10 0 0 0 0 1 pinseq=123 } P 17300 6300 17600 6300 1 0 1 { T 17350 6350 5 10 1 1 0 0 1 pinnumber=122 T 17350 6350 5 10 0 0 0 0 1 pinseq=122 } P 17300 6000 17600 6000 1 0 1 { T 17350 6050 5 10 1 1 0 0 1 pinnumber=121 T 17350 6050 5 10 0 0 0 0 1 pinseq=121 } P 17300 5700 17600 5700 1 0 1 { T 17350 5750 5 10 1 1 0 0 1 pinnumber=120 T 17350 5750 5 10 0 0 0 0 1 pinseq=120 } P 17300 5400 17600 5400 1 0 1 { T 17350 5450 5 10 1 1 0 0 1 pinnumber=119 T 17350 5450 5 10 0 0 0 0 1 pinseq=119 } P 17300 5100 17600 5100 1 0 1 { T 17350 5150 5 10 1 1 0 0 1 pinnumber=118 T 17350 5150 5 10 0 0 0 0 1 pinseq=118 } P 17300 4800 17600 4800 1 0 1 { T 17350 4850 5 10 1 1 0 0 1 pinnumber=117 T 17350 4850 5 10 0 0 0 0 1 pinseq=117 } P 17300 4500 17600 4500 1 0 1 { T 17350 4550 5 10 1 1 0 0 1 pinnumber=116 T 17350 4550 5 10 0 0 0 0 1 pinseq=116 } P 17300 4200 17600 4200 1 0 1 { T 17350 4250 5 10 1 1 0 0 1 pinnumber=115 T 17350 4250 5 10 0 0 0 0 1 pinseq=115 } P 17300 3900 17600 3900 1 0 1 { T 17350 3950 5 10 1 1 0 0 1 pinnumber=114 T 17350 3950 5 10 0 0 0 0 1 pinseq=114 } P 17300 3600 17600 3600 1 0 1 { T 17350 3650 5 10 1 1 0 0 1 pinnumber=113 T 17350 3650 5 10 0 0 0 0 1 pinseq=113 } P 17300 3300 17600 3300 1 0 1 { T 17350 3350 5 10 1 1 0 0 1 pinnumber=112 T 17350 3350 5 10 0 0 0 0 1 pinseq=112 } P 17300 3000 17600 3000 1 0 1 { T 17350 3050 5 10 1 1 0 0 1 pinnumber=111 T 17350 3050 5 10 0 0 0 0 1 pinseq=111 } P 17300 2700 17600 2700 1 0 1 { T 17350 2750 5 10 1 1 0 0 1 pinnumber=110 T 17350 2750 5 10 0 0 0 0 1 pinseq=110 } P 17300 2400 17600 2400 1 0 1 { T 17350 2450 5 10 1 1 0 0 1 pinnumber=109 T 17350 2450 5 10 0 0 0 0 1 pinseq=109 } P 17300 2100 17600 2100 1 0 1 { T 17350 2150 5 10 1 1 0 0 1 pinnumber=108 T 17350 2150 5 10 0 0 0 0 1 pinseq=108 } P 17300 1800 17600 1800 1 0 1 { T 17350 1850 5 10 1 1 0 0 1 pinnumber=107 T 17350 1850 5 10 0 0 0 0 1 pinseq=107 } P 17300 1500 17600 1500 1 0 1 { T 17350 1550 5 10 1 1 0 0 1 pinnumber=106 T 17350 1550 5 10 0 0 0 0 1 pinseq=106 } P 17300 1200 17600 1200 1 0 1 { T 17350 1250 5 10 1 1 0 0 1 pinnumber=105 T 17350 1250 5 10 0 0 0 0 1 pinseq=105 } B 400 400 16900 16900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 17300 5 10 0 1 0 0 1 device=XC2S100-6PQ208C T 16600 17650 8 10 1 1 0 0 1 refdes=U? T 500 16500 9 10 1 0 0 0 1 GND T 500 13500 9 10 1 0 0 0 1 GND T 500 11100 9 10 1 0 0 0 1 GND T 500 16200 9 10 1 0 0 0 1 TMS T 500 15900 9 10 1 0 0 0 1 I/O T 500 15600 9 10 1 0 0 0 1 I/O T 500 14400 9 10 1 0 0 0 1 I/O T 500 15000 9 10 1 0 0 0 1 I/O, VREF T 500 14100 9 10 1 0 0 0 1 I/O, VREF T 500 13800 9 10 1 0 0 0 1 I/O T 500 13200 9 10 1 0 0 0 1 VCCO T 500 12600 9 10 1 0 0 0 1 I/O T 500 12300 9 10 1 0 0 0 1 I/O T 500 12000 9 10 1 0 0 0 1 I/O T 500 11700 9 10 1 0 0 0 1 I/O T 500 11400 9 10 1 0 0 0 1 I/O T 500 15300 9 10 1 0 0 0 1 I/O T 500 10800 9 10 1 0 0 0 1 I/O, VREF T 500 10500 9 10 1 0 0 0 1 I/O T 500 10200 9 10 1 0 0 0 1 I/O T 500 9900 9 10 1 0 0 0 1 I/O T 500 9600 9 10 1 0 0 0 1 I/O, IRDY T 500 1500 9 10 1 0 0 0 1 GND T 500 4800 9 10 1 0 0 0 1 GND T 500 7200 9 10 1 0 0 0 1 GND T 500 9300 9 10 1 0 0 0 1 GND T 500 9000 9 10 1 0 0 0 1 VCCO T 500 5100 9 10 1 0 0 0 1 VCCO T 500 8400 9 10 1 0 0 0 1 VCCINT T 500 7500 9 10 1 0 0 0 1 I/O, VREF T 500 3300 9 10 1 0 0 0 1 I/O, VREF T 500 8700 9 10 1 0 0 0 1 I/O, TRDY T 500 8100 9 10 1 0 0 0 1 I/O T 500 7800 9 10 1 0 0 0 1 I/O T 500 6900 9 10 1 0 0 0 1 I/O T 500 6600 9 10 1 0 0 0 1 I/O T 500 6300 9 10 1 0 0 0 1 I/O T 500 6000 9 10 1 0 0 0 1 I/O T 500 5700 9 10 1 0 0 0 1 I/O T 500 4500 9 10 1 0 0 0 1 I/O T 500 4200 9 10 1 0 0 0 1 I/O, VREF T 500 3900 9 10 1 0 0 0 1 I/O T 500 3000 9 10 1 0 0 0 1 I/O T 500 2700 9 10 1 0 0 0 1 I/O T 500 2400 9 10 1 0 0 0 1 I/O T 500 2100 9 10 1 0 0 0 1 I/O T 500 1800 9 10 1 0 0 0 1 M1 T 500 1200 9 10 1 0 0 0 1 M0 T 500 3600 9 10 1 0 0 0 1 I/O T 500 14700 9 10 1 0 0 0 1 I/O T 500 12900 9 10 1 0 0 0 1 VCCINT T 500 5400 9 10 1 0 0 0 1 VCCINT T 16600 17450 9 10 1 0 0 0 1 XC2S100-6PQ208C T 1200 500 9 10 1 0 90 0 1 VCCO T 1500 500 9 10 1 0 90 0 1 M2 T 2400 500 9 10 1 0 90 0 1 I/O T 2700 500 9 10 1 0 90 0 1 I/O T 3000 500 9 10 1 0 90 0 1 I/O, VREF T 3300 500 9 10 1 0 90 0 1 I/O T 3600 500 9 10 1 0 90 0 1 I/O T 3900 500 9 10 1 0 90 0 1 I/O, VREF T 4200 500 9 10 1 0 90 0 1 I/O T 4500 500 9 10 1 0 90 0 1 GND T 4800 500 9 10 1 0 90 0 1 VCCO T 5100 500 9 10 1 0 90 0 1 VCCINT T 5400 500 9 10 1 0 90 0 1 I/O T 5700 500 9 10 1 0 90 0 1 I/O T 6000 500 9 10 1 0 90 0 1 I/O T 6300 500 9 10 1 0 90 0 1 I/O T 6600 500 9 10 1 0 90 0 1 I/O T 6900 500 9 10 1 0 90 0 1 GND T 7200 500 9 10 1 0 90 0 1 I/O, VREF T 7500 500 9 10 1 0 90 0 1 I/O T 7800 500 9 10 1 0 90 0 1 I/O T 8100 500 9 10 1 0 90 0 1 VCCINT T 8400 500 9 10 1 0 90 0 1 I, GCK1 T 9300 500 9 10 1 0 90 0 1 I, GCK0 T 8700 500 9 10 1 0 90 0 1 VCCO T 9000 500 9 10 1 0 90 0 1 GND T 9600 500 9 10 1 0 90 0 1 I/O T 9900 500 9 10 1 0 90 0 1 I/O T 10200 500 9 10 1 0 90 0 1 I/O T 10500 500 9 10 1 0 90 0 1 I/O, VREF T 10800 500 9 10 1 0 90 0 1 GND T 11100 500 9 10 1 0 90 0 1 I/O T 11400 500 9 10 1 0 90 0 1 I/O T 11700 500 9 10 1 0 90 0 1 I/O T 12000 500 9 10 1 0 90 0 1 I/O T 12300 500 9 10 1 0 90 0 1 I/O T 12600 500 9 10 1 0 90 0 1 VCCINT T 12900 500 9 10 1 0 90 0 1 VCCO T 13200 500 9 10 1 0 90 0 1 GND T 13500 500 9 10 1 0 90 0 1 I/O T 13800 500 9 10 1 0 90 0 1 I/O, VREF T 14100 500 9 10 1 0 90 0 1 I/O T 14400 500 9 10 1 0 90 0 1 I/O T 14700 500 9 10 1 0 90 0 1 I/O, VREF T 15000 500 9 10 1 0 90 0 1 I/O T 15300 500 9 10 1 0 90 0 1 I/O T 15600 500 9 10 1 0 90 0 1 I/O T 15900 500 9 10 1 0 90 0 1 I/O T 16200 500 9 10 1 0 90 0 1 GND T 16500 500 9 10 1 0 90 0 1 DONE T 17200 1200 9 10 1 0 0 6 1 VCCO T 17200 1500 9 10 1 0 0 6 1 PROGRAM T 17200 1800 9 10 1 0 0 6 1 I/O (INIT) T 17200 2100 9 10 1 0 0 6 1 I/O (D7) T 17200 2400 9 10 1 0 0 6 1 I/O T 17200 2700 9 10 1 0 0 6 1 I/O T 17200 3000 9 10 1 0 0 6 1 I/O, VREF T 17200 3300 9 10 1 0 0 6 1 I/O T 17200 3600 9 10 1 0 0 6 1 I/O T 17200 3900 9 10 1 0 0 6 1 I/O, VREF T 17200 4200 9 10 1 0 0 6 1 I/O (D6) T 17200 4500 9 10 1 0 0 6 1 GND T 17200 4800 9 10 1 0 0 6 1 VCCO T 17200 5100 9 10 1 0 0 6 1 VCCINT T 17200 5400 9 10 1 0 0 6 1 I/O (D5) T 17200 5700 9 10 1 0 0 6 1 I/O T 17200 6000 9 10 1 0 0 6 1 I/O T 17200 6300 9 10 1 0 0 6 1 I/O T 17200 6600 9 10 1 0 0 6 1 I/O T 17200 6900 9 10 1 0 0 6 1 GND T 17200 7200 9 10 1 0 0 6 1 I/O, VREF T 17200 7500 9 10 1 0 0 6 1 I/O (D4) T 17200 7800 9 10 1 0 0 6 1 I/O T 17200 8100 9 10 1 0 0 6 1 VCCINT T 17200 8400 9 10 1 0 0 6 1 I/O, TRDY T 17200 8700 9 10 1 0 0 6 1 VCCO T 17200 9000 9 10 1 0 0 6 1 GND T 17200 9300 9 10 1 0 0 6 1 I/O, IRDY T 17200 9600 9 10 1 0 0 6 1 I/O T 17200 9900 9 10 1 0 0 6 1 I/O T 17200 10200 9 10 1 0 0 6 1 I/O (D3) T 17200 10500 9 10 1 0 0 6 1 I/O, VREF T 17200 10800 9 10 1 0 0 6 1 GND T 17200 11100 9 10 1 0 0 6 1 I/O T 17200 11400 9 10 1 0 0 6 1 I/O T 17200 11700 9 10 1 0 0 6 1 I/O T 17200 12000 9 10 1 0 0 6 1 I/O T 17200 12300 9 10 1 0 0 6 1 I/O (D2) T 17200 12600 9 10 1 0 0 6 1 VCCINT T 17200 12900 9 10 1 0 0 6 1 VCCO T 17200 13200 9 10 1 0 0 6 1 GND T 17200 13500 9 10 1 0 0 6 1 I/O (D1) T 17200 13800 9 10 1 0 0 6 1 I/O, VREF T 17200 14100 9 10 1 0 0 6 1 I/O T 17200 14400 9 10 1 0 0 6 1 I/O T 17200 14700 9 10 1 0 0 6 1 I/O, VREF T 17200 15000 9 10 1 0 0 6 1 I/O T 17200 15300 9 10 1 0 0 6 1 I/O T 17200 15600 9 10 1 0 0 6 1 I/O (DIN, D0) T 17200 15900 9 10 1 0 0 6 1 I/O (DOUT, BUSY) T 17200 16200 9 10 1 0 0 6 1 CCLK T 17200 16500 9 10 1 0 0 6 1 VCCO T 16500 17200 9 10 1 0 90 6 1 TDO T 16200 17200 9 10 1 0 90 6 1 GND T 15900 17200 9 10 1 0 90 6 1 TDI T 15600 17200 9 10 1 0 90 6 1 I/O (CS) T 15300 17200 9 10 1 0 90 6 1 I/O (WRITE) T 15000 17200 9 10 1 0 90 6 1 I/O T 14700 17200 9 10 1 0 90 6 1 I/O T 14400 17200 9 10 1 0 90 6 1 I/O, VREF T 14100 17200 9 10 1 0 90 6 1 I/O T 13800 17200 9 10 1 0 90 6 1 I/O T 13500 17200 9 10 1 0 90 6 1 I/O, VREF T 13200 17200 9 10 1 0 90 6 1 I/O T 12900 17200 9 10 1 0 90 6 1 GND T 12600 17200 9 10 1 0 90 6 1 VCCO T 12300 17200 9 10 1 0 90 6 1 VCCINT T 12000 17200 9 10 1 0 90 6 1 I/O T 11700 17200 9 10 1 0 90 6 1 I/O T 11400 17200 9 10 1 0 90 6 1 I/O T 11100 17200 9 10 1 0 90 6 1 I/O T 10800 17200 9 10 1 0 90 6 1 I/O T 10500 17200 9 10 1 0 90 6 1 GND T 10200 17200 9 10 1 0 90 6 1 I/O, VREF T 9900 17200 9 10 1 0 90 6 1 I/O T 9600 17200 9 10 1 0 90 6 1 I/O T 9300 17200 9 10 1 0 90 6 1 I/O T 9000 17200 9 10 1 0 90 6 1 I, GCK2 T 8100 17200 9 10 1 0 90 6 1 I, GCK3 T 8700 17200 9 10 1 0 90 6 1 GND T 8400 17200 9 10 1 0 90 6 1 VCCO T 7800 17200 9 10 1 0 90 6 1 VCCINT T 7500 17200 9 10 1 0 90 6 1 I/O T 7200 17200 9 10 1 0 90 6 1 I/O T 6900 17200 9 10 1 0 90 6 1 I/O, VREF T 6600 17200 9 10 1 0 90 6 1 GND T 6300 17200 9 10 1 0 90 6 1 I/O T 6000 17200 9 10 1 0 90 6 1 I/O T 5700 17200 9 10 1 0 90 6 1 I/O T 5400 17200 9 10 1 0 90 6 1 I/O T 5100 17200 9 10 1 0 90 6 1 I/O T 4800 17200 9 10 1 0 90 6 1 VCCINT T 4500 17200 9 10 1 0 90 6 1 VCCO T 4200 17200 9 10 1 0 90 6 1 GND T 3900 17200 9 10 1 0 90 6 1 I/O T 3600 17200 9 10 1 0 90 6 1 I/O, VREF T 3300 17200 9 10 1 0 90 6 1 I/O T 3000 17200 9 10 1 0 90 6 1 I/O T 2700 17200 9 10 1 0 90 6 1 I/O, VREF T 2400 17200 9 10 1 0 90 6 1 I/O T 2100 17200 9 10 1 0 90 6 1 I/O T 1800 17200 9 10 1 0 90 6 1 I/O T 1500 17200 9 10 1 0 90 6 1 TCK T 1200 17200 9 10 1 0 90 6 1 VCCO L 1100 9100 2600 9100 3 0 0 0 -1 -1 L 900 16800 2600 15100 3 0 0 0 -1 -1 L 1100 1100 2600 2600 3 0 0 0 -1 -1 L 8600 1100 8600 2600 3 0 0 0 -1 -1 L 16600 1100 15100 2600 3 0 0 0 -1 -1 L 16600 8600 15100 8600 3 0 0 0 -1 -1 L 16600 16600 15100 15100 3 0 0 0 -1 -1 L 8400 16600 8400 15100 3 0 0 0 -1 -1 T 1600 12800 9 30 1 0 0 0 1 BANK7 T 1600 5200 9 30 1 0 0 0 1 BANK6 T 4100 1600 9 30 1 0 0 0 1 BANK5 T 11600 1600 9 30 1 0 0 0 1 BANK4 T 14100 5100 9 30 1 0 0 0 1 BANK3 T 14100 12800 9 30 1 0 0 0 1 BANK2 T 11600 15700 9 30 1 0 0 0 1 BANK1 T 3600 15700 9 30 1 0 0 0 1 BANK0 geda-gaf-1.8.2/symbols/connector/0000775000175000017500000000000012220655764013653 500000000000000geda-gaf-1.8.2/symbols/connector/header18-2.sym0000664000175000017500000000720512204104272016052 00000000000000v 20031231 1 P 1100 3400 1400 3400 1 0 1 { T 1200 3450 5 8 1 1 0 0 1 pinnumber=2 T 1200 3450 5 8 0 0 0 0 1 pinseq=2 T 1200 3450 5 8 0 1 0 0 1 pinlabel=2 T 1200 3450 5 8 0 1 0 0 1 pintype=pas } P 0 3000 300 3000 1 0 0 { T 100 3050 5 8 1 1 0 0 1 pinnumber=3 T 100 3050 5 8 0 0 0 0 1 pinseq=3 T 100 3050 5 8 0 1 0 0 1 pinlabel=3 T 100 3050 5 8 0 1 0 0 1 pintype=pas } P 1100 3000 1400 3000 1 0 1 { T 1200 3050 5 8 1 1 0 0 1 pinnumber=4 T 1200 3050 5 8 0 0 0 0 1 pinseq=4 T 1200 3050 5 8 0 1 0 0 1 pinlabel=4 T 1200 3050 5 8 0 1 0 0 1 pintype=pas } P 0 3400 300 3400 1 0 0 { T 150 3450 5 8 1 1 0 0 1 pinnumber=1 T 150 3450 5 8 0 0 0 0 1 pinseq=1 T 150 3450 5 8 0 1 0 0 1 pinlabel=1 T 150 3450 5 8 0 1 0 0 1 pintype=pas } P 0 2600 300 2600 1 0 0 { T 100 2650 5 8 1 1 0 0 1 pinnumber=5 T 100 2650 5 8 0 0 0 0 1 pinseq=5 T 100 2650 5 8 0 1 0 0 1 pinlabel=5 T 100 2650 5 8 0 1 0 0 1 pintype=pas } L 300 2800 1100 2800 3 0 0 0 -1 -1 L 300 2400 1100 2400 3 0 0 0 -1 -1 L 300 3200 1100 3200 3 0 0 0 -1 -1 L 300 2000 1100 2000 3 0 0 0 -1 -1 T 50 -650 5 10 0 1 0 0 1 device=HEADER18 P 1100 1800 1400 1800 1 0 1 { T 1200 1850 5 8 1 1 0 0 1 pinnumber=10 T 1200 1850 5 8 0 0 0 0 1 pinseq=10 T 1200 1850 5 8 0 1 0 0 1 pinlabel=10 T 1200 1850 5 8 0 1 0 0 1 pintype=pas } P 0 1800 300 1800 1 0 0 { T 100 1850 5 8 1 1 0 0 1 pinnumber=9 T 100 1850 5 8 0 0 0 0 1 pinseq=9 T 100 1850 5 8 0 1 0 0 1 pinlabel=9 T 100 1850 5 8 0 1 0 0 1 pintype=pas } P 1100 2200 1400 2200 1 0 1 { T 1200 2250 5 8 1 1 0 0 1 pinnumber=8 T 1200 2250 5 8 0 0 0 0 1 pinseq=8 T 1200 2250 5 8 0 1 0 0 1 pinlabel=8 T 1200 2250 5 8 0 1 0 0 1 pintype=pas } P 0 2200 300 2200 1 0 0 { T 100 2250 5 8 1 1 0 0 1 pinnumber=7 T 100 2250 5 8 0 0 0 0 1 pinseq=7 T 100 2250 5 8 0 1 0 0 1 pinlabel=7 T 100 2250 5 8 0 1 0 0 1 pintype=pas } P 1100 2600 1400 2600 1 0 1 { T 1200 2650 5 8 1 1 0 0 1 pinnumber=6 T 1200 2650 5 8 0 0 0 0 1 pinseq=6 T 1200 2650 5 8 0 1 0 0 1 pinlabel=6 T 1200 2650 5 8 0 1 0 0 1 pintype=pas } T 600 3700 8 10 1 1 0 0 1 refdes=J? P 1100 200 1400 200 1 0 1 { T 1200 250 5 8 1 1 0 0 1 pinnumber=18 T 1200 250 5 8 0 0 0 0 1 pinseq=18 T 1200 250 5 8 0 1 0 0 1 pinlabel=18 T 1200 250 5 8 0 1 0 0 1 pintype=pas } P 0 200 300 200 1 0 0 { T 100 250 5 8 1 1 0 0 1 pinnumber=17 T 100 250 5 8 0 0 0 0 1 pinseq=17 T 100 250 5 8 0 1 0 0 1 pinlabel=17 T 100 250 5 8 0 1 0 0 1 pintype=pas } P 1100 600 1400 600 1 0 1 { T 1200 650 5 8 1 1 0 0 1 pinnumber=16 T 1200 650 5 8 0 0 0 0 1 pinseq=16 T 1200 650 5 8 0 1 0 0 1 pinlabel=16 T 1200 650 5 8 0 1 0 0 1 pintype=pas } L 300 800 1100 800 3 0 0 0 -1 -1 L 300 400 1100 400 3 0 0 0 -1 -1 L 300 1200 1100 1200 3 0 0 0 -1 -1 P 0 600 300 600 1 0 0 { T 100 650 5 8 1 1 0 0 1 pinnumber=15 T 100 650 5 8 0 0 0 0 1 pinseq=15 T 100 650 5 8 0 1 0 0 1 pinlabel=15 T 100 650 5 8 0 1 0 0 1 pintype=pas } P 1100 1000 1400 1000 1 0 1 { T 1200 1050 5 8 1 1 0 0 1 pinnumber=14 T 1200 1050 5 8 0 0 0 0 1 pinseq=14 T 1200 1050 5 8 0 1 0 0 1 pinlabel=14 T 1200 1050 5 8 0 1 0 0 1 pintype=pas } P 0 1000 300 1000 1 0 0 { T 100 1050 5 8 1 1 0 0 1 pinnumber=13 T 100 1050 5 8 0 0 0 0 1 pinseq=13 T 100 1050 5 8 0 1 0 0 1 pinlabel=13 T 100 1050 5 8 0 1 0 0 1 pintype=pas } P 1100 1400 1400 1400 1 0 1 { T 1200 1450 5 8 1 1 0 0 1 pinnumber=12 T 1200 1450 5 8 0 0 0 0 1 pinseq=12 T 1200 1450 5 8 0 1 0 0 1 pinlabel=12 T 1200 1450 5 8 0 1 0 0 1 pintype=pas } P 0 1400 300 1400 1 0 0 { T 100 1450 5 8 1 1 0 0 1 pinnumber=11 T 100 1450 5 8 0 0 0 0 1 pinseq=11 T 100 1450 5 8 0 1 0 0 1 pinlabel=11 T 100 1450 5 8 0 1 0 0 1 pintype=pas } B 300 0 800 3600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 300 1600 1100 1600 3 0 0 0 -1 -1 L 700 3600 700 0 3 0 0 0 -1 -1 T 0 -200 8 10 0 0 0 0 1 pins=18 T 0 -400 8 10 0 0 0 0 1 class=IO geda-gaf-1.8.2/symbols/connector/connector30-2.sym0000664000175000017500000001552212204104272016607 00000000000000v 20041228 1 T 800 12600 8 10 1 1 0 6 1 refdes=CONN? T 400 12550 5 10 0 0 0 0 1 device=CONNECTOR_30 T 400 12750 5 10 0 0 0 0 1 footprint=SIP30N T 400 12950 5 10 0 0 0 0 1 author=Leon Kos T 400 13150 5 10 0 0 0 0 1 description=generic connector T 400 13350 5 10 0 0 0 0 1 numslots=0 P 100 12100 300 12100 1 0 0 { T 300 12150 5 8 0 1 0 6 1 pinnumber=1 T 300 12050 5 8 0 1 0 8 1 pinseq=1 T 450 12100 9 8 1 1 0 0 1 pinlabel=1 T 450 12100 5 8 0 1 0 2 1 pintype=pas } V 350 12100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 11700 300 11700 1 0 0 { T 300 11750 5 8 0 1 0 6 1 pinnumber=2 T 300 11650 5 8 0 1 0 8 1 pinseq=2 T 450 11700 9 8 1 1 0 0 1 pinlabel=2 T 450 11700 5 8 0 1 0 2 1 pintype=pas } V 350 11700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 11300 300 11300 1 0 0 { T 300 11350 5 8 0 1 0 6 1 pinnumber=3 T 300 11250 5 8 0 1 0 8 1 pinseq=3 T 450 11300 9 8 1 1 0 0 1 pinlabel=3 T 450 11300 5 8 0 1 0 2 1 pintype=pas } V 350 11300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 10900 300 10900 1 0 0 { T 300 10950 5 8 0 1 0 6 1 pinnumber=4 T 300 10850 5 8 0 1 0 8 1 pinseq=4 T 450 10900 9 8 1 1 0 0 1 pinlabel=4 T 450 10900 5 8 0 1 0 2 1 pintype=pas } V 350 10900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 10500 300 10500 1 0 0 { T 300 10550 5 8 0 1 0 6 1 pinnumber=5 T 300 10450 5 8 0 1 0 8 1 pinseq=5 T 450 10500 9 8 1 1 0 0 1 pinlabel=5 T 450 10500 5 8 0 1 0 2 1 pintype=pas } V 350 10500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 10100 300 10100 1 0 0 { T 300 10150 5 8 0 1 0 6 1 pinnumber=6 T 300 10050 5 8 0 1 0 8 1 pinseq=6 T 450 10100 9 8 1 1 0 0 1 pinlabel=6 T 450 10100 5 8 0 1 0 2 1 pintype=pas } V 350 10100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 9700 300 9700 1 0 0 { T 300 9750 5 8 0 1 0 6 1 pinnumber=7 T 300 9650 5 8 0 1 0 8 1 pinseq=7 T 450 9700 9 8 1 1 0 0 1 pinlabel=7 T 450 9700 5 8 0 1 0 2 1 pintype=pas } V 350 9700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 9300 300 9300 1 0 0 { T 300 9350 5 8 0 1 0 6 1 pinnumber=8 T 300 9250 5 8 0 1 0 8 1 pinseq=8 T 450 9300 9 8 1 1 0 0 1 pinlabel=8 T 450 9300 5 8 0 1 0 2 1 pintype=pas } V 350 9300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8900 300 8900 1 0 0 { T 300 8950 5 8 0 1 0 6 1 pinnumber=9 T 300 8850 5 8 0 1 0 8 1 pinseq=9 T 450 8900 9 8 1 1 0 0 1 pinlabel=9 T 450 8900 5 8 0 1 0 2 1 pintype=pas } V 350 8900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8500 300 8500 1 0 0 { T 300 8550 5 8 0 1 0 6 1 pinnumber=10 T 300 8450 5 8 0 1 0 8 1 pinseq=10 T 450 8500 9 8 1 1 0 0 1 pinlabel=10 T 450 8500 5 8 0 1 0 2 1 pintype=pas } V 350 8500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8100 300 8100 1 0 0 { T 300 8150 5 8 0 1 0 6 1 pinnumber=11 T 300 8050 5 8 0 1 0 8 1 pinseq=11 T 450 8100 9 8 1 1 0 0 1 pinlabel=11 T 450 8100 5 8 0 1 0 2 1 pintype=pas } V 350 8100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 7700 300 7700 1 0 0 { T 300 7750 5 8 0 1 0 6 1 pinnumber=12 T 300 7650 5 8 0 1 0 8 1 pinseq=12 T 450 7700 9 8 1 1 0 0 1 pinlabel=12 T 450 7700 5 8 0 1 0 2 1 pintype=pas } V 350 7700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 7300 300 7300 1 0 0 { T 300 7350 5 8 0 1 0 6 1 pinnumber=13 T 300 7250 5 8 0 1 0 8 1 pinseq=13 T 450 7300 9 8 1 1 0 0 1 pinlabel=13 T 450 7300 5 8 0 1 0 2 1 pintype=pas } V 350 7300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6900 300 6900 1 0 0 { T 300 6950 5 8 0 1 0 6 1 pinnumber=14 T 300 6850 5 8 0 1 0 8 1 pinseq=14 T 450 6900 9 8 1 1 0 0 1 pinlabel=14 T 450 6900 5 8 0 1 0 2 1 pintype=pas } V 350 6900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6500 300 6500 1 0 0 { T 300 6550 5 8 0 1 0 6 1 pinnumber=15 T 300 6450 5 8 0 1 0 8 1 pinseq=15 T 450 6500 9 8 1 1 0 0 1 pinlabel=15 T 450 6500 5 8 0 1 0 2 1 pintype=pas } V 350 6500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6100 300 6100 1 0 0 { T 300 6150 5 8 0 1 0 6 1 pinnumber=16 T 300 6050 5 8 0 1 0 8 1 pinseq=16 T 450 6100 9 8 1 1 0 0 1 pinlabel=16 T 450 6100 5 8 0 1 0 2 1 pintype=pas } V 350 6100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 5700 300 5700 1 0 0 { T 300 5750 5 8 0 1 0 6 1 pinnumber=17 T 300 5650 5 8 0 1 0 8 1 pinseq=17 T 450 5700 9 8 1 1 0 0 1 pinlabel=17 T 450 5700 5 8 0 1 0 2 1 pintype=pas } V 350 5700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 5300 300 5300 1 0 0 { T 300 5350 5 8 0 1 0 6 1 pinnumber=18 T 300 5250 5 8 0 1 0 8 1 pinseq=18 T 450 5300 9 8 1 1 0 0 1 pinlabel=18 T 450 5300 5 8 0 1 0 2 1 pintype=pas } V 350 5300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4900 300 4900 1 0 0 { T 300 4950 5 8 0 1 0 6 1 pinnumber=19 T 300 4850 5 8 0 1 0 8 1 pinseq=19 T 450 4900 9 8 1 1 0 0 1 pinlabel=19 T 450 4900 5 8 0 1 0 2 1 pintype=pas } V 350 4900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4500 300 4500 1 0 0 { T 300 4550 5 8 0 1 0 6 1 pinnumber=20 T 300 4450 5 8 0 1 0 8 1 pinseq=20 T 450 4500 9 8 1 1 0 0 1 pinlabel=20 T 450 4500 5 8 0 1 0 2 1 pintype=pas } V 350 4500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4100 300 4100 1 0 0 { T 300 4150 5 8 0 1 0 6 1 pinnumber=21 T 300 4050 5 8 0 1 0 8 1 pinseq=21 T 450 4100 9 8 1 1 0 0 1 pinlabel=21 T 450 4100 5 8 0 1 0 2 1 pintype=pas } V 350 4100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 3700 300 3700 1 0 0 { T 300 3750 5 8 0 1 0 6 1 pinnumber=22 T 300 3650 5 8 0 1 0 8 1 pinseq=22 T 450 3700 9 8 1 1 0 0 1 pinlabel=22 T 450 3700 5 8 0 1 0 2 1 pintype=pas } V 350 3700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 3300 300 3300 1 0 0 { T 300 3350 5 8 0 1 0 6 1 pinnumber=23 T 300 3250 5 8 0 1 0 8 1 pinseq=23 T 450 3300 9 8 1 1 0 0 1 pinlabel=23 T 450 3300 5 8 0 1 0 2 1 pintype=pas } V 350 3300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2900 300 2900 1 0 0 { T 300 2950 5 8 0 1 0 6 1 pinnumber=24 T 300 2850 5 8 0 1 0 8 1 pinseq=24 T 450 2900 9 8 1 1 0 0 1 pinlabel=24 T 450 2900 5 8 0 1 0 2 1 pintype=pas } V 350 2900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2500 300 2500 1 0 0 { T 300 2550 5 8 0 1 0 6 1 pinnumber=25 T 300 2450 5 8 0 1 0 8 1 pinseq=25 T 450 2500 9 8 1 1 0 0 1 pinlabel=25 T 450 2500 5 8 0 1 0 2 1 pintype=pas } V 350 2500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2100 300 2100 1 0 0 { T 300 2150 5 8 0 1 0 6 1 pinnumber=26 T 300 2050 5 8 0 1 0 8 1 pinseq=26 T 450 2100 9 8 1 1 0 0 1 pinlabel=26 T 450 2100 5 8 0 1 0 2 1 pintype=pas } V 350 2100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1700 300 1700 1 0 0 { T 300 1750 5 8 0 1 0 6 1 pinnumber=27 T 300 1650 5 8 0 1 0 8 1 pinseq=27 T 450 1700 9 8 1 1 0 0 1 pinlabel=27 T 450 1700 5 8 0 1 0 2 1 pintype=pas } V 350 1700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1300 300 1300 1 0 0 { T 300 1350 5 8 0 1 0 6 1 pinnumber=28 T 300 1250 5 8 0 1 0 8 1 pinseq=28 T 450 1300 9 8 1 1 0 0 1 pinlabel=28 T 450 1300 5 8 0 1 0 2 1 pintype=pas } V 350 1300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 900 300 900 1 0 0 { T 300 950 5 8 0 1 0 6 1 pinnumber=29 T 300 850 5 8 0 1 0 8 1 pinseq=29 T 450 900 9 8 1 1 0 0 1 pinlabel=29 T 450 900 5 8 0 1 0 2 1 pintype=pas } V 350 900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 500 300 500 1 0 0 { T 300 550 5 8 0 1 0 6 1 pinnumber=30 T 300 450 5 8 0 1 0 8 1 pinseq=30 T 450 500 9 8 1 1 0 0 1 pinlabel=30 T 450 500 5 8 0 1 0 2 1 pintype=pas } V 350 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 400 100 400 12400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/connector/header34-1.sym0000664000175000017500000001543012204104272016046 00000000000000v 20031231 1 T 600 6900 8 10 1 1 0 0 1 refdes=J? T 1600 4600 8 10 0 0 0 0 1 device=HEADER34 T 1600 4800 8 10 0 0 0 0 1 class=IO T 1600 5000 8 10 0 0 0 0 1 pins=34 P 1100 200 1400 200 1 0 1 { T 1250 250 5 8 1 1 0 0 1 pinnumber=1 T 1250 250 5 8 0 0 0 0 1 pinseq=1 T 1250 250 5 8 0 1 0 0 1 pinlabel=1 T 1250 250 5 8 0 1 0 0 1 pintype=pas } P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=2 T 200 250 5 8 0 0 0 6 1 pinseq=2 T 200 250 5 8 0 1 0 6 1 pinlabel=2 T 200 250 5 8 0 1 0 6 1 pintype=pas } P 1100 600 1400 600 1 0 1 { T 1250 650 5 8 1 1 0 0 1 pinnumber=3 T 1250 650 5 8 0 0 0 0 1 pinseq=3 T 1250 650 5 8 0 1 0 0 1 pinlabel=3 T 1250 650 5 8 0 1 0 0 1 pintype=pas } P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=4 T 200 650 5 8 0 0 0 6 1 pinseq=4 T 200 650 5 8 0 1 0 6 1 pinlabel=4 T 200 650 5 8 0 1 0 6 1 pintype=pas } P 1100 1000 1400 1000 1 0 1 { T 1250 1050 5 8 1 1 0 0 1 pinnumber=5 T 1250 1050 5 8 0 0 0 0 1 pinseq=5 T 1250 1050 5 8 0 1 0 0 1 pinlabel=5 T 1250 1050 5 8 0 1 0 0 1 pintype=pas } P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=6 T 200 1050 5 8 0 0 0 6 1 pinseq=6 T 200 1050 5 8 0 1 0 6 1 pinlabel=6 T 200 1050 5 8 0 1 0 6 1 pintype=pas } P 1100 1400 1400 1400 1 0 1 { T 1250 1450 5 8 1 1 0 0 1 pinnumber=7 T 1250 1450 5 8 0 0 0 0 1 pinseq=7 T 1250 1450 5 8 0 1 0 0 1 pinlabel=7 T 1250 1450 5 8 0 1 0 0 1 pintype=pas } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=8 T 200 1450 5 8 0 0 0 6 1 pinseq=8 T 200 1450 5 8 0 1 0 6 1 pinlabel=8 T 200 1450 5 8 0 1 0 6 1 pintype=pas } P 1100 1800 1400 1800 1 0 1 { T 1250 1850 5 8 1 1 0 0 1 pinnumber=9 T 1250 1850 5 8 0 0 0 0 1 pinseq=9 T 1250 1850 5 8 0 1 0 0 1 pinlabel=9 T 1250 1850 5 8 0 1 0 0 1 pintype=pas } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=10 T 200 1850 5 8 0 0 0 6 1 pinseq=10 T 200 1850 5 8 0 1 0 6 1 pinlabel=10 T 200 1850 5 8 0 1 0 6 1 pintype=pas } P 1100 2200 1400 2200 1 0 1 { T 1250 2250 5 8 1 1 0 0 1 pinnumber=11 T 1250 2250 5 8 0 0 0 0 1 pinseq=11 T 1250 2250 5 8 0 1 0 0 1 pinlabel=11 T 1250 2250 5 8 0 1 0 0 1 pintype=pas } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=12 T 200 2250 5 8 0 0 0 6 1 pinseq=12 T 200 2250 5 8 0 1 0 6 1 pinlabel=12 T 200 2250 5 8 0 1 0 6 1 pintype=pas } P 1100 2600 1400 2600 1 0 1 { T 1250 2650 5 8 1 1 0 0 1 pinnumber=13 T 1250 2650 5 8 0 0 0 0 1 pinseq=13 T 1250 2650 5 8 0 1 0 0 1 pinlabel=13 T 1250 2650 5 8 0 1 0 0 1 pintype=pas } P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=14 T 200 2650 5 8 0 0 0 6 1 pinseq=14 T 200 2650 5 8 0 1 0 6 1 pinlabel=14 T 200 2650 5 8 0 1 0 6 1 pintype=pas } P 1100 3000 1400 3000 1 0 1 { T 1250 3050 5 8 1 1 0 0 1 pinnumber=15 T 1250 3050 5 8 0 0 0 0 1 pinseq=15 T 1250 3050 5 8 0 1 0 0 1 pinlabel=15 T 1250 3050 5 8 0 1 0 0 1 pintype=pas } P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=16 T 200 3050 5 8 0 0 0 6 1 pinseq=16 T 200 3050 5 8 0 1 0 6 1 pinlabel=16 T 200 3050 5 8 0 1 0 6 1 pintype=pas } P 1100 3400 1400 3400 1 0 1 { T 1250 3450 5 8 1 1 0 0 1 pinnumber=17 T 1250 3450 5 8 0 0 0 0 1 pinseq=17 T 1250 3450 5 8 0 1 0 0 1 pinlabel=17 T 1250 3450 5 8 0 1 0 0 1 pintype=pas } P 0 3400 300 3400 1 0 0 { T 200 3450 5 8 1 1 0 6 1 pinnumber=18 T 200 3450 5 8 0 0 0 6 1 pinseq=18 T 200 3450 5 8 0 1 0 6 1 pinlabel=18 T 200 3450 5 8 0 1 0 6 1 pintype=pas } P 1100 3800 1400 3800 1 0 1 { T 1250 3850 5 8 1 1 0 0 1 pinnumber=19 T 1250 3850 5 8 0 0 0 0 1 pinseq=19 T 1250 3850 5 8 0 1 0 0 1 pinlabel=19 T 1250 3850 5 8 0 1 0 0 1 pintype=pas } P 0 3800 300 3800 1 0 0 { T 200 3850 5 8 1 1 0 6 1 pinnumber=20 T 200 3850 5 8 0 0 0 6 1 pinseq=20 T 200 3850 5 8 0 1 0 6 1 pinlabel=20 T 200 3850 5 8 0 1 0 6 1 pintype=pas } P 1100 4200 1400 4200 1 0 1 { T 1250 4250 5 8 1 1 0 0 1 pinnumber=21 T 1250 4250 5 8 0 0 0 0 1 pinseq=21 T 1250 4250 5 8 0 1 0 0 1 pinlabel=21 T 1250 4250 5 8 0 1 0 0 1 pintype=pas } P 0 4200 300 4200 1 0 0 { T 200 4250 5 8 1 1 0 6 1 pinnumber=22 T 200 4250 5 8 0 0 0 6 1 pinseq=22 T 200 4250 5 8 0 1 0 6 1 pinlabel=22 T 200 4250 5 8 0 1 0 6 1 pintype=pas } P 1100 4600 1400 4600 1 0 1 { T 1250 4650 5 8 1 1 0 0 1 pinnumber=23 T 1250 4650 5 8 0 0 0 0 1 pinseq=23 T 1250 4650 5 8 0 1 0 0 1 pinlabel=23 T 1250 4650 5 8 0 1 0 0 1 pintype=pas } P 0 4600 300 4600 1 0 0 { T 200 4650 5 8 1 1 0 6 1 pinnumber=24 T 200 4650 5 8 0 0 0 6 1 pinseq=24 T 200 4650 5 8 0 1 0 6 1 pinlabel=24 T 200 4650 5 8 0 1 0 6 1 pintype=pas } P 1100 5000 1400 5000 1 0 1 { T 1250 5050 5 8 1 1 0 0 1 pinnumber=25 T 1250 5050 5 8 0 0 0 0 1 pinseq=25 T 1250 5050 5 8 0 1 0 0 1 pinlabel=25 T 1250 5050 5 8 0 1 0 0 1 pintype=pas } P 0 5000 300 5000 1 0 0 { T 200 5050 5 8 1 1 0 6 1 pinnumber=26 T 200 5050 5 8 0 0 0 6 1 pinseq=26 T 200 5050 5 8 0 1 0 6 1 pinlabel=26 T 200 5050 5 8 0 1 0 6 1 pintype=pas } B 300 0 800 6800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 300 2400 1100 2400 3 0 0 0 -1 -1 L 700 6800 700 0 3 0 0 0 -1 -1 L 300 400 1100 400 3 0 0 0 -1 -1 L 300 1600 1100 1600 3 0 0 0 -1 -1 L 300 1200 1100 1200 3 0 0 0 -1 -1 L 300 2000 1100 2000 3 0 0 0 -1 -1 L 300 800 1100 800 3 0 0 0 -1 -1 L 300 3600 1100 3600 3 0 0 0 -1 -1 L 300 3200 1100 3200 3 0 0 0 -1 -1 L 300 4000 1100 4000 3 0 0 0 -1 -1 L 300 4800 1100 4800 3 0 0 0 -1 -1 L 300 4400 1100 4400 3 0 0 0 -1 -1 L 300 2800 1100 2800 3 0 0 0 -1 -1 P 1100 5400 1400 5400 1 0 1 { T 1250 5450 5 8 1 1 0 0 1 pinnumber=27 T 1250 5450 5 8 0 0 0 0 1 pinseq=27 T 1250 5450 5 8 0 1 0 0 1 pinlabel=27 T 1250 5450 5 8 0 1 0 0 1 pintype=pas } P 1100 5800 1400 5800 1 0 1 { T 1250 5850 5 8 1 1 0 0 1 pinnumber=29 T 1250 5850 5 8 0 0 0 0 1 pinseq=29 T 1250 5850 5 8 0 1 0 0 1 pinlabel=29 T 1250 5850 5 8 0 1 0 0 1 pintype=pas } P 1100 6200 1400 6200 1 0 1 { T 1250 6250 5 8 1 1 0 0 1 pinnumber=31 T 1250 6250 5 8 0 0 0 0 1 pinseq=31 T 1250 6250 5 8 0 1 0 0 1 pinlabel=31 T 1250 6250 5 8 0 1 0 0 1 pintype=pas } P 1100 6600 1400 6600 1 0 1 { T 1250 6650 5 8 1 1 0 0 1 pinnumber=33 T 1250 6650 5 8 0 0 0 0 1 pinseq=33 T 1250 6650 5 8 0 1 0 0 1 pinlabel=33 T 1250 6650 5 8 0 1 0 0 1 pintype=pas } L 300 5600 1100 5600 3 0 0 0 -1 -1 L 300 6400 1100 6400 3 0 0 0 -1 -1 L 300 6000 1100 6000 3 0 0 0 -1 -1 P 0 5400 300 5400 1 0 0 { T 200 5450 5 8 1 1 0 6 1 pinnumber=28 T 200 5450 5 8 0 0 0 6 1 pinseq=28 T 200 5450 5 8 0 1 0 6 1 pinlabel=28 T 200 5450 5 8 0 1 0 6 1 pintype=pas } P 0 5800 300 5800 1 0 0 { T 200 5850 5 8 1 1 0 6 1 pinnumber=30 T 200 5850 5 8 0 0 0 6 1 pinseq=30 T 200 5850 5 8 0 1 0 6 1 pinlabel=30 T 200 5850 5 8 0 1 0 6 1 pintype=pas } P 0 6200 300 6200 1 0 0 { T 200 6250 5 8 1 1 0 6 1 pinnumber=32 T 200 6250 5 8 0 0 0 6 1 pinseq=32 T 200 6250 5 8 0 1 0 6 1 pinlabel=32 T 200 6250 5 8 0 1 0 6 1 pintype=pas } P 0 6600 300 6600 1 0 0 { T 200 6650 5 8 1 1 0 6 1 pinnumber=34 T 200 6650 5 8 0 0 0 6 1 pinseq=34 T 200 6650 5 8 0 1 0 6 1 pinlabel=34 T 200 6650 5 8 0 1 0 6 1 pintype=pas } L 300 5200 1100 5200 3 0 0 0 -1 -1 L 300 5200 1100 5200 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/connector/smart-media-1.sym0000664000175000017500000001041412204104272016647 00000000000000v 20070626 1 B 300 200 1500 4400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 200 4900 5 10 0 0 0 0 1 device=SmartMedia P 300 4400 0 4400 1 0 1 { T 200 4450 5 8 1 1 0 6 1 pinnumber=1 T 200 4350 5 8 0 1 0 8 1 pinseq=1 T 350 4400 9 8 1 1 0 0 1 pinlabel=Vss T 350 4400 5 8 0 1 0 2 1 pintype=pwr } P 300 4000 0 4000 1 0 1 { T 200 4050 5 8 1 1 0 6 1 pinnumber=2 T 200 3950 5 8 0 1 0 8 1 pinseq=2 T 350 4000 9 8 1 1 0 0 1 pinlabel=CLE T 350 4000 5 8 0 1 0 2 1 pintype=in } P 300 3600 0 3600 1 0 1 { T 200 3650 5 8 1 1 0 6 1 pinnumber=3 T 200 3550 5 8 0 1 0 8 1 pinseq=3 T 350 3600 5 8 0 1 0 2 1 pintype=in T 350 3600 9 8 1 1 0 0 1 pinlabel=ALE } P 300 3200 0 3200 1 0 1 { T 200 3250 5 8 1 1 0 6 1 pinnumber=4 T 200 3150 5 8 0 1 0 8 1 pinseq=4 T 350 3200 9 8 1 1 0 0 1 pinlabel=\_WE\_ T 350 3200 5 8 0 1 0 2 1 pintype=in } P 300 2800 0 2800 1 0 1 { T 200 2850 5 8 1 1 0 6 1 pinnumber=5 T 200 2750 5 8 0 1 0 8 1 pinseq=5 T 350 2800 9 8 1 1 0 0 1 pinlabel=\_WP\_ T 350 2800 5 8 0 1 0 2 1 pintype=in } P 300 2400 0 2400 1 0 1 { T 200 2450 5 8 1 1 0 6 1 pinnumber=6 T 200 2350 5 8 0 1 0 8 1 pinseq=6 T 350 2400 9 8 1 1 0 0 1 pinlabel=IO0 T 350 2400 5 8 0 1 0 2 1 pintype=io } P 300 2000 0 2000 1 0 1 { T 200 2050 5 8 1 1 0 6 1 pinnumber=7 T 200 1950 5 8 0 1 0 8 1 pinseq=7 T 350 2000 9 8 1 1 0 0 1 pinlabel=IO1 T 350 2000 5 8 0 1 0 2 1 pintype=io } P 300 1600 0 1600 1 0 1 { T 200 1650 5 8 1 1 0 6 1 pinnumber=8 T 200 1550 5 8 0 1 0 8 1 pinseq=8 T 350 1600 9 8 1 1 0 0 1 pinlabel=IO2 T 350 1600 5 8 0 1 0 2 1 pintype=io } P 300 1200 0 1200 1 0 1 { T 200 1250 5 8 1 1 0 6 1 pinnumber=9 T 200 1150 5 8 0 1 0 8 1 pinseq=9 T 350 1200 9 8 1 1 0 0 1 pinlabel=IO3 T 350 1200 5 8 0 1 0 2 1 pintype=io } P 300 800 0 800 1 0 1 { T 200 850 5 8 1 1 0 6 1 pinnumber=10 T 200 750 5 8 0 1 0 8 1 pinseq=10 T 350 800 9 8 1 1 0 0 1 pinlabel=Vss T 350 800 5 8 0 1 0 2 1 pintype=pwr } P 300 400 0 400 1 0 1 { T 200 450 5 8 1 1 0 6 1 pinnumber=11 T 200 350 5 8 0 1 0 8 1 pinseq=11 T 350 400 9 8 1 1 0 0 1 pinlabel=Vss T 350 400 5 8 0 1 0 2 1 pintype=pwr } P 1800 400 2100 400 1 0 1 { T 1900 450 5 8 1 1 0 0 1 pinnumber=12 T 1900 350 5 8 0 1 0 2 1 pinseq=12 T 1750 400 9 8 1 1 0 6 1 pinlabel=Vcc T 1750 400 5 8 0 1 0 8 1 pintype=pwr } P 2100 800 1800 800 1 0 0 { T 1900 850 5 8 1 1 0 0 1 pinnumber=13 T 1900 750 5 8 0 1 0 2 1 pinseq=13 T 1750 800 9 8 1 1 0 6 1 pinlabel=IO4 T 1750 800 5 8 0 1 0 8 1 pintype=io } P 2100 1200 1800 1200 1 0 0 { T 1900 1250 5 8 1 1 0 0 1 pinnumber=14 T 1900 1150 5 8 0 1 0 2 1 pinseq=14 T 1750 1200 9 8 1 1 0 6 1 pinlabel=IO5 T 1750 1200 5 8 0 1 0 8 1 pintype=io } P 2100 1600 1800 1600 1 0 0 { T 1900 1650 5 8 1 1 0 0 1 pinnumber=15 T 1900 1550 5 8 0 1 0 2 1 pinseq=15 T 1750 1600 9 8 1 1 0 6 1 pinlabel=IO6 T 1750 1600 5 8 0 1 0 8 1 pintype=io } P 2100 2000 1800 2000 1 0 0 { T 1900 2050 5 8 1 1 0 0 1 pinnumber=16 T 1900 1950 5 8 0 1 0 2 1 pinseq=16 T 1750 2000 9 8 1 1 0 6 1 pinlabel=IO7 T 1750 2000 5 8 0 1 0 8 1 pintype=io } P 2100 2400 1800 2400 1 0 0 { T 1900 2450 5 8 1 1 0 0 1 pinnumber=17 T 1900 2350 5 8 0 1 0 2 1 pinseq=17 T 1750 2400 9 8 1 1 0 6 1 pinlabel=LVD T 1750 2400 5 8 0 1 0 8 1 pintype=out } P 2100 2800 1800 2800 1 0 0 { T 1900 2850 5 8 1 1 0 0 1 pinnumber=18 T 1900 2750 5 8 0 1 0 2 1 pinseq=18 T 1750 2800 9 8 1 1 0 6 1 pinlabel=GND T 1750 2800 5 8 0 1 0 8 1 pintype=pwr } P 2100 3200 1800 3200 1 0 0 { T 1900 3250 5 8 1 1 0 0 1 pinnumber=19 T 1900 3150 5 8 0 1 0 2 1 pinseq=19 T 1750 3200 9 8 1 1 0 6 1 pinlabel=RY/\_BY\_ T 1750 3200 5 8 0 1 0 8 1 pintype=oc } P 2100 3600 1800 3600 1 0 0 { T 1900 3650 5 8 1 1 0 0 1 pinnumber=20 T 1900 3550 5 8 0 1 0 2 1 pinseq=20 T 1750 3600 9 8 1 1 0 6 1 pinlabel=\_RE\_ T 1750 3600 5 8 0 1 0 8 1 pintype=in } P 2100 4000 1800 4000 1 0 0 { T 1900 4050 5 8 1 1 0 0 1 pinnumber=21 T 1900 3950 5 8 0 1 0 2 1 pinseq=21 T 1750 4000 9 8 1 1 0 6 1 pinlabel=\_CE\_ T 1750 4000 5 8 0 1 0 8 1 pintype=in } P 2100 4400 1800 4400 1 0 0 { T 1900 4450 5 8 1 1 0 0 1 pinnumber=22 T 1900 4350 5 8 0 1 0 2 1 pinseq=22 T 1750 4400 9 8 1 1 0 6 1 pinlabel=Vcc T 1750 4400 5 8 0 1 0 8 1 pintype=pwr } T 1800 4700 8 10 1 1 0 6 1 refdes=CONN? T 200 5100 5 10 0 0 0 0 1 footprint=DIP22 T 200 5300 5 10 0 0 0 0 1 numslots=0 T 200 5500 5 10 0 0 0 0 1 symversion=1.1 T 200 5700 5 10 0 0 0 0 1 description=smart media connector T 200 5900 5 10 0 0 0 0 1 documentation=http://www.iodata.com/catalogs/sm_1.pdf T 300 50 9 10 1 0 0 0 1 SmartMedia geda-gaf-1.8.2/symbols/connector/connector14-2.sym0000664000175000017500000000644312204104272016613 00000000000000v 20041228 1 T 700 6100 8 10 1 1 0 6 1 refdes=CONN? T 300 6050 5 10 0 0 0 0 1 device=CONNECTOR_14 T 300 6250 5 10 0 0 0 0 1 footprint=SIP14N T 300 6450 5 10 0 0 0 0 1 author=Leon Kos T 300 6650 5 10 0 0 0 0 1 description=generic connector T 300 6850 5 10 0 0 0 0 1 numslots=0 P 0 5600 200 5600 1 0 0 { T 200 5650 5 8 0 1 0 6 1 pinnumber=1 T 200 5550 5 8 0 1 0 8 1 pinseq=1 T 350 5600 9 8 1 1 0 0 1 pinlabel=1 T 350 5600 5 8 0 1 0 2 1 pintype=pas } V 250 5600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 5200 200 5200 1 0 0 { T 200 5250 5 8 0 1 0 6 1 pinnumber=2 T 200 5150 5 8 0 1 0 8 1 pinseq=2 T 350 5200 9 8 1 1 0 0 1 pinlabel=2 T 350 5200 5 8 0 1 0 2 1 pintype=pas } V 250 5200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 4800 200 4800 1 0 0 { T 200 4850 5 8 0 1 0 6 1 pinnumber=3 T 200 4750 5 8 0 1 0 8 1 pinseq=3 T 350 4800 9 8 1 1 0 0 1 pinlabel=3 T 350 4800 5 8 0 1 0 2 1 pintype=pas } V 250 4800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 4400 200 4400 1 0 0 { T 200 4450 5 8 0 1 0 6 1 pinnumber=4 T 200 4350 5 8 0 1 0 8 1 pinseq=4 T 350 4400 9 8 1 1 0 0 1 pinlabel=4 T 350 4400 5 8 0 1 0 2 1 pintype=pas } V 250 4400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 4000 200 4000 1 0 0 { T 200 4050 5 8 0 1 0 6 1 pinnumber=5 T 200 3950 5 8 0 1 0 8 1 pinseq=5 T 350 4000 9 8 1 1 0 0 1 pinlabel=5 T 350 4000 5 8 0 1 0 2 1 pintype=pas } V 250 4000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3600 200 3600 1 0 0 { T 200 3650 5 8 0 1 0 6 1 pinnumber=6 T 200 3550 5 8 0 1 0 8 1 pinseq=6 T 350 3600 9 8 1 1 0 0 1 pinlabel=6 T 350 3600 5 8 0 1 0 2 1 pintype=pas } V 250 3600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3200 200 3200 1 0 0 { T 200 3250 5 8 0 1 0 6 1 pinnumber=7 T 200 3150 5 8 0 1 0 8 1 pinseq=7 T 350 3200 9 8 1 1 0 0 1 pinlabel=7 T 350 3200 5 8 0 1 0 2 1 pintype=pas } V 250 3200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2800 200 2800 1 0 0 { T 200 2850 5 8 0 1 0 6 1 pinnumber=8 T 200 2750 5 8 0 1 0 8 1 pinseq=8 T 350 2800 9 8 1 1 0 0 1 pinlabel=8 T 350 2800 5 8 0 1 0 2 1 pintype=pas } V 250 2800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2400 200 2400 1 0 0 { T 200 2450 5 8 0 1 0 6 1 pinnumber=9 T 200 2350 5 8 0 1 0 8 1 pinseq=9 T 350 2400 9 8 1 1 0 0 1 pinlabel=9 T 350 2400 5 8 0 1 0 2 1 pintype=pas } V 250 2400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2000 200 2000 1 0 0 { T 200 2050 5 8 0 1 0 6 1 pinnumber=10 T 200 1950 5 8 0 1 0 8 1 pinseq=10 T 350 2000 9 8 1 1 0 0 1 pinlabel=10 T 350 2000 5 8 0 1 0 2 1 pintype=pas } V 250 2000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1600 200 1600 1 0 0 { T 200 1650 5 8 0 1 0 6 1 pinnumber=11 T 200 1550 5 8 0 1 0 8 1 pinseq=11 T 350 1600 9 8 1 1 0 0 1 pinlabel=11 T 350 1600 5 8 0 1 0 2 1 pintype=pas } V 250 1600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1200 200 1200 1 0 0 { T 200 1250 5 8 0 1 0 6 1 pinnumber=12 T 200 1150 5 8 0 1 0 8 1 pinseq=12 T 350 1200 9 8 1 1 0 0 1 pinlabel=12 T 350 1200 5 8 0 1 0 2 1 pintype=pas } V 250 1200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 800 200 800 1 0 0 { T 200 850 5 8 0 1 0 6 1 pinnumber=13 T 200 750 5 8 0 1 0 8 1 pinseq=13 T 350 800 9 8 1 1 0 0 1 pinlabel=13 T 350 800 5 8 0 1 0 2 1 pintype=pas } V 250 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 400 200 400 1 0 0 { T 200 450 5 8 0 1 0 6 1 pinnumber=14 T 200 350 5 8 0 1 0 8 1 pinseq=14 T 350 400 9 8 1 1 0 0 1 pinlabel=14 T 350 400 5 8 0 1 0 2 1 pintype=pas } V 250 400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 300 0 400 6000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/connector/connector11-2.sym0000664000175000017500000000521712204104272016606 00000000000000v 20041228 1 T 700 4900 8 10 1 1 0 6 1 refdes=CONN? T 300 4850 5 10 0 0 0 0 1 device=CONNECTOR_11 T 300 5050 5 10 0 0 0 0 1 footprint=SIP11N T 300 5250 5 10 0 0 0 0 1 author=Leon Kos T 300 5450 5 10 0 0 0 0 1 description=generic connector T 300 5650 5 10 0 0 0 0 1 numslots=0 P 0 4400 200 4400 1 0 0 { T 200 4450 5 8 0 1 0 6 1 pinnumber=1 T 200 4350 5 8 0 1 0 8 1 pinseq=1 T 350 4400 9 8 1 1 0 0 1 pinlabel=1 T 350 4400 5 8 0 1 0 2 1 pintype=pas } V 250 4400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 4000 200 4000 1 0 0 { T 200 4050 5 8 0 1 0 6 1 pinnumber=2 T 200 3950 5 8 0 1 0 8 1 pinseq=2 T 350 4000 9 8 1 1 0 0 1 pinlabel=2 T 350 4000 5 8 0 1 0 2 1 pintype=pas } V 250 4000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3600 200 3600 1 0 0 { T 200 3650 5 8 0 1 0 6 1 pinnumber=3 T 200 3550 5 8 0 1 0 8 1 pinseq=3 T 350 3600 9 8 1 1 0 0 1 pinlabel=3 T 350 3600 5 8 0 1 0 2 1 pintype=pas } V 250 3600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3200 200 3200 1 0 0 { T 200 3250 5 8 0 1 0 6 1 pinnumber=4 T 200 3150 5 8 0 1 0 8 1 pinseq=4 T 350 3200 9 8 1 1 0 0 1 pinlabel=4 T 350 3200 5 8 0 1 0 2 1 pintype=pas } V 250 3200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2800 200 2800 1 0 0 { T 200 2850 5 8 0 1 0 6 1 pinnumber=5 T 200 2750 5 8 0 1 0 8 1 pinseq=5 T 350 2800 9 8 1 1 0 0 1 pinlabel=5 T 350 2800 5 8 0 1 0 2 1 pintype=pas } V 250 2800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2400 200 2400 1 0 0 { T 200 2450 5 8 0 1 0 6 1 pinnumber=6 T 200 2350 5 8 0 1 0 8 1 pinseq=6 T 350 2400 9 8 1 1 0 0 1 pinlabel=6 T 350 2400 5 8 0 1 0 2 1 pintype=pas } V 250 2400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2000 200 2000 1 0 0 { T 200 2050 5 8 0 1 0 6 1 pinnumber=7 T 200 1950 5 8 0 1 0 8 1 pinseq=7 T 350 2000 9 8 1 1 0 0 1 pinlabel=7 T 350 2000 5 8 0 1 0 2 1 pintype=pas } V 250 2000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1600 200 1600 1 0 0 { T 200 1650 5 8 0 1 0 6 1 pinnumber=8 T 200 1550 5 8 0 1 0 8 1 pinseq=8 T 350 1600 9 8 1 1 0 0 1 pinlabel=8 T 350 1600 5 8 0 1 0 2 1 pintype=pas } V 250 1600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1200 200 1200 1 0 0 { T 200 1250 5 8 0 1 0 6 1 pinnumber=9 T 200 1150 5 8 0 1 0 8 1 pinseq=9 T 350 1200 9 8 1 1 0 0 1 pinlabel=9 T 350 1200 5 8 0 1 0 2 1 pintype=pas } V 250 1200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 800 200 800 1 0 0 { T 200 850 5 8 0 1 0 6 1 pinnumber=10 T 200 750 5 8 0 1 0 8 1 pinseq=10 T 350 800 9 8 1 1 0 0 1 pinlabel=10 T 350 800 5 8 0 1 0 2 1 pintype=pas } V 250 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 400 200 400 1 0 0 { T 200 450 5 8 0 1 0 6 1 pinnumber=11 T 200 350 5 8 0 1 0 8 1 pinseq=11 T 350 400 9 8 1 1 0 0 1 pinlabel=11 T 350 400 5 8 0 1 0 2 1 pintype=pas } V 250 400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 300 0 400 4800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/connector/BNC-1.sym0000664000175000017500000000117212204104272015047 00000000000000v 20031231 1 V 150 450 150 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 350 650 5 10 0 0 0 0 1 device=BNC V 150 450 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 300 100 0 1 0 1 { T 150 100 5 8 1 1 0 0 1 pinnumber=2 T 150 100 5 8 0 0 0 0 1 pinseq=2 T 150 100 5 8 0 1 0 0 1 pinlabel=2 T 150 100 5 8 0 1 0 0 1 pintype=pas } L 200 500 185 485 3 0 0 0 -1 -1 P 200 500 500 500 1 0 1 { T 350 550 5 8 1 1 0 0 1 pinnumber=1 T 350 550 5 8 0 0 0 0 1 pinseq=1 T 350 550 5 8 0 1 0 0 1 pinlabel=1 T 350 550 5 8 0 1 0 0 1 pintype=pas } L 100 300 104 307 3 0 0 0 -1 -1 T 0 800 8 10 1 1 0 0 1 refdes=CONN? T 0 0 8 10 0 1 0 0 1 class=IO T 0 0 8 10 0 1 0 0 1 pins=2 geda-gaf-1.8.2/symbols/connector/connector33-2.sym0000664000175000017500000001700112204104272016604 00000000000000v 20041228 1 T 800 13800 8 10 1 1 0 6 1 refdes=CONN? T 400 13750 5 10 0 0 0 0 1 device=CONNECTOR_33 T 400 13950 5 10 0 0 0 0 1 footprint=SIP33N T 400 14150 5 10 0 0 0 0 1 author=Leon Kos T 400 14350 5 10 0 0 0 0 1 description=generic connector T 400 14550 5 10 0 0 0 0 1 numslots=0 P 100 13300 300 13300 1 0 0 { T 300 13350 5 8 0 1 0 6 1 pinnumber=1 T 300 13250 5 8 0 1 0 8 1 pinseq=1 T 450 13300 9 8 1 1 0 0 1 pinlabel=1 T 450 13300 5 8 0 1 0 2 1 pintype=pas } V 350 13300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 12900 300 12900 1 0 0 { T 300 12950 5 8 0 1 0 6 1 pinnumber=2 T 300 12850 5 8 0 1 0 8 1 pinseq=2 T 450 12900 9 8 1 1 0 0 1 pinlabel=2 T 450 12900 5 8 0 1 0 2 1 pintype=pas } V 350 12900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 12500 300 12500 1 0 0 { T 300 12550 5 8 0 1 0 6 1 pinnumber=3 T 300 12450 5 8 0 1 0 8 1 pinseq=3 T 450 12500 9 8 1 1 0 0 1 pinlabel=3 T 450 12500 5 8 0 1 0 2 1 pintype=pas } V 350 12500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 12100 300 12100 1 0 0 { T 300 12150 5 8 0 1 0 6 1 pinnumber=4 T 300 12050 5 8 0 1 0 8 1 pinseq=4 T 450 12100 9 8 1 1 0 0 1 pinlabel=4 T 450 12100 5 8 0 1 0 2 1 pintype=pas } V 350 12100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 11700 300 11700 1 0 0 { T 300 11750 5 8 0 1 0 6 1 pinnumber=5 T 300 11650 5 8 0 1 0 8 1 pinseq=5 T 450 11700 9 8 1 1 0 0 1 pinlabel=5 T 450 11700 5 8 0 1 0 2 1 pintype=pas } V 350 11700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 11300 300 11300 1 0 0 { T 300 11350 5 8 0 1 0 6 1 pinnumber=6 T 300 11250 5 8 0 1 0 8 1 pinseq=6 T 450 11300 9 8 1 1 0 0 1 pinlabel=6 T 450 11300 5 8 0 1 0 2 1 pintype=pas } V 350 11300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 10900 300 10900 1 0 0 { T 300 10950 5 8 0 1 0 6 1 pinnumber=7 T 300 10850 5 8 0 1 0 8 1 pinseq=7 T 450 10900 9 8 1 1 0 0 1 pinlabel=7 T 450 10900 5 8 0 1 0 2 1 pintype=pas } V 350 10900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 10500 300 10500 1 0 0 { T 300 10550 5 8 0 1 0 6 1 pinnumber=8 T 300 10450 5 8 0 1 0 8 1 pinseq=8 T 450 10500 9 8 1 1 0 0 1 pinlabel=8 T 450 10500 5 8 0 1 0 2 1 pintype=pas } V 350 10500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 10100 300 10100 1 0 0 { T 300 10150 5 8 0 1 0 6 1 pinnumber=9 T 300 10050 5 8 0 1 0 8 1 pinseq=9 T 450 10100 9 8 1 1 0 0 1 pinlabel=9 T 450 10100 5 8 0 1 0 2 1 pintype=pas } V 350 10100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 9700 300 9700 1 0 0 { T 300 9750 5 8 0 1 0 6 1 pinnumber=10 T 300 9650 5 8 0 1 0 8 1 pinseq=10 T 450 9700 9 8 1 1 0 0 1 pinlabel=10 T 450 9700 5 8 0 1 0 2 1 pintype=pas } V 350 9700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 9300 300 9300 1 0 0 { T 300 9350 5 8 0 1 0 6 1 pinnumber=11 T 300 9250 5 8 0 1 0 8 1 pinseq=11 T 450 9300 9 8 1 1 0 0 1 pinlabel=11 T 450 9300 5 8 0 1 0 2 1 pintype=pas } V 350 9300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8900 300 8900 1 0 0 { T 300 8950 5 8 0 1 0 6 1 pinnumber=12 T 300 8850 5 8 0 1 0 8 1 pinseq=12 T 450 8900 9 8 1 1 0 0 1 pinlabel=12 T 450 8900 5 8 0 1 0 2 1 pintype=pas } V 350 8900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8500 300 8500 1 0 0 { T 300 8550 5 8 0 1 0 6 1 pinnumber=13 T 300 8450 5 8 0 1 0 8 1 pinseq=13 T 450 8500 9 8 1 1 0 0 1 pinlabel=13 T 450 8500 5 8 0 1 0 2 1 pintype=pas } V 350 8500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8100 300 8100 1 0 0 { T 300 8150 5 8 0 1 0 6 1 pinnumber=14 T 300 8050 5 8 0 1 0 8 1 pinseq=14 T 450 8100 9 8 1 1 0 0 1 pinlabel=14 T 450 8100 5 8 0 1 0 2 1 pintype=pas } V 350 8100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 7700 300 7700 1 0 0 { T 300 7750 5 8 0 1 0 6 1 pinnumber=15 T 300 7650 5 8 0 1 0 8 1 pinseq=15 T 450 7700 9 8 1 1 0 0 1 pinlabel=15 T 450 7700 5 8 0 1 0 2 1 pintype=pas } V 350 7700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 7300 300 7300 1 0 0 { T 300 7350 5 8 0 1 0 6 1 pinnumber=16 T 300 7250 5 8 0 1 0 8 1 pinseq=16 T 450 7300 9 8 1 1 0 0 1 pinlabel=16 T 450 7300 5 8 0 1 0 2 1 pintype=pas } V 350 7300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6900 300 6900 1 0 0 { T 300 6950 5 8 0 1 0 6 1 pinnumber=17 T 300 6850 5 8 0 1 0 8 1 pinseq=17 T 450 6900 9 8 1 1 0 0 1 pinlabel=17 T 450 6900 5 8 0 1 0 2 1 pintype=pas } V 350 6900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6500 300 6500 1 0 0 { T 300 6550 5 8 0 1 0 6 1 pinnumber=18 T 300 6450 5 8 0 1 0 8 1 pinseq=18 T 450 6500 9 8 1 1 0 0 1 pinlabel=18 T 450 6500 5 8 0 1 0 2 1 pintype=pas } V 350 6500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6100 300 6100 1 0 0 { T 300 6150 5 8 0 1 0 6 1 pinnumber=19 T 300 6050 5 8 0 1 0 8 1 pinseq=19 T 450 6100 9 8 1 1 0 0 1 pinlabel=19 T 450 6100 5 8 0 1 0 2 1 pintype=pas } V 350 6100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 5700 300 5700 1 0 0 { T 300 5750 5 8 0 1 0 6 1 pinnumber=20 T 300 5650 5 8 0 1 0 8 1 pinseq=20 T 450 5700 9 8 1 1 0 0 1 pinlabel=20 T 450 5700 5 8 0 1 0 2 1 pintype=pas } V 350 5700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 5300 300 5300 1 0 0 { T 300 5350 5 8 0 1 0 6 1 pinnumber=21 T 300 5250 5 8 0 1 0 8 1 pinseq=21 T 450 5300 9 8 1 1 0 0 1 pinlabel=21 T 450 5300 5 8 0 1 0 2 1 pintype=pas } V 350 5300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4900 300 4900 1 0 0 { T 300 4950 5 8 0 1 0 6 1 pinnumber=22 T 300 4850 5 8 0 1 0 8 1 pinseq=22 T 450 4900 9 8 1 1 0 0 1 pinlabel=22 T 450 4900 5 8 0 1 0 2 1 pintype=pas } V 350 4900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4500 300 4500 1 0 0 { T 300 4550 5 8 0 1 0 6 1 pinnumber=23 T 300 4450 5 8 0 1 0 8 1 pinseq=23 T 450 4500 9 8 1 1 0 0 1 pinlabel=23 T 450 4500 5 8 0 1 0 2 1 pintype=pas } V 350 4500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4100 300 4100 1 0 0 { T 300 4150 5 8 0 1 0 6 1 pinnumber=24 T 300 4050 5 8 0 1 0 8 1 pinseq=24 T 450 4100 9 8 1 1 0 0 1 pinlabel=24 T 450 4100 5 8 0 1 0 2 1 pintype=pas } V 350 4100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 3700 300 3700 1 0 0 { T 300 3750 5 8 0 1 0 6 1 pinnumber=25 T 300 3650 5 8 0 1 0 8 1 pinseq=25 T 450 3700 9 8 1 1 0 0 1 pinlabel=25 T 450 3700 5 8 0 1 0 2 1 pintype=pas } V 350 3700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 3300 300 3300 1 0 0 { T 300 3350 5 8 0 1 0 6 1 pinnumber=26 T 300 3250 5 8 0 1 0 8 1 pinseq=26 T 450 3300 9 8 1 1 0 0 1 pinlabel=26 T 450 3300 5 8 0 1 0 2 1 pintype=pas } V 350 3300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2900 300 2900 1 0 0 { T 300 2950 5 8 0 1 0 6 1 pinnumber=27 T 300 2850 5 8 0 1 0 8 1 pinseq=27 T 450 2900 9 8 1 1 0 0 1 pinlabel=27 T 450 2900 5 8 0 1 0 2 1 pintype=pas } V 350 2900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2500 300 2500 1 0 0 { T 300 2550 5 8 0 1 0 6 1 pinnumber=28 T 300 2450 5 8 0 1 0 8 1 pinseq=28 T 450 2500 9 8 1 1 0 0 1 pinlabel=28 T 450 2500 5 8 0 1 0 2 1 pintype=pas } V 350 2500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2100 300 2100 1 0 0 { T 300 2150 5 8 0 1 0 6 1 pinnumber=29 T 300 2050 5 8 0 1 0 8 1 pinseq=29 T 450 2100 9 8 1 1 0 0 1 pinlabel=29 T 450 2100 5 8 0 1 0 2 1 pintype=pas } V 350 2100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1700 300 1700 1 0 0 { T 300 1750 5 8 0 1 0 6 1 pinnumber=30 T 300 1650 5 8 0 1 0 8 1 pinseq=30 T 450 1700 9 8 1 1 0 0 1 pinlabel=30 T 450 1700 5 8 0 1 0 2 1 pintype=pas } V 350 1700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1300 300 1300 1 0 0 { T 300 1350 5 8 0 1 0 6 1 pinnumber=31 T 300 1250 5 8 0 1 0 8 1 pinseq=31 T 450 1300 9 8 1 1 0 0 1 pinlabel=31 T 450 1300 5 8 0 1 0 2 1 pintype=pas } V 350 1300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 900 300 900 1 0 0 { T 300 950 5 8 0 1 0 6 1 pinnumber=32 T 300 850 5 8 0 1 0 8 1 pinseq=32 T 450 900 9 8 1 1 0 0 1 pinlabel=32 T 450 900 5 8 0 1 0 2 1 pintype=pas } V 350 900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 500 300 500 1 0 0 { T 300 550 5 8 0 1 0 6 1 pinnumber=33 T 300 450 5 8 0 1 0 8 1 pinseq=33 T 450 500 9 8 1 1 0 0 1 pinlabel=33 T 450 500 5 8 0 1 0 2 1 pintype=pas } V 350 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 400 100 400 13600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/connector/header26-2.sym0000664000175000017500000001472112204104272016052 00000000000000v 20031231 1 P 1000 7400 1300 7400 1 0 1 { T 1000 7400 5 10 1 1 0 0 1 pinnumber=2 T 1000 7400 5 10 0 1 0 0 1 pintype=pas T 1000 7400 5 10 0 1 0 0 1 pinlabel=2 T 1000 7400 5 10 0 1 0 0 1 pinseq=2 } V 800 7400 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 7700 500 7700 1 0 0 { T 1000 7700 5 10 1 1 0 0 1 pinnumber=1 T 1300 7600 5 10 0 1 0 0 1 pintype=pas T 1300 7700 5 10 0 1 0 0 1 pinlabel=1 T 1300 7700 5 10 0 1 0 0 1 pinseq=1 } L 500 7700 200 7600 3 0 0 0 -1 -1 V 200 7400 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 100 7800 8 10 1 1 0 0 1 refdes=J? T 400 7900 8 10 0 0 0 0 1 footprint=header26 T 400 8100 8 10 0 0 0 0 1 numslots=0 T 400 8300 8 10 0 0 0 0 1 device=header26 P 1000 6800 1300 6800 1 0 1 { T 1000 6800 5 10 1 1 0 0 1 pinnumber=4 T 1000 6800 5 10 0 1 0 0 1 pintype=pas T 1000 6800 5 10 0 1 0 0 1 pinlabel=4 T 1000 6800 5 10 0 1 0 0 1 pinseq=4 } V 800 6800 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 7100 500 7100 1 0 0 { T 1000 7100 5 10 1 1 0 0 1 pinnumber=3 T 1300 7100 5 10 0 1 0 0 1 pintype=pas T 1300 7100 5 10 0 1 0 0 1 pinlabel=3 T 1300 7100 5 10 0 1 0 0 1 pinseq=3 } L 500 7100 200 7000 3 0 0 0 -1 -1 V 200 6800 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 6200 1300 6200 1 0 1 { T 1000 6200 5 10 1 1 0 0 1 pinnumber=6 T 1000 6200 5 10 0 1 0 0 1 pintype=pas T 1000 6200 5 10 0 1 0 0 1 pinlabel=6 T 1000 6200 5 10 0 1 0 0 1 pinseq=6 } V 800 6200 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 6500 500 6500 1 0 0 { T 1000 6500 5 10 1 1 0 0 1 pinnumber=5 T 1300 6500 5 10 0 1 0 0 1 pintype=pas T 1300 6500 5 10 0 1 0 0 1 pinlabel=5 T 1300 6500 5 10 0 1 0 0 1 pinseq=5 } L 500 6500 200 6400 3 0 0 0 -1 -1 V 200 6200 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 5600 1300 5600 1 0 1 { T 1000 5600 5 10 1 1 0 0 1 pinnumber=8 T 1000 5600 5 10 0 1 0 0 1 pintype=pas T 1000 5600 5 10 0 1 0 0 1 pinlabel=8 T 1000 5600 5 10 0 1 0 0 1 pinseq=8 } V 800 5600 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 5900 500 5900 1 0 0 { T 1000 5900 5 10 1 1 0 0 1 pinnumber=7 T 1300 5900 5 10 0 1 0 0 1 pintype=pas T 1300 5900 5 10 0 1 0 0 1 pinlabel=7 T 1300 5900 5 10 0 1 0 0 1 pinseq=7 } L 500 5900 200 5800 3 0 0 0 -1 -1 V 200 5600 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 5000 1300 5000 1 0 1 { T 1000 5000 5 10 1 1 0 0 1 pinnumber=10 T 1000 5000 5 10 0 1 0 0 1 pintype=pas T 1000 5000 5 10 0 1 0 0 1 pinlabel=10 T 1000 5000 5 10 0 1 0 0 1 pinseq=10 } V 800 5000 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 5300 500 5300 1 0 0 { T 1000 5300 5 10 1 1 0 0 1 pinnumber=9 T 1300 5300 5 10 0 1 0 0 1 pintype=pas T 1300 5300 5 10 0 1 0 0 1 pinlabel=9 T 1300 5300 5 10 0 1 0 0 1 pinseq=9 } L 500 5300 200 5200 3 0 0 0 -1 -1 V 200 5000 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 4400 1300 4400 1 0 1 { T 1000 4400 5 10 1 1 0 0 1 pinnumber=12 T 1000 4400 5 10 0 1 0 0 1 pintype=pas T 1000 4400 5 10 0 1 0 0 1 pinlabel=12 T 1000 4400 5 10 0 1 0 0 1 pinseq=12 } V 800 4400 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 4700 500 4700 1 0 0 { T 1000 4700 5 10 1 1 0 0 1 pinnumber=11 T 1300 4700 5 10 0 1 0 0 1 pintype=pas T 1300 4700 5 10 0 1 0 0 1 pinlabel=11 T 1300 4700 5 10 0 1 0 0 1 pinseq=11 } L 500 4700 200 4600 3 0 0 0 -1 -1 V 200 4400 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 3800 1300 3800 1 0 1 { T 1000 3800 5 10 1 1 0 0 1 pinnumber=14 T 1000 3800 5 10 0 1 0 0 1 pintype=pas T 1000 3800 5 10 0 1 0 0 1 pinlabel=14 T 1000 3800 5 10 0 1 0 0 1 pinseq=14 } V 800 3800 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 4100 500 4100 1 0 0 { T 1000 4100 5 10 1 1 0 0 1 pinnumber=13 T 1300 4100 5 10 0 1 0 0 1 pintype=pas T 1300 4100 5 10 0 1 0 0 1 pinlabel=13 T 1300 4100 5 10 0 1 0 0 1 pinseq=13 } L 500 4100 200 4000 3 0 0 0 -1 -1 V 200 3800 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 3200 1300 3200 1 0 1 { T 1000 3200 5 10 1 1 0 0 1 pinnumber=16 T 1000 3200 5 10 0 1 0 0 1 pintype=pas T 1000 3200 5 10 0 1 0 0 1 pinlabel=16 T 1000 3200 5 10 0 1 0 0 1 pinseq=16 } V 800 3200 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 3500 500 3500 1 0 0 { T 1000 3500 5 10 1 1 0 0 1 pinnumber=15 T 1300 3500 5 10 0 1 0 0 1 pintype=pas T 1300 3500 5 10 0 1 0 0 1 pinlabel=15 T 1300 3500 5 10 0 1 0 0 1 pinseq=15 } L 500 3500 200 3400 3 0 0 0 -1 -1 V 200 3200 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 2600 1300 2600 1 0 1 { T 1000 2600 5 10 1 1 0 0 1 pinnumber=18 T 1000 2600 5 10 0 1 0 0 1 pintype=pas T 1000 2600 5 10 0 1 0 0 1 pinlabel=18 T 1000 2600 5 10 0 1 0 0 1 pinseq=18 } V 800 2600 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 200 2600 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 2000 1300 2000 1 0 1 { T 1000 2000 5 10 1 1 0 0 1 pinnumber=20 T 1000 2000 5 10 0 1 0 0 1 pintype=pas T 1000 2000 5 10 0 1 0 0 1 pinlabel=20 T 1000 2000 5 10 0 1 0 0 1 pinseq=20 } V 800 2000 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 2300 500 2300 1 0 0 { T 1000 2300 5 10 1 1 0 0 1 pinnumber=19 T 1300 2300 5 10 0 1 0 0 1 pintype=pas T 1300 2300 5 10 0 1 0 0 1 pinlabel=19 T 1300 2300 5 10 0 1 0 0 1 pinseq=19 } L 500 2300 200 2200 3 0 0 0 -1 -1 V 200 2000 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 1400 1300 1400 1 0 1 { T 1000 1400 5 10 1 1 0 0 1 pinnumber=22 T 1000 1400 5 10 0 1 0 0 1 pintype=pas T 1000 1400 5 10 0 1 0 0 1 pinlabel=22 T 1000 1400 5 10 0 1 0 0 1 pinseq=22 } V 800 1400 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 1700 500 1700 1 0 0 { T 1000 1700 5 10 1 1 0 0 1 pinnumber=21 T 1300 1700 5 10 0 1 0 0 1 pintype=pas T 1300 1700 5 10 0 1 0 0 1 pinlabel=21 T 1300 1700 5 10 0 1 0 0 1 pinseq=21 } L 500 1700 200 1600 3 0 0 0 -1 -1 V 200 1400 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 800 1300 800 1 0 1 { T 1000 800 5 10 1 1 0 0 1 pinnumber=24 T 1000 800 5 10 0 1 0 0 1 pintype=pas T 1000 800 5 10 0 1 0 0 1 pinlabel=24 T 1000 800 5 10 0 1 0 0 1 pinseq=24 } V 800 800 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 1100 500 1100 1 0 0 { T 1000 1100 5 10 1 1 0 0 1 pinnumber=23 T 1300 1100 5 10 0 1 0 0 1 pintype=pas T 1300 1100 5 10 0 1 0 0 1 pinlabel=23 T 1300 1100 5 10 0 1 0 0 1 pinseq=23 } L 500 1100 200 1000 3 0 0 0 -1 -1 V 200 800 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 200 1300 200 1 0 1 { T 1000 200 5 10 1 1 0 0 1 pinnumber=26 T 1000 200 5 10 0 1 0 0 1 pintype=pas T 1000 200 5 10 0 1 0 0 1 pinlabel=26 T 1000 200 5 10 0 1 0 0 1 pinseq=26 } V 800 200 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 500 500 500 1 0 0 { T 1000 500 5 10 1 1 0 0 1 pinnumber=25 T 1300 500 5 10 0 1 0 0 1 pintype=pas T 1300 500 5 10 0 1 0 0 1 pinlabel=25 T 1300 500 5 10 0 1 0 0 1 pinseq=25 } L 500 500 200 400 3 0 0 0 -1 -1 V 200 200 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 2900 500 2900 1 0 0 { T 1000 2900 5 10 1 1 0 0 1 pinnumber=17 T 1300 2900 5 10 0 1 0 0 1 pintype=pas T 1300 2900 5 10 0 1 0 0 1 pinlabel=17 T 1300 2900 5 10 0 1 0 0 1 pinseq=17 } L 500 2900 200 2800 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/connector/connector2-2.sym0000664000175000017500000000134612204104272016525 00000000000000v 20041228 1 T 700 1300 8 10 1 1 0 6 1 refdes=CONN? T 300 1250 5 10 0 0 0 0 1 device=CONNECTOR_2 T 300 1450 5 10 0 0 0 0 1 footprint=SIP2N T 300 1650 5 10 0 0 0 0 1 author=Leon Kos T 300 1850 5 10 0 0 0 0 1 description=generic connector T 300 2050 5 10 0 0 0 0 1 numslots=0 P 0 800 200 800 1 0 0 { T 200 850 5 8 0 1 0 6 1 pinnumber=1 T 200 750 5 8 0 1 0 8 1 pinseq=1 T 350 800 9 8 1 1 0 0 1 pinlabel=1 T 350 800 5 8 0 1 0 2 1 pintype=pas } V 250 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 400 200 400 1 0 0 { T 200 450 5 8 0 1 0 6 1 pinnumber=2 T 200 350 5 8 0 1 0 8 1 pinseq=2 T 350 400 9 8 1 1 0 0 1 pinlabel=2 T 350 400 5 8 0 1 0 2 1 pintype=pas } V 250 400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 300 0 400 1200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/connector/jumper-1.sym0000664000175000017500000000105412204104272015746 00000000000000v 20031231 1 P 100 1000 100 800 1 0 0 { T 150 850 5 8 1 1 0 0 1 pinnumber=2 T 150 850 5 8 0 0 0 0 1 pinseq=2 T 150 850 5 8 0 1 0 0 1 pinlabel=2 T 150 850 5 8 0 1 0 0 1 pintype=pas } P 100 0 100 200 1 0 0 { T 150 50 5 8 1 1 0 0 1 pinnumber=1 T 150 50 5 8 0 0 0 0 1 pinseq=1 T 150 50 5 8 0 1 0 0 1 pinlabel=1 T 150 50 5 8 0 1 0 0 1 pintype=pas } V 100 700 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 100 300 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 0 200 200 600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 500 5 8 0 0 0 0 1 device=JUMPER T 300 500 8 10 1 1 0 0 1 refdes=J? geda-gaf-1.8.2/symbols/connector/DB9-1.sym0000664000175000017500000000447512204104272015034 00000000000000v 20031231 1 L 0 300 0 2700 3 0 0 0 -1 -1 T 1000 2900 5 10 0 0 0 0 1 device=DB9 V 600 300 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 650 300 1200 300 1 0 1 { T 1000 350 5 8 1 1 0 0 1 pinnumber=5 T 1000 350 5 8 0 0 0 0 1 pinseq=1 T 1000 350 5 8 0 1 0 0 1 pinlabel=5 T 1000 350 5 8 0 1 0 0 1 pintype=pas } A 750 150 150 250 110 3 0 0 0 -1 -1 A 75 300 75 180 60 3 0 0 0 -1 -1 A 750 2890 150 0 110 3 0 0 0 -1 -1 A 75 2700 75 120 60 3 0 0 0 -1 -1 L 900 137 900 2905 3 0 0 0 -1 -1 V 300 600 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 350 600 1200 600 1 0 1 { T 1000 650 5 8 1 1 0 0 1 pinnumber=9 T 1000 650 5 8 0 0 0 0 1 pinseq=2 T 1000 650 5 8 0 1 0 0 1 pinlabel=9 T 1000 650 5 8 0 1 0 0 1 pintype=pas } V 600 900 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 650 900 1200 900 1 0 1 { T 1000 950 5 8 1 1 0 0 1 pinnumber=4 T 1000 950 5 8 0 0 0 0 1 pinseq=3 T 1000 950 5 8 0 1 0 0 1 pinlabel=4 T 1000 950 5 8 0 1 0 0 1 pintype=pas } V 300 1200 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 350 1200 1200 1200 1 0 1 { T 1000 1250 5 8 1 1 0 0 1 pinnumber=8 T 1000 1250 5 8 0 0 0 0 1 pinseq=4 T 1000 1250 5 8 0 1 0 0 1 pinlabel=8 T 1000 1250 5 8 0 1 0 0 1 pintype=pas } V 600 1500 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 650 1500 1200 1500 1 0 1 { T 1000 1550 5 8 1 1 0 0 1 pinnumber=3 T 1000 1550 5 8 0 0 0 0 1 pinseq=5 T 1000 1550 5 8 0 1 0 0 1 pinlabel=3 T 1000 1550 5 8 0 1 0 0 1 pintype=pas } V 300 1800 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 350 1800 1200 1800 1 0 1 { T 1000 1850 5 8 1 1 0 0 1 pinnumber=7 T 1000 1850 5 8 0 0 0 0 1 pinseq=6 T 1000 1850 5 8 0 1 0 0 1 pinlabel=7 T 1000 1850 5 8 0 1 0 0 1 pintype=pas } V 600 2100 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 650 2100 1200 2100 1 0 1 { T 1000 2150 5 8 1 1 0 0 1 pinnumber=2 T 1000 2150 5 8 0 0 0 0 1 pinseq=7 T 1000 2150 5 8 0 1 0 0 1 pinlabel=2 T 1000 2150 5 8 0 1 0 0 1 pintype=pas } V 300 2400 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 350 2400 1200 2400 1 0 1 { T 1000 2450 5 8 1 1 0 0 1 pinnumber=6 T 1000 2450 5 8 0 0 0 0 1 pinseq=8 T 1000 2450 5 8 0 1 0 0 1 pinlabel=6 T 1000 2450 5 8 0 1 0 0 1 pintype=pas } V 600 2700 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 650 2700 1200 2700 1 0 1 { T 1000 2750 5 8 1 1 0 0 1 pinnumber=1 T 1000 2750 5 8 0 0 0 0 1 pinseq=9 T 1000 2750 5 8 0 1 0 0 1 pinlabel=1 T 1000 2750 5 8 0 1 0 0 1 pintype=pas } L 38 234 702 8 3 0 0 0 -1 -1 L 700 3031 37 2765 3 0 0 0 -1 -1 T 200 3200 8 10 1 1 0 0 1 refdes=CONN? geda-gaf-1.8.2/symbols/connector/dip24-1.sym0000664000175000017500000001054712204104272015375 00000000000000v 20031231 1 B 300 0 1500 4700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2400 4400 5 10 0 0 0 0 1 device=DIP24 P 300 4500 0 4500 1 0 1 { T 100 4550 5 8 1 1 0 0 1 pinnumber=1 T 100 4550 5 8 0 0 0 0 1 pinseq=1 T 100 4550 5 8 0 1 0 0 1 pinlabel=1 T 100 4550 5 8 0 1 0 0 1 pintype=pas } P 300 4100 0 4100 1 0 1 { T 100 4150 5 8 1 1 0 0 1 pinnumber=2 T 100 4150 5 8 0 0 0 0 1 pinseq=2 T 100 4150 5 8 0 1 0 0 1 pinlabel=2 T 100 4150 5 8 0 1 0 0 1 pintype=pas } P 300 3700 0 3700 1 0 1 { T 100 3750 5 8 1 1 0 0 1 pinnumber=3 T 100 3750 5 8 0 0 0 0 1 pinseq=3 T 100 3750 5 8 0 1 0 0 1 pinlabel=3 T 100 3750 5 8 0 1 0 0 1 pintype=pas } P 300 3300 0 3300 1 0 1 { T 100 3350 5 8 1 1 0 0 1 pinnumber=4 T 100 3350 5 8 0 0 0 0 1 pinseq=4 T 100 3350 5 8 0 1 0 0 1 pinlabel=4 T 100 3350 5 8 0 1 0 0 1 pintype=pas } P 300 2900 0 2900 1 0 1 { T 100 2950 5 8 1 1 0 0 1 pinnumber=5 T 100 2950 5 8 0 0 0 0 1 pinseq=5 T 100 2950 5 8 0 1 0 0 1 pinlabel=5 T 100 2950 5 8 0 1 0 0 1 pintype=pas } P 300 2500 0 2500 1 0 1 { T 100 2550 5 8 1 1 0 0 1 pinnumber=6 T 100 2550 5 8 0 0 0 0 1 pinseq=6 T 100 2550 5 8 0 1 0 0 1 pinlabel=6 T 100 2550 5 8 0 1 0 0 1 pintype=pas } P 300 2100 0 2100 1 0 1 { T 100 2150 5 8 1 1 0 0 1 pinnumber=7 T 100 2150 5 8 0 0 0 0 1 pinseq=7 T 100 2150 5 8 0 1 0 0 1 pinlabel=7 T 100 2150 5 8 0 1 0 0 1 pintype=pas } P 300 1700 0 1700 1 0 1 { T 100 1750 5 8 1 1 0 0 1 pinnumber=8 T 100 1750 5 8 0 0 0 0 1 pinseq=8 T 100 1750 5 8 0 1 0 0 1 pinlabel=8 T 100 1750 5 8 0 1 0 0 1 pintype=pas } P 300 1300 0 1300 1 0 1 { T 100 1350 5 8 1 1 0 0 1 pinnumber=9 T 100 1350 5 8 0 0 0 0 1 pinseq=9 T 100 1350 5 8 0 1 0 0 1 pinlabel=9 T 100 1350 5 8 0 1 0 0 1 pintype=pas } P 300 900 0 900 1 0 1 { T 100 950 5 8 1 1 0 0 1 pinnumber=10 T 100 950 5 8 0 0 0 0 1 pinseq=10 T 100 950 5 8 0 1 0 0 1 pinlabel=10 T 100 950 5 8 0 1 0 0 1 pintype=pas } P 300 500 0 500 1 0 1 { T 100 550 5 8 1 1 0 0 1 pinnumber=11 T 100 550 5 8 0 0 0 0 1 pinseq=11 T 100 550 5 8 0 1 0 0 1 pinlabel=11 T 100 550 5 8 0 1 0 0 1 pintype=pas } P 300 100 0 100 1 0 1 { T 100 150 5 8 1 1 0 0 1 pinnumber=12 T 100 150 5 8 0 0 0 0 1 pinseq=12 T 100 150 5 8 0 1 0 0 1 pinlabel=12 T 100 150 5 8 0 1 0 0 1 pintype=pas } P 2100 100 1800 100 1 0 0 { T 1900 150 5 8 1 1 0 0 1 pinnumber=13 T 1900 150 5 8 0 0 0 0 1 pinseq=13 T 1900 150 5 8 0 1 0 0 1 pinlabel=13 T 1900 150 5 8 0 1 0 0 1 pintype=pas } P 2100 500 1800 500 1 0 0 { T 1900 550 5 8 1 1 0 0 1 pinnumber=14 T 1900 550 5 8 0 0 0 0 1 pinseq=14 T 1900 550 5 8 0 1 0 0 1 pinlabel=14 T 1900 550 5 8 0 1 0 0 1 pintype=pas } P 2100 900 1800 900 1 0 0 { T 1900 950 5 8 1 1 0 0 1 pinnumber=15 T 1900 950 5 8 0 0 0 0 1 pinseq=15 T 1900 950 5 8 0 1 0 0 1 pinlabel=15 T 1900 950 5 8 0 1 0 0 1 pintype=pas } P 2100 1300 1800 1300 1 0 0 { T 1900 1350 5 8 1 1 0 0 1 pinnumber=16 T 1900 1350 5 8 0 0 0 0 1 pinseq=16 T 1900 1350 5 8 0 1 0 0 1 pinlabel=16 T 1900 1350 5 8 0 1 0 0 1 pintype=pas } P 2100 1700 1800 1700 1 0 0 { T 1900 1750 5 8 1 1 0 0 1 pinnumber=17 T 1900 1750 5 8 0 0 0 0 1 pinseq=17 T 1900 1750 5 8 0 1 0 0 1 pinlabel=17 T 1900 1750 5 8 0 1 0 0 1 pintype=pas } P 2100 2100 1800 2100 1 0 0 { T 1900 2150 5 8 1 1 0 0 1 pinnumber=18 T 1900 2150 5 8 0 0 0 0 1 pinseq=18 T 1900 2150 5 8 0 1 0 0 1 pinlabel=18 T 1900 2150 5 8 0 1 0 0 1 pintype=pas } P 2100 2500 1800 2500 1 0 0 { T 1900 2550 5 8 1 1 0 0 1 pinnumber=19 T 1900 2550 5 8 0 0 0 0 1 pinseq=19 T 1900 2550 5 8 0 1 0 0 1 pinlabel=19 T 1900 2550 5 8 0 1 0 0 1 pintype=pas } P 2100 2900 1800 2900 1 0 0 { T 1900 2950 5 8 1 1 0 0 1 pinnumber=20 T 1900 2950 5 8 0 0 0 0 1 pinseq=20 T 1900 2950 5 8 0 1 0 0 1 pinlabel=20 T 1900 2950 5 8 0 1 0 0 1 pintype=pas } P 2100 3300 1800 3300 1 0 0 { T 1900 3350 5 8 1 1 0 0 1 pinnumber=21 T 1900 3350 5 8 0 0 0 0 1 pinseq=21 T 1900 3350 5 8 0 1 0 0 1 pinlabel=21 T 1900 3350 5 8 0 1 0 0 1 pintype=pas } P 2100 3700 1800 3700 1 0 0 { T 1900 3750 5 8 1 1 0 0 1 pinnumber=22 T 1900 3750 5 8 0 0 0 0 1 pinseq=22 T 1900 3750 5 8 0 1 0 0 1 pinlabel=22 T 1900 3750 5 8 0 1 0 0 1 pintype=pas } P 2100 4100 1800 4100 1 0 0 { T 1900 4150 5 8 1 1 0 0 1 pinnumber=23 T 1900 4150 5 8 0 0 0 0 1 pinseq=23 T 1900 4150 5 8 0 1 0 0 1 pinlabel=23 T 1900 4150 5 8 0 1 0 0 1 pintype=pas } P 2100 4500 1800 4500 1 0 0 { T 1900 4550 5 8 1 1 0 0 1 pinnumber=24 T 1900 4550 5 8 0 0 0 0 1 pinseq=24 T 1900 4550 5 8 0 1 0 0 1 pinlabel=24 T 1900 4550 5 8 0 1 0 0 1 pintype=pas } T 300 4750 9 10 1 0 0 0 1 DIP24 T 1200 4800 8 10 1 1 0 0 1 refdes=CONN? geda-gaf-1.8.2/symbols/connector/DIN41612C96-2.sym0000664000175000017500000004264712204104272015754 00000000000000v 20031231 1 P 500 12700 200 12700 1 0 1 { T 200 12750 5 8 1 1 0 0 1 pinnumber=A1 T 600 12750 9 8 0 0 0 0 1 pinlabel=A1 T 600 12750 5 8 0 0 0 0 1 pinseq=1 T 600 12750 5 8 0 0 0 0 1 pintype=pas } P 500 12300 200 12300 1 0 1 { T 200 12350 5 8 1 1 0 0 1 pinnumber=A2 T 600 12350 9 8 0 0 0 0 1 pinlabel=A2 T 600 12350 5 8 0 0 0 0 1 pinseq=2 T 600 12350 5 8 0 0 0 0 1 pintype=pas } P 500 11900 200 11900 1 0 1 { T 200 11950 5 8 1 1 0 0 1 pinnumber=A3 T 600 11950 9 8 0 0 0 0 1 pinlabel=A3 T 600 11950 5 8 0 0 0 0 1 pinseq=3 T 600 11950 5 8 0 0 0 0 1 pintype=pas } P 500 11500 200 11500 1 0 1 { T 200 11550 5 8 1 1 0 0 1 pinnumber=A4 T 600 11550 9 8 0 0 0 0 1 pinlabel=A4 T 600 11550 5 8 0 0 0 0 1 pinseq=4 T 600 11550 5 8 0 0 0 0 1 pintype=pas } P 500 11100 200 11100 1 0 1 { T 200 11150 5 8 1 1 0 0 1 pinnumber=A5 T 600 11150 9 8 0 0 0 0 1 pinlabel=A5 T 600 11150 5 8 0 0 0 0 1 pinseq=5 T 600 11150 5 8 0 0 0 0 1 pintype=pas } P 500 10700 200 10700 1 0 1 { T 200 10750 5 8 1 1 0 0 1 pinnumber=A6 T 600 10750 9 8 0 0 0 0 1 pinlabel=A6 T 600 10750 5 8 0 0 0 0 1 pinseq=6 T 600 11150 5 8 0 0 0 0 1 pintype=pas } P 200 10300 500 10300 1 0 0 { T 200 10350 5 8 1 1 0 0 1 pinnumber=A7 T 600 10350 9 8 0 0 0 0 1 pinlabel=A7 T 600 10350 5 8 0 0 0 0 1 pinseq=7 T 600 10350 5 8 0 0 0 0 1 pintype=pas } P 500 9900 200 9900 1 0 1 { T 200 9950 5 8 1 1 0 0 1 pinnumber=A8 T 600 9950 9 8 0 0 0 0 1 pinlabel=A8 T 600 9950 5 8 0 0 0 0 1 pinseq=8 T 600 9950 5 8 0 0 0 0 1 pintype=pas } P 500 9500 200 9500 1 0 1 { T 200 9550 5 8 1 1 0 0 1 pinnumber=A9 T 600 9550 9 8 0 0 0 0 1 pinlabel=A9 T 600 9550 5 8 0 0 0 0 1 pinseq=9 T 600 9550 5 8 0 0 0 0 1 pintype=pas } P 500 9100 200 9100 1 0 1 { T 100 9150 5 8 1 1 0 0 1 pinnumber=A10 T 600 9150 9 8 0 0 0 0 1 pinlabel=A10 T 600 9150 5 8 0 0 0 0 1 pinseq=10 T 600 9150 5 8 0 0 0 0 1 pintype=pas } P 500 8700 200 8700 1 0 1 { T 100 8750 5 8 1 1 0 0 1 pinnumber=A11 T 600 8750 9 8 0 0 0 0 1 pinlabel=A11 T 600 8750 5 8 0 0 0 0 1 pinseq=11 T 600 8750 5 8 0 0 0 0 1 pintype=pas } P 200 8300 500 8300 1 0 0 { T 100 8350 5 8 1 1 0 0 1 pinnumber=A12 T 600 8350 9 8 0 0 0 0 1 pinlabel=A12 T 600 8350 5 8 0 0 0 0 1 pinseq=12 T 600 8350 5 8 0 0 0 0 1 pintype=pas } P 500 7900 200 7900 1 0 1 { T 100 7950 5 8 1 1 0 0 1 pinnumber=A13 T 600 7950 9 8 0 0 0 0 1 pinlabel=A13 T 600 7950 5 8 0 0 0 0 1 pinseq=13 T 600 7950 5 8 0 0 0 0 1 pintype=pas } P 200 7500 500 7500 1 0 0 { T 100 7550 5 8 1 1 0 0 1 pinnumber=A14 T 600 7550 9 8 0 0 0 0 1 pinlabel=A14 T 600 7550 5 8 0 0 0 0 1 pinseq=14 T 600 7550 5 8 0 0 0 0 1 pintype=pas } P 500 7100 200 7100 1 0 1 { T 100 7150 5 8 1 1 0 0 1 pinnumber=A15 T 600 7150 9 8 0 0 0 0 1 pinlabel=A15 T 600 7150 5 8 0 0 0 0 1 pinseq=15 T 600 7150 5 8 0 0 0 0 1 pintype=pas } P 200 6700 500 6700 1 0 0 { T 100 6750 5 8 1 1 0 0 1 pinnumber=A16 T 600 6750 9 8 0 0 0 0 1 pinlabel=A16 T 600 6750 5 8 0 0 0 0 1 pinseq=16 T 600 6750 5 8 0 0 0 0 1 pintype=pas } P 500 6300 200 6300 1 0 1 { T 100 6350 5 8 1 1 0 0 1 pinnumber=A17 T 600 6350 9 8 0 0 0 0 1 pinlabel=A17 T 600 6350 5 8 0 0 0 0 1 pinseq=17 T 600 6350 5 8 0 0 0 0 1 pintype=pas } P 200 5900 500 5900 1 0 0 { T 100 5950 5 8 1 1 0 0 1 pinnumber=A18 T 600 5950 9 8 0 0 0 0 1 pinlabel=A18 T 600 5950 5 8 0 0 0 0 1 pinseq=18 T 600 5950 5 8 0 0 0 0 1 pintype=pas } P 500 5500 200 5500 1 0 1 { T 100 5550 5 8 1 1 0 0 1 pinnumber=A19 T 600 5550 9 8 0 0 0 0 1 pinlabel=A19 T 600 5550 5 8 0 0 0 0 1 pinseq=19 T 600 5550 5 8 0 0 0 0 1 pintype=pas } P 200 5100 500 5100 1 0 0 { T 100 5150 5 8 1 1 0 0 1 pinnumber=A20 T 600 5150 9 8 0 0 0 0 1 pinlabel=A20 T 600 5150 5 8 0 0 0 0 1 pinseq=20 T 600 5150 5 8 0 0 0 0 1 pintype=pas } P 500 4700 200 4700 1 0 1 { T 100 4750 5 8 1 1 0 0 1 pinnumber=A21 T 600 4750 9 8 0 0 0 0 1 pinlabel=A21 T 600 4750 5 8 0 0 0 0 1 pinseq=21 T 600 4750 5 8 0 0 0 0 1 pintype=pas } P 200 4300 500 4300 1 0 0 { T 100 4350 5 8 1 1 0 0 1 pinnumber=A22 T 600 4350 9 8 0 0 0 0 1 pinlabel=A22 T 600 4350 5 8 0 0 0 0 1 pinseq=22 T 600 4350 5 8 0 0 0 0 1 pintype=pas } P 500 3900 200 3900 1 0 1 { T 100 3950 5 8 1 1 0 0 1 pinnumber=A23 T 600 3950 9 8 0 0 0 0 1 pinlabel=A23 T 600 3950 5 8 0 0 0 0 1 pinseq=23 T 600 3950 5 8 0 0 0 0 1 pintype=pas } P 200 3500 500 3500 1 0 0 { T 100 3550 5 8 1 1 0 0 1 pinnumber=A24 T 600 3550 9 8 0 0 0 0 1 pinlabel=A24 T 600 3550 5 8 0 0 0 0 1 pinseq=24 T 600 3550 5 8 0 0 0 0 1 pintype=pas } P 500 3100 200 3100 1 0 1 { T 100 3150 5 8 1 1 0 0 1 pinnumber=A25 T 600 3150 9 8 0 0 0 0 1 pinlabel=A25 T 600 3150 5 8 0 0 0 0 1 pinseq=25 T 600 3150 5 8 0 0 0 0 1 pintype=pas } P 200 2700 500 2700 1 0 0 { T 100 2750 5 8 1 1 0 0 1 pinnumber=A26 T 600 2750 9 8 0 0 0 0 1 pinlabel=A26 T 600 2750 5 8 0 0 0 0 1 pinseq=26 T 600 2750 5 8 0 0 0 0 1 pintype=pas } P 500 2300 200 2300 1 0 1 { T 100 2350 5 8 1 1 0 0 1 pinnumber=A27 T 600 2350 9 8 0 0 0 0 1 pinlabel=A27 T 600 2350 5 8 0 0 0 0 1 pinseq=27 T 600 2350 5 8 0 0 0 0 1 pintype=pas } P 200 1900 500 1900 1 0 0 { T 100 1950 5 8 1 1 0 0 1 pinnumber=A28 T 600 1950 9 8 0 0 0 0 1 pinlabel=A28 T 600 1950 5 8 0 0 0 0 1 pinseq=28 T 600 1950 5 8 0 0 0 0 1 pintype=pas } P 500 1500 200 1500 1 0 1 { T 100 1550 5 8 1 1 0 0 1 pinnumber=A29 T 600 1550 9 8 0 0 0 0 1 pinlabel=A29 T 600 1550 5 8 0 0 0 0 1 pinseq=29 T 600 1550 5 8 0 0 0 0 1 pintype=pas } P 200 1100 500 1100 1 0 0 { T 100 1150 5 8 1 1 0 0 1 pinnumber=A30 T 600 1150 9 8 0 0 0 0 1 pinlabel=A30 T 600 1150 5 8 0 0 0 0 1 pinseq=30 T 600 1150 5 8 0 0 0 0 1 pintype=pas } P 500 700 200 700 1 0 1 { T 100 750 5 8 1 1 0 0 1 pinnumber=A31 T 600 750 9 8 0 0 0 0 1 pinlabel=A31 T 600 750 5 8 0 0 0 0 1 pinseq=31 T 600 750 5 8 0 0 0 0 1 pintype=pas } P 200 300 500 300 1 0 0 { T 100 350 5 8 1 1 0 0 1 pinnumber=A32 T 600 350 9 8 0 0 0 0 1 pinlabel=A32 T 600 350 5 8 0 0 0 0 1 pinseq=32 T 600 350 5 8 0 0 0 0 1 pintype=pas } P 3500 12700 3800 12700 1 0 1 { T 3600 12750 5 8 1 1 0 0 1 pinnumber=B1 T 3200 12750 9 8 0 0 0 0 1 pinlabel=B1 T 3200 12750 5 8 0 0 0 0 1 pinseq=33 T 3200 12750 5 8 0 0 0 0 1 pintype=pas } P 3500 12500 3800 12500 1 0 1 { T 3600 12550 5 8 1 1 0 0 1 pinnumber=C1 T 3200 12550 9 8 0 0 0 0 1 pinlabel=C1 T 3200 12550 5 8 0 0 0 0 1 pinseq=34 T 3200 12550 5 8 0 0 0 0 1 pintype=pas } P 3500 12300 3800 12300 1 0 1 { T 3600 12350 5 8 1 1 0 0 1 pinnumber=B2 T 3200 12350 9 8 0 0 0 0 1 pinlabel=B2 T 3200 12350 5 8 0 0 0 0 1 pinseq=35 T 3200 12350 5 8 0 0 0 0 1 pintype=pas } P 3500 12100 3800 12100 1 0 1 { T 3600 12150 5 8 1 1 0 0 1 pinnumber=C2 T 3200 12150 9 8 0 0 0 0 1 pinlabel=C2 T 3200 12150 5 8 0 0 0 0 1 pinseq=36 T 3200 12150 5 8 0 0 0 0 1 pintype=pas } P 3500 11900 3800 11900 1 0 1 { T 3600 11950 5 8 1 1 0 0 1 pinnumber=B3 T 3200 11950 9 8 0 0 0 0 1 pinlabel=B3 T 3200 11950 5 8 0 0 0 0 1 pinseq=37 T 3200 11950 5 8 0 0 0 0 1 pintype=pas } P 3500 11700 3800 11700 1 0 1 { T 3600 11750 5 8 1 1 0 0 1 pinnumber=C3 T 3200 11750 9 8 0 0 0 0 1 pinlabel=C3 T 3200 11750 5 8 0 0 0 0 1 pinseq=38 T 3200 11750 5 8 0 0 0 0 1 pintype=pas } P 3500 11500 3800 11500 1 0 1 { T 3600 11550 5 8 1 1 0 0 1 pinnumber=B4 T 3200 11550 9 8 0 0 0 0 1 pinlabel=B4 T 3200 11550 5 8 0 0 0 0 1 pinseq=39 T 3200 11550 5 8 0 0 0 0 1 pintype=pas } P 3500 11300 3800 11300 1 0 1 { T 3600 11350 5 8 1 1 0 0 1 pinnumber=C4 T 3200 11350 9 8 0 0 0 0 1 pinlabel=C4 T 3200 11350 5 8 0 0 0 0 1 pinseq=40 T 3200 11350 5 8 0 0 0 0 1 pintype=pas } P 3500 11100 3800 11100 1 0 1 { T 3600 11150 5 8 1 1 0 0 1 pinnumber=B5 T 3200 11150 9 8 0 0 0 0 1 pinlabel=B5 T 3200 11150 5 8 0 0 0 0 1 pinseq=41 T 3200 11150 5 8 0 0 0 0 1 pintype=pas } P 3500 10900 3800 10900 1 0 1 { T 3600 10950 5 8 1 1 0 0 1 pinnumber=C5 T 3200 10950 9 8 0 0 0 0 1 pinlabel=C5 T 3200 10950 5 8 0 0 0 0 1 pinseq=42 T 3200 10950 5 8 0 0 0 0 1 pintype=pas } P 3500 10700 3800 10700 1 0 1 { T 3600 10750 5 8 1 1 0 0 1 pinnumber=B6 T 3200 10750 9 8 0 0 0 0 1 pinlabel=B6 T 3200 10750 5 8 0 0 0 0 1 pinseq=43 T 3200 10750 5 8 0 0 0 0 1 pintype=pas } P 3500 10500 3800 10500 1 0 1 { T 3600 10550 5 8 1 1 0 0 1 pinnumber=C6 T 3200 10550 9 8 0 0 0 0 1 pinlabel=C6 T 3200 10550 5 8 0 0 0 0 1 pinseq=44 T 3200 10550 5 8 0 0 0 0 1 pintype=pas } P 3800 10300 3500 10300 1 0 0 { T 3600 10350 5 8 1 1 0 0 1 pinnumber=B7 T 3200 10350 9 8 0 0 0 0 1 pinlabel=B7 T 3200 10350 5 8 0 0 0 0 1 pinseq=45 T 3200 10350 5 8 0 0 0 0 1 pintype=pas } P 3500 10100 3800 10100 1 0 1 { T 3600 10150 5 8 1 1 0 0 1 pinnumber=C7 T 3200 10150 9 8 0 0 0 0 1 pinlabel=C7 T 3200 10150 5 8 0 0 0 0 1 pinseq=46 T 3200 10150 5 8 0 0 0 0 1 pintype=pas } P 3800 9900 3500 9900 1 0 0 { T 3600 9950 5 8 1 1 0 0 1 pinnumber=B8 T 3200 9950 9 8 0 0 0 0 1 pinlabel=B8 T 3200 9950 5 8 0 0 0 0 1 pinseq=47 T 3200 9950 5 8 0 0 0 0 1 pintype=pas } P 3500 9700 3800 9700 1 0 1 { T 3600 9750 5 8 1 1 0 0 1 pinnumber=C8 T 3200 9750 9 8 0 0 0 0 1 pinlabel=C8 T 3200 9750 5 8 0 0 0 0 1 pinseq=48 T 3200 9750 5 8 0 0 0 0 1 pintype=pas } P 3800 9500 3500 9500 1 0 0 { T 3600 9550 5 8 1 1 0 0 1 pinnumber=B9 T 3200 9550 9 8 0 0 0 0 1 pinlabel=B9 T 3200 9550 5 8 0 0 0 0 1 pinseq=49 T 3200 9550 5 8 0 0 0 0 1 pintype=pas } P 3500 9300 3800 9300 1 0 1 { T 3600 9350 5 8 1 1 0 0 1 pinnumber=C9 T 3200 9350 9 8 0 0 0 0 1 pinlabel=C9 T 3200 9350 5 8 0 0 0 0 1 pinseq=50 T 3200 9350 5 8 0 0 0 0 1 pintype=pas } P 3800 9100 3500 9100 1 0 0 { T 3600 9150 5 8 1 1 0 0 1 pinnumber=B10 T 3100 9150 9 8 0 0 0 0 1 pinlabel=B10 T 3100 9150 5 8 0 0 0 0 1 pinseq=51 T 3100 9150 5 8 0 0 0 0 1 pintype=pas } P 3800 8900 3500 8900 1 0 0 { T 3600 8950 5 8 1 1 0 0 1 pinnumber=C10 T 3100 8950 9 8 0 0 0 0 1 pinlabel=C10 T 3100 8950 5 8 0 0 0 0 1 pinseq=52 T 3100 8950 5 8 0 0 0 0 1 pintype=pas } P 3500 8700 3800 8700 1 0 1 { T 3600 8750 5 8 1 1 0 0 1 pinnumber=B11 T 3100 8750 9 8 0 0 0 0 1 pinlabel=B11 T 3100 8750 5 8 0 0 0 0 1 pinseq=53 T 3100 8750 5 8 0 0 0 0 1 pintype=pas } P 3800 8500 3500 8500 1 0 0 { T 3600 8550 5 8 1 1 0 0 1 pinnumber=C11 T 3100 8550 9 8 0 0 0 0 1 pinlabel=C11 T 3100 8550 5 8 0 0 0 0 1 pinseq=54 T 3100 8550 5 8 0 0 0 0 1 pintype=pas } P 3500 8300 3800 8300 1 0 1 { T 3600 8350 5 8 1 1 0 0 1 pinnumber=B12 T 3100 8350 9 8 0 0 0 0 1 pinlabel=B12 T 3100 8350 5 8 0 0 0 0 1 pinseq=55 T 3100 8350 5 8 0 0 0 0 1 pintype=pas } P 3800 8100 3500 8100 1 0 0 { T 3600 8150 5 8 1 1 0 0 1 pinnumber=C12 T 3100 8150 9 8 0 0 0 0 1 pinlabel=C12 T 3100 8150 5 8 0 0 0 0 1 pinseq=56 T 3100 8150 5 8 0 0 0 0 1 pintype=pas } P 3500 7900 3800 7900 1 0 1 { T 3600 7950 5 8 1 1 0 0 1 pinnumber=B13 T 3100 7950 9 8 0 0 0 0 1 pinlabel=B13 T 3100 7950 5 8 0 0 0 0 1 pinseq=57 T 3100 7950 5 8 0 0 0 0 1 pintype=pas } P 3800 7700 3500 7700 1 0 0 { T 3600 7750 5 8 1 1 0 0 1 pinnumber=C13 T 3100 7750 9 8 0 0 0 0 1 pinlabel=C13 T 3100 7750 5 8 0 0 0 0 1 pinseq=58 T 3100 7750 5 8 0 0 0 0 1 pintype=pas } P 3500 7500 3800 7500 1 0 1 { T 3600 7550 5 8 1 1 0 0 1 pinnumber=B14 T 3100 7550 9 8 0 0 0 0 1 pinlabel=B14 T 3100 7550 5 8 0 0 0 0 1 pinseq=59 T 3100 7550 5 8 0 0 0 0 1 pintype=pas } P 3800 7300 3500 7300 1 0 0 { T 3600 7350 5 8 1 1 0 0 1 pinnumber=C14 T 3100 7350 9 8 0 0 0 0 1 pinlabel=C14 T 3100 7350 5 8 0 0 0 0 1 pinseq=60 T 3100 7350 5 8 0 0 0 0 1 pintype=pas } P 3500 7100 3800 7100 1 0 1 { T 3600 7150 5 8 1 1 0 0 1 pinnumber=B15 T 3100 7150 9 8 0 0 0 0 1 pinlabel=B15 T 3100 7150 5 8 0 0 0 0 1 pinseq=61 T 3100 7150 5 8 0 0 0 0 1 pintype=pas } P 3800 6900 3500 6900 1 0 0 { T 3600 6950 5 8 1 1 0 0 1 pinnumber=C15 T 3100 6950 9 8 0 0 0 0 1 pinlabel=C15 T 3100 6950 5 8 0 0 0 0 1 pinseq=62 T 3100 6950 5 8 0 0 0 0 1 pintype=pas } P 3500 6700 3800 6700 1 0 1 { T 3600 6750 5 8 1 1 0 0 1 pinnumber=B16 T 3100 6750 9 8 0 0 0 0 1 pinlabel=B16 T 3100 6750 5 8 0 0 0 0 1 pinseq=63 T 3100 6750 5 8 0 0 0 0 1 pintype=pas } P 3800 6500 3500 6500 1 0 0 { T 3600 6550 5 8 1 1 0 0 1 pinnumber=C16 T 3100 6550 9 8 0 0 0 0 1 pinlabel=C16 T 3100 6550 5 8 0 0 0 0 1 pinseq=64 T 3100 6550 5 8 0 0 0 0 1 pintype=pas } P 3500 6300 3800 6300 1 0 1 { T 3600 6350 5 8 1 1 0 0 1 pinnumber=B17 T 3100 6350 9 8 0 0 0 0 1 pinlabel=B17 T 3100 6350 5 8 0 0 0 0 1 pinseq=65 T 3100 6350 5 8 0 0 0 0 1 pintype=pas } P 3800 6100 3500 6100 1 0 0 { T 3600 6150 5 8 1 1 0 0 1 pinnumber=C17 T 3100 6150 9 8 0 0 0 0 1 pinlabel=C17 T 3100 6150 5 8 0 0 0 0 1 pinseq=66 T 3100 6150 5 8 0 0 0 0 1 pintype=pas } P 3500 5900 3800 5900 1 0 1 { T 3600 5950 5 8 1 1 0 0 1 pinnumber=B18 T 3100 5950 9 8 0 0 0 0 1 pinlabel=B18 T 3100 5950 5 8 0 0 0 0 1 pinseq=67 T 3100 5950 5 8 0 0 0 0 1 pintype=pas } P 3800 5700 3500 5700 1 0 0 { T 3600 5750 5 8 1 1 0 0 1 pinnumber=C18 T 3100 5750 9 8 0 0 0 0 1 pinlabel=C18 T 3100 5750 5 8 0 0 0 0 1 pinseq=68 T 3100 5750 5 8 0 0 0 0 1 pintype=pas } P 3500 5500 3800 5500 1 0 1 { T 3600 5550 5 8 1 1 0 0 1 pinnumber=B19 T 3100 5550 9 8 0 0 0 0 1 pinlabel=B19 T 3100 5550 5 8 0 0 0 0 1 pinseq=69 T 3100 5550 5 8 0 0 0 0 1 pintype=pas } P 3800 5300 3500 5300 1 0 0 { T 3600 5350 5 8 1 1 0 0 1 pinnumber=C19 T 3100 5350 9 8 0 0 0 0 1 pinlabel=C19 T 3100 5350 5 8 0 0 0 0 1 pinseq=70 T 3100 5350 5 8 0 0 0 0 1 pintype=pas } P 3500 5100 3800 5100 1 0 1 { T 3600 5150 5 8 1 1 0 0 1 pinnumber=B20 T 3100 5150 9 8 0 0 0 0 1 pinlabel=B20 T 3100 5150 5 8 0 0 0 0 1 pinseq=71 T 3100 5150 5 8 0 0 0 0 1 pintype=pas } P 3800 4900 3500 4900 1 0 0 { T 3600 4950 5 8 1 1 0 0 1 pinnumber=C20 T 3100 4950 9 8 0 0 0 0 1 pinlabel=C20 T 3100 4950 5 8 0 0 0 0 1 pinseq=72 T 3100 4950 5 8 0 0 0 0 1 pintype=pas } P 3500 4700 3800 4700 1 0 1 { T 3600 4750 5 8 1 1 0 0 1 pinnumber=B21 T 3100 4750 9 8 0 0 0 0 1 pinlabel=B21 T 3100 4750 5 8 0 0 0 0 1 pinseq=73 T 3100 4750 5 8 0 0 0 0 1 pintype=pas } P 3800 4500 3500 4500 1 0 0 { T 3600 4550 5 8 1 1 0 0 1 pinnumber=C21 T 3100 4550 9 8 0 0 0 0 1 pinlabel=C21 T 3100 4550 5 8 0 0 0 0 1 pinseq=74 T 3100 4550 5 8 0 0 0 0 1 pintype=pas } P 3500 4300 3800 4300 1 0 1 { T 3600 4350 5 8 1 1 0 0 1 pinnumber=B22 T 3100 4350 9 8 0 0 0 0 1 pinlabel=B22 T 3100 4350 5 8 0 0 0 0 1 pinseq=75 T 3100 4350 5 8 0 0 0 0 1 pintype=pas } P 3800 4100 3500 4100 1 0 0 { T 3600 4150 5 8 1 1 0 0 1 pinnumber=C22 T 3100 4150 9 8 0 0 0 0 1 pinlabel=C22 T 3100 4150 5 8 0 0 0 0 1 pinseq=76 T 3100 4150 5 8 0 0 0 0 1 pintype=pas } P 3500 3900 3800 3900 1 0 1 { T 3600 3950 5 8 1 1 0 0 1 pinnumber=B23 T 3100 3950 9 8 0 0 0 0 1 pinlabel=B23 T 3100 3950 5 8 0 0 0 0 1 pinseq=77 T 3100 3950 5 8 0 0 0 0 1 pintype=pas } P 3800 3700 3500 3700 1 0 0 { T 3600 3750 5 8 1 1 0 0 1 pinnumber=C23 T 3100 3750 9 8 0 0 0 0 1 pinlabel=C23 T 3100 3750 5 8 0 0 0 0 1 pinseq=78 T 3100 3750 5 8 0 0 0 0 1 pintype=pas } P 3500 3500 3800 3500 1 0 1 { T 3600 3550 5 8 1 1 0 0 1 pinnumber=B24 T 3100 3550 9 8 0 0 0 0 1 pinlabel=B24 T 3100 3550 5 8 0 0 0 0 1 pinseq=79 T 3100 3550 5 8 0 0 0 0 1 pintype=pas } P 3800 3300 3500 3300 1 0 0 { T 3600 3350 5 8 1 1 0 0 1 pinnumber=C24 T 3100 3350 9 8 0 0 0 0 1 pinlabel=C24 T 3100 3350 5 8 0 0 0 0 1 pinseq=80 T 3100 3350 5 8 0 0 0 0 1 pintype=pas } P 3500 3100 3800 3100 1 0 1 { T 3600 3150 5 8 1 1 0 0 1 pinnumber=B25 T 3100 3150 9 8 0 0 0 0 1 pinlabel=B25 T 3100 3150 5 8 0 0 0 0 1 pinseq=81 T 3100 3150 5 8 0 0 0 0 1 pintype=pas } P 3800 2900 3500 2900 1 0 0 { T 3600 2950 5 8 1 1 0 0 1 pinnumber=C25 T 3100 2950 9 8 0 0 0 0 1 pinlabel=C25 T 3100 2950 5 8 0 0 0 0 1 pinseq=82 T 3100 2950 5 8 0 0 0 0 1 pintype=pas } P 3500 2700 3800 2700 1 0 1 { T 3600 2750 5 8 1 1 0 0 1 pinnumber=B26 T 3100 2750 9 8 0 0 0 0 1 pinlabel=B26 T 3100 2750 5 8 0 0 0 0 1 pinseq=83 T 3100 2750 5 8 0 0 0 0 1 pintype=pas } P 3800 2500 3500 2500 1 0 0 { T 3600 2550 5 8 1 1 0 0 1 pinnumber=C26 T 3100 2550 9 8 0 0 0 0 1 pinlabel=C26 T 3100 2550 5 8 0 0 0 0 1 pinseq=84 T 3100 2550 5 8 0 0 0 0 1 pintype=pas } P 3500 2300 3800 2300 1 0 1 { T 3600 2350 5 8 1 1 0 0 1 pinnumber=B27 T 3100 2350 9 8 0 0 0 0 1 pinlabel=27 T 3100 2350 5 8 0 0 0 0 1 pinseq=85 T 3100 2350 5 8 0 0 0 0 1 pintype=pas } P 3500 2100 3800 2100 1 0 1 { T 3600 2150 5 8 1 1 0 0 1 pinnumber=C27 T 3100 2150 9 8 0 0 0 0 1 pinlabel=C27 T 3100 2150 5 8 0 0 0 0 1 pinseq=86 T 3100 2150 5 8 0 0 0 0 1 pintype=pas } P 3800 1900 3500 1900 1 0 0 { T 3600 1950 5 8 1 1 0 0 1 pinnumber=B28 T 3100 1950 9 8 0 0 0 0 1 pinlabel=B28 T 3100 1950 5 8 0 0 0 0 1 pinseq=87 T 3100 1950 5 8 0 0 0 0 1 pintype=pas } P 3500 1700 3800 1700 1 0 1 { T 3600 1750 5 8 1 1 0 0 1 pinnumber=C28 T 3100 1750 9 8 0 0 0 0 1 pinlabel=C28 T 3100 1750 5 8 0 0 0 0 1 pinseq=88 T 3100 1750 5 8 0 0 0 0 1 pintype=pas } P 3800 1500 3500 1500 1 0 0 { T 3600 1550 5 8 1 1 0 0 1 pinnumber=B29 T 3100 1550 9 8 0 0 0 0 1 pinlabel=B29 T 3100 1550 5 8 0 0 0 0 1 pinseq=89 T 3100 1550 5 8 0 0 0 0 1 pintype=pas } P 3500 1300 3800 1300 1 0 1 { T 3600 1350 5 8 1 1 0 0 1 pinnumber=C29 T 3100 1350 9 8 0 0 0 0 1 pinlabel=C29 T 3100 1350 5 8 0 0 0 0 1 pinseq=90 T 3100 1350 5 8 0 0 0 0 1 pintype=pas } P 3800 1100 3500 1100 1 0 0 { T 3600 1150 5 8 1 1 0 0 1 pinnumber=B30 T 3100 1150 9 8 0 0 0 0 1 pinlabel=B30 T 3100 1150 5 8 0 0 0 0 1 pinseq=91 T 3100 1150 5 8 0 0 0 0 1 pintype=pas } P 3500 900 3800 900 1 0 1 { T 3600 950 5 8 1 1 0 0 1 pinnumber=C30 T 3100 950 9 8 0 0 0 0 1 pinlabel=C30 T 3100 950 5 8 0 0 0 0 1 pinseq=92 T 3100 950 5 8 0 0 0 0 1 pintype=pas } P 3800 700 3500 700 1 0 0 { T 3600 750 5 8 1 1 0 0 1 pinnumber=B31 T 3100 750 9 8 0 0 0 0 1 pinlabel=B31 T 3100 750 5 8 0 0 0 0 1 pinseq=93 T 3100 750 5 8 0 0 0 0 1 pintype=pas } P 3500 500 3800 500 1 0 1 { T 3600 550 5 8 1 1 0 0 1 pinnumber=C31 T 3100 550 9 8 0 0 0 0 1 pinlabel=C31 T 3100 550 5 8 0 0 0 0 1 pinseq=94 T 3100 550 5 8 0 0 0 0 1 pintype=pas } P 3800 300 3500 300 1 0 0 { T 3600 350 5 8 1 1 0 0 1 pinnumber=B32 T 3100 350 9 8 0 0 0 0 1 pinlabel=B32 T 3100 350 5 8 0 0 0 0 1 pinseq=95 T 3100 350 5 8 0 0 0 0 1 pintype=pas } P 3500 100 3800 100 1 0 1 { T 3600 150 5 8 1 1 0 0 1 pinnumber=C32 T 3100 150 9 8 0 0 0 0 1 pinlabel=C32 T 3100 150 5 8 0 0 0 0 1 pinseq=96 T 3100 150 5 8 0 0 0 0 1 pintype=pas } B 500 0 3000 12900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2700 13100 5 10 0 0 0 0 1 device=DIN41612C96 T 2700 13100 5 10 0 0 0 0 1 numslots=0 T 600 13000 9 10 1 1 0 0 1 description=DIN 41612C-96 T 3500 13000 8 10 1 1 0 6 1 refdes=CONN? geda-gaf-1.8.2/symbols/connector/DIN41612C56-1.sym0000664000175000017500000002440512204104272015737 00000000000000v 20050820 1 P 300 12300 0 12300 1 0 1 { T 200 12350 5 8 0 1 0 6 1 pinnumber=A2 T 200 12250 5 8 0 1 0 8 1 pinseq=1 T 350 12300 9 8 1 1 0 0 1 pinlabel=A2 T 350 12300 5 8 0 1 0 2 1 pintype=pas } P 300 11500 0 11500 1 0 1 { T 200 11550 5 8 0 1 0 6 1 pinnumber=A4 T 200 11450 5 8 0 1 0 8 1 pinseq=2 T 350 11500 9 8 1 1 0 0 1 pinlabel=A4 T 350 11500 5 8 0 1 0 2 1 pintype=pas } P 300 10700 0 10700 1 0 1 { T 200 10750 5 8 0 1 0 6 1 pinnumber=A6 T 200 10650 5 8 0 1 0 8 1 pinseq=3 T 350 10700 9 8 1 1 0 0 1 pinlabel=A6 T 350 10700 5 8 0 1 0 2 1 pintype=pas } P 300 9900 0 9900 1 0 1 { T 200 9950 5 8 0 1 0 6 1 pinnumber=A8 T 200 9850 5 8 0 1 0 8 1 pinseq=4 T 350 9900 9 8 1 1 0 0 1 pinlabel=A8 T 350 9900 5 8 0 1 0 2 1 pintype=pas } P 300 9100 0 9100 1 0 1 { T 200 9150 5 8 0 1 0 6 1 pinnumber=A10 T 200 9050 5 8 0 1 0 8 1 pinseq=5 T 350 9100 9 8 1 1 0 0 1 pinlabel=A10 T 350 9100 5 8 0 1 0 2 1 pintype=pas } P 0 8300 300 8300 1 0 0 { T 200 8350 5 8 0 1 0 6 1 pinnumber=A12 T 200 8250 5 8 0 1 0 8 1 pinseq=6 T 350 8300 9 8 1 1 0 0 1 pinlabel=A12 T 350 8300 5 8 0 1 0 2 1 pintype=pas } P 0 7500 300 7500 1 0 0 { T 200 7550 5 8 0 1 0 6 1 pinnumber=A14 T 200 7450 5 8 0 1 0 8 1 pinseq=7 T 350 7500 9 8 1 1 0 0 1 pinlabel=A14 T 350 7500 5 8 0 1 0 2 1 pintype=pas } P 0 6700 300 6700 1 0 0 { T 200 6750 5 8 0 1 0 6 1 pinnumber=A16 T 200 6650 5 8 0 1 0 8 1 pinseq=8 T 350 6700 9 8 1 1 0 0 1 pinlabel=A16 T 350 6700 5 8 0 1 0 2 1 pintype=pas } P 0 5900 300 5900 1 0 0 { T 200 5950 5 8 0 1 0 6 1 pinnumber=A18 T 200 5850 5 8 0 1 0 8 1 pinseq=9 T 350 5900 9 8 1 1 0 0 1 pinlabel=A18 T 350 5900 5 8 0 1 0 2 1 pintype=pas } P 0 5100 300 5100 1 0 0 { T 200 5150 5 8 0 1 0 6 1 pinnumber=A20 T 200 5050 5 8 0 1 0 8 1 pinseq=10 T 350 5100 9 8 1 1 0 0 1 pinlabel=A20 T 350 5100 5 8 0 1 0 2 1 pintype=pas } P 0 4300 300 4300 1 0 0 { T 200 4350 5 8 0 1 0 6 1 pinnumber=A22 T 200 4250 5 8 0 1 0 8 1 pinseq=11 T 350 4300 9 8 1 1 0 0 1 pinlabel=A22 T 350 4300 5 8 0 1 0 2 1 pintype=pas } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 0 1 0 6 1 pinnumber=A24 T 200 3450 5 8 0 1 0 8 1 pinseq=12 T 350 3500 9 8 1 1 0 0 1 pinlabel=A24 T 350 3500 5 8 0 1 0 2 1 pintype=pas } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 0 1 0 6 1 pinnumber=A26 T 200 2650 5 8 0 1 0 8 1 pinseq=13 T 350 2700 9 8 1 1 0 0 1 pinlabel=A26 T 350 2700 5 8 0 1 0 2 1 pintype=pas } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 0 1 0 6 1 pinnumber=A28 T 200 1850 5 8 0 1 0 8 1 pinseq=14 T 350 1900 9 8 1 1 0 0 1 pinlabel=A28 T 350 1900 5 8 0 1 0 2 1 pintype=pas } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 0 1 0 6 1 pinnumber=A30 T 200 1050 5 8 0 1 0 8 1 pinseq=15 T 350 1100 9 8 1 1 0 0 1 pinlabel=A30 T 350 1100 5 8 0 1 0 2 1 pintype=pas } P 0 300 300 300 1 0 0 { T 200 350 5 8 0 1 0 6 1 pinnumber=A32 T 200 250 5 8 0 1 0 8 1 pinseq=16 T 350 300 9 8 1 1 0 0 1 pinlabel=A32 T 350 300 5 8 0 1 0 2 1 pintype=pas } P 3300 12300 3600 12300 1 0 1 { T 3400 12350 5 8 0 1 0 0 1 pinnumber=B2 T 3400 12250 5 8 0 1 0 2 1 pinseq=17 T 3250 12300 9 8 1 1 0 6 1 pinlabel=B2 T 3250 12300 5 8 0 1 0 8 1 pintype=pas } P 3300 12100 3600 12100 1 0 1 { T 3400 12150 5 8 0 1 0 0 1 pinnumber=C2 T 3400 12050 5 8 0 1 0 2 1 pinseq=41 T 3250 12100 9 8 1 1 0 6 1 pinlabel=C2 T 3250 12100 5 8 0 1 0 8 1 pintype=pas } P 3300 11900 3600 11900 1 0 1 { T 3400 11950 5 8 0 1 0 0 1 pinnumber=B3 T 3400 11850 5 8 0 1 0 2 1 pinseq=18 T 3250 11900 9 8 1 1 0 6 1 pinlabel=B3 T 3250 11900 5 8 0 1 0 8 1 pintype=pas } P 3300 11500 3600 11500 1 0 1 { T 3400 11550 5 8 0 1 0 0 1 pinnumber=B4 T 3400 11450 5 8 0 1 0 2 1 pinseq=19 T 3250 11500 9 8 1 1 0 6 1 pinlabel=B4 T 3250 11500 5 8 0 1 0 8 1 pintype=pas } P 3300 11300 3600 11300 1 0 1 { T 3400 11350 5 8 0 1 0 0 1 pinnumber=C4 T 3400 11250 5 8 0 1 0 2 1 pinseq=42 T 3250 11300 9 8 1 1 0 6 1 pinlabel=C4 T 3250 11300 5 8 0 1 0 8 1 pintype=pas } P 3300 10700 3600 10700 1 0 1 { T 3400 10750 5 8 0 1 0 0 1 pinnumber=B6 T 3400 10650 5 8 0 1 0 2 1 pinseq=20 T 3250 10700 9 8 1 1 0 6 1 pinlabel=B6 T 3250 10700 5 8 0 1 0 8 1 pintype=pas } P 3300 10500 3600 10500 1 0 1 { T 3400 10550 5 8 0 1 0 0 1 pinnumber=C6 T 3400 10450 5 8 0 1 0 2 1 pinseq=43 T 3250 10500 9 8 1 1 0 6 1 pinlabel=C6 T 3250 10500 5 8 0 1 0 8 1 pintype=pas } P 3600 10300 3300 10300 1 0 0 { T 3400 10350 5 8 0 1 0 0 1 pinnumber=B7 T 3400 10250 5 8 0 1 0 2 1 pinseq=21 T 3250 10300 9 8 1 1 0 6 1 pinlabel=B7 T 3250 10300 5 8 0 1 0 8 1 pintype=pas } P 3600 9900 3300 9900 1 0 0 { T 3400 9950 5 8 0 1 0 0 1 pinnumber=B8 T 3400 9850 5 8 0 1 0 2 1 pinseq=22 T 3250 9900 9 8 1 1 0 6 1 pinlabel=B8 T 3250 9900 5 8 0 1 0 8 1 pintype=pas } P 3300 9700 3600 9700 1 0 1 { T 3400 9750 5 8 0 1 0 0 1 pinnumber=C8 T 3400 9650 5 8 0 1 0 2 1 pinseq=44 T 3250 9700 9 8 1 1 0 6 1 pinlabel=C8 T 3250 9700 5 8 0 1 0 8 1 pintype=pas } P 3600 9100 3300 9100 1 0 0 { T 3400 9150 5 8 0 1 0 0 1 pinnumber=B10 T 3400 9050 5 8 0 1 0 2 1 pinseq=23 T 3250 9100 9 8 1 1 0 6 1 pinlabel=B10 T 3250 9100 5 8 0 1 0 8 1 pintype=pas } P 3600 8900 3300 8900 1 0 0 { T 3400 8950 5 8 0 1 0 0 1 pinnumber=C10 T 3400 8850 5 8 0 1 0 2 1 pinseq=45 T 3250 8900 9 8 1 1 0 6 1 pinlabel=C10 T 3250 8900 5 8 0 1 0 8 1 pintype=pas } P 3300 8700 3600 8700 1 0 1 { T 3400 8750 5 8 0 1 0 0 1 pinnumber=B11 T 3400 8650 5 8 0 1 0 2 1 pinseq=24 T 3250 8700 9 8 1 1 0 6 1 pinlabel=B11 T 3250 8700 5 8 0 1 0 8 1 pintype=pas } P 3300 8300 3600 8300 1 0 1 { T 3400 8350 5 8 0 1 0 0 1 pinnumber=B12 T 3400 8250 5 8 0 1 0 2 1 pinseq=25 T 3250 8300 9 8 1 1 0 6 1 pinlabel=B12 T 3250 8300 5 8 0 1 0 8 1 pintype=pas } P 3600 8100 3300 8100 1 0 0 { T 3400 8150 5 8 0 1 0 0 1 pinnumber=C12 T 3400 8050 5 8 0 1 0 2 1 pinseq=46 T 3250 8100 9 8 1 1 0 6 1 pinlabel=C12 T 3250 8100 5 8 0 1 0 8 1 pintype=pas } P 3300 7500 3600 7500 1 0 1 { T 3400 7550 5 8 0 1 0 0 1 pinnumber=B14 T 3400 7450 5 8 0 1 0 2 1 pinseq=26 T 3250 7500 9 8 1 1 0 6 1 pinlabel=B14 T 3250 7500 5 8 0 1 0 8 1 pintype=pas } P 3600 7300 3300 7300 1 0 0 { T 3400 7350 5 8 0 1 0 0 1 pinnumber=C14 T 3400 7250 5 8 0 1 0 2 1 pinseq=47 T 3250 7300 9 8 1 1 0 6 1 pinlabel=C14 T 3250 7300 5 8 0 1 0 8 1 pintype=pas } P 3300 7100 3600 7100 1 0 1 { T 3400 7150 5 8 0 1 0 0 1 pinnumber=B15 T 3400 7050 5 8 0 1 0 2 1 pinseq=27 T 3250 7100 9 8 1 1 0 6 1 pinlabel=B15 T 3250 7100 5 8 0 1 0 8 1 pintype=pas } P 3300 6700 3600 6700 1 0 1 { T 3400 6750 5 8 0 1 0 0 1 pinnumber=B16 T 3400 6650 5 8 0 1 0 2 1 pinseq=28 T 3250 6700 9 8 1 1 0 6 1 pinlabel=B16 T 3250 6700 5 8 0 1 0 8 1 pintype=pas } P 3600 6500 3300 6500 1 0 0 { T 3400 6550 5 8 0 1 0 0 1 pinnumber=C16 T 3400 6450 5 8 0 1 0 2 1 pinseq=48 T 3250 6500 9 8 1 1 0 6 1 pinlabel=C16 T 3250 6500 5 8 0 1 0 8 1 pintype=pas } P 3300 5900 3600 5900 1 0 1 { T 3400 5950 5 8 0 1 0 0 1 pinnumber=B18 T 3400 5850 5 8 0 1 0 2 1 pinseq=29 T 3250 5900 9 8 1 1 0 6 1 pinlabel=B18 T 3250 5900 5 8 0 1 0 8 1 pintype=pas } P 3600 5700 3300 5700 1 0 0 { T 3400 5750 5 8 0 1 0 0 1 pinnumber=C18 T 3400 5650 5 8 0 1 0 2 1 pinseq=49 T 3250 5700 9 8 1 1 0 6 1 pinlabel=C18 T 3250 5700 5 8 0 1 0 8 1 pintype=pas } P 3300 5500 3600 5500 1 0 1 { T 3400 5550 5 8 0 1 0 0 1 pinnumber=B19 T 3400 5450 5 8 0 1 0 2 1 pinseq=30 T 3250 5500 9 8 1 1 0 6 1 pinlabel=B19 T 3250 5500 5 8 0 1 0 8 1 pintype=pas } P 3300 5100 3600 5100 1 0 1 { T 3400 5150 5 8 0 1 0 0 1 pinnumber=B20 T 3400 5050 5 8 0 1 0 2 1 pinseq=31 T 3250 5100 9 8 1 1 0 6 1 pinlabel=B20 T 3250 5100 5 8 0 1 0 8 1 pintype=pas } P 3600 4900 3300 4900 1 0 0 { T 3400 4950 5 8 0 1 0 0 1 pinnumber=C20 T 3400 4850 5 8 0 1 0 2 1 pinseq=50 T 3250 4900 9 8 1 1 0 6 1 pinlabel=C20 T 3250 4900 5 8 0 1 0 8 1 pintype=pas } P 3300 4300 3600 4300 1 0 1 { T 3400 4350 5 8 0 1 0 0 1 pinnumber=B22 T 3400 4250 5 8 0 1 0 2 1 pinseq=32 T 3250 4300 9 8 1 1 0 6 1 pinlabel=B22 T 3250 4300 5 8 0 1 0 8 1 pintype=pas } P 3600 4100 3300 4100 1 0 0 { T 3400 4150 5 8 0 1 0 0 1 pinnumber=C22 T 3400 4050 5 8 0 1 0 2 1 pinseq=51 T 3250 4100 9 8 1 1 0 6 1 pinlabel=C22 T 3250 4100 5 8 0 1 0 8 1 pintype=pas } P 3300 3900 3600 3900 1 0 1 { T 3400 3950 5 8 0 1 0 0 1 pinnumber=B23 T 3400 3850 5 8 0 1 0 2 1 pinseq=33 T 3250 3900 9 8 1 1 0 6 1 pinlabel=B23 T 3250 3900 5 8 0 1 0 8 1 pintype=pas } P 3300 3500 3600 3500 1 0 1 { T 3400 3550 5 8 0 1 0 0 1 pinnumber=B24 T 3400 3450 5 8 0 1 0 2 1 pinseq=34 T 3250 3500 9 8 1 1 0 6 1 pinlabel=B24 T 3250 3500 5 8 0 1 0 8 1 pintype=pas } P 3600 3300 3300 3300 1 0 0 { T 3400 3350 5 8 0 1 0 0 1 pinnumber=C24 T 3400 3250 5 8 0 1 0 2 1 pinseq=52 T 3250 3300 9 8 1 1 0 6 1 pinlabel=C24 T 3250 3300 5 8 0 1 0 8 1 pintype=pas } P 3300 2700 3600 2700 1 0 1 { T 3400 2750 5 8 0 1 0 0 1 pinnumber=B26 T 3400 2650 5 8 0 1 0 2 1 pinseq=35 T 3250 2700 9 8 1 1 0 6 1 pinlabel=B26 T 3250 2700 5 8 0 1 0 8 1 pintype=pas } P 3600 2500 3300 2500 1 0 0 { T 3400 2550 5 8 0 1 0 0 1 pinnumber=C26 T 3400 2450 5 8 0 1 0 2 1 pinseq=53 T 3250 2500 9 8 1 1 0 6 1 pinlabel=C26 T 3250 2500 5 8 0 1 0 8 1 pintype=pas } P 3300 2300 3600 2300 1 0 1 { T 3400 2350 5 8 0 1 0 0 1 pinnumber=B27 T 3400 2250 5 8 0 1 0 2 1 pinseq=36 T 3250 2300 9 8 1 1 0 6 1 pinlabel=B27 T 3250 2300 5 8 0 1 0 8 1 pintype=pas } P 3600 1900 3300 1900 1 0 0 { T 3400 1950 5 8 0 1 0 0 1 pinnumber=B28 T 3400 1850 5 8 0 1 0 2 1 pinseq=37 T 3250 1900 9 8 1 1 0 6 1 pinlabel=B28 T 3250 1900 5 8 0 1 0 8 1 pintype=pas } P 3300 1700 3600 1700 1 0 1 { T 3400 1750 5 8 0 1 0 0 1 pinnumber=C28 T 3400 1650 5 8 0 1 0 2 1 pinseq=54 T 3250 1700 9 8 1 1 0 6 1 pinlabel=C28 T 3250 1700 5 8 0 1 0 8 1 pintype=pas } P 3600 1100 3300 1100 1 0 0 { T 3400 1150 5 8 0 1 0 0 1 pinnumber=B30 T 3400 1050 5 8 0 1 0 2 1 pinseq=38 T 3250 1100 9 8 1 1 0 6 1 pinlabel=B30 T 3250 1100 5 8 0 1 0 8 1 pintype=pas } P 3300 900 3600 900 1 0 1 { T 3400 950 5 8 0 1 0 0 1 pinnumber=C30 T 3400 850 5 8 0 1 0 2 1 pinseq=55 T 3250 900 9 8 1 1 0 6 1 pinlabel=C30 T 3250 900 5 8 0 1 0 8 1 pintype=pas } P 3600 700 3300 700 1 0 0 { T 3400 750 5 8 0 1 0 0 1 pinnumber=B31 T 3400 650 5 8 0 1 0 2 1 pinseq=39 T 3250 700 9 8 1 1 0 6 1 pinlabel=B31 T 3250 700 5 8 0 1 0 8 1 pintype=pas } P 3600 300 3300 300 1 0 0 { T 3400 350 5 8 0 1 0 0 1 pinnumber=B32 T 3400 250 5 8 0 1 0 2 1 pinseq=40 T 3250 300 9 8 1 1 0 6 1 pinlabel=B32 T 3250 300 5 8 0 1 0 8 1 pintype=pas } P 3300 100 3600 100 1 0 1 { T 3400 150 5 8 0 1 0 0 1 pinnumber=C32 T 3400 50 5 8 0 1 0 2 1 pinseq=56 T 3250 100 9 8 1 1 0 6 1 pinlabel=C32 T 3250 100 5 8 0 1 0 8 1 pintype=pas } B 300 0 3000 12900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 13250 5 10 0 0 0 0 1 device=DIN41612C56 T 3300 13000 8 10 1 1 0 6 1 refdes=CONN? T 300 13650 5 10 0 0 0 0 1 numslots=0 T 300 13450 5 10 0 0 0 0 1 symversion=0.1 T 300 13000 9 10 1 0 0 0 1 DIN 41612C-56 geda-gaf-1.8.2/symbols/connector/header26-1.sym0000664000175000017500000001230312204104272016043 00000000000000v 20031231 1 T 600 5400 8 10 1 1 0 0 1 refdes=J? T 1600 4700 8 10 0 0 0 0 1 device=HEADER26 T 1600 4900 8 10 0 0 0 0 1 class=IO T 1600 5100 8 10 0 0 0 0 1 pins=26 P 1100 300 1400 300 1 0 1 { T 1250 350 5 8 1 1 0 0 1 pinnumber=1 T 1250 350 5 8 0 0 0 0 1 pinseq=1 T 1250 350 5 8 0 1 0 0 1 pinlabel=1 T 1250 350 5 8 0 1 0 0 1 pintype=pas } P 0 300 300 300 1 0 0 { T 100 350 5 8 1 1 0 0 1 pinnumber=2 T 100 350 5 8 0 0 0 0 1 pinseq=2 T 100 350 5 8 0 1 0 0 1 pinlabel=2 T 100 350 5 8 0 1 0 0 1 pintype=pas } P 1100 700 1400 700 1 0 1 { T 1250 750 5 8 1 1 0 0 1 pinnumber=3 T 1250 750 5 8 0 0 0 0 1 pinseq=3 T 1250 750 5 8 0 1 0 0 1 pinlabel=3 T 1250 750 5 8 0 1 0 0 1 pintype=pas } P 0 700 300 700 1 0 0 { T 100 750 5 8 1 1 0 0 1 pinnumber=4 T 100 750 5 8 0 0 0 0 1 pinseq=4 T 100 750 5 8 0 1 0 0 1 pinlabel=4 T 100 750 5 8 0 1 0 0 1 pintype=pas } P 1100 1100 1400 1100 1 0 1 { T 1250 1150 5 8 1 1 0 0 1 pinnumber=5 T 1250 1150 5 8 0 0 0 0 1 pinseq=5 T 1250 1150 5 8 0 1 0 0 1 pinlabel=5 T 1250 1150 5 8 0 1 0 0 1 pintype=pas } P 0 1100 300 1100 1 0 0 { T 100 1150 5 8 1 1 0 0 1 pinnumber=6 T 100 1150 5 8 0 0 0 0 1 pinseq=6 T 100 1150 5 8 0 1 0 0 1 pinlabel=6 T 100 1150 5 8 0 1 0 0 1 pintype=pas } P 1100 1500 1400 1500 1 0 1 { T 1250 1550 5 8 1 1 0 0 1 pinnumber=7 T 1250 1550 5 8 0 0 0 0 1 pinseq=7 T 1250 1550 5 8 0 1 0 0 1 pinlabel=7 T 1250 1550 5 8 0 1 0 0 1 pintype=pas } P 0 1500 300 1500 1 0 0 { T 100 1550 5 8 1 1 0 0 1 pinnumber=8 T 100 1550 5 8 0 0 0 0 1 pinseq=8 T 100 1550 5 8 0 1 0 0 1 pinlabel=8 T 100 1550 5 8 0 1 0 0 1 pintype=pas } P 1100 1900 1400 1900 1 0 1 { T 1250 1950 5 8 1 1 0 0 1 pinnumber=9 T 1250 1950 5 8 0 0 0 0 1 pinseq=9 T 1250 1950 5 8 0 1 0 0 1 pinlabel=9 T 1250 1950 5 8 0 1 0 0 1 pintype=pas } P 0 1900 300 1900 1 0 0 { T 100 1950 5 8 1 1 0 0 1 pinnumber=10 T 100 1950 5 8 0 0 0 0 1 pinseq=10 T 100 1950 5 8 0 1 0 0 1 pinlabel=10 T 100 1950 5 8 0 1 0 0 1 pintype=pas } P 1100 2300 1400 2300 1 0 1 { T 1250 2350 5 8 1 1 0 0 1 pinnumber=11 T 1250 2350 5 8 0 0 0 0 1 pinseq=11 T 1250 2350 5 8 0 1 0 0 1 pinlabel=11 T 1250 2350 5 8 0 1 0 0 1 pintype=pas } P 0 2300 300 2300 1 0 0 { T 100 2350 5 8 1 1 0 0 1 pinnumber=12 T 100 2350 5 8 0 0 0 0 1 pinseq=12 T 100 2350 5 8 0 1 0 0 1 pinlabel=12 T 100 2350 5 8 0 1 0 0 1 pintype=pas } P 1100 2700 1400 2700 1 0 1 { T 1250 2750 5 8 1 1 0 0 1 pinnumber=13 T 1250 2750 5 8 0 0 0 0 1 pinseq=13 T 1250 2750 5 8 0 1 0 0 1 pinlabel=13 T 1250 2750 5 8 0 1 0 0 1 pintype=pas } P 0 2700 300 2700 1 0 0 { T 100 2750 5 8 1 1 0 0 1 pinnumber=14 T 100 2750 5 8 0 0 0 0 1 pinseq=14 T 100 2750 5 8 0 1 0 0 1 pinlabel=14 T 100 2750 5 8 0 1 0 0 1 pintype=pas } P 1100 3100 1400 3100 1 0 1 { T 1250 3150 5 8 1 1 0 0 1 pinnumber=15 T 1250 3150 5 8 0 0 0 0 1 pinseq=15 T 1250 3150 5 8 0 1 0 0 1 pinlabel=15 T 1250 3150 5 8 0 1 0 0 1 pintype=pas } P 0 3100 300 3100 1 0 0 { T 100 3150 5 8 1 1 0 0 1 pinnumber=16 T 100 3150 5 8 0 0 0 0 1 pinseq=16 T 100 3150 5 8 0 1 0 0 1 pinlabel=16 T 100 3150 5 8 0 1 0 0 1 pintype=pas } P 1100 3500 1400 3500 1 0 1 { T 1250 3550 5 8 1 1 0 0 1 pinnumber=17 T 1250 3550 5 8 0 0 0 0 1 pinseq=17 T 1250 3550 5 8 0 1 0 0 1 pinlabel=17 T 1250 3550 5 8 0 1 0 0 1 pintype=pas } P 0 3500 300 3500 1 0 0 { T 100 3550 5 8 1 1 0 0 1 pinnumber=18 T 100 3550 5 8 0 0 0 0 1 pinseq=18 T 100 3550 5 8 0 1 0 0 1 pinlabel=18 T 100 3550 5 8 0 1 0 0 1 pintype=pas } P 1100 3900 1400 3900 1 0 1 { T 1250 3950 5 8 1 1 0 0 1 pinnumber=19 T 1250 3950 5 8 0 0 0 0 1 pinseq=19 T 1250 3950 5 8 0 1 0 0 1 pinlabel=19 T 1250 3950 5 8 0 1 0 0 1 pintype=pas } P 0 3900 300 3900 1 0 0 { T 100 3950 5 8 1 1 0 0 1 pinnumber=20 T 100 3950 5 8 0 0 0 0 1 pinseq=20 T 100 3950 5 8 0 1 0 0 1 pinlabel=20 T 100 3950 5 8 0 1 0 0 1 pintype=pas } P 1100 4300 1400 4300 1 0 1 { T 1250 4350 5 8 1 1 0 0 1 pinnumber=21 T 1250 4350 5 8 0 0 0 0 1 pinseq=21 T 1250 4350 5 8 0 1 0 0 1 pinlabel=21 T 1250 4350 5 8 0 1 0 0 1 pintype=pas } P 0 4300 300 4300 1 0 0 { T 100 4350 5 8 1 1 0 0 1 pinnumber=22 T 100 4350 5 8 0 0 0 0 1 pinseq=22 T 100 4350 5 8 0 1 0 0 1 pinlabel=22 T 100 4350 5 8 0 1 0 0 1 pintype=pas } P 1100 4700 1400 4700 1 0 1 { T 1250 4750 5 8 1 1 0 0 1 pinnumber=23 T 1250 4750 5 8 0 0 0 0 1 pinseq=23 T 1250 4750 5 8 0 1 0 0 1 pinlabel=23 T 1250 4750 5 8 0 1 0 0 1 pintype=pas } P 0 4700 300 4700 1 0 0 { T 100 4750 5 8 1 1 0 0 1 pinnumber=24 T 100 4750 5 8 0 0 0 0 1 pinseq=24 T 100 4750 5 8 0 1 0 0 1 pinlabel=24 T 100 4750 5 8 0 1 0 0 1 pintype=pas } P 1100 5100 1400 5100 1 0 1 { T 1250 5150 5 8 1 1 0 0 1 pinnumber=25 T 1250 5150 5 8 0 0 0 0 1 pinseq=25 T 1250 5150 5 8 0 1 0 0 1 pinlabel=25 T 1250 5150 5 8 0 1 0 0 1 pintype=pas } P 0 5100 300 5100 1 0 0 { T 100 5150 5 8 1 1 0 0 1 pinnumber=26 T 100 5150 5 8 0 0 0 0 1 pinseq=26 T 100 5150 5 8 0 1 0 0 1 pinlabel=26 T 100 5150 5 8 0 1 0 0 1 pintype=pas } B 300 50 800 5250 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 300 2500 1100 2500 3 0 0 0 -1 -1 L 700 5300 700 50 3 0 0 0 -1 -1 L 300 500 1100 500 3 0 0 0 -1 -1 L 300 1700 1100 1700 3 0 0 0 -1 -1 L 300 1300 1100 1300 3 0 0 0 -1 -1 L 300 2100 1100 2100 3 0 0 0 -1 -1 L 300 900 1100 900 3 0 0 0 -1 -1 L 300 3700 1100 3700 3 0 0 0 -1 -1 L 300 3300 1100 3300 3 0 0 0 -1 -1 L 300 4100 1100 4100 3 0 0 0 -1 -1 L 300 4900 1100 4900 3 0 0 0 -1 -1 L 300 4500 1100 4500 3 0 0 0 -1 -1 L 300 2900 1100 2900 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/connector/mains-plug-1.sym0000664000175000017500000000130412204104272016516 00000000000000v 20031231 1 P 1200 800 1400 800 1 0 1 { T 1300 850 5 8 1 1 0 0 1 pinnumber=1 T 1300 850 5 8 0 0 0 0 1 pinseq=1 T 1300 850 5 8 0 1 0 0 1 pinlabel=1 T 1300 850 5 8 0 1 0 0 1 pintype=pas } P 1200 200 1400 200 1 0 1 { T 1300 250 5 8 1 1 0 0 1 pinnumber=2 T 1300 250 5 8 0 0 0 0 1 pinseq=2 T 1300 250 5 8 0 1 0 0 1 pinlabel=2 T 1300 250 5 8 0 1 0 0 1 pintype=pas } A 550 500 500 270 180 3 0 0 0 -1 -1 L 550 1000 400 1000 3 0 0 0 -1 -1 L 550 0 400 0 3 0 0 0 -1 -1 L 400 1000 400 0 3 0 0 0 -1 -1 L 400 750 0 750 3 0 0 0 -1 -1 L 400 250 0 250 3 0 0 0 -1 -1 L 1200 800 950 800 3 0 0 0 -1 -1 L 1200 200 950 200 3 0 0 0 -1 -1 T 400 1100 8 10 1 1 0 0 1 refdes=CONN? T 400 1300 8 10 0 0 0 0 1 device=MAINS_CONNECTOR geda-gaf-1.8.2/symbols/connector/header50r-1.sym0000664000175000017500000003056012204104272016227 00000000000000v 20031231 1 P 400 14800 100 14800 1 0 1 { T 350 14850 5 10 1 1 0 6 1 pinnumber=1 T 400 14800 5 10 0 1 0 6 1 pintype=pas T 400 14800 5 10 0 1 0 6 1 pinlabel=1 T 400 14800 5 10 0 1 0 6 1 pinseq=1 } V 600 14800 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 900 14500 1000 14800 3 0 0 0 -1 -1 V 1200 14800 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 350 15100 8 10 1 1 0 6 1 refdes=J? T 500 15700 8 10 0 0 0 0 1 footprint=header50 T 500 15900 8 10 0 0 0 0 1 numslots=0 T 500 16100 8 10 0 0 0 0 1 device=HEADER50 P 400 14200 100 14200 1 0 1 { T 350 14250 5 10 1 1 0 6 1 pinnumber=3 T 400 14200 5 10 0 1 0 6 1 pintype=pas T 400 14200 5 10 0 1 0 6 1 pinlabel=3 T 400 14200 5 10 0 1 0 6 1 pinseq=3 } V 600 14200 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 14500 900 14500 1 0 0 { T 350 14550 5 10 1 1 0 6 1 pinnumber=2 T 100 14500 5 10 0 1 0 6 1 pintype=pas T 100 14500 5 10 0 1 0 6 1 pinlabel=2 T 100 14500 5 10 0 1 0 6 1 pinseq=2 } V 1200 14200 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 400 13600 100 13600 1 0 1 { T 350 13650 5 10 1 1 0 6 1 pinnumber=5 T 400 13600 5 10 0 1 0 6 1 pintype=pas T 400 13600 5 10 0 1 0 6 1 pinlabel=5 T 400 13600 5 10 0 1 0 6 1 pinseq=5 } V 600 13600 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1200 13600 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 400 13000 100 13000 1 0 1 { T 350 13050 5 10 1 1 0 6 1 pinnumber=7 T 400 13000 5 10 0 1 0 6 1 pintype=pas T 400 13000 5 10 0 1 0 6 1 pinlabel=7 T 400 13000 5 10 0 1 0 6 1 pinseq=7 } V 600 13000 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1200 13000 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 400 12400 100 12400 1 0 1 { T 350 12450 5 10 1 1 0 6 1 pinnumber=9 T 400 12400 5 10 0 1 0 6 1 pintype=pas T 400 12400 5 10 0 1 0 6 1 pinlabel=9 T 400 12400 5 10 0 1 0 6 1 pinseq=9 } V 600 12400 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1200 12400 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 400 11800 100 11800 1 0 1 { T 350 11850 5 10 1 1 0 6 1 pinnumber=11 T 400 11800 5 10 0 1 0 6 1 pintype=pas T 400 11800 5 10 0 1 0 6 1 pinlabel=11 T 400 11800 5 10 0 1 0 6 1 pinseq=11 } V 600 11800 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1200 11800 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 400 11200 100 11200 1 0 1 { T 350 11250 5 10 1 1 0 6 1 pinnumber=13 T 400 11200 5 10 0 1 0 6 1 pintype=pas T 400 11200 5 10 0 1 0 6 1 pinlabel=13 T 400 11200 5 10 0 1 0 6 1 pinseq=13 } V 600 11200 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1200 11200 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 400 10600 100 10600 1 0 1 { T 350 10650 5 10 1 1 0 6 1 pinnumber=15 T 400 10600 5 10 0 1 0 6 1 pintype=pas T 400 10600 5 10 0 1 0 6 1 pinlabel=15 T 400 10600 5 10 0 1 0 6 1 pinseq=15 } V 600 10600 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1200 10600 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 400 10000 100 10000 1 0 1 { T 350 10050 5 10 1 1 0 6 1 pinnumber=17 T 400 10000 5 10 0 1 0 6 1 pintype=pas T 400 10000 5 10 0 1 0 6 1 pinlabel=17 T 400 10000 5 10 0 1 0 6 1 pinseq=17 } V 600 10000 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1200 10000 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 400 9400 100 9400 1 0 1 { T 350 9450 5 10 1 1 0 6 1 pinnumber=19 T 400 9400 5 10 0 1 0 6 1 pintype=pas T 400 9400 5 10 0 1 0 6 1 pinlabel=19 T 400 9400 5 10 0 1 0 6 1 pinseq=19 } V 600 9400 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1200 9400 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 400 8800 100 8800 1 0 1 { T 350 8850 5 10 1 1 0 6 1 pinnumber=21 T 400 8800 5 10 0 1 0 6 1 pintype=pas T 400 8800 5 10 0 1 0 6 1 pinlabel=21 T 400 8800 5 10 0 1 0 6 1 pinseq=21 } V 600 8800 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1200 8800 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 400 8200 100 8200 1 0 1 { T 350 8250 5 10 1 1 0 6 1 pinnumber=23 T 400 8200 5 10 0 1 0 6 1 pintype=pas T 400 8200 5 10 0 1 0 6 1 pinlabel=23 T 400 8200 5 10 0 1 0 6 1 pinseq=23 } V 600 8200 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1200 8200 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 400 7600 100 7600 1 0 1 { T 350 7650 5 10 1 1 0 6 1 pinnumber=25 T 400 7600 5 10 0 1 0 6 1 pintype=pas T 400 7600 5 10 0 1 0 6 1 pinlabel=25 T 400 7600 5 10 0 1 0 6 1 pinseq=25 } V 600 7600 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1200 7600 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 400 7000 100 7000 1 0 1 { T 350 7050 5 10 1 1 0 6 1 pinnumber=27 T 400 7000 5 10 0 1 0 6 1 pintype=pas T 400 7000 5 10 0 1 0 6 1 pinlabel=27 T 400 7000 5 10 0 1 0 6 1 pinseq=27 } V 600 7000 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1200 7000 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 400 6400 100 6400 1 0 1 { T 350 6450 5 10 1 1 0 6 1 pinnumber=29 T 400 6400 5 10 0 1 0 6 1 pintype=pas T 400 6400 5 10 0 1 0 6 1 pinlabel=29 T 400 6400 5 10 0 1 0 6 1 pinseq=29 } V 600 6400 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1200 6400 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 400 5800 100 5800 1 0 1 { T 350 5850 5 10 1 1 0 6 1 pinnumber=31 T 400 5800 5 10 0 1 0 6 1 pintype=pas T 400 5800 5 10 0 1 0 6 1 pinlabel=31 T 400 5800 5 10 0 1 0 6 1 pinseq=31 } V 600 5800 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1200 5800 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 400 5200 100 5200 1 0 1 { T 350 5250 5 10 1 1 0 6 1 pinnumber=33 T 400 5200 5 10 0 1 0 6 1 pintype=pas T 400 5200 5 10 0 1 0 6 1 pinlabel=33 T 400 5200 5 10 0 1 0 6 1 pinseq=33 } V 600 5200 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1200 5200 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 400 4600 100 4600 1 0 1 { T 350 4650 5 10 1 1 0 6 1 pinnumber=35 T 400 4600 5 10 0 1 0 6 1 pintype=pas T 400 4600 5 10 0 1 0 6 1 pinlabel=35 T 400 4600 5 10 0 1 0 6 1 pinseq=35 } V 600 4600 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1200 4600 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 400 4000 100 4000 1 0 1 { T 350 4050 5 10 1 1 0 6 1 pinnumber=37 T 400 4000 5 10 0 1 0 6 1 pintype=pas T 400 4000 5 10 0 1 0 6 1 pinlabel=37 T 400 4000 5 10 0 1 0 6 1 pinseq=37 } V 600 4000 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1200 4000 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 400 3400 100 3400 1 0 1 { T 350 3450 5 10 1 1 0 6 1 pinnumber=39 T 400 3400 5 10 0 1 0 6 1 pintype=pas T 400 3400 5 10 0 1 0 6 1 pinlabel=39 T 400 3400 5 10 0 1 0 6 1 pinseq=39 } V 600 3400 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1200 3400 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 400 2800 100 2800 1 0 1 { T 350 2850 5 10 1 1 0 6 1 pinnumber=41 T 400 2800 5 10 0 1 0 6 1 pintype=pas T 400 2800 5 10 0 1 0 6 1 pinlabel=41 T 400 2800 5 10 0 1 0 6 1 pinseq=41 } V 600 2800 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1200 2800 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 400 2200 100 2200 1 0 1 { T 350 2250 5 10 1 1 0 6 1 pinnumber=43 T 400 2200 5 10 0 1 0 6 1 pintype=pas T 400 2200 5 10 0 1 0 6 1 pinlabel=43 T 400 2200 5 10 0 1 0 6 1 pinseq=43 } V 600 2200 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1200 2200 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 400 1600 100 1600 1 0 1 { T 350 1650 5 10 1 1 0 6 1 pinnumber=45 T 400 1600 5 10 0 1 0 6 1 pintype=pas T 400 1600 5 10 0 1 0 6 1 pinlabel=45 T 400 1600 5 10 0 1 0 6 1 pinseq=45 } V 600 1600 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1200 1600 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 400 1000 100 1000 1 0 1 { T 350 1050 5 10 1 1 0 6 1 pinnumber=47 T 400 1000 5 10 0 1 0 6 1 pintype=pas T 400 1000 5 10 0 1 0 6 1 pinlabel=47 T 400 1000 5 10 0 1 0 6 1 pinseq=47 } V 600 1000 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1200 1000 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 400 400 100 400 1 0 1 { T 350 450 5 10 1 1 0 6 1 pinnumber=49 T 400 400 5 10 0 1 0 6 1 pintype=pas T 400 400 5 10 0 1 0 6 1 pinlabel=49 T 400 400 5 10 0 1 0 6 1 pinseq=49 } V 600 400 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1200 400 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 500 15470 8 10 0 1 0 0 1 device=header50r T 500 15470 8 10 0 1 0 0 1 device=header50r P 100 13900 900 13900 1 0 0 { T 350 13950 5 10 1 1 0 6 1 pinnumber=4 T 100 13900 5 10 0 1 0 6 1 pintype=pas T 100 13900 5 10 0 1 0 6 1 pinlabel=4 T 100 13900 5 10 0 1 0 6 1 pinseq=4 } L 900 13900 1000 14200 3 0 0 0 -1 -1 P 100 13300 900 13300 1 0 0 { T 350 13350 5 10 1 1 0 6 1 pinnumber=6 T 100 13300 5 10 0 1 0 6 1 pintype=pas T 100 13300 5 10 0 1 0 6 1 pinlabel=6 T 100 13300 5 10 0 1 0 6 1 pinseq=6 } L 900 13300 1000 13600 3 0 0 0 -1 -1 P 100 12700 900 12700 1 0 0 { T 350 12750 5 10 1 1 0 6 1 pinnumber=8 T 100 12700 5 10 0 1 0 6 1 pintype=pas T 100 12700 5 10 0 1 0 6 1 pinlabel=8 T 100 12700 5 10 0 1 0 6 1 pinseq=8 } L 900 12700 1000 13000 3 0 0 0 -1 -1 P 100 12100 900 12100 1 0 0 { T 350 12150 5 10 1 1 0 6 1 pinnumber=10 T 100 12100 5 10 0 1 0 6 1 pintype=pas T 100 12100 5 10 0 1 0 6 1 pinlabel=10 T 100 12100 5 10 0 1 0 6 1 pinseq=10 } L 900 12100 1000 12400 3 0 0 0 -1 -1 P 100 11500 900 11500 1 0 0 { T 350 11550 5 10 1 1 0 6 1 pinnumber=12 T 100 11500 5 10 0 1 0 6 1 pintype=pas T 100 11500 5 10 0 1 0 6 1 pinlabel=12 T 100 11500 5 10 0 1 0 6 1 pinseq=12 } L 900 11500 1000 11800 3 0 0 0 -1 -1 P 100 10900 900 10900 1 0 0 { T 350 10950 5 10 1 1 0 6 1 pinnumber=14 T 100 10900 5 10 0 1 0 6 1 pintype=pas T 100 10900 5 10 0 1 0 6 1 pinlabel=14 T 100 10900 5 10 0 1 0 6 1 pinseq=14 } L 900 10900 1000 11200 3 0 0 0 -1 -1 P 100 10300 900 10300 1 0 0 { T 350 10350 5 10 1 1 0 6 1 pinnumber=16 T 150 10300 5 10 0 1 0 6 1 pintype=pas T 150 10300 5 10 0 1 0 6 1 pinlabel=16 T 150 10300 5 10 0 1 0 6 1 pinseq=16 } L 900 10300 1000 10600 3 0 0 0 -1 -1 P 100 9700 900 9700 1 0 0 { T 350 9750 5 10 1 1 0 6 1 pinnumber=18 T 100 9700 5 10 0 1 0 6 1 pintype=pas T 100 9700 5 10 0 1 0 6 1 pinlabel=18 T 100 9700 5 10 0 1 0 6 1 pinseq=18 } L 900 9700 1000 10000 3 0 0 0 -1 -1 P 100 9100 900 9100 1 0 0 { T 350 9150 5 10 1 1 0 6 1 pinnumber=20 T 100 9100 5 10 0 1 0 6 1 pintype=pas T 100 9100 5 10 0 1 0 6 1 pinlabel=20 T 100 9100 5 10 0 1 0 6 1 pinseq=20 } L 900 9100 1000 9400 3 0 0 0 -1 -1 P 100 8500 900 8500 1 0 0 { T 350 8550 5 10 1 1 0 6 1 pinnumber=22 T 100 8500 5 10 0 1 0 6 1 pintype=pas T 100 8500 5 10 0 1 0 6 1 pinlabel=22 T 100 8500 5 10 0 1 0 6 1 pinseq=22 } L 900 8500 1000 8800 3 0 0 0 -1 -1 P 100 7900 900 7900 1 0 0 { T 350 7950 5 10 1 1 0 6 1 pinnumber=24 T 100 7900 5 10 0 1 0 6 1 pintype=pas T 100 7900 5 10 0 1 0 6 1 pinlabel=24 T 100 7900 5 10 0 1 0 6 1 pinseq=24 } L 900 7900 1000 8200 3 0 0 0 -1 -1 P 100 7300 900 7300 1 0 0 { T 350 7350 5 10 1 1 0 6 1 pinnumber=26 T 100 7300 5 10 0 1 0 6 1 pintype=pas T 100 7300 5 10 0 1 0 6 1 pinlabel=26 T 100 7300 5 10 0 1 0 6 1 pinseq=26 } L 900 7300 1000 7600 3 0 0 0 -1 -1 P 100 6700 900 6700 1 0 0 { T 350 6750 5 10 1 1 0 6 1 pinnumber=28 T 100 6700 5 10 0 1 0 6 1 pintype=pas T 100 6700 5 10 0 1 0 6 1 pinlabel=28 T 100 6700 5 10 0 1 0 6 1 pinseq=28 } L 900 6700 1000 7000 3 0 0 0 -1 -1 P 100 6100 900 6100 1 0 0 { T 350 6150 5 10 1 1 0 6 1 pinnumber=30 T 100 6100 5 10 0 1 0 6 1 pintype=pas T 100 6100 5 10 0 1 0 6 1 pinlabel=30 T 100 6100 5 10 0 1 0 6 1 pinseq=30 } L 900 6100 1000 6400 3 0 0 0 -1 -1 P 100 5500 900 5500 1 0 0 { T 350 5550 5 10 1 1 0 6 1 pinnumber=32 T 100 5500 5 10 0 1 0 6 1 pintype=pas T 100 5500 5 10 0 1 0 6 1 pinlabel=32 T 100 5500 5 10 0 1 0 6 1 pinseq=32 } L 900 5500 1000 5800 3 0 0 0 -1 -1 P 100 4900 900 4900 1 0 0 { T 350 4950 5 10 1 1 0 6 1 pinnumber=34 T 100 4900 5 10 0 1 0 6 1 pintype=pas T 100 4900 5 10 0 1 0 6 1 pinlabel=34 T 100 4900 5 10 0 1 0 6 1 pinseq=34 } L 900 4900 1000 5200 3 0 0 0 -1 -1 P 100 4300 900 4300 1 0 0 { T 350 4350 5 10 1 1 0 6 1 pinnumber=36 T 100 4300 5 10 0 1 0 6 1 pintype=pas T 100 4300 5 10 0 1 0 6 1 pinlabel=36 T 100 4300 5 10 0 1 0 6 1 pinseq=36 } L 900 4300 1000 4600 3 0 0 0 -1 -1 P 100 3700 900 3700 1 0 0 { T 350 3750 5 10 1 1 0 6 1 pinnumber=38 T 100 3700 5 10 0 1 0 6 1 pintype=pas T 100 3700 5 10 0 1 0 6 1 pinlabel=38 T 100 3700 5 10 0 1 0 6 1 pinseq=38 } L 900 3700 1000 4000 3 0 0 0 -1 -1 P 100 3100 900 3100 1 0 0 { T 350 3150 5 10 1 1 0 6 1 pinnumber=40 T 100 3100 5 10 0 1 0 6 1 pintype=pas T 100 3100 5 10 0 1 0 6 1 pinlabel=40 T 100 3100 5 10 0 1 0 6 1 pinseq=40 } L 900 3100 1000 3400 3 0 0 0 -1 -1 P 100 2500 900 2500 1 0 0 { T 350 2550 5 10 1 1 0 6 1 pinnumber=42 T 100 2500 5 10 0 1 0 6 1 pintype=pas T 100 2500 5 10 0 1 0 6 1 pinlabel=42 T 100 2500 5 10 0 1 0 6 1 pinseq=42 } L 900 2500 1000 2800 3 0 0 0 -1 -1 P 100 1900 900 1900 1 0 0 { T 350 1950 5 10 1 1 0 6 1 pinnumber=44 T 100 1900 5 10 0 1 0 6 1 pintype=pas T 100 1900 5 10 0 1 0 6 1 pinlabel=44 T 100 1900 5 10 0 1 0 6 1 pinseq=44 } L 900 1900 1000 2200 3 0 0 0 -1 -1 P 100 1300 900 1300 1 0 0 { T 350 1350 5 10 1 1 0 6 1 pinnumber=46 T 100 1300 5 10 0 1 0 6 1 pintype=pas T 100 1300 5 10 0 1 0 6 1 pinlabel=46 T 100 1300 5 10 0 1 0 6 1 pinseq=46 } L 900 1300 1000 1600 3 0 0 0 -1 -1 P 100 700 900 700 1 0 0 { T 350 750 5 10 1 1 0 6 1 pinnumber=48 T 100 700 5 10 0 1 0 6 1 pintype=pas T 100 700 5 10 0 1 0 6 1 pinlabel=48 T 100 700 5 10 0 1 0 6 1 pinseq=48 } L 900 700 1000 1000 3 0 0 0 -1 -1 P 100 100 900 100 1 0 0 { T 350 150 5 10 1 1 0 6 1 pinnumber=50 T 100 100 5 10 0 1 0 6 1 pintype=pas T 100 100 5 10 0 1 0 6 1 pinlabel=50 T 100 100 5 10 0 1 0 6 1 pinseq=50 } L 900 100 1000 400 3 0 0 0 -1 -1 T 500 15300 8 10 0 0 0 0 1 description=Header 50 pins geda-gaf-1.8.2/symbols/connector/header22-1.sym0000664000175000017500000001067412204104272016050 00000000000000v 20031231 1 P 100 3900 400 3900 1 0 0 { T 200 3950 5 8 1 1 0 0 1 pinnumber=2 T 200 3950 5 8 0 0 0 0 1 pinseq=2 T 200 3950 5 8 0 1 0 0 1 pinlabel=2 T 200 3950 5 8 0 1 0 0 1 pintype=pas } P 100 3500 400 3500 1 0 0 { T 200 3550 5 8 1 1 0 0 1 pinnumber=3 T 200 3550 5 8 0 0 0 0 1 pinseq=3 T 200 3550 5 8 0 1 0 0 1 pinlabel=3 T 200 3550 5 8 0 1 0 0 1 pintype=pas } P 100 3100 400 3100 1 0 0 { T 200 3150 5 8 1 1 0 0 1 pinnumber=4 T 200 3150 5 8 0 0 0 0 1 pinseq=4 T 200 3150 5 8 0 1 0 0 1 pinlabel=4 T 200 3150 5 8 0 1 0 0 1 pintype=pas } P 100 4300 400 4300 1 0 0 { T 250 4350 5 8 1 1 0 0 1 pinnumber=1 T 250 4350 5 8 0 0 0 0 1 pinseq=1 T 250 4350 5 8 0 1 0 0 1 pinlabel=1 T 250 4350 5 8 0 1 0 0 1 pintype=pas } P 100 2700 400 2700 1 0 0 { T 200 2750 5 8 1 1 0 0 1 pinnumber=5 T 200 2750 5 8 0 0 0 0 1 pinseq=5 T 200 2750 5 8 0 1 0 0 1 pinlabel=5 T 200 2750 5 8 0 1 0 0 1 pintype=pas } L 400 3700 1200 3700 3 0 0 0 -1 -1 L 400 3300 1200 3300 3 0 0 0 -1 -1 L 400 4100 1200 4100 3 0 0 0 -1 -1 L 400 2900 1200 2900 3 0 0 0 -1 -1 T 300 4850 5 10 0 1 0 0 1 device=HEADER22 P 100 700 400 700 1 0 0 { T 200 750 5 8 1 1 0 0 1 pinnumber=10 T 200 750 5 8 0 0 0 0 1 pinseq=10 T 200 750 5 8 0 1 0 0 1 pinlabel=10 T 200 750 5 8 0 1 0 0 1 pintype=pas } P 100 1100 400 1100 1 0 0 { T 200 1150 5 8 1 1 0 0 1 pinnumber=9 T 200 1150 5 8 0 0 0 0 1 pinseq=9 T 200 1150 5 8 0 1 0 0 1 pinlabel=9 T 200 1150 5 8 0 1 0 0 1 pintype=pas } P 100 1500 400 1500 1 0 0 { T 200 1550 5 8 1 1 0 0 1 pinnumber=8 T 200 1550 5 8 0 0 0 0 1 pinseq=8 T 200 1550 5 8 0 1 0 0 1 pinlabel=8 T 200 1550 5 8 0 1 0 0 1 pintype=pas } P 100 1900 400 1900 1 0 0 { T 200 1950 5 8 1 1 0 0 1 pinnumber=7 T 200 1950 5 8 0 0 0 0 1 pinseq=7 T 200 1950 5 8 0 1 0 0 1 pinlabel=7 T 200 1950 5 8 0 1 0 0 1 pintype=pas } P 100 2300 400 2300 1 0 0 { T 200 2350 5 8 1 1 0 0 1 pinnumber=6 T 200 2350 5 8 0 0 0 0 1 pinseq=6 T 200 2350 5 8 0 1 0 0 1 pinlabel=6 T 200 2350 5 8 0 1 0 0 1 pintype=pas } T 700 4600 8 10 1 1 0 0 1 refdes=J? P 1200 2700 1500 2700 1 0 1 { T 1350 2750 5 8 1 1 0 0 1 pinnumber=18 T 1350 2750 5 8 0 0 0 0 1 pinseq=18 T 1350 2750 5 8 0 1 0 0 1 pinlabel=18 T 1350 2750 5 8 0 1 0 0 1 pintype=pas } P 1200 3500 1500 3500 1 0 1 { T 1350 3550 5 8 1 1 0 0 1 pinnumber=20 T 1350 3550 5 8 0 0 0 0 1 pinseq=20 T 1350 3550 5 8 0 1 0 0 1 pinlabel=20 T 1350 3550 5 8 0 1 0 0 1 pintype=pas } P 1200 2300 1500 2300 1 0 1 { T 1350 2350 5 8 1 1 0 0 1 pinnumber=17 T 1350 2350 5 8 0 0 0 0 1 pinseq=17 T 1350 2350 5 8 0 1 0 0 1 pinlabel=17 T 1350 2350 5 8 0 1 0 0 1 pintype=pas } P 1200 3100 1500 3100 1 0 1 { T 1350 3150 5 8 1 1 0 0 1 pinnumber=19 T 1350 3150 5 8 0 0 0 0 1 pinseq=19 T 1350 3150 5 8 0 1 0 0 1 pinlabel=19 T 1350 3150 5 8 0 1 0 0 1 pintype=pas } P 1200 1900 1500 1900 1 0 1 { T 1350 1950 5 8 1 1 0 0 1 pinnumber=16 T 1350 1950 5 8 0 0 0 0 1 pinseq=16 T 1350 1950 5 8 0 1 0 0 1 pinlabel=16 T 1350 1950 5 8 0 1 0 0 1 pintype=pas } L 400 1700 1200 1700 3 0 0 0 -1 -1 L 400 1300 1200 1300 3 0 0 0 -1 -1 L 400 2100 1200 2100 3 0 0 0 -1 -1 L 400 900 1200 900 3 0 0 0 -1 -1 P 1200 1500 1500 1500 1 0 1 { T 1350 1550 5 8 1 1 0 0 1 pinnumber=15 T 1350 1550 5 8 0 0 0 0 1 pinseq=15 T 1350 1550 5 8 0 1 0 0 1 pinlabel=15 T 1350 1550 5 8 0 1 0 0 1 pintype=pas } P 1200 1100 1500 1100 1 0 1 { T 1350 1150 5 8 1 1 0 0 1 pinnumber=14 T 1350 1150 5 8 0 0 0 0 1 pinseq=14 T 1350 1150 5 8 0 1 0 0 1 pinlabel=14 T 1350 1150 5 8 0 1 0 0 1 pintype=pas } P 1200 700 1500 700 1 0 1 { T 1350 750 5 8 1 1 0 0 1 pinnumber=13 T 1350 750 5 8 0 0 0 0 1 pinseq=13 T 1350 750 5 8 0 1 0 0 1 pinlabel=13 T 1350 750 5 8 0 1 0 0 1 pintype=pas } P 1200 300 1500 300 1 0 1 { T 1350 350 5 8 1 1 0 0 1 pinnumber=12 T 1350 350 5 8 0 0 0 0 1 pinseq=12 T 1350 350 5 8 0 1 0 0 1 pinlabel=12 T 1350 350 5 8 0 1 0 0 1 pintype=pas } P 100 300 400 300 1 0 0 { T 200 350 5 8 1 1 0 0 1 pinnumber=11 T 200 350 5 8 0 0 0 0 1 pinseq=11 T 200 350 5 8 0 1 0 0 1 pinlabel=11 T 200 350 5 8 0 1 0 0 1 pintype=pas } B 400 50 800 4500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 400 2500 1200 2500 3 0 0 0 -1 -1 L 800 4550 800 50 3 0 0 0 -1 -1 L 400 500 1200 500 3 0 0 0 -1 -1 P 1200 4300 1500 4300 1 0 1 { T 1350 4350 5 8 1 1 0 0 1 pinnumber=22 T 1350 4350 5 8 0 0 0 0 1 pinseq=22 T 1350 4350 5 8 0 1 0 0 1 pinlabel=22 T 1350 4350 5 8 0 1 0 0 1 pintype=pas } P 1200 3900 1500 3900 1 0 1 { T 1350 3950 5 8 1 1 0 0 1 pinnumber=21 T 1350 3950 5 8 0 0 0 0 1 pinseq=21 T 1350 3950 5 8 0 1 0 0 1 pinlabel=21 T 1350 3950 5 8 0 1 0 0 1 pintype=pas } T 250 5250 8 10 0 0 0 0 1 pins=22 T 250 5050 8 10 0 0 0 0 1 class=IO geda-gaf-1.8.2/symbols/connector/header20-1.sym0000664000175000017500000000772212204104272016046 00000000000000v 20031231 1 P 0 3400 300 3400 1 0 0 { T 100 3450 5 8 1 1 0 0 1 pinnumber=2 T 100 3450 5 8 0 0 0 0 1 pinseq=2 T 100 3450 5 8 0 1 0 0 1 pinlabel=2 T 100 3450 5 8 0 1 0 0 1 pintype=pas } P 0 3000 300 3000 1 0 0 { T 100 3050 5 8 1 1 0 0 1 pinnumber=3 T 100 3050 5 8 0 0 0 0 1 pinseq=3 T 100 3050 5 8 0 1 0 0 1 pinlabel=3 T 100 3050 5 8 0 1 0 0 1 pintype=pas } P 0 2600 300 2600 1 0 0 { T 100 2650 5 8 1 1 0 0 1 pinnumber=4 T 100 2650 5 8 0 0 0 0 1 pinseq=4 T 100 2650 5 8 0 1 0 0 1 pinlabel=4 T 100 2650 5 8 0 1 0 0 1 pintype=pas } P 0 3800 300 3800 1 0 0 { T 150 3850 5 8 1 1 0 0 1 pinnumber=1 T 150 3850 5 8 0 0 0 0 1 pinseq=1 T 150 3850 5 8 0 1 0 0 1 pinlabel=1 T 150 3850 5 8 0 1 0 0 1 pintype=pas } P 0 2200 300 2200 1 0 0 { T 100 2250 5 8 1 1 0 0 1 pinnumber=5 T 100 2250 5 8 0 0 0 0 1 pinseq=5 T 100 2250 5 8 0 1 0 0 1 pinlabel=5 T 100 2250 5 8 0 1 0 0 1 pintype=pas } L 300 3200 1100 3200 3 0 0 0 -1 -1 L 300 2800 1100 2800 3 0 0 0 -1 -1 L 300 3600 1100 3600 3 0 0 0 -1 -1 L 300 2400 1100 2400 3 0 0 0 -1 -1 T 200 -250 5 10 0 1 0 0 1 device=HEADER20 P 0 200 300 200 1 0 0 { T 100 250 5 8 1 1 0 0 1 pinnumber=10 T 100 250 5 8 0 0 0 0 1 pinseq=10 T 100 250 5 8 0 1 0 0 1 pinlabel=10 T 100 250 5 8 0 1 0 0 1 pintype=pas } P 0 600 300 600 1 0 0 { T 100 650 5 8 1 1 0 0 1 pinnumber=9 T 100 650 5 8 0 0 0 0 1 pinseq=9 T 100 650 5 8 0 1 0 0 1 pinlabel=9 T 100 650 5 8 0 1 0 0 1 pintype=pas } P 0 1000 300 1000 1 0 0 { T 100 1050 5 8 1 1 0 0 1 pinnumber=8 T 100 1050 5 8 0 0 0 0 1 pinseq=8 T 100 1050 5 8 0 1 0 0 1 pinlabel=8 T 100 1050 5 8 0 1 0 0 1 pintype=pas } P 0 1400 300 1400 1 0 0 { T 100 1450 5 8 1 1 0 0 1 pinnumber=7 T 100 1450 5 8 0 0 0 0 1 pinseq=7 T 100 1450 5 8 0 1 0 0 1 pinlabel=7 T 100 1450 5 8 0 1 0 0 1 pintype=pas } P 0 1800 300 1800 1 0 0 { T 100 1850 5 8 1 1 0 0 1 pinnumber=6 T 100 1850 5 8 0 0 0 0 1 pinseq=6 T 100 1850 5 8 0 1 0 0 1 pinlabel=6 T 100 1850 5 8 0 1 0 0 1 pintype=pas } T 600 4100 8 10 1 1 0 0 1 refdes=J? P 1100 3000 1400 3000 1 0 1 { T 1250 3050 5 8 1 1 0 0 1 pinnumber=18 T 1250 3050 5 8 0 0 0 0 1 pinseq=18 T 1250 3050 5 8 0 1 0 0 1 pinlabel=18 T 1250 3050 5 8 0 1 0 0 1 pintype=pas } P 1100 3800 1400 3800 1 0 1 { T 1250 3850 5 8 1 1 0 0 1 pinnumber=20 T 1250 3850 5 8 0 0 0 0 1 pinseq=20 T 1250 3850 5 8 0 1 0 0 1 pinlabel=20 T 1250 3850 5 8 0 1 0 0 1 pintype=pas } P 1100 2600 1400 2600 1 0 1 { T 1250 2650 5 8 1 1 0 0 1 pinnumber=17 T 1250 2650 5 8 0 0 0 0 1 pinseq=17 T 1250 2650 5 8 0 1 0 0 1 pinlabel=17 T 1250 2650 5 8 0 1 0 0 1 pintype=pas } P 1100 3400 1400 3400 1 0 1 { T 1250 3450 5 8 1 1 0 0 1 pinnumber=19 T 1250 3450 5 8 0 0 0 0 1 pinseq=19 T 1250 3450 5 8 0 1 0 0 1 pinlabel=19 T 1250 3450 5 8 0 1 0 0 1 pintype=pas } P 1100 2200 1400 2200 1 0 1 { T 1250 2250 5 8 1 1 0 0 1 pinnumber=16 T 1250 2250 5 8 0 0 0 0 1 pinseq=16 T 1250 2250 5 8 0 1 0 0 1 pinlabel=16 T 1250 2250 5 8 0 1 0 0 1 pintype=pas } L 300 1200 1100 1200 3 0 0 0 -1 -1 L 300 800 1100 800 3 0 0 0 -1 -1 L 300 1600 1100 1600 3 0 0 0 -1 -1 L 300 400 1100 400 3 0 0 0 -1 -1 P 1100 1800 1400 1800 1 0 1 { T 1250 1850 5 8 1 1 0 0 1 pinnumber=15 T 1250 1850 5 8 0 0 0 0 1 pinseq=15 T 1250 1850 5 8 0 1 0 0 1 pinlabel=15 T 1250 1850 5 8 0 1 0 0 1 pintype=pas } P 1100 1400 1400 1400 1 0 1 { T 1250 1450 5 8 1 1 0 0 1 pinnumber=14 T 1250 1450 5 8 0 0 0 0 1 pinseq=14 T 1250 1450 5 8 0 1 0 0 1 pinlabel=14 T 1250 1450 5 8 0 1 0 0 1 pintype=pas } P 1100 1000 1400 1000 1 0 1 { T 1250 1050 5 8 1 1 0 0 1 pinnumber=13 T 1250 1050 5 8 0 0 0 0 1 pinseq=13 T 1250 1050 5 8 0 1 0 0 1 pinlabel=13 T 1250 1050 5 8 0 1 0 0 1 pintype=pas } P 1100 600 1400 600 1 0 1 { T 1250 650 5 8 1 1 0 0 1 pinnumber=12 T 1250 650 5 8 0 0 0 0 1 pinseq=12 T 1250 650 5 8 0 1 0 0 1 pinlabel=12 T 1250 650 5 8 0 1 0 0 1 pintype=pas } P 1100 200 1400 200 1 0 1 { T 1250 250 5 8 1 1 0 0 1 pinnumber=11 T 1250 250 5 8 0 0 0 0 1 pinseq=11 T 1250 250 5 8 0 1 0 0 1 pinlabel=11 T 1250 250 5 8 0 1 0 0 1 pintype=pas } B 300 0 800 4000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 300 2000 1100 2000 3 0 0 0 -1 -1 L 700 4000 700 0 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/connector/connector20-1.sym0000664000175000017500000001057712204104272016612 00000000000000v 20031231 1 T 100 6200 8 10 1 1 0 0 1 refdes=J? T 700 6500 8 10 0 0 0 0 1 device=CONNECTOR_20 T 700 6300 8 10 0 0 0 0 1 pins=20 T 700 6100 8 10 0 0 0 0 1 class=IO P 1400 5900 1700 5900 1 0 1 { T 300 5900 5 8 1 1 0 0 1 pinnumber=1 T 300 5900 5 8 0 0 0 0 1 pinseq=1 T 300 5900 5 8 0 1 0 0 1 pinlabel=1 T 300 5900 5 8 0 1 0 0 1 pintype=pas } P 1400 5600 1700 5600 1 0 1 { T 300 5600 5 8 1 1 0 0 1 pinnumber=2 T 300 5600 5 8 0 0 0 0 1 pinseq=2 T 300 5600 5 8 0 1 0 0 1 pinlabel=2 T 300 5600 5 8 0 1 0 0 1 pintype=pas } P 1400 5300 1700 5300 1 0 1 { T 300 5300 5 8 1 1 0 0 1 pinnumber=3 T 300 5300 5 8 0 0 0 0 1 pinseq=3 T 300 5300 5 8 0 1 0 0 1 pinlabel=3 T 300 5300 5 8 0 1 0 0 1 pintype=pas } P 1400 5000 1700 5000 1 0 1 { T 300 5000 5 8 1 1 0 0 1 pinnumber=4 T 300 5000 5 8 0 0 0 0 1 pinseq=4 T 300 5000 5 8 0 1 0 0 1 pinlabel=4 T 300 5000 5 8 0 1 0 0 1 pintype=pas } P 1400 4700 1700 4700 1 0 1 { T 300 4700 5 8 1 1 0 0 1 pinnumber=5 T 300 4700 5 8 0 0 0 0 1 pinseq=5 T 300 4700 5 8 0 1 0 0 1 pinlabel=5 T 300 4700 5 8 0 1 0 0 1 pintype=pas } P 1400 4400 1700 4400 1 0 1 { T 300 4400 5 8 1 1 0 0 1 pinnumber=6 T 300 4400 5 8 0 0 0 0 1 pinseq=6 T 300 4400 5 8 0 1 0 0 1 pinlabel=6 T 300 4400 5 8 0 1 0 0 1 pintype=pas } P 1400 4100 1700 4100 1 0 1 { T 300 4100 5 8 1 1 0 0 1 pinnumber=7 T 300 4100 5 8 0 0 0 0 1 pinseq=7 T 300 4100 5 8 0 1 0 0 1 pinlabel=7 T 300 4100 5 8 0 1 0 0 1 pintype=pas } P 1400 3800 1700 3800 1 0 1 { T 300 3800 5 8 1 1 0 0 1 pinnumber=8 T 300 3800 5 8 0 0 0 0 1 pinseq=8 T 300 3800 5 8 0 1 0 0 1 pinlabel=8 T 300 3800 5 8 0 1 0 0 1 pintype=pas } P 1400 3500 1700 3500 1 0 1 { T 300 3500 5 8 1 1 0 0 1 pinnumber=9 T 300 3500 5 8 0 0 0 0 1 pinseq=9 T 300 3500 5 8 0 1 0 0 1 pinlabel=9 T 300 3500 5 8 0 1 0 0 1 pintype=pas } P 1400 3200 1700 3200 1 0 1 { T 300 3200 5 8 1 1 0 0 1 pinnumber=10 T 300 3200 5 8 0 0 0 0 1 pinseq=10 T 300 3200 5 8 0 1 0 0 1 pinlabel=10 T 300 3200 5 8 0 1 0 0 1 pintype=pas } P 1400 2900 1700 2900 1 0 1 { T 300 2900 5 8 1 1 0 0 1 pinnumber=11 T 300 2900 5 8 0 0 0 0 1 pinseq=11 T 300 2900 5 8 0 1 0 0 1 pinlabel=11 T 300 2900 5 8 0 1 0 0 1 pintype=pas } P 1400 2600 1700 2600 1 0 1 { T 300 2600 5 8 1 1 0 0 1 pinnumber=12 T 300 2600 5 8 0 0 0 0 1 pinseq=12 T 300 2600 5 8 0 1 0 0 1 pinlabel=12 T 300 2600 5 8 0 1 0 0 1 pintype=pas } P 1400 2300 1700 2300 1 0 1 { T 300 2300 5 8 1 1 0 0 1 pinnumber=13 T 300 2300 5 8 0 0 0 0 1 pinseq=13 T 300 2300 5 8 0 1 0 0 1 pinlabel=13 T 300 2300 5 8 0 1 0 0 1 pintype=pas } P 1400 2000 1700 2000 1 0 1 { T 300 2000 5 8 1 1 0 0 1 pinnumber=14 T 300 2000 5 8 0 0 0 0 1 pinseq=14 T 300 2000 5 8 0 1 0 0 1 pinlabel=14 T 300 2000 5 8 0 1 0 0 1 pintype=pas } P 1400 1700 1700 1700 1 0 1 { T 300 1700 5 8 1 1 0 0 1 pinnumber=15 T 300 1700 5 8 0 0 0 0 1 pinseq=15 T 300 1700 5 8 0 1 0 0 1 pinlabel=15 T 300 1700 5 8 0 1 0 0 1 pintype=pas } P 1400 1400 1700 1400 1 0 1 { T 300 1400 5 8 1 1 0 0 1 pinnumber=16 T 300 1400 5 8 0 0 0 0 1 pinseq=16 T 300 1400 5 8 0 1 0 0 1 pinlabel=16 T 300 1400 5 8 0 1 0 0 1 pintype=pas } P 1400 1100 1700 1100 1 0 1 { T 300 1100 5 8 1 1 0 0 1 pinnumber=17 T 300 1100 5 8 0 0 0 0 1 pinseq=17 T 300 1100 5 8 0 1 0 0 1 pinlabel=17 T 300 1100 5 8 0 1 0 0 1 pintype=pas } P 1400 800 1700 800 1 0 1 { T 300 800 5 8 1 1 0 0 1 pinnumber=18 T 300 800 5 8 0 0 0 0 1 pinseq=18 T 300 800 5 8 0 1 0 0 1 pinlabel=18 T 300 800 5 8 0 1 0 0 1 pintype=pas } P 1400 500 1700 500 1 0 1 { T 300 500 5 8 1 1 0 0 1 pinnumber=19 T 300 500 5 8 0 0 0 0 1 pinseq=19 T 300 500 5 8 0 1 0 0 1 pinlabel=19 T 300 500 5 8 0 1 0 0 1 pintype=pas } P 1400 200 1700 200 1 0 1 { T 300 200 5 8 1 1 0 0 1 pinnumber=20 T 300 200 5 8 0 0 0 0 1 pinseq=20 T 300 200 5 8 0 1 0 0 1 pinlabel=20 T 300 200 5 8 0 1 0 0 1 pintype=pas } B 0 0 500 6100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 1400 5900 500 5900 3 0 0 0 -1 -1 L 1400 5600 500 5600 3 0 0 0 -1 -1 L 1400 5300 500 5300 3 0 0 0 -1 -1 L 1400 5000 500 5000 3 0 0 0 -1 -1 L 1400 4700 500 4700 3 0 0 0 -1 -1 L 1400 4400 500 4400 3 0 0 0 -1 -1 L 1400 4100 500 4100 3 0 0 0 -1 -1 L 1400 3800 500 3800 3 0 0 0 -1 -1 L 1400 3500 500 3500 3 0 0 0 -1 -1 L 1400 3200 500 3200 3 0 0 0 -1 -1 L 1400 2900 500 2900 3 0 0 0 -1 -1 L 1400 2600 500 2600 3 0 0 0 -1 -1 L 1400 2300 500 2300 3 0 0 0 -1 -1 L 1400 2000 500 2000 3 0 0 0 -1 -1 L 1400 1700 500 1700 3 0 0 0 -1 -1 L 1400 1400 500 1400 3 0 0 0 -1 -1 L 1400 1100 500 1100 3 0 0 0 -1 -1 L 1400 800 500 800 3 0 0 0 -1 -1 L 1400 500 500 500 3 0 0 0 -1 -1 L 1400 200 500 200 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/connector/header50-2.sym0000664000175000017500000002357312204104272016054 00000000000000v 20031231 1 P 1100 9800 1400 9800 1 0 1 { T 1200 9850 5 8 1 1 0 0 1 pinnumber=2 T 1200 9850 5 8 0 0 0 0 1 pinseq=2 T 1200 9850 5 8 0 1 0 0 1 pinlabel=2 T 1200 9850 5 8 0 1 0 0 1 pintype=pas } P 0 9400 300 9400 1 0 0 { T 100 9450 5 8 1 1 0 0 1 pinnumber=3 T 100 9450 5 8 0 0 0 0 1 pinseq=3 T 100 9450 5 8 0 1 0 0 1 pinlabel=3 T 100 9450 5 8 0 1 0 0 1 pintype=pas } P 1100 9400 1400 9400 1 0 1 { T 1200 9450 5 8 1 1 0 0 1 pinnumber=4 T 1200 9450 5 8 0 0 0 0 1 pinseq=4 T 1200 9450 5 8 0 1 0 0 1 pinlabel=4 T 1200 9450 5 8 0 1 0 0 1 pintype=pas } P 0 9800 300 9800 1 0 0 { T 150 9850 5 8 1 1 0 0 1 pinnumber=1 T 150 9850 5 8 0 0 0 0 1 pinseq=1 T 150 9850 5 8 0 1 0 0 1 pinlabel=1 T 150 9850 5 8 0 1 0 0 1 pintype=pas } P 0 9000 300 9000 1 0 0 { T 100 9050 5 8 1 1 0 0 1 pinnumber=5 T 100 9050 5 8 0 0 0 0 1 pinseq=5 T 100 9050 5 8 0 1 0 0 1 pinlabel=5 T 100 9050 5 8 0 1 0 0 1 pintype=pas } L 300 9200 1100 9200 3 0 0 0 -1 -1 L 300 8800 1100 8800 3 0 0 0 -1 -1 L 300 9600 1100 9600 3 0 0 0 -1 -1 L 300 8400 1100 8400 3 0 0 0 -1 -1 T 250 10500 5 10 0 1 0 0 1 device=COMPACT_FLASH P 1100 8200 1400 8200 1 0 1 { T 1200 8250 5 8 1 1 0 0 1 pinnumber=10 T 1200 8250 5 8 0 0 0 0 1 pinseq=10 T 1200 8250 5 8 0 1 0 0 1 pinlabel=10 T 1200 8250 5 8 0 1 0 0 1 pintype=pas } P 0 8200 300 8200 1 0 0 { T 100 8250 5 8 1 1 0 0 1 pinnumber=9 T 100 8250 5 8 0 0 0 0 1 pinseq=9 T 100 8250 5 8 0 1 0 0 1 pinlabel=9 T 100 8250 5 8 0 1 0 0 1 pintype=pas } P 1100 8600 1400 8600 1 0 1 { T 1200 8650 5 8 1 1 0 0 1 pinnumber=8 T 1200 8650 5 8 0 0 0 0 1 pinseq=8 T 1200 8650 5 8 0 1 0 0 1 pinlabel=8 T 1200 8650 5 8 0 1 0 0 1 pintype=pas } P 0 8600 300 8600 1 0 0 { T 100 8650 5 8 1 1 0 0 1 pinnumber=7 T 100 8650 5 8 0 0 0 0 1 pinseq=7 T 100 8650 5 8 0 1 0 0 1 pinlabel=7 T 100 8650 5 8 0 1 0 0 1 pintype=pas } P 1100 9000 1400 9000 1 0 1 { T 1200 9050 5 8 1 1 0 0 1 pinnumber=6 T 1200 9050 5 8 0 0 0 0 1 pinseq=6 T 1200 9050 5 8 0 1 0 0 1 pinlabel=6 T 1200 9050 5 8 0 1 0 0 1 pintype=pas } T 600 10100 8 10 1 1 0 0 1 refdes=J? P 1100 6600 1400 6600 1 0 1 { T 1200 6650 5 8 1 1 0 0 1 pinnumber=18 T 1200 6650 5 8 0 0 0 0 1 pinseq=18 T 1200 6650 5 8 0 1 0 0 1 pinlabel=18 T 1200 6650 5 8 0 1 0 0 1 pintype=pas } P 1100 6200 1400 6200 1 0 1 { T 1200 6250 5 8 1 1 0 0 1 pinnumber=20 T 1200 6250 5 8 0 0 0 0 1 pinseq=20 T 1200 6250 5 8 0 1 0 0 1 pinlabel=20 T 1200 6250 5 8 0 1 0 0 1 pintype=pas } P 0 6600 300 6600 1 0 0 { T 100 6650 5 8 1 1 0 0 1 pinnumber=17 T 100 6650 5 8 0 0 0 0 1 pinseq=17 T 100 6650 5 8 0 1 0 0 1 pinlabel=17 T 100 6650 5 8 0 1 0 0 1 pintype=pas } P 0 6200 300 6200 1 0 0 { T 100 6250 5 8 1 1 0 0 1 pinnumber=19 T 100 6250 5 8 0 0 0 0 1 pinseq=19 T 100 6250 5 8 0 1 0 0 1 pinlabel=19 T 100 6250 5 8 0 1 0 0 1 pintype=pas } P 1100 7000 1400 7000 1 0 1 { T 1200 7050 5 8 1 1 0 0 1 pinnumber=16 T 1200 7050 5 8 0 0 0 0 1 pinseq=16 T 1200 7050 5 8 0 1 0 0 1 pinlabel=16 T 1200 7050 5 8 0 1 0 0 1 pintype=pas } L 300 7200 1100 7200 3 0 0 0 -1 -1 L 300 6800 1100 6800 3 0 0 0 -1 -1 L 300 7600 1100 7600 3 0 0 0 -1 -1 L 300 6400 1100 6400 3 0 0 0 -1 -1 P 0 7000 300 7000 1 0 0 { T 100 7050 5 8 1 1 0 0 1 pinnumber=15 T 100 7050 5 8 0 0 0 0 1 pinseq=15 T 100 7050 5 8 0 1 0 0 1 pinlabel=15 T 100 7050 5 8 0 1 0 0 1 pintype=pas } P 1100 7400 1400 7400 1 0 1 { T 1200 7450 5 8 1 1 0 0 1 pinnumber=14 T 1200 7450 5 8 0 0 0 0 1 pinseq=14 T 1200 7450 5 8 0 1 0 0 1 pinlabel=14 T 1200 7450 5 8 0 1 0 0 1 pintype=pas } P 0 7400 300 7400 1 0 0 { T 100 7450 5 8 1 1 0 0 1 pinnumber=13 T 100 7450 5 8 0 0 0 0 1 pinseq=13 T 100 7450 5 8 0 1 0 0 1 pinlabel=13 T 100 7450 5 8 0 1 0 0 1 pintype=pas } P 1100 7800 1400 7800 1 0 1 { T 1200 7850 5 8 1 1 0 0 1 pinnumber=12 T 1200 7850 5 8 0 0 0 0 1 pinseq=12 T 1200 7850 5 8 0 1 0 0 1 pinlabel=12 T 1200 7850 5 8 0 1 0 0 1 pintype=pas } P 0 7800 300 7800 1 0 0 { T 100 7850 5 8 1 1 0 0 1 pinnumber=11 T 100 7850 5 8 0 0 0 0 1 pinseq=11 T 100 7850 5 8 0 1 0 0 1 pinlabel=11 T 100 7850 5 8 0 1 0 0 1 pintype=pas } L 300 8000 1100 8000 3 0 0 0 -1 -1 L 700 10000 700 6000 3 0 0 0 -1 -1 T 250 10700 8 10 0 0 0 0 1 pins=50 T 250 10900 8 10 0 0 0 0 1 class=IO P 1100 5800 1400 5800 1 0 1 { T 1200 5850 5 8 1 1 0 0 1 pinnumber=22 T 1200 5850 5 8 0 0 0 0 1 pinseq=22 T 1200 5850 5 8 0 1 0 0 1 pinlabel=22 T 1200 5850 5 8 0 1 0 0 1 pintype=pas } P 0 5400 300 5400 1 0 0 { T 50 5450 5 8 1 1 0 0 1 pinnumber=23 T 50 5450 5 8 0 0 0 0 1 pinseq=23 T 50 5450 5 8 0 1 0 0 1 pinlabel=23 T 50 5450 5 8 0 1 0 0 1 pintype=pas } P 1100 5400 1400 5400 1 0 1 { T 1200 5450 5 8 1 1 0 0 1 pinnumber=24 T 1200 5450 5 8 0 0 0 0 1 pinseq=24 T 1200 5450 5 8 0 1 0 0 1 pinlabel=24 T 1200 5450 5 8 0 1 0 0 1 pintype=pas } P 0 5800 300 5800 1 0 0 { T 100 5850 5 8 1 1 0 0 1 pinnumber=21 T 100 5850 5 8 0 0 0 0 1 pinseq=21 T 100 5850 5 8 0 1 0 0 1 pinlabel=21 T 100 5850 5 8 0 1 0 0 1 pintype=pas } P 0 5000 300 5000 1 0 0 { T 50 5050 5 8 1 1 0 0 1 pinnumber=25 T 50 5050 5 8 0 0 0 0 1 pinseq=25 T 50 5050 5 8 0 1 0 0 1 pinlabel=25 T 50 5050 5 8 0 1 0 0 1 pintype=pas } L 300 5200 1100 5200 3 0 0 0 -1 -1 L 300 4800 1100 4800 3 0 0 0 -1 -1 L 300 5600 1100 5600 3 0 0 0 -1 -1 L 300 4400 1100 4400 3 0 0 0 -1 -1 P 1100 4200 1400 4200 1 0 1 { T 1200 4250 5 8 1 1 0 0 1 pinnumber=30 T 1200 4250 5 8 0 0 0 0 1 pinseq=30 T 1200 4250 5 8 0 1 0 0 1 pinlabel=30 T 1200 4250 5 8 0 1 0 0 1 pintype=pas } P 0 4200 300 4200 1 0 0 { T 50 4250 5 8 1 1 0 0 1 pinnumber=29 T 50 4250 5 8 0 0 0 0 1 pinseq=29 T 50 4250 5 8 0 1 0 0 1 pinlabel=29 T 50 4250 5 8 0 1 0 0 1 pintype=pas } P 1100 4600 1400 4600 1 0 1 { T 1200 4650 5 8 1 1 0 0 1 pinnumber=28 T 1200 4650 5 8 0 0 0 0 1 pinseq=28 T 1200 4650 5 8 0 1 0 0 1 pinlabel=28 T 1200 4650 5 8 0 1 0 0 1 pintype=pas } P 0 4600 300 4600 1 0 0 { T 50 4650 5 8 1 1 0 0 1 pinnumber=27 T 50 4650 5 8 0 0 0 0 1 pinseq=27 T 50 4650 5 8 0 1 0 0 1 pinlabel=27 T 50 4650 5 8 0 1 0 0 1 pintype=pas } P 1100 5000 1400 5000 1 0 1 { T 1200 5050 5 8 1 1 0 0 1 pinnumber=26 T 1200 5050 5 8 0 0 0 0 1 pinseq=26 T 1200 5050 5 8 0 1 0 0 1 pinlabel=26 T 1200 5050 5 8 0 1 0 0 1 pintype=pas } P 1100 2600 1400 2600 1 0 1 { T 1200 2650 5 8 1 1 0 0 1 pinnumber=38 T 1200 2650 5 8 0 0 0 0 1 pinseq=38 T 1200 2650 5 8 0 1 0 0 1 pinlabel=38 T 1200 2650 5 8 0 1 0 0 1 pintype=pas } P 1100 2200 1400 2200 1 0 1 { T 1200 2250 5 8 1 1 0 0 1 pinnumber=40 T 1200 2250 5 8 0 0 0 0 1 pinseq=40 T 1200 2250 5 8 0 1 0 0 1 pinlabel=40 T 1200 2250 5 8 0 1 0 0 1 pintype=pas } P 0 2600 300 2600 1 0 0 { T 50 2650 5 8 1 1 0 0 1 pinnumber=37 T 50 2650 5 8 0 0 0 0 1 pinseq=37 T 50 2650 5 8 0 1 0 0 1 pinlabel=37 T 50 2650 5 8 0 1 0 0 1 pintype=pas } P 0 2200 300 2200 1 0 0 { T 50 2250 5 8 1 1 0 0 1 pinnumber=39 T 50 2250 5 8 0 0 0 0 1 pinseq=39 T 50 2250 5 8 0 1 0 0 1 pinlabel=39 T 50 2250 5 8 0 1 0 0 1 pintype=pas } P 1100 3000 1400 3000 1 0 1 { T 1200 3050 5 8 1 1 0 0 1 pinnumber=36 T 1200 3050 5 8 0 0 0 0 1 pinseq=36 T 1200 3050 5 8 0 1 0 0 1 pinlabel=36 T 1200 3050 5 8 0 1 0 0 1 pintype=pas } L 300 3200 1100 3200 3 0 0 0 -1 -1 L 300 2800 1100 2800 3 0 0 0 -1 -1 L 300 3600 1100 3600 3 0 0 0 -1 -1 L 300 2400 1100 2400 3 0 0 0 -1 -1 P 0 3000 300 3000 1 0 0 { T 50 3050 5 8 1 1 0 0 1 pinnumber=35 T 50 3050 5 8 0 0 0 0 1 pinseq=35 T 50 3050 5 8 0 1 0 0 1 pinlabel=35 T 50 3050 5 8 0 1 0 0 1 pintype=pas } P 1100 3400 1400 3400 1 0 1 { T 1200 3450 5 8 1 1 0 0 1 pinnumber=34 T 1200 3450 5 8 0 0 0 0 1 pinseq=34 T 1200 3450 5 8 0 1 0 0 1 pinlabel=34 T 1200 3450 5 8 0 1 0 0 1 pintype=pas } P 0 3400 300 3400 1 0 0 { T 50 3450 5 8 1 1 0 0 1 pinnumber=33 T 50 3450 5 8 0 0 0 0 1 pinseq=33 T 50 3450 5 8 0 1 0 0 1 pinlabel=33 T 50 3450 5 8 0 1 0 0 1 pintype=pas } P 1100 3800 1400 3800 1 0 1 { T 1200 3850 5 8 1 1 0 0 1 pinnumber=32 T 1200 3850 5 8 0 0 0 0 1 pinseq=32 T 1200 3850 5 8 0 1 0 0 1 pinlabel=32 T 1200 3850 5 8 0 1 0 0 1 pintype=pas } P 0 3800 300 3800 1 0 0 { T 50 3850 5 8 1 1 0 0 1 pinnumber=31 T 50 3850 5 8 0 0 0 0 1 pinseq=31 T 50 3850 5 8 0 1 0 0 1 pinlabel=31 T 50 3850 5 8 0 1 0 0 1 pintype=pas } B 300 0 800 10000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 300 4000 1100 4000 3 0 0 0 -1 -1 L 700 6000 700 0 3 0 0 0 -1 -1 L 300 6000 1100 6000 3 0 0 0 -1 -1 P 1100 600 1400 600 1 0 1 { T 1200 650 5 8 1 1 0 0 1 pinnumber=48 T 1200 650 5 8 0 0 0 0 1 pinseq=48 T 1200 650 5 8 0 1 0 0 1 pinlabel=48 T 1200 650 5 8 0 1 0 0 1 pintype=pas } P 1100 200 1400 200 1 0 1 { T 1200 250 5 8 1 1 0 0 1 pinnumber=50 T 1200 250 5 8 0 0 0 0 1 pinseq=50 T 1200 250 5 8 0 1 0 0 1 pinlabel=50 T 1200 250 5 8 0 1 0 0 1 pintype=pas } P 0 600 300 600 1 0 0 { T 50 650 5 8 1 1 0 0 1 pinnumber=47 T 50 650 5 8 0 0 0 0 1 pinseq=47 T 50 650 5 8 0 1 0 0 1 pinlabel=47 T 50 650 5 8 0 1 0 0 1 pintype=pas } P 0 200 300 200 1 0 0 { T 50 250 5 8 1 1 0 0 1 pinnumber=49 T 50 250 5 8 0 0 0 0 1 pinseq=49 T 50 250 5 8 0 1 0 0 1 pinlabel=49 T 50 250 5 8 0 1 0 0 1 pintype=pas } P 1100 1000 1400 1000 1 0 1 { T 1200 1050 5 8 1 1 0 0 1 pinnumber=46 T 1200 1050 5 8 0 0 0 0 1 pinseq=46 T 1200 1050 5 8 0 1 0 0 1 pinlabel=46 T 1200 1050 5 8 0 1 0 0 1 pintype=pas } L 300 1200 1100 1200 3 0 0 0 -1 -1 L 300 800 1100 800 3 0 0 0 -1 -1 L 300 1600 1100 1600 3 0 0 0 -1 -1 L 300 400 1100 400 3 0 0 0 -1 -1 P 0 1000 300 1000 1 0 0 { T 50 1050 5 8 1 1 0 0 1 pinnumber=45 T 50 1050 5 8 0 0 0 0 1 pinseq=45 T 50 1050 5 8 0 1 0 0 1 pinlabel=45 T 50 1050 5 8 0 1 0 0 1 pintype=pas } P 1100 1400 1400 1400 1 0 1 { T 1200 1450 5 8 1 1 0 0 1 pinnumber=44 T 1200 1450 5 8 0 0 0 0 1 pinseq=44 T 1200 1450 5 8 0 1 0 0 1 pinlabel=44 T 1200 1450 5 8 0 1 0 0 1 pintype=pas } P 0 1400 300 1400 1 0 0 { T 50 1450 5 8 1 1 0 0 1 pinnumber=43 T 50 1450 5 8 0 0 0 0 1 pinseq=43 T 50 1450 5 8 0 1 0 0 1 pinlabel=43 T 50 1450 5 8 0 1 0 0 1 pintype=pas } P 1100 1800 1400 1800 1 0 1 { T 1200 1850 5 8 1 1 0 0 1 pinnumber=42 T 1200 1850 5 8 0 0 0 0 1 pinseq=42 T 1200 1850 5 8 0 1 0 0 1 pinlabel=42 T 1200 1850 5 8 0 1 0 0 1 pintype=pas } P 0 1800 300 1800 1 0 0 { T 50 1850 5 8 1 1 0 0 1 pinnumber=41 T 50 1850 5 8 0 0 0 0 1 pinseq=41 T 50 1850 5 8 0 1 0 0 1 pinlabel=41 T 50 1850 5 8 0 1 0 0 1 pintype=pas } L 300 2000 1100 2000 3 0 0 0 -1 -1 T 200 11100 8 10 0 1 0 0 1 footprint=CFLASH geda-gaf-1.8.2/symbols/connector/connector16-1.sym0000664000175000017500000000674212204104272016616 00000000000000v 20031231 1 P 1500 4500 1800 4500 1 0 1 { T 350 4450 5 8 1 1 0 0 1 pinnumber=2 T 350 4450 5 8 0 0 0 0 1 pinseq=2 T 350 4450 5 8 0 1 0 0 1 pinlabel=2 T 350 4450 5 8 0 1 0 0 1 pintype=pas } P 1500 3900 1800 3900 1 0 1 { T 350 3850 5 8 1 1 0 0 1 pinnumber=4 T 350 3850 5 8 0 0 0 0 1 pinseq=4 T 350 3850 5 8 0 1 0 0 1 pinlabel=4 T 350 3850 5 8 0 1 0 0 1 pintype=pas } P 1500 3300 1800 3300 1 0 1 { T 350 3250 5 8 1 1 0 0 1 pinnumber=6 T 350 3250 5 8 0 0 0 0 1 pinseq=6 T 350 3250 5 8 0 1 0 0 1 pinlabel=6 T 350 3250 5 8 0 1 0 0 1 pintype=pas } P 1500 2700 1800 2700 1 0 1 { T 350 2650 5 8 1 1 0 0 1 pinnumber=8 T 350 2650 5 8 0 0 0 0 1 pinseq=8 T 350 2650 5 8 0 1 0 0 1 pinlabel=8 T 350 2650 5 8 0 1 0 0 1 pintype=pas } P 1500 4800 1800 4800 1 0 1 { T 350 4750 5 8 1 1 0 0 1 pinnumber=1 T 350 4750 5 8 0 0 0 0 1 pinseq=1 T 350 4750 5 8 0 1 0 0 1 pinlabel=1 T 350 4750 5 8 0 1 0 0 1 pintype=pas } P 1500 4200 1800 4200 1 0 1 { T 350 4150 5 8 1 1 0 0 1 pinnumber=3 T 350 4150 5 8 0 0 0 0 1 pinseq=3 T 350 4150 5 8 0 1 0 0 1 pinlabel=3 T 350 4150 5 8 0 1 0 0 1 pintype=pas } P 1500 3600 1800 3600 1 0 1 { T 350 3550 5 8 1 1 0 0 1 pinnumber=5 T 350 3550 5 8 0 0 0 0 1 pinseq=5 T 350 3550 5 8 0 1 0 0 1 pinlabel=5 T 350 3550 5 8 0 1 0 0 1 pintype=pas } P 1500 3000 1800 3000 1 0 1 { T 350 2950 5 8 1 1 0 0 1 pinnumber=7 T 350 2950 5 8 0 0 0 0 1 pinseq=7 T 350 2950 5 8 0 1 0 0 1 pinlabel=7 T 350 2950 5 8 0 1 0 0 1 pintype=pas } P 1500 2100 1800 2100 1 0 1 { T 350 2050 5 8 1 1 0 0 1 pinnumber=10 T 350 2050 5 8 0 0 0 0 1 pinseq=10 T 350 2050 5 8 0 1 0 0 1 pinlabel=10 T 350 2050 5 8 0 1 0 0 1 pintype=pas } P 1500 1500 1800 1500 1 0 1 { T 350 1450 5 8 1 1 0 0 1 pinnumber=12 T 350 1450 5 8 0 0 0 0 1 pinseq=12 T 350 1450 5 8 0 1 0 0 1 pinlabel=12 T 350 1450 5 8 0 1 0 0 1 pintype=pas } P 1500 900 1800 900 1 0 1 { T 350 850 5 8 1 1 0 0 1 pinnumber=14 T 350 850 5 8 0 0 0 0 1 pinseq=14 T 350 850 5 8 0 1 0 0 1 pinlabel=14 T 350 850 5 8 0 1 0 0 1 pintype=pas } P 1500 300 1800 300 1 0 1 { T 350 250 5 8 1 1 0 0 1 pinnumber=16 T 350 250 5 8 0 0 0 0 1 pinseq=16 T 350 250 5 8 0 1 0 0 1 pinlabel=16 T 350 250 5 8 0 1 0 0 1 pintype=pas } P 1500 2400 1800 2400 1 0 1 { T 350 2350 5 8 1 1 0 0 1 pinnumber=9 T 350 2350 5 8 0 0 0 0 1 pinseq=9 T 350 2350 5 8 0 1 0 0 1 pinlabel=9 T 350 2350 5 8 0 1 0 0 1 pintype=pas } P 1500 1800 1800 1800 1 0 1 { T 350 1750 5 8 1 1 0 0 1 pinnumber=11 T 350 1750 5 8 0 0 0 0 1 pinseq=11 T 350 1750 5 8 0 1 0 0 1 pinlabel=11 T 350 1750 5 8 0 1 0 0 1 pintype=pas } P 1500 1200 1800 1200 1 0 1 { T 350 1150 5 8 1 1 0 0 1 pinnumber=13 T 350 1150 5 8 0 0 0 0 1 pinseq=13 T 350 1150 5 8 0 1 0 0 1 pinlabel=13 T 350 1150 5 8 0 1 0 0 1 pintype=pas } P 1500 600 1800 600 1 0 1 { T 350 550 5 8 1 1 0 0 1 pinnumber=15 T 350 550 5 8 0 0 0 0 1 pinseq=15 T 350 550 5 8 0 1 0 0 1 pinlabel=15 T 350 550 5 8 0 1 0 0 1 pintype=pas } L 1500 4800 600 4800 3 0 0 0 -1 -1 L 1500 4500 600 4500 3 0 0 0 -1 -1 L 1500 4200 600 4200 3 0 0 0 -1 -1 L 1500 3900 600 3900 3 0 0 0 -1 -1 L 1500 3600 600 3600 3 0 0 0 -1 -1 L 1500 3300 600 3300 3 0 0 0 -1 -1 L 1500 3000 600 3000 3 0 0 0 -1 -1 L 1500 2700 600 2700 3 0 0 0 -1 -1 L 1500 2400 600 2400 3 0 0 0 -1 -1 L 1500 2100 600 2100 3 0 0 0 -1 -1 L 1500 1800 600 1800 3 0 0 0 -1 -1 L 1500 1500 600 1500 3 0 0 0 -1 -1 L 1500 1200 600 1200 3 0 0 0 -1 -1 L 1500 900 600 900 3 0 0 0 -1 -1 L 1500 600 600 600 3 0 0 0 -1 -1 L 1500 300 600 300 3 0 0 0 -1 -1 B 100 100 500 4900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1900 4900 5 10 0 0 0 0 1 device=CONNECTOR_16 T 100 5100 8 10 1 1 0 0 1 refdes=CONN? geda-gaf-1.8.2/symbols/connector/connector1-2.sym0000664000175000017500000000102112204104272016512 00000000000000v 20041228 1 T 700 900 8 10 1 1 0 6 1 refdes=CONN? T 300 850 5 10 0 0 0 0 1 device=CONNECTOR_1 T 300 1050 5 10 0 0 0 0 1 footprint=SIP1N T 300 1250 5 10 0 0 0 0 1 author=Leon Kos T 300 1450 5 10 0 0 0 0 1 description=generic connector T 300 1650 5 10 0 0 0 0 1 numslots=0 P 0 400 200 400 1 0 0 { T 200 450 5 8 0 1 0 6 1 pinnumber=1 T 200 350 5 8 0 1 0 8 1 pinseq=1 T 350 400 9 8 1 1 0 0 1 pinlabel=1 T 350 400 5 8 0 1 0 2 1 pintype=pas } V 250 400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 300 0 400 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/connector/header40-2.sym0000664000175000017500000001762712204104272016056 00000000000000v 20031231 1 P 1100 7800 1400 7800 1 0 1 { T 1200 7850 5 8 1 1 0 0 1 pinnumber=2 T 1200 7850 5 8 0 0 0 0 1 pinseq=2 T 1200 7850 5 8 0 1 0 0 1 pinlabel=2 T 1200 7850 5 8 0 1 0 0 1 pintype=pas } P 0 7400 300 7400 1 0 0 { T 100 7450 5 8 1 1 0 0 1 pinnumber=3 T 100 7450 5 8 0 0 0 0 1 pinseq=3 T 100 7450 5 8 0 1 0 0 1 pinlabel=3 T 100 7450 5 8 0 1 0 0 1 pintype=pas } P 1100 7400 1400 7400 1 0 1 { T 1200 7450 5 8 1 1 0 0 1 pinnumber=4 T 1200 7450 5 8 0 0 0 0 1 pinseq=4 T 1200 7450 5 8 0 1 0 0 1 pinlabel=4 T 1200 7450 5 8 0 1 0 0 1 pintype=pas } P 0 7800 300 7800 1 0 0 { T 150 7850 5 8 1 1 0 0 1 pinnumber=1 T 150 7850 5 8 0 0 0 0 1 pinseq=1 T 150 7850 5 8 0 1 0 0 1 pinlabel=1 T 150 7850 5 8 0 1 0 0 1 pintype=pas } P 0 7000 300 7000 1 0 0 { T 100 7050 5 8 1 1 0 0 1 pinnumber=5 T 100 7050 5 8 0 0 0 0 1 pinseq=5 T 100 7050 5 8 0 1 0 0 1 pinlabel=5 T 100 7050 5 8 0 1 0 0 1 pintype=pas } L 300 7200 1100 7200 3 0 0 0 -1 -1 L 300 6800 1100 6800 3 0 0 0 -1 -1 L 300 7600 1100 7600 3 0 0 0 -1 -1 L 300 6400 1100 6400 3 0 0 0 -1 -1 T 250 8500 5 10 0 1 0 0 1 device=HEADER40 P 1100 6200 1400 6200 1 0 1 { T 1200 6250 5 8 1 1 0 0 1 pinnumber=10 T 1200 6250 5 8 0 0 0 0 1 pinseq=10 T 1200 6250 5 8 0 1 0 0 1 pinlabel=10 T 1200 6250 5 8 0 1 0 0 1 pintype=pas } P 0 6200 300 6200 1 0 0 { T 100 6250 5 8 1 1 0 0 1 pinnumber=9 T 100 6250 5 8 0 0 0 0 1 pinseq=9 T 100 6250 5 8 0 1 0 0 1 pinlabel=9 T 100 6250 5 8 0 1 0 0 1 pintype=pas } P 1100 6600 1400 6600 1 0 1 { T 1200 6650 5 8 1 1 0 0 1 pinnumber=8 T 1200 6650 5 8 0 0 0 0 1 pinseq=8 T 1200 6650 5 8 0 1 0 0 1 pinlabel=8 T 1200 6650 5 8 0 1 0 0 1 pintype=pas } P 0 6600 300 6600 1 0 0 { T 100 6650 5 8 1 1 0 0 1 pinnumber=7 T 100 6650 5 8 0 0 0 0 1 pinseq=7 T 100 6650 5 8 0 1 0 0 1 pinlabel=7 T 100 6650 5 8 0 1 0 0 1 pintype=pas } P 1100 7000 1400 7000 1 0 1 { T 1200 7050 5 8 1 1 0 0 1 pinnumber=6 T 1200 7050 5 8 0 0 0 0 1 pinseq=6 T 1200 7050 5 8 0 1 0 0 1 pinlabel=6 T 1200 7050 5 8 0 1 0 0 1 pintype=pas } T 600 8100 8 10 1 1 0 0 1 refdes=J? P 1100 4600 1400 4600 1 0 1 { T 1200 4650 5 8 1 1 0 0 1 pinnumber=18 T 1200 4650 5 8 0 0 0 0 1 pinseq=18 T 1200 4650 5 8 0 1 0 0 1 pinlabel=18 T 1200 4650 5 8 0 1 0 0 1 pintype=pas } P 1100 4200 1400 4200 1 0 1 { T 1200 4250 5 8 1 1 0 0 1 pinnumber=20 T 1200 4250 5 8 0 0 0 0 1 pinseq=20 T 1200 4250 5 8 0 1 0 0 1 pinlabel=20 T 1200 4250 5 8 0 1 0 0 1 pintype=pas } P 0 4600 300 4600 1 0 0 { T 100 4650 5 8 1 1 0 0 1 pinnumber=17 T 100 4650 5 8 0 0 0 0 1 pinseq=17 T 100 4650 5 8 0 1 0 0 1 pinlabel=17 T 100 4650 5 8 0 1 0 0 1 pintype=pas } P 0 4200 300 4200 1 0 0 { T 100 4250 5 8 1 1 0 0 1 pinnumber=19 T 100 4250 5 8 0 0 0 0 1 pinseq=19 T 100 4250 5 8 0 1 0 0 1 pinlabel=19 T 100 4250 5 8 0 1 0 0 1 pintype=pas } P 1100 5000 1400 5000 1 0 1 { T 1200 5050 5 8 1 1 0 0 1 pinnumber=16 T 1200 5050 5 8 0 0 0 0 1 pinseq=16 T 1200 5050 5 8 0 1 0 0 1 pinlabel=16 T 1200 5050 5 8 0 1 0 0 1 pintype=pas } L 300 5200 1100 5200 3 0 0 0 -1 -1 L 300 4800 1100 4800 3 0 0 0 -1 -1 L 300 5600 1100 5600 3 0 0 0 -1 -1 L 300 4400 1100 4400 3 0 0 0 -1 -1 P 0 5000 300 5000 1 0 0 { T 100 5050 5 8 1 1 0 0 1 pinnumber=15 T 100 5050 5 8 0 0 0 0 1 pinseq=15 T 100 5050 5 8 0 1 0 0 1 pinlabel=15 T 100 5050 5 8 0 1 0 0 1 pintype=pas } P 1100 5400 1400 5400 1 0 1 { T 1200 5450 5 8 1 1 0 0 1 pinnumber=14 T 1200 5450 5 8 0 0 0 0 1 pinseq=14 T 1200 5450 5 8 0 1 0 0 1 pinlabel=14 T 1200 5450 5 8 0 1 0 0 1 pintype=pas } P 0 5400 300 5400 1 0 0 { T 100 5450 5 8 1 1 0 0 1 pinnumber=13 T 100 5450 5 8 0 0 0 0 1 pinseq=13 T 100 5450 5 8 0 1 0 0 1 pinlabel=13 T 100 5450 5 8 0 1 0 0 1 pintype=pas } P 1100 5800 1400 5800 1 0 1 { T 1200 5850 5 8 1 1 0 0 1 pinnumber=12 T 1200 5850 5 8 0 0 0 0 1 pinseq=12 T 1200 5850 5 8 0 1 0 0 1 pinlabel=12 T 1200 5850 5 8 0 1 0 0 1 pintype=pas } P 0 5800 300 5800 1 0 0 { T 100 5850 5 8 1 1 0 0 1 pinnumber=11 T 100 5850 5 8 0 0 0 0 1 pinseq=11 T 100 5850 5 8 0 1 0 0 1 pinlabel=11 T 100 5850 5 8 0 1 0 0 1 pintype=pas } L 300 6000 1100 6000 3 0 0 0 -1 -1 L 700 8000 700 4000 3 0 0 0 -1 -1 T 250 8700 8 10 0 0 0 0 1 pins=40 T 250 8900 8 10 0 0 0 0 1 class=IO P 1100 3800 1400 3800 1 0 1 { T 1200 3850 5 8 1 1 0 0 1 pinnumber=22 T 1200 3850 5 8 0 0 0 0 1 pinseq=22 T 1200 3850 5 8 0 1 0 0 1 pinlabel=22 T 1200 3850 5 8 0 1 0 0 1 pintype=pas } P 0 3400 300 3400 1 0 0 { T 50 3450 5 8 1 1 0 0 1 pinnumber=23 T 50 3450 5 8 0 0 0 0 1 pinseq=23 T 50 3450 5 8 0 1 0 0 1 pinlabel=23 T 50 3450 5 8 0 1 0 0 1 pintype=pas } P 1100 3400 1400 3400 1 0 1 { T 1200 3450 5 8 1 1 0 0 1 pinnumber=24 T 1200 3450 5 8 0 0 0 0 1 pinseq=24 T 1200 3450 5 8 0 1 0 0 1 pinlabel=24 T 1200 3450 5 8 0 1 0 0 1 pintype=pas } P 0 3800 300 3800 1 0 0 { T 100 3850 5 8 1 1 0 0 1 pinnumber=21 T 100 3850 5 8 0 0 0 0 1 pinseq=21 T 100 3850 5 8 0 1 0 0 1 pinlabel=21 T 100 3850 5 8 0 1 0 0 1 pintype=pas } P 0 3000 300 3000 1 0 0 { T 50 3050 5 8 1 1 0 0 1 pinnumber=25 T 50 3050 5 8 0 0 0 0 1 pinseq=25 T 50 3050 5 8 0 1 0 0 1 pinlabel=25 T 50 3050 5 8 0 1 0 0 1 pintype=pas } L 300 3200 1100 3200 3 0 0 0 -1 -1 L 300 2800 1100 2800 3 0 0 0 -1 -1 L 300 3600 1100 3600 3 0 0 0 -1 -1 L 300 2400 1100 2400 3 0 0 0 -1 -1 P 1100 2200 1400 2200 1 0 1 { T 1200 2250 5 8 1 1 0 0 1 pinnumber=30 T 1200 2250 5 8 0 0 0 0 1 pinseq=30 T 1200 2250 5 8 0 1 0 0 1 pinlabel=30 T 1200 2250 5 8 0 1 0 0 1 pintype=pas } P 0 2200 300 2200 1 0 0 { T 50 2250 5 8 1 1 0 0 1 pinnumber=29 T 50 2250 5 8 0 0 0 0 1 pinseq=29 T 50 2250 5 8 0 1 0 0 1 pinlabel=29 T 50 2250 5 8 0 1 0 0 1 pintype=pas } P 1100 2600 1400 2600 1 0 1 { T 1200 2650 5 8 1 1 0 0 1 pinnumber=28 T 1200 2650 5 8 0 0 0 0 1 pinseq=28 T 1200 2650 5 8 0 1 0 0 1 pinlabel=28 T 1200 2650 5 8 0 1 0 0 1 pintype=pas } P 0 2600 300 2600 1 0 0 { T 50 2650 5 8 1 1 0 0 1 pinnumber=27 T 50 2650 5 8 0 0 0 0 1 pinseq=27 T 50 2650 5 8 0 1 0 0 1 pinlabel=27 T 50 2650 5 8 0 1 0 0 1 pintype=pas } P 1100 3000 1400 3000 1 0 1 { T 1200 3050 5 8 1 1 0 0 1 pinnumber=26 T 1200 3050 5 8 0 0 0 0 1 pinseq=26 T 1200 3050 5 8 0 1 0 0 1 pinlabel=26 T 1200 3050 5 8 0 1 0 0 1 pintype=pas } P 1100 600 1400 600 1 0 1 { T 1200 650 5 8 1 1 0 0 1 pinnumber=38 T 1200 650 5 8 0 0 0 0 1 pinseq=38 T 1200 650 5 8 0 1 0 0 1 pinlabel=38 T 1200 650 5 8 0 1 0 0 1 pintype=pas } P 1100 200 1400 200 1 0 1 { T 1200 250 5 8 1 1 0 0 1 pinnumber=40 T 1200 250 5 8 0 0 0 0 1 pinseq=40 T 1200 250 5 8 0 1 0 0 1 pinlabel=40 T 1200 250 5 8 0 1 0 0 1 pintype=pas } P 0 600 300 600 1 0 0 { T 50 650 5 8 1 1 0 0 1 pinnumber=37 T 50 650 5 8 0 0 0 0 1 pinseq=37 T 50 650 5 8 0 1 0 0 1 pinlabel=37 T 50 650 5 8 0 1 0 0 1 pintype=pas } P 0 200 300 200 1 0 0 { T 50 250 5 8 1 1 0 0 1 pinnumber=39 T 50 250 5 8 0 0 0 0 1 pinseq=39 T 50 250 5 8 0 1 0 0 1 pinlabel=39 T 50 250 5 8 0 1 0 0 1 pintype=pas } P 1100 1000 1400 1000 1 0 1 { T 1200 1050 5 8 1 1 0 0 1 pinnumber=36 T 1200 1050 5 8 0 0 0 0 1 pinseq=36 T 1200 1050 5 8 0 1 0 0 1 pinlabel=36 T 1200 1050 5 8 0 1 0 0 1 pintype=pas } L 300 1200 1100 1200 3 0 0 0 -1 -1 L 300 800 1100 800 3 0 0 0 -1 -1 L 300 1600 1100 1600 3 0 0 0 -1 -1 L 300 400 1100 400 3 0 0 0 -1 -1 P 0 1000 300 1000 1 0 0 { T 50 1050 5 8 1 1 0 0 1 pinnumber=35 T 50 1050 5 8 0 0 0 0 1 pinseq=35 T 50 1050 5 8 0 1 0 0 1 pinlabel=35 T 50 1050 5 8 0 1 0 0 1 pintype=pas } P 1100 1400 1400 1400 1 0 1 { T 1200 1450 5 8 1 1 0 0 1 pinnumber=34 T 1200 1450 5 8 0 0 0 0 1 pinseq=34 T 1200 1450 5 8 0 1 0 0 1 pinlabel=34 T 1200 1450 5 8 0 1 0 0 1 pintype=pas } P 0 1400 300 1400 1 0 0 { T 50 1450 5 8 1 1 0 0 1 pinnumber=33 T 50 1450 5 8 0 0 0 0 1 pinseq=33 T 50 1450 5 8 0 1 0 0 1 pinlabel=33 T 50 1450 5 8 0 1 0 0 1 pintype=pas } P 1100 1800 1400 1800 1 0 1 { T 1200 1850 5 8 1 1 0 0 1 pinnumber=32 T 1200 1850 5 8 0 0 0 0 1 pinseq=32 T 1200 1850 5 8 0 1 0 0 1 pinlabel=32 T 1200 1850 5 8 0 1 0 0 1 pintype=pas } P 0 1800 300 1800 1 0 0 { T 50 1850 5 8 1 1 0 0 1 pinnumber=31 T 50 1850 5 8 0 0 0 0 1 pinseq=31 T 50 1850 5 8 0 1 0 0 1 pinlabel=31 T 50 1850 5 8 0 1 0 0 1 pintype=pas } B 300 0 800 8000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 300 2000 1100 2000 3 0 0 0 -1 -1 L 700 4000 700 0 3 0 0 0 -1 -1 L 300 4000 1100 4000 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/connector/DIN41617C13-1.sym0000664000175000017500000000601212204104272015727 00000000000000v 20031231 1 T 1400 2750 5 10 0 0 0 0 1 device=DIN41617C13 V 900 200 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 200 1500 200 1 0 1 { T 1300 250 5 8 1 1 0 0 1 pinnumber=13 T 1300 250 5 8 0 0 0 0 1 pinseq=13 T 1300 250 5 8 0 1 0 0 1 pinlabel=13 T 1300 250 5 8 0 1 0 0 1 pintype=pas } V 600 400 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 600 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 600 1500 600 1 0 1 { T 1300 650 5 8 1 1 0 0 1 pinnumber=11 T 1300 650 5 8 0 0 0 0 1 pinseq=11 T 1300 650 5 8 0 1 0 0 1 pinlabel=11 T 1300 650 5 8 0 1 0 0 1 pintype=pas } V 600 800 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 1000 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 1000 1500 1000 1 0 1 { T 1300 1050 5 8 1 1 0 0 1 pinnumber=9 T 1300 1050 5 8 0 0 0 0 1 pinseq=9 T 1300 1050 5 8 0 1 0 0 1 pinlabel=9 T 1300 1050 5 8 0 1 0 0 1 pintype=pas } V 600 1200 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 1400 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 1400 1500 1400 1 0 1 { T 1300 1450 5 8 1 1 0 0 1 pinnumber=7 T 1300 1450 5 8 0 0 0 0 1 pinseq=7 T 1300 1450 5 8 0 1 0 0 1 pinlabel=7 T 1300 1450 5 8 0 1 0 0 1 pintype=pas } V 600 1600 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 1800 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 1800 1500 1800 1 0 1 { T 1300 1850 5 8 1 1 0 0 1 pinnumber=5 T 1300 1850 5 8 0 0 0 0 1 pinseq=5 T 1300 1850 5 8 0 1 0 0 1 pinlabel=5 T 1300 1850 5 8 0 1 0 0 1 pintype=pas } V 600 2000 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 2200 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 2200 1500 2200 1 0 1 { T 1300 2250 5 8 1 1 0 0 1 pinnumber=3 T 1300 2250 5 8 0 0 0 0 1 pinseq=3 T 1300 2250 5 8 0 1 0 0 1 pinlabel=3 T 1300 2250 5 8 0 1 0 0 1 pintype=pas } V 600 2400 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 2600 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 2600 1500 2600 1 0 1 { T 1300 2650 5 8 1 1 0 0 1 pinnumber=1 T 1300 2650 5 8 0 0 0 0 1 pinseq=1 T 1300 2650 5 8 0 1 0 0 1 pinlabel=1 T 1300 2650 5 8 0 1 0 0 1 pintype=pas } L 1200 2800 300 2800 3 0 0 0 -1 -1 P 550 400 0 400 1 0 1 { T 50 450 5 8 1 1 0 0 1 pinnumber=12 T 50 450 5 8 0 0 0 0 1 pinseq=12 T 50 450 5 8 0 1 0 0 1 pinlabel=12 T 50 450 5 8 0 1 0 0 1 pintype=pas } P 550 800 0 800 1 0 1 { T 50 850 5 8 1 1 0 0 1 pinnumber=10 T 50 850 5 8 0 0 0 0 1 pinseq=10 T 50 850 5 8 0 1 0 0 1 pinlabel=10 T 50 850 5 8 0 1 0 0 1 pintype=pas } P 550 1200 0 1200 1 0 1 { T 50 1250 5 8 1 1 0 0 1 pinnumber=8 T 50 1250 5 8 0 0 0 0 1 pinseq=8 T 50 1250 5 8 0 1 0 0 1 pinlabel=8 T 50 1250 5 8 0 1 0 0 1 pintype=pas } P 550 1600 0 1600 1 0 1 { T 50 1650 5 8 1 1 0 0 1 pinnumber=6 T 50 1650 5 8 0 0 0 0 1 pinseq=6 T 50 1650 5 8 0 1 0 0 1 pinlabel=6 T 50 1650 5 8 0 1 0 0 1 pintype=pas } P 550 2000 0 2000 1 0 1 { T 50 2050 5 8 1 1 0 0 1 pinnumber=4 T 50 2050 5 8 0 0 0 0 1 pinseq=4 T 50 2050 5 8 0 1 0 0 1 pinlabel=4 T 50 2050 5 8 0 1 0 0 1 pintype=pas } P 550 2400 0 2400 1 0 1 { T 50 2450 5 8 1 1 0 0 1 pinnumber=2 T 50 2450 5 8 0 0 0 0 1 pinseq=2 T 50 2450 5 8 0 1 0 0 1 pinlabel=2 T 50 2450 5 8 0 1 0 0 1 pintype=pas } L 300 0 1200 0 3 0 0 0 -1 -1 L 1200 0 1200 2790 3 0 0 0 -1 -1 L 300 2800 300 0 3 0 0 0 -1 -1 T 400 2900 8 10 1 1 0 0 1 refdes=CONN? geda-gaf-1.8.2/symbols/connector/terminal-1.sym0000664000175000017500000000073212204104272016261 00000000000000v 20041228 1 T 310 750 8 10 0 0 0 0 1 device=terminal P 560 100 900 100 1 0 1 { T 660 150 5 10 0 0 0 0 1 pinseq=1 T 510 100 5 10 0 1 0 0 1 pinnumber=1 T 510 300 5 10 0 1 0 0 1 pintype=pas T 800 100 5 10 0 1 0 0 1 pinlabel=terminal } V 460 100 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 310 600 8 10 0 0 0 0 1 footprint=CONNECTOR 1 1 T 300 900 8 10 0 1 0 0 1 author=Karel 'Clock' Kulhavy T 300 1100 8 10 0 0 0 0 1 numslots=0 T 250 50 8 10 1 1 0 6 1 refdes=T? geda-gaf-1.8.2/symbols/connector/connector21-2.sym0000664000175000017500000001152312204104272016604 00000000000000v 20041228 1 T 800 9000 8 10 1 1 0 6 1 refdes=CONN? T 400 8950 5 10 0 0 0 0 1 device=CONNECTOR_21 T 400 9150 5 10 0 0 0 0 1 footprint=SIP21N T 400 9350 5 10 0 0 0 0 1 author=Leon Kos T 400 9550 5 10 0 0 0 0 1 description=generic connector T 400 9750 5 10 0 0 0 0 1 numslots=0 P 100 8500 300 8500 1 0 0 { T 300 8550 5 8 0 1 0 6 1 pinnumber=1 T 300 8450 5 8 0 1 0 8 1 pinseq=1 T 450 8500 9 8 1 1 0 0 1 pinlabel=1 T 450 8500 5 8 0 1 0 2 1 pintype=pas } V 350 8500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8100 300 8100 1 0 0 { T 300 8150 5 8 0 1 0 6 1 pinnumber=2 T 300 8050 5 8 0 1 0 8 1 pinseq=2 T 450 8100 9 8 1 1 0 0 1 pinlabel=2 T 450 8100 5 8 0 1 0 2 1 pintype=pas } V 350 8100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 7700 300 7700 1 0 0 { T 300 7750 5 8 0 1 0 6 1 pinnumber=3 T 300 7650 5 8 0 1 0 8 1 pinseq=3 T 450 7700 9 8 1 1 0 0 1 pinlabel=3 T 450 7700 5 8 0 1 0 2 1 pintype=pas } V 350 7700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 7300 300 7300 1 0 0 { T 300 7350 5 8 0 1 0 6 1 pinnumber=4 T 300 7250 5 8 0 1 0 8 1 pinseq=4 T 450 7300 9 8 1 1 0 0 1 pinlabel=4 T 450 7300 5 8 0 1 0 2 1 pintype=pas } V 350 7300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6900 300 6900 1 0 0 { T 300 6950 5 8 0 1 0 6 1 pinnumber=5 T 300 6850 5 8 0 1 0 8 1 pinseq=5 T 450 6900 9 8 1 1 0 0 1 pinlabel=5 T 450 6900 5 8 0 1 0 2 1 pintype=pas } V 350 6900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6500 300 6500 1 0 0 { T 300 6550 5 8 0 1 0 6 1 pinnumber=6 T 300 6450 5 8 0 1 0 8 1 pinseq=6 T 450 6500 9 8 1 1 0 0 1 pinlabel=6 T 450 6500 5 8 0 1 0 2 1 pintype=pas } V 350 6500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6100 300 6100 1 0 0 { T 300 6150 5 8 0 1 0 6 1 pinnumber=7 T 300 6050 5 8 0 1 0 8 1 pinseq=7 T 450 6100 9 8 1 1 0 0 1 pinlabel=7 T 450 6100 5 8 0 1 0 2 1 pintype=pas } V 350 6100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 5700 300 5700 1 0 0 { T 300 5750 5 8 0 1 0 6 1 pinnumber=8 T 300 5650 5 8 0 1 0 8 1 pinseq=8 T 450 5700 9 8 1 1 0 0 1 pinlabel=8 T 450 5700 5 8 0 1 0 2 1 pintype=pas } V 350 5700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 5300 300 5300 1 0 0 { T 300 5350 5 8 0 1 0 6 1 pinnumber=9 T 300 5250 5 8 0 1 0 8 1 pinseq=9 T 450 5300 9 8 1 1 0 0 1 pinlabel=9 T 450 5300 5 8 0 1 0 2 1 pintype=pas } V 350 5300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4900 300 4900 1 0 0 { T 300 4950 5 8 0 1 0 6 1 pinnumber=10 T 300 4850 5 8 0 1 0 8 1 pinseq=10 T 450 4900 9 8 1 1 0 0 1 pinlabel=10 T 450 4900 5 8 0 1 0 2 1 pintype=pas } V 350 4900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4500 300 4500 1 0 0 { T 300 4550 5 8 0 1 0 6 1 pinnumber=11 T 300 4450 5 8 0 1 0 8 1 pinseq=11 T 450 4500 9 8 1 1 0 0 1 pinlabel=11 T 450 4500 5 8 0 1 0 2 1 pintype=pas } V 350 4500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4100 300 4100 1 0 0 { T 300 4150 5 8 0 1 0 6 1 pinnumber=12 T 300 4050 5 8 0 1 0 8 1 pinseq=12 T 450 4100 9 8 1 1 0 0 1 pinlabel=12 T 450 4100 5 8 0 1 0 2 1 pintype=pas } V 350 4100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 3700 300 3700 1 0 0 { T 300 3750 5 8 0 1 0 6 1 pinnumber=13 T 300 3650 5 8 0 1 0 8 1 pinseq=13 T 450 3700 9 8 1 1 0 0 1 pinlabel=13 T 450 3700 5 8 0 1 0 2 1 pintype=pas } V 350 3700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 3300 300 3300 1 0 0 { T 300 3350 5 8 0 1 0 6 1 pinnumber=14 T 300 3250 5 8 0 1 0 8 1 pinseq=14 T 450 3300 9 8 1 1 0 0 1 pinlabel=14 T 450 3300 5 8 0 1 0 2 1 pintype=pas } V 350 3300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2900 300 2900 1 0 0 { T 300 2950 5 8 0 1 0 6 1 pinnumber=15 T 300 2850 5 8 0 1 0 8 1 pinseq=15 T 450 2900 9 8 1 1 0 0 1 pinlabel=15 T 450 2900 5 8 0 1 0 2 1 pintype=pas } V 350 2900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2500 300 2500 1 0 0 { T 300 2550 5 8 0 1 0 6 1 pinnumber=16 T 300 2450 5 8 0 1 0 8 1 pinseq=16 T 450 2500 9 8 1 1 0 0 1 pinlabel=16 T 450 2500 5 8 0 1 0 2 1 pintype=pas } V 350 2500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2100 300 2100 1 0 0 { T 300 2150 5 8 0 1 0 6 1 pinnumber=17 T 300 2050 5 8 0 1 0 8 1 pinseq=17 T 450 2100 9 8 1 1 0 0 1 pinlabel=17 T 450 2100 5 8 0 1 0 2 1 pintype=pas } V 350 2100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1700 300 1700 1 0 0 { T 300 1750 5 8 0 1 0 6 1 pinnumber=18 T 300 1650 5 8 0 1 0 8 1 pinseq=18 T 450 1700 9 8 1 1 0 0 1 pinlabel=18 T 450 1700 5 8 0 1 0 2 1 pintype=pas } V 350 1700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1300 300 1300 1 0 0 { T 300 1350 5 8 0 1 0 6 1 pinnumber=19 T 300 1250 5 8 0 1 0 8 1 pinseq=19 T 450 1300 9 8 1 1 0 0 1 pinlabel=19 T 450 1300 5 8 0 1 0 2 1 pintype=pas } V 350 1300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 900 300 900 1 0 0 { T 300 950 5 8 0 1 0 6 1 pinnumber=20 T 300 850 5 8 0 1 0 8 1 pinseq=20 T 450 900 9 8 1 1 0 0 1 pinlabel=20 T 450 900 5 8 0 1 0 2 1 pintype=pas } V 350 900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 500 300 500 1 0 0 { T 300 550 5 8 0 1 0 6 1 pinnumber=21 T 300 450 5 8 0 1 0 8 1 pinseq=21 T 450 500 9 8 1 1 0 0 1 pinlabel=21 T 450 500 5 8 0 1 0 2 1 pintype=pas } V 350 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 400 100 400 8800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/connector/connector31-2.sym0000664000175000017500000001606712204104272016615 00000000000000v 20041228 1 T 800 13000 8 10 1 1 0 6 1 refdes=CONN? T 400 12950 5 10 0 0 0 0 1 device=CONNECTOR_31 T 400 13150 5 10 0 0 0 0 1 footprint=SIP31N T 400 13350 5 10 0 0 0 0 1 author=Leon Kos T 400 13550 5 10 0 0 0 0 1 description=generic connector T 400 13750 5 10 0 0 0 0 1 numslots=0 P 100 12500 300 12500 1 0 0 { T 300 12550 5 8 0 1 0 6 1 pinnumber=1 T 300 12450 5 8 0 1 0 8 1 pinseq=1 T 450 12500 9 8 1 1 0 0 1 pinlabel=1 T 450 12500 5 8 0 1 0 2 1 pintype=pas } V 350 12500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 12100 300 12100 1 0 0 { T 300 12150 5 8 0 1 0 6 1 pinnumber=2 T 300 12050 5 8 0 1 0 8 1 pinseq=2 T 450 12100 9 8 1 1 0 0 1 pinlabel=2 T 450 12100 5 8 0 1 0 2 1 pintype=pas } V 350 12100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 11700 300 11700 1 0 0 { T 300 11750 5 8 0 1 0 6 1 pinnumber=3 T 300 11650 5 8 0 1 0 8 1 pinseq=3 T 450 11700 9 8 1 1 0 0 1 pinlabel=3 T 450 11700 5 8 0 1 0 2 1 pintype=pas } V 350 11700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 11300 300 11300 1 0 0 { T 300 11350 5 8 0 1 0 6 1 pinnumber=4 T 300 11250 5 8 0 1 0 8 1 pinseq=4 T 450 11300 9 8 1 1 0 0 1 pinlabel=4 T 450 11300 5 8 0 1 0 2 1 pintype=pas } V 350 11300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 10900 300 10900 1 0 0 { T 300 10950 5 8 0 1 0 6 1 pinnumber=5 T 300 10850 5 8 0 1 0 8 1 pinseq=5 T 450 10900 9 8 1 1 0 0 1 pinlabel=5 T 450 10900 5 8 0 1 0 2 1 pintype=pas } V 350 10900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 10500 300 10500 1 0 0 { T 300 10550 5 8 0 1 0 6 1 pinnumber=6 T 300 10450 5 8 0 1 0 8 1 pinseq=6 T 450 10500 9 8 1 1 0 0 1 pinlabel=6 T 450 10500 5 8 0 1 0 2 1 pintype=pas } V 350 10500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 10100 300 10100 1 0 0 { T 300 10150 5 8 0 1 0 6 1 pinnumber=7 T 300 10050 5 8 0 1 0 8 1 pinseq=7 T 450 10100 9 8 1 1 0 0 1 pinlabel=7 T 450 10100 5 8 0 1 0 2 1 pintype=pas } V 350 10100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 9700 300 9700 1 0 0 { T 300 9750 5 8 0 1 0 6 1 pinnumber=8 T 300 9650 5 8 0 1 0 8 1 pinseq=8 T 450 9700 9 8 1 1 0 0 1 pinlabel=8 T 450 9700 5 8 0 1 0 2 1 pintype=pas } V 350 9700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 9300 300 9300 1 0 0 { T 300 9350 5 8 0 1 0 6 1 pinnumber=9 T 300 9250 5 8 0 1 0 8 1 pinseq=9 T 450 9300 9 8 1 1 0 0 1 pinlabel=9 T 450 9300 5 8 0 1 0 2 1 pintype=pas } V 350 9300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8900 300 8900 1 0 0 { T 300 8950 5 8 0 1 0 6 1 pinnumber=10 T 300 8850 5 8 0 1 0 8 1 pinseq=10 T 450 8900 9 8 1 1 0 0 1 pinlabel=10 T 450 8900 5 8 0 1 0 2 1 pintype=pas } V 350 8900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8500 300 8500 1 0 0 { T 300 8550 5 8 0 1 0 6 1 pinnumber=11 T 300 8450 5 8 0 1 0 8 1 pinseq=11 T 450 8500 9 8 1 1 0 0 1 pinlabel=11 T 450 8500 5 8 0 1 0 2 1 pintype=pas } V 350 8500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8100 300 8100 1 0 0 { T 300 8150 5 8 0 1 0 6 1 pinnumber=12 T 300 8050 5 8 0 1 0 8 1 pinseq=12 T 450 8100 9 8 1 1 0 0 1 pinlabel=12 T 450 8100 5 8 0 1 0 2 1 pintype=pas } V 350 8100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 7700 300 7700 1 0 0 { T 300 7750 5 8 0 1 0 6 1 pinnumber=13 T 300 7650 5 8 0 1 0 8 1 pinseq=13 T 450 7700 9 8 1 1 0 0 1 pinlabel=13 T 450 7700 5 8 0 1 0 2 1 pintype=pas } V 350 7700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 7300 300 7300 1 0 0 { T 300 7350 5 8 0 1 0 6 1 pinnumber=14 T 300 7250 5 8 0 1 0 8 1 pinseq=14 T 450 7300 9 8 1 1 0 0 1 pinlabel=14 T 450 7300 5 8 0 1 0 2 1 pintype=pas } V 350 7300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6900 300 6900 1 0 0 { T 300 6950 5 8 0 1 0 6 1 pinnumber=15 T 300 6850 5 8 0 1 0 8 1 pinseq=15 T 450 6900 9 8 1 1 0 0 1 pinlabel=15 T 450 6900 5 8 0 1 0 2 1 pintype=pas } V 350 6900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6500 300 6500 1 0 0 { T 300 6550 5 8 0 1 0 6 1 pinnumber=16 T 300 6450 5 8 0 1 0 8 1 pinseq=16 T 450 6500 9 8 1 1 0 0 1 pinlabel=16 T 450 6500 5 8 0 1 0 2 1 pintype=pas } V 350 6500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6100 300 6100 1 0 0 { T 300 6150 5 8 0 1 0 6 1 pinnumber=17 T 300 6050 5 8 0 1 0 8 1 pinseq=17 T 450 6100 9 8 1 1 0 0 1 pinlabel=17 T 450 6100 5 8 0 1 0 2 1 pintype=pas } V 350 6100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 5700 300 5700 1 0 0 { T 300 5750 5 8 0 1 0 6 1 pinnumber=18 T 300 5650 5 8 0 1 0 8 1 pinseq=18 T 450 5700 9 8 1 1 0 0 1 pinlabel=18 T 450 5700 5 8 0 1 0 2 1 pintype=pas } V 350 5700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 5300 300 5300 1 0 0 { T 300 5350 5 8 0 1 0 6 1 pinnumber=19 T 300 5250 5 8 0 1 0 8 1 pinseq=19 T 450 5300 9 8 1 1 0 0 1 pinlabel=19 T 450 5300 5 8 0 1 0 2 1 pintype=pas } V 350 5300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4900 300 4900 1 0 0 { T 300 4950 5 8 0 1 0 6 1 pinnumber=20 T 300 4850 5 8 0 1 0 8 1 pinseq=20 T 450 4900 9 8 1 1 0 0 1 pinlabel=20 T 450 4900 5 8 0 1 0 2 1 pintype=pas } V 350 4900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4500 300 4500 1 0 0 { T 300 4550 5 8 0 1 0 6 1 pinnumber=21 T 300 4450 5 8 0 1 0 8 1 pinseq=21 T 450 4500 9 8 1 1 0 0 1 pinlabel=21 T 450 4500 5 8 0 1 0 2 1 pintype=pas } V 350 4500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4100 300 4100 1 0 0 { T 300 4150 5 8 0 1 0 6 1 pinnumber=22 T 300 4050 5 8 0 1 0 8 1 pinseq=22 T 450 4100 9 8 1 1 0 0 1 pinlabel=22 T 450 4100 5 8 0 1 0 2 1 pintype=pas } V 350 4100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 3700 300 3700 1 0 0 { T 300 3750 5 8 0 1 0 6 1 pinnumber=23 T 300 3650 5 8 0 1 0 8 1 pinseq=23 T 450 3700 9 8 1 1 0 0 1 pinlabel=23 T 450 3700 5 8 0 1 0 2 1 pintype=pas } V 350 3700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 3300 300 3300 1 0 0 { T 300 3350 5 8 0 1 0 6 1 pinnumber=24 T 300 3250 5 8 0 1 0 8 1 pinseq=24 T 450 3300 9 8 1 1 0 0 1 pinlabel=24 T 450 3300 5 8 0 1 0 2 1 pintype=pas } V 350 3300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2900 300 2900 1 0 0 { T 300 2950 5 8 0 1 0 6 1 pinnumber=25 T 300 2850 5 8 0 1 0 8 1 pinseq=25 T 450 2900 9 8 1 1 0 0 1 pinlabel=25 T 450 2900 5 8 0 1 0 2 1 pintype=pas } V 350 2900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2500 300 2500 1 0 0 { T 300 2550 5 8 0 1 0 6 1 pinnumber=26 T 300 2450 5 8 0 1 0 8 1 pinseq=26 T 450 2500 9 8 1 1 0 0 1 pinlabel=26 T 450 2500 5 8 0 1 0 2 1 pintype=pas } V 350 2500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2100 300 2100 1 0 0 { T 300 2150 5 8 0 1 0 6 1 pinnumber=27 T 300 2050 5 8 0 1 0 8 1 pinseq=27 T 450 2100 9 8 1 1 0 0 1 pinlabel=27 T 450 2100 5 8 0 1 0 2 1 pintype=pas } V 350 2100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1700 300 1700 1 0 0 { T 300 1750 5 8 0 1 0 6 1 pinnumber=28 T 300 1650 5 8 0 1 0 8 1 pinseq=28 T 450 1700 9 8 1 1 0 0 1 pinlabel=28 T 450 1700 5 8 0 1 0 2 1 pintype=pas } V 350 1700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1300 300 1300 1 0 0 { T 300 1350 5 8 0 1 0 6 1 pinnumber=29 T 300 1250 5 8 0 1 0 8 1 pinseq=29 T 450 1300 9 8 1 1 0 0 1 pinlabel=29 T 450 1300 5 8 0 1 0 2 1 pintype=pas } V 350 1300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 900 300 900 1 0 0 { T 300 950 5 8 0 1 0 6 1 pinnumber=30 T 300 850 5 8 0 1 0 8 1 pinseq=30 T 450 900 9 8 1 1 0 0 1 pinlabel=30 T 450 900 5 8 0 1 0 2 1 pintype=pas } V 350 900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 500 300 500 1 0 0 { T 300 550 5 8 0 1 0 6 1 pinnumber=31 T 300 450 5 8 0 1 0 8 1 pinseq=31 T 450 500 9 8 1 1 0 0 1 pinlabel=31 T 450 500 5 8 0 1 0 2 1 pintype=pas } V 350 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 400 100 400 12800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/connector/connector26-1.sym0000664000175000017500000001322612204104272016612 00000000000000v 20031231 1 P 1500 7500 1800 7500 1 0 1 { T 350 7450 5 8 1 1 0 0 1 pinnumber=2 T 350 7450 5 8 0 0 0 0 1 pinseq=2 T 350 7450 5 8 0 1 0 0 1 pinlabel=2 T 350 7450 5 8 0 1 0 0 1 pintype=pas } P 1500 6900 1800 6900 1 0 1 { T 350 6850 5 8 1 1 0 0 1 pinnumber=4 T 350 6850 5 8 0 0 0 0 1 pinseq=4 T 350 6850 5 8 0 1 0 0 1 pinlabel=4 T 350 6850 5 8 0 1 0 0 1 pintype=pas } P 1500 6300 1800 6300 1 0 1 { T 350 6250 5 8 1 1 0 0 1 pinnumber=6 T 350 6250 5 8 0 0 0 0 1 pinseq=6 T 350 6250 5 8 0 1 0 0 1 pinlabel=6 T 350 6250 5 8 0 1 0 0 1 pintype=pas } P 1500 5700 1800 5700 1 0 1 { T 350 5650 5 8 1 1 0 0 1 pinnumber=8 T 350 5650 5 8 0 0 0 0 1 pinseq=8 T 350 5650 5 8 0 1 0 0 1 pinlabel=8 T 350 5650 5 8 0 1 0 0 1 pintype=pas } P 1500 7800 1800 7800 1 0 1 { T 350 7750 5 8 1 1 0 0 1 pinnumber=1 T 350 7750 5 8 0 0 0 0 1 pinseq=1 T 350 7750 5 8 0 1 0 0 1 pinlabel=1 T 350 7750 5 8 0 1 0 0 1 pintype=pas } P 1500 7200 1800 7200 1 0 1 { T 350 7150 5 8 1 1 0 0 1 pinnumber=3 T 350 7150 5 8 0 0 0 0 1 pinseq=3 T 350 7150 5 8 0 1 0 0 1 pinlabel=3 T 350 7150 5 8 0 1 0 0 1 pintype=pas } P 1500 6600 1800 6600 1 0 1 { T 350 6550 5 8 1 1 0 0 1 pinnumber=5 T 350 6550 5 8 0 0 0 0 1 pinseq=5 T 350 6550 5 8 0 1 0 0 1 pinlabel=5 T 350 6550 5 8 0 1 0 0 1 pintype=pas } P 1500 6000 1800 6000 1 0 1 { T 350 5950 5 8 1 1 0 0 1 pinnumber=7 T 350 5950 5 8 0 0 0 0 1 pinseq=7 T 350 5950 5 8 0 1 0 0 1 pinlabel=7 T 350 5950 5 8 0 1 0 0 1 pintype=pas } P 1500 5100 1800 5100 1 0 1 { T 350 5050 5 8 1 1 0 0 1 pinnumber=10 T 350 5050 5 8 0 0 0 0 1 pinseq=10 T 350 5050 5 8 0 1 0 0 1 pinlabel=10 T 350 5050 5 8 0 1 0 0 1 pintype=pas } P 1500 4500 1800 4500 1 0 1 { T 350 4450 5 8 1 1 0 0 1 pinnumber=12 T 350 4450 5 8 0 0 0 0 1 pinseq=12 T 350 4450 5 8 0 1 0 0 1 pinlabel=12 T 350 4450 5 8 0 1 0 0 1 pintype=pas } P 1500 3900 1800 3900 1 0 1 { T 350 3850 5 8 1 1 0 0 1 pinnumber=14 T 350 3850 5 8 0 0 0 0 1 pinseq=14 T 350 3850 5 8 0 1 0 0 1 pinlabel=14 T 350 3850 5 8 0 1 0 0 1 pintype=pas } P 1500 3300 1800 3300 1 0 1 { T 350 3250 5 8 1 1 0 0 1 pinnumber=16 T 350 3250 5 8 0 0 0 0 1 pinseq=16 T 350 3250 5 8 0 1 0 0 1 pinlabel=16 T 350 3250 5 8 0 1 0 0 1 pintype=pas } P 1500 5400 1800 5400 1 0 1 { T 350 5350 5 8 1 1 0 0 1 pinnumber=9 T 350 5350 5 8 0 0 0 0 1 pinseq=9 T 350 5350 5 8 0 1 0 0 1 pinlabel=9 T 350 5350 5 8 0 1 0 0 1 pintype=pas } P 1500 4800 1800 4800 1 0 1 { T 350 4750 5 8 1 1 0 0 1 pinnumber=11 T 350 4750 5 8 0 0 0 0 1 pinseq=11 T 350 4750 5 8 0 1 0 0 1 pinlabel=11 T 350 4750 5 8 0 1 0 0 1 pintype=pas } P 1500 4200 1800 4200 1 0 1 { T 350 4150 5 8 1 1 0 0 1 pinnumber=13 T 350 4150 5 8 0 0 0 0 1 pinseq=13 T 350 4150 5 8 0 1 0 0 1 pinlabel=13 T 350 4150 5 8 0 1 0 0 1 pintype=pas } P 1500 3600 1800 3600 1 0 1 { T 350 3550 5 8 1 1 0 0 1 pinnumber=15 T 350 3550 5 8 0 0 0 0 1 pinseq=15 T 350 3550 5 8 0 1 0 0 1 pinlabel=15 T 350 3550 5 8 0 1 0 0 1 pintype=pas } P 1500 2700 1800 2700 1 0 1 { T 350 2650 5 8 1 1 0 0 1 pinnumber=18 T 350 2650 5 8 0 0 0 0 1 pinseq=18 T 350 2650 5 8 0 1 0 0 1 pinlabel=18 T 350 2650 5 8 0 1 0 0 1 pintype=pas } P 1500 2100 1800 2100 1 0 1 { T 350 2050 5 8 1 1 0 0 1 pinnumber=20 T 350 2050 5 8 0 0 0 0 1 pinseq=20 T 350 2050 5 8 0 1 0 0 1 pinlabel=20 T 350 2050 5 8 0 1 0 0 1 pintype=pas } P 1500 1500 1800 1500 1 0 1 { T 350 1450 5 8 1 1 0 0 1 pinnumber=22 T 350 1450 5 8 0 0 0 0 1 pinseq=22 T 350 1450 5 8 0 1 0 0 1 pinlabel=22 T 350 1450 5 8 0 1 0 0 1 pintype=pas } P 1500 900 1800 900 1 0 1 { T 350 850 5 8 1 1 0 0 1 pinnumber=24 T 350 850 5 8 0 0 0 0 1 pinseq=24 T 350 850 5 8 0 1 0 0 1 pinlabel=24 T 350 850 5 8 0 1 0 0 1 pintype=pas } P 1500 3000 1800 3000 1 0 1 { T 350 2950 5 8 1 1 0 0 1 pinnumber=17 T 350 2950 5 8 0 0 0 0 1 pinseq=17 T 350 2950 5 8 0 1 0 0 1 pinlabel=17 T 350 2950 5 8 0 1 0 0 1 pintype=pas } P 1500 2400 1800 2400 1 0 1 { T 350 2350 5 8 1 1 0 0 1 pinnumber=19 T 350 2350 5 8 0 0 0 0 1 pinseq=19 T 350 2350 5 8 0 1 0 0 1 pinlabel=19 T 350 2350 5 8 0 1 0 0 1 pintype=pas } P 1500 1800 1800 1800 1 0 1 { T 350 1750 5 8 1 1 0 0 1 pinnumber=21 T 350 1750 5 8 0 0 0 0 1 pinseq=21 T 350 1750 5 8 0 1 0 0 1 pinlabel=21 T 350 1750 5 8 0 1 0 0 1 pintype=pas } P 1500 1200 1800 1200 1 0 1 { T 350 1150 5 8 1 1 0 0 1 pinnumber=23 T 350 1150 5 8 0 0 0 0 1 pinseq=23 T 350 1150 5 8 0 1 0 0 1 pinlabel=23 T 350 1150 5 8 0 1 0 0 1 pintype=pas } P 1500 300 1800 300 1 0 1 { T 350 250 5 8 1 1 0 0 1 pinnumber=26 T 350 250 5 8 0 0 0 0 1 pinseq=26 T 350 250 5 8 0 1 0 0 1 pinlabel=26 T 350 250 5 8 0 1 0 0 1 pintype=pas } P 1500 600 1800 600 1 0 1 { T 350 550 5 8 1 1 0 0 1 pinnumber=25 T 350 550 5 8 0 0 0 0 1 pinseq=25 T 350 550 5 8 0 1 0 0 1 pinlabel=25 T 350 550 5 8 0 1 0 0 1 pintype=pas } L 1500 7800 600 7800 3 0 0 0 -1 -1 L 1500 7500 600 7500 3 0 0 0 -1 -1 L 1500 7200 600 7200 3 0 0 0 -1 -1 L 1500 6900 600 6900 3 0 0 0 -1 -1 L 1500 6600 600 6600 3 0 0 0 -1 -1 L 1500 6300 600 6300 3 0 0 0 -1 -1 L 1500 6000 600 6000 3 0 0 0 -1 -1 L 1500 5700 600 5700 3 0 0 0 -1 -1 L 1500 5400 600 5400 3 0 0 0 -1 -1 L 1500 5100 600 5100 3 0 0 0 -1 -1 L 1500 4800 600 4800 3 0 0 0 -1 -1 L 1500 4500 600 4500 3 0 0 0 -1 -1 L 1500 4200 600 4200 3 0 0 0 -1 -1 L 1500 3900 600 3900 3 0 0 0 -1 -1 L 1500 3600 600 3600 3 0 0 0 -1 -1 L 1500 3300 600 3300 3 0 0 0 -1 -1 L 1500 3000 600 3000 3 0 0 0 -1 -1 L 1500 2700 600 2700 3 0 0 0 -1 -1 L 1500 2400 600 2400 3 0 0 0 -1 -1 L 1500 2100 600 2100 3 0 0 0 -1 -1 L 1500 1800 600 1800 3 0 0 0 -1 -1 L 1500 1500 600 1500 3 0 0 0 -1 -1 L 1500 1200 600 1200 3 0 0 0 -1 -1 L 1500 900 600 900 3 0 0 0 -1 -1 L 1500 600 600 600 3 0 0 0 -1 -1 L 1500 300 600 300 3 0 0 0 -1 -1 B 100 100 500 7900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 100 8300 5 10 0 0 0 0 1 device=CONNECTOR_26 T 100 8100 8 10 1 1 0 0 1 refdes=CONN? T 100 8700 8 10 0 0 0 0 1 pins=26 T 100 8500 8 10 0 0 0 0 1 class=IO geda-gaf-1.8.2/symbols/connector/connector8-1.sym0000664000175000017500000000354312204104272016533 00000000000000v 20031231 1 P 1400 2000 1700 2000 1 0 1 { T 250 1950 5 8 1 1 0 0 1 pinnumber=2 T 250 1950 5 8 0 0 0 0 1 pinseq=2 T 250 1950 5 8 0 1 0 0 1 pinlabel=2 T 250 1950 5 8 0 1 0 0 1 pintype=pas } P 1400 1400 1700 1400 1 0 1 { T 250 1350 5 8 1 1 0 0 1 pinnumber=4 T 250 1350 5 8 0 0 0 0 1 pinseq=4 T 250 1350 5 8 0 1 0 0 1 pinlabel=4 T 250 1350 5 8 0 1 0 0 1 pintype=pas } P 1400 800 1700 800 1 0 1 { T 250 750 5 8 1 1 0 0 1 pinnumber=6 T 250 750 5 8 0 0 0 0 1 pinseq=6 T 250 750 5 8 0 1 0 0 1 pinlabel=6 T 250 750 5 8 0 1 0 0 1 pintype=pas } P 1400 200 1700 200 1 0 1 { T 250 150 5 8 1 1 0 0 1 pinnumber=8 T 250 150 5 8 0 0 0 0 1 pinseq=8 T 250 150 5 8 0 1 0 0 1 pinlabel=8 T 250 150 5 8 0 1 0 0 1 pintype=pas } P 1400 2300 1700 2300 1 0 1 { T 250 2250 5 8 1 1 0 0 1 pinnumber=1 T 250 2250 5 8 0 0 0 0 1 pinseq=1 T 250 2250 5 8 0 1 0 0 1 pinlabel=1 T 250 2250 5 8 0 1 0 0 1 pintype=pas } P 1400 1700 1700 1700 1 0 1 { T 250 1650 5 8 1 1 0 0 1 pinnumber=3 T 250 1650 5 8 0 0 0 0 1 pinseq=3 T 250 1650 5 8 0 1 0 0 1 pinlabel=3 T 250 1650 5 8 0 1 0 0 1 pintype=pas } P 1400 1100 1700 1100 1 0 1 { T 250 1050 5 8 1 1 0 0 1 pinnumber=5 T 250 1050 5 8 0 0 0 0 1 pinseq=5 T 250 1050 5 8 0 1 0 0 1 pinlabel=5 T 250 1050 5 8 0 1 0 0 1 pintype=pas } P 1400 500 1700 500 1 0 1 { T 250 450 5 8 1 1 0 0 1 pinnumber=7 T 250 450 5 8 0 0 0 0 1 pinseq=7 T 250 450 5 8 0 1 0 0 1 pinlabel=7 T 250 450 5 8 0 1 0 0 1 pintype=pas } L 1400 2300 500 2300 3 0 0 0 -1 -1 L 1400 2000 500 2000 3 0 0 0 -1 -1 L 1400 1700 500 1700 3 0 0 0 -1 -1 L 1400 1400 500 1400 3 0 0 0 -1 -1 L 1400 1100 500 1100 3 0 0 0 -1 -1 L 1400 800 500 800 3 0 0 0 -1 -1 L 1400 500 500 500 3 0 0 0 -1 -1 L 1400 200 500 200 3 0 0 0 -1 -1 B 0 0 500 2500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 100 3200 5 10 0 0 0 0 1 device=CONNECTOR_8 T 100 2600 8 10 1 1 0 0 1 refdes=CONN? T 100 2800 5 10 0 0 0 0 1 class=IO T 100 3000 5 10 0 0 0 0 1 pins=8 geda-gaf-1.8.2/symbols/connector/connector9-2.sym0000664000175000017500000000432512204104272016534 00000000000000v 20041228 1 T 700 4100 8 10 1 1 0 6 1 refdes=CONN? T 300 4050 5 10 0 0 0 0 1 device=CONNECTOR_9 T 300 4250 5 10 0 0 0 0 1 footprint=SIP9N T 300 4450 5 10 0 0 0 0 1 author=Leon Kos T 300 4650 5 10 0 0 0 0 1 description=generic connector T 300 4850 5 10 0 0 0 0 1 numslots=0 P 0 3600 200 3600 1 0 0 { T 200 3650 5 8 0 1 0 6 1 pinnumber=1 T 200 3550 5 8 0 1 0 8 1 pinseq=1 T 350 3600 9 8 1 1 0 0 1 pinlabel=1 T 350 3600 5 8 0 1 0 2 1 pintype=pas } V 250 3600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3200 200 3200 1 0 0 { T 200 3250 5 8 0 1 0 6 1 pinnumber=2 T 200 3150 5 8 0 1 0 8 1 pinseq=2 T 350 3200 9 8 1 1 0 0 1 pinlabel=2 T 350 3200 5 8 0 1 0 2 1 pintype=pas } V 250 3200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2800 200 2800 1 0 0 { T 200 2850 5 8 0 1 0 6 1 pinnumber=3 T 200 2750 5 8 0 1 0 8 1 pinseq=3 T 350 2800 9 8 1 1 0 0 1 pinlabel=3 T 350 2800 5 8 0 1 0 2 1 pintype=pas } V 250 2800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2400 200 2400 1 0 0 { T 200 2450 5 8 0 1 0 6 1 pinnumber=4 T 200 2350 5 8 0 1 0 8 1 pinseq=4 T 350 2400 9 8 1 1 0 0 1 pinlabel=4 T 350 2400 5 8 0 1 0 2 1 pintype=pas } V 250 2400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2000 200 2000 1 0 0 { T 200 2050 5 8 0 1 0 6 1 pinnumber=5 T 200 1950 5 8 0 1 0 8 1 pinseq=5 T 350 2000 9 8 1 1 0 0 1 pinlabel=5 T 350 2000 5 8 0 1 0 2 1 pintype=pas } V 250 2000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1600 200 1600 1 0 0 { T 200 1650 5 8 0 1 0 6 1 pinnumber=6 T 200 1550 5 8 0 1 0 8 1 pinseq=6 T 350 1600 9 8 1 1 0 0 1 pinlabel=6 T 350 1600 5 8 0 1 0 2 1 pintype=pas } V 250 1600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1200 200 1200 1 0 0 { T 200 1250 5 8 0 1 0 6 1 pinnumber=7 T 200 1150 5 8 0 1 0 8 1 pinseq=7 T 350 1200 9 8 1 1 0 0 1 pinlabel=7 T 350 1200 5 8 0 1 0 2 1 pintype=pas } V 250 1200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 800 200 800 1 0 0 { T 200 850 5 8 0 1 0 6 1 pinnumber=8 T 200 750 5 8 0 1 0 8 1 pinseq=8 T 350 800 9 8 1 1 0 0 1 pinlabel=8 T 350 800 5 8 0 1 0 2 1 pintype=pas } V 250 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 400 200 400 1 0 0 { T 200 450 5 8 0 1 0 6 1 pinnumber=9 T 200 350 5 8 0 1 0 8 1 pinseq=9 T 350 400 9 8 1 1 0 0 1 pinlabel=9 T 350 400 5 8 0 1 0 2 1 pintype=pas } V 250 400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 300 0 400 4000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/connector/header8-2.sym0000664000175000017500000000331112204104272015763 00000000000000v 20031231 1 P 0 1400 300 1400 1 0 0 { T 100 1450 5 8 1 1 0 0 1 pinnumber=1 T 100 1450 9 8 0 1 0 0 1 pinlabel=1 T 100 1450 5 8 0 0 0 0 1 pinseq=1 T 100 1450 5 8 0 0 0 0 1 pintype=pas } P 1100 1400 1400 1400 1 0 1 { T 1200 1450 5 8 1 1 0 0 1 pinnumber=2 T 1200 1450 9 8 0 1 0 0 1 pinlabel=2 T 1200 1450 5 8 0 0 0 0 1 pinseq=2 T 1200 1450 5 8 0 0 0 0 1 pintype=pas } P 0 1000 300 1000 1 0 0 { T 100 1050 5 8 1 1 0 0 1 pinnumber=3 T 100 1050 9 8 0 1 0 0 1 pinlabel=3 T 100 1050 5 8 0 0 0 0 1 pinseq=3 T 100 1050 5 8 0 0 0 0 1 pintype=pas } P 1100 1000 1400 1000 1 0 1 { T 1200 1050 5 8 1 1 0 0 1 pinnumber=4 T 1200 1050 9 8 0 1 0 0 1 pinlabel=4 T 1200 1050 5 8 0 0 0 0 1 pinseq=4 T 1200 1050 5 8 0 0 0 0 1 pintype=pas } P 0 600 300 600 1 0 0 { T 100 650 5 8 1 1 0 0 1 pinnumber=5 T 100 650 9 8 0 1 0 0 1 pinlabel=5 T 100 650 5 8 0 0 0 0 1 pinseq=5 T 100 650 5 8 0 0 0 0 1 pintype=pas } P 1100 600 1400 600 1 0 1 { T 1250 650 5 8 1 1 0 0 1 pinnumber=6 T 1250 650 9 8 0 1 0 0 1 pinlabel=6 T 1250 650 5 8 0 0 0 0 1 pinseq=6 T 1250 650 5 8 0 0 0 0 1 pintype=pas } P 0 200 300 200 1 0 0 { T 150 250 5 8 1 1 0 0 1 pinnumber=7 T 150 250 9 8 0 1 0 0 1 pinlabel=7 T 150 250 5 8 0 0 0 0 1 pinseq=7 T 150 250 5 8 0 0 0 0 1 pintype=pas } P 1100 200 1400 200 1 0 1 { T 1250 250 5 8 1 1 0 0 1 pinnumber=8 T 1250 250 9 8 0 1 0 0 1 pinlabel=8 T 1250 250 5 8 0 0 0 0 1 pinseq=8 T 1250 250 5 8 0 0 0 0 1 pintype=pas } L 300 800 1100 800 3 0 0 0 -1 -1 L 300 400 1100 400 3 0 0 0 -1 -1 L 300 1200 1100 1200 3 0 0 0 -1 -1 L 700 1600 700 0 3 0 0 0 -1 -1 B 300 0 800 1600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 0 1600 5 10 0 1 0 0 1 device=HEADER8 T 0 1600 5 10 0 1 0 0 1 numslots=0 T 0 1600 5 10 0 1 0 0 1 description=Header 8 pins T 600 1700 8 10 1 1 0 0 1 refdes=J? geda-gaf-1.8.2/symbols/connector/DB31-1.sym0000664000175000017500000002237512204104272015106 00000000000000v 20031231 1 T 1300 10250 8 10 0 0 0 0 1 device=DB31 L 1000 100 1000 9900 3 0 0 0 -1 -1 V 700 2300 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 650 2300 100 2300 1 0 1 { T 100 2350 5 8 1 1 0 0 1 pinnumber=25 T 100 2350 5 8 0 0 0 0 1 pinseq=25 T 100 2350 5 8 0 1 0 0 1 pinlabel=25 T 100 2350 5 8 0 1 0 0 1 pintype=pas } V 400 2600 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 350 2600 100 2600 1 0 1 { T 100 2650 5 8 1 1 0 0 1 pinnumber=24 T 100 2650 5 8 0 0 0 0 1 pinseq=24 T 100 2650 5 8 0 1 0 0 1 pinlabel=24 T 100 2650 5 8 0 1 0 0 1 pintype=pas } V 700 2900 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 650 2900 100 2900 1 0 1 { T 100 2950 5 8 1 1 0 0 1 pinnumber=23 T 100 2950 5 8 0 0 0 0 1 pinseq=23 T 100 2950 5 8 0 1 0 0 1 pinlabel=23 T 100 2950 5 8 0 1 0 0 1 pintype=pas } V 400 3200 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 350 3200 100 3200 1 0 1 { T 100 3250 5 8 1 1 0 0 1 pinnumber=22 T 100 3250 5 8 0 0 0 0 1 pinseq=22 T 100 3250 5 8 0 1 0 0 1 pinlabel=22 T 100 3250 5 8 0 1 0 0 1 pintype=pas } V 700 3500 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 650 3500 100 3500 1 0 1 { T 100 3550 5 8 1 1 0 0 1 pinnumber=21 T 100 3550 5 8 0 0 0 0 1 pinseq=21 T 100 3550 5 8 0 1 0 0 1 pinlabel=21 T 100 3550 5 8 0 1 0 0 1 pintype=pas } V 400 3800 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 350 3800 100 3800 1 0 1 { T 100 3850 5 8 1 1 0 0 1 pinnumber=20 T 100 3850 5 8 0 0 0 0 1 pinseq=20 T 100 3850 5 8 0 1 0 0 1 pinlabel=20 T 100 3850 5 8 0 1 0 0 1 pintype=pas } V 700 4100 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 650 4100 100 4100 1 0 1 { T 100 4150 5 8 1 1 0 0 1 pinnumber=19 T 100 4150 5 8 0 0 0 0 1 pinseq=19 T 100 4150 5 8 0 1 0 0 1 pinlabel=19 T 100 4150 5 8 0 1 0 0 1 pintype=pas } V 400 4400 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 350 4400 100 4400 1 0 1 { T 100 4450 5 8 1 1 0 0 1 pinnumber=18 T 100 4450 5 8 0 0 0 0 1 pinseq=18 T 100 4450 5 8 0 1 0 0 1 pinlabel=18 T 100 4450 5 8 0 1 0 0 1 pintype=pas } V 700 4700 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 650 4700 100 4700 1 0 1 { T 100 4750 5 8 1 1 0 0 1 pinnumber=17 T 100 4750 5 8 0 0 0 0 1 pinseq=17 T 100 4750 5 8 0 1 0 0 1 pinlabel=17 T 100 4750 5 8 0 1 0 0 1 pintype=pas } V 400 5000 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 350 5000 100 5000 1 0 1 { T 100 5050 5 8 1 1 0 0 1 pinnumber=16 T 100 5050 5 8 0 0 0 0 1 pinseq=16 T 100 5050 5 8 0 1 0 0 1 pinlabel=16 T 100 5050 5 8 0 1 0 0 1 pintype=pas } V 700 5300 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 650 5300 100 5300 1 0 1 { T 100 5350 5 8 1 1 0 0 1 pinnumber=15 T 100 5350 5 8 0 0 0 0 1 pinseq=15 T 100 5350 5 8 0 1 0 0 1 pinlabel=15 T 100 5350 5 8 0 1 0 0 1 pintype=pas } V 400 5600 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 700 5900 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 650 5900 100 5900 1 0 1 { T 100 5950 5 8 1 1 0 0 1 pinnumber=13 T 100 5950 5 8 0 0 0 0 1 pinseq=13 T 100 5950 5 8 0 1 0 0 1 pinlabel=13 T 100 5950 5 8 0 1 0 0 1 pintype=pas } V 400 6200 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 700 6500 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 650 6500 100 6500 1 0 1 { T 100 6550 5 8 1 1 0 0 1 pinnumber=11 T 100 6550 5 8 0 0 0 0 1 pinseq=11 T 100 6550 5 8 0 1 0 0 1 pinlabel=11 T 100 6550 5 8 0 1 0 0 1 pintype=pas } V 400 6800 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 350 6800 100 6800 1 0 1 { T 100 6850 5 8 1 1 0 0 1 pinnumber=10 T 100 6850 5 8 0 0 0 0 1 pinseq=10 T 100 6850 5 8 0 1 0 0 1 pinlabel=10 T 100 6850 5 8 0 1 0 0 1 pintype=pas } V 700 7100 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 650 7100 100 7100 1 0 1 { T 100 7150 5 8 1 1 0 0 1 pinnumber=9 T 100 7150 5 8 0 0 0 0 1 pinseq=9 T 100 7150 5 8 0 1 0 0 1 pinlabel=9 T 100 7150 5 8 0 1 0 0 1 pintype=pas } V 400 7400 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 700 7700 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 650 7700 100 7700 1 0 1 { T 100 7750 5 8 1 1 0 0 1 pinnumber=7 T 100 7750 5 8 0 0 0 0 1 pinseq=7 T 100 7750 5 8 0 1 0 0 1 pinlabel=7 T 100 7750 5 8 0 1 0 0 1 pintype=pas } V 400 8000 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 350 8000 100 8000 1 0 1 { T 100 8050 5 8 1 1 0 0 1 pinnumber=6 T 100 8050 5 8 0 0 0 0 1 pinseq=6 T 100 8050 5 8 0 1 0 0 1 pinlabel=6 T 100 8050 5 8 0 1 0 0 1 pintype=pas } V 700 8300 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 650 8300 100 8300 1 0 1 { T 100 8350 5 8 1 1 0 0 1 pinnumber=5 T 100 8350 5 8 0 0 0 0 1 pinseq=5 T 100 8350 5 8 0 1 0 0 1 pinlabel=5 T 100 8350 5 8 0 1 0 0 1 pintype=pas } V 400 8600 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 350 8600 100 8600 1 0 1 { T 100 8650 5 8 1 1 0 0 1 pinnumber=4 T 100 8650 5 8 0 0 0 0 1 pinseq=4 T 100 8650 5 8 0 1 0 0 1 pinlabel=4 T 100 8650 5 8 0 1 0 0 1 pintype=pas } V 700 8900 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 650 8900 100 8900 1 0 1 { T 100 8950 5 8 1 1 0 0 1 pinnumber=3 T 100 8950 5 8 0 0 0 0 1 pinseq=3 T 100 8950 5 8 0 1 0 0 1 pinlabel=3 T 100 8950 5 8 0 1 0 0 1 pintype=pas } V 400 9200 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 700 9500 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 650 9500 100 9500 1 0 1 { T 100 9550 5 8 1 1 0 0 1 pinnumber=1 T 100 9550 5 8 0 0 0 0 1 pinseq=1 T 100 9550 5 8 0 1 0 0 1 pinlabel=1 T 100 9550 5 8 0 1 0 0 1 pintype=pas } T 200 10000 8 10 1 1 0 0 1 refdes=CONN? L 1300 300 1300 9700 3 0 0 0 -1 -1 L 1000 9700 1600 9700 3 0 0 0 -1 -1 L 1000 9900 1600 9900 3 0 0 0 -1 -1 L 1600 9900 1600 9700 3 0 0 0 -1 -1 L 1000 100 1600 100 3 0 0 0 -1 -1 L 1600 300 1600 100 3 0 0 0 -1 -1 L 1600 300 1000 300 3 0 0 0 -1 -1 L 700 9500 1000 9500 3 0 0 0 -1 -1 L 400 9200 1000 9200 3 0 0 0 -1 -1 L 700 8900 1000 8900 3 0 0 0 -1 -1 L 400 8600 1000 8600 3 0 0 0 -1 -1 L 700 8300 1000 8300 3 0 0 0 -1 -1 L 1300 9500 1600 9500 3 0 0 0 -1 -1 L 1300 9200 1600 9200 3 0 0 0 -1 -1 L 1300 8900 1600 8900 3 0 0 0 -1 -1 L 1300 8600 1600 8600 3 0 0 0 -1 -1 L 1300 8300 1600 8300 3 0 0 0 -1 -1 L 400 8000 1000 8000 3 0 0 0 -1 -1 L 700 7700 1000 7700 3 0 0 0 -1 -1 L 400 7400 1000 7400 3 0 0 0 -1 -1 L 700 7100 1000 7100 3 0 0 0 -1 -1 L 400 6800 1000 6800 3 0 0 0 -1 -1 L 700 6500 1000 6500 3 0 0 0 -1 -1 L 400 6200 1000 6200 3 0 0 0 -1 -1 L 1300 8000 1600 8000 3 0 0 0 -1 -1 L 1300 7700 1600 7700 3 0 0 0 -1 -1 L 1300 7400 1600 7400 3 0 0 0 -1 -1 L 1300 7100 1600 7100 3 0 0 0 -1 -1 L 1300 6800 1600 6800 3 0 0 0 -1 -1 L 1300 6500 1600 6500 3 0 0 0 -1 -1 L 1300 6200 1600 6200 3 0 0 0 -1 -1 L 700 5900 1000 5900 3 0 0 0 -1 -1 L 400 5600 1000 5600 3 0 0 0 -1 -1 L 700 5300 1000 5300 3 0 0 0 -1 -1 L 400 5000 1000 5000 3 0 0 0 -1 -1 L 700 4700 1000 4700 3 0 0 0 -1 -1 L 400 4400 1000 4400 3 0 0 0 -1 -1 L 700 4100 1000 4100 3 0 0 0 -1 -1 L 1300 5900 1600 5900 3 0 0 0 -1 -1 L 1300 5600 1600 5600 3 0 0 0 -1 -1 L 1300 5300 1600 5300 3 0 0 0 -1 -1 L 1300 5000 1600 5000 3 0 0 0 -1 -1 L 1300 4700 1600 4700 3 0 0 0 -1 -1 L 1300 4100 1600 4100 3 0 0 0 -1 -1 L 400 3800 1000 3800 3 0 0 0 -1 -1 L 1300 4400 1600 4400 3 0 0 0 -1 -1 L 700 3500 1000 3500 3 0 0 0 -1 -1 L 1300 3500 1600 3500 3 0 0 0 -1 -1 L 1300 3800 1600 3800 3 0 0 0 -1 -1 L 400 3200 1000 3200 3 0 0 0 -1 -1 L 1300 3200 1600 3200 3 0 0 0 -1 -1 L 700 2900 1000 2900 3 0 0 0 -1 -1 L 400 2600 1000 2600 3 0 0 0 -1 -1 L 700 2300 1000 2300 3 0 0 0 -1 -1 L 1300 2900 1600 2900 3 0 0 0 -1 -1 L 1300 2600 1600 2600 3 0 0 0 -1 -1 L 1300 2300 1600 2300 3 0 0 0 -1 -1 P 350 2000 100 2000 1 0 1 { T 100 2050 5 8 1 1 0 0 1 pinnumber=26 T 100 2050 5 8 0 0 0 0 1 pinseq=26 T 100 2050 5 8 0 1 0 0 1 pinlabel=26 T 100 2050 5 8 0 1 0 0 1 pintype=pas } V 400 2000 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 400 2000 1000 2000 3 0 0 0 -1 -1 L 1300 2000 1600 2000 3 0 0 0 -1 -1 P 650 1700 100 1700 1 0 1 { T 100 1750 5 8 1 1 0 0 1 pinnumber=27 T 100 1750 5 8 0 0 0 0 1 pinseq=27 T 100 1750 5 8 0 1 0 0 1 pinlabel=27 T 100 1750 5 8 0 1 0 0 1 pintype=pas } V 700 1700 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 700 1700 1000 1700 3 0 0 0 -1 -1 L 1300 1700 1600 1700 3 0 0 0 -1 -1 P 350 1400 100 1400 1 0 1 { T 100 1450 5 8 1 1 0 0 1 pinnumber=28 T 100 1450 5 8 0 0 0 0 1 pinseq=28 T 100 1450 5 8 0 1 0 0 1 pinlabel=28 T 100 1450 5 8 0 1 0 0 1 pintype=pas } P 650 1100 100 1100 1 0 1 { T 100 1150 5 8 1 1 0 0 1 pinnumber=29 T 100 1150 5 8 0 0 0 0 1 pinseq=29 T 100 1150 5 8 0 1 0 0 1 pinlabel=29 T 100 1150 5 8 0 1 0 0 1 pintype=pas } V 400 1400 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 400 1400 1000 1400 3 0 0 0 -1 -1 V 700 1100 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 700 1100 1000 1100 3 0 0 0 -1 -1 L 1300 1400 1600 1400 3 0 0 0 -1 -1 L 1300 1100 1600 1100 3 0 0 0 -1 -1 P 650 500 100 500 1 0 1 { T 100 550 5 8 1 1 0 0 1 pinnumber=31 T 100 550 5 8 0 0 0 0 1 pinseq=31 T 100 550 5 8 0 1 0 0 1 pinlabel=31 T 100 550 5 8 0 1 0 0 1 pintype=pas } V 400 800 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 400 800 1000 800 3 0 0 0 -1 -1 V 700 500 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 700 500 1000 500 3 0 0 0 -1 -1 L 1300 500 1600 500 3 0 0 0 -1 -1 L 1300 800 1600 800 3 0 0 0 -1 -1 P 350 9200 100 9200 1 0 1 { T 100 9250 5 8 1 1 0 0 1 pinnumber=2 T 100 9250 5 8 0 0 0 0 1 pinseq=2 T 100 9250 5 8 0 1 0 0 1 pinlabel=2 T 100 9250 5 8 0 1 0 0 1 pintype=pas } P 350 7400 100 7400 1 0 1 { T 100 7450 5 8 1 1 0 0 1 pinnumber=8 T 100 7450 5 8 0 0 0 0 1 pinseq=8 T 100 7450 5 8 0 1 0 0 1 pinlabel=8 T 100 7450 5 8 0 1 0 0 1 pintype=pas } P 350 6200 100 6200 1 0 1 { T 100 6250 5 8 1 1 0 0 1 pinnumber=12 T 100 6250 5 8 0 0 0 0 1 pinseq=12 T 100 6250 5 8 0 1 0 0 1 pinlabel=12 T 100 6250 5 8 0 1 0 0 1 pintype=pas } P 350 5600 100 5600 1 0 1 { T 100 5650 5 8 1 1 0 0 1 pinnumber=14 T 100 5650 5 8 0 0 0 0 1 pinseq=14 T 100 5650 5 8 0 1 0 0 1 pinlabel=14 T 100 5650 5 8 0 1 0 0 1 pintype=pas } P 350 800 100 800 1 0 1 { T 100 850 5 8 1 1 0 0 1 pinnumber=30 T 100 850 5 8 0 0 0 0 1 pinseq=30 T 100 850 5 8 0 1 0 0 1 pinlabel=30 T 100 850 5 8 0 1 0 0 1 pintype=pas } geda-gaf-1.8.2/symbols/connector/connector5-2.sym0000664000175000017500000000256112204104272016530 00000000000000v 20041228 1 T 700 2500 8 10 1 1 0 6 1 refdes=CONN? T 300 2450 5 10 0 0 0 0 1 device=CONNECTOR_5 T 300 2650 5 10 0 0 0 0 1 footprint=SIP5N T 300 2850 5 10 0 0 0 0 1 author=Leon Kos T 300 3050 5 10 0 0 0 0 1 description=generic connector T 300 3250 5 10 0 0 0 0 1 numslots=0 P 0 2000 200 2000 1 0 0 { T 200 2050 5 8 0 1 0 6 1 pinnumber=1 T 200 1950 5 8 0 1 0 8 1 pinseq=1 T 350 2000 9 8 1 1 0 0 1 pinlabel=1 T 350 2000 5 8 0 1 0 2 1 pintype=pas } V 250 2000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1600 200 1600 1 0 0 { T 200 1650 5 8 0 1 0 6 1 pinnumber=2 T 200 1550 5 8 0 1 0 8 1 pinseq=2 T 350 1600 9 8 1 1 0 0 1 pinlabel=2 T 350 1600 5 8 0 1 0 2 1 pintype=pas } V 250 1600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1200 200 1200 1 0 0 { T 200 1250 5 8 0 1 0 6 1 pinnumber=3 T 200 1150 5 8 0 1 0 8 1 pinseq=3 T 350 1200 9 8 1 1 0 0 1 pinlabel=3 T 350 1200 5 8 0 1 0 2 1 pintype=pas } V 250 1200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 800 200 800 1 0 0 { T 200 850 5 8 0 1 0 6 1 pinnumber=4 T 200 750 5 8 0 1 0 8 1 pinseq=4 T 350 800 9 8 1 1 0 0 1 pinlabel=4 T 350 800 5 8 0 1 0 2 1 pintype=pas } V 250 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 400 200 400 1 0 0 { T 200 450 5 8 0 1 0 6 1 pinnumber=5 T 200 350 5 8 0 1 0 8 1 pinseq=5 T 350 400 9 8 1 1 0 0 1 pinlabel=5 T 350 400 5 8 0 1 0 2 1 pintype=pas } V 250 400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 300 0 400 2400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/connector/DB9-2.sym0000664000175000017500000000447512204104272015035 00000000000000v 20031231 1 T 1000 3200 8 10 0 0 0 0 1 device=DB9 T 200 3200 8 10 1 1 0 0 1 refdes=CONN? P 650 2700 1200 2700 1 0 1 { T 1000 2750 5 8 1 1 0 0 1 pinnumber=1 T 1000 2750 5 8 0 0 0 0 1 pinseq=1 T 1000 2750 5 8 0 1 0 0 1 pinlabel=1 T 1000 2750 5 8 0 1 0 0 1 pintype=pas } P 350 2400 1200 2400 1 0 1 { T 1000 2450 5 8 1 1 0 0 1 pinnumber=2 T 1000 2450 5 8 0 0 0 0 1 pinseq=2 T 1000 2450 5 8 0 1 0 0 1 pinlabel=2 T 1000 2450 5 8 0 1 0 0 1 pintype=pas } P 650 2100 1200 2100 1 0 1 { T 1000 2150 5 8 1 1 0 0 1 pinnumber=3 T 1000 2150 5 8 0 0 0 0 1 pinseq=3 T 1000 2150 5 8 0 1 0 0 1 pinlabel=3 T 1000 2150 5 8 0 1 0 0 1 pintype=pas } P 350 1800 1200 1800 1 0 1 { T 1000 1850 5 8 1 1 0 0 1 pinnumber=4 T 1000 1850 5 8 0 0 0 0 1 pinseq=4 T 1000 1850 5 8 0 1 0 0 1 pinlabel=4 T 1000 1850 5 8 0 1 0 0 1 pintype=pas } P 650 1500 1200 1500 1 0 1 { T 1000 1550 5 8 1 1 0 0 1 pinnumber=5 T 1000 1550 5 8 0 0 0 0 1 pinseq=5 T 1000 1550 5 8 0 1 0 0 1 pinlabel=5 T 1000 1550 5 8 0 1 0 0 1 pintype=pas } P 350 1200 1200 1200 1 0 1 { T 1000 1250 5 8 1 1 0 0 1 pinnumber=6 T 1000 1250 5 8 0 0 0 0 1 pinseq=6 T 1000 1250 5 8 0 1 0 0 1 pinlabel=6 T 1000 1250 5 8 0 1 0 0 1 pintype=pas } P 650 900 1200 900 1 0 1 { T 1000 950 5 8 1 1 0 0 1 pinnumber=7 T 1000 950 5 8 0 0 0 0 1 pinseq=7 T 1000 950 5 8 0 1 0 0 1 pinlabel=7 T 1000 950 5 8 0 1 0 0 1 pintype=pas } P 350 600 1200 600 1 0 1 { T 1000 650 5 8 1 1 0 0 1 pinnumber=8 T 1000 650 5 8 0 0 0 0 1 pinseq=8 T 1000 650 5 8 0 1 0 0 1 pinlabel=8 T 1000 650 5 8 0 1 0 0 1 pintype=pas } P 650 300 1200 300 1 0 1 { T 1000 350 5 8 1 1 0 0 1 pinnumber=9 T 1000 350 5 8 0 0 0 0 1 pinseq=9 T 1000 350 5 8 0 1 0 0 1 pinlabel=9 T 1000 350 5 8 0 1 0 0 1 pintype=pas } A 750 150 150 250 110 3 0 0 0 -1 -1 A 75 300 75 180 60 3 0 0 0 -1 -1 A 750 2890 150 0 110 3 0 0 0 -1 -1 A 75 2700 75 120 60 3 0 0 0 -1 -1 V 300 600 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 300 1200 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 300 1800 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 300 2400 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 600 300 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 600 900 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 600 1500 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 600 2100 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 600 2700 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 0 300 0 2700 3 0 0 0 -1 -1 L 38 234 702 8 3 0 0 0 -1 -1 L 700 3031 37 2765 3 0 0 0 -1 -1 L 900 137 900 2905 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/connector/DB25-1.sym0000664000175000017500000001361612204104272015107 00000000000000v 20031231 1 L 0 300 0 7500 3 0 0 0 -1 -1 T 1100 7650 5 10 0 0 0 0 1 device=DB25 A 750 150 150 250 110 3 0 0 0 -1 -1 A 75 300 75 180 60 3 0 0 0 -1 -1 A 750 7690 150 0 110 3 0 0 0 -1 -1 A 75 7500 75 120 60 3 0 0 0 -1 -1 L 900 140 900 7690 3 0 0 0 -1 -1 V 600 300 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 650 300 1200 300 1 0 1 { T 1000 350 5 8 1 1 0 0 1 pinnumber=13 T 1000 350 5 8 0 0 0 0 1 pinseq=1 T 1000 350 5 8 0 1 0 0 1 pinlabel=13 T 1000 350 5 8 0 1 0 0 1 pintype=pas } V 300 600 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 350 600 1200 600 1 0 1 { T 1000 650 5 8 1 1 0 0 1 pinnumber=25 T 1000 650 5 8 0 0 0 0 1 pinseq=2 T 1000 650 5 8 0 1 0 0 1 pinlabel=25 T 1000 650 5 8 0 1 0 0 1 pintype=pas } V 600 900 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 650 900 1200 900 1 0 1 { T 1000 950 5 8 1 1 0 0 1 pinnumber=12 T 1000 950 5 8 0 0 0 0 1 pinseq=3 T 1000 950 5 8 0 1 0 0 1 pinlabel=12 T 1000 950 5 8 0 1 0 0 1 pintype=pas } V 300 1200 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 350 1200 1200 1200 1 0 1 { T 1000 1250 5 8 1 1 0 0 1 pinnumber=24 T 1000 1250 5 8 0 0 0 0 1 pinseq=4 T 1000 1250 5 8 0 1 0 0 1 pinlabel=24 T 1000 1250 5 8 0 1 0 0 1 pintype=pas } V 600 1500 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 650 1500 1200 1500 1 0 1 { T 1000 1550 5 8 1 1 0 0 1 pinnumber=11 T 1000 1550 5 8 0 0 0 0 1 pinseq=5 T 1000 1550 5 8 0 1 0 0 1 pinlabel=11 T 1000 1550 5 8 0 1 0 0 1 pintype=pas } V 300 1800 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 350 1800 1200 1800 1 0 1 { T 1000 1850 5 8 1 1 0 0 1 pinnumber=23 T 1000 1850 5 8 0 0 0 0 1 pinseq=6 T 1000 1850 5 8 0 1 0 0 1 pinlabel=23 T 1000 1850 5 8 0 1 0 0 1 pintype=pas } V 600 2100 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 650 2100 1200 2100 1 0 1 { T 1000 2150 5 8 1 1 0 0 1 pinnumber=10 T 1000 2150 5 8 0 0 0 0 1 pinseq=7 T 1000 2150 5 8 0 1 0 0 1 pinlabel=10 T 1000 2150 5 8 0 1 0 0 1 pintype=pas } V 300 2400 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 350 2400 1200 2400 1 0 1 { T 1000 2450 5 8 1 1 0 0 1 pinnumber=22 T 1000 2450 5 8 0 0 0 0 1 pinseq=8 T 1000 2450 5 8 0 1 0 0 1 pinlabel=22 T 1000 2450 5 8 0 1 0 0 1 pintype=pas } V 600 2700 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 650 2700 1200 2700 1 0 1 { T 1000 2750 5 8 1 1 0 0 1 pinnumber=9 T 1000 2750 5 8 0 0 0 0 1 pinseq=9 T 1000 2750 5 8 0 1 0 0 1 pinlabel=9 T 1000 2750 5 8 0 1 0 0 1 pintype=pas } V 300 3000 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 350 3000 1200 3000 1 0 1 { T 1000 3050 5 8 1 1 0 0 1 pinnumber=21 T 1000 3050 5 8 0 0 0 0 1 pinseq=10 T 1000 3050 5 8 0 1 0 0 1 pinlabel=21 T 1000 3050 5 8 0 1 0 0 1 pintype=pas } V 600 3300 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 650 3300 1200 3300 1 0 1 { T 1000 3350 5 8 1 1 0 0 1 pinnumber=8 T 1000 3350 5 8 0 0 0 0 1 pinseq=11 T 1000 3350 5 8 0 1 0 0 1 pinlabel=8 T 1000 3350 5 8 0 1 0 0 1 pintype=pas } V 300 3600 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 350 3600 1200 3600 1 0 1 { T 1000 3650 5 8 1 1 0 0 1 pinnumber=20 T 1000 3650 5 8 0 0 0 0 1 pinseq=12 T 1000 3650 5 8 0 1 0 0 1 pinlabel=20 T 1000 3650 5 8 0 1 0 0 1 pintype=pas } V 600 3900 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 650 3900 1200 3900 1 0 1 { T 1000 3950 5 8 1 1 0 0 1 pinnumber=7 T 1000 3950 5 8 0 0 0 0 1 pinseq=13 T 1000 3950 5 8 0 1 0 0 1 pinlabel=7 T 1000 3950 5 8 0 1 0 0 1 pintype=pas } V 300 4200 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 350 4200 1200 4200 1 0 1 { T 1000 4250 5 8 1 1 0 0 1 pinnumber=19 T 1000 4250 5 8 0 0 0 0 1 pinseq=14 T 1000 4250 5 8 0 1 0 0 1 pinlabel=19 T 1000 4250 5 8 0 1 0 0 1 pintype=pas } V 600 4500 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 650 4500 1200 4500 1 0 1 { T 1000 4550 5 8 1 1 0 0 1 pinnumber=6 T 1000 4550 5 8 0 0 0 0 1 pinseq=15 T 1000 4550 5 8 0 1 0 0 1 pinlabel=6 T 1000 4550 5 8 0 1 0 0 1 pintype=pas } V 300 4800 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 350 4800 1200 4800 1 0 1 { T 1000 4850 5 8 1 1 0 0 1 pinnumber=18 T 1000 4850 5 8 0 0 0 0 1 pinseq=16 T 1000 4850 5 8 0 1 0 0 1 pinlabel=18 T 1000 4850 5 8 0 1 0 0 1 pintype=pas } V 600 5100 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 650 5100 1200 5100 1 0 1 { T 1000 5150 5 8 1 1 0 0 1 pinnumber=5 T 1000 5150 5 8 0 0 0 0 1 pinseq=17 T 1000 5150 5 8 0 1 0 0 1 pinlabel=5 T 1000 5150 5 8 0 1 0 0 1 pintype=pas } V 300 5400 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 350 5400 1200 5400 1 0 1 { T 1000 5450 5 8 1 1 0 0 1 pinnumber=17 T 1000 5450 5 8 0 0 0 0 1 pinseq=18 T 1000 5450 5 8 0 1 0 0 1 pinlabel=17 T 1000 5450 5 8 0 1 0 0 1 pintype=pas } V 600 5700 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 650 5700 1200 5700 1 0 1 { T 1000 5750 5 8 1 1 0 0 1 pinnumber=4 T 1000 5750 5 8 0 0 0 0 1 pinseq=19 T 1000 5750 5 8 0 1 0 0 1 pinlabel=4 T 1000 5750 5 8 0 1 0 0 1 pintype=pas } V 300 6000 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 350 6000 1200 6000 1 0 1 { T 1000 6050 5 8 1 1 0 0 1 pinnumber=16 T 1000 6050 5 8 0 0 0 0 1 pinseq=20 T 1000 6050 5 8 0 1 0 0 1 pinlabel=16 T 1000 6050 5 8 0 1 0 0 1 pintype=pas } V 600 6300 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 650 6300 1200 6300 1 0 1 { T 1000 6350 5 8 1 1 0 0 1 pinnumber=3 T 1000 6350 5 8 0 0 0 0 1 pinseq=21 T 1000 6350 5 8 0 1 0 0 1 pinlabel=3 T 1000 6350 5 8 0 1 0 0 1 pintype=pas } V 300 6600 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 350 6600 1200 6600 1 0 1 { T 1000 6650 5 8 1 1 0 0 1 pinnumber=15 T 1000 6650 5 8 0 0 0 0 1 pinseq=22 T 1000 6650 5 8 0 1 0 0 1 pinlabel=15 T 1000 6650 5 8 0 1 0 0 1 pintype=pas } V 600 6900 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 650 6900 1200 6900 1 0 1 { T 1000 6950 5 8 1 1 0 0 1 pinnumber=2 T 1000 6950 5 8 0 0 0 0 1 pinseq=23 T 1000 6950 5 8 0 1 0 0 1 pinlabel=2 T 1000 6950 5 8 0 1 0 0 1 pintype=pas } V 300 7200 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 350 7200 1200 7200 1 0 1 { T 1000 7250 5 8 1 1 0 0 1 pinnumber=14 T 1000 7250 5 8 0 0 0 0 1 pinseq=24 T 1000 7250 5 8 0 1 0 0 1 pinlabel=14 T 1000 7250 5 8 0 1 0 0 1 pintype=pas } V 600 7500 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 650 7500 1200 7500 1 0 1 { T 1000 7550 5 8 1 1 0 0 1 pinnumber=1 T 1000 7550 5 8 0 0 0 0 1 pinseq=25 T 1000 7550 5 8 0 1 0 0 1 pinlabel=1 T 1000 7550 5 8 0 1 0 0 1 pintype=pas } L 39 234 703 8 3 0 0 0 -1 -1 L 701 7832 38 7566 3 0 0 0 -1 -1 T 100 8000 8 10 1 1 0 0 1 refdes=CONN? geda-gaf-1.8.2/symbols/connector/connector16-2.sym0000664000175000017500000000733312204104272016614 00000000000000v 20041228 1 T 700 6900 8 10 1 1 0 6 1 refdes=CONN? T 300 6850 5 10 0 0 0 0 1 device=CONNECTOR_16 T 300 7050 5 10 0 0 0 0 1 footprint=SIP16N T 300 7250 5 10 0 0 0 0 1 author=Leon Kos T 300 7450 5 10 0 0 0 0 1 description=generic connector T 300 7650 5 10 0 0 0 0 1 numslots=0 P 0 6400 200 6400 1 0 0 { T 200 6450 5 8 0 1 0 6 1 pinnumber=1 T 200 6350 5 8 0 1 0 8 1 pinseq=1 T 350 6400 9 8 1 1 0 0 1 pinlabel=1 T 350 6400 5 8 0 1 0 2 1 pintype=pas } V 250 6400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 6000 200 6000 1 0 0 { T 200 6050 5 8 0 1 0 6 1 pinnumber=2 T 200 5950 5 8 0 1 0 8 1 pinseq=2 T 350 6000 9 8 1 1 0 0 1 pinlabel=2 T 350 6000 5 8 0 1 0 2 1 pintype=pas } V 250 6000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 5600 200 5600 1 0 0 { T 200 5650 5 8 0 1 0 6 1 pinnumber=3 T 200 5550 5 8 0 1 0 8 1 pinseq=3 T 350 5600 9 8 1 1 0 0 1 pinlabel=3 T 350 5600 5 8 0 1 0 2 1 pintype=pas } V 250 5600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 5200 200 5200 1 0 0 { T 200 5250 5 8 0 1 0 6 1 pinnumber=4 T 200 5150 5 8 0 1 0 8 1 pinseq=4 T 350 5200 9 8 1 1 0 0 1 pinlabel=4 T 350 5200 5 8 0 1 0 2 1 pintype=pas } V 250 5200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 4800 200 4800 1 0 0 { T 200 4850 5 8 0 1 0 6 1 pinnumber=5 T 200 4750 5 8 0 1 0 8 1 pinseq=5 T 350 4800 9 8 1 1 0 0 1 pinlabel=5 T 350 4800 5 8 0 1 0 2 1 pintype=pas } V 250 4800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 4400 200 4400 1 0 0 { T 200 4450 5 8 0 1 0 6 1 pinnumber=6 T 200 4350 5 8 0 1 0 8 1 pinseq=6 T 350 4400 9 8 1 1 0 0 1 pinlabel=6 T 350 4400 5 8 0 1 0 2 1 pintype=pas } V 250 4400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 4000 200 4000 1 0 0 { T 200 4050 5 8 0 1 0 6 1 pinnumber=7 T 200 3950 5 8 0 1 0 8 1 pinseq=7 T 350 4000 9 8 1 1 0 0 1 pinlabel=7 T 350 4000 5 8 0 1 0 2 1 pintype=pas } V 250 4000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3600 200 3600 1 0 0 { T 200 3650 5 8 0 1 0 6 1 pinnumber=8 T 200 3550 5 8 0 1 0 8 1 pinseq=8 T 350 3600 9 8 1 1 0 0 1 pinlabel=8 T 350 3600 5 8 0 1 0 2 1 pintype=pas } V 250 3600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3200 200 3200 1 0 0 { T 200 3250 5 8 0 1 0 6 1 pinnumber=9 T 200 3150 5 8 0 1 0 8 1 pinseq=9 T 350 3200 9 8 1 1 0 0 1 pinlabel=9 T 350 3200 5 8 0 1 0 2 1 pintype=pas } V 250 3200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2800 200 2800 1 0 0 { T 200 2850 5 8 0 1 0 6 1 pinnumber=10 T 200 2750 5 8 0 1 0 8 1 pinseq=10 T 350 2800 9 8 1 1 0 0 1 pinlabel=10 T 350 2800 5 8 0 1 0 2 1 pintype=pas } V 250 2800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2400 200 2400 1 0 0 { T 200 2450 5 8 0 1 0 6 1 pinnumber=11 T 200 2350 5 8 0 1 0 8 1 pinseq=11 T 350 2400 9 8 1 1 0 0 1 pinlabel=11 T 350 2400 5 8 0 1 0 2 1 pintype=pas } V 250 2400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2000 200 2000 1 0 0 { T 200 2050 5 8 0 1 0 6 1 pinnumber=12 T 200 1950 5 8 0 1 0 8 1 pinseq=12 T 350 2000 9 8 1 1 0 0 1 pinlabel=12 T 350 2000 5 8 0 1 0 2 1 pintype=pas } V 250 2000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1600 200 1600 1 0 0 { T 200 1650 5 8 0 1 0 6 1 pinnumber=13 T 200 1550 5 8 0 1 0 8 1 pinseq=13 T 350 1600 9 8 1 1 0 0 1 pinlabel=13 T 350 1600 5 8 0 1 0 2 1 pintype=pas } V 250 1600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1200 200 1200 1 0 0 { T 200 1250 5 8 0 1 0 6 1 pinnumber=14 T 200 1150 5 8 0 1 0 8 1 pinseq=14 T 350 1200 9 8 1 1 0 0 1 pinlabel=14 T 350 1200 5 8 0 1 0 2 1 pintype=pas } V 250 1200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 800 200 800 1 0 0 { T 200 850 5 8 0 1 0 6 1 pinnumber=15 T 200 750 5 8 0 1 0 8 1 pinseq=15 T 350 800 9 8 1 1 0 0 1 pinlabel=15 T 350 800 5 8 0 1 0 2 1 pintype=pas } V 250 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 400 200 400 1 0 0 { T 200 450 5 8 0 1 0 6 1 pinnumber=16 T 200 350 5 8 0 1 0 8 1 pinseq=16 T 350 400 9 8 1 1 0 0 1 pinlabel=16 T 350 400 5 8 0 1 0 2 1 pintype=pas } V 250 400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 300 0 400 6800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/connector/MCX-1.sym0000664000175000017500000000124412204104272015074 00000000000000v 20031231 1 V 150 450 150 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 T 0 1350 5 10 0 0 0 0 1 device=MCX V 150 450 50 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 100 300 100 0 1 0 1 { T 150 100 5 8 1 1 0 0 1 pinnumber=2 T 150 100 5 8 0 0 0 0 1 pinseq=2 T 150 100 5 8 0 1 0 0 1 pinlabel=2 T 150 100 5 8 0 1 0 0 1 pintype=pas } L 200 500 185 485 3 0 0 0 -1 -1 P 200 500 500 500 1 0 1 { T 350 550 5 8 1 1 0 0 1 pinnumber=1 T 350 550 5 8 0 0 0 0 1 pinseq=1 T 350 550 5 8 0 1 0 0 1 pinlabel=1 T 350 550 5 8 0 1 0 0 1 pintype=pas } L 100 300 104 307 3 0 0 0 -1 -1 T 0 800 8 10 1 1 0 0 1 refdes=J? T 0 1000 8 10 0 0 0 0 1 class=IO T 0 1200 8 10 0 0 0 0 1 pins=2 T 0 1500 8 10 0 1 0 0 1 alt_foot=SMB_JACK geda-gaf-1.8.2/symbols/connector/connector10-2.sym0000664000175000017500000000466312204104272016611 00000000000000v 20041228 1 T 700 4500 8 10 1 1 0 6 1 refdes=CONN? T 300 4450 5 10 0 0 0 0 1 device=CONNECTOR_10 T 300 4650 5 10 0 0 0 0 1 footprint=SIP10N T 300 4850 5 10 0 0 0 0 1 author=Leon Kos T 300 5050 5 10 0 0 0 0 1 description=generic connector T 300 5250 5 10 0 0 0 0 1 numslots=0 P 0 4000 200 4000 1 0 0 { T 200 4050 5 8 0 1 0 6 1 pinnumber=1 T 200 3950 5 8 0 1 0 8 1 pinseq=1 T 350 4000 9 8 1 1 0 0 1 pinlabel=1 T 350 4000 5 8 0 1 0 2 1 pintype=pas } V 250 4000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3600 200 3600 1 0 0 { T 200 3650 5 8 0 1 0 6 1 pinnumber=2 T 200 3550 5 8 0 1 0 8 1 pinseq=2 T 350 3600 9 8 1 1 0 0 1 pinlabel=2 T 350 3600 5 8 0 1 0 2 1 pintype=pas } V 250 3600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3200 200 3200 1 0 0 { T 200 3250 5 8 0 1 0 6 1 pinnumber=3 T 200 3150 5 8 0 1 0 8 1 pinseq=3 T 350 3200 9 8 1 1 0 0 1 pinlabel=3 T 350 3200 5 8 0 1 0 2 1 pintype=pas } V 250 3200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2800 200 2800 1 0 0 { T 200 2850 5 8 0 1 0 6 1 pinnumber=4 T 200 2750 5 8 0 1 0 8 1 pinseq=4 T 350 2800 9 8 1 1 0 0 1 pinlabel=4 T 350 2800 5 8 0 1 0 2 1 pintype=pas } V 250 2800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2400 200 2400 1 0 0 { T 200 2450 5 8 0 1 0 6 1 pinnumber=5 T 200 2350 5 8 0 1 0 8 1 pinseq=5 T 350 2400 9 8 1 1 0 0 1 pinlabel=5 T 350 2400 5 8 0 1 0 2 1 pintype=pas } V 250 2400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2000 200 2000 1 0 0 { T 200 2050 5 8 0 1 0 6 1 pinnumber=6 T 200 1950 5 8 0 1 0 8 1 pinseq=6 T 350 2000 9 8 1 1 0 0 1 pinlabel=6 T 350 2000 5 8 0 1 0 2 1 pintype=pas } V 250 2000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1600 200 1600 1 0 0 { T 200 1650 5 8 0 1 0 6 1 pinnumber=7 T 200 1550 5 8 0 1 0 8 1 pinseq=7 T 350 1600 9 8 1 1 0 0 1 pinlabel=7 T 350 1600 5 8 0 1 0 2 1 pintype=pas } V 250 1600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1200 200 1200 1 0 0 { T 200 1250 5 8 0 1 0 6 1 pinnumber=8 T 200 1150 5 8 0 1 0 8 1 pinseq=8 T 350 1200 9 8 1 1 0 0 1 pinlabel=8 T 350 1200 5 8 0 1 0 2 1 pintype=pas } V 250 1200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 800 200 800 1 0 0 { T 200 850 5 8 0 1 0 6 1 pinnumber=9 T 200 750 5 8 0 1 0 8 1 pinseq=9 T 350 800 9 8 1 1 0 0 1 pinlabel=9 T 350 800 5 8 0 1 0 2 1 pintype=pas } V 250 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 400 200 400 1 0 0 { T 200 450 5 8 0 1 0 6 1 pinnumber=10 T 200 350 5 8 0 1 0 8 1 pinseq=10 T 350 400 9 8 1 1 0 0 1 pinlabel=10 T 350 400 5 8 0 1 0 2 1 pintype=pas } V 250 400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 300 0 400 4400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/connector/connector4-1.sym0000664000175000017500000000201712204104272016522 00000000000000v 20031231 1 P 1400 500 1700 500 1 0 1 { T 250 450 5 8 1 1 0 0 1 pinnumber=3 T 250 450 5 8 0 0 0 0 1 pinseq=3 T 250 450 5 8 0 1 0 0 1 pinlabel=3 T 250 450 5 8 0 1 0 0 1 pintype=pas } P 1400 800 1700 800 1 0 1 { T 250 750 5 8 1 1 0 0 1 pinnumber=2 T 250 750 5 8 0 0 0 0 1 pinseq=2 T 250 750 5 8 0 1 0 0 1 pinlabel=2 T 250 750 5 8 0 1 0 0 1 pintype=pas } P 1400 200 1700 200 1 0 1 { T 250 150 5 8 1 1 0 0 1 pinnumber=4 T 250 150 5 8 0 0 0 0 1 pinseq=4 T 250 150 5 8 0 1 0 0 1 pinlabel=4 T 250 150 5 8 0 1 0 0 1 pintype=pas } L 1400 800 500 800 3 0 0 0 -1 -1 L 1400 500 500 500 3 0 0 0 -1 -1 L 1400 200 500 200 3 0 0 0 -1 -1 T 1800 900 5 10 0 0 0 0 1 device=CONNECTOR_4 P 1400 1100 1700 1100 1 0 1 { T 250 1050 5 8 1 1 0 0 1 pinnumber=1 T 250 1050 5 8 0 0 0 0 1 pinseq=1 T 250 1050 5 8 0 1 0 0 1 pinlabel=1 T 250 1050 5 8 0 1 0 0 1 pintype=pas } L 1400 1100 500 1100 3 0 0 0 -1 -1 B 0 0 500 1300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 0 1400 8 10 1 1 0 0 1 refdes=CONN? T 1800 1100 5 10 0 0 0 0 1 class=IO T 1800 1300 5 10 0 0 0 0 1 pins=4 geda-gaf-1.8.2/symbols/connector/DIN41612C48-2.sym0000664000175000017500000002150012204104272015732 00000000000000v 20031231 1 P 500 12300 200 12300 1 0 1 { T 200 12350 5 8 1 1 0 0 1 pinnumber=A2 T 600 12350 9 8 0 0 0 0 1 pinlabel=A2 T 600 12350 5 8 0 0 0 0 1 pinseq=1 T 600 12350 5 8 0 0 0 0 1 pintype=pas } P 500 11500 200 11500 1 0 1 { T 200 11550 5 8 1 1 0 0 1 pinnumber=A4 T 600 11550 9 8 0 0 0 0 1 pinlabel=A4 T 600 11550 5 8 0 0 0 0 1 pinseq=2 T 600 11550 5 8 0 0 0 0 1 pintype=pas } P 500 10700 200 10700 1 0 1 { T 200 10750 5 8 1 1 0 0 1 pinnumber=A6 T 600 10750 9 8 0 0 0 0 1 pinlabel=A6 T 600 10750 5 8 0 0 0 0 1 pinseq=3 T 600 11150 5 8 0 0 0 0 1 pintype=pas } P 500 9900 200 9900 1 0 1 { T 200 9950 5 8 1 1 0 0 1 pinnumber=A8 T 600 9950 9 8 0 0 0 0 1 pinlabel=A8 T 600 9950 5 8 0 0 0 0 1 pinseq=4 T 600 9950 5 8 0 0 0 0 1 pintype=pas } P 500 9100 200 9100 1 0 1 { T 100 9150 5 8 1 1 0 0 1 pinnumber=A10 T 600 9150 9 8 0 0 0 0 1 pinlabel=A10 T 600 9150 5 8 0 0 0 0 1 pinseq=5 T 600 9150 5 8 0 0 0 0 1 pintype=pas } P 200 8300 500 8300 1 0 0 { T 100 8350 5 8 1 1 0 0 1 pinnumber=A12 T 600 8350 9 8 0 0 0 0 1 pinlabel=A12 T 600 8350 5 8 0 0 0 0 1 pinseq=6 T 600 8350 5 8 0 0 0 0 1 pintype=pas } P 200 7500 500 7500 1 0 0 { T 100 7550 5 8 1 1 0 0 1 pinnumber=A14 T 600 7550 9 8 0 0 0 0 1 pinlabel=A14 T 600 7550 5 8 0 0 0 0 1 pinseq=7 T 600 7550 5 8 0 0 0 0 1 pintype=pas } P 200 6700 500 6700 1 0 0 { T 100 6750 5 8 1 1 0 0 1 pinnumber=A16 T 600 6750 9 8 0 0 0 0 1 pinlabel=A16 T 600 6750 5 8 0 0 0 0 1 pinseq=8 T 600 6750 5 8 0 0 0 0 1 pintype=pas } P 200 5900 500 5900 1 0 0 { T 100 5950 5 8 1 1 0 0 1 pinnumber=A18 T 600 5950 9 8 0 0 0 0 1 pinlabel=A18 T 600 5950 5 8 0 0 0 0 1 pinseq=9 T 600 5950 5 8 0 0 0 0 1 pintype=pas } P 200 5100 500 5100 1 0 0 { T 100 5150 5 8 1 1 0 0 1 pinnumber=A20 T 600 5150 9 8 0 0 0 0 1 pinlabel=A20 T 600 5150 5 8 0 0 0 0 1 pinseq=10 T 600 5150 5 8 0 0 0 0 1 pintype=pas } P 200 4300 500 4300 1 0 0 { T 100 4350 5 8 1 1 0 0 1 pinnumber=A22 T 600 4350 9 8 0 0 0 0 1 pinlabel=A22 T 600 4350 5 8 0 0 0 0 1 pinseq=11 T 600 4350 5 8 0 0 0 0 1 pintype=pas } P 200 3500 500 3500 1 0 0 { T 100 3550 5 8 1 1 0 0 1 pinnumber=A24 T 600 3550 9 8 0 0 0 0 1 pinlabel=A24 T 600 3550 5 8 0 0 0 0 1 pinseq=12 T 600 3550 5 8 0 0 0 0 1 pintype=pas } P 200 2700 500 2700 1 0 0 { T 100 2750 5 8 1 1 0 0 1 pinnumber=A26 T 600 2750 9 8 0 0 0 0 1 pinlabel=A26 T 600 2750 5 8 0 0 0 0 1 pinseq=13 T 600 2750 5 8 0 0 0 0 1 pintype=pas } P 200 1900 500 1900 1 0 0 { T 100 1950 5 8 1 1 0 0 1 pinnumber=A28 T 600 1950 9 8 0 0 0 0 1 pinlabel=A28 T 600 1950 5 8 0 0 0 0 1 pinseq=14 T 600 1950 5 8 0 0 0 0 1 pintype=pas } P 200 1100 500 1100 1 0 0 { T 100 1150 5 8 1 1 0 0 1 pinnumber=A30 T 600 1150 9 8 0 0 0 0 1 pinlabel=A30 T 600 1150 5 8 0 0 0 0 1 pinseq=15 T 600 1150 5 8 0 0 0 0 1 pintype=pas } P 200 300 500 300 1 0 0 { T 100 350 5 8 1 1 0 0 1 pinnumber=A32 T 600 350 9 8 0 0 0 0 1 pinlabel=A32 T 600 350 5 8 0 0 0 0 1 pinseq=16 T 600 350 5 8 0 0 0 0 1 pintype=pas } P 3500 12300 3800 12300 1 0 1 { T 3600 12350 5 8 1 1 0 0 1 pinnumber=B2 T 3200 12350 9 8 0 0 0 0 1 pinlabel=B2 T 3200 12350 5 8 0 0 0 0 1 pinseq=17 T 3200 12350 5 8 0 0 0 0 1 pintype=pas } P 3500 12100 3800 12100 1 0 1 { T 3600 12150 5 8 1 1 0 0 1 pinnumber=C2 T 3200 12150 9 8 0 0 0 0 1 pinlabel=C2 T 3200 12150 5 8 0 0 0 0 1 pinseq=18 T 3200 12150 5 8 0 0 0 0 1 pintype=pas } P 3500 11500 3800 11500 1 0 1 { T 3600 11550 5 8 1 1 0 0 1 pinnumber=B4 T 3200 11550 9 8 0 0 0 0 1 pinlabel=B4 T 3200 11550 5 8 0 0 0 0 1 pinseq=19 T 3200 11550 5 8 0 0 0 0 1 pintype=pas } P 3500 11300 3800 11300 1 0 1 { T 3600 11350 5 8 1 1 0 0 1 pinnumber=C4 T 3200 11350 9 8 0 0 0 0 1 pinlabel=C4 T 3200 11350 5 8 0 0 0 0 1 pinseq=20 T 3200 11350 5 8 0 0 0 0 1 pintype=pas } P 3500 10700 3800 10700 1 0 1 { T 3600 10750 5 8 1 1 0 0 1 pinnumber=B6 T 3200 10750 9 8 0 0 0 0 1 pinlabel=B6 T 3200 10750 5 8 0 0 0 0 1 pinseq=21 T 3200 10750 5 8 0 0 0 0 1 pintype=pas } P 3500 10500 3800 10500 1 0 1 { T 3600 10550 5 8 1 1 0 0 1 pinnumber=C6 T 3200 10550 9 8 0 0 0 0 1 pinlabel=C6 T 3200 10550 5 8 0 0 0 0 1 pinseq=22 T 3200 10550 5 8 0 0 0 0 1 pintype=pas } P 3800 9900 3500 9900 1 0 0 { T 3600 9950 5 8 1 1 0 0 1 pinnumber=B8 T 3200 9950 9 8 0 0 0 0 1 pinlabel=B8 T 3200 9950 5 8 0 0 0 0 1 pinseq=23 T 3200 9950 5 8 0 0 0 0 1 pintype=pas } P 3500 9700 3800 9700 1 0 1 { T 3600 9750 5 8 1 1 0 0 1 pinnumber=C8 T 3200 9750 9 8 0 0 0 0 1 pinlabel=C8 T 3200 9750 5 8 0 0 0 0 1 pinseq=24 T 3200 9750 5 8 0 0 0 0 1 pintype=pas } P 3800 9100 3500 9100 1 0 0 { T 3600 9150 5 8 1 1 0 0 1 pinnumber=B10 T 3100 9150 9 8 0 0 0 0 1 pinlabel=B10 T 3100 9150 5 8 0 0 0 0 1 pinseq=25 T 3100 9150 5 8 0 0 0 0 1 pintype=pas } P 3800 8900 3500 8900 1 0 0 { T 3600 8950 5 8 1 1 0 0 1 pinnumber=C10 T 3100 8950 9 8 0 0 0 0 1 pinlabel=C10 T 3100 8950 5 8 0 0 0 0 1 pinseq=26 T 3100 8950 5 8 0 0 0 0 1 pintype=pas } P 3500 8300 3800 8300 1 0 1 { T 3600 8350 5 8 1 1 0 0 1 pinnumber=B12 T 3100 8350 9 8 0 0 0 0 1 pinlabel=B12 T 3100 8350 5 8 0 0 0 0 1 pinseq=27 T 3100 8350 5 8 0 0 0 0 1 pintype=pas } P 3800 8100 3500 8100 1 0 0 { T 3600 8150 5 8 1 1 0 0 1 pinnumber=C12 T 3100 8150 9 8 0 0 0 0 1 pinlabel=C12 T 3100 8150 5 8 0 0 0 0 1 pinseq=28 T 3100 8150 5 8 0 0 0 0 1 pintype=pas } P 3500 7500 3800 7500 1 0 1 { T 3600 7550 5 8 1 1 0 0 1 pinnumber=B14 T 3100 7550 9 8 0 0 0 0 1 pinlabel=B14 T 3100 7550 5 8 0 0 0 0 1 pinseq=29 T 3100 7550 5 8 0 0 0 0 1 pintype=pas } P 3800 7300 3500 7300 1 0 0 { T 3600 7350 5 8 1 1 0 0 1 pinnumber=C14 T 3100 7350 9 8 0 0 0 0 1 pinlabel=C14 T 3100 7350 5 8 0 0 0 0 1 pinseq=30 T 3100 7350 5 8 0 0 0 0 1 pintype=pas } P 3500 6700 3800 6700 1 0 1 { T 3600 6750 5 8 1 1 0 0 1 pinnumber=B16 T 3100 6750 9 8 0 0 0 0 1 pinlabel=B16 T 3100 6750 5 8 0 0 0 0 1 pinseq=31 T 3100 6750 5 8 0 0 0 0 1 pintype=pas } P 3800 6500 3500 6500 1 0 0 { T 3600 6550 5 8 1 1 0 0 1 pinnumber=C16 T 3100 6550 9 8 0 0 0 0 1 pinlabel=C16 T 3100 6550 5 8 0 0 0 0 1 pinseq=32 T 3100 6550 5 8 0 0 0 0 1 pintype=pas } P 3500 5900 3800 5900 1 0 1 { T 3600 5950 5 8 1 1 0 0 1 pinnumber=B18 T 3100 5950 9 8 0 0 0 0 1 pinlabel=B18 T 3100 5950 5 8 0 0 0 0 1 pinseq=33 T 3100 5950 5 8 0 0 0 0 1 pintype=pas } P 3800 5700 3500 5700 1 0 0 { T 3600 5750 5 8 1 1 0 0 1 pinnumber=C18 T 3100 5750 9 8 0 0 0 0 1 pinlabel=C18 T 3100 5750 5 8 0 0 0 0 1 pinseq=34 T 3100 5750 5 8 0 0 0 0 1 pintype=pas } P 3500 5100 3800 5100 1 0 1 { T 3600 5150 5 8 1 1 0 0 1 pinnumber=B20 T 3100 5150 9 8 0 0 0 0 1 pinlabel=B20 T 3100 5150 5 8 0 0 0 0 1 pinseq=35 T 3100 5150 5 8 0 0 0 0 1 pintype=pas } P 3800 4900 3500 4900 1 0 0 { T 3600 4950 5 8 1 1 0 0 1 pinnumber=C20 T 3100 4950 9 8 0 0 0 0 1 pinlabel=C20 T 3100 4950 5 8 0 0 0 0 1 pinseq=36 T 3100 4950 5 8 0 0 0 0 1 pintype=pas } P 3500 4300 3800 4300 1 0 1 { T 3600 4350 5 8 1 1 0 0 1 pinnumber=B22 T 3100 4350 9 8 0 0 0 0 1 pinlabel=B22 T 3100 4350 5 8 0 0 0 0 1 pinseq=37 T 3100 4350 5 8 0 0 0 0 1 pintype=pas } P 3800 4100 3500 4100 1 0 0 { T 3600 4150 5 8 1 1 0 0 1 pinnumber=C22 T 3100 4150 9 8 0 0 0 0 1 pinlabel=C22 T 3100 4150 5 8 0 0 0 0 1 pinseq=38 T 3100 4150 5 8 0 0 0 0 1 pintype=pas } P 3500 3500 3800 3500 1 0 1 { T 3600 3550 5 8 1 1 0 0 1 pinnumber=B24 T 3100 3550 9 8 0 0 0 0 1 pinlabel=B24 T 3100 3550 5 8 0 0 0 0 1 pinseq=39 T 3100 3550 5 8 0 0 0 0 1 pintype=pas } P 3800 3300 3500 3300 1 0 0 { T 3600 3350 5 8 1 1 0 0 1 pinnumber=C24 T 3100 3350 9 8 0 0 0 0 1 pinlabel=C24 T 3100 3350 5 8 0 0 0 0 1 pinseq=40 T 3100 3350 5 8 0 0 0 0 1 pintype=pas } P 3500 2700 3800 2700 1 0 1 { T 3600 2750 5 8 1 1 0 0 1 pinnumber=B26 T 3100 2750 9 8 0 0 0 0 1 pinlabel=B26 T 3100 2750 5 8 0 0 0 0 1 pinseq=41 T 3100 2750 5 8 0 0 0 0 1 pintype=pas } P 3800 2500 3500 2500 1 0 0 { T 3600 2550 5 8 1 1 0 0 1 pinnumber=C26 T 3100 2550 9 8 0 0 0 0 1 pinlabel=C26 T 3100 2550 5 8 0 0 0 0 1 pinseq=42 T 3100 2550 5 8 0 0 0 0 1 pintype=pas } P 3800 1900 3500 1900 1 0 0 { T 3600 1950 5 8 1 1 0 0 1 pinnumber=B28 T 3100 1950 9 8 0 0 0 0 1 pinlabel=B28 T 3100 1950 5 8 0 0 0 0 1 pinseq=43 T 3100 1950 5 8 0 0 0 0 1 pintype=pas } P 3500 1700 3800 1700 1 0 1 { T 3600 1750 5 8 1 1 0 0 1 pinnumber=C28 T 3100 1750 9 8 0 0 0 0 1 pinlabel=C28 T 3100 1750 5 8 0 0 0 0 1 pinseq=44 T 3100 1750 5 8 0 0 0 0 1 pintype=pas } P 3800 1100 3500 1100 1 0 0 { T 3600 1150 5 8 1 1 0 0 1 pinnumber=B30 T 3100 1150 9 8 0 0 0 0 1 pinlabel=B30 T 3100 1150 5 8 0 0 0 0 1 pinseq=45 T 3100 1150 5 8 0 0 0 0 1 pintype=pas } P 3500 900 3800 900 1 0 1 { T 3600 950 5 8 1 1 0 0 1 pinnumber=C30 T 3100 950 9 8 0 0 0 0 1 pinlabel=C30 T 3100 950 5 8 0 0 0 0 1 pinseq=46 T 3100 950 5 8 0 0 0 0 1 pintype=pas } P 3800 300 3500 300 1 0 0 { T 3600 350 5 8 1 1 0 0 1 pinnumber=B32 T 3100 350 9 8 0 0 0 0 1 pinlabel=B32 T 3100 350 5 8 0 0 0 0 1 pinseq=47 T 3100 350 5 8 0 0 0 0 1 pintype=pas } P 3500 100 3800 100 1 0 1 { T 3600 150 5 8 1 1 0 0 1 pinnumber=C32 T 3100 150 9 8 0 0 0 0 1 pinlabel=C32 T 3100 150 5 8 0 0 0 0 1 pinseq=48 T 3100 150 5 8 0 0 0 0 1 pintype=pas } B 500 0 3000 12900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2700 13100 5 10 0 0 0 0 1 device=DIN41612C48 T 2700 13100 5 10 0 0 0 0 1 numslots=0 T 600 13000 9 10 1 1 0 0 1 description=DIN 41612C-48 T 3500 13000 8 10 1 1 0 6 1 refdes=CONN? geda-gaf-1.8.2/symbols/connector/header20-3.sym0000664000175000017500000000766212204104272016053 00000000000000v 20031231 1 B 300 50 600 3000 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 T 300 3250 5 10 0 0 0 0 1 device=HEADER20 T 300 3100 2 10 1 1 0 0 1 refdes=U? P 300 2900 0 2900 1 0 1 { T 236 2950 5 8 1 1 0 6 1 pinnumber=1 T 236 2950 5 8 0 0 0 6 1 pinseq=1 T 236 2950 5 8 0 1 0 6 1 pinlabel=1 T 236 2950 5 8 0 1 0 6 1 pintype=pas } P 900 2900 1200 2900 1 0 1 { T 1000 2950 5 8 1 1 0 0 1 pinnumber=2 T 1000 2950 5 8 0 0 0 0 1 pinseq=2 T 1000 2950 5 8 0 1 0 0 1 pinlabel=2 T 1000 2950 5 8 0 1 0 0 1 pintype=pas } P 300 2600 0 2600 1 0 1 { T 220 2650 5 8 1 1 0 6 1 pinnumber=3 T 220 2650 5 8 0 0 0 6 1 pinseq=3 T 220 2650 5 8 0 1 0 6 1 pinlabel=3 T 220 2650 5 8 0 1 0 6 1 pintype=pas } P 900 2600 1200 2600 1 0 1 { T 1000 2650 5 8 1 1 0 0 1 pinnumber=4 T 1000 2650 5 8 0 0 0 0 1 pinseq=4 T 1000 2650 5 8 0 1 0 0 1 pinlabel=4 T 1000 2650 5 8 0 1 0 0 1 pintype=pas } P 300 2300 0 2300 1 0 1 { T 220 2350 5 8 1 1 0 6 1 pinnumber=5 T 220 2350 5 8 0 0 0 6 1 pinseq=5 T 220 2350 5 8 0 1 0 6 1 pinlabel=5 T 220 2350 5 8 0 1 0 6 1 pintype=pas } P 900 2300 1200 2300 1 0 1 { T 1000 2350 5 8 1 1 0 0 1 pinnumber=6 T 1000 2350 5 8 0 0 0 0 1 pinseq=6 T 1000 2350 5 8 0 1 0 0 1 pinlabel=6 T 1000 2350 5 8 0 1 0 0 1 pintype=pas } P 300 2000 0 2000 1 0 1 { T 220 2050 5 8 1 1 0 6 1 pinnumber=7 T 220 2050 5 8 0 0 0 6 1 pinseq=7 T 220 2050 5 8 0 1 0 6 1 pinlabel=7 T 220 2050 5 8 0 1 0 6 1 pintype=pas } P 900 2000 1200 2000 1 0 1 { T 1000 2050 5 8 1 1 0 0 1 pinnumber=8 T 1000 2050 5 8 0 0 0 0 1 pinseq=8 T 1000 2050 5 8 0 1 0 0 1 pinlabel=8 T 1000 2050 5 8 0 1 0 0 1 pintype=pas } P 300 1700 0 1700 1 0 1 { T 196 1750 5 8 1 1 0 6 1 pinnumber=9 T 196 1750 5 8 0 0 0 6 1 pinseq=9 T 196 1750 5 8 0 1 0 6 1 pinlabel=9 T 196 1750 5 8 0 1 0 6 1 pintype=pas } P 900 1700 1200 1700 1 0 1 { T 1000 1750 5 8 1 1 0 0 1 pinnumber=10 T 1000 1750 5 8 0 0 0 0 1 pinseq=10 T 1000 1750 5 8 0 1 0 0 1 pinlabel=10 T 1000 1750 5 8 0 1 0 0 1 pintype=pas } P 300 1400 0 1400 1 0 1 { T 222 1450 5 8 1 1 0 6 1 pinnumber=11 T 222 1450 5 8 0 0 0 6 1 pinseq=11 T 222 1450 5 8 0 1 0 6 1 pinlabel=11 T 222 1450 5 8 0 1 0 6 1 pintype=pas } P 900 1400 1200 1400 1 0 1 { T 1000 1450 5 8 1 1 0 0 1 pinnumber=12 T 1000 1450 5 8 0 0 0 0 1 pinseq=12 T 1000 1450 5 8 0 1 0 0 1 pinlabel=12 T 1000 1450 5 8 0 1 0 0 1 pintype=pas } P 300 1100 0 1100 1 0 1 { T 206 1150 5 8 1 1 0 6 1 pinnumber=13 T 206 1150 5 8 0 0 0 6 1 pinseq=13 T 206 1150 5 8 0 1 0 6 1 pinlabel=13 T 206 1150 5 8 0 1 0 6 1 pintype=pas } P 900 1100 1200 1100 1 0 1 { T 1000 1150 5 8 1 1 0 0 1 pinnumber=14 T 1000 1150 5 8 0 0 0 0 1 pinseq=14 T 1000 1150 5 8 0 1 0 0 1 pinlabel=14 T 1000 1150 5 8 0 1 0 0 1 pintype=pas } P 300 800 0 800 1 0 1 { T 206 850 5 8 1 1 0 6 1 pinnumber=15 T 206 850 5 8 0 0 0 6 1 pinseq=15 T 206 850 5 8 0 1 0 6 1 pinlabel=15 T 206 850 5 8 0 1 0 6 1 pintype=pas } P 900 800 1200 800 1 0 1 { T 1000 850 5 8 1 1 0 0 1 pinnumber=16 T 1000 850 5 8 0 0 0 0 1 pinseq=16 T 1000 850 5 8 0 1 0 0 1 pinlabel=16 T 1000 850 5 8 0 1 0 0 1 pintype=pas } P 300 500 0 500 1 0 1 { T 206 550 5 8 1 1 0 6 1 pinnumber=17 T 206 550 5 8 0 0 0 6 1 pinseq=17 T 206 550 5 8 0 1 0 6 1 pinlabel=17 T 206 550 5 8 0 1 0 6 1 pintype=pas } P 900 500 1200 500 1 0 1 { T 1000 550 5 8 1 1 0 0 1 pinnumber=18 T 1000 550 5 8 0 0 0 0 1 pinseq=18 T 1000 550 5 8 0 1 0 0 1 pinlabel=18 T 1000 550 5 8 0 1 0 0 1 pintype=pas } P 300 200 0 200 1 0 1 { T 232 250 5 8 1 1 0 6 1 pinnumber=19 T 232 250 5 8 0 0 0 6 1 pinseq=19 T 232 250 5 8 0 1 0 6 1 pinlabel=19 T 232 250 5 8 0 1 0 6 1 pintype=pas } P 900 200 1200 200 1 0 1 { T 1000 250 5 8 1 1 0 0 1 pinnumber=20 T 1000 250 5 8 0 0 0 0 1 pinseq=20 T 1000 250 5 8 0 1 0 0 1 pinlabel=20 T 1000 250 5 8 0 1 0 0 1 pintype=pas } L 600 3050 600 50 3 0 0 0 -1 -1 L 300 2750 900 2750 3 0 0 0 -1 -1 L 300 2450 900 2450 3 0 0 0 -1 -1 L 300 2150 900 2150 3 0 0 0 -1 -1 L 300 1850 900 1850 3 0 0 0 -1 -1 L 300 1550 900 1550 3 0 0 0 -1 -1 L 300 1250 900 1250 3 0 0 0 -1 -1 L 300 950 900 950 3 0 0 0 -1 -1 L 300 650 900 650 3 0 0 0 -1 -1 L 300 350 900 350 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/connector/header3-1.sym0000664000175000017500000000145112204104272015760 00000000000000v 20031231 1 T 1000 650 8 10 0 0 0 0 1 device=HEADER3 T 400 1300 8 10 1 1 0 0 1 refdes=J? T 1000 850 8 10 0 0 0 0 1 class=IO T 1000 1050 8 10 0 0 0 0 1 pins=3 P 0 1000 300 1000 1 0 0 { T 100 1050 5 8 1 1 0 0 1 pinnumber=1 T 100 1050 5 8 0 0 0 0 1 pinseq=1 T 100 1050 5 8 0 1 0 0 1 pinlabel=1 T 100 1050 5 8 0 1 0 0 1 pintype=pas } P 0 600 300 600 1 0 0 { T 100 650 5 8 1 1 0 0 1 pinnumber=2 T 100 650 5 8 0 0 0 0 1 pinseq=2 T 100 650 5 8 0 1 0 0 1 pinlabel=2 T 100 650 5 8 0 1 0 0 1 pintype=pas } P 0 200 300 200 1 0 0 { T 100 250 5 8 1 1 0 0 1 pinnumber=3 T 100 250 5 8 0 0 0 0 1 pinseq=3 T 100 250 5 8 0 1 0 0 1 pinlabel=3 T 100 250 5 8 0 1 0 0 1 pintype=pas } B 300 0 400 1200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 300 0 700 0 3 0 0 0 -1 -1 L 300 800 700 800 3 0 0 0 -1 -1 L 300 400 700 400 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/connector/mains-entry-1.sym0000664000175000017500000000224712204104272016717 00000000000000v 20060906 1 P 700 1000 900 1000 1 0 1 { T 750 1050 5 8 0 1 0 0 1 pinnumber=1 T 750 900 5 8 0 0 0 0 1 pinseq=1 T 850 1050 9 9 1 1 0 0 1 pinlabel=P T 700 1000 5 10 0 1 0 0 1 pintype=pas } P 700 200 900 200 1 0 1 { T 750 250 5 8 0 1 0 0 1 pinnumber=2 T 750 100 5 8 0 0 0 0 1 pinseq=2 T 850 250 9 9 1 1 0 0 1 pinlabel=N T 700 200 5 10 0 1 0 0 1 pintype=pas } L 300 0 700 0 3 0 0 0 -1 -1 L 300 1200 700 1200 3 0 0 0 -1 -1 L 700 0 700 1200 3 0 0 0 -1 -1 T 150 1250 8 10 1 1 0 0 1 refdes=CONN? P 700 600 900 600 1 0 1 { T 750 650 5 8 0 1 0 0 1 pinnumber=3 T 750 500 5 8 0 0 0 0 1 pinseq=3 T 850 650 9 9 1 1 0 0 1 pinlabel=E T 700 600 5 10 0 1 0 0 1 pintype=pas } L 300 0 50 250 3 0 0 0 -1 -1 L 50 250 50 950 3 0 0 0 -1 -1 L 50 950 300 1200 3 0 0 0 -1 -1 L 150 600 350 600 3 50 0 0 -1 -1 L 400 1000 600 1000 3 50 0 0 -1 -1 L 400 200 600 200 3 50 0 0 -1 -1 L 600 1000 700 1000 3 0 0 2 10 10 L 600 200 700 200 3 0 0 2 10 10 L 350 600 700 600 3 0 0 2 10 10 T 150 2100 8 10 0 0 0 0 1 device=MAINS_ENTRY T 150 1900 8 10 0 0 0 0 1 description=equipment mains entry socket, IEC, female T 150 1700 8 10 0 0 0 0 1 numslots=0 T 150 1500 8 10 0 0 0 0 1 footprint=none T 150 2300 8 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/connector/DIN41617C15-1.sym0000664000175000017500000000671112204104272015737 00000000000000v 20031231 1 T 1400 3150 5 10 0 0 0 0 1 device=DIN41617C15 V 900 200 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 200 1500 200 1 0 1 { T 1300 250 5 8 1 1 0 0 1 pinnumber=15 T 1300 250 5 8 0 0 0 0 1 pinseq=15 T 1300 250 5 8 0 1 0 0 1 pinlabel=15 T 1300 250 5 8 0 1 0 0 1 pintype=pas } V 600 400 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 600 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 600 1500 600 1 0 1 { T 1300 650 5 8 1 1 0 0 1 pinnumber=13 T 1300 650 5 8 0 0 0 0 1 pinseq=13 T 1300 650 5 8 0 1 0 0 1 pinlabel=13 T 1300 650 5 8 0 1 0 0 1 pintype=pas } V 600 800 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 1000 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 1000 1500 1000 1 0 1 { T 1300 1050 5 8 1 1 0 0 1 pinnumber=11 T 1300 1050 5 8 0 0 0 0 1 pinseq=11 T 1300 1050 5 8 0 1 0 0 1 pinlabel=11 T 1300 1050 5 8 0 1 0 0 1 pintype=pas } V 600 1200 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 1400 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 1400 1500 1400 1 0 1 { T 1300 1450 5 8 1 1 0 0 1 pinnumber=9 T 1300 1450 5 8 0 0 0 0 1 pinseq=9 T 1300 1450 5 8 0 1 0 0 1 pinlabel=9 T 1300 1450 5 8 0 1 0 0 1 pintype=pas } V 600 1600 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 1800 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 1800 1500 1800 1 0 1 { T 1300 1850 5 8 1 1 0 0 1 pinnumber=7 T 1300 1850 5 8 0 0 0 0 1 pinseq=7 T 1300 1850 5 8 0 1 0 0 1 pinlabel=7 T 1300 1850 5 8 0 1 0 0 1 pintype=pas } V 600 2000 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 2200 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 2200 1500 2200 1 0 1 { T 1300 2250 5 8 1 1 0 0 1 pinnumber=5 T 1300 2250 5 8 0 0 0 0 1 pinseq=5 T 1300 2250 5 8 0 1 0 0 1 pinlabel=5 T 1300 2250 5 8 0 1 0 0 1 pintype=pas } V 600 2400 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 2600 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 2600 1500 2600 1 0 1 { T 1300 2650 5 8 1 1 0 0 1 pinnumber=3 T 1300 2650 5 8 0 0 0 0 1 pinseq=3 T 1300 2650 5 8 0 1 0 0 1 pinlabel=3 T 1300 2650 5 8 0 1 0 0 1 pintype=pas } V 600 2800 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 3000 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 3000 1500 3000 1 0 1 { T 1300 3050 5 8 1 1 0 0 1 pinnumber=1 T 1300 3050 5 8 0 0 0 0 1 pinseq=1 T 1300 3050 5 8 0 1 0 0 1 pinlabel=1 T 1300 3050 5 8 0 1 0 0 1 pintype=pas } L 1200 3200 300 3200 3 0 0 0 -1 -1 P 550 400 0 400 1 0 1 { T 50 450 5 8 1 1 0 0 1 pinnumber=14 T 50 450 5 8 0 0 0 0 1 pinseq=14 T 50 450 5 8 0 1 0 0 1 pinlabel=14 T 50 450 5 8 0 1 0 0 1 pintype=pas } P 550 800 0 800 1 0 1 { T 50 850 5 8 1 1 0 0 1 pinnumber=12 T 50 850 5 8 0 0 0 0 1 pinseq=12 T 50 850 5 8 0 1 0 0 1 pinlabel=12 T 50 850 5 8 0 1 0 0 1 pintype=pas } P 550 1200 0 1200 1 0 1 { T 50 1250 5 8 1 1 0 0 1 pinnumber=10 T 50 1250 5 8 0 0 0 0 1 pinseq=10 T 50 1250 5 8 0 1 0 0 1 pinlabel=10 T 50 1250 5 8 0 1 0 0 1 pintype=pas } P 550 1600 0 1600 1 0 1 { T 50 1650 5 8 1 1 0 0 1 pinnumber=8 T 50 1650 5 8 0 0 0 0 1 pinseq=8 T 50 1650 5 8 0 1 0 0 1 pinlabel=8 T 50 1650 5 8 0 1 0 0 1 pintype=pas } P 550 2000 0 2000 1 0 1 { T 50 2050 5 8 1 1 0 0 1 pinnumber=6 T 50 2050 5 8 0 0 0 0 1 pinseq=6 T 50 2050 5 8 0 1 0 0 1 pinlabel=6 T 50 2050 5 8 0 1 0 0 1 pintype=pas } P 550 2400 0 2400 1 0 1 { T 50 2450 5 8 1 1 0 0 1 pinnumber=4 T 50 2450 5 8 0 0 0 0 1 pinseq=4 T 50 2450 5 8 0 1 0 0 1 pinlabel=4 T 50 2450 5 8 0 1 0 0 1 pintype=pas } P 550 2800 0 2800 1 0 1 { T 50 2850 5 8 1 1 0 0 1 pinnumber=2 T 50 2850 5 8 0 0 0 0 1 pinseq=2 T 50 2850 5 8 0 1 0 0 1 pinlabel=2 T 50 2850 5 8 0 1 0 0 1 pintype=pas } L 300 0 1200 0 3 0 0 0 -1 -1 L 1200 0 1200 3190 3 0 0 0 -1 -1 L 300 3200 300 0 3 0 0 0 -1 -1 T 400 3500 8 10 1 1 0 0 1 refdes=CONN? geda-gaf-1.8.2/symbols/connector/connector40-2.sym0000664000175000017500000002210412204104272016602 00000000000000v 20041228 1 T 800 16600 8 10 1 1 0 6 1 refdes=CONN? T 400 16550 5 10 0 0 0 0 1 device=CONNECTOR_40 T 400 16750 5 10 0 0 0 0 1 footprint=SIP40N T 400 16950 5 10 0 0 0 0 1 author=Leon Kos T 400 17150 5 10 0 0 0 0 1 description=generic connector T 400 17350 5 10 0 0 0 0 1 numslots=0 P 100 16100 300 16100 1 0 0 { T 300 16150 5 8 0 1 0 6 1 pinnumber=1 T 300 16050 5 8 0 1 0 8 1 pinseq=1 T 450 16100 9 8 1 1 0 0 1 pinlabel=1 T 450 16100 5 8 0 1 0 2 1 pintype=pas } V 350 16100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 15700 300 15700 1 0 0 { T 300 15750 5 8 0 1 0 6 1 pinnumber=2 T 300 15650 5 8 0 1 0 8 1 pinseq=2 T 450 15700 9 8 1 1 0 0 1 pinlabel=2 T 450 15700 5 8 0 1 0 2 1 pintype=pas } V 350 15700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 15300 300 15300 1 0 0 { T 300 15350 5 8 0 1 0 6 1 pinnumber=3 T 300 15250 5 8 0 1 0 8 1 pinseq=3 T 450 15300 9 8 1 1 0 0 1 pinlabel=3 T 450 15300 5 8 0 1 0 2 1 pintype=pas } V 350 15300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 14900 300 14900 1 0 0 { T 300 14950 5 8 0 1 0 6 1 pinnumber=4 T 300 14850 5 8 0 1 0 8 1 pinseq=4 T 450 14900 9 8 1 1 0 0 1 pinlabel=4 T 450 14900 5 8 0 1 0 2 1 pintype=pas } V 350 14900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 14500 300 14500 1 0 0 { T 300 14550 5 8 0 1 0 6 1 pinnumber=5 T 300 14450 5 8 0 1 0 8 1 pinseq=5 T 450 14500 9 8 1 1 0 0 1 pinlabel=5 T 450 14500 5 8 0 1 0 2 1 pintype=pas } V 350 14500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 14100 300 14100 1 0 0 { T 300 14150 5 8 0 1 0 6 1 pinnumber=6 T 300 14050 5 8 0 1 0 8 1 pinseq=6 T 450 14100 9 8 1 1 0 0 1 pinlabel=6 T 450 14100 5 8 0 1 0 2 1 pintype=pas } V 350 14100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 13700 300 13700 1 0 0 { T 300 13750 5 8 0 1 0 6 1 pinnumber=7 T 300 13650 5 8 0 1 0 8 1 pinseq=7 T 450 13700 9 8 1 1 0 0 1 pinlabel=7 T 450 13700 5 8 0 1 0 2 1 pintype=pas } V 350 13700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 13300 300 13300 1 0 0 { T 300 13350 5 8 0 1 0 6 1 pinnumber=8 T 300 13250 5 8 0 1 0 8 1 pinseq=8 T 450 13300 9 8 1 1 0 0 1 pinlabel=8 T 450 13300 5 8 0 1 0 2 1 pintype=pas } V 350 13300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 12900 300 12900 1 0 0 { T 300 12950 5 8 0 1 0 6 1 pinnumber=9 T 300 12850 5 8 0 1 0 8 1 pinseq=9 T 450 12900 9 8 1 1 0 0 1 pinlabel=9 T 450 12900 5 8 0 1 0 2 1 pintype=pas } V 350 12900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 12500 300 12500 1 0 0 { T 300 12550 5 8 0 1 0 6 1 pinnumber=10 T 300 12450 5 8 0 1 0 8 1 pinseq=10 T 450 12500 9 8 1 1 0 0 1 pinlabel=10 T 450 12500 5 8 0 1 0 2 1 pintype=pas } V 350 12500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 12100 300 12100 1 0 0 { T 300 12150 5 8 0 1 0 6 1 pinnumber=11 T 300 12050 5 8 0 1 0 8 1 pinseq=11 T 450 12100 9 8 1 1 0 0 1 pinlabel=11 T 450 12100 5 8 0 1 0 2 1 pintype=pas } V 350 12100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 11700 300 11700 1 0 0 { T 300 11750 5 8 0 1 0 6 1 pinnumber=12 T 300 11650 5 8 0 1 0 8 1 pinseq=12 T 450 11700 9 8 1 1 0 0 1 pinlabel=12 T 450 11700 5 8 0 1 0 2 1 pintype=pas } V 350 11700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 11300 300 11300 1 0 0 { T 300 11350 5 8 0 1 0 6 1 pinnumber=13 T 300 11250 5 8 0 1 0 8 1 pinseq=13 T 450 11300 9 8 1 1 0 0 1 pinlabel=13 T 450 11300 5 8 0 1 0 2 1 pintype=pas } V 350 11300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 10900 300 10900 1 0 0 { T 300 10950 5 8 0 1 0 6 1 pinnumber=14 T 300 10850 5 8 0 1 0 8 1 pinseq=14 T 450 10900 9 8 1 1 0 0 1 pinlabel=14 T 450 10900 5 8 0 1 0 2 1 pintype=pas } V 350 10900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 10500 300 10500 1 0 0 { T 300 10550 5 8 0 1 0 6 1 pinnumber=15 T 300 10450 5 8 0 1 0 8 1 pinseq=15 T 450 10500 9 8 1 1 0 0 1 pinlabel=15 T 450 10500 5 8 0 1 0 2 1 pintype=pas } V 350 10500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 10100 300 10100 1 0 0 { T 300 10150 5 8 0 1 0 6 1 pinnumber=16 T 300 10050 5 8 0 1 0 8 1 pinseq=16 T 450 10100 9 8 1 1 0 0 1 pinlabel=16 T 450 10100 5 8 0 1 0 2 1 pintype=pas } V 350 10100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 9700 300 9700 1 0 0 { T 300 9750 5 8 0 1 0 6 1 pinnumber=17 T 300 9650 5 8 0 1 0 8 1 pinseq=17 T 450 9700 9 8 1 1 0 0 1 pinlabel=17 T 450 9700 5 8 0 1 0 2 1 pintype=pas } V 350 9700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 9300 300 9300 1 0 0 { T 300 9350 5 8 0 1 0 6 1 pinnumber=18 T 300 9250 5 8 0 1 0 8 1 pinseq=18 T 450 9300 9 8 1 1 0 0 1 pinlabel=18 T 450 9300 5 8 0 1 0 2 1 pintype=pas } V 350 9300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8900 300 8900 1 0 0 { T 300 8950 5 8 0 1 0 6 1 pinnumber=19 T 300 8850 5 8 0 1 0 8 1 pinseq=19 T 450 8900 9 8 1 1 0 0 1 pinlabel=19 T 450 8900 5 8 0 1 0 2 1 pintype=pas } V 350 8900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8500 300 8500 1 0 0 { T 300 8550 5 8 0 1 0 6 1 pinnumber=20 T 300 8450 5 8 0 1 0 8 1 pinseq=20 T 450 8500 9 8 1 1 0 0 1 pinlabel=20 T 450 8500 5 8 0 1 0 2 1 pintype=pas } V 350 8500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8100 300 8100 1 0 0 { T 300 8150 5 8 0 1 0 6 1 pinnumber=21 T 300 8050 5 8 0 1 0 8 1 pinseq=21 T 450 8100 9 8 1 1 0 0 1 pinlabel=21 T 450 8100 5 8 0 1 0 2 1 pintype=pas } V 350 8100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 7700 300 7700 1 0 0 { T 300 7750 5 8 0 1 0 6 1 pinnumber=22 T 300 7650 5 8 0 1 0 8 1 pinseq=22 T 450 7700 9 8 1 1 0 0 1 pinlabel=22 T 450 7700 5 8 0 1 0 2 1 pintype=pas } V 350 7700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 7300 300 7300 1 0 0 { T 300 7350 5 8 0 1 0 6 1 pinnumber=23 T 300 7250 5 8 0 1 0 8 1 pinseq=23 T 450 7300 9 8 1 1 0 0 1 pinlabel=23 T 450 7300 5 8 0 1 0 2 1 pintype=pas } V 350 7300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6900 300 6900 1 0 0 { T 300 6950 5 8 0 1 0 6 1 pinnumber=24 T 300 6850 5 8 0 1 0 8 1 pinseq=24 T 450 6900 9 8 1 1 0 0 1 pinlabel=24 T 450 6900 5 8 0 1 0 2 1 pintype=pas } V 350 6900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6500 300 6500 1 0 0 { T 300 6550 5 8 0 1 0 6 1 pinnumber=25 T 300 6450 5 8 0 1 0 8 1 pinseq=25 T 450 6500 9 8 1 1 0 0 1 pinlabel=25 T 450 6500 5 8 0 1 0 2 1 pintype=pas } V 350 6500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6100 300 6100 1 0 0 { T 300 6150 5 8 0 1 0 6 1 pinnumber=26 T 300 6050 5 8 0 1 0 8 1 pinseq=26 T 450 6100 9 8 1 1 0 0 1 pinlabel=26 T 450 6100 5 8 0 1 0 2 1 pintype=pas } V 350 6100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 5700 300 5700 1 0 0 { T 300 5750 5 8 0 1 0 6 1 pinnumber=27 T 300 5650 5 8 0 1 0 8 1 pinseq=27 T 450 5700 9 8 1 1 0 0 1 pinlabel=27 T 450 5700 5 8 0 1 0 2 1 pintype=pas } V 350 5700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 5300 300 5300 1 0 0 { T 300 5350 5 8 0 1 0 6 1 pinnumber=28 T 300 5250 5 8 0 1 0 8 1 pinseq=28 T 450 5300 9 8 1 1 0 0 1 pinlabel=28 T 450 5300 5 8 0 1 0 2 1 pintype=pas } V 350 5300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4900 300 4900 1 0 0 { T 300 4950 5 8 0 1 0 6 1 pinnumber=29 T 300 4850 5 8 0 1 0 8 1 pinseq=29 T 450 4900 9 8 1 1 0 0 1 pinlabel=29 T 450 4900 5 8 0 1 0 2 1 pintype=pas } V 350 4900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4500 300 4500 1 0 0 { T 300 4550 5 8 0 1 0 6 1 pinnumber=30 T 300 4450 5 8 0 1 0 8 1 pinseq=30 T 450 4500 9 8 1 1 0 0 1 pinlabel=30 T 450 4500 5 8 0 1 0 2 1 pintype=pas } V 350 4500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4100 300 4100 1 0 0 { T 300 4150 5 8 0 1 0 6 1 pinnumber=31 T 300 4050 5 8 0 1 0 8 1 pinseq=31 T 450 4100 9 8 1 1 0 0 1 pinlabel=31 T 450 4100 5 8 0 1 0 2 1 pintype=pas } V 350 4100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 3700 300 3700 1 0 0 { T 300 3750 5 8 0 1 0 6 1 pinnumber=32 T 300 3650 5 8 0 1 0 8 1 pinseq=32 T 450 3700 9 8 1 1 0 0 1 pinlabel=32 T 450 3700 5 8 0 1 0 2 1 pintype=pas } V 350 3700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 3300 300 3300 1 0 0 { T 300 3350 5 8 0 1 0 6 1 pinnumber=33 T 300 3250 5 8 0 1 0 8 1 pinseq=33 T 450 3300 9 8 1 1 0 0 1 pinlabel=33 T 450 3300 5 8 0 1 0 2 1 pintype=pas } V 350 3300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2900 300 2900 1 0 0 { T 300 2950 5 8 0 1 0 6 1 pinnumber=34 T 300 2850 5 8 0 1 0 8 1 pinseq=34 T 450 2900 9 8 1 1 0 0 1 pinlabel=34 T 450 2900 5 8 0 1 0 2 1 pintype=pas } V 350 2900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2500 300 2500 1 0 0 { T 300 2550 5 8 0 1 0 6 1 pinnumber=35 T 300 2450 5 8 0 1 0 8 1 pinseq=35 T 450 2500 9 8 1 1 0 0 1 pinlabel=35 T 450 2500 5 8 0 1 0 2 1 pintype=pas } V 350 2500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2100 300 2100 1 0 0 { T 300 2150 5 8 0 1 0 6 1 pinnumber=36 T 300 2050 5 8 0 1 0 8 1 pinseq=36 T 450 2100 9 8 1 1 0 0 1 pinlabel=36 T 450 2100 5 8 0 1 0 2 1 pintype=pas } V 350 2100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1700 300 1700 1 0 0 { T 300 1750 5 8 0 1 0 6 1 pinnumber=37 T 300 1650 5 8 0 1 0 8 1 pinseq=37 T 450 1700 9 8 1 1 0 0 1 pinlabel=37 T 450 1700 5 8 0 1 0 2 1 pintype=pas } V 350 1700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1300 300 1300 1 0 0 { T 300 1350 5 8 0 1 0 6 1 pinnumber=38 T 300 1250 5 8 0 1 0 8 1 pinseq=38 T 450 1300 9 8 1 1 0 0 1 pinlabel=38 T 450 1300 5 8 0 1 0 2 1 pintype=pas } V 350 1300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 900 300 900 1 0 0 { T 300 950 5 8 0 1 0 6 1 pinnumber=39 T 300 850 5 8 0 1 0 8 1 pinseq=39 T 450 900 9 8 1 1 0 0 1 pinlabel=39 T 450 900 5 8 0 1 0 2 1 pintype=pas } V 350 900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 500 300 500 1 0 0 { T 300 550 5 8 0 1 0 6 1 pinnumber=40 T 300 450 5 8 0 1 0 8 1 pinseq=40 T 450 500 9 8 1 1 0 0 1 pinlabel=40 T 450 500 5 8 0 1 0 2 1 pintype=pas } V 350 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 400 100 400 16400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/connector/header32-2.sym0000664000175000017500000001765312204104272016056 00000000000000v 20031231 1 P 1000 9200 1300 9200 1 0 1 { T 1000 9200 5 10 1 1 0 0 1 pinnumber=2 T 1000 9200 5 10 0 1 0 0 1 pintype=pas T 1000 9200 5 10 0 1 0 0 1 pinlabel=2 T 1000 9200 5 10 0 1 0 0 1 pinseq=2 } V 800 9200 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 9500 500 9500 1 0 0 { T 1000 9500 5 10 1 1 0 0 1 pinnumber=1 T 1300 9500 5 10 0 1 0 0 1 pintype=pas T 1300 9500 5 10 0 1 0 0 1 pinlabel=1 T 1300 9500 5 10 0 1 0 0 1 pinseq=1 } L 500 9500 200 9400 3 0 0 0 -1 -1 V 200 9200 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 100 9600 8 10 1 1 0 0 1 refdes=J? T 400 9700 8 10 0 0 0 0 1 footprint=header32 T 400 9900 8 10 0 0 0 0 1 numslots=0 T 400 10100 8 10 0 0 0 0 1 device=header32 P 1000 8600 1300 8600 1 0 1 { T 1000 8600 5 10 1 1 0 0 1 pinnumber=4 T 1000 8600 5 10 0 1 0 0 1 pintype=pas T 1000 8600 5 10 0 1 0 0 1 pinlabel=4 T 1000 8600 5 10 0 1 0 0 1 pinseq=4 } V 800 8600 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 8900 500 8900 1 0 0 { T 1000 8900 5 10 1 1 0 0 1 pinnumber=3 T 1300 8900 5 10 0 1 0 0 1 pintype=pas T 1300 8900 5 10 0 1 0 0 1 pinlabel=3 T 1300 8900 5 10 0 1 0 0 1 pinseq=3 } L 500 8900 200 8800 3 0 0 0 -1 -1 V 200 8600 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 8000 1300 8000 1 0 1 { T 1000 8000 5 10 1 1 0 0 1 pinnumber=6 T 1000 8000 5 10 0 1 0 0 1 pintype=pas T 1000 8000 5 10 0 1 0 0 1 pinlabel=6 T 1000 8000 5 10 0 1 0 0 1 pinseq=6 } V 800 8000 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 8300 500 8300 1 0 0 { T 1000 8300 5 10 1 1 0 0 1 pinnumber=5 T 1300 8300 5 10 0 1 0 0 1 pintype=pas T 1300 8300 5 10 0 1 0 0 1 pinlabel=5 T 1300 8300 5 10 0 1 0 0 1 pinseq=5 } L 500 8300 200 8200 3 0 0 0 -1 -1 V 200 8000 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 7400 1300 7400 1 0 1 { T 1000 7400 5 10 1 1 0 0 1 pinnumber=8 T 1000 7400 5 10 0 1 0 0 1 pintype=pas T 1000 7400 5 10 0 1 0 0 1 pinlabel=8 T 1000 7400 5 10 0 1 0 0 1 pinseq=8 } V 800 7400 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 7700 500 7700 1 0 0 { T 1000 7700 5 10 1 1 0 0 1 pinnumber=7 T 1300 7700 5 10 0 1 0 0 1 pintype=pas T 1300 7700 5 10 0 1 0 0 1 pinlabel=7 T 1300 7700 5 10 0 1 0 0 1 pinseq=7 } L 500 7700 200 7600 3 0 0 0 -1 -1 V 200 7400 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 6800 1300 6800 1 0 1 { T 1000 6800 5 10 1 1 0 0 1 pinnumber=10 T 1000 6800 5 10 0 1 0 0 1 pintype=pas T 1000 6800 5 10 0 1 0 0 1 pinlabel=10 T 1000 6800 5 10 0 1 0 0 1 pinseq=10 } V 800 6800 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 7100 500 7100 1 0 0 { T 1000 7100 5 10 1 1 0 0 1 pinnumber=9 T 1300 7100 5 10 0 1 0 0 1 pintype=pas T 1300 7100 5 10 0 1 0 0 1 pinlabel=9 T 1300 7100 5 10 0 1 0 0 1 pinseq=9 } L 500 7100 200 7000 3 0 0 0 -1 -1 V 200 6800 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 6200 1300 6200 1 0 1 { T 1000 6200 5 10 1 1 0 0 1 pinnumber=12 T 1000 6200 5 10 0 1 0 0 1 pintype=pas T 1000 6200 5 10 0 1 0 0 1 pinlabel=12 T 1000 6200 5 10 0 1 0 0 1 pinseq=12 } V 800 6200 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 6500 500 6500 1 0 0 { T 1000 6500 5 10 1 1 0 0 1 pinnumber=11 T 1300 6500 5 10 0 1 0 0 1 pintype=pas T 1300 6500 5 10 0 1 0 0 1 pinlabel=11 T 1300 6500 5 10 0 1 0 0 1 pinseq=11 } L 500 6500 200 6400 3 0 0 0 -1 -1 V 200 6200 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 5600 1300 5600 1 0 1 { T 1000 5600 5 10 1 1 0 0 1 pinnumber=14 T 1000 5600 5 10 0 1 0 0 1 pintype=pas T 1000 5600 5 10 0 1 0 0 1 pinlabel=14 T 1000 5600 5 10 0 1 0 0 1 pinseq=14 } V 800 5600 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 5900 500 5900 1 0 0 { T 1000 5900 5 10 1 1 0 0 1 pinnumber=13 T 1300 5900 5 10 0 1 0 0 1 pintype=pas T 1300 5900 5 10 0 1 0 0 1 pinlabel=13 T 1300 5900 5 10 0 1 0 0 1 pinseq=13 } L 500 5900 200 5800 3 0 0 0 -1 -1 V 200 5600 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 5000 1300 5000 1 0 1 { T 1000 5000 5 10 1 1 0 0 1 pinnumber=16 T 1000 5000 5 10 0 1 0 0 1 pintype=pas T 1000 5000 5 10 0 1 0 0 1 pinlabel=16 T 1000 5000 5 10 0 1 0 0 1 pinseq=16 } V 800 5000 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 5300 500 5300 1 0 0 { T 1000 5300 5 10 1 1 0 0 1 pinnumber=15 T 1300 5300 5 10 0 1 0 0 1 pintype=pas T 1300 5300 5 10 0 1 0 0 1 pinlabel=15 T 1300 5300 5 10 0 1 0 0 1 pinseq=15 } L 500 5300 200 5200 3 0 0 0 -1 -1 V 200 5000 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 4400 1300 4400 1 0 1 { T 1000 4400 5 10 1 1 0 0 1 pinnumber=18 T 1000 4400 5 10 0 1 0 0 1 pintype=pas T 1000 4400 5 10 0 1 0 0 1 pinlabel=18 T 1000 4400 5 10 0 1 0 0 1 pinseq=18 } V 800 4400 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 200 4400 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 3800 1300 3800 1 0 1 { T 1000 3800 5 10 1 1 0 0 1 pinnumber=20 T 1000 3800 5 10 0 1 0 0 1 pintype=pas T 1000 3800 5 10 0 1 0 0 1 pinlabel=20 T 1000 3800 5 10 0 1 0 0 1 pinseq=20 } V 800 3800 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 4100 500 4100 1 0 0 { T 1000 4100 5 10 1 1 0 0 1 pinnumber=19 T 1300 4100 5 10 0 1 0 0 1 pintype=pas T 1300 4100 5 10 0 1 0 0 1 pinlabel=19 T 1300 4100 5 10 0 1 0 0 1 pinseq=19 } L 500 4100 200 4000 3 0 0 0 -1 -1 V 200 3800 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 3200 1300 3200 1 0 1 { T 1000 3200 5 10 1 1 0 0 1 pinnumber=22 T 1000 3200 5 10 0 1 0 0 1 pintype=pas T 1000 3200 5 10 0 1 0 0 1 pinlabel=22 T 1000 3200 5 10 0 1 0 0 1 pinseq=22 } V 800 3200 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 3500 500 3500 1 0 0 { T 1000 3500 5 10 1 1 0 0 1 pinnumber=21 T 1300 3500 5 10 0 1 0 0 1 pintype=pas T 1300 3500 5 10 0 1 0 0 1 pinlabel=21 T 1300 3500 5 10 0 1 0 0 1 pinseq=21 } L 500 3500 200 3400 3 0 0 0 -1 -1 V 200 3200 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 2600 1300 2600 1 0 1 { T 1000 2600 5 10 1 1 0 0 1 pinnumber=24 T 1000 2600 5 10 0 1 0 0 1 pintype=pas T 1000 2600 5 10 0 1 0 0 1 pinlabel=24 T 1000 2600 5 10 0 1 0 0 1 pinseq=24 } V 800 2600 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 2900 500 2900 1 0 0 { T 1000 2900 5 10 1 1 0 0 1 pinnumber=23 T 1300 2900 5 10 0 1 0 0 1 pintype=pas T 1300 2900 5 10 0 1 0 0 1 pinlabel=23 T 1300 2900 5 10 0 1 0 0 1 pinseq=23 } L 500 2900 200 2800 3 0 0 0 -1 -1 V 200 2600 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 2000 1300 2000 1 0 1 { T 1000 2000 5 10 1 1 0 0 1 pinnumber=26 T 1000 2000 5 10 0 1 0 0 1 pintype=pas T 1000 2000 5 10 0 1 0 0 1 pinlabel=26 T 1000 2000 5 10 0 1 0 0 1 pinseq=26 } V 800 2000 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 2300 500 2300 1 0 0 { T 1000 2300 5 10 1 1 0 0 1 pinnumber=25 T 1300 2300 5 10 0 1 0 0 1 pintype=pas T 1300 2300 5 10 0 1 0 0 1 pinlabel=25 T 1300 2300 5 10 0 1 0 0 1 pinseq=25 } L 500 2300 200 2200 3 0 0 0 -1 -1 V 200 2000 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 1400 1300 1400 1 0 1 { T 1000 1400 5 10 1 1 0 0 1 pinnumber=28 T 1000 1400 5 10 0 1 0 0 1 pintype=pas T 1000 1400 5 10 0 1 0 0 1 pinlabel=28 T 1000 1400 5 10 0 1 0 0 1 pinseq=28 } V 800 1400 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 1700 500 1700 1 0 0 { T 1000 1700 5 10 1 1 0 0 1 pinnumber=27 T 1300 1700 5 10 0 1 0 0 1 pintype=pas T 1300 1700 5 10 0 1 0 0 1 pinlabel=27 T 1300 1700 5 10 0 1 0 0 1 pinseq=27 } L 500 1700 200 1600 3 0 0 0 -1 -1 V 200 1400 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 800 1300 800 1 0 1 { T 1000 800 5 10 1 1 0 0 1 pinnumber=30 T 1000 800 5 10 0 1 0 0 1 pintype=pas T 1000 800 5 10 0 1 0 0 1 pinlabel=30 T 1000 800 5 10 0 1 0 0 1 pinseq=30 } V 800 800 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 1100 500 1100 1 0 0 { T 1000 1100 5 10 1 1 0 0 1 pinnumber=29 T 1300 1100 5 10 0 1 0 0 1 pintype=pas T 1300 1100 5 10 0 1 0 0 1 pinlabel=29 T 1300 1100 5 10 0 1 0 0 1 pinseq=29 } L 500 1100 200 1000 3 0 0 0 -1 -1 V 200 800 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 200 1300 200 1 0 1 { T 1000 200 5 10 1 1 0 0 1 pinnumber=32 T 1000 200 5 10 0 1 0 0 1 pintype=pas T 1000 200 5 10 0 1 0 0 1 pinlabel=32 T 1000 200 5 10 0 1 0 0 1 pinseq=32 } V 800 200 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 500 500 500 1 0 0 { T 1000 500 5 10 1 1 0 0 1 pinnumber=31 T 1300 500 5 10 0 1 0 0 1 pintype=pas T 1300 500 5 10 0 1 0 0 1 pinlabel=31 T 1300 500 5 10 0 1 0 0 1 pinseq=31 } L 500 500 200 400 3 0 0 0 -1 -1 V 200 200 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 4700 500 4700 1 0 0 { T 1000 4700 5 10 1 1 0 0 1 pinnumber=17 T 1300 4700 5 10 0 1 0 0 1 pintype=pas T 1300 4700 5 10 0 1 0 0 1 pinlabel=17 T 1300 4700 5 10 0 1 0 0 1 pinseq=17 } L 500 4700 200 4600 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/connector/connector15-1.sym0000664000175000017500000000640412204104272016610 00000000000000v 20031231 1 P 1400 4100 1700 4100 1 0 1 { T 250 4050 5 8 1 1 0 0 1 pinnumber=2 T 250 4050 5 8 0 0 0 0 1 pinseq=2 T 250 4050 5 8 0 1 0 0 1 pinlabel=2 T 250 4050 5 8 0 1 0 0 1 pintype=pas } P 1400 3500 1700 3500 1 0 1 { T 250 3450 5 8 1 1 0 0 1 pinnumber=4 T 250 3450 5 8 0 0 0 0 1 pinseq=4 T 250 3450 5 8 0 1 0 0 1 pinlabel=4 T 250 3450 5 8 0 1 0 0 1 pintype=pas } P 1400 2900 1700 2900 1 0 1 { T 250 2850 5 8 1 1 0 0 1 pinnumber=6 T 250 2850 5 8 0 0 0 0 1 pinseq=6 T 250 2850 5 8 0 1 0 0 1 pinlabel=6 T 250 2850 5 8 0 1 0 0 1 pintype=pas } P 1400 2300 1700 2300 1 0 1 { T 250 2250 5 8 1 1 0 0 1 pinnumber=8 T 250 2250 5 8 0 0 0 0 1 pinseq=8 T 250 2250 5 8 0 1 0 0 1 pinlabel=8 T 250 2250 5 8 0 1 0 0 1 pintype=pas } P 1400 4400 1700 4400 1 0 1 { T 250 4350 5 8 1 1 0 0 1 pinnumber=1 T 250 4350 5 8 0 0 0 0 1 pinseq=1 T 250 4350 5 8 0 1 0 0 1 pinlabel=1 T 250 4350 5 8 0 1 0 0 1 pintype=pas } P 1400 3800 1700 3800 1 0 1 { T 250 3750 5 8 1 1 0 0 1 pinnumber=3 T 250 3750 5 8 0 0 0 0 1 pinseq=3 T 250 3750 5 8 0 1 0 0 1 pinlabel=3 T 250 3750 5 8 0 1 0 0 1 pintype=pas } P 1400 3200 1700 3200 1 0 1 { T 250 3150 5 8 1 1 0 0 1 pinnumber=5 T 250 3150 5 8 0 0 0 0 1 pinseq=5 T 250 3150 5 8 0 1 0 0 1 pinlabel=5 T 250 3150 5 8 0 1 0 0 1 pintype=pas } P 1400 2600 1700 2600 1 0 1 { T 250 2550 5 8 1 1 0 0 1 pinnumber=7 T 250 2550 5 8 0 0 0 0 1 pinseq=7 T 250 2550 5 8 0 1 0 0 1 pinlabel=7 T 250 2550 5 8 0 1 0 0 1 pintype=pas } P 1400 1700 1700 1700 1 0 1 { T 250 1650 5 8 1 1 0 0 1 pinnumber=10 T 250 1650 5 8 0 0 0 0 1 pinseq=10 T 250 1650 5 8 0 1 0 0 1 pinlabel=10 T 250 1650 5 8 0 1 0 0 1 pintype=pas } P 1400 1100 1700 1100 1 0 1 { T 250 1050 5 8 1 1 0 0 1 pinnumber=12 T 250 1050 5 8 0 0 0 0 1 pinseq=12 T 250 1050 5 8 0 1 0 0 1 pinlabel=12 T 250 1050 5 8 0 1 0 0 1 pintype=pas } P 1400 500 1700 500 1 0 1 { T 250 450 5 8 1 1 0 0 1 pinnumber=14 T 250 450 5 8 0 0 0 0 1 pinseq=14 T 250 450 5 8 0 1 0 0 1 pinlabel=14 T 250 450 5 8 0 1 0 0 1 pintype=pas } P 1400 2000 1700 2000 1 0 1 { T 250 1950 5 8 1 1 0 0 1 pinnumber=9 T 250 1950 5 8 0 0 0 0 1 pinseq=9 T 250 1950 5 8 0 1 0 0 1 pinlabel=9 T 250 1950 5 8 0 1 0 0 1 pintype=pas } P 1400 1400 1700 1400 1 0 1 { T 250 1350 5 8 1 1 0 0 1 pinnumber=11 T 250 1350 5 8 0 0 0 0 1 pinseq=11 T 250 1350 5 8 0 1 0 0 1 pinlabel=11 T 250 1350 5 8 0 1 0 0 1 pintype=pas } P 1400 800 1700 800 1 0 1 { T 250 750 5 8 1 1 0 0 1 pinnumber=13 T 250 750 5 8 0 0 0 0 1 pinseq=13 T 250 750 5 8 0 1 0 0 1 pinlabel=13 T 250 750 5 8 0 1 0 0 1 pintype=pas } P 1400 200 1700 200 1 0 1 { T 250 150 5 8 1 1 0 0 1 pinnumber=15 T 250 150 5 8 0 0 0 0 1 pinseq=15 T 250 150 5 8 0 1 0 0 1 pinlabel=15 T 250 150 5 8 0 1 0 0 1 pintype=pas } L 1400 4400 500 4400 3 0 0 0 -1 -1 L 1400 4100 500 4100 3 0 0 0 -1 -1 L 1400 3800 500 3800 3 0 0 0 -1 -1 L 1400 3500 500 3500 3 0 0 0 -1 -1 L 1400 3200 500 3200 3 0 0 0 -1 -1 L 1400 2900 500 2900 3 0 0 0 -1 -1 L 1400 2600 500 2600 3 0 0 0 -1 -1 L 1400 2300 500 2300 3 0 0 0 -1 -1 L 1400 2000 500 2000 3 0 0 0 -1 -1 L 1400 1700 500 1700 3 0 0 0 -1 -1 L 1400 1400 500 1400 3 0 0 0 -1 -1 L 1400 1100 500 1100 3 0 0 0 -1 -1 L 1400 800 500 800 3 0 0 0 -1 -1 L 1400 500 500 500 3 0 0 0 -1 -1 L 1400 200 500 200 3 0 0 0 -1 -1 B 0 0 500 4600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1800 4500 5 10 0 0 0 0 1 device=CONNECTOR_15 T 0 4700 8 10 1 1 0 0 1 refdes=CONN? geda-gaf-1.8.2/symbols/connector/DIN41612C48-1.sym0000664000175000017500000002147512204104272015744 00000000000000v 20050820 1 P 300 12300 0 12300 1 0 1 { T 200 12350 5 8 0 1 0 6 1 pinnumber=A2 T 200 12250 5 8 0 1 0 8 1 pinseq=1 T 350 12300 9 8 1 1 0 0 1 pinlabel=A2 T 350 12300 5 8 0 1 0 2 1 pintype=pas } P 300 11500 0 11500 1 0 1 { T 200 11550 5 8 0 1 0 6 1 pinnumber=A4 T 200 11450 5 8 0 1 0 8 1 pinseq=2 T 350 11500 9 8 1 1 0 0 1 pinlabel=A4 T 350 11500 5 8 0 1 0 2 1 pintype=pas } P 300 10700 0 10700 1 0 1 { T 200 10750 5 8 0 1 0 6 1 pinnumber=A6 T 200 10650 5 8 0 1 0 8 1 pinseq=3 T 350 10700 9 8 1 1 0 0 1 pinlabel=A6 T 350 10700 5 8 0 1 0 2 1 pintype=pas } P 300 9900 0 9900 1 0 1 { T 200 9950 5 8 0 1 0 6 1 pinnumber=A8 T 200 9850 5 8 0 1 0 8 1 pinseq=4 T 350 9900 9 8 1 1 0 0 1 pinlabel=A8 T 350 9900 5 8 0 1 0 2 1 pintype=pas } P 300 9100 0 9100 1 0 1 { T 200 9150 5 8 0 1 0 6 1 pinnumber=A10 T 200 9050 5 8 0 1 0 8 1 pinseq=5 T 350 9100 9 8 1 1 0 0 1 pinlabel=A10 T 350 9100 5 8 0 1 0 2 1 pintype=pas } P 0 8300 300 8300 1 0 0 { T 200 8350 5 8 0 1 0 6 1 pinnumber=A12 T 200 8250 5 8 0 1 0 8 1 pinseq=6 T 350 8300 9 8 1 1 0 0 1 pinlabel=A12 T 350 8300 5 8 0 1 0 2 1 pintype=pas } P 0 7500 300 7500 1 0 0 { T 200 7550 5 8 0 1 0 6 1 pinnumber=A14 T 200 7450 5 8 0 1 0 8 1 pinseq=7 T 350 7500 9 8 1 1 0 0 1 pinlabel=A14 T 350 7500 5 8 0 1 0 2 1 pintype=pas } P 0 6700 300 6700 1 0 0 { T 200 6750 5 8 0 1 0 6 1 pinnumber=A16 T 200 6650 5 8 0 1 0 8 1 pinseq=8 T 350 6700 9 8 1 1 0 0 1 pinlabel=A16 T 350 6700 5 8 0 1 0 2 1 pintype=pas } P 0 5900 300 5900 1 0 0 { T 200 5950 5 8 0 1 0 6 1 pinnumber=A18 T 200 5850 5 8 0 1 0 8 1 pinseq=9 T 350 5900 9 8 1 1 0 0 1 pinlabel=A18 T 350 5900 5 8 0 1 0 2 1 pintype=pas } P 0 5100 300 5100 1 0 0 { T 200 5150 5 8 0 1 0 6 1 pinnumber=A20 T 200 5050 5 8 0 1 0 8 1 pinseq=10 T 350 5100 9 8 1 1 0 0 1 pinlabel=A20 T 350 5100 5 8 0 1 0 2 1 pintype=pas } P 0 4300 300 4300 1 0 0 { T 200 4350 5 8 0 1 0 6 1 pinnumber=A22 T 200 4250 5 8 0 1 0 8 1 pinseq=11 T 350 4300 9 8 1 1 0 0 1 pinlabel=A22 T 350 4300 5 8 0 1 0 2 1 pintype=pas } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 0 1 0 6 1 pinnumber=A24 T 200 3450 5 8 0 1 0 8 1 pinseq=12 T 350 3500 9 8 1 1 0 0 1 pinlabel=A24 T 350 3500 5 8 0 1 0 2 1 pintype=pas } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 0 1 0 6 1 pinnumber=A26 T 200 2650 5 8 0 1 0 8 1 pinseq=13 T 350 2700 9 8 1 1 0 0 1 pinlabel=A26 T 350 2700 5 8 0 1 0 2 1 pintype=pas } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 0 1 0 6 1 pinnumber=A28 T 200 1850 5 8 0 1 0 8 1 pinseq=14 T 350 1900 9 8 1 1 0 0 1 pinlabel=A28 T 350 1900 5 8 0 1 0 2 1 pintype=pas } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 0 1 0 6 1 pinnumber=A30 T 200 1050 5 8 0 1 0 8 1 pinseq=15 T 350 1100 9 8 1 1 0 0 1 pinlabel=A30 T 350 1100 5 8 0 1 0 2 1 pintype=pas } P 0 300 300 300 1 0 0 { T 200 350 5 8 0 1 0 6 1 pinnumber=A32 T 200 250 5 8 0 1 0 8 1 pinseq=16 T 350 300 9 8 1 1 0 0 1 pinlabel=A32 T 350 300 5 8 0 1 0 2 1 pintype=pas } P 3300 12300 3600 12300 1 0 1 { T 3400 12350 5 8 0 1 0 0 1 pinnumber=B2 T 3400 12250 5 8 0 1 0 2 1 pinseq=17 T 3250 12300 9 8 1 1 0 6 1 pinlabel=B2 T 3250 12300 5 8 0 1 0 8 1 pintype=pas } P 3300 12100 3600 12100 1 0 1 { T 3400 12150 5 8 0 1 0 0 1 pinnumber=C2 T 3400 12050 5 8 0 1 0 2 1 pinseq=33 T 3250 12100 9 8 1 1 0 6 1 pinlabel=C2 T 3250 12100 5 8 0 1 0 8 1 pintype=pas } P 3300 11500 3600 11500 1 0 1 { T 3400 11550 5 8 0 1 0 0 1 pinnumber=B4 T 3400 11450 5 8 0 1 0 2 1 pinseq=18 T 3250 11500 9 8 1 1 0 6 1 pinlabel=B4 T 3250 11500 5 8 0 1 0 8 1 pintype=pas } P 3300 11300 3600 11300 1 0 1 { T 3400 11350 5 8 0 1 0 0 1 pinnumber=C4 T 3400 11250 5 8 0 1 0 2 1 pinseq=34 T 3250 11300 9 8 1 1 0 6 1 pinlabel=C4 T 3250 11300 5 8 0 1 0 8 1 pintype=pas } P 3300 10700 3600 10700 1 0 1 { T 3400 10750 5 8 0 1 0 0 1 pinnumber=B6 T 3400 10650 5 8 0 1 0 2 1 pinseq=19 T 3250 10700 9 8 1 1 0 6 1 pinlabel=B6 T 3250 10700 5 8 0 1 0 8 1 pintype=pas } P 3300 10500 3600 10500 1 0 1 { T 3400 10550 5 8 0 1 0 0 1 pinnumber=C6 T 3400 10450 5 8 0 1 0 2 1 pinseq=35 T 3250 10500 9 8 1 1 0 6 1 pinlabel=C6 T 3250 10500 5 8 0 1 0 8 1 pintype=pas } P 3600 9900 3300 9900 1 0 0 { T 3400 9950 5 8 0 1 0 0 1 pinnumber=B8 T 3400 9850 5 8 0 1 0 2 1 pinseq=20 T 3250 9900 9 8 1 1 0 6 1 pinlabel=B8 T 3250 9900 5 8 0 1 0 8 1 pintype=pas } P 3300 9700 3600 9700 1 0 1 { T 3400 9750 5 8 0 1 0 0 1 pinnumber=C8 T 3400 9650 5 8 0 1 0 2 1 pinseq=36 T 3250 9700 9 8 1 1 0 6 1 pinlabel=C8 T 3250 9700 5 8 0 1 0 8 1 pintype=pas } P 3600 9100 3300 9100 1 0 0 { T 3400 9150 5 8 0 1 0 0 1 pinnumber=B10 T 3400 9050 5 8 0 1 0 2 1 pinseq=21 T 3250 9100 9 8 1 1 0 6 1 pinlabel=B10 T 3250 9100 5 8 0 1 0 8 1 pintype=pas } P 3600 8900 3300 8900 1 0 0 { T 3400 8950 5 8 0 1 0 0 1 pinnumber=C10 T 3400 8850 5 8 0 1 0 2 1 pinseq=37 T 3250 8900 9 8 1 1 0 6 1 pinlabel=C10 T 3250 8900 5 8 0 1 0 8 1 pintype=pas } P 3300 8300 3600 8300 1 0 1 { T 3400 8350 5 8 0 1 0 0 1 pinnumber=B12 T 3400 8250 5 8 0 1 0 2 1 pinseq=22 T 3250 8300 9 8 1 1 0 6 1 pinlabel=B12 T 3250 8300 5 8 0 1 0 8 1 pintype=pas } P 3600 8100 3300 8100 1 0 0 { T 3400 8150 5 8 0 1 0 0 1 pinnumber=C12 T 3400 8050 5 8 0 1 0 2 1 pinseq=38 T 3250 8100 9 8 1 1 0 6 1 pinlabel=B12 T 3250 8100 5 8 0 1 0 8 1 pintype=pas } P 3300 7500 3600 7500 1 0 1 { T 3400 7550 5 8 0 1 0 0 1 pinnumber=B14 T 3400 7450 5 8 0 1 0 2 1 pinseq=23 T 3250 7500 9 8 1 1 0 6 1 pinlabel=B14 T 3250 7500 5 8 0 1 0 8 1 pintype=pas } P 3600 7300 3300 7300 1 0 0 { T 3400 7350 5 8 0 1 0 0 1 pinnumber=C14 T 3400 7250 5 8 0 1 0 2 1 pinseq=39 T 3250 7300 9 8 1 1 0 6 1 pinlabel=B14 T 3250 7300 5 8 0 1 0 8 1 pintype=pas } P 3300 6700 3600 6700 1 0 1 { T 3400 6750 5 8 0 1 0 0 1 pinnumber=B16 T 3400 6650 5 8 0 1 0 2 1 pinseq=24 T 3250 6700 9 8 1 1 0 6 1 pinlabel=B16 T 3250 6700 5 8 0 1 0 8 1 pintype=pas } P 3600 6500 3300 6500 1 0 0 { T 3400 6550 5 8 0 1 0 0 1 pinnumber=C16 T 3400 6450 5 8 0 1 0 2 1 pinseq=40 T 3250 6500 9 8 1 1 0 6 1 pinlabel=C16 T 3250 6500 5 8 0 1 0 8 1 pintype=pas } P 3300 5900 3600 5900 1 0 1 { T 3400 5950 5 8 0 1 0 0 1 pinnumber=B18 T 3400 5850 5 8 0 1 0 2 1 pinseq=25 T 3250 5900 9 8 1 1 0 6 1 pinlabel=B18 T 3250 5900 5 8 0 1 0 8 1 pintype=pas } P 3600 5700 3300 5700 1 0 0 { T 3400 5750 5 8 0 1 0 0 1 pinnumber=C18 T 3400 5650 5 8 0 1 0 2 1 pinseq=41 T 3250 5700 9 8 1 1 0 6 1 pinlabel=C18 T 3250 5700 5 8 0 1 0 8 1 pintype=pas } P 3300 5100 3600 5100 1 0 1 { T 3400 5150 5 8 0 1 0 0 1 pinnumber=B20 T 3400 5050 5 8 0 1 0 2 1 pinseq=26 T 3250 5100 9 8 1 1 0 6 1 pinlabel=B20 T 3250 5100 5 8 0 1 0 8 1 pintype=pas } P 3600 4900 3300 4900 1 0 0 { T 3400 4950 5 8 0 1 0 0 1 pinnumber=C20 T 3400 4850 5 8 0 1 0 2 1 pinseq=42 T 3250 4900 9 8 1 1 0 6 1 pinlabel=C20 T 3250 4900 5 8 0 1 0 8 1 pintype=pas } P 3300 4300 3600 4300 1 0 1 { T 3400 4350 5 8 0 1 0 0 1 pinnumber=B22 T 3400 4250 5 8 0 1 0 2 1 pinseq=27 T 3250 4300 9 8 1 1 0 6 1 pinlabel=B22 T 3250 4300 5 8 0 1 0 8 1 pintype=pas } P 3600 4100 3300 4100 1 0 0 { T 3400 4150 5 8 0 1 0 0 1 pinnumber=C22 T 3400 4050 5 8 0 1 0 2 1 pinseq=43 T 3250 4100 9 8 1 1 0 6 1 pinlabel=C22 T 3250 4100 5 8 0 1 0 8 1 pintype=pas } P 3300 3500 3600 3500 1 0 1 { T 3400 3550 5 8 0 1 0 0 1 pinnumber=B24 T 3400 3450 5 8 0 1 0 2 1 pinseq=28 T 3250 3500 9 8 1 1 0 6 1 pinlabel=B24 T 3250 3500 5 8 0 1 0 8 1 pintype=pas } P 3600 3300 3300 3300 1 0 0 { T 3400 3350 5 8 0 1 0 0 1 pinnumber=C24 T 3400 3250 5 8 0 1 0 2 1 pinseq=44 T 3250 3300 9 8 1 1 0 6 1 pinlabel=C24 T 3250 3300 5 8 0 1 0 8 1 pintype=pas } P 3300 2700 3600 2700 1 0 1 { T 3400 2750 5 8 0 1 0 0 1 pinnumber=B26 T 3400 2650 5 8 0 1 0 2 1 pinseq=29 T 3250 2700 9 8 1 1 0 6 1 pinlabel=B26 T 3250 2700 5 8 0 1 0 8 1 pintype=pas } P 3600 2500 3300 2500 1 0 0 { T 3400 2550 5 8 0 1 0 0 1 pinnumber=C26 T 3400 2450 5 8 0 1 0 2 1 pinseq=45 T 3250 2500 9 8 1 1 0 6 1 pinlabel=C26 T 3250 2500 5 8 0 1 0 8 1 pintype=pas } P 3600 1900 3300 1900 1 0 0 { T 3400 1950 5 8 0 1 0 0 1 pinnumber=B28 T 3400 1850 5 8 0 1 0 2 1 pinseq=30 T 3250 1900 9 8 1 1 0 6 1 pinlabel=B28 T 3250 1900 5 8 0 1 0 8 1 pintype=pas } P 3300 1700 3600 1700 1 0 1 { T 3400 1750 5 8 0 1 0 0 1 pinnumber=C28 T 3400 1650 5 8 0 1 0 2 1 pinseq=46 T 3250 1700 9 8 1 1 0 6 1 pinlabel=C28 T 3250 1700 5 8 0 1 0 8 1 pintype=pas } P 3600 1100 3300 1100 1 0 0 { T 3400 1150 5 8 0 1 0 0 1 pinnumber=B30 T 3400 1050 5 8 0 1 0 2 1 pinseq=31 T 3250 1100 9 8 1 1 0 6 1 pinlabel=B30 T 3250 1100 5 8 0 1 0 8 1 pintype=pas } P 3300 900 3600 900 1 0 1 { T 3400 950 5 8 0 1 0 0 1 pinnumber=C30 T 3400 850 5 8 0 1 0 2 1 pinseq=47 T 3250 900 9 8 1 1 0 6 1 pinlabel=C30 T 3250 900 5 8 0 1 0 8 1 pintype=pas } P 3600 300 3300 300 1 0 0 { T 3400 350 5 8 0 1 0 0 1 pinnumber=B32 T 3400 250 5 8 0 1 0 2 1 pinseq=32 T 3250 300 9 8 1 1 0 6 1 pinlabel=B32 T 3250 300 5 8 0 1 0 8 1 pintype=pas } P 3300 100 3600 100 1 0 1 { T 3400 150 5 8 0 1 0 0 1 pinnumber=C32 T 3400 50 5 8 0 1 0 2 1 pinseq=48 T 3250 100 9 8 1 1 0 6 1 pinlabel=C32 T 3250 100 5 8 0 1 0 8 1 pintype=pas } B 300 100 3000 12900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 13250 5 10 0 0 0 0 1 device=DIN41612C48 T 3300 13100 8 10 1 1 0 6 1 refdes=CONN? T 300 13650 5 10 0 0 0 0 1 numslots=0 T 300 13450 5 10 0 0 0 0 1 symversion=0.1 T 300 13050 9 10 1 0 0 0 1 DIN 41612C-48 geda-gaf-1.8.2/symbols/connector/connector19-2.sym0000664000175000017500000001062712204104272016617 00000000000000v 20041228 1 T 800 8200 8 10 1 1 0 6 1 refdes=CONN? T 400 8150 5 10 0 0 0 0 1 device=CONNECTOR_19 T 400 8350 5 10 0 0 0 0 1 footprint=SIP19N T 400 8550 5 10 0 0 0 0 1 author=Leon Kos T 400 8750 5 10 0 0 0 0 1 description=generic connector T 400 8950 5 10 0 0 0 0 1 numslots=0 P 100 7700 300 7700 1 0 0 { T 300 7750 5 8 0 1 0 6 1 pinnumber=1 T 300 7650 5 8 0 1 0 8 1 pinseq=1 T 450 7700 9 8 1 1 0 0 1 pinlabel=1 T 450 7700 5 8 0 1 0 2 1 pintype=pas } V 350 7700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 7300 300 7300 1 0 0 { T 300 7350 5 8 0 1 0 6 1 pinnumber=2 T 300 7250 5 8 0 1 0 8 1 pinseq=2 T 450 7300 9 8 1 1 0 0 1 pinlabel=2 T 450 7300 5 8 0 1 0 2 1 pintype=pas } V 350 7300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6900 300 6900 1 0 0 { T 300 6950 5 8 0 1 0 6 1 pinnumber=3 T 300 6850 5 8 0 1 0 8 1 pinseq=3 T 450 6900 9 8 1 1 0 0 1 pinlabel=3 T 450 6900 5 8 0 1 0 2 1 pintype=pas } V 350 6900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6500 300 6500 1 0 0 { T 300 6550 5 8 0 1 0 6 1 pinnumber=4 T 300 6450 5 8 0 1 0 8 1 pinseq=4 T 450 6500 9 8 1 1 0 0 1 pinlabel=4 T 450 6500 5 8 0 1 0 2 1 pintype=pas } V 350 6500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6100 300 6100 1 0 0 { T 300 6150 5 8 0 1 0 6 1 pinnumber=5 T 300 6050 5 8 0 1 0 8 1 pinseq=5 T 450 6100 9 8 1 1 0 0 1 pinlabel=5 T 450 6100 5 8 0 1 0 2 1 pintype=pas } V 350 6100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 5700 300 5700 1 0 0 { T 300 5750 5 8 0 1 0 6 1 pinnumber=6 T 300 5650 5 8 0 1 0 8 1 pinseq=6 T 450 5700 9 8 1 1 0 0 1 pinlabel=6 T 450 5700 5 8 0 1 0 2 1 pintype=pas } V 350 5700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 5300 300 5300 1 0 0 { T 300 5350 5 8 0 1 0 6 1 pinnumber=7 T 300 5250 5 8 0 1 0 8 1 pinseq=7 T 450 5300 9 8 1 1 0 0 1 pinlabel=7 T 450 5300 5 8 0 1 0 2 1 pintype=pas } V 350 5300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4900 300 4900 1 0 0 { T 300 4950 5 8 0 1 0 6 1 pinnumber=8 T 300 4850 5 8 0 1 0 8 1 pinseq=8 T 450 4900 9 8 1 1 0 0 1 pinlabel=8 T 450 4900 5 8 0 1 0 2 1 pintype=pas } V 350 4900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4500 300 4500 1 0 0 { T 300 4550 5 8 0 1 0 6 1 pinnumber=9 T 300 4450 5 8 0 1 0 8 1 pinseq=9 T 450 4500 9 8 1 1 0 0 1 pinlabel=9 T 450 4500 5 8 0 1 0 2 1 pintype=pas } V 350 4500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4100 300 4100 1 0 0 { T 300 4150 5 8 0 1 0 6 1 pinnumber=10 T 300 4050 5 8 0 1 0 8 1 pinseq=10 T 450 4100 9 8 1 1 0 0 1 pinlabel=10 T 450 4100 5 8 0 1 0 2 1 pintype=pas } V 350 4100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 3700 300 3700 1 0 0 { T 300 3750 5 8 0 1 0 6 1 pinnumber=11 T 300 3650 5 8 0 1 0 8 1 pinseq=11 T 450 3700 9 8 1 1 0 0 1 pinlabel=11 T 450 3700 5 8 0 1 0 2 1 pintype=pas } V 350 3700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 3300 300 3300 1 0 0 { T 300 3350 5 8 0 1 0 6 1 pinnumber=12 T 300 3250 5 8 0 1 0 8 1 pinseq=12 T 450 3300 9 8 1 1 0 0 1 pinlabel=12 T 450 3300 5 8 0 1 0 2 1 pintype=pas } V 350 3300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2900 300 2900 1 0 0 { T 300 2950 5 8 0 1 0 6 1 pinnumber=13 T 300 2850 5 8 0 1 0 8 1 pinseq=13 T 450 2900 9 8 1 1 0 0 1 pinlabel=13 T 450 2900 5 8 0 1 0 2 1 pintype=pas } V 350 2900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2500 300 2500 1 0 0 { T 300 2550 5 8 0 1 0 6 1 pinnumber=14 T 300 2450 5 8 0 1 0 8 1 pinseq=14 T 450 2500 9 8 1 1 0 0 1 pinlabel=14 T 450 2500 5 8 0 1 0 2 1 pintype=pas } V 350 2500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2100 300 2100 1 0 0 { T 300 2150 5 8 0 1 0 6 1 pinnumber=15 T 300 2050 5 8 0 1 0 8 1 pinseq=15 T 450 2100 9 8 1 1 0 0 1 pinlabel=15 T 450 2100 5 8 0 1 0 2 1 pintype=pas } V 350 2100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1700 300 1700 1 0 0 { T 300 1750 5 8 0 1 0 6 1 pinnumber=16 T 300 1650 5 8 0 1 0 8 1 pinseq=16 T 450 1700 9 8 1 1 0 0 1 pinlabel=16 T 450 1700 5 8 0 1 0 2 1 pintype=pas } V 350 1700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1300 300 1300 1 0 0 { T 300 1350 5 8 0 1 0 6 1 pinnumber=17 T 300 1250 5 8 0 1 0 8 1 pinseq=17 T 450 1300 9 8 1 1 0 0 1 pinlabel=17 T 450 1300 5 8 0 1 0 2 1 pintype=pas } V 350 1300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 900 300 900 1 0 0 { T 300 950 5 8 0 1 0 6 1 pinnumber=18 T 300 850 5 8 0 1 0 8 1 pinseq=18 T 450 900 9 8 1 1 0 0 1 pinlabel=18 T 450 900 5 8 0 1 0 2 1 pintype=pas } V 350 900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 500 300 500 1 0 0 { T 300 550 5 8 0 1 0 6 1 pinnumber=19 T 300 450 5 8 0 1 0 8 1 pinseq=19 T 450 500 9 8 1 1 0 0 1 pinlabel=19 T 450 500 5 8 0 1 0 2 1 pintype=pas } V 350 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 400 100 400 8000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/connector/header16-1.sym0000664000175000017500000000637112204104272016052 00000000000000v 20031231 1 P 1100 3000 1400 3000 1 0 1 { T 1200 3050 5 8 1 1 0 0 1 pinnumber=2 T 1200 3050 5 8 0 0 0 0 1 pinseq=2 T 1200 3050 5 8 0 1 0 0 1 pinlabel=2 T 1200 3050 5 8 0 1 0 0 1 pintype=pas } P 0 2600 300 2600 1 0 0 { T 100 2650 5 8 1 1 0 0 1 pinnumber=3 T 100 2650 5 8 0 0 0 0 1 pinseq=3 T 100 2650 5 8 0 1 0 0 1 pinlabel=3 T 100 2650 5 8 0 1 0 0 1 pintype=pas } P 1100 2600 1400 2600 1 0 1 { T 1200 2650 5 8 1 1 0 0 1 pinnumber=4 T 1200 2650 5 8 0 0 0 0 1 pinseq=4 T 1200 2650 5 8 0 1 0 0 1 pinlabel=4 T 1200 2650 5 8 0 1 0 0 1 pintype=pas } P 0 3000 300 3000 1 0 0 { T 150 3050 5 8 1 1 0 0 1 pinnumber=1 T 150 3050 5 8 0 0 0 0 1 pinseq=1 T 150 3050 5 8 0 1 0 0 1 pinlabel=1 T 150 3050 5 8 0 1 0 0 1 pintype=pas } P 0 2200 300 2200 1 0 0 { T 100 2250 5 8 1 1 0 0 1 pinnumber=5 T 100 2250 5 8 0 0 0 0 1 pinseq=5 T 100 2250 5 8 0 1 0 0 1 pinlabel=5 T 100 2250 5 8 0 1 0 0 1 pintype=pas } L 300 2400 1100 2400 3 0 0 0 -1 -1 L 300 2000 1100 2000 3 0 0 0 -1 -1 L 300 2800 1100 2800 3 0 0 0 -1 -1 L 300 1600 1100 1600 3 0 0 0 -1 -1 T 50 -1050 5 10 0 1 0 0 1 device=HEADER16 P 1100 1400 1400 1400 1 0 1 { T 1200 1450 5 8 1 1 0 0 1 pinnumber=10 T 1200 1450 5 8 0 0 0 0 1 pinseq=10 T 1200 1450 5 8 0 1 0 0 1 pinlabel=10 T 1200 1450 5 8 0 1 0 0 1 pintype=pas } P 0 1400 300 1400 1 0 0 { T 100 1450 5 8 1 1 0 0 1 pinnumber=9 T 100 1450 5 8 0 0 0 0 1 pinseq=9 T 100 1450 5 8 0 1 0 0 1 pinlabel=9 T 100 1450 5 8 0 1 0 0 1 pintype=pas } P 1100 1800 1400 1800 1 0 1 { T 1200 1850 5 8 1 1 0 0 1 pinnumber=8 T 1200 1850 5 8 0 0 0 0 1 pinseq=8 T 1200 1850 5 8 0 1 0 0 1 pinlabel=8 T 1200 1850 5 8 0 1 0 0 1 pintype=pas } P 0 1800 300 1800 1 0 0 { T 100 1850 5 8 1 1 0 0 1 pinnumber=7 T 100 1850 5 8 0 0 0 0 1 pinseq=7 T 100 1850 5 8 0 1 0 0 1 pinlabel=7 T 100 1850 5 8 0 1 0 0 1 pintype=pas } P 1100 2200 1400 2200 1 0 1 { T 1200 2250 5 8 1 1 0 0 1 pinnumber=6 T 1200 2250 5 8 0 0 0 0 1 pinseq=6 T 1200 2250 5 8 0 1 0 0 1 pinlabel=6 T 1200 2250 5 8 0 1 0 0 1 pintype=pas } T 600 3300 8 10 1 1 0 0 1 refdes=J? P 1100 200 1400 200 1 0 1 { T 1200 250 5 8 1 1 0 0 1 pinnumber=16 T 1200 250 5 8 0 0 0 0 1 pinseq=16 T 1200 250 5 8 0 1 0 0 1 pinlabel=16 T 1200 250 5 8 0 1 0 0 1 pintype=pas } L 300 400 1100 400 3 0 0 0 -1 -1 L 300 800 1100 800 3 0 0 0 -1 -1 P 0 200 300 200 1 0 0 { T 100 250 5 8 1 1 0 0 1 pinnumber=15 T 100 250 5 8 0 0 0 0 1 pinseq=15 T 100 250 5 8 0 1 0 0 1 pinlabel=15 T 100 250 5 8 0 1 0 0 1 pintype=pas } P 1100 600 1400 600 1 0 1 { T 1200 650 5 8 1 1 0 0 1 pinnumber=14 T 1200 650 5 8 0 0 0 0 1 pinseq=14 T 1200 650 5 8 0 1 0 0 1 pinlabel=14 T 1200 650 5 8 0 1 0 0 1 pintype=pas } P 0 600 300 600 1 0 0 { T 100 650 5 8 1 1 0 0 1 pinnumber=13 T 100 650 5 8 0 0 0 0 1 pinseq=13 T 100 650 5 8 0 1 0 0 1 pinlabel=13 T 100 650 5 8 0 1 0 0 1 pintype=pas } P 1100 1000 1400 1000 1 0 1 { T 1200 1050 5 8 1 1 0 0 1 pinnumber=12 T 1200 1050 5 8 0 0 0 0 1 pinseq=12 T 1200 1050 5 8 0 1 0 0 1 pinlabel=12 T 1200 1050 5 8 0 1 0 0 1 pintype=pas } P 0 1000 300 1000 1 0 0 { T 100 1050 5 8 1 1 0 0 1 pinnumber=11 T 100 1050 5 8 0 0 0 0 1 pinseq=11 T 100 1050 5 8 0 1 0 0 1 pinlabel=11 T 100 1050 5 8 0 1 0 0 1 pintype=pas } B 300 0 800 3200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 300 1200 1100 1200 3 0 0 0 -1 -1 L 700 3200 700 0 3 0 0 0 -1 -1 T 0 -600 8 10 0 0 0 0 1 pins=16 T 0 -800 8 10 0 0 0 0 1 class=IO geda-gaf-1.8.2/symbols/connector/connector25-2.sym0000664000175000017500000001333112204104272016607 00000000000000v 20041228 1 T 800 10600 8 10 1 1 0 6 1 refdes=CONN? T 400 10550 5 10 0 0 0 0 1 device=CONNECTOR_25 T 400 10750 5 10 0 0 0 0 1 footprint=SIP25N T 400 10950 5 10 0 0 0 0 1 author=Leon Kos T 400 11150 5 10 0 0 0 0 1 description=generic connector T 400 11350 5 10 0 0 0 0 1 numslots=0 P 100 10100 300 10100 1 0 0 { T 300 10150 5 8 0 1 0 6 1 pinnumber=1 T 300 10050 5 8 0 1 0 8 1 pinseq=1 T 450 10100 9 8 1 1 0 0 1 pinlabel=1 T 450 10100 5 8 0 1 0 2 1 pintype=pas } V 350 10100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 9700 300 9700 1 0 0 { T 300 9750 5 8 0 1 0 6 1 pinnumber=2 T 300 9650 5 8 0 1 0 8 1 pinseq=2 T 450 9700 9 8 1 1 0 0 1 pinlabel=2 T 450 9700 5 8 0 1 0 2 1 pintype=pas } V 350 9700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 9300 300 9300 1 0 0 { T 300 9350 5 8 0 1 0 6 1 pinnumber=3 T 300 9250 5 8 0 1 0 8 1 pinseq=3 T 450 9300 9 8 1 1 0 0 1 pinlabel=3 T 450 9300 5 8 0 1 0 2 1 pintype=pas } V 350 9300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8900 300 8900 1 0 0 { T 300 8950 5 8 0 1 0 6 1 pinnumber=4 T 300 8850 5 8 0 1 0 8 1 pinseq=4 T 450 8900 9 8 1 1 0 0 1 pinlabel=4 T 450 8900 5 8 0 1 0 2 1 pintype=pas } V 350 8900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8500 300 8500 1 0 0 { T 300 8550 5 8 0 1 0 6 1 pinnumber=5 T 300 8450 5 8 0 1 0 8 1 pinseq=5 T 450 8500 9 8 1 1 0 0 1 pinlabel=5 T 450 8500 5 8 0 1 0 2 1 pintype=pas } V 350 8500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8100 300 8100 1 0 0 { T 300 8150 5 8 0 1 0 6 1 pinnumber=6 T 300 8050 5 8 0 1 0 8 1 pinseq=6 T 450 8100 9 8 1 1 0 0 1 pinlabel=6 T 450 8100 5 8 0 1 0 2 1 pintype=pas } V 350 8100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 7700 300 7700 1 0 0 { T 300 7750 5 8 0 1 0 6 1 pinnumber=7 T 300 7650 5 8 0 1 0 8 1 pinseq=7 T 450 7700 9 8 1 1 0 0 1 pinlabel=7 T 450 7700 5 8 0 1 0 2 1 pintype=pas } V 350 7700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 7300 300 7300 1 0 0 { T 300 7350 5 8 0 1 0 6 1 pinnumber=8 T 300 7250 5 8 0 1 0 8 1 pinseq=8 T 450 7300 9 8 1 1 0 0 1 pinlabel=8 T 450 7300 5 8 0 1 0 2 1 pintype=pas } V 350 7300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6900 300 6900 1 0 0 { T 300 6950 5 8 0 1 0 6 1 pinnumber=9 T 300 6850 5 8 0 1 0 8 1 pinseq=9 T 450 6900 9 8 1 1 0 0 1 pinlabel=9 T 450 6900 5 8 0 1 0 2 1 pintype=pas } V 350 6900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6500 300 6500 1 0 0 { T 300 6550 5 8 0 1 0 6 1 pinnumber=10 T 300 6450 5 8 0 1 0 8 1 pinseq=10 T 450 6500 9 8 1 1 0 0 1 pinlabel=10 T 450 6500 5 8 0 1 0 2 1 pintype=pas } V 350 6500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6100 300 6100 1 0 0 { T 300 6150 5 8 0 1 0 6 1 pinnumber=11 T 300 6050 5 8 0 1 0 8 1 pinseq=11 T 450 6100 9 8 1 1 0 0 1 pinlabel=11 T 450 6100 5 8 0 1 0 2 1 pintype=pas } V 350 6100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 5700 300 5700 1 0 0 { T 300 5750 5 8 0 1 0 6 1 pinnumber=12 T 300 5650 5 8 0 1 0 8 1 pinseq=12 T 450 5700 9 8 1 1 0 0 1 pinlabel=12 T 450 5700 5 8 0 1 0 2 1 pintype=pas } V 350 5700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 5300 300 5300 1 0 0 { T 300 5350 5 8 0 1 0 6 1 pinnumber=13 T 300 5250 5 8 0 1 0 8 1 pinseq=13 T 450 5300 9 8 1 1 0 0 1 pinlabel=13 T 450 5300 5 8 0 1 0 2 1 pintype=pas } V 350 5300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4900 300 4900 1 0 0 { T 300 4950 5 8 0 1 0 6 1 pinnumber=14 T 300 4850 5 8 0 1 0 8 1 pinseq=14 T 450 4900 9 8 1 1 0 0 1 pinlabel=14 T 450 4900 5 8 0 1 0 2 1 pintype=pas } V 350 4900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4500 300 4500 1 0 0 { T 300 4550 5 8 0 1 0 6 1 pinnumber=15 T 300 4450 5 8 0 1 0 8 1 pinseq=15 T 450 4500 9 8 1 1 0 0 1 pinlabel=15 T 450 4500 5 8 0 1 0 2 1 pintype=pas } V 350 4500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4100 300 4100 1 0 0 { T 300 4150 5 8 0 1 0 6 1 pinnumber=16 T 300 4050 5 8 0 1 0 8 1 pinseq=16 T 450 4100 9 8 1 1 0 0 1 pinlabel=16 T 450 4100 5 8 0 1 0 2 1 pintype=pas } V 350 4100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 3700 300 3700 1 0 0 { T 300 3750 5 8 0 1 0 6 1 pinnumber=17 T 300 3650 5 8 0 1 0 8 1 pinseq=17 T 450 3700 9 8 1 1 0 0 1 pinlabel=17 T 450 3700 5 8 0 1 0 2 1 pintype=pas } V 350 3700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 3300 300 3300 1 0 0 { T 300 3350 5 8 0 1 0 6 1 pinnumber=18 T 300 3250 5 8 0 1 0 8 1 pinseq=18 T 450 3300 9 8 1 1 0 0 1 pinlabel=18 T 450 3300 5 8 0 1 0 2 1 pintype=pas } V 350 3300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2900 300 2900 1 0 0 { T 300 2950 5 8 0 1 0 6 1 pinnumber=19 T 300 2850 5 8 0 1 0 8 1 pinseq=19 T 450 2900 9 8 1 1 0 0 1 pinlabel=19 T 450 2900 5 8 0 1 0 2 1 pintype=pas } V 350 2900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2500 300 2500 1 0 0 { T 300 2550 5 8 0 1 0 6 1 pinnumber=20 T 300 2450 5 8 0 1 0 8 1 pinseq=20 T 450 2500 9 8 1 1 0 0 1 pinlabel=20 T 450 2500 5 8 0 1 0 2 1 pintype=pas } V 350 2500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2100 300 2100 1 0 0 { T 300 2150 5 8 0 1 0 6 1 pinnumber=21 T 300 2050 5 8 0 1 0 8 1 pinseq=21 T 450 2100 9 8 1 1 0 0 1 pinlabel=21 T 450 2100 5 8 0 1 0 2 1 pintype=pas } V 350 2100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1700 300 1700 1 0 0 { T 300 1750 5 8 0 1 0 6 1 pinnumber=22 T 300 1650 5 8 0 1 0 8 1 pinseq=22 T 450 1700 9 8 1 1 0 0 1 pinlabel=22 T 450 1700 5 8 0 1 0 2 1 pintype=pas } V 350 1700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1300 300 1300 1 0 0 { T 300 1350 5 8 0 1 0 6 1 pinnumber=23 T 300 1250 5 8 0 1 0 8 1 pinseq=23 T 450 1300 9 8 1 1 0 0 1 pinlabel=23 T 450 1300 5 8 0 1 0 2 1 pintype=pas } V 350 1300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 900 300 900 1 0 0 { T 300 950 5 8 0 1 0 6 1 pinnumber=24 T 300 850 5 8 0 1 0 8 1 pinseq=24 T 450 900 9 8 1 1 0 0 1 pinlabel=24 T 450 900 5 8 0 1 0 2 1 pintype=pas } V 350 900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 500 300 500 1 0 0 { T 300 550 5 8 0 1 0 6 1 pinnumber=25 T 300 450 5 8 0 1 0 8 1 pinseq=25 T 450 500 9 8 1 1 0 0 1 pinlabel=25 T 450 500 5 8 0 1 0 2 1 pintype=pas } V 350 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 400 100 400 10400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/connector/DB25-2.sym0000664000175000017500000001350112204104272015101 00000000000000v 20031231 1 T 1400 5350 5 10 0 0 0 0 1 device=DB25 A 1050 5390 150 0 110 3 0 0 0 -1 -1 A 375 5200 75 120 60 3 0 0 0 -1 -1 V 900 400 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 400 1500 400 1 0 1 { T 1300 450 5 8 1 1 0 0 1 pinnumber=13 T 1300 450 5 8 0 0 0 0 1 pinseq=1 T 800 250 3 4 1 1 0 0 1 pinlabel=SLCT T 1300 450 5 8 0 1 0 0 1 pintype=pas } V 600 600 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 800 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 800 1500 800 1 0 1 { T 1300 850 5 8 1 1 0 0 1 pinnumber=12 T 1300 850 5 8 0 0 0 0 1 pinseq=3 T 800 650 3 4 1 1 0 0 1 pinlabel=PE T 1300 850 5 8 0 1 0 0 1 pintype=pas } V 600 1000 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 1200 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 1200 1500 1200 1 0 1 { T 1300 1250 5 8 1 1 0 0 1 pinnumber=11 T 1300 1250 5 8 0 0 0 0 1 pinseq=5 T 800 1050 3 4 1 1 0 0 1 pinlabel=BUSY T 1300 1250 5 8 0 1 0 0 1 pintype=pas } V 600 1400 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 1600 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 1600 1500 1600 1 0 1 { T 1300 1650 5 8 1 1 0 0 1 pinnumber=10 T 1300 1650 5 8 0 0 0 0 1 pinseq=7 T 800 1450 3 4 1 1 0 0 1 pinlabel=/ACK T 1300 1650 5 8 0 1 0 0 1 pintype=pas } V 600 1800 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 2000 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 2000 1500 2000 1 0 1 { T 1300 2050 5 8 1 1 0 0 1 pinnumber=9 T 1300 2050 5 8 0 0 0 0 1 pinseq=9 T 800 1850 3 4 1 1 0 0 1 pinlabel=DATA7 T 1300 2050 5 8 0 1 0 0 1 pintype=pas } V 600 2200 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 2400 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 2400 1500 2400 1 0 1 { T 1300 2450 5 8 1 1 0 0 1 pinnumber=8 T 1300 2450 5 8 0 0 0 0 1 pinseq=11 T 800 2250 3 4 1 1 0 0 1 pinlabel=DATA6 T 1300 2450 5 8 0 1 0 0 1 pintype=pas } V 600 2600 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 2800 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 2800 1500 2800 1 0 1 { T 1300 2850 5 8 1 1 0 0 1 pinnumber=7 T 1300 2850 5 8 0 0 0 0 1 pinseq=13 T 800 2650 3 4 1 1 0 0 1 pinlabel=DATA5 T 1300 2850 5 8 0 1 0 0 1 pintype=pas } V 600 3000 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 3200 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 3200 1500 3200 1 0 1 { T 1300 3250 5 8 1 1 0 0 1 pinnumber=6 T 1300 3250 5 8 0 0 0 0 1 pinseq=15 T 800 3050 3 4 1 1 0 0 1 pinlabel=DATA4 T 1300 3250 5 8 0 1 0 0 1 pintype=pas } V 600 3400 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 3600 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 3600 1500 3600 1 0 1 { T 1300 3650 5 8 1 1 0 0 1 pinnumber=5 T 1300 3650 5 8 0 0 0 0 1 pinseq=17 T 800 3450 3 4 1 1 0 0 1 pinlabel=DATA3 T 1300 3650 5 8 0 1 0 0 1 pintype=pas } V 600 3800 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 4000 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 4000 1500 4000 1 0 1 { T 1300 4050 5 8 1 1 0 0 1 pinnumber=4 T 1300 4050 5 8 0 0 0 0 1 pinseq=19 T 800 3850 3 4 1 1 0 0 1 pinlabel=DATA2 T 1300 4050 5 8 0 1 0 0 1 pintype=pas } V 600 4200 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 4400 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 4400 1500 4400 1 0 1 { T 1300 4450 5 8 1 1 0 0 1 pinnumber=3 T 1300 4450 5 8 0 0 0 0 1 pinseq=21 T 800 4250 3 4 1 1 0 0 1 pinlabel=DATA1 T 1300 4450 5 8 0 1 0 0 1 pintype=pas } V 600 4600 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 4800 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 4800 1500 4800 1 0 1 { T 1300 4850 5 8 1 1 0 0 1 pinnumber=2 T 1300 4850 5 8 0 0 0 0 1 pinseq=23 T 800 4650 3 4 1 1 0 0 1 pinlabel=DATA0 T 1300 4850 5 8 0 1 0 0 1 pintype=pas } V 600 5000 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 5200 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 5200 1500 5200 1 0 1 { T 1300 5250 5 8 1 1 0 0 1 pinnumber=1 T 1300 5250 5 8 0 0 0 0 1 pinseq=25 T 800 5050 3 4 1 1 0 0 1 pinlabel=/STROBE T 1300 5250 5 8 0 1 0 0 1 pintype=pas } L 1001 5532 338 5266 3 0 0 0 -1 -1 P 550 600 0 600 1 0 1 { T 50 650 5 8 1 1 0 0 1 pinnumber=25 T 50 650 5 8 0 0 0 0 1 pinseq=2 T 550 450 9 4 1 1 0 0 1 pinlabel=GND T 50 650 5 8 0 1 0 0 1 pintype=pas } P 550 1400 0 1400 1 0 1 { T 50 1450 5 8 1 1 0 0 1 pinnumber=23 T 50 1450 5 8 0 0 0 0 1 pinseq=6 T 550 1250 9 4 1 1 0 0 1 pinlabel=GND T 50 1450 5 8 0 1 0 0 1 pintype=pas } P 550 1000 0 1000 1 0 1 { T 50 1050 5 8 1 1 0 0 1 pinnumber=24 T 50 1050 5 8 0 0 0 0 1 pinseq=4 T 550 850 9 4 1 1 0 0 1 pinlabel=GND T 50 1050 5 8 0 1 0 0 1 pintype=pas } P 550 1800 0 1800 1 0 1 { T 50 1850 5 8 1 1 0 0 1 pinnumber=22 T 50 1850 5 8 0 0 0 0 1 pinseq=8 T 550 1650 9 4 1 1 0 0 1 pinlabel=GND T 50 1850 5 8 0 1 0 0 1 pintype=pas } P 550 2200 0 2200 1 0 1 { T 50 2250 5 8 1 1 0 0 1 pinnumber=21 T 50 2250 5 8 0 0 0 0 1 pinseq=10 T 550 2050 9 4 1 1 0 0 1 pinlabel=GND T 50 2250 5 8 0 1 0 0 1 pintype=pas } P 550 2600 0 2600 1 0 1 { T 50 2650 5 8 1 1 0 0 1 pinnumber=20 T 50 2650 5 8 0 0 0 0 1 pinseq=12 T 550 2450 9 4 1 1 0 0 1 pinlabel=GND T 50 2650 5 8 0 1 0 0 1 pintype=pas } P 550 3000 0 3000 1 0 1 { T 50 3050 5 8 1 1 0 0 1 pinnumber=19 T 50 3050 5 8 0 0 0 0 1 pinseq=14 T 550 2850 9 4 1 1 0 0 1 pinlabel=GND T 50 3050 5 8 0 1 0 0 1 pintype=pas } P 550 3400 0 3400 1 0 1 { T 50 3450 5 8 1 1 0 0 1 pinnumber=18 T 50 3450 5 8 0 0 0 0 1 pinseq=16 T 550 3250 9 4 1 1 0 0 1 pinlabel=GND T 50 3450 5 8 0 1 0 0 1 pintype=pas } P 550 3800 0 3800 1 0 1 { T 50 3850 5 8 1 1 0 0 1 pinnumber=17 T 50 3850 5 8 0 0 0 0 1 pinseq=18 T 400 3650 9 4 1 1 0 0 1 pinlabel=/SLCTIN T 50 3850 5 8 0 1 0 0 1 pintype=pas } P 550 4200 0 4200 1 0 1 { T 50 4250 5 8 1 1 0 0 1 pinnumber=16 T 50 4250 5 8 0 0 0 0 1 pinseq=20 T 550 4050 9 4 1 1 0 0 1 pinlabel=/INIT T 50 4250 5 8 0 1 0 0 1 pintype=pas } P 550 4600 0 4600 1 0 1 { T 50 4650 5 8 1 1 0 0 1 pinnumber=15 T 50 4650 5 8 0 0 0 0 1 pinseq=22 T 400 4450 9 4 1 1 0 0 1 pinlabel=/ERROR T 50 4650 5 8 0 1 0 0 1 pintype=pas } P 550 5000 0 5000 1 0 1 { T 50 5050 5 8 1 1 0 0 1 pinnumber=14 T 50 5050 5 8 0 0 0 0 1 pinseq=24 T 400 4850 9 4 1 1 0 0 1 pinlabel=/AUTOF T 50 5050 5 8 0 1 0 0 1 pintype=pas } A 1050 150 150 250 110 3 0 0 0 -1 -1 A 375 300 75 180 60 3 0 0 0 -1 -1 L 339 234 1003 8 3 0 0 0 -1 -1 L 1200 150 1200 5390 3 0 0 0 -1 -1 L 300 5200 300 300 3 0 0 0 -1 -1 T 400 5700 8 10 1 1 0 0 1 refdes=CONN? geda-gaf-1.8.2/symbols/connector/connector24-2.sym0000664000175000017500000001276412204104272016617 00000000000000v 20041228 1 T 800 10200 8 10 1 1 0 6 1 refdes=CONN? T 400 10150 5 10 0 0 0 0 1 device=CONNECTOR_24 T 400 10350 5 10 0 0 0 0 1 footprint=SIP24N T 400 10550 5 10 0 0 0 0 1 author=Leon Kos T 400 10750 5 10 0 0 0 0 1 description=generic connector T 400 10950 5 10 0 0 0 0 1 numslots=0 P 100 9700 300 9700 1 0 0 { T 300 9750 5 8 0 1 0 6 1 pinnumber=1 T 300 9650 5 8 0 1 0 8 1 pinseq=1 T 450 9700 9 8 1 1 0 0 1 pinlabel=1 T 450 9700 5 8 0 1 0 2 1 pintype=pas } V 350 9700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 9300 300 9300 1 0 0 { T 300 9350 5 8 0 1 0 6 1 pinnumber=2 T 300 9250 5 8 0 1 0 8 1 pinseq=2 T 450 9300 9 8 1 1 0 0 1 pinlabel=2 T 450 9300 5 8 0 1 0 2 1 pintype=pas } V 350 9300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8900 300 8900 1 0 0 { T 300 8950 5 8 0 1 0 6 1 pinnumber=3 T 300 8850 5 8 0 1 0 8 1 pinseq=3 T 450 8900 9 8 1 1 0 0 1 pinlabel=3 T 450 8900 5 8 0 1 0 2 1 pintype=pas } V 350 8900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8500 300 8500 1 0 0 { T 300 8550 5 8 0 1 0 6 1 pinnumber=4 T 300 8450 5 8 0 1 0 8 1 pinseq=4 T 450 8500 9 8 1 1 0 0 1 pinlabel=4 T 450 8500 5 8 0 1 0 2 1 pintype=pas } V 350 8500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8100 300 8100 1 0 0 { T 300 8150 5 8 0 1 0 6 1 pinnumber=5 T 300 8050 5 8 0 1 0 8 1 pinseq=5 T 450 8100 9 8 1 1 0 0 1 pinlabel=5 T 450 8100 5 8 0 1 0 2 1 pintype=pas } V 350 8100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 7700 300 7700 1 0 0 { T 300 7750 5 8 0 1 0 6 1 pinnumber=6 T 300 7650 5 8 0 1 0 8 1 pinseq=6 T 450 7700 9 8 1 1 0 0 1 pinlabel=6 T 450 7700 5 8 0 1 0 2 1 pintype=pas } V 350 7700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 7300 300 7300 1 0 0 { T 300 7350 5 8 0 1 0 6 1 pinnumber=7 T 300 7250 5 8 0 1 0 8 1 pinseq=7 T 450 7300 9 8 1 1 0 0 1 pinlabel=7 T 450 7300 5 8 0 1 0 2 1 pintype=pas } V 350 7300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6900 300 6900 1 0 0 { T 300 6950 5 8 0 1 0 6 1 pinnumber=8 T 300 6850 5 8 0 1 0 8 1 pinseq=8 T 450 6900 9 8 1 1 0 0 1 pinlabel=8 T 450 6900 5 8 0 1 0 2 1 pintype=pas } V 350 6900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6500 300 6500 1 0 0 { T 300 6550 5 8 0 1 0 6 1 pinnumber=9 T 300 6450 5 8 0 1 0 8 1 pinseq=9 T 450 6500 9 8 1 1 0 0 1 pinlabel=9 T 450 6500 5 8 0 1 0 2 1 pintype=pas } V 350 6500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6100 300 6100 1 0 0 { T 300 6150 5 8 0 1 0 6 1 pinnumber=10 T 300 6050 5 8 0 1 0 8 1 pinseq=10 T 450 6100 9 8 1 1 0 0 1 pinlabel=10 T 450 6100 5 8 0 1 0 2 1 pintype=pas } V 350 6100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 5700 300 5700 1 0 0 { T 300 5750 5 8 0 1 0 6 1 pinnumber=11 T 300 5650 5 8 0 1 0 8 1 pinseq=11 T 450 5700 9 8 1 1 0 0 1 pinlabel=11 T 450 5700 5 8 0 1 0 2 1 pintype=pas } V 350 5700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 5300 300 5300 1 0 0 { T 300 5350 5 8 0 1 0 6 1 pinnumber=12 T 300 5250 5 8 0 1 0 8 1 pinseq=12 T 450 5300 9 8 1 1 0 0 1 pinlabel=12 T 450 5300 5 8 0 1 0 2 1 pintype=pas } V 350 5300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4900 300 4900 1 0 0 { T 300 4950 5 8 0 1 0 6 1 pinnumber=13 T 300 4850 5 8 0 1 0 8 1 pinseq=13 T 450 4900 9 8 1 1 0 0 1 pinlabel=13 T 450 4900 5 8 0 1 0 2 1 pintype=pas } V 350 4900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4500 300 4500 1 0 0 { T 300 4550 5 8 0 1 0 6 1 pinnumber=14 T 300 4450 5 8 0 1 0 8 1 pinseq=14 T 450 4500 9 8 1 1 0 0 1 pinlabel=14 T 450 4500 5 8 0 1 0 2 1 pintype=pas } V 350 4500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4100 300 4100 1 0 0 { T 300 4150 5 8 0 1 0 6 1 pinnumber=15 T 300 4050 5 8 0 1 0 8 1 pinseq=15 T 450 4100 9 8 1 1 0 0 1 pinlabel=15 T 450 4100 5 8 0 1 0 2 1 pintype=pas } V 350 4100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 3700 300 3700 1 0 0 { T 300 3750 5 8 0 1 0 6 1 pinnumber=16 T 300 3650 5 8 0 1 0 8 1 pinseq=16 T 450 3700 9 8 1 1 0 0 1 pinlabel=16 T 450 3700 5 8 0 1 0 2 1 pintype=pas } V 350 3700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 3300 300 3300 1 0 0 { T 300 3350 5 8 0 1 0 6 1 pinnumber=17 T 300 3250 5 8 0 1 0 8 1 pinseq=17 T 450 3300 9 8 1 1 0 0 1 pinlabel=17 T 450 3300 5 8 0 1 0 2 1 pintype=pas } V 350 3300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2900 300 2900 1 0 0 { T 300 2950 5 8 0 1 0 6 1 pinnumber=18 T 300 2850 5 8 0 1 0 8 1 pinseq=18 T 450 2900 9 8 1 1 0 0 1 pinlabel=18 T 450 2900 5 8 0 1 0 2 1 pintype=pas } V 350 2900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2500 300 2500 1 0 0 { T 300 2550 5 8 0 1 0 6 1 pinnumber=19 T 300 2450 5 8 0 1 0 8 1 pinseq=19 T 450 2500 9 8 1 1 0 0 1 pinlabel=19 T 450 2500 5 8 0 1 0 2 1 pintype=pas } V 350 2500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2100 300 2100 1 0 0 { T 300 2150 5 8 0 1 0 6 1 pinnumber=20 T 300 2050 5 8 0 1 0 8 1 pinseq=20 T 450 2100 9 8 1 1 0 0 1 pinlabel=20 T 450 2100 5 8 0 1 0 2 1 pintype=pas } V 350 2100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1700 300 1700 1 0 0 { T 300 1750 5 8 0 1 0 6 1 pinnumber=21 T 300 1650 5 8 0 1 0 8 1 pinseq=21 T 450 1700 9 8 1 1 0 0 1 pinlabel=21 T 450 1700 5 8 0 1 0 2 1 pintype=pas } V 350 1700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1300 300 1300 1 0 0 { T 300 1350 5 8 0 1 0 6 1 pinnumber=22 T 300 1250 5 8 0 1 0 8 1 pinseq=22 T 450 1300 9 8 1 1 0 0 1 pinlabel=22 T 450 1300 5 8 0 1 0 2 1 pintype=pas } V 350 1300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 900 300 900 1 0 0 { T 300 950 5 8 0 1 0 6 1 pinnumber=23 T 300 850 5 8 0 1 0 8 1 pinseq=23 T 450 900 9 8 1 1 0 0 1 pinlabel=23 T 450 900 5 8 0 1 0 2 1 pintype=pas } V 350 900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 500 300 500 1 0 0 { T 300 550 5 8 0 1 0 6 1 pinnumber=24 T 300 450 5 8 0 1 0 8 1 pinseq=24 T 450 500 9 8 1 1 0 0 1 pinlabel=24 T 450 500 5 8 0 1 0 2 1 pintype=pas } V 350 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 400 100 400 10000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/connector/connector17-2.sym0000664000175000017500000000766712204104272016627 00000000000000v 20041228 1 T 700 7300 8 10 1 1 0 6 1 refdes=CONN? T 300 7250 5 10 0 0 0 0 1 device=CONNECTOR_17 T 300 7450 5 10 0 0 0 0 1 footprint=SIP17N T 300 7650 5 10 0 0 0 0 1 author=Leon Kos T 300 7850 5 10 0 0 0 0 1 description=generic connector T 300 8050 5 10 0 0 0 0 1 numslots=0 P 0 6800 200 6800 1 0 0 { T 200 6850 5 8 0 1 0 6 1 pinnumber=1 T 200 6750 5 8 0 1 0 8 1 pinseq=1 T 350 6800 9 8 1 1 0 0 1 pinlabel=1 T 350 6800 5 8 0 1 0 2 1 pintype=pas } V 250 6800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 6400 200 6400 1 0 0 { T 200 6450 5 8 0 1 0 6 1 pinnumber=2 T 200 6350 5 8 0 1 0 8 1 pinseq=2 T 350 6400 9 8 1 1 0 0 1 pinlabel=2 T 350 6400 5 8 0 1 0 2 1 pintype=pas } V 250 6400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 6000 200 6000 1 0 0 { T 200 6050 5 8 0 1 0 6 1 pinnumber=3 T 200 5950 5 8 0 1 0 8 1 pinseq=3 T 350 6000 9 8 1 1 0 0 1 pinlabel=3 T 350 6000 5 8 0 1 0 2 1 pintype=pas } V 250 6000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 5600 200 5600 1 0 0 { T 200 5650 5 8 0 1 0 6 1 pinnumber=4 T 200 5550 5 8 0 1 0 8 1 pinseq=4 T 350 5600 9 8 1 1 0 0 1 pinlabel=4 T 350 5600 5 8 0 1 0 2 1 pintype=pas } V 250 5600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 5200 200 5200 1 0 0 { T 200 5250 5 8 0 1 0 6 1 pinnumber=5 T 200 5150 5 8 0 1 0 8 1 pinseq=5 T 350 5200 9 8 1 1 0 0 1 pinlabel=5 T 350 5200 5 8 0 1 0 2 1 pintype=pas } V 250 5200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 4800 200 4800 1 0 0 { T 200 4850 5 8 0 1 0 6 1 pinnumber=6 T 200 4750 5 8 0 1 0 8 1 pinseq=6 T 350 4800 9 8 1 1 0 0 1 pinlabel=6 T 350 4800 5 8 0 1 0 2 1 pintype=pas } V 250 4800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 4400 200 4400 1 0 0 { T 200 4450 5 8 0 1 0 6 1 pinnumber=7 T 200 4350 5 8 0 1 0 8 1 pinseq=7 T 350 4400 9 8 1 1 0 0 1 pinlabel=7 T 350 4400 5 8 0 1 0 2 1 pintype=pas } V 250 4400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 4000 200 4000 1 0 0 { T 200 4050 5 8 0 1 0 6 1 pinnumber=8 T 200 3950 5 8 0 1 0 8 1 pinseq=8 T 350 4000 9 8 1 1 0 0 1 pinlabel=8 T 350 4000 5 8 0 1 0 2 1 pintype=pas } V 250 4000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3600 200 3600 1 0 0 { T 200 3650 5 8 0 1 0 6 1 pinnumber=9 T 200 3550 5 8 0 1 0 8 1 pinseq=9 T 350 3600 9 8 1 1 0 0 1 pinlabel=9 T 350 3600 5 8 0 1 0 2 1 pintype=pas } V 250 3600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3200 200 3200 1 0 0 { T 200 3250 5 8 0 1 0 6 1 pinnumber=10 T 200 3150 5 8 0 1 0 8 1 pinseq=10 T 350 3200 9 8 1 1 0 0 1 pinlabel=10 T 350 3200 5 8 0 1 0 2 1 pintype=pas } V 250 3200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2800 200 2800 1 0 0 { T 200 2850 5 8 0 1 0 6 1 pinnumber=11 T 200 2750 5 8 0 1 0 8 1 pinseq=11 T 350 2800 9 8 1 1 0 0 1 pinlabel=11 T 350 2800 5 8 0 1 0 2 1 pintype=pas } V 250 2800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2400 200 2400 1 0 0 { T 200 2450 5 8 0 1 0 6 1 pinnumber=12 T 200 2350 5 8 0 1 0 8 1 pinseq=12 T 350 2400 9 8 1 1 0 0 1 pinlabel=12 T 350 2400 5 8 0 1 0 2 1 pintype=pas } V 250 2400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2000 200 2000 1 0 0 { T 200 2050 5 8 0 1 0 6 1 pinnumber=13 T 200 1950 5 8 0 1 0 8 1 pinseq=13 T 350 2000 9 8 1 1 0 0 1 pinlabel=13 T 350 2000 5 8 0 1 0 2 1 pintype=pas } V 250 2000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1600 200 1600 1 0 0 { T 200 1650 5 8 0 1 0 6 1 pinnumber=14 T 200 1550 5 8 0 1 0 8 1 pinseq=14 T 350 1600 9 8 1 1 0 0 1 pinlabel=14 T 350 1600 5 8 0 1 0 2 1 pintype=pas } V 250 1600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1200 200 1200 1 0 0 { T 200 1250 5 8 0 1 0 6 1 pinnumber=15 T 200 1150 5 8 0 1 0 8 1 pinseq=15 T 350 1200 9 8 1 1 0 0 1 pinlabel=15 T 350 1200 5 8 0 1 0 2 1 pintype=pas } V 250 1200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 800 200 800 1 0 0 { T 200 850 5 8 0 1 0 6 1 pinnumber=16 T 200 750 5 8 0 1 0 8 1 pinseq=16 T 350 800 9 8 1 1 0 0 1 pinlabel=16 T 350 800 5 8 0 1 0 2 1 pintype=pas } V 250 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 400 200 400 1 0 0 { T 200 450 5 8 0 1 0 6 1 pinnumber=17 T 200 350 5 8 0 1 0 8 1 pinseq=17 T 350 400 9 8 1 1 0 0 1 pinlabel=17 T 350 400 5 8 0 1 0 2 1 pintype=pas } V 250 400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 300 0 400 7200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/connector/DB15-1.sym0000664000175000017500000000723412204104272015105 00000000000000v 20031231 1 L 0 300 0 4500 3 0 0 0 -1 -1 T 1100 4650 5 10 0 0 0 0 1 device=DB15 A 750 150 150 250 110 3 0 0 0 -1 -1 A 75 300 75 180 60 3 0 0 0 -1 -1 A 750 4690 150 0 110 3 0 0 0 -1 -1 A 75 4500 75 120 60 3 0 0 0 -1 -1 L 900 140 900 4690 3 0 0 0 -1 -1 V 600 300 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 650 300 1200 300 1 0 1 { T 1000 350 5 8 1 1 0 0 1 pinnumber=8 T 1000 350 5 8 0 0 0 0 1 pinseq=1 T 1000 350 5 8 0 1 0 0 1 pinlabel=8 T 1000 350 5 8 0 1 0 0 1 pintype=pas } V 300 600 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 350 600 1200 600 1 0 1 { T 1000 650 5 8 1 1 0 0 1 pinnumber=15 T 1000 650 5 8 0 0 0 0 1 pinseq=2 T 1000 650 5 8 0 1 0 0 1 pinlabel=15 T 1000 650 5 8 0 1 0 0 1 pintype=pas } V 600 900 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 650 900 1200 900 1 0 1 { T 1000 950 5 8 1 1 0 0 1 pinnumber=7 T 1000 950 5 8 0 0 0 0 1 pinseq=3 T 1000 950 5 8 0 1 0 0 1 pinlabel=7 T 1000 950 5 8 0 1 0 0 1 pintype=pas } V 300 1200 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 350 1200 1200 1200 1 0 1 { T 1000 1250 5 8 1 1 0 0 1 pinnumber=14 T 1000 1250 5 8 0 0 0 0 1 pinseq=4 T 1000 1250 5 8 0 1 0 0 1 pinlabel=14 T 1000 1250 5 8 0 1 0 0 1 pintype=pas } V 600 1500 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 650 1500 1200 1500 1 0 1 { T 1000 1550 5 8 1 1 0 0 1 pinnumber=6 T 1000 1550 5 8 0 0 0 0 1 pinseq=5 T 1000 1550 5 8 0 1 0 0 1 pinlabel=6 T 1000 1550 5 8 0 1 0 0 1 pintype=pas } V 300 1800 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 350 1800 1200 1800 1 0 1 { T 1000 1850 5 8 1 1 0 0 1 pinnumber=13 T 1000 1850 5 8 0 0 0 0 1 pinseq=6 T 1000 1850 5 8 0 1 0 0 1 pinlabel=13 T 1000 1850 5 8 0 1 0 0 1 pintype=pas } V 600 2100 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 650 2100 1200 2100 1 0 1 { T 1000 2150 5 8 1 1 0 0 1 pinnumber=5 T 1000 2150 5 8 0 0 0 0 1 pinseq=7 T 1000 2150 5 8 0 1 0 0 1 pinlabel=5 T 1000 2150 5 8 0 1 0 0 1 pintype=pas } V 300 2400 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 350 2400 1200 2400 1 0 1 { T 1000 2450 5 8 1 1 0 0 1 pinnumber=12 T 1000 2450 5 8 0 0 0 0 1 pinseq=8 T 1000 2450 5 8 0 1 0 0 1 pinlabel=12 T 1000 2450 5 8 0 1 0 0 1 pintype=pas } V 600 2700 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 650 2700 1200 2700 1 0 1 { T 1000 2750 5 8 1 1 0 0 1 pinnumber=4 T 1000 2750 5 8 0 0 0 0 1 pinseq=9 T 1000 2750 5 8 0 1 0 0 1 pinlabel=4 T 1000 2750 5 8 0 1 0 0 1 pintype=pas } V 300 3000 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 350 3000 1200 3000 1 0 1 { T 1000 3050 5 8 1 1 0 0 1 pinnumber=11 T 1000 3050 5 8 0 0 0 0 1 pinseq=10 T 1000 3050 5 8 0 1 0 0 1 pinlabel=11 T 1000 3050 5 8 0 1 0 0 1 pintype=pas } V 600 3300 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 650 3300 1200 3300 1 0 1 { T 1000 3350 5 8 1 1 0 0 1 pinnumber=3 T 1000 3350 5 8 0 0 0 0 1 pinseq=11 T 1000 3350 5 8 0 1 0 0 1 pinlabel=3 T 1000 3350 5 8 0 1 0 0 1 pintype=pas } V 300 3600 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 350 3600 1200 3600 1 0 1 { T 1000 3650 5 8 1 1 0 0 1 pinnumber=10 T 1000 3650 5 8 0 0 0 0 1 pinseq=12 T 1000 3650 5 8 0 1 0 0 1 pinlabel=10 T 1000 3650 5 8 0 1 0 0 1 pintype=pas } V 600 3900 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 650 3900 1200 3900 1 0 1 { T 1000 3950 5 8 1 1 0 0 1 pinnumber=2 T 1000 3950 5 8 0 0 0 0 1 pinseq=13 T 1000 3950 5 8 0 1 0 0 1 pinlabel=2 T 1000 3950 5 8 0 1 0 0 1 pintype=pas } V 300 4200 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 350 4200 1200 4200 1 0 1 { T 1000 4250 5 8 1 1 0 0 1 pinnumber=9 T 1000 4250 5 8 0 0 0 0 1 pinseq=14 T 1000 4250 5 8 0 1 0 0 1 pinlabel=9 T 1000 4250 5 8 0 1 0 0 1 pintype=pas } V 600 4500 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 650 4500 1200 4500 1 0 1 { T 1000 4550 5 8 1 1 0 0 1 pinnumber=1 T 1000 4550 5 8 0 0 0 0 1 pinseq=15 T 1000 4550 5 8 0 1 0 0 1 pinlabel=1 T 1000 4550 5 8 0 1 0 0 1 pintype=pas } L 39 234 703 8 3 0 0 0 -1 -1 L 701 4832 38 4566 3 0 0 0 -1 -1 T 100 5000 8 10 1 1 0 0 1 refdes=CONN? geda-gaf-1.8.2/symbols/connector/aui-1.sym0000664000175000017500000000627412204104272015233 00000000000000v 20031231 1 T 1400 3350 5 10 0 0 0 0 1 device=AUI A 1050 3390 150 0 110 3 0 0 0 -1 -1 A 375 3200 75 120 60 3 0 0 0 -1 -1 V 900 400 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 400 1500 400 1 0 1 { T 1300 450 5 8 1 1 0 0 1 pinnumber=8 T 1300 450 5 8 0 0 0 0 1 pinseq=8 T 800 250 3 4 1 1 0 0 1 pinlabel=CO-S } V 600 600 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 800 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 800 1500 800 1 0 1 { T 1300 850 5 8 1 1 0 0 1 pinnumber=7 T 1300 850 5 8 0 0 0 0 1 pinseq=7 T 800 650 3 4 1 1 0 0 1 pinlabel=CO-A } V 600 1000 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 1200 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 1200 1500 1200 1 0 1 { T 1300 1250 5 8 1 1 0 0 1 pinnumber=6 T 1300 1250 5 8 0 0 0 0 1 pinseq=6 T 850 1050 3 4 1 1 0 0 1 pinlabel=VC } V 600 1400 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 1600 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 1600 1500 1600 1 0 1 { T 1300 1650 5 8 1 1 0 0 1 pinnumber=5 T 1300 1650 5 8 0 0 0 0 1 pinseq=5 T 800 1450 3 4 1 1 0 0 1 pinlabel=DI-A } V 600 1800 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 2000 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 2000 1500 2000 1 0 1 { T 1300 2050 5 8 1 1 0 0 1 pinnumber=4 T 1300 2050 5 8 0 0 0 0 1 pinseq=4 T 800 1850 3 4 1 1 0 0 1 pinlabel=DI-S } V 600 2200 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 2400 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 2400 1500 2400 1 0 1 { T 1300 2450 5 8 1 1 0 0 1 pinnumber=3 T 1300 2450 5 8 0 0 0 0 1 pinseq=3 T 800 2250 3 4 1 1 0 0 1 pinlabel=DO-A } V 600 2600 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 2800 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 2800 1500 2800 1 0 1 { T 1300 2850 5 8 1 1 0 0 1 pinnumber=2 T 1300 2850 5 8 0 0 0 0 1 pinseq=2 T 800 2650 3 4 1 1 0 0 1 pinlabel=CI-A } V 600 3000 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 3200 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 3200 1500 3200 1 0 1 { T 1300 3250 5 8 1 1 0 0 1 pinnumber=1 T 1300 3250 5 8 0 0 0 0 1 pinseq=1 T 800 3050 3 4 1 1 0 0 1 pinlabel=CI-S } L 1001 3532 338 3266 3 0 0 0 -1 -1 P 550 3000 0 3000 1 0 1 { T 50 3050 5 8 1 1 0 0 1 pinnumber=9 T 50 3050 5 8 0 0 0 0 1 pinseq=9 T 500 2850 9 4 1 1 0 0 1 pinlabel=CI-B } P 550 2600 0 2600 1 0 1 { T 50 2650 5 8 1 1 0 0 1 pinnumber=10 T 50 2650 5 8 0 0 0 0 1 pinseq=10 T 500 2450 9 4 1 1 0 0 1 pinlabel=DO-B } P 550 2200 0 2200 1 0 1 { T 50 2250 5 8 1 1 0 0 1 pinnumber=11 T 50 2250 5 8 0 0 0 0 1 pinseq=11 T 500 2050 9 4 1 1 0 0 1 pinlabel=DO-S } P 550 1800 0 1800 1 0 1 { T 50 1850 5 8 1 1 0 0 1 pinnumber=12 T 50 1850 5 8 0 0 0 0 1 pinseq=12 T 500 1650 9 4 1 1 0 0 1 pinlabel=DI-B } P 550 1400 0 1400 1 0 1 { T 50 1450 5 8 1 1 0 0 1 pinnumber=13 T 50 1450 5 8 0 0 0 0 1 pinseq=13 T 550 1250 9 4 1 1 0 0 1 pinlabel=VP } P 550 1000 0 1000 1 0 1 { T 50 1050 5 8 1 1 0 0 1 pinnumber=14 T 50 1050 5 8 0 0 0 0 1 pinseq=14 T 500 850 9 4 1 1 0 0 1 pinlabel=VS } P 550 600 0 600 1 0 1 { T 50 650 5 8 1 1 0 0 1 pinnumber=15 T 50 650 5 8 0 0 0 0 1 pinseq=15 T 450 450 9 4 1 1 0 0 1 pinlabel=CO-B } A 1050 150 150 250 110 3 0 0 0 -1 -1 A 375 300 75 180 60 3 0 0 0 -1 -1 L 339 234 1003 8 3 0 0 0 -1 -1 L 1200 150 1200 3390 3 0 0 0 -1 -1 L 300 3200 300 300 3 0 0 0 -1 -1 T 400 3700 8 10 1 1 0 0 1 refdes=CONN? P 0 3400 300 3400 1 0 0 { T 50 3450 5 8 1 1 0 0 1 pinnumber=Shell T 50 3450 5 8 0 0 0 0 1 pinseq=16 } L 300 3400 670 3400 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/connector/DB25-3.sym0000664000175000017500000001420112204104272015100 00000000000000v 20041228 1 T 1400 5350 5 10 0 0 0 0 1 device=DB25 A 1050 5390 150 0 110 3 0 0 0 -1 -1 A 375 5200 75 120 60 3 0 0 0 -1 -1 V 900 400 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 400 1500 400 1 0 1 { T 1300 450 5 8 1 1 0 0 1 pinnumber=13 T 1518 428 5 8 0 0 0 0 1 pinseq=1 T 800 250 3 4 1 1 0 0 1 pinlabel=SLCT T 1508 306 5 10 0 1 0 0 1 pintype=pas } V 600 600 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 800 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 800 1500 800 1 0 1 { T 1300 850 5 8 1 1 0 0 1 pinnumber=12 T 1518 828 5 8 0 0 0 0 1 pinseq=3 T 800 650 3 4 1 1 0 0 1 pinlabel=PE T 1508 706 5 10 0 1 0 0 1 pintype=pas } V 600 1000 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 1200 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 1200 1500 1200 1 0 1 { T 1300 1250 5 8 1 1 0 0 1 pinnumber=11 T 1518 1228 5 8 0 0 0 0 1 pinseq=5 T 800 1050 3 4 1 1 0 0 1 pinlabel=BUSY T 1508 1106 5 10 0 1 0 0 1 pintype=pas } V 600 1400 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 1600 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 1600 1500 1600 1 0 1 { T 1300 1650 5 8 1 1 0 0 1 pinnumber=10 T 1518 1628 5 8 0 0 0 0 1 pinseq=7 T 800 1450 3 4 1 1 0 0 1 pinlabel=/ACK T 1508 1506 5 10 0 1 0 0 1 pintype=pas } V 600 1800 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 2000 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 2000 1500 2000 1 0 1 { T 1300 2050 5 8 1 1 0 0 1 pinnumber=9 T 1518 2028 5 8 0 0 0 0 1 pinseq=9 T 800 1850 3 4 1 1 0 0 1 pinlabel=DATA7 T 1508 1906 5 10 0 1 0 0 1 pintype=pas } V 600 2200 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 2400 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 2400 1500 2400 1 0 1 { T 1300 2450 5 8 1 1 0 0 1 pinnumber=8 T 1518 2428 5 8 0 0 0 0 1 pinseq=11 T 800 2250 3 4 1 1 0 0 1 pinlabel=DATA6 T 1508 2306 5 10 0 1 0 0 1 pintype=pas } V 600 2600 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 2800 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 2800 1500 2800 1 0 1 { T 1300 2850 5 8 1 1 0 0 1 pinnumber=7 T 1518 2828 5 8 0 0 0 0 1 pinseq=13 T 800 2650 3 4 1 1 0 0 1 pinlabel=DATA5 T 1508 2706 5 10 0 1 0 0 1 pintype=pas } V 600 3000 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 3200 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 3200 1500 3200 1 0 1 { T 1300 3250 5 8 1 1 0 0 1 pinnumber=6 T 1518 3228 5 8 0 0 0 0 1 pinseq=15 T 800 3050 3 4 1 1 0 0 1 pinlabel=DATA4 T 1508 3106 5 10 0 1 0 0 1 pintype=pas } V 600 3400 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 3600 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 3600 1500 3600 1 0 1 { T 1300 3650 5 8 1 1 0 0 1 pinnumber=5 T 1518 3628 5 8 0 0 0 0 1 pinseq=17 T 800 3450 3 4 1 1 0 0 1 pinlabel=DATA3 T 1508 3506 5 10 0 1 0 0 1 pintype=pas } V 600 3800 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 4000 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 4000 1500 4000 1 0 1 { T 1300 4050 5 8 1 1 0 0 1 pinnumber=4 T 1518 4028 5 8 0 0 0 0 1 pinseq=19 T 800 3850 3 4 1 1 0 0 1 pinlabel=DATA2 T 1508 3906 5 10 0 1 0 0 1 pintype=pas } V 600 4200 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 4400 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 4400 1500 4400 1 0 1 { T 1300 4450 5 8 1 1 0 0 1 pinnumber=3 T 1518 4428 5 8 0 0 0 0 1 pinseq=21 T 800 4250 3 4 1 1 0 0 1 pinlabel=DATA1 T 1508 4306 5 10 0 1 0 0 1 pintype=pas } V 600 4600 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 4800 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 4800 1500 4800 1 0 1 { T 1300 4850 5 8 1 1 0 0 1 pinnumber=2 T 1518 4828 5 8 0 0 0 0 1 pinseq=23 T 800 4650 3 4 1 1 0 0 1 pinlabel=DATA0 T 1508 4706 5 10 0 1 0 0 1 pintype=pas } V 600 5000 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 5200 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 5200 1500 5200 1 0 1 { T 1300 5250 5 8 1 1 0 0 1 pinnumber=1 T 1518 5228 5 8 0 0 0 0 1 pinseq=25 T 800 5050 3 4 1 1 0 0 1 pinlabel=/STROBE T 1508 5106 5 10 0 1 0 0 1 pintype=pas } L 1001 5532 338 5266 3 0 0 0 -1 -1 P 550 600 0 600 1 0 1 { T 50 650 5 8 1 1 0 0 1 pinnumber=25 T -758 570 5 8 0 0 0 0 1 pinseq=2 T 550 450 9 4 1 1 0 0 1 pinlabel=GND T -15 499 5 10 0 1 0 0 1 pintype=pas } P 550 1400 0 1400 1 0 1 { T 50 1450 5 8 1 1 0 0 1 pinnumber=23 T -758 1370 5 8 0 0 0 0 1 pinseq=6 T 550 1250 9 4 1 1 0 0 1 pinlabel=GND T -15 1299 5 10 0 1 0 0 1 pintype=pas } P 550 1000 0 1000 1 0 1 { T 50 1050 5 8 1 1 0 0 1 pinnumber=24 T -758 970 5 8 0 0 0 0 1 pinseq=4 T 550 850 9 4 1 1 0 0 1 pinlabel=GND T -15 899 5 10 0 1 0 0 1 pintype=pas } P 550 1800 0 1800 1 0 1 { T 50 1850 5 8 1 1 0 0 1 pinnumber=22 T -758 1770 5 8 0 0 0 0 1 pinseq=8 T 550 1650 9 4 1 1 0 0 1 pinlabel=GND T -15 1699 5 10 0 1 0 0 1 pintype=pas } P 550 2200 0 2200 1 0 1 { T 50 2250 5 8 1 1 0 0 1 pinnumber=21 T -758 2170 5 8 0 0 0 0 1 pinseq=10 T 550 2050 9 4 1 1 0 0 1 pinlabel=GND T -15 2099 5 10 0 1 0 0 1 pintype=pas } P 550 2600 0 2600 1 0 1 { T 50 2650 5 8 1 1 0 0 1 pinnumber=20 T -758 2570 5 8 0 0 0 0 1 pinseq=12 T 550 2450 9 4 1 1 0 0 1 pinlabel=GND T -15 2499 5 10 0 1 0 0 1 pintype=pas } P 550 3000 0 3000 1 0 1 { T 50 3050 5 8 1 1 0 0 1 pinnumber=19 T -758 2970 5 8 0 0 0 0 1 pinseq=14 T 550 2850 9 4 1 1 0 0 1 pinlabel=GND T -15 2899 5 10 0 1 0 0 1 pintype=pas } P 550 3400 0 3400 1 0 1 { T 50 3450 5 8 1 1 0 0 1 pinnumber=18 T -758 3370 5 8 0 0 0 0 1 pinseq=16 T 550 3250 9 4 1 1 0 0 1 pinlabel=GND T -15 3299 5 10 0 1 0 0 1 pintype=pas } P 550 3800 0 3800 1 0 1 { T 50 3850 5 8 1 1 0 0 1 pinnumber=17 T -758 3770 5 8 0 0 0 0 1 pinseq=18 T 400 3650 9 4 1 1 0 0 1 pinlabel=/SLCTIN T -15 3699 5 10 0 1 0 0 1 pintype=pas } P 550 4200 0 4200 1 0 1 { T 50 4250 5 8 1 1 0 0 1 pinnumber=16 T -758 4170 5 8 0 0 0 0 1 pinseq=20 T 550 4050 9 4 1 1 0 0 1 pinlabel=/INIT T -15 4099 5 10 0 1 0 0 1 pintype=pas } P 550 4600 0 4600 1 0 1 { T 50 4650 5 8 1 1 0 0 1 pinnumber=15 T -758 4570 5 8 0 0 0 0 1 pinseq=22 T 400 4450 9 4 1 1 0 0 1 pinlabel=/ERROR T -15 4499 5 10 0 1 0 0 1 pintype=pas } P 550 5000 0 5000 1 0 1 { T 50 5050 5 8 1 1 0 0 1 pinnumber=14 T -758 4970 5 8 0 0 0 0 1 pinseq=24 T 400 4850 9 4 1 1 0 0 1 pinlabel=/AUTOF T -15 4899 5 10 0 1 0 0 1 pintype=pas } A 1050 150 150 250 110 3 0 0 0 -1 -1 A 375 300 75 180 60 3 0 0 0 -1 -1 L 339 234 1003 8 3 0 0 0 -1 -1 L 1200 150 1200 5390 3 0 0 0 -1 -1 L 300 5200 300 300 3 0 0 0 -1 -1 T 400 5700 8 10 1 1 0 0 1 refdes=CONN? P 440 200 0 200 1 0 1 { T 50 250 5 8 1 1 0 0 1 pinnumber=26 T -758 170 5 8 0 0 0 0 1 pinseq=26 T 470 200 9 4 1 1 0 0 1 pinlabel=SHELL T -8 70 5 10 0 1 0 0 1 pintype=pas } T 1300 5700 8 10 0 1 0 0 1 description=25-pin male or female DB-25 connector T 1300 5900 8 10 0 0 0 0 1 numslots=0 geda-gaf-1.8.2/symbols/connector/connector29-2.sym0000664000175000017500000001515512204104272016621 00000000000000v 20041228 1 T 800 12200 8 10 1 1 0 6 1 refdes=CONN? T 400 12150 5 10 0 0 0 0 1 device=CONNECTOR_29 T 400 12350 5 10 0 0 0 0 1 footprint=SIP29N T 400 12550 5 10 0 0 0 0 1 author=Leon Kos T 400 12750 5 10 0 0 0 0 1 description=generic connector T 400 12950 5 10 0 0 0 0 1 numslots=0 P 100 11700 300 11700 1 0 0 { T 300 11750 5 8 0 1 0 6 1 pinnumber=1 T 300 11650 5 8 0 1 0 8 1 pinseq=1 T 450 11700 9 8 1 1 0 0 1 pinlabel=1 T 450 11700 5 8 0 1 0 2 1 pintype=pas } V 350 11700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 11300 300 11300 1 0 0 { T 300 11350 5 8 0 1 0 6 1 pinnumber=2 T 300 11250 5 8 0 1 0 8 1 pinseq=2 T 450 11300 9 8 1 1 0 0 1 pinlabel=2 T 450 11300 5 8 0 1 0 2 1 pintype=pas } V 350 11300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 10900 300 10900 1 0 0 { T 300 10950 5 8 0 1 0 6 1 pinnumber=3 T 300 10850 5 8 0 1 0 8 1 pinseq=3 T 450 10900 9 8 1 1 0 0 1 pinlabel=3 T 450 10900 5 8 0 1 0 2 1 pintype=pas } V 350 10900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 10500 300 10500 1 0 0 { T 300 10550 5 8 0 1 0 6 1 pinnumber=4 T 300 10450 5 8 0 1 0 8 1 pinseq=4 T 450 10500 9 8 1 1 0 0 1 pinlabel=4 T 450 10500 5 8 0 1 0 2 1 pintype=pas } V 350 10500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 10100 300 10100 1 0 0 { T 300 10150 5 8 0 1 0 6 1 pinnumber=5 T 300 10050 5 8 0 1 0 8 1 pinseq=5 T 450 10100 9 8 1 1 0 0 1 pinlabel=5 T 450 10100 5 8 0 1 0 2 1 pintype=pas } V 350 10100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 9700 300 9700 1 0 0 { T 300 9750 5 8 0 1 0 6 1 pinnumber=6 T 300 9650 5 8 0 1 0 8 1 pinseq=6 T 450 9700 9 8 1 1 0 0 1 pinlabel=6 T 450 9700 5 8 0 1 0 2 1 pintype=pas } V 350 9700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 9300 300 9300 1 0 0 { T 300 9350 5 8 0 1 0 6 1 pinnumber=7 T 300 9250 5 8 0 1 0 8 1 pinseq=7 T 450 9300 9 8 1 1 0 0 1 pinlabel=7 T 450 9300 5 8 0 1 0 2 1 pintype=pas } V 350 9300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8900 300 8900 1 0 0 { T 300 8950 5 8 0 1 0 6 1 pinnumber=8 T 300 8850 5 8 0 1 0 8 1 pinseq=8 T 450 8900 9 8 1 1 0 0 1 pinlabel=8 T 450 8900 5 8 0 1 0 2 1 pintype=pas } V 350 8900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8500 300 8500 1 0 0 { T 300 8550 5 8 0 1 0 6 1 pinnumber=9 T 300 8450 5 8 0 1 0 8 1 pinseq=9 T 450 8500 9 8 1 1 0 0 1 pinlabel=9 T 450 8500 5 8 0 1 0 2 1 pintype=pas } V 350 8500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8100 300 8100 1 0 0 { T 300 8150 5 8 0 1 0 6 1 pinnumber=10 T 300 8050 5 8 0 1 0 8 1 pinseq=10 T 450 8100 9 8 1 1 0 0 1 pinlabel=10 T 450 8100 5 8 0 1 0 2 1 pintype=pas } V 350 8100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 7700 300 7700 1 0 0 { T 300 7750 5 8 0 1 0 6 1 pinnumber=11 T 300 7650 5 8 0 1 0 8 1 pinseq=11 T 450 7700 9 8 1 1 0 0 1 pinlabel=11 T 450 7700 5 8 0 1 0 2 1 pintype=pas } V 350 7700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 7300 300 7300 1 0 0 { T 300 7350 5 8 0 1 0 6 1 pinnumber=12 T 300 7250 5 8 0 1 0 8 1 pinseq=12 T 450 7300 9 8 1 1 0 0 1 pinlabel=12 T 450 7300 5 8 0 1 0 2 1 pintype=pas } V 350 7300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6900 300 6900 1 0 0 { T 300 6950 5 8 0 1 0 6 1 pinnumber=13 T 300 6850 5 8 0 1 0 8 1 pinseq=13 T 450 6900 9 8 1 1 0 0 1 pinlabel=13 T 450 6900 5 8 0 1 0 2 1 pintype=pas } V 350 6900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6500 300 6500 1 0 0 { T 300 6550 5 8 0 1 0 6 1 pinnumber=14 T 300 6450 5 8 0 1 0 8 1 pinseq=14 T 450 6500 9 8 1 1 0 0 1 pinlabel=14 T 450 6500 5 8 0 1 0 2 1 pintype=pas } V 350 6500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6100 300 6100 1 0 0 { T 300 6150 5 8 0 1 0 6 1 pinnumber=15 T 300 6050 5 8 0 1 0 8 1 pinseq=15 T 450 6100 9 8 1 1 0 0 1 pinlabel=15 T 450 6100 5 8 0 1 0 2 1 pintype=pas } V 350 6100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 5700 300 5700 1 0 0 { T 300 5750 5 8 0 1 0 6 1 pinnumber=16 T 300 5650 5 8 0 1 0 8 1 pinseq=16 T 450 5700 9 8 1 1 0 0 1 pinlabel=16 T 450 5700 5 8 0 1 0 2 1 pintype=pas } V 350 5700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 5300 300 5300 1 0 0 { T 300 5350 5 8 0 1 0 6 1 pinnumber=17 T 300 5250 5 8 0 1 0 8 1 pinseq=17 T 450 5300 9 8 1 1 0 0 1 pinlabel=17 T 450 5300 5 8 0 1 0 2 1 pintype=pas } V 350 5300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4900 300 4900 1 0 0 { T 300 4950 5 8 0 1 0 6 1 pinnumber=18 T 300 4850 5 8 0 1 0 8 1 pinseq=18 T 450 4900 9 8 1 1 0 0 1 pinlabel=18 T 450 4900 5 8 0 1 0 2 1 pintype=pas } V 350 4900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4500 300 4500 1 0 0 { T 300 4550 5 8 0 1 0 6 1 pinnumber=19 T 300 4450 5 8 0 1 0 8 1 pinseq=19 T 450 4500 9 8 1 1 0 0 1 pinlabel=19 T 450 4500 5 8 0 1 0 2 1 pintype=pas } V 350 4500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4100 300 4100 1 0 0 { T 300 4150 5 8 0 1 0 6 1 pinnumber=20 T 300 4050 5 8 0 1 0 8 1 pinseq=20 T 450 4100 9 8 1 1 0 0 1 pinlabel=20 T 450 4100 5 8 0 1 0 2 1 pintype=pas } V 350 4100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 3700 300 3700 1 0 0 { T 300 3750 5 8 0 1 0 6 1 pinnumber=21 T 300 3650 5 8 0 1 0 8 1 pinseq=21 T 450 3700 9 8 1 1 0 0 1 pinlabel=21 T 450 3700 5 8 0 1 0 2 1 pintype=pas } V 350 3700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 3300 300 3300 1 0 0 { T 300 3350 5 8 0 1 0 6 1 pinnumber=22 T 300 3250 5 8 0 1 0 8 1 pinseq=22 T 450 3300 9 8 1 1 0 0 1 pinlabel=22 T 450 3300 5 8 0 1 0 2 1 pintype=pas } V 350 3300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2900 300 2900 1 0 0 { T 300 2950 5 8 0 1 0 6 1 pinnumber=23 T 300 2850 5 8 0 1 0 8 1 pinseq=23 T 450 2900 9 8 1 1 0 0 1 pinlabel=23 T 450 2900 5 8 0 1 0 2 1 pintype=pas } V 350 2900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2500 300 2500 1 0 0 { T 300 2550 5 8 0 1 0 6 1 pinnumber=24 T 300 2450 5 8 0 1 0 8 1 pinseq=24 T 450 2500 9 8 1 1 0 0 1 pinlabel=24 T 450 2500 5 8 0 1 0 2 1 pintype=pas } V 350 2500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2100 300 2100 1 0 0 { T 300 2150 5 8 0 1 0 6 1 pinnumber=25 T 300 2050 5 8 0 1 0 8 1 pinseq=25 T 450 2100 9 8 1 1 0 0 1 pinlabel=25 T 450 2100 5 8 0 1 0 2 1 pintype=pas } V 350 2100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1700 300 1700 1 0 0 { T 300 1750 5 8 0 1 0 6 1 pinnumber=26 T 300 1650 5 8 0 1 0 8 1 pinseq=26 T 450 1700 9 8 1 1 0 0 1 pinlabel=26 T 450 1700 5 8 0 1 0 2 1 pintype=pas } V 350 1700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1300 300 1300 1 0 0 { T 300 1350 5 8 0 1 0 6 1 pinnumber=27 T 300 1250 5 8 0 1 0 8 1 pinseq=27 T 450 1300 9 8 1 1 0 0 1 pinlabel=27 T 450 1300 5 8 0 1 0 2 1 pintype=pas } V 350 1300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 900 300 900 1 0 0 { T 300 950 5 8 0 1 0 6 1 pinnumber=28 T 300 850 5 8 0 1 0 8 1 pinseq=28 T 450 900 9 8 1 1 0 0 1 pinlabel=28 T 450 900 5 8 0 1 0 2 1 pintype=pas } V 350 900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 500 300 500 1 0 0 { T 300 550 5 8 0 1 0 6 1 pinnumber=29 T 300 450 5 8 0 1 0 8 1 pinseq=29 T 450 500 9 8 1 1 0 0 1 pinlabel=29 T 450 500 5 8 0 1 0 2 1 pintype=pas } V 350 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 400 100 400 12000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/connector/connector34-2.sym0000664000175000017500000001734612204104272016621 00000000000000v 20041228 1 T 800 14200 8 10 1 1 0 6 1 refdes=CONN? T 400 14150 5 10 0 0 0 0 1 device=CONNECTOR_34 T 400 14350 5 10 0 0 0 0 1 footprint=SIP34N T 400 14550 5 10 0 0 0 0 1 author=Leon Kos T 400 14750 5 10 0 0 0 0 1 description=generic connector T 400 14950 5 10 0 0 0 0 1 numslots=0 P 100 13700 300 13700 1 0 0 { T 300 13750 5 8 0 1 0 6 1 pinnumber=1 T 300 13650 5 8 0 1 0 8 1 pinseq=1 T 450 13700 9 8 1 1 0 0 1 pinlabel=1 T 450 13700 5 8 0 1 0 2 1 pintype=pas } V 350 13700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 13300 300 13300 1 0 0 { T 300 13350 5 8 0 1 0 6 1 pinnumber=2 T 300 13250 5 8 0 1 0 8 1 pinseq=2 T 450 13300 9 8 1 1 0 0 1 pinlabel=2 T 450 13300 5 8 0 1 0 2 1 pintype=pas } V 350 13300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 12900 300 12900 1 0 0 { T 300 12950 5 8 0 1 0 6 1 pinnumber=3 T 300 12850 5 8 0 1 0 8 1 pinseq=3 T 450 12900 9 8 1 1 0 0 1 pinlabel=3 T 450 12900 5 8 0 1 0 2 1 pintype=pas } V 350 12900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 12500 300 12500 1 0 0 { T 300 12550 5 8 0 1 0 6 1 pinnumber=4 T 300 12450 5 8 0 1 0 8 1 pinseq=4 T 450 12500 9 8 1 1 0 0 1 pinlabel=4 T 450 12500 5 8 0 1 0 2 1 pintype=pas } V 350 12500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 12100 300 12100 1 0 0 { T 300 12150 5 8 0 1 0 6 1 pinnumber=5 T 300 12050 5 8 0 1 0 8 1 pinseq=5 T 450 12100 9 8 1 1 0 0 1 pinlabel=5 T 450 12100 5 8 0 1 0 2 1 pintype=pas } V 350 12100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 11700 300 11700 1 0 0 { T 300 11750 5 8 0 1 0 6 1 pinnumber=6 T 300 11650 5 8 0 1 0 8 1 pinseq=6 T 450 11700 9 8 1 1 0 0 1 pinlabel=6 T 450 11700 5 8 0 1 0 2 1 pintype=pas } V 350 11700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 11300 300 11300 1 0 0 { T 300 11350 5 8 0 1 0 6 1 pinnumber=7 T 300 11250 5 8 0 1 0 8 1 pinseq=7 T 450 11300 9 8 1 1 0 0 1 pinlabel=7 T 450 11300 5 8 0 1 0 2 1 pintype=pas } V 350 11300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 10900 300 10900 1 0 0 { T 300 10950 5 8 0 1 0 6 1 pinnumber=8 T 300 10850 5 8 0 1 0 8 1 pinseq=8 T 450 10900 9 8 1 1 0 0 1 pinlabel=8 T 450 10900 5 8 0 1 0 2 1 pintype=pas } V 350 10900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 10500 300 10500 1 0 0 { T 300 10550 5 8 0 1 0 6 1 pinnumber=9 T 300 10450 5 8 0 1 0 8 1 pinseq=9 T 450 10500 9 8 1 1 0 0 1 pinlabel=9 T 450 10500 5 8 0 1 0 2 1 pintype=pas } V 350 10500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 10100 300 10100 1 0 0 { T 300 10150 5 8 0 1 0 6 1 pinnumber=10 T 300 10050 5 8 0 1 0 8 1 pinseq=10 T 450 10100 9 8 1 1 0 0 1 pinlabel=10 T 450 10100 5 8 0 1 0 2 1 pintype=pas } V 350 10100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 9700 300 9700 1 0 0 { T 300 9750 5 8 0 1 0 6 1 pinnumber=11 T 300 9650 5 8 0 1 0 8 1 pinseq=11 T 450 9700 9 8 1 1 0 0 1 pinlabel=11 T 450 9700 5 8 0 1 0 2 1 pintype=pas } V 350 9700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 9300 300 9300 1 0 0 { T 300 9350 5 8 0 1 0 6 1 pinnumber=12 T 300 9250 5 8 0 1 0 8 1 pinseq=12 T 450 9300 9 8 1 1 0 0 1 pinlabel=12 T 450 9300 5 8 0 1 0 2 1 pintype=pas } V 350 9300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8900 300 8900 1 0 0 { T 300 8950 5 8 0 1 0 6 1 pinnumber=13 T 300 8850 5 8 0 1 0 8 1 pinseq=13 T 450 8900 9 8 1 1 0 0 1 pinlabel=13 T 450 8900 5 8 0 1 0 2 1 pintype=pas } V 350 8900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8500 300 8500 1 0 0 { T 300 8550 5 8 0 1 0 6 1 pinnumber=14 T 300 8450 5 8 0 1 0 8 1 pinseq=14 T 450 8500 9 8 1 1 0 0 1 pinlabel=14 T 450 8500 5 8 0 1 0 2 1 pintype=pas } V 350 8500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8100 300 8100 1 0 0 { T 300 8150 5 8 0 1 0 6 1 pinnumber=15 T 300 8050 5 8 0 1 0 8 1 pinseq=15 T 450 8100 9 8 1 1 0 0 1 pinlabel=15 T 450 8100 5 8 0 1 0 2 1 pintype=pas } V 350 8100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 7700 300 7700 1 0 0 { T 300 7750 5 8 0 1 0 6 1 pinnumber=16 T 300 7650 5 8 0 1 0 8 1 pinseq=16 T 450 7700 9 8 1 1 0 0 1 pinlabel=16 T 450 7700 5 8 0 1 0 2 1 pintype=pas } V 350 7700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 7300 300 7300 1 0 0 { T 300 7350 5 8 0 1 0 6 1 pinnumber=17 T 300 7250 5 8 0 1 0 8 1 pinseq=17 T 450 7300 9 8 1 1 0 0 1 pinlabel=17 T 450 7300 5 8 0 1 0 2 1 pintype=pas } V 350 7300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6900 300 6900 1 0 0 { T 300 6950 5 8 0 1 0 6 1 pinnumber=18 T 300 6850 5 8 0 1 0 8 1 pinseq=18 T 450 6900 9 8 1 1 0 0 1 pinlabel=18 T 450 6900 5 8 0 1 0 2 1 pintype=pas } V 350 6900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6500 300 6500 1 0 0 { T 300 6550 5 8 0 1 0 6 1 pinnumber=19 T 300 6450 5 8 0 1 0 8 1 pinseq=19 T 450 6500 9 8 1 1 0 0 1 pinlabel=19 T 450 6500 5 8 0 1 0 2 1 pintype=pas } V 350 6500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6100 300 6100 1 0 0 { T 300 6150 5 8 0 1 0 6 1 pinnumber=20 T 300 6050 5 8 0 1 0 8 1 pinseq=20 T 450 6100 9 8 1 1 0 0 1 pinlabel=20 T 450 6100 5 8 0 1 0 2 1 pintype=pas } V 350 6100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 5700 300 5700 1 0 0 { T 300 5750 5 8 0 1 0 6 1 pinnumber=21 T 300 5650 5 8 0 1 0 8 1 pinseq=21 T 450 5700 9 8 1 1 0 0 1 pinlabel=21 T 450 5700 5 8 0 1 0 2 1 pintype=pas } V 350 5700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 5300 300 5300 1 0 0 { T 300 5350 5 8 0 1 0 6 1 pinnumber=22 T 300 5250 5 8 0 1 0 8 1 pinseq=22 T 450 5300 9 8 1 1 0 0 1 pinlabel=22 T 450 5300 5 8 0 1 0 2 1 pintype=pas } V 350 5300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4900 300 4900 1 0 0 { T 300 4950 5 8 0 1 0 6 1 pinnumber=23 T 300 4850 5 8 0 1 0 8 1 pinseq=23 T 450 4900 9 8 1 1 0 0 1 pinlabel=23 T 450 4900 5 8 0 1 0 2 1 pintype=pas } V 350 4900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4500 300 4500 1 0 0 { T 300 4550 5 8 0 1 0 6 1 pinnumber=24 T 300 4450 5 8 0 1 0 8 1 pinseq=24 T 450 4500 9 8 1 1 0 0 1 pinlabel=24 T 450 4500 5 8 0 1 0 2 1 pintype=pas } V 350 4500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4100 300 4100 1 0 0 { T 300 4150 5 8 0 1 0 6 1 pinnumber=25 T 300 4050 5 8 0 1 0 8 1 pinseq=25 T 450 4100 9 8 1 1 0 0 1 pinlabel=25 T 450 4100 5 8 0 1 0 2 1 pintype=pas } V 350 4100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 3700 300 3700 1 0 0 { T 300 3750 5 8 0 1 0 6 1 pinnumber=26 T 300 3650 5 8 0 1 0 8 1 pinseq=26 T 450 3700 9 8 1 1 0 0 1 pinlabel=26 T 450 3700 5 8 0 1 0 2 1 pintype=pas } V 350 3700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 3300 300 3300 1 0 0 { T 300 3350 5 8 0 1 0 6 1 pinnumber=27 T 300 3250 5 8 0 1 0 8 1 pinseq=27 T 450 3300 9 8 1 1 0 0 1 pinlabel=27 T 450 3300 5 8 0 1 0 2 1 pintype=pas } V 350 3300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2900 300 2900 1 0 0 { T 300 2950 5 8 0 1 0 6 1 pinnumber=28 T 300 2850 5 8 0 1 0 8 1 pinseq=28 T 450 2900 9 8 1 1 0 0 1 pinlabel=28 T 450 2900 5 8 0 1 0 2 1 pintype=pas } V 350 2900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2500 300 2500 1 0 0 { T 300 2550 5 8 0 1 0 6 1 pinnumber=29 T 300 2450 5 8 0 1 0 8 1 pinseq=29 T 450 2500 9 8 1 1 0 0 1 pinlabel=29 T 450 2500 5 8 0 1 0 2 1 pintype=pas } V 350 2500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2100 300 2100 1 0 0 { T 300 2150 5 8 0 1 0 6 1 pinnumber=30 T 300 2050 5 8 0 1 0 8 1 pinseq=30 T 450 2100 9 8 1 1 0 0 1 pinlabel=30 T 450 2100 5 8 0 1 0 2 1 pintype=pas } V 350 2100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1700 300 1700 1 0 0 { T 300 1750 5 8 0 1 0 6 1 pinnumber=31 T 300 1650 5 8 0 1 0 8 1 pinseq=31 T 450 1700 9 8 1 1 0 0 1 pinlabel=31 T 450 1700 5 8 0 1 0 2 1 pintype=pas } V 350 1700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1300 300 1300 1 0 0 { T 300 1350 5 8 0 1 0 6 1 pinnumber=32 T 300 1250 5 8 0 1 0 8 1 pinseq=32 T 450 1300 9 8 1 1 0 0 1 pinlabel=32 T 450 1300 5 8 0 1 0 2 1 pintype=pas } V 350 1300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 900 300 900 1 0 0 { T 300 950 5 8 0 1 0 6 1 pinnumber=33 T 300 850 5 8 0 1 0 8 1 pinseq=33 T 450 900 9 8 1 1 0 0 1 pinlabel=33 T 450 900 5 8 0 1 0 2 1 pintype=pas } V 350 900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 500 300 500 1 0 0 { T 300 550 5 8 0 1 0 6 1 pinnumber=34 T 300 450 5 8 0 1 0 8 1 pinseq=34 T 450 500 9 8 1 1 0 0 1 pinlabel=34 T 450 500 5 8 0 1 0 2 1 pintype=pas } V 350 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 400 100 400 14000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/connector/connector38-2.sym0000664000175000017500000002117212204104272016615 00000000000000v 20041228 1 T 800 15800 8 10 1 1 0 6 1 refdes=CONN? T 400 15750 5 10 0 0 0 0 1 device=CONNECTOR_38 T 400 15950 5 10 0 0 0 0 1 footprint=SIP38N T 400 16150 5 10 0 0 0 0 1 author=Leon Kos T 400 16350 5 10 0 0 0 0 1 description=generic connector T 400 16550 5 10 0 0 0 0 1 numslots=0 P 100 15300 300 15300 1 0 0 { T 300 15350 5 8 0 1 0 6 1 pinnumber=1 T 300 15250 5 8 0 1 0 8 1 pinseq=1 T 450 15300 9 8 1 1 0 0 1 pinlabel=1 T 450 15300 5 8 0 1 0 2 1 pintype=pas } V 350 15300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 14900 300 14900 1 0 0 { T 300 14950 5 8 0 1 0 6 1 pinnumber=2 T 300 14850 5 8 0 1 0 8 1 pinseq=2 T 450 14900 9 8 1 1 0 0 1 pinlabel=2 T 450 14900 5 8 0 1 0 2 1 pintype=pas } V 350 14900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 14500 300 14500 1 0 0 { T 300 14550 5 8 0 1 0 6 1 pinnumber=3 T 300 14450 5 8 0 1 0 8 1 pinseq=3 T 450 14500 9 8 1 1 0 0 1 pinlabel=3 T 450 14500 5 8 0 1 0 2 1 pintype=pas } V 350 14500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 14100 300 14100 1 0 0 { T 300 14150 5 8 0 1 0 6 1 pinnumber=4 T 300 14050 5 8 0 1 0 8 1 pinseq=4 T 450 14100 9 8 1 1 0 0 1 pinlabel=4 T 450 14100 5 8 0 1 0 2 1 pintype=pas } V 350 14100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 13700 300 13700 1 0 0 { T 300 13750 5 8 0 1 0 6 1 pinnumber=5 T 300 13650 5 8 0 1 0 8 1 pinseq=5 T 450 13700 9 8 1 1 0 0 1 pinlabel=5 T 450 13700 5 8 0 1 0 2 1 pintype=pas } V 350 13700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 13300 300 13300 1 0 0 { T 300 13350 5 8 0 1 0 6 1 pinnumber=6 T 300 13250 5 8 0 1 0 8 1 pinseq=6 T 450 13300 9 8 1 1 0 0 1 pinlabel=6 T 450 13300 5 8 0 1 0 2 1 pintype=pas } V 350 13300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 12900 300 12900 1 0 0 { T 300 12950 5 8 0 1 0 6 1 pinnumber=7 T 300 12850 5 8 0 1 0 8 1 pinseq=7 T 450 12900 9 8 1 1 0 0 1 pinlabel=7 T 450 12900 5 8 0 1 0 2 1 pintype=pas } V 350 12900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 12500 300 12500 1 0 0 { T 300 12550 5 8 0 1 0 6 1 pinnumber=8 T 300 12450 5 8 0 1 0 8 1 pinseq=8 T 450 12500 9 8 1 1 0 0 1 pinlabel=8 T 450 12500 5 8 0 1 0 2 1 pintype=pas } V 350 12500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 12100 300 12100 1 0 0 { T 300 12150 5 8 0 1 0 6 1 pinnumber=9 T 300 12050 5 8 0 1 0 8 1 pinseq=9 T 450 12100 9 8 1 1 0 0 1 pinlabel=9 T 450 12100 5 8 0 1 0 2 1 pintype=pas } V 350 12100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 11700 300 11700 1 0 0 { T 300 11750 5 8 0 1 0 6 1 pinnumber=10 T 300 11650 5 8 0 1 0 8 1 pinseq=10 T 450 11700 9 8 1 1 0 0 1 pinlabel=10 T 450 11700 5 8 0 1 0 2 1 pintype=pas } V 350 11700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 11300 300 11300 1 0 0 { T 300 11350 5 8 0 1 0 6 1 pinnumber=11 T 300 11250 5 8 0 1 0 8 1 pinseq=11 T 450 11300 9 8 1 1 0 0 1 pinlabel=11 T 450 11300 5 8 0 1 0 2 1 pintype=pas } V 350 11300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 10900 300 10900 1 0 0 { T 300 10950 5 8 0 1 0 6 1 pinnumber=12 T 300 10850 5 8 0 1 0 8 1 pinseq=12 T 450 10900 9 8 1 1 0 0 1 pinlabel=12 T 450 10900 5 8 0 1 0 2 1 pintype=pas } V 350 10900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 10500 300 10500 1 0 0 { T 300 10550 5 8 0 1 0 6 1 pinnumber=13 T 300 10450 5 8 0 1 0 8 1 pinseq=13 T 450 10500 9 8 1 1 0 0 1 pinlabel=13 T 450 10500 5 8 0 1 0 2 1 pintype=pas } V 350 10500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 10100 300 10100 1 0 0 { T 300 10150 5 8 0 1 0 6 1 pinnumber=14 T 300 10050 5 8 0 1 0 8 1 pinseq=14 T 450 10100 9 8 1 1 0 0 1 pinlabel=14 T 450 10100 5 8 0 1 0 2 1 pintype=pas } V 350 10100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 9700 300 9700 1 0 0 { T 300 9750 5 8 0 1 0 6 1 pinnumber=15 T 300 9650 5 8 0 1 0 8 1 pinseq=15 T 450 9700 9 8 1 1 0 0 1 pinlabel=15 T 450 9700 5 8 0 1 0 2 1 pintype=pas } V 350 9700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 9300 300 9300 1 0 0 { T 300 9350 5 8 0 1 0 6 1 pinnumber=16 T 300 9250 5 8 0 1 0 8 1 pinseq=16 T 450 9300 9 8 1 1 0 0 1 pinlabel=16 T 450 9300 5 8 0 1 0 2 1 pintype=pas } V 350 9300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8900 300 8900 1 0 0 { T 300 8950 5 8 0 1 0 6 1 pinnumber=17 T 300 8850 5 8 0 1 0 8 1 pinseq=17 T 450 8900 9 8 1 1 0 0 1 pinlabel=17 T 450 8900 5 8 0 1 0 2 1 pintype=pas } V 350 8900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8500 300 8500 1 0 0 { T 300 8550 5 8 0 1 0 6 1 pinnumber=18 T 300 8450 5 8 0 1 0 8 1 pinseq=18 T 450 8500 9 8 1 1 0 0 1 pinlabel=18 T 450 8500 5 8 0 1 0 2 1 pintype=pas } V 350 8500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8100 300 8100 1 0 0 { T 300 8150 5 8 0 1 0 6 1 pinnumber=19 T 300 8050 5 8 0 1 0 8 1 pinseq=19 T 450 8100 9 8 1 1 0 0 1 pinlabel=19 T 450 8100 5 8 0 1 0 2 1 pintype=pas } V 350 8100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 7700 300 7700 1 0 0 { T 300 7750 5 8 0 1 0 6 1 pinnumber=20 T 300 7650 5 8 0 1 0 8 1 pinseq=20 T 450 7700 9 8 1 1 0 0 1 pinlabel=20 T 450 7700 5 8 0 1 0 2 1 pintype=pas } V 350 7700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 7300 300 7300 1 0 0 { T 300 7350 5 8 0 1 0 6 1 pinnumber=21 T 300 7250 5 8 0 1 0 8 1 pinseq=21 T 450 7300 9 8 1 1 0 0 1 pinlabel=21 T 450 7300 5 8 0 1 0 2 1 pintype=pas } V 350 7300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6900 300 6900 1 0 0 { T 300 6950 5 8 0 1 0 6 1 pinnumber=22 T 300 6850 5 8 0 1 0 8 1 pinseq=22 T 450 6900 9 8 1 1 0 0 1 pinlabel=22 T 450 6900 5 8 0 1 0 2 1 pintype=pas } V 350 6900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6500 300 6500 1 0 0 { T 300 6550 5 8 0 1 0 6 1 pinnumber=23 T 300 6450 5 8 0 1 0 8 1 pinseq=23 T 450 6500 9 8 1 1 0 0 1 pinlabel=23 T 450 6500 5 8 0 1 0 2 1 pintype=pas } V 350 6500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6100 300 6100 1 0 0 { T 300 6150 5 8 0 1 0 6 1 pinnumber=24 T 300 6050 5 8 0 1 0 8 1 pinseq=24 T 450 6100 9 8 1 1 0 0 1 pinlabel=24 T 450 6100 5 8 0 1 0 2 1 pintype=pas } V 350 6100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 5700 300 5700 1 0 0 { T 300 5750 5 8 0 1 0 6 1 pinnumber=25 T 300 5650 5 8 0 1 0 8 1 pinseq=25 T 450 5700 9 8 1 1 0 0 1 pinlabel=25 T 450 5700 5 8 0 1 0 2 1 pintype=pas } V 350 5700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 5300 300 5300 1 0 0 { T 300 5350 5 8 0 1 0 6 1 pinnumber=26 T 300 5250 5 8 0 1 0 8 1 pinseq=26 T 450 5300 9 8 1 1 0 0 1 pinlabel=26 T 450 5300 5 8 0 1 0 2 1 pintype=pas } V 350 5300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4900 300 4900 1 0 0 { T 300 4950 5 8 0 1 0 6 1 pinnumber=27 T 300 4850 5 8 0 1 0 8 1 pinseq=27 T 450 4900 9 8 1 1 0 0 1 pinlabel=27 T 450 4900 5 8 0 1 0 2 1 pintype=pas } V 350 4900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4500 300 4500 1 0 0 { T 300 4550 5 8 0 1 0 6 1 pinnumber=28 T 300 4450 5 8 0 1 0 8 1 pinseq=28 T 450 4500 9 8 1 1 0 0 1 pinlabel=28 T 450 4500 5 8 0 1 0 2 1 pintype=pas } V 350 4500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4100 300 4100 1 0 0 { T 300 4150 5 8 0 1 0 6 1 pinnumber=29 T 300 4050 5 8 0 1 0 8 1 pinseq=29 T 450 4100 9 8 1 1 0 0 1 pinlabel=29 T 450 4100 5 8 0 1 0 2 1 pintype=pas } V 350 4100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 3700 300 3700 1 0 0 { T 300 3750 5 8 0 1 0 6 1 pinnumber=30 T 300 3650 5 8 0 1 0 8 1 pinseq=30 T 450 3700 9 8 1 1 0 0 1 pinlabel=30 T 450 3700 5 8 0 1 0 2 1 pintype=pas } V 350 3700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 3300 300 3300 1 0 0 { T 300 3350 5 8 0 1 0 6 1 pinnumber=31 T 300 3250 5 8 0 1 0 8 1 pinseq=31 T 450 3300 9 8 1 1 0 0 1 pinlabel=31 T 450 3300 5 8 0 1 0 2 1 pintype=pas } V 350 3300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2900 300 2900 1 0 0 { T 300 2950 5 8 0 1 0 6 1 pinnumber=32 T 300 2850 5 8 0 1 0 8 1 pinseq=32 T 450 2900 9 8 1 1 0 0 1 pinlabel=32 T 450 2900 5 8 0 1 0 2 1 pintype=pas } V 350 2900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2500 300 2500 1 0 0 { T 300 2550 5 8 0 1 0 6 1 pinnumber=33 T 300 2450 5 8 0 1 0 8 1 pinseq=33 T 450 2500 9 8 1 1 0 0 1 pinlabel=33 T 450 2500 5 8 0 1 0 2 1 pintype=pas } V 350 2500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2100 300 2100 1 0 0 { T 300 2150 5 8 0 1 0 6 1 pinnumber=34 T 300 2050 5 8 0 1 0 8 1 pinseq=34 T 450 2100 9 8 1 1 0 0 1 pinlabel=34 T 450 2100 5 8 0 1 0 2 1 pintype=pas } V 350 2100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1700 300 1700 1 0 0 { T 300 1750 5 8 0 1 0 6 1 pinnumber=35 T 300 1650 5 8 0 1 0 8 1 pinseq=35 T 450 1700 9 8 1 1 0 0 1 pinlabel=35 T 450 1700 5 8 0 1 0 2 1 pintype=pas } V 350 1700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1300 300 1300 1 0 0 { T 300 1350 5 8 0 1 0 6 1 pinnumber=36 T 300 1250 5 8 0 1 0 8 1 pinseq=36 T 450 1300 9 8 1 1 0 0 1 pinlabel=36 T 450 1300 5 8 0 1 0 2 1 pintype=pas } V 350 1300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 900 300 900 1 0 0 { T 300 950 5 8 0 1 0 6 1 pinnumber=37 T 300 850 5 8 0 1 0 8 1 pinseq=37 T 450 900 9 8 1 1 0 0 1 pinlabel=37 T 450 900 5 8 0 1 0 2 1 pintype=pas } V 350 900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 500 300 500 1 0 0 { T 300 550 5 8 0 1 0 6 1 pinnumber=38 T 300 450 5 8 0 1 0 8 1 pinseq=38 T 450 500 9 8 1 1 0 0 1 pinlabel=38 T 450 500 5 8 0 1 0 2 1 pintype=pas } V 350 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 400 100 400 15600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/connector/header10-2.sym0000664000175000017500000000411212204104272016034 00000000000000v 20031231 1 P 1100 1800 1400 1800 1 0 1 { T 1200 1850 5 8 1 1 0 0 1 pinnumber=2 T 1200 1850 5 8 0 0 0 0 1 pinseq=2 T 1200 1850 5 8 0 1 0 0 1 pinlabel=2 T 1200 1850 5 8 0 1 0 0 1 pintype=pas } P 0 1400 300 1400 1 0 0 { T 100 1450 5 8 1 1 0 0 1 pinnumber=3 T 100 1450 5 8 0 0 0 0 1 pinseq=3 T 100 1450 5 8 0 1 0 0 1 pinlabel=3 T 100 1450 5 8 0 1 0 0 1 pintype=pas } P 1100 1400 1400 1400 1 0 1 { T 1200 1450 5 8 1 1 0 0 1 pinnumber=4 T 1200 1450 5 8 0 0 0 0 1 pinseq=4 T 1200 1450 5 8 0 1 0 0 1 pinlabel=4 T 1200 1450 5 8 0 1 0 0 1 pintype=pas } P 0 1800 300 1800 1 0 0 { T 100 1850 5 8 1 1 0 0 1 pinnumber=1 T 100 1850 5 8 0 0 0 0 1 pinseq=1 T 100 1850 5 8 0 1 0 0 1 pinlabel=1 T 100 1850 5 8 0 1 0 0 1 pintype=pas } P 0 1000 300 1000 1 0 0 { T 100 1050 5 8 1 1 0 0 1 pinnumber=5 T 100 1050 5 8 0 0 0 0 1 pinseq=5 T 100 1050 5 8 0 1 0 0 1 pinlabel=5 T 100 1050 5 8 0 1 0 0 1 pintype=pas } L 300 1200 1100 1200 3 0 0 0 -1 -1 L 300 800 1100 800 3 0 0 0 -1 -1 L 300 1600 1100 1600 3 0 0 0 -1 -1 L 700 2000 700 0 3 0 0 0 -1 -1 L 300 400 1100 400 3 0 0 0 -1 -1 B 300 0 800 2000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 0 2000 5 10 0 1 0 0 1 device=HEADER10 P 1100 200 1400 200 1 0 1 { T 1250 250 5 8 1 1 0 0 1 pinnumber=10 T 1250 250 5 8 0 0 0 0 1 pinseq=10 T 1250 250 5 8 0 1 0 0 1 pinlabel=10 T 1250 250 5 8 0 1 0 0 1 pintype=pas } P 0 200 300 200 1 0 0 { T 150 250 5 8 1 1 0 0 1 pinnumber=9 T 150 250 5 8 0 0 0 0 1 pinseq=9 T 150 250 5 8 0 1 0 0 1 pinlabel=9 T 150 250 5 8 0 1 0 0 1 pintype=pas } P 1100 600 1400 600 1 0 1 { T 1250 650 5 8 1 1 0 0 1 pinnumber=8 T 1250 650 5 8 0 0 0 0 1 pinseq=8 T 1250 650 5 8 0 1 0 0 1 pinlabel=8 T 1250 650 5 8 0 1 0 0 1 pintype=pas } P 0 600 300 600 1 0 0 { T 150 650 5 8 1 1 0 0 1 pinnumber=7 T 150 650 5 8 0 0 0 0 1 pinseq=7 T 150 650 5 8 0 1 0 0 1 pinlabel=7 T 150 650 5 8 0 1 0 0 1 pintype=pas } P 1100 1000 1400 1000 1 0 1 { T 1250 1050 5 8 1 1 0 0 1 pinnumber=6 T 1250 1050 5 8 0 0 0 0 1 pinseq=6 T 1250 1050 5 8 0 1 0 0 1 pinlabel=6 T 1250 1050 5 8 0 1 0 0 1 pintype=pas } T 600 2100 8 10 1 1 0 0 1 refdes=J? T 0 0 8 10 0 1 0 0 1 pins=10 T 0 0 8 10 0 1 0 0 1 class=IO geda-gaf-1.8.2/symbols/connector/connector27-2.sym0000664000175000017500000001424312204104272016614 00000000000000v 20041228 1 T 800 11400 8 10 1 1 0 6 1 refdes=CONN? T 400 11350 5 10 0 0 0 0 1 device=CONNECTOR_27 T 400 11550 5 10 0 0 0 0 1 footprint=SIP27N T 400 11750 5 10 0 0 0 0 1 author=Leon Kos T 400 11950 5 10 0 0 0 0 1 description=generic connector T 400 12150 5 10 0 0 0 0 1 numslots=0 P 100 10900 300 10900 1 0 0 { T 300 10950 5 8 0 1 0 6 1 pinnumber=1 T 300 10850 5 8 0 1 0 8 1 pinseq=1 T 450 10900 9 8 1 1 0 0 1 pinlabel=1 T 450 10900 5 8 0 1 0 2 1 pintype=pas } V 350 10900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 10500 300 10500 1 0 0 { T 300 10550 5 8 0 1 0 6 1 pinnumber=2 T 300 10450 5 8 0 1 0 8 1 pinseq=2 T 450 10500 9 8 1 1 0 0 1 pinlabel=2 T 450 10500 5 8 0 1 0 2 1 pintype=pas } V 350 10500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 10100 300 10100 1 0 0 { T 300 10150 5 8 0 1 0 6 1 pinnumber=3 T 300 10050 5 8 0 1 0 8 1 pinseq=3 T 450 10100 9 8 1 1 0 0 1 pinlabel=3 T 450 10100 5 8 0 1 0 2 1 pintype=pas } V 350 10100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 9700 300 9700 1 0 0 { T 300 9750 5 8 0 1 0 6 1 pinnumber=4 T 300 9650 5 8 0 1 0 8 1 pinseq=4 T 450 9700 9 8 1 1 0 0 1 pinlabel=4 T 450 9700 5 8 0 1 0 2 1 pintype=pas } V 350 9700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 9300 300 9300 1 0 0 { T 300 9350 5 8 0 1 0 6 1 pinnumber=5 T 300 9250 5 8 0 1 0 8 1 pinseq=5 T 450 9300 9 8 1 1 0 0 1 pinlabel=5 T 450 9300 5 8 0 1 0 2 1 pintype=pas } V 350 9300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8900 300 8900 1 0 0 { T 300 8950 5 8 0 1 0 6 1 pinnumber=6 T 300 8850 5 8 0 1 0 8 1 pinseq=6 T 450 8900 9 8 1 1 0 0 1 pinlabel=6 T 450 8900 5 8 0 1 0 2 1 pintype=pas } V 350 8900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8500 300 8500 1 0 0 { T 300 8550 5 8 0 1 0 6 1 pinnumber=7 T 300 8450 5 8 0 1 0 8 1 pinseq=7 T 450 8500 9 8 1 1 0 0 1 pinlabel=7 T 450 8500 5 8 0 1 0 2 1 pintype=pas } V 350 8500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8100 300 8100 1 0 0 { T 300 8150 5 8 0 1 0 6 1 pinnumber=8 T 300 8050 5 8 0 1 0 8 1 pinseq=8 T 450 8100 9 8 1 1 0 0 1 pinlabel=8 T 450 8100 5 8 0 1 0 2 1 pintype=pas } V 350 8100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 7700 300 7700 1 0 0 { T 300 7750 5 8 0 1 0 6 1 pinnumber=9 T 300 7650 5 8 0 1 0 8 1 pinseq=9 T 450 7700 9 8 1 1 0 0 1 pinlabel=9 T 450 7700 5 8 0 1 0 2 1 pintype=pas } V 350 7700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 7300 300 7300 1 0 0 { T 300 7350 5 8 0 1 0 6 1 pinnumber=10 T 300 7250 5 8 0 1 0 8 1 pinseq=10 T 450 7300 9 8 1 1 0 0 1 pinlabel=10 T 450 7300 5 8 0 1 0 2 1 pintype=pas } V 350 7300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6900 300 6900 1 0 0 { T 300 6950 5 8 0 1 0 6 1 pinnumber=11 T 300 6850 5 8 0 1 0 8 1 pinseq=11 T 450 6900 9 8 1 1 0 0 1 pinlabel=11 T 450 6900 5 8 0 1 0 2 1 pintype=pas } V 350 6900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6500 300 6500 1 0 0 { T 300 6550 5 8 0 1 0 6 1 pinnumber=12 T 300 6450 5 8 0 1 0 8 1 pinseq=12 T 450 6500 9 8 1 1 0 0 1 pinlabel=12 T 450 6500 5 8 0 1 0 2 1 pintype=pas } V 350 6500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6100 300 6100 1 0 0 { T 300 6150 5 8 0 1 0 6 1 pinnumber=13 T 300 6050 5 8 0 1 0 8 1 pinseq=13 T 450 6100 9 8 1 1 0 0 1 pinlabel=13 T 450 6100 5 8 0 1 0 2 1 pintype=pas } V 350 6100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 5700 300 5700 1 0 0 { T 300 5750 5 8 0 1 0 6 1 pinnumber=14 T 300 5650 5 8 0 1 0 8 1 pinseq=14 T 450 5700 9 8 1 1 0 0 1 pinlabel=14 T 450 5700 5 8 0 1 0 2 1 pintype=pas } V 350 5700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 5300 300 5300 1 0 0 { T 300 5350 5 8 0 1 0 6 1 pinnumber=15 T 300 5250 5 8 0 1 0 8 1 pinseq=15 T 450 5300 9 8 1 1 0 0 1 pinlabel=15 T 450 5300 5 8 0 1 0 2 1 pintype=pas } V 350 5300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4900 300 4900 1 0 0 { T 300 4950 5 8 0 1 0 6 1 pinnumber=16 T 300 4850 5 8 0 1 0 8 1 pinseq=16 T 450 4900 9 8 1 1 0 0 1 pinlabel=16 T 450 4900 5 8 0 1 0 2 1 pintype=pas } V 350 4900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4500 300 4500 1 0 0 { T 300 4550 5 8 0 1 0 6 1 pinnumber=17 T 300 4450 5 8 0 1 0 8 1 pinseq=17 T 450 4500 9 8 1 1 0 0 1 pinlabel=17 T 450 4500 5 8 0 1 0 2 1 pintype=pas } V 350 4500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4100 300 4100 1 0 0 { T 300 4150 5 8 0 1 0 6 1 pinnumber=18 T 300 4050 5 8 0 1 0 8 1 pinseq=18 T 450 4100 9 8 1 1 0 0 1 pinlabel=18 T 450 4100 5 8 0 1 0 2 1 pintype=pas } V 350 4100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 3700 300 3700 1 0 0 { T 300 3750 5 8 0 1 0 6 1 pinnumber=19 T 300 3650 5 8 0 1 0 8 1 pinseq=19 T 450 3700 9 8 1 1 0 0 1 pinlabel=19 T 450 3700 5 8 0 1 0 2 1 pintype=pas } V 350 3700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 3300 300 3300 1 0 0 { T 300 3350 5 8 0 1 0 6 1 pinnumber=20 T 300 3250 5 8 0 1 0 8 1 pinseq=20 T 450 3300 9 8 1 1 0 0 1 pinlabel=20 T 450 3300 5 8 0 1 0 2 1 pintype=pas } V 350 3300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2900 300 2900 1 0 0 { T 300 2950 5 8 0 1 0 6 1 pinnumber=21 T 300 2850 5 8 0 1 0 8 1 pinseq=21 T 450 2900 9 8 1 1 0 0 1 pinlabel=21 T 450 2900 5 8 0 1 0 2 1 pintype=pas } V 350 2900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2500 300 2500 1 0 0 { T 300 2550 5 8 0 1 0 6 1 pinnumber=22 T 300 2450 5 8 0 1 0 8 1 pinseq=22 T 450 2500 9 8 1 1 0 0 1 pinlabel=22 T 450 2500 5 8 0 1 0 2 1 pintype=pas } V 350 2500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2100 300 2100 1 0 0 { T 300 2150 5 8 0 1 0 6 1 pinnumber=23 T 300 2050 5 8 0 1 0 8 1 pinseq=23 T 450 2100 9 8 1 1 0 0 1 pinlabel=23 T 450 2100 5 8 0 1 0 2 1 pintype=pas } V 350 2100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1700 300 1700 1 0 0 { T 300 1750 5 8 0 1 0 6 1 pinnumber=24 T 300 1650 5 8 0 1 0 8 1 pinseq=24 T 450 1700 9 8 1 1 0 0 1 pinlabel=24 T 450 1700 5 8 0 1 0 2 1 pintype=pas } V 350 1700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1300 300 1300 1 0 0 { T 300 1350 5 8 0 1 0 6 1 pinnumber=25 T 300 1250 5 8 0 1 0 8 1 pinseq=25 T 450 1300 9 8 1 1 0 0 1 pinlabel=25 T 450 1300 5 8 0 1 0 2 1 pintype=pas } V 350 1300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 900 300 900 1 0 0 { T 300 950 5 8 0 1 0 6 1 pinnumber=26 T 300 850 5 8 0 1 0 8 1 pinseq=26 T 450 900 9 8 1 1 0 0 1 pinlabel=26 T 450 900 5 8 0 1 0 2 1 pintype=pas } V 350 900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 500 300 500 1 0 0 { T 300 550 5 8 0 1 0 6 1 pinnumber=27 T 300 450 5 8 0 1 0 8 1 pinseq=27 T 450 500 9 8 1 1 0 0 1 pinlabel=27 T 450 500 5 8 0 1 0 2 1 pintype=pas } V 350 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 400 100 400 11200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/connector/header50-1.sym0000664000175000017500000002337312204104272016051 00000000000000v 20031231 1 P 0 9800 300 9800 1 0 0 { T 150 9850 5 8 1 1 0 0 1 pinnumber=1 T 150 9850 9 8 0 1 0 0 1 pinlabel=1 T 150 9850 5 8 0 0 0 0 1 pinseq=1 T 150 9850 5 8 0 0 0 0 1 pintype=pas } P 1100 9800 1400 9800 1 0 1 { T 1200 9850 5 8 1 1 0 0 1 pinnumber=2 T 1200 9850 9 8 0 1 0 0 1 pinlabel=2 T 1200 9850 5 8 0 0 0 0 1 pinseq=2 T 1200 9850 5 8 0 0 0 0 1 pintype=pas } P 0 9400 300 9400 1 0 0 { T 100 9450 5 8 1 1 0 0 1 pinnumber=3 T 100 9450 9 8 0 1 0 0 1 pinlabel=3 T 100 9450 5 8 0 0 0 0 1 pinseq=3 T 100 9450 5 8 0 0 0 0 1 pintype=pas } P 1100 9400 1400 9400 1 0 1 { T 1200 9450 5 8 1 1 0 0 1 pinnumber=4 T 1200 9450 9 8 0 1 0 0 1 pinlabel=4 T 1200 9450 5 8 0 0 0 0 1 pinseq=4 T 1200 9450 5 8 0 0 0 0 1 pintype=pas } P 0 9000 300 9000 1 0 0 { T 100 9050 5 8 1 1 0 0 1 pinnumber=5 T 100 9050 9 8 0 1 0 0 1 pinlabel=5 T 100 9050 5 8 0 0 0 0 1 pinseq=5 T 100 9050 5 8 0 0 0 0 1 pintype=pas } P 1100 9000 1400 9000 1 0 1 { T 1200 9050 5 8 1 1 0 0 1 pinnumber=6 T 1200 9050 9 8 0 1 0 0 1 pinlabel=6 T 1200 9050 5 8 0 0 0 0 1 pinseq=6 T 1200 9050 5 8 0 0 0 0 1 pintype=pas } P 0 8600 300 8600 1 0 0 { T 100 8650 5 8 1 1 0 0 1 pinnumber=7 T 100 8650 9 8 0 1 0 0 1 pinlabel=7 T 100 8650 5 8 0 0 0 0 1 pinseq=7 T 100 8650 5 8 0 0 0 0 1 pintype=pas } P 1100 8600 1400 8600 1 0 1 { T 1200 8650 5 8 1 1 0 0 1 pinnumber=8 T 1200 8650 9 8 0 1 0 0 1 pinlabel=8 T 1200 8650 5 8 0 0 0 0 1 pinseq=8 T 1200 8650 5 8 0 0 0 0 1 pintype=pas } P 0 8200 300 8200 1 0 0 { T 100 8250 5 8 1 1 0 0 1 pinnumber=9 T 100 8250 9 8 0 1 0 0 1 pinlabel=9 T 100 8250 5 8 0 0 0 0 1 pinseq=9 T 100 8250 5 8 0 0 0 0 1 pintype=pas } P 1100 8200 1400 8200 1 0 1 { T 1200 8250 5 8 1 1 0 0 1 pinnumber=10 T 1200 8250 9 8 0 1 0 0 1 pinlabel=10 T 1200 8250 5 8 0 0 0 0 1 pinseq=10 T 1200 8250 5 8 0 0 0 0 1 pintype=pas } P 0 7800 300 7800 1 0 0 { T 100 7850 5 8 1 1 0 0 1 pinnumber=11 T 100 7850 9 8 0 1 0 0 1 pinlabel=11 T 100 7850 5 8 0 0 0 0 1 pinseq=11 T 100 7850 5 8 0 0 0 0 1 pintype=pas } P 1100 7800 1400 7800 1 0 1 { T 1200 7850 5 8 1 1 0 0 1 pinnumber=12 T 1200 7850 9 8 0 1 0 0 1 pinlabel=12 T 1200 7850 5 8 0 0 0 0 1 pinseq=12 T 1200 7850 5 8 0 0 0 0 1 pintype=pas } P 0 7400 300 7400 1 0 0 { T 100 7450 5 8 1 1 0 0 1 pinnumber=13 T 100 7450 9 8 0 1 0 0 1 pinlabel=13 T 100 7450 5 8 0 0 0 0 1 pinseq=13 T 100 7450 5 8 0 0 0 0 1 pintype=pas } P 1100 7400 1400 7400 1 0 1 { T 1200 7450 5 8 1 1 0 0 1 pinnumber=14 T 1200 7450 9 8 0 1 0 0 1 pinlabel=14 T 1200 7450 5 8 0 0 0 0 1 pinseq=14 T 1200 7450 5 8 0 0 0 0 1 pintype=pas } P 0 7000 300 7000 1 0 0 { T 100 7050 5 8 1 1 0 0 1 pinnumber=15 T 100 7050 9 8 0 1 0 0 1 pinlabel=15 T 100 7050 5 8 0 0 0 0 1 pinseq=15 T 100 7050 5 8 0 0 0 0 1 pintype=pas } P 1100 7000 1400 7000 1 0 1 { T 1200 7050 5 8 1 1 0 0 1 pinnumber=16 T 1200 7050 9 8 0 1 0 0 1 pinlabel=16 T 1200 7050 5 8 0 0 0 0 1 pinseq=16 T 1200 7050 5 8 0 0 0 0 1 pintype=pas } P 0 6600 300 6600 1 0 0 { T 100 6650 5 8 1 1 0 0 1 pinnumber=17 T 100 6650 9 8 0 1 0 0 1 pinlabel=17 T 100 6650 5 8 0 0 0 0 1 pinseq=17 T 100 6650 5 8 0 0 0 0 1 pintype=pas } P 1100 6600 1400 6600 1 0 1 { T 1200 6650 5 8 1 1 0 0 1 pinnumber=18 T 1200 6650 9 8 0 1 0 0 1 pinlabel=18 T 1200 6650 5 8 0 0 0 0 1 pinseq=18 T 1200 6650 5 8 0 0 0 0 1 pintype=pas } P 0 6200 300 6200 1 0 0 { T 100 6250 5 8 1 1 0 0 1 pinnumber=19 T 100 6250 9 8 0 1 0 0 1 pinlabel=19 T 100 6250 5 8 0 0 0 0 1 pinseq=19 T 100 6250 5 8 0 0 0 0 1 pintype=pas } P 1100 6200 1400 6200 1 0 1 { T 1200 6250 5 8 1 1 0 0 1 pinnumber=20 T 1200 6250 9 8 0 1 0 0 1 pinlabel=20 T 1200 6250 5 8 0 0 0 0 1 pinseq=20 T 1200 6250 5 8 0 0 0 0 1 pintype=pas } P 0 5800 300 5800 1 0 0 { T 100 5850 5 8 1 1 0 0 1 pinnumber=21 T 100 5850 9 8 0 1 0 0 1 pinlabel=21 T 100 5850 5 8 0 0 0 0 1 pinseq=21 T 100 5850 5 8 0 0 0 0 1 pintype=pas } P 1100 5800 1400 5800 1 0 1 { T 1200 5850 5 8 1 1 0 0 1 pinnumber=22 T 1200 5850 9 8 0 1 0 0 1 pinlabel=22 T 1200 5850 5 8 0 0 0 0 1 pinseq=22 T 1200 5850 5 8 0 0 0 0 1 pintype=pas } P 0 5400 300 5400 1 0 0 { T 50 5450 5 8 1 1 0 0 1 pinnumber=23 T 50 5450 9 8 0 1 0 0 1 pinlabel=23 T 50 5450 5 8 0 0 0 0 1 pinseq=23 T 50 5450 5 8 0 0 0 0 1 pintype=pas } P 1100 5400 1400 5400 1 0 1 { T 1200 5450 5 8 1 1 0 0 1 pinnumber=24 T 1200 5450 9 8 0 1 0 0 1 pinlabel=24 T 1200 5450 5 8 0 0 0 0 1 pinseq=24 T 1200 5450 5 8 0 0 0 0 1 pintype=pas } P 0 5000 300 5000 1 0 0 { T 50 5050 5 8 1 1 0 0 1 pinnumber=25 T 50 5050 9 8 0 1 0 0 1 pinlabel=25 T 50 5050 5 8 0 0 0 0 1 pinseq=25 T 50 5050 5 8 0 0 0 0 1 pintype=pas } P 1100 5000 1400 5000 1 0 1 { T 1200 5050 5 8 1 1 0 0 1 pinnumber=26 T 1200 5050 9 8 0 1 0 0 1 pinlabel=26 T 1200 5050 5 8 0 0 0 0 1 pinseq=26 T 1200 5050 5 8 0 0 0 0 1 pintype=pas } P 0 4600 300 4600 1 0 0 { T 50 4650 5 8 1 1 0 0 1 pinnumber=27 T 50 4650 9 8 0 1 0 0 1 pinlabel=27 T 50 4650 5 8 0 0 0 0 1 pinseq=27 T 50 4650 5 8 0 0 0 0 1 pintype=pas } P 1100 4600 1400 4600 1 0 1 { T 1200 4650 5 8 1 1 0 0 1 pinnumber=28 T 1200 4650 9 8 0 1 0 0 1 pinlabel=28 T 1200 4650 5 8 0 0 0 0 1 pinseq=28 T 1200 4650 5 8 0 0 0 0 1 pintype=pas } P 0 4200 300 4200 1 0 0 { T 50 4250 5 8 1 1 0 0 1 pinnumber=29 T 50 4250 9 8 0 1 0 0 1 pinlabel=29 T 50 4250 5 8 0 0 0 0 1 pinseq=29 T 50 4250 5 8 0 0 0 0 1 pintype=pas } P 1100 4200 1400 4200 1 0 1 { T 1200 4250 5 8 1 1 0 0 1 pinnumber=30 T 1200 4250 9 8 0 1 0 0 1 pinlabel=30 T 1200 4250 5 8 0 0 0 0 1 pinseq=30 T 1200 4250 5 8 0 0 0 0 1 pintype=pas } P 0 3800 300 3800 1 0 0 { T 50 3850 5 8 1 1 0 0 1 pinnumber=31 T 50 3850 9 8 0 1 0 0 1 pinlabel=31 T 50 3850 5 8 0 0 0 0 1 pinseq=31 T 50 3850 5 8 0 0 0 0 1 pintype=pas } P 1100 3800 1400 3800 1 0 1 { T 1200 3850 5 8 1 1 0 0 1 pinnumber=32 T 1200 3850 9 8 0 1 0 0 1 pinlabel=32 T 1200 3850 5 8 0 0 0 0 1 pinseq=32 T 1200 3850 5 8 0 0 0 0 1 pintype=pas } P 0 3400 300 3400 1 0 0 { T 50 3450 5 8 1 1 0 0 1 pinnumber=33 T 50 3450 9 8 0 1 0 0 1 pinlabel=33 T 50 3450 5 8 0 0 0 0 1 pinseq=33 T 50 3450 5 8 0 0 0 0 1 pintype=pas } P 1100 3400 1400 3400 1 0 1 { T 1200 3450 5 8 1 1 0 0 1 pinnumber=34 T 1200 3450 9 8 0 1 0 0 1 pinlabel=34 T 1200 3450 5 8 0 0 0 0 1 pinseq=34 T 1200 3450 5 8 0 0 0 0 1 pintype=pas } P 0 3000 300 3000 1 0 0 { T 50 3050 5 8 1 1 0 0 1 pinnumber=35 T 50 3050 9 8 0 1 0 0 1 pinlabel=35 T 50 3050 5 8 0 0 0 0 1 pinseq=35 T 50 3050 5 8 0 0 0 0 1 pintype=pas } P 1100 3000 1400 3000 1 0 1 { T 1200 3050 5 8 1 1 0 0 1 pinnumber=36 T 1200 3050 9 8 0 1 0 0 1 pinlabel=36 T 1200 3050 5 8 0 0 0 0 1 pinseq=36 T 1200 3050 5 8 0 0 0 0 1 pintype=pas } P 0 2600 300 2600 1 0 0 { T 50 2650 5 8 1 1 0 0 1 pinnumber=37 T 50 2650 9 8 0 1 0 0 1 pinlabel=37 T 50 2650 5 8 0 0 0 0 1 pinseq=37 T 50 2650 5 8 0 0 0 0 1 pintype=pas } P 1100 2600 1400 2600 1 0 1 { T 1200 2650 5 8 1 1 0 0 1 pinnumber=38 T 1200 2650 9 8 0 1 0 0 1 pinlabel=38 T 1200 2650 5 8 0 0 0 0 1 pinseq=38 T 1200 2650 5 8 0 0 0 0 1 pintype=pas } P 0 2200 300 2200 1 0 0 { T 50 2250 5 8 1 1 0 0 1 pinnumber=39 T 50 2250 9 8 0 1 0 0 1 pinlabel=39 T 50 2250 5 8 0 0 0 0 1 pinseq=39 T 50 2250 5 8 0 0 0 0 1 pintype=pas } P 1100 2200 1400 2200 1 0 1 { T 1200 2250 5 8 1 1 0 0 1 pinnumber=40 T 1200 2250 9 8 0 1 0 0 1 pinlabel=40 T 1200 2250 5 8 0 0 0 0 1 pinseq=40 T 1200 2250 5 8 0 0 0 0 1 pintype=pas } P 0 1800 300 1800 1 0 0 { T 50 1850 5 8 1 1 0 0 1 pinnumber=41 T 50 1850 9 8 0 1 0 0 1 pinlabel=41 T 50 1850 5 8 0 0 0 0 1 pinseq=41 T 50 1850 5 8 0 0 0 0 1 pintype=pas } P 1100 1800 1400 1800 1 0 1 { T 1200 1850 5 8 1 1 0 0 1 pinnumber=42 T 1200 1850 9 8 0 1 0 0 1 pinlabel=42 T 1200 1850 5 8 0 0 0 0 1 pinseq=42 T 1200 1850 5 8 0 0 0 0 1 pintype=pas } P 0 1400 300 1400 1 0 0 { T 50 1450 5 8 1 1 0 0 1 pinnumber=43 T 50 1450 9 8 0 1 0 0 1 pinlabel=43 T 50 1450 5 8 0 0 0 0 1 pinseq=43 T 50 1450 5 8 0 0 0 0 1 pintype=pas } P 1100 1400 1400 1400 1 0 1 { T 1200 1450 5 8 1 1 0 0 1 pinnumber=44 T 1200 1450 9 8 0 1 0 0 1 pinlabel=44 T 1200 1450 5 8 0 0 0 0 1 pinseq=44 T 1200 1450 5 8 0 0 0 0 1 pintype=pas } P 0 1000 300 1000 1 0 0 { T 50 1050 5 8 1 1 0 0 1 pinnumber=45 T 50 1050 9 8 0 1 0 0 1 pinlabel=45 T 50 1050 5 8 0 0 0 0 1 pinseq=45 T 50 1050 5 8 0 0 0 0 1 pintype=pas } P 1100 1000 1400 1000 1 0 1 { T 1200 1050 5 8 1 1 0 0 1 pinnumber=46 T 1200 1050 9 8 0 1 0 0 1 pinlabel=46 T 1200 1050 5 8 0 0 0 0 1 pinseq=46 T 1200 1050 5 8 0 0 0 0 1 pintype=pas } P 0 600 300 600 1 0 0 { T 50 650 5 8 1 1 0 0 1 pinnumber=47 T 50 650 9 8 0 1 0 0 1 pinlabel=47 T 50 650 5 8 0 0 0 0 1 pinseq=47 T 50 650 5 8 0 0 0 0 1 pintype=pas } P 1100 600 1400 600 1 0 1 { T 1200 650 5 8 1 1 0 0 1 pinnumber=48 T 1200 650 9 8 0 1 0 0 1 pinlabel=48 T 1200 650 5 8 0 0 0 0 1 pinseq=48 T 1200 650 5 8 0 0 0 0 1 pintype=pas } P 0 200 300 200 1 0 0 { T 50 250 5 8 1 1 0 0 1 pinnumber=49 T 50 250 9 8 0 1 0 0 1 pinlabel=49 T 50 250 5 8 0 0 0 0 1 pinseq=49 T 50 250 5 8 0 0 0 0 1 pintype=pas } P 1100 200 1400 200 1 0 1 { T 1200 250 5 8 1 1 0 0 1 pinnumber=50 T 1200 250 9 8 0 1 0 0 1 pinlabel=50 T 1200 250 5 8 0 0 0 0 1 pinseq=50 T 1200 250 5 8 0 0 0 0 1 pintype=pas } L 300 9200 1100 9200 3 0 0 0 -1 -1 L 300 8800 1100 8800 3 0 0 0 -1 -1 L 300 9600 1100 9600 3 0 0 0 -1 -1 L 300 8400 1100 8400 3 0 0 0 -1 -1 L 300 7200 1100 7200 3 0 0 0 -1 -1 L 300 6800 1100 6800 3 0 0 0 -1 -1 L 300 7600 1100 7600 3 0 0 0 -1 -1 L 300 6400 1100 6400 3 0 0 0 -1 -1 L 300 8000 1100 8000 3 0 0 0 -1 -1 L 700 10000 700 6000 3 0 0 0 -1 -1 L 300 5200 1100 5200 3 0 0 0 -1 -1 L 300 4800 1100 4800 3 0 0 0 -1 -1 L 300 5600 1100 5600 3 0 0 0 -1 -1 L 300 4400 1100 4400 3 0 0 0 -1 -1 L 300 3200 1100 3200 3 0 0 0 -1 -1 L 300 2800 1100 2800 3 0 0 0 -1 -1 L 300 3600 1100 3600 3 0 0 0 -1 -1 L 300 2400 1100 2400 3 0 0 0 -1 -1 L 300 4000 1100 4000 3 0 0 0 -1 -1 L 700 6000 700 0 3 0 0 0 -1 -1 L 300 6000 1100 6000 3 0 0 0 -1 -1 L 300 1200 1100 1200 3 0 0 0 -1 -1 L 300 800 1100 800 3 0 0 0 -1 -1 L 300 1600 1100 1600 3 0 0 0 -1 -1 L 300 400 1100 400 3 0 0 0 -1 -1 L 300 2000 1100 2000 3 0 0 0 -1 -1 B 300 0 800 10000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 250 10700 8 10 0 0 0 0 1 device=HEADER50 T 250 10500 8 10 0 0 0 0 1 numslots=0 T 250 10300 8 10 0 1 0 0 1 description=Header 50 pins T 600 10100 8 10 1 1 0 0 1 refdes=J? geda-gaf-1.8.2/symbols/connector/connector23-2.sym0000664000175000017500000001242212204104272016605 00000000000000v 20041228 1 T 800 9800 8 10 1 1 0 6 1 refdes=CONN? T 400 9750 5 10 0 0 0 0 1 device=CONNECTOR_23 T 400 9950 5 10 0 0 0 0 1 footprint=SIP23N T 400 10150 5 10 0 0 0 0 1 author=Leon Kos T 400 10350 5 10 0 0 0 0 1 description=generic connector T 400 10550 5 10 0 0 0 0 1 numslots=0 P 100 9300 300 9300 1 0 0 { T 300 9350 5 8 0 1 0 6 1 pinnumber=1 T 300 9250 5 8 0 1 0 8 1 pinseq=1 T 450 9300 9 8 1 1 0 0 1 pinlabel=1 T 450 9300 5 8 0 1 0 2 1 pintype=pas } V 350 9300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8900 300 8900 1 0 0 { T 300 8950 5 8 0 1 0 6 1 pinnumber=2 T 300 8850 5 8 0 1 0 8 1 pinseq=2 T 450 8900 9 8 1 1 0 0 1 pinlabel=2 T 450 8900 5 8 0 1 0 2 1 pintype=pas } V 350 8900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8500 300 8500 1 0 0 { T 300 8550 5 8 0 1 0 6 1 pinnumber=3 T 300 8450 5 8 0 1 0 8 1 pinseq=3 T 450 8500 9 8 1 1 0 0 1 pinlabel=3 T 450 8500 5 8 0 1 0 2 1 pintype=pas } V 350 8500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8100 300 8100 1 0 0 { T 300 8150 5 8 0 1 0 6 1 pinnumber=4 T 300 8050 5 8 0 1 0 8 1 pinseq=4 T 450 8100 9 8 1 1 0 0 1 pinlabel=4 T 450 8100 5 8 0 1 0 2 1 pintype=pas } V 350 8100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 7700 300 7700 1 0 0 { T 300 7750 5 8 0 1 0 6 1 pinnumber=5 T 300 7650 5 8 0 1 0 8 1 pinseq=5 T 450 7700 9 8 1 1 0 0 1 pinlabel=5 T 450 7700 5 8 0 1 0 2 1 pintype=pas } V 350 7700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 7300 300 7300 1 0 0 { T 300 7350 5 8 0 1 0 6 1 pinnumber=6 T 300 7250 5 8 0 1 0 8 1 pinseq=6 T 450 7300 9 8 1 1 0 0 1 pinlabel=6 T 450 7300 5 8 0 1 0 2 1 pintype=pas } V 350 7300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6900 300 6900 1 0 0 { T 300 6950 5 8 0 1 0 6 1 pinnumber=7 T 300 6850 5 8 0 1 0 8 1 pinseq=7 T 450 6900 9 8 1 1 0 0 1 pinlabel=7 T 450 6900 5 8 0 1 0 2 1 pintype=pas } V 350 6900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6500 300 6500 1 0 0 { T 300 6550 5 8 0 1 0 6 1 pinnumber=8 T 300 6450 5 8 0 1 0 8 1 pinseq=8 T 450 6500 9 8 1 1 0 0 1 pinlabel=8 T 450 6500 5 8 0 1 0 2 1 pintype=pas } V 350 6500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6100 300 6100 1 0 0 { T 300 6150 5 8 0 1 0 6 1 pinnumber=9 T 300 6050 5 8 0 1 0 8 1 pinseq=9 T 450 6100 9 8 1 1 0 0 1 pinlabel=9 T 450 6100 5 8 0 1 0 2 1 pintype=pas } V 350 6100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 5700 300 5700 1 0 0 { T 300 5750 5 8 0 1 0 6 1 pinnumber=10 T 300 5650 5 8 0 1 0 8 1 pinseq=10 T 450 5700 9 8 1 1 0 0 1 pinlabel=10 T 450 5700 5 8 0 1 0 2 1 pintype=pas } V 350 5700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 5300 300 5300 1 0 0 { T 300 5350 5 8 0 1 0 6 1 pinnumber=11 T 300 5250 5 8 0 1 0 8 1 pinseq=11 T 450 5300 9 8 1 1 0 0 1 pinlabel=11 T 450 5300 5 8 0 1 0 2 1 pintype=pas } V 350 5300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4900 300 4900 1 0 0 { T 300 4950 5 8 0 1 0 6 1 pinnumber=12 T 300 4850 5 8 0 1 0 8 1 pinseq=12 T 450 4900 9 8 1 1 0 0 1 pinlabel=12 T 450 4900 5 8 0 1 0 2 1 pintype=pas } V 350 4900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4500 300 4500 1 0 0 { T 300 4550 5 8 0 1 0 6 1 pinnumber=13 T 300 4450 5 8 0 1 0 8 1 pinseq=13 T 450 4500 9 8 1 1 0 0 1 pinlabel=13 T 450 4500 5 8 0 1 0 2 1 pintype=pas } V 350 4500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4100 300 4100 1 0 0 { T 300 4150 5 8 0 1 0 6 1 pinnumber=14 T 300 4050 5 8 0 1 0 8 1 pinseq=14 T 450 4100 9 8 1 1 0 0 1 pinlabel=14 T 450 4100 5 8 0 1 0 2 1 pintype=pas } V 350 4100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 3700 300 3700 1 0 0 { T 300 3750 5 8 0 1 0 6 1 pinnumber=15 T 300 3650 5 8 0 1 0 8 1 pinseq=15 T 450 3700 9 8 1 1 0 0 1 pinlabel=15 T 450 3700 5 8 0 1 0 2 1 pintype=pas } V 350 3700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 3300 300 3300 1 0 0 { T 300 3350 5 8 0 1 0 6 1 pinnumber=16 T 300 3250 5 8 0 1 0 8 1 pinseq=16 T 450 3300 9 8 1 1 0 0 1 pinlabel=16 T 450 3300 5 8 0 1 0 2 1 pintype=pas } V 350 3300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2900 300 2900 1 0 0 { T 300 2950 5 8 0 1 0 6 1 pinnumber=17 T 300 2850 5 8 0 1 0 8 1 pinseq=17 T 450 2900 9 8 1 1 0 0 1 pinlabel=17 T 450 2900 5 8 0 1 0 2 1 pintype=pas } V 350 2900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2500 300 2500 1 0 0 { T 300 2550 5 8 0 1 0 6 1 pinnumber=18 T 300 2450 5 8 0 1 0 8 1 pinseq=18 T 450 2500 9 8 1 1 0 0 1 pinlabel=18 T 450 2500 5 8 0 1 0 2 1 pintype=pas } V 350 2500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2100 300 2100 1 0 0 { T 300 2150 5 8 0 1 0 6 1 pinnumber=19 T 300 2050 5 8 0 1 0 8 1 pinseq=19 T 450 2100 9 8 1 1 0 0 1 pinlabel=19 T 450 2100 5 8 0 1 0 2 1 pintype=pas } V 350 2100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1700 300 1700 1 0 0 { T 300 1750 5 8 0 1 0 6 1 pinnumber=20 T 300 1650 5 8 0 1 0 8 1 pinseq=20 T 450 1700 9 8 1 1 0 0 1 pinlabel=20 T 450 1700 5 8 0 1 0 2 1 pintype=pas } V 350 1700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1300 300 1300 1 0 0 { T 300 1350 5 8 0 1 0 6 1 pinnumber=21 T 300 1250 5 8 0 1 0 8 1 pinseq=21 T 450 1300 9 8 1 1 0 0 1 pinlabel=21 T 450 1300 5 8 0 1 0 2 1 pintype=pas } V 350 1300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 900 300 900 1 0 0 { T 300 950 5 8 0 1 0 6 1 pinnumber=22 T 300 850 5 8 0 1 0 8 1 pinseq=22 T 450 900 9 8 1 1 0 0 1 pinlabel=22 T 450 900 5 8 0 1 0 2 1 pintype=pas } V 350 900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 500 300 500 1 0 0 { T 300 550 5 8 0 1 0 6 1 pinnumber=23 T 300 450 5 8 0 1 0 8 1 pinseq=23 T 450 500 9 8 1 1 0 0 1 pinlabel=23 T 450 500 5 8 0 1 0 2 1 pintype=pas } V 350 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 400 100 400 9600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/connector/DIN41612C96-1.sym0000664000175000017500000004260312204104272015743 00000000000000v 20050820 1 P 300 12700 0 12700 1 0 1 { T 200 12750 5 8 0 1 0 6 1 pinnumber=A1 T 200 12650 5 8 0 1 0 8 1 pinseq=1 T 350 12700 9 8 1 1 0 0 1 pinlabel=A1 T 350 12700 5 8 0 1 0 2 1 pintype=pas } P 300 12300 0 12300 1 0 1 { T 200 12350 5 8 0 1 0 6 1 pinnumber=A2 T 200 12250 5 8 0 1 0 8 1 pinseq=2 T 350 12300 9 8 1 1 0 0 1 pinlabel=A2 T 350 12300 5 8 0 1 0 2 1 pintype=pas } P 300 11900 0 11900 1 0 1 { T 200 11950 5 8 0 1 0 6 1 pinnumber=A3 T 200 11850 5 8 0 1 0 8 1 pinseq=3 T 350 11900 9 8 1 1 0 0 1 pinlabel=A3 T 350 11900 5 8 0 1 0 2 1 pintype=pas } P 300 11500 0 11500 1 0 1 { T 200 11550 5 8 0 1 0 6 1 pinnumber=A4 T 200 11450 5 8 0 1 0 8 1 pinseq=4 T 350 11500 9 8 1 1 0 0 1 pinlabel=A4 T 350 11500 5 8 0 1 0 2 1 pintype=pas } P 300 11100 0 11100 1 0 1 { T 200 11150 5 8 0 1 0 6 1 pinnumber=A5 T 200 11050 5 8 0 1 0 8 1 pinseq=5 T 350 11100 9 8 1 1 0 0 1 pinlabel=A5 T 350 11100 5 8 0 1 0 2 1 pintype=pas } P 300 10700 0 10700 1 0 1 { T 200 10750 5 8 0 1 0 6 1 pinnumber=A6 T 200 10650 5 8 0 1 0 8 1 pinseq=6 T 350 10700 9 8 1 1 0 0 1 pinlabel=A6 T 350 10700 5 8 0 1 0 2 1 pintype=pas } P 0 10300 300 10300 1 0 0 { T 200 10350 5 8 0 1 0 6 1 pinnumber=A7 T 200 10250 5 8 0 1 0 8 1 pinseq=7 T 350 10300 9 8 1 1 0 0 1 pinlabel=A7 T 350 10300 5 8 0 1 0 2 1 pintype=pas } P 300 9900 0 9900 1 0 1 { T 200 9950 5 8 0 1 0 6 1 pinnumber=A8 T 200 9850 5 8 0 1 0 8 1 pinseq=8 T 350 9900 9 8 1 1 0 0 1 pinlabel=A8 T 350 9900 5 8 0 1 0 2 1 pintype=pas } P 300 9500 0 9500 1 0 1 { T 200 9550 5 8 0 1 0 6 1 pinnumber=A9 T 200 9450 5 8 0 1 0 8 1 pinseq=9 T 350 9500 9 8 1 1 0 0 1 pinlabel=A9 T 350 9500 5 8 0 1 0 2 1 pintype=pas } P 300 9100 0 9100 1 0 1 { T 200 9150 5 8 0 1 0 6 1 pinnumber=A10 T 200 9050 5 8 0 1 0 8 1 pinseq=10 T 350 9100 9 8 1 1 0 0 1 pinlabel=A10 T 350 9100 5 8 0 1 0 2 1 pintype=pas } P 300 8700 0 8700 1 0 1 { T 200 8750 5 8 0 1 0 6 1 pinnumber=A11 T 200 8650 5 8 0 1 0 8 1 pinseq=11 T 350 8700 9 8 1 1 0 0 1 pinlabel=A11 T 350 8700 5 8 0 1 0 2 1 pintype=pas } P 0 8300 300 8300 1 0 0 { T 200 8350 5 8 0 1 0 6 1 pinnumber=A12 T 200 8250 5 8 0 1 0 8 1 pinseq=12 T 350 8300 9 8 1 1 0 0 1 pinlabel=A12 T 350 8300 5 8 0 1 0 2 1 pintype=pas } P 300 7900 0 7900 1 0 1 { T 200 7950 5 8 0 1 0 6 1 pinnumber=A13 T 200 7850 5 8 0 1 0 8 1 pinseq=13 T 350 7900 9 8 1 1 0 0 1 pinlabel=A13 T 350 7900 5 8 0 1 0 2 1 pintype=pas } P 0 7500 300 7500 1 0 0 { T 200 7550 5 8 0 1 0 6 1 pinnumber=A14 T 200 7450 5 8 0 1 0 8 1 pinseq=14 T 350 7500 9 8 1 1 0 0 1 pinlabel=A14 T 350 7500 5 8 0 1 0 2 1 pintype=pas } P 300 7100 0 7100 1 0 1 { T 200 7150 5 8 0 1 0 6 1 pinnumber=A15 T 200 7050 5 8 0 1 0 8 1 pinseq=15 T 350 7100 9 8 1 1 0 0 1 pinlabel=A15 T 350 7100 5 8 0 1 0 2 1 pintype=pas } P 0 6700 300 6700 1 0 0 { T 200 6750 5 8 0 1 0 6 1 pinnumber=A16 T 200 6650 5 8 0 1 0 8 1 pinseq=16 T 350 6700 9 8 1 1 0 0 1 pinlabel=A16 T 350 6700 5 8 0 1 0 2 1 pintype=pas } P 300 6300 0 6300 1 0 1 { T 200 6350 5 8 0 1 0 6 1 pinnumber=A17 T 200 6250 5 8 0 1 0 8 1 pinseq=17 T 350 6300 9 8 1 1 0 0 1 pinlabel=A17 T 350 6300 5 8 0 1 0 2 1 pintype=pas } P 0 5900 300 5900 1 0 0 { T 200 5950 5 8 0 1 0 6 1 pinnumber=A18 T 200 5850 5 8 0 1 0 8 1 pinseq=18 T 350 5900 9 8 1 1 0 0 1 pinlabel=A18 T 350 5900 5 8 0 1 0 2 1 pintype=pas } P 300 5500 0 5500 1 0 1 { T 200 5550 5 8 0 1 0 6 1 pinnumber=A19 T 200 5450 5 8 0 1 0 8 1 pinseq=19 T 350 5500 9 8 1 1 0 0 1 pinlabel=A19 T 350 5500 5 8 0 1 0 2 1 pintype=pas } P 0 5100 300 5100 1 0 0 { T 200 5150 5 8 0 1 0 6 1 pinnumber=A20 T 200 5050 5 8 0 1 0 8 1 pinseq=20 T 350 5100 9 8 1 1 0 0 1 pinlabel=A20 T 350 5100 5 8 0 1 0 2 1 pintype=pas } P 300 4700 0 4700 1 0 1 { T 200 4750 5 8 0 1 0 6 1 pinnumber=A21 T 200 4650 5 8 0 1 0 8 1 pinseq=21 T 350 4700 9 8 1 1 0 0 1 pinlabel=A21 T 350 4700 5 8 0 1 0 2 1 pintype=pas } P 0 4300 300 4300 1 0 0 { T 200 4350 5 8 0 1 0 6 1 pinnumber=A22 T 200 4250 5 8 0 1 0 8 1 pinseq=22 T 350 4300 9 8 1 1 0 0 1 pinlabel=A22 T 350 4300 5 8 0 1 0 2 1 pintype=pas } P 300 3900 0 3900 1 0 1 { T 200 3950 5 8 0 1 0 6 1 pinnumber=A23 T 200 3850 5 8 0 1 0 8 1 pinseq=23 T 350 3900 9 8 1 1 0 0 1 pinlabel=A23 T 350 3900 5 8 0 1 0 2 1 pintype=pas } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 0 1 0 6 1 pinnumber=A24 T 200 3450 5 8 0 1 0 8 1 pinseq=24 T 350 3500 9 8 1 1 0 0 1 pinlabel=A24 T 350 3500 5 8 0 1 0 2 1 pintype=pas } P 300 3100 0 3100 1 0 1 { T 200 3150 5 8 0 1 0 6 1 pinnumber=A25 T 200 3050 5 8 0 1 0 8 1 pinseq=25 T 350 3100 9 8 1 1 0 0 1 pinlabel=A25 T 350 3100 5 8 0 1 0 2 1 pintype=pas } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 0 1 0 6 1 pinnumber=A26 T 200 2650 5 8 0 1 0 8 1 pinseq=26 T 350 2700 9 8 1 1 0 0 1 pinlabel=A26 T 350 2700 5 8 0 1 0 2 1 pintype=pas } P 300 2300 0 2300 1 0 1 { T 200 2350 5 8 0 1 0 6 1 pinnumber=A27 T 200 2250 5 8 0 1 0 8 1 pinseq=27 T 350 2300 9 8 1 1 0 0 1 pinlabel=A27 T 350 2300 5 8 0 1 0 2 1 pintype=pas } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 0 1 0 6 1 pinnumber=A28 T 200 1850 5 8 0 1 0 8 1 pinseq=28 T 350 1900 9 8 1 1 0 0 1 pinlabel=A28 T 350 1900 5 8 0 1 0 2 1 pintype=pas } P 300 1500 0 1500 1 0 1 { T 200 1550 5 8 0 1 0 6 1 pinnumber=A29 T 200 1450 5 8 0 1 0 8 1 pinseq=29 T 350 1500 9 8 1 1 0 0 1 pinlabel=A29 T 350 1500 5 8 0 1 0 2 1 pintype=pas } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 0 1 0 6 1 pinnumber=A30 T 200 1050 5 8 0 1 0 8 1 pinseq=30 T 350 1100 9 8 1 1 0 0 1 pinlabel=A30 T 350 1100 5 8 0 1 0 2 1 pintype=pas } P 300 700 0 700 1 0 1 { T 200 750 5 8 0 1 0 6 1 pinnumber=A31 T 200 650 5 8 0 1 0 8 1 pinseq=31 T 350 700 9 8 1 1 0 0 1 pinlabel=A31 T 350 700 5 8 0 1 0 2 1 pintype=pas } P 0 300 300 300 1 0 0 { T 200 350 5 8 0 1 0 6 1 pinnumber=A32 T 200 250 5 8 0 1 0 8 1 pinseq=32 T 350 300 9 8 1 1 0 0 1 pinlabel=A32 T 350 300 5 8 0 1 0 2 1 pintype=pas } P 3300 12700 3600 12700 1 0 1 { T 3400 12750 5 8 0 1 0 0 1 pinnumber=B1 T 3400 12650 5 8 0 1 0 2 1 pinseq=33 T 3250 12700 9 8 1 1 0 6 1 pinlabel=B1 T 3250 12700 5 8 0 1 0 8 1 pintype=pas } P 3300 12500 3600 12500 1 0 1 { T 3400 12550 5 8 0 1 0 0 1 pinnumber=C1 T 3400 12450 5 8 0 1 0 2 1 pinseq=65 T 3250 12500 9 8 1 1 0 6 1 pinlabel=C1 T 3250 12500 5 8 0 1 0 8 1 pintype=pas } P 3300 12300 3600 12300 1 0 1 { T 3400 12350 5 8 0 1 0 0 1 pinnumber=B2 T 3400 12250 5 8 0 1 0 2 1 pinseq=34 T 3250 12300 9 8 1 1 0 6 1 pinlabel=B2 T 3250 12300 5 8 0 1 0 8 1 pintype=pas } P 3300 12100 3600 12100 1 0 1 { T 3400 12150 5 8 0 1 0 0 1 pinnumber=C2 T 3400 12050 5 8 0 1 0 2 1 pinseq=66 T 3250 12100 9 8 1 1 0 6 1 pinlabel=C2 T 3250 12100 5 8 0 1 0 8 1 pintype=pas } P 3300 11900 3600 11900 1 0 1 { T 3400 11950 5 8 0 1 0 0 1 pinnumber=B3 T 3400 11850 5 8 0 1 0 2 1 pinseq=35 T 3250 11900 9 8 1 1 0 6 1 pinlabel=B3 T 3250 11900 5 8 0 1 0 8 1 pintype=pas } P 3300 11700 3600 11700 1 0 1 { T 3400 11750 5 8 0 1 0 0 1 pinnumber=C3 T 3400 11650 5 8 0 1 0 2 1 pinseq=67 T 3250 11700 9 8 1 1 0 6 1 pinlabel=C3 T 3250 11700 5 8 0 1 0 8 1 pintype=pas } P 3300 11500 3600 11500 1 0 1 { T 3400 11550 5 8 0 1 0 0 1 pinnumber=B4 T 3400 11450 5 8 0 1 0 2 1 pinseq=36 T 3250 11500 9 8 1 1 0 6 1 pinlabel=B4 T 3250 11500 5 8 0 1 0 8 1 pintype=pas } P 3300 11300 3600 11300 1 0 1 { T 3400 11350 5 8 0 1 0 0 1 pinnumber=C4 T 3400 11250 5 8 0 1 0 2 1 pinseq=68 T 3250 11300 9 8 1 1 0 6 1 pinlabel=C4 T 3250 11300 5 8 0 1 0 8 1 pintype=pas } P 3300 11100 3600 11100 1 0 1 { T 3400 11150 5 8 0 1 0 0 1 pinnumber=B5 T 3400 11050 5 8 0 1 0 2 1 pinseq=37 T 3250 11100 9 8 1 1 0 6 1 pinlabel=B5 T 3250 11100 5 8 0 1 0 8 1 pintype=pas } P 3300 10900 3600 10900 1 0 1 { T 3400 10950 5 8 0 1 0 0 1 pinnumber=C5 T 3400 10850 5 8 0 1 0 2 1 pinseq=69 T 3250 10900 9 8 1 1 0 6 1 pinlabel=C5 T 3250 10900 5 8 0 1 0 8 1 pintype=pas } P 3300 10700 3600 10700 1 0 1 { T 3400 10750 5 8 0 1 0 0 1 pinnumber=B6 T 3400 10650 5 8 0 1 0 2 1 pinseq=38 T 3250 10700 9 8 1 1 0 6 1 pinlabel=B6 T 3250 10700 5 8 0 1 0 8 1 pintype=pas } P 3300 10500 3600 10500 1 0 1 { T 3400 10550 5 8 0 1 0 0 1 pinnumber=C6 T 3400 10450 5 8 0 1 0 2 1 pinseq=70 T 3250 10500 9 8 1 1 0 6 1 pinlabel=C6 T 3250 10500 5 8 0 1 0 8 1 pintype=pas } P 3600 10300 3300 10300 1 0 0 { T 3400 10350 5 8 0 1 0 0 1 pinnumber=B7 T 3400 10250 5 8 0 1 0 2 1 pinseq=39 T 3250 10300 9 8 1 1 0 6 1 pinlabel=B7 T 3250 10300 5 8 0 1 0 8 1 pintype=pas } P 3300 10100 3600 10100 1 0 1 { T 3400 10150 5 8 0 1 0 0 1 pinnumber=C7 T 3400 10050 5 8 0 1 0 2 1 pinseq=71 T 3250 10100 9 8 1 1 0 6 1 pinlabel=C7 T 3250 10100 5 8 0 1 0 8 1 pintype=pas } P 3600 9900 3300 9900 1 0 0 { T 3400 9950 5 8 0 1 0 0 1 pinnumber=B8 T 3400 9850 5 8 0 1 0 2 1 pinseq=40 T 3250 9900 9 8 1 1 0 6 1 pinlabel=B8 T 3250 9900 5 8 0 1 0 8 1 pintype=pas } P 3300 9700 3600 9700 1 0 1 { T 3400 9750 5 8 0 1 0 0 1 pinnumber=C8 T 3400 9650 5 8 0 1 0 2 1 pinseq=72 T 3250 9700 9 8 1 1 0 6 1 pinlabel=C8 T 3250 9700 5 8 0 1 0 8 1 pintype=pas } P 3600 9500 3300 9500 1 0 0 { T 3400 9550 5 8 0 1 0 0 1 pinnumber=B9 T 3400 9450 5 8 0 1 0 2 1 pinseq=41 T 3250 9500 9 8 1 1 0 6 1 pinlabel=B9 T 3250 9500 5 8 0 1 0 8 1 pintype=pas } P 3300 9300 3600 9300 1 0 1 { T 3400 9350 5 8 0 1 0 0 1 pinnumber=C9 T 3400 9250 5 8 0 1 0 2 1 pinseq=73 T 3250 9300 9 8 1 1 0 6 1 pinlabel=C9 T 3250 9300 5 8 0 1 0 8 1 pintype=pas } P 3600 9100 3300 9100 1 0 0 { T 3400 9150 5 8 0 1 0 0 1 pinnumber=B10 T 3400 9050 5 8 0 1 0 2 1 pinseq=42 T 3250 9100 9 8 1 1 0 6 1 pinlabel=B10 T 3250 9100 5 8 0 1 0 8 1 pintype=pas } P 3600 8900 3300 8900 1 0 0 { T 3400 8950 5 8 0 1 0 0 1 pinnumber=C10 T 3400 8850 5 8 0 1 0 2 1 pinseq=74 T 3250 8900 9 8 1 1 0 6 1 pinlabel=C10 T 3250 8900 5 8 0 1 0 8 1 pintype=pas } P 3300 8700 3600 8700 1 0 1 { T 3400 8750 5 8 0 1 0 0 1 pinnumber=B11 T 3400 8650 5 8 0 1 0 2 1 pinseq=43 T 3250 8700 9 8 1 1 0 6 1 pinlabel=B11 T 3250 8700 5 8 0 1 0 8 1 pintype=pas } P 3600 8500 3300 8500 1 0 0 { T 3400 8550 5 8 0 1 0 0 1 pinnumber=C11 T 3400 8450 5 8 0 1 0 2 1 pinseq=75 T 3250 8500 9 8 1 1 0 6 1 pinlabel=C11 T 3250 8500 5 8 0 1 0 8 1 pintype=pas } P 3300 8300 3600 8300 1 0 1 { T 3400 8350 5 8 0 1 0 0 1 pinnumber=B12 T 3400 8250 5 8 0 1 0 2 1 pinseq=44 T 3250 8300 9 8 1 1 0 6 1 pinlabel=B12 T 3250 8300 5 8 0 1 0 8 1 pintype=pas } P 3600 8100 3300 8100 1 0 0 { T 3400 8150 5 8 0 1 0 0 1 pinnumber=C12 T 3400 8050 5 8 0 1 0 2 1 pinseq=76 T 3250 8100 9 8 1 1 0 6 1 pinlabel=C12 T 3250 8100 5 8 0 1 0 8 1 pintype=pas } P 3300 7900 3600 7900 1 0 1 { T 3400 7950 5 8 0 1 0 0 1 pinnumber=B13 T 3400 7850 5 8 0 1 0 2 1 pinseq=45 T 3250 7900 9 8 1 1 0 6 1 pinlabel=B13 T 3250 7900 5 8 0 1 0 8 1 pintype=pas } P 3600 7700 3300 7700 1 0 0 { T 3400 7750 5 8 0 1 0 0 1 pinnumber=C13 T 3400 7650 5 8 0 1 0 2 1 pinseq=77 T 3250 7700 9 8 1 1 0 6 1 pinlabel=C13 T 3250 7700 5 8 0 1 0 8 1 pintype=pas } P 3300 7500 3600 7500 1 0 1 { T 3400 7550 5 8 0 1 0 0 1 pinnumber=B14 T 3400 7450 5 8 0 1 0 2 1 pinseq=46 T 3250 7500 9 8 1 1 0 6 1 pinlabel=B14 T 3250 7500 5 8 0 1 0 8 1 pintype=pas } P 3600 7300 3300 7300 1 0 0 { T 3400 7350 5 8 0 1 0 0 1 pinnumber=C14 T 3400 7250 5 8 0 1 0 2 1 pinseq=78 T 3250 7300 9 8 1 1 0 6 1 pinlabel=C14 T 3250 7300 5 8 0 1 0 8 1 pintype=pas } P 3300 7100 3600 7100 1 0 1 { T 3400 7150 5 8 0 1 0 0 1 pinnumber=B15 T 3400 7050 5 8 0 1 0 2 1 pinseq=47 T 3250 7100 9 8 1 1 0 6 1 pinlabel=B15 T 3250 7100 5 8 0 1 0 8 1 pintype=pas } P 3600 6900 3300 6900 1 0 0 { T 3400 6950 5 8 0 1 0 0 1 pinnumber=C15 T 3400 6850 5 8 0 1 0 2 1 pinseq=79 T 3250 6900 9 8 1 1 0 6 1 pinlabel=C15 T 3250 6900 5 8 0 1 0 8 1 pintype=pas } P 3300 6700 3600 6700 1 0 1 { T 3400 6750 5 8 0 1 0 0 1 pinnumber=B16 T 3400 6650 5 8 0 1 0 2 1 pinseq=48 T 3250 6700 9 8 1 1 0 6 1 pinlabel=B16 T 3250 6700 5 8 0 1 0 8 1 pintype=pas } P 3600 6500 3300 6500 1 0 0 { T 3400 6550 5 8 0 1 0 0 1 pinnumber=C16 T 3400 6450 5 8 0 1 0 2 1 pinseq=80 T 3250 6500 9 8 1 1 0 6 1 pinlabel=C16 T 3250 6500 5 8 0 1 0 8 1 pintype=pas } P 3300 6300 3600 6300 1 0 1 { T 3400 6350 5 8 0 1 0 0 1 pinnumber=B17 T 3400 6250 5 8 0 1 0 2 1 pinseq=49 T 3250 6300 9 8 1 1 0 6 1 pinlabel=B17 T 3250 6300 5 8 0 1 0 8 1 pintype=pas } P 3600 6100 3300 6100 1 0 0 { T 3400 6150 5 8 0 1 0 0 1 pinnumber=C17 T 3400 6050 5 8 0 1 0 2 1 pinseq=81 T 3250 6100 9 8 1 1 0 6 1 pinlabel=C17 T 3250 6100 5 8 0 1 0 8 1 pintype=pas } P 3300 5900 3600 5900 1 0 1 { T 3400 5950 5 8 0 1 0 0 1 pinnumber=B18 T 3400 5850 5 8 0 1 0 2 1 pinseq=50 T 3250 5900 9 8 1 1 0 6 1 pinlabel=B18 T 3250 5900 5 8 0 1 0 8 1 pintype=pas } P 3600 5700 3300 5700 1 0 0 { T 3400 5750 5 8 0 1 0 0 1 pinnumber=C18 T 3400 5650 5 8 0 1 0 2 1 pinseq=82 T 3250 5700 9 8 1 1 0 6 1 pinlabel=C18 T 3250 5700 5 8 0 1 0 8 1 pintype=pas } P 3300 5500 3600 5500 1 0 1 { T 3400 5550 5 8 0 1 0 0 1 pinnumber=B19 T 3400 5450 5 8 0 1 0 2 1 pinseq=51 T 3250 5500 9 8 1 1 0 6 1 pinlabel=B19 T 3250 5500 5 8 0 1 0 8 1 pintype=pas } P 3600 5300 3300 5300 1 0 0 { T 3400 5350 5 8 0 1 0 0 1 pinnumber=C19 T 3400 5250 5 8 0 1 0 2 1 pinseq=83 T 3250 5300 9 8 1 1 0 6 1 pinlabel=C19 T 3250 5300 5 8 0 1 0 8 1 pintype=pas } P 3300 5100 3600 5100 1 0 1 { T 3400 5150 5 8 0 1 0 0 1 pinnumber=B20 T 3400 5050 5 8 0 1 0 2 1 pinseq=52 T 3250 5100 9 8 1 1 0 6 1 pinlabel=B20 T 3250 5100 5 8 0 1 0 8 1 pintype=pas } P 3600 4900 3300 4900 1 0 0 { T 3400 4950 5 8 0 1 0 0 1 pinnumber=C20 T 3400 4850 5 8 0 1 0 2 1 pinseq=84 T 3250 4900 9 8 1 1 0 6 1 pinlabel=C20 T 3250 4900 5 8 0 1 0 8 1 pintype=pas } P 3300 4700 3600 4700 1 0 1 { T 3400 4750 5 8 0 1 0 0 1 pinnumber=B21 T 3400 4650 5 8 0 1 0 2 1 pinseq=53 T 3250 4700 9 8 1 1 0 6 1 pinlabel=B21 T 3250 4700 5 8 0 1 0 8 1 pintype=pas } P 3600 4500 3300 4500 1 0 0 { T 3400 4550 5 8 0 1 0 0 1 pinnumber=C21 T 3400 4450 5 8 0 1 0 2 1 pinseq=85 T 3250 4500 9 8 1 1 0 6 1 pinlabel=C21 T 3250 4500 5 8 0 1 0 8 1 pintype=pas } P 3300 4300 3600 4300 1 0 1 { T 3400 4350 5 8 0 1 0 0 1 pinnumber=B22 T 3400 4250 5 8 0 1 0 2 1 pinseq=54 T 3250 4300 9 8 1 1 0 6 1 pinlabel=B22 T 3250 4300 5 8 0 1 0 8 1 pintype=pas } P 3600 4100 3300 4100 1 0 0 { T 3400 4150 5 8 0 1 0 0 1 pinnumber=C22 T 3400 4050 5 8 0 1 0 2 1 pinseq=86 T 3250 4100 9 8 1 1 0 6 1 pinlabel=C22 T 3250 4100 5 8 0 1 0 8 1 pintype=pas } P 3300 3900 3600 3900 1 0 1 { T 3400 3950 5 8 0 1 0 0 1 pinnumber=B23 T 3400 3850 5 8 0 1 0 2 1 pinseq=55 T 3250 3900 9 8 1 1 0 6 1 pinlabel=B23 T 3250 3900 5 8 0 1 0 8 1 pintype=pas } P 3600 3700 3300 3700 1 0 0 { T 3400 3750 5 8 0 1 0 0 1 pinnumber=C23 T 3400 3650 5 8 0 1 0 2 1 pinseq=87 T 3250 3700 9 8 1 1 0 6 1 pinlabel=C23 T 3250 3700 5 8 0 1 0 8 1 pintype=pas } P 3300 3500 3600 3500 1 0 1 { T 3400 3550 5 8 0 1 0 0 1 pinnumber=B24 T 3400 3450 5 8 0 1 0 2 1 pinseq=56 T 3250 3500 9 8 1 1 0 6 1 pinlabel=B24 T 3250 3500 5 8 0 1 0 8 1 pintype=pas } P 3600 3300 3300 3300 1 0 0 { T 3400 3350 5 8 0 1 0 0 1 pinnumber=C24 T 3400 3250 5 8 0 1 0 2 1 pinseq=88 T 3250 3300 9 8 1 1 0 6 1 pinlabel=C24 T 3250 3300 5 8 0 1 0 8 1 pintype=pas } P 3300 3100 3600 3100 1 0 1 { T 3400 3150 5 8 0 1 0 0 1 pinnumber=B25 T 3400 3050 5 8 0 1 0 2 1 pinseq=57 T 3250 3100 9 8 1 1 0 6 1 pinlabel=B25 T 3250 3100 5 8 0 1 0 8 1 pintype=pas } P 3600 2900 3300 2900 1 0 0 { T 3400 2950 5 8 0 1 0 0 1 pinnumber=C25 T 3400 2850 5 8 0 1 0 2 1 pinseq=89 T 3250 2900 9 8 1 1 0 6 1 pinlabel=C25 T 3250 2900 5 8 0 1 0 8 1 pintype=pas } P 3300 2700 3600 2700 1 0 1 { T 3400 2750 5 8 0 1 0 0 1 pinnumber=B26 T 3400 2650 5 8 0 1 0 2 1 pinseq=58 T 3250 2700 9 8 1 1 0 6 1 pinlabel=B26 T 3250 2700 5 8 0 1 0 8 1 pintype=pas } P 3600 2500 3300 2500 1 0 0 { T 3400 2550 5 8 0 1 0 0 1 pinnumber=C26 T 3400 2450 5 8 0 1 0 2 1 pinseq=90 T 3250 2500 9 8 1 1 0 6 1 pinlabel=C26 T 3250 2500 5 8 0 1 0 8 1 pintype=pas } P 3300 2300 3600 2300 1 0 1 { T 3400 2350 5 8 0 1 0 0 1 pinnumber=B27 T 3400 2250 5 8 0 1 0 2 1 pinseq=59 T 3250 2300 9 8 1 1 0 6 1 pinlabel=B27 T 3250 2300 5 8 0 1 0 8 1 pintype=pas } P 3300 2100 3600 2100 1 0 1 { T 3400 2150 5 8 0 1 0 0 1 pinnumber=C27 T 3400 2050 5 8 0 1 0 2 1 pinseq=91 T 3250 2100 9 8 1 1 0 6 1 pinlabel=C27 T 3250 2100 5 8 0 1 0 8 1 pintype=pas } P 3600 1900 3300 1900 1 0 0 { T 3400 1950 5 8 0 1 0 0 1 pinnumber=B28 T 3400 1850 5 8 0 1 0 2 1 pinseq=60 T 3250 1900 9 8 1 1 0 6 1 pinlabel=B28 T 3250 1900 5 8 0 1 0 8 1 pintype=pas } P 3300 1700 3600 1700 1 0 1 { T 3400 1750 5 8 0 1 0 0 1 pinnumber=C28 T 3400 1650 5 8 0 1 0 2 1 pinseq=92 T 3250 1700 9 8 1 1 0 6 1 pinlabel=C28 T 3250 1700 5 8 0 1 0 8 1 pintype=pas } P 3600 1500 3300 1500 1 0 0 { T 3400 1550 5 8 0 1 0 0 1 pinnumber=B29 T 3400 1450 5 8 0 1 0 2 1 pinseq=61 T 3250 1500 9 8 1 1 0 6 1 pinlabel=B29 T 3250 1500 5 8 0 1 0 8 1 pintype=pas } P 3300 1300 3600 1300 1 0 1 { T 3400 1350 5 8 0 1 0 0 1 pinnumber=C29 T 3400 1250 5 8 0 1 0 2 1 pinseq=93 T 3250 1300 9 8 1 1 0 6 1 pinlabel=C29 T 3250 1300 5 8 0 1 0 8 1 pintype=pas } P 3600 1100 3300 1100 1 0 0 { T 3400 1150 5 8 0 1 0 0 1 pinnumber=B30 T 3400 1050 5 8 0 1 0 2 1 pinseq=62 T 3250 1100 9 8 1 1 0 6 1 pinlabel=B30 T 3250 1100 5 8 0 1 0 8 1 pintype=pas } P 3300 900 3600 900 1 0 1 { T 3400 950 5 8 0 1 0 0 1 pinnumber=C30 T 3400 850 5 8 0 1 0 2 1 pinseq=94 T 3250 900 9 8 1 1 0 6 1 pinlabel=C30 T 3250 900 5 8 0 1 0 8 1 pintype=pas } P 3600 700 3300 700 1 0 0 { T 3400 750 5 8 0 1 0 0 1 pinnumber=B31 T 3400 650 5 8 0 1 0 2 1 pinseq=63 T 3250 700 9 8 1 1 0 6 1 pinlabel=B31 T 3250 700 5 8 0 1 0 8 1 pintype=pas } P 3300 500 3600 500 1 0 1 { T 3400 550 5 8 0 1 0 0 1 pinnumber=C31 T 3400 450 5 8 0 1 0 2 1 pinseq=95 T 3250 500 9 8 1 1 0 6 1 pinlabel=C31 T 3250 500 5 8 0 1 0 8 1 pintype=pas } P 3600 300 3300 300 1 0 0 { T 3400 350 5 8 0 1 0 0 1 pinnumber=B32 T 3400 250 5 8 0 1 0 2 1 pinseq=64 T 3250 300 9 8 1 1 0 6 1 pinlabel=B32 T 3250 300 5 8 0 1 0 8 1 pintype=pas } P 3300 100 3600 100 1 0 1 { T 3400 150 5 8 0 1 0 0 1 pinnumber=C32 T 3400 50 5 8 0 1 0 2 1 pinseq=96 T 3250 100 9 8 1 1 0 6 1 pinlabel=C32 T 3250 100 5 8 0 1 0 8 1 pintype=pas } B 300 0 3000 12900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 13200 5 10 0 0 0 0 1 device=DIN41612C96 T 3300 13000 8 10 1 1 0 6 1 refdes=CONN? T 300 13650 5 10 0 0 0 0 1 numslots=0 T 300 13450 5 10 0 0 0 0 1 symversion=0.1 T 300 12950 9 10 1 0 0 0 1 DIN 41612C-96 geda-gaf-1.8.2/symbols/connector/connector6-2.sym0000664000175000017500000000311212204104272016522 00000000000000v 20041228 1 T 700 2900 8 10 1 1 0 6 1 refdes=CONN? T 300 2850 5 10 0 0 0 0 1 device=CONNECTOR_6 T 300 3050 5 10 0 0 0 0 1 footprint=SIP6N T 300 3250 5 10 0 0 0 0 1 author=Leon Kos T 300 3450 5 10 0 0 0 0 1 description=generic connector T 300 3650 5 10 0 0 0 0 1 numslots=0 P 0 2400 200 2400 1 0 0 { T 200 2450 5 8 0 1 0 6 1 pinnumber=1 T 200 2350 5 8 0 1 0 8 1 pinseq=1 T 350 2400 9 8 1 1 0 0 1 pinlabel=1 T 350 2400 5 8 0 1 0 2 1 pintype=pas } V 250 2400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2000 200 2000 1 0 0 { T 200 2050 5 8 0 1 0 6 1 pinnumber=2 T 200 1950 5 8 0 1 0 8 1 pinseq=2 T 350 2000 9 8 1 1 0 0 1 pinlabel=2 T 350 2000 5 8 0 1 0 2 1 pintype=pas } V 250 2000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1600 200 1600 1 0 0 { T 200 1650 5 8 0 1 0 6 1 pinnumber=3 T 200 1550 5 8 0 1 0 8 1 pinseq=3 T 350 1600 9 8 1 1 0 0 1 pinlabel=3 T 350 1600 5 8 0 1 0 2 1 pintype=pas } V 250 1600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1200 200 1200 1 0 0 { T 200 1250 5 8 0 1 0 6 1 pinnumber=4 T 200 1150 5 8 0 1 0 8 1 pinseq=4 T 350 1200 9 8 1 1 0 0 1 pinlabel=4 T 350 1200 5 8 0 1 0 2 1 pintype=pas } V 250 1200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 800 200 800 1 0 0 { T 200 850 5 8 0 1 0 6 1 pinnumber=5 T 200 750 5 8 0 1 0 8 1 pinseq=5 T 350 800 9 8 1 1 0 0 1 pinlabel=5 T 350 800 5 8 0 1 0 2 1 pintype=pas } V 250 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 400 200 400 1 0 0 { T 200 450 5 8 0 1 0 6 1 pinnumber=6 T 200 350 5 8 0 1 0 8 1 pinseq=6 T 350 400 9 8 1 1 0 0 1 pinlabel=6 T 350 400 5 8 0 1 0 2 1 pintype=pas } V 250 400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 300 0 400 2800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/connector/connector9-1.sym0000664000175000017500000000406512204104272016534 00000000000000v 20031231 1 P 1400 2300 1700 2300 1 0 1 { T 250 2250 5 8 1 1 0 0 1 pinnumber=2 T 250 2250 5 8 0 0 0 0 1 pinseq=2 T 250 2250 5 8 0 1 0 0 1 pinlabel=2 T 250 2250 5 8 0 1 0 0 1 pintype=pas } P 1400 1700 1700 1700 1 0 1 { T 250 1650 5 8 1 1 0 0 1 pinnumber=4 T 250 1650 5 8 0 0 0 0 1 pinseq=4 T 250 1650 5 8 0 1 0 0 1 pinlabel=4 T 250 1650 5 8 0 1 0 0 1 pintype=pas } P 1400 1100 1700 1100 1 0 1 { T 250 1050 5 8 1 1 0 0 1 pinnumber=6 T 250 1050 5 8 0 0 0 0 1 pinseq=6 T 250 1050 5 8 0 1 0 0 1 pinlabel=6 T 250 1050 5 8 0 1 0 0 1 pintype=pas } P 1400 500 1700 500 1 0 1 { T 250 450 5 8 1 1 0 0 1 pinnumber=8 T 250 450 5 8 0 0 0 0 1 pinseq=8 T 250 450 5 8 0 1 0 0 1 pinlabel=8 T 250 450 5 8 0 1 0 0 1 pintype=pas } P 1400 2600 1700 2600 1 0 1 { T 250 2550 5 8 1 1 0 0 1 pinnumber=1 T 250 2550 5 8 0 0 0 0 1 pinseq=1 T 250 2550 5 8 0 1 0 0 1 pinlabel=1 T 250 2550 5 8 0 1 0 0 1 pintype=pas } P 1400 2000 1700 2000 1 0 1 { T 250 1950 5 8 1 1 0 0 1 pinnumber=3 T 250 1950 5 8 0 0 0 0 1 pinseq=3 T 250 1950 5 8 0 1 0 0 1 pinlabel=3 T 250 1950 5 8 0 1 0 0 1 pintype=pas } P 1400 1400 1700 1400 1 0 1 { T 250 1350 5 8 1 1 0 0 1 pinnumber=5 T 250 1350 5 8 0 0 0 0 1 pinseq=5 T 250 1350 5 8 0 1 0 0 1 pinlabel=5 T 250 1350 5 8 0 1 0 0 1 pintype=pas } P 1400 800 1700 800 1 0 1 { T 250 750 5 8 1 1 0 0 1 pinnumber=7 T 250 750 5 8 0 0 0 0 1 pinseq=7 T 250 750 5 8 0 1 0 0 1 pinlabel=7 T 250 750 5 8 0 1 0 0 1 pintype=pas } L 1400 2600 500 2600 3 0 0 0 -1 -1 L 1400 2300 500 2300 3 0 0 0 -1 -1 L 1400 2000 500 2000 3 0 0 0 -1 -1 L 1400 1700 500 1700 3 0 0 0 -1 -1 L 1400 1400 500 1400 3 0 0 0 -1 -1 L 1400 1100 500 1100 3 0 0 0 -1 -1 L 1400 800 500 800 3 0 0 0 -1 -1 L 1400 500 500 500 3 0 0 0 -1 -1 B 0 0 500 2800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 100 3500 5 10 0 0 0 0 1 device=CONNECTOR_9 T 100 2900 8 10 1 1 0 0 1 refdes=J? T 100 3100 5 10 0 0 0 0 1 class=IO T 100 3300 5 10 0 0 0 0 1 pins=9 P 1400 200 1700 200 1 0 1 { T 250 150 5 8 1 1 0 0 1 pinnumber=9 T 250 150 5 8 0 0 0 0 1 pinseq=9 T 250 150 5 8 0 1 0 0 1 pinlabel=9 T 250 150 5 8 0 1 0 0 1 pintype=pas } L 1400 200 500 200 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/connector/gpib-1.sym0000664000175000017500000001211012204104272015360 00000000000000v 20031231 1 B 300 0 1500 4700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1500 4900 5 10 0 0 0 0 1 device=GPIB P 300 4500 0 4500 1 0 1 { T 100 4550 5 8 1 1 0 0 1 pinnumber=1 T 100 4550 5 8 0 0 0 0 1 pinseq=1 T 100 4550 5 8 0 1 0 0 1 pinlabel=1 T 100 4550 5 8 0 1 0 0 1 pintype=pas } P 300 4100 0 4100 1 0 1 { T 100 4150 5 8 1 1 0 0 1 pinnumber=2 T 100 4150 5 8 0 0 0 0 1 pinseq=2 T 100 4150 5 8 0 1 0 0 1 pinlabel=2 T 100 4150 5 8 0 1 0 0 1 pintype=pas } P 300 3700 0 3700 1 0 1 { T 100 3750 5 8 1 1 0 0 1 pinnumber=3 T 100 3750 5 8 0 0 0 0 1 pinseq=3 T 100 3750 5 8 0 1 0 0 1 pinlabel=3 T 100 3750 5 8 0 1 0 0 1 pintype=pas } P 300 3300 0 3300 1 0 1 { T 100 3350 5 8 1 1 0 0 1 pinnumber=4 T 100 3350 5 8 0 0 0 0 1 pinseq=4 T 100 3350 5 8 0 1 0 0 1 pinlabel=4 T 100 3350 5 8 0 1 0 0 1 pintype=pas } P 300 2900 0 2900 1 0 1 { T 100 2950 5 8 1 1 0 0 1 pinnumber=5 T 100 2950 5 8 0 0 0 0 1 pinseq=5 T 100 2950 5 8 0 1 0 0 1 pinlabel=5 T 100 2950 5 8 0 1 0 0 1 pintype=pas } P 300 2500 0 2500 1 0 1 { T 100 2550 5 8 1 1 0 0 1 pinnumber=6 T 100 2550 5 8 0 0 0 0 1 pinseq=6 T 100 2550 5 8 0 1 0 0 1 pinlabel=6 T 100 2550 5 8 0 1 0 0 1 pintype=pas } P 300 2100 0 2100 1 0 1 { T 100 2150 5 8 1 1 0 0 1 pinnumber=7 T 100 2150 5 8 0 0 0 0 1 pinseq=7 T 100 2150 5 8 0 1 0 0 1 pinlabel=7 T 100 2150 5 8 0 1 0 0 1 pintype=pas } P 300 1700 0 1700 1 0 1 { T 100 1750 5 8 1 1 0 0 1 pinnumber=8 T 100 1750 5 8 0 0 0 0 1 pinseq=8 T 100 1750 5 8 0 1 0 0 1 pinlabel=8 T 100 1750 5 8 0 1 0 0 1 pintype=pas } P 300 1300 0 1300 1 0 1 { T 100 1350 5 8 1 1 0 0 1 pinnumber=9 T 100 1350 5 8 0 0 0 0 1 pinseq=9 T 100 1350 5 8 0 1 0 0 1 pinlabel=9 T 100 1350 5 8 0 1 0 0 1 pintype=pas } P 300 900 0 900 1 0 1 { T 100 950 5 8 1 1 0 0 1 pinnumber=10 T 100 950 5 8 0 0 0 0 1 pinseq=10 T 100 950 5 8 0 1 0 0 1 pinlabel=10 T 100 950 5 8 0 1 0 0 1 pintype=pas } P 300 500 0 500 1 0 1 { T 100 550 5 8 1 1 0 0 1 pinnumber=11 T 100 550 5 8 0 0 0 0 1 pinseq=11 T 100 550 5 8 0 1 0 0 1 pinlabel=11 T 100 550 5 8 0 1 0 0 1 pintype=pas } P 300 100 0 100 1 0 1 { T 100 150 5 8 1 1 0 0 1 pinnumber=12 T 100 150 5 8 0 0 0 0 1 pinseq=12 T 100 150 5 8 0 1 0 0 1 pinlabel=12 T 100 150 5 8 0 1 0 0 1 pintype=pas } P 2100 4500 1800 4500 1 0 0 { T 1900 4550 5 8 1 1 0 0 1 pinnumber=13 T 1900 4550 5 8 0 0 0 0 1 pinseq=13 T 1900 4550 5 8 0 1 0 0 1 pinlabel=13 T 1900 4550 5 8 0 1 0 0 1 pintype=pas } P 2100 4100 1800 4100 1 0 0 { T 1900 4150 5 8 1 1 0 0 1 pinnumber=14 T 1900 4150 5 8 0 0 0 0 1 pinseq=14 T 1900 4150 5 8 0 1 0 0 1 pinlabel=14 T 1900 4150 5 8 0 1 0 0 1 pintype=pas } P 2100 3700 1800 3700 1 0 0 { T 1900 3750 5 8 1 1 0 0 1 pinnumber=15 T 1900 3750 5 8 0 0 0 0 1 pinseq=15 T 1900 3750 5 8 0 1 0 0 1 pinlabel=15 T 1900 3750 5 8 0 1 0 0 1 pintype=pas } P 2100 3300 1800 3300 1 0 0 { T 1900 3350 5 8 1 1 0 0 1 pinnumber=16 T 1900 3350 5 8 0 0 0 0 1 pinseq=16 T 1900 3350 5 8 0 1 0 0 1 pinlabel=16 T 1900 3350 5 8 0 1 0 0 1 pintype=pas } P 2100 2900 1800 2900 1 0 0 { T 1900 2950 5 8 1 1 0 0 1 pinnumber=17 T 1900 2950 5 8 0 0 0 0 1 pinseq=17 T 1900 2950 5 8 0 1 0 0 1 pinlabel=17 T 1900 2950 5 8 0 1 0 0 1 pintype=pas } P 2100 2500 1800 2500 1 0 0 { T 1900 2550 5 8 1 1 0 0 1 pinnumber=18 T 1900 2550 5 8 0 0 0 0 1 pinseq=18 T 1900 2550 5 8 0 1 0 0 1 pinlabel=18 T 1900 2550 5 8 0 1 0 0 1 pintype=pas } P 2100 2100 1800 2100 1 0 0 { T 1900 2150 5 8 1 1 0 0 1 pinnumber=19 T 1900 2150 5 8 0 0 0 0 1 pinseq=19 T 1900 2150 5 8 0 1 0 0 1 pinlabel=19 T 1900 2150 5 8 0 1 0 0 1 pintype=pas } P 2100 1700 1800 1700 1 0 0 { T 1900 1750 5 8 1 1 0 0 1 pinnumber=20 T 1900 1750 5 8 0 0 0 0 1 pinseq=20 T 1900 1750 5 8 0 1 0 0 1 pinlabel=20 T 1900 1750 5 8 0 1 0 0 1 pintype=pas } P 2100 1300 1800 1300 1 0 0 { T 1900 1350 5 8 1 1 0 0 1 pinnumber=21 T 1900 1350 5 8 0 0 0 0 1 pinseq=21 T 1900 1350 5 8 0 1 0 0 1 pinlabel=21 T 1900 1350 5 8 0 1 0 0 1 pintype=pas } P 2100 900 1800 900 1 0 0 { T 1900 950 5 8 1 1 0 0 1 pinnumber=22 T 1900 950 5 8 0 0 0 0 1 pinseq=22 T 1900 950 5 8 0 1 0 0 1 pinlabel=22 T 1900 950 5 8 0 1 0 0 1 pintype=pas } P 2100 500 1800 500 1 0 0 { T 1900 550 5 8 1 1 0 0 1 pinnumber=23 T 1900 550 5 8 0 0 0 0 1 pinseq=23 T 1900 550 5 8 0 1 0 0 1 pinlabel=23 T 1900 550 5 8 0 1 0 0 1 pintype=pas } P 2100 100 1800 100 1 0 0 { T 1900 150 5 8 1 1 0 0 1 pinnumber=24 T 1900 150 5 8 0 0 0 0 1 pinseq=24 T 1900 150 5 8 0 1 0 0 1 pinlabel=24 T 1900 150 5 8 0 1 0 0 1 pintype=pas } T 300 4750 9 10 1 0 0 0 1 GPIB T 400 4500 9 10 1 0 0 0 1 DIO1 T 400 4100 9 10 1 0 0 0 1 DIO2 T 400 3700 9 10 1 0 0 0 1 DIO3 T 400 3300 9 10 1 0 0 0 1 DIO4 T 400 2900 9 10 1 0 0 0 1 EOI T 400 2500 9 10 1 0 0 0 1 DAV T 400 2100 9 10 1 0 0 0 1 NRFD T 400 1700 9 10 1 0 0 0 1 NDAC T 400 1300 9 10 1 0 0 0 1 IFC T 400 900 9 10 1 0 0 0 1 SRQ T 400 500 9 10 1 0 0 0 1 ATN T 400 100 9 10 1 0 0 0 1 SHEILD T 1300 4500 9 10 1 0 0 0 1 DIO5 T 1300 4100 9 10 1 0 0 0 1 DIO6 T 1300 3700 9 10 1 0 0 0 1 DIO7 T 1300 3300 9 10 1 0 0 0 1 DIO8 T 1300 2900 9 10 1 0 0 0 1 REN T 1300 2500 9 10 1 0 0 0 1 GND T 1300 2100 9 10 1 0 0 0 1 GND T 1300 1700 9 10 1 0 0 0 1 GND T 1300 1300 9 10 1 0 0 0 1 GND T 1300 900 9 10 1 0 0 0 1 GND T 1300 500 9 10 1 0 0 0 1 GND T 1300 100 9 10 1 0 0 0 1 GND T 1200 4800 8 10 1 1 0 0 1 refdes=CONN? geda-gaf-1.8.2/symbols/connector/connector10-1.sym0000664000175000017500000000431612204104272016603 00000000000000v 20031231 1 P 1400 2600 1700 2600 1 0 1 { T 250 2550 5 8 1 1 0 0 1 pinnumber=2 T 250 2550 5 8 0 0 0 0 1 pinseq=2 T 250 2550 5 8 0 1 0 0 1 pinlabel=2 T 250 2550 5 8 0 1 0 0 1 pintype=pas } P 1400 2000 1700 2000 1 0 1 { T 250 1950 5 8 1 1 0 0 1 pinnumber=4 T 250 1950 5 8 0 0 0 0 1 pinseq=4 T 250 1950 5 8 0 1 0 0 1 pinlabel=4 T 250 1950 5 8 0 1 0 0 1 pintype=pas } P 1400 1400 1700 1400 1 0 1 { T 250 1350 5 8 1 1 0 0 1 pinnumber=6 T 250 1350 5 8 0 0 0 0 1 pinseq=6 T 250 1350 5 8 0 1 0 0 1 pinlabel=6 T 250 1350 5 8 0 1 0 0 1 pintype=pas } P 1400 800 1700 800 1 0 1 { T 250 750 5 8 1 1 0 0 1 pinnumber=8 T 250 750 5 8 0 0 0 0 1 pinseq=8 T 250 750 5 8 0 1 0 0 1 pinlabel=8 T 250 750 5 8 0 1 0 0 1 pintype=pas } P 1400 2900 1700 2900 1 0 1 { T 250 2850 5 8 1 1 0 0 1 pinnumber=1 T 250 2850 5 8 0 0 0 0 1 pinseq=1 T 250 2850 5 8 0 1 0 0 1 pinlabel=1 T 250 2850 5 8 0 1 0 0 1 pintype=pas } P 1400 2300 1700 2300 1 0 1 { T 250 2250 5 8 1 1 0 0 1 pinnumber=3 T 250 2250 5 8 0 0 0 0 1 pinseq=3 T 250 2250 5 8 0 1 0 0 1 pinlabel=3 T 250 2250 5 8 0 1 0 0 1 pintype=pas } P 1400 1700 1700 1700 1 0 1 { T 250 1650 5 8 1 1 0 0 1 pinnumber=5 T 250 1650 5 8 0 0 0 0 1 pinseq=5 T 250 1650 5 8 0 1 0 0 1 pinlabel=5 T 250 1650 5 8 0 1 0 0 1 pintype=pas } P 1400 1100 1700 1100 1 0 1 { T 250 1050 5 8 1 1 0 0 1 pinnumber=7 T 250 1050 5 8 0 0 0 0 1 pinseq=7 T 250 1050 5 8 0 1 0 0 1 pinlabel=7 T 250 1050 5 8 0 1 0 0 1 pintype=pas } P 1400 200 1700 200 1 0 1 { T 250 150 5 8 1 1 0 0 1 pinnumber=10 T 250 150 5 8 0 0 0 0 1 pinseq=10 T 250 150 5 8 0 1 0 0 1 pinlabel=10 T 250 150 5 8 0 1 0 0 1 pintype=pas } P 1400 500 1700 500 1 0 1 { T 250 450 5 8 1 1 0 0 1 pinnumber=9 T 250 450 5 8 0 0 0 0 1 pinseq=9 T 250 450 5 8 0 1 0 0 1 pinlabel=9 T 250 450 5 8 0 1 0 0 1 pintype=pas } L 1400 2900 500 2900 3 0 0 0 -1 -1 L 1400 2600 500 2600 3 0 0 0 -1 -1 L 1400 2300 500 2300 3 0 0 0 -1 -1 L 1400 2000 500 2000 3 0 0 0 -1 -1 L 1400 1700 500 1700 3 0 0 0 -1 -1 L 1400 1400 500 1400 3 0 0 0 -1 -1 L 1400 1100 500 1100 3 0 0 0 -1 -1 L 1400 800 500 800 3 0 0 0 -1 -1 L 1400 500 500 500 3 0 0 0 -1 -1 L 1400 200 500 200 3 0 0 0 -1 -1 B 0 0 500 3100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1900 3000 5 10 0 0 0 0 1 device=CONNECTOR_10 T 100 3200 8 10 1 1 0 0 1 refdes=CONN? geda-gaf-1.8.2/symbols/connector/connector20-2.sym0000664000175000017500000001116512204104272016605 00000000000000v 20041228 1 T 800 8600 8 10 1 1 0 6 1 refdes=CONN? T 400 8550 5 10 0 0 0 0 1 device=CONNECTOR_20 T 400 8750 5 10 0 0 0 0 1 footprint=SIP20N T 400 8950 5 10 0 0 0 0 1 author=Leon Kos T 400 9150 5 10 0 0 0 0 1 description=generic connector T 400 9350 5 10 0 0 0 0 1 numslots=0 P 100 8100 300 8100 1 0 0 { T 300 8150 5 8 0 1 0 6 1 pinnumber=1 T 300 8050 5 8 0 1 0 8 1 pinseq=1 T 450 8100 9 8 1 1 0 0 1 pinlabel=1 T 450 8100 5 8 0 1 0 2 1 pintype=pas } V 350 8100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 7700 300 7700 1 0 0 { T 300 7750 5 8 0 1 0 6 1 pinnumber=2 T 300 7650 5 8 0 1 0 8 1 pinseq=2 T 450 7700 9 8 1 1 0 0 1 pinlabel=2 T 450 7700 5 8 0 1 0 2 1 pintype=pas } V 350 7700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 7300 300 7300 1 0 0 { T 300 7350 5 8 0 1 0 6 1 pinnumber=3 T 300 7250 5 8 0 1 0 8 1 pinseq=3 T 450 7300 9 8 1 1 0 0 1 pinlabel=3 T 450 7300 5 8 0 1 0 2 1 pintype=pas } V 350 7300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6900 300 6900 1 0 0 { T 300 6950 5 8 0 1 0 6 1 pinnumber=4 T 300 6850 5 8 0 1 0 8 1 pinseq=4 T 450 6900 9 8 1 1 0 0 1 pinlabel=4 T 450 6900 5 8 0 1 0 2 1 pintype=pas } V 350 6900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6500 300 6500 1 0 0 { T 300 6550 5 8 0 1 0 6 1 pinnumber=5 T 300 6450 5 8 0 1 0 8 1 pinseq=5 T 450 6500 9 8 1 1 0 0 1 pinlabel=5 T 450 6500 5 8 0 1 0 2 1 pintype=pas } V 350 6500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6100 300 6100 1 0 0 { T 300 6150 5 8 0 1 0 6 1 pinnumber=6 T 300 6050 5 8 0 1 0 8 1 pinseq=6 T 450 6100 9 8 1 1 0 0 1 pinlabel=6 T 450 6100 5 8 0 1 0 2 1 pintype=pas } V 350 6100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 5700 300 5700 1 0 0 { T 300 5750 5 8 0 1 0 6 1 pinnumber=7 T 300 5650 5 8 0 1 0 8 1 pinseq=7 T 450 5700 9 8 1 1 0 0 1 pinlabel=7 T 450 5700 5 8 0 1 0 2 1 pintype=pas } V 350 5700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 5300 300 5300 1 0 0 { T 300 5350 5 8 0 1 0 6 1 pinnumber=8 T 300 5250 5 8 0 1 0 8 1 pinseq=8 T 450 5300 9 8 1 1 0 0 1 pinlabel=8 T 450 5300 5 8 0 1 0 2 1 pintype=pas } V 350 5300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4900 300 4900 1 0 0 { T 300 4950 5 8 0 1 0 6 1 pinnumber=9 T 300 4850 5 8 0 1 0 8 1 pinseq=9 T 450 4900 9 8 1 1 0 0 1 pinlabel=9 T 450 4900 5 8 0 1 0 2 1 pintype=pas } V 350 4900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4500 300 4500 1 0 0 { T 300 4550 5 8 0 1 0 6 1 pinnumber=10 T 300 4450 5 8 0 1 0 8 1 pinseq=10 T 450 4500 9 8 1 1 0 0 1 pinlabel=10 T 450 4500 5 8 0 1 0 2 1 pintype=pas } V 350 4500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4100 300 4100 1 0 0 { T 300 4150 5 8 0 1 0 6 1 pinnumber=11 T 300 4050 5 8 0 1 0 8 1 pinseq=11 T 450 4100 9 8 1 1 0 0 1 pinlabel=11 T 450 4100 5 8 0 1 0 2 1 pintype=pas } V 350 4100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 3700 300 3700 1 0 0 { T 300 3750 5 8 0 1 0 6 1 pinnumber=12 T 300 3650 5 8 0 1 0 8 1 pinseq=12 T 450 3700 9 8 1 1 0 0 1 pinlabel=12 T 450 3700 5 8 0 1 0 2 1 pintype=pas } V 350 3700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 3300 300 3300 1 0 0 { T 300 3350 5 8 0 1 0 6 1 pinnumber=13 T 300 3250 5 8 0 1 0 8 1 pinseq=13 T 450 3300 9 8 1 1 0 0 1 pinlabel=13 T 450 3300 5 8 0 1 0 2 1 pintype=pas } V 350 3300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2900 300 2900 1 0 0 { T 300 2950 5 8 0 1 0 6 1 pinnumber=14 T 300 2850 5 8 0 1 0 8 1 pinseq=14 T 450 2900 9 8 1 1 0 0 1 pinlabel=14 T 450 2900 5 8 0 1 0 2 1 pintype=pas } V 350 2900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2500 300 2500 1 0 0 { T 300 2550 5 8 0 1 0 6 1 pinnumber=15 T 300 2450 5 8 0 1 0 8 1 pinseq=15 T 450 2500 9 8 1 1 0 0 1 pinlabel=15 T 450 2500 5 8 0 1 0 2 1 pintype=pas } V 350 2500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2100 300 2100 1 0 0 { T 300 2150 5 8 0 1 0 6 1 pinnumber=16 T 300 2050 5 8 0 1 0 8 1 pinseq=16 T 450 2100 9 8 1 1 0 0 1 pinlabel=16 T 450 2100 5 8 0 1 0 2 1 pintype=pas } V 350 2100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1700 300 1700 1 0 0 { T 300 1750 5 8 0 1 0 6 1 pinnumber=17 T 300 1650 5 8 0 1 0 8 1 pinseq=17 T 450 1700 9 8 1 1 0 0 1 pinlabel=17 T 450 1700 5 8 0 1 0 2 1 pintype=pas } V 350 1700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1300 300 1300 1 0 0 { T 300 1350 5 8 0 1 0 6 1 pinnumber=18 T 300 1250 5 8 0 1 0 8 1 pinseq=18 T 450 1300 9 8 1 1 0 0 1 pinlabel=18 T 450 1300 5 8 0 1 0 2 1 pintype=pas } V 350 1300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 900 300 900 1 0 0 { T 300 950 5 8 0 1 0 6 1 pinnumber=19 T 300 850 5 8 0 1 0 8 1 pinseq=19 T 450 900 9 8 1 1 0 0 1 pinlabel=19 T 450 900 5 8 0 1 0 2 1 pintype=pas } V 350 900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 500 300 500 1 0 0 { T 300 550 5 8 0 1 0 6 1 pinnumber=20 T 300 450 5 8 0 1 0 8 1 pinseq=20 T 450 500 9 8 1 1 0 0 1 pinlabel=20 T 450 500 5 8 0 1 0 2 1 pintype=pas } V 350 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 400 100 400 8400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/connector/connector18-2.sym0000664000175000017500000001027112204104272016611 00000000000000v 20041228 1 T 800 7800 8 10 1 1 0 6 1 refdes=CONN? T 400 7750 5 10 0 0 0 0 1 device=CONNECTOR_18 T 400 7950 5 10 0 0 0 0 1 footprint=SIP18N T 400 8150 5 10 0 0 0 0 1 author=Leon Kos T 400 8350 5 10 0 0 0 0 1 description=generic connector T 400 8550 5 10 0 0 0 0 1 numslots=0 P 100 7300 300 7300 1 0 0 { T 300 7350 5 8 0 1 0 6 1 pinnumber=1 T 300 7250 5 8 0 1 0 8 1 pinseq=1 T 450 7300 9 8 1 1 0 0 1 pinlabel=1 T 450 7300 5 8 0 1 0 2 1 pintype=pas } V 350 7300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6900 300 6900 1 0 0 { T 300 6950 5 8 0 1 0 6 1 pinnumber=2 T 300 6850 5 8 0 1 0 8 1 pinseq=2 T 450 6900 9 8 1 1 0 0 1 pinlabel=2 T 450 6900 5 8 0 1 0 2 1 pintype=pas } V 350 6900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6500 300 6500 1 0 0 { T 300 6550 5 8 0 1 0 6 1 pinnumber=3 T 300 6450 5 8 0 1 0 8 1 pinseq=3 T 450 6500 9 8 1 1 0 0 1 pinlabel=3 T 450 6500 5 8 0 1 0 2 1 pintype=pas } V 350 6500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6100 300 6100 1 0 0 { T 300 6150 5 8 0 1 0 6 1 pinnumber=4 T 300 6050 5 8 0 1 0 8 1 pinseq=4 T 450 6100 9 8 1 1 0 0 1 pinlabel=4 T 450 6100 5 8 0 1 0 2 1 pintype=pas } V 350 6100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 5700 300 5700 1 0 0 { T 300 5750 5 8 0 1 0 6 1 pinnumber=5 T 300 5650 5 8 0 1 0 8 1 pinseq=5 T 450 5700 9 8 1 1 0 0 1 pinlabel=5 T 450 5700 5 8 0 1 0 2 1 pintype=pas } V 350 5700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 5300 300 5300 1 0 0 { T 300 5350 5 8 0 1 0 6 1 pinnumber=6 T 300 5250 5 8 0 1 0 8 1 pinseq=6 T 450 5300 9 8 1 1 0 0 1 pinlabel=6 T 450 5300 5 8 0 1 0 2 1 pintype=pas } V 350 5300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4900 300 4900 1 0 0 { T 300 4950 5 8 0 1 0 6 1 pinnumber=7 T 300 4850 5 8 0 1 0 8 1 pinseq=7 T 450 4900 9 8 1 1 0 0 1 pinlabel=7 T 450 4900 5 8 0 1 0 2 1 pintype=pas } V 350 4900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4500 300 4500 1 0 0 { T 300 4550 5 8 0 1 0 6 1 pinnumber=8 T 300 4450 5 8 0 1 0 8 1 pinseq=8 T 450 4500 9 8 1 1 0 0 1 pinlabel=8 T 450 4500 5 8 0 1 0 2 1 pintype=pas } V 350 4500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4100 300 4100 1 0 0 { T 300 4150 5 8 0 1 0 6 1 pinnumber=9 T 300 4050 5 8 0 1 0 8 1 pinseq=9 T 450 4100 9 8 1 1 0 0 1 pinlabel=9 T 450 4100 5 8 0 1 0 2 1 pintype=pas } V 350 4100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 3700 300 3700 1 0 0 { T 300 3750 5 8 0 1 0 6 1 pinnumber=10 T 300 3650 5 8 0 1 0 8 1 pinseq=10 T 450 3700 9 8 1 1 0 0 1 pinlabel=10 T 450 3700 5 8 0 1 0 2 1 pintype=pas } V 350 3700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 3300 300 3300 1 0 0 { T 300 3350 5 8 0 1 0 6 1 pinnumber=11 T 300 3250 5 8 0 1 0 8 1 pinseq=11 T 450 3300 9 8 1 1 0 0 1 pinlabel=11 T 450 3300 5 8 0 1 0 2 1 pintype=pas } V 350 3300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2900 300 2900 1 0 0 { T 300 2950 5 8 0 1 0 6 1 pinnumber=12 T 300 2850 5 8 0 1 0 8 1 pinseq=12 T 450 2900 9 8 1 1 0 0 1 pinlabel=12 T 450 2900 5 8 0 1 0 2 1 pintype=pas } V 350 2900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2500 300 2500 1 0 0 { T 300 2550 5 8 0 1 0 6 1 pinnumber=13 T 300 2450 5 8 0 1 0 8 1 pinseq=13 T 450 2500 9 8 1 1 0 0 1 pinlabel=13 T 450 2500 5 8 0 1 0 2 1 pintype=pas } V 350 2500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2100 300 2100 1 0 0 { T 300 2150 5 8 0 1 0 6 1 pinnumber=14 T 300 2050 5 8 0 1 0 8 1 pinseq=14 T 450 2100 9 8 1 1 0 0 1 pinlabel=14 T 450 2100 5 8 0 1 0 2 1 pintype=pas } V 350 2100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1700 300 1700 1 0 0 { T 300 1750 5 8 0 1 0 6 1 pinnumber=15 T 300 1650 5 8 0 1 0 8 1 pinseq=15 T 450 1700 9 8 1 1 0 0 1 pinlabel=15 T 450 1700 5 8 0 1 0 2 1 pintype=pas } V 350 1700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1300 300 1300 1 0 0 { T 300 1350 5 8 0 1 0 6 1 pinnumber=16 T 300 1250 5 8 0 1 0 8 1 pinseq=16 T 450 1300 9 8 1 1 0 0 1 pinlabel=16 T 450 1300 5 8 0 1 0 2 1 pintype=pas } V 350 1300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 900 300 900 1 0 0 { T 300 950 5 8 0 1 0 6 1 pinnumber=17 T 300 850 5 8 0 1 0 8 1 pinseq=17 T 450 900 9 8 1 1 0 0 1 pinlabel=17 T 450 900 5 8 0 1 0 2 1 pintype=pas } V 350 900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 500 300 500 1 0 0 { T 300 550 5 8 0 1 0 6 1 pinnumber=18 T 300 450 5 8 0 1 0 8 1 pinseq=18 T 450 500 9 8 1 1 0 0 1 pinlabel=18 T 450 500 5 8 0 1 0 2 1 pintype=pas } V 350 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 400 100 400 7600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/connector/header8-1.sym0000664000175000017500000000331112204104272015762 00000000000000v 20031231 1 P 0 1400 300 1400 1 0 0 { T 100 1450 5 8 1 1 0 0 1 pinnumber=1 T 100 1450 9 8 0 1 0 0 1 pinlabel=1 T 100 1450 5 8 0 0 0 0 1 pinseq=1 T 100 1450 5 8 0 0 0 0 1 pintype=pas } P 0 1000 300 1000 1 0 0 { T 100 1050 5 8 1 1 0 0 1 pinnumber=2 T 100 1050 9 8 0 1 0 0 1 pinlabel=2 T 100 1050 5 8 0 0 0 0 1 pinseq=2 T 100 1050 5 8 0 0 0 0 1 pintype=pas } P 0 600 300 600 1 0 0 { T 100 650 5 8 1 1 0 0 1 pinnumber=3 T 100 650 9 8 0 1 0 0 1 pinlabel=3 T 100 650 5 8 0 0 0 0 1 pinseq=3 T 100 650 5 8 0 0 0 0 1 pintype=pas } P 0 200 300 200 1 0 0 { T 100 250 5 8 1 1 0 0 1 pinnumber=4 T 100 250 9 8 0 1 0 0 1 pinlabel=4 T 100 250 5 8 0 0 0 0 1 pinseq=4 T 100 250 5 8 0 0 0 0 1 pintype=pas } P 1100 200 1400 200 1 0 1 { T 1250 250 5 8 1 1 0 0 1 pinnumber=5 T 1250 250 9 8 0 1 0 0 1 pinlabel=5 T 1250 250 5 8 0 0 0 0 1 pinseq=5 T 1250 250 5 8 0 0 0 0 1 pintype=pas } P 1100 600 1400 600 1 0 1 { T 1250 650 5 8 1 1 0 0 1 pinnumber=6 T 1250 650 9 8 0 1 0 0 1 pinlabel=6 T 1250 650 5 8 0 0 0 0 1 pinseq=6 T 1250 650 5 8 0 0 0 0 1 pintype=pas } P 1100 1000 1400 1000 1 0 1 { T 1250 1050 5 8 1 1 0 0 1 pinnumber=7 T 1250 1050 9 8 0 1 0 0 1 pinlabel=7 T 1250 1050 5 8 0 0 0 0 1 pinseq=7 T 1250 1050 5 8 0 0 0 0 1 pintype=pas } P 1100 1400 1400 1400 1 0 1 { T 1250 1450 5 8 1 1 0 0 1 pinnumber=8 T 1250 1450 9 8 0 1 0 0 1 pinlabel=8 T 1250 1450 5 8 0 0 0 0 1 pinseq=8 T 1250 1450 5 8 0 0 0 0 1 pintype=pas } L 300 800 1100 800 3 0 0 0 -1 -1 L 300 400 1100 400 3 0 0 0 -1 -1 L 300 1200 1100 1200 3 0 0 0 -1 -1 L 700 1600 700 0 3 0 0 0 -1 -1 B 300 0 800 1600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 0 1600 5 10 0 1 0 0 1 device=HEADER8 T 0 1600 5 10 0 1 0 0 1 numslots=0 T 0 1600 5 10 0 1 0 0 1 description=Header 8 pins T 600 1700 8 10 1 1 0 0 1 refdes=J? geda-gaf-1.8.2/symbols/connector/DIN41617C31-1.sym0000664000175000017500000001570112204104272015734 00000000000000v 20031231 1 T 1600 6250 5 10 0 0 0 0 1 device=DIN41617C31 V 900 200 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 200 1500 200 1 0 1 { T 1300 250 5 8 1 1 0 0 1 pinnumber=31 T 1300 250 5 8 0 0 0 0 1 pinseq=31 T 1300 250 5 8 0 1 0 0 1 pinlabel=31 T 1300 250 5 8 0 1 0 0 1 pintype=pas } V 600 400 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 600 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 600 1500 600 1 0 1 { T 1300 650 5 8 1 1 0 0 1 pinnumber=29 T 1300 650 5 8 0 0 0 0 1 pinseq=29 T 1300 650 5 8 0 1 0 0 1 pinlabel=29 T 1300 650 5 8 0 1 0 0 1 pintype=pas } V 600 800 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 1000 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 1000 1500 1000 1 0 1 { T 1300 1050 5 8 1 1 0 0 1 pinnumber=27 T 1300 1050 5 8 0 0 0 0 1 pinseq=27 T 1300 1050 5 8 0 1 0 0 1 pinlabel=27 T 1300 1050 5 8 0 1 0 0 1 pintype=pas } V 600 1200 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 1400 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 1400 1500 1400 1 0 1 { T 1300 1450 5 8 1 1 0 0 1 pinnumber=25 T 1300 1450 5 8 0 0 0 0 1 pinseq=25 T 1300 1450 5 8 0 1 0 0 1 pinlabel=25 T 1300 1450 5 8 0 1 0 0 1 pintype=pas } V 600 1600 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 1800 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 1800 1500 1800 1 0 1 { T 1300 1850 5 8 1 1 0 0 1 pinnumber=23 T 1300 1850 5 8 0 0 0 0 1 pinseq=23 T 1300 1850 5 8 0 1 0 0 1 pinlabel=23 T 1300 1850 5 8 0 1 0 0 1 pintype=pas } V 600 2000 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 2200 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 2200 1500 2200 1 0 1 { T 1300 2250 5 8 1 1 0 0 1 pinnumber=21 T 1300 2250 5 8 0 0 0 0 1 pinseq=21 T 1300 2250 5 8 0 1 0 0 1 pinlabel=21 T 1300 2250 5 8 0 1 0 0 1 pintype=pas } V 600 2400 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 2600 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 2600 1500 2600 1 0 1 { T 1300 2650 5 8 1 1 0 0 1 pinnumber=19 T 1300 2650 5 8 0 0 0 0 1 pinseq=19 T 1300 2650 5 8 0 1 0 0 1 pinlabel=19 T 1300 2650 5 8 0 1 0 0 1 pintype=pas } L 1200 6400 300 6400 3 0 0 0 -1 -1 P 550 400 0 400 1 0 1 { T 50 450 5 8 1 1 0 0 1 pinnumber=30 T 50 450 5 8 0 0 0 0 1 pinseq=30 T 50 450 5 8 0 1 0 0 1 pinlabel=30 T 50 450 5 8 0 1 0 0 1 pintype=pas } P 550 800 0 800 1 0 1 { T 50 850 5 8 1 1 0 0 1 pinnumber=28 T 50 850 5 8 0 0 0 0 1 pinseq=28 T 50 850 5 8 0 1 0 0 1 pinlabel=28 T 50 850 5 8 0 1 0 0 1 pintype=pas } P 550 1200 0 1200 1 0 1 { T 50 1250 5 8 1 1 0 0 1 pinnumber=26 T 50 1250 5 8 0 0 0 0 1 pinseq=26 T 50 1250 5 8 0 1 0 0 1 pinlabel=26 T 50 1250 5 8 0 1 0 0 1 pintype=pas } P 550 1600 0 1600 1 0 1 { T 50 1650 5 8 1 1 0 0 1 pinnumber=24 T 50 1650 5 8 0 0 0 0 1 pinseq=24 T 50 1650 5 8 0 1 0 0 1 pinlabel=24 T 50 1650 5 8 0 1 0 0 1 pintype=pas } P 550 2000 0 2000 1 0 1 { T 50 2050 5 8 1 1 0 0 1 pinnumber=22 T 50 2050 5 8 0 0 0 0 1 pinseq=22 T 50 2050 5 8 0 1 0 0 1 pinlabel=22 T 50 2050 5 8 0 1 0 0 1 pintype=pas } P 550 2400 0 2400 1 0 1 { T 50 2450 5 8 1 1 0 0 1 pinnumber=20 T 50 2450 5 8 0 0 0 0 1 pinseq=20 T 50 2450 5 8 0 1 0 0 1 pinlabel=20 T 50 2450 5 8 0 1 0 0 1 pintype=pas } L 300 0 1200 0 3 0 0 0 -1 -1 L 1200 0 1200 6400 3 0 0 0 -1 -1 L 300 6400 300 0 3 0 0 0 -1 -1 T 400 6500 8 10 1 1 0 0 1 refdes=CONN? V 600 2800 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 600 3200 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 600 3600 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 550 2800 0 2800 1 0 1 { T 50 2850 5 8 1 1 0 0 1 pinnumber=18 T 50 2850 5 8 0 0 0 0 1 pinseq=18 T 50 2850 5 8 0 1 0 0 1 pinlabel=18 T 50 2850 5 8 0 1 0 0 1 pintype=pas } P 550 3200 0 3200 1 0 1 { T 50 3250 5 8 1 1 0 0 1 pinnumber=16 T 50 3250 5 8 0 0 0 0 1 pinseq=16 T 50 3250 5 8 0 1 0 0 1 pinlabel=16 T 50 3250 5 8 0 1 0 0 1 pintype=pas } P 550 3600 0 3600 1 0 1 { T 50 3650 5 8 1 1 0 0 1 pinnumber=14 T 50 3650 5 8 0 0 0 0 1 pinseq=14 T 50 3650 5 8 0 1 0 0 1 pinlabel=14 T 50 3650 5 8 0 1 0 0 1 pintype=pas } V 600 4000 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 600 4400 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 600 4800 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 600 5200 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 600 5600 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 600 6000 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 550 4000 0 4000 1 0 1 { T 50 4050 5 8 1 1 0 0 1 pinnumber=12 T 50 4050 5 8 0 0 0 0 1 pinseq=12 T 50 4050 5 8 0 1 0 0 1 pinlabel=12 T 50 4050 5 8 0 1 0 0 1 pintype=pas } P 550 4400 0 4400 1 0 1 { T 50 4450 5 8 1 1 0 0 1 pinnumber=10 T 50 4450 5 8 0 0 0 0 1 pinseq=10 T 50 4450 5 8 0 1 0 0 1 pinlabel=10 T 50 4450 5 8 0 1 0 0 1 pintype=pas } P 550 4800 0 4800 1 0 1 { T 50 4850 5 8 1 1 0 0 1 pinnumber=8 T 50 4850 5 8 0 0 0 0 1 pinseq=8 T 50 4850 5 8 0 1 0 0 1 pinlabel=8 T 50 4850 5 8 0 1 0 0 1 pintype=pas } P 550 5200 0 5200 1 0 1 { T 50 5250 5 8 1 1 0 0 1 pinnumber=6 T 50 5250 5 8 0 0 0 0 1 pinseq=6 T 50 5250 5 8 0 1 0 0 1 pinlabel=6 T 50 5250 5 8 0 1 0 0 1 pintype=pas } P 550 5600 0 5600 1 0 1 { T 50 5650 5 8 1 1 0 0 1 pinnumber=4 T 50 5650 5 8 0 0 0 0 1 pinseq=4 T 50 5650 5 8 0 1 0 0 1 pinlabel=4 T 50 5650 5 8 0 1 0 0 1 pintype=pas } P 550 6000 0 6000 1 0 1 { T 50 6050 5 8 1 1 0 0 1 pinnumber=2 T 50 6050 5 8 0 0 0 0 1 pinseq=2 T 50 6050 5 8 0 1 0 0 1 pinlabel=2 T 50 6050 5 8 0 1 0 0 1 pintype=pas } V 900 3800 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 3800 1500 3800 1 0 1 { T 1300 3850 5 8 1 1 0 0 1 pinnumber=13 T 1300 3850 5 8 0 0 0 0 1 pinseq=13 T 1300 3850 5 8 0 1 0 0 1 pinlabel=13 T 1300 3850 5 8 0 1 0 0 1 pintype=pas } V 900 4200 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 4200 1500 4200 1 0 1 { T 1300 4250 5 8 1 1 0 0 1 pinnumber=11 T 1300 4250 5 8 0 0 0 0 1 pinseq=11 T 1300 4250 5 8 0 1 0 0 1 pinlabel=11 T 1300 4250 5 8 0 1 0 0 1 pintype=pas } V 900 4600 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 4600 1500 4600 1 0 1 { T 1300 4650 5 8 1 1 0 0 1 pinnumber=9 T 1300 4650 5 8 0 0 0 0 1 pinseq=9 T 1300 4650 5 8 0 1 0 0 1 pinlabel=9 T 1300 4650 5 8 0 1 0 0 1 pintype=pas } V 900 5000 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 5000 1500 5000 1 0 1 { T 1300 5050 5 8 1 1 0 0 1 pinnumber=7 T 1300 5050 5 8 0 0 0 0 1 pinseq=7 T 1300 5050 5 8 0 1 0 0 1 pinlabel=7 T 1300 5050 5 8 0 1 0 0 1 pintype=pas } V 900 5400 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 5400 1500 5400 1 0 1 { T 1300 5450 5 8 1 1 0 0 1 pinnumber=5 T 1300 5450 5 8 0 0 0 0 1 pinseq=5 T 1300 5450 5 8 0 1 0 0 1 pinlabel=5 T 1300 5450 5 8 0 1 0 0 1 pintype=pas } V 900 5800 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 5800 1500 5800 1 0 1 { T 1300 5850 5 8 1 1 0 0 1 pinnumber=3 T 1300 5850 5 8 0 0 0 0 1 pinseq=3 T 1300 5850 5 8 0 1 0 0 1 pinlabel=3 T 1300 5850 5 8 0 1 0 0 1 pintype=pas } V 900 6200 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 6200 1500 6200 1 0 1 { T 1300 6250 5 8 1 1 0 0 1 pinnumber=1 T 1300 6250 5 8 0 0 0 0 1 pinseq=1 T 1300 6250 5 8 0 1 0 0 1 pinlabel=1 T 1300 6250 5 8 0 1 0 0 1 pintype=pas } V 900 3000 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 3000 1500 3000 1 0 1 { T 1300 3050 5 8 1 1 0 0 1 pinnumber=17 T 1300 3050 5 8 0 0 0 0 1 pinseq=17 T 1300 3050 5 8 0 1 0 0 1 pinlabel=17 T 1300 3050 5 8 0 1 0 0 1 pintype=pas } V 900 3400 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 950 3400 1500 3400 1 0 1 { T 1300 3450 5 8 1 1 0 0 1 pinnumber=15 T 1300 3450 5 8 0 0 0 0 1 pinseq=15 T 1300 3450 5 8 0 1 0 0 1 pinlabel=15 T 1300 3450 5 8 0 1 0 0 1 pintype=pas } geda-gaf-1.8.2/symbols/connector/connector26-2.sym0000664000175000017500000001367612204104272016624 00000000000000v 20041228 1 T 800 11000 8 10 1 1 0 6 1 refdes=CONN? T 400 10950 5 10 0 0 0 0 1 device=CONNECTOR_26 T 400 11150 5 10 0 0 0 0 1 footprint=SIP26N T 400 11350 5 10 0 0 0 0 1 author=Leon Kos T 400 11550 5 10 0 0 0 0 1 description=generic connector T 400 11750 5 10 0 0 0 0 1 numslots=0 P 100 10500 300 10500 1 0 0 { T 300 10550 5 8 0 1 0 6 1 pinnumber=1 T 300 10450 5 8 0 1 0 8 1 pinseq=1 T 450 10500 9 8 1 1 0 0 1 pinlabel=1 T 450 10500 5 8 0 1 0 2 1 pintype=pas } V 350 10500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 10100 300 10100 1 0 0 { T 300 10150 5 8 0 1 0 6 1 pinnumber=2 T 300 10050 5 8 0 1 0 8 1 pinseq=2 T 450 10100 9 8 1 1 0 0 1 pinlabel=2 T 450 10100 5 8 0 1 0 2 1 pintype=pas } V 350 10100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 9700 300 9700 1 0 0 { T 300 9750 5 8 0 1 0 6 1 pinnumber=3 T 300 9650 5 8 0 1 0 8 1 pinseq=3 T 450 9700 9 8 1 1 0 0 1 pinlabel=3 T 450 9700 5 8 0 1 0 2 1 pintype=pas } V 350 9700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 9300 300 9300 1 0 0 { T 300 9350 5 8 0 1 0 6 1 pinnumber=4 T 300 9250 5 8 0 1 0 8 1 pinseq=4 T 450 9300 9 8 1 1 0 0 1 pinlabel=4 T 450 9300 5 8 0 1 0 2 1 pintype=pas } V 350 9300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8900 300 8900 1 0 0 { T 300 8950 5 8 0 1 0 6 1 pinnumber=5 T 300 8850 5 8 0 1 0 8 1 pinseq=5 T 450 8900 9 8 1 1 0 0 1 pinlabel=5 T 450 8900 5 8 0 1 0 2 1 pintype=pas } V 350 8900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8500 300 8500 1 0 0 { T 300 8550 5 8 0 1 0 6 1 pinnumber=6 T 300 8450 5 8 0 1 0 8 1 pinseq=6 T 450 8500 9 8 1 1 0 0 1 pinlabel=6 T 450 8500 5 8 0 1 0 2 1 pintype=pas } V 350 8500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8100 300 8100 1 0 0 { T 300 8150 5 8 0 1 0 6 1 pinnumber=7 T 300 8050 5 8 0 1 0 8 1 pinseq=7 T 450 8100 9 8 1 1 0 0 1 pinlabel=7 T 450 8100 5 8 0 1 0 2 1 pintype=pas } V 350 8100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 7700 300 7700 1 0 0 { T 300 7750 5 8 0 1 0 6 1 pinnumber=8 T 300 7650 5 8 0 1 0 8 1 pinseq=8 T 450 7700 9 8 1 1 0 0 1 pinlabel=8 T 450 7700 5 8 0 1 0 2 1 pintype=pas } V 350 7700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 7300 300 7300 1 0 0 { T 300 7350 5 8 0 1 0 6 1 pinnumber=9 T 300 7250 5 8 0 1 0 8 1 pinseq=9 T 450 7300 9 8 1 1 0 0 1 pinlabel=9 T 450 7300 5 8 0 1 0 2 1 pintype=pas } V 350 7300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6900 300 6900 1 0 0 { T 300 6950 5 8 0 1 0 6 1 pinnumber=10 T 300 6850 5 8 0 1 0 8 1 pinseq=10 T 450 6900 9 8 1 1 0 0 1 pinlabel=10 T 450 6900 5 8 0 1 0 2 1 pintype=pas } V 350 6900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6500 300 6500 1 0 0 { T 300 6550 5 8 0 1 0 6 1 pinnumber=11 T 300 6450 5 8 0 1 0 8 1 pinseq=11 T 450 6500 9 8 1 1 0 0 1 pinlabel=11 T 450 6500 5 8 0 1 0 2 1 pintype=pas } V 350 6500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6100 300 6100 1 0 0 { T 300 6150 5 8 0 1 0 6 1 pinnumber=12 T 300 6050 5 8 0 1 0 8 1 pinseq=12 T 450 6100 9 8 1 1 0 0 1 pinlabel=12 T 450 6100 5 8 0 1 0 2 1 pintype=pas } V 350 6100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 5700 300 5700 1 0 0 { T 300 5750 5 8 0 1 0 6 1 pinnumber=13 T 300 5650 5 8 0 1 0 8 1 pinseq=13 T 450 5700 9 8 1 1 0 0 1 pinlabel=13 T 450 5700 5 8 0 1 0 2 1 pintype=pas } V 350 5700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 5300 300 5300 1 0 0 { T 300 5350 5 8 0 1 0 6 1 pinnumber=14 T 300 5250 5 8 0 1 0 8 1 pinseq=14 T 450 5300 9 8 1 1 0 0 1 pinlabel=14 T 450 5300 5 8 0 1 0 2 1 pintype=pas } V 350 5300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4900 300 4900 1 0 0 { T 300 4950 5 8 0 1 0 6 1 pinnumber=15 T 300 4850 5 8 0 1 0 8 1 pinseq=15 T 450 4900 9 8 1 1 0 0 1 pinlabel=15 T 450 4900 5 8 0 1 0 2 1 pintype=pas } V 350 4900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4500 300 4500 1 0 0 { T 300 4550 5 8 0 1 0 6 1 pinnumber=16 T 300 4450 5 8 0 1 0 8 1 pinseq=16 T 450 4500 9 8 1 1 0 0 1 pinlabel=16 T 450 4500 5 8 0 1 0 2 1 pintype=pas } V 350 4500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4100 300 4100 1 0 0 { T 300 4150 5 8 0 1 0 6 1 pinnumber=17 T 300 4050 5 8 0 1 0 8 1 pinseq=17 T 450 4100 9 8 1 1 0 0 1 pinlabel=17 T 450 4100 5 8 0 1 0 2 1 pintype=pas } V 350 4100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 3700 300 3700 1 0 0 { T 300 3750 5 8 0 1 0 6 1 pinnumber=18 T 300 3650 5 8 0 1 0 8 1 pinseq=18 T 450 3700 9 8 1 1 0 0 1 pinlabel=18 T 450 3700 5 8 0 1 0 2 1 pintype=pas } V 350 3700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 3300 300 3300 1 0 0 { T 300 3350 5 8 0 1 0 6 1 pinnumber=19 T 300 3250 5 8 0 1 0 8 1 pinseq=19 T 450 3300 9 8 1 1 0 0 1 pinlabel=19 T 450 3300 5 8 0 1 0 2 1 pintype=pas } V 350 3300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2900 300 2900 1 0 0 { T 300 2950 5 8 0 1 0 6 1 pinnumber=20 T 300 2850 5 8 0 1 0 8 1 pinseq=20 T 450 2900 9 8 1 1 0 0 1 pinlabel=20 T 450 2900 5 8 0 1 0 2 1 pintype=pas } V 350 2900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2500 300 2500 1 0 0 { T 300 2550 5 8 0 1 0 6 1 pinnumber=21 T 300 2450 5 8 0 1 0 8 1 pinseq=21 T 450 2500 9 8 1 1 0 0 1 pinlabel=21 T 450 2500 5 8 0 1 0 2 1 pintype=pas } V 350 2500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2100 300 2100 1 0 0 { T 300 2150 5 8 0 1 0 6 1 pinnumber=22 T 300 2050 5 8 0 1 0 8 1 pinseq=22 T 450 2100 9 8 1 1 0 0 1 pinlabel=22 T 450 2100 5 8 0 1 0 2 1 pintype=pas } V 350 2100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1700 300 1700 1 0 0 { T 300 1750 5 8 0 1 0 6 1 pinnumber=23 T 300 1650 5 8 0 1 0 8 1 pinseq=23 T 450 1700 9 8 1 1 0 0 1 pinlabel=23 T 450 1700 5 8 0 1 0 2 1 pintype=pas } V 350 1700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1300 300 1300 1 0 0 { T 300 1350 5 8 0 1 0 6 1 pinnumber=24 T 300 1250 5 8 0 1 0 8 1 pinseq=24 T 450 1300 9 8 1 1 0 0 1 pinlabel=24 T 450 1300 5 8 0 1 0 2 1 pintype=pas } V 350 1300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 900 300 900 1 0 0 { T 300 950 5 8 0 1 0 6 1 pinnumber=25 T 300 850 5 8 0 1 0 8 1 pinseq=25 T 450 900 9 8 1 1 0 0 1 pinlabel=25 T 450 900 5 8 0 1 0 2 1 pintype=pas } V 350 900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 500 300 500 1 0 0 { T 300 550 5 8 0 1 0 6 1 pinnumber=26 T 300 450 5 8 0 1 0 8 1 pinseq=26 T 450 500 9 8 1 1 0 0 1 pinlabel=26 T 450 500 5 8 0 1 0 2 1 pintype=pas } V 350 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 400 100 400 10800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/connector/pwrjack-1.sym0000664000175000017500000000111612204104272016104 00000000000000v 20031231 1 T 100 500 5 10 0 0 0 0 1 device=PWRJACK P 600 100 900 100 1 0 1 { T 50 50 5 8 1 1 0 0 1 pinnumber=1 T 50 50 5 8 0 0 0 0 1 pinseq=1 T 50 50 5 8 0 1 0 0 1 pinlabel=1 T 50 50 5 8 0 1 0 0 1 pintype=pas } P 600 300 900 300 1 0 1 { T 50 250 5 8 1 1 0 0 1 pinnumber=2 T 50 250 5 8 0 0 0 0 1 pinseq=2 T 50 250 5 8 0 1 0 0 1 pinlabel=2 T 50 250 5 8 0 1 0 0 1 pintype=pas } L 400 100 300 200 3 0 0 0 -1 -1 L 300 200 200 100 3 0 0 0 -1 -1 L 400 100 600 100 3 0 0 0 -1 -1 L 200 300 600 300 3 0 0 0 -1 -1 B 0 0 600 400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 0 500 8 10 1 1 0 0 1 refdes=CONN? geda-gaf-1.8.2/symbols/connector/connector12-1.sym0000664000175000017500000000517412204104272016610 00000000000000v 20031231 1 P 1400 3200 1700 3200 1 0 1 { T 250 3150 5 8 1 1 0 0 1 pinnumber=2 T 250 3150 5 8 0 0 0 0 1 pinseq=2 T 250 3150 5 8 0 1 0 0 1 pinlabel=2 T 250 3150 5 8 0 1 0 0 1 pintype=pas } P 1400 2600 1700 2600 1 0 1 { T 250 2550 5 8 1 1 0 0 1 pinnumber=4 T 250 2550 5 8 0 0 0 0 1 pinseq=4 T 250 2550 5 8 0 1 0 0 1 pinlabel=4 T 250 2550 5 8 0 1 0 0 1 pintype=pas } P 1400 2000 1700 2000 1 0 1 { T 250 1950 5 8 1 1 0 0 1 pinnumber=6 T 250 1950 5 8 0 0 0 0 1 pinseq=6 T 250 1950 5 8 0 1 0 0 1 pinlabel=6 T 250 1950 5 8 0 1 0 0 1 pintype=pas } P 1400 1400 1700 1400 1 0 1 { T 250 1350 5 8 1 1 0 0 1 pinnumber=8 T 250 1350 5 8 0 0 0 0 1 pinseq=8 T 250 1350 5 8 0 1 0 0 1 pinlabel=8 T 250 1350 5 8 0 1 0 0 1 pintype=pas } P 1400 3500 1700 3500 1 0 1 { T 250 3450 5 8 1 1 0 0 1 pinnumber=1 T 250 3450 5 8 0 0 0 0 1 pinseq=1 T 250 3450 5 8 0 1 0 0 1 pinlabel=1 T 250 3450 5 8 0 1 0 0 1 pintype=pas } P 1400 2900 1700 2900 1 0 1 { T 250 2850 5 8 1 1 0 0 1 pinnumber=3 T 250 2850 5 8 0 0 0 0 1 pinseq=3 T 250 2850 5 8 0 1 0 0 1 pinlabel=3 T 250 2850 5 8 0 1 0 0 1 pintype=pas } P 1400 2300 1700 2300 1 0 1 { T 250 2250 5 8 1 1 0 0 1 pinnumber=5 T 250 2250 5 8 0 0 0 0 1 pinseq=5 T 250 2250 5 8 0 1 0 0 1 pinlabel=5 T 250 2250 5 8 0 1 0 0 1 pintype=pas } P 1400 1700 1700 1700 1 0 1 { T 250 1650 5 8 1 1 0 0 1 pinnumber=7 T 250 1650 5 8 0 0 0 0 1 pinseq=7 T 250 1650 5 8 0 1 0 0 1 pinlabel=7 T 250 1650 5 8 0 1 0 0 1 pintype=pas } P 1400 800 1700 800 1 0 1 { T 250 750 5 8 1 1 0 0 1 pinnumber=10 T 250 750 5 8 0 0 0 0 1 pinseq=10 T 250 750 5 8 0 1 0 0 1 pinlabel=10 T 250 750 5 8 0 1 0 0 1 pintype=pas } P 1400 200 1700 200 1 0 1 { T 250 150 5 8 1 1 0 0 1 pinnumber=12 T 250 150 5 8 0 0 0 0 1 pinseq=12 T 250 150 5 8 0 1 0 0 1 pinlabel=12 T 250 150 5 8 0 1 0 0 1 pintype=pas } P 1400 1100 1700 1100 1 0 1 { T 250 1050 5 8 1 1 0 0 1 pinnumber=9 T 250 1050 5 8 0 0 0 0 1 pinseq=9 T 250 1050 5 8 0 1 0 0 1 pinlabel=9 T 250 1050 5 8 0 1 0 0 1 pintype=pas } P 1400 500 1700 500 1 0 1 { T 250 450 5 8 1 1 0 0 1 pinnumber=11 T 250 450 5 8 0 0 0 0 1 pinseq=11 T 250 450 5 8 0 1 0 0 1 pinlabel=11 T 250 450 5 8 0 1 0 0 1 pintype=pas } L 1400 3500 500 3500 3 0 0 0 -1 -1 L 1400 3200 500 3200 3 0 0 0 -1 -1 L 1400 2900 500 2900 3 0 0 0 -1 -1 L 1400 2600 500 2600 3 0 0 0 -1 -1 L 1400 2300 500 2300 3 0 0 0 -1 -1 L 1400 2000 500 2000 3 0 0 0 -1 -1 L 1400 1700 500 1700 3 0 0 0 -1 -1 L 1400 1400 500 1400 3 0 0 0 -1 -1 L 1400 1100 500 1100 3 0 0 0 -1 -1 L 1400 800 500 800 3 0 0 0 -1 -1 L 1400 500 500 500 3 0 0 0 -1 -1 L 1400 200 500 200 3 0 0 0 -1 -1 B 0 0 500 3700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1800 3600 5 10 0 0 0 0 1 device=CONNECTOR_12 T 0 3800 8 10 1 1 0 0 1 refdes=CONN? geda-gaf-1.8.2/symbols/connector/ISA-98W-SOCKET-1.sym0000664000175000017500000004442112204104272016440 00000000000000v 20031231 1 B 500 500 2000 20000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 600 170 8 10 1 1 0 0 1 device=ISA-98W-SOCKET T 600 20670 8 10 1 1 0 0 1 refdes=CONN? P 2800 20300 2500 20300 1 0 0 { T 2550 20350 5 8 1 1 0 0 1 pinnumber=1a T 1700 20250 9 10 1 1 0 0 1 pinlabel=/IOCHK T 2800 20300 5 10 0 1 0 0 1 pinseq=1 T 2800 20300 5 10 0 1 0 0 1 pintype=io } P 200 20300 500 20300 1 0 0 { T 200 20350 5 8 1 1 0 0 1 pinnumber=1b T 600 20250 9 10 1 1 0 0 1 pinlabel=GND1 T 2800 20300 5 10 0 1 0 0 1 pinseq=50 T 2800 20300 5 10 0 1 0 0 1 pintype=io } P 2800 19900 2500 19900 1 0 0 { T 2550 19950 5 8 1 1 0 0 1 pinnumber=2a T 2000 19850 9 10 1 1 0 0 1 pinlabel=SD7 T 2800 19900 5 10 0 1 0 0 1 pinseq=2 T 2800 19900 5 10 0 1 0 0 1 pintype=io } P 200 19900 500 19900 1 0 0 { T 200 19950 5 8 1 1 0 0 1 pinnumber=2b T 600 19850 9 10 1 1 0 0 1 pinlabel=RSTDRV T 2800 19900 5 10 0 1 0 0 1 pinseq=51 T 2800 19900 5 10 0 1 0 0 1 pintype=io } P 2800 19500 2500 19500 1 0 0 { T 2550 19550 5 8 1 1 0 0 1 pinnumber=3a T 2000 19450 9 10 1 1 0 0 1 pinlabel=SD6 T 2800 19500 5 10 0 1 0 0 1 pinseq=3 T 2800 19500 5 10 0 1 0 0 1 pintype=io } P 200 19500 500 19500 1 0 0 { T 200 19550 5 8 1 1 0 0 1 pinnumber=3b T 600 19450 9 10 1 1 0 0 1 pinlabel=+5V T 2800 19500 5 10 0 1 0 0 1 pinseq=52 T 2800 19500 5 10 0 1 0 0 1 pintype=io } P 2800 19100 2500 19100 1 0 0 { T 2550 19150 5 8 1 1 0 0 1 pinnumber=4a T 2000 19050 9 10 1 1 0 0 1 pinlabel=SD5 T 2800 19100 5 10 0 1 0 0 1 pinseq=4 T 2800 19100 5 10 0 1 0 0 1 pintype=io } P 200 19100 500 19100 1 0 0 { T 200 19150 5 8 1 1 0 0 1 pinnumber=4b T 600 19050 9 10 1 1 0 0 1 pinlabel=IRQ9 T 2800 19100 5 10 0 1 0 0 1 pinseq=53 T 2800 19100 5 10 0 1 0 0 1 pintype=io } P 2800 18700 2500 18700 1 0 0 { T 2550 18750 5 8 1 1 0 0 1 pinnumber=5a T 2000 18650 9 10 1 1 0 0 1 pinlabel=SD4 T 2800 18700 5 10 0 1 0 0 1 pinseq=5 T 2800 18700 5 10 0 1 0 0 1 pintype=io } P 200 18700 500 18700 1 0 0 { T 200 18750 5 8 1 1 0 0 1 pinnumber=5b T 600 18650 9 10 1 1 0 0 1 pinlabel=-5V T 2800 18700 5 10 0 1 0 0 1 pinseq=54 T 2800 18700 5 10 0 1 0 0 1 pintype=io } P 2800 18300 2500 18300 1 0 0 { T 2550 18350 5 8 1 1 0 0 1 pinnumber=6a T 2000 18250 9 10 1 1 0 0 1 pinlabel=SD3 T 2800 18300 5 10 0 1 0 0 1 pinseq=6 T 2800 18300 5 10 0 1 0 0 1 pintype=io } P 200 18300 500 18300 1 0 0 { T 200 18350 5 8 1 1 0 0 1 pinnumber=6b T 600 18250 9 10 1 1 0 0 1 pinlabel=DREQ2 T 2800 18300 5 10 0 1 0 0 1 pinseq=55 T 2800 18300 5 10 0 1 0 0 1 pintype=io } P 2800 17900 2500 17900 1 0 0 { T 2550 17950 5 8 1 1 0 0 1 pinnumber=7a T 2000 17850 9 10 1 1 0 0 1 pinlabel=SD2 T 2800 17900 5 10 0 1 0 0 1 pinseq=7 T 2800 17900 5 10 0 1 0 0 1 pintype=io } P 200 17900 500 17900 1 0 0 { T 200 17950 5 8 1 1 0 0 1 pinnumber=7b T 600 17850 9 10 1 1 0 0 1 pinlabel=-12V T 2800 17900 5 10 0 1 0 0 1 pinseq=56 T 2800 17900 5 10 0 1 0 0 1 pintype=io } P 2800 17500 2500 17500 1 0 0 { T 2550 17550 5 8 1 1 0 0 1 pinnumber=8a T 2000 17450 9 10 1 1 0 0 1 pinlabel=SD1 T 2800 17500 5 10 0 1 0 0 1 pinseq=8 T 2800 17500 5 10 0 1 0 0 1 pintype=io } P 200 17500 500 17500 1 0 0 { T 200 17550 5 8 1 1 0 0 1 pinnumber=8b T 600 17450 9 10 1 1 0 0 1 pinlabel=/0WS T 2800 17500 5 10 0 1 0 0 1 pinseq=57 T 2800 17500 5 10 0 1 0 0 1 pintype=io } P 2800 17100 2500 17100 1 0 0 { T 2550 17150 5 8 1 1 0 0 1 pinnumber=9a T 2000 17050 9 10 1 1 0 0 1 pinlabel=SD0 T 2800 17100 5 10 0 1 0 0 1 pinseq=9 T 2800 17100 5 10 0 1 0 0 1 pintype=io } P 200 17100 500 17100 1 0 0 { T 200 17150 5 8 1 1 0 0 1 pinnumber=9b T 600 17050 9 10 1 1 0 0 1 pinlabel=12V T 2800 17100 5 10 0 1 0 0 1 pinseq=58 T 2800 17100 5 10 0 1 0 0 1 pintype=io } P 2800 16700 2500 16700 1 0 0 { T 2550 16750 5 8 1 1 0 0 1 pinnumber=10a T 1600 16650 9 10 1 1 0 0 1 pinlabel=IOCHRDY T 2800 16700 5 10 0 1 0 0 1 pinseq=10 T 2800 16700 5 10 0 1 0 0 1 pintype=io } P 200 16700 500 16700 1 0 0 { T 200 16750 5 8 1 1 0 0 1 pinnumber=10b T 600 16650 9 10 1 1 0 0 1 pinlabel=GND2 T 2800 16700 5 10 0 1 0 0 1 pinseq=59 T 2800 16700 5 10 0 1 0 0 1 pintype=io } P 2800 16300 2500 16300 1 0 0 { T 2550 16350 5 8 1 1 0 0 1 pinnumber=11a T 2000 16250 9 10 1 1 0 0 1 pinlabel=AEN T 2800 16300 5 10 0 1 0 0 1 pinseq=11 T 2800 16300 5 10 0 1 0 0 1 pintype=io } P 200 16300 500 16300 1 0 0 { T 200 16350 5 8 1 1 0 0 1 pinnumber=11b T 600 16250 9 10 1 1 0 0 1 pinlabel=/SMEMW T 2800 16300 5 10 0 1 0 0 1 pinseq=60 T 2800 16300 5 10 0 1 0 0 1 pintype=io } P 2800 15900 2500 15900 1 0 0 { T 2550 15950 5 8 1 1 0 0 1 pinnumber=12a T 1950 15850 9 10 1 1 0 0 1 pinlabel=SA19 T 2800 15900 5 10 0 1 0 0 1 pinseq=12 T 2800 15900 5 10 0 1 0 0 1 pintype=io } P 200 15900 500 15900 1 0 0 { T 200 15950 5 8 1 1 0 0 1 pinnumber=12b T 600 15850 9 10 1 1 0 0 1 pinlabel=/SMEMR T 2800 15900 5 10 0 1 0 0 1 pinseq=61 T 2800 15900 5 10 0 1 0 0 1 pintype=io } P 2800 15500 2500 15500 1 0 0 { T 2550 15550 5 8 1 1 0 0 1 pinnumber=13a T 1950 15450 9 10 1 1 0 0 1 pinlabel=SA18 T 2800 15500 5 10 0 1 0 0 1 pinseq=13 T 2800 15500 5 10 0 1 0 0 1 pintype=io } P 200 15500 500 15500 1 0 0 { T 200 15550 5 8 1 1 0 0 1 pinnumber=13b T 600 15450 9 10 1 1 0 0 1 pinlabel=/IOW T 2800 15500 5 10 0 1 0 0 1 pinseq=62 T 2800 15500 5 10 0 1 0 0 1 pintype=io } P 2800 15100 2500 15100 1 0 0 { T 2550 15150 5 8 1 1 0 0 1 pinnumber=14a T 1950 15050 9 10 1 1 0 0 1 pinlabel=SA17 T 2800 15100 5 10 0 1 0 0 1 pinseq=14 T 2800 15100 5 10 0 1 0 0 1 pintype=io } P 200 15100 500 15100 1 0 0 { T 200 15150 5 8 1 1 0 0 1 pinnumber=14b T 600 15050 9 10 1 1 0 0 1 pinlabel=/IOR T 2800 15100 5 10 0 1 0 0 1 pinseq=63 T 2800 15100 5 10 0 1 0 0 1 pintype=io } P 2800 14700 2500 14700 1 0 0 { T 2550 14750 5 8 1 1 0 0 1 pinnumber=15a T 1950 14650 9 10 1 1 0 0 1 pinlabel=SA16 T 2800 14700 5 10 0 1 0 0 1 pinseq=15 T 2800 14700 5 10 0 1 0 0 1 pintype=io } P 200 14700 500 14700 1 0 0 { T 200 14750 5 8 1 1 0 0 1 pinnumber=15b T 600 14650 9 10 1 1 0 0 1 pinlabel=/DACK3 T 2800 14700 5 10 0 1 0 0 1 pinseq=64 T 2800 14700 5 10 0 1 0 0 1 pintype=io } P 2800 14300 2500 14300 1 0 0 { T 2550 14350 5 8 1 1 0 0 1 pinnumber=16a T 1950 14250 9 10 1 1 0 0 1 pinlabel=SA15 T 2800 14300 5 10 0 1 0 0 1 pinseq=16 T 2800 14300 5 10 0 1 0 0 1 pintype=io } P 200 14300 500 14300 1 0 0 { T 200 14350 5 8 1 1 0 0 1 pinnumber=16b T 600 14250 9 10 1 1 0 0 1 pinlabel=DREQ3 T 2800 14300 5 10 0 1 0 0 1 pinseq=65 T 2800 14300 5 10 0 1 0 0 1 pintype=io } P 2800 13900 2500 13900 1 0 0 { T 2550 13950 5 8 1 1 0 0 1 pinnumber=17a T 1950 13850 9 10 1 1 0 0 1 pinlabel=SA14 T 2800 13900 5 10 0 1 0 0 1 pinseq=17 T 2800 13900 5 10 0 1 0 0 1 pintype=io } P 200 13900 500 13900 1 0 0 { T 200 13950 5 8 1 1 0 0 1 pinnumber=17b T 600 13850 9 10 1 1 0 0 1 pinlabel=/DACK1 T 2800 13900 5 10 0 1 0 0 1 pinseq=66 T 2800 13900 5 10 0 1 0 0 1 pintype=io } P 2800 13500 2500 13500 1 0 0 { T 2550 13550 5 8 1 1 0 0 1 pinnumber=18a T 1950 13450 9 10 1 1 0 0 1 pinlabel=SA13 T 2800 13500 5 10 0 1 0 0 1 pinseq=18 T 2800 13500 5 10 0 1 0 0 1 pintype=io } P 200 13500 500 13500 1 0 0 { T 200 13550 5 8 1 1 0 0 1 pinnumber=18b T 600 13450 9 10 1 1 0 0 1 pinlabel=DREQ1 T 2800 13500 5 10 0 1 0 0 1 pinseq=67 T 2800 13500 5 10 0 1 0 0 1 pintype=io } P 2800 13100 2500 13100 1 0 0 { T 2550 13150 5 8 1 1 0 0 1 pinnumber=19a T 1950 13050 9 10 1 1 0 0 1 pinlabel=SA12 T 2800 13100 5 10 0 1 0 0 1 pinseq=19 T 2800 13100 5 10 0 1 0 0 1 pintype=io } P 200 13100 500 13100 1 0 0 { T 200 13150 5 8 1 1 0 0 1 pinnumber=19b T 600 13050 9 10 1 1 0 0 1 pinlabel=/REFRESH T 2800 13100 5 10 0 1 0 0 1 pinseq=68 T 2800 13100 5 10 0 1 0 0 1 pintype=io } P 2800 12700 2500 12700 1 0 0 { T 2550 12750 5 8 1 1 0 0 1 pinnumber=20a T 1950 12650 9 10 1 1 0 0 1 pinlabel=SA11 T 2800 12700 5 10 0 1 0 0 1 pinseq=20 T 2800 12700 5 10 0 1 0 0 1 pintype=io } P 200 12700 500 12700 1 0 0 { T 200 12750 5 8 1 1 0 0 1 pinnumber=20b T 600 12650 9 10 1 1 0 0 1 pinlabel=SYSCLK T 2800 12700 5 10 0 1 0 0 1 pinseq=69 T 2800 12700 5 10 0 1 0 0 1 pintype=io } P 2800 12300 2500 12300 1 0 0 { T 2550 12350 5 8 1 1 0 0 1 pinnumber=21a T 1950 12250 9 10 1 1 0 0 1 pinlabel=SA10 T 2800 12300 5 10 0 1 0 0 1 pinseq=21 T 2800 12300 5 10 0 1 0 0 1 pintype=io } P 200 12300 500 12300 1 0 0 { T 200 12350 5 8 1 1 0 0 1 pinnumber=21b T 600 12250 9 10 1 1 0 0 1 pinlabel=IRQ7 T 2800 12300 5 10 0 1 0 0 1 pinseq=70 T 2800 12300 5 10 0 1 0 0 1 pintype=io } P 2800 11900 2500 11900 1 0 0 { T 2550 11950 5 8 1 1 0 0 1 pinnumber=22a T 2000 11850 9 10 1 1 0 0 1 pinlabel=SA9 T 2800 11900 5 10 0 1 0 0 1 pinseq=22 T 2800 11900 5 10 0 1 0 0 1 pintype=io } P 200 11900 500 11900 1 0 0 { T 200 11950 5 8 1 1 0 0 1 pinnumber=22b T 600 11850 9 10 1 1 0 0 1 pinlabel=IRQ6 T 2800 11900 5 10 0 1 0 0 1 pinseq=71 T 2800 11900 5 10 0 1 0 0 1 pintype=io } P 2800 11500 2500 11500 1 0 0 { T 2550 11550 5 8 1 1 0 0 1 pinnumber=23a T 2000 11450 9 10 1 1 0 0 1 pinlabel=SA8 T 2800 11500 5 10 0 1 0 0 1 pinseq=23 T 2800 11500 5 10 0 1 0 0 1 pintype=io } P 200 11500 500 11500 1 0 0 { T 200 11550 5 8 1 1 0 0 1 pinnumber=23b T 600 11450 9 10 1 1 0 0 1 pinlabel=IRQ5 T 2800 11500 5 10 0 1 0 0 1 pinseq=72 T 2800 11500 5 10 0 1 0 0 1 pintype=io } P 2800 11100 2500 11100 1 0 0 { T 2550 11150 5 8 1 1 0 0 1 pinnumber=24a T 2000 11050 9 10 1 1 0 0 1 pinlabel=SA7 T 2800 11100 5 10 0 1 0 0 1 pinseq=24 T 2800 11100 5 10 0 1 0 0 1 pintype=io } P 200 11100 500 11100 1 0 0 { T 200 11150 5 8 1 1 0 0 1 pinnumber=24b T 600 11050 9 10 1 1 0 0 1 pinlabel=IRQ4 T 2800 11100 5 10 0 1 0 0 1 pinseq=73 T 2800 11100 5 10 0 1 0 0 1 pintype=io } P 2800 10700 2500 10700 1 0 0 { T 2550 10750 5 8 1 1 0 0 1 pinnumber=25a T 2000 10650 9 10 1 1 0 0 1 pinlabel=SA6 T 2800 10700 5 10 0 1 0 0 1 pinseq=25 T 2800 10700 5 10 0 1 0 0 1 pintype=io } P 200 10700 500 10700 1 0 0 { T 200 10750 5 8 1 1 0 0 1 pinnumber=25b T 600 10650 9 10 1 1 0 0 1 pinlabel=IRQ3 T 2800 10700 5 10 0 1 0 0 1 pinseq=74 T 2800 10700 5 10 0 1 0 0 1 pintype=io } P 2800 10300 2500 10300 1 0 0 { T 2550 10350 5 8 1 1 0 0 1 pinnumber=26a T 2000 10250 9 10 1 1 0 0 1 pinlabel=SA5 T 2800 10300 5 10 0 1 0 0 1 pinseq=26 T 2800 10300 5 10 0 1 0 0 1 pintype=io } P 200 10300 500 10300 1 0 0 { T 200 10350 5 8 1 1 0 0 1 pinnumber=26b T 600 10250 9 10 1 1 0 0 1 pinlabel=/DACK2 T 2800 10300 5 10 0 1 0 0 1 pinseq=75 T 2800 10300 5 10 0 1 0 0 1 pintype=io } P 2800 9900 2500 9900 1 0 0 { T 2550 9950 5 8 1 1 0 0 1 pinnumber=27a T 2000 9850 9 10 1 1 0 0 1 pinlabel=SA4 T 2800 9900 5 10 0 1 0 0 1 pinseq=27 T 2800 9900 5 10 0 1 0 0 1 pintype=io } P 200 9900 500 9900 1 0 0 { T 200 9950 5 8 1 1 0 0 1 pinnumber=27b T 600 9850 9 10 1 1 0 0 1 pinlabel=EOP T 2800 9900 5 10 0 1 0 0 1 pinseq=76 T 2800 9900 5 10 0 1 0 0 1 pintype=io } P 2800 9500 2500 9500 1 0 0 { T 2550 9550 5 8 1 1 0 0 1 pinnumber=28a T 2000 9450 9 10 1 1 0 0 1 pinlabel=SA3 T 2800 9500 5 10 0 1 0 0 1 pinseq=28 T 2800 9500 5 10 0 1 0 0 1 pintype=io } P 200 9500 500 9500 1 0 0 { T 200 9550 5 8 1 1 0 0 1 pinnumber=28b T 600 9450 9 10 1 1 0 0 1 pinlabel=BALE T 2800 9500 5 10 0 1 0 0 1 pinseq=77 T 2800 9500 5 10 0 1 0 0 1 pintype=io } P 2800 9100 2500 9100 1 0 0 { T 2550 9150 5 8 1 1 0 0 1 pinnumber=29a T 2000 9050 9 10 1 1 0 0 1 pinlabel=SA2 T 2800 9100 5 10 0 1 0 0 1 pinseq=29 T 2800 9100 5 10 0 1 0 0 1 pintype=io } P 200 9100 500 9100 1 0 0 { T 200 9150 5 8 1 1 0 0 1 pinnumber=29b T 600 9050 9 10 1 1 0 0 1 pinlabel=+5V T 2800 9100 5 10 0 1 0 0 1 pinseq=78 T 2800 9100 5 10 0 1 0 0 1 pintype=io } P 2800 8700 2500 8700 1 0 0 { T 2550 8750 5 8 1 1 0 0 1 pinnumber=30a T 2000 8650 9 10 1 1 0 0 1 pinlabel=SA1 T 2800 8700 5 10 0 1 0 0 1 pinseq=30 T 2800 8700 5 10 0 1 0 0 1 pintype=io } P 200 8700 500 8700 1 0 0 { T 200 8750 5 8 1 1 0 0 1 pinnumber=30b T 600 8650 9 10 1 1 0 0 1 pinlabel=CLK14 T 2800 8700 5 10 0 1 0 0 1 pinseq=79 T 2800 8700 5 10 0 1 0 0 1 pintype=io } P 2800 8300 2500 8300 1 0 0 { T 2550 8350 5 8 1 1 0 0 1 pinnumber=31a T 2000 8250 9 10 1 1 0 0 1 pinlabel=SA0 T 2800 8300 5 10 0 1 0 0 1 pinseq=31 T 2800 8300 5 10 0 1 0 0 1 pintype=io } P 200 8300 500 8300 1 0 0 { T 200 8350 5 8 1 1 0 0 1 pinnumber=31b T 600 8250 9 10 1 1 0 0 1 pinlabel=GND3 T 2800 8300 5 10 0 1 0 0 1 pinseq=80 T 2800 8300 5 10 0 1 0 0 1 pintype=io } P 2800 7500 2500 7500 1 0 0 { T 2550 7550 5 8 1 1 0 0 1 pinnumber=32a T 1800 7450 9 10 1 1 0 0 1 pinlabel=/SBHE T 2800 7500 5 10 0 1 0 0 1 pinseq=32 T 2800 7500 5 10 0 1 0 0 1 pintype=io } P 200 7500 500 7500 1 0 0 { T 200 7550 5 8 1 1 0 0 1 pinnumber=32b T 600 7450 9 10 1 1 0 0 1 pinlabel=/MEMCS16 T 2800 7500 5 10 0 1 0 0 1 pinseq=81 T 2800 7500 5 10 0 1 0 0 1 pintype=io } P 2800 7100 2500 7100 1 0 0 { T 2550 7150 5 8 1 1 0 0 1 pinnumber=33a T 1950 7050 9 10 1 1 0 0 1 pinlabel=LA23 T 2800 7100 5 10 0 1 0 0 1 pinseq=33 T 2800 7100 5 10 0 1 0 0 1 pintype=io } P 200 7100 500 7100 1 0 0 { T 200 7150 5 8 1 1 0 0 1 pinnumber=33b T 600 7050 9 10 1 1 0 0 1 pinlabel=/IOCS16 T 2800 7100 5 10 0 1 0 0 1 pinseq=82 T 2800 7100 5 10 0 1 0 0 1 pintype=io } P 2800 6700 2500 6700 1 0 0 { T 2550 6750 5 8 1 1 0 0 1 pinnumber=34a T 1950 6650 9 10 1 1 0 0 1 pinlabel=LA22 T 2800 6700 5 10 0 1 0 0 1 pinseq=34 T 2800 6700 5 10 0 1 0 0 1 pintype=io } P 200 6700 500 6700 1 0 0 { T 200 6750 5 8 1 1 0 0 1 pinnumber=34b T 600 6650 9 10 1 1 0 0 1 pinlabel=10 T 2800 6700 5 10 0 1 0 0 1 pinseq=83 T 2800 6700 5 10 0 1 0 0 1 pintype=io } P 2800 6300 2500 6300 1 0 0 { T 2550 6350 5 8 1 1 0 0 1 pinnumber=35a T 1950 6250 9 10 1 1 0 0 1 pinlabel=LA21 T 2800 6300 5 10 0 1 0 0 1 pinseq=35 T 2800 6300 5 10 0 1 0 0 1 pintype=io } P 200 6300 500 6300 1 0 0 { T 200 6350 5 8 1 1 0 0 1 pinnumber=35b T 600 6250 9 10 1 1 0 0 1 pinlabel=11 T 2800 6300 5 10 0 1 0 0 1 pinseq=84 T 2800 6300 5 10 0 1 0 0 1 pintype=io } P 2800 5900 2500 5900 1 0 0 { T 2550 5950 5 8 1 1 0 0 1 pinnumber=36a T 1950 5850 9 10 1 1 0 0 1 pinlabel=LA20 T 2800 5900 5 10 0 1 0 0 1 pinseq=36 T 2800 5900 5 10 0 1 0 0 1 pintype=io } P 200 5900 500 5900 1 0 0 { T 200 5950 5 8 1 1 0 0 1 pinnumber=36b T 600 5850 9 10 1 1 0 0 1 pinlabel=12 T 2800 5900 5 10 0 1 0 0 1 pinseq=85 T 2800 5900 5 10 0 1 0 0 1 pintype=io } P 2800 5500 2500 5500 1 0 0 { T 2550 5550 5 8 1 1 0 0 1 pinnumber=37a T 1950 5450 9 10 1 1 0 0 1 pinlabel=LA19 T 2800 5500 5 10 0 1 0 0 1 pinseq=37 T 2800 5500 5 10 0 1 0 0 1 pintype=io } P 200 5500 500 5500 1 0 0 { T 200 5550 5 8 1 1 0 0 1 pinnumber=37b T 600 5450 9 10 1 1 0 0 1 pinlabel=15 T 2800 5500 5 10 0 1 0 0 1 pinseq=86 T 2800 5500 5 10 0 1 0 0 1 pintype=io } P 2800 5100 2500 5100 1 0 0 { T 2550 5150 5 8 1 1 0 0 1 pinnumber=38a T 1950 5050 9 10 1 1 0 0 1 pinlabel=LA18 T 2800 5100 5 10 0 1 0 0 1 pinseq=38 T 2800 5100 5 10 0 1 0 0 1 pintype=io } P 200 5100 500 5100 1 0 0 { T 200 5150 5 8 1 1 0 0 1 pinnumber=38b T 600 5050 9 10 1 1 0 0 1 pinlabel=14 T 2800 5100 5 10 0 1 0 0 1 pinseq=87 T 2800 5100 5 10 0 1 0 0 1 pintype=io } P 2800 4700 2500 4700 1 0 0 { T 2550 4750 5 8 1 1 0 0 1 pinnumber=39a T 1950 4650 9 10 1 1 0 0 1 pinlabel=LA17 T 2800 4700 5 10 0 1 0 0 1 pinseq=39 T 2800 4700 5 10 0 1 0 0 1 pintype=io } P 200 4700 500 4700 1 0 0 { T 200 4750 5 8 1 1 0 0 1 pinnumber=39b T 600 4650 9 10 1 1 0 0 1 pinlabel=/DACK0 T 2800 4700 5 10 0 1 0 0 1 pinseq=88 T 2800 4700 5 10 0 1 0 0 1 pintype=io } P 2800 4300 2500 4300 1 0 0 { T 2550 4350 5 8 1 1 0 0 1 pinnumber=40a T 1800 4250 9 10 1 1 0 0 1 pinlabel=/MRDC T 2800 4300 5 10 0 1 0 0 1 pinseq=40 T 2800 4300 5 10 0 1 0 0 1 pintype=io } P 200 4300 500 4300 1 0 0 { T 200 4350 5 8 1 1 0 0 1 pinnumber=40b T 600 4250 9 10 1 1 0 0 1 pinlabel=DREQ0 T 2800 4300 5 10 0 1 0 0 1 pinseq=89 T 2800 4300 5 10 0 1 0 0 1 pintype=io } P 2800 3900 2500 3900 1 0 0 { T 2550 3950 5 8 1 1 0 0 1 pinnumber=41a T 1800 3850 9 10 1 1 0 0 1 pinlabel=/MWTC T 2800 3900 5 10 0 1 0 0 1 pinseq=41 T 2800 3900 5 10 0 1 0 0 1 pintype=io } P 200 3900 500 3900 1 0 0 { T 200 3950 5 8 1 1 0 0 1 pinnumber=41b T 600 3850 9 10 1 1 0 0 1 pinlabel=/DACK5 T 2800 3900 5 10 0 1 0 0 1 pinseq=90 T 2800 3900 5 10 0 1 0 0 1 pintype=io } P 2800 3500 2500 3500 1 0 0 { T 2550 3550 5 8 1 1 0 0 1 pinnumber=42a T 2000 3450 9 10 1 1 0 0 1 pinlabel=SD8 T 2800 3500 5 10 0 1 0 0 1 pinseq=42 T 2800 3500 5 10 0 1 0 0 1 pintype=io } P 200 3500 500 3500 1 0 0 { T 200 3550 5 8 1 1 0 0 1 pinnumber=42b T 600 3450 9 10 1 1 0 0 1 pinlabel=DREQ5 T 2800 3500 5 10 0 1 0 0 1 pinseq=91 T 2800 3500 5 10 0 1 0 0 1 pintype=io } P 2800 3100 2500 3100 1 0 0 { T 2550 3150 5 8 1 1 0 0 1 pinnumber=43a T 2000 3050 9 10 1 1 0 0 1 pinlabel=SD9 T 2800 3100 5 10 0 1 0 0 1 pinseq=43 T 2800 3100 5 10 0 1 0 0 1 pintype=io } P 200 3100 500 3100 1 0 0 { T 200 3150 5 8 1 1 0 0 1 pinnumber=43b T 600 3050 9 10 1 1 0 0 1 pinlabel=/DACK6 T 2800 3100 5 10 0 1 0 0 1 pinseq=92 T 2800 3100 5 10 0 1 0 0 1 pintype=io } P 2800 2700 2500 2700 1 0 0 { T 2550 2750 5 8 1 1 0 0 1 pinnumber=44a T 1950 2650 9 10 1 1 0 0 1 pinlabel=SD10 T 2800 2700 5 10 0 1 0 0 1 pinseq=44 T 2800 2700 5 10 0 1 0 0 1 pintype=io } P 200 2700 500 2700 1 0 0 { T 200 2750 5 8 1 1 0 0 1 pinnumber=44b T 600 2650 9 10 1 1 0 0 1 pinlabel=DREQ6 T 2800 2700 5 10 0 1 0 0 1 pinseq=93 T 2800 2700 5 10 0 1 0 0 1 pintype=io } P 2800 2300 2500 2300 1 0 0 { T 2550 2350 5 8 1 1 0 0 1 pinnumber=45a T 1950 2250 9 10 1 1 0 0 1 pinlabel=SD11 T 2800 2300 5 10 0 1 0 0 1 pinseq=45 T 2800 2300 5 10 0 1 0 0 1 pintype=io } P 200 2300 500 2300 1 0 0 { T 200 2350 5 8 1 1 0 0 1 pinnumber=45b T 600 2250 9 10 1 1 0 0 1 pinlabel=/DACK7 T 2800 2300 5 10 0 1 0 0 1 pinseq=94 T 2800 2300 5 10 0 1 0 0 1 pintype=io } P 2800 1900 2500 1900 1 0 0 { T 2550 1950 5 8 1 1 0 0 1 pinnumber=46a T 1950 1850 9 10 1 1 0 0 1 pinlabel=SD12 T 2800 1900 5 10 0 1 0 0 1 pinseq=46 T 2800 1900 5 10 0 1 0 0 1 pintype=io } P 200 1900 500 1900 1 0 0 { T 200 1950 5 8 1 1 0 0 1 pinnumber=46b T 600 1850 9 10 1 1 0 0 1 pinlabel=DREQ7 T 2800 1900 5 10 0 1 0 0 1 pinseq=95 T 2800 1900 5 10 0 1 0 0 1 pintype=io } P 2800 1500 2500 1500 1 0 0 { T 2550 1550 5 8 1 1 0 0 1 pinnumber=47a T 1950 1450 9 10 1 1 0 0 1 pinlabel=SD13 T 2800 1500 5 10 0 1 0 0 1 pinseq=47 T 2800 1500 5 10 0 1 0 0 1 pintype=io } P 200 1500 500 1500 1 0 0 { T 200 1550 5 8 1 1 0 0 1 pinnumber=47b T 600 1450 9 10 1 1 0 0 1 pinlabel=+5V T 2800 1500 5 10 0 1 0 0 1 pinseq=96 T 2800 1500 5 10 0 1 0 0 1 pintype=io } P 2800 1100 2500 1100 1 0 0 { T 2550 1150 5 8 1 1 0 0 1 pinnumber=48a T 1950 1050 9 10 1 1 0 0 1 pinlabel=SD14 T 2800 1100 5 10 0 1 0 0 1 pinseq=48 T 2800 1100 5 10 0 1 0 0 1 pintype=io } P 200 1100 500 1100 1 0 0 { T 200 1150 5 8 1 1 0 0 1 pinnumber=48b T 600 1050 9 10 1 1 0 0 1 pinlabel=MASTER T 2800 1100 5 10 0 1 0 0 1 pinseq=97 T 2800 1100 5 10 0 1 0 0 1 pintype=io } P 2800 700 2500 700 1 0 0 { T 2550 750 5 8 1 1 0 0 1 pinnumber=49a T 1950 650 9 10 1 1 0 0 1 pinlabel=SD15 T 2800 700 5 10 0 1 0 0 1 pinseq=49 T 2800 700 5 10 0 1 0 0 1 pintype=io } P 200 700 500 700 1 0 0 { T 200 750 5 8 1 1 0 0 1 pinnumber=49b T 600 650 9 10 1 1 0 0 1 pinlabel=GND4 T 2800 700 5 10 0 1 0 0 1 pinseq=98 T 2800 700 5 10 0 1 0 0 1 pintype=io } T 600 20870 8 10 0 0 0 0 1 numslots=0 geda-gaf-1.8.2/symbols/connector/DB37-1.sym0000664000175000017500000002127612204104272015113 00000000000000v 20031231 1 L 100 3900 100 11100 3 0 0 0 -1 -1 T 1400 -150 5 10 0 0 180 0 1 device=DB37 A 850 11290 150 0 110 3 0 0 0 -1 -1 A 175 11100 75 120 60 3 0 0 0 -1 -1 L 1000 3740 1000 11290 3 0 0 0 -1 -1 V 700 3900 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 750 3900 1300 3900 1 0 1 { T 1100 3950 5 8 1 1 0 0 1 pinnumber=13 T 1100 3950 5 8 0 0 0 0 1 pinseq=13 T 1100 3950 5 8 0 1 0 0 1 pinlabel=13 T 1100 3950 5 8 0 1 0 0 1 pintype=pas } V 400 4200 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 450 4200 1300 4200 1 0 1 { T 1100 4250 5 8 1 1 0 0 1 pinnumber=31 T 1100 4250 5 8 0 0 0 0 1 pinseq=31 T 1100 4250 5 8 0 1 0 0 1 pinlabel=31 T 1100 4250 5 8 0 1 0 0 1 pintype=pas } V 700 4500 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 750 4500 1300 4500 1 0 1 { T 1100 4550 5 8 1 1 0 0 1 pinnumber=12 T 1100 4550 5 8 0 0 0 0 1 pinseq=12 T 1100 4550 5 8 0 1 0 0 1 pinlabel=12 T 1100 4550 5 8 0 1 0 0 1 pintype=pas } V 400 4800 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 450 4800 1300 4800 1 0 1 { T 1100 4850 5 8 1 1 0 0 1 pinnumber=30 T 1100 4850 5 8 0 0 0 0 1 pinseq=30 T 1100 4850 5 8 0 1 0 0 1 pinlabel=30 T 1100 4850 5 8 0 1 0 0 1 pintype=pas } V 700 5100 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 750 5100 1300 5100 1 0 1 { T 1100 5150 5 8 1 1 0 0 1 pinnumber=11 T 1100 5150 5 8 0 0 0 0 1 pinseq=11 T 1100 5150 5 8 0 1 0 0 1 pinlabel=11 T 1100 5150 5 8 0 1 0 0 1 pintype=pas } V 400 5400 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 450 5400 1300 5400 1 0 1 { T 1100 5450 5 8 1 1 0 0 1 pinnumber=29 T 1100 5450 5 8 0 0 0 0 1 pinseq=29 T 1100 5450 5 8 0 1 0 0 1 pinlabel=29 T 1100 5450 5 8 0 1 0 0 1 pintype=pas } V 700 5700 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 750 5700 1300 5700 1 0 1 { T 1100 5750 5 8 1 1 0 0 1 pinnumber=10 T 1100 5750 5 8 0 0 0 0 1 pinseq=10 T 1100 5750 5 8 0 1 0 0 1 pinlabel=10 T 1100 5750 5 8 0 1 0 0 1 pintype=pas } V 400 6000 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 450 6000 1300 6000 1 0 1 { T 1100 6050 5 8 1 1 0 0 1 pinnumber=28 T 1100 6050 5 8 0 0 0 0 1 pinseq=28 T 1100 6050 5 8 0 1 0 0 1 pinlabel=28 T 1100 6050 5 8 0 1 0 0 1 pintype=pas } V 700 6300 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 750 6300 1300 6300 1 0 1 { T 1100 6350 5 8 1 1 0 0 1 pinnumber=9 T 1100 6350 5 8 0 0 0 0 1 pinseq=9 T 1100 6350 5 8 0 1 0 0 1 pinlabel=9 T 1100 6350 5 8 0 1 0 0 1 pintype=pas } V 400 6600 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 450 6600 1300 6600 1 0 1 { T 1100 6650 5 8 1 1 0 0 1 pinnumber=27 T 1100 6650 5 8 0 0 0 0 1 pinseq=27 T 1100 6650 5 8 0 1 0 0 1 pinlabel=27 T 1100 6650 5 8 0 1 0 0 1 pintype=pas } V 700 6900 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 750 6900 1300 6900 1 0 1 { T 1100 6950 5 8 1 1 0 0 1 pinnumber=8 T 1100 6950 5 8 0 0 0 0 1 pinseq=8 T 1100 6950 5 8 0 1 0 0 1 pinlabel=8 T 1100 6950 5 8 0 1 0 0 1 pintype=pas } V 400 7200 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 450 7200 1300 7200 1 0 1 { T 1100 7250 5 8 1 1 0 0 1 pinnumber=26 T 1100 7250 5 8 0 0 0 0 1 pinseq=26 T 1100 7250 5 8 0 1 0 0 1 pinlabel=26 T 1100 7250 5 8 0 1 0 0 1 pintype=pas } V 700 7500 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 750 7500 1300 7500 1 0 1 { T 1100 7550 5 8 1 1 0 0 1 pinnumber=7 T 1100 7550 5 8 0 0 0 0 1 pinseq=7 T 1100 7550 5 8 0 1 0 0 1 pinlabel=7 T 1100 7550 5 8 0 1 0 0 1 pintype=pas } V 400 7800 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 450 7800 1300 7800 1 0 1 { T 1100 7850 5 8 1 1 0 0 1 pinnumber=25 T 1100 7850 5 8 0 0 0 0 1 pinseq=25 T 1100 7850 5 8 0 1 0 0 1 pinlabel=25 T 1100 7850 5 8 0 1 0 0 1 pintype=pas } V 700 8100 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 750 8100 1300 8100 1 0 1 { T 1100 8150 5 8 1 1 0 0 1 pinnumber=6 T 1100 8150 5 8 0 0 0 0 1 pinseq=6 T 1100 8150 5 8 0 1 0 0 1 pinlabel=6 T 1100 8150 5 8 0 1 0 0 1 pintype=pas } V 400 8400 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 450 8400 1300 8400 1 0 1 { T 1100 8450 5 8 1 1 0 0 1 pinnumber=24 T 1100 8450 5 8 0 0 0 0 1 pinseq=24 T 1100 8450 5 8 0 1 0 0 1 pinlabel=24 T 1100 8450 5 8 0 1 0 0 1 pintype=pas } V 700 8700 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 750 8700 1300 8700 1 0 1 { T 1100 8750 5 8 1 1 0 0 1 pinnumber=5 T 1100 8750 5 8 0 0 0 0 1 pinseq=5 T 1100 8750 5 8 0 1 0 0 1 pinlabel=5 T 1100 8750 5 8 0 1 0 0 1 pintype=pas } V 400 9000 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 450 9000 1300 9000 1 0 1 { T 1100 9050 5 8 1 1 0 0 1 pinnumber=23 T 1100 9050 5 8 0 0 0 0 1 pinseq=23 T 1100 9050 5 8 0 1 0 0 1 pinlabel=23 T 1100 9050 5 8 0 1 0 0 1 pintype=pas } V 700 9300 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 750 9300 1300 9300 1 0 1 { T 1100 9350 5 8 1 1 0 0 1 pinnumber=4 T 1100 9350 5 8 0 0 0 0 1 pinseq=4 T 1100 9350 5 8 0 1 0 0 1 pinlabel=4 T 1100 9350 5 8 0 1 0 0 1 pintype=pas } V 400 9600 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 450 9600 1300 9600 1 0 1 { T 1100 9650 5 8 1 1 0 0 1 pinnumber=22 T 1100 9650 5 8 0 0 0 0 1 pinseq=22 T 1100 9650 5 8 0 1 0 0 1 pinlabel=22 T 1100 9650 5 8 0 1 0 0 1 pintype=pas } V 700 9900 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 750 9900 1300 9900 1 0 1 { T 1100 9950 5 8 1 1 0 0 1 pinnumber=3 T 1100 9950 5 8 0 0 0 0 1 pinseq=3 T 1100 9950 5 8 0 1 0 0 1 pinlabel=3 T 1100 9950 5 8 0 1 0 0 1 pintype=pas } V 400 10200 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 450 10200 1300 10200 1 0 1 { T 1100 10250 5 8 1 1 0 0 1 pinnumber=21 T 1100 10250 5 8 0 0 0 0 1 pinseq=21 T 1100 10250 5 8 0 1 0 0 1 pinlabel=21 T 1100 10250 5 8 0 1 0 0 1 pintype=pas } V 700 10500 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 750 10500 1300 10500 1 0 1 { T 1100 10550 5 8 1 1 0 0 1 pinnumber=2 T 1100 10550 5 8 0 0 0 0 1 pinseq=2 T 1100 10550 5 8 0 1 0 0 1 pinlabel=2 T 1100 10550 5 8 0 1 0 0 1 pintype=pas } V 400 10800 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 450 10800 1300 10800 1 0 1 { T 1100 10850 5 8 1 1 0 0 1 pinnumber=20 T 1100 10850 5 8 0 0 0 0 1 pinseq=20 T 1100 10850 5 8 0 1 0 0 1 pinlabel=20 T 1100 10850 5 8 0 1 0 0 1 pintype=pas } V 700 11100 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 750 11100 1300 11100 1 0 1 { T 1100 11150 5 8 1 1 0 0 1 pinnumber=1 T 1100 11150 5 8 0 0 0 0 1 pinseq=1 T 1100 11150 5 8 0 1 0 0 1 pinlabel=1 T 1100 11150 5 8 0 1 0 0 1 pintype=pas } L 801 11432 138 11166 3 0 0 0 -1 -1 T 500 11600 8 10 1 1 180 0 1 refdes=J? A 850 150 150 250 110 3 0 0 0 -1 -1 A 175 300 75 180 60 3 0 0 0 -1 -1 V 700 300 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 750 300 1300 300 1 0 1 { T 1100 350 5 8 1 1 0 0 1 pinnumber=19 T 1100 350 5 8 0 0 0 0 1 pinseq=19 T 1100 350 5 8 0 1 0 0 1 pinlabel=19 T 1100 350 5 8 0 1 0 0 1 pintype=pas } V 400 600 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 450 600 1300 600 1 0 1 { T 1100 650 5 8 1 1 0 0 1 pinnumber=37 T 1100 650 5 8 0 0 0 0 1 pinseq=37 T 1100 650 5 8 0 1 0 0 1 pinlabel=37 T 1100 650 5 8 0 1 0 0 1 pintype=pas } V 700 900 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 750 900 1300 900 1 0 1 { T 1100 950 5 8 1 1 0 0 1 pinnumber=18 T 1100 950 5 8 0 0 0 0 1 pinseq=18 T 1100 950 5 8 0 1 0 0 1 pinlabel=18 T 1100 950 5 8 0 1 0 0 1 pintype=pas } V 400 1200 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 450 1200 1300 1200 1 0 1 { T 1100 1250 5 8 1 1 0 0 1 pinnumber=36 T 1100 1250 5 8 0 0 0 0 1 pinseq=36 T 1100 1250 5 8 0 1 0 0 1 pinlabel=36 T 1100 1250 5 8 0 1 0 0 1 pintype=pas } V 700 1500 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 750 1500 1300 1500 1 0 1 { T 1100 1550 5 8 1 1 0 0 1 pinnumber=17 T 1100 1550 5 8 0 0 0 0 1 pinseq=17 T 1100 1550 5 8 0 1 0 0 1 pinlabel=17 T 1100 1550 5 8 0 1 0 0 1 pintype=pas } V 400 1800 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 450 1800 1300 1800 1 0 1 { T 1100 1850 5 8 1 1 0 0 1 pinnumber=35 T 1100 1850 5 8 0 0 0 0 1 pinseq=35 T 1100 1850 5 8 0 1 0 0 1 pinlabel=35 T 1100 1850 5 8 0 1 0 0 1 pintype=pas } V 700 2100 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 750 2100 1300 2100 1 0 1 { T 1100 2150 5 8 1 1 0 0 1 pinnumber=16 T 1100 2150 5 8 0 0 0 0 1 pinseq=16 T 1100 2150 5 8 0 1 0 0 1 pinlabel=16 T 1100 2150 5 8 0 1 0 0 1 pintype=pas } V 400 2400 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 450 2400 1300 2400 1 0 1 { T 1100 2450 5 8 1 1 0 0 1 pinnumber=34 T 1100 2450 5 8 0 0 0 0 1 pinseq=34 T 1100 2450 5 8 0 1 0 0 1 pinlabel=34 T 1100 2450 5 8 0 1 0 0 1 pintype=pas } V 700 2700 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 750 2700 1300 2700 1 0 1 { T 1100 2750 5 8 1 1 0 0 1 pinnumber=15 T 1100 2750 5 8 0 0 0 0 1 pinseq=15 T 1100 2750 5 8 0 1 0 0 1 pinlabel=15 T 1100 2750 5 8 0 1 0 0 1 pintype=pas } V 400 3000 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 450 3000 1300 3000 1 0 1 { T 1100 3050 5 8 1 1 0 0 1 pinnumber=33 T 1100 3050 5 8 0 0 0 0 1 pinseq=33 T 1100 3050 5 8 0 1 0 0 1 pinlabel=33 T 1100 3050 5 8 0 1 0 0 1 pintype=pas } V 700 3300 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 750 3300 1300 3300 1 0 1 { T 1100 3350 5 8 1 1 0 0 1 pinnumber=14 T 1100 3350 5 8 0 0 0 0 1 pinseq=14 T 1100 3350 5 8 0 1 0 0 1 pinlabel=14 T 1100 3350 5 8 0 1 0 0 1 pintype=pas } L 139 234 803 8 3 0 0 0 -1 -1 V 400 3600 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 450 3600 1300 3600 1 0 1 { T 1100 3650 5 8 1 1 0 0 1 pinnumber=32 T 1100 3650 5 8 0 0 0 0 1 pinseq=32 T 1100 3650 5 8 0 1 0 0 1 pinlabel=32 T 1100 3650 5 8 0 1 0 0 1 pintype=pas } L 100 3900 100 300 3 0 0 0 -1 -1 L 1000 3800 1000 100 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/connector/connector13-2.sym0000664000175000017500000000610712204104272016607 00000000000000v 20041228 1 T 700 5700 8 10 1 1 0 6 1 refdes=CONN? T 300 5650 5 10 0 0 0 0 1 device=CONNECTOR_13 T 300 5850 5 10 0 0 0 0 1 footprint=SIP13N T 300 6050 5 10 0 0 0 0 1 author=Leon Kos T 300 6250 5 10 0 0 0 0 1 description=generic connector T 300 6450 5 10 0 0 0 0 1 numslots=0 P 0 5200 200 5200 1 0 0 { T 200 5250 5 8 0 1 0 6 1 pinnumber=1 T 200 5150 5 8 0 1 0 8 1 pinseq=1 T 350 5200 9 8 1 1 0 0 1 pinlabel=1 T 350 5200 5 8 0 1 0 2 1 pintype=pas } V 250 5200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 4800 200 4800 1 0 0 { T 200 4850 5 8 0 1 0 6 1 pinnumber=2 T 200 4750 5 8 0 1 0 8 1 pinseq=2 T 350 4800 9 8 1 1 0 0 1 pinlabel=2 T 350 4800 5 8 0 1 0 2 1 pintype=pas } V 250 4800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 4400 200 4400 1 0 0 { T 200 4450 5 8 0 1 0 6 1 pinnumber=3 T 200 4350 5 8 0 1 0 8 1 pinseq=3 T 350 4400 9 8 1 1 0 0 1 pinlabel=3 T 350 4400 5 8 0 1 0 2 1 pintype=pas } V 250 4400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 4000 200 4000 1 0 0 { T 200 4050 5 8 0 1 0 6 1 pinnumber=4 T 200 3950 5 8 0 1 0 8 1 pinseq=4 T 350 4000 9 8 1 1 0 0 1 pinlabel=4 T 350 4000 5 8 0 1 0 2 1 pintype=pas } V 250 4000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3600 200 3600 1 0 0 { T 200 3650 5 8 0 1 0 6 1 pinnumber=5 T 200 3550 5 8 0 1 0 8 1 pinseq=5 T 350 3600 9 8 1 1 0 0 1 pinlabel=5 T 350 3600 5 8 0 1 0 2 1 pintype=pas } V 250 3600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3200 200 3200 1 0 0 { T 200 3250 5 8 0 1 0 6 1 pinnumber=6 T 200 3150 5 8 0 1 0 8 1 pinseq=6 T 350 3200 9 8 1 1 0 0 1 pinlabel=6 T 350 3200 5 8 0 1 0 2 1 pintype=pas } V 250 3200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2800 200 2800 1 0 0 { T 200 2850 5 8 0 1 0 6 1 pinnumber=7 T 200 2750 5 8 0 1 0 8 1 pinseq=7 T 350 2800 9 8 1 1 0 0 1 pinlabel=7 T 350 2800 5 8 0 1 0 2 1 pintype=pas } V 250 2800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2400 200 2400 1 0 0 { T 200 2450 5 8 0 1 0 6 1 pinnumber=8 T 200 2350 5 8 0 1 0 8 1 pinseq=8 T 350 2400 9 8 1 1 0 0 1 pinlabel=8 T 350 2400 5 8 0 1 0 2 1 pintype=pas } V 250 2400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2000 200 2000 1 0 0 { T 200 2050 5 8 0 1 0 6 1 pinnumber=9 T 200 1950 5 8 0 1 0 8 1 pinseq=9 T 350 2000 9 8 1 1 0 0 1 pinlabel=9 T 350 2000 5 8 0 1 0 2 1 pintype=pas } V 250 2000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1600 200 1600 1 0 0 { T 200 1650 5 8 0 1 0 6 1 pinnumber=10 T 200 1550 5 8 0 1 0 8 1 pinseq=10 T 350 1600 9 8 1 1 0 0 1 pinlabel=10 T 350 1600 5 8 0 1 0 2 1 pintype=pas } V 250 1600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1200 200 1200 1 0 0 { T 200 1250 5 8 0 1 0 6 1 pinnumber=11 T 200 1150 5 8 0 1 0 8 1 pinseq=11 T 350 1200 9 8 1 1 0 0 1 pinlabel=11 T 350 1200 5 8 0 1 0 2 1 pintype=pas } V 250 1200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 800 200 800 1 0 0 { T 200 850 5 8 0 1 0 6 1 pinnumber=12 T 200 750 5 8 0 1 0 8 1 pinseq=12 T 350 800 9 8 1 1 0 0 1 pinlabel=12 T 350 800 5 8 0 1 0 2 1 pintype=pas } V 250 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 400 200 400 1 0 0 { T 200 450 5 8 0 1 0 6 1 pinnumber=13 T 200 350 5 8 0 1 0 8 1 pinseq=13 T 350 400 9 8 1 1 0 0 1 pinlabel=13 T 350 400 5 8 0 1 0 2 1 pintype=pas } V 250 400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 300 0 400 5600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/connector/connector5-1.sym0000664000175000017500000000224112204104272016522 00000000000000v 20031231 1 P 1400 1100 1700 1100 1 0 1 { T 250 1050 5 8 1 1 0 0 1 pinnumber=2 T 250 1050 5 8 0 0 0 0 1 pinseq=2 T 250 1050 5 8 0 1 0 0 1 pinlabel=2 T 250 1050 5 8 0 1 0 0 1 pintype=pas } P 1400 500 1700 500 1 0 1 { T 250 450 5 8 1 1 0 0 1 pinnumber=4 T 250 450 5 8 0 0 0 0 1 pinseq=4 T 250 450 5 8 0 1 0 0 1 pinlabel=4 T 250 450 5 8 0 1 0 0 1 pintype=pas } P 1400 1400 1700 1400 1 0 1 { T 250 1350 5 8 1 1 0 0 1 pinnumber=1 T 250 1350 5 8 0 0 0 0 1 pinseq=1 T 250 1350 5 8 0 1 0 0 1 pinlabel=1 T 250 1350 5 8 0 1 0 0 1 pintype=pas } P 1400 800 1700 800 1 0 1 { T 250 750 5 8 1 1 0 0 1 pinnumber=3 T 250 750 5 8 0 0 0 0 1 pinseq=3 T 250 750 5 8 0 1 0 0 1 pinlabel=3 T 250 750 5 8 0 1 0 0 1 pintype=pas } P 1400 200 1700 200 1 0 1 { T 250 150 5 8 1 1 0 0 1 pinnumber=5 T 250 150 5 8 0 0 0 0 1 pinseq=5 T 250 150 5 8 0 1 0 0 1 pinlabel=5 T 250 150 5 8 0 1 0 0 1 pintype=pas } L 1400 1400 500 1400 3 0 0 0 -1 -1 L 1400 1100 500 1100 3 0 0 0 -1 -1 L 1400 800 500 800 3 0 0 0 -1 -1 L 1400 500 500 500 3 0 0 0 -1 -1 L 1400 200 500 200 3 0 0 0 -1 -1 B 0 0 500 1600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1800 1500 5 10 0 0 0 0 1 device=CONNECTOR_5 T 100 1700 8 10 1 1 0 0 1 refdes=CONN? geda-gaf-1.8.2/symbols/connector/connector4-2.sym0000664000175000017500000000223012204104272016520 00000000000000v 20041228 1 T 700 2100 8 10 1 1 0 6 1 refdes=CONN? T 300 2050 5 10 0 0 0 0 1 device=CONNECTOR_4 T 300 2250 5 10 0 0 0 0 1 footprint=SIP4N T 300 2450 5 10 0 0 0 0 1 author=Leon Kos T 300 2650 5 10 0 0 0 0 1 description=generic connector T 300 2850 5 10 0 0 0 0 1 numslots=0 P 0 1600 200 1600 1 0 0 { T 200 1650 5 8 0 1 0 6 1 pinnumber=1 T 200 1550 5 8 0 1 0 8 1 pinseq=1 T 350 1600 9 8 1 1 0 0 1 pinlabel=1 T 350 1600 5 8 0 1 0 2 1 pintype=pas } V 250 1600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1200 200 1200 1 0 0 { T 200 1250 5 8 0 1 0 6 1 pinnumber=2 T 200 1150 5 8 0 1 0 8 1 pinseq=2 T 350 1200 9 8 1 1 0 0 1 pinlabel=2 T 350 1200 5 8 0 1 0 2 1 pintype=pas } V 250 1200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 800 200 800 1 0 0 { T 200 850 5 8 0 1 0 6 1 pinnumber=3 T 200 750 5 8 0 1 0 8 1 pinseq=3 T 350 800 9 8 1 1 0 0 1 pinlabel=3 T 350 800 5 8 0 1 0 2 1 pintype=pas } V 250 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 400 200 400 1 0 0 { T 200 450 5 8 0 1 0 6 1 pinnumber=4 T 200 350 5 8 0 1 0 8 1 pinseq=4 T 350 400 9 8 1 1 0 0 1 pinlabel=4 T 350 400 5 8 0 1 0 2 1 pintype=pas } V 250 400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 300 0 400 2000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/connector/connector28-2.sym0000664000175000017500000001461012204104272016613 00000000000000v 20041228 1 T 800 11800 8 10 1 1 0 6 1 refdes=CONN? T 400 11750 5 10 0 0 0 0 1 device=CONNECTOR_28 T 400 11950 5 10 0 0 0 0 1 footprint=SIP28N T 400 12150 5 10 0 0 0 0 1 author=Leon Kos T 400 12350 5 10 0 0 0 0 1 description=generic connector T 400 12550 5 10 0 0 0 0 1 numslots=0 P 100 11300 300 11300 1 0 0 { T 300 11350 5 8 0 1 0 6 1 pinnumber=1 T 300 11250 5 8 0 1 0 8 1 pinseq=1 T 450 11300 9 8 1 1 0 0 1 pinlabel=1 T 450 11300 5 8 0 1 0 2 1 pintype=pas } V 350 11300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 10900 300 10900 1 0 0 { T 300 10950 5 8 0 1 0 6 1 pinnumber=2 T 300 10850 5 8 0 1 0 8 1 pinseq=2 T 450 10900 9 8 1 1 0 0 1 pinlabel=2 T 450 10900 5 8 0 1 0 2 1 pintype=pas } V 350 10900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 10500 300 10500 1 0 0 { T 300 10550 5 8 0 1 0 6 1 pinnumber=3 T 300 10450 5 8 0 1 0 8 1 pinseq=3 T 450 10500 9 8 1 1 0 0 1 pinlabel=3 T 450 10500 5 8 0 1 0 2 1 pintype=pas } V 350 10500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 10100 300 10100 1 0 0 { T 300 10150 5 8 0 1 0 6 1 pinnumber=4 T 300 10050 5 8 0 1 0 8 1 pinseq=4 T 450 10100 9 8 1 1 0 0 1 pinlabel=4 T 450 10100 5 8 0 1 0 2 1 pintype=pas } V 350 10100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 9700 300 9700 1 0 0 { T 300 9750 5 8 0 1 0 6 1 pinnumber=5 T 300 9650 5 8 0 1 0 8 1 pinseq=5 T 450 9700 9 8 1 1 0 0 1 pinlabel=5 T 450 9700 5 8 0 1 0 2 1 pintype=pas } V 350 9700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 9300 300 9300 1 0 0 { T 300 9350 5 8 0 1 0 6 1 pinnumber=6 T 300 9250 5 8 0 1 0 8 1 pinseq=6 T 450 9300 9 8 1 1 0 0 1 pinlabel=6 T 450 9300 5 8 0 1 0 2 1 pintype=pas } V 350 9300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8900 300 8900 1 0 0 { T 300 8950 5 8 0 1 0 6 1 pinnumber=7 T 300 8850 5 8 0 1 0 8 1 pinseq=7 T 450 8900 9 8 1 1 0 0 1 pinlabel=7 T 450 8900 5 8 0 1 0 2 1 pintype=pas } V 350 8900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8500 300 8500 1 0 0 { T 300 8550 5 8 0 1 0 6 1 pinnumber=8 T 300 8450 5 8 0 1 0 8 1 pinseq=8 T 450 8500 9 8 1 1 0 0 1 pinlabel=8 T 450 8500 5 8 0 1 0 2 1 pintype=pas } V 350 8500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8100 300 8100 1 0 0 { T 300 8150 5 8 0 1 0 6 1 pinnumber=9 T 300 8050 5 8 0 1 0 8 1 pinseq=9 T 450 8100 9 8 1 1 0 0 1 pinlabel=9 T 450 8100 5 8 0 1 0 2 1 pintype=pas } V 350 8100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 7700 300 7700 1 0 0 { T 300 7750 5 8 0 1 0 6 1 pinnumber=10 T 300 7650 5 8 0 1 0 8 1 pinseq=10 T 450 7700 9 8 1 1 0 0 1 pinlabel=10 T 450 7700 5 8 0 1 0 2 1 pintype=pas } V 350 7700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 7300 300 7300 1 0 0 { T 300 7350 5 8 0 1 0 6 1 pinnumber=11 T 300 7250 5 8 0 1 0 8 1 pinseq=11 T 450 7300 9 8 1 1 0 0 1 pinlabel=11 T 450 7300 5 8 0 1 0 2 1 pintype=pas } V 350 7300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6900 300 6900 1 0 0 { T 300 6950 5 8 0 1 0 6 1 pinnumber=12 T 300 6850 5 8 0 1 0 8 1 pinseq=12 T 450 6900 9 8 1 1 0 0 1 pinlabel=12 T 450 6900 5 8 0 1 0 2 1 pintype=pas } V 350 6900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6500 300 6500 1 0 0 { T 300 6550 5 8 0 1 0 6 1 pinnumber=13 T 300 6450 5 8 0 1 0 8 1 pinseq=13 T 450 6500 9 8 1 1 0 0 1 pinlabel=13 T 450 6500 5 8 0 1 0 2 1 pintype=pas } V 350 6500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6100 300 6100 1 0 0 { T 300 6150 5 8 0 1 0 6 1 pinnumber=14 T 300 6050 5 8 0 1 0 8 1 pinseq=14 T 450 6100 9 8 1 1 0 0 1 pinlabel=14 T 450 6100 5 8 0 1 0 2 1 pintype=pas } V 350 6100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 5700 300 5700 1 0 0 { T 300 5750 5 8 0 1 0 6 1 pinnumber=15 T 300 5650 5 8 0 1 0 8 1 pinseq=15 T 450 5700 9 8 1 1 0 0 1 pinlabel=15 T 450 5700 5 8 0 1 0 2 1 pintype=pas } V 350 5700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 5300 300 5300 1 0 0 { T 300 5350 5 8 0 1 0 6 1 pinnumber=16 T 300 5250 5 8 0 1 0 8 1 pinseq=16 T 450 5300 9 8 1 1 0 0 1 pinlabel=16 T 450 5300 5 8 0 1 0 2 1 pintype=pas } V 350 5300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4900 300 4900 1 0 0 { T 300 4950 5 8 0 1 0 6 1 pinnumber=17 T 300 4850 5 8 0 1 0 8 1 pinseq=17 T 450 4900 9 8 1 1 0 0 1 pinlabel=17 T 450 4900 5 8 0 1 0 2 1 pintype=pas } V 350 4900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4500 300 4500 1 0 0 { T 300 4550 5 8 0 1 0 6 1 pinnumber=18 T 300 4450 5 8 0 1 0 8 1 pinseq=18 T 450 4500 9 8 1 1 0 0 1 pinlabel=18 T 450 4500 5 8 0 1 0 2 1 pintype=pas } V 350 4500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4100 300 4100 1 0 0 { T 300 4150 5 8 0 1 0 6 1 pinnumber=19 T 300 4050 5 8 0 1 0 8 1 pinseq=19 T 450 4100 9 8 1 1 0 0 1 pinlabel=19 T 450 4100 5 8 0 1 0 2 1 pintype=pas } V 350 4100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 3700 300 3700 1 0 0 { T 300 3750 5 8 0 1 0 6 1 pinnumber=20 T 300 3650 5 8 0 1 0 8 1 pinseq=20 T 450 3700 9 8 1 1 0 0 1 pinlabel=20 T 450 3700 5 8 0 1 0 2 1 pintype=pas } V 350 3700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 3300 300 3300 1 0 0 { T 300 3350 5 8 0 1 0 6 1 pinnumber=21 T 300 3250 5 8 0 1 0 8 1 pinseq=21 T 450 3300 9 8 1 1 0 0 1 pinlabel=21 T 450 3300 5 8 0 1 0 2 1 pintype=pas } V 350 3300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2900 300 2900 1 0 0 { T 300 2950 5 8 0 1 0 6 1 pinnumber=22 T 300 2850 5 8 0 1 0 8 1 pinseq=22 T 450 2900 9 8 1 1 0 0 1 pinlabel=22 T 450 2900 5 8 0 1 0 2 1 pintype=pas } V 350 2900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2500 300 2500 1 0 0 { T 300 2550 5 8 0 1 0 6 1 pinnumber=23 T 300 2450 5 8 0 1 0 8 1 pinseq=23 T 450 2500 9 8 1 1 0 0 1 pinlabel=23 T 450 2500 5 8 0 1 0 2 1 pintype=pas } V 350 2500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2100 300 2100 1 0 0 { T 300 2150 5 8 0 1 0 6 1 pinnumber=24 T 300 2050 5 8 0 1 0 8 1 pinseq=24 T 450 2100 9 8 1 1 0 0 1 pinlabel=24 T 450 2100 5 8 0 1 0 2 1 pintype=pas } V 350 2100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1700 300 1700 1 0 0 { T 300 1750 5 8 0 1 0 6 1 pinnumber=25 T 300 1650 5 8 0 1 0 8 1 pinseq=25 T 450 1700 9 8 1 1 0 0 1 pinlabel=25 T 450 1700 5 8 0 1 0 2 1 pintype=pas } V 350 1700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1300 300 1300 1 0 0 { T 300 1350 5 8 0 1 0 6 1 pinnumber=26 T 300 1250 5 8 0 1 0 8 1 pinseq=26 T 450 1300 9 8 1 1 0 0 1 pinlabel=26 T 450 1300 5 8 0 1 0 2 1 pintype=pas } V 350 1300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 900 300 900 1 0 0 { T 300 950 5 8 0 1 0 6 1 pinnumber=27 T 300 850 5 8 0 1 0 8 1 pinseq=27 T 450 900 9 8 1 1 0 0 1 pinlabel=27 T 450 900 5 8 0 1 0 2 1 pintype=pas } V 350 900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 500 300 500 1 0 0 { T 300 550 5 8 0 1 0 6 1 pinnumber=28 T 300 450 5 8 0 1 0 8 1 pinseq=28 T 450 500 9 8 1 1 0 0 1 pinlabel=28 T 450 500 5 8 0 1 0 2 1 pintype=pas } V 350 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 400 100 400 11600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/connector/rs232-idc10.sym0000664000175000017500000000456612204104272016072 00000000000000v 20031231 1 P 1100 1800 1400 1800 1 0 1 { T 1200 1850 5 8 1 1 0 0 1 pinnumber=2 T 1200 1850 5 8 0 0 0 0 1 pinseq=2 T 1200 1850 5 8 0 1 0 0 1 pinlabel=2 T 1200 1850 5 8 0 1 0 0 1 pintype=pas } P 0 1400 300 1400 1 0 0 { T 100 1450 5 8 1 1 0 0 1 pinnumber=3 T 100 1450 5 8 0 0 0 0 1 pinseq=3 T 100 1450 5 8 0 1 0 0 1 pinlabel=3 T 100 1450 5 8 0 1 0 0 1 pintype=pas } P 1100 1400 1400 1400 1 0 1 { T 1200 1450 5 8 1 1 0 0 1 pinnumber=4 T 1200 1450 5 8 0 0 0 0 1 pinseq=4 T 1200 1450 5 8 0 1 0 0 1 pinlabel=4 T 1200 1450 5 8 0 1 0 0 1 pintype=pas } P 0 1800 300 1800 1 0 0 { T 100 1850 5 8 1 1 0 0 1 pinnumber=1 T 100 1850 5 8 0 0 0 0 1 pinseq=1 T 100 1850 5 8 0 1 0 0 1 pinlabel=1 T 100 1850 5 8 0 1 0 0 1 pintype=pas } P 0 1000 300 1000 1 0 0 { T 100 1050 5 8 1 1 0 0 1 pinnumber=5 T 100 1050 5 8 0 0 0 0 1 pinseq=5 T 100 1050 5 8 0 1 0 0 1 pinlabel=5 T 100 1050 5 8 0 1 0 0 1 pintype=pas } L 300 1200 1100 1200 3 0 0 0 -1 -1 L 300 800 1100 800 3 0 0 0 -1 -1 L 300 1600 1100 1600 3 0 0 0 -1 -1 L 700 2000 700 0 3 0 0 0 -1 -1 L 300 400 1100 400 3 0 0 0 -1 -1 B 300 0 800 2000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 0 2000 5 10 0 1 0 0 1 device=HEADER10 P 1100 200 1400 200 1 0 1 { T 1250 250 5 8 1 1 0 0 1 pinnumber=10 T 1250 250 5 8 0 0 0 0 1 pinseq=10 T 1250 250 5 8 0 1 0 0 1 pinlabel=10 T 1250 250 5 8 0 1 0 0 1 pintype=pas } P 0 200 300 200 1 0 0 { T 150 250 5 8 1 1 0 0 1 pinnumber=9 T 150 250 5 8 0 0 0 0 1 pinseq=9 T 150 250 5 8 0 1 0 0 1 pinlabel=9 T 150 250 5 8 0 1 0 0 1 pintype=pas } P 1100 600 1400 600 1 0 1 { T 1250 650 5 8 1 1 0 0 1 pinnumber=8 T 1250 650 5 8 0 0 0 0 1 pinseq=8 T 1250 650 5 8 0 1 0 0 1 pinlabel=8 T 1250 650 5 8 0 1 0 0 1 pintype=pas } P 0 600 300 600 1 0 0 { T 150 650 5 8 1 1 0 0 1 pinnumber=7 T 150 650 5 8 0 0 0 0 1 pinseq=7 T 150 650 5 8 0 1 0 0 1 pinlabel=7 T 150 650 5 8 0 1 0 0 1 pintype=pas } P 1100 1000 1400 1000 1 0 1 { T 1250 1050 5 8 1 1 0 0 1 pinnumber=6 T 1250 1050 5 8 0 0 0 0 1 pinseq=6 T 1250 1050 5 8 0 1 0 0 1 pinlabel=6 T 1250 1050 5 8 0 1 0 0 1 pintype=pas } T 600 2100 8 10 1 1 0 0 1 refdes=J? T 0 0 8 10 0 1 0 0 1 pins=10 T 0 0 8 10 0 1 0 0 1 class=IO T 550 1300 9 10 1 0 90 0 1 rxd T 550 900 9 10 1 0 90 0 1 txd T 550 1700 9 10 1 0 90 0 1 CD T 550 500 9 10 1 0 90 0 1 dtr T 550 50 9 10 1 0 90 0 1 gnd T 950 1700 9 10 1 0 90 0 1 dsr T 950 550 9 10 1 0 90 0 1 ri T 950 900 9 10 1 0 90 0 1 cts T 950 1300 9 10 1 0 90 0 1 rts T 950 100 9 10 1 0 90 0 1 nc geda-gaf-1.8.2/symbols/connector/connector2-1.sym0000664000175000017500000000115112204104272016516 00000000000000v 20031231 1 P 1400 200 1700 200 1 0 1 { T 350 150 5 8 1 1 0 0 1 pinnumber=2 T 350 150 5 8 0 0 0 0 1 pinseq=2 T 350 150 5 8 0 1 0 0 1 pinlabel=2 T 350 150 5 8 0 1 0 0 1 pintype=pas } P 1400 500 1700 500 1 0 1 { T 350 450 5 8 1 1 0 0 1 pinnumber=1 T 350 450 5 8 0 0 0 0 1 pinseq=1 T 350 450 5 8 0 1 0 0 1 pinlabel=1 T 350 450 5 8 0 1 0 0 1 pintype=pas } L 1400 500 500 500 3 0 0 0 -1 -1 L 1400 200 500 200 3 0 0 0 -1 -1 T 200 1000 5 10 0 0 0 0 1 device=CONNECTOR_2 B 0 0 500 700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 0 800 8 10 1 1 0 0 1 refdes=CONN? T 200 1200 5 10 0 0 0 0 1 pins=2 T 200 1400 5 10 0 0 0 0 1 class=IO geda-gaf-1.8.2/symbols/connector/connector8-2.sym0000664000175000017500000000377412204104272016542 00000000000000v 20041228 1 T 700 3700 8 10 1 1 0 6 1 refdes=CONN? T 300 3650 5 10 0 0 0 0 1 device=CONNECTOR_8 T 300 3850 5 10 0 0 0 0 1 footprint=SIP8N T 300 4050 5 10 0 0 0 0 1 author=Leon Kos T 300 4250 5 10 0 0 0 0 1 description=generic connector T 300 4450 5 10 0 0 0 0 1 numslots=0 P 0 3200 200 3200 1 0 0 { T 200 3250 5 8 0 1 0 6 1 pinnumber=1 T 200 3150 5 8 0 1 0 8 1 pinseq=1 T 350 3200 9 8 1 1 0 0 1 pinlabel=1 T 350 3200 5 8 0 1 0 2 1 pintype=pas } V 250 3200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2800 200 2800 1 0 0 { T 200 2850 5 8 0 1 0 6 1 pinnumber=2 T 200 2750 5 8 0 1 0 8 1 pinseq=2 T 350 2800 9 8 1 1 0 0 1 pinlabel=2 T 350 2800 5 8 0 1 0 2 1 pintype=pas } V 250 2800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2400 200 2400 1 0 0 { T 200 2450 5 8 0 1 0 6 1 pinnumber=3 T 200 2350 5 8 0 1 0 8 1 pinseq=3 T 350 2400 9 8 1 1 0 0 1 pinlabel=3 T 350 2400 5 8 0 1 0 2 1 pintype=pas } V 250 2400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2000 200 2000 1 0 0 { T 200 2050 5 8 0 1 0 6 1 pinnumber=4 T 200 1950 5 8 0 1 0 8 1 pinseq=4 T 350 2000 9 8 1 1 0 0 1 pinlabel=4 T 350 2000 5 8 0 1 0 2 1 pintype=pas } V 250 2000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1600 200 1600 1 0 0 { T 200 1650 5 8 0 1 0 6 1 pinnumber=5 T 200 1550 5 8 0 1 0 8 1 pinseq=5 T 350 1600 9 8 1 1 0 0 1 pinlabel=5 T 350 1600 5 8 0 1 0 2 1 pintype=pas } V 250 1600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1200 200 1200 1 0 0 { T 200 1250 5 8 0 1 0 6 1 pinnumber=6 T 200 1150 5 8 0 1 0 8 1 pinseq=6 T 350 1200 9 8 1 1 0 0 1 pinlabel=6 T 350 1200 5 8 0 1 0 2 1 pintype=pas } V 250 1200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 800 200 800 1 0 0 { T 200 850 5 8 0 1 0 6 1 pinnumber=7 T 200 750 5 8 0 1 0 8 1 pinseq=7 T 350 800 9 8 1 1 0 0 1 pinlabel=7 T 350 800 5 8 0 1 0 2 1 pintype=pas } V 250 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 400 200 400 1 0 0 { T 200 450 5 8 0 1 0 6 1 pinnumber=8 T 200 350 5 8 0 1 0 8 1 pinseq=8 T 350 400 9 8 1 1 0 0 1 pinlabel=8 T 350 400 5 8 0 1 0 2 1 pintype=pas } V 250 400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 300 0 400 3600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/connector/connector19-1.sym0000664000175000017500000001023712204104272016613 00000000000000v 20031231 1 P 1400 5300 1700 5300 1 0 1 { T 250 5250 5 8 1 1 0 0 1 pinnumber=2 T 250 5250 5 8 0 0 0 0 1 pinseq=2 T 250 5250 5 8 0 1 0 0 1 pinlabel=2 T 250 5250 5 8 0 1 0 0 1 pintype=pas } P 1400 4700 1700 4700 1 0 1 { T 250 4650 5 8 1 1 0 0 1 pinnumber=4 T 250 4650 5 8 0 0 0 0 1 pinseq=4 T 250 4650 5 8 0 1 0 0 1 pinlabel=4 T 250 4650 5 8 0 1 0 0 1 pintype=pas } P 1400 4100 1700 4100 1 0 1 { T 250 4050 5 8 1 1 0 0 1 pinnumber=6 T 250 4050 5 8 0 0 0 0 1 pinseq=6 T 250 4050 5 8 0 1 0 0 1 pinlabel=6 T 250 4050 5 8 0 1 0 0 1 pintype=pas } P 1400 3500 1700 3500 1 0 1 { T 250 3450 5 8 1 1 0 0 1 pinnumber=8 T 250 3450 5 8 0 0 0 0 1 pinseq=8 T 250 3450 5 8 0 1 0 0 1 pinlabel=8 T 250 3450 5 8 0 1 0 0 1 pintype=pas } P 1400 5600 1700 5600 1 0 1 { T 250 5550 5 8 1 1 0 0 1 pinnumber=1 T 250 5550 5 8 0 0 0 0 1 pinseq=1 T 250 5550 5 8 0 1 0 0 1 pinlabel=1 T 250 5550 5 8 0 1 0 0 1 pintype=pas } P 1400 5000 1700 5000 1 0 1 { T 250 4950 5 8 1 1 0 0 1 pinnumber=3 T 250 4950 5 8 0 0 0 0 1 pinseq=3 T 250 4950 5 8 0 1 0 0 1 pinlabel=3 T 250 4950 5 8 0 1 0 0 1 pintype=pas } P 1400 4400 1700 4400 1 0 1 { T 250 4350 5 8 1 1 0 0 1 pinnumber=5 T 250 4350 5 8 0 0 0 0 1 pinseq=5 T 250 4350 5 8 0 1 0 0 1 pinlabel=5 T 250 4350 5 8 0 1 0 0 1 pintype=pas } P 1400 3800 1700 3800 1 0 1 { T 250 3750 5 8 1 1 0 0 1 pinnumber=7 T 250 3750 5 8 0 0 0 0 1 pinseq=7 T 250 3750 5 8 0 1 0 0 1 pinlabel=7 T 250 3750 5 8 0 1 0 0 1 pintype=pas } P 1400 2900 1700 2900 1 0 1 { T 250 2850 5 8 1 1 0 0 1 pinnumber=10 T 250 2850 5 8 0 0 0 0 1 pinseq=10 T 250 2850 5 8 0 1 0 0 1 pinlabel=10 T 250 2850 5 8 0 1 0 0 1 pintype=pas } P 1400 2300 1700 2300 1 0 1 { T 250 2250 5 8 1 1 0 0 1 pinnumber=12 T 250 2250 5 8 0 0 0 0 1 pinseq=12 T 250 2250 5 8 0 1 0 0 1 pinlabel=12 T 250 2250 5 8 0 1 0 0 1 pintype=pas } P 1400 1700 1700 1700 1 0 1 { T 250 1650 5 8 1 1 0 0 1 pinnumber=14 T 250 1650 5 8 0 0 0 0 1 pinseq=14 T 250 1650 5 8 0 1 0 0 1 pinlabel=14 T 250 1650 5 8 0 1 0 0 1 pintype=pas } P 1400 1100 1700 1100 1 0 1 { T 250 1050 5 8 1 1 0 0 1 pinnumber=16 T 250 1050 5 8 0 0 0 0 1 pinseq=16 T 250 1050 5 8 0 1 0 0 1 pinlabel=16 T 250 1050 5 8 0 1 0 0 1 pintype=pas } P 1400 3200 1700 3200 1 0 1 { T 250 3150 5 8 1 1 0 0 1 pinnumber=9 T 250 3150 5 8 0 0 0 0 1 pinseq=9 T 250 3150 5 8 0 1 0 0 1 pinlabel=9 T 250 3150 5 8 0 1 0 0 1 pintype=pas } P 1400 2600 1700 2600 1 0 1 { T 250 2550 5 8 1 1 0 0 1 pinnumber=11 T 250 2550 5 8 0 0 0 0 1 pinseq=11 T 250 2550 5 8 0 1 0 0 1 pinlabel=11 T 250 2550 5 8 0 1 0 0 1 pintype=pas } P 1400 2000 1700 2000 1 0 1 { T 250 1950 5 8 1 1 0 0 1 pinnumber=13 T 250 1950 5 8 0 0 0 0 1 pinseq=13 T 250 1950 5 8 0 1 0 0 1 pinlabel=13 T 250 1950 5 8 0 1 0 0 1 pintype=pas } P 1400 1400 1700 1400 1 0 1 { T 250 1350 5 8 1 1 0 0 1 pinnumber=15 T 250 1350 5 8 0 0 0 0 1 pinseq=15 T 250 1350 5 8 0 1 0 0 1 pinlabel=15 T 250 1350 5 8 0 1 0 0 1 pintype=pas } P 1400 500 1700 500 1 0 1 { T 250 450 5 8 1 1 0 0 1 pinnumber=18 T 250 450 5 8 0 0 0 0 1 pinseq=18 T 250 450 5 8 0 1 0 0 1 pinlabel=18 T 250 450 5 8 0 1 0 0 1 pintype=pas } P 1400 800 1700 800 1 0 1 { T 250 750 5 8 1 1 0 0 1 pinnumber=17 T 250 750 5 8 0 0 0 0 1 pinseq=17 T 250 750 5 8 0 1 0 0 1 pinlabel=17 T 250 750 5 8 0 1 0 0 1 pintype=pas } P 1400 200 1700 200 1 0 1 { T 250 150 5 8 1 1 0 0 1 pinnumber=19 T 250 150 5 8 0 0 0 0 1 pinseq=19 T 250 150 5 8 0 1 0 0 1 pinlabel=19 T 250 150 5 8 0 1 0 0 1 pintype=pas } L 1400 5600 500 5600 3 0 0 0 -1 -1 L 1400 5300 500 5300 3 0 0 0 -1 -1 L 1400 5000 500 5000 3 0 0 0 -1 -1 L 1400 4700 500 4700 3 0 0 0 -1 -1 L 1400 4400 500 4400 3 0 0 0 -1 -1 L 1400 4100 500 4100 3 0 0 0 -1 -1 L 1400 3800 500 3800 3 0 0 0 -1 -1 L 1400 3500 500 3500 3 0 0 0 -1 -1 L 1400 3200 500 3200 3 0 0 0 -1 -1 L 1400 2900 500 2900 3 0 0 0 -1 -1 L 1400 2600 500 2600 3 0 0 0 -1 -1 L 1400 2300 500 2300 3 0 0 0 -1 -1 L 1400 2000 500 2000 3 0 0 0 -1 -1 L 1400 1700 500 1700 3 0 0 0 -1 -1 L 1400 1400 500 1400 3 0 0 0 -1 -1 L 1400 1100 500 1100 3 0 0 0 -1 -1 L 1400 800 500 800 3 0 0 0 -1 -1 L 1400 500 500 500 3 0 0 0 -1 -1 L 1400 200 500 200 3 0 0 0 -1 -1 B 0 0 500 5800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 0 6500 5 10 0 0 0 0 1 device=CONNECTOR_19 T 0 5900 8 10 1 1 0 0 1 refdes=J? T 0 6300 8 10 0 0 0 0 1 pins=19 T 0 6100 8 10 0 0 0 0 1 class=IO geda-gaf-1.8.2/symbols/connector/header20-2.sym0000664000175000017500000001001512204104272016034 00000000000000v 20031231 1 P 1100 3800 1400 3800 1 0 1 { T 1200 3850 5 8 1 1 0 0 1 pinnumber=2 T 1200 3850 5 8 0 0 0 0 1 pinseq=2 T 1200 3850 5 8 0 1 0 0 1 pinlabel=2 T 1200 3850 5 8 0 1 0 0 1 pintype=pas } P 0 3400 300 3400 1 0 0 { T 100 3450 5 8 1 1 0 0 1 pinnumber=3 T 100 3450 5 8 0 0 0 0 1 pinseq=3 T 100 3450 5 8 0 1 0 0 1 pinlabel=3 T 100 3450 5 8 0 1 0 0 1 pintype=pas } P 1100 3400 1400 3400 1 0 1 { T 1200 3450 5 8 1 1 0 0 1 pinnumber=4 T 1200 3450 5 8 0 0 0 0 1 pinseq=4 T 1200 3450 5 8 0 1 0 0 1 pinlabel=4 T 1200 3450 5 8 0 1 0 0 1 pintype=pas } P 0 3800 300 3800 1 0 0 { T 150 3850 5 8 1 1 0 0 1 pinnumber=1 T 150 3850 5 8 0 0 0 0 1 pinseq=1 T 150 3850 5 8 0 1 0 0 1 pinlabel=1 T 150 3850 5 8 0 1 0 0 1 pintype=pas } P 0 3000 300 3000 1 0 0 { T 100 3050 5 8 1 1 0 0 1 pinnumber=5 T 100 3050 5 8 0 0 0 0 1 pinseq=5 T 100 3050 5 8 0 1 0 0 1 pinlabel=5 T 100 3050 5 8 0 1 0 0 1 pintype=pas } L 300 3200 1100 3200 3 0 0 0 -1 -1 L 300 2800 1100 2800 3 0 0 0 -1 -1 L 300 3600 1100 3600 3 0 0 0 -1 -1 L 300 2400 1100 2400 3 0 0 0 -1 -1 T 250 -250 5 10 0 1 0 0 1 device=HEADER20 P 1100 2200 1400 2200 1 0 1 { T 1200 2250 5 8 1 1 0 0 1 pinnumber=10 T 1200 2250 5 8 0 0 0 0 1 pinseq=10 T 1200 2250 5 8 0 1 0 0 1 pinlabel=10 T 1200 2250 5 8 0 1 0 0 1 pintype=pas } P 0 2200 300 2200 1 0 0 { T 100 2250 5 8 1 1 0 0 1 pinnumber=9 T 100 2250 5 8 0 0 0 0 1 pinseq=9 T 100 2250 5 8 0 1 0 0 1 pinlabel=9 T 100 2250 5 8 0 1 0 0 1 pintype=pas } P 1100 2600 1400 2600 1 0 1 { T 1200 2650 5 8 1 1 0 0 1 pinnumber=8 T 1200 2650 5 8 0 0 0 0 1 pinseq=8 T 1200 2650 5 8 0 1 0 0 1 pinlabel=8 T 1200 2650 5 8 0 1 0 0 1 pintype=pas } P 0 2600 300 2600 1 0 0 { T 100 2650 5 8 1 1 0 0 1 pinnumber=7 T 100 2650 5 8 0 0 0 0 1 pinseq=7 T 100 2650 5 8 0 1 0 0 1 pinlabel=7 T 100 2650 5 8 0 1 0 0 1 pintype=pas } P 1100 3000 1400 3000 1 0 1 { T 1200 3050 5 8 1 1 0 0 1 pinnumber=6 T 1200 3050 5 8 0 0 0 0 1 pinseq=6 T 1200 3050 5 8 0 1 0 0 1 pinlabel=6 T 1200 3050 5 8 0 1 0 0 1 pintype=pas } T 600 4100 8 10 1 1 0 0 1 refdes=J? P 1100 600 1400 600 1 0 1 { T 1200 650 5 8 1 1 0 0 1 pinnumber=18 T 1200 650 5 8 0 0 0 0 1 pinseq=18 T 1200 650 5 8 0 1 0 0 1 pinlabel=18 T 1200 650 5 8 0 1 0 0 1 pintype=pas } P 1100 200 1400 200 1 0 1 { T 1200 250 5 8 1 1 0 0 1 pinnumber=20 T 1200 250 5 8 0 0 0 0 1 pinseq=20 T 1200 250 5 8 0 1 0 0 1 pinlabel=20 T 1200 250 5 8 0 1 0 0 1 pintype=pas } P 0 600 300 600 1 0 0 { T 100 650 5 8 1 1 0 0 1 pinnumber=17 T 100 650 5 8 0 0 0 0 1 pinseq=17 T 100 650 5 8 0 1 0 0 1 pinlabel=17 T 100 650 5 8 0 1 0 0 1 pintype=pas } P 0 200 300 200 1 0 0 { T 100 250 5 8 1 1 0 0 1 pinnumber=19 T 100 250 5 8 0 0 0 0 1 pinseq=19 T 100 250 5 8 0 1 0 0 1 pinlabel=19 T 100 250 5 8 0 1 0 0 1 pintype=pas } P 1100 1000 1400 1000 1 0 1 { T 1200 1050 5 8 1 1 0 0 1 pinnumber=16 T 1200 1050 5 8 0 0 0 0 1 pinseq=16 T 1200 1050 5 8 0 1 0 0 1 pinlabel=16 T 1200 1050 5 8 0 1 0 0 1 pintype=pas } L 300 1200 1100 1200 3 0 0 0 -1 -1 L 300 800 1100 800 3 0 0 0 -1 -1 L 300 1600 1100 1600 3 0 0 0 -1 -1 L 300 400 1100 400 3 0 0 0 -1 -1 P 0 1000 300 1000 1 0 0 { T 100 1050 5 8 1 1 0 0 1 pinnumber=15 T 100 1050 5 8 0 0 0 0 1 pinseq=15 T 100 1050 5 8 0 1 0 0 1 pinlabel=15 T 100 1050 5 8 0 1 0 0 1 pintype=pas } P 1100 1400 1400 1400 1 0 1 { T 1200 1450 5 8 1 1 0 0 1 pinnumber=14 T 1200 1450 5 8 0 0 0 0 1 pinseq=14 T 1200 1450 5 8 0 1 0 0 1 pinlabel=14 T 1200 1450 5 8 0 1 0 0 1 pintype=pas } P 0 1400 300 1400 1 0 0 { T 100 1450 5 8 1 1 0 0 1 pinnumber=13 T 100 1450 5 8 0 0 0 0 1 pinseq=13 T 100 1450 5 8 0 1 0 0 1 pinlabel=13 T 100 1450 5 8 0 1 0 0 1 pintype=pas } P 1100 1800 1400 1800 1 0 1 { T 1200 1850 5 8 1 1 0 0 1 pinnumber=12 T 1200 1850 5 8 0 0 0 0 1 pinseq=12 T 1200 1850 5 8 0 1 0 0 1 pinlabel=12 T 1200 1850 5 8 0 1 0 0 1 pintype=pas } P 0 1800 300 1800 1 0 0 { T 100 1850 5 8 1 1 0 0 1 pinnumber=11 T 100 1850 5 8 0 0 0 0 1 pinseq=11 T 100 1850 5 8 0 1 0 0 1 pinlabel=11 T 100 1850 5 8 0 1 0 0 1 pintype=pas } B 300 0 800 4000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 300 2000 1100 2000 3 0 0 0 -1 -1 L 700 4000 700 0 3 0 0 0 -1 -1 T 0 0 8 10 0 1 0 0 1 pins=20 T 0 0 8 10 0 1 0 0 1 class=IO geda-gaf-1.8.2/symbols/connector/mains-plug-2.sym0000664000175000017500000000162612204104272016526 00000000000000v 20031231 1 P 1200 800 1400 800 1 0 1 { T 1300 850 5 8 1 1 0 0 1 pinnumber=1 T 1300 850 5 8 0 0 0 0 1 pinseq=1 T 1300 850 5 8 0 1 0 0 1 pinlabel=1 T 1300 850 5 8 0 1 0 0 1 pintype=pas } P 1200 200 1400 200 1 0 1 { T 1300 250 5 8 1 1 0 0 1 pinnumber=2 T 1300 250 5 8 0 0 0 0 1 pinseq=2 T 1300 250 5 8 0 1 0 0 1 pinlabel=2 T 1300 250 5 8 0 1 0 0 1 pintype=pas } A 550 500 500 270 180 3 0 0 0 -1 -1 L 550 1000 400 1000 3 0 0 0 -1 -1 L 550 0 400 0 3 0 0 0 -1 -1 L 400 1000 400 0 3 0 0 0 -1 -1 L 400 750 0 750 3 0 0 0 -1 -1 L 400 250 0 250 3 0 0 0 -1 -1 L 1200 800 950 800 3 0 0 0 -1 -1 L 1200 200 950 200 3 0 0 0 -1 -1 T 400 1100 8 10 1 1 0 0 1 refdes=CONN? P 1200 500 1400 500 1 0 1 { T 1300 550 5 8 1 1 0 0 1 pinnumber=3 T 1300 550 5 8 0 0 0 0 1 pinseq=3 T 1300 550 5 8 0 1 0 0 1 pinlabel=3 T 1300 550 5 8 0 1 0 0 1 pintype=pas } L 1050 500 1200 500 3 0 0 0 -1 -1 T 400 1300 8 10 0 0 0 0 1 device=MAINS_CONNECTOR geda-gaf-1.8.2/symbols/connector/connector6-1.sym0000664000175000017500000000256612204104272016535 00000000000000v 20031231 1 P 1400 1400 1700 1400 1 0 1 { T 250 1350 5 8 1 1 0 0 1 pinnumber=2 T 250 1350 5 8 0 0 0 0 1 pinseq=2 T 250 1350 5 8 0 1 0 0 1 pinlabel=2 T 250 1350 5 8 0 1 0 0 1 pintype=pas } P 1400 800 1700 800 1 0 1 { T 250 750 5 8 1 1 0 0 1 pinnumber=4 T 250 750 5 8 0 0 0 0 1 pinseq=4 T 250 750 5 8 0 1 0 0 1 pinlabel=4 T 250 750 5 8 0 1 0 0 1 pintype=pas } P 1400 200 1700 200 1 0 1 { T 250 150 5 8 1 1 0 0 1 pinnumber=6 T 250 150 5 8 0 0 0 0 1 pinseq=6 T 250 150 5 8 0 1 0 0 1 pinlabel=6 T 250 150 5 8 0 1 0 0 1 pintype=pas } P 1400 1700 1700 1700 1 0 1 { T 250 1650 5 8 1 1 0 0 1 pinnumber=1 T 250 1650 5 8 0 0 0 0 1 pinseq=1 T 250 1650 5 8 0 1 0 0 1 pinlabel=1 T 250 1650 5 8 0 1 0 0 1 pintype=pas } P 1400 1100 1700 1100 1 0 1 { T 250 1050 5 8 1 1 0 0 1 pinnumber=3 T 250 1050 5 8 0 0 0 0 1 pinseq=3 T 250 1050 5 8 0 1 0 0 1 pinlabel=3 T 250 1050 5 8 0 1 0 0 1 pintype=pas } P 1400 500 1700 500 1 0 1 { T 250 450 5 8 1 1 0 0 1 pinnumber=5 T 250 450 5 8 0 0 0 0 1 pinseq=5 T 250 450 5 8 0 1 0 0 1 pinlabel=5 T 250 450 5 8 0 1 0 0 1 pintype=pas } L 1400 1700 500 1700 3 0 0 0 -1 -1 L 1400 1400 500 1400 3 0 0 0 -1 -1 L 1400 1100 500 1100 3 0 0 0 -1 -1 L 1400 800 500 800 3 0 0 0 -1 -1 L 1400 500 500 500 3 0 0 0 -1 -1 L 1400 200 500 200 3 0 0 0 -1 -1 B 0 0 500 1900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1800 1800 5 10 0 0 0 0 1 device=CONNECTOR_6 T 100 2000 8 10 1 1 0 0 1 refdes=CONN? geda-gaf-1.8.2/symbols/connector/rj45-1.sym0000664000175000017500000000442012204104272015230 00000000000000v 20031231 1 B 0 0 600 1800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 900 1600 600 1600 1 0 0 { T 700 1650 5 8 1 1 0 0 1 pinnumber=1 T 700 1650 5 8 0 1 0 0 1 pinseq=1 T 700 1650 5 8 0 1 0 6 1 pinlabel=I0 T 700 1650 5 8 0 1 0 8 1 pintype=in } V 400 1600 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 450 1600 600 1600 3 0 0 0 -1 -1 P 900 1400 600 1400 1 0 0 { T 700 1450 5 8 1 1 0 0 1 pinnumber=2 T 700 1450 5 8 0 1 0 0 1 pinseq=2 T 700 1450 5 8 0 1 0 6 1 pinlabel=I1 T 700 1450 5 8 0 1 0 8 1 pintype=in } V 200 1400 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 250 1400 600 1400 3 0 0 0 -1 -1 P 900 1200 600 1200 1 0 0 { T 700 1250 5 8 1 1 0 0 1 pinnumber=3 T 700 1250 5 8 0 1 0 0 1 pinseq=3 T 700 1250 5 8 0 1 0 6 1 pinlabel=I2 T 700 1250 5 8 0 1 0 8 1 pintype=in } V 400 1200 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 450 1200 600 1200 3 0 0 0 -1 -1 P 900 1000 600 1000 1 0 0 { T 700 1050 5 8 1 1 0 0 1 pinnumber=4 T 700 1050 5 8 0 1 0 0 1 pinseq=4 T 700 1050 5 8 0 1 0 6 1 pinlabel=I3 T 700 1050 5 8 0 1 0 8 1 pintype=in } V 200 1000 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 250 1000 600 1000 3 0 0 0 -1 -1 P 900 800 600 800 1 0 0 { T 700 850 5 8 1 1 0 0 1 pinnumber=5 T 700 850 5 8 0 1 0 0 1 pinseq=5 T 700 850 5 8 0 1 0 6 1 pinlabel=I4 T 700 850 5 8 0 1 0 8 1 pintype=in } V 400 800 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 450 800 600 800 3 0 0 0 -1 -1 P 900 600 600 600 1 0 0 { T 700 650 5 8 1 1 0 0 1 pinnumber=6 T 700 650 5 8 0 1 0 0 1 pinseq=6 T 700 650 5 8 0 1 0 6 1 pinlabel=I5 T 700 650 5 8 0 1 0 8 1 pintype=in } V 200 600 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 250 600 600 600 3 0 0 0 -1 -1 P 900 400 600 400 1 0 0 { T 700 450 5 8 1 1 0 0 1 pinnumber=7 T 700 450 5 8 0 1 0 0 1 pinseq=7 T 700 450 5 8 0 1 0 6 1 pinlabel=I6 T 700 450 5 8 0 1 0 8 1 pintype=in } V 400 400 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 450 400 600 400 3 0 0 0 -1 -1 P 900 200 600 200 1 0 0 { T 700 250 5 8 1 1 0 0 1 pinnumber=8 T 700 250 5 8 0 1 0 0 1 pinseq=8 T 700 250 5 8 0 1 0 6 1 pinlabel=I7 T 700 250 5 8 0 1 0 8 1 pintype=in } V 200 200 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 250 200 600 200 3 0 0 0 -1 -1 T 0 2900 5 10 0 0 0 0 1 device=RJ45 T 450 2250 9 10 1 0 180 0 1 RJ45 T 0 2700 5 10 0 0 0 0 1 footprint=RJ45 T 0 2500 5 10 0 0 0 0 1 description=RJ45 Connector T 0 2300 5 10 0 0 0 0 1 documentation=TBD T 0 1900 8 10 1 1 0 0 1 refdes=CONN? T 0 3100 5 10 0 0 0 0 1 numslots=0 geda-gaf-1.8.2/symbols/connector/connector36-2.sym0000664000175000017500000002026012204104272016610 00000000000000v 20041228 1 T 800 15000 8 10 1 1 0 6 1 refdes=CONN? T 400 14950 5 10 0 0 0 0 1 device=CONNECTOR_36 T 400 15150 5 10 0 0 0 0 1 footprint=SIP36N T 400 15350 5 10 0 0 0 0 1 author=Leon Kos T 400 15550 5 10 0 0 0 0 1 description=generic connector T 400 15750 5 10 0 0 0 0 1 numslots=0 P 100 14500 300 14500 1 0 0 { T 300 14550 5 8 0 1 0 6 1 pinnumber=1 T 300 14450 5 8 0 1 0 8 1 pinseq=1 T 450 14500 9 8 1 1 0 0 1 pinlabel=1 T 450 14500 5 8 0 1 0 2 1 pintype=pas } V 350 14500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 14100 300 14100 1 0 0 { T 300 14150 5 8 0 1 0 6 1 pinnumber=2 T 300 14050 5 8 0 1 0 8 1 pinseq=2 T 450 14100 9 8 1 1 0 0 1 pinlabel=2 T 450 14100 5 8 0 1 0 2 1 pintype=pas } V 350 14100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 13700 300 13700 1 0 0 { T 300 13750 5 8 0 1 0 6 1 pinnumber=3 T 300 13650 5 8 0 1 0 8 1 pinseq=3 T 450 13700 9 8 1 1 0 0 1 pinlabel=3 T 450 13700 5 8 0 1 0 2 1 pintype=pas } V 350 13700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 13300 300 13300 1 0 0 { T 300 13350 5 8 0 1 0 6 1 pinnumber=4 T 300 13250 5 8 0 1 0 8 1 pinseq=4 T 450 13300 9 8 1 1 0 0 1 pinlabel=4 T 450 13300 5 8 0 1 0 2 1 pintype=pas } V 350 13300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 12900 300 12900 1 0 0 { T 300 12950 5 8 0 1 0 6 1 pinnumber=5 T 300 12850 5 8 0 1 0 8 1 pinseq=5 T 450 12900 9 8 1 1 0 0 1 pinlabel=5 T 450 12900 5 8 0 1 0 2 1 pintype=pas } V 350 12900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 12500 300 12500 1 0 0 { T 300 12550 5 8 0 1 0 6 1 pinnumber=6 T 300 12450 5 8 0 1 0 8 1 pinseq=6 T 450 12500 9 8 1 1 0 0 1 pinlabel=6 T 450 12500 5 8 0 1 0 2 1 pintype=pas } V 350 12500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 12100 300 12100 1 0 0 { T 300 12150 5 8 0 1 0 6 1 pinnumber=7 T 300 12050 5 8 0 1 0 8 1 pinseq=7 T 450 12100 9 8 1 1 0 0 1 pinlabel=7 T 450 12100 5 8 0 1 0 2 1 pintype=pas } V 350 12100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 11700 300 11700 1 0 0 { T 300 11750 5 8 0 1 0 6 1 pinnumber=8 T 300 11650 5 8 0 1 0 8 1 pinseq=8 T 450 11700 9 8 1 1 0 0 1 pinlabel=8 T 450 11700 5 8 0 1 0 2 1 pintype=pas } V 350 11700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 11300 300 11300 1 0 0 { T 300 11350 5 8 0 1 0 6 1 pinnumber=9 T 300 11250 5 8 0 1 0 8 1 pinseq=9 T 450 11300 9 8 1 1 0 0 1 pinlabel=9 T 450 11300 5 8 0 1 0 2 1 pintype=pas } V 350 11300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 10900 300 10900 1 0 0 { T 300 10950 5 8 0 1 0 6 1 pinnumber=10 T 300 10850 5 8 0 1 0 8 1 pinseq=10 T 450 10900 9 8 1 1 0 0 1 pinlabel=10 T 450 10900 5 8 0 1 0 2 1 pintype=pas } V 350 10900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 10500 300 10500 1 0 0 { T 300 10550 5 8 0 1 0 6 1 pinnumber=11 T 300 10450 5 8 0 1 0 8 1 pinseq=11 T 450 10500 9 8 1 1 0 0 1 pinlabel=11 T 450 10500 5 8 0 1 0 2 1 pintype=pas } V 350 10500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 10100 300 10100 1 0 0 { T 300 10150 5 8 0 1 0 6 1 pinnumber=12 T 300 10050 5 8 0 1 0 8 1 pinseq=12 T 450 10100 9 8 1 1 0 0 1 pinlabel=12 T 450 10100 5 8 0 1 0 2 1 pintype=pas } V 350 10100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 9700 300 9700 1 0 0 { T 300 9750 5 8 0 1 0 6 1 pinnumber=13 T 300 9650 5 8 0 1 0 8 1 pinseq=13 T 450 9700 9 8 1 1 0 0 1 pinlabel=13 T 450 9700 5 8 0 1 0 2 1 pintype=pas } V 350 9700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 9300 300 9300 1 0 0 { T 300 9350 5 8 0 1 0 6 1 pinnumber=14 T 300 9250 5 8 0 1 0 8 1 pinseq=14 T 450 9300 9 8 1 1 0 0 1 pinlabel=14 T 450 9300 5 8 0 1 0 2 1 pintype=pas } V 350 9300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8900 300 8900 1 0 0 { T 300 8950 5 8 0 1 0 6 1 pinnumber=15 T 300 8850 5 8 0 1 0 8 1 pinseq=15 T 450 8900 9 8 1 1 0 0 1 pinlabel=15 T 450 8900 5 8 0 1 0 2 1 pintype=pas } V 350 8900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8500 300 8500 1 0 0 { T 300 8550 5 8 0 1 0 6 1 pinnumber=16 T 300 8450 5 8 0 1 0 8 1 pinseq=16 T 450 8500 9 8 1 1 0 0 1 pinlabel=16 T 450 8500 5 8 0 1 0 2 1 pintype=pas } V 350 8500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8100 300 8100 1 0 0 { T 300 8150 5 8 0 1 0 6 1 pinnumber=17 T 300 8050 5 8 0 1 0 8 1 pinseq=17 T 450 8100 9 8 1 1 0 0 1 pinlabel=17 T 450 8100 5 8 0 1 0 2 1 pintype=pas } V 350 8100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 7700 300 7700 1 0 0 { T 300 7750 5 8 0 1 0 6 1 pinnumber=18 T 300 7650 5 8 0 1 0 8 1 pinseq=18 T 450 7700 9 8 1 1 0 0 1 pinlabel=18 T 450 7700 5 8 0 1 0 2 1 pintype=pas } V 350 7700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 7300 300 7300 1 0 0 { T 300 7350 5 8 0 1 0 6 1 pinnumber=19 T 300 7250 5 8 0 1 0 8 1 pinseq=19 T 450 7300 9 8 1 1 0 0 1 pinlabel=19 T 450 7300 5 8 0 1 0 2 1 pintype=pas } V 350 7300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6900 300 6900 1 0 0 { T 300 6950 5 8 0 1 0 6 1 pinnumber=20 T 300 6850 5 8 0 1 0 8 1 pinseq=20 T 450 6900 9 8 1 1 0 0 1 pinlabel=20 T 450 6900 5 8 0 1 0 2 1 pintype=pas } V 350 6900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6500 300 6500 1 0 0 { T 300 6550 5 8 0 1 0 6 1 pinnumber=21 T 300 6450 5 8 0 1 0 8 1 pinseq=21 T 450 6500 9 8 1 1 0 0 1 pinlabel=21 T 450 6500 5 8 0 1 0 2 1 pintype=pas } V 350 6500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6100 300 6100 1 0 0 { T 300 6150 5 8 0 1 0 6 1 pinnumber=22 T 300 6050 5 8 0 1 0 8 1 pinseq=22 T 450 6100 9 8 1 1 0 0 1 pinlabel=22 T 450 6100 5 8 0 1 0 2 1 pintype=pas } V 350 6100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 5700 300 5700 1 0 0 { T 300 5750 5 8 0 1 0 6 1 pinnumber=23 T 300 5650 5 8 0 1 0 8 1 pinseq=23 T 450 5700 9 8 1 1 0 0 1 pinlabel=23 T 450 5700 5 8 0 1 0 2 1 pintype=pas } V 350 5700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 5300 300 5300 1 0 0 { T 300 5350 5 8 0 1 0 6 1 pinnumber=24 T 300 5250 5 8 0 1 0 8 1 pinseq=24 T 450 5300 9 8 1 1 0 0 1 pinlabel=24 T 450 5300 5 8 0 1 0 2 1 pintype=pas } V 350 5300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4900 300 4900 1 0 0 { T 300 4950 5 8 0 1 0 6 1 pinnumber=25 T 300 4850 5 8 0 1 0 8 1 pinseq=25 T 450 4900 9 8 1 1 0 0 1 pinlabel=25 T 450 4900 5 8 0 1 0 2 1 pintype=pas } V 350 4900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4500 300 4500 1 0 0 { T 300 4550 5 8 0 1 0 6 1 pinnumber=26 T 300 4450 5 8 0 1 0 8 1 pinseq=26 T 450 4500 9 8 1 1 0 0 1 pinlabel=26 T 450 4500 5 8 0 1 0 2 1 pintype=pas } V 350 4500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4100 300 4100 1 0 0 { T 300 4150 5 8 0 1 0 6 1 pinnumber=27 T 300 4050 5 8 0 1 0 8 1 pinseq=27 T 450 4100 9 8 1 1 0 0 1 pinlabel=27 T 450 4100 5 8 0 1 0 2 1 pintype=pas } V 350 4100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 3700 300 3700 1 0 0 { T 300 3750 5 8 0 1 0 6 1 pinnumber=28 T 300 3650 5 8 0 1 0 8 1 pinseq=28 T 450 3700 9 8 1 1 0 0 1 pinlabel=28 T 450 3700 5 8 0 1 0 2 1 pintype=pas } V 350 3700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 3300 300 3300 1 0 0 { T 300 3350 5 8 0 1 0 6 1 pinnumber=29 T 300 3250 5 8 0 1 0 8 1 pinseq=29 T 450 3300 9 8 1 1 0 0 1 pinlabel=29 T 450 3300 5 8 0 1 0 2 1 pintype=pas } V 350 3300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2900 300 2900 1 0 0 { T 300 2950 5 8 0 1 0 6 1 pinnumber=30 T 300 2850 5 8 0 1 0 8 1 pinseq=30 T 450 2900 9 8 1 1 0 0 1 pinlabel=30 T 450 2900 5 8 0 1 0 2 1 pintype=pas } V 350 2900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2500 300 2500 1 0 0 { T 300 2550 5 8 0 1 0 6 1 pinnumber=31 T 300 2450 5 8 0 1 0 8 1 pinseq=31 T 450 2500 9 8 1 1 0 0 1 pinlabel=31 T 450 2500 5 8 0 1 0 2 1 pintype=pas } V 350 2500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2100 300 2100 1 0 0 { T 300 2150 5 8 0 1 0 6 1 pinnumber=32 T 300 2050 5 8 0 1 0 8 1 pinseq=32 T 450 2100 9 8 1 1 0 0 1 pinlabel=32 T 450 2100 5 8 0 1 0 2 1 pintype=pas } V 350 2100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1700 300 1700 1 0 0 { T 300 1750 5 8 0 1 0 6 1 pinnumber=33 T 300 1650 5 8 0 1 0 8 1 pinseq=33 T 450 1700 9 8 1 1 0 0 1 pinlabel=33 T 450 1700 5 8 0 1 0 2 1 pintype=pas } V 350 1700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1300 300 1300 1 0 0 { T 300 1350 5 8 0 1 0 6 1 pinnumber=34 T 300 1250 5 8 0 1 0 8 1 pinseq=34 T 450 1300 9 8 1 1 0 0 1 pinlabel=34 T 450 1300 5 8 0 1 0 2 1 pintype=pas } V 350 1300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 900 300 900 1 0 0 { T 300 950 5 8 0 1 0 6 1 pinnumber=35 T 300 850 5 8 0 1 0 8 1 pinseq=35 T 450 900 9 8 1 1 0 0 1 pinlabel=35 T 450 900 5 8 0 1 0 2 1 pintype=pas } V 350 900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 500 300 500 1 0 0 { T 300 550 5 8 0 1 0 6 1 pinnumber=36 T 300 450 5 8 0 1 0 8 1 pinseq=36 T 450 500 9 8 1 1 0 0 1 pinlabel=36 T 450 500 5 8 0 1 0 2 1 pintype=pas } V 350 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 400 100 400 14800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/connector/header10-1.sym0000664000175000017500000000401712204104272016037 00000000000000v 20031231 1 P 0 1400 300 1400 1 0 0 { T 100 1450 5 8 1 1 0 0 1 pinnumber=2 T 100 1450 5 8 0 0 0 0 1 pinseq=2 T 100 1450 5 8 0 1 0 0 1 pinlabel=2 T 100 1450 5 8 0 1 0 0 1 pintype=pas } P 0 1000 300 1000 1 0 0 { T 100 1050 5 8 1 1 0 0 1 pinnumber=3 T 100 1050 5 8 0 0 0 0 1 pinseq=3 T 100 1050 5 8 0 1 0 0 1 pinlabel=3 T 100 1050 5 8 0 1 0 0 1 pintype=pas } P 0 600 300 600 1 0 0 { T 100 650 5 8 1 1 0 0 1 pinnumber=4 T 100 650 5 8 0 0 0 0 1 pinseq=4 T 100 650 5 8 0 1 0 0 1 pinlabel=4 T 100 650 5 8 0 1 0 0 1 pintype=pas } P 0 1800 300 1800 1 0 0 { T 100 1850 5 8 1 1 0 0 1 pinnumber=1 T 100 1850 5 8 0 0 0 0 1 pinseq=1 T 100 1850 5 8 0 1 0 0 1 pinlabel=1 T 100 1850 5 8 0 1 0 0 1 pintype=pas } P 0 200 300 200 1 0 0 { T 100 250 5 8 1 1 0 0 1 pinnumber=5 T 100 250 5 8 0 0 0 0 1 pinseq=5 T 100 250 5 8 0 1 0 0 1 pinlabel=5 T 100 250 5 8 0 1 0 0 1 pintype=pas } L 300 1200 1100 1200 3 0 0 0 -1 -1 L 300 800 1100 800 3 0 0 0 -1 -1 L 300 1600 1100 1600 3 0 0 0 -1 -1 L 700 2000 700 0 3 0 0 0 -1 -1 L 300 400 1100 400 3 0 0 0 -1 -1 B 300 0 800 2000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 0 2000 5 10 0 1 0 0 1 device=HEADER10 P 1100 1800 1400 1800 1 0 1 { T 1250 1850 5 8 1 1 0 0 1 pinnumber=10 T 1250 1850 5 8 0 0 0 0 1 pinseq=10 T 1250 1850 5 8 0 1 0 0 1 pinlabel=10 T 1250 1850 5 8 0 1 0 0 1 pintype=pas } P 1100 1400 1400 1400 1 0 1 { T 1250 1450 5 8 1 1 0 0 1 pinnumber=9 T 1250 1450 5 8 0 0 0 0 1 pinseq=9 T 1250 1450 5 8 0 1 0 0 1 pinlabel=9 T 1250 1450 5 8 0 1 0 0 1 pintype=pas } P 1100 1000 1400 1000 1 0 1 { T 1250 1050 5 8 1 1 0 0 1 pinnumber=8 T 1250 1050 5 8 0 0 0 0 1 pinseq=8 T 1250 1050 5 8 0 1 0 0 1 pinlabel=8 T 1250 1050 5 8 0 1 0 0 1 pintype=pas } P 1100 600 1400 600 1 0 1 { T 1250 650 5 8 1 1 0 0 1 pinnumber=7 T 1250 650 5 8 0 0 0 0 1 pinseq=7 T 1250 650 5 8 0 1 0 0 1 pinlabel=7 T 1250 650 5 8 0 1 0 0 1 pintype=pas } P 1100 200 1400 200 1 0 1 { T 1250 250 5 8 1 1 0 0 1 pinnumber=6 T 1250 250 5 8 0 0 0 0 1 pinseq=6 T 1250 250 5 8 0 1 0 0 1 pinlabel=6 T 1250 250 5 8 0 1 0 0 1 pintype=pas } T 600 2100 8 10 1 1 0 0 1 refdes=J? geda-gaf-1.8.2/symbols/connector/connector35-2.sym0000664000175000017500000001771312204104272016620 00000000000000v 20041228 1 T 800 14600 8 10 1 1 0 6 1 refdes=CONN? T 400 14550 5 10 0 0 0 0 1 device=CONNECTOR_35 T 400 14750 5 10 0 0 0 0 1 footprint=SIP35N T 400 14950 5 10 0 0 0 0 1 author=Leon Kos T 400 15150 5 10 0 0 0 0 1 description=generic connector T 400 15350 5 10 0 0 0 0 1 numslots=0 P 100 14100 300 14100 1 0 0 { T 300 14150 5 8 0 1 0 6 1 pinnumber=1 T 300 14050 5 8 0 1 0 8 1 pinseq=1 T 450 14100 9 8 1 1 0 0 1 pinlabel=1 T 450 14100 5 8 0 1 0 2 1 pintype=pas } V 350 14100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 13700 300 13700 1 0 0 { T 300 13750 5 8 0 1 0 6 1 pinnumber=2 T 300 13650 5 8 0 1 0 8 1 pinseq=2 T 450 13700 9 8 1 1 0 0 1 pinlabel=2 T 450 13700 5 8 0 1 0 2 1 pintype=pas } V 350 13700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 13300 300 13300 1 0 0 { T 300 13350 5 8 0 1 0 6 1 pinnumber=3 T 300 13250 5 8 0 1 0 8 1 pinseq=3 T 450 13300 9 8 1 1 0 0 1 pinlabel=3 T 450 13300 5 8 0 1 0 2 1 pintype=pas } V 350 13300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 12900 300 12900 1 0 0 { T 300 12950 5 8 0 1 0 6 1 pinnumber=4 T 300 12850 5 8 0 1 0 8 1 pinseq=4 T 450 12900 9 8 1 1 0 0 1 pinlabel=4 T 450 12900 5 8 0 1 0 2 1 pintype=pas } V 350 12900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 12500 300 12500 1 0 0 { T 300 12550 5 8 0 1 0 6 1 pinnumber=5 T 300 12450 5 8 0 1 0 8 1 pinseq=5 T 450 12500 9 8 1 1 0 0 1 pinlabel=5 T 450 12500 5 8 0 1 0 2 1 pintype=pas } V 350 12500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 12100 300 12100 1 0 0 { T 300 12150 5 8 0 1 0 6 1 pinnumber=6 T 300 12050 5 8 0 1 0 8 1 pinseq=6 T 450 12100 9 8 1 1 0 0 1 pinlabel=6 T 450 12100 5 8 0 1 0 2 1 pintype=pas } V 350 12100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 11700 300 11700 1 0 0 { T 300 11750 5 8 0 1 0 6 1 pinnumber=7 T 300 11650 5 8 0 1 0 8 1 pinseq=7 T 450 11700 9 8 1 1 0 0 1 pinlabel=7 T 450 11700 5 8 0 1 0 2 1 pintype=pas } V 350 11700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 11300 300 11300 1 0 0 { T 300 11350 5 8 0 1 0 6 1 pinnumber=8 T 300 11250 5 8 0 1 0 8 1 pinseq=8 T 450 11300 9 8 1 1 0 0 1 pinlabel=8 T 450 11300 5 8 0 1 0 2 1 pintype=pas } V 350 11300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 10900 300 10900 1 0 0 { T 300 10950 5 8 0 1 0 6 1 pinnumber=9 T 300 10850 5 8 0 1 0 8 1 pinseq=9 T 450 10900 9 8 1 1 0 0 1 pinlabel=9 T 450 10900 5 8 0 1 0 2 1 pintype=pas } V 350 10900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 10500 300 10500 1 0 0 { T 300 10550 5 8 0 1 0 6 1 pinnumber=10 T 300 10450 5 8 0 1 0 8 1 pinseq=10 T 450 10500 9 8 1 1 0 0 1 pinlabel=10 T 450 10500 5 8 0 1 0 2 1 pintype=pas } V 350 10500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 10100 300 10100 1 0 0 { T 300 10150 5 8 0 1 0 6 1 pinnumber=11 T 300 10050 5 8 0 1 0 8 1 pinseq=11 T 450 10100 9 8 1 1 0 0 1 pinlabel=11 T 450 10100 5 8 0 1 0 2 1 pintype=pas } V 350 10100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 9700 300 9700 1 0 0 { T 300 9750 5 8 0 1 0 6 1 pinnumber=12 T 300 9650 5 8 0 1 0 8 1 pinseq=12 T 450 9700 9 8 1 1 0 0 1 pinlabel=12 T 450 9700 5 8 0 1 0 2 1 pintype=pas } V 350 9700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 9300 300 9300 1 0 0 { T 300 9350 5 8 0 1 0 6 1 pinnumber=13 T 300 9250 5 8 0 1 0 8 1 pinseq=13 T 450 9300 9 8 1 1 0 0 1 pinlabel=13 T 450 9300 5 8 0 1 0 2 1 pintype=pas } V 350 9300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8900 300 8900 1 0 0 { T 300 8950 5 8 0 1 0 6 1 pinnumber=14 T 300 8850 5 8 0 1 0 8 1 pinseq=14 T 450 8900 9 8 1 1 0 0 1 pinlabel=14 T 450 8900 5 8 0 1 0 2 1 pintype=pas } V 350 8900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8500 300 8500 1 0 0 { T 300 8550 5 8 0 1 0 6 1 pinnumber=15 T 300 8450 5 8 0 1 0 8 1 pinseq=15 T 450 8500 9 8 1 1 0 0 1 pinlabel=15 T 450 8500 5 8 0 1 0 2 1 pintype=pas } V 350 8500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8100 300 8100 1 0 0 { T 300 8150 5 8 0 1 0 6 1 pinnumber=16 T 300 8050 5 8 0 1 0 8 1 pinseq=16 T 450 8100 9 8 1 1 0 0 1 pinlabel=16 T 450 8100 5 8 0 1 0 2 1 pintype=pas } V 350 8100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 7700 300 7700 1 0 0 { T 300 7750 5 8 0 1 0 6 1 pinnumber=17 T 300 7650 5 8 0 1 0 8 1 pinseq=17 T 450 7700 9 8 1 1 0 0 1 pinlabel=17 T 450 7700 5 8 0 1 0 2 1 pintype=pas } V 350 7700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 7300 300 7300 1 0 0 { T 300 7350 5 8 0 1 0 6 1 pinnumber=18 T 300 7250 5 8 0 1 0 8 1 pinseq=18 T 450 7300 9 8 1 1 0 0 1 pinlabel=18 T 450 7300 5 8 0 1 0 2 1 pintype=pas } V 350 7300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6900 300 6900 1 0 0 { T 300 6950 5 8 0 1 0 6 1 pinnumber=19 T 300 6850 5 8 0 1 0 8 1 pinseq=19 T 450 6900 9 8 1 1 0 0 1 pinlabel=19 T 450 6900 5 8 0 1 0 2 1 pintype=pas } V 350 6900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6500 300 6500 1 0 0 { T 300 6550 5 8 0 1 0 6 1 pinnumber=20 T 300 6450 5 8 0 1 0 8 1 pinseq=20 T 450 6500 9 8 1 1 0 0 1 pinlabel=20 T 450 6500 5 8 0 1 0 2 1 pintype=pas } V 350 6500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6100 300 6100 1 0 0 { T 300 6150 5 8 0 1 0 6 1 pinnumber=21 T 300 6050 5 8 0 1 0 8 1 pinseq=21 T 450 6100 9 8 1 1 0 0 1 pinlabel=21 T 450 6100 5 8 0 1 0 2 1 pintype=pas } V 350 6100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 5700 300 5700 1 0 0 { T 300 5750 5 8 0 1 0 6 1 pinnumber=22 T 300 5650 5 8 0 1 0 8 1 pinseq=22 T 450 5700 9 8 1 1 0 0 1 pinlabel=22 T 450 5700 5 8 0 1 0 2 1 pintype=pas } V 350 5700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 5300 300 5300 1 0 0 { T 300 5350 5 8 0 1 0 6 1 pinnumber=23 T 300 5250 5 8 0 1 0 8 1 pinseq=23 T 450 5300 9 8 1 1 0 0 1 pinlabel=23 T 450 5300 5 8 0 1 0 2 1 pintype=pas } V 350 5300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4900 300 4900 1 0 0 { T 300 4950 5 8 0 1 0 6 1 pinnumber=24 T 300 4850 5 8 0 1 0 8 1 pinseq=24 T 450 4900 9 8 1 1 0 0 1 pinlabel=24 T 450 4900 5 8 0 1 0 2 1 pintype=pas } V 350 4900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4500 300 4500 1 0 0 { T 300 4550 5 8 0 1 0 6 1 pinnumber=25 T 300 4450 5 8 0 1 0 8 1 pinseq=25 T 450 4500 9 8 1 1 0 0 1 pinlabel=25 T 450 4500 5 8 0 1 0 2 1 pintype=pas } V 350 4500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4100 300 4100 1 0 0 { T 300 4150 5 8 0 1 0 6 1 pinnumber=26 T 300 4050 5 8 0 1 0 8 1 pinseq=26 T 450 4100 9 8 1 1 0 0 1 pinlabel=26 T 450 4100 5 8 0 1 0 2 1 pintype=pas } V 350 4100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 3700 300 3700 1 0 0 { T 300 3750 5 8 0 1 0 6 1 pinnumber=27 T 300 3650 5 8 0 1 0 8 1 pinseq=27 T 450 3700 9 8 1 1 0 0 1 pinlabel=27 T 450 3700 5 8 0 1 0 2 1 pintype=pas } V 350 3700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 3300 300 3300 1 0 0 { T 300 3350 5 8 0 1 0 6 1 pinnumber=28 T 300 3250 5 8 0 1 0 8 1 pinseq=28 T 450 3300 9 8 1 1 0 0 1 pinlabel=28 T 450 3300 5 8 0 1 0 2 1 pintype=pas } V 350 3300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2900 300 2900 1 0 0 { T 300 2950 5 8 0 1 0 6 1 pinnumber=29 T 300 2850 5 8 0 1 0 8 1 pinseq=29 T 450 2900 9 8 1 1 0 0 1 pinlabel=29 T 450 2900 5 8 0 1 0 2 1 pintype=pas } V 350 2900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2500 300 2500 1 0 0 { T 300 2550 5 8 0 1 0 6 1 pinnumber=30 T 300 2450 5 8 0 1 0 8 1 pinseq=30 T 450 2500 9 8 1 1 0 0 1 pinlabel=30 T 450 2500 5 8 0 1 0 2 1 pintype=pas } V 350 2500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2100 300 2100 1 0 0 { T 300 2150 5 8 0 1 0 6 1 pinnumber=31 T 300 2050 5 8 0 1 0 8 1 pinseq=31 T 450 2100 9 8 1 1 0 0 1 pinlabel=31 T 450 2100 5 8 0 1 0 2 1 pintype=pas } V 350 2100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1700 300 1700 1 0 0 { T 300 1750 5 8 0 1 0 6 1 pinnumber=32 T 300 1650 5 8 0 1 0 8 1 pinseq=32 T 450 1700 9 8 1 1 0 0 1 pinlabel=32 T 450 1700 5 8 0 1 0 2 1 pintype=pas } V 350 1700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1300 300 1300 1 0 0 { T 300 1350 5 8 0 1 0 6 1 pinnumber=33 T 300 1250 5 8 0 1 0 8 1 pinseq=33 T 450 1300 9 8 1 1 0 0 1 pinlabel=33 T 450 1300 5 8 0 1 0 2 1 pintype=pas } V 350 1300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 900 300 900 1 0 0 { T 300 950 5 8 0 1 0 6 1 pinnumber=34 T 300 850 5 8 0 1 0 8 1 pinseq=34 T 450 900 9 8 1 1 0 0 1 pinlabel=34 T 450 900 5 8 0 1 0 2 1 pintype=pas } V 350 900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 500 300 500 1 0 0 { T 300 550 5 8 0 1 0 6 1 pinnumber=35 T 300 450 5 8 0 1 0 8 1 pinseq=35 T 450 500 9 8 1 1 0 0 1 pinlabel=35 T 450 500 5 8 0 1 0 2 1 pintype=pas } V 350 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 400 100 400 14400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/connector/connector3-1.sym0000664000175000017500000000136412204104272016525 00000000000000v 20031231 1 P 1400 500 1700 500 1 0 1 { T 250 450 5 8 1 1 0 0 1 pinnumber=2 T 250 450 5 8 0 0 0 0 1 pinseq=2 T 250 450 5 8 0 1 0 0 1 pinlabel=2 T 250 450 5 8 0 1 0 0 1 pintype=pas } P 1400 800 1700 800 1 0 1 { T 250 750 5 8 1 1 0 0 1 pinnumber=1 T 250 750 5 8 0 0 0 0 1 pinseq=1 T 250 750 5 8 0 1 0 0 1 pinlabel=1 T 250 750 5 8 0 1 0 0 1 pintype=pas } P 1400 200 1700 200 1 0 1 { T 250 150 5 8 1 1 0 0 1 pinnumber=3 T 250 150 5 8 0 0 0 0 1 pinseq=3 T 250 150 5 8 0 1 0 0 1 pinlabel=3 T 250 150 5 8 0 1 0 0 1 pintype=pas } L 1400 800 500 800 3 0 0 0 -1 -1 L 1400 500 500 500 3 0 0 0 -1 -1 L 1400 200 500 200 3 0 0 0 -1 -1 B 0 0 500 1000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1800 900 5 10 0 0 0 0 1 device=CONNECTOR_3 T 0 1100 8 10 1 1 0 0 1 refdes=CONN? geda-gaf-1.8.2/symbols/connector/connector7-2.sym0000664000175000017500000000344312204104272016532 00000000000000v 20041228 1 T 700 3300 8 10 1 1 0 6 1 refdes=CONN? T 300 3250 5 10 0 0 0 0 1 device=CONNECTOR_7 T 300 3450 5 10 0 0 0 0 1 footprint=SIP7N T 300 3650 5 10 0 0 0 0 1 author=Leon Kos T 300 3850 5 10 0 0 0 0 1 description=generic connector T 300 4050 5 10 0 0 0 0 1 numslots=0 P 0 2800 200 2800 1 0 0 { T 200 2850 5 8 0 1 0 6 1 pinnumber=1 T 200 2750 5 8 0 1 0 8 1 pinseq=1 T 350 2800 9 8 1 1 0 0 1 pinlabel=1 T 350 2800 5 8 0 1 0 2 1 pintype=pas } V 250 2800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2400 200 2400 1 0 0 { T 200 2450 5 8 0 1 0 6 1 pinnumber=2 T 200 2350 5 8 0 1 0 8 1 pinseq=2 T 350 2400 9 8 1 1 0 0 1 pinlabel=2 T 350 2400 5 8 0 1 0 2 1 pintype=pas } V 250 2400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2000 200 2000 1 0 0 { T 200 2050 5 8 0 1 0 6 1 pinnumber=3 T 200 1950 5 8 0 1 0 8 1 pinseq=3 T 350 2000 9 8 1 1 0 0 1 pinlabel=3 T 350 2000 5 8 0 1 0 2 1 pintype=pas } V 250 2000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1600 200 1600 1 0 0 { T 200 1650 5 8 0 1 0 6 1 pinnumber=4 T 200 1550 5 8 0 1 0 8 1 pinseq=4 T 350 1600 9 8 1 1 0 0 1 pinlabel=4 T 350 1600 5 8 0 1 0 2 1 pintype=pas } V 250 1600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1200 200 1200 1 0 0 { T 200 1250 5 8 0 1 0 6 1 pinnumber=5 T 200 1150 5 8 0 1 0 8 1 pinseq=5 T 350 1200 9 8 1 1 0 0 1 pinlabel=5 T 350 1200 5 8 0 1 0 2 1 pintype=pas } V 250 1200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 800 200 800 1 0 0 { T 200 850 5 8 0 1 0 6 1 pinnumber=6 T 200 750 5 8 0 1 0 8 1 pinseq=6 T 350 800 9 8 1 1 0 0 1 pinlabel=6 T 350 800 5 8 0 1 0 2 1 pintype=pas } V 250 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 400 200 400 1 0 0 { T 200 450 5 8 0 1 0 6 1 pinnumber=7 T 200 350 5 8 0 1 0 8 1 pinseq=7 T 350 400 9 8 1 1 0 0 1 pinlabel=7 T 350 400 5 8 0 1 0 2 1 pintype=pas } V 250 400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 300 0 400 3200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/connector/DIN41612C56-2.sym0000664000175000017500000002441112204104272015735 00000000000000v 20031231 1 P 500 12300 200 12300 1 0 1 { T 200 12350 5 8 1 1 0 0 1 pinnumber=A2 T 600 12350 9 8 0 0 0 0 1 pinlabel=A2 T 600 12350 5 8 0 0 0 0 1 pinseq=1 T 600 12350 5 8 0 0 0 0 1 pintype=pas } P 500 11500 200 11500 1 0 1 { T 200 11550 5 8 1 1 0 0 1 pinnumber=A4 T 600 11550 9 8 0 0 0 0 1 pinlabel=A4 T 600 11550 5 8 0 0 0 0 1 pinseq=2 T 600 11550 5 8 0 0 0 0 1 pintype=pas } P 500 10700 200 10700 1 0 1 { T 200 10750 5 8 1 1 0 0 1 pinnumber=A6 T 600 10750 9 8 0 0 0 0 1 pinlabel=A6 T 600 10750 5 8 0 0 0 0 1 pinseq=3 T 600 11150 5 8 0 0 0 0 1 pintype=pas } P 500 9900 200 9900 1 0 1 { T 200 9950 5 8 1 1 0 0 1 pinnumber=A8 T 600 9950 9 8 0 0 0 0 1 pinlabel=A8 T 600 9950 5 8 0 0 0 0 1 pinseq=4 T 600 9950 5 8 0 0 0 0 1 pintype=pas } P 500 9100 200 9100 1 0 1 { T 100 9150 5 8 1 1 0 0 1 pinnumber=A10 T 600 9150 9 8 0 0 0 0 1 pinlabel=A10 T 600 9150 5 8 0 0 0 0 1 pinseq=5 T 600 9150 5 8 0 0 0 0 1 pintype=pas } P 200 8300 500 8300 1 0 0 { T 100 8350 5 8 1 1 0 0 1 pinnumber=A12 T 600 8350 9 8 0 0 0 0 1 pinlabel=A12 T 600 8350 5 8 0 0 0 0 1 pinseq=6 T 600 8350 5 8 0 0 0 0 1 pintype=pas } P 200 7500 500 7500 1 0 0 { T 100 7550 5 8 1 1 0 0 1 pinnumber=A14 T 600 7550 9 8 0 0 0 0 1 pinlabel=A14 T 600 7550 5 8 0 0 0 0 1 pinseq=7 T 600 7550 5 8 0 0 0 0 1 pintype=pas } P 200 6700 500 6700 1 0 0 { T 100 6750 5 8 1 1 0 0 1 pinnumber=A16 T 600 6750 9 8 0 0 0 0 1 pinlabel=A16 T 600 6750 5 8 0 0 0 0 1 pinseq=8 T 600 6750 5 8 0 0 0 0 1 pintype=pas } P 200 5900 500 5900 1 0 0 { T 100 5950 5 8 1 1 0 0 1 pinnumber=A18 T 600 5950 9 8 0 0 0 0 1 pinlabel=A18 T 600 5950 5 8 0 0 0 0 1 pinseq=9 T 600 5950 5 8 0 0 0 0 1 pintype=pas } P 200 5100 500 5100 1 0 0 { T 100 5150 5 8 1 1 0 0 1 pinnumber=A20 T 600 5150 9 8 0 0 0 0 1 pinlabel=A20 T 600 5150 5 8 0 0 0 0 1 pinseq=10 T 600 5150 5 8 0 0 0 0 1 pintype=pas } P 200 4300 500 4300 1 0 0 { T 100 4350 5 8 1 1 0 0 1 pinnumber=A22 T 600 4350 9 8 0 0 0 0 1 pinlabel=A22 T 600 4350 5 8 0 0 0 0 1 pinseq=11 T 600 4350 5 8 0 0 0 0 1 pintype=pas } P 200 3500 500 3500 1 0 0 { T 100 3550 5 8 1 1 0 0 1 pinnumber=A24 T 600 3550 9 8 0 0 0 0 1 pinlabel=A24 T 600 3550 5 8 0 0 0 0 1 pinseq=12 T 600 3550 5 8 0 0 0 0 1 pintype=pas } P 200 2700 500 2700 1 0 0 { T 100 2750 5 8 1 1 0 0 1 pinnumber=A26 T 600 2750 9 8 0 0 0 0 1 pinlabel=A26 T 600 2750 5 8 0 0 0 0 1 pinseq=13 T 600 2750 5 8 0 0 0 0 1 pintype=pas } P 200 1900 500 1900 1 0 0 { T 100 1950 5 8 1 1 0 0 1 pinnumber=A28 T 600 1950 9 8 0 0 0 0 1 pinlabel=A28 T 600 1950 5 8 0 0 0 0 1 pinseq=14 T 600 1950 5 8 0 0 0 0 1 pintype=pas } P 200 1100 500 1100 1 0 0 { T 100 1150 5 8 1 1 0 0 1 pinnumber=A30 T 600 1150 9 8 0 0 0 0 1 pinlabel=A30 T 600 1150 5 8 0 0 0 0 1 pinseq=15 T 600 1150 5 8 0 0 0 0 1 pintype=pas } P 200 300 500 300 1 0 0 { T 100 350 5 8 1 1 0 0 1 pinnumber=A32 T 600 350 9 8 0 0 0 0 1 pinlabel=A32 T 600 350 5 8 0 0 0 0 1 pinseq=16 T 600 350 5 8 0 0 0 0 1 pintype=pas } P 3500 12300 3800 12300 1 0 1 { T 3600 12350 5 8 1 1 0 0 1 pinnumber=B2 T 3200 12350 9 8 0 0 0 0 1 pinlabel=B2 T 3200 12350 5 8 0 0 0 0 1 pinseq=17 T 3200 12350 5 8 0 0 0 0 1 pintype=pas } P 3500 12100 3800 12100 1 0 1 { T 3600 12150 5 8 1 1 0 0 1 pinnumber=C2 T 3200 12150 9 8 0 0 0 0 1 pinlabel=C2 T 3200 12150 5 8 0 0 0 0 1 pinseq=18 T 3200 12150 5 8 0 0 0 0 1 pintype=pas } P 3500 11900 3800 11900 1 0 1 { T 3600 11950 5 8 1 1 0 0 1 pinnumber=B3 T 3200 11950 9 8 0 0 0 0 1 pinlabel=B3 T 3200 11950 5 8 0 0 0 0 1 pinseq=19 T 3200 11950 5 8 0 0 0 0 1 pintype=pas } P 3500 11500 3800 11500 1 0 1 { T 3600 11550 5 8 1 1 0 0 1 pinnumber=B4 T 3200 11550 9 8 0 0 0 0 1 pinlabel=B4 T 3200 11550 5 8 0 0 0 0 1 pinseq=20 T 3200 11550 5 8 0 0 0 0 1 pintype=pas } P 3500 11300 3800 11300 1 0 1 { T 3600 11350 5 8 1 1 0 0 1 pinnumber=C4 T 3200 11350 9 8 0 0 0 0 1 pinlabel=C4 T 3200 11350 5 8 0 0 0 0 1 pinseq=21 T 3200 11350 5 8 0 0 0 0 1 pintype=pas } P 3500 10700 3800 10700 1 0 1 { T 3600 10750 5 8 1 1 0 0 1 pinnumber=B6 T 3200 10750 9 8 0 0 0 0 1 pinlabel=B6 T 3200 10750 5 8 0 0 0 0 1 pinseq=22 T 3200 10750 5 8 0 0 0 0 1 pintype=pas } P 3500 10500 3800 10500 1 0 1 { T 3600 10550 5 8 1 1 0 0 1 pinnumber=C6 T 3200 10550 9 8 0 0 0 0 1 pinlabel=C6 T 3200 10550 5 8 0 0 0 0 1 pinseq=23 T 3200 10550 5 8 0 0 0 0 1 pintype=pas } P 3800 10300 3500 10300 1 0 0 { T 3600 10350 5 8 1 1 0 0 1 pinnumber=B7 T 3200 10350 9 8 0 0 0 0 1 pinlabel=B7 T 3200 10350 5 8 0 0 0 0 1 pinseq=24 T 3200 10350 5 8 0 0 0 0 1 pintype=pas } P 3800 9900 3500 9900 1 0 0 { T 3600 9950 5 8 1 1 0 0 1 pinnumber=B8 T 3200 9950 9 8 0 0 0 0 1 pinlabel=B8 T 3200 9950 5 8 0 0 0 0 1 pinseq=25 T 3200 9950 5 8 0 0 0 0 1 pintype=pas } P 3500 9700 3800 9700 1 0 1 { T 3600 9750 5 8 1 1 0 0 1 pinnumber=C8 T 3200 9750 9 8 0 0 0 0 1 pinlabel=C8 T 3200 9750 5 8 0 0 0 0 1 pinseq=26 T 3200 9750 5 8 0 0 0 0 1 pintype=pas } P 3800 9100 3500 9100 1 0 0 { T 3600 9150 5 8 1 1 0 0 1 pinnumber=B10 T 3100 9150 9 8 0 0 0 0 1 pinlabel=B10 T 3100 9150 5 8 0 0 0 0 1 pinseq=27 T 3100 9150 5 8 0 0 0 0 1 pintype=pas } P 3800 8900 3500 8900 1 0 0 { T 3600 8950 5 8 1 1 0 0 1 pinnumber=C10 T 3100 8950 9 8 0 0 0 0 1 pinlabel=C10 T 3100 8950 5 8 0 0 0 0 1 pinseq=28 T 3100 8950 5 8 0 0 0 0 1 pintype=pas } P 3500 8700 3800 8700 1 0 1 { T 3600 8750 5 8 1 1 0 0 1 pinnumber=B11 T 3100 8750 9 8 0 0 0 0 1 pinlabel=B11 T 3100 8750 5 8 0 0 0 0 1 pinseq=29 T 3100 8750 5 8 0 0 0 0 1 pintype=pas } P 3500 8300 3800 8300 1 0 1 { T 3600 8350 5 8 1 1 0 0 1 pinnumber=B12 T 3100 8350 9 8 0 0 0 0 1 pinlabel=B12 T 3100 8350 5 8 0 0 0 0 1 pinseq=30 T 3100 8350 5 8 0 0 0 0 1 pintype=pas } P 3800 8100 3500 8100 1 0 0 { T 3600 8150 5 8 1 1 0 0 1 pinnumber=C12 T 3100 8150 9 8 0 0 0 0 1 pinlabel=C12 T 3100 8150 5 8 0 0 0 0 1 pinseq=31 T 3100 8150 5 8 0 0 0 0 1 pintype=pas } P 3500 7500 3800 7500 1 0 1 { T 3600 7550 5 8 1 1 0 0 1 pinnumber=B14 T 3100 7550 9 8 0 0 0 0 1 pinlabel=B14 T 3100 7550 5 8 0 0 0 0 1 pinseq=32 T 3100 7550 5 8 0 0 0 0 1 pintype=pas } P 3800 7300 3500 7300 1 0 0 { T 3600 7350 5 8 1 1 0 0 1 pinnumber=C14 T 3100 7350 9 8 0 0 0 0 1 pinlabel=C14 T 3100 7350 5 8 0 0 0 0 1 pinseq=33 T 3100 7350 5 8 0 0 0 0 1 pintype=pas } P 3500 7100 3800 7100 1 0 1 { T 3600 7150 5 8 1 1 0 0 1 pinnumber=B15 T 3100 7150 9 8 0 0 0 0 1 pinlabel=B15 T 3100 7150 5 8 0 0 0 0 1 pinseq=34 T 3100 7150 5 8 0 0 0 0 1 pintype=pas } P 3500 6700 3800 6700 1 0 1 { T 3600 6750 5 8 1 1 0 0 1 pinnumber=B16 T 3100 6750 9 8 0 0 0 0 1 pinlabel=B16 T 3100 6750 5 8 0 0 0 0 1 pinseq=35 T 3100 6750 5 8 0 0 0 0 1 pintype=pas } P 3800 6500 3500 6500 1 0 0 { T 3600 6550 5 8 1 1 0 0 1 pinnumber=C16 T 3100 6550 9 8 0 0 0 0 1 pinlabel=C16 T 3100 6550 5 8 0 0 0 0 1 pinseq=36 T 3100 6550 5 8 0 0 0 0 1 pintype=pas } P 3500 5900 3800 5900 1 0 1 { T 3600 5950 5 8 1 1 0 0 1 pinnumber=B18 T 3100 5950 9 8 0 0 0 0 1 pinlabel=B18 T 3100 5950 5 8 0 0 0 0 1 pinseq=37 T 3100 5950 5 8 0 0 0 0 1 pintype=pas } P 3800 5700 3500 5700 1 0 0 { T 3600 5750 5 8 1 1 0 0 1 pinnumber=C18 T 3100 5750 9 8 0 0 0 0 1 pinlabel=C18 T 3100 5750 5 8 0 0 0 0 1 pinseq=38 T 3100 5750 5 8 0 0 0 0 1 pintype=pas } P 3500 5500 3800 5500 1 0 1 { T 3600 5550 5 8 1 1 0 0 1 pinnumber=B19 T 3100 5550 9 8 0 0 0 0 1 pinlabel=B19 T 3100 5550 5 8 0 0 0 0 1 pinseq=39 T 3100 5550 5 8 0 0 0 0 1 pintype=pas } P 3500 5100 3800 5100 1 0 1 { T 3600 5150 5 8 1 1 0 0 1 pinnumber=B20 T 3100 5150 9 8 0 0 0 0 1 pinlabel=B20 T 3100 5150 5 8 0 0 0 0 1 pinseq=40 T 3100 5150 5 8 0 0 0 0 1 pintype=pas } P 3800 4900 3500 4900 1 0 0 { T 3600 4950 5 8 1 1 0 0 1 pinnumber=C20 T 3100 4950 9 8 0 0 0 0 1 pinlabel=C20 T 3100 4950 5 8 0 0 0 0 1 pinseq=41 T 3100 4950 5 8 0 0 0 0 1 pintype=pas } P 3500 4300 3800 4300 1 0 1 { T 3600 4350 5 8 1 1 0 0 1 pinnumber=B22 T 3100 4350 9 8 0 0 0 0 1 pinlabel=B22 T 3100 4350 5 8 0 0 0 0 1 pinseq=42 T 3100 4350 5 8 0 0 0 0 1 pintype=pas } P 3800 4100 3500 4100 1 0 0 { T 3600 4150 5 8 1 1 0 0 1 pinnumber=C22 T 3100 4150 9 8 0 0 0 0 1 pinlabel=C22 T 3100 4150 5 8 0 0 0 0 1 pinseq=43 T 3100 4150 5 8 0 0 0 0 1 pintype=pas } P 3500 3900 3800 3900 1 0 1 { T 3600 3950 5 8 1 1 0 0 1 pinnumber=B23 T 3100 3950 9 8 0 0 0 0 1 pinlabel=B23 T 3100 3950 5 8 0 0 0 0 1 pinseq=44 T 3100 3950 5 8 0 0 0 0 1 pintype=pas } P 3500 3500 3800 3500 1 0 1 { T 3600 3550 5 8 1 1 0 0 1 pinnumber=B24 T 3100 3550 9 8 0 0 0 0 1 pinlabel=B24 T 3100 3550 5 8 0 0 0 0 1 pinseq=45 T 3100 3550 5 8 0 0 0 0 1 pintype=pas } P 3800 3300 3500 3300 1 0 0 { T 3600 3350 5 8 1 1 0 0 1 pinnumber=C24 T 3100 3350 9 8 0 0 0 0 1 pinlabel=C24 T 3100 3350 5 8 0 0 0 0 1 pinseq=46 T 3100 3350 5 8 0 0 0 0 1 pintype=pas } P 3500 2700 3800 2700 1 0 1 { T 3600 2750 5 8 1 1 0 0 1 pinnumber=B26 T 3100 2750 9 8 0 0 0 0 1 pinlabel=B26 T 3100 2750 5 8 0 0 0 0 1 pinseq=47 T 3100 2750 5 8 0 0 0 0 1 pintype=pas } P 3800 2500 3500 2500 1 0 0 { T 3600 2550 5 8 1 1 0 0 1 pinnumber=C26 T 3100 2550 9 8 0 0 0 0 1 pinlabel=C26 T 3100 2550 5 8 0 0 0 0 1 pinseq=48 T 3100 2550 5 8 0 0 0 0 1 pintype=pas } P 3500 2300 3800 2300 1 0 1 { T 3600 2350 5 8 1 1 0 0 1 pinnumber=B27 T 3100 2350 9 8 0 0 0 0 1 pinlabel=27 T 3100 2350 5 8 0 0 0 0 1 pinseq=49 T 3100 2350 5 8 0 0 0 0 1 pintype=pas } P 3800 1900 3500 1900 1 0 0 { T 3600 1950 5 8 1 1 0 0 1 pinnumber=B28 T 3100 1950 9 8 0 0 0 0 1 pinlabel=B28 T 3100 1950 5 8 0 0 0 0 1 pinseq=50 T 3100 1950 5 8 0 0 0 0 1 pintype=pas } P 3500 1700 3800 1700 1 0 1 { T 3600 1750 5 8 1 1 0 0 1 pinnumber=C28 T 3100 1750 9 8 0 0 0 0 1 pinlabel=C28 T 3100 1750 5 8 0 0 0 0 1 pinseq=51 T 3100 1750 5 8 0 0 0 0 1 pintype=pas } P 3800 1100 3500 1100 1 0 0 { T 3600 1150 5 8 1 1 0 0 1 pinnumber=B30 T 3100 1150 9 8 0 0 0 0 1 pinlabel=B30 T 3100 1150 5 8 0 0 0 0 1 pinseq=52 T 3100 1150 5 8 0 0 0 0 1 pintype=pas } P 3500 900 3800 900 1 0 1 { T 3600 950 5 8 1 1 0 0 1 pinnumber=C30 T 3100 950 9 8 0 0 0 0 1 pinlabel=C30 T 3100 950 5 8 0 0 0 0 1 pinseq=53 T 3100 950 5 8 0 0 0 0 1 pintype=pas } P 3800 700 3500 700 1 0 0 { T 3600 750 5 8 1 1 0 0 1 pinnumber=B31 T 3100 750 9 8 0 0 0 0 1 pinlabel=B31 T 3100 750 5 8 0 0 0 0 1 pinseq=54 T 3100 750 5 8 0 0 0 0 1 pintype=pas } P 3800 300 3500 300 1 0 0 { T 3600 350 5 8 1 1 0 0 1 pinnumber=B32 T 3100 350 9 8 0 0 0 0 1 pinlabel=B32 T 3100 350 5 8 0 0 0 0 1 pinseq=55 T 3100 350 5 8 0 0 0 0 1 pintype=pas } P 3500 100 3800 100 1 0 1 { T 3600 150 5 8 1 1 0 0 1 pinnumber=C32 T 3100 150 9 8 0 0 0 0 1 pinlabel=C32 T 3100 150 5 8 0 0 0 0 1 pinseq=56 T 3100 150 5 8 0 0 0 0 1 pintype=pas } B 500 0 3000 12900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2700 13100 5 10 0 0 0 0 1 device=DIN41612C56 T 2700 13100 5 10 0 0 0 0 1 numslots=0 T 600 13000 9 10 1 1 0 0 1 description=DIN 41612C-56 T 3500 13000 8 10 1 1 0 6 1 refdes=CONN? geda-gaf-1.8.2/symbols/connector/connector37-2.sym0000664000175000017500000002062512204104272016616 00000000000000v 20041228 1 T 800 15400 8 10 1 1 0 6 1 refdes=CONN? T 400 15350 5 10 0 0 0 0 1 device=CONNECTOR_37 T 400 15550 5 10 0 0 0 0 1 footprint=SIP37N T 400 15750 5 10 0 0 0 0 1 author=Leon Kos T 400 15950 5 10 0 0 0 0 1 description=generic connector T 400 16150 5 10 0 0 0 0 1 numslots=0 P 100 14900 300 14900 1 0 0 { T 300 14950 5 8 0 1 0 6 1 pinnumber=1 T 300 14850 5 8 0 1 0 8 1 pinseq=1 T 450 14900 9 8 1 1 0 0 1 pinlabel=1 T 450 14900 5 8 0 1 0 2 1 pintype=pas } V 350 14900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 14500 300 14500 1 0 0 { T 300 14550 5 8 0 1 0 6 1 pinnumber=2 T 300 14450 5 8 0 1 0 8 1 pinseq=2 T 450 14500 9 8 1 1 0 0 1 pinlabel=2 T 450 14500 5 8 0 1 0 2 1 pintype=pas } V 350 14500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 14100 300 14100 1 0 0 { T 300 14150 5 8 0 1 0 6 1 pinnumber=3 T 300 14050 5 8 0 1 0 8 1 pinseq=3 T 450 14100 9 8 1 1 0 0 1 pinlabel=3 T 450 14100 5 8 0 1 0 2 1 pintype=pas } V 350 14100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 13700 300 13700 1 0 0 { T 300 13750 5 8 0 1 0 6 1 pinnumber=4 T 300 13650 5 8 0 1 0 8 1 pinseq=4 T 450 13700 9 8 1 1 0 0 1 pinlabel=4 T 450 13700 5 8 0 1 0 2 1 pintype=pas } V 350 13700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 13300 300 13300 1 0 0 { T 300 13350 5 8 0 1 0 6 1 pinnumber=5 T 300 13250 5 8 0 1 0 8 1 pinseq=5 T 450 13300 9 8 1 1 0 0 1 pinlabel=5 T 450 13300 5 8 0 1 0 2 1 pintype=pas } V 350 13300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 12900 300 12900 1 0 0 { T 300 12950 5 8 0 1 0 6 1 pinnumber=6 T 300 12850 5 8 0 1 0 8 1 pinseq=6 T 450 12900 9 8 1 1 0 0 1 pinlabel=6 T 450 12900 5 8 0 1 0 2 1 pintype=pas } V 350 12900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 12500 300 12500 1 0 0 { T 300 12550 5 8 0 1 0 6 1 pinnumber=7 T 300 12450 5 8 0 1 0 8 1 pinseq=7 T 450 12500 9 8 1 1 0 0 1 pinlabel=7 T 450 12500 5 8 0 1 0 2 1 pintype=pas } V 350 12500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 12100 300 12100 1 0 0 { T 300 12150 5 8 0 1 0 6 1 pinnumber=8 T 300 12050 5 8 0 1 0 8 1 pinseq=8 T 450 12100 9 8 1 1 0 0 1 pinlabel=8 T 450 12100 5 8 0 1 0 2 1 pintype=pas } V 350 12100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 11700 300 11700 1 0 0 { T 300 11750 5 8 0 1 0 6 1 pinnumber=9 T 300 11650 5 8 0 1 0 8 1 pinseq=9 T 450 11700 9 8 1 1 0 0 1 pinlabel=9 T 450 11700 5 8 0 1 0 2 1 pintype=pas } V 350 11700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 11300 300 11300 1 0 0 { T 300 11350 5 8 0 1 0 6 1 pinnumber=10 T 300 11250 5 8 0 1 0 8 1 pinseq=10 T 450 11300 9 8 1 1 0 0 1 pinlabel=10 T 450 11300 5 8 0 1 0 2 1 pintype=pas } V 350 11300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 10900 300 10900 1 0 0 { T 300 10950 5 8 0 1 0 6 1 pinnumber=11 T 300 10850 5 8 0 1 0 8 1 pinseq=11 T 450 10900 9 8 1 1 0 0 1 pinlabel=11 T 450 10900 5 8 0 1 0 2 1 pintype=pas } V 350 10900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 10500 300 10500 1 0 0 { T 300 10550 5 8 0 1 0 6 1 pinnumber=12 T 300 10450 5 8 0 1 0 8 1 pinseq=12 T 450 10500 9 8 1 1 0 0 1 pinlabel=12 T 450 10500 5 8 0 1 0 2 1 pintype=pas } V 350 10500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 10100 300 10100 1 0 0 { T 300 10150 5 8 0 1 0 6 1 pinnumber=13 T 300 10050 5 8 0 1 0 8 1 pinseq=13 T 450 10100 9 8 1 1 0 0 1 pinlabel=13 T 450 10100 5 8 0 1 0 2 1 pintype=pas } V 350 10100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 9700 300 9700 1 0 0 { T 300 9750 5 8 0 1 0 6 1 pinnumber=14 T 300 9650 5 8 0 1 0 8 1 pinseq=14 T 450 9700 9 8 1 1 0 0 1 pinlabel=14 T 450 9700 5 8 0 1 0 2 1 pintype=pas } V 350 9700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 9300 300 9300 1 0 0 { T 300 9350 5 8 0 1 0 6 1 pinnumber=15 T 300 9250 5 8 0 1 0 8 1 pinseq=15 T 450 9300 9 8 1 1 0 0 1 pinlabel=15 T 450 9300 5 8 0 1 0 2 1 pintype=pas } V 350 9300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8900 300 8900 1 0 0 { T 300 8950 5 8 0 1 0 6 1 pinnumber=16 T 300 8850 5 8 0 1 0 8 1 pinseq=16 T 450 8900 9 8 1 1 0 0 1 pinlabel=16 T 450 8900 5 8 0 1 0 2 1 pintype=pas } V 350 8900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8500 300 8500 1 0 0 { T 300 8550 5 8 0 1 0 6 1 pinnumber=17 T 300 8450 5 8 0 1 0 8 1 pinseq=17 T 450 8500 9 8 1 1 0 0 1 pinlabel=17 T 450 8500 5 8 0 1 0 2 1 pintype=pas } V 350 8500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8100 300 8100 1 0 0 { T 300 8150 5 8 0 1 0 6 1 pinnumber=18 T 300 8050 5 8 0 1 0 8 1 pinseq=18 T 450 8100 9 8 1 1 0 0 1 pinlabel=18 T 450 8100 5 8 0 1 0 2 1 pintype=pas } V 350 8100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 7700 300 7700 1 0 0 { T 300 7750 5 8 0 1 0 6 1 pinnumber=19 T 300 7650 5 8 0 1 0 8 1 pinseq=19 T 450 7700 9 8 1 1 0 0 1 pinlabel=19 T 450 7700 5 8 0 1 0 2 1 pintype=pas } V 350 7700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 7300 300 7300 1 0 0 { T 300 7350 5 8 0 1 0 6 1 pinnumber=20 T 300 7250 5 8 0 1 0 8 1 pinseq=20 T 450 7300 9 8 1 1 0 0 1 pinlabel=20 T 450 7300 5 8 0 1 0 2 1 pintype=pas } V 350 7300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6900 300 6900 1 0 0 { T 300 6950 5 8 0 1 0 6 1 pinnumber=21 T 300 6850 5 8 0 1 0 8 1 pinseq=21 T 450 6900 9 8 1 1 0 0 1 pinlabel=21 T 450 6900 5 8 0 1 0 2 1 pintype=pas } V 350 6900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6500 300 6500 1 0 0 { T 300 6550 5 8 0 1 0 6 1 pinnumber=22 T 300 6450 5 8 0 1 0 8 1 pinseq=22 T 450 6500 9 8 1 1 0 0 1 pinlabel=22 T 450 6500 5 8 0 1 0 2 1 pintype=pas } V 350 6500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6100 300 6100 1 0 0 { T 300 6150 5 8 0 1 0 6 1 pinnumber=23 T 300 6050 5 8 0 1 0 8 1 pinseq=23 T 450 6100 9 8 1 1 0 0 1 pinlabel=23 T 450 6100 5 8 0 1 0 2 1 pintype=pas } V 350 6100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 5700 300 5700 1 0 0 { T 300 5750 5 8 0 1 0 6 1 pinnumber=24 T 300 5650 5 8 0 1 0 8 1 pinseq=24 T 450 5700 9 8 1 1 0 0 1 pinlabel=24 T 450 5700 5 8 0 1 0 2 1 pintype=pas } V 350 5700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 5300 300 5300 1 0 0 { T 300 5350 5 8 0 1 0 6 1 pinnumber=25 T 300 5250 5 8 0 1 0 8 1 pinseq=25 T 450 5300 9 8 1 1 0 0 1 pinlabel=25 T 450 5300 5 8 0 1 0 2 1 pintype=pas } V 350 5300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4900 300 4900 1 0 0 { T 300 4950 5 8 0 1 0 6 1 pinnumber=26 T 300 4850 5 8 0 1 0 8 1 pinseq=26 T 450 4900 9 8 1 1 0 0 1 pinlabel=26 T 450 4900 5 8 0 1 0 2 1 pintype=pas } V 350 4900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4500 300 4500 1 0 0 { T 300 4550 5 8 0 1 0 6 1 pinnumber=27 T 300 4450 5 8 0 1 0 8 1 pinseq=27 T 450 4500 9 8 1 1 0 0 1 pinlabel=27 T 450 4500 5 8 0 1 0 2 1 pintype=pas } V 350 4500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4100 300 4100 1 0 0 { T 300 4150 5 8 0 1 0 6 1 pinnumber=28 T 300 4050 5 8 0 1 0 8 1 pinseq=28 T 450 4100 9 8 1 1 0 0 1 pinlabel=28 T 450 4100 5 8 0 1 0 2 1 pintype=pas } V 350 4100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 3700 300 3700 1 0 0 { T 300 3750 5 8 0 1 0 6 1 pinnumber=29 T 300 3650 5 8 0 1 0 8 1 pinseq=29 T 450 3700 9 8 1 1 0 0 1 pinlabel=29 T 450 3700 5 8 0 1 0 2 1 pintype=pas } V 350 3700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 3300 300 3300 1 0 0 { T 300 3350 5 8 0 1 0 6 1 pinnumber=30 T 300 3250 5 8 0 1 0 8 1 pinseq=30 T 450 3300 9 8 1 1 0 0 1 pinlabel=30 T 450 3300 5 8 0 1 0 2 1 pintype=pas } V 350 3300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2900 300 2900 1 0 0 { T 300 2950 5 8 0 1 0 6 1 pinnumber=31 T 300 2850 5 8 0 1 0 8 1 pinseq=31 T 450 2900 9 8 1 1 0 0 1 pinlabel=31 T 450 2900 5 8 0 1 0 2 1 pintype=pas } V 350 2900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2500 300 2500 1 0 0 { T 300 2550 5 8 0 1 0 6 1 pinnumber=32 T 300 2450 5 8 0 1 0 8 1 pinseq=32 T 450 2500 9 8 1 1 0 0 1 pinlabel=32 T 450 2500 5 8 0 1 0 2 1 pintype=pas } V 350 2500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2100 300 2100 1 0 0 { T 300 2150 5 8 0 1 0 6 1 pinnumber=33 T 300 2050 5 8 0 1 0 8 1 pinseq=33 T 450 2100 9 8 1 1 0 0 1 pinlabel=33 T 450 2100 5 8 0 1 0 2 1 pintype=pas } V 350 2100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1700 300 1700 1 0 0 { T 300 1750 5 8 0 1 0 6 1 pinnumber=34 T 300 1650 5 8 0 1 0 8 1 pinseq=34 T 450 1700 9 8 1 1 0 0 1 pinlabel=34 T 450 1700 5 8 0 1 0 2 1 pintype=pas } V 350 1700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1300 300 1300 1 0 0 { T 300 1350 5 8 0 1 0 6 1 pinnumber=35 T 300 1250 5 8 0 1 0 8 1 pinseq=35 T 450 1300 9 8 1 1 0 0 1 pinlabel=35 T 450 1300 5 8 0 1 0 2 1 pintype=pas } V 350 1300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 900 300 900 1 0 0 { T 300 950 5 8 0 1 0 6 1 pinnumber=36 T 300 850 5 8 0 1 0 8 1 pinseq=36 T 450 900 9 8 1 1 0 0 1 pinlabel=36 T 450 900 5 8 0 1 0 2 1 pintype=pas } V 350 900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 500 300 500 1 0 0 { T 300 550 5 8 0 1 0 6 1 pinnumber=37 T 300 450 5 8 0 1 0 8 1 pinseq=37 T 450 500 9 8 1 1 0 0 1 pinlabel=37 T 450 500 5 8 0 1 0 2 1 pintype=pas } V 350 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 400 100 400 15200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/connector/connector15-2.sym0000664000175000017500000000700112204104272016603 00000000000000v 20041228 1 T 700 6600 8 10 1 1 0 6 1 refdes=CONN? T 300 6550 5 10 0 0 0 0 1 device=CONNECTOR_15 T 300 6750 5 10 0 0 0 0 1 footprint=SIP15N T 300 6950 5 10 0 0 0 0 1 author=Leon Kos T 300 7150 5 10 0 0 0 0 1 description=generic connector T 300 7350 5 10 0 0 0 0 1 numslots=0 P 0 6100 200 6100 1 0 0 { T 200 6150 5 8 0 1 0 6 1 pinnumber=1 T 200 6050 5 8 0 1 0 8 1 pinseq=1 T 350 6100 9 8 1 1 0 0 1 pinlabel=1 T 350 6100 5 8 0 1 0 2 1 pintype=pas } V 250 6100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 5700 200 5700 1 0 0 { T 200 5750 5 8 0 1 0 6 1 pinnumber=2 T 200 5650 5 8 0 1 0 8 1 pinseq=2 T 350 5700 9 8 1 1 0 0 1 pinlabel=2 T 350 5700 5 8 0 1 0 2 1 pintype=pas } V 250 5700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 5300 200 5300 1 0 0 { T 200 5350 5 8 0 1 0 6 1 pinnumber=3 T 200 5250 5 8 0 1 0 8 1 pinseq=3 T 350 5300 9 8 1 1 0 0 1 pinlabel=3 T 350 5300 5 8 0 1 0 2 1 pintype=pas } V 250 5300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 4900 200 4900 1 0 0 { T 200 4950 5 8 0 1 0 6 1 pinnumber=4 T 200 4850 5 8 0 1 0 8 1 pinseq=4 T 350 4900 9 8 1 1 0 0 1 pinlabel=4 T 350 4900 5 8 0 1 0 2 1 pintype=pas } V 250 4900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 4500 200 4500 1 0 0 { T 200 4550 5 8 0 1 0 6 1 pinnumber=5 T 200 4450 5 8 0 1 0 8 1 pinseq=5 T 350 4500 9 8 1 1 0 0 1 pinlabel=5 T 350 4500 5 8 0 1 0 2 1 pintype=pas } V 250 4500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 4100 200 4100 1 0 0 { T 200 4150 5 8 0 1 0 6 1 pinnumber=6 T 200 4050 5 8 0 1 0 8 1 pinseq=6 T 350 4100 9 8 1 1 0 0 1 pinlabel=6 T 350 4100 5 8 0 1 0 2 1 pintype=pas } V 250 4100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3700 200 3700 1 0 0 { T 200 3750 5 8 0 1 0 6 1 pinnumber=7 T 200 3650 5 8 0 1 0 8 1 pinseq=7 T 350 3700 9 8 1 1 0 0 1 pinlabel=7 T 350 3700 5 8 0 1 0 2 1 pintype=pas } V 250 3700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3300 200 3300 1 0 0 { T 200 3350 5 8 0 1 0 6 1 pinnumber=8 T 200 3250 5 8 0 1 0 8 1 pinseq=8 T 350 3300 9 8 1 1 0 0 1 pinlabel=8 T 350 3300 5 8 0 1 0 2 1 pintype=pas } V 250 3300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2900 200 2900 1 0 0 { T 200 2950 5 8 0 1 0 6 1 pinnumber=9 T 200 2850 5 8 0 1 0 8 1 pinseq=9 T 350 2900 9 8 1 1 0 0 1 pinlabel=9 T 350 2900 5 8 0 1 0 2 1 pintype=pas } V 250 2900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2500 200 2500 1 0 0 { T 200 2550 5 8 0 1 0 6 1 pinnumber=10 T 200 2450 5 8 0 1 0 8 1 pinseq=10 T 350 2500 9 8 1 1 0 0 1 pinlabel=10 T 350 2500 5 8 0 1 0 2 1 pintype=pas } V 250 2500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2100 200 2100 1 0 0 { T 200 2150 5 8 0 1 0 6 1 pinnumber=11 T 200 2050 5 8 0 1 0 8 1 pinseq=11 T 350 2100 9 8 1 1 0 0 1 pinlabel=11 T 350 2100 5 8 0 1 0 2 1 pintype=pas } V 250 2100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1700 200 1700 1 0 0 { T 200 1750 5 8 0 1 0 6 1 pinnumber=12 T 200 1650 5 8 0 1 0 8 1 pinseq=12 T 350 1700 9 8 1 1 0 0 1 pinlabel=12 T 350 1700 5 8 0 1 0 2 1 pintype=pas } V 250 1700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1300 200 1300 1 0 0 { T 200 1350 5 8 0 1 0 6 1 pinnumber=13 T 200 1250 5 8 0 1 0 8 1 pinseq=13 T 350 1300 9 8 1 1 0 0 1 pinlabel=13 T 350 1300 5 8 0 1 0 2 1 pintype=pas } V 250 1300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 900 200 900 1 0 0 { T 200 950 5 8 0 1 0 6 1 pinnumber=14 T 200 850 5 8 0 1 0 8 1 pinseq=14 T 350 900 9 8 1 1 0 0 1 pinlabel=14 T 350 900 5 8 0 1 0 2 1 pintype=pas } V 250 900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 500 200 500 1 0 0 { T 200 550 5 8 0 1 0 6 1 pinnumber=15 T 200 450 5 8 0 1 0 8 1 pinseq=15 T 350 500 9 8 1 1 0 0 1 pinlabel=15 T 350 500 5 8 0 1 0 2 1 pintype=pas } V 250 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 300 100 400 6400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/connector/connector12-2.sym0000664000175000017500000000555312204104272016612 00000000000000v 20041228 1 T 700 5300 8 10 1 1 0 6 1 refdes=CONN? T 300 5250 5 10 0 0 0 0 1 device=CONNECTOR_12 T 300 5450 5 10 0 0 0 0 1 footprint=SIP12N T 300 5650 5 10 0 0 0 0 1 author=Leon Kos T 300 5850 5 10 0 0 0 0 1 description=generic connector T 300 6050 5 10 0 0 0 0 1 numslots=0 P 0 4800 200 4800 1 0 0 { T 200 4850 5 8 0 1 0 6 1 pinnumber=1 T 200 4750 5 8 0 1 0 8 1 pinseq=1 T 350 4800 9 8 1 1 0 0 1 pinlabel=1 T 350 4800 5 8 0 1 0 2 1 pintype=pas } V 250 4800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 4400 200 4400 1 0 0 { T 200 4450 5 8 0 1 0 6 1 pinnumber=2 T 200 4350 5 8 0 1 0 8 1 pinseq=2 T 350 4400 9 8 1 1 0 0 1 pinlabel=2 T 350 4400 5 8 0 1 0 2 1 pintype=pas } V 250 4400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 4000 200 4000 1 0 0 { T 200 4050 5 8 0 1 0 6 1 pinnumber=3 T 200 3950 5 8 0 1 0 8 1 pinseq=3 T 350 4000 9 8 1 1 0 0 1 pinlabel=3 T 350 4000 5 8 0 1 0 2 1 pintype=pas } V 250 4000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3600 200 3600 1 0 0 { T 200 3650 5 8 0 1 0 6 1 pinnumber=4 T 200 3550 5 8 0 1 0 8 1 pinseq=4 T 350 3600 9 8 1 1 0 0 1 pinlabel=4 T 350 3600 5 8 0 1 0 2 1 pintype=pas } V 250 3600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3200 200 3200 1 0 0 { T 200 3250 5 8 0 1 0 6 1 pinnumber=5 T 200 3150 5 8 0 1 0 8 1 pinseq=5 T 350 3200 9 8 1 1 0 0 1 pinlabel=5 T 350 3200 5 8 0 1 0 2 1 pintype=pas } V 250 3200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2800 200 2800 1 0 0 { T 200 2850 5 8 0 1 0 6 1 pinnumber=6 T 200 2750 5 8 0 1 0 8 1 pinseq=6 T 350 2800 9 8 1 1 0 0 1 pinlabel=6 T 350 2800 5 8 0 1 0 2 1 pintype=pas } V 250 2800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2400 200 2400 1 0 0 { T 200 2450 5 8 0 1 0 6 1 pinnumber=7 T 200 2350 5 8 0 1 0 8 1 pinseq=7 T 350 2400 9 8 1 1 0 0 1 pinlabel=7 T 350 2400 5 8 0 1 0 2 1 pintype=pas } V 250 2400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2000 200 2000 1 0 0 { T 200 2050 5 8 0 1 0 6 1 pinnumber=8 T 200 1950 5 8 0 1 0 8 1 pinseq=8 T 350 2000 9 8 1 1 0 0 1 pinlabel=8 T 350 2000 5 8 0 1 0 2 1 pintype=pas } V 250 2000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1600 200 1600 1 0 0 { T 200 1650 5 8 0 1 0 6 1 pinnumber=9 T 200 1550 5 8 0 1 0 8 1 pinseq=9 T 350 1600 9 8 1 1 0 0 1 pinlabel=9 T 350 1600 5 8 0 1 0 2 1 pintype=pas } V 250 1600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1200 200 1200 1 0 0 { T 200 1250 5 8 0 1 0 6 1 pinnumber=10 T 200 1150 5 8 0 1 0 8 1 pinseq=10 T 350 1200 9 8 1 1 0 0 1 pinlabel=10 T 350 1200 5 8 0 1 0 2 1 pintype=pas } V 250 1200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 800 200 800 1 0 0 { T 200 850 5 8 0 1 0 6 1 pinnumber=11 T 200 750 5 8 0 1 0 8 1 pinseq=11 T 350 800 9 8 1 1 0 0 1 pinlabel=11 T 350 800 5 8 0 1 0 2 1 pintype=pas } V 250 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 400 200 400 1 0 0 { T 200 450 5 8 0 1 0 6 1 pinnumber=12 T 200 350 5 8 0 1 0 8 1 pinseq=12 T 350 400 9 8 1 1 0 0 1 pinlabel=12 T 350 400 5 8 0 1 0 2 1 pintype=pas } V 250 400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 300 0 400 5200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/connector/connector41-1.sym0000664000175000017500000002160012204104272016602 00000000000000v 20031231 1 P 1500 12000 1800 12000 1 0 1 { T 350 11950 5 8 1 1 0 0 1 pinnumber=2 T 350 11950 5 8 0 0 0 0 1 pinseq=2 T 350 11950 5 8 0 1 0 0 1 pinlabel=2 T 350 11950 5 8 0 1 0 0 1 pintype=pas } P 1500 11400 1800 11400 1 0 1 { T 350 11350 5 8 1 1 0 0 1 pinnumber=4 T 350 11350 5 8 0 0 0 0 1 pinseq=4 T 350 11350 5 8 0 1 0 0 1 pinlabel=4 T 350 11350 5 8 0 1 0 0 1 pintype=pas } P 1500 10800 1800 10800 1 0 1 { T 350 10750 5 8 1 1 0 0 1 pinnumber=6 T 350 10750 5 8 0 0 0 0 1 pinseq=6 T 350 10750 5 8 0 1 0 0 1 pinlabel=6 T 350 10750 5 8 0 1 0 0 1 pintype=pas } P 1500 10200 1800 10200 1 0 1 { T 350 10150 5 8 1 1 0 0 1 pinnumber=8 T 350 10150 5 8 0 0 0 0 1 pinseq=8 T 350 10150 5 8 0 1 0 0 1 pinlabel=8 T 350 10150 5 8 0 1 0 0 1 pintype=pas } P 1500 12300 1800 12300 1 0 1 { T 350 12250 5 8 1 1 0 0 1 pinnumber=1 T 350 12250 5 8 0 0 0 0 1 pinseq=1 T 350 12250 5 8 0 1 0 0 1 pinlabel=1 T 350 12250 5 8 0 1 0 0 1 pintype=pas } P 1500 11700 1800 11700 1 0 1 { T 350 11650 5 8 1 1 0 0 1 pinnumber=3 T 350 11650 5 8 0 0 0 0 1 pinseq=3 T 350 11650 5 8 0 1 0 0 1 pinlabel=3 T 350 11650 5 8 0 1 0 0 1 pintype=pas } P 1500 11100 1800 11100 1 0 1 { T 350 11050 5 8 1 1 0 0 1 pinnumber=5 T 350 11050 5 8 0 0 0 0 1 pinseq=5 T 350 11050 5 8 0 1 0 0 1 pinlabel=5 T 350 11050 5 8 0 1 0 0 1 pintype=pas } P 1500 10500 1800 10500 1 0 1 { T 350 10450 5 8 1 1 0 0 1 pinnumber=7 T 350 10450 5 8 0 0 0 0 1 pinseq=7 T 350 10450 5 8 0 1 0 0 1 pinlabel=7 T 350 10450 5 8 0 1 0 0 1 pintype=pas } P 1500 9600 1800 9600 1 0 1 { T 350 9550 5 8 1 1 0 0 1 pinnumber=10 T 350 9550 5 8 0 0 0 0 1 pinseq=10 T 350 9550 5 8 0 1 0 0 1 pinlabel=10 T 350 9550 5 8 0 1 0 0 1 pintype=pas } P 1500 9000 1800 9000 1 0 1 { T 350 8950 5 8 1 1 0 0 1 pinnumber=12 T 350 8950 5 8 0 0 0 0 1 pinseq=12 T 350 8950 5 8 0 1 0 0 1 pinlabel=12 T 350 8950 5 8 0 1 0 0 1 pintype=pas } P 1500 8400 1800 8400 1 0 1 { T 350 8350 5 8 1 1 0 0 1 pinnumber=14 T 350 8350 5 8 0 0 0 0 1 pinseq=14 T 350 8350 5 8 0 1 0 0 1 pinlabel=14 T 350 8350 5 8 0 1 0 0 1 pintype=pas } P 1500 7800 1800 7800 1 0 1 { T 350 7750 5 8 1 1 0 0 1 pinnumber=16 T 350 7750 5 8 0 0 0 0 1 pinseq=16 T 350 7750 5 8 0 1 0 0 1 pinlabel=16 T 350 7750 5 8 0 1 0 0 1 pintype=pas } P 1500 9900 1800 9900 1 0 1 { T 350 9850 5 8 1 1 0 0 1 pinnumber=9 T 350 9850 5 8 0 0 0 0 1 pinseq=9 T 350 9850 5 8 0 1 0 0 1 pinlabel=9 T 350 9850 5 8 0 1 0 0 1 pintype=pas } P 1500 9300 1800 9300 1 0 1 { T 350 9250 5 8 1 1 0 0 1 pinnumber=11 T 350 9250 5 8 0 0 0 0 1 pinseq=11 T 350 9250 5 8 0 1 0 0 1 pinlabel=11 T 350 9250 5 8 0 1 0 0 1 pintype=pas } P 1500 8700 1800 8700 1 0 1 { T 350 8650 5 8 1 1 0 0 1 pinnumber=13 T 350 8650 5 8 0 0 0 0 1 pinseq=13 T 350 8650 5 8 0 1 0 0 1 pinlabel=13 T 350 8650 5 8 0 1 0 0 1 pintype=pas } P 1500 8100 1800 8100 1 0 1 { T 350 8050 5 8 1 1 0 0 1 pinnumber=15 T 350 8050 5 8 0 0 0 0 1 pinseq=15 T 350 8050 5 8 0 1 0 0 1 pinlabel=15 T 350 8050 5 8 0 1 0 0 1 pintype=pas } P 1500 7200 1800 7200 1 0 1 { T 350 7150 5 8 1 1 0 0 1 pinnumber=18 T 350 7150 5 8 0 0 0 0 1 pinseq=18 T 350 7150 5 8 0 1 0 0 1 pinlabel=18 T 350 7150 5 8 0 1 0 0 1 pintype=pas } P 1500 6600 1800 6600 1 0 1 { T 350 6550 5 8 1 1 0 0 1 pinnumber=20 T 350 6550 5 8 0 0 0 0 1 pinseq=20 T 350 6550 5 8 0 1 0 0 1 pinlabel=20 T 350 6550 5 8 0 1 0 0 1 pintype=pas } P 1500 6000 1800 6000 1 0 1 { T 350 5950 5 8 1 1 0 0 1 pinnumber=22 T 350 5950 5 8 0 0 0 0 1 pinseq=22 T 350 5950 5 8 0 1 0 0 1 pinlabel=22 T 350 5950 5 8 0 1 0 0 1 pintype=pas } P 1500 5400 1800 5400 1 0 1 { T 350 5350 5 8 1 1 0 0 1 pinnumber=24 T 350 5350 5 8 0 0 0 0 1 pinseq=24 T 350 5350 5 8 0 1 0 0 1 pinlabel=24 T 350 5350 5 8 0 1 0 0 1 pintype=pas } P 1500 7500 1800 7500 1 0 1 { T 350 7450 5 8 1 1 0 0 1 pinnumber=17 T 350 7450 5 8 0 0 0 0 1 pinseq=17 T 350 7450 5 8 0 1 0 0 1 pinlabel=17 T 350 7450 5 8 0 1 0 0 1 pintype=pas } P 1500 6900 1800 6900 1 0 1 { T 350 6850 5 8 1 1 0 0 1 pinnumber=19 T 350 6850 5 8 0 0 0 0 1 pinseq=19 T 350 6850 5 8 0 1 0 0 1 pinlabel=19 T 350 6850 5 8 0 1 0 0 1 pintype=pas } P 1500 6300 1800 6300 1 0 1 { T 350 6250 5 8 1 1 0 0 1 pinnumber=21 T 350 6250 5 8 0 0 0 0 1 pinseq=21 T 350 6250 5 8 0 1 0 0 1 pinlabel=21 T 350 6250 5 8 0 1 0 0 1 pintype=pas } P 1500 5700 1800 5700 1 0 1 { T 350 5650 5 8 1 1 0 0 1 pinnumber=23 T 350 5650 5 8 0 0 0 0 1 pinseq=23 T 350 5650 5 8 0 1 0 0 1 pinlabel=23 T 350 5650 5 8 0 1 0 0 1 pintype=pas } P 1500 4800 1800 4800 1 0 1 { T 350 4750 5 8 1 1 0 0 1 pinnumber=26 T 350 4750 5 8 0 0 0 0 1 pinseq=26 T 350 4750 5 8 0 1 0 0 1 pinlabel=26 T 350 4750 5 8 0 1 0 0 1 pintype=pas } P 1500 5100 1800 5100 1 0 1 { T 350 5050 5 8 1 1 0 0 1 pinnumber=25 T 350 5050 5 8 0 0 0 0 1 pinseq=25 T 350 5050 5 8 0 1 0 0 1 pinlabel=25 T 350 5050 5 8 0 1 0 0 1 pintype=pas } L 1500 12300 600 12300 3 0 0 0 -1 -1 L 1500 12000 600 12000 3 0 0 0 -1 -1 L 1500 11700 600 11700 3 0 0 0 -1 -1 L 1500 11400 600 11400 3 0 0 0 -1 -1 L 1500 11100 600 11100 3 0 0 0 -1 -1 L 1500 10800 600 10800 3 0 0 0 -1 -1 L 1500 10500 600 10500 3 0 0 0 -1 -1 L 1500 10200 600 10200 3 0 0 0 -1 -1 L 1500 9900 600 9900 3 0 0 0 -1 -1 L 1500 9600 600 9600 3 0 0 0 -1 -1 L 1500 9300 600 9300 3 0 0 0 -1 -1 L 1500 9000 600 9000 3 0 0 0 -1 -1 L 1500 8700 600 8700 3 0 0 0 -1 -1 L 1500 8400 600 8400 3 0 0 0 -1 -1 L 1500 8100 600 8100 3 0 0 0 -1 -1 L 1500 7800 600 7800 3 0 0 0 -1 -1 L 1500 7500 600 7500 3 0 0 0 -1 -1 L 1500 7200 600 7200 3 0 0 0 -1 -1 L 1500 6900 600 6900 3 0 0 0 -1 -1 L 1500 6600 600 6600 3 0 0 0 -1 -1 L 1500 6300 600 6300 3 0 0 0 -1 -1 L 1500 6000 600 6000 3 0 0 0 -1 -1 L 1500 5700 600 5700 3 0 0 0 -1 -1 L 1500 5400 600 5400 3 0 0 0 -1 -1 L 1500 5100 600 5100 3 0 0 0 -1 -1 L 1500 4800 600 4800 3 0 0 0 -1 -1 B 100 100 500 12400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 100 12900 5 10 0 0 0 0 1 device=CONNECTOR_41 T 100 12600 8 10 1 1 0 0 1 refdes=J? T 100 13300 8 10 0 0 0 0 1 pins=41 T 100 13100 8 10 0 0 0 0 1 class=IO P 1500 4200 1800 4200 1 0 1 { T 350 4150 5 8 1 1 0 0 1 pinnumber=28 T 350 4150 5 8 0 0 0 0 1 pinseq=28 T 350 4150 5 8 0 1 0 0 1 pinlabel=28 T 350 4150 5 8 0 1 0 0 1 pintype=pas } P 1500 3600 1800 3600 1 0 1 { T 350 3550 5 8 1 1 0 0 1 pinnumber=30 T 350 3550 5 8 0 0 0 0 1 pinseq=30 T 350 3550 5 8 0 1 0 0 1 pinlabel=30 T 350 3550 5 8 0 1 0 0 1 pintype=pas } P 1500 3000 1800 3000 1 0 1 { T 350 2950 5 8 1 1 0 0 1 pinnumber=32 T 350 2950 5 8 0 0 0 0 1 pinseq=32 T 350 2950 5 8 0 1 0 0 1 pinlabel=32 T 350 2950 5 8 0 1 0 0 1 pintype=pas } P 1500 2400 1800 2400 1 0 1 { T 350 2350 5 8 1 1 0 0 1 pinnumber=34 T 350 2350 5 8 0 0 0 0 1 pinseq=34 T 350 2350 5 8 0 1 0 0 1 pinlabel=34 T 350 2350 5 8 0 1 0 0 1 pintype=pas } P 1500 4500 1800 4500 1 0 1 { T 350 4450 5 8 1 1 0 0 1 pinnumber=27 T 350 4450 5 8 0 0 0 0 1 pinseq=27 T 350 4450 5 8 0 1 0 0 1 pinlabel=27 T 350 4450 5 8 0 1 0 0 1 pintype=pas } P 1500 3900 1800 3900 1 0 1 { T 350 3850 5 8 1 1 0 0 1 pinnumber=29 T 350 3850 5 8 0 0 0 0 1 pinseq=29 T 350 3850 5 8 0 1 0 0 1 pinlabel=29 T 350 3850 5 8 0 1 0 0 1 pintype=pas } P 1500 3300 1800 3300 1 0 1 { T 350 3250 5 8 1 1 0 0 1 pinnumber=31 T 350 3250 5 8 0 0 0 0 1 pinseq=31 T 350 3250 5 8 0 1 0 0 1 pinlabel=31 T 350 3250 5 8 0 1 0 0 1 pintype=pas } P 1500 2700 1800 2700 1 0 1 { T 350 2650 5 8 1 1 0 0 1 pinnumber=33 T 350 2650 5 8 0 0 0 0 1 pinseq=33 T 350 2650 5 8 0 1 0 0 1 pinlabel=33 T 350 2650 5 8 0 1 0 0 1 pintype=pas } P 1500 1800 1800 1800 1 0 1 { T 350 1750 5 8 1 1 0 0 1 pinnumber=36 T 350 1750 5 8 0 0 0 0 1 pinseq=36 T 350 1750 5 8 0 1 0 0 1 pinlabel=36 T 350 1750 5 8 0 1 0 0 1 pintype=pas } P 1500 1200 1800 1200 1 0 1 { T 350 1150 5 8 1 1 0 0 1 pinnumber=38 T 350 1150 5 8 0 0 0 0 1 pinseq=38 T 350 1150 5 8 0 1 0 0 1 pinlabel=38 T 350 1150 5 8 0 1 0 0 1 pintype=pas } P 1500 600 1800 600 1 0 1 { T 350 550 5 8 1 1 0 0 1 pinnumber=40 T 350 550 5 8 0 0 0 0 1 pinseq=40 T 350 550 5 8 0 1 0 0 1 pinlabel=40 T 350 550 5 8 0 1 0 0 1 pintype=pas } P 1500 2100 1800 2100 1 0 1 { T 350 2050 5 8 1 1 0 0 1 pinnumber=35 T 350 2050 5 8 0 0 0 0 1 pinseq=35 T 350 2050 5 8 0 1 0 0 1 pinlabel=35 T 350 2050 5 8 0 1 0 0 1 pintype=pas } P 1500 1500 1800 1500 1 0 1 { T 350 1450 5 8 1 1 0 0 1 pinnumber=37 T 350 1450 5 8 0 0 0 0 1 pinseq=37 T 350 1450 5 8 0 1 0 0 1 pinlabel=37 T 350 1450 5 8 0 1 0 0 1 pintype=pas } P 1500 900 1800 900 1 0 1 { T 350 850 5 8 1 1 0 0 1 pinnumber=39 T 350 850 5 8 0 0 0 0 1 pinseq=39 T 350 850 5 8 0 1 0 0 1 pinlabel=39 T 350 850 5 8 0 1 0 0 1 pintype=pas } P 1500 300 1800 300 1 0 1 { T 350 250 5 8 1 1 0 0 1 pinnumber=41 T 350 250 5 8 0 0 0 0 1 pinseq=41 T 350 250 5 8 0 1 0 0 1 pinlabel=41 T 350 250 5 8 0 1 0 0 1 pintype=pas } L 1500 4500 600 4500 3 0 0 0 -1 -1 L 1500 4200 600 4200 3 0 0 0 -1 -1 L 1500 3900 600 3900 3 0 0 0 -1 -1 L 1500 3600 600 3600 3 0 0 0 -1 -1 L 1500 3300 600 3300 3 0 0 0 -1 -1 L 1500 3000 600 3000 3 0 0 0 -1 -1 L 1500 2700 600 2700 3 0 0 0 -1 -1 L 1500 2400 600 2400 3 0 0 0 -1 -1 L 1500 2100 600 2100 3 0 0 0 -1 -1 L 1500 1800 600 1800 3 0 0 0 -1 -1 L 1500 1500 600 1500 3 0 0 0 -1 -1 L 1500 1200 600 1200 3 0 0 0 -1 -1 L 1500 900 600 900 3 0 0 0 -1 -1 L 1500 600 600 600 3 0 0 0 -1 -1 L 1500 300 600 300 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/connector/connector22-2.sym0000664000175000017500000001206212204104272016604 00000000000000v 20041228 1 T 800 9400 8 10 1 1 0 6 1 refdes=CONN? T 400 9350 5 10 0 0 0 0 1 device=CONNECTOR_22 T 400 9550 5 10 0 0 0 0 1 footprint=SIP22N T 400 9750 5 10 0 0 0 0 1 author=Leon Kos T 400 9950 5 10 0 0 0 0 1 description=generic connector T 400 10150 5 10 0 0 0 0 1 numslots=0 P 100 8900 300 8900 1 0 0 { T 300 8950 5 8 0 1 0 6 1 pinnumber=1 T 300 8850 5 8 0 1 0 8 1 pinseq=1 T 450 8900 9 8 1 1 0 0 1 pinlabel=1 T 450 8900 5 8 0 1 0 2 1 pintype=pas } V 350 8900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8500 300 8500 1 0 0 { T 300 8550 5 8 0 1 0 6 1 pinnumber=2 T 300 8450 5 8 0 1 0 8 1 pinseq=2 T 450 8500 9 8 1 1 0 0 1 pinlabel=2 T 450 8500 5 8 0 1 0 2 1 pintype=pas } V 350 8500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8100 300 8100 1 0 0 { T 300 8150 5 8 0 1 0 6 1 pinnumber=3 T 300 8050 5 8 0 1 0 8 1 pinseq=3 T 450 8100 9 8 1 1 0 0 1 pinlabel=3 T 450 8100 5 8 0 1 0 2 1 pintype=pas } V 350 8100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 7700 300 7700 1 0 0 { T 300 7750 5 8 0 1 0 6 1 pinnumber=4 T 300 7650 5 8 0 1 0 8 1 pinseq=4 T 450 7700 9 8 1 1 0 0 1 pinlabel=4 T 450 7700 5 8 0 1 0 2 1 pintype=pas } V 350 7700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 7300 300 7300 1 0 0 { T 300 7350 5 8 0 1 0 6 1 pinnumber=5 T 300 7250 5 8 0 1 0 8 1 pinseq=5 T 450 7300 9 8 1 1 0 0 1 pinlabel=5 T 450 7300 5 8 0 1 0 2 1 pintype=pas } V 350 7300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6900 300 6900 1 0 0 { T 300 6950 5 8 0 1 0 6 1 pinnumber=6 T 300 6850 5 8 0 1 0 8 1 pinseq=6 T 450 6900 9 8 1 1 0 0 1 pinlabel=6 T 450 6900 5 8 0 1 0 2 1 pintype=pas } V 350 6900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6500 300 6500 1 0 0 { T 300 6550 5 8 0 1 0 6 1 pinnumber=7 T 300 6450 5 8 0 1 0 8 1 pinseq=7 T 450 6500 9 8 1 1 0 0 1 pinlabel=7 T 450 6500 5 8 0 1 0 2 1 pintype=pas } V 350 6500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6100 300 6100 1 0 0 { T 300 6150 5 8 0 1 0 6 1 pinnumber=8 T 300 6050 5 8 0 1 0 8 1 pinseq=8 T 450 6100 9 8 1 1 0 0 1 pinlabel=8 T 450 6100 5 8 0 1 0 2 1 pintype=pas } V 350 6100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 5700 300 5700 1 0 0 { T 300 5750 5 8 0 1 0 6 1 pinnumber=9 T 300 5650 5 8 0 1 0 8 1 pinseq=9 T 450 5700 9 8 1 1 0 0 1 pinlabel=9 T 450 5700 5 8 0 1 0 2 1 pintype=pas } V 350 5700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 5300 300 5300 1 0 0 { T 300 5350 5 8 0 1 0 6 1 pinnumber=10 T 300 5250 5 8 0 1 0 8 1 pinseq=10 T 450 5300 9 8 1 1 0 0 1 pinlabel=10 T 450 5300 5 8 0 1 0 2 1 pintype=pas } V 350 5300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4900 300 4900 1 0 0 { T 300 4950 5 8 0 1 0 6 1 pinnumber=11 T 300 4850 5 8 0 1 0 8 1 pinseq=11 T 450 4900 9 8 1 1 0 0 1 pinlabel=11 T 450 4900 5 8 0 1 0 2 1 pintype=pas } V 350 4900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4500 300 4500 1 0 0 { T 300 4550 5 8 0 1 0 6 1 pinnumber=12 T 300 4450 5 8 0 1 0 8 1 pinseq=12 T 450 4500 9 8 1 1 0 0 1 pinlabel=12 T 450 4500 5 8 0 1 0 2 1 pintype=pas } V 350 4500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4100 300 4100 1 0 0 { T 300 4150 5 8 0 1 0 6 1 pinnumber=13 T 300 4050 5 8 0 1 0 8 1 pinseq=13 T 450 4100 9 8 1 1 0 0 1 pinlabel=13 T 450 4100 5 8 0 1 0 2 1 pintype=pas } V 350 4100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 3700 300 3700 1 0 0 { T 300 3750 5 8 0 1 0 6 1 pinnumber=14 T 300 3650 5 8 0 1 0 8 1 pinseq=14 T 450 3700 9 8 1 1 0 0 1 pinlabel=14 T 450 3700 5 8 0 1 0 2 1 pintype=pas } V 350 3700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 3300 300 3300 1 0 0 { T 300 3350 5 8 0 1 0 6 1 pinnumber=15 T 300 3250 5 8 0 1 0 8 1 pinseq=15 T 450 3300 9 8 1 1 0 0 1 pinlabel=15 T 450 3300 5 8 0 1 0 2 1 pintype=pas } V 350 3300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2900 300 2900 1 0 0 { T 300 2950 5 8 0 1 0 6 1 pinnumber=16 T 300 2850 5 8 0 1 0 8 1 pinseq=16 T 450 2900 9 8 1 1 0 0 1 pinlabel=16 T 450 2900 5 8 0 1 0 2 1 pintype=pas } V 350 2900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2500 300 2500 1 0 0 { T 300 2550 5 8 0 1 0 6 1 pinnumber=17 T 300 2450 5 8 0 1 0 8 1 pinseq=17 T 450 2500 9 8 1 1 0 0 1 pinlabel=17 T 450 2500 5 8 0 1 0 2 1 pintype=pas } V 350 2500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2100 300 2100 1 0 0 { T 300 2150 5 8 0 1 0 6 1 pinnumber=18 T 300 2050 5 8 0 1 0 8 1 pinseq=18 T 450 2100 9 8 1 1 0 0 1 pinlabel=18 T 450 2100 5 8 0 1 0 2 1 pintype=pas } V 350 2100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1700 300 1700 1 0 0 { T 300 1750 5 8 0 1 0 6 1 pinnumber=19 T 300 1650 5 8 0 1 0 8 1 pinseq=19 T 450 1700 9 8 1 1 0 0 1 pinlabel=19 T 450 1700 5 8 0 1 0 2 1 pintype=pas } V 350 1700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1300 300 1300 1 0 0 { T 300 1350 5 8 0 1 0 6 1 pinnumber=20 T 300 1250 5 8 0 1 0 8 1 pinseq=20 T 450 1300 9 8 1 1 0 0 1 pinlabel=20 T 450 1300 5 8 0 1 0 2 1 pintype=pas } V 350 1300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 900 300 900 1 0 0 { T 300 950 5 8 0 1 0 6 1 pinnumber=21 T 300 850 5 8 0 1 0 8 1 pinseq=21 T 450 900 9 8 1 1 0 0 1 pinlabel=21 T 450 900 5 8 0 1 0 2 1 pintype=pas } V 350 900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 500 300 500 1 0 0 { T 300 550 5 8 0 1 0 6 1 pinnumber=22 T 300 450 5 8 0 1 0 8 1 pinseq=22 T 450 500 9 8 1 1 0 0 1 pinlabel=22 T 450 500 5 8 0 1 0 2 1 pintype=pas } V 350 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 400 100 400 9200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/connector/connector3-2.sym0000664000175000017500000000167712204104272016535 00000000000000v 20041228 1 T 700 1700 8 10 1 1 0 6 1 refdes=CONN? T 300 1650 5 10 0 0 0 0 1 device=CONNECTOR_3 T 300 1850 5 10 0 0 0 0 1 footprint=SIP3N T 300 2050 5 10 0 0 0 0 1 author=Leon Kos T 300 2250 5 10 0 0 0 0 1 description=generic connector T 300 2450 5 10 0 0 0 0 1 numslots=0 P 0 1200 200 1200 1 0 0 { T 200 1250 5 8 0 1 0 6 1 pinnumber=1 T 200 1150 5 8 0 1 0 8 1 pinseq=1 T 350 1200 9 8 1 1 0 0 1 pinlabel=1 T 350 1200 5 8 0 1 0 2 1 pintype=pas } V 250 1200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 800 200 800 1 0 0 { T 200 850 5 8 0 1 0 6 1 pinnumber=2 T 200 750 5 8 0 1 0 8 1 pinseq=2 T 350 800 9 8 1 1 0 0 1 pinlabel=2 T 350 800 5 8 0 1 0 2 1 pintype=pas } V 250 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 400 200 400 1 0 0 { T 200 450 5 8 0 1 0 6 1 pinnumber=3 T 200 350 5 8 0 1 0 8 1 pinseq=3 T 350 400 9 8 1 1 0 0 1 pinlabel=3 T 350 400 5 8 0 1 0 2 1 pintype=pas } V 250 400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 300 0 400 1600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/connector/header50-3.sym0000664000175000017500000003070112204104272016044 00000000000000v 20031231 1 P 1000 14600 1300 14600 1 0 1 { T 1050 14650 5 10 1 1 0 0 1 pinnumber=2 T 1000 14600 5 10 0 1 0 0 1 pintype=pas T 1000 14600 5 10 0 1 0 0 1 pinlabel=2 T 1000 14600 5 10 0 1 0 0 1 pinseq=2 } V 800 14600 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 14900 500 14900 1 0 0 { T 1050 14950 5 10 1 1 0 0 1 pinnumber=1 T 1300 14900 5 10 0 1 0 0 1 pintype=pas T 1300 14900 5 10 0 1 0 0 1 pinlabel=1 T 1300 14900 5 10 0 1 0 0 1 pinseq=1 } L 500 14900 200 14800 3 0 0 0 -1 -1 V 200 14600 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 100 15000 8 10 1 1 0 0 1 refdes=J? T 1500 1300 8 10 0 0 0 0 1 footprint=header50 T 1500 1500 8 10 0 0 0 0 1 numslots=0 T 1500 1700 8 10 0 0 0 0 1 device=HEADER50 P 1000 14000 1300 14000 1 0 1 { T 1050 14050 5 10 1 1 0 0 1 pinnumber=4 T 1000 14000 5 10 0 1 0 0 1 pintype=pas T 1000 14000 5 10 0 1 0 0 1 pinlabel=4 T 1000 14000 5 10 0 1 0 0 1 pinseq=4 } V 800 14000 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 14300 500 14300 1 0 0 { T 1050 14350 5 10 1 1 0 0 1 pinnumber=3 T 1300 14300 5 10 0 1 0 0 1 pintype=pas T 1300 14300 5 10 0 1 0 0 1 pinlabel=3 T 1300 14300 5 10 0 1 0 0 1 pinseq=3 } L 500 14300 200 14200 3 0 0 0 -1 -1 V 200 14000 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 13400 1300 13400 1 0 1 { T 1050 13450 5 10 1 1 0 0 1 pinnumber=6 T 1000 13400 5 10 0 1 0 0 1 pintype=pas T 1000 13400 5 10 0 1 0 0 1 pinlabel=6 T 1000 13400 5 10 0 1 0 0 1 pinseq=6 } V 800 13400 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 13700 500 13700 1 0 0 { T 1050 13750 5 10 1 1 0 0 1 pinnumber=5 T 1300 13700 5 10 0 1 0 0 1 pintype=pas T 1300 13700 5 10 0 1 0 0 1 pinlabel=5 T 1300 13700 5 10 0 1 0 0 1 pinseq=5 } L 500 13700 200 13600 3 0 0 0 -1 -1 V 200 13400 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 12800 1300 12800 1 0 1 { T 1050 12850 5 10 1 1 0 0 1 pinnumber=8 T 1000 12800 5 10 0 1 0 0 1 pintype=pas T 1000 12800 5 10 0 1 0 0 1 pinlabel=8 T 1000 12800 5 10 0 1 0 0 1 pinseq=8 } V 800 12800 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 13100 500 13100 1 0 0 { T 1050 13150 5 10 1 1 0 0 1 pinnumber=7 T 1300 13100 5 10 0 1 0 0 1 pintype=pas T 1300 13100 5 10 0 1 0 0 1 pinlabel=7 T 1300 13100 5 10 0 1 0 0 1 pinseq=7 } L 500 13100 200 13000 3 0 0 0 -1 -1 V 200 12800 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 12200 1300 12200 1 0 1 { T 1050 12250 5 10 1 1 0 0 1 pinnumber=10 T 1000 12200 5 10 0 1 0 0 1 pintype=pas T 1000 12200 5 10 0 1 0 0 1 pinlabel=10 T 1000 12200 5 10 0 1 0 0 1 pinseq=10 } V 800 12200 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 12500 500 12500 1 0 0 { T 1050 12550 5 10 1 1 0 0 1 pinnumber=9 T 1300 12500 5 10 0 1 0 0 1 pintype=pas T 1300 12500 5 10 0 1 0 0 1 pinlabel=9 T 1300 12500 5 10 0 1 0 0 1 pinseq=9 } L 500 12500 200 12400 3 0 0 0 -1 -1 V 200 12200 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 11600 1300 11600 1 0 1 { T 1050 11650 5 10 1 1 0 0 1 pinnumber=12 T 1000 11600 5 10 0 1 0 0 1 pintype=pas T 1000 11600 5 10 0 1 0 0 1 pinlabel=12 T 1000 11600 5 10 0 1 0 0 1 pinseq=12 } V 800 11600 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 11900 500 11900 1 0 0 { T 1050 11950 5 10 1 1 0 0 1 pinnumber=11 T 1300 11900 5 10 0 1 0 0 1 pintype=pas T 1300 11900 5 10 0 1 0 0 1 pinlabel=11 T 1300 11900 5 10 0 1 0 0 1 pinseq=11 } L 500 11900 200 11800 3 0 0 0 -1 -1 V 200 11600 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 11000 1300 11000 1 0 1 { T 1050 11050 5 10 1 1 0 0 1 pinnumber=14 T 1000 11000 5 10 0 1 0 0 1 pintype=pas T 1000 11000 5 10 0 1 0 0 1 pinlabel=14 T 1000 11000 5 10 0 1 0 0 1 pinseq=14 } V 800 11000 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 11300 500 11300 1 0 0 { T 1050 11350 5 10 1 1 0 0 1 pinnumber=13 T 1300 11300 5 10 0 1 0 0 1 pintype=pas T 1300 11300 5 10 0 1 0 0 1 pinlabel=13 T 1300 11300 5 10 0 1 0 0 1 pinseq=13 } L 500 11300 200 11200 3 0 0 0 -1 -1 V 200 11000 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 10400 1300 10400 1 0 1 { T 1050 10450 5 10 1 1 0 0 1 pinnumber=16 T 1000 10400 5 10 0 1 0 0 1 pintype=pas T 1000 10400 5 10 0 1 0 0 1 pinlabel=16 T 1000 10400 5 10 0 1 0 0 1 pinseq=16 } V 800 10400 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 10700 500 10700 1 0 0 { T 1050 10750 5 10 1 1 0 0 1 pinnumber=15 T 1300 10700 5 10 0 1 0 0 1 pintype=pas T 1300 10700 5 10 0 1 0 0 1 pinlabel=15 T 1300 10700 5 10 0 1 0 0 1 pinseq=15 } L 500 10700 200 10600 3 0 0 0 -1 -1 V 200 10400 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 9800 1300 9800 1 0 1 { T 1050 9850 5 10 1 1 0 0 1 pinnumber=18 T 1000 9800 5 10 0 1 0 0 1 pintype=pas T 1000 9800 5 10 0 1 0 0 1 pinlabel=18 T 1000 9800 5 10 0 1 0 0 1 pinseq=18 } V 800 9800 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 200 9800 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 9200 1300 9200 1 0 1 { T 1050 9250 5 10 1 1 0 0 1 pinnumber=20 T 1000 9200 5 10 0 1 0 0 1 pintype=pas T 1000 9200 5 10 0 1 0 0 1 pinlabel=20 T 1000 9200 5 10 0 1 0 0 1 pinseq=20 } V 800 9200 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 9500 500 9500 1 0 0 { T 1050 9550 5 10 1 1 0 0 1 pinnumber=19 T 1300 9500 5 10 0 1 0 0 1 pintype=pas T 1300 9500 5 10 0 1 0 0 1 pinlabel=19 T 1300 9500 5 10 0 1 0 0 1 pinseq=19 } L 500 9500 200 9400 3 0 0 0 -1 -1 V 200 9200 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 8600 1300 8600 1 0 1 { T 1050 8650 5 10 1 1 0 0 1 pinnumber=22 T 1000 8600 5 10 0 1 0 0 1 pintype=pas T 1000 8600 5 10 0 1 0 0 1 pinlabel=22 T 1000 8600 5 10 0 1 0 0 1 pinseq=22 } V 800 8600 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 8900 500 8900 1 0 0 { T 1050 8950 5 10 1 1 0 0 1 pinnumber=21 T 1300 8900 5 10 0 1 0 0 1 pintype=pas T 1300 8900 5 10 0 1 0 0 1 pinlabel=21 T 1300 8900 5 10 0 1 0 0 1 pinseq=21 } L 500 8900 200 8800 3 0 0 0 -1 -1 V 200 8600 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 8000 1300 8000 1 0 1 { T 1050 8050 5 10 1 1 0 0 1 pinnumber=24 T 1000 8000 5 10 0 1 0 0 1 pintype=pas T 1000 8000 5 10 0 1 0 0 1 pinlabel=24 T 1000 8000 5 10 0 1 0 0 1 pinseq=24 } V 800 8000 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 8300 500 8300 1 0 0 { T 1050 8350 5 10 1 1 0 0 1 pinnumber=23 T 1300 8300 5 10 0 1 0 0 1 pintype=pas T 1300 8300 5 10 0 1 0 0 1 pinlabel=23 T 1300 8300 5 10 0 1 0 0 1 pinseq=23 } L 500 8300 200 8200 3 0 0 0 -1 -1 V 200 8000 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 7400 1300 7400 1 0 1 { T 1050 7450 5 10 1 1 0 0 1 pinnumber=26 T 1000 7400 5 10 0 1 0 0 1 pintype=pas T 1000 7400 5 10 0 1 0 0 1 pinlabel=26 T 1000 7400 5 10 0 1 0 0 1 pinseq=26 } V 800 7400 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 7700 500 7700 1 0 0 { T 1050 7750 5 10 1 1 0 0 1 pinnumber=25 T 1300 7700 5 10 0 1 0 0 1 pintype=pas T 1300 7700 5 10 0 1 0 0 1 pinlabel=25 T 1300 7700 5 10 0 1 0 0 1 pinseq=25 } L 500 7700 200 7600 3 0 0 0 -1 -1 V 200 7400 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 10100 500 10100 1 0 0 { T 1050 10150 5 10 1 1 0 0 1 pinnumber=17 T 1300 10100 5 10 0 1 0 0 1 pintype=pas T 1300 10100 5 10 0 1 0 0 1 pinlabel=17 T 1300 10100 5 10 0 1 0 0 1 pinseq=17 } L 500 10100 200 10000 3 0 0 0 -1 -1 P 1000 6800 1300 6800 1 0 1 { T 1050 6850 5 10 1 1 0 0 1 pinnumber=28 T 1000 6800 5 10 0 1 0 0 1 pintype=pas T 1000 6800 5 10 0 1 0 0 1 pinlabel=28 T 1000 6800 5 10 0 1 0 0 1 pinseq=28 } V 800 6800 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 7100 500 7100 1 0 0 { T 1050 7150 5 10 1 1 0 0 1 pinnumber=27 T 1300 7100 5 10 0 1 0 0 1 pintype=pas T 1300 7100 5 10 0 1 0 0 1 pinlabel=27 T 1300 7100 5 10 0 1 0 0 1 pinseq=27 } L 500 7100 200 7000 3 0 0 0 -1 -1 V 200 6800 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 6200 1300 6200 1 0 1 { T 1050 6250 5 10 1 1 0 0 1 pinnumber=30 T 1000 6200 5 10 0 1 0 0 1 pintype=pas T 1000 6200 5 10 0 1 0 0 1 pinlabel=30 T 1000 6200 5 10 0 1 0 0 1 pinseq=30 } V 800 6200 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 6500 500 6500 1 0 0 { T 1050 6550 5 10 1 1 0 0 1 pinnumber=29 T 1300 6500 5 10 0 1 0 0 1 pintype=pas T 1300 6500 5 10 0 1 0 0 1 pinlabel=29 T 1300 6500 5 10 0 1 0 0 1 pinseq=29 } L 500 6500 200 6400 3 0 0 0 -1 -1 V 200 6200 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 5600 1300 5600 1 0 1 { T 1050 5650 5 10 1 1 0 0 1 pinnumber=32 T 1000 5600 5 10 0 1 0 0 1 pintype=pas T 1000 5600 5 10 0 1 0 0 1 pinlabel=32 T 1000 5600 5 10 0 1 0 0 1 pinseq=32 } V 800 5600 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 5900 500 5900 1 0 0 { T 1050 5950 5 10 1 1 0 0 1 pinnumber=31 T 1300 5900 5 10 0 1 0 0 1 pintype=pas T 1300 5900 5 10 0 1 0 0 1 pinlabel=31 T 1300 5900 5 10 0 1 0 0 1 pinseq=31 } L 500 5900 200 5800 3 0 0 0 -1 -1 V 200 5600 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 5000 1300 5000 1 0 1 { T 1050 5050 5 10 1 1 0 0 1 pinnumber=34 T 1000 5000 5 10 0 1 0 0 1 pintype=pas T 1000 5000 5 10 0 1 0 0 1 pinlabel=34 T 1000 5000 5 10 0 1 0 0 1 pinseq=34 } V 800 5000 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 5300 500 5300 1 0 0 { T 1050 5350 5 10 1 1 0 0 1 pinnumber=33 T 1300 5300 5 10 0 1 0 0 1 pintype=pas T 1300 5300 5 10 0 1 0 0 1 pinlabel=33 T 1300 5300 5 10 0 1 0 0 1 pinseq=33 } L 500 5300 200 5200 3 0 0 0 -1 -1 V 200 5000 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 4400 1300 4400 1 0 1 { T 1050 4450 5 10 1 1 0 0 1 pinnumber=36 T 1000 4400 5 10 0 1 0 0 1 pintype=pas T 1000 4400 5 10 0 1 0 0 1 pinlabel=36 T 1000 4400 5 10 0 1 0 0 1 pinseq=36 } V 800 4400 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 4700 500 4700 1 0 0 { T 1050 4750 5 10 1 1 0 0 1 pinnumber=35 T 1300 4700 5 10 0 1 0 0 1 pintype=pas T 1300 4700 5 10 0 1 0 0 1 pinlabel=35 T 1300 4700 5 10 0 1 0 0 1 pinseq=35 } L 500 4700 200 4600 3 0 0 0 -1 -1 V 200 4400 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 3800 1300 3800 1 0 1 { T 1050 3850 5 10 1 1 0 0 1 pinnumber=38 T 1000 3800 5 10 0 1 0 0 1 pintype=pas T 1000 3800 5 10 0 1 0 0 1 pinlabel=38 T 1000 3800 5 10 0 1 0 0 1 pinseq=38 } V 800 3800 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 4100 500 4100 1 0 0 { T 1050 4150 5 10 1 1 0 0 1 pinnumber=37 T 1300 4100 5 10 0 1 0 0 1 pintype=pas T 1300 4100 5 10 0 1 0 0 1 pinlabel=37 T 1300 4100 5 10 0 1 0 0 1 pinseq=37 } L 500 4100 200 4000 3 0 0 0 -1 -1 V 200 3800 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 3200 1300 3200 1 0 1 { T 1050 3250 5 10 1 1 0 0 1 pinnumber=40 T 1000 3200 5 10 0 1 0 0 1 pintype=pas T 1000 3200 5 10 0 1 0 0 1 pinlabel=40 T 1000 3200 5 10 0 1 0 0 1 pinseq=40 } V 800 3200 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 3500 500 3500 1 0 0 { T 1050 3550 5 10 1 1 0 0 1 pinnumber=39 T 1300 3500 5 10 0 1 0 0 1 pintype=pas T 1300 3500 5 10 0 1 0 0 1 pinlabel=39 T 1300 3500 5 10 0 1 0 0 1 pinseq=39 } L 500 3500 200 3400 3 0 0 0 -1 -1 V 200 3200 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 2600 1300 2600 1 0 1 { T 1050 2650 5 10 1 1 0 0 1 pinnumber=42 T 1000 2600 5 10 0 1 0 0 1 pintype=pas T 1000 2600 5 10 0 1 0 0 1 pinlabel=42 T 1000 2600 5 10 0 1 0 0 1 pinseq=42 } V 800 2600 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 2900 500 2900 1 0 0 { T 1050 2950 5 10 1 1 0 0 1 pinnumber=41 T 1300 2900 5 10 0 1 0 0 1 pintype=pas T 1300 2900 5 10 0 1 0 0 1 pinlabel=41 T 1300 2900 5 10 0 1 0 0 1 pinseq=41 } L 500 2900 200 2800 3 0 0 0 -1 -1 V 200 2600 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 2000 1300 2000 1 0 1 { T 1050 2050 5 10 1 1 0 0 1 pinnumber=44 T 1000 2000 5 10 0 1 0 0 1 pintype=pas T 1000 2000 5 10 0 1 0 0 1 pinlabel=44 T 1000 2000 5 10 0 1 0 0 1 pinseq=44 } V 800 2000 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 200 2000 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 1400 1300 1400 1 0 1 { T 1050 1450 5 10 1 1 0 0 1 pinnumber=46 T 1000 1400 5 10 0 1 0 0 1 pintype=pas T 1000 1400 5 10 0 1 0 0 1 pinlabel=46 T 1000 1400 5 10 0 1 0 0 1 pinseq=46 } V 800 1400 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 1700 500 1700 1 0 0 { T 1050 1750 5 10 1 1 0 0 1 pinnumber=45 T 1300 1700 5 10 0 1 0 0 1 pintype=pas T 1300 1700 5 10 0 1 0 0 1 pinlabel=45 T 1300 1700 5 10 0 1 0 0 1 pinseq=45 } L 500 1700 200 1600 3 0 0 0 -1 -1 V 200 1400 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 800 1300 800 1 0 1 { T 1050 850 5 10 1 1 0 0 1 pinnumber=48 T 1000 800 5 10 0 1 0 0 1 pintype=pas T 1000 800 5 10 0 1 0 0 1 pinlabel=48 T 1000 800 5 10 0 1 0 0 1 pinseq=48 } V 800 800 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 1100 500 1100 1 0 0 { T 1050 1150 5 10 1 1 0 0 1 pinnumber=47 T 1300 1100 5 10 0 1 0 0 1 pintype=pas T 1300 1100 5 10 0 1 0 0 1 pinlabel=47 T 1300 1100 5 10 0 1 0 0 1 pinseq=47 } L 500 1100 200 1000 3 0 0 0 -1 -1 V 200 800 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 200 1300 200 1 0 1 { T 1050 250 5 10 1 1 0 0 1 pinnumber=50 T 1000 200 5 10 0 1 0 0 1 pintype=pas T 1000 200 5 10 0 1 0 0 1 pinlabel=50 T 1000 200 5 10 0 1 0 0 1 pinseq=50 } V 800 200 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 500 500 500 1 0 0 { T 1050 550 5 10 1 1 0 0 1 pinnumber=49 T 1300 500 5 10 0 1 0 0 1 pintype=pas T 1300 500 5 10 0 1 0 0 1 pinlabel=49 T 1300 500 5 10 0 1 0 0 1 pinseq=49 } L 500 500 200 400 3 0 0 0 -1 -1 V 200 200 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 2300 500 2300 1 0 0 { T 1050 2350 5 10 1 1 0 0 1 pinnumber=43 T 1300 2300 5 10 0 1 0 0 1 pintype=pas T 1300 2300 5 10 0 1 0 0 1 pinlabel=43 T 1300 2300 5 10 0 1 0 0 1 pinseq=43 } L 500 2300 200 2200 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/connector/connector32-2.sym0000664000175000017500000001643412204104272016614 00000000000000v 20041228 1 T 800 13400 8 10 1 1 0 6 1 refdes=CONN? T 400 13350 5 10 0 0 0 0 1 device=CONNECTOR_32 T 400 13550 5 10 0 0 0 0 1 footprint=SIP32N T 400 13750 5 10 0 0 0 0 1 author=Leon Kos T 400 13950 5 10 0 0 0 0 1 description=generic connector T 400 14150 5 10 0 0 0 0 1 numslots=0 P 100 12900 300 12900 1 0 0 { T 300 12950 5 8 0 1 0 6 1 pinnumber=1 T 300 12850 5 8 0 1 0 8 1 pinseq=1 T 450 12900 9 8 1 1 0 0 1 pinlabel=1 T 450 12900 5 8 0 1 0 2 1 pintype=pas } V 350 12900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 12500 300 12500 1 0 0 { T 300 12550 5 8 0 1 0 6 1 pinnumber=2 T 300 12450 5 8 0 1 0 8 1 pinseq=2 T 450 12500 9 8 1 1 0 0 1 pinlabel=2 T 450 12500 5 8 0 1 0 2 1 pintype=pas } V 350 12500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 12100 300 12100 1 0 0 { T 300 12150 5 8 0 1 0 6 1 pinnumber=3 T 300 12050 5 8 0 1 0 8 1 pinseq=3 T 450 12100 9 8 1 1 0 0 1 pinlabel=3 T 450 12100 5 8 0 1 0 2 1 pintype=pas } V 350 12100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 11700 300 11700 1 0 0 { T 300 11750 5 8 0 1 0 6 1 pinnumber=4 T 300 11650 5 8 0 1 0 8 1 pinseq=4 T 450 11700 9 8 1 1 0 0 1 pinlabel=4 T 450 11700 5 8 0 1 0 2 1 pintype=pas } V 350 11700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 11300 300 11300 1 0 0 { T 300 11350 5 8 0 1 0 6 1 pinnumber=5 T 300 11250 5 8 0 1 0 8 1 pinseq=5 T 450 11300 9 8 1 1 0 0 1 pinlabel=5 T 450 11300 5 8 0 1 0 2 1 pintype=pas } V 350 11300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 10900 300 10900 1 0 0 { T 300 10950 5 8 0 1 0 6 1 pinnumber=6 T 300 10850 5 8 0 1 0 8 1 pinseq=6 T 450 10900 9 8 1 1 0 0 1 pinlabel=6 T 450 10900 5 8 0 1 0 2 1 pintype=pas } V 350 10900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 10500 300 10500 1 0 0 { T 300 10550 5 8 0 1 0 6 1 pinnumber=7 T 300 10450 5 8 0 1 0 8 1 pinseq=7 T 450 10500 9 8 1 1 0 0 1 pinlabel=7 T 450 10500 5 8 0 1 0 2 1 pintype=pas } V 350 10500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 10100 300 10100 1 0 0 { T 300 10150 5 8 0 1 0 6 1 pinnumber=8 T 300 10050 5 8 0 1 0 8 1 pinseq=8 T 450 10100 9 8 1 1 0 0 1 pinlabel=8 T 450 10100 5 8 0 1 0 2 1 pintype=pas } V 350 10100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 9700 300 9700 1 0 0 { T 300 9750 5 8 0 1 0 6 1 pinnumber=9 T 300 9650 5 8 0 1 0 8 1 pinseq=9 T 450 9700 9 8 1 1 0 0 1 pinlabel=9 T 450 9700 5 8 0 1 0 2 1 pintype=pas } V 350 9700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 9300 300 9300 1 0 0 { T 300 9350 5 8 0 1 0 6 1 pinnumber=10 T 300 9250 5 8 0 1 0 8 1 pinseq=10 T 450 9300 9 8 1 1 0 0 1 pinlabel=10 T 450 9300 5 8 0 1 0 2 1 pintype=pas } V 350 9300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8900 300 8900 1 0 0 { T 300 8950 5 8 0 1 0 6 1 pinnumber=11 T 300 8850 5 8 0 1 0 8 1 pinseq=11 T 450 8900 9 8 1 1 0 0 1 pinlabel=11 T 450 8900 5 8 0 1 0 2 1 pintype=pas } V 350 8900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8500 300 8500 1 0 0 { T 300 8550 5 8 0 1 0 6 1 pinnumber=12 T 300 8450 5 8 0 1 0 8 1 pinseq=12 T 450 8500 9 8 1 1 0 0 1 pinlabel=12 T 450 8500 5 8 0 1 0 2 1 pintype=pas } V 350 8500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8100 300 8100 1 0 0 { T 300 8150 5 8 0 1 0 6 1 pinnumber=13 T 300 8050 5 8 0 1 0 8 1 pinseq=13 T 450 8100 9 8 1 1 0 0 1 pinlabel=13 T 450 8100 5 8 0 1 0 2 1 pintype=pas } V 350 8100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 7700 300 7700 1 0 0 { T 300 7750 5 8 0 1 0 6 1 pinnumber=14 T 300 7650 5 8 0 1 0 8 1 pinseq=14 T 450 7700 9 8 1 1 0 0 1 pinlabel=14 T 450 7700 5 8 0 1 0 2 1 pintype=pas } V 350 7700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 7300 300 7300 1 0 0 { T 300 7350 5 8 0 1 0 6 1 pinnumber=15 T 300 7250 5 8 0 1 0 8 1 pinseq=15 T 450 7300 9 8 1 1 0 0 1 pinlabel=15 T 450 7300 5 8 0 1 0 2 1 pintype=pas } V 350 7300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6900 300 6900 1 0 0 { T 300 6950 5 8 0 1 0 6 1 pinnumber=16 T 300 6850 5 8 0 1 0 8 1 pinseq=16 T 450 6900 9 8 1 1 0 0 1 pinlabel=16 T 450 6900 5 8 0 1 0 2 1 pintype=pas } V 350 6900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6500 300 6500 1 0 0 { T 300 6550 5 8 0 1 0 6 1 pinnumber=17 T 300 6450 5 8 0 1 0 8 1 pinseq=17 T 450 6500 9 8 1 1 0 0 1 pinlabel=17 T 450 6500 5 8 0 1 0 2 1 pintype=pas } V 350 6500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6100 300 6100 1 0 0 { T 300 6150 5 8 0 1 0 6 1 pinnumber=18 T 300 6050 5 8 0 1 0 8 1 pinseq=18 T 450 6100 9 8 1 1 0 0 1 pinlabel=18 T 450 6100 5 8 0 1 0 2 1 pintype=pas } V 350 6100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 5700 300 5700 1 0 0 { T 300 5750 5 8 0 1 0 6 1 pinnumber=19 T 300 5650 5 8 0 1 0 8 1 pinseq=19 T 450 5700 9 8 1 1 0 0 1 pinlabel=19 T 450 5700 5 8 0 1 0 2 1 pintype=pas } V 350 5700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 5300 300 5300 1 0 0 { T 300 5350 5 8 0 1 0 6 1 pinnumber=20 T 300 5250 5 8 0 1 0 8 1 pinseq=20 T 450 5300 9 8 1 1 0 0 1 pinlabel=20 T 450 5300 5 8 0 1 0 2 1 pintype=pas } V 350 5300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4900 300 4900 1 0 0 { T 300 4950 5 8 0 1 0 6 1 pinnumber=21 T 300 4850 5 8 0 1 0 8 1 pinseq=21 T 450 4900 9 8 1 1 0 0 1 pinlabel=21 T 450 4900 5 8 0 1 0 2 1 pintype=pas } V 350 4900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4500 300 4500 1 0 0 { T 300 4550 5 8 0 1 0 6 1 pinnumber=22 T 300 4450 5 8 0 1 0 8 1 pinseq=22 T 450 4500 9 8 1 1 0 0 1 pinlabel=22 T 450 4500 5 8 0 1 0 2 1 pintype=pas } V 350 4500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4100 300 4100 1 0 0 { T 300 4150 5 8 0 1 0 6 1 pinnumber=23 T 300 4050 5 8 0 1 0 8 1 pinseq=23 T 450 4100 9 8 1 1 0 0 1 pinlabel=23 T 450 4100 5 8 0 1 0 2 1 pintype=pas } V 350 4100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 3700 300 3700 1 0 0 { T 300 3750 5 8 0 1 0 6 1 pinnumber=24 T 300 3650 5 8 0 1 0 8 1 pinseq=24 T 450 3700 9 8 1 1 0 0 1 pinlabel=24 T 450 3700 5 8 0 1 0 2 1 pintype=pas } V 350 3700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 3300 300 3300 1 0 0 { T 300 3350 5 8 0 1 0 6 1 pinnumber=25 T 300 3250 5 8 0 1 0 8 1 pinseq=25 T 450 3300 9 8 1 1 0 0 1 pinlabel=25 T 450 3300 5 8 0 1 0 2 1 pintype=pas } V 350 3300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2900 300 2900 1 0 0 { T 300 2950 5 8 0 1 0 6 1 pinnumber=26 T 300 2850 5 8 0 1 0 8 1 pinseq=26 T 450 2900 9 8 1 1 0 0 1 pinlabel=26 T 450 2900 5 8 0 1 0 2 1 pintype=pas } V 350 2900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2500 300 2500 1 0 0 { T 300 2550 5 8 0 1 0 6 1 pinnumber=27 T 300 2450 5 8 0 1 0 8 1 pinseq=27 T 450 2500 9 8 1 1 0 0 1 pinlabel=27 T 450 2500 5 8 0 1 0 2 1 pintype=pas } V 350 2500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2100 300 2100 1 0 0 { T 300 2150 5 8 0 1 0 6 1 pinnumber=28 T 300 2050 5 8 0 1 0 8 1 pinseq=28 T 450 2100 9 8 1 1 0 0 1 pinlabel=28 T 450 2100 5 8 0 1 0 2 1 pintype=pas } V 350 2100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1700 300 1700 1 0 0 { T 300 1750 5 8 0 1 0 6 1 pinnumber=29 T 300 1650 5 8 0 1 0 8 1 pinseq=29 T 450 1700 9 8 1 1 0 0 1 pinlabel=29 T 450 1700 5 8 0 1 0 2 1 pintype=pas } V 350 1700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1300 300 1300 1 0 0 { T 300 1350 5 8 0 1 0 6 1 pinnumber=30 T 300 1250 5 8 0 1 0 8 1 pinseq=30 T 450 1300 9 8 1 1 0 0 1 pinlabel=30 T 450 1300 5 8 0 1 0 2 1 pintype=pas } V 350 1300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 900 300 900 1 0 0 { T 300 950 5 8 0 1 0 6 1 pinnumber=31 T 300 850 5 8 0 1 0 8 1 pinseq=31 T 450 900 9 8 1 1 0 0 1 pinlabel=31 T 450 900 5 8 0 1 0 2 1 pintype=pas } V 350 900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 500 300 500 1 0 0 { T 300 550 5 8 0 1 0 6 1 pinnumber=32 T 300 450 5 8 0 1 0 8 1 pinseq=32 T 450 500 9 8 1 1 0 0 1 pinlabel=32 T 450 500 5 8 0 1 0 2 1 pintype=pas } V 350 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 400 100 400 13200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/connector/connector39-2.sym0000664000175000017500000002153712204104272016623 00000000000000v 20041228 1 T 800 16200 8 10 1 1 0 6 1 refdes=CONN? T 400 16150 5 10 0 0 0 0 1 device=CONNECTOR_39 T 400 16350 5 10 0 0 0 0 1 footprint=SIP39N T 400 16550 5 10 0 0 0 0 1 author=Leon Kos T 400 16750 5 10 0 0 0 0 1 description=generic connector T 400 16950 5 10 0 0 0 0 1 numslots=0 P 100 15700 300 15700 1 0 0 { T 300 15750 5 8 0 1 0 6 1 pinnumber=1 T 300 15650 5 8 0 1 0 8 1 pinseq=1 T 450 15700 9 8 1 1 0 0 1 pinlabel=1 T 450 15700 5 8 0 1 0 2 1 pintype=pas } V 350 15700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 15300 300 15300 1 0 0 { T 300 15350 5 8 0 1 0 6 1 pinnumber=2 T 300 15250 5 8 0 1 0 8 1 pinseq=2 T 450 15300 9 8 1 1 0 0 1 pinlabel=2 T 450 15300 5 8 0 1 0 2 1 pintype=pas } V 350 15300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 14900 300 14900 1 0 0 { T 300 14950 5 8 0 1 0 6 1 pinnumber=3 T 300 14850 5 8 0 1 0 8 1 pinseq=3 T 450 14900 9 8 1 1 0 0 1 pinlabel=3 T 450 14900 5 8 0 1 0 2 1 pintype=pas } V 350 14900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 14500 300 14500 1 0 0 { T 300 14550 5 8 0 1 0 6 1 pinnumber=4 T 300 14450 5 8 0 1 0 8 1 pinseq=4 T 450 14500 9 8 1 1 0 0 1 pinlabel=4 T 450 14500 5 8 0 1 0 2 1 pintype=pas } V 350 14500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 14100 300 14100 1 0 0 { T 300 14150 5 8 0 1 0 6 1 pinnumber=5 T 300 14050 5 8 0 1 0 8 1 pinseq=5 T 450 14100 9 8 1 1 0 0 1 pinlabel=5 T 450 14100 5 8 0 1 0 2 1 pintype=pas } V 350 14100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 13700 300 13700 1 0 0 { T 300 13750 5 8 0 1 0 6 1 pinnumber=6 T 300 13650 5 8 0 1 0 8 1 pinseq=6 T 450 13700 9 8 1 1 0 0 1 pinlabel=6 T 450 13700 5 8 0 1 0 2 1 pintype=pas } V 350 13700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 13300 300 13300 1 0 0 { T 300 13350 5 8 0 1 0 6 1 pinnumber=7 T 300 13250 5 8 0 1 0 8 1 pinseq=7 T 450 13300 9 8 1 1 0 0 1 pinlabel=7 T 450 13300 5 8 0 1 0 2 1 pintype=pas } V 350 13300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 12900 300 12900 1 0 0 { T 300 12950 5 8 0 1 0 6 1 pinnumber=8 T 300 12850 5 8 0 1 0 8 1 pinseq=8 T 450 12900 9 8 1 1 0 0 1 pinlabel=8 T 450 12900 5 8 0 1 0 2 1 pintype=pas } V 350 12900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 12500 300 12500 1 0 0 { T 300 12550 5 8 0 1 0 6 1 pinnumber=9 T 300 12450 5 8 0 1 0 8 1 pinseq=9 T 450 12500 9 8 1 1 0 0 1 pinlabel=9 T 450 12500 5 8 0 1 0 2 1 pintype=pas } V 350 12500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 12100 300 12100 1 0 0 { T 300 12150 5 8 0 1 0 6 1 pinnumber=10 T 300 12050 5 8 0 1 0 8 1 pinseq=10 T 450 12100 9 8 1 1 0 0 1 pinlabel=10 T 450 12100 5 8 0 1 0 2 1 pintype=pas } V 350 12100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 11700 300 11700 1 0 0 { T 300 11750 5 8 0 1 0 6 1 pinnumber=11 T 300 11650 5 8 0 1 0 8 1 pinseq=11 T 450 11700 9 8 1 1 0 0 1 pinlabel=11 T 450 11700 5 8 0 1 0 2 1 pintype=pas } V 350 11700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 11300 300 11300 1 0 0 { T 300 11350 5 8 0 1 0 6 1 pinnumber=12 T 300 11250 5 8 0 1 0 8 1 pinseq=12 T 450 11300 9 8 1 1 0 0 1 pinlabel=12 T 450 11300 5 8 0 1 0 2 1 pintype=pas } V 350 11300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 10900 300 10900 1 0 0 { T 300 10950 5 8 0 1 0 6 1 pinnumber=13 T 300 10850 5 8 0 1 0 8 1 pinseq=13 T 450 10900 9 8 1 1 0 0 1 pinlabel=13 T 450 10900 5 8 0 1 0 2 1 pintype=pas } V 350 10900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 10500 300 10500 1 0 0 { T 300 10550 5 8 0 1 0 6 1 pinnumber=14 T 300 10450 5 8 0 1 0 8 1 pinseq=14 T 450 10500 9 8 1 1 0 0 1 pinlabel=14 T 450 10500 5 8 0 1 0 2 1 pintype=pas } V 350 10500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 10100 300 10100 1 0 0 { T 300 10150 5 8 0 1 0 6 1 pinnumber=15 T 300 10050 5 8 0 1 0 8 1 pinseq=15 T 450 10100 9 8 1 1 0 0 1 pinlabel=15 T 450 10100 5 8 0 1 0 2 1 pintype=pas } V 350 10100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 9700 300 9700 1 0 0 { T 300 9750 5 8 0 1 0 6 1 pinnumber=16 T 300 9650 5 8 0 1 0 8 1 pinseq=16 T 450 9700 9 8 1 1 0 0 1 pinlabel=16 T 450 9700 5 8 0 1 0 2 1 pintype=pas } V 350 9700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 9300 300 9300 1 0 0 { T 300 9350 5 8 0 1 0 6 1 pinnumber=17 T 300 9250 5 8 0 1 0 8 1 pinseq=17 T 450 9300 9 8 1 1 0 0 1 pinlabel=17 T 450 9300 5 8 0 1 0 2 1 pintype=pas } V 350 9300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8900 300 8900 1 0 0 { T 300 8950 5 8 0 1 0 6 1 pinnumber=18 T 300 8850 5 8 0 1 0 8 1 pinseq=18 T 450 8900 9 8 1 1 0 0 1 pinlabel=18 T 450 8900 5 8 0 1 0 2 1 pintype=pas } V 350 8900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8500 300 8500 1 0 0 { T 300 8550 5 8 0 1 0 6 1 pinnumber=19 T 300 8450 5 8 0 1 0 8 1 pinseq=19 T 450 8500 9 8 1 1 0 0 1 pinlabel=19 T 450 8500 5 8 0 1 0 2 1 pintype=pas } V 350 8500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8100 300 8100 1 0 0 { T 300 8150 5 8 0 1 0 6 1 pinnumber=20 T 300 8050 5 8 0 1 0 8 1 pinseq=20 T 450 8100 9 8 1 1 0 0 1 pinlabel=20 T 450 8100 5 8 0 1 0 2 1 pintype=pas } V 350 8100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 7700 300 7700 1 0 0 { T 300 7750 5 8 0 1 0 6 1 pinnumber=21 T 300 7650 5 8 0 1 0 8 1 pinseq=21 T 450 7700 9 8 1 1 0 0 1 pinlabel=21 T 450 7700 5 8 0 1 0 2 1 pintype=pas } V 350 7700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 7300 300 7300 1 0 0 { T 300 7350 5 8 0 1 0 6 1 pinnumber=22 T 300 7250 5 8 0 1 0 8 1 pinseq=22 T 450 7300 9 8 1 1 0 0 1 pinlabel=22 T 450 7300 5 8 0 1 0 2 1 pintype=pas } V 350 7300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6900 300 6900 1 0 0 { T 300 6950 5 8 0 1 0 6 1 pinnumber=23 T 300 6850 5 8 0 1 0 8 1 pinseq=23 T 450 6900 9 8 1 1 0 0 1 pinlabel=23 T 450 6900 5 8 0 1 0 2 1 pintype=pas } V 350 6900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6500 300 6500 1 0 0 { T 300 6550 5 8 0 1 0 6 1 pinnumber=24 T 300 6450 5 8 0 1 0 8 1 pinseq=24 T 450 6500 9 8 1 1 0 0 1 pinlabel=24 T 450 6500 5 8 0 1 0 2 1 pintype=pas } V 350 6500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 6100 300 6100 1 0 0 { T 300 6150 5 8 0 1 0 6 1 pinnumber=25 T 300 6050 5 8 0 1 0 8 1 pinseq=25 T 450 6100 9 8 1 1 0 0 1 pinlabel=25 T 450 6100 5 8 0 1 0 2 1 pintype=pas } V 350 6100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 5700 300 5700 1 0 0 { T 300 5750 5 8 0 1 0 6 1 pinnumber=26 T 300 5650 5 8 0 1 0 8 1 pinseq=26 T 450 5700 9 8 1 1 0 0 1 pinlabel=26 T 450 5700 5 8 0 1 0 2 1 pintype=pas } V 350 5700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 5300 300 5300 1 0 0 { T 300 5350 5 8 0 1 0 6 1 pinnumber=27 T 300 5250 5 8 0 1 0 8 1 pinseq=27 T 450 5300 9 8 1 1 0 0 1 pinlabel=27 T 450 5300 5 8 0 1 0 2 1 pintype=pas } V 350 5300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4900 300 4900 1 0 0 { T 300 4950 5 8 0 1 0 6 1 pinnumber=28 T 300 4850 5 8 0 1 0 8 1 pinseq=28 T 450 4900 9 8 1 1 0 0 1 pinlabel=28 T 450 4900 5 8 0 1 0 2 1 pintype=pas } V 350 4900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4500 300 4500 1 0 0 { T 300 4550 5 8 0 1 0 6 1 pinnumber=29 T 300 4450 5 8 0 1 0 8 1 pinseq=29 T 450 4500 9 8 1 1 0 0 1 pinlabel=29 T 450 4500 5 8 0 1 0 2 1 pintype=pas } V 350 4500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 4100 300 4100 1 0 0 { T 300 4150 5 8 0 1 0 6 1 pinnumber=30 T 300 4050 5 8 0 1 0 8 1 pinseq=30 T 450 4100 9 8 1 1 0 0 1 pinlabel=30 T 450 4100 5 8 0 1 0 2 1 pintype=pas } V 350 4100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 3700 300 3700 1 0 0 { T 300 3750 5 8 0 1 0 6 1 pinnumber=31 T 300 3650 5 8 0 1 0 8 1 pinseq=31 T 450 3700 9 8 1 1 0 0 1 pinlabel=31 T 450 3700 5 8 0 1 0 2 1 pintype=pas } V 350 3700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 3300 300 3300 1 0 0 { T 300 3350 5 8 0 1 0 6 1 pinnumber=32 T 300 3250 5 8 0 1 0 8 1 pinseq=32 T 450 3300 9 8 1 1 0 0 1 pinlabel=32 T 450 3300 5 8 0 1 0 2 1 pintype=pas } V 350 3300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2900 300 2900 1 0 0 { T 300 2950 5 8 0 1 0 6 1 pinnumber=33 T 300 2850 5 8 0 1 0 8 1 pinseq=33 T 450 2900 9 8 1 1 0 0 1 pinlabel=33 T 450 2900 5 8 0 1 0 2 1 pintype=pas } V 350 2900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2500 300 2500 1 0 0 { T 300 2550 5 8 0 1 0 6 1 pinnumber=34 T 300 2450 5 8 0 1 0 8 1 pinseq=34 T 450 2500 9 8 1 1 0 0 1 pinlabel=34 T 450 2500 5 8 0 1 0 2 1 pintype=pas } V 350 2500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 2100 300 2100 1 0 0 { T 300 2150 5 8 0 1 0 6 1 pinnumber=35 T 300 2050 5 8 0 1 0 8 1 pinseq=35 T 450 2100 9 8 1 1 0 0 1 pinlabel=35 T 450 2100 5 8 0 1 0 2 1 pintype=pas } V 350 2100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1700 300 1700 1 0 0 { T 300 1750 5 8 0 1 0 6 1 pinnumber=36 T 300 1650 5 8 0 1 0 8 1 pinseq=36 T 450 1700 9 8 1 1 0 0 1 pinlabel=36 T 450 1700 5 8 0 1 0 2 1 pintype=pas } V 350 1700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 1300 300 1300 1 0 0 { T 300 1350 5 8 0 1 0 6 1 pinnumber=37 T 300 1250 5 8 0 1 0 8 1 pinseq=37 T 450 1300 9 8 1 1 0 0 1 pinlabel=37 T 450 1300 5 8 0 1 0 2 1 pintype=pas } V 350 1300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 900 300 900 1 0 0 { T 300 950 5 8 0 1 0 6 1 pinnumber=38 T 300 850 5 8 0 1 0 8 1 pinseq=38 T 450 900 9 8 1 1 0 0 1 pinlabel=38 T 450 900 5 8 0 1 0 2 1 pintype=pas } V 350 900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 500 300 500 1 0 0 { T 300 550 5 8 0 1 0 6 1 pinnumber=39 T 300 450 5 8 0 1 0 8 1 pinseq=39 T 450 500 9 8 1 1 0 0 1 pinlabel=39 T 450 500 5 8 0 1 0 2 1 pintype=pas } V 350 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 400 100 400 16000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/Makefile.in0000664000175000017500000006744612220655725013664 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = symbols DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(dist_gafrcd_DATA) $(nobase_dist_datasym_DATA) AUTHORS \ ChangeLog README TODO ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(gafrcddir)" "$(DESTDIR)$(datasymdir)" DATA = $(dist_gafrcd_DATA) $(nobase_dist_datasym_DATA) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ symbol_dirs = \ 4000 \ 74 \ IEC417 \ allegro \ altera \ amphenol \ analog \ apex \ asic \ asicpads \ bus \ cascade \ connector \ dec \ diode \ ecl \ gnetman \ idt \ io \ irf \ lattice \ linear \ local \ maxim \ memory \ micro \ minicircuits \ misc \ national \ opto \ philips \ pla \ power \ radio \ relay \ rf \ spice \ st \ supervisor \ switcap \ switch \ titleblock \ transistor \ tube \ verilog \ vhdl \ xilinx SUBDIRS = documentation gafrcddir = $(GEDADATADIR)/gafrc.d dist_gafrcd_DATA = geda-clib.scm datasymdir = $(GEDADATADIR)/sym nobase_dist_datasym_DATA = \ vhdl/verilog2vhdl.sh vhdl/script.sed EXTRA_DIST = ChangeLog ChangeLog-1.0 \ radio/README AUTHORS MOSTLYCLEANFILES = *.log *~ CLEANFILES = *.log *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log *~ Makefile.in ChangeLog all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu symbols/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu symbols/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-dist_gafrcdDATA: $(dist_gafrcd_DATA) @$(NORMAL_INSTALL) @list='$(dist_gafrcd_DATA)'; test -n "$(gafrcddir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(gafrcddir)'"; \ $(MKDIR_P) "$(DESTDIR)$(gafrcddir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(gafrcddir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(gafrcddir)" || exit $$?; \ done uninstall-dist_gafrcdDATA: @$(NORMAL_UNINSTALL) @list='$(dist_gafrcd_DATA)'; test -n "$(gafrcddir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(gafrcddir)'; $(am__uninstall_files_from_dir) install-nobase_dist_datasymDATA: $(nobase_dist_datasym_DATA) @$(NORMAL_INSTALL) @list='$(nobase_dist_datasym_DATA)'; test -n "$(datasymdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(datasymdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(datasymdir)" || exit 1; \ fi; \ $(am__nobase_list) | while read dir files; do \ xfiles=; for file in $$files; do \ if test -f "$$file"; then xfiles="$$xfiles $$file"; \ else xfiles="$$xfiles $(srcdir)/$$file"; fi; done; \ test -z "$$xfiles" || { \ test "x$$dir" = x. || { \ echo " $(MKDIR_P) '$(DESTDIR)$(datasymdir)/$$dir'"; \ $(MKDIR_P) "$(DESTDIR)$(datasymdir)/$$dir"; }; \ echo " $(INSTALL_DATA) $$xfiles '$(DESTDIR)$(datasymdir)/$$dir'"; \ $(INSTALL_DATA) $$xfiles "$(DESTDIR)$(datasymdir)/$$dir" || exit $$?; }; \ done uninstall-nobase_dist_datasymDATA: @$(NORMAL_UNINSTALL) @list='$(nobase_dist_datasym_DATA)'; test -n "$(datasymdir)" || list=; \ $(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \ dir='$(DESTDIR)$(datasymdir)'; $(am__uninstall_files_from_dir) # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" distdir="$(distdir)" \ dist-hook check-am: all-am check: check-recursive all-am: Makefile $(DATA) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(gafrcddir)" "$(DESTDIR)$(datasymdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-data-local install-dist_gafrcdDATA \ install-nobase_dist_datasymDATA install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-dist_gafrcdDATA uninstall-local \ uninstall-nobase_dist_datasymDATA .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic clean-libtool cscopelist-am ctags \ ctags-am dist-hook distclean distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-data-local install-dist_gafrcdDATA \ install-dvi install-dvi-am install-exec install-exec-am \ install-html install-html-am install-info install-info-am \ install-man install-nobase_dist_datasymDATA install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs installdirs-am \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am uninstall-dist_gafrcdDATA \ uninstall-local uninstall-nobase_dist_datasymDATA @HAVE_GIT_REPO_TRUE@ChangeLog: $(top_builddir)/stamp-git @HAVE_GIT_REPO_TRUE@ (cd $(srcdir) && $(GIT) log --pretty=medium $(CHANGELOG_BASE).. -- .) > $@ # Copies symbols into distribution dist-hook: @for lib in $(symbol_dirs); do \ $(MKDIR_P) $(distdir)/$$lib && \ list=`(ls $(srcdir)/$$lib) | grep '.[Ss][Yy][Mm]$$'`; \ for file in $$list; do \ cp -p $(srcdir)/$$lib/$$file $(distdir)/$$lib || exit $$?; \ done; \ done; # Installs symbols install-data-local: @$(NORMAL_INSTALL) @for lib in $(symbol_dirs); do \ d="$(DESTDIR)$(datasymdir)/$$lib"; \ $(MKDIR_P) "$$d"; \ list=`(ls $(srcdir)/$$lib) | grep '.[Ss][Yy][Mm]$$'`; \ if test -n "$$list"; then \ echo " ( cd $(srcdir)/$$lib && $(INSTALL_DATA)" $$list "'$$d' )"; \ (cd $(srcdir)/$$lib && $(INSTALL_DATA) $$list "$$d") || exit $$?; \ fi; \ done # Uninstalls symbols uninstall-local: @$(NORMAL_UNINSTALL) @for lib in $(symbol_dirs); do \ d="$(DESTDIR)$(datasymdir)/$$lib"; \ list=`(ls $(srcdir)/$$lib) | grep '\.[Ss][Yy][Mm]$$'`; \ if test -n "$$list"; then \ echo " ( cd '$$d' && rm -f" $$list ")"; \ (cd "$$d" && rm -f $$list) || exit $$?; \ fi; \ done # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/symbols/tube/0000775000175000017500000000000012220655766012622 500000000000000geda-gaf-1.8.2/symbols/tube/50L6GT-1.sym0000664000175000017500000000213612204104272014274 00000000000000v 20031231 1 L 900 900 900 1200 3 0 0 0 -1 -1 L 900 1200 2200 1200 3 0 0 0 -1 -1 L 2200 1200 2200 600 3 0 0 0 -1 -1 L 900 1400 1200 1400 3 0 0 0 -1 -1 L 1300 1400 1600 1400 3 0 0 0 -1 -1 L 1700 1400 2000 1400 3 0 0 0 -1 -1 L 2100 1400 2300 1400 3 0 0 0 -1 -1 L 900 1700 1200 1700 3 0 0 0 -1 -1 L 1300 1700 1600 1700 3 0 0 0 -1 -1 L 1700 1700 2000 1700 3 0 0 0 -1 -1 L 2100 1700 2300 1700 3 0 0 0 -1 -1 L 900 2100 2300 2100 3 0 0 0 -1 -1 V 1550 1550 1150 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2200 2700 5 10 0 0 0 0 1 device=50L6GT T 200 2700 9 10 1 0 0 0 1 50L6GT L 1600 2100 1600 2700 3 0 0 0 -1 -1 L 800 1400 300 1400 3 0 0 0 -1 -1 L 2400 1700 2700 1700 3 0 0 0 -1 -1 P 2200 600 2200 0 1 0 1 { T 2300 300 5 10 1 1 0 0 1 pinnumber=8 T 2300 300 5 10 0 0 0 0 1 pinseq=8 } P 400 1400 0 1400 1 0 1 { T 200 1500 5 10 1 1 0 0 1 pinnumber=5 T 200 1500 5 10 0 0 0 0 1 pinseq=5 } P 1600 2700 1600 3100 1 0 1 { T 1400 2900 5 10 1 1 0 0 1 pinnumber=3 T 1400 2900 5 10 0 0 0 0 1 pinseq=3 } P 2700 1700 3100 1700 1 0 1 { T 2900 1800 5 10 1 1 0 0 1 pinnumber=4 T 2900 1800 5 10 0 0 0 0 1 pinseq=4 } T 2500 2600 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/tube/12SA7-1.sym0000664000175000017500000000465312204104272014156 00000000000000v 20031231 1 L 800 500 800 700 3 0 0 0 -1 -1 L 800 700 2000 700 3 0 0 0 -1 -1 L 2000 700 2000 300 3 0 0 0 -1 -1 L 800 900 900 900 3 0 0 0 -1 -1 L 1000 900 1100 900 3 0 0 0 -1 -1 L 1200 900 1300 900 3 0 0 0 -1 -1 L 1400 900 1500 900 3 0 0 0 -1 -1 L 1600 900 1700 900 3 0 0 0 -1 -1 L 1800 900 1900 900 3 0 0 0 -1 -1 L 2000 900 2100 900 3 0 0 0 -1 -1 L 800 1100 900 1100 3 0 0 0 -1 -1 L 1000 1100 1100 1100 3 0 0 0 -1 -1 L 1200 1100 1300 1100 3 0 0 0 -1 -1 L 1400 1100 1500 1100 3 0 0 0 -1 -1 L 1600 1100 1700 1100 3 0 0 0 -1 -1 L 1800 1100 1900 1100 3 0 0 0 -1 -1 L 2000 1100 2100 1100 3 0 0 0 -1 -1 L 800 1300 900 1300 3 0 0 0 -1 -1 L 1000 1300 1100 1300 3 0 0 0 -1 -1 L 1200 1300 1300 1300 3 0 0 0 -1 -1 L 1400 1300 1500 1300 3 0 0 0 -1 -1 L 1600 1300 1700 1300 3 0 0 0 -1 -1 L 1800 1300 1900 1300 3 0 0 0 -1 -1 L 2000 1300 2100 1300 3 0 0 0 -1 -1 L 800 1500 900 1500 3 0 0 0 -1 -1 L 1000 1500 1100 1500 3 0 0 0 -1 -1 L 1200 1500 1300 1500 3 0 0 0 -1 -1 L 1400 1500 1500 1500 3 0 0 0 -1 -1 L 1600 1500 1700 1500 3 0 0 0 -1 -1 L 1800 1500 1900 1500 3 0 0 0 -1 -1 L 2000 1500 2100 1500 3 0 0 0 -1 -1 L 800 1700 900 1700 3 0 0 0 -1 -1 L 1000 1700 1100 1700 3 0 0 0 -1 -1 L 1200 1700 1300 1700 3 0 0 0 -1 -1 L 1400 1700 1500 1700 3 0 0 0 -1 -1 L 1600 1700 1700 1700 3 0 0 0 -1 -1 L 1800 1700 1900 1700 3 0 0 0 -1 -1 L 2000 1700 2100 1700 3 0 0 0 -1 -1 L 800 1900 2100 1900 3 0 0 0 -1 -1 L 1500 1900 1500 2300 3 0 0 0 -1 -1 V 1450 1250 1150 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2000 2400 5 10 0 0 0 0 1 device=12SA7 T 500 2400 9 8 1 0 0 0 1 12SA7 L 2200 1500 2300 1500 3 0 0 0 -1 -1 L 2300 1500 2300 1100 3 0 0 0 -1 -1 L 2200 1100 2300 1100 3 0 0 0 -1 -1 L 2300 1300 2600 1300 3 0 0 0 -1 -1 L 700 1300 300 1300 3 0 0 0 -1 -1 L 1500 2300 1500 2400 3 0 0 0 -1 -1 L 2200 900 2500 900 3 0 0 0 -1 -1 L 2200 1700 2500 1700 3 0 0 0 -1 -1 P 2000 400 2000 0 1 0 1 { T 2100 100 5 8 1 1 0 0 1 pinnumber=6 T 2100 100 5 8 0 0 0 0 1 pinseq=6 } P 2500 900 2900 900 1 0 1 { T 2800 1000 5 8 1 1 0 0 1 pinnumber=5 T 2800 1000 5 8 0 0 0 0 1 pinseq=5 } P 2600 1300 2900 1300 1 0 1 { T 2800 1400 5 8 1 1 0 0 1 pinnumber=4 T 2800 1400 5 8 0 0 0 0 1 pinseq=4 } P 2500 1700 2900 1700 1 0 1 { T 2800 1800 5 8 1 1 0 0 1 pinnumber=1 T 2800 1800 5 8 0 0 0 0 1 pinseq=1 } P 1500 2400 1500 2700 1 0 1 { T 1600 2600 5 8 1 1 0 0 1 pinnumber=3 T 1600 2600 5 8 0 0 0 0 1 pinseq=3 } P 300 1300 0 1300 1 0 1 { T 100 1400 5 8 1 1 0 0 1 pinnumber=8 T 100 1400 5 8 0 0 0 0 1 pinseq=8 } T 2300 2300 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/tube/35Z5GT-1.sym0000664000175000017500000000215312204104272014313 00000000000000v 20031231 1 L 700 1000 700 1300 3 0 0 0 -1 -1 L 700 1300 2000 1300 3 0 0 0 -1 -1 L 2000 1300 2000 800 3 0 0 0 -1 -1 L 1400 1200 1700 800 3 0 0 0 -1 -1 L 1100 900 1400 1200 3 0 0 0 -1 -1 L 1400 1200 1400 800 3 0 0 0 -1 -1 L 700 2000 2000 2000 3 0 0 0 -1 -1 L 1400 2000 1400 2500 3 0 0 0 -1 -1 V 1350 1550 1150 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2100 2600 5 10 0 0 0 0 1 device=35Z5GT T 0 2700 9 10 1 0 0 0 1 35Z5GT L 1100 900 1100 400 3 0 0 0 -1 -1 L 1700 800 1700 400 3 0 0 0 -1 -1 L 1400 800 1400 500 3 0 0 0 -1 -1 L 2000 800 2000 500 3 0 0 0 -1 -1 L 1400 2500 1400 2800 3 0 0 0 -1 -1 P 2000 500 2000 0 1 0 1 { T 1857 200 5 10 1 1 0 0 1 pinnumber=8 T 1857 200 5 10 0 0 0 0 1 pinseq=8 } P 1700 400 1700 0 1 0 1 { T 1568 200 5 10 1 1 0 0 1 pinnumber=7 T 1568 200 5 10 0 0 0 0 1 pinseq=7 } P 1400 500 1400 0 1 0 1 { T 1245 200 5 10 1 1 0 0 1 pinnumber=3 T 1245 200 5 10 0 0 0 0 1 pinseq=3 } P 1100 400 1100 0 1 0 1 { T 925 200 5 10 1 1 0 0 1 pinnumber=2 T 925 200 5 10 0 0 0 0 1 pinseq=2 } P 1400 2700 1400 3100 1 0 1 { T 1257 2900 5 10 1 1 0 0 1 pinnumber=5 T 1257 2900 5 10 0 0 0 0 1 pinseq=5 } T 2300 2500 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/tube/12SQ7-1.sym0000664000175000017500000000235112204104272014167 00000000000000v 20031231 1 V 1550 1650 1150 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2200 2700 5 10 0 0 0 0 1 device=12SQ7 T 200 2800 9 10 1 0 0 0 1 12SQ7 L 800 1400 800 1600 3 0 0 0 -1 -1 L 800 1600 2100 1600 3 0 0 0 -1 -1 L 2100 1600 2100 1200 3 0 0 0 -1 -1 L 2100 1200 2100 900 3 0 0 0 -1 -1 L 2300 1600 2300 1400 3 0 0 0 -1 -1 L 2300 1200 2300 1000 3 0 0 0 -1 -1 L 800 1900 1000 1900 3 0 0 0 -1 -1 L 1200 1900 1400 1900 3 0 0 0 -1 -1 L 1600 1900 1800 1900 3 0 0 0 -1 -1 L 2000 1900 2100 1900 3 0 0 0 -1 -1 L 800 2200 2100 2200 3 0 0 0 -1 -1 L 1500 2200 1500 2800 3 0 0 0 -1 -1 L 2300 1500 2700 1500 3 0 0 0 -1 -1 L 2300 1100 2500 1100 3 0 0 0 -1 -1 L 600 1900 400 1900 3 0 0 0 -1 -1 L 2100 900 2100 600 3 0 0 0 -1 -1 P 400 1900 0 1900 1 0 1 { T 100 2000 5 10 1 1 0 0 1 pinnumber=2 T 100 2000 5 10 0 0 0 0 1 pinseq=2 } P 1500 2800 1500 3100 1 0 1 { T 1300 2900 5 10 1 1 0 0 1 pinnumber=6 T 1300 2900 5 10 0 0 0 0 1 pinseq=6 } P 2700 1500 3100 1500 1 0 1 { T 2800 1600 5 10 1 1 0 0 1 pinnumber=4 T 2800 1600 5 10 0 0 0 0 1 pinseq=4 } P 2500 1100 3100 1100 1 0 1 { T 2800 900 5 10 1 1 0 0 1 pinnumber=5 T 2800 900 5 10 0 0 0 0 1 pinseq=5 } P 2100 600 2100 0 1 0 1 { T 1900 300 5 10 1 1 0 0 1 pinnumber=3 T 1900 300 5 10 0 0 0 0 1 pinseq=3 } T 2500 2600 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/tube/12SK7-1.sym0000664000175000017500000000256612204104272014171 00000000000000v 20031231 1 L 800 800 800 1000 3 0 0 0 -1 -1 L 800 1000 2000 1000 3 0 0 0 -1 -1 L 2000 1000 2000 600 3 0 0 0 -1 -1 L 800 1300 1000 1300 3 0 0 0 -1 -1 L 1100 1300 1300 1300 3 0 0 0 -1 -1 L 1400 1300 1600 1300 3 0 0 0 -1 -1 L 1700 1300 1900 1300 3 0 0 0 -1 -1 L 2000 1300 2100 1300 3 0 0 0 -1 -1 L 800 1600 1000 1600 3 0 0 0 -1 -1 L 1100 1600 1300 1600 3 0 0 0 -1 -1 L 1400 1600 1600 1600 3 0 0 0 -1 -1 L 1700 1600 1900 1600 3 0 0 0 -1 -1 L 2000 1600 2100 1600 3 0 0 0 -1 -1 L 800 1900 1000 1900 3 0 0 0 -1 -1 L 1100 1900 1300 1900 3 0 0 0 -1 -1 L 1400 1900 1600 1900 3 0 0 0 -1 -1 L 1700 1900 1900 1900 3 0 0 0 -1 -1 L 2000 1900 2100 1900 3 0 0 0 -1 -1 L 800 2100 2100 2100 3 0 0 0 -1 -1 L 1500 2100 1500 2600 3 0 0 0 -1 -1 V 1550 1550 1150 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2200 2700 5 10 0 0 0 0 1 device=12SK7 P 2000 600 2000 0 1 0 1 { T 2100 300 5 10 1 1 0 0 1 pinnumber=5 T 2100 300 5 10 0 0 0 0 1 pinseq=5 } P 700 1300 0 1300 1 0 1 { T 200 1100 5 10 1 1 0 0 1 pinnumber=4 T 200 1100 5 10 0 0 0 0 1 pinseq=4 } P 2200 1600 3100 1600 1 0 1 { T 2800 1700 5 10 1 1 0 0 1 pinnumber=6 T 2800 1700 5 10 0 0 0 0 1 pinseq=6 } P 700 1900 0 1900 1 0 1 { T 200 2000 5 10 1 1 0 0 1 pinnumber=3 T 200 2000 5 10 0 0 0 0 1 pinseq=3 } P 1500 2600 1500 3100 1 0 1 { T 1300 2900 5 10 1 1 0 0 1 pinnumber=8 T 1300 2900 5 10 0 0 0 0 1 pinseq=8 } T 300 2700 9 10 1 0 0 0 1 12SK7 T 2500 2500 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/AUTHORS0000664000175000017500000006252612204104272012645 00000000000000gEDA GPL Electronic Design Automation ------------------------------------------------------------------------------ Ales V. Hvezda E-mail: ahvezda@geda.seul.org Web: http://www.geda-project.org/ Many thanks to the following individuals who contributed code/other stuff: Stefan Petersen - For contributing the following symbols: crystal-1.sym resistor-2.sym mt8870-1.sym vdd-2.sym Pointing out some bugs in the io symbols Ron Van Dam - Contributed (10) 74x symbols 74123-1.sym 74138-1.sym 74139-1.sym 74151-1.sym 74153-1.sym 74154-1.sym 74161-1.sym 74164-1.sym 74245-1.sym 74574-1.sym Contributed a bunch of CPU and EPROM symbols 27256-1.sym, 62256-1.sym, 8088-1.sym, 8255A-1.sym, 27512-1.sym, 8086-1.sym, 8254-1.sym, 8259A-1.sym Stephen Tell - Contributed zener-1.sym and diode-1.sym (minor changes by Ales) Arno Peters - For contributing a bunch of analog/network symbols coil-1.sym, nmos-1.sym, nmos-2.sym, npn-1.sym npn-2.sym, opamp-1.sym, pmos-1.sym, pmos-2.sym pnp-1.sym, pnp-2.sym, coil-1.sym, coil-2.sym, crystal-1.sym vsource-1.sym, isource-1.sym ( not integrated yet) - For contributing example schematics ( be used as hierarchical examples/source) cmos-invert.sch cmos-nor.sch cmos-nand.sch - For sending in some updates to the following symbols battery-1.sym battery-2.sym battery-3.sym coil-1.sym coil-2.sym inamp-1.sym inductor-1.sym nmos-1.sym nmos-2.sym npn-1.sym npn-2.sym npn-3.sym opamp-1.sym pmos-1.sym pmos-2.sym pnp-1.sym pnp-2.sym pnp-3.sym Roger Williams - For contributing the IE417 symbol set. Lots of of symbols, see lib/sym/IE417 Tom Javen - For contributing code and font .sym files: A-diaeresis.sym A-ring.sym O-diaeresis.sym a-diaeresis.sym a-ring.sym o-diaeresis.sym (finnish and swedish character-sets) Kenneth Scharf - For contributing tube/radio symbols: 12SA7.sym 12SK7.sym 12SQ7.sym 35Z5GT.sym 50L6GT.sym IF_Trans_AirCore.sym Loop_Antenna.sym Osc_Coil_AirCore.sym resister-pot.sym AF_Output_Transformer.sym speaker.sym Capacitor_Variable.sym (names/symbols changed to comply with the other symbol libraries) - For contributing following symbols: 8031.sym, DS80C310.sym, DS80C320.sym - For contributing 8031.txt as an example input file to mk_sym Eric Smith - For contributing the following symbols: 74109-1.sym 74273-1.sym 74139-2.sym idt7204-1.sym 74244-1.sym 74244-2.sym Arnim Littek - For contributing the following symbols: 4040-1.sym 4051-1.sym 4020-1.sym 4046-1.sym icl7660-1.sym For contributing the following symbols: mains-plug-1.sym pwrxfmr-1.sym bridge-1.sym For providing updates/bugfixes to these symbols: 4051-1.sym As well as a sample schematic (filter_1.sch) For contributing the following symbols: pic16c505-1.sym inamp-1.sym vss-1.sym (The following have not been integrated yet: ltc2400-1.sym For contributing the following symbols: AD633JN-1.sym resistor-variable-1.sym For contributing the following symbols: 2tri-1.sym 3tri-1.sym beeper-1.sym connector4-1.sym jumper-1.sym lt1181-1.sym ltc2400-1.sym max232-1.sym pic16c5x-1.sym vcc-1.sym For contributing the following symbols: 24Cxx-1.sym 4000-1.sym 93Cx6-1.sym connector2-1.sym leddual-1.sym leddual-2.sym mc1496-1.sym switch-dip6-1.sym sx28ac-1.sym For contributing the following symbols: diode-2.sym lt1108-1.sym Jerry O'Keefe - For contributing the following symbols: (Ales renamed and did some minor touch ups) (Lines touching arcs, moved pins in BNC-1.sym, and re-translated symbols to the origin) 4538-1.sym BNC-1.sym DB25-1.sym DB9-1.sym - Sending in an update of DB25-1.sym - For volunteering to cleanup the 75 symbols (listed below) and making sure that they conform to the current symbol specs. Jason Watson - For contributing the following symbols: (Ales renamed them from the original names and re-translated pic16C74A-1.sym to be on 100 spaced grid points) 4016-1.sym, 4066-1.sym, lm-135-1.sym, lm-75-1.sym, pic16C74A-1.sym (Ales renamed lm-75 and lm-135 to lm75 and lm135) Randy M. Thurman-Keup - For contributing the following symbols: connector26-1.sym connector16-1.sym connector10-1.sym connector6-1.sym connector3-1.sym fuse-1.sym input-1.sym output-1.sym resistorpack10-1.sym resistorpack6-1.sym ssrelay-spdt-lcc110-1.sym ssrelay-spst-lcb110-1.sym switch-dip-4.sym switch-dip8-1.sym switch-pushbutton-nc-1.sym switch-pushbutton-spdt-1.sym lm311-1.sym lm324-1.sym lm339-1.sym lm393-1.sym 4N29-1.sym hcpl-2630-1.sym dac08sm-1.sym EPF10k-1.sym EPC1LC20-1.sym (Ales renamed these symbols and made adjustments so that they fit into the current symbol conventions) Ruben Leote Mendes - For contributing the following symbols: 10K10LC84-1.sym header10-1.sym (Ales renamed them and did some very minor cosmetic changes) Salman - For contributing a whole bunch of maxim symbols: ssheikh@erols.com adc0820-1.sym max038-1.sym max100-1.sym max1005-1.sym max1011-1.sym max1055-1.sym max1114-1.sym max135-1.sym max1588-1.sym max1620-1.sym max1637-1.sym max186-1.sym (Ales renamed them (added the -1) and did some minor cosmetic updates) Not integrated: max1150-1.sym For contributing or update the following symbols: adc0820-1.sym max038-1.sym max100-1.sym max1005-1.sym max1011-1.sym max101A-1.sym max1055-1.sym max1114-1.sym max135-1.sym max147-1.sym max1480A-1.sym max1482-1.sym max1588-1.sym max1614-1.sym max1620-1.sym max1637-1.sym max186-1.sym max214-1.sym max218-1.sym max3120-1.sym max378-1.sym max400-1.sym max4005-1.sym max436-1.sym max872-1.sym max874-1.sym For contributing the following symbols: 2N5245-1.sym 2N5911-1.sym 2S2K3-1.sym capacitor-variable-2.sym microphone-1.sym photo-resistor-1.sym relay-1.sym switch-spst-1.sym vcc-1.sym vcc-minus-1.sym Jos Daniel Muoz Daniel Fras - For contributing the following symbols: hcpl-4534-1.sym lm358-1.sym resistor-variable-1.sym Mike Jarabek - For contributing the following symbols: block-1.sym high-1.sym iopad-1.sym ipad-1.sym low-1.sym opad-1.sym test_verilog.sym These symbols support the verilog netlist backend. For contributing a whole bunch more verilog symbols (auto generated by mk_verilog_syms): and2-1.sym and2-2.sym and3-1.sym and3-2.sym and4-1.sym and4-2.sym and5-1.sym and5-2.sym and6-1.sym and6-2.sym and7-1.sym and7-2.sym and8-1.sym and8-2.sym and9-1.sym and9-2.sym buf.sym bufif0.sym bufif1.sym high.sym iopad.sym ipad.sym low.sym nand2-1.sym nand2-2.sym nand3-1.sym nand3-2.sym nand4-1.sym nand4-2.sym nand5-1.sym nand5-2.sym nand6-1.sym nand6-2.sym nand7-1.sym nand7-2.sym nand8-1.sym nand8-2.sym nand9-1.sym nand9-2.sym nor2-1.sym nor2-2.sym nor3-1.sym nor3-2.sym nor4-1.sym nor4-2.sym nor5-1.sym nor5-2.sym nor6-1.sym nor6-2.sym nor7-1.sym nor7-2.sym nor8-1.sym nor8-2.sym nor9-1.sym nor9-2.sym not.sym notif0.sym notif1.sym opad.sym or2-1.sym or2-2.sym or3-1.sym or3-2.sym or4-1.sym or4-2.sym or5-1.sym or5-2.sym or6-1.sym or6-2.sym or7-1.sym or7-2.sym or8-1.sym or8-2.sym or9-1.sym or9-2.sym pulldown.sym pullup.sym xnor2-1.sym xnor3-1.sym xnor4-1.sym xnor5-1.sym xnor6-1.sym xnor7-1.sym xnor8-1.sym xnor9-1.sym xor2-1.sym xor3-1.sym xor4-1.sym xor5-1.sym xor6-1.sym xor7-1.sym xor8-1.sym xor9-1.sym Ansel Sermersheim - For contributing about 100 symbols of which 75 were used (cleaned up by Jerry): 74107-1.sym 74109-1.sym 74112-1.sym 74113-1.sym 74114-1.sym 74121-1.sym 74122-1.sym 74123-1.sym 74124-1.sym 74125-1.sym 74126-1.sym 74131-1.sym 74137-1.sym 74138-1.sym 74139-1.sym 74141-1.sym 74145-1.sym 74147-1.sym 74148-1.sym 74150-1.sym 74151-1.sym 74152-1.sym 74153-1.sym 74154-1.sym 74157-1.sym 74158-1.sym 74159-1.sym 74160-1.sym 74161-1.sym 74162-1.sym 74163-1.sym 74164-1.sym 74165-1.sym 74166-1.sym 74168-1.sym 74169-1.sym 74170-1.sym 74173-1.sym 74174-1.sym 74175-1.sym 74181-1.sym 74182-1.sym 74190-1.sym 74191-1.sym 74192-1.sym 74194-1.sym 74195-1.sym 74196-1.sym 74197-1.sym 7431-1.sym 7442-1.sym 7445-1.sym 7446-1.sym 7447-1.sym 7448-1.sym 7451-1.sym 7454-1.sym 7455-1.sym 7456-1.sym 7457-1.sym 7472-1.sym 7473-1.sym 7474-1.sym 7475-1.sym 7476-1.sym 7478-1.sym 7483-1.sym 7485-1.sym 7490-1.sym 7491-1.sym 7492-1.sym 7493-1.sym 7495-1.sym 7496-1.sym 7497-1.sym Ales renamed some of the above to -2 or -3 if there was a name clash Bas Gieltjes - For contributing the following symbols: cccs-1.sym ccvs-1.sym nullor-1.sym vccs-1.sym vcvs-1.sym For contributing the following gnetlist spice backend symbol: include-1.sym Magnus Danielson - For contributing the following symbols: N82S100N-1.sym 74373-1.sym 74374-1.sym N82S23N-1.sym am27S13D-1.sym HM6264P15-1.sym DC310ES-1.sym DC8640-1.sym DC319-1.sym LSI11BUS-1.sym (Some rename/cleanup by Ales) For making updates/changes/fixes to the following symbol: 74182-1.sym For contributing (and checking in the symbols) the following symbols: 4001-1.sym 4013-1.sym 74243-1.sym 74280-1.sym 74367-1.sym DIN41612C48-1.sym DIN41612C56-1.sym DIN41612C96-1.sym gpib-1.sym z80pio-1.sym (Very minor changes to the symbols by Ales) Jamil Isma'il Khatib - For contributing the following symbol: XC95108-PC84.sym For contributing an updated version of above Marcel van de Vusse - For contributing the following symbol: 581000-1.sym For contributing the following symbol: 74673A-1.sym Tom Barraza - For contributed the following symbols: isp2032-1.sym pwrjack-1.sym Marcus Isaksson - For contribute the following gmk_sym generated symbols: pic16C84.sym PCF8591.sym DM9368.sym L293.sym (Ales had to move them to the origin) JM Routoure - For contributing the following symbols: 4093-1.sym 4N25-1.sym ad633jn-2.sym ad633jr-1.sym aop-spice-1.sym aop-std-1.sym zener-2.sym Luke Stras - For contribute the following symbols: DS26C61-1.sym max3491-1.sym Matt Ettus - For contributing and fixing a bunch of symbol(s) (See ChangeLog for which ones) Bob Smith - For contributing the following symbols 4015-1.sym 4024-1.sym 4047-1.sym 4052-1.sym 4518-1.sym Ales did some minor changes to all with slightly more work done on 4047-1.sym (bigger box) Chris Ellec - For contributing the follwing symbol: 7414-1.sym For contributing the following additional symbols: 7414-1.sym 7805-1.sym MC100ELT23-1.sym MC10E104-1.sym MC10E137-1.sym 74573-1.sym HFA1100-1.sym MC100ELT23-2.sym MC10E104-2.sym MC10E137-2.sym 7474-1.sym MC100ELT21-1.sym MC100ELT24-1.sym MC10E136-1.sym MC12429-1.sym Ales had to minorly tweek some of them / renamed 7805-1.sym (to lm7805-1.sym) Eduardo Tavares - For contributing the following symbols: 6n137-1.sym AT89S8252-24PC.sym LM628N-6.sym max865EUA-1.sym AN82527.sym HCPL4701-1.sym max3226-1.sym si9200-1.sym Bert Timmerman - For contributing the following symbols: 27C256-1.sym 62256-2.sym MAX807-1.sym SAB80C537-1.sym ULN2801A-1.sym connector20-1.sym diode-bridge-1.sym header26-1.sym header3-1.sym led-2.sym switch-dip4-2.sym switch-dip5-1.sym switch-dip5-2.sym switch-dip6-2.sym switch-dip8-2.sym 74HCT01-1.sym 74HCT03-1.sym 74HCT05-1.sym 74HCT08-1.sym 74HCT245-1.sym 74HCT541-1.sym max189-1.sym max237-1.sym max478-1.sym max492-1.sym max531-1.sym max663-1.sym max664-1.sym lm2822m-1.sym lm741-1.sym lm7905-1.sym DB31-1.sym DB9-2.sym resistor-variable-2.sym resistorpack8-1.sym zener-4.sym ADC0804-1.sym DAC0808-1.sym CS5396-1.sym HA5221-1.sym TDA2822M-1.sym PCM2702E-1.sym UAA170-1.sym lm7805-1.sym lm7805c-1.sym lm78l05-1.sym lm78l05ac-1.sym lm78l05c-1.sym lm78m05-1.sym lm79m05-1.sym switch-LORLIN-12pos-1com-1.sym switch-pushbutton-nc-1.sym switch-pushbutton-no-1.sym TC5516AP-1.sym 4021-2.sym 4094-2.sym 74HCT4094-1.sym max186-2.sym max238-1.sym header20-3.sym header34-1.sym 4011-2.sym Karel 'Clock' Kulhavy - For contributing the following symbols: HSDL7000-1.sym NE-592-1.sym MAC160-1.sym photodiode-1.sym 74132-1.sym 74123-3.sym dgnmos-1.sym glow-lamp-1.sym aui-1.sym dual-opamp-1.sym DS26LS31-1.sym 74133-1.sym switch-spdt-2.sym 2N3904-1.sym (added footprint) BC547-1.sym BC557-1.sym tl062-1.sym tl072-1.sym tl082-1.sym 7404-1.sym (correct visible attribute) mc3487-1.sym gnucap-directive-1.sym gnucap-include-1.sym gnucap-model-1.sym gnucap-npn-1.sym gnucap-options-1.sym schottky-1.sym transformer-5.sym terminal-1.sym 7404-4.sym 74133-1.sym (repair) 74133-2.sym 7414-2.sym 7432-3.sym 7474-3.sym 74power-1.sym DB25-3.sym lm319-1.sym (repaired) 2N3904-2.sym 2N3906-1.sym BC547-3.sym (renamed to -3, -2 was in use) osc-3.sym - For repairing the following symbols: switch-spdt-2.sym Mark Moss - For contributing the following symbols: 40103-1.sym 40192-1.sym 40374-1.sym 4510-1.sym 4522-1.sym 4556-1.sym 40105-1.sym 40193-1.sym 4062-1.sym 4511-1.sym 4527-1.sym 4572-1.sym 40160-1.sym 40194-1.sym 4316-1.sym 4512-1.sym 4528-1.sym 4580-1.sym 40161-1.sym 40195-1.sym 4352-1.sym 4513-1.sym 4531-1.sym 4582-1.sym 40162-1.sym 40208-1.sym 4353-1.sym 4514-1.sym 4532-1.sym 4585-1.sym 40163-1.sym 40240-1.sym 4501-1.sym 4515-1.sym 4534-1.sym 4723-1.sym 40174-1.sym 40244-1.sym 4502-1.sym 4516-1.sym 4536-1.sym 4724-1.sym 40175-1.sym 40245-1.sym 4503-1.sym 4517-1.sym 4541-1.sym 4737-1.sym 40181-1.sym 40257-1.sym 4504-1.sym 4520-1.sym 4543-1.sym 40182-1.sym 40373-1.sym 4508-1.sym 4521-1.sym 4555-1.sym Werner Hoch: - For contribute the following symbols: AT43USB320A.sym AT89C51_DIP.sym AT89C51_PLCC.sym AT89C51_TQFP.sym AT90S1200.sym AT90S2313.sym AT90S2323.sym AT90S2343.sym AT90S4433_DIP.sym AT90S4433_TQFP.sym AT90S8515_DIP.sym AT90S8515_PLCC.sym AT90S8515_TQFP.sym AT90S8535_DIP.sym AT90S8535_PLCC.sym AT90S8535_TQFP.sym ATmega103.sym ATmega161_DIP.sym ATmega161_TQFP.sym ATmega163_DIP.sym ATmega163_TQFP.sym ATtiny11.sym ATtiny12.sym ATtiny28_DIP.sym ATtiny28_TQFP.sym ATmega128-2.sym - For *SIGNIFICANT* cleanup of the symbol libraries (74, 4000, maxim, others). This is greatly appreciated! Bruno Schwander - For contributing the following symbols: 7430-1.sym 7430-2.sym 74165-1.sym (fixes) resistorpack11-1.sym resistorpack12-1.sym resistorpack3-1.sym resistorpack4-1.sym resistorpack5-1.sym resistorpack7-1.sym resistorpack8-2.sym resistorpack9-1.sym 2N3055-1.sym 2N3904-1.sym connector5-1.sym (changed to be 5 pins) lm7806-1.sym lm7810-1.sym lm7812-1.sym lm7815-1.sym lm7818-1.sym lm7824-1.sym lm7885-1.sym SLA7024M.sym max233-2.sym AT90S8535J-1.sym AT90S8535P-1.sym gnd-2.sym mct9001-1.sym Vladimir Dergachev - For contributing the following symbols: switch-spdt-1.sym ltc1799-1.sym Mauricio de Alencar - For improving the following font defs: colon.sym comma.sym excl.sym quest.sym semi.sym period.sym Eric Winsor - For contributing the following symbols: title-bordered-A.sym title-bordered-A3.sym title-bordered-D.sym title-bordered-A0.sym title-bordered-A4.sym title-bordered-E.sym title-bordered-A1.sym title-bordered-B.sym title-bordered-A2.sym title-bordered-C.sym Daniel Nilsson - For contributing the following symbols: tline.sym wline-1x.sym Al Williams - For contributing the following symbol: basicstamp-1.sym Jim Battle - For contributing the following symbols: 9602-1.sym 9602-2.sym (translated to zero) Adding an OC arc to 7403-1.sym 74266-1.sym (minor graphical changes by AVH) James Carter - For contributing the following symbol: pic16F876-1.sym Dan McMahill - For contributing the following symbols: ax4106-1.sym max4107-1.sym arfx1229-1.sym max1211-1.sym pot-1.sym pot-2.sym testpt-1.sym For contributing the following symbols: ADT1-1WT-1.sym ADT1-1WT-2.sym T1-1T-W38-1.sym T1-1T-X65-1.sym T2-1T-KK81-1.sym max1206-1.sym max1207-1.sym max1208-1.sym max1209-1.sym max12553-1.sym max12554-1.sym max12555-1.sym max1211-1.sym (added symversion=1.0) Jesse Alexander - For contributing the following symbol: 8052basic-1.sym Egil Kvaleberg - For contributing lots of code and support on the search for documentation from within gschem feature. For contributing the initial version of busripper-1.sym Jan Stap: - For contributing the following symbols: tiny-tiger-1.sym, max3223e-1.sym, FND5148-1.sym, QT60040-1.sym Onno Kortmann: - For contributing the following symbols: voltmeter-1.sym lm1877-1.sym mosfet-with-diode-1.sym ntc-1.sym, l200-1.sym, tfds4500-1.sym photo-transistor-1.sym ATtiny15L-1.sym Thomas Maeke: - For contributing the following symbols: max1080-1.sym max1608-1.sym Si9986.sym max1081-1.sym max1609-1.sym Walter Fetter: - For contributing the following symbols: max4420-1.sym max4429-1.sym osc-2.sym 22V10-DIP-1.sym 6N135-1.sym 6N136-1.sym 74HC244-1.sym 74HC244-2.sym 74HC373-1.sym 74HC374-1.sym DIN41612C48-2.sym DIN41612C56-2.sym DIN41612C96-2.sym HCPL4502-1.sym HCTL-2000-1.sym HCTL-2016-1.sym IRF1010N-1.sym IRLZ24N-1.sym PCA82C250-1.sym TINIm390-RevD.sym header50-1.sym header8-1.sym header8-2.sym input-2.sym io-1.sym led-3.sym lt1160-1.sym lt1162-1.sym mxt429-1.sym nmos-3.sym output-2.sym passive-1.sym pmos-3.sym faisal (e-mail only) - For contributing the following symbols: lm3909-1.sym lm386-1.sym vince (e-mail only) - For contributing the following symbols: ISA-98W-SOCKET-1.sym richard (e-mail only) - For contributing the following symbols: mc68hc908gp32cp-1.sym Stuart Brorson: - For contributing the following symbols: spice/idc-1.sym spice/spice-directive-1.sym spice/spice-include-1.sym spice/spice-model-1.sym spice/spice-options-1.sym spice/spice-subcircuit-IO-1.sym spice/spice-subcircuit-LL-1.sym Mario Klebsch - For contributing the following symbol: 7432-2.sym For pointing out the swap between 7408-2 and 7409-2. Gabriel Paubert - For contributing the following symbol: DB15-1.sym Terry Porter - For contributing the following symbols: 6821-2.sym 74688-2.sym 810-1.sym Bob Paddock - For contributing the following symbols: header26-2.sym header32-2.sym header50-3.sym header50r-1.sym ATmega32MLF-1.sym AT45db021bso8w-1.sym voncarstadsl (e-mail only) - For contributing the following symbol: lm2576T-1.sym michalsc (e-mail only) - For contributing the following symbols: lm339-2.sym And pointing out the errors in lm339-1.sym moncheto (e-mail only) - For contributing the following symbol: LCD-1.sym (added -1) TEC4x3-1.sym (added -1) pic16F628-2.sym (added -2) Fernando Pereira - For contributing the following symbol: 74259-1.sym Teemu Ikonen - For contributing the following symbols: DS2405-1.sym DS2890_TO92-1.sym HIP4080A-1.sym HIP4081A-1.sym CNY17-1.sym Bill Gatliff - For contributing the following symbols: adm202-1.sym adm202-2.sym Wilbert Knol - For contributing the following symbols: darlington_NPN-1.sym Jon Noble - For contributing the following symbol: hcnr201-1.sym Take Vos - For contributing the following symbol: mc3479-1.sym Holger Dietze - For contributing the following symbol: 628512-1.sym Dermot Tynan - For contributing the following symbols: DS26C31-1.sym DS26C32-2.sym rj45-1.sym Ezra (e-mail only) - For contributing the following symbol: K3020P-1.sym jmarino (e-mail only) - For contributing the following symbol: lm337-1.sym easyb (e-mail only) - For contributing the following symbol: capacitor-4.sym Piotr Buciak - For contributing the following symbol: resistorpack7-2.sym Leon Kos - For contributing the following symbols: PCF8563-1.sym PCF8563-1.sym DS75176-1.sym DS89C450-1.sym For correct the following symbol: smart-media-1.sym (symversion=1.0) For contributing a whole series of connectors with short pins and correct spacing! Thanks! connector1-2.sym connector10-2.sym connector11-2.sym connector12-2.sym connector13-2.sym connector14-2.sym connector15-2.sym connector16-2.sym connector17-2.sym connector18-2.sym connector19-2.sym connector2-2.sym connector20-2.sym connector21-2.sym connector22-2.sym connector23-2.sym connector24-2.sym connector25-2.sym connector26-2.sym connector27-2.sym connector28-2.sym connector29-2.sym connector3-2.sym connector30-2.sym connector31-2.sym connector32-2.sym connector33-2.sym connector34-2.sym connector35-2.sym connector36-2.sym connector37-2.sym connector38-2.sym connector39-2.sym connector4-2.sym connector40-2.sym connector5-2.sym connector6-2.sym connector7-2.sym connector8-2.sym connector9-2.sym Geert Stappers - For contributing the following symbols: switch-dip12.sym 27C2001-1.sym Jean-Francios L. Blavier - For conributing the following symbol: hcpl-2430-1.sym Mark Salyzyn - For contributing the following symbols: varistor-1.sym ips3310-1.sym ips521-1.sym ATmega8-1.sym ltp-757g-1.sym Gregory Davis - For contributing the following symbols: max122-1.sym max507-1.sym Levente Kovacs - For contributing the following symbol: pic16F628-1.sym Fernando Pereira - For contributing the following symbol: pic18f4431-1.sym William R. Dieter - For contributing the following symbols: pic12F675-2.sym pic12F675.sym lp2954IT-1.sym ips021-1.sym cbaurtx (e-mail only) - For contributing the following symbols: pa140-1.sym pa91-1.sym Walter Fetter Lages - For contributing the following symbol: ST7538-1.sym Wilbert Knol - For contributing the following symbol: mains-entry-1.sym (renamed without _) Matthew N. Dodd - For contributing the following symbol: HM628511HC-SOJ36-1.sym Chris Elliott - For contributing the following symbol: dc_motor-1.sym Steve Cole - For contributing the following symbols: BC182-1.sym BC547-2.sym BC557-2.sym Paul Saenen - For contributing the following symbol: BC307-1.sym Rui Guerreiro - For contributing the following symbol: AT89C5131_PLCC-1.sym Jim Duchek - For contributing the following symbol: AT89C5132_TQFP-1.sym Alejandro Sobrino Beltrn - For contributing the following symbol: AT89S53-24PI-1.sym Kenny Johansson - For contributing the following symbol: ATmega16L-1.sym DS1620-1.sym DS1620-1.sym Jaroslaw Juda - For contributing the following symbol: ATmega16_DIP-1.sym Tadas - For contributing the following symbol: 74238-1.sym Sheng Bao - For contributing the following symbol: darlington_NPN_PNP-1.sym (renamed) Radoslaw Korzeniewski - For contributing the following symbol: lm723-1.sym Jens-Peter Kaps - For contributing the following symbol: 2732-1.sym Jeff Jackowski - For contributing the following symbol: 25Cxx-1.sym Ludwig - For contributing the following symbol: 2N2222-1.sym Marvin Dickens - For contributing the following symbols: 75176-1.sym 3967-1.sym staver24m32-1.sym DS1307-1.sym Stephan Walter - For contributing the following symbol: MC34063-1.sym ATmega64-1.sym FT245BM-1.sym Fernando Pereira - For contributing the following symbols: ir2110-1.sym 6A259-1.sym Cyrille Chepelov - For contributing the following symbol: ATmega128-1.sym Radoslaw Korzeniewski - For contributing the following symbol: ATmega128-3.sym Jared Harvey - For contributing the following symbol: max662A-1.sym John Robbins - For contributing the following symbol: pic18F242-1.sym Nathan (nuttykongs) - For contributing the following symbol: 3967-2.sym Fredrik Simonsson - For contributing the following symbols: ADG601-1.sym ADG602-1.sym ADG619-1.sym ADG620-1.sym Tomeu Cap - For contributing the following symbol: ADC0831-1.sym Peter Kaiser - For contributing all the asic symbols include a few new ones: asic-nhhv-1.sym asic-nhv-1.sym asic-nmmv-1.sym asic-nmv-1.sym asic-phhv-1.sym asic-phv-1.sym asic-pmmv-1.sym asic-pmv-1.sym The following people contributed symbols via the online symbol upload (E-mails purposefully truncated): buitra233 david.dudley egil kuebelr lvu paulo.s.carneiro steveu tkeisala ajkerr jerzy rmiller leon.kos saenen bjornar.ness tomeu nao Thanks. Also thanks go to all the people on the geda-dev mailing list. Many of the subscribers provided good suggestions which are greatly appreciated (and even implemented :-). geda-gaf-1.8.2/symbols/irf/0000775000175000017500000000000012220655765012442 500000000000000geda-gaf-1.8.2/symbols/irf/ips021-1.sym0000664000175000017500000000162312204104272014252 00000000000000v 20041228 1 P 1500 700 1300 700 1 0 0 { T 1350 750 5 8 1 1 0 0 1 pinnumber=2 T 1800 700 5 10 0 1 0 0 1 pinseq=2 T 1500 500 5 10 0 1 0 0 1 pintype=out T 1200 700 9 8 1 1 0 6 1 pinlabel=D } P 1500 100 1300 100 1 0 0 { T 1350 150 5 8 1 1 0 0 1 pinnumber=3 T 1800 100 5 10 0 1 0 0 1 pinseq=3 T 1500 -100 5 10 0 1 0 0 1 pintype=pwr T 1200 100 9 8 1 1 0 6 1 pinlabel=S } P 0 400 200 400 1 0 0 { T 150 450 5 8 1 1 0 6 1 pinnumber=1 T -300 400 5 10 0 1 0 0 1 pinseq=1 T -200 200 5 10 0 1 0 0 1 pintype=in T 300 400 3 8 1 1 0 0 1 pinlabel=IN } B 200 0 1100 900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1100 950 8 10 1 1 0 0 1 refdes=U? T 200 950 3 10 1 1 0 0 1 device=IPS021 T 2100 2100 8 10 0 0 0 0 1 numslots=0 T 2100 1800 8 10 0 0 0 0 1 footprint=TO220 T 2100 1200 8 10 0 0 0 0 1 description=Fully Protected Power MOSFET Switch T 2100 1500 8 10 0 0 0 0 1 documentation=http://www.irf.com/product-info/datasheets/data/ips021.pdf geda-gaf-1.8.2/symbols/transistor/0000775000175000017500000000000012220655765014072 500000000000000geda-gaf-1.8.2/symbols/transistor/ULN2003-1.sym0000664000175000017500000000601012204104272015622 00000000000000v 20031231 1 P 2000 3000 1700 3000 1 0 0 { T 1800 3050 5 8 1 1 0 0 1 pinnumber=16 T 1800 3050 5 8 0 0 0 0 1 pinseq=16 T 1440 3000 9 8 1 1 0 0 1 pinlabel=1C T 1800 3050 5 8 0 1 0 0 1 pintype=pas } P 2000 2600 1700 2600 1 0 0 { T 1800 2650 5 8 1 1 0 0 1 pinnumber=15 T 1800 2650 5 8 0 0 0 0 1 pinseq=15 T 1440 2600 9 8 1 1 0 0 1 pinlabel=2C T 1800 2650 5 8 0 1 0 0 1 pintype=pas } P 2000 2200 1700 2200 1 0 0 { T 1800 2250 5 8 1 1 0 0 1 pinnumber=14 T 1800 2250 5 8 0 0 0 0 1 pinseq=14 T 1440 2200 9 8 1 1 0 0 1 pinlabel=3C T 1800 2250 5 8 0 1 0 0 1 pintype=pas } P 2000 1800 1700 1800 1 0 0 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=13 T 1800 1850 5 8 0 0 0 0 1 pinseq=13 T 1440 1800 9 8 1 1 0 0 1 pinlabel=4C T 1800 1850 5 8 0 1 0 0 1 pintype=pas } T 1550 3640 5 10 0 0 0 0 1 device=ULN2003 T 1550 3440 5 10 0 0 0 0 1 footprint=DIP16 T 300 3340 9 10 1 0 0 0 1 ULN2003 P 300 3000 0 3000 1 0 1 { T 360 3000 9 8 1 1 0 0 1 pinlabel=1B T 150 3050 5 10 1 1 0 0 1 pinnumber=1 T 150 3050 5 10 0 0 0 0 1 pinseq=1 T 150 3050 5 10 0 1 0 0 1 pintype=pas } P 300 2600 0 2600 1 0 1 { T 360 2600 9 8 1 1 0 0 1 pinlabel=2B T 100 2650 5 10 1 1 0 0 1 pinnumber=2 T 100 2650 5 10 0 0 0 0 1 pinseq=2 T 100 2650 5 10 0 1 0 0 1 pintype=pas } P 300 2200 0 2200 1 0 1 { T 360 2200 9 8 1 1 0 0 1 pinlabel=3B T 100 2250 5 10 1 1 0 0 1 pinnumber=3 T 100 2250 5 10 0 0 0 0 1 pinseq=3 T 100 2250 5 10 0 1 0 0 1 pintype=pas } P 300 1800 0 1800 1 0 1 { T 360 1800 9 8 1 1 0 0 1 pinlabel=4B T 100 1850 5 10 1 1 0 0 1 pinnumber=4 T 100 1850 5 10 0 0 0 0 1 pinseq=4 T 100 1850 5 10 0 1 0 0 1 pintype=pas } P 300 1400 0 1400 1 0 1 { T 100 1450 5 10 1 1 0 0 1 pinnumber=5 T 100 1450 5 10 0 0 0 0 1 pinseq=5 T 360 1400 9 8 1 1 0 0 1 pinlabel=5B T 100 1450 5 10 0 1 0 0 1 pintype=pas } P 300 1000 0 1000 1 0 1 { T 100 1050 5 10 1 1 0 0 1 pinnumber=6 T 100 1050 5 10 0 0 0 0 1 pinseq=6 T 360 1000 9 8 1 1 0 0 1 pinlabel=6B T 100 1050 5 10 0 1 0 0 1 pintype=pas } P 300 600 0 600 1 0 1 { T 100 650 5 10 1 1 0 0 1 pinnumber=7 T 100 650 5 10 0 0 0 0 1 pinseq=7 T 360 600 9 8 1 1 0 0 1 pinlabel=7B T 100 650 5 10 0 1 0 0 1 pintype=pas } P 300 200 0 200 1 0 1 { T 100 250 5 10 1 1 0 0 1 pinnumber=8 T 100 250 5 10 0 0 0 0 1 pinseq=8 T 360 200 9 8 1 1 0 0 1 pinlabel=E T 100 250 5 10 0 1 0 0 1 pintype=pas } P 2000 1400 1700 1400 1 0 0 { T 1800 1450 5 8 1 1 0 0 1 pinnumber=12 T 1800 1450 5 8 0 0 0 0 1 pinseq=12 T 1440 1400 9 8 1 1 0 0 1 pinlabel=5C T 1800 1450 5 8 0 1 0 0 1 pintype=pas } P 2000 1000 1700 1000 1 0 0 { T 1800 1050 5 8 1 1 0 0 1 pinnumber=11 T 1800 1050 5 8 0 0 0 0 1 pinseq=11 T 1440 1000 9 8 1 1 0 0 1 pinlabel=6C T 1800 1050 5 8 0 1 0 0 1 pintype=pas } P 2000 600 1700 600 1 0 0 { T 1800 650 5 8 1 1 0 0 1 pinnumber=10 T 1800 650 5 8 0 0 0 0 1 pinseq=10 T 1440 600 9 8 1 1 0 0 1 pinlabel=7C T 1800 650 5 8 0 1 0 0 1 pintype=pas } P 2000 200 1700 200 1 0 0 { T 1800 250 5 8 1 1 0 0 1 pinnumber=9 T 1800 250 5 8 0 0 0 0 1 pinseq=9 T 1290 200 9 8 1 1 0 0 1 pinlabel=COM T 1800 250 5 8 0 1 0 0 1 pintype=pas } B 300 0 1400 3300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1700 3400 8 10 1 1 0 6 1 refdes=U? geda-gaf-1.8.2/symbols/transistor/dgnmos-1.sym0000664000175000017500000000435712204104272016162 00000000000000v 20031231 1 L 650 1350 650 700 3 0 0 0 -1 -1 T 1200 900 5 10 0 0 0 0 1 device=DUAL_GATE_NMOS_TRANSISTOR L 600 1000 600 800 3 0 0 0 -1 -1 L 650 1300 900 1300 3 0 0 0 -1 -1 L 650 800 900 800 3 0 0 0 -1 -1 T 1100 1300 8 10 1 1 0 0 1 refdes=Q? L 600 1300 600 1100 3 0 0 0 -1 -1 L 650 1050 900 1050 3 0 0 0 -1 -1 L 900 1050 900 800 3 0 0 0 -1 -1 L 750 1050 850 1100 3 0 0 0 -1 -1 L 750 1050 850 1000 3 0 0 0 -1 -1 L 600 800 300 800 3 0 0 0 -1 -1 L 600 1100 300 1100 3 0 0 0 -1 -1 L 900 800 900 300 3 0 0 0 -1 -1 L 500 800 500 550 3 0 0 0 -1 -1 L 500 550 900 550 3 0 0 0 -1 -1 L 650 600 650 500 3 0 0 0 -1 -1 L 750 600 750 500 3 0 0 0 -1 -1 L 850 600 750 550 3 0 0 0 -1 -1 L 850 600 850 500 3 0 0 0 -1 -1 L 750 550 850 500 3 0 0 0 -1 -1 L 650 550 550 600 3 0 0 0 -1 -1 L 550 600 550 500 3 0 0 0 -1 -1 L 550 500 650 550 3 0 0 0 -1 -1 L 500 400 900 400 3 0 0 0 -1 -1 L 650 450 650 350 3 0 0 0 -1 -1 L 750 450 750 350 3 0 0 0 -1 -1 L 850 450 750 400 3 0 0 0 -1 -1 L 850 450 850 350 3 0 0 0 -1 -1 L 750 400 850 350 3 0 0 0 -1 -1 L 650 400 550 450 3 0 0 0 -1 -1 L 550 450 550 350 3 0 0 0 -1 -1 L 550 350 650 400 3 0 0 0 -1 -1 L 400 1100 400 400 3 0 0 0 -1 -1 L 500 400 400 400 3 0 0 0 -1 -1 V 500 800 20 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 400 1100 20 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 800 20 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 550 20 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 400 20 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 A 650 1150 350 0 180 3 0 0 0 -1 -1 A 650 550 350 180 180 3 0 0 0 -1 -1 L 1000 1150 1000 500 3 0 0 0 -1 -1 L 300 1150 300 550 3 0 0 0 -1 -1 L 850 1100 850 1000 3 0 0 0 -1 -1 P 300 1100 0 1100 1 0 1 { T 40 1170 5 8 1 1 0 0 1 pinnumber=G2 T 40 1170 5 8 0 0 0 0 1 pinseq=3 T 40 1170 5 8 0 1 0 0 1 pinlabel=G2 T 40 1170 5 8 0 1 0 0 1 pintype=pas } P 300 800 0 800 1 0 1 { T 90 640 5 8 1 1 0 0 1 pinnumber=G1 T 90 640 5 8 0 0 0 0 1 pinseq=2 T 90 640 5 8 0 1 0 0 1 pinlabel=G1 T 90 640 5 8 0 1 0 0 1 pintype=pas } P 900 300 900 0 1 0 1 { T 750 50 5 8 1 1 0 0 1 pinnumber=S T 750 50 5 8 0 0 0 0 1 pinseq=1 T 750 50 5 8 0 1 0 0 1 pinlabel=S T 750 50 5 8 0 1 0 0 1 pintype=pas } P 900 1400 900 1700 1 0 1 { T 750 1570 5 8 1 1 0 0 1 pinnumber=D T 750 1570 5 8 0 0 0 0 1 pinseq=4 T 750 1570 5 8 0 1 0 0 1 pinlabel=D T 750 1570 5 8 0 1 0 0 1 pintype=pas } L 900 1300 900 1400 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/transistor/ips521-1.sym0000664000175000017500000002356312204104272015716 00000000000000v 20041228 1 T 3600 3700 5 10 1 1 0 0 1 device=IPS521 T 800 4300 8 10 0 0 0 0 1 numslots=0 T 800 4500 8 10 0 0 0 0 1 description=Protected HEXFET Power MOSFET T 800 4700 8 10 0 0 0 0 1 footprint=TO-220AB5 L 4950 3100 5200 3100 3 0 0 0 -1 -1 L 4950 2700 5200 2700 3 0 0 0 -1 -1 L 4950 2900 5050 2950 3 0 0 0 -1 -1 L 4950 2900 5050 2850 3 0 0 0 -1 -1 P 0 1600 200 1600 1 0 0 { T 0 1700 5 10 1 1 0 0 1 pinnumber=4 T 0 1400 9 10 1 1 0 0 1 pinlabel=DG T 0 1200 5 10 0 0 0 0 1 pinseq=4 T 0 1000 5 10 0 0 0 0 1 pintype=out } P 5800 4000 5800 4200 1 0 1 { T 5900 4100 5 10 1 1 0 0 1 pinnumber=3 T 5400 4100 9 10 1 1 0 0 1 pinlabel=Vcc T 6100 4200 5 10 0 0 0 0 1 pinseq=3 T 6100 4000 5 10 0 0 0 0 1 pintype=out } P 5800 200 5800 0 1 0 1 { T 5900 0 5 10 1 1 0 0 1 pinnumber=5 T 5400 0 9 10 1 1 0 0 1 pinlabel=Out T 6100 200 5 10 0 0 0 0 1 pinseq=5 T 6100 0 5 10 0 0 0 0 1 pintype=out } P 0 2200 200 2200 1 0 0 { T 0 2300 5 10 1 1 0 0 1 pinnumber=2 T 0 2000 9 10 1 1 0 0 1 pinlabel=In T 0 2800 5 10 0 0 0 0 1 pinseq=2 T 0 2600 5 10 0 0 0 0 1 pintype=in } P 800 200 800 0 1 0 1 { T 900 0 5 10 1 1 0 0 1 pinnumber=1 T 100 0 9 10 1 1 0 0 1 pinlabel=Ground T 1100 100 5 10 0 0 0 0 1 pinseq=1 T 1100 -100 5 10 0 0 0 0 1 pintype=in } T 6000 2800 8 10 1 1 0 0 1 refdes=Q? L 4950 3175 4950 3025 3 0 0 0 -1 -1 L 4950 2975 4950 2825 3 0 0 0 -1 -1 L 4950 2775 4950 2625 3 0 0 0 -1 -1 L 4900 3100 4900 2700 3 0 0 0 -1 -1 L 4950 2900 5100 2900 3 0 0 0 -1 -1 L 5100 2900 5100 2700 3 0 0 0 -1 -1 L 400 2200 400 2050 3 0 0 0 -1 -1 L 400 2050 450 1950 3 0 0 0 -1 -1 L 400 2050 350 1950 3 0 0 0 -1 -1 L 350 1950 450 1950 3 0 0 0 -1 -1 L 350 2050 450 2050 3 0 0 0 -1 -1 L 350 2050 325 2025 3 0 0 0 -1 -1 L 450 2050 475 2075 3 0 0 0 -1 -1 L 400 1950 400 1800 3 0 0 0 -1 -1 L 400 1600 400 1450 3 0 0 0 -1 -1 L 400 1450 450 1350 3 0 0 0 -1 -1 L 400 1450 350 1350 3 0 0 0 -1 -1 L 350 1350 450 1350 3 0 0 0 -1 -1 L 350 1450 450 1450 3 0 0 0 -1 -1 L 350 1450 325 1425 3 0 0 0 -1 -1 L 450 1450 475 1475 3 0 0 0 -1 -1 L 400 1350 400 1200 3 0 0 0 -1 -1 L 800 4000 800 3350 3 0 0 0 -1 -1 L 800 3350 850 3250 3 0 0 0 -1 -1 L 800 3350 750 3250 3 0 0 0 -1 -1 L 750 3250 850 3250 3 0 0 0 -1 -1 L 750 3350 850 3350 3 0 0 0 -1 -1 L 750 3350 725 3325 3 0 0 0 -1 -1 L 850 3350 875 3375 3 0 0 0 -1 -1 L 800 3240 800 800 3 0 0 0 -1 -1 L 4700 4000 4700 3850 3 0 0 0 -1 -1 L 4700 3850 4750 3750 3 0 0 0 -1 -1 L 4700 3850 4650 3750 3 0 0 0 -1 -1 L 4650 3750 4750 3750 3 0 0 0 -1 -1 L 4650 3850 4750 3850 3 0 0 0 -1 -1 L 4650 3850 4625 3825 3 0 0 0 -1 -1 L 4750 3850 4775 3875 3 0 0 0 -1 -1 L 4700 3750 4700 3550 3 0 0 0 -1 -1 B 570 1920 60 160 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 600 2200 600 2080 3 0 0 0 -1 -1 L 600 1920 600 1800 3 0 0 0 -1 -1 B 770 520 60 160 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 800 200 800 520 3 0 0 0 -1 -1 L 800 680 800 800 3 0 0 0 -1 -1 L 5550 3100 5800 3100 3 0 0 0 -1 -1 L 5550 2700 5800 2700 3 0 0 0 -1 -1 L 5550 2900 5650 2950 3 0 0 0 -1 -1 L 5550 2900 5650 2850 3 0 0 0 -1 -1 L 5550 3175 5550 3025 3 0 0 0 -1 -1 L 5550 2975 5550 2825 3 0 0 0 -1 -1 L 5550 2775 5550 2625 3 0 0 0 -1 -1 L 5500 3100 5500 2700 3 0 0 0 -1 -1 L 5550 2900 5700 2900 3 0 0 0 -1 -1 L 5700 2900 5700 2700 3 0 0 0 -1 -1 L 650 1600 200 1600 3 0 0 0 -1 -1 L 650 1200 400 1200 3 0 0 0 -1 -1 L 650 1400 550 1450 3 0 0 0 -1 -1 L 650 1400 550 1350 3 0 0 0 -1 -1 L 650 1675 650 1525 3 0 0 0 -1 -1 L 650 1475 650 1325 3 0 0 0 -1 -1 L 650 1275 650 1125 3 0 0 0 -1 -1 L 700 1600 700 1200 3 0 0 0 -1 -1 L 650 1400 500 1400 3 0 0 0 -1 -1 L 500 1400 500 1200 3 0 0 0 -1 -1 L 1400 1900 1400 2500 3 0 0 0 -1 -1 L 1400 2500 1900 2200 3 0 0 0 -1 -1 L 1900 2200 1400 1900 3 0 0 0 -1 -1 L 1490 2260 1490 2060 3 0 0 0 -1 -1 L 1490 2060 1550 2100 3 0 0 0 -1 -1 L 1490 2260 1550 2300 3 0 0 0 -1 -1 L 1490 2060 1430 2020 3 0 0 0 -1 -1 L 1550 2100 1550 2300 3 0 0 0 -1 -1 L 1550 2300 1620 2340 3 0 0 0 -1 -1 L 2800 3000 2800 3600 3 0 0 0 -1 -1 L 2800 3600 2300 3300 3 0 0 0 -1 -1 L 2300 3300 2800 3000 3 0 0 0 -1 -1 V 2250 3300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 2710 3360 2710 3160 3 0 0 0 -1 -1 L 2710 3160 2650 3200 3 0 0 0 -1 -1 L 2710 3360 2650 3400 3 0 0 0 -1 -1 L 2710 3160 2770 3120 3 0 0 0 -1 -1 L 2650 3200 2650 3400 3 0 0 0 -1 -1 L 2650 3400 2580 3440 3 0 0 0 -1 -1 B 5320 2370 160 60 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 4800 2400 5320 2400 3 0 0 0 -1 -1 L 5480 2400 5800 2400 3 0 0 0 -1 -1 L 2200 2300 2200 2900 3 0 0 0 -1 -1 L 2200 2900 2600 2900 3 0 0 0 -1 -1 L 2200 2300 2600 2300 3 0 0 0 -1 -1 A 2600 2600 300 270 180 3 0 0 0 -1 -1 L 2600 1400 2600 2000 3 0 0 0 -1 -1 L 2600 2000 2200 2000 3 0 0 0 -1 -1 L 2600 1400 2200 1400 3 0 0 0 -1 -1 A 2200 1700 300 90 180 3 0 0 0 -1 -1 L 2600 700 2600 1300 3 0 0 0 -1 -1 L 2600 1300 2200 1300 3 0 0 0 -1 -1 L 2600 700 2200 700 3 0 0 0 -1 -1 A 2200 1000 300 90 180 3 0 0 0 -1 -1 V 2650 1100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 1640 1100 1300 1100 3 0 0 0 -1 -1 L 1640 1700 1300 1700 3 0 0 0 -1 -1 A 1900 1400 400 131 97 3 0 0 0 -1 -1 A 1300 1500 400 194 76 3 0 0 0 -1 -1 A 1300 1300 400 90 76 3 0 0 0 -1 -1 L 910 1400 700 1400 3 0 0 0 -1 -1 L 400 1800 800 1800 3 0 0 0 -1 -1 L 200 2200 1400 2200 3 0 0 0 -1 -1 L 500 1200 500 800 3 0 0 0 -1 -1 V 600 1800 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 800 1800 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 400 2200 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 600 2200 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 400 1600 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 500 1200 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 800 800 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 3400 600 3400 1200 3 0 0 0 -1 -1 L 3400 1200 2900 900 3 0 0 0 -1 -1 L 2900 900 3400 600 3 0 0 0 -1 -1 L 4300 1800 4300 2400 3 0 0 0 -1 -1 L 4300 2400 3800 2100 3 0 0 0 -1 -1 L 3800 2100 4300 1800 3 0 0 0 -1 -1 L 3400 1300 3400 1900 3 0 0 0 -1 -1 L 3400 1900 2900 1600 3 0 0 0 -1 -1 L 2900 1600 3400 1300 3 0 0 0 -1 -1 L 1300 800 500 800 3 0 0 0 -1 -1 L 2700 1100 2800 1100 3 0 0 0 -1 -1 L 2800 1100 2800 2200 3 0 0 0 -1 -1 L 2800 1800 2600 1800 3 0 0 0 -1 -1 L 1900 2200 2800 2200 3 0 0 0 -1 -1 L 2000 2200 2000 2500 3 0 0 0 -1 -1 L 2000 2500 2200 2500 3 0 0 0 -1 -1 L 2200 2700 2000 2700 3 0 0 0 -1 -1 L 2000 2700 2000 3300 3 0 0 0 -1 -1 L 2000 3300 2200 3300 3 0 0 0 -1 -1 L 2800 3300 3000 3300 3 0 0 0 -1 -1 T 3070 3230 9 10 1 0 0 0 1 Tj T 2900 3500 9 10 1 0 0 0 1 165 C T 3200 3600 9 6 1 0 0 0 1 o T 2900 3000 9 10 1 0 0 0 1 158 C T 3200 3100 9 6 1 0 0 0 1 o T 1000 2300 9 8 1 0 0 0 1 2.7V T 1000 2000 9 8 1 0 0 0 1 2.2V T 900 500 9 8 1 0 0 0 1 40 A 1220 550 70 315 270 3 0 0 0 -1 -1 A 1240 550 70 135 90 3 0 0 0 -1 -1 A 1200 550 70 315 90 3 0 0 0 -1 -1 L 1140 500 1190 500 3 0 0 0 -1 -1 L 1250 500 1300 500 3 0 0 0 -1 -1 L 1140 510 1170 510 3 0 0 0 -1 -1 L 1270 510 1300 510 3 0 0 0 -1 -1 L 1900 1700 1800 1700 3 0 0 0 -1 -1 L 1800 1700 1800 1500 3 0 0 0 -1 -1 L 1800 1500 1500 1500 3 0 0 0 -1 -1 L 1500 1300 1800 1300 3 0 0 0 -1 -1 L 1800 1300 1800 1000 3 0 0 0 -1 -1 L 1800 1000 1900 1000 3 0 0 0 -1 -1 L 2900 900 2600 900 3 0 0 0 -1 -1 L 1300 900 1300 700 3 0 0 0 -1 -1 L 1400 1000 1400 600 3 0 0 0 -1 -1 L 1400 800 1700 800 3 0 0 0 -1 -1 L 1700 800 1700 500 3 0 0 0 -1 -1 L 1700 500 3500 500 3 0 0 0 -1 -1 L 3500 500 3500 800 3 0 0 0 -1 -1 L 3500 800 3400 800 3 0 0 0 -1 -1 T 3300 700 9 10 1 0 0 0 1 + T 3300 1000 9 10 1 0 0 0 1 - T 1100 900 9 8 1 0 0 0 1 3V T 200 1200 9 8 1 0 0 0 1 7V T 200 1800 9 8 1 0 0 0 1 7V T 200 2300 9 8 1 0 0 0 1 200K T 3600 600 9 8 1 0 0 0 1 Open Load T 1300 3500 9 8 1 0 0 0 1 Over Temperature A 670 2350 70 315 270 3 0 0 0 -1 -1 A 690 2350 70 135 90 3 0 0 0 -1 -1 A 650 2350 70 315 90 3 0 0 0 -1 -1 L 590 2300 640 2300 3 0 0 0 -1 -1 L 700 2300 750 2300 3 0 0 0 -1 -1 L 590 2310 620 2310 3 0 0 0 -1 -1 L 720 2310 750 2310 3 0 0 0 -1 -1 T 3200 2700 9 8 1 0 0 0 1 Level T 3200 2500 9 8 1 0 0 0 1 Shift T 3900 2600 9 8 1 0 0 0 1 Driver T 3800 3300 9 8 1 0 0 0 1 Charge T 3900 3100 9 8 1 0 0 0 1 Pump B 3100 2400 500 500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 3800 2500 600 300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 3700 3000 700 500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 3500 1300 9 8 1 0 0 0 1 Short Circuit T 3300 2100 9 8 1 0 0 0 1 Limit T 3100 2250 9 8 1 0 0 0 1 Current L 2900 2600 3100 2600 3 0 0 0 -1 -1 L 3600 2700 3800 2700 3 0 0 0 -1 -1 L 3800 2100 3700 2100 3 0 0 0 -1 -1 L 3700 2100 3700 2600 3 0 0 0 -1 -1 L 3700 2600 3800 2600 3 0 0 0 -1 -1 L 4100 3000 4100 2800 3 0 0 0 -1 -1 T 3300 1700 9 10 1 0 0 0 1 + T 3300 1400 9 10 1 0 0 0 1 - V 4800 2100 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 4660 2240 4940 1960 3 0 0 0 -1 -1 L 4940 2240 4660 1960 3 0 0 0 -1 -1 L 4600 2100 4300 2100 3 0 0 0 -1 -1 L 4700 2500 4700 3450 3 0 0 0 -1 -1 L 4700 3450 4650 3550 3 0 0 0 -1 -1 L 4700 3450 4750 3550 3 0 0 0 -1 -1 L 4750 3550 4650 3550 3 0 0 0 -1 -1 L 4750 3450 4650 3450 3 0 0 0 -1 -1 L 2600 1600 2900 1600 3 0 0 0 -1 -1 L 5500 1600 5500 1400 3 0 0 0 -1 -1 L 5400 1700 5400 1300 3 0 0 0 -1 -1 T 5700 1700 9 8 1 0 0 6 1 3V L 3400 1000 5800 1000 3 0 0 0 -1 -1 L 5800 1500 5500 1500 3 0 0 0 -1 -1 L 5800 2700 5800 200 3 0 0 0 -1 -1 L 4800 1900 4800 1700 3 0 0 0 -1 -1 L 5400 1500 3400 1500 3 0 0 0 -1 -1 L 5200 2700 5200 2400 3 0 0 0 -1 -1 L 4800 2400 4800 2300 3 0 0 0 -1 -1 L 5500 2900 5400 2900 3 0 0 0 -1 -1 L 5400 2900 5400 2500 3 0 0 0 -1 -1 L 5400 2500 4700 2500 3 0 0 0 -1 -1 L 4700 2900 4900 2900 3 0 0 0 -1 -1 L 4400 2700 4700 2700 3 0 0 0 -1 -1 L 5200 3100 5200 3300 3 0 0 0 -1 -1 L 4500 3300 5800 3300 3 0 0 0 -1 -1 L 5800 3100 5800 4000 3 0 0 0 -1 -1 L 5800 4000 800 4000 3 0 0 0 -1 -1 T 900 3300 9 8 1 0 0 0 1 62V T 4800 3800 9 8 1 0 0 0 1 50V L 3400 1700 4500 1700 3 0 0 0 -1 -1 L 4500 1700 4500 3300 3 0 0 0 -1 -1 T 4900 1700 9 8 1 0 0 0 1 10A V 4700 4000 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 5200 3300 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 5800 3300 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 5800 4000 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 5200 2400 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 5800 2400 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 5800 1500 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 5800 1000 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 2800 1800 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 2000 2200 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 4700 2900 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 4700 2700 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 800 4900 8 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/transistor/mosfet-with-diode-1.sym0000664000175000017500000000307612204104272020220 00000000000000v 20031231 1 P 600 1000 600 800 1 0 0 { T 500 850 5 6 1 1 0 0 1 pinnumber=D T 500 850 5 6 0 0 0 0 1 pinseq=1 T 500 850 5 6 0 1 0 0 1 pinlabel=D T 500 850 5 6 0 1 0 0 1 pintype=pas } P 600 200 600 0 1 0 1 { T 500 50 5 6 1 1 0 0 1 pinnumber=S T 500 50 5 6 0 0 0 0 1 pinseq=3 T 500 50 5 6 0 1 0 0 1 pinlabel=S T 500 50 5 6 0 1 0 0 1 pintype=pas } V 500 501 316 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 900 500 5 10 0 0 0 0 1 device=NPN_TRANSISTOR L 400 700 400 300 3 0 0 0 -1 -1 P 0 500 184 500 1 0 0 { T 100 550 5 6 1 1 0 0 1 pinnumber=G T 100 550 5 6 0 0 0 0 1 pinseq=2 T 100 550 5 6 0 1 0 0 1 pinlabel=G T 100 550 5 6 0 1 0 0 1 pintype=pas } L 400 500 184 500 3 0 0 0 -1 -1 T 900 500 8 10 1 1 0 0 1 refdes=Q? L 600 800 600 640 3 0 0 0 -1 -1 L 440 700 440 580 3 0 0 0 -1 -1 L 440 300 440 420 3 0 0 0 -1 -1 L 440 440 440 560 3 0 0 0 -1 -1 L 440 640 600 640 3 0 0 0 -1 -1 L 440 360 600 360 3 0 0 0 -1 -1 L 600 200 600 360 3 0 0 0 -1 -1 L 600 360 600 500 3 0 0 0 -1 -1 L 440 500 480 520 3 0 0 0 -1 -1 L 480 520 480 480 3 0 0 0 -1 -1 L 480 480 440 500 3 0 0 0 -1 -1 L 480 500 600 500 3 0 0 0 -1 -1 L 600 700 680 700 3 0 0 0 -1 -1 L 660 530 720 530 3 0 0 0 -1 -1 L 680 700 690 700 3 0 0 0 -1 -1 L 690 580 690 700 3 0 0 0 -1 -1 L 640 510 660 530 3 0 0 0 -1 -1 L 720 530 740 550 3 0 0 0 -1 -1 L 660 470 690 530 3 0 0 0 -1 -1 L 720 470 690 530 3 0 0 0 -1 -1 L 660 470 720 470 3 0 0 0 -1 -1 L 690 530 690 580 3 0 0 0 -1 -1 L 600 300 690 300 3 0 0 0 -1 -1 L 690 300 690 470 3 0 0 0 -1 -1 V 600 700 5 3 0 0 0 -1 -1 1 -1 -1 1 -1 1 V 600 360 5 3 0 0 0 -1 -1 1 -1 -1 1 -1 1 V 600 300 5 3 0 0 0 -1 -1 1 -1 -1 1 -1 1 geda-gaf-1.8.2/symbols/transistor/ips3310-1.sym0000664000175000017500000002672412204104272015777 00000000000000v 20041228 1 T 500 4500 8 10 0 0 0 0 1 Copyright Mark Salyzyn T 500 4900 8 10 0 0 0 0 1 device=IPS3310 T 500 4700 8 10 0 0 0 0 1 documentation=http://www.irf.com/product-info/datasheets/data/ips3310.pdf T 500 4300 8 10 0 0 0 0 1 description=Protected HEXFET Power MOSFET T 500 5300 8 10 0 0 0 0 1 numslots=0 T 500 5100 8 10 0 0 0 0 1 footprint=TO-220AB5 L 5050 2700 5300 2700 3 0 0 0 -1 -1 L 5050 2300 5300 2300 3 0 0 0 -1 -1 L 5050 2500 5150 2550 3 0 0 0 -1 -1 L 5050 2500 5150 2450 3 0 0 0 -1 -1 P 5900 4100 5900 4300 1 0 1 { T 6000 4200 5 10 1 1 0 0 1 pinnumber=3 T 5500 4200 9 10 1 1 0 0 1 pinlabel=Vcc T 6200 4300 5 10 0 0 0 0 1 pinseq=3 T 6200 4100 5 10 0 0 0 0 1 pintype=out } P 5900 300 5900 100 1 0 1 { T 6000 100 5 10 1 1 0 0 1 pinnumber=5 T 5500 100 9 10 1 1 0 0 1 pinlabel=Out T 6200 300 5 10 0 0 0 0 1 pinseq=5 T 6200 100 5 10 0 0 0 0 1 pintype=out } P 5300 100 5300 300 1 0 0 { T 5470 200 5 10 1 1 180 0 1 pinnumber=2 T 5300 200 9 10 1 1 180 0 1 pinlabel=Ifb T 4700 100 5 10 0 0 90 0 1 pinseq=2 T 4900 100 5 10 0 0 90 0 1 pintype=in } P 500 300 500 100 1 0 1 { T 600 100 5 10 1 1 0 0 1 pinnumber=1 T 300 100 9 10 1 1 0 0 1 pinlabel=In T 800 200 5 10 0 0 0 0 1 pinseq=1 T 800 0 5 10 0 0 0 0 1 pintype=in } T 6100 1800 8 10 1 1 0 0 1 refdes=Q? L 5050 2775 5050 2625 3 0 0 0 -1 -1 L 5050 2575 5050 2425 3 0 0 0 -1 -1 L 5050 2375 5050 2225 3 0 0 0 -1 -1 L 5000 2700 5000 2300 3 0 0 0 -1 -1 L 5050 2500 5200 2500 3 0 0 0 -1 -1 L 5200 2500 5200 2300 3 0 0 0 -1 -1 L 500 4100 500 2850 3 0 0 0 -1 -1 L 500 2850 550 2750 3 0 0 0 -1 -1 L 500 2850 450 2750 3 0 0 0 -1 -1 L 450 2750 550 2750 3 0 0 0 -1 -1 L 450 2850 550 2850 3 0 0 0 -1 -1 L 450 2850 425 2825 3 0 0 0 -1 -1 L 550 2850 575 2875 3 0 0 0 -1 -1 L 500 2750 500 900 3 0 0 0 -1 -1 L 4800 4100 4800 3700 3 0 0 0 -1 -1 L 4800 3450 4850 3350 3 0 0 0 -1 -1 L 4800 3450 4750 3350 3 0 0 0 -1 -1 L 4750 3350 4850 3350 3 0 0 0 -1 -1 L 4750 3450 4850 3450 3 0 0 0 -1 -1 L 4750 3450 4725 3425 3 0 0 0 -1 -1 L 4850 3450 4875 3475 3 0 0 0 -1 -1 L 4800 3350 4800 3150 3 0 0 0 -1 -1 B 470 620 60 160 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 500 300 500 620 3 0 0 0 -1 -1 L 500 780 500 900 3 0 0 0 -1 -1 L 5650 2700 5900 2700 3 0 0 0 -1 -1 L 5650 2300 5900 2300 3 0 0 0 -1 -1 L 5650 2500 5750 2550 3 0 0 0 -1 -1 L 5650 2500 5750 2450 3 0 0 0 -1 -1 L 5650 2775 5650 2625 3 0 0 0 -1 -1 L 5650 2575 5650 2425 3 0 0 0 -1 -1 L 5650 2375 5650 2225 3 0 0 0 -1 -1 L 5600 2700 5600 2300 3 0 0 0 -1 -1 L 5650 2500 5800 2500 3 0 0 0 -1 -1 L 5800 2500 5800 2300 3 0 0 0 -1 -1 L 1000 2500 1000 3100 3 0 0 0 -1 -1 L 1000 3100 1500 2800 3 0 0 0 -1 -1 L 1500 2800 1000 2500 3 0 0 0 -1 -1 L 1090 2860 1090 2660 3 0 0 0 -1 -1 L 1090 2660 1150 2700 3 0 0 0 -1 -1 L 1090 2860 1150 2900 3 0 0 0 -1 -1 L 1090 2660 1030 2620 3 0 0 0 -1 -1 L 1150 2700 1150 2900 3 0 0 0 -1 -1 L 1150 2900 1220 2940 3 0 0 0 -1 -1 L 3200 1900 3800 1900 3 0 0 0 -1 -1 L 3800 1900 3800 1500 3 0 0 0 -1 -1 L 3200 1900 3200 1500 3 0 0 0 -1 -1 A 3500 1500 300 180 180 3 0 0 0 -1 -1 V 500 1000 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 3600 2900 3600 3500 3 0 0 0 -1 -1 L 3600 3500 3100 3200 3 0 0 0 -1 -1 L 3100 3200 3600 2900 3 0 0 0 -1 -1 L 800 1000 500 1000 3 0 0 0 -1 -1 T 600 600 9 8 1 0 0 0 1 80 A 920 650 70 315 270 3 0 0 0 -1 -1 A 940 650 70 135 90 3 0 0 0 -1 -1 A 900 650 70 315 90 3 0 0 0 -1 -1 L 840 600 890 600 3 0 0 0 -1 -1 L 950 600 1000 600 3 0 0 0 -1 -1 L 840 610 870 610 3 0 0 0 -1 -1 L 970 610 1000 610 3 0 0 0 -1 -1 L 800 1100 800 900 3 0 0 0 -1 -1 L 900 1200 900 800 3 0 0 0 -1 -1 L 900 1000 1200 1000 3 0 0 0 -1 -1 T 3500 3300 9 10 1 0 0 0 1 + T 3500 3000 9 10 1 0 0 0 1 - T 600 1100 9 8 1 0 0 0 1 4V L 4800 2100 4800 3050 3 0 0 0 -1 -1 L 4800 3050 4750 3150 3 0 0 0 -1 -1 L 4800 3050 4850 3150 3 0 0 0 -1 -1 L 4850 3150 4750 3150 3 0 0 0 -1 -1 L 4850 3050 4750 3050 3 0 0 0 -1 -1 L 5900 2300 5900 300 3 0 0 0 -1 -1 L 5300 2300 5300 1000 3 0 0 0 -1 -1 L 5600 2500 5500 2500 3 0 0 0 -1 -1 L 5500 2500 5500 2100 3 0 0 0 -1 -1 L 5500 2100 3900 2100 3 0 0 0 -1 -1 L 4800 2500 5000 2500 3 0 0 0 -1 -1 L 5300 2700 5300 2900 3 0 0 0 -1 -1 L 5300 2900 5900 2900 3 0 0 0 -1 -1 L 5900 2700 5900 4100 3 0 0 0 -1 -1 L 5900 4100 500 4100 3 0 0 0 -1 -1 T 550 2600 9 8 1 0 0 0 1 70V T 4900 3300 9 8 1 0 0 0 1 33V V 4800 4100 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 5900 2900 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 5900 4100 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 4800 2500 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 100 2800 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 100 2700 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 300 2900 300 2600 3 0 0 0 -1 -1 L 300 2600 340 2660 3 0 0 0 -1 -1 L 340 2660 260 2660 3 0 0 0 -1 -1 L 260 2660 300 2600 3 0 0 0 -1 -1 T 150 2930 9 8 1 0 0 0 1 4mA L 6000 2550 6050 2450 3 0 0 0 -1 -1 L 6000 2550 5950 2450 3 0 0 0 -1 -1 L 5950 2450 6050 2450 3 0 0 0 -1 -1 L 5950 2550 6050 2550 3 0 0 0 -1 -1 L 5950 2550 5925 2525 3 0 0 0 -1 -1 L 6050 2550 6075 2575 3 0 0 0 -1 -1 T 6100 2400 9 8 1 0 0 0 1 33V L 5900 2700 6000 2700 3 0 0 0 -1 -1 L 6000 2700 6000 2550 3 0 0 0 -1 -1 L 6000 2450 6000 2300 3 0 0 0 -1 -1 L 6000 2300 5900 2300 3 0 0 0 -1 -1 V 5900 2700 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 5900 2300 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 100 2900 100 3100 3 0 0 0 -1 -1 L 100 3100 900 3100 3 0 0 0 -1 -1 L 900 3100 900 3000 3 0 0 0 -1 -1 L 900 3000 1000 3000 3 0 0 0 -1 -1 L 100 2600 100 2500 3 0 0 0 -1 -1 L 100 2500 900 2500 3 0 0 0 -1 -1 L 900 2500 900 2600 3 0 0 0 -1 -1 L 900 2600 1000 2600 3 0 0 0 -1 -1 V 1900 2800 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 500 3100 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 1200 500 1200 1100 3 0 0 0 -1 -1 L 1200 1100 1700 800 3 0 0 0 -1 -1 L 1700 800 1200 500 3 0 0 0 -1 -1 T 1300 600 9 10 1 0 0 6 1 + T 1300 900 9 10 1 0 0 6 1 - L 1600 1060 1600 1400 3 0 0 0 -1 -1 L 2200 1060 2200 1400 3 0 0 0 -1 -1 A 1900 800 400 41 97 3 0 0 0 -1 -1 A 2000 1400 400 104 76 3 0 0 0 -1 -1 A 1800 1400 400 0 76 3 0 0 0 -1 -1 L 1700 800 1800 800 3 0 0 0 -1 -1 L 1800 800 1800 1190 3 0 0 0 -1 -1 L 1900 1200 1900 600 3 0 0 0 -1 -1 L 1900 600 2100 600 3 0 0 0 -1 -1 L 2000 1190 2000 800 3 0 0 0 -1 -1 L 2000 800 2100 800 3 0 0 0 -1 -1 T 2170 760 9 8 1 0 0 0 1 Iout>100A T 2160 550 9 8 1 0 0 0 1 Tj>165 C T 2610 620 9 6 1 0 0 0 1 o B 1400 2100 1000 400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1450 2250 9 8 1 0 0 0 1 Latch T 1630 2380 9 8 1 0 0 0 1 -Reset T 1770 2120 9 8 1 0 0 0 1 Set T 2290 2240 9 8 1 0 0 0 1 Q L 1500 2800 1900 2800 3 0 0 0 -1 -1 L 1900 2800 1900 2500 3 0 0 0 -1 -1 L 1900 2100 1900 1800 3 0 0 0 -1 -1 B 700 3500 1000 400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 930 3740 9 8 1 0 0 0 1 Charge T 1010 3570 9 8 1 0 0 0 1 Pump L 2900 1940 2900 1600 3 0 0 0 -1 -1 L 2300 1940 2300 1600 3 0 0 0 -1 -1 A 2600 2200 400 221 97 3 0 0 0 -1 -1 A 2500 1600 400 284 76 3 0 0 0 -1 -1 A 2700 1600 400 180 76 3 0 0 0 -1 -1 L 2300 2960 2300 3300 3 0 0 0 -1 -1 L 2900 2960 2900 3300 3 0 0 0 -1 -1 A 2600 2700 400 41 97 3 0 0 0 -1 -1 A 2700 3300 400 104 76 3 0 0 0 -1 -1 A 2500 3300 400 0 76 3 0 0 0 -1 -1 V 3650 1950 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 2400 2300 2500 2300 3 0 0 0 -1 -1 L 2500 2300 2500 1800 3 0 0 0 -1 -1 L 2700 1800 2700 2000 3 0 0 0 -1 -1 L 2700 2000 3100 2000 3 0 0 0 -1 -1 L 3100 2000 3100 1100 3 0 0 0 -1 -1 L 3100 1100 3500 1100 3 0 0 0 -1 -1 L 3500 1100 3500 1200 3 0 0 0 -1 -1 B 2600 2200 400 400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 3200 2200 400 400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 2620 2480 2640 2480 3 0 0 0 -1 -1 L 2640 2480 2640 2540 3 0 0 0 -1 -1 L 2640 2540 2660 2540 3 0 0 0 -1 -1 L 2660 2540 2660 2480 3 0 0 0 -1 -1 L 2660 2480 2980 2480 3 0 0 0 -1 -1 L 2620 2400 2640 2400 3 0 0 0 -1 -1 L 2640 2400 2640 2460 3 0 0 0 -1 -1 L 2640 2460 2940 2460 3 0 0 0 -1 -1 L 2940 2460 2940 2400 3 0 0 0 -1 -1 L 2940 2400 2980 2400 3 0 0 0 -1 -1 L 2660 2450 2660 2440 3 0 0 0 -1 -1 L 3220 2480 3240 2480 3 0 0 0 -1 -1 L 3240 2480 3240 2540 3 0 0 0 -1 -1 L 3240 2540 3260 2540 3 0 0 0 -1 -1 L 3260 2540 3260 2480 3 0 0 0 -1 -1 L 3260 2480 3580 2480 3 0 0 0 -1 -1 L 3220 2400 3240 2400 3 0 0 0 -1 -1 L 3240 2400 3240 2460 3 0 0 0 -1 -1 L 3240 2460 3530 2460 3 0 0 0 -1 -1 L 3530 2460 3530 2400 3 0 0 0 -1 -1 L 3530 2400 3580 2400 3 0 0 0 -1 -1 T 2700 2390 9 4 1 0 0 0 1 1.5mS T 3280 2390 9 4 1 0 0 0 1 300uS L 2660 2430 2660 2420 3 0 0 0 -1 -1 L 2660 2410 2660 2400 3 0 0 0 -1 -1 L 3400 2200 3400 1900 3 0 0 0 -1 -1 L 1900 2800 3660 2800 3 0 0 0 -1 -1 L 3660 2800 3660 2000 3 0 0 0 -1 -1 L 3400 2800 3400 2600 3 0 0 0 -1 -1 V 3400 2800 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 2400 3050 2400 2600 3 0 0 0 -1 -1 L 2800 2600 2800 3040 3 0 0 0 -1 -1 L 2600 1200 2600 1100 3 0 0 0 -1 -1 L 2600 1100 3000 1100 3 0 0 0 -1 -1 L 3000 1100 3000 2100 3 0 0 0 -1 -1 L 3000 2100 2800 2100 3 0 0 0 -1 -1 L 2800 2100 2800 2200 3 0 0 0 -1 -1 L 2400 2600 2500 2600 3 0 0 0 -1 -1 L 2500 2600 2500 2300 3 0 0 0 -1 -1 V 2500 2300 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 3100 3200 3000 3200 3 0 0 0 -1 -1 L 3000 3200 3000 2900 3 0 0 0 -1 -1 L 3000 2900 2600 2900 3 0 0 0 -1 -1 L 2600 2900 2600 3100 3 0 0 0 -1 -1 B 2100 3800 1500 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 1700 3700 1900 3700 3 0 0 0 -1 -1 L 1900 3700 1900 3900 3 0 0 0 -1 -1 L 1900 3900 2100 3900 3 0 0 0 -1 -1 T 2610 3860 9 8 1 0 0 0 1 Driver L 2600 3700 2600 3800 3 0 0 0 -1 -1 L 1900 2800 1900 3500 3 0 0 0 -1 -1 L 1900 3500 2200 3500 3 0 0 0 -1 -1 L 2200 3500 2200 3800 3 0 0 0 -1 -1 L 3600 3400 3800 3400 3 0 0 0 -1 -1 L 3800 3400 3800 4100 3 0 0 0 -1 -1 V 3800 4100 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 3800 3100 3800 2900 3 0 0 0 -1 -1 L 3700 3200 3700 2800 3 0 0 0 -1 -1 T 4440 2960 9 8 1 0 0 6 1 36V L 4100 3350 4150 3250 3 0 0 0 -1 -1 L 4100 3350 4050 3250 3 0 0 0 -1 -1 L 4050 3250 4150 3250 3 0 0 0 -1 -1 L 4050 3350 4150 3350 3 0 0 0 -1 -1 L 4050 3350 4025 3325 3 0 0 0 -1 -1 L 4150 3350 4175 3375 3 0 0 0 -1 -1 T 4180 3310 9 8 1 0 0 0 1 30V B 4070 3720 60 160 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 4100 3880 4100 4100 3 0 0 0 -1 -1 V 4100 4100 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 5050 1000 5300 1000 3 0 0 0 -1 -1 L 5050 600 5300 600 3 0 0 0 -1 -1 L 5050 1075 5050 520 3 0 0 0 -1 -1 L 5000 1000 5000 600 3 0 0 0 -1 -1 L 5300 600 5300 300 3 0 0 0 -1 -1 L 4300 500 4300 1100 3 0 0 0 -1 -1 L 4300 1100 4800 800 3 0 0 0 -1 -1 L 4800 800 4300 500 3 0 0 0 -1 -1 T 4400 600 9 10 1 0 0 6 1 + T 4400 900 9 10 1 0 0 6 1 - V 4950 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 4800 800 4900 800 3 0 0 0 -1 -1 L 3600 3000 3700 3000 3 0 0 0 -1 -1 L 4100 3720 4100 3350 3 0 0 0 -1 -1 L 1200 600 1100 600 3 0 0 0 -1 -1 L 1100 600 1100 400 3 0 0 0 -1 -1 L 1100 400 5300 400 3 0 0 0 -1 -1 V 5300 400 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 4100 3250 4100 400 3 0 0 0 -1 -1 L 4300 1000 4200 1000 3 0 0 0 -1 -1 L 4200 1000 4200 1200 3 0 0 0 -1 -1 L 4200 1200 5300 1200 3 0 0 0 -1 -1 V 5300 1200 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 4100 400 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 3800 3000 4100 3000 3 0 0 0 -1 -1 V 4100 3000 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 4100 3600 4700 3600 3 0 0 0 -1 -1 L 4800 3700 4700 3650 3 0 0 0 -1 -1 L 4800 3500 4800 3450 3 0 0 0 -1 -1 L 4700 3700 4700 3500 3 0 0 0 -1 -1 L 4800 3500 4700 3550 3 0 0 0 -1 -1 L 4760 3520 4745 3540 3 0 0 0 -1 -1 L 4760 3520 4735 3520 3 0 0 0 -1 -1 L 4735 3520 4745 3540 3 0 0 0 -1 -1 T 3350 860 9 8 1 0 0 0 1 Reverse T 3370 700 9 8 1 0 0 0 1 Battery T 3290 560 9 8 1 0 0 0 1 Protection B 3200 500 800 500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 500 300 3600 300 3 0 0 0 -1 -1 L 3600 300 3600 500 3 0 0 0 -1 -1 V 4800 2100 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 3900 1000 3900 3900 3 0 0 0 -1 -1 L 3900 3900 3600 3900 3 0 0 0 -1 -1 V 3900 2100 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 4300 600 4200 600 3 0 0 0 -1 -1 L 4200 600 4200 300 3 0 0 0 -1 -1 L 4200 300 5900 300 3 0 0 0 -1 -1 V 5900 300 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 2100 700 800 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 2100 500 800 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 500 5500 8 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/transistor/BC307-1.sym0000664000175000017500000000171612204104272015405 00000000000000v 20041228 1 P 600 1000 600 800 1 0 0 { T 500 850 5 6 0 0 0 0 1 pinnumber=1 T 500 950 5 6 0 0 0 0 1 pinseq=1 T 600 1000 5 8 0 1 0 0 1 pinlabel=C T 600 1000 5 10 0 1 0 0 1 pintype=io } P 0 500 184 500 1 0 0 { T 100 550 5 6 0 0 0 0 1 pinnumber=2 T 100 550 5 6 0 0 0 0 1 pinseq=2 T 0 500 5 8 0 1 0 0 1 pinlabel=B T 0 500 5 10 0 1 0 0 1 pintype=io } P 600 200 600 0 1 0 1 { T 500 50 5 6 0 1 0 0 1 pinnumber=3 T 500 50 5 6 0 0 0 0 1 pinseq=3 T 700 0 5 8 0 1 0 0 1 pinlabel=E T 600 200 5 10 0 1 0 0 1 pintype=io } V 500 501 316 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 900 700 5 10 0 1 0 0 1 device=BC307 L 600 200 400 400 3 0 0 0 -1 -1 L 600 800 400 600 3 0 0 0 -1 -1 L 400 700 400 300 3 0 0 0 -1 -1 L 400 500 184 500 3 0 0 0 -1 -1 L 400 400 460 370 3 0 0 0 -1 -1 L 400 400 430 340 3 0 0 0 -1 -1 L 430 340 460 370 3 0 0 0 -1 -1 T 900 500 8 10 1 1 0 0 1 refdes=Q? T 900 300 9 10 0 0 0 0 1 footprint=TO92 T 900 100 8 10 0 1 0 0 1 description=PNP transistor T 0 0 8 10 0 1 0 0 1 numslots=0 geda-gaf-1.8.2/symbols/transistor/BC557-2.sym0000664000175000017500000000220212204104272015404 00000000000000v 20041228 1 P 700 1200 700 900 1 0 0 { T 600 950 5 8 0 1 0 0 1 pinnumber=3 T 100 1250 5 8 0 0 0 0 1 pinseq=1 T 800 1000 9 8 1 1 0 0 1 pinlabel=C T 100 1100 5 8 0 1 0 0 1 pintype=pas } P 700 300 700 0 1 0 1 { T 600 150 5 8 0 1 0 0 1 pinnumber=1 T 900 50 5 8 0 0 0 0 1 pinseq=3 T 800 100 9 8 1 1 0 0 1 pinlabel=E T 900 200 5 8 0 1 0 0 1 pintype=pas } V 600 601 300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1000 800 5 8 0 0 0 0 1 device=BC557 L 700 300 500 500 3 0 0 0 -1 -1 L 700 900 500 700 3 0 0 0 -1 -1 L 500 800 500 400 3 0 0 0 -1 -1 P 0 600 284 600 1 0 0 { T 200 450 5 8 0 1 0 0 1 pinnumber=2 T 0 150 5 6 0 0 0 0 1 pinseq=2 T 100 400 9 8 1 1 0 0 1 pinlabel=B T 0 300 5 8 0 1 0 0 1 pintype=pas } L 500 600 284 600 3 0 0 0 -1 -1 L 600 400 664 372 3 0 0 0 -1 -1 L 600 400 628 336 3 0 0 0 -1 -1 L 628 336 664 372 3 0 0 0 -1 -1 T 1000 600 8 10 1 1 0 0 1 refdes=Q? T 1000 500 5 8 0 0 0 0 1 value=BC557 T 1000 900 5 8 0 0 0 0 1 footprint=TO92 T 1000 1100 5 8 0 0 0 0 1 numslots=0 T 1000 1000 5 8 0 0 0 0 1 description=Small Signal PNP Bipolar T 1000 400 9 10 1 0 0 0 1 BC557 T 1000 1200 5 8 0 0 0 0 1 documentation=http://www.onsemi.com/pub/Collateral/BC556B-D.PDF geda-gaf-1.8.2/symbols/transistor/2N5245-1.sym0000664000175000017500000000175412204104272015470 00000000000000v 20040111 1 L 400 600 400 200 3 0 0 0 -1 -1 T 400 950 5 10 0 0 0 0 1 device=2N5245 L 400 500 600 500 3 0 0 0 -1 -1 P 600 500 600 800 1 0 1 { T 650 600 5 8 1 1 0 0 1 pinnumber=3 T 650 600 5 8 0 1 0 2 1 pinseq=3 T 550 700 9 8 0 1 0 5 1 pinlabel=D T 600 300 5 8 0 1 0 5 1 pintype=pas } L 400 300 600 300 3 0 0 0 -1 -1 P 600 300 600 0 1 0 1 { T 650 100 5 8 1 1 0 0 1 pinnumber=2 T 650 100 5 8 0 1 0 2 1 pinseq=2 T 550 100 9 8 0 1 0 3 1 pinlabel=S T 600 500 5 8 0 1 0 3 1 pintype=pas } L 300 400 400 400 3 0 0 0 -1 -1 L 350 450 400 400 3 0 0 0 -1 -1 L 400 400 350 350 3 0 0 0 -1 -1 P 300 400 0 400 1 0 1 { T 200 450 5 8 1 1 0 6 1 pinnumber=1 T 200 350 5 8 0 1 0 8 1 pinseq=1 T 200 450 9 8 0 1 0 0 1 pinlabel=G T 350 400 5 8 0 1 0 2 1 pintype=pas } T 650 400 8 10 1 1 0 0 1 refdes=Q? T 400 1350 5 10 0 0 0 0 1 footprint=TO92 T 400 1550 5 10 0 0 0 0 1 description=n-channel rf amplifier T 400 1750 5 10 0 0 0 0 1 numslots=0 T 400 1150 5 10 0 0 0 0 1 documentation=http://www.fairchildsemi.com/ds/2N/2N5245.pdf geda-gaf-1.8.2/symbols/transistor/2N5911-1.sym0000664000175000017500000000213712204104272015464 00000000000000v 20040111 1 L 400 600 400 200 3 0 0 0 -1 -1 T 500 850 5 10 0 0 0 0 1 device=2N5911 L 400 500 600 500 3 0 0 0 -1 -1 P 600 500 600 800 1 0 1 { T 650 600 5 8 1 1 0 0 1 pinnumber=2 T 650 600 5 8 0 1 0 2 1 pinseq=2 T 600 600 9 8 0 1 0 6 1 pinlabel=D T 600 300 5 8 0 1 0 5 1 pintype=pas } L 400 300 600 300 3 0 0 0 -1 -1 P 600 300 600 0 1 0 1 { T 650 100 5 8 1 1 0 0 1 pinnumber=1 T 650 100 5 8 0 1 0 2 1 pinseq=1 T 600 100 9 8 0 1 0 6 1 pinlabel=S T 600 500 5 8 0 1 0 3 1 pintype=pas } L 300 400 400 400 3 0 0 0 -1 -1 L 350 450 400 400 3 0 0 0 -1 -1 L 400 400 350 350 3 0 0 0 -1 -1 P 300 400 0 400 1 0 1 { T 200 450 5 8 1 1 0 6 1 pinnumber=3 T 200 350 5 8 0 1 0 8 1 pinseq=3 T 250 450 9 8 0 1 0 0 1 pinlabel=G T 350 400 5 8 0 1 0 2 1 pintype=pas } T 650 400 8 10 1 1 0 0 1 refdes=Q? T 500 1250 5 10 0 0 0 0 1 footprint=TO78 T 500 1450 5 10 0 0 0 0 1 description=matched n-channel jfet pairs T 500 1650 5 10 0 0 0 0 1 numslots=2 T 500 1050 5 10 0 0 0 0 1 documentation=http://wwww.ges.cz/sheet/2/2n5911.pdf T 500 1850 5 10 0 0 0 0 1 slot=1 T 500 2050 5 10 0 0 0 0 1 slotdef=1:1,2,3 T 500 2250 5 10 0 0 0 0 1 slotdef=2:5,6,7 geda-gaf-1.8.2/symbols/transistor/BC547-3.sym0000664000175000017500000000225712204104272015416 00000000000000v 20041228 1 P 600 1000 600 800 1 0 0 { T 500 850 5 6 1 1 0 0 1 pinnumber=3 T 657 876 5 6 0 0 0 0 1 pinseq=3 T 454 1043 5 10 0 1 0 0 1 pintype=pas T 372 856 5 10 0 1 0 0 1 pinlabel=C } P 600 200 600 0 1 0 1 { T 500 50 5 6 1 1 0 0 1 pinnumber=1 T 654 50 5 6 0 0 0 0 1 pinseq=1 T 738 149 5 10 0 1 0 0 1 pintype=pas T 400 3 5 10 0 1 0 0 1 pinlabel=E } V 500 501 316 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 900 300 5 10 1 1 0 0 1 device=BC547 L 600 200 400 400 3 0 0 0 -1 -1 L 600 800 400 600 3 0 0 0 -1 -1 L 400 700 400 300 3 0 0 0 -1 -1 P 0 500 184 500 1 0 0 { T 100 550 5 6 1 1 0 0 1 pinnumber=2 T 68 547 5 6 0 0 90 0 1 pinseq=2 T 184 688 5 10 0 1 90 0 1 pintype=pas T 83 335 5 10 0 1 0 0 1 pinlabel=B } L 400 500 184 500 3 0 0 0 -1 -1 L 600 200 564 272 3 0 0 0 -1 -1 L 600 200 528 236 3 0 0 0 -1 -1 L 528 236 564 272 3 0 0 0 -1 -1 T 900 500 8 10 1 1 0 0 1 refdes=Q? T 900 1000 8 10 0 1 0 0 1 footprint=TO92 T 900 700 8 10 0 0 0 0 1 numslots=0 T 100 1200 8 10 0 1 0 0 1 description=BC547 NPN general purpose transistor T 100 1400 8 10 0 1 0 0 1 documentation=http://www.semiconductors.philips.com/pip/BC547C.html T 100 1600 8 10 0 1 0 0 1 author=Karel 'Clock' Kulhavy clock -=[at]=- twibright -=[dot]=- com geda-gaf-1.8.2/symbols/transistor/2N3904-2.sym0000664000175000017500000000165712204104272015473 00000000000000v 20041228 1 P 600 1000 600 800 1 0 0 { T 500 850 5 6 1 1 0 0 1 pinnumber=1 T 437 1051 5 6 0 0 0 0 1 pinseq=1 T 480 1147 5 10 0 1 0 0 1 pintype=pas T 642 825 5 10 0 1 0 0 1 pinlabel=C } P 600 200 600 0 1 0 1 { T 500 50 5 6 1 1 0 0 1 pinnumber=3 T 734 100 5 6 0 0 0 0 1 pinseq=3 T 750 198 5 10 0 1 90 0 1 pintype=pas T 389 14 5 10 0 1 0 0 1 pinlabel=E } V 500 501 316 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 860 287 5 10 1 1 0 0 1 device=2N3904 L 600 200 400 400 3 0 0 0 -1 -1 L 600 800 400 600 3 0 0 0 -1 -1 L 400 700 400 300 3 0 0 0 -1 -1 P 0 500 184 500 1 0 0 { T 100 550 5 6 1 1 0 0 1 pinnumber=2 T 160 709 5 6 0 0 90 0 1 pinseq=2 T 116 151 5 10 0 1 90 0 1 pintype=pas T 163 153 5 10 0 1 0 0 1 pinlabel=B } L 400 500 184 500 3 0 0 0 -1 -1 L 600 200 564 272 3 0 0 0 -1 -1 L 600 200 528 236 3 0 0 0 -1 -1 L 528 236 564 272 3 0 0 0 -1 -1 T 900 500 8 10 1 1 0 0 1 refdes=Q? T 904 906 8 10 0 0 0 0 1 footprint=TO92 T 904 1098 8 10 0 0 0 0 1 numslots=0 geda-gaf-1.8.2/symbols/transistor/BC547-1.sym0000664000175000017500000000164112204104272015410 00000000000000v 20031231 1 P 600 1000 600 800 1 0 0 { T 500 850 5 6 1 1 0 0 1 pinnumber=1 T 500 850 5 6 0 0 0 0 1 pinseq=1 T 500 850 5 6 0 1 0 0 1 pinlabel=1 T 500 850 5 6 0 1 0 0 1 pintype=pas } P 600 200 600 0 1 0 1 { T 500 50 5 6 1 1 0 0 1 pinnumber=3 T 500 50 5 6 0 0 0 0 1 pinseq=3 T 500 50 5 6 0 1 0 0 1 pinlabel=3 T 500 50 5 6 0 1 0 0 1 pintype=pas } V 500 501 316 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 900 700 5 10 0 0 0 0 1 device=BC547 L 600 200 400 400 3 0 0 0 -1 -1 L 600 800 400 600 3 0 0 0 -1 -1 L 400 700 400 300 3 0 0 0 -1 -1 P 0 500 184 500 1 0 0 { T 100 550 5 6 1 1 0 0 1 pinnumber=2 T 100 550 5 6 0 0 0 0 1 pinseq=2 T 100 550 5 6 0 1 0 0 1 pinlabel=2 T 100 550 5 6 0 1 0 0 1 pintype=pas } L 400 500 184 500 3 0 0 0 -1 -1 L 600 200 564 272 3 0 0 0 -1 -1 L 600 200 528 236 3 0 0 0 -1 -1 L 528 236 564 272 3 0 0 0 -1 -1 T 900 500 8 10 1 1 0 0 1 refdes=Q? T 900 300 9 10 1 0 0 0 1 BC547 T 800 100 5 10 0 0 0 0 1 footprint=TO92 geda-gaf-1.8.2/symbols/transistor/BC557-1.sym0000664000175000017500000000225412204104272015412 00000000000000v 20050313 1 P 700 1200 700 900 1 0 0 { T 600 950 5 8 0 1 0 0 1 pinnumber=3 T 100 1250 5 8 0 0 0 0 1 pinseq=1 T 800 1000 9 8 1 1 0 0 1 pinlabel=C T 100 1100 5 8 0 1 0 0 1 pintype=pas } P 700 300 700 0 1 0 1 { T 600 150 5 8 0 1 0 0 1 pinnumber=1 T 900 50 5 8 0 0 0 0 1 pinseq=3 T 800 100 9 8 1 1 0 0 1 pinlabel=E T 900 200 5 8 0 1 0 0 1 pintype=pas } V 600 601 300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1000 800 5 8 0 0 0 0 1 device=BC557 L 700 300 500 500 3 0 0 0 -1 -1 L 700 900 500 700 3 0 0 0 -1 -1 L 500 800 500 400 3 0 0 0 -1 -1 P 0 600 284 600 1 0 0 { T 200 450 5 8 0 1 0 0 1 pinnumber=2 T 0 150 5 6 0 0 0 0 1 pinseq=2 T 100 400 9 8 1 1 0 0 1 pinlabel=B T 0 300 5 8 0 1 0 0 1 pintype=pas } L 500 600 284 600 3 0 0 0 -1 -1 L 600 400 664 372 3 0 0 0 -1 -1 L 600 400 628 336 3 0 0 0 -1 -1 L 628 336 664 372 3 0 0 0 -1 -1 T 1000 600 8 10 1 1 0 0 1 refdes=Q? T 1000 500 5 8 0 0 0 0 1 value=BC557 T 1000 900 5 8 0 0 0 0 1 footprint=TO92 T 1000 1100 5 8 0 0 0 0 1 numslots=0 T 1000 1000 5 8 0 0 0 0 1 description=Small Signal PNP Bipolar T 1000 400 9 10 1 0 0 0 1 BC557 T 1000 1200 5 8 0 0 0 0 1 documentation=http://www.onsemi.com/pub/Collateral/BC556B-D.PDF T 1000 1000 8 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/transistor/BC547-2.sym0000664000175000017500000000217512204104272015414 00000000000000v 20041228 1 P 700 1200 700 900 1 0 0 { T 600 950 5 8 0 1 0 0 1 pinnumber=3 T 100 1250 5 8 0 0 0 0 1 pinseq=1 T 800 1000 9 8 1 1 0 0 1 pinlabel=C T 100 1100 5 8 0 1 0 0 1 pintype=pas } P 700 300 700 0 1 0 1 { T 600 150 5 8 0 1 0 0 1 pinnumber=1 T 900 50 5 8 0 0 0 0 1 pinseq=3 T 800 100 9 8 1 1 0 0 1 pinlabel=E T 900 200 5 8 0 1 0 0 1 pintype=pas } V 600 601 300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1000 800 5 8 0 0 0 0 1 device=BC547 L 700 300 500 500 3 0 0 0 -1 -1 L 700 900 500 700 3 0 0 0 -1 -1 L 500 800 500 400 3 0 0 0 -1 -1 P 0 600 284 600 1 0 0 { T 200 450 5 8 0 1 0 0 1 pinnumber=2 T 0 150 5 6 0 0 0 0 1 pinseq=2 T 100 400 9 8 1 1 0 0 1 pinlabel=B T 0 300 5 8 0 1 0 0 1 pintype=pas } L 500 600 284 600 3 0 0 0 -1 -1 L 700 300 664 372 3 0 0 0 -1 -1 L 700 300 628 336 3 0 0 0 -1 -1 L 628 336 664 372 3 0 0 0 -1 -1 T 1000 600 8 10 1 1 0 0 1 refdes=Q? T 1000 500 5 8 0 0 0 0 1 value=BC547 T 1000 900 5 8 0 0 0 0 1 footprint=TO92 T 1000 1100 5 8 0 0 0 0 1 numslots=0 T 1000 1000 5 8 0 0 0 0 1 description=Small Signal Bipolar T 1000 400 9 10 1 0 0 0 1 BC547 T 1000 1200 5 8 0 0 0 0 1 documentation=http://www.onsemi.com/pub/Collateral/BC546-D.PDF geda-gaf-1.8.2/symbols/transistor/IRF1010N-1.sym0000664000175000017500000000242512204104272015725 00000000000000v 20031231 1 T 600 200 5 10 1 1 0 0 1 device=IRF1010N T 600 300 5 10 0 0 0 0 1 numslots=0 T 600 400 5 10 0 0 0 0 1 description=HEXFET Power MOSFET T 600 500 5 10 0 0 0 0 1 footprint=TO-220AB L 250 600 500 600 3 0 0 0 -1 -1 L 250 200 500 200 3 0 0 0 -1 -1 L 250 400 350 450 3 0 0 0 -1 -1 L 250 400 350 350 3 0 0 0 -1 -1 P 0 200 200 200 1 0 0 { T 0 500 5 10 0 1 0 0 1 pinnumber=1 T 0 300 9 10 0 1 0 0 1 pinlabel=G T 0 1000 5 10 0 0 0 0 1 pinseq=1 T 0 900 5 10 0 0 0 0 1 pintype=pas } P 500 600 500 800 1 0 1 { T 600 700 5 10 0 1 0 0 1 pinnumber=2 T 300 700 9 10 0 1 0 0 1 pinlabel=D T 800 800 5 10 0 0 0 0 1 pinseq=2 T 800 700 5 10 0 0 0 0 1 pintype=pas } P 500 200 500 0 1 0 1 { T 600 0 5 10 0 1 0 0 1 pinnumber=3 T 300 0 9 10 0 1 0 0 1 pinlabel=S T 800 100 5 10 0 0 0 0 1 pinseq=3 T 800 0 5 10 0 0 0 0 1 pintype=pas } T 600 600 8 10 1 1 0 0 1 refdes=Q? L 250 675 250 525 3 0 0 0 -1 -1 L 250 475 250 325 3 0 0 0 -1 -1 L 250 275 250 125 3 0 0 0 -1 -1 L 200 600 200 200 3 0 0 0 -1 -1 L 250 400 400 400 3 0 0 0 -1 -1 L 400 400 400 200 3 0 0 0 -1 -1 L 500 600 500 450 3 0 0 0 -1 -1 L 500 450 550 350 3 0 0 0 -1 -1 L 500 450 450 350 3 0 0 0 -1 -1 L 450 350 550 350 3 0 0 0 -1 -1 L 450 450 550 450 3 0 0 0 -1 -1 L 450 450 425 425 3 0 0 0 -1 -1 L 550 450 575 475 3 0 0 0 -1 -1 L 500 350 500 200 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/transistor/2N3906-1.sym0000664000175000017500000000207512204104272015467 00000000000000v 20041228 1 P 600 1000 600 800 1 0 0 { T 527 856 5 6 1 1 0 0 1 pinnumber=1 T 641 843 5 6 0 0 0 0 1 pinseq=1 T 659 938 5 10 0 1 0 0 1 pintype=pas T 335 841 5 10 0 1 0 0 1 pinlabel=C } P 600 200 600 0 1 0 1 { T 500 50 5 6 1 1 0 0 1 pinnumber=3 T 635 58 5 6 0 0 0 0 1 pinseq=3 T 693 143 5 10 0 1 0 0 1 pintype=pas T 387 18 5 10 0 1 0 0 1 pinlabel=E } V 500 501 316 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 900 300 5 10 1 1 0 0 1 device=2N3906 L 600 200 400 400 3 0 0 0 -1 -1 L 600 800 400 600 3 0 0 0 -1 -1 L 400 700 400 300 3 0 0 0 -1 -1 P 0 500 184 500 1 0 0 { T 100 550 5 6 1 1 0 0 1 pinnumber=2 T 71 545 5 6 0 0 90 0 1 pinseq=2 T 83 168 5 10 0 1 90 0 1 pintype=pas T 124 667 5 10 0 1 0 0 1 pinlabel=B } L 400 500 184 500 3 0 0 0 -1 -1 L 400 400 436 328 3 0 0 0 -1 -1 L 400 400 472 364 3 0 0 0 -1 -1 L 472 364 436 328 3 0 0 0 -1 -1 T 900 500 8 10 1 1 0 0 1 refdes=Q? T 600 1100 8 10 0 0 0 0 1 description=2N3906 PNP transistor T 600 1300 8 10 0 0 0 0 1 documentation=http://www.fairchildsemi.com/pf/2N/2N3906.html T 600 1500 8 10 0 0 0 0 1 numslots=0 T 600 1700 8 10 0 0 0 0 1 footprint=TO92 geda-gaf-1.8.2/symbols/transistor/ULN2801A-1.sym0000664000175000017500000000645412204104272015745 00000000000000v 20031231 1 T 300 3050 3 10 1 0 0 0 1 ULN2801A T 300 3300 2 10 1 1 0 0 1 refdes=U? T 300 3700 8 10 0 0 0 0 1 device=ULN2801A P 300 2700 0 2700 1 0 1 { T 136 2750 5 8 1 1 0 0 1 pinnumber=1 T 136 2750 5 8 0 0 0 0 1 pinseq=1 T 375 2650 3 8 1 1 0 0 1 pinlabel=I1 T 136 2750 5 8 0 1 0 0 1 pintype=pas } P 300 2400 0 2400 1 0 1 { T 96 2450 5 8 1 1 0 0 1 pinnumber=2 T 96 2450 5 8 0 0 0 0 1 pinseq=2 T 375 2350 3 8 1 1 0 0 1 pinlabel=I2 T 96 2450 5 8 0 1 0 0 1 pintype=pas } P 300 2100 0 2100 1 0 1 { T 120 2150 5 8 1 1 0 0 1 pinnumber=3 T 120 2150 5 8 0 0 0 0 1 pinseq=3 T 375 2050 3 8 1 1 0 0 1 pinlabel=I3 T 120 2150 5 8 0 1 0 0 1 pintype=pas } P 300 1800 0 1800 1 0 1 { T 96 1850 5 8 1 1 0 0 1 pinnumber=4 T 96 1850 5 8 0 0 0 0 1 pinseq=4 T 375 1750 3 8 1 1 0 0 1 pinlabel=I4 T 96 1850 5 8 0 1 0 0 1 pintype=pas } P 300 1500 0 1500 1 0 1 { T 120 1550 5 8 1 1 0 0 1 pinnumber=5 T 120 1550 5 8 0 0 0 0 1 pinseq=5 T 375 1450 3 8 1 1 0 0 1 pinlabel=I5 T 120 1550 5 8 0 1 0 0 1 pintype=pas } P 300 1200 0 1200 1 0 1 { T 104 1250 5 8 1 1 0 0 1 pinnumber=6 T 104 1250 5 8 0 0 0 0 1 pinseq=6 T 375 1150 3 8 1 1 0 0 1 pinlabel=I6 T 104 1250 5 8 0 1 0 0 1 pintype=pas } P 300 900 0 900 1 0 1 { T 120 950 5 8 1 1 0 0 1 pinnumber=7 T 120 950 5 8 0 0 0 0 1 pinseq=7 T 375 850 3 8 1 1 0 0 1 pinlabel=I7 T 120 950 5 8 0 1 0 0 1 pintype=pas } P 300 600 0 600 1 0 1 { T 112 650 5 8 1 1 0 0 1 pinnumber=8 T 112 650 5 8 0 0 0 0 1 pinseq=8 T 375 550 3 8 1 1 0 0 1 pinlabel=I8 T 112 650 5 8 0 1 0 0 1 pintype=pas } P 1200 300 1200 0 1 0 1 { T 1275 150 5 8 1 1 0 0 1 pinnumber=9 T 1275 150 5 8 0 0 0 0 1 pinseq=9 T 1250 375 3 8 1 1 90 0 1 pinlabel=Vee T 1275 150 5 8 0 1 0 0 1 pintype=pas } P 1500 3000 1500 3300 1 0 1 { T 1575 3075 5 8 1 1 0 0 1 pinnumber=10 T 1575 3075 5 8 0 0 0 0 1 pinseq=10 T 1550 2690 3 8 1 1 90 0 1 pinlabel=+Vs T 1575 3075 5 8 0 1 0 0 1 pintype=pas } P 2100 600 2400 600 1 0 1 { T 2200 650 5 8 1 1 0 0 1 pinnumber=11 T 2200 650 5 8 0 0 0 0 1 pinseq=11 T 1834 550 3 8 1 1 0 0 1 pinlabel=O8 T 2200 650 5 8 0 1 0 0 1 pintype=pas } P 2100 900 2400 900 1 0 1 { T 2200 950 5 8 1 1 0 0 1 pinnumber=12 T 2200 950 5 8 0 0 0 0 1 pinseq=12 T 1842 850 3 8 1 1 0 0 1 pinlabel=O7 T 2200 950 5 8 0 1 0 0 1 pintype=pas } P 2100 1200 2400 1200 1 0 1 { T 2200 1250 5 8 1 1 0 0 1 pinnumber=13 T 2200 1250 5 8 0 0 0 0 1 pinseq=13 T 1826 1150 3 8 1 1 0 0 1 pinlabel=O6 T 2200 1250 5 8 0 1 0 0 1 pintype=pas } P 2100 1500 2400 1500 1 0 1 { T 2200 1550 5 8 1 1 0 0 1 pinnumber=14 T 2200 1550 5 8 0 0 0 0 1 pinseq=14 T 1842 1450 3 8 1 1 0 0 1 pinlabel=O5 T 2200 1550 5 8 0 1 0 0 1 pintype=pas } P 2100 1800 2400 1800 1 0 1 { T 2200 1850 5 8 1 1 0 0 1 pinnumber=15 T 2200 1850 5 8 0 0 0 0 1 pinseq=15 T 1818 1750 3 8 1 1 0 0 1 pinlabel=O4 T 2200 1850 5 8 0 1 0 0 1 pintype=pas } P 2100 2100 2400 2100 1 0 1 { T 2200 2150 5 8 1 1 0 0 1 pinnumber=16 T 2200 2150 5 8 0 0 0 0 1 pinseq=16 T 1842 2050 3 8 1 1 0 0 1 pinlabel=O3 T 2200 2150 5 8 0 1 0 0 1 pintype=pas } P 2100 2400 2400 2400 1 0 1 { T 2200 2450 5 8 1 1 0 0 1 pinnumber=17 T 2200 2450 5 8 0 0 0 0 1 pinseq=17 T 1818 2350 3 8 1 1 0 0 1 pinlabel=O2 T 2200 2450 5 8 0 1 0 0 1 pintype=pas } P 2100 2700 2400 2700 1 0 1 { T 2200 2750 5 8 1 1 0 0 1 pinnumber=18 T 2200 2750 5 8 0 0 0 0 1 pinseq=18 T 1858 2650 3 8 1 1 0 0 1 pinlabel=O1 T 2200 2750 5 8 0 1 0 0 1 pintype=pas } B 300 300 1800 2700 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/transistor/2N3904-1.sym0000664000175000017500000000164312204104272015465 00000000000000v 20031231 1 P 600 1000 600 800 1 0 0 { T 500 850 5 6 1 1 0 0 1 pinnumber=3 T 500 850 5 6 0 0 0 0 1 pinseq=1 T 500 850 5 6 0 1 0 0 1 pinlabel=3 T 500 850 5 6 0 1 0 0 1 pintype=pas } P 600 200 600 0 1 0 1 { T 500 50 5 6 1 1 0 0 1 pinnumber=1 T 500 50 5 6 0 0 0 0 1 pinseq=3 T 500 50 5 6 0 1 0 0 1 pinlabel=1 T 500 50 5 6 0 1 0 0 1 pintype=pas } V 500 501 316 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 900 700 5 10 0 0 0 0 1 device=2N3904 L 600 200 400 400 3 0 0 0 -1 -1 L 600 800 400 600 3 0 0 0 -1 -1 L 400 700 400 300 3 0 0 0 -1 -1 P 0 500 184 500 1 0 0 { T 100 550 5 6 1 1 0 0 1 pinnumber=2 T 100 550 5 6 0 0 0 0 1 pinseq=2 T 100 550 5 6 0 1 0 0 1 pinlabel=2 T 100 550 5 6 0 1 0 0 1 pintype=pas } L 400 500 184 500 3 0 0 0 -1 -1 L 600 200 564 272 3 0 0 0 -1 -1 L 600 200 528 236 3 0 0 0 -1 -1 L 528 236 564 272 3 0 0 0 -1 -1 T 900 500 8 10 1 1 0 0 1 refdes=Q? T 900 300 9 10 1 0 0 0 1 2N3904 T 800 100 5 10 0 0 0 0 1 footprint=TO92 geda-gaf-1.8.2/symbols/transistor/BC182-1.sym0000664000175000017500000000220112204104272015374 00000000000000v 20041228 1 P 700 1200 700 900 1 0 0 { T 600 950 5 8 0 1 0 0 1 pinnumber=3 T 100 1250 5 8 0 0 0 0 1 pinseq=1 T 800 1000 9 8 1 1 0 0 1 pinlabel=C T 100 1100 5 8 0 1 0 0 1 pintype=pas } P 700 300 700 0 1 0 1 { T 600 150 5 8 0 1 0 0 1 pinnumber=1 T 900 50 5 8 0 0 0 0 1 pinseq=3 T 800 100 9 8 1 1 0 0 1 pinlabel=E T 900 200 5 8 0 1 0 0 1 pintype=pas } V 600 601 300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1000 800 5 8 0 0 0 0 1 device=BC182 L 700 300 500 500 3 0 0 0 -1 -1 L 700 900 500 700 3 0 0 0 -1 -1 L 500 800 500 400 3 0 0 0 -1 -1 P 0 600 284 600 1 0 0 { T 200 450 5 8 0 1 0 0 1 pinnumber=2 T 0 150 5 6 0 0 0 0 1 pinseq=2 T 100 400 9 8 1 1 0 0 1 pinlabel=B T 0 300 5 8 0 1 0 0 1 pintype=pas } L 500 600 284 600 3 0 0 0 -1 -1 L 700 300 664 372 3 0 0 0 -1 -1 L 700 300 628 336 3 0 0 0 -1 -1 L 628 336 664 372 3 0 0 0 -1 -1 T 1000 600 8 10 1 1 0 0 1 refdes=Q? T 1000 500 5 8 0 0 0 0 1 value=BC182 T 1000 900 5 8 0 0 0 0 1 footprint=TO92 T 1000 1100 5 8 0 0 0 0 1 numslots=0 T 1000 1000 5 8 0 0 0 0 1 description=Small Signal NPN Bipolar T 1000 400 9 10 1 0 0 0 1 BC182 T 1000 1200 5 8 0 0 0 0 1 documentation=http://www.onsemi.com/pub/Collateral/BC182-D.PDF geda-gaf-1.8.2/symbols/transistor/2N3055-1.sym0000664000175000017500000000157312204104272015464 00000000000000v 20031231 1 P 600 1000 600 800 1 0 0 { T 500 850 5 6 1 1 0 0 1 pinnumber=3 T 500 850 5 6 0 0 0 0 1 pinseq=1 T 500 850 5 6 0 1 0 0 1 pinlabel=3 T 500 850 5 6 0 1 0 0 1 pintype=pas } P 600 200 600 0 1 0 1 { T 500 50 5 6 1 1 0 0 1 pinnumber=2 T 500 50 5 6 0 0 0 0 1 pinseq=3 T 500 50 5 6 0 1 0 0 1 pinlabel=2 T 500 50 5 6 0 1 0 0 1 pintype=pas } V 500 501 300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 900 700 5 10 0 0 0 0 1 device=2N3055 L 600 200 400 400 3 0 0 0 -1 -1 L 600 800 400 600 3 0 0 0 -1 -1 L 400 700 400 300 3 0 0 0 -1 -1 P 0 500 184 500 1 0 0 { T 100 550 5 6 1 1 0 0 1 pinnumber=1 T 100 550 5 6 0 0 0 0 1 pinseq=2 T 100 550 5 6 0 1 0 0 1 pinlabel=1 T 100 550 5 6 0 1 0 0 1 pintype=pas } L 400 500 184 500 3 0 0 0 -1 -1 L 600 200 564 272 3 0 0 0 -1 -1 L 600 200 528 236 3 0 0 0 -1 -1 L 528 236 564 272 3 0 0 0 -1 -1 T 900 500 8 10 1 1 0 0 1 refdes=Q? T 900 300 9 10 1 0 0 0 1 2N3055 geda-gaf-1.8.2/symbols/transistor/2N2222-1.sym0000664000175000017500000000157312204104272015457 00000000000000v 20041228 1 P 600 1000 600 800 1 0 0 { T 500 850 5 6 1 1 0 0 1 pinnumber=3 T 500 850 5 6 0 0 0 0 1 pinseq=1 T 500 850 5 6 0 1 0 0 1 pinlabel=3 T 500 850 5 6 0 1 0 0 1 pintype=pas } P 600 200 600 0 1 0 1 { T 500 50 5 6 1 1 0 0 1 pinnumber=2 T 500 50 5 6 0 0 0 0 1 pinseq=3 T 500 50 5 6 0 1 0 0 1 pinlabel=2 T 500 50 5 6 0 1 0 0 1 pintype=pas } V 500 501 300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 900 700 8 10 0 0 0 0 1 device=2N2222 L 600 200 400 400 3 0 0 0 -1 -1 L 600 800 400 600 3 0 0 0 -1 -1 L 400 700 400 300 3 0 0 0 -1 -1 P 0 500 184 500 1 0 0 { T 100 550 5 6 1 1 0 0 1 pinnumber=1 T 100 550 5 6 0 0 0 0 1 pinseq=2 T 100 550 5 6 0 1 0 0 1 pinlabel=1 T 100 550 5 6 0 1 0 0 1 pintype=pas } L 400 500 184 500 3 0 0 0 -1 -1 L 600 200 564 272 3 0 0 0 -1 -1 L 600 200 528 236 3 0 0 0 -1 -1 L 528 236 564 272 3 0 0 0 -1 -1 T 900 500 8 10 1 1 0 0 1 refdes=Q? T 900 300 9 10 1 0 0 0 1 2N2222 geda-gaf-1.8.2/symbols/transistor/IRLZ24N-1.sym0000664000175000017500000000242412204104272015730 00000000000000v 20031231 1 T 600 200 5 10 1 1 0 0 1 device=IRLZ24N T 600 300 5 10 0 0 0 0 1 numslots=0 T 600 400 5 10 0 0 0 0 1 description=HEXFET Power MOSFET T 600 500 5 10 0 0 0 0 1 footprint=TO-220AB L 250 600 500 600 3 0 0 0 -1 -1 L 250 200 500 200 3 0 0 0 -1 -1 L 250 400 350 450 3 0 0 0 -1 -1 L 250 400 350 350 3 0 0 0 -1 -1 P 0 200 200 200 1 0 0 { T 0 500 5 10 0 1 0 0 1 pinnumber=1 T 0 300 9 10 0 1 0 0 1 pinlabel=G T 0 1000 5 10 0 0 0 0 1 pinseq=1 T 0 900 5 10 0 0 0 0 1 pintype=pas } P 500 600 500 800 1 0 1 { T 600 700 5 10 0 1 0 0 1 pinnumber=2 T 300 700 9 10 0 1 0 0 1 pinlabel=D T 800 800 5 10 0 0 0 0 1 pinseq=2 T 800 700 5 10 0 0 0 0 1 pintype=pas } P 500 200 500 0 1 0 1 { T 600 0 5 10 0 1 0 0 1 pinnumber=3 T 300 0 9 10 0 1 0 0 1 pinlabel=S T 800 100 5 10 0 0 0 0 1 pinseq=3 T 800 0 5 10 0 0 0 0 1 pintype=pas } T 600 600 8 10 1 1 0 0 1 refdes=Q? L 250 675 250 525 3 0 0 0 -1 -1 L 250 475 250 325 3 0 0 0 -1 -1 L 250 275 250 125 3 0 0 0 -1 -1 L 200 600 200 200 3 0 0 0 -1 -1 L 250 400 400 400 3 0 0 0 -1 -1 L 400 400 400 200 3 0 0 0 -1 -1 L 500 600 500 450 3 0 0 0 -1 -1 L 500 450 550 350 3 0 0 0 -1 -1 L 500 450 450 350 3 0 0 0 -1 -1 L 450 350 550 350 3 0 0 0 -1 -1 L 450 450 550 450 3 0 0 0 -1 -1 L 450 450 425 425 3 0 0 0 -1 -1 L 550 450 575 475 3 0 0 0 -1 -1 L 500 350 500 200 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/transistor/2S2K3-1.sym0000664000175000017500000000053312204104272015427 00000000000000v 20031231 1 L 400 600 400 200 3 0 0 0 -1 -1 T -100 600 5 10 0 1 0 0 1 device=2S2K3 L 400 500 600 500 3 0 0 0 -1 -1 P 600 500 600 800 1 0 1 L 400 300 600 300 3 0 0 0 -1 -1 P 600 300 600 0 1 0 1 L 300 400 400 400 3 0 0 0 -1 -1 L 350 450 400 400 3 0 0 0 -1 -1 L 400 400 350 350 3 0 0 0 -1 -1 P 300 400 0 400 1 0 1 T 700 500 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/ChangeLog0000664000175000017500000007071012220655763013357 00000000000000commit f7fab3715f984c374f41d7c2d74fc2802bbb4e7a Author: Gareth Edwards Date: Wed Nov 14 22:58:12 2012 +0000 Replace references to geda.seul.org with up-to-date URLs. Update lots of links to seul.org to www.geda-project.org, wiki.geda-project.org, gedasymbols.org and www.gnu.org as appropriate. commit 0e506ebd5d5cc87a7f373b83b24f2ad3c90fd18b Author: Peter TB Brett Date: Mon Dec 12 14:13:22 2011 +0000 Remove per-tool INSTALL files. Only one top-level INSTALL file is needed, and that is provided by automake. commit d5d1a98f0e95589c33bff881198cca01a1b08c7e Author: Clif Cox Date: Mon Jun 13 13:38:39 2011 +0100 Updated the problematic name attributes in some symbols In some gnetlist backends the name=? attributes cause problems because they look like valid attribute values. eg file=? may be mistaken for a valid filepath, and value=? for an actual value. Changing them to name=unknown is one way to solve this problem in the interim. It's now safe to remove the special checks for these "?" like the one in spice-sdb. This patch updates these problematic name=? attributes in some symbols to name=unknown, and removes FIXME code snipit that checked for the ? value in spice-sdb. It also updates gnetlist tests to reflect these changes. Turns out that the test input file TwoStageAmp.sch had a ? in it, which of couse caused problems. Then when it was removed vams's output changed so it had to be fixed, which wasn't a very clever fix but seems to work. Closes-bug: lp-698741 Reviewed-by: Peter TB Brett commit 00d62470ba44f61364ff4d6572ce1a31d051b22c Author: Clif Cox Date: Mon Jun 13 13:38:39 2011 +0100 symbols: Misc attribute encoding errors. Affects-bug: lp-698741 commit 23383c5d04f17d5fd7491f2c631bfc1e3f15e96f Author: Peter TB Brett Date: Tue Jan 18 22:29:08 2011 +0000 Revert "Updated the problematic name attribute in some symbols" This reverts commit 5b1ee0d69f2fad7400f34543c482d51a55ce08c3. This commit broke the gnetlist testsuite, and another approach will need to be found. commit 5b1ee0d69f2fad7400f34543c482d51a55ce08c3 Author: Clif Cox Date: Mon Jan 17 13:15:50 2011 -0800 Updated the problematic name attribute in some symbols Reviewed-by: Peter TB Brett Closes-bug: lp-698741 commit 1e93f7bea2cbe0fa8887337c261093b55c31dd6d Author: Peter TB Brett Date: Mon Jan 3 23:07:25 2011 +0000 Revert "Remove some CVS keywords." This reverts commit f5ada1de1372bd3772b4f4bd33afa59803c1dade, which was pushed to the repository in error. commit f5ada1de1372bd3772b4f4bd33afa59803c1dade Author: Peter TB Brett Date: Tue Dec 21 12:37:10 2010 +0000 Remove some CVS keywords. commit 84fae3a8201c2d1a5bc3bf4d0f03a0dcc8b3ee86 Author: Werner Hoch Date: Tue Oct 6 19:49:34 2009 +0200 Minor correction of symbol resistor-2.sym Reported by Christian Riggenbach on geda-user mailing list commit 3388b0e409c091f93b74b481dc76edc636cf00d1 Author: Werner Hoch Date: Fri Jan 2 12:12:39 2009 +0100 symbols: reworked two pic16 symbols added pinlabel, pintype and attributes. Fixed text alignments. commit 1d83fae5a612f52affc5252fa3ef3324d01657a1 Author: Cesar Strauss Date: Wed Sep 23 19:50:59 2009 -0300 build-sys: Avoid using "$*" for source files. When building out-of-tree, commands using $* for source files will not find them, since $* refers to the target, not the source. Better use $< for source files and $@ for target files. commit e5ae12ec1091bd6e3c4067e395714efd3934b0c2 Author: Peter Clifton Date: Mon Aug 17 13:18:10 2009 +0100 Remove old text mechanism, including TEXT->prim_objs, symbols/font/* Now we have pango rendering, the old text mechanism and its glyph symbols are redundant and can be removed. commit a4a8c19bb3389548d641a0874a77c77f623ad7a5 Author: Ales Hvezda Date: Fri Aug 7 23:02:01 2009 -0400 Makefile.am cleanup (removal of ChangeLog and Makefile.in files) Details on this commit: * Now that we are no longer storing machine generated ChangeLogs inside the git repository, make maintainer-clean should remove the machine generated ChangeLogs. This way nobody accidently edits the ChangeLog. Only 7 ChangeLogs are left after a make maintainer-clean (intl, po, and one toplevel ChangeLog). * Some directories were missing the removal of Makefile.in when make maintainer-clean is run. Only 3 Makefile.in files remain now after make maintainer-clean (only in the intl directories). * Removed $Id$ tags from some of the Makefiles since we are no longer using CVS. * Removed some unnecessary ChangeLogs from ever being created (from example/gTAG gschem/scripts, and symbol/font). Note 1: There are still some machine generated files still hanging around, but I'm going to leave those alone for now as the .gitignore mechanism properly masks those. Note 2: Made sure that all files that are to be removed in the *CLEANFILES lists comes before the #*# otherwise they will be ignored. commit fc2b205314545d92ea2a7e8f40a7a4c7d5af893d Author: Peter TB Brett Date: Thu Aug 6 17:15:29 2009 +0100 Don't store git-generated ChangeLog files in repository. Don't store ChangeLog files in the git repository and have to remember to update them each time a release is made. Instead, get `make dist' to create the ChangeLogs for you if a git repository is detected. Note: make distcheck does not pass in this commit. commit 77d96e9154d9cfc81b25353ef99b8f8f42999bfb Author: Peter TB Brett Date: Thu Aug 6 14:35:12 2009 +0100 Add top-level NEWS file. This contains important user-visible changes. It should be kept up-to-date, in order to make writing release notes easier. commit 433c672579aabb282999377139c9242b319ba044 Author: Peter TB Brett Date: Thu Aug 6 12:38:31 2009 +0100 Only need a single `AUTHORS' file. Move the gschem one to the toplevel (adding several missing names on the way), and remove most of the others. The `AUTHORS' files in the `symbols' and `utils' directories are retained, because they contain some useful information. Note: make distcheck does not pass in this commit. commit ed7134fd403b9f1dc0a75d50e4e7bcfb2fd95cb8 Author: Peter TB Brett Date: Thu Aug 6 11:19:57 2009 +0100 Only need one copy of GPLv2. Also, update to latest version of GPLv2 (from http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt). This corrects the FSF contact address, along with some minor formatting modernisations. Note: make distcheck does not pass in this commit. commit d117ca9718e4e5229f37983d9e08a584deb5550b Author: Peter TB Brett Date: Thu Aug 6 06:36:39 2009 +0100 Add symbols to unified build system. Note: make distcheck does not pass in this commit. commit e55e9e247eb33c4a5be56687b4610c6649ef74d7 Author: Peter TB Brett Date: Tue Aug 4 22:06:16 2009 +0100 Remove existing build infrastructure. This simply strips out all configure, m4 and autogen scripts from the whole repository, including the toplevel Makefile. This commit does not compile (what a surprise)! commit d9e1cad1bf71fec1f5526d795ecb7e31bb56e086 Author: Peter TB Brett Date: Thu Aug 6 08:38:59 2009 +0100 symbols: Recursive make less recursively. Use some carefully-written custom Automake rules to make it possible to remove almost all the recursive Makefiles from the symbols package. Increases maintainability by: - No longer requiring a separate `Makefile.am 'for every symbol library. - A new library can be added or removed just by adding it to the list in the toplevel `Makefile.am', rather than adding it to two lists in `configure.ac' as well. Also increases speed of `make install': - Before: real 0m6.773s user 0m5.579s sys 0m0.764s - After: real 0m4.784s user 0m3.669s sys 0m0.529s commit 67aeb9b999d29080118a7af899ad1de362ccd2b8 Author: Peter Clifton Date: Mon Jun 8 23:31:22 2009 +0100 Fix autogen.sh scripts to look for AC_CONFIG_HEADER to run autoheader Since commit #9a7c363c572d32a30fa1522cd7d14b21c2958ca8, the configure scripts in gEDA use AC_CONFIG_HEADER, not AM_CONFIG_HEADER Fixes build problems noted by various users. Identified by Dan McMahill. commit ab590ab70cddfe6a0954d56a31c0ebd1f0bc7691 Author: Ales Hvezda Date: Sat Mar 28 15:55:19 2009 -0400 Updated ChangeLogs one more time for 1.5.2 commit 546d4dbe0124d3f9421116b9e5a8889cccf97b84 Author: Ales Hvezda Date: Sat Mar 28 15:22:19 2009 -0400 Updated all ChangeLogs Updated the ChangeLogs by running: ./update-changelogs.sh 1.0-20070526..master in the toplevel directory commit 859abe69912ba99ca27bb58c378284e9eec56259 Author: Ales Hvezda Date: Sat Mar 28 15:13:59 2009 -0400 Updated all versions to 1.5.2 20090328 36:0:0 Updated by running: ./update-versions.sh 1.5.2 20090328 36:0:0 commit cf9db58115f4924f4c64d4012bde3c902f2f918d Author: Werner Hoch Date: Tue Feb 3 10:07:25 2009 +0100 fixed whichend of the symbol 7495-1.sym Bug reported by Oliver Lehman on geda-user mailing list commit 9e3e45193643d5bca628df5074fd1aedd7ff619c Author: Bert Timmerman Date: Wed Dec 31 08:58:44 2008 +0100 symbols: micro overbars rework (part 3) replace line overbars with implicit \_overbars\_ commit 2c2093b628981dc05ffc75279218cb2b240e4513 Author: Bert Timmerman Date: Wed Dec 31 08:58:11 2008 +0100 symbols: micro overbars rework (part 2) replace line overbars with implicit \_overbars\_ commit 19e046c9bf653ffec4ac7efbf3a7d510d3c2da14 Author: Bert Timmerman Date: Wed Dec 31 08:57:46 2008 +0100 symbols: micro overbars rework (part 1) replace line overbars with implicit \_overbars\_ commit 5fbfceb2162b1c227ef8e2ae487455cce24e34af Author: Werner Hoch Date: Tue Dec 30 11:40:56 2008 +0100 symbols: overbar rework memory (2) updated 2 missing symbols with \_overbars\_ commit 80f6b087e306bd205e748c87d7d317b1d03952ed Author: Bert Timmerman Date: Tue Dec 30 11:24:22 2008 +0100 symbols: national overbars rework replace line overbars with implicit \_overbars\_ commit 9e4d65dce80bc14e27fbcb339f87550da7d02688 Author: Bert Timmerman Date: Tue Dec 30 11:23:45 2008 +0100 symbols: memory overbars rework replace line overbars with implicit \_overbars\_ commit b5b925647b3538ac68d2153f6505fe5481182312 Author: Bert Timmerman Date: Tue Dec 30 11:23:16 2008 +0100 symbols: io overbars rework replace line overbars with implicit \_overbars\_ commit c01936478407ce5c0ad2548e4cda23686d8c02b1 Author: Bert Timmerman Date: Tue Dec 30 11:22:19 2008 +0100 symbols: allegro overbars rework replace line overbars with implicit \_overbars\_ commit 3b879637e8b33961042f06c85b4293b0b6958f60 Author: Bert Timmerman Date: Mon Dec 29 10:06:21 2008 +0100 symbols: misc overbars rework replace line overbars with implicit \_overbars\_ commit 09029b10e3a97a5ad27f80f0e8c267aa49a9e212 Author: Bert Timmerman Date: Mon Dec 29 10:05:41 2008 +0100 symbols: connector overbars rework replace line overbars with implicit \_overbars\_ commit 7ced480e4ae1642931abed209547efe1f7e8c7e0 Author: Bert Timmerman Date: Mon Dec 29 10:04:47 2008 +0100 symbols: linear overbar rework replace line overbars with implicite \_overbars\_ commit 1593b20ae48872e60e5e72b513603381a836da87 Author: Bert Timmerman Date: Mon Dec 29 10:03:33 2008 +0100 symbols: 74 overbars rework (part 4) replace line overbars with implicit \_overbars\_ commit 51476ae944ab64bc0b3435232d7d65fcbfe17635 Author: Bert Timmerman Date: Mon Dec 29 10:02:48 2008 +0100 symbols: 74 overbars rework (part 3) replace line overbars with implicit \_overbars\_ commit 80b0aca42a484985c409150176ff6c0ca4c7007d Author: Bert Timmerman Date: Mon Dec 29 10:01:56 2008 +0100 [PATCH] symbols: 74 overbars rework (part 2) replace line overbars with implicit \_overbars\_ commit f8267681348874899ee687abd7e0ea2a4f9c37d1 Author: Bert Timmerman Date: Mon Dec 29 10:01:20 2008 +0100 symbols: 74 overbars rework (part 1) replace line overbars with implicit \_overbars\_ commit 93450371d4557f94570863be3a283c7862ab01d6 Author: Bert Timmerman Date: Sun Dec 28 12:01:16 2008 +0100 symbols: 4000 overbars rework (part 3) replace line overbars with implicit \_overbars\_ commit 34b9c21180e64b8fb99661cecabf88aed15bc35b Author: Bert Timmerman Date: Sun Dec 28 08:31:51 2008 +0100 symbols: 4000 overbars rework (part 2) replace line overbars with implicit \_overbars\_ commit fcdc312a4d5cebd3d5ee1de685ec92fb4219e0f6 Author: Bert Timmerman Date: Sun Dec 28 08:12:50 2008 +0100 symbols: 4000 overbars rework (part 1) replace line overbars with implicit \_overbars\_ fixed a single maxim symbol commit 79127f9f9f4e59688c934069c307f65a3cf88d9f Author: Bert Timmerman Date: Sat Dec 27 21:29:41 2008 +0100 symbols: maxim overbar rework replace line overbars with implicite \_overbars\_ commit f2db774aa2a5955fa7c790c869ad55bb92993573 Author: Stuart Brorson Date: Sat Dec 27 16:57:19 2008 -0500 Fix ground.sym file so that it will netlist inside of spice-sdb. commit 35ea568246a8df14f7f6fa4b6c375e72662638d6 Author: Werner Hoch Date: Sat Dec 27 13:17:16 2008 +0100 symbols: set show_name_value of non-attributes to show_all Some pure text elements had set the show_name_value field to 1. Even if this is not completely wrong. I think it's better to use show_name_value > 0 only for attributes. commit 1c64bc071b9b89ca66582fecee9d5328b7da2f46 Author: Werner Hoch Date: Sat Dec 27 10:02:30 2008 +0100 fixed symbol micro/pic16F876-1.sym [#2470098] commit 3c49636e1a9e9e703fab4c6aafc69affb4fd2bab Author: Ales Hvezda Date: Sun Dec 21 16:23:26 2008 -0500 Updated ChangeLogs one more time. commit 2f3e07a1fa7fd92ab163d2cd966efd98ab306512 Author: Ales Hvezda Date: Sun Dec 21 14:40:21 2008 -0500 Updated ChangeLogs again in prep for the 1.5.1 release commit 76d02f7f935d930d8093bd49b7eb0836d3b1aa6e Author: Ales Hvezda Date: Sun Dec 21 14:06:17 2008 -0500 Updated all ChangeLogs in prep for the 1.5.1 release. The update was done by running: ./update-changelogs.sh 1.0-20070526..master commit 680e08085d44c9876bdadef0ca7ef25b474c2006 Author: Ales Hvezda Date: Sun Dec 21 13:39:29 2008 -0500 Updated all versions to 1.5.1 20081221 35:0:0 Updated by running: ./update-versions.sh 1.5.1 20081221 35:0:0 commit 6329c5a7bdae9573f01f92403e4645e79e66aab5 Author: Peter TB Brett Date: Sat Dec 20 14:41:05 2008 +0000 Update copyright header dates to 2008. (And I'll have to do this all again in a few days time). commit c2c94821ec6c9a83d0144adad7f6fa190f403af3 Author: Peter Clifton Date: Mon Nov 3 00:23:52 2008 +0000 Bump fileformat verison to 2 Since we've added path support, we need to bump the file-format version before any new release is made. commit 6a9942cfd3ba216dd83b18521f5b9c8c99aa12c3 Author: Peter Clifton Date: Mon Nov 3 00:23:47 2008 +0000 symbols: Fix fill of emitter arrow in npn-1.sym Revert an acidental change which switched off filling of this arrow. commit beae647a1e0217dc5802084a6e00522a59ad5a28 Author: Peter Clifton Date: Sun Nov 2 20:20:32 2008 +0000 libgeda: Emit each segment of paths on separate lines This allows greater redability of the path output, and simpler diffs when a single control point changes. Update the stock symbols which had paths emitted on a single line. Both read-back fine, but its best that we ship symbols in a state where a load / save cycle would not change the formatting. commit 5f4679ea28dd036a40973e2e8888439ee426a7b2 Author: Werner Hoch Date: Sun Oct 26 09:30:10 2008 +0100 symbols: file format update of several symbols updated from the "v 20030901" format to the current one. commit 53439f075b0be1edd2ae18e34f8a0f8f4d503e08 Author: Peter Clifton Date: Sun Sep 28 14:27:59 2008 +0100 Rename "path" object identifier in the fileformat from "p" to "H" All other OBJECT type identifiers are upper case, and for consistency, now patHs are too. NB: No releases have been made since path support was added, so this change is still permissable. commit 5093b71054669254951550f532ee1c6a52ae3ab9 Author: Peter Clifton Date: Fri Sep 26 00:58:18 2008 +0100 symbols: Add solid polygon arrow-heads to transistor emitters Takes advantage of the new path / polygon support. commit 8479d01b6a4a819ae105659a9b9f1e6ab2d85136 Author: Ales Hvezda Date: Sun Jul 6 22:03:02 2008 -0400 Updated all ChangeLogs by running ./update-changelogs.sh 1.0-20070526..master commit 7ae9572f269c8b973bb4a38014e28dbc10cdcb32 Author: Ales Hvezda Date: Sun Jul 6 08:38:24 2008 -0400 Bumped versions to 1.5.0/20080706/34:0:0 for the next development release commit 7db9237c6e382a81fd5e536bbab8b4a8c78650b1 Author: Werner Hoch Date: Sun Apr 13 12:55:14 2008 +0200 fixed net errors in symbols 4164-1.sym and pic12F675-1.sym memory/4164-1.sym: switched Vcc and GND. fixes BUG [#1940747] micro/pic12F675-1.sym: removed duplicate nets minor documentation fixes. commit af0d9f2e8825f7d23c691deec0e70f1eaaac0e38 Author: Ales Hvezda Date: Wed Mar 5 05:27:41 2008 -0500 Updated version to 1.5.0 to mark the start of the next development cycle commit b202ee510fb90cedd038ce5ec41cc6de453dbeea Author: Ales Hvezda Date: Sun Jan 27 11:47:13 2008 -0500 Updated ChangeLogs for the 1.4.0 release commit f1d90025127f83b606003ae9a42b85fdba60e490 Author: Ales Hvezda Date: Sat Jan 26 21:29:01 2008 -0500 Fixed reversed VDD/VSS nets in this hex schmitt trigger There are probably more 4000 series symbols that have VDD and VSS reversed. commit 3d43c5d642ebe12a69380e8accf5533d338ee5e5 Author: Ales Hvezda Date: Sat Jan 26 20:07:45 2008 -0500 Bumped versions to 1.4.0/20080127/33:0:0 for the next stable release commit 9b075276bf13f694b9d7f2cf64197da03b7d1cc6 Author: Werner Hoch Date: Sun Jan 13 10:13:26 2008 +0100 fixed symbol with invalid pintype attribute commit 94710653de304223bfc0a28714b65b603f00c371 Author: Werner Hoch Date: Sun Jan 13 10:04:13 2008 +0100 detach missplaced symbol attributes commit fff1b269a4fbedd7b53fb6673377bb35beb0805c Author: Werner Hoch Date: Sun Jan 13 09:46:41 2008 +0100 fixed two symbols with missplaced pin attribute errors commit d2047bc2a06e6534ff32464d36f8a95aec11b9d7 Author: Ales Hvezda Date: Fri Jan 11 01:11:12 2008 -0500 Updated all ChangeLogs for this release (1.3.1) commit bf5bee9817c59dc8c0f97f95a677cf3d5341b798 Author: Dan McMahill Date: Thu Jan 10 20:38:05 2008 -0500 add MAX3674 symbol commit d0a4d59bef3464e82813a496732b7eac15778874 Author: Werner Hoch Date: Sun Jan 6 13:50:23 2008 +0100 symbols: added german sharp s character to the font added character and added it to the geda-font.scm definition commit b2380c0f70344117be7045a5fc1483698fdf4358 Author: Ales Hvezda Date: Sat Jan 5 20:57:51 2008 -0500 Bumped versions to 1.3.1/20080110/32:0:0 for the next development snapshot Note, libgeda's so did not change at this time. commit 2f7e3ae60480743a8268d392272d05bd77dd75c8 Author: Ales Hvezda Date: Mon Dec 31 20:43:08 2007 -0500 Updated all ChangeLogs for the past development release (1.3.0) This step was supposed to happen before the 1.3.0 tarballs were released. These changes will be picked up in a subsequent release. commit ba474af87840a0d49e04a00de96b7df2944c09bd Author: Ales Hvezda Date: Sat Dec 29 09:57:43 2007 -0500 Bumped versions to 1.3.0/20071229/32:0:0 for the next development snapshot commit 3b040cf8d60a8fbe45f6e7c5f3d71a3dea119357 Author: Peter Clifton Date: Wed Dec 19 17:48:57 2007 +0000 Add intltoolize to the build infrastructure Provide intltoolize infrastructure for translating .desktop and MIME XML files. Run gettextize after intltoolize if required, so that the infrastructure for providing libintl on a non GNU system still works. commit e4a1fa8545e76b4ef82cc1253e65a844fa5fea88 Author: Peter TB Brett Date: Thu Nov 29 13:32:15 2007 +0000 symbols: Nicer names for default libraries Use the features added in the component library backend rewrite to give the default component libraries less cryptic names. Also, put them in a sensible order, and disable component library sorting by default so that that order is preserved. commit 40c0582e39d6a7ed0a41e0e5deedc0bfd03bbddc Author: Cesar Strauss Date: Thu Nov 15 19:11:12 2007 -0200 Use forward slashes as path separators on MinGW. They are also acceptable as path separators on MinGW. commit ce2255f2633c9bb14dcd3813e019a84d8acce3a3 Author: Peter Clifton Date: Thu Oct 4 21:24:15 2007 +0100 Alter system-gafrc to process .scm files in $GEDA_DATA_DIR/gafrc.d/ This change allows each symbol package (e.g. geda-symbols) to install a scheme config file under this dir to load its contents. This allows additional symbol packages to be installed globally without needing to edit either geda-clib.scm or system-gafrc. Also moves the installation of geda-clib.scm into this directory. commit 89e453d165095d22c151ff9c1195c7d3e1fea811 Author: Werner Hoch Date: Sat Sep 15 10:45:44 2007 +0200 fixed symbols/linear/lm7912-1.sym changed pinnumbers and added footprint and some attributes bumped symversion to 1.0 commit 086908ed44c9abc6d5907888695933b59ead4684 Author: Ales Hvezda Date: Sun Sep 2 22:48:59 2007 -0400 Last minute updates to the READMEs for all projects Cherry picked from stable-1.2 branch, since these changes apply to master too. (cherry picked from commit 88fcb8d1bcdaa1436572d6a0ebe86f4df242a8d6) commit 6056ef48272778419d39e0233f395bfd60019ab9 Author: Ales Hvezda Date: Sun Aug 19 22:40:19 2007 -0400 Update ChangeLogs using: ./update-changelogs.sh 1.0-20070526..master commit 92b3b65d0cec286b0ce59fc43cc07dcb60c39fa1 Author: Ales Hvezda Date: Sat Aug 18 16:14:30 2007 -0400 Bumped versions to 1.1.2/20070818/30:2:0 for the next development snapshot commit 525b4a0ff3a1b8cc321f117513796e4571702da8 Author: Bernd Jendrisse Date: Sun Jul 29 09:56:33 2007 -0400 Applied patch to use $(GROFF) instead of which groff commit e978b9098c7567ad3b9c834a5e4914de3bc039ec Author: Ales Hvezda Date: Sun Jul 8 18:18:39 2007 -0400 Updated ChangeLogs using ./update-changelogs.sh 1.0-20070526..master commit d7e8f5abc35644e90bfabf84396023cab09f2968 Author: Ales Hvezda Date: Sun Jul 8 16:18:57 2007 -0400 Updated configure.ac[.in] and Makefile versions in prep for a release. The update was done by running ./update-versions.sh 1.1.1 20070708 30:1 at the toplevel. libgeda's shared library version is now 30:1:0 commit 3f3505662fe4bb8c585aea0ea965296bd923956c Author: Carlos Nieves Onega Date: Sun Jul 8 21:16:17 2007 +0200 Added *~ to .gitignore files. commit dd995d808b9f4440db48d2daa2473a9d9cfd88ef Author: Ales Hvezda Date: Thu Jul 5 01:36:31 2007 -0400 Updated ChangeLogs using ./update-changelogs.sh 1.0-20070526..master commit 099c49e5689afda4b8a5221dde73f9fdf1972ce7 Author: Ales Hvezda Date: Thu Jul 5 00:11:45 2007 -0400 Updated all version strings to 1.1.0 and 20070705 commit 87731dda219b0986fed0d1a7789e17678dd79d8c Author: Ales Hvezda Date: Wed Jul 4 23:55:07 2007 -0400 Removed AM_MAINTAINER_MODE from all configure.ac[.in] files. Maintainer mode is no longer needed or desired now that we are no longer using CVS. Hopefully this will prevent some of the odd problems that were observed during the last release when the Makefile's didn't get auto regenerated. commit dc7b8c53f4bc94626634887e46167a367a91f707 Author: Ales Hvezda Date: Wed Jul 4 23:32:15 2007 -0400 Changed gEDA/gaf's version mechanism to use new dotted X.Y.Z convention Added DOTTED_VERSION and DATE_VERSION variables to all configure.ac[.in] files. Changed all version related output to be DOTTED_VERSION.DATE_VERSION. Updated the configure.ac[.in] files to have consistent top sections. Updated code and various scheme files to use the new DOTTED_VERSION and DATE_VERSION variables available via config.h. Stopped using PREPEND_VERSION_STRING as the mechanism for doing the dotted versions (not intended for that use). Updated update-versions.sh script to set the version in all the configure.ac[.in] files and the toplevel Makefile. Went through all the g_rc.c files and make the handling of rc file mismatch handling consistent. commit ba691725f807a4b0a250bfab5111a2c74c289413 Author: Peter TB Brett Date: Thu Jun 28 15:49:44 2007 +0100 symbols: Distribute ChangeLog-1.0 commit edff766e8b15c311505810241528026f722e30b6 Author: Peter TB Brett Date: Sat Jun 23 18:19:11 2007 +0100 Make sure various files are installed. Several new files were not being distributed. This patch addresses the problem by adding files to EXTRA_DIST in automake input files. commit e57c37a66edc1c4d4e4d7160001749df51b96c4b Author: Peter Clifton Date: Sat Jun 23 18:17:29 2007 +0100 Move all .cvsignore files to .gitignore files commit 018e591753e79a8d60fc3500dc90c60ff880983d Author: Peter TB Brett Date: Sat Jun 23 16:57:27 2007 +0100 symbols: Fix right parenthesis font definition. commit 065595ccd8b5e77616c29a37742357cfab0ae7f7 Author: Peter TB Brett Date: Sat Jun 23 16:11:44 2007 +0100 Changes to ChangeLog usage. With actual changes this time. Old-style changelogs as of gaf 1.0 (release of 26th June 2007) are moved to ChangeLog-1.0; new (blank) ChangeLogs replace them. A script has been added to the gaf top level to allow maintainers to update all the ChangeLog files immediately prior to making out a release. commit 9dde0233ebed32065511b567445f9f34d4b3bea1 Author: Peter TB Brett Date: Fri Jun 15 09:06:56 2007 +0100 Refactor system RC files Moved system-gafrc into the libgeda package, where it belongs. Removed all environment and configure substitutions. Created separate font and component library setup scripts in the symbols package, automatically loaded by system-gafrc if they exist. Updated system-gschemrc to use new infrastructure. geda-gaf-1.8.2/symbols/misc/0000775000175000017500000000000012220655765012615 500000000000000geda-gaf-1.8.2/symbols/misc/MC34063-1.sym0000664000175000017500000000350112204104272014303 00000000000000v 20041228 1 B 300 0 1500 1300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1800 1400 8 10 1 1 0 6 1 refdes=U? T 300 1800 8 10 0 0 0 0 1 description=Step-Up/-Down/Inverting Switching Regulator T 300 2000 8 10 0 0 0 0 1 footprint=DIP8 P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=1 T 350 1100 9 8 1 1 0 0 1 pinlabel=COLL_S T 350 1100 5 8 0 1 0 2 1 pintype=in T 200 1050 5 8 0 1 0 8 1 pinseq=1 } P 0 800 300 800 1 0 0 { T 200 850 5 8 1 1 0 6 1 pinnumber=2 T 350 800 9 8 1 1 0 0 1 pinlabel=EMT_S T 350 800 5 8 0 1 0 2 1 pintype=io T 200 750 5 8 0 1 0 8 1 pinseq=2 } P 0 500 300 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=3 T 350 500 9 8 1 1 0 0 1 pinlabel=CT T 350 500 5 8 0 1 0 2 1 pintype=io T 200 450 5 8 0 1 0 8 1 pinseq=3 } P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=4 T 350 200 9 8 1 1 0 0 1 pinlabel=GND T 350 200 5 8 0 1 0 2 1 pintype=pwr T 200 150 5 8 0 1 0 8 1 pinseq=4 } P 2100 1100 1800 1100 1 0 0 { T 1900 1150 5 8 1 1 0 0 1 pinnumber=8 T 1750 1100 9 8 1 1 0 6 1 pinlabel=COLL_D T 1750 1100 5 8 0 1 0 8 1 pintype=io T 1900 1050 5 8 0 1 0 2 1 pinseq=8 } P 2100 800 1800 800 1 0 0 { T 1900 850 5 8 1 1 0 0 1 pinnumber=7 T 1750 800 9 8 1 1 0 6 1 pinlabel=IPK T 1750 800 5 8 0 1 0 8 1 pintype=io T 1900 750 5 8 0 1 0 2 1 pinseq=7 } P 2100 500 1800 500 1 0 0 { T 1900 550 5 8 1 1 0 0 1 pinnumber=6 T 1750 500 9 8 1 1 0 6 1 pinlabel=VCC T 1750 500 5 8 0 1 0 8 1 pintype=pwr T 1900 450 5 8 0 1 0 2 1 pinseq=6 } P 2100 200 1800 200 1 0 0 { T 1900 250 5 8 1 1 0 0 1 pinnumber=5 T 1750 200 9 8 1 1 0 6 1 pinlabel=COMP T 1750 200 5 8 0 1 0 8 1 pintype=io T 1900 150 5 8 0 1 0 2 1 pinseq=5 } T 300 1600 8 10 0 0 0 0 1 device=MC34063 T 300 2200 8 10 0 0 0 0 1 numslots=0 T 300 1350 9 10 1 0 0 0 1 MC34063 T 300 2400 8 10 0 0 0 0 1 documentation=http://www.onsemi.com/pub/Collateral/MC34063A-D.PDF T 300 2600 8 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/misc/4phase-stepper8-1.sym0000664000175000017500000000534112204104272016344 00000000000000v 20031231 1 T 1400 2600 5 10 0 0 0 0 1 device=4PHASE-STEPPER-8LEADS P 700 300 700 0 1 0 1 { T 600 100 5 8 1 1 0 0 1 pinnumber=7 T 600 100 5 8 0 0 0 0 1 pinseq=7 } P 900 300 900 0 1 0 1 { T 800 100 5 8 1 1 0 0 1 pinnumber=8 T 800 100 5 8 0 0 0 0 1 pinseq=8 } L 3000 1250 2700 1250 3 0 0 0 -1 -1 L 3000 1250 3000 1350 3 0 0 0 -1 -1 L 3000 1350 2700 1350 3 0 0 0 -1 -1 A 1100 1161 100 225 225 3 0 0 0 -1 -1 A 1100 1020 100 225 270 3 0 0 0 -1 -1 A 1100 879 100 225 270 3 0 0 0 -1 -1 A 1100 738 100 270 225 3 0 0 0 -1 -1 L 1100 1261 700 1261 3 0 0 0 -1 -1 L 700 1261 700 300 3 0 0 0 -1 -1 L 1100 638 900 638 3 0 0 0 -1 -1 L 900 300 900 638 3 0 0 0 -1 -1 P 300 300 300 0 1 0 1 { T 200 100 5 8 1 1 0 0 1 pinnumber=5 T 200 100 5 8 0 0 0 0 1 pinseq=5 } P 500 300 500 0 1 0 1 { T 400 100 5 8 1 1 0 0 1 pinnumber=6 T 400 100 5 8 0 0 0 0 1 pinseq=6 } A 1100 1961 100 225 225 3 0 0 0 -1 -1 A 1100 1820 100 225 270 3 0 0 0 -1 -1 A 1100 1679 100 225 270 3 0 0 0 -1 -1 A 1100 1538 100 270 225 3 0 0 0 -1 -1 L 1100 2061 700 2061 3 0 0 0 -1 -1 L 300 2061 300 1100 3 0 0 0 -1 -1 L 1100 1438 900 1438 3 0 0 0 -1 -1 L 500 1100 500 1438 3 0 0 0 -1 -1 L 900 1438 600 1438 3 0 0 0 -1 -1 L 400 2061 700 2061 3 0 0 0 -1 -1 L 300 1100 300 300 3 0 0 0 -1 -1 L 500 1100 500 300 3 0 0 0 -1 -1 L 600 1438 500 1438 3 0 0 0 -1 -1 L 300 2061 400 2061 3 0 0 0 -1 -1 P 1900 300 1900 0 1 0 1 { T 1800 100 5 8 1 1 0 0 1 pinnumber=3 T 1800 100 5 8 0 0 0 0 1 pinseq=3 } P 2100 300 2100 0 1 0 1 { T 2000 100 5 8 1 1 0 0 1 pinnumber=4 T 2000 100 5 8 0 0 0 0 1 pinseq=4 } A 2300 1161 100 225 225 3 0 0 0 -1 -1 A 2300 1020 100 225 270 3 0 0 0 -1 -1 A 2300 879 100 225 270 3 0 0 0 -1 -1 A 2300 738 100 270 225 3 0 0 0 -1 -1 L 2300 1261 1900 1261 3 0 0 0 -1 -1 L 1900 1261 1900 300 3 0 0 0 -1 -1 L 2300 638 2100 638 3 0 0 0 -1 -1 L 2100 300 2100 638 3 0 0 0 -1 -1 P 1500 300 1500 0 1 0 1 { T 1400 100 5 8 1 1 0 0 1 pinnumber=1 T 1400 100 5 8 0 0 0 0 1 pinseq=1 } P 1700 300 1700 0 1 0 1 { T 1600 100 5 8 1 1 0 0 1 pinnumber=2 T 1600 100 5 8 0 0 0 0 1 pinseq=2 } A 2300 1961 100 225 225 3 0 0 0 -1 -1 A 2300 1820 100 225 270 3 0 0 0 -1 -1 A 2300 1679 100 225 270 3 0 0 0 -1 -1 A 2300 1538 100 270 225 3 0 0 0 -1 -1 L 2300 2061 1900 2061 3 0 0 0 -1 -1 L 1500 2061 1500 1100 3 0 0 0 -1 -1 L 2300 1438 2100 1438 3 0 0 0 -1 -1 L 1700 1100 1700 1438 3 0 0 0 -1 -1 L 2100 1438 1800 1438 3 0 0 0 -1 -1 L 1600 2061 1900 2061 3 0 0 0 -1 -1 L 1500 1100 1500 300 3 0 0 0 -1 -1 L 1700 1100 1700 300 3 0 0 0 -1 -1 L 1800 1438 1700 1438 3 0 0 0 -1 -1 L 1500 2061 1600 2061 3 0 0 0 -1 -1 B 0 300 2600 2000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 2600 2300 2600 2400 3 0 0 0 -1 -1 L 2600 2400 2700 2400 3 0 0 0 -1 -1 L 2600 300 2600 200 3 0 0 0 -1 -1 L 2600 200 2700 200 3 0 0 0 -1 -1 L 2700 200 2700 2400 3 0 0 0 -1 -1 T 0 2400 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/misc/hole-1.sym0000664000175000017500000000046612204104272014342 00000000000000v 20031231 1 P 200 100 200 0 1 0 1 { T 200 100 5 10 0 1 0 0 1 pinnumber=1 T 200 100 5 10 0 0 0 0 1 pinseq=1 } V 200 300 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 0 0 8 10 0 1 0 0 1 class=IO T 0 0 8 10 0 1 0 0 1 pins=1 T 0 0 8 10 0 1 0 0 1 device=HOLE T 0 0 8 10 0 1 0 0 1 nobom=1 T 200 600 8 10 1 1 0 4 1 refdes=H? geda-gaf-1.8.2/symbols/misc/HIP4081A-1.sym0000664000175000017500000000775112204104272014455 00000000000000v 20031231 1 P 2100 3900 1800 3900 1 0 0 { T 1850 3950 5 10 1 1 0 0 1 pinnumber=20 T 1850 3750 5 10 0 1 0 0 1 pinseq=20 T 1500 3800 5 10 0 1 0 0 1 pintype=out T 1300 3900 9 10 1 1 0 0 1 pinlabel=BHO } P 2100 3500 1800 3500 1 0 0 { T 1850 3550 5 10 1 1 0 0 1 pinnumber=19 T 1850 3350 5 10 0 1 0 0 1 pinseq=19 T 1500 3400 5 10 0 1 0 0 1 pintype=out T 1300 3500 9 10 1 1 0 0 1 pinlabel=BHS } P 2100 3100 1800 3100 1 0 0 { T 1850 3150 5 10 1 1 0 0 1 pinnumber=18 T 1850 2950 5 10 0 1 0 0 1 pinseq=18 T 1500 3000 5 10 0 1 0 0 1 pintype=out T 1300 3100 9 10 1 1 0 0 1 pinlabel=BLO } P 2100 2700 1800 2700 1 0 0 { T 1850 2750 5 10 1 1 0 0 1 pinnumber=17 T 1850 2550 5 10 0 1 0 0 1 pinseq=17 T 1500 2600 5 10 0 1 0 0 1 pintype=out T 1300 2700 9 10 1 1 0 0 1 pinlabel=BLS } P 2100 2300 1800 2300 1 0 0 { T 1850 2350 5 10 1 1 0 0 1 pinnumber=16 T 1850 2150 5 10 0 1 0 0 1 pinseq=16 T 1500 2200 5 10 0 1 0 0 1 pintype=pwr T 1300 2300 9 10 1 1 0 0 1 pinlabel=Vdd } P 2100 1900 1800 1900 1 0 0 { T 1850 1950 5 10 1 1 0 0 1 pinnumber=15 T 1850 1750 5 10 0 1 0 0 1 pinseq=15 T 1500 1800 5 10 0 1 0 0 1 pintype=pwr T 1300 1900 9 10 1 1 0 0 1 pinlabel=Vcc } P 2100 1500 1800 1500 1 0 0 { T 1850 1550 5 10 1 1 0 0 1 pinnumber=14 T 1850 1350 5 10 0 1 0 0 1 pinseq=14 T 1500 1400 5 10 0 1 0 0 1 pintype=out T 1300 1500 9 10 1 1 0 0 1 pinlabel=ALS } P 2100 1100 1800 1100 1 0 0 { T 1500 1000 5 10 0 1 0 0 1 pintype=out T 1300 1100 9 10 1 1 0 0 1 pinlabel=ALO T 1850 1150 5 10 1 1 0 0 1 pinnumber=13 T 1850 950 5 10 0 1 0 0 1 pinseq=13 } P 2100 700 1800 700 1 0 0 { T 1850 750 5 10 1 1 0 0 1 pinnumber=12 T 1850 550 5 10 0 1 0 0 1 pinseq=12 T 1500 600 5 10 0 1 0 0 1 pintype=out T 1300 700 9 10 1 1 0 0 1 pinlabel=AHS } P 2100 300 1800 300 1 0 0 { T 1850 350 5 10 1 1 0 0 1 pinnumber=11 T 1850 150 5 10 0 1 0 0 1 pinseq=11 T 1500 200 5 10 0 1 0 0 1 pintype=out T 1300 300 9 10 1 1 0 0 1 pinlabel=AHO } B 300 0 1500 4200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3900 300 3900 1 0 0 { T 100 3750 5 10 0 1 0 0 1 pinseq=1 T 100 3950 5 10 1 1 0 0 1 pinnumber=1 T 400 3900 9 10 1 1 0 0 1 pinlabel=BHB T 400 3800 5 10 0 1 0 0 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 100 3350 5 10 0 1 0 0 1 pinseq=2 T 100 3550 5 10 1 1 0 0 1 pinnumber=2 T 400 3500 9 10 1 1 0 0 1 pinlabel=BHI T 400 3400 5 10 0 1 0 0 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 100 2950 5 10 0 1 0 0 1 pinseq=3 T 100 3150 5 10 1 1 0 0 1 pinnumber=3 T 400 3000 5 10 0 1 0 0 1 pintype=in T 400 3100 9 10 1 1 0 0 1 pinlabel=DIS } P 0 2700 300 2700 1 0 0 { T 100 2750 5 10 1 1 0 0 1 pinnumber=4 T 100 2550 5 10 0 1 0 0 1 pinseq=4 T 400 2600 5 10 0 1 0 0 1 pintype=pwr T 400 2700 9 10 1 1 0 0 1 pinlabel=Vss } P 0 2300 300 2300 1 0 0 { T 100 2350 5 10 1 1 0 0 1 pinnumber=5 T 100 2150 5 10 0 1 0 0 1 pinseq=5 T 400 2200 5 10 0 1 0 0 1 pintype=in T 400 2300 9 10 1 1 0 0 1 pinlabel=BLI } P 0 1900 300 1900 1 0 0 { T 100 1950 5 10 1 1 0 0 1 pinnumber=6 T 100 1750 5 10 0 1 0 0 1 pinseq=6 T 400 1800 5 10 0 1 0 0 1 pintype=in T 400 1900 9 10 1 1 0 0 1 pinlabel=ALI } P 0 1500 300 1500 1 0 0 { T 100 1550 5 10 1 1 0 0 1 pinnumber=7 T 100 1350 5 10 0 1 0 0 1 pinseq=7 T 400 1400 5 10 0 1 0 0 1 pintype=in T 400 1500 9 10 1 1 0 0 1 pinlabel=AHI } P 0 1100 300 1100 1 0 0 { T 100 1150 5 10 1 1 0 0 1 pinnumber=8 T 100 950 5 10 0 1 0 0 1 pinseq=8 T 400 1000 5 10 0 1 0 0 1 pintype=in T 400 1100 9 10 1 1 0 0 1 pinlabel=HDEL } P 0 700 300 700 1 0 0 { T 100 750 5 10 1 1 0 0 1 pinnumber=9 T 100 550 5 10 0 1 0 0 1 pinseq=9 T 400 600 5 10 0 1 0 0 1 pintype=in T 400 700 9 10 1 1 0 0 1 pinlabel=LDEL } P 0 300 300 300 1 0 0 { T 100 350 5 10 1 1 0 0 1 pinnumber=10 T 100 150 5 10 0 1 0 0 1 pinseq=10 T 400 200 5 10 0 1 0 0 1 pintype=in T 400 300 9 10 1 1 0 0 1 pinlabel=AHB } T 300 4500 5 10 0 0 0 0 1 device=HIP4081A T 300 4300 9 10 1 0 0 0 1 HIP4081A T 300 4700 5 10 0 0 0 0 1 description=High Frequency Full Bridge FET Driver T 300 4900 5 10 0 0 0 0 1 footprint=DIP20 T 300 5100 5 10 0 0 0 0 1 numslots=0 T 300 5300 5 10 0 0 0 0 1 net=AGND:4 T 300 5500 5 10 0 0 0 0 1 net=VCCA:15 T 300 5700 5 10 0 0 0 0 1 net=VDDA:16 T 1600 4300 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/misc/interpage_to-1.sym0000664000175000017500000000060212204104272016063 00000000000000v 20031231 1 P 0 200 300 200 1 0 0 { T 100 400 5 10 0 0 0 0 1 pinnumber=1 T 100 400 5 10 0 0 0 0 1 pinseq=1 } L 300 0 900 0 3 0 0 0 -1 -1 L 900 0 1100 200 3 0 0 0 -1 -1 L 1100 200 900 400 3 0 0 0 -1 -1 L 900 400 300 400 3 0 0 0 -1 -1 T 300 600 5 10 0 0 0 0 1 device=interpage_to T 300 800 5 10 0 0 0 0 1 graphical=1 L 300 400 300 0 3 0 0 0 -1 -1 T 1300 200 5 10 1 1 0 0 1 pages=unknown geda-gaf-1.8.2/symbols/misc/PCF8591.sym0000664000175000017500000000443412204104272014213 00000000000000v 20031231 1 B 300 0 1500 2700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2000 2575 5 10 0 0 0 0 1 device=PCF8591 T 300 2750 3 10 1 0 0 0 1 PCF8591 T 375 2350 3 8 1 0 0 0 1 AIN0 P 300 2400 0 2400 1 0 1 { T 136 2450 5 8 1 1 0 0 1 pinnumber=1 T 136 2450 5 8 0 0 0 0 1 pinseq=1 } T 375 2050 3 8 1 0 0 0 1 AIN1 P 300 2100 0 2100 1 0 1 { T 96 2150 5 8 1 1 0 0 1 pinnumber=2 T 96 2150 5 8 0 0 0 0 1 pinseq=2 } T 375 1750 3 8 1 0 0 0 1 AIN2 P 300 1800 0 1800 1 0 1 { T 120 1850 5 8 1 1 0 0 1 pinnumber=3 T 120 1850 5 8 0 0 0 0 1 pinseq=3 } T 375 1450 3 8 1 0 0 0 1 AIN3 P 300 1500 0 1500 1 0 1 { T 96 1550 5 8 1 1 0 0 1 pinnumber=4 T 96 1550 5 8 0 0 0 0 1 pinseq=4 } T 375 1150 3 8 1 0 0 0 1 A0 P 300 1200 0 1200 1 0 1 { T 120 1250 5 8 1 1 0 0 1 pinnumber=5 T 120 1250 5 8 0 0 0 0 1 pinseq=5 } T 375 850 3 8 1 0 0 0 1 A1 P 300 900 0 900 1 0 1 { T 104 950 5 8 1 1 0 0 1 pinnumber=6 T 104 950 5 8 0 0 0 0 1 pinseq=6 } T 375 550 3 8 1 0 0 0 1 A2 P 300 600 0 600 1 0 1 { T 120 650 5 8 1 1 0 0 1 pinnumber=7 T 120 650 5 8 0 0 0 0 1 pinseq=7 } T 375 250 3 8 1 0 0 0 1 VSS P 300 300 0 300 1 0 1 { T 112 350 5 8 1 1 0 0 1 pinnumber=8 T 112 350 5 8 0 0 0 0 1 pinseq=8 } T 1434 2350 3 8 1 0 0 0 1 VDD P 1800 2400 2100 2400 1 0 1 { T 1900 2450 5 8 1 1 0 0 1 pinnumber=16 T 1900 2450 5 8 0 0 0 0 1 pinseq=9 } T 1306 2050 3 8 1 0 0 0 1 AOUT P 1800 2100 2100 2100 1 0 1 { T 1900 2150 5 8 1 1 0 0 1 pinnumber=15 T 1900 2150 5 8 0 0 0 0 1 pinseq=10 } T 1338 1750 3 8 1 0 0 0 1 VREF P 1800 1800 2100 1800 1 0 1 { T 1900 1850 5 8 1 1 0 0 1 pinnumber=14 T 1900 1850 5 8 0 0 0 0 1 pinseq=11 } T 1298 1450 3 8 1 0 0 0 1 AGND P 1800 1500 2100 1500 1 0 1 { T 1900 1550 5 8 1 1 0 0 1 pinnumber=13 T 1900 1550 5 8 0 0 0 0 1 pinseq=12 } T 1434 1150 3 8 1 0 0 0 1 EXT P 1800 1200 2100 1200 1 0 1 { T 1900 1250 5 8 1 1 0 0 1 pinnumber=12 T 1900 1250 5 8 0 0 0 0 1 pinseq=13 } T 1335 850 3 8 1 0 0 0 1 OSC L 1800 1000 1700 900 3 0 0 0 -1 -1 L 1800 800 1700 900 3 0 0 0 -1 -1 P 1800 900 2100 900 1 0 1 { T 1900 950 5 8 1 1 0 0 1 pinnumber=11 T 1900 950 5 8 0 0 0 0 1 pinseq=14 } T 1450 550 3 8 1 0 0 0 1 SCL P 1800 600 2100 600 1 0 1 { T 1900 650 5 8 1 1 0 0 1 pinnumber=10 T 1900 650 5 8 0 0 0 0 1 pinseq=15 } T 1430 250 3 8 1 0 0 0 1 SDA P 1800 300 2100 300 1 0 1 { T 1900 350 5 8 1 1 0 0 1 pinnumber=9 T 1900 350 5 8 0 0 0 0 1 pinseq=16 } T 1800 2800 8 10 1 1 0 6 1 refdes=U? geda-gaf-1.8.2/symbols/misc/mc3487-1.sym0000664000175000017500000000577512204104272014350 00000000000000v 20031231 1 B 300 0 1800 3400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2100 3100 2400 3100 1 0 1 { T 2250 3150 5 8 1 1 0 0 1 pinnumber=2 T 2250 3150 5 8 0 0 0 0 1 pinseq=2 T 1950 3100 9 10 1 1 0 6 1 pinlabel=OUT A T 2100 3100 5 10 0 1 0 0 1 pintype=out } P 2100 2300 2400 2300 1 0 1 { T 2250 2350 5 8 1 1 0 0 1 pinnumber=6 T 2250 2350 5 8 0 0 0 0 1 pinseq=6 T 1950 2300 9 10 1 1 0 6 1 pinlabel=OUT B T 2100 2300 5 10 0 1 0 0 1 pintype=out } P 2100 1500 2400 1500 1 0 1 { T 2250 1550 5 8 1 1 0 0 1 pinnumber=10 T 2250 1550 5 8 0 0 0 0 1 pinseq=10 T 1950 1500 9 10 1 1 0 6 1 pinlabel=OUT C T 2100 1500 5 10 0 1 0 0 1 pintype=out } P 2100 700 2400 700 1 0 1 { T 2250 750 5 8 1 1 0 0 1 pinnumber=14 T 2250 750 5 8 0 0 0 0 1 pinseq=14 T 1950 700 9 10 1 1 0 6 1 pinlabel=OUT D T 2100 700 5 10 0 1 0 0 1 pintype=out } V 2150 2700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2200 2700 2400 2700 1 0 1 { T 2250 2750 5 8 1 1 0 0 1 pinnumber=3 T 2250 2750 5 8 0 0 0 0 1 pinseq=3 T 1950 2700 9 10 1 1 0 6 1 pinlabel=/OUT A T 2200 2700 5 10 0 1 0 0 1 pintype=out } V 2150 1900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 2150 1100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 2150 300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2200 1900 2400 1900 1 0 1 { T 2250 1950 5 8 1 1 0 0 1 pinnumber=5 T 2250 1950 5 8 0 0 0 0 1 pinseq=5 T 1950 1900 9 10 1 1 0 6 1 pinlabel=/OUT B T 2200 1900 5 10 0 1 0 0 1 pintype=out } P 2200 300 2400 300 1 0 1 { T 2250 350 5 8 1 1 0 0 1 pinnumber=13 T 2250 350 5 8 0 0 0 0 1 pinseq=13 T 1950 300 9 10 1 1 0 6 1 pinlabel=/OUT D T 2200 300 5 10 0 1 0 0 1 pintype=out } P 300 3100 0 3100 1 0 1 { T 200 3150 5 8 1 1 0 6 1 pinnumber=1 T 200 3150 5 8 0 0 0 6 1 pinseq=1 T 400 3100 9 10 1 1 0 0 1 pinlabel=IN A T 300 3100 5 10 0 1 0 0 1 pintype=in } P 300 2700 0 2700 1 0 1 { T 200 2750 5 8 1 1 0 6 1 pinnumber=7 T 200 2750 5 8 0 0 0 6 1 pinseq=7 T 400 2700 9 10 1 1 0 0 1 pinlabel=IN B T 300 2700 5 10 0 1 0 0 1 pintype=in } P 300 2300 0 2300 1 0 1 { T 200 2350 5 8 1 1 0 6 1 pinnumber=9 T 200 2350 5 8 0 0 0 6 1 pinseq=9 T 400 2300 9 10 1 1 0 0 1 pinlabel=IN C T 300 2300 5 10 0 1 0 0 1 pintype=in } P 300 1900 0 1900 1 0 1 { T 200 1950 5 8 1 1 0 6 1 pinnumber=15 T 200 1950 5 8 0 0 0 6 1 pinseq=15 T 400 1900 9 10 1 1 0 0 1 pinlabel=IN D T 300 1900 5 10 0 1 0 0 1 pintype=in } P 300 1500 0 1500 1 0 1 { T 200 1550 5 8 1 1 0 6 1 pinnumber=4 T 200 1550 5 8 0 0 0 6 1 pinseq=4 T 400 1500 9 10 1 1 0 0 1 pinlabel=EN A,B T 300 1500 5 10 0 1 0 0 1 pintype=in } P 2200 1100 2400 1100 1 0 1 { T 2250 1150 5 8 1 1 0 0 1 pinnumber=11 T 2250 1150 5 8 0 0 0 0 1 pinseq=11 T 1950 1100 9 10 1 1 0 6 1 pinlabel=/OUT C T 2200 1100 5 10 0 1 0 0 1 pintype=out } P 300 1100 0 1100 1 0 1 { T 200 1150 5 8 1 1 0 6 1 pinnumber=12 T 200 1150 5 8 0 0 0 6 1 pinseq=12 T 400 1100 9 10 1 1 0 0 1 pinlabel=EN C,D T 300 1100 5 10 0 1 0 0 1 pintype=in } T 1400 3700 5 10 0 0 0 0 1 device=MC3487 T 300 3450 9 10 1 0 0 0 1 MC3487 T 2100 3500 8 10 1 1 0 6 1 refdes=U? T 3100 3200 9 10 0 0 0 0 1 net=Vcc:16 T 3100 3000 9 10 0 0 0 0 1 net=GND:8 T 3100 2800 9 10 0 0 0 0 1 footprint=DIL 16 300 T 2900 1800 9 10 0 0 0 0 1 numslots=0 geda-gaf-1.8.2/symbols/misc/Si9986.sym0000664000175000017500000000325212204104272014164 00000000000000v 20031231 1 T 300 2600 5 10 0 0 0 0 1 footprint=SOIC8 T 300 2800 5 10 0 0 0 0 1 pins=8 B 300 0 1200 1500 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 T 300 2200 5 10 0 0 0 0 1 device=Si9986 T 300 2400 5 10 0 0 0 0 1 class=IC T 1500 1600 2 10 1 1 0 6 1 refdes=U? T 300 1550 3 10 1 0 0 0 1 Si9986 P 300 1200 0 1200 1 0 1 { T 250 1250 5 8 0 1 0 6 1 pinseq=1 T 250 1250 5 8 1 1 0 6 1 pinnumber=1 T -100 1200 5 8 0 0 0 7 1 pintype=in T 400 1200 3 8 1 1 0 1 1 pinlabel=SA } P 300 900 0 900 1 0 1 { T 250 950 5 8 0 1 0 6 1 pinseq=2 T 250 950 5 8 1 1 0 6 1 pinnumber=2 T -100 900 5 8 0 0 0 7 1 pintype=pwr T 400 900 3 8 1 1 0 1 1 pinlabel=GND } P 300 600 0 600 1 0 1 { T 250 650 5 8 0 1 0 6 1 pinseq=3 T 250 650 5 8 1 1 0 6 1 pinnumber=3 T -100 600 5 8 0 0 0 7 1 pintype=pwr T 400 600 3 8 1 1 0 1 1 pinlabel=VDD } P 300 300 0 300 1 0 1 { T 250 350 5 8 0 1 0 6 1 pinseq=4 T 250 350 5 8 1 1 0 6 1 pinnumber=4 T -100 300 5 8 0 0 0 7 1 pintype=in T 400 300 3 8 1 1 0 1 1 pinlabel=SB } P 1500 1200 1800 1200 1 0 1 { T 1550 1250 5 8 0 1 0 0 1 pinseq=5 T 1550 1250 5 8 1 1 0 0 1 pinnumber=8 T 1900 1200 5 8 0 0 0 1 1 pintype=out T 1400 1200 3 8 1 1 0 7 1 pinlabel=OUTA } P 1500 900 1800 900 1 0 1 { T 1550 950 5 8 0 1 0 0 1 pinseq=6 T 1550 950 5 8 1 1 0 0 1 pinnumber=7 T 1900 900 5 8 0 0 0 1 1 pintype=in T 1400 900 3 8 1 1 0 7 1 pinlabel=INA } P 1500 600 1800 600 1 0 1 { T 1550 650 5 8 0 1 0 0 1 pinseq=7 T 1550 650 5 8 1 1 0 0 1 pinnumber=6 T 1900 600 5 8 0 0 0 1 1 pintype=in T 1400 600 3 8 1 1 0 7 1 pinlabel=INB } P 1500 300 1800 300 1 0 1 { T 1550 350 5 8 0 1 0 0 1 pinseq=8 T 1550 350 5 8 1 1 0 0 1 pinnumber=5 T 1900 300 5 8 0 0 0 1 1 pintype=out T 1400 300 3 8 1 1 0 7 1 pinlabel=OUTA } T 300 3000 5 10 0 0 0 0 1 numslots=0 geda-gaf-1.8.2/symbols/misc/UAA170-1.sym0000664000175000017500000000456412204104272014254 00000000000000v 20031231 1 B 300 300 1500 3600 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 T 300 4600 8 10 0 0 0 0 1 device=UAA170 T 300 4200 2 10 1 1 0 0 1 refdes=U? T 300 3950 3 10 1 0 0 0 1 UAA170 P 1200 300 1200 0 1 0 1 { T 1275 150 5 8 1 1 0 0 1 pinnumber=1 T 1275 150 5 8 0 0 0 0 1 pinseq=1 T 1250 375 3 8 1 1 90 0 1 pinlabel=GND } P 1800 1500 2100 1500 1 0 1 { T 1900 1550 5 8 1 1 0 0 1 pinnumber=2 T 1900 1550 5 8 0 0 0 0 1 pinseq=2 T 1634 1450 3 8 1 1 0 0 1 pinlabel=H } P 1800 1800 2100 1800 1 0 1 { T 1900 1850 5 8 1 1 0 0 1 pinnumber=3 T 1900 1850 5 8 0 0 0 0 1 pinseq=3 T 1630 1750 3 8 1 1 0 0 1 pinlabel=G } P 1800 2400 2100 2400 1 0 1 { T 1900 2450 5 8 1 1 0 0 1 pinnumber=4 T 1900 2450 5 8 0 0 0 0 1 pinseq=4 T 1634 2350 3 8 1 1 0 0 1 pinlabel=E } P 1800 2100 2100 2100 1 0 1 { T 1900 2150 5 8 1 1 0 0 1 pinnumber=5 T 1900 2150 5 8 0 0 0 0 1 pinseq=5 T 1666 2050 3 8 1 1 0 0 1 pinlabel=F } P 1800 2700 2100 2700 1 0 1 { T 1900 2750 5 8 1 1 0 0 1 pinnumber=6 T 1900 2750 5 8 0 0 0 0 1 pinseq=6 T 1646 2650 3 8 1 1 0 0 1 pinlabel=D } P 1800 3000 2100 3000 1 0 1 { T 1900 3050 5 8 1 1 0 0 1 pinnumber=7 T 1900 3050 5 8 0 0 0 0 1 pinseq=7 T 1638 2950 3 8 1 1 0 0 1 pinlabel=C } P 1800 3300 2100 3300 1 0 1 { T 1900 3350 5 8 1 1 0 0 1 pinnumber=8 T 1900 3350 5 8 0 0 0 0 1 pinseq=8 T 1634 3250 3 8 1 1 0 0 1 pinlabel=B } P 1800 3600 2100 3600 1 0 1 { T 1900 3650 5 8 1 1 0 0 1 pinnumber=9 T 1900 3650 5 8 0 0 0 0 1 pinseq=9 T 1634 3550 3 8 1 1 0 0 1 pinlabel=A } P 1200 3900 1200 4200 1 0 1 { T 1275 3975 5 8 1 1 0 0 1 pinnumber=10 T 1275 3975 5 8 0 0 0 0 1 pinseq=10 T 1250 3566 3 8 1 1 90 0 1 pinlabel=Vcc } P 300 3600 0 3600 1 0 1 { T 72 3650 5 8 1 1 0 0 1 pinnumber=11 T 72 3650 5 8 0 0 0 0 1 pinseq=11 T 375 3550 3 8 1 1 0 0 1 pinlabel=IN } P 300 1200 0 1200 1 0 1 { T 32 1250 5 8 1 1 0 0 1 pinnumber=12 T 32 1250 5 8 0 0 0 0 1 pinseq=12 T 375 1150 3 8 1 1 0 0 1 pinlabel=Vref min } P 300 1800 0 1800 1 0 1 { T 56 1850 5 8 1 1 0 0 1 pinnumber=13 T 56 1850 5 8 0 0 0 0 1 pinseq=13 T 375 1750 3 8 1 1 0 0 1 pinlabel=Vref max } P 300 2400 0 2400 1 0 1 { T 32 2450 5 8 1 1 0 0 1 pinnumber=14 T 32 2450 5 8 0 0 0 0 1 pinseq=14 T 375 2350 3 8 1 1 0 0 1 pinlabel=Vstab } P 300 600 0 600 1 0 1 { T 56 650 5 8 1 1 0 0 1 pinnumber=15 T 56 650 5 8 0 0 0 0 1 pinseq=15 T 375 550 3 8 1 1 0 0 1 pinlabel=Vi } P 300 3000 0 3000 1 0 1 { T 40 3050 5 8 1 1 0 0 1 pinnumber=16 T 40 3050 5 8 0 0 0 0 1 pinseq=16 T 375 2950 9 8 1 1 0 0 1 pinlabel=Vpp } geda-gaf-1.8.2/symbols/misc/tl082-1.sym0000664000175000017500000000172312204104272014261 00000000000000v 20031231 1 L 200 0 200 800 3 0 0 0 -1 -1 L 200 800 800 400 3 0 0 0 -1 -1 L 800 400 200 0 3 0 0 0 -1 -1 T 675 600 5 10 0 0 0 0 1 device=TL082 T 700 1200 5 10 0 0 0 0 1 numslots=2 T 675 1050 5 10 0 0 0 0 1 slotdef=1:1,2,3,4,8 T 675 900 5 10 0 0 0 0 1 slotdef=2:7,6,5,4,8 T 675 750 5 10 0 0 0 0 1 slot=1 T 700 1350 5 10 0 0 0 0 1 footprint=DIP8 P 200 600 0 600 1 0 1 { T 50 625 5 8 1 1 0 0 1 pinnumber=3 T 50 625 5 8 0 0 0 0 1 pinseq=3 } P 200 200 0 200 1 0 1 { T 50 225 5 8 1 1 0 0 1 pinnumber=2 T 50 225 5 8 0 0 0 0 1 pinseq=2 } P 800 400 1000 400 1 0 1 { T 875 425 5 8 1 1 0 0 1 pinnumber=1 T 875 425 5 8 0 0 0 0 1 pinseq=1 } P 500 200 500 0 1 0 1 { T 525 50 5 8 1 1 0 0 1 pinnumber=4 T 525 50 5 8 0 0 0 0 1 pinseq=4 } P 500 600 500 800 1 0 1 { T 525 650 5 8 1 1 0 0 1 pinnumber=8 T 525 650 5 8 0 0 0 0 1 pinseq=5 } L 250 600 350 600 3 0 0 0 -1 -1 L 300 650 300 550 3 0 0 0 -1 -1 L 250 200 350 200 3 0 0 0 -1 -1 T 225 350 9 8 1 0 0 0 1 TL082 T 200 900 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/misc/DM9368.sym0000664000175000017500000000452112204104272014103 00000000000000v 20070626 1 B 300 0 1200 2700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1700 2575 5 10 0 0 0 0 1 device=DM9368 T 300 2750 3 10 1 0 0 0 1 DM9368 T 375 2350 3 8 1 0 0 0 1 A1 P 300 2400 0 2400 1 0 1 { T 136 2450 5 8 1 1 0 0 1 pinnumber=1 T 136 2450 5 8 0 0 0 0 1 pinseq=1 } T 375 2050 3 8 1 0 0 0 1 A2 P 300 2100 0 2100 1 0 1 { T 96 2150 5 8 1 1 0 0 1 pinnumber=2 T 96 2150 5 8 0 0 0 0 1 pinseq=2 } T 375 1750 3 8 1 0 0 0 1 \_LE\_ V 250 1800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 1800 0 1800 1 0 1 { T 120 1850 5 8 1 1 0 0 1 pinnumber=3 T 120 1850 5 8 0 0 0 0 1 pinseq=3 } T 375 1450 3 8 1 0 0 0 1 \_RB0\_ V 250 1500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 1500 0 1500 1 0 1 { T 96 1550 5 8 1 1 0 0 1 pinnumber=4 T 96 1550 5 8 0 0 0 0 1 pinseq=4 } T 375 1150 3 8 1 0 0 0 1 \_RB1\_ V 250 1200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 1200 0 1200 1 0 1 { T 120 1250 5 8 1 1 0 0 1 pinnumber=5 T 120 1250 5 8 0 0 0 0 1 pinseq=5 } T 375 850 3 8 1 0 0 0 1 A3 P 300 900 0 900 1 0 1 { T 104 950 5 8 1 1 0 0 1 pinnumber=6 T 104 950 5 8 0 0 0 0 1 pinseq=6 } T 375 550 3 8 1 0 0 0 1 A0 P 300 600 0 600 1 0 1 { T 120 650 5 8 1 1 0 0 1 pinnumber=7 T 120 650 5 8 0 0 0 0 1 pinseq=7 } T 375 250 3 8 1 0 0 0 1 GND P 300 300 0 300 1 0 1 { T 112 350 5 8 1 1 0 0 1 pinnumber=8 T 112 350 5 8 0 0 0 0 1 pinseq=8 } T 1118 2350 3 8 1 0 0 0 1 VCC P 1500 2400 1800 2400 1 0 1 { T 1600 2450 5 8 1 1 0 0 1 pinnumber=16 T 1600 2450 5 8 0 0 0 0 1 pinseq=9 } T 1402 2050 3 8 1 0 0 0 1 f P 1500 2100 1800 2100 1 0 1 { T 1600 2150 5 8 1 1 0 0 1 pinnumber=15 T 1600 2150 5 8 0 0 0 0 1 pinseq=10 } T 1354 1750 3 8 1 0 0 0 1 g P 1500 1800 1800 1800 1 0 1 { T 1600 1850 5 8 1 1 0 0 1 pinnumber=14 T 1600 1850 5 8 0 0 0 0 1 pinseq=11 } T 1354 1450 3 8 1 0 0 0 1 a P 1500 1500 1800 1500 1 0 1 { T 1600 1550 5 8 1 1 0 0 1 pinnumber=13 T 1600 1550 5 8 0 0 0 0 1 pinseq=12 } T 1362 1150 3 8 1 0 0 0 1 b P 1500 1200 1800 1200 1 0 1 { T 1600 1250 5 8 1 1 0 0 1 pinnumber=12 T 1600 1250 5 8 0 0 0 0 1 pinseq=13 } T 1362 850 3 8 1 0 0 0 1 c P 1500 900 1800 900 1 0 1 { T 1600 950 5 8 1 1 0 0 1 pinnumber=11 T 1600 950 5 8 0 0 0 0 1 pinseq=14 } T 1370 550 3 8 1 0 0 0 1 d P 1500 600 1800 600 1 0 1 { T 1600 650 5 8 1 1 0 0 1 pinnumber=10 T 1600 650 5 8 0 0 0 0 1 pinseq=15 } T 1370 250 3 8 1 0 0 0 1 e P 1500 300 1800 300 1 0 1 { T 1600 350 5 8 1 1 0 0 1 pinnumber=9 T 1600 350 5 8 0 0 0 0 1 pinseq=16 } T 1500 2800 8 10 1 1 0 6 1 refdes=U? geda-gaf-1.8.2/symbols/misc/nc-top-1.sym0000664000175000017500000000052212204104272014604 00000000000000v 20060123 1 P 200 0 200 200 1 0 0 { T 400 0 5 10 0 0 0 0 1 pinseq=1 T 400 200 5 10 0 0 0 0 1 pinnumber=1 } L 50 200 350 200 3 0 0 0 -1 -1 T 200 250 9 10 1 0 0 3 1 NC T 400 500 8 10 0 0 0 0 1 value=NoConnection T 0 600 8 10 0 0 0 0 1 documentation=nc.pdf T 400 700 8 10 0 0 0 0 1 device=DRC_Directive T 400 900 8 10 0 0 0 0 1 graphical=1 geda-gaf-1.8.2/symbols/misc/si9200-1.sym0000664000175000017500000000307012204104272014333 00000000000000v 20031231 1 P 0 1200 300 1200 1 0 0 { T 100 1250 5 8 1 1 0 0 1 pinnumber=1 T 100 1250 5 8 0 0 0 0 1 pinseq=1 T 400 1200 9 8 1 1 0 0 1 pinlabel=TxD T 0 1200 5 8 0 0 0 0 1 pintype=in } P 0 600 300 600 1 0 0 { T 100 650 5 8 1 1 0 0 1 pinnumber=5 T 100 650 5 8 0 0 0 0 1 pinseq=3 T 400 600 9 8 1 1 0 0 1 pinlabel=Ref T 0 600 5 8 0 0 0 0 1 pintype=in } P 0 900 300 900 1 0 0 { T 100 950 5 8 1 1 0 0 1 pinnumber=4 T 100 950 5 8 0 0 0 0 1 pinseq=2 T 400 900 9 8 1 1 0 0 1 pinlabel=RxD T 0 900 5 8 0 0 0 0 1 pintype=out } T 300 1540 9 10 1 0 0 0 1 SI 9200 P 0 300 300 300 1 0 0 { T 100 350 5 8 1 1 0 0 1 pinnumber=8 T 100 350 5 8 0 0 0 0 1 pinseq=4 T 400 300 9 8 1 1 0 0 1 pinlabel=Gnd T 0 300 5 8 0 0 0 0 1 pintype=pwr } P 1700 1200 2000 1200 1 0 1 { T 1800 1250 5 8 1 1 0 0 1 pinnumber=3 T 1800 1250 5 8 0 0 0 0 1 pinseq=8 T 1400 1200 9 8 1 1 0 0 1 pinlabel=Vcc T 1700 1200 5 8 0 0 0 0 1 pintype=pwr } P 1700 600 2000 600 1 0 1 { T 1800 650 5 8 1 1 0 0 1 pinnumber=6 T 1800 650 5 8 0 0 0 0 1 pinseq=6 T 1300 600 9 8 1 1 0 0 1 pinlabel=CanL T 1700 600 5 8 0 0 0 0 1 pintype=pas } P 1700 900 2000 900 1 0 1 { T 1800 950 5 8 1 1 0 0 1 pinnumber=7 T 1800 950 5 8 0 0 0 0 1 pinseq=7 T 1300 900 9 8 1 1 0 0 1 pinlabel=CanH T 1700 900 5 8 0 0 0 0 1 pintype=pas } P 1700 300 2000 300 1 0 1 { T 1800 350 5 8 1 1 0 0 1 pinnumber=2 T 1800 350 5 8 0 0 0 0 1 pinseq=5 T 1400 300 9 8 1 1 0 0 1 pinlabel=Gnd T 1700 300 5 8 0 0 0 0 1 pintype=pwr } B 300 0 1400 1500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1700 1543 8 10 1 1 0 6 1 refdes=U? T 500 2000 8 8 0 0 0 0 1 device=si9200 T 500 1800 8 8 0 0 0 0 1 footprint=SO-8 geda-gaf-1.8.2/symbols/misc/ADG619-1.sym0000664000175000017500000000363112204104272014243 00000000000000v 20041228 1 P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=1 T 200 1050 5 8 0 1 0 8 1 pinseq=1 T 350 1100 9 8 1 1 0 0 1 pinlabel=D T 350 1100 5 8 0 1 0 2 1 pintype=tri } P 0 800 300 800 1 0 0 { T 200 850 5 8 1 1 0 6 1 pinnumber=2 T 200 750 5 8 0 1 0 8 1 pinseq=2 T 350 800 9 8 1 1 0 0 1 pinlabel=S1 T 350 800 5 8 0 1 0 2 1 pintype=tri } P 0 500 300 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=3 T 200 450 5 8 0 1 0 8 1 pinseq=3 T 350 500 9 8 1 1 0 0 1 pinlabel=GND T 350 500 5 8 0 1 0 2 1 pintype=pwr } P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=4 T 200 150 5 8 0 1 0 8 1 pinseq=4 T 350 200 9 8 1 1 0 0 1 pinlabel=Vdd T 350 200 5 8 0 1 0 2 1 pintype=pwr } P 1300 1100 1600 1100 1 0 1 { T 1400 1150 5 8 1 1 0 0 1 pinnumber=8 T 1400 1050 5 8 0 1 0 2 1 pinseq=8 T 1250 1100 9 8 1 1 0 6 1 pinlabel=S2 T 1250 1100 5 8 0 1 0 8 1 pintype=tri } P 1300 800 1600 800 1 0 1 { T 1400 850 5 8 1 1 0 0 1 pinnumber=7 T 1400 750 5 8 0 1 0 2 1 pinseq=7 T 1250 800 9 8 1 1 0 6 1 pinlabel=Vss T 1250 800 5 8 0 1 0 8 1 pintype=pwr } P 1300 500 1600 500 1 0 1 { T 1400 550 5 8 1 1 0 0 1 pinnumber=6 T 1400 450 5 8 0 1 0 2 1 pinseq=6 T 1250 500 9 8 1 1 0 6 1 pinlabel=IN T 1250 500 5 8 0 1 0 8 1 pintype=in } P 1300 200 1600 200 1 0 1 { T 1400 250 5 8 1 1 0 0 1 pinnumber=5 T 1400 150 5 8 0 1 0 2 1 pinseq=5 T 1250 200 9 8 1 1 0 6 1 pinlabel=NC T 1250 200 5 8 0 1 0 8 1 pintype=nc } B 300 0 1000 1400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 1850 5 10 0 0 0 0 1 device=ADG619 T 300 2450 5 10 0 0 0 0 1 numslots=0 T 1300 1600 8 10 1 1 0 6 1 refdes=U? T 300 2650 5 10 0 0 0 0 1 footprint=MSOP8 T 300 2850 5 10 0 0 0 0 1 description=ADG619 CMOS 5 V/+5 V Single SPDT Switches T 300 3050 5 10 0 0 0 0 1 net=Vcc:4 T 300 3250 5 10 0 0 0 0 1 net=GND:7 T 300 1450 9 10 1 0 0 0 1 ADG619 T 300 2050 5 10 0 0 0 0 1 documentation=http://www.analog.com/UploadedFiles/Data_Sheets/36565145644741ADG619_20_a.pdf T 300 2250 5 10 0 0 0 0 1 symversion=0.1 geda-gaf-1.8.2/symbols/misc/busripper-1.sym0000664000175000017500000000042512204104272015421 00000000000000v 20031231 1 T 0 400 5 8 0 0 0 0 1 device=none P 0 0 100 100 1 0 0 { T 0 500 5 8 0 0 0 0 1 pinseq=1 T 0 600 5 8 0 0 0 0 1 pinnumber=1 T 0 700 5 8 0 0 0 0 1 pintype=pas T 0 800 5 8 0 0 0 0 1 pinlabel=netside } T 0 300 5 8 0 0 0 0 1 graphical=1 L 200 200 100 100 10 30 0 0 -1 -1 geda-gaf-1.8.2/symbols/misc/4phase-stepper6-1.sym0000664000175000017500000000513412204104272016342 00000000000000v 20031231 1 T 800 2500 5 10 0 0 0 0 1 device=4PHASE-STEPPER-6LEADS L 3000 1250 2700 1250 3 0 0 0 -1 -1 L 3000 1250 3000 1350 3 0 0 0 -1 -1 L 3000 1350 2700 1350 3 0 0 0 -1 -1 L 2600 2300 2600 2400 3 0 0 0 -1 -1 L 2600 2400 2700 2400 3 0 0 0 -1 -1 L 2600 300 2600 200 3 0 0 0 -1 -1 L 2600 200 2700 200 3 0 0 0 -1 -1 L 2700 200 2700 2400 3 0 0 0 -1 -1 P 2100 300 2100 0 1 0 1 { T 2000 100 5 8 1 1 0 0 1 pinnumber=3 T 2000 100 5 8 0 0 0 0 1 pinseq=3 } A 2300 1161 100 225 225 3 0 0 0 -1 -1 A 2300 1020 100 225 270 3 0 0 0 -1 -1 A 2300 879 100 225 270 3 0 0 0 -1 -1 A 2300 738 100 270 225 3 0 0 0 -1 -1 L 2300 1261 1900 1261 3 0 0 0 -1 -1 L 2300 638 2100 638 3 0 0 0 -1 -1 L 2100 300 2100 638 3 0 0 0 -1 -1 P 1500 300 1500 0 1 0 1 { T 1400 100 5 8 1 1 0 0 1 pinnumber=1 T 1400 100 5 8 0 0 0 0 1 pinseq=1 } A 2300 1961 100 225 225 3 0 0 0 -1 -1 A 2300 1820 100 225 270 3 0 0 0 -1 -1 A 2300 1679 100 225 270 3 0 0 0 -1 -1 A 2300 1538 100 270 225 3 0 0 0 -1 -1 L 2300 2061 1900 2061 3 0 0 0 -1 -1 L 1500 2061 1500 1100 3 0 0 0 -1 -1 L 2300 1438 2100 1438 3 0 0 0 -1 -1 L 2100 1438 1800 1438 3 0 0 0 -1 -1 L 1600 2061 1900 2061 3 0 0 0 -1 -1 L 1500 1100 1500 300 3 0 0 0 -1 -1 L 1500 2061 1600 2061 3 0 0 0 -1 -1 L 1800 1438 1700 1438 3 0 0 0 -1 -1 P 1800 300 1800 0 1 0 1 { T 1700 100 5 8 1 1 0 0 1 pinnumber=2 T 1700 100 5 8 0 0 0 0 1 pinseq=2 } B 0 300 2600 2000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 1700 638 1900 638 3 0 0 0 -1 -1 L 1900 638 1900 1261 3 0 0 0 -1 -1 L 1700 1438 1700 638 3 0 0 0 -1 -1 L 1800 300 1800 638 3 0 0 0 -1 -1 P 900 300 900 0 1 0 1 { T 800 100 5 8 1 1 0 0 1 pinnumber=6 T 800 100 5 8 0 0 0 0 1 pinseq=6 } A 1100 1161 100 225 225 3 0 0 0 -1 -1 A 1100 1020 100 225 270 3 0 0 0 -1 -1 A 1100 879 100 225 270 3 0 0 0 -1 -1 A 1100 738 100 270 225 3 0 0 0 -1 -1 L 1100 1261 700 1261 3 0 0 0 -1 -1 L 1100 638 900 638 3 0 0 0 -1 -1 L 900 300 900 638 3 0 0 0 -1 -1 P 300 300 300 0 1 0 1 { T 200 100 5 8 1 1 0 0 1 pinnumber=4 T 200 100 5 8 0 0 0 0 1 pinseq=4 } A 1100 1961 100 225 225 3 0 0 0 -1 -1 A 1100 1820 100 225 270 3 0 0 0 -1 -1 A 1100 1679 100 225 270 3 0 0 0 -1 -1 A 1100 1538 100 270 225 3 0 0 0 -1 -1 L 1100 2061 700 2061 3 0 0 0 -1 -1 L 300 2061 300 1100 3 0 0 0 -1 -1 L 1100 1438 900 1438 3 0 0 0 -1 -1 L 900 1438 600 1438 3 0 0 0 -1 -1 L 400 2061 700 2061 3 0 0 0 -1 -1 L 300 1100 300 300 3 0 0 0 -1 -1 L 300 2061 400 2061 3 0 0 0 -1 -1 L 600 1438 500 1438 3 0 0 0 -1 -1 P 600 300 600 0 1 0 1 { T 500 100 5 8 1 1 0 0 1 pinnumber=5 T 500 100 5 8 0 0 0 0 1 pinseq=5 } L 500 638 700 638 3 0 0 0 -1 -1 L 700 638 700 1261 3 0 0 0 -1 -1 L 500 1438 500 638 3 0 0 0 -1 -1 L 600 300 600 638 3 0 0 0 -1 -1 T 0 2400 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/misc/PCM2702E-1.sym0000664000175000017500000001046312204104272014450 00000000000000v 20031231 1 B 300 0 2700 6000 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 T 300 6700 8 10 0 0 0 0 1 device=PCM2702E T 300 6400 2 10 1 1 0 0 1 refdes=U? T 300 6050 3 10 1 0 0 0 1 PCM2702E L 300 2900 400 3000 3 0 0 0 -1 -1 L 300 3100 400 3000 3 0 0 0 -1 -1 P 300 3000 0 3000 1 0 1 { T 136 3050 5 8 1 1 0 0 1 pinnumber=1 T 136 3050 5 8 0 0 0 0 1 pinseq=1 T 450 2950 3 8 1 1 0 0 1 pinlabel=XTI } P 2100 6000 2100 6300 1 0 1 { T 2175 6075 5 8 1 1 0 0 1 pinnumber=2 T 2175 6075 5 8 0 0 0 0 1 pinseq=2 T 1910 5850 3 8 1 1 0 0 1 pinlabel=VddC } P 300 1800 0 1800 1 0 1 { T 120 1850 5 8 1 1 0 0 1 pinnumber=3 T 120 1850 5 8 0 0 0 0 1 pinseq=3 T 375 1750 3 8 1 1 0 0 1 pinlabel=DGNDC } P 1500 6000 1500 6300 1 0 1 { T 1575 6075 5 8 1 1 0 0 1 pinnumber=4 T 1575 6075 5 8 0 0 0 0 1 pinseq=4 T 1366 5850 3 8 1 1 0 0 1 pinlabel=Vdd } P 300 2400 0 2400 1 0 1 { T 120 2450 5 8 1 1 0 0 1 pinnumber=5 T 120 2450 5 8 0 0 0 0 1 pinseq=5 T 375 2350 3 8 1 1 0 0 1 pinlabel=DGND } P 300 5400 0 5400 1 0 1 { T 104 5450 5 8 1 1 0 0 1 pinnumber=6 T 104 5450 5 8 0 0 0 0 1 pinseq=6 T 375 5350 3 8 1 1 0 0 1 pinlabel=D+ } P 300 5100 0 5100 1 0 1 { T 120 5150 5 8 1 1 0 0 1 pinnumber=7 T 120 5150 5 8 0 0 0 0 1 pinseq=7 T 375 5050 3 8 1 1 0 0 1 pinlabel=D- } P 300 4800 0 4800 1 0 1 { T 112 4850 5 8 1 1 0 0 1 pinnumber=8 T 112 4850 5 8 0 0 0 0 1 pinseq=8 T 375 4750 3 8 1 1 0 0 1 pinlabel=Vbus } P 300 2100 0 2100 1 0 1 { T 96 2150 5 8 1 1 0 0 1 pinnumber=9 T 96 2150 5 8 0 0 0 0 1 pinseq=9 T 375 2050 3 8 1 1 0 0 1 pinlabel=DGNDU } V 250 4200 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 4200 0 4200 1 0 1 { T 32 4250 5 8 1 1 0 0 1 pinnumber=10 T 32 4250 5 8 0 0 0 0 1 pinseq=10 T 375 4150 3 8 1 1 0 0 1 pinlabel=PLYBCK } V 250 3900 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 3900 0 3900 1 0 1 { T 72 3950 5 8 1 1 0 0 1 pinnumber=11 T 72 3950 5 8 0 0 0 0 1 pinseq=11 T 375 3850 3 8 1 1 0 0 1 pinlabel=SSPND } P 300 5700 0 5700 1 0 1 { T 32 5750 5 8 1 1 0 0 1 pinnumber=12 T 32 5750 5 8 0 0 0 0 1 pinseq=12 T 375 5650 3 8 1 1 0 0 1 pinlabel=ZERO } P 3000 2100 3300 2100 1 0 1 { T 3100 2150 5 8 1 1 0 0 1 pinnumber=13 T 3100 2150 5 8 0 0 0 0 1 pinseq=13 T 2470 2050 3 8 1 1 0 0 1 pinlabel=TEST3 } P 3000 2400 3300 2400 1 0 1 { T 3100 2450 5 8 1 1 0 0 1 pinnumber=14 T 3100 2450 5 8 0 0 0 0 1 pinseq=14 T 2446 2350 3 8 1 1 0 0 1 pinlabel=TEST2 } P 3000 2700 3300 2700 1 0 1 { T 3100 2750 5 8 1 1 0 0 1 pinnumber=15 T 3100 2750 5 8 0 0 0 0 1 pinseq=15 T 2486 2650 3 8 1 1 0 0 1 pinlabel=TEST1 } P 3000 3000 3300 3000 1 0 1 { T 3100 3050 5 8 1 1 0 0 1 pinnumber=16 T 3100 3050 5 8 0 0 0 0 1 pinseq=16 T 2446 2950 3 8 1 1 0 0 1 pinlabel=TEST0 } P 3000 5400 3300 5400 1 0 1 { T 3100 5450 5 8 1 1 0 0 1 pinnumber=17 T 3100 5450 5 8 0 0 0 0 1 pinseq=17 T 2562 5350 3 8 1 1 0 0 1 pinlabel=VccR } P 3000 1500 3300 1500 1 0 1 { T 3100 1550 5 8 1 1 0 0 1 pinnumber=18 T 3100 1550 5 8 0 0 0 0 1 pinseq=18 T 2394 1450 3 8 1 1 0 0 1 pinlabel=AGNDR } P 3000 4200 3300 4200 1 0 1 { T 3100 4250 5 8 1 1 0 0 1 pinnumber=19 T 3100 4250 5 8 0 0 0 0 1 pinseq=19 T 2534 4150 3 8 1 1 0 0 1 pinlabel=VoutR } P 3000 300 3300 300 1 0 1 { T 3100 350 5 8 1 1 0 0 1 pinnumber=20 T 3100 350 5 8 0 0 0 0 1 pinseq=20 T 2498 250 3 8 1 1 0 0 1 pinlabel=AGND } P 3000 3900 3300 3900 1 0 1 { T 3100 3950 5 8 1 1 0 0 1 pinnumber=21 T 3100 3950 5 8 0 0 0 0 1 pinseq=21 T 2546 3850 3 8 1 1 0 0 1 pinlabel=Vcom } P 2700 6000 2700 6300 1 0 1 { T 2775 6075 5 8 1 1 0 0 1 pinnumber=22 T 2775 6075 5 8 0 0 0 0 1 pinseq=22 T 2558 5850 3 8 1 1 0 0 1 pinlabel=Vcc } P 3000 3600 3300 3600 1 0 1 { T 3100 3650 5 8 1 1 0 0 1 pinnumber=23 T 3100 3650 5 8 0 0 0 0 1 pinseq=23 T 2550 3550 3 8 1 1 0 0 1 pinlabel=VoutL } P 3000 900 3300 900 1 0 1 { T 3100 950 5 8 1 1 0 0 1 pinnumber=24 T 3100 950 5 8 0 0 0 0 1 pinseq=24 T 2410 850 3 8 1 1 0 0 1 pinlabel=AGNDL } P 3000 5100 3300 5100 1 0 1 { T 3100 5150 5 8 1 1 0 0 1 pinnumber=25 T 3100 5150 5 8 0 0 0 0 1 pinseq=25 T 2578 5050 3 8 1 1 0 0 1 pinlabel=VccL } P 3000 1200 3300 1200 1 0 1 { T 3100 1250 5 8 1 1 0 0 1 pinnumber=26 T 3100 1250 5 8 0 0 0 0 1 pinseq=26 T 2398 1150 3 8 1 1 0 0 1 pinlabel=AGNDP } P 3000 4800 3300 4800 1 0 1 { T 3100 4850 5 8 1 1 0 0 1 pinnumber=27 T 3100 4850 5 8 0 0 0 0 1 pinseq=27 T 2566 4750 3 8 1 1 0 0 1 pinlabel=VccP } L 300 3200 400 3300 3 0 0 0 -1 -1 L 300 3400 400 3300 3 0 0 0 -1 -1 P 300 3300 0 3300 1 0 1 { T 8 3350 5 8 1 1 0 0 1 pinnumber=28 T 8 3350 5 8 0 0 0 0 1 pinseq=28 T 450 3250 3 8 1 1 0 0 1 pinlabel=XTO } geda-gaf-1.8.2/symbols/misc/include-1.sym0000664000175000017500000000015112204104272015025 00000000000000v 20031231 1 L 0 0 800 0 3 0 0 0 -1 -1 T 100 100 5 10 1 1 0 0 1 device=include L 0 0 0 300 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/misc/TC5516AP-1.sym0000664000175000017500000000711012204104272014454 00000000000000v 20031231 1 B 300 300 1800 3900 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 T 300 4900 8 10 0 0 0 0 1 device=TC5516AP T 300 4500 2 10 1 1 0 0 1 refdes=U? T 300 4250 3 10 1 0 0 0 1 TC5516AP P 2100 1800 2400 1800 1 0 1 { T 2200 1850 5 8 1 1 0 0 1 pinnumber=1 T 2200 1850 5 8 0 0 0 0 1 pinseq=1 T 1854 1750 3 8 1 1 0 0 1 pinlabel=A7 } P 2100 2100 2400 2100 1 0 1 { T 2200 2150 5 8 1 1 0 0 1 pinnumber=2 T 2200 2150 5 8 0 0 0 0 1 pinseq=2 T 1838 2050 3 8 1 1 0 0 1 pinlabel=A6 } P 2100 2400 2400 2400 1 0 1 { T 2200 2450 5 8 1 1 0 0 1 pinnumber=3 T 2200 2450 5 8 0 0 0 0 1 pinseq=3 T 1854 2350 3 8 1 1 0 0 1 pinlabel=A5 } P 2100 2700 2400 2700 1 0 1 { T 2200 2750 5 8 1 1 0 0 1 pinnumber=4 T 2200 2750 5 8 0 0 0 0 1 pinseq=4 T 1830 2650 3 8 1 1 0 0 1 pinlabel=A4 } P 2100 3000 2400 3000 1 0 1 { T 2200 3050 5 8 1 1 0 0 1 pinnumber=5 T 2200 3050 5 8 0 0 0 0 1 pinseq=5 T 1854 2950 3 8 1 1 0 0 1 pinlabel=A3 } P 2100 3300 2400 3300 1 0 1 { T 2200 3350 5 8 1 1 0 0 1 pinnumber=6 T 2200 3350 5 8 0 0 0 0 1 pinseq=6 T 1830 3250 3 8 1 1 0 0 1 pinlabel=A2 } P 2100 3600 2400 3600 1 0 1 { T 2200 3650 5 8 1 1 0 0 1 pinnumber=7 T 2200 3650 5 8 0 0 0 0 1 pinseq=7 T 1870 3550 3 8 1 1 0 0 1 pinlabel=A1 } P 2100 3900 2400 3900 1 0 1 { T 2200 3950 5 8 1 1 0 0 1 pinnumber=8 T 2200 3950 5 8 0 0 0 0 1 pinseq=8 T 1830 3850 3 8 1 1 0 0 1 pinlabel=A0 } P 300 3900 0 3900 1 0 1 { T 96 3950 5 8 1 1 0 0 1 pinnumber=9 T 96 3950 5 8 0 0 0 0 1 pinseq=9 T 375 3850 3 8 1 1 0 0 1 pinlabel=D1 } P 300 3600 0 3600 1 0 1 { T 32 3650 5 8 1 1 0 0 1 pinnumber=10 T 32 3650 5 8 0 0 0 0 1 pinseq=10 T 375 3550 3 8 1 1 0 0 1 pinlabel=D2 } P 300 3300 0 3300 1 0 1 { T 72 3350 5 8 1 1 0 0 1 pinnumber=11 T 72 3350 5 8 0 0 0 0 1 pinseq=11 T 375 3250 3 8 1 1 0 0 1 pinlabel=D3 } P 1800 300 1800 0 1 0 1 { T 1875 150 5 8 1 1 0 0 1 pinnumber=12 T 1875 150 5 8 0 0 0 0 1 pinseq=12 T 1632 350 3 8 1 1 0 0 1 pinlabel=GND } P 300 3000 0 3000 1 0 1 { T 56 3050 5 8 1 1 0 0 1 pinnumber=13 T 56 3050 5 8 0 0 0 0 1 pinseq=13 T 375 2950 3 8 1 1 0 0 1 pinlabel=D4 } P 300 2700 0 2700 1 0 1 { T 32 2750 5 8 1 1 0 0 1 pinnumber=14 T 32 2750 5 8 0 0 0 0 1 pinseq=14 T 375 2650 3 8 1 1 0 0 1 pinlabel=D5 } P 300 2400 0 2400 1 0 1 { T 56 2450 5 8 1 1 0 0 1 pinnumber=15 T 56 2450 5 8 0 0 0 0 1 pinseq=15 T 375 2350 3 8 1 1 0 0 1 pinlabel=D6 } P 300 2100 0 2100 1 0 1 { T 40 2150 5 8 1 1 0 0 1 pinnumber=16 T 40 2150 5 8 0 0 0 0 1 pinseq=16 T 375 2050 3 8 1 1 0 0 1 pinlabel=D7 } P 300 1800 0 1800 1 0 1 { T 56 1850 5 8 1 1 0 0 1 pinnumber=17 T 56 1850 5 8 0 0 0 0 1 pinseq=17 T 375 1750 3 8 1 1 0 0 1 pinlabel=D8 } P 1200 200 1200 0 1 0 1 { T 1275 150 5 8 1 1 0 0 1 pinnumber=18 T 1275 150 5 8 0 0 0 0 1 pinseq=18 T 1094 350 3 8 1 1 0 0 1 pinlabel=CS } V 1200 250 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 2100 900 2400 900 1 0 1 { T 2200 950 5 8 1 1 0 0 1 pinnumber=19 T 2200 950 5 8 0 0 0 0 1 pinseq=19 T 1766 850 3 8 1 1 0 0 1 pinlabel=A10 } P 900 200 900 0 1 0 1 { T 975 150 5 8 1 1 0 0 1 pinnumber=20 T 975 150 5 8 0 0 0 0 1 pinseq=20 T 778 350 3 8 1 1 0 0 1 pinlabel=OE } V 900 250 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 600 200 600 0 1 0 1 { T 675 150 5 8 1 1 0 0 1 pinnumber=21 T 675 150 5 8 0 0 0 0 1 pinseq=21 T 468 350 3 8 1 1 0 0 1 pinlabel=WE } V 600 250 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 2100 1200 2400 1200 1 0 1 { T 2200 1250 5 8 1 1 0 0 1 pinnumber=22 T 2200 1250 5 8 0 0 0 0 1 pinseq=22 T 1830 1150 3 8 1 1 0 0 1 pinlabel=A9 } P 2100 1500 2400 1500 1 0 1 { T 2200 1550 5 8 1 1 0 0 1 pinnumber=23 T 2200 1550 5 8 0 0 0 0 1 pinseq=23 T 1846 1450 3 8 1 1 0 0 1 pinlabel=A8 } P 1500 4200 1500 4500 1 0 1 { T 1575 4275 5 8 1 1 0 0 1 pinnumber=24 T 1575 4275 5 8 0 0 0 0 1 pinseq=24 T 1358 4050 3 8 1 1 0 0 1 pinlabel=Vcc } geda-gaf-1.8.2/symbols/misc/HIP4080A-1.sym0000664000175000017500000000775212204104272014455 00000000000000v 20031231 1 P 2100 3900 1800 3900 1 0 0 { T 1850 3950 5 10 1 1 0 0 1 pinnumber=20 T 1850 3750 5 10 0 1 0 0 1 pinseq=20 T 1500 3800 5 10 0 1 0 0 1 pintype=out T 1300 3900 9 10 1 1 0 0 1 pinlabel=BHO } P 2100 3500 1800 3500 1 0 0 { T 1850 3550 5 10 1 1 0 0 1 pinnumber=19 T 1850 3350 5 10 0 1 0 0 1 pinseq=19 T 1500 3400 5 10 0 1 0 0 1 pintype=out T 1300 3500 9 10 1 1 0 0 1 pinlabel=BHS } P 2100 3100 1800 3100 1 0 0 { T 1850 3150 5 10 1 1 0 0 1 pinnumber=18 T 1850 2950 5 10 0 1 0 0 1 pinseq=18 T 1500 3000 5 10 0 1 0 0 1 pintype=out T 1300 3100 9 10 1 1 0 0 1 pinlabel=BLO } P 2100 2700 1800 2700 1 0 0 { T 1850 2750 5 10 1 1 0 0 1 pinnumber=17 T 1850 2550 5 10 0 1 0 0 1 pinseq=17 T 1500 2600 5 10 0 1 0 0 1 pintype=out T 1300 2700 9 10 1 1 0 0 1 pinlabel=BLS } P 2100 2300 1800 2300 1 0 0 { T 1850 2350 5 10 1 1 0 0 1 pinnumber=16 T 1850 2150 5 10 0 1 0 0 1 pinseq=16 T 1500 2200 5 10 0 1 0 0 1 pintype=pwr T 1300 2300 9 10 1 1 0 0 1 pinlabel=Vdd } P 2100 1900 1800 1900 1 0 0 { T 1850 1950 5 10 1 1 0 0 1 pinnumber=15 T 1850 1750 5 10 0 1 0 0 1 pinseq=15 T 1500 1800 5 10 0 1 0 0 1 pintype=pwr T 1300 1900 9 10 1 1 0 0 1 pinlabel=Vcc } P 2100 1500 1800 1500 1 0 0 { T 1850 1550 5 10 1 1 0 0 1 pinnumber=14 T 1850 1350 5 10 0 1 0 0 1 pinseq=14 T 1500 1400 5 10 0 1 0 0 1 pintype=out T 1300 1500 9 10 1 1 0 0 1 pinlabel=ALS } P 2100 1100 1800 1100 1 0 0 { T 1500 1000 5 10 0 1 0 0 1 pintype=out T 1300 1100 9 10 1 1 0 0 1 pinlabel=ALO T 1850 1150 5 10 1 1 0 0 1 pinnumber=13 T 1850 950 5 10 0 1 0 0 1 pinseq=13 } P 2100 700 1800 700 1 0 0 { T 1850 750 5 10 1 1 0 0 1 pinnumber=12 T 1850 550 5 10 0 1 0 0 1 pinseq=12 T 1500 600 5 10 0 1 0 0 1 pintype=out T 1300 700 9 10 1 1 0 0 1 pinlabel=AHS } P 2100 300 1800 300 1 0 0 { T 1850 350 5 10 1 1 0 0 1 pinnumber=11 T 1850 150 5 10 0 1 0 0 1 pinseq=11 T 1500 200 5 10 0 1 0 0 1 pintype=out T 1300 300 9 10 1 1 0 0 1 pinlabel=AHO } B 300 0 1500 4200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3900 300 3900 1 0 0 { T 100 3750 5 10 0 1 0 0 1 pinseq=1 T 100 3950 5 10 1 1 0 0 1 pinnumber=1 T 400 3900 9 10 1 1 0 0 1 pinlabel=BHB T 400 3800 5 10 0 1 0 0 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 100 3350 5 10 0 1 0 0 1 pinseq=2 T 100 3550 5 10 1 1 0 0 1 pinnumber=2 T 400 3500 9 10 1 1 0 0 1 pinlabel=HEN T 400 3400 5 10 0 1 0 0 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 100 2950 5 10 0 1 0 0 1 pinseq=3 T 100 3150 5 10 1 1 0 0 1 pinnumber=3 T 400 3000 5 10 0 1 0 0 1 pintype=in T 400 3100 9 10 1 1 0 0 1 pinlabel=DIS } P 0 2700 300 2700 1 0 0 { T 100 2750 5 10 1 1 0 0 1 pinnumber=4 T 100 2550 5 10 0 1 0 0 1 pinseq=4 T 400 2600 5 10 0 1 0 0 1 pintype=pwr T 400 2700 9 10 1 1 0 0 1 pinlabel=Vss } P 0 2300 300 2300 1 0 0 { T 100 2350 5 10 1 1 0 0 1 pinnumber=5 T 100 2150 5 10 0 1 0 0 1 pinseq=5 T 400 2200 5 10 0 1 0 0 1 pintype=out T 400 2300 9 10 1 1 0 0 1 pinlabel=OUT } P 0 1900 300 1900 1 0 0 { T 100 1950 5 10 1 1 0 0 1 pinnumber=6 T 100 1750 5 10 0 1 0 0 1 pinseq=6 T 400 1800 5 10 0 1 0 0 1 pintype=in T 400 1900 9 10 1 1 0 0 1 pinlabel=IN+ } P 0 1500 300 1500 1 0 0 { T 100 1550 5 10 1 1 0 0 1 pinnumber=7 T 100 1350 5 10 0 1 0 0 1 pinseq=7 T 400 1400 5 10 0 1 0 0 1 pintype=in T 400 1500 9 10 1 1 0 0 1 pinlabel=IN- } P 0 1100 300 1100 1 0 0 { T 100 1150 5 10 1 1 0 0 1 pinnumber=8 T 100 950 5 10 0 1 0 0 1 pinseq=8 T 400 1000 5 10 0 1 0 0 1 pintype=in T 400 1100 9 10 1 1 0 0 1 pinlabel=HDEL } P 0 700 300 700 1 0 0 { T 100 750 5 10 1 1 0 0 1 pinnumber=9 T 100 550 5 10 0 1 0 0 1 pinseq=9 T 400 600 5 10 0 1 0 0 1 pintype=in T 400 700 9 10 1 1 0 0 1 pinlabel=LDEL } P 0 300 300 300 1 0 0 { T 100 350 5 10 1 1 0 0 1 pinnumber=10 T 100 150 5 10 0 1 0 0 1 pinseq=10 T 400 200 5 10 0 1 0 0 1 pintype=in T 400 300 9 10 1 1 0 0 1 pinlabel=AHB } T 300 4500 5 10 0 0 0 0 1 device=HIP4080A T 300 4300 9 10 1 0 0 0 1 HIP4080A T 300 4700 5 10 0 0 0 0 1 description=High Frequency Full Bridge FET Driver T 300 4900 5 10 0 0 0 0 1 footprint=DIP20 T 300 5100 5 10 0 0 0 0 1 numslots=0 T 300 5300 5 10 0 0 0 0 1 net=AGND:4 T 300 5500 5 10 0 0 0 0 1 net=VCCA:15 T 300 5700 5 10 0 0 0 0 1 net=VDDA:16 T 1600 4300 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/misc/interpage_bidir-1.sym0000664000175000017500000000065112204104272016536 00000000000000v 20031231 1 P 0 200 300 200 1 0 0 { T 100 400 5 10 0 0 0 0 1 pinnumber=1 T 100 400 5 10 0 0 0 0 1 pinseq=1 } L 300 200 500 0 3 0 0 0 -1 -1 L 500 0 1100 0 3 0 0 0 -1 -1 L 1300 200 1100 400 3 0 0 0 -1 -1 L 1100 400 500 400 3 0 0 0 -1 -1 T 300 600 5 10 0 0 0 0 1 device=interpage_bidir T 300 800 5 10 0 0 0 0 1 graphical=1 L 500 400 300 200 3 0 0 0 -1 -1 L 1100 0 1300 200 3 0 0 0 -1 -1 T 1500 200 5 10 1 1 0 0 1 pages=unknown geda-gaf-1.8.2/symbols/misc/nc-bottom-1.sym0000664000175000017500000000052412204104272015310 00000000000000v 20060123 1 P 200 400 200 200 1 0 0 { T 500 100 5 10 0 0 0 0 1 pinseq=1 T 500 300 5 10 0 0 0 0 1 pinnumber=1 } L 350 200 50 200 3 0 0 0 -1 -1 T 200 150 9 10 1 0 180 3 1 NC T 0 600 8 10 0 0 0 0 1 value=NoConnection T 0 800 8 10 0 0 0 0 1 documentation=nc.pdf T 0 1000 8 10 0 0 0 0 1 device=DRC_Directive T 0 1200 8 10 0 0 0 0 1 graphical=1 geda-gaf-1.8.2/symbols/misc/L293.sym0000664000175000017500000000440412204104272013702 00000000000000v 20031231 1 B 300 0 2100 2700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2600 2575 5 10 0 0 0 0 1 device=L293 T 300 2750 3 10 1 0 0 0 1 L293 T 375 2350 3 8 1 0 0 0 1 CHIP INHIBIT P 300 2400 0 2400 1 0 1 { T 136 2450 5 8 1 1 0 0 1 pinnumber=1 T 136 2450 5 8 0 0 0 0 1 pinseq=1 } T 375 2050 3 8 1 0 0 0 1 INPUT 1 P 300 2100 0 2100 1 0 1 { T 96 2150 5 8 1 1 0 0 1 pinnumber=2 T 96 2150 5 8 0 0 0 0 1 pinseq=2 } T 375 1750 3 8 1 0 0 0 1 OUTPUT 1 P 300 1800 0 1800 1 0 1 { T 120 1850 5 8 1 1 0 0 1 pinnumber=3 T 120 1850 5 8 0 0 0 0 1 pinseq=3 } T 375 1450 3 8 1 0 0 0 1 GND P 300 1500 0 1500 1 0 1 { T 96 1550 5 8 1 1 0 0 1 pinnumber=4 T 96 1550 5 8 0 0 0 0 1 pinseq=4 } T 375 1150 3 8 1 0 0 0 1 GND P 300 1200 0 1200 1 0 1 { T 120 1250 5 8 1 1 0 0 1 pinnumber=5 T 120 1250 5 8 0 0 0 0 1 pinseq=5 } T 375 850 3 8 1 0 0 0 1 OUTPUT 2 P 300 900 0 900 1 0 1 { T 104 950 5 8 1 1 0 0 1 pinnumber=6 T 104 950 5 8 0 0 0 0 1 pinseq=6 } T 375 550 3 8 1 0 0 0 1 INPUT 2 P 300 600 0 600 1 0 1 { T 120 650 5 8 1 1 0 0 1 pinnumber=7 T 120 650 5 8 0 0 0 0 1 pinseq=7 } T 375 250 3 8 1 0 0 0 1 VC P 300 300 0 300 1 0 1 { T 112 350 5 8 1 1 0 0 1 pinnumber=8 T 112 350 5 8 0 0 0 0 1 pinseq=8 } T 2042 2350 3 8 1 0 0 0 1 VSS P 2400 2400 2700 2400 1 0 1 { T 2500 2450 5 8 1 1 0 0 1 pinnumber=16 T 2500 2450 5 8 0 0 0 0 1 pinseq=9 } T 1754 2050 3 8 1 0 0 0 1 INPUT 4 P 2400 2100 2700 2100 1 0 1 { T 2500 2150 5 8 1 1 0 0 1 pinnumber=15 T 2500 2150 5 8 0 0 0 0 1 pinseq=10 } T 1574 1750 3 8 1 0 0 0 1 OUTPUT 4 P 2400 1800 2700 1800 1 0 1 { T 2500 1850 5 8 1 1 0 0 1 pinnumber=14 T 2500 1850 5 8 0 0 0 0 1 pinseq=11 } T 2014 1450 3 8 1 0 0 0 1 GND P 2400 1500 2700 1500 1 0 1 { T 2500 1550 5 8 1 1 0 0 1 pinnumber=13 T 2500 1550 5 8 0 0 0 0 1 pinseq=12 } T 2014 1150 3 8 1 0 0 0 1 GND P 2400 1200 2700 1200 1 0 1 { T 2500 1250 5 8 1 1 0 0 1 pinnumber=12 T 2500 1250 5 8 0 0 0 0 1 pinseq=13 } T 1598 850 3 8 1 0 0 0 1 OUTPUT 3 P 2400 900 2700 900 1 0 1 { T 2500 950 5 8 1 1 0 0 1 pinnumber=11 T 2500 950 5 8 0 0 0 0 1 pinseq=14 } T 1778 550 3 8 1 0 0 0 1 INPUT 3 P 2400 600 2700 600 1 0 1 { T 2500 650 5 8 1 1 0 0 1 pinnumber=10 T 2500 650 5 8 0 0 0 0 1 pinseq=15 } T 1250 250 3 8 1 0 0 0 1 CHIP INHIBIT 2 P 2400 300 2700 300 1 0 1 { T 2500 350 5 8 1 1 0 0 1 pinnumber=9 T 2500 350 5 8 0 0 0 0 1 pinseq=16 } T 2400 2800 8 10 1 1 0 6 1 refdes=U? geda-gaf-1.8.2/symbols/misc/osc-1.sym0000664000175000017500000000037512204104272014176 00000000000000v 20031231 1 P 1200 500 900 500 1 0 0 { T 950 550 5 10 1 1 0 0 1 pinnumber=8 T 950 550 5 10 0 0 0 0 1 pinseq=8 } T 0 0 9 8 1 0 0 0 1 OSC B 0 200 900 600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 900 900 5 10 0 0 0 0 1 device=OSC T 0 900 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/misc/dc_motor-1.sym0000664000175000017500000000102012204104272015204 00000000000000v 20041228 1 P 200 1000 200 800 1 0 0 { T 250 900 5 8 0 1 270 0 1 pinnumber=1 T 250 900 5 8 0 0 270 0 1 pinseq=1 } P 200 0 200 200 1 0 0 { T 250 200 5 8 0 1 270 0 1 pinnumber=2 T 250 200 5 8 0 0 270 0 1 pinseq=2 } T 400 1000 8 10 0 0 0 0 1 device=DC_MOTOR T 500 600 8 10 1 1 0 0 1 refdes=M? V 200 500 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 100 673 100 800 3 0 0 0 -1 -1 L 100 800 300 800 3 0 0 0 -1 -1 L 300 800 300 673 3 0 0 0 -1 -1 L 100 326 100 200 3 0 0 0 -1 -1 L 100 200 300 200 3 0 0 0 -1 -1 L 300 200 300 327 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/misc/6A259-1.sym0000664000175000017500000000740112204104272014115 00000000000000v 20041228 1 P 1700 3800 2000 3800 1 0 1 { T 1800 3850 5 8 1 1 0 0 1 pinnumber=19 T 1800 3750 5 8 0 1 0 2 1 pinseq=19 T 1650 3800 9 8 1 1 0 6 1 pinlabel=Q0 T 1650 3800 5 8 0 1 0 8 1 pintype=out } V 250 1400 52 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1400 200 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=8 T 200 1350 5 8 0 1 0 8 1 pinseq=8 T 350 1400 9 8 1 1 0 0 1 pinlabel=ENABLE T 350 1400 5 8 0 1 0 2 1 pintype=in } P 0 3800 300 3800 1 0 0 { T 200 3850 5 8 1 1 0 6 1 pinnumber=18 T 200 3750 5 8 0 1 0 8 1 pinseq=18 T 350 3800 9 8 1 1 0 0 1 pinlabel=S0 T 350 3800 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=3 T 200 3450 5 8 0 1 0 8 1 pinseq=3 T 350 3500 9 8 1 1 0 0 1 pinlabel=S1 T 350 3500 5 8 0 1 0 2 1 pintype=in } B 300 0 1400 4100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1700 4200 8 10 1 1 0 6 1 refdes=U? T 300 4150 9 10 1 0 0 0 1 TPIC-6A259 V 250 1000 52 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1000 200 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=14 T 200 950 5 8 0 1 0 8 1 pinseq=14 T 350 1000 9 8 1 1 0 0 1 pinlabel=CLEAR T 350 1000 5 8 0 1 0 2 1 pintype=in } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=13 T 200 2150 5 8 0 1 0 8 1 pinseq=13 T 350 2200 5 8 1 1 0 0 1 pinlabel=D T 350 2200 5 8 0 1 0 2 1 pintype=in } P 0 3200 300 3200 1 0 0 { T 200 3250 5 8 1 1 0 6 1 pinnumber=7 T 200 3150 5 8 0 1 0 8 1 pinseq=7 T 350 3200 9 8 1 1 0 0 1 pinlabel=S2 T 350 3200 5 8 0 1 0 2 1 pintype=in } P 1700 3500 2000 3500 1 0 1 { T 1800 3550 5 8 1 1 0 0 1 pinnumber=20 T 1800 3450 5 8 0 1 0 2 1 pinseq=20 T 1650 3500 9 8 1 1 0 6 1 pinlabel=Q1 T 1650 3500 5 8 0 1 0 8 1 pintype=out } P 1700 3200 2000 3200 1 0 1 { T 1800 3250 5 8 1 1 0 0 1 pinnumber=1 T 1800 3150 5 8 0 1 0 2 1 pinseq=1 T 1650 3200 9 8 1 1 0 6 1 pinlabel=Q2 T 1650 3200 5 8 0 1 0 8 1 pintype=out } P 1700 2900 2000 2900 1 0 1 { T 1800 2950 5 8 1 1 0 0 1 pinnumber=2 T 1800 2850 5 8 0 1 0 2 1 pinseq=2 T 1650 2900 9 8 1 1 0 6 1 pinlabel=Q3 T 1650 2900 5 8 0 1 0 8 1 pintype=out } P 1700 2600 2000 2600 1 0 1 { T 1800 2650 5 8 1 1 0 0 1 pinnumber=9 T 1800 2550 5 8 0 1 0 2 1 pinseq=9 T 1650 2600 9 8 1 1 0 6 1 pinlabel=Q4 T 1650 2600 5 8 0 1 0 8 1 pintype=out } P 1700 2300 2000 2300 1 0 1 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=10 T 1800 2250 5 8 0 1 0 2 1 pinseq=10 T 1650 2300 9 8 1 1 0 6 1 pinlabel=Q5 T 1650 2300 5 8 0 1 0 8 1 pintype=out } P 1700 2000 2000 2000 1 0 1 { T 1800 2050 5 8 1 1 0 0 1 pinnumber=11 T 1800 1950 5 8 0 1 0 2 1 pinseq=11 T 1650 2000 9 8 1 1 0 6 1 pinlabel=Q6 T 1650 2000 5 8 0 1 0 8 1 pintype=out } P 1700 1700 2000 1700 1 0 1 { T 1800 1750 5 8 1 1 0 0 1 pinnumber=12 T 1800 1650 5 8 0 1 0 2 1 pinseq=12 T 1650 1700 9 8 1 1 0 6 1 pinlabel=Q7 T 1650 1700 5 8 0 1 0 8 1 pintype=out } T 300 4550 8 10 0 0 0 0 1 device=6A259DIP T 300 4750 8 10 0 0 0 0 1 footprint=DIP20 T 300 4950 8 10 0 0 0 0 1 description=Peripheral / Power Logic 8-Bit Addressable Latch T 300 5550 8 10 0 0 0 0 1 numslots=0 T 300 5150 8 10 0 0 0 0 1 net=Vcc:17 T 300 5350 8 10 0 0 0 0 1 net=GND:4 T 300 5750 8 10 0 0 0 0 1 documentation=http://focus.ti.com/docs/prod/folders/print/tpic6a259.html P 1700 1100 2000 1100 1 0 1 { T 1800 1150 5 8 1 1 0 0 1 pinnumber=5 T 1800 1050 5 8 0 1 0 2 1 pinseq=5 T 1650 1100 9 8 1 1 0 6 1 pinlabel=Power GND T 1650 1100 5 8 0 1 0 8 1 pintype=in } P 1700 800 2000 800 1 0 1 { T 1800 850 5 8 1 1 0 0 1 pinnumber=6 T 1800 750 5 8 0 1 0 2 1 pinseq=6 T 1650 800 9 8 1 1 0 6 1 pinlabel=Power GND T 1650 800 5 8 0 1 0 8 1 pintype=in } P 1700 500 2000 500 1 0 1 { T 1800 550 5 8 1 1 0 0 1 pinnumber=15 T 1800 450 5 8 0 1 0 2 1 pinseq=15 T 1650 500 9 8 1 1 0 6 1 pinlabel=Power GND T 1650 500 5 8 0 1 0 8 1 pintype=in } P 1700 200 2000 200 1 0 1 { T 1800 250 5 8 1 1 0 0 1 pinnumber=16 T 1800 150 5 8 0 1 0 2 1 pinseq=16 T 1650 200 9 8 1 1 0 6 1 pinlabel=Power GND T 1650 200 5 8 0 1 0 8 1 pintype=in } geda-gaf-1.8.2/symbols/misc/busripper-2.sym0000664000175000017500000000045612204104272015426 00000000000000v 20031231 1 T 0 400 5 8 0 0 0 0 1 device=none P 0 0 0 100 1 0 0 { T 0 500 5 8 0 0 0 0 1 pinseq=1 T 0 600 5 8 0 0 0 0 1 pinnumber=1 T 0 700 5 8 0 0 0 0 1 pintype=pas T 0 800 5 8 0 0 0 0 1 pinlabel=netside } T 0 300 5 8 0 0 0 0 1 graphical=1 L 0 100 100 200 3 0 0 0 -1 -1 L 0 100 -100 200 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/misc/mc3479-1.sym0000664000175000017500000000632712204104272014343 00000000000000v 20031231 1 P 2000 1200 2300 1200 1 0 1 { T 2098 1268 5 8 1 1 0 0 1 pinnumber=14 T 2098 1268 5 8 0 0 0 0 1 pinseq=14 T 1700 1200 9 8 1 1 0 0 1 pinlabel=L4 T 2000 1200 5 8 0 0 0 0 1 pintype=out } P 2000 1500 2300 1500 1 0 1 { T 2098 1566 5 8 1 1 0 0 1 pinnumber=15 T 2098 1566 5 8 0 0 0 0 1 pinseq=15 T 1700 1500 9 8 1 1 0 0 1 pinlabel=L3 T 2000 1500 5 8 0 0 0 0 1 pintype=out } P 2000 1800 2300 1800 1 0 1 { T 2098 1865 5 8 1 1 0 0 1 pinnumber=2 T 2098 1865 5 8 0 0 0 0 1 pinseq=2 T 1700 1800 9 8 1 1 0 0 1 pinlabel=L2 T 2000 1800 5 8 0 0 0 0 1 pintype=out } P 2000 2100 2300 2100 1 0 1 { T 2098 2170 5 8 1 1 0 0 1 pinnumber=3 T 2098 2170 5 8 0 0 0 0 1 pinseq=3 T 1700 2100 9 8 1 1 0 0 1 pinlabel=L1 T 2000 2100 5 8 0 0 0 0 1 pintype=out } P 1600 2500 1600 2800 1 0 1 { T 1401 2622 5 8 1 1 0 0 1 pinnumber=16 T 1401 2622 5 8 0 0 0 0 1 pinseq=16 T 1500 2300 9 8 1 1 0 0 1 pinlabel=Vm T 1600 2500 5 8 0 0 0 0 1 pintype=pwr } P 0 1500 300 1500 1 0 0 { T 96 1565 5 8 1 1 0 0 1 pinnumber=7 T 96 1565 5 8 0 0 0 0 1 pinseq=7 T 400 1500 9 8 1 1 0 0 1 pinlabel=CLOCK T 0 1500 5 8 0 0 0 0 1 pintype=clk } P 0 600 300 600 1 0 0 { T 129 643 5 8 1 1 0 0 1 pinnumber=8 T 129 668 5 8 0 0 0 0 1 pinseq=8 T 400 600 9 8 1 1 0 0 1 pinlabel=OIC T 0 600 5 8 0 0 0 0 1 pintype=in } B 300 200 1700 2300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2300 2400 5 10 0 0 0 0 1 device=MC3479 T 1800 0 8 10 1 1 0 0 1 refdes=U? T 300 0 9 8 1 0 0 0 1 MC3479 P 0 1800 300 1800 1 0 0 { T 100 1850 5 8 1 1 0 0 1 pinnumber=11 T 100 1800 5 8 0 0 0 0 1 pinseq=11 T 400 1800 9 8 1 1 0 0 1 pinlabel=PHASE A T 0 1800 5 8 0 0 0 0 1 pintype=in } P 0 1200 300 1200 1 0 0 { T 200 1200 5 8 0 0 0 0 1 pinseq=10 T 100 1250 5 8 1 1 0 0 1 pinnumber=10 T 400 1200 9 8 1 1 0 0 1 pinlabel=CCW T 0 1200 5 8 0 0 0 0 1 pintype=in } P 0 900 300 900 1 0 0 { T 100 900 5 8 0 0 0 0 1 pinseq=9 T 100 950 5 8 1 1 0 0 1 pinnumber=9 T 400 900 9 8 1 1 0 0 1 pinlabel=HALF STEP T 0 900 5 8 0 0 0 0 1 pintype=in } P 0 2100 300 2100 1 0 0 { T 0 2100 5 8 0 0 0 0 1 pinseq=6 T 100 2100 5 8 1 1 0 0 1 pinnumber=6 T 400 2100 9 8 1 1 0 0 1 pinlabel=SET T 0 2100 5 8 0 0 0 0 1 pintype=in } T 2175 2425 8 8 0 0 0 0 1 description=Stepper motor controler T 2350 2275 8 8 0 0 0 0 1 author=Take Vos Take.Vos@vosgames.nl T 2475 2200 8 8 0 0 0 0 1 numslots=0 T 2625 2125 8 8 0 0 0 0 1 footprint=DIP16 T 2475 2175 8 8 0 0 0 0 1 documentation=http://www.leang.com/pat/umouse/datasheets/mc3479.pdf P 700 2800 700 2500 1 0 0 { T 600 2625 5 8 0 1 0 0 1 pinseq=1 T 600 2600 5 8 1 1 0 0 1 pinnumber=1 T 600 2300 9 8 1 1 0 0 1 pinlabel=Vd T 700 2800 5 8 0 0 0 0 1 pintype=pwr } P 2300 300 2000 300 1 0 0 { T 2300 300 5 8 0 1 0 0 1 pinseq=13 T 2100 350 5 8 1 1 0 0 1 pinnumber=13 T 1600 275 9 8 1 1 0 0 1 pinlabel=GND T 2300 300 5 8 0 1 0 0 1 pintype=pwr } P 2300 500 2000 500 1 0 0 { T 2300 500 5 8 0 1 0 0 1 pinseq=12 T 2100 550 5 8 1 1 0 0 1 pinnumber=12 T 1600 475 9 8 1 1 0 0 1 pinlabel=GND T 2300 500 5 8 0 1 0 0 1 pintype=pwr } P 2300 700 2000 700 1 0 0 { T 2100 750 5 8 1 1 0 0 1 pinnumber=5 T 2300 700 5 8 0 0 0 0 1 pintype=pwr T 2300 700 5 8 0 0 0 0 1 pinseq=5 T 1600 675 9 8 1 1 0 0 1 pinlabel=GND } P 2300 900 2000 900 1 0 0 { T 2300 900 5 8 0 0 0 0 1 pinseq=4 T 2300 900 5 8 0 0 0 0 1 pintype=pwr T 1600 875 9 8 1 1 0 0 1 pinlabel=GND T 2100 975 5 8 1 1 0 0 1 pinnumber=4 } geda-gaf-1.8.2/symbols/misc/ADG602-1.sym0000664000175000017500000000361212204104272014232 00000000000000v 20041228 1 P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=1 T 200 1050 5 8 0 1 0 8 1 pinseq=1 T 350 1100 9 8 1 1 0 0 1 pinlabel=D T 350 1100 5 8 0 1 0 2 1 pintype=tri } P 0 800 300 800 1 0 0 { T 200 850 5 8 1 1 0 6 1 pinnumber=2 T 200 750 5 8 0 1 0 8 1 pinseq=2 T 350 800 9 8 1 1 0 0 1 pinlabel=NC T 350 800 5 8 0 1 0 2 1 pintype=nc } P 0 500 300 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=3 T 200 450 5 8 0 1 0 8 1 pinseq=3 T 350 500 9 8 1 1 0 0 1 pinlabel=NC T 350 500 5 8 0 1 0 2 1 pintype=nc } P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=4 T 200 150 5 8 0 1 0 8 1 pinseq=4 T 350 200 9 8 1 1 0 0 1 pinlabel=Vdd T 350 200 5 8 0 1 0 2 1 pintype=pwr } P 1300 1100 1600 1100 1 0 1 { T 1400 1150 5 8 1 1 0 0 1 pinnumber=8 T 1400 1050 5 8 0 1 0 2 1 pinseq=8 T 1250 1100 9 8 1 1 0 6 1 pinlabel=S T 1250 1100 5 8 0 1 0 8 1 pintype=tri } P 1300 800 1600 800 1 0 1 { T 1400 850 5 8 1 1 0 0 1 pinnumber=7 T 1400 750 5 8 0 1 0 2 1 pinseq=7 T 1250 800 9 8 1 1 0 6 1 pinlabel=GND T 1250 800 5 8 0 1 0 8 1 pintype=pwr } P 1300 500 1600 500 1 0 1 { T 1400 550 5 8 1 1 0 0 1 pinnumber=6 T 1400 450 5 8 0 1 0 2 1 pinseq=6 T 1250 500 9 8 1 1 0 6 1 pinlabel=IN T 1250 500 5 8 0 1 0 8 1 pintype=in } P 1300 200 1600 200 1 0 1 { T 1400 250 5 8 1 1 0 0 1 pinnumber=5 T 1400 150 5 8 0 1 0 2 1 pinseq=5 T 1250 200 9 8 1 1 0 6 1 pinlabel=Vss T 1250 200 5 8 0 1 0 8 1 pintype=pwr } B 300 0 1000 1400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 1850 5 10 0 0 0 0 1 device=ADG602 T 300 2450 5 10 0 0 0 0 1 numslots=0 T 1300 1600 8 10 1 1 0 6 1 refdes=U? T 300 2650 5 10 0 0 0 0 1 footprint=MSOP8 T 300 2850 5 10 0 0 0 0 1 description= 2.2 CMOS ± 5 V/5V, SPST Switch T 300 3050 5 10 0 0 0 0 1 net=Vcc:4 T 300 3250 5 10 0 0 0 0 1 net=GND:7 T 300 1450 9 10 1 0 0 0 1 ADG602 T 300 2050 5 10 0 0 0 0 1 symversion=0.1 T 300 2250 5 10 0 0 0 0 1 documentation=http://www.analog.com/UploadedFiles/Data_Sheets/3597365479993ADG601_2_a.pdf geda-gaf-1.8.2/symbols/misc/mt8870-1.sym0000664000175000017500000000422612204104272014360 00000000000000v 20031231 1 T 400 3750 9 10 1 0 0 0 1 MT8870 P 2300 3500 2600 3500 1 0 1 { T 2350 3550 5 8 1 1 0 0 1 pinnumber=7 T 2350 3550 5 8 0 0 0 0 1 pinseq=7 } P 0 3500 300 3500 1 0 0 { T 100 3550 5 8 1 1 0 0 1 pinnumber=17 T 100 3550 5 8 0 0 0 0 1 pinseq=17 } P 0 2900 300 2900 1 0 0 { T 100 2950 5 8 1 1 0 0 1 pinnumber=16 T 100 2950 5 8 0 0 0 0 1 pinseq=16 } P 300 1700 0 1700 1 0 1 { T 100 1750 5 8 1 1 0 0 1 pinnumber=2 T 100 1750 5 8 0 0 0 0 1 pinseq=2 } P 300 2300 0 2300 1 0 1 { T 150 2350 5 8 1 1 0 0 1 pinnumber=1 T 150 2350 5 8 0 0 0 0 1 pinseq=1 } P 300 1100 0 1100 1 0 1 { T 100 1150 5 8 1 1 0 0 1 pinnumber=3 T 100 1150 5 8 0 0 0 0 1 pinseq=3 } T 350 3500 9 8 1 0 0 0 1 ST/GT T 350 2900 9 8 1 0 0 0 1 EST T 350 2300 9 8 1 0 0 0 1 IN+ T 350 1700 9 8 1 0 0 0 1 IN- T 350 1100 9 8 1 0 0 0 1 GS P 2300 2300 2600 2300 1 0 1 { T 2350 2350 5 8 1 1 0 0 1 pinnumber=11 T 2350 2350 5 8 0 0 0 0 1 pinseq=11 } P 2300 2000 2600 2000 1 0 1 { T 2350 2050 5 8 1 1 0 0 1 pinnumber=12 T 2350 2050 5 8 0 0 0 0 1 pinseq=12 } P 2300 1700 2600 1700 1 0 1 { T 2350 1750 5 8 1 1 0 0 1 pinnumber=13 T 2350 1750 5 8 0 0 0 0 1 pinseq=13 } P 2300 1400 2600 1400 1 0 1 { T 2350 1450 5 8 1 1 0 0 1 pinnumber=14 T 2350 1450 5 8 0 0 0 0 1 pinseq=14 } P 2300 1100 2600 1100 1 0 1 { T 2350 1150 5 10 1 1 0 0 1 pinnumber=15 T 2350 1150 5 10 0 0 0 0 1 pinseq=15 } P 300 200 0 200 1 0 1 { T 100 250 5 8 1 1 0 0 1 pinnumber=4 T 100 250 5 8 0 0 0 0 1 pinseq=4 } T 350 200 9 8 1 0 0 0 1 VREF P 2300 500 2600 500 1 0 1 { T 2350 550 5 8 1 1 0 0 1 pinnumber=5 T 2350 550 5 8 0 0 0 0 1 pinseq=5 } P 2300 200 2600 200 1 0 1 { T 2350 250 5 8 1 1 0 0 1 pinnumber=6 T 2350 250 5 8 0 0 0 0 1 pinseq=6 } T 1850 3500 9 8 1 0 0 0 1 OSC1 T 1850 2900 9 8 1 0 0 0 1 OSC2 T 2050 2300 9 8 1 0 0 0 1 Q0 T 2050 2000 9 8 1 0 0 0 1 Q1 T 2050 1700 9 8 1 0 0 0 1 Q2 T 2050 1400 9 8 1 0 0 0 1 Q3 T 1950 1100 9 8 1 0 0 0 1 STD T 2000 500 9 8 1 0 0 0 1 INH T 1800 200 9 8 1 0 0 0 1 PWDN P 2300 2900 2600 2900 1 0 1 { T 2350 2950 5 8 1 1 0 0 1 pinnumber=8 T 2350 2950 5 8 0 0 0 0 1 pinseq=8 } B 300 50 2000 3650 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2300 4000 5 8 0 0 0 0 1 package=DIP18 T 2300 3800 5 8 0 0 0 0 1 device=MT8870 T 2300 3800 8 10 1 1 0 6 1 refdes=U? geda-gaf-1.8.2/symbols/misc/2tri-1.sym0000664000175000017500000000103112204104272014260 00000000000000v 20031231 1 P 100 0 100 300 1 0 0 { T 276 500 5 8 1 1 180 0 1 pinnumber=2 T 276 500 5 8 0 0 180 0 1 pinseq=2 } P 200 600 200 900 1 0 1 { T 109 433 5 8 1 1 180 0 1 pinnumber=1 T 109 433 5 8 0 0 180 0 1 pinseq=1 } L 149 514 349 514 3 0 0 0 -1 -1 L 100 500 200 300 3 0 0 0 -1 -1 L 349 514 249 314 3 0 0 0 -1 -1 L 200 300 0 300 3 0 0 0 -1 -1 L 249 314 149 514 3 0 0 0 -1 -1 L 0 300 100 500 3 0 0 0 -1 -1 T 400 700 5 10 0 0 0 0 1 device=2TRI L 246 514 246 596 3 0 0 0 -1 -1 L 246 596 198 596 3 0 0 0 -1 -1 T 400 600 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/misc/ir2110-1.sym0000664000175000017500000000446612204104272014335 00000000000000v 20041228 1 B 300 0 1400 1900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1600 300 1600 1 0 0 { T 200 1650 5 8 1 1 0 6 1 pinnumber=9 T 200 1550 5 8 0 1 0 8 1 pinseq=9 T 350 1600 9 8 1 1 0 0 1 pinlabel=Vdd T 350 1600 5 8 0 1 0 2 1 pintype=in } P 0 1200 300 1200 1 0 0 { T 200 1250 5 8 1 1 0 6 1 pinnumber=10 T 200 1150 5 8 0 1 0 8 1 pinseq=10 T 350 1200 9 8 1 1 0 0 1 pinlabel=HIN T 350 1200 5 8 0 1 0 2 1 pintype=in } P 0 900 300 900 1 0 0 { T 200 950 5 8 1 1 0 6 1 pinnumber=11 T 200 850 5 8 0 1 0 8 1 pinseq=11 T 350 900 9 8 1 1 0 0 1 pinlabel=SD T 350 900 5 8 0 1 0 2 1 pintype=in } P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=12 T 200 550 5 8 0 1 0 8 1 pinseq=12 T 350 600 9 8 1 1 0 0 1 pinlabel=LIN T 350 600 5 8 0 1 0 2 1 pintype=in } P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=13 T 200 150 5 8 0 1 0 8 1 pinseq=13 T 350 200 9 8 1 1 0 0 1 pinlabel=Vss T 350 200 5 8 0 1 0 2 1 pintype=in } P 2000 200 1700 200 1 0 0 { T 1650 200 9 8 1 1 0 6 1 pinlabel=LO T 1800 250 5 8 1 1 0 0 1 pinnumber=1 T 1800 150 5 8 0 1 0 2 1 pinseq=1 T 1650 200 5 8 0 1 0 8 1 pintype=out } P 2000 500 1700 500 1 0 0 { T 1650 500 9 8 1 1 0 6 1 pinlabel=COM T 1800 550 5 8 1 1 0 0 1 pinnumber=2 T 1800 450 5 8 0 1 0 2 1 pinseq=2 T 1650 500 5 8 0 1 0 8 1 pintype=in } P 2000 800 1700 800 1 0 0 { T 1650 800 9 8 1 1 0 6 1 pinlabel=Vcc T 1800 850 5 8 1 1 0 0 1 pinnumber=3 T 1800 750 5 8 0 1 0 2 1 pinseq=3 T 1650 800 5 8 0 1 0 8 1 pintype=in } P 2000 1100 1700 1100 1 0 0 { T 1650 1100 9 8 1 1 0 6 1 pinlabel=VS T 1800 1150 5 8 1 1 0 0 1 pinnumber=5 T 1800 1050 5 8 0 1 0 2 1 pinseq=5 T 1650 1100 5 8 0 1 0 8 1 pintype=in } P 2000 1400 1700 1400 1 0 0 { T 1650 1400 9 8 1 1 0 6 1 pinlabel=VB T 1800 1450 5 8 1 1 0 0 1 pinnumber=6 T 1800 1350 5 8 0 1 0 2 1 pinseq=6 T 1650 1400 5 8 0 1 0 8 1 pintype=in } P 2000 1700 1700 1700 1 0 0 { T 1650 1700 9 8 1 1 0 6 1 pinlabel=HO T 1800 1750 5 8 1 1 0 0 1 pinnumber=7 T 1800 1650 5 8 0 1 0 2 1 pinseq=7 T 1650 1700 5 8 0 1 0 8 1 pintype=out } T 300 2750 8 10 0 0 0 0 1 numslots=0 T 300 2550 8 10 0 0 0 0 1 description=High and Low Side, Half Bridge Mosfet Gate Driver T 300 2350 8 10 0 0 0 0 1 device=IR2110 T 300 2150 8 10 0 0 0 0 1 footprint=DIP14 T 1500 2000 8 10 1 1 0 0 1 refdes=U? T 300 1950 9 10 1 0 0 0 1 IR2110 T 300 2950 8 10 0 0 0 0 1 documentation=http://www.irf.com/product-info/datasheets/data/ir2110.pdf geda-gaf-1.8.2/symbols/misc/tl072-1.sym0000664000175000017500000000172312204104272014260 00000000000000v 20031231 1 L 200 0 200 800 3 0 0 0 -1 -1 L 200 800 800 400 3 0 0 0 -1 -1 L 800 400 200 0 3 0 0 0 -1 -1 T 675 600 5 10 0 0 0 0 1 device=TL072 T 700 1200 5 10 0 0 0 0 1 numslots=2 T 675 1050 5 10 0 0 0 0 1 slotdef=1:1,2,3,4,8 T 675 900 5 10 0 0 0 0 1 slotdef=2:7,6,5,4,8 T 675 750 5 10 0 0 0 0 1 slot=1 T 700 1350 5 10 0 0 0 0 1 footprint=DIP8 P 200 600 0 600 1 0 1 { T 50 625 5 8 1 1 0 0 1 pinnumber=3 T 50 625 5 8 0 0 0 0 1 pinseq=3 } P 200 200 0 200 1 0 1 { T 50 225 5 8 1 1 0 0 1 pinnumber=2 T 50 225 5 8 0 0 0 0 1 pinseq=2 } P 800 400 1000 400 1 0 1 { T 875 425 5 8 1 1 0 0 1 pinnumber=1 T 875 425 5 8 0 0 0 0 1 pinseq=1 } P 500 200 500 0 1 0 1 { T 525 50 5 8 1 1 0 0 1 pinnumber=4 T 525 50 5 8 0 0 0 0 1 pinseq=4 } P 500 600 500 800 1 0 1 { T 525 650 5 8 1 1 0 0 1 pinnumber=8 T 525 650 5 8 0 0 0 0 1 pinseq=5 } L 250 600 350 600 3 0 0 0 -1 -1 L 300 650 300 550 3 0 0 0 -1 -1 L 250 200 350 200 3 0 0 0 -1 -1 T 225 350 9 8 1 0 0 0 1 TL072 T 200 900 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/misc/2phase-stepper-1.sym0000664000175000017500000000254612204104272016256 00000000000000v 20031231 1 T 200 1800 5 10 0 0 0 0 1 device=2PHASE-STEPPER-4LEADS P 300 300 300 0 1 0 1 { T 150 100 5 8 1 1 0 0 1 pinnumber=3 T 150 100 5 8 0 0 0 0 1 pinseq=3 } P 500 300 500 0 1 0 1 { T 550 100 5 8 1 1 0 0 1 pinnumber=4 T 550 100 5 8 0 0 0 0 1 pinseq=4 } P 1100 300 1100 0 1 0 1 { T 1000 100 5 8 1 1 0 0 1 pinnumber=1 T 1000 100 5 8 0 0 0 0 1 pinseq=1 } P 1300 300 1300 0 1 0 1 { T 1350 100 5 8 1 1 0 0 1 pinnumber=2 T 1350 100 5 8 0 0 0 0 1 pinseq=2 } B 0 300 1800 1200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 1800 1600 1900 1600 3 0 0 0 -1 -1 L 1800 1600 1800 1500 3 0 0 0 -1 -1 L 1800 300 1800 200 3 0 0 0 -1 -1 L 1800 200 1900 200 3 0 0 0 -1 -1 L 1900 200 1900 1600 3 0 0 0 -1 -1 L 2200 850 1900 850 3 0 0 0 -1 -1 L 2200 850 2200 950 3 0 0 0 -1 -1 L 2200 950 1900 950 3 0 0 0 -1 -1 A 700 1161 100 225 225 3 0 0 0 -1 -1 A 700 1020 100 225 270 3 0 0 0 -1 -1 A 700 879 100 225 270 3 0 0 0 -1 -1 A 700 738 100 270 225 3 0 0 0 -1 -1 L 700 1261 300 1261 3 0 0 0 -1 -1 L 300 1261 300 300 3 0 0 0 -1 -1 L 700 638 500 638 3 0 0 0 -1 -1 L 500 300 500 638 3 0 0 0 -1 -1 A 1500 1161 100 225 225 3 0 0 0 -1 -1 A 1500 1020 100 225 270 3 0 0 0 -1 -1 A 1500 879 100 225 270 3 0 0 0 -1 -1 A 1500 738 100 270 225 3 0 0 0 -1 -1 L 1500 1261 1100 1261 3 0 0 0 -1 -1 L 1100 1261 1100 300 3 0 0 0 -1 -1 L 1500 638 1300 638 3 0 0 0 -1 -1 L 1300 300 1300 638 3 0 0 0 -1 -1 T 0 1600 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/misc/osc-3.sym0000664000175000017500000000155712204104272014203 00000000000000v 20041228 1 B 0 0 900 600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 500 700 9 10 1 1 0 0 1 device=OSC T 500 900 8 10 1 1 0 0 1 refdes=U? T 1000 1400 8 10 0 0 0 0 1 footprint=OSC14 T 1000 1600 8 10 0 0 0 0 1 description=Generic Oscillator Can T 1000 1200 8 10 0 0 0 0 1 numslots=0 P 1200 100 900 100 1 0 0 { T 950 150 5 10 1 1 0 0 1 pinnumber=3 T 950 -150 5 10 0 0 0 0 1 pinseq=3 T 950 -50 5 10 0 0 0 0 1 pintype=out T 575 50 5 8 1 1 0 0 1 pinlabel=OUT } T 182 50 3 10 0 1 0 0 1 net=GND:2 P 100 900 100 600 1 0 0 { T 275 775 5 10 1 1 180 0 1 pinnumber=4 T 350 650 5 10 0 0 90 0 1 pinseq=4 T 250 650 5 10 0 0 90 0 1 pintype=pwr T 50 450 5 8 1 1 0 0 1 pinlabel=Vcc } L 75 175 225 175 3 0 0 0 -1 -1 L 225 175 225 400 3 0 0 0 -1 -1 L 225 400 400 400 3 0 0 0 -1 -1 L 400 400 400 175 3 0 0 0 -1 -1 L 400 175 575 175 3 0 0 0 -1 -1 L 575 175 575 400 3 0 0 0 -1 -1 L 575 400 725 400 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/misc/arfx1229-1.sym0000664000175000017500000000175212204104272014670 00000000000000v 20031231 1 T -850 650 5 10 0 0 0 0 1 device=BNC P 400 1100 700 1100 1 0 0 { T 550 1150 5 8 1 1 0 0 1 pinnumber=1 T 550 1150 5 8 0 0 0 0 1 pinseq=1 } T 100 1300 8 10 1 1 0 0 1 refdes=J? T -1200 0 8 10 0 1 0 0 1 class=IO T -1200 0 8 10 0 1 0 0 1 pins=2 V 400 1100 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 400 800 700 800 1 0 0 { T 550 850 5 8 1 1 0 0 1 pinnumber=2 T 550 850 5 8 0 0 0 0 1 pinseq=2 } P 400 600 700 600 1 0 0 { T 550 650 5 8 1 1 0 0 1 pinnumber=3 T 550 650 5 8 0 0 0 0 1 pinseq=3 } P 400 400 700 400 1 0 0 { T 550 450 5 8 1 1 0 0 1 pinnumber=4 T 550 450 5 8 0 0 0 0 1 pinseq=4 } P 400 200 700 200 1 0 0 { T 550 250 5 8 1 1 0 0 1 pinnumber=5 T 550 250 5 8 0 0 0 0 1 pinseq=5 } L 400 1100 100 1100 3 0 0 0 -1 -1 L 0 1200 100 1100 3 0 0 0 -1 -1 L 100 1100 0 1000 3 0 0 0 -1 -1 L 400 1000 400 200 3 0 0 0 -1 -1 L 400 200 100 200 3 0 0 0 -1 -1 L 100 200 0 300 3 0 0 0 -1 -1 L 100 200 0 100 3 0 0 0 -1 -1 T 100 0 8 10 1 1 0 0 1 value=ARFX1229 T 100 1300 8 10 0 1 0 0 1 footprint=AMPHENOL_ARFX1229 geda-gaf-1.8.2/symbols/misc/ADG601-1.sym0000664000175000017500000000361212204104272014231 00000000000000v 20041228 1 P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=1 T 200 1050 5 8 0 1 0 8 1 pinseq=1 T 350 1100 9 8 1 1 0 0 1 pinlabel=D T 350 1100 5 8 0 1 0 2 1 pintype=tri } P 0 800 300 800 1 0 0 { T 200 850 5 8 1 1 0 6 1 pinnumber=2 T 200 750 5 8 0 1 0 8 1 pinseq=2 T 350 800 9 8 1 1 0 0 1 pinlabel=NC T 350 800 5 8 0 1 0 2 1 pintype=nc } P 0 500 300 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=3 T 200 450 5 8 0 1 0 8 1 pinseq=3 T 350 500 9 8 1 1 0 0 1 pinlabel=NC T 350 500 5 8 0 1 0 2 1 pintype=nc } P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=4 T 200 150 5 8 0 1 0 8 1 pinseq=4 T 350 200 9 8 1 1 0 0 1 pinlabel=Vdd T 350 200 5 8 0 1 0 2 1 pintype=pwr } P 1300 1100 1600 1100 1 0 1 { T 1400 1150 5 8 1 1 0 0 1 pinnumber=8 T 1400 1050 5 8 0 1 0 2 1 pinseq=8 T 1250 1100 9 8 1 1 0 6 1 pinlabel=S T 1250 1100 5 8 0 1 0 8 1 pintype=tri } P 1300 800 1600 800 1 0 1 { T 1400 850 5 8 1 1 0 0 1 pinnumber=7 T 1400 750 5 8 0 1 0 2 1 pinseq=7 T 1250 800 9 8 1 1 0 6 1 pinlabel=GND T 1250 800 5 8 0 1 0 8 1 pintype=pwr } P 1300 500 1600 500 1 0 1 { T 1400 550 5 8 1 1 0 0 1 pinnumber=6 T 1400 450 5 8 0 1 0 2 1 pinseq=6 T 1250 500 9 8 1 1 0 6 1 pinlabel=IN T 1250 500 5 8 0 1 0 8 1 pintype=in } P 1300 200 1600 200 1 0 1 { T 1400 250 5 8 1 1 0 0 1 pinnumber=5 T 1400 150 5 8 0 1 0 2 1 pinseq=5 T 1250 200 9 8 1 1 0 6 1 pinlabel=Vss T 1250 200 5 8 0 1 0 8 1 pintype=pwr } B 300 0 1000 1400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 1750 5 10 0 0 0 0 1 device=ADG601 T 300 1950 5 10 0 0 0 0 1 numslots=0 T 1300 1600 8 10 1 1 0 6 1 refdes=U? T 300 2150 5 10 0 0 0 0 1 footprint=MSOP8 T 300 2350 5 10 0 0 0 0 1 description= 2.2 CMOS ± 5 V/5V, SPST Switch T 300 2550 5 10 0 0 0 0 1 net=Vcc:4 T 300 2750 5 10 0 0 0 0 1 net=GND:7 T 300 1450 9 10 1 0 0 0 1 ADG601 T 300 2950 5 10 0 0 0 0 1 symversion=0.1 T 300 3150 5 10 0 0 0 0 1 documentation=http://www.analog.com/UploadedFiles/Data_Sheets/3597365479993ADG601_2_a.pdf geda-gaf-1.8.2/symbols/misc/HFA1100-1.sym0000664000175000017500000000136012204104272014305 00000000000000v 20031231 1 L 200 800 200 0 3 0 0 0 -1 -1 L 200 800 800 400 3 0 0 0 -1 -1 T 600 900 5 10 0 0 0 0 1 device=HFA1100 L 800 400 200 0 3 0 0 0 -1 -1 L 300 650 300 550 3 0 0 0 -1 -1 L 250 600 350 600 3 0 0 0 -1 -1 L 250 200 350 200 3 0 0 0 -1 -1 P 0 600 200 600 1 0 0 { T 100 650 5 8 1 1 0 6 1 pinnumber=3 T 100 650 5 8 0 0 0 6 1 pinseq=3 } P 0 200 200 200 1 0 0 { T 100 250 5 8 1 1 0 6 1 pinnumber=2 T 100 250 5 8 0 0 0 6 1 pinseq=2 } P 800 400 1000 400 1 0 1 { T 850 450 5 8 1 1 0 0 1 pinnumber=6 T 850 450 5 8 0 0 0 0 1 pinseq=6 } P 500 600 500 800 1 0 1 { T 400 700 5 8 1 1 0 0 1 pinnumber=7 T 400 700 5 8 0 0 0 0 1 pinseq=7 } P 500 200 500 0 1 0 1 { T 400 0 5 8 1 1 0 0 1 pinnumber=4 T 400 0 5 8 0 0 0 0 1 pinseq=4 } T 700 700 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/misc/ltp-757g-1.sym0000664000175000017500000005246712204104272014711 00000000000000v 20041228 1 T 2600 0 8 10 0 1 0 0 1 refdes=D? T 2900 1000 8 10 0 0 0 0 1 device=LTP-757-G T 2900 1200 8 10 0 0 0 0 1 footprint=DIP12 T 2900 800 8 10 0 0 0 0 1 numslots=0 P 0 0 200 0 1 0 0 { T 100 50 5 8 0 0 0 0 1 pinnumber=6 T 100 -150 5 8 0 0 0 0 1 pinseq=6 T 100 -150 5 9 0 0 0 0 1 pinlabel=row7 T 100 -150 5 8 0 0 0 0 1 pintype=in } P 0 700 200 700 1 0 0 { T 100 750 5 8 0 1 0 0 1 pinnumber=5 T 100 650 5 8 0 0 0 0 1 pinseq=5 T 100 650 5 9 0 0 0 0 1 pinlabel=row6 T 100 650 5 8 0 0 0 0 1 pintype=in } P 0 1400 200 1400 1 0 0 { T 100 1450 5 8 0 1 0 0 1 pinnumber=4 T 100 1250 5 8 0 0 0 0 1 pinseq=4 T 100 1250 5 9 0 0 0 0 1 pinlabel=row5 T 100 1250 5 8 0 0 0 0 1 pintype=in } P 0 2100 200 2100 1 0 0 { T 100 2150 5 8 0 1 0 0 1 pinnumber=9 T 100 1950 5 8 0 0 0 0 1 pinseq=9 T 100 1950 5 9 0 0 0 0 1 pinlabel=row4 T 100 1950 5 8 0 0 0 0 1 pintype=in } P 0 2800 200 2800 1 0 0 { T 100 2850 5 8 0 1 0 0 1 pinnumber=2 T 100 2650 5 8 0 0 0 0 1 pinseq=2 T 100 2650 5 9 0 0 0 0 1 pinlabel=row3 T 100 2650 5 8 0 0 0 0 1 pintype=in } P 0 3500 200 3500 1 0 0 { T 100 3550 5 8 0 1 0 0 1 pinnumber=11 T 100 3350 5 8 0 0 0 0 1 pinseq=11 T 100 3350 5 9 0 0 0 0 1 pinlabel=row2 T 100 3350 5 8 0 0 0 0 1 pintype=in } P 0 4200 200 4200 1 0 0 { T 100 4250 5 8 0 1 0 0 1 pinnumber=12 T 100 4050 5 8 0 0 0 0 1 pinseq=12 T 100 4050 5 9 0 0 0 0 1 pinlabel=row1 T 100 4050 5 8 0 0 0 0 1 pintype=in } P 600 5000 600 4800 1 0 0 { T 600 4950 5 8 0 1 180 0 1 pinnumber=1 T 600 5150 5 8 0 0 180 0 1 pinseq=1 T 600 5150 5 9 0 0 180 0 1 pinlabel=col1 T 600 5150 5 8 0 0 180 0 1 pintype=in } P 1100 5000 1100 4800 1 0 0 { T 1100 4950 5 8 0 1 180 0 1 pinnumber=3 T 1100 5150 5 8 0 0 180 0 1 pinseq=3 T 1100 5150 5 9 0 0 180 0 1 pinlabel=col2 T 1100 5150 5 8 0 0 180 0 1 pintype=in } P 1600 5000 1600 4800 1 0 0 { T 1600 4950 5 8 0 1 180 0 1 pinnumber=10 T 1600 5150 5 8 0 0 180 0 1 pinseq=10 T 1600 5150 5 9 0 0 180 0 1 pinlabel=col3 T 1600 5150 5 8 0 0 180 0 1 pintype=in } P 2100 5000 2100 4800 1 0 0 { T 2100 4950 5 8 0 1 180 0 1 pinnumber=7 T 2100 5150 5 8 0 0 180 0 1 pinseq=7 T 2100 5150 5 9 0 0 180 0 1 pinlabel=col4 T 2100 5150 5 8 0 0 180 0 1 pintype=in } P 2600 5000 2600 4800 1 0 0 { T 2600 4950 5 8 0 1 180 0 1 pinnumber=8 T 2600 5150 5 8 0 0 180 0 1 pinseq=8 T 2600 5150 5 9 0 0 180 0 1 pinlabel=col5 T 2600 5150 5 8 0 0 180 0 1 pintype=in } L 300 200 400 300 3 0 0 0 -1 -1 L 400 300 500 200 3 0 0 0 -1 -1 L 300 200 500 200 3 0 0 0 -1 -1 L 300 300 500 300 3 0 0 0 -1 -1 L 400 300 400 500 3 0 0 0 -1 -1 L 400 200 400 0 3 0 0 0 -1 -1 L 260 230 160 330 3 0 0 0 -1 -1 L 160 330 190 280 3 0 0 0 -1 -1 L 160 330 210 300 3 0 0 0 -1 -1 L 260 300 160 400 3 0 0 0 -1 -1 L 160 400 190 350 3 0 0 0 -1 -1 L 160 400 210 370 3 0 0 0 -1 -1 L 800 200 900 300 3 0 0 0 -1 -1 L 900 300 1000 200 3 0 0 0 -1 -1 L 800 200 1000 200 3 0 0 0 -1 -1 L 800 300 1000 300 3 0 0 0 -1 -1 L 900 300 900 500 3 0 0 0 -1 -1 L 900 200 900 0 3 0 0 0 -1 -1 L 760 230 660 330 3 0 0 0 -1 -1 L 660 330 690 280 3 0 0 0 -1 -1 L 660 330 710 300 3 0 0 0 -1 -1 L 760 300 660 400 3 0 0 0 -1 -1 L 660 400 690 350 3 0 0 0 -1 -1 L 660 400 710 370 3 0 0 0 -1 -1 L 1300 200 1400 300 3 0 0 0 -1 -1 L 1400 300 1500 200 3 0 0 0 -1 -1 L 1300 200 1500 200 3 0 0 0 -1 -1 L 1300 300 1500 300 3 0 0 0 -1 -1 L 1400 300 1400 500 3 0 0 0 -1 -1 L 1400 200 1400 0 3 0 0 0 -1 -1 L 1260 230 1160 330 3 0 0 0 -1 -1 L 1160 330 1190 280 3 0 0 0 -1 -1 L 1160 330 1210 300 3 0 0 0 -1 -1 L 1260 300 1160 400 3 0 0 0 -1 -1 L 1160 400 1190 350 3 0 0 0 -1 -1 L 1160 400 1210 370 3 0 0 0 -1 -1 L 1800 200 1900 300 3 0 0 0 -1 -1 L 1900 300 2000 200 3 0 0 0 -1 -1 L 1800 200 2000 200 3 0 0 0 -1 -1 L 1800 300 2000 300 3 0 0 0 -1 -1 L 1900 300 1900 500 3 0 0 0 -1 -1 L 1900 200 1900 0 3 0 0 0 -1 -1 L 1760 230 1660 330 3 0 0 0 -1 -1 L 1660 330 1690 280 3 0 0 0 -1 -1 L 1660 330 1710 300 3 0 0 0 -1 -1 L 1760 300 1660 400 3 0 0 0 -1 -1 L 1660 400 1690 350 3 0 0 0 -1 -1 L 1660 400 1710 370 3 0 0 0 -1 -1 L 2300 200 2400 300 3 0 0 0 -1 -1 L 2400 300 2500 200 3 0 0 0 -1 -1 L 2300 200 2500 200 3 0 0 0 -1 -1 L 2300 300 2500 300 3 0 0 0 -1 -1 L 2400 300 2400 500 3 0 0 0 -1 -1 L 2400 200 2400 0 3 0 0 0 -1 -1 L 2260 230 2160 330 3 0 0 0 -1 -1 L 2160 330 2190 280 3 0 0 0 -1 -1 L 2160 330 2210 300 3 0 0 0 -1 -1 L 2260 300 2160 400 3 0 0 0 -1 -1 L 2160 400 2190 350 3 0 0 0 -1 -1 L 2160 400 2210 370 3 0 0 0 -1 -1 L 300 900 400 1000 3 0 0 0 -1 -1 L 400 1000 500 900 3 0 0 0 -1 -1 L 300 900 500 900 3 0 0 0 -1 -1 L 300 1000 500 1000 3 0 0 0 -1 -1 L 400 1000 400 1200 3 0 0 0 -1 -1 L 400 900 400 700 3 0 0 0 -1 -1 L 260 930 160 1030 3 0 0 0 -1 -1 L 160 1030 190 980 3 0 0 0 -1 -1 L 160 1030 210 1000 3 0 0 0 -1 -1 L 260 1000 160 1100 3 0 0 0 -1 -1 L 160 1100 190 1050 3 0 0 0 -1 -1 L 160 1100 210 1070 3 0 0 0 -1 -1 L 800 900 900 1000 3 0 0 0 -1 -1 L 900 1000 1000 900 3 0 0 0 -1 -1 L 800 900 1000 900 3 0 0 0 -1 -1 L 800 1000 1000 1000 3 0 0 0 -1 -1 L 900 1000 900 1200 3 0 0 0 -1 -1 L 900 900 900 700 3 0 0 0 -1 -1 L 760 930 660 1030 3 0 0 0 -1 -1 L 660 1030 690 980 3 0 0 0 -1 -1 L 660 1030 710 1000 3 0 0 0 -1 -1 L 760 1000 660 1100 3 0 0 0 -1 -1 L 660 1100 690 1050 3 0 0 0 -1 -1 L 660 1100 710 1070 3 0 0 0 -1 -1 L 1300 900 1400 1000 3 0 0 0 -1 -1 L 1400 1000 1500 900 3 0 0 0 -1 -1 L 1300 900 1500 900 3 0 0 0 -1 -1 L 1300 1000 1500 1000 3 0 0 0 -1 -1 L 1400 1000 1400 1200 3 0 0 0 -1 -1 L 1400 900 1400 700 3 0 0 0 -1 -1 L 1260 930 1160 1030 3 0 0 0 -1 -1 L 1160 1030 1190 980 3 0 0 0 -1 -1 L 1160 1030 1210 1000 3 0 0 0 -1 -1 L 1260 1000 1160 1100 3 0 0 0 -1 -1 L 1160 1100 1190 1050 3 0 0 0 -1 -1 L 1160 1100 1210 1070 3 0 0 0 -1 -1 L 1800 900 1900 1000 3 0 0 0 -1 -1 L 1900 1000 2000 900 3 0 0 0 -1 -1 L 1800 900 2000 900 3 0 0 0 -1 -1 L 1800 1000 2000 1000 3 0 0 0 -1 -1 L 1900 1000 1900 1200 3 0 0 0 -1 -1 L 1900 900 1900 700 3 0 0 0 -1 -1 L 1760 930 1660 1030 3 0 0 0 -1 -1 L 1660 1030 1690 980 3 0 0 0 -1 -1 L 1660 1030 1710 1000 3 0 0 0 -1 -1 L 1760 1000 1660 1100 3 0 0 0 -1 -1 L 1660 1100 1690 1050 3 0 0 0 -1 -1 L 1660 1100 1710 1070 3 0 0 0 -1 -1 L 2300 900 2400 1000 3 0 0 0 -1 -1 L 2400 1000 2500 900 3 0 0 0 -1 -1 L 2300 900 2500 900 3 0 0 0 -1 -1 L 2300 1000 2500 1000 3 0 0 0 -1 -1 L 2400 1000 2400 1200 3 0 0 0 -1 -1 L 2400 900 2400 700 3 0 0 0 -1 -1 L 2260 930 2160 1030 3 0 0 0 -1 -1 L 2160 1030 2190 980 3 0 0 0 -1 -1 L 2160 1030 2210 1000 3 0 0 0 -1 -1 L 2260 1000 2160 1100 3 0 0 0 -1 -1 L 2160 1100 2190 1050 3 0 0 0 -1 -1 L 2160 1100 2210 1070 3 0 0 0 -1 -1 L 300 1600 400 1700 3 0 0 0 -1 -1 L 400 1700 500 1600 3 0 0 0 -1 -1 L 300 1600 500 1600 3 0 0 0 -1 -1 L 300 1700 500 1700 3 0 0 0 -1 -1 L 400 1700 400 1900 3 0 0 0 -1 -1 L 400 1600 400 1400 3 0 0 0 -1 -1 L 260 1630 160 1730 3 0 0 0 -1 -1 L 160 1730 190 1680 3 0 0 0 -1 -1 L 160 1730 210 1700 3 0 0 0 -1 -1 L 260 1700 160 1800 3 0 0 0 -1 -1 L 160 1800 190 1750 3 0 0 0 -1 -1 L 160 1800 210 1770 3 0 0 0 -1 -1 L 800 1600 900 1700 3 0 0 0 -1 -1 L 900 1700 1000 1600 3 0 0 0 -1 -1 L 800 1600 1000 1600 3 0 0 0 -1 -1 L 800 1700 1000 1700 3 0 0 0 -1 -1 L 900 1700 900 1900 3 0 0 0 -1 -1 L 900 1600 900 1400 3 0 0 0 -1 -1 L 760 1630 660 1730 3 0 0 0 -1 -1 L 660 1730 690 1680 3 0 0 0 -1 -1 L 660 1730 710 1700 3 0 0 0 -1 -1 L 760 1700 660 1800 3 0 0 0 -1 -1 L 660 1800 690 1750 3 0 0 0 -1 -1 L 660 1800 710 1770 3 0 0 0 -1 -1 L 1300 1600 1400 1700 3 0 0 0 -1 -1 L 1400 1700 1500 1600 3 0 0 0 -1 -1 L 1300 1600 1500 1600 3 0 0 0 -1 -1 L 1300 1700 1500 1700 3 0 0 0 -1 -1 L 1400 1700 1400 1900 3 0 0 0 -1 -1 L 1400 1600 1400 1400 3 0 0 0 -1 -1 L 1260 1630 1160 1730 3 0 0 0 -1 -1 L 1160 1730 1190 1680 3 0 0 0 -1 -1 L 1160 1730 1210 1700 3 0 0 0 -1 -1 L 1260 1700 1160 1800 3 0 0 0 -1 -1 L 1160 1800 1190 1750 3 0 0 0 -1 -1 L 1160 1800 1210 1770 3 0 0 0 -1 -1 L 1800 1600 1900 1700 3 0 0 0 -1 -1 L 1900 1700 2000 1600 3 0 0 0 -1 -1 L 1800 1600 2000 1600 3 0 0 0 -1 -1 L 1800 1700 2000 1700 3 0 0 0 -1 -1 L 1900 1700 1900 1900 3 0 0 0 -1 -1 L 1900 1600 1900 1400 3 0 0 0 -1 -1 L 1760 1630 1660 1730 3 0 0 0 -1 -1 L 1660 1730 1690 1680 3 0 0 0 -1 -1 L 1660 1730 1710 1700 3 0 0 0 -1 -1 L 1760 1700 1660 1800 3 0 0 0 -1 -1 L 1660 1800 1690 1750 3 0 0 0 -1 -1 L 1660 1800 1710 1770 3 0 0 0 -1 -1 L 2300 1600 2400 1700 3 0 0 0 -1 -1 L 2400 1700 2500 1600 3 0 0 0 -1 -1 L 2300 1600 2500 1600 3 0 0 0 -1 -1 L 2300 1700 2500 1700 3 0 0 0 -1 -1 L 2400 1700 2400 1900 3 0 0 0 -1 -1 L 2400 1600 2400 1400 3 0 0 0 -1 -1 L 2260 1630 2160 1730 3 0 0 0 -1 -1 L 2160 1730 2190 1680 3 0 0 0 -1 -1 L 2160 1730 2210 1700 3 0 0 0 -1 -1 L 2260 1700 2160 1800 3 0 0 0 -1 -1 L 2160 1800 2190 1750 3 0 0 0 -1 -1 L 2160 1800 2210 1770 3 0 0 0 -1 -1 L 300 2300 400 2400 3 0 0 0 -1 -1 L 400 2400 500 2300 3 0 0 0 -1 -1 L 300 2300 500 2300 3 0 0 0 -1 -1 L 300 2400 500 2400 3 0 0 0 -1 -1 L 400 2400 400 2600 3 0 0 0 -1 -1 L 400 2300 400 2100 3 0 0 0 -1 -1 L 260 2330 160 2430 3 0 0 0 -1 -1 L 160 2430 190 2380 3 0 0 0 -1 -1 L 160 2430 210 2400 3 0 0 0 -1 -1 L 260 2400 160 2500 3 0 0 0 -1 -1 L 160 2500 190 2450 3 0 0 0 -1 -1 L 160 2500 210 2470 3 0 0 0 -1 -1 L 800 2300 900 2400 3 0 0 0 -1 -1 L 900 2400 1000 2300 3 0 0 0 -1 -1 L 800 2300 1000 2300 3 0 0 0 -1 -1 L 800 2400 1000 2400 3 0 0 0 -1 -1 L 900 2400 900 2600 3 0 0 0 -1 -1 L 900 2300 900 2100 3 0 0 0 -1 -1 L 760 2330 660 2430 3 0 0 0 -1 -1 L 660 2430 690 2380 3 0 0 0 -1 -1 L 660 2430 710 2400 3 0 0 0 -1 -1 L 760 2400 660 2500 3 0 0 0 -1 -1 L 660 2500 690 2450 3 0 0 0 -1 -1 L 660 2500 710 2470 3 0 0 0 -1 -1 L 1300 2300 1400 2400 3 0 0 0 -1 -1 L 1400 2400 1500 2300 3 0 0 0 -1 -1 L 1300 2300 1500 2300 3 0 0 0 -1 -1 L 1300 2400 1500 2400 3 0 0 0 -1 -1 L 1400 2400 1400 2600 3 0 0 0 -1 -1 L 1400 2300 1400 2100 3 0 0 0 -1 -1 L 1260 2330 1160 2430 3 0 0 0 -1 -1 L 1160 2430 1190 2380 3 0 0 0 -1 -1 L 1160 2430 1210 2400 3 0 0 0 -1 -1 L 1260 2400 1160 2500 3 0 0 0 -1 -1 L 1160 2500 1190 2450 3 0 0 0 -1 -1 L 1160 2500 1210 2470 3 0 0 0 -1 -1 L 1800 2300 1900 2400 3 0 0 0 -1 -1 L 1900 2400 2000 2300 3 0 0 0 -1 -1 L 1800 2300 2000 2300 3 0 0 0 -1 -1 L 1800 2400 2000 2400 3 0 0 0 -1 -1 L 1900 2400 1900 2600 3 0 0 0 -1 -1 L 1900 2300 1900 2100 3 0 0 0 -1 -1 L 1760 2330 1660 2430 3 0 0 0 -1 -1 L 1660 2430 1690 2380 3 0 0 0 -1 -1 L 1660 2430 1710 2400 3 0 0 0 -1 -1 L 1760 2400 1660 2500 3 0 0 0 -1 -1 L 1660 2500 1690 2450 3 0 0 0 -1 -1 L 1660 2500 1710 2470 3 0 0 0 -1 -1 L 2300 2300 2400 2400 3 0 0 0 -1 -1 L 2400 2400 2500 2300 3 0 0 0 -1 -1 L 2300 2300 2500 2300 3 0 0 0 -1 -1 L 2300 2400 2500 2400 3 0 0 0 -1 -1 L 2400 2400 2400 2600 3 0 0 0 -1 -1 L 2400 2300 2400 2100 3 0 0 0 -1 -1 L 2260 2330 2160 2430 3 0 0 0 -1 -1 L 2160 2430 2190 2380 3 0 0 0 -1 -1 L 2160 2430 2210 2400 3 0 0 0 -1 -1 L 2260 2400 2160 2500 3 0 0 0 -1 -1 L 2160 2500 2190 2450 3 0 0 0 -1 -1 L 2160 2500 2210 2470 3 0 0 0 -1 -1 L 300 3000 400 3100 3 0 0 0 -1 -1 L 400 3100 500 3000 3 0 0 0 -1 -1 L 300 3000 500 3000 3 0 0 0 -1 -1 L 300 3100 500 3100 3 0 0 0 -1 -1 L 400 3100 400 3300 3 0 0 0 -1 -1 L 400 3000 400 2800 3 0 0 0 -1 -1 L 260 3030 160 3130 3 0 0 0 -1 -1 L 160 3130 190 3080 3 0 0 0 -1 -1 L 160 3130 210 3100 3 0 0 0 -1 -1 L 260 3100 160 3200 3 0 0 0 -1 -1 L 160 3200 190 3150 3 0 0 0 -1 -1 L 160 3200 210 3170 3 0 0 0 -1 -1 L 800 3000 900 3100 3 0 0 0 -1 -1 L 900 3100 1000 3000 3 0 0 0 -1 -1 L 800 3000 1000 3000 3 0 0 0 -1 -1 L 800 3100 1000 3100 3 0 0 0 -1 -1 L 900 3100 900 3300 3 0 0 0 -1 -1 L 900 3000 900 2800 3 0 0 0 -1 -1 L 760 3030 660 3130 3 0 0 0 -1 -1 L 660 3130 690 3080 3 0 0 0 -1 -1 L 660 3130 710 3100 3 0 0 0 -1 -1 L 760 3100 660 3200 3 0 0 0 -1 -1 L 660 3200 690 3150 3 0 0 0 -1 -1 L 660 3200 710 3170 3 0 0 0 -1 -1 L 1300 3000 1400 3100 3 0 0 0 -1 -1 L 1400 3100 1500 3000 3 0 0 0 -1 -1 L 1300 3000 1500 3000 3 0 0 0 -1 -1 L 1300 3100 1500 3100 3 0 0 0 -1 -1 L 1400 3100 1400 3300 3 0 0 0 -1 -1 L 1400 3000 1400 2800 3 0 0 0 -1 -1 L 1260 3030 1160 3130 3 0 0 0 -1 -1 L 1160 3130 1190 3080 3 0 0 0 -1 -1 L 1160 3130 1210 3100 3 0 0 0 -1 -1 L 1260 3100 1160 3200 3 0 0 0 -1 -1 L 1160 3200 1190 3150 3 0 0 0 -1 -1 L 1160 3200 1210 3170 3 0 0 0 -1 -1 L 1800 3000 1900 3100 3 0 0 0 -1 -1 L 1900 3100 2000 3000 3 0 0 0 -1 -1 L 1800 3000 2000 3000 3 0 0 0 -1 -1 L 1800 3100 2000 3100 3 0 0 0 -1 -1 L 1900 3100 1900 3300 3 0 0 0 -1 -1 L 1900 3000 1900 2800 3 0 0 0 -1 -1 L 1760 3030 1660 3130 3 0 0 0 -1 -1 L 1660 3130 1690 3080 3 0 0 0 -1 -1 L 1660 3130 1710 3100 3 0 0 0 -1 -1 L 1760 3100 1660 3200 3 0 0 0 -1 -1 L 1660 3200 1690 3150 3 0 0 0 -1 -1 L 1660 3200 1710 3170 3 0 0 0 -1 -1 L 2300 3000 2400 3100 3 0 0 0 -1 -1 L 2400 3100 2500 3000 3 0 0 0 -1 -1 L 2300 3000 2500 3000 3 0 0 0 -1 -1 L 2300 3100 2500 3100 3 0 0 0 -1 -1 L 2400 3100 2400 3300 3 0 0 0 -1 -1 L 2400 3000 2400 2800 3 0 0 0 -1 -1 L 2260 3030 2160 3130 3 0 0 0 -1 -1 L 2160 3130 2190 3080 3 0 0 0 -1 -1 L 2160 3130 2210 3100 3 0 0 0 -1 -1 L 2260 3100 2160 3200 3 0 0 0 -1 -1 L 2160 3200 2190 3150 3 0 0 0 -1 -1 L 2160 3200 2210 3170 3 0 0 0 -1 -1 L 300 3700 400 3800 3 0 0 0 -1 -1 L 400 3800 500 3700 3 0 0 0 -1 -1 L 300 3700 500 3700 3 0 0 0 -1 -1 L 300 3800 500 3800 3 0 0 0 -1 -1 L 400 3800 400 4000 3 0 0 0 -1 -1 L 400 3700 400 3500 3 0 0 0 -1 -1 L 260 3730 160 3830 3 0 0 0 -1 -1 L 160 3830 190 3780 3 0 0 0 -1 -1 L 160 3830 210 3800 3 0 0 0 -1 -1 L 260 3800 160 3900 3 0 0 0 -1 -1 L 160 3900 190 3850 3 0 0 0 -1 -1 L 160 3900 210 3870 3 0 0 0 -1 -1 L 800 3700 900 3800 3 0 0 0 -1 -1 L 900 3800 1000 3700 3 0 0 0 -1 -1 L 800 3700 1000 3700 3 0 0 0 -1 -1 L 800 3800 1000 3800 3 0 0 0 -1 -1 L 900 3800 900 4000 3 0 0 0 -1 -1 L 900 3700 900 3500 3 0 0 0 -1 -1 L 760 3730 660 3830 3 0 0 0 -1 -1 L 660 3830 690 3780 3 0 0 0 -1 -1 L 660 3830 710 3800 3 0 0 0 -1 -1 L 760 3800 660 3900 3 0 0 0 -1 -1 L 660 3900 690 3850 3 0 0 0 -1 -1 L 660 3900 710 3870 3 0 0 0 -1 -1 L 1300 3700 1400 3800 3 0 0 0 -1 -1 L 1400 3800 1500 3700 3 0 0 0 -1 -1 L 1300 3700 1500 3700 3 0 0 0 -1 -1 L 1300 3800 1500 3800 3 0 0 0 -1 -1 L 1400 3800 1400 4000 3 0 0 0 -1 -1 L 1400 3700 1400 3500 3 0 0 0 -1 -1 L 1260 3730 1160 3830 3 0 0 0 -1 -1 L 1160 3830 1190 3780 3 0 0 0 -1 -1 L 1160 3830 1210 3800 3 0 0 0 -1 -1 L 1260 3800 1160 3900 3 0 0 0 -1 -1 L 1160 3900 1190 3850 3 0 0 0 -1 -1 L 1160 3900 1210 3870 3 0 0 0 -1 -1 L 1800 3700 1900 3800 3 0 0 0 -1 -1 L 1900 3800 2000 3700 3 0 0 0 -1 -1 L 1800 3700 2000 3700 3 0 0 0 -1 -1 L 1800 3800 2000 3800 3 0 0 0 -1 -1 L 1900 3800 1900 4000 3 0 0 0 -1 -1 L 1900 3700 1900 3500 3 0 0 0 -1 -1 L 1760 3730 1660 3830 3 0 0 0 -1 -1 L 1660 3830 1690 3780 3 0 0 0 -1 -1 L 1660 3830 1710 3800 3 0 0 0 -1 -1 L 1760 3800 1660 3900 3 0 0 0 -1 -1 L 1660 3900 1690 3850 3 0 0 0 -1 -1 L 1660 3900 1710 3870 3 0 0 0 -1 -1 L 2300 3700 2400 3800 3 0 0 0 -1 -1 L 2400 3800 2500 3700 3 0 0 0 -1 -1 L 2300 3700 2500 3700 3 0 0 0 -1 -1 L 2300 3800 2500 3800 3 0 0 0 -1 -1 L 2400 3800 2400 4000 3 0 0 0 -1 -1 L 2400 3700 2400 3500 3 0 0 0 -1 -1 L 2260 3730 2160 3830 3 0 0 0 -1 -1 L 2160 3830 2190 3780 3 0 0 0 -1 -1 L 2160 3830 2210 3800 3 0 0 0 -1 -1 L 2260 3800 2160 3900 3 0 0 0 -1 -1 L 2160 3900 2190 3850 3 0 0 0 -1 -1 L 2160 3900 2210 3870 3 0 0 0 -1 -1 L 300 4400 400 4500 3 0 0 0 -1 -1 L 400 4500 500 4400 3 0 0 0 -1 -1 L 300 4400 500 4400 3 0 0 0 -1 -1 L 300 4500 500 4500 3 0 0 0 -1 -1 L 400 4500 400 4700 3 0 0 0 -1 -1 L 400 4400 400 4200 3 0 0 0 -1 -1 L 260 4430 160 4530 3 0 0 0 -1 -1 L 160 4530 190 4480 3 0 0 0 -1 -1 L 160 4530 210 4500 3 0 0 0 -1 -1 L 260 4500 160 4600 3 0 0 0 -1 -1 L 160 4600 190 4550 3 0 0 0 -1 -1 L 160 4600 210 4570 3 0 0 0 -1 -1 L 800 4400 900 4500 3 0 0 0 -1 -1 L 900 4500 1000 4400 3 0 0 0 -1 -1 L 800 4400 1000 4400 3 0 0 0 -1 -1 L 800 4500 1000 4500 3 0 0 0 -1 -1 L 900 4500 900 4700 3 0 0 0 -1 -1 L 900 4400 900 4200 3 0 0 0 -1 -1 L 760 4430 660 4530 3 0 0 0 -1 -1 L 660 4530 690 4480 3 0 0 0 -1 -1 L 660 4530 710 4500 3 0 0 0 -1 -1 L 760 4500 660 4600 3 0 0 0 -1 -1 L 660 4600 690 4550 3 0 0 0 -1 -1 L 660 4600 710 4570 3 0 0 0 -1 -1 L 1300 4400 1400 4500 3 0 0 0 -1 -1 L 1400 4500 1500 4400 3 0 0 0 -1 -1 L 1300 4400 1500 4400 3 0 0 0 -1 -1 L 1300 4500 1500 4500 3 0 0 0 -1 -1 L 1400 4500 1400 4700 3 0 0 0 -1 -1 L 1400 4400 1400 4200 3 0 0 0 -1 -1 L 1260 4430 1160 4530 3 0 0 0 -1 -1 L 1160 4530 1190 4480 3 0 0 0 -1 -1 L 1160 4530 1210 4500 3 0 0 0 -1 -1 L 1260 4500 1160 4600 3 0 0 0 -1 -1 L 1160 4600 1190 4550 3 0 0 0 -1 -1 L 1160 4600 1210 4570 3 0 0 0 -1 -1 L 1800 4400 1900 4500 3 0 0 0 -1 -1 L 1900 4500 2000 4400 3 0 0 0 -1 -1 L 1800 4400 2000 4400 3 0 0 0 -1 -1 L 1800 4500 2000 4500 3 0 0 0 -1 -1 L 1900 4500 1900 4700 3 0 0 0 -1 -1 L 1900 4400 1900 4200 3 0 0 0 -1 -1 L 1760 4430 1660 4530 3 0 0 0 -1 -1 L 1660 4530 1690 4480 3 0 0 0 -1 -1 L 1660 4530 1710 4500 3 0 0 0 -1 -1 L 1760 4500 1660 4600 3 0 0 0 -1 -1 L 1660 4600 1690 4550 3 0 0 0 -1 -1 L 1660 4600 1710 4570 3 0 0 0 -1 -1 L 2300 4400 2400 4500 3 0 0 0 -1 -1 L 2400 4500 2500 4400 3 0 0 0 -1 -1 L 2300 4400 2500 4400 3 0 0 0 -1 -1 L 2300 4500 2500 4500 3 0 0 0 -1 -1 L 2400 4500 2400 4700 3 0 0 0 -1 -1 L 2400 4400 2400 4200 3 0 0 0 -1 -1 L 2260 4430 2160 4530 3 0 0 0 -1 -1 L 2160 4530 2190 4480 3 0 0 0 -1 -1 L 2160 4530 2210 4500 3 0 0 0 -1 -1 L 2260 4500 2160 4600 3 0 0 0 -1 -1 L 2160 4600 2190 4550 3 0 0 0 -1 -1 L 2160 4600 2210 4570 3 0 0 0 -1 -1 L 200 0 2400 0 3 0 0 0 -1 -1 L 200 700 2400 700 3 0 0 0 -1 -1 L 200 1400 2400 1400 3 0 0 0 -1 -1 L 200 2100 2400 2100 3 0 0 0 -1 -1 L 200 2800 2400 2800 3 0 0 0 -1 -1 L 200 3500 2400 3500 3 0 0 0 -1 -1 L 200 4200 2400 4200 3 0 0 0 -1 -1 L 2600 4800 2600 500 3 0 0 0 -1 -1 L 400 4700 600 4700 3 0 0 0 -1 -1 L 900 4700 1100 4700 3 0 0 0 -1 -1 L 1400 4700 1600 4700 3 0 0 0 -1 -1 L 1900 4700 2100 4700 3 0 0 0 -1 -1 L 2400 4700 2600 4700 3 0 0 0 -1 -1 L 400 4000 600 4000 3 0 0 0 -1 -1 L 900 4000 1100 4000 3 0 0 0 -1 -1 L 1400 4000 1600 4000 3 0 0 0 -1 -1 L 1900 4000 2100 4000 3 0 0 0 -1 -1 L 2400 4000 2600 4000 3 0 0 0 -1 -1 L 400 3300 600 3300 3 0 0 0 -1 -1 L 900 3300 1100 3300 3 0 0 0 -1 -1 L 1400 3300 1600 3300 3 0 0 0 -1 -1 L 1900 3300 2100 3300 3 0 0 0 -1 -1 L 2400 3300 2600 3300 3 0 0 0 -1 -1 L 400 2600 600 2600 3 0 0 0 -1 -1 L 900 2600 1100 2600 3 0 0 0 -1 -1 L 1400 2600 1600 2600 3 0 0 0 -1 -1 L 1900 2600 2100 2600 3 0 0 0 -1 -1 L 2400 2600 2600 2600 3 0 0 0 -1 -1 L 400 1900 600 1900 3 0 0 0 -1 -1 L 900 1900 1100 1900 3 0 0 0 -1 -1 L 1400 1900 1600 1900 3 0 0 0 -1 -1 L 1900 1900 2100 1900 3 0 0 0 -1 -1 L 2400 1900 2600 1900 3 0 0 0 -1 -1 L 400 1200 600 1200 3 0 0 0 -1 -1 L 900 1200 1100 1200 3 0 0 0 -1 -1 L 1400 1200 1600 1200 3 0 0 0 -1 -1 L 1900 1200 2100 1200 3 0 0 0 -1 -1 L 2400 1200 2600 1200 3 0 0 0 -1 -1 L 400 500 600 500 3 0 0 0 -1 -1 L 900 500 1100 500 3 0 0 0 -1 -1 L 1400 500 1600 500 3 0 0 0 -1 -1 L 1900 500 2100 500 3 0 0 0 -1 -1 L 2400 500 2600 500 3 0 0 0 -1 -1 V 2600 4700 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 2600 4000 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 2600 3300 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 2600 2600 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 2600 1900 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 2600 1200 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 2600 500 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 2400 0 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1900 0 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1400 0 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 0 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 400 0 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 2100 4800 2100 500 3 0 0 0 -1 -1 V 2100 4700 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 2100 4000 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 2100 3300 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 2100 2600 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 2100 1900 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 2100 1200 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 2100 500 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 1600 4800 1600 500 3 0 0 0 -1 -1 V 1600 4700 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1600 4000 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1600 3300 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1600 2600 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1600 1900 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1600 1200 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1600 500 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 1100 4800 1100 500 3 0 0 0 -1 -1 V 1100 4700 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1100 4000 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1100 3300 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1100 2600 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1100 1900 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1100 1200 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1100 500 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 600 4800 600 500 3 0 0 0 -1 -1 V 600 4700 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 600 4000 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 600 3300 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 600 2600 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 600 1900 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 600 1200 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 600 500 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 2400 700 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1900 700 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1400 700 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 700 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 400 700 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 2400 1400 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1900 1400 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1400 1400 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 1400 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 400 1400 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 2400 2100 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1900 2100 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1400 2100 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 2100 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 400 2100 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 2400 2800 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1900 2800 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1400 2800 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 2800 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 400 2800 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 2400 3500 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1900 3500 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1400 3500 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 3500 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 400 3500 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 2400 4200 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1900 4200 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1400 4200 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 900 4200 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 400 4200 10 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2900 1400 8 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/misc/tl062-1.sym0000664000175000017500000000172312204104272014257 00000000000000v 20031231 1 L 200 0 200 800 3 0 0 0 -1 -1 L 200 800 800 400 3 0 0 0 -1 -1 L 800 400 200 0 3 0 0 0 -1 -1 T 675 600 5 10 0 0 0 0 1 device=TL062 T 700 1200 5 10 0 0 0 0 1 numslots=2 T 675 1050 5 10 0 0 0 0 1 slotdef=1:1,2,3,4,8 T 675 900 5 10 0 0 0 0 1 slotdef=2:7,6,5,4,8 T 675 750 5 10 0 0 0 0 1 slot=1 T 700 1350 5 10 0 0 0 0 1 footprint=DIP8 P 200 600 0 600 1 0 1 { T 50 625 5 8 1 1 0 0 1 pinnumber=3 T 50 625 5 8 0 0 0 0 1 pinseq=3 } P 200 200 0 200 1 0 1 { T 50 225 5 8 1 1 0 0 1 pinnumber=2 T 50 225 5 8 0 0 0 0 1 pinseq=2 } P 800 400 1000 400 1 0 1 { T 875 425 5 8 1 1 0 0 1 pinnumber=1 T 875 425 5 8 0 0 0 0 1 pinseq=1 } P 500 200 500 0 1 0 1 { T 525 50 5 8 1 1 0 0 1 pinnumber=4 T 525 50 5 8 0 0 0 0 1 pinseq=4 } P 500 600 500 800 1 0 1 { T 525 650 5 8 1 1 0 0 1 pinnumber=8 T 525 650 5 8 0 0 0 0 1 pinseq=5 } L 250 600 350 600 3 0 0 0 -1 -1 L 300 650 300 550 3 0 0 0 -1 -1 L 250 200 350 200 3 0 0 0 -1 -1 T 225 350 9 8 1 0 0 0 1 TL062 T 200 900 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/misc/input-orcad-1.sym0000664000175000017500000000031212204104272015626 00000000000000v 20031231 1 P -200 0 0 0 1 0 1 L -800 100 -800 -100 3 0 0 0 -1 -1 L -800 100 -300 100 3 0 0 0 -1 -1 L -300 100 -200 0 3 0 0 0 -1 -1 L -200 0 -300 -100 3 0 0 0 -1 -1 L -300 -100 -800 -100 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/misc/vicor_gen1.sym0000664000175000017500000000264612204104272015313 00000000000000v 20031231 1 B 300 300 1500 2400 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 T 300 3300 8 10 0 0 0 0 1 device=vicor-xxx T 300 2800 2 10 1 1 0 0 1 refdes=U? T 685 125 3 10 1 0 0 0 1 vicorxxx P 300 2100 0 2100 1 0 1 { T 136 2150 5 8 1 1 0 0 1 pinnumber=1 T 136 2150 5 8 0 0 0 0 1 pinseq=1 T 375 2050 3 8 1 1 0 0 1 pinlabel=+In } P 300 1800 0 1800 1 0 1 { T 96 1850 5 8 1 1 0 0 1 pinnumber=4 T 96 1850 5 8 0 0 0 0 1 pinseq=2 T 375 1750 3 8 1 1 0 0 1 pinlabel=-In } P 300 1200 0 1200 1 0 1 { T 96 1250 5 8 1 1 0 0 1 pinnumber=2 T 96 1250 5 8 0 0 0 0 1 pinseq=3 T 375 1150 3 8 1 1 0 0 1 pinlabel=GateIn } P 300 900 0 900 1 0 1 { T 120 950 5 8 1 1 0 0 1 pinnumber=3 T 120 950 5 8 0 0 0 0 1 pinseq=4 T 375 850 3 8 1 1 0 0 1 pinlabel=GateOut } P 1800 2400 2100 2400 1 0 1 { T 1900 2450 5 8 1 1 0 0 1 pinnumber=5 T 1900 2450 5 8 0 0 0 0 1 pinseq=5 T 1418 2350 3 8 1 1 0 0 1 pinlabel=+Out } P 1800 1200 2100 1200 1 0 1 { T 1900 1250 5 8 1 1 0 0 1 pinnumber=9 T 1900 1250 5 8 0 0 0 0 1 pinseq=6 T 1418 1150 3 8 1 1 0 0 1 pinlabel=-Out } P 1800 2100 2100 2100 1 0 1 { T 1900 2150 5 8 1 1 0 0 1 pinnumber=6 T 1900 2150 5 8 0 0 0 0 1 pinseq=7 T 1258 2050 3 8 1 1 0 0 1 pinlabel=+Sense } P 1800 1500 2100 1500 1 0 1 { T 1900 1550 5 8 1 1 0 0 1 pinnumber=8 T 1900 1550 5 8 0 0 0 0 1 pinseq=8 T 1258 1450 3 8 1 1 0 0 1 pinlabel=-Sense } P 1800 600 2100 600 1 0 1 { T 1900 650 5 8 1 1 0 0 1 pinnumber=7 T 1900 650 5 8 0 0 0 0 1 pinseq=9 T 1442 550 3 8 1 1 0 0 1 pinlabel=Trim } geda-gaf-1.8.2/symbols/misc/nc-left-1.sym0000664000175000017500000000051612204104272014737 00000000000000v 20060123 1 P 500 100 300 100 1 0 0 { T 600 0 5 10 0 0 0 0 1 pinseq=1 T 600 200 5 10 0 0 0 0 1 pinnumber=1 } L 300 0 300 200 3 0 0 0 -1 -1 T 0 400 8 10 0 0 0 0 1 value=NoConnection T 250 100 9 10 1 0 0 7 1 NC T 0 600 8 10 0 0 0 0 1 documentation=nc.pdf T 0 800 8 10 0 0 0 0 1 device=DRC_Directive T 0 1000 8 10 0 0 0 0 1 graphical=1 geda-gaf-1.8.2/symbols/misc/3tri-1.sym0000664000175000017500000000133412204104272014267 00000000000000v 20031231 1 P 100 0 100 300 1 0 0 { T 274 501 5 8 1 1 180 0 1 pinnumber=2 T 274 501 5 8 0 0 180 0 1 pinseq=2 } P 200 600 200 900 1 0 1 { T 108 427 5 8 1 1 180 0 1 pinnumber=1 T 108 427 5 8 0 0 180 0 1 pinseq=1 } P 400 0 400 300 1 0 0 { T 411 426 5 8 1 1 180 0 1 pinnumber=3 T 411 426 5 8 0 0 180 0 1 pinseq=3 } T 400 700 5 10 0 0 0 0 1 device=3TRI L 149 514 349 514 3 0 0 0 -1 -1 L 100 500 200 300 3 0 0 0 -1 -1 L 349 514 249 314 3 0 0 0 -1 -1 L 200 300 0 300 3 0 0 0 -1 -1 L 249 314 149 514 3 0 0 0 -1 -1 L 0 300 100 500 3 0 0 0 -1 -1 L 500 300 300 300 3 0 0 0 -1 -1 L 500 300 400 500 3 0 0 0 -1 -1 L 300 300 400 500 3 0 0 0 -1 -1 L 246 514 246 596 3 0 0 0 -1 -1 L 246 596 198 596 3 0 0 0 -1 -1 T 400 600 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/misc/QT60040-1.sym0000664000175000017500000000540212204104272014324 00000000000000v 20031231 1 T 300 7300 5 10 0 0 0 0 1 device=QT60040 T 300 7000 5 10 0 0 0 0 1 description=QMatrix QT60040 4-key charge-transfer IC T 300 6700 5 10 0 0 0 0 1 documentation=http://www.qprox.com/downloads/d/qt60040_103_datasheet.pdf T 300 6400 5 10 0 0 0 0 1 author=Jan Stap stapATdse.nl T 300 5800 5 10 0 0 0 0 1 date=$Date$ T 300 5500 5 10 0 0 0 0 1 rev=$Revision$ T 300 5200 5 10 0 0 0 0 1 auth=$Author$ T 300 4900 5 10 0 0 0 0 1 fname=$Source$ T 300 4600 5 10 0 0 0 0 1 footprint=DIL 14 300 T 300 4300 5 10 0 0 0 0 1 numslots=0 T 300 4000 5 10 0 0 0 0 1 net=Vcc:1 T 300 3700 5 10 0 0 0 0 1 net=GND:14 T 2293 3300 8 10 1 1 0 6 1 refdes=U? T 300 3250 9 10 1 0 0 0 1 QT60040 B 300 0 2000 3200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 300 2200 0 2200 1 0 1 { T 200 2250 5 8 1 1 0 6 1 pinnumber=12 T 200 2150 5 8 0 1 0 8 1 pinseq=3 T 350 2200 9 8 1 1 0 0 1 pinlabel=X3 T 350 2150 5 8 0 1 0 2 1 pintype=in } P 300 1800 0 1800 1 0 1 { T 200 1850 5 8 1 1 0 6 1 pinnumber=11 T 200 1750 5 8 0 1 0 8 1 pinseq=4 T 350 1800 9 8 1 1 0 0 1 pinlabel=X4 T 350 1750 5 8 0 1 0 2 1 pintype=in } P 300 1400 0 1400 1 0 1 { T 200 1450 5 8 1 1 0 6 1 pinnumber=10 T 200 1350 5 8 0 1 0 8 1 pinseq=5 T 350 1400 9 8 1 1 0 0 1 pinlabel=Y T 350 1350 5 8 0 1 0 2 1 pintype=in } P 300 1000 0 1000 1 0 1 { T 200 1050 5 8 1 1 0 6 1 pinnumber=9 T 200 950 5 8 0 1 0 8 1 pinseq=6 T 350 1000 9 8 1 1 0 0 1 pinlabel=Cs T 350 950 5 8 0 1 0 2 1 pintype=in } P 300 600 0 600 1 0 1 { T 200 650 5 8 1 1 0 6 1 pinnumber=3 T 200 550 5 8 0 1 0 8 1 pinseq=7 T 350 600 9 8 1 1 0 0 1 pinlabel=OPT1 T 350 550 5 8 0 1 0 2 1 pintype=in } P 300 200 0 200 1 0 1 { T 200 250 5 8 1 1 0 6 1 pinnumber=4 T 200 150 5 8 0 1 0 8 1 pinseq=8 T 350 200 9 8 1 1 0 0 1 pinlabel=OPT2 T 350 150 5 8 0 1 0 2 1 pintype=in } P 2300 1000 2600 1000 1 0 1 { T 2550 1050 5 8 1 1 0 6 1 pinnumber=8 T 2550 950 5 8 0 1 0 8 1 pinseq=9 T 2250 1000 9 8 1 1 0 6 1 pinlabel=Q4 T 2250 950 5 8 0 1 0 8 1 pintype=out } P 2300 1400 2600 1400 1 0 1 { T 2550 1450 5 8 1 1 0 6 1 pinnumber=7 T 2550 1350 5 8 0 1 0 8 1 pinseq=10 T 2250 1400 9 8 1 1 0 6 1 pinlabel=Q3 T 2250 1350 5 8 0 1 0 8 1 pintype=out } P 300 3000 0 3000 1 0 1 { T 200 3050 5 8 1 1 0 6 1 pinnumber=2 T 200 2950 5 8 0 1 0 8 1 pinseq=1 T 350 3000 9 8 1 1 0 0 1 pinlabel=X1 T 350 2950 5 8 0 1 0 2 1 pintype=in } P 300 2600 0 2600 1 0 1 { T 200 2650 5 8 1 1 0 6 1 pinnumber=13 T 200 2550 5 8 0 1 0 8 1 pinseq=2 T 350 2600 9 8 1 1 0 0 1 pinlabel=X2 T 350 2550 5 8 0 1 0 2 1 pintype=in } P 2300 1800 2600 1800 1 0 1 { T 2550 1850 5 8 1 1 0 6 1 pinnumber=6 T 2550 1750 5 8 0 1 0 8 1 pinseq=11 T 2250 1800 9 8 1 1 0 6 1 pinlabel=Q2 T 2250 1750 5 8 0 1 0 8 1 pintype=out } P 2300 2200 2600 2200 1 0 1 { T 2550 2250 5 8 1 1 0 6 1 pinnumber=5 T 2550 2150 5 8 0 1 0 8 1 pinseq=12 T 2250 2200 9 8 1 1 0 6 1 pinlabel=Q1 T 2250 2150 5 8 0 1 0 8 1 pintype=out } geda-gaf-1.8.2/symbols/misc/FND5148-1.sym0000664000175000017500000000663112204104272014344 00000000000000v 20031231 1 T 400 8000 5 10 0 0 0 0 1 device=FND5148 T 400 7700 5 10 0 0 0 0 1 description=Dual 7-segment + dot red led display T 400 7400 5 10 0 0 0 0 1 documentation=Unknown T 400 7100 5 10 0 0 0 0 1 author=Jan Stap stapATdse.nl T 400 6500 5 10 0 0 0 0 1 date=$Date$ T 400 6200 5 10 0 0 0 0 1 rev=$Revision$ T 400 5900 5 10 0 0 0 0 1 auth=$Author$ T 400 5600 5 10 0 0 0 0 1 fname=$Source$ T 400 5300 5 10 0 0 0 0 1 footprint=DIL 18 600 T 400 5000 5 10 0 0 0 0 1 slot=1 T 400 4700 5 10 0 0 0 0 1 numslots=2 T 400 4400 5 10 0 0 0 0 1 slotdef=1:7,9,6,8,10,12,11,13,5 T 400 4100 5 10 0 0 0 0 1 slotdef=2:2,3,1,16,14,17,15,18,4 T 2600 3700 8 10 1 1 0 6 1 refdes=U? T 400 3650 9 10 1 0 0 0 1 FND5148 B 300 0 2300 3600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 300 3400 0 3400 1 0 1 { T 200 3450 5 8 1 1 0 6 1 pinnumber=7 T 200 3350 5 8 0 1 0 8 1 pinseq=1 T 350 3400 9 8 1 1 0 0 1 pinlabel=L1 T 350 3350 5 8 0 1 0 2 1 pintype=pas } P 300 3000 0 3000 1 0 1 { T 200 3050 5 8 1 1 0 6 1 pinnumber=9 T 200 2950 5 8 0 1 0 8 1 pinseq=2 T 350 3000 9 8 1 1 0 0 1 pinlabel=L2 T 350 2950 5 8 0 1 0 2 1 pintype=pas } P 300 2600 0 2600 1 0 1 { T 200 2650 5 8 1 1 0 6 1 pinnumber=6 T 200 2550 5 8 0 1 0 8 1 pinseq=3 T 350 2600 9 8 1 1 0 0 1 pinlabel=L3 T 350 2550 5 8 0 1 0 2 1 pintype=pas } P 300 2200 0 2200 1 0 1 { T 200 2250 5 8 1 1 0 6 1 pinnumber=8 T 200 2150 5 8 0 1 0 8 1 pinseq=4 T 350 2200 9 8 1 1 0 0 1 pinlabel=L4 T 350 2150 5 8 0 1 0 2 1 pintype=pas } P 300 1800 0 1800 1 0 1 { T 200 1850 5 8 1 1 0 6 1 pinnumber=10 T 200 1750 5 8 0 1 0 8 1 pinseq=5 T 350 1800 9 8 1 1 0 0 1 pinlabel=L5 T 350 1750 5 8 0 1 0 2 1 pintype=pas } P 300 1400 0 1400 1 0 1 { T 200 1450 5 8 1 1 0 6 1 pinnumber=12 T 200 1350 5 8 0 1 0 8 1 pinseq=6 T 350 1400 9 8 1 1 0 0 1 pinlabel=L6 T 350 1350 5 8 0 1 0 2 1 pintype=pas } P 300 1000 0 1000 1 0 1 { T 200 1050 5 8 1 1 0 6 1 pinnumber=11 T 200 950 5 8 0 1 0 8 1 pinseq=7 T 350 1000 9 8 1 1 0 0 1 pinlabel=L7 T 350 950 5 8 0 1 0 2 1 pintype=pas } P 300 600 0 600 1 0 1 { T 200 650 5 8 1 1 0 6 1 pinnumber=13 T 200 550 5 8 0 1 0 8 1 pinseq=8 T 350 600 9 8 1 1 0 0 1 pinlabel=L8 T 350 550 5 8 0 1 0 2 1 pintype=pas } P 300 200 0 200 1 0 1 { T 200 250 5 8 1 1 0 6 1 pinnumber=5 T 200 150 5 8 0 1 0 8 1 pinseq=9 T 350 200 9 8 1 1 0 0 1 pinlabel=Com T 350 150 5 8 0 1 0 2 1 pintype=pas } L 1000 3100 900 1900 3 0 0 0 -1 -1 L 1200 3100 1100 1900 3 0 0 0 -1 -1 L 2100 3100 2000 1900 3 0 0 0 -1 -1 L 2300 3100 2200 1900 3 0 0 0 -1 -1 L 900 1700 800 500 3 0 0 0 -1 -1 L 2200 1700 2100 500 3 0 0 0 -1 -1 L 1200 3100 2100 3100 3 0 0 0 -1 -1 L 1100 1900 2000 1900 3 0 0 0 -1 -1 L 1100 1700 2000 1700 3 0 0 0 -1 -1 L 1100 1700 1000 500 3 0 0 0 -1 -1 L 1000 500 1900 500 3 0 0 0 -1 -1 L 1900 500 2000 1700 3 0 0 0 -1 -1 L 900 1900 1100 1700 3 0 0 0 -1 -1 L 1100 1900 900 1700 3 0 0 0 -1 -1 L 2000 1900 2200 1700 3 0 0 0 -1 -1 L 2200 1900 2000 1700 3 0 0 0 -1 -1 L 1200 3300 2100 3300 3 0 0 0 -1 -1 L 1000 300 1900 300 3 0 0 0 -1 -1 L 1200 3300 1000 3100 3 0 0 0 -1 -1 L 1100 3200 1200 3100 3 0 0 0 -1 -1 L 2100 3300 2300 3100 3 0 0 0 -1 -1 L 2200 3200 2100 3100 3 0 0 0 -1 -1 L 800 500 1000 300 3 0 0 0 -1 -1 L 1000 500 900 400 3 0 0 0 -1 -1 L 1900 300 2100 500 3 0 0 0 -1 -1 L 1900 500 2000 400 3 0 0 0 -1 -1 V 2300 400 102 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1610 3158 9 7 1 0 0 0 1 L1 T 998 2500 9 7 1 0 0 0 1 L2 T 2100 2500 9 7 1 0 0 0 1 L3 T 1500 1754 9 7 1 0 0 0 1 L4 T 895 1100 9 7 1 0 0 0 1 L5 T 1993 1100 9 7 1 0 0 0 1 L6 T 1410 355 9 7 1 0 0 0 1 L7 T 2240 361 9 7 1 0 0 0 1 L8 geda-gaf-1.8.2/symbols/misc/icl7660-1.sym0000664000175000017500000000225112204104272014477 00000000000000v 20031231 1 P 0 1200 300 1200 1 0 0 { T 100 1250 5 8 1 1 0 0 1 pinnumber=1 T 100 1250 5 8 0 0 0 0 1 pinseq=1 } T 360 1200 9 8 1 0 0 0 1 Boost P 0 600 300 600 1 0 0 { T 100 650 5 8 1 1 0 0 1 pinnumber=6 T 100 650 5 8 0 0 0 0 1 pinseq=6 } T 360 900 9 8 1 0 0 0 1 Osc T 360 300 9 8 1 0 0 0 1 Gnd P 0 900 300 900 1 0 0 { T 100 950 5 8 1 1 0 0 1 pinnumber=7 T 100 950 5 8 0 0 0 0 1 pinseq=7 } T 360 600 9 8 1 0 0 0 1 LV T 1360 300 9 8 1 0 0 0 1 Vout T 1460 1200 9 8 1 0 0 0 1 V+ T 1460 900 9 8 1 0 0 0 1 C+ T 1460 600 9 8 1 0 0 0 1 C- T 300 1540 9 10 1 0 0 0 1 7660 P 0 300 300 300 1 0 0 { T 100 350 5 8 1 1 0 0 1 pinnumber=3 T 100 350 5 8 0 0 0 0 1 pinseq=3 } P 1700 1200 2000 1200 1 0 1 { T 1800 1250 5 8 1 1 0 0 1 pinnumber=8 T 1800 1250 5 8 0 0 0 0 1 pinseq=8 } P 1700 600 2000 600 1 0 1 { T 1800 650 5 8 1 1 0 0 1 pinnumber=4 T 1800 650 5 8 0 0 0 0 1 pinseq=4 } P 1700 900 2000 900 1 0 1 { T 1800 950 5 8 1 1 0 0 1 pinnumber=2 T 1800 950 5 8 0 0 0 0 1 pinseq=2 } P 1700 300 2000 300 1 0 1 { T 1800 350 5 8 1 1 0 0 1 pinnumber=5 T 1800 350 5 8 0 0 0 0 1 pinseq=5 } B 300 0 1400 1500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1800 1500 5 10 0 0 0 0 1 device=icl7660 T 1700 1600 8 10 1 1 0 6 1 refdes=U? geda-gaf-1.8.2/symbols/misc/75176-1.sym0000664000175000017500000000347512204104272014107 00000000000000v 20070626 1 T 1700 2100 8 10 1 1 0 6 1 refdes=U? T 300 2050 9 10 1 0 0 0 1 sn75176a T 300 2350 8 10 0 0 0 0 1 device=sn75176a T 300 2550 8 10 0 0 0 0 1 footprint=dip8 T 300 2750 8 10 0 0 0 0 1 author=m. dickens T 300 2950 8 10 0 0 0 0 1 documentation=http://www.ti.com T 300 3150 8 10 0 0 0 0 1 description=differential bus transciever rs422/485 T 300 3350 8 10 0 0 0 0 1 numslots=0 P 0 1600 300 1600 1 0 0 { T 200 1650 5 8 1 1 0 6 1 pinnumber=1 T 200 1550 5 8 0 1 0 8 1 pinseq=1 T 350 1600 9 8 1 1 0 0 1 pinlabel=R T 350 1600 5 8 0 1 0 2 1 pintype=out } P 0 1200 300 1200 1 0 0 { T 200 1250 5 8 1 1 0 6 1 pinnumber=2 T 200 1150 5 8 0 1 0 8 1 pinseq=2 T 350 1200 9 8 1 1 0 0 1 pinlabel=\_RE\_ T 350 1200 5 8 0 1 0 2 1 pintype=out } P 0 800 300 800 1 0 0 { T 200 850 5 8 1 1 0 6 1 pinnumber=3 T 200 750 5 8 0 1 0 8 1 pinseq=3 T 350 800 9 8 1 1 0 0 1 pinlabel=DE T 350 800 5 8 0 1 0 2 1 pintype=in } P 0 400 300 400 1 0 0 { T 200 450 5 8 1 1 0 6 1 pinnumber=4 T 200 350 5 8 0 1 0 8 1 pinseq=4 T 350 400 9 8 1 1 0 0 1 pinlabel=D T 350 400 5 8 0 1 0 2 1 pintype=in } P 2000 1600 1700 1600 1 0 0 { T 1800 1650 5 8 1 1 0 0 1 pinnumber=5 T 1800 1550 5 8 0 1 0 2 1 pinseq=5 T 1650 1600 9 8 1 1 0 6 1 pinlabel=GND T 1650 1600 5 8 0 1 0 8 1 pintype=pwr } P 2000 1200 1700 1200 1 0 0 { T 1800 1250 5 8 1 1 0 0 1 pinnumber=6 T 1800 1150 5 8 0 1 0 2 1 pinseq=6 T 1650 1200 9 8 1 1 0 6 1 pinlabel=A T 1650 1200 5 8 0 1 0 8 1 pintype=io } P 2000 800 1700 800 1 0 0 { T 1800 850 5 8 1 1 0 0 1 pinnumber=7 T 1800 750 5 8 0 1 0 2 1 pinseq=7 T 1650 800 9 8 1 1 0 6 1 pinlabel=B T 1650 800 5 8 0 1 0 8 1 pintype=io } P 2000 400 1700 400 1 0 0 { T 1800 450 5 8 1 1 0 0 1 pinnumber=8 T 1800 350 5 8 0 1 0 2 1 pinseq=8 T 1650 400 9 8 1 1 0 6 1 pinlabel=VCC T 1650 400 5 8 0 1 0 8 1 pintype=pwr } B 300 0 1400 2000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/misc/AN82527.sym0000664000175000017500000001730412204104272014162 00000000000000v 20031231 1 B 300 0 1900 7300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 336 7412 9 10 1 0 0 0 1 AN82527 P 200 6100 0 6100 1 0 1 { T 120 6150 5 8 1 1 0 0 1 pinnumber=8 T 120 6150 5 8 0 0 0 0 1 pinseq=3 T 300 6100 5 10 0 0 0 0 1 pintype=in T 362 6048 9 8 1 1 0 0 1 pinlabel=CS# } P 300 5800 0 5800 1 0 1 { T 348 5746 9 8 1 1 0 0 1 pinlabel=ALE/AS T 100 5850 5 8 1 1 0 0 1 pinnumber=5 T 100 5850 5 8 0 0 0 0 1 pinseq=4 T 300 5800 5 8 0 0 0 0 1 pintype=in } P 200 5500 0 5500 1 0 1 { T 120 5550 5 8 1 1 0 0 1 pinnumber=7 T 120 5550 5 8 0 0 0 0 1 pinseq=5 T 338 5500 9 8 1 1 0 0 1 pinlabel=WR#/WRL# T 300 5500 5 8 0 0 0 0 1 pintype=in } P 200 5200 0 5200 1 0 1 { T 120 5250 5 8 1 1 0 0 1 pinnumber=6 T 120 5250 5 8 0 0 0 0 1 pinseq=6 T 338 5200 9 8 1 1 0 0 1 pinlabel=RD#/E T 300 5200 5 8 0 0 0 0 1 pintype=in } P 300 4600 0 4600 1 0 1 { T 120 4650 5 8 1 1 0 0 1 pinnumber=9 T 120 4650 5 8 0 0 0 0 1 pinseq=7 T 338 4600 9 8 1 1 0 0 1 pinlabel=DSACK0# T 300 4600 5 8 0 0 0 0 1 pintype=out } P 300 4300 0 4300 1 0 1 { T 20 4350 5 8 1 1 0 0 1 pinnumber=28 T 20 4350 5 8 0 0 0 0 1 pinseq=8 T 338 4300 9 8 1 1 0 0 1 pinlabel=RDY/MISO T 300 4300 5 8 0 0 0 0 1 pintype=out } P 300 4000 0 4000 1 0 1 { T 20 4050 5 8 1 1 0 0 1 pinnumber=24 T 20 4050 5 8 0 0 0 0 1 pinseq=9 T 338 4000 9 8 1 1 0 0 1 pinlabel=INT#/(V/2) T 300 4000 5 8 0 0 0 0 1 pintype=out } P 300 3700 0 3700 1 0 1 { T 20 3750 5 8 1 1 0 0 1 pinnumber=27 T 20 3750 5 8 0 0 0 0 1 pinseq=10 T 338 3700 9 8 1 1 0 0 1 pinlabel=CLKOUT T 300 3700 5 8 0 0 0 0 1 pintype=out } P 300 3100 0 3100 1 0 1 { T 40 3150 5 8 1 1 0 0 1 pinnumber=44 T 40 3150 5 8 0 0 0 0 1 pinseq=11 T 338 3100 9 8 1 1 0 0 1 pinlabel=MODE0 T 300 3100 5 8 0 0 0 0 1 pintype=in } P 300 2800 0 2800 1 0 1 { T 40 2850 5 8 1 1 0 0 1 pinnumber=30 T 40 2850 5 8 0 0 0 0 1 pinseq=12 T 338 2800 9 8 1 1 0 0 1 pinlabel=MODE1 T 300 2800 5 8 0 0 0 0 1 pintype=in } P 300 2300 0 2300 1 0 1 { T 40 2350 5 8 1 1 0 0 1 pinnumber=4 T 40 2350 5 8 0 0 0 0 1 pinseq=13 T 340 2300 9 8 1 1 0 0 1 pinlabel=AD0 T 200 2300 5 8 0 0 0 0 1 pintype=io } P 300 2000 0 2000 1 0 1 { T 40 2050 5 8 1 1 0 0 1 pinnumber=3 T 40 2050 5 8 0 0 0 0 1 pinseq=14 T 340 2000 9 8 1 1 0 0 1 pinlabel=AD1 T 200 2000 5 8 0 0 0 0 1 pintype=io } P 300 1700 0 1700 1 0 1 { T 40 1750 5 8 1 1 0 0 1 pinnumber=2 T 40 1750 5 8 0 0 0 0 1 pinseq=15 T 338 1700 9 8 1 1 0 0 1 pinlabel=AD2 T 300 1700 5 8 0 0 0 0 1 pintype=io } P 300 1400 0 1400 1 0 1 { T 40 1450 5 8 1 1 0 0 1 pinnumber=43 T 40 1450 5 8 0 0 0 0 1 pinseq=16 T 338 1400 9 8 1 1 0 0 1 pinlabel=AD3 T 300 1400 5 8 0 0 0 0 1 pintype=io } P 2500 6400 2200 6400 1 0 0 { T 2320 6450 5 8 1 1 0 0 1 pinnumber=22 T 2320 6450 5 8 0 0 0 0 1 pinseq=40 T 1824 6342 9 8 1 1 0 0 1 pinlabel=Rx0 T 2500 6400 5 8 0 0 0 0 1 pintype=in } P 300 6900 0 6900 1 0 1 { T 40 6950 5 8 1 1 0 0 1 pinnumber=18 T 40 6950 5 8 0 0 0 0 1 pinseq=1 T 300 6900 5 10 0 0 0 0 1 pintype=pas T 368 6856 9 8 1 1 0 0 1 pinlabel=XTAL1 } P 2500 6900 2200 6900 1 0 0 { T 2240 6950 5 8 1 1 0 0 1 pinnumber=19 T 2240 6950 5 8 0 0 0 0 1 pinseq=41 T 1658 6842 9 8 1 1 0 0 1 pinlabel=XTAL2 T 2500 6900 5 8 0 0 0 0 1 pintype=pas } V 250 6400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 6400 0 6400 1 0 1 { T 40 6450 5 8 1 1 0 0 1 pinnumber=29 T 40 6450 5 8 0 0 0 0 1 pinseq=2 T 200 6400 5 10 0 0 0 0 1 pintype=in T 351 6365 9 8 1 1 0 0 1 pinlabel=RST# } P 2200 4900 2500 4900 1 0 1 { T 2300 4950 5 8 1 1 0 0 1 pinnumber=38 T 2300 4950 5 8 0 0 0 0 1 pinseq=36 T 1380 4849 9 8 1 1 0 0 1 pinlabel=P1.0/ AD8 T 2200 4900 5 8 0 0 0 0 1 pintype=io } P 2200 4600 2500 4600 1 0 1 { T 2300 4650 5 8 1 1 0 0 1 pinnumber=37 T 2300 4650 5 8 0 0 0 0 1 pinseq=35 T 1425 4542 9 8 1 1 0 0 1 pinlabel=P1.1/ AD9 T 2200 4600 5 8 0 0 0 0 1 pintype=io } P 2200 4300 2500 4300 1 0 1 { T 2300 4350 5 8 1 1 0 0 1 pinnumber=36 T 2300 4350 5 8 0 0 0 0 1 pinseq=34 T 1358 4242 9 8 1 1 0 0 1 pinlabel=P1.2/AD10 T 2200 4300 5 8 0 0 0 0 1 pintype=io } P 2200 4000 2500 4000 1 0 1 { T 2300 4050 5 8 1 1 0 0 1 pinnumber=35 T 2300 4050 5 8 0 0 0 0 1 pinseq=33 T 1409 3942 9 8 1 1 0 0 1 pinlabel=P1.3/AD11 T 2200 4000 5 8 0 0 0 0 1 pintype=io } P 2200 3700 2500 3700 1 0 1 { T 2300 3750 5 8 1 1 0 0 1 pinnumber=34 T 2300 3750 5 8 0 0 0 0 1 pinseq=32 T 1358 3642 9 8 1 1 0 0 1 pinlabel=P1.4/AD12 T 2200 3700 5 8 0 0 0 0 1 pintype=io } P 2200 3400 2500 3400 1 0 1 { T 2300 3450 5 8 1 1 0 0 1 pinnumber=33 T 2300 3450 5 8 0 0 0 0 1 pinseq=31 T 1388 3342 9 8 1 1 0 0 1 pinlabel=P1.5/AD13 T 2200 3400 5 8 0 0 0 0 1 pintype=io } P 2200 3100 2500 3100 1 0 1 { T 2300 3150 5 8 1 1 0 0 1 pinnumber=32 T 2300 3150 5 8 0 0 0 0 1 pinseq=30 T 1363 3057 9 8 1 1 0 0 1 pinlabel=P1.6/AD14 T 2200 3100 5 8 0 0 0 0 1 pintype=io } P 2200 2800 2500 2800 1 0 1 { T 2300 2850 5 8 1 1 0 0 1 pinnumber=31 T 2300 2850 5 8 0 0 0 0 1 pinseq=29 T 1400 2742 9 8 1 1 0 0 1 pinlabel=P1.7/AD15 T 2200 2800 5 8 0 0 0 0 1 pintype=io } P 2200 2300 2500 2300 1 0 1 { T 2300 2350 5 8 1 1 0 0 1 pinnumber=17 T 2300 2350 5 8 0 0 0 0 1 pinseq=28 T 1774 2242 9 8 1 1 0 0 1 pinlabel=P2.0 T 2200 2300 5 8 0 0 0 0 1 pintype=io } P 2200 2000 2500 2000 1 0 1 { T 2300 2050 5 8 1 1 0 0 1 pinnumber=16 T 2300 2050 5 8 0 0 0 0 1 pinseq=27 T 1811 1942 9 8 1 1 0 0 1 pinlabel=P2.1 T 2200 2000 5 8 0 0 0 0 1 pintype=io } P 2200 1700 2500 1700 1 0 1 { T 2300 1750 5 8 1 1 0 0 1 pinnumber=15 T 2300 1750 5 8 0 0 0 0 1 pinseq=26 T 1762 1655 9 8 1 1 0 0 1 pinlabel=P2.2 T 2200 1700 5 8 0 0 0 0 1 pintype=io } P 2200 1400 2500 1400 1 0 1 { T 2300 1450 5 8 1 1 0 0 1 pinnumber=14 T 2300 1450 5 8 0 0 0 0 1 pinseq=25 T 1771 1342 9 8 1 1 0 0 1 pinlabel=P2.3 T 2200 1400 5 8 0 0 0 0 1 pintype=io } P 2200 800 2500 800 1 0 1 { T 2300 850 5 8 1 1 0 0 1 pinnumber=12 T 2300 850 5 8 0 0 0 0 1 pinseq=23 T 1780 742 9 8 1 1 0 0 1 pinlabel=P2.5 T 2200 800 5 8 0 0 0 0 1 pintype=io } P 2200 500 2500 500 1 0 1 { T 2300 550 5 8 1 1 0 0 1 pinnumber=11 T 2300 550 5 8 0 0 0 0 1 pinseq=22 T 1365 442 9 8 1 1 0 0 1 pinlabel=INT#/P2.6 T 2200 500 5 8 0 0 0 0 1 pintype=io } P 2200 200 2500 200 1 0 1 { T 2300 250 5 8 1 1 0 0 1 pinnumber=10 T 2300 250 5 8 0 0 0 0 1 pinseq=21 T 1238 142 9 8 1 1 0 0 1 pinlabel=WRH#/P2.7 T 2200 200 5 8 0 0 0 0 1 pintype=io } P 2200 5800 2500 5800 1 0 1 { T 2300 5850 5 8 1 1 0 0 1 pinnumber=26 T 2300 5850 5 8 0 0 0 0 1 pinseq=38 T 1835 5742 9 8 1 1 0 0 1 pinlabel=Tx0 T 2200 5800 5 8 0 0 0 0 1 pintype=out } P 2200 5500 2500 5500 1 0 1 { T 2300 5550 5 8 1 1 0 0 1 pinnumber=25 T 2300 5550 5 8 0 0 0 0 1 pinseq=37 T 1858 5442 9 8 1 1 0 0 1 pinlabel=Tx1 T 2300 5500 5 8 0 0 0 0 1 pintype=out } P 0 1100 300 1100 1 0 0 { T 0 1150 5 8 1 1 0 0 1 pinnumber=42 T 0 1150 5 8 0 0 0 0 1 pinseq=17 T 369 1100 9 8 1 1 0 0 1 pinlabel=AD4/WOSI T 0 1100 5 8 0 0 0 0 1 pintype=io } P 0 800 300 800 1 0 0 { T 0 850 5 8 1 1 0 0 1 pinnumber=41 T 0 850 5 8 0 0 0 0 1 pinseq=18 T 369 800 9 8 1 1 0 0 1 pinlabel=AD5 T 0 800 5 8 0 0 0 0 1 pintype=io } T 2186 7404 8 10 1 1 0 6 1 refdes=U? P 2200 1100 2500 1100 1 0 1 { T 2300 1150 5 8 1 1 0 0 1 pinnumber=13 T 2300 1150 5 8 0 0 0 0 1 pinseq=24 T 1774 1042 9 8 1 1 0 0 1 pinlabel=P2.4 T 2200 1100 5 8 0 0 0 0 1 pintype=io } V 250 5200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 5500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 6100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 500 300 500 1 0 0 { T 0 550 5 8 1 1 0 0 1 pinnumber=40 T 0 550 5 8 0 0 0 0 1 pinseq=19 T 369 500 9 8 1 1 0 0 1 pinlabel=AD6/SCLK T 0 500 5 8 0 0 0 0 1 pintype=io } P 0 200 300 200 1 0 0 { T 0 250 5 8 1 1 0 0 1 pinnumber=39 T 0 250 5 8 0 0 0 0 1 pinseq=20 T 369 200 9 8 1 1 0 0 1 pinlabel=AD7 T 0 200 5 8 0 0 0 0 1 pintype=io } P 2200 6100 2500 6100 1 0 1 { T 2300 6150 5 8 1 1 0 0 1 pinnumber=21 T 2300 6150 5 8 0 0 0 0 1 pinseq=39 T 1858 6042 9 8 1 1 0 0 1 pinlabel=Rx1 T 2200 6100 5 8 0 0 0 0 1 pintype=in } T 0 -300 8 10 0 0 0 0 1 net=+5V:1 T 1400 -300 8 10 0 0 0 0 1 net=GND:20 T 1400 -600 8 10 0 0 0 0 1 net=GND:23 T 600 8600 8 10 0 0 0 0 1 device=an82527 T 500 8200 8 10 0 0 0 0 1 footprint=PLCC44 geda-gaf-1.8.2/symbols/misc/interpage_from-1.sym0000664000175000017500000000060612204104272016410 00000000000000v 20031231 1 P 0 200 300 200 1 0 0 { T 100 400 5 10 0 0 0 0 1 pinnumber=1 T 100 400 5 10 0 0 0 0 1 pinseq=1 } L 300 200 500 0 3 0 0 0 -1 -1 L 500 0 1100 0 3 0 0 0 -1 -1 L 1100 0 1100 400 3 0 0 0 -1 -1 L 1100 400 500 400 3 0 0 0 -1 -1 T 300 600 5 10 0 0 0 0 1 device=interpage_from T 300 800 5 10 0 0 0 0 1 graphical=1 L 500 400 300 200 3 0 0 0 -1 -1 T 1300 200 5 10 1 1 0 0 1 pages=unknown geda-gaf-1.8.2/symbols/misc/nc-right-1.sym0000664000175000017500000000052712204104272015124 00000000000000v 20060123 1 P 0 100 200 100 1 0 0 { T 600 100 5 10 0 0 180 8 1 pinseq=1 T 600 300 5 10 0 0 180 8 1 pinnumber=1 } L 200 0 200 200 3 0 0 0 -1 -1 T 100 500 8 10 0 0 0 0 1 value=NoConnection T 250 100 9 10 1 0 0 1 1 NC T 0 600 8 10 0 0 0 0 1 documentation=nc.pdf T 100 700 8 10 0 0 0 0 1 device=DRC_Directive T 100 900 8 10 0 0 0 0 1 graphical=1 geda-gaf-1.8.2/symbols/misc/decon-1.sym0000664000175000017500000000025512204104272014477 00000000000000v 20031231 1 L 0 100 150 100 3 0 0 0 -1 -1 L 150 100 75 0 3 0 0 0 -1 -1 L 75 0 0 100 3 0 0 0 -1 -1 T 100 300 5 10 0 0 0 0 1 graphical=1 T 500 600 5 10 0 0 0 0 1 device=none geda-gaf-1.8.2/symbols/misc/osc-2.sym0000664000175000017500000000107312204104272014173 00000000000000v 20031231 1 B 0 0 900 600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 500 700 9 10 1 1 0 0 1 device=OSC T 0 700 8 10 1 1 0 0 1 refdes=U? T 0 1100 5 10 0 0 0 0 1 footprint=DIP8 T 0 1300 5 10 0 0 0 0 1 description=Generic Oscillator Half Can T 0 900 5 10 0 0 0 0 1 numslots=0 L 900 400 800 300 3 0 0 0 -1 -1 L 800 300 900 200 3 0 0 0 -1 -1 P 1200 300 900 300 1 0 0 { T 950 350 5 10 1 1 0 0 1 pinnumber=5 T 950 50 5 10 0 0 0 0 1 pinseq=5 T 950 150 5 10 0 0 0 0 1 pintype=out T 400 300 9 10 1 1 0 1 1 pinlabel=OUT } T 208 400 3 10 0 1 0 0 1 net=Vcc:8 T 182 50 3 10 0 1 0 0 1 net=GND:4 geda-gaf-1.8.2/symbols/misc/NE-592-1.sym0000664000175000017500000000253212204104272014226 00000000000000v 20031231 1 L 300 1500 300 100 3 0 0 0 -1 -1 L 1700 800 300 1500 3 0 0 0 -1 -1 P 300 1100 0 1100 1 0 1 { T 150 1125 5 8 1 1 0 0 1 pinnumber=14 T 150 1125 5 8 0 0 0 0 1 pinseq=14 } P 300 500 0 500 1 0 1 { T 150 525 5 8 1 1 0 0 1 pinnumber=1 T 150 525 5 8 0 0 0 0 1 pinseq=1 } P 500 1700 500 1400 1 0 0 { T 550 1475 5 8 1 1 0 0 1 pinnumber=12 T 550 1475 5 8 0 0 0 0 1 pinseq=12 } P 500 200 500 -100 1 0 1 { T 525 50 5 8 1 1 0 0 1 pinnumber=3 T 525 50 5 8 0 0 0 0 1 pinseq=3 } L 400 1150 400 1050 3 0 0 0 -1 -1 L 350 1100 450 1100 3 0 0 0 -1 -1 L 350 500 450 500 3 0 0 0 -1 -1 L 1700 800 300 100 3 0 0 0 -1 -1 T 1125 1750 8 8 0 0 0 0 1 device=NE592 T 425 750 9 10 1 0 0 0 1 NE592 T 100 1600 8 10 1 1 0 0 1 refdes=U? P 700 1600 700 1300 1 0 0 { T 750 1375 5 8 1 1 0 0 1 pinnumber=11 T 750 1375 5 8 0 0 0 0 1 pinseq=11 } P 1600 1000 1300 1000 1 0 0 { T 1350 1075 5 8 1 1 0 0 1 pinnumber=8 T 1350 1075 5 8 0 0 0 0 1 pinseq=8 } P 1600 600 1300 600 1 0 0 { T 1350 475 5 8 1 1 0 0 1 pinnumber=7 T 1350 475 5 8 0 0 0 0 1 pinseq=7 } P 700 300 700 0 1 0 1 { T 725 150 5 8 1 1 0 0 1 pinnumber=4 T 725 150 5 8 0 0 0 0 1 pinseq=12 } P 1100 1400 1100 1100 1 0 0 { T 1150 1175 5 8 1 1 0 0 1 pinnumber=10 T 1150 1175 5 8 0 0 0 0 1 pinseq=10 } P 1100 500 1100 200 1 0 1 { T 1125 350 5 8 1 1 0 0 1 pinnumber=5 T 1125 350 5 8 0 0 0 0 1 pinseq=5 } T 1100 1900 8 10 0 0 0 0 1 footprint=DIP14 geda-gaf-1.8.2/symbols/misc/ADG620-1.sym0000664000175000017500000000362712204104272014240 00000000000000v 20041228 1 P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=1 T 200 1050 5 8 0 1 0 8 1 pinseq=1 T 350 1100 9 8 1 1 0 0 1 pinlabel=D T 350 1100 5 8 0 1 0 2 1 pintype=tri } P 0 800 300 800 1 0 0 { T 200 850 5 8 1 1 0 6 1 pinnumber=2 T 200 750 5 8 0 1 0 8 1 pinseq=2 T 350 800 9 8 1 1 0 0 1 pinlabel=S1 T 350 800 5 8 0 1 0 2 1 pintype=tri } P 0 500 300 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=3 T 200 450 5 8 0 1 0 8 1 pinseq=3 T 350 500 9 8 1 1 0 0 1 pinlabel=GND T 350 500 5 8 0 1 0 2 1 pintype=pwr } P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=4 T 200 150 5 8 0 1 0 8 1 pinseq=4 T 350 200 9 8 1 1 0 0 1 pinlabel=Vdd T 350 200 5 8 0 1 0 2 1 pintype=pwr } P 1300 1100 1600 1100 1 0 1 { T 1400 1150 5 8 1 1 0 0 1 pinnumber=8 T 1400 1050 5 8 0 1 0 2 1 pinseq=8 T 1250 1100 9 8 1 1 0 6 1 pinlabel=S2 T 1250 1100 5 8 0 1 0 8 1 pintype=tri } P 1300 800 1600 800 1 0 1 { T 1400 850 5 8 1 1 0 0 1 pinnumber=7 T 1400 750 5 8 0 1 0 2 1 pinseq=7 T 1250 800 9 8 1 1 0 6 1 pinlabel=Vss T 1250 800 5 8 0 1 0 8 1 pintype=pwr } P 1300 500 1600 500 1 0 1 { T 1400 550 5 8 1 1 0 0 1 pinnumber=6 T 1400 450 5 8 0 1 0 2 1 pinseq=6 T 1250 500 9 8 1 1 0 6 1 pinlabel=IN T 1250 500 5 8 0 1 0 8 1 pintype=in } P 1300 200 1600 200 1 0 1 { T 1400 250 5 8 1 1 0 0 1 pinnumber=5 T 1400 150 5 8 0 1 0 2 1 pinseq=5 T 1250 200 9 8 1 1 0 6 1 pinlabel=NC T 1250 200 5 8 0 1 0 8 1 pintype=nc } B 300 0 1000 1400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 1850 5 10 0 0 0 0 1 device=ADG620 T 300 2450 5 10 0 0 0 0 1 numslots=0 T 1300 1600 8 10 1 1 0 6 1 refdes=U? T 300 2650 5 10 0 0 0 0 1 footprint=MSOP8 T 300 2850 5 10 0 0 0 0 1 description=ADG620 CMOS 5 V/+5 V Single SPDT Switches T 300 3050 5 10 0 0 0 0 1 net=Vcc:4 T 300 3250 5 10 0 0 0 0 1 net=GND:7 T 300 1450 9 10 1 0 0 0 1 ADG620 T 300 2250 5 10 0 0 0 0 1 documentation=http://www.analog.com/UploadedFiles/Data_Sheets/36565145644741ADG619_20_a.pdf T 300 2050 5 10 0 0 0 0 1 symversion=0.1 geda-gaf-1.8.2/symbols/misc/tl16c554afn-1.sym0000664000175000017500000002610712204104272015267 00000000000000v 20040111 1 T 300 12200 5 10 0 0 0 0 1 footprint=PLCC68 B 300 300 6000 10800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 11800 5 10 0 0 0 0 1 device=TL16C554AFN T 300 11600 2 10 1 1 0 0 1 refdes=U? T 358 125 3 10 1 0 0 0 1 TL16C554AFN P 3600 11100 3600 11400 1 0 1 { T 3675 11175 5 8 1 1 0 0 1 pinnumber=64 T 3675 11175 5 8 0 0 0 0 1 pinseq=1 T 3458 10950 3 8 1 1 0 0 1 pinlabel=Vcc } P 3900 11100 3900 11400 1 0 1 { T 3975 11175 5 8 1 1 0 0 1 pinnumber=47 T 3975 11175 5 8 0 0 0 0 1 pinseq=2 T 3758 10950 3 8 1 1 0 0 1 pinlabel=Vcc } P 4200 11100 4200 11400 1 0 1 { T 4275 11175 5 8 1 1 0 0 1 pinnumber=30 T 4275 11175 5 8 0 0 0 0 1 pinseq=3 T 4058 10950 3 8 1 1 0 0 1 pinlabel=Vcc } P 4500 11100 4500 11400 1 0 1 { T 4575 11175 5 8 1 1 0 0 1 pinnumber=13 T 4575 11175 5 8 0 0 0 0 1 pinseq=4 T 4358 10950 3 8 1 1 0 0 1 pinlabel=Vcc } P 3600 300 3600 0 1 0 1 { T 3675 150 5 8 1 1 0 0 1 pinnumber=6 T 3675 150 5 8 0 0 0 0 1 pinseq=5 T 3432 350 3 8 1 1 0 0 1 pinlabel=GND } P 3900 300 3900 0 1 0 1 { T 3975 150 5 8 1 1 0 0 1 pinnumber=23 T 3975 150 5 8 0 0 0 0 1 pinseq=6 T 3732 350 3 8 1 1 0 0 1 pinlabel=GND } P 4200 300 4200 0 1 0 1 { T 4275 150 5 8 1 1 0 0 1 pinnumber=40 T 4275 150 5 8 0 0 0 0 1 pinseq=7 T 4032 350 3 8 1 1 0 0 1 pinlabel=GND } P 4500 300 4500 0 1 0 1 { T 4575 150 5 8 1 1 0 0 1 pinnumber=57 T 4575 150 5 8 0 0 0 0 1 pinseq=8 T 4332 350 3 8 1 1 0 0 1 pinlabel=GND } P 2400 300 2400 0 1 0 1 { T 2475 150 5 8 1 1 0 0 1 pinnumber=35 T 2475 150 5 8 0 0 0 0 1 pinseq=9 T 2166 350 3 8 1 1 0 0 1 pinlabel=XTAL1 } P 2700 300 2700 0 1 0 1 { T 2775 150 5 8 1 1 0 0 1 pinnumber=36 T 2775 150 5 8 0 0 0 0 1 pinseq=10 T 2446 350 3 8 1 1 0 0 1 pinlabel=XTAL2 } P 300 10800 0 10800 1 0 1 { T 120 10850 5 8 1 1 0 0 1 pinnumber=5 T 120 10850 5 8 0 0 0 0 1 pinseq=11 T 375 10750 3 8 1 1 0 0 1 pinlabel=D7 } P 300 10500 0 10500 1 0 1 { T 96 10550 5 8 1 1 0 0 1 pinnumber=4 T 96 10550 5 8 0 0 0 0 1 pinseq=12 T 375 10450 3 8 1 1 0 0 1 pinlabel=D6 } P 300 10200 0 10200 1 0 1 { T 120 10250 5 8 1 1 0 0 1 pinnumber=3 T 120 10250 5 8 0 0 0 0 1 pinseq=13 T 375 10150 3 8 1 1 0 0 1 pinlabel=D5 } P 300 9900 0 9900 1 0 1 { T 96 9950 5 8 1 1 0 0 1 pinnumber=2 T 96 9950 5 8 0 0 0 0 1 pinseq=14 T 375 9850 3 8 1 1 0 0 1 pinlabel=D4 } P 300 9600 0 9600 1 0 1 { T 136 9650 5 8 1 1 0 0 1 pinnumber=1 T 136 9650 5 8 0 0 0 0 1 pinseq=15 T 375 9550 3 8 1 1 0 0 1 pinlabel=D3 } P 300 9300 0 9300 1 0 1 { T 16 9350 5 8 1 1 0 0 1 pinnumber=68 T 16 9350 5 8 0 0 0 0 1 pinseq=16 T 375 9250 3 8 1 1 0 0 1 pinlabel=D2 } P 300 9000 0 9000 1 0 1 { T 24 9050 5 8 1 1 0 0 1 pinnumber=67 T 24 9050 5 8 0 0 0 0 1 pinseq=17 T 375 8950 3 8 1 1 0 0 1 pinlabel=D1 } P 300 8700 0 8700 1 0 1 { T 8 8750 5 8 1 1 0 0 1 pinnumber=66 T 8 8750 5 8 0 0 0 0 1 pinseq=18 T 375 8650 3 8 1 1 0 0 1 pinlabel=D0 } P 300 8100 0 8100 1 0 1 { T 16 8150 5 8 1 1 0 0 1 pinnumber=32 T 16 8150 5 8 0 0 0 0 1 pinseq=19 T 375 8050 3 8 1 1 0 0 1 pinlabel=A2 } P 300 7800 0 7800 1 0 1 { T 40 7850 5 8 1 1 0 0 1 pinnumber=33 T 40 7850 5 8 0 0 0 0 1 pinseq=20 T 375 7750 3 8 1 1 0 0 1 pinlabel=A1 } P 300 7500 0 7500 1 0 1 { T 16 7550 5 8 1 1 0 0 1 pinnumber=34 T 16 7550 5 8 0 0 0 0 1 pinseq=21 T 375 7450 3 8 1 1 0 0 1 pinlabel=A0 } V 250 6900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 6900 0 6900 1 0 1 { T 40 6950 5 8 1 1 0 0 1 pinnumber=16 T 40 6950 5 8 0 0 0 0 1 pinseq=22 T 375 6850 3 8 1 1 0 0 1 pinlabel=/CSA } V 250 6600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 6600 0 6600 1 0 1 { T -8 6650 5 8 1 1 0 0 1 pinnumber=20 T -8 6650 5 8 0 0 0 0 1 pinseq=23 T 375 6550 3 8 1 1 0 0 1 pinlabel=/CSB } V 250 6300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 6300 0 6300 1 0 1 { T 16 6350 5 8 1 1 0 0 1 pinnumber=50 T 16 6350 5 8 0 0 0 0 1 pinseq=24 T 375 6250 3 8 1 1 0 0 1 pinlabel=/CSC } V 250 6000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 6000 0 6000 1 0 1 { T 16 6050 5 8 1 1 0 0 1 pinnumber=54 T 16 6050 5 8 0 0 0 0 1 pinseq=25 T 375 5950 3 8 1 1 0 0 1 pinlabel=/CSD } P 300 5400 0 5400 1 0 1 { T 40 5450 5 8 1 1 0 0 1 pinnumber=37 T 40 5450 5 8 0 0 0 0 1 pinseq=26 T 375 5350 3 8 1 1 0 0 1 pinlabel=RESET } V 250 5100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 5100 0 5100 1 0 1 { T 16 5150 5 8 1 1 0 0 1 pinnumber=52 T 16 5150 5 8 0 0 0 0 1 pinseq=27 T 375 5050 3 8 1 1 0 0 1 pinlabel=/IOR } V 250 4800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 4800 0 4800 1 0 1 { T 48 4850 5 8 1 1 0 0 1 pinnumber=18 T 48 4850 5 8 0 0 0 0 1 pinseq=28 T 375 4750 3 8 1 1 0 0 1 pinlabel=/IOW } V 250 4200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 4200 0 4200 1 0 1 { T 32 4250 5 8 1 1 0 0 1 pinnumber=38 T 32 4250 5 8 0 0 0 0 1 pinseq=29 T 375 4150 3 8 1 1 0 0 1 pinlabel=/RXRDY } V 250 3900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 3900 0 3900 1 0 1 { T 16 3950 5 8 1 1 0 0 1 pinnumber=39 T 16 3950 5 8 0 0 0 0 1 pinseq=30 T 375 3850 3 8 1 1 0 0 1 pinlabel=/TXRDY } V 250 3000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 3000 0 3000 1 0 1 { T 24 3050 5 8 1 1 0 0 1 pinnumber=65 T 24 3050 5 8 0 0 0 0 1 pinseq=31 T 375 2950 3 8 1 1 0 0 1 pinlabel=/INTN } P 300 2700 0 2700 1 0 1 { T 56 2750 5 8 1 1 0 0 1 pinnumber=15 T 56 2750 5 8 0 0 0 0 1 pinseq=32 T 375 2650 3 8 1 1 0 0 1 pinlabel=INTA } P 300 2400 0 2400 1 0 1 { T 32 2450 5 8 1 1 0 0 1 pinnumber=21 T 32 2450 5 8 0 0 0 0 1 pinseq=33 T 375 2350 3 8 1 1 0 0 1 pinlabel=INTB } P 300 2100 0 2100 1 0 1 { T -8 2150 5 8 1 1 0 0 1 pinnumber=49 T -8 2150 5 8 0 0 0 0 1 pinseq=34 T 375 2050 3 8 1 1 0 0 1 pinlabel=INTC } P 300 1800 0 1800 1 0 1 { T 40 1850 5 8 1 1 0 0 1 pinnumber=55 T 40 1850 5 8 0 0 0 0 1 pinseq=35 T 375 1750 3 8 1 1 0 0 1 pinlabel=INTD } P 6300 10800 6600 10800 1 0 1 { T 6400 10850 5 8 1 1 0 0 1 pinnumber=7 T 6400 10850 5 8 0 0 0 0 1 pinseq=36 T 5922 10750 3 8 1 1 0 0 1 pinlabel=RXA } P 6300 10500 6600 10500 1 0 1 { T 6400 10550 5 8 1 1 0 0 1 pinnumber=17 T 6400 10550 5 8 0 0 0 0 1 pinseq=37 T 5934 10450 3 8 1 1 0 0 1 pinlabel=TXA } V 6350 10200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 6400 10200 6600 10200 1 0 1 { T 6400 10250 5 8 1 1 0 0 1 pinnumber=8 T 6400 10250 5 8 0 0 0 0 1 pinseq=38 T 5922 10150 3 8 1 1 0 0 1 pinlabel=/RIA } V 6350 9900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 6400 9900 6600 9900 1 0 1 { T 6400 9950 5 8 1 1 0 0 1 pinnumber=9 T 6400 9950 5 8 0 0 0 0 1 pinseq=39 T 5742 9850 3 8 1 1 0 0 1 pinlabel=/DCDA } V 6350 9600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 6400 9600 6600 9600 1 0 1 { T 6400 9650 5 8 1 1 0 0 1 pinnumber=10 T 6400 9650 5 8 0 0 0 0 1 pinseq=40 T 5754 9550 3 8 1 1 0 0 1 pinlabel=/DSRA } V 6350 9300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 6400 9300 6600 9300 1 0 1 { T 6400 9350 5 8 1 1 0 0 1 pinnumber=11 T 6400 9350 5 8 0 0 0 0 1 pinseq=41 T 5758 9250 3 8 1 1 0 0 1 pinlabel=/CTSA } V 6350 9000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 6400 9000 6600 9000 1 0 1 { T 6400 9050 5 8 1 1 0 0 1 pinnumber=12 T 6400 9050 5 8 0 0 0 0 1 pinseq=42 T 5762 8950 3 8 1 1 0 0 1 pinlabel=/DTRA } V 6350 8700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 6400 8700 6600 8700 1 0 1 { T 6400 8750 5 8 1 1 0 0 1 pinnumber=14 T 6400 8750 5 8 0 0 0 0 1 pinseq=43 T 5766 8650 3 8 1 1 0 0 1 pinlabel=/RTSA } P 6300 8100 6600 8100 1 0 1 { T 6400 8150 5 8 1 1 0 0 1 pinnumber=29 T 6400 8150 5 8 0 0 0 0 1 pinseq=44 T 5922 8050 3 8 1 1 0 0 1 pinlabel=RXB } P 6300 7800 6600 7800 1 0 1 { T 6400 7850 5 8 1 1 0 0 1 pinnumber=19 T 6400 7850 5 8 0 0 0 0 1 pinseq=45 T 5934 7750 3 8 1 1 0 0 1 pinlabel=TXB } V 6350 7500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 6400 7500 6600 7500 1 0 1 { T 6400 7550 5 8 1 1 0 0 1 pinnumber=28 T 6400 7550 5 8 0 0 0 0 1 pinseq=46 T 5922 7450 3 8 1 1 0 0 1 pinlabel=/RIB } V 6350 7200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 6400 7200 6600 7200 1 0 1 { T 6400 7250 5 8 1 1 0 0 1 pinnumber=27 T 6400 7250 5 8 0 0 0 0 1 pinseq=47 T 5742 7150 3 8 1 1 0 0 1 pinlabel=/DCDB } V 6350 6900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 6400 6900 6600 6900 1 0 1 { T 6400 6950 5 8 1 1 0 0 1 pinnumber=26 T 6400 6950 5 8 0 0 0 0 1 pinseq=48 T 5754 6850 3 8 1 1 0 0 1 pinlabel=/DSRB } V 6350 6600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 6400 6600 6600 6600 1 0 1 { T 6400 6650 5 8 1 1 0 0 1 pinnumber=25 T 6400 6650 5 8 0 0 0 0 1 pinseq=49 T 5758 6550 3 8 1 1 0 0 1 pinlabel=/CTSB } V 6350 6300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 6400 6300 6600 6300 1 0 1 { T 6400 6350 5 8 1 1 0 0 1 pinnumber=24 T 6400 6350 5 8 0 0 0 0 1 pinseq=50 T 5762 6250 3 8 1 1 0 0 1 pinlabel=/DTRB } V 6350 6000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 6400 6000 6600 6000 1 0 1 { T 6400 6050 5 8 1 1 0 0 1 pinnumber=22 T 6400 6050 5 8 0 0 0 0 1 pinseq=51 T 5766 5950 3 8 1 1 0 0 1 pinlabel=/RTSB } P 6300 5400 6600 5400 1 0 1 { T 6400 5450 5 8 1 1 0 0 1 pinnumber=41 T 6400 5450 5 8 0 0 0 0 1 pinseq=52 T 5926 5350 3 8 1 1 0 0 1 pinlabel=RXC } P 6300 5100 6600 5100 1 0 1 { T 6400 5150 5 8 1 1 0 0 1 pinnumber=51 T 6400 5150 5 8 0 0 0 0 1 pinseq=53 T 5938 5050 3 8 1 1 0 0 1 pinlabel=TXC } V 6350 4800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 6400 4800 6600 4800 1 0 1 { T 6400 4850 5 8 1 1 0 0 1 pinnumber=42 T 6400 4850 5 8 0 0 0 0 1 pinseq=54 T 5926 4750 3 8 1 1 0 0 1 pinlabel=/RIC } V 6350 4500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 6400 4500 6600 4500 1 0 1 { T 6400 4550 5 8 1 1 0 0 1 pinnumber=43 T 6400 4550 5 8 0 0 0 0 1 pinseq=55 T 5746 4450 3 8 1 1 0 0 1 pinlabel=/DCDC } V 6350 4200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 6400 4200 6600 4200 1 0 1 { T 6400 4250 5 8 1 1 0 0 1 pinnumber=44 T 6400 4250 5 8 0 0 0 0 1 pinseq=56 T 5758 4150 3 8 1 1 0 0 1 pinlabel=/DSRC } V 6350 3900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 6400 3900 6600 3900 1 0 1 { T 6400 3950 5 8 1 1 0 0 1 pinnumber=45 T 6400 3950 5 8 0 0 0 0 1 pinseq=57 T 5762 3850 3 8 1 1 0 0 1 pinlabel=/CTSC } V 6350 3600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 6400 3600 6600 3600 1 0 1 { T 6400 3650 5 8 1 1 0 0 1 pinnumber=46 T 6400 3650 5 8 0 0 0 0 1 pinseq=58 T 5766 3550 3 8 1 1 0 0 1 pinlabel=/DTRC } V 6350 3300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 6400 3300 6600 3300 1 0 1 { T 6400 3350 5 8 1 1 0 0 1 pinnumber=48 T 6400 3350 5 8 0 0 0 0 1 pinseq=59 T 5770 3250 3 8 1 1 0 0 1 pinlabel=/RTSC } P 6300 2700 6600 2700 1 0 1 { T 6400 2750 5 8 1 1 0 0 1 pinnumber=63 T 6400 2750 5 8 0 0 0 0 1 pinseq=60 T 5934 2650 3 8 1 1 0 0 1 pinlabel=RXD } P 6300 2400 6600 2400 1 0 1 { T 6400 2450 5 8 1 1 0 0 1 pinnumber=53 T 6400 2450 5 8 0 0 0 0 1 pinseq=61 T 5946 2350 3 8 1 1 0 0 1 pinlabel=TXD } V 6350 2100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 6400 2100 6600 2100 1 0 1 { T 6400 2150 5 8 1 1 0 0 1 pinnumber=62 T 6400 2150 5 8 0 0 0 0 1 pinseq=62 T 5934 2050 3 8 1 1 0 0 1 pinlabel=/RID } V 6350 1800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 6400 1800 6600 1800 1 0 1 { T 6400 1850 5 8 1 1 0 0 1 pinnumber=61 T 6400 1850 5 8 0 0 0 0 1 pinseq=63 T 5754 1750 3 8 1 1 0 0 1 pinlabel=/DCDD } V 6350 1500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 6400 1500 6600 1500 1 0 1 { T 6400 1550 5 8 1 1 0 0 1 pinnumber=60 T 6400 1550 5 8 0 0 0 0 1 pinseq=64 T 5766 1450 3 8 1 1 0 0 1 pinlabel=/DSRD } V 6350 1200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 6400 1200 6600 1200 1 0 1 { T 6400 1250 5 8 1 1 0 0 1 pinnumber=59 T 6400 1250 5 8 0 0 0 0 1 pinseq=65 T 5770 1150 3 8 1 1 0 0 1 pinlabel=/CTSD } V 6350 900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 6400 900 6600 900 1 0 1 { T 6400 950 5 8 1 1 0 0 1 pinnumber=58 T 6400 950 5 8 0 0 0 0 1 pinseq=66 T 5774 850 3 8 1 1 0 0 1 pinlabel=/DTRD } V 6350 600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 6400 600 6600 600 1 0 1 { T 6400 650 5 8 1 1 0 0 1 pinnumber=56 T 6400 650 5 8 0 0 0 0 1 pinseq=67 T 5778 550 3 8 1 1 0 0 1 pinlabel=/RTSD } geda-gaf-1.8.2/symbols/misc/dac08sm-1.sym0000664000175000017500000000521112204104272014643 00000000000000v 20040111 1 P 500 1900 500 2200 1 0 1 { T 400 1750 9 8 1 1 0 0 1 pinlabel=VLC T 525 1950 5 8 1 1 0 0 1 pinnumber=5 T 525 1950 5 8 0 0 0 0 1 pinseq=5 } P 1100 1900 1100 2200 1 0 1 { T 1050 1950 5 8 1 1 90 0 1 pinnumber=16 T 1050 1950 5 8 0 0 90 0 1 pinseq=16 T 1050 1750 9 10 1 1 0 0 1 pinlabel=0 } T 700 2125 5 6 1 0 0 0 1 LSB T 1275 1575 9 8 1 0 0 0 1 DATA BITS P 1300 1900 1300 2200 1 0 1 { T 1275 1750 9 10 1 1 0 0 1 pinlabel=1 T 1275 1950 5 8 1 1 90 0 1 pinnumber=15 T 1275 1950 5 8 0 0 90 0 1 pinseq=15 } P 1500 1900 1500 2200 1 0 1 { T 1450 1750 9 10 1 1 0 0 1 pinlabel=2 T 1475 1950 5 8 1 1 90 0 1 pinnumber=14 T 1475 1950 5 8 0 0 90 0 1 pinseq=14 } P 1700 1900 1700 2200 1 0 1 { T 1650 1750 9 10 1 1 0 0 1 pinlabel=3 T 1650 1950 5 8 1 1 90 0 1 pinnumber=13 T 1650 1950 5 8 0 0 90 0 1 pinseq=13 } P 1900 1900 1900 2200 1 0 1 { T 1850 1750 9 10 1 1 0 0 1 pinlabel=4 T 1850 1950 5 8 1 1 90 0 1 pinnumber=12 T 1850 1950 5 8 0 0 90 0 1 pinseq=12 } P 2100 1900 2100 2200 1 0 1 { T 2075 1750 9 10 1 1 0 0 1 pinlabel=5 T 2075 1975 5 8 1 1 90 0 1 pinnumber=11 T 2075 1975 5 8 0 0 90 0 1 pinseq=11 } P 2300 1900 2300 2200 1 0 1 { T 2250 1750 9 10 1 1 0 0 1 pinlabel=6 T 2275 1950 5 8 1 1 90 0 1 pinnumber=10 T 2275 1950 5 8 0 0 90 0 1 pinseq=10 } P 2500 1900 2500 2200 1 0 1 { T 2450 1750 9 10 1 1 0 0 1 pinlabel=7 T 2475 1975 5 8 1 1 90 0 1 pinnumber=9 T 2475 1975 5 8 0 0 90 0 1 pinseq=9 } T 2575 2125 5 6 1 0 0 0 1 MSB P 0 1500 300 1500 1 0 0 { T 350 1475 9 8 1 1 0 0 1 pinlabel=VREF+ T 100 1550 5 8 1 1 0 0 1 pinnumber=2 T 100 1550 5 8 0 0 0 0 1 pinseq=2 } P 0 700 300 700 1 0 0 { T 350 650 9 8 1 1 0 0 1 pinlabel=VREF- T 100 750 5 8 1 1 0 0 1 pinnumber=3 T 100 750 5 8 0 0 0 0 1 pinseq=3 } L 300 1900 2700 1900 3 0 0 0 -1 -1 L 300 300 2700 300 3 0 0 0 -1 -1 T 2800 2200 5 10 0 0 0 0 1 device=DAC08 L 300 1900 300 300 3 0 0 0 -1 -1 P 500 300 500 0 1 0 1 { T 450 325 9 8 1 1 0 0 1 pinlabel=V- T 550 75 5 8 1 1 0 0 1 pinnumber=7 T 550 75 5 8 0 0 0 0 1 pinseq=7 } P 1100 300 1100 0 1 0 1 { T 975 500 9 8 1 1 0 0 1 pinlabel=EXT T 900 350 9 8 1 1 0 0 1 pinlabel=COMP T 1150 75 5 8 1 1 0 0 1 pinnumber=4 T 1150 75 5 8 0 0 0 0 1 pinseq=4 } P 2100 300 2100 0 1 0 1 { T 2050 325 9 8 1 1 0 0 1 pinlabel=V+ T 2175 75 5 8 1 1 0 0 1 pinnumber=1 T 2175 75 5 8 0 0 0 0 1 pinseq=1 } P 2850 1600 3200 1600 1 0 1 { T 2450 1500 9 8 1 1 0 0 1 pinlabel=IOUT T 3000 1650 5 8 1 1 0 0 1 pinnumber=8 T 3000 1650 5 8 0 0 0 0 1 pinseq=8 } P 2850 600 3200 600 1 0 1 { T 2400 600 9 8 1 1 0 0 1 pinlabel=/IOUT T 3000 425 5 8 1 1 0 0 1 pinnumber=6 T 3000 425 5 8 0 0 0 0 1 pinseq=6 } L 3100 1100 2700 1900 3 0 0 0 -1 -1 L 2700 300 3100 1100 3 0 0 0 -1 -1 T 1300 1100 9 10 1 0 0 0 1 DAC08 T 2900 2000 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/misc/mc1496-1.sym0000664000175000017500000000252312204104272014332 00000000000000v 20031231 1 P 0 600 300 600 1 0 0 { T 100 650 5 8 1 1 0 0 1 pinnumber=1 T 100 650 5 8 0 0 0 0 1 pinseq=1 } T 1260 300 3 8 1 0 0 0 1 Gain- P 1700 1800 2000 1800 1 0 1 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=5 T 1800 1850 5 8 0 0 0 0 1 pinseq=5 } T 360 300 3 8 1 0 0 0 1 Sig in- T 1360 1500 3 8 1 0 0 0 1 Out+ P 0 300 300 300 1 0 0 { T 100 350 5 8 1 1 0 0 1 pinnumber=4 T 100 350 5 8 0 0 0 0 1 pinseq=4 } T 1360 1800 3 8 1 0 0 0 1 Bias T 360 1400 3 8 1 0 0 0 1 Carr- T 1360 1200 3 8 1 0 0 0 1 Out- T 360 1700 3 8 1 0 0 0 1 Carr+ T 300 2140 3 10 1 0 0 0 1 MC1496 P 1700 1500 2000 1500 1 0 1 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=6 T 1800 1550 5 8 0 0 0 0 1 pinseq=6 } P 1700 1200 2000 1200 1 0 1 { T 1800 1250 5 8 1 1 0 0 1 pinnumber=12 T 1800 1250 5 8 0 0 0 0 1 pinseq=12 } P 0 1700 300 1700 1 0 0 { T 100 1750 5 8 1 1 0 0 1 pinnumber=10 T 100 1750 5 8 0 0 0 0 1 pinseq=10 } P 0 1400 300 1400 1 0 0 { T 100 1450 5 8 1 1 0 0 1 pinnumber=8 T 100 1450 5 8 0 0 0 0 1 pinseq=8 } P 1700 300 2000 300 1 0 1 { T 1800 350 5 8 1 1 0 0 1 pinnumber=3 T 1800 350 5 8 0 0 0 0 1 pinseq=3 } P 1700 600 2000 600 1 0 1 { T 1800 650 5 8 1 1 0 0 1 pinnumber=2 T 1800 650 5 8 0 0 0 0 1 pinseq=2 } B 300 0 1400 2100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2100 2200 5 10 0 0 0 0 1 device=MC1496 T 360 600 3 8 1 0 0 0 1 Sig in+ T 1260 600 3 8 1 0 0 0 1 Gain+ T 1700 2200 8 10 1 1 0 6 1 refdes=U? geda-gaf-1.8.2/symbols/misc/MAC160-1.sym0000664000175000017500000000206412204104272014236 00000000000000v 20031231 1 L 300 1200 1300 700 3 0 0 0 -1 -1 T 300 1900 8 10 0 0 0 0 1 footprint=8 pins in a circle L 1300 700 300 200 3 0 0 0 -1 -1 L 300 1200 300 200 3 0 0 0 -1 -1 V 1008 500 49 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 300 500 0 500 1 0 1 { T 100 550 5 8 1 1 0 0 1 pinnumber=2 T 100 550 5 8 0 0 0 0 1 pinseq=2 T 354 384 9 20 1 1 0 0 1 pinlabel=- } P 900 900 1200 900 1 0 1 { T 1015 950 5 8 1 1 0 0 1 pinnumber=7 T 1015 950 5 8 0 0 0 0 1 pinseq=7 } P 1200 500 1058 500 1 0 0 { T 1065 350 5 8 1 1 0 0 1 pinnumber=6 T 1065 350 5 8 0 0 0 0 1 pinseq=6 } T 400 650 9 8 1 0 0 0 1 MAC160 T 100 1200 8 10 1 1 0 0 1 refdes=U? P 300 900 0 900 1 0 1 { T 100 950 5 8 1 1 0 0 1 pinnumber=3 T 100 950 5 8 0 0 0 0 1 pinseq=3 T 363 780 9 20 1 1 0 0 1 pinlabel=+ } P 500 300 500 0 1 0 1 { T 550 150 5 8 1 1 0 0 1 pinnumber=4 T 550 150 5 8 0 0 0 0 1 pinseq=4 } P 500 1400 500 1100 1 0 0 { T 550 1200 5 8 1 1 0 0 1 pinnumber=8 T 550 1200 5 8 0 0 0 0 1 pinseq=8 } P 900 500 900 200 1 0 1 { T 800 300 5 8 1 1 0 0 1 pinnumber=5 T 800 300 5 8 0 0 0 0 1 pinseq=5 } T 300 1700 8 10 0 0 0 0 1 device=MAC160 geda-gaf-1.8.2/symbols/misc/SAB80C537-1.sym0000664000175000017500000003014712204104272014531 00000000000000v 20031231 1 B 400 300 3600 13500 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 T 400 14500 8 10 0 0 0 0 1 device=SAB80C537 T 400 14100 2 10 1 1 0 0 1 refdes=U? T 400 13850 3 10 1 0 0 0 1 SAB80C537 P 4000 8100 4300 8100 1 0 1 { T 4100 8150 5 8 1 1 0 0 1 pinnumber=1 T 4100 8150 5 8 0 0 0 0 1 pinseq=1 T 3594 8050 3 8 1 1 0 0 1 pinlabel=P4.0 } P 4000 7800 4300 7800 1 0 1 { T 4100 7850 5 8 1 1 0 0 1 pinnumber=2 T 4100 7850 5 8 0 0 0 0 1 pinseq=2 T 3634 7750 3 8 1 1 0 0 1 pinlabel=P4.1 } P 4000 7500 4300 7500 1 0 1 { T 4100 7550 5 8 1 1 0 0 1 pinnumber=3 T 4100 7550 5 8 0 0 0 0 1 pinseq=3 T 3594 7450 3 8 1 1 0 0 1 pinlabel=P4.2 } P 400 1500 100 1500 1 0 1 { T 196 1550 5 8 1 1 0 0 1 pinnumber=4 T 196 1550 5 8 0 0 0 0 1 pinseq=4 T 475 1450 3 8 1 1 0 0 1 pinlabel=PE/SWD } P 4000 7200 4300 7200 1 0 1 { T 4100 7250 5 8 1 1 0 0 1 pinnumber=5 T 4100 7250 5 8 0 0 0 0 1 pinseq=5 T 3618 7150 3 8 1 1 0 0 1 pinlabel=P4.3 } P 4000 6900 4300 6900 1 0 1 { T 4100 6950 5 8 1 1 0 0 1 pinnumber=6 T 4100 6950 5 8 0 0 0 0 1 pinseq=6 T 3594 6850 3 8 1 1 0 0 1 pinlabel=P4.4 } P 4000 6600 4300 6600 1 0 1 { T 4100 6650 5 8 1 1 0 0 1 pinnumber=7 T 4100 6650 5 8 0 0 0 0 1 pinseq=7 T 3618 6550 3 8 1 1 0 0 1 pinlabel=P4.5 } P 4000 6300 4300 6300 1 0 1 { T 4100 6350 5 8 1 1 0 0 1 pinnumber=8 T 4100 6350 5 8 0 0 0 0 1 pinseq=8 T 3602 6250 3 8 1 1 0 0 1 pinlabel=P4.6 } P 4000 6000 4300 6000 1 0 1 { T 4100 6050 5 8 1 1 0 0 1 pinnumber=9 T 4100 6050 5 8 0 0 0 0 1 pinseq=9 T 3618 5950 3 8 1 1 0 0 1 pinlabel=P4.7 } P 400 12300 100 12300 1 0 1 { T 132 12350 5 8 1 1 0 0 1 pinnumber=10 T 132 12350 5 8 0 0 0 0 1 pinseq=10 T 475 12250 3 8 1 1 0 0 1 pinlabel=RESET } P 3100 13800 3100 14100 1 0 1 { T 3175 13875 5 8 1 1 0 0 1 pinnumber=11 T 3175 13875 5 8 0 0 0 0 1 pinseq=11 T 3150 13222 3 8 1 1 90 0 1 pinlabel=VAREF } P 400 1800 100 1800 1 0 1 { T 132 1850 5 8 1 1 0 0 1 pinnumber=12 T 132 1850 5 8 0 0 0 0 1 pinseq=12 T 475 1750 3 8 1 1 0 0 1 pinlabel=AGND } P 400 3900 100 3900 1 0 1 { T 156 3950 5 8 1 1 0 0 1 pinnumber=13 T 156 3950 5 8 0 0 0 0 1 pinseq=13 T 475 3850 3 8 1 1 0 0 1 pinlabel=P7.7 } P 400 4200 100 4200 1 0 1 { T 132 4250 5 8 1 1 0 0 1 pinnumber=14 T 132 4250 5 8 0 0 0 0 1 pinseq=14 T 475 4150 3 8 1 1 0 0 1 pinlabel=P7.6 } P 400 4500 100 4500 1 0 1 { T 156 4550 5 8 1 1 0 0 1 pinnumber=15 T 156 4550 5 8 0 0 0 0 1 pinseq=15 T 475 4450 3 8 1 1 0 0 1 pinlabel=P7.5 } P 400 4800 100 4800 1 0 1 { T 140 4850 5 8 1 1 0 0 1 pinnumber=16 T 140 4850 5 8 0 0 0 0 1 pinseq=16 T 475 4750 3 8 1 1 0 0 1 pinlabel=P7.4 } P 400 5100 100 5100 1 0 1 { T 156 5150 5 8 1 1 0 0 1 pinnumber=17 T 156 5150 5 8 0 0 0 0 1 pinseq=17 T 475 5050 3 8 1 1 0 0 1 pinlabel=P7.3 } P 400 5400 100 5400 1 0 1 { T 148 5450 5 8 1 1 0 0 1 pinnumber=18 T 148 5450 5 8 0 0 0 0 1 pinseq=18 T 475 5350 3 8 1 1 0 0 1 pinlabel=P7.2 } P 400 5700 100 5700 1 0 1 { T 132 5750 5 8 1 1 0 0 1 pinnumber=19 T 132 5750 5 8 0 0 0 0 1 pinseq=19 T 475 5650 3 8 1 1 0 0 1 pinlabel=P7.1 } P 400 6000 100 6000 1 0 1 { T 92 6050 5 8 1 1 0 0 1 pinnumber=20 T 92 6050 5 8 0 0 0 0 1 pinseq=20 T 475 5950 3 8 1 1 0 0 1 pinlabel=P7.0 } P 4000 10800 4300 10800 1 0 1 { T 4100 10850 5 8 1 1 0 0 1 pinnumber=21 T 4100 10850 5 8 0 0 0 0 1 pinseq=21 T 3618 10750 3 8 1 1 0 0 1 pinlabel=P3.0 } P 4000 10500 4300 10500 1 0 1 { T 4100 10550 5 8 1 1 0 0 1 pinnumber=22 T 4100 10550 5 8 0 0 0 0 1 pinseq=22 T 3658 10450 3 8 1 1 0 0 1 pinlabel=P3.1 } P 4000 10200 4300 10200 1 0 1 { T 4100 10250 5 8 1 1 0 0 1 pinnumber=23 T 4100 10250 5 8 0 0 0 0 1 pinseq=23 T 3618 10150 3 8 1 1 0 0 1 pinlabel=P3.2 } P 4000 9900 4300 9900 1 0 1 { T 4100 9950 5 8 1 1 0 0 1 pinnumber=24 T 4100 9950 5 8 0 0 0 0 1 pinseq=24 T 3642 9850 3 8 1 1 0 0 1 pinlabel=P3.3 } P 4000 9600 4300 9600 1 0 1 { T 4100 9650 5 8 1 1 0 0 1 pinnumber=25 T 4100 9650 5 8 0 0 0 0 1 pinseq=25 T 3618 9550 3 8 1 1 0 0 1 pinlabel=P3.4 } P 4000 9300 4300 9300 1 0 1 { T 4100 9350 5 8 1 1 0 0 1 pinnumber=26 T 4100 9350 5 8 0 0 0 0 1 pinseq=26 T 3642 9250 3 8 1 1 0 0 1 pinlabel=P3.5 } P 4000 9000 4300 9000 1 0 1 { T 4100 9050 5 8 1 1 0 0 1 pinnumber=27 T 4100 9050 5 8 0 0 0 0 1 pinseq=27 T 3626 8950 3 8 1 1 0 0 1 pinlabel=P3.6 } P 4000 8700 4300 8700 1 0 1 { T 4100 8750 5 8 1 1 0 0 1 pinnumber=28 T 4100 8750 5 8 0 0 0 0 1 pinseq=28 T 3642 8650 3 8 1 1 0 0 1 pinlabel=P3.7 } P 4000 11400 4300 11400 1 0 1 { T 4100 11450 5 8 1 1 0 0 1 pinnumber=29 T 4100 11450 5 8 0 0 0 0 1 pinseq=29 T 3658 11350 3 8 1 1 0 0 1 pinlabel=P1.7 } P 4000 11700 4300 11700 1 0 1 { T 4100 11750 5 8 1 1 0 0 1 pinnumber=30 T 4100 11750 5 8 0 0 0 0 1 pinseq=30 T 3642 11650 3 8 1 1 0 0 1 pinlabel=P1.6 } P 4000 12000 4300 12000 1 0 1 { T 4100 12050 5 8 1 1 0 0 1 pinnumber=31 T 4100 12050 5 8 0 0 0 0 1 pinseq=31 T 3658 11950 3 8 1 1 0 0 1 pinlabel=P1.5 } P 4000 12300 4300 12300 1 0 1 { T 4100 12350 5 8 1 1 0 0 1 pinnumber=32 T 4100 12350 5 8 0 0 0 0 1 pinseq=32 T 3634 12250 3 8 1 1 0 0 1 pinlabel=P1.4 } P 4000 12600 4300 12600 1 0 1 { T 4100 12650 5 8 1 1 0 0 1 pinnumber=33 T 4100 12650 5 8 0 0 0 0 1 pinseq=33 T 3658 12550 3 8 1 1 0 0 1 pinlabel=P1.3 } P 4000 12900 4300 12900 1 0 1 { T 4100 12950 5 8 1 1 0 0 1 pinnumber=34 T 4100 12950 5 8 0 0 0 0 1 pinseq=34 T 3634 12850 3 8 1 1 0 0 1 pinlabel=P1.2 } P 4000 13200 4300 13200 1 0 1 { T 4100 13250 5 8 1 1 0 0 1 pinnumber=35 T 4100 13250 5 8 0 0 0 0 1 pinseq=35 T 3674 13150 3 8 1 1 0 0 1 pinlabel=P1.1 } P 4000 13500 4300 13500 1 0 1 { T 4100 13550 5 8 1 1 0 0 1 pinnumber=36 T 4100 13550 5 8 0 0 0 0 1 pinseq=36 T 3634 13450 3 8 1 1 0 0 1 pinlabel=P1.0 } P 2200 300 2200 0 1 0 1 { T 2275 150 5 8 1 1 0 0 1 pinnumber=37 T 2275 150 5 8 0 0 0 0 1 pinseq=37 T 2250 375 3 8 1 1 90 0 1 pinlabel=VSS } P 1900 13800 1900 14100 1 0 1 { T 1975 13875 5 8 1 1 0 0 1 pinnumber=38 T 1975 13875 5 8 0 0 0 0 1 pinseq=38 T 1950 13418 3 8 1 1 90 0 1 pinlabel=VCC } P 1300 300 1300 0 1 0 1 { T 1375 150 5 8 1 1 0 0 1 pinnumber=39 T 1375 150 5 8 0 0 0 0 1 pinseq=39 T 1350 375 3 8 1 1 90 0 1 pinlabel=X2 } P 700 300 700 0 1 0 1 { T 775 150 5 8 1 1 0 0 1 pinnumber=40 T 775 150 5 8 0 0 0 0 1 pinseq=40 T 750 375 3 8 1 1 90 0 1 pinlabel=X1 } P 400 8700 100 8700 1 0 1 { T 132 8750 5 8 1 1 0 0 1 pinnumber=41 T 132 8750 5 8 0 0 0 0 1 pinseq=41 T 475 8650 3 8 1 1 0 0 1 pinlabel=P2.0 } P 400 8400 100 8400 1 0 1 { T 92 8450 5 8 1 1 0 0 1 pinnumber=42 T 92 8450 5 8 0 0 0 0 1 pinseq=42 T 475 8350 3 8 1 1 0 0 1 pinlabel=P2.1 } P 400 8100 100 8100 1 0 1 { T 116 8150 5 8 1 1 0 0 1 pinnumber=43 T 116 8150 5 8 0 0 0 0 1 pinseq=43 T 475 8050 3 8 1 1 0 0 1 pinlabel=P2.2 } P 400 7800 100 7800 1 0 1 { T 92 7850 5 8 1 1 0 0 1 pinnumber=44 T 92 7850 5 8 0 0 0 0 1 pinseq=44 T 475 7750 3 8 1 1 0 0 1 pinlabel=P2.3 } P 400 7500 100 7500 1 0 1 { T 116 7550 5 8 1 1 0 0 1 pinnumber=45 T 116 7550 5 8 0 0 0 0 1 pinseq=45 T 475 7450 3 8 1 1 0 0 1 pinlabel=P2.4 } P 400 7200 100 7200 1 0 1 { T 100 7250 5 8 1 1 0 0 1 pinnumber=46 T 100 7250 5 8 0 0 0 0 1 pinseq=46 T 475 7150 3 8 1 1 0 0 1 pinlabel=P2.5 } P 400 6900 100 6900 1 0 1 { T 116 6950 5 8 1 1 0 0 1 pinnumber=47 T 116 6950 5 8 0 0 0 0 1 pinseq=47 T 475 6850 3 8 1 1 0 0 1 pinlabel=P2.6 } P 400 6600 100 6600 1 0 1 { T 108 6650 5 8 1 1 0 0 1 pinnumber=48 T 108 6650 5 8 0 0 0 0 1 pinseq=48 T 475 6550 3 8 1 1 0 0 1 pinlabel=P2.7 } P 400 12600 100 12600 1 0 1 { T 92 12650 5 8 1 1 0 0 1 pinnumber=49 T 92 12650 5 8 0 0 0 0 1 pinseq=49 T 475 12550 3 8 1 1 0 0 1 pinlabel=PSEN } P 400 12000 100 12000 1 0 1 { T 116 12050 5 8 1 1 0 0 1 pinnumber=50 T 116 12050 5 8 0 0 0 0 1 pinseq=50 T 475 11950 3 8 1 1 0 0 1 pinlabel=ALE } P 400 1200 100 1200 1 0 1 { T 156 1250 5 8 1 1 0 0 1 pinnumber=51 T 156 1250 5 8 0 0 0 0 1 pinseq=51 T 475 1150 3 8 1 1 0 0 1 pinlabel=EA } P 400 11400 100 11400 1 0 1 { T 116 11450 5 8 1 1 0 0 1 pinnumber=52 T 116 11450 5 8 0 0 0 0 1 pinseq=52 T 475 11350 3 8 1 1 0 0 1 pinlabel=P0.0 } P 400 11100 100 11100 1 0 1 { T 140 11150 5 8 1 1 0 0 1 pinnumber=53 T 140 11150 5 8 0 0 0 0 1 pinseq=53 T 475 11050 3 8 1 1 0 0 1 pinlabel=P0.1 } P 400 10800 100 10800 1 0 1 { T 116 10850 5 8 1 1 0 0 1 pinnumber=54 T 116 10850 5 8 0 0 0 0 1 pinseq=54 T 475 10750 3 8 1 1 0 0 1 pinlabel=P0.2 } P 400 10500 100 10500 1 0 1 { T 140 10550 5 8 1 1 0 0 1 pinnumber=55 T 140 10550 5 8 0 0 0 0 1 pinseq=55 T 475 10450 3 8 1 1 0 0 1 pinlabel=P0.3 } P 400 10200 100 10200 1 0 1 { T 124 10250 5 8 1 1 0 0 1 pinnumber=56 T 124 10250 5 8 0 0 0 0 1 pinseq=56 T 475 10150 3 8 1 1 0 0 1 pinlabel=P0.4 } P 400 9900 100 9900 1 0 1 { T 140 9950 5 8 1 1 0 0 1 pinnumber=57 T 140 9950 5 8 0 0 0 0 1 pinseq=57 T 475 9850 3 8 1 1 0 0 1 pinlabel=P0.5 } P 400 9600 100 9600 1 0 1 { T 132 9650 5 8 1 1 0 0 1 pinnumber=58 T 132 9650 5 8 0 0 0 0 1 pinseq=58 T 475 9550 3 8 1 1 0 0 1 pinlabel=P0.6 } P 400 9300 100 9300 1 0 1 { T 116 9350 5 8 1 1 0 0 1 pinnumber=59 T 116 9350 5 8 0 0 0 0 1 pinseq=59 T 475 9250 3 8 1 1 0 0 1 pinlabel=P0.7 } P 2500 300 2500 0 1 0 1 { T 2575 150 5 8 1 1 0 0 1 pinnumber=60 T 2575 150 5 8 0 0 0 0 1 pinseq=60 T 2550 375 3 8 1 1 90 0 1 pinlabel=VSS } P 4000 3300 4300 3300 1 0 1 { T 4100 3350 5 8 1 1 0 0 1 pinnumber=61 T 4100 3350 5 8 0 0 0 0 1 pinseq=61 T 3642 3250 3 8 1 1 0 0 1 pinlabel=P5.7 } P 4000 3600 4300 3600 1 0 1 { T 4100 3650 5 8 1 1 0 0 1 pinnumber=62 T 4100 3650 5 8 0 0 0 0 1 pinseq=62 T 3626 3550 3 8 1 1 0 0 1 pinlabel=P5.6 } P 4000 3900 4300 3900 1 0 1 { T 4100 3950 5 8 1 1 0 0 1 pinnumber=63 T 4100 3950 5 8 0 0 0 0 1 pinseq=63 T 3642 3850 3 8 1 1 0 0 1 pinlabel=P5.5 } P 4000 4200 4300 4200 1 0 1 { T 4100 4250 5 8 1 1 0 0 1 pinnumber=64 T 4100 4250 5 8 0 0 0 0 1 pinseq=64 T 3618 4150 3 8 1 1 0 0 1 pinlabel=P5.4 } P 4000 4500 4300 4500 1 0 1 { T 4100 4550 5 8 1 1 0 0 1 pinnumber=65 T 4100 4550 5 8 0 0 0 0 1 pinseq=65 T 3642 4450 3 8 1 1 0 0 1 pinlabel=P5.3 } P 4000 4800 4300 4800 1 0 1 { T 4100 4850 5 8 1 1 0 0 1 pinnumber=66 T 4100 4850 5 8 0 0 0 0 1 pinseq=66 T 3618 4750 3 8 1 1 0 0 1 pinlabel=P5.2 } P 4000 5100 4300 5100 1 0 1 { T 4100 5150 5 8 1 1 0 0 1 pinnumber=67 T 4100 5150 5 8 0 0 0 0 1 pinseq=67 T 3658 5050 3 8 1 1 0 0 1 pinlabel=P5.1 } P 4000 5400 4300 5400 1 0 1 { T 4100 5450 5 8 1 1 0 0 1 pinnumber=68 T 4100 5450 5 8 0 0 0 0 1 pinseq=68 T 3618 5350 3 8 1 1 0 0 1 pinlabel=P5.0 } P 400 13200 100 13200 1 0 1 { T 100 13250 5 8 1 1 0 0 1 pinnumber=69 T 100 13250 5 8 0 0 0 0 1 pinseq=69 T 475 13150 3 8 1 1 0 0 1 pinlabel=OWE } P 4000 2700 4300 2700 1 0 1 { T 4100 2750 5 8 1 1 0 0 1 pinnumber=70 T 4100 2750 5 8 0 0 0 0 1 pinseq=70 T 3602 2650 3 8 1 1 0 0 1 pinlabel=P6.0 } P 4000 2400 4300 2400 1 0 1 { T 4100 2450 5 8 1 1 0 0 1 pinnumber=71 T 4100 2450 5 8 0 0 0 0 1 pinseq=71 T 3642 2350 3 8 1 1 0 0 1 pinlabel=P6.1 } P 4000 2100 4300 2100 1 0 1 { T 4100 2150 5 8 1 1 0 0 1 pinnumber=72 T 4100 2150 5 8 0 0 0 0 1 pinseq=72 T 3602 2050 3 8 1 1 0 0 1 pinlabel=P6.2 } P 4000 1800 4300 1800 1 0 1 { T 4100 1850 5 8 1 1 0 0 1 pinnumber=73 T 4100 1850 5 8 0 0 0 0 1 pinseq=73 T 3626 1750 3 8 1 1 0 0 1 pinlabel=P6.3 } P 4000 1500 4300 1500 1 0 1 { T 4100 1550 5 8 1 1 0 0 1 pinnumber=74 T 4100 1550 5 8 0 0 0 0 1 pinseq=74 T 3602 1450 3 8 1 1 0 0 1 pinlabel=P6.4 } P 4000 1200 4300 1200 1 0 1 { T 4100 1250 5 8 1 1 0 0 1 pinnumber=75 T 4100 1250 5 8 0 0 0 0 1 pinseq=75 T 3626 1150 3 8 1 1 0 0 1 pinlabel=P6.5 } P 4000 900 4300 900 1 0 1 { T 4100 950 5 8 1 1 0 0 1 pinnumber=76 T 4100 950 5 8 0 0 0 0 1 pinseq=76 T 3610 850 3 8 1 1 0 0 1 pinlabel=P6.6 } P 4000 600 4300 600 1 0 1 { T 4100 650 5 8 1 1 0 0 1 pinnumber=77 T 4100 650 5 8 0 0 0 0 1 pinseq=77 T 3626 550 3 8 1 1 0 0 1 pinlabel=P6.7 } P 400 3300 100 3300 1 0 1 { T 132 3350 5 8 1 1 0 0 1 pinnumber=78 T 132 3350 5 8 0 0 0 0 1 pinseq=78 T 475 3250 3 8 1 1 0 0 1 pinlabel=P8.0 } P 400 3000 100 3000 1 0 1 { T 116 3050 5 8 1 1 0 0 1 pinnumber=79 T 116 3050 5 8 0 0 0 0 1 pinseq=79 T 475 2950 3 8 1 1 0 0 1 pinlabel=P8.1 } P 400 2700 100 2700 1 0 1 { T 108 2750 5 8 1 1 0 0 1 pinnumber=80 T 108 2750 5 8 0 0 0 0 1 pinseq=80 T 475 2650 3 8 1 1 0 0 1 pinlabel=P8.2 } P 400 2400 100 2400 1 0 1 { T 148 2450 5 8 1 1 0 0 1 pinnumber=81 T 148 2450 5 8 0 0 0 0 1 pinseq=81 T 475 2350 3 8 1 1 0 0 1 pinlabel=P8.3 } P 400 12900 100 12900 1 0 1 { T 108 12950 5 8 1 1 0 0 1 pinnumber=82 T 108 12950 5 8 0 0 0 0 1 pinseq=82 T 475 12850 3 8 1 1 0 0 1 pinlabel=RO } P 1900 300 1900 0 1 0 1 { T 1975 150 5 8 1 1 0 0 1 pinnumber=83 T 1975 150 5 8 0 0 0 0 1 pinseq=83 T 1950 375 3 8 1 1 90 0 1 pinlabel=VSS } P 2500 13800 2500 14100 1 0 1 { T 2575 13875 5 8 1 1 0 0 1 pinnumber=84 T 2575 13875 5 8 0 0 0 0 1 pinseq=84 T 2550 13418 3 8 1 1 90 0 1 pinlabel=VCC } geda-gaf-1.8.2/symbols/pla/0000775000175000017500000000000012220655765012436 500000000000000geda-gaf-1.8.2/symbols/pla/N82S100N-1.sym0000664000175000017500000000736312204104272014270 00000000000000v 20060906 1 T 300 7450 5 10 0 0 0 0 1 device=N82S100N T 300 7050 5 10 0 0 0 0 1 numslots=0 T 300 7250 5 10 0 0 0 0 1 footprint=DIP28 B 300 0 1400 6800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 300 6500 0 6500 1 0 1 { T 400 6500 3 10 1 1 0 0 1 pinlabel=I0 T 150 6550 5 8 1 1 0 0 1 pinnumber=9 T 150 6550 5 8 0 0 0 0 1 pinseq=1 } P 300 6100 0 6100 1 0 1 { T 400 6100 3 10 1 1 0 0 1 pinlabel=I1 T 150 6150 5 8 1 1 0 0 1 pinnumber=8 T 150 6150 5 8 0 0 0 0 1 pinseq=2 } P 300 5700 0 5700 1 0 1 { T 400 5700 3 10 1 1 0 0 1 pinlabel=I2 T 150 5750 5 8 1 1 0 0 1 pinnumber=7 T 150 5750 5 8 0 0 0 0 1 pinseq=3 } P 300 5300 0 5300 1 0 1 { T 400 5300 3 10 1 1 0 0 1 pinlabel=I3 T 150 5350 5 8 1 1 0 0 1 pinnumber=6 T 150 5350 5 8 0 0 0 0 1 pinseq=4 } P 300 4900 0 4900 1 0 1 { T 400 4900 3 10 1 1 0 0 1 pinlabel=I4 T 150 4950 5 8 1 1 0 0 1 pinnumber=5 T 150 4950 5 8 0 0 0 0 1 pinseq=5 } P 300 4500 0 4500 1 0 1 { T 400 4500 3 10 1 1 0 0 1 pinlabel=I5 T 150 4550 5 8 1 1 0 0 1 pinnumber=4 T 150 4550 5 8 0 0 0 0 1 pinseq=6 } P 300 4100 0 4100 1 0 1 { T 400 4100 3 10 1 1 0 0 1 pinlabel=I6 T 150 4150 5 8 1 1 0 0 1 pinnumber=3 T 150 4150 5 8 0 0 0 0 1 pinseq=7 } P 300 3700 0 3700 1 0 1 { T 400 3700 3 10 1 1 0 0 1 pinlabel=I7 T 150 3750 5 8 1 1 0 0 1 pinnumber=2 T 150 3750 5 8 0 0 0 0 1 pinseq=8 } P 300 3300 0 3300 1 0 1 { T 400 3300 3 10 1 1 0 0 1 pinlabel=I8 T 50 3350 5 8 1 1 0 0 1 pinnumber=27 T 50 3350 5 8 0 0 0 0 1 pinseq=9 } P 300 2900 0 2900 1 0 1 { T 400 2900 3 10 1 1 0 0 1 pinlabel=I9 T 50 2950 5 8 1 1 0 0 1 pinnumber=26 T 50 2950 5 8 0 0 0 0 1 pinseq=10 } P 300 2500 0 2500 1 0 1 { T 400 2500 3 10 1 1 0 0 1 pinlabel=I10 T 50 2550 5 8 1 1 0 0 1 pinnumber=25 T 50 2550 5 8 0 0 0 0 1 pinseq=11 } P 300 2100 0 2100 1 0 1 { T 400 2100 3 10 1 1 0 0 1 pinlabel=I11 T 50 2150 5 8 1 1 0 0 1 pinnumber=24 T 50 2150 5 8 0 0 0 0 1 pinseq=12 } P 300 1700 0 1700 1 0 1 { T 400 1700 3 10 1 1 0 0 1 pinlabel=I12 T 50 1750 5 8 1 1 0 0 1 pinnumber=23 T 50 1750 5 8 0 0 0 0 1 pinseq=13 } P 300 1300 0 1300 1 0 1 { T 400 1300 3 10 1 1 0 0 1 pinlabel=I13 T 50 1350 5 8 1 1 0 0 1 pinnumber=22 T 50 1350 5 8 0 0 0 0 1 pinseq=14 } P 300 900 0 900 1 0 1 { T 400 900 3 10 1 1 0 0 1 pinlabel=I14 T 50 950 5 8 1 1 0 0 1 pinnumber=21 T 50 950 5 8 0 0 0 0 1 pinseq=15 } P 300 500 0 500 1 0 1 { T 400 500 3 10 1 1 0 0 1 pinlabel=I15 T 50 550 5 8 1 1 0 0 1 pinnumber=20 T 50 550 5 8 0 0 0 0 1 pinseq=16 } P 200 100 0 100 1 0 1 { T 400 100 3 10 1 1 0 0 1 pinlabel=CE T 50 150 5 8 1 1 0 0 1 pinnumber=19 T 50 150 5 8 0 0 0 0 1 pinseq=17 } V 250 100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 4900 1700 4900 1 0 0 { T 1400 4900 3 10 1 1 0 0 1 pinlabel=F7 T 1800 4950 5 8 1 1 0 0 1 pinnumber=10 T 1800 4950 5 8 0 0 0 0 1 pinseq=25 } P 2000 4500 1700 4500 1 0 0 { T 1400 4500 3 10 1 1 0 0 1 pinlabel=F6 T 1800 4550 5 8 1 1 0 0 1 pinnumber=11 T 1800 4550 5 8 0 0 0 0 1 pinseq=24 } P 2000 4100 1700 4100 1 0 0 { T 1400 4100 3 10 1 1 0 0 1 pinlabel=F5 T 1800 4150 5 8 1 1 0 0 1 pinnumber=12 T 1800 4150 5 8 0 0 0 0 1 pinseq=23 } P 2000 3700 1700 3700 1 0 0 { T 1400 3700 3 10 1 1 0 0 1 pinlabel=F4 T 1800 3750 5 8 1 1 0 0 1 pinnumber=13 T 1800 3750 5 8 0 0 0 0 1 pinseq=22 } P 2000 3300 1700 3300 1 0 0 { T 1400 3300 3 10 1 1 0 0 1 pinlabel=F3 T 1800 3350 5 8 1 1 0 0 1 pinnumber=15 T 1800 3350 5 8 0 0 0 0 1 pinseq=21 } P 2000 2900 1700 2900 1 0 0 { T 1400 2900 3 10 1 1 0 0 1 pinlabel=F2 T 1800 2950 5 8 1 1 0 0 1 pinnumber=16 T 1800 2950 5 8 0 0 0 0 1 pinseq=20 } P 2000 2500 1700 2500 1 0 0 { T 1400 2500 3 10 1 1 0 0 1 pinlabel=F1 T 1800 2550 5 8 1 1 0 0 1 pinnumber=17 T 1800 2550 5 8 0 0 0 0 1 pinseq=19 } P 2000 2100 1700 2100 1 0 0 { T 1400 2100 3 10 1 1 0 0 1 pinlabel=F0 T 1800 2150 5 8 1 1 0 0 1 pinnumber=18 T 1800 2150 5 8 0 0 0 0 1 pinseq=18 } T 300 6850 9 10 1 0 0 0 1 N82S100N T 1700 6900 8 10 1 1 0 0 1 refdes=U? T 300 7650 5 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/pla/PAL12H6-1.sym0000664000175000017500000000530712204104272014210 00000000000000v 20031231 1 T 2200 4700 5 10 0 0 0 0 1 device=PAL12H6 T 2200 4300 5 10 0 0 0 0 1 slot=1 T 2200 4500 5 10 0 0 0 0 1 footprint=DIP20 B 300 0 1400 4800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 300 4500 0 4500 1 0 1 { T 400 4500 3 10 1 1 0 0 1 pinlabel=I0 T 150 4550 5 8 1 1 0 0 1 pinnumber=2 T 150 4550 5 8 0 0 0 0 1 pinseq=2 } P 300 4100 0 4100 1 0 1 { T 400 4100 3 10 1 1 0 0 1 pinlabel=I1 T 150 4150 5 8 1 1 0 0 1 pinnumber=1 T 150 4150 5 8 0 0 0 0 1 pinseq=1 } P 300 3700 0 3700 1 0 1 { T 400 3700 3 10 1 1 0 0 1 pinlabel=I2 T 150 3750 5 8 1 1 0 0 1 pinnumber=3 T 150 3750 5 8 0 0 0 0 1 pinseq=3 } P 300 3300 0 3300 1 0 1 { T 400 3300 3 10 1 1 0 0 1 pinlabel=I3 T 50 3350 5 8 1 1 0 0 1 pinnumber=19 T 50 3350 5 8 0 0 0 0 1 pinseq=19 } P 300 2900 0 2900 1 0 1 { T 400 2900 3 10 1 1 0 0 1 pinlabel=I4 T 150 2950 5 8 1 1 0 0 1 pinnumber=4 T 150 2950 5 8 0 0 0 0 1 pinseq=4 } P 300 2500 0 2500 1 0 1 { T 400 2500 3 10 1 1 0 0 1 pinlabel=I5 T 150 2550 5 8 1 1 0 0 1 pinnumber=5 T 150 2550 5 8 0 0 0 0 1 pinseq=5 } P 300 2100 0 2100 1 0 1 { T 400 2100 3 10 1 1 0 0 1 pinlabel=I6 T 150 2150 5 8 1 1 0 0 1 pinnumber=6 T 150 2150 5 8 0 0 0 0 1 pinseq=6 } P 300 1700 0 1700 1 0 1 { T 400 1700 3 10 1 1 0 0 1 pinlabel=I7 T 150 1750 5 8 1 1 0 0 1 pinnumber=7 T 150 1750 5 8 0 0 0 0 1 pinseq=7 } P 300 1300 0 1300 1 0 1 { T 400 1300 3 10 1 1 0 0 1 pinlabel=I8 T 150 1350 5 8 1 1 0 0 1 pinnumber=8 T 150 1350 5 8 0 0 0 0 1 pinseq=8 } P 300 900 0 900 1 0 1 { T 400 900 3 10 1 1 0 0 1 pinlabel=I9 T 50 950 5 8 1 1 0 0 1 pinnumber=12 T 50 950 5 8 0 0 0 0 1 pinseq=12 } P 300 500 0 500 1 0 1 { T 400 500 3 10 1 1 0 0 1 pinlabel=I10 T 150 550 5 8 1 1 0 0 1 pinnumber=9 T 150 550 5 8 0 0 0 0 1 pinseq=9 } P 300 100 0 100 1 0 1 { T 400 100 3 10 1 1 0 0 1 pinlabel=I11 T 50 150 5 8 1 1 0 0 1 pinnumber=11 T 50 150 5 8 0 0 0 0 1 pinseq=11 } P 2000 3300 1700 3300 1 0 0 { T 1300 3300 3 10 1 1 0 0 1 pinlabel=F5 T 1800 3350 5 8 1 1 0 0 1 pinnumber=18 T 1800 3350 5 8 0 0 0 0 1 pinseq=18 } P 2000 2900 1700 2900 1 0 0 { T 1300 2900 3 10 1 1 0 0 1 pinlabel=F4 T 1800 2950 5 8 1 1 0 0 1 pinnumber=17 T 1800 2950 5 8 0 0 0 0 1 pinseq=17 } P 2000 2500 1700 2500 1 0 0 { T 1300 2500 3 10 1 1 0 0 1 pinlabel=F3 T 1800 2550 5 8 1 1 0 0 1 pinnumber=16 T 1800 2550 5 8 0 0 0 0 1 pinseq=16 } P 2000 2100 1700 2100 1 0 0 { T 1300 2100 3 10 1 1 0 0 1 pinlabel=F2 T 1800 2150 5 8 1 1 0 0 1 pinnumber=15 T 1800 2150 5 8 0 0 0 0 1 pinseq=15 } P 2000 1700 1700 1700 1 0 0 { T 1300 1700 3 10 1 1 0 0 1 pinlabel=F1 T 1800 1750 5 8 1 1 0 0 1 pinnumber=14 T 1800 1750 5 8 0 0 0 0 1 pinseq=14 } T 300 4850 9 10 1 0 0 0 1 PAL12H6 T 1700 4900 8 10 1 1 0 0 1 refdes=U? P 2000 1300 1700 1300 1 0 0 { T 1300 1300 3 10 1 1 0 0 1 pinlabel=F0 T 1800 1350 5 8 1 1 0 0 1 pinnumber=13 T 1800 1350 5 8 0 0 0 0 1 pinseq=13 } geda-gaf-1.8.2/symbols/pla/PAL20X10-1.sym0000664000175000017500000000646012204104272014303 00000000000000v 20031231 1 T 2200 4700 5 10 0 0 0 0 1 device=PAL20X10 T 2200 4300 5 10 0 0 0 0 1 slot=1 T 2200 4500 5 10 0 0 0 0 1 footprint=DIP24 B 300 0 1400 4800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 300 4500 0 4500 1 0 1 { T 400 4500 3 10 1 1 0 0 1 pinlabel=I0 T 150 4550 5 8 1 1 0 0 1 pinnumber=2 T 150 4550 5 8 0 0 0 0 1 pinseq=2 } P 300 4100 0 4100 1 0 1 { T 400 4100 3 10 1 1 0 0 1 pinlabel=I1 T 150 4150 5 8 1 1 0 0 1 pinnumber=3 T 150 4150 5 8 0 0 0 0 1 pinseq=3 } P 300 3700 0 3700 1 0 1 { T 400 3700 3 10 1 1 0 0 1 pinlabel=I2 T 150 3750 5 8 1 1 0 0 1 pinnumber=4 T 150 3750 5 8 0 0 0 0 1 pinseq=4 } P 300 3300 0 3300 1 0 1 { T 400 3300 3 10 1 1 0 0 1 pinlabel=I3 T 150 3350 5 8 1 1 0 0 1 pinnumber=5 T 150 3350 5 8 0 0 0 0 1 pinseq=5 } P 300 2900 0 2900 1 0 1 { T 400 2900 3 10 1 1 0 0 1 pinlabel=I4 T 150 2950 5 8 1 1 0 0 1 pinnumber=6 T 150 2950 5 8 0 0 0 0 1 pinseq=6 } P 300 2500 0 2500 1 0 1 { T 400 2500 3 10 1 1 0 0 1 pinlabel=I5 T 150 2550 5 8 1 1 0 0 1 pinnumber=7 T 150 2550 5 8 0 0 0 0 1 pinseq=7 } P 300 2100 0 2100 1 0 1 { T 400 2100 3 10 1 1 0 0 1 pinlabel=I6 T 150 2150 5 8 1 1 0 0 1 pinnumber=8 T 150 2150 5 8 0 0 0 0 1 pinseq=8 } P 300 1700 0 1700 1 0 1 { T 400 1700 3 10 1 1 0 0 1 pinlabel=I7 T 150 1750 5 8 1 1 0 0 1 pinnumber=9 T 150 1750 5 8 0 0 0 0 1 pinseq=9 } P 300 1300 0 1300 1 0 1 { T 400 1300 3 10 1 1 0 0 1 pinlabel=I8 T 50 1350 5 8 1 1 0 0 1 pinnumber=10 T 50 1350 5 8 0 0 0 0 1 pinseq=10 } P 300 900 0 900 1 0 1 { T 400 900 3 10 1 1 0 0 1 pinlabel=I9 T 50 950 5 8 1 1 0 0 1 pinnumber=11 T 50 950 5 8 0 0 0 0 1 pinseq=11 } P 300 500 0 500 1 0 1 { T 400 500 3 10 1 1 0 0 1 pinlabel=CLK T 50 550 5 8 1 1 0 0 1 pinnumber=1 T 50 550 5 8 0 0 0 0 1 pinseq=1 } P 200 100 0 100 1 0 1 { T 400 100 3 10 1 1 0 0 1 pinlabel=CE T 50 150 5 8 1 1 0 0 1 pinnumber=13 T 50 150 5 8 0 0 0 0 1 pinseq=13 } V 250 100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 3700 1700 3700 1 0 0 { T 1300 3700 3 10 1 1 0 0 1 pinlabel=Q8 T 1800 3750 5 8 1 1 0 0 1 pinnumber=22 T 1800 3750 5 8 0 0 0 0 1 pinseq=22 } P 2000 3300 1700 3300 1 0 0 { T 1300 3300 3 10 1 1 0 0 1 pinlabel=Q7 T 1800 3350 5 8 1 1 0 0 1 pinnumber=21 T 1800 3350 5 8 0 0 0 0 1 pinseq=21 } P 2000 2900 1700 2900 1 0 0 { T 1300 2900 3 10 1 1 0 0 1 pinlabel=Q6 T 1800 2950 5 8 1 1 0 0 1 pinnumber=20 T 1800 2950 5 8 0 0 0 0 1 pinseq=20 } P 2000 2500 1700 2500 1 0 0 { T 1300 2500 3 10 1 1 0 0 1 pinlabel=Q5 T 1800 2550 5 8 1 1 0 0 1 pinnumber=19 T 1800 2550 5 8 0 0 0 0 1 pinseq=19 } P 2000 2100 1700 2100 1 0 0 { T 1300 2100 3 10 1 1 0 0 1 pinlabel=Q4 T 1800 2150 5 8 1 1 0 0 1 pinnumber=18 T 1800 2150 5 8 0 0 0 0 1 pinseq=18 } P 2000 1700 1700 1700 1 0 0 { T 1300 1700 3 10 1 1 0 0 1 pinlabel=Q3 T 1800 1750 5 8 1 1 0 0 1 pinnumber=17 T 1800 1750 5 8 0 0 0 0 1 pinseq=17 } P 2000 1300 1700 1300 1 0 0 { T 1300 1300 3 10 1 1 0 0 1 pinlabel=Q2 T 1800 1350 5 8 1 1 0 0 1 pinnumber=16 T 1800 1350 5 8 0 0 0 0 1 pinseq=16 } P 2000 900 1700 900 1 0 0 { T 1300 900 3 10 1 1 0 0 1 pinlabel=Q1 T 1800 950 5 8 1 1 0 0 1 pinnumber=15 T 1800 950 5 8 0 0 0 0 1 pinseq=15 } T 300 4850 9 10 1 0 0 0 1 PAL20X10 T 1700 4900 8 10 1 1 0 0 1 refdes=U? P 2000 4100 1700 4100 1 0 0 { T 1300 4100 3 10 1 1 0 0 1 pinlabel=Q9 T 1800 4150 5 8 1 1 0 0 1 pinnumber=23 T 1800 4150 5 8 0 0 0 0 1 pinseq=23 } P 2000 500 1700 500 1 0 0 { T 1300 500 3 10 1 1 0 0 1 pinlabel=Q0 T 1800 550 5 8 1 1 0 0 1 pinnumber=14 T 1800 550 5 8 0 0 0 0 1 pinseq=14 } geda-gaf-1.8.2/symbols/pla/22V10-PLCC.sym0000664000175000017500000001037112204104272014323 00000000000000v 20031231 1 T 300 6800 5 10 0 0 0 0 1 footprint=PLCC28 T 300 7000 5 10 0 0 0 0 1 pins=28 T 300 6400 5 10 0 0 0 0 1 device=22V10-PLCC T 300 6600 5 10 0 0 0 0 1 class=IC T 300 6200 2 10 1 1 0 0 1 refdes=U? T 300 5750 3 10 1 0 0 0 1 22V10-PLCC P 1800 5700 1800 6000 1 0 1 { T 1875 5775 5 8 1 1 0 0 1 pinnumber=28 T 1875 5775 5 8 0 0 0 0 1 pinseq=1 T 1808 5600 3 8 1 1 0 5 1 pinlabel=Vcc } P 1800 300 1800 0 1 0 1 { T 1875 150 5 8 1 1 0 0 1 pinnumber=14 T 1875 150 5 8 0 0 0 0 1 pinseq=2 T 1782 350 3 8 1 1 0 3 1 pinlabel=GND } P 300 5400 0 5400 1 0 1 { T 96 5450 5 8 1 1 0 0 1 pinnumber=2 T 96 5450 5 8 0 0 0 0 1 pinseq=3 T 375 5350 3 8 1 1 0 0 1 pinlabel=CLK/I0 } P 300 5100 0 5100 1 0 1 { T 120 5150 5 8 1 1 0 0 1 pinnumber=3 T 120 5150 5 8 0 0 0 0 1 pinseq=4 T 375 5050 3 8 1 1 0 0 1 pinlabel=I1 } P 300 4800 0 4800 1 0 1 { T 96 4850 5 8 1 1 0 0 1 pinnumber=4 T 96 4850 5 8 0 0 0 0 1 pinseq=5 T 375 4750 3 8 1 1 0 0 1 pinlabel=I2 } P 300 4500 0 4500 1 0 1 { T 120 4550 5 8 1 1 0 0 1 pinnumber=5 T 120 4550 5 8 0 0 0 0 1 pinseq=6 T 375 4450 3 8 1 1 0 0 1 pinlabel=I3 } P 300 4200 0 4200 1 0 1 { T 104 4250 5 8 1 1 0 0 1 pinnumber=6 T 104 4250 5 8 0 0 0 0 1 pinseq=7 T 375 4150 3 8 1 1 0 0 1 pinlabel=I4 } P 300 3900 0 3900 1 0 1 { T 120 3950 5 8 1 1 0 0 1 pinnumber=7 T 120 3950 5 8 0 0 0 0 1 pinseq=8 T 375 3850 3 8 1 1 0 0 1 pinlabel=I5 } P 300 3600 0 3600 1 0 1 { T 96 3650 5 8 1 1 0 0 1 pinnumber=9 T 96 3650 5 8 0 0 0 0 1 pinseq=9 T 375 3550 3 8 1 1 0 0 1 pinlabel=I6 } P 300 3300 0 3300 1 0 1 { T 32 3350 5 8 1 1 0 0 1 pinnumber=10 T 32 3350 5 8 0 0 0 0 1 pinseq=10 T 375 3250 3 8 1 1 0 0 1 pinlabel=I7 } P 300 3000 0 3000 1 0 1 { T 72 3050 5 8 1 1 0 0 1 pinnumber=11 T 72 3050 5 8 0 0 0 0 1 pinseq=11 T 375 2950 3 8 1 1 0 0 1 pinlabel=I8 } P 300 2700 0 2700 1 0 1 { T 32 2750 5 8 1 1 0 0 1 pinnumber=12 T 32 2750 5 8 0 0 0 0 1 pinseq=12 T 375 2650 3 8 1 1 0 0 1 pinlabel=I9 } P 300 2400 0 2400 1 0 1 { T 56 2450 5 8 1 1 0 0 1 pinnumber=13 T 56 2450 5 8 0 0 0 0 1 pinseq=13 T 375 2350 3 8 1 1 0 0 1 pinlabel=I10 } P 300 2100 0 2100 1 0 1 { T 40 2150 5 8 1 1 0 0 1 pinnumber=16 T 40 2150 5 8 0 0 0 0 1 pinseq=14 T 375 2050 3 8 1 1 0 0 1 pinlabel=I11 } P 3300 5400 3600 5400 1 0 1 { T 3400 5450 5 8 1 1 0 0 1 pinnumber=17 T 3400 5450 5 8 0 0 0 0 1 pinseq=15 T 2854 5350 3 8 1 1 0 0 1 pinlabel=IOQ0 } P 3300 5100 3600 5100 1 0 1 { T 3400 5150 5 8 1 1 0 0 1 pinnumber=18 T 3400 5150 5 8 0 0 0 0 1 pinseq=16 T 2894 5050 3 8 1 1 0 0 1 pinlabel=IOQ1 } P 3300 4800 3600 4800 1 0 1 { T 3400 4850 5 8 1 1 0 0 1 pinnumber=19 T 3400 4850 5 8 0 0 0 0 1 pinseq=17 T 2854 4750 3 8 1 1 0 0 1 pinlabel=IOQ2 } P 3300 4500 3600 4500 1 0 1 { T 3400 4550 5 8 1 1 0 0 1 pinnumber=20 T 3400 4550 5 8 0 0 0 0 1 pinseq=18 T 2878 4450 3 8 1 1 0 0 1 pinlabel=IOQ3 } P 3300 4200 3600 4200 1 0 1 { T 3400 4250 5 8 1 1 0 0 1 pinnumber=21 T 3400 4250 5 8 0 0 0 0 1 pinseq=19 T 2854 4150 3 8 1 1 0 0 1 pinlabel=IOQ4 } P 3300 3900 3600 3900 1 0 1 { T 3400 3950 5 8 1 1 0 0 1 pinnumber=23 T 3400 3950 5 8 0 0 0 0 1 pinseq=20 T 2878 3850 3 8 1 1 0 0 1 pinlabel=IOQ5 } P 3300 3600 3600 3600 1 0 1 { T 3400 3650 5 8 1 1 0 0 1 pinnumber=24 T 3400 3650 5 8 0 0 0 0 1 pinseq=21 T 2862 3550 3 8 1 1 0 0 1 pinlabel=IOQ6 } P 3300 3300 3600 3300 1 0 1 { T 3400 3350 5 8 1 1 0 0 1 pinnumber=25 T 3400 3350 5 8 0 0 0 0 1 pinseq=22 T 2878 3250 3 8 1 1 0 0 1 pinlabel=IOQ7 } P 3300 3000 3600 3000 1 0 1 { T 3400 3050 5 8 1 1 0 0 1 pinnumber=26 T 3400 3050 5 8 0 0 0 0 1 pinseq=23 T 2870 2950 3 8 1 1 0 0 1 pinlabel=IOQ8 } P 3300 2700 3600 2700 1 0 1 { T 3400 2750 5 8 1 1 0 0 1 pinnumber=27 T 3400 2750 5 8 0 0 0 0 1 pinseq=24 T 2854 2650 3 8 1 1 0 0 1 pinlabel=IOQ9 } P 300 1500 0 1500 1 0 1 { T 136 1550 5 8 1 1 0 0 1 pinnumber=1 T 136 1550 5 8 0 0 0 0 1 pinseq=25 T 375 1450 3 8 1 1 0 0 1 pinlabel=SCLK/NC } P 300 1200 0 1200 1 0 1 { T 112 1250 5 8 1 1 0 0 1 pinnumber=8 T 112 1250 5 8 0 0 0 0 1 pinseq=26 T 375 1150 3 8 1 1 0 0 1 pinlabel=MODE/NC } P 300 900 0 900 1 0 1 { T 56 950 5 8 1 1 0 0 1 pinnumber=15 T 56 950 5 8 0 0 0 0 1 pinseq=27 T 375 850 3 8 1 1 0 0 1 pinlabel=SDI/NC } P 300 600 0 600 1 0 1 { T -8 650 5 8 1 1 0 0 1 pinnumber=22 T -8 650 5 8 0 0 0 0 1 pinseq=28 T 375 550 3 8 1 1 0 0 1 pinlabel=SDO/NC/GND } T 900 2100 3 10 1 1 0 0 1 NB=Pins 1,8,15,22 For ISP only T 900 1800 3 10 1 1 0 0 1 NB=Ground Pin 22 on PALCE B 300 300 3000 5400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/pla/22V10-DIP-1.sym0000664000175000017500000001031412204104272014351 00000000000000v 20031231 1 B 300 0 1400 3900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4000 9 10 1 1 0 0 1 device=22V10 T 500 4200 8 10 1 1 0 6 1 refdes=U? T 300 4600 5 10 0 0 0 0 1 footprint=DIP24 T 300 4800 5 10 0 0 0 0 1 description=Programmable Logic Device T 300 4400 5 10 0 0 0 0 1 numslots=0 T 1808 3800 3 8 0 1 0 0 1 net=Vcc:24 T 1782 50 3 8 0 1 0 0 1 net=GND:12 P 300 3600 0 3600 1 0 1 { T 196 3650 5 8 1 1 0 6 1 pinnumber=1 T 371 3525 5 10 0 0 0 1 1 pinseq=3 T 371 3425 5 10 0 0 0 1 1 pintype=in T 375 3550 3 8 1 1 0 0 1 pinlabel=CLK/I0 } P 300 3300 0 3300 1 0 1 { T 220 3350 5 8 1 1 0 6 1 pinnumber=2 T 370 3225 5 10 0 0 0 1 1 pinseq=4 T 370 3125 5 10 0 0 0 1 1 pintype=in T 375 3250 3 8 1 1 0 0 1 pinlabel=I1 } P 300 3000 0 3000 1 0 1 { T 196 3050 5 8 1 1 0 6 1 pinnumber=3 T 371 2925 5 10 0 0 0 1 1 pinseq=5 T 371 2825 5 10 0 0 0 1 1 pintype=in T 375 2950 3 8 1 1 0 0 1 pinlabel=I2 } P 300 2700 0 2700 1 0 1 { T 220 2750 5 8 1 1 0 6 1 pinnumber=4 T 370 2625 5 10 0 0 0 1 1 pinseq=6 T 370 2525 5 10 0 0 0 1 1 pintype=in T 375 2650 3 8 1 1 0 0 1 pinlabel=I3 } P 300 2400 0 2400 1 0 1 { T 204 2450 5 8 1 1 0 6 1 pinnumber=5 T 379 2325 5 10 0 0 0 1 1 pinseq=7 T 379 2225 5 10 0 0 0 1 1 pintype=in T 375 2350 3 8 1 1 0 0 1 pinlabel=I4 } P 300 2100 0 2100 1 0 1 { T 220 2150 5 8 1 1 0 6 1 pinnumber=6 T 395 2025 5 10 0 0 0 1 1 pinseq=8 T 395 1925 5 10 0 0 0 1 1 pintype=in T 375 2050 3 8 1 1 0 0 1 pinlabel=I5 } P 300 1800 0 1800 1 0 1 { T 196 1850 5 8 1 1 0 6 1 pinnumber=7 T 396 1725 5 10 0 0 0 1 1 pinseq=9 T 396 1625 5 10 0 0 0 1 1 pintype=in T 375 1750 3 8 1 1 0 0 1 pinlabel=I6 } P 300 1500 0 1500 1 0 1 { T 182 1550 5 8 1 1 0 6 1 pinnumber=8 T 407 1425 5 10 0 0 0 1 1 pinseq=10 T 407 1325 5 10 0 0 0 1 1 pintype=in T 375 1450 3 8 1 1 0 0 1 pinlabel=I7 } P 300 1200 0 1200 1 0 1 { T 172 1250 5 8 1 1 0 6 1 pinnumber=9 T 397 1125 5 10 0 0 0 1 1 pinseq=11 T 397 1025 5 10 0 0 0 1 1 pintype=in T 375 1150 3 8 1 1 0 0 1 pinlabel=I8 } P 300 900 0 900 1 0 1 { T 182 950 5 8 1 1 0 6 1 pinnumber=10 T 407 825 5 10 0 0 0 1 1 pinseq=12 T 407 725 5 10 0 0 0 1 1 pintype=in T 375 850 3 8 1 1 0 0 1 pinlabel=I9 } P 300 600 0 600 1 0 1 { T 206 650 5 8 1 1 0 6 1 pinnumber=11 T 406 525 5 10 0 0 0 1 1 pinseq=13 T 406 425 5 10 0 0 0 1 1 pintype=in T 375 550 3 8 1 1 0 0 1 pinlabel=I10 } P 300 300 0 300 1 0 1 { T 190 350 5 8 1 1 0 6 1 pinnumber=13 T 415 225 5 10 0 0 0 1 1 pinseq=14 T 415 125 5 10 0 0 0 1 1 pintype=in T 375 250 3 8 1 1 0 0 1 pinlabel=I11 } P 1700 3600 2000 3600 1 0 1 { T 1800 3650 5 8 1 1 0 0 1 pinnumber=23 T 2100 3650 5 10 0 0 0 1 1 pinseq=15 T 2100 3550 5 10 0 0 0 1 1 pintype=tri T 1254 3550 3 8 1 1 0 0 1 pinlabel=IOQ0 } P 1700 3300 2000 3300 1 0 1 { T 1800 3350 5 8 1 1 0 0 1 pinnumber=22 T 2100 3350 5 10 0 0 0 1 1 pinseq=16 T 2100 3250 5 10 0 0 0 1 1 pintype=tri T 1294 3250 3 8 1 1 0 0 1 pinlabel=IOQ1 } P 1700 3000 2000 3000 1 0 1 { T 1800 3050 5 8 1 1 0 0 1 pinnumber=21 T 2100 3050 5 10 0 0 0 1 1 pinseq=17 T 2100 2950 5 10 0 0 0 1 1 pintype=tri T 1254 2950 3 8 1 1 0 0 1 pinlabel=IOQ2 } P 1700 2700 2000 2700 1 0 1 { T 1800 2750 5 8 1 1 0 0 1 pinnumber=20 T 2100 2750 5 10 0 0 0 1 1 pinseq=18 T 2100 2650 5 10 0 0 0 1 1 pintype=tri T 1278 2650 3 8 1 1 0 0 1 pinlabel=IOQ3 } P 1700 2400 2000 2400 1 0 1 { T 1800 2450 5 8 1 1 0 0 1 pinnumber=19 T 2100 2450 5 10 0 0 0 1 1 pinseq=19 T 2100 2350 5 10 0 0 0 1 1 pintype=tri T 1254 2350 3 8 1 1 0 0 1 pinlabel=IOQ4 } P 1700 2100 2000 2100 1 0 1 { T 1800 2150 5 8 1 1 0 0 1 pinnumber=18 T 2100 2150 5 10 0 0 0 1 1 pinseq=20 T 2100 2050 5 10 0 0 0 1 1 pintype=tri T 1278 2050 3 8 1 1 0 0 1 pinlabel=IOQ5 } P 1700 1800 2000 1800 1 0 1 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=17 T 2100 1850 5 10 0 0 0 1 1 pinseq=21 T 2100 1750 5 10 0 0 0 1 1 pintype=tri T 1262 1750 3 8 1 1 0 0 1 pinlabel=IOQ6 } P 1700 1500 2000 1500 1 0 1 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=16 T 2100 1550 5 10 0 0 0 1 1 pinseq=22 T 2100 1450 5 10 0 0 0 1 1 pintype=tri T 1278 1450 3 8 1 1 0 0 1 pinlabel=IOQ7 } P 1700 1200 2000 1200 1 0 1 { T 1800 1250 5 8 1 1 0 0 1 pinnumber=15 T 2100 1250 5 10 0 0 0 1 1 pinseq=23 T 2100 1150 5 10 0 0 0 1 1 pintype=tri T 1270 1150 3 8 1 1 0 0 1 pinlabel=IOQ8 } P 1700 900 2000 900 1 0 1 { T 1800 950 5 8 1 1 0 0 1 pinnumber=14 T 2100 950 5 10 0 0 0 1 1 pinseq=24 T 2100 850 5 10 0 0 0 1 1 pintype=tri T 1254 850 3 8 1 1 0 0 1 pinlabel=IOQ9 } geda-gaf-1.8.2/symbols/pla/PAL16L8-1.sym0000664000175000017500000000533712204104272014225 00000000000000v 20031231 1 T 2200 4100 5 10 0 0 0 0 1 device=PAL16L8 T 2200 3700 5 10 0 0 0 0 1 slot=1 T 2200 3900 5 10 0 0 0 0 1 footprint=DIP20 B 300 0 1400 4200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 300 3900 0 3900 1 0 1 { T 400 3900 3 10 1 1 0 0 1 pinlabel=I0 T 150 3950 5 8 1 1 0 0 1 pinnumber=2 T 150 3950 5 8 0 0 0 0 1 pinseq=2 } P 300 3500 0 3500 1 0 1 { T 400 3500 3 10 1 1 0 0 1 pinlabel=I1 T 150 3550 5 8 1 1 0 0 1 pinnumber=1 T 150 3550 5 8 0 0 0 0 1 pinseq=1 } P 300 3100 0 3100 1 0 1 { T 400 3100 3 10 1 1 0 0 1 pinlabel=I2 T 150 3150 5 8 1 1 0 0 1 pinnumber=3 T 150 3150 5 8 0 0 0 0 1 pinseq=3 } P 300 2700 0 2700 1 0 1 { T 400 2700 3 10 1 1 0 0 1 pinlabel=I3 T 150 2750 5 8 1 1 0 0 1 pinnumber=4 T 150 2750 5 8 0 0 0 0 1 pinseq=4 } P 300 2300 0 2300 1 0 1 { T 400 2300 3 10 1 1 0 0 1 pinlabel=I4 T 150 2350 5 8 1 1 0 0 1 pinnumber=5 T 150 2350 5 8 0 0 0 0 1 pinseq=5 } P 300 1900 0 1900 1 0 1 { T 400 1900 3 10 1 1 0 0 1 pinlabel=I5 T 150 1950 5 8 1 1 0 0 1 pinnumber=6 T 150 1950 5 8 0 0 0 0 1 pinseq=6 } P 300 1500 0 1500 1 0 1 { T 400 1500 3 10 1 1 0 0 1 pinlabel=I6 T 150 1550 5 8 1 1 0 0 1 pinnumber=7 T 150 1550 5 8 0 0 0 0 1 pinseq=7 } P 300 1100 0 1100 1 0 1 { T 400 1100 3 10 1 1 0 0 1 pinlabel=I7 T 150 1150 5 8 1 1 0 0 1 pinnumber=8 T 150 1150 5 8 0 0 0 0 1 pinseq=8 } P 300 700 0 700 1 0 1 { T 400 700 3 10 1 1 0 0 1 pinlabel=I8 T 150 750 5 8 1 1 0 0 1 pinnumber=9 T 150 750 5 8 0 0 0 0 1 pinseq=9 } P 300 300 0 300 1 0 1 { T 400 300 3 10 1 1 0 0 1 pinlabel=I9 T 150 350 5 8 1 1 0 0 1 pinnumber=11 T 150 350 5 8 0 0 0 0 1 pinseq=11 } P 2000 2700 1700 2700 1 0 0 { T 1300 2700 3 10 1 1 0 0 1 pinlabel=FI5 T 1800 2750 5 8 1 1 0 0 1 pinnumber=17 T 1800 2750 5 8 0 0 0 0 1 pinseq=17 } P 2000 2300 1700 2300 1 0 0 { T 1300 2300 3 10 1 1 0 0 1 pinlabel=FI4 T 1800 2350 5 8 1 1 0 0 1 pinnumber=16 T 1800 2350 5 8 0 0 0 0 1 pinseq=16 } P 2000 1900 1700 1900 1 0 0 { T 1300 1900 3 10 1 1 0 0 1 pinlabel=FI3 T 1800 1950 5 8 1 1 0 0 1 pinnumber=15 T 1800 1950 5 8 0 0 0 0 1 pinseq=15 } P 2000 1500 1700 1500 1 0 0 { T 1300 1500 3 10 1 1 0 0 1 pinlabel=FI2 T 1800 1550 5 8 1 1 0 0 1 pinnumber=14 T 1800 1550 5 8 0 0 0 0 1 pinseq=14 } P 2000 1100 1700 1100 1 0 0 { T 1300 1100 3 10 1 1 0 0 1 pinlabel=FI1 T 1800 1150 5 8 1 1 0 0 1 pinnumber=13 T 1800 1150 5 8 0 0 0 0 1 pinseq=13 } T 300 4250 9 10 1 0 0 0 1 PAL16L8 T 1700 4300 8 10 1 1 0 0 1 refdes=U? P 2000 700 1700 700 1 0 0 { T 1300 700 3 10 1 1 0 0 1 pinlabel=F0 T 1800 750 5 8 1 1 0 0 1 pinnumber=12 T 1800 750 5 8 0 0 0 0 1 pinseq=12 } P 2000 3100 1700 3100 1 0 0 { T 1300 3100 3 10 1 1 0 0 1 pinlabel=FI6 T 1800 3150 5 8 1 1 0 0 1 pinnumber=18 T 1800 3150 5 8 0 0 0 0 1 pinseq=18 } P 2000 3500 1700 3500 1 0 0 { T 1300 3500 3 10 1 1 0 0 1 pinlabel=F7 T 1800 3550 5 8 1 1 0 0 1 pinnumber=19 T 1800 3550 5 8 0 0 0 0 1 pinseq=19 } geda-gaf-1.8.2/symbols/pla/PAL20X8-1.sym0000664000175000017500000000646012204104272014232 00000000000000v 20031231 1 T 2200 4700 5 10 0 0 0 0 1 device=PAL20X8 T 2200 4300 5 10 0 0 0 0 1 slot=1 T 2200 4500 5 10 0 0 0 0 1 footprint=DIP24 B 300 0 1400 4800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 300 4500 0 4500 1 0 1 { T 400 4500 3 10 1 1 0 0 1 pinlabel=I0 T 150 4550 5 8 1 1 0 0 1 pinnumber=2 T 150 4550 5 8 0 0 0 0 1 pinseq=2 } P 300 4100 0 4100 1 0 1 { T 400 4100 3 10 1 1 0 0 1 pinlabel=I1 T 150 4150 5 8 1 1 0 0 1 pinnumber=3 T 150 4150 5 8 0 0 0 0 1 pinseq=3 } P 300 3700 0 3700 1 0 1 { T 400 3700 3 10 1 1 0 0 1 pinlabel=I2 T 150 3750 5 8 1 1 0 0 1 pinnumber=4 T 150 3750 5 8 0 0 0 0 1 pinseq=4 } P 300 3300 0 3300 1 0 1 { T 400 3300 3 10 1 1 0 0 1 pinlabel=I3 T 150 3350 5 8 1 1 0 0 1 pinnumber=5 T 150 3350 5 8 0 0 0 0 1 pinseq=5 } P 300 2900 0 2900 1 0 1 { T 400 2900 3 10 1 1 0 0 1 pinlabel=I4 T 150 2950 5 8 1 1 0 0 1 pinnumber=6 T 150 2950 5 8 0 0 0 0 1 pinseq=6 } P 300 2500 0 2500 1 0 1 { T 400 2500 3 10 1 1 0 0 1 pinlabel=I5 T 150 2550 5 8 1 1 0 0 1 pinnumber=7 T 150 2550 5 8 0 0 0 0 1 pinseq=7 } P 300 2100 0 2100 1 0 1 { T 400 2100 3 10 1 1 0 0 1 pinlabel=I6 T 150 2150 5 8 1 1 0 0 1 pinnumber=8 T 150 2150 5 8 0 0 0 0 1 pinseq=8 } P 300 1700 0 1700 1 0 1 { T 400 1700 3 10 1 1 0 0 1 pinlabel=I7 T 150 1750 5 8 1 1 0 0 1 pinnumber=9 T 150 1750 5 8 0 0 0 0 1 pinseq=9 } P 300 1300 0 1300 1 0 1 { T 400 1300 3 10 1 1 0 0 1 pinlabel=I8 T 50 1350 5 8 1 1 0 0 1 pinnumber=10 T 50 1350 5 8 0 0 0 0 1 pinseq=10 } P 300 900 0 900 1 0 1 { T 400 900 3 10 1 1 0 0 1 pinlabel=I9 T 50 950 5 8 1 1 0 0 1 pinnumber=11 T 50 950 5 8 0 0 0 0 1 pinseq=11 } P 300 500 0 500 1 0 1 { T 400 500 3 10 1 1 0 0 1 pinlabel=CLK T 50 550 5 8 1 1 0 0 1 pinnumber=1 T 50 550 5 8 0 0 0 0 1 pinseq=1 } P 200 100 0 100 1 0 1 { T 400 100 3 10 1 1 0 0 1 pinlabel=CE T 50 150 5 8 1 1 0 0 1 pinnumber=13 T 50 150 5 8 0 0 0 0 1 pinseq=13 } V 250 100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 3700 1700 3700 1 0 0 { T 1300 3700 3 10 1 1 0 0 1 pinlabel=Q8 T 1800 3750 5 8 1 1 0 0 1 pinnumber=22 T 1800 3750 5 8 0 0 0 0 1 pinseq=22 } P 2000 3300 1700 3300 1 0 0 { T 1300 3300 3 10 1 1 0 0 1 pinlabel=Q7 T 1800 3350 5 8 1 1 0 0 1 pinnumber=21 T 1800 3350 5 8 0 0 0 0 1 pinseq=21 } P 2000 2900 1700 2900 1 0 0 { T 1300 2900 3 10 1 1 0 0 1 pinlabel=Q6 T 1800 2950 5 8 1 1 0 0 1 pinnumber=20 T 1800 2950 5 8 0 0 0 0 1 pinseq=20 } P 2000 2500 1700 2500 1 0 0 { T 1300 2500 3 10 1 1 0 0 1 pinlabel=Q5 T 1800 2550 5 8 1 1 0 0 1 pinnumber=19 T 1800 2550 5 8 0 0 0 0 1 pinseq=19 } P 2000 2100 1700 2100 1 0 0 { T 1300 2100 3 10 1 1 0 0 1 pinlabel=Q4 T 1800 2150 5 8 1 1 0 0 1 pinnumber=18 T 1800 2150 5 8 0 0 0 0 1 pinseq=18 } P 2000 1700 1700 1700 1 0 0 { T 1300 1700 3 10 1 1 0 0 1 pinlabel=Q3 T 1800 1750 5 8 1 1 0 0 1 pinnumber=17 T 1800 1750 5 8 0 0 0 0 1 pinseq=17 } P 2000 1300 1700 1300 1 0 0 { T 1300 1300 3 10 1 1 0 0 1 pinlabel=Q2 T 1800 1350 5 8 1 1 0 0 1 pinnumber=16 T 1800 1350 5 8 0 0 0 0 1 pinseq=16 } P 2000 900 1700 900 1 0 0 { T 1300 900 3 10 1 1 0 0 1 pinlabel=Q1 T 1800 950 5 8 1 1 0 0 1 pinnumber=15 T 1800 950 5 8 0 0 0 0 1 pinseq=15 } T 300 4850 9 10 1 0 0 0 1 PAL20X8 T 1700 4900 8 10 1 1 0 0 1 refdes=U? P 2000 4100 1700 4100 1 0 0 { T 1300 4100 3 10 1 1 0 0 1 pinlabel=FI9 T 1800 4150 5 8 1 1 0 0 1 pinnumber=23 T 1800 4150 5 8 0 0 0 0 1 pinseq=23 } P 2000 500 1700 500 1 0 0 { T 1300 500 3 10 1 1 0 0 1 pinlabel=FI0 T 1800 550 5 8 1 1 0 0 1 pinnumber=14 T 1800 550 5 8 0 0 0 0 1 pinseq=14 } geda-gaf-1.8.2/symbols/pla/PAL20X4-1.sym0000664000175000017500000000646412204104272014232 00000000000000v 20031231 1 T 2200 4700 5 10 0 0 0 0 1 device=PAL20X4 T 2200 4300 5 10 0 0 0 0 1 slot=1 T 2200 4500 5 10 0 0 0 0 1 footprint=DIP24 B 300 0 1400 4800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 300 4500 0 4500 1 0 1 { T 400 4500 3 10 1 1 0 0 1 pinlabel=I0 T 150 4550 5 8 1 1 0 0 1 pinnumber=2 T 150 4550 5 8 0 0 0 0 1 pinseq=2 } P 300 4100 0 4100 1 0 1 { T 400 4100 3 10 1 1 0 0 1 pinlabel=I1 T 150 4150 5 8 1 1 0 0 1 pinnumber=3 T 150 4150 5 8 0 0 0 0 1 pinseq=3 } P 300 3700 0 3700 1 0 1 { T 400 3700 3 10 1 1 0 0 1 pinlabel=I2 T 150 3750 5 8 1 1 0 0 1 pinnumber=4 T 150 3750 5 8 0 0 0 0 1 pinseq=4 } P 300 3300 0 3300 1 0 1 { T 400 3300 3 10 1 1 0 0 1 pinlabel=I3 T 150 3350 5 8 1 1 0 0 1 pinnumber=5 T 150 3350 5 8 0 0 0 0 1 pinseq=5 } P 300 2900 0 2900 1 0 1 { T 400 2900 3 10 1 1 0 0 1 pinlabel=I4 T 150 2950 5 8 1 1 0 0 1 pinnumber=6 T 150 2950 5 8 0 0 0 0 1 pinseq=6 } P 300 2500 0 2500 1 0 1 { T 400 2500 3 10 1 1 0 0 1 pinlabel=I5 T 150 2550 5 8 1 1 0 0 1 pinnumber=7 T 150 2550 5 8 0 0 0 0 1 pinseq=7 } P 300 2100 0 2100 1 0 1 { T 400 2100 3 10 1 1 0 0 1 pinlabel=I6 T 150 2150 5 8 1 1 0 0 1 pinnumber=8 T 150 2150 5 8 0 0 0 0 1 pinseq=8 } P 300 1700 0 1700 1 0 1 { T 400 1700 3 10 1 1 0 0 1 pinlabel=I7 T 150 1750 5 8 1 1 0 0 1 pinnumber=9 T 150 1750 5 8 0 0 0 0 1 pinseq=9 } P 300 1300 0 1300 1 0 1 { T 400 1300 3 10 1 1 0 0 1 pinlabel=I8 T 50 1350 5 8 1 1 0 0 1 pinnumber=10 T 50 1350 5 8 0 0 0 0 1 pinseq=10 } P 300 900 0 900 1 0 1 { T 400 900 3 10 1 1 0 0 1 pinlabel=I9 T 50 950 5 8 1 1 0 0 1 pinnumber=11 T 50 950 5 8 0 0 0 0 1 pinseq=11 } P 300 500 0 500 1 0 1 { T 400 500 3 10 1 1 0 0 1 pinlabel=CLK T 50 550 5 8 1 1 0 0 1 pinnumber=1 T 50 550 5 8 0 0 0 0 1 pinseq=1 } P 200 100 0 100 1 0 1 { T 400 100 3 10 1 1 0 0 1 pinlabel=CE T 50 150 5 8 1 1 0 0 1 pinnumber=13 T 50 150 5 8 0 0 0 0 1 pinseq=13 } V 250 100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 3700 1700 3700 1 0 0 { T 1300 3700 3 10 1 1 0 0 1 pinlabel=FI8 T 1800 3750 5 8 1 1 0 0 1 pinnumber=22 T 1800 3750 5 8 0 0 0 0 1 pinseq=22 } P 2000 3300 1700 3300 1 0 0 { T 1300 3300 3 10 1 1 0 0 1 pinlabel=FI7 T 1800 3350 5 8 1 1 0 0 1 pinnumber=21 T 1800 3350 5 8 0 0 0 0 1 pinseq=21 } P 2000 2900 1700 2900 1 0 0 { T 1300 2900 3 10 1 1 0 0 1 pinlabel=Q6 T 1800 2950 5 8 1 1 0 0 1 pinnumber=20 T 1800 2950 5 8 0 0 0 0 1 pinseq=20 } P 2000 2500 1700 2500 1 0 0 { T 1300 2500 3 10 1 1 0 0 1 pinlabel=Q5 T 1800 2550 5 8 1 1 0 0 1 pinnumber=19 T 1800 2550 5 8 0 0 0 0 1 pinseq=19 } P 2000 2100 1700 2100 1 0 0 { T 1300 2100 3 10 1 1 0 0 1 pinlabel=Q4 T 1800 2150 5 8 1 1 0 0 1 pinnumber=18 T 1800 2150 5 8 0 0 0 0 1 pinseq=18 } P 2000 1700 1700 1700 1 0 0 { T 1300 1700 3 10 1 1 0 0 1 pinlabel=Q3 T 1800 1750 5 8 1 1 0 0 1 pinnumber=17 T 1800 1750 5 8 0 0 0 0 1 pinseq=17 } P 2000 1300 1700 1300 1 0 0 { T 1300 1300 3 10 1 1 0 0 1 pinlabel=FI2 T 1800 1350 5 8 1 1 0 0 1 pinnumber=16 T 1800 1350 5 8 0 0 0 0 1 pinseq=16 } P 2000 900 1700 900 1 0 0 { T 1300 900 3 10 1 1 0 0 1 pinlabel=FI1 T 1800 950 5 8 1 1 0 0 1 pinnumber=15 T 1800 950 5 8 0 0 0 0 1 pinseq=15 } T 300 4850 9 10 1 0 0 0 1 PAL20X4 T 1700 4900 8 10 1 1 0 0 1 refdes=U? P 2000 4100 1700 4100 1 0 0 { T 1300 4100 3 10 1 1 0 0 1 pinlabel=FI9 T 1800 4150 5 8 1 1 0 0 1 pinnumber=23 T 1800 4150 5 8 0 0 0 0 1 pinseq=23 } P 2000 500 1700 500 1 0 0 { T 1300 500 3 10 1 1 0 0 1 pinlabel=FI0 T 1800 550 5 8 1 1 0 0 1 pinnumber=14 T 1800 550 5 8 0 0 0 0 1 pinseq=14 } geda-gaf-1.8.2/symbols/dec/0000775000175000017500000000000012220655764012414 500000000000000geda-gaf-1.8.2/symbols/dec/DC8640-1.sym0000664000175000017500000000327712204104272014026 00000000000000v 20031231 1 T 400 2900 9 10 1 0 0 0 1 A1 T 400 2100 9 10 1 0 0 0 1 A2 T 400 1300 9 10 1 0 0 0 1 A3 T 400 500 9 10 1 0 0 0 1 A4 T 400 1700 9 10 1 0 0 0 1 B2 T 400 900 9 10 1 0 0 0 1 B3 T 400 100 9 10 1 0 0 0 1 B4 T 1900 2700 9 10 1 0 0 0 1 O1 T 1900 1900 9 10 1 0 0 0 1 O2 T 1900 1100 9 10 1 0 0 0 1 O3 T 1900 300 9 10 1 0 0 0 1 O4 P 300 2900 0 2900 1 0 1 { T 100 2950 5 8 1 1 0 0 1 pinnumber=4 T 100 2950 5 8 0 0 0 0 1 pinseq=4 } P 300 2500 0 2500 1 0 1 { T 100 2550 5 8 1 1 0 0 1 pinnumber=5 T 100 2550 5 8 0 0 0 0 1 pinseq=5 } P 300 2100 0 2100 1 0 1 { T 100 2150 5 8 1 1 0 0 1 pinnumber=6 T 100 2150 5 8 0 0 0 0 1 pinseq=6 } P 300 1700 0 1700 1 0 1 { T 100 1750 5 8 1 1 0 0 1 pinnumber=7 T 100 1750 5 8 0 0 0 0 1 pinseq=7 } P 300 1300 0 1300 1 0 1 { T 100 1350 5 8 1 1 0 0 1 pinnumber=12 T 100 1350 5 8 0 0 0 0 1 pinseq=12 } P 300 900 0 900 1 0 1 { T 100 950 5 8 1 1 0 0 1 pinnumber=11 T 100 950 5 8 0 0 0 0 1 pinseq=11 } P 300 500 0 500 1 0 1 { T 100 550 5 8 1 1 0 0 1 pinnumber=10 T 100 550 5 8 0 0 0 0 1 pinseq=10 } P 300 100 0 100 1 0 1 { T 100 150 5 8 1 1 0 0 1 pinnumber=9 T 100 150 5 8 0 0 0 0 1 pinseq=9 } P 2600 300 2300 300 1 0 0 { T 2400 350 5 8 1 1 0 0 1 pinnumber=14 T 2400 350 5 8 0 0 0 0 1 pinseq=14 } P 2600 1100 2300 1100 1 0 0 { T 2400 1150 5 8 1 1 0 0 1 pinnumber=13 T 2400 1150 5 8 0 0 0 0 1 pinseq=13 } P 2600 1900 2300 1900 1 0 0 { T 2400 1950 5 8 1 1 0 0 1 pinnumber=2 T 2400 1950 5 8 0 0 0 0 1 pinseq=2 } P 2600 2700 2300 2700 1 0 0 { T 2400 2750 5 8 1 1 0 0 1 pinnumber=3 T 2400 2750 5 8 0 0 0 0 1 pinseq=3 } B 300 0 2000 3200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2900 2700 5 10 0 0 0 0 1 device=DC8640 T 400 2500 9 10 1 0 0 0 1 B1 T 300 3250 9 10 1 0 0 0 1 DC8640 T 2300 3300 8 10 1 1 0 6 1 refdes=U? geda-gaf-1.8.2/symbols/dec/DC331-1.sym0000664000175000017500000000701512204104272013725 00000000000000v 20031231 1 T 2900 2700 5 10 0 0 0 0 1 device=DC331 B 400 0 2000 8000 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 400 7700 100 7700 1 0 1 P 400 7300 100 7300 1 0 1 P 400 6900 100 6900 1 0 1 P 400 6500 100 6500 1 0 1 P 400 6100 100 6100 1 0 1 P 400 5700 100 5700 1 0 1 P 400 5300 100 5300 1 0 1 P 400 4900 100 4900 1 0 1 P 400 4500 100 4500 1 0 1 P 100 4100 400 4100 1 0 0 P 400 3700 100 3700 1 0 1 P 400 3300 100 3300 1 0 1 P 400 2900 100 2900 1 0 1 P 400 2500 100 2500 1 0 1 P 400 2100 100 2100 1 0 1 P 400 1700 100 1700 1 0 1 P 400 1300 100 1300 1 0 1 P 400 900 100 900 1 0 1 P 400 500 100 500 1 0 1 P 400 100 100 100 1 0 1 P 2700 7700 2400 7700 1 0 0 P 2700 7300 2400 7300 1 0 0 P 2700 6900 2400 6900 1 0 0 P 2700 6500 2400 6500 1 0 0 P 2700 6100 2400 6100 1 0 0 P 2700 5700 2400 5700 1 0 0 P 2700 5300 2400 5300 1 0 0 P 2700 4900 2400 4900 1 0 0 P 2700 4500 2400 4500 1 0 0 P 2400 4100 2700 4100 1 0 1 P 2700 3700 2400 3700 1 0 0 P 2700 3300 2400 3300 1 0 0 P 2700 2900 2400 2900 1 0 0 P 2700 2500 2400 2500 1 0 0 P 2700 2100 2400 2100 1 0 0 P 2700 1700 2400 1700 1 0 0 P 2700 1300 2400 1300 1 0 0 P 2700 900 2400 900 1 0 0 P 2700 500 2400 500 1 0 0 P 2700 100 2400 100 1 0 0 T 400 8100 3 10 1 0 0 0 1 DC331 T 600 7300 3 10 1 0 0 0 1 CS T 600 6900 3 10 1 0 0 0 1 WLB T 600 6500 3 10 1 0 0 0 1 DAL00 T 600 6100 3 10 1 0 0 0 1 DAL01 T 600 5700 3 10 1 0 0 0 1 DAL02 T 600 5300 3 10 1 0 0 0 1 DAL03 T 600 4500 3 10 1 0 0 0 1 DAL05 T 600 4100 3 10 1 0 0 0 1 DAL06 T 600 3700 3 10 1 0 0 0 1 DAL07 T 600 3300 3 10 1 0 0 0 1 DAL08 T 600 2900 3 10 1 0 0 0 1 DAL09 T 600 2500 3 10 1 0 0 0 1 DAL10 T 600 2100 3 10 1 0 0 0 1 DAL11 T 600 1700 3 10 1 0 0 0 1 DAL12 T 600 1300 3 10 1 0 0 0 1 DAL13 T 600 900 3 10 1 0 0 0 1 DAL14 T 600 500 3 10 1 0 0 0 1 DAL15 T 600 100 3 10 1 0 0 0 1 VSS T 600 4900 3 10 1 0 0 0 1 DAL04 T 2200 7700 3 10 1 0 0 6 1 VCC T 2200 7300 3 10 1 0 0 6 1 TEST T 2200 6900 3 10 1 0 0 6 1 BRS2 T 2200 6500 3 10 1 0 0 6 1 BRS1 T 2200 6100 3 10 1 0 0 6 1 RTCLK60 T 2200 5700 3 10 1 0 0 6 1 RTCLK50 T 2200 5300 3 10 1 0 0 6 1 R/WLB T 2200 4900 3 10 1 0 0 6 1 R/WHB T 2200 4500 3 10 1 0 0 6 1 READY T 2200 4100 3 10 1 0 0 6 1 BRS0 T 2200 3700 3 10 1 0 0 6 1 SEL0 T 2200 3300 3 10 1 0 0 6 1 SEL1 T 2200 2900 3 10 1 0 0 6 1 PBRI T 2200 2500 3 10 1 0 0 6 1 SI T 2200 2100 3 10 1 0 0 6 1 RCV IRQ T 2200 1700 3 10 1 0 0 6 1 RTCLK800 T 2200 1300 3 10 1 0 0 6 1 INIT T 2200 900 3 10 1 0 0 6 1 A2 T 2200 500 3 10 1 0 0 6 1 A1 T 2200 100 3 10 1 0 0 6 1 A0 T 300 7750 3 8 1 0 0 0 1 1 T 250 7350 3 8 1 0 0 0 1 2 T 250 6950 3 8 1 0 0 0 1 3 T 250 6550 3 8 1 0 0 0 1 4 T 250 6150 3 8 1 0 0 0 1 5 T 250 5750 3 8 1 0 0 0 1 6 T 250 5350 3 8 1 0 0 0 1 7 T 250 4950 3 8 1 0 0 0 1 8 T 250 4550 3 8 1 0 0 0 1 9 T 200 4150 3 8 1 0 0 0 1 10 T 200 3750 3 8 1 0 0 0 1 11 T 200 3350 3 8 1 0 0 0 1 12 T 200 2950 3 8 1 0 0 0 1 13 T 200 2550 3 8 1 0 0 0 1 14 T 200 2150 3 8 1 0 0 0 1 15 T 200 1750 3 8 1 0 0 0 1 16 T 200 1350 3 8 1 0 0 0 1 17 T 200 950 3 8 1 0 0 0 1 18 T 200 550 3 8 1 0 0 0 1 19 T 150 150 3 8 1 0 0 0 1 20 T 2450 150 3 8 1 0 0 0 1 21 T 2450 550 3 8 1 0 0 0 1 22 T 2450 950 3 8 1 0 0 0 1 23 T 2450 1350 3 8 1 0 0 0 1 24 T 2450 1750 3 8 1 0 0 0 1 25 T 2450 2150 3 8 1 0 0 0 1 26 T 2450 2550 3 8 1 0 0 0 1 27 T 2450 2950 3 8 1 0 0 0 1 28 T 2450 3350 3 8 1 0 0 0 1 29 T 2450 3750 3 8 1 0 0 0 1 30 T 2450 4150 3 8 1 0 0 0 1 31 T 2450 4550 3 8 1 0 0 0 1 32 T 2450 4950 3 8 1 0 0 0 1 33 T 2450 5350 3 8 1 0 0 0 1 34 T 2450 5750 3 8 1 0 0 0 1 35 T 2450 6150 3 8 1 0 0 0 1 36 T 2450 6550 3 8 1 0 0 0 1 37 T 2450 6950 3 8 1 0 0 0 1 38 T 2450 7350 3 8 1 0 0 0 1 39 T 2450 7750 3 8 1 0 0 0 1 40 T 600 7700 3 10 1 0 0 0 1 RD geda-gaf-1.8.2/symbols/dec/DC003C-1.sym0000664000175000017500000000445512204104272014031 00000000000000v 20031231 1 T 400 2900 9 10 1 0 0 0 1 ENADATA H T 400 2100 9 10 1 0 0 0 1 RQSTB H T 400 1300 9 10 1 0 0 0 1 ENBCLK H T 400 500 9 10 1 0 0 0 1 BIAKI L T 400 1700 9 10 1 0 0 0 1 ENBDATA H T 400 900 9 10 1 0 0 0 1 BDIN L T 400 100 9 10 1 0 0 0 1 BINIT L T 3000 2100 9 10 1 0 0 6 1 VECTOR H T 3000 1700 9 10 1 0 0 6 1 VECRQSTB H T 3000 1300 9 10 1 0 0 6 1 INITO L P 300 2900 0 2900 1 0 1 { T 100 2950 5 8 1 1 0 0 1 pinnumber=15 T 100 2950 5 8 0 0 0 0 1 pinseq=15 } P 300 2500 0 2500 1 0 1 { T 100 2550 5 8 1 1 0 0 1 pinnumber=14 T 100 2550 5 8 0 0 0 0 1 pinseq=14 } P 300 2100 0 2100 1 0 1 { T 100 2150 5 8 1 1 0 0 1 pinnumber=10 T 100 2150 5 8 0 0 0 0 1 pinseq=10 } P 300 1700 0 1700 1 0 1 { T 100 1750 5 8 1 1 0 0 1 pinnumber=12 T 100 1750 5 8 0 0 0 0 1 pinseq=12 } P 300 1300 0 1300 1 0 1 { T 100 1350 5 8 1 1 0 0 1 pinnumber=13 T 100 1350 5 8 0 0 0 0 1 pinseq=13 } P 300 900 0 900 1 0 1 { T 100 950 5 8 1 1 0 0 1 pinnumber=3 T 100 950 5 8 0 0 0 0 1 pinseq=3 } P 300 500 0 500 1 0 1 { T 100 550 5 8 1 1 0 0 1 pinnumber=7 T 100 550 5 8 0 0 0 0 1 pinseq=7 } P 300 100 0 100 1 0 1 { T 100 150 5 8 1 1 0 0 1 pinnumber=5 T 100 150 5 8 0 0 0 0 1 pinseq=5 } P 3400 1300 3100 1300 1 0 0 { T 3200 1350 5 8 1 1 0 0 1 pinnumber=4 T 3200 1350 5 8 0 0 0 0 1 pinseq=4 } P 3400 1700 3100 1700 1 0 0 { T 3200 1750 5 8 1 1 0 0 1 pinnumber=2 T 3200 1750 5 8 0 0 0 0 1 pinseq=2 } P 3400 2100 3100 2100 1 0 0 { T 3200 2150 5 8 1 1 0 0 1 pinnumber=1 T 3200 2150 5 8 0 0 0 0 1 pinseq=1 } B 300 0 2800 3600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2900 2700 5 10 0 0 0 0 1 device=DC003C T 400 2500 9 10 1 0 0 0 1 ENACLK H T 300 3650 9 10 1 0 0 0 1 DC003C T 3100 3700 8 10 1 1 0 6 1 refdes=U? P 300 3300 0 3300 1 0 1 { T 100 3350 5 8 1 1 0 0 1 pinnumber=17 T 100 3350 5 8 0 0 0 0 1 pinseq=17 } T 400 3300 9 10 1 0 0 0 1 RQSTA H P 3400 500 3100 500 1 0 0 { T 3200 550 5 8 1 1 0 0 1 pinnumber=6 T 3200 550 5 8 0 0 0 0 1 pinseq=6 } P 3400 100 3100 100 1 0 0 { T 3200 150 5 8 1 1 0 0 1 pinnumber=8 T 3200 150 5 8 0 0 0 0 1 pinseq=8 } P 3400 2900 3100 2900 1 0 0 { T 3200 2950 5 8 1 1 0 0 1 pinnumber=11 T 3200 2950 5 8 0 0 0 0 1 pinseq=11 } P 3400 3300 3100 3300 1 0 0 { T 3200 3350 5 8 1 1 0 0 1 pinnumber=16 T 3200 3350 5 8 0 0 0 0 1 pinseq=16 } T 3000 500 9 10 1 0 0 6 1 BIAKO L T 3000 100 9 10 1 0 0 6 1 BIRQ L T 3000 2900 9 10 1 0 0 6 1 ENBST H T 3000 3300 9 10 1 0 0 6 1 ENAST H geda-gaf-1.8.2/symbols/dec/DC004C-1.sym0000664000175000017500000000506112204104272014024 00000000000000v 20031231 1 T 400 2900 9 10 1 0 0 0 1 ENB H T 400 2100 9 10 1 0 0 0 1 BDAL1 L T 400 1300 9 10 1 0 0 0 1 BWTBT L T 400 500 9 10 1 0 0 0 1 BDIN L T 400 1700 9 10 1 0 0 0 1 BDAL0 L T 400 900 9 10 1 0 0 0 1 BDOUT L T 400 100 9 10 1 0 0 0 1 VECTOR H T 2200 1300 9 10 1 0 0 6 1 OUT LB L T 2200 900 9 10 1 0 0 6 1 RXCX H T 2200 500 9 10 1 0 0 6 1 BRPLY L T 2200 100 9 10 1 0 0 6 1 INWD L P 300 2900 0 2900 1 0 1 { T 100 2950 5 8 1 1 0 0 1 pinnumber=19 T 100 2950 5 8 0 0 0 0 1 pinseq=19 } P 300 2500 0 2500 1 0 1 { T 100 2550 5 8 1 1 0 0 1 pinnumber=2 T 100 2550 5 8 0 0 0 0 1 pinseq=2 } P 300 2100 0 2100 1 0 1 { T 100 2150 5 8 1 1 0 0 1 pinnumber=3 T 100 2150 5 8 0 0 0 0 1 pinseq=3 } P 300 1700 0 1700 1 0 1 { T 100 1750 5 8 1 1 0 0 1 pinnumber=4 T 100 1750 5 8 0 0 0 0 1 pinseq=4 } P 300 1300 0 1300 1 0 1 { T 100 1350 5 8 1 1 0 0 1 pinnumber=5 T 100 1350 5 8 0 0 0 0 1 pinseq=5 } P 300 900 0 900 1 0 1 { T 100 950 5 8 1 1 0 0 1 pinnumber=9 T 100 950 5 8 0 0 0 0 1 pinseq=9 } P 300 500 0 500 1 0 1 { T 100 550 5 8 1 1 0 0 1 pinnumber=7 T 100 550 5 8 0 0 0 0 1 pinseq=7 } P 300 100 0 100 1 0 1 { T 100 150 5 8 1 1 0 0 1 pinnumber=1 T 100 150 5 8 0 0 0 0 1 pinseq=1 } P 2600 100 2300 100 1 0 0 { T 2400 150 5 8 1 1 0 0 1 pinnumber=11 T 2400 150 5 8 0 0 0 0 1 pinseq=11 } P 2600 500 2300 500 1 0 0 { T 2400 550 5 8 1 1 0 0 1 pinnumber=8 T 2400 550 5 8 0 0 0 0 1 pinseq=8 } P 2600 900 2300 900 1 0 0 { T 2400 950 5 8 1 1 0 0 1 pinnumber=18 T 2400 950 5 8 0 0 0 0 1 pinseq=18 } P 2600 1300 2300 1300 1 0 0 { T 2400 1350 5 8 1 1 0 0 1 pinnumber=13 T 2400 1350 5 8 0 0 0 0 1 pinseq=13 } B 300 0 2000 3600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2900 2700 5 10 0 0 0 0 1 device=DC004C T 400 2500 9 10 1 0 0 0 1 BDAL2 L T 300 3650 9 10 1 0 0 0 1 DC004C T 2300 3700 8 10 1 1 0 6 1 refdes=U? P 300 3300 0 3300 1 0 1 { T 100 3350 5 8 1 1 0 0 1 pinnumber=6 T 100 3350 5 8 0 0 0 0 1 pinseq=6 } T 400 3300 9 10 1 0 0 0 1 BSYNC L P 2600 1700 2300 1700 1 0 0 { T 2400 1750 5 8 1 1 0 0 1 pinnumber=12 T 2400 1750 5 8 0 0 0 0 1 pinseq=12 } P 2600 2100 2300 2100 1 0 0 { T 2400 2150 5 8 1 1 0 0 1 pinnumber=17 T 2400 2150 5 8 0 0 0 0 1 pinseq=17 } P 2600 2500 2300 2500 1 0 0 { T 2400 2550 5 8 1 1 0 0 1 pinnumber=16 T 2400 2550 5 8 0 0 0 0 1 pinseq=16 } P 2600 2900 2300 2900 1 0 0 { T 2400 2950 5 8 1 1 0 0 1 pinnumber=15 T 2400 2950 5 8 0 0 0 0 1 pinseq=15 } P 2600 3300 2300 3300 1 0 0 { T 2400 3350 5 8 1 1 0 0 1 pinnumber=14 T 2400 3350 5 8 0 0 0 0 1 pinseq=14 } T 2200 1700 9 10 1 0 0 6 1 OUT HB L T 2200 2100 9 10 1 0 0 6 1 SEL0L T 2200 2500 9 10 1 0 0 6 1 SEL2L T 2200 2900 9 10 1 0 0 6 1 SEL4L T 2200 3300 9 10 1 0 0 6 1 SEL6 L geda-gaf-1.8.2/symbols/dec/LSI11BUS-1.sym0000664000175000017500000001510112204104272014346 00000000000000v 20031231 1 B 500 0 3000 15600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 500 15650 9 10 1 0 0 0 1 LSI11BUS T 3600 15350 9 8 1 0 0 0 1 AA1 T 100 15350 9 8 1 0 0 0 1 AA2 P 500 15300 0 15300 1 0 1 P 500 14500 0 14500 1 0 1 P 500 13700 0 13700 1 0 1 P 500 12900 0 12900 1 0 1 P 500 14900 0 14900 1 0 1 P 500 14100 0 14100 1 0 1 P 500 13300 0 13300 1 0 1 P 500 12100 0 12100 1 0 1 P 500 12500 0 12500 1 0 1 P 500 8500 0 8500 1 0 1 P 500 9300 0 9300 1 0 1 P 500 10100 0 10100 1 0 1 P 500 10900 0 10900 1 0 1 P 500 11700 0 11700 1 0 1 P 500 8900 0 8900 1 0 1 P 500 9700 0 9700 1 0 1 P 500 10500 0 10500 1 0 1 P 500 11300 0 11300 1 0 1 P 4000 15300 3500 15300 1 0 0 P 4000 14500 3500 14500 1 0 0 P 4000 13700 3500 13700 1 0 0 P 4000 12900 3500 12900 1 0 0 P 4000 14900 3500 14900 1 0 0 P 4000 14100 3500 14100 1 0 0 P 4000 13300 3500 13300 1 0 0 P 4000 12100 3500 12100 1 0 0 P 4000 12500 3500 12500 1 0 0 P 4000 8500 3500 8500 1 0 0 P 4000 9300 3500 9300 1 0 0 P 4000 10100 3500 10100 1 0 0 P 4000 10900 3500 10900 1 0 0 P 4000 11700 3500 11700 1 0 0 P 4000 8900 3500 8900 1 0 0 P 4000 9700 3500 9700 1 0 0 P 4000 10500 3500 10500 1 0 0 P 4000 11300 3500 11300 1 0 0 P 4000 6900 3500 6900 1 0 0 P 4000 6100 3500 6100 1 0 0 P 4000 5300 3500 5300 1 0 0 P 4000 4500 3500 4500 1 0 0 P 4000 6500 3500 6500 1 0 0 P 4000 5700 3500 5700 1 0 0 P 4000 4900 3500 4900 1 0 0 P 4000 3700 3500 3700 1 0 0 P 4000 4100 3500 4100 1 0 0 P 4000 100 3500 100 1 0 0 P 4000 900 3500 900 1 0 0 P 4000 1700 3500 1700 1 0 0 P 4000 2500 3500 2500 1 0 0 P 4000 3300 3500 3300 1 0 0 P 4000 500 3500 500 1 0 0 P 4000 1300 3500 1300 1 0 0 P 4000 2100 3500 2100 1 0 0 P 4000 2900 3500 2900 1 0 0 T 3600 6950 9 8 1 0 0 0 1 BA1 P 500 6900 0 6900 1 0 1 P 500 6100 0 6100 1 0 1 P 500 5300 0 5300 1 0 1 P 500 4500 0 4500 1 0 1 P 500 6500 0 6500 1 0 1 P 500 5700 0 5700 1 0 1 P 500 4900 0 4900 1 0 1 P 500 3700 0 3700 1 0 1 P 500 4100 0 4100 1 0 1 P 500 100 0 100 1 0 1 P 500 900 0 900 1 0 1 P 500 1700 0 1700 1 0 1 P 500 2500 0 2500 1 0 1 P 500 3300 0 3300 1 0 1 P 500 500 0 500 1 0 1 P 500 1300 0 1300 1 0 1 P 500 2100 0 2100 1 0 1 P 500 2900 0 2900 1 0 1 T 100 6950 9 8 1 0 0 0 1 BA2 T 3600 14950 9 8 1 0 0 0 1 AB1 T 100 14950 9 8 1 0 0 0 1 AB2 T 3600 14550 9 8 1 0 0 0 1 AC1 T 100 14550 9 8 1 0 0 0 1 AC2 T 3600 14150 9 8 1 0 0 0 1 AD1 T 100 14150 9 8 1 0 0 0 1 AD2 T 3600 13750 9 8 1 0 0 0 1 AE1 T 100 13750 9 8 1 0 0 0 1 AE2 T 3600 13350 9 8 1 0 0 0 1 AF1 T 100 13350 9 8 1 0 0 0 1 AF2 T 3600 12950 9 8 1 0 0 0 1 AH1 T 100 12950 9 8 1 0 0 0 1 AH2 T 3600 12550 9 8 1 0 0 0 1 AJ1 T 100 12550 9 8 1 0 0 0 1 AJ2 T 3600 12150 9 8 1 0 0 0 1 AK1 T 100 12150 9 8 1 0 0 0 1 AK2 T 3600 11750 9 8 1 0 0 0 1 AL1 T 100 11750 9 8 1 0 0 0 1 AL2 T 3600 11350 9 8 1 0 0 0 1 AM1 T 100 11350 9 8 1 0 0 0 1 AM2 T 3600 10950 9 8 1 0 0 0 1 AN1 T 100 10950 9 8 1 0 0 0 1 AN2 T 3600 10550 9 8 1 0 0 0 1 AP1 T 100 10550 9 8 1 0 0 0 1 AP2 T 3600 10150 9 8 1 0 0 0 1 AR1 T 100 10150 9 8 1 0 0 0 1 AR2 T 3600 9750 9 8 1 0 0 0 1 AS1 T 100 9750 9 8 1 0 0 0 1 AS2 T 3600 9350 9 8 1 0 0 0 1 AT1 T 100 9350 9 8 1 0 0 0 1 AT2 T 3600 8950 9 8 1 0 0 0 1 AU1 T 100 8950 9 8 1 0 0 0 1 AU2 T 3600 8550 9 8 1 0 0 0 1 AV1 T 100 8550 9 8 1 0 0 0 1 AV2 T 3600 6550 9 8 1 0 0 0 1 BB1 T 100 6550 9 8 1 0 0 0 1 BB2 T 3600 6150 9 8 1 0 0 0 1 BC1 T 100 6150 9 8 1 0 0 0 1 BC2 T 3600 5750 9 8 1 0 0 0 1 BD1 T 100 5750 9 8 1 0 0 0 1 BD2 T 3600 5350 9 8 1 0 0 0 1 BE1 T 100 5350 9 8 1 0 0 0 1 BE2 T 3600 4950 9 8 1 0 0 0 1 BF1 T 100 4950 9 8 1 0 0 0 1 BF2 T 3600 4550 9 8 1 0 0 0 1 BH1 T 100 4550 9 8 1 0 0 0 1 BH2 T 3600 4150 9 8 1 0 0 0 1 BJ1 T 100 4150 9 8 1 0 0 0 1 BJ2 T 3600 3750 9 8 1 0 0 0 1 BK1 T 100 3750 9 8 1 0 0 0 1 BK2 T 3600 3350 9 8 1 0 0 0 1 BL1 T 100 3350 9 8 1 0 0 0 1 BL2 T 3600 2950 9 8 1 0 0 0 1 BM1 T 100 2950 9 8 1 0 0 0 1 BM2 T 3600 2550 9 8 1 0 0 0 1 BN1 T 100 2550 9 8 1 0 0 0 1 BN2 T 3600 2150 9 8 1 0 0 0 1 BP1 T 100 2150 9 8 1 0 0 0 1 BP2 T 3600 1750 9 8 1 0 0 0 1 BR1 T 100 1750 9 8 1 0 0 0 1 BR2 T 3600 1350 9 8 1 0 0 0 1 BS1 T 100 1350 9 8 1 0 0 0 1 BS2 T 3600 950 9 8 1 0 0 0 1 BT1 T 100 950 9 8 1 0 0 0 1 BT2 T 3600 550 9 8 1 0 0 0 1 BU1 T 100 550 9 8 1 0 0 0 1 BU2 T 3600 150 9 8 1 0 0 0 1 BV1 T 100 150 9 8 1 0 0 0 1 BV2 T 2700 15300 9 10 1 0 0 0 1 BIRQ5 L T 2700 14900 9 10 1 0 0 0 1 BIRQ6 L T 2500 14500 9 10 1 0 0 0 1 BDAL16 L T 2500 14100 9 10 1 0 0 0 1 BDAL17 L T 2500 13700 9 10 1 0 0 0 1 SSPARE1 T 2500 13300 9 10 1 0 0 0 1 SSPARE2 T 1900 12900 9 10 1 0 0 0 1 SSPARE3/SRUN T 3000 12500 9 10 1 0 0 0 1 GND T 2450 12100 9 10 1 0 0 0 1 MSPAREA T 2450 11700 9 10 1 0 0 0 1 MSPAREB T 3000 11300 9 10 1 0 0 0 1 GND T 2700 10900 9 10 1 0 0 0 1 BDMR L T 2600 10500 9 10 1 0 0 0 1 BHALT L T 2700 10100 9 10 1 0 0 0 1 BREF L T 2550 9700 9 10 1 0 0 0 1 +12B/+5B T 3000 9300 9 10 1 0 0 0 1 GND T 2500 8900 9 10 1 0 0 0 1 PSPARE 1 T 3000 8500 9 10 1 0 0 0 1 +5B T 2500 6900 9 10 1 0 0 0 1 BDCOK H T 2650 6500 9 10 1 0 0 0 1 BPOK H T 1600 6100 9 10 1 0 0 0 1 SSPARE4/BDAL18L T 1600 5700 9 10 1 0 0 0 1 SSPARE5/BDAL19L T 1550 5300 9 10 1 0 0 0 1 SSPARE6/BDAL20L T 1600 4900 9 10 1 0 0 0 1 SSPARE7/BDAL21L T 2500 4500 9 10 1 0 0 0 1 SSPARE8 T 3000 4100 9 10 1 0 0 0 1 GND T 2450 3700 9 10 1 0 0 0 1 MSPAREC T 2450 3300 9 10 1 0 0 0 1 MSPARED T 3000 2900 9 10 1 0 0 0 1 GND T 2550 2500 9 10 1 0 0 0 1 BSACK L T 2650 2100 9 10 1 0 0 0 1 BIRQ7 L T 2550 1700 9 10 1 0 0 0 1 BEVNT L T 2950 1300 9 10 1 0 0 0 1 +12B T 3000 900 9 10 1 0 0 0 1 GND T 2500 500 9 10 1 0 0 0 1 PSPARE2 T 3200 100 9 10 1 0 0 0 1 +5 T 600 15300 9 10 1 0 0 0 1 +5 T 600 14900 9 10 1 0 0 0 1 -12 T 600 14500 9 10 1 0 0 0 1 GND T 600 14100 9 10 1 0 0 0 1 +12 T 600 13700 9 10 1 0 0 0 1 BDOUT L T 600 13300 9 10 1 0 0 0 1 BRPLY L T 600 12900 9 10 1 0 0 0 1 BDIN L T 600 12500 9 10 1 0 0 0 1 BSYNC L T 600 12100 9 10 1 0 0 0 1 BWTBT L T 600 11700 9 10 1 0 0 0 1 BIRQ4 L T 600 11300 9 10 1 0 0 0 1 BIAKI L T 600 10900 9 10 1 0 0 0 1 BIAKO L T 600 10500 9 10 1 0 0 0 1 BBS7 L T 600 10100 9 10 1 0 0 0 1 BDMGI L T 600 9700 9 10 1 0 0 0 1 BDMGO L T 600 9300 9 10 1 0 0 0 1 BINIT L T 600 8900 9 10 1 0 0 0 1 BDAL0 L T 600 8500 9 10 1 0 0 0 1 BDAL1 L T 600 6900 9 10 1 0 0 0 1 +5 T 600 6500 9 10 1 0 0 0 1 -12 T 600 6100 9 10 1 0 0 0 1 GND T 600 5700 9 10 1 0 0 0 1 +12 T 600 5300 9 10 1 0 0 0 1 BDAL2 L T 600 4900 9 10 1 0 0 0 1 BDAL3 L T 600 4500 9 10 1 0 0 0 1 BDAL4 L T 600 4100 9 10 1 0 0 0 1 BDAL5 L T 600 3700 9 10 1 0 0 0 1 BDAL6 L T 600 3300 9 10 1 0 0 0 1 BDAL7 L T 600 2900 9 10 1 0 0 0 1 BDAL8 L T 600 2500 9 10 1 0 0 0 1 BDAL9 L T 600 2100 9 10 1 0 0 0 1 BDAL10 L T 600 1700 9 10 1 0 0 0 1 BDAL11 L T 600 1300 9 10 1 0 0 0 1 BDAL12 L T 600 900 9 10 1 0 0 0 1 BDAL13 L T 600 500 9 10 1 0 0 0 1 BDAL14 L T 600 100 9 10 1 0 0 0 1 BDAL15 L T 4800 15700 5 10 0 0 0 0 1 device=LSI11BUS T 3500 15700 8 10 1 1 0 6 1 refdes=U? geda-gaf-1.8.2/symbols/dec/DS8641_1.sym0000664000175000017500000000243312204104272014122 00000000000000v 20031231 1 B 300 0 2000 4000 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 T 2900 2700 5 10 0 0 0 0 1 device=DS8641 T 300 4100 3 10 1 0 0 0 1 DS8641 T 400 3700 3 10 1 0 0 0 1 IN1 T 400 2900 3 10 1 0 0 0 1 IN2 T 400 2100 3 10 1 0 0 0 1 IN3 T 400 1300 3 10 1 0 0 0 1 IN4 T 400 3300 3 10 1 0 0 0 1 OUT1 T 400 2500 3 10 1 0 0 0 1 OUT2 T 400 1700 3 10 1 0 0 0 1 OUT3 T 400 900 3 10 1 0 0 0 1 OUT4 T 1700 3500 3 10 1 0 0 0 1 BUS1 T 1700 2700 3 10 1 0 0 0 1 BUS2 T 1700 1900 3 10 1 0 0 0 1 BUS3 T 1700 1100 3 10 1 0 0 0 1 BUS4 T 400 500 3 10 1 0 0 0 1 DISABLE A T 400 100 3 10 1 0 0 0 1 DISABLE B T 2400 1950 3 8 1 0 0 0 1 1 T 150 2150 3 8 1 0 0 0 1 2 T 150 1750 3 8 1 0 0 0 1 3 T 2400 1150 3 8 1 0 0 0 1 4 T 150 1350 3 8 1 0 0 0 1 5 T 150 950 3 8 1 0 0 0 1 6 T 150 150 3 8 1 0 0 0 1 7 T 150 550 3 8 1 0 0 0 1 9 T 100 2550 3 8 1 0 0 0 1 10 T 100 2950 3 8 1 0 0 0 1 11 T 2400 2750 3 8 1 0 0 0 1 12 T 100 3350 3 8 1 0 0 0 1 13 T 100 3750 3 8 1 0 0 0 1 14 T 2400 3550 3 8 1 0 0 0 1 15 P 300 3700 0 3700 1 0 1 P 300 3300 0 3300 1 0 1 P 300 2900 0 2900 1 0 1 P 300 2500 0 2500 1 0 1 P 300 2100 0 2100 1 0 1 P 300 1700 0 1700 1 0 1 P 300 1300 0 1300 1 0 1 P 300 900 0 900 1 0 1 P 300 500 0 500 1 0 1 P 300 100 0 100 1 0 1 P 2600 1100 2300 1100 1 0 0 P 2600 1900 2300 1900 1 0 0 P 2600 2700 2300 2700 1 0 0 P 2600 3500 2300 3500 1 0 0 geda-gaf-1.8.2/symbols/dec/DC319-1.sym0000664000175000017500000001267212204104272013740 00000000000000v 20031231 1 B 300 0 2000 8000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 8050 9 10 1 0 0 0 1 DC319 P 300 7700 0 7700 1 0 1 { T 200 7750 5 8 1 1 0 0 1 pinnumber=1 T 200 7750 5 8 0 0 0 0 1 pinseq=1 } P 300 7300 0 7300 1 0 1 { T 150 7350 5 8 1 1 0 0 1 pinnumber=2 T 150 7350 5 8 0 0 0 0 1 pinseq=2 } P 300 6900 0 6900 1 0 1 { T 150 6950 5 8 1 1 0 0 1 pinnumber=3 T 150 6950 5 8 0 0 0 0 1 pinseq=3 } P 300 6500 0 6500 1 0 1 { T 150 6550 5 8 1 1 0 0 1 pinnumber=4 T 150 6550 5 8 0 0 0 0 1 pinseq=4 } P 300 6100 0 6100 1 0 1 { T 150 6150 5 8 1 1 0 0 1 pinnumber=5 T 150 6150 5 8 0 0 0 0 1 pinseq=5 } P 300 5700 0 5700 1 0 1 { T 150 5750 5 8 1 1 0 0 1 pinnumber=6 T 150 5750 5 8 0 0 0 0 1 pinseq=6 } P 300 5300 0 5300 1 0 1 { T 150 5350 5 8 1 1 0 0 1 pinnumber=7 T 150 5350 5 8 0 0 0 0 1 pinseq=7 } P 300 4900 0 4900 1 0 1 { T 150 4950 5 8 1 1 0 0 1 pinnumber=8 T 150 4950 5 8 0 0 0 0 1 pinseq=8 } P 300 4500 0 4500 1 0 1 { T 150 4550 5 8 1 1 0 0 1 pinnumber=9 T 150 4550 5 8 0 0 0 0 1 pinseq=9 } P 0 4100 300 4100 1 0 0 { T 100 4150 5 8 1 1 0 0 1 pinnumber=10 T 100 4150 5 8 0 0 0 0 1 pinseq=10 } P 300 3700 0 3700 1 0 1 { T 100 3750 5 8 1 1 0 0 1 pinnumber=11 T 100 3750 5 8 0 0 0 0 1 pinseq=11 } P 300 3300 0 3300 1 0 1 { T 100 3350 5 8 1 1 0 0 1 pinnumber=12 T 100 3350 5 8 0 0 0 0 1 pinseq=12 } P 300 2900 0 2900 1 0 1 { T 100 2950 5 8 1 1 0 0 1 pinnumber=13 T 100 2950 5 8 0 0 0 0 1 pinseq=13 } P 300 2500 0 2500 1 0 1 { T 100 2550 5 8 1 1 0 0 1 pinnumber=14 T 100 2550 5 8 0 0 0 0 1 pinseq=14 } P 300 2100 0 2100 1 0 1 { T 100 2150 5 8 1 1 0 0 1 pinnumber=15 T 100 2150 5 8 0 0 0 0 1 pinseq=15 } P 300 1700 0 1700 1 0 1 { T 100 1750 5 8 1 1 0 0 1 pinnumber=16 T 100 1750 5 8 0 0 0 0 1 pinseq=16 } P 300 1300 0 1300 1 0 1 { T 100 1350 5 8 1 1 0 0 1 pinnumber=17 T 100 1350 5 8 0 0 0 0 1 pinseq=17 } P 300 900 0 900 1 0 1 { T 100 950 5 8 1 1 0 0 1 pinnumber=18 T 100 950 5 8 0 0 0 0 1 pinseq=18 } P 300 500 0 500 1 0 1 { T 100 550 5 8 1 1 0 0 1 pinnumber=19 T 100 550 5 8 0 0 0 0 1 pinseq=19 } P 300 100 0 100 1 0 1 { T 50 150 5 8 1 1 0 0 1 pinnumber=20 T 50 150 5 8 0 0 0 0 1 pinseq=20 } P 2600 7700 2300 7700 1 0 0 { T 2350 7750 5 8 1 1 0 0 1 pinnumber=40 T 2350 7750 5 8 0 0 0 0 1 pinseq=40 } P 2600 7300 2300 7300 1 0 0 { T 2350 7350 5 8 1 1 0 0 1 pinnumber=39 T 2350 7350 5 8 0 0 0 0 1 pinseq=39 } P 2600 6900 2300 6900 1 0 0 { T 2350 6950 5 8 1 1 0 0 1 pinnumber=38 T 2350 6950 5 8 0 0 0 0 1 pinseq=38 } P 2600 6500 2300 6500 1 0 0 { T 2350 6550 5 8 1 1 0 0 1 pinnumber=37 T 2350 6550 5 8 0 0 0 0 1 pinseq=37 } P 2600 6100 2300 6100 1 0 0 { T 2350 6150 5 8 1 1 0 0 1 pinnumber=36 T 2350 6150 5 8 0 0 0 0 1 pinseq=36 } P 2600 5700 2300 5700 1 0 0 { T 2350 5750 5 8 1 1 0 0 1 pinnumber=35 T 2350 5750 5 8 0 0 0 0 1 pinseq=35 } P 2600 5300 2300 5300 1 0 0 { T 2350 5350 5 8 1 1 0 0 1 pinnumber=34 T 2350 5350 5 8 0 0 0 0 1 pinseq=34 } P 2600 4900 2300 4900 1 0 0 { T 2350 4950 5 8 1 1 0 0 1 pinnumber=33 T 2350 4950 5 8 0 0 0 0 1 pinseq=33 } P 2600 4500 2300 4500 1 0 0 { T 2350 4550 5 8 1 1 0 0 1 pinnumber=32 T 2350 4550 5 8 0 0 0 0 1 pinseq=32 } P 2300 4100 2600 4100 1 0 1 { T 2350 4150 5 8 1 1 0 0 1 pinnumber=31 T 2350 4150 5 8 0 0 0 0 1 pinseq=31 } P 2600 3700 2300 3700 1 0 0 { T 2350 3750 5 8 1 1 0 0 1 pinnumber=30 T 2350 3750 5 8 0 0 0 0 1 pinseq=30 } P 2600 3300 2300 3300 1 0 0 { T 2350 3350 5 8 1 1 0 0 1 pinnumber=29 T 2350 3350 5 8 0 0 0 0 1 pinseq=29 } P 2600 2900 2300 2900 1 0 0 { T 2350 2950 5 8 1 1 0 0 1 pinnumber=28 T 2350 2950 5 8 0 0 0 0 1 pinseq=28 } P 2600 2500 2300 2500 1 0 0 { T 2350 2550 5 8 1 1 0 0 1 pinnumber=27 T 2350 2550 5 8 0 0 0 0 1 pinseq=27 } P 2600 2100 2300 2100 1 0 0 { T 2350 2150 5 8 1 1 0 0 1 pinnumber=26 T 2350 2150 5 8 0 0 0 0 1 pinseq=26 } P 2600 1700 2300 1700 1 0 0 { T 2350 1750 5 8 1 1 0 0 1 pinnumber=25 T 2350 1750 5 8 0 0 0 0 1 pinseq=25 } P 2600 1300 2300 1300 1 0 0 { T 2350 1350 5 8 1 1 0 0 1 pinnumber=24 T 2350 1350 5 8 0 0 0 0 1 pinseq=24 } P 2600 900 2300 900 1 0 0 { T 2350 950 5 8 1 1 0 0 1 pinnumber=23 T 2350 950 5 8 0 0 0 0 1 pinseq=23 } P 2600 500 2300 500 1 0 0 { T 2350 550 5 8 1 1 0 0 1 pinnumber=22 T 2350 550 5 8 0 0 0 0 1 pinseq=22 } P 2600 100 2300 100 1 0 0 { T 2350 150 5 8 1 1 0 0 1 pinnumber=21 T 2350 150 5 8 0 0 0 0 1 pinseq=21 } T 400 7700 9 10 1 0 0 0 1 RD T 400 7300 9 10 1 0 0 0 1 CS T 400 6900 9 10 1 0 0 0 1 WLB T 400 6500 9 10 1 0 0 0 1 DAL00 T 400 6100 9 10 1 0 0 0 1 DAL01 T 400 5700 9 10 1 0 0 0 1 DAL02 T 400 5300 9 10 1 0 0 0 1 DAL03 T 400 4500 9 10 1 0 0 0 1 DAL05 T 400 4100 9 10 1 0 0 0 1 DAL06 T 400 3700 9 10 1 0 0 0 1 DAL07 T 400 3300 9 10 1 0 0 0 1 DAL08 T 400 2900 9 10 1 0 0 0 1 DAL09 T 400 2500 9 10 1 0 0 0 1 DAL10 T 400 2100 9 10 1 0 0 0 1 DAL11 T 400 1700 9 10 1 0 0 0 1 DAL12 T 400 1300 9 10 1 0 0 0 1 DAL13 T 400 900 9 10 1 0 0 0 1 DAL14 T 400 500 9 10 1 0 0 0 1 DAL15 T 400 100 9 10 1 0 0 0 1 VSS T 400 4900 9 10 1 0 0 0 1 DAL04 T 1800 7700 9 10 1 0 0 0 1 VCC T 1700 7300 9 10 1 0 0 0 1 TEST T 1700 6900 9 10 1 0 0 0 1 BRS2 T 1700 6500 9 10 1 0 0 0 1 BRS1 T 1400 6100 9 10 1 0 0 0 1 RTCLK60 T 1400 5700 9 10 1 0 0 0 1 RTCLK50 T 1400 5300 9 10 1 0 0 0 1 RTCLK77 T 1500 4900 9 10 1 0 0 0 1 BRK IRQ T 1900 4500 9 10 1 0 0 0 1 CLK T 1700 4100 9 10 1 0 0 0 1 BRS0 T 1900 3700 9 10 1 0 0 0 1 SO T 1400 3300 9 10 1 0 0 0 1 XMIT IRQ T 1700 2900 9 10 1 0 0 0 1 PBRI T 2000 2500 9 10 1 0 0 0 1 SI T 1500 2100 9 10 1 0 0 0 1 RCV IRQ T 1200 1700 9 10 1 0 0 0 1 RTCLK800 T 1800 1300 9 10 1 0 0 0 1 INIT T 1900 900 9 10 1 0 0 0 1 A2 T 1900 500 9 10 1 0 0 0 1 A1 T 1900 100 9 10 1 0 0 0 1 A0 T 3100 7700 5 10 0 0 0 0 1 device=DC319 T 2300 8100 8 10 1 1 0 6 1 refdes=U? geda-gaf-1.8.2/symbols/dec/DC310ES-1.sym0000664000175000017500000001271512204104272014155 00000000000000v 20031231 1 B 400 0 2000 8000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 8050 9 10 1 0 0 0 1 DC310ES P 400 7700 100 7700 1 0 1 { T 300 7750 5 8 1 1 0 0 1 pinnumber=1 T 300 7750 5 8 0 0 0 0 1 pinseq=1 } P 400 7300 100 7300 1 0 1 { T 250 7350 5 8 1 1 0 0 1 pinnumber=2 T 250 7350 5 8 0 0 0 0 1 pinseq=2 } P 400 6900 100 6900 1 0 1 { T 250 6950 5 8 1 1 0 0 1 pinnumber=3 T 250 6950 5 8 0 0 0 0 1 pinseq=3 } P 400 6500 100 6500 1 0 1 { T 250 6550 5 8 1 1 0 0 1 pinnumber=4 T 250 6550 5 8 0 0 0 0 1 pinseq=4 } P 400 6100 100 6100 1 0 1 { T 250 6150 5 8 1 1 0 0 1 pinnumber=5 T 250 6150 5 8 0 0 0 0 1 pinseq=5 } P 400 5700 100 5700 1 0 1 { T 250 5750 5 8 1 1 0 0 1 pinnumber=6 T 250 5750 5 8 0 0 0 0 1 pinseq=6 } P 400 5300 100 5300 1 0 1 { T 250 5350 5 8 1 1 0 0 1 pinnumber=7 T 250 5350 5 8 0 0 0 0 1 pinseq=7 } P 400 4900 100 4900 1 0 1 { T 250 4950 5 8 1 1 0 0 1 pinnumber=8 T 250 4950 5 8 0 0 0 0 1 pinseq=8 } P 400 4500 100 4500 1 0 1 { T 250 4550 5 8 1 1 0 0 1 pinnumber=9 T 250 4550 5 8 0 0 0 0 1 pinseq=9 } P 100 4100 400 4100 1 0 0 { T 200 4150 5 8 1 1 0 0 1 pinnumber=10 T 200 4150 5 8 0 0 0 0 1 pinseq=10 } P 400 3700 100 3700 1 0 1 { T 200 3750 5 8 1 1 0 0 1 pinnumber=11 T 200 3750 5 8 0 0 0 0 1 pinseq=11 } P 400 3300 100 3300 1 0 1 { T 200 3350 5 8 1 1 0 0 1 pinnumber=12 T 200 3350 5 8 0 0 0 0 1 pinseq=12 } P 400 2900 100 2900 1 0 1 { T 200 2950 5 8 1 1 0 0 1 pinnumber=13 T 200 2950 5 8 0 0 0 0 1 pinseq=13 } P 400 2500 100 2500 1 0 1 { T 200 2550 5 8 1 1 0 0 1 pinnumber=14 T 200 2550 5 8 0 0 0 0 1 pinseq=14 } P 400 2100 100 2100 1 0 1 { T 200 2150 5 8 1 1 0 0 1 pinnumber=15 T 200 2150 5 8 0 0 0 0 1 pinseq=15 } P 400 1700 100 1700 1 0 1 { T 200 1750 5 8 1 1 0 0 1 pinnumber=16 T 200 1750 5 8 0 0 0 0 1 pinseq=16 } P 400 1300 100 1300 1 0 1 { T 200 1350 5 8 1 1 0 0 1 pinnumber=17 T 200 1350 5 8 0 0 0 0 1 pinseq=17 } P 400 900 100 900 1 0 1 { T 200 950 5 8 1 1 0 0 1 pinnumber=18 T 200 950 5 8 0 0 0 0 1 pinseq=18 } P 400 500 100 500 1 0 1 { T 200 550 5 8 1 1 0 0 1 pinnumber=19 T 200 550 5 8 0 0 0 0 1 pinseq=19 } P 400 100 100 100 1 0 1 { T 150 150 5 8 1 1 0 0 1 pinnumber=20 T 150 150 5 8 0 0 0 0 1 pinseq=20 } P 2700 7700 2400 7700 1 0 0 { T 2450 7750 5 8 1 1 0 0 1 pinnumber=40 T 2450 7750 5 8 0 0 0 0 1 pinseq=40 } P 2700 7300 2400 7300 1 0 0 { T 2450 7350 5 8 1 1 0 0 1 pinnumber=39 T 2450 7350 5 8 0 0 0 0 1 pinseq=39 } P 2700 6900 2400 6900 1 0 0 { T 2450 6950 5 8 1 1 0 0 1 pinnumber=38 T 2450 6950 5 8 0 0 0 0 1 pinseq=38 } P 2700 6500 2400 6500 1 0 0 { T 2450 6550 5 8 1 1 0 0 1 pinnumber=37 T 2450 6550 5 8 0 0 0 0 1 pinseq=37 } P 2700 6100 2400 6100 1 0 0 { T 2450 6150 5 8 1 1 0 0 1 pinnumber=36 T 2450 6150 5 8 0 0 0 0 1 pinseq=36 } P 2700 5700 2400 5700 1 0 0 { T 2450 5750 5 8 1 1 0 0 1 pinnumber=35 T 2450 5750 5 8 0 0 0 0 1 pinseq=35 } P 2700 5300 2400 5300 1 0 0 { T 2450 5350 5 8 1 1 0 0 1 pinnumber=34 T 2450 5350 5 8 0 0 0 0 1 pinseq=34 } P 2700 4900 2400 4900 1 0 0 { T 2450 4950 5 8 1 1 0 0 1 pinnumber=33 T 2450 4950 5 8 0 0 0 0 1 pinseq=33 } P 2700 4500 2400 4500 1 0 0 { T 2450 4550 5 8 1 1 0 0 1 pinnumber=32 T 2450 4550 5 8 0 0 0 0 1 pinseq=32 } P 2400 4100 2700 4100 1 0 1 { T 2450 4150 5 8 1 1 0 0 1 pinnumber=31 T 2450 4150 5 8 0 0 0 0 1 pinseq=31 } P 2700 3700 2400 3700 1 0 0 { T 2450 3750 5 8 1 1 0 0 1 pinnumber=30 T 2450 3750 5 8 0 0 0 0 1 pinseq=30 } P 2700 3300 2400 3300 1 0 0 { T 2450 3350 5 8 1 1 0 0 1 pinnumber=29 T 2450 3350 5 8 0 0 0 0 1 pinseq=29 } P 2700 2900 2400 2900 1 0 0 { T 2450 2950 5 8 1 1 0 0 1 pinnumber=28 T 2450 2950 5 8 0 0 0 0 1 pinseq=28 } P 2700 2500 2400 2500 1 0 0 { T 2450 2550 5 8 1 1 0 0 1 pinnumber=27 T 2450 2550 5 8 0 0 0 0 1 pinseq=27 } P 2700 2100 2400 2100 1 0 0 { T 2450 2150 5 8 1 1 0 0 1 pinnumber=26 T 2450 2150 5 8 0 0 0 0 1 pinseq=26 } P 2700 1700 2400 1700 1 0 0 { T 2450 1750 5 8 1 1 0 0 1 pinnumber=25 T 2450 1750 5 8 0 0 0 0 1 pinseq=25 } P 2700 1300 2400 1300 1 0 0 { T 2450 1350 5 8 1 1 0 0 1 pinnumber=24 T 2450 1350 5 8 0 0 0 0 1 pinseq=24 } P 2700 900 2400 900 1 0 0 { T 2450 950 5 8 1 1 0 0 1 pinnumber=23 T 2450 950 5 8 0 0 0 0 1 pinseq=23 } P 2700 500 2400 500 1 0 0 { T 2450 550 5 8 1 1 0 0 1 pinnumber=22 T 2450 550 5 8 0 0 0 0 1 pinseq=22 } P 2700 100 2400 100 1 0 0 { T 2450 150 5 8 1 1 0 0 1 pinnumber=21 T 2450 150 5 8 0 0 0 0 1 pinseq=21 } T 500 7700 9 10 1 0 0 0 1 DAL15 T 500 7300 9 10 1 0 0 0 1 DAL14 T 500 6900 9 10 1 0 0 0 1 DAL13 T 500 6500 9 10 1 0 0 0 1 DAL12 T 500 6100 9 10 1 0 0 0 1 DAL11 T 500 5700 9 10 1 0 0 0 1 DAL10 T 500 5300 9 10 1 0 0 0 1 DAL9 T 500 4500 9 10 1 0 0 0 1 DAL8 T 500 4100 9 10 1 0 0 0 1 DAL7 T 500 3700 9 10 1 0 0 0 1 DAL6 T 500 3300 9 10 1 0 0 0 1 DAL5 T 500 2900 9 10 1 0 0 0 1 DAL4 T 500 2500 9 10 1 0 0 0 1 DAL3 T 500 2100 9 10 1 0 0 0 1 DAL2 T 500 1700 9 10 1 0 0 0 1 DAL1 T 500 1300 9 10 1 0 0 0 1 DAL0 T 500 900 9 10 1 0 0 0 1 BCLR T 500 500 9 10 1 0 0 0 1 PUP T 500 100 9 10 1 0 0 0 1 GND T 500 4900 9 10 1 0 0 0 1 BGND T 1900 7700 9 10 1 0 0 0 1 VCC T 2000 7300 9 10 1 0 0 0 1 AI7 T 2000 6900 9 10 1 0 0 0 1 AI6 T 2000 6500 9 10 1 0 0 0 1 AI5 T 2000 6100 9 10 1 0 0 0 1 AI4 T 2000 5700 9 10 1 0 0 0 1 AI3 T 2000 5300 9 10 1 0 0 0 1 AI2 T 2000 4900 9 10 1 0 0 0 1 AI1 T 2000 4500 9 10 1 0 0 0 1 AI0 T 2100 4100 9 10 1 0 0 0 1 PI T 1900 3700 9 10 1 0 0 0 1 CAS T 1900 3300 9 10 1 0 0 0 1 RAS T 1600 2900 9 10 1 0 0 0 1 R/WLB T 1600 2500 9 10 1 0 0 0 1 R/WHB T 1600 2100 9 10 1 0 0 0 1 READY T 1800 1700 9 10 1 0 0 0 1 SEL0 T 1800 1300 9 10 1 0 0 0 1 SEL1 T 1800 900 9 10 1 0 0 0 1 XTL0 T 1800 500 9 10 1 0 0 0 1 XTL1 T 1800 100 9 10 1 0 0 0 1 COUT T 3000 7700 5 10 0 0 0 0 1 device=DC310ES T 2400 8100 8 10 1 1 0 6 1 refdes=U? geda-gaf-1.8.2/symbols/switch/0000775000175000017500000000000012220655765013163 500000000000000geda-gaf-1.8.2/symbols/switch/switch-spdt-1.sym0000664000175000017500000000116512204104272016227 00000000000000v 20031231 1 T 400 800 8 10 0 0 0 0 1 device=SPDT P 300 200 0 200 1 0 1 { T 150 250 5 10 1 1 0 0 1 pinnumber=1 T 150 250 5 10 0 0 0 0 1 pinseq=1 T 150 250 5 10 0 1 0 0 1 pinlabel=1 T 150 250 5 10 0 1 0 0 1 pintype=pas } T 400 600 8 10 1 1 0 0 1 refdes=S? P 600 400 900 400 1 0 1 { T 750 450 5 10 1 1 0 0 1 pinnumber=2 T 750 450 5 10 0 0 0 0 1 pinseq=2 T 750 450 5 10 0 1 0 0 1 pinlabel=2 T 750 450 5 10 0 1 0 0 1 pintype=pas } P 600 0 900 0 1 0 1 { T 750 50 5 10 1 1 0 0 1 pinnumber=3 T 750 50 5 10 0 0 0 0 1 pinseq=3 T 750 50 5 10 0 1 0 0 1 pinlabel=3 T 750 50 5 10 0 1 0 0 1 pintype=pas } L 300 200 600 200 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/switch/switch-spdt-2.sym0000664000175000017500000000403212204104272016224 00000000000000v 20041121 1 T 410 850 8 10 0 0 0 0 1 device=Dual_Two_Way_Switch P 300 300 0 300 1 0 1 { T 160 350 5 10 0 0 0 0 1 pinseq=5 T 300 300 5 10 0 1 0 0 1 pinnumber=5 T 300 300 5 10 0 1 0 0 1 pinlabel=5 T 160 350 5 10 0 1 0 0 1 pinlabel=5 T 300 300 5 10 0 1 0 0 1 pintype=pas T 160 350 5 10 0 1 0 0 1 pintype=pas } P 700 500 1000 500 1 0 1 { T 860 550 5 10 0 0 0 0 1 pinseq=4 T 710 500 5 10 0 1 0 0 1 pinnumber=4 T 710 500 5 10 0 1 0 0 1 pinlabel=4 T 860 550 5 10 0 1 0 0 1 pinlabel=4 T 710 500 5 10 0 1 0 0 1 pintype=pas T 860 550 5 10 0 1 0 0 1 pintype=pas } P 700 100 1000 100 1 0 1 { T 860 150 5 10 0 0 0 0 1 pinseq=6 T 710 100 5 10 0 1 0 0 1 pinnumber=6 T 710 100 5 10 0 1 0 0 1 pinlabel=6 T 860 150 5 10 0 1 0 0 1 pinlabel=6 T 710 100 5 10 0 1 0 0 1 pintype=pas T 860 150 5 10 0 1 0 0 1 pintype=pas } L 300 300 660 450 3 0 0 0 -1 -1 P 300 1100 0 1100 1 0 1 { T 160 1150 5 10 0 0 0 0 1 pinseq=2 T 300 1100 5 10 0 1 0 0 1 pinnumber=2 T 300 1100 5 10 0 1 0 0 1 pinlabel=2 T 160 1150 5 10 0 1 0 0 1 pinlabel=2 T 300 1100 5 10 0 1 0 0 1 pintype=pas T 160 1150 5 10 0 1 0 0 1 pintype=pas } P 700 1300 1000 1300 1 0 1 { T 860 1350 5 10 0 0 0 0 1 pinseq=1 T 710 1300 5 10 0 1 0 0 1 pinnumber=1 T 710 1300 5 10 0 1 0 0 1 pinlabel=1 T 860 1350 5 10 0 1 0 0 1 pinlabel=1 T 710 1300 5 10 0 1 0 0 1 pintype=pas T 860 1350 5 10 0 1 0 0 1 pintype=pas } P 700 900 1000 900 1 0 1 { T 860 950 5 10 0 0 0 0 1 pinseq=3 T 800 850 5 10 0 1 0 0 1 pinnumber=3 T 800 850 5 10 0 1 0 0 1 pinlabel=3 T 860 950 5 10 0 1 0 0 1 pinlabel=3 T 800 850 5 10 0 1 0 0 1 pintype=pas T 860 950 5 10 0 1 0 0 1 pintype=pas } L 310 1100 660 1250 3 0 0 0 -1 -1 T 410 1500 8 10 1 1 0 0 1 refdes=S? L 460 1160 460 1050 3 0 0 0 -1 -1 L 460 450 460 370 3 0 0 0 -1 -1 L 460 700 460 550 3 0 0 0 -1 -1 L 460 950 460 800 3 0 0 0 -1 -1 V 660 1300 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 660 900 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 660 500 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 660 100 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 310 300 8 10 0 0 0 0 1 footprint=CONNECTOR 2 3 T 700 1700 8 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/switch/switch-LORLIN-12pos-1com-1.sym0000664000175000017500000000450412204104272020053 00000000000000v 20031231 1 T 400 1800 8 10 0 0 0 0 1 device=LORLIN-12pos-1com T 400 1400 8 10 1 1 0 0 1 refdes=S? P 300 2200 0 2200 1 0 1 { T 100 2250 5 8 1 1 0 0 1 pinnumber=1 T 100 2250 5 8 0 0 0 0 1 pinseq=1 T 100 2250 5 8 0 1 0 0 1 pinlabel=1 T 100 2250 5 8 0 1 0 0 1 pintype=pas } P 300 2000 0 2000 1 0 1 { T 100 2050 5 8 1 1 0 0 1 pinnumber=2 T 100 2050 5 8 0 0 0 0 1 pinseq=2 T 100 2050 5 8 0 1 0 0 1 pinlabel=2 T 100 2050 5 8 0 1 0 0 1 pintype=pas } P 300 1800 0 1800 1 0 1 { T 100 1850 5 8 1 1 0 0 1 pinnumber=3 T 100 1850 5 8 0 0 0 0 1 pinseq=3 T 100 1850 5 8 0 1 0 0 1 pinlabel=3 T 100 1850 5 8 0 1 0 0 1 pintype=pas } P 300 1600 0 1600 1 0 1 { T 100 1650 5 8 1 1 0 0 1 pinnumber=4 T 100 1650 5 8 0 0 0 0 1 pinseq=4 T 100 1650 5 8 0 1 0 0 1 pinlabel=4 T 100 1650 5 8 0 1 0 0 1 pintype=pas } P 300 1400 0 1400 1 0 1 { T 100 1450 5 8 1 1 0 0 1 pinnumber=5 T 100 1450 5 8 0 0 0 0 1 pinseq=5 T 100 1450 5 8 0 1 0 0 1 pinlabel=5 T 100 1450 5 8 0 1 0 0 1 pintype=pas } P 300 1200 0 1200 1 0 1 { T 100 1250 5 8 1 1 0 0 1 pinnumber=6 T 100 1250 5 8 0 0 0 0 1 pinseq=6 T 100 1250 5 8 0 1 0 0 1 pinlabel=6 T 100 1250 5 8 0 1 0 0 1 pintype=pas } P 300 1000 0 1000 1 0 1 { T 100 1050 5 8 1 1 0 0 1 pinnumber=7 T 100 1050 5 8 0 0 0 0 1 pinseq=7 T 100 1050 5 8 0 1 0 0 1 pinlabel=7 T 100 1050 5 8 0 1 0 0 1 pintype=pas } P 300 800 0 800 1 0 1 { T 100 850 5 8 1 1 0 0 1 pinnumber=8 T 100 850 5 8 0 0 0 0 1 pinseq=8 T 100 850 5 8 0 1 0 0 1 pinlabel=8 T 100 850 5 8 0 1 0 0 1 pintype=pas } P 300 600 0 600 1 0 1 { T 100 650 5 8 1 1 0 0 1 pinnumber=9 T 100 650 5 8 0 0 0 0 1 pinseq=9 T 100 650 5 8 0 1 0 0 1 pinlabel=9 T 100 650 5 8 0 1 0 0 1 pintype=pas } P 300 400 0 400 1 0 1 { T 100 450 5 8 1 1 0 0 1 pinnumber=10 T 100 450 5 8 0 0 0 0 1 pinseq=10 T 100 450 5 8 0 1 0 0 1 pinlabel=10 T 100 450 5 8 0 1 0 0 1 pintype=pas } P 300 200 0 200 1 0 1 { T 100 250 5 8 1 1 0 0 1 pinnumber=11 T 100 250 5 8 0 0 0 0 1 pinseq=11 T 100 250 5 8 0 1 0 0 1 pinlabel=11 T 100 250 5 8 0 1 0 0 1 pintype=pas } P 300 0 0 0 1 0 1 { T 100 50 5 8 1 1 0 0 1 pinnumber=12 T 100 50 5 8 0 0 0 0 1 pinseq=12 T 100 50 5 8 0 1 0 0 1 pinlabel=12 T 100 50 5 8 0 1 0 0 1 pintype=pas } P 500 1100 800 1100 1 0 1 { T 650 1150 5 8 1 1 0 0 1 pinnumber=13 T 650 1150 5 8 0 0 0 0 1 pinseq=13 T 650 1150 5 8 0 1 0 0 1 pinlabel=13 T 650 1150 5 8 0 1 0 0 1 pintype=pas } L 300 1300 500 1100 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/switch/switch-dip4-1.sym0000664000175000017500000000632112204104272016114 00000000000000v 20031231 1 P 0 1300 300 1300 1 0 0 { T 100 1350 5 8 1 1 0 0 1 pinnumber=1 T 100 1350 5 8 0 0 0 0 1 pinseq=1 T 100 1350 5 8 0 1 0 0 1 pinlabel=1 T 100 1350 5 8 0 1 0 0 1 pintype=pas } P 0 1000 300 1000 1 0 0 { T 100 1050 5 8 1 1 0 0 1 pinnumber=2 T 100 1050 5 8 0 0 0 0 1 pinseq=2 T 100 1050 5 8 0 1 0 0 1 pinlabel=2 T 100 1050 5 8 0 1 0 0 1 pintype=pas } P 0 700 300 700 1 0 0 { T 100 750 5 8 1 1 0 0 1 pinnumber=3 T 100 750 5 8 0 0 0 0 1 pinseq=3 T 100 750 5 8 0 1 0 0 1 pinlabel=3 T 100 750 5 8 0 1 0 0 1 pintype=pas } P 0 400 300 400 1 0 0 { T 100 450 5 8 1 1 0 0 1 pinnumber=4 T 100 450 5 8 0 0 0 0 1 pinseq=4 T 100 450 5 8 0 1 0 0 1 pinlabel=4 T 100 450 5 8 0 1 0 0 1 pintype=pas } P 1000 400 1300 400 1 0 1 { T 1100 450 5 8 1 1 0 0 1 pinnumber=5 T 1100 450 5 8 0 0 0 0 1 pinseq=5 T 1100 450 5 8 0 1 0 0 1 pinlabel=5 T 1100 450 5 8 0 1 0 0 1 pintype=pas } P 1000 700 1300 700 1 0 1 { T 1100 750 5 8 1 1 0 0 1 pinnumber=6 T 1100 750 5 8 0 0 0 0 1 pinseq=6 T 1100 750 5 8 0 1 0 0 1 pinlabel=6 T 1100 750 5 8 0 1 0 0 1 pintype=pas } P 1000 1000 1300 1000 1 0 1 { T 1100 1050 5 8 1 1 0 0 1 pinnumber=7 T 1100 1050 5 8 0 0 0 0 1 pinseq=7 T 1100 1050 5 8 0 1 0 0 1 pinlabel=7 T 1100 1050 5 8 0 1 0 0 1 pintype=pas } P 1000 1300 1300 1300 1 0 1 { T 1100 1350 5 8 1 1 0 0 1 pinnumber=8 T 1100 1350 5 8 0 0 0 0 1 pinseq=8 T 1100 1350 5 8 0 1 0 0 1 pinlabel=8 T 1100 1350 5 8 0 1 0 0 1 pintype=pas } B 450 1250 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 1250 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 450 1350 600 1250 3 0 0 0 -1 -1 L 600 1350 450 1250 3 0 0 0 -1 -1 L 450 1300 600 1300 3 0 0 0 -1 -1 L 525 1350 525 1250 3 0 0 0 -1 -1 L 550 1350 500 1250 3 0 0 0 -1 -1 L 500 1350 550 1250 3 0 0 0 -1 -1 L 600 1325 450 1275 3 0 0 0 -1 -1 L 450 1325 600 1275 3 0 0 0 -1 -1 L 475 1350 575 1250 3 0 0 0 -1 -1 L 575 1350 475 1250 3 0 0 0 -1 -1 B 450 950 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 950 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 450 1050 600 950 3 0 0 0 -1 -1 L 600 1050 450 950 3 0 0 0 -1 -1 L 450 1000 600 1000 3 0 0 0 -1 -1 L 525 1050 525 950 3 0 0 0 -1 -1 L 550 1050 500 950 3 0 0 0 -1 -1 L 500 1050 550 950 3 0 0 0 -1 -1 L 600 1025 450 975 3 0 0 0 -1 -1 L 450 1025 600 975 3 0 0 0 -1 -1 L 475 1050 575 950 3 0 0 0 -1 -1 L 575 1050 475 950 3 0 0 0 -1 -1 B 450 650 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 650 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 450 750 600 650 3 0 0 0 -1 -1 L 600 750 450 650 3 0 0 0 -1 -1 L 450 700 600 700 3 0 0 0 -1 -1 L 525 750 525 650 3 0 0 0 -1 -1 L 550 750 500 650 3 0 0 0 -1 -1 L 500 750 550 650 3 0 0 0 -1 -1 L 600 725 450 675 3 0 0 0 -1 -1 L 450 725 600 675 3 0 0 0 -1 -1 L 475 750 575 650 3 0 0 0 -1 -1 L 575 750 475 650 3 0 0 0 -1 -1 B 450 350 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 350 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 450 450 600 350 3 0 0 0 -1 -1 L 600 450 450 350 3 0 0 0 -1 -1 L 450 400 600 400 3 0 0 0 -1 -1 L 525 450 525 350 3 0 0 0 -1 -1 L 550 450 500 350 3 0 0 0 -1 -1 L 500 450 550 350 3 0 0 0 -1 -1 L 600 425 450 375 3 0 0 0 -1 -1 L 450 425 600 375 3 0 0 0 -1 -1 L 475 450 575 350 3 0 0 0 -1 -1 L 575 450 475 350 3 0 0 0 -1 -1 T 300 0 9 10 1 0 0 0 1 SW DIP-4 B 300 200 700 1300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1400 1375 5 8 0 0 0 0 1 device=SWITCH_DIP4 T 300 1550 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/switch/switch-dip6-2.sym0000664000175000017500000001142212204104272016115 00000000000000v 20031231 1 T 1000 2375 8 8 0 0 0 0 1 device=SWITCH_DIP6 T 300 2250 8 10 1 1 0 0 1 refdes=U? T 300 0 9 10 1 0 0 0 1 SW DIP-6 P 0 1900 300 1900 1 0 0 { T 100 1950 5 8 1 1 0 0 1 pinnumber=1 T 100 1950 5 8 0 0 0 0 1 pinseq=1 T 100 1950 5 8 0 1 0 0 1 pinlabel=1 T 100 1950 5 8 0 1 0 0 1 pintype=pas } P 1000 1900 1300 1900 1 0 1 { T 1100 1950 5 8 1 1 0 0 1 pinnumber=2 T 1100 1950 5 8 0 0 0 0 1 pinseq=2 T 1100 1950 5 8 0 1 0 0 1 pinlabel=2 T 1100 1950 5 8 0 1 0 0 1 pintype=pas } P 0 1600 300 1600 1 0 0 { T 100 1650 5 8 1 1 0 0 1 pinnumber=3 T 100 1650 5 8 0 0 0 0 1 pinseq=3 T 100 1650 5 8 0 1 0 0 1 pinlabel=3 T 100 1650 5 8 0 1 0 0 1 pintype=pas } P 1000 1600 1300 1600 1 0 1 { T 1100 1650 5 8 1 1 0 0 1 pinnumber=4 T 1100 1650 5 8 0 0 0 0 1 pinseq=4 T 1100 1650 5 8 0 1 0 0 1 pinlabel=4 T 1100 1650 5 8 0 1 0 0 1 pintype=pas } P 0 1300 300 1300 1 0 0 { T 100 1350 5 8 1 1 0 0 1 pinnumber=5 T 100 1350 5 8 0 0 0 0 1 pinseq=5 T 100 1350 5 8 0 1 0 0 1 pinlabel=5 T 100 1350 5 8 0 1 0 0 1 pintype=pas } P 1000 1300 1300 1300 1 0 1 { T 1100 1350 5 8 1 1 0 0 1 pinnumber=6 T 1100 1350 5 8 0 0 0 0 1 pinseq=6 T 1100 1350 5 8 0 1 0 0 1 pinlabel=6 T 1100 1350 5 8 0 1 0 0 1 pintype=pas } P 0 1000 300 1000 1 0 0 { T 100 1050 5 8 1 1 0 0 1 pinnumber=7 T 100 1050 5 8 0 0 0 0 1 pinseq=7 T 100 1050 5 8 0 1 0 0 1 pinlabel=7 T 100 1050 5 8 0 1 0 0 1 pintype=pas } P 1000 1000 1300 1000 1 0 1 { T 1100 1050 5 8 1 1 0 0 1 pinnumber=8 T 1100 1050 5 8 0 0 0 0 1 pinseq=8 T 1100 1050 5 8 0 1 0 0 1 pinlabel=8 T 1100 1050 5 8 0 1 0 0 1 pintype=pas } P 0 700 300 700 1 0 0 { T 100 750 5 8 1 1 0 0 1 pinnumber=9 T 100 750 5 8 0 0 0 0 1 pinseq=9 T 100 750 5 8 0 1 0 0 1 pinlabel=9 T 100 750 5 8 0 1 0 0 1 pintype=pas } P 1000 700 1300 700 1 0 1 { T 1100 750 5 8 1 1 0 0 1 pinnumber=10 T 1100 750 5 8 0 0 0 0 1 pinseq=10 T 1100 750 5 8 0 1 0 0 1 pinlabel=10 T 1100 750 5 8 0 1 0 0 1 pintype=pas } P 0 400 300 400 1 0 0 { T 100 450 5 8 1 1 0 0 1 pinnumber=11 T 100 450 5 8 0 0 0 0 1 pinseq=11 T 100 450 5 8 0 1 0 0 1 pinlabel=11 T 100 450 5 8 0 1 0 0 1 pintype=pas } P 1000 400 1300 400 1 0 1 { T 1100 450 5 8 1 1 0 0 1 pinnumber=12 T 1100 450 5 8 0 0 0 0 1 pinseq=12 T 1100 450 5 8 0 1 0 0 1 pinlabel=12 T 1100 450 5 8 0 1 0 0 1 pintype=pas } B 300 200 700 2000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 1850 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 1850 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 1550 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 1550 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 1250 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 1250 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 950 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 950 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 650 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 650 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 350 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 350 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 450 1950 600 1850 3 0 0 0 -1 -1 L 600 1950 450 1850 3 0 0 0 -1 -1 L 450 1900 600 1900 3 0 0 0 -1 -1 L 525 1950 525 1850 3 0 0 0 -1 -1 L 550 1950 500 1850 3 0 0 0 -1 -1 L 500 1950 550 1850 3 0 0 0 -1 -1 L 600 1925 450 1875 3 0 0 0 -1 -1 L 450 1925 600 1875 3 0 0 0 -1 -1 L 475 1950 575 1850 3 0 0 0 -1 -1 L 575 1950 475 1850 3 0 0 0 -1 -1 L 450 1650 600 1550 3 0 0 0 -1 -1 L 600 1650 450 1550 3 0 0 0 -1 -1 L 450 1600 600 1600 3 0 0 0 -1 -1 L 525 1650 525 1550 3 0 0 0 -1 -1 L 550 1650 500 1550 3 0 0 0 -1 -1 L 500 1650 550 1550 3 0 0 0 -1 -1 L 600 1625 450 1575 3 0 0 0 -1 -1 L 450 1625 600 1575 3 0 0 0 -1 -1 L 475 1650 575 1550 3 0 0 0 -1 -1 L 575 1650 475 1550 3 0 0 0 -1 -1 L 450 1350 600 1250 3 0 0 0 -1 -1 L 600 1350 450 1250 3 0 0 0 -1 -1 L 450 1300 600 1300 3 0 0 0 -1 -1 L 525 1350 525 1250 3 0 0 0 -1 -1 L 550 1350 500 1250 3 0 0 0 -1 -1 L 500 1350 550 1250 3 0 0 0 -1 -1 L 600 1325 450 1275 3 0 0 0 -1 -1 L 450 1325 600 1275 3 0 0 0 -1 -1 L 475 1350 575 1250 3 0 0 0 -1 -1 L 575 1350 475 1250 3 0 0 0 -1 -1 L 450 1050 600 950 3 0 0 0 -1 -1 L 600 1050 450 950 3 0 0 0 -1 -1 L 450 1000 600 1000 3 0 0 0 -1 -1 L 525 1050 525 950 3 0 0 0 -1 -1 L 550 1050 500 950 3 0 0 0 -1 -1 L 500 1050 550 950 3 0 0 0 -1 -1 L 600 1025 450 975 3 0 0 0 -1 -1 L 450 1025 600 975 3 0 0 0 -1 -1 L 475 1050 575 950 3 0 0 0 -1 -1 L 575 1050 475 950 3 0 0 0 -1 -1 L 450 750 600 650 3 0 0 0 -1 -1 L 600 750 450 650 3 0 0 0 -1 -1 L 450 700 600 700 3 0 0 0 -1 -1 L 525 750 525 650 3 0 0 0 -1 -1 L 550 750 500 650 3 0 0 0 -1 -1 L 500 750 550 650 3 0 0 0 -1 -1 L 600 725 450 675 3 0 0 0 -1 -1 L 450 725 600 675 3 0 0 0 -1 -1 L 475 750 575 650 3 0 0 0 -1 -1 L 575 750 475 650 3 0 0 0 -1 -1 L 450 450 600 350 3 0 0 0 -1 -1 L 600 450 450 350 3 0 0 0 -1 -1 L 450 400 600 400 3 0 0 0 -1 -1 L 525 450 525 350 3 0 0 0 -1 -1 L 550 450 500 350 3 0 0 0 -1 -1 L 500 450 550 350 3 0 0 0 -1 -1 L 600 425 450 375 3 0 0 0 -1 -1 L 450 425 600 375 3 0 0 0 -1 -1 L 475 450 575 350 3 0 0 0 -1 -1 L 575 450 475 350 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/switch/ssrelay-spdt-lcc110-1.sym0000664000175000017500000000754012204104272017374 00000000000000v 20041228 1 B 300 200 1500 1500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 2000 5 10 0 0 0 0 1 numslots=0 T 300 2600 5 10 0 0 0 0 1 device=LCC110 T 300 2200 5 10 0 0 0 0 1 symversion=0.1 L 300 1300 700 1300 3 0 0 0 -1 -1 L 700 1300 700 1100 3 0 0 0 -1 -1 L 500 1100 900 1100 3 0 0 0 -1 -1 L 900 1100 700 900 3 0 0 0 -1 -1 L 700 900 500 1100 3 0 0 0 -1 -1 L 500 900 900 900 3 0 0 0 -1 -1 L 700 900 700 700 3 0 0 0 -1 -1 L 700 700 300 700 3 0 0 0 -1 -1 L 953 1196 1133 1277 3 0 0 0 -1 -1 L 1133 1277 1131 1224 3 0 0 0 -1 -1 L 1131 1224 1262 1287 3 0 0 0 -1 -1 L 1262 1287 1195 1282 3 0 0 0 -1 -1 L 1259 1284 1215 1238 3 0 0 0 -1 -1 L 961 1123 1141 1204 3 0 0 0 -1 -1 L 1141 1204 1139 1151 3 0 0 0 -1 -1 L 1139 1151 1270 1214 3 0 0 0 -1 -1 L 1270 1214 1203 1209 3 0 0 0 -1 -1 L 1267 1211 1223 1165 3 0 0 0 -1 -1 L 1800 1600 1500 1600 3 0 0 0 -1 -1 P 0 1300 300 1300 1 0 0 { T 100 1350 5 8 1 1 0 0 1 pinnumber=2 T 100 1350 5 8 0 0 0 0 1 pinseq=1 T 100 1350 5 8 0 1 0 0 1 pinlabel=2 T 100 1350 5 8 0 1 0 0 1 pintype=pas } P 0 700 300 700 1 0 0 { T 100 750 5 8 1 1 0 0 1 pinnumber=3 T 100 750 5 8 0 0 0 0 1 pinseq=2 T 100 750 5 8 0 1 0 0 1 pinlabel=3 T 100 750 5 8 0 1 0 0 1 pintype=pas } P 1800 1600 2100 1600 1 0 1 { T 1900 1650 5 8 1 1 0 0 1 pinnumber=8 T 1900 1650 5 8 0 0 0 0 1 pinseq=6 T 1900 1650 5 8 0 1 0 0 1 pinlabel=8 T 1900 1650 5 8 0 1 0 0 1 pintype=pas } P 1800 300 2100 300 1 0 1 { T 1900 150 5 8 1 1 0 0 1 pinnumber=5 T 1900 150 5 8 0 0 0 0 1 pinseq=3 T 1900 150 5 8 0 1 0 0 1 pinlabel=5 T 1900 150 5 8 0 1 0 0 1 pintype=pas } L 903 754 1083 673 3 0 0 0 -1 -1 L 1083 673 1081 726 3 0 0 0 -1 -1 L 1081 726 1212 663 3 0 0 0 -1 -1 L 1212 663 1145 668 3 0 0 0 -1 -1 L 1209 666 1165 712 3 0 0 0 -1 -1 L 911 827 1091 746 3 0 0 0 -1 -1 L 1091 746 1089 799 3 0 0 0 -1 -1 L 1089 799 1220 736 3 0 0 0 -1 -1 L 1220 736 1153 741 3 0 0 0 -1 -1 L 1217 739 1173 785 3 0 0 0 -1 -1 L 1500 1000 1800 1000 3 0 0 0 -1 -1 L 1800 900 1500 900 3 0 0 0 -1 -1 L 1500 300 1800 300 3 0 0 0 -1 -1 P 1800 1000 2100 1000 1 0 1 { T 1900 1050 5 8 1 1 0 0 1 pinnumber=7 T 1900 1050 5 8 0 0 0 0 1 pinseq=5 T 1900 1050 5 8 0 1 0 0 1 pinlabel=7 T 1900 1050 5 8 0 1 0 0 1 pintype=pas } P 1800 900 2100 900 1 0 1 { T 1900 750 5 8 1 1 0 0 1 pinnumber=6 T 1900 750 5 8 0 0 0 0 1 pinseq=4 T 1900 750 5 8 0 1 0 0 1 pinlabel=6 T 1900 750 5 8 0 1 0 0 1 pintype=pas } L 1500 1600 1500 1400 3 0 0 0 -1 -1 L 1500 1400 1650 1400 3 0 0 0 -1 -1 L 1650 1400 1650 1200 3 0 0 0 -1 -1 L 1650 1200 1500 1200 3 0 0 0 -1 -1 L 1500 1200 1500 1000 3 0 0 0 -1 -1 L 1500 1100 1650 1100 3 0 0 0 -1 -1 L 1650 1100 1650 1200 3 0 0 0 -1 -1 L 1650 1400 1650 1500 3 0 0 0 -1 -1 L 1650 1500 1500 1500 3 0 0 0 -1 -1 L 1400 1600 1400 1400 3 0 0 0 -1 -1 L 1400 1200 1400 1000 3 0 0 0 -1 -1 L 1500 1500 1600 1550 3 0 0 0 -1 -1 L 1500 1500 1600 1450 3 0 0 0 -1 -1 L 1500 1100 1600 1150 3 0 0 0 -1 -1 L 1500 1100 1600 1050 3 0 0 0 -1 -1 L 1500 900 1500 700 3 0 0 0 -1 -1 L 1500 300 1500 500 3 0 0 0 -1 -1 L 1500 500 1650 500 3 0 0 0 -1 -1 L 1650 500 1650 700 3 0 0 0 -1 -1 L 1650 700 1500 700 3 0 0 0 -1 -1 L 1500 800 1650 800 3 0 0 0 -1 -1 L 1650 800 1650 700 3 0 0 0 -1 -1 L 1650 500 1650 400 3 0 0 0 -1 -1 L 1650 400 1500 400 3 0 0 0 -1 -1 L 1500 400 1600 450 3 0 0 0 -1 -1 L 1500 400 1600 350 3 0 0 0 -1 -1 L 1500 800 1600 850 3 0 0 0 -1 -1 L 1500 800 1600 750 3 0 0 0 -1 -1 L 1400 900 1400 700 3 0 0 0 -1 -1 L 1400 500 1400 300 3 0 0 0 -1 -1 L 1400 1500 1300 1500 3 0 0 0 -1 -1 L 1300 1500 1300 1100 3 0 0 0 -1 -1 L 1300 1100 1400 1100 3 0 0 0 -1 -1 L 1400 800 1300 800 3 0 0 0 -1 -1 L 1300 800 1300 400 3 0 0 0 -1 -1 L 1300 400 1400 400 3 0 0 0 -1 -1 T 1881 1324 9 6 1 0 0 0 1 NC T 1889 518 9 6 1 0 0 0 1 NO T 300 0 9 10 1 0 0 0 1 LCC110 T 300 1750 8 10 1 1 0 0 1 refdes=U? T 300 2400 5 10 0 0 0 0 1 footprint=DIP8 T 300 2800 5 10 0 0 0 0 1 documentation=http://www.clare.com/home/PDFs.nsf/www/Lcc110.pdf/$File/Lcc110.pdf T 300 3000 5 10 0 0 0 0 1 description=common input optomos relay geda-gaf-1.8.2/symbols/switch/relay-1.sym0000664000175000017500000000074412204104272015074 00000000000000v 20031231 1 A 300 2000 200 270 180 3 0 0 0 -1 -1 A 300 1600 200 270 180 3 0 0 0 -1 -1 A 300 1200 200 270 180 3 0 0 0 -1 -1 A 300 800 200 270 180 3 0 0 0 -1 -1 P 300 600 300 0 1 0 1 T 600 300 9 10 1 0 0 0 1 RELAY P 300 2800 300 2200 1 0 0 P 1500 2800 1500 2200 1 0 0 P 1500 600 1500 0 1 0 1 B 0 500 1800 1800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 700 2350 5 10 0 1 0 0 1 device=RELAY L 900 2100 900 700 3 0 0 0 -1 -1 L 900 1400 1550 2250 3 0 0 0 -1 -1 T 1800 2350 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/switch/switch-dip8-2.sym0000664000175000017500000001445112204104272016124 00000000000000v 20031231 1 T 300 2750 8 10 1 1 0 0 1 refdes=U? T 300 0 9 10 1 0 0 0 1 SW DIP-8 P 0 2500 300 2500 1 0 0 { T 100 2550 5 8 1 1 0 0 1 pinnumber=1 T 100 2550 5 8 0 0 0 0 1 pinseq=1 T 100 2550 5 8 0 1 0 0 1 pinlabel=1 T 100 2550 5 8 0 1 0 0 1 pintype=pas } P 1000 2500 1300 2500 1 0 1 { T 1100 2550 5 8 1 1 0 0 1 pinnumber=2 T 1100 2550 5 8 0 0 0 0 1 pinseq=2 T 1100 2550 5 8 0 1 0 0 1 pinlabel=2 T 1100 2550 5 8 0 1 0 0 1 pintype=pas } P 0 2200 300 2200 1 0 0 { T 100 2250 5 8 1 1 0 0 1 pinnumber=3 T 100 2250 5 8 0 0 0 0 1 pinseq=3 T 100 2250 5 8 0 1 0 0 1 pinlabel=3 T 100 2250 5 8 0 1 0 0 1 pintype=pas } P 1000 2200 1300 2200 1 0 1 { T 1100 2250 5 8 1 1 0 0 1 pinnumber=4 T 1100 2250 5 8 0 0 0 0 1 pinseq=4 T 1100 2250 5 8 0 1 0 0 1 pinlabel=4 T 1100 2250 5 8 0 1 0 0 1 pintype=pas } P 0 1900 300 1900 1 0 0 { T 100 1950 5 8 1 1 0 0 1 pinnumber=5 T 100 1950 5 8 0 0 0 0 1 pinseq=5 T 100 1950 5 8 0 1 0 0 1 pinlabel=5 T 100 1950 5 8 0 1 0 0 1 pintype=pas } P 1000 1900 1300 1900 1 0 1 { T 1100 1950 5 8 1 1 0 0 1 pinnumber=6 T 1100 1950 5 8 0 0 0 0 1 pinseq=6 T 1100 1950 5 8 0 1 0 0 1 pinlabel=6 T 1100 1950 5 8 0 1 0 0 1 pintype=pas } P 0 1600 300 1600 1 0 0 { T 100 1650 5 8 1 1 0 0 1 pinnumber=7 T 100 1650 5 8 0 0 0 0 1 pinseq=7 T 100 1650 5 8 0 1 0 0 1 pinlabel=7 T 100 1650 5 8 0 1 0 0 1 pintype=pas } P 1000 1600 1300 1600 1 0 1 { T 1100 1650 5 8 1 1 0 0 1 pinnumber=8 T 1100 1650 5 8 0 0 0 0 1 pinseq=8 T 1100 1650 5 8 0 1 0 0 1 pinlabel=8 T 1100 1650 5 8 0 1 0 0 1 pintype=pas } P 0 1300 300 1300 1 0 0 { T 100 1350 5 8 1 1 0 0 1 pinnumber=9 T 100 1350 5 8 0 0 0 0 1 pinseq=9 T 100 1350 5 8 0 1 0 0 1 pinlabel=9 T 100 1350 5 8 0 1 0 0 1 pintype=pas } P 1000 1300 1300 1300 1 0 1 { T 1100 1350 5 8 1 1 0 0 1 pinnumber=10 T 1100 1350 5 8 0 0 0 0 1 pinseq=10 T 1100 1350 5 8 0 1 0 0 1 pinlabel=10 T 1100 1350 5 8 0 1 0 0 1 pintype=pas } P 0 1000 300 1000 1 0 0 { T 100 1050 5 8 1 1 0 0 1 pinnumber=11 T 100 1050 5 8 0 0 0 0 1 pinseq=11 T 100 1050 5 8 0 1 0 0 1 pinlabel=11 T 100 1050 5 8 0 1 0 0 1 pintype=pas } P 1000 1000 1300 1000 1 0 1 { T 1100 1050 5 8 1 1 0 0 1 pinnumber=12 T 1100 1050 5 8 0 0 0 0 1 pinseq=12 T 1100 1050 5 8 0 1 0 0 1 pinlabel=12 T 1100 1050 5 8 0 1 0 0 1 pintype=pas } P 0 700 300 700 1 0 0 { T 100 750 5 8 1 1 0 0 1 pinnumber=13 T 100 750 5 8 0 0 0 0 1 pinseq=13 T 100 750 5 8 0 1 0 0 1 pinlabel=13 T 100 750 5 8 0 1 0 0 1 pintype=pas } P 1000 700 1300 700 1 0 1 { T 1100 750 5 8 1 1 0 0 1 pinnumber=14 T 1100 750 5 8 0 0 0 0 1 pinseq=14 T 1100 750 5 8 0 1 0 0 1 pinlabel=14 T 1100 750 5 8 0 1 0 0 1 pintype=pas } P 0 400 300 400 1 0 0 { T 100 450 5 8 1 1 0 0 1 pinnumber=15 T 100 450 5 8 0 0 0 0 1 pinseq=15 T 100 450 5 8 0 1 0 0 1 pinlabel=15 T 100 450 5 8 0 1 0 0 1 pintype=pas } P 1000 400 1300 400 1 0 1 { T 1100 450 5 8 1 1 0 0 1 pinnumber=16 T 1100 450 5 8 0 0 0 0 1 pinseq=16 T 1100 450 5 8 0 1 0 0 1 pinlabel=16 T 1100 450 5 8 0 1 0 0 1 pintype=pas } B 300 200 700 2500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 2450 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 2450 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 2150 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 2150 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 1850 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 1850 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 1550 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 1550 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 1250 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 1250 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 950 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 950 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 650 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 650 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 350 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 350 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 450 2550 600 2450 3 0 0 0 -1 -1 L 600 2550 450 2450 3 0 0 0 -1 -1 L 450 2500 600 2500 3 0 0 0 -1 -1 L 525 2550 525 2450 3 0 0 0 -1 -1 L 550 2550 500 2450 3 0 0 0 -1 -1 L 500 2550 550 2450 3 0 0 0 -1 -1 L 600 2525 450 2475 3 0 0 0 -1 -1 L 450 2525 600 2475 3 0 0 0 -1 -1 L 475 2550 575 2450 3 0 0 0 -1 -1 L 575 2550 475 2450 3 0 0 0 -1 -1 L 450 2250 600 2150 3 0 0 0 -1 -1 L 600 2250 450 2150 3 0 0 0 -1 -1 L 450 2200 600 2200 3 0 0 0 -1 -1 L 525 2250 525 2150 3 0 0 0 -1 -1 L 550 2250 500 2150 3 0 0 0 -1 -1 L 500 2250 550 2150 3 0 0 0 -1 -1 L 600 2225 450 2175 3 0 0 0 -1 -1 L 450 2225 600 2175 3 0 0 0 -1 -1 L 475 2250 575 2150 3 0 0 0 -1 -1 L 575 2250 475 2150 3 0 0 0 -1 -1 L 450 1950 600 1850 3 0 0 0 -1 -1 L 600 1950 450 1850 3 0 0 0 -1 -1 L 450 1900 600 1900 3 0 0 0 -1 -1 L 525 1950 525 1850 3 0 0 0 -1 -1 L 550 1950 500 1850 3 0 0 0 -1 -1 L 500 1950 550 1850 3 0 0 0 -1 -1 L 600 1925 450 1875 3 0 0 0 -1 -1 L 450 1925 600 1875 3 0 0 0 -1 -1 L 475 1950 575 1850 3 0 0 0 -1 -1 L 575 1950 475 1850 3 0 0 0 -1 -1 L 450 1650 600 1550 3 0 0 0 -1 -1 L 600 1650 450 1550 3 0 0 0 -1 -1 L 450 1600 600 1600 3 0 0 0 -1 -1 L 525 1650 525 1550 3 0 0 0 -1 -1 L 550 1650 500 1550 3 0 0 0 -1 -1 L 500 1650 550 1550 3 0 0 0 -1 -1 L 600 1625 450 1575 3 0 0 0 -1 -1 L 450 1625 600 1575 3 0 0 0 -1 -1 L 475 1650 575 1550 3 0 0 0 -1 -1 L 575 1650 475 1550 3 0 0 0 -1 -1 L 450 1350 600 1250 3 0 0 0 -1 -1 L 600 1350 450 1250 3 0 0 0 -1 -1 L 450 1300 600 1300 3 0 0 0 -1 -1 L 525 1350 525 1250 3 0 0 0 -1 -1 L 550 1350 500 1250 3 0 0 0 -1 -1 L 500 1350 550 1250 3 0 0 0 -1 -1 L 600 1325 450 1275 3 0 0 0 -1 -1 L 450 1325 600 1275 3 0 0 0 -1 -1 L 475 1350 575 1250 3 0 0 0 -1 -1 L 575 1350 475 1250 3 0 0 0 -1 -1 L 450 1050 600 950 3 0 0 0 -1 -1 L 600 1050 450 950 3 0 0 0 -1 -1 L 450 1000 600 1000 3 0 0 0 -1 -1 L 525 1050 525 950 3 0 0 0 -1 -1 L 550 1050 500 950 3 0 0 0 -1 -1 L 500 1050 550 950 3 0 0 0 -1 -1 L 600 1025 450 975 3 0 0 0 -1 -1 L 450 1025 600 975 3 0 0 0 -1 -1 L 475 1050 575 950 3 0 0 0 -1 -1 L 575 1050 475 950 3 0 0 0 -1 -1 L 450 750 600 650 3 0 0 0 -1 -1 L 600 750 450 650 3 0 0 0 -1 -1 L 450 700 600 700 3 0 0 0 -1 -1 L 525 750 525 650 3 0 0 0 -1 -1 L 550 750 500 650 3 0 0 0 -1 -1 L 500 750 550 650 3 0 0 0 -1 -1 L 600 725 450 675 3 0 0 0 -1 -1 L 450 725 600 675 3 0 0 0 -1 -1 L 475 750 575 650 3 0 0 0 -1 -1 L 575 750 475 650 3 0 0 0 -1 -1 L 450 450 600 350 3 0 0 0 -1 -1 L 600 450 450 350 3 0 0 0 -1 -1 L 450 400 600 400 3 0 0 0 -1 -1 L 525 450 525 350 3 0 0 0 -1 -1 L 550 450 500 350 3 0 0 0 -1 -1 L 500 450 550 350 3 0 0 0 -1 -1 L 600 425 450 375 3 0 0 0 -1 -1 L 450 425 600 375 3 0 0 0 -1 -1 L 475 450 575 350 3 0 0 0 -1 -1 L 575 450 475 350 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/switch/switch-dip5-1.sym0000664000175000017500000000775712204104272016133 00000000000000v 20031231 1 T 500 2175 8 8 0 0 0 0 1 device=SWITCH_DIP5 T 300 1950 8 10 1 1 0 0 1 refdes=U? T 300 0 9 10 1 0 0 0 1 SW DIP-5 P 0 1600 300 1600 1 0 0 { T 100 1650 5 8 1 1 0 0 1 pinnumber=1 T 100 1650 5 8 0 0 0 0 1 pinseq=1 T 100 1650 5 8 0 1 0 0 1 pinlabel=1 T 100 1650 5 8 0 1 0 0 1 pintype=pas } P 0 1300 300 1300 1 0 0 { T 100 1350 5 8 1 1 0 0 1 pinnumber=2 T 100 1350 5 8 0 0 0 0 1 pinseq=2 T 100 1350 5 8 0 1 0 0 1 pinlabel=2 T 100 1350 5 8 0 1 0 0 1 pintype=pas } P 0 1000 300 1000 1 0 0 { T 100 1050 5 8 1 1 0 0 1 pinnumber=3 T 100 1050 5 8 0 0 0 0 1 pinseq=3 T 100 1050 5 8 0 1 0 0 1 pinlabel=3 T 100 1050 5 8 0 1 0 0 1 pintype=pas } P 0 700 300 700 1 0 0 { T 100 750 5 8 1 1 0 0 1 pinnumber=4 T 100 750 5 8 0 0 0 0 1 pinseq=4 T 100 750 5 8 0 1 0 0 1 pinlabel=4 T 100 750 5 8 0 1 0 0 1 pintype=pas } P 0 400 300 400 1 0 0 { T 100 450 5 8 1 1 0 0 1 pinnumber=5 T 100 450 5 8 0 0 0 0 1 pinseq=5 T 100 450 5 8 0 1 0 0 1 pinlabel=5 T 100 450 5 8 0 1 0 0 1 pintype=pas } P 1000 400 1300 400 1 0 1 { T 1100 450 5 8 1 1 0 0 1 pinnumber=6 T 1100 450 5 8 0 0 0 0 1 pinseq=6 T 1100 450 5 8 0 1 0 0 1 pinlabel=6 T 1100 450 5 8 0 1 0 0 1 pintype=pas } P 1000 700 1300 700 1 0 1 { T 1100 750 5 8 1 1 0 0 1 pinnumber=7 T 1100 750 5 8 0 0 0 0 1 pinseq=7 T 1100 750 5 8 0 1 0 0 1 pinlabel=7 T 1100 750 5 8 0 1 0 0 1 pintype=pas } P 1000 1000 1300 1000 1 0 1 { T 1100 1050 5 8 1 1 0 0 1 pinnumber=8 T 1100 1050 5 8 0 0 0 0 1 pinseq=8 T 1100 1050 5 8 0 1 0 0 1 pinlabel=8 T 1100 1050 5 8 0 1 0 0 1 pintype=pas } P 1000 1300 1300 1300 1 0 1 { T 1100 1350 5 8 1 1 0 0 1 pinnumber=9 T 1100 1350 5 8 0 0 0 0 1 pinseq=9 T 1100 1350 5 8 0 1 0 0 1 pinlabel=9 T 1100 1350 5 8 0 1 0 0 1 pintype=pas } P 1000 1600 1300 1600 1 0 1 { T 1100 1650 5 8 1 1 0 0 1 pinnumber=10 T 1100 1650 5 8 0 0 0 0 1 pinseq=10 T 1100 1650 5 8 0 1 0 0 1 pinlabel=10 T 1100 1650 5 8 0 1 0 0 1 pintype=pas } B 300 200 700 1700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 1550 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 1550 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 1250 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 1250 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 950 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 950 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 650 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 650 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 350 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 350 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 450 1650 600 1550 3 0 0 0 -1 -1 L 600 1650 450 1550 3 0 0 0 -1 -1 L 450 1600 600 1600 3 0 0 0 -1 -1 L 525 1650 525 1550 3 0 0 0 -1 -1 L 550 1650 500 1550 3 0 0 0 -1 -1 L 500 1650 550 1550 3 0 0 0 -1 -1 L 600 1625 450 1575 3 0 0 0 -1 -1 L 450 1625 600 1575 3 0 0 0 -1 -1 L 475 1650 575 1550 3 0 0 0 -1 -1 L 575 1650 475 1550 3 0 0 0 -1 -1 L 450 1350 600 1250 3 0 0 0 -1 -1 L 600 1350 450 1250 3 0 0 0 -1 -1 L 450 1300 600 1300 3 0 0 0 -1 -1 L 525 1350 525 1250 3 0 0 0 -1 -1 L 550 1350 500 1250 3 0 0 0 -1 -1 L 500 1350 550 1250 3 0 0 0 -1 -1 L 600 1325 450 1275 3 0 0 0 -1 -1 L 450 1325 600 1275 3 0 0 0 -1 -1 L 475 1350 575 1250 3 0 0 0 -1 -1 L 575 1350 475 1250 3 0 0 0 -1 -1 L 450 1050 600 950 3 0 0 0 -1 -1 L 600 1050 450 950 3 0 0 0 -1 -1 L 450 1000 600 1000 3 0 0 0 -1 -1 L 525 1050 525 950 3 0 0 0 -1 -1 L 550 1050 500 950 3 0 0 0 -1 -1 L 500 1050 550 950 3 0 0 0 -1 -1 L 600 1025 450 975 3 0 0 0 -1 -1 L 450 1025 600 975 3 0 0 0 -1 -1 L 475 1050 575 950 3 0 0 0 -1 -1 L 575 1050 475 950 3 0 0 0 -1 -1 L 450 750 600 650 3 0 0 0 -1 -1 L 600 750 450 650 3 0 0 0 -1 -1 L 450 700 600 700 3 0 0 0 -1 -1 L 525 750 525 650 3 0 0 0 -1 -1 L 550 750 500 650 3 0 0 0 -1 -1 L 500 750 550 650 3 0 0 0 -1 -1 L 600 725 450 675 3 0 0 0 -1 -1 L 450 725 600 675 3 0 0 0 -1 -1 L 475 750 575 650 3 0 0 0 -1 -1 L 575 750 475 650 3 0 0 0 -1 -1 L 450 450 600 350 3 0 0 0 -1 -1 L 600 450 450 350 3 0 0 0 -1 -1 L 450 400 600 400 3 0 0 0 -1 -1 L 525 450 525 350 3 0 0 0 -1 -1 L 550 450 500 350 3 0 0 0 -1 -1 L 500 450 550 350 3 0 0 0 -1 -1 L 600 425 450 375 3 0 0 0 -1 -1 L 450 425 600 375 3 0 0 0 -1 -1 L 475 450 575 350 3 0 0 0 -1 -1 L 575 450 475 350 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/switch/ssrelay-spst-lcb110-1.sym0000664000175000017500000000444012204104272017406 00000000000000v 20031231 1 B 300 200 1500 1500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2100 1575 5 10 0 0 0 0 1 device=LCB110 L 300 1300 700 1300 3 0 0 0 -1 -1 L 700 1300 700 1100 3 0 0 0 -1 -1 L 500 1100 900 1100 3 0 0 0 -1 -1 L 900 1100 700 900 3 0 0 0 -1 -1 L 700 900 500 1100 3 0 0 0 -1 -1 L 500 900 900 900 3 0 0 0 -1 -1 L 700 900 700 700 3 0 0 0 -1 -1 L 700 700 300 700 3 0 0 0 -1 -1 L 953 996 1133 1077 3 0 0 0 -1 -1 L 1133 1077 1131 1024 3 0 0 0 -1 -1 L 1131 1024 1262 1087 3 0 0 0 -1 -1 L 1262 1087 1195 1082 3 0 0 0 -1 -1 L 1259 1084 1215 1038 3 0 0 0 -1 -1 L 961 923 1141 1004 3 0 0 0 -1 -1 L 1141 1004 1139 951 3 0 0 0 -1 -1 L 1139 951 1270 1014 3 0 0 0 -1 -1 L 1270 1014 1203 1009 3 0 0 0 -1 -1 L 1267 1011 1223 965 3 0 0 0 -1 -1 L 1800 1500 1500 1500 3 0 0 0 -1 -1 L 1500 1500 1500 1200 3 0 0 0 -1 -1 L 1500 800 1500 500 3 0 0 0 -1 -1 L 1500 500 1800 500 3 0 0 0 -1 -1 L 1500 1350 1650 1350 3 0 0 0 -1 -1 L 1500 650 1650 650 3 0 0 0 -1 -1 L 1650 650 1650 1350 3 0 0 0 -1 -1 L 1500 1200 1650 1200 3 0 0 0 -1 -1 L 1500 800 1650 800 3 0 0 0 -1 -1 L 1500 1350 1600 1400 3 0 0 0 -1 -1 L 1500 1350 1600 1300 3 0 0 0 -1 -1 L 1500 650 1600 700 3 0 0 0 -1 -1 L 1500 650 1600 600 3 0 0 0 -1 -1 L 1650 1000 1800 1000 3 0 0 0 -1 -1 L 1300 1350 1300 650 3 0 0 0 -1 -1 L 1400 1500 1400 1200 3 0 0 0 -1 -1 L 1400 800 1400 500 3 0 0 0 -1 -1 L 1300 650 1400 650 3 0 0 0 -1 -1 L 1300 1350 1400 1350 3 0 0 0 -1 -1 P 1800 1000 2100 1000 1 0 1 { T 1900 1050 5 8 1 1 0 0 1 pinnumber=5 T 1900 1050 5 8 0 0 0 0 1 pinseq=5 T 1900 1050 5 8 0 1 0 0 1 pinlabel=5 T 1900 1050 5 8 0 1 0 0 1 pintype=pas } P 1800 1500 2100 1500 1 0 1 { T 1900 1550 5 8 1 1 0 0 1 pinnumber=6 T 1900 1550 5 8 0 0 0 0 1 pinseq=6 T 1900 1550 5 8 0 1 0 0 1 pinlabel=6 T 1900 1550 5 8 0 1 0 0 1 pintype=pas } P 1800 500 2100 500 1 0 1 { T 1900 550 5 8 1 1 0 0 1 pinnumber=4 T 1900 550 5 8 0 0 0 0 1 pinseq=4 T 1900 550 5 8 0 1 0 0 1 pinlabel=4 T 1900 550 5 8 0 1 0 0 1 pintype=pas } P 0 1300 300 1300 1 0 0 { T 100 1350 5 8 1 1 0 0 1 pinnumber=1 T 100 1350 5 8 0 0 0 0 1 pinseq=1 T 100 1350 5 8 0 1 0 0 1 pinlabel=1 T 100 1350 5 8 0 1 0 0 1 pintype=pas } P 0 700 300 700 1 0 0 { T 100 750 5 8 1 1 0 0 1 pinnumber=2 T 100 750 5 8 0 0 0 0 1 pinseq=2 T 100 750 5 8 0 1 0 0 1 pinlabel=2 T 100 750 5 8 0 1 0 0 1 pintype=pas } T 300 0 9 10 1 0 0 0 1 LCB110 T 300 1750 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/switch/switch-dip5-2.sym0000664000175000017500000000775712204104272016134 00000000000000v 20031231 1 T 700 2075 8 8 0 0 0 0 1 device=SWITCH_DIP5 T 300 1950 8 10 1 1 0 0 1 refdes=U? T 300 0 9 10 1 0 0 0 1 SW DIP-5 P 0 1600 300 1600 1 0 0 { T 100 1650 5 8 1 1 0 0 1 pinnumber=1 T 100 1650 5 8 0 0 0 0 1 pinseq=1 T 100 1650 5 8 0 1 0 0 1 pinlabel=1 T 100 1650 5 8 0 1 0 0 1 pintype=pas } P 1000 1600 1300 1600 1 0 1 { T 1100 1650 5 8 1 1 0 0 1 pinnumber=2 T 1100 1650 5 8 0 0 0 0 1 pinseq=2 T 1100 1650 5 8 0 1 0 0 1 pinlabel=2 T 1100 1650 5 8 0 1 0 0 1 pintype=pas } P 0 1300 300 1300 1 0 0 { T 100 1350 5 8 1 1 0 0 1 pinnumber=3 T 100 1350 5 8 0 0 0 0 1 pinseq=3 T 100 1350 5 8 0 1 0 0 1 pinlabel=3 T 100 1350 5 8 0 1 0 0 1 pintype=pas } P 1000 1300 1300 1300 1 0 1 { T 1100 1350 5 8 1 1 0 0 1 pinnumber=4 T 1100 1350 5 8 0 0 0 0 1 pinseq=4 T 1100 1350 5 8 0 1 0 0 1 pinlabel=4 T 1100 1350 5 8 0 1 0 0 1 pintype=pas } P 0 1000 300 1000 1 0 0 { T 100 1050 5 8 1 1 0 0 1 pinnumber=5 T 100 1050 5 8 0 0 0 0 1 pinseq=5 T 100 1050 5 8 0 1 0 0 1 pinlabel=5 T 100 1050 5 8 0 1 0 0 1 pintype=pas } P 1000 1000 1300 1000 1 0 1 { T 1100 1050 5 8 1 1 0 0 1 pinnumber=6 T 1100 1050 5 8 0 0 0 0 1 pinseq=6 T 1100 1050 5 8 0 1 0 0 1 pinlabel=6 T 1100 1050 5 8 0 1 0 0 1 pintype=pas } P 0 700 300 700 1 0 0 { T 100 750 5 8 1 1 0 0 1 pinnumber=7 T 100 750 5 8 0 0 0 0 1 pinseq=7 T 100 750 5 8 0 1 0 0 1 pinlabel=7 T 100 750 5 8 0 1 0 0 1 pintype=pas } P 1000 700 1300 700 1 0 1 { T 1100 750 5 8 1 1 0 0 1 pinnumber=8 T 1100 750 5 8 0 0 0 0 1 pinseq=8 T 1100 750 5 8 0 1 0 0 1 pinlabel=8 T 1100 750 5 8 0 1 0 0 1 pintype=pas } P 0 400 300 400 1 0 0 { T 100 450 5 8 1 1 0 0 1 pinnumber=9 T 100 450 5 8 0 0 0 0 1 pinseq=9 T 100 450 5 8 0 1 0 0 1 pinlabel=9 T 100 450 5 8 0 1 0 0 1 pintype=pas } P 1000 400 1300 400 1 0 1 { T 1100 450 5 8 1 1 0 0 1 pinnumber=10 T 1100 450 5 8 0 0 0 0 1 pinseq=10 T 1100 450 5 8 0 1 0 0 1 pinlabel=10 T 1100 450 5 8 0 1 0 0 1 pintype=pas } B 300 200 700 1700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 1550 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 1550 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 1250 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 1250 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 950 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 950 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 650 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 650 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 350 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 350 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 450 1650 600 1550 3 0 0 0 -1 -1 L 600 1650 450 1550 3 0 0 0 -1 -1 L 450 1600 600 1600 3 0 0 0 -1 -1 L 525 1650 525 1550 3 0 0 0 -1 -1 L 550 1650 500 1550 3 0 0 0 -1 -1 L 500 1650 550 1550 3 0 0 0 -1 -1 L 600 1625 450 1575 3 0 0 0 -1 -1 L 450 1625 600 1575 3 0 0 0 -1 -1 L 475 1650 575 1550 3 0 0 0 -1 -1 L 575 1650 475 1550 3 0 0 0 -1 -1 L 450 1350 600 1250 3 0 0 0 -1 -1 L 600 1350 450 1250 3 0 0 0 -1 -1 L 450 1300 600 1300 3 0 0 0 -1 -1 L 525 1350 525 1250 3 0 0 0 -1 -1 L 550 1350 500 1250 3 0 0 0 -1 -1 L 500 1350 550 1250 3 0 0 0 -1 -1 L 600 1325 450 1275 3 0 0 0 -1 -1 L 450 1325 600 1275 3 0 0 0 -1 -1 L 475 1350 575 1250 3 0 0 0 -1 -1 L 575 1350 475 1250 3 0 0 0 -1 -1 L 450 1050 600 950 3 0 0 0 -1 -1 L 600 1050 450 950 3 0 0 0 -1 -1 L 450 1000 600 1000 3 0 0 0 -1 -1 L 525 1050 525 950 3 0 0 0 -1 -1 L 550 1050 500 950 3 0 0 0 -1 -1 L 500 1050 550 950 3 0 0 0 -1 -1 L 600 1025 450 975 3 0 0 0 -1 -1 L 450 1025 600 975 3 0 0 0 -1 -1 L 475 1050 575 950 3 0 0 0 -1 -1 L 575 1050 475 950 3 0 0 0 -1 -1 L 450 750 600 650 3 0 0 0 -1 -1 L 600 750 450 650 3 0 0 0 -1 -1 L 450 700 600 700 3 0 0 0 -1 -1 L 525 750 525 650 3 0 0 0 -1 -1 L 550 750 500 650 3 0 0 0 -1 -1 L 500 750 550 650 3 0 0 0 -1 -1 L 600 725 450 675 3 0 0 0 -1 -1 L 450 725 600 675 3 0 0 0 -1 -1 L 475 750 575 650 3 0 0 0 -1 -1 L 575 750 475 650 3 0 0 0 -1 -1 L 450 450 600 350 3 0 0 0 -1 -1 L 600 450 450 350 3 0 0 0 -1 -1 L 450 400 600 400 3 0 0 0 -1 -1 L 525 450 525 350 3 0 0 0 -1 -1 L 550 450 500 350 3 0 0 0 -1 -1 L 500 450 550 350 3 0 0 0 -1 -1 L 600 425 450 375 3 0 0 0 -1 -1 L 450 425 600 375 3 0 0 0 -1 -1 L 475 450 575 350 3 0 0 0 -1 -1 L 575 450 475 350 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/switch/switch-pushbutton-no-1.sym0000664000175000017500000000141512204104272020100 00000000000000v 20031231 1 T 400 300 8 10 1 1 0 0 1 refdes=S? P 0 0 150 0 1 0 0 { T 50 50 5 8 1 1 0 0 1 pinnumber=1 T 50 50 5 8 0 0 0 0 1 pinseq=1 T 50 50 5 8 0 1 0 0 1 pinlabel=1 T 50 50 5 8 0 1 0 0 1 pintype=pas } P 850 0 1000 0 1 0 1 { T 900 50 5 8 1 1 0 0 1 pinnumber=2 T 900 50 5 8 0 0 0 0 1 pinseq=2 T 900 50 5 8 0 1 0 0 1 pinlabel=2 T 900 50 5 8 0 1 0 0 1 pintype=pas } L 150 0 325 0 3 0 0 0 -1 -1 L 850 0 675 0 3 0 0 0 -1 -1 L 300 85 700 85 3 0 0 0 -1 -1 V 339 0 14 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 662 0 14 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 470 255 520 255 3 0 0 0 -1 -1 L 470 205 520 205 3 0 0 0 -1 -1 L 470 205 495 155 3 0 0 0 -1 -1 L 520 205 495 155 3 0 0 0 -1 -1 L 495 205 495 255 3 0 0 0 -1 -1 L 495 155 495 86 3 0 0 0 -1 -1 T 400 600 8 10 0 0 0 0 1 device=SWITCH_PUSHBUTTON_NO geda-gaf-1.8.2/symbols/switch/switch-pushbutton-nc-1.sym0000664000175000017500000000121312204104272020060 00000000000000v 20031231 1 P 0 100 150 100 1 0 0 { T 50 150 5 8 1 1 0 0 1 pinnumber=1 T 50 150 5 8 0 0 0 0 1 pinseq=1 T 50 150 5 8 0 1 0 0 1 pinlabel=1 T 50 150 5 8 0 1 0 0 1 pintype=pas } L 300 50 700 50 3 0 0 0 -1 -1 T -450 -200 5 10 0 0 0 0 1 device=SWITCH_PUSHBUTTON_NC P 850 100 1000 100 1 0 1 { T 900 150 5 8 1 1 0 0 1 pinnumber=2 T 900 150 5 8 0 0 0 0 1 pinseq=2 T 900 150 5 8 0 1 0 0 1 pinlabel=2 T 900 150 5 8 0 1 0 0 1 pintype=pas } L 500 50 500 250 3 0 0 0 -1 -1 L 150 100 325 100 3 0 0 0 -1 -1 L 850 100 675 100 3 0 0 0 -1 -1 V 339 100 14 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 662 101 14 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 350 8 10 1 1 0 0 1 refdes=S? geda-gaf-1.8.2/symbols/switch/switch-dip12.sym0000664000175000017500000002306512204104272016041 00000000000000v 20041228 1 T 300 4300 8 10 1 1 0 0 1 footprint=SWITCH_DIP12 T 300 4100 8 10 0 0 0 0 1 numslots=0 P 0 3700 300 3700 1 0 0 { T 100 3750 5 8 1 1 0 0 1 pinnumber=1 T 100 3750 5 8 0 0 0 0 1 pinseq=1 T 100 3750 5 8 0 1 0 0 1 pinlabel=1 T 100 3750 5 8 0 1 0 0 1 pintype=pas } P 0 3400 300 3400 1 0 0 { T 100 3450 5 8 1 1 0 0 1 pinnumber=2 T 100 3450 5 8 0 0 0 0 1 pinseq=2 T 100 3450 5 8 0 1 0 0 1 pinlabel=2 T 100 3450 5 8 0 1 0 0 1 pintype=pas } P 0 3100 300 3100 1 0 0 { T 100 3150 5 8 1 1 0 0 1 pinnumber=3 T 100 3150 5 8 0 0 0 0 1 pinseq=3 T 100 3150 5 8 0 1 0 0 1 pinlabel=3 T 100 3150 5 8 0 1 0 0 1 pintype=pas } P 0 2800 300 2800 1 0 0 { T 100 2850 5 8 1 1 0 0 1 pinnumber=4 T 100 2850 5 8 0 0 0 0 1 pinseq=4 T 100 2850 5 8 0 1 0 0 1 pinlabel=4 T 100 2850 5 8 0 1 0 0 1 pintype=pas } P 0 2500 300 2500 1 0 0 { T 100 2550 5 8 1 1 0 0 1 pinnumber=5 T 100 2550 5 8 0 0 0 0 1 pinseq=5 T 100 2550 5 8 0 1 0 0 1 pinlabel=5 T 100 2550 5 8 0 1 0 0 1 pintype=pas } P 0 2200 300 2200 1 0 0 { T 100 2250 5 8 1 1 0 0 1 pinnumber=6 T 100 2250 5 8 0 0 0 0 1 pinseq=6 T 100 2250 5 8 0 1 0 0 1 pinlabel=6 T 100 2250 5 8 0 1 0 0 1 pintype=pas } P 0 1900 300 1900 1 0 0 { T 100 1950 5 8 1 1 0 0 1 pinnumber=7 T 100 1950 5 8 0 0 0 0 1 pinseq=7 T 100 1950 5 8 0 1 0 0 1 pinlabel=7 T 100 1950 5 8 0 1 0 0 1 pintype=pas } P 0 1600 300 1600 1 0 0 { T 100 1650 5 8 1 1 0 0 1 pinnumber=8 T 100 1650 5 8 0 0 0 0 1 pinseq=8 T 100 1650 5 8 0 1 0 0 1 pinlabel=8 T 100 1650 5 8 0 1 0 0 1 pintype=pas } P 0 1300 300 1300 1 0 0 { T 100 1350 5 8 1 1 0 0 1 pinnumber=9 T 100 1350 5 8 0 0 0 0 1 pinseq=9 T 100 1350 5 8 0 1 0 0 1 pinlabel=9 T 100 1350 5 8 0 1 0 0 1 pintype=pas } P 0 1000 300 1000 1 0 0 { T 100 1050 5 8 1 1 0 0 1 pinnumber=10 T 100 1050 5 8 0 0 0 0 1 pinseq=10 T 100 1050 5 8 0 1 0 0 1 pinlabel=10 T 100 1050 5 8 0 1 0 0 1 pintype=pas } P 0 700 300 700 1 0 0 { T 100 750 5 8 1 1 0 0 1 pinnumber=11 T 100 750 5 8 0 0 0 0 1 pinseq=11 T 100 750 5 8 0 1 0 0 1 pinlabel=11 T 100 750 5 8 0 1 0 0 1 pintype=pas } P 0 400 300 400 1 0 0 { T 100 450 5 8 1 1 0 0 1 pinnumber=12 T 100 450 5 8 0 0 0 0 1 pinseq=12 T 100 450 5 8 0 1 0 0 1 pinlabel=12 T 100 450 5 8 0 1 0 0 1 pintype=pas } P 1000 3700 1300 3700 1 0 1 { T 1100 3750 5 8 1 1 0 0 1 pinnumber=24 T 1100 3750 5 8 0 0 0 0 1 pinseq=24 T 1100 3750 5 8 0 1 0 0 1 pinlabel=24 T 1100 3750 5 8 0 1 0 0 1 pintype=pas } P 1000 3400 1300 3400 1 0 1 { T 1100 3450 5 8 1 1 0 0 1 pinnumber=23 T 1100 3450 5 8 0 0 0 0 1 pinseq=23 T 1100 3450 5 8 0 1 0 0 1 pinlabel=23 T 1100 3450 5 8 0 1 0 0 1 pintype=pas } P 1000 3100 1300 3100 1 0 1 { T 1100 3150 5 8 1 1 0 0 1 pinnumber=22 T 1100 3150 5 8 0 0 0 0 1 pinseq=22 T 1100 3150 5 8 0 1 0 0 1 pinlabel=22 T 1100 3150 5 8 0 1 0 0 1 pintype=pas } P 1000 2800 1300 2800 1 0 1 { T 1100 2850 5 8 1 1 0 0 1 pinnumber=21 T 1100 2850 5 8 0 0 0 0 1 pinseq=21 T 1100 2850 5 8 0 1 0 0 1 pinlabel=21 T 1100 2850 5 8 0 1 0 0 1 pintype=pas } P 1000 2500 1300 2500 1 0 1 { T 1100 2550 5 8 1 1 0 0 1 pinnumber=20 T 1100 2550 5 8 0 0 0 0 1 pinseq=20 T 1100 2550 5 8 0 1 0 0 1 pinlabel=20 T 1100 2550 5 8 0 1 0 0 1 pintype=pas } P 1000 2200 1300 2200 1 0 1 { T 1100 2250 5 8 1 1 0 0 1 pinnumber=19 T 1100 2250 5 8 0 0 0 0 1 pinseq=19 T 1100 2250 5 8 0 1 0 0 1 pinlabel=19 T 1100 2250 5 8 0 1 0 0 1 pintype=pas } P 1000 1900 1300 1900 1 0 1 { T 1100 1950 5 8 1 1 0 0 1 pinnumber=18 T 1100 1950 5 8 0 0 0 0 1 pinseq=18 T 1100 1950 5 8 0 1 0 0 1 pinlabel=18 T 1100 1950 5 8 0 1 0 0 1 pintype=pas } P 1000 1600 1300 1600 1 0 1 { T 1100 1650 5 8 1 1 0 0 1 pinnumber=17 T 1100 1650 5 8 0 0 0 0 1 pinseq=17 T 1100 1650 5 8 0 1 0 0 1 pinlabel=17 T 1100 1650 5 8 0 1 0 0 1 pintype=pas } P 1000 1300 1300 1300 1 0 1 { T 1100 1350 5 8 1 1 0 0 1 pinnumber=16 T 1100 1350 5 8 0 0 0 0 1 pinseq=16 T 1100 1350 5 8 0 1 0 0 1 pinlabel=16 T 1100 1350 5 8 0 1 0 0 1 pintype=pas } P 1000 1000 1300 1000 1 0 1 { T 1100 1050 5 8 1 1 0 0 1 pinnumber=15 T 1100 1050 5 8 0 0 0 0 1 pinseq=15 T 1100 1050 5 8 0 1 0 0 1 pinlabel=15 T 1100 1050 5 8 0 1 0 0 1 pintype=pas } P 1000 700 1300 700 1 0 1 { T 1100 750 5 8 1 1 0 0 1 pinnumber=14 T 1100 750 5 8 0 0 0 0 1 pinseq=14 T 1100 750 5 8 0 1 0 0 1 pinlabel=14 T 1100 750 5 8 0 1 0 0 1 pintype=pas } P 1000 400 1300 400 1 0 1 { T 1100 450 5 8 1 1 0 0 1 pinnumber=13 T 1100 450 5 8 0 0 0 0 1 pinseq=13 T 1100 450 5 8 0 1 0 0 1 pinlabel=13 T 1100 450 5 8 0 1 0 0 1 pintype=pas } B 450 3650 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 3650 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 450 3750 600 3650 3 0 0 0 -1 -1 L 600 3750 450 3650 3 0 0 0 -1 -1 L 450 3700 600 3700 3 0 0 0 -1 -1 L 525 3750 525 3650 3 0 0 0 -1 -1 L 550 3750 500 3650 3 0 0 0 -1 -1 L 500 3750 550 3650 3 0 0 0 -1 -1 L 600 3725 450 3675 3 0 0 0 -1 -1 L 450 3725 600 3675 3 0 0 0 -1 -1 L 475 3750 575 3650 3 0 0 0 -1 -1 L 575 3750 475 3650 3 0 0 0 -1 -1 B 450 3350 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 3350 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 450 3450 600 3350 3 0 0 0 -1 -1 L 600 3450 450 3350 3 0 0 0 -1 -1 L 450 3400 600 3400 3 0 0 0 -1 -1 L 525 3450 525 3350 3 0 0 0 -1 -1 L 550 3450 500 3350 3 0 0 0 -1 -1 L 500 3450 550 3350 3 0 0 0 -1 -1 L 600 3425 450 3375 3 0 0 0 -1 -1 L 450 3425 600 3375 3 0 0 0 -1 -1 L 475 3450 575 3350 3 0 0 0 -1 -1 L 575 3450 475 3350 3 0 0 0 -1 -1 B 450 3050 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 3050 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 450 3150 600 3050 3 0 0 0 -1 -1 L 600 3150 450 3050 3 0 0 0 -1 -1 L 450 3100 600 3100 3 0 0 0 -1 -1 L 525 3150 525 3050 3 0 0 0 -1 -1 L 550 3150 500 3050 3 0 0 0 -1 -1 L 500 3150 550 3050 3 0 0 0 -1 -1 L 600 3125 450 3075 3 0 0 0 -1 -1 L 450 3125 600 3075 3 0 0 0 -1 -1 L 475 3150 575 3050 3 0 0 0 -1 -1 L 575 3150 475 3050 3 0 0 0 -1 -1 B 450 2750 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 2750 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 450 2850 600 2750 3 0 0 0 -1 -1 L 600 2850 450 2750 3 0 0 0 -1 -1 L 450 2800 600 2800 3 0 0 0 -1 -1 L 525 2850 525 2750 3 0 0 0 -1 -1 L 550 2850 500 2750 3 0 0 0 -1 -1 L 500 2850 550 2750 3 0 0 0 -1 -1 L 600 2825 450 2775 3 0 0 0 -1 -1 L 450 2825 600 2775 3 0 0 0 -1 -1 L 475 2850 575 2750 3 0 0 0 -1 -1 L 575 2850 475 2750 3 0 0 0 -1 -1 B 450 2450 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 2450 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 450 2550 600 2450 3 0 0 0 -1 -1 L 600 2550 450 2450 3 0 0 0 -1 -1 L 450 2500 600 2500 3 0 0 0 -1 -1 L 525 2550 525 2450 3 0 0 0 -1 -1 L 550 2550 500 2450 3 0 0 0 -1 -1 L 500 2550 550 2450 3 0 0 0 -1 -1 L 600 2525 450 2475 3 0 0 0 -1 -1 L 450 2525 600 2475 3 0 0 0 -1 -1 L 475 2550 575 2450 3 0 0 0 -1 -1 L 575 2550 475 2450 3 0 0 0 -1 -1 B 450 2150 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 2150 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 450 2250 600 2150 3 0 0 0 -1 -1 L 600 2250 450 2150 3 0 0 0 -1 -1 L 450 2200 600 2200 3 0 0 0 -1 -1 L 525 2250 525 2150 3 0 0 0 -1 -1 L 550 2250 500 2150 3 0 0 0 -1 -1 L 500 2250 550 2150 3 0 0 0 -1 -1 L 600 2225 450 2175 3 0 0 0 -1 -1 L 450 2225 600 2175 3 0 0 0 -1 -1 L 475 2250 575 2150 3 0 0 0 -1 -1 L 575 2250 475 2150 3 0 0 0 -1 -1 B 450 1850 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 1850 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 450 1950 600 1850 3 0 0 0 -1 -1 L 600 1950 450 1850 3 0 0 0 -1 -1 L 450 1900 600 1900 3 0 0 0 -1 -1 L 525 1950 525 1850 3 0 0 0 -1 -1 L 550 1950 500 1850 3 0 0 0 -1 -1 L 500 1950 550 1850 3 0 0 0 -1 -1 L 600 1925 450 1875 3 0 0 0 -1 -1 L 450 1925 600 1875 3 0 0 0 -1 -1 L 475 1950 575 1850 3 0 0 0 -1 -1 L 575 1950 475 1850 3 0 0 0 -1 -1 B 450 1550 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 1550 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 450 1650 600 1550 3 0 0 0 -1 -1 L 600 1650 450 1550 3 0 0 0 -1 -1 L 450 1600 600 1600 3 0 0 0 -1 -1 L 525 1650 525 1550 3 0 0 0 -1 -1 L 550 1650 500 1550 3 0 0 0 -1 -1 L 500 1650 550 1550 3 0 0 0 -1 -1 L 600 1625 450 1575 3 0 0 0 -1 -1 L 450 1625 600 1575 3 0 0 0 -1 -1 L 475 1650 575 1550 3 0 0 0 -1 -1 L 575 1650 475 1550 3 0 0 0 -1 -1 B 450 1250 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 1250 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 450 1350 600 1250 3 0 0 0 -1 -1 L 600 1350 450 1250 3 0 0 0 -1 -1 L 450 1300 600 1300 3 0 0 0 -1 -1 L 525 1350 525 1250 3 0 0 0 -1 -1 L 550 1350 500 1250 3 0 0 0 -1 -1 L 500 1350 550 1250 3 0 0 0 -1 -1 L 600 1325 450 1275 3 0 0 0 -1 -1 L 450 1325 600 1275 3 0 0 0 -1 -1 L 475 1350 575 1250 3 0 0 0 -1 -1 L 575 1350 475 1250 3 0 0 0 -1 -1 B 450 950 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 950 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 450 1050 600 950 3 0 0 0 -1 -1 L 600 1050 450 950 3 0 0 0 -1 -1 L 450 1000 600 1000 3 0 0 0 -1 -1 L 525 1050 525 950 3 0 0 0 -1 -1 L 550 1050 500 950 3 0 0 0 -1 -1 L 500 1050 550 950 3 0 0 0 -1 -1 L 600 1025 450 975 3 0 0 0 -1 -1 L 450 1025 600 975 3 0 0 0 -1 -1 L 475 1050 575 950 3 0 0 0 -1 -1 L 575 1050 475 950 3 0 0 0 -1 -1 B 450 650 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 650 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 450 750 600 650 3 0 0 0 -1 -1 L 600 750 450 650 3 0 0 0 -1 -1 L 450 700 600 700 3 0 0 0 -1 -1 L 525 750 525 650 3 0 0 0 -1 -1 L 550 750 500 650 3 0 0 0 -1 -1 L 500 750 550 650 3 0 0 0 -1 -1 L 600 725 450 675 3 0 0 0 -1 -1 L 450 725 600 675 3 0 0 0 -1 -1 L 475 750 575 650 3 0 0 0 -1 -1 L 575 750 475 650 3 0 0 0 -1 -1 B 450 350 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 350 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 450 450 600 350 3 0 0 0 -1 -1 L 600 450 450 350 3 0 0 0 -1 -1 L 450 400 600 400 3 0 0 0 -1 -1 L 525 450 525 350 3 0 0 0 -1 -1 L 550 450 500 350 3 0 0 0 -1 -1 L 500 450 550 350 3 0 0 0 -1 -1 L 600 425 450 375 3 0 0 0 -1 -1 L 450 425 600 375 3 0 0 0 -1 -1 L 475 450 575 350 3 0 0 0 -1 -1 L 575 450 475 350 3 0 0 0 -1 -1 T 300 0 9 10 1 0 0 0 1 SW DIP-12 B 300 200 700 3700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4575 8 8 0 0 0 0 1 device=SWITCH_DIP12 T 300 3950 8 10 1 1 0 0 1 refdes=S? geda-gaf-1.8.2/symbols/switch/switch-dip8-1.sym0000664000175000017500000001452612204104272016126 00000000000000v 20031231 1 P 0 2500 300 2500 1 0 0 { T 100 2550 5 8 1 1 0 0 1 pinnumber=1 T 100 2550 5 8 0 0 0 0 1 pinseq=1 T 100 2550 5 8 0 1 0 0 1 pinlabel=1 T 100 2550 5 8 0 1 0 0 1 pintype=pas } P 0 2200 300 2200 1 0 0 { T 100 2250 5 8 1 1 0 0 1 pinnumber=2 T 100 2250 5 8 0 0 0 0 1 pinseq=2 T 100 2250 5 8 0 1 0 0 1 pinlabel=2 T 100 2250 5 8 0 1 0 0 1 pintype=pas } P 0 1900 300 1900 1 0 0 { T 100 1950 5 8 1 1 0 0 1 pinnumber=3 T 100 1950 5 8 0 0 0 0 1 pinseq=3 T 100 1950 5 8 0 1 0 0 1 pinlabel=3 T 100 1950 5 8 0 1 0 0 1 pintype=pas } P 0 1600 300 1600 1 0 0 { T 100 1650 5 8 1 1 0 0 1 pinnumber=4 T 100 1650 5 8 0 0 0 0 1 pinseq=4 T 100 1650 5 8 0 1 0 0 1 pinlabel=4 T 100 1650 5 8 0 1 0 0 1 pintype=pas } P 0 1300 300 1300 1 0 0 { T 100 1350 5 8 1 1 0 0 1 pinnumber=5 T 100 1350 5 8 0 0 0 0 1 pinseq=5 T 100 1350 5 8 0 1 0 0 1 pinlabel=5 T 100 1350 5 8 0 1 0 0 1 pintype=pas } P 0 1000 300 1000 1 0 0 { T 100 1050 5 8 1 1 0 0 1 pinnumber=6 T 100 1050 5 8 0 0 0 0 1 pinseq=6 T 100 1050 5 8 0 1 0 0 1 pinlabel=6 T 100 1050 5 8 0 1 0 0 1 pintype=pas } P 0 700 300 700 1 0 0 { T 100 750 5 8 1 1 0 0 1 pinnumber=7 T 100 750 5 8 0 0 0 0 1 pinseq=7 T 100 750 5 8 0 1 0 0 1 pinlabel=7 T 100 750 5 8 0 1 0 0 1 pintype=pas } P 0 400 300 400 1 0 0 { T 100 450 5 8 1 1 0 0 1 pinnumber=8 T 100 450 5 8 0 0 0 0 1 pinseq=8 T 100 450 5 8 0 1 0 0 1 pinlabel=8 T 100 450 5 8 0 1 0 0 1 pintype=pas } P 1000 2500 1300 2500 1 0 1 { T 1100 2550 5 8 1 1 0 0 1 pinnumber=16 T 1100 2550 5 8 0 0 0 0 1 pinseq=16 T 1100 2550 5 8 0 1 0 0 1 pinlabel=16 T 1100 2550 5 8 0 1 0 0 1 pintype=pas } P 1000 2200 1300 2200 1 0 1 { T 1100 2250 5 8 1 1 0 0 1 pinnumber=15 T 1100 2250 5 8 0 0 0 0 1 pinseq=15 T 1100 2250 5 8 0 1 0 0 1 pinlabel=15 T 1100 2250 5 8 0 1 0 0 1 pintype=pas } P 1000 1900 1300 1900 1 0 1 { T 1100 1950 5 8 1 1 0 0 1 pinnumber=14 T 1100 1950 5 8 0 0 0 0 1 pinseq=14 T 1100 1950 5 8 0 1 0 0 1 pinlabel=14 T 1100 1950 5 8 0 1 0 0 1 pintype=pas } P 1000 1600 1300 1600 1 0 1 { T 1100 1650 5 8 1 1 0 0 1 pinnumber=13 T 1100 1650 5 8 0 0 0 0 1 pinseq=13 T 1100 1650 5 8 0 1 0 0 1 pinlabel=13 T 1100 1650 5 8 0 1 0 0 1 pintype=pas } P 1000 1300 1300 1300 1 0 1 { T 1100 1350 5 8 1 1 0 0 1 pinnumber=12 T 1100 1350 5 8 0 0 0 0 1 pinseq=12 T 1100 1350 5 8 0 1 0 0 1 pinlabel=12 T 1100 1350 5 8 0 1 0 0 1 pintype=pas } P 1000 1000 1300 1000 1 0 1 { T 1100 1050 5 8 1 1 0 0 1 pinnumber=11 T 1100 1050 5 8 0 0 0 0 1 pinseq=11 T 1100 1050 5 8 0 1 0 0 1 pinlabel=11 T 1100 1050 5 8 0 1 0 0 1 pintype=pas } P 1000 700 1300 700 1 0 1 { T 1100 750 5 8 1 1 0 0 1 pinnumber=10 T 1100 750 5 8 0 0 0 0 1 pinseq=10 T 1100 750 5 8 0 1 0 0 1 pinlabel=10 T 1100 750 5 8 0 1 0 0 1 pintype=pas } P 1000 400 1300 400 1 0 1 { T 1100 450 5 8 1 1 0 0 1 pinnumber=9 T 1100 450 5 8 0 0 0 0 1 pinseq=9 T 1100 450 5 8 0 1 0 0 1 pinlabel=9 T 1100 450 5 8 0 1 0 0 1 pintype=pas } B 450 2450 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 2450 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 450 2550 600 2450 3 0 0 0 -1 -1 L 600 2550 450 2450 3 0 0 0 -1 -1 L 450 2500 600 2500 3 0 0 0 -1 -1 L 525 2550 525 2450 3 0 0 0 -1 -1 L 550 2550 500 2450 3 0 0 0 -1 -1 L 500 2550 550 2450 3 0 0 0 -1 -1 L 600 2525 450 2475 3 0 0 0 -1 -1 L 450 2525 600 2475 3 0 0 0 -1 -1 L 475 2550 575 2450 3 0 0 0 -1 -1 L 575 2550 475 2450 3 0 0 0 -1 -1 B 450 2150 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 2150 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 450 2250 600 2150 3 0 0 0 -1 -1 L 600 2250 450 2150 3 0 0 0 -1 -1 L 450 2200 600 2200 3 0 0 0 -1 -1 L 525 2250 525 2150 3 0 0 0 -1 -1 L 550 2250 500 2150 3 0 0 0 -1 -1 L 500 2250 550 2150 3 0 0 0 -1 -1 L 600 2225 450 2175 3 0 0 0 -1 -1 L 450 2225 600 2175 3 0 0 0 -1 -1 L 475 2250 575 2150 3 0 0 0 -1 -1 L 575 2250 475 2150 3 0 0 0 -1 -1 B 450 1850 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 1850 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 450 1950 600 1850 3 0 0 0 -1 -1 L 600 1950 450 1850 3 0 0 0 -1 -1 L 450 1900 600 1900 3 0 0 0 -1 -1 L 525 1950 525 1850 3 0 0 0 -1 -1 L 550 1950 500 1850 3 0 0 0 -1 -1 L 500 1950 550 1850 3 0 0 0 -1 -1 L 600 1925 450 1875 3 0 0 0 -1 -1 L 450 1925 600 1875 3 0 0 0 -1 -1 L 475 1950 575 1850 3 0 0 0 -1 -1 L 575 1950 475 1850 3 0 0 0 -1 -1 B 450 1550 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 1550 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 450 1650 600 1550 3 0 0 0 -1 -1 L 600 1650 450 1550 3 0 0 0 -1 -1 L 450 1600 600 1600 3 0 0 0 -1 -1 L 525 1650 525 1550 3 0 0 0 -1 -1 L 550 1650 500 1550 3 0 0 0 -1 -1 L 500 1650 550 1550 3 0 0 0 -1 -1 L 600 1625 450 1575 3 0 0 0 -1 -1 L 450 1625 600 1575 3 0 0 0 -1 -1 L 475 1650 575 1550 3 0 0 0 -1 -1 L 575 1650 475 1550 3 0 0 0 -1 -1 B 450 1250 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 1250 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 450 1350 600 1250 3 0 0 0 -1 -1 L 600 1350 450 1250 3 0 0 0 -1 -1 L 450 1300 600 1300 3 0 0 0 -1 -1 L 525 1350 525 1250 3 0 0 0 -1 -1 L 550 1350 500 1250 3 0 0 0 -1 -1 L 500 1350 550 1250 3 0 0 0 -1 -1 L 600 1325 450 1275 3 0 0 0 -1 -1 L 450 1325 600 1275 3 0 0 0 -1 -1 L 475 1350 575 1250 3 0 0 0 -1 -1 L 575 1350 475 1250 3 0 0 0 -1 -1 B 450 950 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 950 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 450 1050 600 950 3 0 0 0 -1 -1 L 600 1050 450 950 3 0 0 0 -1 -1 L 450 1000 600 1000 3 0 0 0 -1 -1 L 525 1050 525 950 3 0 0 0 -1 -1 L 550 1050 500 950 3 0 0 0 -1 -1 L 500 1050 550 950 3 0 0 0 -1 -1 L 600 1025 450 975 3 0 0 0 -1 -1 L 450 1025 600 975 3 0 0 0 -1 -1 L 475 1050 575 950 3 0 0 0 -1 -1 L 575 1050 475 950 3 0 0 0 -1 -1 B 450 650 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 650 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 450 750 600 650 3 0 0 0 -1 -1 L 600 750 450 650 3 0 0 0 -1 -1 L 450 700 600 700 3 0 0 0 -1 -1 L 525 750 525 650 3 0 0 0 -1 -1 L 550 750 500 650 3 0 0 0 -1 -1 L 500 750 550 650 3 0 0 0 -1 -1 L 600 725 450 675 3 0 0 0 -1 -1 L 450 725 600 675 3 0 0 0 -1 -1 L 475 750 575 650 3 0 0 0 -1 -1 L 575 750 475 650 3 0 0 0 -1 -1 B 450 350 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 350 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 450 450 600 350 3 0 0 0 -1 -1 L 600 450 450 350 3 0 0 0 -1 -1 L 450 400 600 400 3 0 0 0 -1 -1 L 525 450 525 350 3 0 0 0 -1 -1 L 550 450 500 350 3 0 0 0 -1 -1 L 500 450 550 350 3 0 0 0 -1 -1 L 600 425 450 375 3 0 0 0 -1 -1 L 450 425 600 375 3 0 0 0 -1 -1 L 475 450 575 350 3 0 0 0 -1 -1 L 575 450 475 350 3 0 0 0 -1 -1 T 300 0 9 10 1 0 0 0 1 SW DIP-8 B 300 200 700 2500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1400 2575 5 8 0 0 0 0 1 device=SWITCH_DIP8 T 300 2750 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/switch/switch-pushbutton-spdt-1.sym0000664000175000017500000000172512204104272020442 00000000000000v 20031231 1 P 0 0 150 0 1 0 0 { T 50 50 5 8 1 1 0 0 1 pinnumber=1 T 50 50 5 8 0 0 0 0 1 pinseq=1 T 50 50 5 8 0 1 0 0 1 pinlabel=1 T 50 50 5 8 0 1 0 0 1 pintype=pas } L 300 125 700 125 3 0 0 0 -1 -1 T -450 -125 5 10 0 0 0 0 1 device=SWITCH_PUSHBUTTON_SPDT P 850 0 1000 0 1 0 1 { T 900 50 5 8 1 1 0 0 1 pinnumber=2 T 900 50 5 8 0 0 0 0 1 pinseq=2 T 900 50 5 8 0 1 0 0 1 pinlabel=2 T 900 50 5 8 0 1 0 0 1 pintype=pas } L 500 125 500 325 3 0 0 0 -1 -1 P 850 200 1000 200 1 0 1 { T 900 250 5 8 1 1 0 0 1 pinnumber=3 T 900 250 5 8 0 0 0 0 1 pinseq=3 T 900 250 5 8 0 1 0 0 1 pinlabel=3 T 900 250 5 8 0 1 0 0 1 pintype=pas } L 200 200 325 200 3 0 0 0 -1 -1 L 150 0 325 0 3 0 0 0 -1 -1 L 675 200 850 200 3 0 0 0 -1 -1 L 850 0 675 0 3 0 0 0 -1 -1 V 341 200 16 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 341 1 16 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 659 0 16 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 659 200 16 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 200 200 200 0 3 0 0 0 -1 -1 T 400 400 8 10 1 1 0 0 1 refdes=S? geda-gaf-1.8.2/symbols/switch/switch-pushbutton-nc-2.sym0000664000175000017500000000141512204104272020065 00000000000000v 20031231 1 T 400 250 8 10 1 1 0 0 1 refdes=S? P 0 0 150 0 1 0 0 { T 50 50 5 8 1 1 0 0 1 pinnumber=1 T 50 50 5 8 0 0 0 0 1 pinseq=1 T 50 50 5 8 0 1 0 0 1 pinlabel=1 T 50 50 5 8 0 1 0 0 1 pintype=pas } P 850 0 1000 0 1 0 1 { T 900 50 5 8 1 1 0 0 1 pinnumber=2 T 900 50 5 8 0 0 0 0 1 pinseq=2 T 900 50 5 8 0 1 0 0 1 pinlabel=2 T 900 50 5 8 0 1 0 0 1 pintype=pas } L 150 0 325 0 3 0 0 0 -1 -1 L 850 0 675 0 3 0 0 0 -1 -1 L 300 -15 700 -15 3 0 0 0 -1 -1 V 338 0 14 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 662 0 14 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 470 155 520 155 3 0 0 0 -1 -1 L 470 105 520 105 3 0 0 0 -1 -1 L 470 105 495 55 3 0 0 0 -1 -1 L 520 105 495 55 3 0 0 0 -1 -1 L 495 105 495 155 3 0 0 0 -1 -1 L 495 55 495 -15 3 0 0 0 -1 -1 T 300 600 8 10 0 0 0 0 1 device=SWITCH_PUSHBUTTON_NC geda-gaf-1.8.2/symbols/switch/switch-dip6-1.sym0000664000175000017500000001142212204104272016114 00000000000000v 20031231 1 P 0 1900 300 1900 1 0 0 { T 100 1950 5 8 1 1 0 0 1 pinnumber=1 T 100 1950 5 8 0 0 0 0 1 pinseq=1 T 100 1950 5 8 0 1 0 0 1 pinlabel=1 T 100 1950 5 8 0 1 0 0 1 pintype=pas } P 0 1600 300 1600 1 0 0 { T 100 1650 5 8 1 1 0 0 1 pinnumber=2 T 100 1650 5 8 0 0 0 0 1 pinseq=2 T 100 1650 5 8 0 1 0 0 1 pinlabel=2 T 100 1650 5 8 0 1 0 0 1 pintype=pas } P 0 1300 300 1300 1 0 0 { T 100 1350 5 8 1 1 0 0 1 pinnumber=3 T 100 1350 5 8 0 0 0 0 1 pinseq=3 T 100 1350 5 8 0 1 0 0 1 pinlabel=3 T 100 1350 5 8 0 1 0 0 1 pintype=pas } P 0 1000 300 1000 1 0 0 { T 100 1050 5 8 1 1 0 0 1 pinnumber=4 T 100 1050 5 8 0 0 0 0 1 pinseq=4 T 100 1050 5 8 0 1 0 0 1 pinlabel=4 T 100 1050 5 8 0 1 0 0 1 pintype=pas } P 0 700 300 700 1 0 0 { T 100 750 5 8 1 1 0 0 1 pinnumber=5 T 100 750 5 8 0 0 0 0 1 pinseq=5 T 100 750 5 8 0 1 0 0 1 pinlabel=5 T 100 750 5 8 0 1 0 0 1 pintype=pas } P 0 400 300 400 1 0 0 { T 100 450 5 8 1 1 0 0 1 pinnumber=6 T 100 450 5 8 0 0 0 0 1 pinseq=6 T 100 450 5 8 0 1 0 0 1 pinlabel=6 T 100 450 5 8 0 1 0 0 1 pintype=pas } P 1000 400 1300 400 1 0 1 { T 1100 450 5 8 1 1 0 0 1 pinnumber=7 T 1100 450 5 8 0 0 0 0 1 pinseq=7 T 1100 450 5 8 0 1 0 0 1 pinlabel=7 T 1100 450 5 8 0 1 0 0 1 pintype=pas } P 1000 700 1300 700 1 0 1 { T 1100 750 5 8 1 1 0 0 1 pinnumber=8 T 1100 750 5 8 0 0 0 0 1 pinseq=8 T 1100 750 5 8 0 1 0 0 1 pinlabel=8 T 1100 750 5 8 0 1 0 0 1 pintype=pas } P 1000 1900 1300 1900 1 0 1 { T 1100 1950 5 8 1 1 0 0 1 pinnumber=12 T 1100 1950 5 8 0 0 0 0 1 pinseq=12 T 1100 1950 5 8 0 1 0 0 1 pinlabel=12 T 1100 1950 5 8 0 1 0 0 1 pintype=pas } P 1000 1600 1300 1600 1 0 1 { T 1100 1650 5 8 1 1 0 0 1 pinnumber=11 T 1100 1650 5 8 0 0 0 0 1 pinseq=11 T 1100 1650 5 8 0 1 0 0 1 pinlabel=11 T 1100 1650 5 8 0 1 0 0 1 pintype=pas } P 1000 1300 1300 1300 1 0 1 { T 1100 1350 5 8 1 1 0 0 1 pinnumber=10 T 1100 1350 5 8 0 0 0 0 1 pinseq=10 T 1100 1350 5 8 0 1 0 0 1 pinlabel=10 T 1100 1350 5 8 0 1 0 0 1 pintype=pas } P 1000 1000 1300 1000 1 0 1 { T 1100 1050 5 8 1 1 0 0 1 pinnumber=9 T 1100 1050 5 8 0 0 0 0 1 pinseq=9 T 1100 1050 5 8 0 1 0 0 1 pinlabel=9 T 1100 1050 5 8 0 1 0 0 1 pintype=pas } B 450 1850 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 1850 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 450 1950 600 1850 3 0 0 0 -1 -1 L 600 1950 450 1850 3 0 0 0 -1 -1 L 450 1900 600 1900 3 0 0 0 -1 -1 L 525 1950 525 1850 3 0 0 0 -1 -1 L 550 1950 500 1850 3 0 0 0 -1 -1 L 500 1950 550 1850 3 0 0 0 -1 -1 L 600 1925 450 1875 3 0 0 0 -1 -1 L 450 1925 600 1875 3 0 0 0 -1 -1 L 475 1950 575 1850 3 0 0 0 -1 -1 L 575 1950 475 1850 3 0 0 0 -1 -1 B 450 1550 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 1550 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 450 1650 600 1550 3 0 0 0 -1 -1 L 600 1650 450 1550 3 0 0 0 -1 -1 L 450 1600 600 1600 3 0 0 0 -1 -1 L 525 1650 525 1550 3 0 0 0 -1 -1 L 550 1650 500 1550 3 0 0 0 -1 -1 L 500 1650 550 1550 3 0 0 0 -1 -1 L 600 1625 450 1575 3 0 0 0 -1 -1 L 450 1625 600 1575 3 0 0 0 -1 -1 L 475 1650 575 1550 3 0 0 0 -1 -1 L 575 1650 475 1550 3 0 0 0 -1 -1 B 450 1250 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 1250 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 450 1350 600 1250 3 0 0 0 -1 -1 L 600 1350 450 1250 3 0 0 0 -1 -1 L 450 1300 600 1300 3 0 0 0 -1 -1 L 525 1350 525 1250 3 0 0 0 -1 -1 L 550 1350 500 1250 3 0 0 0 -1 -1 L 500 1350 550 1250 3 0 0 0 -1 -1 L 600 1325 450 1275 3 0 0 0 -1 -1 L 450 1325 600 1275 3 0 0 0 -1 -1 L 475 1350 575 1250 3 0 0 0 -1 -1 L 575 1350 475 1250 3 0 0 0 -1 -1 B 450 950 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 950 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 450 1050 600 950 3 0 0 0 -1 -1 L 600 1050 450 950 3 0 0 0 -1 -1 L 450 1000 600 1000 3 0 0 0 -1 -1 L 525 1050 525 950 3 0 0 0 -1 -1 L 550 1050 500 950 3 0 0 0 -1 -1 L 500 1050 550 950 3 0 0 0 -1 -1 L 600 1025 450 975 3 0 0 0 -1 -1 L 450 1025 600 975 3 0 0 0 -1 -1 L 475 1050 575 950 3 0 0 0 -1 -1 L 575 1050 475 950 3 0 0 0 -1 -1 B 450 650 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 650 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 450 750 600 650 3 0 0 0 -1 -1 L 600 750 450 650 3 0 0 0 -1 -1 L 450 700 600 700 3 0 0 0 -1 -1 L 525 750 525 650 3 0 0 0 -1 -1 L 550 750 500 650 3 0 0 0 -1 -1 L 500 750 550 650 3 0 0 0 -1 -1 L 600 725 450 675 3 0 0 0 -1 -1 L 450 725 600 675 3 0 0 0 -1 -1 L 475 750 575 650 3 0 0 0 -1 -1 L 575 750 475 650 3 0 0 0 -1 -1 B 450 350 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 350 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 450 450 600 350 3 0 0 0 -1 -1 L 600 450 450 350 3 0 0 0 -1 -1 L 450 400 600 400 3 0 0 0 -1 -1 L 525 450 525 350 3 0 0 0 -1 -1 L 550 450 500 350 3 0 0 0 -1 -1 L 500 450 550 350 3 0 0 0 -1 -1 L 600 425 450 375 3 0 0 0 -1 -1 L 450 425 600 375 3 0 0 0 -1 -1 L 475 450 575 350 3 0 0 0 -1 -1 L 575 450 475 350 3 0 0 0 -1 -1 T 300 0 9 10 1 0 0 0 1 SW DIP-6 T 1100 2175 5 8 0 0 0 0 1 device=SWITCH_DIP6 B 300 200 700 2000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 2250 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/switch/switch-dip4-2.sym0000664000175000017500000000632012204104272016114 00000000000000v 20031231 1 T 300 0 9 10 1 0 0 0 1 SW DIP-4 T 700 1675 8 8 0 0 0 0 1 device=SWITCH_DIP4 T 300 1550 8 10 1 1 0 0 1 refdes=J? P 0 1300 300 1300 1 0 0 { T 100 1350 5 8 1 1 0 0 1 pinnumber=1 T 100 1350 5 8 0 0 0 0 1 pinseq=1 T 100 1350 5 8 0 1 0 0 1 pinlabel=1 T 100 1350 5 8 0 1 0 0 1 pintype=pas } P 1000 1300 1300 1300 1 0 1 { T 1100 1350 5 8 1 1 0 0 1 pinnumber=2 T 1100 1350 5 8 0 0 0 0 1 pinseq=2 T 1100 1350 5 8 0 1 0 0 1 pinlabel=2 T 1100 1350 5 8 0 1 0 0 1 pintype=pas } P 0 1000 300 1000 1 0 0 { T 100 1050 5 8 1 1 0 0 1 pinnumber=3 T 100 1050 5 8 0 0 0 0 1 pinseq=3 T 100 1050 5 8 0 1 0 0 1 pinlabel=3 T 100 1050 5 8 0 1 0 0 1 pintype=pas } P 1000 1000 1300 1000 1 0 1 { T 1100 1050 5 8 1 1 0 0 1 pinnumber=4 T 1100 1050 5 8 0 0 0 0 1 pinseq=4 T 1100 1050 5 8 0 1 0 0 1 pinlabel=4 T 1100 1050 5 8 0 1 0 0 1 pintype=pas } P 0 700 300 700 1 0 0 { T 100 750 5 8 1 1 0 0 1 pinnumber=5 T 100 750 5 8 0 0 0 0 1 pinseq=5 T 100 750 5 8 0 1 0 0 1 pinlabel=5 T 100 750 5 8 0 1 0 0 1 pintype=pas } P 1000 700 1300 700 1 0 1 { T 1100 750 5 8 1 1 0 0 1 pinnumber=6 T 1100 750 5 8 0 0 0 0 1 pinseq=6 T 1100 750 5 8 0 1 0 0 1 pinlabel=6 T 1100 750 5 8 0 1 0 0 1 pintype=pas } P 0 400 300 400 1 0 0 { T 100 450 5 8 1 1 0 0 1 pinnumber=7 T 100 450 5 8 0 0 0 0 1 pinseq=7 T 100 450 5 8 0 1 0 0 1 pinlabel=7 T 100 450 5 8 0 1 0 0 1 pintype=pas } P 1000 400 1300 400 1 0 1 { T 1100 450 5 8 1 1 0 0 1 pinnumber=8 T 1100 450 5 8 0 0 0 0 1 pinseq=8 T 1100 450 5 8 0 1 0 0 1 pinlabel=8 T 1100 450 5 8 0 1 0 0 1 pintype=pas } B 450 1250 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 1250 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 950 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 950 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 650 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 650 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 350 400 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 450 350 150 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 300 200 700 1300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 450 1350 600 1250 3 0 0 0 -1 -1 L 600 1350 450 1250 3 0 0 0 -1 -1 L 450 1300 600 1300 3 0 0 0 -1 -1 L 525 1350 525 1250 3 0 0 0 -1 -1 L 550 1350 500 1250 3 0 0 0 -1 -1 L 500 1350 550 1250 3 0 0 0 -1 -1 L 600 1325 450 1275 3 0 0 0 -1 -1 L 450 1325 600 1275 3 0 0 0 -1 -1 L 475 1350 575 1250 3 0 0 0 -1 -1 L 575 1350 475 1250 3 0 0 0 -1 -1 L 450 1050 600 950 3 0 0 0 -1 -1 L 600 1050 450 950 3 0 0 0 -1 -1 L 450 1000 600 1000 3 0 0 0 -1 -1 L 525 1050 525 950 3 0 0 0 -1 -1 L 550 1050 500 950 3 0 0 0 -1 -1 L 500 1050 550 950 3 0 0 0 -1 -1 L 600 1025 450 975 3 0 0 0 -1 -1 L 450 1025 600 975 3 0 0 0 -1 -1 L 475 1050 575 950 3 0 0 0 -1 -1 L 575 1050 475 950 3 0 0 0 -1 -1 L 450 750 600 650 3 0 0 0 -1 -1 L 600 750 450 650 3 0 0 0 -1 -1 L 450 700 600 700 3 0 0 0 -1 -1 L 525 750 525 650 3 0 0 0 -1 -1 L 550 750 500 650 3 0 0 0 -1 -1 L 500 750 550 650 3 0 0 0 -1 -1 L 600 725 450 675 3 0 0 0 -1 -1 L 450 725 600 675 3 0 0 0 -1 -1 L 475 750 575 650 3 0 0 0 -1 -1 L 575 750 475 650 3 0 0 0 -1 -1 L 450 450 600 350 3 0 0 0 -1 -1 L 600 450 450 350 3 0 0 0 -1 -1 L 450 400 600 400 3 0 0 0 -1 -1 L 525 450 525 350 3 0 0 0 -1 -1 L 550 450 500 350 3 0 0 0 -1 -1 L 500 450 550 350 3 0 0 0 -1 -1 L 600 425 450 375 3 0 0 0 -1 -1 L 450 425 600 375 3 0 0 0 -1 -1 L 475 450 575 350 3 0 0 0 -1 -1 L 575 450 475 350 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/switch/switch-spst-1.sym0000664000175000017500000000066512204104272016252 00000000000000v 20031231 1 L 300 200 500 0 3 0 0 0 -1 -1 T 400 700 5 10 0 0 0 0 1 device=SPST P 500 0 800 0 1 0 1 { T 650 50 5 8 1 1 0 0 1 pinnumber=2 T 650 50 5 8 0 0 0 0 1 pinseq=2 T 650 50 5 8 0 1 0 0 1 pinlabel=2 T 650 50 5 8 0 1 0 0 1 pintype=pas } P 300 0 0 0 1 0 1 { T 100 50 5 8 1 1 0 0 1 pinnumber=1 T 100 50 5 8 0 0 0 0 1 pinseq=1 T 100 50 5 8 0 1 0 0 1 pinlabel=1 T 100 50 5 8 0 1 0 0 1 pintype=pas } T 300 300 8 10 1 1 0 0 1 refdes=S? geda-gaf-1.8.2/symbols/local/0000775000175000017500000000000012220655765012754 500000000000000geda-gaf-1.8.2/symbols/memory/0000775000175000017500000000000012220655765013172 500000000000000geda-gaf-1.8.2/symbols/memory/ST39SF020A-1.sym0000664000175000017500000001326512204104272015247 00000000000000v 20081221 2 P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=3 T 200 1750 5 8 0 1 0 8 1 pinseq=1 T 350 1800 9 8 1 1 0 0 1 pinlabel=A15 T 350 1800 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=2 T 200 1450 5 8 0 1 0 8 1 pinseq=14 T 350 1500 9 8 1 1 0 0 1 pinlabel=A16 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1200 300 1200 1 0 0 { T 200 1250 5 8 1 1 0 6 1 pinnumber=30 T 200 1150 5 8 0 1 0 8 1 pinseq=28 T 350 1200 9 8 1 1 0 0 1 pinlabel=A17 T 350 1200 5 8 0 1 0 2 1 pintype=in } V 250 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 800 200 800 1 0 0 { T 200 850 5 8 1 1 0 6 1 pinnumber=22 T 200 750 5 8 0 1 0 8 1 pinseq=29 T 350 800 9 8 1 1 0 0 1 pinlabel=\_CE\_ T 350 800 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=4 T 200 2650 5 8 0 1 0 8 1 pinseq=2 T 350 2700 9 8 1 1 0 0 1 pinlabel=A12 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 4200 300 4200 1 0 0 { T 200 4250 5 8 1 1 0 6 1 pinnumber=5 T 200 4150 5 8 0 1 0 8 1 pinseq=3 T 350 4200 9 8 1 1 0 0 1 pinlabel=A7 T 350 4200 5 8 0 1 0 2 1 pintype=in } P 0 4500 300 4500 1 0 0 { T 200 4550 5 8 1 1 0 6 1 pinnumber=6 T 200 4450 5 8 0 1 0 8 1 pinseq=4 T 350 4500 9 8 1 1 0 0 1 pinlabel=A6 T 350 4500 5 8 0 1 0 2 1 pintype=in } P 0 4800 300 4800 1 0 0 { T 200 4850 5 8 1 1 0 6 1 pinnumber=7 T 200 4750 5 8 0 1 0 8 1 pinseq=5 T 350 4800 9 8 1 1 0 0 1 pinlabel=A5 T 350 4800 5 8 0 1 0 2 1 pintype=in } P 0 5100 300 5100 1 0 0 { T 200 5150 5 8 1 1 0 6 1 pinnumber=8 T 200 5050 5 8 0 1 0 8 1 pinseq=6 T 350 5100 9 8 1 1 0 0 1 pinlabel=A4 T 350 5100 5 8 0 1 0 2 1 pintype=in } P 0 5400 300 5400 1 0 0 { T 200 5450 5 8 1 1 0 6 1 pinnumber=9 T 200 5350 5 8 0 1 0 8 1 pinseq=7 T 350 5400 9 8 1 1 0 0 1 pinlabel=A3 T 350 5400 5 8 0 1 0 2 1 pintype=in } P 0 5700 300 5700 1 0 0 { T 200 5750 5 8 1 1 0 6 1 pinnumber=10 T 200 5650 5 8 0 1 0 8 1 pinseq=8 T 350 5700 9 8 1 1 0 0 1 pinlabel=A2 T 350 5700 5 8 0 1 0 2 1 pintype=in } P 0 6000 300 6000 1 0 0 { T 200 6050 5 8 1 1 0 6 1 pinnumber=11 T 200 5950 5 8 0 1 0 8 1 pinseq=9 T 350 6000 9 8 1 1 0 0 1 pinlabel=A1 T 350 6000 5 8 0 1 0 2 1 pintype=in } P 0 6300 300 6300 1 0 0 { T 200 6350 5 8 1 1 0 6 1 pinnumber=12 T 200 6250 5 8 0 1 0 8 1 pinseq=10 T 350 6300 9 8 1 1 0 0 1 pinlabel=A0 T 350 6300 5 8 0 1 0 2 1 pintype=in } P 2300 6300 2600 6300 1 0 1 { T 2400 6350 5 8 1 1 0 0 1 pinnumber=13 T 2400 6250 5 8 0 1 0 2 1 pinseq=11 T 2250 6300 9 8 1 1 0 6 1 pinlabel=DQ0 T 2250 6300 5 8 0 1 0 8 1 pintype=tri } P 2300 6000 2600 6000 1 0 1 { T 2400 6050 5 8 1 1 0 0 1 pinnumber=14 T 2400 5950 5 8 0 1 0 2 1 pinseq=12 T 2250 6000 9 8 1 1 0 6 1 pinlabel=DQ1 T 2250 6000 5 8 0 1 0 8 1 pintype=tri } P 2300 5700 2600 5700 1 0 1 { T 2400 5750 5 8 1 1 0 0 1 pinnumber=15 T 2400 5650 5 8 0 1 0 2 1 pinseq=13 T 2250 5700 9 8 1 1 0 6 1 pinlabel=DQ2 T 2250 5700 5 8 0 1 0 8 1 pintype=tri } P 0 2100 300 2100 1 0 0 { T 200 2150 5 8 1 1 0 6 1 pinnumber=29 T 200 2050 5 8 0 1 0 8 1 pinseq=27 T 350 2100 9 8 1 1 0 0 1 pinlabel=A14 T 350 2100 5 8 0 1 0 2 1 pintype=in } P 0 2400 300 2400 1 0 0 { T 200 2450 5 8 1 1 0 6 1 pinnumber=28 T 200 2350 5 8 0 1 0 8 1 pinseq=26 T 350 2400 9 8 1 1 0 0 1 pinlabel=A13 T 350 2400 5 8 0 1 0 2 1 pintype=in } P 0 3900 300 3900 1 0 0 { T 200 3950 5 8 1 1 0 6 1 pinnumber=27 T 200 3850 5 8 0 1 0 8 1 pinseq=25 T 350 3900 9 8 1 1 0 0 1 pinlabel=A8 T 350 3900 5 8 0 1 0 2 1 pintype=in } P 0 3600 300 3600 1 0 0 { T 200 3650 5 8 1 1 0 6 1 pinnumber=26 T 200 3550 5 8 0 1 0 8 1 pinseq=24 T 350 3600 9 8 1 1 0 0 1 pinlabel=A9 T 350 3600 5 8 0 1 0 2 1 pintype=in } P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=25 T 200 2950 5 8 0 1 0 8 1 pinseq=23 T 350 3000 9 8 1 1 0 0 1 pinlabel=A11 T 350 3000 5 8 0 1 0 2 1 pintype=in } V 250 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 500 200 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=24 T 200 450 5 8 0 1 0 8 1 pinseq=22 T 350 500 9 8 1 1 0 0 1 pinlabel=\_OE\_ T 350 500 5 8 0 1 0 2 1 pintype=in } P 0 3300 300 3300 1 0 0 { T 200 3350 5 8 1 1 0 6 1 pinnumber=23 T 200 3250 5 8 0 1 0 8 1 pinseq=21 T 350 3300 9 8 1 1 0 0 1 pinlabel=A10 T 350 3300 5 8 0 1 0 2 1 pintype=in } V 250 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 200 200 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=31 T 200 150 5 8 0 1 0 8 1 pinseq=20 T 350 200 9 8 1 1 0 0 1 pinlabel=\_WE\_ T 350 200 5 8 0 1 0 2 1 pintype=in } P 2300 4200 2600 4200 1 0 1 { T 2400 4250 5 8 1 1 0 0 1 pinnumber=21 T 2400 4150 5 8 0 1 0 2 1 pinseq=19 T 2250 4200 9 8 1 1 0 6 1 pinlabel=DQ7 T 2250 4200 5 8 0 1 0 8 1 pintype=tri } P 2300 4500 2600 4500 1 0 1 { T 2400 4550 5 8 1 1 0 0 1 pinnumber=20 T 2400 4450 5 8 0 1 0 2 1 pinseq=18 T 2250 4500 9 8 1 1 0 6 1 pinlabel=DQ6 T 2250 4500 5 8 0 1 0 8 1 pintype=tri } P 2300 4800 2600 4800 1 0 1 { T 2400 4850 5 8 1 1 0 0 1 pinnumber=19 T 2400 4750 5 8 0 1 0 2 1 pinseq=17 T 2250 4800 9 8 1 1 0 6 1 pinlabel=DQ5 T 2250 4800 5 8 0 1 0 8 1 pintype=tri } P 2300 5100 2600 5100 1 0 1 { T 2400 5150 5 8 1 1 0 0 1 pinnumber=18 T 2400 5050 5 8 0 1 0 2 1 pinseq=16 T 2250 5100 9 8 1 1 0 6 1 pinlabel=DQ4 T 2250 5100 5 8 0 1 0 8 1 pintype=tri } P 2300 5400 2600 5400 1 0 1 { T 2400 5450 5 8 1 1 0 0 1 pinnumber=17 T 2400 5350 5 8 0 1 0 2 1 pinseq=15 T 2250 5400 9 8 1 1 0 6 1 pinlabel=DQ3 T 2250 5400 5 8 0 1 0 8 1 pintype=tri } B 300 0 2000 6600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 6850 5 10 0 0 0 0 1 device=ST39SF020A T 2300 6700 8 10 1 1 0 6 1 refdes=U? T 300 7250 5 10 0 0 0 0 1 footprint=DIP32 T 300 7850 5 10 0 0 0 0 1 description=2Mbit (256K x 8) multi-purpose flash memory T 300 7050 5 10 0 0 0 0 1 numslots=0 T 300 8050 5 10 0 0 0 0 1 author=Werner Hoch T 300 7450 5 10 0 0 0 0 1 net=GND:16 T 300 7650 5 10 0 0 0 0 1 net=Vcc:32 T 300 6650 9 10 1 0 0 0 1 ST39SF020A T 300 8250 5 10 0 0 0 0 1 documentation=http://www.sst.com/downloads/datasheet/S71147.pdf geda-gaf-1.8.2/symbols/memory/24Cxx-1.sym0000664000175000017500000000312712204104272014675 00000000000000v 20031231 1 P 1000 100 1300 100 1 0 1 { T 1100 150 5 8 1 1 0 0 1 pinnumber=5 T 1100 50 5 8 0 1 0 2 1 pinseq=4 T 950 100 9 8 1 1 0 6 1 pinlabel=SDA T 950 100 5 8 0 1 0 8 1 pintype=io } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=1 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 1 1 0 0 1 pinlabel=A0 T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 300 300 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=3 T 200 250 5 8 0 1 0 8 1 pinseq=3 T 350 300 9 8 1 1 0 0 1 pinlabel=A2 T 350 300 5 8 0 1 0 2 1 pintype=in } P 1000 300 1300 300 1 0 1 { T 1100 350 5 8 1 1 0 0 1 pinnumber=6 T 1100 250 5 8 0 1 0 2 1 pinseq=5 T 950 300 9 8 1 1 0 6 1 pinlabel=SCL T 950 300 5 8 0 1 0 8 1 pintype=clk } T 300 1150 5 10 0 0 0 0 1 device=24Cxx P 0 500 300 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=2 T 200 450 5 8 0 1 0 8 1 pinseq=2 T 350 500 9 8 1 1 0 0 1 pinlabel=A1 T 350 500 5 8 0 1 0 2 1 pintype=in } P 1000 500 1300 500 1 0 1 { T 1100 550 5 8 1 1 0 0 1 pinnumber=7 T 1100 450 5 8 0 1 0 2 1 pinseq=6 T 950 500 9 8 1 1 0 6 1 pinlabel=n/c T 950 500 5 8 0 1 0 8 1 pintype=in } B 300 0 700 900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1000 1000 8 10 1 1 0 0 1 refdes=U? T 300 1350 5 10 0 0 0 0 1 footprint=DIP8 T 300 2150 5 10 0 0 0 0 1 description=2-wire serial cmos eeprom T 300 1950 5 10 0 0 0 0 1 numslots=0 T 300 2350 5 10 0 0 0 0 1 author=Werner Hoch T 300 1550 5 10 0 0 0 0 1 net=Vcc:8 T 300 1750 5 10 0 0 0 0 1 net=GND:4 T 300 950 9 8 1 0 0 0 1 24Cxx T 300 2550 5 10 0 0 0 0 1 documentation=http://www.asec.com.tw/product/data/992/24C01_2.PDF T 300 2750 5 10 0 0 0 0 1 comment=Pin7 can be WP (write protect) too geda-gaf-1.8.2/symbols/memory/25Cxx-1.sym0000664000175000017500000000310312204104272014670 00000000000000v 20070626 1 P 1000 100 1300 100 1 0 1 { T 1100 150 5 8 1 1 0 0 1 pinnumber=5 T 1100 50 5 8 0 1 0 2 1 pinseq=4 T 950 100 9 8 1 1 0 6 1 pinlabel=SI T 950 100 5 8 0 1 0 8 1 pintype=in } P 0 700 200 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=1 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 1 1 0 0 1 pinlabel=\_CS\_ T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 300 200 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=3 T 200 250 5 8 0 1 0 8 1 pinseq=3 T 350 300 9 8 1 1 0 0 1 pinlabel=\_WP\_ T 350 300 5 8 0 1 0 2 1 pintype=in } P 1000 300 1300 300 1 0 1 { T 1100 350 5 8 1 1 0 0 1 pinnumber=6 T 1100 250 5 8 0 1 0 2 1 pinseq=5 T 950 300 9 8 1 1 0 6 1 pinlabel=SCL T 950 300 5 8 0 1 0 8 1 pintype=clk } T 300 1350 8 10 0 0 0 0 1 device=25Cxx P 0 500 300 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=2 T 200 450 5 8 0 1 0 8 1 pinseq=2 T 350 500 9 8 1 1 0 0 1 pinlabel=SO T 350 500 5 8 0 1 0 2 1 pintype=out } P 1100 500 1300 500 1 0 1 { T 1100 550 5 8 1 1 0 0 1 pinnumber=7 T 1100 450 5 8 0 1 0 2 1 pinseq=6 T 950 500 9 8 1 1 0 6 1 pinlabel=\_Hold\_ T 950 500 5 8 0 1 0 8 1 pintype=in } B 300 0 700 900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1000 1000 8 10 1 1 0 0 1 refdes=U? T 300 1550 8 10 0 0 0 0 1 footprint=DIP8 T 300 2350 8 10 0 0 0 0 1 description=SPI serial cmos eeprom T 300 2150 8 10 0 0 0 0 1 numslots=0 T 300 1750 8 10 0 0 0 0 1 net=Vcc:8 T 300 1950 8 10 0 0 0 0 1 net=GND:4 T 300 950 9 8 1 0 0 0 1 25Cxx T 300 2546 8 10 0 0 0 0 1 author=Jeff Jackowski V 250 700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/memory/27512-1.sym0000664000175000017500000001221712204104272014445 00000000000000v 20070626 1 P 0 900 300 900 1 0 0 { T 200 950 5 8 1 1 0 6 1 pinnumber=1 T 200 850 5 8 0 1 0 8 1 pinseq=1 T 350 900 9 8 1 1 0 0 1 pinlabel=A15 T 350 900 5 8 0 1 0 2 1 pintype=in } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=2 T 200 1750 5 8 0 1 0 8 1 pinseq=2 T 350 1800 9 8 1 1 0 0 1 pinlabel=A12 T 350 1800 5 8 0 1 0 2 1 pintype=in } P 0 3300 300 3300 1 0 0 { T 200 3350 5 8 1 1 0 6 1 pinnumber=3 T 200 3250 5 8 0 1 0 8 1 pinseq=3 T 350 3300 9 8 1 1 0 0 1 pinlabel=A7 T 350 3300 5 8 0 1 0 2 1 pintype=in } P 0 3600 300 3600 1 0 0 { T 200 3650 5 8 1 1 0 6 1 pinnumber=4 T 200 3550 5 8 0 1 0 8 1 pinseq=4 T 350 3600 9 8 1 1 0 0 1 pinlabel=A6 T 350 3600 5 8 0 1 0 2 1 pintype=in } P 0 3900 300 3900 1 0 0 { T 200 3950 5 8 1 1 0 6 1 pinnumber=5 T 200 3850 5 8 0 1 0 8 1 pinseq=5 T 350 3900 9 8 1 1 0 0 1 pinlabel=A5 T 350 3900 5 8 0 1 0 2 1 pintype=in } P 0 4200 300 4200 1 0 0 { T 200 4250 5 8 1 1 0 6 1 pinnumber=6 T 200 4150 5 8 0 1 0 8 1 pinseq=6 T 350 4200 9 8 1 1 0 0 1 pinlabel=A4 T 350 4200 5 8 0 1 0 2 1 pintype=in } P 0 4500 300 4500 1 0 0 { T 200 4550 5 8 1 1 0 6 1 pinnumber=7 T 200 4450 5 8 0 1 0 8 1 pinseq=7 T 350 4500 9 8 1 1 0 0 1 pinlabel=A3 T 350 4500 5 8 0 1 0 2 1 pintype=in } P 0 4800 300 4800 1 0 0 { T 200 4850 5 8 1 1 0 6 1 pinnumber=8 T 200 4750 5 8 0 1 0 8 1 pinseq=8 T 350 4800 9 8 1 1 0 0 1 pinlabel=A2 T 350 4800 5 8 0 1 0 2 1 pintype=in } P 0 5100 300 5100 1 0 0 { T 200 5150 5 8 1 1 0 6 1 pinnumber=9 T 200 5050 5 8 0 1 0 8 1 pinseq=9 T 350 5100 9 8 1 1 0 0 1 pinlabel=A1 T 350 5100 5 8 0 1 0 2 1 pintype=in } P 0 5400 300 5400 1 0 0 { T 200 5450 5 8 1 1 0 6 1 pinnumber=10 T 200 5350 5 8 0 1 0 8 1 pinseq=10 T 350 5400 9 8 1 1 0 0 1 pinlabel=A0 T 350 5400 5 8 0 1 0 2 1 pintype=in } P 2300 5400 2600 5400 1 0 1 { T 2400 5450 5 8 1 1 0 0 1 pinnumber=11 T 2400 5350 5 8 0 1 0 2 1 pinseq=11 T 2250 5400 9 8 1 1 0 6 1 pinlabel=D0 T 2250 5400 5 8 0 1 0 8 1 pintype=tri } P 2300 5100 2600 5100 1 0 1 { T 2400 5150 5 8 1 1 0 0 1 pinnumber=12 T 2400 5050 5 8 0 1 0 2 1 pinseq=12 T 2250 5100 9 8 1 1 0 6 1 pinlabel=D1 T 2250 5100 5 8 0 1 0 8 1 pintype=tri } P 2300 4800 2600 4800 1 0 1 { T 2400 4850 5 8 1 1 0 0 1 pinnumber=13 T 2400 4750 5 8 0 1 0 2 1 pinseq=13 T 2250 4800 9 8 1 1 0 6 1 pinlabel=D2 T 2250 4800 5 8 0 1 0 8 1 pintype=tri } P 0 1200 300 1200 1 0 0 { T 200 1250 5 8 1 1 0 6 1 pinnumber=27 T 200 1150 5 8 0 1 0 8 1 pinseq=27 T 350 1200 9 8 1 1 0 0 1 pinlabel=A14 T 350 1200 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=26 T 200 1450 5 8 0 1 0 8 1 pinseq=26 T 350 1500 9 8 1 1 0 0 1 pinlabel=A13 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=25 T 200 2950 5 8 0 1 0 8 1 pinseq=25 T 350 3000 9 8 1 1 0 0 1 pinlabel=A8 T 350 3000 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=24 T 200 2650 5 8 0 1 0 8 1 pinseq=24 T 350 2700 9 8 1 1 0 0 1 pinlabel=A9 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 2100 300 2100 1 0 0 { T 200 2150 5 8 1 1 0 6 1 pinnumber=23 T 200 2050 5 8 0 1 0 8 1 pinseq=23 T 350 2100 9 8 1 1 0 0 1 pinlabel=A11 T 350 2100 5 8 0 1 0 2 1 pintype=in } V 250 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 500 200 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=22 T 200 450 5 8 0 1 0 8 1 pinseq=22 T 350 500 9 8 1 1 0 0 1 pinlabel=\_OE\_/VPP T 350 500 5 8 0 1 0 2 1 pintype=in } P 0 2400 300 2400 1 0 0 { T 200 2450 5 8 1 1 0 6 1 pinnumber=21 T 200 2350 5 8 0 1 0 8 1 pinseq=21 T 350 2400 9 8 1 1 0 0 1 pinlabel=A10 T 350 2400 5 8 0 1 0 2 1 pintype=in } V 250 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 200 200 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=20 T 200 150 5 8 0 1 0 8 1 pinseq=20 T 350 200 9 8 1 1 0 0 1 pinlabel=\_CE\_ T 350 200 5 8 0 1 0 2 1 pintype=in } P 2300 3300 2600 3300 1 0 1 { T 2400 3350 5 8 1 1 0 0 1 pinnumber=19 T 2400 3250 5 8 0 1 0 2 1 pinseq=19 T 2250 3300 9 8 1 1 0 6 1 pinlabel=D7 T 2250 3300 5 8 0 1 0 8 1 pintype=tri } P 2300 3600 2600 3600 1 0 1 { T 2400 3650 5 8 1 1 0 0 1 pinnumber=18 T 2400 3550 5 8 0 1 0 2 1 pinseq=18 T 2250 3600 9 8 1 1 0 6 1 pinlabel=D6 T 2250 3600 5 8 0 1 0 8 1 pintype=tri } P 2300 3900 2600 3900 1 0 1 { T 2400 3950 5 8 1 1 0 0 1 pinnumber=17 T 2400 3850 5 8 0 1 0 2 1 pinseq=17 T 2250 3900 9 8 1 1 0 6 1 pinlabel=D5 T 2250 3900 5 8 0 1 0 8 1 pintype=tri } P 2300 4200 2600 4200 1 0 1 { T 2400 4250 5 8 1 1 0 0 1 pinnumber=16 T 2400 4150 5 8 0 1 0 2 1 pinseq=16 T 2250 4200 9 8 1 1 0 6 1 pinlabel=D4 T 2250 4200 5 8 0 1 0 8 1 pintype=tri } P 2300 4500 2600 4500 1 0 1 { T 2400 4550 5 8 1 1 0 0 1 pinnumber=15 T 2400 4450 5 8 0 1 0 2 1 pinseq=15 T 2250 4500 9 8 1 1 0 6 1 pinlabel=D3 T 2250 4500 5 8 0 1 0 8 1 pintype=tri } B 300 0 2000 5700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 5950 5 10 0 0 0 0 1 device=27512 T 2300 5800 8 10 1 1 0 6 1 refdes=U? T 300 6150 5 10 0 0 0 0 1 footprint=DIP28 T 300 6950 5 10 0 0 0 0 1 description=512K (64K*8) cmos eprom T 300 6750 5 10 0 0 0 0 1 numslots=0 T 300 7150 5 10 0 0 0 0 1 author=Werner Hoch T 300 7350 5 10 0 0 0 0 1 documentation=http://www.microchip.com/download/lit/pline/memory/arc/11173f.pdf T 300 6350 5 10 0 0 0 0 1 net=Vcc:28 T 300 6550 5 10 0 0 0 0 1 net=GND:14 T 300 5750 9 10 1 0 0 0 1 27512 T 300 7550 5 10 0 0 0 0 1 symversion=0.1 geda-gaf-1.8.2/symbols/memory/581000-1.sym0000664000175000017500000001030312204104272014514 00000000000000v 20070626 1 V 250 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 200 200 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=2 T 200 150 5 8 0 1 0 8 1 pinseq=2 T 350 200 9 8 1 1 0 0 1 pinlabel=\_CAS\_ T 350 200 5 8 0 1 0 2 1 pintype=in } V 250 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 500 200 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=27 T 200 450 5 8 0 1 0 8 1 pinseq=27 T 350 500 9 8 1 1 0 0 1 pinlabel=\_RAS\_ T 350 500 5 8 0 1 0 2 1 pintype=in } V 250 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 800 200 800 1 0 0 { T 200 850 5 8 1 1 0 6 1 pinnumber=21 T 200 750 5 8 0 1 0 8 1 pinseq=21 T 350 800 9 8 1 1 0 0 1 pinlabel=\_W\_ T 350 800 5 8 0 1 0 2 1 pintype=in } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=18 T 200 1350 5 8 0 1 0 8 1 pinseq=18 T 350 1400 9 8 1 1 0 0 1 pinlabel=A9 T 350 1400 5 8 0 1 0 2 1 pintype=in } P 0 1700 300 1700 1 0 0 { T 200 1750 5 8 1 1 0 6 1 pinnumber=17 T 200 1650 5 8 0 1 0 8 1 pinseq=17 T 350 1700 9 8 1 1 0 0 1 pinlabel=A8 T 350 1700 5 8 0 1 0 2 1 pintype=in } P 0 2000 300 2000 1 0 0 { T 200 2050 5 8 1 1 0 6 1 pinnumber=15 T 200 1950 5 8 0 1 0 8 1 pinseq=15 T 350 2000 9 8 1 1 0 0 1 pinlabel=A7 T 350 2000 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=14 T 200 2250 5 8 0 1 0 8 1 pinseq=14 T 350 2300 9 8 1 1 0 0 1 pinlabel=A6 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=12 T 200 2550 5 8 0 1 0 8 1 pinseq=12 T 350 2600 9 8 1 1 0 0 1 pinlabel=A5 T 350 2600 5 8 0 1 0 2 1 pintype=in } P 0 2900 300 2900 1 0 0 { T 200 2950 5 8 1 1 0 6 1 pinnumber=11 T 200 2850 5 8 0 1 0 8 1 pinseq=11 T 350 2900 9 8 1 1 0 0 1 pinlabel=A4 T 350 2900 5 8 0 1 0 2 1 pintype=in } P 0 3200 300 3200 1 0 0 { T 200 3250 5 8 1 1 0 6 1 pinnumber=8 T 200 3150 5 8 0 1 0 8 1 pinseq=8 T 350 3200 9 8 1 1 0 0 1 pinlabel=A3 T 350 3200 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=7 T 200 3450 5 8 0 1 0 8 1 pinseq=7 T 350 3500 9 8 1 1 0 0 1 pinlabel=A2 T 350 3500 5 8 0 1 0 2 1 pintype=in } P 0 3800 300 3800 1 0 0 { T 200 3850 5 8 1 1 0 6 1 pinnumber=5 T 200 3750 5 8 0 1 0 8 1 pinseq=5 T 350 3800 9 8 1 1 0 0 1 pinlabel=A1 T 350 3800 5 8 0 1 0 2 1 pintype=in } P 0 4100 300 4100 1 0 0 { T 200 4150 5 8 1 1 0 6 1 pinnumber=4 T 200 4050 5 8 0 1 0 8 1 pinseq=4 T 350 4100 9 8 1 1 0 0 1 pinlabel=A0 T 350 4100 5 8 0 1 0 2 1 pintype=in } P 2300 3800 2600 3800 1 0 1 { T 2400 3850 5 8 1 1 0 0 1 pinnumber=3 T 2400 3750 5 8 0 1 0 2 1 pinseq=3 T 2250 3800 9 8 1 1 0 6 1 pinlabel=D0 T 2250 3800 5 8 0 1 0 8 1 pintype=io } P 2300 3500 2600 3500 1 0 1 { T 2400 3550 5 8 1 1 0 0 1 pinnumber=6 T 2400 3450 5 8 0 1 0 2 1 pinseq=6 T 2250 3500 9 8 1 1 0 6 1 pinlabel=D1 T 2250 3500 5 8 0 1 0 8 1 pintype=io } P 2300 3200 2600 3200 1 0 1 { T 2400 3250 5 8 1 1 0 0 1 pinnumber=10 T 2400 3150 5 8 0 1 0 2 1 pinseq=10 T 2250 3200 9 8 1 1 0 6 1 pinlabel=D2 T 2250 3200 5 8 0 1 0 8 1 pintype=io } P 2300 2900 2600 2900 1 0 1 { T 2400 2950 5 8 1 1 0 0 1 pinnumber=13 T 2400 2850 5 8 0 1 0 2 1 pinseq=13 T 2250 2900 9 8 1 1 0 6 1 pinlabel=D3 T 2250 2900 5 8 0 1 0 8 1 pintype=io } P 2300 2600 2600 2600 1 0 1 { T 2400 2650 5 8 1 1 0 0 1 pinnumber=16 T 2400 2550 5 8 0 1 0 2 1 pinseq=16 T 2250 2600 9 8 1 1 0 6 1 pinlabel=D4 T 2250 2600 5 8 0 1 0 8 1 pintype=io } P 2300 2300 2600 2300 1 0 1 { T 2400 2350 5 8 1 1 0 0 1 pinnumber=20 T 2400 2250 5 8 0 1 0 2 1 pinseq=20 T 2250 2300 9 8 1 1 0 6 1 pinlabel=D5 T 2250 2300 5 8 0 1 0 8 1 pintype=io } P 2300 2000 2600 2000 1 0 1 { T 2400 2050 5 8 1 1 0 0 1 pinnumber=23 T 2400 1950 5 8 0 1 0 2 1 pinseq=23 T 2250 2000 9 8 1 1 0 6 1 pinlabel=D6 T 2250 2000 5 8 0 1 0 8 1 pintype=io } P 2300 1700 2600 1700 1 0 1 { T 2400 1750 5 8 1 1 0 0 1 pinnumber=25 T 2400 1650 5 8 0 1 0 2 1 pinseq=25 T 2250 1700 9 8 1 1 0 6 1 pinlabel=D7 T 2250 1700 5 8 0 1 0 8 1 pintype=io } B 300 0 2000 4400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4650 5 10 0 0 0 0 1 device=581000 T 2300 4500 8 10 1 1 0 6 1 refdes=U? T 300 5050 5 10 0 0 0 0 1 footprint=none T 300 5650 5 10 0 0 0 0 1 description=1Mx8 dram simm memory module T 300 4850 5 10 0 0 0 0 1 numslots=0 T 300 5850 5 10 0 0 0 0 1 author=Werner Hoch T 300 5250 5 10 0 0 0 0 1 net=Vcc:1,30 T 300 5450 5 10 0 0 0 0 1 net=GND:9,22 T 300 4450 3 10 1 0 0 0 1 581000 geda-gaf-1.8.2/symbols/memory/am9128-1.sym0000664000175000017500000001044412204104272014706 00000000000000v 20070626 1 P 600 300 600 0 1 0 1 { T 650 100 5 8 1 1 0 0 1 pinnumber=17 T 650 100 5 8 0 1 0 2 1 pinseq=17 T 600 350 9 8 1 1 0 3 1 pinlabel=D7 T 600 450 5 8 0 1 0 3 1 pintype=tri } P 900 300 900 0 1 0 1 { T 950 100 5 8 1 1 0 0 1 pinnumber=16 T 950 100 5 8 0 1 0 2 1 pinseq=16 T 900 350 9 8 1 1 0 3 1 pinlabel=D6 T 900 450 5 8 0 1 0 3 1 pintype=tri } P 1200 300 1200 0 1 0 1 { T 1250 100 5 8 1 1 0 0 1 pinnumber=15 T 1250 100 5 8 0 1 0 2 1 pinseq=15 T 1200 350 9 8 1 1 0 3 1 pinlabel=D5 T 1200 450 5 8 0 1 0 3 1 pintype=tri } P 1500 300 1500 0 1 0 1 { T 1550 100 5 8 1 1 0 0 1 pinnumber=14 T 1550 100 5 8 0 1 0 2 1 pinseq=14 T 1500 350 9 8 1 1 0 3 1 pinlabel=D4 T 1500 450 5 8 0 1 0 3 1 pintype=tri } P 1800 300 1800 0 1 0 1 { T 1850 100 5 8 1 1 0 0 1 pinnumber=13 T 1850 100 5 8 0 1 0 2 1 pinseq=13 T 1800 350 9 8 1 1 0 3 1 pinlabel=D3 T 1800 450 5 8 0 1 0 3 1 pintype=tri } P 2100 300 2100 0 1 0 1 { T 2150 100 5 8 1 1 0 0 1 pinnumber=11 T 2150 100 5 8 0 1 0 2 1 pinseq=11 T 2100 350 9 8 1 1 0 3 1 pinlabel=D2 T 2100 450 5 8 0 1 0 3 1 pintype=tri } P 2400 300 2400 0 1 0 1 { T 2450 100 5 8 1 1 0 0 1 pinnumber=10 T 2450 100 5 8 0 1 0 2 1 pinseq=10 T 2400 350 9 8 1 1 0 3 1 pinlabel=D1 T 2400 450 5 8 0 1 0 3 1 pintype=tri } P 2700 300 2700 0 1 0 1 { T 2750 100 5 8 1 1 0 0 1 pinnumber=9 T 2750 100 5 8 0 1 0 2 1 pinseq=9 T 2700 350 9 8 1 1 0 3 1 pinlabel=D0 T 2700 450 5 8 0 1 0 3 1 pintype=tri } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=7 T 200 1750 5 8 0 1 0 8 1 pinseq=7 T 350 1800 9 8 1 1 0 0 1 pinlabel=A1 T 350 1800 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=8 T 200 1450 5 8 0 1 0 8 1 pinseq=8 T 350 1500 9 8 1 1 0 0 1 pinlabel=A0 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 2100 300 2100 1 0 0 { T 200 2150 5 8 1 1 0 6 1 pinnumber=6 T 200 2050 5 8 0 1 0 8 1 pinseq=6 T 350 2100 9 8 1 1 0 0 1 pinlabel=A2 T 350 2100 5 8 0 1 0 2 1 pintype=in } P 0 2400 300 2400 1 0 0 { T 200 2450 5 8 1 1 0 6 1 pinnumber=5 T 200 2350 5 8 0 1 0 8 1 pinseq=5 T 350 2400 9 8 1 1 0 0 1 pinlabel=A3 T 350 2400 5 8 0 1 0 2 1 pintype=in } P 0 3900 300 3900 1 0 0 { T 200 3950 5 8 1 1 0 6 1 pinnumber=23 T 200 3850 5 8 0 1 0 8 1 pinseq=23 T 350 3900 9 8 1 1 0 0 1 pinlabel=A8 T 350 3900 5 8 0 1 0 2 1 pintype=in } P 0 3600 300 3600 1 0 0 { T 200 3650 5 8 1 1 0 6 1 pinnumber=1 T 200 3550 5 8 0 1 0 8 1 pinseq=1 T 350 3600 9 8 1 1 0 0 1 pinlabel=A7 T 350 3600 5 8 0 1 0 2 1 pintype=in } P 0 3300 300 3300 1 0 0 { T 200 3350 5 8 1 1 0 6 1 pinnumber=2 T 200 3250 5 8 0 1 0 8 1 pinseq=2 T 350 3300 9 8 1 1 0 0 1 pinlabel=A6 T 350 3300 5 8 0 1 0 2 1 pintype=in } P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=3 T 200 2950 5 8 0 1 0 8 1 pinseq=3 T 350 3000 9 8 1 1 0 0 1 pinlabel=A5 T 350 3000 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=4 T 200 2650 5 8 0 1 0 8 1 pinseq=4 T 350 2700 9 8 1 1 0 0 1 pinlabel=A4 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 4200 300 4200 1 0 0 { T 200 4250 5 8 1 1 0 6 1 pinnumber=22 T 200 4150 5 8 0 1 0 8 1 pinseq=22 T 350 4200 9 8 1 1 0 0 1 pinlabel=A9 T 350 4200 5 8 0 1 0 2 1 pintype=in } P 0 4500 300 4500 1 0 0 { T 200 4550 5 8 1 1 0 6 1 pinnumber=19 T 200 4450 5 8 0 1 0 8 1 pinseq=19 T 350 4500 9 8 1 1 0 0 1 pinlabel=A10 T 350 4500 5 8 0 1 0 2 1 pintype=in } V 250 1200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 1200 0 1200 1 0 1 { T 200 1250 5 8 1 1 0 6 1 pinnumber=21 T 200 1150 5 8 0 1 0 8 1 pinseq=21 T 350 1200 9 8 1 1 0 0 1 pinlabel=\_WE\_ T 350 1200 5 8 0 1 0 2 1 pintype=in } P 200 900 0 900 1 0 1 { T 200 950 5 8 1 1 0 6 1 pinnumber=20 T 200 850 5 8 0 1 0 8 1 pinseq=20 T 350 900 9 8 1 1 0 0 1 pinlabel=\_OE\_ T 350 900 5 8 0 1 0 2 1 pintype=in } P 200 600 0 600 1 0 1 { T 200 650 5 8 1 1 0 6 1 pinnumber=18 T 200 550 5 8 0 1 0 8 1 pinseq=18 T 350 600 9 8 1 1 0 0 1 pinlabel=\_CE\_ T 350 600 5 8 0 1 0 2 1 pintype=in } B 300 300 2700 4500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 5050 5 10 0 0 0 0 1 device=AM9128 T 3000 4900 8 10 1 1 0 6 1 refdes=U? T 300 5450 5 10 0 0 0 0 1 footprint=DIP24 T 300 6050 5 10 0 0 0 0 1 description=2048x8 static ram T 300 5250 5 10 0 0 0 0 1 numslots=0 T 300 6250 5 10 0 0 0 0 1 author=Werner Hoch T 300 5650 5 10 0 0 0 0 1 net=Vcc:24 T 300 5850 5 10 0 0 0 0 1 net=GND:12 T 300 4850 9 10 1 0 0 0 1 AM9128 geda-gaf-1.8.2/symbols/memory/27C256-1.sym0000664000175000017500000001271012204104272014553 00000000000000v 20070626 1 P 1700 5800 1700 6100 1 0 1 { T 1750 5900 5 8 1 1 0 0 1 pinnumber=1 T 1750 5900 5 8 0 1 0 2 1 pinseq=1 T 1700 5750 9 8 1 1 0 5 1 pinlabel=VPP T 1700 5650 5 8 0 1 0 5 1 pintype=pwr } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=2 T 200 1850 5 8 0 1 0 8 1 pinseq=2 T 350 1900 9 8 1 1 0 0 1 pinlabel=A12 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 3400 300 3400 1 0 0 { T 200 3450 5 8 1 1 0 6 1 pinnumber=3 T 200 3350 5 8 0 1 0 8 1 pinseq=3 T 350 3400 9 8 1 1 0 0 1 pinlabel=A7 T 350 3400 5 8 0 1 0 2 1 pintype=in } P 0 3700 300 3700 1 0 0 { T 200 3750 5 8 1 1 0 6 1 pinnumber=4 T 200 3650 5 8 0 1 0 8 1 pinseq=4 T 350 3700 9 8 1 1 0 0 1 pinlabel=A6 T 350 3700 5 8 0 1 0 2 1 pintype=in } P 0 4000 300 4000 1 0 0 { T 200 4050 5 8 1 1 0 6 1 pinnumber=5 T 200 3950 5 8 0 1 0 8 1 pinseq=5 T 350 4000 9 8 1 1 0 0 1 pinlabel=A5 T 350 4000 5 8 0 1 0 2 1 pintype=in } P 0 4300 300 4300 1 0 0 { T 200 4350 5 8 1 1 0 6 1 pinnumber=6 T 200 4250 5 8 0 1 0 8 1 pinseq=6 T 350 4300 9 8 1 1 0 0 1 pinlabel=A4 T 350 4300 5 8 0 1 0 2 1 pintype=in } P 0 4600 300 4600 1 0 0 { T 200 4650 5 8 1 1 0 6 1 pinnumber=7 T 200 4550 5 8 0 1 0 8 1 pinseq=7 T 350 4600 9 8 1 1 0 0 1 pinlabel=A3 T 350 4600 5 8 0 1 0 2 1 pintype=in } P 0 4900 300 4900 1 0 0 { T 200 4950 5 8 1 1 0 6 1 pinnumber=8 T 200 4850 5 8 0 1 0 8 1 pinseq=8 T 350 4900 9 8 1 1 0 0 1 pinlabel=A2 T 350 4900 5 8 0 1 0 2 1 pintype=in } P 0 5200 300 5200 1 0 0 { T 200 5250 5 8 1 1 0 6 1 pinnumber=9 T 200 5150 5 8 0 1 0 8 1 pinseq=9 T 350 5200 9 8 1 1 0 0 1 pinlabel=A1 T 350 5200 5 8 0 1 0 2 1 pintype=in } P 0 5500 300 5500 1 0 0 { T 200 5550 5 8 1 1 0 6 1 pinnumber=10 T 200 5450 5 8 0 1 0 8 1 pinseq=10 T 350 5500 9 8 1 1 0 0 1 pinlabel=A0 T 350 5500 5 8 0 1 0 2 1 pintype=in } P 2300 5500 2600 5500 1 0 1 { T 2400 5550 5 8 1 1 0 0 1 pinnumber=11 T 2400 5450 5 8 0 1 0 2 1 pinseq=11 T 2250 5500 9 8 1 1 0 6 1 pinlabel=D0 T 2250 5500 5 8 0 1 0 8 1 pintype=tri } P 2300 5200 2600 5200 1 0 1 { T 2400 5250 5 8 1 1 0 0 1 pinnumber=12 T 2400 5150 5 8 0 1 0 2 1 pinseq=12 T 2250 5200 9 8 1 1 0 6 1 pinlabel=D1 T 2250 5200 5 8 0 1 0 8 1 pintype=tri } P 2300 4900 2600 4900 1 0 1 { T 2400 4950 5 8 1 1 0 0 1 pinnumber=13 T 2400 4850 5 8 0 1 0 2 1 pinseq=13 T 2250 4900 9 8 1 1 0 6 1 pinlabel=D2 T 2250 4900 5 8 0 1 0 8 1 pintype=tri } P 0 1300 300 1300 1 0 0 { T 200 1350 5 8 1 1 0 6 1 pinnumber=27 T 200 1250 5 8 0 1 0 8 1 pinseq=27 T 350 1300 9 8 1 1 0 0 1 pinlabel=A14 T 350 1300 5 8 0 1 0 2 1 pintype=in } P 0 1600 300 1600 1 0 0 { T 200 1650 5 8 1 1 0 6 1 pinnumber=26 T 200 1550 5 8 0 1 0 8 1 pinseq=26 T 350 1600 9 8 1 1 0 0 1 pinlabel=A13 T 350 1600 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=25 T 200 3050 5 8 0 1 0 8 1 pinseq=25 T 350 3100 9 8 1 1 0 0 1 pinlabel=A8 T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 2800 300 2800 1 0 0 { T 200 2850 5 8 1 1 0 6 1 pinnumber=24 T 200 2750 5 8 0 1 0 8 1 pinseq=24 T 350 2800 9 8 1 1 0 0 1 pinlabel=A9 T 350 2800 5 8 0 1 0 2 1 pintype=in } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=23 T 200 2150 5 8 0 1 0 8 1 pinseq=23 T 350 2200 9 8 1 1 0 0 1 pinlabel=A11 T 350 2200 5 8 0 1 0 2 1 pintype=in } V 800 350 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 800 100 800 300 1 0 0 { T 850 200 5 8 1 1 0 0 1 pinnumber=22 T 850 200 5 8 0 1 0 2 1 pinseq=22 T 800 450 9 8 1 1 0 3 1 pinlabel=\_OE\_ T 800 550 5 8 0 1 0 3 1 pintype=in } P 0 2500 300 2500 1 0 0 { T 200 2550 5 8 1 1 0 6 1 pinnumber=21 T 200 2450 5 8 0 1 0 8 1 pinseq=21 T 350 2500 9 8 1 1 0 0 1 pinlabel=A10 T 350 2500 5 8 0 1 0 2 1 pintype=in } V 1800 350 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1800 100 1800 300 1 0 0 { T 1850 200 5 8 1 1 0 0 1 pinnumber=20 T 1850 200 5 8 0 1 0 2 1 pinseq=20 T 1800 450 9 8 1 1 0 3 1 pinlabel=\_CS\_ T 1800 550 5 8 0 1 0 3 1 pintype=in } P 2300 3400 2600 3400 1 0 1 { T 2400 3450 5 8 1 1 0 0 1 pinnumber=19 T 2400 3350 5 8 0 1 0 2 1 pinseq=19 T 2250 3400 9 8 1 1 0 6 1 pinlabel=D7 T 2250 3400 5 8 0 1 0 8 1 pintype=tri } P 2300 3700 2600 3700 1 0 1 { T 2400 3750 5 8 1 1 0 0 1 pinnumber=18 T 2400 3650 5 8 0 1 0 2 1 pinseq=18 T 2250 3700 9 8 1 1 0 6 1 pinlabel=D6 T 2250 3700 5 8 0 1 0 8 1 pintype=tri } P 2300 4000 2600 4000 1 0 1 { T 2400 4050 5 8 1 1 0 0 1 pinnumber=17 T 2400 3950 5 8 0 1 0 2 1 pinseq=17 T 2250 4000 9 8 1 1 0 6 1 pinlabel=D5 T 2250 4000 5 8 0 1 0 8 1 pintype=tri } P 2300 4300 2600 4300 1 0 1 { T 2400 4350 5 8 1 1 0 0 1 pinnumber=16 T 2400 4250 5 8 0 1 0 2 1 pinseq=16 T 2250 4300 9 8 1 1 0 6 1 pinlabel=D4 T 2250 4300 5 8 0 1 0 8 1 pintype=tri } P 2300 4600 2600 4600 1 0 1 { T 2400 4650 5 8 1 1 0 0 1 pinnumber=15 T 2400 4550 5 8 0 1 0 2 1 pinseq=15 T 2250 4600 9 8 1 1 0 6 1 pinlabel=D3 T 2250 4600 5 8 0 1 0 8 1 pintype=tri } B 300 400 2000 5400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 6050 5 10 0 0 0 0 1 device=27256 T 2300 5900 8 10 1 1 0 6 1 refdes=U? P 1300 5800 1300 6100 1 0 1 { T 1350 5900 5 8 1 1 0 0 1 pinnumber=28 T 1350 5900 5 8 0 1 0 2 1 pinseq=28 T 1300 5750 9 8 1 1 0 5 1 pinlabel=Vcc T 1300 5650 5 8 0 1 0 5 1 pintype=pwr } P 1300 100 1300 400 1 0 0 { T 1350 200 5 8 1 1 0 0 1 pinnumber=14 T 1350 200 5 8 0 1 0 2 1 pinseq=14 T 1300 450 9 8 1 1 0 3 1 pinlabel=GND T 1300 550 5 8 0 1 0 3 1 pintype=pwr } T 300 6250 5 10 0 0 0 0 1 footprint=DIP28 T 300 6650 5 10 0 0 0 0 1 description=256K (32K*8) cmos eprom T 300 6450 5 10 0 0 0 0 1 numslots=0 T 300 6850 5 10 0 0 0 0 1 documentation=http://www.microchip.com/download/lit/pline/memory/arc/11001m.pdf T 300 7050 5 10 0 0 0 0 1 author=Werner Hoch T 300 5850 9 10 1 0 0 0 1 27C256 T 300 7250 5 10 0 0 0 0 1 symversion=0.1 geda-gaf-1.8.2/symbols/memory/HM628511HC-SOJ36-1.sym0000664000175000017500000001512512204104272015776 00000000000000v 20070626 1 B 300 0 2000 5500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 5300 300 5300 1 0 0 { T 100 5400 5 8 1 1 0 0 1 pinnumber=1 T 400 5300 9 8 1 1 0 0 1 pinlabel=A0 T 0 5300 5 10 0 1 0 0 1 pinseq=1 T 0 5300 5 10 0 1 0 0 1 pintype=in } P 0 5000 300 5000 1 0 0 { T 100 5100 5 8 1 1 0 0 1 pinnumber=2 T 400 5000 9 8 1 1 0 0 1 pinlabel=A1 T 0 5000 5 10 0 1 0 0 1 pinseq=2 T 0 5000 5 10 0 1 0 0 1 pintype=in } P 0 4700 300 4700 1 0 0 { T 100 4800 5 8 1 1 0 0 1 pinnumber=3 T 400 4700 9 8 1 1 0 0 1 pinlabel=A2 T 0 4700 5 10 0 1 0 0 1 pinseq=3 T 0 4700 5 10 0 1 0 0 1 pintype=in } P 0 4400 300 4400 1 0 0 { T 100 4500 5 8 1 1 0 0 1 pinnumber=4 T 400 4400 9 8 1 1 0 0 1 pinlabel=A3 T 0 4400 5 10 0 1 0 0 1 pinseq=4 T 0 4400 5 10 0 1 0 0 1 pintype=in } P 0 4100 300 4100 1 0 0 { T 100 4200 5 8 1 1 0 0 1 pinnumber=5 T 400 4100 9 8 1 1 0 0 1 pinlabel=A4 T 0 4100 5 10 0 1 0 0 1 pinseq=5 T 0 4100 5 10 0 1 0 0 1 pintype=in } P 0 3800 300 3800 1 0 0 { T 100 3900 5 8 1 1 0 0 1 pinnumber=6 T 400 3800 9 8 1 1 0 0 1 pinlabel=\_CS\_ T 0 3800 5 10 0 1 0 0 1 pinseq=6 T 0 3800 5 10 0 1 0 0 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 100 3600 5 8 1 1 0 0 1 pinnumber=7 T 400 3500 9 8 1 1 0 0 1 pinlabel=I/O1 T 0 3500 5 10 0 1 0 0 1 pinseq=7 T 0 3500 5 10 0 1 0 0 1 pintype=io } P 0 3200 300 3200 1 0 0 { T 100 3300 5 8 1 1 0 0 1 pinnumber=8 T 400 3200 9 8 1 1 0 0 1 pinlabel=I/O2 T 0 3200 5 10 0 1 0 0 1 pinseq=8 T 0 3200 5 10 0 1 0 0 1 pintype=io } P 0 2900 300 2900 1 0 0 { T 100 3000 5 8 1 1 0 0 1 pinnumber=9 T 400 2900 9 8 1 1 0 0 1 pinlabel=Vcc T 0 2900 5 10 0 1 0 0 1 pinseq=9 T 0 2900 5 10 0 1 0 0 1 pintype=pwr } P 0 2600 300 2600 1 0 0 { T 100 2700 5 8 1 1 0 0 1 pinnumber=10 T 400 2600 9 8 1 1 0 0 1 pinlabel=Vss T 0 2600 5 10 0 1 0 0 1 pinseq=10 T 0 2600 5 10 0 1 0 0 1 pintype=pwr } P 0 2300 300 2300 1 0 0 { T 100 2400 5 8 1 1 0 0 1 pinnumber=11 T 400 2300 9 8 1 1 0 0 1 pinlabel=I/O3 T 0 2300 5 10 0 1 0 0 1 pinseq=11 T 0 2300 5 10 0 1 0 0 1 pintype=io } P 0 2000 300 2000 1 0 0 { T 100 2100 5 8 1 1 0 0 1 pinnumber=12 T 400 2000 9 8 1 1 0 0 1 pinlabel=I/O4 T 0 2000 5 10 0 1 0 0 1 pinseq=12 T 0 2000 5 10 0 1 0 0 1 pintype=io } P 0 1700 300 1700 1 0 0 { T 100 1800 5 8 1 1 0 0 1 pinnumber=13 T 400 1700 9 8 1 1 0 0 1 pinlabel=\_WE\_ T 0 1700 5 10 0 1 0 0 1 pinseq=13 T 0 1700 5 10 0 1 0 0 1 pintype=in } P 0 1400 300 1400 1 0 0 { T 100 1500 5 8 1 1 0 0 1 pinnumber=14 T 400 1400 9 8 1 1 0 0 1 pinlabel=A5 T 0 1400 5 10 0 1 0 0 1 pinseq=14 T 0 1400 5 10 0 1 0 0 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 100 1200 5 8 1 1 0 0 1 pinnumber=15 T 400 1100 9 8 1 1 0 0 1 pinlabel=A6 T 0 1100 5 10 0 1 0 0 1 pinseq=15 T 0 1100 5 10 0 1 0 0 1 pintype=in } P 0 800 300 800 1 0 0 { T 100 900 5 8 1 1 0 0 1 pinnumber=16 T 400 800 9 8 1 1 0 0 1 pinlabel=A7 T 0 800 5 10 0 1 0 0 1 pinseq=16 T 0 800 5 10 0 1 0 0 1 pintype=in } P 0 500 300 500 1 0 0 { T 100 600 5 8 1 1 0 0 1 pinnumber=17 T 400 500 9 8 1 1 0 0 1 pinlabel=A8 T 0 500 5 10 0 1 0 0 1 pinseq=17 T 0 500 5 10 0 1 0 0 1 pintype=in } P 0 200 300 200 1 0 0 { T 100 300 5 8 1 1 0 0 1 pinnumber=18 T 400 200 9 8 1 1 0 0 1 pinlabel=A9 T 0 200 5 10 0 1 0 0 1 pinseq=18 T 0 200 5 10 0 1 0 0 1 pintype=in } P 2600 200 2300 200 1 0 0 { T 2400 300 5 8 1 1 0 0 1 pinnumber=19 T 1900 200 9 8 1 1 0 0 1 pinlabel=NC T 2600 200 5 10 0 1 0 0 1 pinseq=19 T 2600 200 5 10 0 1 0 0 1 pintype=pas } P 2600 500 2300 500 1 0 0 { T 2400 600 5 8 1 1 0 0 1 pinnumber=20 T 1900 500 9 8 1 1 0 0 1 pinlabel=A10 T 2600 500 5 10 0 1 0 0 1 pinseq=20 T 2600 500 5 10 0 1 0 0 1 pintype=in } P 2600 800 2300 800 1 0 0 { T 2400 900 5 8 1 1 0 0 1 pinnumber=21 T 1900 800 9 8 1 1 0 0 1 pinlabel=A11 T 2600 800 5 10 0 1 0 0 1 pinseq=21 T 2600 800 5 10 0 1 0 0 1 pintype=in } P 2600 1100 2300 1100 1 0 0 { T 2400 1200 5 8 1 1 0 0 1 pinnumber=22 T 1900 1100 9 8 1 1 0 0 1 pinlabel=A12 T 2600 1100 5 10 0 1 0 0 1 pinseq=22 T 2600 1100 5 10 0 1 0 0 1 pintype=in } P 2600 1400 2300 1400 1 0 0 { T 2400 1500 5 8 1 1 0 0 1 pinnumber=23 T 1900 1400 9 8 1 1 0 0 1 pinlabel=A13 T 2600 1400 5 10 0 1 0 0 1 pinseq=23 T 2600 1400 5 10 0 1 0 0 1 pintype=in } P 2600 1700 2300 1700 1 0 0 { T 2400 1800 5 8 1 1 0 0 1 pinnumber=24 T 1900 1700 9 8 1 1 0 0 1 pinlabel=A14 T 2600 1700 5 10 0 1 0 0 1 pinseq=24 T 2600 1700 5 10 0 1 0 0 1 pintype=in } P 2600 2000 2300 2000 1 0 0 { T 2400 2100 5 8 1 1 0 0 1 pinnumber=25 T 1900 2000 9 8 1 1 0 0 1 pinlabel=I/O5 T 2600 2000 5 10 0 1 0 0 1 pinseq=25 T 2600 2000 5 10 0 1 0 0 1 pintype=io } P 2600 2300 2300 2300 1 0 0 { T 2400 2400 5 8 1 1 0 0 1 pinnumber=26 T 1900 2300 9 8 1 1 0 0 1 pinlabel=I/O6 T 2600 2300 5 10 0 1 0 0 1 pinseq=26 T 2600 2300 5 10 0 1 0 0 1 pintype=io } P 2600 2600 2300 2600 1 0 0 { T 2400 2700 5 8 1 1 0 0 1 pinnumber=27 T 1900 2600 9 8 1 1 0 0 1 pinlabel=Vcc T 2600 2600 5 10 0 1 0 0 1 pinseq=27 T 2600 2600 5 10 0 1 0 0 1 pintype=pwr } P 2600 2900 2300 2900 1 0 0 { T 2400 3000 5 8 1 1 0 0 1 pinnumber=28 T 1900 2900 9 8 1 1 0 0 1 pinlabel=Vss T 2600 2900 5 10 0 1 0 0 1 pinseq=28 T 2600 2900 5 10 0 1 0 0 1 pintype=pwr } P 2600 3200 2300 3200 1 0 0 { T 2400 3300 5 8 1 1 0 0 1 pinnumber=29 T 1900 3200 9 8 1 1 0 0 1 pinlabel=I/O7 T 2600 3200 5 10 0 1 0 0 1 pinseq=29 T 2600 3200 5 10 0 1 0 0 1 pintype=io } P 2600 3500 2300 3500 1 0 0 { T 2400 3600 5 8 1 1 0 0 1 pinnumber=30 T 1900 3500 9 8 1 1 0 0 1 pinlabel=I/O8 T 2600 3500 5 10 0 1 0 0 1 pinseq=30 T 2600 3500 5 10 0 1 0 0 1 pintype=io } P 2600 3800 2300 3800 1 0 0 { T 2400 3900 5 8 1 1 0 0 1 pinnumber=31 T 1900 3800 9 8 1 1 0 0 1 pinlabel=\_OE\_ T 2600 3800 5 10 0 1 0 0 1 pinseq=31 T 2600 3800 5 10 0 1 0 0 1 pintype=in } P 2600 4100 2300 4100 1 0 0 { T 2400 4200 5 8 1 1 0 0 1 pinnumber=32 T 1900 4100 9 8 1 1 0 0 1 pinlabel=A15 T 2600 4100 5 10 0 1 0 0 1 pinseq=32 T 2600 4100 5 10 0 1 0 0 1 pintype=in } P 2600 4400 2300 4400 1 0 0 { T 2400 4500 5 8 1 1 0 0 1 pinnumber=33 T 1900 4400 9 8 1 1 0 0 1 pinlabel=A16 T 2600 4400 5 10 0 1 0 0 1 pinseq=33 T 2600 4400 5 10 0 1 0 0 1 pintype=in } P 2600 4700 2300 4700 1 0 0 { T 2400 4800 5 8 1 1 0 0 1 pinnumber=34 T 1900 4700 9 8 1 1 0 0 1 pinlabel=A17 T 2600 4700 5 10 0 1 0 0 1 pinseq=34 T 2600 4700 5 10 0 1 0 0 1 pintype=in } P 2600 5000 2300 5000 1 0 0 { T 2400 5100 5 8 1 1 0 0 1 pinnumber=35 T 1900 5000 9 8 1 1 0 0 1 pinlabel=A18 T 2600 5000 5 10 0 1 0 0 1 pinseq=35 T 2600 5000 5 10 0 1 0 0 1 pintype=in } P 2600 5300 2300 5300 1 0 0 { T 2400 5400 5 8 1 1 0 0 1 pinnumber=36 T 1900 5300 9 8 1 1 0 0 1 pinlabel=NC T 2600 5300 5 10 0 1 0 0 1 pinseq=36 T 2600 5300 5 10 0 1 0 0 1 pintype=pas } A 1300 5500 305 180 182 3 0 0 0 -1 -1 T 1400 1600 9 20 1 0 90 0 1 HM628511HC T 2200 5700 8 10 1 1 0 0 1 refdes=U? T 300 6200 8 10 0 0 0 0 1 device=HM628511HC T 300 5800 8 10 0 0 0 0 1 numslots=0 T 300 6000 8 10 0 0 0 0 1 footprint=SOJ36 T 300 6400 8 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/memory/628512-1.sym0000664000175000017500000001306112204104272014532 00000000000000v 20070626 1 P 0 2500 300 2500 1 0 0 { T 250 2550 5 8 1 1 0 6 1 pinnumber=3 T 100 2550 5 8 0 0 0 0 1 pinseq=3 T 0 2500 5 10 0 1 0 0 1 pintype=in T 360 2500 9 8 1 1 0 0 1 pinlabel=A14 } P 0 3100 300 3100 1 0 0 { T 250 3150 5 8 1 1 0 6 1 pinnumber=4 T 100 3150 5 8 0 0 0 0 1 pinseq=4 T 0 3100 5 10 0 1 0 0 1 pintype=in T 360 3100 9 8 1 1 0 0 1 pinlabel=A12 } P 0 4600 300 4600 1 0 0 { T 250 4650 5 8 1 1 0 6 1 pinnumber=5 T 100 4650 5 8 0 0 0 0 1 pinseq=5 T 0 4600 5 10 0 1 0 0 1 pintype=in T 360 4600 9 8 1 1 0 0 1 pinlabel=A7 } P 0 4900 300 4900 1 0 0 { T 250 4950 5 8 1 1 0 6 1 pinnumber=6 T 100 4950 5 8 0 0 0 0 1 pinseq=6 T 0 4900 5 10 0 1 0 0 1 pintype=in T 360 4900 9 8 1 1 0 0 1 pinlabel=A6 } P 0 5200 300 5200 1 0 0 { T 250 5250 5 8 1 1 0 6 1 pinnumber=7 T 100 5250 5 8 0 0 0 0 1 pinseq=7 T 0 5200 5 10 0 1 0 0 1 pintype=in T 360 5200 9 8 1 1 0 0 1 pinlabel=A5 } P 0 5500 300 5500 1 0 0 { T 250 5550 5 8 1 1 0 6 1 pinnumber=8 T 100 5550 5 8 0 0 0 0 1 pinseq=8 T 0 5500 5 10 0 1 0 0 1 pintype=in T 360 5500 9 8 1 1 0 0 1 pinlabel=A4 } P 0 5800 300 5800 1 0 0 { T 250 5850 5 8 1 1 0 6 1 pinnumber=9 T 100 5850 5 8 0 0 0 0 1 pinseq=9 T 0 5800 5 10 0 1 0 0 1 pintype=in T 360 5800 9 8 1 1 0 0 1 pinlabel=A3 } P 0 6100 300 6100 1 0 0 { T 250 6150 5 8 1 1 0 6 1 pinnumber=10 T 100 6150 5 8 0 0 0 0 1 pinseq=10 T 0 6100 5 10 0 1 0 0 1 pintype=in T 360 6100 9 8 1 1 0 0 1 pinlabel=A2 } P 0 6400 300 6400 1 0 0 { T 250 6450 5 8 1 1 0 6 1 pinnumber=11 T 100 6450 5 8 0 0 0 0 1 pinseq=11 T 0 6400 5 10 0 1 0 0 1 pintype=in T 360 6400 9 8 1 1 0 0 1 pinlabel=A1 } P 0 6700 300 6700 1 0 0 { T 250 6750 5 8 1 1 0 6 1 pinnumber=12 T 100 6750 5 8 0 0 0 0 1 pinseq=12 T 0 6700 5 10 0 1 0 0 1 pintype=in T 360 6700 9 8 1 1 0 0 1 pinlabel=A0 } P 2300 6700 2600 6700 1 0 1 { T 2385 6750 5 8 1 1 0 0 1 pinnumber=13 T 2385 6750 5 8 0 0 0 0 1 pinseq=13 T 2300 6700 5 10 0 1 0 0 1 pintype=tri T 2060 6700 9 8 1 1 0 0 1 pinlabel=D0 } P 2300 6400 2600 6400 1 0 1 { T 2385 6450 5 8 1 1 0 0 1 pinnumber=14 T 2385 6450 5 8 0 0 0 0 1 pinseq=14 T 2300 6400 5 10 0 1 0 0 1 pintype=tri T 2060 6400 9 8 1 1 0 0 1 pinlabel=D1 } P 2300 6100 2600 6100 1 0 1 { T 2385 6150 5 8 1 1 0 0 1 pinnumber=15 T 2385 6150 5 8 0 0 0 0 1 pinseq=15 T 2300 6100 5 10 0 1 0 0 1 pintype=tri T 2060 6100 9 8 1 1 0 0 1 pinlabel=D2 } P 0 800 300 800 1 0 0 { T 250 850 5 8 1 1 0 6 1 pinnumber=29 T 100 850 5 8 0 0 0 0 1 pinseq=29 T 0 800 5 10 0 1 0 0 1 pintype=in T 360 800 9 8 1 1 0 0 1 pinlabel=\_WE\_ } P 0 2800 300 2800 1 0 0 { T 250 2850 5 8 1 1 0 6 1 pinnumber=28 T 100 2850 5 8 0 0 0 0 1 pinseq=28 T 0 2800 5 10 0 1 0 0 1 pintype=in T 360 2800 9 8 1 1 0 0 1 pinlabel=A13 } P 0 4300 300 4300 1 0 0 { T 250 4350 5 8 1 1 0 6 1 pinnumber=27 T 50 4350 5 8 0 0 0 0 1 pinseq=27 T -50 4300 5 10 0 1 0 0 1 pintype=in T 360 4300 9 8 1 1 0 0 1 pinlabel=A8 } P 0 4000 300 4000 1 0 0 { T 250 4050 5 8 1 1 0 6 1 pinnumber=26 T 100 4050 5 8 0 0 0 0 1 pinseq=26 T 0 4000 5 10 0 1 0 0 1 pintype=in T 360 4000 9 8 1 1 0 0 1 pinlabel=A9 } P 0 3400 300 3400 1 0 0 { T 250 3450 5 8 1 1 0 6 1 pinnumber=25 T 100 3450 5 8 0 0 0 0 1 pinseq=25 T 0 3400 5 10 0 1 0 0 1 pintype=in T 360 3400 9 8 1 1 0 0 1 pinlabel=A11 } V 250 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 500 200 500 1 0 0 { T 215 550 5 8 1 1 0 6 1 pinnumber=24 T 15 550 5 8 0 0 0 0 1 pinseq=24 T 0 500 5 10 0 1 0 0 1 pintype=in T 360 500 9 8 1 1 0 0 1 pinlabel=\_OE\_ } P 0 3700 300 3700 1 0 0 { T 250 3750 5 8 1 1 0 6 1 pinnumber=23 T 100 3750 5 8 0 0 0 0 1 pinseq=23 T 0 3700 5 10 0 1 0 0 1 pintype=in T 360 3700 9 8 1 1 0 0 1 pinlabel=A10 } V 250 210 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 200 200 200 1 0 0 { T 215 250 5 8 1 1 0 6 1 pinnumber=22 T 15 250 5 8 0 0 0 0 1 pinseq=22 T 0 200 5 10 0 1 0 0 1 pintype=in T 360 200 9 8 1 1 0 0 1 pinlabel=\_CS\_ } P 2300 4600 2600 4600 1 0 1 { T 2385 4650 5 8 1 1 0 0 1 pinnumber=21 T 2385 4650 5 8 0 0 0 0 1 pinseq=21 T 2300 4600 5 10 0 1 0 0 1 pintype=tri T 2060 4600 9 8 1 1 0 0 1 pinlabel=D7 } P 2300 4900 2600 4900 1 0 1 { T 2385 4950 5 8 1 1 0 0 1 pinnumber=20 T 2385 4950 5 8 0 0 0 0 1 pinseq=20 T 2300 4900 5 10 0 1 0 0 1 pintype=tri T 2060 4900 9 8 1 1 0 0 1 pinlabel=D6 } P 2300 5200 2600 5200 1 0 1 { T 2385 5250 5 8 1 1 0 0 1 pinnumber=19 T 2385 5250 5 8 0 0 0 0 1 pinseq=19 T 2300 5200 5 10 0 1 0 0 1 pintype=tri T 2060 5200 9 8 1 1 0 0 1 pinlabel=D5 } P 2300 5500 2600 5500 1 0 1 { T 2385 5550 5 8 1 1 0 0 1 pinnumber=18 T 2385 5550 5 8 0 0 0 0 1 pinseq=18 T 2300 5500 5 10 0 1 0 0 1 pintype=tri T 2060 5500 9 8 1 1 0 0 1 pinlabel=D4 } P 2300 5800 2600 5800 1 0 1 { T 2385 5850 5 8 1 1 0 0 1 pinnumber=17 T 2385 5850 5 8 0 0 0 0 1 pinseq=17 T 2300 5800 5 10 0 1 0 0 1 pintype=tri T 2060 5800 9 8 1 1 0 0 1 pinlabel=D3 } T 300 7050 9 10 1 0 0 0 1 628512 B 300 0 2000 7000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2400 7000 5 10 0 0 0 0 1 device=628512 T 2300 7100 8 10 1 1 0 6 1 refdes=U? P 0 2200 300 2200 1 0 0 { T 250 2250 5 8 1 1 0 6 1 pinnumber=31 T 100 2250 5 8 0 0 0 0 1 pinseq=31 T 0 2200 5 10 0 1 0 0 1 pintype=in T 360 2200 9 8 1 1 0 0 1 pinlabel=A15 } P 0 1900 300 1900 1 0 0 { T 250 1950 5 8 1 1 0 6 1 pinnumber=2 T 100 1950 5 8 0 0 0 0 1 pinseq=2 T 0 1900 5 10 0 1 0 0 1 pintype=in T 360 1900 9 8 1 1 0 0 1 pinlabel=A16 } P 0 1600 300 1600 1 0 0 { T 250 1650 5 8 1 1 0 6 1 pinnumber=30 T 100 1650 5 8 0 0 0 0 1 pinseq=30 T 0 1600 5 10 0 1 0 0 1 pintype=in T 360 1600 9 8 1 1 0 0 1 pinlabel=A17 } P 0 1300 300 1300 1 0 0 { T 250 1350 5 8 1 1 0 6 1 pinnumber=1 T 100 1350 5 8 0 0 0 0 1 pinseq=1 T 0 1300 5 10 0 1 0 0 1 pintype=in T 360 1300 9 8 1 1 0 0 1 pinlabel=A18 } T 2400 7400 5 10 0 0 0 0 1 net=Vcc:32 T 2400 7600 5 10 0 0 0 0 1 numslots=0 T 2400 7200 5 10 0 0 0 0 1 net=GND:16 T 2400 7800 5 10 0 0 0 0 1 footprint=none geda-gaf-1.8.2/symbols/memory/27C2001-1.sym0000664000175000017500000001410412204104272014620 00000000000000v 20041228 1 T 400 8000 8 10 0 0 0 0 1 footprint=DIP32 T 400 9300 8 10 0 0 0 0 1 numslots=0 T 400 8300 8 10 0 0 0 0 1 pins=32 T 400 8500 8 10 0 0 0 0 1 description=2Mbit (256Kb*8) EPROM T 400 8900 8 10 0 0 0 0 1 author=Geert Stappers T 400 8700 8 10 0 0 0 0 1 documentation=http://www.st.com/stonline/books/pdf/docs/2383.pdf P 1400 6900 1400 7200 1 0 1 { T 1450 6900 5 8 1 1 0 0 1 pinnumber=32 T 1450 6900 5 8 0 1 0 2 1 pinseq=32 T 1400 6850 9 8 1 1 0 5 1 pinlabel=Vcc T 1400 6650 5 8 0 1 0 5 1 pintype=pwr } T 400 9100 8 10 0 0 0 0 1 net=GND:16 B 400 0 1800 6900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 7600 8 10 0 0 0 0 1 device=27C2001 T 400 7800 8 10 0 0 0 0 1 class=IC T 400 7300 2 10 1 1 0 0 1 refdes=U? T 400 6950 3 10 1 0 0 0 1 27C2001 P 400 6600 100 6600 1 0 1 { T 350 6650 5 8 0 1 0 6 1 pinseq=1 T 350 6650 5 8 1 1 0 6 1 pinnumber=12 T 0 6600 5 8 0 0 0 7 1 pintype=in T 500 6600 3 8 1 1 0 1 1 pinlabel=A0 } P 400 6300 100 6300 1 0 1 { T 350 6350 5 8 0 1 0 6 1 pinseq=2 T 350 6350 5 8 1 1 0 6 1 pinnumber=11 T 0 6300 5 8 0 0 0 7 1 pintype=in T 500 6300 3 8 1 1 0 1 1 pinlabel=A1 } P 400 6000 100 6000 1 0 1 { T 350 6050 5 8 0 1 0 6 1 pinseq=3 T 350 6050 5 8 1 1 0 6 1 pinnumber=10 T 0 6000 5 8 0 0 0 7 1 pintype=in T 500 6000 3 8 1 1 0 1 1 pinlabel=A2 } P 400 5700 100 5700 1 0 1 { T 350 5750 5 8 0 1 0 6 1 pinseq=4 T 350 5750 5 8 1 1 0 6 1 pinnumber=9 T 0 5700 5 8 0 0 0 7 1 pintype=in T 500 5700 3 8 1 1 0 1 1 pinlabel=A3 } P 400 5400 100 5400 1 0 1 { T 350 5450 5 8 0 1 0 6 1 pinseq=5 T 350 5450 5 8 1 1 0 6 1 pinnumber=8 T 0 5400 5 8 0 0 0 7 1 pintype=in T 500 5400 3 8 1 1 0 1 1 pinlabel=A4 } P 400 5100 100 5100 1 0 1 { T 350 5150 5 8 0 1 0 6 1 pinseq=6 T 350 5150 5 8 1 1 0 6 1 pinnumber=7 T 0 5100 5 8 0 0 0 7 1 pintype=in T 500 5100 3 8 1 1 0 1 1 pinlabel=A5 } P 400 4800 100 4800 1 0 1 { T 350 4850 5 8 0 1 0 6 1 pinseq=7 T 350 4850 5 8 1 1 0 6 1 pinnumber=6 T 0 4800 5 8 0 0 0 7 1 pintype=in T 500 4800 3 8 1 1 0 1 1 pinlabel=A6 } P 400 4500 100 4500 1 0 1 { T 350 4550 5 8 0 1 0 6 1 pinseq=8 T 350 4550 5 8 1 1 0 6 1 pinnumber=5 T 0 4500 5 8 0 0 0 7 1 pintype=in T 500 4500 3 8 1 1 0 1 1 pinlabel=A7 } P 400 4200 100 4200 1 0 1 { T 350 4250 5 8 0 1 0 6 1 pinseq=9 T 350 4250 5 8 1 1 0 6 1 pinnumber=27 T 0 4200 5 8 0 0 0 7 1 pintype=in T 500 4200 3 8 1 1 0 1 1 pinlabel=A8 } P 400 3900 100 3900 1 0 1 { T 350 3950 5 8 0 1 0 6 1 pinseq=10 T 350 3950 5 8 1 1 0 6 1 pinnumber=26 T 0 3900 5 8 0 0 0 7 1 pintype=in T 500 3900 3 8 1 1 0 1 1 pinlabel=A9 } P 400 3600 100 3600 1 0 1 { T 350 3650 5 8 0 1 0 6 1 pinseq=11 T 350 3650 5 8 1 1 0 6 1 pinnumber=23 T 0 3600 5 8 0 0 0 7 1 pintype=in T 500 3600 3 8 1 1 0 1 1 pinlabel=A10 } P 400 3300 100 3300 1 0 1 { T 350 3350 5 8 0 1 0 6 1 pinseq=12 T 350 3350 5 8 1 1 0 6 1 pinnumber=25 T 0 3300 5 8 0 0 0 7 1 pintype=in T 500 3300 3 8 1 1 0 1 1 pinlabel=A11 } P 400 3000 100 3000 1 0 1 { T 350 3050 5 8 0 1 0 6 1 pinseq=13 T 350 3050 5 8 1 1 0 6 1 pinnumber=4 T 0 3000 5 8 0 0 0 7 1 pintype=in T 500 3000 3 8 1 1 0 1 1 pinlabel=A12 } P 400 2700 100 2700 1 0 1 { T 350 2750 5 8 0 1 0 6 1 pinseq=14 T 350 2750 5 8 1 1 0 6 1 pinnumber=28 T 0 2700 5 8 0 0 0 7 1 pintype=in T 500 2700 3 8 1 1 0 1 1 pinlabel=A13 } P 400 2400 100 2400 1 0 1 { T 350 2450 5 8 0 1 0 6 1 pinseq=15 T 350 2450 5 8 1 1 0 6 1 pinnumber=29 T 0 2400 5 8 0 0 0 7 1 pintype=in T 500 2400 3 8 1 1 0 1 1 pinlabel=A14 } P 400 2100 100 2100 1 0 1 { T 350 2150 5 8 0 1 0 6 1 pinseq=16 T 350 2150 5 8 1 1 0 6 1 pinnumber=3 T 0 2100 5 8 0 0 0 7 1 pintype=in T 500 2100 3 8 1 1 0 1 1 pinlabel=A15 } P 400 1800 100 1800 1 0 1 { T 350 1850 5 8 0 1 0 6 1 pinseq=17 T 350 1850 5 8 1 1 0 6 1 pinnumber=2 T 0 1800 5 8 0 0 0 7 1 pintype=in T 500 1800 3 8 1 1 0 1 1 pinlabel=A16 } P 400 1500 100 1500 1 0 1 { T 350 1550 5 8 0 1 0 6 1 pinseq=18 T 350 1550 5 8 1 1 0 6 1 pinnumber=30 T 0 1500 5 8 0 0 0 7 1 pintype=in T 500 1500 3 8 1 1 0 1 1 pinlabel=A17 } V 350 900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 300 900 100 900 1 0 1 { T 350 950 5 8 0 1 0 6 1 pinseq=19 T 350 950 5 8 1 1 0 6 1 pinnumber=22 T 0 900 5 8 0 0 0 7 1 pintype=in T 500 900 3 8 1 1 0 1 1 pinlabel=CE } V 350 600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 300 600 100 600 1 0 1 { T 350 650 5 8 0 1 0 6 1 pinseq=20 T 350 650 5 8 1 1 0 6 1 pinnumber=24 T 0 600 5 8 0 0 0 7 1 pintype=in T 500 600 3 8 1 1 0 1 1 pinlabel=OE } V 350 300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 300 300 100 300 1 0 1 { T 350 350 5 8 0 1 0 6 1 pinseq=21 T 350 350 5 8 1 1 0 6 1 pinnumber=31 T 0 300 5 8 0 0 0 7 1 pintype=in T 500 300 3 8 1 1 0 1 1 pinlabel=WE } P 2200 6600 2500 6600 1 0 1 { T 2250 6650 5 8 0 1 0 0 1 pinseq=22 T 2250 6650 5 8 1 1 0 0 1 pinnumber=13 T 2600 6600 5 8 0 0 0 1 1 pintype=tri T 2100 6600 3 8 1 1 0 7 1 pinlabel=D0 } P 2200 6300 2500 6300 1 0 1 { T 2250 6350 5 8 0 1 0 0 1 pinseq=23 T 2250 6350 5 8 1 1 0 0 1 pinnumber=14 T 2600 6300 5 8 0 0 0 1 1 pintype=tri T 2100 6300 3 8 1 1 0 7 1 pinlabel=D1 } P 2200 6000 2500 6000 1 0 1 { T 2250 6050 5 8 0 1 0 0 1 pinseq=24 T 2250 6050 5 8 1 1 0 0 1 pinnumber=15 T 2600 6000 5 8 0 0 0 1 1 pintype=tri T 2100 6000 3 8 1 1 0 7 1 pinlabel=D2 } P 2200 5700 2500 5700 1 0 1 { T 2250 5750 5 8 0 1 0 0 1 pinseq=25 T 2250 5750 5 8 1 1 0 0 1 pinnumber=17 T 2600 5700 5 8 0 0 0 1 1 pintype=tri T 2100 5700 3 8 1 1 0 7 1 pinlabel=D3 } P 2200 5400 2500 5400 1 0 1 { T 2250 5450 5 8 0 1 0 0 1 pinseq=26 T 2250 5450 5 8 1 1 0 0 1 pinnumber=18 T 2600 5400 5 8 0 0 0 1 1 pintype=tri T 2100 5400 3 8 1 1 0 7 1 pinlabel=D4 } P 2200 5100 2500 5100 1 0 1 { T 2250 5150 5 8 0 1 0 0 1 pinseq=27 T 2250 5150 5 8 1 1 0 0 1 pinnumber=19 T 2600 5100 5 8 0 0 0 1 1 pintype=tri T 2100 5100 3 8 1 1 0 7 1 pinlabel=D5 } P 2200 4800 2500 4800 1 0 1 { T 2250 4850 5 8 0 1 0 0 1 pinseq=28 T 2250 4850 5 8 1 1 0 0 1 pinnumber=20 T 2600 4800 5 8 0 0 0 1 1 pintype=tri T 2100 4800 3 8 1 1 0 7 1 pinlabel=D6 } P 2200 4500 2500 4500 1 0 1 { T 2250 4550 5 8 0 1 0 0 1 pinseq=29 T 2250 4550 5 8 1 1 0 0 1 pinnumber=21 T 2600 4500 5 8 0 0 0 1 1 pintype=tri T 2100 4500 3 8 1 1 0 7 1 pinlabel=D7 } P 1800 6900 1800 7200 1 0 1 { T 1850 6900 5 8 1 1 0 0 1 pinnumber=1 T 1850 6900 5 8 0 1 0 2 1 pinseq=30 T 1800 6850 9 8 1 1 0 5 1 pinlabel=VPP T 1800 6650 5 8 0 1 0 5 1 pintype=pwr } T 400 9500 8 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/memory/2732-1.sym0000664000175000017500000001047312204104272014364 00000000000000v 20070626 1 P 0 2100 300 2100 1 0 0 { T 200 2150 5 8 1 1 0 6 1 pinnumber=1 T 200 2050 5 8 0 1 0 8 1 pinseq=3 T 350 2100 9 8 1 1 0 0 1 pinlabel=A7 T 350 2100 5 8 0 1 0 2 1 pintype=in } P 0 2400 300 2400 1 0 0 { T 200 2450 5 8 1 1 0 6 1 pinnumber=2 T 200 2350 5 8 0 1 0 8 1 pinseq=4 T 350 2400 9 8 1 1 0 0 1 pinlabel=A6 T 350 2400 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=3 T 200 2650 5 8 0 1 0 8 1 pinseq=5 T 350 2700 9 8 1 1 0 0 1 pinlabel=A5 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=4 T 200 2950 5 8 0 1 0 8 1 pinseq=6 T 350 3000 9 8 1 1 0 0 1 pinlabel=A4 T 350 3000 5 8 0 1 0 2 1 pintype=in } P 0 3300 300 3300 1 0 0 { T 200 3350 5 8 1 1 0 6 1 pinnumber=5 T 200 3250 5 8 0 1 0 8 1 pinseq=7 T 350 3300 9 8 1 1 0 0 1 pinlabel=A3 T 350 3300 5 8 0 1 0 2 1 pintype=in } P 0 3600 300 3600 1 0 0 { T 200 3650 5 8 1 1 0 6 1 pinnumber=6 T 200 3550 5 8 0 1 0 8 1 pinseq=8 T 350 3600 9 8 1 1 0 0 1 pinlabel=A2 T 350 3600 5 8 0 1 0 2 1 pintype=in } P 0 3900 300 3900 1 0 0 { T 200 3950 5 8 1 1 0 6 1 pinnumber=7 T 200 3850 5 8 0 1 0 8 1 pinseq=9 T 350 3900 9 8 1 1 0 0 1 pinlabel=A1 T 350 3900 5 8 0 1 0 2 1 pintype=in } P 0 4200 300 4200 1 0 0 { T 200 4250 5 8 1 1 0 6 1 pinnumber=8 T 200 4150 5 8 0 1 0 8 1 pinseq=10 T 350 4200 9 8 1 1 0 0 1 pinlabel=A0 T 350 4200 5 8 0 1 0 2 1 pintype=in } P 2300 4200 2600 4200 1 0 1 { T 2400 4250 5 8 1 1 0 0 1 pinnumber=9 T 2400 4150 5 8 0 1 0 2 1 pinseq=11 T 2250 4200 9 8 1 1 0 6 1 pinlabel=O0 T 2250 4200 5 8 0 1 0 8 1 pintype=tri } P 2300 3900 2600 3900 1 0 1 { T 2400 3950 5 8 1 1 0 0 1 pinnumber=10 T 2400 3850 5 8 0 1 0 2 1 pinseq=12 T 2250 3900 9 8 1 1 0 6 1 pinlabel=O1 T 2250 3900 5 8 0 1 0 8 1 pintype=tri } P 2300 3600 2600 3600 1 0 1 { T 2400 3650 5 8 1 1 0 0 1 pinnumber=11 T 2400 3550 5 8 0 1 0 2 1 pinseq=13 T 2250 3600 9 8 1 1 0 6 1 pinlabel=O2 T 2250 3600 5 8 0 1 0 8 1 pintype=tri } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=23 T 200 1750 5 8 0 1 0 8 1 pinseq=25 T 350 1800 9 8 1 1 0 0 1 pinlabel=A8 T 350 1800 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=22 T 200 1450 5 8 0 1 0 8 1 pinseq=24 T 350 1500 9 8 1 1 0 0 1 pinlabel=A9 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 900 300 900 1 0 0 { T 200 950 5 8 1 1 0 6 1 pinnumber=21 T 200 850 5 8 0 1 0 8 1 pinseq=23 T 350 900 9 8 1 1 0 0 1 pinlabel=A11 T 350 900 5 8 0 1 0 2 1 pintype=in } V 250 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 500 200 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=20 T 200 450 5 8 0 1 0 8 1 pinseq=22 T 350 500 9 8 1 1 0 0 1 pinlabel=\_G\_/VPP T 350 500 5 8 0 1 0 2 1 pintype=in } P 0 1200 300 1200 1 0 0 { T 200 1250 5 8 1 1 0 6 1 pinnumber=19 T 200 1150 5 8 0 1 0 8 1 pinseq=21 T 350 1200 9 8 1 1 0 0 1 pinlabel=A10 T 350 1200 5 8 0 1 0 2 1 pintype=in } V 250 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 200 200 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=18 T 200 150 5 8 0 1 0 8 1 pinseq=20 T 350 200 9 8 1 1 0 0 1 pinlabel=\_E\_ T 350 200 5 8 0 1 0 2 1 pintype=in } P 2300 2100 2600 2100 1 0 1 { T 2400 2150 5 8 1 1 0 0 1 pinnumber=17 T 2400 2050 5 8 0 1 0 2 1 pinseq=19 T 2250 2100 9 8 1 1 0 6 1 pinlabel=O7 T 2250 2100 5 8 0 1 0 8 1 pintype=tri } P 2300 2400 2600 2400 1 0 1 { T 2400 2450 5 8 1 1 0 0 1 pinnumber=16 T 2400 2350 5 8 0 1 0 2 1 pinseq=18 T 2250 2400 9 8 1 1 0 6 1 pinlabel=O6 T 2250 2400 5 8 0 1 0 8 1 pintype=tri } P 2300 2700 2600 2700 1 0 1 { T 2400 2750 5 8 1 1 0 0 1 pinnumber=15 T 2400 2650 5 8 0 1 0 2 1 pinseq=17 T 2250 2700 9 8 1 1 0 6 1 pinlabel=O5 T 2250 2700 5 8 0 1 0 8 1 pintype=tri } P 2300 3000 2600 3000 1 0 1 { T 2400 3050 5 8 1 1 0 0 1 pinnumber=14 T 2400 2950 5 8 0 1 0 2 1 pinseq=16 T 2250 3000 9 8 1 1 0 6 1 pinlabel=O4 T 2250 3000 5 8 0 1 0 8 1 pintype=tri } P 2300 3300 2600 3300 1 0 1 { T 2400 3350 5 8 1 1 0 0 1 pinnumber=13 T 2400 3250 5 8 0 1 0 2 1 pinseq=15 T 2250 3300 9 8 1 1 0 6 1 pinlabel=O3 T 2250 3300 5 8 0 1 0 8 1 pintype=tri } B 300 0 2000 4500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 6250 8 10 0 0 0 0 1 device=2732 T 2300 4600 8 10 1 1 0 6 1 refdes=U? T 300 6050 8 10 0 0 0 0 1 footprint=DIP24 T 300 5850 8 10 0 0 0 0 1 description=32K (4Kx8) CMOS EPROM T 300 5250 8 10 0 0 0 0 1 numslots=0 T 300 5050 8 10 0 0 0 0 1 author=Jens-Peter Kaps T 300 5650 8 10 0 0 0 0 1 net=Vcc:24 T 300 5450 8 10 0 0 0 0 1 net=GND:12 T 300 4550 9 10 1 0 0 0 1 2732 geda-gaf-1.8.2/symbols/memory/AT45db021bso8w-1.sym0000664000175000017500000000355612204104272016164 00000000000000v 20070626 1 T 300 2400 8 10 1 1 0 0 1 refdes=U? T 1200 2350 9 10 1 0 0 0 1 AT45DB021B T 300 2950 8 10 0 0 0 0 1 device=AT45DB021B T 300 3150 8 10 0 0 0 0 1 footprint=SO8W T 300 3350 8 10 0 0 0 0 1 author=bpaddock(at)csonline.net T 300 3550 8 10 0 0 0 0 1 documentation=http://www.atmel.com/ T 300 3750 8 10 0 0 0 0 1 description=2-Megabit DataFlash T 300 3950 8 10 0 0 0 0 1 numslots=0 P 1100 2600 1100 2300 1 0 0 { T 1050 2400 5 8 1 1 90 0 1 pinnumber=6 T 1150 2400 5 8 0 1 90 2 1 pinseq=6 T 1100 2250 9 8 1 1 90 6 1 pinlabel=VCC T 1100 2250 5 8 0 1 90 8 1 pintype=pwr } P 2000 1900 1700 1900 1 0 0 { T 1800 1950 5 8 1 1 0 0 1 pinnumber=4 T 1800 1850 5 8 0 1 0 2 1 pinseq=4 T 1650 1900 9 8 1 1 0 6 1 pinlabel=\_CS\_ T 1650 1900 5 8 0 1 0 8 1 pintype=in } P 2000 1500 1700 1500 1 0 0 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=8 T 1800 1450 5 8 0 1 0 2 1 pinseq=8 T 1650 1500 9 8 1 1 0 6 1 pinlabel=SO T 1650 1500 5 8 0 1 0 8 1 pintype=tri } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=3 T 200 650 5 8 0 1 0 8 1 pinseq=3 T 350 700 9 8 1 1 0 0 1 pinlabel=\_RESET\_ T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=2 T 200 1050 5 8 0 1 0 8 1 pinseq=2 T 350 1100 9 8 1 1 0 0 1 pinlabel=SCK T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=1 T 200 1450 5 8 0 1 0 8 1 pinseq=1 T 350 1500 9 8 1 1 0 0 1 pinlabel=SI T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=5 T 200 1850 5 8 0 1 0 8 1 pinseq=5 T 350 1900 9 8 1 1 0 0 1 pinlabel=\_WP\_ T 350 1900 5 8 0 1 0 2 1 pintype=in } P 1100 0 1100 300 1 0 0 { T 1050 200 5 8 1 1 90 6 1 pinnumber=7 T 1150 200 5 8 0 1 90 8 1 pinseq=7 T 1100 350 9 8 1 1 90 0 1 pinlabel=GND T 1100 350 5 8 0 1 90 2 1 pintype=pwr } B 300 300 1400 2000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4200 8 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/memory/62256-1.sym0000664000175000017500000001206312204104272014450 00000000000000v 20070626 1 P 0 1200 300 1200 1 0 0 { T 200 1250 5 8 1 1 0 6 1 pinnumber=1 T 200 1150 5 8 0 1 0 8 1 pinseq=1 T 350 1200 9 8 1 1 0 0 1 pinlabel=A14 T 350 1200 5 8 0 1 0 2 1 pintype=in } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=2 T 200 1750 5 8 0 1 0 8 1 pinseq=2 T 350 1800 9 8 1 1 0 0 1 pinlabel=A12 T 350 1800 5 8 0 1 0 2 1 pintype=in } P 0 3300 300 3300 1 0 0 { T 200 3350 5 8 1 1 0 6 1 pinnumber=3 T 200 3250 5 8 0 1 0 8 1 pinseq=3 T 350 3300 9 8 1 1 0 0 1 pinlabel=A7 T 350 3300 5 8 0 1 0 2 1 pintype=in } P 0 3600 300 3600 1 0 0 { T 200 3650 5 8 1 1 0 6 1 pinnumber=4 T 200 3550 5 8 0 1 0 8 1 pinseq=4 T 350 3600 9 8 1 1 0 0 1 pinlabel=A6 T 350 3600 5 8 0 1 0 2 1 pintype=in } P 0 3900 300 3900 1 0 0 { T 200 3950 5 8 1 1 0 6 1 pinnumber=5 T 200 3850 5 8 0 1 0 8 1 pinseq=5 T 350 3900 9 8 1 1 0 0 1 pinlabel=A5 T 350 3900 5 8 0 1 0 2 1 pintype=in } P 0 4200 300 4200 1 0 0 { T 200 4250 5 8 1 1 0 6 1 pinnumber=6 T 200 4150 5 8 0 1 0 8 1 pinseq=6 T 350 4200 9 8 1 1 0 0 1 pinlabel=A4 T 350 4200 5 8 0 1 0 2 1 pintype=in } P 0 4500 300 4500 1 0 0 { T 200 4550 5 8 1 1 0 6 1 pinnumber=7 T 200 4450 5 8 0 1 0 8 1 pinseq=7 T 350 4500 9 8 1 1 0 0 1 pinlabel=A3 T 350 4500 5 8 0 1 0 2 1 pintype=in } P 0 4800 300 4800 1 0 0 { T 200 4850 5 8 1 1 0 6 1 pinnumber=8 T 200 4750 5 8 0 1 0 8 1 pinseq=8 T 350 4800 9 8 1 1 0 0 1 pinlabel=A2 T 350 4800 5 8 0 1 0 2 1 pintype=in } P 0 5100 300 5100 1 0 0 { T 200 5150 5 8 1 1 0 6 1 pinnumber=9 T 200 5050 5 8 0 1 0 8 1 pinseq=9 T 350 5100 9 8 1 1 0 0 1 pinlabel=A1 T 350 5100 5 8 0 1 0 2 1 pintype=in } P 0 5400 300 5400 1 0 0 { T 200 5450 5 8 1 1 0 6 1 pinnumber=10 T 200 5350 5 8 0 1 0 8 1 pinseq=10 T 350 5400 9 8 1 1 0 0 1 pinlabel=A0 T 350 5400 5 8 0 1 0 2 1 pintype=in } P 2300 5400 2600 5400 1 0 1 { T 2400 5450 5 8 1 1 0 0 1 pinnumber=11 T 2400 5350 5 8 0 1 0 2 1 pinseq=11 T 2250 5400 9 8 1 1 0 6 1 pinlabel=D0 T 2250 5400 5 8 0 1 0 8 1 pintype=io } P 2300 5100 2600 5100 1 0 1 { T 2400 5150 5 8 1 1 0 0 1 pinnumber=12 T 2400 5050 5 8 0 1 0 2 1 pinseq=12 T 2250 5100 9 8 1 1 0 6 1 pinlabel=D1 T 2250 5100 5 8 0 1 0 8 1 pintype=io } P 2300 4800 2600 4800 1 0 1 { T 2400 4850 5 8 1 1 0 0 1 pinnumber=13 T 2400 4750 5 8 0 1 0 2 1 pinseq=13 T 2250 4800 9 8 1 1 0 6 1 pinlabel=D2 T 2250 4800 5 8 0 1 0 8 1 pintype=io } P 0 800 200 800 1 0 0 { T 200 850 5 8 1 1 0 6 1 pinnumber=27 T 200 750 5 8 0 1 0 8 1 pinseq=27 T 350 800 9 8 1 1 0 0 1 pinlabel=\_WE\_ T 350 800 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=26 T 200 1450 5 8 0 1 0 8 1 pinseq=26 T 350 1500 9 8 1 1 0 0 1 pinlabel=A13 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=25 T 200 2950 5 8 0 1 0 8 1 pinseq=25 T 350 3000 9 8 1 1 0 0 1 pinlabel=A8 T 350 3000 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=24 T 200 2650 5 8 0 1 0 8 1 pinseq=24 T 350 2700 9 8 1 1 0 0 1 pinlabel=A9 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 2100 300 2100 1 0 0 { T 200 2150 5 8 1 1 0 6 1 pinnumber=23 T 200 2050 5 8 0 1 0 8 1 pinseq=23 T 350 2100 9 8 1 1 0 0 1 pinlabel=A11 T 350 2100 5 8 0 1 0 2 1 pintype=in } V 250 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 500 200 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=22 T 200 450 5 8 0 1 0 8 1 pinseq=22 T 350 500 9 8 1 1 0 0 1 pinlabel=\_OE\_ T 350 500 5 8 0 1 0 2 1 pintype=in } P 0 2400 300 2400 1 0 0 { T 200 2450 5 8 1 1 0 6 1 pinnumber=21 T 200 2350 5 8 0 1 0 8 1 pinseq=21 T 350 2400 9 8 1 1 0 0 1 pinlabel=A10 T 350 2400 5 8 0 1 0 2 1 pintype=in } V 250 210 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 200 200 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=20 T 200 150 5 8 0 1 0 8 1 pinseq=20 T 350 200 9 8 1 1 0 0 1 pinlabel=\_CS\_ T 350 200 5 8 0 1 0 2 1 pintype=in } P 2300 3300 2600 3300 1 0 1 { T 2400 3350 5 8 1 1 0 0 1 pinnumber=19 T 2400 3250 5 8 0 1 0 2 1 pinseq=19 T 2250 3300 9 8 1 1 0 6 1 pinlabel=D7 T 2250 3300 5 8 0 1 0 8 1 pintype=io } P 2300 3600 2600 3600 1 0 1 { T 2400 3650 5 8 1 1 0 0 1 pinnumber=18 T 2400 3550 5 8 0 1 0 2 1 pinseq=18 T 2250 3600 9 8 1 1 0 6 1 pinlabel=D6 T 2250 3600 5 8 0 1 0 8 1 pintype=io } P 2300 3900 2600 3900 1 0 1 { T 2400 3950 5 8 1 1 0 0 1 pinnumber=17 T 2400 3850 5 8 0 1 0 2 1 pinseq=17 T 2250 3900 9 8 1 1 0 6 1 pinlabel=D5 T 2250 3900 5 8 0 1 0 8 1 pintype=io } P 2300 4200 2600 4200 1 0 1 { T 2400 4250 5 8 1 1 0 0 1 pinnumber=16 T 2400 4150 5 8 0 1 0 2 1 pinseq=16 T 2250 4200 9 8 1 1 0 6 1 pinlabel=D4 T 2250 4200 5 8 0 1 0 8 1 pintype=io } P 2300 4500 2600 4500 1 0 1 { T 2400 4550 5 8 1 1 0 0 1 pinnumber=15 T 2400 4450 5 8 0 1 0 2 1 pinseq=15 T 2250 4500 9 8 1 1 0 6 1 pinlabel=D3 T 2250 4500 5 8 0 1 0 8 1 pintype=io } B 300 0 2000 5700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 5950 5 10 0 0 0 0 1 device=62256 T 2300 5800 8 10 1 1 0 6 1 refdes=U? T 300 6350 5 10 0 0 0 0 1 footprint=DIP28 T 300 6950 5 10 0 0 0 0 1 description=32K-word x 8-bit high speed cmos static ram T 300 6150 5 10 0 0 0 0 1 numslots=0 T 300 7150 5 10 0 0 0 0 1 author=Werner Hoch T 300 6550 5 10 0 0 0 0 1 net=Vcc:28 T 300 6750 5 10 0 0 0 0 1 net=GND:14 T 300 5750 9 10 1 0 0 0 1 62256 V 250 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/memory/N82S23N-1.sym0000664000175000017500000000561712204104272014750 00000000000000v 20081221 2 P 2300 2900 2600 2900 1 0 1 { T 2400 2950 5 8 1 1 0 0 1 pinnumber=9 T 2400 2850 5 8 0 1 0 2 1 pinseq=9 T 2250 2900 9 8 1 1 0 6 1 pinlabel=Q7 T 2250 2900 5 8 0 1 0 8 1 pintype=oc } P 2300 2500 2600 2500 1 0 1 { T 2400 2550 5 8 1 1 0 0 1 pinnumber=7 T 2400 2450 5 8 0 1 0 2 1 pinseq=7 T 2250 2500 9 8 1 1 0 6 1 pinlabel=Q6 T 2250 2500 5 8 0 1 0 8 1 pintype=oc } P 2300 2100 2600 2100 1 0 1 { T 2400 2150 5 8 1 1 0 0 1 pinnumber=6 T 2400 2050 5 8 0 1 0 2 1 pinseq=6 T 2250 2100 9 8 1 1 0 6 1 pinlabel=Q5 T 2250 2100 5 8 0 1 0 8 1 pintype=oc } P 2300 1700 2600 1700 1 0 1 { T 2400 1750 5 8 1 1 0 0 1 pinnumber=5 T 2400 1650 5 8 0 1 0 2 1 pinseq=5 T 2250 1700 9 8 1 1 0 6 1 pinlabel=Q4 T 2250 1700 5 8 0 1 0 8 1 pintype=oc } P 2300 1300 2600 1300 1 0 1 { T 2400 1350 5 8 1 1 0 0 1 pinnumber=4 T 2400 1250 5 8 0 1 0 2 1 pinseq=4 T 2250 1300 9 8 1 1 0 6 1 pinlabel=Q3 T 2250 1300 5 8 0 1 0 8 1 pintype=oc } P 2300 900 2600 900 1 0 1 { T 2400 950 5 8 1 1 0 0 1 pinnumber=3 T 2400 850 5 8 0 1 0 2 1 pinseq=3 T 2250 900 9 8 1 1 0 6 1 pinlabel=Q2 T 2250 900 5 8 0 1 0 8 1 pintype=oc } P 2300 100 2600 100 1 0 1 { T 2400 150 5 8 1 1 0 0 1 pinnumber=1 T 2400 50 5 8 0 1 0 2 1 pinseq=1 T 2250 100 9 8 1 1 0 6 1 pinlabel=Q0 T 2250 100 5 8 0 1 0 8 1 pintype=oc } P 2300 500 2600 500 1 0 1 { T 2400 550 5 8 1 1 0 0 1 pinnumber=2 T 2400 450 5 8 0 1 0 2 1 pinseq=2 T 2250 500 9 8 1 1 0 6 1 pinlabel=Q1 T 2250 500 5 8 0 1 0 8 1 pintype=oc } B 300 0 2000 3200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2900 300 2900 1 0 0 { T 200 2950 5 8 1 1 0 6 1 pinnumber=14 T 200 2850 5 8 0 1 0 8 1 pinseq=14 T 350 2900 9 8 1 1 0 0 1 pinlabel=A4 T 350 2900 5 8 0 1 0 2 1 pintype=in } P 0 2500 300 2500 1 0 0 { T 200 2550 5 8 1 1 0 6 1 pinnumber=13 T 200 2450 5 8 0 1 0 8 1 pinseq=13 T 350 2500 9 8 1 1 0 0 1 pinlabel=A3 T 350 2500 5 8 0 1 0 2 1 pintype=in } P 0 2100 300 2100 1 0 0 { T 200 2150 5 8 1 1 0 6 1 pinnumber=12 T 200 2050 5 8 0 1 0 8 1 pinseq=12 T 350 2100 9 8 1 1 0 0 1 pinlabel=A2 T 350 2100 5 8 0 1 0 2 1 pintype=in } P 0 1700 300 1700 1 0 0 { T 200 1750 5 8 1 1 0 6 1 pinnumber=11 T 200 1650 5 8 0 1 0 8 1 pinseq=11 T 350 1700 9 8 1 1 0 0 1 pinlabel=A1 T 350 1700 5 8 0 1 0 2 1 pintype=in } P 0 1300 300 1300 1 0 0 { T 200 1350 5 8 1 1 0 6 1 pinnumber=10 T 200 1250 5 8 0 1 0 8 1 pinseq=10 T 350 1300 9 8 1 1 0 0 1 pinlabel=A0 T 350 1300 5 8 0 1 0 2 1 pintype=in } V 250 100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 100 0 100 1 0 1 { T 200 150 5 8 1 1 0 6 1 pinnumber=15 T 200 50 5 8 0 1 0 8 1 pinseq=15 T 350 100 9 8 1 1 0 0 1 pinlabel=\_G\_ T 350 100 5 8 0 1 0 2 1 pintype=in } T 300 3450 5 10 0 0 0 0 1 device=N82S23N T 2300 3300 8 10 1 1 0 6 1 refdes=U? T 300 3850 5 10 0 0 0 0 1 footprint=DIP16 T 300 4450 5 10 0 0 0 0 1 description=256-bit TTL bipolar prom T 300 3650 5 10 0 0 0 0 1 numslots=0 T 300 4650 5 10 0 0 0 0 1 author=Werner Hoch T 300 4050 5 10 0 0 0 0 1 net=Vcc:16 T 300 4250 5 10 0 0 0 0 1 net=GND:8 T 300 3250 9 10 1 0 0 0 1 N82S23N geda-gaf-1.8.2/symbols/memory/4164-1.sym0000664000175000017500000000567612204104272014376 00000000000000v 20080127 1 V 250 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 200 200 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=15 T 200 150 5 8 0 1 0 8 1 pinseq=15 T 350 200 9 8 1 1 0 0 1 pinlabel=\_CAS\_ T 350 200 5 8 0 1 0 2 1 pintype=in } V 250 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 500 200 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=4 T 200 450 5 8 0 1 0 8 1 pinseq=4 T 350 500 9 8 1 1 0 0 1 pinlabel=\_RAS\_ T 350 500 5 8 0 1 0 2 1 pintype=in } V 250 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 800 200 800 1 0 0 { T 200 850 5 8 1 1 0 6 1 pinnumber=3 T 200 750 5 8 0 1 0 8 1 pinseq=3 T 350 800 9 8 1 1 0 0 1 pinlabel=\_WE\_ T 350 800 5 8 0 1 0 2 1 pintype=in } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=2 T 200 1350 5 8 0 1 0 8 1 pinseq=2 T 350 1400 9 8 1 1 0 0 1 pinlabel=Din T 350 1400 5 8 0 1 0 2 1 pintype=in } P 0 2000 300 2000 1 0 0 { T 200 2050 5 8 1 1 0 6 1 pinnumber=9 T 200 1950 5 8 0 1 0 8 1 pinseq=9 T 350 2000 9 8 1 1 0 0 1 pinlabel=A7 T 350 2000 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=13 T 200 2250 5 8 0 1 0 8 1 pinseq=13 T 350 2300 9 8 1 1 0 0 1 pinlabel=A6 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=10 T 200 2550 5 8 0 1 0 8 1 pinseq=10 T 350 2600 9 8 1 1 0 0 1 pinlabel=A5 T 350 2600 5 8 0 1 0 2 1 pintype=in } P 0 2900 300 2900 1 0 0 { T 200 2950 5 8 1 1 0 6 1 pinnumber=11 T 200 2850 5 8 0 1 0 8 1 pinseq=11 T 350 2900 9 8 1 1 0 0 1 pinlabel=A4 T 350 2900 5 8 0 1 0 2 1 pintype=in } P 0 3200 300 3200 1 0 0 { T 200 3250 5 8 1 1 0 6 1 pinnumber=12 T 200 3150 5 8 0 1 0 8 1 pinseq=12 T 350 3200 9 8 1 1 0 0 1 pinlabel=A3 T 350 3200 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=6 T 200 3450 5 8 0 1 0 8 1 pinseq=6 T 350 3500 9 8 1 1 0 0 1 pinlabel=A2 T 350 3500 5 8 0 1 0 2 1 pintype=in } P 0 3800 300 3800 1 0 0 { T 200 3850 5 8 1 1 0 6 1 pinnumber=7 T 200 3750 5 8 0 1 0 8 1 pinseq=7 T 350 3800 9 8 1 1 0 0 1 pinlabel=A1 T 350 3800 5 8 0 1 0 2 1 pintype=in } P 0 4100 300 4100 1 0 0 { T 200 4150 5 8 1 1 0 6 1 pinnumber=5 T 200 4050 5 8 0 1 0 8 1 pinseq=5 T 350 4100 9 8 1 1 0 0 1 pinlabel=A0 T 350 4100 5 8 0 1 0 2 1 pintype=in } B 300 0 2000 4400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4650 5 10 0 0 0 0 1 device=4164 T 2300 4500 8 10 1 1 0 6 1 refdes=U? P 2300 1400 2600 1400 1 0 1 { T 2400 1450 5 8 1 1 0 0 1 pinnumber=14 T 2400 1350 5 8 0 1 0 2 1 pinseq=14 T 2250 1400 9 8 1 1 0 6 1 pinlabel=Dout T 2250 1400 5 8 0 1 0 8 1 pintype=tri } T 300 5050 5 10 0 0 0 0 1 footprint=DIP16 T 300 5850 5 10 0 0 0 0 1 description=NMOS, 64k dynamic ram (dram), 150ns T 300 4850 5 10 0 0 0 0 1 numslots=0 T 300 5650 5 10 0 0 0 0 1 author=Werner Hoch T 300 5250 5 10 0 0 0 0 1 net=Vcc:8 T 300 5450 5 10 0 0 0 0 1 net=GND:16 T 300 4450 3 10 1 0 0 0 1 4164 T 300 6050 5 10 0 0 0 0 1 documentation=http://www.alldatasheet.com/datasheet-pdf/pdf/167176/PANASONIC/MN4164-15.html T 300 6250 5 10 0 0 0 0 1 symversion=0.1 geda-gaf-1.8.2/symbols/memory/62256-2.sym0000664000175000017500000001254012204104272014451 00000000000000v 20070626 1 P 0 1300 300 1300 1 0 0 { T 200 1350 5 8 1 1 0 6 1 pinnumber=1 T 200 1250 5 8 0 1 0 8 1 pinseq=1 T 350 1300 9 8 1 1 0 0 1 pinlabel=A14 T 350 1300 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=2 T 200 1850 5 8 0 1 0 8 1 pinseq=2 T 350 1900 9 8 1 1 0 0 1 pinlabel=A12 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 3400 300 3400 1 0 0 { T 200 3450 5 8 1 1 0 6 1 pinnumber=3 T 200 3350 5 8 0 1 0 8 1 pinseq=3 T 350 3400 9 8 1 1 0 0 1 pinlabel=A7 T 350 3400 5 8 0 1 0 2 1 pintype=in } P 0 3700 300 3700 1 0 0 { T 200 3750 5 8 1 1 0 6 1 pinnumber=4 T 200 3650 5 8 0 1 0 8 1 pinseq=4 T 350 3700 9 8 1 1 0 0 1 pinlabel=A6 T 350 3700 5 8 0 1 0 2 1 pintype=in } P 0 4000 300 4000 1 0 0 { T 200 4050 5 8 1 1 0 6 1 pinnumber=5 T 200 3950 5 8 0 1 0 8 1 pinseq=5 T 350 4000 9 8 1 1 0 0 1 pinlabel=A5 T 350 4000 5 8 0 1 0 2 1 pintype=in } P 0 4300 300 4300 1 0 0 { T 200 4350 5 8 1 1 0 6 1 pinnumber=6 T 200 4250 5 8 0 1 0 8 1 pinseq=6 T 350 4300 9 8 1 1 0 0 1 pinlabel=A4 T 350 4300 5 8 0 1 0 2 1 pintype=in } P 0 4600 300 4600 1 0 0 { T 200 4650 5 8 1 1 0 6 1 pinnumber=7 T 200 4550 5 8 0 1 0 8 1 pinseq=7 T 350 4600 9 8 1 1 0 0 1 pinlabel=A3 T 350 4600 5 8 0 1 0 2 1 pintype=in } P 0 4900 300 4900 1 0 0 { T 200 4950 5 8 1 1 0 6 1 pinnumber=8 T 200 4850 5 8 0 1 0 8 1 pinseq=8 T 350 4900 9 8 1 1 0 0 1 pinlabel=A2 T 350 4900 5 8 0 1 0 2 1 pintype=in } P 0 5200 300 5200 1 0 0 { T 200 5250 5 8 1 1 0 6 1 pinnumber=9 T 200 5150 5 8 0 1 0 8 1 pinseq=9 T 350 5200 9 8 1 1 0 0 1 pinlabel=A1 T 350 5200 5 8 0 1 0 2 1 pintype=in } P 0 5500 300 5500 1 0 0 { T 200 5550 5 8 1 1 0 6 1 pinnumber=10 T 200 5450 5 8 0 1 0 8 1 pinseq=10 T 350 5500 9 8 1 1 0 0 1 pinlabel=A0 T 350 5500 5 8 0 1 0 2 1 pintype=in } P 2300 5500 2600 5500 1 0 1 { T 2400 5550 5 8 1 1 0 0 1 pinnumber=11 T 2400 5450 5 8 0 1 0 2 1 pinseq=11 T 2250 5500 9 8 1 1 0 6 1 pinlabel=D0 T 2250 5500 5 8 0 1 0 8 1 pintype=io } P 2300 5200 2600 5200 1 0 1 { T 2400 5250 5 8 1 1 0 0 1 pinnumber=12 T 2400 5150 5 8 0 1 0 2 1 pinseq=12 T 2250 5200 9 8 1 1 0 6 1 pinlabel=D1 T 2250 5200 5 8 0 1 0 8 1 pintype=io } P 2300 4900 2600 4900 1 0 1 { T 2400 4950 5 8 1 1 0 0 1 pinnumber=13 T 2400 4850 5 8 0 1 0 2 1 pinseq=13 T 2250 4900 9 8 1 1 0 6 1 pinlabel=D2 T 2250 4900 5 8 0 1 0 8 1 pintype=io } P 0 1600 300 1600 1 0 0 { T 200 1650 5 8 1 1 0 6 1 pinnumber=26 T 200 1550 5 8 0 1 0 8 1 pinseq=26 T 350 1600 9 8 1 1 0 0 1 pinlabel=A13 T 350 1600 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=25 T 200 3050 5 8 0 1 0 8 1 pinseq=25 T 350 3100 9 8 1 1 0 0 1 pinlabel=A8 T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 2800 300 2800 1 0 0 { T 200 2850 5 8 1 1 0 6 1 pinnumber=24 T 200 2750 5 8 0 1 0 8 1 pinseq=24 T 350 2800 9 8 1 1 0 0 1 pinlabel=A9 T 350 2800 5 8 0 1 0 2 1 pintype=in } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=23 T 200 2150 5 8 0 1 0 8 1 pinseq=23 T 350 2200 9 8 1 1 0 0 1 pinlabel=A11 T 350 2200 5 8 0 1 0 2 1 pintype=in } V 800 350 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 800 100 800 300 1 0 0 { T 850 200 5 8 1 1 0 0 1 pinnumber=22 T 850 200 5 8 0 1 0 2 1 pinseq=22 T 800 450 9 8 1 1 0 3 1 pinlabel=\_OE\_ T 800 550 5 8 0 1 0 3 1 pintype=in } P 0 2500 300 2500 1 0 0 { T 200 2550 5 8 1 1 0 6 1 pinnumber=21 T 200 2450 5 8 0 1 0 8 1 pinseq=21 T 350 2500 9 8 1 1 0 0 1 pinlabel=A10 T 350 2500 5 8 0 1 0 2 1 pintype=in } V 1790 350 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1800 100 1800 300 1 0 0 { T 1850 200 5 8 1 1 0 0 1 pinnumber=20 T 1850 200 5 8 0 1 0 2 1 pinseq=20 T 1800 450 9 8 1 1 0 3 1 pinlabel=\_CS\_ T 1800 550 5 8 0 1 0 3 1 pintype=in } P 2300 3400 2600 3400 1 0 1 { T 2400 3450 5 8 1 1 0 0 1 pinnumber=19 T 2400 3350 5 8 0 1 0 2 1 pinseq=19 T 2250 3400 9 8 1 1 0 6 1 pinlabel=D7 T 2250 3400 5 8 0 1 0 8 1 pintype=io } P 2300 3700 2600 3700 1 0 1 { T 2400 3750 5 8 1 1 0 0 1 pinnumber=18 T 2400 3650 5 8 0 1 0 2 1 pinseq=18 T 2250 3700 9 8 1 1 0 6 1 pinlabel=D6 T 2250 3700 5 8 0 1 0 8 1 pintype=io } P 2300 4000 2600 4000 1 0 1 { T 2400 4050 5 8 1 1 0 0 1 pinnumber=17 T 2400 3950 5 8 0 1 0 2 1 pinseq=17 T 2250 4000 9 8 1 1 0 6 1 pinlabel=D5 T 2250 4000 5 8 0 1 0 8 1 pintype=io } P 2300 4300 2600 4300 1 0 1 { T 2400 4350 5 8 1 1 0 0 1 pinnumber=16 T 2400 4250 5 8 0 1 0 2 1 pinseq=16 T 2250 4300 9 8 1 1 0 6 1 pinlabel=D4 T 2250 4300 5 8 0 1 0 8 1 pintype=io } P 2300 4600 2600 4600 1 0 1 { T 2400 4650 5 8 1 1 0 0 1 pinnumber=15 T 2400 4550 5 8 0 1 0 2 1 pinseq=15 T 2250 4600 9 8 1 1 0 6 1 pinlabel=D3 T 2250 4600 5 8 0 1 0 8 1 pintype=io } B 300 400 2000 5400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 6050 5 10 0 0 0 0 1 device=62256 T 2300 5900 8 10 1 1 0 6 1 refdes=U? P 1300 5800 1300 6100 1 0 1 { T 1350 5900 5 8 1 1 0 0 1 pinnumber=28 T 1350 5900 5 8 0 1 0 2 1 pinseq=28 T 1300 5750 9 8 1 1 0 5 1 pinlabel=Vcc T 1300 5650 5 8 0 1 0 5 1 pintype=pwr } V 250 600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 600 200 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=27 T 200 550 5 8 0 1 0 8 1 pinseq=27 T 350 600 9 8 1 1 0 0 1 pinlabel=\_WE\_ T 350 600 5 8 0 1 0 2 1 pintype=in } P 1300 100 1300 400 1 0 0 { T 1350 200 5 8 1 1 0 0 1 pinnumber=14 T 1350 200 5 8 0 1 0 2 1 pinseq=14 T 1300 450 9 8 1 1 0 3 1 pinlabel=GND T 1300 550 5 8 0 1 0 3 1 pintype=pwr } T 300 6450 5 10 0 0 0 0 1 footprint=DIP28 T 300 6650 5 10 0 0 0 0 1 description=32K-word x 8-bit high speed cmos static ram T 300 6250 5 10 0 0 0 0 1 numslots=0 T 300 6850 5 10 0 0 0 0 1 author=Werner Hoch T 300 5850 9 10 1 0 0 0 1 62256 geda-gaf-1.8.2/symbols/memory/93Cx6-1.sym0000664000175000017500000000267012204104272014603 00000000000000v 20031231 1 P 0 100 300 100 1 0 0 { T 200 150 5 8 1 1 0 6 1 pinnumber=4 T 200 50 5 8 0 1 0 8 1 pinseq=4 T 350 100 9 8 1 1 0 0 1 pinlabel=DO T 350 100 5 8 0 1 0 2 1 pintype=tri } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=1 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 1 1 0 0 1 pinlabel=CS T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 300 300 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=3 T 200 250 5 8 0 1 0 8 1 pinseq=3 T 350 300 9 8 1 1 0 0 1 pinlabel=DI T 350 300 5 8 0 1 0 2 1 pintype=in } P 1000 300 1300 300 1 0 1 { T 1100 350 5 8 1 1 0 0 1 pinnumber=6 T 1100 250 5 8 0 1 0 2 1 pinseq=6 T 950 300 9 8 1 1 0 6 1 pinlabel=n/c T 950 300 5 8 0 1 0 8 1 pintype=pas } T 300 1150 5 10 0 0 0 0 1 device=93Cx6 P 0 500 300 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=2 T 200 450 5 8 0 1 0 8 1 pinseq=2 T 350 500 9 8 1 1 0 0 1 pinlabel=SK T 350 500 5 8 0 1 0 2 1 pintype=in } P 1000 500 1300 500 1 0 1 { T 1100 550 5 8 1 1 0 0 1 pinnumber=7 T 1100 450 5 8 0 1 0 2 1 pinseq=7 T 950 500 9 8 1 1 0 6 1 pinlabel=n/c T 950 500 5 8 0 1 0 8 1 pintype=pas } B 300 0 700 900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1000 1000 8 10 1 1 0 0 1 refdes=U? T 300 1350 5 10 0 0 0 0 1 net=VCC:8 T 300 1550 5 10 0 0 0 0 1 net=GND:5 T 300 1950 5 10 0 0 0 0 1 footprint=DIP8 T 300 2350 5 10 0 0 0 0 1 description=256 Bit/1k 5V cmos serial eeprom T 300 1750 5 10 0 0 0 0 1 numslots=0 T 300 2150 5 10 0 0 0 0 1 author=Werner Hoch T 300 950 9 8 1 0 0 0 1 93Cx6 geda-gaf-1.8.2/symbols/memory/am27S13D-1.sym0000664000175000017500000000564612204104272015136 00000000000000v 20060906 1 P 2300 2500 2600 2500 1 0 1 { T 2400 2550 5 8 1 1 0 0 1 pinnumber=9 T 2400 2450 5 8 0 1 0 2 1 pinseq=9 T 2250 2500 9 8 1 1 0 6 1 pinlabel=Q3 T 2250 2500 5 8 0 1 0 8 1 pintype=tri } P 2300 2100 2600 2100 1 0 1 { T 2400 2150 5 8 1 1 0 0 1 pinnumber=10 T 2400 2050 5 8 0 1 0 2 1 pinseq=10 T 2250 2100 9 8 1 1 0 6 1 pinlabel=Q2 T 2250 2100 5 8 0 1 0 8 1 pintype=tri } P 2300 1700 2600 1700 1 0 1 { T 2400 1750 5 8 1 1 0 0 1 pinnumber=11 T 2400 1650 5 8 0 1 0 2 1 pinseq=11 T 2250 1700 9 8 1 1 0 6 1 pinlabel=Q1 T 2250 1700 5 8 0 1 0 8 1 pintype=tri } P 2300 1300 2600 1300 1 0 1 { T 2400 1350 5 8 1 1 0 0 1 pinnumber=12 T 2400 1250 5 8 0 1 0 2 1 pinseq=12 T 2250 1300 9 8 1 1 0 6 1 pinlabel=Q0 T 2250 1300 5 8 0 1 0 8 1 pintype=tri } P 0 500 300 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=5 T 200 450 5 8 0 1 0 8 1 pinseq=5 T 350 500 9 8 1 1 0 0 1 pinlabel=A0 T 350 500 5 8 0 1 0 2 1 pintype=in } P 0 900 300 900 1 0 0 { T 200 950 5 8 1 1 0 6 1 pinnumber=6 T 200 850 5 8 0 1 0 8 1 pinseq=6 T 350 900 9 8 1 1 0 0 1 pinlabel=A1 T 350 900 5 8 0 1 0 2 1 pintype=in } P 0 2900 300 2900 1 0 0 { T 200 2950 5 8 1 1 0 6 1 pinnumber=1 T 200 2850 5 8 0 1 0 8 1 pinseq=1 T 350 2900 9 8 1 1 0 0 1 pinlabel=A6 T 350 2900 5 8 0 1 0 2 1 pintype=in } P 0 2500 300 2500 1 0 0 { T 200 2550 5 8 1 1 0 6 1 pinnumber=2 T 200 2450 5 8 0 1 0 8 1 pinseq=2 T 350 2500 9 8 1 1 0 0 1 pinlabel=A5 T 350 2500 5 8 0 1 0 2 1 pintype=in } P 0 2100 300 2100 1 0 0 { T 200 2150 5 8 1 1 0 6 1 pinnumber=3 T 200 2050 5 8 0 1 0 8 1 pinseq=3 T 350 2100 9 8 1 1 0 0 1 pinlabel=A4 T 350 2100 5 8 0 1 0 2 1 pintype=in } P 0 1700 300 1700 1 0 0 { T 200 1750 5 8 1 1 0 6 1 pinnumber=4 T 200 1650 5 8 0 1 0 8 1 pinseq=4 T 350 1700 9 8 1 1 0 0 1 pinlabel=A3 T 350 1700 5 8 0 1 0 2 1 pintype=in } P 0 1300 300 1300 1 0 0 { T 200 1350 5 8 1 1 0 6 1 pinnumber=7 T 200 1250 5 8 0 1 0 8 1 pinseq=7 T 350 1300 9 8 1 1 0 0 1 pinlabel=A2 T 350 1300 5 8 0 1 0 2 1 pintype=in } V 250 100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3700 300 3700 1 0 0 { T 200 3750 5 8 1 1 0 6 1 pinnumber=14 T 200 3650 5 8 0 1 0 8 1 pinseq=14 T 350 3700 9 8 1 1 0 0 1 pinlabel=A8 T 350 3700 5 8 0 1 0 2 1 pintype=in } B 300 0 2000 4000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4250 5 10 0 0 0 0 1 device=AM27S13D T 2300 4100 8 10 1 1 0 6 1 refdes=U? T 300 4650 5 10 0 0 0 0 1 footprint=DIP16 T 300 5250 5 10 0 0 0 0 1 description=2048-Bit (512x4) bipolar prom T 300 4450 5 10 0 0 0 0 1 numslots=0 T 300 5450 5 10 0 0 0 0 1 author=Werner Hoch T 300 4850 5 10 0 0 0 0 1 net=Vcc:16 T 300 5050 5 10 0 0 0 0 1 net=GND:8 T 300 4050 9 10 1 0 0 0 1 AM27S13D P 0 100 200 100 1 0 0 { T 200 150 5 8 1 1 0 6 1 pinnumber=13 T 200 50 5 8 0 1 0 8 1 pinseq=13 T 350 100 9 8 1 1 0 0 1 pinlabel=G T 350 100 5 8 0 1 0 2 1 pintype=in } P 0 3300 300 3300 1 0 0 { T 200 3350 5 8 1 1 0 6 1 pinnumber=15 T 200 3250 5 8 0 1 0 8 1 pinseq=15 T 350 3300 9 8 1 1 0 0 1 pinlabel=A7 T 350 3300 5 8 0 1 0 2 1 pintype=in } T 300 5650 5 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/memory/HM6264P15-1.sym0000664000175000017500000001260412204104272015101 00000000000000v 20070626 1 P 300 100 0 100 1 0 1 { T 200 150 5 8 1 1 0 6 1 pinnumber=14 T 200 50 5 8 0 1 0 8 1 pinseq=14 T 350 100 9 8 1 1 0 0 1 pinlabel=GND T 350 100 5 8 0 1 0 2 1 pintype=pwr } P 300 500 0 500 1 0 1 { T 200 550 5 8 1 1 0 6 1 pinnumber=13 T 200 450 5 8 0 1 0 8 1 pinseq=13 T 350 500 9 8 1 1 0 0 1 pinlabel=I/O3 T 350 500 5 8 0 1 0 2 1 pintype=io } P 300 900 0 900 1 0 1 { T 200 950 5 8 1 1 0 6 1 pinnumber=12 T 200 850 5 8 0 1 0 8 1 pinseq=12 T 350 900 9 8 1 1 0 0 1 pinlabel=I/O2 T 350 900 5 8 0 1 0 2 1 pintype=io } P 300 1300 0 1300 1 0 1 { T 200 1350 5 8 1 1 0 6 1 pinnumber=11 T 200 1250 5 8 0 1 0 8 1 pinseq=11 T 350 1300 9 8 1 1 0 0 1 pinlabel=I/O1 T 350 1300 5 8 0 1 0 2 1 pintype=io } P 300 1700 0 1700 1 0 1 { T 200 1750 5 8 1 1 0 6 1 pinnumber=10 T 200 1650 5 8 0 1 0 8 1 pinseq=10 T 350 1700 9 8 1 1 0 0 1 pinlabel=A0 T 350 1700 5 8 0 1 0 2 1 pintype=in } P 300 2100 0 2100 1 0 1 { T 200 2150 5 8 1 1 0 6 1 pinnumber=9 T 200 2050 5 8 0 1 0 8 1 pinseq=9 T 350 2100 9 8 1 1 0 0 1 pinlabel=A1 T 350 2100 5 8 0 1 0 2 1 pintype=in } P 300 2500 0 2500 1 0 1 { T 200 2550 5 8 1 1 0 6 1 pinnumber=8 T 200 2450 5 8 0 1 0 8 1 pinseq=8 T 350 2500 9 8 1 1 0 0 1 pinlabel=A2 T 350 2500 5 8 0 1 0 2 1 pintype=in } P 300 2900 0 2900 1 0 1 { T 200 2950 5 8 1 1 0 6 1 pinnumber=7 T 200 2850 5 8 0 1 0 8 1 pinseq=7 T 350 2900 9 8 1 1 0 0 1 pinlabel=A3 T 350 2900 5 8 0 1 0 2 1 pintype=in } P 300 3300 0 3300 1 0 1 { T 200 3350 5 8 1 1 0 6 1 pinnumber=6 T 200 3250 5 8 0 1 0 8 1 pinseq=6 T 350 3300 9 8 1 1 0 0 1 pinlabel=A4 T 350 3300 5 8 0 1 0 2 1 pintype=in } P 300 3700 0 3700 1 0 1 { T 200 3750 5 8 1 1 0 6 1 pinnumber=5 T 200 3650 5 8 0 1 0 8 1 pinseq=5 T 350 3700 9 8 1 1 0 0 1 pinlabel=A5 T 350 3700 5 8 0 1 0 2 1 pintype=in } P 300 4100 0 4100 1 0 1 { T 200 4150 5 8 1 1 0 6 1 pinnumber=4 T 200 4050 5 8 0 1 0 8 1 pinseq=4 T 350 4100 9 8 1 1 0 0 1 pinlabel=A6 T 350 4100 5 8 0 1 0 2 1 pintype=in } P 300 4500 0 4500 1 0 1 { T 200 4550 5 8 1 1 0 6 1 pinnumber=3 T 200 4450 5 8 0 1 0 8 1 pinseq=3 T 350 4500 9 8 1 1 0 0 1 pinlabel=A7 T 350 4500 5 8 0 1 0 2 1 pintype=in } P 300 4900 0 4900 1 0 1 { T 200 4950 5 8 1 1 0 6 1 pinnumber=2 T 200 4850 5 8 0 1 0 8 1 pinseq=2 T 350 4900 9 8 1 1 0 0 1 pinlabel=A12 T 350 4900 5 8 0 1 0 2 1 pintype=in } P 300 5300 0 5300 1 0 1 { T 200 5350 5 8 1 1 0 6 1 pinnumber=1 T 200 5250 5 8 0 1 0 8 1 pinseq=1 T 350 5300 9 8 1 1 0 0 1 pinlabel=NC T 350 5300 5 8 0 1 0 2 1 pintype=pas } B 300 0 2000 5600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2600 100 2300 100 1 0 0 { T 2400 150 5 8 1 1 0 0 1 pinnumber=15 T 2400 50 5 8 0 1 0 2 1 pinseq=15 T 2250 100 9 8 1 1 0 6 1 pinlabel=I/O4 T 2250 100 5 8 0 1 0 8 1 pintype=io } P 2600 500 2300 500 1 0 0 { T 2400 550 5 8 1 1 0 0 1 pinnumber=16 T 2400 450 5 8 0 1 0 2 1 pinseq=16 T 2250 500 9 8 1 1 0 6 1 pinlabel=I/O5 T 2250 500 5 8 0 1 0 8 1 pintype=io } P 2600 900 2300 900 1 0 0 { T 2400 950 5 8 1 1 0 0 1 pinnumber=17 T 2400 850 5 8 0 1 0 2 1 pinseq=17 T 2250 900 9 8 1 1 0 6 1 pinlabel=I/O6 T 2250 900 5 8 0 1 0 8 1 pintype=io } P 2600 1300 2300 1300 1 0 0 { T 2400 1350 5 8 1 1 0 0 1 pinnumber=18 T 2400 1250 5 8 0 1 0 2 1 pinseq=18 T 2250 1300 9 8 1 1 0 6 1 pinlabel=I/O7 T 2250 1300 5 8 0 1 0 8 1 pintype=io } P 2600 1700 2300 1700 1 0 0 { T 2400 1750 5 8 1 1 0 0 1 pinnumber=19 T 2400 1650 5 8 0 1 0 2 1 pinseq=19 T 2250 1700 9 8 1 1 0 6 1 pinlabel=I/O8 T 2250 1700 5 8 0 1 0 8 1 pintype=io } P 2600 2100 2400 2100 1 0 0 { T 2400 2150 5 8 1 1 0 0 1 pinnumber=20 T 2400 2050 5 8 0 1 0 2 1 pinseq=20 T 2250 2100 9 8 1 1 0 6 1 pinlabel=\_CE1\_ T 2250 2100 5 8 0 1 0 8 1 pintype=in } P 2600 2500 2300 2500 1 0 0 { T 2400 2550 5 8 1 1 0 0 1 pinnumber=21 T 2400 2450 5 8 0 1 0 2 1 pinseq=21 T 2250 2500 9 8 1 1 0 6 1 pinlabel=A10 T 2250 2500 5 8 0 1 0 8 1 pintype=in } P 2600 2900 2400 2900 1 0 0 { T 2400 2950 5 8 1 1 0 0 1 pinnumber=22 T 2400 2850 5 8 0 1 0 2 1 pinseq=22 T 2250 2900 9 8 1 1 0 6 1 pinlabel=\_OE\_ T 2250 2900 5 8 0 1 0 8 1 pintype=in } P 2600 3300 2300 3300 1 0 0 { T 2400 3350 5 8 1 1 0 0 1 pinnumber=23 T 2400 3250 5 8 0 1 0 2 1 pinseq=23 T 2250 3300 9 8 1 1 0 6 1 pinlabel=A11 T 2250 3300 5 8 0 1 0 8 1 pintype=in } P 2600 3700 2300 3700 1 0 0 { T 2400 3750 5 8 1 1 0 0 1 pinnumber=24 T 2400 3650 5 8 0 1 0 2 1 pinseq=24 T 2250 3700 9 8 1 1 0 6 1 pinlabel=A9 T 2250 3700 5 8 0 1 0 8 1 pintype=in } P 2600 4100 2300 4100 1 0 0 { T 2400 4150 5 8 1 1 0 0 1 pinnumber=25 T 2400 4050 5 8 0 1 0 2 1 pinseq=25 T 2250 4100 9 8 1 1 0 6 1 pinlabel=A8 T 2250 4100 5 8 0 1 0 8 1 pintype=in } P 2600 4500 2300 4500 1 0 0 { T 2400 4550 5 8 1 1 0 0 1 pinnumber=26 T 2400 4450 5 8 0 1 0 2 1 pinseq=26 T 2250 4500 9 8 1 1 0 6 1 pinlabel=CE2 T 2250 4500 5 8 0 1 0 8 1 pintype=in } P 2600 4900 2400 4900 1 0 0 { T 2400 4950 5 8 1 1 0 0 1 pinnumber=27 T 2400 4850 5 8 0 1 0 2 1 pinseq=27 T 2250 4900 9 8 1 1 0 6 1 pinlabel=\_WE\_ T 2250 4900 5 8 0 1 0 8 1 pintype=in } P 2600 5300 2300 5300 1 0 0 { T 2400 5350 5 8 1 1 0 0 1 pinnumber=28 T 2400 5250 5 8 0 1 0 2 1 pinseq=28 T 2250 5300 9 8 1 1 0 6 1 pinlabel=Vcc T 2250 5300 5 8 0 1 0 8 1 pintype=pwr } T 300 5850 5 10 0 0 0 0 1 device=HM6264P15 T 2300 5700 8 10 1 1 0 6 1 refdes=U? T 300 6250 5 10 0 0 0 0 1 footprint=DIP28 T 300 6450 5 10 0 0 0 0 1 description=8192word x 8-bit high speed cmos static ram T 300 6050 5 10 0 0 0 0 1 numslots=0 T 300 6650 5 10 0 0 0 0 1 author=Werner Hoch T 300 5650 9 10 1 0 0 0 1 HM6264P15 V 2350 2100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 2350 2900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 2350 4900 51 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/memory/27256-1.sym0000664000175000017500000001221412204104272014447 00000000000000v 20070626 1 P 0 5500 300 5500 1 0 0 { T 200 5550 5 8 1 1 0 6 1 pinnumber=1 T 200 5450 5 8 0 1 0 8 1 pinseq=1 T 350 5500 9 8 1 1 0 0 1 pinlabel=VPP T 350 5500 5 8 0 1 0 2 1 pintype=pwr } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=2 T 200 1450 5 8 0 1 0 8 1 pinseq=2 T 350 1500 9 8 1 1 0 0 1 pinlabel=A12 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=3 T 200 2950 5 8 0 1 0 8 1 pinseq=3 T 350 3000 9 8 1 1 0 0 1 pinlabel=A7 T 350 3000 5 8 0 1 0 2 1 pintype=in } P 0 3300 300 3300 1 0 0 { T 200 3350 5 8 1 1 0 6 1 pinnumber=4 T 200 3250 5 8 0 1 0 8 1 pinseq=4 T 350 3300 9 8 1 1 0 0 1 pinlabel=A6 T 350 3300 5 8 0 1 0 2 1 pintype=in } P 0 3600 300 3600 1 0 0 { T 200 3650 5 8 1 1 0 6 1 pinnumber=5 T 200 3550 5 8 0 1 0 8 1 pinseq=5 T 350 3600 9 8 1 1 0 0 1 pinlabel=A5 T 350 3600 5 8 0 1 0 2 1 pintype=in } P 0 3900 300 3900 1 0 0 { T 200 3950 5 8 1 1 0 6 1 pinnumber=6 T 200 3850 5 8 0 1 0 8 1 pinseq=6 T 350 3900 9 8 1 1 0 0 1 pinlabel=A4 T 350 3900 5 8 0 1 0 2 1 pintype=in } P 0 4200 300 4200 1 0 0 { T 200 4250 5 8 1 1 0 6 1 pinnumber=7 T 200 4150 5 8 0 1 0 8 1 pinseq=7 T 350 4200 9 8 1 1 0 0 1 pinlabel=A3 T 350 4200 5 8 0 1 0 2 1 pintype=in } P 0 4500 300 4500 1 0 0 { T 200 4550 5 8 1 1 0 6 1 pinnumber=8 T 200 4450 5 8 0 1 0 8 1 pinseq=8 T 350 4500 9 8 1 1 0 0 1 pinlabel=A2 T 350 4500 5 8 0 1 0 2 1 pintype=in } P 0 4800 300 4800 1 0 0 { T 200 4850 5 8 1 1 0 6 1 pinnumber=9 T 200 4750 5 8 0 1 0 8 1 pinseq=9 T 350 4800 9 8 1 1 0 0 1 pinlabel=A1 T 350 4800 5 8 0 1 0 2 1 pintype=in } P 0 5100 300 5100 1 0 0 { T 200 5150 5 8 1 1 0 6 1 pinnumber=10 T 200 5050 5 8 0 1 0 8 1 pinseq=10 T 350 5100 9 8 1 1 0 0 1 pinlabel=A0 T 350 5100 5 8 0 1 0 2 1 pintype=in } P 2300 5100 2600 5100 1 0 1 { T 2400 5150 5 8 1 1 0 0 1 pinnumber=11 T 2400 5050 5 8 0 1 0 2 1 pinseq=11 T 2250 5100 9 8 1 1 0 6 1 pinlabel=O0 T 2250 5100 5 8 0 1 0 8 1 pintype=tri } P 2300 4800 2600 4800 1 0 1 { T 2400 4850 5 8 1 1 0 0 1 pinnumber=12 T 2400 4750 5 8 0 1 0 2 1 pinseq=12 T 2250 4800 9 8 1 1 0 6 1 pinlabel=O1 T 2250 4800 5 8 0 1 0 8 1 pintype=tri } P 2300 4500 2600 4500 1 0 1 { T 2400 4550 5 8 1 1 0 0 1 pinnumber=13 T 2400 4450 5 8 0 1 0 2 1 pinseq=13 T 2250 4500 9 8 1 1 0 6 1 pinlabel=O2 T 2250 4500 5 8 0 1 0 8 1 pintype=tri } P 0 900 300 900 1 0 0 { T 200 950 5 8 1 1 0 6 1 pinnumber=27 T 200 850 5 8 0 1 0 8 1 pinseq=27 T 350 900 9 8 1 1 0 0 1 pinlabel=A14 T 350 900 5 8 0 1 0 2 1 pintype=in } P 0 1200 300 1200 1 0 0 { T 200 1250 5 8 1 1 0 6 1 pinnumber=26 T 200 1150 5 8 0 1 0 8 1 pinseq=26 T 350 1200 9 8 1 1 0 0 1 pinlabel=A13 T 350 1200 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=25 T 200 2650 5 8 0 1 0 8 1 pinseq=25 T 350 2700 9 8 1 1 0 0 1 pinlabel=A8 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 2400 300 2400 1 0 0 { T 200 2450 5 8 1 1 0 6 1 pinnumber=24 T 200 2350 5 8 0 1 0 8 1 pinseq=24 T 350 2400 9 8 1 1 0 0 1 pinlabel=A9 T 350 2400 5 8 0 1 0 2 1 pintype=in } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=23 T 200 1750 5 8 0 1 0 8 1 pinseq=23 T 350 1800 9 8 1 1 0 0 1 pinlabel=A11 T 350 1800 5 8 0 1 0 2 1 pintype=in } V 250 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 500 200 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=22 T 200 450 5 8 0 1 0 8 1 pinseq=22 T 350 500 9 8 1 1 0 0 1 pinlabel=\_OE\_ T 350 500 5 8 0 1 0 2 1 pintype=in } P 0 2100 300 2100 1 0 0 { T 200 2150 5 8 1 1 0 6 1 pinnumber=21 T 200 2050 5 8 0 1 0 8 1 pinseq=21 T 350 2100 9 8 1 1 0 0 1 pinlabel=A10 T 350 2100 5 8 0 1 0 2 1 pintype=in } V 250 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 200 200 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=20 T 200 150 5 8 0 1 0 8 1 pinseq=20 T 350 200 9 8 1 1 0 0 1 pinlabel=\_CE\_ T 350 200 5 8 0 1 0 2 1 pintype=in } P 2300 3000 2600 3000 1 0 1 { T 2400 3050 5 8 1 1 0 0 1 pinnumber=19 T 2400 2950 5 8 0 1 0 2 1 pinseq=19 T 2250 3000 9 8 1 1 0 6 1 pinlabel=O7 T 2250 3000 5 8 0 1 0 8 1 pintype=tri } P 2300 3300 2600 3300 1 0 1 { T 2400 3350 5 8 1 1 0 0 1 pinnumber=18 T 2400 3250 5 8 0 1 0 2 1 pinseq=18 T 2250 3300 9 8 1 1 0 6 1 pinlabel=O6 T 2250 3300 5 8 0 1 0 8 1 pintype=tri } P 2300 3600 2600 3600 1 0 1 { T 2400 3650 5 8 1 1 0 0 1 pinnumber=17 T 2400 3550 5 8 0 1 0 2 1 pinseq=17 T 2250 3600 9 8 1 1 0 6 1 pinlabel=O5 T 2250 3600 5 8 0 1 0 8 1 pintype=tri } P 2300 3900 2600 3900 1 0 1 { T 2400 3950 5 8 1 1 0 0 1 pinnumber=16 T 2400 3850 5 8 0 1 0 2 1 pinseq=16 T 2250 3900 9 8 1 1 0 6 1 pinlabel=O4 T 2250 3900 5 8 0 1 0 8 1 pintype=tri } P 2300 4200 2600 4200 1 0 1 { T 2400 4250 5 8 1 1 0 0 1 pinnumber=15 T 2400 4150 5 8 0 1 0 2 1 pinseq=15 T 2250 4200 9 8 1 1 0 6 1 pinlabel=O3 T 2250 4200 5 8 0 1 0 8 1 pintype=tri } B 300 0 2000 5800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 6050 5 10 0 0 0 0 1 device=27256 T 2300 5900 8 10 1 1 0 6 1 refdes=U? T 300 6250 5 10 0 0 0 0 1 footprint=DIP28 T 300 6450 5 10 0 0 0 0 1 description=256K (32Kx8) CMOS EPROM T 300 7050 5 10 0 0 0 0 1 numslots=0 T 300 7250 5 10 0 0 0 0 1 author=Werner Hoch T 300 7450 5 10 0 0 0 0 1 documentation=http://www.microchip.com/download/lit/pline/memory/arc/11001m.pdf T 300 6650 5 10 0 0 0 0 1 net=Vcc:28 T 300 6850 5 10 0 0 0 0 1 net=GND:14 T 300 5850 9 10 1 0 0 0 1 27256 T 300 7650 5 10 0 0 0 0 1 symversion=0.1 geda-gaf-1.8.2/symbols/documentation/0000775000175000017500000000000012220655763014531 500000000000000geda-gaf-1.8.2/symbols/documentation/geda.fig0000664000175000017500000000145112204104272016023 00000000000000#FIG 3.2 Landscape Center Inches Letter 100.00 Single -2 1200 2 5 1 0 1 0 7 50 0 -1 0.000 0 0 0 0 1088.000 300.000 1088 75 1313 300 1088 525 6 0 0 825 225 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 113 188 788 188 2 2 0 1 0 0 50 0 20 0.000 0 0 -1 0 0 5 0 150 75 150 75 225 0 225 0 150 4 0 0 50 0 16 12 0.0000 4 143 368 188 150 GPL\001 -6 6 0 375 825 600 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 113 413 788 413 2 2 0 1 0 0 50 0 20 0.000 0 0 -1 0 0 5 0 375 75 375 75 450 0 450 0 375 4 0 0 50 0 16 12 0.0000 4 143 383 188 600 EDA\001 -6 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 4 1088 75 788 75 788 525 1088 525 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 2525 300 1313 300 2 2 0 1 0 0 50 0 20 0.000 0 0 -1 0 0 5 2625 263 2550 263 2550 338 2625 338 2625 263 4 0 0 50 0 16 24 0.0000 4 360 975 1465 300 gEDA\001 geda-gaf-1.8.2/symbols/documentation/nc.doc0000664000175000017500000000434112204104272015524 00000000000000.\" $Id$ .\" .\" Example documentation for "No connection" .\" don't take it too seriously ;-)" .\" .so geda.pic .SH No Connection Short Form Data Sheet .\" .SH General Description .LP The .B "No Connection" component is a mono-pole with unique properties. .\"-------------------------------------------------- .SH Applications .IP "\(sq" .I Digital circuits .IP "\(sq" .I Analog circuits .IP "\(sq" .I Mixed signal circuits .IP "\(sq" .I Consumer products .IP "\(sq" .I Industry products .\"-------------------------------------------------- .SH Features .IP "\(bu" ESD tolerant .IP "\(bu" Latchup free .IP "\(bu" Operates with zero power supplies .IP "\(bu" Simple connection .\"-------------------------------------------------- .SH Electrical Characteristics .R .TS tab(!); | l | l | l | n n n | l |. _ \fBParameter\fP!\fBSymbol\fP!\fBConditions\fP!\fBMin\fP!\fBTyp\fP!\fBMax\fP!\fBUnits\fP _ Supply Voltage ! Vcc ! Any ! 0 ! ! \(if ! V _ Supply Current ! Icc ! Any ! 0 ! 0 ! 0 ! mA _ .TE .\"-------------------------------------------------- .SH Pin Descriptions .R .TS tab(!); | n | l | l |. _ \fBPin\fP ! \fBName\fP ! \fBFunction\fP ! _ 1 ! NC ! None whatsoever ! _ .TE .\"-------------------------------------------------- .SH Detailed Description .LP The component really does nothing, except making it perfectly clear that when it is connected to pins on other components, they should not, or at least need not, be connected to anything else. .\"-------------------------------------------------- .SH Ordering Information .R .TS tab(!); | l | l | l | l |. _ \fBPart\fP ! \fBTemp. Range \fP ! \fBTerminal\fP ! \fBPackage\fP ! _ nc-left ! -273.16\(deC to +\(if\(deC ! Left ! None ! nc-right ! -273.16\(deC to +\(if\(deC ! Right ! None ! nc-top ! -273.16\(deC to +\(if\(deC ! Top ! None ! nc-bottom ! -273.16\(deC to +\(if\(deC ! Bottom ! None ! _ .TE .\"-------------------------------------------------- .SH References .LP .I http://www.gedasymbols.org/ .R geda-gaf-1.8.2/symbols/documentation/Makefile.am0000664000175000017500000000277312204104272016500 00000000000000doc_DATA = nc.pdf EXTRA_DIST = nc.doc geda.fig geda.pic nc.ps nc.pdf BUILT_SOURCES = geda.pic nc.pdf nc.ps SUFFIXES = .fig .pic .ps .doc .pdf # # some standard rules for groff based documentation # .fig.pic: @echo "Creating pic (using fig2dev)" @if which fig2dev >/dev/null 2>/dev/null; then \ fig2dev -L pic $< > $@ ;\ else \ echo "** Did not find fig2dev **" ;\ echo "Some documentation might not be correct!";\ touch $@ ;\ fi .doc.ps: @echo "Creating ps (using groff)" @rm -rf $@.tmp @if test "x$(GROFF)" != xno; then \ LC_NUMERIC=C $(GROFF) -t -sp -ms $< > $@.tmp ;\ mv -f $@.tmp $@ ;\ else \ echo "** Did not find groff **" ;\ echo "Some Documentation might not be correct!" ;\ touch $@ ;\ fi .ps.pdf: @echo "Creating pdf (using ps2pdf)" @rm -rf $@ @if which ps2pdf >/dev/null 2>/dev/null; then \ ps2pdf $< ;\ else \ echo "** Did not find ps2pdf **" ;\ echo "Some Documentation might not be correct!" ;\ touch $@ ;\ fi # # dependencies # nc.ps: geda.pic nc.pdf: nc.ps MOSTLYCLEANFILES = *.log *~ CLEANFILES = *.log *~ *.ps *.pdf DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log *~ Makefile.in geda.pic *.pdf *.ps geda-gaf-1.8.2/symbols/documentation/nc.ps0000664000175000017500000002172412220651652015414 00000000000000%!PS-Adobe-3.0 %%Creator: groff version 1.22.2 %%CreationDate: Wed Sep 25 22:20:42 2013 %%DocumentNeededResources: font Times-Bold %%+ font Times-Roman %%+ font Times-Italic %%+ font Symbol %%DocumentSuppliedResources: procset grops 1.22 2 %%Pages: 1 %%PageOrder: Ascend %%DocumentMedia: Default 612 792 0 () () %%Orientation: Portrait %%EndComments %%BeginDefaults %%PageMedia: Default %%EndDefaults %%BeginProlog %%BeginResource: procset grops 1.22 2 %!PS-Adobe-3.0 Resource-ProcSet /setpacking where{ pop currentpacking true setpacking }if /grops 120 dict dup begin /SC 32 def /A/show load def /B{0 SC 3 -1 roll widthshow}bind def /C{0 exch ashow}bind def /D{0 exch 0 SC 5 2 roll awidthshow}bind def /E{0 rmoveto show}bind def /F{0 rmoveto 0 SC 3 -1 roll widthshow}bind def /G{0 rmoveto 0 exch ashow}bind def /H{0 rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def /I{0 exch rmoveto show}bind def /J{0 exch rmoveto 0 SC 3 -1 roll widthshow}bind def /K{0 exch rmoveto 0 exch ashow}bind def /L{0 exch rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def /M{rmoveto show}bind def /N{rmoveto 0 SC 3 -1 roll widthshow}bind def /O{rmoveto 0 exch ashow}bind def /P{rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def /Q{moveto show}bind def /R{moveto 0 SC 3 -1 roll widthshow}bind def /S{moveto 0 exch ashow}bind def /T{moveto 0 exch 0 SC 5 2 roll awidthshow}bind def /SF{ findfont exch [exch dup 0 exch 0 exch neg 0 0]makefont dup setfont [exch/setfont cvx]cvx bind def }bind def /MF{ findfont [5 2 roll 0 3 1 roll neg 0 0]makefont dup setfont [exch/setfont cvx]cvx bind def }bind def /level0 0 def /RES 0 def /PL 0 def /LS 0 def /MANUAL{ statusdict begin/manualfeed true store end }bind def /PLG{ gsave newpath clippath pathbbox grestore exch pop add exch pop }bind def /BP{ /level0 save def 1 setlinecap 1 setlinejoin DEFS/BPhook known{DEFS begin BPhook end}if 72 RES div dup scale LS{ 90 rotate }{ 0 PL translate }ifelse 1 -1 scale }bind def /EP{ level0 restore showpage }def /DA{ newpath arcn stroke }bind def /SN{ transform .25 sub exch .25 sub exch round .25 add exch round .25 add exch itransform }bind def /DL{ SN moveto SN lineto stroke }bind def /DC{ newpath 0 360 arc closepath }bind def /TM matrix def /DE{ TM currentmatrix pop translate scale newpath 0 0 .5 0 360 arc closepath TM setmatrix }bind def /RC/rcurveto load def /RL/rlineto load def /ST/stroke load def /MT/moveto load def /CL/closepath load def /Fr{ setrgbcolor fill }bind def /setcmykcolor where{ pop /Fk{ setcmykcolor fill }bind def }if /Fg{ setgray fill }bind def /FL/fill load def /LW/setlinewidth load def /Cr/setrgbcolor load def /setcmykcolor where{ pop /Ck/setcmykcolor load def }if /Cg/setgray load def /RE{ findfont dup maxlength 1 index/FontName known not{1 add}if dict begin { 1 index/FID ne 2 index/UniqueID ne and {def}{pop pop}ifelse }forall /Encoding exch def dup/FontName exch def currentdict end definefont pop }bind def /DEFS 0 def /EBEGIN{ moveto DEFS begin }bind def /EEND/end load def /CNT 0 def /level1 0 def /PBEGIN{ /level1 save def translate div 3 1 roll div exch scale neg exch neg exch translate 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit []0 setdash /setstrokeadjust where{ pop false setstrokeadjust }if /setoverprint where{ pop false setoverprint }if newpath /CNT countdictstack def userdict begin /showpage{}def /setpagedevice{}def mark }bind def /PEND{ cleartomark countdictstack CNT sub{end}repeat level1 restore }bind def end def /setpacking where{ pop setpacking }if %%EndResource %%EndProlog %%BeginSetup %%BeginFeature: *PageSize Default << /PageSize [ 612 792 ] /ImagingBBox null >> setpagedevice %%EndFeature %%IncludeResource: font Times-Bold %%IncludeResource: font Times-Roman %%IncludeResource: font Times-Italic %%IncludeResource: font Symbol grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72 def/PL 792 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron/Zcaron /scaron/zcaron/Ydieresis/trademark/quotesingle/Euro/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/space/exclam/quotedbl/numbersign/dollar/percent /ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen /period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon /semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O /P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/circumflex /underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y /z/braceleft/bar/braceright/tilde/.notdef/quotesinglbase/guillemotleft /guillemotright/bullet/florin/fraction/perthousand/dagger/daggerdbl /endash/emdash/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/hungarumlaut /dotaccent/breve/caron/ring/ogonek/quotedblleft/quotedblright/oe/lslash /quotedblbase/OE/Lslash/.notdef/exclamdown/cent/sterling/currency/yen /brokenbar/section/dieresis/copyright/ordfeminine/guilsinglleft /logicalnot/minus/registered/macron/degree/plusminus/twosuperior /threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior /ordmasculine/guilsinglright/onequarter/onehalf/threequarters /questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE /Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex /Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis /multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn /germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla /egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis /eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash /ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def /Times-Italic@0 ENC0/Times-Italic RE/Times-Roman@0 ENC0/Times-Roman RE /Times-Bold@0 ENC0/Times-Bold RE %%EndSetup %%Page: 1 1 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Bold@0 SF(No Connection Short F)72 84 Q(orm Data Sheet)-.25 E(General Description)72 108 Q/F1 10/Times-Roman@0 SF(The)72 123.6 Q F0 (No Connection)2.5 E F1 (component is a mono-pole with unique properties.)2.5 E F0 -.25(Ap)72 147.6 S(plications).25 E .4 LW 77.5 163.2 72.5 163.2 DL 77.5 158.2 77.5 163.2 DL 72.5 158.2 77.5 158.2 DL 72.5 163.2 72.5 158.2 DL/F2 10 /Times-Italic@0 SF(Digital cir)97 163.2 Q(cuits)-.37 E 77.5 178.8 72.5 178.8 DL 77.5 173.8 77.5 178.8 DL 72.5 173.8 77.5 173.8 DL 72.5 178.8 72.5 173.8 DL(Analo)97 178.8 Q 2.5(gc)-.1 G(ir)-2.5 E(cuits)-.37 E 77.5 194.4 72.5 194.4 DL 77.5 189.4 77.5 194.4 DL 72.5 189.4 77.5 189.4 DL 72.5 194.4 72.5 189.4 DL(Mixed signal cir)97 194.4 Q(cuits)-.37 E 77.5 210 72.5 210 DL 77.5 205 77.5 210 DL 72.5 205 77.5 205 DL 72.5 210 72.5 205 DL(Consumer pr)97 210 Q(oducts)-.45 E 77.5 225.6 72.5 225.6 DL 77.5 220.6 77.5 225.6 DL 72.5 220.6 77.5 220.6 DL 72.5 225.6 72.5 220.6 DL (Industry pr)97 225.6 Q(oducts)-.45 E F0 -.25(Fe)72 249.6 S(atur).25 E (es)-.18 E F1 21.5<8345>72 265.2 S(SD tolerant)-21.5 E 21.5<834c>72 280.8 S(atchup free)-21.5 E 21.5<834f>72 296.4 S(perates with zero po) -21.5 E(wer supplies)-.25 E 21.5<8353>72 312 S(imple connection)-21.5 E F0(Electrical Characteristics)72 336 Q 391.69 346.5 72 346.5 DL -.1(Pa) 77 356 S 30.96(rameter Symbol).1 F 12.5(Conditions Min T)15 F 12.5 (yp Max Units)-.34 F 391.69 360.5 72 360.5 DL F1(Supply V)77 370 Q 17.68 (oltage Vcc)-1.29 F(An)31.13 E 48.5(y0)-.15 G/F3 10/Symbol SF10.935 E F1(V)23.655 E 391.69 374.5 72 374.5 DL(Supply Current)77 384 Q 32.52 (Icc An)20 F 48.5(y0)-.15 G 26.915(00)-21.165 G(mA)-.945 E 391.69 388.5 72 388.5 DL 391.69 346.5 391.69 388.5 DL 356.41 346.5 356.41 388.5 DL 257.3 346.5 257.3 388.5 DL 195.62 346.5 195.62 388.5 DL 148.39 346.5 148.39 388.5 DL 72 346.5 72 388.5 DL F0(Pin Descriptions)72 416 Q 270.19 426.5 72 426.5 DL 40.275(Pin Name)82.275 436 R(Function)28.9 E 270.19 440.5 72 440.5 DL F1 57.5(1N)77 450 S 40(CN)-57.5 G(one whatsoe)-40 E -.15(ve)-.25 G(r).15 E 270.19 454.5 72 454.5 DL 270.19 426.5 270.19 454.5 DL 183.39 426.5 183.39 454.5 DL 129.5 426.5 129.5 454.5 DL 72 426.5 72 454.5 DL F0(Detailed Description)72 482 Q F1 .882 (The component really does nothing, e)72 497.6 R .882 (xcept making it perfectly clear that when it is connected to pins on) -.15 F(other components, the)72 509.6 Q 2.5(ys)-.15 G (hould not, or at least need not, be connected to an)-2.5 E (ything else.)-.15 E F0(Ordering Inf)72 533.6 Q(ormation)-.25 E 370 544.1 72 544.1 DL -.1(Pa)77 553.6 S 57.33(rt T).1 F(emp. Range)-.92 E -.92(Te)41.42 G 23.43(rminal P).92 F(ackage)-.1 E 370 558.1 72 558.1 DL F1 50.01(nc-left -273.16\260C)77 567.6 R(to +)2.5 E F3A F1 17.5 (\260C Left)B(None)48.35 E 44.45(nc-right -273.16\260C)77 579.6 R(to +) 2.5 E F3A F1 17.5(\260C Right)B(None)42.78 E 50.56 (nc-top -273.16\260C)77 591.6 R(to +)2.5 E F3A F1 17.5(\260C T)B 47.2(op None)-.8 F 35(nc-bottom -273.16\260C)77 603.6 R(to +)2.5 E F3 A F1 17.5(\260C Bottom)B(None)35 E 370 608.1 72 608.1 DL 370 544.1 370 608.1 DL 308.34 544.1 308.34 608.1 DL 243.33 544.1 243.33 608.1 DL 145.61 544.1 145.61 608.1 DL 72 544.1 72 608.1 DL F0(Refer)72 635.6 Q (ences)-.18 E F2(http://www)72 651.2 Q(.g)-.74 E(edasymbols.or)-.1 E(g/) -.37 E 0 Cg EP %%Trailer end %%EOF geda-gaf-1.8.2/symbols/documentation/Makefile.in0000664000175000017500000004727212220655726016531 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = symbols/documentation DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(docdir)" DATA = $(doc_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ doc_DATA = nc.pdf EXTRA_DIST = nc.doc geda.fig geda.pic nc.ps nc.pdf BUILT_SOURCES = geda.pic nc.pdf nc.ps SUFFIXES = .fig .pic .ps .doc .pdf MOSTLYCLEANFILES = *.log *~ CLEANFILES = *.log *~ *.ps *.pdf DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log *~ Makefile.in geda.pic *.pdf *.ps all: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) all-am .SUFFIXES: .SUFFIXES: .fig .pic .ps .doc .pdf $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu symbols/documentation/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu symbols/documentation/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-docDATA: $(doc_DATA) @$(NORMAL_INSTALL) @list='$(doc_DATA)'; test -n "$(docdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(docdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(docdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(docdir)" || exit $$?; \ done uninstall-docDATA: @$(NORMAL_UNINSTALL) @list='$(doc_DATA)'; test -n "$(docdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(docdir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(docdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-docDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-docDATA .MAKE: all check install install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am \ install-docDATA install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am uninstall-docDATA # # some standard rules for groff based documentation # .fig.pic: @echo "Creating pic (using fig2dev)" @if which fig2dev >/dev/null 2>/dev/null; then \ fig2dev -L pic $< > $@ ;\ else \ echo "** Did not find fig2dev **" ;\ echo "Some documentation might not be correct!";\ touch $@ ;\ fi .doc.ps: @echo "Creating ps (using groff)" @rm -rf $@.tmp @if test "x$(GROFF)" != xno; then \ LC_NUMERIC=C $(GROFF) -t -sp -ms $< > $@.tmp ;\ mv -f $@.tmp $@ ;\ else \ echo "** Did not find groff **" ;\ echo "Some Documentation might not be correct!" ;\ touch $@ ;\ fi .ps.pdf: @echo "Creating pdf (using ps2pdf)" @rm -rf $@ @if which ps2pdf >/dev/null 2>/dev/null; then \ ps2pdf $< ;\ else \ echo "** Did not find ps2pdf **" ;\ echo "Some Documentation might not be correct!" ;\ touch $@ ;\ fi # # dependencies # nc.ps: geda.pic nc.pdf: nc.ps # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/symbols/documentation/nc.pdf0000664000175000017500000001121712220651652015537 00000000000000%PDF-1.4 %쏢 5 0 obj <> stream xXKFW-r4Rn.P`]VB8fsoɝFI6(rf~ FsqѦq|q>9XDO+DJzp3qUܻ7%*B2+ t-k/ast>!~sCWBNvZ4iU']jj+ވ0cv?aayU(kP(U-٧@U]VhV,MU<[9:$P BE7w8 vT4`(a:Q_lc c1W.M&!Ӭ^ЋcBtFfnaJ,:b昈Yr 3:)QL"ٕ5Ճ(ߤC$`/ýO$y8kp1!1s\Tn}kd" ? ls c?bc)̠,iBiP,X}zcxD6X咵,_}#ǖTUE\ i{@"Gh/!0z˶=<خwHBᮓB\nZuūW$2+P + W@qlAHhKT};@4 zbT^Vfy)ll]m:IFfЀxA44ܖF16K;Lqp:؅N18wMzh3m^gZ-(B>Vu^LKK)Nt"mſSo+Cм?FQF.1"3\cQ~)Gl,kcj;g< Lp=*S\`g_ZaQxh5MwDX/= pCHh_tʯ(~SЦA[-X(p:F zbDc/P3D )2ǚgu[rB5fq8hRq@YJh#<5(V|IXc|ó }wn (D`?D6v6Y챡F5t#pu7ʧ萟S'ecT/Q$&(# g17&Aqn) xZ$Hhu:f: {aEEҳ.f  SQI'A2 ?@pI$<(G Hh0G L m [hI \Vṅ}l7T{w[wkeT{ !:1&)G]#08ڪ ez؀Lz7ڥAd20336g݆j5ʲaf8&2 X[a {kieì}՝&Ao$zȎ Gt$60:A¬بzvfgAފPH܀H^V׋Lmw:ix?sendstream endobj 6 0 obj 1705 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 12 0 obj <> endobj 13 0 obj <> endobj 11 0 obj <> endobj 14 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 15 0 obj <> endobj 8 0 obj <> endobj 16 0 obj <>stream 2013-09-25T22:20:42+01:00 2013-09-25T22:20:42+01:00 groff version 1.22.2 Untitled endstream endobj 2 0 obj <>endobj xref 0 17 0000000000 65535 f 0000002029 00000 n 0000004104 00000 n 0000001970 00000 n 0000001810 00000 n 0000000015 00000 n 0000001790 00000 n 0000002094 00000 n 0000002616 00000 n 0000002463 00000 n 0000002395 00000 n 0000002226 00000 n 0000002135 00000 n 0000002165 00000 n 0000002304 00000 n 0000002545 00000 n 0000002681 00000 n trailer << /Size 17 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 4258 %%EOF geda-gaf-1.8.2/symbols/documentation/geda.pic0000664000175000017500000000000012210334271016017 00000000000000geda-gaf-1.8.2/symbols/4000/0000775000175000017500000000000012220655764012244 500000000000000geda-gaf-1.8.2/symbols/4000/4095-1.sym0000664000175000017500000000456212204104272013445 00000000000000v 20070626 1 T 500 4400 8 10 1 1 0 6 1 refdes=U? T 2000 950 5 10 0 0 0 0 1 device=4095 T 2000 1150 5 10 0 0 0 0 1 footprint=DIP14 T 2000 1350 5 10 0 0 0 0 1 net=VSS:7 T 2000 1550 5 10 0 0 0 0 1 net=VDD:14 P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=13 T 200 3450 5 8 0 1 0 8 1 pinseq=1 T 350 3500 9 8 1 1 0 0 1 pinlabel=S T 350 3500 5 8 0 1 0 2 1 pintype=in } P 0 3900 300 3900 1 0 0 { T 200 3950 5 8 1 1 0 6 1 pinnumber=2 T 200 3850 5 8 0 1 0 8 1 pinseq=2 T 350 3900 9 8 1 1 0 0 1 pinlabel=R T 350 3900 5 8 0 1 0 2 1 pintype=in } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=11 T 200 650 5 8 0 1 0 8 1 pinseq=3 T 350 700 9 8 1 1 0 0 1 pinlabel=K3 T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=10 T 200 1050 5 8 0 1 0 8 1 pinseq=4 T 350 1100 9 8 1 1 0 0 1 pinlabel=K2 T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=9 T 200 1450 5 8 0 1 0 8 1 pinseq=5 T 350 1500 9 8 1 1 0 0 1 pinlabel=K1 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=5 T 200 2250 5 8 0 1 0 8 1 pinseq=6 T 350 2300 9 8 1 1 0 0 1 pinlabel=J3 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=4 T 200 2650 5 8 0 1 0 8 1 pinseq=7 T 350 2700 9 8 1 1 0 0 1 pinlabel=J2 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=3 T 200 3050 5 8 0 1 0 8 1 pinseq=8 T 350 3100 9 8 1 1 0 0 1 pinlabel=J1 T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=12 T 200 1850 5 8 0 1 0 8 1 pinseq=9 T 400 1900 9 8 1 1 0 0 1 pinlabel=CLK T 400 1900 5 8 0 1 0 2 1 pintype=clk } L 400 1900 300 1975 3 0 0 0 -1 -1 L 400 1900 300 1825 3 0 0 0 -1 -1 P 1600 1500 1400 1500 1 0 0 { T 1400 1550 5 8 1 1 0 0 1 pinnumber=6 T 1400 1450 5 8 0 1 0 2 1 pinseq=10 T 1250 1500 9 8 1 1 0 6 1 pinlabel=\_Q\_ T 1250 1500 5 8 0 1 0 8 1 pintype=out } V 1350 1500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1600 2300 1300 2300 1 0 0 { T 1400 2350 5 8 1 1 0 0 1 pinnumber=8 T 1400 2250 5 8 0 1 0 2 1 pinseq=11 T 1250 2300 9 8 1 1 0 6 1 pinlabel=Q T 1250 2300 5 8 0 1 0 8 1 pintype=out } B 300 300 1000 4000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2000 750 5 10 0 0 0 0 1 description=gate JK master slave flip-flop T 2000 1750 5 10 0 0 0 0 1 numslots=0 T 300 50 9 10 1 0 0 0 1 4095 geda-gaf-1.8.2/symbols/4000/4009-1.sym0000664000175000017500000000231112204104272013426 00000000000000v 20031231 1 L 300 800 800 500 3 0 0 0 -1 -1 T 600 900 5 10 0 0 0 0 1 device=4009 T 600 1100 5 10 0 0 0 0 1 slot=1 T 600 1300 5 10 0 0 0 0 1 numslots=6 T 600 1500 5 10 0 0 0 0 1 slotdef=1:3,2 T 600 1700 5 10 0 0 0 0 1 slotdef=2:5,4 T 600 1900 5 10 0 0 0 0 1 slotdef=3:7,6 T 600 2100 5 10 0 0 0 0 1 slotdef=4:9,10 T 600 2300 5 10 0 0 0 0 1 slotdef=5:11,12 T 600 2500 5 10 0 0 0 0 1 slotdef=6:14,15 L 800 500 300 200 3 0 0 0 -1 -1 L 300 800 300 500 3 0 0 0 -1 -1 L 300 500 300 200 3 0 0 0 -1 -1 V 850 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 300 500 0 500 1 0 1 { T 200 550 5 8 1 1 0 6 1 pinnumber=3 T 200 450 5 8 0 1 0 8 1 pinseq=1 T 350 500 9 8 0 1 0 0 1 pinlabel=A T 350 500 5 8 0 1 0 2 1 pintype=in } P 1100 500 900 500 1 0 0 { T 900 550 5 8 1 1 0 0 1 pinnumber=2 T 900 450 5 8 0 1 0 2 1 pinseq=2 T 750 500 9 8 0 1 0 6 1 pinlabel=Y T 750 500 5 8 0 1 0 8 1 pintype=out } T 300 900 8 10 1 1 0 0 1 refdes=U? T 600 2900 5 10 0 0 0 0 1 pins=16 T 600 2700 5 10 0 0 0 0 1 class=IC T 600 3300 5 10 0 0 0 0 1 net=GND:8 T 600 3500 5 10 0 0 0 0 1 net=Vcc:1 T 600 3100 5 10 0 0 0 0 1 net=VDD:16 T 600 3700 5 10 0 0 0 0 1 footprint=DIP16 T 600 3900 5 10 0 0 0 0 1 description=6 CMOS to TTL inverting converter T 300 0 9 8 1 0 0 0 1 4009 geda-gaf-1.8.2/symbols/4000/40208-1.sym0000664000175000017500000001041112204104272013507 00000000000000v 20031231 1 T 500 5900 8 10 1 1 0 6 1 refdes=U? T 2900 2050 5 10 0 0 0 0 1 device=40208 T 2900 2250 5 10 0 0 0 0 1 footprint=DIP24 T 2900 2450 5 10 0 0 0 0 1 net=VSS:12 T 2900 2650 5 10 0 0 0 0 1 net=VDD:24 P 900 0 900 300 1 0 0 { T 950 100 5 8 1 1 0 0 1 pinnumber=16 T 950 100 5 8 0 1 0 2 1 pinseq=1 T 900 425 9 8 1 1 0 3 1 pinlabel=CLK T 900 575 5 8 0 1 0 3 1 pintype=clk } L 900 400 975 300 3 0 0 0 -1 -1 L 900 400 825 300 3 0 0 0 -1 -1 P 1600 0 1600 300 1 0 0 { T 1650 100 5 8 1 1 0 0 1 pinnumber=21 T 1650 100 5 8 0 1 0 2 1 pinseq=2 T 1600 350 9 8 1 1 0 3 1 pinlabel=3-State B T 1600 500 5 8 0 1 0 3 1 pintype=in } P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=9 T 200 2950 5 8 0 1 0 8 1 pinseq=3 T 350 3000 9 8 1 1 0 0 1 pinlabel=W1 T 350 3000 5 8 0 1 0 2 1 pintype=in } P 0 3400 300 3400 1 0 0 { T 200 3450 5 8 1 1 0 6 1 pinnumber=8 T 200 3350 5 8 0 1 0 8 1 pinseq=4 T 350 3400 9 8 1 1 0 0 1 pinlabel=W0 T 350 3400 5 8 0 1 0 2 1 pintype=in } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=10 T 200 650 5 8 0 1 0 8 1 pinseq=5 T 350 700 9 8 1 1 0 0 1 pinlabel=R1B T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=14 T 200 1750 5 8 0 1 0 8 1 pinseq=6 T 350 1800 9 8 1 1 0 0 1 pinlabel=R1A T 350 1800 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=11 T 200 1050 5 8 0 1 0 8 1 pinseq=7 T 350 1100 9 8 1 1 0 0 1 pinlabel=R0B T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=13 T 200 2150 5 8 0 1 0 8 1 pinseq=8 T 350 2200 9 8 1 1 0 0 1 pinlabel=R0A T 350 2200 5 8 0 1 0 2 1 pintype=in } P 0 4200 300 4200 1 0 0 { T 200 4250 5 8 1 1 0 6 1 pinnumber=17 T 200 4150 5 8 0 1 0 8 1 pinseq=9 T 350 4200 9 8 1 1 0 0 1 pinlabel=D3 T 350 4200 5 8 0 1 0 2 1 pintype=in } P 0 4600 300 4600 1 0 0 { T 200 4650 5 8 1 1 0 6 1 pinnumber=18 T 200 4550 5 8 0 1 0 8 1 pinseq=10 T 350 4600 9 8 1 1 0 0 1 pinlabel=D2 T 350 4600 5 8 0 1 0 2 1 pintype=in } P 0 5000 300 5000 1 0 0 { T 200 5050 5 8 1 1 0 6 1 pinnumber=19 T 200 4950 5 8 0 1 0 8 1 pinseq=11 T 350 5000 9 8 1 1 0 0 1 pinlabel=D1 T 350 5000 5 8 0 1 0 2 1 pintype=in } P 0 5400 300 5400 1 0 0 { T 200 5450 5 8 1 1 0 6 1 pinnumber=20 T 200 5350 5 8 0 1 0 8 1 pinseq=12 T 350 5400 9 8 1 1 0 0 1 pinlabel=D0 T 350 5400 5 8 0 1 0 2 1 pintype=in } P 2500 2200 2200 2200 1 0 0 { T 2300 2250 5 8 1 1 0 0 1 pinnumber=1 T 2300 2150 5 8 0 1 0 2 1 pinseq=13 T 2150 2200 9 8 1 1 0 6 1 pinlabel=Q3B T 2150 2200 5 8 0 1 0 8 1 pintype=tri } P 2500 4200 2200 4200 1 0 0 { T 2300 4250 5 8 1 1 0 0 1 pinnumber=7 T 2300 4150 5 8 0 1 0 2 1 pinseq=14 T 2150 4200 9 8 1 1 0 6 1 pinlabel=Q3A T 2150 4200 5 8 0 1 0 8 1 pintype=tri } P 2500 2600 2200 2600 1 0 0 { T 2300 2650 5 8 1 1 0 0 1 pinnumber=2 T 2300 2550 5 8 0 1 0 2 1 pinseq=15 T 2150 2600 9 8 1 1 0 6 1 pinlabel=Q2B T 2150 2600 5 8 0 1 0 8 1 pintype=tri } P 2500 4600 2200 4600 1 0 0 { T 2300 4650 5 8 1 1 0 0 1 pinnumber=6 T 2300 4550 5 8 0 1 0 2 1 pinseq=16 T 2150 4600 9 8 1 1 0 6 1 pinlabel=Q2A T 2150 4600 5 8 0 1 0 8 1 pintype=tri } P 2500 3000 2200 3000 1 0 0 { T 2300 3050 5 8 1 1 0 0 1 pinnumber=23 T 2300 2950 5 8 0 1 0 2 1 pinseq=17 T 2150 3000 9 8 1 1 0 6 1 pinlabel=Q1B T 2150 3000 5 8 0 1 0 8 1 pintype=tri } P 2500 5000 2200 5000 1 0 0 { T 2300 5050 5 8 1 1 0 0 1 pinnumber=5 T 2300 4950 5 8 0 1 0 2 1 pinseq=18 T 2150 5000 9 8 1 1 0 6 1 pinlabel=Q1A T 2150 5000 5 8 0 1 0 8 1 pintype=tri } P 2500 3400 2200 3400 1 0 0 { T 2300 3450 5 8 1 1 0 0 1 pinnumber=22 T 2300 3350 5 8 0 1 0 2 1 pinseq=19 T 2150 3400 9 8 1 1 0 6 1 pinlabel=Q0B T 2150 3400 5 8 0 1 0 8 1 pintype=tri } P 2500 5400 2200 5400 1 0 0 { T 2300 5450 5 8 1 1 0 0 1 pinnumber=4 T 2300 5350 5 8 0 1 0 2 1 pinseq=20 T 2150 5400 9 8 1 1 0 6 1 pinlabel=Q0A T 2150 5400 5 8 0 1 0 8 1 pintype=tri } P 900 6100 900 5800 1 0 0 { T 950 5900 5 8 1 1 0 0 1 pinnumber=15 T 950 5900 5 8 0 1 0 2 1 pinseq=21 T 900 5750 9 8 1 1 0 5 1 pinlabel=WE T 900 5600 5 8 0 1 0 5 1 pintype=in } P 1600 6100 1600 5800 1 0 0 { T 1650 5900 5 8 1 1 0 0 1 pinnumber=3 T 1650 5900 5 8 0 1 0 2 1 pinseq=22 T 1600 5750 9 8 1 1 0 5 1 pinlabel=3-State A T 1600 5600 5 8 0 1 0 5 1 pintype=in } B 300 300 1900 5500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2900 1850 5 10 0 0 0 0 1 description=4x4 multiport register T 2900 2850 5 10 0 0 0 0 1 numslots=0 T 100 50 9 10 1 0 0 0 1 40208 geda-gaf-1.8.2/symbols/4000/4053-1.sym0000664000175000017500000000276512204104272013442 00000000000000v 20031231 1 P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=15 T 200 550 5 8 0 1 0 8 1 pinseq=1 T 350 600 5 8 0 1 0 2 1 pintype=pas T 350 600 9 8 1 1 0 0 1 pinlabel=X } P 900 800 1200 800 1 0 1 { T 1000 850 5 8 1 1 0 0 1 pinnumber=2 T 1000 750 5 8 0 1 0 2 1 pinseq=3 T 850 800 5 8 0 1 0 8 1 pintype=pas T 850 800 9 8 1 1 0 6 1 pinlabel=X0 } P 900 400 1200 400 1 0 1 { T 1000 450 5 8 1 1 0 0 1 pinnumber=1 T 1000 350 5 8 0 1 0 2 1 pinseq=4 T 850 400 5 8 0 1 0 8 1 pintype=pas T 850 400 9 8 1 1 0 6 1 pinlabel=X1 } P 600 1100 600 1400 1 0 1 { T 650 1200 5 8 1 1 0 0 1 pinnumber=10 T 650 1200 5 8 0 1 0 2 1 pinseq=2 T 650 950 5 8 0 1 0 0 1 pintype=in T 600 1050 9 8 1 1 0 5 1 pinlabel=S } B 300 200 600 900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1400 0 5 10 0 0 0 0 1 net=VDD:16 T 1400 200 5 10 0 0 0 0 1 net=VSS:8,6 T 1400 400 5 10 0 0 0 0 1 net=VEE:7 T 1400 600 5 10 0 0 0 0 1 numslots=3 T 1400 800 5 10 0 0 0 0 1 slot=1 T 1400 1000 5 10 0 0 0 0 1 slotdef=1:15,10,2,1 T 1400 1200 5 10 0 0 0 0 1 slotdef=2:4,9,3,5 T 1400 1400 5 10 0 0 0 0 1 slotdef=3:14,11,13,12 T 1400 1600 5 10 0 0 0 0 1 device=4053 T 300 1200 8 10 1 1 0 0 1 refdes=U? T 1400 1800 5 10 0 0 0 0 1 footprint=DIP16 T 1400 2000 5 10 0 0 0 0 1 description=3 2-1 analogue multiplexer/demultiplexer T 1400 2200 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4053B_CNV_3.pdf T 300 0 9 10 1 0 0 0 1 4053 T 1400 2400 5 10 0 0 0 0 1 comment=dont_use this symbol: pin 6 (EN) ist missing; for safety I've enabled the device geda-gaf-1.8.2/symbols/4000/4022-1.sym0000664000175000017500000000506512204104272013432 00000000000000v 20031231 1 T 500 4400 8 10 1 1 0 6 1 refdes=U? T 2000 950 5 10 0 0 0 0 1 device=4022 T 2000 1150 5 10 0 0 0 0 1 footprint=DIP16 T 2000 1350 5 10 0 0 0 0 1 net=VSS:8 T 2000 1550 5 10 0 0 0 0 1 net=VDD:16 P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=15 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 1 1 0 0 1 pinlabel=Reset T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=13 T 200 1050 5 8 0 1 0 8 1 pinseq=2 T 350 1100 9 8 1 1 0 0 1 pinlabel=Inhibit T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=14 T 200 2250 5 8 0 1 0 8 1 pinseq=3 T 400 2300 9 8 1 1 0 0 1 pinlabel=CLK T 400 2300 5 8 0 1 0 2 1 pintype=clk } L 400 2300 300 2375 3 0 0 0 -1 -1 L 400 2300 300 2225 3 0 0 0 -1 -1 P 1600 3900 1300 3900 1 0 0 { T 1400 3950 5 8 1 1 0 0 1 pinnumber=12 T 1400 3850 5 8 0 1 0 2 1 pinseq=4 T 1250 3900 9 8 1 1 0 6 1 pinlabel=Carry T 1250 3900 5 8 0 1 0 8 1 pintype=out } P 1600 700 1300 700 1 0 0 { T 1400 750 5 8 1 1 0 0 1 pinnumber=10 T 1400 650 5 8 0 1 0 2 1 pinseq=5 T 1250 700 9 8 1 1 0 6 1 pinlabel=7 T 1250 700 5 8 0 1 0 8 1 pintype=out } P 1600 1100 1300 1100 1 0 0 { T 1400 1150 5 8 1 1 0 0 1 pinnumber=5 T 1400 1050 5 8 0 1 0 2 1 pinseq=6 T 1250 1100 9 8 1 1 0 6 1 pinlabel=6 T 1250 1100 5 8 0 1 0 8 1 pintype=out } P 1600 1500 1300 1500 1 0 0 { T 1400 1550 5 8 1 1 0 0 1 pinnumber=4 T 1400 1450 5 8 0 1 0 2 1 pinseq=7 T 1250 1500 9 8 1 1 0 6 1 pinlabel=5 T 1250 1500 5 8 0 1 0 8 1 pintype=out } P 1600 1900 1300 1900 1 0 0 { T 1400 1950 5 8 1 1 0 0 1 pinnumber=11 T 1400 1850 5 8 0 1 0 2 1 pinseq=8 T 1250 1900 9 8 1 1 0 6 1 pinlabel=4 T 1250 1900 5 8 0 1 0 8 1 pintype=out } P 1600 2300 1300 2300 1 0 0 { T 1400 2350 5 8 1 1 0 0 1 pinnumber=7 T 1400 2250 5 8 0 1 0 2 1 pinseq=9 T 1250 2300 9 8 1 1 0 6 1 pinlabel=3 T 1250 2300 5 8 0 1 0 8 1 pintype=out } P 1600 2700 1300 2700 1 0 0 { T 1400 2750 5 8 1 1 0 0 1 pinnumber=3 T 1400 2650 5 8 0 1 0 2 1 pinseq=10 T 1250 2700 9 8 1 1 0 6 1 pinlabel=2 T 1250 2700 5 8 0 1 0 8 1 pintype=out } P 1600 3100 1300 3100 1 0 0 { T 1400 3150 5 8 1 1 0 0 1 pinnumber=1 T 1400 3050 5 8 0 1 0 2 1 pinseq=11 T 1250 3100 9 8 1 1 0 6 1 pinlabel=1 T 1250 3100 5 8 0 1 0 8 1 pintype=out } P 1600 3500 1300 3500 1 0 0 { T 1400 3550 5 8 1 1 0 0 1 pinnumber=2 T 1400 3450 5 8 0 1 0 2 1 pinseq=12 T 1250 3500 9 8 1 1 0 6 1 pinlabel=0 T 1250 3500 5 8 0 1 0 8 1 pintype=out } B 300 300 1000 4000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2000 750 5 10 0 0 0 0 1 description=octal counter with 8 decoded outputs T 2000 1750 5 10 0 0 0 0 1 numslots=0 T 300 50 9 10 1 0 0 0 1 4022 geda-gaf-1.8.2/symbols/4000/4093-1.sym0000664000175000017500000000265712204104272013446 00000000000000v 20031231 1 L 300 200 300 800 3 0 0 0 -1 -1 L 300 800 700 800 3 0 0 0 -1 -1 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 0 1 { T 1100 550 5 8 1 1 0 0 1 pinnumber=3 T 1100 450 5 8 0 1 0 2 1 pinseq=3 T 950 500 9 8 0 1 0 6 1 pinlabel=Y T 950 500 5 8 0 1 0 8 1 pintype=out } P 300 300 0 300 1 0 1 { T 200 350 5 8 1 1 0 6 1 pinnumber=2 T 200 250 5 8 0 1 0 8 1 pinseq=2 T 350 300 9 8 0 1 0 0 1 pinlabel=B T 350 300 5 8 0 1 0 2 1 pintype=in } P 300 700 0 700 1 0 1 { T 200 750 5 8 1 1 0 6 1 pinnumber=1 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 0 1 0 0 1 pinlabel=A T 350 700 5 8 0 1 0 2 1 pintype=in } T 300 2300 5 10 0 0 0 0 1 device=4093 T 300 1100 5 10 0 0 0 0 1 slot=1 T 300 1300 5 10 0 0 0 0 1 numslots=4 T 300 1500 5 10 0 0 0 0 1 slotdef=1:1,2,3 T 300 1700 5 10 0 0 0 0 1 slotdef=2:5,6,4 T 300 1900 5 10 0 0 0 0 1 slotdef=3:8,9,10 T 300 2100 5 10 0 0 0 0 1 slotdef=4:12,13,11 L 400 350 600 350 3 0 0 0 -1 -1 L 600 350 700 650 3 0 0 0 -1 -1 L 500 350 600 650 3 0 0 0 -1 -1 L 600 650 800 650 3 0 0 0 -1 -1 T 300 900 8 10 1 1 0 0 1 refdes=U? T 300 2500 5 10 0 0 0 0 1 footprint=DIP14 T 300 2700 5 10 0 0 0 0 1 description=4 NAND Schmitt triggers T 300 2900 5 10 0 0 0 0 1 net=VDD:14 T 300 3100 5 10 0 0 0 0 1 net=VSS:7 T 300 3300 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4093B_CNV_3.pdf T 300 0 9 8 1 0 0 0 1 4093 geda-gaf-1.8.2/symbols/4000/4042-1.sym0000664000175000017500000000625612204104272013437 00000000000000v 20070626 1 T 500 4000 8 10 1 1 0 6 1 refdes=U? T 2000 950 5 10 0 0 0 0 1 device=4042 T 2000 1150 5 10 0 0 0 0 1 footprint=DIP16 T 2000 1350 5 10 0 0 0 0 1 net=VSS:8 T 2000 1550 5 10 0 0 0 0 1 net=VDD:16 P 800 0 800 300 1 0 0 { T 850 100 5 8 1 1 0 0 1 pinnumber=6 T 850 100 5 8 0 1 0 2 1 pinseq=1 T 800 350 9 8 1 1 0 3 1 pinlabel=POL T 800 500 5 8 0 1 0 3 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=14 T 200 1050 5 8 0 1 0 8 1 pinseq=2 T 350 1100 9 8 1 1 0 0 1 pinlabel=D4 T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=13 T 200 1850 5 8 0 1 0 8 1 pinseq=3 T 350 1900 9 8 1 1 0 0 1 pinlabel=D3 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=7 T 200 2650 5 8 0 1 0 8 1 pinseq=4 T 350 2700 9 8 1 1 0 0 1 pinlabel=D2 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=4 T 200 3450 5 8 0 1 0 8 1 pinseq=5 T 350 3500 9 8 1 1 0 0 1 pinlabel=D1 T 350 3500 5 8 0 1 0 2 1 pintype=in } P 1600 700 1400 700 1 0 0 { T 1400 750 5 8 1 1 0 0 1 pinnumber=15 T 1400 650 5 8 0 1 0 2 1 pinseq=6 T 1250 700 9 8 1 1 0 6 1 pinlabel=\_Q4\_ T 1250 700 5 8 0 1 0 8 1 pintype=out } V 1350 700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1600 1100 1300 1100 1 0 0 { T 1400 1150 5 8 1 1 0 0 1 pinnumber=1 T 1400 1050 5 8 0 1 0 2 1 pinseq=7 T 1250 1100 9 8 1 1 0 6 1 pinlabel=Q4 T 1250 1100 5 8 0 1 0 8 1 pintype=out } P 1600 1500 1400 1500 1 0 0 { T 1400 1550 5 8 1 1 0 0 1 pinnumber=12 T 1400 1450 5 8 0 1 0 2 1 pinseq=8 T 1250 1500 9 8 1 1 0 6 1 pinlabel=\_Q3\_ T 1250 1500 5 8 0 1 0 8 1 pintype=out } V 1350 1500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1600 1900 1300 1900 1 0 0 { T 1400 1950 5 8 1 1 0 0 1 pinnumber=11 T 1400 1850 5 8 0 1 0 2 1 pinseq=9 T 1250 1900 9 8 1 1 0 6 1 pinlabel=Q3 T 1250 1900 5 8 0 1 0 8 1 pintype=out } P 1600 2300 1400 2300 1 0 0 { T 1400 2350 5 8 1 1 0 0 1 pinnumber=9 T 1400 2250 5 8 0 1 0 2 1 pinseq=10 T 1250 2300 9 8 1 1 0 6 1 pinlabel=\_Q2\_ T 1250 2300 5 8 0 1 0 8 1 pintype=out } V 1350 2300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1600 2700 1300 2700 1 0 0 { T 1400 2750 5 8 1 1 0 0 1 pinnumber=10 T 1400 2650 5 8 0 1 0 2 1 pinseq=11 T 1250 2700 9 8 1 1 0 6 1 pinlabel=Q2 T 1250 2700 5 8 0 1 0 8 1 pintype=out } P 1600 3100 1400 3100 1 0 0 { T 1400 3150 5 8 1 1 0 0 1 pinnumber=3 T 1400 3050 5 8 0 1 0 2 1 pinseq=12 T 1250 3100 9 8 1 1 0 6 1 pinlabel=\_Q1\_ T 1250 3100 5 8 0 1 0 8 1 pintype=out } V 1350 3100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1600 3500 1300 3500 1 0 0 { T 1400 3550 5 8 1 1 0 0 1 pinnumber=2 T 1400 3450 5 8 0 1 0 2 1 pinseq=13 T 1250 3500 9 8 1 1 0 6 1 pinlabel=Q1 T 1250 3500 5 8 0 1 0 8 1 pintype=out } P 800 4200 800 3900 1 0 0 { T 850 4000 5 8 1 1 0 0 1 pinnumber=5 T 850 4000 5 8 0 1 0 2 1 pinseq=14 T 800 3775 9 8 1 1 0 5 1 pinlabel=CLK T 800 3625 5 8 0 1 0 5 1 pintype=clk } L 800 3800 725 3900 3 0 0 0 -1 -1 L 800 3800 875 3900 3 0 0 0 -1 -1 B 300 300 1000 3600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2000 750 5 10 0 0 0 0 1 description=4 D-type flip-flops T 2000 1750 5 10 0 0 0 0 1 numslots=0 T 2000 550 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4042B_CNV_3.pdf T 0 50 9 10 1 0 0 0 1 4042 geda-gaf-1.8.2/symbols/4000/40192-1.sym0000664000175000017500000000630212204104272013515 00000000000000v 20070626 1 T 500 4000 8 10 1 1 0 6 1 refdes=U? T 2000 950 5 10 0 0 0 0 1 device=40192 T 2000 1150 5 10 0 0 0 0 1 footprint=DIP16 T 2000 1350 5 10 0 0 0 0 1 net=VSS:8 T 2000 1550 5 10 0 0 0 0 1 net=VDD:16 P 0 2300 200 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=11 T 200 2250 5 8 0 1 0 8 1 pinseq=1 T 350 2300 9 8 1 1 0 0 1 pinlabel=\_LD\_ T 350 2300 5 8 0 1 0 2 1 pintype=in } V 250 2300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=5 T 200 3050 5 8 0 1 0 8 1 pinseq=2 T 400 3100 9 8 1 1 0 0 1 pinlabel=UP T 400 3100 5 8 0 1 0 2 1 pintype=clk } L 400 3100 300 3175 3 0 0 0 -1 -1 L 400 3100 300 3025 3 0 0 0 -1 -1 P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=4 T 200 3450 5 8 0 1 0 8 1 pinseq=3 T 400 3500 9 8 1 1 0 0 1 pinlabel=DN T 400 3500 5 8 0 1 0 2 1 pintype=clk } L 400 3500 300 3575 3 0 0 0 -1 -1 L 400 3500 300 3425 3 0 0 0 -1 -1 P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=9 T 200 650 5 8 0 1 0 8 1 pinseq=4 T 350 700 9 8 1 1 0 0 1 pinlabel=DD T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=10 T 200 1050 5 8 0 1 0 8 1 pinseq=5 T 350 1100 9 8 1 1 0 0 1 pinlabel=DC T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=1 T 200 1450 5 8 0 1 0 8 1 pinseq=6 T 350 1500 9 8 1 1 0 0 1 pinlabel=DB T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=15 T 200 1850 5 8 0 1 0 8 1 pinseq=7 T 350 1900 9 8 1 1 0 0 1 pinlabel=DA T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=14 T 200 2650 5 8 0 1 0 8 1 pinseq=8 T 350 2700 9 8 1 1 0 0 1 pinlabel=CL T 350 2700 5 8 0 1 0 2 1 pintype=in } P 1600 3100 1400 3100 1 0 0 { T 1400 3150 5 8 1 1 0 0 1 pinnumber=12 T 1400 3050 5 8 0 1 0 2 1 pinseq=9 T 1250 3100 9 8 1 1 0 6 1 pinlabel=\_C\_ T 1250 3100 5 8 0 1 0 8 1 pintype=out } V 1350 3100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1600 3500 1400 3500 1 0 0 { T 1400 3550 5 8 1 1 0 0 1 pinnumber=13 T 1400 3450 5 8 0 1 0 2 1 pinseq=10 T 1250 3500 9 8 1 1 0 6 1 pinlabel=\_B\_ T 1250 3500 5 8 0 1 0 8 1 pintype=out } V 1350 3500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1600 700 1300 700 1 0 0 { T 1400 750 5 8 1 1 0 0 1 pinnumber=7 T 1400 650 5 8 0 1 0 2 1 pinseq=11 T 1250 700 9 8 1 1 0 6 1 pinlabel=QD T 1250 700 5 8 0 1 0 8 1 pintype=out } P 1600 1100 1300 1100 1 0 0 { T 1400 1150 5 8 1 1 0 0 1 pinnumber=6 T 1400 1050 5 8 0 1 0 2 1 pinseq=12 T 1250 1100 9 8 1 1 0 6 1 pinlabel=QC T 1250 1100 5 8 0 1 0 8 1 pintype=out } P 1600 1500 1300 1500 1 0 0 { T 1400 1550 5 8 1 1 0 0 1 pinnumber=2 T 1400 1450 5 8 0 1 0 2 1 pinseq=13 T 1250 1500 9 8 1 1 0 6 1 pinlabel=QB T 1250 1500 5 8 0 1 0 8 1 pintype=out } P 1600 1900 1300 1900 1 0 0 { T 1400 1950 5 8 1 1 0 0 1 pinnumber=3 T 1400 1850 5 8 0 1 0 2 1 pinseq=14 T 1250 1900 9 8 1 1 0 6 1 pinlabel=QA T 1250 1900 5 8 0 1 0 8 1 pintype=out } B 300 300 1000 3600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2000 750 5 10 0 0 0 0 1 description=synchronous programmable decade counter T 2000 1750 5 10 0 0 0 0 1 numslots=0 T 2000 550 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF40192B_CNV_3.pdf T 300 50 9 10 1 0 0 0 1 40192 geda-gaf-1.8.2/symbols/4000/4504-1.sym0000664000175000017500000000523612204104272013437 00000000000000v 20031231 1 T 1700 3100 8 10 1 1 0 6 1 refdes=U? T 300 3250 5 10 0 0 0 0 1 device=4504 T 300 3450 5 10 0 0 0 0 1 footprint=DIP16 T 300 3650 5 10 0 0 0 0 1 net=VCC:1 T 300 3850 5 10 0 0 0 0 1 net=VSS:8 T 300 4050 5 10 0 0 0 0 1 net=VDD:16 P 0 300 300 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=13 T 200 250 5 8 0 1 0 8 1 pinseq=1 T 350 300 9 8 1 1 0 0 1 pinlabel=Mode T 350 300 5 8 0 1 0 2 1 pintype=in } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=14 T 200 650 5 8 0 1 0 8 1 pinseq=2 T 350 700 9 8 1 1 0 0 1 pinlabel=A6 T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=11 T 200 1050 5 8 0 1 0 8 1 pinseq=3 T 350 1100 9 8 1 1 0 0 1 pinlabel=A5 T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=9 T 200 1450 5 8 0 1 0 8 1 pinseq=4 T 350 1500 9 8 1 1 0 0 1 pinlabel=A4 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=7 T 200 1850 5 8 0 1 0 8 1 pinseq=5 T 350 1900 9 8 1 1 0 0 1 pinlabel=A3 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=5 T 200 2250 5 8 0 1 0 8 1 pinseq=6 T 350 2300 9 8 1 1 0 0 1 pinlabel=A2 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=3 T 200 2650 5 8 0 1 0 8 1 pinseq=7 T 350 2700 9 8 1 1 0 0 1 pinlabel=A1 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 2000 700 1700 700 1 0 0 { T 1800 750 5 8 1 1 0 0 1 pinnumber=15 T 1800 650 5 8 0 1 0 2 1 pinseq=8 T 1650 700 9 8 1 1 0 6 1 pinlabel=Y6 T 1650 700 5 8 0 1 0 8 1 pintype=out } P 2000 1100 1700 1100 1 0 0 { T 1800 1150 5 8 1 1 0 0 1 pinnumber=12 T 1800 1050 5 8 0 1 0 2 1 pinseq=9 T 1650 1100 9 8 1 1 0 6 1 pinlabel=Y5 T 1650 1100 5 8 0 1 0 8 1 pintype=out } P 2000 1500 1700 1500 1 0 0 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=10 T 1800 1450 5 8 0 1 0 2 1 pinseq=10 T 1650 1500 9 8 1 1 0 6 1 pinlabel=Y4 T 1650 1500 5 8 0 1 0 8 1 pintype=out } P 2000 1900 1700 1900 1 0 0 { T 1800 1950 5 8 1 1 0 0 1 pinnumber=6 T 1800 1850 5 8 0 1 0 2 1 pinseq=11 T 1650 1900 9 8 1 1 0 6 1 pinlabel=Y3 T 1650 1900 5 8 0 1 0 8 1 pintype=out } P 2000 2300 1700 2300 1 0 0 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=4 T 1800 2250 5 8 0 1 0 2 1 pinseq=12 T 1650 2300 9 8 1 1 0 6 1 pinlabel=Y2 T 1650 2300 5 8 0 1 0 8 1 pintype=out } P 2000 2700 1700 2700 1 0 0 { T 1800 2750 5 8 1 1 0 0 1 pinnumber=2 T 1800 2650 5 8 0 1 0 2 1 pinseq=13 T 1650 2700 9 8 1 1 0 6 1 pinlabel=Y1 T 1650 2700 5 8 0 1 0 8 1 pintype=out } B 300 0 1400 3000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4450 5 10 0 0 0 0 1 description=Hex TTL or CMOS to CMOS level converter T 300 4250 5 10 0 0 0 0 1 numslots=0 T 300 3050 9 10 1 0 0 0 1 4504 geda-gaf-1.8.2/symbols/4000/4042-2.sym0000664000175000017500000000625012204104272013432 00000000000000v 20070626 1 T 1700 4300 8 10 1 1 0 6 1 refdes=U? T 300 4450 5 10 0 0 0 0 1 device=4042 T 300 4650 5 10 0 0 0 0 1 footprint=DIP16 T 300 4850 5 10 0 0 0 0 1 net=VSS:8 T 300 5050 5 10 0 0 0 0 1 net=VDD:16 P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=14 T 200 1450 5 8 0 1 0 8 1 pinseq=2 T 350 1500 9 8 1 1 0 0 1 pinlabel=D4 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=13 T 200 2250 5 8 0 1 0 8 1 pinseq=3 T 350 2300 9 8 1 1 0 0 1 pinlabel=D3 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=7 T 200 3050 5 8 0 1 0 8 1 pinseq=4 T 350 3100 9 8 1 1 0 0 1 pinlabel=D2 T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 3900 300 3900 1 0 0 { T 200 3950 5 8 1 1 0 6 1 pinnumber=4 T 200 3850 5 8 0 1 0 8 1 pinseq=5 T 350 3900 9 8 1 1 0 0 1 pinlabel=D1 T 350 3900 5 8 0 1 0 2 1 pintype=in } P 2000 1100 1800 1100 1 0 0 { T 1800 1150 5 8 1 1 0 0 1 pinnumber=15 T 1800 1050 5 8 0 1 0 2 1 pinseq=6 T 1650 1100 9 8 1 1 0 6 1 pinlabel=\_Q4\_ T 1650 1100 5 8 0 1 0 8 1 pintype=out } V 1750 1100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 1500 1700 1500 1 0 0 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=1 T 1800 1450 5 8 0 1 0 2 1 pinseq=7 T 1650 1500 9 8 1 1 0 6 1 pinlabel=Q4 T 1650 1500 5 8 0 1 0 8 1 pintype=out } P 2000 1900 1800 1900 1 0 0 { T 1800 1950 5 8 1 1 0 0 1 pinnumber=12 T 1800 1850 5 8 0 1 0 2 1 pinseq=8 T 1650 1900 9 8 1 1 0 6 1 pinlabel=\_Q3\_ T 1650 1900 5 8 0 1 0 8 1 pintype=out } V 1750 1900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 2300 1700 2300 1 0 0 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=11 T 1800 2250 5 8 0 1 0 2 1 pinseq=9 T 1650 2300 9 8 1 1 0 6 1 pinlabel=Q3 T 1650 2300 5 8 0 1 0 8 1 pintype=out } P 2000 2700 1800 2700 1 0 0 { T 1800 2750 5 8 1 1 0 0 1 pinnumber=9 T 1800 2650 5 8 0 1 0 2 1 pinseq=10 T 1650 2700 9 8 1 1 0 6 1 pinlabel=\_Q2\_ T 1650 2700 5 8 0 1 0 8 1 pintype=out } V 1750 2700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 3100 1700 3100 1 0 0 { T 1800 3150 5 8 1 1 0 0 1 pinnumber=10 T 1800 3050 5 8 0 1 0 2 1 pinseq=11 T 1650 3100 9 8 1 1 0 6 1 pinlabel=Q2 T 1650 3100 5 8 0 1 0 8 1 pintype=out } P 2000 3500 1800 3500 1 0 0 { T 1800 3550 5 8 1 1 0 0 1 pinnumber=3 T 1800 3450 5 8 0 1 0 2 1 pinseq=12 T 1650 3500 9 8 1 1 0 6 1 pinlabel=\_Q1\_ T 1650 3500 5 8 0 1 0 8 1 pintype=out } V 1750 3500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 3900 1700 3900 1 0 0 { T 1800 3950 5 8 1 1 0 0 1 pinnumber=2 T 1800 3850 5 8 0 1 0 2 1 pinseq=13 T 1650 3900 9 8 1 1 0 6 1 pinlabel=Q1 T 1650 3900 5 8 0 1 0 8 1 pintype=out } B 300 0 1400 4200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 5650 5 10 0 0 0 0 1 description=4 D-type flip-flops T 300 5250 5 10 0 0 0 0 1 numslots=0 T 300 5450 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4042B_CNV_3.pdf T 300 4250 9 10 1 0 0 0 1 4042 P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=5 T 200 650 5 8 0 1 0 8 1 pinseq=14 T 375 700 9 8 1 1 0 0 1 pinlabel=CLK T 375 700 5 8 0 1 0 2 1 pintype=clk } P 0 300 300 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=6 T 200 250 5 8 0 1 0 8 1 pinseq=1 T 350 300 9 8 1 1 0 0 1 pinlabel=POL T 350 300 5 8 0 1 0 2 1 pintype=in } L 375 700 300 750 3 0 0 0 -1 -1 L 375 700 300 650 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/4000/4015-1.sym0000664000175000017500000000343612204104272013434 00000000000000v 20031231 1 P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=7 T 200 1450 5 8 0 1 0 8 1 pinseq=1 T 350 1500 9 8 1 1 0 0 1 pinlabel=D T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=9 T 200 1050 5 8 0 1 0 8 1 pinseq=2 T 375 1100 9 8 1 1 0 0 1 pinlabel=CLK T 375 1100 5 8 0 1 0 2 1 pintype=clk } P 0 300 300 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=6 T 200 250 5 8 0 1 0 8 1 pinseq=3 T 350 300 9 8 1 1 0 0 1 pinlabel=Reset T 350 300 5 8 0 1 0 2 1 pintype=in } P 1800 1500 2100 1500 1 0 1 { T 1900 1550 5 8 1 1 0 0 1 pinnumber=5 T 1900 1450 5 8 0 1 0 2 1 pinseq=4 T 1750 1500 9 8 1 1 0 6 1 pinlabel=Q1 T 1750 1500 5 8 0 1 0 8 1 pintype=out } P 1800 1100 2100 1100 1 0 1 { T 1900 1150 5 8 1 1 0 0 1 pinnumber=4 T 1900 1050 5 8 0 1 0 2 1 pinseq=5 T 1750 1100 9 8 1 1 0 6 1 pinlabel=Q2 T 1750 1100 5 8 0 1 0 8 1 pintype=out } P 1800 700 2100 700 1 0 1 { T 1900 750 5 8 1 1 0 0 1 pinnumber=3 T 1900 650 5 8 0 1 0 2 1 pinseq=6 T 1750 700 9 8 1 1 0 6 1 pinlabel=Q3 T 1750 700 5 8 0 1 0 8 1 pintype=out } P 1800 300 2100 300 1 0 1 { T 1900 350 5 8 1 1 0 0 1 pinnumber=10 T 1900 250 5 8 0 1 0 2 1 pinseq=7 T 1750 300 9 8 1 1 0 6 1 pinlabel=Q4 T 1750 300 5 8 0 1 0 8 1 pintype=out } B 300 0 1500 1800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 2050 5 10 0 0 0 0 1 device=4015 T 300 2250 5 10 0 0 0 0 1 footprint=DIP16 T 300 2450 5 10 0 0 0 0 1 slot=1 T 300 3050 5 10 0 0 0 0 1 numslots=2 T 300 2850 5 10 0 0 0 0 1 slotdef=1:7,9,6,5,4,3,10 T 300 2650 5 10 0 0 0 0 1 slotdef=2:15,1,14,13,12,11,2 T 1800 1900 8 10 1 1 0 6 1 refdes=U? T 300 3250 5 10 0 0 0 0 1 description=2 4-bit static shift register T 300 3450 5 10 0 0 0 0 1 net=VDD:16 T 300 3650 5 10 0 0 0 0 1 net=VSS:8 T 300 1850 3 10 1 0 0 0 1 4015 L 375 1100 300 1150 3 0 0 0 -1 -1 L 375 1100 300 1050 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/4000/40162-1.sym0000664000175000017500000000612612204104272013516 00000000000000v 20070626 1 T 500 4400 8 10 1 1 0 6 1 refdes=U? T 2000 950 5 10 0 0 0 0 1 device=40162 T 2000 1150 5 10 0 0 0 0 1 footprint=DIP16 T 2000 1350 5 10 0 0 0 0 1 net=VSS:8 T 2000 1550 5 10 0 0 0 0 1 net=VDD:16 P 0 3100 200 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=9 T 200 3050 5 8 0 1 0 8 1 pinseq=1 T 350 3100 9 8 1 1 0 0 1 pinlabel=\_LOAD\_ T 350 3100 5 8 0 1 0 2 1 pintype=in } V 250 3100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3500 200 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=1 T 200 3450 5 8 0 1 0 8 1 pinseq=2 T 350 3500 9 8 1 1 0 0 1 pinlabel=\_CLR\_ T 350 3500 5 8 0 1 0 2 1 pintype=in } V 250 3500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=6 T 200 1450 5 8 0 1 0 8 1 pinseq=3 T 350 1500 9 8 1 1 0 0 1 pinlabel=I3 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=5 T 200 1850 5 8 0 1 0 8 1 pinseq=4 T 350 1900 9 8 1 1 0 0 1 pinlabel=I2 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=4 T 200 2250 5 8 0 1 0 8 1 pinseq=5 T 350 2300 9 8 1 1 0 0 1 pinlabel=I1 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=3 T 200 2650 5 8 0 1 0 8 1 pinseq=6 T 350 2700 9 8 1 1 0 0 1 pinlabel=I0 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=10 T 200 650 5 8 0 1 0 8 1 pinseq=7 T 350 700 9 8 1 1 0 0 1 pinlabel=ENT T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=7 T 200 1050 5 8 0 1 0 8 1 pinseq=8 T 350 1100 9 8 1 1 0 0 1 pinlabel=ENP T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 3900 300 3900 1 0 0 { T 200 3950 5 8 1 1 0 6 1 pinnumber=2 T 200 3850 5 8 0 1 0 8 1 pinseq=9 T 400 3900 9 8 1 1 0 0 1 pinlabel=CLK T 400 3900 5 8 0 1 0 2 1 pintype=clk } L 400 3900 300 3975 3 0 0 0 -1 -1 L 400 3900 300 3825 3 0 0 0 -1 -1 P 1600 3900 1300 3900 1 0 0 { T 1400 3950 5 8 1 1 0 0 1 pinnumber=15 T 1400 3850 5 8 0 1 0 2 1 pinseq=10 T 1250 3900 9 8 1 1 0 6 1 pinlabel=RCO T 1250 3900 5 8 0 1 0 8 1 pintype=out } P 1600 1500 1300 1500 1 0 0 { T 1400 1550 5 8 1 1 0 0 1 pinnumber=11 T 1400 1450 5 8 0 1 0 2 1 pinseq=11 T 1250 1500 9 8 1 1 0 6 1 pinlabel=Q3 T 1250 1500 5 8 0 1 0 8 1 pintype=out } P 1600 1900 1300 1900 1 0 0 { T 1400 1950 5 8 1 1 0 0 1 pinnumber=12 T 1400 1850 5 8 0 1 0 2 1 pinseq=12 T 1250 1900 9 8 1 1 0 6 1 pinlabel=Q2 T 1250 1900 5 8 0 1 0 8 1 pintype=out } P 1600 2300 1300 2300 1 0 0 { T 1400 2350 5 8 1 1 0 0 1 pinnumber=13 T 1400 2250 5 8 0 1 0 2 1 pinseq=13 T 1250 2300 9 8 1 1 0 6 1 pinlabel=Q1 T 1250 2300 5 8 0 1 0 8 1 pintype=out } P 1600 2700 1300 2700 1 0 0 { T 1400 2750 5 8 1 1 0 0 1 pinnumber=14 T 1400 2650 5 8 0 1 0 2 1 pinseq=14 T 1250 2700 9 8 1 1 0 6 1 pinlabel=Q0 T 1250 2700 5 8 0 1 0 8 1 pintype=out } B 300 300 1000 4000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2000 750 5 10 0 0 0 0 1 description=4-bit synchronous programmable decade counter T 2000 1750 5 10 0 0 0 0 1 numslots=0 T 2000 550 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF40162B_CNV_3.pdf T 300 50 9 10 1 0 0 0 1 40162 geda-gaf-1.8.2/symbols/4000/4007-1.sym0000664000175000017500000001232112204104272013426 00000000000000v 20031231 1 P 600 2500 1000 2500 1 0 1 { T 650 2500 5 8 0 1 0 8 1 pintype=out T 800 2550 5 8 1 1 0 0 1 pinnumber=13 T 800 2450 5 8 0 1 0 2 1 pinseq=8 T 650 2500 9 8 0 1 0 6 1 pinlabel=D_P1 } P 600 2900 1000 2900 1 0 1 { T 650 2900 5 8 0 1 0 8 1 pintype=pwr T 800 2950 5 8 1 1 0 0 1 pinnumber=14 T 800 2850 5 8 0 1 0 2 1 pinseq=7 T 650 2900 9 8 0 1 0 6 1 pinlabel=VDD,S_P1 } L 600 3000 600 2800 3 0 0 0 -1 -1 L 600 2600 600 2400 3 0 0 0 -1 -1 L 600 2750 600 2650 3 0 0 0 -1 -1 L 550 2950 550 2450 3 0 0 0 -1 -1 P 600 1700 1000 1700 1 0 1 { T 650 1700 5 8 0 1 0 8 1 pintype=pwr T 800 1750 5 8 1 1 0 0 1 pinnumber=7 T 800 1650 5 8 0 1 0 2 1 pinseq=10 T 650 1700 9 8 0 1 0 6 1 pinlabel=VSS,S_N1 } P 600 2100 1000 2100 1 0 1 { T 650 2100 5 8 0 1 0 8 1 pintype=out T 800 2150 5 8 1 1 0 0 1 pinnumber=8 T 800 2050 5 8 0 1 0 2 1 pinseq=9 T 650 2100 9 8 0 1 0 6 1 pinlabel=D_N1 } L 600 2200 600 2000 3 0 0 0 -1 -1 L 600 1950 600 1850 3 0 0 0 -1 -1 L 550 2150 550 1650 3 0 0 0 -1 -1 L 550 2950 300 2950 3 0 0 0 -1 -1 L 300 2950 300 1650 3 0 0 0 -1 -1 L 300 1650 550 1650 3 0 0 0 -1 -1 P 300 2300 0 2300 1 0 1 { T 350 2300 5 8 0 1 0 2 1 pintype=in T 200 2350 5 8 1 1 0 6 1 pinnumber=6 T 200 2250 5 8 0 1 0 8 1 pinseq=2 T 350 2300 9 8 0 1 0 0 1 pinlabel=G1 } L 600 1800 600 1600 3 0 0 0 -1 -1 L 625 2650 625 2750 3 0 0 0 -1 -1 L 625 2650 675 2700 3 0 0 0 -1 -1 L 675 2700 625 2750 3 0 0 0 -1 -1 L 675 2650 675 2750 3 0 0 0 -1 -1 L 675 2700 700 2700 3 0 0 0 -1 -1 L 700 2700 700 2900 3 0 0 0 -1 -1 L 675 1850 675 1950 3 0 0 0 -1 -1 L 675 1850 625 1900 3 0 0 0 -1 -1 L 625 1900 675 1950 3 0 0 0 -1 -1 L 625 1850 625 1950 3 0 0 0 -1 -1 L 675 1900 700 1900 3 0 0 0 -1 -1 L 700 1700 700 1900 3 0 0 0 -1 -1 L 600 1900 625 1900 3 0 0 0 -1 -1 L 600 2700 625 2700 3 0 0 0 -1 -1 P 600 900 1000 900 1 0 1 { T 650 900 5 8 0 1 0 8 1 pintype=out T 800 950 5 8 1 1 0 0 1 pinnumber=1 T 800 850 5 8 0 1 0 2 1 pinseq=12 T 650 900 9 8 0 1 0 6 1 pinlabel=D_P2 } P 600 1300 1000 1300 1 0 1 { T 650 1300 5 8 0 1 0 8 1 pintype=out T 800 1350 5 8 1 1 0 0 1 pinnumber=2 T 800 1250 5 8 0 1 0 2 1 pinseq=11 T 650 1300 9 8 0 1 0 6 1 pinlabel=S_P2 } L 600 1400 600 1200 3 0 0 0 -1 -1 L 600 1000 600 800 3 0 0 0 -1 -1 L 600 1150 600 1050 3 0 0 0 -1 -1 L 550 1350 550 850 3 0 0 0 -1 -1 P 600 100 1000 100 1 0 1 { T 650 100 5 8 0 1 0 8 1 pintype=out T 800 150 5 8 1 1 0 0 1 pinnumber=4 T 800 50 5 8 0 1 0 2 1 pinseq=4 T 650 100 9 8 0 1 0 6 1 pinlabel=S_N2 } P 600 500 1000 500 1 0 1 { T 650 500 5 8 0 1 0 8 1 pintype=out T 800 550 5 8 1 1 0 0 1 pinnumber=5 T 800 450 5 8 0 1 0 2 1 pinseq=13 T 650 500 9 8 0 1 0 6 1 pinlabel=D_N2 } L 600 600 600 400 3 0 0 0 -1 -1 L 600 350 600 250 3 0 0 0 -1 -1 L 550 550 550 50 3 0 0 0 -1 -1 L 550 1350 300 1350 3 0 0 0 -1 -1 L 300 1350 300 50 3 0 0 0 -1 -1 L 300 50 550 50 3 0 0 0 -1 -1 P 300 700 0 700 1 0 1 { T 350 700 5 8 0 1 0 2 1 pintype=in T 200 750 5 8 1 1 0 6 1 pinnumber=3 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 0 1 0 0 1 pinlabel=G2 } L 600 200 600 0 3 0 0 0 -1 -1 L 625 1050 625 1150 3 0 0 0 -1 -1 L 625 1050 675 1100 3 0 0 0 -1 -1 L 675 1100 625 1150 3 0 0 0 -1 -1 L 675 1050 675 1150 3 0 0 0 -1 -1 L 675 1100 700 1100 3 0 0 0 -1 -1 L 800 1100 700 1100 3 0 0 0 -1 -1 L 675 250 675 350 3 0 0 0 -1 -1 L 675 250 625 300 3 0 0 0 -1 -1 L 625 300 675 350 3 0 0 0 -1 -1 L 625 250 625 350 3 0 0 0 -1 -1 L 675 300 700 300 3 0 0 0 -1 -1 L 800 300 700 300 3 0 0 0 -1 -1 L 600 300 625 300 3 0 0 0 -1 -1 L 600 1100 625 1100 3 0 0 0 -1 -1 P 700 3900 1000 3900 1 0 1 { T 650 3900 5 8 0 1 0 8 1 pintype=out T 800 3950 5 8 1 1 0 0 1 pinnumber=12 T 800 3850 5 8 0 1 0 2 1 pinseq=5 T 650 3900 9 8 0 1 0 6 1 pinlabel=D_N/P3 } P 600 4500 1000 4500 1 0 1 { T 650 4500 5 8 0 1 0 8 1 pintype=out T 800 4550 5 8 1 1 0 0 1 pinnumber=11 T 800 4450 5 8 0 1 0 2 1 pinseq=14 T 650 4500 9 8 0 1 0 6 1 pinlabel=S_P3 } L 600 4600 600 4400 3 0 0 0 -1 -1 L 600 4200 600 4000 3 0 0 0 -1 -1 L 600 4350 600 4250 3 0 0 0 -1 -1 L 550 4550 550 4050 3 0 0 0 -1 -1 P 600 3300 1000 3300 1 0 1 { T 650 3300 5 8 0 1 0 8 1 pintype=out T 800 3350 5 8 1 1 0 0 1 pinnumber=9 T 800 3250 5 8 0 1 0 2 1 pinseq=6 T 650 3300 9 8 0 1 0 6 1 pinlabel=S_N3 } L 600 3800 600 3600 3 0 0 0 -1 -1 L 600 3550 600 3450 3 0 0 0 -1 -1 L 550 3750 550 3250 3 0 0 0 -1 -1 L 550 4550 300 4550 3 0 0 0 -1 -1 L 300 4550 300 3250 3 0 0 0 -1 -1 L 300 3250 550 3250 3 0 0 0 -1 -1 P 300 3900 0 3900 1 0 1 { T 350 3900 5 8 0 1 0 2 1 pintype=in T 200 3950 5 8 1 1 0 6 1 pinnumber=10 T 200 3850 5 8 0 1 0 8 1 pinseq=3 T 350 3900 9 8 0 1 0 0 1 pinlabel=G3 } L 600 3400 600 3200 3 0 0 0 -1 -1 L 625 4250 625 4350 3 0 0 0 -1 -1 L 625 4250 675 4300 3 0 0 0 -1 -1 L 675 4300 625 4350 3 0 0 0 -1 -1 L 675 4250 675 4350 3 0 0 0 -1 -1 L 675 4300 700 4300 3 0 0 0 -1 -1 L 800 4300 700 4300 3 0 0 0 -1 -1 L 675 3450 675 3550 3 0 0 0 -1 -1 L 675 3450 625 3500 3 0 0 0 -1 -1 L 625 3500 675 3550 3 0 0 0 -1 -1 L 625 3450 625 3550 3 0 0 0 -1 -1 L 675 3500 700 3500 3 0 0 0 -1 -1 L 800 3500 700 3500 3 0 0 0 -1 -1 L 600 3500 625 3500 3 0 0 0 -1 -1 L 600 4300 625 4300 3 0 0 0 -1 -1 L 600 4100 700 4100 3 0 0 0 -1 -1 L 600 3700 700 3700 3 0 0 0 -1 -1 L 700 3700 700 4100 3 0 0 0 -1 -1 T 300 4800 8 10 1 1 0 0 1 refdes=U? T 800 4800 5 10 0 0 0 0 1 device=4007 T 800 5200 5 10 0 0 0 0 1 footprint=DIP14 T 800 5400 5 10 0 0 0 0 1 description=dual complementary pair and inverter T 800 5000 5 10 0 0 0 0 1 numslots=0 geda-gaf-1.8.2/symbols/4000/4062-1.sym0000664000175000017500000000541312204104272013433 00000000000000v 20031231 1 T 300 2000 8 10 1 1 0 6 1 refdes=U? T 3000 1150 5 10 0 0 0 0 1 device=4062 T 3000 1350 5 10 0 0 0 0 1 footprint=none T 3000 1550 5 10 0 0 0 0 1 net=VSS:8 T 3000 1750 5 10 0 0 0 0 1 net=VDD:16 P 1900 0 1900 300 1 0 0 { T 1950 100 5 8 1 1 0 0 1 pinnumber=1 T 1950 100 5 8 0 1 0 2 1 pinseq=1 T 1900 350 9 8 1 1 0 3 1 pinlabel=B3 T 1900 500 5 8 0 1 0 3 1 pintype=in } P 1500 0 1500 300 1 0 0 { T 1550 100 5 8 1 1 0 0 1 pinnumber=14 T 1550 100 5 8 0 1 0 2 1 pinseq=2 T 1500 350 9 8 1 1 0 3 1 pinlabel=B2 T 1500 500 5 8 0 1 0 3 1 pintype=in } P 1100 0 1100 300 1 0 0 { T 1150 100 5 8 1 1 0 0 1 pinnumber=11 T 1150 100 5 8 0 1 0 2 1 pinseq=3 T 1100 350 9 8 1 1 0 3 1 pinlabel=B1 T 1100 500 5 8 0 1 0 3 1 pintype=in } P 700 0 700 300 1 0 0 { T 750 100 5 8 1 1 0 0 1 pinnumber=9 T 750 100 5 8 0 1 0 2 1 pinseq=4 T 700 350 9 8 1 1 0 3 1 pinlabel=B0 T 700 500 5 8 0 1 0 3 1 pintype=in } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=4 T 200 650 5 8 0 1 0 8 1 pinseq=5 T 350 700 9 8 1 1 0 0 1 pinlabel=(A > B) In T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=3 T 200 1050 5 8 0 1 0 8 1 pinseq=6 T 350 1100 9 8 1 1 0 0 1 pinlabel=(A = B) In T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=2 T 200 1450 5 8 0 1 0 8 1 pinseq=7 T 350 1500 9 8 1 1 0 0 1 pinlabel=(A < B) In T 350 1500 5 8 0 1 0 2 1 pintype=in } P 2600 700 2300 700 1 0 0 { T 2400 750 5 8 1 1 0 0 1 pinnumber=5 T 2400 650 5 8 0 1 0 2 1 pinseq=8 T 2250 700 9 8 1 1 0 6 1 pinlabel=(A > B) Out T 2250 700 5 8 0 1 0 8 1 pintype=out } P 2600 1100 2300 1100 1 0 0 { T 2400 1150 5 8 1 1 0 0 1 pinnumber=6 T 2400 1050 5 8 0 1 0 2 1 pinseq=9 T 2250 1100 9 8 1 1 0 6 1 pinlabel=(A = B) Out T 2250 1100 5 8 0 1 0 8 1 pintype=out } P 2600 1500 2300 1500 1 0 0 { T 2400 1550 5 8 1 1 0 0 1 pinnumber=7 T 2400 1450 5 8 0 1 0 2 1 pinseq=10 T 2250 1500 9 8 1 1 0 6 1 pinlabel=(A < B) Out T 2250 1500 5 8 0 1 0 8 1 pintype=out } P 1900 2200 1900 1900 1 0 0 { T 1950 2000 5 8 1 1 0 0 1 pinnumber=15 T 1950 2000 5 8 0 1 0 2 1 pinseq=11 T 1900 1850 9 8 1 1 0 5 1 pinlabel=A3 T 1900 1700 5 8 0 1 0 5 1 pintype=in } P 1500 2200 1500 1900 1 0 0 { T 1550 2000 5 8 1 1 0 0 1 pinnumber=13 T 1550 2000 5 8 0 1 0 2 1 pinseq=12 T 1500 1850 9 8 1 1 0 5 1 pinlabel=A2 T 1500 1700 5 8 0 1 0 5 1 pintype=in } P 1100 2200 1100 1900 1 0 0 { T 1150 2000 5 8 1 1 0 0 1 pinnumber=12 T 1150 2000 5 8 0 1 0 2 1 pinseq=13 T 1100 1850 9 8 1 1 0 5 1 pinlabel=A1 T 1100 1700 5 8 0 1 0 5 1 pintype=in } P 700 2200 700 1900 1 0 0 { T 750 2000 5 8 1 1 0 0 1 pinnumber=10 T 750 2000 5 8 0 1 0 2 1 pinseq=14 T 700 1850 9 8 1 1 0 5 1 pinlabel=A0 T 700 1700 5 8 0 1 0 5 1 pintype=in } B 300 300 2000 1600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 3000 950 5 10 0 0 0 0 1 numslots=0 T 100 50 9 10 1 0 0 0 1 4062 geda-gaf-1.8.2/symbols/4000/4008-1.sym0000664000175000017500000000545012204104272013434 00000000000000v 20031231 1 T 500 4400 8 10 1 1 0 6 1 refdes=U? T 3000 950 5 10 0 0 0 0 1 device=4008 T 3000 1150 5 10 0 0 0 0 1 footprint=DIP16 T 3000 1350 5 10 0 0 0 0 1 net=VSS:8 T 3000 1550 5 10 0 0 0 0 1 net=VDD:16 P 0 3900 300 3900 1 0 0 { T 200 3950 5 8 1 1 0 6 1 pinnumber=9 T 200 3850 5 8 0 1 0 8 1 pinseq=1 T 350 3900 9 8 1 1 0 0 1 pinlabel=Carry In T 350 3900 5 8 0 1 0 2 1 pintype=in } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=15 T 200 650 5 8 0 1 0 8 1 pinseq=2 T 350 700 9 8 1 1 0 0 1 pinlabel=B3 T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=2 T 200 1050 5 8 0 1 0 8 1 pinseq=3 T 350 1100 9 8 1 1 0 0 1 pinlabel=B2 T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=4 T 200 1450 5 8 0 1 0 8 1 pinseq=4 T 350 1500 9 8 1 1 0 0 1 pinlabel=B1 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=6 T 200 1850 5 8 0 1 0 8 1 pinseq=5 T 350 1900 9 8 1 1 0 0 1 pinlabel=B0 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=7 T 200 3450 5 8 0 1 0 8 1 pinseq=6 T 350 3500 9 8 1 1 0 0 1 pinlabel=A0 T 350 3500 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=1 T 200 2250 5 8 0 1 0 8 1 pinseq=7 T 350 2300 9 8 1 1 0 0 1 pinlabel=A3 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=3 T 200 2650 5 8 0 1 0 8 1 pinseq=8 T 350 2700 9 8 1 1 0 0 1 pinlabel=A2 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=5 T 200 3050 5 8 0 1 0 8 1 pinseq=9 T 350 3100 9 8 1 1 0 0 1 pinlabel=A1 T 350 3100 5 8 0 1 0 2 1 pintype=in } P 2600 1500 2300 1500 1 0 0 { T 2400 1550 5 8 1 1 0 0 1 pinnumber=13 T 2400 1450 5 8 0 1 0 2 1 pinseq=10 T 2250 1500 9 8 1 1 0 6 1 pinlabel=S3 T 2250 1500 5 8 0 1 0 8 1 pintype=out } P 2600 1900 2300 1900 1 0 0 { T 2400 1950 5 8 1 1 0 0 1 pinnumber=12 T 2400 1850 5 8 0 1 0 2 1 pinseq=11 T 2250 1900 9 8 1 1 0 6 1 pinlabel=S2 T 2250 1900 5 8 0 1 0 8 1 pintype=out } P 2600 2300 2300 2300 1 0 0 { T 2400 2350 5 8 1 1 0 0 1 pinnumber=11 T 2400 2250 5 8 0 1 0 2 1 pinseq=12 T 2250 2300 9 8 1 1 0 6 1 pinlabel=S1 T 2250 2300 5 8 0 1 0 8 1 pintype=out } P 2600 2700 2300 2700 1 0 0 { T 2400 2750 5 8 1 1 0 0 1 pinnumber=10 T 2400 2650 5 8 0 1 0 2 1 pinseq=13 T 2250 2700 9 8 1 1 0 6 1 pinlabel=S0 T 2250 2700 5 8 0 1 0 8 1 pintype=out } P 2600 3900 2300 3900 1 0 0 { T 2400 3950 5 8 1 1 0 0 1 pinnumber=14 T 2400 3850 5 8 0 1 0 2 1 pinseq=14 T 2250 3900 9 8 1 1 0 6 1 pinlabel=Carry Out T 2250 3900 5 8 0 1 0 8 1 pintype=out } B 300 300 2000 4000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 3000 750 5 10 0 0 0 0 1 description=4 bit binary full adder T 3000 1750 5 10 0 0 0 0 1 numslots=0 T 300 50 9 10 1 0 0 0 1 4008 geda-gaf-1.8.2/symbols/4000/40160-1.sym0000664000175000017500000000612512204104272013513 00000000000000v 20070626 1 T 500 4400 8 10 1 1 0 6 1 refdes=U? T 2000 950 5 10 0 0 0 0 1 device=40160 T 2000 1150 5 10 0 0 0 0 1 footprint=DIP16 T 2000 1350 5 10 0 0 0 0 1 net=VSS:8 T 2000 1550 5 10 0 0 0 0 1 net=VDD:16 P 0 3100 200 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=9 T 200 3050 5 8 0 1 0 8 1 pinseq=1 T 350 3100 9 8 1 1 0 0 1 pinlabel=\_LOAD\_ T 350 3100 5 8 0 1 0 2 1 pintype=in } V 250 3100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3500 200 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=1 T 200 3450 5 8 0 1 0 8 1 pinseq=2 T 350 3500 9 8 1 1 0 0 1 pinlabel=\_CLR\_ T 350 3500 5 8 0 1 0 2 1 pintype=in } V 250 3500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=6 T 200 1450 5 8 0 1 0 8 1 pinseq=3 T 350 1500 9 8 1 1 0 0 1 pinlabel=I3 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=5 T 200 1850 5 8 0 1 0 8 1 pinseq=4 T 350 1900 9 8 1 1 0 0 1 pinlabel=I2 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=4 T 200 2250 5 8 0 1 0 8 1 pinseq=5 T 350 2300 9 8 1 1 0 0 1 pinlabel=I1 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=3 T 200 2650 5 8 0 1 0 8 1 pinseq=6 T 350 2700 9 8 1 1 0 0 1 pinlabel=I0 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=10 T 200 650 5 8 0 1 0 8 1 pinseq=7 T 350 700 9 8 1 1 0 0 1 pinlabel=ENT T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=7 T 200 1050 5 8 0 1 0 8 1 pinseq=8 T 350 1100 9 8 1 1 0 0 1 pinlabel=ENP T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 3900 300 3900 1 0 0 { T 200 3950 5 8 1 1 0 6 1 pinnumber=2 T 200 3850 5 8 0 1 0 8 1 pinseq=9 T 400 3900 9 8 1 1 0 0 1 pinlabel=CLK T 400 3900 5 8 0 1 0 2 1 pintype=in } L 400 3900 300 3975 3 0 0 0 -1 -1 L 400 3900 300 3825 3 0 0 0 -1 -1 P 1600 3900 1300 3900 1 0 0 { T 1400 3950 5 8 1 1 0 0 1 pinnumber=15 T 1400 3850 5 8 0 1 0 2 1 pinseq=10 T 1250 3900 9 8 1 1 0 6 1 pinlabel=RCO T 1250 3900 5 8 0 1 0 8 1 pintype=out } P 1600 1500 1300 1500 1 0 0 { T 1400 1550 5 8 1 1 0 0 1 pinnumber=11 T 1400 1450 5 8 0 1 0 2 1 pinseq=11 T 1250 1500 9 8 1 1 0 6 1 pinlabel=Q3 T 1250 1500 5 8 0 1 0 8 1 pintype=out } P 1600 1900 1300 1900 1 0 0 { T 1400 1950 5 8 1 1 0 0 1 pinnumber=12 T 1400 1850 5 8 0 1 0 2 1 pinseq=12 T 1250 1900 9 8 1 1 0 6 1 pinlabel=Q2 T 1250 1900 5 8 0 1 0 8 1 pintype=out } P 1600 2300 1300 2300 1 0 0 { T 1400 2350 5 8 1 1 0 0 1 pinnumber=13 T 1400 2250 5 8 0 1 0 2 1 pinseq=13 T 1250 2300 9 8 1 1 0 6 1 pinlabel=Q1 T 1250 2300 5 8 0 1 0 8 1 pintype=out } P 1600 2700 1300 2700 1 0 0 { T 1400 2750 5 8 1 1 0 0 1 pinnumber=14 T 1400 2650 5 8 0 1 0 2 1 pinseq=14 T 1250 2700 9 8 1 1 0 6 1 pinlabel=Q0 T 1250 2700 5 8 0 1 0 8 1 pintype=out } B 300 300 1000 4000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2000 750 5 10 0 0 0 0 1 description=4-bit synchronous programmable decade counter T 2000 1750 5 10 0 0 0 0 1 numslots=0 T 2000 550 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF40160B_CNV_3.pdf T 300 50 9 10 1 0 0 0 1 40160 geda-gaf-1.8.2/symbols/4000/4059-1.sym0000664000175000017500000001055112204104272013440 00000000000000v 20031231 1 T 300 7700 8 10 1 1 0 6 1 refdes=U? T 2100 1050 5 10 0 0 0 0 1 device=4059 T 2100 1250 5 10 0 0 0 0 1 footprint=DIP24 T 2100 1450 5 10 0 0 0 0 1 net=VSS:12 T 2100 1650 5 10 0 0 0 0 1 net=VDD:24 P 1200 100 1200 400 1 0 0 { T 1250 200 5 8 1 1 0 0 1 pinnumber=2 T 1250 200 5 8 0 1 0 2 1 pinseq=1 T 1200 450 9 8 1 1 0 3 1 pinlabel=LD T 1200 600 5 8 0 1 0 3 1 pintype=in } P 100 3600 400 3600 1 0 0 { T 300 3650 5 8 1 1 0 6 1 pinnumber=18 T 300 3550 5 8 0 1 0 8 1 pinseq=2 T 450 3600 9 8 1 1 0 0 1 pinlabel=J9 T 450 3600 5 8 0 1 0 2 1 pintype=in } P 100 4000 400 4000 1 0 0 { T 300 4050 5 8 1 1 0 6 1 pinnumber=19 T 300 3950 5 8 0 1 0 8 1 pinseq=3 T 450 4000 9 8 1 1 0 0 1 pinlabel=J8 T 450 4000 5 8 0 1 0 2 1 pintype=in } P 100 4400 400 4400 1 0 0 { T 300 4450 5 8 1 1 0 6 1 pinnumber=20 T 300 4350 5 8 0 1 0 8 1 pinseq=4 T 450 4400 9 8 1 1 0 0 1 pinlabel=J7 T 450 4400 5 8 0 1 0 2 1 pintype=in } P 100 4800 400 4800 1 0 0 { T 300 4850 5 8 1 1 0 6 1 pinnumber=21 T 300 4750 5 8 0 1 0 8 1 pinseq=5 T 450 4800 9 8 1 1 0 0 1 pinlabel=J6 T 450 4800 5 8 0 1 0 2 1 pintype=in } P 100 5200 400 5200 1 0 0 { T 300 5250 5 8 1 1 0 6 1 pinnumber=22 T 300 5150 5 8 0 1 0 8 1 pinseq=6 T 450 5200 9 8 1 1 0 0 1 pinlabel=J5 T 450 5200 5 8 0 1 0 2 1 pintype=in } P 100 5600 400 5600 1 0 0 { T 300 5650 5 8 1 1 0 6 1 pinnumber=6 T 300 5550 5 8 0 1 0 8 1 pinseq=7 T 450 5600 9 8 1 1 0 0 1 pinlabel=J4 T 450 5600 5 8 0 1 0 2 1 pintype=in } P 100 6000 400 6000 1 0 0 { T 300 6050 5 8 1 1 0 6 1 pinnumber=5 T 300 5950 5 8 0 1 0 8 1 pinseq=8 T 450 6000 9 8 1 1 0 0 1 pinlabel=J3 T 450 6000 5 8 0 1 0 2 1 pintype=in } P 100 6400 400 6400 1 0 0 { T 300 6450 5 8 1 1 0 6 1 pinnumber=4 T 300 6350 5 8 0 1 0 8 1 pinseq=9 T 450 6400 9 8 1 1 0 0 1 pinlabel=J2 T 450 6400 5 8 0 1 0 2 1 pintype=in } P 100 800 400 800 1 0 0 { T 300 850 5 8 1 1 0 6 1 pinnumber=7 T 300 750 5 8 0 1 0 8 1 pinseq=10 T 450 800 9 8 1 1 0 0 1 pinlabel=J16 T 450 800 5 8 0 1 0 2 1 pintype=in } P 100 1200 400 1200 1 0 0 { T 300 1250 5 8 1 1 0 6 1 pinnumber=8 T 300 1150 5 8 0 1 0 8 1 pinseq=11 T 450 1200 9 8 1 1 0 0 1 pinlabel=J15 T 450 1200 5 8 0 1 0 2 1 pintype=in } P 100 1600 400 1600 1 0 0 { T 300 1650 5 8 1 1 0 6 1 pinnumber=9 T 300 1550 5 8 0 1 0 8 1 pinseq=12 T 450 1600 9 8 1 1 0 0 1 pinlabel=J14 T 450 1600 5 8 0 1 0 2 1 pintype=in } P 100 2000 400 2000 1 0 0 { T 300 2050 5 8 1 1 0 6 1 pinnumber=10 T 300 1950 5 8 0 1 0 8 1 pinseq=13 T 450 2000 9 8 1 1 0 0 1 pinlabel=J13 T 450 2000 5 8 0 1 0 2 1 pintype=in } P 100 2400 400 2400 1 0 0 { T 300 2450 5 8 1 1 0 6 1 pinnumber=15 T 300 2350 5 8 0 1 0 8 1 pinseq=14 T 450 2400 9 8 1 1 0 0 1 pinlabel=J12 T 450 2400 5 8 0 1 0 2 1 pintype=in } P 100 2800 400 2800 1 0 0 { T 300 2850 5 8 1 1 0 6 1 pinnumber=16 T 300 2750 5 8 0 1 0 8 1 pinseq=15 T 450 2800 9 8 1 1 0 0 1 pinlabel=J11 T 450 2800 5 8 0 1 0 2 1 pintype=in } P 100 3200 400 3200 1 0 0 { T 300 3250 5 8 1 1 0 6 1 pinnumber=17 T 300 3150 5 8 0 1 0 8 1 pinseq=16 T 450 3200 9 8 1 1 0 0 1 pinlabel=J10 T 450 3200 5 8 0 1 0 2 1 pintype=in } P 100 6800 400 6800 1 0 0 { T 300 6850 5 8 1 1 0 6 1 pinnumber=3 T 300 6750 5 8 0 1 0 8 1 pinseq=17 T 450 6800 9 8 1 1 0 0 1 pinlabel=J1 T 450 6800 5 8 0 1 0 2 1 pintype=in } P 100 7200 400 7200 1 0 0 { T 300 7250 5 8 1 1 0 6 1 pinnumber=1 T 300 7150 5 8 0 1 0 8 1 pinseq=18 T 500 7200 9 8 1 1 0 0 1 pinlabel=CLK T 500 7200 5 8 0 1 0 2 1 pintype=clk } L 500 7200 400 7275 3 0 0 0 -1 -1 L 500 7200 400 7125 3 0 0 0 -1 -1 P 2300 4000 2000 4000 1 0 0 { T 2100 4050 5 8 1 1 0 0 1 pinnumber=23 T 2100 3950 5 8 0 1 0 2 1 pinseq=19 T 1950 4000 9 8 1 1 0 6 1 pinlabel=23 T 1950 4000 5 8 0 1 0 8 1 pintype=out } P 1600 7900 1600 7600 1 0 0 { T 1650 7700 5 8 1 1 0 0 1 pinnumber=11 T 1650 7700 5 8 0 1 0 2 1 pinseq=20 T 1600 7550 9 8 1 1 0 5 1 pinlabel=KC T 1600 7400 5 8 0 1 0 5 1 pintype=in } P 1200 7900 1200 7600 1 0 0 { T 1250 7700 5 8 1 1 0 0 1 pinnumber=13 T 1250 7700 5 8 0 1 0 2 1 pinseq=21 T 1200 7550 9 8 1 1 0 5 1 pinlabel=KB T 1200 7400 5 8 0 1 0 5 1 pintype=in } P 800 7900 800 7600 1 0 0 { T 850 7700 5 8 1 1 0 0 1 pinnumber=14 T 850 7700 5 8 0 1 0 2 1 pinseq=22 T 800 7550 9 8 1 1 0 5 1 pinlabel=KA T 800 7400 5 8 0 1 0 5 1 pintype=in } B 400 400 1600 7200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2100 850 5 10 0 0 0 0 1 description=programmable divide-by-n counter T 2100 1850 5 10 0 0 0 0 1 numslots=0 T 2100 650 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4059B_CNV_3.pdf T 400 150 9 10 1 0 0 0 1 4059 geda-gaf-1.8.2/symbols/4000/4556-1.sym0000664000175000017500000000407112204104272013442 00000000000000v 20070626 1 T 1300 1900 8 10 1 1 0 6 1 refdes=U? T 300 2050 5 10 0 0 0 0 1 device=4556 T 300 2250 5 10 0 0 0 0 1 footprint=DIP16 T 300 2450 5 10 0 0 0 0 1 net=VSS:8 T 300 2650 5 10 0 0 0 0 1 net=VDD:16 P 0 300 200 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=1 T 200 250 5 8 0 1 0 8 1 pinseq=1 T 350 300 9 8 1 1 0 0 1 pinlabel=\_EN\_ T 350 300 5 8 0 1 0 2 1 pintype=in } V 250 300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=3 T 200 1050 5 8 0 1 0 8 1 pinseq=2 T 350 1100 9 8 1 1 0 0 1 pinlabel=S1 T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=2 T 200 1450 5 8 0 1 0 8 1 pinseq=3 T 350 1500 9 8 1 1 0 0 1 pinlabel=S0 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 1600 300 1400 300 1 0 0 { T 1400 350 5 8 1 1 0 0 1 pinnumber=7 T 1400 250 5 8 0 1 0 2 1 pinseq=4 T 1250 300 9 8 1 1 0 6 1 pinlabel=\_Y3\_ T 1250 300 5 8 0 1 0 8 1 pintype=out } V 1350 300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1600 700 1400 700 1 0 0 { T 1400 750 5 8 1 1 0 0 1 pinnumber=6 T 1400 650 5 8 0 1 0 2 1 pinseq=5 T 1250 700 9 8 1 1 0 6 1 pinlabel=\_Y2\_ T 1250 700 5 8 0 1 0 8 1 pintype=out } V 1350 700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1600 1100 1400 1100 1 0 0 { T 1400 1150 5 8 1 1 0 0 1 pinnumber=5 T 1400 1050 5 8 0 1 0 2 1 pinseq=6 T 1250 1100 9 8 1 1 0 6 1 pinlabel=\_Y1\_ T 1250 1100 5 8 0 1 0 8 1 pintype=out } V 1350 1100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1600 1500 1400 1500 1 0 0 { T 1400 1550 5 8 1 1 0 0 1 pinnumber=4 T 1400 1450 5 8 0 1 0 2 1 pinseq=7 T 1250 1500 9 8 1 1 0 6 1 pinlabel=\_Y0\_ T 1250 1500 5 8 0 1 0 8 1 pintype=out } V 1350 1500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 300 0 1000 1800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 2850 5 10 0 0 0 0 1 slot=1 T 300 3050 5 10 0 0 0 0 1 numslots=2 T 300 3250 5 10 0 0 0 0 1 slotdef=1:1,3,2,7,6,5,4 T 300 3450 5 10 0 0 0 0 1 slotdef=2:15,13,14,9,10,11,12 T 300 3650 5 10 0 0 0 0 1 description=2 2-bit binary decoders T 300 3850 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4556B_CNV_3.pdf T 300 1850 9 10 1 0 0 0 1 4556 geda-gaf-1.8.2/symbols/4000/4085-1.sym0000664000175000017500000000472312204104272013443 00000000000000v 20040710 1 P 2600 1200 2400 1200 1 0 0 { T 2400 1250 5 8 1 1 0 0 1 pinnumber=3 T 2400 1150 5 8 0 1 0 2 1 pinseq=6 T 2250 1200 5 8 0 1 0 8 1 pintype=out T 2250 1200 9 8 0 1 0 6 1 pinlabel=Y } T 3050 1500 5 10 0 0 0 0 1 net=VDD:14 T 3050 1700 5 10 0 0 0 0 1 net=VSS:7 T 300 2300 8 10 1 1 0 0 1 refdes=U? T 3050 1900 5 10 0 0 0 0 1 numslots=2 T 3050 2100 5 10 0 0 0 0 1 slotdef=1:1,2,11,12,13,3 T 3050 2300 5 10 0 0 0 0 1 slotdef=2:5,6,10,8,9,4 T 3050 2500 5 10 0 0 0 0 1 slot=1 T 3050 2700 5 10 0 0 0 0 1 device=4085 V 2350 1200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 3050 2900 5 10 0 0 0 0 1 footprint=DIP14 T 3050 3100 5 10 0 0 0 0 1 description=2 2-wide 2-input AND/OR invert gate T 3050 3300 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4085B_CNV_3.pdf T 300 0 9 8 1 0 0 0 1 4085 A 1336 1200 400 312 97 3 0 0 0 -1 -1 L 1600 900 1900 900 3 0 0 0 -1 -1 L 1600 1500 1900 1500 3 0 0 0 -1 -1 A 1900 1300 400 270 76 3 0 0 0 -1 -1 A 1900 1100 400 14 76 3 0 0 0 -1 -1 L 1600 700 1600 900 3 0 0 0 -1 -1 L 1600 1700 1600 1500 3 0 0 0 -1 -1 T 3050 3500 5 10 0 0 0 0 1 symversion=1.0 L 1600 1600 1300 1600 3 0 0 0 -1 -1 L 1600 1200 1300 1200 3 0 0 0 -1 -1 L 1600 800 1300 800 3 0 0 0 -1 -1 P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=12 T 200 650 5 8 0 1 0 8 1 pinseq=4 T 350 700 5 8 0 1 0 2 1 pintype=in T 350 700 9 8 0 1 0 0 1 pinlabel=C } P 0 300 300 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=13 T 200 250 5 8 0 1 0 8 1 pinseq=5 T 350 300 5 8 0 1 0 2 1 pintype=in T 350 300 9 8 0 1 0 0 1 pinlabel=D } L 300 200 300 800 3 0 0 0 -1 -1 L 300 800 700 800 3 0 0 0 -1 -1 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 L 1000 500 1300 500 3 0 0 0 -1 -1 P 0 2100 300 2100 1 0 0 { T 200 2050 5 8 0 1 0 8 1 pinseq=1 T 200 2150 5 8 1 1 0 6 1 pinnumber=1 T 350 2100 9 8 0 1 0 0 1 pinlabel=A T 350 2100 5 8 0 1 0 2 1 pintype=in } P 0 1700 300 1700 1 0 0 { T 200 1750 5 8 1 1 0 6 1 pinnumber=2 T 200 1650 5 8 0 1 0 8 1 pinseq=2 T 350 1700 9 8 0 1 0 0 1 pinlabel=B T 350 1700 5 8 0 1 0 2 1 pintype=in } L 300 1600 300 2200 3 0 0 0 -1 -1 L 300 2200 700 2200 3 0 0 0 -1 -1 L 300 1600 700 1600 3 0 0 0 -1 -1 A 700 1900 300 270 180 3 0 0 0 -1 -1 L 1000 1900 1300 1900 3 0 0 0 -1 -1 L 1300 1200 300 1200 3 0 0 0 -1 -1 P 0 1200 300 1200 1 0 0 { T 200 1250 5 8 1 1 0 6 1 pinnumber=11 T 200 1150 5 8 0 1 0 8 1 pinseq=3 T 350 1200 9 8 0 1 0 0 1 pinlabel=E T 350 1200 5 8 0 1 0 2 1 pintype=in } L 1300 500 1300 800 3 0 0 0 -1 -1 L 1300 1600 1300 1900 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/4000/4035-2.sym0000664000175000017500000000601112204104272013427 00000000000000v 20070626 1 T 1700 4300 8 10 1 1 0 6 1 refdes=U? T 300 4450 5 10 0 0 0 0 1 device=4035 T 300 4650 5 10 0 0 0 0 1 footprint=DIP16 T 300 5250 5 10 0 0 0 0 1 net=VSS:8 T 300 5450 5 10 0 0 0 0 1 net=VDD:16 P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=2 T 200 3050 5 8 0 1 0 8 1 pinseq=1 T 350 3100 9 8 1 1 0 0 1 pinlabel=True/\_Comp\_ T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=5 T 200 2650 5 8 0 1 0 8 1 pinseq=2 T 350 2700 9 8 1 1 0 0 1 pinlabel=Reset T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=7 T 200 3450 5 8 0 1 0 8 1 pinseq=3 T 350 3500 9 8 1 1 0 0 1 pinlabel=Parallel/\_Ser\_ T 350 3500 5 8 0 1 0 2 1 pintype=in } P 0 1900 200 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=3 T 200 1850 5 8 0 1 0 8 1 pinseq=4 T 350 1900 9 8 1 1 0 0 1 pinlabel=\_K\_ T 350 1900 5 8 0 1 0 2 1 pintype=in } V 250 1900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=4 T 200 2250 5 8 0 1 0 8 1 pinseq=5 T 350 2300 9 8 1 1 0 0 1 pinlabel=J T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 3900 300 3900 1 0 0 { T 200 3950 5 8 1 1 0 6 1 pinnumber=6 T 200 3850 5 8 0 1 0 8 1 pinseq=6 T 375 3900 9 8 1 1 0 0 1 pinlabel=CLK T 375 3900 5 8 0 1 0 2 1 pintype=clk } P 0 300 300 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=12 T 200 250 5 8 0 1 0 8 1 pinseq=7 T 350 300 9 8 1 1 0 0 1 pinlabel=P4 T 350 300 5 8 0 1 0 2 1 pintype=in } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=11 T 200 650 5 8 0 1 0 8 1 pinseq=8 T 350 700 9 8 1 1 0 0 1 pinlabel=P3 T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=10 T 200 1050 5 8 0 1 0 8 1 pinseq=9 T 350 1100 9 8 1 1 0 0 1 pinlabel=P2 T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=9 T 200 1450 5 8 0 1 0 8 1 pinseq=10 T 350 1500 9 8 1 1 0 0 1 pinlabel=P1 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 2000 300 1700 300 1 0 0 { T 1800 350 5 8 1 1 0 0 1 pinnumber=13 T 1800 250 5 8 0 1 0 2 1 pinseq=11 T 1650 300 9 8 1 1 0 6 1 pinlabel=Q4 T 1650 300 5 8 0 1 0 8 1 pintype=out } P 2000 700 1700 700 1 0 0 { T 1800 750 5 8 1 1 0 0 1 pinnumber=14 T 1800 650 5 8 0 1 0 2 1 pinseq=12 T 1650 700 9 8 1 1 0 6 1 pinlabel=Q3 T 1650 700 5 8 0 1 0 8 1 pintype=out } P 2000 1100 1700 1100 1 0 0 { T 1800 1150 5 8 1 1 0 0 1 pinnumber=15 T 1800 1050 5 8 0 1 0 2 1 pinseq=13 T 1650 1100 9 8 1 1 0 6 1 pinlabel=Q2 T 1650 1100 5 8 0 1 0 8 1 pintype=out } P 2000 1500 1700 1500 1 0 0 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=1 T 1800 1450 5 8 0 1 0 2 1 pinseq=14 T 1650 1500 9 8 1 1 0 6 1 pinlabel=Q1 T 1650 1500 5 8 0 1 0 8 1 pintype=out } B 300 0 1400 4200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 5050 5 10 0 0 0 0 1 description=4-bit universal shift register T 300 5650 5 10 0 0 0 0 1 numslots=0 T 300 4850 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4035B_CNV_3.pdf T 300 4250 9 10 1 0 0 0 1 4035 L 375 3900 300 3850 3 0 0 0 -1 -1 L 375 3900 300 3950 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/4000/4035-1.sym0000664000175000017500000000567512204104272013445 00000000000000v 20070626 1 T 500 2400 8 10 1 1 0 6 1 refdes=U? T 3800 950 5 10 0 0 0 0 1 device=4035 T 3800 1150 5 10 0 0 0 0 1 footprint=DIP16 T 3800 1350 5 10 0 0 0 0 1 net=VSS:8 T 3800 1550 5 10 0 0 0 0 1 net=VDD:16 P 2700 0 2700 300 1 0 0 { T 2750 100 5 8 1 1 0 0 1 pinnumber=2 T 2750 100 5 8 0 1 0 2 1 pinseq=1 T 2700 350 9 8 1 1 0 3 1 pinlabel=T/\_C\_ T 2700 500 5 8 0 1 0 3 1 pintype=in } P 2300 0 2300 300 1 0 0 { T 2350 100 5 8 1 1 0 0 1 pinnumber=5 T 2350 100 5 8 0 1 0 2 1 pinseq=2 T 2300 350 9 8 1 1 0 3 1 pinlabel=R T 2300 500 5 8 0 1 0 3 1 pintype=in } P 1900 0 1900 300 1 0 0 { T 1950 100 5 8 1 1 0 0 1 pinnumber=7 T 1950 100 5 8 0 1 0 2 1 pinseq=3 T 1900 350 9 8 1 1 0 3 1 pinlabel=P/\_S\_ T 1900 500 5 8 0 1 0 3 1 pintype=in } P 1500 0 1500 200 1 0 0 { T 1550 100 5 8 1 1 0 0 1 pinnumber=3 T 1550 100 5 8 0 1 0 2 1 pinseq=4 T 1500 350 9 8 1 1 0 3 1 pinlabel=\_K\_ T 1500 500 5 8 0 1 0 3 1 pintype=in } V 1500 250 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 0 1100 300 1 0 0 { T 1150 100 5 8 1 1 0 0 1 pinnumber=4 T 1150 100 5 8 0 1 0 2 1 pinseq=5 T 1100 350 9 8 1 1 0 3 1 pinlabel=J T 1100 500 5 8 0 1 0 3 1 pintype=in } P 700 0 700 300 1 0 0 { T 750 100 5 8 1 1 0 0 1 pinnumber=6 T 750 100 5 8 0 1 0 2 1 pinseq=6 T 700 350 9 8 1 1 0 3 1 pinlabel=CL T 700 500 5 8 0 1 0 3 1 pintype=clk } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=12 T 200 650 5 8 0 1 0 8 1 pinseq=7 T 350 700 9 8 1 1 0 0 1 pinlabel=P4 T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=11 T 200 1050 5 8 0 1 0 8 1 pinseq=8 T 350 1100 9 8 1 1 0 0 1 pinlabel=P3 T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=10 T 200 1450 5 8 0 1 0 8 1 pinseq=9 T 350 1500 9 8 1 1 0 0 1 pinlabel=P2 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=9 T 200 1850 5 8 0 1 0 8 1 pinseq=10 T 350 1900 9 8 1 1 0 0 1 pinlabel=P1 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 3400 700 3100 700 1 0 0 { T 3200 750 5 8 1 1 0 0 1 pinnumber=13 T 3200 650 5 8 0 1 0 2 1 pinseq=11 T 3050 700 9 8 1 1 0 6 1 pinlabel=Q4 T 3050 700 5 8 0 1 0 8 1 pintype=out } P 3400 1100 3100 1100 1 0 0 { T 3200 1150 5 8 1 1 0 0 1 pinnumber=14 T 3200 1050 5 8 0 1 0 2 1 pinseq=12 T 3050 1100 9 8 1 1 0 6 1 pinlabel=Q3 T 3050 1100 5 8 0 1 0 8 1 pintype=out } P 3400 1500 3100 1500 1 0 0 { T 3200 1550 5 8 1 1 0 0 1 pinnumber=15 T 3200 1450 5 8 0 1 0 2 1 pinseq=13 T 3050 1500 9 8 1 1 0 6 1 pinlabel=Q2 T 3050 1500 5 8 0 1 0 8 1 pintype=out } P 3400 1900 3100 1900 1 0 0 { T 3200 1950 5 8 1 1 0 0 1 pinnumber=1 T 3200 1850 5 8 0 1 0 2 1 pinseq=14 T 3050 1900 9 8 1 1 0 6 1 pinlabel=Q1 T 3050 1900 5 8 0 1 0 8 1 pintype=out } B 300 300 2800 2000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 3800 750 5 10 0 0 0 0 1 description=4-bit universal shift register T 3800 1750 5 10 0 0 0 0 1 numslots=0 T 3800 550 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4035B_CNV_3.pdf T 2600 2450 9 10 1 0 0 0 1 4035 geda-gaf-1.8.2/symbols/4000/4069-2.sym0000664000175000017500000000227612204104272013447 00000000000000v 20031231 1 L 300 800 800 500 3 0 0 0 -1 -1 T 600 900 5 10 0 0 0 0 1 device=4069 T 600 1100 5 10 0 0 0 0 1 slot=1 T 600 1300 5 10 0 0 0 0 1 numslots=6 T 600 1500 5 10 0 0 0 0 1 slotdef=1:1,2 T 600 1700 5 10 0 0 0 0 1 slotdef=2:3,4 T 600 1900 5 10 0 0 0 0 1 slotdef=3:5,6 T 600 2100 5 10 0 0 0 0 1 slotdef=4:9,8 T 600 2300 5 10 0 0 0 0 1 slotdef=5:11,10 T 600 2500 5 10 0 0 0 0 1 slotdef=6:13,12 L 800 500 300 200 3 0 0 0 -1 -1 L 300 800 300 500 3 0 0 0 -1 -1 L 300 500 300 200 3 0 0 0 -1 -1 V 250 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 800 500 1 0 0 { T 900 550 5 8 1 1 0 0 1 pinnumber=2 T 900 450 5 8 0 1 0 2 1 pinseq=2 T 750 500 9 8 0 1 0 6 1 pinlabel=Y T 750 500 5 8 0 1 0 8 1 pintype=out } P 200 500 0 500 1 0 1 { T 200 550 5 8 1 1 0 6 1 pinnumber=1 T 200 450 5 8 0 1 0 8 1 pinseq=1 T 350 500 9 8 0 1 0 0 1 pinlabel=A T 350 500 5 8 0 1 0 2 1 pintype=in } T 300 900 8 10 1 1 0 0 1 refdes=U? T 600 3300 5 10 0 0 0 0 1 net=GND:7 T 600 3100 5 10 0 0 0 0 1 net=Vcc:14 T 600 2700 5 10 0 0 0 0 1 footprint=DIP14 T 600 2900 5 10 0 0 0 0 1 description=6 inverters T 600 3500 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4069UB_CNV_3.pdf T 300 0 9 8 1 0 0 0 1 4069 geda-gaf-1.8.2/symbols/4000/4069-3.sym0000664000175000017500000000610612204104272013444 00000000000000v 20031231 1 P 0 2000 300 2000 1 0 0 { T 200 2050 5 8 1 1 0 6 1 pinnumber=1 T 200 1950 5 8 0 1 0 8 1 pinseq=1 T 350 2000 9 8 1 1 0 0 1 pinlabel=A T 350 2000 5 8 0 1 0 2 1 pintype=in } P 0 1700 200 1700 1 0 0 { T 200 1750 5 8 1 1 0 6 1 pinnumber=2 T 200 1650 5 8 0 1 0 8 1 pinseq=2 T 350 1700 9 8 1 1 0 0 1 pinlabel=Ainv T 350 1700 5 8 0 1 0 2 1 pintype=out } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=3 T 200 1350 5 8 0 1 0 8 1 pinseq=3 T 350 1400 9 8 1 1 0 0 1 pinlabel=B T 350 1400 5 8 0 1 0 2 1 pintype=in } V 250 1100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1100 200 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=4 T 200 1050 5 8 0 1 0 8 1 pinseq=4 T 350 1100 9 8 1 1 0 0 1 pinlabel=Binv T 350 1100 5 8 0 1 0 2 1 pintype=out } V 250 500 49 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 500 200 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=6 T 200 450 5 8 0 1 0 8 1 pinseq=6 T 350 500 9 8 1 1 0 0 1 pinlabel=Cinv T 350 500 5 8 0 1 0 2 1 pintype=out } P 0 800 300 800 1 0 0 { T 200 850 5 8 1 1 0 6 1 pinnumber=5 T 200 750 5 8 0 1 0 8 1 pinseq=5 T 350 800 9 8 1 1 0 0 1 pinlabel=C T 350 800 5 8 0 1 0 2 1 pintype=in } P 1800 200 2000 200 1 0 1 { T 1800 250 5 8 1 1 0 0 1 pinnumber=8 T 1800 150 5 8 0 1 0 2 1 pinseq=8 T 1650 200 9 8 1 1 0 6 1 pinlabel=Dinv T 1650 200 5 8 0 1 0 8 1 pintype=out } P 1700 2000 2000 2000 1 0 1 { T 1800 2050 5 8 1 1 0 0 1 pinnumber=14 T 1800 1950 5 8 0 1 0 2 1 pinseq=14 T 1650 2000 9 8 1 1 0 6 1 pinlabel=Vdd T 1650 2000 5 8 0 1 0 8 1 pintype=pwr } P 1700 1700 2000 1700 1 0 1 { T 1800 1750 5 8 1 1 0 0 1 pinnumber=13 T 1800 1650 5 8 0 1 0 2 1 pinseq=13 T 1650 1700 9 8 1 1 0 6 1 pinlabel=F T 1650 1700 5 8 0 1 0 8 1 pintype=in } V 1750 1400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1800 1400 2000 1400 1 0 1 { T 1800 1450 5 8 1 1 0 0 1 pinnumber=12 T 1800 1350 5 8 0 1 0 2 1 pinseq=12 T 1650 1400 9 8 1 1 0 6 1 pinlabel=Finv T 1650 1400 5 8 0 1 0 8 1 pintype=out } P 1700 1100 2000 1100 1 0 1 { T 1800 1150 5 8 1 1 0 0 1 pinnumber=11 T 1800 1050 5 8 0 1 0 2 1 pinseq=11 T 1650 1100 9 8 1 1 0 6 1 pinlabel=E T 1650 1100 5 8 0 1 0 8 1 pintype=in } V 1750 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1800 800 2000 800 1 0 1 { T 1800 850 5 8 1 1 0 0 1 pinnumber=10 T 1800 750 5 8 0 1 0 2 1 pinseq=10 T 1650 800 9 8 1 1 0 6 1 pinlabel=Einv T 1650 800 5 8 0 1 0 8 1 pintype=out } P 1700 500 2000 500 1 0 1 { T 1800 550 5 8 1 1 0 0 1 pinnumber=9 T 1800 450 5 8 0 1 0 2 1 pinseq=9 T 1650 500 9 8 1 1 0 6 1 pinlabel=D T 1650 500 5 8 0 1 0 8 1 pintype=in } P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=7 T 200 150 5 8 0 1 0 8 1 pinseq=7 T 350 200 9 8 1 1 0 0 1 pinlabel=Vss T 350 200 5 8 0 1 0 2 1 pintype=pwr } B 300 0 1400 2300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 2550 5 10 0 0 0 0 1 device=4069UB T 1700 2400 8 10 1 1 0 6 1 refdes=U? V 250 1700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1750 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 2750 5 10 0 0 0 0 1 footprint=DIP14 T 300 2950 5 10 0 0 0 0 1 description=6 inverters T 300 3150 5 10 0 0 0 0 1 numslots=0 T 300 3350 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4069UB_CNV_3.pdf T 300 2340 9 10 1 0 0 0 1 4069UB geda-gaf-1.8.2/symbols/4000/4040-1.sym0000664000175000017500000000606712204104272013435 00000000000000v 20031231 1 P 0 2000 200 2000 1 0 0 { T 200 2050 5 8 1 1 0 6 1 pinnumber=10 T 200 1950 5 8 0 1 0 8 1 pinseq=10 T 375 2000 9 8 1 1 0 0 1 pinlabel=CLK T 375 2000 5 8 0 1 0 2 1 pintype=clk } P 0 1700 300 1700 1 0 0 { T 200 1750 5 8 1 1 0 6 1 pinnumber=11 T 200 1650 5 8 0 1 0 8 1 pinseq=11 T 350 1700 9 8 1 1 0 0 1 pinlabel=Reset T 350 1700 5 8 0 1 0 2 1 pintype=in } P 1700 3600 2000 3600 1 0 1 { T 1800 3650 5 8 1 1 0 0 1 pinnumber=9 T 1800 3550 5 8 0 1 0 2 1 pinseq=9 T 1650 3600 9 8 1 1 0 6 1 pinlabel=Q1 T 1650 3600 5 8 0 1 0 8 1 pintype=out } P 1700 3300 2000 3300 1 0 1 { T 1800 3350 5 8 1 1 0 0 1 pinnumber=7 T 1800 3250 5 8 0 1 0 2 1 pinseq=7 T 1650 3300 9 8 1 1 0 6 1 pinlabel=Q2 T 1650 3300 5 8 0 1 0 8 1 pintype=out } P 1700 3000 2000 3000 1 0 1 { T 1800 3050 5 8 1 1 0 0 1 pinnumber=6 T 1800 2950 5 8 0 1 0 2 1 pinseq=6 T 1650 3000 9 8 1 1 0 6 1 pinlabel=Q3 T 1650 3000 5 8 0 1 0 8 1 pintype=out } P 1700 2700 2000 2700 1 0 1 { T 1800 2750 5 8 1 1 0 0 1 pinnumber=5 T 1800 2650 5 8 0 1 0 2 1 pinseq=5 T 1650 2700 9 8 1 1 0 6 1 pinlabel=Q4 T 1650 2700 5 8 0 1 0 8 1 pintype=out } P 1700 2400 2000 2400 1 0 1 { T 1800 2450 5 8 1 1 0 0 1 pinnumber=3 T 1800 2350 5 8 0 1 0 2 1 pinseq=3 T 1650 2400 9 8 1 1 0 6 1 pinlabel=Q5 T 1650 2400 5 8 0 1 0 8 1 pintype=out } P 1700 2100 2000 2100 1 0 1 { T 1800 2150 5 8 1 1 0 0 1 pinnumber=2 T 1800 2050 5 8 0 1 0 2 1 pinseq=2 T 1650 2100 9 8 1 1 0 6 1 pinlabel=Q6 T 1650 2100 5 8 0 1 0 8 1 pintype=out } P 1700 1800 2000 1800 1 0 1 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=4 T 1800 1750 5 8 0 1 0 2 1 pinseq=4 T 1650 1800 9 8 1 1 0 6 1 pinlabel=Q7 T 1650 1800 5 8 0 1 0 8 1 pintype=out } P 1700 1500 2000 1500 1 0 1 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=13 T 1800 1450 5 8 0 1 0 2 1 pinseq=13 T 1650 1500 9 8 1 1 0 6 1 pinlabel=Q8 T 1650 1500 5 8 0 1 0 8 1 pintype=out } P 1700 1200 2000 1200 1 0 1 { T 1800 1250 5 8 1 1 0 0 1 pinnumber=12 T 1800 1150 5 8 0 1 0 2 1 pinseq=12 T 1650 1200 9 8 1 1 0 6 1 pinlabel=Q9 T 1650 1200 5 8 0 1 0 8 1 pintype=out } P 1700 900 2000 900 1 0 1 { T 1800 950 5 8 1 1 0 0 1 pinnumber=14 T 1800 850 5 8 0 1 0 2 1 pinseq=14 T 1650 900 9 8 1 1 0 6 1 pinlabel=Q10 T 1650 900 5 8 0 1 0 8 1 pintype=out } P 1700 600 2000 600 1 0 1 { T 1800 650 5 8 1 1 0 0 1 pinnumber=15 T 1800 550 5 8 0 1 0 2 1 pinseq=15 T 1650 600 9 8 1 1 0 6 1 pinlabel=Q11 T 1650 600 5 8 0 1 0 8 1 pintype=out } P 1700 300 2000 300 1 0 1 { T 1800 350 5 8 1 1 0 0 1 pinnumber=1 T 1800 250 5 8 0 1 0 2 1 pinseq=1 T 1650 300 9 8 1 1 0 6 1 pinlabel=Q12 T 1650 300 5 8 0 1 0 8 1 pintype=out } B 300 0 1400 3900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4150 5 10 0 0 0 0 1 device=4040 T 1700 4000 8 10 1 1 0 6 1 refdes=U? T 300 4350 5 10 0 0 0 0 1 footprint=DIP16 T 300 4550 5 10 0 0 0 0 1 description=12-bit binary counter T 300 5350 5 10 0 0 0 0 1 numslots=0 T 300 4950 5 10 0 0 0 0 1 net=VDD:16 T 300 5150 5 10 0 0 0 0 1 net=VSS:8 T 300 4750 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4040B_CNV_3.pdf T 300 3940 9 10 1 0 0 0 1 4040 L 375 2000 300 2050 3 0 0 0 -1 -1 L 375 2000 300 1950 3 0 0 0 -1 -1 V 250 2000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/4000/4501-1.sym0000664000175000017500000000547312204104272013437 00000000000000v 20031231 1 T 1700 4300 8 10 1 1 0 6 1 refdes=U? T 300 4450 5 10 0 0 0 0 1 device=4501 T 300 4650 5 10 0 0 0 0 1 footprint=DIP16 T 300 4850 5 10 0 0 0 0 1 net=VSS:8 T 300 5050 5 10 0 0 0 0 1 net=VDD:16 P 0 300 300 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=9 T 200 250 5 8 0 1 0 8 1 pinseq=1 T 350 300 9 8 1 1 0 0 1 pinlabel=3D T 350 300 5 8 0 1 0 2 1 pintype=in } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=7 T 200 650 5 8 0 1 0 8 1 pinseq=2 T 350 700 9 8 1 1 0 0 1 pinlabel=3C T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=6 T 200 1050 5 8 0 1 0 8 1 pinseq=3 T 350 1100 9 8 1 1 0 0 1 pinlabel=3B T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=5 T 200 1450 5 8 0 1 0 8 1 pinseq=4 T 350 1500 9 8 1 1 0 0 1 pinlabel=3A T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=12 T 200 1850 5 8 0 1 0 8 1 pinseq=5 T 350 1900 9 8 1 1 0 0 1 pinlabel=2B T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=11 T 200 2250 5 8 0 1 0 8 1 pinseq=6 T 350 2300 9 8 1 1 0 0 1 pinlabel=2A T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=4 T 200 2650 5 8 0 1 0 8 1 pinseq=7 T 350 2700 9 8 1 1 0 0 1 pinlabel=1D T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=3 T 200 3050 5 8 0 1 0 8 1 pinseq=8 T 350 3100 9 8 1 1 0 0 1 pinlabel=1C T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=2 T 200 3450 5 8 0 1 0 8 1 pinseq=9 T 350 3500 9 8 1 1 0 0 1 pinlabel=1B T 350 3500 5 8 0 1 0 2 1 pintype=in } P 0 3900 300 3900 1 0 0 { T 200 3950 5 8 1 1 0 6 1 pinnumber=1 T 200 3850 5 8 0 1 0 8 1 pinseq=10 T 350 3900 9 8 1 1 0 0 1 pinlabel=1A T 350 3900 5 8 0 1 0 2 1 pintype=in } P 2000 900 1700 900 1 0 0 { T 1800 950 5 8 1 1 0 0 1 pinnumber=10 T 1800 850 5 8 0 1 0 2 1 pinseq=11 T 1650 900 9 8 1 1 0 6 1 pinlabel=3Y T 1650 900 5 8 0 1 0 8 1 pintype=out } P 2000 1900 1700 1900 1 0 0 { T 1800 1950 5 8 1 1 0 0 1 pinnumber=15 T 1800 1850 5 8 0 1 0 2 1 pinseq=12 T 1650 1900 9 8 1 1 0 6 1 pinlabel=2Y2 T 1650 1900 5 8 0 1 0 8 1 pintype=out } P 2000 2300 1700 2300 1 0 0 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=14 T 1800 2250 5 8 0 1 0 2 1 pinseq=13 T 1650 2300 9 8 1 1 0 6 1 pinlabel=2Y1 T 1650 2300 5 8 0 1 0 8 1 pintype=out } P 2000 3300 1700 3300 1 0 0 { T 1800 3350 5 8 1 1 0 0 1 pinnumber=13 T 1800 3250 5 8 0 1 0 2 1 pinseq=14 T 1650 3300 9 8 1 1 0 6 1 pinlabel=1Y T 1650 3300 5 8 0 1 0 8 1 pintype=out } B 300 0 1400 4200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 5450 5 10 0 0 0 0 1 description=2 NAND gates with 2 inputs, 1 OR gate with 2 inputs and complementary outputs T 300 5250 5 10 0 0 0 0 1 numslots=0 T 300 4250 9 10 1 0 0 0 1 4501 geda-gaf-1.8.2/symbols/4000/4072-2.sym0000664000175000017500000000317412204104272013437 00000000000000v 20031231 1 P 1400 700 1088 700 1 0 0 { T 1200 750 5 8 1 1 0 0 1 pinnumber=1 T 1200 650 5 8 0 1 0 2 1 pinseq=5 T 1050 700 5 8 0 1 0 8 1 pintype=out T 1050 700 9 8 0 1 0 6 1 pinlabel=Y } P 0 1300 300 1300 1 0 0 { T 200 1350 5 8 1 1 0 6 1 pinnumber=2 T 200 1250 5 8 0 1 0 8 1 pinseq=1 T 350 1300 5 8 0 1 0 2 1 pintype=in T 350 1300 9 8 0 1 0 0 1 pinlabel=A } P 0 900 300 900 1 0 0 { T 200 950 5 8 1 1 0 6 1 pinnumber=3 T 200 850 5 8 0 1 0 8 1 pinseq=2 T 350 900 5 8 0 1 0 2 1 pintype=in T 350 900 9 8 0 1 0 0 1 pinlabel=B } P 0 500 300 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=4 T 200 450 5 8 0 1 0 8 1 pinseq=3 T 350 500 5 8 0 1 0 2 1 pintype=in T 350 500 9 8 0 1 0 0 1 pinlabel=C } P 0 100 300 100 1 0 0 { T 200 150 5 8 1 1 0 6 1 pinnumber=5 T 200 50 5 8 0 1 0 8 1 pinseq=4 T 350 100 5 8 0 1 0 2 1 pintype=in T 350 100 9 8 0 1 0 0 1 pinlabel=D } T 1050 1150 5 10 0 0 0 0 1 net=VDD:14 T 1050 1350 5 10 0 0 0 0 1 net=VSS:7 T 1050 2350 5 10 0 0 0 0 1 device=4072 T 500 1100 8 10 1 1 0 0 1 refdes=U? T 1050 1750 5 10 0 0 0 0 1 numslots=2 T 1050 1950 5 10 0 0 0 0 1 slotdef=1:2,3,4,5,1 T 1050 2150 5 10 0 0 0 0 1 slotdef=2:9,10,11,12,13 T 1050 1550 5 10 0 0 0 0 1 slot=1 T 1050 2550 5 10 0 0 0 0 1 footprint=DIP14 T 1050 2750 5 10 0 0 0 0 1 description=2 OR gates with 4 inputs T 1050 2950 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4072B_CNV_3.pdf T 450 200 9 10 1 0 0 0 1 4072 L 300 1000 650 1000 3 0 0 0 -1 -1 L 300 400 650 400 3 0 0 0 -1 -1 L 300 400 300 0 3 0 0 0 -1 -1 L 300 1400 300 1000 3 0 0 0 -1 -1 A 650 850 450 270 71 3 0 0 0 -1 -1 A 650 550 450 20 70 3 0 0 0 -1 -1 A 50 700 395 310 100 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/4000/40182-1.sym0000664000175000017500000000641012204104272013514 00000000000000v 20070626 1 T 500 4300 8 10 1 1 0 6 1 refdes=U? T 2000 850 5 10 0 0 0 0 1 device=40182 T 2000 1050 5 10 0 0 0 0 1 footprint=DIP16 T 2000 1250 5 10 0 0 0 0 1 net=VSS:8 T 2000 1450 5 10 0 0 0 0 1 net=VDD:16 P 0 2600 200 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=6 T 200 2550 5 8 0 1 0 8 1 pinseq=1 T 350 2600 9 8 1 1 0 0 1 pinlabel=\_P3\_ T 350 2600 5 8 0 1 0 2 1 pintype=in } V 250 2600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3000 200 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=15 T 200 2950 5 8 0 1 0 8 1 pinseq=2 T 350 3000 9 8 1 1 0 0 1 pinlabel=\_P2\_ T 350 3000 5 8 0 1 0 2 1 pintype=in } V 250 3000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3400 200 3400 1 0 0 { T 200 3450 5 8 1 1 0 6 1 pinnumber=2 T 200 3350 5 8 0 1 0 8 1 pinseq=3 T 350 3400 9 8 1 1 0 0 1 pinlabel=\_P1\_ T 350 3400 5 8 0 1 0 2 1 pintype=in } V 250 3400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3800 200 3800 1 0 0 { T 200 3850 5 8 1 1 0 6 1 pinnumber=4 T 200 3750 5 8 0 1 0 8 1 pinseq=4 T 350 3800 9 8 1 1 0 0 1 pinlabel=\_P0\_ T 350 3800 5 8 0 1 0 2 1 pintype=in } V 250 3800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1000 200 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=5 T 200 950 5 8 0 1 0 8 1 pinseq=5 T 350 1000 9 8 1 1 0 0 1 pinlabel=\_G3\_ T 350 1000 5 8 0 1 0 2 1 pintype=in } V 250 1000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1400 200 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=14 T 200 1350 5 8 0 1 0 8 1 pinseq=6 T 350 1400 9 8 1 1 0 0 1 pinlabel=\_G2\_ T 350 1400 5 8 0 1 0 2 1 pintype=in } V 250 1400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1800 200 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=1 T 200 1750 5 8 0 1 0 8 1 pinseq=7 T 350 1800 9 8 1 1 0 0 1 pinlabel=\_G1\_ T 350 1800 5 8 0 1 0 2 1 pintype=in } V 250 1800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2200 200 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=3 T 200 2150 5 8 0 1 0 8 1 pinseq=8 T 350 2200 9 8 1 1 0 0 1 pinlabel=\_G0\_ T 350 2200 5 8 0 1 0 2 1 pintype=in } V 250 2200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=13 T 200 550 5 8 0 1 0 8 1 pinseq=9 T 350 600 9 8 1 1 0 0 1 pinlabel=Cn T 350 600 5 8 0 1 0 2 1 pintype=in } P 1600 2600 1400 2600 1 0 0 { T 1400 2650 5 8 1 1 0 0 1 pinnumber=7 T 1400 2550 5 8 0 1 0 2 1 pinseq=10 T 1250 2600 9 8 1 1 0 6 1 pinlabel=\_P\_ T 1250 2600 5 8 0 1 0 8 1 pintype=out } V 1350 2600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1600 2200 1400 2200 1 0 0 { T 1400 2250 5 8 1 1 0 0 1 pinnumber=10 T 1400 2150 5 8 0 1 0 2 1 pinseq=11 T 1250 2200 9 8 1 1 0 6 1 pinlabel=\_G\_ T 1250 2200 5 8 0 1 0 8 1 pintype=out } V 1350 2200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1600 1400 1300 1400 1 0 0 { T 1400 1450 5 8 1 1 0 0 1 pinnumber=9 T 1400 1350 5 8 0 1 0 2 1 pinseq=12 T 1250 1400 9 8 1 1 0 6 1 pinlabel=Cn+Z T 1250 1400 5 8 0 1 0 8 1 pintype=out } P 1600 1000 1300 1000 1 0 0 { T 1400 1050 5 8 1 1 0 0 1 pinnumber=11 T 1400 950 5 8 0 1 0 2 1 pinseq=13 T 1250 1000 9 8 1 1 0 6 1 pinlabel=Cn+Y T 1250 1000 5 8 0 1 0 8 1 pintype=out } P 1600 600 1300 600 1 0 0 { T 1400 650 5 8 1 1 0 0 1 pinnumber=12 T 1400 550 5 8 0 1 0 2 1 pinseq=14 T 1250 600 9 8 1 1 0 6 1 pinlabel=Cn+X T 1250 600 5 8 0 1 0 8 1 pintype=out } B 300 200 1000 4000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2000 650 5 10 0 0 0 0 1 description=look ahead carry generator T 2000 1650 5 10 0 0 0 0 1 numslots=0 T 300 50 9 10 1 0 0 0 1 40182 geda-gaf-1.8.2/symbols/4000/4096-1.sym0000664000175000017500000000472312204104272013445 00000000000000v 20070626 1 T 500 4400 8 10 1 1 0 6 1 refdes=U? T 1830 628 5 10 0 0 0 0 1 device=4096 T 1830 828 5 10 0 0 0 0 1 footprint=DIP14 T 1830 1028 5 10 0 0 0 0 1 net=VSS:7 T 1830 1228 5 10 0 0 0 0 1 net=VDD:14 P 0 1500 200 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=9 T 200 1450 5 8 0 1 0 8 1 pinseq=1 T 350 1500 9 8 1 1 0 0 1 pinlabel=\_K1\_ T 350 1500 5 8 0 1 0 2 1 pintype=in } V 250 1500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2300 200 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=5 T 200 2250 5 8 0 1 0 8 1 pinseq=2 T 350 2300 9 8 1 1 0 0 1 pinlabel=\_J3\_ T 350 2300 5 8 0 1 0 2 1 pintype=in } V 250 2300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=13 T 200 3450 5 8 0 1 0 8 1 pinseq=3 T 350 3500 9 8 1 1 0 0 1 pinlabel=S T 350 3500 5 8 0 1 0 2 1 pintype=in } P 0 3900 300 3900 1 0 0 { T 200 3950 5 8 1 1 0 6 1 pinnumber=2 T 200 3850 5 8 0 1 0 8 1 pinseq=4 T 350 3900 9 8 1 1 0 0 1 pinlabel=R T 350 3900 5 8 0 1 0 2 1 pintype=in } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=11 T 200 650 5 8 0 1 0 8 1 pinseq=5 T 350 700 9 8 1 1 0 0 1 pinlabel=K3 T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=10 T 200 1050 5 8 0 1 0 8 1 pinseq=6 T 350 1100 9 8 1 1 0 0 1 pinlabel=K2 T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=4 T 200 2650 5 8 0 1 0 8 1 pinseq=7 T 350 2700 9 8 1 1 0 0 1 pinlabel=J2 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=3 T 200 3050 5 8 0 1 0 8 1 pinseq=8 T 350 3100 9 8 1 1 0 0 1 pinlabel=J1 T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=12 T 200 1850 5 8 0 1 0 8 1 pinseq=9 T 400 1900 9 8 1 1 0 0 1 pinlabel=CLK T 400 1900 5 8 0 1 0 2 1 pintype=clk } L 400 1900 300 1975 3 0 0 0 -1 -1 L 400 1900 300 1825 3 0 0 0 -1 -1 P 1600 1500 1400 1500 1 0 0 { T 1400 1550 5 8 1 1 0 0 1 pinnumber=6 T 1400 1450 5 8 0 1 0 2 1 pinseq=10 T 1250 1500 9 8 1 1 0 6 1 pinlabel=\_Q\_ T 1250 1500 5 8 0 1 0 8 1 pintype=out } V 1350 1500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1600 2300 1300 2300 1 0 0 { T 1400 2350 5 8 1 1 0 0 1 pinnumber=8 T 1400 2250 5 8 0 1 0 2 1 pinseq=11 T 1250 2300 9 8 1 1 0 6 1 pinlabel=Q T 1250 2300 5 8 0 1 0 8 1 pintype=out } B 300 300 1000 4000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1850 450 5 10 0 0 0 0 1 description=gate JK master slave flip-flop T 1850 1400 5 10 0 0 0 0 1 numslots=0 T 300 50 9 10 1 0 0 0 1 4096 geda-gaf-1.8.2/symbols/4000/4056-1.sym0000664000175000017500000000523512204104272013440 00000000000000v 20031231 1 T 500 3600 8 10 1 1 0 6 1 refdes=U? T 2000 950 5 10 0 0 0 0 1 device=4056 T 2000 1150 5 10 0 0 0 0 1 footprint=DIP16 T 2000 1350 5 10 0 0 0 0 1 net=VEE:7 T 2000 1550 5 10 0 0 0 0 1 net=VSS:8 T 2000 1750 5 10 0 0 0 0 1 net=VDD:16 P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=6 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 1 1 0 0 1 pinlabel=P T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=1 T 200 1050 5 8 0 1 0 8 1 pinseq=2 T 350 1100 9 8 1 1 0 0 1 pinlabel=LE T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=4 T 200 1450 5 8 0 1 0 8 1 pinseq=3 T 350 1500 9 8 1 1 0 0 1 pinlabel=A3 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=2 T 200 1850 5 8 0 1 0 8 1 pinseq=4 T 350 1900 9 8 1 1 0 0 1 pinlabel=A2 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=3 T 200 2250 5 8 0 1 0 8 1 pinseq=5 T 350 2300 9 8 1 1 0 0 1 pinlabel=A1 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=5 T 200 2650 5 8 0 1 0 8 1 pinseq=6 T 350 2700 9 8 1 1 0 0 1 pinlabel=A0 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 1600 700 1300 700 1 0 0 { T 1400 750 5 8 1 1 0 0 1 pinnumber=14 T 1400 650 5 8 0 1 0 2 1 pinseq=7 T 1250 700 9 8 1 1 0 6 1 pinlabel=G T 1250 700 5 8 0 1 0 8 1 pintype=out } P 1600 1100 1300 1100 1 0 0 { T 1400 1150 5 8 1 1 0 0 1 pinnumber=15 T 1400 1050 5 8 0 1 0 2 1 pinseq=8 T 1250 1100 9 8 1 1 0 6 1 pinlabel=F T 1250 1100 5 8 0 1 0 8 1 pintype=out } P 1600 1500 1300 1500 1 0 0 { T 1400 1550 5 8 1 1 0 0 1 pinnumber=13 T 1400 1450 5 8 0 1 0 2 1 pinseq=9 T 1250 1500 9 8 1 1 0 6 1 pinlabel=E T 1250 1500 5 8 0 1 0 8 1 pintype=out } P 1600 1900 1300 1900 1 0 0 { T 1400 1950 5 8 1 1 0 0 1 pinnumber=12 T 1400 1850 5 8 0 1 0 2 1 pinseq=10 T 1250 1900 9 8 1 1 0 6 1 pinlabel=D T 1250 1900 5 8 0 1 0 8 1 pintype=out } P 1600 2300 1300 2300 1 0 0 { T 1400 2350 5 8 1 1 0 0 1 pinnumber=11 T 1400 2250 5 8 0 1 0 2 1 pinseq=11 T 1250 2300 9 8 1 1 0 6 1 pinlabel=C T 1250 2300 5 8 0 1 0 8 1 pintype=out } P 1600 2700 1300 2700 1 0 0 { T 1400 2750 5 8 1 1 0 0 1 pinnumber=10 T 1400 2650 5 8 0 1 0 2 1 pinseq=12 T 1250 2700 9 8 1 1 0 6 1 pinlabel=B T 1250 2700 5 8 0 1 0 8 1 pintype=out } P 1600 3100 1300 3100 1 0 0 { T 1400 3150 5 8 1 1 0 0 1 pinnumber=9 T 1400 3050 5 8 0 1 0 2 1 pinseq=13 T 1250 3100 9 8 1 1 0 6 1 pinlabel=A T 1250 3100 5 8 0 1 0 8 1 pintype=out } B 300 300 1000 3200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2000 750 5 10 0 0 0 0 1 description=BCD to 7 segment decoder, LCD T 2000 1950 5 10 0 0 0 0 1 numslots=0 T 300 50 9 10 1 0 0 0 1 4056 geda-gaf-1.8.2/symbols/4000/4054-1.sym0000664000175000017500000000524012204104272013432 00000000000000v 20031231 1 T 500 4400 8 10 1 1 0 6 1 refdes=U? T 2000 950 5 10 0 0 0 0 1 device=4054 T 2000 1150 5 10 0 0 0 0 1 footprint=DIP16 T 2000 1350 5 10 0 0 0 0 1 net=VEE:7 T 2000 1550 5 10 0 0 0 0 1 net=VSS:8 T 2000 1750 5 10 0 0 0 0 1 net=VDD:16 P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=2 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 1 1 0 0 1 pinlabel=P T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=1 T 200 1450 5 8 0 1 0 8 1 pinseq=2 T 350 1500 9 8 1 1 0 0 1 pinlabel=LE4 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=14 T 200 2250 5 8 0 1 0 8 1 pinseq=3 T 350 2300 9 8 1 1 0 0 1 pinlabel=LE3 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=12 T 200 3050 5 8 0 1 0 8 1 pinseq=4 T 350 3100 9 8 1 1 0 0 1 pinlabel=LE2 T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 3900 300 3900 1 0 0 { T 200 3950 5 8 1 1 0 6 1 pinnumber=10 T 200 3850 5 8 0 1 0 8 1 pinseq=5 T 350 3900 9 8 1 1 0 0 1 pinlabel=LE1 T 350 3900 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=15 T 200 1050 5 8 0 1 0 8 1 pinseq=6 T 350 1100 9 8 1 1 0 0 1 pinlabel=IN4 T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=13 T 200 1850 5 8 0 1 0 8 1 pinseq=7 T 350 1900 9 8 1 1 0 0 1 pinlabel=IN3 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=11 T 200 2650 5 8 0 1 0 8 1 pinseq=8 T 350 2700 9 8 1 1 0 0 1 pinlabel=IN2 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=9 T 200 3450 5 8 0 1 0 8 1 pinseq=9 T 350 3500 9 8 1 1 0 0 1 pinlabel=IN1 T 350 3500 5 8 0 1 0 2 1 pintype=in } P 1600 1100 1300 1100 1 0 0 { T 1400 1150 5 8 1 1 0 0 1 pinnumber=3 T 1400 1050 5 8 0 1 0 2 1 pinseq=10 T 1250 1100 9 8 1 1 0 6 1 pinlabel=OUT4 T 1250 1100 5 8 0 1 0 8 1 pintype=out } P 1600 1900 1300 1900 1 0 0 { T 1400 1950 5 8 1 1 0 0 1 pinnumber=4 T 1400 1850 5 8 0 1 0 2 1 pinseq=11 T 1250 1900 9 8 1 1 0 6 1 pinlabel=OUT3 T 1250 1900 5 8 0 1 0 8 1 pintype=out } P 1600 2700 1300 2700 1 0 0 { T 1400 2750 5 8 1 1 0 0 1 pinnumber=5 T 1400 2650 5 8 0 1 0 2 1 pinseq=12 T 1250 2700 9 8 1 1 0 6 1 pinlabel=OUT2 T 1250 2700 5 8 0 1 0 8 1 pintype=out } P 1600 3500 1300 3500 1 0 0 { T 1400 3550 5 8 1 1 0 0 1 pinnumber=6 T 1400 3450 5 8 0 1 0 2 1 pinseq=13 T 1250 3500 9 8 1 1 0 6 1 pinlabel=OUT1 T 1250 3500 5 8 0 1 0 8 1 pintype=out } B 300 300 1000 4000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2000 750 5 10 0 0 0 0 1 description=liquid-crystal display drivers T 2000 1950 5 10 0 0 0 0 1 numslots=0 T 300 50 9 10 1 0 0 0 1 4054 geda-gaf-1.8.2/symbols/4000/40102-1.sym0000664000175000017500000000610312204104272013503 00000000000000v 20070626 1 T 500 6000 8 10 1 1 0 6 1 refdes=U? T 2000 850 5 10 0 0 0 0 1 device=40102 T 2000 1050 5 10 0 0 0 0 1 footprint=DIP16 T 2000 1250 5 10 0 0 0 0 1 net=VSS:8 T 2000 1450 5 10 0 0 0 0 1 net=VDD:16 P 0 3900 200 3900 1 0 0 { T 200 3950 5 8 1 1 0 6 1 pinnumber=15 T 200 3850 5 8 0 1 0 8 1 pinseq=1 T 350 3900 9 8 1 1 0 0 1 pinlabel=\_SPE\_ T 350 3900 5 8 0 1 0 2 1 pintype=in } V 250 3900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 4300 200 4300 1 0 0 { T 200 4350 5 8 1 1 0 6 1 pinnumber=2 T 200 4250 5 8 0 1 0 8 1 pinseq=2 T 350 4300 9 8 1 1 0 0 1 pinlabel=\_CL\_ T 350 4300 5 8 0 1 0 2 1 pintype=in } V 250 4300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 4700 200 4700 1 0 0 { T 200 4750 5 8 1 1 0 6 1 pinnumber=3 T 200 4650 5 8 0 1 0 8 1 pinseq=3 T 350 4700 9 8 1 1 0 0 1 pinlabel=\_CE\_ T 350 4700 5 8 0 1 0 2 1 pintype=in } V 250 4700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 5100 200 5100 1 0 0 { T 200 5150 5 8 1 1 0 6 1 pinnumber=9 T 200 5050 5 8 0 1 0 8 1 pinseq=4 T 350 5100 9 8 1 1 0 0 1 pinlabel=\_APE\_ T 350 5100 5 8 0 1 0 2 1 pintype=in } V 250 5100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=13 T 200 650 5 8 0 1 0 8 1 pinseq=5 T 350 700 9 8 1 1 0 0 1 pinlabel=J7 T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=12 T 200 1050 5 8 0 1 0 8 1 pinseq=6 T 350 1100 9 8 1 1 0 0 1 pinlabel=J6 T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=11 T 200 1450 5 8 0 1 0 8 1 pinseq=7 T 350 1500 9 8 1 1 0 0 1 pinlabel=J5 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=10 T 200 1850 5 8 0 1 0 8 1 pinseq=8 T 350 1900 9 8 1 1 0 0 1 pinlabel=J4 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=7 T 200 2250 5 8 0 1 0 8 1 pinseq=9 T 350 2300 9 8 1 1 0 0 1 pinlabel=J3 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=6 T 200 2650 5 8 0 1 0 8 1 pinseq=10 T 350 2700 9 8 1 1 0 0 1 pinlabel=J2 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=5 T 200 3050 5 8 0 1 0 8 1 pinseq=11 T 350 3100 9 8 1 1 0 0 1 pinlabel=J1 T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=4 T 200 3450 5 8 0 1 0 8 1 pinseq=12 T 350 3500 9 8 1 1 0 0 1 pinlabel=J0 T 350 3500 5 8 0 1 0 2 1 pintype=in } P 0 5500 300 5500 1 0 0 { T 200 5550 5 8 1 1 0 6 1 pinnumber=1 T 200 5450 5 8 0 1 0 8 1 pinseq=13 T 400 5500 9 8 1 1 0 0 1 pinlabel=CLK T 400 5500 5 8 0 1 0 2 1 pintype=clk } L 400 5500 300 5575 3 0 0 0 -1 -1 L 400 5500 300 5425 3 0 0 0 -1 -1 P 1600 5500 1400 5500 1 0 0 { T 1400 5550 5 8 1 1 0 0 1 pinnumber=14 T 1400 5450 5 8 0 1 0 2 1 pinseq=14 T 1250 5500 9 8 1 1 0 6 1 pinlabel=\_CO\_ T 1250 5500 5 8 0 1 0 8 1 pintype=out } V 1350 5500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 300 300 1000 5600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2000 650 5 10 0 0 0 0 1 description=8-bit synchrounous BCD down counter T 2000 1650 5 10 0 0 0 0 1 numslots=0 T 300 50 9 10 1 0 0 0 1 40102 geda-gaf-1.8.2/symbols/4000/40101-1.sym0000664000175000017500000000472012204104272013505 00000000000000v 20070626 1 T 500 4400 8 10 1 1 0 6 1 refdes=U? T 2000 950 5 10 0 0 0 0 1 device=40101 T 2000 1150 5 10 0 0 0 0 1 footprint=DIP14 T 2000 1350 5 10 0 0 0 0 1 net=VSS:7 T 2000 1550 5 10 0 0 0 0 1 net=VDD:14 P 800 0 800 200 1 0 0 { T 850 100 5 8 1 1 0 0 1 pinnumber=8 T 850 100 5 8 0 1 0 2 1 pinseq=1 T 800 350 9 8 1 1 0 3 1 pinlabel=\_EN\_ T 800 500 5 8 0 1 0 3 1 pintype=in } V 800 250 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=5 T 200 650 5 8 0 1 0 8 1 pinseq=2 T 350 700 9 8 1 1 0 0 1 pinlabel=D9 T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=13 T 200 1050 5 8 0 1 0 8 1 pinseq=3 T 350 1100 9 8 1 1 0 0 1 pinlabel=D8 T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=12 T 200 1450 5 8 0 1 0 8 1 pinseq=4 T 350 1500 9 8 1 1 0 0 1 pinlabel=D7 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=11 T 200 1850 5 8 0 1 0 8 1 pinseq=5 T 350 1900 9 8 1 1 0 0 1 pinlabel=D6 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=10 T 200 2250 5 8 0 1 0 8 1 pinseq=6 T 350 2300 9 8 1 1 0 0 1 pinlabel=D5 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=4 T 200 2650 5 8 0 1 0 8 1 pinseq=7 T 350 2700 9 8 1 1 0 0 1 pinlabel=D4 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=3 T 200 3050 5 8 0 1 0 8 1 pinseq=8 T 350 3100 9 8 1 1 0 0 1 pinlabel=D3 T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=2 T 200 3450 5 8 0 1 0 8 1 pinseq=9 T 350 3500 9 8 1 1 0 0 1 pinlabel=D2 T 350 3500 5 8 0 1 0 2 1 pintype=in } P 0 3900 300 3900 1 0 0 { T 200 3950 5 8 1 1 0 6 1 pinnumber=1 T 200 3850 5 8 0 1 0 8 1 pinseq=10 T 350 3900 9 8 1 1 0 0 1 pinlabel=D1 T 350 3900 5 8 0 1 0 2 1 pintype=in } P 1600 1900 1300 1900 1 0 0 { T 1400 1950 5 8 1 1 0 0 1 pinnumber=6 T 1400 1850 5 8 0 1 0 2 1 pinseq=11 T 1250 1900 9 8 1 1 0 6 1 pinlabel=Odd T 1250 1900 5 8 0 1 0 8 1 pintype=out } P 1600 2700 1300 2700 1 0 0 { T 1400 2750 5 8 1 1 0 0 1 pinnumber=9 T 1400 2650 5 8 0 1 0 2 1 pinseq=12 T 1250 2700 9 8 1 1 0 6 1 pinlabel=Even T 1250 2700 5 8 0 1 0 8 1 pintype=out } B 300 300 1000 4000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2000 750 5 10 0 0 0 0 1 description=9 bit parity checker T 2000 1750 5 10 0 0 0 0 1 numslots=0 T 200 50 9 10 1 0 0 0 1 40101 geda-gaf-1.8.2/symbols/4000/40104-1.sym0000664000175000017500000000554712204104272013520 00000000000000v 20031231 1 T 500 4800 8 10 1 1 0 6 1 refdes=U? T 2000 850 5 10 0 0 0 0 1 device=40104 T 2000 1050 5 10 0 0 0 0 1 footprint=DIP16 T 2000 1250 5 10 0 0 0 0 1 net=VSS:8 T 2000 1450 5 10 0 0 0 0 1 net=VDD:16 P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=2 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 1 1 0 0 1 pinlabel=SHR T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=7 T 200 1050 5 8 0 1 0 8 1 pinseq=2 T 350 1100 9 8 1 1 0 0 1 pinlabel=SHL T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=10 T 200 1450 5 8 0 1 0 8 1 pinseq=3 T 350 1500 9 8 1 1 0 0 1 pinlabel=S1 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=9 T 200 1850 5 8 0 1 0 8 1 pinseq=4 T 350 1900 9 8 1 1 0 0 1 pinlabel=S0 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=1 T 200 2250 5 8 0 1 0 8 1 pinseq=5 T 350 2300 9 8 1 1 0 0 1 pinlabel=OE T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=6 T 200 2650 5 8 0 1 0 8 1 pinseq=6 T 350 2700 9 8 1 1 0 0 1 pinlabel=D3 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=5 T 200 3050 5 8 0 1 0 8 1 pinseq=7 T 350 3100 9 8 1 1 0 0 1 pinlabel=D2 T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=4 T 200 3450 5 8 0 1 0 8 1 pinseq=8 T 350 3500 9 8 1 1 0 0 1 pinlabel=D1 T 350 3500 5 8 0 1 0 2 1 pintype=in } P 0 3900 300 3900 1 0 0 { T 200 3950 5 8 1 1 0 6 1 pinnumber=3 T 200 3850 5 8 0 1 0 8 1 pinseq=9 T 350 3900 9 8 1 1 0 0 1 pinlabel=D0 T 350 3900 5 8 0 1 0 2 1 pintype=in } P 0 4300 300 4300 1 0 0 { T 200 4350 5 8 1 1 0 6 1 pinnumber=11 T 200 4250 5 8 0 1 0 8 1 pinseq=10 T 400 4300 9 8 1 1 0 0 1 pinlabel=CLK T 400 4300 5 8 0 1 0 2 1 pintype=clk } L 400 4300 300 4375 3 0 0 0 -1 -1 L 400 4300 300 4225 3 0 0 0 -1 -1 P 1600 2700 1300 2700 1 0 0 { T 1400 2750 5 8 1 1 0 0 1 pinnumber=12 T 1400 2650 5 8 0 1 0 2 1 pinseq=11 T 1250 2700 9 8 1 1 0 6 1 pinlabel=Q3 T 1250 2700 5 8 0 1 0 8 1 pintype=tri } P 1600 3100 1300 3100 1 0 0 { T 1400 3150 5 8 1 1 0 0 1 pinnumber=13 T 1400 3050 5 8 0 1 0 2 1 pinseq=12 T 1250 3100 9 8 1 1 0 6 1 pinlabel=Q2 T 1250 3100 5 8 0 1 0 8 1 pintype=tri } P 1600 3500 1300 3500 1 0 0 { T 1400 3550 5 8 1 1 0 0 1 pinnumber=14 T 1400 3450 5 8 0 1 0 2 1 pinseq=13 T 1250 3500 9 8 1 1 0 6 1 pinlabel=Q1 T 1250 3500 5 8 0 1 0 8 1 pintype=tri } P 1600 3900 1300 3900 1 0 0 { T 1400 3950 5 8 1 1 0 0 1 pinnumber=15 T 1400 3850 5 8 0 1 0 2 1 pinseq=14 T 1250 3900 9 8 1 1 0 6 1 pinlabel=Q0 T 1250 3900 5 8 0 1 0 8 1 pintype=tri } B 300 300 1000 4400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2000 650 5 10 0 0 0 0 1 description=4-bit bidirectional shift register T 2000 1650 5 10 0 0 0 0 1 numslots=0 T 300 50 9 10 1 0 0 0 1 40104 geda-gaf-1.8.2/symbols/4000/4019-2.sym0000664000175000017500000000541512204104272013440 00000000000000v 20031231 1 T 1700 4300 8 10 1 1 0 6 1 refdes=U? T 300 4450 5 10 0 0 0 0 1 device=4019 T 300 4650 5 10 0 0 0 0 1 footprint=DIP16 P 0 300 300 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=14 T 200 250 5 8 0 1 0 8 1 pinseq=1 T 350 300 9 8 1 1 0 0 1 pinlabel=Sel B T 350 300 5 8 0 1 0 2 1 pintype=in } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=9 T 200 650 5 8 0 1 0 8 1 pinseq=2 T 350 700 9 8 1 1 0 0 1 pinlabel=Sel A T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=1 T 200 1050 5 8 0 1 0 8 1 pinseq=3 T 350 1100 9 8 1 1 0 0 1 pinlabel=B4 T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=3 T 200 1850 5 8 0 1 0 8 1 pinseq=4 T 350 1900 9 8 1 1 0 0 1 pinlabel=B3 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=5 T 200 2650 5 8 0 1 0 8 1 pinseq=5 T 350 2700 9 8 1 1 0 0 1 pinlabel=B2 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=7 T 200 3450 5 8 0 1 0 8 1 pinseq=6 T 350 3500 9 8 1 1 0 0 1 pinlabel=B1 T 350 3500 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=15 T 200 1450 5 8 0 1 0 8 1 pinseq=7 T 350 1500 9 8 1 1 0 0 1 pinlabel=A4 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=2 T 200 2250 5 8 0 1 0 8 1 pinseq=8 T 350 2300 9 8 1 1 0 0 1 pinlabel=A3 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=4 T 200 3050 5 8 0 1 0 8 1 pinseq=9 T 350 3100 9 8 1 1 0 0 1 pinlabel=A2 T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 3900 300 3900 1 0 0 { T 200 3950 5 8 1 1 0 6 1 pinnumber=6 T 200 3850 5 8 0 1 0 8 1 pinseq=10 T 350 3900 9 8 1 1 0 0 1 pinlabel=A1 T 350 3900 5 8 0 1 0 2 1 pintype=in } P 2000 1500 1700 1500 1 0 0 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=13 T 1800 1450 5 8 0 1 0 2 1 pinseq=11 T 1650 1500 9 8 1 1 0 6 1 pinlabel=Y4 T 1650 1500 5 8 0 1 0 8 1 pintype=out } P 2000 2300 1700 2300 1 0 0 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=12 T 1800 2250 5 8 0 1 0 2 1 pinseq=12 T 1650 2300 9 8 1 1 0 6 1 pinlabel=Y3 T 1650 2300 5 8 0 1 0 8 1 pintype=out } P 2000 3100 1700 3100 1 0 0 { T 1800 3150 5 8 1 1 0 0 1 pinnumber=11 T 1800 3050 5 8 0 1 0 2 1 pinseq=13 T 1650 3100 9 8 1 1 0 6 1 pinlabel=Y2 T 1650 3100 5 8 0 1 0 8 1 pintype=out } P 2000 3900 1700 3900 1 0 0 { T 1800 3950 5 8 1 1 0 0 1 pinnumber=10 T 1800 3850 5 8 0 1 0 2 1 pinseq=14 T 1650 3900 9 8 1 1 0 6 1 pinlabel=Y1 T 1650 3900 5 8 0 1 0 8 1 pintype=out } B 300 0 1400 4200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4850 5 10 0 0 0 0 1 net=VSS:8 T 300 5050 5 10 0 0 0 0 1 net=VDD:16 T 300 5450 5 10 0 0 0 0 1 description=4 2-input multiplexer T 300 5250 5 10 0 0 0 0 1 numslots=0 T 300 4250 9 10 1 0 0 0 1 4019 geda-gaf-1.8.2/symbols/4000/4018-2.sym0000664000175000017500000000613612204104272013440 00000000000000v 20070626 1 T 1700 3900 8 10 1 1 0 6 1 refdes=U? T 300 4050 5 10 0 0 0 0 1 device=4018 T 300 4250 5 10 0 0 0 0 1 footprint=DIP16 T 300 4450 5 10 0 0 0 0 1 net=VSS:8 T 300 4650 5 10 0 0 0 0 1 net=VDD:16 P 0 300 300 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=15 T 200 250 5 8 0 1 0 8 1 pinseq=1 T 350 300 9 8 1 1 0 0 1 pinlabel=Reset T 350 300 5 8 0 1 0 2 1 pintype=in } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=10 T 200 650 5 8 0 1 0 8 1 pinseq=2 T 350 700 9 8 1 1 0 0 1 pinlabel=PL T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=12 T 200 1850 5 8 0 1 0 8 1 pinseq=3 T 350 1900 9 8 1 1 0 0 1 pinlabel=P4 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=9 T 200 2250 5 8 0 1 0 8 1 pinseq=4 T 350 2300 9 8 1 1 0 0 1 pinlabel=P3 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=7 T 200 2650 5 8 0 1 0 8 1 pinseq=5 T 350 2700 9 8 1 1 0 0 1 pinlabel=P2 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=3 T 200 3050 5 8 0 1 0 8 1 pinseq=6 T 350 3100 9 8 1 1 0 0 1 pinlabel=P1 T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=2 T 200 3450 5 8 0 1 0 8 1 pinseq=7 T 350 3500 9 8 1 1 0 0 1 pinlabel=P0 T 350 3500 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=1 T 200 1450 5 8 0 1 0 8 1 pinseq=8 T 350 1500 9 8 1 1 0 0 1 pinlabel=Data T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=14 T 200 1050 5 8 0 1 0 8 1 pinseq=9 T 400 1100 9 8 1 1 0 0 1 pinlabel=CLK T 400 1100 5 8 0 1 0 2 1 pintype=clk } L 400 1100 300 1175 3 0 0 0 -1 -1 L 400 1100 300 1025 3 0 0 0 -1 -1 P 2000 1900 1800 1900 1 0 0 { T 1800 1950 5 8 1 1 0 0 1 pinnumber=13 T 1800 1850 5 8 0 1 0 2 1 pinseq=10 T 1650 1900 9 8 1 1 0 6 1 pinlabel=\_Q4\_ T 1650 1900 5 8 0 1 0 8 1 pintype=out } V 1750 1900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 2300 1800 2300 1 0 0 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=11 T 1800 2250 5 8 0 1 0 2 1 pinseq=11 T 1650 2300 9 8 1 1 0 6 1 pinlabel=\_Q3\_ T 1650 2300 5 8 0 1 0 8 1 pintype=out } V 1750 2300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 2700 1800 2700 1 0 0 { T 1800 2750 5 8 1 1 0 0 1 pinnumber=6 T 1800 2650 5 8 0 1 0 2 1 pinseq=12 T 1650 2700 9 8 1 1 0 6 1 pinlabel=\_Q2\_ T 1650 2700 5 8 0 1 0 8 1 pintype=out } V 1750 2700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 3100 1800 3100 1 0 0 { T 1800 3150 5 8 1 1 0 0 1 pinnumber=4 T 1800 3050 5 8 0 1 0 2 1 pinseq=13 T 1650 3100 9 8 1 1 0 6 1 pinlabel=\_Q1\_ T 1650 3100 5 8 0 1 0 8 1 pintype=out } V 1750 3100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 3500 1800 3500 1 0 0 { T 1800 3550 5 8 1 1 0 0 1 pinnumber=5 T 1800 3450 5 8 0 1 0 2 1 pinseq=14 T 1650 3500 9 8 1 1 0 6 1 pinlabel=\_Q0\_ T 1650 3500 5 8 0 1 0 8 1 pintype=out } V 1750 3500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 300 0 1400 3800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 5050 5 10 0 0 0 0 1 description=presetable divide-by-n-counter T 300 4850 5 10 0 0 0 0 1 numslots=0 T 300 3850 9 10 1 0 0 0 1 4018 geda-gaf-1.8.2/symbols/4000/4531-1.sym0000664000175000017500000000554212204104272013437 00000000000000v 20031231 1 T 1700 5500 8 10 1 1 0 6 1 refdes=U? T 300 5650 5 10 0 0 0 0 1 device=4531 T 300 5850 5 10 0 0 0 0 1 footprint=DIP16 T 300 6050 5 10 0 0 0 0 1 net=VSS:8 T 300 6250 5 10 0 0 0 0 1 net=VDD:16 P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=13 T 200 1450 5 8 0 1 0 8 1 pinseq=1 T 350 1500 9 8 1 1 0 0 1 pinlabel=D9 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=14 T 200 1850 5 8 0 1 0 8 1 pinseq=2 T 350 1900 9 8 1 1 0 0 1 pinlabel=D8 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=15 T 200 2250 5 8 0 1 0 8 1 pinseq=3 T 350 2300 9 8 1 1 0 0 1 pinlabel=D7 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=1 T 200 2650 5 8 0 1 0 8 1 pinseq=4 T 350 2700 9 8 1 1 0 0 1 pinlabel=D6 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=2 T 200 3050 5 8 0 1 0 8 1 pinseq=5 T 350 3100 9 8 1 1 0 0 1 pinlabel=D5 T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=3 T 200 3450 5 8 0 1 0 8 1 pinseq=6 T 350 3500 9 8 1 1 0 0 1 pinlabel=D4 T 350 3500 5 8 0 1 0 2 1 pintype=in } P 0 3900 300 3900 1 0 0 { T 200 3950 5 8 1 1 0 6 1 pinnumber=4 T 200 3850 5 8 0 1 0 8 1 pinseq=7 T 350 3900 9 8 1 1 0 0 1 pinlabel=D3 T 350 3900 5 8 0 1 0 2 1 pintype=in } P 0 4300 300 4300 1 0 0 { T 200 4350 5 8 1 1 0 6 1 pinnumber=5 T 200 4250 5 8 0 1 0 8 1 pinseq=8 T 350 4300 9 8 1 1 0 0 1 pinlabel=D2 T 350 4300 5 8 0 1 0 2 1 pintype=in } P 0 300 300 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=10 T 200 250 5 8 0 1 0 8 1 pinseq=9 T 350 300 9 8 1 1 0 0 1 pinlabel=D12 T 350 300 5 8 0 1 0 2 1 pintype=in } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=11 T 200 650 5 8 0 1 0 8 1 pinseq=10 T 350 700 9 8 1 1 0 0 1 pinlabel=D11 T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=12 T 200 1050 5 8 0 1 0 8 1 pinseq=11 T 350 1100 9 8 1 1 0 0 1 pinlabel=D10 T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 4700 300 4700 1 0 0 { T 200 4750 5 8 1 1 0 6 1 pinnumber=6 T 200 4650 5 8 0 1 0 8 1 pinseq=12 T 350 4700 9 8 1 1 0 0 1 pinlabel=D1 T 350 4700 5 8 0 1 0 2 1 pintype=in } P 0 5100 300 5100 1 0 0 { T 200 5150 5 8 1 1 0 6 1 pinnumber=7 T 200 5050 5 8 0 1 0 8 1 pinseq=13 T 350 5100 9 8 1 1 0 0 1 pinlabel=D0 T 350 5100 5 8 0 1 0 2 1 pintype=in } P 2000 2700 1700 2700 1 0 0 { T 1800 2750 5 8 1 1 0 0 1 pinnumber=9 T 1800 2650 5 8 0 1 0 2 1 pinseq=14 T 1650 2700 9 8 1 1 0 6 1 pinlabel=Q T 1650 2700 5 8 0 1 0 8 1 pintype=out } B 300 0 1400 5400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 6650 5 10 0 0 0 0 1 description=13 bit parity checker T 300 6450 5 10 0 0 0 0 1 numslots=0 T 300 6850 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4531B_CNV_3.pdf T 300 5450 9 10 1 0 0 0 1 4531 geda-gaf-1.8.2/symbols/4000/4048-1.sym0000664000175000017500000000542412204104272013441 00000000000000v 20031231 1 T 600 4000 8 10 1 1 0 6 1 refdes=U? T 2500 950 5 10 0 0 0 0 1 device=4048 T 2500 1150 5 10 0 0 0 0 1 footprint=DIP16 T 2500 1350 5 10 0 0 0 0 1 net=VSS:8 T 2500 1550 5 10 0 0 0 0 1 net=VDD:16 P 1500 0 1500 300 1 0 0 { T 1550 100 5 8 1 1 0 0 1 pinnumber=10 T 1550 100 5 8 0 1 0 2 1 pinseq=1 T 1500 350 9 8 1 1 0 3 1 pinlabel=S2 T 1500 500 5 8 0 1 0 3 1 pintype=in } P 1100 0 1100 300 1 0 0 { T 1150 100 5 8 1 1 0 0 1 pinnumber=7 T 1150 100 5 8 0 1 0 2 1 pinseq=2 T 1100 350 9 8 1 1 0 3 1 pinlabel=S1 T 1100 500 5 8 0 1 0 3 1 pintype=in } P 700 0 700 300 1 0 0 { T 750 100 5 8 1 1 0 0 1 pinnumber=9 T 750 100 5 8 0 1 0 2 1 pinseq=3 T 700 350 9 8 1 1 0 3 1 pinlabel=S0 T 700 500 5 8 0 1 0 3 1 pintype=in } P 100 700 400 700 1 0 0 { T 300 750 5 8 1 1 0 6 1 pinnumber=14 T 300 650 5 8 0 1 0 8 1 pinseq=4 T 450 700 9 8 1 1 0 0 1 pinlabel=H T 450 700 5 8 0 1 0 2 1 pintype=in } P 100 1100 400 1100 1 0 0 { T 300 1150 5 8 1 1 0 6 1 pinnumber=13 T 300 1050 5 8 0 1 0 8 1 pinseq=5 T 450 1100 9 8 1 1 0 0 1 pinlabel=G T 450 1100 5 8 0 1 0 2 1 pintype=in } P 100 1500 400 1500 1 0 0 { T 300 1550 5 8 1 1 0 6 1 pinnumber=12 T 300 1450 5 8 0 1 0 8 1 pinseq=6 T 450 1500 9 8 1 1 0 0 1 pinlabel=F T 450 1500 5 8 0 1 0 2 1 pintype=in } P 100 1900 400 1900 1 0 0 { T 300 1950 5 8 1 1 0 6 1 pinnumber=11 T 300 1850 5 8 0 1 0 8 1 pinseq=7 T 450 1900 9 8 1 1 0 0 1 pinlabel=E T 450 1900 5 8 0 1 0 2 1 pintype=in } P 100 2300 400 2300 1 0 0 { T 300 2350 5 8 1 1 0 6 1 pinnumber=6 T 300 2250 5 8 0 1 0 8 1 pinseq=8 T 450 2300 9 8 1 1 0 0 1 pinlabel=D T 450 2300 5 8 0 1 0 2 1 pintype=in } P 100 2700 400 2700 1 0 0 { T 300 2750 5 8 1 1 0 6 1 pinnumber=5 T 300 2650 5 8 0 1 0 8 1 pinseq=9 T 450 2700 9 8 1 1 0 0 1 pinlabel=C T 450 2700 5 8 0 1 0 2 1 pintype=in } P 100 3100 400 3100 1 0 0 { T 300 3150 5 8 1 1 0 6 1 pinnumber=4 T 300 3050 5 8 0 1 0 8 1 pinseq=10 T 450 3100 9 8 1 1 0 0 1 pinlabel=B T 450 3100 5 8 0 1 0 2 1 pintype=in } P 100 3500 400 3500 1 0 0 { T 300 3550 5 8 1 1 0 6 1 pinnumber=3 T 300 3450 5 8 0 1 0 8 1 pinseq=11 T 450 3500 9 8 1 1 0 0 1 pinlabel=A T 450 3500 5 8 0 1 0 2 1 pintype=in } P 2100 1900 1800 1900 1 0 0 { T 1900 1950 5 8 1 1 0 0 1 pinnumber=1 T 1900 1850 5 8 0 1 0 2 1 pinseq=12 T 1750 1900 9 8 1 1 0 6 1 pinlabel=Y T 1750 1900 5 8 0 1 0 8 1 pintype=tri } P 2100 2300 1800 2300 1 0 0 { T 1900 2350 5 8 1 1 0 0 1 pinnumber=15 T 1900 2250 5 8 0 1 0 2 1 pinseq=13 T 1750 2300 9 8 1 1 0 6 1 pinlabel=X T 1750 2300 5 8 0 1 0 8 1 pintype=out } P 1100 4200 1100 3900 1 0 0 { T 1150 4000 5 8 1 1 0 0 1 pinnumber=2 T 1150 4000 5 8 0 1 0 2 1 pinseq=14 T 1100 3850 9 8 1 1 0 5 1 pinlabel=OE T 1100 3700 5 8 0 1 0 5 1 pintype=in } B 400 300 1400 3600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2500 750 5 10 0 0 0 0 1 description=multifunction expandable 8-input gate T 2500 1750 5 10 0 0 0 0 1 numslots=0 T 0 50 9 10 1 0 0 0 1 4048 geda-gaf-1.8.2/symbols/4000/4072-1.sym0000664000175000017500000000334012204104272013431 00000000000000v 20040710 1 T 2100 500 5 10 0 0 0 0 1 net=VDD:14 T 2100 700 5 10 0 0 0 0 1 net=VSS:7 T 2100 1700 5 10 0 0 0 0 1 device=4072 T 2100 1100 5 10 0 0 0 0 1 numslots=2 T 2100 1300 5 10 0 0 0 0 1 slotdef=1:2,3,4,5,1 T 2100 1500 5 10 0 0 0 0 1 slotdef=2:9,10,11,12,13 T 2100 900 5 10 0 0 0 0 1 slot=1 T 2100 1900 5 10 0 0 0 0 1 footprint=DIP14 T 2100 2100 5 10 0 0 0 0 1 description=2 OR gates with 4 inputs T 2100 2300 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4072B_CNV_3.pdf T 400 100 9 8 1 0 0 0 1 4072 P 300 100 0 100 1 0 1 { T 200 150 5 8 1 1 0 6 1 pinnumber=5 T 200 50 5 8 0 1 0 8 1 pinseq=4 T 350 100 5 8 0 1 0 2 1 pintype=in T 350 100 9 8 0 1 0 0 1 pinlabel=D } P 300 1100 0 1100 1 0 1 { T 200 1050 5 8 0 1 0 8 1 pinseq=1 T 200 1150 5 8 1 1 0 6 1 pinnumber=2 T 350 1100 9 8 0 1 0 0 1 pinlabel=A T 350 1100 5 8 0 1 0 2 1 pintype=in } P 300 800 0 800 1 0 1 { T 200 750 5 8 0 1 0 8 1 pinseq=2 T 200 850 5 8 1 1 0 6 1 pinnumber=3 T 350 800 9 8 0 1 0 0 1 pinlabel=B T 350 800 5 8 0 1 0 2 1 pintype=in } A 36 600 400 312 97 3 0 0 0 -1 -1 L 300 300 600 300 3 0 0 0 -1 -1 L 300 900 600 900 3 0 0 0 -1 -1 A 600 700 400 270 76 3 0 0 0 -1 -1 A 600 500 400 14 76 3 0 0 0 -1 -1 L 300 100 300 300 3 0 0 0 -1 -1 L 300 1100 300 900 3 0 0 0 -1 -1 P 300 400 0 400 1 0 1 { T 200 450 5 8 1 1 0 6 1 pinnumber=4 T 200 350 5 8 0 1 0 8 1 pinseq=3 T 350 400 5 8 0 1 0 2 1 pintype=in T 350 400 9 8 0 1 0 0 1 pinlabel=C } L 300 1100 300 1200 3 0 0 0 -1 -1 L 300 0 300 100 3 0 0 0 -1 -1 T 400 1000 8 10 1 1 0 0 1 refdes=U? T 2100 2500 5 10 0 0 0 0 1 symversion=1.0 P 1300 600 1000 600 1 0 0 { T 1150 650 5 8 1 1 0 0 1 pinnumber=1 T 1150 550 5 8 0 1 0 2 1 pinseq=5 T 1000 600 5 8 0 1 0 8 1 pintype=out T 1000 600 9 8 0 1 0 6 1 pinlabel=Y } geda-gaf-1.8.2/symbols/4000/4043-2.sym0000664000175000017500000000533212204104272013433 00000000000000v 20031231 1 T 1700 3900 8 10 1 1 0 6 1 refdes=U? T 300 4050 5 10 0 0 0 0 1 device=4043 T 300 4250 5 10 0 0 0 0 1 footprint=DIP16 T 300 4850 5 10 0 0 0 0 1 net=VSS:8 T 300 5050 5 10 0 0 0 0 1 net=VDD:16 P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=14 T 200 1050 5 8 0 1 0 8 1 pinseq=1 T 350 1100 9 8 1 1 0 0 1 pinlabel=S4 T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=12 T 200 1850 5 8 0 1 0 8 1 pinseq=2 T 350 1900 9 8 1 1 0 0 1 pinlabel=S3 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=6 T 200 2650 5 8 0 1 0 8 1 pinseq=3 T 350 2700 9 8 1 1 0 0 1 pinlabel=S2 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=4 T 200 3450 5 8 0 1 0 8 1 pinseq=4 T 350 3500 9 8 1 1 0 0 1 pinlabel=S1 T 350 3500 5 8 0 1 0 2 1 pintype=in } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=15 T 200 650 5 8 0 1 0 8 1 pinseq=5 T 350 700 9 8 1 1 0 0 1 pinlabel=R4 T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=11 T 200 1450 5 8 0 1 0 8 1 pinseq=6 T 350 1500 9 8 1 1 0 0 1 pinlabel=R3 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=7 T 200 2250 5 8 0 1 0 8 1 pinseq=7 T 350 2300 9 8 1 1 0 0 1 pinlabel=R2 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=3 T 200 3050 5 8 0 1 0 8 1 pinseq=8 T 350 3100 9 8 1 1 0 0 1 pinlabel=R1 T 350 3100 5 8 0 1 0 2 1 pintype=in } P 2000 700 1700 700 1 0 0 { T 1800 750 5 8 1 1 0 0 1 pinnumber=1 T 1800 650 5 8 0 1 0 2 1 pinseq=9 T 1650 700 9 8 1 1 0 6 1 pinlabel=Q4 T 1650 700 5 8 0 1 0 8 1 pintype=tri } P 2000 1500 1700 1500 1 0 0 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=10 T 1800 1450 5 8 0 1 0 2 1 pinseq=10 T 1650 1500 9 8 1 1 0 6 1 pinlabel=Q3 T 1650 1500 5 8 0 1 0 8 1 pintype=tri } P 2000 2300 1700 2300 1 0 0 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=9 T 1800 2250 5 8 0 1 0 2 1 pinseq=11 T 1650 2300 9 8 1 1 0 6 1 pinlabel=Q2 T 1650 2300 5 8 0 1 0 8 1 pintype=tri } P 2000 3100 1700 3100 1 0 0 { T 1800 3150 5 8 1 1 0 0 1 pinnumber=2 T 1800 3050 5 8 0 1 0 2 1 pinseq=12 T 1650 3100 9 8 1 1 0 6 1 pinlabel=Q1 T 1650 3100 5 8 0 1 0 8 1 pintype=tri } P 0 300 300 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=5 T 200 250 5 8 0 1 0 8 1 pinseq=13 T 350 300 9 8 1 1 0 0 1 pinlabel=EN T 350 300 5 8 0 1 0 2 1 pintype=in } B 300 0 1400 3800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4650 5 10 0 0 0 0 1 description=quadruple R/S latch with 3-state outputs T 300 5250 5 10 0 0 0 0 1 numslots=0 T 300 4450 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4043B_CNV_3.pdf T 300 3850 9 10 1 0 0 0 1 4043 geda-gaf-1.8.2/symbols/4000/4055-1.sym0000664000175000017500000000525412204104272013440 00000000000000v 20031231 1 T 500 4000 8 10 1 1 0 6 1 refdes=U? T 2000 950 5 10 0 0 0 0 1 device=4055 T 2000 1150 5 10 0 0 0 0 1 footprint=DIP16 T 2000 1350 5 10 0 0 0 0 1 net=VEE:7 T 2000 1550 5 10 0 0 0 0 1 net=VSS:8 T 2000 1750 5 10 0 0 0 0 1 net=VDD:16 P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=6 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 1 1 0 0 1 pinlabel=P In T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1700 300 1700 1 0 0 { T 200 1750 5 8 1 1 0 6 1 pinnumber=4 T 200 1650 5 8 0 1 0 8 1 pinseq=2 T 350 1700 9 8 1 1 0 0 1 pinlabel=A3 T 350 1700 5 8 0 1 0 2 1 pintype=in } P 0 2100 300 2100 1 0 0 { T 200 2150 5 8 1 1 0 6 1 pinnumber=2 T 200 2050 5 8 0 1 0 8 1 pinseq=3 T 350 2100 9 8 1 1 0 0 1 pinlabel=A2 T 350 2100 5 8 0 1 0 2 1 pintype=in } P 0 2500 300 2500 1 0 0 { T 200 2550 5 8 1 1 0 6 1 pinnumber=3 T 200 2450 5 8 0 1 0 8 1 pinseq=4 T 350 2500 9 8 1 1 0 0 1 pinlabel=A1 T 350 2500 5 8 0 1 0 2 1 pintype=in } P 0 2900 300 2900 1 0 0 { T 200 2950 5 8 1 1 0 6 1 pinnumber=5 T 200 2850 5 8 0 1 0 8 1 pinseq=5 T 350 2900 9 8 1 1 0 0 1 pinlabel=A0 T 350 2900 5 8 0 1 0 2 1 pintype=in } P 1600 700 1300 700 1 0 0 { T 1400 750 5 8 1 1 0 0 1 pinnumber=1 T 1400 650 5 8 0 1 0 2 1 pinseq=6 T 1250 700 9 8 1 1 0 6 1 pinlabel=P Out T 1250 700 5 8 0 1 0 8 1 pintype=out } P 1600 1100 1300 1100 1 0 0 { T 1400 1150 5 8 1 1 0 0 1 pinnumber=14 T 1400 1050 5 8 0 1 0 2 1 pinseq=7 T 1250 1100 9 8 1 1 0 6 1 pinlabel=G T 1250 1100 5 8 0 1 0 8 1 pintype=out } P 1600 1500 1300 1500 1 0 0 { T 1400 1550 5 8 1 1 0 0 1 pinnumber=15 T 1400 1450 5 8 0 1 0 2 1 pinseq=8 T 1250 1500 9 8 1 1 0 6 1 pinlabel=F T 1250 1500 5 8 0 1 0 8 1 pintype=out } P 1600 1900 1300 1900 1 0 0 { T 1400 1950 5 8 1 1 0 0 1 pinnumber=13 T 1400 1850 5 8 0 1 0 2 1 pinseq=9 T 1250 1900 9 8 1 1 0 6 1 pinlabel=E T 1250 1900 5 8 0 1 0 8 1 pintype=out } P 1600 2300 1300 2300 1 0 0 { T 1400 2350 5 8 1 1 0 0 1 pinnumber=12 T 1400 2250 5 8 0 1 0 2 1 pinseq=10 T 1250 2300 9 8 1 1 0 6 1 pinlabel=D T 1250 2300 5 8 0 1 0 8 1 pintype=out } P 1600 2700 1300 2700 1 0 0 { T 1400 2750 5 8 1 1 0 0 1 pinnumber=11 T 1400 2650 5 8 0 1 0 2 1 pinseq=11 T 1250 2700 9 8 1 1 0 6 1 pinlabel=C T 1250 2700 5 8 0 1 0 8 1 pintype=out } P 1600 3100 1300 3100 1 0 0 { T 1400 3150 5 8 1 1 0 0 1 pinnumber=10 T 1400 3050 5 8 0 1 0 2 1 pinseq=12 T 1250 3100 9 8 1 1 0 6 1 pinlabel=B T 1250 3100 5 8 0 1 0 8 1 pintype=out } P 1600 3500 1300 3500 1 0 0 { T 1400 3550 5 8 1 1 0 0 1 pinnumber=9 T 1400 3450 5 8 0 1 0 2 1 pinseq=13 T 1250 3500 9 8 1 1 0 6 1 pinlabel=A T 1250 3500 5 8 0 1 0 8 1 pintype=out } B 300 300 1000 3600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2000 750 5 10 0 0 0 0 1 description=BCD to 7 segment decoder, LCD T 2000 1950 5 10 0 0 0 0 1 numslots=0 T 300 50 9 10 1 0 0 0 1 4055 geda-gaf-1.8.2/symbols/4000/4053-2.sym0000664000175000017500000000542212204104272013434 00000000000000v 20031231 1 T 1700 3100 8 10 1 1 0 6 1 refdes=U? T 300 3050 9 10 1 0 0 0 1 4053 T 300 3250 5 10 0 0 0 0 1 device=4053 T 300 3450 5 10 0 0 0 0 1 footprint=DIP16 T 300 3650 5 10 0 0 0 0 1 numslots=0 T 300 3850 5 10 0 0 0 0 1 description=3 2-1 analogue multiplexer/demultiplexer T 300 4050 5 10 0 0 0 0 1 net=VDD:16 T 300 4250 5 10 0 0 0 0 1 net=VSS:8 T 300 4450 5 10 0 0 0 0 1 net=VEE:7 P 2000 2700 1700 2700 1 0 0 { T 1800 2750 5 8 1 1 0 0 1 pinnumber=12 T 1800 2650 5 8 0 1 0 2 1 pinseq=10 T 1650 2700 9 8 1 1 0 6 1 pinlabel=X0 T 1650 2700 5 8 0 1 0 8 1 pintype=pas } P 2000 2300 1700 2300 1 0 0 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=13 T 1800 2250 5 8 0 1 0 2 1 pinseq=11 T 1650 2300 9 8 1 1 0 6 1 pinlabel=X1 T 1650 2300 5 8 0 1 0 8 1 pintype=pas } P 2000 1900 1700 1900 1 0 0 { T 1800 1950 5 8 1 1 0 0 1 pinnumber=2 T 1800 1850 5 8 0 1 0 2 1 pinseq=2 T 1650 1900 9 8 1 1 0 6 1 pinlabel=Y0 T 1650 1900 5 8 0 1 0 8 1 pintype=pas } P 2000 1500 1700 1500 1 0 0 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=1 T 1800 1450 5 8 0 1 0 2 1 pinseq=1 T 1650 1500 9 8 1 1 0 6 1 pinlabel=Y1 T 1650 1500 5 8 0 1 0 8 1 pintype=pas } P 2000 1100 1700 1100 1 0 0 { T 1800 1150 5 8 1 1 0 0 1 pinnumber=5 T 1800 1050 5 8 0 1 0 2 1 pinseq=5 T 1650 1100 9 8 1 1 0 6 1 pinlabel=Z0 T 1650 1100 5 8 0 1 0 8 1 pintype=pas } P 2000 700 1700 700 1 0 0 { T 1800 750 5 8 1 1 0 0 1 pinnumber=3 T 1800 650 5 8 0 1 0 2 1 pinseq=3 T 1650 700 9 8 1 1 0 6 1 pinlabel=Z1 T 1650 700 5 8 0 1 0 8 1 pintype=pas } P 0 300 300 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=6 T 200 250 5 8 0 1 0 8 1 pinseq=6 T 350 300 9 8 1 1 0 0 1 pinlabel=Inh T 350 300 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=11 T 200 2250 5 8 0 1 0 8 1 pinseq=9 T 350 2300 9 8 1 1 0 0 1 pinlabel=SA T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=10 T 200 1450 5 8 0 1 0 8 1 pinseq=8 T 350 1500 9 8 1 1 0 0 1 pinlabel=SB T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=9 T 200 650 5 8 0 1 0 8 1 pinseq=7 T 350 700 9 8 1 1 0 0 1 pinlabel=SC T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=14 T 200 2650 5 8 0 1 0 8 1 pinseq=12 T 350 2700 9 8 1 1 0 0 1 pinlabel=X T 350 2700 5 8 0 1 0 2 1 pintype=pas } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=15 T 200 1850 5 8 0 1 0 8 1 pinseq=13 T 350 1900 9 8 1 1 0 0 1 pinlabel=Y T 350 1900 5 8 0 1 0 2 1 pintype=pas } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=4 T 200 1050 5 8 0 1 0 8 1 pinseq=4 T 350 1100 9 8 1 1 0 0 1 pinlabel=Z T 350 1100 5 8 0 1 0 2 1 pintype=pas } B 300 0 1400 3000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4650 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4053B_CNV_3.pdf geda-gaf-1.8.2/symbols/4000/4027-1.sym0000664000175000017500000000347412204104272013441 00000000000000v 20070626 1 T 400 2000 8 10 1 1 0 6 1 refdes=U? T 2000 50 5 10 0 0 0 0 1 device=4027 T 2000 250 5 10 0 0 0 0 1 footprint=DIP16 T 2000 450 5 10 0 0 0 0 1 net=VSS:8 T 2000 650 5 10 0 0 0 0 1 net=VDD:16 P 800 0 800 300 1 0 0 { T 850 100 5 8 1 1 0 0 1 pinnumber=12 T 850 100 5 8 0 1 0 2 1 pinseq=1 T 800 350 9 8 1 1 0 3 1 pinlabel=R T 800 500 5 8 0 1 0 3 1 pintype=in } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=11 T 200 650 5 8 0 1 0 8 1 pinseq=2 T 350 700 9 8 1 1 0 0 1 pinlabel=K T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=10 T 200 1450 5 8 0 1 0 8 1 pinseq=3 T 350 1500 9 8 1 1 0 0 1 pinlabel=J T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=13 T 200 1050 5 8 0 1 0 8 1 pinseq=4 T 400 1100 9 8 1 1 0 0 1 pinlabel=CLK T 400 1100 5 8 0 1 0 2 1 pintype=in } L 400 1100 300 1175 3 0 0 0 -1 -1 L 400 1100 300 1025 3 0 0 0 -1 -1 P 1700 900 1400 900 1 0 0 { T 1500 950 5 8 1 1 0 0 1 pinnumber=15 T 1500 850 5 8 0 1 0 2 1 pinseq=5 T 1350 900 9 8 1 1 0 6 1 pinlabel=Q T 1350 900 5 8 0 1 0 8 1 pintype=out } P 1700 1300 1500 1300 1 0 0 { T 1500 1350 5 8 1 1 0 0 1 pinnumber=14 T 1500 1250 5 8 0 1 0 2 1 pinseq=6 T 1350 1300 9 8 1 1 0 6 1 pinlabel=\_Q\_ T 1350 1300 5 8 0 1 0 8 1 pintype=out } V 1450 1300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 800 2200 800 1900 1 0 0 { T 850 2000 5 8 1 1 0 0 1 pinnumber=9 T 850 2000 5 8 0 1 0 2 1 pinseq=7 T 800 1850 9 8 1 1 0 5 1 pinlabel=S T 800 1700 5 8 0 1 0 5 1 pintype=in } B 300 300 1100 1600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2000 850 5 10 0 0 0 0 1 slot=1 T 2000 1050 5 10 0 0 0 0 1 numslots=2 T 2000 1250 5 10 0 0 0 0 1 slotdef=1:12,11,10,13,15,14,9 T 2000 1450 5 10 0 0 0 0 1 slotdef=2:4,5,6,3,1,2,7 T 2000 1650 5 10 0 0 0 0 1 description=2 JK master-slave flip-flop T 100 50 9 10 1 0 0 0 1 4027 geda-gaf-1.8.2/symbols/4000/4017-1.sym0000664000175000017500000000564112204104272013436 00000000000000v 20031231 1 T 500 5200 8 10 1 1 0 6 1 refdes=U? T 2000 950 5 10 0 0 0 0 1 device=4017 T 2000 1150 5 10 0 0 0 0 1 footprint=DIP16 T 2000 1350 5 10 0 0 0 0 1 net=VSS:8 T 2000 1550 5 10 0 0 0 0 1 net=VDD:16 P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=15 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 1 1 0 0 1 pinlabel=Reset T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=13 T 200 1050 5 8 0 1 0 8 1 pinseq=2 T 350 1100 9 8 1 1 0 0 1 pinlabel=Inhibit T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=14 T 200 2650 5 8 0 1 0 8 1 pinseq=3 T 400 2700 9 8 1 1 0 0 1 pinlabel=CLK T 400 2700 5 8 0 1 0 2 1 pintype=clk } L 400 2700 300 2775 3 0 0 0 -1 -1 L 400 2700 300 2625 3 0 0 0 -1 -1 P 1600 700 1300 700 1 0 0 { T 1400 750 5 8 1 1 0 0 1 pinnumber=12 T 1400 650 5 8 0 1 0 2 1 pinseq=4 T 1250 700 9 8 1 1 0 6 1 pinlabel=Carry T 1250 700 5 8 0 1 0 8 1 pintype=out } P 1600 1100 1300 1100 1 0 0 { T 1400 1150 5 8 1 1 0 0 1 pinnumber=11 T 1400 1050 5 8 0 1 0 2 1 pinseq=5 T 1250 1100 9 8 1 1 0 6 1 pinlabel=9 T 1250 1100 5 8 0 1 0 8 1 pintype=out } P 1600 1500 1300 1500 1 0 0 { T 1400 1550 5 8 1 1 0 0 1 pinnumber=9 T 1400 1450 5 8 0 1 0 2 1 pinseq=6 T 1250 1500 9 8 1 1 0 6 1 pinlabel=8 T 1250 1500 5 8 0 1 0 8 1 pintype=out } P 1600 1900 1300 1900 1 0 0 { T 1400 1950 5 8 1 1 0 0 1 pinnumber=6 T 1400 1850 5 8 0 1 0 2 1 pinseq=7 T 1250 1900 9 8 1 1 0 6 1 pinlabel=7 T 1250 1900 5 8 0 1 0 8 1 pintype=out } P 1600 2300 1300 2300 1 0 0 { T 1400 2350 5 8 1 1 0 0 1 pinnumber=5 T 1400 2250 5 8 0 1 0 2 1 pinseq=8 T 1250 2300 9 8 1 1 0 6 1 pinlabel=6 T 1250 2300 5 8 0 1 0 8 1 pintype=out } P 1600 2700 1300 2700 1 0 0 { T 1400 2750 5 8 1 1 0 0 1 pinnumber=1 T 1400 2650 5 8 0 1 0 2 1 pinseq=9 T 1250 2700 9 8 1 1 0 6 1 pinlabel=5 T 1250 2700 5 8 0 1 0 8 1 pintype=out } P 1600 3100 1300 3100 1 0 0 { T 1400 3150 5 8 1 1 0 0 1 pinnumber=10 T 1400 3050 5 8 0 1 0 2 1 pinseq=10 T 1250 3100 9 8 1 1 0 6 1 pinlabel=4 T 1250 3100 5 8 0 1 0 8 1 pintype=out } P 1600 3500 1300 3500 1 0 0 { T 1400 3550 5 8 1 1 0 0 1 pinnumber=7 T 1400 3450 5 8 0 1 0 2 1 pinseq=11 T 1250 3500 9 8 1 1 0 6 1 pinlabel=3 T 1250 3500 5 8 0 1 0 8 1 pintype=out } P 1600 3900 1300 3900 1 0 0 { T 1400 3950 5 8 1 1 0 0 1 pinnumber=4 T 1400 3850 5 8 0 1 0 2 1 pinseq=12 T 1250 3900 9 8 1 1 0 6 1 pinlabel=2 T 1250 3900 5 8 0 1 0 8 1 pintype=out } P 1600 4300 1300 4300 1 0 0 { T 1400 4350 5 8 1 1 0 0 1 pinnumber=2 T 1400 4250 5 8 0 1 0 2 1 pinseq=13 T 1250 4300 9 8 1 1 0 6 1 pinlabel=1 T 1250 4300 5 8 0 1 0 8 1 pintype=out } P 1600 4700 1300 4700 1 0 0 { T 1400 4750 5 8 1 1 0 0 1 pinnumber=3 T 1400 4650 5 8 0 1 0 2 1 pinseq=14 T 1250 4700 9 8 1 1 0 6 1 pinlabel=0 T 1250 4700 5 8 0 1 0 8 1 pintype=out } B 300 300 1000 4800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2000 750 5 10 0 0 0 0 1 description=decade counter with 10 decoded outputs T 2000 1750 5 10 0 0 0 0 1 numslots=0 T 300 50 9 10 1 0 0 0 1 4017 geda-gaf-1.8.2/symbols/4000/4060-2.sym0000664000175000017500000000601712204104272013433 00000000000000v 20070626 1 T 1700 4300 8 10 1 1 0 6 1 refdes=U? T 300 4450 5 10 0 0 0 0 1 device=4060 T 300 4650 5 10 0 0 0 0 1 footprint=DIP16 T 300 4850 5 10 0 0 0 0 1 net=VSS:8 T 300 5050 5 10 0 0 0 0 1 net=VDD:16 P 0 1700 300 1700 1 0 0 { T 200 1750 5 8 1 1 0 6 1 pinnumber=9 T 200 1650 5 8 0 1 0 8 1 pinseq=1 T 350 1700 9 8 1 1 0 0 1 pinlabel=C T 350 1700 5 8 0 1 0 2 1 pintype=pas } P 0 2100 300 2100 1 0 0 { T 200 2150 5 8 1 1 0 6 1 pinnumber=11 T 200 2050 5 8 0 1 0 8 1 pinseq=2 T 350 2100 9 8 1 1 0 0 1 pinlabel=RC T 350 2100 5 8 0 1 0 2 1 pintype=pas } P 0 2500 300 2500 1 0 0 { T 200 2550 5 8 1 1 0 6 1 pinnumber=10 T 200 2450 5 8 0 1 0 8 1 pinseq=3 T 350 2500 9 8 1 1 0 0 1 pinlabel=R T 350 2500 5 8 0 1 0 2 1 pintype=pas } P 0 1300 200 1300 1 0 0 { T 200 1350 5 8 1 1 0 6 1 pinnumber=12 T 200 1250 5 8 0 1 0 8 1 pinseq=4 T 350 1300 9 8 1 1 0 0 1 pinlabel=\_Reset\_ T 350 1300 5 8 0 1 0 2 1 pintype=in } P 2000 1500 1700 1500 1 0 0 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=15 T 1800 1450 5 8 0 1 0 2 1 pinseq=5 T 1650 1500 9 8 1 1 0 6 1 pinlabel=Q9 T 1650 1500 5 8 0 1 0 8 1 pintype=out } P 2000 1900 1700 1900 1 0 0 { T 1800 1950 5 8 1 1 0 0 1 pinnumber=13 T 1800 1850 5 8 0 1 0 2 1 pinseq=6 T 1650 1900 9 8 1 1 0 6 1 pinlabel=Q8 T 1650 1900 5 8 0 1 0 8 1 pintype=out } P 2000 2300 1700 2300 1 0 0 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=14 T 1800 2250 5 8 0 1 0 2 1 pinseq=7 T 1650 2300 9 8 1 1 0 6 1 pinlabel=Q7 T 1650 2300 5 8 0 1 0 8 1 pintype=out } P 2000 2700 1700 2700 1 0 0 { T 1800 2750 5 8 1 1 0 0 1 pinnumber=6 T 1800 2650 5 8 0 1 0 2 1 pinseq=8 T 1650 2700 9 8 1 1 0 6 1 pinlabel=Q6 T 1650 2700 5 8 0 1 0 8 1 pintype=out } P 2000 3100 1700 3100 1 0 0 { T 1800 3150 5 8 1 1 0 0 1 pinnumber=4 T 1800 3050 5 8 0 1 0 2 1 pinseq=9 T 1650 3100 9 8 1 1 0 6 1 pinlabel=Q5 T 1650 3100 5 8 0 1 0 8 1 pintype=out } P 2000 3500 1700 3500 1 0 0 { T 1800 3550 5 8 1 1 0 0 1 pinnumber=5 T 1800 3450 5 8 0 1 0 2 1 pinseq=10 T 1650 3500 9 8 1 1 0 6 1 pinlabel=Q4 T 1650 3500 5 8 0 1 0 8 1 pintype=out } P 2000 3900 1700 3900 1 0 0 { T 1800 3950 5 8 1 1 0 0 1 pinnumber=7 T 1800 3850 5 8 0 1 0 2 1 pinseq=11 T 1650 3900 9 8 1 1 0 6 1 pinlabel=Q3 T 1650 3900 5 8 0 1 0 8 1 pintype=out } P 2000 300 1700 300 1 0 0 { T 1800 350 5 8 1 1 0 0 1 pinnumber=3 T 1800 250 5 8 0 1 0 2 1 pinseq=12 T 1650 300 9 8 1 1 0 6 1 pinlabel=Q13 T 1650 300 5 8 0 1 0 8 1 pintype=out } P 2000 700 1700 700 1 0 0 { T 1800 750 5 8 1 1 0 0 1 pinnumber=2 T 1800 650 5 8 0 1 0 2 1 pinseq=13 T 1650 700 9 8 1 1 0 6 1 pinlabel=Q12 T 1650 700 5 8 0 1 0 8 1 pintype=out } P 2000 1100 1700 1100 1 0 0 { T 1800 1150 5 8 1 1 0 0 1 pinnumber=1 T 1800 1050 5 8 0 1 0 2 1 pinseq=14 T 1650 1100 9 8 1 1 0 6 1 pinlabel=Q11 T 1650 1100 5 8 0 1 0 8 1 pintype=out } B 300 0 1400 4200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 5450 5 10 0 0 0 0 1 description=14-stage ripple-carry binary counter/divider and oscillator T 300 5250 5 10 0 0 0 0 1 numslots=0 T 300 5650 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4060B_CNV_3.pdf T 300 4250 9 10 1 0 0 0 1 4060 V 250 1300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/4000/4063-1.sym0000664000175000017500000000551612204104272013440 00000000000000v 20031231 1 T 300 2000 8 10 1 1 0 6 1 refdes=U? T 3000 1150 5 10 0 0 0 0 1 device=4063 T 3000 1350 5 10 0 0 0 0 1 footprint=DIP16 T 3000 1550 5 10 0 0 0 0 1 net=VSS:8 T 3000 1750 5 10 0 0 0 0 1 net=VDD:16 P 1900 0 1900 300 1 0 0 { T 1950 100 5 8 1 1 0 0 1 pinnumber=1 T 1950 100 5 8 0 1 0 2 1 pinseq=1 T 1900 350 9 8 1 1 0 3 1 pinlabel=B3 T 1900 500 5 8 0 1 0 3 1 pintype=in } P 1500 0 1500 300 1 0 0 { T 1550 100 5 8 1 1 0 0 1 pinnumber=14 T 1550 100 5 8 0 1 0 2 1 pinseq=2 T 1500 350 9 8 1 1 0 3 1 pinlabel=B2 T 1500 500 5 8 0 1 0 3 1 pintype=in } P 1100 0 1100 300 1 0 0 { T 1150 100 5 8 1 1 0 0 1 pinnumber=11 T 1150 100 5 8 0 1 0 2 1 pinseq=3 T 1100 350 9 8 1 1 0 3 1 pinlabel=B1 T 1100 500 5 8 0 1 0 3 1 pintype=in } P 700 0 700 300 1 0 0 { T 750 100 5 8 1 1 0 0 1 pinnumber=9 T 750 100 5 8 0 1 0 2 1 pinseq=4 T 700 350 9 8 1 1 0 3 1 pinlabel=B0 T 700 500 5 8 0 1 0 3 1 pintype=in } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=4 T 200 650 5 8 0 1 0 8 1 pinseq=5 T 350 700 9 8 1 1 0 0 1 pinlabel=(A > B) In T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=3 T 200 1050 5 8 0 1 0 8 1 pinseq=6 T 350 1100 9 8 1 1 0 0 1 pinlabel=(A = B) In T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=2 T 200 1450 5 8 0 1 0 8 1 pinseq=7 T 350 1500 9 8 1 1 0 0 1 pinlabel=(A < B) In T 350 1500 5 8 0 1 0 2 1 pintype=in } P 2600 700 2300 700 1 0 0 { T 2400 750 5 8 1 1 0 0 1 pinnumber=5 T 2400 650 5 8 0 1 0 2 1 pinseq=8 T 2250 700 9 8 1 1 0 6 1 pinlabel=(A > B) Out T 2250 700 5 8 0 1 0 8 1 pintype=out } P 2600 1100 2300 1100 1 0 0 { T 2400 1150 5 8 1 1 0 0 1 pinnumber=6 T 2400 1050 5 8 0 1 0 2 1 pinseq=9 T 2250 1100 9 8 1 1 0 6 1 pinlabel=(A = B) Out T 2250 1100 5 8 0 1 0 8 1 pintype=out } P 2600 1500 2300 1500 1 0 0 { T 2400 1550 5 8 1 1 0 0 1 pinnumber=7 T 2400 1450 5 8 0 1 0 2 1 pinseq=10 T 2250 1500 9 8 1 1 0 6 1 pinlabel=(A < B) Out T 2250 1500 5 8 0 1 0 8 1 pintype=out } P 1900 2200 1900 1900 1 0 0 { T 1950 2000 5 8 1 1 0 0 1 pinnumber=15 T 1950 2000 5 8 0 1 0 2 1 pinseq=11 T 1900 1850 9 8 1 1 0 5 1 pinlabel=A3 T 1900 1700 5 8 0 1 0 5 1 pintype=in } P 1500 2200 1500 1900 1 0 0 { T 1550 2000 5 8 1 1 0 0 1 pinnumber=13 T 1550 2000 5 8 0 1 0 2 1 pinseq=12 T 1500 1850 9 8 1 1 0 5 1 pinlabel=A2 T 1500 1700 5 8 0 1 0 5 1 pintype=in } P 1100 2200 1100 1900 1 0 0 { T 1150 2000 5 8 1 1 0 0 1 pinnumber=12 T 1150 2000 5 8 0 1 0 2 1 pinseq=13 T 1100 1850 9 8 1 1 0 5 1 pinlabel=A1 T 1100 1700 5 8 0 1 0 5 1 pintype=in } P 700 2200 700 1900 1 0 0 { T 750 2000 5 8 1 1 0 0 1 pinnumber=10 T 750 2000 5 8 0 1 0 2 1 pinseq=14 T 700 1850 9 8 1 1 0 5 1 pinlabel=A0 T 700 1700 5 8 0 1 0 5 1 pintype=in } B 300 300 2000 1600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 3000 950 5 10 0 0 0 0 1 description=4-bit magnitude comparator T 3000 1950 5 10 0 0 0 0 1 numslots=0 T 100 50 9 10 1 0 0 0 1 4063 geda-gaf-1.8.2/symbols/4000/4067-2.sym0000664000175000017500000001063312204104272013441 00000000000000v 20070626 1 T 1700 7100 8 10 1 1 0 6 1 refdes=U? T 300 7250 5 10 0 0 0 0 1 device=4067 T 300 7450 5 10 0 0 0 0 1 footprint=DIP24 T 300 7650 5 10 0 0 0 0 1 net=VSS:12 T 300 7850 5 10 0 0 0 0 1 net=VDD:24 P 0 700 200 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=15 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 1 1 0 0 1 pinlabel=\_EN\_ T 350 700 5 8 0 1 0 2 1 pintype=in } V 250 700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3700 300 3700 1 0 0 { T 200 3750 5 8 1 1 0 6 1 pinnumber=1 T 200 3650 5 8 0 1 0 8 1 pinseq=2 T 350 3700 9 8 1 1 0 0 1 pinlabel=Y T 350 3700 5 8 0 1 0 2 1 pintype=pas } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=13 T 200 1450 5 8 0 1 0 8 1 pinseq=3 T 350 1500 9 8 1 1 0 0 1 pinlabel=D T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=14 T 200 1850 5 8 0 1 0 8 1 pinseq=4 T 350 1900 9 8 1 1 0 0 1 pinlabel=C T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=11 T 200 2250 5 8 0 1 0 8 1 pinseq=5 T 350 2300 9 8 1 1 0 0 1 pinlabel=B T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=10 T 200 2650 5 8 0 1 0 8 1 pinseq=6 T 350 2700 9 8 1 1 0 0 1 pinlabel=A T 350 2700 5 8 0 1 0 2 1 pintype=in } P 2000 3100 1700 3100 1 0 0 { T 1800 3150 5 8 1 1 0 0 1 pinnumber=22 T 1800 3050 5 8 0 1 0 2 1 pinseq=7 T 1650 3100 9 8 1 1 0 6 1 pinlabel=X9 T 1650 3100 5 8 0 1 0 8 1 pintype=pas } P 2000 3500 1700 3500 1 0 0 { T 1800 3550 5 8 1 1 0 0 1 pinnumber=23 T 1800 3450 5 8 0 1 0 2 1 pinseq=8 T 1650 3500 9 8 1 1 0 6 1 pinlabel=X8 T 1650 3500 5 8 0 1 0 8 1 pintype=pas } P 2000 3900 1700 3900 1 0 0 { T 1800 3950 5 8 1 1 0 0 1 pinnumber=2 T 1800 3850 5 8 0 1 0 2 1 pinseq=9 T 1650 3900 9 8 1 1 0 6 1 pinlabel=X7 T 1650 3900 5 8 0 1 0 8 1 pintype=pas } P 2000 4300 1700 4300 1 0 0 { T 1800 4350 5 8 1 1 0 0 1 pinnumber=3 T 1800 4250 5 8 0 1 0 2 1 pinseq=10 T 1650 4300 9 8 1 1 0 6 1 pinlabel=X6 T 1650 4300 5 8 0 1 0 8 1 pintype=pas } P 2000 4700 1700 4700 1 0 0 { T 1800 4750 5 8 1 1 0 0 1 pinnumber=4 T 1800 4650 5 8 0 1 0 2 1 pinseq=11 T 1650 4700 9 8 1 1 0 6 1 pinlabel=X5 T 1650 4700 5 8 0 1 0 8 1 pintype=pas } P 2000 5100 1700 5100 1 0 0 { T 1800 5150 5 8 1 1 0 0 1 pinnumber=5 T 1800 5050 5 8 0 1 0 2 1 pinseq=12 T 1650 5100 9 8 1 1 0 6 1 pinlabel=X4 T 1650 5100 5 8 0 1 0 8 1 pintype=pas } P 2000 5500 1700 5500 1 0 0 { T 1800 5550 5 8 1 1 0 0 1 pinnumber=6 T 1800 5450 5 8 0 1 0 2 1 pinseq=13 T 1650 5500 9 8 1 1 0 6 1 pinlabel=X3 T 1650 5500 5 8 0 1 0 8 1 pintype=pas } P 2000 5900 1700 5900 1 0 0 { T 1800 5950 5 8 1 1 0 0 1 pinnumber=7 T 1800 5850 5 8 0 1 0 2 1 pinseq=14 T 1650 5900 9 8 1 1 0 6 1 pinlabel=X2 T 1650 5900 5 8 0 1 0 8 1 pintype=pas } P 2000 700 1700 700 1 0 0 { T 1800 750 5 8 1 1 0 0 1 pinnumber=16 T 1800 650 5 8 0 1 0 2 1 pinseq=15 T 1650 700 9 8 1 1 0 6 1 pinlabel=X15 T 1650 700 5 8 0 1 0 8 1 pintype=pas } P 2000 1100 1700 1100 1 0 0 { T 1800 1150 5 8 1 1 0 0 1 pinnumber=17 T 1800 1050 5 8 0 1 0 2 1 pinseq=16 T 1650 1100 9 8 1 1 0 6 1 pinlabel=X14 T 1650 1100 5 8 0 1 0 8 1 pintype=pas } P 2000 1500 1700 1500 1 0 0 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=18 T 1800 1450 5 8 0 1 0 2 1 pinseq=17 T 1650 1500 9 8 1 1 0 6 1 pinlabel=X13 T 1650 1500 5 8 0 1 0 8 1 pintype=pas } P 2000 1900 1700 1900 1 0 0 { T 1800 1950 5 8 1 1 0 0 1 pinnumber=19 T 1800 1850 5 8 0 1 0 2 1 pinseq=18 T 1650 1900 9 8 1 1 0 6 1 pinlabel=X12 T 1650 1900 5 8 0 1 0 8 1 pintype=pas } P 2000 2300 1700 2300 1 0 0 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=20 T 1800 2250 5 8 0 1 0 2 1 pinseq=19 T 1650 2300 9 8 1 1 0 6 1 pinlabel=X11 T 1650 2300 5 8 0 1 0 8 1 pintype=pas } P 2000 2700 1700 2700 1 0 0 { T 1800 2750 5 8 1 1 0 0 1 pinnumber=21 T 1800 2650 5 8 0 1 0 2 1 pinseq=20 T 1650 2700 9 8 1 1 0 6 1 pinlabel=X10 T 1650 2700 5 8 0 1 0 8 1 pintype=pas } P 2000 6300 1700 6300 1 0 0 { T 1800 6350 5 8 1 1 0 0 1 pinnumber=8 T 1800 6250 5 8 0 1 0 2 1 pinseq=21 T 1650 6300 9 8 1 1 0 6 1 pinlabel=X1 T 1650 6300 5 8 0 1 0 8 1 pintype=pas } P 2000 6700 1700 6700 1 0 0 { T 1800 6750 5 8 1 1 0 0 1 pinnumber=9 T 1800 6650 5 8 0 1 0 2 1 pinseq=22 T 1650 6700 9 8 1 1 0 6 1 pinlabel=X0 T 1650 6700 5 8 0 1 0 8 1 pintype=pas } B 300 400 1400 6600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 8250 5 10 0 0 0 0 1 description=16-1 analog multiplexer/demultiplexer T 300 8050 5 10 0 0 0 0 1 numslots=0 T 300 8450 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4067B_CNV_3.pdf T 300 7050 9 10 1 0 0 0 1 4067 geda-gaf-1.8.2/symbols/4000/4522-1.sym0000664000175000017500000000600712204104272013434 00000000000000v 20070626 1 T 1700 3900 8 10 1 1 0 6 1 refdes=U? T 300 4050 5 10 0 0 0 0 1 device=4522 T 300 4250 5 10 0 0 0 0 1 footprint=DIP16 T 300 4450 5 10 0 0 0 0 1 net=VSS:8 T 300 4650 5 10 0 0 0 0 1 net=VDD:16 P 0 700 200 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=4 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 1 1 0 0 1 pinlabel=\_EN\_ T 350 700 5 8 0 1 0 2 1 pintype=in } V 250 700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=3 T 200 1850 5 8 0 1 0 8 1 pinseq=2 T 350 1900 9 8 1 1 0 0 1 pinlabel=PE T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=2 T 200 2250 5 8 0 1 0 8 1 pinseq=3 T 350 2300 9 8 1 1 0 0 1 pinlabel=P3 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=14 T 200 2650 5 8 0 1 0 8 1 pinseq=4 T 350 2700 9 8 1 1 0 0 1 pinlabel=P2 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=11 T 200 3050 5 8 0 1 0 8 1 pinseq=5 T 350 3100 9 8 1 1 0 0 1 pinlabel=P1 T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=5 T 200 3450 5 8 0 1 0 8 1 pinseq=6 T 350 3500 9 8 1 1 0 0 1 pinlabel=P0 T 350 3500 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=10 T 200 1450 5 8 0 1 0 8 1 pinseq=7 T 350 1500 9 8 1 1 0 0 1 pinlabel=MR T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=6 T 200 1050 5 8 0 1 0 8 1 pinseq=8 T 400 1100 9 8 1 1 0 0 1 pinlabel=CLK T 400 1100 5 8 0 1 0 2 1 pintype=clk } L 400 1100 300 1175 3 0 0 0 -1 -1 L 400 1100 300 1025 3 0 0 0 -1 -1 P 0 300 300 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=13 T 200 250 5 8 0 1 0 8 1 pinseq=9 T 350 300 9 8 1 1 0 0 1 pinlabel=CF T 350 300 5 8 0 1 0 2 1 pintype=in } P 2000 1500 1700 1500 1 0 0 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=12 T 1800 1450 5 8 0 1 0 2 1 pinseq=10 T 1650 1500 9 8 1 1 0 6 1 pinlabel=Z T 1650 1500 5 8 0 1 0 8 1 pintype=out } P 2000 2300 1700 2300 1 0 0 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=1 T 1800 2250 5 8 0 1 0 2 1 pinseq=11 T 1650 2300 9 8 1 1 0 6 1 pinlabel=Q3 T 1650 2300 5 8 0 1 0 8 1 pintype=out } P 2000 2700 1700 2700 1 0 0 { T 1800 2750 5 8 1 1 0 0 1 pinnumber=15 T 1800 2650 5 8 0 1 0 2 1 pinseq=12 T 1650 2700 9 8 1 1 0 6 1 pinlabel=Q2 T 1650 2700 5 8 0 1 0 8 1 pintype=out } P 2000 3100 1700 3100 1 0 0 { T 1800 3150 5 8 1 1 0 0 1 pinnumber=9 T 1800 3050 5 8 0 1 0 2 1 pinseq=13 T 1650 3100 9 8 1 1 0 6 1 pinlabel=Q1 T 1650 3100 5 8 0 1 0 8 1 pintype=out } P 2000 3500 1700 3500 1 0 0 { T 1800 3550 5 8 1 1 0 0 1 pinnumber=7 T 1800 3450 5 8 0 1 0 2 1 pinseq=14 T 1650 3500 9 8 1 1 0 6 1 pinlabel=Q0 T 1650 3500 5 8 0 1 0 8 1 pintype=out } B 300 0 1400 3800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 5050 5 10 0 0 0 0 1 description=programmable 4-bit BCD down counter T 300 4850 5 10 0 0 0 0 1 numslots=0 T 300 5250 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4522B_CNV_3.pdf T 300 3850 9 10 1 0 0 0 1 4522 geda-gaf-1.8.2/symbols/4000/4014-2.sym0000664000175000017500000000553312204104272013434 00000000000000v 20031231 1 T 1700 4800 8 10 1 1 0 6 1 refdes=U? T 300 4950 5 10 0 0 0 0 1 device=4014 T 300 5150 5 10 0 0 0 0 1 footprint=DIP16 T 300 5350 5 10 0 0 0 0 1 net=VSS:8 T 300 5550 5 10 0 0 0 0 1 net=VDD:16 P 0 300 300 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=9 T 200 250 5 8 0 1 0 8 1 pinseq=1 T 350 300 9 8 1 1 0 0 1 pinlabel=LOAD T 350 300 5 8 0 1 0 2 1 pintype=in } P 0 1200 300 1200 1 0 0 { T 200 1250 5 8 1 1 0 6 1 pinnumber=11 T 200 1150 5 8 0 1 0 8 1 pinseq=2 T 350 1200 9 8 1 1 0 0 1 pinlabel=Serial In T 350 1200 5 8 0 1 0 2 1 pintype=in } P 0 1600 300 1600 1 0 0 { T 200 1650 5 8 1 1 0 6 1 pinnumber=1 T 200 1550 5 8 0 1 0 8 1 pinseq=3 T 350 1600 9 8 1 1 0 0 1 pinlabel=I8 T 350 1600 5 8 0 1 0 2 1 pintype=in } P 0 2000 300 2000 1 0 0 { T 200 2050 5 8 1 1 0 6 1 pinnumber=15 T 200 1950 5 8 0 1 0 8 1 pinseq=4 T 350 2000 9 8 1 1 0 0 1 pinlabel=I7 T 350 2000 5 8 0 1 0 2 1 pintype=in } P 0 2400 300 2400 1 0 0 { T 200 2450 5 8 1 1 0 6 1 pinnumber=14 T 200 2350 5 8 0 1 0 8 1 pinseq=5 T 350 2400 9 8 1 1 0 0 1 pinlabel=I6 T 350 2400 5 8 0 1 0 2 1 pintype=in } P 0 2800 300 2800 1 0 0 { T 200 2850 5 8 1 1 0 6 1 pinnumber=13 T 200 2750 5 8 0 1 0 8 1 pinseq=6 T 350 2800 9 8 1 1 0 0 1 pinlabel=I5 T 350 2800 5 8 0 1 0 2 1 pintype=in } P 0 3200 300 3200 1 0 0 { T 200 3250 5 8 1 1 0 6 1 pinnumber=4 T 200 3150 5 8 0 1 0 8 1 pinseq=7 T 350 3200 9 8 1 1 0 0 1 pinlabel=I4 T 350 3200 5 8 0 1 0 2 1 pintype=in } P 0 3600 300 3600 1 0 0 { T 200 3650 5 8 1 1 0 6 1 pinnumber=5 T 200 3550 5 8 0 1 0 8 1 pinseq=8 T 350 3600 9 8 1 1 0 0 1 pinlabel=I3 T 350 3600 5 8 0 1 0 2 1 pintype=in } P 0 4000 300 4000 1 0 0 { T 200 4050 5 8 1 1 0 6 1 pinnumber=6 T 200 3950 5 8 0 1 0 8 1 pinseq=9 T 350 4000 9 8 1 1 0 0 1 pinlabel=I2 T 350 4000 5 8 0 1 0 2 1 pintype=in } P 0 4400 300 4400 1 0 0 { T 200 4450 5 8 1 1 0 6 1 pinnumber=7 T 200 4350 5 8 0 1 0 8 1 pinseq=10 T 350 4400 9 8 1 1 0 0 1 pinlabel=I1 T 350 4400 5 8 0 1 0 2 1 pintype=in } P 0 800 300 800 1 0 0 { T 200 850 5 8 1 1 0 6 1 pinnumber=10 T 200 750 5 8 0 1 0 8 1 pinseq=11 T 400 800 9 8 1 1 0 0 1 pinlabel=CLK T 400 800 5 8 0 1 0 2 1 pintype=clk } L 400 800 300 875 3 0 0 0 -1 -1 L 400 800 300 725 3 0 0 0 -1 -1 P 2000 1600 1700 1600 1 0 0 { T 1800 1650 5 8 1 1 0 0 1 pinnumber=3 T 1800 1550 5 8 0 1 0 2 1 pinseq=12 T 1650 1600 9 8 1 1 0 6 1 pinlabel=Q8 T 1650 1600 5 8 0 1 0 8 1 pintype=out } P 2000 2000 1700 2000 1 0 0 { T 1800 2050 5 8 1 1 0 0 1 pinnumber=12 T 1800 1950 5 8 0 1 0 2 1 pinseq=13 T 1650 2000 9 8 1 1 0 6 1 pinlabel=Q7 T 1650 2000 5 8 0 1 0 8 1 pintype=out } P 2000 2400 1700 2400 1 0 0 { T 1800 2450 5 8 1 1 0 0 1 pinnumber=2 T 1800 2350 5 8 0 1 0 2 1 pinseq=14 T 1650 2400 9 8 1 1 0 6 1 pinlabel=Q6 T 1650 2400 5 8 0 1 0 8 1 pintype=out } B 300 0 1400 4700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 5950 5 10 0 0 0 0 1 description=8-bit shift register with parallel load T 300 5750 5 10 0 0 0 0 1 numslots=0 T 300 4750 9 10 1 0 0 0 1 4014 geda-gaf-1.8.2/symbols/4000/4021-3.sym0000664000175000017500000000555212204104272013434 00000000000000v 20070626 1 T 1700 4700 8 10 1 1 0 6 1 refdes=U? T 300 4850 5 10 0 0 0 0 1 device=4021 T 300 5050 5 10 0 0 0 0 1 footprint=DIP16 T 300 5250 5 10 0 0 0 0 1 net=VSS:8 T 300 5450 5 10 0 0 0 0 1 net=VDD:16 P 0 300 300 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=9 T 200 250 5 8 0 1 0 8 1 pinseq=1 T 350 300 9 8 1 1 0 0 1 pinlabel=Parallel/\_Serial\_ T 350 300 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=11 T 200 1050 5 8 0 1 0 8 1 pinseq=2 T 350 1100 9 8 1 1 0 0 1 pinlabel=Serial In T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=1 T 200 1450 5 8 0 1 0 8 1 pinseq=3 T 350 1500 9 8 1 1 0 0 1 pinlabel=I8 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=15 T 200 1850 5 8 0 1 0 8 1 pinseq=4 T 350 1900 9 8 1 1 0 0 1 pinlabel=I7 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=14 T 200 2250 5 8 0 1 0 8 1 pinseq=5 T 350 2300 9 8 1 1 0 0 1 pinlabel=I6 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=13 T 200 2650 5 8 0 1 0 8 1 pinseq=6 T 350 2700 9 8 1 1 0 0 1 pinlabel=I5 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=4 T 200 3050 5 8 0 1 0 8 1 pinseq=7 T 350 3100 9 8 1 1 0 0 1 pinlabel=I4 T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=5 T 200 3450 5 8 0 1 0 8 1 pinseq=8 T 350 3500 9 8 1 1 0 0 1 pinlabel=I3 T 350 3500 5 8 0 1 0 2 1 pintype=in } P 0 3900 300 3900 1 0 0 { T 200 3950 5 8 1 1 0 6 1 pinnumber=6 T 200 3850 5 8 0 1 0 8 1 pinseq=9 T 350 3900 9 8 1 1 0 0 1 pinlabel=I2 T 350 3900 5 8 0 1 0 2 1 pintype=in } P 0 4300 300 4300 1 0 0 { T 200 4350 5 8 1 1 0 6 1 pinnumber=7 T 200 4250 5 8 0 1 0 8 1 pinseq=10 T 350 4300 9 8 1 1 0 0 1 pinlabel=I1 T 350 4300 5 8 0 1 0 2 1 pintype=in } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=10 T 200 650 5 8 0 1 0 8 1 pinseq=11 T 400 700 9 8 1 1 0 0 1 pinlabel=CLK T 400 700 5 8 0 1 0 2 1 pintype=clk } L 400 700 300 775 3 0 0 0 -1 -1 L 400 700 300 625 3 0 0 0 -1 -1 P 2000 1500 1700 1500 1 0 0 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=3 T 1800 1450 5 8 0 1 0 2 1 pinseq=12 T 1650 1500 9 8 1 1 0 6 1 pinlabel=Q8 T 1650 1500 5 8 0 1 0 8 1 pintype=out } P 2000 1900 1700 1900 1 0 0 { T 1800 1950 5 8 1 1 0 0 1 pinnumber=12 T 1800 1850 5 8 0 1 0 2 1 pinseq=13 T 1650 1900 9 8 1 1 0 6 1 pinlabel=Q7 T 1650 1900 5 8 0 1 0 8 1 pintype=out } P 2000 2300 1700 2300 1 0 0 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=2 T 1800 2250 5 8 0 1 0 2 1 pinseq=14 T 1650 2300 9 8 1 1 0 6 1 pinlabel=Q6 T 1650 2300 5 8 0 1 0 8 1 pintype=out } B 300 0 1400 4600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 5850 5 10 0 0 0 0 1 description=8-bit shift register with parallel load T 300 5650 5 10 0 0 0 0 1 numslots=0 T 300 4650 9 10 1 0 0 0 1 4021 geda-gaf-1.8.2/symbols/4000/4353-1.sym0000664000175000017500000000617712204104272013446 00000000000000v 20070626 1 T 1700 3900 8 10 1 1 0 6 1 refdes=U? T 300 3850 9 10 1 0 0 0 1 4353 T 300 4050 5 10 0 0 0 0 1 device=4353 T 300 4250 5 10 0 0 0 0 1 footprint=DIP18 T 300 4450 5 10 0 0 0 0 1 numslots=0 T 300 4650 5 10 0 0 0 0 1 description=triple 2-channel analog multiplexer/demultiplexer with address latch T 300 4850 5 10 0 0 0 0 1 net=VEE:9 T 300 5050 5 10 0 0 0 0 1 net=VSS:10 P 2000 3500 1700 3500 1 0 0 { T 1800 3550 5 8 1 1 0 0 1 pinnumber=16 T 1800 3450 5 8 0 1 0 2 1 pinseq=12 T 1650 3500 9 8 1 1 0 6 1 pinlabel=X0 T 1650 3500 5 8 0 1 0 8 1 pintype=io } P 2000 3100 1700 3100 1 0 0 { T 1800 3150 5 8 1 1 0 0 1 pinnumber=17 T 1800 3050 5 8 0 1 0 2 1 pinseq=13 T 1650 3100 9 8 1 1 0 6 1 pinlabel=X1 T 1650 3100 5 8 0 1 0 8 1 pintype=io } P 2000 2700 1700 2700 1 0 0 { T 1800 2750 5 8 1 1 0 0 1 pinnumber=2 T 1800 2650 5 8 0 1 0 2 1 pinseq=2 T 1650 2700 9 8 1 1 0 6 1 pinlabel=Y0 T 1650 2700 5 8 0 1 0 8 1 pintype=io } P 2000 2300 1700 2300 1 0 0 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=1 T 1800 2250 5 8 0 1 0 2 1 pinseq=1 T 1650 2300 9 8 1 1 0 6 1 pinlabel=Y1 T 1650 2300 5 8 0 1 0 8 1 pintype=io } P 2000 1900 1700 1900 1 0 0 { T 1800 1950 5 8 1 1 0 0 1 pinnumber=6 T 1800 1850 5 8 0 1 0 2 1 pinseq=5 T 1650 1900 9 8 1 1 0 6 1 pinlabel=Z0 T 1650 1900 5 8 0 1 0 8 1 pintype=io } P 2000 1500 1700 1500 1 0 0 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=4 T 1800 1450 5 8 0 1 0 2 1 pinseq=3 T 1650 1500 9 8 1 1 0 6 1 pinlabel=Z1 T 1650 1500 5 8 0 1 0 8 1 pintype=io } P 0 1100 200 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=7 T 200 1050 5 8 0 1 0 8 1 pinseq=6 T 350 1100 9 8 1 1 0 0 1 pinlabel=\_EN1\_ T 350 1100 5 8 0 1 0 2 1 pintype=in } V 250 1100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=8 T 200 650 5 8 0 1 0 8 1 pinseq=7 T 350 700 9 8 1 1 0 0 1 pinlabel=EN2 T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 300 200 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=11 T 200 250 5 8 0 1 0 8 1 pinseq=8 T 350 300 9 8 1 1 0 0 1 pinlabel=\_LE\_ T 350 300 5 8 0 1 0 2 1 pintype=in } V 250 300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=15 T 200 3050 5 8 0 1 0 8 1 pinseq=11 T 350 3100 9 8 1 1 0 0 1 pinlabel=SX T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=13 T 200 2250 5 8 0 1 0 8 1 pinseq=10 T 350 2300 9 8 1 1 0 0 1 pinlabel=SY T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=12 T 200 1450 5 8 0 1 0 8 1 pinseq=9 T 350 1500 9 8 1 1 0 0 1 pinlabel=SZ T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=18 T 200 3450 5 8 0 1 0 8 1 pinseq=14 T 350 3500 9 8 1 1 0 0 1 pinlabel=Xcom T 350 3500 5 8 0 1 0 2 1 pintype=io } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=19 T 200 2650 5 8 0 1 0 8 1 pinseq=15 T 350 2700 9 8 1 1 0 0 1 pinlabel=Ycom T 350 2700 5 8 0 1 0 2 1 pintype=io } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=5 T 200 1850 5 8 0 1 0 8 1 pinseq=4 T 350 1900 9 8 1 1 0 0 1 pinlabel=Zcom T 350 1900 5 8 0 1 0 2 1 pintype=io } B 300 0 1400 3800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 5250 5 10 0 0 0 0 1 net=VDD:20 geda-gaf-1.8.2/symbols/4000/4001-1.sym0000664000175000017500000000234112204104272013421 00000000000000v 20031231 1 T 600 900 5 10 0 0 0 0 1 device=4001 T 600 1100 5 10 0 0 0 0 1 slot=1 T 600 1300 5 10 0 0 0 0 1 numslots=4 T 600 1500 5 10 0 0 0 0 1 slotdef=1:1,2,3 T 600 1700 5 10 0 0 0 0 1 slotdef=2:5,6,4 T 600 1900 5 10 0 0 0 0 1 slotdef=3:8,9,10 T 600 2100 5 10 0 0 0 0 1 slotdef=4:12,13,11 L 225 200 600 200 3 0 0 0 -1 -1 L 225 800 600 800 3 0 0 0 -1 -1 A -50 500 400 312 96 3 0 0 0 -1 -1 A 600 600 400 270 76 3 0 0 0 -1 -1 A 600 400 400 14 76 3 0 0 0 -1 -1 P 300 700 0 700 1 0 1 { T 200 750 5 8 1 1 0 6 1 pinnumber=1 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 0 1 0 0 1 pinlabel=A T 350 700 5 8 0 1 0 2 1 pintype=in } P 300 300 0 300 1 0 1 { T 200 350 5 8 1 1 0 6 1 pinnumber=2 T 200 250 5 8 0 1 0 8 1 pinseq=2 T 350 300 9 8 0 1 0 0 1 pinlabel=B T 350 300 5 8 0 1 0 2 1 pintype=in } V 1038 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 500 1088 500 1 0 0 { T 1100 550 5 8 1 1 0 0 1 pinnumber=3 T 1100 450 5 8 0 1 0 2 1 pinseq=3 T 950 500 9 8 0 1 0 6 1 pinlabel=Y T 950 500 5 8 0 1 0 8 1 pintype=out } T 250 900 8 10 1 1 0 0 1 refdes=U? T 600 2300 5 10 0 0 0 0 1 footprint=DIP14 T 600 2500 5 10 0 0 0 0 1 description=4 NOR-gates with 2 inputs T 600 2700 5 10 0 0 0 0 1 net=VDD:14 T 600 2900 5 10 0 0 0 0 1 net=VSS:7 T 300 50 9 8 1 0 0 0 1 4001 geda-gaf-1.8.2/symbols/4000/4094-2.sym0000664000175000017500000000605712204104272013446 00000000000000v 20031231 1 T 1800 3700 8 10 1 1 0 6 1 refdes=U? T 300 4300 5 10 0 0 0 0 1 device=4094 T 300 4500 5 10 0 0 0 0 1 class=IC T 300 4900 5 10 0 0 0 0 1 net=GND:8 T 300 4700 5 10 0 0 0 0 1 net=VCC:16 P 300 3300 0 3300 1 0 1 { T 200 3350 5 8 1 1 0 6 1 pinnumber=1 T 200 3250 5 8 0 1 0 8 1 pinseq=1 T 350 3300 9 8 1 1 0 0 1 pinlabel=STROBE T 350 3300 5 8 0 1 0 2 1 pintype=in } P 300 2400 0 2400 1 0 1 { T 200 2450 5 8 1 1 0 6 1 pinnumber=2 T 200 2350 5 8 0 1 0 8 1 pinseq=2 T 350 2400 9 8 1 1 0 0 1 pinlabel=DATA T 350 2400 5 8 0 1 0 2 1 pintype=in } L 300 2600 400 2700 3 0 0 0 -1 -1 L 300 2800 400 2700 3 0 0 0 -1 -1 P 300 2700 0 2700 1 0 1 { T 200 2750 5 8 1 1 0 6 1 pinnumber=3 T 200 2650 5 8 0 1 0 8 1 pinseq=3 T 400 2700 9 8 1 1 0 0 1 pinlabel=CLK T 400 2700 5 8 0 1 0 2 1 pintype=clk } P 1800 3300 2100 3300 1 0 1 { T 1900 3350 5 8 1 1 0 0 1 pinnumber=4 T 1900 3250 5 8 0 1 0 2 1 pinseq=4 T 1750 3300 9 8 1 1 0 6 1 pinlabel=Q1 T 1750 3300 5 8 0 1 0 8 1 pintype=tri } P 1800 3000 2100 3000 1 0 1 { T 1900 3050 5 8 1 1 0 0 1 pinnumber=5 T 1900 2950 5 8 0 1 0 2 1 pinseq=5 T 1750 3000 9 8 1 1 0 6 1 pinlabel=Q2 T 1750 3000 5 8 0 1 0 8 1 pintype=tri } P 1800 2700 2100 2700 1 0 1 { T 1900 2750 5 8 1 1 0 0 1 pinnumber=6 T 1900 2650 5 8 0 1 0 2 1 pinseq=6 T 1750 2700 9 8 1 1 0 6 1 pinlabel=Q3 T 1750 2700 5 8 0 1 0 8 1 pintype=tri } P 1800 2400 2100 2400 1 0 1 { T 1900 2450 5 8 1 1 0 0 1 pinnumber=7 T 1900 2350 5 8 0 1 0 2 1 pinseq=7 T 1750 2400 9 8 1 1 0 6 1 pinlabel=Q4 T 1750 2400 5 8 0 1 0 8 1 pintype=tri } P 1800 600 2100 600 1 0 1 { T 1900 650 5 8 1 1 0 0 1 pinnumber=9 T 1900 550 5 8 0 1 0 2 1 pinseq=8 T 1750 600 9 8 1 1 0 6 1 pinlabel=QS T 1750 600 5 8 0 1 0 8 1 pintype=out } P 1800 300 2100 300 1 0 1 { T 1900 350 5 8 1 1 0 0 1 pinnumber=10 T 1900 250 5 8 0 1 0 2 1 pinseq=9 T 1750 300 9 8 1 1 0 6 1 pinlabel=Q'S T 1750 300 5 8 0 1 0 8 1 pintype=out } P 1800 1200 2100 1200 1 0 1 { T 1900 1250 5 8 1 1 0 0 1 pinnumber=11 T 1900 1150 5 8 0 1 0 2 1 pinseq=10 T 1750 1200 9 8 1 1 0 6 1 pinlabel=Q8 T 1750 1200 5 8 0 1 0 8 1 pintype=tri } P 1800 1500 2100 1500 1 0 1 { T 1900 1550 5 8 1 1 0 0 1 pinnumber=12 T 1900 1450 5 8 0 1 0 2 1 pinseq=11 T 1750 1500 9 8 1 1 0 6 1 pinlabel=Q7 T 1750 1500 5 8 0 1 0 8 1 pintype=tri } P 1800 1800 2100 1800 1 0 1 { T 1900 1850 5 8 1 1 0 0 1 pinnumber=13 T 1900 1750 5 8 0 1 0 2 1 pinseq=12 T 1750 1800 9 8 1 1 0 6 1 pinlabel=Q6 T 1750 1800 5 8 0 1 0 8 1 pintype=tri } P 1800 2100 2100 2100 1 0 1 { T 1900 2150 5 8 1 1 0 0 1 pinnumber=14 T 1900 2050 5 8 0 1 0 2 1 pinseq=13 T 1750 2100 9 8 1 1 0 6 1 pinlabel=Q5 T 1750 2100 5 8 0 1 0 8 1 pintype=tri } P 300 3000 0 3000 1 0 1 { T 200 3050 5 8 1 1 0 6 1 pinnumber=15 T 200 2950 5 8 0 1 0 8 1 pinseq=14 T 350 3000 9 8 1 1 0 0 1 pinlabel=OE T 350 3000 5 8 0 1 0 2 1 pintype=in } B 300 0 1500 3600 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 T 300 4050 5 10 0 0 0 0 1 footprint=DIP16 T 300 5100 5 10 0 0 0 0 1 description=8-stage shift-and-store bus register T 300 3850 5 10 0 0 0 0 1 numslots=0 T 300 5300 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4094B_CNV_3.pdf T 300 3650 3 10 1 0 0 0 1 4094 geda-gaf-1.8.2/symbols/4000/4021-2.sym0000664000175000017500000000570012204104272013426 00000000000000v 20031231 1 T 1800 4000 8 10 1 1 0 6 1 refdes=U? T 300 4600 5 10 0 0 0 0 1 device=4021 T 300 5000 5 10 0 0 0 0 1 footprint=DIP16 T 300 4800 5 10 0 0 0 0 1 class=IC T 300 5200 5 10 0 0 0 0 1 net=GND:8 T 300 5400 5 10 0 0 0 0 1 net=VCC:16 P 1800 2700 2100 2700 1 0 1 { T 1900 2750 5 8 1 1 0 0 1 pinnumber=1 T 1900 2650 5 8 0 1 0 2 1 pinseq=1 T 1750 2700 9 8 1 1 0 6 1 pinlabel=P8 T 1750 2700 5 8 0 1 0 8 1 pintype=in } P 300 3000 0 3000 1 0 1 { T 200 3050 5 8 1 1 0 6 1 pinnumber=2 T 200 2950 5 8 0 1 0 8 1 pinseq=2 T 350 3000 9 8 1 1 0 0 1 pinlabel=Q6 T 350 3000 5 8 0 1 0 2 1 pintype=out } P 300 3600 0 3600 1 0 1 { T 200 3650 5 8 1 1 0 6 1 pinnumber=3 T 200 3550 5 8 0 1 0 8 1 pinseq=3 T 350 3600 9 8 1 1 0 0 1 pinlabel=Q8 T 350 3600 5 8 0 1 0 2 1 pintype=out } P 1800 1500 2100 1500 1 0 1 { T 1900 1550 5 8 1 1 0 0 1 pinnumber=4 T 1900 1450 5 8 0 1 0 2 1 pinseq=4 T 1750 1500 9 8 1 1 0 6 1 pinlabel=P4 T 1750 1500 5 8 0 1 0 8 1 pintype=in } P 1800 1200 2100 1200 1 0 1 { T 1900 1250 5 8 1 1 0 0 1 pinnumber=5 T 1900 1150 5 8 0 1 0 2 1 pinseq=5 T 1750 1200 9 8 1 1 0 6 1 pinlabel=P3 T 1750 1200 5 8 0 1 0 8 1 pintype=in } P 1800 900 2100 900 1 0 1 { T 1900 950 5 8 1 1 0 0 1 pinnumber=6 T 1900 850 5 8 0 1 0 2 1 pinseq=6 T 1750 900 9 8 1 1 0 6 1 pinlabel=P2 T 1750 900 5 8 0 1 0 8 1 pintype=in } P 1800 600 2100 600 1 0 1 { T 1900 650 5 8 1 1 0 0 1 pinnumber=7 T 1900 550 5 8 0 1 0 2 1 pinseq=7 T 1750 600 9 8 1 1 0 6 1 pinlabel=P1 T 1750 600 5 8 0 1 0 8 1 pintype=in } P 1800 3600 2100 3600 1 0 1 { T 1900 3650 5 8 1 1 0 0 1 pinnumber=9 T 1900 3550 5 8 0 1 0 2 1 pinseq=8 T 1750 3600 9 8 1 1 0 6 1 pinlabel=CONTROL T 1750 3600 5 8 0 1 0 8 1 pintype=in } L 1800 3400 1700 3300 3 0 0 0 -1 -1 L 1800 3200 1700 3300 3 0 0 0 -1 -1 P 1800 3300 2100 3300 1 0 1 { T 1900 3350 5 8 1 1 0 0 1 pinnumber=10 T 1900 3250 5 8 0 1 0 2 1 pinseq=9 T 1700 3300 9 8 1 1 0 6 1 pinlabel=CLOCK T 1700 3300 5 8 0 1 0 8 1 pintype=clk } P 1800 300 2100 300 1 0 1 { T 1900 350 5 8 1 1 0 0 1 pinnumber=11 T 1900 250 5 8 0 1 0 2 1 pinseq=10 T 1750 300 9 8 1 1 0 6 1 pinlabel=INPUT T 1750 300 5 8 0 1 0 8 1 pintype=in } P 300 3300 0 3300 1 0 1 { T 200 3350 5 8 1 1 0 6 1 pinnumber=12 T 200 3250 5 8 0 1 0 8 1 pinseq=11 T 350 3300 9 8 1 1 0 0 1 pinlabel=Q7 T 350 3300 5 8 0 1 0 2 1 pintype=out } P 1800 1800 2100 1800 1 0 1 { T 1900 1850 5 8 1 1 0 0 1 pinnumber=13 T 1900 1750 5 8 0 1 0 2 1 pinseq=12 T 1750 1800 9 8 1 1 0 6 1 pinlabel=P5 T 1750 1800 5 8 0 1 0 8 1 pintype=in } P 1800 2100 2100 2100 1 0 1 { T 1900 2150 5 8 1 1 0 0 1 pinnumber=14 T 1900 2050 5 8 0 1 0 2 1 pinseq=13 T 1750 2100 9 8 1 1 0 6 1 pinlabel=P6 T 1750 2100 5 8 0 1 0 8 1 pintype=in } P 1800 2400 2100 2400 1 0 1 { T 1900 2450 5 8 1 1 0 0 1 pinnumber=15 T 1900 2350 5 8 0 1 0 2 1 pinseq=14 T 1750 2400 9 8 1 1 0 6 1 pinlabel=P7 T 1750 2400 5 8 0 1 0 8 1 pintype=in } B 300 0 1500 3900 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 T 300 4200 5 10 0 0 0 0 1 description=8-bit shift register with parallel load T 300 4400 5 10 0 0 0 0 1 numslots=0 T 300 3950 3 10 1 0 0 0 1 4021 geda-gaf-1.8.2/symbols/4000/4006-2.sym0000664000175000017500000000522312204104272013431 00000000000000v 20070626 1 T 1700 3100 8 10 1 1 0 6 1 refdes=U? T 300 3250 5 10 0 0 0 0 1 device=4006 T 300 3450 5 10 0 0 0 0 1 footprint=DIP14 T 300 3650 5 10 0 0 0 0 1 net=VSS:7 T 300 3850 5 10 0 0 0 0 1 net=VDD:14 P 0 300 200 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=3 T 200 250 5 8 0 1 0 8 1 pinseq=1 T 400 300 9 8 1 1 0 0 1 pinlabel=CLK T 400 300 5 8 0 1 0 2 1 pintype=clk } L 400 300 300 375 3 0 0 0 -1 -1 L 400 300 300 225 3 0 0 0 -1 -1 P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=6 T 200 650 5 8 0 1 0 8 1 pinseq=2 T 350 700 9 8 1 1 0 0 1 pinlabel=DD T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=5 T 200 1050 5 8 0 1 0 8 1 pinseq=3 T 350 1100 9 8 1 1 0 0 1 pinlabel=DC T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=4 T 200 1850 5 8 0 1 0 8 1 pinseq=4 T 350 1900 9 8 1 1 0 0 1 pinlabel=DB T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=1 T 200 2650 5 8 0 1 0 8 1 pinseq=5 T 350 2700 9 8 1 1 0 0 1 pinlabel=DA T 350 2700 5 8 0 1 0 2 1 pintype=in } P 2000 300 1700 300 1 0 0 { T 1800 350 5 8 1 1 0 0 1 pinnumber=9 T 1800 250 5 8 0 1 0 2 1 pinseq=6 T 1650 300 9 8 1 1 0 6 1 pinlabel=O4D T 1650 300 5 8 0 1 0 8 1 pintype=out } P 2000 700 1700 700 1 0 0 { T 1800 750 5 8 1 1 0 0 1 pinnumber=8 T 1800 650 5 8 0 1 0 2 1 pinseq=7 T 1650 700 9 8 1 1 0 6 1 pinlabel=O3D T 1650 700 5 8 0 1 0 8 1 pintype=out } P 2000 1100 1700 1100 1 0 0 { T 1800 1150 5 8 1 1 0 0 1 pinnumber=10 T 1800 1050 5 8 0 1 0 2 1 pinseq=8 T 1650 1100 9 8 1 1 0 6 1 pinlabel=O3C T 1650 1100 5 8 0 1 0 8 1 pintype=out } P 2000 1500 1700 1500 1 0 0 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=12 T 1800 1450 5 8 0 1 0 2 1 pinseq=9 T 1650 1500 9 8 1 1 0 6 1 pinlabel=O4B T 1650 1500 5 8 0 1 0 8 1 pintype=out } P 2000 1900 1700 1900 1 0 0 { T 1800 1950 5 8 1 1 0 0 1 pinnumber=11 T 1800 1850 5 8 0 1 0 2 1 pinseq=10 T 1650 1900 9 8 1 1 0 6 1 pinlabel=O3B T 1650 1900 5 8 0 1 0 8 1 pintype=out } P 2000 2700 1700 2700 1 0 0 { T 1800 2750 5 8 1 1 0 0 1 pinnumber=13 T 1800 2650 5 8 0 1 0 2 1 pinseq=12 T 1650 2700 9 8 1 1 0 6 1 pinlabel=O3A T 1650 2700 5 8 0 1 0 8 1 pintype=out } B 300 0 1400 3000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4050 5 10 0 0 0 0 1 description=18-stage static shift register T 300 4250 5 10 0 0 0 0 1 numslots=0 T 300 3050 9 10 1 0 0 0 1 4006 V 250 300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 2300 1800 2300 1 0 0 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=2 T 1800 2250 5 8 0 1 0 2 1 pinseq=11 T 1650 2300 9 8 1 1 0 6 1 pinlabel=\_O3A\_ T 1650 2300 5 8 0 1 0 8 1 pintype=out } V 1750 2300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4450 5 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/4000/4097-1.sym0000664000175000017500000001042712204104272013444 00000000000000v 20070626 1 T 500 7200 8 10 1 1 0 6 1 refdes=U? T 2000 950 5 10 0 0 0 0 1 device=4097 T 2000 1150 5 10 0 0 0 0 1 footprint=DIP24 T 2000 1350 5 10 0 0 0 0 1 net=VSS:12 T 2000 1550 5 10 0 0 0 0 1 net=VDD:24 P 0 700 200 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=13 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 1 1 0 0 1 pinlabel=\_EN\_ T 350 700 5 8 0 1 0 2 1 pintype=in } V 250 700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2100 300 2100 1 0 0 { T 200 2150 5 8 1 1 0 6 1 pinnumber=17 T 200 2050 5 8 0 1 0 8 1 pinseq=2 T 350 2100 9 8 1 1 0 0 1 pinlabel=YC T 350 2100 5 8 0 1 0 2 1 pintype=io } P 0 5300 300 5300 1 0 0 { T 200 5350 5 8 1 1 0 6 1 pinnumber=1 T 200 5250 5 8 0 1 0 8 1 pinseq=3 T 350 5300 9 8 1 1 0 0 1 pinlabel=XC T 350 5300 5 8 0 1 0 2 1 pintype=io } P 0 3300 300 3300 1 0 0 { T 200 3350 5 8 1 1 0 6 1 pinnumber=14 T 200 3250 5 8 0 1 0 8 1 pinseq=4 T 350 3300 9 8 1 1 0 0 1 pinlabel=C T 350 3300 5 8 0 1 0 2 1 pintype=in } P 0 3700 300 3700 1 0 0 { T 200 3750 5 8 1 1 0 6 1 pinnumber=11 T 200 3650 5 8 0 1 0 8 1 pinseq=5 T 350 3700 9 8 1 1 0 0 1 pinlabel=B T 350 3700 5 8 0 1 0 2 1 pintype=in } P 0 4100 300 4100 1 0 0 { T 200 4150 5 8 1 1 0 6 1 pinnumber=10 T 200 4050 5 8 0 1 0 8 1 pinseq=6 T 350 4100 9 8 1 1 0 0 1 pinlabel=A T 350 4100 5 8 0 1 0 2 1 pintype=in } P 1600 700 1300 700 1 0 0 { T 1400 750 5 8 1 1 0 0 1 pinnumber=15 T 1400 650 5 8 0 1 0 2 1 pinseq=7 T 1250 700 9 8 1 1 0 6 1 pinlabel=Y7 T 1250 700 5 8 0 1 0 8 1 pintype=io } P 1600 1100 1300 1100 1 0 0 { T 1400 1150 5 8 1 1 0 0 1 pinnumber=16 T 1400 1050 5 8 0 1 0 2 1 pinseq=8 T 1250 1100 9 8 1 1 0 6 1 pinlabel=Y6 T 1250 1100 5 8 0 1 0 8 1 pintype=io } P 1600 1500 1300 1500 1 0 0 { T 1400 1550 5 8 1 1 0 0 1 pinnumber=18 T 1400 1450 5 8 0 1 0 2 1 pinseq=9 T 1250 1500 9 8 1 1 0 6 1 pinlabel=Y5 T 1250 1500 5 8 0 1 0 8 1 pintype=io } P 1600 1900 1300 1900 1 0 0 { T 1400 1950 5 8 1 1 0 0 1 pinnumber=19 T 1400 1850 5 8 0 1 0 2 1 pinseq=10 T 1250 1900 9 8 1 1 0 6 1 pinlabel=Y4 T 1250 1900 5 8 0 1 0 8 1 pintype=io } P 1600 2300 1300 2300 1 0 0 { T 1400 2350 5 8 1 1 0 0 1 pinnumber=20 T 1400 2250 5 8 0 1 0 2 1 pinseq=11 T 1250 2300 9 8 1 1 0 6 1 pinlabel=Y3 T 1250 2300 5 8 0 1 0 8 1 pintype=io } P 1600 2700 1300 2700 1 0 0 { T 1400 2750 5 8 1 1 0 0 1 pinnumber=21 T 1400 2650 5 8 0 1 0 2 1 pinseq=12 T 1250 2700 9 8 1 1 0 6 1 pinlabel=Y2 T 1250 2700 5 8 0 1 0 8 1 pintype=io } P 1600 3100 1300 3100 1 0 0 { T 1400 3150 5 8 1 1 0 0 1 pinnumber=22 T 1400 3050 5 8 0 1 0 2 1 pinseq=13 T 1250 3100 9 8 1 1 0 6 1 pinlabel=Y1 T 1250 3100 5 8 0 1 0 8 1 pintype=io } P 1600 3500 1300 3500 1 0 0 { T 1400 3550 5 8 1 1 0 0 1 pinnumber=23 T 1400 3450 5 8 0 1 0 2 1 pinseq=14 T 1250 3500 9 8 1 1 0 6 1 pinlabel=Y0 T 1250 3500 5 8 0 1 0 8 1 pintype=io } P 1600 3900 1300 3900 1 0 0 { T 1400 3950 5 8 1 1 0 0 1 pinnumber=2 T 1400 3850 5 8 0 1 0 2 1 pinseq=15 T 1250 3900 9 8 1 1 0 6 1 pinlabel=X7 T 1250 3900 5 8 0 1 0 8 1 pintype=io } P 1600 4300 1300 4300 1 0 0 { T 1400 4350 5 8 1 1 0 0 1 pinnumber=3 T 1400 4250 5 8 0 1 0 2 1 pinseq=16 T 1250 4300 9 8 1 1 0 6 1 pinlabel=X6 T 1250 4300 5 8 0 1 0 8 1 pintype=io } P 1600 4700 1300 4700 1 0 0 { T 1400 4750 5 8 1 1 0 0 1 pinnumber=4 T 1400 4650 5 8 0 1 0 2 1 pinseq=17 T 1250 4700 9 8 1 1 0 6 1 pinlabel=X5 T 1250 4700 5 8 0 1 0 8 1 pintype=io } P 1600 5100 1300 5100 1 0 0 { T 1400 5150 5 8 1 1 0 0 1 pinnumber=5 T 1400 5050 5 8 0 1 0 2 1 pinseq=18 T 1250 5100 9 8 1 1 0 6 1 pinlabel=X4 T 1250 5100 5 8 0 1 0 8 1 pintype=io } P 1600 5500 1300 5500 1 0 0 { T 1400 5550 5 8 1 1 0 0 1 pinnumber=6 T 1400 5450 5 8 0 1 0 2 1 pinseq=19 T 1250 5500 9 8 1 1 0 6 1 pinlabel=X3 T 1250 5500 5 8 0 1 0 8 1 pintype=io } P 1600 5900 1300 5900 1 0 0 { T 1400 5950 5 8 1 1 0 0 1 pinnumber=7 T 1400 5850 5 8 0 1 0 2 1 pinseq=20 T 1250 5900 9 8 1 1 0 6 1 pinlabel=X2 T 1250 5900 5 8 0 1 0 8 1 pintype=io } P 1600 6300 1300 6300 1 0 0 { T 1400 6350 5 8 1 1 0 0 1 pinnumber=8 T 1400 6250 5 8 0 1 0 2 1 pinseq=21 T 1250 6300 9 8 1 1 0 6 1 pinlabel=X1 T 1250 6300 5 8 0 1 0 8 1 pintype=io } P 1600 6700 1300 6700 1 0 0 { T 1400 6750 5 8 1 1 0 0 1 pinnumber=9 T 1400 6650 5 8 0 1 0 2 1 pinseq=22 T 1250 6700 9 8 1 1 0 6 1 pinlabel=X0 T 1250 6700 5 8 0 1 0 8 1 pintype=io } B 300 300 1000 6800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2000 750 5 10 0 0 0 0 1 description=dual 1-8 analog multiplexer/demultiplexer T 2000 1750 5 10 0 0 0 0 1 numslots=0 T 300 50 9 10 1 0 0 0 1 4097 geda-gaf-1.8.2/symbols/4000/4017-2.sym0000664000175000017500000000575212204104272013442 00000000000000v 20031231 1 T 1700 4700 8 10 1 1 0 6 1 refdes=U? T 300 4850 5 10 0 0 0 0 1 device=4017 T 300 5050 5 10 0 0 0 0 1 footprint=DIP16 T 300 5250 5 10 0 0 0 0 1 net=VSS:8 T 300 5450 5 10 0 0 0 0 1 net=VDD:16 P 0 300 300 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=15 T 200 250 5 8 0 1 0 8 1 pinseq=1 T 350 300 9 8 1 1 0 0 1 pinlabel=Reset T 350 300 5 8 0 1 0 2 1 pintype=in } P 0 700 200 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=13 T 200 650 5 8 0 1 0 8 1 pinseq=2 T 350 700 9 8 1 1 0 0 1 pinlabel=EN T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=14 T 200 2250 5 8 0 1 0 8 1 pinseq=3 T 400 2300 9 8 1 1 0 0 1 pinlabel=CLK T 400 2300 5 8 0 1 0 2 1 pintype=clk } L 400 2300 300 2375 3 0 0 0 -1 -1 L 400 2300 300 2225 3 0 0 0 -1 -1 P 2000 300 1800 300 1 0 0 { T 1800 350 5 8 1 1 0 0 1 pinnumber=12 T 1800 250 5 8 0 1 0 2 1 pinseq=4 T 1650 300 9 8 1 1 0 6 1 pinlabel=Carry Out T 1650 300 5 8 0 1 0 8 1 pintype=out } P 2000 700 1700 700 1 0 0 { T 1800 750 5 8 1 1 0 0 1 pinnumber=11 T 1800 650 5 8 0 1 0 2 1 pinseq=5 T 1650 700 9 8 1 1 0 6 1 pinlabel=9 T 1650 700 5 8 0 1 0 8 1 pintype=out } P 2000 1100 1700 1100 1 0 0 { T 1800 1150 5 8 1 1 0 0 1 pinnumber=9 T 1800 1050 5 8 0 1 0 2 1 pinseq=6 T 1650 1100 9 8 1 1 0 6 1 pinlabel=8 T 1650 1100 5 8 0 1 0 8 1 pintype=out } P 2000 1500 1700 1500 1 0 0 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=6 T 1800 1450 5 8 0 1 0 2 1 pinseq=7 T 1650 1500 9 8 1 1 0 6 1 pinlabel=7 T 1650 1500 5 8 0 1 0 8 1 pintype=out } P 2000 1900 1700 1900 1 0 0 { T 1800 1950 5 8 1 1 0 0 1 pinnumber=5 T 1800 1850 5 8 0 1 0 2 1 pinseq=8 T 1650 1900 9 8 1 1 0 6 1 pinlabel=6 T 1650 1900 5 8 0 1 0 8 1 pintype=out } P 2000 2300 1700 2300 1 0 0 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=1 T 1800 2250 5 8 0 1 0 2 1 pinseq=9 T 1650 2300 9 8 1 1 0 6 1 pinlabel=5 T 1650 2300 5 8 0 1 0 8 1 pintype=out } P 2000 2700 1700 2700 1 0 0 { T 1800 2750 5 8 1 1 0 0 1 pinnumber=10 T 1800 2650 5 8 0 1 0 2 1 pinseq=10 T 1650 2700 9 8 1 1 0 6 1 pinlabel=4 T 1650 2700 5 8 0 1 0 8 1 pintype=out } P 2000 3100 1700 3100 1 0 0 { T 1800 3150 5 8 1 1 0 0 1 pinnumber=7 T 1800 3050 5 8 0 1 0 2 1 pinseq=11 T 1650 3100 9 8 1 1 0 6 1 pinlabel=3 T 1650 3100 5 8 0 1 0 8 1 pintype=out } P 2000 3500 1700 3500 1 0 0 { T 1800 3550 5 8 1 1 0 0 1 pinnumber=4 T 1800 3450 5 8 0 1 0 2 1 pinseq=12 T 1650 3500 9 8 1 1 0 6 1 pinlabel=2 T 1650 3500 5 8 0 1 0 8 1 pintype=out } P 2000 3900 1700 3900 1 0 0 { T 1800 3950 5 8 1 1 0 0 1 pinnumber=2 T 1800 3850 5 8 0 1 0 2 1 pinseq=13 T 1650 3900 9 8 1 1 0 6 1 pinlabel=1 T 1650 3900 5 8 0 1 0 8 1 pintype=out } P 2000 4300 1700 4300 1 0 0 { T 1800 4350 5 8 1 1 0 0 1 pinnumber=3 T 1800 4250 5 8 0 1 0 2 1 pinseq=14 T 1650 4300 9 8 1 1 0 6 1 pinlabel=0 T 1650 4300 5 8 0 1 0 8 1 pintype=out } B 300 0 1400 4600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 5850 5 10 0 0 0 0 1 description=decade counter with 10 decoded outputs T 300 5650 5 10 0 0 0 0 1 numslots=0 T 300 4650 9 10 1 0 0 0 1 4017 V 250 700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1750 300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/4000/40106-1.sym0000664000175000017500000000247412204104272013516 00000000000000v 20080127 1 P 0 500 300 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=1 T 200 450 5 8 0 1 0 8 1 pinseq=1 T 350 500 5 8 0 1 0 2 1 pintype=in T 350 500 9 8 0 1 0 0 1 pinlabel=A } L 300 800 300 200 3 0 0 0 -1 -1 L 300 800 900 500 3 0 0 0 -1 -1 L 900 500 300 200 3 0 0 0 -1 -1 P 1000 500 1300 500 1 0 1 { T 1100 550 5 8 1 1 0 0 1 pinnumber=2 T 1100 450 5 8 0 1 0 2 1 pinseq=2 T 950 500 5 8 0 1 0 8 1 pintype=out T 950 500 9 8 0 1 0 6 1 pinlabel=Y } T 1700 0 5 10 0 0 0 0 1 net=VDD:14 T 1700 200 5 10 0 0 0 0 1 net=VSS:7 T 1700 400 5 10 0 0 0 0 1 device=40106 T 1700 600 5 10 0 0 0 0 1 footprint=none T 1700 800 5 10 0 0 0 0 1 numslots=6 T 1700 1000 5 10 0 0 0 0 1 slotdef=1:1,2 T 1700 1200 5 10 0 0 0 0 1 slotdef=2:3,4 T 1700 1400 5 10 0 0 0 0 1 slotdef=3:5,6 T 1700 1600 5 10 0 0 0 0 1 slotdef=4:9,8 T 1700 1800 5 10 0 0 0 0 1 slotdef=5:11,10 T 1700 2000 5 10 0 0 0 0 1 slotdef=6:13,12 T 300 900 8 10 1 1 0 0 1 refdes=U? V 950 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 325 650 425 650 3 0 0 0 -1 -1 L 400 350 500 350 3 0 0 0 -1 -1 L 425 650 450 350 3 0 0 0 -1 -1 L 400 350 375 650 3 0 0 0 -1 -1 T 1700 2200 5 10 0 0 0 0 1 slot=1 T 1700 2400 5 10 0 0 0 0 1 description=6 inverting Schmitt triggers T 1700 2600 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF40106B_CNV_3.pdf T 300 0 9 10 1 0 0 0 1 40106 geda-gaf-1.8.2/symbols/4000/4516-1.sym0000664000175000017500000000610312204104272013434 00000000000000v 20070626 1 T 1700 3900 8 10 1 1 0 6 1 refdes=U? T 300 4050 5 10 0 0 0 0 1 device=4516 T 300 4250 5 10 0 0 0 0 1 footprint=DIP16 T 300 4450 5 10 0 0 0 0 1 net=VSS:8 T 300 4650 5 10 0 0 0 0 1 net=VDD:16 P 0 1500 200 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=5 T 200 1450 5 8 0 1 0 8 1 pinseq=1 T 350 1500 9 8 1 1 0 0 1 pinlabel=\_CI\_ T 350 1500 5 8 0 1 0 2 1 pintype=in } V 250 1500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=10 T 200 1050 5 8 0 1 0 8 1 pinseq=2 T 350 1100 9 8 1 1 0 0 1 pinlabel=U/\_D\_ T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=3 T 200 2250 5 8 0 1 0 8 1 pinseq=3 T 350 2300 9 8 1 1 0 0 1 pinlabel=P3 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=13 T 200 2650 5 8 0 1 0 8 1 pinseq=4 T 350 2700 9 8 1 1 0 0 1 pinlabel=P2 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=12 T 200 3050 5 8 0 1 0 8 1 pinseq=5 T 350 3100 9 8 1 1 0 0 1 pinlabel=P1 T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=4 T 200 3450 5 8 0 1 0 8 1 pinseq=6 T 350 3500 9 8 1 1 0 0 1 pinlabel=P0 T 350 3500 5 8 0 1 0 2 1 pintype=in } P 0 300 300 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=9 T 200 250 5 8 0 1 0 8 1 pinseq=7 T 350 300 9 8 1 1 0 0 1 pinlabel=MR T 350 300 5 8 0 1 0 2 1 pintype=in } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=1 T 200 650 5 8 0 1 0 8 1 pinseq=8 T 350 700 9 8 1 1 0 0 1 pinlabel=EN T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=15 T 200 1850 5 8 0 1 0 8 1 pinseq=9 T 400 1900 9 8 1 1 0 0 1 pinlabel=CLK T 400 1900 5 8 0 1 0 2 1 pintype=in } L 400 1900 300 1975 3 0 0 0 -1 -1 L 400 1900 300 1825 3 0 0 0 -1 -1 P 2000 1500 1800 1500 1 0 0 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=7 T 1800 1450 5 8 0 1 0 2 1 pinseq=10 T 1650 1500 9 8 1 1 0 6 1 pinlabel=\_CO\_ T 1650 1500 5 8 0 1 0 8 1 pintype=out } V 1750 1500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 2300 1700 2300 1 0 0 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=2 T 1800 2250 5 8 0 1 0 2 1 pinseq=11 T 1650 2300 9 8 1 1 0 6 1 pinlabel=Q3 T 1650 2300 5 8 0 1 0 8 1 pintype=out } P 2000 2700 1700 2700 1 0 0 { T 1800 2750 5 8 1 1 0 0 1 pinnumber=14 T 1800 2650 5 8 0 1 0 2 1 pinseq=12 T 1650 2700 9 8 1 1 0 6 1 pinlabel=Q2 T 1650 2700 5 8 0 1 0 8 1 pintype=out } P 2000 3100 1700 3100 1 0 0 { T 1800 3150 5 8 1 1 0 0 1 pinnumber=11 T 1800 3050 5 8 0 1 0 2 1 pinseq=13 T 1650 3100 9 8 1 1 0 6 1 pinlabel=Q1 T 1650 3100 5 8 0 1 0 8 1 pintype=out } P 2000 3500 1700 3500 1 0 0 { T 1800 3550 5 8 1 1 0 0 1 pinnumber=6 T 1800 3450 5 8 0 1 0 2 1 pinseq=14 T 1650 3500 9 8 1 1 0 6 1 pinlabel=Q0 T 1650 3500 5 8 0 1 0 8 1 pintype=out } B 300 0 1400 3800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 5050 5 10 0 0 0 0 1 description=synchronous programmable binary counter T 300 4850 5 10 0 0 0 0 1 numslots=0 T 300 5250 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4516B_CNV_3.pdf T 300 3850 9 10 1 0 0 0 1 4516 geda-gaf-1.8.2/symbols/4000/4049-1.sym0000664000175000017500000000226312204104272013440 00000000000000v 20031231 1 P 0 500 300 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=3 T 200 450 5 8 0 1 0 8 1 pinseq=1 T 350 500 5 8 0 1 0 2 1 pintype=in T 350 500 9 8 0 1 0 0 1 pinlabel=A } L 300 800 300 200 3 0 0 0 -1 -1 L 300 800 900 500 3 0 0 0 -1 -1 L 900 500 300 200 3 0 0 0 -1 -1 P 1000 500 1200 500 1 0 1 { T 1000 550 5 8 1 1 0 0 1 pinnumber=2 T 1000 450 5 8 0 1 0 2 1 pinseq=2 T 850 500 5 8 0 1 0 8 1 pintype=out T 850 500 9 8 0 1 0 6 1 pinlabel=Y } T 1700 2700 5 10 0 0 0 0 1 slot=1 T 1700 2100 5 10 0 0 0 0 1 net=VDD:1 T 1700 100 5 10 0 0 0 0 1 net=VSS:8 T 1700 300 5 10 0 0 0 0 1 device=4049 T 1700 500 5 10 0 0 0 0 1 footprint=DIP16 T 1700 700 5 10 0 0 0 0 1 numslots=6 T 1700 900 5 10 0 0 0 0 1 slotdef=1:3,2 T 1700 1100 5 10 0 0 0 0 1 slotdef=2:5,4 T 1700 1300 5 10 0 0 0 0 1 slotdef=3:7,6 T 1700 1500 5 10 0 0 0 0 1 slotdef=4:9,10 T 1700 1700 5 10 0 0 0 0 1 slotdef=5:11,12 T 1700 1900 5 10 0 0 0 0 1 slotdef=6:14,15 V 950 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 900 8 10 1 1 0 0 1 refdes=U? T 1700 2300 5 10 0 0 0 0 1 description=6 inverting buffers T 1700 2500 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4049B_CNV_3.pdf T 300 0 9 10 1 0 0 0 1 4049 geda-gaf-1.8.2/symbols/4000/4033-2.sym0000664000175000017500000000631012204104272013427 00000000000000v 20070626 1 T 1700 3900 8 10 1 1 0 6 1 refdes=U? T 300 4050 5 10 0 0 0 0 1 device=4033 T 300 4250 5 10 0 0 0 0 1 footprint=DIP16 T 300 4850 5 10 0 0 0 0 1 net=VSS:8 T 300 5050 5 10 0 0 0 0 1 net=VDD:16 P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=15 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 1 1 0 0 1 pinlabel=Reset T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 200 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=3 T 200 1050 5 8 0 1 0 8 1 pinseq=2 T 350 1100 9 8 1 1 0 0 1 pinlabel=\_RBI\_ T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 300 300 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=14 T 200 250 5 8 0 1 0 8 1 pinseq=3 T 350 300 9 8 1 1 0 0 1 pinlabel=Test T 350 300 5 8 0 1 0 2 1 pintype=in } P 0 1500 200 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=2 T 200 1450 5 8 0 1 0 8 1 pinseq=4 T 350 1500 9 8 1 1 0 0 1 pinlabel=\_CLK EN\_ T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=1 T 200 1850 5 8 0 1 0 8 1 pinseq=5 T 400 1900 9 8 1 1 0 0 1 pinlabel=CLK T 400 1900 5 8 0 1 0 2 1 pintype=clk } L 400 1900 300 1975 3 0 0 0 -1 -1 L 400 1900 300 1825 3 0 0 0 -1 -1 P 2000 700 1800 700 1 0 0 { T 1800 750 5 8 1 1 0 0 1 pinnumber=4 T 1800 650 5 8 0 1 0 2 1 pinseq=6 T 1650 700 9 8 1 1 0 6 1 pinlabel=\_RBO\_ T 1650 700 5 8 0 1 0 8 1 pintype=out } P 2000 1100 1700 1100 1 0 0 { T 1800 1150 5 8 1 1 0 0 1 pinnumber=7 T 1800 1050 5 8 0 1 0 2 1 pinseq=7 T 1650 1100 9 8 1 1 0 6 1 pinlabel=G T 1650 1100 5 8 0 1 0 8 1 pintype=out } P 2000 1500 1700 1500 1 0 0 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=6 T 1800 1450 5 8 0 1 0 2 1 pinseq=8 T 1650 1500 9 8 1 1 0 6 1 pinlabel=F T 1650 1500 5 8 0 1 0 8 1 pintype=out } P 2000 1900 1700 1900 1 0 0 { T 1800 1950 5 8 1 1 0 0 1 pinnumber=11 T 1800 1850 5 8 0 1 0 2 1 pinseq=9 T 1650 1900 9 8 1 1 0 6 1 pinlabel=E T 1650 1900 5 8 0 1 0 8 1 pintype=out } P 2000 2300 1700 2300 1 0 0 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=9 T 1800 2250 5 8 0 1 0 2 1 pinseq=10 T 1650 2300 9 8 1 1 0 6 1 pinlabel=D T 1650 2300 5 8 0 1 0 8 1 pintype=out } P 2000 300 1800 300 1 0 0 { T 1800 350 5 8 1 1 0 0 1 pinnumber=5 T 1800 250 5 8 0 1 0 2 1 pinseq=11 T 1650 300 9 8 1 1 0 6 1 pinlabel=\_Carry\_ T 1650 300 5 8 0 1 0 8 1 pintype=out } P 2000 2700 1700 2700 1 0 0 { T 1800 2750 5 8 1 1 0 0 1 pinnumber=13 T 1800 2650 5 8 0 1 0 2 1 pinseq=12 T 1650 2700 9 8 1 1 0 6 1 pinlabel=C T 1650 2700 5 8 0 1 0 8 1 pintype=out } P 2000 3100 1700 3100 1 0 0 { T 1800 3150 5 8 1 1 0 0 1 pinnumber=12 T 1800 3050 5 8 0 1 0 2 1 pinseq=13 T 1650 3100 9 8 1 1 0 6 1 pinlabel=B T 1650 3100 5 8 0 1 0 8 1 pintype=out } P 2000 3500 1700 3500 1 0 0 { T 1800 3550 5 8 1 1 0 0 1 pinnumber=10 T 1800 3450 5 8 0 1 0 2 1 pinseq=14 T 1650 3500 9 8 1 1 0 6 1 pinlabel=A T 1650 3500 5 8 0 1 0 8 1 pintype=out } B 300 0 1400 3800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4650 5 10 0 0 0 0 1 description=decade counter with decoded 7-segment outputs T 300 5250 5 10 0 0 0 0 1 numslots=0 T 300 4450 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/2N4031_4033_CNV_2.pdf T 300 3850 9 10 1 0 0 0 1 4033 V 250 1500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1750 300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1750 700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 1100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/4000/4045-1.sym0000664000175000017500000000262012204104272013431 00000000000000v 20031231 1 T 500 2400 8 10 1 1 0 6 1 refdes=U? T 2000 950 5 10 0 0 0 0 1 device=4045 T 2000 1150 5 10 0 0 0 0 1 footprint=DIP16 T 2000 1350 5 10 0 0 0 0 1 net=VSS:14 T 2000 1550 5 10 0 0 0 0 1 net=VDD:3 P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=16 T 200 1050 5 8 0 1 0 8 1 pinseq=1 T 350 1100 9 8 1 1 0 0 1 pinlabel=X1 T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=15 T 200 1450 5 8 0 1 0 8 1 pinseq=2 T 350 1500 9 8 1 1 0 0 1 pinlabel=X0 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=1 T 200 650 5 8 0 1 0 8 1 pinseq=3 T 350 700 9 8 1 1 0 0 1 pinlabel=PS T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=2 T 200 1850 5 8 0 1 0 8 1 pinseq=4 T 350 1900 9 8 1 1 0 0 1 pinlabel=NS T 350 1900 5 8 0 1 0 2 1 pintype=in } P 1600 1100 1300 1100 1 0 0 { T 1400 1150 5 8 1 1 0 0 1 pinnumber=8 T 1400 1050 5 8 0 1 0 2 1 pinseq=5 T 1250 1100 9 8 1 1 0 6 1 pinlabel=QB T 1250 1100 5 8 0 1 0 8 1 pintype=out } P 1600 1500 1300 1500 1 0 0 { T 1400 1550 5 8 1 1 0 0 1 pinnumber=7 T 1400 1450 5 8 0 1 0 2 1 pinseq=6 T 1250 1500 9 8 1 1 0 6 1 pinlabel=QA T 1250 1500 5 8 0 1 0 8 1 pintype=out } B 300 300 1000 2000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2000 750 5 10 0 0 0 0 1 description=21-stage counter T 2000 1750 5 10 0 0 0 0 1 numslots=0 T 300 50 9 10 1 0 0 0 1 4045 geda-gaf-1.8.2/symbols/4000/4010-1.sym0000664000175000017500000000222312204104272013420 00000000000000v 20031231 1 L 300 800 800 500 3 0 0 0 -1 -1 T 600 900 5 10 0 0 0 0 1 device=4010 T 600 1100 5 10 0 0 0 0 1 slot=1 T 600 1300 5 10 0 0 0 0 1 numslots=6 T 600 1500 5 10 0 0 0 0 1 slotdef=1:3,2 T 600 1700 5 10 0 0 0 0 1 slotdef=2:5,4 T 600 1900 5 10 0 0 0 0 1 slotdef=3:7,6 T 600 2100 5 10 0 0 0 0 1 slotdef=4:9,10 T 600 2300 5 10 0 0 0 0 1 slotdef=5:11,12 T 600 2500 5 10 0 0 0 0 1 slotdef=6:14,15 L 800 500 300 200 3 0 0 0 -1 -1 L 300 800 300 500 3 0 0 0 -1 -1 L 300 500 300 200 3 0 0 0 -1 -1 P 300 500 0 500 1 0 1 { T 200 550 5 8 1 1 0 6 1 pinnumber=3 T 200 450 5 8 0 1 0 8 1 pinseq=1 T 350 500 5 8 0 1 0 2 1 pintype=in T 350 500 9 8 0 1 0 0 1 pinlabel=A } P 1100 500 800 500 1 0 0 { T 900 550 5 8 1 1 0 0 1 pinnumber=2 T 900 450 5 8 0 1 0 2 1 pinseq=2 T 750 500 5 8 0 1 0 8 1 pintype=out T 750 500 9 8 0 1 0 6 1 pinlabel=Y } T 300 900 8 10 1 1 0 0 1 refdes=U? T 600 2900 5 10 0 0 0 0 1 pins=16 T 600 2700 5 10 0 0 0 0 1 class=IC T 600 3300 5 10 0 0 0 0 1 net=GND:8 T 600 3100 5 10 0 0 0 0 1 net=VDD:16 T 600 3500 5 10 0 0 0 0 1 net=Vcc:1 T 600 3700 5 10 0 0 0 0 1 footprint=DIP16 T 600 3900 5 10 0 0 0 0 1 description=6 CMOS to TTL converter T 300 0 9 8 1 0 0 0 1 4010 geda-gaf-1.8.2/symbols/4000/4051-1.sym0000664000175000017500000000543312204104272013433 00000000000000v 20031231 1 P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=11 T 200 2250 5 8 0 1 0 8 1 pinseq=11 T 350 2300 9 8 1 1 0 0 1 pinlabel=A T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2000 300 2000 1 0 0 { T 200 2050 5 8 1 1 0 6 1 pinnumber=10 T 200 1950 5 8 0 1 0 8 1 pinseq=10 T 350 2000 9 8 1 1 0 0 1 pinlabel=B T 350 2000 5 8 0 1 0 2 1 pintype=in } P 0 1700 300 1700 1 0 0 { T 200 1750 5 8 1 1 0 6 1 pinnumber=9 T 200 1650 5 8 0 1 0 8 1 pinseq=9 T 350 1700 9 8 1 1 0 0 1 pinlabel=C T 350 1700 5 8 0 1 0 2 1 pintype=in } P 0 1300 300 1300 1 0 0 { T 200 1350 5 8 1 1 0 6 1 pinnumber=3 T 200 1250 5 8 0 1 0 8 1 pinseq=3 T 350 1300 9 8 1 1 0 0 1 pinlabel=X T 350 1300 5 8 0 1 0 2 1 pintype=pas } B 300 0 1400 2600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 2850 5 10 0 0 0 0 1 device=4051 P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=6 T 200 150 5 8 0 1 0 8 1 pinseq=6 T 350 200 9 8 1 1 0 0 1 pinlabel=Inh T 350 200 5 8 0 1 0 2 1 pintype=in } P 1700 2300 2000 2300 1 0 1 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=13 T 1800 2250 5 8 0 1 0 2 1 pinseq=13 T 1650 2300 9 8 1 1 0 6 1 pinlabel=X0 T 1650 2300 5 8 0 1 0 8 1 pintype=pas } P 1700 2000 2000 2000 1 0 1 { T 1800 2050 5 8 1 1 0 0 1 pinnumber=14 T 1800 1950 5 8 0 1 0 2 1 pinseq=14 T 1650 2000 9 8 1 1 0 6 1 pinlabel=X1 T 1650 2000 5 8 0 1 0 8 1 pintype=pas } P 1700 1700 2000 1700 1 0 1 { T 1800 1750 5 8 1 1 0 0 1 pinnumber=15 T 1800 1650 5 8 0 1 0 2 1 pinseq=15 T 1650 1700 9 8 1 1 0 6 1 pinlabel=X2 T 1650 1700 5 8 0 1 0 8 1 pintype=pas } P 1700 1400 2000 1400 1 0 1 { T 1800 1450 5 8 1 1 0 0 1 pinnumber=12 T 1800 1350 5 8 0 1 0 2 1 pinseq=12 T 1650 1400 9 8 1 1 0 6 1 pinlabel=X3 T 1650 1400 5 8 0 1 0 8 1 pintype=pas } P 1700 1100 2000 1100 1 0 1 { T 1800 1150 5 8 1 1 0 0 1 pinnumber=1 T 1800 1050 5 8 0 1 0 2 1 pinseq=1 T 1650 1100 9 8 1 1 0 6 1 pinlabel=X4 T 1650 1100 5 8 0 1 0 8 1 pintype=pas } P 1700 800 2000 800 1 0 1 { T 1800 850 5 8 1 1 0 0 1 pinnumber=5 T 1800 750 5 8 0 1 0 2 1 pinseq=5 T 1650 800 9 8 1 1 0 6 1 pinlabel=X5 T 1650 800 5 8 0 1 0 8 1 pintype=pas } P 1700 500 2000 500 1 0 1 { T 1800 550 5 8 1 1 0 0 1 pinnumber=2 T 1800 450 5 8 0 1 0 2 1 pinseq=2 T 1650 500 9 8 1 1 0 6 1 pinlabel=X6 T 1650 500 5 8 0 1 0 8 1 pintype=pas } P 1700 200 2000 200 1 0 1 { T 1800 250 5 8 1 1 0 0 1 pinnumber=4 T 1800 150 5 8 0 1 0 2 1 pinseq=4 T 1650 200 9 8 1 1 0 6 1 pinlabel=X7 T 1650 200 5 8 0 1 0 8 1 pintype=pas } T 1700 2700 8 10 1 1 0 6 1 refdes=U? T 300 3050 5 10 0 0 0 0 1 footprint=DIL16 T 300 4050 5 10 0 0 0 0 1 description=8-1 analogue multiplexer/demultiplexer T 300 3850 5 10 0 0 0 0 1 numslots=0 T 300 3250 5 10 0 0 0 0 1 net=VDD:16 T 300 3450 5 10 0 0 0 0 1 net=VSS:8 T 300 3650 5 10 0 0 0 0 1 net=VEE:7 T 300 4250 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4051B_CNV_3.pdf T 300 2640 9 10 1 0 0 0 1 4051 geda-gaf-1.8.2/symbols/4000/4512-1.sym0000664000175000017500000000565712204104272013445 00000000000000v 20070626 1 T 400 4000 8 10 1 1 0 6 1 refdes=U? T 2600 950 5 10 0 0 0 0 1 device=4512 T 2600 1150 5 10 0 0 0 0 1 footprint=DIP16 T 2600 1350 5 10 0 0 0 0 1 net=VSS:8 T 2600 1550 5 10 0 0 0 0 1 net=VDD:16 P 1500 0 1500 300 1 0 0 { T 1550 100 5 8 1 1 0 0 1 pinnumber=13 T 1550 100 5 8 0 1 0 2 1 pinseq=1 T 1500 350 9 8 1 1 0 3 1 pinlabel=C T 1500 500 5 8 0 1 0 3 1 pintype=in } P 1100 0 1100 300 1 0 0 { T 1150 100 5 8 1 1 0 0 1 pinnumber=12 T 1150 100 5 8 0 1 0 2 1 pinseq=2 T 1100 350 9 8 1 1 0 3 1 pinlabel=B T 1100 500 5 8 0 1 0 3 1 pintype=in } P 700 0 700 300 1 0 0 { T 750 100 5 8 1 1 0 0 1 pinnumber=11 T 750 100 5 8 0 1 0 2 1 pinseq=3 T 700 350 9 8 1 1 0 3 1 pinlabel=A T 700 500 5 8 0 1 0 3 1 pintype=in } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=9 T 200 650 5 8 0 1 0 8 1 pinseq=4 T 350 700 9 8 1 1 0 0 1 pinlabel=X7 T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=7 T 200 1050 5 8 0 1 0 8 1 pinseq=5 T 350 1100 9 8 1 1 0 0 1 pinlabel=X6 T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=6 T 200 1450 5 8 0 1 0 8 1 pinseq=6 T 350 1500 9 8 1 1 0 0 1 pinlabel=X5 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=5 T 200 1850 5 8 0 1 0 8 1 pinseq=7 T 350 1900 9 8 1 1 0 0 1 pinlabel=X4 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=4 T 200 2250 5 8 0 1 0 8 1 pinseq=8 T 350 2300 9 8 1 1 0 0 1 pinlabel=X3 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=3 T 200 2650 5 8 0 1 0 8 1 pinseq=9 T 350 2700 9 8 1 1 0 0 1 pinlabel=X2 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=2 T 200 3050 5 8 0 1 0 8 1 pinseq=10 T 350 3100 9 8 1 1 0 0 1 pinlabel=X1 T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=1 T 200 3450 5 8 0 1 0 8 1 pinseq=11 T 350 3500 9 8 1 1 0 0 1 pinlabel=X0 T 350 3500 5 8 0 1 0 2 1 pintype=in } P 2200 2100 1900 2100 1 0 0 { T 2000 2150 5 8 1 1 0 0 1 pinnumber=14 T 2000 2050 5 8 0 1 0 2 1 pinseq=12 T 1850 2100 9 8 1 1 0 6 1 pinlabel=Z T 1850 2100 5 8 0 1 0 8 1 pintype=out } P 1300 4200 1300 4000 1 0 0 { T 1350 4000 5 8 1 1 0 0 1 pinnumber=15 T 1350 4000 5 8 0 1 0 2 1 pinseq=13 T 1300 3850 9 8 1 1 0 5 1 pinlabel=\_OE\_ T 1300 3700 5 8 0 1 0 5 1 pintype=in } V 1300 3950 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 900 4200 900 3900 1 0 0 { T 950 4000 5 8 1 1 0 0 1 pinnumber=10 T 950 4000 5 8 0 1 0 2 1 pinseq=14 T 900 3850 9 8 1 1 0 5 1 pinlabel=INH T 900 3700 5 8 0 1 0 5 1 pintype=in } B 300 300 1600 3600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2600 750 5 10 0 0 0 0 1 description=8-input multiplexer with tristate output T 2600 1750 5 10 0 0 0 0 1 numslots=0 T 2600 550 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4512B_CNV_3.pdf T 100 50 9 10 1 0 0 0 1 4512 geda-gaf-1.8.2/symbols/4000/4044-2.sym0000664000175000017500000000614112204104272013433 00000000000000v 20070626 1 T 1700 3900 8 10 1 1 0 6 1 refdes=U? T 300 4050 5 10 0 0 0 0 1 device=4044 T 300 4250 5 10 0 0 0 0 1 footprint=DIP16 T 300 4450 5 10 0 0 0 0 1 net=VSS:8 T 300 4650 5 10 0 0 0 0 1 net=VDD:16 P 0 1100 200 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=15 T 200 1050 5 8 0 1 0 8 1 pinseq=1 T 350 1100 9 8 1 1 0 0 1 pinlabel=\_S4\_ T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1900 200 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=11 T 200 1850 5 8 0 1 0 8 1 pinseq=2 T 350 1900 9 8 1 1 0 0 1 pinlabel=\_S3\_ T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2700 200 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=6 T 200 2650 5 8 0 1 0 8 1 pinseq=3 T 350 2700 9 8 1 1 0 0 1 pinlabel=\_S2\_ T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3500 200 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=3 T 200 3450 5 8 0 1 0 8 1 pinseq=4 T 350 3500 9 8 1 1 0 0 1 pinlabel=\_S1\_ T 350 3500 5 8 0 1 0 2 1 pintype=in } P 0 700 200 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=14 T 200 650 5 8 0 1 0 8 1 pinseq=5 T 350 700 9 8 1 1 0 0 1 pinlabel=\_R4\_ T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1500 200 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=12 T 200 1450 5 8 0 1 0 8 1 pinseq=6 T 350 1500 9 8 1 1 0 0 1 pinlabel=\_R3\_ T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 2300 200 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=7 T 200 2250 5 8 0 1 0 8 1 pinseq=7 T 350 2300 9 8 1 1 0 0 1 pinlabel=\_R2\_ T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 3100 200 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=4 T 200 3050 5 8 0 1 0 8 1 pinseq=8 T 350 3100 9 8 1 1 0 0 1 pinlabel=\_R1\_ T 350 3100 5 8 0 1 0 2 1 pintype=in } P 2000 700 1700 700 1 0 0 { T 1800 750 5 8 1 1 0 0 1 pinnumber=1 T 1800 650 5 8 0 1 0 2 1 pinseq=9 T 1650 700 9 8 1 1 0 6 1 pinlabel=Q4 T 1650 700 5 8 0 1 0 8 1 pintype=tri } V 250 3100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 1500 1700 1500 1 0 0 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=10 T 1800 1450 5 8 0 1 0 2 1 pinseq=10 T 1650 1500 9 8 1 1 0 6 1 pinlabel=Q3 T 1650 1500 5 8 0 1 0 8 1 pintype=tri } P 2000 2300 1700 2300 1 0 0 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=9 T 1800 2250 5 8 0 1 0 2 1 pinseq=11 T 1650 2300 9 8 1 1 0 6 1 pinlabel=Q2 T 1650 2300 5 8 0 1 0 8 1 pintype=tri } V 250 2300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 3100 1700 3100 1 0 0 { T 1800 3150 5 8 1 1 0 0 1 pinnumber=2 T 1800 3050 5 8 0 1 0 2 1 pinseq=12 T 1650 3100 9 8 1 1 0 6 1 pinlabel=Q1 T 1650 3100 5 8 0 1 0 8 1 pintype=tri } P 0 300 300 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=5 T 200 250 5 8 0 1 0 8 1 pinseq=13 T 350 300 9 8 1 1 0 0 1 pinlabel=EN T 350 300 5 8 0 1 0 2 1 pintype=in } B 300 0 1400 3800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 5050 5 10 0 0 0 0 1 description=quadruple R/S latch with 3-state outputs T 300 4850 5 10 0 0 0 0 1 numslots=0 T 300 5250 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4044B_CNV_3.pdf V 250 3500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 2700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 1500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 1900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 1100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 3850 9 10 1 0 0 0 1 4044 geda-gaf-1.8.2/symbols/4000/4078-1.sym0000664000175000017500000000461212204104272013442 00000000000000v 20040710 1 V 950 1500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 1500 1200 1500 1 0 1 { T 1100 1550 5 8 1 1 0 0 1 pinnumber=13 T 950 1500 9 8 0 1 0 6 1 pinlabel=/Q T 950 1500 5 8 0 1 0 8 1 pintype=out T 1100 1450 5 8 0 1 0 2 1 pinseq=9 } T 400 2100 8 10 1 1 0 0 1 refdes=U? T 1400 2300 5 10 0 0 0 0 1 net=VDD:14 T 1400 2500 5 10 0 0 0 0 1 net=VSS:7 T 1400 2700 5 10 0 0 0 0 1 device=4078 T 1400 2900 5 10 0 0 0 0 1 footprint=DIP14 T 1400 3300 5 10 0 0 0 0 1 description=NOR gate with 8 inputs T 1400 3100 5 10 0 0 0 0 1 numslots=0 T 400 1200 9 8 1 0 0 0 1 4078 T 1400 3500 5 10 0 0 0 0 1 comment=/Q is not available on all devices P 300 1300 0 1300 1 0 1 { T 200 1250 5 8 0 1 0 8 1 pinseq=5 T 200 1350 5 8 1 1 0 6 1 pinnumber=9 T 350 1300 5 8 0 1 0 2 1 pintype=in T 350 1300 9 8 0 1 0 0 1 pinlabel=E } P 300 2100 0 2100 1 0 1 { T 200 2050 5 8 0 1 0 8 1 pinseq=3 T 200 2150 5 8 1 1 0 6 1 pinnumber=4 T 350 2100 5 8 0 1 0 2 1 pintype=in T 350 2100 9 8 0 1 0 0 1 pinlabel=C } P 300 1700 0 1700 1 0 1 { T 200 1750 5 8 1 1 0 6 1 pinnumber=5 T 200 1650 5 8 0 1 0 8 1 pinseq=4 T 350 1700 5 8 0 1 0 2 1 pintype=in T 350 1700 9 8 0 1 0 0 1 pinlabel=D } A 36 1700 400 312 97 3 0 0 0 -1 -1 L 300 1400 600 1400 3 0 0 0 -1 -1 L 300 2000 600 2000 3 0 0 0 -1 -1 A 600 1800 400 270 76 3 0 0 0 -1 -1 A 600 1600 400 14 76 3 0 0 0 -1 -1 L 300 0 300 1400 3 0 0 0 -1 -1 L 300 3000 300 2000 3 0 0 0 -1 -1 P 300 900 0 900 1 0 1 { T 200 850 5 8 0 1 0 8 1 pinseq=6 T 200 950 5 8 1 1 0 6 1 pinnumber=10 T 350 900 9 8 0 1 0 0 1 pinlabel=F T 350 900 5 8 0 1 0 2 1 pintype=in } P 300 500 0 500 1 0 1 { T 200 450 5 8 0 1 0 8 1 pinseq=7 T 200 550 5 8 1 1 0 6 1 pinnumber=11 T 350 500 9 8 0 1 0 0 1 pinlabel=G T 350 500 5 8 0 1 0 2 1 pintype=in } P 300 100 0 100 1 0 1 { T 200 150 5 8 1 1 0 6 1 pinnumber=12 T 200 50 5 8 0 1 0 8 1 pinseq=8 T 350 100 9 8 0 1 0 0 1 pinlabel=H T 350 100 5 8 0 1 0 2 1 pintype=in } P 300 2500 0 2500 1 0 1 { T 200 2450 5 8 0 1 0 8 1 pinseq=2 T 200 2550 5 8 1 1 0 6 1 pinnumber=3 T 350 2500 5 8 0 1 0 2 1 pintype=in T 350 2500 9 8 0 1 0 0 1 pinlabel=B } P 300 2900 0 2900 1 0 1 { T 200 2850 5 8 0 1 0 8 1 pinseq=1 T 200 2950 5 8 1 1 0 6 1 pinnumber=2 T 350 2900 5 8 0 1 0 2 1 pintype=in T 350 2900 9 8 0 1 0 0 1 pinlabel=A } P 1200 1900 900 1900 1 0 0 { T 1100 1950 5 8 1 1 0 0 1 pinnumber=1 T 1100 1850 5 8 0 1 0 2 1 pinseq=10 T 950 1900 5 8 0 1 0 8 1 pintype=out T 950 1900 9 8 0 1 0 6 1 pinlabel=Q } T 1400 3700 5 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/4000/4026-1.sym0000664000175000017500000000565612204104272013444 00000000000000v 20031231 1 T 1700 4800 8 10 1 1 0 6 1 refdes=U? T 300 4950 5 10 0 0 0 0 1 device=4026 T 300 5150 5 10 0 0 0 0 1 footprint=DIP16 T 300 5350 5 10 0 0 0 0 1 net=VSS:8 T 300 5550 5 10 0 0 0 0 1 net=VDD:16 P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=15 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 1 1 0 0 1 pinlabel=Reset T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=2 T 200 1050 5 8 0 1 0 8 1 pinseq=2 T 350 1100 9 8 1 1 0 0 1 pinlabel=Inhibit T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=3 T 200 1450 5 8 0 1 0 8 1 pinseq=3 T 350 1500 9 8 1 1 0 0 1 pinlabel=Enable T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=1 T 200 1850 5 8 0 1 0 8 1 pinseq=4 T 400 1900 9 8 1 1 0 0 1 pinlabel=CLK T 400 1900 5 8 0 1 0 2 1 pintype=in } L 400 1900 300 1975 3 0 0 0 -1 -1 L 400 1900 300 1825 3 0 0 0 -1 -1 P 2000 1100 1700 1100 1 0 0 { T 1800 1150 5 8 1 1 0 0 1 pinnumber=14 T 1800 1050 5 8 0 1 0 2 1 pinseq=5 T 1650 1100 9 8 1 1 0 6 1 pinlabel=Ungated C T 1650 1100 5 8 0 1 0 8 1 pintype=out } P 2000 1900 1700 1900 1 0 0 { T 1800 1950 5 8 1 1 0 0 1 pinnumber=7 T 1800 1850 5 8 0 1 0 2 1 pinseq=6 T 1650 1900 9 8 1 1 0 6 1 pinlabel=G T 1650 1900 5 8 0 1 0 8 1 pintype=out } P 2000 2300 1700 2300 1 0 0 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=6 T 1800 2250 5 8 0 1 0 2 1 pinseq=7 T 1650 2300 9 8 1 1 0 6 1 pinlabel=F T 1650 2300 5 8 0 1 0 8 1 pintype=out } P 2000 1500 1700 1500 1 0 0 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=4 T 1800 1450 5 8 0 1 0 2 1 pinseq=8 T 1650 1500 9 8 1 1 0 6 1 pinlabel=Enable T 1650 1500 5 8 0 1 0 8 1 pintype=out } P 2000 2700 1700 2700 1 0 0 { T 1800 2750 5 8 1 1 0 0 1 pinnumber=11 T 1800 2650 5 8 0 1 0 2 1 pinseq=9 T 1650 2700 9 8 1 1 0 6 1 pinlabel=E T 1650 2700 5 8 0 1 0 8 1 pintype=out } P 2000 3100 1700 3100 1 0 0 { T 1800 3150 5 8 1 1 0 0 1 pinnumber=9 T 1800 3050 5 8 0 1 0 2 1 pinseq=10 T 1650 3100 9 8 1 1 0 6 1 pinlabel=D T 1650 3100 5 8 0 1 0 8 1 pintype=out } P 2000 700 1700 700 1 0 0 { T 1800 750 5 8 1 1 0 0 1 pinnumber=5 T 1800 650 5 8 0 1 0 2 1 pinseq=11 T 1650 700 9 8 1 1 0 6 1 pinlabel=Carry T 1650 700 5 8 0 1 0 8 1 pintype=out } P 2000 3500 1700 3500 1 0 0 { T 1800 3550 5 8 1 1 0 0 1 pinnumber=13 T 1800 3450 5 8 0 1 0 2 1 pinseq=12 T 1650 3500 9 8 1 1 0 6 1 pinlabel=C T 1650 3500 5 8 0 1 0 8 1 pintype=out } P 2000 3900 1700 3900 1 0 0 { T 1800 3950 5 8 1 1 0 0 1 pinnumber=12 T 1800 3850 5 8 0 1 0 2 1 pinseq=13 T 1650 3900 9 8 1 1 0 6 1 pinlabel=B T 1650 3900 5 8 0 1 0 8 1 pintype=out } P 2000 4300 1700 4300 1 0 0 { T 1800 4350 5 8 1 1 0 0 1 pinnumber=10 T 1800 4250 5 8 0 1 0 2 1 pinseq=14 T 1650 4300 9 8 1 1 0 6 1 pinlabel=A T 1650 4300 5 8 0 1 0 8 1 pintype=out } B 300 300 1400 4400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 5750 5 10 0 0 0 0 1 description=decade counter with decoded 7-segment output T 300 5950 5 10 0 0 0 0 1 numslots=0 T 300 4750 9 10 1 0 0 0 1 4026 geda-gaf-1.8.2/symbols/4000/4024-1.sym0000664000175000017500000000375112204104272013434 00000000000000v 20031231 1 P 0 1300 200 1300 1 0 0 { T 200 1350 5 8 1 1 0 6 1 pinnumber=1 T 200 1250 5 8 0 1 0 8 1 pinseq=1 T 350 1300 9 8 1 1 0 0 1 pinlabel=CLK T 350 1300 5 8 0 1 0 2 1 pintype=clk } P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=2 T 200 950 5 8 0 1 0 8 1 pinseq=2 T 350 1000 9 8 1 1 0 0 1 pinlabel=Reset T 350 1000 5 8 0 1 0 2 1 pintype=in } P 1700 2100 2000 2100 1 0 1 { T 1800 2150 5 8 1 1 0 0 1 pinnumber=12 T 1800 2050 5 8 0 1 0 2 1 pinseq=12 T 1650 2100 9 8 1 1 0 6 1 pinlabel=Q1 T 1650 2100 5 8 0 1 0 8 1 pintype=out } P 1700 1800 2000 1800 1 0 1 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=11 T 1800 1750 5 8 0 1 0 2 1 pinseq=11 T 1650 1800 9 8 1 1 0 6 1 pinlabel=Q2 T 1650 1800 5 8 0 1 0 8 1 pintype=out } P 1700 1500 2000 1500 1 0 1 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=9 T 1800 1450 5 8 0 1 0 2 1 pinseq=9 T 1650 1500 9 8 1 1 0 6 1 pinlabel=Q3 T 1650 1500 5 8 0 1 0 8 1 pintype=out } P 1700 1200 2000 1200 1 0 1 { T 1800 1250 5 8 1 1 0 0 1 pinnumber=6 T 1800 1150 5 8 0 1 0 2 1 pinseq=6 T 1650 1200 9 8 1 1 0 6 1 pinlabel=Q4 T 1650 1200 5 8 0 1 0 8 1 pintype=out } P 1700 900 2000 900 1 0 1 { T 1800 950 5 8 1 1 0 0 1 pinnumber=5 T 1800 850 5 8 0 1 0 2 1 pinseq=5 T 1650 900 9 8 1 1 0 6 1 pinlabel=Q5 T 1650 900 5 8 0 1 0 8 1 pintype=out } P 1700 600 2000 600 1 0 1 { T 1800 650 5 8 1 1 0 0 1 pinnumber=4 T 1800 550 5 8 0 1 0 2 1 pinseq=4 T 1650 600 9 8 1 1 0 6 1 pinlabel=Q6 T 1650 600 5 8 0 1 0 8 1 pintype=out } P 1700 300 2000 300 1 0 1 { T 1800 350 5 8 1 1 0 0 1 pinnumber=3 T 1800 250 5 8 0 1 0 2 1 pinseq=3 T 1650 300 9 8 1 1 0 6 1 pinlabel=Q7 T 1650 300 5 8 0 1 0 8 1 pintype=out } B 300 0 1400 2400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 2850 5 10 0 0 0 0 1 device=4024 T 300 2650 5 10 0 0 0 0 1 footprint=DIP14 T 1700 2500 8 10 1 1 0 6 1 refdes=U? T 300 3050 5 10 0 0 0 0 1 description=7-bit binary counter T 300 3650 5 10 0 0 0 0 1 numslots=0 T 300 3250 5 10 0 0 0 0 1 net=VDD:14 T 300 3450 5 10 0 0 0 0 1 net=VSS:7 T 300 2440 3 10 1 0 0 0 1 4024 V 250 1300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/4000/40194-1.sym0000664000175000017500000000601312204104272013516 00000000000000v 20070626 1 T 500 4800 8 10 1 1 0 6 1 refdes=U? T 2000 950 5 10 0 0 0 0 1 device=40194 T 2000 1150 5 10 0 0 0 0 1 footprint=DIP16 T 2000 1350 5 10 0 0 0 0 1 net=VSS:8 T 2000 1550 5 10 0 0 0 0 1 net=VDD:16 P 0 700 200 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=1 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 1 1 0 0 1 pinlabel=\_MR\_ T 350 700 5 8 0 1 0 2 1 pintype=in } V 250 700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=2 T 200 1450 5 8 0 1 0 8 1 pinseq=2 T 350 1500 9 8 1 1 0 0 1 pinlabel=SHR T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=7 T 200 1850 5 8 0 1 0 8 1 pinseq=3 T 350 1900 9 8 1 1 0 0 1 pinlabel=SHL T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=10 T 200 2250 5 8 0 1 0 8 1 pinseq=4 T 350 2300 9 8 1 1 0 0 1 pinlabel=S1 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=9 T 200 2650 5 8 0 1 0 8 1 pinseq=5 T 350 2700 9 8 1 1 0 0 1 pinlabel=S0 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=6 T 200 3050 5 8 0 1 0 8 1 pinseq=6 T 350 3100 9 8 1 1 0 0 1 pinlabel=D3 T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=5 T 200 3450 5 8 0 1 0 8 1 pinseq=7 T 350 3500 9 8 1 1 0 0 1 pinlabel=D2 T 350 3500 5 8 0 1 0 2 1 pintype=in } P 0 3900 300 3900 1 0 0 { T 200 3950 5 8 1 1 0 6 1 pinnumber=4 T 200 3850 5 8 0 1 0 8 1 pinseq=8 T 350 3900 9 8 1 1 0 0 1 pinlabel=D1 T 350 3900 5 8 0 1 0 2 1 pintype=in } P 0 4300 300 4300 1 0 0 { T 200 4350 5 8 1 1 0 6 1 pinnumber=3 T 200 4250 5 8 0 1 0 8 1 pinseq=9 T 350 4300 9 8 1 1 0 0 1 pinlabel=D0 T 350 4300 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=11 T 200 1050 5 8 0 1 0 8 1 pinseq=10 T 400 1100 9 8 1 1 0 0 1 pinlabel=CLK T 400 1100 5 8 0 1 0 2 1 pintype=in } L 400 1100 300 1175 3 0 0 0 -1 -1 L 400 1100 300 1025 3 0 0 0 -1 -1 P 1600 3100 1300 3100 1 0 0 { T 1400 3150 5 8 1 1 0 0 1 pinnumber=12 T 1400 3050 5 8 0 1 0 2 1 pinseq=11 T 1250 3100 9 8 1 1 0 6 1 pinlabel=Q3 T 1250 3100 5 8 0 1 0 8 1 pintype=out } P 1600 3500 1300 3500 1 0 0 { T 1400 3550 5 8 1 1 0 0 1 pinnumber=13 T 1400 3450 5 8 0 1 0 2 1 pinseq=12 T 1250 3500 9 8 1 1 0 6 1 pinlabel=Q2 T 1250 3500 5 8 0 1 0 8 1 pintype=out } P 1600 3900 1300 3900 1 0 0 { T 1400 3950 5 8 1 1 0 0 1 pinnumber=14 T 1400 3850 5 8 0 1 0 2 1 pinseq=13 T 1250 3900 9 8 1 1 0 6 1 pinlabel=Q1 T 1250 3900 5 8 0 1 0 8 1 pintype=out } P 1600 4300 1300 4300 1 0 0 { T 1400 4350 5 8 1 1 0 0 1 pinnumber=15 T 1400 4250 5 8 0 1 0 2 1 pinseq=14 T 1250 4300 9 8 1 1 0 6 1 pinlabel=Q0 T 1250 4300 5 8 0 1 0 8 1 pintype=out } B 300 300 1000 4400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2000 750 5 10 0 0 0 0 1 description=4-bit bidirectional shift register T 2000 1750 5 10 0 0 0 0 1 numslots=0 T 2000 550 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF40194B_CNV_3.pdf T 300 50 9 10 1 0 0 0 1 40194 geda-gaf-1.8.2/symbols/4000/4029-1.sym0000664000175000017500000000577612204104272013452 00000000000000v 20070626 1 T 500 4400 8 10 1 1 0 6 1 refdes=U? T 2300 3350 5 10 0 0 0 0 1 device=4029 T 2300 3550 5 10 0 0 0 0 1 footprint=DIP16 T 2300 3750 5 10 0 0 0 0 1 net=VSS:8 T 2300 3950 5 10 0 0 0 0 1 net=VDD:16 P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=10 T 200 3050 5 8 0 1 0 8 1 pinseq=1 T 350 3100 9 8 1 1 0 0 1 pinlabel=up/\_down\_ T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=3 T 200 650 5 8 0 1 0 8 1 pinseq=2 T 350 700 9 8 1 1 0 0 1 pinlabel=J4 T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=13 T 200 1050 5 8 0 1 0 8 1 pinseq=3 T 350 1100 9 8 1 1 0 0 1 pinlabel=J3 T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=12 T 200 1450 5 8 0 1 0 8 1 pinseq=4 T 350 1500 9 8 1 1 0 0 1 pinlabel=J2 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=4 T 200 1850 5 8 0 1 0 8 1 pinseq=5 T 350 1900 9 8 1 1 0 0 1 pinlabel=J1 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=1 T 200 2650 5 8 0 1 0 8 1 pinseq=6 T 350 2700 9 8 1 1 0 0 1 pinlabel=Load/\_count\_ T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=9 T 200 3450 5 8 0 1 0 8 1 pinseq=7 T 350 3500 9 8 1 1 0 0 1 pinlabel=bin/\_dec\_ T 350 3500 5 8 0 1 0 2 1 pintype=in } P 0 2300 200 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=5 T 200 2250 5 8 0 1 0 8 1 pinseq=8 T 350 2300 9 8 1 1 0 0 1 pinlabel=\_Carry In\_ T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 3900 300 3900 1 0 0 { T 200 3950 5 8 1 1 0 6 1 pinnumber=15 T 200 3850 5 8 0 1 0 8 1 pinseq=9 T 400 3900 9 8 1 1 0 0 1 pinlabel=CLK T 400 3900 5 8 0 1 0 2 1 pintype=clk } L 400 3900 300 3975 3 0 0 0 -1 -1 L 400 3900 300 3825 3 0 0 0 -1 -1 P 2200 700 1900 700 1 0 0 { T 2000 750 5 8 1 1 0 0 1 pinnumber=2 T 2000 650 5 8 0 1 0 2 1 pinseq=10 T 1850 700 9 8 1 1 0 6 1 pinlabel=Q4 T 1850 700 5 8 0 1 0 8 1 pintype=out } P 2200 1100 1900 1100 1 0 0 { T 2000 1150 5 8 1 1 0 0 1 pinnumber=14 T 2000 1050 5 8 0 1 0 2 1 pinseq=11 T 1850 1100 9 8 1 1 0 6 1 pinlabel=Q3 T 1850 1100 5 8 0 1 0 8 1 pintype=out } P 2200 1500 1900 1500 1 0 0 { T 2000 1550 5 8 1 1 0 0 1 pinnumber=11 T 2000 1450 5 8 0 1 0 2 1 pinseq=12 T 1850 1500 9 8 1 1 0 6 1 pinlabel=Q2 T 1850 1500 5 8 0 1 0 8 1 pintype=out } P 2200 1900 1900 1900 1 0 0 { T 2000 1950 5 8 1 1 0 0 1 pinnumber=6 T 2000 1850 5 8 0 1 0 2 1 pinseq=13 T 1850 1900 9 8 1 1 0 6 1 pinlabel=Q1 T 1850 1900 5 8 0 1 0 8 1 pintype=out } P 2200 2300 2000 2300 1 0 0 { T 2000 2350 5 8 1 1 0 0 1 pinnumber=7 T 2000 2250 5 8 0 1 0 2 1 pinseq=14 T 1850 2300 9 8 1 1 0 6 1 pinlabel=\_Carry Out\_ T 1850 2300 5 8 0 1 0 8 1 pintype=out } B 300 300 1600 4000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2300 3150 5 10 0 0 0 0 1 description=synchronous up/down, binary/decade counter T 2300 4150 5 10 0 0 0 0 1 numslots=0 T 300 50 9 10 1 0 0 0 1 4029 V 1950 2300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 2300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/4000/4073-1.sym0000664000175000017500000000276412204104272013443 00000000000000v 20040710 1 P 0 900 300 900 1 0 0 { T 200 950 5 8 1 1 0 6 1 pinnumber=3 T 200 850 5 8 0 1 0 8 1 pinseq=1 T 350 900 5 8 0 1 0 2 1 pintype=in T 350 900 9 8 0 1 0 0 1 pinlabel=A } P 0 500 300 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=4 T 200 450 5 8 0 1 0 8 1 pinseq=2 T 350 500 5 8 0 1 0 2 1 pintype=in T 350 500 9 8 0 1 0 0 1 pinlabel=B } P 0 100 300 100 1 0 0 { T 200 150 5 8 1 1 0 6 1 pinnumber=5 T 200 50 5 8 0 1 0 8 1 pinseq=3 T 350 100 5 8 0 1 0 2 1 pintype=in T 350 100 9 8 0 1 0 0 1 pinlabel=C } P 1000 500 1300 500 1 0 1 { T 1100 550 5 8 1 1 0 0 1 pinnumber=6 T 1100 450 5 8 0 1 0 2 1 pinseq=4 T 950 500 5 8 0 1 0 8 1 pintype=out T 950 500 9 8 0 1 0 6 1 pinlabel=Y } T 2200 500 5 10 0 0 0 0 1 net=VDD:14 T 2200 700 5 10 0 0 0 0 1 net=VSS:7 T 2200 900 5 10 0 0 0 0 1 device=4073 T 2200 1100 5 10 0 0 0 0 1 footprint=DIP14 T 2200 1300 5 10 0 0 0 0 1 numslots=3 T 2200 1500 5 10 0 0 0 0 1 slotdef=1:3,4,5,6 T 2200 1700 5 10 0 0 0 0 1 slotdef=2:1,2,8,9 T 2200 1900 5 10 0 0 0 0 1 slotdef=3:13,12,11,10 T 2200 2100 5 10 0 0 0 0 1 slot=1 T 2200 2300 5 10 0 0 0 0 1 description=3 AND gate with 3 inputs T 2200 2500 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4073B_CNV_3.pdf T 400 0 9 8 1 0 0 0 1 4073 L 300 200 300 800 3 0 0 0 -1 -1 L 300 800 700 800 3 0 0 0 -1 -1 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 L 300 200 300 0 3 0 0 0 -1 -1 L 300 1000 300 800 3 0 0 0 -1 -1 T 400 900 8 10 1 1 0 0 1 refdes=U? T 2200 2700 5 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/4000/4016-2.sym0000664000175000017500000000215012204104272013426 00000000000000v 20041228 1 T 300 1050 5 10 0 0 0 0 1 device=4016 T 1300 900 8 10 1 1 0 6 1 refdes=U? T 300 1250 5 10 0 0 0 0 1 footprint=DIP14 T 300 1450 5 10 0 0 0 0 1 description=4 bilateral switches T 300 2050 5 10 0 0 0 0 1 numslots=4 T 300 1650 5 10 0 0 0 0 1 net=VDD:14 T 300 1850 5 10 0 0 0 0 1 net=VSS:7 T 300 850 9 8 1 0 0 0 1 4016 P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=1 T 200 550 5 8 0 1 0 8 1 pinseq=1 T 350 600 9 8 1 1 0 0 1 pinlabel=Y T 350 600 5 8 0 1 0 2 1 pintype=pas } P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=13 T 200 150 5 8 0 1 0 8 1 pinseq=3 T 350 200 9 8 1 1 0 0 1 pinlabel=EN T 350 200 5 8 0 1 0 2 1 pintype=in } P 1300 600 1600 600 1 0 1 { T 1400 650 5 8 1 1 0 0 1 pinnumber=2 T 1400 550 5 8 0 1 0 2 1 pinseq=2 T 1250 600 9 8 1 1 0 6 1 pinlabel=Z T 1250 600 5 8 0 1 0 8 1 pintype=pas } B 300 0 1000 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 2250 5 10 0 0 0 0 1 slot=1 T 300 2450 5 10 0 0 0 0 1 slotdef=1:1,2,13 T 300 2650 5 10 0 0 0 0 1 slotdef=2:4,3,5 T 300 2850 5 10 0 0 0 0 1 slotdef=3:8,9,6 T 300 3050 5 10 0 0 0 0 1 slotdef=4:11,10,12 T 300 3250 5 10 0 0 0 0 1 symversion=0.1 geda-gaf-1.8.2/symbols/4000/4041-1.sym0000664000175000017500000000277512204104272013440 00000000000000v 20031231 1 P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=3 T 200 1050 5 8 0 1 0 8 1 pinseq=1 T 350 1100 5 8 0 1 0 2 1 pintype=in T 350 1100 9 8 0 1 0 0 1 pinlabel=A } L 400 1000 400 200 3 0 0 0 -1 -1 L 400 200 1200 600 3 0 0 0 -1 -1 L 400 1000 1200 600 3 0 0 0 -1 -1 L 400 2000 400 1200 3 0 0 0 -1 -1 L 400 1200 1200 1600 3 0 0 0 -1 -1 L 400 2000 1200 1600 3 0 0 0 -1 -1 V 1250 1600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 1600 1500 1600 1 0 1 { T 1300 1650 5 8 1 1 0 0 1 pinnumber=2 T 1300 1550 5 8 0 1 0 2 1 pinseq=2 T 1150 1600 5 8 0 1 0 8 1 pintype=out T 1150 1600 9 8 0 1 0 6 1 pinlabel=/Q } L 400 1600 300 1600 3 0 0 0 -1 -1 L 300 1600 300 600 3 0 0 0 -1 -1 L 300 600 400 600 3 0 0 0 -1 -1 P 1200 600 1500 600 1 0 1 { T 1300 650 5 8 1 1 0 0 1 pinnumber=1 T 1300 550 5 8 0 1 0 2 1 pinseq=3 T 1150 600 5 8 0 1 0 8 1 pintype=out T 1150 600 9 8 0 1 0 6 1 pinlabel=Q } T 400 2100 8 10 1 1 0 0 1 refdes=U? T 1800 100 5 10 0 0 0 0 1 net=VDD:14 T 1800 300 5 10 0 0 0 0 1 net=VSS:7 T 1800 500 5 10 0 0 0 0 1 device=4041 T 1800 700 5 10 0 0 0 0 1 slot=1 T 1800 900 5 10 0 0 0 0 1 numslots=4 T 1800 1100 5 10 0 0 0 0 1 slotdef=1:3,2,1 T 1800 1300 5 10 0 0 0 0 1 slotdef=2:6,5,4 T 1800 1500 5 10 0 0 0 0 1 slotdef=3:10,9,8 T 1800 1700 5 10 0 0 0 0 1 slotdef=4:13,12,11 T 1800 1900 5 10 0 0 0 0 1 footprint=DIP14 T 1800 2100 5 10 0 0 0 0 1 description=4 true/complement buffer T 1800 2300 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4041B_CNV_3.pdf T 400 0 9 10 1 0 0 0 1 4041 geda-gaf-1.8.2/symbols/4000/4050-1.sym0000664000175000017500000000217412204104272013431 00000000000000v 20031231 1 P 0 500 300 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=3 T 200 450 5 8 0 1 0 8 1 pinseq=1 T 350 500 5 8 0 1 0 2 1 pintype=in T 350 500 9 8 0 1 0 0 1 pinlabel=A } L 300 800 300 200 3 0 0 0 -1 -1 L 300 800 900 500 3 0 0 0 -1 -1 L 900 500 300 200 3 0 0 0 -1 -1 P 900 500 1200 500 1 0 1 { T 1000 550 5 8 1 1 0 0 1 pinnumber=2 T 1000 450 5 8 0 1 0 2 1 pinseq=2 T 850 500 5 8 0 1 0 8 1 pintype=out T 850 500 9 8 0 1 0 6 1 pinlabel=Y } T 1700 2700 5 10 0 0 0 0 1 slot=1 T 1700 2100 5 10 0 0 0 0 1 net=VDD:1 T 1700 100 5 10 0 0 0 0 1 net=VSS:8 T 1700 300 5 10 0 0 0 0 1 device=4050 T 1700 500 5 10 0 0 0 0 1 footprint=DIP16 T 1700 700 5 10 0 0 0 0 1 numslots=6 T 1700 900 5 10 0 0 0 0 1 slotdef=1:3,2 T 1700 1100 5 10 0 0 0 0 1 slotdef=2:5,4 T 1700 1300 5 10 0 0 0 0 1 slotdef=3:7,6 T 1700 1500 5 10 0 0 0 0 1 slotdef=4:9,10 T 1700 1700 5 10 0 0 0 0 1 slotdef=5:11,12 T 1700 1900 5 10 0 0 0 0 1 slotdef=6:14,15 T 300 900 8 10 1 1 0 0 1 refdes=U? T 1700 2300 5 10 0 0 0 0 1 description=6 buffers T 1700 2500 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4050B_CNV_3.pdf T 300 0 9 10 1 0 0 0 1 4050 geda-gaf-1.8.2/symbols/4000/4513-1.sym0000664000175000017500000000622612204104272013437 00000000000000v 20070626 1 T 1700 3500 8 10 1 1 0 6 1 refdes=U? T 300 3650 5 10 0 0 0 0 1 device=4513 T 300 3850 5 10 0 0 0 0 1 footprint=none T 300 4050 5 10 0 0 0 0 1 net=VSS:9 T 300 4250 5 10 0 0 0 0 1 net=VDD:18 P 0 700 200 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=3 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 1 1 0 0 1 pinlabel=\_LT\_ T 350 700 5 8 0 1 0 2 1 pintype=in } V 250 700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1100 200 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=4 T 200 1050 5 8 0 1 0 8 1 pinseq=2 T 350 1100 9 8 1 1 0 0 1 pinlabel=\_BI\_ T 350 1100 5 8 0 1 0 2 1 pintype=in } V 250 1100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 300 300 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=8 T 200 250 5 8 0 1 0 8 1 pinseq=3 T 350 300 9 8 1 1 0 0 1 pinlabel=RBI T 350 300 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=5 T 200 1450 5 8 0 1 0 8 1 pinseq=4 T 350 1500 9 8 1 1 0 0 1 pinlabel=LE T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=6 T 200 1850 5 8 0 1 0 8 1 pinseq=5 T 350 1900 9 8 1 1 0 0 1 pinlabel=D T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=2 T 200 2250 5 8 0 1 0 8 1 pinseq=6 T 350 2300 9 8 1 1 0 0 1 pinlabel=C T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=1 T 200 2650 5 8 0 1 0 8 1 pinseq=7 T 350 2700 9 8 1 1 0 0 1 pinlabel=B T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=7 T 200 3050 5 8 0 1 0 8 1 pinseq=8 T 350 3100 9 8 1 1 0 0 1 pinlabel=A T 350 3100 5 8 0 1 0 2 1 pintype=in } P 2000 700 1700 700 1 0 0 { T 1800 750 5 8 1 1 0 0 1 pinnumber=16 T 1800 650 5 8 0 1 0 2 1 pinseq=9 T 1650 700 9 8 1 1 0 6 1 pinlabel=g T 1650 700 5 8 0 1 0 8 1 pintype=out } P 2000 1100 1700 1100 1 0 0 { T 1800 1150 5 8 1 1 0 0 1 pinnumber=17 T 1800 1050 5 8 0 1 0 2 1 pinseq=10 T 1650 1100 9 8 1 1 0 6 1 pinlabel=f T 1650 1100 5 8 0 1 0 8 1 pintype=out } P 2000 1500 1700 1500 1 0 0 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=11 T 1800 1450 5 8 0 1 0 2 1 pinseq=11 T 1650 1500 9 8 1 1 0 6 1 pinlabel=e T 1650 1500 5 8 0 1 0 8 1 pintype=out } P 2000 1900 1700 1900 1 0 0 { T 1800 1950 5 8 1 1 0 0 1 pinnumber=12 T 1800 1850 5 8 0 1 0 2 1 pinseq=12 T 1650 1900 9 8 1 1 0 6 1 pinlabel=d T 1650 1900 5 8 0 1 0 8 1 pintype=out } P 2000 2300 1700 2300 1 0 0 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=13 T 1800 2250 5 8 0 1 0 2 1 pinseq=13 T 1650 2300 9 8 1 1 0 6 1 pinlabel=c T 1650 2300 5 8 0 1 0 8 1 pintype=out } P 2000 2700 1700 2700 1 0 0 { T 1800 2750 5 8 1 1 0 0 1 pinnumber=14 T 1800 2650 5 8 0 1 0 2 1 pinseq=14 T 1650 2700 9 8 1 1 0 6 1 pinlabel=b T 1650 2700 5 8 0 1 0 8 1 pintype=out } P 2000 3100 1700 3100 1 0 0 { T 1800 3150 5 8 1 1 0 0 1 pinnumber=15 T 1800 3050 5 8 0 1 0 2 1 pinseq=15 T 1650 3100 9 8 1 1 0 6 1 pinlabel=a T 1650 3100 5 8 0 1 0 8 1 pintype=out } P 2000 300 1700 300 1 0 0 { T 1800 350 5 8 1 1 0 0 1 pinnumber=10 T 1800 250 5 8 0 1 0 2 1 pinseq=16 T 1650 300 9 8 1 1 0 6 1 pinlabel=RBO T 1650 300 5 8 0 1 0 8 1 pintype=out } B 300 0 1400 3400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4450 5 10 0 0 0 0 1 numslots=0 T 300 3450 9 10 1 0 0 0 1 4513 geda-gaf-1.8.2/symbols/4000/4086-1.sym0000664000175000017500000000742612204104272013447 00000000000000v 20031231 1 A 3475 2250 750 13 77 3 0 0 0 -1 -1 P 4500 2400 4300 2400 1 0 0 { T 4300 2450 5 8 1 1 0 0 1 pinnumber=3 T 4300 2350 5 8 0 1 0 2 1 pinseq=11 T 4150 2400 5 8 0 1 0 8 1 pintype=out T 4150 2400 9 8 0 1 0 6 1 pinlabel=Y } A 2000 2400 700 301 59 3 0 0 0 -1 -1 T 2400 3600 5 10 0 0 0 0 1 net=VDD:14 T 2400 3800 5 10 0 0 0 0 1 net=VSS:7 T 400 4800 8 10 1 1 0 0 1 refdes=U? A 2000 2400 700 0 59 3 0 0 0 -1 -1 L 3500 3000 2360 3000 3 0 0 0 -1 -1 L 3500 1800 2360 1800 3 0 0 0 -1 -1 T 2400 3200 5 10 0 0 0 0 1 device=4086 P 0 3400 300 3400 1 0 0 { T 200 3450 5 8 1 1 0 6 1 pinnumber=9 T 200 3350 5 8 0 1 0 8 1 pinseq=8 T 350 3400 5 8 0 1 0 2 1 pintype=in T 350 3400 9 8 0 1 0 0 1 pinlabel=F } P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=8 T 200 2950 5 8 0 1 0 8 1 pinseq=7 T 350 3000 5 8 0 1 0 2 1 pintype=in T 350 3000 9 8 0 1 0 0 1 pinlabel=E } L 300 2800 300 3600 3 0 0 0 -1 -1 L 300 3600 1100 3600 3 0 0 0 -1 -1 L 1100 2800 300 2800 3 0 0 0 -1 -1 A 1100 3200 400 270 180 3 0 0 0 -1 -1 P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=6 T 200 1750 5 8 0 1 0 8 1 pinseq=4 T 350 1800 5 8 0 1 0 2 1 pintype=in T 350 1800 9 8 0 1 0 0 1 pinlabel=D } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=5 T 200 1350 5 8 0 1 0 8 1 pinseq=3 T 350 1400 5 8 0 1 0 2 1 pintype=in T 350 1400 9 8 0 1 0 0 1 pinlabel=C } L 300 1200 300 2000 3 0 0 0 -1 -1 L 300 2000 1100 2000 3 0 0 0 -1 -1 L 1100 1200 300 1200 3 0 0 0 -1 -1 A 1100 1600 400 270 180 3 0 0 0 -1 -1 P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=11 T 200 2550 5 8 0 1 0 8 1 pinseq=6 T 350 2600 5 8 0 1 0 2 1 pintype=in T 350 2600 9 8 0 1 0 0 1 pinlabel=J } V 4250 2400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 4400 300 4400 1 0 0 { T 200 4450 5 8 1 1 0 6 1 pinnumber=13 T 200 4350 5 8 0 1 0 8 1 pinseq=10 T 350 4400 5 8 0 1 0 2 1 pintype=in T 350 4400 9 8 0 1 0 0 1 pinlabel=H } P 0 4000 300 4000 1 0 0 { T 200 4050 5 8 1 1 0 6 1 pinnumber=12 T 200 3950 5 8 0 1 0 8 1 pinseq=9 T 350 4000 5 8 0 1 0 2 1 pintype=in T 350 4000 9 8 0 1 0 0 1 pinlabel=G } L 300 3800 300 4600 3 0 0 0 -1 -1 L 300 4600 1100 4600 3 0 0 0 -1 -1 L 1100 3800 300 3800 3 0 0 0 -1 -1 A 1100 4200 400 270 180 3 0 0 0 -1 -1 P 0 800 300 800 1 0 0 { T 200 850 5 8 1 1 0 6 1 pinnumber=2 T 200 750 5 8 0 1 0 8 1 pinseq=2 T 350 800 5 8 0 1 0 2 1 pintype=in T 350 800 9 8 0 1 0 0 1 pinlabel=B } P 0 400 300 400 1 0 0 { T 200 450 5 8 1 1 0 6 1 pinnumber=1 T 200 350 5 8 0 1 0 8 1 pinseq=1 T 350 400 5 8 0 1 0 2 1 pintype=in T 350 400 9 8 0 1 0 0 1 pinlabel=A } L 300 200 300 1000 3 0 0 0 -1 -1 L 300 1000 1100 1000 3 0 0 0 -1 -1 L 1100 200 300 200 3 0 0 0 -1 -1 A 1100 600 400 270 180 3 0 0 0 -1 -1 P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=10 T 200 2150 5 8 0 1 0 8 1 pinseq=5 T 350 2200 5 8 0 1 0 2 1 pintype=in T 350 2200 9 8 0 1 0 0 1 pinlabel=I } L 250 2600 1350 2600 3 0 0 0 -1 -1 L 250 2200 1350 2200 3 0 0 0 -1 -1 L 1350 2600 1350 2500 3 0 0 0 -1 -1 L 1350 2500 2600 2500 3 0 0 0 -1 -1 L 1350 2200 1350 2300 3 0 0 0 -1 -1 L 1350 2300 2695 2300 3 0 0 0 -1 -1 L 1500 1600 1650 1600 3 0 0 0 -1 -1 L 1650 1600 1650 2100 3 0 0 0 -1 -1 L 1650 2100 2630 2100 3 0 0 0 -1 -1 L 1500 3200 1650 3200 3 0 0 0 -1 -1 L 1650 3200 1650 2700 3 0 0 0 -1 -1 L 1650 2700 2635 2700 3 0 0 0 -1 -1 L 1500 4200 1850 4200 3 0 0 0 -1 -1 L 1850 4200 1850 2900 3 0 0 0 -1 -1 L 1850 2900 2490 2900 3 0 0 0 -1 -1 L 1850 1900 2490 1900 3 0 0 0 -1 -1 L 1500 600 1850 600 3 0 0 0 -1 -1 L 1850 600 1850 1900 3 0 0 0 -1 -1 A 3475 2550 750 270 77 3 0 0 0 -1 -1 V 2650 2500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2400 3400 5 10 0 0 0 0 1 footprint=DIP14 T 2400 4200 5 10 0 0 0 0 1 description=4-wide 2-input AND/OR invert gate T 2400 4000 5 10 0 0 0 0 1 numslots=0 T 2400 4400 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4086B_CNV_3.pdf T 300 0 9 10 1 0 0 0 1 4086 geda-gaf-1.8.2/symbols/4000/4033-1.sym0000664000175000017500000000623212204104272013431 00000000000000v 20031231 1 T 500 4400 8 10 1 1 0 6 1 refdes=U? T 2000 950 5 10 0 0 0 0 1 device=4033 T 2000 1150 5 10 0 0 0 0 1 footprint=DIP16 T 2000 1350 5 10 0 0 0 0 1 net=VSS:8 T 2000 1550 5 10 0 0 0 0 1 net=VDD:16 P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=15 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 1 1 0 0 1 pinlabel=Reset T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 200 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=3 T 200 1050 5 8 0 1 0 8 1 pinseq=2 T 350 1100 9 8 1 1 0 0 1 pinlabel=RBI T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=14 T 200 1450 5 8 0 1 0 8 1 pinseq=3 T 350 1500 9 8 1 1 0 0 1 pinlabel=LT T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=2 T 200 1850 5 8 0 1 0 8 1 pinseq=4 T 350 1900 9 8 1 1 0 0 1 pinlabel=Inhibit T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=1 T 200 2250 5 8 0 1 0 8 1 pinseq=5 T 400 2300 9 8 1 1 0 0 1 pinlabel=CLK T 400 2300 5 8 0 1 0 2 1 pintype=clk } L 400 2300 300 2375 3 0 0 0 -1 -1 L 400 2300 300 2225 3 0 0 0 -1 -1 P 1600 1100 1400 1100 1 0 0 { T 1400 1150 5 8 1 1 0 0 1 pinnumber=4 T 1400 1050 5 8 0 1 0 2 1 pinseq=6 T 1250 1100 9 8 1 1 0 6 1 pinlabel=RBO T 1250 1100 5 8 0 1 0 8 1 pintype=out } P 1600 1500 1300 1500 1 0 0 { T 1400 1550 5 8 1 1 0 0 1 pinnumber=7 T 1400 1450 5 8 0 1 0 2 1 pinseq=7 T 1250 1500 9 8 1 1 0 6 1 pinlabel=G T 1250 1500 5 8 0 1 0 8 1 pintype=out } P 1600 1900 1300 1900 1 0 0 { T 1400 1950 5 8 1 1 0 0 1 pinnumber=6 T 1400 1850 5 8 0 1 0 2 1 pinseq=8 T 1250 1900 9 8 1 1 0 6 1 pinlabel=F T 1250 1900 5 8 0 1 0 8 1 pintype=out } P 1600 2300 1300 2300 1 0 0 { T 1400 2350 5 8 1 1 0 0 1 pinnumber=11 T 1400 2250 5 8 0 1 0 2 1 pinseq=9 T 1250 2300 9 8 1 1 0 6 1 pinlabel=E T 1250 2300 5 8 0 1 0 8 1 pintype=out } P 1600 2700 1300 2700 1 0 0 { T 1400 2750 5 8 1 1 0 0 1 pinnumber=9 T 1400 2650 5 8 0 1 0 2 1 pinseq=10 T 1250 2700 9 8 1 1 0 6 1 pinlabel=D T 1250 2700 5 8 0 1 0 8 1 pintype=out } P 1600 700 1400 700 1 0 0 { T 1400 750 5 8 1 1 0 0 1 pinnumber=5 T 1400 650 5 8 0 1 0 2 1 pinseq=11 T 1250 700 9 8 1 1 0 6 1 pinlabel=Carry T 1250 700 5 8 0 1 0 8 1 pintype=out } P 1600 3100 1300 3100 1 0 0 { T 1400 3150 5 8 1 1 0 0 1 pinnumber=13 T 1400 3050 5 8 0 1 0 2 1 pinseq=12 T 1250 3100 9 8 1 1 0 6 1 pinlabel=C T 1250 3100 5 8 0 1 0 8 1 pintype=out } P 1600 3500 1300 3500 1 0 0 { T 1400 3550 5 8 1 1 0 0 1 pinnumber=12 T 1400 3450 5 8 0 1 0 2 1 pinseq=13 T 1250 3500 9 8 1 1 0 6 1 pinlabel=B T 1250 3500 5 8 0 1 0 8 1 pintype=out } P 1600 3900 1300 3900 1 0 0 { T 1400 3950 5 8 1 1 0 0 1 pinnumber=10 T 1400 3850 5 8 0 1 0 2 1 pinseq=14 T 1250 3900 9 8 1 1 0 6 1 pinlabel=A T 1250 3900 5 8 0 1 0 8 1 pintype=out } B 300 300 1000 4000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2000 750 5 10 0 0 0 0 1 description=decade counter with decoded 7-segment outputs T 2000 1750 5 10 0 0 0 0 1 numslots=0 T 2000 550 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/2N4031_4033_CNV_2.pdf T 300 50 9 10 1 0 0 0 1 4033 V 250 1100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1350 700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1350 1100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/4000/4016-1.sym0000664000175000017500000000471012204104272013431 00000000000000v 20031231 1 P 0 1700 300 1700 1 0 0 { T 200 1750 5 8 1 1 0 6 1 pinnumber=4 T 200 1650 5 8 0 1 0 8 1 pinseq=4 T 350 1700 9 8 1 1 0 0 1 pinlabel=I/O B T 350 1700 5 8 0 1 0 2 1 pintype=pas } P 0 1300 300 1300 1 0 0 { T 200 1350 5 8 1 1 0 6 1 pinnumber=8 T 200 1250 5 8 0 1 0 8 1 pinseq=8 T 350 1300 9 8 1 1 0 0 1 pinlabel=I/O C T 350 1300 5 8 0 1 0 2 1 pintype=pas } P 0 900 300 900 1 0 0 { T 200 950 5 8 1 1 0 6 1 pinnumber=11 T 200 850 5 8 0 1 0 8 1 pinseq=11 T 350 900 9 8 1 1 0 0 1 pinlabel=I/O D T 350 900 5 8 0 1 0 2 1 pintype=pas } P 0 2100 300 2100 1 0 0 { T 200 2150 5 8 1 1 0 6 1 pinnumber=1 T 200 2050 5 8 0 1 0 8 1 pinseq=1 T 350 2100 9 8 1 1 0 0 1 pinlabel=I/O A T 350 2100 5 8 0 1 0 2 1 pintype=pas } P 0 500 300 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=13 T 200 450 5 8 0 1 0 8 1 pinseq=13 T 350 500 9 8 1 1 0 0 1 pinlabel=CTL A T 350 500 5 8 0 1 0 2 1 pintype=in } P 0 100 300 100 1 0 0 { T 200 150 5 8 1 1 0 6 1 pinnumber=5 T 200 50 5 8 0 1 0 8 1 pinseq=5 T 350 100 9 8 1 1 0 0 1 pinlabel=CTL B T 350 100 5 8 0 1 0 2 1 pintype=in } P 1800 1700 2100 1700 1 0 1 { T 1900 1750 5 8 1 1 0 0 1 pinnumber=3 T 1900 1650 5 8 0 1 0 2 1 pinseq=3 T 1750 1700 9 8 1 1 0 6 1 pinlabel=O/I B T 1750 1700 5 8 0 1 0 8 1 pintype=pas } P 1800 1300 2100 1300 1 0 1 { T 1900 1350 5 8 1 1 0 0 1 pinnumber=9 T 1900 1250 5 8 0 1 0 2 1 pinseq=9 T 1750 1300 9 8 1 1 0 6 1 pinlabel=O/I C T 1750 1300 5 8 0 1 0 8 1 pintype=pas } P 1800 900 2100 900 1 0 1 { T 1900 950 5 8 1 1 0 0 1 pinnumber=10 T 1900 850 5 8 0 1 0 2 1 pinseq=10 T 1750 900 9 8 1 1 0 6 1 pinlabel=O/I D T 1750 900 5 8 0 1 0 8 1 pintype=pas } P 1800 500 2100 500 1 0 1 { T 1900 550 5 8 1 1 0 0 1 pinnumber=6 T 1900 450 5 8 0 1 0 2 1 pinseq=6 T 1750 500 9 8 1 1 0 6 1 pinlabel=CTL C T 1750 500 5 8 0 1 0 8 1 pintype=in } P 1800 100 2100 100 1 0 1 { T 1900 150 5 8 1 1 0 0 1 pinnumber=12 T 1900 50 5 8 0 1 0 2 1 pinseq=12 T 1750 100 9 8 1 1 0 6 1 pinlabel=CTL D T 1750 100 5 8 0 1 0 8 1 pintype=in } B 300 0 1500 2300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 2550 5 10 0 0 0 0 1 device=4016 P 1800 2100 2100 2100 1 0 1 { T 1900 2150 5 8 1 1 0 0 1 pinnumber=2 T 1900 2050 5 8 0 1 0 2 1 pinseq=2 T 1750 2100 9 8 1 1 0 6 1 pinlabel=O/I A T 1750 2100 5 8 0 1 0 8 1 pintype=pas } T 1800 2400 8 10 1 1 0 6 1 refdes=U? T 300 2750 5 10 0 0 0 0 1 footprint=DIP14 T 300 2950 5 10 0 0 0 0 1 description=4 bilateral switches T 300 3550 5 10 0 0 0 0 1 numslots=0 T 300 3150 5 10 0 0 0 0 1 net=VDD:14 T 300 3350 5 10 0 0 0 0 1 net=VSS:7 T 300 2350 9 8 1 0 0 0 1 4016 geda-gaf-1.8.2/symbols/4000/4538-1.sym0000664000175000017500000000400112204104272013433 00000000000000v 20070626 1 B 300 0 1000 2200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 2455 5 10 0 0 0 0 1 device=4538 T 300 2650 5 10 0 0 0 0 1 slot=1 T 300 2850 5 10 0 0 0 0 1 numslots=2 T 300 3050 5 10 0 0 0 0 1 slotdef=1:1,2,3,4,5,6,7 T 300 3250 5 10 0 0 0 0 1 slotdef=2:15,14,13,12,11,10,9 P 300 300 0 300 1 0 1 { T 200 350 5 8 1 1 0 6 1 pinnumber=2 T 200 250 5 8 0 1 0 8 1 pinseq=2 T 350 300 9 8 1 1 0 0 1 pinlabel=RC T 350 300 5 8 0 1 0 2 1 pintype=pas } P 300 1500 0 1500 1 0 1 { T 200 1550 5 8 1 1 0 6 1 pinnumber=4 T 200 1450 5 8 0 1 0 8 1 pinseq=4 T 350 1500 9 8 1 1 0 0 1 pinlabel=I1 T 350 1500 5 8 0 1 0 2 1 pintype=in } V 250 1900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 1900 0 1900 1 0 1 { T 200 1950 5 8 1 1 0 6 1 pinnumber=5 T 200 1850 5 8 0 1 0 8 1 pinseq=5 T 350 1900 9 8 1 1 0 0 1 pinlabel=\_I0\_ T 350 1900 5 8 0 1 0 2 1 pintype=in } V 250 1100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 1100 0 1100 1 0 1 { T 200 1150 5 8 1 1 0 6 1 pinnumber=3 T 200 1050 5 8 0 1 0 8 1 pinseq=3 T 350 1100 9 8 1 1 0 0 1 pinlabel=\_CLR\_ T 350 1100 5 8 0 1 0 2 1 pintype=in } P 1300 1900 1600 1900 1 0 1 { T 1400 1950 5 8 1 1 0 0 1 pinnumber=6 T 1400 1850 5 8 0 1 0 2 1 pinseq=6 T 1250 1900 9 8 1 1 0 6 1 pinlabel=Q T 1250 1900 5 8 0 1 0 8 1 pintype=out } V 1350 1500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1400 1500 1600 1500 1 0 1 { T 1400 1550 5 8 1 1 0 0 1 pinnumber=7 T 1400 1450 5 8 0 1 0 2 1 pinseq=7 T 1250 1500 9 8 1 1 0 6 1 pinlabel=\_Q\_ T 1250 1500 5 8 0 1 0 8 1 pintype=out } T 1300 2300 8 10 1 1 0 6 1 refdes=U? T 300 3450 5 10 0 0 0 0 1 footprint=DIP16 T 300 3650 5 10 0 0 0 0 1 description=2 precision monostable multivibrators T 300 3850 5 10 0 0 0 0 1 net=VDD:16 T 300 4050 5 10 0 0 0 0 1 net=VSS:8 T 300 4250 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4538B_CNV_3.pdf T 300 2250 9 8 1 0 0 0 1 4538 P 300 700 0 700 1 0 1 { T 200 750 5 8 1 1 0 6 1 pinnumber=1 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 1 1 0 0 1 pinlabel=C T 350 700 5 8 0 1 0 2 1 pintype=pas } T 300 4455 5 10 0 0 0 0 1 symversion=0.1 geda-gaf-1.8.2/symbols/4000/40373-1.sym0000664000175000017500000000723612204104272013525 00000000000000v 20070626 1 T 600 4000 8 10 1 1 0 6 1 refdes=U? T 2100 950 5 10 0 0 0 0 1 device=40373 T 2100 1150 5 10 0 0 0 0 1 footprint=DIP20 T 2100 1350 5 10 0 0 0 0 1 net=VSS:20 T 2100 1550 5 10 0 0 0 0 1 net=VDD:10 P 1100 0 1100 200 1 0 0 { T 1150 100 5 8 1 1 0 0 1 pinnumber=1 T 1150 100 5 8 0 1 0 2 1 pinseq=1 T 1100 350 9 8 1 1 0 3 1 pinlabel=\_OE\_ T 1100 500 5 8 0 1 0 3 1 pintype=in } V 1100 250 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 700 0 700 300 1 0 0 { T 750 100 5 8 1 1 0 0 1 pinnumber=11 T 750 100 5 8 0 1 0 2 1 pinseq=2 T 700 350 9 8 1 1 0 3 1 pinlabel=E T 700 500 5 8 0 1 0 3 1 pintype=in } P 100 700 400 700 1 0 0 { T 300 750 5 8 1 1 0 6 1 pinnumber=18 T 300 650 5 8 0 1 0 8 1 pinseq=3 T 450 700 9 8 1 1 0 0 1 pinlabel=D7 T 450 700 5 8 0 1 0 2 1 pintype=in } P 100 1100 400 1100 1 0 0 { T 300 1150 5 8 1 1 0 6 1 pinnumber=17 T 300 1050 5 8 0 1 0 8 1 pinseq=4 T 450 1100 9 8 1 1 0 0 1 pinlabel=D6 T 450 1100 5 8 0 1 0 2 1 pintype=in } P 100 1500 400 1500 1 0 0 { T 300 1550 5 8 1 1 0 6 1 pinnumber=14 T 300 1450 5 8 0 1 0 8 1 pinseq=5 T 450 1500 9 8 1 1 0 0 1 pinlabel=D5 T 450 1500 5 8 0 1 0 2 1 pintype=in } P 100 1900 400 1900 1 0 0 { T 300 1950 5 8 1 1 0 6 1 pinnumber=13 T 300 1850 5 8 0 1 0 8 1 pinseq=6 T 450 1900 9 8 1 1 0 0 1 pinlabel=D4 T 450 1900 5 8 0 1 0 2 1 pintype=in } P 100 2300 400 2300 1 0 0 { T 300 2350 5 8 1 1 0 6 1 pinnumber=8 T 300 2250 5 8 0 1 0 8 1 pinseq=7 T 450 2300 9 8 1 1 0 0 1 pinlabel=D3 T 450 2300 5 8 0 1 0 2 1 pintype=in } P 100 2700 400 2700 1 0 0 { T 300 2750 5 8 1 1 0 6 1 pinnumber=7 T 300 2650 5 8 0 1 0 8 1 pinseq=8 T 450 2700 9 8 1 1 0 0 1 pinlabel=D2 T 450 2700 5 8 0 1 0 2 1 pintype=in } P 100 3100 400 3100 1 0 0 { T 300 3150 5 8 1 1 0 6 1 pinnumber=4 T 300 3050 5 8 0 1 0 8 1 pinseq=9 T 450 3100 9 8 1 1 0 0 1 pinlabel=D1 T 450 3100 5 8 0 1 0 2 1 pintype=in } P 100 3500 400 3500 1 0 0 { T 300 3550 5 8 1 1 0 6 1 pinnumber=3 T 300 3450 5 8 0 1 0 8 1 pinseq=10 T 450 3500 9 8 1 1 0 0 1 pinlabel=D0 T 450 3500 5 8 0 1 0 2 1 pintype=in } P 1700 700 1400 700 1 0 0 { T 1500 750 5 8 1 1 0 0 1 pinnumber=19 T 1500 650 5 8 0 1 0 2 1 pinseq=11 T 1350 700 9 8 1 1 0 6 1 pinlabel=Q7 T 1350 700 5 8 0 1 0 8 1 pintype=tri } P 1700 1100 1400 1100 1 0 0 { T 1500 1150 5 8 1 1 0 0 1 pinnumber=16 T 1500 1050 5 8 0 1 0 2 1 pinseq=12 T 1350 1100 9 8 1 1 0 6 1 pinlabel=Q6 T 1350 1100 5 8 0 1 0 8 1 pintype=tri } P 1700 1500 1400 1500 1 0 0 { T 1500 1550 5 8 1 1 0 0 1 pinnumber=15 T 1500 1450 5 8 0 1 0 2 1 pinseq=13 T 1350 1500 9 8 1 1 0 6 1 pinlabel=Q5 T 1350 1500 5 8 0 1 0 8 1 pintype=tri } P 1700 1900 1400 1900 1 0 0 { T 1500 1950 5 8 1 1 0 0 1 pinnumber=12 T 1500 1850 5 8 0 1 0 2 1 pinseq=14 T 1350 1900 9 8 1 1 0 6 1 pinlabel=Q4 T 1350 1900 5 8 0 1 0 8 1 pintype=tri } P 1700 2300 1400 2300 1 0 0 { T 1500 2350 5 8 1 1 0 0 1 pinnumber=9 T 1500 2250 5 8 0 1 0 2 1 pinseq=15 T 1350 2300 9 8 1 1 0 6 1 pinlabel=Q3 T 1350 2300 5 8 0 1 0 8 1 pintype=tri } P 1700 2700 1400 2700 1 0 0 { T 1500 2750 5 8 1 1 0 0 1 pinnumber=6 T 1500 2650 5 8 0 1 0 2 1 pinseq=16 T 1350 2700 9 8 1 1 0 6 1 pinlabel=Q2 T 1350 2700 5 8 0 1 0 8 1 pintype=tri } P 1700 3100 1400 3100 1 0 0 { T 1500 3150 5 8 1 1 0 0 1 pinnumber=5 T 1500 3050 5 8 0 1 0 2 1 pinseq=17 T 1350 3100 9 8 1 1 0 6 1 pinlabel=Q1 T 1350 3100 5 8 0 1 0 8 1 pintype=tri } P 1700 3500 1400 3500 1 0 0 { T 1500 3550 5 8 1 1 0 0 1 pinnumber=2 T 1500 3450 5 8 0 1 0 2 1 pinseq=18 T 1350 3500 9 8 1 1 0 6 1 pinlabel=Q0 T 1350 3500 5 8 0 1 0 8 1 pintype=tri } B 400 300 1000 3600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2100 750 5 10 0 0 0 0 1 description=octal D-type transparent latch T 2100 1750 5 10 0 0 0 0 1 numslots=0 T 2100 550 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF40373B_CNV_3.pdf T 0 50 9 10 1 0 0 0 1 40373 geda-gaf-1.8.2/symbols/4000/4536-1.sym0000664000175000017500000000557412204104272013451 00000000000000v 20070626 1 T 200 4000 8 10 1 1 0 6 1 refdes=U? T 2400 950 5 10 0 0 0 0 1 device=4536 T 2400 1150 5 10 0 0 0 0 1 footprint=DIP16 T 2400 1350 5 10 0 0 0 0 1 net=VSS:8 T 2400 1550 5 10 0 0 0 0 1 net=VDD:16 P 1000 0 1000 200 1 0 0 { T 1050 100 5 8 1 1 0 0 1 pinnumber=14 T 1050 100 5 8 0 1 0 2 1 pinseq=1 T 1000 350 9 8 1 1 0 3 1 pinlabel=\_OSCEN\_ T 1000 500 5 8 0 1 0 3 1 pintype=in } V 1000 250 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=1 T 200 650 5 8 0 1 0 8 1 pinseq=2 T 350 700 9 8 1 1 0 0 1 pinlabel=S T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=2 T 200 1050 5 8 0 1 0 8 1 pinseq=3 T 350 1100 9 8 1 1 0 0 1 pinlabel=R T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=15 T 200 3450 5 8 0 1 0 8 1 pinseq=4 T 350 3500 9 8 1 1 0 0 1 pinlabel=MONO T 350 3500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=12 T 200 1850 5 8 0 1 0 8 1 pinseq=5 T 350 1900 9 8 1 1 0 0 1 pinlabel=D T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=11 T 200 2250 5 8 0 1 0 8 1 pinseq=6 T 350 2300 9 8 1 1 0 0 1 pinlabel=C T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=6 T 200 1450 5 8 0 1 0 8 1 pinseq=7 T 350 1500 9 8 1 1 0 0 1 pinlabel=BYPASS T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=10 T 200 2650 5 8 0 1 0 8 1 pinseq=8 T 350 2700 9 8 1 1 0 0 1 pinlabel=B T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=9 T 200 3050 5 8 0 1 0 8 1 pinseq=9 T 350 3100 9 8 1 1 0 0 1 pinlabel=A T 350 3100 5 8 0 1 0 2 1 pintype=in } P 2000 3100 1700 3100 1 0 0 { T 1800 3150 5 8 1 1 0 0 1 pinnumber=5 T 1800 3050 5 8 0 1 0 2 1 pinseq=10 T 1650 3100 9 8 1 1 0 6 1 pinlabel=OUT2 T 1650 3100 5 8 0 1 0 8 1 pintype=out } P 2000 3500 1700 3500 1 0 0 { T 1800 3550 5 8 1 1 0 0 1 pinnumber=4 T 1800 3450 5 8 0 1 0 2 1 pinseq=11 T 1650 3500 9 8 1 1 0 6 1 pinlabel=OUT1 T 1650 3500 5 8 0 1 0 8 1 pintype=out } P 2000 2300 1700 2300 1 0 0 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=13 T 1800 2250 5 8 0 1 0 2 1 pinseq=12 T 1650 2300 9 8 1 1 0 6 1 pinlabel=DEC T 1650 2300 5 8 0 1 0 8 1 pintype=out } P 600 4200 600 4000 1 0 0 { T 650 4000 5 8 1 1 0 0 1 pinnumber=7 T 650 4000 5 8 0 1 0 2 1 pinseq=13 T 600 3850 9 8 1 1 0 5 1 pinlabel=\_CLKEN\_ T 600 3700 5 8 0 1 0 5 1 pintype=in } V 600 3950 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1400 4200 1400 3900 1 0 0 { T 1450 4000 5 8 1 1 0 0 1 pinnumber=3 T 1450 4000 5 8 0 1 0 2 1 pinseq=14 T 1400 3850 9 8 1 1 0 5 1 pinlabel=IN1 T 1400 3700 5 8 0 1 0 5 1 pintype=in } B 300 300 1400 3600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2400 750 5 10 0 0 0 0 1 description=programmable timer T 2400 1750 5 10 0 0 0 0 1 numslots=0 T 300 50 9 10 1 0 0 0 1 4536 geda-gaf-1.8.2/symbols/4000/4031-1.sym0000664000175000017500000000411612204104272013426 00000000000000v 20070626 1 T 300 2350 8 10 1 1 0 0 1 refdes=U? T 2300 950 5 10 0 0 0 0 1 device=4031 T 2300 1150 5 10 0 0 0 0 1 footprint=DIP16 T 2300 1350 5 10 0 0 0 0 1 net=VSS:8 T 2300 1550 5 10 0 0 0 0 1 net=VDD:16 P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=10 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 1 1 0 0 1 pinlabel=\_D1\_/D2 T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=1 T 200 1050 5 8 0 1 0 8 1 pinseq=2 T 350 1100 9 8 1 1 0 0 1 pinlabel=D2 T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=15 T 200 1450 5 8 0 1 0 8 1 pinseq=3 T 350 1500 9 8 1 1 0 0 1 pinlabel=D1 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=2 T 200 1850 5 8 0 1 0 8 1 pinseq=4 T 400 1900 9 8 1 1 0 0 1 pinlabel=CLK T 400 1900 5 8 0 1 0 2 1 pintype=clk } L 400 1900 300 1975 3 0 0 0 -1 -1 L 400 1900 300 1825 3 0 0 0 -1 -1 P 1900 700 1600 700 1 0 0 { T 1700 750 5 8 1 1 0 0 1 pinnumber=5 T 1700 650 5 8 0 1 0 2 1 pinseq=5 T 1550 700 9 8 1 1 0 6 1 pinlabel=Q63 1/2 T 1550 700 5 8 0 1 0 8 1 pintype=out } P 1900 1100 1600 1100 1 0 0 { T 1700 1150 5 8 1 1 0 0 1 pinnumber=6 T 1700 1050 5 8 0 1 0 2 1 pinseq=6 T 1550 1100 9 8 1 1 0 6 1 pinlabel=Q63 T 1550 1100 5 8 0 1 0 8 1 pintype=out } P 1900 1500 1700 1500 1 0 0 { T 1700 1550 5 8 1 1 0 0 1 pinnumber=7 T 1700 1450 5 8 0 1 0 2 1 pinseq=7 T 1550 1500 9 8 1 1 0 6 1 pinlabel=\_Q63\_ T 1550 1500 5 8 0 1 0 8 1 pintype=out } V 1650 1500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1900 1900 1600 1900 1 0 0 { T 1700 1950 5 8 1 1 0 0 1 pinnumber=9 T 1700 1850 5 8 0 1 0 2 1 pinseq=8 T 1550 1900 9 8 1 1 0 6 1 pinlabel=CLK OUT T 1550 1900 5 8 0 1 0 8 1 pintype=out } B 300 300 1300 2000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2300 750 5 10 0 0 0 0 1 description=64-stage static shift register T 2300 1750 5 10 0 0 0 0 1 numslots=0 T 300 100 9 10 1 0 0 0 1 4031 T 2300 550 5 10 0 0 0 0 1 comment=Pin 5 may not be connected on all devices T 2300 350 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4031B_CNV_3.pdf geda-gaf-1.8.2/symbols/4000/4038-2.sym0000664000175000017500000000550112204104272013435 00000000000000v 20031231 1 T 1700 4700 8 10 1 1 0 6 1 refdes=U? T 300 4850 5 10 0 0 0 0 1 device=4038 T 300 5050 5 10 0 0 0 0 1 footprint=DIP16 T 300 5450 5 10 0 0 0 0 1 net=VSS:8 T 300 5650 5 10 0 0 0 0 1 net=VDD:16 P 0 300 300 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=6 T 200 250 5 8 0 1 0 8 1 pinseq=1 T 350 300 9 8 1 1 0 0 1 pinlabel=CRST T 350 300 5 8 0 1 0 2 1 pintype=in } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=3 T 200 650 5 8 0 1 0 8 1 pinseq=2 T 400 700 9 8 1 1 0 0 1 pinlabel=CLK T 400 700 5 8 0 1 0 2 1 pintype=clk } L 400 700 300 775 3 0 0 0 -1 -1 L 400 700 300 625 3 0 0 0 -1 -1 P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=2 T 200 1050 5 8 0 1 0 8 1 pinseq=3 T 350 1100 9 8 1 1 0 0 1 pinlabel=INV3 T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=14 T 200 1450 5 8 0 1 0 8 1 pinseq=4 T 350 1500 9 8 1 1 0 0 1 pinlabel=B3 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=15 T 200 1850 5 8 0 1 0 8 1 pinseq=5 T 350 1900 9 8 1 1 0 0 1 pinlabel=A3 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=5 T 200 2250 5 8 0 1 0 8 1 pinseq=6 T 350 2300 9 8 1 1 0 0 1 pinlabel=INV2 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=12 T 200 2650 5 8 0 1 0 8 1 pinseq=7 T 350 2700 9 8 1 1 0 0 1 pinlabel=B2 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=13 T 200 3050 5 8 0 1 0 8 1 pinseq=8 T 350 3100 9 8 1 1 0 0 1 pinlabel=A2 T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=7 T 200 3450 5 8 0 1 0 8 1 pinseq=9 T 350 3500 9 8 1 1 0 0 1 pinlabel=INV1 T 350 3500 5 8 0 1 0 2 1 pintype=in } P 0 3900 300 3900 1 0 0 { T 200 3950 5 8 1 1 0 6 1 pinnumber=11 T 200 3850 5 8 0 1 0 8 1 pinseq=10 T 350 3900 9 8 1 1 0 0 1 pinlabel=B1 T 350 3900 5 8 0 1 0 2 1 pintype=in } P 0 4300 300 4300 1 0 0 { T 200 4350 5 8 1 1 0 6 1 pinnumber=10 T 200 4250 5 8 0 1 0 8 1 pinseq=11 T 350 4300 9 8 1 1 0 0 1 pinlabel=A1 T 350 4300 5 8 0 1 0 2 1 pintype=in } P 2000 1500 1700 1500 1 0 0 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=1 T 1800 1450 5 8 0 1 0 2 1 pinseq=12 T 1650 1500 9 8 1 1 0 6 1 pinlabel=S3 T 1650 1500 5 8 0 1 0 8 1 pintype=out } P 2000 2700 1700 2700 1 0 0 { T 1800 2750 5 8 1 1 0 0 1 pinnumber=4 T 1800 2650 5 8 0 1 0 2 1 pinseq=13 T 1650 2700 9 8 1 1 0 6 1 pinlabel=S2 T 1650 2700 5 8 0 1 0 8 1 pintype=out } P 2000 3900 1700 3900 1 0 0 { T 1800 3950 5 8 1 1 0 0 1 pinnumber=9 T 1800 3850 5 8 0 1 0 2 1 pinseq=14 T 1650 3900 9 8 1 1 0 6 1 pinlabel=S1 T 1650 3900 5 8 0 1 0 8 1 pintype=out } B 300 0 1400 4600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 5250 5 10 0 0 0 0 1 description=3 serial adder T 300 5850 5 10 0 0 0 0 1 numslots=0 T 300 4650 9 10 1 0 0 0 1 4038 geda-gaf-1.8.2/symbols/4000/4066-1.sym0000664000175000017500000000507412204104272013442 00000000000000v 20031231 1 P 0 1700 300 1700 1 0 0 { T 200 1750 5 8 1 1 0 6 1 pinnumber=4 T 200 1650 5 8 0 1 0 8 1 pinseq=4 T 350 1700 9 8 1 1 0 0 1 pinlabel=I/O B T 350 1700 5 8 0 1 0 2 1 pintype=pas } P 0 1300 300 1300 1 0 0 { T 200 1350 5 8 1 1 0 6 1 pinnumber=8 T 200 1250 5 8 0 1 0 8 1 pinseq=8 T 350 1300 9 8 1 1 0 0 1 pinlabel=I/O C T 350 1300 5 8 0 1 0 2 1 pintype=pas } P 0 900 300 900 1 0 0 { T 200 950 5 8 1 1 0 6 1 pinnumber=11 T 200 850 5 8 0 1 0 8 1 pinseq=11 T 350 900 9 8 1 1 0 0 1 pinlabel=I/O D T 350 900 5 8 0 1 0 2 1 pintype=pas } P 0 2100 300 2100 1 0 0 { T 200 2150 5 8 1 1 0 6 1 pinnumber=1 T 200 2050 5 8 0 1 0 8 1 pinseq=1 T 350 2100 9 8 1 1 0 0 1 pinlabel=I/O A T 350 2100 5 8 0 1 0 2 1 pintype=pas } P 0 500 300 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=13 T 200 450 5 8 0 1 0 8 1 pinseq=13 T 350 500 9 8 1 1 0 0 1 pinlabel=CTL A T 350 500 5 8 0 1 0 2 1 pintype=in } P 0 100 300 100 1 0 0 { T 200 150 5 8 1 1 0 6 1 pinnumber=5 T 200 50 5 8 0 1 0 8 1 pinseq=5 T 350 100 9 8 1 1 0 0 1 pinlabel=CTL B T 350 100 5 8 0 1 0 2 1 pintype=in } P 1800 2100 2100 2100 1 0 1 { T 1900 2150 5 8 1 1 0 0 1 pinnumber=2 T 1900 2050 5 8 0 1 0 2 1 pinseq=2 T 1750 2100 9 8 1 1 0 6 1 pinlabel=O/I A T 1750 2100 5 8 0 1 0 8 1 pintype=pas } P 1800 1700 2100 1700 1 0 1 { T 1900 1750 5 8 1 1 0 0 1 pinnumber=3 T 1900 1650 5 8 0 1 0 2 1 pinseq=3 T 1750 1700 9 8 1 1 0 6 1 pinlabel=O/I B T 1750 1700 5 8 0 1 0 8 1 pintype=pas } P 1800 1300 2100 1300 1 0 1 { T 1900 1350 5 8 1 1 0 0 1 pinnumber=9 T 1900 1250 5 8 0 1 0 2 1 pinseq=9 T 1750 1300 9 8 1 1 0 6 1 pinlabel=O/I C T 1750 1300 5 8 0 1 0 8 1 pintype=pas } P 1800 900 2100 900 1 0 1 { T 1900 950 5 8 1 1 0 0 1 pinnumber=10 T 1900 850 5 8 0 1 0 2 1 pinseq=10 T 1750 900 9 8 1 1 0 6 1 pinlabel=O/I D T 1750 900 5 8 0 1 0 8 1 pintype=pas } P 1800 500 2100 500 1 0 1 { T 1900 550 5 8 1 1 0 0 1 pinnumber=6 T 1900 450 5 8 0 1 0 2 1 pinseq=6 T 1750 500 9 8 1 1 0 6 1 pinlabel=CTL C T 1750 500 5 8 0 1 0 8 1 pintype=in } P 1800 100 2100 100 1 0 1 { T 1900 150 5 8 1 1 0 0 1 pinnumber=12 T 1900 50 5 8 0 1 0 2 1 pinseq=12 T 1750 100 9 8 1 1 0 6 1 pinlabel=CTL D T 1750 100 5 8 0 1 0 8 1 pintype=in } B 300 0 1500 2300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 2550 5 10 0 0 0 0 1 device=4066 T 1800 2400 8 10 1 1 0 6 1 refdes=U? T 300 2750 5 10 0 0 0 0 1 footprint=DIP14 T 300 2950 5 10 0 0 0 0 1 description=4 bilateral switches T 300 3550 5 10 0 0 0 0 1 numslots=0 T 300 3150 5 10 0 0 0 0 1 net=VDD:14 T 300 3350 5 10 0 0 0 0 1 net=VSS:7 T 300 3750 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4066B_CNV_3.pdf T 300 2350 9 8 1 0 0 0 1 4066 geda-gaf-1.8.2/symbols/4000/4067-1.sym0000664000175000017500000001063412204104272013441 00000000000000v 20070626 1 T 500 7200 8 10 1 1 0 6 1 refdes=U? T 2000 950 5 10 0 0 0 0 1 device=4067 T 2000 1150 5 10 0 0 0 0 1 footprint=DIP24 T 2000 1350 5 10 0 0 0 0 1 net=VSS:12 T 2000 1550 5 10 0 0 0 0 1 net=VDD:24 P 0 700 200 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=15 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 1 1 0 0 1 pinlabel=\_EN\_ T 350 700 5 8 0 1 0 2 1 pintype=in } V 250 700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3700 300 3700 1 0 0 { T 200 3750 5 8 1 1 0 6 1 pinnumber=1 T 200 3650 5 8 0 1 0 8 1 pinseq=2 T 350 3700 9 8 1 1 0 0 1 pinlabel=Y T 350 3700 5 8 0 1 0 2 1 pintype=pas } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=13 T 200 1450 5 8 0 1 0 8 1 pinseq=3 T 350 1500 9 8 1 1 0 0 1 pinlabel=D T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=14 T 200 1850 5 8 0 1 0 8 1 pinseq=4 T 350 1900 9 8 1 1 0 0 1 pinlabel=C T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=11 T 200 2250 5 8 0 1 0 8 1 pinseq=5 T 350 2300 9 8 1 1 0 0 1 pinlabel=B T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=10 T 200 2650 5 8 0 1 0 8 1 pinseq=6 T 350 2700 9 8 1 1 0 0 1 pinlabel=A T 350 2700 5 8 0 1 0 2 1 pintype=in } P 1600 3100 1300 3100 1 0 0 { T 1400 3150 5 8 1 1 0 0 1 pinnumber=22 T 1400 3050 5 8 0 1 0 2 1 pinseq=7 T 1250 3100 9 8 1 1 0 6 1 pinlabel=X9 T 1250 3100 5 8 0 1 0 8 1 pintype=pas } P 1600 3500 1300 3500 1 0 0 { T 1400 3550 5 8 1 1 0 0 1 pinnumber=23 T 1400 3450 5 8 0 1 0 2 1 pinseq=8 T 1250 3500 9 8 1 1 0 6 1 pinlabel=X8 T 1250 3500 5 8 0 1 0 8 1 pintype=pas } P 1600 3900 1300 3900 1 0 0 { T 1400 3950 5 8 1 1 0 0 1 pinnumber=2 T 1400 3850 5 8 0 1 0 2 1 pinseq=9 T 1250 3900 9 8 1 1 0 6 1 pinlabel=X7 T 1250 3900 5 8 0 1 0 8 1 pintype=pas } P 1600 4300 1300 4300 1 0 0 { T 1400 4350 5 8 1 1 0 0 1 pinnumber=3 T 1400 4250 5 8 0 1 0 2 1 pinseq=10 T 1250 4300 9 8 1 1 0 6 1 pinlabel=X6 T 1250 4300 5 8 0 1 0 8 1 pintype=pas } P 1600 4700 1300 4700 1 0 0 { T 1400 4750 5 8 1 1 0 0 1 pinnumber=4 T 1400 4650 5 8 0 1 0 2 1 pinseq=11 T 1250 4700 9 8 1 1 0 6 1 pinlabel=X5 T 1250 4700 5 8 0 1 0 8 1 pintype=pas } P 1600 5100 1300 5100 1 0 0 { T 1400 5150 5 8 1 1 0 0 1 pinnumber=5 T 1400 5050 5 8 0 1 0 2 1 pinseq=12 T 1250 5100 9 8 1 1 0 6 1 pinlabel=X4 T 1250 5100 5 8 0 1 0 8 1 pintype=pas } P 1600 5500 1300 5500 1 0 0 { T 1400 5550 5 8 1 1 0 0 1 pinnumber=6 T 1400 5450 5 8 0 1 0 2 1 pinseq=13 T 1250 5500 9 8 1 1 0 6 1 pinlabel=X3 T 1250 5500 5 8 0 1 0 8 1 pintype=pas } P 1600 5900 1300 5900 1 0 0 { T 1400 5950 5 8 1 1 0 0 1 pinnumber=7 T 1400 5850 5 8 0 1 0 2 1 pinseq=14 T 1250 5900 9 8 1 1 0 6 1 pinlabel=X2 T 1250 5900 5 8 0 1 0 8 1 pintype=pas } P 1600 700 1300 700 1 0 0 { T 1400 750 5 8 1 1 0 0 1 pinnumber=16 T 1400 650 5 8 0 1 0 2 1 pinseq=15 T 1250 700 9 8 1 1 0 6 1 pinlabel=X15 T 1250 700 5 8 0 1 0 8 1 pintype=pas } P 1600 1100 1300 1100 1 0 0 { T 1400 1150 5 8 1 1 0 0 1 pinnumber=17 T 1400 1050 5 8 0 1 0 2 1 pinseq=16 T 1250 1100 9 8 1 1 0 6 1 pinlabel=X14 T 1250 1100 5 8 0 1 0 8 1 pintype=pas } P 1600 1500 1300 1500 1 0 0 { T 1400 1550 5 8 1 1 0 0 1 pinnumber=18 T 1400 1450 5 8 0 1 0 2 1 pinseq=17 T 1250 1500 9 8 1 1 0 6 1 pinlabel=X13 T 1250 1500 5 8 0 1 0 8 1 pintype=pas } P 1600 1900 1300 1900 1 0 0 { T 1400 1950 5 8 1 1 0 0 1 pinnumber=19 T 1400 1850 5 8 0 1 0 2 1 pinseq=18 T 1250 1900 9 8 1 1 0 6 1 pinlabel=X12 T 1250 1900 5 8 0 1 0 8 1 pintype=pas } P 1600 2300 1300 2300 1 0 0 { T 1400 2350 5 8 1 1 0 0 1 pinnumber=20 T 1400 2250 5 8 0 1 0 2 1 pinseq=19 T 1250 2300 9 8 1 1 0 6 1 pinlabel=X11 T 1250 2300 5 8 0 1 0 8 1 pintype=pas } P 1600 2700 1300 2700 1 0 0 { T 1400 2750 5 8 1 1 0 0 1 pinnumber=21 T 1400 2650 5 8 0 1 0 2 1 pinseq=20 T 1250 2700 9 8 1 1 0 6 1 pinlabel=X10 T 1250 2700 5 8 0 1 0 8 1 pintype=pas } P 1600 6300 1300 6300 1 0 0 { T 1400 6350 5 8 1 1 0 0 1 pinnumber=8 T 1400 6250 5 8 0 1 0 2 1 pinseq=21 T 1250 6300 9 8 1 1 0 6 1 pinlabel=X1 T 1250 6300 5 8 0 1 0 8 1 pintype=pas } P 1600 6700 1300 6700 1 0 0 { T 1400 6750 5 8 1 1 0 0 1 pinnumber=9 T 1400 6650 5 8 0 1 0 2 1 pinseq=22 T 1250 6700 9 8 1 1 0 6 1 pinlabel=X0 T 1250 6700 5 8 0 1 0 8 1 pintype=pas } B 300 300 1000 6800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2000 750 5 10 0 0 0 0 1 description=16-1 analog multiplexer/demultiplexer T 2000 1750 5 10 0 0 0 0 1 numslots=0 T 2000 550 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4067B_CNV_3.pdf T 300 50 9 10 1 0 0 0 1 4067 geda-gaf-1.8.2/symbols/4000/4023-1.sym0000664000175000017500000000265012204104272013430 00000000000000v 20040710 1 P 0 900 300 900 1 0 0 { T 200 950 5 8 1 1 0 6 1 pinnumber=3 T 200 850 5 8 0 1 0 8 1 pinseq=1 T 350 900 9 8 0 1 0 0 1 pinlabel=A T 350 900 5 8 0 1 0 2 1 pintype=in } P 0 500 300 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=4 T 200 450 5 8 0 1 0 8 1 pinseq=2 T 350 500 9 8 0 1 0 0 1 pinlabel=B T 350 500 5 8 0 1 0 2 1 pintype=in } P 0 100 300 100 1 0 0 { T 200 150 5 8 1 1 0 6 1 pinnumber=5 T 200 50 5 8 0 1 0 8 1 pinseq=3 T 350 100 9 8 0 1 0 0 1 pinlabel=C T 350 100 5 8 0 1 0 2 1 pintype=in } P 1100 500 1300 500 1 0 1 { T 1200 550 5 8 1 1 0 0 1 pinnumber=6 T 1200 450 5 8 0 1 0 2 1 pinseq=4 T 950 500 9 8 0 1 0 6 1 pinlabel=Y T 950 500 5 8 0 1 0 8 1 pintype=out } T 1900 400 5 10 0 0 0 0 1 net=VDD:14 T 1900 600 5 10 0 0 0 0 1 net=VSS:7 T 1900 800 5 10 0 0 0 0 1 device=4023 T 1900 1000 5 10 0 0 0 0 1 footprint=DIP14 T 1900 1200 5 10 0 0 0 0 1 numslots=3 T 1900 1400 5 10 0 0 0 0 1 slotdef=1:3,4,5,6 T 1900 1600 5 10 0 0 0 0 1 slotdef=2:1,2,8,9 T 1900 1800 5 10 0 0 0 0 1 slotdef=3:13,12,11,10 T 1900 2000 5 10 0 0 0 0 1 description=3 3-input NAND gates T 400 0 9 8 1 0 0 0 1 4023 T 1900 2200 5 10 0 0 0 0 1 slot=1 L 300 200 300 800 3 0 0 0 -1 -1 L 300 800 700 800 3 0 0 0 -1 -1 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 300 200 300 0 3 0 0 0 -1 -1 L 300 1000 300 800 3 0 0 0 -1 -1 T 400 900 8 10 1 1 0 0 1 refdes=U? T 1900 2400 5 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/4000/40105-1.sym0000664000175000017500000000545712204104272013521 00000000000000v 20031231 1 T 500 4000 8 10 1 1 0 6 1 refdes=U? T 2000 950 5 10 0 0 0 0 1 device=40105 T 2000 1150 5 10 0 0 0 0 1 footprint=DIP16 T 2000 1350 5 10 0 0 0 0 1 net=VSS:8 T 2000 1550 5 10 0 0 0 0 1 net=VDD:16 P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=1 T 200 1050 5 8 0 1 0 8 1 pinseq=1 T 350 1100 9 8 1 1 0 0 1 pinlabel=TRI T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=3 T 200 1450 5 8 0 1 0 8 1 pinseq=2 T 350 1500 9 8 1 1 0 0 1 pinlabel=SI T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=2 T 200 1850 5 8 0 1 0 8 1 pinseq=3 T 350 1900 9 8 1 1 0 0 1 pinlabel=DIR T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=7 T 200 2250 5 8 0 1 0 8 1 pinseq=4 T 350 2300 9 8 1 1 0 0 1 pinlabel=D3 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=6 T 200 2650 5 8 0 1 0 8 1 pinseq=5 T 350 2700 9 8 1 1 0 0 1 pinlabel=D2 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=5 T 200 3050 5 8 0 1 0 8 1 pinseq=6 T 350 3100 9 8 1 1 0 0 1 pinlabel=D1 T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=4 T 200 3450 5 8 0 1 0 8 1 pinseq=7 T 350 3500 9 8 1 1 0 0 1 pinlabel=D0 T 350 3500 5 8 0 1 0 2 1 pintype=in } P 1600 1500 1300 1500 1 0 0 { T 1400 1550 5 8 1 1 0 0 1 pinnumber=15 T 1400 1450 5 8 0 1 0 2 1 pinseq=8 T 1250 1500 9 8 1 1 0 6 1 pinlabel=SO T 1250 1500 5 8 0 1 0 8 1 pintype=out } P 1600 2300 1300 2300 1 0 0 { T 1400 2350 5 8 1 1 0 0 1 pinnumber=10 T 1400 2250 5 8 0 1 0 2 1 pinseq=9 T 1250 2300 9 8 1 1 0 6 1 pinlabel=Q3 T 1250 2300 5 8 0 1 0 8 1 pintype=tri } P 1600 2700 1300 2700 1 0 0 { T 1400 2750 5 8 1 1 0 0 1 pinnumber=11 T 1400 2650 5 8 0 1 0 2 1 pinseq=10 T 1250 2700 9 8 1 1 0 6 1 pinlabel=Q2 T 1250 2700 5 8 0 1 0 8 1 pintype=tri } P 1600 3100 1300 3100 1 0 0 { T 1400 3150 5 8 1 1 0 0 1 pinnumber=12 T 1400 3050 5 8 0 1 0 2 1 pinseq=11 T 1250 3100 9 8 1 1 0 6 1 pinlabel=Q1 T 1250 3100 5 8 0 1 0 8 1 pintype=tri } P 1600 3500 1300 3500 1 0 0 { T 1400 3550 5 8 1 1 0 0 1 pinnumber=13 T 1400 3450 5 8 0 1 0 2 1 pinseq=12 T 1250 3500 9 8 1 1 0 6 1 pinlabel=Q0 T 1250 3500 5 8 0 1 0 8 1 pintype=tri } P 1600 1900 1300 1900 1 0 0 { T 1400 1950 5 8 1 1 0 0 1 pinnumber=14 T 1400 1850 5 8 0 1 0 2 1 pinseq=14 T 1250 1900 9 8 1 1 0 6 1 pinlabel=DOR T 1250 1900 5 8 0 1 0 8 1 pintype=out } B 300 300 1000 3600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=9 T 200 650 5 8 0 1 0 8 1 pinseq=13 T 350 700 9 8 1 1 0 0 1 pinlabel=MR T 350 700 5 8 0 1 0 2 1 pintype=in } T 2000 750 5 10 0 0 0 0 1 description=4-bit x 16-word fifo register T 2000 1750 5 10 0 0 0 0 1 numslots=0 T 300 50 9 10 1 0 0 0 1 40105 geda-gaf-1.8.2/symbols/4000/4032-1.sym0000664000175000017500000000551712204104272013435 00000000000000v 20031231 1 T 500 5200 8 10 1 1 0 6 1 refdes=U? T 2000 950 5 10 0 0 0 0 1 device=4032 T 2000 1150 5 10 0 0 0 0 1 footprint=DIP16 T 2000 1350 5 10 0 0 0 0 1 net=VSS:8 T 2000 1550 5 10 0 0 0 0 1 net=VDD:16 P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=6 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 1 1 0 0 1 pinlabel=CRST T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=3 T 200 1050 5 8 0 1 0 8 1 pinseq=2 T 400 1100 9 8 1 1 0 0 1 pinlabel=CLK T 400 1100 5 8 0 1 0 2 1 pintype=clk } L 400 1100 300 1175 3 0 0 0 -1 -1 L 400 1100 300 1025 3 0 0 0 -1 -1 P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=2 T 200 1450 5 8 0 1 0 8 1 pinseq=3 T 350 1500 9 8 1 1 0 0 1 pinlabel=3INV T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=14 T 200 1850 5 8 0 1 0 8 1 pinseq=4 T 350 1900 9 8 1 1 0 0 1 pinlabel=3B T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=15 T 200 2250 5 8 0 1 0 8 1 pinseq=5 T 350 2300 9 8 1 1 0 0 1 pinlabel=3A T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=5 T 200 2650 5 8 0 1 0 8 1 pinseq=6 T 350 2700 9 8 1 1 0 0 1 pinlabel=2INV T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=12 T 200 3050 5 8 0 1 0 8 1 pinseq=7 T 350 3100 9 8 1 1 0 0 1 pinlabel=2B T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=13 T 200 3450 5 8 0 1 0 8 1 pinseq=8 T 350 3500 9 8 1 1 0 0 1 pinlabel=2A T 350 3500 5 8 0 1 0 2 1 pintype=in } P 0 3900 300 3900 1 0 0 { T 200 3950 5 8 1 1 0 6 1 pinnumber=7 T 200 3850 5 8 0 1 0 8 1 pinseq=9 T 350 3900 9 8 1 1 0 0 1 pinlabel=1INV T 350 3900 5 8 0 1 0 2 1 pintype=in } P 0 4300 300 4300 1 0 0 { T 200 4350 5 8 1 1 0 6 1 pinnumber=11 T 200 4250 5 8 0 1 0 8 1 pinseq=10 T 350 4300 9 8 1 1 0 0 1 pinlabel=1B T 350 4300 5 8 0 1 0 2 1 pintype=in } P 0 4700 300 4700 1 0 0 { T 200 4750 5 8 1 1 0 6 1 pinnumber=10 T 200 4650 5 8 0 1 0 8 1 pinseq=11 T 350 4700 9 8 1 1 0 0 1 pinlabel=1A T 350 4700 5 8 0 1 0 2 1 pintype=in } P 1600 1900 1300 1900 1 0 0 { T 1400 1950 5 8 1 1 0 0 1 pinnumber=1 T 1400 1850 5 8 0 1 0 2 1 pinseq=12 T 1250 1900 9 8 1 1 0 6 1 pinlabel=3S T 1250 1900 5 8 0 1 0 8 1 pintype=out } P 1600 3100 1300 3100 1 0 0 { T 1400 3150 5 8 1 1 0 0 1 pinnumber=4 T 1400 3050 5 8 0 1 0 2 1 pinseq=13 T 1250 3100 9 8 1 1 0 6 1 pinlabel=2S T 1250 3100 5 8 0 1 0 8 1 pintype=out } P 1600 4300 1300 4300 1 0 0 { T 1400 4350 5 8 1 1 0 0 1 pinnumber=9 T 1400 4250 5 8 0 1 0 2 1 pinseq=14 T 1250 4300 9 8 1 1 0 6 1 pinlabel=1S T 1250 4300 5 8 0 1 0 8 1 pintype=out } B 300 300 1000 4800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2000 750 5 10 0 0 0 0 1 description=3 serial adders T 2000 1750 5 10 0 0 0 0 1 numslots=0 T 300 50 9 10 1 0 0 0 1 4032 geda-gaf-1.8.2/symbols/4000/4511-1.sym0000664000175000017500000000574612204104272013443 00000000000000v 20070626 1 T 1700 3100 8 10 1 1 0 6 1 refdes=U? T 300 3250 5 10 0 0 0 0 1 device=4511 T 300 3450 5 10 0 0 0 0 1 footprint=DIP16 T 300 3650 5 10 0 0 0 0 1 net=VSS:8 T 300 3850 5 10 0 0 0 0 1 net=VDD:16 P 0 300 200 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=3 T 200 250 5 8 0 1 0 8 1 pinseq=1 T 350 300 9 8 1 1 0 0 1 pinlabel=\_LT\_ T 350 300 5 8 0 1 0 2 1 pintype=in } V 250 300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 700 200 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=4 T 200 650 5 8 0 1 0 8 1 pinseq=2 T 350 700 9 8 1 1 0 0 1 pinlabel=\_BL\_ T 350 700 5 8 0 1 0 2 1 pintype=in } V 250 700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=5 T 200 1050 5 8 0 1 0 8 1 pinseq=3 T 350 1100 9 8 1 1 0 0 1 pinlabel=LE T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=6 T 200 1450 5 8 0 1 0 8 1 pinseq=4 T 350 1500 9 8 1 1 0 0 1 pinlabel=A3 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=2 T 200 1850 5 8 0 1 0 8 1 pinseq=5 T 350 1900 9 8 1 1 0 0 1 pinlabel=A2 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=1 T 200 2250 5 8 0 1 0 8 1 pinseq=6 T 350 2300 9 8 1 1 0 0 1 pinlabel=A1 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=7 T 200 2650 5 8 0 1 0 8 1 pinseq=7 T 350 2700 9 8 1 1 0 0 1 pinlabel=A0 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 2000 300 1700 300 1 0 0 { T 1800 350 5 8 1 1 0 0 1 pinnumber=14 T 1800 250 5 8 0 1 0 2 1 pinseq=8 T 1650 300 9 8 1 1 0 6 1 pinlabel=g T 1650 300 5 8 0 1 0 8 1 pintype=out } P 2000 700 1700 700 1 0 0 { T 1800 750 5 8 1 1 0 0 1 pinnumber=15 T 1800 650 5 8 0 1 0 2 1 pinseq=9 T 1650 700 9 8 1 1 0 6 1 pinlabel=f T 1650 700 5 8 0 1 0 8 1 pintype=out } P 2000 1100 1700 1100 1 0 0 { T 1800 1150 5 8 1 1 0 0 1 pinnumber=9 T 1800 1050 5 8 0 1 0 2 1 pinseq=10 T 1650 1100 9 8 1 1 0 6 1 pinlabel=e T 1650 1100 5 8 0 1 0 8 1 pintype=out } P 2000 1500 1700 1500 1 0 0 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=10 T 1800 1450 5 8 0 1 0 2 1 pinseq=11 T 1650 1500 9 8 1 1 0 6 1 pinlabel=d T 1650 1500 5 8 0 1 0 8 1 pintype=out } P 2000 1900 1700 1900 1 0 0 { T 1800 1950 5 8 1 1 0 0 1 pinnumber=11 T 1800 1850 5 8 0 1 0 2 1 pinseq=12 T 1650 1900 9 8 1 1 0 6 1 pinlabel=c T 1650 1900 5 8 0 1 0 8 1 pintype=out } P 2000 2300 1700 2300 1 0 0 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=12 T 1800 2250 5 8 0 1 0 2 1 pinseq=13 T 1650 2300 9 8 1 1 0 6 1 pinlabel=b T 1650 2300 5 8 0 1 0 8 1 pintype=out } P 2000 2700 1700 2700 1 0 0 { T 1800 2750 5 8 1 1 0 0 1 pinnumber=13 T 1800 2650 5 8 0 1 0 2 1 pinseq=14 T 1650 2700 9 8 1 1 0 6 1 pinlabel=a T 1650 2700 5 8 0 1 0 8 1 pintype=out } B 300 0 1400 3000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4250 5 10 0 0 0 0 1 description=BCD to 7-segment decoder T 300 4050 5 10 0 0 0 0 1 numslots=0 T 300 4450 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4511B_CNV_3.pdf T 300 3050 9 10 1 0 0 0 1 4511 geda-gaf-1.8.2/symbols/4000/40100-1.sym0000664000175000017500000000362612204104272013510 00000000000000v 20070626 1 T 500 2400 8 10 1 1 0 6 1 refdes=U? T 2400 950 5 10 0 0 0 0 1 device=40100 T 2400 1150 5 10 0 0 0 0 1 footprint=DIP16 T 2400 1350 5 10 0 0 0 0 1 net=VSS:8 T 2400 1550 5 10 0 0 0 0 1 net=VDD:16 P 1000 0 1000 200 1 0 0 { T 1050 100 5 8 1 1 0 0 1 pinnumber=9 T 1050 100 5 8 0 1 0 2 1 pinseq=1 T 1000 350 9 8 1 1 0 3 1 pinlabel=\_R\_ T 1000 500 5 8 0 1 0 3 1 pintype=in } V 1000 250 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=11 T 200 650 5 8 0 1 0 8 1 pinseq=2 T 350 700 9 8 1 1 0 0 1 pinlabel=SHR In T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=6 T 200 1050 5 8 0 1 0 8 1 pinseq=3 T 350 1100 9 8 1 1 0 0 1 pinlabel=SHL In T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=2 T 200 1450 5 8 0 1 0 8 1 pinseq=4 T 350 1500 9 8 1 1 0 0 1 pinlabel=CLKEN T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=3 T 200 1850 5 8 0 1 0 8 1 pinseq=5 T 400 1900 9 8 1 1 0 0 1 pinlabel=CLK T 400 1900 5 8 0 1 0 2 1 pintype=clk } L 400 1900 300 1975 3 0 0 0 -1 -1 L 400 1900 300 1825 3 0 0 0 -1 -1 P 2000 700 1700 700 1 0 0 { T 1800 750 5 8 1 1 0 0 1 pinnumber=12 T 1800 650 5 8 0 1 0 2 1 pinseq=6 T 1650 700 9 8 1 1 0 6 1 pinlabel=SHR Out T 1650 700 5 8 0 1 0 8 1 pintype=out } P 2000 1100 1700 1100 1 0 0 { T 1800 1150 5 8 1 1 0 0 1 pinnumber=4 T 1800 1050 5 8 0 1 0 2 1 pinseq=7 T 1650 1100 9 8 1 1 0 6 1 pinlabel=SHL Out T 1650 1100 5 8 0 1 0 8 1 pintype=out } P 1000 2600 1000 2300 1 0 0 { T 1050 2400 5 8 1 1 0 0 1 pinnumber=13 T 1050 2400 5 8 0 1 0 2 1 pinseq=8 T 1000 2250 9 8 1 1 0 5 1 pinlabel=L/\_R\_ T 1000 2100 5 8 0 1 0 5 1 pintype=in } B 300 300 1400 2000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2400 750 5 10 0 0 0 0 1 description=32-stage static left/right shift register T 2400 1750 5 10 0 0 0 0 1 numslots=0 T 300 50 9 10 1 0 0 0 1 40100 geda-gaf-1.8.2/symbols/4000/4073-2.sym0000664000175000017500000000270312204104272013435 00000000000000v 20031231 1 P 0 900 300 900 1 0 0 { T 200 950 5 8 1 1 0 6 1 pinnumber=3 T 200 850 5 8 0 1 0 8 1 pinseq=1 T 350 900 5 8 0 1 0 2 1 pintype=in T 350 900 9 8 0 1 0 0 1 pinlabel=A } P 0 500 300 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=4 T 200 450 5 8 0 1 0 8 1 pinseq=2 T 350 500 5 8 0 1 0 2 1 pintype=in T 350 500 9 8 0 1 0 0 1 pinlabel=B } P 0 100 300 100 1 0 0 { T 200 150 5 8 1 1 0 6 1 pinnumber=5 T 200 50 5 8 0 1 0 8 1 pinseq=3 T 350 100 5 8 0 1 0 2 1 pintype=in T 350 100 9 8 0 1 0 0 1 pinlabel=C } P 1000 500 1300 500 1 0 1 { T 1100 550 5 8 1 1 0 0 1 pinnumber=6 T 1100 450 5 8 0 1 0 2 1 pinseq=4 T 950 500 5 8 0 1 0 8 1 pintype=out T 950 500 9 8 0 1 0 6 1 pinlabel=Y } T 450 900 8 10 1 1 0 0 1 refdes=U? T 400 1100 5 10 0 0 0 0 1 net=VDD:14 T 400 1300 5 10 0 0 0 0 1 net=VSS:7 T 400 1500 5 10 0 0 0 0 1 device=4073 T 400 1700 5 10 0 0 0 0 1 footprint=DIP14 T 400 1900 5 10 0 0 0 0 1 numslots=3 T 400 2100 5 10 0 0 0 0 1 slotdef=1:3,4,5,6 T 400 2300 5 10 0 0 0 0 1 slotdef=2:1,2,8,9 T 400 2500 5 10 0 0 0 0 1 slotdef=3:13,12,11,10 T 400 2700 5 10 0 0 0 0 1 slot=1 T 400 2900 5 10 0 0 0 0 1 description=3 AND gate with 3 inputs T 400 3100 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4073B_CNV_3.pdf T 400 0 9 10 1 0 0 0 1 4073 L 300 800 700 800 3 0 0 0 -1 -1 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 L 300 800 300 200 3 0 0 0 -1 -1 L 300 200 300 0 3 0 0 0 -1 -1 L 300 1000 300 800 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/4000/4038-1.sym0000664000175000017500000000551612204104272013442 00000000000000v 20031231 1 T 500 5200 8 10 1 1 0 6 1 refdes=U? T 2000 950 5 10 0 0 0 0 1 device=4038 T 2000 1150 5 10 0 0 0 0 1 footprint=DIP16 T 2000 1350 5 10 0 0 0 0 1 net=VSS:8 T 2000 1550 5 10 0 0 0 0 1 net=VDD:16 P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=6 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 1 1 0 0 1 pinlabel=CRST T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=3 T 200 1050 5 8 0 1 0 8 1 pinseq=2 T 400 1100 9 8 1 1 0 0 1 pinlabel=CLK T 400 1100 5 8 0 1 0 2 1 pintype=clk } L 400 1100 300 1175 3 0 0 0 -1 -1 L 400 1100 300 1025 3 0 0 0 -1 -1 P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=2 T 200 1450 5 8 0 1 0 8 1 pinseq=3 T 350 1500 9 8 1 1 0 0 1 pinlabel=3INV T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=14 T 200 1850 5 8 0 1 0 8 1 pinseq=4 T 350 1900 9 8 1 1 0 0 1 pinlabel=3B T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=15 T 200 2250 5 8 0 1 0 8 1 pinseq=5 T 350 2300 9 8 1 1 0 0 1 pinlabel=3A T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=5 T 200 2650 5 8 0 1 0 8 1 pinseq=6 T 350 2700 9 8 1 1 0 0 1 pinlabel=2INV T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=12 T 200 3050 5 8 0 1 0 8 1 pinseq=7 T 350 3100 9 8 1 1 0 0 1 pinlabel=2B T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=13 T 200 3450 5 8 0 1 0 8 1 pinseq=8 T 350 3500 9 8 1 1 0 0 1 pinlabel=2A T 350 3500 5 8 0 1 0 2 1 pintype=in } P 0 3900 300 3900 1 0 0 { T 200 3950 5 8 1 1 0 6 1 pinnumber=7 T 200 3850 5 8 0 1 0 8 1 pinseq=9 T 350 3900 9 8 1 1 0 0 1 pinlabel=1INV T 350 3900 5 8 0 1 0 2 1 pintype=in } P 0 4300 300 4300 1 0 0 { T 200 4350 5 8 1 1 0 6 1 pinnumber=11 T 200 4250 5 8 0 1 0 8 1 pinseq=10 T 350 4300 9 8 1 1 0 0 1 pinlabel=1B T 350 4300 5 8 0 1 0 2 1 pintype=in } P 0 4700 300 4700 1 0 0 { T 200 4750 5 8 1 1 0 6 1 pinnumber=10 T 200 4650 5 8 0 1 0 8 1 pinseq=11 T 350 4700 9 8 1 1 0 0 1 pinlabel=1A T 350 4700 5 8 0 1 0 2 1 pintype=in } P 1600 1900 1300 1900 1 0 0 { T 1400 1950 5 8 1 1 0 0 1 pinnumber=1 T 1400 1850 5 8 0 1 0 2 1 pinseq=12 T 1250 1900 9 8 1 1 0 6 1 pinlabel=3S T 1250 1900 5 8 0 1 0 8 1 pintype=out } P 1600 3100 1300 3100 1 0 0 { T 1400 3150 5 8 1 1 0 0 1 pinnumber=4 T 1400 3050 5 8 0 1 0 2 1 pinseq=13 T 1250 3100 9 8 1 1 0 6 1 pinlabel=2S T 1250 3100 5 8 0 1 0 8 1 pintype=out } P 1600 4300 1300 4300 1 0 0 { T 1400 4350 5 8 1 1 0 0 1 pinnumber=9 T 1400 4250 5 8 0 1 0 2 1 pinseq=14 T 1250 4300 9 8 1 1 0 6 1 pinlabel=1S T 1250 4300 5 8 0 1 0 8 1 pintype=out } B 300 300 1000 4800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2000 750 5 10 0 0 0 0 1 description=3 serial adder T 2000 1750 5 10 0 0 0 0 1 numslots=0 T 300 50 9 10 1 0 0 0 1 4038 geda-gaf-1.8.2/symbols/4000/4555-1.sym0000664000175000017500000000356312204104272013446 00000000000000v 20070626 1 T 1300 1900 8 10 1 1 0 6 1 refdes=U? T 300 2050 5 10 0 0 0 0 1 device=4555 T 300 2250 5 10 0 0 0 0 1 footprint=DIP16 T 300 2450 5 10 0 0 0 0 1 net=VSS:8 T 300 2650 5 10 0 0 0 0 1 net=VDD:16 P 0 300 200 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=1 T 200 250 5 8 0 1 0 8 1 pinseq=1 T 350 300 9 8 1 1 0 0 1 pinlabel=\_EN\_ T 350 300 5 8 0 1 0 2 1 pintype=in } V 250 300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=3 T 200 1050 5 8 0 1 0 8 1 pinseq=2 T 350 1100 9 8 1 1 0 0 1 pinlabel=S1 T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=2 T 200 1450 5 8 0 1 0 8 1 pinseq=3 T 350 1500 9 8 1 1 0 0 1 pinlabel=S0 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 1600 300 1300 300 1 0 0 { T 1400 350 5 8 1 1 0 0 1 pinnumber=7 T 1400 250 5 8 0 1 0 2 1 pinseq=4 T 1250 300 9 8 1 1 0 6 1 pinlabel=Y3 T 1250 300 5 8 0 1 0 8 1 pintype=out } P 1600 700 1300 700 1 0 0 { T 1400 750 5 8 1 1 0 0 1 pinnumber=6 T 1400 650 5 8 0 1 0 2 1 pinseq=5 T 1250 700 9 8 1 1 0 6 1 pinlabel=Y2 T 1250 700 5 8 0 1 0 8 1 pintype=out } P 1600 1100 1300 1100 1 0 0 { T 1400 1150 5 8 1 1 0 0 1 pinnumber=5 T 1400 1050 5 8 0 1 0 2 1 pinseq=6 T 1250 1100 9 8 1 1 0 6 1 pinlabel=Y1 T 1250 1100 5 8 0 1 0 8 1 pintype=out } P 1600 1500 1300 1500 1 0 0 { T 1400 1550 5 8 1 1 0 0 1 pinnumber=4 T 1400 1450 5 8 0 1 0 2 1 pinseq=7 T 1250 1500 9 8 1 1 0 6 1 pinlabel=Y0 T 1250 1500 5 8 0 1 0 8 1 pintype=out } B 300 0 1000 1800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 2850 5 10 0 0 0 0 1 slot=1 T 300 3050 5 10 0 0 0 0 1 numslots=2 T 300 3250 5 10 0 0 0 0 1 slotdef=1:1,3,2,7,6,5,4 T 300 3450 5 10 0 0 0 0 1 slotdef=2:15,13,14,9,10,11,12 T 300 3650 5 10 0 0 0 0 1 description=2 2-bit binary decoders T 300 3850 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4555B_CNV_3.pdf T 300 1850 9 10 1 0 0 0 1 4555 geda-gaf-1.8.2/symbols/4000/4534-1.sym0000664000175000017500000001130412204104272013433 00000000000000v 20070626 1 T 1700 5000 8 10 1 1 0 6 1 refdes=U? T 300 5150 5 10 0 0 0 0 1 device=4534 T 300 5350 5 10 0 0 0 0 1 footprint=DIP24 T 300 5550 5 10 0 0 0 0 1 net=VSS:12 T 300 5750 5 10 0 0 0 0 1 net=VDD:24 P 0 600 200 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=23 T 200 550 5 8 0 1 0 8 1 pinseq=1 T 400 600 9 8 1 1 0 0 1 pinlabel=\_CPE\_ T 400 600 5 8 0 1 0 2 1 pintype=clk } L 400 600 300 675 3 0 0 0 -1 -1 L 400 600 300 525 3 0 0 0 -1 -1 P 0 3200 300 3200 1 0 0 { T 200 3250 5 8 1 1 0 6 1 pinnumber=6 T 200 3150 5 8 0 1 0 8 1 pinseq=2 T 350 3200 9 8 1 1 0 0 1 pinlabel=SB T 350 3200 5 8 0 1 0 2 1 pintype=in } P 0 3600 300 3600 1 0 0 { T 200 3650 5 8 1 1 0 6 1 pinnumber=5 T 200 3550 5 8 0 1 0 8 1 pinseq=3 T 350 3600 9 8 1 1 0 0 1 pinlabel=SA T 350 3600 5 8 0 1 0 2 1 pintype=in } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=9 T 200 2150 5 8 0 1 0 8 1 pinseq=4 T 350 2200 9 8 1 1 0 0 1 pinlabel=MRSC T 350 2200 5 8 0 1 0 2 1 pintype=in } P 0 4200 300 4200 1 0 0 { T 200 4250 5 8 1 1 0 6 1 pinnumber=2 T 200 4150 5 8 0 1 0 8 1 pinseq=5 T 350 4200 9 8 1 1 0 0 1 pinlabel=MR T 350 4200 5 8 0 1 0 2 1 pintype=in } P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=10 T 200 2550 5 8 0 1 0 8 1 pinseq=6 T 400 2600 9 8 1 1 0 0 1 pinlabel=CPS T 400 2600 5 8 0 1 0 2 1 pintype=clk } L 400 2600 300 2675 3 0 0 0 -1 -1 L 400 2600 300 2525 3 0 0 0 -1 -1 P 0 4600 300 4600 1 0 0 { T 200 4650 5 8 1 1 0 6 1 pinnumber=4 T 200 4550 5 8 0 1 0 8 1 pinseq=7 T 400 4600 9 8 1 1 0 0 1 pinlabel=CPA T 400 4600 5 8 0 1 0 2 1 pintype=clk } L 400 4600 300 4675 3 0 0 0 -1 -1 L 400 4600 300 4525 3 0 0 0 -1 -1 P 2000 1000 1700 1000 1 0 0 { T 1800 1050 5 8 1 1 0 0 1 pinnumber=13 T 1800 950 5 8 0 1 0 2 1 pinseq=8 T 1650 1000 9 8 1 1 0 6 1 pinlabel=TC T 1650 1000 5 8 0 1 0 8 1 pintype=out } P 2000 1400 1700 1400 1 0 0 { T 1800 1450 5 8 1 1 0 0 1 pinnumber=11 T 1800 1350 5 8 0 1 0 2 1 pinseq=9 T 1650 1400 9 8 1 1 0 6 1 pinlabel=QS4 T 1650 1400 5 8 0 1 0 8 1 pintype=out } P 2000 1800 1700 1800 1 0 0 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=16 T 1800 1750 5 8 0 1 0 2 1 pinseq=10 T 1650 1800 9 8 1 1 0 6 1 pinlabel=QS3 T 1650 1800 5 8 0 1 0 8 1 pintype=out } P 2000 2200 1700 2200 1 0 0 { T 1800 2250 5 8 1 1 0 0 1 pinnumber=14 T 1800 2150 5 8 0 1 0 2 1 pinseq=11 T 1650 2200 9 8 1 1 0 6 1 pinlabel=QS2 T 1650 2200 5 8 0 1 0 8 1 pintype=out } P 2000 2600 1700 2600 1 0 0 { T 1800 2650 5 8 1 1 0 0 1 pinnumber=8 T 1800 2550 5 8 0 1 0 2 1 pinseq=12 T 1650 2600 9 8 1 1 0 6 1 pinlabel=QS1 T 1650 2600 5 8 0 1 0 8 1 pintype=out } P 2000 3000 1700 3000 1 0 0 { T 1800 3050 5 8 1 1 0 0 1 pinnumber=7 T 1800 2950 5 8 0 1 0 2 1 pinseq=13 T 1650 3000 9 8 1 1 0 6 1 pinlabel=QS0 T 1650 3000 5 8 0 1 0 8 1 pintype=out } P 2000 3400 1700 3400 1 0 0 { T 1800 3450 5 8 1 1 0 0 1 pinnumber=17 T 1800 3350 5 8 0 1 0 2 1 pinseq=14 T 1650 3400 9 8 1 1 0 6 1 pinlabel=Q3 T 1650 3400 5 8 0 1 0 8 1 pintype=out } P 2000 3800 1700 3800 1 0 0 { T 1800 3850 5 8 1 1 0 0 1 pinnumber=18 T 1800 3750 5 8 0 1 0 2 1 pinseq=15 T 1650 3800 9 8 1 1 0 6 1 pinlabel=Q2 T 1650 3800 5 8 0 1 0 8 1 pintype=out } P 2000 4200 1700 4200 1 0 0 { T 1800 4250 5 8 1 1 0 0 1 pinnumber=19 T 1800 4150 5 8 0 1 0 2 1 pinseq=16 T 1650 4200 9 8 1 1 0 6 1 pinlabel=Q1 T 1650 4200 5 8 0 1 0 8 1 pintype=out } P 2000 4600 1700 4600 1 0 0 { T 1800 4650 5 8 1 1 0 0 1 pinnumber=20 T 1800 4550 5 8 0 1 0 2 1 pinseq=17 T 1650 4600 9 8 1 1 0 6 1 pinlabel=Q0 T 1650 4600 5 8 0 1 0 8 1 pintype=out } P 2000 600 1700 600 1 0 0 { T 1800 650 5 8 1 1 0 0 1 pinnumber=3 T 1800 550 5 8 0 1 0 2 1 pinseq=18 T 1650 600 9 8 1 1 0 6 1 pinlabel=OER T 1650 600 5 8 0 1 0 8 1 pintype=out } B 300 300 1400 4600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 6150 5 10 0 0 0 0 1 description=real time 5-decade counter T 300 5950 5 10 0 0 0 0 1 numslots=0 T 300 6350 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4534B_CNV_3.pdf T 300 4950 9 10 1 0 0 0 1 4534 P 0 1600 200 1600 1 0 0 { T 200 1650 5 8 1 1 0 6 1 pinnumber=21 T 200 1550 5 8 0 1 0 8 1 pinseq=19 T 350 1600 9 8 1 1 0 0 1 pinlabel=\_EO\_ T 350 1600 5 8 0 1 0 2 1 pintype=in } P 0 1200 200 1200 1 0 0 { T 200 1250 5 8 1 1 0 6 1 pinnumber=15 T 200 1150 5 8 0 1 0 8 1 pinseq=20 T 350 1200 9 8 1 1 0 0 1 pinlabel=\_EOS\_ T 350 1200 5 8 0 1 0 2 1 pintype=in } V 250 1600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 1200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 700 0 700 300 1 0 0 { T 750 100 5 8 1 1 0 0 1 pinnumber=1 T 750 100 5 8 0 1 0 2 1 pinseq=21 T 700 350 9 8 1 1 0 3 1 pinlabel=Cext1 T 700 475 5 8 0 1 0 3 1 pintype=pas } P 1300 0 1300 300 1 0 0 { T 1350 100 5 8 1 1 0 0 1 pinnumber=22 T 1350 100 5 8 0 1 0 2 1 pinseq=22 T 1300 350 9 8 1 1 0 3 1 pinlabel=Cext2 T 1300 475 5 8 0 1 0 3 1 pintype=pas } T 300 6550 5 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/4000/40109-1.sym0000664000175000017500000000224312204104272013513 00000000000000v 20040710 1 P 0 400 300 400 1 0 0 { T 200 450 5 8 1 1 0 6 1 pinnumber=3 T 200 350 5 8 0 1 0 8 1 pinseq=1 T 350 400 5 8 0 1 0 2 1 pintype=in T 350 400 9 8 0 1 0 0 1 pinlabel=A } L 300 600 300 200 3 0 0 0 -1 -1 L 300 600 700 400 3 0 0 0 -1 -1 L 300 200 700 400 3 0 0 0 -1 -1 P 700 400 1000 400 1 0 1 { T 800 450 5 8 1 1 0 0 1 pinnumber=4 T 800 350 5 8 0 1 0 2 1 pinseq=2 T 650 400 5 8 0 1 0 8 1 pintype=tri T 650 400 9 8 0 1 0 6 1 pinlabel=Y } P 500 300 500 0 1 0 1 { T 550 100 5 8 1 1 0 0 1 pinnumber=2 T 550 100 5 8 0 1 0 2 1 pinseq=3 T 500 300 5 8 0 1 0 0 1 pintype=in T 500 350 9 8 0 1 0 3 1 pinlabel=EN } T 200 900 8 10 1 1 0 0 1 refdes=U? T 1200 0 5 10 0 0 0 0 1 net=VSS:8 T 1200 200 5 10 0 0 0 0 1 net=VDD:16 T 1200 400 5 10 0 0 0 0 1 net=VCC:1 T 1200 600 5 10 0 0 0 0 1 device=40109 T 1200 800 5 10 0 0 0 0 1 slot=1 T 1200 1000 5 10 0 0 0 0 1 numslots=4 T 1200 1200 5 10 0 0 0 0 1 slotdef=1:3,4,2 T 1200 1400 5 10 0 0 0 0 1 slotdef=2:6,5,7 T 1200 1600 5 10 0 0 0 0 1 slotdef=3:14,13,15 T 1200 1800 5 10 0 0 0 0 1 slotdef=4:10,11,9 T 1200 2000 5 10 0 0 0 0 1 footprint=DIP16 T 1200 2200 5 10 0 0 0 0 1 description=4 LOW-to-HIGH voltage level shifter T 200 700 9 10 1 0 0 0 1 40109 geda-gaf-1.8.2/symbols/4000/4075-1.sym0000664000175000017500000000303212204104272013432 00000000000000v 20040710 1 T 1650 1100 5 10 0 0 0 0 1 net=VDD:14 T 1650 1300 5 10 0 0 0 0 1 net=VSS:7 T 1650 1500 5 10 0 0 0 0 1 numslots=3 T 1650 1700 5 10 0 0 0 0 1 slotdef=1:1,2,8,9 T 1650 1900 5 10 0 0 0 0 1 slotdef=2:3,4,5,6 T 1650 2100 5 10 0 0 0 0 1 slotdef=3:11,12,13,10 T 1650 2300 5 10 0 0 0 0 1 slot=1 T 1650 2500 5 10 0 0 0 0 1 device=4075 T 1650 2700 5 10 0 0 0 0 1 footprint=DIP14 T 1650 2900 5 10 0 0 0 0 1 description=3 OR gates with 3 inputs T 1650 3100 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4075B_CNV_3.pdf T 400 0 9 8 1 0 0 0 1 4075 T 1650 3300 5 10 0 0 0 0 1 symversion=1.0 P 1300 500 1000 500 1 0 0 { T 1100 550 5 8 1 1 0 0 1 pinnumber=9 T 1100 450 5 8 0 1 0 2 1 pinseq=4 T 950 500 5 8 0 1 0 8 1 pintype=out T 950 500 9 8 0 1 0 6 1 pinlabel=Y } P 0 500 300 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=2 T 200 450 5 8 0 1 0 8 1 pinseq=2 T 350 500 5 8 0 1 0 2 1 pintype=in T 350 500 9 8 0 1 0 0 1 pinlabel=B } A 36 500 400 312 97 3 0 0 0 -1 -1 L 300 200 600 200 3 0 0 0 -1 -1 L 300 800 600 800 3 0 0 0 -1 -1 A 600 600 400 270 76 3 0 0 0 -1 -1 A 600 400 400 14 76 3 0 0 0 -1 -1 T 400 900 8 10 1 1 0 0 1 refdes=U? P 0 900 300 900 1 0 0 { T 200 950 5 8 1 1 0 6 1 pinnumber=1 T 350 900 5 8 0 1 0 2 1 pintype=in T 350 900 9 8 0 1 0 0 1 pinlabel=A T 200 850 5 8 0 1 0 8 1 pinseq=1 } P 0 100 300 100 1 0 0 { T 200 150 5 8 1 1 0 6 1 pinnumber=8 T 200 50 5 8 0 1 0 8 1 pinseq=3 T 350 100 9 8 0 1 0 0 1 pinlabel=C T 350 100 5 8 0 1 0 2 1 pintype=in } L 300 800 300 1000 3 0 0 0 -1 -1 L 300 0 300 200 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/4000/4000-2.sym0000664000175000017500000000576212204104272013433 00000000000000v 20031231 1 P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=4 T 200 2250 5 8 0 1 0 8 1 pinseq=4 T 350 2300 9 8 1 1 0 0 1 pinlabel=B0 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 300 300 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=8 T 200 250 5 8 0 1 0 8 1 pinseq=8 T 350 300 9 8 1 1 0 0 1 pinlabel=A2 T 350 300 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=13 T 200 1450 5 8 0 1 0 8 1 pinseq=11 T 350 1500 9 8 1 1 0 0 1 pinlabel=A1 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=11 T 200 650 5 8 0 1 0 8 1 pinseq=13 T 350 700 9 8 1 1 0 0 1 pinlabel=C1 T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=5 T 200 1850 5 8 0 1 0 8 1 pinseq=5 T 350 1900 9 8 1 1 0 0 1 pinlabel=C0 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=3 T 200 2650 5 8 0 1 0 8 1 pinseq=3 T 350 2700 9 8 1 1 0 0 1 pinlabel=A0 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 1700 300 2000 300 1 0 1 { T 1800 350 5 8 1 1 0 0 1 pinnumber=9 T 1800 250 5 8 0 1 0 2 1 pinseq=9 T 1650 300 9 8 1 1 0 6 1 pinlabel=Y2 T 1650 300 5 8 0 1 0 8 1 pintype=out } P 1700 1100 2000 1100 1 0 1 { T 1800 1150 5 8 1 1 0 0 1 pinnumber=10 T 1800 1050 5 8 0 1 0 2 1 pinseq=10 T 1650 1100 9 8 1 1 0 6 1 pinlabel=Y1 T 1650 1100 5 8 0 1 0 8 1 pintype=out } P 1700 2300 2000 2300 1 0 1 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=6 T 1800 2250 5 8 0 1 0 2 1 pinseq=6 T 1650 2300 9 8 1 1 0 6 1 pinlabel=Y0 T 1650 2300 5 8 0 1 0 8 1 pintype=out } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=12 T 200 1050 5 8 0 1 0 8 1 pinseq=12 T 350 1100 9 8 1 1 0 0 1 pinlabel=B1 T 350 1100 5 8 0 1 0 2 1 pintype=in } T 300 3250 5 10 0 0 0 0 1 device=4000 A 600 2300 200 300 120 3 0 0 0 -1 -1 A 900 2190 280 24 66 3 0 0 0 -1 -1 A 900 2410 280 270 66 3 0 0 0 -1 -1 L 900 2470 700 2470 3 0 0 0 -1 -1 L 900 2130 700 2130 3 0 0 0 -1 -1 L 770 2400 690 2400 3 0 0 0 -1 -1 L 700 2300 800 2300 3 0 0 0 -1 -1 L 780 2200 700 2200 3 0 0 0 -1 -1 V 1200 2300 40 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 1240 2300 1300 2300 3 0 0 0 -1 -1 V 1140 300 40 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 1180 300 1240 300 3 0 0 0 -1 -1 A 600 1100 200 300 120 3 0 0 0 -1 -1 A 900 990 280 24 66 3 0 0 0 -1 -1 L 900 1270 700 1270 3 0 0 0 -1 -1 L 900 930 700 930 3 0 0 0 -1 -1 L 770 1200 690 1200 3 0 0 0 -1 -1 L 700 1100 800 1100 3 0 0 0 -1 -1 L 780 1000 700 1000 3 0 0 0 -1 -1 V 1200 1100 40 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 1240 1100 1300 1100 3 0 0 0 -1 -1 A 900 1210 280 270 66 3 0 0 0 -1 -1 L 800 500 800 100 3 0 0 0 -1 -1 L 800 100 1100 300 3 0 0 0 -1 -1 L 1100 300 800 500 3 0 0 0 -1 -1 L 800 300 700 300 3 0 0 0 -1 -1 B 300 0 1400 3000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1700 3100 8 10 1 1 0 6 1 refdes=U? T 300 3450 5 10 0 0 0 0 1 footprint=DIP14 T 300 3650 5 10 0 0 0 0 1 description=2 NOR-gates with 3 inputs, 1 NOT-gate T 300 4250 5 10 0 0 0 0 1 numslots=0 T 300 3850 5 10 0 0 0 0 1 net=VDD:14 T 300 4050 5 10 0 0 0 0 1 net=VSS:7 T 300 3050 9 8 1 0 0 0 1 4000 geda-gaf-1.8.2/symbols/4000/4012-1.sym0000664000175000017500000000317012204104272013424 00000000000000v 20040710 1 P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=2 T 200 1050 5 8 0 1 0 8 1 pinseq=1 T 350 1100 5 8 0 1 0 2 1 pintype=in T 350 1100 9 8 0 1 0 0 1 pinlabel=A } P 0 800 300 800 1 0 0 { T 200 850 5 8 1 1 0 6 1 pinnumber=3 T 200 750 5 8 0 1 0 8 1 pinseq=2 T 350 800 5 8 0 1 0 2 1 pintype=in T 350 800 9 8 0 1 0 0 1 pinlabel=B } P 0 400 300 400 1 0 0 { T 200 450 5 8 1 1 0 6 1 pinnumber=4 T 200 350 5 8 0 1 0 8 1 pinseq=3 T 350 400 5 8 0 1 0 2 1 pintype=in T 350 400 9 8 0 1 0 0 1 pinlabel=C } P 0 100 300 100 1 0 0 { T 200 150 5 8 1 1 0 6 1 pinnumber=5 T 200 50 5 8 0 1 0 8 1 pinseq=4 T 350 100 5 8 0 1 0 2 1 pintype=in T 350 100 9 8 0 1 0 0 1 pinlabel=D } T 1800 700 5 10 0 0 0 0 1 net=VDD:14 T 1800 900 5 10 0 0 0 0 1 net=VSS:7 T 1800 1300 5 10 0 0 0 0 1 numslots=2 T 1800 1500 5 10 0 0 0 0 1 slotdef=1:2,3,4,5,1 T 1800 1700 5 10 0 0 0 0 1 slotdef=2:12,11,10,9,13 V 1050 600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1800 1100 5 10 0 0 0 0 1 device=4012 T 1800 1900 5 10 0 0 0 0 1 slot=1 T 1800 2300 5 10 0 0 0 0 1 footprint=DIP14 T 1800 2100 5 10 0 0 0 0 1 description=2 NAND-gates with 2 inputs T 400 100 9 8 1 0 0 0 1 4012 T 1800 2500 5 10 0 0 0 0 1 symversion=1.0 T 400 1000 8 10 1 1 0 0 1 refdes=U? L 300 300 300 900 3 0 0 0 -1 -1 L 300 900 700 900 3 0 0 0 -1 -1 L 300 300 700 300 3 0 0 0 -1 -1 A 700 600 300 270 180 3 0 0 0 -1 -1 L 300 300 300 100 3 0 0 0 -1 -1 L 300 1100 300 900 3 0 0 0 -1 -1 L 300 1100 300 1200 3 0 0 0 -1 -1 L 300 0 300 100 3 0 0 0 -1 -1 P 1300 600 1100 600 1 0 0 { T 1150 650 5 8 1 1 0 0 1 pinnumber=1 T 1150 550 5 8 0 1 0 2 1 pinseq=5 T 1000 600 5 8 0 1 0 8 1 pintype=out T 1000 600 9 8 0 1 0 6 1 pinlabel=Y } geda-gaf-1.8.2/symbols/4000/4508-1.sym0000664000175000017500000000471212204104272013441 00000000000000v 20070626 1 T 1700 3100 8 10 1 1 0 6 1 refdes=U? T 300 3250 5 10 0 0 0 0 1 device=4508 T 300 3450 5 10 0 0 0 0 1 footprint=DIP24 T 300 3650 5 10 0 0 0 0 1 net=VSS:12 T 300 3850 5 10 0 0 0 0 1 net=VDD:24 P 0 300 200 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=3 T 200 250 5 8 0 1 0 8 1 pinseq=1 T 350 300 9 8 1 1 0 0 1 pinlabel=\_OE\_ T 350 300 5 8 0 1 0 2 1 pintype=in } V 250 300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=1 T 200 650 5 8 0 1 0 8 1 pinseq=2 T 350 700 9 8 1 1 0 0 1 pinlabel=RST T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=2 T 200 1050 5 8 0 1 0 8 1 pinseq=3 T 350 1100 9 8 1 1 0 0 1 pinlabel=LE T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=10 T 200 1450 5 8 0 1 0 8 1 pinseq=4 T 350 1500 9 8 1 1 0 0 1 pinlabel=D3 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=8 T 200 1850 5 8 0 1 0 8 1 pinseq=5 T 350 1900 9 8 1 1 0 0 1 pinlabel=D2 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=6 T 200 2250 5 8 0 1 0 8 1 pinseq=6 T 350 2300 9 8 1 1 0 0 1 pinlabel=D1 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=4 T 200 2650 5 8 0 1 0 8 1 pinseq=7 T 350 2700 9 8 1 1 0 0 1 pinlabel=D0 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 2000 1500 1700 1500 1 0 0 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=11 T 1800 1450 5 8 0 1 0 2 1 pinseq=8 T 1650 1500 9 8 1 1 0 6 1 pinlabel=Q3 T 1650 1500 5 8 0 1 0 8 1 pintype=tri } P 2000 1900 1700 1900 1 0 0 { T 1800 1950 5 8 1 1 0 0 1 pinnumber=9 T 1800 1850 5 8 0 1 0 2 1 pinseq=9 T 1650 1900 9 8 1 1 0 6 1 pinlabel=Q2 T 1650 1900 5 8 0 1 0 8 1 pintype=tri } P 2000 2300 1700 2300 1 0 0 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=7 T 1800 2250 5 8 0 1 0 2 1 pinseq=10 T 1650 2300 9 8 1 1 0 6 1 pinlabel=Q1 T 1650 2300 5 8 0 1 0 8 1 pintype=tri } P 2000 2700 1700 2700 1 0 0 { T 1800 2750 5 8 1 1 0 0 1 pinnumber=5 T 1800 2650 5 8 0 1 0 2 1 pinseq=11 T 1650 2700 9 8 1 1 0 6 1 pinlabel=Q0 T 1650 2700 5 8 0 1 0 8 1 pintype=tri } B 300 0 1400 3000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4050 5 10 0 0 0 0 1 slot=1 T 300 4250 5 10 0 0 0 0 1 numslots=2 T 300 4450 5 10 0 0 0 0 1 slotdef=1:3,1,2,10,8,6,4,11,9,7,5 T 300 4650 5 10 0 0 0 0 1 slotdef=2:15,13,14,22,20,18,16,23,21,19,17 T 300 4850 5 10 0 0 0 0 1 description=2 4-bit latches T 300 3050 9 10 1 0 0 0 1 4508 geda-gaf-1.8.2/symbols/4000/40244-1.sym0000664000175000017500000000435212204104272013516 00000000000000v 20070626 1 T 500 2800 8 10 1 1 0 6 1 refdes=U? T 2000 950 5 10 0 0 0 0 1 device=40244 T 2000 1150 5 10 0 0 0 0 1 footprint=DIP20 T 2000 1350 5 10 0 0 0 0 1 net=VSS:10 T 2000 1550 5 10 0 0 0 0 1 net=VDD:20 P 0 700 200 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=1 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 1 1 0 0 1 pinlabel=\_OE\_ T 350 700 5 8 0 1 0 2 1 pintype=in } V 250 700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=8 T 200 1050 5 8 0 1 0 8 1 pinseq=2 T 350 1100 9 8 1 1 0 0 1 pinlabel=D4 T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=6 T 200 1450 5 8 0 1 0 8 1 pinseq=3 T 350 1500 9 8 1 1 0 0 1 pinlabel=D3 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=4 T 200 1850 5 8 0 1 0 8 1 pinseq=4 T 350 1900 9 8 1 1 0 0 1 pinlabel=D2 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=2 T 200 2250 5 8 0 1 0 8 1 pinseq=5 T 350 2300 9 8 1 1 0 0 1 pinlabel=D1 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 1600 1100 1300 1100 1 0 0 { T 1400 1150 5 8 1 1 0 0 1 pinnumber=12 T 1400 1050 5 8 0 1 0 2 1 pinseq=6 T 1250 1100 9 8 1 1 0 6 1 pinlabel=Q4 T 1250 1100 5 8 0 1 0 8 1 pintype=tri } P 1600 1500 1300 1500 1 0 0 { T 1400 1550 5 8 1 1 0 0 1 pinnumber=14 T 1400 1450 5 8 0 1 0 2 1 pinseq=7 T 1250 1500 9 8 1 1 0 6 1 pinlabel=Q3 T 1250 1500 5 8 0 1 0 8 1 pintype=tri } P 1600 1900 1300 1900 1 0 0 { T 1400 1950 5 8 1 1 0 0 1 pinnumber=16 T 1400 1850 5 8 0 1 0 2 1 pinseq=8 T 1250 1900 9 8 1 1 0 6 1 pinlabel=Q2 T 1250 1900 5 8 0 1 0 8 1 pintype=tri } P 1600 2300 1300 2300 1 0 0 { T 1400 2350 5 8 1 1 0 0 1 pinnumber=18 T 1400 2250 5 8 0 1 0 2 1 pinseq=9 T 1250 2300 9 8 1 1 0 6 1 pinlabel=Q1 T 1250 2300 5 8 0 1 0 8 1 pintype=tri } B 300 300 1000 2400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2000 1750 5 10 0 0 0 0 1 slot=1 T 2000 1950 5 10 0 0 0 0 1 numslots=2 T 2000 2150 5 10 0 0 0 0 1 slotdef=1:1,8,6,4,2,12,14,16,18 T 2000 2350 5 10 0 0 0 0 1 slotdef=2:19,17,15,13,11,3,5,7,9 T 2000 750 5 10 0 0 0 0 1 description=2 quad bus driver T 2000 550 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF40244B_CNV_3.pdf T 300 50 9 10 1 0 0 0 1 40244 geda-gaf-1.8.2/symbols/4000/4047-1.sym0000664000175000017500000000527412204104272013443 00000000000000v 20070626 1 V 250 1700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 1100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 1100 0 1100 1 0 1 { T 200 1150 5 8 1 1 0 6 1 pinnumber=6 T 200 1050 5 8 0 1 0 8 1 pinseq=6 T 350 1100 9 8 1 1 0 0 1 pinlabel=-\_TRIG\_ T 350 1100 5 8 0 1 0 2 1 pintype=in } P 1600 1700 1900 1700 1 0 1 { T 1700 1750 5 8 1 1 0 0 1 pinnumber=10 T 1700 1650 5 8 0 1 0 2 1 pinseq=10 T 1550 1700 9 8 1 1 0 6 1 pinlabel=Q T 1550 1700 5 8 0 1 0 8 1 pintype=out } V 1650 1300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1700 1300 1900 1300 1 0 1 { T 1700 1350 5 8 1 1 0 0 1 pinnumber=11 T 1700 1250 5 8 0 1 0 2 1 pinseq=11 T 1550 1300 9 8 1 1 0 6 1 pinlabel=\_Q\_ T 1550 1300 5 8 0 1 0 8 1 pintype=out } P 300 2000 0 2000 1 0 1 { T 200 2050 5 8 1 1 0 6 1 pinnumber=3 T 200 1950 5 8 0 1 0 8 1 pinseq=3 T 350 2000 9 8 1 1 0 0 1 pinlabel=RC T 350 2000 5 8 0 1 0 2 1 pintype=pas } P 300 200 0 200 1 0 1 { T 200 250 5 8 1 1 0 6 1 pinnumber=12 T 200 150 5 8 0 1 0 8 1 pinseq=12 T 350 200 9 8 1 1 0 0 1 pinlabel=RTRIG T 350 200 5 8 0 1 0 2 1 pintype=in } P 300 2300 0 2300 1 0 1 { T 200 2350 5 8 1 1 0 6 1 pinnumber=2 T 200 2250 5 8 0 1 0 8 1 pinseq=2 T 350 2300 9 8 1 1 0 0 1 pinlabel=R T 350 2300 5 8 0 1 0 2 1 pintype=pas } P 300 2600 0 2600 1 0 1 { T 200 2650 5 8 1 1 0 6 1 pinnumber=1 T 200 2550 5 8 0 1 0 8 1 pinseq=1 T 350 2600 9 8 1 1 0 0 1 pinlabel=C T 350 2600 5 8 0 1 0 2 1 pintype=pas } P 200 1700 0 1700 1 0 1 { T 200 1750 5 8 1 1 0 6 1 pinnumber=4 T 200 1650 5 8 0 1 0 8 1 pinseq=4 T 350 1700 9 8 1 1 0 0 1 pinlabel=\_AST\_ T 350 1700 5 8 0 1 0 2 1 pintype=in } P 1600 2300 1900 2300 1 0 1 { T 1700 2350 5 8 1 1 0 0 1 pinnumber=13 T 1700 2250 5 8 0 1 0 2 1 pinseq=13 T 1550 2300 9 8 1 1 0 6 1 pinlabel=OSC T 1550 2300 5 8 0 1 0 8 1 pintype=out } B 300 0 1300 2800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 3050 5 10 0 0 0 0 1 device=4047 T 300 3250 5 10 0 0 0 0 1 footprint=DIP14 P 300 1400 0 1400 1 0 1 { T 200 1450 5 8 1 1 0 6 1 pinnumber=5 T 200 1350 5 8 0 1 0 8 1 pinseq=5 T 350 1400 9 8 1 1 0 0 1 pinlabel=AST T 350 1400 5 8 0 1 0 2 1 pintype=in } P 300 800 0 800 1 0 1 { T 200 850 5 8 1 1 0 6 1 pinnumber=8 T 200 750 5 8 0 1 0 8 1 pinseq=8 T 350 800 9 8 1 1 0 0 1 pinlabel=+TRIG T 350 800 5 8 0 1 0 2 1 pintype=in } P 300 500 0 500 1 0 1 { T 200 550 5 8 1 1 0 6 1 pinnumber=9 T 200 450 5 8 0 1 0 8 1 pinseq=9 T 350 500 9 8 1 1 0 0 1 pinlabel=RST T 350 500 5 8 0 1 0 2 1 pintype=in } T 1600 2900 8 10 1 1 0 6 1 refdes=U? T 300 3450 5 10 0 0 0 0 1 description=monostable/astable multivibrator T 300 4250 5 10 0 0 0 0 1 numslots=0 T 300 3650 5 10 0 0 0 0 1 net=VDD:14 T 300 3850 5 10 0 0 0 0 1 net=VSS:7 T 300 4050 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4047B_CNV_3.pdf T 300 2850 3 10 1 0 0 0 1 4047 geda-gaf-1.8.2/symbols/4000/40163-1.sym0000664000175000017500000000612612204104272013517 00000000000000v 20070626 1 T 500 4400 8 10 1 1 0 6 1 refdes=U? T 2000 950 5 10 0 0 0 0 1 device=40163 T 2000 1150 5 10 0 0 0 0 1 footprint=DIP16 T 2000 1350 5 10 0 0 0 0 1 net=VSS:8 T 2000 1550 5 10 0 0 0 0 1 net=VDD:16 P 0 3100 200 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=9 T 200 3050 5 8 0 1 0 8 1 pinseq=1 T 350 3100 9 8 1 1 0 0 1 pinlabel=\_LOAD\_ T 350 3100 5 8 0 1 0 2 1 pintype=in } V 250 3100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3500 200 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=1 T 200 3450 5 8 0 1 0 8 1 pinseq=2 T 350 3500 9 8 1 1 0 0 1 pinlabel=\_CLR\_ T 350 3500 5 8 0 1 0 2 1 pintype=in } V 250 3500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=6 T 200 1450 5 8 0 1 0 8 1 pinseq=3 T 350 1500 9 8 1 1 0 0 1 pinlabel=I3 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=5 T 200 1850 5 8 0 1 0 8 1 pinseq=4 T 350 1900 9 8 1 1 0 0 1 pinlabel=I2 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=4 T 200 2250 5 8 0 1 0 8 1 pinseq=5 T 350 2300 9 8 1 1 0 0 1 pinlabel=I1 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=3 T 200 2650 5 8 0 1 0 8 1 pinseq=6 T 350 2700 9 8 1 1 0 0 1 pinlabel=I0 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=10 T 200 650 5 8 0 1 0 8 1 pinseq=7 T 350 700 9 8 1 1 0 0 1 pinlabel=ENT T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=7 T 200 1050 5 8 0 1 0 8 1 pinseq=8 T 350 1100 9 8 1 1 0 0 1 pinlabel=ENP T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 3900 300 3900 1 0 0 { T 200 3950 5 8 1 1 0 6 1 pinnumber=2 T 200 3850 5 8 0 1 0 8 1 pinseq=9 T 400 3900 9 8 1 1 0 0 1 pinlabel=CLK T 400 3900 5 8 0 1 0 2 1 pintype=clk } L 400 3900 300 3975 3 0 0 0 -1 -1 L 400 3900 300 3825 3 0 0 0 -1 -1 P 1600 3900 1300 3900 1 0 0 { T 1400 3950 5 8 1 1 0 0 1 pinnumber=15 T 1400 3850 5 8 0 1 0 2 1 pinseq=10 T 1250 3900 9 8 1 1 0 6 1 pinlabel=RCO T 1250 3900 5 8 0 1 0 8 1 pintype=out } P 1600 1500 1300 1500 1 0 0 { T 1400 1550 5 8 1 1 0 0 1 pinnumber=11 T 1400 1450 5 8 0 1 0 2 1 pinseq=11 T 1250 1500 9 8 1 1 0 6 1 pinlabel=Q3 T 1250 1500 5 8 0 1 0 8 1 pintype=out } P 1600 1900 1300 1900 1 0 0 { T 1400 1950 5 8 1 1 0 0 1 pinnumber=12 T 1400 1850 5 8 0 1 0 2 1 pinseq=12 T 1250 1900 9 8 1 1 0 6 1 pinlabel=Q2 T 1250 1900 5 8 0 1 0 8 1 pintype=out } P 1600 2300 1300 2300 1 0 0 { T 1400 2350 5 8 1 1 0 0 1 pinnumber=13 T 1400 2250 5 8 0 1 0 2 1 pinseq=13 T 1250 2300 9 8 1 1 0 6 1 pinlabel=Q1 T 1250 2300 5 8 0 1 0 8 1 pintype=out } P 1600 2700 1300 2700 1 0 0 { T 1400 2750 5 8 1 1 0 0 1 pinnumber=14 T 1400 2650 5 8 0 1 0 2 1 pinseq=14 T 1250 2700 9 8 1 1 0 6 1 pinlabel=Q0 T 1250 2700 5 8 0 1 0 8 1 pintype=out } B 300 300 1000 4000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2000 750 5 10 0 0 0 0 1 description=4-bit synchronous programmable binary counter T 2000 1750 5 10 0 0 0 0 1 numslots=0 T 2000 550 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF40163B_CNV_3.pdf T 300 50 9 10 1 0 0 0 1 40163 geda-gaf-1.8.2/symbols/4000/4518-1.sym0000664000175000017500000000347412204104272013446 00000000000000v 20031231 1 P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=1 T 200 1450 5 8 0 1 0 8 1 pinseq=1 T 350 1500 9 8 1 1 0 0 1 pinlabel=CLK T 350 1500 5 8 0 1 0 2 1 pintype=clk } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=2 T 200 1050 5 8 0 1 0 8 1 pinseq=2 T 350 1100 9 8 1 1 0 0 1 pinlabel=EN T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 300 300 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=7 T 200 250 5 8 0 1 0 8 1 pinseq=7 T 350 300 9 8 1 1 0 0 1 pinlabel=RST T 350 300 5 8 0 1 0 2 1 pintype=in } P 1800 1500 2100 1500 1 0 1 { T 1900 1550 5 8 1 1 0 0 1 pinnumber=3 T 1900 1450 5 8 0 1 0 2 1 pinseq=3 T 1750 1500 9 8 1 1 0 6 1 pinlabel=Q1 T 1750 1500 5 8 0 1 0 8 1 pintype=out } P 1800 1100 2100 1100 1 0 1 { T 1900 1150 5 8 1 1 0 0 1 pinnumber=4 T 1900 1050 5 8 0 1 0 2 1 pinseq=4 T 1750 1100 9 8 1 1 0 6 1 pinlabel=Q2 T 1750 1100 5 8 0 1 0 8 1 pintype=out } P 1800 700 2100 700 1 0 1 { T 1900 750 5 8 1 1 0 0 1 pinnumber=5 T 1900 650 5 8 0 1 0 2 1 pinseq=5 T 1750 700 9 8 1 1 0 6 1 pinlabel=Q3 T 1750 700 5 8 0 1 0 8 1 pintype=out } P 1800 300 2100 300 1 0 1 { T 1900 350 5 8 1 1 0 0 1 pinnumber=6 T 1900 250 5 8 0 1 0 2 1 pinseq=6 T 1750 300 9 8 1 1 0 6 1 pinlabel=Q4 T 1750 300 5 8 0 1 0 8 1 pintype=out } B 300 0 1500 1800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 2050 5 10 0 0 0 0 1 device=4518 T 300 2250 5 10 0 0 0 0 1 footprint=DIP16 T 300 2450 5 10 0 0 0 0 1 slot=1 T 300 3050 5 10 0 0 0 0 1 numslots=2 T 300 2850 5 10 0 0 0 0 1 slotdef=1:1,2,3,4,5,6,7 T 300 2650 5 10 0 0 0 0 1 slotdef=2:9,10,11,12,13,14,15 T 1800 1900 8 10 1 1 0 6 1 refdes=U? T 300 3850 5 10 0 0 0 0 1 description=2 BCD counter T 300 3250 5 10 0 0 0 0 1 net=VDD:16 T 300 3450 5 10 0 0 0 0 1 net=VSS:8 T 300 3650 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4518B_CNV_3.pdf T 300 1850 3 10 1 0 0 0 1 4518 geda-gaf-1.8.2/symbols/4000/4013-1.sym0000664000175000017500000000317412204104272013431 00000000000000v 20031231 1 B 300 300 1000 1600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1800 1800 5 10 0 0 0 0 1 device=4013 T 1800 1000 5 10 0 0 0 0 1 slot=1 T 1800 1200 5 10 0 0 0 0 1 numslots=2 T 1800 1400 5 10 0 0 0 0 1 slotdef=1:6,5,3,4,1,2 T 1800 1600 5 10 0 0 0 0 1 slotdef=2:8,9,11,10,13,12 P 800 0 800 300 1 0 0 { T 850 100 5 8 1 1 0 0 1 pinnumber=6 T 850 100 5 8 0 1 0 2 1 pinseq=1 T 800 350 9 8 1 1 0 3 1 pinlabel=PRE T 800 450 5 8 0 1 0 3 1 pintype=in } P 300 1600 0 1600 1 0 1 { T 200 1650 5 8 1 1 0 6 1 pinnumber=5 T 200 1550 5 8 0 1 0 8 1 pinseq=2 T 350 1600 9 8 1 1 0 0 1 pinlabel=D T 350 1600 5 8 0 1 0 2 1 pintype=in } P 300 600 0 600 1 0 1 { T 200 650 5 8 1 1 0 6 1 pinnumber=3 T 200 550 5 8 0 1 0 8 1 pinseq=3 T 400 600 9 8 1 1 0 0 1 pinlabel=CLK T 400 600 5 8 0 1 0 2 1 pintype=clk } L 300 700 400 600 3 0 0 0 -1 -1 L 400 600 300 500 3 0 0 0 -1 -1 P 800 1900 800 2200 1 0 1 { T 850 2000 5 8 1 1 0 0 1 pinnumber=4 T 850 2000 5 8 0 1 0 2 1 pinseq=4 T 800 1850 9 8 1 1 0 5 1 pinlabel=CLR T 800 1750 5 8 0 1 0 5 1 pintype=in } P 1600 1600 1300 1600 1 0 0 { T 1400 1650 5 8 1 1 0 0 1 pinnumber=1 T 1400 1550 5 8 0 1 0 2 1 pinseq=5 T 1250 1600 9 8 1 1 0 6 1 pinlabel=Q T 1250 1600 5 8 0 1 0 8 1 pintype=out } V 1350 600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1400 600 1600 600 1 0 1 { T 1400 650 5 8 1 1 0 0 1 pinnumber=2 T 1400 550 5 8 0 1 0 2 1 pinseq=6 T 1250 600 9 8 1 1 0 6 1 pinlabel=Q T 1250 600 5 8 0 1 0 8 1 pintype=out } T 1300 2000 8 10 1 1 0 6 1 refdes=U? T 1800 200 5 10 0 0 0 0 1 footprint=DIP14 T 1800 400 5 10 0 0 0 0 1 description=2 D-type flip-flops T 1800 600 5 10 0 0 0 0 1 net=VDD:14 T 1800 800 5 10 0 0 0 0 1 net=VSS:7 T 350 150 9 8 1 0 0 0 1 4013 geda-gaf-1.8.2/symbols/4000/4098-1.sym0000664000175000017500000000347012204104272013445 00000000000000v 20070626 1 T 300 2000 8 10 1 1 0 6 1 refdes=U? T 2000 950 5 10 0 0 0 0 1 device=4098 T 2000 1150 5 10 0 0 0 0 1 footprint=DIP16 T 2000 1350 5 10 0 0 0 0 1 net=VSS:8 T 2000 1550 5 10 0 0 0 0 1 net=VDD:16 P 0 700 200 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=3 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 1 1 0 0 1 pinlabel=Reset T 350 700 5 8 0 1 0 2 1 pintype=in } V 250 700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=4 T 200 1050 5 8 0 1 0 8 1 pinseq=2 T 350 1100 9 8 1 1 0 0 1 pinlabel=+TR T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=5 T 200 1450 5 8 0 1 0 8 1 pinseq=3 T 350 1500 9 8 1 1 0 0 1 pinlabel=-TR T 350 1500 5 8 0 1 0 2 1 pintype=in } P 1600 900 1400 900 1 0 0 { T 1400 950 5 8 1 1 0 0 1 pinnumber=7 T 1400 850 5 8 0 1 0 2 1 pinseq=4 T 1250 900 9 8 1 1 0 6 1 pinlabel=\_Q\_ T 1250 900 5 8 0 1 0 8 1 pintype=out } V 1350 900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1600 1300 1300 1300 1 0 0 { T 1400 1350 5 8 1 1 0 0 1 pinnumber=6 T 1400 1250 5 8 0 1 0 2 1 pinseq=5 T 1250 1300 9 8 1 1 0 6 1 pinlabel=Q T 1250 1300 5 8 0 1 0 8 1 pintype=out } P 1000 2200 1000 1900 1 0 0 { T 1050 2000 5 8 1 1 0 0 1 pinnumber=2 T 1050 2000 5 8 0 1 0 2 1 pinseq=6 T 1000 1850 9 8 1 1 0 5 1 pinlabel=RC T 1000 1700 5 8 0 1 0 5 1 pintype=pas } P 600 2200 600 1900 1 0 0 { T 650 2000 5 8 1 1 0 0 1 pinnumber=1 T 650 2000 5 8 0 1 0 2 1 pinseq=7 T 600 1850 9 8 1 1 0 5 1 pinlabel=C T 600 1700 5 8 0 1 0 5 1 pintype=pas } B 300 300 1000 1600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2000 1750 5 10 0 0 0 0 1 slot=1 T 2000 1950 5 10 0 0 0 0 1 numslots=2 T 2000 2150 5 10 0 0 0 0 1 slotdef=2:13,12,11,9,10,14,15 T 2000 2350 5 10 0 0 0 0 1 slotdef=1:3,4,5,7,6,2,1 T 2000 750 5 10 0 0 0 0 1 description=2 monostable multivibrators T 300 50 9 10 1 0 0 0 1 4098 geda-gaf-1.8.2/symbols/4000/4737-1.sym0000664000175000017500000000650212204104272013444 00000000000000v 20031231 1 T 1700 3500 8 10 1 1 0 6 1 refdes=U? T 300 3650 5 10 0 0 0 0 1 device=4737 T 300 3850 5 10 0 0 0 0 1 footprint=DIP18 T 300 4050 5 10 0 0 0 0 1 net=VSS:1 T 300 4250 5 10 0 0 0 0 1 net=VDD:10 P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=9 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 1 1 0 0 1 pinlabel=T T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=16 T 200 1050 5 8 0 1 0 8 1 pinseq=2 T 350 1100 9 8 1 1 0 0 1 pinlabel=SC T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=17 T 200 1450 5 8 0 1 0 8 1 pinseq=3 T 350 1500 9 8 1 1 0 0 1 pinlabel=SB T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=15 T 200 1850 5 8 0 1 0 8 1 pinseq=4 T 350 1900 9 8 1 1 0 0 1 pinlabel=SA T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=12 T 200 2250 5 8 0 1 0 8 1 pinseq=5 T 350 2300 9 8 1 1 0 0 1 pinlabel=PL T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 300 300 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=11 T 200 250 5 8 0 1 0 8 1 pinseq=6 T 350 300 9 8 1 1 0 0 1 pinlabel=OE T 350 300 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=13 T 200 2650 5 8 0 1 0 8 1 pinseq=7 T 350 2700 9 8 1 1 0 0 1 pinlabel=MR T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=14 T 200 3050 5 8 0 1 0 8 1 pinseq=8 T 400 3100 9 8 1 1 0 0 1 pinlabel=CP T 400 3100 5 8 0 1 0 2 1 pintype=in } L 400 3100 300 3175 3 0 0 0 -1 -1 L 400 3100 300 3025 3 0 0 0 -1 -1 P 2000 1900 1700 1900 1 0 0 { T 1800 1950 5 8 1 1 0 0 1 pinnumber=18 T 1800 1850 5 8 0 1 0 2 1 pinseq=9 T 1650 1900 9 8 1 1 0 6 1 pinlabel=Q3 T 1650 1900 5 8 0 1 0 8 1 pintype=out } P 2000 2300 1700 2300 1 0 0 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=3 T 1800 2250 5 8 0 1 0 2 1 pinseq=10 T 1650 2300 9 8 1 1 0 6 1 pinlabel=Q2 T 1650 2300 5 8 0 1 0 8 1 pintype=out } P 2000 2700 1700 2700 1 0 0 { T 1800 2750 5 8 1 1 0 0 1 pinnumber=2 T 1800 2650 5 8 0 1 0 2 1 pinseq=11 T 1650 2700 9 8 1 1 0 6 1 pinlabel=Q1 T 1650 2700 5 8 0 1 0 8 1 pintype=out } P 2000 3100 1700 3100 1 0 0 { T 1800 3150 5 8 1 1 0 0 1 pinnumber=4 T 1800 3050 5 8 0 1 0 2 1 pinseq=12 T 1650 3100 9 8 1 1 0 6 1 pinlabel=Q0 T 1650 3100 5 8 0 1 0 8 1 pintype=out } P 2000 300 1700 300 1 0 0 { T 1800 350 5 8 1 1 0 0 1 pinnumber=8 T 1800 250 5 8 0 1 0 2 1 pinseq=13 T 1650 300 9 8 1 1 0 6 1 pinlabel=CQ5 T 1650 300 5 8 0 1 0 8 1 pintype=out } P 2000 700 1700 700 1 0 0 { T 1800 750 5 8 1 1 0 0 1 pinnumber=7 T 1800 650 5 8 0 1 0 2 1 pinseq=14 T 1650 700 9 8 1 1 0 6 1 pinlabel=CQ4 T 1650 700 5 8 0 1 0 8 1 pintype=out } P 2000 1100 1700 1100 1 0 0 { T 1800 1150 5 8 1 1 0 0 1 pinnumber=6 T 1800 1050 5 8 0 1 0 2 1 pinseq=15 T 1650 1100 9 8 1 1 0 6 1 pinlabel=CQ3 T 1650 1100 5 8 0 1 0 8 1 pintype=out } P 2000 1500 1700 1500 1 0 0 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=5 T 1800 1450 5 8 0 1 0 2 1 pinseq=16 T 1650 1500 9 8 1 1 0 6 1 pinlabel=CQ2 T 1650 1500 5 8 0 1 0 8 1 pintype=out } B 300 0 1400 3400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4650 5 10 0 0 0 0 1 description=quadruple static decade counter T 300 4450 5 10 0 0 0 0 1 numslots=0 T 300 4850 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4737B_V_CNV_3.pdf T 300 3450 9 10 1 0 0 0 1 4737 geda-gaf-1.8.2/symbols/4000/4503-1.sym0000664000175000017500000000623212204104272013433 00000000000000v 20070626 1 T 1600 3500 8 10 1 1 0 6 1 refdes=U? T 300 3650 5 10 0 0 0 0 1 device=4503 T 300 3850 5 10 0 0 0 0 1 footprint=DIP16 T 300 4050 5 10 0 0 0 0 1 net=VSS:8 T 300 4250 5 10 0 0 0 0 1 net=VDD:16 P 0 300 200 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=15 T 200 250 5 8 0 1 0 8 1 pinseq=1 T 350 300 9 8 1 1 0 0 1 pinlabel=\_OE2\_ T 350 300 5 8 0 1 0 2 1 pintype=in } V 250 300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=14 T 200 650 5 8 0 1 0 8 1 pinseq=2 T 350 700 9 8 1 1 0 0 1 pinlabel=A6 T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=12 T 200 1050 5 8 0 1 0 8 1 pinseq=3 T 350 1100 9 8 1 1 0 0 1 pinlabel=A5 T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=10 T 200 1850 5 8 0 1 0 8 1 pinseq=4 T 350 1900 9 8 1 1 0 0 1 pinlabel=A4 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=6 T 200 2250 5 8 0 1 0 8 1 pinseq=5 T 350 2300 9 8 1 1 0 0 1 pinlabel=A3 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=4 T 200 2650 5 8 0 1 0 8 1 pinseq=6 T 350 2700 9 8 1 1 0 0 1 pinlabel=A2 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=2 T 200 3050 5 8 0 1 0 8 1 pinseq=7 T 350 3100 9 8 1 1 0 0 1 pinlabel=A1 T 350 3100 5 8 0 1 0 2 1 pintype=in } P 2000 700 1800 700 1 0 0 { T 1800 750 5 8 1 1 0 0 1 pinnumber=13 T 1800 650 5 8 0 1 0 2 1 pinseq=8 T 1650 700 9 8 1 1 0 6 1 pinlabel=\_Y6\_ T 1650 700 5 8 0 1 0 8 1 pintype=tri } V 1750 700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 1100 1800 1100 1 0 0 { T 1800 1150 5 8 1 1 0 0 1 pinnumber=11 T 1800 1050 5 8 0 1 0 2 1 pinseq=9 T 1650 1100 9 8 1 1 0 6 1 pinlabel=\_Y5\_ T 1650 1100 5 8 0 1 0 8 1 pintype=tri } V 1750 1100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 1900 1800 1900 1 0 0 { T 1800 1950 5 8 1 1 0 0 1 pinnumber=9 T 1800 1850 5 8 0 1 0 2 1 pinseq=10 T 1650 1900 9 8 1 1 0 6 1 pinlabel=\_Y4\_ T 1650 1900 5 8 0 1 0 8 1 pintype=tri } V 1750 1900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 2300 1800 2300 1 0 0 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=7 T 1800 2250 5 8 0 1 0 2 1 pinseq=11 T 1650 2300 9 8 1 1 0 6 1 pinlabel=\_Y3\_ T 1650 2300 5 8 0 1 0 8 1 pintype=tri } V 1750 2300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 2700 1800 2700 1 0 0 { T 1800 2750 5 8 1 1 0 0 1 pinnumber=5 T 1800 2650 5 8 0 1 0 2 1 pinseq=12 T 1650 2700 9 8 1 1 0 6 1 pinlabel=\_Y2\_ T 1650 2700 5 8 0 1 0 8 1 pintype=tri } V 1750 2700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 3100 1800 3100 1 0 0 { T 1800 3150 5 8 1 1 0 0 1 pinnumber=3 T 1800 3050 5 8 0 1 0 2 1 pinseq=13 T 1650 3100 9 8 1 1 0 6 1 pinlabel=\_Y1\_ T 1650 3100 5 8 0 1 0 8 1 pintype=tri } V 1750 3100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1500 200 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=1 T 200 1450 5 8 0 1 0 8 1 pinseq=14 T 350 1500 9 8 1 1 0 0 1 pinlabel=\_OE1\_ T 350 1500 5 8 0 1 0 2 1 pintype=in } V 250 1500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 300 0 1400 3400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4650 5 10 0 0 0 0 1 description=hex bus driver T 300 4450 5 10 0 0 0 0 1 numslots=0 T 300 3450 9 10 1 0 0 0 1 4503 geda-gaf-1.8.2/symbols/4000/4076-1.sym0000664000175000017500000000576312204104272013450 00000000000000v 20031231 1 T 400 2400 8 10 1 1 0 6 1 refdes=U? T 2900 950 5 10 0 0 0 0 1 device=4076 T 2900 1150 5 10 0 0 0 0 1 footprint=DIP16 T 2900 1350 5 10 0 0 0 0 1 net=VSS:8 T 2900 1550 5 10 0 0 0 0 1 net=VDD:16 P 1400 0 1400 300 1 0 0 { T 1450 100 5 8 1 1 0 0 1 pinnumber=15 T 1450 100 5 8 0 1 0 2 1 pinseq=1 T 1400 350 9 8 1 1 0 3 1 pinlabel=R T 1400 500 5 8 0 1 0 3 1 pintype=in } P 1000 0 1000 300 1 0 0 { T 1050 100 5 8 1 1 0 0 1 pinnumber=7 T 1050 100 5 8 0 1 0 2 1 pinseq=2 T 1000 425 9 8 1 1 0 3 1 pinlabel=CLK T 1000 575 5 8 0 1 0 3 1 pintype=clk } L 1000 400 1075 300 3 0 0 0 -1 -1 L 1000 400 925 300 3 0 0 0 -1 -1 P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=11 T 200 650 5 8 0 1 0 8 1 pinseq=3 T 350 700 9 8 1 1 0 0 1 pinlabel=D3 T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=12 T 200 1050 5 8 0 1 0 8 1 pinseq=4 T 350 1100 9 8 1 1 0 0 1 pinlabel=D2 T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=13 T 200 1450 5 8 0 1 0 8 1 pinseq=5 T 350 1500 9 8 1 1 0 0 1 pinlabel=D1 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=14 T 200 1850 5 8 0 1 0 8 1 pinseq=6 T 350 1900 9 8 1 1 0 0 1 pinlabel=D0 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 2500 700 2200 700 1 0 0 { T 2300 750 5 8 1 1 0 0 1 pinnumber=6 T 2300 650 5 8 0 1 0 2 1 pinseq=7 T 2150 700 9 8 1 1 0 6 1 pinlabel=Q3 T 2150 700 5 8 0 1 0 8 1 pintype=out } P 2500 1100 2200 1100 1 0 0 { T 2300 1150 5 8 1 1 0 0 1 pinnumber=5 T 2300 1050 5 8 0 1 0 2 1 pinseq=8 T 2150 1100 9 8 1 1 0 6 1 pinlabel=Q2 T 2150 1100 5 8 0 1 0 8 1 pintype=out } P 2500 1500 2200 1500 1 0 0 { T 2300 1550 5 8 1 1 0 0 1 pinnumber=4 T 2300 1450 5 8 0 1 0 2 1 pinseq=9 T 2150 1500 9 8 1 1 0 6 1 pinlabel=Q1 T 2150 1500 5 8 0 1 0 8 1 pintype=out } P 2500 1900 2200 1900 1 0 0 { T 2300 1950 5 8 1 1 0 0 1 pinnumber=3 T 2300 1850 5 8 0 1 0 2 1 pinseq=10 T 2150 1900 9 8 1 1 0 6 1 pinlabel=Q0 T 2150 1900 5 8 0 1 0 8 1 pintype=out } P 1800 2600 1800 2300 1 0 0 { T 1850 2400 5 8 1 1 0 0 1 pinnumber=2 T 1850 2400 5 8 0 1 0 2 1 pinseq=11 T 1800 2250 9 8 1 1 0 5 1 pinlabel=N T 1800 2100 5 8 0 1 0 5 1 pintype=in } P 1400 2600 1400 2300 1 0 0 { T 1450 2400 5 8 1 1 0 0 1 pinnumber=1 T 1450 2400 5 8 0 1 0 2 1 pinseq=12 T 1400 2250 9 8 1 1 0 5 1 pinlabel=M T 1400 2100 5 8 0 1 0 5 1 pintype=in } P 1000 2600 1000 2300 1 0 0 { T 1050 2400 5 8 1 1 0 0 1 pinnumber=10 T 1050 2400 5 8 0 1 0 2 1 pinseq=13 T 1000 2250 9 8 1 1 0 5 1 pinlabel=G2 T 1000 2100 5 8 0 1 0 5 1 pintype=in } P 600 2600 600 2300 1 0 0 { T 650 2400 5 8 1 1 0 0 1 pinnumber=9 T 650 2400 5 8 0 1 0 2 1 pinseq=14 T 600 2250 9 8 1 1 0 5 1 pinlabel=G1 T 600 2100 5 8 0 1 0 5 1 pintype=in } B 300 300 1900 2000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2900 750 5 10 0 0 0 0 1 description=quadruple D-type register with 3-state outputs T 2900 1750 5 10 0 0 0 0 1 numslots=0 T 2900 550 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4076B_CNV_3.pdf T 300 50 9 10 1 0 0 0 1 4076 geda-gaf-1.8.2/symbols/4000/4061-1.sym0000664000175000017500000000561512204104272013436 00000000000000v 20070626 1 T 500 5600 8 10 1 1 0 6 1 refdes=U? T 2000 950 5 10 0 0 0 0 1 device=4061 T 2000 1150 5 10 0 0 0 0 1 footprint=none T 2000 1350 5 10 0 0 0 0 1 net=VSS:8 T 2000 1550 5 10 0 0 0 0 1 net=VDD:16 P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=12 T 200 1050 5 8 0 1 0 8 1 pinseq=1 T 350 1100 9 8 1 1 0 0 1 pinlabel=CLR T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=11 T 200 650 5 8 0 1 0 8 1 pinseq=2 T 400 700 9 8 1 1 0 0 1 pinlabel=CKI T 400 700 5 8 0 1 0 2 1 pintype=in } L 400 700 300 775 3 0 0 0 -1 -1 L 400 700 300 625 3 0 0 0 -1 -1 P 1600 1100 1400 1100 1 0 0 { T 1400 1150 5 8 1 1 0 0 1 pinnumber=10 T 1400 1050 5 8 0 1 0 2 1 pinseq=3 T 1250 1100 9 8 1 1 0 6 1 pinlabel=\_CKO\_ T 1250 1100 5 8 0 1 0 8 1 pintype=out } V 1350 1100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1600 2700 1300 2700 1 0 0 { T 1400 2750 5 8 1 1 0 0 1 pinnumber=15 T 1400 2650 5 8 0 1 0 2 1 pinseq=4 T 1250 2700 9 8 1 1 0 6 1 pinlabel=Q9 T 1250 2700 5 8 0 1 0 8 1 pintype=out } P 1600 3100 1300 3100 1 0 0 { T 1400 3150 5 8 1 1 0 0 1 pinnumber=13 T 1400 3050 5 8 0 1 0 2 1 pinseq=5 T 1250 3100 9 8 1 1 0 6 1 pinlabel=Q8 T 1250 3100 5 8 0 1 0 8 1 pintype=out } P 1600 3500 1300 3500 1 0 0 { T 1400 3550 5 8 1 1 0 0 1 pinnumber=14 T 1400 3450 5 8 0 1 0 2 1 pinseq=6 T 1250 3500 9 8 1 1 0 6 1 pinlabel=Q7 T 1250 3500 5 8 0 1 0 8 1 pintype=out } P 1600 3900 1300 3900 1 0 0 { T 1400 3950 5 8 1 1 0 0 1 pinnumber=6 T 1400 3850 5 8 0 1 0 2 1 pinseq=7 T 1250 3900 9 8 1 1 0 6 1 pinlabel=Q6 T 1250 3900 5 8 0 1 0 8 1 pintype=out } P 1600 4300 1300 4300 1 0 0 { T 1400 4350 5 8 1 1 0 0 1 pinnumber=4 T 1400 4250 5 8 0 1 0 2 1 pinseq=8 T 1250 4300 9 8 1 1 0 6 1 pinlabel=Q5 T 1250 4300 5 8 0 1 0 8 1 pintype=out } P 1600 4700 1300 4700 1 0 0 { T 1400 4750 5 8 1 1 0 0 1 pinnumber=5 T 1400 4650 5 8 0 1 0 2 1 pinseq=9 T 1250 4700 9 8 1 1 0 6 1 pinlabel=Q4 T 1250 4700 5 8 0 1 0 8 1 pintype=out } P 1600 5100 1300 5100 1 0 0 { T 1400 5150 5 8 1 1 0 0 1 pinnumber=7 T 1400 5050 5 8 0 1 0 2 1 pinseq=10 T 1250 5100 9 8 1 1 0 6 1 pinlabel=Q3 T 1250 5100 5 8 0 1 0 8 1 pintype=out } P 1600 1500 1300 1500 1 0 0 { T 1400 1550 5 8 1 1 0 0 1 pinnumber=3 T 1400 1450 5 8 0 1 0 2 1 pinseq=11 T 1250 1500 9 8 1 1 0 6 1 pinlabel=Q13 T 1250 1500 5 8 0 1 0 8 1 pintype=out } P 1600 1900 1300 1900 1 0 0 { T 1400 1950 5 8 1 1 0 0 1 pinnumber=2 T 1400 1850 5 8 0 1 0 2 1 pinseq=12 T 1250 1900 9 8 1 1 0 6 1 pinlabel=Q12 T 1250 1900 5 8 0 1 0 8 1 pintype=out } P 1600 2300 1300 2300 1 0 0 { T 1400 2350 5 8 1 1 0 0 1 pinnumber=1 T 1400 2250 5 8 0 1 0 2 1 pinseq=13 T 1250 2300 9 8 1 1 0 6 1 pinlabel=Q11 T 1250 2300 5 8 0 1 0 8 1 pintype=out } P 1600 700 1300 700 1 0 0 { T 1400 750 5 8 1 1 0 0 1 pinnumber=9 T 1400 650 5 8 0 1 0 2 1 pinseq=14 T 1250 700 9 8 1 1 0 6 1 pinlabel=CKI T 1250 700 5 8 0 1 0 8 1 pintype=out } B 300 300 1000 5200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2000 750 5 10 0 0 0 0 1 numslots=0 T 300 50 9 10 1 0 0 0 1 4061 geda-gaf-1.8.2/symbols/4000/4514-1.sym0000664000175000017500000001057512204104272013442 00000000000000v 20070626 1 T 1700 6700 8 10 1 1 0 6 1 refdes=U? T 300 6850 5 10 0 0 0 0 1 device=4514 T 300 7050 5 10 0 0 0 0 1 footprint=DIP24 T 300 7250 5 10 0 0 0 0 1 net=VSS:12 T 300 7450 5 10 0 0 0 0 1 net=VDD:24 P 0 300 200 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=1 T 200 250 5 8 0 1 0 8 1 pinseq=1 T 350 300 9 8 1 1 0 0 1 pinlabel=\_STR\_ T 350 300 5 8 0 1 0 2 1 pintype=in } V 250 300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=23 T 200 650 5 8 0 1 0 8 1 pinseq=2 T 350 700 9 8 1 1 0 0 1 pinlabel=INH T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=22 T 200 2650 5 8 0 1 0 8 1 pinseq=3 T 350 2700 9 8 1 1 0 0 1 pinlabel=D T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=21 T 200 3050 5 8 0 1 0 8 1 pinseq=4 T 350 3100 9 8 1 1 0 0 1 pinlabel=C T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=3 T 200 3450 5 8 0 1 0 8 1 pinseq=5 T 350 3500 9 8 1 1 0 0 1 pinlabel=B T 350 3500 5 8 0 1 0 2 1 pintype=in } P 0 3900 300 3900 1 0 0 { T 200 3950 5 8 1 1 0 6 1 pinnumber=2 T 200 3850 5 8 0 1 0 8 1 pinseq=6 T 350 3900 9 8 1 1 0 0 1 pinlabel=A T 350 3900 5 8 0 1 0 2 1 pintype=in } P 2000 2700 1700 2700 1 0 0 { T 1800 2750 5 8 1 1 0 0 1 pinnumber=17 T 1800 2650 5 8 0 1 0 2 1 pinseq=7 T 1650 2700 9 8 1 1 0 6 1 pinlabel=S9 T 1650 2700 5 8 0 1 0 8 1 pintype=out } P 2000 3100 1700 3100 1 0 0 { T 1800 3150 5 8 1 1 0 0 1 pinnumber=18 T 1800 3050 5 8 0 1 0 2 1 pinseq=8 T 1650 3100 9 8 1 1 0 6 1 pinlabel=S8 T 1650 3100 5 8 0 1 0 8 1 pintype=out } P 2000 3500 1700 3500 1 0 0 { T 1800 3550 5 8 1 1 0 0 1 pinnumber=4 T 1800 3450 5 8 0 1 0 2 1 pinseq=9 T 1650 3500 9 8 1 1 0 6 1 pinlabel=S7 T 1650 3500 5 8 0 1 0 8 1 pintype=out } P 2000 3900 1700 3900 1 0 0 { T 1800 3950 5 8 1 1 0 0 1 pinnumber=5 T 1800 3850 5 8 0 1 0 2 1 pinseq=10 T 1650 3900 9 8 1 1 0 6 1 pinlabel=S6 T 1650 3900 5 8 0 1 0 8 1 pintype=out } P 2000 4300 1700 4300 1 0 0 { T 1800 4350 5 8 1 1 0 0 1 pinnumber=6 T 1800 4250 5 8 0 1 0 2 1 pinseq=11 T 1650 4300 9 8 1 1 0 6 1 pinlabel=S5 T 1650 4300 5 8 0 1 0 8 1 pintype=out } P 2000 4700 1700 4700 1 0 0 { T 1800 4750 5 8 1 1 0 0 1 pinnumber=7 T 1800 4650 5 8 0 1 0 2 1 pinseq=12 T 1650 4700 9 8 1 1 0 6 1 pinlabel=S4 T 1650 4700 5 8 0 1 0 8 1 pintype=out } P 2000 5100 1700 5100 1 0 0 { T 1800 5150 5 8 1 1 0 0 1 pinnumber=8 T 1800 5050 5 8 0 1 0 2 1 pinseq=13 T 1650 5100 9 8 1 1 0 6 1 pinlabel=S3 T 1650 5100 5 8 0 1 0 8 1 pintype=out } P 2000 5500 1700 5500 1 0 0 { T 1800 5550 5 8 1 1 0 0 1 pinnumber=9 T 1800 5450 5 8 0 1 0 2 1 pinseq=14 T 1650 5500 9 8 1 1 0 6 1 pinlabel=S2 T 1650 5500 5 8 0 1 0 8 1 pintype=out } P 2000 300 1700 300 1 0 0 { T 1800 350 5 8 1 1 0 0 1 pinnumber=15 T 1800 250 5 8 0 1 0 2 1 pinseq=15 T 1650 300 9 8 1 1 0 6 1 pinlabel=S15 T 1650 300 5 8 0 1 0 8 1 pintype=out } P 2000 700 1700 700 1 0 0 { T 1800 750 5 8 1 1 0 0 1 pinnumber=16 T 1800 650 5 8 0 1 0 2 1 pinseq=16 T 1650 700 9 8 1 1 0 6 1 pinlabel=S14 T 1650 700 5 8 0 1 0 8 1 pintype=out } P 2000 1100 1700 1100 1 0 0 { T 1800 1150 5 8 1 1 0 0 1 pinnumber=13 T 1800 1050 5 8 0 1 0 2 1 pinseq=17 T 1650 1100 9 8 1 1 0 6 1 pinlabel=S13 T 1650 1100 5 8 0 1 0 8 1 pintype=out } P 2000 1500 1700 1500 1 0 0 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=14 T 1800 1450 5 8 0 1 0 2 1 pinseq=18 T 1650 1500 9 8 1 1 0 6 1 pinlabel=S12 T 1650 1500 5 8 0 1 0 8 1 pintype=out } P 2000 1900 1700 1900 1 0 0 { T 1800 1950 5 8 1 1 0 0 1 pinnumber=19 T 1800 1850 5 8 0 1 0 2 1 pinseq=19 T 1650 1900 9 8 1 1 0 6 1 pinlabel=S11 T 1650 1900 5 8 0 1 0 8 1 pintype=out } P 2000 2300 1700 2300 1 0 0 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=20 T 1800 2250 5 8 0 1 0 2 1 pinseq=20 T 1650 2300 9 8 1 1 0 6 1 pinlabel=S10 T 1650 2300 5 8 0 1 0 8 1 pintype=out } P 2000 5900 1700 5900 1 0 0 { T 1800 5950 5 8 1 1 0 0 1 pinnumber=10 T 1800 5850 5 8 0 1 0 2 1 pinseq=21 T 1650 5900 9 8 1 1 0 6 1 pinlabel=S1 T 1650 5900 5 8 0 1 0 8 1 pintype=out } P 2000 6300 1700 6300 1 0 0 { T 1800 6350 5 8 1 1 0 0 1 pinnumber=11 T 1800 6250 5 8 0 1 0 2 1 pinseq=22 T 1650 6300 9 8 1 1 0 6 1 pinlabel=S0 T 1650 6300 5 8 0 1 0 8 1 pintype=out } B 300 0 1400 6600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 7850 5 10 0 0 0 0 1 description=4-bit demultiplexer T 300 7650 5 10 0 0 0 0 1 numslots=0 T 300 8050 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4514B_CNV_3.pdf T 300 6650 9 10 1 0 0 0 1 4514 geda-gaf-1.8.2/symbols/4000/4025-1.sym0000664000175000017500000000271412204104272013433 00000000000000v 20040710 1 V 1038 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 500 1088 500 1 0 0 { T 1100 550 5 8 1 1 0 0 1 pinnumber=9 T 1100 450 5 8 0 1 0 2 1 pinseq=4 T 950 500 5 8 0 1 0 8 1 pintype=out T 950 500 9 8 0 1 0 6 1 pinlabel=Y } P 0 500 300 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=2 T 200 450 5 8 0 1 0 8 1 pinseq=2 T 350 500 5 8 0 1 0 2 1 pintype=in T 350 500 9 8 0 1 0 0 1 pinlabel=B } T 1750 800 5 10 0 0 0 0 1 net=VDD:14 T 1750 1000 5 10 0 0 0 0 1 net=VSS:7 T 1750 1200 5 10 0 0 0 0 1 numslots=3 T 1750 1400 5 10 0 0 0 0 1 slotdef=1:1,2,8,9 T 1750 1600 5 10 0 0 0 0 1 slotdef=2:3,4,5,6 T 1750 1800 5 10 0 0 0 0 1 slotdef=3:11,12,13,10 T 1750 2000 5 10 0 0 0 0 1 slot=1 T 1750 2400 5 10 0 0 0 0 1 footprint=DIP14 T 1750 2200 5 10 0 0 0 0 1 description=3 3-input NOR gates T 400 0 9 8 1 0 0 0 1 4025 T 1750 2600 5 10 0 0 0 0 1 device=4025 A 36 500 400 312 97 3 0 0 0 -1 -1 L 300 200 600 200 3 0 0 0 -1 -1 L 300 800 600 800 3 0 0 0 -1 -1 A 600 600 400 270 76 3 0 0 0 -1 -1 A 600 400 400 14 76 3 0 0 0 -1 -1 L 300 0 300 200 3 0 0 0 -1 -1 L 300 1000 300 800 3 0 0 0 -1 -1 T 400 900 8 10 1 1 0 0 1 refdes=U? P 0 900 300 900 1 0 0 { T 200 950 5 8 1 1 0 6 1 pinnumber=1 T 200 850 5 8 0 1 0 8 1 pinseq=1 T 400 900 5 8 0 1 0 2 1 pintype=in T 400 900 9 8 0 1 0 0 1 pinlabel=A } P 0 100 300 100 1 0 0 { T 200 150 5 8 1 1 0 6 1 pinnumber=8 T 200 50 5 8 0 1 0 8 1 pinseq=3 T 400 100 5 8 0 1 0 2 1 pintype=in T 400 100 9 8 0 1 0 0 1 pinlabel=C } T 1750 2800 5 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/4000/4502-1.sym0000664000175000017500000000644112204104272013434 00000000000000v 20070626 1 T 1700 3500 8 10 1 1 0 6 1 refdes=U? T 300 3650 5 10 0 0 0 0 1 device=4502 T 300 3850 5 10 0 0 0 0 1 footprint=DIP T 300 4050 5 10 0 0 0 0 1 net=VSS:8 T 300 4250 5 10 0 0 0 0 1 net=VDD:16 P 0 300 200 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=4 T 200 250 5 8 0 1 0 8 1 pinseq=1 T 350 300 9 8 1 1 0 0 1 pinlabel=\_OE\_ T 350 300 5 8 0 1 0 2 1 pintype=in } V 250 300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 700 200 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=12 T 200 650 5 8 0 1 0 8 1 pinseq=2 T 350 700 9 8 1 1 0 0 1 pinlabel=\_E\_ T 350 700 5 8 0 1 0 2 1 pintype=in } V 250 700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=15 T 200 1050 5 8 0 1 0 8 1 pinseq=3 T 350 1100 9 8 1 1 0 0 1 pinlabel=A6 T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=13 T 200 1450 5 8 0 1 0 8 1 pinseq=4 T 350 1500 9 8 1 1 0 0 1 pinlabel=A5 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=10 T 200 1850 5 8 0 1 0 8 1 pinseq=5 T 350 1900 9 8 1 1 0 0 1 pinlabel=A4 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=1 T 200 3050 5 8 0 1 0 8 1 pinseq=6 T 350 3100 9 8 1 1 0 0 1 pinlabel=A1 T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=6 T 200 2250 5 8 0 1 0 8 1 pinseq=7 T 350 2300 9 8 1 1 0 0 1 pinlabel=A3 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=3 T 200 2650 5 8 0 1 0 8 1 pinseq=8 T 350 2700 9 8 1 1 0 0 1 pinlabel=A2 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 2000 1100 1800 1100 1 0 0 { T 1800 1150 5 8 1 1 0 0 1 pinnumber=14 T 1800 1050 5 8 0 1 0 2 1 pinseq=9 T 1650 1100 9 8 1 1 0 6 1 pinlabel=\_Y6\_ T 1650 1100 5 8 0 1 0 8 1 pintype=tri } V 1750 1100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 1500 1800 1500 1 0 0 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=11 T 1800 1450 5 8 0 1 0 2 1 pinseq=10 T 1650 1500 9 8 1 1 0 6 1 pinlabel=\_Y5\_ T 1650 1500 5 8 0 1 0 8 1 pintype=tri } V 1750 1500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 1900 1800 1900 1 0 0 { T 1800 1950 5 8 1 1 0 0 1 pinnumber=9 T 1800 1850 5 8 0 1 0 2 1 pinseq=11 T 1650 1900 9 8 1 1 0 6 1 pinlabel=\_Y4\_ T 1650 1900 5 8 0 1 0 8 1 pintype=tri } V 1750 1900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 3100 1800 3100 1 0 0 { T 1800 3150 5 8 1 1 0 0 1 pinnumber=2 T 1800 3050 5 8 0 1 0 2 1 pinseq=12 T 1650 3100 9 8 1 1 0 6 1 pinlabel=\_Y1\_ T 1650 3100 5 8 0 1 0 8 1 pintype=tri } V 1750 3100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 2300 1800 2300 1 0 0 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=7 T 1800 2250 5 8 0 1 0 2 1 pinseq=13 T 1650 2300 9 8 1 1 0 6 1 pinlabel=\_Y3\_ T 1650 2300 5 8 0 1 0 8 1 pintype=tri } V 1750 2300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 2700 1800 2700 1 0 0 { T 1800 2750 5 8 1 1 0 0 1 pinnumber=5 T 1800 2650 5 8 0 1 0 2 1 pinseq=14 T 1650 2700 9 8 1 1 0 6 1 pinlabel=\_Y2\_ T 1650 2700 5 8 0 1 0 8 1 pintype=tri } V 1750 2700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 300 0 1400 3400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4650 5 10 0 0 0 0 1 description=strobed hex inverting bus driver T 300 4450 5 10 0 0 0 0 1 numslots=0 T 300 4850 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4502B_CNV_3.pdf T 300 3450 9 10 1 0 0 0 1 4502 geda-gaf-1.8.2/symbols/4000/4077-1.sym0000664000175000017500000000257112204104272013443 00000000000000v 20031231 1 T 600 2100 5 10 0 0 0 0 1 device=4077 T 600 900 5 10 0 0 0 0 1 slot=1 T 600 1100 5 10 0 0 0 0 1 numslots=4 T 600 1300 5 10 0 0 0 0 1 slotdef=1:1,2,3 T 600 1500 5 10 0 0 0 0 1 slotdef=2:5,6,4 T 600 1700 5 10 0 0 0 0 1 slotdef=3:8,9,10 T 600 1900 5 10 0 0 0 0 1 slotdef=4:12,13,11 L 365 200 700 200 3 0 0 0 -1 -1 L 365 800 700 800 3 0 0 0 -1 -1 A 100 500 400 312 96 3 0 0 0 -1 -1 A 700 600 400 270 76 3 0 0 0 -1 -1 A 700 400 400 14 76 3 0 0 0 -1 -1 P 347 700 0 700 1 0 1 { T 200 750 5 8 1 1 0 6 1 pinnumber=1 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 5 8 0 1 0 2 1 pintype=in T 350 700 9 8 0 1 0 0 1 pinlabel=A } P 347 300 0 300 1 0 1 { T 200 350 5 8 1 1 0 6 1 pinnumber=2 T 200 250 5 8 0 1 0 8 1 pinseq=2 T 350 300 5 8 0 1 0 2 1 pintype=in T 350 300 9 8 0 1 0 0 1 pinlabel=B } V 1138 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1400 500 1188 500 1 0 0 { T 1200 550 5 8 1 1 0 0 1 pinnumber=3 T 1200 450 5 8 0 1 0 2 1 pinseq=3 T 1050 500 5 8 0 1 0 8 1 pintype=out T 1050 500 9 8 0 1 0 6 1 pinlabel=Y } T 250 900 8 10 1 1 0 0 1 refdes=U? A 0 500 400 312 96 3 0 0 0 -1 -1 T 600 2300 5 10 0 0 0 0 1 footprint=DIP14 T 600 2500 5 10 0 0 0 0 1 description=4 XNOR gates with 2 inputs T 600 2700 5 10 0 0 0 0 1 net=VDD:14 T 600 2900 5 10 0 0 0 0 1 net=VSS:7 T 600 3100 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4077B_CNV_3.pdf T 400 0 9 10 1 0 0 0 1 4077 geda-gaf-1.8.2/symbols/4000/40175-1.sym0000664000175000017500000000625612204104272013526 00000000000000v 20070626 1 T 500 4000 8 10 1 1 0 6 1 refdes=U? T 2000 950 5 10 0 0 0 0 1 device=40175 T 2000 1150 5 10 0 0 0 0 1 footprint=DIP16 T 2000 1350 5 10 0 0 0 0 1 net=VSS:8 T 2000 1550 5 10 0 0 0 0 1 net=VDD:16 P 800 0 800 300 1 0 0 { T 850 100 5 8 1 1 0 0 1 pinnumber=1 T 850 100 5 8 0 1 0 2 1 pinseq=1 T 800 350 9 8 1 1 0 3 1 pinlabel=CLR T 800 500 5 8 0 1 0 3 1 pintype=in } P 0 900 300 900 1 0 0 { T 200 950 5 8 1 1 0 6 1 pinnumber=13 T 200 850 5 8 0 1 0 8 1 pinseq=2 T 350 900 9 8 1 1 0 0 1 pinlabel=D4 T 350 900 5 8 0 1 0 2 1 pintype=in } P 0 1700 300 1700 1 0 0 { T 200 1750 5 8 1 1 0 6 1 pinnumber=12 T 200 1650 5 8 0 1 0 8 1 pinseq=3 T 350 1700 9 8 1 1 0 0 1 pinlabel=D3 T 350 1700 5 8 0 1 0 2 1 pintype=in } P 0 2500 300 2500 1 0 0 { T 200 2550 5 8 1 1 0 6 1 pinnumber=5 T 200 2450 5 8 0 1 0 8 1 pinseq=4 T 350 2500 9 8 1 1 0 0 1 pinlabel=D2 T 350 2500 5 8 0 1 0 2 1 pintype=in } P 0 3300 300 3300 1 0 0 { T 200 3350 5 8 1 1 0 6 1 pinnumber=4 T 200 3250 5 8 0 1 0 8 1 pinseq=5 T 350 3300 9 8 1 1 0 0 1 pinlabel=D1 T 350 3300 5 8 0 1 0 2 1 pintype=in } P 1600 700 1400 700 1 0 0 { T 1400 750 5 8 1 1 0 0 1 pinnumber=14 T 1400 650 5 8 0 1 0 2 1 pinseq=6 T 1250 700 9 8 1 1 0 6 1 pinlabel=\_Q4\_ T 1250 700 5 8 0 1 0 8 1 pintype=out } V 1350 700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1600 1500 1400 1500 1 0 0 { T 1400 1550 5 8 1 1 0 0 1 pinnumber=11 T 1400 1450 5 8 0 1 0 2 1 pinseq=7 T 1250 1500 9 8 1 1 0 6 1 pinlabel=\_Q3\_ T 1250 1500 5 8 0 1 0 8 1 pintype=out } V 1350 1500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1600 2300 1400 2300 1 0 0 { T 1400 2350 5 8 1 1 0 0 1 pinnumber=6 T 1400 2250 5 8 0 1 0 2 1 pinseq=8 T 1250 2300 9 8 1 1 0 6 1 pinlabel=\_Q2\_ T 1250 2300 5 8 0 1 0 8 1 pintype=out } V 1350 2300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1600 3100 1400 3100 1 0 0 { T 1400 3150 5 8 1 1 0 0 1 pinnumber=3 T 1400 3050 5 8 0 1 0 2 1 pinseq=9 T 1250 3100 9 8 1 1 0 6 1 pinlabel=\_Q1\_ T 1250 3100 5 8 0 1 0 8 1 pintype=out } V 1350 3100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1600 1100 1300 1100 1 0 0 { T 1400 1150 5 8 1 1 0 0 1 pinnumber=15 T 1400 1050 5 8 0 1 0 2 1 pinseq=10 T 1250 1100 9 8 1 1 0 6 1 pinlabel=Q4 T 1250 1100 5 8 0 1 0 8 1 pintype=out } P 1600 1900 1300 1900 1 0 0 { T 1400 1950 5 8 1 1 0 0 1 pinnumber=10 T 1400 1850 5 8 0 1 0 2 1 pinseq=11 T 1250 1900 9 8 1 1 0 6 1 pinlabel=Q3 T 1250 1900 5 8 0 1 0 8 1 pintype=out } P 1600 2700 1300 2700 1 0 0 { T 1400 2750 5 8 1 1 0 0 1 pinnumber=7 T 1400 2650 5 8 0 1 0 2 1 pinseq=12 T 1250 2700 9 8 1 1 0 6 1 pinlabel=Q2 T 1250 2700 5 8 0 1 0 8 1 pintype=out } P 1600 3500 1300 3500 1 0 0 { T 1400 3550 5 8 1 1 0 0 1 pinnumber=2 T 1400 3450 5 8 0 1 0 2 1 pinseq=13 T 1250 3500 9 8 1 1 0 6 1 pinlabel=Q1 T 1250 3500 5 8 0 1 0 8 1 pintype=out } P 800 4200 800 3900 1 0 0 { T 850 4000 5 8 1 1 0 0 1 pinnumber=9 T 850 4000 5 8 0 1 0 2 1 pinseq=14 T 800 3775 9 8 1 1 0 5 1 pinlabel=CLK T 800 3625 5 8 0 1 0 5 1 pintype=clk } L 800 3800 725 3900 3 0 0 0 -1 -1 L 800 3800 875 3900 3 0 0 0 -1 -1 B 300 300 1000 3600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2000 750 5 10 0 0 0 0 1 description=Quad D-type flip-flops T 2000 1750 5 10 0 0 0 0 1 numslots=0 T 2000 550 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF40175B_CNV_3.pdf T 0 50 9 10 1 0 0 0 1 40175 geda-gaf-1.8.2/symbols/4000/40181-1.sym0000664000175000017500000001170112204104272013512 00000000000000v 20070626 1 T 300 4900 8 10 1 1 0 6 1 refdes=U? T 3000 650 5 10 0 0 0 0 1 device=40181 T 3000 850 5 10 0 0 0 0 1 footprint=DIP24 T 3000 1050 5 10 0 0 0 0 1 net=VSS:12 T 3000 1250 5 10 0 0 0 0 1 net=VDD:24 P 0 800 200 800 1 0 0 { T 200 850 5 8 1 1 0 6 1 pinnumber=7 T 200 750 5 8 0 1 0 8 1 pinseq=1 T 350 800 9 8 1 1 0 0 1 pinlabel=\_CI\_ T 350 800 5 8 0 1 0 2 1 pintype=in } V 250 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1600 200 1600 1 0 0 { T 200 1650 5 8 1 1 0 6 1 pinnumber=18 T 200 1550 5 8 0 1 0 8 1 pinseq=2 T 350 1600 9 8 1 1 0 0 1 pinlabel=\_B3\_ T 350 1600 5 8 0 1 0 2 1 pintype=in } V 250 1600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2000 200 2000 1 0 0 { T 200 2050 5 8 1 1 0 6 1 pinnumber=20 T 200 1950 5 8 0 1 0 8 1 pinseq=3 T 350 2000 9 8 1 1 0 0 1 pinlabel=\_B2\_ T 350 2000 5 8 0 1 0 2 1 pintype=in } V 250 2000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2400 200 2400 1 0 0 { T 200 2450 5 8 1 1 0 6 1 pinnumber=22 T 200 2350 5 8 0 1 0 8 1 pinseq=4 T 350 2400 9 8 1 1 0 0 1 pinlabel=\_B1\_ T 350 2400 5 8 0 1 0 2 1 pintype=in } V 250 2400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2800 200 2800 1 0 0 { T 200 2850 5 8 1 1 0 6 1 pinnumber=1 T 200 2750 5 8 0 1 0 8 1 pinseq=5 T 350 2800 9 8 1 1 0 0 1 pinlabel=\_B0\_ T 350 2800 5 8 0 1 0 2 1 pintype=in } V 250 2800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3200 200 3200 1 0 0 { T 200 3250 5 8 1 1 0 6 1 pinnumber=19 T 200 3150 5 8 0 1 0 8 1 pinseq=6 T 350 3200 9 8 1 1 0 0 1 pinlabel=\_A3\_ T 350 3200 5 8 0 1 0 2 1 pintype=in } V 250 3200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3600 200 3600 1 0 0 { T 200 3650 5 8 1 1 0 6 1 pinnumber=21 T 200 3550 5 8 0 1 0 8 1 pinseq=7 T 350 3600 9 8 1 1 0 0 1 pinlabel=\_A2\_ T 350 3600 5 8 0 1 0 2 1 pintype=in } V 250 3600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 4000 200 4000 1 0 0 { T 200 4050 5 8 1 1 0 6 1 pinnumber=23 T 200 3950 5 8 0 1 0 8 1 pinseq=8 T 350 4000 9 8 1 1 0 0 1 pinlabel=\_A1\_ T 350 4000 5 8 0 1 0 2 1 pintype=in } V 250 4000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 4400 200 4400 1 0 0 { T 200 4450 5 8 1 1 0 6 1 pinnumber=2 T 200 4350 5 8 0 1 0 8 1 pinseq=9 T 350 4400 9 8 1 1 0 0 1 pinlabel=\_A0\_ T 350 4400 5 8 0 1 0 2 1 pintype=in } V 250 4400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1200 300 1200 1 0 0 { T 200 1250 5 8 1 1 0 6 1 pinnumber=8 T 200 1150 5 8 0 1 0 8 1 pinseq=10 T 350 1200 9 8 1 1 0 0 1 pinlabel=M T 350 1200 5 8 0 1 0 2 1 pintype=in } P 2600 800 2400 800 1 0 0 { T 2400 850 5 8 1 1 0 0 1 pinnumber=16 T 2400 750 5 8 0 1 0 2 1 pinseq=11 T 2250 800 9 8 1 1 0 6 1 pinlabel=\_RCO\_ T 2250 800 5 8 0 1 0 8 1 pintype=out } V 2350 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2600 2000 2400 2000 1 0 0 { T 2400 2050 5 8 1 1 0 0 1 pinnumber=15 T 2400 1950 5 8 0 1 0 2 1 pinseq=12 T 2250 2000 9 8 1 1 0 6 1 pinlabel=\_P\_ T 2250 2000 5 8 0 1 0 8 1 pintype=out } V 2350 2000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2600 1600 2400 1600 1 0 0 { T 2400 1650 5 8 1 1 0 0 1 pinnumber=17 T 2400 1550 5 8 0 1 0 2 1 pinseq=13 T 2250 1600 9 8 1 1 0 6 1 pinlabel=\_G\_ T 2250 1600 5 8 0 1 0 8 1 pintype=out } V 2350 1600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2600 3200 2400 3200 1 0 0 { T 2400 3250 5 8 1 1 0 0 1 pinnumber=13 T 2400 3150 5 8 0 1 0 2 1 pinseq=14 T 2250 3200 9 8 1 1 0 6 1 pinlabel=\_F3\_ T 2250 3200 5 8 0 1 0 8 1 pintype=out } V 2350 3200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2600 3600 2400 3600 1 0 0 { T 2400 3650 5 8 1 1 0 0 1 pinnumber=11 T 2400 3550 5 8 0 1 0 2 1 pinseq=15 T 2250 3600 9 8 1 1 0 6 1 pinlabel=\_F2\_ T 2250 3600 5 8 0 1 0 8 1 pintype=out } V 2350 3600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2600 4000 2400 4000 1 0 0 { T 2400 4050 5 8 1 1 0 0 1 pinnumber=10 T 2400 3950 5 8 0 1 0 2 1 pinseq=16 T 2250 4000 9 8 1 1 0 6 1 pinlabel=\_F1\_ T 2250 4000 5 8 0 1 0 8 1 pintype=out } V 2350 4000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2600 4400 2400 4400 1 0 0 { T 2400 4450 5 8 1 1 0 0 1 pinnumber=9 T 2400 4350 5 8 0 1 0 2 1 pinseq=17 T 2250 4400 9 8 1 1 0 6 1 pinlabel=\_F0\_ T 2250 4400 5 8 0 1 0 8 1 pintype=out } V 2350 4400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2600 2800 2300 2800 1 0 0 { T 2400 2850 5 8 1 1 0 0 1 pinnumber=14 T 2400 2750 5 8 0 1 0 2 1 pinseq=18 T 2250 2800 9 8 1 1 0 6 1 pinlabel=A=B T 2250 2800 5 8 0 1 0 8 1 pintype=oc } P 1900 5100 1900 4800 1 0 0 { T 1950 4900 5 8 1 1 0 0 1 pinnumber=3 T 1950 4900 5 8 0 1 0 2 1 pinseq=19 T 1900 4750 9 8 1 1 0 5 1 pinlabel=S3 T 1900 4600 5 8 0 1 0 5 1 pintype=in } P 1500 5100 1500 4800 1 0 0 { T 1550 4900 5 8 1 1 0 0 1 pinnumber=4 T 1550 4900 5 8 0 1 0 2 1 pinseq=20 T 1500 4750 9 8 1 1 0 5 1 pinlabel=S2 T 1500 4600 5 8 0 1 0 5 1 pintype=in } P 1100 5100 1100 4800 1 0 0 { T 1150 4900 5 8 1 1 0 0 1 pinnumber=5 T 1150 4900 5 8 0 1 0 2 1 pinseq=21 T 1100 4750 9 8 1 1 0 5 1 pinlabel=S1 T 1100 4600 5 8 0 1 0 5 1 pintype=in } P 700 5100 700 4800 1 0 0 { T 750 4900 5 8 1 1 0 0 1 pinnumber=6 T 750 4900 5 8 0 1 0 2 1 pinseq=22 T 700 4750 9 8 1 1 0 5 1 pinlabel=S0 T 700 4600 5 8 0 1 0 5 1 pintype=in } B 300 400 2000 4400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 3000 450 5 10 0 0 0 0 1 description=4-bit ALU T 3000 1450 5 10 0 0 0 0 1 numslots=0 T 300 150 9 10 1 0 0 0 1 40181 geda-gaf-1.8.2/symbols/4000/4006-1.sym0000664000175000017500000000511312204104272013426 00000000000000v 20070626 1 T 500 3600 8 10 1 1 0 6 1 refdes=U? T 2000 950 5 10 0 0 0 0 1 device=4006 T 2000 1150 5 10 0 0 0 0 1 footprint=DIP14 T 2000 1350 5 10 0 0 0 0 1 net=VSS:7 T 2000 1550 5 10 0 0 0 0 1 net=VDD:14 P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=3 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 400 700 9 8 1 1 0 0 1 pinlabel=CLK T 400 700 5 8 0 1 0 2 1 pintype=in } L 400 700 300 775 3 0 0 0 -1 -1 L 400 700 300 625 3 0 0 0 -1 -1 P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=6 T 200 1050 5 8 0 1 0 8 1 pinseq=2 T 350 1100 9 8 1 1 0 0 1 pinlabel=4D T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=5 T 200 1450 5 8 0 1 0 8 1 pinseq=3 T 350 1500 9 8 1 1 0 0 1 pinlabel=3D T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=4 T 200 2250 5 8 0 1 0 8 1 pinseq=4 T 350 2300 9 8 1 1 0 0 1 pinlabel=2D T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=1 T 200 3050 5 8 0 1 0 8 1 pinseq=5 T 350 3100 9 8 1 1 0 0 1 pinlabel=1D T 350 3100 5 8 0 1 0 2 1 pintype=in } P 1600 700 1300 700 1 0 0 { T 1400 750 5 8 1 1 0 0 1 pinnumber=9 T 1400 650 5 8 0 1 0 2 1 pinseq=6 T 1250 700 9 8 1 1 0 6 1 pinlabel=4Q5 T 1250 700 5 8 0 1 0 8 1 pintype=out } P 1600 1100 1300 1100 1 0 0 { T 1400 1150 5 8 1 1 0 0 1 pinnumber=8 T 1400 1050 5 8 0 1 0 2 1 pinseq=7 T 1250 1100 9 8 1 1 0 6 1 pinlabel=4Q4 T 1250 1100 5 8 0 1 0 8 1 pintype=out } P 1600 1500 1300 1500 1 0 0 { T 1400 1550 5 8 1 1 0 0 1 pinnumber=10 T 1400 1450 5 8 0 1 0 2 1 pinseq=8 T 1250 1500 9 8 1 1 0 6 1 pinlabel=3Q4 T 1250 1500 5 8 0 1 0 8 1 pintype=out } P 1600 1900 1300 1900 1 0 0 { T 1400 1950 5 8 1 1 0 0 1 pinnumber=12 T 1400 1850 5 8 0 1 0 2 1 pinseq=9 T 1250 1900 9 8 1 1 0 6 1 pinlabel=2Q5 T 1250 1900 5 8 0 1 0 8 1 pintype=out } P 1600 2300 1300 2300 1 0 0 { T 1400 2350 5 8 1 1 0 0 1 pinnumber=11 T 1400 2250 5 8 0 1 0 2 1 pinseq=10 T 1250 2300 9 8 1 1 0 6 1 pinlabel=2Q4 T 1250 2300 5 8 0 1 0 8 1 pintype=out } P 1600 2700 1400 2700 1 0 0 { T 1400 2750 5 8 1 1 0 0 1 pinnumber=2 T 1400 2650 5 8 0 1 0 2 1 pinseq=11 T 1250 2700 9 8 1 1 0 6 1 pinlabel=\_1Q4\_ T 1250 2700 5 8 0 1 0 8 1 pintype=out } V 1350 2700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1600 3100 1300 3100 1 0 0 { T 1400 3150 5 8 1 1 0 0 1 pinnumber=13 T 1400 3050 5 8 0 1 0 2 1 pinseq=12 T 1250 3100 9 8 1 1 0 6 1 pinlabel=1Q4 T 1250 3100 5 8 0 1 0 8 1 pintype=out } B 300 300 1000 3200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2000 550 5 10 0 0 0 0 1 description=18-stage static shift register T 2000 750 5 10 0 0 0 0 1 numslots=0 T 300 50 9 10 1 0 0 0 1 4006 geda-gaf-1.8.2/symbols/4000/4002-2.sym0000664000175000017500000000322012204104272013420 00000000000000v 20041228 1 P 300 100 0 100 1 0 1 { T 200 150 5 8 1 1 0 6 1 pinnumber=5 T 200 50 5 8 0 1 0 8 1 pinseq=4 T 350 100 9 8 0 1 0 0 1 pinlabel=D T 350 100 5 8 0 1 0 2 1 pintype=in } P 300 1100 0 1100 1 0 1 { T 200 1150 5 8 1 1 0 6 1 pinnumber=2 T 200 1050 5 8 0 1 0 8 1 pinseq=1 T 350 1100 9 8 0 1 0 0 1 pinlabel=A T 350 1100 5 8 0 1 0 2 1 pintype=in } P 300 800 0 800 1 0 1 { T 200 850 5 8 1 1 0 6 1 pinnumber=3 T 200 750 5 8 0 1 0 8 1 pinseq=2 T 350 800 9 8 0 1 0 0 1 pinlabel=B T 350 800 5 8 0 1 0 2 1 pintype=in } A 36 600 400 312 97 3 0 0 0 -1 -1 P 1100 600 1300 600 1 0 1 { T 1100 650 5 8 1 1 0 0 1 pinnumber=1 T 1100 550 5 8 0 1 0 2 1 pinseq=5 T 950 600 9 8 0 1 0 6 1 pinlabel=Y T 950 600 5 8 0 1 0 8 1 pintype=out } L 300 300 600 300 3 0 0 0 -1 -1 L 300 900 600 900 3 0 0 0 -1 -1 T 600 1000 5 10 0 0 0 0 1 device=4002 T 600 1200 5 10 0 0 0 0 1 slot=1 T 600 1400 5 10 0 0 0 0 1 numslots=2 T 600 1600 5 10 0 0 0 0 1 slotdef=1:2,3,4,5,1 T 600 1800 5 10 0 0 0 0 1 slotdef=2:12,11,10,9,13 A 600 700 400 270 76 3 0 0 0 -1 -1 A 600 500 400 14 76 3 0 0 0 -1 -1 L 300 100 300 300 3 0 0 0 -1 -1 L 300 1100 300 900 3 0 0 0 -1 -1 P 300 400 0 400 1 0 1 { T 200 450 5 8 1 1 0 6 1 pinnumber=4 T 200 350 5 8 0 1 0 8 1 pinseq=3 T 350 400 9 8 0 1 0 0 1 pinlabel=C T 350 400 5 8 0 1 0 2 1 pintype=in } L 300 1100 300 1200 3 0 0 0 -1 -1 L 300 0 300 100 3 0 0 0 -1 -1 T 400 1000 8 10 1 1 0 0 1 refdes=U? T 600 2000 5 10 0 0 0 0 1 footprint=DIP14 T 600 2200 5 10 0 0 0 0 1 description=2 NOR gates with 4 inputs T 600 2400 5 10 0 0 0 0 1 net=VDD:14 T 600 2600 5 10 0 0 0 0 1 net=VSS:7 T 400 100 9 8 1 0 0 0 1 4002 V 1050 600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 600 2800 5 10 0 0 0 0 1 symversion=0.1 geda-gaf-1.8.2/symbols/4000/4082-2.sym0000664000175000017500000000301512204104272013432 00000000000000v 20031231 1 P 1300 700 1000 700 1 0 0 { T 1100 750 5 8 1 1 0 0 1 pinnumber=1 T 1100 650 5 8 0 1 0 2 1 pinseq=5 T 950 700 5 8 0 1 0 8 1 pintype=out T 950 700 9 8 0 1 0 6 1 pinlabel=Y } P 0 1300 300 1300 1 0 0 { T 200 1350 5 8 1 1 0 6 1 pinnumber=2 T 200 1250 5 8 0 1 0 8 1 pinseq=1 T 350 1300 5 8 0 1 0 2 1 pintype=in T 350 1300 9 8 0 1 0 0 1 pinlabel=A } P 0 900 300 900 1 0 0 { T 200 950 5 8 1 1 0 6 1 pinnumber=3 T 200 850 5 8 0 1 0 8 1 pinseq=2 T 350 900 5 8 0 1 0 2 1 pintype=in T 350 900 9 8 0 1 0 0 1 pinlabel=B } P 0 500 300 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=4 T 200 450 5 8 0 1 0 8 1 pinseq=3 T 350 500 5 8 0 1 0 2 1 pintype=in T 350 500 9 8 0 1 0 0 1 pinlabel=C } P 0 100 300 100 1 0 0 { T 200 150 5 8 1 1 0 6 1 pinnumber=5 T 200 50 5 8 0 1 0 8 1 pinseq=4 T 350 100 5 8 0 1 0 2 1 pintype=in T 350 100 9 8 0 1 0 0 1 pinlabel=D } T 500 1300 5 10 0 0 0 0 1 net=VDD:14 T 500 1500 5 10 0 0 0 0 1 net=VSS:7 T 400 1100 8 10 1 1 0 0 1 refdes=U? T 500 1900 5 10 0 0 0 0 1 numslots=2 T 500 2100 5 10 0 0 0 0 1 slotdef=1:2,3,4,5,1 T 500 2300 5 10 0 0 0 0 1 slotdef=2:9,10,11,12,13 T 500 2500 5 10 0 0 0 0 1 slot=1 T 500 1700 5 10 0 0 0 0 1 device=4082 T 1400 1950 5 10 0 0 0 0 1 footprint=DIP14 T 500 2700 5 10 0 0 0 0 1 description=2 AND gates with 4 inputs T 500 2900 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4082B_CNV_3.pdf T 400 200 9 10 1 0 0 0 1 4082 L 300 0 300 1400 3 0 0 0 -1 -1 L 300 1000 700 1000 3 0 0 0 -1 -1 L 300 400 700 400 3 0 0 0 -1 -1 A 700 700 300 270 180 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/4000/4022-2.sym0000664000175000017500000000526512204104272013435 00000000000000v 20070626 1 T 1700 3900 8 10 1 1 0 6 1 refdes=U? T 300 4050 5 10 0 0 0 0 1 device=4022 T 300 4250 5 10 0 0 0 0 1 footprint=DIP16 T 300 4450 5 10 0 0 0 0 1 net=VSS:8 T 300 4650 5 10 0 0 0 0 1 net=VDD:16 P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=15 T 200 2650 5 8 0 1 0 8 1 pinseq=1 T 350 2700 9 8 1 1 0 0 1 pinlabel=Reset T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3100 200 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=13 T 200 3050 5 8 0 1 0 8 1 pinseq=2 T 350 3100 9 8 1 1 0 0 1 pinlabel=\_EN\_ T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=14 T 200 3450 5 8 0 1 0 8 1 pinseq=3 T 400 3500 9 8 1 1 0 0 1 pinlabel=CLK T 400 3500 5 8 0 1 0 2 1 pintype=clk } L 400 3500 300 3575 3 0 0 0 -1 -1 L 400 3500 300 3425 3 0 0 0 -1 -1 P 2000 300 1800 300 1 0 0 { T 1800 350 5 8 1 1 0 0 1 pinnumber=12 T 1800 250 5 8 0 1 0 2 1 pinseq=4 T 1650 300 9 8 1 1 0 6 1 pinlabel=\_CO\_ T 1650 300 5 8 0 1 0 8 1 pintype=out } P 2000 700 1700 700 1 0 0 { T 1800 750 5 8 1 1 0 0 1 pinnumber=10 T 1800 650 5 8 0 1 0 2 1 pinseq=5 T 1650 700 9 8 1 1 0 6 1 pinlabel=7 T 1650 700 5 8 0 1 0 8 1 pintype=out } P 2000 1100 1700 1100 1 0 0 { T 1800 1150 5 8 1 1 0 0 1 pinnumber=5 T 1800 1050 5 8 0 1 0 2 1 pinseq=6 T 1650 1100 9 8 1 1 0 6 1 pinlabel=6 T 1650 1100 5 8 0 1 0 8 1 pintype=out } P 2000 1500 1700 1500 1 0 0 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=4 T 1800 1450 5 8 0 1 0 2 1 pinseq=7 T 1650 1500 9 8 1 1 0 6 1 pinlabel=5 T 1650 1500 5 8 0 1 0 8 1 pintype=out } P 2000 1900 1700 1900 1 0 0 { T 1800 1950 5 8 1 1 0 0 1 pinnumber=11 T 1800 1850 5 8 0 1 0 2 1 pinseq=8 T 1650 1900 9 8 1 1 0 6 1 pinlabel=4 T 1650 1900 5 8 0 1 0 8 1 pintype=out } P 2000 2300 1700 2300 1 0 0 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=7 T 1800 2250 5 8 0 1 0 2 1 pinseq=9 T 1650 2300 9 8 1 1 0 6 1 pinlabel=3 T 1650 2300 5 8 0 1 0 8 1 pintype=out } P 2000 2700 1700 2700 1 0 0 { T 1800 2750 5 8 1 1 0 0 1 pinnumber=3 T 1800 2650 5 8 0 1 0 2 1 pinseq=10 T 1650 2700 9 8 1 1 0 6 1 pinlabel=2 T 1650 2700 5 8 0 1 0 8 1 pintype=out } P 2000 3100 1700 3100 1 0 0 { T 1800 3150 5 8 1 1 0 0 1 pinnumber=1 T 1800 3050 5 8 0 1 0 2 1 pinseq=11 T 1650 3100 9 8 1 1 0 6 1 pinlabel=1 T 1650 3100 5 8 0 1 0 8 1 pintype=out } P 2000 3500 1700 3500 1 0 0 { T 1800 3550 5 8 1 1 0 0 1 pinnumber=2 T 1800 3450 5 8 0 1 0 2 1 pinseq=12 T 1650 3500 9 8 1 1 0 6 1 pinlabel=0 T 1650 3500 5 8 0 1 0 8 1 pintype=out } B 300 0 1400 3800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 5050 5 10 0 0 0 0 1 description=octal counter with 8 decoded outputs T 300 4850 5 10 0 0 0 0 1 numslots=0 T 300 3850 9 10 1 0 0 0 1 4022 V 250 3100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1750 300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 5250 5 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/4000/4723-1.sym0000664000175000017500000000543112204104272013437 00000000000000v 20070626 1 T 1700 3500 8 10 1 1 0 6 1 refdes=U? T 300 3650 5 10 0 0 0 0 1 device=4723 T 300 3850 5 10 0 0 0 0 1 footprint=none T 300 4050 5 10 0 0 0 0 1 net=VSS:8 T 300 4250 5 10 0 0 0 0 1 net=VDD:16 P 0 300 200 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=14 T 200 250 5 8 0 1 0 8 1 pinseq=1 T 350 300 9 8 1 1 0 0 1 pinlabel=\_E\_ T 350 300 5 8 0 1 0 2 1 pintype=in } V 250 300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=13 T 200 1450 5 8 0 1 0 8 1 pinseq=2 T 350 1500 9 8 1 1 0 0 1 pinlabel=DB T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=3 T 200 1850 5 8 0 1 0 8 1 pinseq=3 T 350 1900 9 8 1 1 0 0 1 pinlabel=DA T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=15 T 200 650 5 8 0 1 0 8 1 pinseq=4 T 350 700 9 8 1 1 0 0 1 pinlabel=CL T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=2 T 200 2650 5 8 0 1 0 8 1 pinseq=5 T 350 2700 9 8 1 1 0 0 1 pinlabel=A1 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=1 T 200 3050 5 8 0 1 0 8 1 pinseq=6 T 350 3100 9 8 1 1 0 0 1 pinlabel=A0 T 350 3100 5 8 0 1 0 2 1 pintype=in } P 2000 300 1700 300 1 0 0 { T 1800 350 5 8 1 1 0 0 1 pinnumber=12 T 1800 250 5 8 0 1 0 2 1 pinseq=7 T 1650 300 9 8 1 1 0 6 1 pinlabel=Q3B T 1650 300 5 8 0 1 0 8 1 pintype=out } P 2000 1900 1700 1900 1 0 0 { T 1800 1950 5 8 1 1 0 0 1 pinnumber=7 T 1800 1850 5 8 0 1 0 2 1 pinseq=8 T 1650 1900 9 8 1 1 0 6 1 pinlabel=Q3A T 1650 1900 5 8 0 1 0 8 1 pintype=out } P 2000 700 1700 700 1 0 0 { T 1800 750 5 8 1 1 0 0 1 pinnumber=11 T 1800 650 5 8 0 1 0 2 1 pinseq=9 T 1650 700 9 8 1 1 0 6 1 pinlabel=Q2B T 1650 700 5 8 0 1 0 8 1 pintype=out } P 2000 2300 1700 2300 1 0 0 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=6 T 1800 2250 5 8 0 1 0 2 1 pinseq=10 T 1650 2300 9 8 1 1 0 6 1 pinlabel=Q2A T 1650 2300 5 8 0 1 0 8 1 pintype=out } P 2000 1100 1700 1100 1 0 0 { T 1800 1150 5 8 1 1 0 0 1 pinnumber=10 T 1800 1050 5 8 0 1 0 2 1 pinseq=11 T 1650 1100 9 8 1 1 0 6 1 pinlabel=Q1B T 1650 1100 5 8 0 1 0 8 1 pintype=out } P 2000 2700 1700 2700 1 0 0 { T 1800 2750 5 8 1 1 0 0 1 pinnumber=5 T 1800 2650 5 8 0 1 0 2 1 pinseq=12 T 1650 2700 9 8 1 1 0 6 1 pinlabel=Q1A T 1650 2700 5 8 0 1 0 8 1 pintype=out } P 2000 1500 1700 1500 1 0 0 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=9 T 1800 1450 5 8 0 1 0 2 1 pinseq=13 T 1650 1500 9 8 1 1 0 6 1 pinlabel=Q0B T 1650 1500 5 8 0 1 0 8 1 pintype=out } P 2000 3100 1700 3100 1 0 0 { T 1800 3150 5 8 1 1 0 0 1 pinnumber=4 T 1800 3050 5 8 0 1 0 2 1 pinseq=14 T 1650 3100 9 8 1 1 0 6 1 pinlabel=Q0A T 1650 3100 5 8 0 1 0 8 1 pintype=out } B 300 0 1400 3400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4450 5 10 0 0 0 0 1 numslots=0 T 300 3450 9 10 1 0 0 0 1 4723 geda-gaf-1.8.2/symbols/4000/4075-2.sym0000664000175000017500000000274612204104272013446 00000000000000v 20031231 1 P 1300 500 1006 500 1 0 0 { T 1100 550 5 8 1 1 0 0 1 pinnumber=9 T 1100 450 5 8 0 1 0 2 1 pinseq=4 T 950 500 5 8 0 1 0 8 1 pintype=out T 950 500 9 8 0 1 0 6 1 pinlabel=Y } P 0 100 300 100 1 0 0 { T 200 150 5 8 1 1 0 6 1 pinnumber=1 T 200 50 5 8 0 1 0 8 1 pinseq=1 T 350 100 5 8 0 1 0 2 1 pintype=in T 350 100 9 8 0 1 0 0 1 pinlabel=A } P 0 500 400 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=2 T 200 450 5 8 0 1 0 8 1 pinseq=2 T 350 500 5 8 0 1 0 2 1 pintype=in T 350 500 9 8 0 1 0 0 1 pinlabel=B } P 0 900 300 900 1 0 0 { T 200 950 5 8 1 1 0 6 1 pinnumber=8 T 200 850 5 8 0 1 0 8 1 pinseq=3 T 350 900 5 8 0 1 0 2 1 pintype=in T 350 900 9 8 0 1 0 0 1 pinlabel=C } T 400 1150 5 10 0 0 0 0 1 net=VDD:14 T 400 1350 5 10 0 0 0 0 1 net=VSS:7 T 400 900 8 10 1 1 0 0 1 refdes=U? T 400 1550 5 10 0 0 0 0 1 numslots=3 T 400 1750 5 10 0 0 0 0 1 slotdef=1:1,2,8,9 T 400 1950 5 10 0 0 0 0 1 slotdef=2:3,4,5,6 T 400 2150 5 10 0 0 0 0 1 slotdef=3:11,12,13,10 T 400 2350 5 10 0 0 0 0 1 slot=1 T 400 2550 5 10 0 0 0 0 1 device=4075 T 400 2750 5 10 0 0 0 0 1 footprint=DIP14 T 400 2950 5 10 0 0 0 0 1 description=3 OR gates with 3 inputs T 400 3150 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4075B_CNV_3.pdf T 400 0 9 10 1 0 0 0 1 4075 A 36 500 400 312 97 3 0 0 0 -1 -1 L 300 200 600 200 3 0 0 0 -1 -1 L 300 800 600 800 3 0 0 0 -1 -1 A 600 600 400 270 76 3 0 0 0 -1 -1 A 600 400 400 14 76 3 0 0 0 -1 -1 L 300 0 300 200 3 0 0 0 -1 -1 L 300 1000 300 800 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/4000/4002-1.sym0000664000175000017500000000323212204104272013422 00000000000000v 20040710 1 T 2050 650 5 10 0 0 0 0 1 net=VDD:14 T 2050 850 5 10 0 0 0 0 1 net=VSS:7 T 2050 2250 5 10 0 0 0 0 1 device=4002 T 2050 1250 5 10 0 0 0 0 1 numslots=2 T 2050 1450 5 10 0 0 0 0 1 slotdef=1:2,3,4,5,1 T 2050 1650 5 10 0 0 0 0 1 slotdef=2:9,10,11,12,13 T 2050 1050 5 10 0 0 0 0 1 slot=1 T 2050 1850 5 10 0 0 0 0 1 footprint=DIP14 T 2050 2050 5 10 0 0 0 0 1 description=2 NOR-gates with 4 inputs T 400 100 9 8 1 0 0 0 1 4002 P 300 100 0 100 1 0 1 { T 200 150 5 8 1 1 0 6 1 pinnumber=5 T 200 50 5 8 0 1 0 8 1 pinseq=4 T 350 100 5 8 0 1 0 2 1 pintype=in T 350 100 9 8 0 1 0 0 1 pinlabel=D } P 300 1100 0 1100 1 0 1 { T 200 1050 5 8 0 1 0 8 1 pinseq=1 T 200 1150 5 8 1 1 0 6 1 pinnumber=2 T 350 1100 9 8 0 1 0 0 1 pinlabel=A T 350 1100 5 8 0 1 0 2 1 pintype=in } P 300 800 0 800 1 0 1 { T 200 750 5 8 0 1 0 8 1 pinseq=2 T 200 850 5 8 1 1 0 6 1 pinnumber=3 T 350 800 9 8 0 1 0 0 1 pinlabel=B T 350 800 5 8 0 1 0 2 1 pintype=in } A 36 600 400 312 97 3 0 0 0 -1 -1 L 300 300 600 300 3 0 0 0 -1 -1 L 300 900 600 900 3 0 0 0 -1 -1 A 600 700 400 270 76 3 0 0 0 -1 -1 A 600 500 400 14 76 3 0 0 0 -1 -1 L 300 100 300 300 3 0 0 0 -1 -1 L 300 1100 300 900 3 0 0 0 -1 -1 P 300 400 0 400 1 0 1 { T 200 450 5 8 1 1 0 6 1 pinnumber=4 T 200 350 5 8 0 1 0 8 1 pinseq=3 T 350 400 5 8 0 1 0 2 1 pintype=in T 350 400 9 8 0 1 0 0 1 pinlabel=C } L 300 1100 300 1200 3 0 0 0 -1 -1 L 300 0 300 100 3 0 0 0 -1 -1 T 400 1000 8 10 1 1 0 0 1 refdes=U? T 2050 2450 5 10 0 0 0 0 1 symversion=1.0 P 1300 600 1100 600 1 0 0 { T 1150 650 5 8 1 1 0 0 1 pinnumber=1 T 1150 550 5 8 0 1 0 2 1 pinseq=5 T 1000 600 5 8 0 1 0 8 1 pintype=out T 1000 600 9 8 0 1 0 6 1 pinlabel=Y } V 1050 600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/4000/4081-1.sym0000664000175000017500000000242312204104272013432 00000000000000v 20040710 1 P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=1 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 5 8 0 1 0 2 1 pintype=in T 350 700 9 8 0 1 0 0 1 pinlabel=A } P 0 300 300 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=2 T 200 250 5 8 0 1 0 8 1 pinseq=2 T 350 300 5 8 0 1 0 2 1 pintype=in T 350 300 9 8 0 1 0 0 1 pinlabel=B } P 1000 500 1300 500 1 0 1 { T 1100 550 5 8 1 1 0 0 1 pinnumber=3 T 1100 450 5 8 0 1 0 2 1 pinseq=3 T 950 500 5 8 0 1 0 8 1 pintype=out T 950 500 9 8 0 1 0 6 1 pinlabel=Y } T 2000 -100 5 10 0 0 0 0 1 net=VDD:14 T 2000 100 5 10 0 0 0 0 1 net=VSS:7 T 2000 300 5 10 0 0 0 0 1 device=4081 T 2000 500 5 10 0 0 0 0 1 footprint=DIP14 T 2000 700 5 10 0 0 0 0 1 numslots=4 T 2000 900 5 10 0 0 0 0 1 slotdef=1:1,2,3 T 2000 1100 5 10 0 0 0 0 1 slotdef=2:6,5,4 T 2000 1300 5 10 0 0 0 0 1 slotdef=3:8,9,10 T 2000 1500 5 10 0 0 0 0 1 slotdef=4:13,12,11 T 300 900 8 10 1 1 0 0 1 refdes=U? T 2000 1700 5 10 0 0 0 0 1 description=4 AND gates with 2 inputs T 2000 1900 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4081B_CNV_3.pdf T 300 0 9 8 1 0 0 0 1 4081 L 300 200 300 800 3 0 0 0 -1 -1 L 300 800 700 800 3 0 0 0 -1 -1 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 T 2000 2100 5 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/4000/40110-1.sym0000664000175000017500000000603712204104272013510 00000000000000v 20070626 1 T 500 4400 8 10 1 1 0 6 1 refdes=U? T 2200 950 5 10 0 0 0 0 1 device=40110 T 2200 1150 5 10 0 0 0 0 1 footprint=DIP16 T 2200 1350 5 10 0 0 0 0 1 net=VSS:8 T 2200 1550 5 10 0 0 0 0 1 net=VDD:16 P 0 1900 200 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=4 T 200 1850 5 8 0 1 0 8 1 pinseq=1 T 350 1900 9 8 1 1 0 0 1 pinlabel=\_TE\_ T 350 1900 5 8 0 1 0 2 1 pintype=in } V 250 1900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3900 300 3900 1 0 0 { T 200 3950 5 8 1 1 0 6 1 pinnumber=9 T 200 3850 5 8 0 1 0 8 1 pinseq=2 T 400 3900 9 8 1 1 0 0 1 pinlabel=Up T 400 3900 5 8 0 1 0 2 1 pintype=clk } L 400 3900 300 3975 3 0 0 0 -1 -1 L 400 3900 300 3825 3 0 0 0 -1 -1 P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=5 T 200 2650 5 8 0 1 0 8 1 pinseq=3 T 350 2700 9 8 1 1 0 0 1 pinlabel=Reset T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=6 T 200 1050 5 8 0 1 0 8 1 pinseq=4 T 350 1100 9 8 1 1 0 0 1 pinlabel=LE T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=7 T 200 3450 5 8 0 1 0 8 1 pinseq=5 T 400 3500 9 8 1 1 0 0 1 pinlabel=Down T 400 3500 5 8 0 1 0 2 1 pintype=clk } L 400 3500 300 3575 3 0 0 0 -1 -1 L 400 3500 300 3425 3 0 0 0 -1 -1 P 1800 700 1500 700 1 0 0 { T 1600 750 5 8 1 1 0 0 1 pinnumber=2 T 1600 650 5 8 0 1 0 2 1 pinseq=6 T 1450 700 9 8 1 1 0 6 1 pinlabel=G T 1450 700 5 8 0 1 0 8 1 pintype=out } P 1800 1100 1500 1100 1 0 0 { T 1600 1150 5 8 1 1 0 0 1 pinnumber=3 T 1600 1050 5 8 0 1 0 2 1 pinseq=7 T 1450 1100 9 8 1 1 0 6 1 pinlabel=F T 1450 1100 5 8 0 1 0 8 1 pintype=out } P 1800 1500 1500 1500 1 0 0 { T 1600 1550 5 8 1 1 0 0 1 pinnumber=12 T 1600 1450 5 8 0 1 0 2 1 pinseq=8 T 1450 1500 9 8 1 1 0 6 1 pinlabel=E T 1450 1500 5 8 0 1 0 8 1 pintype=out } P 1800 1900 1500 1900 1 0 0 { T 1600 1950 5 8 1 1 0 0 1 pinnumber=13 T 1600 1850 5 8 0 1 0 2 1 pinseq=9 T 1450 1900 9 8 1 1 0 6 1 pinlabel=D T 1450 1900 5 8 0 1 0 8 1 pintype=out } P 1800 3900 1500 3900 1 0 0 { T 1600 3950 5 8 1 1 0 0 1 pinnumber=10 T 1600 3850 5 8 0 1 0 2 1 pinseq=10 T 1450 3900 9 8 1 1 0 6 1 pinlabel=Carry T 1450 3900 5 8 0 1 0 8 1 pintype=out } P 1800 2300 1500 2300 1 0 0 { T 1600 2350 5 8 1 1 0 0 1 pinnumber=14 T 1600 2250 5 8 0 1 0 2 1 pinseq=11 T 1450 2300 9 8 1 1 0 6 1 pinlabel=C T 1450 2300 5 8 0 1 0 8 1 pintype=out } P 1800 3500 1500 3500 1 0 0 { T 1600 3550 5 8 1 1 0 0 1 pinnumber=11 T 1600 3450 5 8 0 1 0 2 1 pinseq=12 T 1450 3500 9 8 1 1 0 6 1 pinlabel=Borrow T 1450 3500 5 8 0 1 0 8 1 pintype=out } P 1800 2700 1500 2700 1 0 0 { T 1600 2750 5 8 1 1 0 0 1 pinnumber=15 T 1600 2650 5 8 0 1 0 2 1 pinseq=13 T 1450 2700 9 8 1 1 0 6 1 pinlabel=B T 1450 2700 5 8 0 1 0 8 1 pintype=out } P 1800 3100 1500 3100 1 0 0 { T 1600 3150 5 8 1 1 0 0 1 pinnumber=1 T 1600 3050 5 8 0 1 0 2 1 pinseq=14 T 1450 3100 9 8 1 1 0 6 1 pinlabel=A T 1450 3100 5 8 0 1 0 8 1 pintype=out } B 300 300 1200 4000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2200 750 5 10 0 0 0 0 1 description=decade up-down counter/7-segment decoder/latch/driver T 2200 1750 5 10 0 0 0 0 1 numslots=0 T 300 50 9 10 1 0 0 0 1 40110 geda-gaf-1.8.2/symbols/4000/40195-1.sym0000664000175000017500000000605212204104272013522 00000000000000v 20070626 1 T 500 4400 8 10 1 1 0 6 1 refdes=U? T 2000 950 5 10 0 0 0 0 1 device=40195 T 2000 1150 5 10 0 0 0 0 1 footprint=DIP16 T 2000 1350 5 10 0 0 0 0 1 net=VSS:8 T 2000 1550 5 10 0 0 0 0 1 net=VDD:16 P 0 700 200 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=9 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 1 1 0 0 1 pinlabel=\_PE\_ T 350 700 5 8 0 1 0 2 1 pintype=in } V 250 700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1100 200 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=1 T 200 1050 5 8 0 1 0 8 1 pinseq=2 T 350 1100 9 8 1 1 0 0 1 pinlabel=\_MR\_ T 350 1100 5 8 0 1 0 2 1 pintype=in } V 250 1100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1500 200 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=3 T 200 1450 5 8 0 1 0 8 1 pinseq=3 T 350 1500 9 8 1 1 0 0 1 pinlabel=\_K\_ T 350 1500 5 8 0 1 0 2 1 pintype=in } V 250 1500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=7 T 200 2650 5 8 0 1 0 8 1 pinseq=4 T 350 2700 9 8 1 1 0 0 1 pinlabel=P3 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=6 T 200 3050 5 8 0 1 0 8 1 pinseq=5 T 350 3100 9 8 1 1 0 0 1 pinlabel=P2 T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=5 T 200 3450 5 8 0 1 0 8 1 pinseq=6 T 350 3500 9 8 1 1 0 0 1 pinlabel=P1 T 350 3500 5 8 0 1 0 2 1 pintype=in } P 0 3900 300 3900 1 0 0 { T 200 3950 5 8 1 1 0 6 1 pinnumber=4 T 200 3850 5 8 0 1 0 8 1 pinseq=7 T 350 3900 9 8 1 1 0 0 1 pinlabel=P0 T 350 3900 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=2 T 200 2250 5 8 0 1 0 8 1 pinseq=8 T 350 2300 9 8 1 1 0 0 1 pinlabel=J T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=10 T 200 1850 5 8 0 1 0 8 1 pinseq=9 T 400 1900 9 8 1 1 0 0 1 pinlabel=CP T 400 1900 5 8 0 1 0 2 1 pintype=in } L 400 1900 300 1975 3 0 0 0 -1 -1 L 400 1900 300 1825 3 0 0 0 -1 -1 P 1600 2300 1400 2300 1 0 0 { T 1400 2350 5 8 1 1 0 0 1 pinnumber=11 T 1400 2250 5 8 0 1 0 2 1 pinseq=10 T 1250 2300 9 8 1 1 0 6 1 pinlabel=\_Q3\_ T 1250 2300 5 8 0 1 0 8 1 pintype=out } V 1350 2300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1600 2700 1300 2700 1 0 0 { T 1400 2750 5 8 1 1 0 0 1 pinnumber=12 T 1400 2650 5 8 0 1 0 2 1 pinseq=11 T 1250 2700 9 8 1 1 0 6 1 pinlabel=Q3 T 1250 2700 5 8 0 1 0 8 1 pintype=out } P 1600 3100 1300 3100 1 0 0 { T 1400 3150 5 8 1 1 0 0 1 pinnumber=13 T 1400 3050 5 8 0 1 0 2 1 pinseq=12 T 1250 3100 9 8 1 1 0 6 1 pinlabel=Q2 T 1250 3100 5 8 0 1 0 8 1 pintype=out } P 1600 3500 1300 3500 1 0 0 { T 1400 3550 5 8 1 1 0 0 1 pinnumber=14 T 1400 3450 5 8 0 1 0 2 1 pinseq=13 T 1250 3500 9 8 1 1 0 6 1 pinlabel=Q1 T 1250 3500 5 8 0 1 0 8 1 pintype=out } P 1600 3900 1300 3900 1 0 0 { T 1400 3950 5 8 1 1 0 0 1 pinnumber=15 T 1400 3850 5 8 0 1 0 2 1 pinseq=14 T 1250 3900 9 8 1 1 0 6 1 pinlabel=Q0 T 1250 3900 5 8 0 1 0 8 1 pintype=out } B 300 300 1000 4000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2000 750 5 10 0 0 0 0 1 description=4-bit universal shift register T 2000 1750 5 10 0 0 0 0 1 numslots=0 T 300 50 9 10 1 0 0 0 1 40195 geda-gaf-1.8.2/symbols/4000/4028-2.sym0000664000175000017500000000547212204104272013443 00000000000000v 20031231 1 T 1700 4300 8 10 1 1 0 6 1 refdes=U? T 300 4450 5 10 0 0 0 0 1 device=4028 T 300 4650 5 10 0 0 0 0 1 footprint=DIP16 P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=11 T 200 1450 5 8 0 1 0 8 1 pinseq=1 T 350 1500 9 8 1 1 0 0 1 pinlabel=D T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=12 T 200 1850 5 8 0 1 0 8 1 pinseq=2 T 350 1900 9 8 1 1 0 0 1 pinlabel=C T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=13 T 200 2250 5 8 0 1 0 8 1 pinseq=3 T 350 2300 9 8 1 1 0 0 1 pinlabel=B T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=10 T 200 2650 5 8 0 1 0 8 1 pinseq=4 T 350 2700 9 8 1 1 0 0 1 pinlabel=A T 350 2700 5 8 0 1 0 2 1 pintype=in } P 2000 300 1700 300 1 0 0 { T 1800 350 5 8 1 1 0 0 1 pinnumber=5 T 1800 250 5 8 0 1 0 2 1 pinseq=5 T 1650 300 9 8 1 1 0 6 1 pinlabel=Y9 T 1650 300 5 8 0 1 0 8 1 pintype=out } P 2000 700 1700 700 1 0 0 { T 1800 750 5 8 1 1 0 0 1 pinnumber=9 T 1800 650 5 8 0 1 0 2 1 pinseq=6 T 1650 700 9 8 1 1 0 6 1 pinlabel=Y8 T 1650 700 5 8 0 1 0 8 1 pintype=out } P 2000 1100 1700 1100 1 0 0 { T 1800 1150 5 8 1 1 0 0 1 pinnumber=4 T 1800 1050 5 8 0 1 0 2 1 pinseq=7 T 1650 1100 9 8 1 1 0 6 1 pinlabel=Y7 T 1650 1100 5 8 0 1 0 8 1 pintype=out } P 2000 1500 1700 1500 1 0 0 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=7 T 1800 1450 5 8 0 1 0 2 1 pinseq=8 T 1650 1500 9 8 1 1 0 6 1 pinlabel=Y6 T 1650 1500 5 8 0 1 0 8 1 pintype=out } P 2000 1900 1700 1900 1 0 0 { T 1800 1950 5 8 1 1 0 0 1 pinnumber=6 T 1800 1850 5 8 0 1 0 2 1 pinseq=9 T 1650 1900 9 8 1 1 0 6 1 pinlabel=Y5 T 1650 1900 5 8 0 1 0 8 1 pintype=out } P 2000 2300 1700 2300 1 0 0 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=1 T 1800 2250 5 8 0 1 0 2 1 pinseq=10 T 1650 2300 9 8 1 1 0 6 1 pinlabel=Y4 T 1650 2300 5 8 0 1 0 8 1 pintype=out } P 2000 2700 1700 2700 1 0 0 { T 1800 2750 5 8 1 1 0 0 1 pinnumber=15 T 1800 2650 5 8 0 1 0 2 1 pinseq=11 T 1650 2700 9 8 1 1 0 6 1 pinlabel=Y3 T 1650 2700 5 8 0 1 0 8 1 pintype=out } P 2000 3100 1700 3100 1 0 0 { T 1800 3150 5 8 1 1 0 0 1 pinnumber=2 T 1800 3050 5 8 0 1 0 2 1 pinseq=12 T 1650 3100 9 8 1 1 0 6 1 pinlabel=Y2 T 1650 3100 5 8 0 1 0 8 1 pintype=out } P 2000 3500 1700 3500 1 0 0 { T 1800 3550 5 8 1 1 0 0 1 pinnumber=14 T 1800 3450 5 8 0 1 0 2 1 pinseq=13 T 1650 3500 9 8 1 1 0 6 1 pinlabel=Y1 T 1650 3500 5 8 0 1 0 8 1 pintype=out } P 2000 3900 1700 3900 1 0 0 { T 1800 3950 5 8 1 1 0 0 1 pinnumber=3 T 1800 3850 5 8 0 1 0 2 1 pinseq=14 T 1650 3900 9 8 1 1 0 6 1 pinlabel=Y0 T 1650 3900 5 8 0 1 0 8 1 pintype=out } B 300 0 1400 4200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4850 5 10 0 0 0 0 1 net=VDD:16 T 300 5050 5 10 0 0 0 0 1 net=VSS:8 T 300 5450 5 10 0 0 0 0 1 description=BCD to decimal decoder T 300 5250 5 10 0 0 0 0 1 numslots=0 T 300 4250 9 10 1 0 0 0 1 4028 geda-gaf-1.8.2/symbols/4000/40257-1.sym0000664000175000017500000000550312204104272013521 00000000000000v 20070626 1 T 500 4800 8 10 1 1 0 6 1 refdes=U? T 2000 950 5 10 0 0 0 0 1 device=40257 T 2000 1150 5 10 0 0 0 0 1 footprint=DIP16 T 2000 1350 5 10 0 0 0 0 1 net=VSS:8 T 2000 1550 5 10 0 0 0 0 1 net=VDD:16 P 0 700 200 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=15 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 1 1 0 0 1 pinlabel=\_EN\_ T 350 700 5 8 0 1 0 2 1 pintype=in } V 250 700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=1 T 200 1050 5 8 0 1 0 8 1 pinseq=2 T 350 1100 9 8 1 1 0 0 1 pinlabel=S T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=13 T 200 1450 5 8 0 1 0 8 1 pinseq=3 T 350 1500 9 8 1 1 0 0 1 pinlabel=4B T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=14 T 200 1850 5 8 0 1 0 8 1 pinseq=4 T 350 1900 9 8 1 1 0 0 1 pinlabel=4A T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=10 T 200 2250 5 8 0 1 0 8 1 pinseq=5 T 350 2300 9 8 1 1 0 0 1 pinlabel=3B T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=11 T 200 2650 5 8 0 1 0 8 1 pinseq=6 T 350 2700 9 8 1 1 0 0 1 pinlabel=3A T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=6 T 200 3050 5 8 0 1 0 8 1 pinseq=7 T 350 3100 9 8 1 1 0 0 1 pinlabel=2B T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=5 T 200 3450 5 8 0 1 0 8 1 pinseq=8 T 350 3500 9 8 1 1 0 0 1 pinlabel=2A T 350 3500 5 8 0 1 0 2 1 pintype=in } P 0 3900 300 3900 1 0 0 { T 200 3950 5 8 1 1 0 6 1 pinnumber=3 T 200 3850 5 8 0 1 0 8 1 pinseq=9 T 350 3900 9 8 1 1 0 0 1 pinlabel=1B T 350 3900 5 8 0 1 0 2 1 pintype=in } P 0 4300 300 4300 1 0 0 { T 200 4350 5 8 1 1 0 6 1 pinnumber=2 T 200 4250 5 8 0 1 0 8 1 pinseq=10 T 350 4300 9 8 1 1 0 0 1 pinlabel=1A T 350 4300 5 8 0 1 0 2 1 pintype=in } P 1600 1700 1300 1700 1 0 0 { T 1400 1750 5 8 1 1 0 0 1 pinnumber=12 T 1400 1650 5 8 0 1 0 2 1 pinseq=11 T 1250 1700 9 8 1 1 0 6 1 pinlabel=4Y T 1250 1700 5 8 0 1 0 8 1 pintype=tri } P 1600 2500 1300 2500 1 0 0 { T 1400 2550 5 8 1 1 0 0 1 pinnumber=9 T 1400 2450 5 8 0 1 0 2 1 pinseq=12 T 1250 2500 9 8 1 1 0 6 1 pinlabel=3Y T 1250 2500 5 8 0 1 0 8 1 pintype=tri } P 1600 3300 1300 3300 1 0 0 { T 1400 3350 5 8 1 1 0 0 1 pinnumber=7 T 1400 3250 5 8 0 1 0 2 1 pinseq=13 T 1250 3300 9 8 1 1 0 6 1 pinlabel=2Y T 1250 3300 5 8 0 1 0 8 1 pintype=tri } P 1600 4100 1300 4100 1 0 0 { T 1400 4150 5 8 1 1 0 0 1 pinnumber=4 T 1400 4050 5 8 0 1 0 2 1 pinseq=14 T 1250 4100 9 8 1 1 0 6 1 pinlabel=1Y T 1250 4100 5 8 0 1 0 8 1 pintype=tri } B 300 300 1000 4400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2000 750 5 10 0 0 0 0 1 description=Quad 2-to-1 multiplexer T 2000 1750 5 10 0 0 0 0 1 numslots=0 T 300 50 9 10 1 0 0 0 1 40257 geda-gaf-1.8.2/symbols/4000/40240-1.sym0000664000175000017500000000467612204104272013523 00000000000000v 20070626 1 T 500 2800 8 10 1 1 0 6 1 refdes=U? T 2000 950 5 10 0 0 0 0 1 device=40240 T 2000 1150 5 10 0 0 0 0 1 footprint=DIP20 T 2000 1350 5 10 0 0 0 0 1 net=VSS:10 T 2000 1550 5 10 0 0 0 0 1 net=VDD:20 P 0 700 200 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=1 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 1 1 0 0 1 pinlabel=\_OE\_ T 350 700 5 8 0 1 0 2 1 pintype=in } V 250 700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=8 T 200 1050 5 8 0 1 0 8 1 pinseq=2 T 350 1100 9 8 1 1 0 0 1 pinlabel=D4 T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=6 T 200 1450 5 8 0 1 0 8 1 pinseq=3 T 350 1500 9 8 1 1 0 0 1 pinlabel=D3 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=4 T 200 1850 5 8 0 1 0 8 1 pinseq=4 T 350 1900 9 8 1 1 0 0 1 pinlabel=D2 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=2 T 200 2250 5 8 0 1 0 8 1 pinseq=5 T 350 2300 9 8 1 1 0 0 1 pinlabel=D1 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 1600 1100 1400 1100 1 0 0 { T 1400 1150 5 8 1 1 0 0 1 pinnumber=12 T 1400 1050 5 8 0 1 0 2 1 pinseq=6 T 1250 1100 9 8 1 1 0 6 1 pinlabel=\_Q4\_ T 1250 1100 5 8 0 1 0 8 1 pintype=tri } V 1350 1100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1600 1500 1400 1500 1 0 0 { T 1400 1550 5 8 1 1 0 0 1 pinnumber=14 T 1400 1450 5 8 0 1 0 2 1 pinseq=7 T 1250 1500 9 8 1 1 0 6 1 pinlabel=\_Q3\_ T 1250 1500 5 8 0 1 0 8 1 pintype=tri } V 1350 1500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1600 1900 1400 1900 1 0 0 { T 1400 1950 5 8 1 1 0 0 1 pinnumber=16 T 1400 1850 5 8 0 1 0 2 1 pinseq=8 T 1250 1900 9 8 1 1 0 6 1 pinlabel=\_Q2\_ T 1250 1900 5 8 0 1 0 8 1 pintype=tri } V 1350 1900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1600 2300 1400 2300 1 0 0 { T 1400 2350 5 8 1 1 0 0 1 pinnumber=18 T 1400 2250 5 8 0 1 0 2 1 pinseq=9 T 1250 2300 9 8 1 1 0 6 1 pinlabel=\_Q1\_ T 1250 2300 5 8 0 1 0 8 1 pintype=tri } V 1350 2300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 300 300 1000 2400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2000 1750 5 10 0 0 0 0 1 slot=1 T 2000 1950 5 10 0 0 0 0 1 numslots=2 T 2000 2150 5 10 0 0 0 0 1 slotdef=1:1,8,6,4,2,12,14,16,18 T 2000 2350 5 10 0 0 0 0 1 slotdef=2:19,17,15,13,11,3,5,7,9 T 2000 2550 5 10 0 0 0 0 1 description=2 quad inverting bus driver T 2000 2750 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF40240B_CNV_3.pdf T 300 50 9 10 1 0 0 0 1 40240 geda-gaf-1.8.2/symbols/4000/4046-1.sym0000664000175000017500000000570012204104272013434 00000000000000v 20031231 1 P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=14 T 200 2950 5 8 0 1 0 8 1 pinseq=14 T 350 3000 9 8 1 1 0 0 1 pinlabel=PCain T 350 3000 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=3 T 200 2650 5 8 0 1 0 8 1 pinseq=3 T 350 2700 9 8 1 1 0 0 1 pinlabel=PCbin T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 2000 300 2000 1 0 0 { T 200 2050 5 8 1 1 0 6 1 pinnumber=9 T 200 1950 5 8 0 1 0 8 1 pinseq=9 T 350 2000 9 8 1 1 0 0 1 pinlabel=VCOin T 350 2000 5 8 0 1 0 2 1 pintype=in } P 0 900 300 900 1 0 0 { T 200 950 5 8 1 1 0 6 1 pinnumber=5 T 200 850 5 8 0 1 0 8 1 pinseq=5 T 350 900 9 8 1 1 0 0 1 pinlabel=Inh T 350 900 5 8 0 1 0 2 1 pintype=in } P 1700 3000 2000 3000 1 0 1 { T 1800 3050 5 8 1 1 0 0 1 pinnumber=2 T 1800 2950 5 8 0 1 0 2 1 pinseq=2 T 1650 3000 9 8 1 1 0 6 1 pinlabel=PC1out T 1650 3000 5 8 0 1 0 8 1 pintype=out } P 1700 2700 2000 2700 1 0 1 { T 1800 2750 5 8 1 1 0 0 1 pinnumber=13 T 1800 2650 5 8 0 1 0 2 1 pinseq=13 T 1650 2700 9 8 1 1 0 6 1 pinlabel=PC2out T 1650 2700 5 8 0 1 0 8 1 pintype=out } P 1700 2400 2000 2400 1 0 1 { T 1800 2450 5 8 1 1 0 0 1 pinnumber=1 T 1800 2350 5 8 0 1 0 2 1 pinseq=1 T 1650 2400 9 8 1 1 0 6 1 pinlabel=LD T 1650 2400 5 8 0 1 0 8 1 pintype=out } P 1700 2100 2000 2100 1 0 1 { T 1800 2150 5 8 1 1 0 0 1 pinnumber=4 T 1800 2050 5 8 0 1 0 2 1 pinseq=4 T 1650 2100 9 8 1 1 0 6 1 pinlabel=VCOout T 1650 2100 5 8 0 1 0 8 1 pintype=out } P 1700 1800 2000 1800 1 0 1 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=11 T 1800 1750 5 8 0 1 0 2 1 pinseq=11 T 1650 1800 9 8 1 1 0 6 1 pinlabel=R1 T 1650 1800 5 8 0 1 0 8 1 pintype=pas } P 1700 1500 2000 1500 1 0 1 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=12 T 1800 1450 5 8 0 1 0 2 1 pinseq=12 T 1650 1500 9 8 1 1 0 6 1 pinlabel=R2 T 1650 1500 5 8 0 1 0 8 1 pintype=pas } P 1700 1200 2000 1200 1 0 1 { T 1800 1250 5 8 1 1 0 0 1 pinnumber=6 T 1800 1150 5 8 0 1 0 2 1 pinseq=6 T 1650 1200 9 8 1 1 0 6 1 pinlabel=C1a T 1650 1200 5 8 0 1 0 8 1 pintype=pas } P 1700 900 2000 900 1 0 1 { T 1800 950 5 8 1 1 0 0 1 pinnumber=7 T 1800 850 5 8 0 1 0 2 1 pinseq=7 T 1650 900 9 8 1 1 0 6 1 pinlabel=C1b T 1650 900 5 8 0 1 0 8 1 pintype=pas } P 1700 600 2000 600 1 0 1 { T 1800 650 5 8 1 1 0 0 1 pinnumber=10 T 1800 550 5 8 0 1 0 2 1 pinseq=10 T 1650 600 9 8 1 1 0 6 1 pinlabel=SFout T 1650 600 5 8 0 1 0 8 1 pintype=out } P 1700 300 2000 300 1 0 1 { T 1800 350 5 8 1 1 0 0 1 pinnumber=15 T 1800 250 5 8 0 1 0 2 1 pinseq=15 T 1650 300 9 8 1 1 0 6 1 pinlabel=Zener T 1650 300 5 8 0 1 0 8 1 pintype=pwr } B 300 0 1400 3300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 301 3550 5 10 0 0 0 0 1 device=4046 T 1700 3400 8 10 1 1 0 6 1 refdes=U? T 300 3750 5 10 0 0 0 0 1 footprint=DIP16 T 300 3950 5 10 0 0 0 0 1 description=phase-locked loop T 300 4550 5 10 0 0 0 0 1 numslots=0 T 300 4150 5 10 0 0 0 0 1 net=VDD:16 T 300 4350 5 10 0 0 0 0 1 net=VSS:8 T 300 4750 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4046B_CNV_3.pdf T 300 3350 9 10 1 0 0 0 1 4046 geda-gaf-1.8.2/symbols/4000/4052-1.sym0000664000175000017500000000543512204104272013436 00000000000000v 20031231 1 P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=10 T 200 2250 5 8 0 1 0 8 1 pinseq=10 T 350 2300 9 8 1 1 0 0 1 pinlabel=A T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2000 300 2000 1 0 0 { T 200 2050 5 8 1 1 0 6 1 pinnumber=9 T 200 1950 5 8 0 1 0 8 1 pinseq=9 T 350 2000 9 8 1 1 0 0 1 pinlabel=B T 350 2000 5 8 0 1 0 2 1 pintype=in } P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=3 T 200 950 5 8 0 1 0 8 1 pinseq=3 T 350 1000 9 8 1 1 0 0 1 pinlabel=Y T 350 1000 5 8 0 1 0 2 1 pintype=pas } P 0 1300 300 1300 1 0 0 { T 200 1350 5 8 1 1 0 6 1 pinnumber=13 T 200 1250 5 8 0 1 0 8 1 pinseq=13 T 350 1300 9 8 1 1 0 0 1 pinlabel=X T 350 1300 5 8 0 1 0 2 1 pintype=pas } B 300 0 1400 2600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 2850 5 10 0 0 0 0 1 device=4052 T 300 3050 5 10 0 0 0 0 1 footprint=DIP16 P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=6 T 200 150 5 8 0 1 0 8 1 pinseq=6 T 350 200 9 8 1 1 0 0 1 pinlabel=INH T 350 200 5 8 0 1 0 2 1 pintype=in } P 1700 1400 2000 1400 1 0 1 { T 1800 1450 5 8 1 1 0 0 1 pinnumber=11 T 1800 1350 5 8 0 1 0 2 1 pinseq=11 T 1650 1400 9 8 1 1 0 6 1 pinlabel=X3 T 1650 1400 5 8 0 1 0 8 1 pintype=pas } P 1700 1700 2000 1700 1 0 1 { T 1800 1750 5 8 1 1 0 0 1 pinnumber=15 T 1800 1650 5 8 0 1 0 2 1 pinseq=15 T 1650 1700 9 8 1 1 0 6 1 pinlabel=X2 T 1650 1700 5 8 0 1 0 8 1 pintype=pas } P 1700 2000 2000 2000 1 0 1 { T 1800 2050 5 8 1 1 0 0 1 pinnumber=14 T 1800 1950 5 8 0 1 0 2 1 pinseq=14 T 1650 2000 9 8 1 1 0 6 1 pinlabel=X1 T 1650 2000 5 8 0 1 0 8 1 pintype=pas } P 1700 2300 2000 2300 1 0 1 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=12 T 1800 2250 5 8 0 1 0 2 1 pinseq=12 T 1650 2300 9 8 1 1 0 6 1 pinlabel=X0 T 1650 2300 5 8 0 1 0 8 1 pintype=pas } P 1700 1100 2000 1100 1 0 1 { T 1800 1150 5 8 1 1 0 0 1 pinnumber=1 T 1800 1050 5 8 0 1 0 2 1 pinseq=1 T 1650 1100 9 8 1 1 0 6 1 pinlabel=Y0 T 1650 1100 5 8 0 1 0 8 1 pintype=pas } P 1700 800 2000 800 1 0 1 { T 1800 850 5 8 1 1 0 0 1 pinnumber=5 T 1800 750 5 8 0 1 0 2 1 pinseq=5 T 1650 800 9 8 1 1 0 6 1 pinlabel=Y1 T 1650 800 5 8 0 1 0 8 1 pintype=pas } P 1700 500 2000 500 1 0 1 { T 1800 550 5 8 1 1 0 0 1 pinnumber=2 T 1800 450 5 8 0 1 0 2 1 pinseq=2 T 1650 500 9 8 1 1 0 6 1 pinlabel=Y2 T 1650 500 5 8 0 1 0 8 1 pintype=pas } P 1700 200 2000 200 1 0 1 { T 1800 250 5 8 1 1 0 0 1 pinnumber=4 T 1800 150 5 8 0 1 0 2 1 pinseq=4 T 1650 200 9 8 1 1 0 6 1 pinlabel=Y3 T 1650 200 5 8 0 1 0 8 1 pintype=pas } T 1700 2700 8 10 1 1 0 6 1 refdes=U? T 300 4050 5 10 0 0 0 0 1 description=2 4-1 analogue multiplexer/demultiplexer T 300 3850 5 10 0 0 0 0 1 numslots=0 T 300 3250 5 10 0 0 0 0 1 net=VDD:16 T 300 3450 5 10 0 0 0 0 1 net=VSS:8 T 300 3650 5 10 0 0 0 0 1 net=VEE:7 T 300 4250 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4052B_CNV_3.pdf T 300 2640 3 10 1 0 0 0 1 4052 geda-gaf-1.8.2/symbols/4000/4541-1.sym0000664000175000017500000000437312204104272013441 00000000000000v 20070626 1 T 1700 3900 8 10 1 1 0 6 1 refdes=U? T 300 4050 5 10 0 0 0 0 1 device=4541 T 300 4250 5 10 0 0 0 0 1 footprint=DIP14 T 300 4450 5 10 0 0 0 0 1 net=VSS:7 T 300 4650 5 10 0 0 0 0 1 net=VDD:14 P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=1 T 200 2650 5 8 0 1 0 8 1 pinseq=1 T 350 2700 9 8 1 1 0 0 1 pinlabel=RTC T 350 2700 5 8 0 1 0 2 1 pintype=out } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=3 T 200 1850 5 8 0 1 0 8 1 pinseq=2 T 350 1900 9 8 1 1 0 0 1 pinlabel=RS T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 300 300 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=9 T 200 250 5 8 0 1 0 8 1 pinseq=3 T 350 300 9 8 1 1 0 0 1 pinlabel=Q/\_Q\_ T 350 300 5 8 0 1 0 2 1 pintype=in } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=10 T 200 650 5 8 0 1 0 8 1 pinseq=4 T 350 700 9 8 1 1 0 0 1 pinlabel=Mode T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=6 T 200 1050 5 8 0 1 0 8 1 pinseq=5 T 350 1100 9 8 1 1 0 0 1 pinlabel=MR T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=2 T 200 2250 5 8 0 1 0 8 1 pinseq=6 T 350 2300 9 8 1 1 0 0 1 pinlabel=CTC T 350 2300 5 8 0 1 0 2 1 pintype=out } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=13 T 200 3050 5 8 0 1 0 8 1 pinseq=7 T 350 3100 9 8 1 1 0 0 1 pinlabel=B T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 1500 200 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=5 T 200 1450 5 8 0 1 0 8 1 pinseq=8 T 350 1500 9 8 1 1 0 0 1 pinlabel=\_AR\_ T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=12 T 200 3450 5 8 0 1 0 8 1 pinseq=9 T 350 3500 9 8 1 1 0 0 1 pinlabel=A T 350 3500 5 8 0 1 0 2 1 pintype=in } P 2000 1900 1700 1900 1 0 0 { T 1800 1950 5 8 1 1 0 0 1 pinnumber=8 T 1800 1850 5 8 0 1 0 2 1 pinseq=10 T 1650 1900 9 8 1 1 0 6 1 pinlabel=Q T 1650 1900 5 8 0 1 0 8 1 pintype=out } B 300 0 1400 3800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 5050 5 10 0 0 0 0 1 description=programmable frequency divider / digital timer T 300 4850 5 10 0 0 0 0 1 numslots=0 T 300 5250 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4541B_CNV_3.pdf T 300 3850 9 10 1 0 0 0 1 4541 V 250 1500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/4000/4352-1.sym0000664000175000017500000000617512204104272013443 00000000000000v 20070626 1 T 1700 3500 8 10 1 1 0 6 1 refdes=U? T 300 3450 9 10 1 0 0 0 1 4352 T 300 3650 5 10 0 0 0 0 1 device=4352 T 300 3850 5 10 0 0 0 0 1 footprint=DIP18 T 300 4050 5 10 0 0 0 0 1 numslots=0 T 300 4250 5 10 0 0 0 0 1 description=dual 4-channel analog multiplexer/demultiplexer with address latch T 300 4450 5 10 0 0 0 0 1 net=VDD:20 T 300 4650 5 10 0 0 0 0 1 net=VSS:10 T 300 4850 5 10 0 0 0 0 1 net=VEE:9 P 2000 3100 1700 3100 1 0 0 { T 1800 3150 5 8 1 1 0 0 1 pinnumber=16 T 1800 3050 5 8 0 1 0 2 1 pinseq=12 T 1650 3100 9 8 1 1 0 6 1 pinlabel=X0 T 1650 3100 5 8 0 1 0 8 1 pintype=io } P 2000 2700 1700 2700 1 0 0 { T 1800 2750 5 8 1 1 0 0 1 pinnumber=18 T 1800 2650 5 8 0 1 0 2 1 pinseq=14 T 1650 2700 9 8 1 1 0 6 1 pinlabel=X1 T 1650 2700 5 8 0 1 0 8 1 pintype=io } P 2000 2300 1700 2300 1 0 0 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=19 T 1800 2250 5 8 0 1 0 2 1 pinseq=15 T 1650 2300 9 8 1 1 0 6 1 pinlabel=X2 T 1650 2300 5 8 0 1 0 8 1 pintype=io } P 2000 1900 1700 1900 1 0 0 { T 1800 1950 5 8 1 1 0 0 1 pinnumber=15 T 1800 1850 5 8 0 1 0 2 1 pinseq=11 T 1650 1900 9 8 1 1 0 6 1 pinlabel=X3 T 1650 1900 5 8 0 1 0 8 1 pintype=io } P 2000 1500 1700 1500 1 0 0 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=1 T 1800 1450 5 8 0 1 0 2 1 pinseq=1 T 1650 1500 9 8 1 1 0 6 1 pinlabel=Y0 T 1650 1500 5 8 0 1 0 8 1 pintype=io } P 2000 1100 1700 1100 1 0 0 { T 1800 1150 5 8 1 1 0 0 1 pinnumber=5 T 1800 1050 5 8 0 1 0 2 1 pinseq=5 T 1650 1100 9 8 1 1 0 6 1 pinlabel=Y1 T 1650 1100 5 8 0 1 0 8 1 pintype=io } P 2000 700 1700 700 1 0 0 { T 1800 750 5 8 1 1 0 0 1 pinnumber=2 T 1800 650 5 8 0 1 0 2 1 pinseq=2 T 1650 700 9 8 1 1 0 6 1 pinlabel=Y2 T 1650 700 5 8 0 1 0 8 1 pintype=io } P 2000 300 1700 300 1 0 0 { T 1800 350 5 8 1 1 0 0 1 pinnumber=4 T 1800 250 5 8 0 1 0 2 1 pinseq=4 T 1650 300 9 8 1 1 0 6 1 pinlabel=Y3 T 1650 300 5 8 0 1 0 8 1 pintype=io } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=13 T 200 3050 5 8 0 1 0 8 1 pinseq=10 T 350 3100 9 8 1 1 0 0 1 pinlabel=A T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=12 T 200 2650 5 8 0 1 0 8 1 pinseq=9 T 350 2700 9 8 1 1 0 0 1 pinlabel=B T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 700 200 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=7 T 200 650 5 8 0 1 0 8 1 pinseq=6 T 350 700 9 8 1 1 0 0 1 pinlabel=\_EN1\_ T 350 700 5 8 0 1 0 2 1 pintype=in } V 250 700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 300 300 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=8 T 200 250 5 8 0 1 0 8 1 pinseq=7 T 350 300 9 8 1 1 0 0 1 pinlabel=EN2 T 350 300 5 8 0 1 0 2 1 pintype=in } P 0 2300 200 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=11 T 200 2250 5 8 0 1 0 8 1 pinseq=8 T 350 2300 9 8 1 1 0 0 1 pinlabel=\_LE\_ T 350 2300 5 8 0 1 0 2 1 pintype=in } V 250 2300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=17 T 200 1850 5 8 0 1 0 8 1 pinseq=13 T 350 1900 9 8 1 1 0 0 1 pinlabel=Xcom T 350 1900 5 8 0 1 0 2 1 pintype=io } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=3 T 200 1450 5 8 0 1 0 8 1 pinseq=3 T 350 1500 9 8 1 1 0 0 1 pinlabel=Ycom T 350 1500 5 8 0 1 0 2 1 pintype=io } B 300 0 1400 3400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/4000/4528-1.sym0000664000175000017500000000377012204104272013446 00000000000000v 20070626 1 T 1300 2300 8 10 1 1 0 6 1 refdes=U? T 300 2450 5 10 0 0 0 0 1 device=4528 T 300 2650 5 10 0 0 0 0 1 footprint=DIP16 T 300 2850 5 10 0 0 0 0 1 net=VSS:8 T 300 3050 5 10 0 0 0 0 1 net=VDD:16 P 0 300 300 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=2 T 200 250 5 8 0 1 0 8 1 pinseq=2 T 350 300 9 8 1 1 0 0 1 pinlabel=RC T 350 300 5 8 0 1 0 2 1 pintype=pas } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=1 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 1 1 0 0 1 pinlabel=C T 350 700 5 8 0 1 0 2 1 pintype=pas } P 0 1100 200 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=3 T 200 1050 5 8 0 1 0 8 1 pinseq=3 T 350 1100 9 8 1 1 0 0 1 pinlabel=\_CLR\_ T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1900 200 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=5 T 200 1850 5 8 0 1 0 8 1 pinseq=5 T 350 1900 9 8 1 1 0 0 1 pinlabel=\_I0\_ T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=4 T 200 1450 5 8 0 1 0 8 1 pinseq=4 T 350 1500 9 8 1 1 0 0 1 pinlabel=I1 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 1600 1500 1400 1500 1 0 0 { T 1400 1550 5 8 1 1 0 0 1 pinnumber=7 T 1400 1450 5 8 0 1 0 2 1 pinseq=7 T 1250 1500 9 8 1 1 0 6 1 pinlabel=\_Q\_ T 1250 1500 5 8 0 1 0 8 1 pintype=out } V 1350 1500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1600 1900 1300 1900 1 0 0 { T 1400 1950 5 8 1 1 0 0 1 pinnumber=6 T 1400 1850 5 8 0 1 0 2 1 pinseq=6 T 1250 1900 9 8 1 1 0 6 1 pinlabel=Q T 1250 1900 5 8 0 1 0 8 1 pintype=out } B 300 0 1000 2200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 3250 5 10 0 0 0 0 1 slot=1 T 300 3450 5 10 0 0 0 0 1 numslots=2 T 300 3650 5 10 0 0 0 0 1 slotdef=1:1,2,3,4,5,6,7 T 300 3850 5 10 0 0 0 0 1 slotdef=2:15,14,13,12,11,10,9 T 300 4050 5 10 0 0 0 0 1 description=2 monostable multivibrators T 300 4250 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4528B_CNV_3.pdf T 300 2250 9 10 1 0 0 0 1 4528 V 250 1100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 1900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4450 5 10 0 0 0 0 1 symversion=0.1 geda-gaf-1.8.2/symbols/4000/4028-1.sym0000664000175000017500000000546312204104272013442 00000000000000v 20031231 1 T 500 4800 8 10 1 1 0 6 1 refdes=U? T 2000 950 5 10 0 0 0 0 1 device=4028 T 2000 1150 5 10 0 0 0 0 1 footprint=DIP16 P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=11 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 1 1 0 0 1 pinlabel=D T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=12 T 200 1050 5 8 0 1 0 8 1 pinseq=2 T 350 1100 9 8 1 1 0 0 1 pinlabel=C T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=13 T 200 1450 5 8 0 1 0 8 1 pinseq=3 T 350 1500 9 8 1 1 0 0 1 pinlabel=B T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=10 T 200 1850 5 8 0 1 0 8 1 pinseq=4 T 350 1900 9 8 1 1 0 0 1 pinlabel=A T 350 1900 5 8 0 1 0 2 1 pintype=in } P 1600 700 1300 700 1 0 0 { T 1400 750 5 8 1 1 0 0 1 pinnumber=5 T 1400 650 5 8 0 1 0 2 1 pinseq=5 T 1250 700 9 8 1 1 0 6 1 pinlabel=9 T 1250 700 5 8 0 1 0 8 1 pintype=out } P 1600 1100 1300 1100 1 0 0 { T 1400 1150 5 8 1 1 0 0 1 pinnumber=9 T 1400 1050 5 8 0 1 0 2 1 pinseq=6 T 1250 1100 9 8 1 1 0 6 1 pinlabel=8 T 1250 1100 5 8 0 1 0 8 1 pintype=out } P 1600 1500 1300 1500 1 0 0 { T 1400 1550 5 8 1 1 0 0 1 pinnumber=4 T 1400 1450 5 8 0 1 0 2 1 pinseq=7 T 1250 1500 9 8 1 1 0 6 1 pinlabel=7 T 1250 1500 5 8 0 1 0 8 1 pintype=out } P 1600 1900 1300 1900 1 0 0 { T 1400 1950 5 8 1 1 0 0 1 pinnumber=7 T 1400 1850 5 8 0 1 0 2 1 pinseq=8 T 1250 1900 9 8 1 1 0 6 1 pinlabel=6 T 1250 1900 5 8 0 1 0 8 1 pintype=out } P 1600 2300 1300 2300 1 0 0 { T 1400 2350 5 8 1 1 0 0 1 pinnumber=6 T 1400 2250 5 8 0 1 0 2 1 pinseq=9 T 1250 2300 9 8 1 1 0 6 1 pinlabel=5 T 1250 2300 5 8 0 1 0 8 1 pintype=out } P 1600 2700 1300 2700 1 0 0 { T 1400 2750 5 8 1 1 0 0 1 pinnumber=1 T 1400 2650 5 8 0 1 0 2 1 pinseq=10 T 1250 2700 9 8 1 1 0 6 1 pinlabel=4 T 1250 2700 5 8 0 1 0 8 1 pintype=out } P 1600 3100 1300 3100 1 0 0 { T 1400 3150 5 8 1 1 0 0 1 pinnumber=15 T 1400 3050 5 8 0 1 0 2 1 pinseq=11 T 1250 3100 9 8 1 1 0 6 1 pinlabel=3 T 1250 3100 5 8 0 1 0 8 1 pintype=out } P 1600 3500 1300 3500 1 0 0 { T 1400 3550 5 8 1 1 0 0 1 pinnumber=2 T 1400 3450 5 8 0 1 0 2 1 pinseq=12 T 1250 3500 9 8 1 1 0 6 1 pinlabel=2 T 1250 3500 5 8 0 1 0 8 1 pintype=out } P 1600 3900 1300 3900 1 0 0 { T 1400 3950 5 8 1 1 0 0 1 pinnumber=14 T 1400 3850 5 8 0 1 0 2 1 pinseq=13 T 1250 3900 9 8 1 1 0 6 1 pinlabel=1 T 1250 3900 5 8 0 1 0 8 1 pintype=out } P 1600 4300 1300 4300 1 0 0 { T 1400 4350 5 8 1 1 0 0 1 pinnumber=3 T 1400 4250 5 8 0 1 0 2 1 pinseq=14 T 1250 4300 9 8 1 1 0 6 1 pinlabel=0 T 1250 4300 5 8 0 1 0 8 1 pintype=out } B 300 300 1000 4400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2000 1350 5 10 0 0 0 0 1 net=VDD:16 T 2000 1550 5 10 0 0 0 0 1 net=VSS:8 T 2000 750 5 10 0 0 0 0 1 description=BCD to decimal decoder T 2000 1750 5 10 0 0 0 0 1 numslots=0 T 300 50 9 10 1 0 0 0 1 4028 geda-gaf-1.8.2/symbols/4000/4066-2.sym0000664000175000017500000000226312204104272013440 00000000000000v 20031231 1 P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=1 T 200 550 5 8 0 1 0 8 1 pinseq=1 T 350 600 9 8 1 1 0 0 1 pinlabel=Y T 350 600 5 8 0 1 0 2 1 pintype=pas } P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=13 T 200 150 5 8 0 1 0 8 1 pinseq=3 T 350 200 9 8 1 1 0 0 1 pinlabel=EN T 350 200 5 8 0 1 0 2 1 pintype=in } P 1300 600 1600 600 1 0 1 { T 1400 650 5 8 1 1 0 0 1 pinnumber=2 T 1400 550 5 8 0 1 0 2 1 pinseq=2 T 1250 600 9 8 1 1 0 6 1 pinlabel=Z T 1250 600 5 8 0 1 0 8 1 pintype=pas } B 300 0 1000 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 1050 5 10 0 0 0 0 1 device=4066 T 1300 900 8 10 1 1 0 6 1 refdes=U? T 300 1250 5 10 0 0 0 0 1 footprint=DIP14 T 300 1450 5 10 0 0 0 0 1 description=4 bilateral switches T 300 2050 5 10 0 0 0 0 1 numslots=4 T 300 1650 5 10 0 0 0 0 1 net=VDD:14 T 300 1850 5 10 0 0 0 0 1 net=VSS:7 T 300 3250 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4066B_CNV_3.pdf T 300 850 9 8 1 0 0 0 1 4066 T 300 2250 5 10 0 0 0 0 1 slot=1 T 300 2450 5 10 0 0 0 0 1 slotdef=1:1,2,13 T 300 2650 5 10 0 0 0 0 1 slotdef=2:3,4,5 T 300 2850 5 10 0 0 0 0 1 slotdef=3:8,9,6 T 300 3050 5 10 0 0 0 0 1 slotdef=4:11,10,12 geda-gaf-1.8.2/symbols/4000/4000-1.sym0000664000175000017500000000575612204104272013435 00000000000000v 20031231 1 P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=4 T 200 1750 5 8 0 1 0 8 1 pinseq=4 T 350 1800 9 8 1 1 0 0 1 pinlabel=I2 T 350 1800 5 8 0 1 0 2 1 pintype=in } P 0 300 300 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=8 T 200 250 5 8 0 1 0 8 1 pinseq=8 T 350 300 9 8 1 1 0 0 1 pinlabel=I7 T 350 300 5 8 0 1 0 2 1 pintype=in } P 0 1200 300 1200 1 0 0 { T 200 1250 5 8 1 1 0 6 1 pinnumber=11 T 200 1150 5 8 0 1 0 8 1 pinseq=11 T 350 1200 9 8 1 1 0 0 1 pinlabel=I4 T 350 1200 5 8 0 1 0 2 1 pintype=in } P 0 800 300 800 1 0 0 { T 200 850 5 8 1 1 0 6 1 pinnumber=13 T 200 750 5 8 0 1 0 8 1 pinseq=13 T 350 800 9 8 1 1 0 0 1 pinlabel=I6 T 350 800 5 8 0 1 0 2 1 pintype=in } P 0 1600 300 1600 1 0 0 { T 200 1650 5 8 1 1 0 6 1 pinnumber=5 T 200 1550 5 8 0 1 0 8 1 pinseq=5 T 350 1600 9 8 1 1 0 0 1 pinlabel=I3 T 350 1600 5 8 0 1 0 2 1 pintype=in } P 0 2000 300 2000 1 0 0 { T 200 2050 5 8 1 1 0 6 1 pinnumber=3 T 200 1950 5 8 0 1 0 8 1 pinseq=3 T 350 2000 9 8 1 1 0 0 1 pinlabel=I1 T 350 2000 5 8 0 1 0 2 1 pintype=in } P 1500 300 1800 300 1 0 1 { T 1600 350 5 8 1 1 0 0 1 pinnumber=9 T 1600 250 5 8 0 1 0 2 1 pinseq=9 T 1450 300 9 8 1 1 0 6 1 pinlabel=O3 T 1450 300 5 8 0 1 0 8 1 pintype=out } P 1500 1000 1800 1000 1 0 1 { T 1600 1050 5 8 1 1 0 0 1 pinnumber=10 T 1600 950 5 8 0 1 0 2 1 pinseq=10 T 1450 1000 9 8 1 1 0 6 1 pinlabel=O2 T 1450 1000 5 8 0 1 0 8 1 pintype=out } P 1500 1800 1800 1800 1 0 1 { T 1600 1850 5 8 1 1 0 0 1 pinnumber=6 T 1600 1750 5 8 0 1 0 2 1 pinseq=6 T 1450 1800 9 8 1 1 0 6 1 pinlabel=O1 T 1450 1800 5 8 0 1 0 8 1 pintype=out } P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=12 T 200 950 5 8 0 1 0 8 1 pinseq=12 T 350 1000 9 8 1 1 0 0 1 pinlabel=I5 T 350 1000 5 8 0 1 0 2 1 pintype=in } T 300 2450 5 10 0 0 0 0 1 device=4000 A 500 1800 200 300 120 3 0 0 0 -1 -1 A 800 1690 280 24 66 3 0 0 0 -1 -1 A 800 1910 280 270 66 3 0 0 0 -1 -1 L 800 1970 600 1970 3 0 0 0 -1 -1 L 800 1630 600 1630 3 0 0 0 -1 -1 L 670 1900 590 1900 3 0 0 0 -1 -1 L 600 1800 700 1800 3 0 0 0 -1 -1 L 680 1700 600 1700 3 0 0 0 -1 -1 V 1100 1800 40 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 1140 1800 1200 1800 3 0 0 0 -1 -1 V 1040 300 40 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 1080 300 1140 300 3 0 0 0 -1 -1 A 500 1000 200 300 120 3 0 0 0 -1 -1 A 800 890 280 24 66 3 0 0 0 -1 -1 L 800 1170 600 1170 3 0 0 0 -1 -1 L 800 830 600 830 3 0 0 0 -1 -1 L 670 1100 590 1100 3 0 0 0 -1 -1 L 600 1000 700 1000 3 0 0 0 -1 -1 L 680 900 600 900 3 0 0 0 -1 -1 V 1100 1000 40 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 1140 1000 1200 1000 3 0 0 0 -1 -1 A 800 1110 280 270 66 3 0 0 0 -1 -1 L 700 500 700 100 3 0 0 0 -1 -1 L 700 100 1000 300 3 0 0 0 -1 -1 L 1000 300 700 500 3 0 0 0 -1 -1 L 700 300 600 300 3 0 0 0 -1 -1 B 300 0 1200 2200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1500 2300 8 10 1 1 0 6 1 refdes=U? T 300 2650 5 10 0 0 0 0 1 footprint=DIP14 T 300 2850 5 10 0 0 0 0 1 description=2 NOR-gates with 3 inputs, 1 NOT-gate T 300 3450 5 10 0 0 0 0 1 numslots=0 T 300 3050 5 10 0 0 0 0 1 net=VDD:14 T 300 3250 5 10 0 0 0 0 1 net=VSS:7 T 300 2250 9 8 1 0 0 0 1 4000 geda-gaf-1.8.2/symbols/4000/4089-1.sym0000664000175000017500000000561512204104272013450 00000000000000v 20070626 1 T 500 4800 8 10 1 1 0 6 1 refdes=U? T 2000 950 5 10 0 0 0 0 1 device=4089 T 2000 1150 5 10 0 0 0 0 1 footprint=DIP16 T 2000 1350 5 10 0 0 0 0 1 net=VSS:8 T 2000 1550 5 10 0 0 0 0 1 net=VDD:16 P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=10 T 200 1050 5 8 0 1 0 8 1 pinseq=1 T 350 1100 9 8 1 1 0 0 1 pinlabel=Strobe T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=4 T 200 3450 5 8 0 1 0 8 1 pinseq=2 T 350 3500 9 8 1 1 0 0 1 pinlabel=Set T 350 3500 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=13 T 200 3050 5 8 0 1 0 8 1 pinseq=3 T 350 3100 9 8 1 1 0 0 1 pinlabel=Reset T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=3 T 200 1450 5 8 0 1 0 8 1 pinseq=4 T 350 1500 9 8 1 1 0 0 1 pinlabel=D T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 4300 300 4300 1 0 0 { T 200 4350 5 8 1 1 0 6 1 pinnumber=9 T 200 4250 5 8 0 1 0 8 1 pinseq=5 T 400 4300 9 8 1 1 0 0 1 pinlabel=CLK T 400 4300 5 8 0 1 0 2 1 pintype=clk } L 400 4300 300 4375 3 0 0 0 -1 -1 L 400 4300 300 4225 3 0 0 0 -1 -1 P 0 3900 300 3900 1 0 0 { T 200 3950 5 8 1 1 0 6 1 pinnumber=12 T 200 3850 5 8 0 1 0 8 1 pinseq=6 T 350 3900 9 8 1 1 0 0 1 pinlabel=CASC T 350 3900 5 8 0 1 0 2 1 pintype=in } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=11 T 200 650 5 8 0 1 0 8 1 pinseq=7 T 350 700 9 8 1 1 0 0 1 pinlabel=C In T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=2 T 200 1850 5 8 0 1 0 8 1 pinseq=8 T 350 1900 9 8 1 1 0 0 1 pinlabel=C T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=15 T 200 2250 5 8 0 1 0 8 1 pinseq=9 T 350 2300 9 8 1 1 0 0 1 pinlabel=B T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=14 T 200 2650 5 8 0 1 0 8 1 pinseq=10 T 350 2700 9 8 1 1 0 0 1 pinlabel=A T 350 2700 5 8 0 1 0 2 1 pintype=in } P 1600 2100 1400 2100 1 0 0 { T 1400 2150 5 8 1 1 0 0 1 pinnumber=5 T 1400 2050 5 8 0 1 0 2 1 pinseq=11 T 1250 2100 9 8 1 1 0 6 1 pinlabel=\_Q\_ T 1250 2100 5 8 0 1 0 8 1 pintype=out } V 1350 2100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1600 1700 1300 1700 1 0 0 { T 1400 1750 5 8 1 1 0 0 1 pinnumber=1 T 1400 1650 5 8 0 1 0 2 1 pinseq=12 T 1250 1700 9 8 1 1 0 6 1 pinlabel=Q15 T 1250 1700 5 8 0 1 0 8 1 pintype=out } P 1600 2500 1300 2500 1 0 0 { T 1400 2550 5 8 1 1 0 0 1 pinnumber=6 T 1400 2450 5 8 0 1 0 2 1 pinseq=13 T 1250 2500 9 8 1 1 0 6 1 pinlabel=Q T 1250 2500 5 8 0 1 0 8 1 pintype=out } P 1600 700 1300 700 1 0 0 { T 1400 750 5 8 1 1 0 0 1 pinnumber=7 T 1400 650 5 8 0 1 0 2 1 pinseq=14 T 1250 700 9 8 1 1 0 6 1 pinlabel=C Out T 1250 700 5 8 0 1 0 8 1 pintype=out } B 300 300 1000 4400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2000 750 5 10 0 0 0 0 1 description=binary rate multiplier T 2000 1750 5 10 0 0 0 0 1 numslots=0 T 200 50 9 10 1 0 0 0 1 4089 geda-gaf-1.8.2/symbols/4000/40103-1.sym0000664000175000017500000000610612204104272013507 00000000000000v 20070626 1 T 500 6000 8 10 1 1 0 6 1 refdes=U? T 2000 850 5 10 0 0 0 0 1 device=40103 T 2000 1050 5 10 0 0 0 0 1 footprint=DIP16 T 2000 1250 5 10 0 0 0 0 1 net=VSS:8 T 2000 1450 5 10 0 0 0 0 1 net=VDD:16 P 0 3900 200 3900 1 0 0 { T 200 3950 5 8 1 1 0 6 1 pinnumber=15 T 200 3850 5 8 0 1 0 8 1 pinseq=1 T 350 3900 9 8 1 1 0 0 1 pinlabel=\_SPE\_ T 350 3900 5 8 0 1 0 2 1 pintype=in } V 250 3900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 4300 200 4300 1 0 0 { T 200 4350 5 8 1 1 0 6 1 pinnumber=2 T 200 4250 5 8 0 1 0 8 1 pinseq=2 T 350 4300 9 8 1 1 0 0 1 pinlabel=\_CL\_ T 350 4300 5 8 0 1 0 2 1 pintype=in } V 250 4300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 4700 200 4700 1 0 0 { T 200 4750 5 8 1 1 0 6 1 pinnumber=3 T 200 4650 5 8 0 1 0 8 1 pinseq=3 T 350 4700 9 8 1 1 0 0 1 pinlabel=\_CE\_ T 350 4700 5 8 0 1 0 2 1 pintype=in } V 250 4700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 5100 200 5100 1 0 0 { T 200 5150 5 8 1 1 0 6 1 pinnumber=9 T 200 5050 5 8 0 1 0 8 1 pinseq=4 T 350 5100 9 8 1 1 0 0 1 pinlabel=\_APE\_ T 350 5100 5 8 0 1 0 2 1 pintype=in } V 250 5100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=13 T 200 650 5 8 0 1 0 8 1 pinseq=5 T 350 700 9 8 1 1 0 0 1 pinlabel=J7 T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=12 T 200 1050 5 8 0 1 0 8 1 pinseq=6 T 350 1100 9 8 1 1 0 0 1 pinlabel=J6 T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=11 T 200 1450 5 8 0 1 0 8 1 pinseq=7 T 350 1500 9 8 1 1 0 0 1 pinlabel=J5 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=10 T 200 1850 5 8 0 1 0 8 1 pinseq=8 T 350 1900 9 8 1 1 0 0 1 pinlabel=J4 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=7 T 200 2250 5 8 0 1 0 8 1 pinseq=9 T 350 2300 9 8 1 1 0 0 1 pinlabel=J3 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=6 T 200 2650 5 8 0 1 0 8 1 pinseq=10 T 350 2700 9 8 1 1 0 0 1 pinlabel=J2 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=5 T 200 3050 5 8 0 1 0 8 1 pinseq=11 T 350 3100 9 8 1 1 0 0 1 pinlabel=J1 T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=4 T 200 3450 5 8 0 1 0 8 1 pinseq=12 T 350 3500 9 8 1 1 0 0 1 pinlabel=J0 T 350 3500 5 8 0 1 0 2 1 pintype=in } P 0 5500 300 5500 1 0 0 { T 200 5550 5 8 1 1 0 6 1 pinnumber=1 T 200 5450 5 8 0 1 0 8 1 pinseq=13 T 400 5500 9 8 1 1 0 0 1 pinlabel=CLK T 400 5500 5 8 0 1 0 2 1 pintype=clk } L 400 5500 300 5575 3 0 0 0 -1 -1 L 400 5500 300 5425 3 0 0 0 -1 -1 P 1600 5500 1400 5500 1 0 0 { T 1400 5550 5 8 1 1 0 0 1 pinnumber=14 T 1400 5450 5 8 0 1 0 2 1 pinseq=14 T 1250 5500 9 8 1 1 0 6 1 pinlabel=\_CO\_ T 1250 5500 5 8 0 1 0 8 1 pintype=out } V 1350 5500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 300 300 1000 5600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2000 650 5 10 0 0 0 0 1 description=8-bit synchrounous binary down counter T 2000 1650 5 10 0 0 0 0 1 numslots=0 T 300 50 9 10 1 0 0 0 1 40103 geda-gaf-1.8.2/symbols/4000/40147-1.sym0000664000175000017500000000542012204104272013515 00000000000000v 20040710 1 T 500 4800 8 10 1 1 0 6 1 refdes=U? T 2000 950 5 10 0 0 0 0 1 device=40147 T 2000 1150 5 10 0 0 0 0 1 footprint=DIP16 T 2000 1350 5 10 0 0 0 0 1 net=VSS:8 T 2000 1550 5 10 0 0 0 0 1 net=VDD:16 P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=10 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 1 1 0 0 1 pinlabel=9 T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=5 T 200 1050 5 8 0 1 0 8 1 pinseq=2 T 350 1100 9 8 1 1 0 0 1 pinlabel=8 T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=4 T 200 1450 5 8 0 1 0 8 1 pinseq=3 T 350 1500 9 8 1 1 0 0 1 pinlabel=7 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=3 T 200 1850 5 8 0 1 0 8 1 pinseq=4 T 350 1900 9 8 1 1 0 0 1 pinlabel=6 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=2 T 200 2250 5 8 0 1 0 8 1 pinseq=5 T 350 2300 9 8 1 1 0 0 1 pinlabel=5 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=1 T 200 2650 5 8 0 1 0 8 1 pinseq=6 T 350 2700 9 8 1 1 0 0 1 pinlabel=4 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=13 T 200 3050 5 8 0 1 0 8 1 pinseq=7 T 350 3100 9 8 1 1 0 0 1 pinlabel=3 T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=12 T 200 3450 5 8 0 1 0 8 1 pinseq=8 T 350 3500 9 8 1 1 0 0 1 pinlabel=2 T 350 3500 5 8 0 1 0 2 1 pintype=in } P 0 3900 300 3900 1 0 0 { T 200 3950 5 8 1 1 0 6 1 pinnumber=11 T 200 3850 5 8 0 1 0 8 1 pinseq=9 T 350 3900 9 8 1 1 0 0 1 pinlabel=1 T 350 3900 5 8 0 1 0 2 1 pintype=in } P 0 4300 300 4300 1 0 0 { T 200 4350 5 8 1 1 0 6 1 pinnumber=15 T 200 4250 5 8 0 1 0 8 1 pinseq=10 T 350 4300 9 8 1 1 0 0 1 pinlabel=0 T 350 4300 5 8 0 1 0 2 1 pintype=in } P 1600 1900 1300 1900 1 0 0 { T 1400 1950 5 8 1 1 0 0 1 pinnumber=14 T 1400 1850 5 8 0 1 0 2 1 pinseq=11 T 1250 1900 9 8 1 1 0 6 1 pinlabel=D T 1250 1900 5 8 0 1 0 8 1 pintype=out } P 1600 2300 1300 2300 1 0 0 { T 1400 2350 5 8 1 1 0 0 1 pinnumber=6 T 1400 2250 5 8 0 1 0 2 1 pinseq=12 T 1250 2300 9 8 1 1 0 6 1 pinlabel=C T 1250 2300 5 8 0 1 0 8 1 pintype=out } P 1600 2700 1300 2700 1 0 0 { T 1400 2750 5 8 1 1 0 0 1 pinnumber=7 T 1400 2650 5 8 0 1 0 2 1 pinseq=13 T 1250 2700 9 8 1 1 0 6 1 pinlabel=B T 1250 2700 5 8 0 1 0 8 1 pintype=out } P 1600 3100 1300 3100 1 0 0 { T 1400 3150 5 8 1 1 0 0 1 pinnumber=9 T 1400 3050 5 8 0 1 0 2 1 pinseq=14 T 1250 3100 9 8 1 1 0 6 1 pinlabel=A T 1250 3100 5 8 0 1 0 8 1 pintype=out } B 300 300 1000 4400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2000 750 5 10 0 0 0 0 1 description=10 to 4 line BCD priority encoder T 2000 1750 5 10 0 0 0 0 1 numslots=0 T 300 50 9 10 1 0 0 0 1 40147 geda-gaf-1.8.2/symbols/4000/4043-1.sym0000664000175000017500000000535112204104272013433 00000000000000v 20031231 1 T 500 4000 8 10 1 1 0 6 1 refdes=U? T 1900 550 5 10 0 0 0 0 1 device=4043 T 1900 750 5 10 0 0 0 0 1 footprint=DIP16 T 1900 950 5 10 0 0 0 0 1 net=VSS:8 T 1900 1150 5 10 0 0 0 0 1 net=VDD:16 P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=14 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 1 1 0 0 1 pinlabel=S4 T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=12 T 200 1450 5 8 0 1 0 8 1 pinseq=2 T 350 1500 9 8 1 1 0 0 1 pinlabel=S3 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=6 T 200 2250 5 8 0 1 0 8 1 pinseq=3 T 350 2300 9 8 1 1 0 0 1 pinlabel=S2 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=4 T 200 3050 5 8 0 1 0 8 1 pinseq=4 T 350 3100 9 8 1 1 0 0 1 pinlabel=S1 T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=15 T 200 1050 5 8 0 1 0 8 1 pinseq=5 T 350 1100 9 8 1 1 0 0 1 pinlabel=R4 T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=11 T 200 1850 5 8 0 1 0 8 1 pinseq=6 T 350 1900 9 8 1 1 0 0 1 pinlabel=R3 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=7 T 200 2650 5 8 0 1 0 8 1 pinseq=7 T 350 2700 9 8 1 1 0 0 1 pinlabel=R2 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=3 T 200 3450 5 8 0 1 0 8 1 pinseq=8 T 350 3500 9 8 1 1 0 0 1 pinlabel=R1 T 350 3500 5 8 0 1 0 2 1 pintype=in } P 1600 1100 1300 1100 1 0 0 { T 1400 1150 5 8 1 1 0 0 1 pinnumber=1 T 1400 1050 5 8 0 1 0 2 1 pinseq=9 T 1250 1100 9 8 1 1 0 6 1 pinlabel=Q4 T 1250 1100 5 8 0 1 0 8 1 pintype=tri } P 1600 1900 1300 1900 1 0 0 { T 1400 1950 5 8 1 1 0 0 1 pinnumber=10 T 1400 1850 5 8 0 1 0 2 1 pinseq=10 T 1250 1900 9 8 1 1 0 6 1 pinlabel=Q3 T 1250 1900 5 8 0 1 0 8 1 pintype=tri } P 1600 2700 1300 2700 1 0 0 { T 1400 2750 5 8 1 1 0 0 1 pinnumber=9 T 1400 2650 5 8 0 1 0 2 1 pinseq=11 T 1250 2700 9 8 1 1 0 6 1 pinlabel=Q2 T 1250 2700 5 8 0 1 0 8 1 pintype=tri } P 1600 3500 1300 3500 1 0 0 { T 1400 3550 5 8 1 1 0 0 1 pinnumber=2 T 1400 3450 5 8 0 1 0 2 1 pinseq=12 T 1250 3500 9 8 1 1 0 6 1 pinlabel=Q1 T 1250 3500 5 8 0 1 0 8 1 pintype=tri } P 800 4200 800 3900 1 0 0 { T 850 4000 5 8 1 1 0 0 1 pinnumber=5 T 850 4000 5 8 0 1 0 2 1 pinseq=13 T 800 3850 9 8 1 1 0 5 1 pinlabel=EN T 800 3700 5 8 0 1 0 5 1 pintype=in } B 300 300 1000 3600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1900 350 5 10 0 0 0 0 1 description=quadruple R/S latch with 3-state outputs T 1900 1350 5 10 0 0 0 0 1 numslots=0 T 1900 150 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4043B_CNV_3.pdf T 300 50 9 10 1 0 0 0 1 4043 geda-gaf-1.8.2/symbols/4000/4520-1.sym0000664000175000017500000000360312204104272013431 00000000000000v 20031231 1 T 1300 1900 8 10 1 1 0 6 1 refdes=U? T 300 2050 5 10 0 0 0 0 1 device=4520 T 300 2250 5 10 0 0 0 0 1 footprint=DIP16 T 300 2450 5 10 0 0 0 0 1 net=VSS:8 T 300 2650 5 10 0 0 0 0 1 net=VDD:16 P 0 300 300 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=7 T 200 250 5 8 0 1 0 8 1 pinseq=1 T 350 300 9 8 1 1 0 0 1 pinlabel=RST T 350 300 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=2 T 200 1050 5 8 0 1 0 8 1 pinseq=2 T 350 1100 9 8 1 1 0 0 1 pinlabel=EN T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=1 T 200 1450 5 8 0 1 0 8 1 pinseq=3 T 400 1500 9 8 1 1 0 0 1 pinlabel=CLK T 400 1500 5 8 0 1 0 2 1 pintype=clk } L 400 1500 300 1575 3 0 0 0 -1 -1 L 400 1500 300 1425 3 0 0 0 -1 -1 P 1600 300 1300 300 1 0 0 { T 1400 350 5 8 1 1 0 0 1 pinnumber=6 T 1400 250 5 8 0 1 0 2 1 pinseq=4 T 1250 300 9 8 1 1 0 6 1 pinlabel=Q4 T 1250 300 5 8 0 1 0 8 1 pintype=out } P 1600 700 1300 700 1 0 0 { T 1400 750 5 8 1 1 0 0 1 pinnumber=5 T 1400 650 5 8 0 1 0 2 1 pinseq=5 T 1250 700 9 8 1 1 0 6 1 pinlabel=Q3 T 1250 700 5 8 0 1 0 8 1 pintype=out } P 1600 1100 1300 1100 1 0 0 { T 1400 1150 5 8 1 1 0 0 1 pinnumber=4 T 1400 1050 5 8 0 1 0 2 1 pinseq=6 T 1250 1100 9 8 1 1 0 6 1 pinlabel=Q2 T 1250 1100 5 8 0 1 0 8 1 pintype=out } P 1600 1500 1300 1500 1 0 0 { T 1400 1550 5 8 1 1 0 0 1 pinnumber=3 T 1400 1450 5 8 0 1 0 2 1 pinseq=7 T 1250 1500 9 8 1 1 0 6 1 pinlabel=Q1 T 1250 1500 5 8 0 1 0 8 1 pintype=out } B 300 0 1000 1800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 2850 5 10 0 0 0 0 1 slot=1 T 300 3050 5 10 0 0 0 0 1 numslots=2 T 300 3250 5 10 0 0 0 0 1 slotdef=1:7,2,1,6,5,4,3 T 300 3450 5 10 0 0 0 0 1 slotdef=2:9,14,15,10,11,12,13 T 300 3650 5 10 0 0 0 0 1 description=2 binary counter T 300 3850 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4520B_CNV_3.pdf T 300 1850 9 10 1 0 0 0 1 4520 geda-gaf-1.8.2/symbols/4000/4517-1.sym0000664000175000017500000000356512204104272013446 00000000000000v 20031231 1 T 1900 1950 8 10 1 1 0 6 1 refdes=U? T 300 2150 5 10 0 0 0 0 1 device=4517 T 300 2350 5 10 0 0 0 0 1 footprint=DIP16 T 300 2550 5 10 0 0 0 0 1 net=VSS:8 T 300 2750 5 10 0 0 0 0 1 net=VDD:16 P 1700 0 1700 300 1 0 0 { T 1750 100 5 8 1 1 0 0 1 pinnumber=5 T 1750 100 5 8 0 1 0 2 1 pinseq=1 T 1700 350 9 8 1 1 0 3 1 pinlabel=Q64 T 1700 500 5 8 0 1 0 3 1 pintype=io } P 1300 0 1300 300 1 0 0 { T 1350 100 5 8 1 1 0 0 1 pinnumber=2 T 1350 100 5 8 0 1 0 2 1 pinseq=2 T 1300 350 9 8 1 1 0 3 1 pinlabel=Q48 T 1300 500 5 8 0 1 0 3 1 pintype=io } P 900 0 900 300 1 0 0 { T 950 100 5 8 1 1 0 0 1 pinnumber=6 T 950 100 5 8 0 1 0 2 1 pinseq=3 T 900 350 9 8 1 1 0 3 1 pinlabel=Q32 T 900 500 5 8 0 1 0 3 1 pintype=io } P 500 0 500 300 1 0 0 { T 550 100 5 8 1 1 0 0 1 pinnumber=1 T 550 100 5 8 0 1 0 2 1 pinseq=4 T 500 350 9 8 1 1 0 3 1 pinlabel=Q16 T 500 500 5 8 0 1 0 3 1 pintype=io } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=3 T 200 650 5 8 0 1 0 8 1 pinseq=5 T 350 700 9 8 1 1 0 0 1 pinlabel=WE T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=7 T 200 1050 5 8 0 1 0 8 1 pinseq=6 T 350 1100 9 8 1 1 0 0 1 pinlabel=D1 T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=4 T 200 1450 5 8 0 1 0 8 1 pinseq=7 T 400 1500 9 8 1 1 0 0 1 pinlabel=CLK T 400 1500 5 8 0 1 0 2 1 pintype=in } L 400 1500 300 1575 3 0 0 0 -1 -1 L 400 1500 300 1425 3 0 0 0 -1 -1 B 300 300 1600 1600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 2950 5 10 0 0 0 0 1 slot=1 T 300 3150 5 10 0 0 0 0 1 numslots=2 T 300 3350 5 10 0 0 0 0 1 slotdef=1:5,2,6,1,3,7,4 T 300 3550 5 10 0 0 0 0 1 slotdef=2:11,14,10,15,13,19,12 T 300 3750 5 10 0 0 0 0 1 description=2 64-stage static shift registers T 300 3950 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4517B_CNV_3.pdf T 300 1950 9 10 1 0 0 0 1 4517 geda-gaf-1.8.2/symbols/4000/4011-1.sym0000664000175000017500000000236112204104272013424 00000000000000v 20040710 1 P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=1 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 5 8 0 1 0 2 1 pintype=in T 350 700 9 8 0 1 0 0 1 pinlabel=A } P 0 300 300 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=2 T 200 250 5 8 0 1 0 8 1 pinseq=2 T 350 300 5 8 0 1 0 2 1 pintype=in T 350 300 9 8 0 1 0 0 1 pinlabel=B } P 1100 500 1300 500 1 0 1 { T 1100 550 5 8 1 1 0 0 1 pinnumber=3 T 1100 450 5 8 0 1 0 2 1 pinseq=3 T 950 500 5 8 0 1 0 8 1 pintype=out T 950 500 9 8 0 1 0 6 1 pinlabel=Y } T 1700 700 5 10 0 0 0 0 1 net=VDD:14 T 1700 900 5 10 0 0 0 0 1 net=VSS:7 T 1700 1100 5 10 0 0 0 0 1 device=4011 T 1700 1500 5 10 0 0 0 0 1 numslots=4 T 1700 1700 5 10 0 0 0 0 1 slotdef=1:1,2,3 T 1700 1900 5 10 0 0 0 0 1 slotdef=2:5,6,4 T 1700 2100 5 10 0 0 0 0 1 slotdef=3:9,8,10 T 1700 2300 5 10 0 0 0 0 1 slotdef=4:13,12,11 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1700 1300 5 10 0 0 0 0 1 slot=1 T 1700 2500 5 10 0 0 0 0 1 footprint=DIP14 T 1700 2700 5 10 0 0 0 0 1 description=4 NAND-gates with 2 inputs T 300 0 9 8 1 0 0 0 1 4011 L 300 200 300 800 3 0 0 0 -1 -1 L 300 800 700 800 3 0 0 0 -1 -1 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 T 300 900 8 10 1 1 0 0 1 refdes=U? T 1700 2900 5 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/4000/4019-1.sym0000664000175000017500000000542012204104272013433 00000000000000v 20031231 1 T 500 4800 8 10 1 1 0 6 1 refdes=U? T 3400 950 5 10 0 0 0 0 1 device=4019 T 3400 1150 5 10 0 0 0 0 1 footprint=DIP16 P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=14 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 1 1 0 0 1 pinlabel=KB T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=9 T 200 1050 5 8 0 1 0 8 1 pinseq=2 T 350 1100 9 8 1 1 0 0 1 pinlabel=KA T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=1 T 200 1450 5 8 0 1 0 8 1 pinseq=3 T 350 1500 9 8 1 1 0 0 1 pinlabel=B4 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=3 T 200 2250 5 8 0 1 0 8 1 pinseq=4 T 350 2300 9 8 1 1 0 0 1 pinlabel=B3 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=5 T 200 3050 5 8 0 1 0 8 1 pinseq=5 T 350 3100 9 8 1 1 0 0 1 pinlabel=B2 T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 3900 300 3900 1 0 0 { T 200 3950 5 8 1 1 0 6 1 pinnumber=7 T 200 3850 5 8 0 1 0 8 1 pinseq=6 T 350 3900 9 8 1 1 0 0 1 pinlabel=B1 T 350 3900 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=15 T 200 1850 5 8 0 1 0 8 1 pinseq=7 T 350 1900 9 8 1 1 0 0 1 pinlabel=A4 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=2 T 200 2650 5 8 0 1 0 8 1 pinseq=8 T 350 2700 9 8 1 1 0 0 1 pinlabel=A3 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=4 T 200 3450 5 8 0 1 0 8 1 pinseq=9 T 350 3500 9 8 1 1 0 0 1 pinlabel=A2 T 350 3500 5 8 0 1 0 2 1 pintype=in } P 0 4300 300 4300 1 0 0 { T 200 4350 5 8 1 1 0 6 1 pinnumber=6 T 200 4250 5 8 0 1 0 8 1 pinseq=10 T 350 4300 9 8 1 1 0 0 1 pinlabel=A1 T 350 4300 5 8 0 1 0 2 1 pintype=in } P 3000 1900 2700 1900 1 0 0 { T 2800 1950 5 8 1 1 0 0 1 pinnumber=13 T 2800 1850 5 8 0 1 0 2 1 pinseq=11 T 2650 1900 9 8 1 1 0 6 1 pinlabel=D4 T 2650 1900 5 8 0 1 0 8 1 pintype=out } P 3000 2700 2700 2700 1 0 0 { T 2800 2750 5 8 1 1 0 0 1 pinnumber=12 T 2800 2650 5 8 0 1 0 2 1 pinseq=12 T 2650 2700 9 8 1 1 0 6 1 pinlabel=D3 T 2650 2700 5 8 0 1 0 8 1 pintype=out } P 3000 3500 2700 3500 1 0 0 { T 2800 3550 5 8 1 1 0 0 1 pinnumber=11 T 2800 3450 5 8 0 1 0 2 1 pinseq=13 T 2650 3500 9 8 1 1 0 6 1 pinlabel=D2 T 2650 3500 5 8 0 1 0 8 1 pintype=out } P 3000 4300 2700 4300 1 0 0 { T 2800 4350 5 8 1 1 0 0 1 pinnumber=10 T 2800 4250 5 8 0 1 0 2 1 pinseq=14 T 2650 4300 9 8 1 1 0 6 1 pinlabel=D1 T 2650 4300 5 8 0 1 0 8 1 pintype=out } B 300 300 2400 4400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 3400 1350 5 10 0 0 0 0 1 net=VSS:8 T 3400 1550 5 10 0 0 0 0 1 net=VDD:16 T 3400 750 5 10 0 0 0 0 1 description=4 2-input multiplexer T 3400 1750 5 10 0 0 0 0 1 numslots=0 T 300 50 9 10 1 0 0 0 1 4019 geda-gaf-1.8.2/symbols/4000/40117-1.sym0000664000175000017500000000466212204104272013521 00000000000000v 20031231 1 T 500 4000 8 10 1 1 0 6 1 refdes=U? T 2000 950 5 10 0 0 0 0 1 device=40117 T 2000 1150 5 10 0 0 0 0 1 footprint=DIP14 T 2000 1350 5 10 0 0 0 0 1 net=VSS:7 T 2000 1550 5 10 0 0 0 0 1 net=VDD:14 P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=2 T 200 1450 5 8 0 1 0 8 1 pinseq=1 T 350 1500 9 8 1 1 0 0 1 pinlabel=Strobe B T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=1 T 200 3050 5 8 0 1 0 8 1 pinseq=2 T 350 3100 9 8 1 1 0 0 1 pinlabel=Strobe A T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=12 T 200 1850 5 8 0 1 0 8 1 pinseq=3 T 350 1900 9 8 1 1 0 0 1 pinlabel=Data B T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=13 T 200 3450 5 8 0 1 0 8 1 pinseq=4 T 350 3500 9 8 1 1 0 0 1 pinlabel=Data A T 350 3500 5 8 0 1 0 2 1 pintype=in } P 1600 700 1300 700 1 0 0 { T 1400 750 5 8 1 1 0 0 1 pinnumber=8 T 1400 650 5 8 0 1 0 2 1 pinseq=5 T 1250 700 9 8 1 1 0 6 1 pinlabel=4B T 1250 700 5 8 0 1 0 8 1 pintype=out } P 1600 2300 1300 2300 1 0 0 { T 1400 2350 5 8 1 1 0 0 1 pinnumber=6 T 1400 2250 5 8 0 1 0 2 1 pinseq=6 T 1250 2300 9 8 1 1 0 6 1 pinlabel=4A T 1250 2300 5 8 0 1 0 8 1 pintype=out } P 1600 1100 1300 1100 1 0 0 { T 1400 1150 5 8 1 1 0 0 1 pinnumber=9 T 1400 1050 5 8 0 1 0 2 1 pinseq=7 T 1250 1100 9 8 1 1 0 6 1 pinlabel=3B T 1250 1100 5 8 0 1 0 8 1 pintype=out } P 1600 2700 1300 2700 1 0 0 { T 1400 2750 5 8 1 1 0 0 1 pinnumber=5 T 1400 2650 5 8 0 1 0 2 1 pinseq=8 T 1250 2700 9 8 1 1 0 6 1 pinlabel=3A T 1250 2700 5 8 0 1 0 8 1 pintype=out } P 1600 1500 1300 1500 1 0 0 { T 1400 1550 5 8 1 1 0 0 1 pinnumber=10 T 1400 1450 5 8 0 1 0 2 1 pinseq=9 T 1250 1500 9 8 1 1 0 6 1 pinlabel=2B T 1250 1500 5 8 0 1 0 8 1 pintype=out } P 1600 3100 1300 3100 1 0 0 { T 1400 3150 5 8 1 1 0 0 1 pinnumber=4 T 1400 3050 5 8 0 1 0 2 1 pinseq=10 T 1250 3100 9 8 1 1 0 6 1 pinlabel=2A T 1250 3100 5 8 0 1 0 8 1 pintype=out } P 1600 1900 1300 1900 1 0 0 { T 1400 1950 5 8 1 1 0 0 1 pinnumber=11 T 1400 1850 5 8 0 1 0 2 1 pinseq=11 T 1250 1900 9 8 1 1 0 6 1 pinlabel=1B T 1250 1900 5 8 0 1 0 8 1 pintype=out } P 1600 3500 1300 3500 1 0 0 { T 1400 3550 5 8 1 1 0 0 1 pinnumber=3 T 1400 3450 5 8 0 1 0 2 1 pinseq=12 T 1250 3500 9 8 1 1 0 6 1 pinlabel=1A T 1250 3500 5 8 0 1 0 8 1 pintype=out } B 300 300 1000 3600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2000 1750 5 10 0 0 0 0 1 numslots=0 T 300 50 9 10 1 0 0 0 1 40117 geda-gaf-1.8.2/symbols/4000/4543-1.sym0000664000175000017500000000561712204104272013445 00000000000000v 20031231 1 T 1700 3100 8 10 1 1 0 6 1 refdes=U? T 300 3250 5 10 0 0 0 0 1 device=4543 T 300 3450 5 10 0 0 0 0 1 footprint=DIP16 T 300 3650 5 10 0 0 0 0 1 net=VSS:8 T 300 3850 5 10 0 0 0 0 1 net=VDD:16 P 0 300 300 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=6 T 200 250 5 8 0 1 0 8 1 pinseq=1 T 350 300 9 8 1 1 0 0 1 pinlabel=Ph T 350 300 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=1 T 200 1050 5 8 0 1 0 8 1 pinseq=2 T 350 1100 9 8 1 1 0 0 1 pinlabel=LD T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=4 T 200 1450 5 8 0 1 0 8 1 pinseq=3 T 350 1500 9 8 1 1 0 0 1 pinlabel=D T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=2 T 200 1850 5 8 0 1 0 8 1 pinseq=4 T 350 1900 9 8 1 1 0 0 1 pinlabel=C T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=7 T 200 650 5 8 0 1 0 8 1 pinseq=5 T 350 700 9 8 1 1 0 0 1 pinlabel=BI T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=3 T 200 2250 5 8 0 1 0 8 1 pinseq=6 T 350 2300 9 8 1 1 0 0 1 pinlabel=B T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=5 T 200 2650 5 8 0 1 0 8 1 pinseq=7 T 350 2700 9 8 1 1 0 0 1 pinlabel=A T 350 2700 5 8 0 1 0 2 1 pintype=in } P 2000 300 1700 300 1 0 0 { T 1800 350 5 8 1 1 0 0 1 pinnumber=15 T 1800 250 5 8 0 1 0 2 1 pinseq=8 T 1650 300 9 8 1 1 0 6 1 pinlabel=g T 1650 300 5 8 0 1 0 8 1 pintype=out } P 2000 700 1700 700 1 0 0 { T 1800 750 5 8 1 1 0 0 1 pinnumber=14 T 1800 650 5 8 0 1 0 2 1 pinseq=9 T 1650 700 9 8 1 1 0 6 1 pinlabel=f T 1650 700 5 8 0 1 0 8 1 pintype=out } P 2000 1100 1700 1100 1 0 0 { T 1800 1150 5 8 1 1 0 0 1 pinnumber=13 T 1800 1050 5 8 0 1 0 2 1 pinseq=10 T 1650 1100 9 8 1 1 0 6 1 pinlabel=e T 1650 1100 5 8 0 1 0 8 1 pintype=out } P 2000 1500 1700 1500 1 0 0 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=12 T 1800 1450 5 8 0 1 0 2 1 pinseq=11 T 1650 1500 9 8 1 1 0 6 1 pinlabel=d T 1650 1500 5 8 0 1 0 8 1 pintype=out } P 2000 1900 1700 1900 1 0 0 { T 1800 1950 5 8 1 1 0 0 1 pinnumber=11 T 1800 1850 5 8 0 1 0 2 1 pinseq=12 T 1650 1900 9 8 1 1 0 6 1 pinlabel=c T 1650 1900 5 8 0 1 0 8 1 pintype=out } P 2000 2300 1700 2300 1 0 0 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=10 T 1800 2250 5 8 0 1 0 2 1 pinseq=13 T 1650 2300 9 8 1 1 0 6 1 pinlabel=b T 1650 2300 5 8 0 1 0 8 1 pintype=out } P 2000 2700 1700 2700 1 0 0 { T 1800 2750 5 8 1 1 0 0 1 pinnumber=9 T 1800 2650 5 8 0 1 0 2 1 pinseq=14 T 1650 2700 9 8 1 1 0 6 1 pinlabel=a T 1650 2700 5 8 0 1 0 8 1 pintype=out } B 300 0 1400 3000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4250 5 10 0 0 0 0 1 description=BCD to 7-segment latch/decoder/driver T 300 4050 5 10 0 0 0 0 1 numslots=0 T 300 4450 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4543B_CNV_3.pdf T 300 3050 9 10 1 0 0 0 1 4543 geda-gaf-1.8.2/symbols/4000/4070-1.sym0000664000175000017500000000257412204104272013437 00000000000000v 20040710 1 P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=1 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 5 8 0 1 0 2 1 pintype=in T 350 700 9 8 0 1 0 0 1 pinlabel=A } P 0 300 300 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=2 T 200 250 5 8 0 1 0 8 1 pinseq=2 T 350 300 5 8 0 1 0 2 1 pintype=in T 350 300 9 8 0 1 0 0 1 pinlabel=B } P 1000 500 1300 500 1 0 1 { T 1100 550 5 8 1 1 0 0 1 pinnumber=3 T 1100 450 5 8 0 1 0 2 1 pinseq=3 T 950 500 5 8 0 1 0 8 1 pintype=out T 950 500 9 8 0 1 0 6 1 pinlabel=Y } T 1900 300 5 10 0 0 0 0 1 net=VDD:14 T 1900 500 5 10 0 0 0 0 1 net=VSS:7 T 1900 700 5 10 0 0 0 0 1 device=4070 T 1900 900 5 10 0 0 0 0 1 footprint=DIP14 T 1900 1100 5 10 0 0 0 0 1 numslots=4 T 1900 1300 5 10 0 0 0 0 1 slotdef=1:1,2,3 T 1900 1500 5 10 0 0 0 0 1 slotdef=2:5,6,4 T 1900 1700 5 10 0 0 0 0 1 slotdef=3:8,9,10 T 1900 1900 5 10 0 0 0 0 1 slotdef=4:12,13,11 T 1900 2100 5 10 0 0 0 0 1 slot=1 T 1900 2300 5 10 0 0 0 0 1 description=4 XOR gates with 2 inputs T 1900 2500 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4070B_CNV_3.pdf T 300 0 9 8 1 0 0 0 1 4070 L 260 200 600 200 3 0 0 0 -1 -1 L 260 800 600 800 3 0 0 0 -1 -1 A 0 500 399 312 97 3 0 0 0 -1 -1 A -100 500 400 312 97 3 0 0 0 -1 -1 A 600 600 400 270 76 3 0 0 0 -1 -1 A 600 400 400 14 76 3 0 0 0 -1 -1 T 300 900 8 10 1 1 0 0 1 refdes=U? T 1900 2700 5 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/4000/4008-2.sym0000664000175000017500000000541412204104272013435 00000000000000v 20031231 1 T 1700 3900 8 10 1 1 0 6 1 refdes=U? T 300 4050 5 10 0 0 0 0 1 device=4008 T 300 4250 5 10 0 0 0 0 1 footprint=DIP16 T 300 4450 5 10 0 0 0 0 1 net=VSS:8 T 300 4650 5 10 0 0 0 0 1 net=VDD:16 P 0 300 300 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=9 T 200 250 5 8 0 1 0 8 1 pinseq=1 T 350 300 9 8 1 1 0 0 1 pinlabel=CI T 350 300 5 8 0 1 0 2 1 pintype=in } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=15 T 200 650 5 8 0 1 0 8 1 pinseq=2 T 350 700 9 8 1 1 0 0 1 pinlabel=B3 T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=2 T 200 1050 5 8 0 1 0 8 1 pinseq=3 T 350 1100 9 8 1 1 0 0 1 pinlabel=B2 T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=4 T 200 1450 5 8 0 1 0 8 1 pinseq=4 T 350 1500 9 8 1 1 0 0 1 pinlabel=B1 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=6 T 200 1850 5 8 0 1 0 8 1 pinseq=5 T 350 1900 9 8 1 1 0 0 1 pinlabel=B0 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=7 T 200 3450 5 8 0 1 0 8 1 pinseq=6 T 350 3500 9 8 1 1 0 0 1 pinlabel=A0 T 350 3500 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=1 T 200 2250 5 8 0 1 0 8 1 pinseq=7 T 350 2300 9 8 1 1 0 0 1 pinlabel=A3 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=3 T 200 2650 5 8 0 1 0 8 1 pinseq=8 T 350 2700 9 8 1 1 0 0 1 pinlabel=A2 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=5 T 200 3050 5 8 0 1 0 8 1 pinseq=9 T 350 3100 9 8 1 1 0 0 1 pinlabel=A1 T 350 3100 5 8 0 1 0 2 1 pintype=in } P 2000 2300 1700 2300 1 0 0 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=13 T 1800 2250 5 8 0 1 0 2 1 pinseq=10 T 1650 2300 9 8 1 1 0 6 1 pinlabel=S3 T 1650 2300 5 8 0 1 0 8 1 pintype=out } P 2000 2700 1700 2700 1 0 0 { T 1800 2750 5 8 1 1 0 0 1 pinnumber=12 T 1800 2650 5 8 0 1 0 2 1 pinseq=11 T 1650 2700 9 8 1 1 0 6 1 pinlabel=S2 T 1650 2700 5 8 0 1 0 8 1 pintype=out } P 2000 3100 1700 3100 1 0 0 { T 1800 3150 5 8 1 1 0 0 1 pinnumber=11 T 1800 3050 5 8 0 1 0 2 1 pinseq=12 T 1650 3100 9 8 1 1 0 6 1 pinlabel=S1 T 1650 3100 5 8 0 1 0 8 1 pintype=out } P 2000 3500 1700 3500 1 0 0 { T 1800 3550 5 8 1 1 0 0 1 pinnumber=10 T 1800 3450 5 8 0 1 0 2 1 pinseq=13 T 1650 3500 9 8 1 1 0 6 1 pinlabel=S0 T 1650 3500 5 8 0 1 0 8 1 pintype=out } P 2000 300 1700 300 1 0 0 { T 1800 350 5 8 1 1 0 0 1 pinnumber=14 T 1800 250 5 8 0 1 0 2 1 pinseq=14 T 1650 300 9 8 1 1 0 6 1 pinlabel=EO T 1650 300 5 8 0 1 0 8 1 pintype=out } B 300 0 1400 3800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4850 5 10 0 0 0 0 1 description=4 bit binary full adder T 300 5050 5 10 0 0 0 0 1 numslots=0 T 300 3850 9 10 1 0 0 0 1 4008 geda-gaf-1.8.2/symbols/4000/4572-1.sym0000664000175000017500000000607212204104272013443 00000000000000v 20070626 1 T 1700 3500 8 10 1 1 0 6 1 refdes=U? T 300 3650 5 10 0 0 0 0 1 device=4572 T 300 3850 5 10 0 0 0 0 1 footprint=DIP16 T 300 4050 5 10 0 0 0 0 1 net=VSS:8 T 300 4250 5 10 0 0 0 0 1 net=VDD:16 P 0 300 300 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=15 T 200 250 5 8 0 1 0 8 1 pinseq=1 T 350 300 9 8 1 1 0 0 1 pinlabel=H T 350 300 5 8 0 1 0 2 1 pintype=in } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=14 T 200 650 5 8 0 1 0 8 1 pinseq=2 T 350 700 9 8 1 1 0 0 1 pinlabel=G T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=12 T 200 1050 5 8 0 1 0 8 1 pinseq=3 T 350 1100 9 8 1 1 0 0 1 pinlabel=F T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=10 T 200 1450 5 8 0 1 0 8 1 pinseq=4 T 350 1500 9 8 1 1 0 0 1 pinlabel=E T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=7 T 200 1850 5 8 0 1 0 8 1 pinseq=5 T 350 1900 9 8 1 1 0 0 1 pinlabel=D T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=6 T 200 2250 5 8 0 1 0 8 1 pinseq=6 T 350 2300 9 8 1 1 0 0 1 pinlabel=C T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=4 T 200 2650 5 8 0 1 0 8 1 pinseq=7 T 350 2700 9 8 1 1 0 0 1 pinlabel=B T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=2 T 200 3050 5 8 0 1 0 8 1 pinseq=8 T 350 3100 9 8 1 1 0 0 1 pinlabel=A T 350 3100 5 8 0 1 0 2 1 pintype=in } P 2000 500 1800 500 1 0 0 { T 1800 550 5 8 1 1 0 0 1 pinnumber=13 T 1800 450 5 8 0 1 0 2 1 pinseq=9 T 1650 500 9 8 1 1 0 6 1 pinlabel=\_GH\_ T 1650 500 5 8 0 1 0 8 1 pintype=out } V 1750 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 1100 1800 1100 1 0 0 { T 1800 1150 5 8 1 1 0 0 1 pinnumber=11 T 1800 1050 5 8 0 1 0 2 1 pinseq=10 T 1650 1100 9 8 1 1 0 6 1 pinlabel=\_F\_ T 1650 1100 5 8 0 1 0 8 1 pintype=out } V 1750 1100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 1500 1800 1500 1 0 0 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=9 T 1800 1450 5 8 0 1 0 2 1 pinseq=11 T 1650 1500 9 8 1 1 0 6 1 pinlabel=\_E\_ T 1650 1500 5 8 0 1 0 8 1 pintype=out } V 1750 1500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 2100 1800 2100 1 0 0 { T 1800 2150 5 8 1 1 0 0 1 pinnumber=5 T 1800 2050 5 8 0 1 0 2 1 pinseq=12 T 1650 2100 9 8 1 1 0 6 1 pinlabel=\_C+D\_ T 1650 2100 5 8 0 1 0 8 1 pintype=out } V 1750 2100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 2700 1800 2700 1 0 0 { T 1800 2750 5 8 1 1 0 0 1 pinnumber=3 T 1800 2650 5 8 0 1 0 2 1 pinseq=13 T 1650 2700 9 8 1 1 0 6 1 pinlabel=\_B\_ T 1650 2700 5 8 0 1 0 8 1 pintype=out } V 1750 2700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 3100 1800 3100 1 0 0 { T 1800 3150 5 8 1 1 0 0 1 pinnumber=1 T 1800 3050 5 8 0 1 0 2 1 pinseq=14 T 1650 3100 9 8 1 1 0 6 1 pinlabel=\_A\_ T 1650 3100 5 8 0 1 0 8 1 pintype=out } V 1750 3100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 300 0 1400 3400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4650 5 10 0 0 0 0 1 description=4 NOT, 1 NAND and 1 NOR gate T 300 4450 5 10 0 0 0 0 1 numslots=0 T 300 3450 9 10 1 0 0 0 1 4572 geda-gaf-1.8.2/symbols/4000/4071-1.sym0000664000175000017500000000244012204104272013430 00000000000000v 20031231 1 T 600 700 5 10 0 0 0 0 1 device=4071 T 600 900 5 10 0 0 0 0 1 slot=1 T 600 1100 5 10 0 0 0 0 1 numslots=4 T 600 1300 5 10 0 0 0 0 1 slotdef=1:1,2,3 T 600 1500 5 10 0 0 0 0 1 slotdef=2:5,6,4 T 600 1700 5 10 0 0 0 0 1 slotdef=3:8,9,10 T 600 1900 5 10 0 0 0 0 1 slotdef=4:12,13,11 L 265 0 600 0 3 0 0 0 -1 -1 L 265 600 600 600 3 0 0 0 -1 -1 A 0 300 400 312 96 3 0 0 0 -1 -1 A 600 400 400 270 76 3 0 0 0 -1 -1 A 600 200 400 14 76 3 0 0 0 -1 -1 P 347 500 0 500 1 0 1 { T 200 550 5 8 1 1 0 6 1 pinnumber=1 T 200 450 5 8 0 1 0 8 1 pinseq=1 T 350 500 5 8 0 1 0 2 1 pintype=in T 350 500 9 8 0 1 0 0 1 pinlabel=A } P 347 100 0 100 1 0 1 { T 200 150 5 8 1 1 0 6 1 pinnumber=2 T 200 50 5 8 0 1 0 8 1 pinseq=2 T 350 100 5 8 0 1 0 2 1 pintype=in T 350 100 9 8 0 1 0 0 1 pinlabel=B } P 1200 300 988 300 1 0 0 { T 1000 350 5 8 1 1 0 0 1 pinnumber=3 T 1000 250 5 8 0 1 0 2 1 pinseq=3 T 850 300 5 8 0 1 0 8 1 pintype=out T 850 300 9 8 0 1 0 6 1 pinlabel=Y } T 250 700 8 10 1 1 0 0 1 refdes=U? T 600 2100 5 10 0 0 0 0 1 footprint=DIP14 T 600 2300 5 10 0 0 0 0 1 description=4 OR gates with 2 inputs T 600 2500 5 10 0 0 0 0 1 net=VDD:14 T 600 2700 5 10 0 0 0 0 1 net=VSS:7 T 600 2900 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4071B_CNV_3.pdf T 800 650 9 10 1 0 0 0 1 4071 geda-gaf-1.8.2/symbols/4000/4078-2.sym0000664000175000017500000000454212204104272013445 00000000000000v 20031231 1 P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=2 T 200 2950 5 8 0 1 0 8 1 pinseq=1 T 350 3000 5 8 0 1 0 2 1 pintype=in T 350 3000 9 8 0 1 0 0 1 pinlabel=A } P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=3 T 200 2550 5 8 0 1 0 8 1 pinseq=2 T 350 2600 5 8 0 1 0 2 1 pintype=in T 350 2600 9 8 0 1 0 0 1 pinlabel=B } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=4 T 200 2150 5 8 0 1 0 8 1 pinseq=3 T 350 2200 5 8 0 1 0 2 1 pintype=in T 350 2200 9 8 0 1 0 0 1 pinlabel=C } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=5 T 200 1750 5 8 0 1 0 8 1 pinseq=4 T 350 1800 5 8 0 1 0 2 1 pintype=in T 350 1800 9 8 0 1 0 0 1 pinlabel=D } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=9 T 200 1350 5 8 0 1 0 8 1 pinseq=5 T 350 1400 5 8 0 1 0 2 1 pintype=in T 350 1400 9 8 0 1 0 0 1 pinlabel=E } P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=10 T 200 950 5 8 0 1 0 8 1 pinseq=6 T 350 1000 5 8 0 1 0 2 1 pintype=in T 350 1000 9 8 0 1 0 0 1 pinlabel=F } P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=11 T 200 550 5 8 0 1 0 8 1 pinseq=7 T 350 600 5 8 0 1 0 2 1 pintype=in T 350 600 9 8 0 1 0 0 1 pinlabel=G } P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=12 T 200 150 5 8 0 1 0 8 1 pinseq=8 T 350 200 5 8 0 1 0 2 1 pintype=in T 350 200 9 8 0 1 0 0 1 pinlabel=H } V 1000 1800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1050 1800 1300 1800 1 0 1 { T 1100 1850 5 8 1 1 0 0 1 pinnumber=13 T 1100 1750 5 8 0 1 0 2 1 pinseq=9 T 950 1800 5 8 0 1 0 8 1 pintype=out T 950 1800 9 8 0 1 0 6 1 pinlabel=Q } P 950 1400 1300 1400 1 0 1 { T 1100 1450 5 8 1 1 0 0 1 pinnumber=1 T 1100 1350 5 8 0 1 0 2 1 pinseq=10 T 950 1400 5 8 0 1 0 8 1 pintype=out T 950 1400 9 8 0 1 0 6 1 pinlabel=/Q } T 500 2000 8 10 1 1 0 0 1 refdes=U? T 500 2200 5 10 0 0 0 0 1 net=VDD:14 T 500 2400 5 10 0 0 0 0 1 net=VSS:7 T 500 2600 5 10 0 0 0 0 1 device=4078 T 500 2800 5 10 0 0 0 0 1 footprint=DIP14 T 500 3200 5 10 0 0 0 0 1 description=NOR gate with 8 inputs T 500 3000 5 10 0 0 0 0 1 numslots=0 T 400 1100 9 10 1 0 0 0 1 4078 T 500 3400 5 10 0 0 0 0 1 comment=/Q is not available on all devices L 300 3200 300 1900 3 0 0 0 -1 -1 L 300 1900 650 1900 3 0 0 0 -1 -1 L 300 1300 650 1300 3 0 0 0 -1 -1 L 300 1300 300 0 3 0 0 0 -1 -1 A 650 1750 450 270 71 3 0 0 0 -1 -1 A 650 1450 450 20 70 3 0 0 0 -1 -1 A 50 1600 395 310 100 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/4000/4034-1.sym0000664000175000017500000001027512204104272013434 00000000000000v 20031231 1 T 300 4000 8 10 1 1 0 6 1 refdes=U? T 2600 950 5 10 0 0 0 0 1 device=4034 T 2600 1150 5 10 0 0 0 0 1 footprint=DIP24 T 2600 1350 5 10 0 0 0 0 1 net=VSS:12 T 2600 1550 5 10 0 0 0 0 1 net=VDD:24 P 1500 0 1500 300 1 0 0 { T 1550 100 5 8 1 1 0 0 1 pinnumber=10 T 1550 100 5 8 0 1 0 2 1 pinseq=1 T 1500 350 9 8 1 1 0 3 1 pinlabel=SD T 1500 500 5 8 0 1 0 3 1 pintype=in } P 1100 0 1100 300 1 0 0 { T 1150 100 5 8 1 1 0 0 1 pinnumber=15 T 1150 100 5 8 0 1 0 2 1 pinseq=2 T 1100 350 9 8 1 1 0 3 1 pinlabel=SC T 1100 500 5 8 0 1 0 3 1 pintype=clk } P 700 0 700 300 1 0 0 { T 750 100 5 8 1 1 0 0 1 pinnumber=13 T 750 100 5 8 0 1 0 2 1 pinseq=3 T 700 350 9 8 1 1 0 3 1 pinlabel=PS T 700 500 5 8 0 1 0 3 1 pintype=in } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=1 T 200 650 5 8 0 1 0 8 1 pinseq=4 T 350 700 9 8 1 1 0 0 1 pinlabel=A8 T 350 700 5 8 0 1 0 2 1 pintype=io } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=2 T 200 1050 5 8 0 1 0 8 1 pinseq=5 T 350 1100 9 8 1 1 0 0 1 pinlabel=A7 T 350 1100 5 8 0 1 0 2 1 pintype=io } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=3 T 200 1450 5 8 0 1 0 8 1 pinseq=6 T 350 1500 9 8 1 1 0 0 1 pinlabel=A6 T 350 1500 5 8 0 1 0 2 1 pintype=io } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=4 T 200 1850 5 8 0 1 0 8 1 pinseq=7 T 350 1900 9 8 1 1 0 0 1 pinlabel=A5 T 350 1900 5 8 0 1 0 2 1 pintype=io } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=5 T 200 2250 5 8 0 1 0 8 1 pinseq=8 T 350 2300 9 8 1 1 0 0 1 pinlabel=A4 T 350 2300 5 8 0 1 0 2 1 pintype=io } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=6 T 200 2650 5 8 0 1 0 8 1 pinseq=9 T 350 2700 9 8 1 1 0 0 1 pinlabel=A3 T 350 2700 5 8 0 1 0 2 1 pintype=io } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=7 T 200 3050 5 8 0 1 0 8 1 pinseq=10 T 350 3100 9 8 1 1 0 0 1 pinlabel=A2 T 350 3100 5 8 0 1 0 2 1 pintype=io } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=8 T 200 3450 5 8 0 1 0 8 1 pinseq=11 T 350 3500 9 8 1 1 0 0 1 pinlabel=A1 T 350 3500 5 8 0 1 0 2 1 pintype=io } P 2200 700 1900 700 1 0 0 { T 2000 750 5 8 1 1 0 0 1 pinnumber=23 T 2000 650 5 8 0 1 0 2 1 pinseq=12 T 1850 700 9 8 1 1 0 6 1 pinlabel=B8 T 1850 700 5 8 0 1 0 8 1 pintype=io } P 2200 1100 1900 1100 1 0 0 { T 2000 1150 5 8 1 1 0 0 1 pinnumber=22 T 2000 1050 5 8 0 1 0 2 1 pinseq=13 T 1850 1100 9 8 1 1 0 6 1 pinlabel=B7 T 1850 1100 5 8 0 1 0 8 1 pintype=io } P 2200 1500 1900 1500 1 0 0 { T 2000 1550 5 8 1 1 0 0 1 pinnumber=21 T 2000 1450 5 8 0 1 0 2 1 pinseq=14 T 1850 1500 9 8 1 1 0 6 1 pinlabel=B6 T 1850 1500 5 8 0 1 0 8 1 pintype=io } P 2200 1900 1900 1900 1 0 0 { T 2000 1950 5 8 1 1 0 0 1 pinnumber=20 T 2000 1850 5 8 0 1 0 2 1 pinseq=15 T 1850 1900 9 8 1 1 0 6 1 pinlabel=B5 T 1850 1900 5 8 0 1 0 8 1 pintype=io } P 2200 2300 1900 2300 1 0 0 { T 2000 2350 5 8 1 1 0 0 1 pinnumber=19 T 2000 2250 5 8 0 1 0 2 1 pinseq=16 T 1850 2300 9 8 1 1 0 6 1 pinlabel=B4 T 1850 2300 5 8 0 1 0 8 1 pintype=io } P 2200 2700 1900 2700 1 0 0 { T 2000 2750 5 8 1 1 0 0 1 pinnumber=18 T 2000 2650 5 8 0 1 0 2 1 pinseq=17 T 1850 2700 9 8 1 1 0 6 1 pinlabel=B3 T 1850 2700 5 8 0 1 0 8 1 pintype=io } P 2200 3100 1900 3100 1 0 0 { T 2000 3150 5 8 1 1 0 0 1 pinnumber=17 T 2000 3050 5 8 0 1 0 2 1 pinseq=18 T 1850 3100 9 8 1 1 0 6 1 pinlabel=B2 T 1850 3100 5 8 0 1 0 8 1 pintype=io } P 2200 3500 1900 3500 1 0 0 { T 2000 3550 5 8 1 1 0 0 1 pinnumber=16 T 2000 3450 5 8 0 1 0 2 1 pinseq=19 T 1850 3500 9 8 1 1 0 6 1 pinlabel=B1 T 1850 3500 5 8 0 1 0 8 1 pintype=io } P 1500 4200 1500 3900 1 0 0 { T 1550 4000 5 8 1 1 0 0 1 pinnumber=14 T 1550 4000 5 8 0 1 0 2 1 pinseq=20 T 1500 3850 9 8 1 1 0 5 1 pinlabel=A'S T 1500 3700 5 8 0 1 0 5 1 pintype=in } P 1100 4200 1100 3900 1 0 0 { T 1150 4000 5 8 1 1 0 0 1 pinnumber=9 T 1150 4000 5 8 0 1 0 2 1 pinseq=21 T 1100 3850 9 8 1 1 0 5 1 pinlabel=A'E T 1100 3700 5 8 0 1 0 5 1 pintype=in } P 700 4200 700 3900 1 0 0 { T 750 4000 5 8 1 1 0 0 1 pinnumber=11 T 750 4000 5 8 0 1 0 2 1 pinseq=22 T 700 3850 9 8 1 1 0 5 1 pinlabel=A'B T 700 3700 5 8 0 1 0 5 1 pintype=in } B 300 300 1600 3600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2600 750 5 10 0 0 0 0 1 description=8-stage static parallel/serial bus transceiver T 2600 1750 5 10 0 0 0 0 1 numslots=0 T 0 50 9 10 1 0 0 0 1 4034 geda-gaf-1.8.2/symbols/4000/4510-1.sym0000664000175000017500000000571012204104272013431 00000000000000v 20070626 1 T 1700 3900 8 10 1 1 0 6 1 refdes=U? T 300 4050 5 10 0 0 0 0 1 device=4510 T 300 4250 5 10 0 0 0 0 1 footprint=DIP16 T 300 4450 5 10 0 0 0 0 1 net=VSS:8 T 300 4650 5 10 0 0 0 0 1 net=VDD:16 P 0 300 200 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=5 T 200 250 5 8 0 1 0 8 1 pinseq=1 T 350 300 9 8 1 1 0 0 1 pinlabel=\_RCI\_ T 350 300 5 8 0 1 0 2 1 pintype=in } V 250 300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=10 T 200 650 5 8 0 1 0 8 1 pinseq=2 T 350 700 9 8 1 1 0 0 1 pinlabel=U/\_D\_ T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=9 T 200 1050 5 8 0 1 0 8 1 pinseq=3 T 350 1100 9 8 1 1 0 0 1 pinlabel=RST T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=3 T 200 1850 5 8 0 1 0 8 1 pinseq=4 T 350 1900 9 8 1 1 0 0 1 pinlabel=P3 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=13 T 200 2250 5 8 0 1 0 8 1 pinseq=5 T 350 2300 9 8 1 1 0 0 1 pinlabel=P2 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=12 T 200 2650 5 8 0 1 0 8 1 pinseq=6 T 350 2700 9 8 1 1 0 0 1 pinlabel=P1 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=4 T 200 3050 5 8 0 1 0 8 1 pinseq=7 T 350 3100 9 8 1 1 0 0 1 pinlabel=P0 T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=1 T 200 1450 5 8 0 1 0 8 1 pinseq=8 T 350 1500 9 8 1 1 0 0 1 pinlabel=LD T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=15 T 200 3450 5 8 0 1 0 8 1 pinseq=9 T 400 3500 9 8 1 1 0 0 1 pinlabel=CLK T 400 3500 5 8 0 1 0 2 1 pintype=clk } L 400 3500 300 3575 3 0 0 0 -1 -1 L 400 3500 300 3425 3 0 0 0 -1 -1 P 2000 300 1800 300 1 0 0 { T 1800 350 5 8 1 1 0 0 1 pinnumber=7 T 1800 250 5 8 0 1 0 2 1 pinseq=10 T 1650 300 9 8 1 1 0 6 1 pinlabel=\_RCO\_ T 1650 300 5 8 0 1 0 8 1 pintype=out } V 1750 300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 1900 1700 1900 1 0 0 { T 1800 1950 5 8 1 1 0 0 1 pinnumber=2 T 1800 1850 5 8 0 1 0 2 1 pinseq=11 T 1650 1900 9 8 1 1 0 6 1 pinlabel=Q3 T 1650 1900 5 8 0 1 0 8 1 pintype=out } P 2000 2300 1700 2300 1 0 0 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=14 T 1800 2250 5 8 0 1 0 2 1 pinseq=12 T 1650 2300 9 8 1 1 0 6 1 pinlabel=Q2 T 1650 2300 5 8 0 1 0 8 1 pintype=out } P 2000 2700 1700 2700 1 0 0 { T 1800 2750 5 8 1 1 0 0 1 pinnumber=11 T 1800 2650 5 8 0 1 0 2 1 pinseq=13 T 1650 2700 9 8 1 1 0 6 1 pinlabel=Q1 T 1650 2700 5 8 0 1 0 8 1 pintype=out } P 2000 3100 1700 3100 1 0 0 { T 1800 3150 5 8 1 1 0 0 1 pinnumber=6 T 1800 3050 5 8 0 1 0 2 1 pinseq=14 T 1650 3100 9 8 1 1 0 6 1 pinlabel=Q0 T 1650 3100 5 8 0 1 0 8 1 pintype=out } B 300 0 1400 3800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 5050 5 10 0 0 0 0 1 description=synchronous programmable BCD counter T 300 4850 5 10 0 0 0 0 1 numslots=0 T 300 3850 9 10 1 0 0 0 1 4510 geda-gaf-1.8.2/symbols/4000/4068-1.sym0000664000175000017500000000462612204104272013446 00000000000000v 20040710 1 P 0 2900 300 2900 1 0 0 { T 200 2950 5 8 1 1 0 6 1 pinnumber=2 T 200 2850 5 8 0 1 0 8 1 pinseq=1 T 350 2900 5 8 0 1 0 2 1 pintype=in T 350 2900 9 8 0 1 0 0 1 pinlabel=A } P 0 2500 300 2500 1 0 0 { T 200 2550 5 8 1 1 0 6 1 pinnumber=3 T 200 2450 5 8 0 1 0 8 1 pinseq=2 T 350 2500 5 8 0 1 0 2 1 pintype=in T 350 2500 9 8 0 1 0 0 1 pinlabel=B } P 0 2100 300 2100 1 0 0 { T 200 2150 5 8 1 1 0 6 1 pinnumber=4 T 200 2050 5 8 0 1 0 8 1 pinseq=3 T 350 2100 5 8 0 1 0 2 1 pintype=in T 350 2100 9 8 0 1 0 0 1 pinlabel=C } P 0 1700 300 1700 1 0 0 { T 200 1750 5 8 1 1 0 6 1 pinnumber=5 T 200 1650 5 8 0 1 0 8 1 pinseq=4 T 350 1700 5 8 0 1 0 2 1 pintype=in T 350 1700 9 8 0 1 0 0 1 pinlabel=D } P 0 1300 300 1300 1 0 0 { T 200 1350 5 8 1 1 0 6 1 pinnumber=9 T 200 1250 5 8 0 1 0 8 1 pinseq=5 T 350 1300 5 8 0 1 0 2 1 pintype=in T 350 1300 9 8 0 1 0 0 1 pinlabel=E } P 0 900 300 900 1 0 0 { T 200 950 5 8 1 1 0 6 1 pinnumber=10 T 200 850 5 8 0 1 0 8 1 pinseq=6 T 350 900 5 8 0 1 0 2 1 pintype=in T 350 900 9 8 0 1 0 0 1 pinlabel=F } P 0 500 300 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=11 T 200 450 5 8 0 1 0 8 1 pinseq=7 T 350 500 5 8 0 1 0 2 1 pintype=in T 350 500 9 8 0 1 0 0 1 pinlabel=G } P 0 100 300 100 1 0 0 { T 200 150 5 8 1 1 0 6 1 pinnumber=12 T 200 50 5 8 0 1 0 8 1 pinseq=8 T 350 100 5 8 0 1 0 2 1 pintype=in T 350 100 9 8 0 1 0 0 1 pinlabel=H } V 1000 1500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1050 1500 1300 1500 1 0 1 { T 1100 1550 5 8 1 1 0 0 1 pinnumber=13 T 1100 1450 5 8 0 1 0 2 1 pinseq=9 T 950 1500 5 8 0 1 0 8 1 pintype=out T 950 1500 9 8 0 1 0 6 1 pinlabel=/Q } P 950 1900 1300 1900 1 0 1 { T 1100 1950 5 8 1 1 0 0 1 pinnumber=1 T 1100 1850 5 8 0 1 0 2 1 pinseq=10 T 950 1900 5 8 0 1 0 8 1 pintype=out T 950 1900 9 8 0 1 0 6 1 pinlabel=Q } T 1800 1800 5 10 0 0 0 0 1 net=VDD:14 T 1800 2000 5 10 0 0 0 0 1 net=VSS:7 T 1800 2200 5 10 0 0 0 0 1 device=4068 T 1800 2600 5 10 0 0 0 0 1 footprint=DIP14 T 1800 2800 5 10 0 0 0 0 1 description=8-input NAND/AND gate T 1800 2400 5 10 0 0 0 0 1 numslots=0 T 1800 3000 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4068B_CNV_3.pdf T 400 1200 9 8 1 0 0 0 1 4068 L 300 1400 300 2000 3 0 0 0 -1 -1 L 300 2000 700 2000 3 0 0 0 -1 -1 L 300 1400 700 1400 3 0 0 0 -1 -1 A 700 1700 300 270 180 3 0 0 0 -1 -1 L 300 1400 300 0 3 0 0 0 -1 -1 L 300 3000 300 2000 3 0 0 0 -1 -1 T 400 2100 8 10 1 1 0 0 1 refdes=U? T 1800 3200 5 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/4000/4316-1.sym0000664000175000017500000000527112204104272013437 00000000000000v 20070626 1 T 500 4000 8 10 1 1 0 6 1 refdes=U? T 2000 950 5 10 0 0 0 0 1 device=4316 T 2000 1150 5 10 0 0 0 0 1 footprint=DIP16 T 2000 1350 5 10 0 0 0 0 1 net=VSS:8 T 2000 1550 5 10 0 0 0 0 1 net=VEE:9 T 2000 1750 5 10 0 0 0 0 1 net=VDD:16 P 800 0 800 200 1 0 0 { T 850 100 5 8 1 1 0 0 1 pinnumber=7 T 850 100 5 8 0 1 0 2 1 pinseq=1 T 800 350 9 8 1 1 0 3 1 pinlabel=\_EN\_ T 800 500 5 8 0 1 0 3 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=13 T 200 2250 5 8 0 1 0 8 1 pinseq=2 T 350 2300 9 8 1 1 0 0 1 pinlabel=XD T 350 2300 5 8 0 1 0 2 1 pintype=io } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=10 T 200 2650 5 8 0 1 0 8 1 pinseq=3 T 350 2700 9 8 1 1 0 0 1 pinlabel=XC T 350 2700 5 8 0 1 0 2 1 pintype=io } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=4 T 200 3050 5 8 0 1 0 8 1 pinseq=4 T 350 3100 9 8 1 1 0 0 1 pinlabel=XB T 350 3100 5 8 0 1 0 2 1 pintype=io } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=1 T 200 3450 5 8 0 1 0 8 1 pinseq=5 T 350 3500 9 8 1 1 0 0 1 pinlabel=XA T 350 3500 5 8 0 1 0 2 1 pintype=io } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=14 T 200 650 5 8 0 1 0 8 1 pinseq=6 T 350 700 9 8 1 1 0 0 1 pinlabel=END T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=6 T 200 1050 5 8 0 1 0 8 1 pinseq=7 T 350 1100 9 8 1 1 0 0 1 pinlabel=ENC T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=5 T 200 1450 5 8 0 1 0 8 1 pinseq=8 T 350 1500 9 8 1 1 0 0 1 pinlabel=ENB T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=15 T 200 1850 5 8 0 1 0 8 1 pinseq=9 T 350 1900 9 8 1 1 0 0 1 pinlabel=ENA T 350 1900 5 8 0 1 0 2 1 pintype=in } P 1600 2300 1300 2300 1 0 0 { T 1400 2350 5 8 1 1 0 0 1 pinnumber=12 T 1400 2250 5 8 0 1 0 2 1 pinseq=10 T 1250 2300 9 8 1 1 0 6 1 pinlabel=YD T 1250 2300 5 8 0 1 0 8 1 pintype=io } P 1600 2700 1300 2700 1 0 0 { T 1400 2750 5 8 1 1 0 0 1 pinnumber=11 T 1400 2650 5 8 0 1 0 2 1 pinseq=11 T 1250 2700 9 8 1 1 0 6 1 pinlabel=YC T 1250 2700 5 8 0 1 0 8 1 pintype=io } P 1600 3100 1300 3100 1 0 0 { T 1400 3150 5 8 1 1 0 0 1 pinnumber=3 T 1400 3050 5 8 0 1 0 2 1 pinseq=12 T 1250 3100 9 8 1 1 0 6 1 pinlabel=YB T 1250 3100 5 8 0 1 0 8 1 pintype=io } P 1600 3500 1300 3500 1 0 0 { T 1400 3550 5 8 1 1 0 0 1 pinnumber=2 T 1400 3450 5 8 0 1 0 2 1 pinseq=13 T 1250 3500 9 8 1 1 0 6 1 pinlabel=YA T 1250 3500 5 8 0 1 0 8 1 pintype=io } B 300 300 1000 3600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2000 750 5 10 0 0 0 0 1 description=quadruple bilateral switches T 2000 1950 5 10 0 0 0 0 1 numslots=0 T 200 50 9 10 1 0 0 0 1 4316 V 800 250 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/4000/40193-1.sym0000664000175000017500000000630212204104272013516 00000000000000v 20070626 1 T 500 4000 8 10 1 1 0 6 1 refdes=U? T 2000 950 5 10 0 0 0 0 1 device=40193 T 2000 1150 5 10 0 0 0 0 1 footprint=DIP16 T 2000 1350 5 10 0 0 0 0 1 net=VSS:8 T 2000 1550 5 10 0 0 0 0 1 net=VDD:16 P 0 2300 200 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=11 T 200 2250 5 8 0 1 0 8 1 pinseq=1 T 350 2300 9 8 1 1 0 0 1 pinlabel=\_LD\_ T 350 2300 5 8 0 1 0 2 1 pintype=in } V 250 2300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=5 T 200 3050 5 8 0 1 0 8 1 pinseq=2 T 400 3100 9 8 1 1 0 0 1 pinlabel=UP T 400 3100 5 8 0 1 0 2 1 pintype=clk } L 400 3100 300 3175 3 0 0 0 -1 -1 L 400 3100 300 3025 3 0 0 0 -1 -1 P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=4 T 200 3450 5 8 0 1 0 8 1 pinseq=3 T 400 3500 9 8 1 1 0 0 1 pinlabel=DN T 400 3500 5 8 0 1 0 2 1 pintype=clk } L 400 3500 300 3575 3 0 0 0 -1 -1 L 400 3500 300 3425 3 0 0 0 -1 -1 P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=9 T 200 650 5 8 0 1 0 8 1 pinseq=4 T 350 700 9 8 1 1 0 0 1 pinlabel=DD T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=10 T 200 1050 5 8 0 1 0 8 1 pinseq=5 T 350 1100 9 8 1 1 0 0 1 pinlabel=DC T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=1 T 200 1450 5 8 0 1 0 8 1 pinseq=6 T 350 1500 9 8 1 1 0 0 1 pinlabel=DB T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=15 T 200 1850 5 8 0 1 0 8 1 pinseq=7 T 350 1900 9 8 1 1 0 0 1 pinlabel=DA T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=14 T 200 2650 5 8 0 1 0 8 1 pinseq=8 T 350 2700 9 8 1 1 0 0 1 pinlabel=CL T 350 2700 5 8 0 1 0 2 1 pintype=in } P 1600 3100 1400 3100 1 0 0 { T 1400 3150 5 8 1 1 0 0 1 pinnumber=12 T 1400 3050 5 8 0 1 0 2 1 pinseq=9 T 1250 3100 9 8 1 1 0 6 1 pinlabel=\_C\_ T 1250 3100 5 8 0 1 0 8 1 pintype=out } V 1350 3100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1600 3500 1400 3500 1 0 0 { T 1400 3550 5 8 1 1 0 0 1 pinnumber=13 T 1400 3450 5 8 0 1 0 2 1 pinseq=10 T 1250 3500 9 8 1 1 0 6 1 pinlabel=\_B\_ T 1250 3500 5 8 0 1 0 8 1 pintype=out } V 1350 3500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1600 700 1300 700 1 0 0 { T 1400 750 5 8 1 1 0 0 1 pinnumber=7 T 1400 650 5 8 0 1 0 2 1 pinseq=11 T 1250 700 9 8 1 1 0 6 1 pinlabel=QD T 1250 700 5 8 0 1 0 8 1 pintype=out } P 1600 1100 1300 1100 1 0 0 { T 1400 1150 5 8 1 1 0 0 1 pinnumber=6 T 1400 1050 5 8 0 1 0 2 1 pinseq=12 T 1250 1100 9 8 1 1 0 6 1 pinlabel=QC T 1250 1100 5 8 0 1 0 8 1 pintype=out } P 1600 1500 1300 1500 1 0 0 { T 1400 1550 5 8 1 1 0 0 1 pinnumber=2 T 1400 1450 5 8 0 1 0 2 1 pinseq=13 T 1250 1500 9 8 1 1 0 6 1 pinlabel=QB T 1250 1500 5 8 0 1 0 8 1 pintype=out } P 1600 1900 1300 1900 1 0 0 { T 1400 1950 5 8 1 1 0 0 1 pinnumber=3 T 1400 1850 5 8 0 1 0 2 1 pinseq=14 T 1250 1900 9 8 1 1 0 6 1 pinlabel=QA T 1250 1900 5 8 0 1 0 8 1 pintype=out } B 300 300 1000 3600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2000 750 5 10 0 0 0 0 1 description=synchronous programmable binary counter T 2000 1750 5 10 0 0 0 0 1 numslots=0 T 2000 550 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF40193B_CNV_3.pdf T 300 50 9 10 1 0 0 0 1 40193 geda-gaf-1.8.2/symbols/4000/4018-1.sym0000664000175000017500000000615312204104272013436 00000000000000v 20070626 1 T 500 4400 8 10 1 1 0 6 1 refdes=U? T 2000 950 5 10 0 0 0 0 1 device=4018 T 2000 1150 5 10 0 0 0 0 1 footprint=DIP16 T 2000 1350 5 10 0 0 0 0 1 net=VSS:8 T 2000 1550 5 10 0 0 0 0 1 net=VDD:16 P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=15 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 1 1 0 0 1 pinlabel=Reset T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=10 T 200 1050 5 8 0 1 0 8 1 pinseq=2 T 350 1100 9 8 1 1 0 0 1 pinlabel=Preset T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=12 T 200 1450 5 8 0 1 0 8 1 pinseq=3 T 350 1500 9 8 1 1 0 0 1 pinlabel=J5 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=9 T 200 1850 5 8 0 1 0 8 1 pinseq=4 T 350 1900 9 8 1 1 0 0 1 pinlabel=J4 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=7 T 200 2250 5 8 0 1 0 8 1 pinseq=5 T 350 2300 9 8 1 1 0 0 1 pinlabel=J3 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=3 T 200 2650 5 8 0 1 0 8 1 pinseq=6 T 350 2700 9 8 1 1 0 0 1 pinlabel=J2 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=2 T 200 3050 5 8 0 1 0 8 1 pinseq=7 T 350 3100 9 8 1 1 0 0 1 pinlabel=J1 T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=1 T 200 3450 5 8 0 1 0 8 1 pinseq=8 T 350 3500 9 8 1 1 0 0 1 pinlabel=Data T 350 3500 5 8 0 1 0 2 1 pintype=in } P 0 3900 300 3900 1 0 0 { T 200 3950 5 8 1 1 0 6 1 pinnumber=14 T 200 3850 5 8 0 1 0 8 1 pinseq=9 T 400 3900 9 8 1 1 0 0 1 pinlabel=CLK T 400 3900 5 8 0 1 0 2 1 pintype=clk } L 400 3900 300 3975 3 0 0 0 -1 -1 L 400 3900 300 3825 3 0 0 0 -1 -1 P 1600 1500 1400 1500 1 0 0 { T 1400 1550 5 8 1 1 0 0 1 pinnumber=13 T 1400 1450 5 8 0 1 0 2 1 pinseq=10 T 1250 1500 9 8 1 1 0 6 1 pinlabel=\_Q5\_ T 1250 1500 5 8 0 1 0 8 1 pintype=out } V 1350 1500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1600 1900 1400 1900 1 0 0 { T 1400 1950 5 8 1 1 0 0 1 pinnumber=11 T 1400 1850 5 8 0 1 0 2 1 pinseq=11 T 1250 1900 9 8 1 1 0 6 1 pinlabel=\_Q4\_ T 1250 1900 5 8 0 1 0 8 1 pintype=out } V 1350 1900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1600 2300 1400 2300 1 0 0 { T 1400 2350 5 8 1 1 0 0 1 pinnumber=6 T 1400 2250 5 8 0 1 0 2 1 pinseq=12 T 1250 2300 9 8 1 1 0 6 1 pinlabel=\_Q3\_ T 1250 2300 5 8 0 1 0 8 1 pintype=out } V 1350 2300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1600 2700 1400 2700 1 0 0 { T 1400 2750 5 8 1 1 0 0 1 pinnumber=4 T 1400 2650 5 8 0 1 0 2 1 pinseq=13 T 1250 2700 9 8 1 1 0 6 1 pinlabel=\_Q2\_ T 1250 2700 5 8 0 1 0 8 1 pintype=out } V 1350 2700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1600 3100 1400 3100 1 0 0 { T 1400 3150 5 8 1 1 0 0 1 pinnumber=5 T 1400 3050 5 8 0 1 0 2 1 pinseq=14 T 1250 3100 9 8 1 1 0 6 1 pinlabel=\_Q1\_ T 1250 3100 5 8 0 1 0 8 1 pintype=out } V 1350 3100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 300 300 1000 4000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2000 750 5 10 0 0 0 0 1 description=presetable divide-by-n-counter T 2000 1750 5 10 0 0 0 0 1 numslots=0 T 300 50 9 10 1 0 0 0 1 4018 geda-gaf-1.8.2/symbols/4000/40245-1.sym0000664000175000017500000000723312204104272013520 00000000000000v 20070626 1 T 700 4000 8 10 1 1 0 6 1 refdes=U? T 2200 950 5 10 0 0 0 0 1 device=40245 T 2200 1150 5 10 0 0 0 0 1 footprint=DIP20 T 2200 1350 5 10 0 0 0 0 1 net=VSS:10 T 2200 1550 5 10 0 0 0 0 1 net=VDD:20 P 1200 0 1200 200 1 0 0 { T 1250 100 5 8 1 1 0 0 1 pinnumber=19 T 1250 100 5 8 0 1 0 2 1 pinseq=1 T 1200 350 9 8 1 1 0 3 1 pinlabel=\_OE\_ T 1200 500 5 8 0 1 0 3 1 pintype=in } V 1200 250 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 800 0 800 300 1 0 0 { T 850 100 5 8 1 1 0 0 1 pinnumber=1 T 850 100 5 8 0 1 0 2 1 pinseq=2 T 800 350 9 8 1 1 0 3 1 pinlabel=DIR T 800 500 5 8 0 1 0 3 1 pintype=in } P 200 700 500 700 1 0 0 { T 400 750 5 8 1 1 0 6 1 pinnumber=9 T 400 650 5 8 0 1 0 8 1 pinseq=3 T 550 700 9 8 1 1 0 0 1 pinlabel=A7 T 550 700 5 8 0 1 0 2 1 pintype=tri } P 200 1100 500 1100 1 0 0 { T 400 1150 5 8 1 1 0 6 1 pinnumber=8 T 400 1050 5 8 0 1 0 8 1 pinseq=4 T 550 1100 9 8 1 1 0 0 1 pinlabel=A6 T 550 1100 5 8 0 1 0 2 1 pintype=tri } P 200 1500 500 1500 1 0 0 { T 400 1550 5 8 1 1 0 6 1 pinnumber=7 T 400 1450 5 8 0 1 0 8 1 pinseq=5 T 550 1500 9 8 1 1 0 0 1 pinlabel=A5 T 550 1500 5 8 0 1 0 2 1 pintype=tri } P 200 1900 500 1900 1 0 0 { T 400 1950 5 8 1 1 0 6 1 pinnumber=6 T 400 1850 5 8 0 1 0 8 1 pinseq=6 T 550 1900 9 8 1 1 0 0 1 pinlabel=A4 T 550 1900 5 8 0 1 0 2 1 pintype=tri } P 200 2300 500 2300 1 0 0 { T 400 2350 5 8 1 1 0 6 1 pinnumber=5 T 400 2250 5 8 0 1 0 8 1 pinseq=7 T 550 2300 9 8 1 1 0 0 1 pinlabel=A3 T 550 2300 5 8 0 1 0 2 1 pintype=tri } P 200 2700 500 2700 1 0 0 { T 400 2750 5 8 1 1 0 6 1 pinnumber=4 T 400 2650 5 8 0 1 0 8 1 pinseq=8 T 550 2700 9 8 1 1 0 0 1 pinlabel=A2 T 550 2700 5 8 0 1 0 2 1 pintype=tri } P 200 3100 500 3100 1 0 0 { T 400 3150 5 8 1 1 0 6 1 pinnumber=3 T 400 3050 5 8 0 1 0 8 1 pinseq=9 T 550 3100 9 8 1 1 0 0 1 pinlabel=A1 T 550 3100 5 8 0 1 0 2 1 pintype=tri } P 200 3500 500 3500 1 0 0 { T 400 3550 5 8 1 1 0 6 1 pinnumber=2 T 400 3450 5 8 0 1 0 8 1 pinseq=10 T 550 3500 9 8 1 1 0 0 1 pinlabel=A0 T 550 3500 5 8 0 1 0 2 1 pintype=tri } P 1800 700 1500 700 1 0 0 { T 1600 750 5 8 1 1 0 0 1 pinnumber=11 T 1600 650 5 8 0 1 0 2 1 pinseq=11 T 1450 700 9 8 1 1 0 6 1 pinlabel=B7 T 1450 700 5 8 0 1 0 8 1 pintype=tri } P 1800 1100 1500 1100 1 0 0 { T 1600 1150 5 8 1 1 0 0 1 pinnumber=12 T 1600 1050 5 8 0 1 0 2 1 pinseq=12 T 1450 1100 9 8 1 1 0 6 1 pinlabel=B6 T 1450 1100 5 8 0 1 0 8 1 pintype=tri } P 1800 1500 1500 1500 1 0 0 { T 1600 1550 5 8 1 1 0 0 1 pinnumber=13 T 1600 1450 5 8 0 1 0 2 1 pinseq=13 T 1450 1500 9 8 1 1 0 6 1 pinlabel=B5 T 1450 1500 5 8 0 1 0 8 1 pintype=tri } P 1800 1900 1500 1900 1 0 0 { T 1600 1950 5 8 1 1 0 0 1 pinnumber=14 T 1600 1850 5 8 0 1 0 2 1 pinseq=14 T 1450 1900 9 8 1 1 0 6 1 pinlabel=B4 T 1450 1900 5 8 0 1 0 8 1 pintype=tri } P 1800 2300 1500 2300 1 0 0 { T 1600 2350 5 8 1 1 0 0 1 pinnumber=15 T 1600 2250 5 8 0 1 0 2 1 pinseq=15 T 1450 2300 9 8 1 1 0 6 1 pinlabel=B3 T 1450 2300 5 8 0 1 0 8 1 pintype=tri } P 1800 2700 1500 2700 1 0 0 { T 1600 2750 5 8 1 1 0 0 1 pinnumber=16 T 1600 2650 5 8 0 1 0 2 1 pinseq=16 T 1450 2700 9 8 1 1 0 6 1 pinlabel=B2 T 1450 2700 5 8 0 1 0 8 1 pintype=tri } P 1800 3100 1500 3100 1 0 0 { T 1600 3150 5 8 1 1 0 0 1 pinnumber=17 T 1600 3050 5 8 0 1 0 2 1 pinseq=17 T 1450 3100 9 8 1 1 0 6 1 pinlabel=B1 T 1450 3100 5 8 0 1 0 8 1 pintype=tri } P 1800 3500 1500 3500 1 0 0 { T 1600 3550 5 8 1 1 0 0 1 pinnumber=18 T 1600 3450 5 8 0 1 0 2 1 pinseq=18 T 1450 3500 9 8 1 1 0 6 1 pinlabel=B0 T 1450 3500 5 8 0 1 0 8 1 pintype=tri } B 500 300 1000 3600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2200 750 5 10 0 0 0 0 1 description=8-bit transceiver T 2200 1750 5 10 0 0 0 0 1 numslots=0 T 2200 550 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF40245B_CNV_3.pdf T 0 50 9 10 1 0 0 0 1 40245 geda-gaf-1.8.2/symbols/4000/4532-1.sym0000664000175000017500000000557312204104272013444 00000000000000v 20031231 1 T 1700 3900 8 10 1 1 0 6 1 refdes=U? T 300 4050 5 10 0 0 0 0 1 device=4532 T 300 4250 5 10 0 0 0 0 1 footprint=DIP16 T 300 4450 5 10 0 0 0 0 1 net=VSS:8 T 300 4650 5 10 0 0 0 0 1 net=VDD:16 P 0 300 300 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=5 T 200 250 5 8 0 1 0 8 1 pinseq=1 T 350 300 9 8 1 1 0 0 1 pinlabel=EN T 350 300 5 8 0 1 0 2 1 pintype=in } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=4 T 200 650 5 8 0 1 0 8 1 pinseq=2 T 350 700 9 8 1 1 0 0 1 pinlabel=D7 T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=3 T 200 1050 5 8 0 1 0 8 1 pinseq=3 T 350 1100 9 8 1 1 0 0 1 pinlabel=D6 T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=2 T 200 1450 5 8 0 1 0 8 1 pinseq=4 T 350 1500 9 8 1 1 0 0 1 pinlabel=D5 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=1 T 200 1850 5 8 0 1 0 8 1 pinseq=5 T 350 1900 9 8 1 1 0 0 1 pinlabel=D4 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=13 T 200 2250 5 8 0 1 0 8 1 pinseq=6 T 350 2300 9 8 1 1 0 0 1 pinlabel=D3 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=12 T 200 2650 5 8 0 1 0 8 1 pinseq=7 T 350 2700 9 8 1 1 0 0 1 pinlabel=D2 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=11 T 200 3050 5 8 0 1 0 8 1 pinseq=8 T 350 3100 9 8 1 1 0 0 1 pinlabel=D1 T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=10 T 200 3450 5 8 0 1 0 8 1 pinseq=9 T 350 3500 9 8 1 1 0 0 1 pinlabel=D0 T 350 3500 5 8 0 1 0 2 1 pintype=in } P 2000 2700 1700 2700 1 0 0 { T 1800 2750 5 8 1 1 0 0 1 pinnumber=6 T 1800 2650 5 8 0 1 0 2 1 pinseq=10 T 1650 2700 9 8 1 1 0 6 1 pinlabel=Q2 T 1650 2700 5 8 0 1 0 8 1 pintype=out } P 2000 3100 1700 3100 1 0 0 { T 1800 3150 5 8 1 1 0 0 1 pinnumber=7 T 1800 3050 5 8 0 1 0 2 1 pinseq=11 T 1650 3100 9 8 1 1 0 6 1 pinlabel=Q1 T 1650 3100 5 8 0 1 0 8 1 pintype=out } P 2000 3500 1700 3500 1 0 0 { T 1800 3550 5 8 1 1 0 0 1 pinnumber=9 T 1800 3450 5 8 0 1 0 2 1 pinseq=12 T 1650 3500 9 8 1 1 0 6 1 pinlabel=Q0 T 1650 3500 5 8 0 1 0 8 1 pintype=out } P 2000 700 1700 700 1 0 0 { T 1800 750 5 8 1 1 0 0 1 pinnumber=14 T 1800 650 5 8 0 1 0 2 1 pinseq=13 T 1650 700 9 8 1 1 0 6 1 pinlabel=GS T 1650 700 5 8 0 1 0 8 1 pintype=out } P 2000 300 1700 300 1 0 0 { T 1800 350 5 8 1 1 0 0 1 pinnumber=15 T 1800 250 5 8 0 1 0 2 1 pinseq=14 T 1650 300 9 8 1 1 0 6 1 pinlabel=EO T 1650 300 5 8 0 1 0 8 1 pintype=out } B 300 0 1400 3800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 5050 5 10 0 0 0 0 1 description=8-input priority encoder T 300 4850 5 10 0 0 0 0 1 numslots=0 T 300 5250 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4532B_CNV_3.pdf T 300 3850 9 10 1 0 0 0 1 4532 geda-gaf-1.8.2/symbols/4000/4724-1.sym0000664000175000017500000000575112204104272013445 00000000000000v 20070626 1 T 1700 3500 8 10 1 1 0 6 1 refdes=U? T 300 3650 5 10 0 0 0 0 1 device=4724 T 300 3850 5 10 0 0 0 0 1 footprint=DIP16 T 300 4050 5 10 0 0 0 0 1 net=VSS:8 T 300 4250 5 10 0 0 0 0 1 net=VDD:16 P 0 300 200 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=14 T 200 250 5 8 0 1 0 8 1 pinseq=1 T 350 300 9 8 1 1 0 0 1 pinlabel=\_EN\_ T 350 300 5 8 0 1 0 2 1 pintype=in } V 250 300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1700 300 1700 1 0 0 { T 200 1750 5 8 1 1 0 6 1 pinnumber=13 T 200 1650 5 8 0 1 0 8 1 pinseq=2 T 350 1700 9 8 1 1 0 0 1 pinlabel=D T 350 1700 5 8 0 1 0 2 1 pintype=in } P 0 700 200 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=15 T 200 650 5 8 0 1 0 8 1 pinseq=3 T 350 700 9 8 1 1 0 0 1 pinlabel=\_CLR\_ T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=3 T 200 2250 5 8 0 1 0 8 1 pinseq=4 T 350 2300 9 8 1 1 0 0 1 pinlabel=A2 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=2 T 200 2650 5 8 0 1 0 8 1 pinseq=5 T 350 2700 9 8 1 1 0 0 1 pinlabel=A1 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=1 T 200 3050 5 8 0 1 0 8 1 pinseq=6 T 350 3100 9 8 1 1 0 0 1 pinlabel=A0 T 350 3100 5 8 0 1 0 2 1 pintype=in } P 2000 300 1700 300 1 0 0 { T 1800 350 5 8 1 1 0 0 1 pinnumber=12 T 1800 250 5 8 0 1 0 2 1 pinseq=7 T 1650 300 9 8 1 1 0 6 1 pinlabel=Q7 T 1650 300 5 8 0 1 0 8 1 pintype=out } P 2000 700 1700 700 1 0 0 { T 1800 750 5 8 1 1 0 0 1 pinnumber=11 T 1800 650 5 8 0 1 0 2 1 pinseq=8 T 1650 700 9 8 1 1 0 6 1 pinlabel=Q6 T 1650 700 5 8 0 1 0 8 1 pintype=out } P 2000 1100 1700 1100 1 0 0 { T 1800 1150 5 8 1 1 0 0 1 pinnumber=10 T 1800 1050 5 8 0 1 0 2 1 pinseq=9 T 1650 1100 9 8 1 1 0 6 1 pinlabel=Q5 T 1650 1100 5 8 0 1 0 8 1 pintype=out } P 2000 1500 1700 1500 1 0 0 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=9 T 1800 1450 5 8 0 1 0 2 1 pinseq=10 T 1650 1500 9 8 1 1 0 6 1 pinlabel=Q4 T 1650 1500 5 8 0 1 0 8 1 pintype=out } P 2000 1900 1700 1900 1 0 0 { T 1800 1950 5 8 1 1 0 0 1 pinnumber=7 T 1800 1850 5 8 0 1 0 2 1 pinseq=11 T 1650 1900 9 8 1 1 0 6 1 pinlabel=Q3 T 1650 1900 5 8 0 1 0 8 1 pintype=out } P 2000 2300 1700 2300 1 0 0 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=6 T 1800 2250 5 8 0 1 0 2 1 pinseq=12 T 1650 2300 9 8 1 1 0 6 1 pinlabel=Q2 T 1650 2300 5 8 0 1 0 8 1 pintype=out } P 2000 2700 1700 2700 1 0 0 { T 1800 2750 5 8 1 1 0 0 1 pinnumber=5 T 1800 2650 5 8 0 1 0 2 1 pinseq=13 T 1650 2700 9 8 1 1 0 6 1 pinlabel=Q1 T 1650 2700 5 8 0 1 0 8 1 pintype=out } P 2000 3100 1700 3100 1 0 0 { T 1800 3150 5 8 1 1 0 0 1 pinnumber=4 T 1800 3050 5 8 0 1 0 2 1 pinseq=14 T 1650 3100 9 8 1 1 0 6 1 pinlabel=Q0 T 1650 3100 5 8 0 1 0 8 1 pintype=out } B 300 0 1400 3400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4650 5 10 0 0 0 0 1 description=8-bit latch T 300 4450 5 10 0 0 0 0 1 numslots=0 T 300 4850 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4724B_CNV_3.pdf T 300 3450 9 10 1 0 0 0 1 4724 V 250 700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/4000/40174-1.sym0000664000175000017500000000572412204104272013524 00000000000000v 20031231 1 T 300 3200 8 10 1 1 0 6 1 refdes=U? T 2000 950 5 10 0 0 0 0 1 device=40174 T 2000 1150 5 10 0 0 0 0 1 footprint=DIP16 T 2000 1350 5 10 0 0 0 0 1 net=VSS:8 T 2000 1550 5 10 0 0 0 0 1 net=VDD:16 P 800 0 800 300 1 0 0 { T 850 100 5 8 1 1 0 0 1 pinnumber=1 T 850 100 5 8 0 1 0 2 1 pinseq=1 T 800 350 9 8 1 1 0 3 1 pinlabel=CLR T 800 500 5 8 0 1 0 3 1 pintype=in } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=14 T 200 650 5 8 0 1 0 8 1 pinseq=2 T 350 700 9 8 1 1 0 0 1 pinlabel=D6 T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=13 T 200 1050 5 8 0 1 0 8 1 pinseq=3 T 350 1100 9 8 1 1 0 0 1 pinlabel=D5 T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=11 T 200 1450 5 8 0 1 0 8 1 pinseq=4 T 350 1500 9 8 1 1 0 0 1 pinlabel=D4 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=6 T 200 1850 5 8 0 1 0 8 1 pinseq=5 T 350 1900 9 8 1 1 0 0 1 pinlabel=D3 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=4 T 200 2250 5 8 0 1 0 8 1 pinseq=6 T 350 2300 9 8 1 1 0 0 1 pinlabel=D2 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=3 T 200 2650 5 8 0 1 0 8 1 pinseq=7 T 350 2700 9 8 1 1 0 0 1 pinlabel=D1 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 1600 700 1300 700 1 0 0 { T 1400 750 5 8 1 1 0 0 1 pinnumber=15 T 1400 650 5 8 0 1 0 2 1 pinseq=8 T 1250 700 9 8 1 1 0 6 1 pinlabel=Q6 T 1250 700 5 8 0 1 0 8 1 pintype=out } P 1600 1100 1300 1100 1 0 0 { T 1400 1150 5 8 1 1 0 0 1 pinnumber=12 T 1400 1050 5 8 0 1 0 2 1 pinseq=9 T 1250 1100 9 8 1 1 0 6 1 pinlabel=Q5 T 1250 1100 5 8 0 1 0 8 1 pintype=out } P 1600 1500 1300 1500 1 0 0 { T 1400 1550 5 8 1 1 0 0 1 pinnumber=10 T 1400 1450 5 8 0 1 0 2 1 pinseq=10 T 1250 1500 9 8 1 1 0 6 1 pinlabel=Q4 T 1250 1500 5 8 0 1 0 8 1 pintype=out } P 1600 1900 1300 1900 1 0 0 { T 1400 1950 5 8 1 1 0 0 1 pinnumber=7 T 1400 1850 5 8 0 1 0 2 1 pinseq=11 T 1250 1900 9 8 1 1 0 6 1 pinlabel=Q3 T 1250 1900 5 8 0 1 0 8 1 pintype=out } P 1600 2300 1300 2300 1 0 0 { T 1400 2350 5 8 1 1 0 0 1 pinnumber=5 T 1400 2250 5 8 0 1 0 2 1 pinseq=12 T 1250 2300 9 8 1 1 0 6 1 pinlabel=Q2 T 1250 2300 5 8 0 1 0 8 1 pintype=out } P 1600 2700 1300 2700 1 0 0 { T 1400 2750 5 8 1 1 0 0 1 pinnumber=2 T 1400 2650 5 8 0 1 0 2 1 pinseq=13 T 1250 2700 9 8 1 1 0 6 1 pinlabel=Q1 T 1250 2700 5 8 0 1 0 8 1 pintype=out } P 800 3400 800 3100 1 0 0 { T 850 3200 5 8 1 1 0 0 1 pinnumber=9 T 850 3200 5 8 0 1 0 2 1 pinseq=14 T 800 2975 9 8 1 1 0 5 1 pinlabel=CLK T 800 2825 5 8 0 1 0 5 1 pintype=clk } L 800 3000 725 3100 3 0 0 0 -1 -1 L 800 3000 875 3100 3 0 0 0 -1 -1 B 300 300 1000 2800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2000 750 5 10 0 0 0 0 1 description=Hex D-type flip-flops T 2000 1750 5 10 0 0 0 0 1 numslots=0 T 2000 550 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF40174B_CNV_3.pdf T 0 50 9 10 1 0 0 0 1 40174 geda-gaf-1.8.2/symbols/4000/4014-1.sym0000664000175000017500000000556112204104272013434 00000000000000v 20070626 1 T 500 5200 8 10 1 1 0 6 1 refdes=U? T 3400 950 5 10 0 0 0 0 1 device=4014 T 3400 1150 5 10 0 0 0 0 1 footprint=DIP16 T 3400 1350 5 10 0 0 0 0 1 net=VSS:8 T 3400 1550 5 10 0 0 0 0 1 net=VDD:16 P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=9 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 1 1 0 0 1 pinlabel=Parallel/\_Serial\_ T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=11 T 200 1050 5 8 0 1 0 8 1 pinseq=2 T 350 1100 9 8 1 1 0 0 1 pinlabel=Serial In T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=1 T 200 1450 5 8 0 1 0 8 1 pinseq=3 T 350 1500 9 8 1 1 0 0 1 pinlabel=I8 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=15 T 200 1850 5 8 0 1 0 8 1 pinseq=4 T 350 1900 9 8 1 1 0 0 1 pinlabel=I7 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=14 T 200 2250 5 8 0 1 0 8 1 pinseq=5 T 350 2300 9 8 1 1 0 0 1 pinlabel=I6 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=13 T 200 2650 5 8 0 1 0 8 1 pinseq=6 T 350 2700 9 8 1 1 0 0 1 pinlabel=I5 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=4 T 200 3050 5 8 0 1 0 8 1 pinseq=7 T 350 3100 9 8 1 1 0 0 1 pinlabel=I4 T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=5 T 200 3450 5 8 0 1 0 8 1 pinseq=8 T 350 3500 9 8 1 1 0 0 1 pinlabel=I3 T 350 3500 5 8 0 1 0 2 1 pintype=in } P 0 3900 300 3900 1 0 0 { T 200 3950 5 8 1 1 0 6 1 pinnumber=6 T 200 3850 5 8 0 1 0 8 1 pinseq=9 T 350 3900 9 8 1 1 0 0 1 pinlabel=I2 T 350 3900 5 8 0 1 0 2 1 pintype=in } P 0 4300 300 4300 1 0 0 { T 200 4350 5 8 1 1 0 6 1 pinnumber=7 T 200 4250 5 8 0 1 0 8 1 pinseq=10 T 350 4300 9 8 1 1 0 0 1 pinlabel=I1 T 350 4300 5 8 0 1 0 2 1 pintype=in } P 0 4700 300 4700 1 0 0 { T 200 4750 5 8 1 1 0 6 1 pinnumber=10 T 200 4650 5 8 0 1 0 8 1 pinseq=11 T 400 4700 9 8 1 1 0 0 1 pinlabel=CLK T 400 4700 5 8 0 1 0 2 1 pintype=clk } L 400 4700 300 4775 3 0 0 0 -1 -1 L 400 4700 300 4625 3 0 0 0 -1 -1 P 3000 700 2700 700 1 0 0 { T 2800 750 5 8 1 1 0 0 1 pinnumber=3 T 2800 650 5 8 0 1 0 2 1 pinseq=12 T 2650 700 9 8 1 1 0 6 1 pinlabel=Q8 T 2650 700 5 8 0 1 0 8 1 pintype=out } P 3000 1100 2700 1100 1 0 0 { T 2800 1150 5 8 1 1 0 0 1 pinnumber=12 T 2800 1050 5 8 0 1 0 2 1 pinseq=13 T 2650 1100 9 8 1 1 0 6 1 pinlabel=Q7 T 2650 1100 5 8 0 1 0 8 1 pintype=out } P 3000 1500 2700 1500 1 0 0 { T 2800 1550 5 8 1 1 0 0 1 pinnumber=2 T 2800 1450 5 8 0 1 0 2 1 pinseq=14 T 2650 1500 9 8 1 1 0 6 1 pinlabel=Q6 T 2650 1500 5 8 0 1 0 8 1 pintype=out } B 300 300 2400 4800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 3400 750 5 10 0 0 0 0 1 description=8-bit shift register with parallel load T 3400 1750 5 10 0 0 0 0 1 numslots=0 T 300 50 9 10 1 0 0 0 1 4014 geda-gaf-1.8.2/symbols/4000/4515-1.sym0000664000175000017500000001223312204104272013434 00000000000000v 20070626 1 T 1700 6700 8 10 1 1 0 6 1 refdes=U? T 300 6850 5 10 0 0 0 0 1 device=4515 T 300 7050 5 10 0 0 0 0 1 footprint=DIP24 T 300 7250 5 10 0 0 0 0 1 net=VSS:12 T 300 7450 5 10 0 0 0 0 1 net=VDD:24 P 0 300 200 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=1 T 200 250 5 8 0 1 0 8 1 pinseq=1 T 350 300 9 8 1 1 0 0 1 pinlabel=\_STR\_ T 350 300 5 8 0 1 0 2 1 pintype=in } V 250 300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=23 T 200 650 5 8 0 1 0 8 1 pinseq=2 T 350 700 9 8 1 1 0 0 1 pinlabel=INH T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=22 T 200 2650 5 8 0 1 0 8 1 pinseq=3 T 350 2700 9 8 1 1 0 0 1 pinlabel=D T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=21 T 200 3050 5 8 0 1 0 8 1 pinseq=4 T 350 3100 9 8 1 1 0 0 1 pinlabel=C T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=3 T 200 3450 5 8 0 1 0 8 1 pinseq=5 T 350 3500 9 8 1 1 0 0 1 pinlabel=B T 350 3500 5 8 0 1 0 2 1 pintype=in } P 0 3900 300 3900 1 0 0 { T 200 3950 5 8 1 1 0 6 1 pinnumber=2 T 200 3850 5 8 0 1 0 8 1 pinseq=6 T 350 3900 9 8 1 1 0 0 1 pinlabel=A T 350 3900 5 8 0 1 0 2 1 pintype=in } P 2000 2700 1800 2700 1 0 0 { T 1800 2750 5 8 1 1 0 0 1 pinnumber=17 T 1800 2650 5 8 0 1 0 2 1 pinseq=7 T 1650 2700 9 8 1 1 0 6 1 pinlabel=\_S9\_ T 1650 2700 5 8 0 1 0 8 1 pintype=out } V 1750 2700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 3100 1800 3100 1 0 0 { T 1800 3150 5 8 1 1 0 0 1 pinnumber=18 T 1800 3050 5 8 0 1 0 2 1 pinseq=8 T 1650 3100 9 8 1 1 0 6 1 pinlabel=\_S8\_ T 1650 3100 5 8 0 1 0 8 1 pintype=out } V 1750 3100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 3500 1800 3500 1 0 0 { T 1800 3550 5 8 1 1 0 0 1 pinnumber=4 T 1800 3450 5 8 0 1 0 2 1 pinseq=9 T 1650 3500 9 8 1 1 0 6 1 pinlabel=\_S7\_ T 1650 3500 5 8 0 1 0 8 1 pintype=out } V 1750 3500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 3900 1800 3900 1 0 0 { T 1800 3950 5 8 1 1 0 0 1 pinnumber=5 T 1800 3850 5 8 0 1 0 2 1 pinseq=10 T 1650 3900 9 8 1 1 0 6 1 pinlabel=\_S6\_ T 1650 3900 5 8 0 1 0 8 1 pintype=out } V 1750 3900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 4300 1800 4300 1 0 0 { T 1800 4350 5 8 1 1 0 0 1 pinnumber=6 T 1800 4250 5 8 0 1 0 2 1 pinseq=11 T 1650 4300 9 8 1 1 0 6 1 pinlabel=\_S5\_ T 1650 4300 5 8 0 1 0 8 1 pintype=out } V 1750 4300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 4700 1800 4700 1 0 0 { T 1800 4750 5 8 1 1 0 0 1 pinnumber=7 T 1800 4650 5 8 0 1 0 2 1 pinseq=12 T 1650 4700 9 8 1 1 0 6 1 pinlabel=\_S4\_ T 1650 4700 5 8 0 1 0 8 1 pintype=out } V 1750 4700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 5100 1800 5100 1 0 0 { T 1800 5150 5 8 1 1 0 0 1 pinnumber=8 T 1800 5050 5 8 0 1 0 2 1 pinseq=13 T 1650 5100 9 8 1 1 0 6 1 pinlabel=\_S3\_ T 1650 5100 5 8 0 1 0 8 1 pintype=out } V 1750 5100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 5500 1800 5500 1 0 0 { T 1800 5550 5 8 1 1 0 0 1 pinnumber=9 T 1800 5450 5 8 0 1 0 2 1 pinseq=14 T 1650 5500 9 8 1 1 0 6 1 pinlabel=\_S2\_ T 1650 5500 5 8 0 1 0 8 1 pintype=out } V 1750 5500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 5900 1800 5900 1 0 0 { T 1800 5950 5 8 1 1 0 0 1 pinnumber=10 T 1800 5850 5 8 0 1 0 2 1 pinseq=15 T 1650 5900 9 8 1 1 0 6 1 pinlabel=\_S1\_ T 1650 5900 5 8 0 1 0 8 1 pintype=out } V 1750 5900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 300 1800 300 1 0 0 { T 1800 350 5 8 1 1 0 0 1 pinnumber=15 T 1800 250 5 8 0 1 0 2 1 pinseq=16 T 1650 300 9 8 1 1 0 6 1 pinlabel=\_S15\_ T 1650 300 5 8 0 1 0 8 1 pintype=out } V 1750 300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 700 1800 700 1 0 0 { T 1800 750 5 8 1 1 0 0 1 pinnumber=16 T 1800 650 5 8 0 1 0 2 1 pinseq=17 T 1650 700 9 8 1 1 0 6 1 pinlabel=\_S14\_ T 1650 700 5 8 0 1 0 8 1 pintype=out } V 1750 700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 1100 1800 1100 1 0 0 { T 1800 1150 5 8 1 1 0 0 1 pinnumber=13 T 1800 1050 5 8 0 1 0 2 1 pinseq=18 T 1650 1100 9 8 1 1 0 6 1 pinlabel=\_S13\_ T 1650 1100 5 8 0 1 0 8 1 pintype=out } V 1750 1100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 1500 1800 1500 1 0 0 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=14 T 1800 1450 5 8 0 1 0 2 1 pinseq=19 T 1650 1500 9 8 1 1 0 6 1 pinlabel=\_S12\_ T 1650 1500 5 8 0 1 0 8 1 pintype=out } V 1750 1500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 1900 1800 1900 1 0 0 { T 1800 1950 5 8 1 1 0 0 1 pinnumber=19 T 1800 1850 5 8 0 1 0 2 1 pinseq=20 T 1650 1900 9 8 1 1 0 6 1 pinlabel=\_S11\_ T 1650 1900 5 8 0 1 0 8 1 pintype=out } V 1750 1900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 2300 1800 2300 1 0 0 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=20 T 1800 2250 5 8 0 1 0 2 1 pinseq=21 T 1650 2300 9 8 1 1 0 6 1 pinlabel=\_S10\_ T 1650 2300 5 8 0 1 0 8 1 pintype=out } V 1750 2300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 6300 1800 6300 1 0 0 { T 1800 6350 5 8 1 1 0 0 1 pinnumber=11 T 1800 6250 5 8 0 1 0 2 1 pinseq=22 T 1650 6300 9 8 1 1 0 6 1 pinlabel=\_S0\_ T 1650 6300 5 8 0 1 0 8 1 pintype=out } V 1750 6300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 300 0 1400 6600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 7850 5 10 0 0 0 0 1 description=4-bit demultiplexer T 300 7650 5 10 0 0 0 0 1 numslots=0 T 300 8050 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4515B_CNV_3.pdf T 300 6650 9 10 1 0 0 0 1 4515 geda-gaf-1.8.2/symbols/4000/4082-1.sym0000664000175000017500000000327712204104272013443 00000000000000v 20040710 1 P 1300 600 1000 600 1 0 0 { T 1100 650 5 8 1 1 0 0 1 pinnumber=1 T 1100 550 5 8 0 1 0 2 1 pinseq=5 T 950 600 5 8 0 1 0 8 1 pintype=out T 950 600 9 8 0 1 0 6 1 pinlabel=Y } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=2 T 200 1050 5 8 0 1 0 8 1 pinseq=1 T 350 1100 5 8 0 1 0 2 1 pintype=in T 350 1100 9 8 0 1 0 0 1 pinlabel=A } P 0 800 300 800 1 0 0 { T 200 850 5 8 1 1 0 6 1 pinnumber=3 T 200 750 5 8 0 1 0 8 1 pinseq=2 T 350 800 5 8 0 1 0 2 1 pintype=in T 350 800 9 8 0 1 0 0 1 pinlabel=B } P 0 400 300 400 1 0 0 { T 200 450 5 8 1 1 0 6 1 pinnumber=4 T 200 350 5 8 0 1 0 8 1 pinseq=3 T 350 400 5 8 0 1 0 2 1 pintype=in T 350 400 9 8 0 1 0 0 1 pinlabel=C } P 0 100 300 100 1 0 0 { T 200 150 5 8 1 1 0 6 1 pinnumber=5 T 200 50 5 8 0 1 0 8 1 pinseq=4 T 350 100 5 8 0 1 0 2 1 pintype=in T 350 100 9 8 0 1 0 0 1 pinlabel=D } T 1000 1100 5 10 0 0 0 0 1 net=VDD:14 T 1000 1300 5 10 0 0 0 0 1 net=VSS:7 T 400 1000 8 10 1 1 0 0 1 refdes=U? T 1000 1700 5 10 0 0 0 0 1 numslots=2 T 1000 1900 5 10 0 0 0 0 1 slotdef=1:2,3,4,5,1 T 1000 2100 5 10 0 0 0 0 1 slotdef=2:9,10,11,12,13 T 1000 2300 5 10 0 0 0 0 1 slot=1 T 1000 1500 5 10 0 0 0 0 1 device=4082 T 1900 1750 5 10 0 0 0 0 1 footprint=DIP14 T 1000 2500 5 10 0 0 0 0 1 description=2 AND gates with 4 inputs T 1000 2700 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4082B_CNV_3.pdf T 400 100 9 8 1 0 0 0 1 4082 L 300 300 300 900 3 0 0 0 -1 -1 L 300 900 700 900 3 0 0 0 -1 -1 L 300 300 700 300 3 0 0 0 -1 -1 A 700 600 300 270 180 3 0 0 0 -1 -1 L 300 300 300 100 3 0 0 0 -1 -1 L 300 1100 300 900 3 0 0 0 -1 -1 L 300 1100 300 1200 3 0 0 0 -1 -1 L 300 0 300 100 3 0 0 0 -1 -1 T 1000 2900 5 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/4000/4032-2.sym0000664000175000017500000000550212204104272013430 00000000000000v 20031231 1 T 1700 4700 8 10 1 1 0 6 1 refdes=U? T 300 4850 5 10 0 0 0 0 1 device=4032 T 300 5050 5 10 0 0 0 0 1 footprint=DIP16 T 300 5450 5 10 0 0 0 0 1 net=VSS:8 T 300 5650 5 10 0 0 0 0 1 net=VDD:16 P 0 300 300 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=6 T 200 250 5 8 0 1 0 8 1 pinseq=1 T 350 300 9 8 1 1 0 0 1 pinlabel=CRST T 350 300 5 8 0 1 0 2 1 pintype=in } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=3 T 200 650 5 8 0 1 0 8 1 pinseq=2 T 400 700 9 8 1 1 0 0 1 pinlabel=CLK T 400 700 5 8 0 1 0 2 1 pintype=clk } L 400 700 300 775 3 0 0 0 -1 -1 L 400 700 300 625 3 0 0 0 -1 -1 P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=2 T 200 1050 5 8 0 1 0 8 1 pinseq=3 T 350 1100 9 8 1 1 0 0 1 pinlabel=INV3 T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=14 T 200 1450 5 8 0 1 0 8 1 pinseq=4 T 350 1500 9 8 1 1 0 0 1 pinlabel=B3 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=15 T 200 1850 5 8 0 1 0 8 1 pinseq=5 T 350 1900 9 8 1 1 0 0 1 pinlabel=A3 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=5 T 200 2250 5 8 0 1 0 8 1 pinseq=6 T 350 2300 9 8 1 1 0 0 1 pinlabel=INV2 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=12 T 200 2650 5 8 0 1 0 8 1 pinseq=7 T 350 2700 9 8 1 1 0 0 1 pinlabel=B2 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=13 T 200 3050 5 8 0 1 0 8 1 pinseq=8 T 350 3100 9 8 1 1 0 0 1 pinlabel=A2 T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=7 T 200 3450 5 8 0 1 0 8 1 pinseq=9 T 350 3500 9 8 1 1 0 0 1 pinlabel=INV1 T 350 3500 5 8 0 1 0 2 1 pintype=in } P 0 3900 300 3900 1 0 0 { T 200 3950 5 8 1 1 0 6 1 pinnumber=11 T 200 3850 5 8 0 1 0 8 1 pinseq=10 T 350 3900 9 8 1 1 0 0 1 pinlabel=B1 T 350 3900 5 8 0 1 0 2 1 pintype=in } P 0 4300 300 4300 1 0 0 { T 200 4350 5 8 1 1 0 6 1 pinnumber=10 T 200 4250 5 8 0 1 0 8 1 pinseq=11 T 350 4300 9 8 1 1 0 0 1 pinlabel=A1 T 350 4300 5 8 0 1 0 2 1 pintype=in } P 2000 1500 1700 1500 1 0 0 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=1 T 1800 1450 5 8 0 1 0 2 1 pinseq=12 T 1650 1500 9 8 1 1 0 6 1 pinlabel=S3 T 1650 1500 5 8 0 1 0 8 1 pintype=out } P 2000 2700 1700 2700 1 0 0 { T 1800 2750 5 8 1 1 0 0 1 pinnumber=4 T 1800 2650 5 8 0 1 0 2 1 pinseq=13 T 1650 2700 9 8 1 1 0 6 1 pinlabel=S2 T 1650 2700 5 8 0 1 0 8 1 pintype=out } P 2000 3900 1700 3900 1 0 0 { T 1800 3950 5 8 1 1 0 0 1 pinnumber=9 T 1800 3850 5 8 0 1 0 2 1 pinseq=14 T 1650 3900 9 8 1 1 0 6 1 pinlabel=S1 T 1650 3900 5 8 0 1 0 8 1 pintype=out } B 300 0 1400 4600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 5250 5 10 0 0 0 0 1 description=3 serial adders T 300 5850 5 10 0 0 0 0 1 numslots=0 T 300 4650 9 10 1 0 0 0 1 4032 geda-gaf-1.8.2/symbols/4000/4582-1.sym0000664000175000017500000000637012204104272013445 00000000000000v 20070626 1 T 1700 4000 8 10 1 1 0 6 1 refdes=U? T 300 4150 5 10 0 0 0 0 1 device=4582 T 300 4350 5 10 0 0 0 0 1 footprint=DIP16 T 300 4550 5 10 0 0 0 0 1 net=VSS:8 T 300 4750 5 10 0 0 0 0 1 net=VDD:16 P 0 2400 200 2400 1 0 0 { T 200 2450 5 8 1 1 0 6 1 pinnumber=6 T 200 2350 5 8 0 1 0 8 1 pinseq=1 T 350 2400 9 8 1 1 0 0 1 pinlabel=\_P3\_ T 350 2400 5 8 0 1 0 2 1 pintype=in } V 250 2400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2800 200 2800 1 0 0 { T 200 2850 5 8 1 1 0 6 1 pinnumber=15 T 200 2750 5 8 0 1 0 8 1 pinseq=2 T 350 2800 9 8 1 1 0 0 1 pinlabel=\_P2\_ T 350 2800 5 8 0 1 0 2 1 pintype=in } V 250 2800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3200 200 3200 1 0 0 { T 200 3250 5 8 1 1 0 6 1 pinnumber=2 T 200 3150 5 8 0 1 0 8 1 pinseq=3 T 350 3200 9 8 1 1 0 0 1 pinlabel=\_P1\_ T 350 3200 5 8 0 1 0 2 1 pintype=in } V 250 3200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3600 200 3600 1 0 0 { T 200 3650 5 8 1 1 0 6 1 pinnumber=4 T 200 3550 5 8 0 1 0 8 1 pinseq=4 T 350 3600 9 8 1 1 0 0 1 pinlabel=\_P0\_ T 350 3600 5 8 0 1 0 2 1 pintype=in } V 250 3600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 800 200 800 1 0 0 { T 200 850 5 8 1 1 0 6 1 pinnumber=5 T 200 750 5 8 0 1 0 8 1 pinseq=5 T 350 800 9 8 1 1 0 0 1 pinlabel=\_G3\_ T 350 800 5 8 0 1 0 2 1 pintype=in } V 250 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1200 200 1200 1 0 0 { T 200 1250 5 8 1 1 0 6 1 pinnumber=14 T 200 1150 5 8 0 1 0 8 1 pinseq=6 T 350 1200 9 8 1 1 0 0 1 pinlabel=\_G2\_ T 350 1200 5 8 0 1 0 2 1 pintype=in } V 250 1200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1600 200 1600 1 0 0 { T 200 1650 5 8 1 1 0 6 1 pinnumber=1 T 200 1550 5 8 0 1 0 8 1 pinseq=7 T 350 1600 9 8 1 1 0 0 1 pinlabel=\_G1\_ T 350 1600 5 8 0 1 0 2 1 pintype=in } V 250 1600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2000 200 2000 1 0 0 { T 200 2050 5 8 1 1 0 6 1 pinnumber=3 T 200 1950 5 8 0 1 0 8 1 pinseq=8 T 350 2000 9 8 1 1 0 0 1 pinlabel=\_G0\_ T 350 2000 5 8 0 1 0 2 1 pintype=in } V 250 2000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 400 300 400 1 0 0 { T 200 450 5 8 1 1 0 6 1 pinnumber=13 T 200 350 5 8 0 1 0 8 1 pinseq=9 T 350 400 9 8 1 1 0 0 1 pinlabel=Cn T 350 400 5 8 0 1 0 2 1 pintype=in } P 2000 2400 1800 2400 1 0 0 { T 1800 2450 5 8 1 1 0 0 1 pinnumber=7 T 1800 2350 5 8 0 1 0 2 1 pinseq=10 T 1650 2400 9 8 1 1 0 6 1 pinlabel=\_P\_ T 1650 2400 5 8 0 1 0 8 1 pintype=out } V 1750 2400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 2000 1800 2000 1 0 0 { T 1800 2050 5 8 1 1 0 0 1 pinnumber=10 T 1800 1950 5 8 0 1 0 2 1 pinseq=11 T 1650 2000 9 8 1 1 0 6 1 pinlabel=\_G\_ T 1650 2000 5 8 0 1 0 8 1 pintype=out } V 1750 2000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 1200 1700 1200 1 0 0 { T 1800 1250 5 8 1 1 0 0 1 pinnumber=9 T 1800 1150 5 8 0 1 0 2 1 pinseq=12 T 1650 1200 9 8 1 1 0 6 1 pinlabel=Cn+Z T 1650 1200 5 8 0 1 0 8 1 pintype=out } P 2000 800 1700 800 1 0 0 { T 1800 850 5 8 1 1 0 0 1 pinnumber=11 T 1800 750 5 8 0 1 0 2 1 pinseq=13 T 1650 800 9 8 1 1 0 6 1 pinlabel=Cn+Y T 1650 800 5 8 0 1 0 8 1 pintype=out } P 2000 400 1700 400 1 0 0 { T 1800 450 5 8 1 1 0 0 1 pinnumber=12 T 1800 350 5 8 0 1 0 2 1 pinseq=14 T 1650 400 9 8 1 1 0 6 1 pinlabel=Cn+X T 1650 400 5 8 0 1 0 8 1 pintype=out } B 300 0 1400 3900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 5150 5 10 0 0 0 0 1 description=look ahead carry generator T 300 4950 5 10 0 0 0 0 1 numslots=0 T 300 3950 9 10 1 0 0 0 1 4582 geda-gaf-1.8.2/symbols/4000/4527-1.sym0000664000175000017500000000605212204104272013441 00000000000000v 20070626 1 T 1700 4300 8 10 1 1 0 6 1 refdes=U? T 300 4450 5 10 0 0 0 0 1 device=4527 T 300 4650 5 10 0 0 0 0 1 footprint=DIP16 T 300 4850 5 10 0 0 0 0 1 net=VSS:8 T 300 5050 5 10 0 0 0 0 1 net=VDD:16 P 0 2700 200 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=11 T 200 2650 5 8 0 1 0 8 1 pinseq=1 T 350 2700 9 8 1 1 0 0 1 pinlabel=\_CE\_ T 350 2700 5 8 0 1 0 2 1 pintype=in } V 250 2700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=4 T 200 3050 5 8 0 1 0 8 1 pinseq=2 T 350 3100 9 8 1 1 0 0 1 pinlabel=SET T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=9 T 200 3450 5 8 0 1 0 8 1 pinseq=3 T 400 3500 9 8 1 1 0 0 1 pinlabel=CLK T 400 3500 5 8 0 1 0 2 1 pintype=clk } L 400 3500 300 3575 3 0 0 0 -1 -1 L 400 3500 300 3425 3 0 0 0 -1 -1 P 0 3900 300 3900 1 0 0 { T 200 3950 5 8 1 1 0 6 1 pinnumber=13 T 200 3850 5 8 0 1 0 8 1 pinseq=4 T 350 3900 9 8 1 1 0 0 1 pinlabel=CLR T 350 3900 5 8 0 1 0 2 1 pintype=in } P 2000 3500 1700 3500 1 0 0 { T 1800 3550 5 8 1 1 0 0 1 pinnumber=7 T 1800 3450 5 8 0 1 0 2 1 pinseq=5 T 1650 3500 9 8 1 1 0 6 1 pinlabel=\_TC\_ T 1650 3500 5 8 0 1 0 8 1 pintype=out } P 2000 1900 1800 1900 1 0 0 { T 1800 1950 5 8 1 1 0 0 1 pinnumber=5 T 1800 1850 5 8 0 1 0 2 1 pinseq=6 T 1650 1900 9 8 1 1 0 6 1 pinlabel=\_Q\_ T 1650 1900 5 8 0 1 0 8 1 pintype=out } V 1750 1900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 3900 1700 3900 1 0 0 { T 1800 3950 5 8 1 1 0 0 1 pinnumber=1 T 1800 3850 5 8 0 1 0 2 1 pinseq=7 T 1650 3900 9 8 1 1 0 6 1 pinlabel=TC T 1650 3900 5 8 0 1 0 8 1 pintype=out } P 2000 2300 1700 2300 1 0 0 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=6 T 1800 2250 5 8 0 1 0 2 1 pinseq=8 T 1650 2300 9 8 1 1 0 6 1 pinlabel=Q T 1650 2300 5 8 0 1 0 8 1 pintype=out } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=10 T 200 2250 5 8 0 1 0 8 1 pinseq=9 T 350 2300 9 8 1 1 0 0 1 pinlabel=STR T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=3 T 200 650 5 8 0 1 0 8 1 pinseq=10 T 350 700 9 8 1 1 0 0 1 pinlabel=SD T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=2 T 200 1050 5 8 0 1 0 8 1 pinseq=11 T 350 1100 9 8 1 1 0 0 1 pinlabel=SC T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=15 T 200 1450 5 8 0 1 0 8 1 pinseq=12 T 350 1500 9 8 1 1 0 0 1 pinlabel=SB T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=14 T 200 1850 5 8 0 1 0 8 1 pinseq=13 T 350 1900 9 8 1 1 0 0 1 pinlabel=SA T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 300 300 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=12 T 200 250 5 8 0 1 0 8 1 pinseq=14 T 350 300 9 8 1 1 0 0 1 pinlabel=CAS T 350 300 5 8 0 1 0 2 1 pintype=in } B 300 0 1400 4200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 5450 5 10 0 0 0 0 1 description=BCD frequency divider T 300 5250 5 10 0 0 0 0 1 numslots=0 T 300 5650 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4527B_CNV_3.pdf T 300 4250 9 10 1 0 0 0 1 4527 geda-gaf-1.8.2/symbols/4000/4030-1.sym0000664000175000017500000000241012204104272013420 00000000000000v 20040710 1 P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=1 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 5 8 0 1 0 2 1 pintype=in T 350 700 9 8 0 1 0 0 1 pinlabel=A } P 0 300 300 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=2 T 200 250 5 8 0 1 0 8 1 pinseq=2 T 350 300 5 8 0 1 0 2 1 pintype=in T 350 300 9 8 0 1 0 0 1 pinlabel=B } P 1000 500 1300 500 1 0 1 { T 1100 550 5 8 1 1 0 0 1 pinnumber=3 T 1100 450 5 8 0 1 0 2 1 pinseq=3 T 950 500 5 8 0 1 0 8 1 pintype=out T 950 500 9 8 0 1 0 6 1 pinlabel=Y } T 1500 400 5 10 0 0 0 0 1 net=VDD:14 T 1500 600 5 10 0 0 0 0 1 net=VSS:7 T 1500 800 5 10 0 0 0 0 1 device=4030 T 1500 1000 5 10 0 0 0 0 1 footprint=DIP14 T 1500 1200 5 10 0 0 0 0 1 numslots=4 T 1500 1400 5 10 0 0 0 0 1 slotdef=1:1,2,3 T 1500 1600 5 10 0 0 0 0 1 slotdef=2:5,6,4 T 1500 1800 5 10 0 0 0 0 1 slotdef=3:8,9,10 T 1500 2000 5 10 0 0 0 0 1 slotdef=4:12,13,11 T 1500 2200 5 10 0 0 0 0 1 slot=1 T 1500 2400 5 10 0 0 0 0 1 description=4 XOR gates with 2 inputs T 200 0 9 8 1 0 0 0 1 4030 L 260 200 600 200 3 0 0 0 -1 -1 L 260 800 600 800 3 0 0 0 -1 -1 A 0 500 400 312 97 3 0 0 0 -1 -1 A -100 500 400 312 97 3 0 0 0 -1 -1 A 600 600 400 270 76 3 0 0 0 -1 -1 A 600 400 400 14 76 3 0 0 0 -1 -1 T 300 900 8 10 1 1 0 0 1 refdes=U? T 1500 2600 5 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/4000/4580-1.sym0000664000175000017500000001030712204104272013436 00000000000000v 20031231 1 T 500 5900 8 10 1 1 0 6 1 refdes=U? T 2900 2050 5 10 0 0 0 0 1 device=4580 T 2900 2250 5 10 0 0 0 0 1 footprint=none T 2900 2450 5 10 0 0 0 0 1 net=VSS:12 T 2900 2650 5 10 0 0 0 0 1 net=VDD:24 P 900 0 900 300 1 0 0 { T 950 100 5 8 1 1 0 0 1 pinnumber=16 T 950 100 5 8 0 1 0 2 1 pinseq=1 T 900 425 9 8 1 1 0 3 1 pinlabel=CLK T 900 575 5 8 0 1 0 3 1 pintype=in } L 900 400 975 300 3 0 0 0 -1 -1 L 900 400 825 300 3 0 0 0 -1 -1 P 1600 0 1600 300 1 0 0 { T 1650 100 5 8 1 1 0 0 1 pinnumber=21 T 1650 100 5 8 0 1 0 2 1 pinseq=2 T 1600 350 9 8 1 1 0 3 1 pinlabel=3-State B T 1600 500 5 8 0 1 0 3 1 pintype=in } P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=9 T 200 2950 5 8 0 1 0 8 1 pinseq=3 T 350 3000 9 8 1 1 0 0 1 pinlabel=W1 T 350 3000 5 8 0 1 0 2 1 pintype=in } P 0 3400 300 3400 1 0 0 { T 200 3450 5 8 1 1 0 6 1 pinnumber=8 T 200 3350 5 8 0 1 0 8 1 pinseq=4 T 350 3400 9 8 1 1 0 0 1 pinlabel=W0 T 350 3400 5 8 0 1 0 2 1 pintype=in } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=10 T 200 650 5 8 0 1 0 8 1 pinseq=5 T 350 700 9 8 1 1 0 0 1 pinlabel=R1B T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=14 T 200 1750 5 8 0 1 0 8 1 pinseq=6 T 350 1800 9 8 1 1 0 0 1 pinlabel=R1A T 350 1800 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=11 T 200 1050 5 8 0 1 0 8 1 pinseq=7 T 350 1100 9 8 1 1 0 0 1 pinlabel=R0B T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=13 T 200 2150 5 8 0 1 0 8 1 pinseq=8 T 350 2200 9 8 1 1 0 0 1 pinlabel=R0A T 350 2200 5 8 0 1 0 2 1 pintype=in } P 0 4200 300 4200 1 0 0 { T 200 4250 5 8 1 1 0 6 1 pinnumber=17 T 200 4150 5 8 0 1 0 8 1 pinseq=9 T 350 4200 9 8 1 1 0 0 1 pinlabel=D3 T 350 4200 5 8 0 1 0 2 1 pintype=in } P 0 4600 300 4600 1 0 0 { T 200 4650 5 8 1 1 0 6 1 pinnumber=18 T 200 4550 5 8 0 1 0 8 1 pinseq=10 T 350 4600 9 8 1 1 0 0 1 pinlabel=D2 T 350 4600 5 8 0 1 0 2 1 pintype=in } P 0 5000 300 5000 1 0 0 { T 200 5050 5 8 1 1 0 6 1 pinnumber=19 T 200 4950 5 8 0 1 0 8 1 pinseq=11 T 350 5000 9 8 1 1 0 0 1 pinlabel=D1 T 350 5000 5 8 0 1 0 2 1 pintype=in } P 0 5400 300 5400 1 0 0 { T 200 5450 5 8 1 1 0 6 1 pinnumber=20 T 200 5350 5 8 0 1 0 8 1 pinseq=12 T 350 5400 9 8 1 1 0 0 1 pinlabel=D0 T 350 5400 5 8 0 1 0 2 1 pintype=in } P 2500 2200 2200 2200 1 0 0 { T 2300 2250 5 8 1 1 0 0 1 pinnumber=1 T 2300 2150 5 8 0 1 0 2 1 pinseq=13 T 2150 2200 9 8 1 1 0 6 1 pinlabel=Q3B T 2150 2200 5 8 0 1 0 8 1 pintype=tri } P 2500 4200 2200 4200 1 0 0 { T 2300 4250 5 8 1 1 0 0 1 pinnumber=7 T 2300 4150 5 8 0 1 0 2 1 pinseq=14 T 2150 4200 9 8 1 1 0 6 1 pinlabel=Q3A T 2150 4200 5 8 0 1 0 8 1 pintype=tri } P 2500 2600 2200 2600 1 0 0 { T 2300 2650 5 8 1 1 0 0 1 pinnumber=2 T 2300 2550 5 8 0 1 0 2 1 pinseq=15 T 2150 2600 9 8 1 1 0 6 1 pinlabel=Q2B T 2150 2600 5 8 0 1 0 8 1 pintype=tri } P 2500 4600 2200 4600 1 0 0 { T 2300 4650 5 8 1 1 0 0 1 pinnumber=6 T 2300 4550 5 8 0 1 0 2 1 pinseq=16 T 2150 4600 9 8 1 1 0 6 1 pinlabel=Q2A T 2150 4600 5 8 0 1 0 8 1 pintype=tri } P 2500 3000 2200 3000 1 0 0 { T 2300 3050 5 8 1 1 0 0 1 pinnumber=23 T 2300 2950 5 8 0 1 0 2 1 pinseq=17 T 2150 3000 9 8 1 1 0 6 1 pinlabel=Q1B T 2150 3000 5 8 0 1 0 8 1 pintype=tri } P 2500 5000 2200 5000 1 0 0 { T 2300 5050 5 8 1 1 0 0 1 pinnumber=5 T 2300 4950 5 8 0 1 0 2 1 pinseq=18 T 2150 5000 9 8 1 1 0 6 1 pinlabel=Q1A T 2150 5000 5 8 0 1 0 8 1 pintype=tri } P 2500 3400 2200 3400 1 0 0 { T 2300 3450 5 8 1 1 0 0 1 pinnumber=22 T 2300 3350 5 8 0 1 0 2 1 pinseq=19 T 2150 3400 9 8 1 1 0 6 1 pinlabel=Q0B T 2150 3400 5 8 0 1 0 8 1 pintype=tri } P 2500 5400 2200 5400 1 0 0 { T 2300 5450 5 8 1 1 0 0 1 pinnumber=4 T 2300 5350 5 8 0 1 0 2 1 pinseq=20 T 2150 5400 9 8 1 1 0 6 1 pinlabel=Q0A T 2150 5400 5 8 0 1 0 8 1 pintype=tri } P 900 6100 900 5800 1 0 0 { T 950 5900 5 8 1 1 0 0 1 pinnumber=15 T 950 5900 5 8 0 1 0 2 1 pinseq=21 T 900 5750 9 8 1 1 0 5 1 pinlabel=WE T 900 5600 5 8 0 1 0 5 1 pintype=in } P 1600 6100 1600 5800 1 0 0 { T 1650 5900 5 8 1 1 0 0 1 pinnumber=3 T 1650 5900 5 8 0 1 0 2 1 pinseq=22 T 1600 5750 9 8 1 1 0 5 1 pinlabel=3-State A T 1600 5600 5 8 0 1 0 5 1 pintype=in } B 300 300 1900 5500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2900 1850 5 10 0 0 0 0 1 numslots=0 T 100 50 9 10 1 0 0 0 1 4580 geda-gaf-1.8.2/symbols/4000/4020-1.sym0000664000175000017500000000560112204104272013424 00000000000000v 20031231 1 P 0 2000 200 2000 1 0 0 { T 200 2050 5 8 1 1 0 6 1 pinnumber=10 T 200 1950 5 8 0 1 0 8 1 pinseq=10 T 350 2000 9 8 1 1 0 0 1 pinlabel=CLK T 350 2000 5 8 0 1 0 2 1 pintype=clk } P 0 1700 300 1700 1 0 0 { T 200 1750 5 8 1 1 0 6 1 pinnumber=11 T 200 1650 5 8 0 1 0 8 1 pinseq=11 T 350 1700 9 8 1 1 0 0 1 pinlabel=Reset T 350 1700 5 8 0 1 0 2 1 pintype=in } P 1700 3600 2000 3600 1 0 1 { T 1800 3650 5 8 1 1 0 0 1 pinnumber=9 T 1800 3550 5 8 0 1 0 2 1 pinseq=9 T 1650 3600 9 8 1 1 0 6 1 pinlabel=Q1 T 1650 3600 5 8 0 1 0 8 1 pintype=out } P 1700 3300 2000 3300 1 0 1 { T 1800 3350 5 8 1 1 0 0 1 pinnumber=7 T 1800 3250 5 8 0 1 0 2 1 pinseq=7 T 1650 3300 9 8 1 1 0 6 1 pinlabel=Q4 T 1650 3300 5 8 0 1 0 8 1 pintype=out } P 1700 3000 2000 3000 1 0 1 { T 1800 3050 5 8 1 1 0 0 1 pinnumber=5 T 1800 2950 5 8 0 1 0 2 1 pinseq=5 T 1650 3000 9 8 1 1 0 6 1 pinlabel=Q5 T 1650 3000 5 8 0 1 0 8 1 pintype=out } P 1700 2700 2000 2700 1 0 1 { T 1800 2750 5 8 1 1 0 0 1 pinnumber=4 T 1800 2650 5 8 0 1 0 2 1 pinseq=4 T 1650 2700 9 8 1 1 0 6 1 pinlabel=Q6 T 1650 2700 5 8 0 1 0 8 1 pintype=out } P 1700 2400 2000 2400 1 0 1 { T 1800 2450 5 8 1 1 0 0 1 pinnumber=6 T 1800 2350 5 8 0 1 0 2 1 pinseq=6 T 1650 2400 9 8 1 1 0 6 1 pinlabel=Q7 T 1650 2400 5 8 0 1 0 8 1 pintype=out } P 1700 2100 2000 2100 1 0 1 { T 1800 2150 5 8 1 1 0 0 1 pinnumber=13 T 1800 2050 5 8 0 1 0 2 1 pinseq=13 T 1650 2100 9 8 1 1 0 6 1 pinlabel=Q8 T 1650 2100 5 8 0 1 0 8 1 pintype=out } P 1700 1800 2000 1800 1 0 1 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=12 T 1800 1750 5 8 0 1 0 2 1 pinseq=12 T 1650 1800 9 8 1 1 0 6 1 pinlabel=Q9 T 1650 1800 5 8 0 1 0 8 1 pintype=out } P 1700 1500 2000 1500 1 0 1 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=14 T 1800 1450 5 8 0 1 0 2 1 pinseq=14 T 1650 1500 9 8 1 1 0 6 1 pinlabel=Q10 T 1650 1500 5 8 0 1 0 8 1 pintype=out } P 1700 1200 2000 1200 1 0 1 { T 1800 1250 5 8 1 1 0 0 1 pinnumber=15 T 1800 1150 5 8 0 1 0 2 1 pinseq=15 T 1650 1200 9 8 1 1 0 6 1 pinlabel=Q11 T 1650 1200 5 8 0 1 0 8 1 pintype=out } P 1700 900 2000 900 1 0 1 { T 1800 950 5 8 1 1 0 0 1 pinnumber=1 T 1800 850 5 8 0 1 0 2 1 pinseq=1 T 1650 900 9 8 1 1 0 6 1 pinlabel=Q12 T 1650 900 5 8 0 1 0 8 1 pintype=out } P 1700 600 2000 600 1 0 1 { T 1800 650 5 8 1 1 0 0 1 pinnumber=2 T 1800 550 5 8 0 1 0 2 1 pinseq=2 T 1650 600 9 8 1 1 0 6 1 pinlabel=Q13 T 1650 600 5 8 0 1 0 8 1 pintype=out } P 1700 300 2000 300 1 0 1 { T 1800 350 5 8 1 1 0 0 1 pinnumber=3 T 1800 250 5 8 0 1 0 2 1 pinseq=3 T 1650 300 9 8 1 1 0 6 1 pinlabel=Q14 T 1650 300 5 8 0 1 0 8 1 pintype=out } B 300 0 1400 3900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4150 5 10 0 0 0 0 1 device=4020 T 1700 4000 8 10 1 1 0 6 1 refdes=U? T 300 4350 5 10 0 0 0 0 1 footprint=DIP16 T 300 4550 5 10 0 0 0 0 1 description=14-bit binary counter T 300 5150 5 10 0 0 0 0 1 numslots=0 T 300 4750 5 10 0 0 0 0 1 net=VDD:16 T 300 4950 5 10 0 0 0 0 1 net=VSS:8 T 300 3940 9 10 1 0 0 0 1 4020 V 250 2000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/4000/4044-1.sym0000664000175000017500000000616212204104272013435 00000000000000v 20070626 1 T 500 4000 8 10 1 1 0 6 1 refdes=U? T 2000 950 5 10 0 0 0 0 1 device=4044 T 2000 1150 5 10 0 0 0 0 1 footprint=DIP16 T 2000 1350 5 10 0 0 0 0 1 net=VSS:8 T 2000 1550 5 10 0 0 0 0 1 net=VDD:16 P 0 700 200 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=15 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 1 1 0 0 1 pinlabel=\_S4\_ T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1500 200 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=11 T 200 1450 5 8 0 1 0 8 1 pinseq=2 T 350 1500 9 8 1 1 0 0 1 pinlabel=\_S3\_ T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 2300 200 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=6 T 200 2250 5 8 0 1 0 8 1 pinseq=3 T 350 2300 9 8 1 1 0 0 1 pinlabel=\_S2\_ T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 3100 200 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=3 T 200 3050 5 8 0 1 0 8 1 pinseq=4 T 350 3100 9 8 1 1 0 0 1 pinlabel=\_S1\_ T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 1100 200 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=14 T 200 1050 5 8 0 1 0 8 1 pinseq=5 T 350 1100 9 8 1 1 0 0 1 pinlabel=\_R4\_ T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1900 200 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=12 T 200 1850 5 8 0 1 0 8 1 pinseq=6 T 350 1900 9 8 1 1 0 0 1 pinlabel=\_R3\_ T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2700 200 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=7 T 200 2650 5 8 0 1 0 8 1 pinseq=7 T 350 2700 9 8 1 1 0 0 1 pinlabel=\_R2\_ T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3500 200 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=4 T 200 3450 5 8 0 1 0 8 1 pinseq=8 T 350 3500 9 8 1 1 0 0 1 pinlabel=\_R1\_ T 350 3500 5 8 0 1 0 2 1 pintype=in } P 1600 1100 1300 1100 1 0 0 { T 1400 1150 5 8 1 1 0 0 1 pinnumber=1 T 1400 1050 5 8 0 1 0 2 1 pinseq=9 T 1250 1100 9 8 1 1 0 6 1 pinlabel=Q4 T 1250 1100 5 8 0 1 0 8 1 pintype=tri } V 250 3500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1600 1900 1300 1900 1 0 0 { T 1400 1950 5 8 1 1 0 0 1 pinnumber=10 T 1400 1850 5 8 0 1 0 2 1 pinseq=10 T 1250 1900 9 8 1 1 0 6 1 pinlabel=Q3 T 1250 1900 5 8 0 1 0 8 1 pintype=tri } P 1600 2700 1300 2700 1 0 0 { T 1400 2750 5 8 1 1 0 0 1 pinnumber=9 T 1400 2650 5 8 0 1 0 2 1 pinseq=11 T 1250 2700 9 8 1 1 0 6 1 pinlabel=Q2 T 1250 2700 5 8 0 1 0 8 1 pintype=tri } V 250 2700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1600 3500 1300 3500 1 0 0 { T 1400 3550 5 8 1 1 0 0 1 pinnumber=2 T 1400 3450 5 8 0 1 0 2 1 pinseq=12 T 1250 3500 9 8 1 1 0 6 1 pinlabel=Q1 T 1250 3500 5 8 0 1 0 8 1 pintype=tri } P 800 4200 800 3900 1 0 0 { T 850 4000 5 8 1 1 0 0 1 pinnumber=5 T 850 4000 5 8 0 1 0 2 1 pinseq=13 T 800 3850 9 8 1 1 0 5 1 pinlabel=EN T 800 3700 5 8 0 1 0 5 1 pintype=in } B 300 300 1000 3600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2000 750 5 10 0 0 0 0 1 description=quadruple R/S latch with 3-state outputs T 2000 1750 5 10 0 0 0 0 1 numslots=0 T 2000 550 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4044B_CNV_3.pdf T 300 50 9 10 1 0 0 0 1 4044 V 250 3100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 2300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 1900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 1500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 1100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/4000/4021-1.sym0000664000175000017500000000556112204104272013432 00000000000000v 20070626 1 T 500 5200 8 10 1 1 0 6 1 refdes=U? T 3400 950 5 10 0 0 0 0 1 device=4021 T 3400 1150 5 10 0 0 0 0 1 footprint=DIP16 T 3400 1350 5 10 0 0 0 0 1 net=VSS:8 T 3400 1550 5 10 0 0 0 0 1 net=VDD:16 P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=9 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 1 1 0 0 1 pinlabel=Parallel/\_Serial\_ T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=11 T 200 1050 5 8 0 1 0 8 1 pinseq=2 T 350 1100 9 8 1 1 0 0 1 pinlabel=Serial In T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=1 T 200 1450 5 8 0 1 0 8 1 pinseq=3 T 350 1500 9 8 1 1 0 0 1 pinlabel=I8 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=15 T 200 1850 5 8 0 1 0 8 1 pinseq=4 T 350 1900 9 8 1 1 0 0 1 pinlabel=I7 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=14 T 200 2250 5 8 0 1 0 8 1 pinseq=5 T 350 2300 9 8 1 1 0 0 1 pinlabel=I6 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=13 T 200 2650 5 8 0 1 0 8 1 pinseq=6 T 350 2700 9 8 1 1 0 0 1 pinlabel=I5 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=4 T 200 3050 5 8 0 1 0 8 1 pinseq=7 T 350 3100 9 8 1 1 0 0 1 pinlabel=I4 T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=5 T 200 3450 5 8 0 1 0 8 1 pinseq=8 T 350 3500 9 8 1 1 0 0 1 pinlabel=I3 T 350 3500 5 8 0 1 0 2 1 pintype=in } P 0 3900 300 3900 1 0 0 { T 200 3950 5 8 1 1 0 6 1 pinnumber=6 T 200 3850 5 8 0 1 0 8 1 pinseq=9 T 350 3900 9 8 1 1 0 0 1 pinlabel=I2 T 350 3900 5 8 0 1 0 2 1 pintype=in } P 0 4300 300 4300 1 0 0 { T 200 4350 5 8 1 1 0 6 1 pinnumber=7 T 200 4250 5 8 0 1 0 8 1 pinseq=10 T 350 4300 9 8 1 1 0 0 1 pinlabel=I1 T 350 4300 5 8 0 1 0 2 1 pintype=in } P 0 4700 300 4700 1 0 0 { T 200 4750 5 8 1 1 0 6 1 pinnumber=10 T 200 4650 5 8 0 1 0 8 1 pinseq=11 T 400 4700 9 8 1 1 0 0 1 pinlabel=CLK T 400 4700 5 8 0 1 0 2 1 pintype=clk } L 400 4700 300 4775 3 0 0 0 -1 -1 L 400 4700 300 4625 3 0 0 0 -1 -1 P 3000 700 2700 700 1 0 0 { T 2800 750 5 8 1 1 0 0 1 pinnumber=3 T 2800 650 5 8 0 1 0 2 1 pinseq=12 T 2650 700 9 8 1 1 0 6 1 pinlabel=Q8 T 2650 700 5 8 0 1 0 8 1 pintype=out } P 3000 1100 2700 1100 1 0 0 { T 2800 1150 5 8 1 1 0 0 1 pinnumber=12 T 2800 1050 5 8 0 1 0 2 1 pinseq=13 T 2650 1100 9 8 1 1 0 6 1 pinlabel=Q7 T 2650 1100 5 8 0 1 0 8 1 pintype=out } P 3000 1500 2700 1500 1 0 0 { T 2800 1550 5 8 1 1 0 0 1 pinnumber=2 T 2800 1450 5 8 0 1 0 2 1 pinseq=14 T 2650 1500 9 8 1 1 0 6 1 pinlabel=Q6 T 2650 1500 5 8 0 1 0 8 1 pintype=out } B 300 300 2400 4800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 3400 750 5 10 0 0 0 0 1 description=8-bit shift register with parallel load T 3400 1750 5 10 0 0 0 0 1 numslots=0 T 300 50 9 10 1 0 0 0 1 4021 geda-gaf-1.8.2/symbols/4000/4069-1.sym0000664000175000017500000000227612204104272013446 00000000000000v 20031231 1 L 300 800 800 500 3 0 0 0 -1 -1 T 600 900 5 10 0 0 0 0 1 device=4069 T 600 1100 5 10 0 0 0 0 1 slot=1 T 600 1300 5 10 0 0 0 0 1 numslots=6 T 600 1500 5 10 0 0 0 0 1 slotdef=1:1,2 T 600 1700 5 10 0 0 0 0 1 slotdef=2:3,4 T 600 1900 5 10 0 0 0 0 1 slotdef=3:5,6 T 600 2100 5 10 0 0 0 0 1 slotdef=4:9,8 T 600 2300 5 10 0 0 0 0 1 slotdef=5:11,10 T 600 2500 5 10 0 0 0 0 1 slotdef=6:13,12 L 800 500 300 200 3 0 0 0 -1 -1 L 300 800 300 500 3 0 0 0 -1 -1 L 300 500 300 200 3 0 0 0 -1 -1 V 850 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 300 500 0 500 1 0 1 { T 200 550 5 8 1 1 0 6 1 pinnumber=1 T 200 450 5 8 0 1 0 8 1 pinseq=1 T 350 500 9 8 0 1 0 0 1 pinlabel=A T 350 500 5 8 0 1 0 2 1 pintype=in } P 1100 500 900 500 1 0 0 { T 900 550 5 8 1 1 0 0 1 pinnumber=2 T 900 450 5 8 0 1 0 2 1 pinseq=2 T 750 500 9 8 0 1 0 6 1 pinlabel=Y T 750 500 5 8 0 1 0 8 1 pintype=out } T 300 900 8 10 1 1 0 0 1 refdes=U? T 600 2900 5 10 0 0 0 0 1 net=GND:7 T 600 2700 5 10 0 0 0 0 1 net=Vcc:14 T 600 3100 5 10 0 0 0 0 1 footprint=DIP14 T 600 3300 5 10 0 0 0 0 1 description=6 inverters T 600 3500 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4069UB_CNV_3.pdf T 300 0 9 8 1 0 0 0 1 4069 geda-gaf-1.8.2/symbols/4000/40374-1.sym0000664000175000017500000000733112204104272013522 00000000000000v 20070626 1 T 700 4000 8 10 1 1 0 6 1 refdes=U? T 2200 950 5 10 0 0 0 0 1 device=40374 T 2200 1150 5 10 0 0 0 0 1 footprint=DIP20 T 2200 1350 5 10 0 0 0 0 1 net=VSS:20 T 2200 1550 5 10 0 0 0 0 1 net=VDD:10 P 1200 0 1200 200 1 0 0 { T 1250 100 5 8 1 1 0 0 1 pinnumber=1 T 1250 100 5 8 0 1 0 2 1 pinseq=1 T 1200 350 9 8 1 1 0 3 1 pinlabel=\_OE\_ T 1200 500 5 8 0 1 0 3 1 pintype=in } V 1200 250 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 800 0 800 300 1 0 0 { T 850 100 5 8 1 1 0 0 1 pinnumber=11 T 850 100 5 8 0 1 0 2 1 pinseq=2 T 800 425 9 8 1 1 0 3 1 pinlabel=CP T 800 575 5 8 0 1 0 3 1 pintype=clk } L 800 400 875 300 3 0 0 0 -1 -1 L 800 400 725 300 3 0 0 0 -1 -1 P 200 700 500 700 1 0 0 { T 400 750 5 8 1 1 0 6 1 pinnumber=18 T 400 650 5 8 0 1 0 8 1 pinseq=3 T 550 700 9 8 1 1 0 0 1 pinlabel=D7 T 550 700 5 8 0 1 0 2 1 pintype=in } P 200 1100 500 1100 1 0 0 { T 400 1150 5 8 1 1 0 6 1 pinnumber=17 T 400 1050 5 8 0 1 0 8 1 pinseq=4 T 550 1100 9 8 1 1 0 0 1 pinlabel=D6 T 550 1100 5 8 0 1 0 2 1 pintype=in } P 200 1500 500 1500 1 0 0 { T 400 1550 5 8 1 1 0 6 1 pinnumber=14 T 400 1450 5 8 0 1 0 8 1 pinseq=5 T 550 1500 9 8 1 1 0 0 1 pinlabel=D5 T 550 1500 5 8 0 1 0 2 1 pintype=in } P 200 1900 500 1900 1 0 0 { T 400 1950 5 8 1 1 0 6 1 pinnumber=13 T 400 1850 5 8 0 1 0 8 1 pinseq=6 T 550 1900 9 8 1 1 0 0 1 pinlabel=D4 T 550 1900 5 8 0 1 0 2 1 pintype=in } P 200 2300 500 2300 1 0 0 { T 400 2350 5 8 1 1 0 6 1 pinnumber=8 T 400 2250 5 8 0 1 0 8 1 pinseq=7 T 550 2300 9 8 1 1 0 0 1 pinlabel=D3 T 550 2300 5 8 0 1 0 2 1 pintype=in } P 200 2700 500 2700 1 0 0 { T 400 2750 5 8 1 1 0 6 1 pinnumber=7 T 400 2650 5 8 0 1 0 8 1 pinseq=8 T 550 2700 9 8 1 1 0 0 1 pinlabel=D2 T 550 2700 5 8 0 1 0 2 1 pintype=in } P 200 3100 500 3100 1 0 0 { T 400 3150 5 8 1 1 0 6 1 pinnumber=4 T 400 3050 5 8 0 1 0 8 1 pinseq=9 T 550 3100 9 8 1 1 0 0 1 pinlabel=D1 T 550 3100 5 8 0 1 0 2 1 pintype=in } P 200 3500 500 3500 1 0 0 { T 400 3550 5 8 1 1 0 6 1 pinnumber=3 T 400 3450 5 8 0 1 0 8 1 pinseq=10 T 550 3500 9 8 1 1 0 0 1 pinlabel=D0 T 550 3500 5 8 0 1 0 2 1 pintype=in } P 1800 700 1500 700 1 0 0 { T 1600 750 5 8 1 1 0 0 1 pinnumber=19 T 1600 650 5 8 0 1 0 2 1 pinseq=11 T 1450 700 9 8 1 1 0 6 1 pinlabel=Q7 T 1450 700 5 8 0 1 0 8 1 pintype=tri } P 1800 1100 1500 1100 1 0 0 { T 1600 1150 5 8 1 1 0 0 1 pinnumber=16 T 1600 1050 5 8 0 1 0 2 1 pinseq=12 T 1450 1100 9 8 1 1 0 6 1 pinlabel=Q6 T 1450 1100 5 8 0 1 0 8 1 pintype=tri } P 1800 1500 1500 1500 1 0 0 { T 1600 1550 5 8 1 1 0 0 1 pinnumber=15 T 1600 1450 5 8 0 1 0 2 1 pinseq=13 T 1450 1500 9 8 1 1 0 6 1 pinlabel=Q5 T 1450 1500 5 8 0 1 0 8 1 pintype=tri } P 1800 1900 1500 1900 1 0 0 { T 1600 1950 5 8 1 1 0 0 1 pinnumber=12 T 1600 1850 5 8 0 1 0 2 1 pinseq=14 T 1450 1900 9 8 1 1 0 6 1 pinlabel=Q4 T 1450 1900 5 8 0 1 0 8 1 pintype=tri } P 1800 2300 1500 2300 1 0 0 { T 1600 2350 5 8 1 1 0 0 1 pinnumber=9 T 1600 2250 5 8 0 1 0 2 1 pinseq=15 T 1450 2300 9 8 1 1 0 6 1 pinlabel=Q3 T 1450 2300 5 8 0 1 0 8 1 pintype=tri } P 1800 2700 1500 2700 1 0 0 { T 1600 2750 5 8 1 1 0 0 1 pinnumber=6 T 1600 2650 5 8 0 1 0 2 1 pinseq=16 T 1450 2700 9 8 1 1 0 6 1 pinlabel=Q2 T 1450 2700 5 8 0 1 0 8 1 pintype=tri } P 1800 3100 1500 3100 1 0 0 { T 1600 3150 5 8 1 1 0 0 1 pinnumber=5 T 1600 3050 5 8 0 1 0 2 1 pinseq=17 T 1450 3100 9 8 1 1 0 6 1 pinlabel=Q1 T 1450 3100 5 8 0 1 0 8 1 pintype=tri } P 1800 3500 1500 3500 1 0 0 { T 1600 3550 5 8 1 1 0 0 1 pinnumber=2 T 1600 3450 5 8 0 1 0 2 1 pinseq=18 T 1450 3500 9 8 1 1 0 6 1 pinlabel=Q0 T 1450 3500 5 8 0 1 0 8 1 pintype=tri } B 500 300 1000 3600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2200 750 5 10 0 0 0 0 1 description=octal D-type flip-flops T 2200 1750 5 10 0 0 0 0 1 numslots=0 T 2200 550 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF40374B_CNV_3.pdf T 0 50 9 10 1 0 0 0 1 40374 geda-gaf-1.8.2/symbols/4000/4585-1.sym0000664000175000017500000000570212204104272013446 00000000000000v 20031231 1 T 300 2000 8 10 1 1 0 6 1 refdes=U? T 3000 1150 5 10 0 0 0 0 1 device=4585 T 3000 1350 5 10 0 0 0 0 1 footprint=DIP16 T 3000 1550 5 10 0 0 0 0 1 net=VSS:8 T 3000 1750 5 10 0 0 0 0 1 net=VDD:16 P 1900 0 1900 300 1 0 0 { T 1950 100 5 8 1 1 0 0 1 pinnumber=14 T 1950 100 5 8 0 1 0 2 1 pinseq=1 T 1900 350 9 8 1 1 0 3 1 pinlabel=B3 T 1900 500 5 8 0 1 0 3 1 pintype=in } P 1500 0 1500 300 1 0 0 { T 1550 100 5 8 1 1 0 0 1 pinnumber=1 T 1550 100 5 8 0 1 0 2 1 pinseq=2 T 1500 350 9 8 1 1 0 3 1 pinlabel=B2 T 1500 500 5 8 0 1 0 3 1 pintype=in } P 1100 0 1100 300 1 0 0 { T 1150 100 5 8 1 1 0 0 1 pinnumber=9 T 1150 100 5 8 0 1 0 2 1 pinseq=3 T 1100 350 9 8 1 1 0 3 1 pinlabel=B1 T 1100 500 5 8 0 1 0 3 1 pintype=in } P 700 0 700 300 1 0 0 { T 750 100 5 8 1 1 0 0 1 pinnumber=11 T 750 100 5 8 0 1 0 2 1 pinseq=4 T 700 350 9 8 1 1 0 3 1 pinlabel=B0 T 700 500 5 8 0 1 0 3 1 pintype=in } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=4 T 200 650 5 8 0 1 0 8 1 pinseq=5 T 350 700 9 8 1 1 0 0 1 pinlabel=(A > B) In T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=6 T 200 1050 5 8 0 1 0 8 1 pinseq=6 T 350 1100 9 8 1 1 0 0 1 pinlabel=(A = B) In T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=5 T 200 1450 5 8 0 1 0 8 1 pinseq=7 T 350 1500 9 8 1 1 0 0 1 pinlabel=(A < B) In T 350 1500 5 8 0 1 0 2 1 pintype=in } P 2600 700 2300 700 1 0 0 { T 2400 750 5 8 1 1 0 0 1 pinnumber=13 T 2400 650 5 8 0 1 0 2 1 pinseq=8 T 2250 700 9 8 1 1 0 6 1 pinlabel=(A > B) Out T 2250 700 5 8 0 1 0 8 1 pintype=out } P 2600 1100 2300 1100 1 0 0 { T 2400 1150 5 8 1 1 0 0 1 pinnumber=3 T 2400 1050 5 8 0 1 0 2 1 pinseq=9 T 2250 1100 9 8 1 1 0 6 1 pinlabel=(A = B) Out T 2250 1100 5 8 0 1 0 8 1 pintype=out } P 2600 1500 2300 1500 1 0 0 { T 2400 1550 5 8 1 1 0 0 1 pinnumber=12 T 2400 1450 5 8 0 1 0 2 1 pinseq=10 T 2250 1500 9 8 1 1 0 6 1 pinlabel=(A < B) Out T 2250 1500 5 8 0 1 0 8 1 pintype=out } P 1900 2200 1900 1900 1 0 0 { T 1950 2000 5 8 1 1 0 0 1 pinnumber=15 T 1950 2000 5 8 0 1 0 2 1 pinseq=11 T 1900 1850 9 8 1 1 0 5 1 pinlabel=A3 T 1900 1700 5 8 0 1 0 5 1 pintype=in } P 1500 2200 1500 1900 1 0 0 { T 1550 2000 5 8 1 1 0 0 1 pinnumber=2 T 1550 2000 5 8 0 1 0 2 1 pinseq=12 T 1500 1850 9 8 1 1 0 5 1 pinlabel=A2 T 1500 1700 5 8 0 1 0 5 1 pintype=in } P 1100 2200 1100 1900 1 0 0 { T 1150 2000 5 8 1 1 0 0 1 pinnumber=7 T 1150 2000 5 8 0 1 0 2 1 pinseq=13 T 1100 1850 9 8 1 1 0 5 1 pinlabel=A1 T 1100 1700 5 8 0 1 0 5 1 pintype=in } P 700 2200 700 1900 1 0 0 { T 750 2000 5 8 1 1 0 0 1 pinnumber=10 T 750 2000 5 8 0 1 0 2 1 pinseq=14 T 700 1850 9 8 1 1 0 5 1 pinlabel=A0 T 700 1700 5 8 0 1 0 5 1 pintype=in } B 300 300 2000 1600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 3000 950 5 10 0 0 0 0 1 description=4-bit magnitude comparator T 3000 1950 5 10 0 0 0 0 1 numslots=0 T 3000 750 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4585B_CNV_3.pdf T 100 50 9 10 1 0 0 0 1 4585 geda-gaf-1.8.2/symbols/4000/4060-1.sym0000664000175000017500000000603012204104272013425 00000000000000v 20070626 1 T 500 4800 8 10 1 1 0 6 1 refdes=U? T 2000 950 5 10 0 0 0 0 1 device=4060 T 2000 1150 5 10 0 0 0 0 1 footprint=DIP16 T 2000 1350 5 10 0 0 0 0 1 net=VSS:8 T 2000 1550 5 10 0 0 0 0 1 net=VDD:16 P 0 2100 300 2100 1 0 0 { T 200 2150 5 8 1 1 0 6 1 pinnumber=9 T 200 2050 5 8 0 1 0 8 1 pinseq=1 T 350 2100 9 8 1 1 0 0 1 pinlabel=C T 350 2100 5 8 0 1 0 2 1 pintype=pas } P 0 2500 300 2500 1 0 0 { T 200 2550 5 8 1 1 0 6 1 pinnumber=11 T 200 2450 5 8 0 1 0 8 1 pinseq=2 T 350 2500 9 8 1 1 0 0 1 pinlabel=RC T 350 2500 5 8 0 1 0 2 1 pintype=pas } P 0 2900 300 2900 1 0 0 { T 200 2950 5 8 1 1 0 6 1 pinnumber=10 T 200 2850 5 8 0 1 0 8 1 pinseq=3 T 350 2900 9 8 1 1 0 0 1 pinlabel=R T 350 2900 5 8 0 1 0 2 1 pintype=pas } P 0 1700 200 1700 1 0 0 { T 200 1750 5 8 1 1 0 6 1 pinnumber=12 T 200 1650 5 8 0 1 0 8 1 pinseq=4 T 350 1700 9 8 1 1 0 0 1 pinlabel=\_Reset\_ T 350 1700 5 8 0 1 0 2 1 pintype=in } P 1600 1900 1300 1900 1 0 0 { T 1400 1950 5 8 1 1 0 0 1 pinnumber=15 T 1400 1850 5 8 0 1 0 2 1 pinseq=5 T 1250 1900 9 8 1 1 0 6 1 pinlabel=Q9 T 1250 1900 5 8 0 1 0 8 1 pintype=out } P 1600 2300 1300 2300 1 0 0 { T 1400 2350 5 8 1 1 0 0 1 pinnumber=13 T 1400 2250 5 8 0 1 0 2 1 pinseq=6 T 1250 2300 9 8 1 1 0 6 1 pinlabel=Q8 T 1250 2300 5 8 0 1 0 8 1 pintype=out } P 1600 2700 1300 2700 1 0 0 { T 1400 2750 5 8 1 1 0 0 1 pinnumber=14 T 1400 2650 5 8 0 1 0 2 1 pinseq=7 T 1250 2700 9 8 1 1 0 6 1 pinlabel=Q7 T 1250 2700 5 8 0 1 0 8 1 pintype=out } P 1600 3100 1300 3100 1 0 0 { T 1400 3150 5 8 1 1 0 0 1 pinnumber=6 T 1400 3050 5 8 0 1 0 2 1 pinseq=8 T 1250 3100 9 8 1 1 0 6 1 pinlabel=Q6 T 1250 3100 5 8 0 1 0 8 1 pintype=out } P 1600 3500 1300 3500 1 0 0 { T 1400 3550 5 8 1 1 0 0 1 pinnumber=4 T 1400 3450 5 8 0 1 0 2 1 pinseq=9 T 1250 3500 9 8 1 1 0 6 1 pinlabel=Q5 T 1250 3500 5 8 0 1 0 8 1 pintype=out } P 1600 3900 1300 3900 1 0 0 { T 1400 3950 5 8 1 1 0 0 1 pinnumber=5 T 1400 3850 5 8 0 1 0 2 1 pinseq=10 T 1250 3900 9 8 1 1 0 6 1 pinlabel=Q4 T 1250 3900 5 8 0 1 0 8 1 pintype=out } P 1600 4300 1300 4300 1 0 0 { T 1400 4350 5 8 1 1 0 0 1 pinnumber=7 T 1400 4250 5 8 0 1 0 2 1 pinseq=11 T 1250 4300 9 8 1 1 0 6 1 pinlabel=Q3 T 1250 4300 5 8 0 1 0 8 1 pintype=out } P 1600 700 1300 700 1 0 0 { T 1400 750 5 8 1 1 0 0 1 pinnumber=3 T 1400 650 5 8 0 1 0 2 1 pinseq=12 T 1250 700 9 8 1 1 0 6 1 pinlabel=Q13 T 1250 700 5 8 0 1 0 8 1 pintype=out } P 1600 1100 1300 1100 1 0 0 { T 1400 1150 5 8 1 1 0 0 1 pinnumber=2 T 1400 1050 5 8 0 1 0 2 1 pinseq=13 T 1250 1100 9 8 1 1 0 6 1 pinlabel=Q12 T 1250 1100 5 8 0 1 0 8 1 pintype=out } P 1600 1500 1300 1500 1 0 0 { T 1400 1550 5 8 1 1 0 0 1 pinnumber=1 T 1400 1450 5 8 0 1 0 2 1 pinseq=14 T 1250 1500 9 8 1 1 0 6 1 pinlabel=Q11 T 1250 1500 5 8 0 1 0 8 1 pintype=out } B 300 300 1000 4400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2000 750 5 10 0 0 0 0 1 description=14-stage ripple-carry binary counter/divider and oscillator T 2000 1750 5 10 0 0 0 0 1 numslots=0 T 2000 550 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4060B_CNV_3.pdf T 300 50 9 10 1 0 0 0 1 4060 V 250 1700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/4000/4099-1.sym0000664000175000017500000000546412204104272013453 00000000000000v 20070626 1 T 500 4000 8 10 1 1 0 6 1 refdes=U? T 2000 950 5 10 0 0 0 0 1 device=4099 T 2000 1150 5 10 0 0 0 0 1 footprint=DIP16 T 2000 1350 5 10 0 0 0 0 1 net=VSS:8 T 2000 1550 5 10 0 0 0 0 1 net=VDD:16 P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=4 T 200 2650 5 8 0 1 0 8 1 pinseq=1 T 350 2700 9 8 1 1 0 0 1 pinlabel=\_E\_ T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=3 T 200 3050 5 8 0 1 0 8 1 pinseq=2 T 350 3100 9 8 1 1 0 0 1 pinlabel=D T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=2 T 200 2250 5 8 0 1 0 8 1 pinseq=3 T 350 2300 9 8 1 1 0 0 1 pinlabel=Clear T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=7 T 200 650 5 8 0 1 0 8 1 pinseq=4 T 350 700 9 8 1 1 0 0 1 pinlabel=A2 T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=6 T 200 1050 5 8 0 1 0 8 1 pinseq=5 T 350 1100 9 8 1 1 0 0 1 pinlabel=A1 T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=5 T 200 1450 5 8 0 1 0 8 1 pinseq=6 T 350 1500 9 8 1 1 0 0 1 pinlabel=A0 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 1600 700 1300 700 1 0 0 { T 1400 750 5 8 1 1 0 0 1 pinnumber=1 T 1400 650 5 8 0 1 0 2 1 pinseq=7 T 1250 700 9 8 1 1 0 6 1 pinlabel=Q7 T 1250 700 5 8 0 1 0 8 1 pintype=out } P 1600 1100 1300 1100 1 0 0 { T 1400 1150 5 8 1 1 0 0 1 pinnumber=15 T 1400 1050 5 8 0 1 0 2 1 pinseq=8 T 1250 1100 9 8 1 1 0 6 1 pinlabel=Q6 T 1250 1100 5 8 0 1 0 8 1 pintype=out } P 1600 1500 1300 1500 1 0 0 { T 1400 1550 5 8 1 1 0 0 1 pinnumber=14 T 1400 1450 5 8 0 1 0 2 1 pinseq=9 T 1250 1500 9 8 1 1 0 6 1 pinlabel=Q5 T 1250 1500 5 8 0 1 0 8 1 pintype=out } P 1600 1900 1300 1900 1 0 0 { T 1400 1950 5 8 1 1 0 0 1 pinnumber=13 T 1400 1850 5 8 0 1 0 2 1 pinseq=10 T 1250 1900 9 8 1 1 0 6 1 pinlabel=Q4 T 1250 1900 5 8 0 1 0 8 1 pintype=out } P 1600 2300 1300 2300 1 0 0 { T 1400 2350 5 8 1 1 0 0 1 pinnumber=12 T 1400 2250 5 8 0 1 0 2 1 pinseq=11 T 1250 2300 9 8 1 1 0 6 1 pinlabel=Q3 T 1250 2300 5 8 0 1 0 8 1 pintype=out } P 1600 2700 1300 2700 1 0 0 { T 1400 2750 5 8 1 1 0 0 1 pinnumber=11 T 1400 2650 5 8 0 1 0 2 1 pinseq=12 T 1250 2700 9 8 1 1 0 6 1 pinlabel=Q2 T 1250 2700 5 8 0 1 0 8 1 pintype=out } P 1600 3100 1300 3100 1 0 0 { T 1400 3150 5 8 1 1 0 0 1 pinnumber=10 T 1400 3050 5 8 0 1 0 2 1 pinseq=13 T 1250 3100 9 8 1 1 0 6 1 pinlabel=Q1 T 1250 3100 5 8 0 1 0 8 1 pintype=out } P 1600 3500 1300 3500 1 0 0 { T 1400 3550 5 8 1 1 0 0 1 pinnumber=9 T 1400 3450 5 8 0 1 0 2 1 pinseq=14 T 1250 3500 9 8 1 1 0 6 1 pinlabel=Q0 T 1250 3500 5 8 0 1 0 8 1 pintype=out } B 300 300 1000 3600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2000 750 5 10 0 0 0 0 1 description=8-bit adressable latch T 2000 1750 5 10 0 0 0 0 1 numslots=0 T 300 50 9 10 1 0 0 0 1 4099 geda-gaf-1.8.2/symbols/4000/4011-2.sym0000664000175000017500000000234012204104272013422 00000000000000v 20031231 1 L 300 200 300 800 3 0 0 0 -1 -1 L 300 800 700 800 3 0 0 0 -1 -1 T 700 900 5 10 0 0 0 0 1 device=4011 T 700 2700 5 10 0 0 0 0 1 footprint=DIP14 T 700 2925 5 10 0 0 0 0 1 class=IC T 700 1100 5 10 0 0 0 0 1 slot=1 T 700 1300 5 10 0 0 0 0 1 numslots=4 T 700 1500 5 10 0 0 0 0 1 slotdef=1:1,2,3 T 700 1700 5 10 0 0 0 0 1 slotdef=2:5,6,4 T 700 1900 5 10 0 0 0 0 1 slotdef=3:9,8,10 T 700 2100 5 10 0 0 0 0 1 slotdef=4:13,12,11 T 700 2300 5 10 0 0 0 0 1 net=GND:7 T 700 2500 5 10 0 0 0 0 1 net=VDD:14 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 0 1 { T 1100 550 5 8 1 1 0 0 1 pinnumber=3 T 1100 450 5 8 0 1 0 2 1 pinseq=3 T 950 500 9 8 0 1 0 6 1 pinlabel=Y T 950 500 5 8 0 1 0 8 1 pintype=out } P 300 300 0 300 1 0 1 { T 200 350 5 8 1 1 0 6 1 pinnumber=2 T 200 250 5 8 0 1 0 8 1 pinseq=2 T 350 300 9 8 0 1 0 0 1 pinlabel=B T 350 300 5 8 0 1 0 2 1 pintype=in } P 300 700 0 700 1 0 1 { T 200 750 5 8 1 1 0 6 1 pinnumber=1 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 0 1 0 0 1 pinlabel=A T 350 700 5 8 0 1 0 2 1 pintype=in } T 300 900 8 10 1 1 0 0 1 refdes=U? T 700 3100 5 10 0 0 0 0 1 description=4 NAND-gates with 2 inputs T 300 0 9 8 1 0 0 0 1 4011 geda-gaf-1.8.2/symbols/4000/40161-1.sym0000664000175000017500000000612612204104272013515 00000000000000v 20070626 1 T 500 4400 8 10 1 1 0 6 1 refdes=U? T 2000 950 5 10 0 0 0 0 1 device=40161 T 2000 1150 5 10 0 0 0 0 1 footprint=DIP16 T 2000 1350 5 10 0 0 0 0 1 net=VSS:8 T 2000 1550 5 10 0 0 0 0 1 net=VDD:16 P 0 3100 200 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=9 T 200 3050 5 8 0 1 0 8 1 pinseq=1 T 350 3100 9 8 1 1 0 0 1 pinlabel=\_LOAD\_ T 350 3100 5 8 0 1 0 2 1 pintype=in } V 250 3100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3500 200 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=1 T 200 3450 5 8 0 1 0 8 1 pinseq=2 T 350 3500 9 8 1 1 0 0 1 pinlabel=\_CLR\_ T 350 3500 5 8 0 1 0 2 1 pintype=in } V 250 3500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=6 T 200 1450 5 8 0 1 0 8 1 pinseq=3 T 350 1500 9 8 1 1 0 0 1 pinlabel=I3 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=5 T 200 1850 5 8 0 1 0 8 1 pinseq=4 T 350 1900 9 8 1 1 0 0 1 pinlabel=I2 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=4 T 200 2250 5 8 0 1 0 8 1 pinseq=5 T 350 2300 9 8 1 1 0 0 1 pinlabel=I1 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=3 T 200 2650 5 8 0 1 0 8 1 pinseq=6 T 350 2700 9 8 1 1 0 0 1 pinlabel=I0 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=10 T 200 650 5 8 0 1 0 8 1 pinseq=7 T 350 700 9 8 1 1 0 0 1 pinlabel=ENT T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=7 T 200 1050 5 8 0 1 0 8 1 pinseq=8 T 350 1100 9 8 1 1 0 0 1 pinlabel=ENP T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 3900 300 3900 1 0 0 { T 200 3950 5 8 1 1 0 6 1 pinnumber=2 T 200 3850 5 8 0 1 0 8 1 pinseq=9 T 400 3900 9 8 1 1 0 0 1 pinlabel=CLK T 400 3900 5 8 0 1 0 2 1 pintype=clk } L 400 3900 300 3975 3 0 0 0 -1 -1 L 400 3900 300 3825 3 0 0 0 -1 -1 P 1600 3900 1300 3900 1 0 0 { T 1400 3950 5 8 1 1 0 0 1 pinnumber=15 T 1400 3850 5 8 0 1 0 2 1 pinseq=10 T 1250 3900 9 8 1 1 0 6 1 pinlabel=RCO T 1250 3900 5 8 0 1 0 8 1 pintype=out } P 1600 1500 1300 1500 1 0 0 { T 1400 1550 5 8 1 1 0 0 1 pinnumber=11 T 1400 1450 5 8 0 1 0 2 1 pinseq=11 T 1250 1500 9 8 1 1 0 6 1 pinlabel=Q3 T 1250 1500 5 8 0 1 0 8 1 pintype=out } P 1600 1900 1300 1900 1 0 0 { T 1400 1950 5 8 1 1 0 0 1 pinnumber=12 T 1400 1850 5 8 0 1 0 2 1 pinseq=12 T 1250 1900 9 8 1 1 0 6 1 pinlabel=Q2 T 1250 1900 5 8 0 1 0 8 1 pintype=out } P 1600 2300 1300 2300 1 0 0 { T 1400 2350 5 8 1 1 0 0 1 pinnumber=13 T 1400 2250 5 8 0 1 0 2 1 pinseq=13 T 1250 2300 9 8 1 1 0 6 1 pinlabel=Q1 T 1250 2300 5 8 0 1 0 8 1 pintype=out } P 1600 2700 1300 2700 1 0 0 { T 1400 2750 5 8 1 1 0 0 1 pinnumber=14 T 1400 2650 5 8 0 1 0 2 1 pinseq=14 T 1250 2700 9 8 1 1 0 6 1 pinlabel=Q0 T 1250 2700 5 8 0 1 0 8 1 pintype=out } B 300 300 1000 4000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2000 750 5 10 0 0 0 0 1 description=4-bit synchronous programmable binary counter T 2000 1750 5 10 0 0 0 0 1 numslots=0 T 2000 550 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF40161B_CNV_3.pdf T 300 50 9 10 1 0 0 0 1 40161 geda-gaf-1.8.2/symbols/4000/4068-2.sym0000664000175000017500000000445012204104272013442 00000000000000v 20031231 1 P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=2 T 200 2950 5 8 0 1 0 8 1 pinseq=1 T 350 3000 5 8 0 1 0 2 1 pintype=in T 350 3000 9 8 0 1 0 0 1 pinlabel=A } P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=3 T 200 2550 5 8 0 1 0 8 1 pinseq=2 T 350 2600 5 8 0 1 0 2 1 pintype=in T 350 2600 9 8 0 1 0 0 1 pinlabel=B } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=4 T 200 2150 5 8 0 1 0 8 1 pinseq=3 T 350 2200 5 8 0 1 0 2 1 pintype=in T 350 2200 9 8 0 1 0 0 1 pinlabel=C } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=5 T 200 1750 5 8 0 1 0 8 1 pinseq=4 T 350 1800 5 8 0 1 0 2 1 pintype=in T 350 1800 9 8 0 1 0 0 1 pinlabel=D } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=9 T 200 1350 5 8 0 1 0 8 1 pinseq=5 T 350 1400 5 8 0 1 0 2 1 pintype=in T 350 1400 9 8 0 1 0 0 1 pinlabel=E } P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=10 T 200 950 5 8 0 1 0 8 1 pinseq=6 T 350 1000 5 8 0 1 0 2 1 pintype=in T 350 1000 9 8 0 1 0 0 1 pinlabel=F } P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=11 T 200 550 5 8 0 1 0 8 1 pinseq=7 T 350 600 5 8 0 1 0 2 1 pintype=in T 350 600 9 8 0 1 0 0 1 pinlabel=G } P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=12 T 200 150 5 8 0 1 0 8 1 pinseq=8 T 350 200 5 8 0 1 0 2 1 pintype=in T 350 200 9 8 0 1 0 0 1 pinlabel=H } L 300 3200 300 0 3 0 0 0 -1 -1 V 1000 1400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1050 1400 1300 1400 1 0 1 { T 1100 1450 5 8 1 1 0 0 1 pinnumber=13 T 1100 1350 5 8 0 1 0 2 1 pinseq=9 T 950 1400 5 8 0 1 0 8 1 pintype=out T 950 1400 9 8 0 1 0 6 1 pinlabel=/Q } P 950 1800 1300 1800 1 0 1 { T 1100 1850 5 8 1 1 0 0 1 pinnumber=1 T 1100 1750 5 8 0 1 0 2 1 pinseq=10 T 950 1800 5 8 0 1 0 8 1 pintype=out T 950 1800 9 8 0 1 0 6 1 pinlabel=Q } T 600 2000 8 10 1 1 0 0 1 refdes=U? T 600 2200 5 10 0 0 0 0 1 net=VDD:14 T 600 2400 5 10 0 0 0 0 1 net=VSS:7 T 600 2600 5 10 0 0 0 0 1 device=4068 T 600 3000 5 10 0 0 0 0 1 footprint=DIP14 T 600 3200 5 10 0 0 0 0 1 description=8-input NAND/AND gate T 600 2800 5 10 0 0 0 0 1 numslots=0 T 600 3400 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4068B_CNV_3.pdf T 400 1100 9 10 1 0 0 0 1 4068 L 300 1900 700 1900 3 0 0 0 -1 -1 L 300 1300 700 1300 3 0 0 0 -1 -1 A 700 1600 300 270 180 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/4000/40108-1.sym0000664000175000017500000001041012204104272013505 00000000000000v 20031231 1 T 500 5900 8 10 1 1 0 6 1 refdes=U? T 2900 2050 5 10 0 0 0 0 1 device=40108 T 2900 2250 5 10 0 0 0 0 1 footprint=DIP24 T 2900 2450 5 10 0 0 0 0 1 net=VSS:12 T 2900 2650 5 10 0 0 0 0 1 net=VDD:24 P 900 0 900 300 1 0 0 { T 950 100 5 8 1 1 0 0 1 pinnumber=16 T 950 100 5 8 0 1 0 2 1 pinseq=1 T 900 425 9 8 1 1 0 3 1 pinlabel=CLK T 900 575 5 8 0 1 0 3 1 pintype=in } L 900 400 975 300 3 0 0 0 -1 -1 L 900 400 825 300 3 0 0 0 -1 -1 P 1600 0 1600 300 1 0 0 { T 1650 100 5 8 1 1 0 0 1 pinnumber=21 T 1650 100 5 8 0 1 0 2 1 pinseq=2 T 1600 350 9 8 1 1 0 3 1 pinlabel=3-State B T 1600 500 5 8 0 1 0 3 1 pintype=in } P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=9 T 200 2950 5 8 0 1 0 8 1 pinseq=3 T 350 3000 9 8 1 1 0 0 1 pinlabel=W1 T 350 3000 5 8 0 1 0 2 1 pintype=in } P 0 3400 300 3400 1 0 0 { T 200 3450 5 8 1 1 0 6 1 pinnumber=8 T 200 3350 5 8 0 1 0 8 1 pinseq=4 T 350 3400 9 8 1 1 0 0 1 pinlabel=W0 T 350 3400 5 8 0 1 0 2 1 pintype=in } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=10 T 200 650 5 8 0 1 0 8 1 pinseq=5 T 350 700 9 8 1 1 0 0 1 pinlabel=R1B T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=14 T 200 1750 5 8 0 1 0 8 1 pinseq=6 T 350 1800 9 8 1 1 0 0 1 pinlabel=R1A T 350 1800 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=11 T 200 1050 5 8 0 1 0 8 1 pinseq=7 T 350 1100 9 8 1 1 0 0 1 pinlabel=R0B T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=13 T 200 2150 5 8 0 1 0 8 1 pinseq=8 T 350 2200 9 8 1 1 0 0 1 pinlabel=R0A T 350 2200 5 8 0 1 0 2 1 pintype=in } P 0 4200 300 4200 1 0 0 { T 200 4250 5 8 1 1 0 6 1 pinnumber=17 T 200 4150 5 8 0 1 0 8 1 pinseq=9 T 350 4200 9 8 1 1 0 0 1 pinlabel=D3 T 350 4200 5 8 0 1 0 2 1 pintype=in } P 0 4600 300 4600 1 0 0 { T 200 4650 5 8 1 1 0 6 1 pinnumber=18 T 200 4550 5 8 0 1 0 8 1 pinseq=10 T 350 4600 9 8 1 1 0 0 1 pinlabel=D2 T 350 4600 5 8 0 1 0 2 1 pintype=in } P 0 5000 300 5000 1 0 0 { T 200 5050 5 8 1 1 0 6 1 pinnumber=19 T 200 4950 5 8 0 1 0 8 1 pinseq=11 T 350 5000 9 8 1 1 0 0 1 pinlabel=D1 T 350 5000 5 8 0 1 0 2 1 pintype=in } P 0 5400 300 5400 1 0 0 { T 200 5450 5 8 1 1 0 6 1 pinnumber=20 T 200 5350 5 8 0 1 0 8 1 pinseq=12 T 350 5400 9 8 1 1 0 0 1 pinlabel=D0 T 350 5400 5 8 0 1 0 2 1 pintype=in } P 2500 2200 2200 2200 1 0 0 { T 2300 2250 5 8 1 1 0 0 1 pinnumber=1 T 2300 2150 5 8 0 1 0 2 1 pinseq=13 T 2150 2200 9 8 1 1 0 6 1 pinlabel=Q3B T 2150 2200 5 8 0 1 0 8 1 pintype=tri } P 2500 4200 2200 4200 1 0 0 { T 2300 4250 5 8 1 1 0 0 1 pinnumber=7 T 2300 4150 5 8 0 1 0 2 1 pinseq=14 T 2150 4200 9 8 1 1 0 6 1 pinlabel=Q3A T 2150 4200 5 8 0 1 0 8 1 pintype=tri } P 2500 2600 2200 2600 1 0 0 { T 2300 2650 5 8 1 1 0 0 1 pinnumber=2 T 2300 2550 5 8 0 1 0 2 1 pinseq=15 T 2150 2600 9 8 1 1 0 6 1 pinlabel=Q2B T 2150 2600 5 8 0 1 0 8 1 pintype=tri } P 2500 4600 2200 4600 1 0 0 { T 2300 4650 5 8 1 1 0 0 1 pinnumber=6 T 2300 4550 5 8 0 1 0 2 1 pinseq=16 T 2150 4600 9 8 1 1 0 6 1 pinlabel=Q2A T 2150 4600 5 8 0 1 0 8 1 pintype=tri } P 2500 3000 2200 3000 1 0 0 { T 2300 3050 5 8 1 1 0 0 1 pinnumber=23 T 2300 2950 5 8 0 1 0 2 1 pinseq=17 T 2150 3000 9 8 1 1 0 6 1 pinlabel=Q1B T 2150 3000 5 8 0 1 0 8 1 pintype=tri } P 2500 5000 2200 5000 1 0 0 { T 2300 5050 5 8 1 1 0 0 1 pinnumber=5 T 2300 4950 5 8 0 1 0 2 1 pinseq=18 T 2150 5000 9 8 1 1 0 6 1 pinlabel=Q1A T 2150 5000 5 8 0 1 0 8 1 pintype=tri } P 2500 3400 2200 3400 1 0 0 { T 2300 3450 5 8 1 1 0 0 1 pinnumber=22 T 2300 3350 5 8 0 1 0 2 1 pinseq=19 T 2150 3400 9 8 1 1 0 6 1 pinlabel=Q0B T 2150 3400 5 8 0 1 0 8 1 pintype=tri } P 2500 5400 2200 5400 1 0 0 { T 2300 5450 5 8 1 1 0 0 1 pinnumber=4 T 2300 5350 5 8 0 1 0 2 1 pinseq=20 T 2150 5400 9 8 1 1 0 6 1 pinlabel=Q0A T 2150 5400 5 8 0 1 0 8 1 pintype=tri } P 900 6100 900 5800 1 0 0 { T 950 5900 5 8 1 1 0 0 1 pinnumber=15 T 950 5900 5 8 0 1 0 2 1 pinseq=21 T 900 5750 9 8 1 1 0 5 1 pinlabel=WE T 900 5600 5 8 0 1 0 5 1 pintype=in } P 1600 6100 1600 5800 1 0 0 { T 1650 5900 5 8 1 1 0 0 1 pinnumber=3 T 1650 5900 5 8 0 1 0 2 1 pinseq=22 T 1600 5750 9 8 1 1 0 5 1 pinlabel=3-State A T 1600 5600 5 8 0 1 0 5 1 pintype=in } B 300 300 1900 5500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2900 1850 5 10 0 0 0 0 1 description=4x4 multiport register T 2900 2850 5 10 0 0 0 0 1 numslots=0 T 100 50 9 10 1 0 0 0 1 40108 geda-gaf-1.8.2/symbols/4000/4521-1.sym0000664000175000017500000000571212204104272013435 00000000000000v 20031231 1 T 1700 3900 8 10 1 1 0 6 1 refdes=U? T 300 4050 5 10 0 0 0 0 1 device=4521 T 300 4250 5 10 0 0 0 0 1 footprint=DIP16 T 300 4450 5 10 0 0 0 0 1 net=VSS:8 T 300 4650 5 10 0 0 0 0 1 net=VDD:16 P 0 300 300 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=2 T 200 250 5 8 0 1 0 8 1 pinseq=2 T 350 300 9 8 1 1 0 0 1 pinlabel=RST T 350 300 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=6 T 200 3050 5 8 0 1 0 8 1 pinseq=3 T 350 3100 9 8 1 1 0 0 1 pinlabel=IN2 T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=9 T 200 3450 5 8 0 1 0 8 1 pinseq=4 T 350 3500 9 8 1 1 0 0 1 pinlabel=IN1 T 350 3500 5 8 0 1 0 2 1 pintype=in } P 2000 300 1700 300 1 0 0 { T 1800 350 5 8 1 1 0 0 1 pinnumber=1 T 1800 250 5 8 0 1 0 2 1 pinseq=5 T 1650 300 9 8 1 1 0 6 1 pinlabel=Q24 T 1650 300 5 8 0 1 0 8 1 pintype=out } P 2000 700 1700 700 1 0 0 { T 1800 750 5 8 1 1 0 0 1 pinnumber=15 T 1800 650 5 8 0 1 0 2 1 pinseq=6 T 1650 700 9 8 1 1 0 6 1 pinlabel=Q23 T 1650 700 5 8 0 1 0 8 1 pintype=out } P 2000 1100 1700 1100 1 0 0 { T 1800 1150 5 8 1 1 0 0 1 pinnumber=14 T 1800 1050 5 8 0 1 0 2 1 pinseq=7 T 1650 1100 9 8 1 1 0 6 1 pinlabel=Q22 T 1650 1100 5 8 0 1 0 8 1 pintype=out } P 2000 1500 1700 1500 1 0 0 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=13 T 1800 1450 5 8 0 1 0 2 1 pinseq=8 T 1650 1500 9 8 1 1 0 6 1 pinlabel=Q21 T 1650 1500 5 8 0 1 0 8 1 pintype=out } P 2000 1900 1700 1900 1 0 0 { T 1800 1950 5 8 1 1 0 0 1 pinnumber=12 T 1800 1850 5 8 0 1 0 2 1 pinseq=9 T 1650 1900 9 8 1 1 0 6 1 pinlabel=Q20 T 1650 1900 5 8 0 1 0 8 1 pintype=out } P 2000 2300 1700 2300 1 0 0 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=11 T 1800 2250 5 8 0 1 0 2 1 pinseq=10 T 1650 2300 9 8 1 1 0 6 1 pinlabel=Q19 T 1650 2300 5 8 0 1 0 8 1 pintype=out } P 2000 2700 1700 2700 1 0 0 { T 1800 2750 5 8 1 1 0 0 1 pinnumber=10 T 1800 2650 5 8 0 1 0 2 1 pinseq=11 T 1650 2700 9 8 1 1 0 6 1 pinlabel=Q18 T 1650 2700 5 8 0 1 0 8 1 pintype=out } P 2000 3100 1700 3100 1 0 0 { T 1800 3150 5 8 1 1 0 0 1 pinnumber=4 T 1800 3050 5 8 0 1 0 2 1 pinseq=12 T 1650 3100 9 8 1 1 0 6 1 pinlabel=OUT2 T 1650 3100 5 8 0 1 0 8 1 pintype=out } P 2000 3500 1700 3500 1 0 0 { T 1800 3550 5 8 1 1 0 0 1 pinnumber=7 T 1800 3450 5 8 0 1 0 2 1 pinseq=13 T 1650 3500 9 8 1 1 0 6 1 pinlabel=OUT1 T 1650 3500 5 8 0 1 0 8 1 pintype=out } B 300 0 1400 3800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 5050 5 10 0 0 0 0 1 description=24-stage frequency divider and oscillator T 300 4850 5 10 0 0 0 0 1 numslots=0 T 300 5250 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4521B_CNV_3.pdf T 300 3850 9 10 1 0 0 0 1 4521 P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=5 T 200 2650 5 8 0 1 0 8 1 pinseq=14 T 350 2700 9 8 1 1 0 0 1 pinlabel=VDD' T 350 2700 5 8 0 1 0 2 1 pintype=pwr } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=3 T 200 2250 5 8 0 1 0 8 1 pinseq=1 T 350 2300 9 8 1 1 0 0 1 pinlabel=VSS' T 350 2300 5 8 0 1 0 2 1 pintype=pwr } geda-gaf-1.8.2/symbols/4000/4094-1.sym0000664000175000017500000000602612204104272013441 00000000000000v 20031231 1 T 500 4800 8 10 1 1 0 6 1 refdes=U? T 2000 950 5 10 0 0 0 0 1 device=4094 T 2000 1150 5 10 0 0 0 0 1 footprint=DIP16 T 2000 1350 5 10 0 0 0 0 1 net=VSS:8 T 2000 1550 5 10 0 0 0 0 1 net=VDD:16 P 0 2100 300 2100 1 0 0 { T 200 2150 5 8 1 1 0 6 1 pinnumber=1 T 200 2050 5 8 0 1 0 8 1 pinseq=1 T 350 2100 9 8 1 1 0 0 1 pinlabel=Strobe T 350 2100 5 8 0 1 0 2 1 pintype=in } P 0 2500 300 2500 1 0 0 { T 200 2550 5 8 1 1 0 6 1 pinnumber=15 T 200 2450 5 8 0 1 0 8 1 pinseq=2 T 350 2500 9 8 1 1 0 0 1 pinlabel=OE T 350 2500 5 8 0 1 0 2 1 pintype=in } P 0 2900 300 2900 1 0 0 { T 200 2950 5 8 1 1 0 6 1 pinnumber=2 T 200 2850 5 8 0 1 0 8 1 pinseq=3 T 350 2900 9 8 1 1 0 0 1 pinlabel=Data T 350 2900 5 8 0 1 0 2 1 pintype=in } P 0 3300 300 3300 1 0 0 { T 200 3350 5 8 1 1 0 6 1 pinnumber=3 T 200 3250 5 8 0 1 0 8 1 pinseq=4 T 400 3300 9 8 1 1 0 0 1 pinlabel=CLK T 400 3300 5 8 0 1 0 2 1 pintype=clk } L 400 3300 300 3375 3 0 0 0 -1 -1 L 400 3300 300 3225 3 0 0 0 -1 -1 P 1600 3900 1300 3900 1 0 0 { T 1400 3950 5 8 1 1 0 0 1 pinnumber=9 T 1400 3850 5 8 0 1 0 2 1 pinseq=5 T 1250 3900 9 8 1 1 0 6 1 pinlabel=QS T 1250 3900 5 8 0 1 0 8 1 pintype=out } P 1600 700 1300 700 1 0 0 { T 1400 750 5 8 1 1 0 0 1 pinnumber=11 T 1400 650 5 8 0 1 0 2 1 pinseq=6 T 1250 700 9 8 1 1 0 6 1 pinlabel=Q8 T 1250 700 5 8 0 1 0 8 1 pintype=tri } P 1600 1100 1300 1100 1 0 0 { T 1400 1150 5 8 1 1 0 0 1 pinnumber=12 T 1400 1050 5 8 0 1 0 2 1 pinseq=7 T 1250 1100 9 8 1 1 0 6 1 pinlabel=Q7 T 1250 1100 5 8 0 1 0 8 1 pintype=tri } P 1600 1500 1300 1500 1 0 0 { T 1400 1550 5 8 1 1 0 0 1 pinnumber=13 T 1400 1450 5 8 0 1 0 2 1 pinseq=8 T 1250 1500 9 8 1 1 0 6 1 pinlabel=Q6 T 1250 1500 5 8 0 1 0 8 1 pintype=tri } P 1600 1900 1300 1900 1 0 0 { T 1400 1950 5 8 1 1 0 0 1 pinnumber=14 T 1400 1850 5 8 0 1 0 2 1 pinseq=9 T 1250 1900 9 8 1 1 0 6 1 pinlabel=Q5 T 1250 1900 5 8 0 1 0 8 1 pintype=tri } P 1600 2300 1300 2300 1 0 0 { T 1400 2350 5 8 1 1 0 0 1 pinnumber=7 T 1400 2250 5 8 0 1 0 2 1 pinseq=10 T 1250 2300 9 8 1 1 0 6 1 pinlabel=Q4 T 1250 2300 5 8 0 1 0 8 1 pintype=tri } P 1600 2700 1300 2700 1 0 0 { T 1400 2750 5 8 1 1 0 0 1 pinnumber=6 T 1400 2650 5 8 0 1 0 2 1 pinseq=11 T 1250 2700 9 8 1 1 0 6 1 pinlabel=Q3 T 1250 2700 5 8 0 1 0 8 1 pintype=tri } P 1600 3100 1300 3100 1 0 0 { T 1400 3150 5 8 1 1 0 0 1 pinnumber=5 T 1400 3050 5 8 0 1 0 2 1 pinseq=12 T 1250 3100 9 8 1 1 0 6 1 pinlabel=Q2 T 1250 3100 5 8 0 1 0 8 1 pintype=tri } P 1600 3500 1300 3500 1 0 0 { T 1400 3550 5 8 1 1 0 0 1 pinnumber=4 T 1400 3450 5 8 0 1 0 2 1 pinseq=13 T 1250 3500 9 8 1 1 0 6 1 pinlabel=Q1 T 1250 3500 5 8 0 1 0 8 1 pintype=tri } P 1600 4300 1300 4300 1 0 0 { T 1400 4350 5 8 1 1 0 0 1 pinnumber=10 T 1400 4250 5 8 0 1 0 2 1 pinseq=14 T 1250 4300 9 8 1 1 0 6 1 pinlabel=Q'S T 1250 4300 5 8 0 1 0 8 1 pintype=out } B 300 300 1000 4400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2000 750 5 10 0 0 0 0 1 description=8-stage shift-and-store bus register T 2000 1750 5 10 0 0 0 0 1 numslots=0 T 2000 550 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/HEF4094B_CNV_3.pdf T 300 50 9 10 1 0 0 0 1 4094 geda-gaf-1.8.2/symbols/4000/40107-1.sym0000664000175000017500000000227012204104272013511 00000000000000v 20040710 1 T 2100 600 5 10 0 0 0 0 1 net=VDD:8 T 2100 800 5 10 0 0 0 0 1 net=VSS:4 T 2100 1000 5 10 0 0 0 0 1 device=40107 T 2100 1400 5 10 0 0 0 0 1 numslots=2 T 2100 1600 5 10 0 0 0 0 1 slotdef=1:1,2,3 T 2100 1800 5 10 0 0 0 0 1 slotdef=2:7,6,5 T 2100 1200 5 10 0 0 0 0 1 slot=1 T 2100 2000 5 10 0 0 0 0 1 footprint=DIP8 T 2100 2200 5 10 0 0 0 0 1 description=Dual 2-input open-collector NAND gates with buffered output T 300 0 9 8 1 0 0 0 1 40107 P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=1 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 5 8 0 1 0 2 1 pintype=in T 350 700 9 8 0 1 0 0 1 pinlabel=A } P 0 300 300 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=2 T 200 250 5 8 0 1 0 8 1 pinseq=2 T 350 300 5 8 0 1 0 2 1 pintype=in T 350 300 9 8 0 1 0 0 1 pinlabel=B } P 1100 500 1300 500 1 0 1 { T 1100 550 5 8 1 1 0 0 1 pinnumber=3 T 1100 450 5 8 0 1 0 2 1 pinseq=3 T 950 500 5 8 0 1 0 8 1 pintype=out T 950 500 9 8 0 1 0 6 1 pinlabel=Y } L 300 200 300 800 3 0 0 0 -1 -1 L 300 800 700 800 3 0 0 0 -1 -1 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 T 300 900 8 10 1 1 0 0 1 refdes=U? T 2100 2400 5 10 0 0 0 0 1 symversion=1.0 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/titleblock/0000775000175000017500000000000012220655765014016 500000000000000geda-gaf-1.8.2/symbols/titleblock/title-A.sym0000664000175000017500000000064312204104272015752 00000000000000v 20031231 1 B 0 0 11000 8500 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 14400 1500 5 10 0 0 0 0 1 graphical=1 L 6900 600 6900 0 15 0 0 0 -1 -1 T 3500 400 15 8 1 0 0 0 1 FILE: T 7000 400 15 8 1 0 0 0 1 REVISION: T 7000 100 15 8 1 0 0 0 1 DRAWN BY: T 3500 100 15 8 1 0 0 0 1 PAGE T 5200 100 15 8 1 0 0 0 1 OF T 3500 700 15 8 1 0 0 0 1 TITLE B 3400 0 7600 1400 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 3400 600 11000 600 15 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/titleblock/cvstitleblock-1.sym0000664000175000017500000000111212204104272017451 00000000000000v 20031231 1 L 3500 600 3500 0 15 0 0 0 -1 -1 B 0 0 7600 1400 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 0 600 7600 600 15 0 0 0 -1 -1 T 600 400 9 10 1 1 0 0 1 date=$Date$ T 4500 400 9 10 1 1 0 0 1 rev=$Revision$ T 6000 100 9 10 1 1 0 0 1 auth=$Author$ T 800 700 9 10 1 1 0 0 1 fname=$Source$ T 3800 1100 9 14 1 1 0 4 1 title=TITLE T 100 700 15 8 1 0 0 0 1 FILE: T 3600 400 15 8 1 0 0 0 1 REVISION: T 3600 100 15 8 1 0 0 0 1 DRAWN BY: T 100 100 15 8 1 0 0 0 1 PAGE T 1800 100 15 8 1 0 0 0 1 OF T 100 1100 15 8 1 0 0 0 1 TITLE T 100 400 15 8 1 0 0 0 1 DATE T 900 1900 8 10 0 0 0 0 1 graphical=1 geda-gaf-1.8.2/symbols/titleblock/title-C.sym0000664000175000017500000000065612204104272015760 00000000000000v 20031231 1 B 0 0 22000 17000 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 14400 1500 5 10 0 0 0 0 1 graphical=1 L 17900 600 17900 0 15 0 0 0 -1 -1 T 14500 400 15 8 1 0 0 0 1 FILE: T 18000 400 15 8 1 0 0 0 1 REVISION: T 18000 100 15 8 1 0 0 0 1 DRAWN BY: T 14500 100 15 8 1 0 0 0 1 PAGE T 16200 100 15 8 1 0 0 0 1 OF T 14500 700 15 8 1 0 0 0 1 TITLE B 14400 0 7600 1400 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 14400 600 22000 600 15 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/titleblock/title-bordered-C.sym0000664000175000017500000000570012204104272017537 00000000000000v 20031231 1 B 0 0 22000 17000 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 14400 1500 5 10 0 0 0 0 1 graphical=1 L 17700 800 17700 200 15 0 0 0 -1 -1 T 14300 600 15 8 1 0 0 0 1 FILE: T 17800 600 15 8 1 0 0 0 1 REVISION: T 17800 300 15 8 1 0 0 0 1 DRAWN BY: T 14300 300 15 8 1 0 0 0 1 PAGE T 16000 300 15 8 1 0 0 0 1 OF T 14300 900 15 8 1 0 0 0 1 TITLE B 14200 200 7600 1400 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 14200 800 21800 800 15 0 0 0 -1 -1 L 200 10000 0 10000 15 0 0 0 -1 -1 L 200 8000 0 8000 15 0 0 0 -1 -1 L 200 6000 0 6000 15 0 0 0 -1 -1 L 200 4000 0 4000 15 0 0 0 -1 -1 L 200 2000 0 2000 15 0 0 0 -1 -1 L 2000 200 2000 0 15 0 0 0 -1 -1 L 4000 200 4000 0 15 0 0 0 -1 -1 L 6000 200 6000 0 15 0 0 0 -1 -1 L 8000 200 8000 0 15 0 0 0 -1 -1 L 10000 200 10000 0 15 0 0 0 -1 -1 L 12000 200 12000 0 15 0 0 0 -1 -1 L 14000 200 14000 0 15 0 0 0 -1 -1 L 16000 200 16000 0 15 0 0 0 -1 -1 B 200 200 21600 16600 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 100 9000 15 8 1 0 0 4 1 E T 100 7000 15 8 1 0 0 4 1 D T 100 5000 15 8 1 0 0 4 1 C T 100 3000 15 8 1 0 0 4 1 B T 100 1000 15 8 1 0 0 4 1 A T 1000 100 15 8 1 0 0 4 1 1 T 3000 100 15 8 1 0 0 4 1 2 T 5000 100 15 8 1 0 0 4 1 3 T 7000 100 15 8 1 0 0 4 1 4 T 9000 100 15 8 1 0 0 4 1 5 T 11000 100 15 8 1 0 0 4 1 6 T 13000 100 15 8 1 0 0 4 1 7 T 15000 100 15 8 1 0 0 4 1 8 L 200 12000 0 12000 15 0 0 0 -1 -1 L 200 14000 0 14000 15 0 0 0 -1 -1 L 200 16000 0 16000 15 0 0 0 -1 -1 T 100 11000 15 8 1 0 0 4 1 F T 100 13000 15 8 1 0 0 4 1 G T 100 15000 15 8 1 0 0 4 1 H T 100 16500 15 8 1 0 0 4 1 I L 22000 16000 21800 16000 15 0 0 0 -1 -1 L 22000 14000 21800 14000 15 0 0 0 -1 -1 L 22000 12000 21800 12000 15 0 0 0 -1 -1 L 22000 10000 21800 10000 15 0 0 0 -1 -1 L 22000 8000 21800 8000 15 0 0 0 -1 -1 L 22000 6000 21800 6000 15 0 0 0 -1 -1 L 22000 4000 21800 4000 15 0 0 0 -1 -1 L 22000 2000 21800 2000 15 0 0 0 -1 -1 T 21900 16500 15 8 1 0 0 4 1 I T 21900 15000 15 8 1 0 0 4 1 H T 21900 13000 15 8 1 0 0 4 1 G T 21900 11000 15 8 1 0 0 4 1 F T 21900 9000 15 8 1 0 0 4 1 E T 21900 7000 15 8 1 0 0 4 1 D T 21900 5000 15 8 1 0 0 4 1 C T 21900 3000 15 8 1 0 0 4 1 B T 21900 1000 15 8 1 0 0 4 1 A L 20000 200 20000 0 15 0 0 0 -1 -1 L 18000 200 18000 0 15 0 0 0 -1 -1 T 21000 100 15 8 1 0 0 4 1 11 T 19000 100 15 8 1 0 0 4 1 10 T 17000 100 15 8 1 0 0 4 1 9 L 2000 17000 2000 16800 15 0 0 0 -1 -1 L 4000 17000 4000 16800 15 0 0 0 -1 -1 L 6000 17000 6000 16800 15 0 0 0 -1 -1 L 8000 17000 8000 16800 15 0 0 0 -1 -1 L 10000 17000 10000 16800 15 0 0 0 -1 -1 L 12000 17000 12000 16800 15 0 0 0 -1 -1 L 14000 17000 14000 16800 15 0 0 0 -1 -1 L 16000 17000 16000 16800 15 0 0 0 -1 -1 L 18000 17000 18000 16800 15 0 0 0 -1 -1 L 20000 17000 20000 16800 15 0 0 0 -1 -1 T 1000 16900 15 8 1 0 0 4 1 1 T 3000 16900 15 8 1 0 0 4 1 2 T 5000 16900 15 8 1 0 0 4 1 3 T 7000 16900 15 8 1 0 0 4 1 4 T 9000 16900 15 8 1 0 0 4 1 5 T 11000 16900 15 8 1 0 0 4 1 6 T 13000 16900 15 8 1 0 0 4 1 7 T 15000 16900 15 8 1 0 0 4 1 8 T 17000 16900 15 8 1 0 0 4 1 9 T 19000 16900 15 8 1 0 0 4 1 10 T 21000 16900 15 8 1 0 0 4 1 11 geda-gaf-1.8.2/symbols/titleblock/title-A2.sym0000664000175000017500000000065612204104272016040 00000000000000v 20031231 1 B 0 0 23300 16500 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 26500 1800 5 10 0 0 0 0 1 graphical=1 L 19200 600 19200 0 15 0 0 0 -1 -1 T 15800 400 15 8 1 0 0 0 1 FILE: T 19300 400 15 8 1 0 0 0 1 REVISION: T 19300 100 15 8 1 0 0 0 1 DRAWN BY: T 15800 100 15 8 1 0 0 0 1 PAGE T 17500 100 15 8 1 0 0 0 1 OF T 15800 700 15 8 1 0 0 0 1 TITLE B 15700 0 7600 1400 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 15700 600 23300 600 15 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/titleblock/title-bordered-A3.sym0000664000175000017500000000440312204104272017617 00000000000000v 20031231 1 B 0 0 16500 11600 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 26500 1800 5 10 0 0 0 0 1 graphical=1 L 12200 800 12200 200 15 0 0 0 -1 -1 T 8800 600 15 8 1 0 0 0 1 FILE: T 12300 600 15 8 1 0 0 0 1 REVISION: T 12300 300 15 8 1 0 0 0 1 DRAWN BY: T 8800 300 15 8 1 0 0 0 1 PAGE T 10500 300 15 8 1 0 0 0 1 OF T 8800 900 15 8 1 0 0 0 1 TITLE B 8700 200 7600 1400 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 8700 800 16300 800 15 0 0 0 -1 -1 B 200 200 16100 11200 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 200 1969 0 1969 15 0 0 0 -1 -1 L 200 3937 0 3937 15 0 0 0 -1 -1 L 200 5906 0 5906 15 0 0 0 -1 -1 L 200 7874 0 7874 15 0 0 0 -1 -1 L 200 9843 0 9843 15 0 0 0 -1 -1 T 100 984 15 8 1 0 0 4 1 A T 100 2953 15 8 1 0 0 4 1 B T 100 4921 15 8 1 0 0 4 1 C T 100 6890 15 8 1 0 0 4 1 D T 100 8858 15 8 1 0 0 4 1 E T 100 10827 15 8 1 0 0 4 1 F L 1969 200 1969 0 15 0 0 0 -1 -1 L 3937 200 3937 0 15 0 0 0 -1 -1 L 5906 200 5906 0 15 0 0 0 -1 -1 L 7874 200 7874 0 15 0 0 0 -1 -1 L 9843 200 9843 0 15 0 0 0 -1 -1 L 11811 200 11811 0 15 0 0 0 -1 -1 L 13780 200 13780 0 15 0 0 0 -1 -1 L 15748 200 15748 0 15 0 0 0 -1 -1 T 984 100 15 8 1 0 0 4 1 1 T 2953 100 15 8 1 0 0 4 1 2 T 4921 100 15 8 1 0 0 4 1 3 T 6890 100 15 8 1 0 0 4 1 4 T 8858 100 15 8 1 0 0 4 1 5 T 10827 100 15 8 1 0 0 4 1 6 T 12795 100 15 8 1 0 0 4 1 7 T 14764 100 15 8 1 0 0 4 1 8 T 16132 100 15 8 1 0 0 4 1 9 L 16500 1969 16300 1969 15 0 0 0 -1 -1 L 16500 3937 16300 3937 15 0 0 0 -1 -1 L 16500 5906 16300 5906 15 0 0 0 -1 -1 L 16500 7874 16300 7874 15 0 0 0 -1 -1 L 16500 9843 16300 9843 15 0 0 0 -1 -1 T 16400 984 15 8 1 0 0 4 1 A T 16400 2953 15 8 1 0 0 4 1 B T 16400 4921 15 8 1 0 0 4 1 C T 16400 6890 15 8 1 0 0 4 1 D T 16400 8858 15 8 1 0 0 4 1 E T 16400 10827 15 8 1 0 0 4 1 F L 1969 11600 1969 11400 15 0 0 0 -1 -1 L 3937 11600 3937 11400 15 0 0 0 -1 -1 L 5906 11600 5906 11400 15 0 0 0 -1 -1 L 7874 11600 7874 11400 15 0 0 0 -1 -1 L 9843 11600 9843 11400 15 0 0 0 -1 -1 L 11811 11600 11811 11400 15 0 0 0 -1 -1 L 13780 11600 13780 11400 15 0 0 0 -1 -1 L 15748 11600 15748 11400 15 0 0 0 -1 -1 T 984 11500 15 8 1 0 0 4 1 1 T 2953 11500 15 8 1 0 0 4 1 2 T 4921 11500 15 8 1 0 0 4 1 3 T 6890 11500 15 8 1 0 0 4 1 4 T 8858 11500 15 8 1 0 0 4 1 5 T 10827 11500 15 8 1 0 0 4 1 6 T 12795 11500 15 8 1 0 0 4 1 7 T 14764 11500 15 8 1 0 0 4 1 8 T 16132 11500 15 8 1 0 0 4 1 9 geda-gaf-1.8.2/symbols/titleblock/title-bordered-A.sym0000664000175000017500000000333012204104272017532 00000000000000v 20031231 1 B 0 0 11000 8500 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 14400 1500 5 10 0 0 0 0 1 graphical=1 L 6700 800 6700 200 15 0 0 0 -1 -1 T 3300 600 15 8 1 0 0 0 1 FILE: T 6800 600 15 8 1 0 0 0 1 REVISION: T 6800 300 15 8 1 0 0 0 1 DRAWN BY: T 3300 300 15 8 1 0 0 0 1 PAGE T 5000 300 15 8 1 0 0 0 1 OF T 3300 900 15 8 1 0 0 0 1 TITLE B 3200 200 7600 1400 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 3200 800 10800 800 15 0 0 0 -1 -1 B 200 200 10600 8100 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 2000 200 2000 0 15 0 0 0 -1 -1 L 4000 200 4000 0 15 0 0 0 -1 -1 L 6000 200 6000 0 15 0 0 0 -1 -1 L 8000 200 8000 0 15 0 0 0 -1 -1 L 10000 200 10000 0 15 0 0 0 -1 -1 L 200 2000 0 2000 15 0 0 0 -1 -1 L 200 4000 0 4000 15 0 0 0 -1 -1 L 200 6000 0 6000 15 0 0 0 -1 -1 L 200 8000 0 8000 15 0 0 0 -1 -1 T 1000 100 15 8 1 0 0 4 1 1 T 3000 100 15 8 1 0 0 4 1 2 T 5000 100 15 8 1 0 0 4 1 3 T 7000 100 15 8 1 0 0 4 1 4 T 9000 100 15 8 1 0 0 4 1 5 T 10500 100 15 8 1 0 0 4 1 6 L 2000 8500 2000 8300 15 0 0 0 -1 -1 L 4000 8500 4000 8300 15 0 0 0 -1 -1 L 6000 8500 6000 8300 15 0 0 0 -1 -1 L 8000 8500 8000 8300 15 0 0 0 -1 -1 L 10000 8500 10000 8300 15 0 0 0 -1 -1 T 3000 8400 15 8 1 0 0 4 1 2 T 1000 8400 15 8 1 0 0 4 1 1 T 5000 8400 15 8 1 0 0 4 1 3 T 7000 8400 15 8 1 0 0 4 1 4 T 9000 8400 15 8 1 0 0 4 1 5 T 10500 8400 15 8 1 0 0 4 1 6 T 100 1000 15 8 1 0 0 4 1 A T 100 3000 15 8 1 0 0 4 1 B T 100 5000 15 8 1 0 0 4 1 C T 100 7000 15 8 1 0 0 4 1 D T 100 8200 15 8 1 0 0 4 1 E L 11000 2000 10800 2000 15 0 0 0 -1 -1 L 11000 4000 10800 4000 15 0 0 0 -1 -1 L 11000 6000 10800 6000 15 0 0 0 -1 -1 L 11000 8000 10800 8000 15 0 0 0 -1 -1 T 10900 8200 15 8 1 0 0 4 1 E T 10900 7000 15 8 1 0 0 4 1 D T 10900 5000 15 8 1 0 0 4 1 C T 10900 3000 15 8 1 0 0 4 1 B T 10900 1000 15 8 1 0 0 4 1 A geda-gaf-1.8.2/symbols/titleblock/title-A3.sym0000664000175000017500000000065112204104272016034 00000000000000v 20031231 1 B 0 0 16500 11600 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 26500 1800 5 10 0 0 0 0 1 graphical=1 L 12400 600 12400 0 15 0 0 0 -1 -1 T 9000 400 15 8 1 0 0 0 1 FILE: T 12500 400 15 8 1 0 0 0 1 REVISION: T 12500 100 15 8 1 0 0 0 1 DRAWN BY: T 9000 100 15 8 1 0 0 0 1 PAGE T 10700 100 15 8 1 0 0 0 1 OF T 9000 700 15 8 1 0 0 0 1 TITLE B 8900 0 7600 1400 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 8900 600 16500 600 15 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/titleblock/title-bordered-A0.sym0000664000175000017500000001336612204104272017624 00000000000000v 20031231 1 B 0 0 46800 33100 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 26500 1800 5 10 0 0 0 0 1 graphical=1 L 42500 800 42500 200 15 0 0 0 -1 -1 T 39100 600 15 8 1 0 0 0 1 FILE: T 42600 600 15 8 1 0 0 0 1 REVISION: T 42600 300 15 8 1 0 0 0 1 DRAWN BY: T 39100 300 15 8 1 0 0 0 1 PAGE T 40800 300 15 8 1 0 0 0 1 OF T 39100 900 15 8 1 0 0 0 1 TITLE B 39000 200 7600 1400 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 39000 800 46600 800 15 0 0 0 -1 -1 L 46800 1969 46600 1969 15 0 0 0 -1 -1 L 46800 3937 46600 3937 15 0 0 0 -1 -1 L 46800 5906 46600 5906 15 0 0 0 -1 -1 L 46800 7874 46600 7874 15 0 0 0 -1 -1 L 46800 9843 46600 9843 15 0 0 0 -1 -1 L 46800 11811 46600 11811 15 0 0 0 -1 -1 L 46800 13780 46600 13780 15 0 0 0 -1 -1 L 46800 15748 46600 15748 15 0 0 0 -1 -1 L 46800 17717 46600 17717 15 0 0 0 -1 -1 L 46800 19685 46600 19685 15 0 0 0 -1 -1 L 46800 21654 46600 21654 15 0 0 0 -1 -1 L 46800 23622 46600 23622 15 0 0 0 -1 -1 L 46800 25591 46600 25591 15 0 0 0 -1 -1 L 46800 27559 46600 27559 15 0 0 0 -1 -1 L 46800 29528 46600 29528 15 0 0 0 -1 -1 L 46800 31496 46600 31496 15 0 0 0 -1 -1 T 46700 984 15 8 1 0 0 4 1 A T 46700 2953 15 8 1 0 0 4 1 B T 46700 4921 15 8 1 0 0 4 1 C T 46700 6890 15 8 1 0 0 4 1 D T 46700 8858 15 8 1 0 0 4 1 E T 46700 10827 15 8 1 0 0 4 1 F T 46700 12795 15 8 1 0 0 4 1 G T 46700 14764 15 8 1 0 0 4 1 H T 46700 16732 15 8 1 0 0 4 1 I T 46700 18701 15 8 1 0 0 4 1 J T 46700 20669 15 8 1 0 0 4 1 K T 46700 22638 15 8 1 0 0 4 1 L T 46700 24606 15 8 1 0 0 4 1 M T 46700 26575 15 8 1 0 0 4 1 N T 46700 28543 15 8 1 0 0 4 1 O T 46700 30512 15 8 1 0 0 4 1 P T 46700 32480 15 8 1 0 0 4 1 Q L 1969 33100 1969 32900 15 0 0 0 -1 -1 L 3937 33100 3937 32900 15 0 0 0 -1 -1 L 5906 33100 5906 32900 15 0 0 0 -1 -1 L 7874 33100 7874 32900 15 0 0 0 -1 -1 L 9843 33100 9843 32900 15 0 0 0 -1 -1 L 11811 33100 11811 32900 15 0 0 0 -1 -1 L 13780 33100 13780 32900 15 0 0 0 -1 -1 L 15748 33100 15748 32900 15 0 0 0 -1 -1 L 17717 33100 17717 32900 15 0 0 0 -1 -1 L 19685 33100 19685 32900 15 0 0 0 -1 -1 L 21654 33100 21654 32900 15 0 0 0 -1 -1 L 23622 33100 23622 32900 15 0 0 0 -1 -1 L 25591 33100 25591 32900 15 0 0 0 -1 -1 L 27559 33100 27559 32900 15 0 0 0 -1 -1 L 29528 33100 29528 32900 15 0 0 0 -1 -1 L 31496 33100 31496 32900 15 0 0 0 -1 -1 L 33465 33100 33465 32900 15 0 0 0 -1 -1 L 35433 33100 35433 32900 15 0 0 0 -1 -1 L 37402 33100 37402 32900 15 0 0 0 -1 -1 L 39370 33100 39370 32900 15 0 0 0 -1 -1 L 41339 33100 41339 32900 15 0 0 0 -1 -1 L 43307 33100 43307 32900 15 0 0 0 -1 -1 L 45276 33100 45276 32900 15 0 0 0 -1 -1 T 984 33000 15 8 1 0 0 4 1 1 T 2953 33000 15 8 1 0 0 4 1 2 T 4921 33000 15 8 1 0 0 4 1 3 T 6890 33000 15 8 1 0 0 4 1 4 T 8858 33000 15 8 1 0 0 4 1 5 T 10827 33000 15 8 1 0 0 4 1 6 T 12795 33000 15 8 1 0 0 4 1 7 T 14764 33000 15 8 1 0 0 4 1 8 T 16732 33000 15 8 1 0 0 4 1 9 T 18701 33000 15 8 1 0 0 4 1 10 T 20669 33000 15 8 1 0 0 4 1 11 T 22638 33000 15 8 1 0 0 4 1 12 T 24606 33000 15 8 1 0 0 4 1 13 T 26575 33000 15 8 1 0 0 4 1 14 T 28543 33000 15 8 1 0 0 4 1 15 T 30512 33000 15 8 1 0 0 4 1 16 T 32480 33000 15 8 1 0 0 4 1 17 T 34449 33000 15 8 1 0 0 4 1 18 T 36417 33000 15 8 1 0 0 4 1 19 T 38386 33000 15 8 1 0 0 4 1 20 T 40354 33000 15 8 1 0 0 4 1 21 T 42323 33000 15 8 1 0 0 4 1 22 T 44291 33000 15 8 1 0 0 4 1 23 T 46260 33000 15 8 1 0 0 4 1 24 B 200 200 46400 32700 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 200 1969 0 1969 15 0 0 0 -1 -1 L 200 3937 0 3937 15 0 0 0 -1 -1 L 200 5906 0 5906 15 0 0 0 -1 -1 L 200 7874 0 7874 15 0 0 0 -1 -1 L 200 9843 0 9843 15 0 0 0 -1 -1 L 200 11811 0 11811 15 0 0 0 -1 -1 L 200 13780 0 13780 15 0 0 0 -1 -1 L 200 15748 0 15748 15 0 0 0 -1 -1 L 200 17717 0 17717 15 0 0 0 -1 -1 L 200 19685 0 19685 15 0 0 0 -1 -1 L 200 21654 0 21654 15 0 0 0 -1 -1 L 200 23622 0 23622 15 0 0 0 -1 -1 L 200 25591 0 25591 15 0 0 0 -1 -1 L 200 27559 0 27559 15 0 0 0 -1 -1 L 200 29528 0 29528 15 0 0 0 -1 -1 L 200 31496 0 31496 15 0 0 0 -1 -1 T 100 984 15 8 1 0 0 4 1 A T 100 2953 15 8 1 0 0 4 1 B T 100 4921 15 8 1 0 0 4 1 C T 100 6890 15 8 1 0 0 4 1 D T 100 8858 15 8 1 0 0 4 1 E T 100 10827 15 8 1 0 0 4 1 F T 100 12795 15 8 1 0 0 4 1 G T 100 14764 15 8 1 0 0 4 1 H T 100 16732 15 8 1 0 0 4 1 I T 100 18701 15 8 1 0 0 4 1 J T 100 20669 15 8 1 0 0 4 1 K T 100 22638 15 8 1 0 0 4 1 L T 100 24606 15 8 1 0 0 4 1 M T 100 26575 15 8 1 0 0 4 1 N T 100 28543 15 8 1 0 0 4 1 O T 100 30512 15 8 1 0 0 4 1 P T 100 32480 15 8 1 0 0 4 1 Q L 1969 200 1969 0 15 0 0 0 -1 -1 L 3937 200 3937 0 15 0 0 0 -1 -1 L 5906 200 5906 0 15 0 0 0 -1 -1 L 7874 200 7874 0 15 0 0 0 -1 -1 L 9843 200 9843 0 15 0 0 0 -1 -1 L 11811 200 11811 0 15 0 0 0 -1 -1 L 13780 200 13780 0 15 0 0 0 -1 -1 L 15748 200 15748 0 15 0 0 0 -1 -1 L 17717 200 17717 0 15 0 0 0 -1 -1 L 19685 200 19685 0 15 0 0 0 -1 -1 L 21654 200 21654 0 15 0 0 0 -1 -1 L 23622 200 23622 0 15 0 0 0 -1 -1 L 25591 200 25591 0 15 0 0 0 -1 -1 L 27559 200 27559 0 15 0 0 0 -1 -1 L 29528 200 29528 0 15 0 0 0 -1 -1 L 31496 200 31496 0 15 0 0 0 -1 -1 L 33465 200 33465 0 15 0 0 0 -1 -1 L 35433 200 35433 0 15 0 0 0 -1 -1 L 37402 200 37402 0 15 0 0 0 -1 -1 L 39370 200 39370 0 15 0 0 0 -1 -1 L 41339 200 41339 0 15 0 0 0 -1 -1 L 43307 200 43307 0 15 0 0 0 -1 -1 L 45276 200 45276 0 15 0 0 0 -1 -1 T 984 100 15 8 1 0 0 4 1 1 T 2953 100 15 8 1 0 0 4 1 2 T 4921 100 15 8 1 0 0 4 1 3 T 6890 100 15 8 1 0 0 4 1 4 T 8858 100 15 8 1 0 0 4 1 5 T 10827 100 15 8 1 0 0 4 1 6 T 12795 100 15 8 1 0 0 4 1 7 T 14764 100 15 8 1 0 0 4 1 8 T 16732 100 15 8 1 0 0 4 1 9 T 18701 100 15 8 1 0 0 4 1 10 T 20669 100 15 8 1 0 0 4 1 11 T 22638 100 15 8 1 0 0 4 1 12 T 24606 100 15 8 1 0 0 4 1 13 T 26575 100 15 8 1 0 0 4 1 14 T 28543 100 15 8 1 0 0 4 1 15 T 30512 100 15 8 1 0 0 4 1 16 T 32480 100 15 8 1 0 0 4 1 17 T 34449 100 15 8 1 0 0 4 1 18 T 36417 100 15 8 1 0 0 4 1 19 T 38386 100 15 8 1 0 0 4 1 20 T 40354 100 15 8 1 0 0 4 1 21 T 42323 100 15 8 1 0 0 4 1 22 T 44291 100 15 8 1 0 0 4 1 23 T 46260 100 15 8 1 0 0 4 1 24 geda-gaf-1.8.2/symbols/titleblock/title-A4.sym0000664000175000017500000000064312204104272016036 00000000000000v 20031231 1 B 0 0 11600 8200 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 26500 1800 5 10 0 0 0 0 1 graphical=1 L 7500 600 7500 0 15 0 0 0 -1 -1 T 4100 400 15 8 1 0 0 0 1 FILE: T 7600 400 15 8 1 0 0 0 1 REVISION: T 7600 100 15 8 1 0 0 0 1 DRAWN BY: T 4100 100 15 8 1 0 0 0 1 PAGE T 5800 100 15 8 1 0 0 0 1 OF T 4100 700 15 8 1 0 0 0 1 TITLE B 4000 0 7600 1400 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 4000 600 11600 600 15 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/titleblock/title-bordered-A2.sym0000664000175000017500000000607612204104272017626 00000000000000v 20031231 1 B 0 0 23300 16500 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 26500 1800 5 10 0 0 0 0 1 graphical=1 L 19000 800 19000 200 15 0 0 0 -1 -1 T 15600 600 15 8 1 0 0 0 1 FILE: T 19100 600 15 8 1 0 0 0 1 REVISION: T 19100 300 15 8 1 0 0 0 1 DRAWN BY: T 15600 300 15 8 1 0 0 0 1 PAGE T 17300 300 15 8 1 0 0 0 1 OF T 15600 900 15 8 1 0 0 0 1 TITLE B 15500 200 7600 1400 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 15500 800 23100 800 15 0 0 0 -1 -1 B 200 200 22900 16100 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 200 1969 0 1969 15 0 0 0 -1 -1 L 200 3937 0 3937 15 0 0 0 -1 -1 L 200 5906 0 5906 15 0 0 0 -1 -1 L 200 7874 0 7874 15 0 0 0 -1 -1 L 200 9843 0 9843 15 0 0 0 -1 -1 L 200 11811 0 11811 15 0 0 0 -1 -1 L 200 13780 0 13780 15 0 0 0 -1 -1 L 200 15748 0 15748 15 0 0 0 -1 -1 T 100 984 15 8 1 0 0 4 1 A T 100 2953 15 8 1 0 0 4 1 B T 100 4921 15 8 1 0 0 4 1 C T 100 6890 15 8 1 0 0 4 1 D T 100 8858 15 8 1 0 0 4 1 E T 100 10827 15 8 1 0 0 4 1 F T 100 12795 15 8 1 0 0 4 1 G T 100 14764 15 8 1 0 0 4 1 H L 1969 200 1969 0 15 0 0 0 -1 -1 L 3937 200 3937 0 15 0 0 0 -1 -1 L 5906 200 5906 0 15 0 0 0 -1 -1 L 7874 200 7874 0 15 0 0 0 -1 -1 L 9843 200 9843 0 15 0 0 0 -1 -1 L 11811 200 11811 0 15 0 0 0 -1 -1 L 13780 200 13780 0 15 0 0 0 -1 -1 L 15748 200 15748 0 15 0 0 0 -1 -1 L 17717 200 17717 0 15 0 0 0 -1 -1 L 19685 200 19685 0 15 0 0 0 -1 -1 L 21654 200 21654 0 15 0 0 0 -1 -1 T 984 100 15 8 1 0 0 4 1 1 T 2953 100 15 8 1 0 0 4 1 2 T 4921 100 15 8 1 0 0 4 1 3 T 6890 100 15 8 1 0 0 4 1 4 T 8858 100 15 8 1 0 0 4 1 5 T 10827 100 15 8 1 0 0 4 1 6 T 12795 100 15 8 1 0 0 4 1 7 T 14764 100 15 8 1 0 0 4 1 8 T 16732 100 15 8 1 0 0 4 1 9 T 18701 100 15 8 1 0 0 4 1 10 T 20669 100 15 8 1 0 0 4 1 11 T 22638 100 15 8 1 0 0 4 1 12 L 23300 1969 23100 1969 15 0 0 0 -1 -1 L 23300 3937 23100 3937 15 0 0 0 -1 -1 L 23300 5906 23100 5906 15 0 0 0 -1 -1 L 23300 7874 23100 7874 15 0 0 0 -1 -1 L 23300 9843 23100 9843 15 0 0 0 -1 -1 L 23300 11811 23100 11811 15 0 0 0 -1 -1 L 23300 13780 23100 13780 15 0 0 0 -1 -1 L 23300 15748 23100 15748 15 0 0 0 -1 -1 T 23200 984 15 8 1 0 0 4 1 A T 23200 2953 15 8 1 0 0 4 1 B T 23200 4921 15 8 1 0 0 4 1 C T 23200 6890 15 8 1 0 0 4 1 D T 23200 8858 15 8 1 0 0 4 1 E T 23200 10827 15 8 1 0 0 4 1 F T 23200 12795 15 8 1 0 0 4 1 G T 23200 14764 15 8 1 0 0 4 1 H L 1969 16500 1969 16300 15 0 0 0 -1 -1 L 3937 16500 3937 16300 15 0 0 0 -1 -1 L 5906 16500 5906 16300 15 0 0 0 -1 -1 L 7874 16500 7874 16300 15 0 0 0 -1 -1 L 9843 16500 9843 16300 15 0 0 0 -1 -1 L 11811 16500 11811 16300 15 0 0 0 -1 -1 L 13780 16500 13780 16300 15 0 0 0 -1 -1 L 15748 16500 15748 16300 15 0 0 0 -1 -1 L 17717 16500 17717 16300 15 0 0 0 -1 -1 L 19685 16500 19685 16300 15 0 0 0 -1 -1 L 21654 16500 21654 16300 15 0 0 0 -1 -1 T 984 16400 15 8 1 0 0 4 1 1 T 2953 16400 15 8 1 0 0 4 1 2 T 4921 16400 15 8 1 0 0 4 1 3 T 6890 16400 15 8 1 0 0 4 1 4 T 8858 16400 15 8 1 0 0 4 1 5 T 10827 16400 15 8 1 0 0 4 1 6 T 12795 16400 15 8 1 0 0 4 1 7 T 14764 16400 15 8 1 0 0 4 1 8 T 16732 16400 15 8 1 0 0 4 1 9 T 18701 16400 15 8 1 0 0 4 1 10 T 20669 16400 15 8 1 0 0 4 1 11 T 22638 16400 15 8 1 0 0 4 1 12 T 23200 16264 15 8 1 0 0 4 1 I T 100 16264 15 8 1 0 0 4 1 I geda-gaf-1.8.2/symbols/titleblock/title-D.sym0000664000175000017500000000065612204104272015761 00000000000000v 20031231 1 B 0 0 34000 22000 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 26400 1700 5 10 0 0 0 0 1 graphical=1 L 30000 600 30000 0 15 0 0 0 -1 -1 T 26500 400 15 8 1 0 0 0 1 FILE: T 30100 400 15 8 1 0 0 0 1 REVISION: T 30100 100 15 8 1 0 0 0 1 DRAWN BY: T 26500 100 15 8 1 0 0 0 1 PAGE T 28200 100 15 8 1 0 0 0 1 OF T 26500 700 15 8 1 0 0 0 1 TITLE B 26400 0 7600 1400 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 26400 600 34000 600 15 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/titleblock/title-E.sym0000664000175000017500000000065612204104272015762 00000000000000v 20031231 1 B 0 0 44000 34000 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 26500 1800 5 10 0 0 0 0 1 graphical=1 L 39900 600 39900 0 15 0 0 0 -1 -1 T 36500 400 15 8 1 0 0 0 1 FILE: T 40000 400 15 8 1 0 0 0 1 REVISION: T 40000 100 15 8 1 0 0 0 1 DRAWN BY: T 36500 100 15 8 1 0 0 0 1 PAGE T 38200 100 15 8 1 0 0 0 1 OF T 36500 700 15 8 1 0 0 0 1 TITLE B 36400 0 7600 1400 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 36400 600 44000 600 15 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/titleblock/title-bordered-D.sym0000664000175000017500000001001412204104272017532 00000000000000v 20031231 1 B 0 0 34000 22000 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 26400 1700 5 10 0 0 0 0 1 graphical=1 L 29800 800 29800 200 15 0 0 0 -1 -1 T 26300 600 15 8 1 0 0 0 1 FILE: T 29900 600 15 8 1 0 0 0 1 REVISION: T 29900 300 15 8 1 0 0 0 1 DRAWN BY: T 26300 300 15 8 1 0 0 0 1 PAGE T 28000 300 15 8 1 0 0 0 1 OF T 26300 900 15 8 1 0 0 0 1 TITLE B 26200 200 7600 1400 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 26200 800 33800 800 15 0 0 0 -1 -1 B 200 200 33600 21600 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 200 16000 0 16000 15 0 0 0 -1 -1 L 200 14000 0 14000 15 0 0 0 -1 -1 L 200 12000 0 12000 15 0 0 0 -1 -1 L 200 10000 0 10000 15 0 0 0 -1 -1 L 200 8000 0 8000 15 0 0 0 -1 -1 L 200 6000 0 6000 15 0 0 0 -1 -1 L 200 4000 0 4000 15 0 0 0 -1 -1 L 200 2000 0 2000 15 0 0 0 -1 -1 T 100 15000 15 8 1 0 0 4 1 H T 100 13000 15 8 1 0 0 4 1 G T 100 11000 15 8 1 0 0 4 1 F T 100 9000 15 8 1 0 0 4 1 E T 100 7000 15 8 1 0 0 4 1 D T 100 5000 15 8 1 0 0 4 1 C T 100 3000 15 8 1 0 0 4 1 B T 100 1000 15 8 1 0 0 4 1 A L 200 18000 0 18000 15 0 0 0 -1 -1 L 200 20000 0 20000 15 0 0 0 -1 -1 T 100 17000 15 8 1 0 0 4 1 I T 100 19000 15 8 1 0 0 4 1 J T 100 21000 15 8 1 0 0 4 1 K L 34000 18000 33800 18000 15 0 0 0 -1 -1 L 34000 20000 33800 20000 15 0 0 0 -1 -1 T 33900 17000 15 8 1 0 0 4 1 I T 33900 19000 15 8 1 0 0 4 1 J T 33900 21000 15 8 1 0 0 4 1 K L 34000 16100 33800 16100 15 0 0 0 -1 -1 L 34000 14100 33800 14100 15 0 0 0 -1 -1 L 34000 12100 33800 12100 15 0 0 0 -1 -1 L 34000 10100 33800 10100 15 0 0 0 -1 -1 L 34000 8100 33800 8100 15 0 0 0 -1 -1 L 34000 6100 33800 6100 15 0 0 0 -1 -1 L 34000 4100 33800 4100 15 0 0 0 -1 -1 L 34000 2100 33800 2100 15 0 0 0 -1 -1 T 33900 15100 15 8 1 0 0 4 1 H T 33900 13100 15 8 1 0 0 4 1 G T 33900 11100 15 8 1 0 0 4 1 F T 33900 9100 15 8 1 0 0 4 1 E T 33900 7100 15 8 1 0 0 4 1 D T 33900 5100 15 8 1 0 0 4 1 C T 33900 3100 15 8 1 0 0 4 1 B T 33900 1100 15 8 1 0 0 4 1 A L 2000 200 2000 0 15 0 0 0 -1 -1 L 4000 200 4000 0 15 0 0 0 -1 -1 L 6000 200 6000 0 15 0 0 0 -1 -1 L 8000 200 8000 0 15 0 0 0 -1 -1 L 10000 200 10000 0 15 0 0 0 -1 -1 L 12000 200 12000 0 15 0 0 0 -1 -1 L 14000 200 14000 0 15 0 0 0 -1 -1 L 16000 200 16000 0 15 0 0 0 -1 -1 L 18000 200 18000 0 15 0 0 0 -1 -1 L 20000 200 20000 0 15 0 0 0 -1 -1 T 1000 100 15 8 1 0 0 4 1 1 T 3000 100 15 8 1 0 0 4 1 2 T 5000 100 15 8 1 0 0 4 1 3 T 7000 100 15 8 1 0 0 4 1 4 T 9000 100 15 8 1 0 0 4 1 5 T 11000 100 15 8 1 0 0 4 1 6 T 13000 100 15 8 1 0 0 4 1 7 T 15000 100 15 8 1 0 0 4 1 8 T 17000 100 15 8 1 0 0 4 1 9 T 19000 100 15 8 1 0 0 4 1 10 T 21000 100 15 8 1 0 0 4 1 11 L 2000 22000 2000 21800 15 0 0 0 -1 -1 L 4000 22000 4000 21800 15 0 0 0 -1 -1 L 6000 22000 6000 21800 15 0 0 0 -1 -1 L 8000 22000 8000 21800 15 0 0 0 -1 -1 L 10000 22000 10000 21800 15 0 0 0 -1 -1 L 12000 22000 12000 21800 15 0 0 0 -1 -1 L 14000 22000 14000 21800 15 0 0 0 -1 -1 L 16000 22000 16000 21800 15 0 0 0 -1 -1 L 18000 22000 18000 21800 15 0 0 0 -1 -1 L 20000 22000 20000 21800 15 0 0 0 -1 -1 T 1000 21900 15 8 1 0 0 4 1 1 T 3000 21900 15 8 1 0 0 4 1 2 T 5000 21900 15 8 1 0 0 4 1 3 T 7000 21900 15 8 1 0 0 4 1 4 T 9000 21900 15 8 1 0 0 4 1 5 T 11000 21900 15 8 1 0 0 4 1 6 T 13000 21900 15 8 1 0 0 4 1 7 T 15000 21900 15 8 1 0 0 4 1 8 T 17000 21900 15 8 1 0 0 4 1 9 T 19000 21900 15 8 1 0 0 4 1 10 T 21000 21900 15 8 1 0 0 4 1 11 L 22000 22000 22000 21800 15 0 0 0 -1 -1 L 24000 22000 24000 21800 15 0 0 0 -1 -1 L 26000 22000 26000 21800 15 0 0 0 -1 -1 L 28000 22000 28000 21800 15 0 0 0 -1 -1 L 30000 22000 30000 21800 15 0 0 0 -1 -1 L 32000 22000 32000 21800 15 0 0 0 -1 -1 T 23000 21900 15 8 1 0 0 4 1 12 T 25000 21900 15 8 1 0 0 4 1 13 T 27000 21900 15 8 1 0 0 4 1 14 T 29000 21900 15 8 1 0 0 4 1 15 T 31000 21900 15 8 1 0 0 4 1 16 T 33000 21900 15 8 1 0 0 4 1 17 L 22000 200 22000 0 15 0 0 0 -1 -1 L 24000 200 24000 0 15 0 0 0 -1 -1 L 26000 200 26000 0 15 0 0 0 -1 -1 L 28000 200 28000 0 15 0 0 0 -1 -1 L 30000 200 30000 0 15 0 0 0 -1 -1 L 32000 200 32000 0 15 0 0 0 -1 -1 T 23000 100 15 8 1 0 0 4 1 12 T 25000 100 15 8 1 0 0 4 1 13 T 27000 100 15 8 1 0 0 4 1 14 T 29000 100 15 8 1 0 0 4 1 15 T 31000 100 15 8 1 0 0 4 1 16 T 33000 100 15 8 1 0 0 4 1 17 geda-gaf-1.8.2/symbols/titleblock/title-A0.sym0000664000175000017500000000065612204104272016036 00000000000000v 20031231 1 B 0 0 46800 33100 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 26500 1800 5 10 0 0 0 0 1 graphical=1 L 42700 600 42700 0 15 0 0 0 -1 -1 T 39300 400 15 8 1 0 0 0 1 FILE: T 42800 400 15 8 1 0 0 0 1 REVISION: T 42800 100 15 8 1 0 0 0 1 DRAWN BY: T 39300 100 15 8 1 0 0 0 1 PAGE T 41000 100 15 8 1 0 0 0 1 OF T 39300 700 15 8 1 0 0 0 1 TITLE B 39200 0 7600 1400 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 39200 600 46800 600 15 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/titleblock/title-bordered-A4.sym0000664000175000017500000000332012204104272017615 00000000000000v 20031231 1 B 0 0 11600 8200 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 26500 1800 5 10 0 0 0 0 1 graphical=1 L 7300 800 7300 200 15 0 0 0 -1 -1 T 3900 600 15 8 1 0 0 0 1 FILE: T 7400 600 15 8 1 0 0 0 1 REVISION: T 7400 300 15 8 1 0 0 0 1 DRAWN BY: T 3900 300 15 8 1 0 0 0 1 PAGE T 5600 300 15 8 1 0 0 0 1 OF T 3900 900 15 8 1 0 0 0 1 TITLE B 3800 200 7600 1400 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 3800 800 11400 800 15 0 0 0 -1 -1 B 200 200 11200 7800 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 200 1969 0 1969 15 0 0 0 -1 -1 L 200 3937 0 3937 15 0 0 0 -1 -1 L 200 5906 0 5906 15 0 0 0 -1 -1 L 200 7874 0 7874 15 0 0 0 -1 -1 T 100 984 15 8 1 0 0 4 1 A T 100 2953 15 8 1 0 0 4 1 B T 100 4921 15 8 1 0 0 4 1 C T 100 6890 15 8 1 0 0 4 1 D T 100 8058 15 8 1 0 0 4 1 E L 1969 200 1969 0 15 0 0 0 -1 -1 L 3937 200 3937 0 15 0 0 0 -1 -1 L 5906 200 5906 0 15 0 0 0 -1 -1 L 7874 200 7874 0 15 0 0 0 -1 -1 L 9843 200 9843 0 15 0 0 0 -1 -1 T 984 100 15 8 1 0 0 4 1 1 T 2953 100 15 8 1 0 0 4 1 2 T 4921 100 15 8 1 0 0 4 1 3 T 6890 100 15 8 1 0 0 4 1 4 T 8858 100 15 8 1 0 0 4 1 5 T 10827 100 15 8 1 0 0 4 1 6 L 11600 1969 11400 1969 15 0 0 0 -1 -1 L 11600 3937 11400 3937 15 0 0 0 -1 -1 L 11600 5906 11400 5906 15 0 0 0 -1 -1 L 11600 7874 11400 7874 15 0 0 0 -1 -1 T 11500 984 15 8 1 0 0 4 1 A T 11500 2953 15 8 1 0 0 4 1 B T 11500 4921 15 8 1 0 0 4 1 C T 11500 6890 15 8 1 0 0 4 1 D T 11500 8058 15 8 1 0 0 4 1 E L 1969 8200 1969 8000 15 0 0 0 -1 -1 L 3937 8200 3937 8000 15 0 0 0 -1 -1 L 5906 8200 5906 8000 15 0 0 0 -1 -1 L 7874 8200 7874 8000 15 0 0 0 -1 -1 L 9843 8200 9843 8000 15 0 0 0 -1 -1 T 984 8100 15 8 1 0 0 4 1 1 T 2953 8100 15 8 1 0 0 4 1 2 T 4921 8100 15 8 1 0 0 4 1 3 T 6890 8100 15 8 1 0 0 4 1 4 T 8858 8100 15 8 1 0 0 4 1 5 T 10827 8100 15 8 1 0 0 4 1 6 geda-gaf-1.8.2/symbols/titleblock/title-bordered-A1.sym0000664000175000017500000001021012204104272017606 00000000000000v 20031231 1 B 0 0 33100 23300 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 26500 1800 5 10 0 0 0 0 1 graphical=1 L 28800 800 28800 200 15 0 0 0 -1 -1 T 25400 600 15 8 1 0 0 0 1 FILE: T 28900 600 15 8 1 0 0 0 1 REVISION: T 28900 300 15 8 1 0 0 0 1 DRAWN BY: T 25400 300 15 8 1 0 0 0 1 PAGE T 27100 300 15 8 1 0 0 0 1 OF T 25400 900 15 8 1 0 0 0 1 TITLE B 25300 200 7600 1400 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 25300 800 32900 800 15 0 0 0 -1 -1 B 200 200 32700 22900 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 200 1969 0 1969 15 0 0 0 -1 -1 L 200 3937 0 3937 15 0 0 0 -1 -1 L 200 5906 0 5906 15 0 0 0 -1 -1 L 200 7874 0 7874 15 0 0 0 -1 -1 L 200 9843 0 9843 15 0 0 0 -1 -1 L 200 11811 0 11811 15 0 0 0 -1 -1 L 200 13780 0 13780 15 0 0 0 -1 -1 L 200 15748 0 15748 15 0 0 0 -1 -1 L 200 17717 0 17717 15 0 0 0 -1 -1 L 200 19685 0 19685 15 0 0 0 -1 -1 L 200 21654 0 21654 15 0 0 0 -1 -1 T 100 984 15 8 1 0 0 4 1 A T 100 2953 15 8 1 0 0 4 1 B T 100 4921 15 8 1 0 0 4 1 C T 100 6890 15 8 1 0 0 4 1 D T 100 8858 15 8 1 0 0 4 1 E T 100 10827 15 8 1 0 0 4 1 F T 100 12795 15 8 1 0 0 4 1 G T 100 14764 15 8 1 0 0 4 1 H T 100 16732 15 8 1 0 0 4 1 I T 100 18701 15 8 1 0 0 4 1 J T 100 20669 15 8 1 0 0 4 1 K T 100 22638 15 8 1 0 0 4 1 L L 1969 200 1969 0 15 0 0 0 -1 -1 L 3937 200 3937 0 15 0 0 0 -1 -1 L 5906 200 5906 0 15 0 0 0 -1 -1 L 7874 200 7874 0 15 0 0 0 -1 -1 L 9843 200 9843 0 15 0 0 0 -1 -1 L 11811 200 11811 0 15 0 0 0 -1 -1 L 13780 200 13780 0 15 0 0 0 -1 -1 L 15748 200 15748 0 15 0 0 0 -1 -1 L 17717 200 17717 0 15 0 0 0 -1 -1 L 19685 200 19685 0 15 0 0 0 -1 -1 L 21654 200 21654 0 15 0 0 0 -1 -1 L 23622 200 23622 0 15 0 0 0 -1 -1 L 25591 200 25591 0 15 0 0 0 -1 -1 L 27559 200 27559 0 15 0 0 0 -1 -1 L 29528 200 29528 0 15 0 0 0 -1 -1 L 31496 200 31496 0 15 0 0 0 -1 -1 T 984 100 15 8 1 0 0 4 1 1 T 2953 100 15 8 1 0 0 4 1 2 T 4921 100 15 8 1 0 0 4 1 3 T 6890 100 15 8 1 0 0 4 1 4 T 8858 100 15 8 1 0 0 4 1 5 T 10827 100 15 8 1 0 0 4 1 6 T 12795 100 15 8 1 0 0 4 1 7 T 14764 100 15 8 1 0 0 4 1 8 T 16732 100 15 8 1 0 0 4 1 9 T 18701 100 15 8 1 0 0 4 1 10 T 20669 100 15 8 1 0 0 4 1 11 T 22638 100 15 8 1 0 0 4 1 12 T 24606 100 15 8 1 0 0 4 1 13 T 26575 100 15 8 1 0 0 4 1 14 T 28543 100 15 8 1 0 0 4 1 15 T 30512 100 15 8 1 0 0 4 1 16 T 32480 100 15 8 1 0 0 4 1 17 L 33100 1969 32900 1969 15 0 0 0 -1 -1 L 33100 3937 32900 3937 15 0 0 0 -1 -1 L 33100 5906 32900 5906 15 0 0 0 -1 -1 L 33100 7874 32900 7874 15 0 0 0 -1 -1 L 33100 9843 32900 9843 15 0 0 0 -1 -1 L 33100 11811 32900 11811 15 0 0 0 -1 -1 L 33100 13780 32900 13780 15 0 0 0 -1 -1 L 33100 15748 32900 15748 15 0 0 0 -1 -1 L 33100 17717 32900 17717 15 0 0 0 -1 -1 L 33100 19685 32900 19685 15 0 0 0 -1 -1 L 33100 21654 32900 21654 15 0 0 0 -1 -1 T 33000 984 15 8 1 0 0 4 1 A T 33000 2953 15 8 1 0 0 4 1 B T 33000 4921 15 8 1 0 0 4 1 C T 33000 6890 15 8 1 0 0 4 1 D T 33000 8858 15 8 1 0 0 4 1 E T 33000 10827 15 8 1 0 0 4 1 F T 33000 12795 15 8 1 0 0 4 1 G T 33000 14764 15 8 1 0 0 4 1 H T 33000 16732 15 8 1 0 0 4 1 I T 33000 18701 15 8 1 0 0 4 1 J T 33000 20669 15 8 1 0 0 4 1 K T 33000 22638 15 8 1 0 0 4 1 L L 1969 23300 1969 23100 15 0 0 0 -1 -1 L 3937 23300 3937 23100 15 0 0 0 -1 -1 L 5906 23300 5906 23100 15 0 0 0 -1 -1 L 7874 23300 7874 23100 15 0 0 0 -1 -1 L 9843 23300 9843 23100 15 0 0 0 -1 -1 L 11811 23300 11811 23100 15 0 0 0 -1 -1 L 13780 23300 13780 23100 15 0 0 0 -1 -1 L 15748 23300 15748 23100 15 0 0 0 -1 -1 L 17717 23300 17717 23100 15 0 0 0 -1 -1 L 19685 23300 19685 23100 15 0 0 0 -1 -1 L 21654 23300 21654 23100 15 0 0 0 -1 -1 L 23622 23300 23622 23100 15 0 0 0 -1 -1 L 25591 23300 25591 23100 15 0 0 0 -1 -1 L 27559 23300 27559 23100 15 0 0 0 -1 -1 L 29528 23300 29528 23100 15 0 0 0 -1 -1 L 31496 23300 31496 23100 15 0 0 0 -1 -1 T 984 23200 15 8 1 0 0 4 1 1 T 2953 23200 15 8 1 0 0 4 1 2 T 4921 23200 15 8 1 0 0 4 1 3 T 6890 23200 15 8 1 0 0 4 1 4 T 8858 23200 15 8 1 0 0 4 1 5 T 10827 23200 15 8 1 0 0 4 1 6 T 12795 23200 15 8 1 0 0 4 1 7 T 14764 23200 15 8 1 0 0 4 1 8 T 16732 23200 15 8 1 0 0 4 1 9 T 18701 23200 15 8 1 0 0 4 1 10 T 20669 23200 15 8 1 0 0 4 1 11 T 22638 23200 15 8 1 0 0 4 1 12 T 24606 23200 15 8 1 0 0 4 1 13 T 26575 23200 15 8 1 0 0 4 1 14 T 28543 23200 15 8 1 0 0 4 1 15 T 30512 23200 15 8 1 0 0 4 1 16 T 32480 23200 15 8 1 0 0 4 1 17 geda-gaf-1.8.2/symbols/titleblock/title-bordered-E.sym0000664000175000017500000001275612204104272017552 00000000000000v 20031231 1 B 0 0 44000 34000 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 26500 1800 5 10 0 0 0 0 1 graphical=1 L 39700 800 39700 200 15 0 0 0 -1 -1 T 36300 600 15 8 1 0 0 0 1 FILE: T 39800 600 15 8 1 0 0 0 1 REVISION: T 39800 300 15 8 1 0 0 0 1 DRAWN BY: T 36300 300 15 8 1 0 0 0 1 PAGE T 38000 300 15 8 1 0 0 0 1 OF T 36300 900 15 8 1 0 0 0 1 TITLE B 36200 200 7600 1400 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 36200 800 43800 800 15 0 0 0 -1 -1 B 200 200 43600 33600 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 44000 18000 43800 18000 15 0 0 0 -1 -1 L 44000 20000 43800 20000 15 0 0 0 -1 -1 L 44000 16100 43800 16100 15 0 0 0 -1 -1 L 44000 14100 43800 14100 15 0 0 0 -1 -1 L 44000 12100 43800 12100 15 0 0 0 -1 -1 L 44000 10100 43800 10100 15 0 0 0 -1 -1 L 44000 8100 43800 8100 15 0 0 0 -1 -1 L 44000 6100 43800 6100 15 0 0 0 -1 -1 L 44000 4100 43800 4100 15 0 0 0 -1 -1 L 44000 2100 43800 2100 15 0 0 0 -1 -1 T 43900 17000 15 8 1 0 0 4 1 I T 43900 19000 15 8 1 0 0 4 1 J T 43900 21000 15 8 1 0 0 4 1 K T 43900 15100 15 8 1 0 0 4 1 H T 43900 13100 15 8 1 0 0 4 1 G T 43900 11100 15 8 1 0 0 4 1 F T 43900 9100 15 8 1 0 0 4 1 E T 43900 7100 15 8 1 0 0 4 1 D T 43900 5100 15 8 1 0 0 4 1 C T 43900 3100 15 8 1 0 0 4 1 B T 43900 1100 15 8 1 0 0 4 1 A L 44000 29900 43800 29900 15 0 0 0 -1 -1 L 44000 31900 43800 31900 15 0 0 0 -1 -1 L 44000 28000 43800 28000 15 0 0 0 -1 -1 L 44000 26000 43800 26000 15 0 0 0 -1 -1 L 44000 24000 43800 24000 15 0 0 0 -1 -1 L 44000 22000 43800 22000 15 0 0 0 -1 -1 T 43900 28900 15 8 1 0 0 4 1 O T 43900 30900 15 8 1 0 0 4 1 P T 43900 32900 15 8 1 0 0 4 1 Q T 43900 27000 15 8 1 0 0 4 1 N T 43900 25000 15 8 1 0 0 4 1 M T 43900 23000 15 8 1 0 0 4 1 L L 200 17900 0 17900 15 0 0 0 -1 -1 L 200 19900 0 19900 15 0 0 0 -1 -1 L 200 16000 0 16000 15 0 0 0 -1 -1 L 200 14000 0 14000 15 0 0 0 -1 -1 L 200 12000 0 12000 15 0 0 0 -1 -1 L 200 10000 0 10000 15 0 0 0 -1 -1 L 200 8000 0 8000 15 0 0 0 -1 -1 L 200 6000 0 6000 15 0 0 0 -1 -1 L 200 4000 0 4000 15 0 0 0 -1 -1 L 200 2000 0 2000 15 0 0 0 -1 -1 L 200 29800 0 29800 15 0 0 0 -1 -1 L 200 31800 0 31800 15 0 0 0 -1 -1 L 200 27900 0 27900 15 0 0 0 -1 -1 L 200 25900 0 25900 15 0 0 0 -1 -1 L 200 23900 0 23900 15 0 0 0 -1 -1 L 200 21900 0 21900 15 0 0 0 -1 -1 T 100 16900 15 8 1 0 0 4 1 I T 100 18900 15 8 1 0 0 4 1 J T 100 20900 15 8 1 0 0 4 1 K T 100 15000 15 8 1 0 0 4 1 H T 100 13000 15 8 1 0 0 4 1 G T 100 11000 15 8 1 0 0 4 1 F T 100 9000 15 8 1 0 0 4 1 E T 100 7000 15 8 1 0 0 4 1 D T 100 5000 15 8 1 0 0 4 1 C T 100 3000 15 8 1 0 0 4 1 B T 100 1000 15 8 1 0 0 4 1 A T 100 28800 15 8 1 0 0 4 1 O T 100 30800 15 8 1 0 0 4 1 P T 100 32800 15 8 1 0 0 4 1 Q T 100 26900 15 8 1 0 0 4 1 N T 100 24900 15 8 1 0 0 4 1 M T 100 22900 15 8 1 0 0 4 1 L L 2000 34000 2000 33800 15 0 0 0 -1 -1 L 4000 34000 4000 33800 15 0 0 0 -1 -1 L 6000 34000 6000 33800 15 0 0 0 -1 -1 L 8000 34000 8000 33800 15 0 0 0 -1 -1 L 10000 34000 10000 33800 15 0 0 0 -1 -1 L 12000 34000 12000 33800 15 0 0 0 -1 -1 L 14000 34000 14000 33800 15 0 0 0 -1 -1 L 16000 34000 16000 33800 15 0 0 0 -1 -1 L 18000 34000 18000 33800 15 0 0 0 -1 -1 L 20000 34000 20000 33800 15 0 0 0 -1 -1 L 22000 34000 22000 33800 15 0 0 0 -1 -1 L 24000 34000 24000 33800 15 0 0 0 -1 -1 L 26000 34000 26000 33800 15 0 0 0 -1 -1 L 28000 34000 28000 33800 15 0 0 0 -1 -1 L 30000 34000 30000 33800 15 0 0 0 -1 -1 L 32000 34000 32000 33800 15 0 0 0 -1 -1 T 1000 33900 15 8 1 0 0 4 1 1 T 3000 33900 15 8 1 0 0 4 1 2 T 5000 33900 15 8 1 0 0 4 1 3 T 7000 33900 15 8 1 0 0 4 1 4 T 9000 33900 15 8 1 0 0 4 1 5 T 11000 33900 15 8 1 0 0 4 1 6 T 13000 33900 15 8 1 0 0 4 1 7 T 15000 33900 15 8 1 0 0 4 1 8 T 17000 33900 15 8 1 0 0 4 1 9 T 19000 33900 15 8 1 0 0 4 1 10 T 21000 33900 15 8 1 0 0 4 1 11 T 23000 33900 15 8 1 0 0 4 1 12 T 25000 33900 15 8 1 0 0 4 1 13 T 27000 33900 15 8 1 0 0 4 1 14 T 29000 33900 15 8 1 0 0 4 1 15 T 31000 33900 15 8 1 0 0 4 1 16 T 33000 33900 15 8 1 0 0 4 1 17 L 34000 34000 34000 33800 15 0 0 0 -1 -1 L 36000 34000 36000 33800 15 0 0 0 -1 -1 L 38000 34000 38000 33800 15 0 0 0 -1 -1 L 40000 34000 40000 33800 15 0 0 0 -1 -1 L 42000 34000 42000 33800 15 0 0 0 -1 -1 T 35000 33900 15 8 1 0 0 4 1 18 T 37000 33900 15 8 1 0 0 4 1 19 T 39000 33900 15 8 1 0 0 4 1 20 T 41000 33900 15 8 1 0 0 4 1 21 T 43000 33900 15 8 1 0 0 4 1 22 L 2000 200 2000 0 15 0 0 0 -1 -1 L 4000 200 4000 0 15 0 0 0 -1 -1 L 6000 200 6000 0 15 0 0 0 -1 -1 L 8000 200 8000 0 15 0 0 0 -1 -1 L 10000 200 10000 0 15 0 0 0 -1 -1 L 12000 200 12000 0 15 0 0 0 -1 -1 L 14000 200 14000 0 15 0 0 0 -1 -1 L 16000 200 16000 0 15 0 0 0 -1 -1 L 18000 200 18000 0 15 0 0 0 -1 -1 L 20000 200 20000 0 15 0 0 0 -1 -1 L 22000 200 22000 0 15 0 0 0 -1 -1 L 24000 200 24000 0 15 0 0 0 -1 -1 L 26000 200 26000 0 15 0 0 0 -1 -1 L 28000 200 28000 0 15 0 0 0 -1 -1 L 30000 200 30000 0 15 0 0 0 -1 -1 L 32000 200 32000 0 15 0 0 0 -1 -1 L 34000 200 34000 0 15 0 0 0 -1 -1 L 36000 200 36000 0 15 0 0 0 -1 -1 L 38000 200 38000 0 15 0 0 0 -1 -1 L 40000 200 40000 0 15 0 0 0 -1 -1 L 42000 200 42000 0 15 0 0 0 -1 -1 T 1000 100 15 8 1 0 0 4 1 1 T 3000 100 15 8 1 0 0 4 1 2 T 5000 100 15 8 1 0 0 4 1 3 T 7000 100 15 8 1 0 0 4 1 4 T 9000 100 15 8 1 0 0 4 1 5 T 11000 100 15 8 1 0 0 4 1 6 T 13000 100 15 8 1 0 0 4 1 7 T 15000 100 15 8 1 0 0 4 1 8 T 17000 100 15 8 1 0 0 4 1 9 T 19000 100 15 8 1 0 0 4 1 10 T 21000 100 15 8 1 0 0 4 1 11 T 23000 100 15 8 1 0 0 4 1 12 T 25000 100 15 8 1 0 0 4 1 13 T 27000 100 15 8 1 0 0 4 1 14 T 29000 100 15 8 1 0 0 4 1 15 T 31000 100 15 8 1 0 0 4 1 16 T 33000 100 15 8 1 0 0 4 1 17 T 35000 100 15 8 1 0 0 4 1 18 T 37000 100 15 8 1 0 0 4 1 19 T 39000 100 15 8 1 0 0 4 1 20 T 41000 100 15 8 1 0 0 4 1 21 T 43000 100 15 8 1 0 0 4 1 22 geda-gaf-1.8.2/symbols/titleblock/title-B.sym0000664000175000017500000000065112204104272015752 00000000000000v 20031231 1 B 0 0 17000 11000 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 14400 1500 5 10 0 0 0 0 1 graphical=1 L 12900 600 12900 0 15 0 0 0 -1 -1 T 9500 400 15 8 1 0 0 0 1 FILE: T 13000 400 15 8 1 0 0 0 1 REVISION: T 13000 100 15 8 1 0 0 0 1 DRAWN BY: T 9500 100 15 8 1 0 0 0 1 PAGE T 11200 100 15 8 1 0 0 0 1 OF T 9500 700 15 8 1 0 0 0 1 TITLE B 9400 0 7600 1400 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 9400 600 17000 600 15 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/titleblock/title-A1.sym0000664000175000017500000000065612204104272016037 00000000000000v 20031231 1 B 0 0 33100 23300 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 26500 1800 5 10 0 0 0 0 1 graphical=1 L 29000 600 29000 0 15 0 0 0 -1 -1 T 25600 400 15 8 1 0 0 0 1 FILE: T 29100 400 15 8 1 0 0 0 1 REVISION: T 29100 100 15 8 1 0 0 0 1 DRAWN BY: T 25600 100 15 8 1 0 0 0 1 PAGE T 27300 100 15 8 1 0 0 0 1 OF T 25600 700 15 8 1 0 0 0 1 TITLE B 25500 0 7600 1400 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 25500 600 33100 600 15 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/titleblock/title-bordered-B.sym0000664000175000017500000000441712204104272017542 00000000000000v 20031231 1 B 0 0 17000 11000 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 14400 1500 5 10 0 0 0 0 1 graphical=1 L 12700 800 12700 200 15 0 0 0 -1 -1 T 9300 600 15 8 1 0 0 0 1 FILE: T 12800 600 15 8 1 0 0 0 1 REVISION: T 12800 300 15 8 1 0 0 0 1 DRAWN BY: T 9300 300 15 8 1 0 0 0 1 PAGE T 11000 300 15 8 1 0 0 0 1 OF T 9300 900 15 8 1 0 0 0 1 TITLE B 9200 200 7600 1400 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 9200 800 16800 800 15 0 0 0 -1 -1 B 200 200 16600 10600 15 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 200 2000 0 2000 15 0 0 0 -1 -1 L 200 4000 0 4000 15 0 0 0 -1 -1 L 200 6000 0 6000 15 0 0 0 -1 -1 L 200 8000 0 8000 15 0 0 0 -1 -1 L 2000 200 2000 0 15 0 0 0 -1 -1 L 4000 200 4000 0 15 0 0 0 -1 -1 L 6000 200 6000 0 15 0 0 0 -1 -1 L 8000 200 8000 0 15 0 0 0 -1 -1 L 10000 200 10000 0 15 0 0 0 -1 -1 T 100 1000 15 8 1 0 0 4 1 A T 100 3000 15 8 1 0 0 4 1 B T 100 5000 15 8 1 0 0 4 1 C T 100 7000 15 8 1 0 0 4 1 D T 1000 100 15 8 1 0 0 4 1 1 T 3000 100 15 8 1 0 0 4 1 2 T 5000 100 15 8 1 0 0 4 1 3 T 7000 100 15 8 1 0 0 4 1 4 T 9000 100 15 8 1 0 0 4 1 5 L 200 10000 0 10000 15 0 0 0 -1 -1 T 100 9000 15 8 1 0 0 4 1 E T 100 10500 15 8 1 0 0 4 1 F L 12000 200 12000 0 15 0 0 0 -1 -1 L 14000 200 14000 0 15 0 0 0 -1 -1 T 11000 100 15 8 1 0 0 4 1 6 T 13000 100 15 8 1 0 0 4 1 7 T 15000 100 15 8 1 0 0 4 1 8 L 16000 200 16000 0 15 0 0 0 -1 -1 T 16500 100 15 8 1 0 0 4 1 9 L 17000 10000 16800 10000 15 0 0 0 -1 -1 L 17000 8000 16800 8000 15 0 0 0 -1 -1 L 17000 6000 16800 6000 15 0 0 0 -1 -1 L 17000 4000 16800 4000 15 0 0 0 -1 -1 L 17000 2000 16800 2000 15 0 0 0 -1 -1 T 16900 1000 15 8 1 0 0 4 1 A T 16900 3000 15 8 1 0 0 4 1 B T 16900 5000 15 8 1 0 0 4 1 C T 16900 7000 15 8 1 0 0 4 1 D T 16900 9000 15 8 1 0 0 4 1 E T 16900 10500 15 8 1 0 0 4 1 F L 2000 11000 2000 10800 15 0 0 0 -1 -1 L 4000 11000 4000 10800 15 0 0 0 -1 -1 L 6000 11000 6000 10800 15 0 0 0 -1 -1 L 8000 11000 8000 10800 15 0 0 0 -1 -1 L 10000 11000 10000 10800 15 0 0 0 -1 -1 L 12000 11000 12000 10800 15 0 0 0 -1 -1 L 14000 11000 14000 10800 15 0 0 0 -1 -1 L 16000 11000 16000 10800 15 0 0 0 -1 -1 T 1000 10900 15 8 1 0 0 4 1 1 T 3000 10900 15 8 1 0 0 4 1 2 T 5000 10900 15 8 1 0 0 4 1 3 T 7000 10900 15 8 1 0 0 4 1 4 T 9000 10900 15 8 1 0 0 4 1 5 T 11000 10900 15 8 1 0 0 4 1 6 T 13000 10900 15 8 1 0 0 4 1 7 T 15000 10900 15 8 1 0 0 4 1 8 T 16500 10900 15 8 1 0 0 4 1 9 geda-gaf-1.8.2/symbols/national/0000775000175000017500000000000012220655765013467 500000000000000geda-gaf-1.8.2/symbols/national/ADC0831-1.sym0000664000175000017500000000256412204104272015171 00000000000000v 20041228 1 B 300 300 1700 1800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 1800 2300 1800 1 0 1 { T 2150 1850 5 8 1 1 0 0 1 pinnumber=2 T 2150 1850 5 8 0 0 0 0 1 pinseq=2 T 1850 1800 9 10 1 1 0 6 1 pinlabel=Uin+ } P 2000 1400 2300 1400 1 0 1 { T 2150 1450 5 8 1 1 0 0 1 pinnumber=3 T 2150 1450 5 8 0 0 0 0 1 pinseq=3 T 1850 1400 9 10 1 1 0 6 1 pinlabel=Uin- } P 2000 1000 2300 1000 1 0 1 { T 2150 1050 5 8 1 1 0 0 1 pinnumber=5 T 2150 1050 5 8 0 0 0 0 1 pinseq=5 T 1850 1000 9 10 1 1 0 6 1 pinlabel=VREF } P 1400 300 1400 0 1 0 1 { T 1450 150 5 8 1 1 270 0 1 pinnumber=8 T 1450 150 5 8 0 0 270 0 1 pinseq=8 T 1400 450 9 10 1 1 270 6 1 pinlabel=Vcc } P 300 1800 0 1800 1 0 1 { T 200 1850 5 8 1 1 0 6 1 pinnumber=7 T 200 1850 5 8 0 0 0 6 1 pinseq=7 T 400 1800 9 10 1 1 0 0 1 pinlabel=CLK } P 300 1400 0 1400 1 0 1 { T 200 1450 5 8 1 1 0 6 1 pinnumber=6 T 200 1450 5 8 0 0 0 6 1 pinseq=6 T 400 1400 9 10 1 1 0 0 1 pinlabel=D0 } V 250 1000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 1000 0 1000 1 0 1 { T 200 1050 5 8 1 1 0 6 1 pinnumber=1 T 200 1050 5 8 0 0 0 6 1 pinseq=1 T 400 1000 9 10 1 1 0 0 1 pinlabel=/CS } T 400 2700 8 10 0 0 0 0 1 device=ADC0831 T 300 2150 9 10 1 0 0 0 1 ADC0831 T 2000 2200 8 10 1 1 0 6 1 refdes=U? P 800 300 800 0 1 0 1 { T 850 150 5 8 1 1 270 0 1 pinnumber=4 T 850 150 5 8 0 0 270 0 1 pinseq=4 T 800 450 9 10 1 1 270 6 1 pinlabel=GND } T 400 2900 8 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/national/DS26C32-1.sym0000664000175000017500000000735712204104272015221 00000000000000v 20031231 1 B 200 200 1100 3200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 3100 0 3100 1 0 1 { T 100 3200 5 8 1 1 0 7 1 pinnumber=1 T 100 3200 5 8 0 0 0 7 1 pinseq=1 } L 400 3200 400 2800 3 0 0 0 -1 -1 L 400 2800 800 3000 3 0 0 0 -1 -1 L 400 3200 800 3000 3 0 0 0 -1 -1 L 450 3100 500 3100 3 0 0 0 -1 -1 L 450 2900 500 2900 3 0 0 0 -1 -1 L 475 2925 475 2875 3 0 0 0 -1 -1 L 200 3100 400 3100 3 0 0 0 -1 -1 L 200 2900 400 2900 3 0 0 0 -1 -1 P 200 2900 0 2900 1 0 1 { T 100 3000 5 8 1 1 0 7 1 pinnumber=2 T 100 3000 5 8 0 0 0 7 1 pinseq=2 } P 200 2600 0 2600 1 0 1 { T 100 2700 5 8 1 1 0 7 1 pinnumber=15 T 100 2700 5 8 0 0 0 7 1 pinseq=15 } L 400 2700 400 2300 3 0 0 0 -1 -1 L 400 2300 800 2500 3 0 0 0 -1 -1 L 400 2700 800 2500 3 0 0 0 -1 -1 L 450 2600 500 2600 3 0 0 0 -1 -1 L 450 2400 500 2400 3 0 0 0 -1 -1 L 475 2425 475 2375 3 0 0 0 -1 -1 L 200 2600 400 2600 3 0 0 0 -1 -1 L 200 2400 400 2400 3 0 0 0 -1 -1 P 200 2400 0 2400 1 0 1 { T 100 2500 5 8 1 1 0 7 1 pinnumber=14 T 100 2500 5 8 0 0 0 7 1 pinseq=14 } P 200 2100 0 2100 1 0 1 { T 100 2200 5 8 1 1 0 7 1 pinnumber=7 T 100 2200 5 8 0 0 0 7 1 pinseq=7 } L 400 2200 400 1800 3 0 0 0 -1 -1 L 400 1800 800 2000 3 0 0 0 -1 -1 L 400 2200 800 2000 3 0 0 0 -1 -1 L 450 2100 500 2100 3 0 0 0 -1 -1 L 450 1900 500 1900 3 0 0 0 -1 -1 L 475 1925 475 1875 3 0 0 0 -1 -1 L 200 2100 400 2100 3 0 0 0 -1 -1 L 200 1900 400 1900 3 0 0 0 -1 -1 P 200 1900 0 1900 1 0 1 { T 100 2000 5 8 1 1 0 7 1 pinnumber=6 T 100 2000 5 8 0 0 0 7 1 pinseq=6 } P 200 1600 0 1600 1 0 1 { T 100 1700 5 8 1 1 0 7 1 pinnumber=9 T 100 1700 5 8 0 0 0 7 1 pinseq=9 } L 400 1700 400 1300 3 0 0 0 -1 -1 L 400 1300 800 1500 3 0 0 0 -1 -1 L 400 1700 800 1500 3 0 0 0 -1 -1 L 450 1600 500 1600 3 0 0 0 -1 -1 L 450 1400 500 1400 3 0 0 0 -1 -1 L 475 1425 475 1375 3 0 0 0 -1 -1 L 200 1600 400 1600 3 0 0 0 -1 -1 L 200 1400 400 1400 3 0 0 0 -1 -1 P 200 1400 0 1400 1 0 1 { T 100 1500 5 8 1 1 0 7 1 pinnumber=10 T 100 1500 5 8 0 0 0 7 1 pinseq=10 } L 321 500 656 500 3 0 0 0 -1 -1 L 321 1100 656 1100 3 0 0 0 -1 -1 A 656 900 400 270 76 3 0 0 0 -1 -1 A 656 700 400 14 76 3 0 0 0 -1 -1 A 56 800 400 312 96 3 0 0 0 -1 -1 V 344 600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 400 1000 200 1000 3 0 0 0 -1 -1 L 200 600 300 600 3 0 0 0 -1 -1 L 1043 800 1200 800 3 0 0 0 -1 -1 L 900 1200 900 2800 3 0 0 0 -1 -1 L 900 2800 600 2800 3 0 0 0 -1 -1 L 600 2800 600 2900 3 0 0 0 -1 -1 L 600 1400 600 1300 3 0 0 0 -1 -1 L 600 1300 900 1300 3 0 0 0 -1 -1 L 600 1900 600 1800 3 0 0 0 -1 -1 L 600 1800 900 1800 3 0 0 0 -1 -1 L 600 2400 600 2300 3 0 0 0 -1 -1 L 600 2300 900 2300 3 0 0 0 -1 -1 L 900 1200 1200 1200 3 0 0 0 -1 -1 L 1200 1200 1200 800 3 0 0 0 -1 -1 L 800 1500 1300 1500 3 0 0 0 -1 -1 L 800 2000 1300 2000 3 0 0 0 -1 -1 L 800 2500 1300 2500 3 0 0 0 -1 -1 L 800 3000 1300 3000 3 0 0 0 -1 -1 P 1500 3000 1300 3000 1 0 0 { T 1400 3100 5 8 1 1 0 1 1 pinnumber=3 T 1400 3100 5 8 0 0 0 1 1 pinseq=3 } P 1500 2500 1300 2500 1 0 0 { T 1400 2600 5 8 1 1 0 1 1 pinnumber=13 T 1400 2600 5 8 0 0 0 1 1 pinseq=13 } P 1500 2000 1300 2000 1 0 0 { T 1400 2100 5 8 1 1 0 1 1 pinnumber=5 T 1400 2100 5 8 0 0 0 1 1 pinseq=5 } P 1500 1500 1300 1500 1 0 0 { T 1400 1600 5 8 1 1 0 1 1 pinnumber=11 T 1400 1600 5 8 0 0 0 1 1 pinseq=11 } P 200 1000 0 1000 1 0 1 { T 100 1100 5 8 1 1 0 7 1 pinnumber=4 T 100 1100 5 8 0 0 0 7 1 pinseq=4 } P 200 600 0 600 1 0 1 { T 100 700 5 8 1 1 0 7 1 pinnumber=12 T 100 700 5 8 0 0 0 7 1 pinseq=12 } P 400 3400 400 3600 1 0 1 { T 500 3500 5 8 1 1 0 1 1 pinnumber=16 T 500 3500 5 8 0 0 0 1 1 pinseq=16 T 400 3400 5 10 0 1 0 0 1 pintype=pwr T 300 3400 5 10 1 1 0 2 1 pinlabel=vcc } P 400 0 400 200 1 0 0 { T 500 100 5 8 1 1 0 1 1 pinnumber=8 T 500 100 5 8 0 0 0 1 1 pinseq=8 T 400 0 5 10 0 1 0 0 1 pintype=pwr T 300 300 5 10 1 1 0 1 1 pinlabel=gnd } T 872 3600 8 10 1 1 0 0 1 refdes=U? T 872 3500 8 8 1 1 0 1 1 device=DS26C32 geda-gaf-1.8.2/symbols/national/DS1620-1.sym0000664000175000017500000000352112204104272015077 00000000000000v 20070626 1 B 300 0 1200 1300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1500 1400 8 10 1 1 0 6 1 refdes=U? T 300 1800 8 10 0 0 0 0 1 description=elapsed time counter T 300 2000 8 10 0 0 0 0 1 footprint=DIP8 P 0 500 200 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=3 T 350 500 9 8 1 1 0 0 1 pinlabel=\_RST\_ T 350 500 5 8 0 1 0 2 1 pintype=in T 200 450 5 8 0 1 0 8 1 pinseq=3 } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=1 T 350 1100 9 8 1 1 0 0 1 pinlabel=DQ T 350 1100 5 8 0 1 0 2 1 pintype=io T 200 1050 5 8 0 1 0 8 1 pinseq=1 } P 0 800 300 800 1 0 0 { T 200 850 5 8 1 1 0 6 1 pinnumber=2 T 350 800 9 8 1 1 0 0 1 pinlabel=CLK/\_CONV\_ T 350 800 5 8 0 1 0 2 1 pintype=in T 200 750 5 8 0 1 0 8 1 pinseq=2 } P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=4 T 350 200 9 8 1 1 0 0 1 pinlabel=GND T 350 200 5 8 0 1 0 2 1 pintype=pwr T 200 150 5 8 0 1 0 8 1 pinseq=4 } P 1800 1100 1500 1100 1 0 0 { T 1600 1150 5 8 1 1 0 0 1 pinnumber=8 T 1450 1100 9 8 1 1 0 6 1 pinlabel=Vdd T 1450 1100 5 8 0 1 0 8 1 pintype=pwr T 1600 1050 5 8 0 1 0 2 1 pinseq=8 } P 1800 800 1500 800 1 0 0 { T 1600 850 5 8 1 1 0 0 1 pinnumber=7 T 1450 800 9 8 1 1 0 6 1 pinlabel=TH T 1450 800 5 8 0 1 0 8 1 pintype=io T 1600 750 5 8 0 1 0 2 1 pinseq=7 } P 1800 500 1500 500 1 0 0 { T 1600 550 5 8 1 1 0 0 1 pinnumber=6 T 1450 500 9 8 1 1 0 6 1 pinlabel=TL T 1450 500 5 8 0 1 0 8 1 pintype=io T 1600 450 5 8 0 1 0 2 1 pinseq=6 } P 1800 200 1500 200 1 0 0 { T 1600 250 5 8 1 1 0 0 1 pinnumber=5 T 1450 200 9 8 1 1 0 6 1 pinlabel=TCOM T 1450 200 5 8 0 1 0 8 1 pintype=pwr T 1600 150 5 8 0 1 0 2 1 pinseq=5 } V 250 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 1600 8 10 0 0 0 0 1 device=DS1602 T 300 2200 8 10 0 0 0 0 1 numslots=0 T 300 1350 9 10 1 0 0 0 1 DS1650 T 300 2400 8 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/DS1602.pdf T 300 2600 8 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/national/DS2405-1.sym0000664000175000017500000000206012204104272015076 00000000000000v 20031231 1 P 100 700 400 700 1 0 0 { T 250 800 5 8 1 1 0 0 1 pinnumber=2 T 250 950 5 8 0 1 0 0 1 pinseq=2 T 50 800 5 10 0 1 0 0 1 pintype=io T 0 500 9 10 1 1 0 0 1 pinlabel=1-W } P 800 1400 800 1100 1 0 0 { T 650 1200 5 8 1 1 0 0 1 pinnumber=3 T 650 1350 5 8 0 1 0 0 1 pinseq=3 T 300 1200 5 10 0 1 0 0 1 pintype=pas T 900 1150 9 10 1 1 0 0 1 pinlabel=PIO } P 800 0 800 300 1 0 0 { T 700 150 5 8 1 1 0 0 1 pinnumber=1 T 700 0 5 8 0 1 0 0 1 pinseq=1 T 350 150 5 10 0 1 0 0 1 pintype=pwr T 850 150 9 10 1 1 0 0 1 pinlabel=GND } T 750 650 9 10 1 0 0 0 1 DS2405 A 600 700 400 240 240 3 0 0 0 -1 -1 L 400 1050 400 350 3 0 0 0 -1 -1 L 800 300 800 450 3 0 0 0 -1 -1 L 800 450 600 450 3 0 0 0 -1 -1 L 600 450 600 950 3 0 0 0 -1 -1 L 600 950 800 950 3 0 0 0 -1 -1 L 800 950 800 1100 3 0 0 0 -1 -1 L 550 950 550 450 3 0 0 0 -1 -1 L 400 700 550 700 3 0 0 0 -1 -1 T 400 1550 5 10 0 0 0 0 1 device=DS2405 T 400 1750 5 10 0 0 0 0 1 description=1-wire addressable switch T 400 1950 5 10 0 0 0 0 1 footprint=TO-92 T 400 2150 5 10 0 0 0 0 1 numslots=0 T 1000 900 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/national/DS26C61-1.sym0000664000175000017500000000456212204104272015216 00000000000000v 20031231 1 B 300 0 1700 3400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 3100 2300 3100 1 0 1 { T 2150 3150 5 8 1 1 0 0 1 pinnumber=2 T 2150 3150 5 8 0 0 0 0 1 pinseq=2 T 1850 3100 9 10 1 1 0 6 1 pinlabel=OUT A } P 2000 2300 2300 2300 1 0 1 { T 2150 2350 5 8 1 1 0 0 1 pinnumber=6 T 2150 2350 5 8 0 0 0 0 1 pinseq=6 T 1850 2300 9 10 1 1 0 6 1 pinlabel=OUT B } P 2000 1500 2300 1500 1 0 1 { T 2150 1550 5 8 1 1 0 0 1 pinnumber=10 T 2150 1550 5 8 0 0 0 0 1 pinseq=10 T 1850 1500 9 10 1 1 0 6 1 pinlabel=OUT C } P 2000 700 2300 700 1 0 1 { T 2150 750 5 8 1 1 0 0 1 pinnumber=14 T 2150 750 5 8 0 0 0 0 1 pinseq=14 T 1850 700 9 10 1 1 0 6 1 pinlabel=OUT D } V 2050 2700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2100 2700 2300 2700 1 0 1 { T 2150 2750 5 8 1 1 0 0 1 pinnumber=3 T 2150 2750 5 8 0 0 0 0 1 pinseq=3 T 1850 2700 9 10 1 1 0 6 1 pinlabel=/OUT A } V 2050 1900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 2050 1100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 2050 300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2100 1900 2300 1900 1 0 1 { T 2150 1950 5 8 1 1 0 0 1 pinnumber=5 T 2150 1950 5 8 0 0 0 0 1 pinseq=5 T 1850 1900 9 10 1 1 0 6 1 pinlabel=/OUT B } P 2100 300 2300 300 1 0 1 { T 2150 350 5 8 1 1 0 0 1 pinnumber=13 T 2150 350 5 8 0 0 0 0 1 pinseq=13 T 1850 300 9 10 1 1 0 6 1 pinlabel=/OUT D } P 300 3100 0 3100 1 0 1 { T 200 3150 5 8 1 1 0 6 1 pinnumber=1 T 200 3150 5 8 0 0 0 6 1 pinseq=1 T 400 3100 9 10 1 1 0 0 1 pinlabel=IN A } P 300 2700 0 2700 1 0 1 { T 200 2750 5 8 1 1 0 6 1 pinnumber=7 T 200 2750 5 8 0 0 0 6 1 pinseq=7 T 400 2700 9 10 1 1 0 0 1 pinlabel=IN B } P 300 2300 0 2300 1 0 1 { T 200 2350 5 8 1 1 0 6 1 pinnumber=9 T 200 2350 5 8 0 0 0 6 1 pinseq=9 T 400 2300 9 10 1 1 0 0 1 pinlabel=IN C } P 300 1900 0 1900 1 0 1 { T 200 1950 5 8 1 1 0 6 1 pinnumber=15 T 200 1950 5 8 0 0 0 6 1 pinseq=15 T 400 1900 9 10 1 1 0 0 1 pinlabel=IN D } P 300 1500 0 1500 1 0 1 { T 200 1550 5 8 1 1 0 6 1 pinnumber=4 T 200 1550 5 8 0 0 0 6 1 pinseq=4 T 400 1500 9 10 1 1 0 0 1 pinlabel=ENB } V 250 1100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2100 1100 2300 1100 1 0 1 { T 2150 1150 5 8 1 1 0 0 1 pinnumber=11 T 2150 1150 5 8 0 0 0 0 1 pinseq=11 T 1850 1100 9 10 1 1 0 6 1 pinlabel=/OUT C } P 200 1100 0 1100 1 0 1 { T 200 1150 5 8 1 1 0 6 1 pinnumber=12 T 200 1150 5 8 0 0 0 6 1 pinseq=12 T 400 1100 9 10 1 1 0 0 1 pinlabel=/ENB } T 1400 3700 5 10 0 0 0 0 1 device=ds26c31 T 300 3450 9 10 1 0 0 0 1 DS26C31 T 2000 3500 8 10 1 1 0 6 1 refdes=U? geda-gaf-1.8.2/symbols/national/ADC0804-1.sym0000664000175000017500000000626612204104272015174 00000000000000v 20031231 1 B 300 300 2400 3000 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 T 300 4000 8 10 0 0 0 0 1 device=ADC0804 T 300 3600 2 10 1 1 0 0 1 refdes=U? T 300 3350 3 10 1 0 0 0 1 ADC0804 V 600 250 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 600 200 600 0 1 0 1 { T 675 150 5 8 1 1 0 0 1 pinnumber=1 T 675 150 5 8 0 0 0 0 1 pinseq=1 T 494 350 3 8 1 1 0 0 1 pinlabel=CS } V 900 250 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 900 200 900 0 1 0 1 { T 975 150 5 8 1 1 0 0 1 pinnumber=2 T 975 150 5 8 0 0 0 0 1 pinseq=2 T 796 350 3 8 1 1 0 0 1 pinlabel=RD } P 1200 300 1200 0 1 0 1 { T 1275 150 5 8 1 1 0 0 1 pinnumber=3 T 1275 150 5 8 0 0 0 0 1 pinseq=3 T 1074 350 3 8 1 1 0 0 1 pinlabel=WR } L 300 1100 400 1200 3 0 0 0 -1 -1 L 300 1300 400 1200 3 0 0 0 -1 -1 P 300 1200 0 1200 1 0 1 { T 96 1250 5 8 1 1 0 0 1 pinnumber=4 T 96 1250 5 8 0 0 0 0 1 pinseq=4 T 450 1150 3 8 1 1 0 0 1 pinlabel=CLK in } V 1800 250 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1800 200 1800 0 1 0 1 { T 1875 150 5 8 1 1 0 0 1 pinnumber=5 T 1875 150 5 8 0 0 0 0 1 pinseq=5 T 1628 350 3 8 1 1 0 0 1 pinlabel=INTR } P 300 3000 0 3000 1 0 1 { T 104 3050 5 8 1 1 0 0 1 pinnumber=6 T 104 3050 5 8 0 0 0 0 1 pinseq=6 T 375 2950 3 8 1 1 0 0 1 pinlabel=Uin+ } P 300 2700 0 2700 1 0 1 { T 120 2750 5 8 1 1 0 0 1 pinnumber=7 T 120 2750 5 8 0 0 0 0 1 pinseq=7 T 375 2650 3 8 1 1 0 0 1 pinlabel=Uin- } P 300 2100 0 2100 1 0 1 { T 112 2150 5 8 1 1 0 0 1 pinnumber=8 T 112 2150 5 8 0 0 0 0 1 pinseq=8 T 375 2050 3 8 1 1 0 0 1 pinlabel=AGND } P 1500 3300 1500 3600 1 0 1 { T 1575 3375 5 8 1 1 0 0 1 pinnumber=9 T 1575 3375 5 8 0 0 0 0 1 pinseq=9 T 1266 3150 3 8 1 1 0 0 1 pinlabel=Uref/2 } P 2400 300 2400 0 1 0 1 { T 2475 150 5 8 1 1 0 0 1 pinnumber=10 T 2475 150 5 8 0 0 0 0 1 pinseq=10 T 2232 350 3 8 1 1 0 0 1 pinlabel=GND } P 2700 900 3000 900 1 0 1 { T 2800 950 5 8 1 1 0 0 1 pinnumber=11 T 2800 950 5 8 0 0 0 0 1 pinseq=11 T 2466 850 3 8 1 1 0 0 1 pinlabel=D7 } P 2700 1200 3000 1200 1 0 1 { T 2800 1250 5 8 1 1 0 0 1 pinnumber=12 T 2800 1250 5 8 0 0 0 0 1 pinseq=12 T 2450 1150 3 8 1 1 0 0 1 pinlabel=D6 } P 2700 1500 3000 1500 1 0 1 { T 2800 1550 5 8 1 1 0 0 1 pinnumber=13 T 2800 1550 5 8 0 0 0 0 1 pinseq=13 T 2466 1450 3 8 1 1 0 0 1 pinlabel=D5 } P 2700 1800 3000 1800 1 0 1 { T 2800 1850 5 8 1 1 0 0 1 pinnumber=14 T 2800 1850 5 8 0 0 0 0 1 pinseq=14 T 2442 1750 3 8 1 1 0 0 1 pinlabel=D4 } P 2700 2100 3000 2100 1 0 1 { T 2800 2150 5 8 1 1 0 0 1 pinnumber=15 T 2800 2150 5 8 0 0 0 0 1 pinseq=15 T 2466 2050 3 8 1 1 0 0 1 pinlabel=D3 } P 2700 2400 3000 2400 1 0 1 { T 2800 2450 5 8 1 1 0 0 1 pinnumber=16 T 2800 2450 5 8 0 0 0 0 1 pinseq=16 T 2442 2350 3 8 1 1 0 0 1 pinlabel=D2 } P 2700 2700 3000 2700 1 0 1 { T 2800 2750 5 8 1 1 0 0 1 pinnumber=17 T 2800 2750 5 8 0 0 0 0 1 pinseq=17 T 2482 2650 3 8 1 1 0 0 1 pinlabel=D1 } P 2700 3000 3000 3000 1 0 1 { T 2800 3050 5 8 1 1 0 0 1 pinnumber=18 T 2800 3050 5 8 0 0 0 0 1 pinseq=18 T 2442 2950 3 8 1 1 0 0 1 pinlabel=D0 } L 300 1400 400 1500 3 0 0 0 -1 -1 L 300 1600 400 1500 3 0 0 0 -1 -1 P 300 1500 0 1500 1 0 1 { T 32 1550 5 8 1 1 0 0 1 pinnumber=19 T 32 1550 5 8 0 0 0 0 1 pinseq=19 T 450 1450 3 8 1 1 0 0 1 pinlabel=CLK r } P 2100 3300 2100 3600 1 0 1 { T 2175 3375 5 8 1 1 0 0 1 pinnumber=20 T 2175 3375 5 8 0 0 0 0 1 pinseq=20 T 1958 3150 3 8 1 1 0 0 1 pinlabel=Vcc } geda-gaf-1.8.2/symbols/national/pc16500d-1.sym0000664000175000017500000001705712204104272015433 00000000000000v 20031231 1 B 400 400 3500 12000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1400 800 5 10 0 0 0 0 1 device=PC16550D T 1000 11664 5 10 0 0 0 0 1 description=UART w/ FIFOs T 1600 11900 5 10 0 0 0 0 1 numslots=0 T 1200 11400 5 10 0 0 0 0 1 footprint=DIL 40 600 P 2100 400 2100 100 1 0 1 { T 2100 200 5 10 1 1 0 0 1 pinnumber=20 T 2100 200 5 10 0 1 0 0 1 pinseq=20 T 2200 500 3 10 1 1 90 0 1 pinlabel=VSS T 2100 400 5 10 0 1 0 0 1 pintype=pwr } P 400 6600 100 6600 1 0 1 { T 100 6600 5 10 1 1 0 0 1 pinnumber=1 T 400 6600 5 10 0 1 0 0 1 pinseq=1 T 500 6600 3 10 1 1 0 0 1 pinlabel=D0 T 400 6600 5 10 0 1 0 0 1 pintype=io } P 400 6200 100 6200 1 0 1 { T 100 6200 5 10 1 1 0 0 1 pinnumber=2 T 400 6200 5 10 0 1 0 0 1 pinseq=2 T 500 6200 3 10 1 1 0 0 1 pinlabel=D1 T 400 6200 5 10 0 1 0 0 1 pintype=io } P 400 5800 100 5800 1 0 1 { T 100 5800 5 10 1 1 0 0 1 pinnumber=3 T 400 5800 5 10 0 1 0 0 1 pinseq=3 T 500 5800 3 10 1 1 0 0 1 pinlabel=D2 T 400 5800 5 10 0 1 0 0 1 pintype=io } P 400 5400 100 5400 1 0 1 { T 100 5400 5 10 1 1 0 0 1 pinnumber=4 T 400 5400 5 10 0 1 0 0 1 pinseq=4 T 500 5400 3 10 1 1 0 0 1 pinlabel=D3 T 400 5400 5 10 0 1 0 0 1 pintype=io } P 400 5000 100 5000 1 0 1 { T 100 5000 5 10 1 1 0 0 1 pinnumber=5 T 400 5000 5 10 0 1 0 0 1 pinseq=5 T 500 5000 3 10 1 1 0 0 1 pinlabel=D4 T 400 5000 5 10 0 1 0 0 1 pintype=io } P 400 4600 100 4600 1 0 1 { T 100 4600 5 10 1 1 0 0 1 pinnumber=6 T 400 4600 5 10 0 1 0 0 1 pinseq=6 T 500 4600 3 10 1 1 0 0 1 pinlabel=D5 T 400 4600 5 10 0 1 0 0 1 pintype=io } P 400 4200 100 4200 1 0 1 { T 100 4200 5 10 1 1 0 0 1 pinnumber=7 T 400 4200 5 10 0 1 0 0 1 pinseq=7 T 500 4200 3 10 1 1 0 0 1 pinlabel=D6 T 400 4200 5 10 0 1 0 0 1 pintype=io } P 400 3800 100 3800 1 0 1 { T 100 3800 5 10 1 1 0 0 1 pinnumber=8 T 400 3800 5 10 0 1 0 0 1 pinseq=8 T 500 3800 3 10 1 1 0 0 1 pinlabel=D7 T 400 3800 5 10 0 1 0 0 1 pintype=io } P 400 12000 100 12000 1 0 1 { T 100 12000 5 10 1 1 0 0 1 pinnumber=12 T 400 12000 5 10 0 1 0 0 1 pinseq=12 T 500 12000 3 10 1 1 0 0 1 pinlabel=CS0 T 400 12000 5 10 0 1 0 0 1 pintype=in } P 400 11600 100 11600 1 0 1 { T 100 11600 5 10 1 1 0 0 1 pinnumber=13 T 400 11600 5 10 0 1 0 0 1 pinseq=13 T 500 11600 3 10 1 1 0 0 1 pinlabel=CS1 T 400 11600 5 10 0 1 0 0 1 pintype=in } P 400 11200 100 11200 1 0 1 { T 100 11200 5 10 1 1 0 0 1 pinnumber=14 T 400 11200 5 10 0 1 0 0 1 pinseq=14 T 500 11200 3 10 1 1 0 0 1 pinlabel=CS2_L T 400 11200 5 10 0 1 0 0 1 pintype=in } P 400 10600 100 10600 1 0 1 { T 100 10600 5 10 1 1 0 0 1 pinnumber=22 T 400 10600 5 10 0 1 0 0 1 pinseq=22 T 500 10600 3 10 1 1 0 0 1 pinlabel=RD T 400 10600 5 10 0 1 0 0 1 pintype=in } P 400 10200 100 10200 1 0 1 { T 100 10200 5 10 1 1 0 0 1 pinnumber=21 T 400 10200 5 10 0 1 0 0 1 pinseq=21 T 500 10200 3 10 1 1 0 0 1 pinlabel=RD_L T 400 10200 5 10 0 1 0 0 1 pintype=in } P 400 1600 100 1600 1 0 1 { T 100 1600 5 10 1 1 0 0 1 pinnumber=10 T 400 1600 5 10 0 1 0 0 1 pinseq=10 T 500 1600 3 10 1 1 0 0 1 pinlabel=SIN T 400 1600 5 10 0 1 0 0 1 pintype=in } P 4200 5400 3900 5400 1 0 0 { T 4000 5400 5 10 1 1 0 0 1 pinnumber=11 T 4200 5400 5 10 0 1 0 0 1 pinseq=11 T 3257 5400 3 10 1 1 0 0 1 pinlabel=SOUT T 4200 5400 5 10 0 1 0 0 1 pintype=out } P 400 8000 100 8000 1 0 1 { T 100 8000 5 10 1 1 0 0 1 pinnumber=28 T 400 8000 5 10 0 1 0 0 1 pinseq=28 T 500 8000 3 10 1 1 0 0 1 pinlabel=A0 T 400 8000 5 10 0 1 0 0 1 pintype=in } P 400 7600 100 7600 1 0 1 { T 100 7600 5 10 1 1 0 0 1 pinnumber=27 T 400 7600 5 10 0 1 0 0 1 pinseq=27 T 500 7600 3 10 1 1 0 0 1 pinlabel=A1 T 400 7600 5 10 0 1 0 0 1 pintype=in } P 400 7200 100 7200 1 0 1 { T 100 7200 5 10 1 1 0 0 1 pinnumber=26 T 400 7200 5 10 0 1 0 0 1 pinseq=26 T 500 7200 3 10 1 1 0 0 1 pinlabel=A2 T 400 7200 5 10 0 1 0 0 1 pintype=in } P 4200 11300 3900 11300 1 0 0 { T 4000 11300 5 10 1 1 0 0 1 pinnumber=15 T 4200 11300 5 10 0 1 0 0 1 pinseq=15 T 2599 11293 3 10 1 1 0 0 1 pinlabel=BAUDOUT_L T 4200 11300 5 10 0 1 0 0 1 pintype=out } P 400 9600 100 9600 1 0 1 { T 100 9600 5 10 1 1 0 0 1 pinnumber=19 T 400 9600 5 10 0 1 0 0 1 pinseq=19 T 500 9600 3 10 1 1 0 0 1 pinlabel=WR T 400 9600 5 10 0 1 0 0 1 pintype=in } P 400 9200 100 9200 1 0 1 { T 100 9200 5 10 1 1 0 0 1 pinnumber=18 T 400 9200 5 10 0 1 0 0 1 pinseq=18 T 500 9200 3 10 1 1 0 0 1 pinlabel=WR_L T 400 9200 5 10 0 1 0 0 1 pintype=io } P 400 3200 100 3200 1 0 1 { T 100 3200 5 10 1 1 0 0 1 pinnumber=16 T 400 3200 5 10 0 1 0 0 1 pinseq=16 T 500 3200 3 10 1 1 0 0 1 pinlabel=XIN T 400 3200 5 10 0 1 0 0 1 pintype=in } P 400 2800 100 2800 1 0 1 { T 100 2800 5 10 1 1 0 0 1 pinnumber=17 T 400 2800 5 10 0 1 0 0 1 pinseq=17 T 500 2800 3 10 1 1 0 0 1 pinlabel=XOUT T 400 2800 5 10 0 1 0 0 1 pintype=out } P 400 2200 100 2200 1 0 1 { T 100 2200 5 10 1 1 0 0 1 pinnumber=9 T 400 2200 5 10 0 1 0 0 1 pinseq=9 T 500 2200 3 10 1 1 0 0 1 pinlabel=RCLK T 400 2200 5 10 0 1 0 0 1 pintype=in } P 4200 10600 3900 10600 1 0 0 { T 4000 10600 5 10 1 1 0 0 1 pinnumber=23 T 4200 10600 5 10 0 1 0 0 1 pinseq=23 T 3369 10600 3 10 1 1 0 0 1 pinlabel=DDIS T 4200 10600 5 10 0 1 0 0 1 pintype=out } P 4200 9800 3900 9800 1 0 0 { T 4000 9800 5 10 1 1 0 0 1 pinnumber=39 T 4200 9800 5 10 0 1 0 0 1 pinseq=39 T 3388 9800 3 10 1 1 0 0 1 pinlabel=RI_L T 4200 9800 5 10 0 1 0 0 1 pintype=in } P 4200 8700 3900 8700 1 0 0 { T 4000 8700 5 10 1 1 0 0 1 pinnumber=34 T 4200 8700 5 10 0 1 0 0 1 pinseq=34 T 3069 8700 3 10 1 1 0 0 1 pinlabel=OUT1_L T 4200 8700 5 10 0 1 0 0 1 pintype=out } P 4200 8300 3900 8300 1 0 0 { T 4000 8300 5 10 1 1 0 0 1 pinnumber=31 T 4200 8300 5 10 0 1 0 0 1 pinseq=31 T 3021 8300 3 10 1 1 0 0 1 pinlabel=OUT2_L T 4200 8300 5 10 0 1 0 0 1 pintype=out } P 4200 7000 3900 7000 1 0 0 { T 4000 7000 5 10 1 1 0 0 1 pinnumber=38 T 4200 7000 5 10 0 1 0 0 1 pinseq=38 T 3160 7000 3 10 1 1 0 0 1 pinlabel=DCD_L T 4200 7000 5 10 0 1 0 0 1 pintype=in } P 4200 6600 3900 6600 1 0 0 { T 4000 6600 5 10 1 1 0 0 1 pinnumber=37 T 4200 6600 5 10 0 1 0 0 1 pinseq=37 T 3172 6599 3 10 1 1 0 0 1 pinlabel=DSR_L T 4200 6600 5 10 0 1 0 0 1 pintype=out } P 4200 6200 3900 6200 1 0 0 { T 4000 6200 5 10 1 1 0 0 1 pinnumber=36 T 4200 6200 5 10 0 1 0 0 1 pinseq=36 T 3179 6194 3 10 1 1 0 0 1 pinlabel=CTS_L T 4200 6200 5 10 0 1 0 0 1 pintype=in } P 4200 5800 3900 5800 1 0 0 { T 4000 5800 5 10 1 1 0 0 1 pinnumber=33 T 4200 5800 5 10 0 1 0 0 1 pinseq=33 T 3184 5800 3 10 1 1 0 0 1 pinlabel=DTR_L T 4200 5800 5 10 0 1 0 0 1 pintype=out } P 400 1000 100 1000 1 0 1 { T 100 1000 5 10 1 1 0 0 1 pinnumber=35 T 400 1000 5 10 0 1 0 0 1 pinseq=35 T 500 1000 3 10 1 1 0 0 1 pinlabel=MR T 400 1000 5 10 0 1 0 0 1 pintype=in } P 4200 4100 3900 4100 1 0 0 { T 4000 4100 5 10 1 1 0 0 1 pinnumber=30 T 4200 4100 5 10 0 1 0 0 1 pinseq=30 T 3373 4100 3 10 1 1 0 0 1 pinlabel=INTR T 4200 4100 5 10 0 1 0 0 1 pintype=out } P 400 8600 100 8600 1 0 1 { T 100 8600 5 10 1 1 0 0 1 pinnumber=25 T 400 8600 5 10 0 1 0 0 1 pinseq=25 T 500 8600 3 10 1 1 0 0 1 pinlabel=ADS_L T 400 8600 5 10 0 1 0 0 1 pintype=in } P 4200 7400 3900 7400 1 0 0 { T 4000 7400 5 10 1 1 0 0 1 pinnumber=32 T 4200 7400 5 10 0 1 0 0 1 pinseq=32 T 3189 7400 3 10 1 1 0 0 1 pinlabel=RTS_L T 4200 7400 5 10 0 1 0 0 1 pintype=out } P 4200 2800 3900 2800 1 0 0 { T 4000 2800 5 10 1 1 0 0 1 pinnumber=24 T 4200 2800 5 10 0 1 0 0 1 pinseq=24 T 2924 2800 3 10 1 1 0 0 1 pinlabel=TXRDY_L T 4200 2800 5 10 0 1 0 0 1 pintype=out } P 4200 2400 3900 2400 1 0 0 { T 4000 2400 5 10 1 1 0 0 1 pinnumber=29 T 4200 2400 5 10 0 1 0 0 1 pinseq=29 T 2911 2400 3 10 1 1 0 0 1 pinlabel=RXRDY_L T 4200 2400 5 10 0 1 0 0 1 pintype=out } P 2000 12700 2000 12400 1 0 0 { T 2000 12500 5 10 1 1 0 0 1 pinnumber=40 T 2000 12500 5 10 0 1 0 0 1 pinseq=40 T 2100 11900 3 10 1 1 90 0 1 pinlabel=VDD T 2000 12700 5 10 0 1 0 0 1 pintype=pwr } T 400 12500 9 10 1 0 0 0 1 PC16550D T 3600 12500 5 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/national/DS26C31-1.sym0000664000175000017500000000723712204104272015215 00000000000000v 20031231 1 L 300 2800 300 2400 3 0 0 0 -1 -1 L 300 2400 600 2600 3 0 0 0 -1 -1 L 600 2600 300 2800 3 0 0 0 -1 -1 V 550 2500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2600 300 2600 1 0 0 { T 100 2700 5 8 1 1 0 7 1 pinnumber=1 T 100 2700 5 8 0 1 0 7 1 pinseq=1 T 100 2700 5 8 0 1 0 6 1 pinlabel=I0 T 100 2700 5 8 0 1 0 8 1 pintype=in } P 800 2700 500 2700 1 0 0 { T 700 2800 5 8 1 1 0 7 1 pinnumber=2 T 700 2800 5 8 0 1 0 7 1 pinseq=2 T 700 2750 5 8 0 1 0 6 1 pinlabel=O0+ T 700 2750 5 8 0 1 0 8 1 pintype=out } P 800 2500 600 2500 1 0 0 { T 700 2600 5 8 1 1 0 7 1 pinnumber=3 T 700 2600 5 8 0 1 0 7 1 pinseq=3 T 700 2550 5 8 0 1 0 6 1 pinlabel=O0- T 700 2550 5 8 0 1 0 8 1 pintype=out } L 300 2300 300 1900 3 0 0 0 -1 -1 L 300 1900 600 2100 3 0 0 0 -1 -1 L 600 2100 300 2300 3 0 0 0 -1 -1 V 550 2000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2100 300 2100 1 0 0 { T 100 2200 5 8 1 1 0 7 1 pinnumber=7 T 100 2200 5 8 0 1 0 7 1 pinseq=7 T 100 2150 5 8 0 1 0 6 1 pinlabel=I1 T 100 2150 5 8 0 1 0 8 1 pintype=in } P 800 2200 500 2200 1 0 0 { T 700 2300 5 8 1 1 0 7 1 pinnumber=6 T 700 2300 5 8 0 1 0 7 1 pinseq=6 T 700 2250 5 8 0 1 0 6 1 pinlabel=O1+ T 700 2250 5 8 0 1 0 8 1 pintype=out } P 800 2000 600 2000 1 0 0 { T 700 2100 5 8 1 1 0 7 1 pinnumber=5 T 700 2100 5 8 0 1 0 7 1 pinseq=5 T 700 2050 5 8 0 1 0 6 1 pinlabel=O1- T 700 2050 5 8 0 1 0 8 1 pintype=out } L 300 1800 300 1400 3 0 0 0 -1 -1 L 300 1400 600 1600 3 0 0 0 -1 -1 L 600 1600 300 1800 3 0 0 0 -1 -1 V 550 1500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1600 300 1600 1 0 0 { T 100 1700 5 8 1 1 0 7 1 pinnumber=9 T 100 1700 5 8 0 1 0 7 1 pinseq=9 T 100 1650 5 8 0 1 0 6 1 pinlabel=I2 T 100 1650 5 8 0 1 0 8 1 pintype=in } P 800 1700 500 1700 1 0 0 { T 700 1800 5 8 1 1 0 7 1 pinnumber=10 T 700 1800 5 8 0 1 0 7 1 pinseq=10 T 700 1750 5 8 0 1 0 6 1 pinlabel=O2+ T 700 1750 5 8 0 1 0 8 1 pintype=out } P 800 1500 600 1500 1 0 0 { T 700 1600 5 8 1 1 0 7 1 pinnumber=11 T 700 1600 5 8 0 1 0 7 1 pinseq=11 T 700 1550 5 8 0 1 0 6 1 pinlabel=O2- T 700 1550 5 8 0 1 0 8 1 pintype=out } L 300 1300 300 900 3 0 0 0 -1 -1 L 300 900 600 1100 3 0 0 0 -1 -1 L 600 1100 300 1300 3 0 0 0 -1 -1 V 550 1000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1100 300 1100 1 0 0 { T 100 1200 5 8 1 1 0 7 1 pinnumber=15 T 100 1200 5 8 0 1 0 7 1 pinseq=15 T 100 1150 5 8 0 1 0 6 1 pinlabel=I3 T 100 1150 5 8 0 1 0 8 1 pintype=in } P 800 1200 500 1200 1 0 0 { T 700 1300 5 8 1 1 0 7 1 pinnumber=14 T 700 1300 5 8 0 1 0 7 1 pinseq=14 T 700 1250 5 8 0 1 0 6 1 pinlabel=O3+ T 700 1250 5 8 0 1 0 8 1 pintype=out } P 800 1000 600 1000 1 0 0 { T 700 1100 5 8 1 1 0 7 1 pinnumber=13 T 700 1100 5 8 0 1 0 7 1 pinseq=13 T 700 1050 5 8 0 1 0 6 1 pinlabel=O3- T 700 1050 5 8 0 1 0 8 1 pintype=out } P 0 500 300 500 1 0 0 { T 100 600 5 8 1 1 0 7 1 pinnumber=4 T 100 600 5 8 0 1 0 7 1 pinseq=4 T 100 550 5 8 0 1 0 6 1 pinlabel=ENA+ T 100 550 5 8 0 1 0 8 1 pintype=in } P 0 100 200 100 1 0 0 { T 100 200 5 8 1 1 0 7 1 pinnumber=12 T 100 200 5 8 0 1 0 7 1 pinseq=12 T 100 150 5 8 0 1 0 6 1 pinlabel=ENA- T 100 150 5 8 0 1 0 8 1 pintype=in } L 260 0 600 0 3 0 0 0 -1 -1 L 260 600 600 600 3 0 0 0 -1 -1 L 1000 300 1200 300 3 0 0 0 -1 -1 L 1200 300 1200 800 3 0 0 0 -1 -1 L 1200 800 600 800 3 0 0 0 -1 -1 L 600 800 400 1000 3 0 0 0 -1 -1 T 0 3900 5 10 0 0 0 0 1 device=DS26C31 T 200 3100 9 8 1 0 0 0 1 DS26C31 A 0 300 400 312 97 3 0 0 0 -1 -1 V 250 100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 A 600 400 400 270 76 3 0 0 0 -1 -1 A 600 200 400 14 76 3 0 0 0 -1 -1 T 300 3300 8 10 1 1 0 0 1 refdes=U? T 0 4150 5 10 0 0 0 0 1 footprint=DIP16 T 0 4350 5 10 0 0 0 0 1 description=Quad Differential Line Driver T 0 4550 5 10 0 0 0 0 1 documentation=TBD T 0 4750 5 10 0 0 0 0 1 net=Vcc:16 T 0 4950 5 10 0 0 0 0 1 net=GND:8 T 0 5200 5 10 0 0 0 0 1 numslots=0 geda-gaf-1.8.2/symbols/national/DS26C32-2.sym0000664000175000017500000000722512204104272015214 00000000000000v 20031231 1 L 300 2800 300 2400 3 0 0 0 -1 -1 L 300 2400 600 2600 3 0 0 0 -1 -1 L 600 2600 300 2800 3 0 0 0 -1 -1 V 250 2500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2700 300 2700 1 0 0 { T 100 2800 5 8 1 1 0 7 1 pinnumber=2 T 100 2800 5 8 0 0 0 7 1 pinseq=2 T 100 2750 5 8 0 1 0 6 1 pinlabel=I0+ T 100 2750 5 8 0 1 0 8 1 pintype=in } P 0 2500 200 2500 1 0 0 { T 100 2600 5 8 1 1 0 7 1 pinnumber=1 T 100 2600 5 8 0 0 0 7 1 pinseq=1 T 100 2550 5 8 0 1 0 6 1 pinlabel=I0- T 100 2550 5 8 0 1 0 8 1 pintype=in } P 800 2600 600 2600 1 0 0 { T 700 2700 5 8 1 1 0 7 1 pinnumber=3 T 700 2700 5 8 0 0 0 7 1 pinseq=3 T 700 2650 5 8 0 1 0 6 1 pinlabel=O0 T 700 2650 5 8 0 1 0 8 1 pintype=out } L 300 2300 300 1900 3 0 0 0 -1 -1 L 300 1900 600 2100 3 0 0 0 -1 -1 L 600 2100 300 2300 3 0 0 0 -1 -1 V 250 2000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2200 300 2200 1 0 0 { T 100 2300 5 8 1 1 0 7 1 pinnumber=6 T 100 2300 5 8 0 0 0 7 1 pinseq=6 T 100 2250 5 8 0 1 0 6 1 pinlabel=I1+ T 100 2250 5 8 0 1 0 8 1 pintype=in } P 0 2000 200 2000 1 0 0 { T 100 2100 5 8 1 1 0 7 1 pinnumber=7 T 100 2100 5 8 0 0 0 7 1 pinseq=7 T 100 2050 5 8 0 1 0 6 1 pinlabel=I1- T 100 2050 5 8 0 1 0 8 1 pintype=in } P 800 2100 600 2100 1 0 0 { T 700 2200 5 8 1 1 0 7 1 pinnumber=5 T 700 2200 5 8 0 0 0 7 1 pinseq=5 T 700 2150 5 8 0 1 0 6 1 pinlabel=O1 T 700 2150 5 8 0 1 0 8 1 pintype=out } L 300 1800 300 1400 3 0 0 0 -1 -1 L 300 1400 600 1600 3 0 0 0 -1 -1 L 600 1600 300 1800 3 0 0 0 -1 -1 V 250 1500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1700 300 1700 1 0 0 { T 100 1800 5 8 1 1 0 7 1 pinnumber=10 T 100 1800 5 8 0 0 0 7 1 pinseq=10 T 100 1750 5 8 0 1 0 6 1 pinlabel=I2+ T 100 1750 5 8 0 1 0 8 1 pintype=in } P 0 1500 200 1500 1 0 0 { T 100 1600 5 8 1 1 0 7 1 pinnumber=9 T 100 1600 5 8 0 0 0 7 1 pinseq=9 T 100 1550 5 8 0 1 0 6 1 pinlabel=I2- T 100 1550 5 8 0 1 0 8 1 pintype=in } P 800 1600 600 1600 1 0 0 { T 700 1700 5 8 1 1 0 7 1 pinnumber=11 T 700 1700 5 8 0 0 0 7 1 pinseq=11 T 700 1650 5 8 0 1 0 6 1 pinlabel=O2 T 700 1650 5 8 0 1 0 8 1 pintype=out } L 300 1300 300 900 3 0 0 0 -1 -1 L 300 900 600 1100 3 0 0 0 -1 -1 L 600 1100 300 1300 3 0 0 0 -1 -1 V 250 1000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1200 300 1200 1 0 0 { T 100 1300 5 8 1 1 0 7 1 pinnumber=14 T 100 1300 5 8 0 0 0 7 1 pinseq=14 T 100 1250 5 8 0 1 0 6 1 pinlabel=I3+ T 100 1250 5 8 0 1 0 8 1 pintype=in } P 0 1000 200 1000 1 0 0 { T 100 1100 5 8 1 1 0 7 1 pinnumber=15 T 100 1100 5 8 0 0 0 7 1 pinseq=15 T 100 1050 5 8 0 1 0 6 1 pinlabel=I3- T 100 1050 5 8 0 1 0 8 1 pintype=in } P 800 1100 600 1100 1 0 0 { T 700 1200 5 8 1 1 0 7 1 pinnumber=13 T 700 1200 5 8 0 0 0 7 1 pinseq=13 T 700 1150 5 8 0 1 0 6 1 pinlabel=O3 T 700 1150 5 8 0 1 0 8 1 pintype=out } P 0 500 300 500 1 0 0 { T 100 600 5 8 1 1 0 7 1 pinnumber=4 T 100 600 5 8 0 0 0 7 1 pinseq=4 T 100 550 5 8 0 1 0 6 1 pinlabel=ENA+ T 100 550 5 8 0 1 0 8 1 pintype=in } P 0 100 200 100 1 0 0 { T 100 200 5 8 1 1 0 7 1 pinnumber=12 T 100 200 5 8 0 0 0 7 1 pinseq=12 T 100 150 5 8 0 1 0 6 1 pinlabel=ENA- T 100 150 5 8 0 1 0 8 1 pintype=in } L 260 0 600 0 3 0 0 0 -1 -1 L 260 600 600 600 3 0 0 0 -1 -1 L 1000 300 1200 300 3 0 0 0 -1 -1 L 1200 300 1200 800 3 0 0 0 -1 -1 L 1200 800 600 800 3 0 0 0 -1 -1 L 600 800 500 1000 3 0 0 0 -1 -1 T 0 3900 5 10 0 0 0 0 1 device=DS26C32 T 200 3100 9 8 1 0 0 0 1 DS26C32 A 0 300 400 312 97 3 0 0 0 -1 -1 V 250 100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 A 600 400 400 270 76 3 0 0 0 -1 -1 A 600 200 400 14 76 3 0 0 0 -1 -1 T 300 3300 8 10 1 1 0 0 1 refdes=U? T 0 4150 5 10 0 0 0 0 1 footprint=DIP16 T 0 4350 5 10 0 0 0 0 1 description=Quad Differential Line Receiver T 0 4750 5 10 0 0 0 0 1 net=Vcc:16 T 0 4950 5 10 0 0 0 0 1 net=GND:8 T 0 4550 5 10 0 0 0 0 1 documentation=TBD T 0 5100 5 10 0 0 0 0 1 numslots=0 geda-gaf-1.8.2/symbols/national/DS26LS31-1.sym0000664000175000017500000000573612204104272015353 00000000000000v 20031231 1 B 300 0 1700 3400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 3100 2300 3100 1 0 1 { T 2150 3150 5 8 1 1 0 0 1 pinnumber=2 T 2150 3150 5 8 0 0 0 0 1 pinseq=2 T 1850 3100 9 10 1 1 0 6 1 pinlabel=OUT A T 2000 3100 5 10 0 1 0 0 1 pintype=out } P 2000 2300 2300 2300 1 0 1 { T 2150 2350 5 8 1 1 0 0 1 pinnumber=6 T 2150 2350 5 8 0 0 0 0 1 pinseq=6 T 1850 2300 9 10 1 1 0 6 1 pinlabel=OUT B T 2000 2300 5 10 0 1 0 0 1 pintype=out } P 2000 1500 2300 1500 1 0 1 { T 2150 1550 5 8 1 1 0 0 1 pinnumber=10 T 2150 1550 5 8 0 0 0 0 1 pinseq=10 T 1850 1500 9 10 1 1 0 6 1 pinlabel=OUT C T 2000 1500 5 10 0 1 0 0 1 pintype=out } P 2000 700 2300 700 1 0 1 { T 2150 750 5 8 1 1 0 0 1 pinnumber=14 T 2150 750 5 8 0 0 0 0 1 pinseq=14 T 1850 700 9 10 1 1 0 6 1 pinlabel=OUT D T 2000 700 5 10 0 1 0 0 1 pintype=out } V 2050 2700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2100 2700 2300 2700 1 0 1 { T 2150 2750 5 8 1 1 0 0 1 pinnumber=3 T 2150 2750 5 8 0 0 0 0 1 pinseq=3 T 1850 2700 9 10 1 1 0 6 1 pinlabel=/OUT A T 2100 2700 5 10 0 1 0 0 1 pintype=out } V 2050 1900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 2050 1100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 2050 300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2100 1900 2300 1900 1 0 1 { T 2150 1950 5 8 1 1 0 0 1 pinnumber=5 T 2150 1950 5 8 0 0 0 0 1 pinseq=5 T 1850 1900 9 10 1 1 0 6 1 pinlabel=/OUT B T 2100 1900 5 10 0 1 0 0 1 pintype=out } P 2100 300 2300 300 1 0 1 { T 2150 350 5 8 1 1 0 0 1 pinnumber=13 T 2150 350 5 8 0 0 0 0 1 pinseq=13 T 1850 300 9 10 1 1 0 6 1 pinlabel=/OUT D T 2100 300 5 10 0 1 0 0 1 pintype=out } P 300 3100 0 3100 1 0 1 { T 200 3150 5 8 1 1 0 6 1 pinnumber=1 T 200 3150 5 8 0 0 0 6 1 pinseq=1 T 400 3100 9 10 1 1 0 0 1 pinlabel=IN A T 300 3100 5 10 0 1 0 0 1 pintype=in } P 300 2700 0 2700 1 0 1 { T 200 2750 5 8 1 1 0 6 1 pinnumber=7 T 200 2750 5 8 0 0 0 6 1 pinseq=7 T 400 2700 9 10 1 1 0 0 1 pinlabel=IN B T 300 2700 5 10 0 1 0 0 1 pintype=in } P 300 2300 0 2300 1 0 1 { T 200 2350 5 8 1 1 0 6 1 pinnumber=9 T 200 2350 5 8 0 0 0 6 1 pinseq=9 T 400 2300 9 10 1 1 0 0 1 pinlabel=IN C T 300 2300 5 10 0 1 0 0 1 pintype=in } P 300 1900 0 1900 1 0 1 { T 200 1950 5 8 1 1 0 6 1 pinnumber=15 T 200 1950 5 8 0 0 0 6 1 pinseq=15 T 400 1900 9 10 1 1 0 0 1 pinlabel=IN D T 300 1900 5 10 0 1 0 0 1 pintype=in } P 300 1500 0 1500 1 0 1 { T 200 1550 5 8 1 1 0 6 1 pinnumber=4 T 200 1550 5 8 0 0 0 6 1 pinseq=4 T 400 1500 9 10 1 1 0 0 1 pinlabel=ENB T 300 1500 5 10 0 1 0 0 1 pintype=in } V 250 1100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2100 1100 2300 1100 1 0 1 { T 2150 1150 5 8 1 1 0 0 1 pinnumber=11 T 2150 1150 5 8 0 0 0 0 1 pinseq=11 T 1850 1100 9 10 1 1 0 6 1 pinlabel=/OUT C T 2100 1100 5 10 0 1 0 0 1 pintype=out } P 200 1100 0 1100 1 0 1 { T 200 1150 5 8 1 1 0 6 1 pinnumber=12 T 200 1150 5 8 0 0 0 6 1 pinseq=12 T 400 1100 9 10 1 1 0 0 1 pinlabel=/ENB T 200 1100 5 10 0 1 0 0 1 pintype=in } T 1400 3700 5 10 0 0 0 0 1 device=DS26LS31 T 300 3450 9 10 1 0 0 0 1 DS26LS31 T 2000 3500 8 10 1 1 0 6 1 refdes=U? T 2700 3100 9 10 0 0 0 0 1 numslots=0 T 3400 2500 8 10 0 1 0 0 1 footprint=DIL 16 300 geda-gaf-1.8.2/symbols/national/DS75176-1.sym0000664000175000017500000000264112204104272015202 00000000000000v 20041228 1 P 300 1000 0 1000 1 0 1 { T 200 1050 5 8 1 1 0 6 1 pinnumber=2 T 200 950 5 8 0 1 0 8 1 pinseq=2 T 350 1000 9 8 1 1 0 0 1 pinlabel=RE* T 350 1000 5 8 0 1 0 2 1 pintype=in } P 300 700 0 700 1 0 1 { T 200 750 5 8 1 1 0 6 1 pinnumber=3 T 200 650 5 8 0 1 0 8 1 pinseq=3 T 350 700 9 8 1 1 0 0 1 pinlabel=DE T 350 700 5 8 0 1 0 2 1 pintype=in } P 300 400 0 400 1 0 1 { T 200 450 5 8 1 1 0 6 1 pinnumber=4 T 200 350 5 8 0 1 0 8 1 pinseq=4 T 350 400 9 8 1 1 0 0 1 pinlabel=DI T 350 400 5 8 0 1 0 2 1 pintype=in } P 1700 400 2000 400 1 0 1 { T 1800 450 5 8 1 1 0 0 1 pinnumber=6 T 1800 350 5 8 0 1 0 2 1 pinseq=6 T 1650 400 9 8 1 1 0 6 1 pinlabel=DO/RI T 1650 400 5 8 0 1 0 8 1 pintype=tri } T 300 1750 9 10 1 0 0 0 1 DS75176 P 1700 1300 2000 1300 1 0 1 { T 1800 1350 5 8 1 1 0 0 1 pinnumber=7 T 1800 1250 5 8 0 1 0 2 1 pinseq=7 T 1650 1300 9 8 1 1 0 6 1 pinlabel=DO*/RI* T 1650 1300 5 8 0 1 0 8 1 pintype=tri } P 300 1300 0 1300 1 0 1 { T 200 1350 5 8 1 1 0 6 1 pinnumber=1 T 200 1250 5 8 0 1 0 8 1 pinseq=1 T 350 1300 9 8 1 1 0 0 1 pinlabel=RO T 350 1300 5 8 0 1 0 2 1 pintype=out } B 300 0 1400 1700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1700 1800 8 10 1 1 0 6 1 refdes=U? T 300 1950 8 10 0 0 0 0 1 footprint=DIP8 T 300 2150 8 10 0 0 0 0 1 description=Multipoint RS-485/RS-422 Transceivers T 300 2750 8 10 0 0 0 0 1 numslots=0 T 300 2350 8 10 0 0 0 0 1 net=Vcc:8 T 300 2550 8 10 0 0 0 0 1 net=GND:5 T 300 2950 8 10 0 0 0 0 1 device=DS75176 geda-gaf-1.8.2/symbols/national/lm4871m-1.sym0000664000175000017500000000203712204104272015372 00000000000000v 20031231 1 L 200 800 200 0 3 0 0 0 -1 -1 L 200 800 1000 400 3 0 0 0 -1 -1 L 1000 400 200 0 3 0 0 0 -1 -1 L 300 250 300 150 3 0 0 0 -1 -1 L 250 600 350 600 3 0 0 0 -1 -1 L 250 200 350 200 3 0 0 0 -1 -1 P 0 600 200 600 1 0 0 { T 100 625 5 10 0 1 0 0 1 pinnumber=4 T 100 625 5 10 0 0 0 0 1 pinseq=4 } P 0 200 200 200 1 0 0 { T 100 225 5 10 0 1 0 0 1 pinnumber=3 T 100 225 5 10 0 0 0 0 1 pinseq=3 } P 800 300 1200 300 1 0 1 { T 1100 300 5 10 0 1 0 0 1 pinnumber=8 T 1100 300 5 10 0 0 0 0 1 pinseq=8 } P 700 0 700 250 1 0 0 { T 675 125 5 10 0 1 0 0 1 pinnumber=1 T 675 125 5 10 0 0 0 0 1 pinseq=1 T 600 300 5 6 1 1 0 0 1 pinlabel=_sd } P 500 150 500 0 1 0 1 { T 500 50 5 10 0 1 0 0 1 pinnumber=2 T 500 50 5 10 0 0 0 0 1 pinseq=2 T 400 200 5 6 1 1 0 0 1 pinlabel=byp } T 700 600 8 10 1 1 0 0 1 refdes=U? P 800 500 1200 500 1 0 1 { T 1100 500 5 10 0 1 0 0 1 pinnumber=5 T 1100 500 5 10 0 0 0 0 1 pinseq=5 } T 175 1000 8 10 0 0 0 0 1 net=Vcc:6 T 175 1200 8 10 0 0 0 0 1 net=GND:7 T 175 1525 8 10 0 1 0 0 1 device=LM4871M T 175 1350 8 10 0 1 0 0 1 footprint=SO8 geda-gaf-1.8.2/symbols/national/DAC0808-1.sym0000664000175000017500000000445212204104272015173 00000000000000v 20031231 1 B 300 300 1500 2700 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 T 300 3700 8 10 0 0 0 0 1 device=DAC0808 T 300 3300 2 10 1 1 0 0 1 refdes=U? T 300 3050 3 10 1 0 0 0 1 DAC0808 P 1800 600 2100 600 1 0 1 { T 1900 650 5 8 1 1 0 0 1 pinnumber=1 T 1900 650 5 8 0 0 0 0 1 pinseq=1 } P 900 300 900 0 1 0 1 { T 975 150 5 8 1 1 0 0 1 pinnumber=2 T 975 150 5 8 0 0 0 0 1 pinseq=2 T 732 350 3 8 1 1 0 0 1 pinlabel=GND } P 1500 300 1500 0 1 0 1 { T 1575 150 5 8 1 1 0 0 1 pinnumber=3 T 1575 150 5 8 0 0 0 0 1 pinseq=3 T 1318 350 3 8 1 1 0 0 1 pinlabel=-Vcc } P 1800 1800 2100 1800 1 0 1 { T 1900 1850 5 8 1 1 0 0 1 pinnumber=4 T 1900 1850 5 8 0 0 0 0 1 pinseq=4 T 1422 1750 3 8 1 1 0 0 1 pinlabel=OUT } P 300 2700 0 2700 1 0 1 { T 120 2750 5 8 1 1 0 0 1 pinnumber=5 T 120 2750 5 8 0 0 0 0 1 pinseq=5 T 375 2650 3 8 1 1 0 0 1 pinlabel=D1 } P 300 2400 0 2400 1 0 1 { T 104 2450 5 8 1 1 0 0 1 pinnumber=6 T 104 2450 5 8 0 0 0 0 1 pinseq=6 T 375 2350 3 8 1 1 0 0 1 pinlabel=D2 } P 300 2100 0 2100 1 0 1 { T 120 2150 5 8 1 1 0 0 1 pinnumber=7 T 120 2150 5 8 0 0 0 0 1 pinseq=7 T 375 2050 3 8 1 1 0 0 1 pinlabel=D3 } P 300 1800 0 1800 1 0 1 { T 112 1850 5 8 1 1 0 0 1 pinnumber=8 T 112 1850 5 8 0 0 0 0 1 pinseq=8 T 375 1750 3 8 1 1 0 0 1 pinlabel=D4 } P 300 1500 0 1500 1 0 1 { T 96 1550 5 8 1 1 0 0 1 pinnumber=9 T 96 1550 5 8 0 0 0 0 1 pinseq=9 T 375 1450 3 8 1 1 0 0 1 pinlabel=D5 } P 300 1200 0 1200 1 0 1 { T 32 1250 5 8 1 1 0 0 1 pinnumber=10 T 32 1250 5 8 0 0 0 0 1 pinseq=10 T 375 1150 3 8 1 1 0 0 1 pinlabel=D6 } P 300 900 0 900 1 0 1 { T 72 950 5 8 1 1 0 0 1 pinnumber=11 T 72 950 5 8 0 0 0 0 1 pinseq=11 T 375 850 3 8 1 1 0 0 1 pinlabel=D7 } P 300 600 0 600 1 0 1 { T 32 650 5 8 1 1 0 0 1 pinnumber=12 T 32 650 5 8 0 0 0 0 1 pinseq=12 T 375 550 3 8 1 1 0 0 1 pinlabel=D8 } P 1500 3000 1500 3300 1 0 1 { T 1575 3075 5 8 1 1 0 0 1 pinnumber=13 T 1575 3075 5 8 0 0 0 0 1 pinseq=13 T 1358 2850 3 8 1 1 0 0 1 pinlabel=Vcc } P 1800 2400 2100 2400 1 0 1 { T 1900 2450 5 8 1 1 0 0 1 pinnumber=14 T 1900 2450 5 8 0 0 0 0 1 pinseq=14 T 1378 2350 3 8 1 1 0 0 1 pinlabel=Uref+ } P 1800 1200 2100 1200 1 0 1 { T 1900 1250 5 8 1 1 0 0 1 pinnumber=15 T 1900 1250 5 8 0 0 0 0 1 pinseq=15 T 1378 1150 3 8 1 1 0 0 1 pinlabel=Uref- } P 1800 900 2100 900 1 0 1 { T 1900 950 5 8 1 1 0 0 1 pinnumber=16 T 1900 950 5 8 0 0 0 0 1 pinseq=16 T 1638 850 3 8 1 1 0 0 1 pinlabel=C } geda-gaf-1.8.2/symbols/national/DS2890_TO92-1.sym0000664000175000017500000000242612204104272015671 00000000000000v 20031231 1 P 800 1400 800 1100 1 0 0 { T 650 1150 5 8 1 1 0 0 1 pinnumber=3 T 650 1300 5 8 0 1 0 0 1 pinseq=3 T 300 1150 5 10 0 1 0 0 1 pintype=pas T 900 1150 9 10 1 1 0 0 1 pinlabel=RH } P 800 0 800 300 1 0 0 { T 700 150 5 8 1 1 0 0 1 pinnumber=1 T 700 0 5 8 0 1 0 0 1 pinseq=1 T 350 150 5 10 0 1 0 0 1 pintype=pwr T 850 150 9 10 1 1 0 0 1 pinlabel=GND } P 100 700 400 700 1 0 0 { T 250 800 5 8 1 1 0 0 1 pinnumber=2 T 250 950 5 8 0 1 0 0 1 pinseq=2 T 50 800 5 10 0 1 0 0 1 pintype=io T 0 500 9 10 1 1 0 0 1 pinlabel=1-W } L 800 1000 900 950 3 0 0 0 -1 -1 L 900 950 700 850 3 0 0 0 -1 -1 L 700 850 900 750 3 0 0 0 -1 -1 L 900 750 700 650 3 0 0 0 -1 -1 L 700 650 900 550 3 0 0 0 -1 -1 L 900 550 700 450 3 0 0 0 -1 -1 L 700 450 800 400 3 0 0 0 -1 -1 A 800 700 400 60 240 3 0 0 0 -1 -1 L 1000 1050 1000 350 3 0 0 0 -1 -1 L 800 400 550 400 3 0 0 0 -1 -1 L 550 400 550 700 3 0 0 0 -1 -1 L 550 700 700 700 3 0 0 0 -1 -1 L 700 700 600 750 3 0 0 0 -1 -1 L 700 700 600 650 3 0 0 0 -1 -1 T 200 1600 5 10 0 0 0 0 1 device=DS2890 T 200 1800 5 10 0 0 0 0 1 description=1-wire digital potentiometer L 800 1000 800 1100 3 0 0 0 -1 -1 L 800 400 800 300 3 0 0 0 -1 -1 T 1100 900 8 10 1 1 0 0 1 refdes=U? T 200 2000 5 10 0 0 0 0 1 footprint=TO-92 T 200 2200 5 10 0 0 0 0 1 numslots=0 T 1100 700 9 10 1 0 0 0 1 DS2890 geda-gaf-1.8.2/symbols/asic/0000775000175000017500000000000012220655764012600 500000000000000geda-gaf-1.8.2/symbols/asic/asic-res-2.sym0000664000175000017500000000110212204104272015072 00000000000000v 20041228 1 P 1100 100 850 100 1 0 0 { T 1000 150 5 6 0 1 0 0 1 pinnumber=2 T 1000 50 5 8 0 0 0 0 1 pinseq=2 T 1000 150 5 6 0 1 0 0 1 pinlabel=2 T 1000 150 5 6 0 1 0 0 1 pintype=pas } P 0 100 250 100 1 0 0 { T 100 150 5 6 0 1 0 0 1 pinnumber=1 T 100 50 5 8 0 0 0 0 1 pinseq=1 T 100 150 5 6 0 1 0 0 1 pinlabel=1 T 100 150 5 6 0 1 0 0 1 pintype=pas } T 1200 300 5 8 0 0 0 0 1 device=RESISTOR T 200 300 5 10 1 1 0 0 1 refdes=R? B 250 0 600 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 700 300 5 10 1 1 0 0 1 value=1k T 1200 100 5 8 0 0 0 0 1 description=high resistive poly0 resistor geda-gaf-1.8.2/symbols/asic/asic-res-4.sym0000664000175000017500000000134712204104272015107 00000000000000v 20041228 1 P 1100 100 850 100 1 0 0 { T 1000 150 5 6 0 1 0 0 1 pinnumber=2 T 1000 50 5 8 0 0 0 0 1 pinseq=2 T 1000 150 5 6 0 1 0 0 1 pinlabel=2 T 1000 150 5 6 0 1 0 0 1 pintype=pas } P 0 100 250 100 1 0 0 { T 100 150 5 6 0 1 0 0 1 pinnumber=1 T 100 50 5 8 0 0 0 0 1 pinseq=1 T 100 150 5 6 0 1 0 0 1 pinlabel=1 T 100 150 5 6 0 1 0 0 1 pintype=pas } T 1200 300 5 8 0 0 0 0 1 device=RESISTOR T 200 300 5 10 1 1 0 0 1 refdes=R? T 700 300 5 10 1 1 0 0 1 value=1k T 1200 100 5 8 0 0 0 0 1 description=high resistive poly0 resistor L 250 100 300 200 3 0 0 0 -1 -1 L 300 200 400 0 3 0 0 0 -1 -1 L 400 0 500 200 3 0 0 0 -1 -1 L 500 200 600 0 3 0 0 0 -1 -1 L 600 0 700 200 3 0 0 0 -1 -1 L 700 200 800 0 3 0 0 0 -1 -1 L 800 0 850 100 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/asic/asic-diode-1.sym0000664000175000017500000000134612204104272015376 00000000000000v 20041228 1 L 300 450 300 150 3 0 0 0 -1 -1 L 300 450 550 300 3 0 0 0 -1 -1 T 1000 600 5 8 0 0 0 0 1 device=DIODE L 550 300 300 150 3 0 0 0 -1 -1 L 550 450 550 150 3 0 0 0 -1 -1 P 0 300 200 300 1 0 0 { T 100 350 5 6 0 1 0 0 1 pinnumber=A T 0 150 5 8 0 0 0 0 1 pinseq=1 T 100 350 5 6 0 1 0 0 1 pinlabel=A T 100 350 5 6 0 1 0 0 1 pintype=pas } P 900 300 700 300 1 0 0 { T 800 350 5 6 0 1 0 0 1 pinnumber=K T 700 150 5 8 0 0 0 0 1 pinseq=2 T 800 350 5 6 0 1 0 0 1 pinlabel=K T 800 350 5 6 0 1 0 0 1 pintype=pas } L 700 300 550 300 3 0 0 0 -1 -1 L 300 300 200 300 3 0 0 0 -1 -1 T 100 500 5 10 1 1 0 0 1 refdes=D? T 600 350 5 8 1 1 0 0 1 model-name=dnw T 100 0 5 8 1 0 0 0 1 area=1e-12 T 1000 400 5 8 0 0 0 0 1 description=diode NWELL / PSUB geda-gaf-1.8.2/symbols/asic/asic-phhv-1.sym0000664000175000017500000000160712204104272015257 00000000000000v 20050820 1 L 350 750 350 250 3 0 0 0 -1 -1 T 1400 800 5 8 0 0 0 0 1 device=PMOS_TRANSISTOR L 350 500 600 500 3 0 0 0 -1 -1 L 600 500 500 450 3 0 0 0 -1 -1 L 600 500 500 550 3 0 0 0 -1 -1 P 600 700 600 1000 1 0 1 { T 500 900 5 6 0 1 0 0 1 pinnumber=S T 700 900 5 8 0 0 0 0 1 pinseq=3 } P 600 500 700 500 1 0 1 { T 700 600 5 6 0 1 0 0 1 pinnumber=B T 700 400 5 8 0 0 0 0 1 pinseq=4 } P 600 300 600 0 1 0 1 { T 500 100 5 6 0 1 0 0 1 pinnumber=D T 700 100 5 8 0 0 0 0 1 pinseq=1 } P 250 500 0 500 1 0 1 { T 0 600 5 6 0 1 0 0 1 pinnumber=G T 0 400 5 8 0 0 0 0 1 pinseq=2 } T 800 800 5 10 1 1 0 0 1 refdes=M? T 800 600 5 8 1 1 0 0 1 model-name=phhv T 800 300 5 8 1 0 0 0 1 w=10u T 800 100 5 8 1 0 0 0 1 l=3u T 1400 600 5 8 0 0 0 0 1 description=high voltage PMOS B 250 350 50 300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 350 650 250 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 350 300 250 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/asic/asic-cap-1.sym0000664000175000017500000000132212204104272015047 00000000000000v 20041228 1 P 0 300 200 300 1 0 0 { T 100 350 5 6 0 1 0 0 1 pinnumber=1 T 100 150 5 8 0 0 0 0 1 pinseq=1 T 100 350 5 6 0 1 0 0 1 pinlabel=1 T 100 350 5 6 0 1 0 0 1 pintype=pas } P 900 300 700 300 1 0 0 { T 700 350 5 6 0 1 0 0 1 pinnumber=2 T 700 150 5 8 0 0 0 0 1 pinseq=2 T 700 350 5 6 0 1 0 0 1 pinlabel=2 T 700 350 5 6 0 1 0 0 1 pintype=pas } L 400 500 400 100 3 0 0 0 -1 -1 L 500 500 500 100 3 0 0 0 -1 -1 L 700 300 500 300 3 0 0 0 -1 -1 L 400 300 200 300 3 0 0 0 -1 -1 T 1000 400 5 8 0 0 0 0 1 device=CAPACITOR T 100 500 5 10 1 1 0 0 1 refdes=C? T 1000 0 5 8 0 1 0 0 1 description=linear poly0 / poly1 capacitor T 600 350 5 8 1 1 0 0 1 model-name=cpolylin T 100 0 5 8 1 0 0 0 1 w=10u T 600 0 5 8 1 0 0 0 1 l=20u geda-gaf-1.8.2/symbols/asic/asic-res-1.sym0000664000175000017500000000120712204104272015077 00000000000000v 20041228 1 P 1100 500 850 500 1 0 0 { T 1000 550 5 6 0 1 0 0 1 pinnumber=2 T 1000 350 5 8 0 0 0 0 1 pinseq=2 T 1000 550 5 6 0 1 0 0 1 pinlabel=2 T 1000 550 5 6 0 1 0 0 1 pintype=pas } P 0 500 250 500 1 0 0 { T 100 550 5 6 0 1 0 0 1 pinnumber=1 T 100 350 5 8 0 0 0 0 1 pinseq=1 T 100 550 5 6 0 1 0 0 1 pinlabel=1 T 100 550 5 6 0 1 0 0 1 pintype=pas } T 1200 250 5 8 0 0 0 0 1 device=RESISTOR T 200 700 5 10 1 1 0 0 1 refdes=R? B 250 400 600 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 200 200 5 8 1 0 0 0 1 l=10u T 200 0 5 8 1 0 0 0 1 w=3u T 356 450 5 8 1 1 0 0 1 model-name=rpolyh T 1200 100 5 8 0 0 0 0 1 description=high resistive poly0 resistor geda-gaf-1.8.2/symbols/asic/asic-nmmv-1.sym0000664000175000017500000000171112204104272015263 00000000000000v 20050820 1 L 350 750 350 250 3 0 0 0 -1 -1 T 1400 800 5 8 0 0 0 0 1 device=NMOS_TRANSISTOR L 350 500 600 500 3 0 0 0 -1 -1 L 450 550 350 500 3 0 0 0 -1 -1 L 450 450 350 500 3 0 0 0 -1 -1 P 600 700 600 1000 1 0 1 { T 500 900 5 6 0 1 0 0 1 pinnumber=D T 700 900 5 8 0 0 0 0 1 pinseq=1 } P 600 500 700 500 1 0 1 { T 700 600 5 6 0 1 0 0 1 pinnumber=B T 700 400 5 8 0 0 0 0 1 pinseq=4 } P 600 300 600 0 1 0 1 { T 500 100 5 6 0 1 0 0 1 pinnumber=S T 700 100 5 8 0 0 0 0 1 pinseq=3 } P 250 500 0 500 1 0 1 { T 0 600 5 6 0 1 0 0 1 pinnumber=G T 0 400 5 8 0 0 0 0 1 pinseq=2 } T 800 800 5 10 1 1 0 0 1 refdes=M? T 800 600 5 8 1 1 0 0 1 model-name=nmmv T 800 300 5 8 1 0 0 0 1 w=10u T 800 100 5 8 1 0 0 0 1 l=3u T 1400 600 5 8 0 0 0 0 1 description=medium voltage NMOS B 250 350 50 300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 350 650 150 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 350 300 150 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 500 700 600 700 3 0 0 0 -1 -1 L 500 300 600 300 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/asic/asic-nhhv-1.sym0000664000175000017500000000160712204104272015255 00000000000000v 20050820 1 L 350 750 350 250 3 0 0 0 -1 -1 T 1400 800 5 8 0 0 0 0 1 device=NMOS_TRANSISTOR L 350 500 600 500 3 0 0 0 -1 -1 L 450 550 350 500 3 0 0 0 -1 -1 L 450 450 350 500 3 0 0 0 -1 -1 P 600 700 600 1000 1 0 1 { T 500 900 5 6 0 1 0 0 1 pinnumber=D T 700 900 5 8 0 0 0 0 1 pinseq=1 } P 600 500 700 500 1 0 1 { T 700 600 5 6 0 1 0 0 1 pinnumber=B T 700 400 5 8 0 0 0 0 1 pinseq=4 } P 600 300 600 0 1 0 1 { T 500 100 5 6 0 1 0 0 1 pinnumber=S T 700 100 5 8 0 0 0 0 1 pinseq=3 } P 250 500 0 500 1 0 1 { T 0 600 5 6 0 1 0 0 1 pinnumber=G T 0 400 5 8 0 0 0 0 1 pinseq=2 } T 800 800 5 10 1 1 0 0 1 refdes=M? T 800 600 5 8 1 1 0 0 1 model-name=nhhv T 800 300 5 8 1 0 0 0 1 w=10u T 800 100 5 8 1 0 0 0 1 l=3u T 1400 600 5 8 0 0 0 0 1 description=high voltage NMOS B 250 350 50 300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 350 650 250 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 350 300 250 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/asic/asic-pmos-1.sym0000664000175000017500000000216712204104272015272 00000000000000v 20041228 1 L 350 750 350 250 3 0 0 0 -1 -1 T 1400 800 5 8 0 0 0 0 1 device=PMOS_TRANSISTOR L 300 650 300 350 3 0 0 0 -1 -1 L 350 700 600 700 3 0 0 0 -1 -1 L 350 300 600 300 3 0 0 0 -1 -1 L 350 500 600 500 3 0 0 0 -1 -1 L 600 500 500 450 3 0 0 0 -1 -1 L 600 500 500 550 3 0 0 0 -1 -1 P 600 700 600 1000 1 0 1 { T 500 900 5 6 0 1 0 0 1 pinnumber=S T 700 900 5 8 0 0 0 0 1 pinseq=3 T 500 900 5 6 0 1 0 0 1 pinlabel=S T 500 900 5 6 0 1 0 0 1 pintype=pas } P 600 500 700 500 1 0 1 { T 700 600 5 6 0 1 0 0 1 pinnumber=B T 700 400 5 8 0 0 0 0 1 pinseq=4 T 700 600 5 6 0 1 0 0 1 pinlabel=B T 700 600 5 6 0 1 0 0 1 pintype=pas } P 600 300 600 0 1 0 1 { T 500 100 5 6 0 1 0 0 1 pinnumber=D T 700 100 5 8 0 0 0 0 1 pinseq=1 T 500 100 5 6 0 1 0 0 1 pinlabel=D T 500 100 5 6 0 1 0 0 1 pintype=pas } P 300 500 0 500 1 0 1 { T 0 600 5 6 0 1 0 0 1 pinnumber=G T 0 400 5 8 0 0 0 0 1 pinseq=2 T 0 600 5 6 0 1 0 0 1 pinlabel=G T 0 600 5 6 0 1 0 0 1 pintype=pas } T 800 800 5 10 1 1 0 0 1 refdes=M? T 800 600 5 8 1 1 0 0 1 model-name=pmos4 T 800 300 5 8 1 0 0 0 1 w=10u T 800 100 5 8 1 0 0 0 1 l=1u T 1400 600 5 8 0 0 0 0 1 description=low voltage PMOS geda-gaf-1.8.2/symbols/asic/asic-pmmv-1.sym0000664000175000017500000000171112204104272015265 00000000000000v 20050820 1 L 350 750 350 250 3 0 0 0 -1 -1 T 1400 800 5 8 0 0 0 0 1 device=PMOS_TRANSISTOR L 350 500 600 500 3 0 0 0 -1 -1 L 600 500 500 450 3 0 0 0 -1 -1 L 600 500 500 550 3 0 0 0 -1 -1 P 600 700 600 1000 1 0 1 { T 500 900 5 6 0 1 0 0 1 pinnumber=S T 700 900 5 8 0 0 0 0 1 pinseq=3 } P 600 500 700 500 1 0 1 { T 700 600 5 6 0 1 0 0 1 pinnumber=B T 700 400 5 8 0 0 0 0 1 pinseq=4 } P 600 300 600 0 1 0 1 { T 500 100 5 6 0 1 0 0 1 pinnumber=D T 700 100 5 8 0 0 0 0 1 pinseq=1 } P 250 500 0 500 1 0 1 { T 0 600 5 6 0 1 0 0 1 pinnumber=G T 0 400 5 8 0 0 0 0 1 pinseq=2 } T 800 800 5 10 1 1 0 0 1 refdes=M? T 800 600 5 8 1 1 0 0 1 model-name=pmmv T 800 300 5 8 1 0 0 0 1 w=10u T 800 100 5 8 1 0 0 0 1 l=3u T 1400 600 5 8 0 0 0 0 1 description=medium voltage PMOS B 250 350 50 300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 350 650 150 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 350 300 150 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 500 700 600 700 3 0 0 0 -1 -1 L 500 300 600 300 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/asic/asic-nmv-1.sym0000664000175000017500000000163012204104272015106 00000000000000v 20050820 1 L 350 750 350 250 3 0 0 0 -1 -1 T 1400 800 5 8 0 0 0 0 1 device=NMOS_TRANSISTOR L 350 300 600 300 3 0 0 0 -1 -1 L 350 500 600 500 3 0 0 0 -1 -1 L 450 550 350 500 3 0 0 0 -1 -1 L 450 450 350 500 3 0 0 0 -1 -1 P 600 700 600 1000 1 0 1 { T 500 900 5 6 0 1 0 0 1 pinnumber=D T 700 900 5 8 0 0 0 0 1 pinseq=1 } P 600 500 700 500 1 0 1 { T 700 600 5 6 0 1 0 0 1 pinnumber=B T 700 400 5 8 0 0 0 0 1 pinseq=4 } P 600 300 600 0 1 0 1 { T 500 100 5 6 0 1 0 0 1 pinnumber=S T 700 100 5 8 0 0 0 0 1 pinseq=3 } P 250 500 0 500 1 0 1 { T 0 600 5 6 0 1 0 0 1 pinnumber=G T 0 400 5 8 0 0 0 0 1 pinseq=2 } T 800 800 5 10 1 1 0 0 1 refdes=M? T 800 600 5 8 1 1 0 0 1 model-name=nmv T 800 300 5 8 1 0 0 0 1 w=10u T 800 100 5 8 1 0 0 0 1 l=3u T 1400 600 5 8 0 0 0 0 1 description=medium voltage NMOS B 250 350 50 300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 350 650 150 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 500 700 600 700 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/asic/asic-phv-1.sym0000664000175000017500000000156612204104272015113 00000000000000v 20050820 1 L 350 750 350 250 3 0 0 0 -1 -1 T 1400 800 5 8 0 0 0 0 1 device=PMOS_TRANSISTOR L 350 700 600 700 3 0 0 0 -1 -1 L 350 500 600 500 3 0 0 0 -1 -1 L 600 500 500 450 3 0 0 0 -1 -1 L 600 500 500 550 3 0 0 0 -1 -1 P 600 700 600 1000 1 0 1 { T 500 900 5 6 0 1 0 0 1 pinnumber=S T 700 900 5 8 0 0 0 0 1 pinseq=3 } P 600 500 700 500 1 0 1 { T 700 600 5 6 0 1 0 0 1 pinnumber=B T 700 400 5 8 0 0 0 0 1 pinseq=4 } P 600 300 600 0 1 0 1 { T 500 100 5 6 0 1 0 0 1 pinnumber=D T 700 100 5 8 0 0 0 0 1 pinseq=1 } P 250 500 0 500 1 0 1 { T 0 600 5 6 0 1 0 0 1 pinnumber=G T 0 400 5 8 0 0 0 0 1 pinseq=2 } T 800 800 5 10 1 1 0 0 1 refdes=M? T 800 600 5 8 1 1 0 0 1 model-name=phv T 800 300 5 8 1 0 0 0 1 w=10u T 800 100 5 8 1 0 0 0 1 l=3u T 1400 600 5 8 0 0 0 0 1 description=high voltage PMOS B 250 350 50 300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 350 300 250 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/asic/asic-cap-3.sym0000664000175000017500000000127212204104272015055 00000000000000v 20041228 1 P 0 300 200 300 1 0 0 { T 100 350 5 6 0 1 0 0 1 pinnumber=1 T 100 150 5 8 0 0 0 0 1 pinseq=1 T 100 350 5 6 0 1 0 0 1 pinlabel=1 T 100 350 5 6 0 1 0 0 1 pintype=pas } P 900 300 700 300 1 0 0 { T 700 350 5 6 0 1 0 0 1 pinnumber=2 T 700 150 5 8 0 0 0 0 1 pinseq=2 T 700 350 5 6 0 1 0 0 1 pinlabel=2 T 700 350 5 6 0 1 0 0 1 pintype=pas } L 400 500 400 100 3 0 0 0 -1 -1 L 500 500 500 100 3 0 0 0 -1 -1 L 700 300 500 300 3 0 0 0 -1 -1 L 400 300 200 300 3 0 0 0 -1 -1 T 1000 400 5 8 0 0 0 0 1 device=CAPACITOR T 100 500 5 10 1 1 0 0 1 refdes=C? T 100 0 5 8 1 0 0 0 1 area=1e-6 T 1000 0 5 8 0 1 0 0 1 description=linear poly0 / poly1 capacitor T 600 350 5 8 1 1 0 0 1 model-name=cpolylin geda-gaf-1.8.2/symbols/asic/asic-nmos-1.sym0000664000175000017500000000216612204104272015267 00000000000000v 20041228 1 L 350 750 350 250 3 0 0 0 -1 -1 T 1400 800 5 8 0 0 0 0 1 device=NMOS_TRANSISTOR L 300 650 300 350 3 0 0 0 -1 -1 L 350 700 600 700 3 0 0 0 -1 -1 L 350 300 600 300 3 0 0 0 -1 -1 L 350 500 600 500 3 0 0 0 -1 -1 L 450 550 350 500 3 0 0 0 -1 -1 L 450 450 350 500 3 0 0 0 -1 -1 P 600 700 600 1000 1 0 1 { T 500 900 5 6 0 1 0 0 1 pinnumber=D T 700 900 5 8 0 0 0 0 1 pinseq=1 T 500 900 5 6 0 1 0 0 1 pinlabel=D T 500 900 5 6 0 1 0 0 1 pintype=pas } P 600 500 700 500 1 0 1 { T 700 600 5 6 0 1 0 0 1 pinnumber=B T 700 400 5 8 0 0 0 0 1 pinseq=4 T 700 600 5 6 0 1 0 0 1 pinlabel=B T 700 600 5 6 0 1 0 0 1 pintype=pas } P 600 300 600 0 1 0 1 { T 500 100 5 6 0 1 0 0 1 pinnumber=S T 700 100 5 8 0 0 0 0 1 pinseq=3 T 500 100 5 6 0 1 0 0 1 pinlabel=S T 500 100 5 6 0 1 0 0 1 pintype=pas } P 300 500 0 500 1 0 1 { T 0 600 5 6 0 1 0 0 1 pinnumber=G T 0 400 5 8 0 0 0 0 1 pinseq=2 T 0 600 5 6 0 1 0 0 1 pinlabel=G T 0 600 5 6 0 1 0 0 1 pintype=pas } T 800 800 5 10 1 1 0 0 1 refdes=M? T 800 600 5 8 1 1 0 0 1 model-name=nmos4 T 800 300 5 8 1 0 0 0 1 w=1u T 800 100 5 8 1 0 0 0 1 l=3u T 1400 600 5 8 0 0 0 0 1 description=low voltage NMOS geda-gaf-1.8.2/symbols/asic/asic-cap-2.sym0000664000175000017500000000121412204104272015050 00000000000000v 20041228 1 P 0 200 200 200 1 0 0 { T 100 250 5 6 0 1 0 0 1 pinnumber=1 T 100 50 5 8 0 0 0 0 1 pinseq=1 T 100 250 5 6 0 1 0 0 1 pinlabel=1 T 100 250 5 6 0 1 0 0 1 pintype=pas } P 900 200 700 200 1 0 0 { T 700 250 5 6 0 1 0 0 1 pinnumber=2 T 700 50 5 8 0 0 0 0 1 pinseq=2 T 700 250 5 6 0 1 0 0 1 pinlabel=2 T 700 250 5 6 0 1 0 0 1 pintype=pas } L 400 400 400 0 3 0 0 0 -1 -1 L 500 400 500 0 3 0 0 0 -1 -1 L 700 200 500 200 3 0 0 0 -1 -1 L 400 200 200 200 3 0 0 0 -1 -1 T 1000 400 5 8 0 0 0 0 1 device=CAPACITOR T 100 400 5 10 1 1 0 0 1 refdes=C? T 600 400 5 10 1 1 0 0 1 value=1n T 1000 200 5 8 0 0 0 0 1 description=linear poly0 / poly1 capacitor geda-gaf-1.8.2/symbols/asic/asic-pmv-1.sym0000664000175000017500000000163012204104272015110 00000000000000v 20050820 1 L 350 750 350 250 3 0 0 0 -1 -1 T 1400 800 5 8 0 0 0 0 1 device=PMOS_TRANSISTOR L 350 700 600 700 3 0 0 0 -1 -1 L 350 500 600 500 3 0 0 0 -1 -1 L 600 500 500 450 3 0 0 0 -1 -1 L 600 500 500 550 3 0 0 0 -1 -1 P 600 700 600 1000 1 0 1 { T 500 900 5 6 0 1 0 0 1 pinnumber=S T 700 900 5 8 0 0 0 0 1 pinseq=3 } P 600 500 700 500 1 0 1 { T 700 600 5 6 0 1 0 0 1 pinnumber=B T 700 400 5 8 0 0 0 0 1 pinseq=4 } P 600 300 600 0 1 0 1 { T 500 100 5 6 0 1 0 0 1 pinnumber=D T 700 100 5 8 0 0 0 0 1 pinseq=1 } P 250 500 0 500 1 0 1 { T 0 600 5 6 0 1 0 0 1 pinnumber=G T 0 400 5 8 0 0 0 0 1 pinseq=2 } T 800 800 5 10 1 1 0 0 1 refdes=M? T 800 600 5 8 1 1 0 0 1 model-name=pmv T 800 300 5 8 1 0 0 0 1 w=10u T 800 100 5 8 1 0 0 0 1 l=3u T 1400 600 5 8 0 0 0 0 1 description=medium voltage PMOS B 250 350 50 300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 350 300 150 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 500 300 600 300 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/asic/asic-res-3.sym0000664000175000017500000000146612204104272015110 00000000000000v 20041228 1 P 1100 500 850 500 1 0 0 { T 1000 550 5 6 0 1 0 0 1 pinnumber=2 T 1000 350 5 8 0 0 0 0 1 pinseq=2 T 1000 550 5 6 0 1 0 0 1 pinlabel=2 T 1000 550 5 6 0 1 0 0 1 pintype=pas } P 0 500 250 500 1 0 0 { T 100 550 5 6 0 1 0 0 1 pinnumber=1 T 100 350 5 8 0 0 0 0 1 pinseq=1 T 100 550 5 6 0 1 0 0 1 pinlabel=1 T 100 550 5 6 0 1 0 0 1 pintype=pas } T 1200 250 5 8 0 0 0 0 1 device=RESISTOR T 200 700 5 10 1 1 0 0 1 refdes=R? T 200 200 5 8 1 0 0 0 1 l=10u T 200 0 5 8 1 0 0 0 1 w=3u T 606 650 5 8 1 1 0 0 1 model-name=rpolyh T 1200 100 5 8 0 0 0 0 1 description=high resistive poly0 resistor L 250 500 300 400 3 0 0 0 -1 -1 L 300 400 400 600 3 0 0 0 -1 -1 L 400 600 500 400 3 0 0 0 -1 -1 L 500 400 600 600 3 0 0 0 -1 -1 L 600 600 700 400 3 0 0 0 -1 -1 L 700 400 800 600 3 0 0 0 -1 -1 L 800 600 850 500 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/asic/asic-nhv-1.sym0000664000175000017500000000156612204104272015111 00000000000000v 20050820 1 L 350 750 350 250 3 0 0 0 -1 -1 T 1400 800 5 8 0 0 0 0 1 device=NMOS_TRANSISTOR L 350 300 600 300 3 0 0 0 -1 -1 L 350 500 600 500 3 0 0 0 -1 -1 L 450 550 350 500 3 0 0 0 -1 -1 L 450 450 350 500 3 0 0 0 -1 -1 P 600 700 600 1000 1 0 1 { T 500 900 5 6 0 1 0 0 1 pinnumber=D T 700 900 5 8 0 0 0 0 1 pinseq=1 } P 600 500 700 500 1 0 1 { T 700 600 5 6 0 1 0 0 1 pinnumber=B T 700 400 5 8 0 0 0 0 1 pinseq=4 } P 600 300 600 0 1 0 1 { T 500 100 5 6 0 1 0 0 1 pinnumber=S T 700 100 5 8 0 0 0 0 1 pinseq=3 } P 250 500 0 500 1 0 1 { T 0 600 5 6 0 1 0 0 1 pinnumber=G T 0 400 5 8 0 0 0 0 1 pinseq=2 } T 800 800 5 10 1 1 0 0 1 refdes=M? T 800 600 5 8 1 1 0 0 1 model-name=nhv T 800 300 5 8 1 0 0 0 1 w=10u T 800 100 5 8 1 0 0 0 1 l=3u T 1400 600 5 8 0 0 0 0 1 description=high voltage NMOS B 250 350 50 300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 350 650 250 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/amphenol/0000775000175000017500000000000012220655764013464 500000000000000geda-gaf-1.8.2/symbols/amphenol/31-71043-1.sym0000664000175000017500000000276712204104272015170 00000000000000v 20080706 1 P 700 1000 400 1000 1 0 0 { T 550 1050 5 8 0 1 0 6 1 pinnumber=1 T 550 1050 5 8 0 0 0 6 1 pinseq=1 T 600 1000 3 10 1 1 0 6 1 pinlabel=S T 400 1000 5 10 0 1 0 6 1 pintype=io } T 100 1200 8 10 1 1 0 0 1 refdes=J? V 400 1000 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 700 700 400 700 1 0 0 { T 550 750 5 8 0 1 0 6 1 pinnumber=2 T 550 750 5 8 0 0 0 6 1 pinseq=2 T 600 700 3 10 1 1 0 6 1 pinlabel=G T 400 700 5 10 0 1 0 6 1 pintype=io } P 700 500 400 500 1 0 0 { T 550 550 5 8 0 1 0 6 1 pinnumber=3 T 550 550 5 8 0 0 0 6 1 pinseq=3 T 600 500 3 10 1 1 0 6 1 pinlabel=G T 500 500 5 10 0 1 0 6 1 pintype=io } P 700 300 400 300 1 0 0 { T 550 350 5 8 0 1 0 6 1 pinnumber=4 T 550 350 5 8 0 0 0 6 1 pinseq=4 T 600 300 3 10 1 1 0 6 1 pinlabel=G T 500 300 5 10 0 1 0 6 1 pintype=io } P 700 100 400 100 1 0 0 { T 550 150 5 8 0 1 0 6 1 pinnumber=5 T 550 150 5 8 0 0 0 6 1 pinseq=5 T 600 100 3 10 1 1 0 6 1 pinlabel=G T 400 100 5 10 0 1 0 6 1 pintype=io } L 400 1000 0 1000 3 0 0 0 -1 -1 L 0 1100 100 1000 3 0 0 0 -1 -1 L 100 1000 0 900 3 0 0 0 -1 -1 L 400 900 400 100 3 0 0 0 -1 -1 L 400 100 100 100 3 0 0 0 -1 -1 L 100 100 0 200 3 0 0 0 -1 -1 L 100 100 0 0 3 0 0 0 -1 -1 T 100 1650 8 10 0 0 0 0 1 footprint=AMPHENOL_31_71043 T 100 1450 8 10 0 0 0 0 1 description=75 Ohm BNC connector, 90 Degree Angle, PC Mount, Female T 91 1850 8 10 0 0 0 0 1 device=31-71043 T 700 50 9 6 1 0 180 0 1 31-71043 T 91 2050 8 10 0 0 0 0 1 numslots=0 T 91 2250 8 10 0 0 0 0 1 documentation=http://www.amphenolrf.com/part_detail.asp?amphenolNumber=31-71043 geda-gaf-1.8.2/symbols/diode/0000775000175000017500000000000012220655764012745 500000000000000geda-gaf-1.8.2/symbols/diode/diode-2.sym0000664000175000017500000000125412204104272014625 00000000000000v 20031231 1 L 300 500 300 100 3 0 0 0 -1 -1 L 300 500 600 300 3 0 0 0 -1 -1 T 400 600 5 10 0 0 0 0 1 device=DIODE L 600 300 300 100 3 0 0 0 -1 -1 L 600 500 600 100 3 0 0 0 -1 -1 P 0 300 200 300 1 0 0 { T 100 350 5 8 0 1 0 0 1 pinnumber=1 T 100 350 5 8 0 0 0 0 1 pinseq=1 T 100 350 5 8 0 1 0 0 1 pinlabel=1 T 100 350 5 8 0 1 0 0 1 pintype=pas } P 900 300 700 300 1 0 0 { T 700 350 5 8 0 1 0 0 1 pinnumber=2 T 700 350 5 8 0 0 0 0 1 pinseq=2 T 700 350 5 8 0 1 0 0 1 pinlabel=2 T 700 350 5 8 0 1 0 0 1 pintype=pas } L 700 300 600 300 3 0 0 0 -1 -1 L 300 300 200 300 3 0 0 0 -1 -1 A 650 500 50 0 180 3 0 0 0 -1 -1 A 550 100 50 180 180 3 0 0 0 -1 -1 T 300 600 8 10 1 1 0 0 1 refdes=D? geda-gaf-1.8.2/symbols/diode/zener-2.sym0000664000175000017500000000124412204104272014663 00000000000000v 20031231 1 T 400 500 5 10 0 0 0 0 1 device=ZENER_DIODE P 800 100 600 100 1 0 0 { T 600 150 5 8 0 1 0 0 1 pinnumber=2 T 600 150 5 8 0 0 0 0 1 pinseq=2 T 600 150 5 8 0 1 0 0 1 pinlabel=2 T 600 150 5 8 0 1 0 0 1 pintype=pas } P 200 100 0 100 1 0 1 { T 100 150 5 8 0 1 0 0 1 pinnumber=1 T 100 150 5 8 0 0 0 0 1 pinseq=1 T 100 150 5 8 0 1 0 0 1 pinlabel=1 T 100 150 5 8 0 1 0 0 1 pintype=pas } L 300 100 200 100 3 0 0 0 -1 -1 L 300 0 300 200 3 0 0 0 -1 -1 L 300 200 500 100 3 0 0 0 -1 -1 L 500 100 300 0 3 0 0 0 -1 -1 L 400 200 500 200 3 0 0 0 -1 -1 L 500 200 500 0 3 0 0 0 -1 -1 L 500 0 600 0 3 0 0 0 -1 -1 L 500 100 600 100 3 0 0 0 -1 -1 T 300 300 8 10 1 1 0 0 1 refdes=Z? geda-gaf-1.8.2/symbols/diode/mbr1545ct-1.sym0000664000175000017500000000301212204104272015160 00000000000000v 20031231 1 L 100 300 500 300 3 0 0 0 -1 -1 L 100 300 300 600 3 0 0 0 -1 -1 T 200 1300 5 10 0 0 0 0 1 device=MBR1545CT L 300 600 500 300 3 0 0 0 -1 -1 L 100 600 500 600 3 0 0 0 -1 -1 P 300 0 300 200 1 0 0 { T 200 50 5 8 1 1 0 0 1 pinnumber=1 T 200 50 5 8 0 0 0 0 1 pinseq=1 T 200 50 5 8 0 1 0 0 1 pinlabel=1 T 200 50 5 8 0 1 0 0 1 pintype=pas } P 700 200 700 0 1 0 1 { T 600 50 5 8 1 1 0 0 1 pinnumber=2 T 600 50 5 8 0 0 0 0 1 pinseq=2 T 600 50 5 8 0 1 0 0 1 pinlabel=2 T 600 50 5 8 0 1 0 0 1 pintype=pas } L 300 700 300 600 3 0 0 0 -1 -1 L 300 300 300 200 3 0 0 0 -1 -1 T 200 1100 8 10 1 1 0 0 1 refdes=D? L 900 300 1300 300 3 0 0 0 -1 -1 L 900 300 1100 600 3 0 0 0 -1 -1 L 1100 600 1300 300 3 0 0 0 -1 -1 L 900 600 1300 600 3 0 0 0 -1 -1 P 1100 0 1100 200 1 0 0 { T 1000 50 5 8 1 1 0 0 1 pinnumber=3 T 1000 50 5 8 0 0 0 0 1 pinseq=3 T 1000 50 5 8 0 1 0 0 1 pinlabel=3 T 1000 50 5 8 0 1 0 0 1 pintype=pas } P 700 1200 700 1000 1 0 0 { T 600 1050 5 8 1 1 0 0 1 pinnumber=4 T 600 1050 5 8 0 0 0 0 1 pinseq=4 T 600 1050 5 8 0 1 0 0 1 pinlabel=4 T 600 1050 5 8 0 1 0 0 1 pintype=pas } L 1100 700 1100 600 3 0 0 0 -1 -1 L 1100 300 1100 200 3 0 0 0 -1 -1 L 300 700 300 900 3 0 0 0 -1 -1 L 1100 700 1100 900 3 0 0 0 -1 -1 L 1100 900 300 900 3 0 0 0 -1 -1 L 700 1000 700 900 3 0 0 0 -1 -1 L 700 900 700 200 3 0 0 0 -1 -1 T 200 1500 8 10 0 0 0 0 1 footprint=TO-220AB L 500 600 500 700 3 0 0 0 -1 -1 L 100 500 100 600 3 0 0 0 -1 -1 L 900 500 900 600 3 0 0 0 -1 -1 L 1300 600 1300 700 3 0 0 0 -1 -1 B 0 200 1400 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/diode/smda05-1.sym0000664000175000017500000000210112204104272014621 00000000000000v 20041228 1 L 600 400 600 0 3 0 0 0 -1 -1 L 300 200 600 0 3 0 0 0 -1 -1 L 300 200 600 400 3 0 0 0 -1 -1 T 200 900 5 10 0 0 0 0 1 device=SMDA05 L 300 400 300 0 3 0 0 0 -1 -1 P 0 200 200 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=1 T 200 250 5 8 0 0 0 6 1 pinseq=1 T 200 250 5 8 0 1 0 6 1 pinlabel=1 T 200 250 5 8 0 1 0 6 1 pintype=pas } P 700 200 900 200 1 0 1 { T 800 250 5 8 1 1 0 6 1 pinnumber=8 T 800 250 5 8 0 0 0 6 1 pinseq=2 T 800 250 5 8 0 1 0 6 1 pinlabel=8 T 800 250 5 8 0 1 0 6 1 pintype=pas } L 200 200 300 200 3 0 0 0 -1 -1 L 600 200 700 200 3 0 0 0 -1 -1 L 275 400 400 400 3 0 0 0 -1 -1 L 300 0 200 0 3 0 0 0 -1 -1 T 200 500 8 10 1 1 0 0 1 refdes=U? L 275 400 275 0 3 0 0 0 -1 -1 T 200 700 5 10 1 0 0 0 1 slot=1 T 200 1100 5 10 0 0 0 0 1 numslots=4 T 200 1300 5 10 0 0 0 0 1 slotdef=1:1,8 T 200 1500 5 10 0 0 0 0 1 slotdef=2:2,7 T 200 1700 5 10 0 0 0 0 1 slotdef=3:3,6 T 200 1900 5 10 0 0 0 0 1 slotdef=4:4,5 T 200 2100 5 10 0 0 0 0 1 footprint=SO8 T 200 2300 5 10 0 0 0 0 1 symversion=0.1 T 200 2500 5 10 0 0 0 0 1 documentation=http://www.semtech.com/pdf/tvs_sg.pdf geda-gaf-1.8.2/symbols/diode/zener-4.sym0000664000175000017500000000120212204104272014657 00000000000000v 20031231 1 L 300 400 300 0 3 0 0 0 -1 -1 L 300 400 600 200 3 0 0 0 -1 -1 T 400 600 5 10 0 0 0 0 1 device=DIODE L 600 200 300 0 3 0 0 0 -1 -1 L 600 400 600 0 3 0 0 0 -1 -1 P 0 200 200 200 1 0 0 { T 100 250 5 8 0 1 0 0 1 pinnumber=1 T 100 250 5 8 0 0 0 0 1 pinseq=1 T 100 250 5 8 0 1 0 0 1 pinlabel=1 T 100 250 5 8 0 1 0 0 1 pintype=pas } P 900 200 700 200 1 0 0 { T 700 250 5 8 0 1 0 0 1 pinnumber=2 T 700 250 5 8 0 0 0 0 1 pinseq=2 T 700 250 5 8 0 1 0 0 1 pinlabel=2 T 700 250 5 8 0 1 0 0 1 pintype=pas } L 700 200 600 200 3 0 0 0 -1 -1 L 300 200 200 200 3 0 0 0 -1 -1 T 300 500 8 10 1 1 0 0 1 refdes=D? L 600 400 500 400 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/diode/led-2.sym0000664000175000017500000000144012204104272014302 00000000000000v 20031231 1 T 800 300 8 10 1 1 0 0 1 refdes=D? T 100 600 8 10 0 0 0 0 1 device=LED P 0 100 200 100 1 0 0 { T 100 150 5 8 0 1 0 0 1 pinnumber=1 T 100 150 5 8 0 0 0 0 1 pinseq=1 T 100 150 5 8 0 1 0 0 1 pinlabel=1 T 100 150 5 8 0 1 0 0 1 pintype=pas } P 900 100 700 100 1 0 0 { T 700 150 5 8 0 1 0 0 1 pinnumber=2 T 700 150 5 8 0 0 0 0 1 pinseq=2 T 700 150 5 8 0 1 0 0 1 pinlabel=2 T 700 150 5 8 0 1 0 0 1 pintype=pas } L 400 200 500 100 3 0 0 0 -1 -1 L 500 100 400 0 3 0 0 0 -1 -1 L 400 200 400 0 3 0 0 0 -1 -1 L 500 200 500 0 3 0 0 0 -1 -1 L 500 100 700 100 3 0 0 0 -1 -1 L 400 100 200 100 3 0 0 0 -1 -1 L 430 240 530 340 3 0 0 0 -1 -1 L 530 340 480 310 3 0 0 0 -1 -1 L 530 340 500 290 3 0 0 0 -1 -1 L 500 240 600 340 3 0 0 0 -1 -1 L 600 340 550 310 3 0 0 0 -1 -1 L 600 340 570 290 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/diode/diode-3.sym0000664000175000017500000000116212204104272014624 00000000000000v 20031231 1 L 600 0 600 400 3 0 0 0 -1 -1 L 600 0 300 200 3 0 0 0 -1 -1 T 450 550 5 10 0 0 0 0 1 device=DIODE L 300 200 600 400 3 0 0 0 -1 -1 L 300 0 300 400 3 0 0 0 -1 -1 P 900 200 700 200 1 0 0 { T 800 150 5 8 0 1 180 0 1 pinnumber=2 T 800 150 5 8 0 0 180 0 1 pinseq=2 T 800 150 5 8 0 1 180 0 1 pinlabel=2 T 800 150 5 8 0 1 180 0 1 pintype=pas } P 0 200 200 200 1 0 0 { T 200 150 5 8 0 1 180 0 1 pinnumber=1 T 200 150 5 8 0 0 180 0 1 pinseq=1 T 200 150 5 8 0 1 180 0 1 pinlabel=1 T 200 150 5 8 0 1 180 0 1 pintype=pas } L 200 200 300 200 3 0 0 0 -1 -1 L 600 200 700 200 3 0 0 0 -1 -1 T 350 450 8 10 1 1 0 0 1 refdes=D? geda-gaf-1.8.2/symbols/diode/led-3.sym0000664000175000017500000000161612204104272014310 00000000000000v 20031231 1 L 600 0 600 400 3 0 0 0 -1 -1 L 600 0 300 200 3 0 0 0 -1 -1 T 950 650 5 10 0 0 0 0 1 device=LED L 300 200 600 400 3 0 0 0 -1 -1 L 300 0 300 400 3 0 0 0 -1 -1 P 0 200 200 200 1 0 0 { T 200 150 5 8 0 1 180 0 1 pinnumber=1 T 800 650 9 8 0 1 180 0 1 pinlabel=CATHODE T 900 850 5 8 0 0 180 0 1 pintype=pas T 600 950 5 8 0 0 180 0 1 pinseq=1 } P 900 200 700 200 1 0 0 { T 800 150 5 8 0 1 180 0 1 pinnumber=2 T 1400 150 9 8 0 1 180 0 1 pinlabel=ANODE T 1000 350 5 8 0 0 180 8 1 pintype=pas T 1000 250 5 8 0 0 180 8 1 pinseq=2 } L 200 200 300 200 3 0 0 0 -1 -1 L 600 200 700 200 3 0 0 0 -1 -1 T 450 550 8 10 1 1 0 0 1 refdes=D? L 500 400 400 500 3 0 0 0 -1 -1 L 400 400 300 500 3 0 0 0 -1 -1 L 300 500 325 450 3 0 0 0 -1 -1 L 300 500 350 475 3 0 0 0 -1 -1 L 400 500 425 450 3 0 0 0 -1 -1 L 400 500 450 475 3 0 0 0 -1 -1 T 950 550 5 10 0 0 0 0 1 description=Generic LED T 950 450 5 10 0 0 0 0 1 numslots=0 geda-gaf-1.8.2/symbols/diode/sc52-11-1.sym0000664000175000017500000000742312204104272014537 00000000000000v 20031231 1 T 1900 3600 8 10 1 1 0 6 1 refdes=D? T 300 3550 5 10 0 0 0 0 1 device=sc52-11 T 300 3750 5 10 0 0 0 0 1 footprint=none T 300 3950 5 10 0 0 0 0 1 numslots=0 T 300 4150 5 10 0 0 0 0 1 description=7-segment-display with common cathode P 900 0 900 300 1 0 0 { T 950 200 5 8 1 1 180 6 1 pinnumber=3 T 950 200 5 8 0 1 180 8 1 pinseq=1 T 900 350 9 8 1 1 180 5 1 pinlabel=CC T 900 500 5 8 0 1 180 5 1 pintype=pas } P 1300 0 1300 300 1 0 0 { T 1350 200 5 8 1 1 180 6 1 pinnumber=8 T 1350 200 5 8 0 1 180 8 1 pinseq=2 T 1300 350 9 8 1 1 180 5 1 pinlabel=CC T 1300 500 5 8 0 1 180 5 1 pintype=pas } P 0 3300 300 3300 1 0 0 { T 200 3350 5 8 1 1 0 6 1 pinnumber=7 T 200 3250 5 8 0 1 0 8 1 pinseq=3 T 350 3300 9 8 1 1 0 0 1 pinlabel=a T 350 3300 5 8 0 1 0 2 1 pintype=pas } P 0 2900 300 2900 1 0 0 { T 200 2950 5 8 1 1 0 6 1 pinnumber=6 T 200 2850 5 8 0 1 0 8 1 pinseq=4 T 350 2900 9 8 1 1 0 0 1 pinlabel=b T 350 2900 5 8 0 1 0 2 1 pintype=pas } P 0 2500 300 2500 1 0 0 { T 200 2550 5 8 1 1 0 6 1 pinnumber=4 T 200 2450 5 8 0 1 0 8 1 pinseq=5 T 350 2500 9 8 1 1 0 0 1 pinlabel=c T 350 2500 5 8 0 1 0 2 1 pintype=pas } P 0 2100 300 2100 1 0 0 { T 200 2150 5 8 1 1 0 6 1 pinnumber=2 T 200 2050 5 8 0 1 0 8 1 pinseq=6 T 350 2100 9 8 1 1 0 0 1 pinlabel=d T 350 2100 5 8 0 1 0 2 1 pintype=pas } P 0 500 300 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=5 T 200 450 5 8 0 1 0 8 1 pinseq=10 T 350 500 9 8 1 1 0 0 1 pinlabel=dp T 350 500 5 8 0 1 0 2 1 pintype=pas } P 0 1700 300 1700 1 0 0 { T 200 1750 5 8 1 1 0 6 1 pinnumber=1 T 200 1650 5 8 0 1 0 8 1 pinseq=7 T 350 1700 9 8 1 1 0 0 1 pinlabel=e T 350 1700 5 8 0 1 0 2 1 pintype=pas } P 0 1300 300 1300 1 0 0 { T 200 1350 5 8 1 1 0 6 1 pinnumber=9 T 200 1250 5 8 0 1 0 8 1 pinseq=8 T 350 1300 9 8 1 1 0 0 1 pinlabel=f T 350 1300 5 8 0 1 0 2 1 pintype=pas } P 0 900 300 900 1 0 0 { T 200 950 5 8 1 1 0 6 1 pinnumber=10 T 200 850 5 8 0 1 0 8 1 pinseq=9 T 350 900 9 8 1 1 0 0 1 pinlabel=g T 350 900 5 8 0 1 0 2 1 pintype=pas } B 300 300 1600 3200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 800 1950 850 2000 3 0 0 0 -1 -1 L 850 2000 1475 2000 3 0 0 0 -1 -1 L 1475 2000 1525 1950 3 0 0 0 -1 -1 L 800 1950 850 1900 3 0 0 0 -1 -1 L 850 1900 1475 1900 3 0 0 0 -1 -1 L 1475 1900 1525 1950 3 0 0 0 -1 -1 L 800 2800 850 2850 3 0 0 0 -1 -1 L 850 2850 1475 2850 3 0 0 0 -1 -1 L 1475 2850 1525 2800 3 0 0 0 -1 -1 L 800 2800 850 2750 3 0 0 0 -1 -1 L 850 2750 1475 2750 3 0 0 0 -1 -1 L 1475 2750 1525 2800 3 0 0 0 -1 -1 L 800 1100 850 1150 3 0 0 0 -1 -1 L 850 1150 1475 1150 3 0 0 0 -1 -1 L 1475 1150 1525 1100 3 0 0 0 -1 -1 L 800 1100 850 1050 3 0 0 0 -1 -1 L 850 1050 1475 1050 3 0 0 0 -1 -1 L 1475 1050 1525 1100 3 0 0 0 -1 -1 V 1675 975 75 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 750 1900 800 1850 3 0 0 0 -1 -1 L 750 1900 700 1850 3 0 0 0 -1 -1 L 750 1150 800 1200 3 0 0 0 -1 -1 L 750 1150 700 1200 3 0 0 0 -1 -1 L 700 1200 700 1850 3 0 0 0 -1 -1 L 800 1850 800 1200 3 0 0 0 -1 -1 L 1575 1900 1625 1850 3 0 0 0 -1 -1 L 1575 1900 1525 1850 3 0 0 0 -1 -1 L 1575 1150 1625 1200 3 0 0 0 -1 -1 L 1575 1150 1525 1200 3 0 0 0 -1 -1 L 1525 1200 1525 1850 3 0 0 0 -1 -1 L 1625 1850 1625 1200 3 0 0 0 -1 -1 L 1575 2750 1625 2700 3 0 0 0 -1 -1 L 1575 2750 1525 2700 3 0 0 0 -1 -1 L 1575 2000 1625 2050 3 0 0 0 -1 -1 L 1575 2000 1525 2050 3 0 0 0 -1 -1 L 1525 2050 1525 2700 3 0 0 0 -1 -1 L 1625 2700 1625 2050 3 0 0 0 -1 -1 L 750 2750 800 2700 3 0 0 0 -1 -1 L 750 2750 700 2700 3 0 0 0 -1 -1 L 750 2000 800 2050 3 0 0 0 -1 -1 L 750 2000 700 2050 3 0 0 0 -1 -1 L 700 2050 700 2700 3 0 0 0 -1 -1 L 800 2700 800 2050 3 0 0 0 -1 -1 T 1125 2650 9 10 1 0 0 0 1 a T 1425 2350 9 10 1 0 0 0 1 b T 1425 1450 9 10 1 0 0 0 1 c T 1125 1200 9 10 1 0 0 0 1 d T 850 1450 9 10 1 0 0 0 1 e T 850 2350 9 10 1 0 0 0 1 f T 1125 2050 9 10 1 0 0 0 1 g T 1575 725 9 10 1 0 0 0 1 dp T 300 4350 5 10 0 0 0 0 1 documentation=http://www.kingbright-led.com/data/spec/SC52-11EWA.pdf geda-gaf-1.8.2/symbols/diode/zener-3.sym0000664000175000017500000000126012204104272014662 00000000000000v 20031231 1 T -600 1400 5 10 0 0 0 0 1 device=ZENER_DIODE P 0 100 200 100 1 0 0 { T 200 50 5 8 0 1 180 0 1 pinnumber=1 T 200 50 5 8 0 0 180 0 1 pinseq=1 T 200 50 5 8 0 1 180 0 1 pinlabel=1 T 200 50 5 8 0 1 180 0 1 pintype=pas } P 600 100 800 100 1 0 1 { T 700 50 5 8 0 1 180 0 1 pinnumber=2 T 700 50 5 8 0 0 180 0 1 pinseq=2 T 700 50 5 8 0 1 180 0 1 pinlabel=2 T 700 50 5 8 0 1 180 0 1 pintype=pas } L 500 100 600 100 3 0 0 0 -1 -1 L 500 200 500 0 3 0 0 0 -1 -1 L 500 0 300 100 3 0 0 0 -1 -1 L 300 100 500 200 3 0 0 0 -1 -1 L 400 0 300 0 3 0 0 0 -1 -1 L 300 0 300 200 3 0 0 0 -1 -1 L 300 200 200 200 3 0 0 0 -1 -1 L 300 100 200 100 3 0 0 0 -1 -1 T 500 450 8 10 1 1 180 0 1 refdes=Z? geda-gaf-1.8.2/symbols/diode/sa52-11-1.sym0000664000175000017500000000736512204104272014542 00000000000000v 20031231 1 T 1900 3300 8 10 1 1 0 6 1 refdes=D? T 300 3550 5 10 0 0 0 0 1 device=sa52-11 T 300 3750 5 10 0 0 0 0 1 footprint=none T 300 3950 5 10 0 0 0 0 1 numslots=0 T 300 4150 5 10 0 0 0 0 1 description=7-segment-display with common anode P 900 3500 900 3200 1 0 0 { T 950 3300 5 8 1 1 0 0 1 pinnumber=3 T 950 3300 5 8 0 1 0 2 1 pinseq=1 T 900 3150 9 8 1 1 0 5 1 pinlabel=CA T 900 3000 5 8 0 1 0 5 1 pintype=pas } P 1300 3500 1300 3200 1 0 0 { T 1350 3300 5 8 1 1 0 0 1 pinnumber=8 T 1350 3300 5 8 0 1 0 2 1 pinseq=2 T 1300 3150 9 8 1 1 0 5 1 pinlabel=CA T 1300 3000 5 8 0 1 0 5 1 pintype=pas } P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=7 T 200 2950 5 8 0 1 0 8 1 pinseq=3 T 350 3000 9 8 1 1 0 0 1 pinlabel=a T 350 3000 5 8 0 1 0 2 1 pintype=pas } P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=6 T 200 2550 5 8 0 1 0 8 1 pinseq=4 T 350 2600 9 8 1 1 0 0 1 pinlabel=b T 350 2600 5 8 0 1 0 2 1 pintype=pas } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=4 T 200 2150 5 8 0 1 0 8 1 pinseq=5 T 350 2200 9 8 1 1 0 0 1 pinlabel=c T 350 2200 5 8 0 1 0 2 1 pintype=pas } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=2 T 200 1750 5 8 0 1 0 8 1 pinseq=6 T 350 1800 9 8 1 1 0 0 1 pinlabel=d T 350 1800 5 8 0 1 0 2 1 pintype=pas } P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=5 T 200 150 5 8 0 1 0 8 1 pinseq=10 T 350 200 9 8 1 1 0 0 1 pinlabel=dp T 350 200 5 8 0 1 0 2 1 pintype=pas } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=1 T 200 1350 5 8 0 1 0 8 1 pinseq=7 T 350 1400 9 8 1 1 0 0 1 pinlabel=e T 350 1400 5 8 0 1 0 2 1 pintype=pas } P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=9 T 200 950 5 8 0 1 0 8 1 pinseq=8 T 350 1000 9 8 1 1 0 0 1 pinlabel=f T 350 1000 5 8 0 1 0 2 1 pintype=pas } P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=10 T 200 550 5 8 0 1 0 8 1 pinseq=9 T 350 600 9 8 1 1 0 0 1 pinlabel=g T 350 600 5 8 0 1 0 2 1 pintype=pas } B 300 0 1600 3200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 800 1650 850 1700 3 0 0 0 -1 -1 L 850 1700 1475 1700 3 0 0 0 -1 -1 L 1475 1700 1525 1650 3 0 0 0 -1 -1 L 800 1650 850 1600 3 0 0 0 -1 -1 L 850 1600 1475 1600 3 0 0 0 -1 -1 L 1475 1600 1525 1650 3 0 0 0 -1 -1 L 800 2500 850 2550 3 0 0 0 -1 -1 L 850 2550 1475 2550 3 0 0 0 -1 -1 L 1475 2550 1525 2500 3 0 0 0 -1 -1 L 800 2500 850 2450 3 0 0 0 -1 -1 L 850 2450 1475 2450 3 0 0 0 -1 -1 L 1475 2450 1525 2500 3 0 0 0 -1 -1 L 800 800 850 850 3 0 0 0 -1 -1 L 850 850 1475 850 3 0 0 0 -1 -1 L 1475 850 1525 800 3 0 0 0 -1 -1 L 800 800 850 750 3 0 0 0 -1 -1 L 850 750 1475 750 3 0 0 0 -1 -1 L 1475 750 1525 800 3 0 0 0 -1 -1 V 1675 675 75 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 750 1600 800 1550 3 0 0 0 -1 -1 L 750 1600 700 1550 3 0 0 0 -1 -1 L 750 850 800 900 3 0 0 0 -1 -1 L 750 850 700 900 3 0 0 0 -1 -1 L 700 900 700 1550 3 0 0 0 -1 -1 L 800 1550 800 900 3 0 0 0 -1 -1 L 1575 1600 1625 1550 3 0 0 0 -1 -1 L 1575 1600 1525 1550 3 0 0 0 -1 -1 L 1575 850 1625 900 3 0 0 0 -1 -1 L 1575 850 1525 900 3 0 0 0 -1 -1 L 1525 900 1525 1550 3 0 0 0 -1 -1 L 1625 1550 1625 900 3 0 0 0 -1 -1 L 1575 2450 1625 2400 3 0 0 0 -1 -1 L 1575 2450 1525 2400 3 0 0 0 -1 -1 L 1575 1700 1625 1750 3 0 0 0 -1 -1 L 1575 1700 1525 1750 3 0 0 0 -1 -1 L 1525 1750 1525 2400 3 0 0 0 -1 -1 L 1625 2400 1625 1750 3 0 0 0 -1 -1 L 750 2450 800 2400 3 0 0 0 -1 -1 L 750 2450 700 2400 3 0 0 0 -1 -1 L 750 1700 800 1750 3 0 0 0 -1 -1 L 750 1700 700 1750 3 0 0 0 -1 -1 L 700 1750 700 2400 3 0 0 0 -1 -1 L 800 2400 800 1750 3 0 0 0 -1 -1 T 1125 2350 9 10 1 0 0 0 1 a T 1425 2050 9 10 1 0 0 0 1 b T 1425 1150 9 10 1 0 0 0 1 c T 1125 900 9 10 1 0 0 0 1 d T 850 1150 9 10 1 0 0 0 1 e T 850 2050 9 10 1 0 0 0 1 f T 1125 1750 9 10 1 0 0 0 1 g T 1575 425 9 10 1 0 0 0 1 dp T 300 4350 5 10 0 0 0 0 1 documentation=http://www.kingbright-led.com/data/spec/SA52-11EWA.pdf geda-gaf-1.8.2/symbols/diode/bav70lt1-1.sym0000664000175000017500000000207412204104272015101 00000000000000v 20031231 1 T 100 400 5 4 1 0 0 0 1 BAV70LT1 T 100 600 5 6 0 1 0 0 1 device=BAV70LT1 T 100 500 5 6 1 1 0 0 1 refdes=D? P 0 300 100 300 1 0 0 { T 2 320 3 6 0 1 0 0 1 pinnumber=1 T 2 320 3 6 0 0 0 0 1 pinseq=1 T 2 320 3 6 0 0 0 0 1 pintype=pas T 150 300 3 6 0 1 0 0 1 pinlabel=ANODE1 } P 400 200 500 200 1 0 1 { T 450 220 3 6 0 1 0 0 1 pinnumber=3 T 450 220 3 6 0 0 0 0 1 pinseq=3 T 450 220 3 6 0 0 0 0 1 pintype=pas T 350 200 3 6 0 1 0 0 1 pinlabel=CATHODE } P 0 100 100 100 1 0 0 { T -28 120 3 6 0 1 0 0 1 pinnumber=2 T -28 120 3 6 0 0 0 0 1 pinseq=2 T -28 120 3 6 0 0 0 0 1 pintype=pas T 150 100 3 6 0 1 0 0 1 pinlabel=ANODE2 } L 300 370 300 230 3 0 0 0 -1 -1 L 100 300 200 300 3 0 0 0 -1 -1 L 300 300 400 300 3 0 0 0 -1 -1 L 300 300 200 360 3 0 0 0 -1 -1 L 200 360 200 240 3 0 0 0 -1 -1 L 200 240 300 300 3 0 0 0 -1 -1 L 400 300 400 100 3 0 0 0 -1 -1 L 300 100 200 160 3 0 0 0 -1 -1 L 200 160 200 40 3 0 0 0 -1 -1 L 200 40 300 100 3 0 0 0 -1 -1 L 300 170 300 30 3 0 0 0 -1 -1 L 300 100 400 100 3 0 0 0 -1 -1 L 100 100 200 100 3 0 0 0 -1 -1 T 100 700 8 10 0 1 0 0 1 footprint=SOT23 geda-gaf-1.8.2/symbols/diode/zener-1.sym0000664000175000017500000000124412204104272014662 00000000000000v 20031231 1 L 300 400 300 0 3 0 0 0 -1 -1 L 600 200 300 0 3 0 0 0 -1 -1 L 600 200 300 400 3 0 0 0 -1 -1 T 400 600 5 10 0 0 0 0 1 device=ZENER_DIODE L 600 400 600 0 3 0 0 0 -1 -1 P 900 200 700 200 1 0 0 { T 700 250 5 8 0 1 0 0 1 pinnumber=2 T 700 250 5 8 0 0 0 0 1 pinseq=2 T 700 250 5 8 0 1 0 0 1 pinlabel=2 T 700 250 5 8 0 1 0 0 1 pintype=pas } P 200 200 0 200 1 0 1 { T 100 250 5 8 0 1 0 0 1 pinnumber=1 T 100 250 5 8 0 0 0 0 1 pinseq=1 T 100 250 5 8 0 1 0 0 1 pinlabel=1 T 100 250 5 8 0 1 0 0 1 pintype=pas } L 700 200 600 200 3 0 0 0 -1 -1 L 300 200 200 200 3 0 0 0 -1 -1 L 600 400 500 400 3 0 0 0 -1 -1 L 600 0 700 0 3 0 0 0 -1 -1 T 300 500 8 10 1 1 0 0 1 refdes=Z? geda-gaf-1.8.2/symbols/diode/diode-1.sym0000664000175000017500000000114212204104272014620 00000000000000v 20031231 1 L 300 400 300 0 3 0 0 0 -1 -1 L 300 400 600 200 3 0 0 0 -1 -1 T 400 600 5 10 0 0 0 0 1 device=DIODE L 600 200 300 0 3 0 0 0 -1 -1 L 600 400 600 0 3 0 0 0 -1 -1 P 0 200 200 200 1 0 0 { T 100 250 5 8 0 1 0 0 1 pinnumber=1 T 100 250 5 8 0 0 0 0 1 pinseq=1 T 100 250 5 8 0 1 0 0 1 pinlabel=1 T 100 250 5 8 0 1 0 0 1 pintype=pas } P 900 200 700 200 1 0 0 { T 700 250 5 8 0 1 0 0 1 pinnumber=2 T 700 250 5 8 0 0 0 0 1 pinseq=2 T 700 250 5 8 0 1 0 0 1 pinlabel=2 T 700 250 5 8 0 1 0 0 1 pintype=pas } L 700 200 600 200 3 0 0 0 -1 -1 L 300 200 200 200 3 0 0 0 -1 -1 T 300 500 8 10 1 1 0 0 1 refdes=D? geda-gaf-1.8.2/symbols/diode/diode-bridge-1.sym0000664000175000017500000000331012204104272016051 00000000000000v 20031231 1 T 900 975 8 10 1 1 0 0 1 refdes=U? T 1200 75 5 8 0 0 0 0 1 device=DIODE-BRIDGE P 0 1000 300 1000 1 0 0 { T 100 1050 5 8 1 1 0 0 1 pinnumber=1 T 100 1050 5 8 0 0 0 0 1 pinseq=1 T 100 1050 5 8 0 1 0 0 1 pinlabel=1 T 100 1050 5 8 0 1 0 0 1 pintype=pas } P 1700 1000 2000 1000 1 0 1 { T 1800 1050 5 8 1 1 0 0 1 pinnumber=2 T 1800 1050 5 8 0 0 0 0 1 pinseq=2 T 1800 1050 5 8 0 1 0 0 1 pinlabel=2 T 1800 1050 5 8 0 1 0 0 1 pintype=pas } P 1000 0 1000 300 1 0 0 { T 950 100 5 8 1 1 90 0 1 pinnumber=3 T 950 100 5 8 0 0 90 0 1 pinseq=3 T 950 100 5 8 0 1 90 0 1 pinlabel=3 T 950 100 5 8 0 1 90 0 1 pintype=pas } P 1000 1700 1000 2000 1 0 1 { T 950 1800 5 8 1 1 90 0 1 pinnumber=4 T 950 1800 5 8 0 0 90 0 1 pinseq=4 T 950 1800 5 8 0 1 90 0 1 pinlabel=4 T 950 1800 5 8 0 1 90 0 1 pintype=pas } L 600 1300 300 1000 3 0 0 0 -1 -1 L 1400 1300 1700 1000 3 0 0 0 -1 -1 L 1000 300 1250 550 3 0 0 0 -1 -1 L 1250 1150 1550 1450 3 0 0 0 -1 -1 L 1100 1300 1400 1600 3 0 0 0 -1 -1 L 1100 1300 1400 1300 3 0 0 0 -1 -1 L 1400 1300 1400 1600 3 0 0 0 -1 -1 L 750 1450 1000 1700 3 0 0 0 -1 -1 L 1100 700 1400 400 3 0 0 0 -1 -1 L 1250 850 1550 550 3 0 0 0 -1 -1 L 1250 850 1250 550 3 0 0 0 -1 -1 L 1250 550 1550 550 3 0 0 0 -1 -1 L 1400 700 1700 1000 3 0 0 0 -1 -1 L 450 1450 750 1150 3 0 0 0 -1 -1 L 600 1600 900 1300 3 0 0 0 -1 -1 L 600 1600 600 1300 3 0 0 0 -1 -1 L 600 1300 900 1300 3 0 0 0 -1 -1 L 1000 1700 1250 1450 3 0 0 0 -1 -1 L 700 600 1000 300 3 0 0 0 -1 -1 L 550 450 850 750 3 0 0 0 -1 -1 L 400 600 700 900 3 0 0 0 -1 -1 L 400 600 700 600 3 0 0 0 -1 -1 L 700 600 700 900 3 0 0 0 -1 -1 L 300 1000 550 750 3 0 0 0 -1 -1 T 1100 200 9 10 1 0 0 0 1 + T 1100 1650 9 10 1 0 0 0 1 - T 200 850 9 10 1 0 0 0 1 ~ T 1700 850 9 10 1 0 0 0 1 ~ geda-gaf-1.8.2/symbols/diode/schottky-1.sym0000664000175000017500000000137212204104272015411 00000000000000v 20041228 1 L 300 400 300 0 3 0 0 0 -1 -1 L 300 400 600 200 3 0 0 0 -1 -1 T 322 672 8 10 0 0 0 0 1 device=DIODE L 600 200 300 0 3 0 0 0 -1 -1 L 600 400 600 0 3 0 0 0 -1 -1 P 0 200 200 200 1 0 0 { T 205 256 5 8 0 1 0 0 1 pinnumber=2 T 170 286 5 8 0 0 90 0 1 pinseq=2 T -10 81 5 10 0 1 0 0 1 pintype=pas T 75 288 5 10 0 1 90 0 1 pinlabel=anode } P 900 200 700 200 1 0 0 { T 700 250 5 8 0 1 0 0 1 pinnumber=1 T 730 50 5 8 0 0 0 0 1 pinseq=1 T 798 265 5 10 0 1 0 0 1 pintype=pas T 931 138 5 10 0 1 0 0 1 pinlabel=cathode } L 700 200 600 200 3 0 0 0 -1 -1 L 300 200 200 200 3 0 0 0 -1 -1 A 650 400 50 0 180 3 0 0 0 -1 -1 A 550 0 50 180 180 3 0 0 0 -1 -1 T 300 500 8 10 1 1 0 0 1 refdes=D? T 341 832 8 10 0 1 0 0 1 footprint=SOD80 T 567 515 8 10 0 0 0 0 1 numslots=0 geda-gaf-1.8.2/symbols/altera/0000775000175000017500000000000012220655764013131 500000000000000geda-gaf-1.8.2/symbols/altera/EPC1LC20-1.sym0000664000175000017500000000167412204104272015003 00000000000000v 20031231 1 P 1600 700 1900 700 1 0 1 { T 1700 750 5 8 1 1 0 0 1 pinnumber=4 T 1700 750 5 8 0 0 0 0 1 pinseq=2 T 1150 650 9 8 1 1 0 0 1 pinlabel=DCLK } P 1600 500 1900 500 1 0 1 { T 1700 550 5 8 1 1 0 0 1 pinnumber=8 T 1700 550 5 8 0 0 0 0 1 pinseq=3 T 1325 450 9 8 1 1 0 0 1 pinlabel=OE } P 1600 900 1900 900 1 0 1 { T 1700 950 5 8 1 1 0 0 1 pinnumber=2 T 1700 950 5 8 0 0 0 0 1 pinseq=1 T 1150 850 9 8 1 1 0 0 1 pinlabel=DATA } V 1650 300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1700 300 1900 300 1 0 1 { T 1700 350 5 8 1 1 0 0 1 pinnumber=9 T 1700 350 5 8 0 0 0 0 1 pinseq=4 T 1275 250 9 8 1 1 0 0 1 pinlabel=/CS } V 350 300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 300 300 0 300 1 0 1 { T 100 350 5 8 1 1 0 0 1 pinnumber=12 T 100 350 5 8 0 0 0 0 1 pinseq=5 T 450 250 9 8 1 1 0 0 1 pinlabel=/CASC } B 400 200 1200 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2000 1075 5 8 0 0 0 0 1 device=EPC1LC20 T 400 -25 9 10 1 0 0 0 1 EPC1LC20 T 400 1100 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/symbols/altera/EPF10K-1.sym0000664000175000017500000005304112204104272014613 00000000000000v 20031231 1 P 0 10600 525 10600 1 0 0 { T 250 10625 5 8 1 1 0 0 1 pinnumber=29 T 250 10625 5 8 0 0 0 0 1 pinseq=29 T 650 10575 9 8 1 1 0 0 1 pinlabel=I/O } P 0 10400 525 10400 1 0 0 { T 250 10425 5 8 1 1 0 0 1 pinnumber=30 T 250 10425 5 8 0 0 0 0 1 pinseq=30 T 650 10375 9 8 1 1 0 0 1 pinlabel=I/O } P 0 10200 525 10200 1 0 0 { T 275 10225 5 8 1 1 0 0 1 pinnumber=31 T 275 10225 5 8 0 0 0 0 1 pinseq=31 T 650 10175 9 8 1 1 0 0 1 pinlabel=I/O } P 0 9600 525 9600 1 0 0 { T 250 9625 5 8 1 1 0 0 1 pinnumber=38 T 250 9625 5 8 0 0 0 0 1 pinseq=38 T 650 9575 9 8 1 1 0 0 1 pinlabel=I/O } P 0 9400 525 9400 1 0 0 { T 250 9425 5 8 1 1 0 0 1 pinnumber=39 T 250 9425 5 8 0 0 0 0 1 pinseq=39 T 650 9375 9 8 1 1 0 0 1 pinlabel=I/O } P 0 9200 525 9200 1 0 0 { T 250 9225 5 8 1 1 0 0 1 pinnumber=40 T 250 9225 5 8 0 0 0 0 1 pinseq=40 T 650 9175 9 8 1 1 0 0 1 pinlabel=I/O } P 0 9000 525 9000 1 0 0 { T 275 9025 5 8 1 1 0 0 1 pinnumber=41 T 275 9025 5 8 0 0 0 0 1 pinseq=41 T 650 8975 9 8 1 1 0 0 1 pinlabel=I/O } P 0 8800 525 8800 1 0 0 { T 225 8825 5 8 1 1 0 0 1 pinnumber=44 T 225 8825 5 8 0 0 0 0 1 pinseq=44 T 650 8775 9 8 1 1 0 0 1 pinlabel=I/O } P 0 8600 525 8600 1 0 0 { T 250 8625 5 8 1 1 0 0 1 pinnumber=45 T 250 8625 5 8 0 0 0 0 1 pinseq=45 T 650 8575 9 8 1 1 0 0 1 pinlabel=I/O } P 0 8400 525 8400 1 0 0 { T 225 8425 5 8 1 1 0 0 1 pinnumber=46 T 225 8425 5 8 0 0 0 0 1 pinseq=46 T 650 8375 9 8 1 1 0 0 1 pinlabel=I/O } P 0 8200 525 8200 1 0 0 { T 250 8225 5 8 1 1 0 0 1 pinnumber=47 T 250 8225 5 8 0 0 0 0 1 pinseq=47 T 650 8175 9 8 1 1 0 0 1 pinlabel=I/O } P 0 8000 525 8000 1 0 0 { T 250 8025 5 8 1 1 0 0 1 pinnumber=53 T 250 8025 5 8 0 0 0 0 1 pinseq=53 T 650 7975 9 8 1 1 0 0 1 pinlabel=I/O } P 0 7800 525 7800 1 0 0 { T 250 7825 5 8 1 1 0 0 1 pinnumber=54 T 250 7825 5 8 0 0 0 0 1 pinseq=54 T 650 7775 9 8 1 1 0 0 1 pinlabel=I/O } P 0 7600 525 7600 1 0 0 { T 250 7625 5 8 1 1 0 0 1 pinnumber=55 T 250 7625 5 8 0 0 0 0 1 pinseq=55 T 650 7575 9 8 1 1 0 0 1 pinlabel=I/O } P 0 7400 525 7400 1 0 0 { T 250 7425 5 8 1 1 0 0 1 pinnumber=56 T 250 7425 5 8 0 0 0 0 1 pinseq=56 T 650 7375 9 8 1 1 0 0 1 pinlabel=I/O } P 0 7200 525 7200 1 0 0 { T 250 7225 5 8 1 1 0 0 1 pinnumber=57 T 250 7225 5 8 0 0 0 0 1 pinseq=57 T 650 7175 9 8 1 1 0 0 1 pinlabel=I/O } P 0 7000 525 7000 1 0 0 { T 250 7025 5 8 1 1 0 0 1 pinnumber=58 T 250 7025 5 8 0 0 0 0 1 pinseq=58 T 650 6975 9 8 1 1 0 0 1 pinlabel=I/O } P 0 6800 525 6800 1 0 0 { T 250 6825 5 8 1 1 0 0 1 pinnumber=60 T 250 6825 5 8 0 0 0 0 1 pinseq=60 T 650 6775 9 8 1 1 0 0 1 pinlabel=I/O } P 0 6600 525 6600 1 0 0 { T 275 6625 5 8 1 1 0 0 1 pinnumber=61 T 275 6625 5 8 0 0 0 0 1 pinseq=61 T 650 6575 9 8 1 1 0 0 1 pinlabel=I/O } P 0 6400 525 6400 1 0 0 { T 225 6425 5 8 1 1 0 0 1 pinnumber=62 T 225 6425 5 8 0 0 0 0 1 pinseq=62 T 650 6375 9 8 1 1 0 0 1 pinlabel=I/O } P 0 6200 525 6200 1 0 0 { T 250 6225 5 8 1 1 0 0 1 pinnumber=63 T 250 6225 5 8 0 0 0 0 1 pinseq=63 T 650 6175 9 8 1 1 0 0 1 pinlabel=I/O } P 0 6000 525 6000 1 0 0 { T 225 6025 5 8 1 1 0 0 1 pinnumber=64 T 225 6025 5 8 0 0 0 0 1 pinseq=64 T 650 5975 9 8 1 1 0 0 1 pinlabel=I/O } P 0 5800 525 5800 1 0 0 { T 250 5825 5 8 1 1 0 0 1 pinnumber=65 T 250 5825 5 8 0 0 0 0 1 pinseq=65 T 650 5775 9 8 1 1 0 0 1 pinlabel=I/O } P 0 5600 525 5600 1 0 0 { T 250 5625 5 8 1 1 0 0 1 pinnumber=67 T 250 5625 5 8 0 0 0 0 1 pinseq=67 T 650 5575 9 8 1 1 0 0 1 pinlabel=I/O } P 0 5400 525 5400 1 0 0 { T 250 5425 5 8 1 1 0 0 1 pinnumber=68 T 250 5425 5 8 0 0 0 0 1 pinseq=68 T 650 5350 9 8 1 1 0 0 1 pinlabel=I/O } P 0 5200 525 5200 1 0 0 { T 250 5225 5 8 1 1 0 0 1 pinnumber=69 T 250 5225 5 8 0 0 0 0 1 pinseq=69 T 650 5150 9 8 1 1 0 0 1 pinlabel=I/O } P 0 5000 525 5000 1 0 0 { T 250 5025 5 8 1 1 0 0 1 pinnumber=70 T 250 5025 5 8 0 0 0 0 1 pinseq=70 T 650 4950 9 8 1 1 0 0 1 pinlabel=I/O } P 0 4800 525 4800 1 0 0 { T 275 4825 5 8 1 1 0 0 1 pinnumber=71 T 275 4825 5 8 0 0 0 0 1 pinseq=71 T 650 4750 9 8 1 1 0 0 1 pinlabel=I/O } P 0 4600 525 4600 1 0 0 { T 250 4625 5 8 1 1 0 0 1 pinnumber=73 T 250 4625 5 8 0 0 0 0 1 pinseq=73 T 650 4550 9 8 1 1 0 0 1 pinlabel=I/O } P 0 4400 525 4400 1 0 0 { T 250 4425 5 8 1 1 0 0 1 pinnumber=74 T 250 4425 5 8 0 0 0 0 1 pinseq=74 T 650 4350 9 8 1 1 0 0 1 pinlabel=I/O } P 0 4200 525 4200 1 0 0 { T 250 4225 5 8 1 1 0 0 1 pinnumber=75 T 250 4225 5 8 0 0 0 0 1 pinseq=75 T 650 4150 9 8 1 1 0 0 1 pinlabel=I/O } P 0 4000 525 4000 1 0 0 { T 250 4025 5 8 1 1 0 0 1 pinnumber=83 T 250 4025 5 8 0 0 0 0 1 pinseq=83 T 650 3950 9 8 1 1 0 0 1 pinlabel=I/O } P 0 3800 525 3800 1 0 0 { T 250 3825 5 8 1 1 0 0 1 pinnumber=85 T 250 3825 5 8 0 0 0 0 1 pinseq=85 T 650 3750 9 8 1 1 0 0 1 pinlabel=I/O } P 0 3600 525 3600 1 0 0 { T 250 3625 5 8 1 1 0 0 1 pinnumber=86 T 250 3625 5 8 0 0 0 0 1 pinseq=86 T 650 3550 9 8 1 1 0 0 1 pinlabel=I/O } P 0 3400 525 3400 1 0 0 { T 250 3425 5 8 1 1 0 0 1 pinnumber=87 T 250 3425 5 8 0 0 0 0 1 pinseq=87 T 650 3350 9 8 1 1 0 0 1 pinlabel=I/O } P 0 3200 525 3200 1 0 0 { T 250 3225 5 8 1 1 0 0 1 pinnumber=88 T 250 3225 5 8 0 0 0 0 1 pinseq=88 T 650 3150 9 8 1 1 0 0 1 pinlabel=I/O } P 0 3000 525 3000 1 0 0 { T 250 3025 5 8 1 1 0 0 1 pinnumber=89 T 250 3025 5 8 0 0 0 0 1 pinseq=89 T 650 2950 9 8 1 1 0 0 1 pinlabel=I/O } P 0 2800 525 2800 1 0 0 { T 250 2825 5 8 1 1 0 0 1 pinnumber=90 T 250 2825 5 8 0 0 0 0 1 pinseq=90 T 650 2750 9 8 1 1 0 0 1 pinlabel=I/O } P 0 2600 525 2600 1 0 0 { T 250 2625 5 8 1 1 0 0 1 pinnumber=92 T 250 2625 5 8 0 0 0 0 1 pinseq=92 T 650 2550 9 8 1 1 0 0 1 pinlabel=I/O } P 0 2400 525 2400 1 0 0 { T 250 2425 5 8 1 1 0 0 1 pinnumber=93 T 250 2425 5 8 0 0 0 0 1 pinseq=93 T 650 2350 9 8 1 1 0 0 1 pinlabel=I/O } P 0 2200 525 2200 1 0 0 { T 250 2225 5 8 1 1 0 0 1 pinnumber=94 T 250 2225 5 8 0 0 0 0 1 pinseq=94 T 650 2150 9 8 1 1 0 0 1 pinlabel=I/O } P 0 2000 525 2000 1 0 0 { T 250 2025 5 8 1 1 0 0 1 pinnumber=95 T 250 2025 5 8 0 0 0 0 1 pinseq=95 T 650 1950 9 8 1 1 0 0 1 pinlabel=I/O } P 0 1800 525 1800 1 0 0 { T 250 1825 5 8 1 1 0 0 1 pinnumber=96 T 250 1825 5 8 0 0 0 0 1 pinseq=96 T 650 1750 9 8 1 1 0 0 1 pinlabel=I/O } P 0 1600 525 1600 1 0 0 { T 250 1625 5 8 1 1 0 0 1 pinnumber=97 T 250 1625 5 8 0 0 0 0 1 pinseq=97 T 650 1550 9 8 1 1 0 0 1 pinlabel=I/O } P 0 1400 525 1400 1 0 0 { T 250 1425 5 8 1 1 0 0 1 pinnumber=99 T 250 1425 5 8 0 0 0 0 1 pinseq=99 T 650 1350 9 8 1 1 0 0 1 pinlabel=I/O } P 0 1200 525 1200 1 0 0 { T 200 1225 5 8 1 1 0 0 1 pinnumber=100 T 200 1225 5 8 0 0 0 0 1 pinseq=100 T 650 1150 9 8 1 1 0 0 1 pinlabel=I/O } P 0 1000 525 1000 1 0 0 { T 225 1025 5 8 1 1 0 0 1 pinnumber=101 T 225 1025 5 8 0 0 0 0 1 pinseq=101 T 650 950 9 8 1 1 0 0 1 pinlabel=I/O } P 0 800 525 800 1 0 0 { T 200 825 5 8 1 1 0 0 1 pinnumber=102 T 200 825 5 8 0 0 0 0 1 pinseq=102 T 650 750 9 8 1 1 0 0 1 pinlabel=I/O } P 0 600 525 600 1 0 0 { T 200 625 5 8 1 1 0 0 1 pinnumber=103 T 200 625 5 8 0 0 0 0 1 pinseq=103 T 650 550 9 8 1 1 0 0 1 pinlabel=I/O } P 0 11200 525 11200 1 0 0 { T 250 11225 5 8 1 1 0 0 1 pinnumber=26 T 250 11225 5 8 0 0 0 0 1 pinseq=26 T 650 11150 9 8 1 1 0 0 1 pinlabel=I/O } P 0 11000 525 11000 1 0 0 { T 250 11025 5 8 1 1 0 0 1 pinnumber=27 T 250 11025 5 8 0 0 0 0 1 pinseq=27 T 650 10975 9 8 1 1 0 0 1 pinlabel=I/O } P 0 10800 525 10800 1 0 0 { T 250 10825 5 8 1 1 0 0 1 pinnumber=28 T 250 10825 5 8 0 0 0 0 1 pinseq=28 T 650 10775 9 8 1 1 0 0 1 pinlabel=I/O } P 0 11800 525 11800 1 0 0 { T 300 11825 5 8 1 1 0 0 1 pinnumber=18 T 300 11825 5 8 0 0 0 0 1 pinseq=18 T 650 11750 9 8 1 1 0 0 1 pinlabel=I/O } P 0 11600 525 11600 1 0 0 { T 225 11625 5 8 1 1 0 0 1 pinnumber=24 T 225 11625 5 8 0 0 0 0 1 pinseq=24 T 650 11550 9 8 1 1 0 0 1 pinlabel=I/O } P 0 11400 525 11400 1 0 0 { T 250 11425 5 8 1 1 0 0 1 pinnumber=25 T 250 11425 5 8 0 0 0 0 1 pinseq=25 T 650 11350 9 8 1 1 0 0 1 pinlabel=I/O } P 0 12000 525 12000 1 0 0 { T 300 12025 5 8 1 1 0 0 1 pinnumber=17 T 300 12025 5 8 0 0 0 0 1 pinseq=17 T 650 11950 9 8 1 1 0 0 1 pinlabel=I/O } P 0 12200 525 12200 1 0 0 { T 300 12225 5 8 1 1 0 0 1 pinnumber=16 T 300 12225 5 8 0 0 0 0 1 pinseq=16 T 650 12150 9 8 1 1 0 0 1 pinlabel=I/O RDY / /BSY } P 0 13000 525 13000 1 0 0 { T 300 13025 5 8 1 1 0 0 1 pinnumber=12 T 300 13025 5 8 0 0 0 0 1 pinseq=12 T 650 12950 9 8 1 1 0 0 1 pinlabel=I/O } P 0 13200 525 13200 1 0 0 { T 325 13225 5 8 1 1 0 0 1 pinnumber=11 T 325 13225 5 8 0 0 0 0 1 pinseq=11 T 650 13150 9 8 1 1 0 0 1 pinlabel=I/O } P 0 13400 525 13400 1 0 0 { T 300 13425 5 8 1 1 0 0 1 pinnumber=10 T 300 13425 5 8 0 0 0 0 1 pinseq=10 T 650 13350 9 8 1 1 0 0 1 pinlabel=I/O CLKUSR } P 0 14000 525 14000 1 0 0 { T 200 14025 5 8 1 1 0 0 1 pinnumber=184 T 200 14025 5 8 0 0 0 0 1 pinseq=184 T 650 13950 9 8 1 1 0 0 1 pinlabel=IN } P 0 14200 525 14200 1 0 0 { T 200 14225 5 8 1 1 0 0 1 pinnumber=182 T 200 14225 5 8 0 0 0 0 1 pinseq=182 T 650 14150 9 8 1 1 0 0 1 pinlabel=IN } P 0 14400 525 14400 1 0 0 { T 250 14425 5 8 1 1 0 0 1 pinnumber=80 T 250 14425 5 8 0 0 0 0 1 pinseq=80 T 650 14350 9 8 1 1 0 0 1 pinlabel=IN } P 0 14600 525 14600 1 0 0 { T 250 14625 5 8 1 1 0 0 1 pinnumber=78 T 250 14625 5 8 0 0 0 0 1 pinseq=78 T 650 14550 9 8 1 1 0 0 1 pinlabel=IN } P 0 14800 525 14800 1 0 0 { T 200 14825 5 8 1 1 0 0 1 pinnumber=183 T 200 14825 5 8 0 0 0 0 1 pinseq=183 T 650 14750 9 8 1 1 0 0 1 pinlabel=IN CLK } P 0 15000 525 15000 1 0 0 { T 250 15025 5 8 1 1 0 0 1 pinnumber=79 T 250 15025 5 8 0 0 0 0 1 pinseq=79 T 650 14950 9 8 1 1 0 0 1 pinlabel=IN CLK } P 0 15600 525 15600 1 0 0 { T 200 15625 5 8 1 1 0 0 1 pinnumber=107 T 200 15625 5 8 0 0 0 0 1 pinseq=107 T 650 15550 9 8 1 1 0 0 1 pinlabel=MSEL1 } P 0 15800 525 15800 1 0 0 { T 200 15825 5 8 1 1 0 0 1 pinnumber=108 T 200 15825 5 8 0 0 0 0 1 pinseq=108 T 650 15750 9 8 1 1 0 0 1 pinlabel=MSEL0 } P 0 16400 525 16400 1 0 0 { T 325 16425 5 8 1 1 0 0 1 pinnumber=2 T 325 16425 5 8 0 0 0 0 1 pinseq=2 T 650 16350 9 8 1 1 0 0 1 pinlabel=CONF_DONE } P 0 16800 525 16800 1 0 0 { T 225 16825 5 8 1 1 0 0 1 pinnumber=155 T 225 16825 5 8 0 0 0 0 1 pinseq=155 T 650 16750 9 8 1 1 0 0 1 pinlabel=DCLK } P 0 17000 525 17000 1 0 0 { T 225 17025 5 8 1 1 0 0 1 pinnumber=156 T 225 17025 5 8 0 0 0 0 1 pinseq=156 T 650 16950 9 8 1 1 0 0 1 pinlabel=DATA0 } B 525 250 6725 17000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 8050 17300 5 8 0 0 0 0 1 device=EPF10K10QC208 V 475 16600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 16600 425 16600 1 0 0 { T 225 16625 5 8 1 1 0 0 1 pinnumber=52 T 225 16625 5 8 0 0 0 0 1 pinseq=52 T 650 16550 9 8 1 1 0 0 1 pinlabel=/STATUS } V 475 16200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 16200 425 16200 1 0 0 { T 200 16225 5 8 1 1 0 0 1 pinnumber=105 T 200 16225 5 8 0 0 0 0 1 pinseq=105 T 650 16150 9 8 1 1 0 0 1 pinlabel=/CONFIG } V 475 16000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 16000 425 16000 1 0 0 { T 200 16025 5 8 1 1 0 0 1 pinnumber=154 T 200 16025 5 8 0 0 0 0 1 pinseq=154 T 650 15950 9 8 1 1 0 0 1 pinlabel=/CE } P 7800 16200 7250 16200 1 0 0 { T 7375 16225 5 8 1 1 0 0 1 pinnumber=50 T 7375 16225 5 8 0 0 0 0 1 pinseq=50 T 6800 16150 9 8 1 1 0 0 1 pinlabel=TMS } V 7300 17000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 7800 17000 7350 17000 1 0 0 { T 7440 17025 5 8 1 1 0 0 1 pinnumber=3 T 7440 17025 5 8 0 0 0 0 1 pinseq=3 T 6700 16950 9 8 1 1 0 0 1 pinlabel=/CEO } P 7800 16600 7250 16600 1 0 0 { T 7450 16625 5 8 1 1 0 0 1 pinnumber=1 T 7450 16625 5 8 0 0 0 0 1 pinseq=1 T 6800 16550 9 8 1 1 0 0 1 pinlabel=TCK } P 7800 16400 7250 16400 1 0 0 { T 7425 16425 5 8 1 1 0 0 1 pinnumber=4 T 7425 16425 5 8 0 0 0 0 1 pinseq=4 T 6800 16350 9 8 1 1 0 0 1 pinlabel=TDO } V 7300 16000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 7800 16000 7350 16000 1 0 0 { T 7390 16025 5 8 1 1 0 0 1 pinnumber=51 T 7390 16025 5 8 0 0 0 0 1 pinseq=51 T 6650 15950 9 8 1 1 0 0 1 pinlabel=/TAST } P 7800 15800 7250 15800 1 0 0 { T 7375 15825 5 8 1 1 0 0 1 pinnumber=153 T 7375 15825 5 8 0 0 0 0 1 pinseq=153 T 6850 15750 9 8 1 1 0 0 1 pinlabel=TDI } P 7800 15200 7250 15200 1 0 0 { T 7375 15225 5 8 1 1 0 0 1 pinnumber=19 T 7375 15225 5 8 0 0 0 0 1 pinseq=19 T 6050 15150 9 8 1 1 0 0 1 pinlabel=INIT_DONE I/O } P 7800 14200 7250 14200 1 0 0 { T 7350 14225 5 8 1 1 0 0 1 pinnumber=206 T 7350 14225 5 8 0 0 0 0 1 pinseq=206 T 6525 14150 9 8 1 1 0 0 1 pinlabel=/WS I/O } P 7800 14600 7250 14600 1 0 0 { T 7350 14625 5 8 1 1 0 0 1 pinnumber=208 T 7350 14625 5 8 0 0 0 0 1 pinseq=208 T 6575 14550 9 8 1 1 0 0 1 pinlabel=/CS I/O } P 7800 14400 7250 14400 1 0 0 { T 7350 14425 5 8 1 1 0 0 1 pinnumber=207 T 7350 14425 5 8 0 0 0 0 1 pinseq=207 T 6650 14350 9 8 1 1 0 0 1 pinlabel=CS I/O } P 7800 13600 7250 13600 1 0 0 { T 7350 13625 5 8 1 1 0 0 1 pinnumber=203 T 7350 13625 5 8 0 0 0 0 1 pinseq=203 T 6900 13550 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 14000 7250 14000 1 0 0 { T 7350 14025 5 8 1 1 0 0 1 pinnumber=205 T 7350 14025 5 8 0 0 0 0 1 pinseq=205 T 6900 13950 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 13800 7250 13800 1 0 0 { T 7350 13825 5 8 1 1 0 0 1 pinnumber=204 T 7350 13825 5 8 0 0 0 0 1 pinseq=204 T 6650 13750 9 8 1 1 0 0 1 pinlabel=RS I/O } P 7800 13000 7250 13000 1 0 0 { T 7350 13025 5 8 1 1 0 0 1 pinnumber=199 T 7350 13025 5 8 0 0 0 0 1 pinseq=199 T 6900 12950 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 13400 7250 13400 1 0 0 { T 7350 13425 5 8 1 1 0 0 1 pinnumber=202 T 7350 13425 5 8 0 0 0 0 1 pinseq=202 T 6900 13350 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 13200 7250 13200 1 0 0 { T 7350 13225 5 8 1 1 0 0 1 pinnumber=200 T 7350 13225 5 8 0 0 0 0 1 pinseq=200 T 6900 13150 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 12400 7250 12400 1 0 0 { T 7350 12425 5 8 1 1 0 0 1 pinnumber=196 T 7350 12425 5 8 0 0 0 0 1 pinseq=196 T 6900 12350 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 12800 7250 12800 1 0 0 { T 7350 12825 5 8 1 1 0 0 1 pinnumber=198 T 7350 12825 5 8 0 0 0 0 1 pinseq=198 T 6900 12750 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 12600 7250 12600 1 0 0 { T 7350 12625 5 8 1 1 0 0 1 pinnumber=197 T 7350 12625 5 8 0 0 0 0 1 pinseq=197 T 6900 12550 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 11800 7250 11800 1 0 0 { T 7350 11825 5 8 1 1 0 0 1 pinnumber=192 T 7350 11825 5 8 0 0 0 0 1 pinseq=192 T 6900 11750 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 12200 7250 12200 1 0 0 { T 7350 12225 5 8 1 1 0 0 1 pinnumber=195 T 7350 12225 5 8 0 0 0 0 1 pinseq=195 T 6900 12150 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 12000 7250 12000 1 0 0 { T 7350 12025 5 8 1 1 0 0 1 pinnumber=193 T 7350 12025 5 8 0 0 0 0 1 pinseq=193 T 6900 11950 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 11200 7250 11200 1 0 0 { T 7350 11225 5 8 1 1 0 0 1 pinnumber=189 T 7350 11225 5 8 0 0 0 0 1 pinseq=189 T 6900 11150 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 11600 7250 11600 1 0 0 { T 7375 11625 5 8 1 1 0 0 1 pinnumber=191 T 7375 11625 5 8 0 0 0 0 1 pinseq=191 T 6900 11550 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 11400 7250 11400 1 0 0 { T 7350 11425 5 8 1 1 0 0 1 pinnumber=190 T 7350 11425 5 8 0 0 0 0 1 pinseq=190 T 6900 11350 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 11000 7250 11000 1 0 0 { T 7350 11025 5 8 1 1 0 0 1 pinnumber=187 T 7350 11025 5 8 0 0 0 0 1 pinseq=187 T 6900 10950 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 10400 7250 10400 1 0 0 { T 7375 10425 5 8 1 1 0 0 1 pinnumber=179 T 7375 10425 5 8 0 0 0 0 1 pinseq=179 T 6900 10350 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 10800 7250 10800 1 0 0 { T 7350 10825 5 8 1 1 0 0 1 pinnumber=186 T 7350 10825 5 8 0 0 0 0 1 pinseq=186 T 6175 10750 9 8 1 1 0 0 1 pinlabel=DEV_OE I/O } P 7800 10600 7250 10600 1 0 0 { T 7350 10625 5 8 1 1 0 0 1 pinnumber=180 T 7350 10625 5 8 0 0 0 0 1 pinseq=180 T 6025 10550 9 8 1 1 0 0 1 pinlabel=/DEV_CLA I/O } P 7800 9800 7250 9800 1 0 0 { T 7350 9825 5 8 1 1 0 0 1 pinnumber=175 T 7350 9825 5 8 0 0 0 0 1 pinseq=175 T 6900 9750 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 10200 7250 10200 1 0 0 { T 7350 10225 5 8 1 1 0 0 1 pinnumber=177 T 7350 10225 5 8 0 0 0 0 1 pinseq=177 T 6900 10150 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 10000 7250 10000 1 0 0 { T 7350 10025 5 8 1 1 0 0 1 pinnumber=176 T 7350 10025 5 8 0 0 0 0 1 pinseq=176 T 6900 9950 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 9200 7250 9200 1 0 0 { T 7350 9225 5 8 1 1 0 0 1 pinnumber=172 T 7350 9225 5 8 0 0 0 0 1 pinseq=172 T 6900 9150 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 9600 7250 9600 1 0 0 { T 7350 9625 5 8 1 1 0 0 1 pinnumber=174 T 7350 9625 5 8 0 0 0 0 1 pinseq=174 T 6900 9550 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 9400 7250 9400 1 0 0 { T 7350 9425 5 8 1 1 0 0 1 pinnumber=173 T 7350 9425 5 8 0 0 0 0 1 pinseq=173 T 6900 9350 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 9000 7250 9000 1 0 0 { T 7350 9025 5 8 1 1 0 0 1 pinnumber=170 T 7350 9025 5 8 0 0 0 0 1 pinseq=170 T 6900 8950 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 8400 7250 8400 1 0 0 { T 7375 8425 5 8 1 1 0 0 1 pinnumber=167 T 7375 8425 5 8 0 0 0 0 1 pinseq=167 T 6900 8350 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 8800 7250 8800 1 0 0 { T 7350 8825 5 8 1 1 0 0 1 pinnumber=169 T 7350 8825 5 8 0 0 0 0 1 pinseq=169 T 6900 8750 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 8600 7250 8600 1 0 0 { T 7350 8625 5 8 1 1 0 0 1 pinnumber=168 T 7350 8625 5 8 0 0 0 0 1 pinseq=168 T 6900 8550 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 7800 7250 7800 1 0 0 { T 7350 7825 5 8 1 1 0 0 1 pinnumber=163 T 7350 7825 5 8 0 0 0 0 1 pinseq=163 T 6900 7750 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 8200 7250 8200 1 0 0 { T 7350 8225 5 8 1 1 0 0 1 pinnumber=166 T 7350 8225 5 8 0 0 0 0 1 pinseq=166 T 6325 8150 9 8 1 1 0 0 1 pinlabel=DATA7 I/O } P 7800 8000 7250 8000 1 0 0 { T 7350 8025 5 8 1 1 0 0 1 pinnumber=164 T 7350 8025 5 8 0 0 0 0 1 pinseq=164 T 6325 7950 9 8 1 1 0 0 1 pinlabel=DATA6 I/O } P 7800 7200 7250 7200 1 0 0 { T 7350 7225 5 8 1 1 0 0 1 pinnumber=160 T 7350 7225 5 8 0 0 0 0 1 pinseq=160 T 6900 7150 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 7600 7250 7600 1 0 0 { T 7350 7625 5 8 1 1 0 0 1 pinnumber=162 T 7350 7625 5 8 0 0 0 0 1 pinseq=162 T 6325 7550 9 8 1 1 0 0 1 pinlabel=DATA5 I/O } P 7800 7400 7250 7400 1 0 0 { T 7375 7425 5 8 1 1 0 0 1 pinnumber=161 T 7375 7425 5 8 0 0 0 0 1 pinseq=161 T 6325 7350 9 8 1 1 0 0 1 pinlabel=DATA4 I/O } P 7800 7000 7250 7000 1 0 0 { T 7350 7025 5 8 1 1 0 0 1 pinnumber=159 T 7350 7025 5 8 0 0 0 0 1 pinseq=159 T 6325 6950 9 8 1 1 0 0 1 pinlabel=DATA3 I/O } P 7800 6400 7250 6400 1 0 0 { T 7350 6425 5 8 1 1 0 0 1 pinnumber=150 T 7350 6425 5 8 0 0 0 0 1 pinseq=150 T 6900 6350 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 6800 7250 6800 1 0 0 { T 7350 6825 5 8 1 1 0 0 1 pinnumber=158 T 7350 6825 5 8 0 0 0 0 1 pinseq=158 T 6325 6750 9 8 1 1 0 0 1 pinlabel=DATA2 I/O } P 7800 6600 7250 6600 1 0 0 { T 7350 6625 5 8 1 1 0 0 1 pinnumber=157 T 7350 6625 5 8 0 0 0 0 1 pinseq=157 T 6325 6550 9 8 1 1 0 0 1 pinlabel=DATA1 I/O } P 7800 5800 7250 5800 1 0 0 { T 7350 5825 5 8 1 1 0 0 1 pinnumber=147 T 7350 5825 5 8 0 0 0 0 1 pinseq=147 T 6900 5750 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 6200 7250 6200 1 0 0 { T 7350 6225 5 8 1 1 0 0 1 pinnumber=149 T 7350 6225 5 8 0 0 0 0 1 pinseq=149 T 6900 6150 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 6000 7250 6000 1 0 0 { T 7350 6025 5 8 1 1 0 0 1 pinnumber=148 T 7350 6025 5 8 0 0 0 0 1 pinseq=148 T 6900 5950 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 5200 7250 5200 1 0 0 { T 7350 5225 5 8 1 1 0 0 1 pinnumber=142 T 7350 5225 5 8 0 0 0 0 1 pinseq=142 T 6900 5150 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 5600 7250 5600 1 0 0 { T 7350 5625 5 8 1 1 0 0 1 pinnumber=144 T 7350 5625 5 8 0 0 0 0 1 pinseq=144 T 6900 5550 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 5400 7250 5400 1 0 0 { T 7350 5425 5 8 1 1 0 0 1 pinnumber=143 T 7350 5425 5 8 0 0 0 0 1 pinseq=143 T 6900 5350 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 5000 7250 5000 1 0 0 { T 7350 5025 5 8 1 1 0 0 1 pinnumber=141 T 7350 5025 5 8 0 0 0 0 1 pinseq=141 T 6900 4950 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 4400 7250 4400 1 0 0 { T 7350 4425 5 8 1 1 0 0 1 pinnumber=136 T 7350 4425 5 8 0 0 0 0 1 pinseq=136 T 6900 4350 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 4200 7250 4200 1 0 0 { T 7350 4225 5 8 1 1 0 0 1 pinnumber=135 T 7350 4225 5 8 0 0 0 0 1 pinseq=135 T 6900 4150 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 4000 7250 4000 1 0 0 { T 7350 4025 5 8 1 1 0 0 1 pinnumber=134 T 7350 4025 5 8 0 0 0 0 1 pinseq=134 T 6900 3950 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 3800 7250 3800 1 0 0 { T 7350 3825 5 8 1 1 0 0 1 pinnumber=133 T 7350 3825 5 8 0 0 0 0 1 pinseq=133 T 6900 3750 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 3600 7250 3600 1 0 0 { T 7350 3625 5 8 1 1 0 0 1 pinnumber=132 T 7350 3625 5 8 0 0 0 0 1 pinseq=132 T 6900 3550 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 3400 7250 3400 1 0 0 { T 7350 3425 5 8 1 1 0 0 1 pinnumber=131 T 7350 3425 5 8 0 0 0 0 1 pinseq=131 T 6900 3350 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 3200 7250 3200 1 0 0 { T 7350 3225 5 8 1 1 0 0 1 pinnumber=128 T 7350 3225 5 8 0 0 0 0 1 pinseq=128 T 6900 3150 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 3000 7250 3000 1 0 0 { T 7350 3025 5 8 1 1 0 0 1 pinnumber=127 T 7350 3025 5 8 0 0 0 0 1 pinseq=127 T 6900 2950 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 2400 7250 2400 1 0 0 { T 7325 2425 5 8 1 1 0 0 1 pinnumber=122 T 7325 2425 5 8 0 0 0 0 1 pinseq=122 T 6900 2350 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 2200 7250 2200 1 0 0 { T 7350 2225 5 8 1 1 0 0 1 pinnumber=121 T 7350 2225 5 8 0 0 0 0 1 pinseq=121 T 6900 2150 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 2000 7250 2000 1 0 0 { T 7325 2025 5 8 1 1 0 0 1 pinnumber=120 T 7325 2025 5 8 0 0 0 0 1 pinseq=120 T 6900 1950 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 1800 7250 1800 1 0 0 { T 7350 1825 5 8 1 1 0 0 1 pinnumber=119 T 7350 1825 5 8 0 0 0 0 1 pinseq=119 T 6900 1750 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 1600 7250 1600 1 0 0 { T 7350 1625 5 8 1 1 0 0 1 pinnumber=116 T 7350 1625 5 8 0 0 0 0 1 pinseq=116 T 6900 1550 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 1400 7250 1400 1 0 0 { T 7350 1425 5 8 1 1 0 0 1 pinnumber=115 T 7350 1425 5 8 0 0 0 0 1 pinseq=115 T 6900 1350 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 600 7250 600 1 0 0 { T 7350 625 5 8 1 1 0 0 1 pinnumber=112 T 7350 625 5 8 0 0 0 0 1 pinseq=112 T 6900 550 9 8 1 1 0 0 1 pinlabel=I/O } P 7800 400 7250 400 1 0 0 { T 7350 425 5 8 1 1 0 0 1 pinnumber=111 T 7350 425 5 8 0 0 0 0 1 pinseq=111 T 6900 350 9 8 1 1 0 0 1 pinlabel=I/O } P 0 400 525 400 1 0 0 { T 200 425 5 8 1 1 0 0 1 pinnumber=104 T 200 425 5 8 0 0 0 0 1 pinseq=104 T 650 350 9 8 1 1 0 0 1 pinlabel=I/O } P 0 12800 525 12800 1 0 0 { T 300 12825 5 8 1 1 0 0 1 pinnumber=13 T 300 12825 5 8 0 0 0 0 1 pinseq=13 T 650 12750 9 8 1 1 0 0 1 pinlabel=I/O } T 500 0 9 10 1 0 0 0 1 EPF10K10QC208 T 7200 17300 8 10 1 1 0 6 1 refdes=U? geda-gaf-1.8.2/symbols/altera/10K10LC84-1.sym0000664000175000017500000002473612204104272015025 00000000000000v 20031231 1 P 100 15900 400 15900 1 0 0 { T 200 15950 5 8 1 1 0 0 1 pinnumber=13 T 200 15950 5 8 0 0 0 0 1 pinseq=13 } V 350 17100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 17100 300 17100 1 0 0 { T 150 17150 5 8 1 1 0 0 1 pinnumber=14 T 150 17150 5 8 0 0 0 0 1 pinseq=14 } T 450 17050 9 10 1 0 0 0 1 CE T 450 16250 9 10 1 0 0 0 1 CONFIG T 450 15850 9 10 1 0 0 0 1 DCLK P 100 16300 300 16300 1 0 0 { T 150 16350 5 8 1 1 0 0 1 pinnumber=34 T 150 16350 5 8 0 0 0 0 1 pinseq=34 } V 350 16300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 15100 400 15100 1 0 0 { T 200 15150 5 8 1 1 0 0 1 pinnumber=12 T 200 15150 5 8 0 0 0 0 1 pinseq=12 } P 100 14700 400 14700 1 0 0 { T 200 14750 5 8 1 1 0 0 1 pinnumber=11 T 200 14750 5 8 0 0 0 0 1 pinseq=11 } P 100 14300 400 14300 1 0 0 { T 200 14350 5 8 1 1 0 0 1 pinnumber=10 T 200 14350 5 8 0 0 0 0 1 pinseq=10 } P 100 13900 400 13900 1 0 0 { T 250 13950 5 8 1 1 0 0 1 pinnumber=9 T 250 13950 5 8 0 0 0 0 1 pinseq=9 } P 100 13500 400 13500 1 0 0 { T 250 13550 5 8 1 1 0 0 1 pinnumber=8 T 250 13550 5 8 0 0 0 0 1 pinseq=8 } P 100 13100 400 13100 1 0 0 { T 250 13150 5 8 1 1 0 0 1 pinnumber=7 T 250 13150 5 8 0 0 0 0 1 pinseq=7 } P 100 12300 400 12300 1 0 0 { T 250 12350 5 8 1 1 0 0 1 pinnumber=5 T 250 12350 5 8 0 0 0 0 1 pinseq=5 } T 450 15050 9 10 1 0 0 0 1 DATA0 T 450 14650 9 10 1 0 0 0 1 DATA1 I/O T 450 13850 9 10 1 0 0 0 1 DATA3 I/O T 450 13450 9 10 1 0 0 0 1 DATA4 I/O T 450 13050 9 10 1 0 0 0 1 DATA5 I/O T 450 12250 9 10 1 0 0 0 1 DATA7 I/O P 100 12700 400 12700 1 0 0 { T 250 12750 5 8 1 1 0 0 1 pinnumber=6 T 250 12750 5 8 0 0 0 0 1 pinseq=6 } P 100 11900 400 11900 1 0 0 { T 200 11950 5 8 1 1 0 0 1 pinnumber=79 T 200 11950 5 8 0 0 0 0 1 pinseq=79 } T 450 12650 9 10 1 0 0 0 1 DATA6 I/O T 450 11850 9 10 1 0 0 0 1 CS I/O P 100 11500 300 11500 1 0 0 { T 150 11550 5 8 1 1 0 0 1 pinnumber=78 T 150 11550 5 8 0 0 0 0 1 pinseq=78 } P 100 11100 300 11100 1 0 0 { T 150 11150 5 8 1 1 0 0 1 pinnumber=80 T 150 11150 5 8 0 0 0 0 1 pinseq=80 } P 100 10700 300 10700 1 0 0 { T 150 10750 5 8 1 1 0 0 1 pinnumber=81 T 150 10750 5 8 0 0 0 0 1 pinseq=81 } V 350 11500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 350 11100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 350 10700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 450 14250 9 10 1 0 0 0 1 DATA2 I/O T 450 11450 9 10 1 0 0 0 1 CS I/O T 450 11050 9 10 1 0 0 0 1 WS I/O T 450 10650 9 10 1 0 0 0 1 RS I/O P 100 10300 400 10300 1 0 0 { T 150 10350 5 8 1 1 0 0 1 pinnumber=73 T 150 10350 5 8 0 0 0 0 1 pinseq=73 } T 450 10250 9 10 1 0 0 0 1 CLKUSR I/O P 100 9500 400 9500 1 0 0 { T 200 9550 5 8 1 1 0 0 1 pinnumber=31 T 200 9550 5 8 0 0 0 0 1 pinseq=31 } P 100 9100 400 9100 1 0 0 { T 200 9150 5 8 1 1 0 0 1 pinnumber=32 T 200 9150 5 8 0 0 0 0 1 pinseq=32 } T 450 9450 9 10 1 0 0 0 1 MSEL0 T 450 9050 9 10 1 0 0 0 1 MSEL1 P 100 8300 400 8300 1 0 0 { T 200 8350 5 8 1 1 0 0 1 pinnumber=15 T 200 8350 5 8 0 0 0 0 1 pinseq=15 } P 100 7900 400 7900 1 0 0 { T 200 7950 5 8 1 1 0 0 1 pinnumber=77 T 200 7950 5 8 0 0 0 0 1 pinseq=77 } P 100 7500 400 7500 1 0 0 { T 200 7550 5 8 1 1 0 0 1 pinnumber=57 T 200 7550 5 8 0 0 0 0 1 pinseq=57 } P 100 7100 400 7100 1 0 0 { T 200 7150 5 8 1 1 0 0 1 pinnumber=56 T 200 7150 5 8 0 0 0 0 1 pinseq=56 } T 450 8250 9 10 1 0 0 0 1 TDI T 450 7850 9 10 1 0 0 0 1 TCK T 450 7450 9 10 1 0 0 0 1 TMS T 450 7050 9 10 1 0 0 0 1 TRST P 100 6300 400 6300 1 0 0 { T 200 6350 5 8 1 1 0 0 1 pinnumber=83 T 200 6350 5 8 0 0 0 0 1 pinseq=83 } P 100 5900 300 5900 1 0 0 { T 200 5950 5 8 1 1 0 0 1 pinnumber=3 T 200 5950 5 8 0 0 0 0 1 pinseq=3 } V 350 5900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 450 6250 9 10 1 0 0 0 1 DEV_OE T 450 5850 9 10 1 0 0 0 1 DEV_CLR P 100 5100 400 5100 1 0 0 { T 250 5150 5 8 1 1 0 0 1 pinnumber=1 T 250 5150 5 8 0 0 0 0 1 pinseq=1 } P 100 4700 400 4700 1 0 0 { T 150 4750 5 8 1 1 0 0 1 pinnumber=43 T 150 4750 5 8 0 0 0 0 1 pinseq=43 } P 100 4300 400 4300 1 0 0 { T 200 4350 5 8 1 1 0 0 1 pinnumber=2 T 200 4350 5 8 0 0 0 0 1 pinseq=2 } P 100 3900 400 3900 1 0 0 { T 150 3950 5 8 1 1 0 0 1 pinnumber=42 T 150 3950 5 8 0 0 0 0 1 pinseq=42 } P 100 3500 400 3500 1 0 0 { T 150 3550 5 8 1 1 0 0 1 pinnumber=44 T 150 3550 5 8 0 0 0 0 1 pinseq=44 } P 100 3100 400 3100 1 0 0 { T 150 3150 5 8 1 1 0 0 1 pinnumber=84 T 150 3150 5 8 0 0 0 0 1 pinseq=84 } T 450 5050 9 10 1 0 0 0 1 IN CLK T 450 4650 9 10 1 0 0 0 1 IN CLK T 450 4250 9 10 1 0 0 0 1 IN T 450 3850 9 10 1 0 0 0 1 IN T 450 3450 9 10 1 0 0 0 1 IN T 450 3050 9 10 1 0 0 0 1 IN V 5550 17100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 5600 17100 5800 17100 1 0 1 { T 5600 17150 5 8 1 1 0 0 1 pinnumber=75 T 5600 17150 5 8 0 0 0 0 1 pinseq=75 } T 5050 17050 9 10 1 0 0 0 1 CEO P 5800 16300 5600 16300 1 0 0 { T 5600 16350 5 8 1 1 0 0 1 pinnumber=55 T 5600 16350 5 8 0 0 0 0 1 pinseq=55 } P 5800 15900 5500 15900 1 0 0 { T 5550 15950 5 8 1 1 0 0 1 pinnumber=76 T 5550 15950 5 8 0 0 0 0 1 pinseq=76 } V 5550 16300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 4700 16250 9 10 1 0 0 0 1 STATUS T 4250 15850 9 10 1 0 0 0 1 CONF_DONE P 5500 15100 5800 15100 1 0 1 { T 5550 15150 5 8 1 1 0 0 1 pinnumber=69 T 5550 15150 5 8 0 0 0 0 1 pinseq=69 } P 5500 14300 5800 14300 1 0 1 { T 5550 14350 5 8 1 1 0 0 1 pinnumber=70 T 5550 14350 5 8 0 0 0 0 1 pinseq=70 } T 4100 15050 9 10 1 0 0 0 1 INIT_DONE I/O T 4250 14250 9 10 1 0 0 0 1 RDYnBSY I/O P 5800 13500 5500 13500 1 0 0 { T 5550 13550 5 8 1 1 0 0 1 pinnumber=74 T 5550 13550 5 8 0 0 0 0 1 pinseq=74 } T 5100 13450 9 10 1 0 0 0 1 TDO P 100 2700 400 2700 1 0 0 { T 200 2750 5 8 1 1 0 0 1 pinnumber=16 T 200 2750 5 8 0 0 0 0 1 pinseq=16 } P 100 2300 400 2300 1 0 0 { T 200 2350 5 8 1 1 0 0 1 pinnumber=17 T 200 2350 5 8 0 0 0 0 1 pinseq=17 } P 100 1900 400 1900 1 0 0 { T 200 1950 5 8 1 1 0 0 1 pinnumber=18 T 200 1950 5 8 0 0 0 0 1 pinseq=18 } P 100 1500 400 1500 1 0 0 { T 200 1550 5 8 1 1 0 0 1 pinnumber=19 T 200 1550 5 8 0 0 0 0 1 pinseq=19 } P 100 1100 400 1100 1 0 0 { T 200 1150 5 8 1 1 0 0 1 pinnumber=21 T 200 1150 5 8 0 0 0 0 1 pinseq=21 } P 100 700 400 700 1 0 0 { T 150 750 5 8 1 1 0 0 1 pinnumber=22 T 150 750 5 8 0 0 0 0 1 pinseq=22 } T 450 2650 9 10 1 0 0 0 1 I/O T 450 2250 9 10 1 0 0 0 1 I/O T 450 1850 9 10 1 0 0 0 1 I/O T 450 1450 9 10 1 0 0 0 1 I/O T 450 1050 9 10 1 0 0 0 1 I/O T 450 650 9 10 1 0 0 0 1 I/O P 5500 12700 5800 12700 1 0 1 { T 5550 12750 5 8 1 1 0 0 1 pinnumber=72 T 5550 12750 5 8 0 0 0 0 1 pinseq=72 } P 5500 12300 5800 12300 1 0 1 { T 5600 12350 5 8 1 1 0 0 1 pinnumber=71 T 5600 12350 5 8 0 0 0 0 1 pinseq=71 } P 5500 11900 5800 11900 1 0 1 { T 5550 11950 5 8 1 1 0 0 1 pinnumber=67 T 5550 11950 5 8 0 0 0 0 1 pinseq=67 } P 5500 11500 5800 11500 1 0 1 { T 5550 11550 5 8 1 1 0 0 1 pinnumber=66 T 5550 11550 5 8 0 0 0 0 1 pinseq=66 } P 5500 11100 5800 11100 1 0 1 { T 5550 11150 5 8 1 1 0 0 1 pinnumber=65 T 5550 11150 5 8 0 0 0 0 1 pinseq=65 } P 5500 10700 5800 10700 1 0 1 { T 5550 10750 5 8 1 1 0 0 1 pinnumber=64 T 5550 10750 5 8 0 0 0 0 1 pinseq=64 } P 5500 10300 5800 10300 1 0 1 { T 5550 10350 5 8 1 1 0 0 1 pinnumber=62 T 5550 10350 5 8 0 0 0 0 1 pinseq=62 } P 5500 9900 5800 9900 1 0 1 { T 5550 9950 5 8 1 1 0 0 1 pinnumber=61 T 5550 9950 5 8 0 0 0 0 1 pinseq=61 } P 5500 9500 5800 9500 1 0 1 { T 5550 9550 5 8 1 1 0 0 1 pinnumber=60 T 5550 9550 5 8 0 0 0 0 1 pinseq=60 } P 5500 9100 5800 9100 1 0 1 { T 5550 9150 5 8 1 1 0 0 1 pinnumber=59 T 5550 9150 5 8 0 0 0 0 1 pinseq=59 } P 5500 8700 5800 8700 1 0 1 { T 5550 8750 5 8 1 1 0 0 1 pinnumber=58 T 5550 8750 5 8 0 0 0 0 1 pinseq=58 } P 5500 8300 5800 8300 1 0 1 { T 5550 8350 5 8 1 1 0 0 1 pinnumber=54 T 5550 8350 5 8 0 0 0 0 1 pinseq=54 } P 5500 7900 5800 7900 1 0 1 { T 5550 7950 5 8 1 1 0 0 1 pinnumber=53 T 5550 7950 5 8 0 0 0 0 1 pinseq=53 } P 5500 7500 5800 7500 1 0 1 { T 5550 7550 5 8 1 1 0 0 1 pinnumber=52 T 5550 7550 5 8 0 0 0 0 1 pinseq=52 } P 5500 7100 5800 7100 1 0 1 { T 5550 7150 5 8 1 1 0 0 1 pinnumber=51 T 5550 7150 5 8 0 0 0 0 1 pinseq=51 } P 5500 6700 5800 6700 1 0 1 { T 5550 6750 5 8 1 1 0 0 1 pinnumber=50 T 5550 6750 5 8 0 0 0 0 1 pinseq=50 } P 5500 6300 5800 6300 1 0 1 { T 5550 6350 5 8 1 1 0 0 1 pinnumber=49 T 5550 6350 5 8 0 0 0 0 1 pinseq=49 } P 5500 5900 5800 5900 1 0 1 { T 5550 5950 5 8 1 1 0 0 1 pinnumber=48 T 5550 5950 5 8 0 0 0 0 1 pinseq=48 } P 5500 5500 5800 5500 1 0 1 { T 5550 5550 5 8 1 1 0 0 1 pinnumber=47 T 5550 5550 5 8 0 0 0 0 1 pinseq=347 } P 5500 5100 5800 5100 1 0 1 { T 5550 5150 5 8 1 1 0 0 1 pinnumber=39 T 5550 5150 5 8 0 0 0 0 1 pinseq=39 } P 5500 4700 5800 4700 1 0 1 { T 5550 4750 5 8 1 1 0 0 1 pinnumber=38 T 5550 4750 5 8 0 0 0 0 1 pinseq=38 } P 5500 4300 5800 4300 1 0 1 { T 5550 4350 5 8 1 1 0 0 1 pinnumber=37 T 5550 4350 5 8 0 0 0 0 1 pinseq=37 } P 5500 3900 5800 3900 1 0 1 { T 5550 3950 5 8 1 1 0 0 1 pinnumber=36 T 5550 3950 5 8 0 0 0 0 1 pinseq=36 } P 5500 3500 5800 3500 1 0 1 { T 5550 3550 5 8 1 1 0 0 1 pinnumber=35 T 5550 3550 5 8 0 0 0 0 1 pinseq=35 } P 5500 3100 5800 3100 1 0 1 { T 5550 3150 5 8 1 1 0 0 1 pinnumber=30 T 5550 3150 5 8 0 0 0 0 1 pinseq=30 } P 5500 2700 5800 2700 1 0 1 { T 5550 2750 5 8 1 1 0 0 1 pinnumber=29 T 5550 2750 5 8 0 0 0 0 1 pinseq=29 } P 5500 2300 5800 2300 1 0 1 { T 5550 2350 5 8 1 1 0 0 1 pinnumber=28 T 5550 2350 5 8 0 0 0 0 1 pinseq=28 } P 5500 1900 5800 1900 1 0 1 { T 5550 1950 5 8 1 1 0 0 1 pinnumber=27 T 5550 1950 5 8 0 0 0 0 1 pinseq=27 } P 5500 1500 5800 1500 1 0 1 { T 5550 1550 5 8 1 1 0 0 1 pinnumber=25 T 5550 1550 5 8 0 0 0 0 1 pinseq=25 } P 5500 1100 5800 1100 1 0 1 { T 5550 1150 5 8 1 1 0 0 1 pinnumber=24 T 5550 1150 5 8 0 0 0 0 1 pinseq=24 } P 5500 700 5800 700 1 0 1 { T 5550 750 5 8 1 1 0 0 1 pinnumber=23 T 5550 750 5 8 0 0 0 0 1 pinseq=23 } T 5200 12650 9 10 1 0 0 0 1 I/O T 5200 12250 9 10 1 0 0 0 1 I/O T 5200 11850 9 10 1 0 0 0 1 I/O T 5200 11450 9 10 1 0 0 0 1 I/O T 5200 11050 9 10 1 0 0 0 1 I/O T 5200 10650 9 10 1 0 0 0 1 I/O T 5200 10250 9 10 1 0 0 0 1 I/O T 5200 9850 9 10 1 0 0 0 1 I/O T 5200 9450 9 10 1 0 0 0 1 I/O T 5200 9050 9 10 1 0 0 0 1 I/O T 5200 8650 9 10 1 0 0 0 1 I/O T 5200 8250 9 10 1 0 0 0 1 I/O T 5200 7850 9 10 1 0 0 0 1 I/O T 5200 7450 9 10 1 0 0 0 1 I/O T 5200 7050 9 10 1 0 0 0 1 I/O T 5200 6650 9 10 1 0 0 0 1 I/O T 5200 6250 9 10 1 0 0 0 1 I/O T 5200 5850 9 10 1 0 0 0 1 I/O T 5200 5450 9 10 1 0 0 0 1 I/O T 5200 5050 9 10 1 0 0 0 1 I/O T 5200 4650 9 10 1 0 0 0 1 I/O T 5200 4250 9 10 1 0 0 0 1 I/O T 5200 3850 9 10 1 0 0 0 1 I/O T 5200 3450 9 10 1 0 0 0 1 I/O T 5200 3050 9 10 1 0 0 0 1 I/O T 5200 2650 9 10 1 0 0 0 1 I/O T 5200 2250 9 10 1 0 0 0 1 I/O T 5200 1850 9 10 1 0 0 0 1 I/O T 5200 1450 9 10 1 0 0 0 1 I/O T 5200 1050 9 10 1 0 0 0 1 I/O T 5200 650 9 10 1 0 0 0 1 I/O B 400 300 5100 17200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 6200 17300 5 10 0 0 0 0 1 device=10K10LC84 T 6200 17000 5 10 0 0 0 0 1 footprint=PLCC84 T 400 100 9 10 1 0 0 0 1 10K10LC84 T 5500 17600 8 10 1 1 0 6 1 refdes=U? geda-gaf-1.8.2/symbols/geda-clib.scm0000664000175000017500000000430212204104272014074 00000000000000; -*-Scheme-*- ;;; ;;; Add the default component libraries ;;; (define geda-sym-path (build-path geda-data-path "sym")) ; NOTE: Some of the below component libraries below are commented out. ; This was done because there are conflicting filenames within these ; libraries. (for-each (lambda (dir) (if (list? dir) (component-library (build-path geda-sym-path (car dir)) (cadr dir)) (component-library (build-path geda-sym-path dir))) ) (reverse '( "local" ; Generic symbols ("analog" "Basic devices") ("connector" "Connectors (generic)") ("diode" "Diodes (generic)") ("io" "Input/output (generic)") ("power" "Power rails") ("radio" "Radio elements (generic)") ("switch" "Switches (generic)") ("titleblock" "Titleblocks (generic)") ("IEC417" "IEC 60417") ; Common logic series ("74" "74-series logic") ("4000" "4000-series logic") ("ecl" "ECL logic") ; Simulation ("cascade" "Cascade simulation elements") ("spice" "SPICE simulation elements") ("switcap" "SWITCAP simulation elements") ; ASIC design ("asic" "Basic devices (ASIC)") ("asicpads" "Contact pads (ASIC)") ; Manufacturers ("allegro" "Allegro Microsystems") ("altera" "Altera") ("amphenol" "Connectors (Amphenol)") ("apex" "Apex Microtechnology") ("dec" "DEC") ("idt" "IDT") ("irf" "International Rectifier") ("lattice" "Lattice Semiconductor") ("linear" "Linear Technology") ("maxim" "Maxim/Dallas") ("minicircuits" "Mini-Circuits") ("national" "National Semiconductor") ("philips" "Philips Electronics") ("st" "ST Microelectronics") ("xilinx" "Xilinx") ; Misc. stuff ("bus" "PC104 bus") ("memory" "Memory devices (misc)") ("micro" "Microcontrollers (misc)") ("transistor" "Transistors (misc)") ("tube" "Vacuum tubes (misc)") ("rf" "RF elements (misc)") ("pla" "Programmable logic arrays (misc)") ("supervisor" "Microprocessor supervisors (misc)") ("opto" "Optocouplers (misc)") ("relay" "Relays (misc)") ("misc" "Misc. unsorted symbols") ; Other ;"verilog" ;"vhdl" ;"gnetman" ))) geda-gaf-1.8.2/symbols/maxim/0000775000175000017500000000000012220655765012775 500000000000000geda-gaf-1.8.2/symbols/maxim/max1588-1.sym0000664000175000017500000000147212204104272014704 00000000000000v 20031231 1 P 300 1600 0 1600 1 0 1 { T 100 1650 5 8 1 1 0 0 1 pinnumber=3 T 100 1650 5 8 0 0 0 0 1 pinseq=3 } P 300 1200 0 1200 1 0 1 { T 100 1250 5 8 1 1 0 0 1 pinnumber=4 T 100 1250 5 8 0 0 0 0 1 pinseq=4 } P 300 800 0 800 1 0 1 { T 100 850 5 8 1 1 0 0 1 pinnumber=7 T 100 850 5 8 0 0 0 0 1 pinseq=7 } P 300 400 0 400 1 0 1 { T 100 450 5 8 1 1 0 0 1 pinnumber=8 T 100 450 5 8 0 0 0 0 1 pinseq=8 } P 2600 1000 2300 1000 1 0 0 { T 2400 1050 5 8 1 1 0 0 1 pinnumber=6 T 2400 1050 5 8 0 0 0 0 1 pinseq=6 } T 1700 1000 9 10 1 0 0 0 1 VOUT T 400 1550 9 10 1 0 0 0 1 IN+ T 400 1150 9 10 1 0 0 0 1 IN- T 400 750 9 10 1 0 0 0 1 VOSTRIM T 400 350 9 10 1 0 0 0 1 VOSTRIM T 350 1850 9 10 1 0 0 0 1 MAX1588 B 300 0 2000 1800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1950 2050 5 10 0 0 0 0 1 device=MAX1588 T 2300 1900 8 10 1 1 0 6 1 refdes=U? geda-gaf-1.8.2/symbols/maxim/max186-1.sym0000664000175000017500000000676312204104272014625 00000000000000v 20070626 1 P 300 5600 0 5600 1 0 1 { T 200 5650 5 8 1 1 0 6 1 pinnumber=1 T 200 5550 5 8 0 1 0 8 1 pinseq=1 T 350 5600 9 8 1 1 0 0 1 pinlabel=CH0 T 350 5600 5 8 0 1 0 2 1 pintype=in } P 300 5200 0 5200 1 0 1 { T 200 5250 5 8 1 1 0 6 1 pinnumber=2 T 200 5150 5 8 0 1 0 8 1 pinseq=2 T 350 5200 9 8 1 1 0 0 1 pinlabel=CH1 T 350 5200 5 8 0 1 0 2 1 pintype=in } P 300 4800 0 4800 1 0 1 { T 200 4850 5 8 1 1 0 6 1 pinnumber=3 T 200 4750 5 8 0 1 0 8 1 pinseq=3 T 350 4800 9 8 1 1 0 0 1 pinlabel=CH2 T 350 4800 5 8 0 1 0 2 1 pintype=in } P 300 4400 0 4400 1 0 1 { T 200 4450 5 8 1 1 0 6 1 pinnumber=4 T 200 4350 5 8 0 1 0 8 1 pinseq=4 T 350 4400 9 8 1 1 0 0 1 pinlabel=CH3 T 350 4400 5 8 0 1 0 2 1 pintype=in } P 300 4000 0 4000 1 0 1 { T 200 4050 5 8 1 1 0 6 1 pinnumber=5 T 200 3950 5 8 0 1 0 8 1 pinseq=5 T 350 4000 9 8 1 1 0 0 1 pinlabel=CH4 T 350 4000 5 8 0 1 0 2 1 pintype=in } P 300 3600 0 3600 1 0 1 { T 200 3650 5 8 1 1 0 6 1 pinnumber=6 T 200 3550 5 8 0 1 0 8 1 pinseq=6 T 350 3600 9 8 1 1 0 0 1 pinlabel=CH5 T 350 3600 5 8 0 1 0 2 1 pintype=in } P 300 3200 0 3200 1 0 1 { T 200 3250 5 8 1 1 0 6 1 pinnumber=7 T 200 3150 5 8 0 1 0 8 1 pinseq=7 T 350 3200 9 8 1 1 0 0 1 pinlabel=CH6 T 350 3200 5 8 0 1 0 2 1 pintype=in } P 300 2800 0 2800 1 0 1 { T 200 2850 5 8 1 1 0 6 1 pinnumber=8 T 200 2750 5 8 0 1 0 8 1 pinseq=8 T 350 2800 9 8 1 1 0 0 1 pinlabel=CH7 T 350 2800 5 8 0 1 0 2 1 pintype=in } P 2600 5600 2300 5600 1 0 0 { T 2400 5650 5 8 1 1 0 0 1 pinnumber=15 T 2400 5550 5 8 0 1 0 2 1 pinseq=15 T 2250 5600 9 8 1 1 0 6 1 pinlabel=DOUT T 2250 5600 5 8 0 1 0 8 1 pintype=tri } P 2600 5200 2300 5200 1 0 0 { T 2400 5250 5 8 1 1 0 0 1 pinnumber=16 T 2400 5150 5 8 0 1 0 2 1 pinseq=16 T 2250 5200 9 8 1 1 0 6 1 pinlabel=SSTRB T 2250 5200 5 8 0 1 0 8 1 pintype=tri } P 300 2000 0 2000 1 0 1 { T 200 2050 5 8 1 1 0 6 1 pinnumber=11 T 200 1950 5 8 0 1 0 8 1 pinseq=11 T 350 2000 9 8 1 1 0 0 1 pinlabel=VREF T 350 2000 5 8 0 1 0 2 1 pintype=in } B 300 0 2000 5800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 6050 5 10 0 0 0 0 1 device=MAX186 P 300 1600 0 1600 1 0 1 { T 200 1650 5 8 1 1 0 6 1 pinnumber=12 T 200 1550 5 8 0 1 0 8 1 pinseq=12 T 350 1600 9 8 1 1 0 0 1 pinlabel=REFADJ T 350 1600 5 8 0 1 0 2 1 pintype=in } P 300 1200 0 1200 1 0 1 { T 200 1250 5 8 1 1 0 6 1 pinnumber=17 T 200 1150 5 8 0 1 0 8 1 pinseq=17 T 350 1200 9 8 1 1 0 0 1 pinlabel=DIN T 350 1200 5 8 0 1 0 2 1 pintype=in } P 200 800 0 800 1 0 1 { T 200 850 5 8 1 1 0 6 1 pinnumber=18 T 200 750 5 8 0 1 0 8 1 pinseq=18 T 350 800 9 8 1 1 0 0 1 pinlabel=\_CS\_ T 350 800 5 8 0 1 0 2 1 pintype=in } L 300 475 400 400 3 0 0 0 -1 -1 L 400 400 300 325 3 0 0 0 -1 -1 P 0 2400 200 2400 1 0 0 { T 200 2450 5 8 1 1 0 6 1 pinnumber=10 T 200 2350 5 8 0 1 0 8 1 pinseq=10 T 350 2400 9 8 1 1 0 0 1 pinlabel=\_SHDN\_ T 350 2400 5 8 0 1 0 2 1 pintype=in } V 250 2400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 400 300 400 1 0 0 { T 200 450 5 8 1 1 0 6 1 pinnumber=19 T 200 350 5 8 0 1 0 8 1 pinseq=19 T 400 400 9 8 1 1 0 0 1 pinlabel=SCLK T 400 400 5 8 0 1 0 2 1 pintype=clk } V 250 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2300 5900 8 10 1 1 0 6 1 refdes=U? T 300 6450 5 10 0 0 0 0 1 footprint=DIP20 T 300 7450 5 10 0 0 0 0 1 description=low-power, 8-channel, serial 12-bit ADC T 300 6250 5 10 0 0 0 0 1 numslots=0 T 300 6650 5 10 0 0 0 0 1 net=Vdd:20 T 300 6850 5 10 0 0 0 0 1 net=AGND:13 T 300 7050 5 10 0 0 0 0 1 net=DGND:14 T 300 7250 5 10 0 0 0 0 1 net=Vss:9 T 300 7650 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX186-MAX188.pdf T 300 5850 9 10 1 0 0 0 1 MAX186 T 300 7850 5 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/maxim/max122-1.sym0000664000175000017500000001035412204104272014602 00000000000000v 20070626 1 B 300 0 2000 5400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 375 5650 5 10 0 0 0 0 1 device=MAX122 T 375 5850 5 10 0 0 0 0 1 footprint=DIP24 T 375 6250 5 10 0 0 0 0 1 description=12-bit parallel output ADC T 375 6850 5 10 0 0 0 0 1 net=VDD:3 T 375 7050 5 10 0 0 0 0 1 net=VSS:2 T 375 6050 5 10 0 0 0 0 1 numslots=0 T 375 6450 5 10 0 0 0 0 1 net=AGND:6 T 375 6650 5 10 0 0 0 0 1 net=DGND:12 P 0 5100 300 5100 1 0 0 { T 200 5050 5 8 0 1 0 8 1 pinseq=1 T 200 5150 5 8 1 1 0 6 1 pinnumber=1 T 350 5100 5 8 0 1 0 2 1 pintype=in T 350 5100 9 8 1 1 0 0 1 pinlabel=MODE } P 2600 5100 2300 5100 1 0 0 { T 2400 5150 5 8 1 1 0 0 1 pinnumber=19 T 2250 5100 9 8 1 1 0 6 1 pinlabel=D0 T 2400 5050 5 8 0 1 0 2 1 pinseq=20 T 2250 5100 5 8 0 1 0 8 1 pintype=out } P 2600 4700 2300 4700 1 0 0 { T 2400 4750 5 8 1 1 0 0 1 pinnumber=18 T 2250 4700 9 8 1 1 0 6 1 pinlabel=D1 T 2400 4650 5 8 0 1 0 2 1 pinseq=19 T 2250 4700 5 8 0 1 0 8 1 pintype=out } P 2600 4300 2300 4300 1 0 0 { T 2400 4350 5 8 1 1 0 0 1 pinnumber=17 T 2250 4300 9 8 1 1 0 6 1 pinlabel=D2 T 2400 4250 5 8 0 1 0 2 1 pinseq=18 T 2250 4300 5 8 0 1 0 8 1 pintype=out } P 2600 3900 2300 3900 1 0 0 { T 2400 3950 5 8 1 1 0 0 1 pinnumber=16 T 2250 3900 9 8 1 1 0 6 1 pinlabel=D3 T 2400 3850 5 8 0 1 0 2 1 pinseq=17 T 2250 3900 5 8 0 1 0 8 1 pintype=out } P 2600 3500 2300 3500 1 0 0 { T 2250 3500 9 8 1 1 0 6 1 pinlabel=D4 T 2400 3550 5 8 1 1 0 0 1 pinnumber=15 T 2400 3450 5 8 0 1 0 2 1 pinseq=16 T 2250 3500 5 8 0 1 0 8 1 pintype=out } P 2600 3100 2300 3100 1 0 0 { T 2250 3100 9 8 1 1 0 6 1 pinlabel=D5 T 2400 3150 5 8 1 1 0 0 1 pinnumber=14 T 2400 3050 5 8 0 1 0 2 1 pinseq=15 T 2250 3100 5 8 0 1 0 8 1 pintype=out } P 2600 2700 2300 2700 1 0 0 { T 2250 2700 9 8 1 1 0 6 1 pinlabel=D6 T 2400 2650 5 8 0 1 0 2 1 pinseq=14 T 2400 2750 5 8 1 1 0 0 1 pinnumber=13 T 2250 2700 5 8 0 1 0 8 1 pintype=out } P 2600 2300 2300 2300 1 0 0 { T 2400 2350 5 8 1 1 0 0 1 pinnumber=11 T 2250 2300 9 8 1 1 0 6 1 pinlabel=D7 T 2400 2250 5 8 0 1 0 2 1 pinseq=13 T 2250 2300 5 8 0 1 0 8 1 pintype=out } P 2600 1900 2300 1900 1 0 0 { T 2400 1950 5 8 1 1 0 0 1 pinnumber=10 T 2250 1900 9 8 1 1 0 6 1 pinlabel=D8 T 2400 1850 5 8 0 1 0 2 1 pinseq=12 T 2250 1900 5 8 0 1 0 8 1 pintype=out } P 2600 1500 2300 1500 1 0 0 { T 2250 1500 9 8 1 1 0 6 1 pinlabel=D9 T 2400 1550 5 8 1 1 0 0 1 pinnumber=9 T 2400 1450 5 8 0 1 0 2 1 pinseq=11 T 2250 1500 5 8 0 1 0 8 1 pintype=out } P 2600 1100 2300 1100 1 0 0 { T 2250 1100 9 8 1 1 0 6 1 pinlabel=D10 T 2400 1150 5 8 1 1 0 0 1 pinnumber=8 T 2400 1050 5 8 0 1 0 2 1 pinseq=10 T 2250 1100 5 8 0 1 0 8 1 pintype=out } P 2600 700 2300 700 1 0 0 { T 2250 700 9 8 1 1 0 6 1 pinlabel=D11 T 2400 750 5 8 1 1 0 0 1 pinnumber=7 T 2400 650 5 8 0 1 0 2 1 pinseq=9 T 2250 700 5 8 0 1 0 8 1 pintype=out } T 300 5450 9 10 1 0 0 0 1 MAX122 P 0 4700 200 4700 1 0 0 { T 200 4650 5 8 0 1 0 8 1 pinseq=2 T 200 4750 5 8 1 1 0 6 1 pinnumber=23 T 350 4700 5 8 0 1 0 2 1 pintype=in T 350 4700 9 8 1 1 0 0 1 pinlabel=\_CS\_ } P 0 4300 200 4300 1 0 0 { T 200 4250 5 8 0 1 0 8 1 pinseq=3 T 200 4350 5 8 1 1 0 6 1 pinnumber=24 T 350 4300 5 8 0 1 0 2 1 pintype=in T 350 4300 9 8 1 1 0 0 1 pinlabel=\_RD\_ } P 0 3900 200 3900 1 0 0 { T 200 3850 5 8 0 1 0 8 1 pinseq=4 T 200 3950 5 8 1 1 0 6 1 pinnumber=20 T 350 3900 5 8 0 1 0 2 1 pintype=in T 350 3900 9 8 1 1 0 0 1 pinlabel=\_CONVST\_ } P 0 3500 300 3500 1 0 0 { T 200 3450 5 8 0 1 0 8 1 pinseq=5 T 200 3550 5 8 1 1 0 6 1 pinnumber=21 T 425 3500 5 8 0 1 0 2 1 pintype=in T 425 3500 9 8 1 1 0 0 1 pinlabel=CLKIN } P 0 3100 300 3100 1 0 0 { T 200 3050 5 8 0 1 0 8 1 pinseq=6 T 200 3150 5 8 1 1 0 6 1 pinnumber=4 T 350 3100 5 8 0 1 0 2 1 pintype=in T 350 3100 9 8 1 1 0 0 1 pinlabel=AIN } P 0 2700 300 2700 1 0 0 { T 200 2650 5 8 0 1 0 8 1 pinseq=7 T 200 2750 5 8 1 1 0 6 1 pinnumber=5 T 350 2700 5 8 0 1 0 2 1 pintype=pas T 350 2700 9 8 1 1 0 0 1 pinlabel=VREF } P 2600 300 2400 300 1 0 0 { T 2400 250 5 8 0 1 180 6 1 pinseq=8 T 2400 350 5 8 1 1 180 8 1 pinnumber=22 T 2250 300 5 8 0 1 180 0 1 pintype=out T 2250 300 9 8 1 1 180 2 1 pinlabel=\_INT\_ / \_BUSY\_ } L 300 3575 400 3500 3 0 0 0 -1 -1 L 300 3425 400 3500 3 0 0 0 -1 -1 V 250 3900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 4300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 4700 51 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 2350 300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2300 5500 5 10 1 1 0 6 1 refdes=U? geda-gaf-1.8.2/symbols/maxim/max12558-1.sym0000664000175000017500000004122012204104272014756 00000000000000v 20050313 1 P 100 11300 400 11300 1 0 0 { T 325 11350 5 10 1 1 0 6 1 pinnumber=2 T 100 11300 5 10 0 1 0 0 1 pinseq=2 T 300 11350 5 10 0 1 0 0 1 pintype=in T 500 11350 5 10 1 1 0 0 1 pinlabel=INAP } B 400 400 4900 11800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 5600 7000 5300 7000 1 0 0 { T 5500 7000 5 10 0 1 0 0 1 pintype=out T 5350 7025 5 10 1 1 0 0 1 pinnumber=41 T 5500 7000 5 10 0 1 0 0 1 pinseq=41 T 4700 7000 5 10 1 1 0 1 1 pinlabel=DB13 } P 5600 6800 5300 6800 1 0 0 { T 5500 6800 5 10 0 1 0 0 1 pintype=out T 5350 6825 5 10 1 1 0 0 1 pinnumber=40 T 5500 6800 5 10 0 1 0 0 1 pinseq=40 T 4700 6800 5 10 1 1 0 1 1 pinlabel=DB12 } P 5600 6600 5300 6600 1 0 0 { T 5500 6600 5 10 0 1 0 0 1 pintype=out T 5350 6625 5 10 1 1 0 0 1 pinnumber=39 T 5500 6600 5 10 0 1 0 0 1 pinseq=39 T 4700 6600 5 10 1 1 0 1 1 pinlabel=DB11 } P 5600 6400 5300 6400 1 0 0 { T 5500 6400 5 10 0 1 0 0 1 pintype=out T 5350 6425 5 10 1 1 0 0 1 pinnumber=38 T 5500 6400 5 10 0 1 0 0 1 pinseq=38 T 4700 6400 5 10 1 1 0 1 1 pinlabel=DB10 } P 5600 6200 5300 6200 1 0 0 { T 5500 6200 5 10 0 1 0 0 1 pintype=out T 5350 6225 5 10 1 1 0 0 1 pinnumber=37 T 5500 6200 5 10 0 1 0 0 1 pinseq=37 T 4700 6200 5 10 1 1 0 1 1 pinlabel=DB9 } P 5600 6000 5300 6000 1 0 0 { T 5500 6000 5 10 0 1 0 0 1 pintype=out T 5350 6025 5 10 1 1 0 0 1 pinnumber=36 T 5500 6000 5 10 0 1 0 0 1 pinseq=36 T 4700 6000 5 10 1 1 0 1 1 pinlabel=DB8 } P 5600 5800 5300 5800 1 0 0 { T 5500 5800 5 10 0 1 0 0 1 pintype=out T 5350 5825 5 10 1 1 0 0 1 pinnumber=35 T 5500 5800 5 10 0 1 0 0 1 pinseq=35 T 4700 5800 5 10 1 1 0 1 1 pinlabel=DB7 } P 5600 5600 5300 5600 1 0 0 { T 5500 5600 5 10 0 1 0 0 1 pintype=out T 5350 5625 5 10 1 1 0 0 1 pinnumber=34 T 5500 5600 5 10 0 1 0 0 1 pinseq=34 T 4700 5600 5 10 1 1 0 1 1 pinlabel=DB6 } P 5600 5400 5300 5400 1 0 0 { T 5500 5400 5 10 0 1 0 0 1 pintype=out T 5350 5425 5 10 1 1 0 0 1 pinnumber=33 T 5500 5400 5 10 0 1 0 0 1 pinseq=33 T 4700 5400 5 10 1 1 0 1 1 pinlabel=DB5 } P 5600 5200 5300 5200 1 0 0 { T 5500 5200 5 10 0 1 0 0 1 pintype=out T 5350 5225 5 10 1 1 0 0 1 pinnumber=32 T 5500 5200 5 10 0 1 0 0 1 pinseq=32 T 4700 5200 5 10 1 1 0 1 1 pinlabel=DB4 } P 5600 5000 5300 5000 1 0 0 { T 5500 5000 5 10 0 1 0 0 1 pintype=out T 5350 5025 5 10 1 1 0 0 1 pinnumber=31 T 5500 5000 5 10 0 1 0 0 1 pinseq=31 T 4700 5000 5 10 1 1 0 1 1 pinlabel=DB3 } P 5600 4800 5300 4800 1 0 0 { T 5500 4800 5 10 0 1 0 0 1 pintype=out T 5350 4825 5 10 1 1 0 0 1 pinnumber=30 T 5500 4800 5 10 0 1 0 0 1 pinseq=30 T 4700 4800 5 10 1 1 0 1 1 pinlabel=DB2 } P 5600 4600 5300 4600 1 0 0 { T 5500 4600 5 10 0 1 0 0 1 pintype=out T 5350 4625 5 10 1 1 0 0 1 pinnumber=29 T 5500 4600 5 10 0 1 0 0 1 pinseq=29 T 4700 4600 5 10 1 1 0 1 1 pinlabel=DB1 } P 5600 4400 5300 4400 1 0 0 { T 5500 4400 5 10 0 1 0 0 1 pintype=out T 5350 4425 5 10 1 1 0 0 1 pinnumber=28 T 5500 4400 5 10 0 1 0 0 1 pinseq=28 T 4700 4400 5 10 1 1 0 1 1 pinlabel=DB0 } P 5600 7200 5300 7200 1 0 0 { T 5500 7200 5 10 0 1 0 0 1 pintype=out T 5350 7225 5 10 1 1 0 0 1 pinnumber=42 T 5500 7200 5 10 0 1 0 0 1 pinseq=42 T 4700 7200 5 10 1 1 0 1 1 pinlabel=DORB } P 5600 11400 5300 11400 1 0 0 { T 5500 11400 5 10 0 1 0 0 1 pintype=out T 5350 11425 5 10 1 1 0 0 1 pinnumber=58 T 5500 11400 5 10 0 1 0 0 1 pinseq=58 T 4700 11400 5 10 1 1 0 1 1 pinlabel=DA13 } P 5600 11200 5300 11200 1 0 0 { T 5500 11200 5 10 0 1 0 0 1 pintype=out T 5350 11225 5 10 1 1 0 0 1 pinnumber=57 T 5500 11200 5 10 0 1 0 0 1 pinseq=57 T 4700 11200 5 10 1 1 0 1 1 pinlabel=DA12 } P 5600 11000 5300 11000 1 0 0 { T 5500 11000 5 10 0 1 0 0 1 pintype=out T 5350 11025 5 10 1 1 0 0 1 pinnumber=56 T 5500 11000 5 10 0 1 0 0 1 pinseq=56 T 4700 11000 5 10 1 1 0 1 1 pinlabel=DA11 } P 5600 10800 5300 10800 1 0 0 { T 5500 10800 5 10 0 1 0 0 1 pintype=out T 5350 10825 5 10 1 1 0 0 1 pinnumber=55 T 5500 10800 5 10 0 1 0 0 1 pinseq=55 T 4700 10800 5 10 1 1 0 1 1 pinlabel=DA10 } P 5600 10600 5300 10600 1 0 0 { T 5500 10600 5 10 0 1 0 0 1 pintype=out T 5350 10625 5 10 1 1 0 0 1 pinnumber=54 T 5500 10600 5 10 0 1 0 0 1 pinseq=54 T 4700 10600 5 10 1 1 0 1 1 pinlabel=DA9 } P 5600 10400 5300 10400 1 0 0 { T 5500 10400 5 10 0 1 0 0 1 pintype=out T 5350 10425 5 10 1 1 0 0 1 pinnumber=53 T 5500 10400 5 10 0 1 0 0 1 pinseq=53 T 4700 10400 5 10 1 1 0 1 1 pinlabel=DA8 } P 5600 10200 5300 10200 1 0 0 { T 5500 10200 5 10 0 1 0 0 1 pintype=out T 5350 10225 5 10 1 1 0 0 1 pinnumber=52 T 5500 10200 5 10 0 1 0 0 1 pinseq=52 T 4700 10200 5 10 1 1 0 1 1 pinlabel=DA7 } P 5600 10000 5300 10000 1 0 0 { T 5500 10000 5 10 0 1 0 0 1 pintype=out T 5350 10025 5 10 1 1 0 0 1 pinnumber=51 T 5500 10000 5 10 0 1 0 0 1 pinseq=51 T 4700 10000 5 10 1 1 0 1 1 pinlabel=DA6 } P 5600 9800 5300 9800 1 0 0 { T 5500 9800 5 10 0 1 0 0 1 pintype=out T 5350 9825 5 10 1 1 0 0 1 pinnumber=50 T 5500 9800 5 10 0 1 0 0 1 pinseq=50 T 4700 9800 5 10 1 1 0 1 1 pinlabel=DA5 } P 5600 9600 5300 9600 1 0 0 { T 5500 9600 5 10 0 1 0 0 1 pintype=out T 5350 9625 5 10 1 1 0 0 1 pinnumber=49 T 5500 9600 5 10 0 1 0 0 1 pinseq=49 T 4700 9600 5 10 1 1 0 1 1 pinlabel=DA4 } P 5600 9400 5300 9400 1 0 0 { T 5500 9400 5 10 0 1 0 0 1 pintype=out T 5350 9425 5 10 1 1 0 0 1 pinnumber=48 T 5500 9400 5 10 0 1 0 0 1 pinseq=48 T 4700 9400 5 10 1 1 0 1 1 pinlabel=DA3 } P 5600 9200 5300 9200 1 0 0 { T 5500 9200 5 10 0 1 0 0 1 pintype=out T 5350 9225 5 10 1 1 0 0 1 pinnumber=47 T 5500 9200 5 10 0 1 0 0 1 pinseq=47 T 4700 9200 5 10 1 1 0 1 1 pinlabel=DA2 } P 5600 9000 5300 9000 1 0 0 { T 5500 9000 5 10 0 1 0 0 1 pintype=out T 5350 9025 5 10 1 1 0 0 1 pinnumber=46 T 5500 9000 5 10 0 1 0 0 1 pinseq=46 T 4700 9000 5 10 1 1 0 1 1 pinlabel=DA1 } P 5600 8800 5300 8800 1 0 0 { T 5500 8800 5 10 0 1 0 0 1 pintype=out T 5350 8825 5 10 1 1 0 0 1 pinnumber=45 T 5500 8800 5 10 0 1 0 0 1 pinseq=45 T 4700 8800 5 10 1 1 0 1 1 pinlabel=DA0 } P 5600 11600 5300 11600 1 0 0 { T 5500 11600 5 10 0 1 0 0 1 pintype=out T 5350 11625 5 10 1 1 0 0 1 pinnumber=59 T 5500 11600 5 10 0 1 0 0 1 pinseq=59 T 4700 11600 5 10 1 1 0 1 1 pinlabel=DORA } P 5600 8000 5300 8000 1 0 0 { T 5500 8000 5 10 0 1 0 0 1 pintype=out T 5350 8025 5 10 1 1 0 0 1 pinnumber=44 T 5500 8000 5 10 0 1 0 0 1 pinseq=44 T 4700 8000 5 10 1 1 0 1 1 pinlabel=DAV } L 4300 11400 4300 8600 3 100 0 0 -1 -1 L 4600 11400 4400 11400 3 0 0 0 -1 -1 L 4300 11300 4400 11400 3 0 0 0 -1 -1 L 3700 10100 3900 10300 3 0 0 0 -1 -1 L 4600 11200 4400 11200 3 0 0 0 -1 -1 L 4300 11100 4400 11200 3 0 0 0 -1 -1 L 4600 11000 4400 11000 3 0 0 0 -1 -1 L 4300 10900 4400 11000 3 0 0 0 -1 -1 L 4600 10800 4400 10800 3 0 0 0 -1 -1 L 4300 10700 4400 10800 3 0 0 0 -1 -1 L 4600 10600 4400 10600 3 0 0 0 -1 -1 L 4300 10500 4400 10600 3 0 0 0 -1 -1 L 4600 10400 4400 10400 3 0 0 0 -1 -1 L 4300 10300 4400 10400 3 0 0 0 -1 -1 L 4600 10200 4400 10200 3 0 0 0 -1 -1 L 4300 10100 4400 10200 3 0 0 0 -1 -1 L 4600 10000 4400 10000 3 0 0 0 -1 -1 L 4300 9900 4400 10000 3 0 0 0 -1 -1 L 4600 9800 4400 9800 3 0 0 0 -1 -1 L 4300 9700 4400 9800 3 0 0 0 -1 -1 L 4600 9600 4400 9600 3 0 0 0 -1 -1 L 4300 9500 4400 9600 3 0 0 0 -1 -1 L 4600 9400 4400 9400 3 0 0 0 -1 -1 L 4300 9300 4400 9400 3 0 0 0 -1 -1 L 4600 9200 4400 9200 3 0 0 0 -1 -1 L 4300 9100 4400 9200 3 0 0 0 -1 -1 L 4600 9000 4400 9000 3 0 0 0 -1 -1 L 4300 8900 4400 9000 3 0 0 0 -1 -1 L 4600 8800 4400 8800 3 0 0 0 -1 -1 L 4300 8700 4400 8800 3 0 0 0 -1 -1 L 3100 10200 4300 10200 3 100 0 0 -1 -1 T 3600 10300 9 10 1 0 0 0 1 14 L 4300 7000 4300 4200 3 100 0 0 -1 -1 L 4600 7000 4400 7000 3 0 0 0 -1 -1 L 4300 6900 4400 7000 3 0 0 0 -1 -1 L 3700 5700 3900 5900 3 0 0 0 -1 -1 L 4600 6800 4400 6800 3 0 0 0 -1 -1 L 4300 6700 4400 6800 3 0 0 0 -1 -1 L 4600 6600 4400 6600 3 0 0 0 -1 -1 L 4300 6500 4400 6600 3 0 0 0 -1 -1 L 4600 6400 4400 6400 3 0 0 0 -1 -1 L 4300 6300 4400 6400 3 0 0 0 -1 -1 L 4600 6200 4400 6200 3 0 0 0 -1 -1 L 4300 6100 4400 6200 3 0 0 0 -1 -1 L 4600 6000 4400 6000 3 0 0 0 -1 -1 L 4300 5900 4400 6000 3 0 0 0 -1 -1 L 4600 5800 4400 5800 3 0 0 0 -1 -1 L 4300 5700 4400 5800 3 0 0 0 -1 -1 L 4600 5600 4400 5600 3 0 0 0 -1 -1 L 4300 5500 4400 5600 3 0 0 0 -1 -1 L 4600 5400 4400 5400 3 0 0 0 -1 -1 L 4300 5300 4400 5400 3 0 0 0 -1 -1 L 4600 5200 4400 5200 3 0 0 0 -1 -1 L 4300 5100 4400 5200 3 0 0 0 -1 -1 L 4600 5000 4400 5000 3 0 0 0 -1 -1 L 4300 4900 4400 5000 3 0 0 0 -1 -1 L 4600 4800 4400 4800 3 0 0 0 -1 -1 L 4300 4700 4400 4800 3 0 0 0 -1 -1 L 4600 4600 4400 4600 3 0 0 0 -1 -1 L 4300 4500 4400 4600 3 0 0 0 -1 -1 L 4600 4400 4400 4400 3 0 0 0 -1 -1 L 4300 4300 4400 4400 3 0 0 0 -1 -1 L 3100 5800 4300 5800 3 100 0 0 -1 -1 T 3600 5900 9 10 1 0 0 0 1 14 L 1100 10200 1700 10800 3 0 0 0 -1 -1 L 1100 10200 1700 9600 3 0 0 0 -1 -1 L 3100 10800 1700 10800 3 0 0 0 -1 -1 L 3100 9600 1700 9600 3 0 0 0 -1 -1 L 3100 9600 3100 10800 3 0 0 0 -1 -1 L 1500 9800 700 9800 3 0 0 0 -1 -1 L 700 9800 700 9100 3 0 0 0 -1 -1 L 1500 10600 700 10600 3 0 0 0 -1 -1 L 700 10600 700 11300 3 0 0 0 -1 -1 L 700 11300 400 11300 3 0 0 0 -1 -1 P 100 9100 400 9100 1 0 0 { T 325 9150 5 10 1 1 0 6 1 pinnumber=3 T 100 9100 5 10 0 1 0 0 1 pinseq=3 T 300 9150 5 10 0 1 0 0 1 pintype=in T 500 9050 5 10 1 1 0 2 1 pinlabel=INAN } L 700 9100 400 9100 3 0 0 0 -1 -1 P 100 6900 400 6900 1 0 0 { T 325 6950 5 10 1 1 0 6 1 pinnumber=16 T 100 6900 5 10 0 1 0 0 1 pinseq=16 T 300 6950 5 10 0 1 0 0 1 pintype=in T 500 6950 5 10 1 1 0 0 1 pinlabel=INBP } L 1100 5800 1700 6400 3 0 0 0 -1 -1 L 1100 5800 1700 5200 3 0 0 0 -1 -1 L 3100 6400 1700 6400 3 0 0 0 -1 -1 L 3100 5200 1700 5200 3 0 0 0 -1 -1 L 3100 5200 3100 6400 3 0 0 0 -1 -1 L 1500 5400 700 5400 3 0 0 0 -1 -1 L 700 5400 700 4700 3 0 0 0 -1 -1 L 1500 6200 700 6200 3 0 0 0 -1 -1 L 700 6200 700 6900 3 0 0 0 -1 -1 L 700 6900 400 6900 3 0 0 0 -1 -1 P 100 4700 400 4700 1 0 0 { T 325 4750 5 10 1 1 0 6 1 pinnumber=15 T 100 4700 5 10 0 1 0 0 1 pinseq=15 T 300 4750 5 10 0 1 0 0 1 pintype=in T 500 4650 5 10 1 1 0 2 1 pinlabel=INBN } L 700 4700 400 4700 3 0 0 0 -1 -1 P 100 4200 400 4200 1 0 0 { T 325 4250 5 10 1 1 0 6 1 pinnumber=11 T 100 4200 5 10 0 1 0 0 1 pinseq=11 T 300 4250 5 10 0 1 0 0 1 pintype=in T 500 4200 5 10 1 1 0 1 1 pinlabel=REFPB } P 100 3100 400 3100 1 0 0 { T 325 3150 5 10 1 1 0 6 1 pinnumber=10 T 100 3100 5 10 0 1 0 0 1 pinseq=10 T 300 3150 5 10 0 1 0 0 1 pintype=in T 500 3100 5 10 1 1 0 1 1 pinlabel=REFNB } P 100 10200 400 10200 1 0 0 { T 325 10250 5 10 1 1 0 6 1 pinnumber=6 T 100 10200 5 10 0 1 0 0 1 pinseq=6 T 300 10250 5 10 0 1 0 0 1 pintype=in T 500 10200 5 10 1 1 0 1 1 pinlabel=COMA } P 100 5800 400 5800 1 0 0 { T 325 5850 5 10 1 1 0 6 1 pinnumber=12 T 100 5800 5 10 0 1 0 0 1 pinseq=12 T 300 5850 5 10 0 1 0 0 1 pintype=in T 500 5800 5 10 1 1 0 1 1 pinlabel=COMB } P 100 8600 400 8600 1 0 0 { T 325 8650 5 10 1 1 0 6 1 pinnumber=7 T 100 8600 5 10 0 1 0 0 1 pinseq=7 T 300 8650 5 10 0 1 0 0 1 pintype=in T 500 8600 5 10 1 1 0 1 1 pinlabel=REFPA } P 100 7500 400 7500 1 0 0 { T 325 7550 5 10 1 1 0 6 1 pinnumber=8 T 100 7500 5 10 0 1 0 0 1 pinseq=8 T 300 7550 5 10 0 1 0 0 1 pintype=in T 500 7500 5 10 1 1 0 1 1 pinlabel=REFNA } P 100 2300 400 2300 1 0 0 { T 325 2350 5 10 1 1 0 6 1 pinnumber=67 T 100 2300 5 10 0 1 0 0 1 pinseq=67 T 300 2350 5 10 0 1 0 0 1 pintype=in T 500 2300 5 10 1 1 0 1 1 pinlabel=REFOUT } P 100 1900 400 1900 1 0 0 { T 325 1950 5 10 1 1 0 6 1 pinnumber=68 T 100 1900 5 10 0 1 0 0 1 pinseq=68 T 300 1950 5 10 0 1 0 0 1 pintype=in T 500 1900 5 10 1 1 0 1 1 pinlabel=REFIN } P 100 1200 400 1200 1 0 0 { T 325 1250 5 10 1 1 0 6 1 pinnumber=20 T 100 1200 5 10 0 1 0 0 1 pinseq=20 T 300 1250 5 10 0 1 0 0 1 pintype=in T 500 1200 5 10 1 1 0 1 1 pinlabel=CLKP } P 100 800 400 800 1 0 0 { T 325 850 5 10 1 1 0 6 1 pinnumber=19 T 100 800 5 10 0 1 0 0 1 pinseq=19 T 300 850 5 10 0 1 0 0 1 pintype=in T 500 800 5 10 1 1 0 1 1 pinlabel=CLKN } P 5600 2800 5300 2800 1 0 0 { T 5500 2800 5 10 0 1 0 0 1 pintype=in T 5350 2825 5 10 1 1 0 0 1 pinnumber=18 T 5500 2800 5 10 0 1 0 0 1 pinseq=18 T 4500 2800 5 10 1 1 0 1 1 pinlabel=DIFFCLK } P 5600 2600 5300 2600 1 0 0 { T 5500 2600 5 10 0 1 0 0 1 pintype=in T 5350 2625 5 10 1 1 0 0 1 pinnumber=64 T 5500 2600 5 10 0 1 0 0 1 pinseq=64 T 4500 2600 5 10 1 1 0 1 1 pinlabel=G/TB } P 5600 2400 5300 2400 1 0 0 { T 5500 2400 5 10 0 1 0 0 1 pintype=in T 5350 2425 5 10 1 1 0 0 1 pinnumber=21 T 5500 2400 5 10 0 1 0 0 1 pinseq=21 T 4500 2400 5 10 1 1 0 1 1 pinlabel=DIV2 } P 5600 2200 5300 2200 1 0 0 { T 5500 2200 5 10 0 1 0 0 1 pintype=in T 5350 2225 5 10 1 1 0 0 1 pinnumber=22 T 5500 2200 5 10 0 1 0 0 1 pinseq=22 T 4500 2200 5 10 1 1 0 1 1 pinlabel=DIV4 } P 5600 2000 5300 2000 1 0 0 { T 5500 2000 5 10 0 1 0 0 1 pintype=in T 5350 2025 5 10 1 1 0 0 1 pinnumber=66 T 5500 2000 5 10 0 1 0 0 1 pinseq=66 T 4500 2000 5 10 1 1 0 1 1 pinlabel=SHREF } P 5600 1800 5300 1800 1 0 0 { T 5500 1800 5 10 0 1 0 0 1 pintype=in T 5350 1825 5 10 1 1 0 0 1 pinnumber=65 T 5500 1800 5 10 0 1 0 0 1 pinseq=65 T 4500 1800 5 10 1 1 0 1 1 pinlabel=PD } P 1300 12500 1300 12200 1 0 0 { T 1275 12300 5 10 1 1 90 0 1 pinnumber=23 T 1300 12500 5 10 0 1 0 0 1 pinseq=23 T 1300 12500 5 10 0 1 0 0 1 pintype=pwr T 1300 12100 5 10 1 1 90 7 1 pinlabel=VDD } P 1500 12500 1500 12200 1 0 0 { T 1475 12300 5 10 1 1 90 0 1 pinnumber=24 T 1500 12500 5 10 0 1 0 0 1 pinseq=24 T 1500 12500 5 10 0 1 0 0 1 pintype=pwr T 1500 12100 5 10 1 1 90 7 1 pinlabel=VDD } P 1700 12500 1700 12200 1 0 0 { T 1675 12300 5 10 1 1 90 0 1 pinnumber=25 T 1700 12500 5 10 0 1 0 0 1 pinseq=25 T 1700 12500 5 10 0 1 0 0 1 pintype=pwr T 1700 12100 5 10 1 1 90 7 1 pinlabel=VDD } P 1900 12500 1900 12200 1 0 0 { T 1875 12300 5 10 1 1 90 0 1 pinnumber=26 T 1900 12500 5 10 0 1 0 0 1 pinseq=26 T 1900 12500 5 10 0 1 0 0 1 pintype=pwr T 1900 12100 5 10 1 1 90 7 1 pinlabel=VDD } P 2100 12500 2100 12200 1 0 0 { T 2075 12300 5 10 1 1 90 0 1 pinnumber=61 T 2100 12500 5 10 0 1 0 0 1 pinseq=61 T 2100 12500 5 10 0 1 0 0 1 pintype=pwr T 2100 12100 5 10 1 1 90 7 1 pinlabel=VDD } P 2300 12500 2300 12200 1 0 0 { T 2275 12300 5 10 1 1 90 0 1 pinnumber=62 T 2300 12500 5 10 0 1 0 0 1 pinseq=62 T 2300 12500 5 10 0 1 0 0 1 pintype=pwr T 2300 12100 5 10 1 1 90 7 1 pinlabel=VDD } P 2500 12500 2500 12200 1 0 0 { T 2475 12300 5 10 1 1 90 0 1 pinnumber=63 T 2500 12500 5 10 0 1 0 0 1 pinseq=63 T 2500 12500 5 10 0 1 0 0 1 pintype=pwr T 2500 12100 5 10 1 1 90 7 1 pinlabel=VDD } P 3500 12500 3500 12200 1 0 0 { T 3475 12300 5 10 1 1 90 0 1 pinnumber=27 T 3500 12500 5 10 0 1 0 0 1 pinseq=27 T 3500 12500 5 10 0 1 0 0 1 pintype=pwr T 3500 12100 5 10 1 1 90 7 1 pinlabel=OVDD } P 3700 12500 3700 12200 1 0 0 { T 3675 12300 5 10 1 1 90 0 1 pinnumber=43 T 3700 12500 5 10 0 1 0 0 1 pinseq=43 T 3700 12500 5 10 0 1 0 0 1 pintype=pwr T 3700 12100 5 10 1 1 90 7 1 pinlabel=OVDD } P 3900 12500 3900 12200 1 0 0 { T 3875 12300 5 10 1 1 90 0 1 pinnumber=60 T 3900 12500 5 10 0 1 0 0 1 pinseq=60 T 3900 12500 5 10 0 1 0 0 1 pintype=pwr T 3900 12100 5 10 1 1 90 7 1 pinlabel=OVDD } P 2100 100 2100 400 1 0 0 { T 2075 300 5 10 1 1 90 6 1 pinnumber=1 T 2100 100 5 10 0 1 180 0 1 pinseq=1 T 2100 100 5 10 0 1 180 0 1 pintype=pwr T 2100 500 5 10 1 1 90 1 1 pinlabel=GND } P 2300 100 2300 400 1 0 0 { T 2275 300 5 10 1 1 90 6 1 pinnumber=4 T 2300 100 5 10 0 1 180 0 1 pinseq=4 T 2300 100 5 10 0 1 180 0 1 pintype=pwr T 2300 500 5 10 1 1 90 1 1 pinlabel=GND } P 2500 100 2500 400 1 0 0 { T 2475 300 5 10 1 1 90 6 1 pinnumber=5 T 2500 100 5 10 0 1 180 0 1 pinseq=5 T 2500 100 5 10 0 1 180 0 1 pintype=pwr T 2500 500 5 10 1 1 90 1 1 pinlabel=GND } P 2700 100 2700 400 1 0 0 { T 2675 300 5 10 1 1 90 6 1 pinnumber=9 T 2700 100 5 10 0 1 180 0 1 pinseq=9 T 2700 100 5 10 0 1 180 0 1 pintype=pwr T 2700 500 5 10 1 1 90 1 1 pinlabel=GND } P 2900 100 2900 400 1 0 0 { T 2875 300 5 10 1 1 90 6 1 pinnumber=13 T 2900 100 5 10 0 1 180 0 1 pinseq=13 T 2900 100 5 10 0 1 180 0 1 pintype=pwr T 2900 500 5 10 1 1 90 1 1 pinlabel=GND } P 3100 100 3100 400 1 0 0 { T 3075 300 5 10 1 1 90 6 1 pinnumber=14 T 3100 100 5 10 0 1 180 0 1 pinseq=14 T 3100 100 5 10 0 1 180 0 1 pintype=pwr T 3100 500 5 10 1 1 90 1 1 pinlabel=GND } P 3300 100 3300 400 1 0 0 { T 3275 300 5 10 1 1 90 6 1 pinnumber=17 T 3300 100 5 10 0 1 180 0 1 pinseq=17 T 3300 100 5 10 0 1 180 0 1 pintype=pwr T 3300 500 5 10 1 1 90 1 1 pinlabel=GND } L 400 7300 3800 7300 3 0 0 2 25 25 L 3800 7300 3800 7800 3 0 0 2 25 25 L 3800 7800 5300 7800 3 0 0 2 25 25 L 3800 2900 3800 3400 3 0 0 2 25 25 L 3800 3400 5300 3400 3 0 0 2 25 25 L 400 2900 3800 2900 3 0 0 2 25 25 P 3800 100 3800 400 1 0 0 { T 3775 300 5 10 1 1 90 6 1 pinnumber=69 T 3800 100 5 10 0 1 180 0 1 pinseq=69 T 3800 100 5 10 0 1 180 0 1 pintype=pwr T 3800 500 5 10 1 1 90 1 1 pinlabel=EP_GND } T 1500 11500 8 10 1 1 0 0 1 refdes=U? T 1500 11200 8 10 1 1 0 0 1 device=MAX12558 T 1700 10200 9 10 1 0 0 0 1 ADC - CH. A B 400 400 4900 11800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1700 5800 9 10 1 0 0 0 1 ADC - CH. B T 1500 10900 8 10 1 1 0 0 1 footprint=TQFN68_10_EP B 400 400 4900 11800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 6400 5600 5 10 0 0 0 0 1 numslots=0 T 6400 5400 5 10 0 0 0 0 1 symversion=1.0 T 6400 5200 5 10 0 0 0 0 1 description=Dual, 80Msps, 14-Bit, IF/Baseband ADC T 6400 5000 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX12558.pdf T 6400 5900 5 10 0 0 0 0 1 device=MAX12558 geda-gaf-1.8.2/symbols/maxim/max233-2.sym0000664000175000017500000001073612204104272014612 00000000000000v 20041228 1 P 300 4300 0 4300 1 0 1 { T 200 4350 5 8 1 1 0 6 1 pinnumber=2 T 200 4250 5 8 0 1 0 8 1 pinseq=2 T 350 4300 9 8 1 1 0 0 1 pinlabel=T1in T 350 4300 5 8 0 1 0 2 1 pintype=in } P 300 3900 0 3900 1 0 1 { T 200 3950 5 8 1 1 0 6 1 pinnumber=3 T 200 3850 5 8 0 1 0 8 1 pinseq=3 T 350 3900 9 8 1 1 0 0 1 pinlabel=R1out T 350 3900 5 8 0 1 0 2 1 pintype=out } P 2600 3900 2300 3900 1 0 0 { T 2400 3950 5 8 1 1 0 0 1 pinnumber=4 T 2400 3850 5 8 0 1 0 2 1 pinseq=4 T 2250 3900 9 8 1 1 0 6 1 pinlabel=R1in T 2250 3900 5 8 0 1 0 8 1 pintype=in } P 2600 4300 2300 4300 1 0 0 { T 2400 4350 5 8 1 1 0 0 1 pinnumber=5 T 2400 4250 5 8 0 1 0 2 1 pinseq=5 T 2250 4300 9 8 1 1 0 6 1 pinlabel=T1out T 2250 4300 5 8 0 1 0 8 1 pintype=out } P 300 2200 0 2200 1 0 1 { T 200 2250 5 8 1 1 0 6 1 pinnumber=14 T 200 2150 5 8 0 1 0 8 1 pinseq=14 T 350 2200 9 8 1 1 0 0 1 pinlabel=V+ T 350 2200 5 8 0 1 0 2 1 pintype=pas } T 300 4650 9 8 1 0 0 0 1 MAX233 P 2300 2900 2600 2900 1 0 1 { T 2400 2950 5 8 1 1 0 0 1 pinnumber=19 T 2400 2850 5 8 0 1 0 2 1 pinseq=19 T 2250 2900 9 8 1 1 0 6 1 pinlabel=R2in T 2250 2900 5 8 0 1 0 8 1 pintype=in } P 0 2900 300 2900 1 0 0 { T 200 2950 5 8 1 1 0 6 1 pinnumber=20 T 200 2850 5 8 0 1 0 8 1 pinseq=20 T 350 2900 9 8 1 1 0 0 1 pinlabel=R2out T 350 2900 5 8 0 1 0 2 1 pintype=out } P 2300 2200 2600 2200 1 0 1 { T 2400 2250 5 8 1 1 0 0 1 pinnumber=10 T 2400 2150 5 8 0 1 0 2 1 pinseq=10 T 2250 2200 9 8 1 1 0 6 1 pinlabel=C2- T 2250 2200 5 8 0 1 0 8 1 pintype=pas } P 2300 3300 2600 3300 1 0 1 { T 2250 3300 9 8 1 1 0 6 1 pinlabel=T2out T 2400 3350 5 8 1 1 0 0 1 pinnumber=18 T 2400 3250 5 8 0 1 0 2 1 pinseq=18 T 2250 3300 5 8 0 1 0 8 1 pintype=out } T 300 4850 5 10 0 0 0 0 1 device=MAX233 P 300 3300 0 3300 1 0 1 { T 200 3350 5 8 1 1 0 6 1 pinnumber=1 T 200 3250 5 8 0 1 0 8 1 pinseq=1 T 350 3300 9 8 1 1 0 0 1 pinlabel=T2in T 350 3300 5 8 0 1 0 2 1 pintype=in } T 2300 4700 8 10 1 1 0 6 1 refdes=U? V 1525 4300 25 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 1100 4100 1100 4500 3 0 0 0 -1 -1 L 1500 4300 1100 4100 3 0 0 0 -1 -1 L 1100 4500 1500 4300 3 0 0 0 -1 -1 V 1125 3900 25 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 1550 3700 1550 4100 3 0 0 0 -1 -1 L 1150 3900 1550 3700 3 0 0 0 -1 -1 L 1550 4100 1150 3900 3 0 0 0 -1 -1 V 1525 3300 25 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 1100 3100 1100 3500 3 0 0 0 -1 -1 L 1500 3300 1100 3100 3 0 0 0 -1 -1 L 1100 3500 1500 3300 3 0 0 0 -1 -1 V 1125 2900 25 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 1550 2700 1550 3100 3 0 0 0 -1 -1 L 1150 2900 1550 2700 3 0 0 0 -1 -1 L 1550 3100 1150 2900 3 0 0 0 -1 -1 L 1550 4300 1800 4300 3 0 0 0 -1 -1 L 1100 4300 900 4300 3 0 0 0 -1 -1 L 900 3900 1100 3900 3 0 0 0 -1 -1 L 1550 3900 1800 3900 3 0 0 0 -1 -1 L 900 3300 1100 3300 3 0 0 0 -1 -1 L 1550 3300 1800 3300 3 0 0 0 -1 -1 L 1550 2900 1800 2900 3 0 0 0 -1 -1 L 1100 2900 900 2900 3 0 0 0 -1 -1 T 300 6250 5 10 0 0 0 0 1 comment=DIP package only: Pins 8, 10 -14 different on SO T 300 5050 5 10 0 0 0 0 1 footprint=DIP20 B 300 300 2000 4300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=12 T 200 1850 5 8 0 1 0 8 1 pinseq=12 T 350 1900 9 8 1 1 0 0 1 pinlabel=V- T 350 1900 5 8 0 1 0 2 1 pintype=pas } P 0 1600 300 1600 1 0 0 { T 350 1600 9 8 1 1 0 0 1 pinlabel=V- T 200 1650 5 8 1 1 0 6 1 pinnumber=17 T 200 1550 5 8 0 1 0 8 1 pinseq=17 T 350 1600 5 8 0 1 0 2 1 pintype=pas } P 2300 2500 2600 2500 1 0 1 { T 2400 2550 5 8 1 1 0 0 1 pinnumber=16 T 2400 2450 5 8 0 1 0 2 1 pinseq=16 T 2250 2500 9 8 1 1 0 6 1 pinlabel=C2- T 2250 2500 5 8 0 1 0 8 1 pintype=pas } P 2300 1400 2600 1400 1 0 1 { T 2400 1450 5 8 1 1 0 0 1 pinnumber=15 T 2400 1350 5 8 0 1 0 2 1 pinseq=15 T 2250 1400 9 8 1 1 0 6 1 pinlabel=C2+ T 2250 1400 5 8 0 1 0 8 1 pintype=pas } P 2300 1700 2600 1700 1 0 1 { T 2400 1750 5 8 1 1 0 0 1 pinnumber=11 T 2400 1650 5 8 0 1 0 2 1 pinseq=11 T 2250 1700 9 8 1 1 0 6 1 pinlabel=C2+ T 2250 1700 5 8 0 1 0 8 1 pintype=pas } T 300 5450 5 10 0 0 0 0 1 net=Vcc:7 T 300 5250 5 10 0 0 0 0 1 net=GND:6,9 T 300 5850 5 10 0 0 0 0 1 description=multichannel RS-232 driver/receiver T 300 5650 5 10 0 0 0 0 1 numslots=0 T 300 6050 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX220-MAX249.pdf P 2300 1000 2600 1000 1 0 1 { T 2400 1050 5 8 1 1 0 0 1 pinnumber=13 T 2400 950 5 8 0 1 0 2 1 pinseq=13 T 2250 1000 9 8 1 1 0 6 1 pinlabel=C1- T 2250 1000 5 8 0 1 0 8 1 pintype=pas } P 2300 700 2600 700 1 0 1 { T 2400 750 5 8 1 1 0 0 1 pinnumber=8 T 2400 650 5 8 0 1 0 2 1 pinseq=8 T 2250 700 9 8 1 1 0 6 1 pinlabel=C1+ T 2250 700 5 8 0 1 0 8 1 pintype=pas } T 300 6450 5 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/maxim/max4005-1.sym0000664000175000017500000000106712204104272014667 00000000000000v 20031231 1 P 300 600 0 600 1 0 1 { T 100 650 5 10 1 1 0 0 1 pinnumber=2 T 100 650 5 10 0 0 0 0 1 pinseq=2 } T 400 500 9 10 1 0 0 0 1 IN T 1500 800 9 10 1 0 0 0 1 PEAK B 300 0 1800 1100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1200 1200 5 10 0 0 0 0 1 device=MAX4005 T 1600 400 9 10 1 0 0 0 1 OUT P 2100 900 2400 900 1 0 1 { T 2200 950 5 10 1 1 0 0 1 pinnumber=7 T 2200 950 5 10 0 0 0 0 1 pinseq=7 } P 2100 500 2400 500 1 0 1 { T 2200 550 5 10 1 1 0 0 1 pinnumber=6 T 2200 550 5 10 0 0 0 0 1 pinseq=6 } T 300 1150 9 10 1 0 0 0 1 MAX4005 T 2100 1200 8 10 1 1 0 6 1 refdes=U? geda-gaf-1.8.2/symbols/maxim/max488-1.sym0000664000175000017500000000561712204104272014627 00000000000000v 20041228 1 L 600 2000 600 1600 3 0 0 0 -1 -1 L 600 1600 900 1800 3 0 0 0 -1 -1 L 900 1800 600 2000 3 0 0 0 -1 -1 L 900 1400 900 1000 3 0 0 0 -1 -1 L 900 1000 600 1200 3 0 0 0 -1 -1 L 600 1200 900 1400 3 0 0 0 -1 -1 V 800 1700 25 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 925 1100 25 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 600 1800 400 1800 3 0 0 0 -1 -1 L 825 1900 1000 1900 3 0 0 0 -1 -1 L 950 1100 1000 1100 3 0 0 0 -1 -1 L 900 1300 1000 1300 3 0 0 0 -1 -1 L 600 1200 400 1200 3 0 0 0 -1 -1 P 300 1800 0 1800 1 0 1 { T 200 1850 5 8 1 1 0 6 1 pinnumber=3 T 200 1750 5 8 0 1 0 8 1 pinseq=3 T 350 1850 9 8 1 1 0 0 1 pinlabel=DI T 350 1800 5 8 0 1 0 2 1 pintype=in } P 300 1200 0 1200 1 0 1 { T 200 1250 5 8 1 1 0 6 1 pinnumber=2 T 200 1150 5 8 0 1 0 8 1 pinseq=2 T 350 1250 9 8 1 1 0 0 1 pinlabel=RO T 350 1200 5 8 0 1 0 2 1 pintype=out } P 1200 2000 1500 2000 1 0 1 { T 1300 2050 5 8 1 1 0 0 1 pinnumber=5 T 1300 1950 5 8 0 1 0 2 1 pinseq=5 T 1150 2050 9 8 1 1 0 6 1 pinlabel=Y T 1150 2000 5 8 0 1 0 8 1 pintype=out } P 1200 1600 1500 1600 1 0 1 { T 1300 1650 5 8 1 1 0 0 1 pinnumber=6 T 1300 1550 5 8 0 1 0 2 1 pinseq=6 T 1150 1650 9 8 1 1 0 6 1 pinlabel=Z T 1150 1600 5 8 0 1 0 8 1 pintype=out } P 1200 1400 1500 1400 1 0 1 { T 1300 1450 5 8 1 1 0 0 1 pinnumber=8 T 1300 1350 5 8 0 1 0 2 1 pinseq=8 T 1150 1400 9 8 1 1 0 6 1 pinlabel=A T 1150 1400 5 8 0 1 0 8 1 pintype=in } P 1200 1000 1500 1000 1 0 1 { T 1300 1050 5 8 1 1 0 0 1 pinnumber=7 T 1300 950 5 8 0 1 0 2 1 pinseq=7 T 1150 1050 9 8 1 1 0 6 1 pinlabel=B T 1150 1000 5 8 0 1 0 8 1 pintype=in } L 1000 1900 1000 2000 3 0 0 0 -1 -1 L 1000 2000 1200 2000 3 0 0 0 -1 -1 L 1000 1700 1000 1600 3 0 0 0 -1 -1 L 1000 1600 1200 1600 3 0 0 0 -1 -1 L 1000 1300 1000 1400 3 0 0 0 -1 -1 L 1000 1400 1200 1400 3 0 0 0 -1 -1 L 1000 1100 1000 1000 3 0 0 0 -1 -1 L 1000 1000 1200 1000 3 0 0 0 -1 -1 L 400 1800 300 1800 3 0 0 0 -1 -1 L 400 1200 300 1200 3 0 0 0 -1 -1 L 850 1700 1000 1700 3 0 0 0 -1 -1 L 850 1700 825 1700 3 0 0 0 -1 -1 L 825 1900 750 1900 3 0 0 0 -1 -1 T 2000 2250 5 10 0 0 0 0 1 device=MAX488 T 2000 1050 5 10 0 0 0 0 1 comment=E suffix is Electrostatic protected to 15 kV T 2000 850 5 10 0 0 0 0 1 comment=MAX490 is high speed version B 300 800 900 1400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 800 800 800 500 1 0 1 { T 800 850 9 8 1 1 0 3 1 pinlabel=GND T 850 500 5 8 1 1 0 0 1 pinnumber=4 T 850 500 5 8 0 1 0 2 1 pinseq=4 T 800 1000 5 8 0 1 0 3 1 pintype=pwr } P 800 2200 800 2500 1 0 1 { T 800 2150 9 8 1 1 0 5 1 pinlabel=Vcc T 850 2300 5 8 1 1 0 0 1 pinnumber=1 T 850 2300 5 8 0 1 0 2 1 pinseq=1 T 800 2000 5 8 0 1 0 5 1 pintype=pwr } T 1250 550 8 10 1 1 0 0 1 refdes=U? T 2000 2050 5 10 0 0 0 0 1 footprint=SO8 T 2000 1850 5 10 0 0 0 0 1 footprint2=DIP8 T 2000 1250 5 10 0 0 0 0 1 description=low-power, slew-rat-limited RS-485/RS422 transceiver T 2000 1650 5 10 0 0 0 0 1 numslots=0 T 2000 1450 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX1487-MAX491.pdf T 1250 750 9 10 1 0 0 0 1 MAX488 geda-gaf-1.8.2/symbols/maxim/max4662-2.sym0000664000175000017500000000327512204104272014704 00000000000000v 20041228 1 L 400 500 600 300 3 0 0 0 -1 -1 T 900 1300 5 10 0 0 0 0 1 device=MAX4662 P 700 300 1000 300 1 0 1 { T 800 350 5 8 1 1 0 0 1 pinnumber=2 T 800 250 5 8 0 1 0 2 1 pinseq=2 T 650 300 9 8 0 1 0 6 1 pinlabel=COM T 650 300 5 8 0 1 0 8 1 pintype=pas } P 300 300 0 300 1 0 1 { T 200 350 5 8 1 1 0 6 1 pinnumber=3 T 200 250 5 8 0 1 0 8 1 pinseq=3 T 350 300 9 8 0 1 0 0 1 pinlabel=NO T 350 300 5 8 0 1 0 2 1 pintype=pas } T 800 600 8 10 1 1 0 0 1 refdes=S? P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=1 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 0 1 0 0 1 pinlabel=IN T 350 700 5 8 0 1 0 2 1 pintype=in } L 300 700 500 700 3 0 0 0 -1 -1 L 500 700 500 400 3 0 0 2 25 25 T 900 1500 5 10 0 0 0 0 1 slot=1 T 900 500 5 10 0 0 0 0 1 numslots=4 T 880 1100 5 10 0 0 0 0 1 slotdef=1:1,2,3 T 870 950 5 10 0 0 0 0 1 slotdef=2:8,7,6 T 880 810 5 10 0 0 0 0 1 slotdef=3:9,10,11 T 880 650 5 10 0 0 0 0 1 slotdef=4:16,15,14 T 900 1900 5 10 0 0 0 0 1 net=Vcc:12 T 900 1700 5 10 0 0 0 0 1 net=GND:5 P 0 100 300 100 1 0 0 { T 200 150 5 8 1 1 0 6 1 pinnumber=4 T 200 50 5 8 0 1 0 8 1 pinseq=4 T 350 100 9 8 1 1 0 0 1 pinlabel=V- T 350 100 5 8 0 1 0 2 1 pintype=pwr } P 700 100 1000 100 1 0 1 { T 800 150 5 8 1 1 0 0 1 pinnumber=13 T 800 50 5 8 0 1 0 2 1 pinseq=13 T 650 100 9 8 1 1 0 6 1 pinlabel=V+ T 650 100 5 8 0 1 0 8 1 pintype=pwr } L 300 800 300 0 3 0 0 0 -1 -1 L 700 0 300 0 3 0 0 0 -1 -1 L 700 0 700 800 3 0 0 0 -1 -1 L 700 800 300 800 3 0 0 0 -1 -1 L 600 300 700 300 3 0 0 0 -1 -1 L 300 300 400 300 3 0 0 0 -1 -1 T 900 2100 5 10 0 0 0 0 1 footprint=DIP16 T 900 2300 5 10 0 0 0 0 1 description=quad SPST CMOS analog switch T 900 2500 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX4661-MAX4663.pdf geda-gaf-1.8.2/symbols/maxim/max147-1.sym0000664000175000017500000000710712204104272014613 00000000000000v 20070626 1 P 300 3500 0 3500 1 0 1 { T 200 3550 5 8 1 1 0 6 1 pinnumber=17 T 200 3450 5 8 0 1 0 8 1 pinseq=17 T 350 3500 9 8 1 1 0 0 1 pinlabel=DIN T 350 3500 5 8 0 1 0 2 1 pintype=in } P 300 2700 0 2700 1 0 1 { T 200 2750 5 8 1 1 0 6 1 pinnumber=19 T 200 2650 5 8 0 1 0 8 1 pinseq=19 T 350 2700 9 8 1 1 0 0 1 pinlabel=SCLK T 350 2700 5 8 0 1 0 2 1 pintype=clk } P 2300 3900 2600 3900 1 0 1 { T 2400 3950 5 8 1 1 0 0 1 pinnumber=1 T 2400 3850 5 8 0 1 0 2 1 pinseq=1 T 2250 3900 9 8 1 1 0 6 1 pinlabel=CH0 T 2250 3900 5 8 0 1 0 8 1 pintype=in } P 2300 3500 2600 3500 1 0 1 { T 2400 3550 5 8 1 1 0 0 1 pinnumber=2 T 2400 3450 5 8 0 1 0 2 1 pinseq=2 T 2250 3500 9 8 1 1 0 6 1 pinlabel=CH1 T 2250 3500 5 8 0 1 0 8 1 pintype=in } P 2300 3100 2600 3100 1 0 1 { T 2400 3150 5 8 1 1 0 0 1 pinnumber=3 T 2400 3050 5 8 0 1 0 2 1 pinseq=3 T 2250 3100 9 8 1 1 0 6 1 pinlabel=CH2 T 2250 3100 5 8 0 1 0 8 1 pintype=in } P 2300 2700 2600 2700 1 0 1 { T 2400 2750 5 8 1 1 0 0 1 pinnumber=4 T 2400 2650 5 8 0 1 0 2 1 pinseq=4 T 2250 2700 9 8 1 1 0 6 1 pinlabel=CH3 T 2250 2700 5 8 0 1 0 8 1 pintype=in } P 2300 2300 2600 2300 1 0 1 { T 2400 2350 5 8 1 1 0 0 1 pinnumber=5 T 2400 2250 5 8 0 1 0 2 1 pinseq=5 T 2250 2300 9 8 1 1 0 6 1 pinlabel=CH4 T 2250 2300 5 8 0 1 0 8 1 pintype=in } P 2300 1900 2600 1900 1 0 1 { T 2400 1950 5 8 1 1 0 0 1 pinnumber=6 T 2400 1850 5 8 0 1 0 2 1 pinseq=6 T 2250 1900 9 8 1 1 0 6 1 pinlabel=CH5 T 2250 1900 5 8 0 1 0 8 1 pintype=in } P 2300 1500 2600 1500 1 0 1 { T 2400 1550 5 8 1 1 0 0 1 pinnumber=7 T 2400 1450 5 8 0 1 0 2 1 pinseq=7 T 2250 1500 9 8 1 1 0 6 1 pinlabel=CH6 T 2250 1500 5 8 0 1 0 8 1 pintype=in } P 2300 1100 2600 1100 1 0 1 { T 2400 1150 5 8 1 1 0 0 1 pinnumber=8 T 2400 1050 5 8 0 1 0 2 1 pinseq=8 T 2250 1100 9 8 1 1 0 6 1 pinlabel=CH7 T 2250 1100 5 8 0 1 0 8 1 pintype=in } P 2300 700 2600 700 1 0 1 { T 2400 750 5 8 1 1 0 0 1 pinnumber=15 T 2400 650 5 8 0 1 0 2 1 pinseq=15 T 2250 700 9 8 1 1 0 6 1 pinlabel=DOUT T 2250 700 5 8 0 1 0 8 1 pintype=tri } P 2300 300 2600 300 1 0 1 { T 2400 350 5 8 1 1 0 0 1 pinnumber=16 T 2400 250 5 8 0 1 0 2 1 pinseq=16 T 2250 300 9 8 1 1 0 6 1 pinlabel=SSTRB T 2250 300 5 8 0 1 0 8 1 pintype=tri } P 300 2300 0 2300 1 0 1 { T 200 2350 5 8 1 1 0 6 1 pinnumber=12 T 200 2250 5 8 0 1 0 8 1 pinseq=12 T 350 2300 9 8 1 1 0 0 1 pinlabel=REFADJ T 350 2300 5 8 0 1 0 2 1 pintype=in } P 300 1900 0 1900 1 0 1 { T 200 1950 5 8 1 1 0 6 1 pinnumber=11 T 200 1850 5 8 0 1 0 8 1 pinseq=11 T 350 1900 9 8 1 1 0 0 1 pinlabel=VREF T 350 1900 5 8 0 1 0 2 1 pintype=in } P 300 1500 0 1500 1 0 1 { T 200 1550 5 8 1 1 0 6 1 pinnumber=9 T 200 1450 5 8 0 1 0 8 1 pinseq=9 T 350 1500 9 8 1 1 0 0 1 pinlabel=COM T 350 1500 5 8 0 1 0 2 1 pintype=in } B 300 0 2000 4100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4350 5 10 0 0 0 0 1 device=MAX147 P 0 3900 200 3900 1 0 0 { T 200 3950 5 8 1 1 0 6 1 pinnumber=10 T 200 3850 5 8 0 1 0 8 1 pinseq=10 T 350 3900 9 8 1 1 0 0 1 pinlabel=\_SHDN\_ T 350 3900 5 8 0 1 0 2 1 pintype=in } V 250 3900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3100 200 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=18 T 200 3050 5 8 0 1 0 8 1 pinseq=18 T 350 3100 9 8 1 1 0 0 1 pinlabel=\_CS\_ T 350 3100 5 8 0 1 0 2 1 pintype=in } V 250 3100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2300 4200 8 10 1 1 0 6 1 refdes=U? T 300 4750 5 10 0 0 0 0 1 footprint=DIP20 T 300 4950 5 10 0 0 0 0 1 description=8-channel, serial 12-bit ADC T 300 4550 5 10 0 0 0 0 1 numslots=0 T 300 5750 5 10 0 0 0 0 1 net=AGND:13 T 300 5350 5 10 0 0 0 0 1 net=GND:14 T 300 5550 5 10 0 0 0 0 1 net=Vcc:20 T 300 5150 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX146-MAX147.pdf T 300 4150 9 8 1 0 0 0 1 MAX147 geda-gaf-1.8.2/symbols/maxim/max1208-1.sym0000664000175000017500000001732012204104272014670 00000000000000v 20050313 1 P 100 3500 400 3500 1 0 0 { T 300 3550 5 8 1 1 0 6 1 pinnumber=6 T 300 3450 5 8 0 1 0 8 1 pinseq=6 T 450 3500 9 8 1 1 0 0 1 pinlabel=INN T 450 3500 5 8 0 1 0 2 1 pintype=in } P 100 9200 400 9200 1 0 0 { T 300 9250 5 8 1 1 0 6 1 pinnumber=37 T 300 9150 5 8 0 1 0 8 1 pinseq=37 T 450 9200 9 8 1 1 0 0 1 pinlabel=PD T 450 9200 5 8 0 1 0 2 1 pintype=in } P 100 8900 400 8900 1 0 0 { T 300 8950 5 8 1 1 0 6 1 pinnumber=40 T 300 8850 5 8 0 1 0 8 1 pinseq=40 T 450 8900 9 8 1 1 0 0 1 pinlabel=G_TB T 450 8900 5 8 0 1 0 2 1 pintype=in } P 100 8600 400 8600 1 0 0 { T 300 8650 5 8 1 1 0 6 1 pinnumber=8 T 300 8550 5 8 0 1 0 8 1 pinseq=8 T 450 8600 9 8 1 1 0 0 1 pinlabel=DCE T 450 8600 5 8 0 1 0 2 1 pintype=in } P 100 8300 400 8300 1 0 0 { T 300 8350 5 8 1 1 0 6 1 pinnumber=11 T 300 8250 5 8 0 1 0 8 1 pinseq=11 T 450 8300 9 8 1 1 0 0 1 pinlabel=CLKTYP T 450 8300 5 8 0 1 0 2 1 pintype=in } P 100 7400 400 7400 1 0 0 { T 300 7450 5 8 1 1 0 6 1 pinnumber=1 T 300 7350 5 8 0 1 0 8 1 pinseq=1 T 450 7400 9 8 1 1 0 0 1 pinlabel=REFP T 450 7400 5 8 0 1 0 2 1 pintype=out } P 100 6800 400 6800 1 0 0 { T 300 6850 5 8 1 1 0 6 1 pinnumber=2 T 300 6750 5 8 0 1 0 8 1 pinseq=2 T 450 6800 9 8 1 1 0 0 1 pinlabel=REFN T 450 6800 5 8 0 1 0 2 1 pintype=out } P 100 5900 400 5900 1 0 0 { T 300 5950 5 8 1 1 0 6 1 pinnumber=5 T 300 5850 5 8 0 1 0 8 1 pinseq=5 T 450 5900 9 8 1 1 0 0 1 pinlabel=INP T 450 5900 5 8 0 1 0 2 1 pintype=in } P 100 4700 400 4700 1 0 0 { T 300 4750 5 8 1 1 0 6 1 pinnumber=3 T 300 4650 5 8 0 1 0 8 1 pinseq=3 T 450 4700 9 8 1 1 0 0 1 pinlabel=COM T 450 4700 5 8 0 1 0 2 1 pintype=out } P 3000 9200 3300 9200 1 0 1 { T 3100 9250 5 8 1 1 0 0 1 pinnumber=33 T 3100 9150 5 8 0 1 0 2 1 pinseq=33 T 2950 9200 9 8 1 1 0 6 1 pinlabel=DAV T 2950 9200 5 8 0 1 0 8 1 pintype=out } P 3000 8600 3300 8600 1 0 1 { T 3100 8650 5 8 1 1 0 0 1 pinnumber=32 T 3100 8550 5 8 0 1 0 2 1 pinseq=32 T 2950 8600 9 8 1 1 0 6 1 pinlabel=NC0 T 2950 8600 5 8 0 1 0 8 1 pintype=out } P 3000 8300 3300 8300 1 0 1 { T 3100 8350 5 8 1 1 0 0 1 pinnumber=31 T 3100 8250 5 8 0 1 0 2 1 pinseq=31 T 2950 8300 9 8 1 1 0 6 1 pinlabel=NC1 T 2950 8300 5 8 0 1 0 8 1 pintype=out } P 3000 8000 3300 8000 1 0 1 { T 3100 8050 5 8 1 1 0 0 1 pinnumber=30 T 3100 7950 5 8 0 1 0 2 1 pinseq=30 T 2950 8000 9 8 1 1 0 6 1 pinlabel=D0 T 2950 8000 5 8 0 1 0 8 1 pintype=out } P 3000 7700 3300 7700 1 0 1 { T 3100 7750 5 8 1 1 0 0 1 pinnumber=29 T 3100 7650 5 8 0 1 0 2 1 pinseq=29 T 2950 7700 9 8 1 1 0 6 1 pinlabel=D1 T 2950 7700 5 8 0 1 0 8 1 pintype=out } P 3000 7400 3300 7400 1 0 1 { T 3100 7450 5 8 1 1 0 0 1 pinnumber=28 T 3100 7350 5 8 0 1 0 2 1 pinseq=28 T 2950 7400 9 8 1 1 0 6 1 pinlabel=D2 T 2950 7400 5 8 0 1 0 8 1 pintype=out } P 3000 7100 3300 7100 1 0 1 { T 3100 7150 5 8 1 1 0 0 1 pinnumber=27 T 3100 7050 5 8 0 1 0 2 1 pinseq=27 T 2950 7100 9 8 1 1 0 6 1 pinlabel=D3 T 2950 7100 5 8 0 1 0 8 1 pintype=out } P 3000 6800 3300 6800 1 0 1 { T 3100 6850 5 8 1 1 0 0 1 pinnumber=26 T 3100 6750 5 8 0 1 0 2 1 pinseq=26 T 2950 6800 9 8 1 1 0 6 1 pinlabel=D4 T 2950 6800 5 8 0 1 0 8 1 pintype=out } B 400 400 2600 9600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 3300 10000 8 10 0 0 0 0 1 device=MAX1208 P 100 2100 400 2100 1 0 0 { T 300 2150 5 8 1 1 0 6 1 pinnumber=38 T 300 2050 5 8 0 1 0 8 1 pinseq=38 T 475 2100 9 8 1 1 0 0 1 pinlabel=REFOUT T 475 2100 5 8 0 1 0 2 1 pintype=out } T 1800 6600 8 10 1 1 0 6 1 refdes=U? T 1400 6140 9 10 1 0 0 0 1 MAX1208 P 100 1200 400 1200 1 0 0 { T 300 1250 5 8 1 1 0 6 1 pinnumber=39 T 300 1150 5 8 0 1 0 8 1 pinseq=39 T 475 1200 9 8 1 1 0 0 1 pinlabel=REFIN T 475 1200 5 8 0 1 0 2 1 pintype=in } P 3000 6500 3300 6500 1 0 1 { T 3100 6550 5 8 1 1 0 0 1 pinnumber=25 T 3100 6450 5 8 0 1 0 2 1 pinseq=25 T 2950 6500 9 8 1 1 0 6 1 pinlabel=D5 T 2950 6500 5 8 0 1 0 8 1 pintype=out } P 3000 6200 3300 6200 1 0 1 { T 3100 6250 5 8 1 1 0 0 1 pinnumber=24 T 3100 6150 5 8 0 1 0 2 1 pinseq=24 T 2950 6200 9 8 1 1 0 6 1 pinlabel=D6 T 2950 6200 5 8 0 1 0 8 1 pintype=out } P 3000 5900 3300 5900 1 0 1 { T 3100 5950 5 8 1 1 0 0 1 pinnumber=23 T 3100 5850 5 8 0 1 0 2 1 pinseq=23 T 2950 5900 9 8 1 1 0 6 1 pinlabel=D7 T 2950 5900 5 8 0 1 0 8 1 pintype=out } P 3000 5600 3300 5600 1 0 1 { T 3100 5650 5 8 1 1 0 0 1 pinnumber=22 T 3100 5550 5 8 0 1 0 2 1 pinseq=22 T 2950 5600 9 8 1 1 0 6 1 pinlabel=D8 T 2950 5600 5 8 0 1 0 8 1 pintype=out } P 3000 5300 3300 5300 1 0 1 { T 3100 5350 5 8 1 1 0 0 1 pinnumber=21 T 3100 5250 5 8 0 1 0 2 1 pinseq=21 T 2950 5300 9 8 1 1 0 6 1 pinlabel=D9 T 2950 5300 5 8 0 1 0 8 1 pintype=out } P 3000 5000 3300 5000 1 0 1 { T 3100 5050 5 8 1 1 0 0 1 pinnumber=20 T 3100 4950 5 8 0 1 0 2 1 pinseq=20 T 2950 5000 9 8 1 1 0 6 1 pinlabel=D10 T 2950 5000 5 8 0 1 0 8 1 pintype=out } P 3000 4700 3300 4700 1 0 1 { T 3100 4750 5 8 1 1 0 0 1 pinnumber=19 T 3100 4650 5 8 0 1 0 2 1 pinseq=19 T 2950 4700 9 8 1 1 0 6 1 pinlabel=D11 T 2950 4700 5 8 0 1 0 8 1 pintype=out } P 3000 4100 3300 4100 1 0 1 { T 3100 4150 5 8 1 1 0 0 1 pinnumber=18 T 3100 4050 5 8 0 1 0 2 1 pinseq=18 T 2950 4100 9 8 1 1 0 6 1 pinlabel=DOR T 2950 4100 5 8 0 1 0 8 1 pintype=out } P 3000 3000 3300 3000 1 0 1 { T 3100 3050 5 8 1 1 0 0 1 pinnumber=10 T 3100 2950 5 8 0 1 0 2 1 pinseq=10 T 2950 3000 9 8 1 1 0 6 1 pinlabel=CLKP T 2950 3000 5 8 0 1 0 8 1 pintype=in } P 3000 1800 3300 1800 1 0 1 { T 3100 1850 5 8 1 1 0 0 1 pinnumber=9 T 3100 1750 5 8 0 1 0 2 1 pinseq=9 T 2950 1800 9 8 1 1 0 6 1 pinlabel=CLKN T 2950 1800 5 8 0 1 0 8 1 pintype=in } P 1000 400 1000 100 1 0 1 { T 1050 300 5 8 1 1 270 0 1 pinnumber=4 T 950 300 5 8 0 1 270 2 1 pinseq=4 T 1000 450 9 8 1 1 270 6 1 pinlabel=GND T 1000 450 5 8 0 1 270 8 1 pintype=pwr } P 1300 400 1300 100 1 0 1 { T 1350 300 5 8 1 1 270 0 1 pinnumber=7 T 1250 300 5 8 0 1 270 2 1 pinseq=7 T 1300 450 9 8 1 1 270 6 1 pinlabel=GND T 1300 450 5 8 0 1 270 8 1 pintype=pwr } P 1900 400 1900 100 1 0 1 { T 1950 300 5 8 1 1 270 0 1 pinnumber=16 T 1850 300 5 8 0 1 270 2 1 pinseq=16 T 1900 450 9 8 1 1 270 6 1 pinlabel=OGND T 1900 450 5 8 0 1 270 8 1 pintype=pwr } P 2200 400 2200 100 1 0 1 { T 2250 300 5 8 1 1 270 0 1 pinnumber=35 T 2150 300 5 8 0 1 270 2 1 pinseq=35 T 2200 450 9 8 1 1 270 6 1 pinlabel=OGND T 2200 450 5 8 0 1 270 8 1 pintype=pwr } P 600 10300 600 10000 1 0 0 { T 650 10100 5 8 1 1 270 6 1 pinnumber=12 T 550 10100 5 8 0 1 270 8 1 pinseq=12 T 600 9950 9 8 1 1 270 0 1 pinlabel=VDD T 600 9950 5 8 0 1 270 2 1 pintype=pwr } P 900 10300 900 10000 1 0 0 { T 950 10100 5 8 1 1 270 6 1 pinnumber=13 T 850 10100 5 8 0 1 270 8 1 pinseq=13 T 900 9950 9 8 1 1 270 0 1 pinlabel=VDD T 900 9950 5 8 0 1 270 2 1 pintype=pwr } P 1200 10300 1200 10000 1 0 0 { T 1250 10100 5 8 1 1 270 6 1 pinnumber=14 T 1150 10100 5 8 0 1 270 8 1 pinseq=14 T 1200 9950 9 8 1 1 270 0 1 pinlabel=VDD T 1200 9950 5 8 0 1 270 2 1 pintype=pwr } P 1500 10300 1500 10000 1 0 0 { T 1550 10100 5 8 1 1 270 6 1 pinnumber=15 T 1450 10100 5 8 0 1 270 8 1 pinseq=15 T 1500 9950 9 8 1 1 270 0 1 pinlabel=VDD T 1500 9950 5 8 0 1 270 2 1 pintype=pwr } P 1800 10300 1800 10000 1 0 0 { T 1850 10100 5 8 1 1 270 6 1 pinnumber=36 T 1750 10100 5 8 0 1 270 8 1 pinseq=36 T 1800 9950 9 8 1 1 270 0 1 pinlabel=VDD T 1800 9950 5 8 0 1 270 2 1 pintype=pwr } P 2300 10300 2300 10000 1 0 0 { T 2350 10100 5 8 1 1 270 6 1 pinnumber=17 T 2250 10100 5 8 0 1 270 8 1 pinseq=17 T 2300 9950 9 8 1 1 270 0 1 pinlabel=OVDD T 2300 9950 5 8 0 1 270 2 1 pintype=pwr } P 2600 10300 2600 10000 1 0 0 { T 2650 10100 5 8 1 1 270 6 1 pinnumber=34 T 2550 10100 5 8 0 1 270 8 1 pinseq=34 T 2600 9950 9 8 1 1 270 0 1 pinlabel=OVDD T 2600 9950 5 8 0 1 270 2 1 pintype=pwr } P 600 400 600 100 1 0 1 { T 650 300 5 8 1 1 270 0 1 pinnumber=41 T 550 300 5 8 0 1 270 2 1 pinseq=41 T 600 450 9 8 1 1 270 6 1 pinlabel=PADDLE T 600 450 5 8 0 1 270 8 1 pintype=pwr } T 1000 5400 8 10 1 1 0 0 1 footprint=TQFN40_6_EP T 1600 5000 8 10 0 0 0 0 1 numslots=0 T 3800 5000 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX1208.pdf geda-gaf-1.8.2/symbols/maxim/max662A-1.sym0000664000175000017500000000327412204104272014717 00000000000000v 20041228 1 P 300 700 0 700 1 0 1 { T 100 750 5 8 1 1 0 0 1 pinnumber=3 T 400 550 5 8 0 0 0 0 1 pinseq=3 T 400 700 9 10 1 1 0 0 1 pinlabel=C2- T 100 600 5 10 0 1 0 0 1 pintype=io } P 300 300 0 300 1 0 1 { T 100 350 5 8 1 1 0 0 1 pinnumber=4 T 400 150 5 8 0 0 0 0 1 pinseq=4 T 400 300 9 10 1 1 0 0 1 pinlabel=C2+ T 100 200 5 10 0 1 0 0 1 pintype=io } P 2300 1100 2600 1100 1 0 1 { T 2500 1150 5 8 1 1 0 6 1 pinnumber=7 T 3200 1150 5 8 0 0 0 6 1 pinseq=7 T 1800 1100 9 10 1 1 0 0 1 pinlabel=GND T 2400 1000 5 10 0 1 0 0 1 pintype=pwr } P 2300 1500 2600 1500 1 0 1 { T 2500 1550 5 8 1 1 0 6 1 pinnumber=8 T 3200 1550 5 8 0 0 0 6 1 pinseq=8 T 1700 1500 9 10 1 1 0 0 1 pinlabel=SHDN T 2400 1400 5 10 0 1 0 0 1 pintype=io } P 2600 700 2300 700 1 0 0 { T 2400 750 5 8 1 1 0 0 1 pinnumber=6 T 2600 750 5 8 0 0 0 0 1 pinseq=6 T 1700 700 9 10 1 1 0 0 1 pinlabel=VOUT T 2400 600 5 10 0 1 0 0 1 pintype=out } T 350 1850 9 10 1 0 0 0 1 MAX662A B 300 0 2000 1800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 2200 8 10 0 0 0 0 1 device=MAX662A T 2300 1900 8 10 1 1 0 6 1 refdes=U? P 2600 300 2300 300 1 0 0 { T 2400 350 5 8 1 1 0 0 1 pinnumber=5 T 2600 350 5 8 0 0 0 0 1 pinseq=5 T 1800 300 9 10 1 1 0 0 1 pinlabel=VCC T 2400 200 5 10 0 1 0 0 1 pintype=pwr } P 300 1500 0 1500 1 0 1 { T 100 1550 5 8 1 1 0 0 1 pinnumber=1 T 400 1350 5 8 0 0 0 0 1 pinseq=1 T 400 1500 9 10 1 1 0 0 1 pinlabel=C1- T 100 1400 5 10 0 1 0 0 1 pintype=io } P 300 1100 0 1100 1 0 1 { T 100 1150 5 8 1 1 0 0 1 pinnumber=2 T 400 950 5 8 0 0 0 0 1 pinseq=2 T 400 1100 9 10 1 1 0 0 1 pinlabel=C1+ T 100 1000 5 10 0 1 0 0 1 pintype=io } T 300 2400 8 10 0 0 0 0 1 documentation=http://maxim-ic.com T 300 2800 8 10 0 0 0 0 1 footprint=DIP8 T 300 2600 8 10 0 0 0 0 1 numslots=0 geda-gaf-1.8.2/symbols/maxim/max12559-1.sym0000664000175000017500000004122112204104272014760 00000000000000v 20050313 1 P 100 11300 400 11300 1 0 0 { T 325 11350 5 10 1 1 0 6 1 pinnumber=2 T 100 11300 5 10 0 1 0 0 1 pinseq=2 T 300 11350 5 10 0 1 0 0 1 pintype=in T 500 11350 5 10 1 1 0 0 1 pinlabel=INAP } B 400 400 4900 11800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 5600 7000 5300 7000 1 0 0 { T 5500 7000 5 10 0 1 0 0 1 pintype=out T 5350 7025 5 10 1 1 0 0 1 pinnumber=41 T 5500 7000 5 10 0 1 0 0 1 pinseq=41 T 4700 7000 5 10 1 1 0 1 1 pinlabel=DB13 } P 5600 6800 5300 6800 1 0 0 { T 5500 6800 5 10 0 1 0 0 1 pintype=out T 5350 6825 5 10 1 1 0 0 1 pinnumber=40 T 5500 6800 5 10 0 1 0 0 1 pinseq=40 T 4700 6800 5 10 1 1 0 1 1 pinlabel=DB12 } P 5600 6600 5300 6600 1 0 0 { T 5500 6600 5 10 0 1 0 0 1 pintype=out T 5350 6625 5 10 1 1 0 0 1 pinnumber=39 T 5500 6600 5 10 0 1 0 0 1 pinseq=39 T 4700 6600 5 10 1 1 0 1 1 pinlabel=DB11 } P 5600 6400 5300 6400 1 0 0 { T 5500 6400 5 10 0 1 0 0 1 pintype=out T 5350 6425 5 10 1 1 0 0 1 pinnumber=38 T 5500 6400 5 10 0 1 0 0 1 pinseq=38 T 4700 6400 5 10 1 1 0 1 1 pinlabel=DB10 } P 5600 6200 5300 6200 1 0 0 { T 5500 6200 5 10 0 1 0 0 1 pintype=out T 5350 6225 5 10 1 1 0 0 1 pinnumber=37 T 5500 6200 5 10 0 1 0 0 1 pinseq=37 T 4700 6200 5 10 1 1 0 1 1 pinlabel=DB9 } P 5600 6000 5300 6000 1 0 0 { T 5500 6000 5 10 0 1 0 0 1 pintype=out T 5350 6025 5 10 1 1 0 0 1 pinnumber=36 T 5500 6000 5 10 0 1 0 0 1 pinseq=36 T 4700 6000 5 10 1 1 0 1 1 pinlabel=DB8 } P 5600 5800 5300 5800 1 0 0 { T 5500 5800 5 10 0 1 0 0 1 pintype=out T 5350 5825 5 10 1 1 0 0 1 pinnumber=35 T 5500 5800 5 10 0 1 0 0 1 pinseq=35 T 4700 5800 5 10 1 1 0 1 1 pinlabel=DB7 } P 5600 5600 5300 5600 1 0 0 { T 5500 5600 5 10 0 1 0 0 1 pintype=out T 5350 5625 5 10 1 1 0 0 1 pinnumber=34 T 5500 5600 5 10 0 1 0 0 1 pinseq=34 T 4700 5600 5 10 1 1 0 1 1 pinlabel=DB6 } P 5600 5400 5300 5400 1 0 0 { T 5500 5400 5 10 0 1 0 0 1 pintype=out T 5350 5425 5 10 1 1 0 0 1 pinnumber=33 T 5500 5400 5 10 0 1 0 0 1 pinseq=33 T 4700 5400 5 10 1 1 0 1 1 pinlabel=DB5 } P 5600 5200 5300 5200 1 0 0 { T 5500 5200 5 10 0 1 0 0 1 pintype=out T 5350 5225 5 10 1 1 0 0 1 pinnumber=32 T 5500 5200 5 10 0 1 0 0 1 pinseq=32 T 4700 5200 5 10 1 1 0 1 1 pinlabel=DB4 } P 5600 5000 5300 5000 1 0 0 { T 5500 5000 5 10 0 1 0 0 1 pintype=out T 5350 5025 5 10 1 1 0 0 1 pinnumber=31 T 5500 5000 5 10 0 1 0 0 1 pinseq=31 T 4700 5000 5 10 1 1 0 1 1 pinlabel=DB3 } P 5600 4800 5300 4800 1 0 0 { T 5500 4800 5 10 0 1 0 0 1 pintype=out T 5350 4825 5 10 1 1 0 0 1 pinnumber=30 T 5500 4800 5 10 0 1 0 0 1 pinseq=30 T 4700 4800 5 10 1 1 0 1 1 pinlabel=DB2 } P 5600 4600 5300 4600 1 0 0 { T 5500 4600 5 10 0 1 0 0 1 pintype=out T 5350 4625 5 10 1 1 0 0 1 pinnumber=29 T 5500 4600 5 10 0 1 0 0 1 pinseq=29 T 4700 4600 5 10 1 1 0 1 1 pinlabel=DB1 } P 5600 4400 5300 4400 1 0 0 { T 5500 4400 5 10 0 1 0 0 1 pintype=out T 5350 4425 5 10 1 1 0 0 1 pinnumber=28 T 5500 4400 5 10 0 1 0 0 1 pinseq=28 T 4700 4400 5 10 1 1 0 1 1 pinlabel=DB0 } P 5600 7200 5300 7200 1 0 0 { T 5500 7200 5 10 0 1 0 0 1 pintype=out T 5350 7225 5 10 1 1 0 0 1 pinnumber=42 T 5500 7200 5 10 0 1 0 0 1 pinseq=42 T 4700 7200 5 10 1 1 0 1 1 pinlabel=DORB } P 5600 11400 5300 11400 1 0 0 { T 5500 11400 5 10 0 1 0 0 1 pintype=out T 5350 11425 5 10 1 1 0 0 1 pinnumber=58 T 5500 11400 5 10 0 1 0 0 1 pinseq=58 T 4700 11400 5 10 1 1 0 1 1 pinlabel=DA13 } P 5600 11200 5300 11200 1 0 0 { T 5500 11200 5 10 0 1 0 0 1 pintype=out T 5350 11225 5 10 1 1 0 0 1 pinnumber=57 T 5500 11200 5 10 0 1 0 0 1 pinseq=57 T 4700 11200 5 10 1 1 0 1 1 pinlabel=DA12 } P 5600 11000 5300 11000 1 0 0 { T 5500 11000 5 10 0 1 0 0 1 pintype=out T 5350 11025 5 10 1 1 0 0 1 pinnumber=56 T 5500 11000 5 10 0 1 0 0 1 pinseq=56 T 4700 11000 5 10 1 1 0 1 1 pinlabel=DA11 } P 5600 10800 5300 10800 1 0 0 { T 5500 10800 5 10 0 1 0 0 1 pintype=out T 5350 10825 5 10 1 1 0 0 1 pinnumber=55 T 5500 10800 5 10 0 1 0 0 1 pinseq=55 T 4700 10800 5 10 1 1 0 1 1 pinlabel=DA10 } P 5600 10600 5300 10600 1 0 0 { T 5500 10600 5 10 0 1 0 0 1 pintype=out T 5350 10625 5 10 1 1 0 0 1 pinnumber=54 T 5500 10600 5 10 0 1 0 0 1 pinseq=54 T 4700 10600 5 10 1 1 0 1 1 pinlabel=DA9 } P 5600 10400 5300 10400 1 0 0 { T 5500 10400 5 10 0 1 0 0 1 pintype=out T 5350 10425 5 10 1 1 0 0 1 pinnumber=53 T 5500 10400 5 10 0 1 0 0 1 pinseq=53 T 4700 10400 5 10 1 1 0 1 1 pinlabel=DA8 } P 5600 10200 5300 10200 1 0 0 { T 5500 10200 5 10 0 1 0 0 1 pintype=out T 5350 10225 5 10 1 1 0 0 1 pinnumber=52 T 5500 10200 5 10 0 1 0 0 1 pinseq=52 T 4700 10200 5 10 1 1 0 1 1 pinlabel=DA7 } P 5600 10000 5300 10000 1 0 0 { T 5500 10000 5 10 0 1 0 0 1 pintype=out T 5350 10025 5 10 1 1 0 0 1 pinnumber=51 T 5500 10000 5 10 0 1 0 0 1 pinseq=51 T 4700 10000 5 10 1 1 0 1 1 pinlabel=DA6 } P 5600 9800 5300 9800 1 0 0 { T 5500 9800 5 10 0 1 0 0 1 pintype=out T 5350 9825 5 10 1 1 0 0 1 pinnumber=50 T 5500 9800 5 10 0 1 0 0 1 pinseq=50 T 4700 9800 5 10 1 1 0 1 1 pinlabel=DA5 } P 5600 9600 5300 9600 1 0 0 { T 5500 9600 5 10 0 1 0 0 1 pintype=out T 5350 9625 5 10 1 1 0 0 1 pinnumber=49 T 5500 9600 5 10 0 1 0 0 1 pinseq=49 T 4700 9600 5 10 1 1 0 1 1 pinlabel=DA4 } P 5600 9400 5300 9400 1 0 0 { T 5500 9400 5 10 0 1 0 0 1 pintype=out T 5350 9425 5 10 1 1 0 0 1 pinnumber=48 T 5500 9400 5 10 0 1 0 0 1 pinseq=48 T 4700 9400 5 10 1 1 0 1 1 pinlabel=DA3 } P 5600 9200 5300 9200 1 0 0 { T 5500 9200 5 10 0 1 0 0 1 pintype=out T 5350 9225 5 10 1 1 0 0 1 pinnumber=47 T 5500 9200 5 10 0 1 0 0 1 pinseq=47 T 4700 9200 5 10 1 1 0 1 1 pinlabel=DA2 } P 5600 9000 5300 9000 1 0 0 { T 5500 9000 5 10 0 1 0 0 1 pintype=out T 5350 9025 5 10 1 1 0 0 1 pinnumber=46 T 5500 9000 5 10 0 1 0 0 1 pinseq=46 T 4700 9000 5 10 1 1 0 1 1 pinlabel=DA1 } P 5600 8800 5300 8800 1 0 0 { T 5500 8800 5 10 0 1 0 0 1 pintype=out T 5350 8825 5 10 1 1 0 0 1 pinnumber=45 T 5500 8800 5 10 0 1 0 0 1 pinseq=45 T 4700 8800 5 10 1 1 0 1 1 pinlabel=DA0 } P 5600 11600 5300 11600 1 0 0 { T 5500 11600 5 10 0 1 0 0 1 pintype=out T 5350 11625 5 10 1 1 0 0 1 pinnumber=59 T 5500 11600 5 10 0 1 0 0 1 pinseq=59 T 4700 11600 5 10 1 1 0 1 1 pinlabel=DORA } P 5600 8000 5300 8000 1 0 0 { T 5500 8000 5 10 0 1 0 0 1 pintype=out T 5350 8025 5 10 1 1 0 0 1 pinnumber=44 T 5500 8000 5 10 0 1 0 0 1 pinseq=44 T 4700 8000 5 10 1 1 0 1 1 pinlabel=DAV } L 4300 11400 4300 8600 3 100 0 0 -1 -1 L 4600 11400 4400 11400 3 0 0 0 -1 -1 L 4300 11300 4400 11400 3 0 0 0 -1 -1 L 3700 10100 3900 10300 3 0 0 0 -1 -1 L 4600 11200 4400 11200 3 0 0 0 -1 -1 L 4300 11100 4400 11200 3 0 0 0 -1 -1 L 4600 11000 4400 11000 3 0 0 0 -1 -1 L 4300 10900 4400 11000 3 0 0 0 -1 -1 L 4600 10800 4400 10800 3 0 0 0 -1 -1 L 4300 10700 4400 10800 3 0 0 0 -1 -1 L 4600 10600 4400 10600 3 0 0 0 -1 -1 L 4300 10500 4400 10600 3 0 0 0 -1 -1 L 4600 10400 4400 10400 3 0 0 0 -1 -1 L 4300 10300 4400 10400 3 0 0 0 -1 -1 L 4600 10200 4400 10200 3 0 0 0 -1 -1 L 4300 10100 4400 10200 3 0 0 0 -1 -1 L 4600 10000 4400 10000 3 0 0 0 -1 -1 L 4300 9900 4400 10000 3 0 0 0 -1 -1 L 4600 9800 4400 9800 3 0 0 0 -1 -1 L 4300 9700 4400 9800 3 0 0 0 -1 -1 L 4600 9600 4400 9600 3 0 0 0 -1 -1 L 4300 9500 4400 9600 3 0 0 0 -1 -1 L 4600 9400 4400 9400 3 0 0 0 -1 -1 L 4300 9300 4400 9400 3 0 0 0 -1 -1 L 4600 9200 4400 9200 3 0 0 0 -1 -1 L 4300 9100 4400 9200 3 0 0 0 -1 -1 L 4600 9000 4400 9000 3 0 0 0 -1 -1 L 4300 8900 4400 9000 3 0 0 0 -1 -1 L 4600 8800 4400 8800 3 0 0 0 -1 -1 L 4300 8700 4400 8800 3 0 0 0 -1 -1 L 3100 10200 4300 10200 3 100 0 0 -1 -1 T 3600 10300 9 10 1 0 0 0 1 14 L 4300 7000 4300 4200 3 100 0 0 -1 -1 L 4600 7000 4400 7000 3 0 0 0 -1 -1 L 4300 6900 4400 7000 3 0 0 0 -1 -1 L 3700 5700 3900 5900 3 0 0 0 -1 -1 L 4600 6800 4400 6800 3 0 0 0 -1 -1 L 4300 6700 4400 6800 3 0 0 0 -1 -1 L 4600 6600 4400 6600 3 0 0 0 -1 -1 L 4300 6500 4400 6600 3 0 0 0 -1 -1 L 4600 6400 4400 6400 3 0 0 0 -1 -1 L 4300 6300 4400 6400 3 0 0 0 -1 -1 L 4600 6200 4400 6200 3 0 0 0 -1 -1 L 4300 6100 4400 6200 3 0 0 0 -1 -1 L 4600 6000 4400 6000 3 0 0 0 -1 -1 L 4300 5900 4400 6000 3 0 0 0 -1 -1 L 4600 5800 4400 5800 3 0 0 0 -1 -1 L 4300 5700 4400 5800 3 0 0 0 -1 -1 L 4600 5600 4400 5600 3 0 0 0 -1 -1 L 4300 5500 4400 5600 3 0 0 0 -1 -1 L 4600 5400 4400 5400 3 0 0 0 -1 -1 L 4300 5300 4400 5400 3 0 0 0 -1 -1 L 4600 5200 4400 5200 3 0 0 0 -1 -1 L 4300 5100 4400 5200 3 0 0 0 -1 -1 L 4600 5000 4400 5000 3 0 0 0 -1 -1 L 4300 4900 4400 5000 3 0 0 0 -1 -1 L 4600 4800 4400 4800 3 0 0 0 -1 -1 L 4300 4700 4400 4800 3 0 0 0 -1 -1 L 4600 4600 4400 4600 3 0 0 0 -1 -1 L 4300 4500 4400 4600 3 0 0 0 -1 -1 L 4600 4400 4400 4400 3 0 0 0 -1 -1 L 4300 4300 4400 4400 3 0 0 0 -1 -1 L 3100 5800 4300 5800 3 100 0 0 -1 -1 T 3600 5900 9 10 1 0 0 0 1 14 L 1100 10200 1700 10800 3 0 0 0 -1 -1 L 1100 10200 1700 9600 3 0 0 0 -1 -1 L 3100 10800 1700 10800 3 0 0 0 -1 -1 L 3100 9600 1700 9600 3 0 0 0 -1 -1 L 3100 9600 3100 10800 3 0 0 0 -1 -1 L 1500 9800 700 9800 3 0 0 0 -1 -1 L 700 9800 700 9100 3 0 0 0 -1 -1 L 1500 10600 700 10600 3 0 0 0 -1 -1 L 700 10600 700 11300 3 0 0 0 -1 -1 L 700 11300 400 11300 3 0 0 0 -1 -1 P 100 9100 400 9100 1 0 0 { T 325 9150 5 10 1 1 0 6 1 pinnumber=3 T 100 9100 5 10 0 1 0 0 1 pinseq=3 T 300 9150 5 10 0 1 0 0 1 pintype=in T 500 9050 5 10 1 1 0 2 1 pinlabel=INAN } L 700 9100 400 9100 3 0 0 0 -1 -1 P 100 6900 400 6900 1 0 0 { T 325 6950 5 10 1 1 0 6 1 pinnumber=16 T 100 6900 5 10 0 1 0 0 1 pinseq=16 T 300 6950 5 10 0 1 0 0 1 pintype=in T 500 6950 5 10 1 1 0 0 1 pinlabel=INBP } L 1100 5800 1700 6400 3 0 0 0 -1 -1 L 1100 5800 1700 5200 3 0 0 0 -1 -1 L 3100 6400 1700 6400 3 0 0 0 -1 -1 L 3100 5200 1700 5200 3 0 0 0 -1 -1 L 3100 5200 3100 6400 3 0 0 0 -1 -1 L 1500 5400 700 5400 3 0 0 0 -1 -1 L 700 5400 700 4700 3 0 0 0 -1 -1 L 1500 6200 700 6200 3 0 0 0 -1 -1 L 700 6200 700 6900 3 0 0 0 -1 -1 L 700 6900 400 6900 3 0 0 0 -1 -1 P 100 4700 400 4700 1 0 0 { T 325 4750 5 10 1 1 0 6 1 pinnumber=15 T 100 4700 5 10 0 1 0 0 1 pinseq=15 T 300 4750 5 10 0 1 0 0 1 pintype=in T 500 4650 5 10 1 1 0 2 1 pinlabel=INBN } L 700 4700 400 4700 3 0 0 0 -1 -1 P 100 4200 400 4200 1 0 0 { T 325 4250 5 10 1 1 0 6 1 pinnumber=11 T 100 4200 5 10 0 1 0 0 1 pinseq=11 T 300 4250 5 10 0 1 0 0 1 pintype=in T 500 4200 5 10 1 1 0 1 1 pinlabel=REFPB } P 100 3100 400 3100 1 0 0 { T 325 3150 5 10 1 1 0 6 1 pinnumber=10 T 100 3100 5 10 0 1 0 0 1 pinseq=10 T 300 3150 5 10 0 1 0 0 1 pintype=in T 500 3100 5 10 1 1 0 1 1 pinlabel=REFNB } P 100 10200 400 10200 1 0 0 { T 325 10250 5 10 1 1 0 6 1 pinnumber=6 T 100 10200 5 10 0 1 0 0 1 pinseq=6 T 300 10250 5 10 0 1 0 0 1 pintype=in T 500 10200 5 10 1 1 0 1 1 pinlabel=COMA } P 100 5800 400 5800 1 0 0 { T 325 5850 5 10 1 1 0 6 1 pinnumber=12 T 100 5800 5 10 0 1 0 0 1 pinseq=12 T 300 5850 5 10 0 1 0 0 1 pintype=in T 500 5800 5 10 1 1 0 1 1 pinlabel=COMB } P 100 8600 400 8600 1 0 0 { T 325 8650 5 10 1 1 0 6 1 pinnumber=7 T 100 8600 5 10 0 1 0 0 1 pinseq=7 T 300 8650 5 10 0 1 0 0 1 pintype=in T 500 8600 5 10 1 1 0 1 1 pinlabel=REFPA } P 100 7500 400 7500 1 0 0 { T 325 7550 5 10 1 1 0 6 1 pinnumber=8 T 100 7500 5 10 0 1 0 0 1 pinseq=8 T 300 7550 5 10 0 1 0 0 1 pintype=in T 500 7500 5 10 1 1 0 1 1 pinlabel=REFNA } P 100 2300 400 2300 1 0 0 { T 325 2350 5 10 1 1 0 6 1 pinnumber=67 T 100 2300 5 10 0 1 0 0 1 pinseq=67 T 300 2350 5 10 0 1 0 0 1 pintype=in T 500 2300 5 10 1 1 0 1 1 pinlabel=REFOUT } P 100 1900 400 1900 1 0 0 { T 325 1950 5 10 1 1 0 6 1 pinnumber=68 T 100 1900 5 10 0 1 0 0 1 pinseq=68 T 300 1950 5 10 0 1 0 0 1 pintype=in T 500 1900 5 10 1 1 0 1 1 pinlabel=REFIN } P 100 1200 400 1200 1 0 0 { T 325 1250 5 10 1 1 0 6 1 pinnumber=20 T 100 1200 5 10 0 1 0 0 1 pinseq=20 T 300 1250 5 10 0 1 0 0 1 pintype=in T 500 1200 5 10 1 1 0 1 1 pinlabel=CLKP } P 100 800 400 800 1 0 0 { T 325 850 5 10 1 1 0 6 1 pinnumber=19 T 100 800 5 10 0 1 0 0 1 pinseq=19 T 300 850 5 10 0 1 0 0 1 pintype=in T 500 800 5 10 1 1 0 1 1 pinlabel=CLKN } P 5600 2800 5300 2800 1 0 0 { T 5500 2800 5 10 0 1 0 0 1 pintype=in T 5350 2825 5 10 1 1 0 0 1 pinnumber=18 T 5500 2800 5 10 0 1 0 0 1 pinseq=18 T 4500 2800 5 10 1 1 0 1 1 pinlabel=DIFFCLK } P 5600 2600 5300 2600 1 0 0 { T 5500 2600 5 10 0 1 0 0 1 pintype=in T 5350 2625 5 10 1 1 0 0 1 pinnumber=64 T 5500 2600 5 10 0 1 0 0 1 pinseq=64 T 4500 2600 5 10 1 1 0 1 1 pinlabel=G/TB } P 5600 2400 5300 2400 1 0 0 { T 5500 2400 5 10 0 1 0 0 1 pintype=in T 5350 2425 5 10 1 1 0 0 1 pinnumber=21 T 5500 2400 5 10 0 1 0 0 1 pinseq=21 T 4500 2400 5 10 1 1 0 1 1 pinlabel=DIV2 } P 5600 2200 5300 2200 1 0 0 { T 5500 2200 5 10 0 1 0 0 1 pintype=in T 5350 2225 5 10 1 1 0 0 1 pinnumber=22 T 5500 2200 5 10 0 1 0 0 1 pinseq=22 T 4500 2200 5 10 1 1 0 1 1 pinlabel=DIV4 } P 5600 2000 5300 2000 1 0 0 { T 5500 2000 5 10 0 1 0 0 1 pintype=in T 5350 2025 5 10 1 1 0 0 1 pinnumber=66 T 5500 2000 5 10 0 1 0 0 1 pinseq=66 T 4500 2000 5 10 1 1 0 1 1 pinlabel=SHREF } P 5600 1800 5300 1800 1 0 0 { T 5500 1800 5 10 0 1 0 0 1 pintype=in T 5350 1825 5 10 1 1 0 0 1 pinnumber=65 T 5500 1800 5 10 0 1 0 0 1 pinseq=65 T 4500 1800 5 10 1 1 0 1 1 pinlabel=PD } P 1300 12500 1300 12200 1 0 0 { T 1275 12300 5 10 1 1 90 0 1 pinnumber=23 T 1300 12500 5 10 0 1 0 0 1 pinseq=23 T 1300 12500 5 10 0 1 0 0 1 pintype=pwr T 1300 12100 5 10 1 1 90 7 1 pinlabel=VDD } P 1500 12500 1500 12200 1 0 0 { T 1475 12300 5 10 1 1 90 0 1 pinnumber=24 T 1500 12500 5 10 0 1 0 0 1 pinseq=24 T 1500 12500 5 10 0 1 0 0 1 pintype=pwr T 1500 12100 5 10 1 1 90 7 1 pinlabel=VDD } P 1700 12500 1700 12200 1 0 0 { T 1675 12300 5 10 1 1 90 0 1 pinnumber=25 T 1700 12500 5 10 0 1 0 0 1 pinseq=25 T 1700 12500 5 10 0 1 0 0 1 pintype=pwr T 1700 12100 5 10 1 1 90 7 1 pinlabel=VDD } P 1900 12500 1900 12200 1 0 0 { T 1875 12300 5 10 1 1 90 0 1 pinnumber=26 T 1900 12500 5 10 0 1 0 0 1 pinseq=26 T 1900 12500 5 10 0 1 0 0 1 pintype=pwr T 1900 12100 5 10 1 1 90 7 1 pinlabel=VDD } P 2100 12500 2100 12200 1 0 0 { T 2075 12300 5 10 1 1 90 0 1 pinnumber=61 T 2100 12500 5 10 0 1 0 0 1 pinseq=61 T 2100 12500 5 10 0 1 0 0 1 pintype=pwr T 2100 12100 5 10 1 1 90 7 1 pinlabel=VDD } P 2300 12500 2300 12200 1 0 0 { T 2275 12300 5 10 1 1 90 0 1 pinnumber=62 T 2300 12500 5 10 0 1 0 0 1 pinseq=62 T 2300 12500 5 10 0 1 0 0 1 pintype=pwr T 2300 12100 5 10 1 1 90 7 1 pinlabel=VDD } P 2500 12500 2500 12200 1 0 0 { T 2475 12300 5 10 1 1 90 0 1 pinnumber=63 T 2500 12500 5 10 0 1 0 0 1 pinseq=63 T 2500 12500 5 10 0 1 0 0 1 pintype=pwr T 2500 12100 5 10 1 1 90 7 1 pinlabel=VDD } P 3500 12500 3500 12200 1 0 0 { T 3475 12300 5 10 1 1 90 0 1 pinnumber=27 T 3500 12500 5 10 0 1 0 0 1 pinseq=27 T 3500 12500 5 10 0 1 0 0 1 pintype=pwr T 3500 12100 5 10 1 1 90 7 1 pinlabel=OVDD } P 3700 12500 3700 12200 1 0 0 { T 3675 12300 5 10 1 1 90 0 1 pinnumber=43 T 3700 12500 5 10 0 1 0 0 1 pinseq=43 T 3700 12500 5 10 0 1 0 0 1 pintype=pwr T 3700 12100 5 10 1 1 90 7 1 pinlabel=OVDD } P 3900 12500 3900 12200 1 0 0 { T 3875 12300 5 10 1 1 90 0 1 pinnumber=60 T 3900 12500 5 10 0 1 0 0 1 pinseq=60 T 3900 12500 5 10 0 1 0 0 1 pintype=pwr T 3900 12100 5 10 1 1 90 7 1 pinlabel=OVDD } P 2100 100 2100 400 1 0 0 { T 2075 300 5 10 1 1 90 6 1 pinnumber=1 T 2100 100 5 10 0 1 180 0 1 pinseq=1 T 2100 100 5 10 0 1 180 0 1 pintype=pwr T 2100 500 5 10 1 1 90 1 1 pinlabel=GND } P 2300 100 2300 400 1 0 0 { T 2275 300 5 10 1 1 90 6 1 pinnumber=4 T 2300 100 5 10 0 1 180 0 1 pinseq=4 T 2300 100 5 10 0 1 180 0 1 pintype=pwr T 2300 500 5 10 1 1 90 1 1 pinlabel=GND } P 2500 100 2500 400 1 0 0 { T 2475 300 5 10 1 1 90 6 1 pinnumber=5 T 2500 100 5 10 0 1 180 0 1 pinseq=5 T 2500 100 5 10 0 1 180 0 1 pintype=pwr T 2500 500 5 10 1 1 90 1 1 pinlabel=GND } P 2700 100 2700 400 1 0 0 { T 2675 300 5 10 1 1 90 6 1 pinnumber=9 T 2700 100 5 10 0 1 180 0 1 pinseq=9 T 2700 100 5 10 0 1 180 0 1 pintype=pwr T 2700 500 5 10 1 1 90 1 1 pinlabel=GND } P 2900 100 2900 400 1 0 0 { T 2875 300 5 10 1 1 90 6 1 pinnumber=13 T 2900 100 5 10 0 1 180 0 1 pinseq=13 T 2900 100 5 10 0 1 180 0 1 pintype=pwr T 2900 500 5 10 1 1 90 1 1 pinlabel=GND } P 3100 100 3100 400 1 0 0 { T 3075 300 5 10 1 1 90 6 1 pinnumber=14 T 3100 100 5 10 0 1 180 0 1 pinseq=14 T 3100 100 5 10 0 1 180 0 1 pintype=pwr T 3100 500 5 10 1 1 90 1 1 pinlabel=GND } P 3300 100 3300 400 1 0 0 { T 3275 300 5 10 1 1 90 6 1 pinnumber=17 T 3300 100 5 10 0 1 180 0 1 pinseq=17 T 3300 100 5 10 0 1 180 0 1 pintype=pwr T 3300 500 5 10 1 1 90 1 1 pinlabel=GND } L 400 7300 3800 7300 3 0 0 2 25 25 L 3800 7300 3800 7800 3 0 0 2 25 25 L 3800 7800 5300 7800 3 0 0 2 25 25 L 3800 2900 3800 3400 3 0 0 2 25 25 L 3800 3400 5300 3400 3 0 0 2 25 25 L 400 2900 3800 2900 3 0 0 2 25 25 P 3800 100 3800 400 1 0 0 { T 3775 300 5 10 1 1 90 6 1 pinnumber=69 T 3800 100 5 10 0 1 180 0 1 pinseq=69 T 3800 100 5 10 0 1 180 0 1 pintype=pwr T 3800 500 5 10 1 1 90 1 1 pinlabel=EP_GND } T 1500 11500 8 10 1 1 0 0 1 refdes=U? T 1500 11200 8 10 1 1 0 0 1 device=MAX12559 T 1700 10200 9 10 1 0 0 0 1 ADC - CH. A B 400 400 4900 11800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1700 5800 9 10 1 0 0 0 1 ADC - CH. B T 1500 10900 8 10 1 1 0 0 1 footprint=TQFN68_10_EP B 400 400 4900 11800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 6400 5600 5 10 0 0 0 0 1 numslots=0 T 6400 5400 5 10 0 0 0 0 1 symversion=1.0 T 6400 5200 5 10 0 0 0 0 1 description=Dual, 96 Msps, 14-Bit, IF/Baseband ADC T 6400 5000 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX12559.pdf T 6400 5900 5 10 0 0 0 0 1 device=MAX12559 geda-gaf-1.8.2/symbols/maxim/max4636-1.sym0000664000175000017500000000332612204104272014701 00000000000000v 20041228 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 400 0 400 1 0 1 { T 225 375 9 6 1 1 0 2 1 pinlabel=COM T 175 425 5 8 1 1 0 6 1 pinnumber=10 T 200 350 5 8 0 1 0 8 1 pinseq=4 T 225 275 5 8 0 1 0 2 1 pintype=pas } P 1000 600 1200 600 1 0 1 { T 975 625 9 6 1 1 0 6 1 pinlabel=NC T 1025 625 5 8 1 1 0 0 1 pinnumber=2 T 1000 550 5 8 0 1 0 2 1 pinseq=2 T 975 625 5 8 0 1 0 8 1 pintype=pas } L 774 587 674 587 3 0 0 0 -1 -1 L 674 587 694 547 3 0 0 0 -1 -1 L 694 547 714 507 3 0 0 0 -1 -1 L 714 507 774 587 3 0 0 0 -1 -1 V 400 400 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 800 200 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 800 600 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 200 1200 200 1 0 1 { T 975 225 9 6 1 1 0 6 1 pinlabel=NO T 1025 225 5 8 1 1 0 0 1 pinnumber=9 T 1000 150 5 8 0 1 0 2 1 pinseq=3 T 975 225 5 8 0 1 0 8 1 pintype=pas } L 1000 600 830 600 3 0 0 0 -1 -1 L 1000 200 830 200 3 0 0 0 -1 -1 L 370 400 200 400 3 0 0 0 -1 -1 L 427 412 695 546 3 0 0 0 -1 -1 L 600 800 600 500 3 0 0 0 -1 -1 P 600 800 600 1000 1 0 1 { T 575 775 9 6 1 1 0 8 1 pinlabel=IN T 650 800 5 8 1 1 0 0 1 pinnumber=1 T 650 800 5 8 0 1 0 2 1 pinseq=1 T 575 700 5 8 0 1 0 8 1 pintype=in } T 200 1000 8 10 1 1 0 0 1 refdes=U? T 200 1200 5 10 0 0 0 0 1 slot=1 T 200 2000 5 10 0 0 0 0 1 numslots=2 T 200 1800 5 10 0 0 0 0 1 device=MAX4636 T 200 2200 5 10 0 0 0 0 1 footprint=uMAX10 T 200 1600 5 10 0 0 0 0 1 net=Vcc:8 T 200 1400 5 10 0 0 0 0 1 net=GND:3 T 200 2400 5 10 0 0 0 0 1 slotdef=1:1,2,9,10 T 200 2600 5 10 0 0 0 0 1 slotdef=2:5,4,7,6 T 200 2800 5 10 0 0 0 0 1 description=dual SPDT CMOS analog switch T 200 3000 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX4635-MAX4636.pdf T 600 25 9 8 1 0 0 3 1 MAX4636 T 200 3200 5 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/maxim/max3120-1.sym0000664000175000017500000000262312204104272014663 00000000000000v 20070626 1 P 300 1000 0 1000 1 0 1 { T 200 1050 5 8 1 1 0 6 1 pinnumber=1 T 200 950 5 8 0 1 0 8 1 pinseq=1 T 350 1000 9 8 1 1 0 0 1 pinlabel=TXD T 350 1000 5 8 0 1 0 2 1 pintype=in } P 300 600 0 600 1 0 1 { T 200 650 5 8 1 1 0 6 1 pinnumber=4 T 200 550 5 8 0 1 0 8 1 pinseq=4 T 350 600 9 8 1 1 0 0 1 pinlabel=PINC T 350 600 5 8 0 1 0 2 1 pintype=in } P 2600 600 2300 600 1 0 0 { T 2400 650 5 8 1 1 0 0 1 pinnumber=7 T 2400 550 5 8 0 1 0 2 1 pinseq=7 T 2250 600 9 8 1 1 0 6 1 pinlabel=LEDC T 2250 600 5 8 0 1 0 8 1 pintype=out } P 2600 200 2300 200 1 0 0 { T 2400 250 5 8 1 1 0 0 1 pinnumber=8 T 2400 150 5 8 0 1 0 2 1 pinseq=8 T 2250 200 9 8 1 1 0 6 1 pinlabel=RXD T 2250 200 5 8 0 1 0 8 1 pintype=out } B 300 0 2000 1200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 1450 5 10 0 0 0 0 1 device=MAX3120 P 0 200 200 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=5 T 200 150 5 8 0 1 0 8 1 pinseq=5 T 350 200 9 8 1 1 0 0 1 pinlabel=\_SHDN\_ T 350 200 5 8 0 1 0 2 1 pintype=in } V 250 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2300 1300 8 10 1 1 0 6 1 refdes=U? T 300 1850 5 10 0 0 0 0 1 footprint=uMAX8 T 300 2050 5 10 0 0 0 0 1 description=IrDA infrared transceiver T 300 1650 5 10 0 0 0 0 1 numslots=0 T 300 2250 5 10 0 0 0 0 1 net=GND:3,6 T 300 2450 5 10 0 0 0 0 1 net=Vcc:2 T 300 2650 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX3120.pdf T 300 1250 9 10 1 0 0 0 1 MAX3120 T 300 2850 5 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/maxim/max531-1.sym0000664000175000017500000000602112204104272014602 00000000000000v 20070626 1 B 300 300 1800 3000 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 T 300 3850 5 10 0 0 0 0 1 device=MAX531 T 300 3600 8 10 1 1 0 0 1 refdes=U? P 2100 900 2400 900 1 0 1 { T 2200 950 5 8 1 1 0 0 1 pinnumber=1 T 2200 850 5 8 0 1 0 2 1 pinseq=1 T 2050 900 9 8 1 1 0 6 1 pinlabel=BIPOFF T 2050 900 5 8 0 1 0 8 1 pintype=pas } P 300 2400 0 2400 1 0 1 { T 200 2450 5 8 1 1 0 6 1 pinnumber=2 T 200 2350 5 8 0 1 0 8 1 pinseq=2 T 350 2400 9 8 1 1 0 0 1 pinlabel=DIN T 350 2400 5 8 0 1 0 2 1 pintype=in } V 1200 3350 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1200 3400 1200 3600 1 0 1 { T 1250 3400 5 8 1 1 0 0 1 pinnumber=3 T 1250 3400 5 8 0 1 0 2 1 pinseq=3 T 1200 3250 9 8 1 1 0 5 1 pinlabel=\_CLR\_ T 1200 3100 5 8 0 1 0 5 1 pintype=in } L 300 2025 400 2100 3 0 0 0 -1 -1 L 300 2175 400 2100 3 0 0 0 -1 -1 P 300 2100 0 2100 1 0 1 { T 200 2150 5 8 1 1 0 6 1 pinnumber=4 T 200 2050 5 8 0 1 0 8 1 pinseq=4 T 400 2100 9 8 1 1 0 0 1 pinlabel=SCLK T 350 2100 5 8 0 1 0 2 1 pintype=clk } V 250 1500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 1500 0 1500 1 0 1 { T 200 1550 5 8 1 1 0 6 1 pinnumber=5 T 200 1450 5 8 0 1 0 8 1 pinseq=5 T 350 1500 9 8 1 1 0 0 1 pinlabel=\_CS\_ T 350 1500 5 8 0 1 0 2 1 pintype=in } P 300 2700 0 2700 1 0 1 { T 200 2750 5 8 1 1 0 6 1 pinnumber=6 T 200 2650 5 8 0 1 0 8 1 pinseq=6 T 350 2700 9 8 1 1 0 0 1 pinlabel=DOUT T 350 2700 5 8 0 1 0 2 1 pintype=out } P 1200 300 1200 0 1 0 1 { T 1250 100 5 8 1 1 0 0 1 pinnumber=7 T 1250 100 5 8 0 1 0 2 1 pinseq=7 T 1200 350 9 8 1 1 0 3 1 pinlabel=DGND T 1200 500 5 8 0 1 0 3 1 pintype=pwr } P 600 300 600 0 1 0 1 { T 650 100 5 8 1 1 0 0 1 pinnumber=8 T 650 100 5 8 0 1 0 2 1 pinseq=8 T 600 350 9 8 1 1 0 3 1 pinlabel=AGND T 600 500 5 8 0 1 0 3 1 pintype=pwr } P 2100 1500 2400 1500 1 0 1 { T 2200 1550 5 8 1 1 0 0 1 pinnumber=9 T 2200 1450 5 8 0 1 0 2 1 pinseq=9 T 2050 1500 9 8 1 1 0 6 1 pinlabel=REFIN T 2050 1500 5 8 0 1 0 8 1 pintype=in } P 2100 1200 2400 1200 1 0 1 { T 2200 1250 5 8 1 1 0 0 1 pinnumber=10 T 2200 1150 5 8 0 1 0 2 1 pinseq=10 T 2050 1200 9 8 1 1 0 6 1 pinlabel=REFOUT T 2050 1200 5 8 0 1 0 8 1 pintype=out } P 1800 300 1800 0 1 0 1 { T 1850 100 5 8 1 1 0 0 1 pinnumber=11 T 1850 100 5 8 0 1 0 2 1 pinseq=11 T 1800 350 9 8 1 1 0 3 1 pinlabel=Vss T 1800 500 5 8 0 1 0 3 1 pintype=pwr } P 2100 2400 2400 2400 1 0 1 { T 2200 2450 5 8 1 1 0 0 1 pinnumber=12 T 2200 2350 5 8 0 1 0 2 1 pinseq=12 T 2050 2400 9 8 1 1 0 6 1 pinlabel=Vout T 2050 2400 5 8 0 1 0 8 1 pintype=out } P 2100 2700 2400 2700 1 0 1 { T 2200 2750 5 8 1 1 0 0 1 pinnumber=14 T 2200 2650 5 8 0 1 0 2 1 pinseq=13 T 2050 2700 9 8 1 1 0 6 1 pinlabel=RFB T 2050 2700 5 8 0 1 0 8 1 pintype=pas } P 1800 3300 1800 3600 1 0 1 { T 1850 3400 5 8 1 1 0 0 1 pinnumber=19 T 1850 3400 5 8 0 1 0 2 1 pinseq=14 T 1800 3250 9 8 1 1 0 5 1 pinlabel=Vdd T 1800 3100 5 8 0 1 0 5 1 pintype=pwr } T 300 4250 5 10 0 0 0 0 1 footprint=DIP14 T 300 4450 5 10 0 0 0 0 1 description=low-power, voltage-output, serial 12-bit DAC T 300 4050 5 10 0 0 0 0 1 numslots=0 T 300 4650 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX531-MAX539.pdf T 300 3350 3 10 1 0 0 0 1 MAX531 geda-gaf-1.8.2/symbols/maxim/max1608-1.sym0000664000175000017500000000652212204104272014676 00000000000000v 20040111 1 T 300 3350 5 10 0 0 0 0 1 footprint=QSOP16 B 300 0 1500 2700 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 T 300 3150 5 10 0 0 0 0 1 device=MAX1608 T 1800 2800 8 10 1 1 0 6 1 refdes=U? P 300 2400 0 2400 1 0 1 { T 200 2350 5 8 0 1 0 8 1 pinseq=1 T 200 2450 5 8 1 1 0 6 1 pinnumber=1 T 350 2400 5 8 0 1 0 2 1 pintype=io T 350 2400 9 8 1 1 0 0 1 pinlabel=IO0 } P 300 2100 0 2100 1 0 1 { T 200 2050 5 8 0 1 0 8 1 pinseq=2 T 200 2150 5 8 1 1 0 6 1 pinnumber=2 T 350 2100 5 8 0 1 0 2 1 pintype=io T 350 2100 9 8 1 1 0 0 1 pinlabel=IO1 } P 300 1800 0 1800 1 0 1 { T 200 1750 5 8 0 1 0 8 1 pinseq=3 T 200 1850 5 8 1 1 0 6 1 pinnumber=3 T 350 1800 5 8 0 1 0 2 1 pintype=io T 350 1800 9 8 1 1 0 0 1 pinlabel=IO2 } P 300 1500 0 1500 1 0 1 { T 200 1450 5 8 0 1 0 8 1 pinseq=4 T 200 1550 5 8 1 1 0 6 1 pinnumber=4 T 350 1500 5 8 0 1 0 2 1 pintype=io T 350 1500 9 8 1 1 0 0 1 pinlabel=IO3 } P 300 1200 0 1200 1 0 1 { T 200 1150 5 8 0 1 0 8 1 pinseq=5 T 200 1250 5 8 1 1 0 6 1 pinnumber=5 T 350 1200 5 8 0 1 0 2 1 pintype=io T 350 1200 9 8 1 1 0 0 1 pinlabel=IO4 } P 300 900 0 900 1 0 1 { T 200 850 5 8 0 1 0 8 1 pinseq=6 T 200 950 5 8 1 1 0 6 1 pinnumber=6 T 350 900 5 8 0 1 0 2 1 pintype=io T 350 900 9 8 1 1 0 0 1 pinlabel=IO5 } P 300 600 0 600 1 0 1 { T 200 550 5 8 0 1 0 8 1 pinseq=7 T 200 650 5 8 1 1 0 6 1 pinnumber=7 T 350 600 5 8 0 1 0 2 1 pintype=io T 350 600 9 8 1 1 0 0 1 pinlabel=IO6 } P 300 300 0 300 1 0 1 { T 200 250 5 8 0 1 0 8 1 pinseq=8 T 200 350 5 8 1 1 0 6 1 pinnumber=8 T 350 300 5 8 0 1 0 2 1 pintype=io T 350 300 9 8 1 1 0 0 1 pinlabel=IO7 } P 1800 2400 2100 2400 1 0 1 { T 1900 2350 5 8 0 1 0 2 1 pinseq=9 T 1900 2450 5 8 1 1 0 0 1 pinnumber=16 T 1750 2400 5 8 0 1 0 8 1 pintype=pwr T 1750 2400 9 8 1 1 0 6 1 pinlabel=Vpp } V 1850 2100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1900 2100 2100 2100 1 0 1 { T 1900 2050 5 8 0 1 0 2 1 pinseq=10 T 1900 2150 5 8 1 1 0 0 1 pinnumber=15 T 1750 2100 5 8 0 1 0 8 1 pintype=in T 1750 2100 9 8 1 1 0 6 1 pinlabel=SMBSUS } L 1800 1875 1700 1800 3 0 0 0 -1 -1 L 1800 1725 1700 1800 3 0 0 0 -1 -1 P 1800 1800 2100 1800 1 0 1 { T 1900 1750 5 8 0 1 0 2 1 pinseq=11 T 1900 1850 5 8 1 1 0 0 1 pinnumber=14 T 1750 1800 5 8 0 1 0 8 1 pintype=in T 1700 1800 9 8 1 1 0 6 1 pinlabel=SMBCLK } V 1850 1500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1900 1500 2100 1500 1 0 1 { T 1900 1450 5 8 0 1 0 2 1 pinseq=12 T 1900 1550 5 8 1 1 0 0 1 pinnumber=13 T 1750 1500 5 8 0 1 0 8 1 pintype=out T 1750 1500 9 8 1 1 0 6 1 pinlabel=ALERT } P 1800 1200 2100 1200 1 0 1 { T 1900 1150 5 8 0 1 0 2 1 pinseq=13 T 1900 1250 5 8 1 1 0 0 1 pinnumber=12 T 1750 1200 5 8 0 1 0 8 1 pintype=io T 1750 1200 9 8 1 1 0 6 1 pinlabel=SMBDATA } P 1800 900 2100 900 1 0 1 { T 1900 850 5 8 0 1 0 2 1 pinseq=14 T 1900 950 5 8 1 1 0 0 1 pinnumber=11 T 1750 900 5 8 0 1 0 8 1 pintype=in T 1750 900 9 8 1 1 0 6 1 pinlabel=ADD1 } P 1800 600 2100 600 1 0 1 { T 1900 550 5 8 0 1 0 2 1 pinseq=15 T 1900 650 5 8 1 1 0 0 1 pinnumber=10 T 1750 600 5 8 0 1 0 8 1 pintype=in T 1750 600 9 8 1 1 0 6 1 pinlabel=ADD0 } P 1800 300 2100 300 1 0 1 { T 1900 250 5 8 0 1 0 2 1 pinseq=16 T 1900 350 5 8 1 1 0 0 1 pinnumber=9 T 1750 300 5 8 0 1 0 8 1 pintype=pwr T 1750 300 9 8 1 1 0 6 1 pinlabel=GND } T 300 2950 5 10 0 0 0 0 1 numslots=0 T 300 3550 5 10 0 0 0 0 1 description=octal SMBus-to-parallel IO-expander T 300 3750 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX1608-MAX1609.pdf T 300 2750 3 10 1 0 0 0 1 MAX1608 geda-gaf-1.8.2/symbols/maxim/max232-1.sym0000664000175000017500000000563612204104272014613 00000000000000v 20041228 1 P 300 2100 0 2100 1 0 1 { T 200 2150 5 8 1 1 0 6 1 pinnumber=2 T 200 2050 5 8 0 1 0 8 1 pinseq=2 T 350 2100 9 8 1 1 0 0 1 pinlabel=V+ T 350 2100 5 8 0 1 0 2 1 pintype=pwr } P 300 1800 0 1800 1 0 1 { T 200 1850 5 8 1 1 0 6 1 pinnumber=3 T 200 1750 5 8 0 1 0 8 1 pinseq=3 T 350 1800 9 8 1 1 0 0 1 pinlabel=C1- T 350 1800 5 8 0 1 0 2 1 pintype=pas } P 300 1500 0 1500 1 0 1 { T 200 1550 5 8 1 1 0 6 1 pinnumber=4 T 200 1450 5 8 0 1 0 8 1 pinseq=4 T 350 1500 9 8 1 1 0 0 1 pinlabel=C2+ T 350 1500 5 8 0 1 0 2 1 pintype=pas } P 300 1200 0 1200 1 0 1 { T 200 1250 5 8 1 1 0 6 1 pinnumber=5 T 200 1150 5 8 0 1 0 8 1 pinseq=5 T 350 1200 9 8 1 1 0 0 1 pinlabel=C2- T 350 1200 5 8 0 1 0 2 1 pintype=pas } P 300 900 0 900 1 0 1 { T 200 950 5 8 1 1 0 6 1 pinnumber=6 T 200 850 5 8 0 1 0 8 1 pinseq=6 T 350 900 9 8 1 1 0 0 1 pinlabel=V- T 350 900 5 8 0 1 0 2 1 pintype=pwr } P 300 600 0 600 1 0 1 { T 200 650 5 8 1 1 0 6 1 pinnumber=7 T 200 550 5 8 0 1 0 8 1 pinseq=7 T 350 600 9 8 1 1 0 0 1 pinlabel=Tx2 Out T 350 600 5 8 0 1 0 2 1 pintype=out } P 300 300 0 300 1 0 1 { T 200 350 5 8 1 1 0 6 1 pinnumber=8 T 200 250 5 8 0 1 0 8 1 pinseq=8 T 350 300 9 8 1 1 0 0 1 pinlabel=Rx2 In T 350 300 5 8 0 1 0 2 1 pintype=in } P 2300 300 2600 300 1 0 1 { T 2400 350 5 8 1 1 0 0 1 pinnumber=9 T 2400 250 5 8 0 1 0 2 1 pinseq=9 T 2250 300 9 8 1 1 0 6 1 pinlabel=Rx2 Out T 2250 300 5 8 0 1 0 8 1 pintype=out } P 2300 600 2600 600 1 0 1 { T 2400 650 5 8 1 1 0 0 1 pinnumber=10 T 2400 550 5 8 0 1 0 2 1 pinseq=10 T 2250 600 9 8 1 1 0 6 1 pinlabel=Tx2 In T 2250 600 5 8 0 1 0 8 1 pintype=in } P 2300 900 2600 900 1 0 1 { T 2400 950 5 8 1 1 0 0 1 pinnumber=11 T 2400 850 5 8 0 1 0 2 1 pinseq=11 T 2250 900 9 8 1 1 0 6 1 pinlabel=Tx1 In T 2250 900 5 8 0 1 0 8 1 pintype=in } P 2300 1200 2600 1200 1 0 1 { T 2400 1250 5 8 1 1 0 0 1 pinnumber=12 T 2400 1150 5 8 0 1 0 2 1 pinseq=12 T 2250 1200 9 8 1 1 0 6 1 pinlabel=Rx1 Out T 2250 1200 5 8 0 1 0 8 1 pintype=out } P 2300 1500 2600 1500 1 0 1 { T 2400 1550 5 8 1 1 0 0 1 pinnumber=13 T 2400 1450 5 8 0 1 0 2 1 pinseq=13 T 2250 1500 9 8 1 1 0 6 1 pinlabel=Rx1 In T 2250 1500 5 8 0 1 0 8 1 pintype=in } T 300 3050 5 10 0 0 0 0 1 device=MAX232 P 2300 1800 2600 1800 1 0 1 { T 2400 1850 5 8 1 1 0 0 1 pinnumber=14 T 2400 1750 5 8 0 1 0 2 1 pinseq=14 T 2250 1800 9 8 1 1 0 6 1 pinlabel=Tx1 Out T 2250 1800 5 8 0 1 0 8 1 pintype=out } P 300 2400 0 2400 1 0 1 { T 200 2450 5 8 1 1 0 6 1 pinnumber=1 T 200 2350 5 8 0 1 0 8 1 pinseq=1 T 350 2400 9 8 1 1 0 0 1 pinlabel=C1+ T 350 2400 5 8 0 1 0 2 1 pintype=pas } B 300 0 2000 2800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2300 2900 8 10 1 1 0 6 1 refdes=U? T 300 3250 5 10 0 0 0 0 1 footprint=DIP16 T 300 3450 5 10 0 0 0 0 1 description=5V-powered dual RS-232 driver/receiver T 300 4050 5 10 0 0 0 0 1 numslots=0 T 300 3650 5 10 0 0 0 0 1 net=Vcc:16 T 300 3850 5 10 0 0 0 0 1 net=GND:15 T 300 2850 9 10 1 0 0 0 1 MAX232 T 300 4250 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX220-MAX249.pdf geda-gaf-1.8.2/symbols/maxim/max101A-1.sym0000664000175000017500000002234712204104272014705 00000000000000v 20070626 1 P 300 6300 0 6300 1 0 1 { T 200 6350 5 8 1 1 0 6 1 pinnumber=2 T 200 6250 5 8 0 1 0 8 1 pinseq=2 T 350 6300 9 8 1 1 0 0 1 pinlabel=CLK T 350 6300 5 8 0 1 0 2 1 pintype=in } P 300 6100 0 6100 1 0 1 { T 200 6150 5 8 1 1 0 6 1 pinnumber=62 T 200 6050 5 8 0 1 0 8 1 pinseq=62 T 350 6100 9 8 1 1 0 0 1 pinlabel=CLK T 350 6100 5 8 0 1 0 2 1 pintype=in } P 300 1100 0 1100 1 0 1 { T 200 1150 5 8 1 1 0 6 1 pinnumber=9 T 200 1050 5 8 0 1 0 8 1 pinseq=9 T 350 1100 9 8 1 1 0 0 1 pinlabel=VBRB T 350 1100 5 8 0 1 0 2 1 pintype=pas } P 300 1300 0 1300 1 0 1 { T 200 1350 5 8 1 1 0 6 1 pinnumber=10 T 200 1250 5 8 0 1 0 8 1 pinseq=10 T 350 1300 9 8 1 1 0 0 1 pinlabel=VBRBS T 350 1300 5 8 0 1 0 2 1 pintype=pas } P 300 1700 0 1700 1 0 1 { T 200 1750 5 8 1 1 0 6 1 pinnumber=13 T 200 1650 5 8 0 1 0 8 1 pinseq=13 T 350 1700 9 8 1 1 0 0 1 pinlabel=VBRTS T 350 1700 5 8 0 1 0 2 1 pintype=pas } P 300 1900 0 1900 1 0 1 { T 200 1950 5 8 1 1 0 6 1 pinnumber=14 T 200 1850 5 8 0 1 0 8 1 pinseq=14 T 350 1900 9 8 1 1 0 0 1 pinlabel=VBRT T 350 1900 5 8 0 1 0 2 1 pintype=pas } P 300 5100 0 5100 1 0 1 { T 200 5150 5 8 1 1 0 6 1 pinnumber=35 T 200 5050 5 8 0 1 0 8 1 pinseq=35 T 350 5100 9 8 1 1 0 0 1 pinlabel=DIV10 T 350 5100 5 8 0 1 0 2 1 pintype=in } P 600 300 600 0 1 0 1 { T 550 200 5 8 1 1 90 6 1 pinnumber=29 T 650 200 5 8 0 1 90 8 1 pinseq=29 T 600 350 9 8 1 1 90 0 1 pinlabel=SUB T 600 350 5 8 0 1 90 2 1 pintype=pas } P 2600 7500 2300 7500 1 0 0 { T 2400 7550 5 8 1 1 0 0 1 pinnumber=33 T 2400 7450 5 8 0 1 0 2 1 pinseq=33 T 2250 7500 9 8 1 1 0 6 1 pinlabel=DCLK T 2250 7500 5 8 0 1 0 8 1 pintype=out } P 2600 7100 2400 7100 1 0 0 { T 2400 7150 5 8 1 1 0 0 1 pinnumber=31 T 2400 7050 5 8 0 1 0 2 1 pinseq=31 T 2250 7100 9 8 1 1 0 6 1 pinlabel=\_DCLK\_ T 2250 7100 5 8 0 1 0 8 1 pintype=out } P 2600 6700 2300 6700 1 0 0 { T 2400 6750 5 8 1 1 0 0 1 pinnumber=36 T 2400 6650 5 8 0 1 0 2 1 pinseq=36 T 2250 6700 9 8 1 1 0 6 1 pinlabel=A7 T 2250 6700 5 8 0 1 0 8 1 pintype=out } P 2600 6300 2300 6300 1 0 0 { T 2400 6350 5 8 1 1 0 0 1 pinnumber=38 T 2400 6250 5 8 0 1 0 2 1 pinseq=38 T 2250 6300 9 8 1 1 0 6 1 pinlabel=A6 T 2250 6300 5 8 0 1 0 8 1 pintype=out } P 2300 5900 2600 5900 1 0 1 { T 2400 5950 5 8 1 1 0 0 1 pinnumber=39 T 2400 5850 5 8 0 1 0 2 1 pinseq=39 T 2250 5900 9 8 1 1 0 6 1 pinlabel=A5 T 2250 5900 5 8 0 1 0 8 1 pintype=out } P 2300 5500 2600 5500 1 0 1 { T 2400 5550 5 8 1 1 0 0 1 pinnumber=41 T 2400 5450 5 8 0 1 0 2 1 pinseq=41 T 2250 5500 9 8 1 1 0 6 1 pinlabel=A4 T 2250 5500 5 8 0 1 0 8 1 pintype=out } P 2300 5100 2600 5100 1 0 1 { T 2400 5150 5 8 1 1 0 0 1 pinnumber=42 T 2400 5050 5 8 0 1 0 2 1 pinseq=42 T 2250 5100 9 8 1 1 0 6 1 pinlabel=A3 T 2250 5100 5 8 0 1 0 8 1 pintype=out } P 2300 4700 2600 4700 1 0 1 { T 2400 4750 5 8 1 1 0 0 1 pinnumber=44 T 2400 4650 5 8 0 1 0 2 1 pinseq=44 T 2250 4700 9 8 1 1 0 6 1 pinlabel=A2 T 2250 4700 5 8 0 1 0 8 1 pintype=out } P 2300 4300 2600 4300 1 0 1 { T 2400 4350 5 8 1 1 0 0 1 pinnumber=45 T 2400 4250 5 8 0 1 0 2 1 pinseq=45 T 2250 4300 9 8 1 1 0 6 1 pinlabel=A1 T 2250 4300 5 8 0 1 0 8 1 pintype=out } P 2300 3900 2600 3900 1 0 1 { T 2400 3950 5 8 1 1 0 0 1 pinnumber=47 T 2400 3850 5 8 0 1 0 2 1 pinseq=47 T 2250 3900 9 8 1 1 0 6 1 pinlabel=A0 T 2250 3900 5 8 0 1 0 8 1 pintype=out } P 2300 3500 2600 3500 1 0 1 { T 2400 3550 5 8 1 1 0 0 1 pinnumber=28 T 2400 3450 5 8 0 1 0 2 1 pinseq=28 T 2250 3500 9 8 1 1 0 6 1 pinlabel=B7 T 2250 3500 5 8 0 1 0 8 1 pintype=out } P 2300 3100 2600 3100 1 0 1 { T 2400 3150 5 8 1 1 0 0 1 pinnumber=26 T 2400 3050 5 8 0 1 0 2 1 pinseq=26 T 2250 3100 9 8 1 1 0 6 1 pinlabel=B6 T 2250 3100 5 8 0 1 0 8 1 pintype=out } P 2300 2700 2600 2700 1 0 1 { T 2400 2750 5 8 1 1 0 0 1 pinnumber=25 T 2400 2650 5 8 0 1 0 2 1 pinseq=25 T 2250 2700 9 8 1 1 0 6 1 pinlabel=B5 T 2250 2700 5 8 0 1 0 8 1 pintype=out } P 2300 2300 2600 2300 1 0 1 { T 2400 2350 5 8 1 1 0 0 1 pinnumber=23 T 2400 2250 5 8 0 1 0 2 1 pinseq=23 T 2250 2300 9 8 1 1 0 6 1 pinlabel=B4 T 2250 2300 5 8 0 1 0 8 1 pintype=out } P 2300 1900 2600 1900 1 0 1 { T 2400 1950 5 8 1 1 0 0 1 pinnumber=22 T 2400 1850 5 8 0 1 0 2 1 pinseq=22 T 2250 1900 9 8 1 1 0 6 1 pinlabel=B3 T 2250 1900 5 8 0 1 0 8 1 pintype=out } P 2300 1500 2600 1500 1 0 1 { T 2400 1550 5 8 1 1 0 0 1 pinnumber=20 T 2400 1450 5 8 0 1 0 2 1 pinseq=20 T 2250 1500 9 8 1 1 0 6 1 pinlabel=B2 T 2250 1500 5 8 0 1 0 8 1 pintype=out } P 2300 1100 2600 1100 1 0 1 { T 2400 1150 5 8 1 1 0 0 1 pinnumber=19 T 2400 1050 5 8 0 1 0 2 1 pinseq=19 T 2250 1100 9 8 1 1 0 6 1 pinlabel=B1 T 2250 1100 5 8 0 1 0 8 1 pintype=out } P 2300 700 2600 700 1 0 1 { T 2400 750 5 8 1 1 0 0 1 pinnumber=17 T 2400 650 5 8 0 1 0 2 1 pinseq=17 T 2250 700 9 8 1 1 0 6 1 pinlabel=B0 T 2250 700 5 8 0 1 0 8 1 pintype=out } P 300 3100 0 3100 1 0 1 { T 200 3150 5 8 1 1 0 6 1 pinnumber=50 T 200 3050 5 8 0 1 0 8 1 pinseq=50 T 350 3100 9 8 1 1 0 0 1 pinlabel=VART T 350 3100 5 8 0 1 0 2 1 pintype=pas } P 300 2900 0 2900 1 0 1 { T 200 2950 5 8 1 1 0 6 1 pinnumber=51 T 200 2850 5 8 0 1 0 8 1 pinseq=51 T 350 2900 9 8 1 1 0 0 1 pinlabel=VARTS T 350 2900 5 8 0 1 0 2 1 pintype=pas } P 300 2500 0 2500 1 0 1 { T 200 2550 5 8 1 1 0 6 1 pinnumber=54 T 200 2450 5 8 0 1 0 8 1 pinseq=54 T 350 2500 9 8 1 1 0 0 1 pinlabel=VARBS T 350 2500 5 8 0 1 0 2 1 pintype=pas } P 1200 300 1200 0 1 0 1 { T 1150 200 5 8 1 1 90 6 1 pinnumber=53 T 1250 200 5 8 0 1 90 8 1 pinseq=53 T 1200 350 9 8 1 1 90 0 1 pinlabel=TP2 T 1200 350 5 8 0 1 90 2 1 pintype=pas } P 300 7300 0 7300 1 0 1 { T 200 7350 5 8 1 1 0 6 1 pinnumber=72 T 200 7250 5 8 0 1 0 8 1 pinseq=72 T 350 7300 9 8 1 1 0 0 1 pinlabel=AIN+ T 350 7300 5 8 0 1 0 2 1 pintype=in } P 300 7500 0 7500 1 0 1 { T 200 7550 5 8 1 1 0 6 1 pinnumber=73 T 200 7450 5 8 0 1 0 8 1 pinseq=73 T 350 7500 9 8 1 1 0 0 1 pinlabel=AIN+ T 350 7500 5 8 0 1 0 2 1 pintype=in } P 300 6900 0 6900 1 0 1 { T 200 6950 5 8 1 1 0 6 1 pinnumber=75 T 200 6850 5 8 0 1 0 8 1 pinseq=75 T 350 6900 9 8 1 1 0 0 1 pinlabel=AIN- T 350 6900 5 8 0 1 0 2 1 pintype=in } P 300 6700 0 6700 1 0 1 { T 200 6750 5 8 1 1 0 6 1 pinnumber=76 T 200 6650 5 8 0 1 0 8 1 pinseq=76 T 350 6700 9 8 1 1 0 0 1 pinlabel=AIN- T 350 6700 5 8 0 1 0 2 1 pintype=in } P 300 4700 0 4700 1 0 1 { T 200 4750 5 8 1 1 0 6 1 pinnumber=83 T 200 4650 5 8 0 1 0 8 1 pinseq=83 T 350 4700 9 8 1 1 0 0 1 pinlabel=PHADJ T 350 4700 5 8 0 1 0 2 1 pintype=in } B 300 300 2000 7500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 8050 5 10 0 0 0 0 1 device=MAX101A V 250 5700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 5700 0 5700 1 0 1 { T 200 5750 5 8 1 1 0 6 1 pinnumber=3 T 200 5650 5 8 0 1 0 8 1 pinseq=3 T 350 5700 9 8 1 1 0 0 1 pinlabel=\_CLK\_ T 350 5700 5 8 0 1 0 2 1 pintype=in } P 200 5500 0 5500 1 0 1 { T 200 5550 5 8 1 1 0 6 1 pinnumber=61 T 200 5450 5 8 0 1 0 8 1 pinseq=61 T 350 5500 9 8 1 1 0 0 1 pinlabel=\_CLK\_ T 350 5500 5 8 0 1 0 2 1 pintype=in } V 250 3500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 3500 0 3500 1 0 1 { T 200 3550 5 8 1 1 0 6 1 pinnumber=5 T 200 3450 5 8 0 1 0 8 1 pinseq=5 T 350 3500 9 8 1 1 0 0 1 pinlabel=\_TRK1\_ T 350 3500 5 8 0 1 0 2 1 pintype=pas } T 2300 7900 8 10 1 1 0 6 1 refdes=U? T 300 8450 5 10 0 0 0 0 1 footprint=CFP84 T 300 8650 5 10 0 0 0 0 1 description=500Msps, 8-bit ADC with track/hold T 300 8250 5 10 0 0 0 0 1 numslots=0 V 250 5500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 300 4100 0 4100 1 0 1 { T 200 4150 5 8 1 1 0 6 1 pinnumber=6 T 200 4050 5 8 0 1 0 8 1 pinseq=6 T 350 4100 9 8 1 1 0 0 1 pinlabel=TRK1 T 350 4100 5 8 0 1 0 2 1 pintype=pas } P 300 4300 0 4300 1 0 1 { T 200 4350 5 8 1 1 0 6 1 pinnumber=58 T 200 4250 5 8 0 1 0 8 1 pinseq=58 T 350 4300 9 8 1 1 0 0 1 pinlabel=TRK1 T 350 4300 5 8 0 1 0 2 1 pintype=pas } P 200 3700 0 3700 1 0 1 { T 200 3750 5 8 1 1 0 6 1 pinnumber=59 T 200 3650 5 8 0 1 0 8 1 pinseq=59 T 350 3700 9 8 1 1 0 0 1 pinlabel=\_TRK1\_ T 350 3700 5 8 0 1 0 2 1 pintype=pas } V 250 3700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 2350 7100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 300 2300 0 2300 1 0 1 { T 200 2350 5 8 1 1 0 6 1 pinnumber=55 T 200 2250 5 8 0 1 0 8 1 pinseq=55 T 350 2300 9 8 1 1 0 0 1 pinlabel=VARB T 350 2300 5 8 0 1 0 2 1 pintype=pas } P 300 700 0 700 1 0 1 { T 200 750 5 8 1 1 0 6 1 pinnumber=1 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 1 1 0 0 1 pinlabel=PAD T 350 700 5 8 0 1 0 2 1 pintype=pas } T 300 8850 5 10 0 0 0 0 1 net=GND:4,7,15,18,24,27,30,34,37,40,46,49,57,60,64,67,68,70,71,74,77,78,79,82,84 T 300 9050 5 10 0 0 0 0 1 net=VCC:8,21,43,56,81 P 1000 300 1000 0 1 0 1 { T 950 200 5 8 1 1 90 6 1 pinnumber=52 T 1050 200 5 8 0 1 90 8 1 pinseq=52 T 1000 350 9 8 1 1 90 0 1 pinlabel=TP1 T 1000 350 5 8 0 1 90 2 1 pintype=pas } P 1800 300 1800 0 1 0 1 { T 1750 200 5 8 1 1 90 6 1 pinnumber=65 T 1850 200 5 8 0 1 90 8 1 pinseq=65 T 1800 350 9 8 1 1 90 0 1 pinlabel=TP5 T 1800 350 5 8 0 1 90 2 1 pintype=pas } P 2000 300 2000 0 1 0 1 { T 1950 200 5 8 1 1 90 6 1 pinnumber=66 T 2050 200 5 8 0 1 90 8 1 pinseq=66 T 2000 350 9 8 1 1 90 0 1 pinlabel=TP6 T 2000 350 5 8 0 1 90 2 1 pintype=pas } P 1600 300 1600 0 1 0 1 { T 1550 200 5 8 1 1 90 6 1 pinnumber=11 T 1650 200 5 8 0 1 90 8 1 pinseq=11 T 1600 350 9 8 1 1 90 0 1 pinlabel=TP4 T 1600 350 5 8 0 1 90 2 1 pintype=pas } P 1400 300 1400 0 1 0 1 { T 1350 200 5 8 1 1 90 6 1 pinnumber=12 T 1450 200 5 8 0 1 90 8 1 pinseq=12 T 1400 350 9 8 1 1 90 0 1 pinlabel=TP3 T 1400 350 5 8 0 1 90 2 1 pintype=pas } T 300 9250 5 10 0 0 0 0 1 net=VEE:32,69,80 T 300 7850 9 10 1 0 0 0 1 MAX101A T 300 9450 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX101A.pdf geda-gaf-1.8.2/symbols/maxim/max713-1.sym0000664000175000017500000000637612204104272014621 00000000000000v 20070626 1 T 1800 4000 8 10 1 1 0 6 1 refdes=U? T 300 4350 5 10 0 0 0 0 1 device=MAX713 T 300 4550 5 10 0 0 0 0 1 footprint=DIP16 T 300 4750 5 10 0 0 0 0 1 numslots=0 T 300 4950 5 10 0 0 0 0 1 description=NiCd/NiMH Battery Fast-Charge Controllers T 300 5150 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/arpdf/MAX712-MAX713.pdf P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=3 T 200 3050 5 8 0 1 0 8 1 pinseq=3 T 350 3100 9 8 1 1 0 0 1 pinlabel=PGM0 T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=15 T 200 3450 5 8 0 1 0 8 1 pinseq=15 T 350 3500 9 8 1 1 0 0 1 pinlabel=V+ T 350 3500 5 8 0 1 0 2 1 pintype=out } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=16 T 200 1450 5 8 0 1 0 8 1 pinseq=16 T 350 1500 9 8 1 1 0 0 1 pinlabel=REF T 350 1500 5 8 0 1 0 2 1 pintype=out } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=10 T 200 1850 5 8 0 1 0 8 1 pinseq=10 T 350 1900 9 8 1 1 0 0 1 pinlabel=PGM3 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=9 T 200 2250 5 8 0 1 0 8 1 pinseq=9 T 350 2300 9 8 1 1 0 0 1 pinlabel=PGM2 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=4 T 200 2650 5 8 0 1 0 8 1 pinseq=4 T 350 2700 9 8 1 1 0 0 1 pinlabel=PGM1 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 2100 1500 1800 1500 1 0 0 { T 1900 1550 5 8 1 1 0 0 1 pinnumber=7 T 1900 1450 5 8 0 1 0 2 1 pinseq=7 T 1750 1500 9 8 1 1 0 6 1 pinlabel=TEMP T 1750 1500 5 8 0 1 0 8 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=1 T 200 1050 5 8 0 1 0 8 1 pinseq=1 T 350 1100 9 8 1 1 0 0 1 pinlabel=VLIMIT T 350 1100 5 8 0 1 0 2 1 pintype=in } P 2100 1900 1800 1900 1 0 0 { T 1900 1950 5 8 1 1 0 0 1 pinnumber=5 T 1900 1850 5 8 0 1 0 2 1 pinseq=5 T 1750 1900 9 8 1 1 0 6 1 pinlabel=THI T 1750 1900 5 8 0 1 0 8 1 pintype=in } P 2100 3500 1800 3500 1 0 0 { T 1900 3550 5 8 1 1 0 0 1 pinnumber=14 T 1900 3450 5 8 0 1 0 2 1 pinseq=14 T 1750 3500 9 8 1 1 0 6 1 pinlabel=DRV T 1750 3500 5 8 0 1 0 8 1 pintype=out } P 2100 700 1800 700 1 0 0 { T 1900 750 5 8 1 1 0 0 1 pinnumber=13 T 1900 650 5 8 0 1 0 2 1 pinseq=13 T 1750 700 9 8 1 1 0 6 1 pinlabel=GND T 1750 700 5 8 0 1 0 8 1 pintype=in } P 2100 1100 1800 1100 1 0 0 { T 1900 1150 5 8 1 1 0 0 1 pinnumber=6 T 1900 1050 5 8 0 1 0 2 1 pinseq=6 T 1750 1100 9 8 1 1 0 6 1 pinlabel=TLD T 1750 1100 5 8 0 1 0 8 1 pintype=in } P 2100 2300 1800 2300 1 0 0 { T 1900 2350 5 8 1 1 0 0 1 pinnumber=12 T 1900 2250 5 8 0 1 0 2 1 pinseq=12 T 1750 2300 9 8 1 1 0 6 1 pinlabel=BATT- T 1750 2300 5 8 0 1 0 8 1 pintype=out } P 2100 2700 1800 2700 1 0 0 { T 1900 2750 5 8 1 1 0 0 1 pinnumber=2 T 1900 2650 5 8 0 1 0 2 1 pinseq=2 T 1750 2700 9 8 1 1 0 6 1 pinlabel=BATT+ T 1750 2700 5 8 0 1 0 8 1 pintype=out } B 300 400 1500 3500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2100 3100 1800 3100 1 0 0 { T 1900 3150 5 8 1 1 0 0 1 pinnumber=11 T 1900 3050 5 8 0 1 0 2 1 pinseq=11 T 1750 3100 9 8 1 1 0 6 1 pinlabel=CC T 1750 3100 5 8 0 1 0 8 1 pintype=in } P 0 700 200 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=8 T 200 650 5 8 0 1 0 8 1 pinseq=8 T 350 700 9 8 1 1 0 0 1 pinlabel=\_FASTCHG\_ T 350 700 5 8 0 1 0 2 1 pintype=in } V 250 700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 3950 9 10 1 0 0 0 1 MAX713 geda-gaf-1.8.2/symbols/maxim/max12557-1.sym0000664000175000017500000004122012204104272014755 00000000000000v 20050313 1 P 100 11300 400 11300 1 0 0 { T 325 11350 5 10 1 1 0 6 1 pinnumber=2 T 100 11300 5 10 0 1 0 0 1 pinseq=2 T 300 11350 5 10 0 1 0 0 1 pintype=in T 500 11350 5 10 1 1 0 0 1 pinlabel=INAP } B 400 400 4900 11800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 5600 7000 5300 7000 1 0 0 { T 5500 7000 5 10 0 1 0 0 1 pintype=out T 5350 7025 5 10 1 1 0 0 1 pinnumber=41 T 5500 7000 5 10 0 1 0 0 1 pinseq=41 T 4700 7000 5 10 1 1 0 1 1 pinlabel=DB13 } P 5600 6800 5300 6800 1 0 0 { T 5500 6800 5 10 0 1 0 0 1 pintype=out T 5350 6825 5 10 1 1 0 0 1 pinnumber=40 T 5500 6800 5 10 0 1 0 0 1 pinseq=40 T 4700 6800 5 10 1 1 0 1 1 pinlabel=DB12 } P 5600 6600 5300 6600 1 0 0 { T 5500 6600 5 10 0 1 0 0 1 pintype=out T 5350 6625 5 10 1 1 0 0 1 pinnumber=39 T 5500 6600 5 10 0 1 0 0 1 pinseq=39 T 4700 6600 5 10 1 1 0 1 1 pinlabel=DB11 } P 5600 6400 5300 6400 1 0 0 { T 5500 6400 5 10 0 1 0 0 1 pintype=out T 5350 6425 5 10 1 1 0 0 1 pinnumber=38 T 5500 6400 5 10 0 1 0 0 1 pinseq=38 T 4700 6400 5 10 1 1 0 1 1 pinlabel=DB10 } P 5600 6200 5300 6200 1 0 0 { T 5500 6200 5 10 0 1 0 0 1 pintype=out T 5350 6225 5 10 1 1 0 0 1 pinnumber=37 T 5500 6200 5 10 0 1 0 0 1 pinseq=37 T 4700 6200 5 10 1 1 0 1 1 pinlabel=DB9 } P 5600 6000 5300 6000 1 0 0 { T 5500 6000 5 10 0 1 0 0 1 pintype=out T 5350 6025 5 10 1 1 0 0 1 pinnumber=36 T 5500 6000 5 10 0 1 0 0 1 pinseq=36 T 4700 6000 5 10 1 1 0 1 1 pinlabel=DB8 } P 5600 5800 5300 5800 1 0 0 { T 5500 5800 5 10 0 1 0 0 1 pintype=out T 5350 5825 5 10 1 1 0 0 1 pinnumber=35 T 5500 5800 5 10 0 1 0 0 1 pinseq=35 T 4700 5800 5 10 1 1 0 1 1 pinlabel=DB7 } P 5600 5600 5300 5600 1 0 0 { T 5500 5600 5 10 0 1 0 0 1 pintype=out T 5350 5625 5 10 1 1 0 0 1 pinnumber=34 T 5500 5600 5 10 0 1 0 0 1 pinseq=34 T 4700 5600 5 10 1 1 0 1 1 pinlabel=DB6 } P 5600 5400 5300 5400 1 0 0 { T 5500 5400 5 10 0 1 0 0 1 pintype=out T 5350 5425 5 10 1 1 0 0 1 pinnumber=33 T 5500 5400 5 10 0 1 0 0 1 pinseq=33 T 4700 5400 5 10 1 1 0 1 1 pinlabel=DB5 } P 5600 5200 5300 5200 1 0 0 { T 5500 5200 5 10 0 1 0 0 1 pintype=out T 5350 5225 5 10 1 1 0 0 1 pinnumber=32 T 5500 5200 5 10 0 1 0 0 1 pinseq=32 T 4700 5200 5 10 1 1 0 1 1 pinlabel=DB4 } P 5600 5000 5300 5000 1 0 0 { T 5500 5000 5 10 0 1 0 0 1 pintype=out T 5350 5025 5 10 1 1 0 0 1 pinnumber=31 T 5500 5000 5 10 0 1 0 0 1 pinseq=31 T 4700 5000 5 10 1 1 0 1 1 pinlabel=DB3 } P 5600 4800 5300 4800 1 0 0 { T 5500 4800 5 10 0 1 0 0 1 pintype=out T 5350 4825 5 10 1 1 0 0 1 pinnumber=30 T 5500 4800 5 10 0 1 0 0 1 pinseq=30 T 4700 4800 5 10 1 1 0 1 1 pinlabel=DB2 } P 5600 4600 5300 4600 1 0 0 { T 5500 4600 5 10 0 1 0 0 1 pintype=out T 5350 4625 5 10 1 1 0 0 1 pinnumber=29 T 5500 4600 5 10 0 1 0 0 1 pinseq=29 T 4700 4600 5 10 1 1 0 1 1 pinlabel=DB1 } P 5600 4400 5300 4400 1 0 0 { T 5500 4400 5 10 0 1 0 0 1 pintype=out T 5350 4425 5 10 1 1 0 0 1 pinnumber=28 T 5500 4400 5 10 0 1 0 0 1 pinseq=28 T 4700 4400 5 10 1 1 0 1 1 pinlabel=DB0 } P 5600 7200 5300 7200 1 0 0 { T 5500 7200 5 10 0 1 0 0 1 pintype=out T 5350 7225 5 10 1 1 0 0 1 pinnumber=42 T 5500 7200 5 10 0 1 0 0 1 pinseq=42 T 4700 7200 5 10 1 1 0 1 1 pinlabel=DORB } P 5600 11400 5300 11400 1 0 0 { T 5500 11400 5 10 0 1 0 0 1 pintype=out T 5350 11425 5 10 1 1 0 0 1 pinnumber=58 T 5500 11400 5 10 0 1 0 0 1 pinseq=58 T 4700 11400 5 10 1 1 0 1 1 pinlabel=DA13 } P 5600 11200 5300 11200 1 0 0 { T 5500 11200 5 10 0 1 0 0 1 pintype=out T 5350 11225 5 10 1 1 0 0 1 pinnumber=57 T 5500 11200 5 10 0 1 0 0 1 pinseq=57 T 4700 11200 5 10 1 1 0 1 1 pinlabel=DA12 } P 5600 11000 5300 11000 1 0 0 { T 5500 11000 5 10 0 1 0 0 1 pintype=out T 5350 11025 5 10 1 1 0 0 1 pinnumber=56 T 5500 11000 5 10 0 1 0 0 1 pinseq=56 T 4700 11000 5 10 1 1 0 1 1 pinlabel=DA11 } P 5600 10800 5300 10800 1 0 0 { T 5500 10800 5 10 0 1 0 0 1 pintype=out T 5350 10825 5 10 1 1 0 0 1 pinnumber=55 T 5500 10800 5 10 0 1 0 0 1 pinseq=55 T 4700 10800 5 10 1 1 0 1 1 pinlabel=DA10 } P 5600 10600 5300 10600 1 0 0 { T 5500 10600 5 10 0 1 0 0 1 pintype=out T 5350 10625 5 10 1 1 0 0 1 pinnumber=54 T 5500 10600 5 10 0 1 0 0 1 pinseq=54 T 4700 10600 5 10 1 1 0 1 1 pinlabel=DA9 } P 5600 10400 5300 10400 1 0 0 { T 5500 10400 5 10 0 1 0 0 1 pintype=out T 5350 10425 5 10 1 1 0 0 1 pinnumber=53 T 5500 10400 5 10 0 1 0 0 1 pinseq=53 T 4700 10400 5 10 1 1 0 1 1 pinlabel=DA8 } P 5600 10200 5300 10200 1 0 0 { T 5500 10200 5 10 0 1 0 0 1 pintype=out T 5350 10225 5 10 1 1 0 0 1 pinnumber=52 T 5500 10200 5 10 0 1 0 0 1 pinseq=52 T 4700 10200 5 10 1 1 0 1 1 pinlabel=DA7 } P 5600 10000 5300 10000 1 0 0 { T 5500 10000 5 10 0 1 0 0 1 pintype=out T 5350 10025 5 10 1 1 0 0 1 pinnumber=51 T 5500 10000 5 10 0 1 0 0 1 pinseq=51 T 4700 10000 5 10 1 1 0 1 1 pinlabel=DA6 } P 5600 9800 5300 9800 1 0 0 { T 5500 9800 5 10 0 1 0 0 1 pintype=out T 5350 9825 5 10 1 1 0 0 1 pinnumber=50 T 5500 9800 5 10 0 1 0 0 1 pinseq=50 T 4700 9800 5 10 1 1 0 1 1 pinlabel=DA5 } P 5600 9600 5300 9600 1 0 0 { T 5500 9600 5 10 0 1 0 0 1 pintype=out T 5350 9625 5 10 1 1 0 0 1 pinnumber=49 T 5500 9600 5 10 0 1 0 0 1 pinseq=49 T 4700 9600 5 10 1 1 0 1 1 pinlabel=DA4 } P 5600 9400 5300 9400 1 0 0 { T 5500 9400 5 10 0 1 0 0 1 pintype=out T 5350 9425 5 10 1 1 0 0 1 pinnumber=48 T 5500 9400 5 10 0 1 0 0 1 pinseq=48 T 4700 9400 5 10 1 1 0 1 1 pinlabel=DA3 } P 5600 9200 5300 9200 1 0 0 { T 5500 9200 5 10 0 1 0 0 1 pintype=out T 5350 9225 5 10 1 1 0 0 1 pinnumber=47 T 5500 9200 5 10 0 1 0 0 1 pinseq=47 T 4700 9200 5 10 1 1 0 1 1 pinlabel=DA2 } P 5600 9000 5300 9000 1 0 0 { T 5500 9000 5 10 0 1 0 0 1 pintype=out T 5350 9025 5 10 1 1 0 0 1 pinnumber=46 T 5500 9000 5 10 0 1 0 0 1 pinseq=46 T 4700 9000 5 10 1 1 0 1 1 pinlabel=DA1 } P 5600 8800 5300 8800 1 0 0 { T 5500 8800 5 10 0 1 0 0 1 pintype=out T 5350 8825 5 10 1 1 0 0 1 pinnumber=45 T 5500 8800 5 10 0 1 0 0 1 pinseq=45 T 4700 8800 5 10 1 1 0 1 1 pinlabel=DA0 } P 5600 11600 5300 11600 1 0 0 { T 5500 11600 5 10 0 1 0 0 1 pintype=out T 5350 11625 5 10 1 1 0 0 1 pinnumber=59 T 5500 11600 5 10 0 1 0 0 1 pinseq=59 T 4700 11600 5 10 1 1 0 1 1 pinlabel=DORA } P 5600 8000 5300 8000 1 0 0 { T 5500 8000 5 10 0 1 0 0 1 pintype=out T 5350 8025 5 10 1 1 0 0 1 pinnumber=44 T 5500 8000 5 10 0 1 0 0 1 pinseq=44 T 4700 8000 5 10 1 1 0 1 1 pinlabel=DAV } L 4300 11400 4300 8600 3 100 0 0 -1 -1 L 4600 11400 4400 11400 3 0 0 0 -1 -1 L 4300 11300 4400 11400 3 0 0 0 -1 -1 L 3700 10100 3900 10300 3 0 0 0 -1 -1 L 4600 11200 4400 11200 3 0 0 0 -1 -1 L 4300 11100 4400 11200 3 0 0 0 -1 -1 L 4600 11000 4400 11000 3 0 0 0 -1 -1 L 4300 10900 4400 11000 3 0 0 0 -1 -1 L 4600 10800 4400 10800 3 0 0 0 -1 -1 L 4300 10700 4400 10800 3 0 0 0 -1 -1 L 4600 10600 4400 10600 3 0 0 0 -1 -1 L 4300 10500 4400 10600 3 0 0 0 -1 -1 L 4600 10400 4400 10400 3 0 0 0 -1 -1 L 4300 10300 4400 10400 3 0 0 0 -1 -1 L 4600 10200 4400 10200 3 0 0 0 -1 -1 L 4300 10100 4400 10200 3 0 0 0 -1 -1 L 4600 10000 4400 10000 3 0 0 0 -1 -1 L 4300 9900 4400 10000 3 0 0 0 -1 -1 L 4600 9800 4400 9800 3 0 0 0 -1 -1 L 4300 9700 4400 9800 3 0 0 0 -1 -1 L 4600 9600 4400 9600 3 0 0 0 -1 -1 L 4300 9500 4400 9600 3 0 0 0 -1 -1 L 4600 9400 4400 9400 3 0 0 0 -1 -1 L 4300 9300 4400 9400 3 0 0 0 -1 -1 L 4600 9200 4400 9200 3 0 0 0 -1 -1 L 4300 9100 4400 9200 3 0 0 0 -1 -1 L 4600 9000 4400 9000 3 0 0 0 -1 -1 L 4300 8900 4400 9000 3 0 0 0 -1 -1 L 4600 8800 4400 8800 3 0 0 0 -1 -1 L 4300 8700 4400 8800 3 0 0 0 -1 -1 L 3100 10200 4300 10200 3 100 0 0 -1 -1 T 3600 10300 9 10 1 0 0 0 1 14 L 4300 7000 4300 4200 3 100 0 0 -1 -1 L 4600 7000 4400 7000 3 0 0 0 -1 -1 L 4300 6900 4400 7000 3 0 0 0 -1 -1 L 3700 5700 3900 5900 3 0 0 0 -1 -1 L 4600 6800 4400 6800 3 0 0 0 -1 -1 L 4300 6700 4400 6800 3 0 0 0 -1 -1 L 4600 6600 4400 6600 3 0 0 0 -1 -1 L 4300 6500 4400 6600 3 0 0 0 -1 -1 L 4600 6400 4400 6400 3 0 0 0 -1 -1 L 4300 6300 4400 6400 3 0 0 0 -1 -1 L 4600 6200 4400 6200 3 0 0 0 -1 -1 L 4300 6100 4400 6200 3 0 0 0 -1 -1 L 4600 6000 4400 6000 3 0 0 0 -1 -1 L 4300 5900 4400 6000 3 0 0 0 -1 -1 L 4600 5800 4400 5800 3 0 0 0 -1 -1 L 4300 5700 4400 5800 3 0 0 0 -1 -1 L 4600 5600 4400 5600 3 0 0 0 -1 -1 L 4300 5500 4400 5600 3 0 0 0 -1 -1 L 4600 5400 4400 5400 3 0 0 0 -1 -1 L 4300 5300 4400 5400 3 0 0 0 -1 -1 L 4600 5200 4400 5200 3 0 0 0 -1 -1 L 4300 5100 4400 5200 3 0 0 0 -1 -1 L 4600 5000 4400 5000 3 0 0 0 -1 -1 L 4300 4900 4400 5000 3 0 0 0 -1 -1 L 4600 4800 4400 4800 3 0 0 0 -1 -1 L 4300 4700 4400 4800 3 0 0 0 -1 -1 L 4600 4600 4400 4600 3 0 0 0 -1 -1 L 4300 4500 4400 4600 3 0 0 0 -1 -1 L 4600 4400 4400 4400 3 0 0 0 -1 -1 L 4300 4300 4400 4400 3 0 0 0 -1 -1 L 3100 5800 4300 5800 3 100 0 0 -1 -1 T 3600 5900 9 10 1 0 0 0 1 14 L 1100 10200 1700 10800 3 0 0 0 -1 -1 L 1100 10200 1700 9600 3 0 0 0 -1 -1 L 3100 10800 1700 10800 3 0 0 0 -1 -1 L 3100 9600 1700 9600 3 0 0 0 -1 -1 L 3100 9600 3100 10800 3 0 0 0 -1 -1 L 1500 9800 700 9800 3 0 0 0 -1 -1 L 700 9800 700 9100 3 0 0 0 -1 -1 L 1500 10600 700 10600 3 0 0 0 -1 -1 L 700 10600 700 11300 3 0 0 0 -1 -1 L 700 11300 400 11300 3 0 0 0 -1 -1 P 100 9100 400 9100 1 0 0 { T 325 9150 5 10 1 1 0 6 1 pinnumber=3 T 100 9100 5 10 0 1 0 0 1 pinseq=3 T 300 9150 5 10 0 1 0 0 1 pintype=in T 500 9050 5 10 1 1 0 2 1 pinlabel=INAN } L 700 9100 400 9100 3 0 0 0 -1 -1 P 100 6900 400 6900 1 0 0 { T 325 6950 5 10 1 1 0 6 1 pinnumber=16 T 100 6900 5 10 0 1 0 0 1 pinseq=16 T 300 6950 5 10 0 1 0 0 1 pintype=in T 500 6950 5 10 1 1 0 0 1 pinlabel=INBP } L 1100 5800 1700 6400 3 0 0 0 -1 -1 L 1100 5800 1700 5200 3 0 0 0 -1 -1 L 3100 6400 1700 6400 3 0 0 0 -1 -1 L 3100 5200 1700 5200 3 0 0 0 -1 -1 L 3100 5200 3100 6400 3 0 0 0 -1 -1 L 1500 5400 700 5400 3 0 0 0 -1 -1 L 700 5400 700 4700 3 0 0 0 -1 -1 L 1500 6200 700 6200 3 0 0 0 -1 -1 L 700 6200 700 6900 3 0 0 0 -1 -1 L 700 6900 400 6900 3 0 0 0 -1 -1 P 100 4700 400 4700 1 0 0 { T 325 4750 5 10 1 1 0 6 1 pinnumber=15 T 100 4700 5 10 0 1 0 0 1 pinseq=15 T 300 4750 5 10 0 1 0 0 1 pintype=in T 500 4650 5 10 1 1 0 2 1 pinlabel=INBN } L 700 4700 400 4700 3 0 0 0 -1 -1 P 100 4200 400 4200 1 0 0 { T 325 4250 5 10 1 1 0 6 1 pinnumber=11 T 100 4200 5 10 0 1 0 0 1 pinseq=11 T 300 4250 5 10 0 1 0 0 1 pintype=in T 500 4200 5 10 1 1 0 1 1 pinlabel=REFPB } P 100 3100 400 3100 1 0 0 { T 325 3150 5 10 1 1 0 6 1 pinnumber=10 T 100 3100 5 10 0 1 0 0 1 pinseq=10 T 300 3150 5 10 0 1 0 0 1 pintype=in T 500 3100 5 10 1 1 0 1 1 pinlabel=REFNB } P 100 10200 400 10200 1 0 0 { T 325 10250 5 10 1 1 0 6 1 pinnumber=6 T 100 10200 5 10 0 1 0 0 1 pinseq=6 T 300 10250 5 10 0 1 0 0 1 pintype=in T 500 10200 5 10 1 1 0 1 1 pinlabel=COMA } P 100 5800 400 5800 1 0 0 { T 325 5850 5 10 1 1 0 6 1 pinnumber=12 T 100 5800 5 10 0 1 0 0 1 pinseq=12 T 300 5850 5 10 0 1 0 0 1 pintype=in T 500 5800 5 10 1 1 0 1 1 pinlabel=COMB } P 100 8600 400 8600 1 0 0 { T 325 8650 5 10 1 1 0 6 1 pinnumber=7 T 100 8600 5 10 0 1 0 0 1 pinseq=7 T 300 8650 5 10 0 1 0 0 1 pintype=in T 500 8600 5 10 1 1 0 1 1 pinlabel=REFPA } P 100 7500 400 7500 1 0 0 { T 325 7550 5 10 1 1 0 6 1 pinnumber=8 T 100 7500 5 10 0 1 0 0 1 pinseq=8 T 300 7550 5 10 0 1 0 0 1 pintype=in T 500 7500 5 10 1 1 0 1 1 pinlabel=REFNA } P 100 2300 400 2300 1 0 0 { T 325 2350 5 10 1 1 0 6 1 pinnumber=67 T 100 2300 5 10 0 1 0 0 1 pinseq=67 T 300 2350 5 10 0 1 0 0 1 pintype=in T 500 2300 5 10 1 1 0 1 1 pinlabel=REFOUT } P 100 1900 400 1900 1 0 0 { T 325 1950 5 10 1 1 0 6 1 pinnumber=68 T 100 1900 5 10 0 1 0 0 1 pinseq=68 T 300 1950 5 10 0 1 0 0 1 pintype=in T 500 1900 5 10 1 1 0 1 1 pinlabel=REFIN } P 100 1200 400 1200 1 0 0 { T 325 1250 5 10 1 1 0 6 1 pinnumber=20 T 100 1200 5 10 0 1 0 0 1 pinseq=20 T 300 1250 5 10 0 1 0 0 1 pintype=in T 500 1200 5 10 1 1 0 1 1 pinlabel=CLKP } P 100 800 400 800 1 0 0 { T 325 850 5 10 1 1 0 6 1 pinnumber=19 T 100 800 5 10 0 1 0 0 1 pinseq=19 T 300 850 5 10 0 1 0 0 1 pintype=in T 500 800 5 10 1 1 0 1 1 pinlabel=CLKN } P 5600 2800 5300 2800 1 0 0 { T 5500 2800 5 10 0 1 0 0 1 pintype=in T 5350 2825 5 10 1 1 0 0 1 pinnumber=18 T 5500 2800 5 10 0 1 0 0 1 pinseq=18 T 4500 2800 5 10 1 1 0 1 1 pinlabel=DIFFCLK } P 5600 2600 5300 2600 1 0 0 { T 5500 2600 5 10 0 1 0 0 1 pintype=in T 5350 2625 5 10 1 1 0 0 1 pinnumber=64 T 5500 2600 5 10 0 1 0 0 1 pinseq=64 T 4500 2600 5 10 1 1 0 1 1 pinlabel=G/TB } P 5600 2400 5300 2400 1 0 0 { T 5500 2400 5 10 0 1 0 0 1 pintype=in T 5350 2425 5 10 1 1 0 0 1 pinnumber=21 T 5500 2400 5 10 0 1 0 0 1 pinseq=21 T 4500 2400 5 10 1 1 0 1 1 pinlabel=DIV2 } P 5600 2200 5300 2200 1 0 0 { T 5500 2200 5 10 0 1 0 0 1 pintype=in T 5350 2225 5 10 1 1 0 0 1 pinnumber=22 T 5500 2200 5 10 0 1 0 0 1 pinseq=22 T 4500 2200 5 10 1 1 0 1 1 pinlabel=DIV4 } P 5600 2000 5300 2000 1 0 0 { T 5500 2000 5 10 0 1 0 0 1 pintype=in T 5350 2025 5 10 1 1 0 0 1 pinnumber=66 T 5500 2000 5 10 0 1 0 0 1 pinseq=66 T 4500 2000 5 10 1 1 0 1 1 pinlabel=SHREF } P 5600 1800 5300 1800 1 0 0 { T 5500 1800 5 10 0 1 0 0 1 pintype=in T 5350 1825 5 10 1 1 0 0 1 pinnumber=65 T 5500 1800 5 10 0 1 0 0 1 pinseq=65 T 4500 1800 5 10 1 1 0 1 1 pinlabel=PD } P 1300 12500 1300 12200 1 0 0 { T 1275 12300 5 10 1 1 90 0 1 pinnumber=23 T 1300 12500 5 10 0 1 0 0 1 pinseq=23 T 1300 12500 5 10 0 1 0 0 1 pintype=pwr T 1300 12100 5 10 1 1 90 7 1 pinlabel=VDD } P 1500 12500 1500 12200 1 0 0 { T 1475 12300 5 10 1 1 90 0 1 pinnumber=24 T 1500 12500 5 10 0 1 0 0 1 pinseq=24 T 1500 12500 5 10 0 1 0 0 1 pintype=pwr T 1500 12100 5 10 1 1 90 7 1 pinlabel=VDD } P 1700 12500 1700 12200 1 0 0 { T 1675 12300 5 10 1 1 90 0 1 pinnumber=25 T 1700 12500 5 10 0 1 0 0 1 pinseq=25 T 1700 12500 5 10 0 1 0 0 1 pintype=pwr T 1700 12100 5 10 1 1 90 7 1 pinlabel=VDD } P 1900 12500 1900 12200 1 0 0 { T 1875 12300 5 10 1 1 90 0 1 pinnumber=26 T 1900 12500 5 10 0 1 0 0 1 pinseq=26 T 1900 12500 5 10 0 1 0 0 1 pintype=pwr T 1900 12100 5 10 1 1 90 7 1 pinlabel=VDD } P 2100 12500 2100 12200 1 0 0 { T 2075 12300 5 10 1 1 90 0 1 pinnumber=61 T 2100 12500 5 10 0 1 0 0 1 pinseq=61 T 2100 12500 5 10 0 1 0 0 1 pintype=pwr T 2100 12100 5 10 1 1 90 7 1 pinlabel=VDD } P 2300 12500 2300 12200 1 0 0 { T 2275 12300 5 10 1 1 90 0 1 pinnumber=62 T 2300 12500 5 10 0 1 0 0 1 pinseq=62 T 2300 12500 5 10 0 1 0 0 1 pintype=pwr T 2300 12100 5 10 1 1 90 7 1 pinlabel=VDD } P 2500 12500 2500 12200 1 0 0 { T 2475 12300 5 10 1 1 90 0 1 pinnumber=63 T 2500 12500 5 10 0 1 0 0 1 pinseq=63 T 2500 12500 5 10 0 1 0 0 1 pintype=pwr T 2500 12100 5 10 1 1 90 7 1 pinlabel=VDD } P 3500 12500 3500 12200 1 0 0 { T 3475 12300 5 10 1 1 90 0 1 pinnumber=27 T 3500 12500 5 10 0 1 0 0 1 pinseq=27 T 3500 12500 5 10 0 1 0 0 1 pintype=pwr T 3500 12100 5 10 1 1 90 7 1 pinlabel=OVDD } P 3700 12500 3700 12200 1 0 0 { T 3675 12300 5 10 1 1 90 0 1 pinnumber=43 T 3700 12500 5 10 0 1 0 0 1 pinseq=43 T 3700 12500 5 10 0 1 0 0 1 pintype=pwr T 3700 12100 5 10 1 1 90 7 1 pinlabel=OVDD } P 3900 12500 3900 12200 1 0 0 { T 3875 12300 5 10 1 1 90 0 1 pinnumber=60 T 3900 12500 5 10 0 1 0 0 1 pinseq=60 T 3900 12500 5 10 0 1 0 0 1 pintype=pwr T 3900 12100 5 10 1 1 90 7 1 pinlabel=OVDD } P 2100 100 2100 400 1 0 0 { T 2075 300 5 10 1 1 90 6 1 pinnumber=1 T 2100 100 5 10 0 1 180 0 1 pinseq=1 T 2100 100 5 10 0 1 180 0 1 pintype=pwr T 2100 500 5 10 1 1 90 1 1 pinlabel=GND } P 2300 100 2300 400 1 0 0 { T 2275 300 5 10 1 1 90 6 1 pinnumber=4 T 2300 100 5 10 0 1 180 0 1 pinseq=4 T 2300 100 5 10 0 1 180 0 1 pintype=pwr T 2300 500 5 10 1 1 90 1 1 pinlabel=GND } P 2500 100 2500 400 1 0 0 { T 2475 300 5 10 1 1 90 6 1 pinnumber=5 T 2500 100 5 10 0 1 180 0 1 pinseq=5 T 2500 100 5 10 0 1 180 0 1 pintype=pwr T 2500 500 5 10 1 1 90 1 1 pinlabel=GND } P 2700 100 2700 400 1 0 0 { T 2675 300 5 10 1 1 90 6 1 pinnumber=9 T 2700 100 5 10 0 1 180 0 1 pinseq=9 T 2700 100 5 10 0 1 180 0 1 pintype=pwr T 2700 500 5 10 1 1 90 1 1 pinlabel=GND } P 2900 100 2900 400 1 0 0 { T 2875 300 5 10 1 1 90 6 1 pinnumber=13 T 2900 100 5 10 0 1 180 0 1 pinseq=13 T 2900 100 5 10 0 1 180 0 1 pintype=pwr T 2900 500 5 10 1 1 90 1 1 pinlabel=GND } P 3100 100 3100 400 1 0 0 { T 3075 300 5 10 1 1 90 6 1 pinnumber=14 T 3100 100 5 10 0 1 180 0 1 pinseq=14 T 3100 100 5 10 0 1 180 0 1 pintype=pwr T 3100 500 5 10 1 1 90 1 1 pinlabel=GND } P 3300 100 3300 400 1 0 0 { T 3275 300 5 10 1 1 90 6 1 pinnumber=17 T 3300 100 5 10 0 1 180 0 1 pinseq=17 T 3300 100 5 10 0 1 180 0 1 pintype=pwr T 3300 500 5 10 1 1 90 1 1 pinlabel=GND } L 400 7300 3800 7300 3 0 0 2 25 25 L 3800 7300 3800 7800 3 0 0 2 25 25 L 3800 7800 5300 7800 3 0 0 2 25 25 L 3800 2900 3800 3400 3 0 0 2 25 25 L 3800 3400 5300 3400 3 0 0 2 25 25 L 400 2900 3800 2900 3 0 0 2 25 25 P 3800 100 3800 400 1 0 0 { T 3775 300 5 10 1 1 90 6 1 pinnumber=69 T 3800 100 5 10 0 1 180 0 1 pinseq=69 T 3800 100 5 10 0 1 180 0 1 pintype=pwr T 3800 500 5 10 1 1 90 1 1 pinlabel=EP_GND } T 1500 11500 8 10 1 1 0 0 1 refdes=U? T 1500 11200 8 10 1 1 0 0 1 device=MAX12557 T 1700 10200 9 10 1 0 0 0 1 ADC - CH. A B 400 400 4900 11800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1700 5800 9 10 1 0 0 0 1 ADC - CH. B T 1500 10900 8 10 1 1 0 0 1 footprint=TQFN68_10_EP B 400 400 4900 11800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 6400 5600 5 10 0 0 0 0 1 numslots=0 T 6400 5400 5 10 0 0 0 0 1 symversion=1.0 T 6400 5200 5 10 0 0 0 0 1 description=Dual, 65Msps, 14-Bit, IF/Baseband ADC T 6400 5000 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX12557.pdf T 6400 5900 5 10 0 0 0 0 1 device=MAX12557 geda-gaf-1.8.2/symbols/maxim/max1637-1.sym0000664000175000017500000000530412204104272014675 00000000000000v 20070626 1 P 300 3400 0 3400 1 0 1 { T 200 3450 5 8 1 1 0 6 1 pinnumber=1 T 200 3350 5 8 0 1 0 8 1 pinseq=1 T 350 3400 9 8 1 1 0 0 1 pinlabel=CSH T 350 3400 5 8 0 1 0 2 1 pintype=in } P 300 3000 0 3000 1 0 1 { T 200 3050 5 8 1 1 0 6 1 pinnumber=2 T 200 2950 5 8 0 1 0 8 1 pinseq=2 T 350 3000 9 8 1 1 0 0 1 pinlabel=CSL T 350 3000 5 8 0 1 0 2 1 pintype=in } P 300 2600 0 2600 1 0 1 { T 200 2650 5 8 1 1 0 6 1 pinnumber=3 T 200 2550 5 8 0 1 0 8 1 pinseq=3 T 350 2600 9 8 1 1 0 0 1 pinlabel=FB T 350 2600 5 8 0 1 0 2 1 pintype=in } P 300 2200 0 2200 1 0 1 { T 200 2250 5 8 1 1 0 6 1 pinnumber=4 T 200 2150 5 8 0 1 0 8 1 pinseq=4 T 350 2200 9 8 1 1 0 0 1 pinlabel=CC T 350 2200 5 8 0 1 0 2 1 pintype=pas } P 300 1400 0 1400 1 0 1 { T 200 1450 5 8 1 1 0 6 1 pinnumber=7 T 200 1350 5 8 0 1 0 8 1 pinseq=7 T 350 1400 9 8 1 1 0 0 1 pinlabel=SYNC T 350 1400 5 8 0 1 0 2 1 pintype=in } P 300 1000 0 1000 1 0 1 { T 200 1050 5 8 1 1 0 6 1 pinnumber=13 T 200 950 5 8 0 1 0 8 1 pinseq=13 T 350 1000 9 8 1 1 0 0 1 pinlabel=BST T 350 1000 5 8 0 1 0 2 1 pintype=pas } P 300 600 0 600 1 0 1 { T 200 650 5 8 1 1 0 6 1 pinnumber=15 T 200 550 5 8 0 1 0 8 1 pinseq=15 T 350 600 9 8 1 1 0 0 1 pinlabel=LX T 350 600 5 8 0 1 0 2 1 pintype=pas } P 2600 2200 2300 2200 1 0 0 { T 2400 2250 5 8 1 1 0 0 1 pinnumber=5 T 2400 2150 5 8 0 1 0 2 1 pinseq=5 T 2250 2200 9 8 1 1 0 6 1 pinlabel=REF T 2250 2200 5 8 0 1 0 8 1 pintype=out } P 2600 1400 2300 1400 1 0 0 { T 2400 1450 5 8 1 1 0 0 1 pinnumber=14 T 2400 1350 5 8 0 1 0 2 1 pinseq=14 T 2250 1400 9 8 1 1 0 6 1 pinlabel=DH T 2250 1400 5 8 0 1 0 8 1 pintype=out } P 200 200 0 200 1 0 1 { T 200 250 5 8 1 1 0 6 1 pinnumber=16 T 200 150 5 8 0 1 0 8 1 pinseq=16 T 350 200 9 8 1 1 0 0 1 pinlabel=\_SKIP\_ T 350 200 5 8 0 1 0 2 1 pintype=in } B 300 0 2000 3650 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 3900 5 10 0 0 0 0 1 device=MAX1637 P 2600 1800 2300 1800 1 0 0 { T 2400 1850 5 8 1 1 0 0 1 pinnumber=11 T 2400 1750 5 8 0 1 0 2 1 pinseq=11 T 2250 1800 9 8 1 1 0 6 1 pinlabel=DL T 2250 1800 5 8 0 1 0 8 1 pintype=out } P 0 1800 200 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=6 T 200 1750 5 8 0 1 0 8 1 pinseq=6 T 350 1800 9 8 1 1 0 0 1 pinlabel=\_SHDN\_ T 350 1800 5 8 0 1 0 2 1 pintype=in } V 250 1800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2300 3700 8 10 1 1 0 6 1 refdes=U? T 300 4300 5 10 0 0 0 0 1 footprint=QSOP16 T 300 5300 5 10 0 0 0 0 1 description=low voltage step-down controller T 300 4100 5 10 0 0 0 0 1 numslots=0 T 300 4500 5 10 0 0 0 0 1 net=Vcc:9 T 300 4700 5 10 0 0 0 0 1 net=GND:8 T 300 5100 5 10 0 0 0 0 1 net=Vgg:10 T 300 4900 5 10 0 0 0 0 1 net=PGND:12 T 300 5500 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX1637.pdf T 300 3700 9 10 1 0 0 0 1 MAX1637 V 250 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/maxim/max100-1.sym0000664000175000017500000001737612204104272014611 00000000000000v 20070626 1 P 300 6300 0 6300 1 0 1 { T 200 6350 5 8 1 1 0 6 1 pinnumber=2 T 200 6250 5 8 0 1 0 8 1 pinseq=2 T 350 6300 9 8 1 1 0 0 1 pinlabel=CLK T 350 6300 5 8 0 1 0 2 1 pintype=in } P 300 4700 0 4700 1 0 1 { T 200 4750 5 8 1 1 0 6 1 pinnumber=11 T 200 4650 5 8 0 1 0 8 1 pinseq=11 T 350 4700 9 8 1 1 0 0 1 pinlabel=DIV T 350 4700 5 8 0 1 0 2 1 pintype=in } P 300 4300 0 4300 1 0 1 { T 200 4350 5 8 1 1 0 6 1 pinnumber=12 T 200 4250 5 8 0 1 0 8 1 pinseq=12 T 350 4300 9 8 1 1 0 0 1 pinlabel=MOD T 350 4300 5 8 0 1 0 2 1 pintype=in } P 300 3900 0 3900 1 0 1 { T 200 3950 5 8 1 1 0 6 1 pinnumber=16 T 200 3850 5 8 0 1 0 8 1 pinseq=16 T 350 3900 9 8 1 1 0 0 1 pinlabel=A=B T 350 3900 5 8 0 1 0 2 1 pintype=in } P 300 1100 0 1100 1 0 1 { T 200 1150 5 8 1 1 0 6 1 pinnumber=55 T 200 1050 5 8 0 1 0 8 1 pinseq=55 T 350 1100 9 8 1 1 0 0 1 pinlabel=VARB T 350 1100 5 8 0 1 0 2 1 pintype=pas } P 300 1500 0 1500 1 0 1 { T 200 1550 5 8 1 1 0 6 1 pinnumber=54 T 200 1450 5 8 0 1 0 8 1 pinseq=54 T 350 1500 9 8 1 1 0 0 1 pinlabel=VARBS T 350 1500 5 8 0 1 0 2 1 pintype=pas } P 2600 7500 2300 7500 1 0 0 { T 2400 7550 5 8 1 1 0 0 1 pinnumber=14 T 2400 7450 5 8 0 1 0 2 1 pinseq=14 T 2250 7500 9 8 1 1 0 6 1 pinlabel=DCLK T 2250 7500 5 8 0 1 0 8 1 pintype=out } P 2400 7100 2600 7100 1 0 1 { T 2400 7150 5 8 1 1 0 0 1 pinnumber=13 T 2400 7050 5 8 0 1 0 2 1 pinseq=13 T 2250 7100 9 8 1 1 0 6 1 pinlabel=\_DCLK\_ T 2250 7100 5 8 0 1 0 8 1 pintype=out } B 300 300 2000 7500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2600 6700 2300 6700 1 0 0 { T 2400 6750 5 8 1 1 0 0 1 pinnumber=17 T 2400 6650 5 8 0 1 0 2 1 pinseq=17 T 2250 6700 9 8 1 1 0 6 1 pinlabel=A7 T 2250 6700 5 8 0 1 0 8 1 pintype=out } P 2600 6300 2300 6300 1 0 0 { T 2400 6350 5 8 1 1 0 0 1 pinnumber=20 T 2400 6250 5 8 0 1 0 2 1 pinseq=20 T 2250 6300 9 8 1 1 0 6 1 pinlabel=A6 T 2250 6300 5 8 0 1 0 8 1 pintype=out } P 2600 5900 2300 5900 1 0 0 { T 2400 5950 5 8 1 1 0 0 1 pinnumber=23 T 2400 5850 5 8 0 1 0 2 1 pinseq=23 T 2250 5900 9 8 1 1 0 6 1 pinlabel=A5 T 2250 5900 5 8 0 1 0 8 1 pintype=out } P 2600 5500 2300 5500 1 0 0 { T 2400 5550 5 8 1 1 0 0 1 pinnumber=26 T 2400 5450 5 8 0 1 0 2 1 pinseq=26 T 2250 5500 9 8 1 1 0 6 1 pinlabel=A4 T 2250 5500 5 8 0 1 0 8 1 pintype=out } P 2600 5100 2300 5100 1 0 0 { T 2400 5150 5 8 1 1 0 0 1 pinnumber=36 T 2400 5050 5 8 0 1 0 2 1 pinseq=36 T 2250 5100 9 8 1 1 0 6 1 pinlabel=A3 T 2250 5100 5 8 0 1 0 8 1 pintype=out } P 2600 4700 2300 4700 1 0 0 { T 2400 4750 5 8 1 1 0 0 1 pinnumber=39 T 2400 4650 5 8 0 1 0 2 1 pinseq=39 T 2250 4700 9 8 1 1 0 6 1 pinlabel=A2 T 2250 4700 5 8 0 1 0 8 1 pintype=out } P 2600 4300 2300 4300 1 0 0 { T 2400 4350 5 8 1 1 0 0 1 pinnumber=42 T 2400 4250 5 8 0 1 0 2 1 pinseq=42 T 2250 4300 9 8 1 1 0 6 1 pinlabel=A1 T 2250 4300 5 8 0 1 0 8 1 pintype=out } P 2600 3900 2300 3900 1 0 0 { T 2400 3950 5 8 1 1 0 0 1 pinnumber=45 T 2400 3850 5 8 0 1 0 2 1 pinseq=45 T 2250 3900 9 8 1 1 0 6 1 pinlabel=A0 T 2250 3900 5 8 0 1 0 8 1 pintype=out } P 2600 3500 2300 3500 1 0 0 { T 2400 3550 5 8 1 1 0 0 1 pinnumber=19 T 2400 3450 5 8 0 1 0 2 1 pinseq=19 T 2250 3500 9 8 1 1 0 6 1 pinlabel=B7 T 2250 3500 5 8 0 1 0 8 1 pintype=out } P 2600 3100 2300 3100 1 0 0 { T 2400 3150 5 8 1 1 0 0 1 pinnumber=22 T 2400 3050 5 8 0 1 0 2 1 pinseq=22 T 2250 3100 9 8 1 1 0 6 1 pinlabel=B6 T 2250 3100 5 8 0 1 0 8 1 pintype=out } P 2600 2700 2300 2700 1 0 0 { T 2400 2750 5 8 1 1 0 0 1 pinnumber=25 T 2400 2650 5 8 0 1 0 2 1 pinseq=25 T 2250 2700 9 8 1 1 0 6 1 pinlabel=B5 T 2250 2700 5 8 0 1 0 8 1 pintype=out } P 2600 2300 2300 2300 1 0 0 { T 2400 2350 5 8 1 1 0 0 1 pinnumber=28 T 2400 2250 5 8 0 1 0 2 1 pinseq=28 T 2250 2300 9 8 1 1 0 6 1 pinlabel=B3 T 2250 2300 5 8 0 1 0 8 1 pintype=out } P 2600 1900 2300 1900 1 0 0 { T 2400 1950 5 8 1 1 0 0 1 pinnumber=38 T 2400 1850 5 8 0 1 0 2 1 pinseq=38 T 2250 1900 9 8 1 1 0 6 1 pinlabel=B3 T 2250 1900 5 8 0 1 0 8 1 pintype=out } P 2600 1500 2300 1500 1 0 0 { T 2400 1550 5 8 1 1 0 0 1 pinnumber=41 T 2400 1450 5 8 0 1 0 2 1 pinseq=41 T 2250 1500 9 8 1 1 0 6 1 pinlabel=B2 T 2250 1500 5 8 0 1 0 8 1 pintype=out } P 2600 1100 2300 1100 1 0 0 { T 2400 1150 5 8 1 1 0 0 1 pinnumber=44 T 2400 1050 5 8 0 1 0 2 1 pinseq=44 T 2250 1100 9 8 1 1 0 6 1 pinlabel=B1 T 2250 1100 5 8 0 1 0 8 1 pintype=out } P 2600 700 2300 700 1 0 0 { T 2400 750 5 8 1 1 0 0 1 pinnumber=47 T 2400 650 5 8 0 1 0 2 1 pinseq=47 T 2250 700 9 8 1 1 0 6 1 pinlabel=B0 T 2250 700 5 8 0 1 0 8 1 pintype=out } P 0 5700 200 5700 1 0 0 { T 200 5750 5 8 1 1 0 6 1 pinnumber=3 T 200 5650 5 8 0 1 0 8 1 pinseq=3 T 350 5700 9 8 1 1 0 0 1 pinlabel=\_CLK\_ T 350 5700 5 8 0 1 0 2 1 pintype=in } V 250 5700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 8050 5 10 0 0 0 0 1 device=MAX100 T 2300 7900 8 10 1 1 0 6 1 refdes=U? T 300 8450 5 10 0 0 0 0 1 footprint=CFP84 T 300 8650 5 10 0 0 0 0 1 description=250Msps, 8-bit ADC with track/hold T 300 8250 5 10 0 0 0 0 1 numslots=0 T 300 8850 5 10 0 0 0 0 1 net=GND:4,7,15,49,57,60,64,67,70,71,74,77,78,79,82,84 T 300 9250 5 10 0 0 0 0 1 net=VCC:8,21,43,56 T 300 9450 5 10 0 0 0 0 1 net=DGND:18,24,27,30,34,37,40,46 T 300 9050 5 10 0 0 0 0 1 net=VEE:32,69,80 T 300 7850 9 10 1 0 0 0 1 MAX100 V 2350 7100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 5500 200 5500 1 0 0 { T 200 5550 5 8 1 1 0 6 1 pinnumber=61 T 200 5450 5 8 0 1 0 8 1 pinseq=61 T 350 5500 9 8 1 1 0 0 1 pinlabel=\_CLK\_ T 350 5500 5 8 0 1 0 2 1 pintype=in } V 250 5500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 300 6100 0 6100 1 0 1 { T 200 6150 5 8 1 1 0 6 1 pinnumber=62 T 200 6050 5 8 0 1 0 8 1 pinseq=62 T 350 6100 9 8 1 1 0 0 1 pinlabel=CLK T 350 6100 5 8 0 1 0 2 1 pintype=in } P 300 2300 0 2300 1 0 1 { T 200 2350 5 8 1 1 0 6 1 pinnumber=53 T 200 2250 5 8 0 1 0 8 1 pinseq=53 T 350 2300 9 8 1 1 0 0 1 pinlabel=VACT T 350 2300 5 8 0 1 0 2 1 pintype=pas } P 300 1900 0 1900 1 0 1 { T 200 1950 5 8 1 1 0 6 1 pinnumber=52 T 200 1850 5 8 0 1 0 8 1 pinseq=52 T 350 1900 9 8 1 1 0 0 1 pinlabel=VACTS T 350 1900 5 8 0 1 0 2 1 pintype=pas } P 300 3100 0 3100 1 0 1 { T 200 3150 5 8 1 1 0 6 1 pinnumber=50 T 200 3050 5 8 0 1 0 8 1 pinseq=50 T 350 3100 9 8 1 1 0 0 1 pinlabel=VART T 350 3100 5 8 0 1 0 2 1 pintype=pas } P 300 2700 0 2700 1 0 1 { T 200 2750 5 8 1 1 0 6 1 pinnumber=51 T 200 2650 5 8 0 1 0 8 1 pinseq=51 T 350 2700 9 8 1 1 0 0 1 pinlabel=VARTS T 350 2700 5 8 0 1 0 2 1 pintype=pas } P 300 7500 0 7500 1 0 1 { T 200 7550 5 8 1 1 0 6 1 pinnumber=72 T 200 7450 5 8 0 1 0 8 1 pinseq=72 T 350 7500 9 8 1 1 0 0 1 pinlabel=AIN+ T 350 7500 5 8 0 1 0 2 1 pintype=in } P 300 7300 0 7300 1 0 1 { T 200 7350 5 8 1 1 0 6 1 pinnumber=73 T 200 7250 5 8 0 1 0 8 1 pinseq=73 T 350 7300 9 8 1 1 0 0 1 pinlabel=AIN+ T 350 7300 5 8 0 1 0 2 1 pintype=in } P 300 6900 0 6900 1 0 1 { T 200 6950 5 8 1 1 0 6 1 pinnumber=75 T 200 6850 5 8 0 1 0 8 1 pinseq=75 T 350 6900 9 8 1 1 0 0 1 pinlabel=AIN- T 350 6900 5 8 0 1 0 2 1 pintype=in } P 300 6700 0 6700 1 0 1 { T 200 6750 5 8 1 1 0 6 1 pinnumber=76 T 200 6650 5 8 0 1 0 8 1 pinseq=76 T 350 6700 9 8 1 1 0 0 1 pinlabel=AIN- T 350 6700 5 8 0 1 0 2 1 pintype=in } P 1100 0 1100 300 1 0 0 { T 1100 500 5 8 0 1 0 3 1 pintype=pas T 1150 100 5 8 1 1 0 0 1 pinnumber=68 T 1100 350 9 8 1 1 0 3 1 pinlabel=TP1 T 1150 100 5 8 0 1 0 2 1 pinseq=68 } P 1500 0 1500 300 1 0 0 { T 1500 500 5 8 0 1 0 3 1 pintype=pas T 1550 100 5 8 1 1 0 0 1 pinnumber=66 T 1500 350 9 8 1 1 0 3 1 pinlabel=TP2 T 1550 100 5 8 0 1 0 2 1 pinseq=66 } P 1900 0 1900 300 1 0 0 { T 1900 500 5 8 0 1 0 3 1 pintype=pas T 1950 100 5 8 1 1 0 0 1 pinnumber=65 T 1900 350 9 8 1 1 0 3 1 pinlabel=TP3 T 1950 100 5 8 0 1 0 2 1 pinseq=65 } P 700 0 700 300 1 0 0 { T 700 500 5 8 0 1 0 3 1 pintype=pas T 750 100 5 8 1 1 0 0 1 pinnumber=29 T 700 350 9 8 1 1 0 3 1 pinlabel=SUB T 750 100 5 8 0 1 0 2 1 pinseq=29 } P 300 700 0 700 1 0 1 { T 200 750 5 8 1 1 0 6 1 pinnumber=1 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 1 1 0 0 1 pinlabel=PAD T 350 700 5 8 0 1 0 2 1 pintype=pas } T 300 9650 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX100.pdf geda-gaf-1.8.2/symbols/maxim/max038-1.sym0000664000175000017500000000541112204104272014606 00000000000000v 20040111 1 B 300 0 2000 4000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4250 5 10 0 0 0 0 1 device=MAX038 P 300 3800 0 3800 1 0 1 { T 200 3850 5 8 1 1 0 6 1 pinnumber=3 T 200 3750 5 8 0 1 0 8 1 pinseq=3 T 350 3800 9 8 1 1 0 0 1 pinlabel=A0 T 350 3800 5 8 0 1 0 2 1 pintype=in } P 300 3400 0 3400 1 0 1 { T 200 3450 5 8 1 1 0 6 1 pinnumber=4 T 200 3350 5 8 0 1 0 8 1 pinseq=4 T 350 3400 9 8 1 1 0 0 1 pinlabel=A1 T 350 3400 5 8 0 1 0 2 1 pintype=in } P 300 3000 0 3000 1 0 1 { T 200 3050 5 8 1 1 0 6 1 pinnumber=5 T 200 2950 5 8 0 1 0 8 1 pinseq=5 T 350 3000 9 8 1 1 0 0 1 pinlabel=COSC T 350 3000 5 8 0 1 0 2 1 pintype=pas } P 300 2600 0 2600 1 0 1 { T 200 2650 5 8 1 1 0 6 1 pinnumber=7 T 200 2550 5 8 0 1 0 8 1 pinseq=7 T 350 2600 9 8 1 1 0 0 1 pinlabel=DADJ T 350 2600 5 8 0 1 0 2 1 pintype=in } P 300 2200 0 2200 1 0 1 { T 200 2250 5 8 1 1 0 6 1 pinnumber=8 T 200 2150 5 8 0 1 0 8 1 pinseq=8 T 350 2200 9 8 1 1 0 0 1 pinlabel=FADJ T 350 2200 5 8 0 1 0 2 1 pintype=in } P 300 1800 0 1800 1 0 1 { T 200 1850 5 8 1 1 0 6 1 pinnumber=10 T 200 1750 5 8 0 1 0 8 1 pinseq=10 T 350 1800 9 8 1 1 0 0 1 pinlabel=IIN T 350 1800 5 8 0 1 0 2 1 pintype=pas } P 300 1400 0 1400 1 0 1 { T 200 1450 5 8 1 1 0 6 1 pinnumber=13 T 200 1350 5 8 0 1 0 8 1 pinseq=13 T 350 1400 9 8 1 1 0 0 1 pinlabel=PDI T 350 1400 5 8 0 1 0 2 1 pintype=in } P 300 1000 0 1000 1 0 1 { T 200 1050 5 8 1 1 0 6 1 pinnumber=17 T 200 950 5 8 0 1 0 8 1 pinseq=17 T 350 1000 9 8 1 1 0 0 1 pinlabel=V+ T 350 1000 5 8 0 1 0 2 1 pintype=pwr } P 2600 3800 2300 3800 1 0 0 { T 2400 3850 5 8 1 1 0 0 1 pinnumber=1 T 2400 3750 5 8 0 1 0 2 1 pinseq=1 T 2250 3800 9 8 1 1 0 6 1 pinlabel=REF T 2250 3800 5 8 0 1 0 8 1 pintype=out } P 2600 3400 2300 3400 1 0 0 { T 2400 3450 5 8 1 1 0 0 1 pinnumber=12 T 2400 3350 5 8 0 1 0 2 1 pinseq=12 T 2250 3400 9 8 1 1 0 6 1 pinlabel=PDO T 2250 3400 5 8 0 1 0 8 1 pintype=out } P 2600 3000 2300 3000 1 0 0 { T 2400 3050 5 8 1 1 0 0 1 pinnumber=14 T 2400 2950 5 8 0 1 0 2 1 pinseq=14 T 2250 3000 9 8 1 1 0 6 1 pinlabel=SYNC T 2250 3000 5 8 0 1 0 8 1 pintype=out } P 2600 2600 2300 2600 1 0 0 { T 2400 2650 5 8 1 1 0 0 1 pinnumber=19 T 2400 2550 5 8 0 1 0 2 1 pinseq=19 T 2250 2600 9 8 1 1 0 6 1 pinlabel=OUT T 2250 2600 5 8 0 1 0 8 1 pintype=out } P 300 600 0 600 1 0 1 { T 200 650 5 8 1 1 0 6 1 pinnumber=20 T 200 550 5 8 0 1 0 8 1 pinseq=20 T 350 600 9 8 1 1 0 0 1 pinlabel=V- T 350 600 5 8 0 1 0 2 1 pintype=pwr } T 2300 4100 8 10 1 1 0 6 1 refdes=U? T 300 4450 5 10 0 0 0 0 1 footprint=DIP20 T 300 4050 9 10 1 0 0 0 1 MAX038 T 300 5250 5 10 0 0 0 0 1 description=high frequency waveform generator T 300 5450 5 10 0 0 0 0 1 numslots=0 T 300 4650 5 10 0 0 0 0 1 net=DV+:16 T 300 4850 5 10 0 0 0 0 1 net=DGND:15 T 300 5050 5 10 0 0 0 0 1 net=GND:2,6,9,11,18 T 300 5650 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX038.pdf geda-gaf-1.8.2/symbols/maxim/max874-1.sym0000664000175000017500000000247212204104272014622 00000000000000v 20041228 1 P 1800 1000 2100 1000 1 0 1 { T 1900 1050 5 8 1 1 0 0 1 pinnumber=3 T 1900 950 5 8 0 1 0 2 1 pinseq=3 T 1750 1000 9 8 1 1 0 6 1 pinlabel=TEMP T 1750 1000 5 8 0 1 0 8 1 pintype=out } P 1800 600 2100 600 1 0 1 { T 1900 650 5 8 1 1 0 0 1 pinnumber=6 T 1900 550 5 8 0 1 0 2 1 pinseq=6 T 1750 600 9 8 1 1 0 6 1 pinlabel=VOUT T 1750 600 5 8 0 1 0 8 1 pintype=out } P 1800 200 2100 200 1 0 1 { T 1900 250 5 8 1 1 0 0 1 pinnumber=5 T 1900 150 5 8 0 1 0 2 1 pinseq=5 T 1750 200 9 8 1 1 0 6 1 pinlabel=TRIM T 1750 200 5 8 0 1 0 8 1 pintype=in } P 300 1000 0 1000 1 0 1 { T 200 1050 5 8 1 1 0 6 1 pinnumber=2 T 200 950 5 8 0 1 0 8 1 pinseq=2 T 350 1000 9 8 1 1 0 0 1 pinlabel=VIN T 350 1000 5 8 0 1 0 2 1 pintype=in } P 300 600 0 600 1 0 1 { T 200 650 5 8 1 1 0 6 1 pinnumber=8 T 200 550 5 8 0 1 0 8 1 pinseq=8 T 350 600 9 8 1 1 0 0 1 pinlabel=COMP T 350 600 5 8 0 1 0 2 1 pintype=in } B 300 0 1500 1200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 2250 5 10 0 0 0 0 1 device=MAX874 T 1800 1300 8 10 1 1 0 6 1 refdes=U? T 300 1650 5 10 0 0 0 0 1 footprint=DIP8 T 300 1850 5 10 0 0 0 0 1 description=10uA, low-dropout, precision voltage reference T 300 1450 5 10 0 0 0 0 1 numslots=0 T 300 2050 5 10 0 0 0 0 1 net=GND:4 T 300 2450 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX872-MAX874.pdf T 300 1250 9 10 1 0 0 0 1 MAX874 geda-gaf-1.8.2/symbols/maxim/adm202-1.sym0000664000175000017500000000566212204104272014563 00000000000000v 20040111 1 P 300 2100 0 2100 1 0 1 { T 200 2150 5 8 1 1 0 6 1 pinnumber=2 T 200 2050 5 8 0 1 0 8 1 pinseq=2 T 350 2100 9 8 1 1 0 0 1 pinlabel=V+ T 350 2100 5 8 0 1 0 2 1 pintype=pwr } P 300 1800 0 1800 1 0 1 { T 200 1850 5 8 1 1 0 6 1 pinnumber=3 T 200 1750 5 8 0 1 0 8 1 pinseq=3 T 350 1800 9 8 1 1 0 0 1 pinlabel=C1- T 350 1800 5 8 0 1 0 2 1 pintype=pas } P 300 1500 0 1500 1 0 1 { T 200 1550 5 8 1 1 0 6 1 pinnumber=4 T 200 1450 5 8 0 1 0 8 1 pinseq=4 T 350 1500 9 8 1 1 0 0 1 pinlabel=C2+ T 350 1500 5 8 0 1 0 2 1 pintype=pas } P 300 1200 0 1200 1 0 1 { T 200 1250 5 8 1 1 0 6 1 pinnumber=5 T 200 1150 5 8 0 1 0 8 1 pinseq=5 T 350 1200 9 8 1 1 0 0 1 pinlabel=C2- T 350 1200 5 8 0 1 0 2 1 pintype=pas } P 300 900 0 900 1 0 1 { T 200 950 5 8 1 1 0 6 1 pinnumber=6 T 200 850 5 8 0 1 0 8 1 pinseq=6 T 350 900 9 8 1 1 0 0 1 pinlabel=V- T 350 900 5 8 0 1 0 2 1 pintype=pwr } P 300 600 0 600 1 0 1 { T 200 650 5 8 1 1 0 6 1 pinnumber=7 T 200 550 5 8 0 1 0 8 1 pinseq=7 T 350 600 9 8 1 1 0 0 1 pinlabel=Tx2 Out T 350 600 5 8 0 1 0 2 1 pintype=out } P 300 300 0 300 1 0 1 { T 200 350 5 8 1 1 0 6 1 pinnumber=8 T 200 250 5 8 0 1 0 8 1 pinseq=8 T 350 300 9 8 1 1 0 0 1 pinlabel=Rx2 In T 350 300 5 8 0 1 0 2 1 pintype=in } P 2300 300 2600 300 1 0 1 { T 2400 350 5 8 1 1 0 0 1 pinnumber=9 T 2400 250 5 8 0 1 0 2 1 pinseq=9 T 2250 300 9 8 1 1 0 6 1 pinlabel=Rx2 Out T 2250 300 5 8 0 1 0 8 1 pintype=out } P 2300 600 2600 600 1 0 1 { T 2400 650 5 8 1 1 0 0 1 pinnumber=10 T 2400 550 5 8 0 1 0 2 1 pinseq=10 T 2250 600 9 8 1 1 0 6 1 pinlabel=Tx2 In T 2250 600 5 8 0 1 0 8 1 pintype=in } P 2300 900 2600 900 1 0 1 { T 2400 950 5 8 1 1 0 0 1 pinnumber=11 T 2400 850 5 8 0 1 0 2 1 pinseq=11 T 2250 900 9 8 1 1 0 6 1 pinlabel=Tx1 In T 2250 900 5 8 0 1 0 8 1 pintype=in } P 2300 1200 2600 1200 1 0 1 { T 2400 1250 5 8 1 1 0 0 1 pinnumber=12 T 2400 1150 5 8 0 1 0 2 1 pinseq=12 T 2250 1200 9 8 1 1 0 6 1 pinlabel=Rx1 Out T 2250 1200 5 8 0 1 0 8 1 pintype=out } P 2300 1500 2600 1500 1 0 1 { T 2400 1550 5 8 1 1 0 0 1 pinnumber=13 T 2400 1450 5 8 0 1 0 2 1 pinseq=13 T 2250 1500 9 8 1 1 0 6 1 pinlabel=Rx1 In T 2250 1500 5 8 0 1 0 8 1 pintype=in } T 300 3050 5 10 0 0 0 0 1 device=ADM202 P 2300 1800 2600 1800 1 0 1 { T 2400 1850 5 8 1 1 0 0 1 pinnumber=14 T 2400 1750 5 8 0 1 0 2 1 pinseq=14 T 2250 1800 9 8 1 1 0 6 1 pinlabel=Tx1 Out T 2250 1800 5 8 0 1 0 8 1 pintype=out } P 300 2400 0 2400 1 0 1 { T 200 2450 5 8 1 1 0 6 1 pinnumber=1 T 200 2350 5 8 0 1 0 8 1 pinseq=1 T 350 2400 9 8 1 1 0 0 1 pinlabel=C1+ T 350 2400 5 8 0 1 0 2 1 pintype=pas } B 300 0 2000 2800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2300 2900 8 10 1 1 0 6 1 refdes=U? T 300 3250 5 10 0 0 0 0 1 footprint=DIP16 T 300 3450 5 10 0 0 0 0 1 description=5V-powered dual RS-232 driver/receiver T 300 4050 5 10 0 0 0 0 1 numslots=0 T 300 3650 5 10 0 0 0 0 1 net=Vcc:16 T 300 3850 5 10 0 0 0 0 1 net=GND:15 T 300 2850 9 10 1 0 0 0 1 ADM202 T 300 4250 5 10 0 0 0 0 1 documentation=http://www.analog.com/UploadedFiles/Data_Sheets/440303855ADM202_3_a.pdf geda-gaf-1.8.2/symbols/maxim/max507-1.sym0000664000175000017500000001016512204104272014611 00000000000000v 20070626 1 B 300 0 2000 5000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 375 5250 5 10 0 0 0 0 1 device=MAX507 T 375 5450 5 10 0 0 0 0 1 footprint=DIP24 T 375 5850 5 10 0 0 0 0 1 description=12-bit voltage output, parallel input DAC T 375 6450 5 10 0 0 0 0 1 net=VDD:22 T 375 6650 5 10 0 0 0 0 1 net=VSS:1 T 375 5650 5 10 0 0 0 0 1 numslots=0 T 375 6050 5 10 0 0 0 0 1 net=AGND:4 T 375 6250 5 10 0 0 0 0 1 net=DGND:12 P 2600 4700 2400 4700 1 0 0 { T 2400 4650 5 8 0 1 0 2 1 pinseq=20 T 2400 4750 5 8 1 1 0 0 1 pinnumber=20 T 2250 4700 5 8 0 1 0 8 1 pintype=in T 2250 4700 9 8 1 1 0 6 1 pinlabel=\_LDAC\_ } P 0 4700 300 4700 1 0 0 { T 200 4750 5 8 1 1 0 6 1 pinnumber=17 T 350 4700 9 8 1 1 0 0 1 pinlabel=D0 T 200 4650 5 8 0 1 0 8 1 pinseq=1 T 350 4700 5 8 0 1 0 2 1 pintype=in } P 0 4300 300 4300 1 0 0 { T 200 4350 5 8 1 1 0 6 1 pinnumber=16 T 350 4300 9 8 1 1 0 0 1 pinlabel=D1 T 200 4250 5 8 0 1 0 8 1 pinseq=2 T 350 4300 5 8 0 1 0 2 1 pintype=in } P 0 3900 300 3900 1 0 0 { T 200 3950 5 8 1 1 0 6 1 pinnumber=15 T 350 3900 9 8 1 1 0 0 1 pinlabel=D2 T 200 3850 5 8 0 1 0 8 1 pinseq=3 T 350 3900 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=14 T 350 3500 9 8 1 1 0 0 1 pinlabel=D3 T 200 3450 5 8 0 1 0 8 1 pinseq=4 T 350 3500 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 350 3100 9 8 1 1 0 0 1 pinlabel=D4 T 200 3150 5 8 1 1 0 6 1 pinnumber=13 T 200 3050 5 8 0 1 0 8 1 pinseq=5 T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 350 2700 9 8 1 1 0 0 1 pinlabel=D5 T 200 2750 5 8 1 1 0 6 1 pinnumber=11 T 200 2650 5 8 0 1 0 8 1 pinseq=6 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 350 2300 9 8 1 1 0 0 1 pinlabel=D6 T 200 2250 5 8 0 1 0 8 1 pinseq=7 T 200 2350 5 8 1 1 0 6 1 pinnumber=10 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=9 T 350 1900 9 8 1 1 0 0 1 pinlabel=D7 T 200 1850 5 8 0 1 0 8 1 pinseq=8 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=8 T 350 1500 9 8 1 1 0 0 1 pinlabel=D8 T 200 1450 5 8 0 1 0 8 1 pinseq=9 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 350 1100 9 8 1 1 0 0 1 pinlabel=D9 T 200 1150 5 8 1 1 0 6 1 pinnumber=7 T 200 1050 5 8 0 1 0 8 1 pinseq=10 T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 700 300 700 1 0 0 { T 350 700 9 8 1 1 0 0 1 pinlabel=D10 T 200 750 5 8 1 1 0 6 1 pinnumber=6 T 200 650 5 8 0 1 0 8 1 pinseq=11 T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 300 300 300 1 0 0 { T 350 300 9 8 1 1 0 0 1 pinlabel=D11 T 200 350 5 8 1 1 0 6 1 pinnumber=5 T 200 250 5 8 0 1 0 8 1 pinseq=12 T 350 300 5 8 0 1 0 2 1 pintype=in } T 300 5050 9 10 1 0 0 0 1 MAX507 P 2600 4300 2400 4300 1 0 0 { T 2400 4250 5 8 0 1 0 2 1 pinseq=19 T 2400 4350 5 8 1 1 0 0 1 pinnumber=18 T 2250 4300 5 8 0 1 0 8 1 pintype=in T 2250 4300 9 8 1 1 0 6 1 pinlabel=\_CS\_ } P 2600 3900 2400 3900 1 0 0 { T 2400 3850 5 8 0 1 0 2 1 pinseq=18 T 2400 3950 5 8 1 1 0 0 1 pinnumber=19 T 2250 3900 5 8 0 1 0 8 1 pintype=in T 2250 3900 9 8 1 1 0 6 1 pinlabel=\_WR\_ } P 2600 3500 2400 3500 1 0 0 { T 2400 3450 5 8 0 1 0 2 1 pinseq=17 T 2400 3550 5 8 1 1 0 0 1 pinnumber=21 T 2250 3500 5 8 0 1 0 8 1 pintype=in T 2250 3500 9 8 1 1 0 6 1 pinlabel=\_CLR\_ } P 2600 2700 2300 2700 1 0 0 { T 2400 2650 5 8 0 1 0 2 1 pinseq=16 T 2400 2750 5 8 1 1 0 0 1 pinnumber=24 T 2250 2700 5 8 0 1 0 8 1 pintype=out T 2250 2700 9 8 1 1 0 6 1 pinlabel=VOUT } P 2600 2300 2300 2300 1 0 0 { T 2400 2250 5 8 0 1 0 2 1 pinseq=15 T 2400 2350 5 8 1 1 0 0 1 pinnumber=3 T 2250 2300 5 8 0 1 0 8 1 pintype=pas T 2250 2300 9 8 1 1 0 6 1 pinlabel=REFOUT } V 2350 3500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 2350 3900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 2350 4300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2300 5100 5 10 1 1 0 6 1 refdes=U? P 2600 1900 2300 1900 1 0 0 { T 2250 1900 9 8 1 1 0 6 1 pinlabel=RFB T 2400 1950 5 8 1 1 0 0 1 pinnumber=23 T 2250 1900 5 8 0 1 0 8 1 pintype=pas T 2400 1850 5 8 0 1 0 2 1 pinseq=14 } P 2600 1500 2300 1500 1 0 0 { T 2250 1500 9 8 1 1 0 6 1 pinlabel=ROFS T 2400 1550 5 8 1 1 0 0 1 pinnumber=2 T 2250 1500 5 8 0 1 0 8 1 pintype=pas T 2400 1450 5 8 0 1 0 2 1 pinseq=13 } V 2350 4700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/maxim/max807-1.sym0000664000175000017500000000636112204104272014617 00000000000000v 20070626 1 B 300 300 1800 3000 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 T 300 3750 5 10 0 0 0 0 1 device=MAX807 T 2100 3400 8 10 1 1 0 6 1 refdes=U? P 300 600 0 600 1 0 1 { T 200 650 5 8 1 1 0 6 1 pinnumber=1 T 200 550 5 8 0 1 0 8 1 pinseq=1 T 350 600 9 8 1 1 0 0 1 pinlabel=PFI T 350 600 5 8 0 1 0 2 1 pintype=in } P 300 900 0 900 1 0 1 { T 200 950 5 8 1 1 0 6 1 pinnumber=2 T 200 850 5 8 0 1 0 8 1 pinseq=2 T 350 900 9 8 1 1 0 0 1 pinlabel=\_PFO\_ T 350 900 5 8 0 1 0 2 1 pintype=out } P 1200 3300 1200 3600 1 0 1 { T 1250 3400 5 8 1 1 0 0 1 pinnumber=3 T 1250 3400 5 8 0 1 0 2 1 pinseq=3 T 1200 3250 9 8 1 1 0 5 1 pinlabel=Vcc T 1200 3100 5 8 0 1 0 5 1 pintype=pwr } P 300 1200 0 1200 1 0 1 { T 200 1250 5 8 1 1 0 6 1 pinnumber=4 T 200 1150 5 8 0 1 0 8 1 pinseq=4 T 350 1200 9 8 1 1 0 0 1 pinlabel=WDI T 350 1200 5 8 0 1 0 2 1 pintype=in } P 1200 300 1200 0 1 0 1 { T 1250 100 5 8 1 1 0 0 1 pinnumber=5 T 1250 100 5 8 0 1 0 2 1 pinseq=5 T 1200 350 9 8 1 1 0 3 1 pinlabel=GND T 1200 500 5 8 0 1 0 3 1 pintype=pwr } P 300 1800 0 1800 1 0 1 { T 200 1850 5 8 1 1 0 6 1 pinnumber=6 T 200 1750 5 8 0 1 0 8 1 pinseq=6 T 350 1800 9 8 1 1 0 0 1 pinlabel=\_MR\_ T 350 1800 5 8 0 1 0 2 1 pintype=in } P 300 2700 0 2700 1 0 1 { T 200 2750 5 8 1 1 0 6 1 pinnumber=7 T 200 2650 5 8 0 1 0 8 1 pinseq=7 T 350 2700 9 8 1 1 0 0 1 pinlabel=\_LOW LINE\_ T 350 2700 5 8 0 1 0 2 1 pintype=out } P 2100 2400 2400 2400 1 0 1 { T 2200 2450 5 8 1 1 0 0 1 pinnumber=8 T 2200 2350 5 8 0 1 0 2 1 pinseq=8 T 2050 2400 9 8 1 1 0 6 1 pinlabel=RESET T 2050 2400 5 8 0 1 0 8 1 pintype=out } P 2100 2100 2400 2100 1 0 1 { T 2200 2150 5 8 1 1 0 0 1 pinnumber=9 T 2200 2050 5 8 0 1 0 2 1 pinseq=9 T 2050 2100 9 8 1 1 0 6 1 pinlabel=\_RESET\_ T 2050 2100 5 8 0 1 0 8 1 pintype=out } P 300 1500 0 1500 1 0 1 { T 200 1550 5 8 1 1 0 6 1 pinnumber=10 T 200 1450 5 8 0 1 0 8 1 pinseq=10 T 350 1500 9 8 1 1 0 0 1 pinlabel=\_WDO\_ T 350 1500 5 8 0 1 0 2 1 pintype=out } P 300 2400 0 2400 1 0 1 { T 200 2450 5 8 1 1 0 6 1 pinnumber=11 T 200 2350 5 8 0 1 0 8 1 pinseq=11 T 350 2400 9 8 1 1 0 0 1 pinlabel=\_CE\_ OUT T 350 2400 5 8 0 1 0 2 1 pintype=out } P 300 2100 0 2100 1 0 1 { T 200 2150 5 8 1 1 0 6 1 pinnumber=12 T 200 2050 5 8 0 1 0 8 1 pinseq=12 T 350 2100 9 8 1 1 0 0 1 pinlabel=\_CE\_ IN T 350 2100 5 8 0 1 0 2 1 pintype=in } P 2100 1200 2400 1200 1 0 1 { T 2200 1250 5 8 1 1 0 0 1 pinnumber=13 T 2200 1150 5 8 0 1 0 2 1 pinseq=13 T 2050 1200 9 8 1 1 0 6 1 pinlabel=BATT ON T 2050 1200 5 8 0 1 0 8 1 pintype=out } P 2100 1500 2400 1500 1 0 1 { T 2200 1550 5 8 1 1 0 0 1 pinnumber=14 T 2200 1450 5 8 0 1 0 2 1 pinseq=14 T 2050 1500 9 8 1 1 0 6 1 pinlabel=BATT T 2050 1500 5 8 0 1 0 8 1 pintype=in } P 2100 900 2400 900 1 0 1 { T 2200 950 5 8 1 1 0 0 1 pinnumber=15 T 2200 850 5 8 0 1 0 2 1 pinseq=15 T 2050 900 9 8 1 1 0 6 1 pinlabel=BATT OK T 2050 900 5 8 0 1 0 8 1 pintype=out } P 2100 3000 2400 3000 1 0 1 { T 2200 3050 5 8 1 1 0 0 1 pinnumber=16 T 2200 2950 5 8 0 1 0 2 1 pinseq=16 T 2050 3000 9 8 1 1 0 6 1 pinlabel=OUT T 2050 3000 5 8 0 1 0 8 1 pintype=out } T 300 4150 5 10 0 0 0 0 1 footprint=DIP16 T 300 4350 5 10 0 0 0 0 1 description=uP supervisory circuit with 1.5% reset accuracy T 300 3950 5 10 0 0 0 0 1 numslots=0 T 300 4550 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX807L-MAX807N.pdf T 300 3350 3 10 1 0 0 0 1 MAX807 geda-gaf-1.8.2/symbols/maxim/max1207-1.sym0000664000175000017500000001732012204104272014667 00000000000000v 20050313 1 P 100 3500 400 3500 1 0 0 { T 300 3550 5 8 1 1 0 6 1 pinnumber=6 T 300 3450 5 8 0 1 0 8 1 pinseq=6 T 450 3500 9 8 1 1 0 0 1 pinlabel=INN T 450 3500 5 8 0 1 0 2 1 pintype=in } P 100 9200 400 9200 1 0 0 { T 300 9250 5 8 1 1 0 6 1 pinnumber=37 T 300 9150 5 8 0 1 0 8 1 pinseq=37 T 450 9200 9 8 1 1 0 0 1 pinlabel=PD T 450 9200 5 8 0 1 0 2 1 pintype=in } P 100 8900 400 8900 1 0 0 { T 300 8950 5 8 1 1 0 6 1 pinnumber=40 T 300 8850 5 8 0 1 0 8 1 pinseq=40 T 450 8900 9 8 1 1 0 0 1 pinlabel=G_TB T 450 8900 5 8 0 1 0 2 1 pintype=in } P 100 8600 400 8600 1 0 0 { T 300 8650 5 8 1 1 0 6 1 pinnumber=8 T 300 8550 5 8 0 1 0 8 1 pinseq=8 T 450 8600 9 8 1 1 0 0 1 pinlabel=DCE T 450 8600 5 8 0 1 0 2 1 pintype=in } P 100 8300 400 8300 1 0 0 { T 300 8350 5 8 1 1 0 6 1 pinnumber=11 T 300 8250 5 8 0 1 0 8 1 pinseq=11 T 450 8300 9 8 1 1 0 0 1 pinlabel=CLKTYP T 450 8300 5 8 0 1 0 2 1 pintype=in } P 100 7400 400 7400 1 0 0 { T 300 7450 5 8 1 1 0 6 1 pinnumber=1 T 300 7350 5 8 0 1 0 8 1 pinseq=1 T 450 7400 9 8 1 1 0 0 1 pinlabel=REFP T 450 7400 5 8 0 1 0 2 1 pintype=out } P 100 6800 400 6800 1 0 0 { T 300 6850 5 8 1 1 0 6 1 pinnumber=2 T 300 6750 5 8 0 1 0 8 1 pinseq=2 T 450 6800 9 8 1 1 0 0 1 pinlabel=REFN T 450 6800 5 8 0 1 0 2 1 pintype=out } P 100 5900 400 5900 1 0 0 { T 300 5950 5 8 1 1 0 6 1 pinnumber=5 T 300 5850 5 8 0 1 0 8 1 pinseq=5 T 450 5900 9 8 1 1 0 0 1 pinlabel=INP T 450 5900 5 8 0 1 0 2 1 pintype=in } P 100 4700 400 4700 1 0 0 { T 300 4750 5 8 1 1 0 6 1 pinnumber=3 T 300 4650 5 8 0 1 0 8 1 pinseq=3 T 450 4700 9 8 1 1 0 0 1 pinlabel=COM T 450 4700 5 8 0 1 0 2 1 pintype=out } P 3000 9200 3300 9200 1 0 1 { T 3100 9250 5 8 1 1 0 0 1 pinnumber=33 T 3100 9150 5 8 0 1 0 2 1 pinseq=33 T 2950 9200 9 8 1 1 0 6 1 pinlabel=DAV T 2950 9200 5 8 0 1 0 8 1 pintype=out } P 3000 8600 3300 8600 1 0 1 { T 3100 8650 5 8 1 1 0 0 1 pinnumber=32 T 3100 8550 5 8 0 1 0 2 1 pinseq=32 T 2950 8600 9 8 1 1 0 6 1 pinlabel=NC0 T 2950 8600 5 8 0 1 0 8 1 pintype=out } P 3000 8300 3300 8300 1 0 1 { T 3100 8350 5 8 1 1 0 0 1 pinnumber=31 T 3100 8250 5 8 0 1 0 2 1 pinseq=31 T 2950 8300 9 8 1 1 0 6 1 pinlabel=NC1 T 2950 8300 5 8 0 1 0 8 1 pintype=out } P 3000 8000 3300 8000 1 0 1 { T 3100 8050 5 8 1 1 0 0 1 pinnumber=30 T 3100 7950 5 8 0 1 0 2 1 pinseq=30 T 2950 8000 9 8 1 1 0 6 1 pinlabel=D0 T 2950 8000 5 8 0 1 0 8 1 pintype=out } P 3000 7700 3300 7700 1 0 1 { T 3100 7750 5 8 1 1 0 0 1 pinnumber=29 T 3100 7650 5 8 0 1 0 2 1 pinseq=29 T 2950 7700 9 8 1 1 0 6 1 pinlabel=D1 T 2950 7700 5 8 0 1 0 8 1 pintype=out } P 3000 7400 3300 7400 1 0 1 { T 3100 7450 5 8 1 1 0 0 1 pinnumber=28 T 3100 7350 5 8 0 1 0 2 1 pinseq=28 T 2950 7400 9 8 1 1 0 6 1 pinlabel=D2 T 2950 7400 5 8 0 1 0 8 1 pintype=out } P 3000 7100 3300 7100 1 0 1 { T 3100 7150 5 8 1 1 0 0 1 pinnumber=27 T 3100 7050 5 8 0 1 0 2 1 pinseq=27 T 2950 7100 9 8 1 1 0 6 1 pinlabel=D3 T 2950 7100 5 8 0 1 0 8 1 pintype=out } P 3000 6800 3300 6800 1 0 1 { T 3100 6850 5 8 1 1 0 0 1 pinnumber=26 T 3100 6750 5 8 0 1 0 2 1 pinseq=26 T 2950 6800 9 8 1 1 0 6 1 pinlabel=D4 T 2950 6800 5 8 0 1 0 8 1 pintype=out } B 400 400 2600 9600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 3300 10000 8 10 0 0 0 0 1 device=MAX1207 P 100 2100 400 2100 1 0 0 { T 300 2150 5 8 1 1 0 6 1 pinnumber=38 T 300 2050 5 8 0 1 0 8 1 pinseq=38 T 475 2100 9 8 1 1 0 0 1 pinlabel=REFOUT T 475 2100 5 8 0 1 0 2 1 pintype=out } T 1800 6600 8 10 1 1 0 6 1 refdes=U? T 1400 6140 9 10 1 0 0 0 1 MAX1207 P 100 1200 400 1200 1 0 0 { T 300 1250 5 8 1 1 0 6 1 pinnumber=39 T 300 1150 5 8 0 1 0 8 1 pinseq=39 T 475 1200 9 8 1 1 0 0 1 pinlabel=REFIN T 475 1200 5 8 0 1 0 2 1 pintype=in } P 3000 6500 3300 6500 1 0 1 { T 3100 6550 5 8 1 1 0 0 1 pinnumber=25 T 3100 6450 5 8 0 1 0 2 1 pinseq=25 T 2950 6500 9 8 1 1 0 6 1 pinlabel=D5 T 2950 6500 5 8 0 1 0 8 1 pintype=out } P 3000 6200 3300 6200 1 0 1 { T 3100 6250 5 8 1 1 0 0 1 pinnumber=24 T 3100 6150 5 8 0 1 0 2 1 pinseq=24 T 2950 6200 9 8 1 1 0 6 1 pinlabel=D6 T 2950 6200 5 8 0 1 0 8 1 pintype=out } P 3000 5900 3300 5900 1 0 1 { T 3100 5950 5 8 1 1 0 0 1 pinnumber=23 T 3100 5850 5 8 0 1 0 2 1 pinseq=23 T 2950 5900 9 8 1 1 0 6 1 pinlabel=D7 T 2950 5900 5 8 0 1 0 8 1 pintype=out } P 3000 5600 3300 5600 1 0 1 { T 3100 5650 5 8 1 1 0 0 1 pinnumber=22 T 3100 5550 5 8 0 1 0 2 1 pinseq=22 T 2950 5600 9 8 1 1 0 6 1 pinlabel=D8 T 2950 5600 5 8 0 1 0 8 1 pintype=out } P 3000 5300 3300 5300 1 0 1 { T 3100 5350 5 8 1 1 0 0 1 pinnumber=21 T 3100 5250 5 8 0 1 0 2 1 pinseq=21 T 2950 5300 9 8 1 1 0 6 1 pinlabel=D9 T 2950 5300 5 8 0 1 0 8 1 pintype=out } P 3000 5000 3300 5000 1 0 1 { T 3100 5050 5 8 1 1 0 0 1 pinnumber=20 T 3100 4950 5 8 0 1 0 2 1 pinseq=20 T 2950 5000 9 8 1 1 0 6 1 pinlabel=D10 T 2950 5000 5 8 0 1 0 8 1 pintype=out } P 3000 4700 3300 4700 1 0 1 { T 3100 4750 5 8 1 1 0 0 1 pinnumber=19 T 3100 4650 5 8 0 1 0 2 1 pinseq=19 T 2950 4700 9 8 1 1 0 6 1 pinlabel=D11 T 2950 4700 5 8 0 1 0 8 1 pintype=out } P 3000 4100 3300 4100 1 0 1 { T 3100 4150 5 8 1 1 0 0 1 pinnumber=18 T 3100 4050 5 8 0 1 0 2 1 pinseq=18 T 2950 4100 9 8 1 1 0 6 1 pinlabel=DOR T 2950 4100 5 8 0 1 0 8 1 pintype=out } P 3000 3000 3300 3000 1 0 1 { T 3100 3050 5 8 1 1 0 0 1 pinnumber=10 T 3100 2950 5 8 0 1 0 2 1 pinseq=10 T 2950 3000 9 8 1 1 0 6 1 pinlabel=CLKP T 2950 3000 5 8 0 1 0 8 1 pintype=in } P 3000 1800 3300 1800 1 0 1 { T 3100 1850 5 8 1 1 0 0 1 pinnumber=9 T 3100 1750 5 8 0 1 0 2 1 pinseq=9 T 2950 1800 9 8 1 1 0 6 1 pinlabel=CLKN T 2950 1800 5 8 0 1 0 8 1 pintype=in } P 1000 400 1000 100 1 0 1 { T 1050 300 5 8 1 1 270 0 1 pinnumber=4 T 950 300 5 8 0 1 270 2 1 pinseq=4 T 1000 450 9 8 1 1 270 6 1 pinlabel=GND T 1000 450 5 8 0 1 270 8 1 pintype=pwr } P 1300 400 1300 100 1 0 1 { T 1350 300 5 8 1 1 270 0 1 pinnumber=7 T 1250 300 5 8 0 1 270 2 1 pinseq=7 T 1300 450 9 8 1 1 270 6 1 pinlabel=GND T 1300 450 5 8 0 1 270 8 1 pintype=pwr } P 1900 400 1900 100 1 0 1 { T 1950 300 5 8 1 1 270 0 1 pinnumber=16 T 1850 300 5 8 0 1 270 2 1 pinseq=16 T 1900 450 9 8 1 1 270 6 1 pinlabel=OGND T 1900 450 5 8 0 1 270 8 1 pintype=pwr } P 2200 400 2200 100 1 0 1 { T 2250 300 5 8 1 1 270 0 1 pinnumber=35 T 2150 300 5 8 0 1 270 2 1 pinseq=35 T 2200 450 9 8 1 1 270 6 1 pinlabel=OGND T 2200 450 5 8 0 1 270 8 1 pintype=pwr } P 600 10300 600 10000 1 0 0 { T 650 10100 5 8 1 1 270 6 1 pinnumber=12 T 550 10100 5 8 0 1 270 8 1 pinseq=12 T 600 9950 9 8 1 1 270 0 1 pinlabel=VDD T 600 9950 5 8 0 1 270 2 1 pintype=pwr } P 900 10300 900 10000 1 0 0 { T 950 10100 5 8 1 1 270 6 1 pinnumber=13 T 850 10100 5 8 0 1 270 8 1 pinseq=13 T 900 9950 9 8 1 1 270 0 1 pinlabel=VDD T 900 9950 5 8 0 1 270 2 1 pintype=pwr } P 1200 10300 1200 10000 1 0 0 { T 1250 10100 5 8 1 1 270 6 1 pinnumber=14 T 1150 10100 5 8 0 1 270 8 1 pinseq=14 T 1200 9950 9 8 1 1 270 0 1 pinlabel=VDD T 1200 9950 5 8 0 1 270 2 1 pintype=pwr } P 1500 10300 1500 10000 1 0 0 { T 1550 10100 5 8 1 1 270 6 1 pinnumber=15 T 1450 10100 5 8 0 1 270 8 1 pinseq=15 T 1500 9950 9 8 1 1 270 0 1 pinlabel=VDD T 1500 9950 5 8 0 1 270 2 1 pintype=pwr } P 1800 10300 1800 10000 1 0 0 { T 1850 10100 5 8 1 1 270 6 1 pinnumber=36 T 1750 10100 5 8 0 1 270 8 1 pinseq=36 T 1800 9950 9 8 1 1 270 0 1 pinlabel=VDD T 1800 9950 5 8 0 1 270 2 1 pintype=pwr } P 2300 10300 2300 10000 1 0 0 { T 2350 10100 5 8 1 1 270 6 1 pinnumber=17 T 2250 10100 5 8 0 1 270 8 1 pinseq=17 T 2300 9950 9 8 1 1 270 0 1 pinlabel=OVDD T 2300 9950 5 8 0 1 270 2 1 pintype=pwr } P 2600 10300 2600 10000 1 0 0 { T 2650 10100 5 8 1 1 270 6 1 pinnumber=34 T 2550 10100 5 8 0 1 270 8 1 pinseq=34 T 2600 9950 9 8 1 1 270 0 1 pinlabel=OVDD T 2600 9950 5 8 0 1 270 2 1 pintype=pwr } P 600 400 600 100 1 0 1 { T 650 300 5 8 1 1 270 0 1 pinnumber=41 T 550 300 5 8 0 1 270 2 1 pinseq=41 T 600 450 9 8 1 1 270 6 1 pinlabel=PADDLE T 600 450 5 8 0 1 270 8 1 pintype=pwr } T 1000 5400 8 10 1 1 0 0 1 footprint=TQFN40_6_EP T 1600 5000 8 10 0 0 0 0 1 numslots=0 T 3800 5000 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX1207.pdf geda-gaf-1.8.2/symbols/maxim/adc0820-1.sym0000664000175000017500000000726712204104272014642 00000000000000v 20070626 1 B 300 0 2300 3900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4150 5 10 0 0 0 0 1 device=ADC0820 P 2600 3700 2900 3700 1 0 1 { T 2700 3750 5 8 1 1 0 0 1 pinnumber=2 T 2700 3650 5 8 0 1 0 2 1 pinseq=2 T 2550 3700 9 8 1 1 0 6 1 pinlabel=DB0 T 2550 3700 5 8 0 1 0 8 1 pintype=tri } P 2600 3300 2900 3300 1 0 1 { T 2700 3350 5 8 1 1 0 0 1 pinnumber=3 T 2700 3250 5 8 0 1 0 2 1 pinseq=3 T 2550 3300 9 8 1 1 0 6 1 pinlabel=DB1 T 2550 3300 5 8 0 1 0 8 1 pintype=tri } P 2600 2900 2900 2900 1 0 1 { T 2700 2950 5 8 1 1 0 0 1 pinnumber=4 T 2700 2850 5 8 0 1 0 2 1 pinseq=4 T 2550 2900 9 8 1 1 0 6 1 pinlabel=DB2 T 2550 2900 5 8 0 1 0 8 1 pintype=tri } P 2600 2500 2900 2500 1 0 1 { T 2700 2550 5 8 1 1 0 0 1 pinnumber=5 T 2700 2450 5 8 0 1 0 2 1 pinseq=5 T 2550 2500 9 8 1 1 0 6 1 pinlabel=DB3 T 2550 2500 5 8 0 1 0 8 1 pintype=tri } P 2600 2100 2900 2100 1 0 1 { T 2700 2150 5 8 1 1 0 0 1 pinnumber=14 T 2700 2050 5 8 0 1 0 2 1 pinseq=14 T 2550 2100 9 8 1 1 0 6 1 pinlabel=DB4 T 2550 2100 5 8 0 1 0 8 1 pintype=tri } P 2600 1700 2900 1700 1 0 1 { T 2700 1750 5 8 1 1 0 0 1 pinnumber=15 T 2700 1650 5 8 0 1 0 2 1 pinseq=15 T 2550 1700 9 8 1 1 0 6 1 pinlabel=DB5 T 2550 1700 5 8 0 1 0 8 1 pintype=tri } P 2600 1300 2900 1300 1 0 1 { T 2700 1350 5 8 1 1 0 0 1 pinnumber=16 T 2700 1250 5 8 0 1 0 2 1 pinseq=16 T 2550 1300 9 8 1 1 0 6 1 pinlabel=DB6 T 2550 1300 5 8 0 1 0 8 1 pintype=tri } P 2600 900 2900 900 1 0 1 { T 2700 950 5 8 1 1 0 0 1 pinnumber=17 T 2700 850 5 8 0 1 0 2 1 pinseq=17 T 2550 900 9 8 1 1 0 6 1 pinlabel=DB7 T 2550 900 5 8 0 1 0 8 1 pintype=tri } P 300 3700 0 3700 1 0 1 { T 200 3750 5 8 1 1 0 6 1 pinnumber=1 T 200 3650 5 8 0 1 0 8 1 pinseq=1 T 350 3700 9 8 1 1 0 0 1 pinlabel=VIN T 350 3700 5 8 0 1 0 2 1 pintype=in } P 300 3300 0 3300 1 0 1 { T 200 3350 5 8 1 1 0 6 1 pinnumber=11 T 200 3250 5 8 0 1 0 8 1 pinseq=11 T 350 3300 9 8 1 1 0 0 1 pinlabel=VREF- T 350 3300 5 8 0 1 0 2 1 pintype=in } P 300 2900 0 2900 1 0 1 { T 200 2950 5 8 1 1 0 6 1 pinnumber=12 T 200 2850 5 8 0 1 0 8 1 pinseq=12 T 350 2900 9 8 1 1 0 0 1 pinlabel=VREF+ T 350 2900 5 8 0 1 0 2 1 pintype=in } P 300 1300 0 1300 1 0 1 { T 200 1350 5 8 1 1 0 6 1 pinnumber=7 T 200 1250 5 8 0 1 0 8 1 pinseq=7 T 350 1300 9 8 1 1 0 0 1 pinlabel=MODE T 350 1300 5 8 0 1 0 2 1 pintype=in } P 200 900 0 900 1 0 1 { T 200 950 5 8 1 1 0 6 1 pinnumber=13 T 200 850 5 8 0 1 0 8 1 pinseq=13 T 350 900 9 8 1 1 0 0 1 pinlabel=\_CS\_ T 350 900 5 8 0 1 0 2 1 pintype=in } P 2700 500 2900 500 1 0 1 { T 2700 550 5 8 1 1 0 0 1 pinnumber=18 T 2700 450 5 8 0 1 0 2 1 pinseq=18 T 2550 500 9 8 1 1 0 6 1 pinlabel=\_OFL\_ T 2550 500 5 8 0 1 0 8 1 pintype=out } P 0 2500 200 2500 1 0 0 { T 200 2550 5 8 1 1 0 6 1 pinnumber=6 T 200 2450 5 8 0 1 0 8 1 pinseq=6 T 350 2500 9 8 1 1 0 0 1 pinlabel=\_WR\_/RDY T 350 2500 5 8 0 1 0 2 1 pintype=tri } V 250 2500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 2100 0 2100 1 0 1 { T 200 2150 5 8 1 1 0 6 1 pinnumber=8 T 200 2050 5 8 0 1 0 8 1 pinseq=8 T 350 2100 9 8 1 1 0 0 1 pinlabel=\_RD\_ T 350 2100 5 8 0 1 0 2 1 pintype=in } V 250 2100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 1700 0 1700 1 0 1 { T 200 1750 5 8 1 1 0 6 1 pinnumber=9 T 200 1650 5 8 0 1 0 8 1 pinseq=9 T 350 1700 9 8 1 1 0 0 1 pinlabel=\_INT\_ T 350 1700 5 8 0 1 0 2 1 pintype=out } V 250 1700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2600 4000 8 10 1 1 0 6 1 refdes=U? T 300 4550 5 10 0 0 0 0 1 footprint=DIP20 T 300 4750 5 10 0 0 0 0 1 description=8-bit A/D-converter with track/hold function T 300 4350 5 10 0 0 0 0 1 numslots=0 T 300 4950 5 10 0 0 0 0 1 net=Vcc:20 T 300 5150 5 10 0 0 0 0 1 net=GND:10 T 300 5350 5 10 0 0 0 0 1 documentation=http://www.national.com/ds.cgi/AD/ADC0820.pdf T 300 3950 9 8 1 0 0 0 1 ADC0820 V 2650 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/maxim/max982-1.sym0000664000175000017500000000620312204104272014616 00000000000000v 20041228 1 L 900 1800 1300 1000 3 0 0 0 -1 -1 L 900 1800 500 1000 3 0 0 0 -1 -1 L 1300 1000 900 1000 3 0 0 0 -1 -1 L 900 1000 500 1000 3 0 0 0 -1 -1 L 1025 1375 925 1375 3 0 0 0 -1 -1 L 950 1375 875 1275 3 0 0 0 -1 -1 L 875 1275 775 1275 3 0 0 0 -1 -1 L 925 1375 850 1275 3 0 0 0 -1 -1 L 1050 1125 1100 1125 3 0 0 0 -1 -1 L 725 1150 725 1100 3 0 0 0 -1 -1 L 700 1125 750 1125 3 0 0 0 -1 -1 L 2300 1800 2700 1000 3 0 0 0 -1 -1 L 2300 1800 1900 1000 3 0 0 0 -1 -1 L 2700 1000 2300 1000 3 0 0 0 -1 -1 L 2300 1000 1900 1000 3 0 0 0 -1 -1 L 2425 1375 2325 1375 3 0 0 0 -1 -1 L 2350 1375 2275 1275 3 0 0 0 -1 -1 L 2275 1275 2175 1275 3 0 0 0 -1 -1 L 2325 1375 2250 1275 3 0 0 0 -1 -1 L 2150 1125 2100 1125 3 0 0 0 -1 -1 L 2475 1150 2475 1100 3 0 0 0 -1 -1 L 2500 1125 2450 1125 3 0 0 0 -1 -1 L 1100 1400 1200 1500 3 0 0 0 -1 -1 L 1200 1500 2000 1500 3 0 0 0 -1 -1 L 2000 1500 2100 1400 3 0 0 0 -1 -1 L 900 1800 900 2000 3 0 0 0 -1 -1 L 900 2000 200 2000 3 0 0 0 -1 -1 L 2300 1800 2300 2000 3 0 0 0 -1 -1 L 2300 2000 3000 2000 3 0 0 0 -1 -1 L 1100 700 1100 1000 3 0 0 0 -1 -1 L 700 1000 700 800 3 0 0 0 -1 -1 L 700 800 200 800 3 0 0 0 -1 -1 L 2500 1000 2500 800 3 0 0 0 -1 -1 L 2500 800 3000 800 3 0 0 0 -1 -1 B 200 200 2800 2300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 3000 2000 3200 2000 1 0 1 { T 3050 2050 5 8 1 1 0 0 1 pinnumber=8 T 3000 1950 5 8 0 1 0 2 1 pinseq=8 T 2950 2050 9 8 1 1 0 6 1 pinlabel=OUTB T 2850 2000 5 8 0 1 0 8 1 pintype=out } P 0 2000 200 2000 1 0 0 { T 150 2050 5 8 1 1 0 6 1 pinnumber=1 T 200 1950 5 8 0 1 0 8 1 pinseq=1 T 250 2050 9 8 1 1 0 0 1 pinlabel=OUTA T 350 2000 5 8 0 1 0 2 1 pintype=out } P 1600 2500 1600 2700 1 0 1 { T 1600 2450 9 8 1 1 0 5 1 pinlabel=V+ T 1650 2550 5 8 1 1 0 0 1 pinnumber=7 T 1650 2500 5 8 0 1 0 2 1 pinseq=7 T 1600 2200 5 8 0 1 0 5 1 pintype=pwr } P 1600 0 1600 200 1 0 0 { T 1600 250 9 8 1 1 0 3 1 pinlabel=V- T 1650 50 5 8 1 1 0 0 1 pinnumber=2 T 1650 100 5 8 0 1 0 2 1 pinseq=2 T 1600 500 5 8 0 1 0 3 1 pintype=pwr } P 0 800 200 800 1 0 0 { T 150 850 5 8 1 1 0 6 1 pinnumber=3 T 200 750 5 8 0 1 0 8 1 pinseq=3 T 250 850 9 8 1 1 0 0 1 pinlabel=INA+ T 350 800 5 8 0 1 0 2 1 pintype=in } P 3000 800 3200 800 1 0 1 { T 3050 850 5 8 1 1 0 0 1 pinnumber=4 T 3000 750 5 8 0 1 0 2 1 pinseq=4 T 2950 850 9 8 1 1 0 6 1 pinlabel=INB+ T 2850 800 5 8 0 1 0 8 1 pintype=in } L 1600 1500 1600 500 3 0 0 0 -1 -1 L 200 500 1600 500 3 0 0 0 -1 -1 P 0 500 200 500 1 0 0 { T 150 550 5 8 1 1 0 6 1 pinnumber=5 T 200 450 5 8 0 1 0 8 1 pinseq=5 T 250 550 9 8 1 1 0 0 1 pinlabel=HYST T 350 500 5 8 0 1 0 2 1 pintype=in } L 1100 700 1100 400 3 0 0 0 -1 -1 L 1100 400 3000 400 3 0 0 0 -1 -1 L 2100 1000 2100 400 3 0 0 0 -1 -1 P 3000 400 3200 400 1 0 1 { T 3050 450 5 8 1 1 0 0 1 pinnumber=6 T 3000 350 5 8 0 1 0 2 1 pinseq=6 T 2950 450 9 8 1 1 0 6 1 pinlabel=REF T 2850 400 5 8 0 1 0 8 1 pintype=out } T 3000 2600 8 10 1 1 0 6 1 refdes=U? T 200 2850 5 10 0 0 0 0 1 device=MAX982 T 200 3250 5 10 0 0 0 0 1 footprint=DIP8 T 200 3450 5 10 0 0 0 0 1 description=ultra-low-power, open-drain, single/dual-supply comparator T 200 3050 5 10 0 0 0 0 1 numslots=0 T 200 3650 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX971-MAX984.pdf T 200 2600 9 10 1 0 0 0 1 MAX982 geda-gaf-1.8.2/symbols/maxim/max1480A-1.sym0000664000175000017500000000765612204104272015006 00000000000000v 20070626 1 T 1700 4300 8 10 1 1 0 6 1 refdes=U? T 300 4250 9 10 1 0 0 0 1 MAX1480A T 300 4450 5 10 0 0 0 0 1 device=MAX1480A T 300 4650 5 10 0 0 0 0 1 footprint=DIP28 T 300 4850 5 10 0 0 0 0 1 numslots=0 T 300 5050 5 10 0 0 0 0 1 description=complete, isolated RS-485/RS-422 data interface T 300 5250 5 10 0 0 0 0 1 net=VCC1:1 T 300 5450 5 10 0 0 0 0 1 net=VCC2:2 T 300 5650 5 10 0 0 0 0 1 net=VCC3:8 T 300 5850 5 10 0 0 0 0 1 net=VCC4:10 T 300 6050 5 10 0 0 0 0 1 net=VCC5:14 T 300 6250 5 10 0 0 0 0 1 net=GND1:5 T 300 6450 5 10 0 0 0 0 1 net=GND2:12 T 300 6650 5 10 0 0 0 0 1 net=ISOVCC1:26 T 300 6850 5 10 0 0 0 0 1 net=ISOVCC2:18 T 300 7050 5 10 0 0 0 0 1 net=ISOCOM1:20 T 300 7250 5 10 0 0 0 0 1 net=ISOCOM2:16 P 2600 3100 2300 3100 1 0 0 { T 2400 3150 5 8 1 1 0 0 1 pinnumber=23 T 2400 3050 5 8 0 1 0 2 1 pinseq=13 T 2250 3100 9 8 1 1 0 6 1 pinlabel=A T 2250 3100 5 8 0 1 0 8 1 pintype=out } P 2600 3900 2300 3900 1 0 0 { T 2400 3950 5 8 1 1 0 0 1 pinnumber=28 T 2400 3850 5 8 0 1 0 2 1 pinseq=17 T 2250 3900 9 8 1 1 0 6 1 pinlabel=AC1 T 2250 3900 5 8 0 1 0 8 1 pintype=pas } P 2600 3500 2300 3500 1 0 0 { T 2400 3550 5 8 1 1 0 0 1 pinnumber=27 T 2400 3450 5 8 0 1 0 2 1 pinseq=16 T 2250 3500 9 8 1 1 0 6 1 pinlabel=AC2 T 2250 3500 5 8 0 1 0 8 1 pintype=pas } P 2600 2700 2300 2700 1 0 0 { T 2400 2750 5 8 1 1 0 0 1 pinnumber=25 T 2400 2650 5 8 0 1 0 2 1 pinseq=15 T 2250 2700 9 8 1 1 0 6 1 pinlabel=B T 2250 2700 5 8 0 1 0 8 1 pintype=out } P 2600 1900 2300 1900 1 0 0 { T 2400 1950 5 8 1 1 0 0 1 pinnumber=17 T 2400 1850 5 8 0 1 0 2 1 pinseq=9 T 2250 1900 9 8 1 1 0 6 1 pinlabel=ISO DE DRV T 2250 1900 5 8 0 1 0 8 1 pintype=oc } P 2600 2300 2300 2300 1 0 0 { T 2400 2350 5 8 1 1 0 0 1 pinnumber=21 T 2400 2250 5 8 0 1 0 2 1 pinseq=11 T 2250 2300 9 8 1 1 0 6 1 pinlabel=ISO DE IN T 2250 2300 5 8 0 1 0 8 1 pintype=in } P 2600 1100 2300 1100 1 0 0 { T 2400 1150 5 8 1 1 0 0 1 pinnumber=19 T 2400 1050 5 8 0 1 0 2 1 pinseq=10 T 2250 1100 9 8 1 1 0 6 1 pinlabel=ISO DI DRV T 2250 1100 5 8 0 1 0 8 1 pintype=oc } P 2600 1500 2300 1500 1 0 0 { T 2400 1550 5 8 1 1 0 0 1 pinnumber=22 T 2400 1450 5 8 0 1 0 2 1 pinseq=12 T 2250 1500 9 8 1 1 0 6 1 pinlabel=ISO DI IN T 2250 1500 5 8 0 1 0 8 1 pintype=in } P 2600 700 2300 700 1 0 0 { T 2400 750 5 8 1 1 0 0 1 pinnumber=24 T 2400 650 5 8 0 1 0 2 1 pinseq=14 T 2250 700 9 8 1 1 0 6 1 pinlabel=ISO RO DRV T 2250 700 5 8 0 1 0 8 1 pintype=out } P 2600 300 2300 300 1 0 0 { T 2400 350 5 8 1 1 0 0 1 pinnumber=15 T 2400 250 5 8 0 1 0 2 1 pinseq=8 T 2250 300 9 8 1 1 0 6 1 pinlabel=ISO RO LED T 2250 300 5 8 0 1 0 8 1 pintype=pas } P 0 3900 300 3900 1 0 0 { T 200 3950 5 8 1 1 0 6 1 pinnumber=3 T 200 3850 5 8 0 1 0 8 1 pinseq=1 T 350 3900 9 8 1 1 0 0 1 pinlabel=D1 T 350 3900 5 8 0 1 0 2 1 pintype=pas } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=4 T 200 3450 5 8 0 1 0 8 1 pinseq=2 T 350 3500 9 8 1 1 0 0 1 pinlabel=D2 T 350 3500 5 8 0 1 0 2 1 pintype=pas } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=11 T 200 3050 5 8 0 1 0 8 1 pinseq=6 T 350 3100 9 8 1 1 0 0 1 pinlabel=DE T 350 3100 5 8 0 1 0 2 1 pintype=pas } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=9 T 200 2650 5 8 0 1 0 8 1 pinseq=5 T 350 2700 9 8 1 1 0 0 1 pinlabel=DI T 350 2700 5 8 0 1 0 2 1 pintype=pas } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=6 T 200 1850 5 8 0 1 0 8 1 pinseq=3 T 350 1900 9 8 1 1 0 0 1 pinlabel=FS T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 300 200 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=13 T 200 250 5 8 0 1 0 8 1 pinseq=7 T 350 300 9 8 1 1 0 0 1 pinlabel=\_RO\_ T 350 300 5 8 0 1 0 2 1 pintype=oc } V 250 300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=7 T 200 1450 5 8 0 1 0 8 1 pinseq=4 T 350 1500 9 8 1 1 0 0 1 pinlabel=SD T 350 1500 5 8 0 1 0 2 1 pintype=in } B 300 0 2000 4200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 7450 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX1480A-MAX1490B.pdf T 300 7650 5 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/maxim/max1011-1.sym0000664000175000017500000000575512204104272014671 00000000000000v 20041228 1 P 300 3200 0 3200 1 0 1 { T 200 3250 5 8 1 1 0 6 1 pinnumber=1 T 200 3150 5 8 0 1 0 8 1 pinseq=1 T 350 3200 9 8 1 1 0 0 1 pinlabel=GAIN T 350 3200 5 8 0 1 0 2 1 pintype=in } P 300 2800 0 2800 1 0 1 { T 200 2850 5 8 1 1 0 6 1 pinnumber=2 T 200 2750 5 8 0 1 0 8 1 pinseq=2 T 350 2800 9 8 1 1 0 0 1 pinlabel=OCC+ T 350 2800 5 8 0 1 0 2 1 pintype=pas } P 300 2400 0 2400 1 0 1 { T 200 2450 5 8 1 1 0 6 1 pinnumber=3 T 200 2350 5 8 0 1 0 8 1 pinseq=3 T 350 2400 9 8 1 1 0 0 1 pinlabel=OCC- T 350 2400 5 8 0 1 0 2 1 pintype=pas } P 300 2000 0 2000 1 0 1 { T 200 2050 5 8 1 1 0 6 1 pinnumber=4 T 200 1950 5 8 0 1 0 8 1 pinseq=4 T 350 2000 9 8 1 1 0 0 1 pinlabel=IN+ T 350 2000 5 8 0 1 0 2 1 pintype=in } P 300 1600 0 1600 1 0 1 { T 200 1650 5 8 1 1 0 6 1 pinnumber=5 T 200 1550 5 8 0 1 0 8 1 pinseq=5 T 350 1600 9 8 1 1 0 0 1 pinlabel=IN- T 350 1600 5 8 0 1 0 2 1 pintype=in } P 300 1200 0 1200 1 0 1 { T 200 1250 5 8 1 1 0 6 1 pinnumber=7 T 200 1150 5 8 0 1 0 8 1 pinseq=7 T 350 1200 9 8 1 1 0 0 1 pinlabel=TNK+ T 350 1200 5 8 0 1 0 2 1 pintype=in } P 300 800 0 800 1 0 1 { T 200 850 5 8 1 1 0 6 1 pinnumber=8 T 200 750 5 8 0 1 0 8 1 pinseq=8 T 350 800 9 8 1 1 0 0 1 pinlabel=TNK- T 350 800 5 8 0 1 0 2 1 pintype=in } P 2600 2400 2300 2400 1 0 0 { T 2400 2450 5 8 1 1 0 0 1 pinnumber=19 T 2400 2350 5 8 0 1 0 2 1 pinseq=19 T 2250 2400 9 8 1 1 0 6 1 pinlabel=D0 T 2250 2400 5 8 0 1 0 8 1 pintype=out } P 2600 2000 2300 2000 1 0 0 { T 2400 2050 5 8 1 1 0 0 1 pinnumber=20 T 2400 1950 5 8 0 1 0 2 1 pinseq=20 T 2250 2000 9 8 1 1 0 6 1 pinlabel=D1 T 2250 2000 5 8 0 1 0 8 1 pintype=out } P 2600 1600 2300 1600 1 0 0 { T 2400 1650 5 8 1 1 0 0 1 pinnumber=21 T 2400 1550 5 8 0 1 0 2 1 pinseq=21 T 2250 1600 9 8 1 1 0 6 1 pinlabel=D2 T 2250 1600 5 8 0 1 0 8 1 pintype=out } P 2600 1200 2300 1200 1 0 0 { T 2400 1250 5 8 1 1 0 0 1 pinnumber=22 T 2400 1150 5 8 0 1 0 2 1 pinseq=22 T 2250 1200 9 8 1 1 0 6 1 pinlabel=D3 T 2250 1200 5 8 0 1 0 8 1 pintype=out } P 2600 800 2300 800 1 0 0 { T 2400 850 5 8 1 1 0 0 1 pinnumber=23 T 2400 750 5 8 0 1 0 2 1 pinseq=23 T 2250 800 9 8 1 1 0 6 1 pinlabel=D4 T 2250 800 5 8 0 1 0 8 1 pintype=out } P 2600 400 2300 400 1 0 0 { T 2400 450 5 8 1 1 0 0 1 pinnumber=24 T 2400 350 5 8 0 1 0 2 1 pinseq=24 T 2250 400 9 8 1 1 0 6 1 pinlabel=D5 T 2250 400 5 8 0 1 0 8 1 pintype=out } B 300 0 2000 3400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 3650 5 10 0 0 0 0 1 device=MAX1011 P 2600 3200 2300 3200 1 0 0 { T 2400 3250 5 8 1 1 0 0 1 pinnumber=18 T 2400 3150 5 8 0 1 0 2 1 pinseq=18 T 2250 3200 9 8 1 1 0 6 1 pinlabel=DCLK T 2250 3200 5 8 0 1 0 8 1 pintype=out } T 2300 3500 8 10 1 1 0 6 1 refdes=U? T 300 4050 5 10 0 0 0 0 1 footprint=QSOP24 T 300 4250 5 10 0 0 0 0 1 description=low power, 90Msps, 6-bit ADC T 300 3850 5 10 0 0 0 0 1 numslots=0 T 300 4850 5 10 0 0 0 0 1 net=VCC:6,11,14 T 300 5050 5 10 0 0 0 0 1 net=GND:9,10,12,13 T 300 4450 5 10 0 0 0 0 1 net=OGND:16 T 300 4650 5 10 0 0 0 0 1 net=VCCO:17 T 300 3450 9 10 1 0 0 0 1 MAX1011 T 300 5250 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX1011.pdf geda-gaf-1.8.2/symbols/maxim/max1114-2.sym0000664000175000017500000001151512204104272014665 00000000000000v 20070626 1 T 2300 5500 8 10 1 1 0 6 1 refdes=U? T 300 5450 9 10 1 0 0 0 1 MAX1114 T 300 5650 5 10 0 0 0 0 1 device=MAX1114 T 300 5850 5 10 0 0 0 0 1 footprint=CERQUAD44 T 300 6050 5 10 0 0 0 0 1 numslots=0 T 300 6250 5 10 0 0 0 0 1 description=8-bit, 150Msps Flash ADC P 2600 5100 2300 5100 1 0 0 { T 2400 5150 5 8 1 1 0 0 1 pinnumber=36 T 2400 5050 5 8 0 1 0 2 1 pinseq=2 T 2250 5100 9 8 1 1 0 6 1 pinlabel=D0 T 2250 5100 5 8 0 1 0 8 1 pintype=out } P 2600 4700 2300 4700 1 0 0 { T 2400 4750 5 8 1 1 0 0 1 pinnumber=37 T 2400 4650 5 8 0 1 0 2 1 pinseq=3 T 2250 4700 9 8 1 1 0 6 1 pinlabel=D1 T 2250 4700 5 8 0 1 0 8 1 pintype=out } P 2600 4300 2300 4300 1 0 0 { T 2400 4350 5 8 1 1 0 0 1 pinnumber=38 T 2400 4250 5 8 0 1 0 2 1 pinseq=4 T 2250 4300 9 8 1 1 0 6 1 pinlabel=D2 T 2250 4300 5 8 0 1 0 8 1 pintype=out } P 2600 3900 2300 3900 1 0 0 { T 2400 3950 5 8 1 1 0 0 1 pinnumber=39 T 2400 3850 5 8 0 1 0 2 1 pinseq=5 T 2250 3900 9 8 1 1 0 6 1 pinlabel=D3 T 2250 3900 5 8 0 1 0 8 1 pintype=out } P 2600 3500 2300 3500 1 0 0 { T 2400 3550 5 8 1 1 0 0 1 pinnumber=40 T 2400 3450 5 8 0 1 0 2 1 pinseq=6 T 2250 3500 9 8 1 1 0 6 1 pinlabel=D4 T 2250 3500 5 8 0 1 0 8 1 pintype=out } P 2600 3100 2300 3100 1 0 0 { T 2400 3150 5 8 1 1 0 0 1 pinnumber=41 T 2400 3050 5 8 0 1 0 2 1 pinseq=7 T 2250 3100 9 8 1 1 0 6 1 pinlabel=D5 T 2250 3100 5 8 0 1 0 8 1 pintype=out } P 2600 2700 2300 2700 1 0 0 { T 2400 2750 5 8 1 1 0 0 1 pinnumber=42 T 2400 2650 5 8 0 1 0 2 1 pinseq=8 T 2250 2700 9 8 1 1 0 6 1 pinlabel=D6 T 2250 2700 5 8 0 1 0 8 1 pintype=out } P 2600 2300 2300 2300 1 0 0 { T 2400 2350 5 8 1 1 0 0 1 pinnumber=43 T 2400 2250 5 8 0 1 0 2 1 pinseq=9 T 2250 2300 9 8 1 1 0 6 1 pinlabel=D7 T 2250 2300 5 8 0 1 0 8 1 pintype=out } P 2600 1900 2300 1900 1 0 0 { T 2400 1950 5 8 1 1 0 0 1 pinnumber=44 T 2400 1850 5 8 0 1 0 2 1 pinseq=11 T 2250 1900 9 8 1 1 0 6 1 pinlabel=D8 T 2250 1900 5 8 0 1 0 8 1 pintype=out } P 2600 1500 2300 1500 1 0 0 { T 2400 1550 5 8 1 1 0 0 1 pinnumber=35 T 2400 1450 5 8 0 1 0 2 1 pinseq=24 T 2250 1500 9 8 1 1 0 6 1 pinlabel=DREADY T 2250 1500 5 8 0 1 0 8 1 pintype=out } P 2600 1100 2300 1100 1 0 0 { T 2400 1150 5 8 1 1 0 0 1 pinnumber=29 T 2400 1050 5 8 0 1 0 2 1 pinseq=23 T 2250 1100 9 8 1 1 0 6 1 pinlabel=DRINV T 2250 1100 5 8 0 1 0 8 1 pintype=out } P 0 3900 200 3900 1 0 0 { T 200 3950 5 8 1 1 0 6 1 pinnumber=5 T 200 3850 5 8 0 1 0 8 1 pinseq=12 T 425 3900 9 8 1 1 0 0 1 pinlabel=\_CLK\_ T 425 3900 5 8 0 1 0 2 1 pintype=in } V 250 3900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 400 3900 300 3975 3 0 0 0 -1 -1 L 400 3900 300 3825 3 0 0 0 -1 -1 P 0 4300 300 4300 1 0 0 { T 200 4350 5 8 1 1 0 6 1 pinnumber=6 T 200 4250 5 8 0 1 0 8 1 pinseq=13 T 425 4300 9 8 1 1 0 0 1 pinlabel=CLK T 425 4300 5 8 0 1 0 2 1 pintype=in } L 400 4300 300 4375 3 0 0 0 -1 -1 L 400 4300 300 4225 3 0 0 0 -1 -1 P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=31 T 200 3450 5 8 0 1 0 8 1 pinseq=1 T 350 3500 9 8 1 1 0 0 1 pinlabel=LINV T 350 3500 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=4 T 200 3050 5 8 0 1 0 8 1 pinseq=10 T 350 3100 9 8 1 1 0 0 1 pinlabel=MINV T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 5100 300 5100 1 0 0 { T 200 5150 5 8 1 1 0 6 1 pinnumber=15 T 200 5050 5 8 0 1 0 8 1 pinseq=16 T 350 5100 9 8 1 1 0 0 1 pinlabel=VIN T 350 5100 5 8 0 1 0 2 1 pintype=in } P 0 4700 300 4700 1 0 0 { T 200 4750 5 8 1 1 0 6 1 pinnumber=19 T 200 4650 5 8 0 1 0 8 1 pinseq=17 T 350 4700 9 8 1 1 0 0 1 pinlabel=VIN T 350 4700 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=13 T 200 2650 5 8 0 1 0 8 1 pinseq=18 T 350 2700 9 8 1 1 0 0 1 pinlabel=VR1 T 350 2700 5 8 0 1 0 2 1 pintype=pas } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=17 T 200 2250 5 8 0 1 0 8 1 pinseq=19 T 350 2300 9 8 1 1 0 0 1 pinlabel=VR2 T 350 2300 5 8 0 1 0 2 1 pintype=pas } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=21 T 200 1850 5 8 0 1 0 8 1 pinseq=20 T 350 1900 9 8 1 1 0 0 1 pinlabel=VR3 T 350 1900 5 8 0 1 0 2 1 pintype=pas } P 0 300 300 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=11 T 200 250 5 8 0 1 0 8 1 pinseq=15 T 350 300 9 8 1 1 0 0 1 pinlabel=VRBF T 350 300 5 8 0 1 0 2 1 pintype=pas } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=10 T 200 650 5 8 0 1 0 8 1 pinseq=14 T 350 700 9 8 1 1 0 0 1 pinlabel=VRBS T 350 700 5 8 0 1 0 2 1 pintype=pas } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=23 T 200 1450 5 8 0 1 0 8 1 pinseq=21 T 350 1500 9 8 1 1 0 0 1 pinlabel=VRTF T 350 1500 5 8 0 1 0 2 1 pintype=pas } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=24 T 200 1050 5 8 0 1 0 8 1 pinseq=22 T 350 1100 9 8 1 1 0 0 1 pinlabel=VRTS T 350 1100 5 8 0 1 0 2 1 pintype=pas } B 300 0 2000 5400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 6450 5 10 0 0 0 0 1 net=AGND:2,8,9,14,16,18,20,25,26,33 T 300 6650 5 10 0 0 0 0 1 net=DGND:1,34 T 300 6850 5 10 0 0 0 0 1 net=VEE:3,7,12,22,27,32 geda-gaf-1.8.2/symbols/maxim/max1482-1.sym0000664000175000017500000000364012204104272014674 00000000000000v 20070626 1 P 300 1400 0 1400 1 0 1 { T 200 1450 5 8 1 1 0 6 1 pinnumber=4 T 200 1350 5 8 0 1 0 8 1 pinseq=4 T 350 1400 9 8 1 1 0 0 1 pinlabel=DE T 350 1400 5 8 0 1 0 2 1 pintype=in } P 300 1000 0 1000 1 0 1 { T 200 1050 5 8 1 1 0 6 1 pinnumber=5 T 200 950 5 8 0 1 0 8 1 pinseq=5 T 350 1000 9 8 1 1 0 0 1 pinlabel=DI T 350 1000 5 8 0 1 0 2 1 pintype=in } P 300 600 0 600 1 0 1 { T 200 650 5 8 1 1 0 6 1 pinnumber=12 T 200 550 5 8 0 1 0 8 1 pinseq=12 T 350 600 9 8 1 1 0 0 1 pinlabel=A T 350 600 5 8 0 1 0 2 1 pintype=in } P 300 200 0 200 1 0 1 { T 200 250 5 8 1 1 0 6 1 pinnumber=11 T 200 150 5 8 0 1 0 8 1 pinseq=11 T 350 200 9 8 1 1 0 0 1 pinlabel=B T 350 200 5 8 0 1 0 2 1 pintype=in } P 2600 1800 2300 1800 1 0 0 { T 2400 1850 5 8 1 1 0 0 1 pinnumber=2 T 2400 1750 5 8 0 1 0 2 1 pinseq=2 T 2250 1800 9 8 1 1 0 6 1 pinlabel=RO T 2250 1800 5 8 0 1 0 8 1 pintype=out } P 2600 1400 2300 1400 1 0 0 { T 2400 1450 5 8 1 1 0 0 1 pinnumber=9 T 2400 1350 5 8 0 1 0 2 1 pinseq=9 T 2250 1400 9 8 1 1 0 6 1 pinlabel=Y T 2250 1400 5 8 0 1 0 8 1 pintype=tri } P 2600 1000 2300 1000 1 0 0 { T 2400 1050 5 8 1 1 0 0 1 pinnumber=10 T 2400 950 5 8 0 1 0 2 1 pinseq=10 T 2250 1000 9 8 1 1 0 6 1 pinlabel=Z T 2250 1000 5 8 0 1 0 8 1 pintype=tri } B 300 0 2000 2000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 2250 5 10 0 0 0 0 1 device=MAX1482 V 250 1800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 1800 0 1800 1 0 1 { T 200 1850 5 8 1 1 0 6 1 pinnumber=3 T 200 1750 5 8 0 1 0 8 1 pinseq=3 T 350 1800 9 8 1 1 0 0 1 pinlabel=\_RE\_ T 350 1800 5 8 0 1 0 2 1 pintype=in } T 2300 2100 8 10 1 1 0 6 1 refdes=U? T 300 2650 5 10 0 0 0 0 1 footprint=DIP14 T 300 2850 5 10 0 0 0 0 1 description=1/8-unit-load, slew-rate-limited RS-485 transceiver T 300 2450 5 10 0 0 0 0 1 numslots=0 T 300 3050 5 10 0 0 0 0 1 net=GND:6,7 T 300 3250 5 10 0 0 0 0 1 net=Vcc:14 T 300 3450 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX1482-MAX1483.pdf T 300 2050 9 10 1 0 0 0 1 MAX1482 geda-gaf-1.8.2/symbols/maxim/max4429-1.sym0000664000175000017500000000327012204104272014677 00000000000000v 20041228 1 B 300 300 1400 1600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1200 100 9 10 1 1 0 0 1 device=MAX4429 T 1300 2000 8 10 1 1 0 0 1 refdes=U? T 600 2900 5 10 0 0 0 0 1 footprint=DIP8 T 600 2800 5 10 0 0 0 0 1 description=High-Speed, 6A Single MOSFET Driver T 600 2700 5 10 0 0 0 0 1 numslots=0 V 1750 1400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1800 1400 2000 1400 1 0 1 { T 1800 1450 5 10 1 1 0 0 1 pinnumber=7 T 2100 1450 5 10 0 0 0 0 1 pinseq=7 T 2100 1350 5 10 0 0 0 1 1 pintype=out T 1200 1400 9 10 1 1 0 1 1 pinlabel=OUT } V 1750 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1800 800 2000 800 1 0 1 { T 1800 850 5 10 1 1 0 0 1 pinnumber=6 T 2100 850 5 10 0 0 0 0 1 pinseq=6 T 2100 750 5 10 0 0 0 1 1 pintype=out T 1200 800 9 10 1 1 0 1 1 pinlabel=OUT } P 300 1100 0 1100 1 0 1 { T 0 1150 5 10 1 1 0 0 1 pinnumber=2 T 0 950 5 10 0 0 0 0 1 pinseq=2 T 0 850 5 10 0 0 0 1 1 pintype=in T 400 1100 9 10 1 1 0 1 1 pinlabel=IN } P 600 300 600 0 1 0 1 { T 650 100 5 10 1 1 0 0 1 pinnumber=4 T 50 500 5 10 0 0 0 0 1 pinseq=4 T 50 400 5 10 0 0 0 1 1 pintype=pwr T 600 400 9 10 1 1 90 1 1 pinlabel=GND } P 900 300 900 0 1 0 1 { T 950 100 5 10 1 1 0 0 1 pinnumber=5 T 1150 500 5 10 0 0 0 0 1 pinseq=5 T 1150 400 5 10 0 0 0 1 1 pintype=pwr T 900 400 9 10 1 1 90 1 1 pinlabel=GND } P 600 1900 600 2200 1 0 1 { T 650 2000 5 10 1 1 0 0 1 pinnumber=1 T 50 2500 5 10 0 0 0 0 1 pinseq=1 T 50 2400 5 10 0 0 0 1 1 pintype=pwr T 600 1500 9 10 1 1 90 1 1 pinlabel=Vdd } P 900 1900 900 2200 1 0 1 { T 950 2000 5 10 1 1 0 0 1 pinnumber=8 T 1150 2500 5 10 0 0 0 0 1 pinseq=8 T 1150 2400 5 10 0 0 0 1 1 pintype=pwr T 900 1500 9 10 1 1 90 1 1 pinlabel=Vdd } T 600 3000 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX4420-MXT429.pdf geda-gaf-1.8.2/symbols/maxim/max1081-1.sym0000664000175000017500000001006412204104272014665 00000000000000v 20070626 1 T 300 3750 5 10 0 0 0 0 1 footprint=TSSOP20 B 300 0 1500 3300 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 T 300 3550 5 10 0 0 0 0 1 device=MAX1081 T 1800 3400 8 10 1 1 0 6 1 refdes=U? P 300 3000 0 3000 1 0 1 { T 200 2950 5 8 0 1 0 8 1 pinseq=1 T 200 3050 5 8 1 1 0 6 1 pinnumber=1 T 350 3000 5 8 0 1 0 2 1 pintype=in T 350 3000 9 8 1 1 0 0 1 pinlabel=CH0 } P 300 2700 0 2700 1 0 1 { T 200 2650 5 8 0 1 0 8 1 pinseq=2 T 200 2750 5 8 1 1 0 6 1 pinnumber=2 T 350 2700 5 8 0 1 0 2 1 pintype=in T 350 2700 9 8 1 1 0 0 1 pinlabel=CH1 } P 300 2400 0 2400 1 0 1 { T 200 2350 5 8 0 1 0 8 1 pinseq=3 T 200 2450 5 8 1 1 0 6 1 pinnumber=3 T 350 2400 5 8 0 1 0 2 1 pintype=in T 350 2400 9 8 1 1 0 0 1 pinlabel=CH2 } P 300 2100 0 2100 1 0 1 { T 200 2050 5 8 0 1 0 8 1 pinseq=4 T 200 2150 5 8 1 1 0 6 1 pinnumber=4 T 350 2100 5 8 0 1 0 2 1 pintype=in T 350 2100 9 8 1 1 0 0 1 pinlabel=CH3 } P 300 1800 0 1800 1 0 1 { T 200 1750 5 8 0 1 0 8 1 pinseq=5 T 200 1850 5 8 1 1 0 6 1 pinnumber=5 T 350 1800 5 8 0 1 0 2 1 pintype=in T 350 1800 9 8 1 1 0 0 1 pinlabel=CH4 } P 300 1500 0 1500 1 0 1 { T 200 1450 5 8 0 1 0 8 1 pinseq=6 T 200 1550 5 8 1 1 0 6 1 pinnumber=6 T 350 1500 5 8 0 1 0 2 1 pintype=in T 350 1500 9 8 1 1 0 0 1 pinlabel=CH5 } P 300 1200 0 1200 1 0 1 { T 200 1150 5 8 0 1 0 8 1 pinseq=7 T 200 1250 5 8 1 1 0 6 1 pinnumber=7 T 350 1200 5 8 0 1 0 2 1 pintype=in T 350 1200 9 8 1 1 0 0 1 pinlabel=CH6 } P 300 900 0 900 1 0 1 { T 200 850 5 8 0 1 0 8 1 pinseq=8 T 200 950 5 8 1 1 0 6 1 pinnumber=8 T 350 900 5 8 0 1 0 2 1 pintype=in T 350 900 9 8 1 1 0 0 1 pinlabel=CH7 } P 300 600 0 600 1 0 1 { T 200 550 5 8 0 1 0 8 1 pinseq=9 T 200 650 5 8 1 1 0 6 1 pinnumber=9 T 350 600 5 8 0 1 0 2 1 pintype=pwr T 350 600 9 8 1 1 0 0 1 pinlabel=COM } V 250 300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 300 0 300 1 0 1 { T 200 250 5 8 0 1 0 8 1 pinseq=10 T 200 350 5 8 1 1 0 6 1 pinnumber=10 T 350 300 5 8 0 1 0 2 1 pintype=in T 350 300 9 8 1 1 0 0 1 pinlabel=\_SHDN\_ } P 1800 3000 2100 3000 1 0 1 { T 1900 2950 5 8 0 1 0 2 1 pinseq=11 T 1900 3050 5 8 1 1 0 0 1 pinnumber=20 T 1750 3000 5 8 0 1 0 8 1 pintype=pwr T 1750 3000 9 8 1 1 0 6 1 pinlabel=VDD1 } P 1800 2700 2100 2700 1 0 1 { T 1900 2650 5 8 0 1 0 2 1 pinseq=12 T 1900 2750 5 8 1 1 0 0 1 pinnumber=19 T 1750 2700 5 8 0 1 0 8 1 pintype=pwr T 1750 2700 9 8 1 1 0 6 1 pinlabel=VDD2 } L 1800 2475 1700 2400 3 0 0 0 -1 -1 L 1800 2325 1700 2400 3 0 0 0 -1 -1 P 1800 2400 2100 2400 1 0 1 { T 1900 2350 5 8 0 1 0 2 1 pinseq=13 T 1900 2450 5 8 1 1 0 0 1 pinnumber=18 T 1750 2400 5 8 0 1 0 8 1 pintype=in T 1725 2400 9 8 1 1 0 6 1 pinlabel=SCLK } V 1850 2100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1900 2100 2100 2100 1 0 1 { T 1900 2050 5 8 0 1 0 2 1 pinseq=14 T 1900 2150 5 8 1 1 0 0 1 pinnumber=17 T 1750 2100 5 8 0 1 0 8 1 pintype=in T 1750 2100 9 8 1 1 0 6 1 pinlabel=\_CS\_ } P 1800 1800 2100 1800 1 0 1 { T 1900 1750 5 8 0 1 0 2 1 pinseq=15 T 1900 1850 5 8 1 1 0 0 1 pinnumber=16 T 1750 1800 5 8 0 1 0 8 1 pintype=in T 1750 1800 9 8 1 1 0 6 1 pinlabel=DIN } P 1800 1500 2100 1500 1 0 1 { T 1900 1450 5 8 0 1 0 2 1 pinseq=16 T 1900 1550 5 8 1 1 0 0 1 pinnumber=15 T 1750 1500 5 8 0 1 0 8 1 pintype=out T 1750 1500 9 8 1 1 0 6 1 pinlabel=SSTRB } P 1800 1200 2100 1200 1 0 1 { T 1900 1150 5 8 0 1 0 2 1 pinseq=17 T 1900 1250 5 8 1 1 0 0 1 pinnumber=14 T 1750 1200 5 8 0 1 0 8 1 pintype=out T 1750 1200 9 8 1 1 0 6 1 pinlabel=DOUT } P 1800 900 2100 900 1 0 1 { T 1900 850 5 8 0 1 0 2 1 pinseq=18 T 1900 950 5 8 1 1 0 0 1 pinnumber=13 T 1750 900 5 8 0 1 0 8 1 pintype=pwr T 1750 900 9 8 1 1 0 6 1 pinlabel=GND } P 1800 600 2100 600 1 0 1 { T 1900 550 5 8 0 1 0 2 1 pinseq=19 T 1900 650 5 8 1 1 0 0 1 pinnumber=12 T 1750 600 5 8 0 1 0 8 1 pintype=in T 1750 600 9 8 1 1 0 6 1 pinlabel=REFADJ } P 1800 300 2100 300 1 0 1 { T 1900 250 5 8 0 1 0 2 1 pinseq=20 T 1900 350 5 8 1 1 0 0 1 pinnumber=11 T 1750 300 5 8 0 1 0 8 1 pintype=io T 1750 300 9 8 1 1 0 6 1 pinlabel=REF } T 300 3950 5 10 0 0 0 0 1 numslots=0 T 300 4150 5 10 0 0 0 0 1 description=8-channel, serial 10-bit ADC with internal reference T 300 4350 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX1080-MAX1081.pdf T 300 3350 3 10 1 0 0 0 1 MAX1081 geda-gaf-1.8.2/symbols/maxim/max6018-1.sym0000664000175000017500000000167212204104272014677 00000000000000v 20041228 1 B 0 300 1500 1100 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 T 100 2000 5 10 0 0 0 0 1 device=MAX6018 P 700 1700 700 1400 1 0 0 { T 750 1500 5 8 1 1 0 0 1 pinnumber=1 T 750 1500 5 8 0 1 0 2 1 pinseq=1 T 700 1200 5 8 0 1 0 5 1 pintype=pwr T 700 1350 9 8 1 1 0 5 1 pinlabel=Vcc } P 1500 900 1800 900 1 0 1 { T 1600 950 5 8 1 1 0 0 1 pinnumber=2 T 1600 850 5 8 0 1 0 2 1 pinseq=2 T 1450 900 5 8 0 1 0 8 1 pintype=out T 1450 900 9 8 1 1 0 6 1 pinlabel=OUT } P 700 0 700 300 1 0 0 { T 750 100 5 8 1 1 0 0 1 pinnumber=3 T 750 100 5 8 0 1 0 2 1 pinseq=3 T 700 500 5 8 0 1 0 3 1 pintype=pwr T 700 350 9 8 1 1 0 3 1 pinlabel=GND } T 100 2200 5 10 0 0 0 0 1 footprint=SOT23 T 1500 1500 8 10 1 1 0 6 1 refdes=U? T 100 2650 5 10 0 0 0 0 1 description=precision, micropower, low-dropout, 1.8V voltage reference T 100 2450 5 10 0 0 0 0 1 numslots=0 T 100 2850 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX6018.pdf T 150 775 9 10 1 0 0 0 1 MAX6018 geda-gaf-1.8.2/symbols/maxim/max6674-1.sym0000664000175000017500000000262512204104272014706 00000000000000v 20070626 1 B 300 0 800 1600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 350 1650 8 10 1 1 0 0 1 refdes=U? T 1450 1050 5 10 0 0 0 0 1 device=MAX6674 T 1450 650 5 10 0 0 0 0 1 description=Cold-Junction-Compensated K-Thermocuple-to-Digital Converter (0'C to +128'C) T 1450 850 5 10 0 0 0 0 1 footprint=SO8 T 1450 50 5 10 0 0 0 0 1 numslots=0 T 1450 450 5 10 0 0 0 0 1 net=GND:1 T 1450 250 5 10 0 0 0 0 1 net=Vcc:4 P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=2 T 200 1350 5 8 0 1 0 8 1 pinseq=1 T 350 1400 9 8 1 1 0 0 1 pinlabel=T- T 350 1400 5 8 0 1 0 2 1 pintype=in } P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=3 T 200 950 5 8 0 1 0 8 1 pinseq=2 T 350 1000 9 8 1 1 0 0 1 pinlabel=T+ T 350 1000 5 8 0 1 0 2 1 pintype=in } P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=5 T 200 550 5 8 0 1 0 8 1 pinseq=4 T 350 600 9 8 1 1 0 0 1 pinlabel=SCK T 350 600 5 8 0 1 0 2 1 pintype=clk } P 0 200 200 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=6 T 200 150 5 8 0 1 0 8 1 pinseq=3 T 350 200 9 8 1 1 0 0 1 pinlabel=\_CS\_ T 350 200 5 8 0 1 0 2 1 pintype=in } P 1400 1400 1100 1400 1 0 0 { T 1200 1450 5 8 1 1 0 0 1 pinnumber=7 T 1200 1350 5 8 0 1 0 2 1 pinseq=5 T 1050 1400 9 8 1 1 0 6 1 pinlabel=SO T 1050 1400 5 8 0 1 0 8 1 pintype=out } V 250 200 52 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1450 1250 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX667.pdf T 1000 100 9 10 1 0 90 0 1 MAX6674 geda-gaf-1.8.2/symbols/maxim/max3491-1.sym0000664000175000017500000000571012204104272014676 00000000000000v 20041228 1 L 600 1600 600 1200 3 0 0 0 -1 -1 L 600 1200 900 1400 3 0 0 0 -1 -1 L 900 1400 600 1600 3 0 0 0 -1 -1 L 900 1000 900 600 3 0 0 0 -1 -1 L 900 600 600 800 3 0 0 0 -1 -1 L 600 800 900 1000 3 0 0 0 -1 -1 V 800 1300 25 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 700 700 25 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 925 700 25 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 600 1400 400 1400 3 0 0 0 -1 -1 L 825 1500 1000 1500 3 0 0 0 -1 -1 L 950 700 1000 700 3 0 0 0 -1 -1 L 900 900 1000 900 3 0 0 0 -1 -1 L 700 675 700 500 3 0 0 0 -1 -1 L 700 1525 700 1700 3 0 0 0 -1 -1 L 600 800 400 800 3 0 0 0 -1 -1 P 300 1400 0 1400 1 0 1 { T 200 1450 5 8 1 1 0 6 1 pinnumber=5 T 200 1350 5 8 0 1 0 8 1 pinseq=5 T 350 1450 9 8 1 1 0 0 1 pinlabel=DI T 350 1400 5 8 0 1 0 2 1 pintype=in } P 300 800 0 800 1 0 1 { T 200 850 5 8 1 1 0 6 1 pinnumber=2 T 200 750 5 8 0 1 0 8 1 pinseq=2 T 350 850 9 8 1 1 0 0 1 pinlabel=RO T 350 800 5 8 0 1 0 2 1 pintype=tri } P 1200 1600 1500 1600 1 0 1 { T 1300 1650 5 8 1 1 0 0 1 pinnumber=9 T 1300 1550 5 8 0 1 0 2 1 pinseq=9 T 1150 1650 9 8 1 1 0 6 1 pinlabel=Y T 1150 1600 5 8 0 1 0 8 1 pintype=tri } P 1200 1200 1500 1200 1 0 1 { T 1300 1250 5 8 1 1 0 0 1 pinnumber=10 T 1300 1150 5 8 0 1 0 2 1 pinseq=10 T 1150 1250 9 8 1 1 0 6 1 pinlabel=Z T 1150 1200 5 8 0 1 0 8 1 pintype=tri } P 1200 1000 1500 1000 1 0 1 { T 1300 1050 5 8 1 1 0 0 1 pinnumber=12 T 1300 950 5 8 0 1 0 2 1 pinseq=12 T 1150 1050 9 8 1 1 0 6 1 pinlabel=A T 1150 1000 5 8 0 1 0 8 1 pintype=in } P 1200 600 1500 600 1 0 1 { T 1300 650 5 8 1 1 0 0 1 pinnumber=11 T 1300 550 5 8 0 1 0 2 1 pinseq=11 T 1150 650 9 8 1 1 0 6 1 pinlabel=B T 1150 600 5 8 0 1 0 8 1 pintype=in } P 700 300 700 0 1 0 1 { T 650 100 5 8 1 1 0 6 1 pinnumber=3 T 750 100 5 8 0 1 0 2 1 pinseq=3 T 700 350 9 8 1 1 0 6 1 pinlabel=RE T 700 500 5 8 0 1 0 6 1 pintype=in } P 700 1900 700 2200 1 0 1 { T 650 2000 5 8 1 1 0 6 1 pinnumber=4 T 750 2000 5 8 0 1 0 2 1 pinseq=4 T 700 1850 9 8 1 1 0 8 1 pinlabel=DE T 700 1700 5 8 0 1 0 8 1 pintype=in } B 300 300 900 1600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 1000 1500 1000 1600 3 0 0 0 -1 -1 L 1000 1600 1200 1600 3 0 0 0 -1 -1 L 1000 1300 1000 1200 3 0 0 0 -1 -1 L 1000 1200 1200 1200 3 0 0 0 -1 -1 L 1000 900 1000 1000 3 0 0 0 -1 -1 L 1000 1000 1200 1000 3 0 0 0 -1 -1 L 1000 700 1000 600 3 0 0 0 -1 -1 L 1000 600 1200 600 3 0 0 0 -1 -1 L 700 1700 700 1900 3 0 0 0 -1 -1 L 700 500 700 300 3 0 0 0 -1 -1 L 400 1400 300 1400 3 0 0 0 -1 -1 L 400 800 300 800 3 0 0 0 -1 -1 L 850 1300 1000 1300 3 0 0 0 -1 -1 L 850 1300 825 1300 3 0 0 0 -1 -1 L 825 1500 750 1500 3 0 0 0 -1 -1 T 800 2150 5 10 0 0 0 0 1 device=MAX3491 T 900 100 8 10 1 1 0 0 1 refdes=U? T 800 2550 5 10 0 0 0 0 1 footprint=DIP14 T 800 2750 5 10 0 0 0 0 1 description=3.3V-powered, 10Mbps and slew-rate-limited true RS-485/RS-422 transceiver T 800 2350 5 10 0 0 0 0 1 numslots=0 T 800 2950 5 10 0 0 0 0 1 net=GND:6,7 T 800 3150 5 10 0 0 0 0 1 net=Vcc:13,14 T 800 3350 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX3483-MAX3491.pdf T 800 1950 9 10 1 0 0 0 1 MAX3491 geda-gaf-1.8.2/symbols/maxim/max400-1.sym0000664000175000017500000000251412204104272014600 00000000000000v 20041228 1 P 300 1400 0 1400 1 0 1 { T 200 1450 5 8 1 1 0 6 1 pinnumber=3 T 200 1350 5 8 0 1 0 8 1 pinseq=3 T 350 1400 9 8 1 1 0 0 1 pinlabel=IN+ T 350 1400 5 8 0 1 0 2 1 pintype=in } P 300 1000 0 1000 1 0 1 { T 200 1050 5 8 1 1 0 6 1 pinnumber=2 T 200 950 5 8 0 1 0 8 1 pinseq=2 T 350 1000 9 8 1 1 0 0 1 pinlabel=IN- T 350 1000 5 8 0 1 0 2 1 pintype=in } P 300 600 0 600 1 0 1 { T 200 650 5 8 1 1 0 6 1 pinnumber=1 T 200 550 5 8 0 1 0 8 1 pinseq=1 T 350 600 9 8 1 1 0 0 1 pinlabel=VOSTRIM T 350 600 5 8 0 1 0 2 1 pintype=pas } P 300 200 0 200 1 0 1 { T 200 250 5 8 1 1 0 6 1 pinnumber=8 T 200 150 5 8 0 1 0 8 1 pinseq=8 T 350 200 9 8 1 1 0 0 1 pinlabel=VOSTRIM T 350 200 5 8 0 1 0 2 1 pintype=pas } B 300 0 2000 1600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 1850 5 10 0 0 0 0 1 device=MAX400 P 2300 800 2600 800 1 0 1 { T 2400 850 5 8 1 1 0 0 1 pinnumber=6 T 2400 750 5 8 0 1 0 2 1 pinseq=6 T 2250 800 9 8 1 1 0 6 1 pinlabel=VOUT T 2250 800 5 8 0 1 0 8 1 pintype=out } T 2300 1700 8 10 1 1 0 6 1 refdes=U? T 300 2250 5 10 0 0 0 0 1 footprint=DIP8 T 300 2850 5 10 0 0 0 0 1 description=ultra-low offset voltage operational amplifier T 300 2050 5 10 0 0 0 0 1 numslots=0 T 300 2450 5 10 0 0 0 0 1 net=V+:7 T 300 2650 5 10 0 0 0 0 1 net=V-:4 T 300 3050 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX400.pdf T 300 1650 9 10 1 0 0 0 1 MAX400 geda-gaf-1.8.2/symbols/maxim/max1614-1.sym0000664000175000017500000000336412204104272014674 00000000000000v 20070626 1 P 300 1200 0 1200 1 0 1 { T 200 1250 5 8 1 1 0 6 1 pinnumber=4 T 200 1150 5 8 0 1 0 8 1 pinseq=4 T 350 1200 9 8 1 1 0 0 1 pinlabel=LBI T 350 1200 5 8 0 1 0 2 1 pintype=in } P 300 800 0 800 1 0 1 { T 200 850 5 8 1 1 0 6 1 pinnumber=7 T 200 750 5 8 0 1 0 8 1 pinseq=7 T 350 800 9 8 1 1 0 0 1 pinlabel=SRC T 350 800 5 8 0 1 0 2 1 pintype=in } P 2600 2000 2300 2000 1 0 0 { T 2400 2050 5 8 1 1 0 0 1 pinnumber=3 T 2400 1950 5 8 0 1 0 2 1 pinseq=3 T 2250 2000 9 8 1 1 0 6 1 pinlabel=\_LBO\_ T 2250 2000 5 8 0 1 0 8 1 pintype=out } P 2600 1600 2300 1600 1 0 0 { T 2400 1650 5 8 1 1 0 0 1 pinnumber=6 T 2400 1550 5 8 0 1 0 2 1 pinseq=6 T 2250 1600 9 8 1 1 0 6 1 pinlabel=GATE T 2250 1600 5 8 0 1 0 8 1 pintype=out } B 300 0 2000 2200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 2650 5 10 0 0 0 0 1 device=MAX1614 P 300 400 0 400 1 0 1 { T 200 450 5 8 1 1 0 6 1 pinnumber=8 T 200 350 5 8 0 1 0 8 1 pinseq=8 T 350 400 9 8 1 1 0 0 1 pinlabel=BATT T 350 400 5 8 0 1 0 2 1 pintype=in } P 0 1600 200 1600 1 0 0 { T 200 1650 5 8 1 1 0 6 1 pinnumber=2 T 200 1550 5 8 0 1 0 8 1 pinseq=2 T 350 1600 9 8 1 1 0 0 1 pinlabel=\_OFF\_ T 350 1600 5 8 0 1 0 2 1 pintype=in } V 250 1600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2000 200 2000 1 0 0 { T 200 2050 5 8 1 1 0 6 1 pinnumber=1 T 200 1950 5 8 0 1 0 8 1 pinseq=1 T 350 2000 9 8 1 1 0 0 1 pinlabel=\_ON\_ T 350 2000 5 8 0 1 0 2 1 pintype=in } V 250 2000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2300 2300 8 10 1 1 0 6 1 refdes=U? T 300 2850 5 10 0 0 0 0 1 footprint=uMAX8 T 300 3050 5 10 0 0 0 0 1 description=high-side, N-Channel MOSFET Switch Driver T 300 2450 5 10 0 0 0 0 1 numslots=0 T 300 3250 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX1614.pdf T 300 2250 9 10 1 0 0 0 1 MAX1614 T 300 3450 5 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/maxim/max12529-1.sym0000664000175000017500000004055512204104272014766 00000000000000v 20050313 1 P 100 11300 400 11300 1 0 0 { T 325 11350 5 10 1 1 0 6 1 pinnumber=2 T 100 11300 5 10 0 1 0 0 1 pinseq=2 T 300 11350 5 10 0 1 0 0 1 pintype=in T 500 11350 5 10 1 1 0 0 1 pinlabel=INAP } B 400 400 4900 11800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 5600 7000 5300 7000 1 0 0 { T 5500 7000 5 10 0 1 0 0 1 pintype=out T 5350 7025 5 10 1 1 0 0 1 pinnumber=41 T 5500 7000 5 10 0 1 0 0 1 pinseq=41 T 4700 7000 5 10 1 1 0 1 1 pinlabel=DB11 } P 5600 6800 5300 6800 1 0 0 { T 5500 6800 5 10 0 1 0 0 1 pintype=out T 5350 6825 5 10 1 1 0 0 1 pinnumber=40 T 5500 6800 5 10 0 1 0 0 1 pinseq=40 T 4700 6800 5 10 1 1 0 1 1 pinlabel=DB10 } P 5600 6600 5300 6600 1 0 0 { T 5500 6600 5 10 0 1 0 0 1 pintype=out T 5350 6625 5 10 1 1 0 0 1 pinnumber=39 T 5500 6600 5 10 0 1 0 0 1 pinseq=39 T 4700 6600 5 10 1 1 0 1 1 pinlabel=DB9 } P 5600 6400 5300 6400 1 0 0 { T 5500 6400 5 10 0 1 0 0 1 pintype=out T 5350 6425 5 10 1 1 0 0 1 pinnumber=38 T 5500 6400 5 10 0 1 0 0 1 pinseq=38 T 4700 6400 5 10 1 1 0 1 1 pinlabel=DB8 } P 5600 6200 5300 6200 1 0 0 { T 5500 6200 5 10 0 1 0 0 1 pintype=out T 5350 6225 5 10 1 1 0 0 1 pinnumber=37 T 5500 6200 5 10 0 1 0 0 1 pinseq=37 T 4700 6200 5 10 1 1 0 1 1 pinlabel=DB7 } P 5600 6000 5300 6000 1 0 0 { T 5500 6000 5 10 0 1 0 0 1 pintype=out T 5350 6025 5 10 1 1 0 0 1 pinnumber=36 T 5500 6000 5 10 0 1 0 0 1 pinseq=36 T 4700 6000 5 10 1 1 0 1 1 pinlabel=DB6 } P 5600 5800 5300 5800 1 0 0 { T 5500 5800 5 10 0 1 0 0 1 pintype=out T 5350 5825 5 10 1 1 0 0 1 pinnumber=35 T 5500 5800 5 10 0 1 0 0 1 pinseq=35 T 4700 5800 5 10 1 1 0 1 1 pinlabel=DB5 } P 5600 5600 5300 5600 1 0 0 { T 5500 5600 5 10 0 1 0 0 1 pintype=out T 5350 5625 5 10 1 1 0 0 1 pinnumber=34 T 5500 5600 5 10 0 1 0 0 1 pinseq=34 T 4700 5600 5 10 1 1 0 1 1 pinlabel=DB4 } P 5600 5400 5300 5400 1 0 0 { T 5500 5400 5 10 0 1 0 0 1 pintype=out T 5350 5425 5 10 1 1 0 0 1 pinnumber=33 T 5500 5400 5 10 0 1 0 0 1 pinseq=33 T 4700 5400 5 10 1 1 0 1 1 pinlabel=DB3 } P 5600 5200 5300 5200 1 0 0 { T 5500 5200 5 10 0 1 0 0 1 pintype=out T 5350 5225 5 10 1 1 0 0 1 pinnumber=32 T 5500 5200 5 10 0 1 0 0 1 pinseq=32 T 4700 5200 5 10 1 1 0 1 1 pinlabel=DB2 } P 5600 5000 5300 5000 1 0 0 { T 5500 5000 5 10 0 1 0 0 1 pintype=out T 5350 5025 5 10 1 1 0 0 1 pinnumber=31 T 5500 5000 5 10 0 1 0 0 1 pinseq=31 T 4700 5000 5 10 1 1 0 1 1 pinlabel=DB1 } P 5600 4800 5300 4800 1 0 0 { T 5500 4800 5 10 0 1 0 0 1 pintype=out T 5350 4825 5 10 1 1 0 0 1 pinnumber=30 T 5500 4800 5 10 0 1 0 0 1 pinseq=30 T 4700 4800 5 10 1 1 0 1 1 pinlabel=DB0 } P 5600 4300 5300 4300 1 0 0 { T 5500 4300 5 10 0 1 0 0 1 pintype=out T 5350 4325 5 10 1 1 0 0 1 pinnumber=29 T 5500 4300 5 10 0 1 0 0 1 pinseq=29 T 4700 4300 5 10 1 1 0 1 1 pinlabel=NC1 } P 5600 4100 5300 4100 1 0 0 { T 5500 4100 5 10 0 1 0 0 1 pintype=out T 5350 4125 5 10 1 1 0 0 1 pinnumber=28 T 5500 4100 5 10 0 1 0 0 1 pinseq=28 T 4700 4100 5 10 1 1 0 1 1 pinlabel=NC0 } P 5600 7200 5300 7200 1 0 0 { T 5500 7200 5 10 0 1 0 0 1 pintype=out T 5350 7225 5 10 1 1 0 0 1 pinnumber=42 T 5500 7200 5 10 0 1 0 0 1 pinseq=42 T 4700 7200 5 10 1 1 0 1 1 pinlabel=DORB } P 5600 11400 5300 11400 1 0 0 { T 5500 11400 5 10 0 1 0 0 1 pintype=out T 5350 11425 5 10 1 1 0 0 1 pinnumber=58 T 5500 11400 5 10 0 1 0 0 1 pinseq=58 T 4700 11400 5 10 1 1 0 1 1 pinlabel=DA11 } P 5600 11200 5300 11200 1 0 0 { T 5500 11200 5 10 0 1 0 0 1 pintype=out T 5350 11225 5 10 1 1 0 0 1 pinnumber=57 T 5500 11200 5 10 0 1 0 0 1 pinseq=57 T 4700 11200 5 10 1 1 0 1 1 pinlabel=DA10 } P 5600 11000 5300 11000 1 0 0 { T 5500 11000 5 10 0 1 0 0 1 pintype=out T 5350 11025 5 10 1 1 0 0 1 pinnumber=56 T 5500 11000 5 10 0 1 0 0 1 pinseq=56 T 4700 11000 5 10 1 1 0 1 1 pinlabel=DA9 } P 5600 10800 5300 10800 1 0 0 { T 5500 10800 5 10 0 1 0 0 1 pintype=out T 5350 10825 5 10 1 1 0 0 1 pinnumber=55 T 5500 10800 5 10 0 1 0 0 1 pinseq=55 T 4700 10800 5 10 1 1 0 1 1 pinlabel=DA8 } P 5600 10600 5300 10600 1 0 0 { T 5500 10600 5 10 0 1 0 0 1 pintype=out T 5350 10625 5 10 1 1 0 0 1 pinnumber=54 T 5500 10600 5 10 0 1 0 0 1 pinseq=54 T 4700 10600 5 10 1 1 0 1 1 pinlabel=DA7 } P 5600 10400 5300 10400 1 0 0 { T 5500 10400 5 10 0 1 0 0 1 pintype=out T 5350 10425 5 10 1 1 0 0 1 pinnumber=53 T 5500 10400 5 10 0 1 0 0 1 pinseq=53 T 4700 10400 5 10 1 1 0 1 1 pinlabel=DA6 } P 5600 10200 5300 10200 1 0 0 { T 5500 10200 5 10 0 1 0 0 1 pintype=out T 5350 10225 5 10 1 1 0 0 1 pinnumber=52 T 5500 10200 5 10 0 1 0 0 1 pinseq=52 T 4700 10200 5 10 1 1 0 1 1 pinlabel=DA5 } P 5600 10000 5300 10000 1 0 0 { T 5500 10000 5 10 0 1 0 0 1 pintype=out T 5350 10025 5 10 1 1 0 0 1 pinnumber=51 T 5500 10000 5 10 0 1 0 0 1 pinseq=51 T 4700 10000 5 10 1 1 0 1 1 pinlabel=DA4 } P 5600 9800 5300 9800 1 0 0 { T 5500 9800 5 10 0 1 0 0 1 pintype=out T 5350 9825 5 10 1 1 0 0 1 pinnumber=50 T 5500 9800 5 10 0 1 0 0 1 pinseq=50 T 4700 9800 5 10 1 1 0 1 1 pinlabel=DA3 } P 5600 9600 5300 9600 1 0 0 { T 5500 9600 5 10 0 1 0 0 1 pintype=out T 5350 9625 5 10 1 1 0 0 1 pinnumber=49 T 5500 9600 5 10 0 1 0 0 1 pinseq=49 T 4700 9600 5 10 1 1 0 1 1 pinlabel=DA2 } P 5600 9400 5300 9400 1 0 0 { T 5500 9400 5 10 0 1 0 0 1 pintype=out T 5350 9425 5 10 1 1 0 0 1 pinnumber=48 T 5500 9400 5 10 0 1 0 0 1 pinseq=48 T 4700 9400 5 10 1 1 0 1 1 pinlabel=DA1 } P 5600 9200 5300 9200 1 0 0 { T 5500 9200 5 10 0 1 0 0 1 pintype=out T 5350 9225 5 10 1 1 0 0 1 pinnumber=47 T 5500 9200 5 10 0 1 0 0 1 pinseq=47 T 4700 9200 5 10 1 1 0 1 1 pinlabel=DA0 } P 5600 8700 5300 8700 1 0 0 { T 5500 8700 5 10 0 1 0 0 1 pintype=out T 5350 8725 5 10 1 1 0 0 1 pinnumber=46 T 5500 8700 5 10 0 1 0 0 1 pinseq=46 T 4700 8700 5 10 1 1 0 1 1 pinlabel=NC3 } P 5600 8500 5300 8500 1 0 0 { T 5500 8500 5 10 0 1 0 0 1 pintype=out T 5350 8525 5 10 1 1 0 0 1 pinnumber=45 T 5500 8500 5 10 0 1 0 0 1 pinseq=45 T 4700 8500 5 10 1 1 0 1 1 pinlabel=NC2 } P 5600 11600 5300 11600 1 0 0 { T 5500 11600 5 10 0 1 0 0 1 pintype=out T 5350 11625 5 10 1 1 0 0 1 pinnumber=59 T 5500 11600 5 10 0 1 0 0 1 pinseq=59 T 4700 11600 5 10 1 1 0 1 1 pinlabel=DORA } P 5600 8000 5300 8000 1 0 0 { T 5500 8000 5 10 0 1 0 0 1 pintype=out T 5350 8025 5 10 1 1 0 0 1 pinnumber=44 T 5500 8000 5 10 0 1 0 0 1 pinseq=44 T 4700 8000 5 10 1 1 0 1 1 pinlabel=DAV } L 4300 11400 4300 9000 3 100 0 0 -1 -1 L 4600 11400 4400 11400 3 0 0 0 -1 -1 L 4300 11300 4400 11400 3 0 0 0 -1 -1 L 3700 10100 3900 10300 3 0 0 0 -1 -1 L 4600 11200 4400 11200 3 0 0 0 -1 -1 L 4300 11100 4400 11200 3 0 0 0 -1 -1 L 4600 11000 4400 11000 3 0 0 0 -1 -1 L 4300 10900 4400 11000 3 0 0 0 -1 -1 L 4600 10800 4400 10800 3 0 0 0 -1 -1 L 4300 10700 4400 10800 3 0 0 0 -1 -1 L 4600 10600 4400 10600 3 0 0 0 -1 -1 L 4300 10500 4400 10600 3 0 0 0 -1 -1 L 4600 10400 4400 10400 3 0 0 0 -1 -1 L 4300 10300 4400 10400 3 0 0 0 -1 -1 L 4600 10200 4400 10200 3 0 0 0 -1 -1 L 4300 10100 4400 10200 3 0 0 0 -1 -1 L 4600 10000 4400 10000 3 0 0 0 -1 -1 L 4300 9900 4400 10000 3 0 0 0 -1 -1 L 4600 9800 4400 9800 3 0 0 0 -1 -1 L 4300 9700 4400 9800 3 0 0 0 -1 -1 L 4600 9600 4400 9600 3 0 0 0 -1 -1 L 4300 9500 4400 9600 3 0 0 0 -1 -1 L 4600 9400 4400 9400 3 0 0 0 -1 -1 L 4300 9300 4400 9400 3 0 0 0 -1 -1 L 4600 9200 4400 9200 3 0 0 0 -1 -1 L 4300 9100 4400 9200 3 0 0 0 -1 -1 L 3100 10200 4300 10200 3 100 0 0 -1 -1 T 3600 10300 9 10 1 0 0 0 1 12 L 4300 7000 4300 4600 3 100 0 0 -1 -1 L 4600 7000 4400 7000 3 0 0 0 -1 -1 L 4300 6900 4400 7000 3 0 0 0 -1 -1 L 3700 5700 3900 5900 3 0 0 0 -1 -1 L 4600 6800 4400 6800 3 0 0 0 -1 -1 L 4300 6700 4400 6800 3 0 0 0 -1 -1 L 4600 6600 4400 6600 3 0 0 0 -1 -1 L 4300 6500 4400 6600 3 0 0 0 -1 -1 L 4600 6400 4400 6400 3 0 0 0 -1 -1 L 4300 6300 4400 6400 3 0 0 0 -1 -1 L 4600 6200 4400 6200 3 0 0 0 -1 -1 L 4300 6100 4400 6200 3 0 0 0 -1 -1 L 4600 6000 4400 6000 3 0 0 0 -1 -1 L 4300 5900 4400 6000 3 0 0 0 -1 -1 L 4600 5800 4400 5800 3 0 0 0 -1 -1 L 4300 5700 4400 5800 3 0 0 0 -1 -1 L 4600 5600 4400 5600 3 0 0 0 -1 -1 L 4300 5500 4400 5600 3 0 0 0 -1 -1 L 4600 5400 4400 5400 3 0 0 0 -1 -1 L 4300 5300 4400 5400 3 0 0 0 -1 -1 L 4600 5200 4400 5200 3 0 0 0 -1 -1 L 4300 5100 4400 5200 3 0 0 0 -1 -1 L 4600 5000 4400 5000 3 0 0 0 -1 -1 L 4300 4900 4400 5000 3 0 0 0 -1 -1 L 4600 4800 4400 4800 3 0 0 0 -1 -1 L 4300 4700 4400 4800 3 0 0 0 -1 -1 L 3100 5800 4300 5800 3 100 0 0 -1 -1 T 3600 5900 9 10 1 0 0 0 1 12 L 1100 10200 1700 10800 3 0 0 0 -1 -1 L 1100 10200 1700 9600 3 0 0 0 -1 -1 L 3100 10800 1700 10800 3 0 0 0 -1 -1 L 3100 9600 1700 9600 3 0 0 0 -1 -1 L 3100 9600 3100 10800 3 0 0 0 -1 -1 L 1500 9800 700 9800 3 0 0 0 -1 -1 L 700 9800 700 9100 3 0 0 0 -1 -1 L 1500 10600 700 10600 3 0 0 0 -1 -1 L 700 10600 700 11300 3 0 0 0 -1 -1 L 700 11300 400 11300 3 0 0 0 -1 -1 P 100 9100 400 9100 1 0 0 { T 325 9150 5 10 1 1 0 6 1 pinnumber=3 T 100 9100 5 10 0 1 0 0 1 pinseq=3 T 300 9150 5 10 0 1 0 0 1 pintype=in T 500 9050 5 10 1 1 0 2 1 pinlabel=INAN } L 700 9100 400 9100 3 0 0 0 -1 -1 P 100 6900 400 6900 1 0 0 { T 325 6950 5 10 1 1 0 6 1 pinnumber=16 T 100 6900 5 10 0 1 0 0 1 pinseq=16 T 300 6950 5 10 0 1 0 0 1 pintype=in T 500 6950 5 10 1 1 0 0 1 pinlabel=INBP } L 1100 5800 1700 6400 3 0 0 0 -1 -1 L 1100 5800 1700 5200 3 0 0 0 -1 -1 L 3100 6400 1700 6400 3 0 0 0 -1 -1 L 3100 5200 1700 5200 3 0 0 0 -1 -1 L 3100 5200 3100 6400 3 0 0 0 -1 -1 L 1500 5400 700 5400 3 0 0 0 -1 -1 L 700 5400 700 4700 3 0 0 0 -1 -1 L 1500 6200 700 6200 3 0 0 0 -1 -1 L 700 6200 700 6900 3 0 0 0 -1 -1 L 700 6900 400 6900 3 0 0 0 -1 -1 P 100 4700 400 4700 1 0 0 { T 325 4750 5 10 1 1 0 6 1 pinnumber=15 T 100 4700 5 10 0 1 0 0 1 pinseq=15 T 300 4750 5 10 0 1 0 0 1 pintype=in T 500 4650 5 10 1 1 0 2 1 pinlabel=INBN } L 700 4700 400 4700 3 0 0 0 -1 -1 P 100 4200 400 4200 1 0 0 { T 325 4250 5 10 1 1 0 6 1 pinnumber=11 T 100 4200 5 10 0 1 0 0 1 pinseq=11 T 300 4250 5 10 0 1 0 0 1 pintype=in T 500 4200 5 10 1 1 0 1 1 pinlabel=REFPB } P 100 3100 400 3100 1 0 0 { T 325 3150 5 10 1 1 0 6 1 pinnumber=10 T 100 3100 5 10 0 1 0 0 1 pinseq=10 T 300 3150 5 10 0 1 0 0 1 pintype=in T 500 3100 5 10 1 1 0 1 1 pinlabel=REFNB } P 100 10200 400 10200 1 0 0 { T 325 10250 5 10 1 1 0 6 1 pinnumber=6 T 100 10200 5 10 0 1 0 0 1 pinseq=6 T 300 10250 5 10 0 1 0 0 1 pintype=in T 500 10200 5 10 1 1 0 1 1 pinlabel=COMA } P 100 5800 400 5800 1 0 0 { T 325 5850 5 10 1 1 0 6 1 pinnumber=12 T 100 5800 5 10 0 1 0 0 1 pinseq=12 T 300 5850 5 10 0 1 0 0 1 pintype=in T 500 5800 5 10 1 1 0 1 1 pinlabel=COMB } P 100 8600 400 8600 1 0 0 { T 325 8650 5 10 1 1 0 6 1 pinnumber=7 T 100 8600 5 10 0 1 0 0 1 pinseq=7 T 300 8650 5 10 0 1 0 0 1 pintype=in T 500 8600 5 10 1 1 0 1 1 pinlabel=REFPA } P 100 7500 400 7500 1 0 0 { T 325 7550 5 10 1 1 0 6 1 pinnumber=8 T 100 7500 5 10 0 1 0 0 1 pinseq=8 T 300 7550 5 10 0 1 0 0 1 pintype=in T 500 7500 5 10 1 1 0 1 1 pinlabel=REFNA } P 100 2300 400 2300 1 0 0 { T 325 2350 5 10 1 1 0 6 1 pinnumber=67 T 100 2300 5 10 0 1 0 0 1 pinseq=67 T 300 2350 5 10 0 1 0 0 1 pintype=in T 500 2300 5 10 1 1 0 1 1 pinlabel=REFOUT } P 100 1900 400 1900 1 0 0 { T 325 1950 5 10 1 1 0 6 1 pinnumber=68 T 100 1900 5 10 0 1 0 0 1 pinseq=68 T 300 1950 5 10 0 1 0 0 1 pintype=in T 500 1900 5 10 1 1 0 1 1 pinlabel=REFIN } P 100 1200 400 1200 1 0 0 { T 325 1250 5 10 1 1 0 6 1 pinnumber=20 T 100 1200 5 10 0 1 0 0 1 pinseq=20 T 300 1250 5 10 0 1 0 0 1 pintype=in T 500 1200 5 10 1 1 0 1 1 pinlabel=CLKP } P 100 800 400 800 1 0 0 { T 325 850 5 10 1 1 0 6 1 pinnumber=19 T 100 800 5 10 0 1 0 0 1 pinseq=19 T 300 850 5 10 0 1 0 0 1 pintype=in T 500 800 5 10 1 1 0 1 1 pinlabel=CLKN } P 5600 2800 5300 2800 1 0 0 { T 5500 2800 5 10 0 1 0 0 1 pintype=in T 5350 2825 5 10 1 1 0 0 1 pinnumber=18 T 5500 2800 5 10 0 1 0 0 1 pinseq=18 T 4500 2800 5 10 1 1 0 1 1 pinlabel=DIFFCLK } P 5600 2600 5300 2600 1 0 0 { T 5500 2600 5 10 0 1 0 0 1 pintype=in T 5350 2625 5 10 1 1 0 0 1 pinnumber=64 T 5500 2600 5 10 0 1 0 0 1 pinseq=64 T 4500 2600 5 10 1 1 0 1 1 pinlabel=G/TB } P 5600 2400 5300 2400 1 0 0 { T 5500 2400 5 10 0 1 0 0 1 pintype=in T 5350 2425 5 10 1 1 0 0 1 pinnumber=21 T 5500 2400 5 10 0 1 0 0 1 pinseq=21 T 4500 2400 5 10 1 1 0 1 1 pinlabel=DIV2 } P 5600 2200 5300 2200 1 0 0 { T 5500 2200 5 10 0 1 0 0 1 pintype=in T 5350 2225 5 10 1 1 0 0 1 pinnumber=22 T 5500 2200 5 10 0 1 0 0 1 pinseq=22 T 4500 2200 5 10 1 1 0 1 1 pinlabel=DIV4 } P 5600 2000 5300 2000 1 0 0 { T 5500 2000 5 10 0 1 0 0 1 pintype=in T 5350 2025 5 10 1 1 0 0 1 pinnumber=66 T 5500 2000 5 10 0 1 0 0 1 pinseq=66 T 4500 2000 5 10 1 1 0 1 1 pinlabel=SHREF } P 5600 1800 5300 1800 1 0 0 { T 5500 1800 5 10 0 1 0 0 1 pintype=in T 5350 1825 5 10 1 1 0 0 1 pinnumber=65 T 5500 1800 5 10 0 1 0 0 1 pinseq=65 T 4500 1800 5 10 1 1 0 1 1 pinlabel=PD } P 1300 12500 1300 12200 1 0 0 { T 1275 12300 5 10 1 1 90 0 1 pinnumber=23 T 1300 12500 5 10 0 1 0 0 1 pinseq=23 T 1300 12500 5 10 0 1 0 0 1 pintype=pwr T 1300 12100 5 10 1 1 90 7 1 pinlabel=VDD } P 1500 12500 1500 12200 1 0 0 { T 1475 12300 5 10 1 1 90 0 1 pinnumber=24 T 1500 12500 5 10 0 1 0 0 1 pinseq=24 T 1500 12500 5 10 0 1 0 0 1 pintype=pwr T 1500 12100 5 10 1 1 90 7 1 pinlabel=VDD } P 1700 12500 1700 12200 1 0 0 { T 1675 12300 5 10 1 1 90 0 1 pinnumber=25 T 1700 12500 5 10 0 1 0 0 1 pinseq=25 T 1700 12500 5 10 0 1 0 0 1 pintype=pwr T 1700 12100 5 10 1 1 90 7 1 pinlabel=VDD } P 1900 12500 1900 12200 1 0 0 { T 1875 12300 5 10 1 1 90 0 1 pinnumber=26 T 1900 12500 5 10 0 1 0 0 1 pinseq=26 T 1900 12500 5 10 0 1 0 0 1 pintype=pwr T 1900 12100 5 10 1 1 90 7 1 pinlabel=VDD } P 2100 12500 2100 12200 1 0 0 { T 2075 12300 5 10 1 1 90 0 1 pinnumber=61 T 2100 12500 5 10 0 1 0 0 1 pinseq=61 T 2100 12500 5 10 0 1 0 0 1 pintype=pwr T 2100 12100 5 10 1 1 90 7 1 pinlabel=VDD } P 2300 12500 2300 12200 1 0 0 { T 2275 12300 5 10 1 1 90 0 1 pinnumber=62 T 2300 12500 5 10 0 1 0 0 1 pinseq=62 T 2300 12500 5 10 0 1 0 0 1 pintype=pwr T 2300 12100 5 10 1 1 90 7 1 pinlabel=VDD } P 2500 12500 2500 12200 1 0 0 { T 2475 12300 5 10 1 1 90 0 1 pinnumber=63 T 2500 12500 5 10 0 1 0 0 1 pinseq=63 T 2500 12500 5 10 0 1 0 0 1 pintype=pwr T 2500 12100 5 10 1 1 90 7 1 pinlabel=VDD } P 3500 12500 3500 12200 1 0 0 { T 3475 12300 5 10 1 1 90 0 1 pinnumber=27 T 3500 12500 5 10 0 1 0 0 1 pinseq=27 T 3500 12500 5 10 0 1 0 0 1 pintype=pwr T 3500 12100 5 10 1 1 90 7 1 pinlabel=OVDD } P 3700 12500 3700 12200 1 0 0 { T 3675 12300 5 10 1 1 90 0 1 pinnumber=43 T 3700 12500 5 10 0 1 0 0 1 pinseq=43 T 3700 12500 5 10 0 1 0 0 1 pintype=pwr T 3700 12100 5 10 1 1 90 7 1 pinlabel=OVDD } P 3900 12500 3900 12200 1 0 0 { T 3875 12300 5 10 1 1 90 0 1 pinnumber=60 T 3900 12500 5 10 0 1 0 0 1 pinseq=60 T 3900 12500 5 10 0 1 0 0 1 pintype=pwr T 3900 12100 5 10 1 1 90 7 1 pinlabel=OVDD } P 2100 100 2100 400 1 0 0 { T 2075 300 5 10 1 1 90 6 1 pinnumber=1 T 2100 100 5 10 0 1 180 0 1 pinseq=1 T 2100 100 5 10 0 1 180 0 1 pintype=pwr T 2100 500 5 10 1 1 90 1 1 pinlabel=GND } P 2300 100 2300 400 1 0 0 { T 2275 300 5 10 1 1 90 6 1 pinnumber=4 T 2300 100 5 10 0 1 180 0 1 pinseq=4 T 2300 100 5 10 0 1 180 0 1 pintype=pwr T 2300 500 5 10 1 1 90 1 1 pinlabel=GND } P 2500 100 2500 400 1 0 0 { T 2475 300 5 10 1 1 90 6 1 pinnumber=5 T 2500 100 5 10 0 1 180 0 1 pinseq=5 T 2500 100 5 10 0 1 180 0 1 pintype=pwr T 2500 500 5 10 1 1 90 1 1 pinlabel=GND } P 2700 100 2700 400 1 0 0 { T 2675 300 5 10 1 1 90 6 1 pinnumber=9 T 2700 100 5 10 0 1 180 0 1 pinseq=9 T 2700 100 5 10 0 1 180 0 1 pintype=pwr T 2700 500 5 10 1 1 90 1 1 pinlabel=GND } P 2900 100 2900 400 1 0 0 { T 2875 300 5 10 1 1 90 6 1 pinnumber=13 T 2900 100 5 10 0 1 180 0 1 pinseq=13 T 2900 100 5 10 0 1 180 0 1 pintype=pwr T 2900 500 5 10 1 1 90 1 1 pinlabel=GND } P 3100 100 3100 400 1 0 0 { T 3075 300 5 10 1 1 90 6 1 pinnumber=14 T 3100 100 5 10 0 1 180 0 1 pinseq=14 T 3100 100 5 10 0 1 180 0 1 pintype=pwr T 3100 500 5 10 1 1 90 1 1 pinlabel=GND } P 3300 100 3300 400 1 0 0 { T 3275 300 5 10 1 1 90 6 1 pinnumber=17 T 3300 100 5 10 0 1 180 0 1 pinseq=17 T 3300 100 5 10 0 1 180 0 1 pintype=pwr T 3300 500 5 10 1 1 90 1 1 pinlabel=GND } L 400 7300 3800 7300 3 0 0 2 25 25 L 3800 7300 3800 7800 3 0 0 2 25 25 L 3800 7800 5300 7800 3 0 0 2 25 25 L 3800 2900 3800 3400 3 0 0 2 25 25 L 3800 3400 5300 3400 3 0 0 2 25 25 L 400 2900 3800 2900 3 0 0 2 25 25 P 3800 100 3800 400 1 0 0 { T 3775 300 5 10 1 1 90 6 1 pinnumber=69 T 3800 100 5 10 0 1 180 0 1 pinseq=69 T 3800 100 5 10 0 1 180 0 1 pintype=pwr T 3800 500 5 10 1 1 90 1 1 pinlabel=EP_GND } T 1500 11500 8 10 1 1 0 0 1 refdes=U? T 1500 11200 8 10 1 1 0 0 1 device=MAX12529 T 1700 10200 9 10 1 0 0 0 1 ADC - CH. A B 400 400 4900 11800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1700 5800 9 10 1 0 0 0 1 ADC - CH. B T 1500 10900 8 10 1 1 0 0 1 footprint=TQFN68_10_EP B 400 400 4900 11800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 6400 5600 5 10 0 0 0 0 1 numslots=0 T 6400 5400 5 10 0 0 0 0 1 symversion=1.0 T 6400 5200 5 10 0 0 0 0 1 description=Dual, 96 Msps, 12-Bit, IF/Baseband ADC T 6400 5000 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX12529.pdf T 6400 5800 5 10 0 0 0 0 1 device=MAX12529 geda-gaf-1.8.2/symbols/maxim/max1206-1.sym0000664000175000017500000001732012204104272014666 00000000000000v 20050313 1 P 100 3500 400 3500 1 0 0 { T 300 3550 5 8 1 1 0 6 1 pinnumber=6 T 300 3450 5 8 0 1 0 8 1 pinseq=6 T 450 3500 9 8 1 1 0 0 1 pinlabel=INN T 450 3500 5 8 0 1 0 2 1 pintype=in } P 100 9200 400 9200 1 0 0 { T 300 9250 5 8 1 1 0 6 1 pinnumber=37 T 300 9150 5 8 0 1 0 8 1 pinseq=37 T 450 9200 9 8 1 1 0 0 1 pinlabel=PD T 450 9200 5 8 0 1 0 2 1 pintype=in } P 100 8900 400 8900 1 0 0 { T 300 8950 5 8 1 1 0 6 1 pinnumber=40 T 300 8850 5 8 0 1 0 8 1 pinseq=40 T 450 8900 9 8 1 1 0 0 1 pinlabel=G_TB T 450 8900 5 8 0 1 0 2 1 pintype=in } P 100 8600 400 8600 1 0 0 { T 300 8650 5 8 1 1 0 6 1 pinnumber=8 T 300 8550 5 8 0 1 0 8 1 pinseq=8 T 450 8600 9 8 1 1 0 0 1 pinlabel=DCE T 450 8600 5 8 0 1 0 2 1 pintype=in } P 100 8300 400 8300 1 0 0 { T 300 8350 5 8 1 1 0 6 1 pinnumber=11 T 300 8250 5 8 0 1 0 8 1 pinseq=11 T 450 8300 9 8 1 1 0 0 1 pinlabel=CLKTYP T 450 8300 5 8 0 1 0 2 1 pintype=in } P 100 7400 400 7400 1 0 0 { T 300 7450 5 8 1 1 0 6 1 pinnumber=1 T 300 7350 5 8 0 1 0 8 1 pinseq=1 T 450 7400 9 8 1 1 0 0 1 pinlabel=REFP T 450 7400 5 8 0 1 0 2 1 pintype=out } P 100 6800 400 6800 1 0 0 { T 300 6850 5 8 1 1 0 6 1 pinnumber=2 T 300 6750 5 8 0 1 0 8 1 pinseq=2 T 450 6800 9 8 1 1 0 0 1 pinlabel=REFN T 450 6800 5 8 0 1 0 2 1 pintype=out } P 100 5900 400 5900 1 0 0 { T 300 5950 5 8 1 1 0 6 1 pinnumber=5 T 300 5850 5 8 0 1 0 8 1 pinseq=5 T 450 5900 9 8 1 1 0 0 1 pinlabel=INP T 450 5900 5 8 0 1 0 2 1 pintype=in } P 100 4700 400 4700 1 0 0 { T 300 4750 5 8 1 1 0 6 1 pinnumber=3 T 300 4650 5 8 0 1 0 8 1 pinseq=3 T 450 4700 9 8 1 1 0 0 1 pinlabel=COM T 450 4700 5 8 0 1 0 2 1 pintype=out } P 3000 9200 3300 9200 1 0 1 { T 3100 9250 5 8 1 1 0 0 1 pinnumber=33 T 3100 9150 5 8 0 1 0 2 1 pinseq=33 T 2950 9200 9 8 1 1 0 6 1 pinlabel=DAV T 2950 9200 5 8 0 1 0 8 1 pintype=out } P 3000 8600 3300 8600 1 0 1 { T 3100 8650 5 8 1 1 0 0 1 pinnumber=32 T 3100 8550 5 8 0 1 0 2 1 pinseq=32 T 2950 8600 9 8 1 1 0 6 1 pinlabel=NC0 T 2950 8600 5 8 0 1 0 8 1 pintype=out } P 3000 8300 3300 8300 1 0 1 { T 3100 8350 5 8 1 1 0 0 1 pinnumber=31 T 3100 8250 5 8 0 1 0 2 1 pinseq=31 T 2950 8300 9 8 1 1 0 6 1 pinlabel=NC1 T 2950 8300 5 8 0 1 0 8 1 pintype=out } P 3000 8000 3300 8000 1 0 1 { T 3100 8050 5 8 1 1 0 0 1 pinnumber=30 T 3100 7950 5 8 0 1 0 2 1 pinseq=30 T 2950 8000 9 8 1 1 0 6 1 pinlabel=D0 T 2950 8000 5 8 0 1 0 8 1 pintype=out } P 3000 7700 3300 7700 1 0 1 { T 3100 7750 5 8 1 1 0 0 1 pinnumber=29 T 3100 7650 5 8 0 1 0 2 1 pinseq=29 T 2950 7700 9 8 1 1 0 6 1 pinlabel=D1 T 2950 7700 5 8 0 1 0 8 1 pintype=out } P 3000 7400 3300 7400 1 0 1 { T 3100 7450 5 8 1 1 0 0 1 pinnumber=28 T 3100 7350 5 8 0 1 0 2 1 pinseq=28 T 2950 7400 9 8 1 1 0 6 1 pinlabel=D2 T 2950 7400 5 8 0 1 0 8 1 pintype=out } P 3000 7100 3300 7100 1 0 1 { T 3100 7150 5 8 1 1 0 0 1 pinnumber=27 T 3100 7050 5 8 0 1 0 2 1 pinseq=27 T 2950 7100 9 8 1 1 0 6 1 pinlabel=D3 T 2950 7100 5 8 0 1 0 8 1 pintype=out } P 3000 6800 3300 6800 1 0 1 { T 3100 6850 5 8 1 1 0 0 1 pinnumber=26 T 3100 6750 5 8 0 1 0 2 1 pinseq=26 T 2950 6800 9 8 1 1 0 6 1 pinlabel=D4 T 2950 6800 5 8 0 1 0 8 1 pintype=out } B 400 400 2600 9600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 3300 10000 8 10 0 0 0 0 1 device=MAX1206 P 100 2100 400 2100 1 0 0 { T 300 2150 5 8 1 1 0 6 1 pinnumber=38 T 300 2050 5 8 0 1 0 8 1 pinseq=38 T 475 2100 9 8 1 1 0 0 1 pinlabel=REFOUT T 475 2100 5 8 0 1 0 2 1 pintype=out } T 1800 6600 8 10 1 1 0 6 1 refdes=U? T 1400 6140 9 10 1 0 0 0 1 MAX1206 P 100 1200 400 1200 1 0 0 { T 300 1250 5 8 1 1 0 6 1 pinnumber=39 T 300 1150 5 8 0 1 0 8 1 pinseq=39 T 475 1200 9 8 1 1 0 0 1 pinlabel=REFIN T 475 1200 5 8 0 1 0 2 1 pintype=in } P 3000 6500 3300 6500 1 0 1 { T 3100 6550 5 8 1 1 0 0 1 pinnumber=25 T 3100 6450 5 8 0 1 0 2 1 pinseq=25 T 2950 6500 9 8 1 1 0 6 1 pinlabel=D5 T 2950 6500 5 8 0 1 0 8 1 pintype=out } P 3000 6200 3300 6200 1 0 1 { T 3100 6250 5 8 1 1 0 0 1 pinnumber=24 T 3100 6150 5 8 0 1 0 2 1 pinseq=24 T 2950 6200 9 8 1 1 0 6 1 pinlabel=D6 T 2950 6200 5 8 0 1 0 8 1 pintype=out } P 3000 5900 3300 5900 1 0 1 { T 3100 5950 5 8 1 1 0 0 1 pinnumber=23 T 3100 5850 5 8 0 1 0 2 1 pinseq=23 T 2950 5900 9 8 1 1 0 6 1 pinlabel=D7 T 2950 5900 5 8 0 1 0 8 1 pintype=out } P 3000 5600 3300 5600 1 0 1 { T 3100 5650 5 8 1 1 0 0 1 pinnumber=22 T 3100 5550 5 8 0 1 0 2 1 pinseq=22 T 2950 5600 9 8 1 1 0 6 1 pinlabel=D8 T 2950 5600 5 8 0 1 0 8 1 pintype=out } P 3000 5300 3300 5300 1 0 1 { T 3100 5350 5 8 1 1 0 0 1 pinnumber=21 T 3100 5250 5 8 0 1 0 2 1 pinseq=21 T 2950 5300 9 8 1 1 0 6 1 pinlabel=D9 T 2950 5300 5 8 0 1 0 8 1 pintype=out } P 3000 5000 3300 5000 1 0 1 { T 3100 5050 5 8 1 1 0 0 1 pinnumber=20 T 3100 4950 5 8 0 1 0 2 1 pinseq=20 T 2950 5000 9 8 1 1 0 6 1 pinlabel=D10 T 2950 5000 5 8 0 1 0 8 1 pintype=out } P 3000 4700 3300 4700 1 0 1 { T 3100 4750 5 8 1 1 0 0 1 pinnumber=19 T 3100 4650 5 8 0 1 0 2 1 pinseq=19 T 2950 4700 9 8 1 1 0 6 1 pinlabel=D11 T 2950 4700 5 8 0 1 0 8 1 pintype=out } P 3000 4100 3300 4100 1 0 1 { T 3100 4150 5 8 1 1 0 0 1 pinnumber=18 T 3100 4050 5 8 0 1 0 2 1 pinseq=18 T 2950 4100 9 8 1 1 0 6 1 pinlabel=DOR T 2950 4100 5 8 0 1 0 8 1 pintype=out } P 3000 3000 3300 3000 1 0 1 { T 3100 3050 5 8 1 1 0 0 1 pinnumber=10 T 3100 2950 5 8 0 1 0 2 1 pinseq=10 T 2950 3000 9 8 1 1 0 6 1 pinlabel=CLKP T 2950 3000 5 8 0 1 0 8 1 pintype=in } P 3000 1800 3300 1800 1 0 1 { T 3100 1850 5 8 1 1 0 0 1 pinnumber=9 T 3100 1750 5 8 0 1 0 2 1 pinseq=9 T 2950 1800 9 8 1 1 0 6 1 pinlabel=CLKN T 2950 1800 5 8 0 1 0 8 1 pintype=in } P 1000 400 1000 100 1 0 1 { T 1050 300 5 8 1 1 270 0 1 pinnumber=4 T 950 300 5 8 0 1 270 2 1 pinseq=4 T 1000 450 9 8 1 1 270 6 1 pinlabel=GND T 1000 450 5 8 0 1 270 8 1 pintype=pwr } P 1300 400 1300 100 1 0 1 { T 1350 300 5 8 1 1 270 0 1 pinnumber=7 T 1250 300 5 8 0 1 270 2 1 pinseq=7 T 1300 450 9 8 1 1 270 6 1 pinlabel=GND T 1300 450 5 8 0 1 270 8 1 pintype=pwr } P 1900 400 1900 100 1 0 1 { T 1950 300 5 8 1 1 270 0 1 pinnumber=16 T 1850 300 5 8 0 1 270 2 1 pinseq=16 T 1900 450 9 8 1 1 270 6 1 pinlabel=OGND T 1900 450 5 8 0 1 270 8 1 pintype=pwr } P 2200 400 2200 100 1 0 1 { T 2250 300 5 8 1 1 270 0 1 pinnumber=35 T 2150 300 5 8 0 1 270 2 1 pinseq=35 T 2200 450 9 8 1 1 270 6 1 pinlabel=OGND T 2200 450 5 8 0 1 270 8 1 pintype=pwr } P 600 10300 600 10000 1 0 0 { T 650 10100 5 8 1 1 270 6 1 pinnumber=12 T 550 10100 5 8 0 1 270 8 1 pinseq=12 T 600 9950 9 8 1 1 270 0 1 pinlabel=VDD T 600 9950 5 8 0 1 270 2 1 pintype=pwr } P 900 10300 900 10000 1 0 0 { T 950 10100 5 8 1 1 270 6 1 pinnumber=13 T 850 10100 5 8 0 1 270 8 1 pinseq=13 T 900 9950 9 8 1 1 270 0 1 pinlabel=VDD T 900 9950 5 8 0 1 270 2 1 pintype=pwr } P 1200 10300 1200 10000 1 0 0 { T 1250 10100 5 8 1 1 270 6 1 pinnumber=14 T 1150 10100 5 8 0 1 270 8 1 pinseq=14 T 1200 9950 9 8 1 1 270 0 1 pinlabel=VDD T 1200 9950 5 8 0 1 270 2 1 pintype=pwr } P 1500 10300 1500 10000 1 0 0 { T 1550 10100 5 8 1 1 270 6 1 pinnumber=15 T 1450 10100 5 8 0 1 270 8 1 pinseq=15 T 1500 9950 9 8 1 1 270 0 1 pinlabel=VDD T 1500 9950 5 8 0 1 270 2 1 pintype=pwr } P 1800 10300 1800 10000 1 0 0 { T 1850 10100 5 8 1 1 270 6 1 pinnumber=36 T 1750 10100 5 8 0 1 270 8 1 pinseq=36 T 1800 9950 9 8 1 1 270 0 1 pinlabel=VDD T 1800 9950 5 8 0 1 270 2 1 pintype=pwr } P 2300 10300 2300 10000 1 0 0 { T 2350 10100 5 8 1 1 270 6 1 pinnumber=17 T 2250 10100 5 8 0 1 270 8 1 pinseq=17 T 2300 9950 9 8 1 1 270 0 1 pinlabel=OVDD T 2300 9950 5 8 0 1 270 2 1 pintype=pwr } P 2600 10300 2600 10000 1 0 0 { T 2650 10100 5 8 1 1 270 6 1 pinnumber=34 T 2550 10100 5 8 0 1 270 8 1 pinseq=34 T 2600 9950 9 8 1 1 270 0 1 pinlabel=OVDD T 2600 9950 5 8 0 1 270 2 1 pintype=pwr } P 600 400 600 100 1 0 1 { T 650 300 5 8 1 1 270 0 1 pinnumber=41 T 550 300 5 8 0 1 270 2 1 pinseq=41 T 600 450 9 8 1 1 270 6 1 pinlabel=PADDLE T 600 450 5 8 0 1 270 8 1 pintype=pwr } T 1000 5400 8 10 1 1 0 0 1 footprint=TQFN40_6_EP T 1600 5000 8 10 0 0 0 0 1 numslots=0 T 3800 5000 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX1206.pdf geda-gaf-1.8.2/symbols/maxim/max478-1.sym0000664000175000017500000000233612204104272014621 00000000000000v 20041228 1 T 625 1150 5 10 0 0 0 0 1 device=MAX478 T 600 650 8 10 1 1 0 0 1 refdes=U? T 700 2300 5 10 0 0 0 0 1 numslots=2 T 675 2100 5 10 0 0 0 0 1 slotdef=1:1,2,3 T 675 1900 5 10 0 0 0 0 1 slotdef=2:7,6,5 T 675 1700 5 10 0 0 0 0 1 slot=1 T 675 1500 5 10 0 0 0 0 1 net=Vcc:8 T 625 1350 5 10 0 0 0 0 1 net=-Vcc:4 P 200 600 0 600 1 0 1 { T 150 650 5 8 1 1 0 6 1 pinnumber=3 T 200 550 5 8 0 1 0 8 1 pinseq=3 T 350 600 9 8 0 1 0 0 1 pinlabel=IN+ T 350 600 5 8 0 1 0 2 1 pintype=in } P 200 200 0 200 1 0 1 { T 150 250 5 8 1 1 0 6 1 pinnumber=2 T 200 150 5 8 0 1 0 8 1 pinseq=2 T 350 200 9 8 0 1 0 0 1 pinlabel=IN- T 350 200 5 8 0 1 0 2 1 pintype=in } P 800 400 1000 400 1 0 1 { T 850 450 5 8 1 1 0 0 1 pinnumber=1 T 800 350 5 8 0 1 0 2 1 pinseq=1 T 650 400 9 8 0 1 0 6 1 pinlabel=OUT T 650 400 5 8 0 1 0 8 1 pintype=out } L 250 600 350 600 3 0 0 0 -1 -1 L 300 650 300 550 3 0 0 0 -1 -1 L 200 0 200 800 3 0 0 0 -1 -1 L 200 800 800 400 3 0 0 0 -1 -1 L 800 400 200 0 3 0 0 0 -1 -1 L 250 200 350 200 3 0 0 0 -1 -1 T 700 2500 5 10 0 0 0 0 1 footprint=DIP8 T 700 2700 5 10 0 0 0 0 1 description=dual, single supply precision opamp T 700 2900 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX478-MAX479.pdf T 225 850 9 8 1 0 0 0 1 MAX478 geda-gaf-1.8.2/symbols/maxim/max214-1.sym0000664000175000017500000001100012204104272014571 00000000000000v 20070626 1 P 300 5800 0 5800 1 0 1 { T 200 5850 5 8 1 1 0 6 1 pinnumber=5 T 200 5750 5 8 0 1 0 8 1 pinseq=5 T 350 5800 9 8 1 1 0 0 1 pinlabel=TA T 350 5800 5 8 0 1 0 2 1 pintype=in } P 300 5400 0 5400 1 0 1 { T 200 5450 5 8 1 1 0 6 1 pinnumber=10 T 200 5350 5 8 0 1 0 8 1 pinseq=10 T 350 5400 9 8 1 1 0 0 1 pinlabel=RTA T 350 5400 5 8 0 1 0 2 1 pintype=io } P 300 5000 0 5000 1 0 1 { T 200 5050 5 8 1 1 0 6 1 pinnumber=25 T 200 4950 5 8 0 1 0 8 1 pinseq=25 T 350 5000 9 8 1 1 0 0 1 pinlabel=TB T 350 5000 5 8 0 1 0 2 1 pintype=in } P 300 4600 0 4600 1 0 1 { T 200 4650 5 8 1 1 0 6 1 pinnumber=19 T 200 4550 5 8 0 1 0 8 1 pinseq=19 T 350 4600 9 8 1 1 0 0 1 pinlabel=RTB T 350 4600 5 8 0 1 0 2 1 pintype=io } P 300 4200 0 4200 1 0 1 { T 200 4250 5 8 1 1 0 6 1 pinnumber=24 T 200 4150 5 8 0 1 0 8 1 pinseq=24 T 350 4200 9 8 1 1 0 0 1 pinlabel=TC T 350 4200 5 8 0 1 0 2 1 pintype=in } P 300 3800 0 3800 1 0 1 { T 200 3850 5 8 1 1 0 6 1 pinnumber=17 T 200 3750 5 8 0 1 0 8 1 pinseq=17 T 350 3800 9 8 1 1 0 0 1 pinlabel=RTC T 350 3800 5 8 0 1 0 2 1 pintype=io } P 300 3400 0 3400 1 0 1 { T 200 3450 5 8 1 1 0 6 1 pinnumber=11 T 200 3350 5 8 0 1 0 8 1 pinseq=11 T 350 3400 9 8 1 1 0 0 1 pinlabel=RDTC T 350 3400 5 8 0 1 0 2 1 pintype=io } P 300 3000 0 3000 1 0 1 { T 200 3050 5 8 1 1 0 6 1 pinnumber=12 T 200 2950 5 8 0 1 0 8 1 pinseq=12 T 350 3000 9 8 1 1 0 0 1 pinlabel=RRE T 350 3000 5 8 0 1 0 2 1 pintype=in } P 2300 5800 2600 5800 1 0 1 { T 2400 5850 5 8 1 1 0 0 1 pinnumber=9 T 2400 5750 5 8 0 1 0 2 1 pinseq=9 T 2250 5800 9 8 1 1 0 6 1 pinlabel=TRA T 2250 5800 5 8 0 1 0 8 1 pintype=io } P 2300 5400 2600 5400 1 0 1 { T 2400 5450 5 8 1 1 0 0 1 pinnumber=6 T 2400 5350 5 8 0 1 0 2 1 pinseq=6 T 2250 5400 9 8 1 1 0 6 1 pinlabel=RA T 2250 5400 5 8 0 1 0 8 1 pintype=out } P 2300 5000 2600 5000 1 0 1 { T 2400 5050 5 8 1 1 0 0 1 pinnumber=20 T 2400 4950 5 8 0 1 0 2 1 pinseq=20 T 2250 5000 9 8 1 1 0 6 1 pinlabel=TRB T 2250 5000 5 8 0 1 0 8 1 pintype=io } P 2300 4600 2600 4600 1 0 1 { T 2400 4650 5 8 1 1 0 0 1 pinnumber=23 T 2400 4550 5 8 0 1 0 2 1 pinseq=23 T 2250 4600 9 8 1 1 0 6 1 pinlabel=RB T 2250 4600 5 8 0 1 0 8 1 pintype=out } P 2300 4200 2600 4200 1 0 1 { T 2400 4250 5 8 1 1 0 0 1 pinnumber=18 T 2400 4150 5 8 0 1 0 2 1 pinseq=18 T 2250 4200 9 8 1 1 0 6 1 pinlabel=TRC T 2250 4200 5 8 0 1 0 8 1 pintype=io } P 2300 3800 2600 3800 1 0 1 { T 2400 3850 5 8 1 1 0 0 1 pinnumber=22 T 2400 3750 5 8 0 1 0 2 1 pinseq=22 T 2250 3800 9 8 1 1 0 6 1 pinlabel=RC T 2250 3800 5 8 0 1 0 8 1 pintype=out } P 2300 3400 2600 3400 1 0 1 { T 2400 3450 5 8 1 1 0 0 1 pinnumber=7 T 2400 3350 5 8 0 1 0 2 1 pinseq=7 T 2250 3400 9 8 1 1 0 6 1 pinlabel=RDC T 2250 3400 5 8 0 1 0 8 1 pintype=io } P 2300 3000 2600 3000 1 0 1 { T 2400 3050 5 8 1 1 0 0 1 pinnumber=8 T 2400 2950 5 8 0 1 0 2 1 pinseq=8 T 2250 3000 9 8 1 1 0 6 1 pinlabel=RE T 2250 3000 5 8 0 1 0 8 1 pintype=out } P 300 2200 0 2200 1 0 1 { T 200 2250 5 8 1 1 0 6 1 pinnumber=26 T 200 2150 5 8 0 1 0 8 1 pinseq=26 T 350 2200 9 8 1 1 0 0 1 pinlabel=SHDN T 350 2200 5 8 0 1 0 2 1 pintype=in } P 300 1800 0 1800 1 0 1 { T 200 1850 5 8 1 1 0 6 1 pinnumber=3 T 200 1750 5 8 0 1 0 8 1 pinseq=3 T 350 1800 9 8 1 1 0 0 1 pinlabel=HI-Z T 350 1800 5 8 0 1 0 2 1 pintype=in } P 300 1400 0 1400 1 0 1 { T 200 1450 5 8 1 1 0 6 1 pinnumber=1 T 200 1350 5 8 0 1 0 8 1 pinseq=1 T 350 1400 9 8 1 1 0 0 1 pinlabel=C2+ T 350 1400 5 8 0 1 0 2 1 pintype=pas } P 300 1000 0 1000 1 0 1 { T 200 1050 5 8 1 1 0 6 1 pinnumber=2 T 200 950 5 8 0 1 0 8 1 pinseq=2 T 350 1000 9 8 1 1 0 0 1 pinlabel=C2- T 350 1000 5 8 0 1 0 2 1 pintype=pas } P 300 600 0 600 1 0 1 { T 200 650 5 8 1 1 0 6 1 pinnumber=27 T 200 550 5 8 0 1 0 8 1 pinseq=27 T 350 600 9 8 1 1 0 0 1 pinlabel=C1+ T 350 600 5 8 0 1 0 2 1 pintype=pas } P 300 200 0 200 1 0 1 { T 200 250 5 8 1 1 0 6 1 pinnumber=28 T 200 150 5 8 0 1 0 8 1 pinseq=28 T 350 200 9 8 1 1 0 0 1 pinlabel=C1- T 350 200 5 8 0 1 0 2 1 pintype=pas } B 300 0 2000 6100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 2600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 2600 0 2600 1 0 1 { T 200 2650 5 8 1 1 0 6 1 pinnumber=21 T 200 2550 5 8 0 1 0 8 1 pinseq=21 T 350 2600 9 8 1 1 0 0 1 pinlabel=\_DTE\_/DCE T 350 2600 5 8 0 1 0 2 1 pintype=in } T 300 6350 5 10 0 0 0 0 1 device=MAX214 T 2300 6200 8 10 1 1 0 6 1 refdes=U? T 300 6750 5 10 0 0 0 0 1 footprint=DIP28 T 300 6950 5 10 0 0 0 0 1 description=programmable DTE/DCE +5V RS-232 transceiver T 300 6550 5 10 0 0 0 0 1 numslots=0 T 300 7150 5 10 0 0 0 0 1 net=GND:13 T 300 7350 5 10 0 0 0 0 1 net=Vcc:16 T 300 7550 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX214.pdf T 300 6150 9 8 1 0 0 0 1 MAX214 geda-gaf-1.8.2/symbols/maxim/max1674-1.sym0000664000175000017500000000361712204104272014703 00000000000000v 20070626 1 B 300 300 1900 2500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2500 300 2500 1 0 0 { T 200 2550 5 8 1 1 0 6 1 pinnumber=2 T 200 2450 5 8 0 1 0 8 1 pinseq=2 T 350 2500 9 8 1 1 0 0 1 pinlabel=LBI T 350 2500 5 8 0 1 0 2 1 pintype=in } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=4 T 200 650 5 8 0 1 0 8 1 pinseq=4 T 350 700 9 8 1 1 0 0 1 pinlabel=REF T 350 700 5 8 0 1 0 2 1 pintype=out } P 2200 2100 2500 2100 1 0 1 { T 2300 2150 5 8 1 1 0 0 1 pinnumber=7 T 2300 2050 5 8 0 1 0 2 1 pinseq=7 T 2150 2100 9 8 1 1 0 6 1 pinlabel=LX T 2150 2100 5 8 0 1 0 8 1 pintype=out } P 2200 1600 2500 1600 1 0 1 { T 2300 1650 5 8 1 1 0 0 1 pinnumber=8 T 2300 1550 5 8 0 1 0 2 1 pinseq=8 T 2150 1600 9 8 1 1 0 6 1 pinlabel=OUT T 2150 1600 5 8 0 1 0 8 1 pintype=out } P 2200 1000 2500 1000 1 0 1 { T 2300 1050 5 8 1 1 0 0 1 pinnumber=1 T 2300 950 5 8 0 1 0 2 1 pinseq=1 T 2150 1000 9 8 1 1 0 6 1 pinlabel=FB T 2150 1000 5 8 0 1 0 8 1 pintype=in } P 0 2200 200 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=3 T 200 2150 5 8 0 1 0 8 1 pinseq=3 T 350 2200 9 8 1 1 0 0 1 pinlabel=\_LBO\_ T 350 2200 5 8 0 1 0 2 1 pintype=out } P 0 1600 200 1600 1 0 0 { T 200 1650 5 8 1 1 0 6 1 pinnumber=5 T 200 1550 5 8 0 1 0 8 1 pinseq=5 T 350 1600 9 8 1 1 0 0 1 pinlabel=\_SHDN\_ T 350 1600 5 8 0 1 0 2 1 pintype=in } P 1500 0 1500 300 1 0 0 { T 1550 100 5 8 1 1 0 0 1 pinnumber=6 T 1550 100 5 8 0 1 0 2 1 pinseq=6 T 1500 350 9 8 1 1 0 3 1 pinlabel=GND T 1500 500 5 8 0 1 0 3 1 pintype=pwr } T 2200 2900 8 10 1 1 0 6 1 refdes=U? T 300 3250 5 10 0 0 0 0 1 device=MAX1674 T 300 3450 5 10 0 0 0 0 1 footprint=uMAX8 T 300 3650 5 10 0 0 0 0 1 description=low-supply-current step-up DC-DC converter T 300 3050 5 10 0 0 0 0 1 numslots=0 T 300 3850 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX1674-MAX1676.pdf T 300 2850 9 10 1 0 0 0 1 MAX1674/5 V 250 1600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 2200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/maxim/max12553-1.sym0000664000175000017500000001747212204104272014765 00000000000000v 20050313 1 P 100 3500 400 3500 1 0 0 { T 300 3550 5 8 1 1 0 6 1 pinnumber=6 T 300 3450 5 8 0 1 0 8 1 pinseq=6 T 450 3500 9 8 1 1 0 0 1 pinlabel=INN T 450 3500 5 8 0 1 0 2 1 pintype=in } P 100 9200 400 9200 1 0 0 { T 300 9250 5 8 1 1 0 6 1 pinnumber=37 T 300 9150 5 8 0 1 0 8 1 pinseq=37 T 450 9200 9 8 1 1 0 0 1 pinlabel=PD T 450 9200 5 8 0 1 0 2 1 pintype=in } P 100 8900 400 8900 1 0 0 { T 300 8950 5 8 1 1 0 6 1 pinnumber=40 T 300 8850 5 8 0 1 0 8 1 pinseq=40 T 450 8900 9 8 1 1 0 0 1 pinlabel=G_TB T 450 8900 5 8 0 1 0 2 1 pintype=in } P 100 8600 400 8600 1 0 0 { T 300 8650 5 8 1 1 0 6 1 pinnumber=8 T 300 8550 5 8 0 1 0 8 1 pinseq=8 T 450 8600 9 8 1 1 0 0 1 pinlabel=DCE T 450 8600 5 8 0 1 0 2 1 pintype=in } P 100 8300 400 8300 1 0 0 { T 300 8350 5 8 1 1 0 6 1 pinnumber=11 T 300 8250 5 8 0 1 0 8 1 pinseq=11 T 450 8300 9 8 1 1 0 0 1 pinlabel=CLKTYP T 450 8300 5 8 0 1 0 2 1 pintype=in } P 100 7400 400 7400 1 0 0 { T 300 7450 5 8 1 1 0 6 1 pinnumber=1 T 300 7350 5 8 0 1 0 8 1 pinseq=1 T 450 7400 9 8 1 1 0 0 1 pinlabel=REFP T 450 7400 5 8 0 1 0 2 1 pintype=out } P 100 6800 400 6800 1 0 0 { T 300 6850 5 8 1 1 0 6 1 pinnumber=2 T 300 6750 5 8 0 1 0 8 1 pinseq=2 T 450 6800 9 8 1 1 0 0 1 pinlabel=REFN T 450 6800 5 8 0 1 0 2 1 pintype=out } P 100 5900 400 5900 1 0 0 { T 300 5950 5 8 1 1 0 6 1 pinnumber=5 T 300 5850 5 8 0 1 0 8 1 pinseq=5 T 450 5900 9 8 1 1 0 0 1 pinlabel=INP T 450 5900 5 8 0 1 0 2 1 pintype=in } P 100 4700 400 4700 1 0 0 { T 300 4750 5 8 1 1 0 6 1 pinnumber=3 T 300 4650 5 8 0 1 0 8 1 pinseq=3 T 450 4700 9 8 1 1 0 0 1 pinlabel=COM T 450 4700 5 8 0 1 0 2 1 pintype=out } P 3000 9200 3300 9200 1 0 1 { T 3100 9250 5 8 1 1 0 0 1 pinnumber=33 T 3100 9150 5 8 0 1 0 2 1 pinseq=33 T 2950 9200 9 8 1 1 0 6 1 pinlabel=DAV T 2950 9200 5 8 0 1 0 8 1 pintype=out } P 3000 8600 3300 8600 1 0 1 { T 3100 8650 5 8 1 1 0 0 1 pinnumber=32 T 3100 8550 5 8 0 1 0 2 1 pinseq=32 T 2950 8600 9 8 1 1 0 6 1 pinlabel=D0 T 2950 8600 5 8 0 1 0 8 1 pintype=out } P 3000 8300 3300 8300 1 0 1 { T 3100 8350 5 8 1 1 0 0 1 pinnumber=31 T 3100 8250 5 8 0 1 0 2 1 pinseq=31 T 2950 8300 9 8 1 1 0 6 1 pinlabel=D1 T 2950 8300 5 8 0 1 0 8 1 pintype=out } P 3000 8000 3300 8000 1 0 1 { T 3100 8050 5 8 1 1 0 0 1 pinnumber=30 T 3100 7950 5 8 0 1 0 2 1 pinseq=30 T 2950 8000 9 8 1 1 0 6 1 pinlabel=D2 T 2950 8000 5 8 0 1 0 8 1 pintype=out } P 3000 7700 3300 7700 1 0 1 { T 3100 7750 5 8 1 1 0 0 1 pinnumber=29 T 3100 7650 5 8 0 1 0 2 1 pinseq=29 T 2950 7700 9 8 1 1 0 6 1 pinlabel=D3 T 2950 7700 5 8 0 1 0 8 1 pintype=out } P 3000 7400 3300 7400 1 0 1 { T 3100 7450 5 8 1 1 0 0 1 pinnumber=28 T 3100 7350 5 8 0 1 0 2 1 pinseq=28 T 2950 7400 9 8 1 1 0 6 1 pinlabel=D4 T 2950 7400 5 8 0 1 0 8 1 pintype=out } P 3000 7100 3300 7100 1 0 1 { T 3100 7150 5 8 1 1 0 0 1 pinnumber=27 T 3100 7050 5 8 0 1 0 2 1 pinseq=27 T 2950 7100 9 8 1 1 0 6 1 pinlabel=D5 T 2950 7100 5 8 0 1 0 8 1 pintype=out } P 3000 6800 3300 6800 1 0 1 { T 3100 6850 5 8 1 1 0 0 1 pinnumber=26 T 3100 6750 5 8 0 1 0 2 1 pinseq=26 T 2950 6800 9 8 1 1 0 6 1 pinlabel=D6 T 2950 6800 5 8 0 1 0 8 1 pintype=out } B 400 400 2600 9600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 4000 6300 8 10 0 0 0 0 1 device=MAX12553 P 100 2100 400 2100 1 0 0 { T 300 2150 5 8 1 1 0 6 1 pinnumber=38 T 300 2050 5 8 0 1 0 8 1 pinseq=38 T 475 2100 9 8 1 1 0 0 1 pinlabel=REFOUT T 475 2100 5 8 0 1 0 2 1 pintype=out } T 1800 6600 8 10 1 1 0 6 1 refdes=U? T 1400 6140 9 10 1 0 0 0 1 MAX12553 P 100 1200 400 1200 1 0 0 { T 300 1250 5 8 1 1 0 6 1 pinnumber=39 T 300 1150 5 8 0 1 0 8 1 pinseq=39 T 475 1200 9 8 1 1 0 0 1 pinlabel=REFIN T 475 1200 5 8 0 1 0 2 1 pintype=in } P 3000 6500 3300 6500 1 0 1 { T 3100 6550 5 8 1 1 0 0 1 pinnumber=25 T 3100 6450 5 8 0 1 0 2 1 pinseq=25 T 2950 6500 9 8 1 1 0 6 1 pinlabel=D7 T 2950 6500 5 8 0 1 0 8 1 pintype=out } P 3000 6200 3300 6200 1 0 1 { T 3100 6250 5 8 1 1 0 0 1 pinnumber=24 T 3100 6150 5 8 0 1 0 2 1 pinseq=24 T 2950 6200 9 8 1 1 0 6 1 pinlabel=D8 T 2950 6200 5 8 0 1 0 8 1 pintype=out } P 3000 5900 3300 5900 1 0 1 { T 3100 5950 5 8 1 1 0 0 1 pinnumber=23 T 3100 5850 5 8 0 1 0 2 1 pinseq=23 T 2950 5900 9 8 1 1 0 6 1 pinlabel=D9 T 2950 5900 5 8 0 1 0 8 1 pintype=out } P 3000 5600 3300 5600 1 0 1 { T 3100 5650 5 8 1 1 0 0 1 pinnumber=22 T 3100 5550 5 8 0 1 0 2 1 pinseq=22 T 2950 5600 9 8 1 1 0 6 1 pinlabel=D10 T 2950 5600 5 8 0 1 0 8 1 pintype=out } P 3000 5300 3300 5300 1 0 1 { T 3100 5350 5 8 1 1 0 0 1 pinnumber=21 T 3100 5250 5 8 0 1 0 2 1 pinseq=21 T 2950 5300 9 8 1 1 0 6 1 pinlabel=D11 T 2950 5300 5 8 0 1 0 8 1 pintype=out } P 3000 5000 3300 5000 1 0 1 { T 3100 5050 5 8 1 1 0 0 1 pinnumber=20 T 3100 4950 5 8 0 1 0 2 1 pinseq=20 T 2950 5000 9 8 1 1 0 6 1 pinlabel=D12 T 2950 5000 5 8 0 1 0 8 1 pintype=out } P 3000 4700 3300 4700 1 0 1 { T 3100 4750 5 8 1 1 0 0 1 pinnumber=19 T 3100 4650 5 8 0 1 0 2 1 pinseq=19 T 2950 4700 9 8 1 1 0 6 1 pinlabel=D13 T 2950 4700 5 8 0 1 0 8 1 pintype=out } P 3000 4100 3300 4100 1 0 1 { T 3100 4150 5 8 1 1 0 0 1 pinnumber=18 T 3100 4050 5 8 0 1 0 2 1 pinseq=18 T 2950 4100 9 8 1 1 0 6 1 pinlabel=DOR T 2950 4100 5 8 0 1 0 8 1 pintype=out } P 3000 3000 3300 3000 1 0 1 { T 3100 3050 5 8 1 1 0 0 1 pinnumber=10 T 3100 2950 5 8 0 1 0 2 1 pinseq=10 T 2950 3000 9 8 1 1 0 6 1 pinlabel=CLKP T 2950 3000 5 8 0 1 0 8 1 pintype=in } P 3000 1800 3300 1800 1 0 1 { T 3100 1850 5 8 1 1 0 0 1 pinnumber=9 T 3100 1750 5 8 0 1 0 2 1 pinseq=9 T 2950 1800 9 8 1 1 0 6 1 pinlabel=CLKN T 2950 1800 5 8 0 1 0 8 1 pintype=in } P 1000 400 1000 100 1 0 1 { T 1050 300 5 8 1 1 270 0 1 pinnumber=4 T 950 300 5 8 0 1 270 2 1 pinseq=4 T 1000 450 9 8 1 1 270 6 1 pinlabel=GND T 1000 450 5 8 0 1 270 8 1 pintype=pwr } P 1300 400 1300 100 1 0 1 { T 1350 300 5 8 1 1 270 0 1 pinnumber=7 T 1250 300 5 8 0 1 270 2 1 pinseq=7 T 1300 450 9 8 1 1 270 6 1 pinlabel=GND T 1300 450 5 8 0 1 270 8 1 pintype=pwr } P 1900 400 1900 100 1 0 1 { T 1950 300 5 8 1 1 270 0 1 pinnumber=16 T 1850 300 5 8 0 1 270 2 1 pinseq=16 T 1900 450 9 8 1 1 270 6 1 pinlabel=GND T 1900 450 5 8 0 1 270 8 1 pintype=pwr } P 2200 400 2200 100 1 0 1 { T 2250 300 5 8 1 1 270 0 1 pinnumber=35 T 2150 300 5 8 0 1 270 2 1 pinseq=35 T 2200 450 9 8 1 1 270 6 1 pinlabel=GND T 2200 450 5 8 0 1 270 8 1 pintype=pwr } P 600 10300 600 10000 1 0 0 { T 650 10100 5 8 1 1 270 6 1 pinnumber=12 T 550 10100 5 8 0 1 270 8 1 pinseq=12 T 600 9950 9 8 1 1 270 0 1 pinlabel=VDD T 600 9950 5 8 0 1 270 2 1 pintype=pwr } P 900 10300 900 10000 1 0 0 { T 950 10100 5 8 1 1 270 6 1 pinnumber=13 T 850 10100 5 8 0 1 270 8 1 pinseq=13 T 900 9950 9 8 1 1 270 0 1 pinlabel=VDD T 900 9950 5 8 0 1 270 2 1 pintype=pwr } P 1200 10300 1200 10000 1 0 0 { T 1250 10100 5 8 1 1 270 6 1 pinnumber=14 T 1150 10100 5 8 0 1 270 8 1 pinseq=14 T 1200 9950 9 8 1 1 270 0 1 pinlabel=VDD T 1200 9950 5 8 0 1 270 2 1 pintype=pwr } P 1500 10300 1500 10000 1 0 0 { T 1550 10100 5 8 1 1 270 6 1 pinnumber=15 T 1450 10100 5 8 0 1 270 8 1 pinseq=15 T 1500 9950 9 8 1 1 270 0 1 pinlabel=VDD T 1500 9950 5 8 0 1 270 2 1 pintype=pwr } P 1800 10300 1800 10000 1 0 0 { T 1850 10100 5 8 1 1 270 6 1 pinnumber=36 T 1750 10100 5 8 0 1 270 8 1 pinseq=36 T 1800 9950 9 8 1 1 270 0 1 pinlabel=VDD T 1800 9950 5 8 0 1 270 2 1 pintype=pwr } P 2300 10300 2300 10000 1 0 0 { T 2350 10100 5 8 1 1 270 6 1 pinnumber=17 T 2250 10100 5 8 0 1 270 8 1 pinseq=17 T 2300 9950 9 8 1 1 270 0 1 pinlabel=OVDD T 2300 9950 5 8 0 1 270 2 1 pintype=pwr } P 2600 10300 2600 10000 1 0 0 { T 2650 10100 5 8 1 1 270 6 1 pinnumber=34 T 2550 10100 5 8 0 1 270 8 1 pinseq=34 T 2600 9950 9 8 1 1 270 0 1 pinlabel=OVDD T 2600 9950 5 8 0 1 270 2 1 pintype=pwr } P 600 400 600 100 1 0 1 { T 650 300 5 8 1 1 270 0 1 pinnumber=41 T 550 300 5 8 0 1 270 2 1 pinseq=41 T 600 450 9 8 1 1 270 6 1 pinlabel=PADDLE T 600 450 5 8 0 1 270 8 1 pintype=pwr } T 1000 5400 8 10 1 1 0 0 1 footprint=TQFN40_6_EP T 4100 5700 8 10 0 0 0 0 1 numslots=0 T 4100 5500 8 10 0 0 0 0 1 description=14-Bit, 65Msps, 3.3V ADC T 4100 5200 8 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX12553.pdf T 4100 6000 8 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/maxim/max1055-1.sym0000664000175000017500000000354012204104272014667 00000000000000v 20031231 1 B 300 0 2000 4000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2460 4160 5 10 0 0 0 0 1 device=MAX1055 P 300 3800 0 3800 1 0 1 { T 110 3860 5 8 1 1 0 0 1 pinnumber=3 T 110 3860 5 8 0 0 0 0 1 pinseq=3 } P 300 3400 0 3400 1 0 1 { T 110 3460 5 8 1 1 0 0 1 pinnumber=4 T 110 3460 5 8 0 0 0 0 1 pinseq=4 } P 300 3000 0 3000 1 0 1 { T 110 3060 5 8 1 1 0 0 1 pinnumber=5 T 110 3060 5 8 0 0 0 0 1 pinseq=5 } P 300 2600 0 2600 1 0 1 { T 110 2660 5 8 1 1 0 0 1 pinnumber=7 T 110 2660 5 8 0 0 0 0 1 pinseq=7 } P 300 2200 0 2200 1 0 1 { T 110 2260 5 8 1 1 0 0 1 pinnumber=8 T 110 2260 5 8 0 0 0 0 1 pinseq=8 } P 300 1800 0 1800 1 0 1 { T 110 1860 5 8 1 1 0 0 1 pinnumber=10 T 110 1860 5 8 0 0 0 0 1 pinseq=10 } P 300 1400 0 1400 1 0 1 { T 110 1460 5 8 1 1 0 0 1 pinnumber=13 T 110 1460 5 8 0 0 0 0 1 pinseq=13 } P 300 1000 0 1000 1 0 1 { T 110 1060 5 8 1 1 0 0 1 pinnumber=17 T 110 1060 5 8 0 0 0 0 1 pinseq=17 } P 2600 3800 2300 3800 1 0 0 { T 2410 3860 5 8 1 1 0 0 1 pinnumber=1 T 2410 3860 5 8 0 0 0 0 1 pinseq=1 } P 2600 3400 2300 3400 1 0 0 { T 2410 3460 5 8 1 1 0 0 1 pinnumber=12 T 2410 3460 5 8 0 0 0 0 1 pinseq=12 } P 2600 3000 2300 3000 1 0 0 { T 2410 3060 5 8 1 1 0 0 1 pinnumber=14 T 2410 3060 5 8 0 0 0 0 1 pinseq=14 } P 2600 2600 2300 2600 1 0 0 { T 2410 2660 5 8 1 1 0 0 1 pinnumber=19 T 2410 2660 5 8 0 0 0 0 1 pinseq=19 } T 1910 3710 9 10 1 0 0 0 1 REF T 1860 3360 9 10 1 0 0 0 1 PDO T 1760 2960 9 10 1 0 0 0 1 SYNC T 1860 2560 9 10 1 0 0 0 1 OUT T 410 3760 9 10 1 0 0 0 1 A0 T 410 3360 9 10 1 0 0 0 1 A1 T 410 2960 9 10 1 0 0 0 1 COSC T 410 2560 9 10 1 0 0 0 1 DADJ T 410 2160 9 10 1 0 0 0 1 FADJ T 410 1760 9 10 1 0 0 0 1 IIN T 410 1360 9 10 1 0 0 0 1 PDI T 410 960 9 10 1 0 0 0 1 V+ T 410 610 9 10 1 0 0 0 1 V- P 300 600 0 600 1 0 1 { T 110 660 5 8 1 1 0 0 1 pinnumber=20 T 110 660 5 8 0 0 0 0 1 pinseq=20 } T 360 4060 9 10 1 0 0 0 1 MAX1055 T 2300 4100 8 10 1 1 0 6 1 refdes=U? geda-gaf-1.8.2/symbols/maxim/max1005-1.sym0000664000175000017500000000521412204104272014662 00000000000000v 20040111 1 P 300 3900 0 3900 1 0 1 { T 200 3950 5 8 1 1 0 6 1 pinnumber=3 T 200 3850 5 8 0 1 0 8 1 pinseq=3 T 350 3900 9 8 1 1 0 0 1 pinlabel=RXEN T 350 3900 5 8 0 1 0 2 1 pintype=in } P 300 3500 0 3500 1 0 1 { T 200 3550 5 8 1 1 0 6 1 pinnumber=6 T 200 3450 5 8 0 1 0 8 1 pinseq=6 T 350 3500 9 8 1 1 0 0 1 pinlabel=TXEN T 350 3500 5 8 0 1 0 2 1 pintype=in } P 300 3100 0 3100 1 0 1 { T 200 3150 5 8 1 1 0 6 1 pinnumber=9 T 200 3050 5 8 0 1 0 8 1 pinseq=9 T 350 3100 9 8 1 1 0 0 1 pinlabel=D6 T 350 3100 5 8 0 1 0 2 1 pintype=in } P 300 2700 0 2700 1 0 1 { T 200 2750 5 8 1 1 0 6 1 pinnumber=10 T 200 2650 5 8 0 1 0 8 1 pinseq=10 T 350 2700 9 8 1 1 0 0 1 pinlabel=D5 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 300 2300 0 2300 1 0 1 { T 200 2350 5 8 1 1 0 6 1 pinnumber=11 T 200 2250 5 8 0 1 0 8 1 pinseq=11 T 350 2300 9 8 1 1 0 0 1 pinlabel=D4 T 350 2300 5 8 0 1 0 2 1 pintype=io } P 300 1900 0 1900 1 0 1 { T 200 1950 5 8 1 1 0 6 1 pinnumber=12 T 200 1850 5 8 0 1 0 8 1 pinseq=12 T 350 1900 9 8 1 1 0 0 1 pinlabel=D3 T 350 1900 5 8 0 1 0 2 1 pintype=io } P 2600 2900 2300 2900 1 0 0 { T 2400 2950 5 8 1 1 0 0 1 pinnumber=4 T 2400 2850 5 8 0 1 0 2 1 pinseq=4 T 2250 2900 9 8 1 1 0 6 1 pinlabel=AIO+ T 2250 2900 5 8 0 1 0 8 1 pintype=pas } P 2600 2500 2300 2500 1 0 0 { T 2400 2550 5 8 1 1 0 0 1 pinnumber=5 T 2400 2450 5 8 0 1 0 2 1 pinseq=5 T 2250 2500 9 8 1 1 0 6 1 pinlabel=AIO- T 2250 2500 5 8 0 1 0 8 1 pintype=pas } P 300 1500 0 1500 1 0 1 { T 200 1550 5 8 1 1 0 6 1 pinnumber=13 T 200 1450 5 8 0 1 0 8 1 pinseq=13 T 350 1500 9 8 1 1 0 0 1 pinlabel=D2 T 350 1500 5 8 0 1 0 2 1 pintype=io } P 300 1100 0 1100 1 0 1 { T 200 1150 5 8 1 1 0 6 1 pinnumber=14 T 200 1050 5 8 0 1 0 8 1 pinseq=14 T 350 1100 9 8 1 1 0 0 1 pinlabel=D1 T 350 1100 5 8 0 1 0 2 1 pintype=io } P 300 700 0 700 1 0 1 { T 200 750 5 8 1 1 0 6 1 pinnumber=15 T 200 650 5 8 0 1 0 8 1 pinseq=15 T 350 700 9 8 1 1 0 0 1 pinlabel=D0 T 350 700 5 8 0 1 0 2 1 pintype=io } P 300 300 0 300 1 0 1 { T 200 350 5 8 1 1 0 6 1 pinnumber=16 T 200 250 5 8 0 1 0 8 1 pinseq=16 T 400 300 9 8 1 1 0 0 1 pinlabel=CLK T 400 300 5 8 0 1 0 2 1 pintype=clk } B 300 0 2000 4200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4450 5 10 0 0 0 0 1 device=MAX1005 L 300 400 400 300 3 0 0 0 -1 -1 L 400 300 300 200 3 0 0 0 -1 -1 T 2300 4300 8 10 1 1 0 6 1 refdes=U? T 300 4250 9 10 1 0 0 0 1 MAX1005 T 300 5050 5 10 0 0 0 0 1 description=IF undersampler T 300 4650 5 10 0 0 0 0 1 numslots=0 T 300 5650 5 10 0 0 0 0 1 net=VCCD:1 T 300 5850 5 10 0 0 0 0 1 net=DGND:2 T 300 5250 5 10 0 0 0 0 1 net=AGND:7 T 300 5450 5 10 0 0 0 0 1 net=VCCA:8 T 300 4850 5 10 0 0 0 0 1 footprint=QSOP16 T 300 6050 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX1005.pdf geda-gaf-1.8.2/symbols/maxim/max489-1.sym0000664000175000017500000000711712204104272014625 00000000000000v 20041228 1 L 600 2000 600 1600 3 0 0 0 -1 -1 L 600 1600 900 1800 3 0 0 0 -1 -1 L 900 1800 600 2000 3 0 0 0 -1 -1 L 900 1400 900 1000 3 0 0 0 -1 -1 L 900 1000 600 1200 3 0 0 0 -1 -1 L 600 1200 900 1400 3 0 0 0 -1 -1 V 800 1700 25 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 925 1100 25 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 600 1800 400 1800 3 0 0 0 -1 -1 L 825 1900 1000 1900 3 0 0 0 -1 -1 L 950 1100 1000 1100 3 0 0 0 -1 -1 L 900 1300 1000 1300 3 0 0 0 -1 -1 L 600 1200 400 1200 3 0 0 0 -1 -1 L 1000 1900 1000 2000 3 0 0 0 -1 -1 L 1000 2000 1200 2000 3 0 0 0 -1 -1 L 1000 1700 1000 1600 3 0 0 0 -1 -1 L 1000 1600 1200 1600 3 0 0 0 -1 -1 L 1000 1300 1000 1400 3 0 0 0 -1 -1 L 1000 1400 1200 1400 3 0 0 0 -1 -1 L 1000 1100 1000 1000 3 0 0 0 -1 -1 L 1000 1000 1200 1000 3 0 0 0 -1 -1 L 400 1800 300 1800 3 0 0 0 -1 -1 L 400 1200 300 1200 3 0 0 0 -1 -1 L 850 1700 1000 1700 3 0 0 0 -1 -1 L 850 1700 825 1700 3 0 0 0 -1 -1 L 825 1900 750 1900 3 0 0 0 -1 -1 V 700 1106 25 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 300 1500 700 1500 3 0 0 0 -1 -1 L 300 1000 700 1000 3 0 0 0 -1 -1 L 700 1000 700 1082 3 0 0 0 -1 -1 L 699 1500 699 1667 3 0 0 0 -1 -1 B 300 700 900 1500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 300 1200 0 1200 1 0 1 { T 200 1250 5 8 1 1 0 6 1 pinnumber=2 T 350 1250 9 8 1 1 0 0 1 pinlabel=RO T 350 1200 5 8 0 1 0 2 1 pintype=out T 200 1150 5 8 0 1 0 8 1 pinseq=1 } P 300 1000 0 1000 1 0 1 { T 200 1050 5 8 1 1 0 6 1 pinnumber=3 T 350 1050 9 8 1 1 0 0 1 pinlabel=RE T 350 1000 5 8 0 1 0 2 1 pintype=in T 200 950 5 8 0 1 0 8 1 pinseq=2 } P 300 1500 0 1500 1 0 1 { T 200 1550 5 8 1 1 0 6 1 pinnumber=4 T 350 1550 9 8 1 1 0 0 1 pinlabel=DE T 350 1500 5 8 0 1 0 2 1 pintype=in T 200 1450 5 8 0 1 0 8 1 pinseq=3 } P 300 1800 0 1800 1 0 1 { T 200 1850 5 8 1 1 0 6 1 pinnumber=5 T 350 1850 9 8 1 1 0 0 1 pinlabel=DI T 350 1800 5 8 0 1 0 2 1 pintype=in T 200 1750 5 8 0 1 0 8 1 pinseq=4 } P 900 700 900 500 1 0 1 { T 950 500 5 8 1 1 0 0 1 pinnumber=6 T 800 900 5 8 0 1 0 3 1 pintype=pwr T 800 750 9 8 1 1 0 3 1 pinlabel=GND T 950 500 5 8 0 1 0 2 1 pinseq=5 } P 700 700 700 500 1 0 1 { T 800 750 9 8 1 1 0 3 1 pinlabel=GND T 750 500 5 8 1 1 0 0 1 pinnumber=7 T 800 900 5 8 0 1 0 3 1 pintype=pwr T 750 500 5 8 0 1 0 2 1 pinseq=6 } P 1200 2000 1500 2000 1 0 1 { T 1300 2050 5 8 1 1 0 0 1 pinnumber=9 T 1150 2050 9 8 1 1 0 6 1 pinlabel=Y T 1150 2000 5 8 0 1 0 8 1 pintype=out T 1300 1950 5 8 0 1 0 2 1 pinseq=7 } P 1200 1600 1500 1600 1 0 1 { T 1300 1650 5 8 1 1 0 0 1 pinnumber=10 T 1150 1650 9 8 1 1 0 6 1 pinlabel=Z T 1150 1600 5 8 0 1 0 8 1 pintype=out T 1300 1550 5 8 0 1 0 2 1 pinseq=8 } P 1200 1000 1500 1000 1 0 1 { T 1300 1050 5 8 1 1 0 0 1 pinnumber=11 T 1150 1050 9 8 1 1 0 6 1 pinlabel=B T 1150 1000 5 8 0 1 0 8 1 pintype=in T 1300 950 5 8 0 1 0 2 1 pinseq=9 } P 1200 1400 1500 1400 1 0 1 { T 1300 1450 5 8 1 1 0 0 1 pinnumber=12 T 1150 1450 9 8 1 1 0 6 1 pinlabel=A T 1150 1400 5 8 0 1 0 8 1 pintype=in T 1300 1350 5 8 0 1 0 2 1 pinseq=10 } P 800 2200 800 2500 1 0 1 { T 800 2150 9 8 1 1 0 5 1 pinlabel=Vcc T 850 2300 5 8 1 1 0 0 1 pinnumber=14 T 800 2000 5 8 0 1 0 5 1 pintype=pwr T 850 2300 5 8 0 1 0 2 1 pinseq=11 } T 1650 2300 5 10 0 0 0 0 1 device=MAX489 T 1650 1300 5 10 0 0 0 0 1 comment=E suffix is Electrostatic protected to 15 kV T 1650 1100 5 10 0 0 0 0 1 comment=MAX491 is high speed version T 1250 550 8 10 1 1 0 0 1 refdes=U? T 1650 2100 5 10 0 0 0 0 1 footprint=SO14 T 1650 1900 5 10 0 0 0 0 1 footprint2=DIP14 T 1650 1500 5 10 0 0 0 0 1 description=low-power, slew-rate-limited RS-485/RS-422 transceiver T 1650 2500 5 10 0 0 0 0 1 numslots=0 T 1650 1700 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX1487-MAX491.pdf T 1250 750 9 10 1 0 0 0 1 MAX489 geda-gaf-1.8.2/symbols/maxim/DS89C450-1.sym0000664000175000017500000001665012204104272014620 00000000000000v 20070626 1 T 3000 8900 2 10 1 1 0 6 1 refdes=U? T 400 8850 9 10 1 0 0 0 1 DS89C450 T 400 9650 8 10 0 0 0 0 1 footprint=PLCC44 T 400 9850 8 10 0 0 0 0 1 net=GND:1,22,23,34 T 400 10050 8 10 0 0 0 0 1 net=Vcc:12,44 P 3300 1600 3000 1600 1 0 0 { T 3100 1650 5 8 1 1 0 0 1 pinnumber=33 T 3100 1650 5 8 0 0 0 0 1 pinseq=1 T 2950 1600 3 8 1 1 0 6 1 pinlabel=ALE/\_PROG\_ T 2950 1600 5 8 0 1 0 8 1 pintype=out } P 3300 1200 3100 1200 1 0 0 { T 3100 1250 5 8 1 1 0 0 1 pinnumber=35 T 3100 1250 5 8 0 0 0 0 1 pinseq=2 T 2950 1200 3 8 1 1 0 6 1 pinlabel=\_EA\_ T 2950 1200 5 8 0 1 0 8 1 pintype=in } V 3050 1200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 3300 8400 3000 8400 1 0 0 { T 3100 8450 5 8 1 1 0 0 1 pinnumber=43 T 3100 8450 5 8 0 0 0 0 1 pinseq=3 T 2950 8400 3 8 1 1 0 6 1 pinlabel=(AD0) P0.0 T 2950 8400 5 8 0 1 0 8 1 pintype=io } P 3300 8000 3000 8000 1 0 0 { T 3100 8050 5 8 1 1 0 0 1 pinnumber=42 T 3100 8050 5 8 0 0 0 0 1 pinseq=4 T 2950 8000 3 8 1 1 0 6 1 pinlabel=(AD1) P0.1 T 2950 8000 5 8 0 1 0 8 1 pintype=io } P 3300 7600 3000 7600 1 0 0 { T 3100 7650 5 8 1 1 0 0 1 pinnumber=41 T 3100 7650 5 8 0 0 0 0 1 pinseq=5 T 2950 7600 3 8 1 1 0 6 1 pinlabel=(AD2) P0.2 T 2950 7600 5 8 0 1 0 8 1 pintype=io } P 3300 7200 3000 7200 1 0 0 { T 3100 7250 5 8 1 1 0 0 1 pinnumber=40 T 3100 7250 5 8 0 0 0 0 1 pinseq=6 T 2950 7200 3 8 1 1 0 6 1 pinlabel=(AD3) P0.3 T 2950 7200 5 8 0 1 0 8 1 pintype=io } P 3300 6800 3000 6800 1 0 0 { T 3100 6850 5 8 1 1 0 0 1 pinnumber=39 T 3100 6850 5 8 0 0 0 0 1 pinseq=7 T 2950 6800 3 8 1 1 0 6 1 pinlabel=(AD4) P0.4 T 2950 6800 5 8 0 1 0 8 1 pintype=io } P 3300 6400 3000 6400 1 0 0 { T 3100 6450 5 8 1 1 0 0 1 pinnumber=38 T 3100 6450 5 8 0 0 0 0 1 pinseq=8 T 2950 6400 3 8 1 1 0 6 1 pinlabel=(AD5) P0.5 T 2950 6400 5 8 0 1 0 8 1 pintype=io } P 3300 6000 3000 6000 1 0 0 { T 3100 6050 5 8 1 1 0 0 1 pinnumber=37 T 3100 6050 5 8 0 0 0 0 1 pinseq=9 T 2950 6000 3 8 1 1 0 6 1 pinlabel=(AD6) P0.6 T 2950 6000 5 8 0 1 0 8 1 pintype=io } P 3300 5600 3000 5600 1 0 0 { T 3100 5650 5 8 1 1 0 0 1 pinnumber=36 T 3100 5650 5 8 0 0 0 0 1 pinseq=10 T 2950 5600 3 8 1 1 0 6 1 pinlabel=(AD7) P0.7 T 2950 5600 5 8 0 1 0 8 1 pintype=io } P 3300 5000 3000 5000 1 0 0 { T 3100 5050 5 8 1 1 0 0 1 pinnumber=24 T 3100 5050 5 8 0 0 0 0 1 pinseq=11 T 2950 5000 3 8 1 1 0 6 1 pinlabel=(A8) P2.0 T 2950 5000 5 8 0 1 0 8 1 pintype=io } P 3300 4600 3000 4600 1 0 0 { T 3100 4650 5 8 1 1 0 0 1 pinnumber=25 T 3100 4650 5 8 0 0 0 0 1 pinseq=12 T 2950 4600 3 8 1 1 0 6 1 pinlabel=(A9) P2.1 T 2950 4600 5 8 0 1 0 8 1 pintype=io } P 3300 4200 3000 4200 1 0 0 { T 3100 4250 5 8 1 1 0 0 1 pinnumber=26 T 3100 4250 5 8 0 0 0 0 1 pinseq=13 T 2950 4200 3 8 1 1 0 6 1 pinlabel=(A10) P2.2 T 2950 4200 5 8 0 1 0 8 1 pintype=io } P 3300 3800 3000 3800 1 0 0 { T 3100 3850 5 8 1 1 0 0 1 pinnumber=27 T 3100 3850 5 8 0 0 0 0 1 pinseq=14 T 2950 3800 3 8 1 1 0 6 1 pinlabel=(A11) P2.3 T 2950 3800 5 8 0 1 0 8 1 pintype=io } P 3300 3400 3000 3400 1 0 0 { T 3100 3450 5 8 1 1 0 0 1 pinnumber=28 T 3100 3450 5 8 0 0 0 0 1 pinseq=15 T 2950 3400 3 8 1 1 0 6 1 pinlabel=(A12) P2.4 T 2950 3400 5 8 0 1 0 8 1 pintype=io } P 3300 3000 3000 3000 1 0 0 { T 3100 3050 5 8 1 1 0 0 1 pinnumber=29 T 3100 3050 5 8 0 0 0 0 1 pinseq=16 T 2950 3000 3 8 1 1 0 6 1 pinlabel=(A13) P2.5 T 2950 3000 5 8 0 1 0 8 1 pintype=io } P 3300 2600 3000 2600 1 0 0 { T 3100 2650 5 8 1 1 0 0 1 pinnumber=30 T 3100 2650 5 8 0 0 0 0 1 pinseq=17 T 2950 2600 3 8 1 1 0 6 1 pinlabel=(A14) P2.6 T 2950 2600 5 8 0 1 0 8 1 pintype=io } P 3300 2200 3000 2200 1 0 0 { T 3100 2250 5 8 1 1 0 0 1 pinnumber=31 T 3100 2250 5 8 0 0 0 0 1 pinseq=18 T 2950 2200 3 8 1 1 0 6 1 pinlabel=(A15) P2.7 T 2950 2200 5 8 0 1 0 8 1 pintype=io } P 3300 800 3100 800 1 0 0 { T 3100 850 5 8 1 1 0 0 1 pinnumber=32 T 3100 850 5 8 0 0 0 0 1 pinseq=19 T 2950 800 3 8 1 1 0 6 1 pinlabel=\_PSEN\_ T 2950 800 5 8 0 1 0 8 1 pintype=out } V 3050 800 47 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 8400 400 8400 1 0 0 { T 300 8450 5 8 1 1 0 6 1 pinnumber=2 T 300 8450 5 8 0 0 0 6 1 pinseq=24 T 450 8400 3 8 1 1 0 0 1 pinlabel=P1.0(T2) T 450 8400 5 8 0 1 0 2 1 pintype=io } P 100 8000 400 8000 1 0 0 { T 300 8050 5 8 1 1 0 6 1 pinnumber=3 T 300 8050 5 8 0 0 0 6 1 pinseq=25 T 450 8000 3 8 1 1 0 0 1 pinlabel=P1.1(T2EX) T 450 8000 5 8 0 1 0 2 1 pintype=io } P 100 7600 400 7600 1 0 0 { T 300 7650 5 8 1 1 0 6 1 pinnumber=4 T 300 7650 5 8 0 0 0 6 1 pinseq=26 T 450 7600 3 8 1 1 0 0 1 pinlabel=P1.2(RXD1) T 450 7600 5 8 0 1 0 2 1 pintype=io } P 100 7200 400 7200 1 0 0 { T 300 7250 5 8 1 1 0 6 1 pinnumber=5 T 300 7250 5 8 0 0 0 6 1 pinseq=27 T 450 7200 3 8 1 1 0 0 1 pinlabel=P1.3(TXD1) T 450 7200 5 8 0 1 0 2 1 pintype=io } P 100 6800 400 6800 1 0 0 { T 300 6850 5 8 1 1 0 6 1 pinnumber=6 T 300 6850 5 8 0 0 0 6 1 pinseq=28 T 450 6800 3 8 1 1 0 0 1 pinlabel=P1.4(INT2) T 450 6800 5 8 0 1 0 2 1 pintype=io } P 100 6400 400 6400 1 0 0 { T 300 6450 5 8 1 1 0 6 1 pinnumber=7 T 300 6450 5 8 0 0 0 6 1 pinseq=29 T 450 6400 3 8 1 1 0 0 1 pinlabel=P1.5(\_INT3\_) T 450 6400 5 8 0 1 0 2 1 pintype=io } P 100 6000 400 6000 1 0 0 { T 300 6050 5 8 1 1 0 6 1 pinnumber=8 T 300 6050 5 8 0 0 0 6 1 pinseq=30 T 450 6000 3 8 1 1 0 0 1 pinlabel=P1.6(INT4) T 450 6000 5 8 0 1 0 2 1 pintype=io } P 100 5600 400 5600 1 0 0 { T 300 5650 5 8 1 1 0 6 1 pinnumber=9 T 300 5650 5 8 0 0 0 6 1 pinseq=31 T 450 5600 3 8 1 1 0 0 1 pinlabel=P1.7(\_INT5\_) T 450 5600 5 8 0 1 0 2 1 pintype=io } P 100 5000 400 5000 1 0 0 { T 300 5050 5 8 1 1 0 6 1 pinnumber=11 T 300 5050 5 8 0 0 0 6 1 pinseq=32 T 450 5000 3 8 1 1 0 0 1 pinlabel=P3.0 (RXD0) T 450 5000 5 8 0 1 0 2 1 pintype=io } P 100 4600 400 4600 1 0 0 { T 300 4650 5 8 1 1 0 6 1 pinnumber=13 T 300 4650 5 8 0 0 0 6 1 pinseq=33 T 450 4600 3 8 1 1 0 0 1 pinlabel=P3.1 (TXD0) T 450 4600 5 8 0 1 0 2 1 pintype=io } P 100 4200 400 4200 1 0 0 { T 300 4250 5 8 1 1 0 6 1 pinnumber=14 T 300 4250 5 8 0 0 0 6 1 pinseq=34 T 450 4200 3 8 1 1 0 0 1 pinlabel=P3.2 (\_INT0\_) T 450 4200 5 8 0 1 0 2 1 pintype=io } P 100 3800 400 3800 1 0 0 { T 300 3850 5 8 1 1 0 6 1 pinnumber=15 T 300 3850 5 8 0 0 0 6 1 pinseq=35 T 450 3800 3 8 1 1 0 0 1 pinlabel=P3.3 (\_INT1\_) T 450 3800 5 8 0 1 0 2 1 pintype=io } P 100 3400 400 3400 1 0 0 { T 300 3450 5 8 1 1 0 6 1 pinnumber=16 T 300 3450 5 8 0 0 0 6 1 pinseq=36 T 450 3400 3 8 1 1 0 0 1 pinlabel=P3.4 (T0) T 450 3400 5 8 0 1 0 2 1 pintype=io } P 100 3000 400 3000 1 0 0 { T 300 3050 5 8 1 1 0 6 1 pinnumber=17 T 300 3050 5 8 0 0 0 6 1 pinseq=37 T 450 3000 3 8 1 1 0 0 1 pinlabel=P3.5 (T1) T 450 3000 5 8 0 1 0 2 1 pintype=io } P 100 2600 400 2600 1 0 0 { T 300 2650 5 8 1 1 0 6 1 pinnumber=18 T 300 2650 5 8 0 0 0 6 1 pinseq=38 T 450 2600 3 8 1 1 0 0 1 pinlabel=P3.6 (\_WR\_) T 450 2600 5 8 0 1 0 2 1 pintype=io } P 100 2200 400 2200 1 0 0 { T 300 2250 5 8 1 1 0 6 1 pinnumber=19 T 300 2250 5 8 0 0 0 6 1 pinseq=23 T 450 2200 3 8 1 1 0 0 1 pinlabel=P3.7 (\_RD\_) T 450 2200 5 8 0 1 0 2 1 pintype=io } P 900 100 900 400 1 0 0 { T 950 200 5 8 1 1 0 0 1 pinnumber=10 T 950 200 5 8 0 0 0 0 1 pinseq=22 T 900 450 3 8 1 1 0 3 1 pinlabel=RST T 900 600 5 8 0 1 0 3 1 pintype=in } P 1600 100 1600 400 1 0 0 { T 1650 200 5 8 1 1 0 0 1 pinnumber=21 T 1650 200 5 8 0 0 0 0 1 pinseq=21 T 1600 450 3 8 1 1 0 3 1 pinlabel=XTAL1 T 1600 600 5 8 0 1 0 3 1 pintype=in } P 2500 100 2500 400 1 0 0 { T 2550 200 5 8 1 1 0 0 1 pinnumber=20 T 2550 200 5 8 0 0 0 0 1 pinseq=20 T 2500 450 3 8 1 1 0 3 1 pinlabel=XTAL2 T 2500 600 5 8 0 1 0 3 1 pintype=out } B 400 400 2600 8400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 9450 8 10 0 0 0 0 1 numslots=0 T 400 9250 8 10 0 0 0 0 1 description=Ultra-High-Speed Flash Microcontroller T 400 10250 8 10 0 0 0 0 1 device=DS89C450 geda-gaf-1.8.2/symbols/maxim/max038-2.sym0000664000175000017500000000475012204104272014614 00000000000000v 20040111 1 B 300 0 1400 3000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 3250 5 10 0 0 0 0 1 device=MAX038 P 300 2700 0 2700 1 0 1 { T 200 2750 5 8 1 1 0 6 1 pinnumber=3 T 200 2650 5 8 0 1 0 8 1 pinseq=3 T 350 2700 9 8 1 1 0 0 1 pinlabel=A0 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 300 2300 0 2300 1 0 1 { T 200 2350 5 8 1 1 0 6 1 pinnumber=4 T 200 2250 5 8 0 1 0 8 1 pinseq=4 T 350 2300 9 8 1 1 0 0 1 pinlabel=A1 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 300 1100 0 1100 1 0 1 { T 200 1150 5 8 1 1 0 6 1 pinnumber=5 T 200 1050 5 8 0 1 0 8 1 pinseq=5 T 350 1100 9 8 1 1 0 0 1 pinlabel=COSC T 350 1100 5 8 0 1 0 2 1 pintype=pas } P 300 1900 0 1900 1 0 1 { T 200 1950 5 8 1 1 0 6 1 pinnumber=7 T 200 1850 5 8 0 1 0 8 1 pinseq=7 T 350 1900 9 8 1 1 0 0 1 pinlabel=DADJ T 350 1900 5 8 0 1 0 2 1 pintype=in } P 300 1500 0 1500 1 0 1 { T 200 1550 5 8 1 1 0 6 1 pinnumber=8 T 200 1450 5 8 0 1 0 8 1 pinseq=8 T 350 1500 9 8 1 1 0 0 1 pinlabel=FADJ T 350 1500 5 8 0 1 0 2 1 pintype=in } P 300 700 0 700 1 0 1 { T 200 750 5 8 1 1 0 6 1 pinnumber=10 T 200 650 5 8 0 1 0 8 1 pinseq=10 T 350 700 9 8 1 1 0 0 1 pinlabel=IIN T 350 700 5 8 0 1 0 2 1 pintype=pas } P 300 300 0 300 1 0 1 { T 200 350 5 8 1 1 0 6 1 pinnumber=13 T 200 250 5 8 0 1 0 8 1 pinseq=13 T 350 300 9 8 1 1 0 0 1 pinlabel=PDI T 350 300 5 8 0 1 0 2 1 pintype=in } P 2000 2700 1700 2700 1 0 0 { T 1800 2750 5 8 1 1 0 0 1 pinnumber=1 T 1800 2650 5 8 0 1 0 2 1 pinseq=1 T 1650 2700 9 8 1 1 0 6 1 pinlabel=REF T 1650 2700 5 8 0 1 0 8 1 pintype=out } P 2000 300 1700 300 1 0 0 { T 1800 350 5 8 1 1 0 0 1 pinnumber=12 T 1800 250 5 8 0 1 0 2 1 pinseq=12 T 1650 300 9 8 1 1 0 6 1 pinlabel=PDO T 1650 300 5 8 0 1 0 8 1 pintype=out } P 2000 1900 1700 1900 1 0 0 { T 1800 1950 5 8 1 1 0 0 1 pinnumber=14 T 1800 1850 5 8 0 1 0 2 1 pinseq=14 T 1650 1900 9 8 1 1 0 6 1 pinlabel=SYNC T 1650 1900 5 8 0 1 0 8 1 pintype=out } P 2000 1500 1700 1500 1 0 0 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=19 T 1800 1450 5 8 0 1 0 2 1 pinseq=19 T 1650 1500 9 8 1 1 0 6 1 pinlabel=OUT T 1650 1500 5 8 0 1 0 8 1 pintype=out } T 1700 3100 8 10 1 1 0 6 1 refdes=U? T 300 3650 5 10 0 0 0 0 1 footprint=DIP20 T 300 3850 5 10 0 0 0 0 1 description=high frequency waveform generator T 300 3450 5 10 0 0 0 0 1 numslots=0 T 300 4250 5 10 0 0 0 0 1 net=V+:17 T 300 4450 5 10 0 0 0 0 1 net=V-:20 T 300 4650 5 10 0 0 0 0 1 net=DV+:16 T 300 4850 5 10 0 0 0 0 1 net=DGND:15 T 300 4050 5 10 0 0 0 0 1 net=GND:2,6,9,11,18 T 300 3050 9 10 1 0 0 0 1 MAX038 T 300 5050 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX038.pdf geda-gaf-1.8.2/symbols/maxim/max186-2.sym0000664000175000017500000001006212204104272014611 00000000000000v 20070626 1 B 300 300 1800 3000 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 T 300 4000 5 10 0 0 0 0 1 device=MAX189 T 2100 3400 8 10 1 1 0 6 1 refdes=U? P 300 3000 0 3000 1 0 1 { T 200 3050 5 8 1 1 0 6 1 pinnumber=1 T 200 2950 5 8 0 1 0 8 1 pinseq=1 T 350 3000 9 8 1 1 0 0 1 pinlabel=CH0 T 350 3000 5 8 0 1 0 2 1 pintype=in } P 300 2700 0 2700 1 0 1 { T 200 2750 5 8 1 1 0 6 1 pinnumber=2 T 200 2650 5 8 0 1 0 8 1 pinseq=2 T 350 2700 9 8 1 1 0 0 1 pinlabel=CH1 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 300 2400 0 2400 1 0 1 { T 200 2450 5 8 1 1 0 6 1 pinnumber=3 T 200 2350 5 8 0 1 0 8 1 pinseq=3 T 350 2400 9 8 1 1 0 0 1 pinlabel=CH2 T 350 2400 5 8 0 1 0 2 1 pintype=in } P 300 2100 0 2100 1 0 1 { T 200 2150 5 8 1 1 0 6 1 pinnumber=4 T 200 2050 5 8 0 1 0 8 1 pinseq=4 T 350 2100 9 8 1 1 0 0 1 pinlabel=CH3 T 350 2100 5 8 0 1 0 2 1 pintype=in } P 300 1800 0 1800 1 0 1 { T 200 1850 5 8 1 1 0 6 1 pinnumber=5 T 200 1750 5 8 0 1 0 8 1 pinseq=5 T 350 1800 9 8 1 1 0 0 1 pinlabel=CH4 T 350 1800 5 8 0 1 0 2 1 pintype=in } P 300 1500 0 1500 1 0 1 { T 200 1550 5 8 1 1 0 6 1 pinnumber=6 T 200 1450 5 8 0 1 0 8 1 pinseq=6 T 350 1500 9 8 1 1 0 0 1 pinlabel=CH5 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 300 1200 0 1200 1 0 1 { T 200 1250 5 8 1 1 0 6 1 pinnumber=7 T 200 1150 5 8 0 1 0 8 1 pinseq=7 T 350 1200 9 8 1 1 0 0 1 pinlabel=CH7 T 350 1200 5 8 0 1 0 2 1 pintype=in } P 300 900 0 900 1 0 1 { T 200 950 5 8 1 1 0 6 1 pinnumber=8 T 200 850 5 8 0 1 0 8 1 pinseq=8 T 350 900 9 8 1 1 0 0 1 pinlabel=CH8 T 350 900 5 8 0 1 0 2 1 pintype=in } P 1200 300 1200 0 1 0 1 { T 1250 100 5 8 1 1 0 0 1 pinnumber=9 T 1250 100 5 8 0 1 0 2 1 pinseq=9 T 1200 350 9 8 1 1 0 3 1 pinlabel=Vss T 1200 500 5 8 0 1 0 3 1 pintype=pwr } P 2200 3000 2400 3000 1 0 1 { T 2200 3050 5 8 1 1 0 0 1 pinnumber=10 T 2200 2950 5 8 0 1 0 2 1 pinseq=10 T 2050 3000 9 8 1 1 0 6 1 pinlabel=\_SHDN\_ T 2050 3000 5 8 0 1 0 8 1 pintype=in } P 2100 2700 2400 2700 1 0 1 { T 2200 2750 5 8 1 1 0 0 1 pinnumber=11 T 2200 2650 5 8 0 1 0 2 1 pinseq=11 T 2050 2700 9 8 1 1 0 6 1 pinlabel=VREF T 2050 2700 5 8 0 1 0 8 1 pintype=in } P 2100 2400 2400 2400 1 0 1 { T 2200 2450 5 8 1 1 0 0 1 pinnumber=12 T 2200 2350 5 8 0 1 0 2 1 pinseq=12 T 2050 2400 9 8 1 1 0 6 1 pinlabel=REFADJ T 2050 2400 5 8 0 1 0 8 1 pintype=in } P 600 300 600 0 1 0 1 { T 650 100 5 8 1 1 0 0 1 pinnumber=13 T 650 100 5 8 0 1 0 2 1 pinseq=13 T 600 350 9 8 1 1 0 3 1 pinlabel=AGND T 600 500 5 8 0 1 0 3 1 pintype=pwr } P 1800 300 1800 0 1 0 1 { T 1850 100 5 8 1 1 0 0 1 pinnumber=14 T 1850 100 5 8 0 1 0 2 1 pinseq=14 T 1800 350 9 8 1 1 0 3 1 pinlabel=DGND T 1800 500 5 8 0 1 0 3 1 pintype=pwr } P 2100 1800 2400 1800 1 0 1 { T 2200 1850 5 8 1 1 0 0 1 pinnumber=15 T 2200 1750 5 8 0 1 0 2 1 pinseq=15 T 2050 1800 9 8 1 1 0 6 1 pinlabel=DOUT T 2050 1800 5 8 0 1 0 8 1 pintype=tri } P 2100 2100 2400 2100 1 0 1 { T 2200 2150 5 8 1 1 0 0 1 pinnumber=16 T 2200 2050 5 8 0 1 0 2 1 pinseq=16 T 2050 2100 9 8 1 1 0 6 1 pinlabel=SSTRB T 2050 2100 5 8 0 1 0 8 1 pintype=tri } P 2100 1500 2400 1500 1 0 1 { T 2200 1550 5 8 1 1 0 0 1 pinnumber=17 T 2200 1450 5 8 0 1 0 2 1 pinseq=17 T 2050 1500 9 8 1 1 0 6 1 pinlabel=DIN T 2050 1500 5 8 0 1 0 8 1 pintype=in } P 2200 900 2400 900 1 0 1 { T 2200 950 5 8 1 1 0 0 1 pinnumber=18 T 2200 850 5 8 0 1 0 2 1 pinseq=18 T 2050 900 9 8 1 1 0 6 1 pinlabel=\_CS\_ T 2050 900 5 8 0 1 0 8 1 pintype=in } L 2100 1275 2000 1200 3 0 0 0 -1 -1 L 2100 1125 2000 1200 3 0 0 0 -1 -1 P 2100 1200 2400 1200 1 0 1 { T 2200 1250 5 8 1 1 0 0 1 pinnumber=19 T 2200 1150 5 8 0 1 0 2 1 pinseq=19 T 2025 1200 9 8 1 1 0 6 1 pinlabel=SCLK T 2050 1200 5 8 0 1 0 8 1 pintype=clk } P 1200 3300 1200 3600 1 0 1 { T 1250 3400 5 8 1 1 0 0 1 pinnumber=20 T 1250 3400 5 8 0 1 0 2 1 pinseq=20 T 1200 3250 9 8 1 1 0 5 1 pinlabel=Vcc T 1200 3100 5 8 0 1 0 5 1 pintype=pwr } T 300 4200 5 10 0 0 0 0 1 footprint=DIP20 T 300 4400 5 10 0 0 0 0 1 description=low-power, 8-channel, serial 12-bit ADC T 300 3800 5 10 0 0 0 0 1 numslots=0 T 300 4600 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX186-MAX188.pdf T 300 3350 3 10 1 0 0 0 1 MAX186 V 2150 900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 2150 3000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/maxim/max1011-2.sym0000664000175000017500000000574712204104272014673 00000000000000v 20041228 1 P 300 2700 0 2700 1 0 1 { T 200 2750 5 8 1 1 0 6 1 pinnumber=1 T 200 2650 5 8 0 1 0 8 1 pinseq=1 T 350 2700 9 8 1 1 0 0 1 pinlabel=GAIN T 350 2700 5 8 0 1 0 2 1 pintype=in } P 300 2300 0 2300 1 0 1 { T 200 2350 5 8 1 1 0 6 1 pinnumber=2 T 200 2250 5 8 0 1 0 8 1 pinseq=2 T 350 2300 9 8 1 1 0 0 1 pinlabel=OCC+ T 350 2300 5 8 0 1 0 2 1 pintype=pas } P 300 1900 0 1900 1 0 1 { T 200 1950 5 8 1 1 0 6 1 pinnumber=3 T 200 1850 5 8 0 1 0 8 1 pinseq=3 T 350 1900 9 8 1 1 0 0 1 pinlabel=OCC- T 350 1900 5 8 0 1 0 2 1 pintype=pas } P 300 1500 0 1500 1 0 1 { T 200 1550 5 8 1 1 0 6 1 pinnumber=4 T 200 1450 5 8 0 1 0 8 1 pinseq=4 T 350 1500 9 8 1 1 0 0 1 pinlabel=IN+ T 350 1500 5 8 0 1 0 2 1 pintype=in } P 300 1100 0 1100 1 0 1 { T 200 1150 5 8 1 1 0 6 1 pinnumber=5 T 200 1050 5 8 0 1 0 8 1 pinseq=5 T 350 1100 9 8 1 1 0 0 1 pinlabel=IN- T 350 1100 5 8 0 1 0 2 1 pintype=in } P 300 700 0 700 1 0 1 { T 200 750 5 8 1 1 0 6 1 pinnumber=7 T 200 650 5 8 0 1 0 8 1 pinseq=7 T 350 700 9 8 1 1 0 0 1 pinlabel=TNK+ T 350 700 5 8 0 1 0 2 1 pintype=in } P 300 300 0 300 1 0 1 { T 200 350 5 8 1 1 0 6 1 pinnumber=8 T 200 250 5 8 0 1 0 8 1 pinseq=8 T 350 300 9 8 1 1 0 0 1 pinlabel=TNK- T 350 300 5 8 0 1 0 2 1 pintype=in } P 2000 2300 1700 2300 1 0 0 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=19 T 1800 2250 5 8 0 1 0 2 1 pinseq=19 T 1650 2300 9 8 1 1 0 6 1 pinlabel=D0 T 1650 2300 5 8 0 1 0 8 1 pintype=out } P 2000 1900 1700 1900 1 0 0 { T 1800 1950 5 8 1 1 0 0 1 pinnumber=20 T 1800 1850 5 8 0 1 0 2 1 pinseq=20 T 1650 1900 9 8 1 1 0 6 1 pinlabel=D1 T 1650 1900 5 8 0 1 0 8 1 pintype=out } P 2000 1500 1700 1500 1 0 0 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=21 T 1800 1450 5 8 0 1 0 2 1 pinseq=21 T 1650 1500 9 8 1 1 0 6 1 pinlabel=D2 T 1650 1500 5 8 0 1 0 8 1 pintype=out } P 2000 1100 1700 1100 1 0 0 { T 1800 1150 5 8 1 1 0 0 1 pinnumber=22 T 1800 1050 5 8 0 1 0 2 1 pinseq=22 T 1650 1100 9 8 1 1 0 6 1 pinlabel=D3 T 1650 1100 5 8 0 1 0 8 1 pintype=out } P 2000 700 1700 700 1 0 0 { T 1800 750 5 8 1 1 0 0 1 pinnumber=23 T 1800 650 5 8 0 1 0 2 1 pinseq=23 T 1650 700 9 8 1 1 0 6 1 pinlabel=D4 T 1650 700 5 8 0 1 0 8 1 pintype=out } P 2000 300 1700 300 1 0 0 { T 1800 350 5 8 1 1 0 0 1 pinnumber=24 T 1800 250 5 8 0 1 0 2 1 pinseq=24 T 1650 300 9 8 1 1 0 6 1 pinlabel=D5 T 1650 300 5 8 0 1 0 8 1 pintype=out } B 300 0 1400 3000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 3250 5 10 0 0 0 0 1 device=MAX1011 P 2000 2700 1700 2700 1 0 0 { T 1800 2750 5 8 1 1 0 0 1 pinnumber=18 T 1800 2650 5 8 0 1 0 2 1 pinseq=18 T 1650 2700 9 8 1 1 0 6 1 pinlabel=DCLK T 1650 2700 5 8 0 1 0 8 1 pintype=out } T 1700 3100 8 10 1 1 0 6 1 refdes=U? T 300 3650 5 10 0 0 0 0 1 footprint=QSOP24 T 300 3850 5 10 0 0 0 0 1 description=low power, 90Msps, 6-bit ADC T 300 3450 5 10 0 0 0 0 1 numslots=0 T 300 4450 5 10 0 0 0 0 1 net=VCC:6,11,14 T 300 4650 5 10 0 0 0 0 1 net=GND:9,10,12,13 T 300 4050 5 10 0 0 0 0 1 net=OGND:16 T 300 4250 5 10 0 0 0 0 1 net=VCCO:17 T 300 3050 9 10 1 0 0 0 1 MAX1011 T 300 4850 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX1011.pdf geda-gaf-1.8.2/symbols/maxim/max664-1.sym0000664000175000017500000000346312204104272014620 00000000000000v 20041228 1 B 300 300 2100 1800 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 T 300 2350 5 10 0 0 0 0 1 device=MAX664 T 2400 2200 8 10 1 1 0 6 1 refdes=U? P 2400 1200 2700 1200 1 0 1 { T 2500 1250 5 8 1 1 0 0 1 pinnumber=1 T 2500 1150 5 8 0 1 0 2 1 pinseq=1 T 2350 1200 9 8 1 1 0 6 1 pinlabel=VOUT2 T 2350 1200 5 8 0 1 0 8 1 pintype=out } P 2400 1800 2700 1800 1 0 1 { T 2500 1850 5 8 1 1 0 0 1 pinnumber=2 T 2500 1750 5 8 0 1 0 2 1 pinseq=2 T 2350 1800 9 8 1 1 0 6 1 pinlabel=SENSE T 2350 1800 5 8 0 1 0 8 1 pintype=in } P 900 300 900 0 1 0 1 { T 950 100 5 8 1 1 0 0 1 pinnumber=3 T 950 100 5 8 0 1 0 2 1 pinseq=3 T 900 350 9 8 1 1 90 1 1 pinlabel=SHDN T 1000 350 5 8 0 1 90 1 1 pintype=in } P 300 1800 0 1800 1 0 1 { T 200 1850 5 8 1 1 0 6 1 pinnumber=4 T 200 1750 5 8 0 1 0 8 1 pinseq=4 T 350 1800 9 8 1 1 0 0 1 pinlabel=VIN (NEG) T 350 1800 5 8 0 1 0 2 1 pintype=in } P 600 300 600 0 1 0 1 { T 650 100 5 8 1 1 0 0 1 pinnumber=5 T 650 100 5 8 0 1 0 2 1 pinseq=5 T 600 350 9 8 1 1 90 1 1 pinlabel=SHDN T 700 350 5 8 0 1 90 1 1 pintype=in } P 1500 300 1500 0 1 0 1 { T 1550 100 5 8 1 1 0 0 1 pinnumber=6 T 1550 100 5 8 0 1 0 2 1 pinseq=6 T 1500 350 9 8 1 1 90 1 1 pinlabel=VSET T 1600 350 5 8 0 1 90 1 1 pintype=in } P 2400 600 2700 600 1 0 1 { T 2500 650 5 8 1 1 0 0 1 pinnumber=7 T 2500 550 5 8 0 1 0 2 1 pinseq=7 T 2350 600 9 8 1 1 0 6 1 pinlabel=VOUT1 T 2350 600 5 8 0 1 0 8 1 pintype=out } P 1200 300 1200 0 1 0 1 { T 1250 100 5 8 1 1 0 0 1 pinnumber=8 T 1250 100 5 8 0 1 0 2 1 pinseq=8 T 1200 350 9 8 1 1 90 1 1 pinlabel=GND T 1300 350 5 8 0 1 90 1 1 pintype=pwr } T 300 2750 5 10 0 0 0 0 1 footprint=DIP8 T 300 2950 5 10 0 0 0 0 1 description=dual mode -5V/programmable voltage regulator T 300 2550 5 10 0 0 0 0 1 numslots=0 T 300 3150 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX663-MAX666.pdf T 300 2150 3 10 1 0 0 0 1 MAX664 geda-gaf-1.8.2/symbols/maxim/max6314-1.sym0000664000175000017500000000232312204104272014670 00000000000000v 20070626 1 T 100 2025 5 10 0 0 0 0 1 device=MAX6314 P 1100 300 1100 0 1 0 1 { T 1150 100 5 8 1 1 0 0 1 pinnumber=1 T 1150 100 5 8 0 1 0 2 1 pinseq=1 T 1100 500 5 8 0 1 0 3 1 pintype=pwr T 1100 350 9 8 1 1 0 3 1 pinlabel=GND } P 2100 1000 2300 1000 1 0 1 { T 2100 1050 5 8 1 1 0 0 1 pinnumber=2 T 2100 950 5 8 0 1 0 2 1 pinseq=2 T 1950 1000 5 8 0 1 0 8 1 pintype=io T 1950 1000 9 8 1 1 0 6 1 pinlabel=\_RESET\_ } P 0 1000 200 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=3 T 200 950 5 8 0 1 0 8 1 pinseq=3 T 350 1000 5 8 0 1 0 2 1 pintype=in T 350 1000 9 8 1 1 0 0 1 pinlabel=\_MR\_ } P 1100 1900 1100 1600 1 0 0 { T 1150 1700 5 8 1 1 0 0 1 pinnumber=4 T 1150 1700 5 8 0 1 0 2 1 pinseq=4 T 1100 1400 5 8 0 1 0 5 1 pintype=in T 1100 1550 9 8 1 1 0 5 1 pinlabel=Vcc } B 300 300 1700 1300 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 T 100 2450 5 10 0 0 0 0 1 footprint=SOT143 T 2000 1650 8 10 1 1 0 6 1 refdes=U? T 100 2250 5 10 0 0 0 0 1 description=68HC11/bidirectional-compatible uP reset circuit T 100 1850 5 10 0 0 0 0 1 numslots=0 T 100 2650 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX6314.pdf T 100 1650 9 10 1 0 0 0 1 MAX6314 V 250 1000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 2050 1000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/maxim/max3226-1.sym0000664000175000017500000000603512204104272014673 00000000000000v 20070626 1 P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=2 T 200 2250 5 8 0 1 0 8 1 pinseq=1 T 350 2300 5 8 0 1 0 2 1 pintype=pas T 350 2300 9 8 1 1 0 0 1 pinlabel=C1+ } P 0 2000 300 2000 1 0 0 { T 200 2050 5 8 1 1 0 6 1 pinnumber=4 T 200 1950 5 8 0 1 0 8 1 pinseq=2 T 350 2000 5 8 0 1 0 2 1 pintype=pas T 350 2000 9 8 1 1 0 0 1 pinlabel=C1- } P 0 1700 300 1700 1 0 0 { T 200 1750 5 8 1 1 0 6 1 pinnumber=5 T 200 1650 5 8 0 1 0 8 1 pinseq=3 T 350 1700 5 8 0 1 0 2 1 pintype=pas T 350 1700 9 8 1 1 0 0 1 pinlabel=C2+ } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=6 T 200 1350 5 8 0 1 0 8 1 pinseq=4 T 350 1400 5 8 0 1 0 2 1 pintype=pas T 350 1400 9 8 1 1 0 0 1 pinlabel=C2- } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=11 T 200 1050 5 8 0 1 0 8 1 pinseq=5 T 350 1100 5 8 0 1 0 2 1 pintype=in T 350 1100 9 8 1 1 0 0 1 pinlabel=T1in } P 0 500 300 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=1 T 200 450 5 8 0 1 0 8 1 pinseq=7 T 350 500 5 8 0 1 0 2 1 pintype=out T 350 500 9 8 1 1 0 0 1 pinlabel=Ready } P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=12 T 200 150 5 8 0 1 0 8 1 pinseq=8 T 350 200 5 8 0 1 0 2 1 pintype=in T 350 200 9 8 1 1 0 0 1 pinlabel=FrcOn } P 1700 2300 2000 2300 1 0 1 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=3 T 1800 2250 5 8 0 1 0 2 1 pinseq=14 T 1650 2300 5 8 0 1 0 8 1 pintype=pas T 1650 2300 9 8 1 1 0 6 1 pinlabel=V+ } P 1700 1700 2000 1700 1 0 1 { T 1800 1750 5 8 1 1 0 0 1 pinnumber=7 T 1800 1650 5 8 0 1 0 2 1 pinseq=13 T 1650 1700 5 8 0 1 0 8 1 pintype=pas T 1650 1700 9 8 1 1 0 6 1 pinlabel=V- } P 1700 1100 2000 1100 1 0 1 { T 1800 1150 5 8 1 1 0 0 1 pinnumber=13 T 1800 1050 5 8 0 1 0 2 1 pinseq=12 T 1650 1100 5 8 0 1 0 8 1 pintype=out T 1650 1100 9 8 1 1 0 6 1 pinlabel=T1out } P 1700 800 2000 800 1 0 1 { T 1800 850 5 8 1 1 0 0 1 pinnumber=8 T 1800 750 5 8 0 1 0 2 1 pinseq=11 T 1650 800 5 8 0 1 0 8 1 pintype=in T 1650 800 9 8 1 1 0 6 1 pinlabel=R1in } P 1800 500 2000 500 1 0 1 { T 1800 550 5 8 1 1 0 0 1 pinnumber=10 T 1800 450 5 8 0 1 0 2 1 pinseq=10 T 1650 500 5 8 0 1 0 8 1 pintype=out T 1650 500 9 8 1 1 0 6 1 pinlabel=\_Invalid\_ } P 1800 200 2000 200 1 0 1 { T 1800 250 5 8 1 1 0 0 1 pinnumber=16 T 1800 150 5 8 0 1 0 2 1 pinseq=9 T 1650 200 5 8 0 1 0 8 1 pintype=pas T 1650 200 9 8 1 1 0 6 1 pinlabel=\_FrcOff\_ } B 300 0 1400 2500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 800 300 800 1 0 0 { T 200 850 5 8 1 1 0 6 1 pinnumber=9 T 200 750 5 8 0 1 0 8 1 pinseq=6 T 350 800 5 8 0 1 0 2 1 pintype=out T 350 800 9 8 1 1 0 0 1 pinlabel=R1out } V 1750 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1750 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1700 2600 8 10 1 1 0 6 1 refdes=U? T 300 3150 5 10 0 0 0 0 1 device=max3226 T 300 2950 5 10 0 0 0 0 1 footprint=DIP16 T 0 -300 5 10 0 0 0 0 1 net=+5V:15 T 1200 -300 5 10 0 0 0 0 1 net=GND:14 T 300 3550 5 10 0 0 0 0 1 description=1uA supply current, 1Mbps, 3V to 5.5V, RS-232 transceiver with autoshutdown T 300 2750 5 10 0 0 0 0 1 numslots=0 T 300 3350 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX3224-MAX3245.pdf T 300 2550 9 8 1 0 0 0 1 MAX3226 geda-gaf-1.8.2/symbols/maxim/mxt429-1.sym0000664000175000017500000000330012204104272014630 00000000000000v 20041228 1 B 300 300 1400 1600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 600 2500 5 10 0 0 0 0 1 device=MXT429 T 1700 2000 8 10 1 1 0 6 1 refdes=U? T 600 2900 5 10 0 0 0 0 1 footprint=DIP8 T 600 3300 5 10 0 0 0 0 1 description=High-Speed, 6A Single MOSFET Driver T 600 2700 5 10 0 0 0 0 1 numslots=0 V 1750 1400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1800 1400 2000 1400 1 0 1 { T 1800 1450 5 8 1 1 0 0 1 pinnumber=7 T 1800 1350 5 8 0 1 0 2 1 pinseq=7 T 1650 1400 5 8 0 1 0 8 1 pintype=out T 1650 1400 9 8 1 1 0 6 1 pinlabel=OUT } V 1750 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1800 800 2000 800 1 0 1 { T 1800 850 5 8 1 1 0 0 1 pinnumber=6 T 1800 750 5 8 0 1 0 2 1 pinseq=6 T 1650 800 5 8 0 1 0 8 1 pintype=out T 1650 800 9 8 1 1 0 6 1 pinlabel=OUT } P 300 1100 0 1100 1 0 1 { T 200 1150 5 8 1 1 0 6 1 pinnumber=2 T 200 1050 5 8 0 1 0 8 1 pinseq=2 T 350 1100 5 8 0 1 0 2 1 pintype=in T 350 1100 9 8 1 1 0 0 1 pinlabel=IN } P 600 300 600 0 1 0 1 { T 650 100 5 8 1 1 0 0 1 pinnumber=4 T 650 100 5 8 0 1 0 2 1 pinseq=4 T 600 500 5 8 0 1 0 3 1 pintype=pwr T 600 350 9 8 1 1 0 3 1 pinlabel=GND } P 900 300 900 0 1 0 1 { T 950 100 5 8 1 1 0 0 1 pinnumber=5 T 950 100 5 8 0 1 0 2 1 pinseq=5 T 900 500 5 8 0 1 0 3 1 pintype=pwr T 900 350 9 8 1 1 0 3 1 pinlabel=GND } P 600 1900 600 2200 1 0 1 { T 650 2000 5 8 1 1 0 0 1 pinnumber=1 T 650 2000 5 8 0 1 0 2 1 pinseq=1 T 600 1700 5 8 0 1 0 5 1 pintype=pwr T 600 1850 9 8 1 1 0 5 1 pinlabel=Vdd } P 900 1900 900 2200 1 0 1 { T 950 2000 5 8 1 1 0 0 1 pinnumber=8 T 950 2000 5 8 0 1 0 2 1 pinseq=8 T 900 1700 5 8 0 1 0 5 1 pintype=pwr T 900 1850 9 8 1 1 0 5 1 pinlabel=Vdd } T 600 3100 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX4420-MXT429.pdf T 1200 100 9 10 1 0 0 0 1 MXT429 geda-gaf-1.8.2/symbols/maxim/max492-1.sym0000664000175000017500000000233712204104272014616 00000000000000v 20041228 1 T 925 2250 5 10 0 0 0 0 1 device=MAX492 T 600 700 8 10 1 1 0 0 1 refdes=U? T 900 2100 5 10 0 0 0 0 1 numslots=2 T 875 1900 5 10 0 0 0 0 1 slotdef=1:1,2,3 T 875 1700 5 10 0 0 0 0 1 slotdef=2:7,6,5 T 875 1500 5 10 0 0 0 0 1 slot=1 T 875 1300 5 10 0 0 0 0 1 net=Vcc:8 T 925 1150 5 10 0 0 0 0 1 net=GND:4 P 200 600 0 600 1 0 1 { T 150 650 5 8 1 1 0 6 1 pinnumber=3 T 200 550 5 8 0 1 0 8 1 pinseq=3 T 350 600 9 8 0 1 0 0 1 pinlabel=IN+ T 350 600 5 8 0 1 0 2 1 pintype=in } P 200 200 0 200 1 0 1 { T 150 250 5 8 1 1 0 6 1 pinnumber=2 T 200 150 5 8 0 1 0 8 1 pinseq=2 T 350 200 9 8 0 1 0 0 1 pinlabel=IN- T 350 200 5 8 0 1 0 2 1 pintype=in } P 800 400 1000 400 1 0 1 { T 850 450 5 8 1 1 0 0 1 pinnumber=1 T 800 350 5 8 0 1 0 2 1 pinseq=1 T 650 400 9 8 0 1 0 6 1 pinlabel=OUT T 650 400 5 8 0 1 0 8 1 pintype=out } L 250 600 350 600 3 0 0 0 -1 -1 L 300 650 300 550 3 0 0 0 -1 -1 L 200 0 200 800 3 0 0 0 -1 -1 L 200 800 800 400 3 0 0 0 -1 -1 L 800 400 200 0 3 0 0 0 -1 -1 L 250 200 350 200 3 0 0 0 -1 -1 T 900 2450 5 10 0 0 0 0 1 footprint=DIP8 T 900 2650 5 10 0 0 0 0 1 description=dual single-supply rail-to-rail opamp T 900 2850 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX492-MAX495.pdf T 225 850 9 8 1 0 0 0 1 MAX492 geda-gaf-1.8.2/symbols/maxim/max189-1.sym0000664000175000017500000000370012204104272014614 00000000000000v 20070626 1 B 300 300 1800 1800 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 T 300 2800 5 10 0 0 0 0 1 device=MAX189 T 300 2400 8 10 1 1 0 0 1 refdes=U? P 1800 2100 1800 2400 1 0 1 { T 1850 2200 5 8 1 1 0 0 1 pinnumber=1 T 1850 2200 5 8 0 1 0 2 1 pinseq=1 T 1800 2050 9 8 1 1 0 5 1 pinlabel=Vdd T 1800 1900 5 8 0 1 0 5 1 pintype=pwr } P 2100 1500 2400 1500 1 0 1 { T 2200 1550 5 8 1 1 0 0 1 pinnumber=2 T 2200 1450 5 8 0 1 0 2 1 pinseq=2 T 2050 1500 9 8 1 1 0 6 1 pinlabel=Vin T 2050 1500 5 8 0 1 0 8 1 pintype=in } V 1200 2150 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1200 2200 1200 2400 1 0 1 { T 1250 2200 5 8 1 1 0 0 1 pinnumber=3 T 1250 2200 5 8 0 1 0 2 1 pinseq=3 T 1200 2050 9 8 1 1 0 5 1 pinlabel=\_SHDN\_ T 1200 1900 5 8 0 1 0 5 1 pintype=in } P 2100 900 2400 900 1 0 1 { T 2200 950 5 8 1 1 0 0 1 pinnumber=4 T 2200 850 5 8 0 1 0 2 1 pinseq=4 T 2050 900 9 8 1 1 0 6 1 pinlabel=REF T 2050 900 5 8 0 1 0 8 1 pintype=pas } P 1200 300 1200 0 1 0 1 { T 1250 100 5 8 1 1 0 0 1 pinnumber=5 T 1250 100 5 8 0 1 0 2 1 pinseq=5 T 1200 350 9 8 1 1 0 3 1 pinlabel=GND T 1200 500 5 8 0 1 0 3 1 pintype=pwr } P 300 1500 0 1500 1 0 1 { T 200 1550 5 8 1 1 0 6 1 pinnumber=6 T 200 1450 5 8 0 1 0 8 1 pinseq=6 T 350 1500 9 8 1 1 0 0 1 pinlabel=DOUT T 350 1500 5 8 0 1 0 2 1 pintype=out } V 250 600 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 600 0 600 1 0 1 { T 200 650 5 8 1 1 0 6 1 pinnumber=7 T 200 550 5 8 0 1 0 8 1 pinseq=7 T 350 600 9 8 1 1 0 0 1 pinlabel=\_CS\_ T 350 600 5 8 0 1 0 2 1 pintype=in } L 300 1125 400 1200 3 0 0 0 -1 -1 L 300 1275 400 1200 3 0 0 0 -1 -1 P 300 1200 0 1200 1 0 1 { T 200 1250 5 8 1 1 0 6 1 pinnumber=8 T 200 1150 5 8 0 1 0 8 1 pinseq=8 T 400 1200 9 8 1 1 0 0 1 pinlabel=SCLK T 350 1200 5 8 0 1 0 2 1 pintype=clk } T 300 3200 5 10 0 0 0 0 1 footprint=DIP8 T 300 3400 5 10 0 0 0 0 1 description=low power, 12-bit serial ADC T 300 3000 5 10 0 0 0 0 1 numslots=0 T 300 3600 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX187-MAX189.pdf T 300 2150 3 10 1 0 0 0 1 MAX189 geda-gaf-1.8.2/symbols/maxim/DS1307-1.sym0000664000175000017500000000350612204104272014412 00000000000000v 20041228 1 T 1700 2100 8 10 1 1 0 6 1 refdes=U? T 300 2050 9 10 1 0 0 0 1 ds1307 T 300 2450 8 10 0 0 0 0 1 device=ds1307 T 300 2650 8 10 0 0 0 0 1 footprint=DIP8 T 300 2850 8 10 0 0 0 0 1 author=m. dickens T 300 3050 8 10 0 0 0 0 1 documentation=http://www.maxim.com T 300 3250 8 10 0 0 0 0 1 description=real time clock, 64x8, serial, i2c T 300 3450 8 10 0 0 0 0 1 numslots=0 P 0 1600 300 1600 1 0 0 { T 200 1650 5 8 1 1 0 6 1 pinnumber=1 T 200 1550 5 8 0 1 0 8 1 pinseq=1 T 350 1600 9 8 1 1 0 0 1 pinlabel=X1 T 350 1600 5 8 0 1 0 2 1 pintype=in } P 0 1200 300 1200 1 0 0 { T 200 1250 5 8 1 1 0 6 1 pinnumber=2 T 200 1150 5 8 0 1 0 8 1 pinseq=2 T 350 1200 9 8 1 1 0 0 1 pinlabel=X2 T 350 1200 5 8 0 1 0 2 1 pintype=in } P 0 800 300 800 1 0 0 { T 200 850 5 8 1 1 0 6 1 pinnumber=3 T 200 750 5 8 0 1 0 8 1 pinseq=3 T 350 800 9 8 1 1 0 0 1 pinlabel=VBATTERY T 350 800 5 8 0 1 0 2 1 pintype=pwr } P 0 400 300 400 1 0 0 { T 200 450 5 8 1 1 0 6 1 pinnumber=4 T 200 350 5 8 0 1 0 8 1 pinseq=4 T 350 400 9 8 1 1 0 0 1 pinlabel=GND T 350 400 5 8 0 1 0 2 1 pintype=pwr } P 2000 400 1700 400 1 0 0 { T 1800 450 5 8 1 1 0 0 1 pinnumber=5 T 1800 350 5 8 0 1 0 2 1 pinseq=5 T 1650 400 9 8 1 1 0 6 1 pinlabel=SDA T 1650 400 5 8 0 1 0 8 1 pintype=io } P 2000 800 1700 800 1 0 0 { T 1800 850 5 8 1 1 0 0 1 pinnumber=6 T 1800 750 5 8 0 1 0 2 1 pinseq=6 T 1650 800 9 8 1 1 0 6 1 pinlabel=SCL T 1650 800 5 8 0 1 0 8 1 pintype=clk } P 2000 1200 1700 1200 1 0 0 { T 1800 1250 5 8 1 1 0 0 1 pinnumber=7 T 1800 1150 5 8 0 1 0 2 1 pinseq=7 T 1650 1200 9 8 1 1 0 6 1 pinlabel=SQW/OUT T 1650 1200 5 8 0 1 0 8 1 pintype=out } P 2000 1600 1700 1600 1 0 0 { T 1800 1650 5 8 1 1 0 0 1 pinnumber=8 T 1800 1550 5 8 0 1 0 2 1 pinseq=8 T 1650 1600 9 8 1 1 0 6 1 pinlabel=VCC T 1650 1600 5 8 0 1 0 8 1 pintype=pwr } B 300 0 1400 2000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/maxim/max12527-1.sym0000664000175000017500000004055412204104272014763 00000000000000v 20050313 1 P 100 11300 400 11300 1 0 0 { T 325 11350 5 10 1 1 0 6 1 pinnumber=2 T 100 11300 5 10 0 1 0 0 1 pinseq=2 T 300 11350 5 10 0 1 0 0 1 pintype=in T 500 11350 5 10 1 1 0 0 1 pinlabel=INAP } B 400 400 4900 11800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 5600 7000 5300 7000 1 0 0 { T 5500 7000 5 10 0 1 0 0 1 pintype=out T 5350 7025 5 10 1 1 0 0 1 pinnumber=41 T 5500 7000 5 10 0 1 0 0 1 pinseq=41 T 4700 7000 5 10 1 1 0 1 1 pinlabel=DB11 } P 5600 6800 5300 6800 1 0 0 { T 5500 6800 5 10 0 1 0 0 1 pintype=out T 5350 6825 5 10 1 1 0 0 1 pinnumber=40 T 5500 6800 5 10 0 1 0 0 1 pinseq=40 T 4700 6800 5 10 1 1 0 1 1 pinlabel=DB10 } P 5600 6600 5300 6600 1 0 0 { T 5500 6600 5 10 0 1 0 0 1 pintype=out T 5350 6625 5 10 1 1 0 0 1 pinnumber=39 T 5500 6600 5 10 0 1 0 0 1 pinseq=39 T 4700 6600 5 10 1 1 0 1 1 pinlabel=DB9 } P 5600 6400 5300 6400 1 0 0 { T 5500 6400 5 10 0 1 0 0 1 pintype=out T 5350 6425 5 10 1 1 0 0 1 pinnumber=38 T 5500 6400 5 10 0 1 0 0 1 pinseq=38 T 4700 6400 5 10 1 1 0 1 1 pinlabel=DB8 } P 5600 6200 5300 6200 1 0 0 { T 5500 6200 5 10 0 1 0 0 1 pintype=out T 5350 6225 5 10 1 1 0 0 1 pinnumber=37 T 5500 6200 5 10 0 1 0 0 1 pinseq=37 T 4700 6200 5 10 1 1 0 1 1 pinlabel=DB7 } P 5600 6000 5300 6000 1 0 0 { T 5500 6000 5 10 0 1 0 0 1 pintype=out T 5350 6025 5 10 1 1 0 0 1 pinnumber=36 T 5500 6000 5 10 0 1 0 0 1 pinseq=36 T 4700 6000 5 10 1 1 0 1 1 pinlabel=DB6 } P 5600 5800 5300 5800 1 0 0 { T 5500 5800 5 10 0 1 0 0 1 pintype=out T 5350 5825 5 10 1 1 0 0 1 pinnumber=35 T 5500 5800 5 10 0 1 0 0 1 pinseq=35 T 4700 5800 5 10 1 1 0 1 1 pinlabel=DB5 } P 5600 5600 5300 5600 1 0 0 { T 5500 5600 5 10 0 1 0 0 1 pintype=out T 5350 5625 5 10 1 1 0 0 1 pinnumber=34 T 5500 5600 5 10 0 1 0 0 1 pinseq=34 T 4700 5600 5 10 1 1 0 1 1 pinlabel=DB4 } P 5600 5400 5300 5400 1 0 0 { T 5500 5400 5 10 0 1 0 0 1 pintype=out T 5350 5425 5 10 1 1 0 0 1 pinnumber=33 T 5500 5400 5 10 0 1 0 0 1 pinseq=33 T 4700 5400 5 10 1 1 0 1 1 pinlabel=DB3 } P 5600 5200 5300 5200 1 0 0 { T 5500 5200 5 10 0 1 0 0 1 pintype=out T 5350 5225 5 10 1 1 0 0 1 pinnumber=32 T 5500 5200 5 10 0 1 0 0 1 pinseq=32 T 4700 5200 5 10 1 1 0 1 1 pinlabel=DB2 } P 5600 5000 5300 5000 1 0 0 { T 5500 5000 5 10 0 1 0 0 1 pintype=out T 5350 5025 5 10 1 1 0 0 1 pinnumber=31 T 5500 5000 5 10 0 1 0 0 1 pinseq=31 T 4700 5000 5 10 1 1 0 1 1 pinlabel=DB1 } P 5600 4800 5300 4800 1 0 0 { T 5500 4800 5 10 0 1 0 0 1 pintype=out T 5350 4825 5 10 1 1 0 0 1 pinnumber=30 T 5500 4800 5 10 0 1 0 0 1 pinseq=30 T 4700 4800 5 10 1 1 0 1 1 pinlabel=DB0 } P 5600 4300 5300 4300 1 0 0 { T 5500 4300 5 10 0 1 0 0 1 pintype=out T 5350 4325 5 10 1 1 0 0 1 pinnumber=29 T 5500 4300 5 10 0 1 0 0 1 pinseq=29 T 4700 4300 5 10 1 1 0 1 1 pinlabel=NC1 } P 5600 4100 5300 4100 1 0 0 { T 5500 4100 5 10 0 1 0 0 1 pintype=out T 5350 4125 5 10 1 1 0 0 1 pinnumber=28 T 5500 4100 5 10 0 1 0 0 1 pinseq=28 T 4700 4100 5 10 1 1 0 1 1 pinlabel=NC0 } P 5600 7200 5300 7200 1 0 0 { T 5500 7200 5 10 0 1 0 0 1 pintype=out T 5350 7225 5 10 1 1 0 0 1 pinnumber=42 T 5500 7200 5 10 0 1 0 0 1 pinseq=42 T 4700 7200 5 10 1 1 0 1 1 pinlabel=DORB } P 5600 11400 5300 11400 1 0 0 { T 5500 11400 5 10 0 1 0 0 1 pintype=out T 5350 11425 5 10 1 1 0 0 1 pinnumber=58 T 5500 11400 5 10 0 1 0 0 1 pinseq=58 T 4700 11400 5 10 1 1 0 1 1 pinlabel=DA11 } P 5600 11200 5300 11200 1 0 0 { T 5500 11200 5 10 0 1 0 0 1 pintype=out T 5350 11225 5 10 1 1 0 0 1 pinnumber=57 T 5500 11200 5 10 0 1 0 0 1 pinseq=57 T 4700 11200 5 10 1 1 0 1 1 pinlabel=DA10 } P 5600 11000 5300 11000 1 0 0 { T 5500 11000 5 10 0 1 0 0 1 pintype=out T 5350 11025 5 10 1 1 0 0 1 pinnumber=56 T 5500 11000 5 10 0 1 0 0 1 pinseq=56 T 4700 11000 5 10 1 1 0 1 1 pinlabel=DA9 } P 5600 10800 5300 10800 1 0 0 { T 5500 10800 5 10 0 1 0 0 1 pintype=out T 5350 10825 5 10 1 1 0 0 1 pinnumber=55 T 5500 10800 5 10 0 1 0 0 1 pinseq=55 T 4700 10800 5 10 1 1 0 1 1 pinlabel=DA8 } P 5600 10600 5300 10600 1 0 0 { T 5500 10600 5 10 0 1 0 0 1 pintype=out T 5350 10625 5 10 1 1 0 0 1 pinnumber=54 T 5500 10600 5 10 0 1 0 0 1 pinseq=54 T 4700 10600 5 10 1 1 0 1 1 pinlabel=DA7 } P 5600 10400 5300 10400 1 0 0 { T 5500 10400 5 10 0 1 0 0 1 pintype=out T 5350 10425 5 10 1 1 0 0 1 pinnumber=53 T 5500 10400 5 10 0 1 0 0 1 pinseq=53 T 4700 10400 5 10 1 1 0 1 1 pinlabel=DA6 } P 5600 10200 5300 10200 1 0 0 { T 5500 10200 5 10 0 1 0 0 1 pintype=out T 5350 10225 5 10 1 1 0 0 1 pinnumber=52 T 5500 10200 5 10 0 1 0 0 1 pinseq=52 T 4700 10200 5 10 1 1 0 1 1 pinlabel=DA5 } P 5600 10000 5300 10000 1 0 0 { T 5500 10000 5 10 0 1 0 0 1 pintype=out T 5350 10025 5 10 1 1 0 0 1 pinnumber=51 T 5500 10000 5 10 0 1 0 0 1 pinseq=51 T 4700 10000 5 10 1 1 0 1 1 pinlabel=DA4 } P 5600 9800 5300 9800 1 0 0 { T 5500 9800 5 10 0 1 0 0 1 pintype=out T 5350 9825 5 10 1 1 0 0 1 pinnumber=50 T 5500 9800 5 10 0 1 0 0 1 pinseq=50 T 4700 9800 5 10 1 1 0 1 1 pinlabel=DA3 } P 5600 9600 5300 9600 1 0 0 { T 5500 9600 5 10 0 1 0 0 1 pintype=out T 5350 9625 5 10 1 1 0 0 1 pinnumber=49 T 5500 9600 5 10 0 1 0 0 1 pinseq=49 T 4700 9600 5 10 1 1 0 1 1 pinlabel=DA2 } P 5600 9400 5300 9400 1 0 0 { T 5500 9400 5 10 0 1 0 0 1 pintype=out T 5350 9425 5 10 1 1 0 0 1 pinnumber=48 T 5500 9400 5 10 0 1 0 0 1 pinseq=48 T 4700 9400 5 10 1 1 0 1 1 pinlabel=DA1 } P 5600 9200 5300 9200 1 0 0 { T 5500 9200 5 10 0 1 0 0 1 pintype=out T 5350 9225 5 10 1 1 0 0 1 pinnumber=47 T 5500 9200 5 10 0 1 0 0 1 pinseq=47 T 4700 9200 5 10 1 1 0 1 1 pinlabel=DA0 } P 5600 8700 5300 8700 1 0 0 { T 5500 8700 5 10 0 1 0 0 1 pintype=out T 5350 8725 5 10 1 1 0 0 1 pinnumber=46 T 5500 8700 5 10 0 1 0 0 1 pinseq=46 T 4700 8700 5 10 1 1 0 1 1 pinlabel=NC3 } P 5600 8500 5300 8500 1 0 0 { T 5500 8500 5 10 0 1 0 0 1 pintype=out T 5350 8525 5 10 1 1 0 0 1 pinnumber=45 T 5500 8500 5 10 0 1 0 0 1 pinseq=45 T 4700 8500 5 10 1 1 0 1 1 pinlabel=NC2 } P 5600 11600 5300 11600 1 0 0 { T 5500 11600 5 10 0 1 0 0 1 pintype=out T 5350 11625 5 10 1 1 0 0 1 pinnumber=59 T 5500 11600 5 10 0 1 0 0 1 pinseq=59 T 4700 11600 5 10 1 1 0 1 1 pinlabel=DORA } P 5600 8000 5300 8000 1 0 0 { T 5500 8000 5 10 0 1 0 0 1 pintype=out T 5350 8025 5 10 1 1 0 0 1 pinnumber=44 T 5500 8000 5 10 0 1 0 0 1 pinseq=44 T 4700 8000 5 10 1 1 0 1 1 pinlabel=DAV } L 4300 11400 4300 9000 3 100 0 0 -1 -1 L 4600 11400 4400 11400 3 0 0 0 -1 -1 L 4300 11300 4400 11400 3 0 0 0 -1 -1 L 3700 10100 3900 10300 3 0 0 0 -1 -1 L 4600 11200 4400 11200 3 0 0 0 -1 -1 L 4300 11100 4400 11200 3 0 0 0 -1 -1 L 4600 11000 4400 11000 3 0 0 0 -1 -1 L 4300 10900 4400 11000 3 0 0 0 -1 -1 L 4600 10800 4400 10800 3 0 0 0 -1 -1 L 4300 10700 4400 10800 3 0 0 0 -1 -1 L 4600 10600 4400 10600 3 0 0 0 -1 -1 L 4300 10500 4400 10600 3 0 0 0 -1 -1 L 4600 10400 4400 10400 3 0 0 0 -1 -1 L 4300 10300 4400 10400 3 0 0 0 -1 -1 L 4600 10200 4400 10200 3 0 0 0 -1 -1 L 4300 10100 4400 10200 3 0 0 0 -1 -1 L 4600 10000 4400 10000 3 0 0 0 -1 -1 L 4300 9900 4400 10000 3 0 0 0 -1 -1 L 4600 9800 4400 9800 3 0 0 0 -1 -1 L 4300 9700 4400 9800 3 0 0 0 -1 -1 L 4600 9600 4400 9600 3 0 0 0 -1 -1 L 4300 9500 4400 9600 3 0 0 0 -1 -1 L 4600 9400 4400 9400 3 0 0 0 -1 -1 L 4300 9300 4400 9400 3 0 0 0 -1 -1 L 4600 9200 4400 9200 3 0 0 0 -1 -1 L 4300 9100 4400 9200 3 0 0 0 -1 -1 L 3100 10200 4300 10200 3 100 0 0 -1 -1 T 3600 10300 9 10 1 0 0 0 1 12 L 4300 7000 4300 4600 3 100 0 0 -1 -1 L 4600 7000 4400 7000 3 0 0 0 -1 -1 L 4300 6900 4400 7000 3 0 0 0 -1 -1 L 3700 5700 3900 5900 3 0 0 0 -1 -1 L 4600 6800 4400 6800 3 0 0 0 -1 -1 L 4300 6700 4400 6800 3 0 0 0 -1 -1 L 4600 6600 4400 6600 3 0 0 0 -1 -1 L 4300 6500 4400 6600 3 0 0 0 -1 -1 L 4600 6400 4400 6400 3 0 0 0 -1 -1 L 4300 6300 4400 6400 3 0 0 0 -1 -1 L 4600 6200 4400 6200 3 0 0 0 -1 -1 L 4300 6100 4400 6200 3 0 0 0 -1 -1 L 4600 6000 4400 6000 3 0 0 0 -1 -1 L 4300 5900 4400 6000 3 0 0 0 -1 -1 L 4600 5800 4400 5800 3 0 0 0 -1 -1 L 4300 5700 4400 5800 3 0 0 0 -1 -1 L 4600 5600 4400 5600 3 0 0 0 -1 -1 L 4300 5500 4400 5600 3 0 0 0 -1 -1 L 4600 5400 4400 5400 3 0 0 0 -1 -1 L 4300 5300 4400 5400 3 0 0 0 -1 -1 L 4600 5200 4400 5200 3 0 0 0 -1 -1 L 4300 5100 4400 5200 3 0 0 0 -1 -1 L 4600 5000 4400 5000 3 0 0 0 -1 -1 L 4300 4900 4400 5000 3 0 0 0 -1 -1 L 4600 4800 4400 4800 3 0 0 0 -1 -1 L 4300 4700 4400 4800 3 0 0 0 -1 -1 L 3100 5800 4300 5800 3 100 0 0 -1 -1 T 3600 5900 9 10 1 0 0 0 1 12 L 1100 10200 1700 10800 3 0 0 0 -1 -1 L 1100 10200 1700 9600 3 0 0 0 -1 -1 L 3100 10800 1700 10800 3 0 0 0 -1 -1 L 3100 9600 1700 9600 3 0 0 0 -1 -1 L 3100 9600 3100 10800 3 0 0 0 -1 -1 L 1500 9800 700 9800 3 0 0 0 -1 -1 L 700 9800 700 9100 3 0 0 0 -1 -1 L 1500 10600 700 10600 3 0 0 0 -1 -1 L 700 10600 700 11300 3 0 0 0 -1 -1 L 700 11300 400 11300 3 0 0 0 -1 -1 P 100 9100 400 9100 1 0 0 { T 325 9150 5 10 1 1 0 6 1 pinnumber=3 T 100 9100 5 10 0 1 0 0 1 pinseq=3 T 300 9150 5 10 0 1 0 0 1 pintype=in T 500 9050 5 10 1 1 0 2 1 pinlabel=INAN } L 700 9100 400 9100 3 0 0 0 -1 -1 P 100 6900 400 6900 1 0 0 { T 325 6950 5 10 1 1 0 6 1 pinnumber=16 T 100 6900 5 10 0 1 0 0 1 pinseq=16 T 300 6950 5 10 0 1 0 0 1 pintype=in T 500 6950 5 10 1 1 0 0 1 pinlabel=INBP } L 1100 5800 1700 6400 3 0 0 0 -1 -1 L 1100 5800 1700 5200 3 0 0 0 -1 -1 L 3100 6400 1700 6400 3 0 0 0 -1 -1 L 3100 5200 1700 5200 3 0 0 0 -1 -1 L 3100 5200 3100 6400 3 0 0 0 -1 -1 L 1500 5400 700 5400 3 0 0 0 -1 -1 L 700 5400 700 4700 3 0 0 0 -1 -1 L 1500 6200 700 6200 3 0 0 0 -1 -1 L 700 6200 700 6900 3 0 0 0 -1 -1 L 700 6900 400 6900 3 0 0 0 -1 -1 P 100 4700 400 4700 1 0 0 { T 325 4750 5 10 1 1 0 6 1 pinnumber=15 T 100 4700 5 10 0 1 0 0 1 pinseq=15 T 300 4750 5 10 0 1 0 0 1 pintype=in T 500 4650 5 10 1 1 0 2 1 pinlabel=INBN } L 700 4700 400 4700 3 0 0 0 -1 -1 P 100 4200 400 4200 1 0 0 { T 325 4250 5 10 1 1 0 6 1 pinnumber=11 T 100 4200 5 10 0 1 0 0 1 pinseq=11 T 300 4250 5 10 0 1 0 0 1 pintype=in T 500 4200 5 10 1 1 0 1 1 pinlabel=REFPB } P 100 3100 400 3100 1 0 0 { T 325 3150 5 10 1 1 0 6 1 pinnumber=10 T 100 3100 5 10 0 1 0 0 1 pinseq=10 T 300 3150 5 10 0 1 0 0 1 pintype=in T 500 3100 5 10 1 1 0 1 1 pinlabel=REFNB } P 100 10200 400 10200 1 0 0 { T 325 10250 5 10 1 1 0 6 1 pinnumber=6 T 100 10200 5 10 0 1 0 0 1 pinseq=6 T 300 10250 5 10 0 1 0 0 1 pintype=in T 500 10200 5 10 1 1 0 1 1 pinlabel=COMA } P 100 5800 400 5800 1 0 0 { T 325 5850 5 10 1 1 0 6 1 pinnumber=12 T 100 5800 5 10 0 1 0 0 1 pinseq=12 T 300 5850 5 10 0 1 0 0 1 pintype=in T 500 5800 5 10 1 1 0 1 1 pinlabel=COMB } P 100 8600 400 8600 1 0 0 { T 325 8650 5 10 1 1 0 6 1 pinnumber=7 T 100 8600 5 10 0 1 0 0 1 pinseq=7 T 300 8650 5 10 0 1 0 0 1 pintype=in T 500 8600 5 10 1 1 0 1 1 pinlabel=REFPA } P 100 7500 400 7500 1 0 0 { T 325 7550 5 10 1 1 0 6 1 pinnumber=8 T 100 7500 5 10 0 1 0 0 1 pinseq=8 T 300 7550 5 10 0 1 0 0 1 pintype=in T 500 7500 5 10 1 1 0 1 1 pinlabel=REFNA } P 100 2300 400 2300 1 0 0 { T 325 2350 5 10 1 1 0 6 1 pinnumber=67 T 100 2300 5 10 0 1 0 0 1 pinseq=67 T 300 2350 5 10 0 1 0 0 1 pintype=in T 500 2300 5 10 1 1 0 1 1 pinlabel=REFOUT } P 100 1900 400 1900 1 0 0 { T 325 1950 5 10 1 1 0 6 1 pinnumber=68 T 100 1900 5 10 0 1 0 0 1 pinseq=68 T 300 1950 5 10 0 1 0 0 1 pintype=in T 500 1900 5 10 1 1 0 1 1 pinlabel=REFIN } P 100 1200 400 1200 1 0 0 { T 325 1250 5 10 1 1 0 6 1 pinnumber=20 T 100 1200 5 10 0 1 0 0 1 pinseq=20 T 300 1250 5 10 0 1 0 0 1 pintype=in T 500 1200 5 10 1 1 0 1 1 pinlabel=CLKP } P 100 800 400 800 1 0 0 { T 325 850 5 10 1 1 0 6 1 pinnumber=19 T 100 800 5 10 0 1 0 0 1 pinseq=19 T 300 850 5 10 0 1 0 0 1 pintype=in T 500 800 5 10 1 1 0 1 1 pinlabel=CLKN } P 5600 2800 5300 2800 1 0 0 { T 5500 2800 5 10 0 1 0 0 1 pintype=in T 5350 2825 5 10 1 1 0 0 1 pinnumber=18 T 5500 2800 5 10 0 1 0 0 1 pinseq=18 T 4500 2800 5 10 1 1 0 1 1 pinlabel=DIFFCLK } P 5600 2600 5300 2600 1 0 0 { T 5500 2600 5 10 0 1 0 0 1 pintype=in T 5350 2625 5 10 1 1 0 0 1 pinnumber=64 T 5500 2600 5 10 0 1 0 0 1 pinseq=64 T 4500 2600 5 10 1 1 0 1 1 pinlabel=G/TB } P 5600 2400 5300 2400 1 0 0 { T 5500 2400 5 10 0 1 0 0 1 pintype=in T 5350 2425 5 10 1 1 0 0 1 pinnumber=21 T 5500 2400 5 10 0 1 0 0 1 pinseq=21 T 4500 2400 5 10 1 1 0 1 1 pinlabel=DIV2 } P 5600 2200 5300 2200 1 0 0 { T 5500 2200 5 10 0 1 0 0 1 pintype=in T 5350 2225 5 10 1 1 0 0 1 pinnumber=22 T 5500 2200 5 10 0 1 0 0 1 pinseq=22 T 4500 2200 5 10 1 1 0 1 1 pinlabel=DIV4 } P 5600 2000 5300 2000 1 0 0 { T 5500 2000 5 10 0 1 0 0 1 pintype=in T 5350 2025 5 10 1 1 0 0 1 pinnumber=66 T 5500 2000 5 10 0 1 0 0 1 pinseq=66 T 4500 2000 5 10 1 1 0 1 1 pinlabel=SHREF } P 5600 1800 5300 1800 1 0 0 { T 5500 1800 5 10 0 1 0 0 1 pintype=in T 5350 1825 5 10 1 1 0 0 1 pinnumber=65 T 5500 1800 5 10 0 1 0 0 1 pinseq=65 T 4500 1800 5 10 1 1 0 1 1 pinlabel=PD } P 1300 12500 1300 12200 1 0 0 { T 1275 12300 5 10 1 1 90 0 1 pinnumber=23 T 1300 12500 5 10 0 1 0 0 1 pinseq=23 T 1300 12500 5 10 0 1 0 0 1 pintype=pwr T 1300 12100 5 10 1 1 90 7 1 pinlabel=VDD } P 1500 12500 1500 12200 1 0 0 { T 1475 12300 5 10 1 1 90 0 1 pinnumber=24 T 1500 12500 5 10 0 1 0 0 1 pinseq=24 T 1500 12500 5 10 0 1 0 0 1 pintype=pwr T 1500 12100 5 10 1 1 90 7 1 pinlabel=VDD } P 1700 12500 1700 12200 1 0 0 { T 1675 12300 5 10 1 1 90 0 1 pinnumber=25 T 1700 12500 5 10 0 1 0 0 1 pinseq=25 T 1700 12500 5 10 0 1 0 0 1 pintype=pwr T 1700 12100 5 10 1 1 90 7 1 pinlabel=VDD } P 1900 12500 1900 12200 1 0 0 { T 1875 12300 5 10 1 1 90 0 1 pinnumber=26 T 1900 12500 5 10 0 1 0 0 1 pinseq=26 T 1900 12500 5 10 0 1 0 0 1 pintype=pwr T 1900 12100 5 10 1 1 90 7 1 pinlabel=VDD } P 2100 12500 2100 12200 1 0 0 { T 2075 12300 5 10 1 1 90 0 1 pinnumber=61 T 2100 12500 5 10 0 1 0 0 1 pinseq=61 T 2100 12500 5 10 0 1 0 0 1 pintype=pwr T 2100 12100 5 10 1 1 90 7 1 pinlabel=VDD } P 2300 12500 2300 12200 1 0 0 { T 2275 12300 5 10 1 1 90 0 1 pinnumber=62 T 2300 12500 5 10 0 1 0 0 1 pinseq=62 T 2300 12500 5 10 0 1 0 0 1 pintype=pwr T 2300 12100 5 10 1 1 90 7 1 pinlabel=VDD } P 2500 12500 2500 12200 1 0 0 { T 2475 12300 5 10 1 1 90 0 1 pinnumber=63 T 2500 12500 5 10 0 1 0 0 1 pinseq=63 T 2500 12500 5 10 0 1 0 0 1 pintype=pwr T 2500 12100 5 10 1 1 90 7 1 pinlabel=VDD } P 3500 12500 3500 12200 1 0 0 { T 3475 12300 5 10 1 1 90 0 1 pinnumber=27 T 3500 12500 5 10 0 1 0 0 1 pinseq=27 T 3500 12500 5 10 0 1 0 0 1 pintype=pwr T 3500 12100 5 10 1 1 90 7 1 pinlabel=OVDD } P 3700 12500 3700 12200 1 0 0 { T 3675 12300 5 10 1 1 90 0 1 pinnumber=43 T 3700 12500 5 10 0 1 0 0 1 pinseq=43 T 3700 12500 5 10 0 1 0 0 1 pintype=pwr T 3700 12100 5 10 1 1 90 7 1 pinlabel=OVDD } P 3900 12500 3900 12200 1 0 0 { T 3875 12300 5 10 1 1 90 0 1 pinnumber=60 T 3900 12500 5 10 0 1 0 0 1 pinseq=60 T 3900 12500 5 10 0 1 0 0 1 pintype=pwr T 3900 12100 5 10 1 1 90 7 1 pinlabel=OVDD } P 2100 100 2100 400 1 0 0 { T 2075 300 5 10 1 1 90 6 1 pinnumber=1 T 2100 100 5 10 0 1 180 0 1 pinseq=1 T 2100 100 5 10 0 1 180 0 1 pintype=pwr T 2100 500 5 10 1 1 90 1 1 pinlabel=GND } P 2300 100 2300 400 1 0 0 { T 2275 300 5 10 1 1 90 6 1 pinnumber=4 T 2300 100 5 10 0 1 180 0 1 pinseq=4 T 2300 100 5 10 0 1 180 0 1 pintype=pwr T 2300 500 5 10 1 1 90 1 1 pinlabel=GND } P 2500 100 2500 400 1 0 0 { T 2475 300 5 10 1 1 90 6 1 pinnumber=5 T 2500 100 5 10 0 1 180 0 1 pinseq=5 T 2500 100 5 10 0 1 180 0 1 pintype=pwr T 2500 500 5 10 1 1 90 1 1 pinlabel=GND } P 2700 100 2700 400 1 0 0 { T 2675 300 5 10 1 1 90 6 1 pinnumber=9 T 2700 100 5 10 0 1 180 0 1 pinseq=9 T 2700 100 5 10 0 1 180 0 1 pintype=pwr T 2700 500 5 10 1 1 90 1 1 pinlabel=GND } P 2900 100 2900 400 1 0 0 { T 2875 300 5 10 1 1 90 6 1 pinnumber=13 T 2900 100 5 10 0 1 180 0 1 pinseq=13 T 2900 100 5 10 0 1 180 0 1 pintype=pwr T 2900 500 5 10 1 1 90 1 1 pinlabel=GND } P 3100 100 3100 400 1 0 0 { T 3075 300 5 10 1 1 90 6 1 pinnumber=14 T 3100 100 5 10 0 1 180 0 1 pinseq=14 T 3100 100 5 10 0 1 180 0 1 pintype=pwr T 3100 500 5 10 1 1 90 1 1 pinlabel=GND } P 3300 100 3300 400 1 0 0 { T 3275 300 5 10 1 1 90 6 1 pinnumber=17 T 3300 100 5 10 0 1 180 0 1 pinseq=17 T 3300 100 5 10 0 1 180 0 1 pintype=pwr T 3300 500 5 10 1 1 90 1 1 pinlabel=GND } L 400 7300 3800 7300 3 0 0 2 25 25 L 3800 7300 3800 7800 3 0 0 2 25 25 L 3800 7800 5300 7800 3 0 0 2 25 25 L 3800 2900 3800 3400 3 0 0 2 25 25 L 3800 3400 5300 3400 3 0 0 2 25 25 L 400 2900 3800 2900 3 0 0 2 25 25 P 3800 100 3800 400 1 0 0 { T 3775 300 5 10 1 1 90 6 1 pinnumber=69 T 3800 100 5 10 0 1 180 0 1 pinseq=69 T 3800 100 5 10 0 1 180 0 1 pintype=pwr T 3800 500 5 10 1 1 90 1 1 pinlabel=EP_GND } T 1500 11500 8 10 1 1 0 0 1 refdes=U? T 1500 11200 8 10 1 1 0 0 1 device=MAX12527 T 1700 10200 9 10 1 0 0 0 1 ADC - CH. A B 400 400 4900 11800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1700 5800 9 10 1 0 0 0 1 ADC - CH. B T 1500 10900 8 10 1 1 0 0 1 footprint=TQFN68_10_EP B 400 400 4900 11800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 6400 5600 5 10 0 0 0 0 1 numslots=0 T 6400 5400 5 10 0 0 0 0 1 symversion=1.0 T 6400 5200 5 10 0 0 0 0 1 description=Dual, 65Msps, 12-Bit, IF/Baseband ADC T 6400 5000 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX12527.pdf T 6400 5800 5 10 0 0 0 0 1 device=MAX12527 geda-gaf-1.8.2/symbols/maxim/max4420-1.sym0000664000175000017500000000313512204104272014666 00000000000000v 20041228 1 B 300 300 1400 1600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1200 100 9 10 1 1 0 0 1 device=MAX4420 T 1300 2000 8 10 1 1 0 0 1 refdes=U? T 600 2900 5 10 0 0 0 0 1 footprint=DIP8 T 600 2800 5 10 0 0 0 0 1 description=High-Speed, 6A Single MOSFET Driver T 600 2700 5 10 0 0 0 0 1 numslots=0 P 1700 1400 2000 1400 1 0 1 { T 1800 1450 5 10 1 1 0 0 1 pinnumber=7 T 2100 1450 5 10 0 0 0 1 1 pinseq=7 T 2100 1350 5 10 0 0 0 1 1 pintype=out T 1200 1400 9 10 1 1 0 1 1 pinlabel=OUT } P 1700 800 2000 800 1 0 1 { T 1800 850 5 10 1 1 0 0 1 pinnumber=6 T 2100 850 5 10 0 0 0 1 1 pinseq=6 T 2100 750 5 10 0 0 0 1 1 pintype=out T 1200 800 9 10 1 1 0 1 1 pinlabel=OUT } P 300 1100 0 1100 1 0 1 { T 0 1150 5 10 1 1 0 0 1 pinnumber=2 T 0 950 5 10 0 0 0 1 1 pinseq=2 T 0 850 5 10 0 0 0 1 1 pintype=in T 400 1100 9 10 1 1 0 1 1 pinlabel=IN } P 600 300 600 0 1 0 1 { T 650 100 5 10 1 1 0 0 1 pinnumber=4 T 50 300 5 10 0 0 0 1 1 pinseq=4 T 50 400 5 10 0 0 0 1 1 pintype=pwr T 600 400 9 10 1 1 90 1 1 pinlabel=GND } P 900 300 900 0 1 0 1 { T 950 100 5 10 1 1 0 0 1 pinnumber=5 T 1150 300 5 10 0 0 0 1 1 pinseq=5 T 1150 400 5 10 0 0 0 1 1 pintype=pwr T 900 400 9 10 1 1 90 1 1 pinlabel=GND } P 600 1900 600 2200 1 0 1 { T 650 2000 5 10 1 1 0 0 1 pinnumber=1 T 50 2300 5 10 0 0 0 1 1 pinseq=1 T 50 2400 5 10 0 0 0 1 1 pintype=pwr T 600 1500 9 10 1 1 90 1 1 pinlabel=Vdd } P 900 1900 900 2200 1 0 1 { T 950 2000 5 10 1 1 0 0 1 pinnumber=8 T 1150 2300 5 10 0 0 0 1 1 pinseq=8 T 1150 2400 5 10 0 0 0 1 1 pintype=pwr T 900 1500 9 10 1 1 90 1 1 pinlabel=Vdd } T 600 3000 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX4420-MXT429.pdf geda-gaf-1.8.2/symbols/maxim/max1211-1.sym0000664000175000017500000001743212204104272014666 00000000000000v 20040111 1 P 100 3500 400 3500 1 0 0 { T 300 3550 5 8 1 1 0 6 1 pinnumber=6 T 300 3450 5 8 0 1 0 8 1 pinseq=6 T 450 3500 9 8 1 1 0 0 1 pinlabel=INN T 450 3500 5 8 0 1 0 2 1 pintype=in } P 100 9200 400 9200 1 0 0 { T 300 9250 5 8 1 1 0 6 1 pinnumber=37 T 300 9150 5 8 0 1 0 8 1 pinseq=37 T 450 9200 9 8 1 1 0 0 1 pinlabel=PD T 450 9200 5 8 0 1 0 2 1 pintype=in } P 100 8900 400 8900 1 0 0 { T 300 8950 5 8 1 1 0 6 1 pinnumber=40 T 300 8850 5 8 0 1 0 8 1 pinseq=40 T 450 8900 9 8 1 1 0 0 1 pinlabel=G_TB T 450 8900 5 8 0 1 0 2 1 pintype=in } P 100 8600 400 8600 1 0 0 { T 300 8650 5 8 1 1 0 6 1 pinnumber=8 T 300 8550 5 8 0 1 0 8 1 pinseq=8 T 450 8600 9 8 1 1 0 0 1 pinlabel=DCE T 450 8600 5 8 0 1 0 2 1 pintype=in } P 100 8300 400 8300 1 0 0 { T 300 8350 5 8 1 1 0 6 1 pinnumber=11 T 300 8250 5 8 0 1 0 8 1 pinseq=11 T 450 8300 9 8 1 1 0 0 1 pinlabel=CLKTYP T 450 8300 5 8 0 1 0 2 1 pintype=in } P 100 7400 400 7400 1 0 0 { T 300 7450 5 8 1 1 0 6 1 pinnumber=1 T 300 7350 5 8 0 1 0 8 1 pinseq=1 T 450 7400 9 8 1 1 0 0 1 pinlabel=REFP T 450 7400 5 8 0 1 0 2 1 pintype=out } P 100 6800 400 6800 1 0 0 { T 300 6850 5 8 1 1 0 6 1 pinnumber=2 T 300 6750 5 8 0 1 0 8 1 pinseq=2 T 450 6800 9 8 1 1 0 0 1 pinlabel=REFN T 450 6800 5 8 0 1 0 2 1 pintype=out } P 100 5900 400 5900 1 0 0 { T 300 5950 5 8 1 1 0 6 1 pinnumber=5 T 300 5850 5 8 0 1 0 8 1 pinseq=5 T 450 5900 9 8 1 1 0 0 1 pinlabel=INP T 450 5900 5 8 0 1 0 2 1 pintype=in } P 100 4700 400 4700 1 0 0 { T 300 4750 5 8 1 1 0 6 1 pinnumber=3 T 300 4650 5 8 0 1 0 8 1 pinseq=3 T 450 4700 9 8 1 1 0 0 1 pinlabel=COM T 450 4700 5 8 0 1 0 2 1 pintype=out } P 3000 9200 3300 9200 1 0 1 { T 3100 9250 5 8 1 1 0 0 1 pinnumber=33 T 3100 9150 5 8 0 1 0 2 1 pinseq=33 T 2950 9200 9 8 1 1 0 6 1 pinlabel=DAV T 2950 9200 5 8 0 1 0 8 1 pintype=out } P 3000 8600 3300 8600 1 0 1 { T 3100 8650 5 8 1 1 0 0 1 pinnumber=32 T 3100 8550 5 8 0 1 0 2 1 pinseq=32 T 2950 8600 9 8 1 1 0 6 1 pinlabel=NC0 T 2950 8600 5 8 0 1 0 8 1 pintype=out } P 3000 8300 3300 8300 1 0 1 { T 3100 8350 5 8 1 1 0 0 1 pinnumber=31 T 3100 8250 5 8 0 1 0 2 1 pinseq=31 T 2950 8300 9 8 1 1 0 6 1 pinlabel=NC1 T 2950 8300 5 8 0 1 0 8 1 pintype=out } P 3000 8000 3300 8000 1 0 1 { T 3100 8050 5 8 1 1 0 0 1 pinnumber=30 T 3100 7950 5 8 0 1 0 2 1 pinseq=30 T 2950 8000 9 8 1 1 0 6 1 pinlabel=D0 T 2950 8000 5 8 0 1 0 8 1 pintype=out } P 3000 7700 3300 7700 1 0 1 { T 3100 7750 5 8 1 1 0 0 1 pinnumber=29 T 3100 7650 5 8 0 1 0 2 1 pinseq=29 T 2950 7700 9 8 1 1 0 6 1 pinlabel=D1 T 2950 7700 5 8 0 1 0 8 1 pintype=out } P 3000 7400 3300 7400 1 0 1 { T 3100 7450 5 8 1 1 0 0 1 pinnumber=28 T 3100 7350 5 8 0 1 0 2 1 pinseq=28 T 2950 7400 9 8 1 1 0 6 1 pinlabel=D2 T 2950 7400 5 8 0 1 0 8 1 pintype=out } P 3000 7100 3300 7100 1 0 1 { T 3100 7150 5 8 1 1 0 0 1 pinnumber=27 T 3100 7050 5 8 0 1 0 2 1 pinseq=27 T 2950 7100 9 8 1 1 0 6 1 pinlabel=D3 T 2950 7100 5 8 0 1 0 8 1 pintype=out } P 3000 6800 3300 6800 1 0 1 { T 3100 6850 5 8 1 1 0 0 1 pinnumber=26 T 3100 6750 5 8 0 1 0 2 1 pinseq=26 T 2950 6800 9 8 1 1 0 6 1 pinlabel=D4 T 2950 6800 5 8 0 1 0 8 1 pintype=out } B 400 400 2600 9600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 3800 5600 5 10 0 0 0 0 1 device=MAX1211 P 100 2100 400 2100 1 0 0 { T 300 2150 5 8 1 1 0 6 1 pinnumber=38 T 300 2050 5 8 0 1 0 8 1 pinseq=38 T 450 2100 9 8 1 1 0 0 1 pinlabel=REFOUT T 450 2100 5 8 0 1 0 2 1 pintype=out } T 1800 6600 8 10 1 1 0 6 1 refdes=U? P 100 1200 400 1200 1 0 0 { T 300 1250 5 8 1 1 0 6 1 pinnumber=39 T 300 1150 5 8 0 1 0 8 1 pinseq=39 T 450 1200 9 8 1 1 0 0 1 pinlabel=REFIN T 450 1200 5 8 0 1 0 2 1 pintype=in } P 3000 6500 3300 6500 1 0 1 { T 3100 6550 5 8 1 1 0 0 1 pinnumber=25 T 3100 6450 5 8 0 1 0 2 1 pinseq=25 T 2950 6500 9 8 1 1 0 6 1 pinlabel=D5 T 2950 6500 5 8 0 1 0 8 1 pintype=out } P 3000 6200 3300 6200 1 0 1 { T 3100 6250 5 8 1 1 0 0 1 pinnumber=24 T 3100 6150 5 8 0 1 0 2 1 pinseq=24 T 2950 6200 9 8 1 1 0 6 1 pinlabel=D6 T 2950 6200 5 8 0 1 0 8 1 pintype=out } P 3000 5900 3300 5900 1 0 1 { T 3100 5950 5 8 1 1 0 0 1 pinnumber=23 T 3100 5850 5 8 0 1 0 2 1 pinseq=23 T 2950 5900 9 8 1 1 0 6 1 pinlabel=D7 T 2950 5900 5 8 0 1 0 8 1 pintype=out } P 3000 5600 3300 5600 1 0 1 { T 3100 5650 5 8 1 1 0 0 1 pinnumber=22 T 3100 5550 5 8 0 1 0 2 1 pinseq=22 T 2950 5600 9 8 1 1 0 6 1 pinlabel=D8 T 2950 5600 5 8 0 1 0 8 1 pintype=out } P 3000 5300 3300 5300 1 0 1 { T 3100 5350 5 8 1 1 0 0 1 pinnumber=21 T 3100 5250 5 8 0 1 0 2 1 pinseq=21 T 2950 5300 9 8 1 1 0 6 1 pinlabel=D9 T 2950 5300 5 8 0 1 0 8 1 pintype=out } P 3000 5000 3300 5000 1 0 1 { T 3100 5050 5 8 1 1 0 0 1 pinnumber=20 T 3100 4950 5 8 0 1 0 2 1 pinseq=20 T 2950 5000 9 8 1 1 0 6 1 pinlabel=D10 T 2950 5000 5 8 0 1 0 8 1 pintype=out } P 3000 4700 3300 4700 1 0 1 { T 3100 4750 5 8 1 1 0 0 1 pinnumber=19 T 3100 4650 5 8 0 1 0 2 1 pinseq=19 T 2950 4700 9 8 1 1 0 6 1 pinlabel=D11 T 2950 4700 5 8 0 1 0 8 1 pintype=out } P 3000 4100 3300 4100 1 0 1 { T 3100 4150 5 8 1 1 0 0 1 pinnumber=18 T 3100 4050 5 8 0 1 0 2 1 pinseq=18 T 2950 4100 9 8 1 1 0 6 1 pinlabel=DOR T 2950 4100 5 8 0 1 0 8 1 pintype=out } P 3000 3000 3300 3000 1 0 1 { T 3100 3050 5 8 1 1 0 0 1 pinnumber=10 T 3100 2950 5 8 0 1 0 2 1 pinseq=10 T 2950 3000 9 8 1 1 0 6 1 pinlabel=CLKP T 2950 3000 5 8 0 1 0 8 1 pintype=in } P 3000 1800 3300 1800 1 0 1 { T 3100 1850 5 8 1 1 0 0 1 pinnumber=9 T 3100 1750 5 8 0 1 0 2 1 pinseq=9 T 2950 1800 9 8 1 1 0 6 1 pinlabel=CLKN T 2950 1800 5 8 0 1 0 8 1 pintype=in } P 1000 400 1000 100 1 0 1 { T 950 300 5 8 1 1 90 6 1 pinnumber=4 T 1050 300 5 8 0 1 90 8 1 pinseq=4 T 1000 450 9 8 1 1 90 0 1 pinlabel=GND T 1000 450 5 8 0 1 90 2 1 pintype=pwr } P 1300 400 1300 100 1 0 1 { T 1250 300 5 8 1 1 90 6 1 pinnumber=7 T 1350 300 5 8 0 1 90 8 1 pinseq=7 T 1300 450 9 8 1 1 90 0 1 pinlabel=GND T 1300 450 5 8 0 1 90 2 1 pintype=pwr } P 1900 400 1900 100 1 0 1 { T 1850 300 5 8 1 1 90 6 1 pinnumber=16 T 1950 300 5 8 0 1 90 8 1 pinseq=16 T 1900 450 9 8 1 1 90 0 1 pinlabel=OGND T 1900 450 5 8 0 1 90 2 1 pintype=pwr } P 2200 400 2200 100 1 0 1 { T 2150 300 5 8 1 1 90 6 1 pinnumber=35 T 2250 300 5 8 0 1 90 8 1 pinseq=35 T 2200 450 9 8 1 1 90 0 1 pinlabel=OGND T 2200 450 5 8 0 1 90 2 1 pintype=pwr } P 600 10300 600 10000 1 0 0 { T 550 10100 5 8 1 1 90 0 1 pinnumber=12 T 650 10100 5 8 0 1 90 2 1 pinseq=12 T 600 9950 9 8 1 1 90 6 1 pinlabel=VDD T 600 9950 5 8 0 1 90 8 1 pintype=pwr } P 900 10300 900 10000 1 0 0 { T 850 10100 5 8 1 1 90 0 1 pinnumber=13 T 950 10100 5 8 0 1 90 2 1 pinseq=13 T 900 9950 9 8 1 1 90 6 1 pinlabel=VDD T 900 9950 5 8 0 1 90 8 1 pintype=pwr } P 1200 10300 1200 10000 1 0 0 { T 1150 10100 5 8 1 1 90 0 1 pinnumber=14 T 1250 10100 5 8 0 1 90 2 1 pinseq=14 T 1200 9950 9 8 1 1 90 6 1 pinlabel=VDD T 1200 9950 5 8 0 1 90 8 1 pintype=pwr } P 1500 10300 1500 10000 1 0 0 { T 1450 10100 5 8 1 1 90 0 1 pinnumber=15 T 1550 10100 5 8 0 1 90 2 1 pinseq=15 T 1500 9950 9 8 1 1 90 6 1 pinlabel=VDD T 1500 9950 5 8 0 1 90 8 1 pintype=pwr } P 1800 10300 1800 10000 1 0 0 { T 1750 10100 5 8 1 1 90 0 1 pinnumber=36 T 1850 10100 5 8 0 1 90 2 1 pinseq=36 T 1800 9950 9 8 1 1 90 6 1 pinlabel=VDD T 1800 9950 5 8 0 1 90 8 1 pintype=pwr } P 2300 10300 2300 10000 1 0 0 { T 2250 10100 5 8 1 1 90 0 1 pinnumber=17 T 2350 10100 5 8 0 1 90 2 1 pinseq=17 T 2300 9950 9 8 1 1 90 6 1 pinlabel=OVDD T 2300 9950 5 8 0 1 90 8 1 pintype=pwr } P 2600 10300 2600 10000 1 0 0 { T 2550 10100 5 8 1 1 90 0 1 pinnumber=34 T 2650 10100 5 8 0 1 90 2 1 pinseq=34 T 2600 9950 9 8 1 1 90 6 1 pinlabel=OVDD T 2600 9950 5 8 0 1 90 8 1 pintype=pwr } P 600 400 600 100 1 0 1 { T 550 300 5 8 1 1 90 6 1 pinnumber=41 T 650 300 5 8 0 1 90 8 1 pinseq=41 T 600 450 9 8 1 1 90 0 1 pinlabel=PADDLE T 600 450 5 8 0 1 90 2 1 pintype=pwr } T 3800 5400 5 10 0 0 0 0 1 footprint=TQFN40_6_EP T 3800 6000 5 10 0 0 0 0 1 numslots=0 T 3800 5800 5 10 0 0 0 0 1 symversion=1.0 T 3800 5200 5 10 0 0 0 0 1 description=65Msps, 12-bit IF Sampling ADC T 3800 5000 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX1211-MAX1211ETL.pdf T 1400 6140 9 10 1 0 0 0 1 MAX1211 geda-gaf-1.8.2/symbols/maxim/max3223e-1.sym0000664000175000017500000001161412204104272015034 00000000000000v 20070626 1 T 350 8600 5 10 0 0 0 0 1 device=MAX3223E T 350 8300 5 10 0 0 0 0 1 description=Maxim RS-232 transceiver with autoshutdown and ESD protection T 350 8000 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/arpdf/MAX3221E-MAX3243E.pdf T 400 7700 5 10 0 0 0 0 1 author=Jan Stap stapATdse.nl T 400 7100 5 10 0 0 0 0 1 date=$Date$ T 400 6800 5 10 0 0 0 0 1 rev=$Revision$ T 400 6500 5 10 0 0 0 0 1 auth=$Author$ T 400 6200 5 10 0 0 0 0 1 fname=$Source$ T 350 5900 5 10 0 0 0 0 1 footprint=DIL 20 300 T 350 5600 5 10 0 0 0 0 1 numslots=0 T 350 5300 5 10 0 0 0 0 1 net=Vcc:19 T 350 5000 5 10 0 0 0 0 1 net=GND:18 T 2350 4600 8 10 1 1 0 6 1 refdes=U? T 350 4550 9 10 1 0 0 0 1 MAX3223E B 300 0 2000 4500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 300 4100 0 4100 1 0 1 { T 200 4150 5 8 1 1 0 6 1 pinnumber=13 T 200 4050 5 8 0 1 0 8 1 pinseq=1 T 350 4150 9 8 1 1 0 0 1 pinlabel=T1in T 350 4050 5 8 0 1 0 2 1 pintype=in } P 300 3700 0 3700 1 0 1 { T 200 3750 5 8 1 1 0 6 1 pinnumber=15 T 200 3650 5 8 0 1 0 8 1 pinseq=2 T 350 3750 9 8 1 1 0 0 1 pinlabel=R1out T 350 3650 5 8 0 1 0 2 1 pintype=out } P 2300 3700 2600 3700 1 0 1 { T 2550 3750 5 8 1 1 0 6 1 pinnumber=16 T 2550 3650 5 8 0 1 0 8 1 pinseq=17 T 2250 3750 9 8 1 1 0 6 1 pinlabel=R1in T 2250 3650 5 8 0 1 0 8 1 pintype=in } P 2300 4100 2600 4100 1 0 1 { T 2550 4150 5 8 1 1 0 6 1 pinnumber=17 T 2550 4050 5 8 0 1 0 8 1 pinseq=18 T 2250 4150 9 8 1 1 0 6 1 pinlabel=T1out T 2250 4050 5 8 0 1 0 8 1 pintype=out } P 300 2100 0 2100 1 0 1 { T 200 2150 5 8 1 1 0 6 1 pinnumber=3 T 200 2050 5 8 0 1 0 8 1 pinseq=5 T 350 2100 9 8 1 1 0 0 1 pinlabel=V+ T 350 2050 5 8 0 1 0 2 1 pintype=pas } P 2300 2700 2600 2700 1 0 1 { T 2550 2750 5 8 1 1 0 6 1 pinnumber=9 T 2550 2650 5 8 0 1 0 8 1 pinseq=15 T 2250 2750 9 8 1 1 0 6 1 pinlabel=R2in T 2250 2650 5 8 0 1 0 8 1 pintype=in } P 300 2700 0 2700 1 0 1 { T 200 2750 5 8 1 1 0 6 1 pinnumber=10 T 200 2650 5 8 0 1 0 8 1 pinseq=4 T 350 2750 9 8 1 1 0 0 1 pinlabel=R2out T 350 2650 5 8 0 1 0 2 1 pintype=out } P 2300 1700 2600 1700 1 0 1 { T 2550 1750 5 8 1 1 0 6 1 pinnumber=4 T 2550 1650 5 8 0 1 0 8 1 pinseq=13 T 2250 1700 9 8 1 1 0 6 1 pinlabel=C1- T 2250 1650 5 8 0 1 0 8 1 pintype=pas } P 2300 3100 2600 3100 1 0 1 { T 2550 3150 5 8 1 1 0 6 1 pinnumber=8 T 2550 3050 5 8 0 1 0 8 1 pinseq=16 T 2250 3150 9 8 1 1 0 6 1 pinlabel=T2out T 2250 3050 5 8 0 1 0 8 1 pintype=out } P 300 3100 0 3100 1 0 1 { T 200 3150 5 8 1 1 0 6 1 pinnumber=12 T 200 3050 5 8 0 1 0 8 1 pinseq=3 T 350 3150 9 8 1 1 0 0 1 pinlabel=T2in T 350 3050 5 8 0 1 0 2 1 pintype=in } V 1525 4100 25 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 1100 3900 1100 4300 3 0 0 0 -1 -1 L 1500 4100 1100 3900 3 0 0 0 -1 -1 L 1100 4300 1500 4100 3 0 0 0 -1 -1 V 1125 3700 25 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 1550 3500 1550 3900 3 0 0 0 -1 -1 L 1150 3700 1550 3500 3 0 0 0 -1 -1 L 1550 3900 1150 3700 3 0 0 0 -1 -1 V 1525 3100 25 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 1100 2900 1100 3300 3 0 0 0 -1 -1 L 1500 3100 1100 2900 3 0 0 0 -1 -1 L 1100 3300 1500 3100 3 0 0 0 -1 -1 V 1125 2700 25 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 1550 2500 1550 2900 3 0 0 0 -1 -1 L 1150 2700 1550 2500 3 0 0 0 -1 -1 L 1550 2900 1150 2700 3 0 0 0 -1 -1 L 1550 4100 2300 4100 3 0 0 0 -1 -1 L 1100 4100 300 4100 3 0 0 0 -1 -1 L 300 3700 1100 3700 3 0 0 0 -1 -1 L 1550 3700 2300 3700 3 0 0 0 -1 -1 L 300 3100 1100 3100 3 0 0 0 -1 -1 L 1550 3100 2300 3100 3 0 0 0 -1 -1 L 1550 2700 2300 2700 3 0 0 0 -1 -1 L 1100 2700 300 2700 3 0 0 0 -1 -1 P 300 1700 0 1700 1 0 1 { T 200 1750 5 8 1 1 0 6 1 pinnumber=7 T 200 1650 5 8 0 1 0 8 1 pinseq=6 T 350 1700 9 8 1 1 0 0 1 pinlabel=V- T 350 1650 5 8 0 1 0 2 1 pintype=pas } V 250 1100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 1100 0 1100 1 0 1 { T 200 1150 5 8 1 1 0 6 1 pinnumber=1 T 200 1050 5 8 0 1 0 8 1 pinseq=7 T 350 1100 9 8 1 1 0 0 1 pinlabel=\_EN\_ T 350 1050 5 8 0 1 0 2 1 pintype=in } P 2300 2100 2600 2100 1 0 1 { T 2550 2150 5 8 1 1 0 6 1 pinnumber=2 T 2550 2050 5 8 0 1 0 8 1 pinseq=14 T 2250 2100 9 8 1 1 0 6 1 pinlabel=C1+ T 2250 2050 5 8 0 1 0 8 1 pintype=pas } P 2300 900 2600 900 1 0 1 { T 2550 950 5 8 1 1 0 6 1 pinnumber=6 T 2550 850 5 8 0 1 0 8 1 pinseq=11 T 2250 900 9 8 1 1 0 6 1 pinlabel=C2- T 2250 850 5 8 0 1 0 8 1 pintype=pas } P 2300 1300 2600 1300 1 0 1 { T 2550 1350 5 8 1 1 0 6 1 pinnumber=5 T 2550 1250 5 8 0 1 0 8 1 pinseq=12 T 2250 1300 9 8 1 1 0 6 1 pinlabel=C2+ T 2250 1250 5 8 0 1 0 8 1 pintype=pas } P 300 700 0 700 1 0 1 { T 200 750 5 8 1 1 0 6 1 pinnumber=14 T 200 650 5 8 0 1 0 8 1 pinseq=8 T 350 700 9 8 1 1 0 0 1 pinlabel=FORCEON T 350 650 5 8 0 1 0 2 1 pintype=in } V 250 300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 300 0 300 1 0 1 { T 200 350 5 8 1 1 0 6 1 pinnumber=20 T 200 250 5 8 0 1 0 8 1 pinseq=9 T 350 300 9 8 1 1 0 0 1 pinlabel=\_FORCEOFF\_ T 350 250 5 8 0 1 0 2 1 pintype=in } V 2350 300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2400 300 2600 300 1 0 1 { T 2550 350 5 8 1 1 0 6 1 pinnumber=11 T 2550 250 5 8 0 1 0 8 1 pinseq=10 T 2250 300 9 8 1 1 0 6 1 pinlabel=\_INVALID\_ T 2250 250 5 8 0 1 0 8 1 pintype=out } geda-gaf-1.8.2/symbols/maxim/max4106-1.sym0000664000175000017500000000255712204104272014676 00000000000000v 20041228 1 T 175 1100 5 10 0 0 0 0 1 device=MAX4106 T 700 700 8 10 1 1 0 0 1 refdes=U? P 200 600 0 600 1 0 1 { T 200 650 5 8 1 1 0 6 1 pinnumber=3 T 200 550 5 8 0 1 0 8 1 pinseq=3 T 350 600 9 8 0 1 0 0 1 pinlabel=IN+ T 350 600 5 8 0 1 0 2 1 pintype=in } P 200 200 0 200 1 0 1 { T 200 250 5 8 1 1 0 6 1 pinnumber=2 T 200 150 5 8 0 1 0 8 1 pinseq=2 T 350 200 9 8 0 1 0 0 1 pinlabel=IN- T 350 200 5 8 0 1 0 2 1 pintype=in } P 800 400 1000 400 1 0 1 { T 800 450 5 8 1 1 0 0 1 pinnumber=6 T 800 350 5 8 0 1 0 2 1 pinseq=1 T 650 400 9 8 0 1 0 6 1 pinlabel=OUT T 650 400 5 8 0 1 0 8 1 pintype=out } P 500 200 500 0 1 0 1 { T 550 100 5 8 1 1 0 0 1 pinnumber=4 T 550 100 5 8 0 1 0 2 1 pinseq=5 T 500 350 9 8 0 1 0 3 1 pinlabel=Vee T 500 500 5 8 0 1 0 3 1 pintype=pwr } P 500 600 500 800 1 0 1 { T 550 600 5 8 1 1 0 0 1 pinnumber=7 T 550 600 5 8 0 1 0 2 1 pinseq=4 T 500 450 9 8 0 1 0 5 1 pinlabel=Vcc T 500 300 5 8 0 1 0 5 1 pintype=pwr } L 250 600 350 600 3 0 0 0 -1 -1 L 300 650 300 550 3 0 0 0 -1 -1 L 200 0 200 800 3 0 0 0 -1 -1 L 200 800 800 400 3 0 0 0 -1 -1 L 800 400 200 0 3 0 0 0 -1 -1 L 250 200 350 200 3 0 0 0 -1 -1 T 200 1500 5 10 0 0 0 0 1 footprint=SO8 T 200 1700 5 10 0 0 0 0 1 description=350MHz, ultra-low-noise opamp T 200 1300 5 10 0 0 0 0 1 numslots=0 T 200 1900 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX4106-MAX4107.pdf T 200 900 9 8 1 0 0 0 1 MAX4106 geda-gaf-1.8.2/symbols/maxim/max218-1.sym0000664000175000017500000000626412204104272014615 00000000000000v 20070626 1 P 300 3500 0 3500 1 0 1 { T 200 3550 5 8 1 1 0 6 1 pinnumber=7 T 200 3450 5 8 0 1 0 8 1 pinseq=7 T 350 3500 9 8 1 1 0 0 1 pinlabel=T1in T 350 3500 5 8 0 1 0 2 1 pintype=in } P 300 3100 0 3100 1 0 1 { T 200 3150 5 8 1 1 0 6 1 pinnumber=8 T 200 3050 5 8 0 1 0 8 1 pinseq=8 T 350 3100 9 8 1 1 0 0 1 pinlabel=T2in T 350 3100 5 8 0 1 0 2 1 pintype=in } P 300 2700 0 2700 1 0 1 { T 200 2750 5 8 1 1 0 6 1 pinnumber=12 T 200 2650 5 8 0 1 0 8 1 pinseq=12 T 350 2700 9 8 1 1 0 0 1 pinlabel=R1in T 350 2700 5 8 0 1 0 2 1 pintype=in } P 300 2300 0 2300 1 0 1 { T 200 2350 5 8 1 1 0 6 1 pinnumber=11 T 200 2250 5 8 0 1 0 8 1 pinseq=11 T 350 2300 9 8 1 1 0 0 1 pinlabel=R2in T 350 2300 5 8 0 1 0 2 1 pintype=in } P 300 1500 0 1500 1 0 1 { T 200 1550 5 8 1 1 0 6 1 pinnumber=4 T 200 1450 5 8 0 1 0 8 1 pinseq=4 T 350 1500 9 8 1 1 0 0 1 pinlabel=ENABLE T 350 1500 5 8 0 1 0 2 1 pintype=in } P 300 1100 0 1100 1 0 1 { T 200 1150 5 8 1 1 0 6 1 pinnumber=19 T 200 1050 5 8 0 1 0 8 1 pinseq=19 T 350 1100 9 8 1 1 0 0 1 pinlabel=V+ T 350 1100 5 8 0 1 0 2 1 pintype=pas } P 1700 3500 2000 3500 1 0 1 { T 1800 3550 5 8 1 1 0 0 1 pinnumber=14 T 1800 3450 5 8 0 1 0 2 1 pinseq=14 T 1650 3500 9 8 1 1 0 6 1 pinlabel=T1out T 1650 3500 5 8 0 1 0 8 1 pintype=out } P 1700 3100 2000 3100 1 0 1 { T 1800 3150 5 8 1 1 0 0 1 pinnumber=13 T 1800 3050 5 8 0 1 0 2 1 pinseq=13 T 1650 3100 9 8 1 1 0 6 1 pinlabel=T2out T 1650 3100 5 8 0 1 0 8 1 pintype=out } P 1700 2700 2000 2700 1 0 1 { T 1800 2750 5 8 1 1 0 0 1 pinnumber=9 T 1800 2650 5 8 0 1 0 2 1 pinseq=9 T 1650 2700 9 8 1 1 0 6 1 pinlabel=R1out T 1650 2700 5 8 0 1 0 8 1 pintype=tri } P 1700 2300 2000 2300 1 0 1 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=10 T 1800 2250 5 8 0 1 0 2 1 pinseq=10 T 1650 2300 9 8 1 1 0 6 1 pinlabel=R2out T 1650 2300 5 8 0 1 0 8 1 pintype=tri } P 300 700 0 700 1 0 1 { T 200 750 5 8 1 1 0 6 1 pinnumber=15 T 200 650 5 8 0 1 0 8 1 pinseq=15 T 350 700 9 8 1 1 0 0 1 pinlabel=V- T 350 700 5 8 0 1 0 2 1 pintype=pas } P 300 300 0 300 1 0 1 { T 200 350 5 8 1 1 0 6 1 pinnumber=1 T 200 250 5 8 0 1 0 8 1 pinseq=1 T 350 300 9 8 1 1 0 0 1 pinlabel=LX T 350 300 5 8 0 1 0 2 1 pintype=pas } P 1700 700 2000 700 1 0 1 { T 1800 750 5 8 1 1 0 0 1 pinnumber=18 T 1800 650 5 8 0 1 0 2 1 pinseq=18 T 1650 700 9 8 1 1 0 6 1 pinlabel=C1+ T 1650 700 5 8 0 1 0 8 1 pintype=pas } P 1700 300 2000 300 1 0 1 { T 1800 350 5 8 1 1 0 0 1 pinnumber=16 T 1800 250 5 8 0 1 0 2 1 pinseq=16 T 1650 300 9 8 1 1 0 6 1 pinlabel=C1- T 1650 300 5 8 0 1 0 8 1 pintype=pas } B 300 0 1400 3800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4050 5 10 0 0 0 0 1 device=MAX218 P 0 1900 200 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=3 T 200 1850 5 8 0 1 0 8 1 pinseq=3 T 350 1900 9 8 1 1 0 0 1 pinlabel=\_SHDN\_ T 350 1900 5 8 0 1 0 2 1 pintype=in } V 250 1900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1750 3900 8 10 1 1 0 6 1 refdes=U? T 300 4450 5 10 0 0 0 0 1 footprint=DIP20 T 300 4650 5 10 0 0 0 0 1 description=1.8V to 4.25V-powered true RS-232 dual transceiver T 300 4250 5 10 0 0 0 0 1 numslots=0 T 300 4850 5 10 0 0 0 0 1 net=GND:5,17,20 T 300 5050 5 10 0 0 0 0 1 net=Vcc:6 T 300 5250 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX218.pdf T 300 3850 9 10 1 0 0 0 1 MAX218 T 300 5450 5 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/maxim/max232-2.sym0000664000175000017500000000575612204104272014617 00000000000000v 20041228 1 P 1700 3100 2000 3100 1 0 1 { T 1800 3150 5 8 1 1 0 0 1 pinnumber=2 T 1800 3050 5 8 0 1 0 2 1 pinseq=2 T 1650 3100 9 8 1 1 0 6 1 pinlabel=V+ T 1650 3100 5 8 0 1 0 8 1 pintype=pwr } P 300 2700 0 2700 1 0 1 { T 200 2750 5 8 1 1 0 6 1 pinnumber=3 T 200 2650 5 8 0 1 0 8 1 pinseq=3 T 350 2700 9 8 1 1 0 0 1 pinlabel=C1- T 350 2700 5 8 0 1 0 2 1 pintype=pas } P 300 2300 0 2300 1 0 1 { T 200 2350 5 8 1 1 0 6 1 pinnumber=4 T 200 2250 5 8 0 1 0 8 1 pinseq=4 T 350 2300 9 8 1 1 0 0 1 pinlabel=C2+ T 350 2300 5 8 0 1 0 2 1 pintype=pas } P 300 1900 0 1900 1 0 1 { T 200 1950 5 8 1 1 0 6 1 pinnumber=5 T 200 1850 5 8 0 1 0 8 1 pinseq=5 T 350 1900 9 8 1 1 0 0 1 pinlabel=C2- T 350 1900 5 8 0 1 0 2 1 pintype=pas } P 1700 2300 2000 2300 1 0 1 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=6 T 1800 2250 5 8 0 1 0 2 1 pinseq=6 T 1650 2300 9 8 1 1 0 6 1 pinlabel=V- T 1650 2300 5 8 0 1 0 8 1 pintype=pwr } P 300 700 0 700 1 0 1 { T 200 750 5 8 1 1 0 6 1 pinnumber=7 T 200 650 5 8 0 1 0 8 1 pinseq=7 T 350 700 9 8 1 1 0 0 1 pinlabel=Tx2 Out T 350 700 5 8 0 1 0 2 1 pintype=out } P 300 300 0 300 1 0 1 { T 200 350 5 8 1 1 0 6 1 pinnumber=8 T 200 250 5 8 0 1 0 8 1 pinseq=8 T 350 300 9 8 1 1 0 0 1 pinlabel=Rx2 In T 350 300 5 8 0 1 0 2 1 pintype=in } P 1700 300 2000 300 1 0 1 { T 1800 350 5 8 1 1 0 0 1 pinnumber=9 T 1800 250 5 8 0 1 0 2 1 pinseq=9 T 1650 300 9 8 1 1 0 6 1 pinlabel=Rx2 Out T 1650 300 5 8 0 1 0 8 1 pintype=out } P 1700 700 2000 700 1 0 1 { T 1800 750 5 8 1 1 0 0 1 pinnumber=10 T 1800 650 5 8 0 1 0 2 1 pinseq=10 T 1650 700 9 8 1 1 0 6 1 pinlabel=Tx2 In T 1650 700 5 8 0 1 0 8 1 pintype=in } P 1700 1500 2000 1500 1 0 1 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=11 T 1800 1450 5 8 0 1 0 2 1 pinseq=11 T 1650 1500 9 8 1 1 0 6 1 pinlabel=Tx1 In T 1650 1500 5 8 0 1 0 8 1 pintype=in } P 1700 1100 2000 1100 1 0 1 { T 1800 1150 5 8 1 1 0 0 1 pinnumber=12 T 1800 1050 5 8 0 1 0 2 1 pinseq=12 T 1650 1100 9 8 1 1 0 6 1 pinlabel=Rx1 Out T 1650 1100 5 8 0 1 0 8 1 pintype=out } P 300 1100 0 1100 1 0 1 { T 200 1150 5 8 1 1 0 6 1 pinnumber=13 T 200 1050 5 8 0 1 0 8 1 pinseq=13 T 350 1100 9 8 1 1 0 0 1 pinlabel=Rx1 In T 350 1100 5 8 0 1 0 2 1 pintype=in } T 300 3650 5 10 0 0 0 0 1 device=MAX232 P 300 1500 0 1500 1 0 1 { T 200 1550 5 8 1 1 0 6 1 pinnumber=14 T 200 1450 5 8 0 1 0 8 1 pinseq=14 T 350 1500 9 8 1 1 0 0 1 pinlabel=Tx1 Out T 350 1500 5 8 0 1 0 2 1 pintype=out } P 300 3100 0 3100 1 0 1 { T 200 3150 5 8 1 1 0 6 1 pinnumber=1 T 200 3050 5 8 0 1 0 8 1 pinseq=1 T 350 3100 9 8 1 1 0 0 1 pinlabel=C1+ T 350 3100 5 8 0 1 0 2 1 pintype=pas } B 300 0 1400 3400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1700 3500 8 10 1 1 0 6 1 refdes=U? T 300 3850 5 10 0 0 0 0 1 footprint=DIP16 T 300 4050 5 10 0 0 0 0 1 description=5V-powered dual RS-232 driver/receiver T 300 4650 5 10 0 0 0 0 1 numslots=0 T 300 4250 5 10 0 0 0 0 1 net=Vcc:16 T 300 4450 5 10 0 0 0 0 1 net=GND:15 T 300 3450 9 10 1 0 0 0 1 MAX232 L 300 1700 1700 1700 3 0 0 2 50 50 L 300 900 1700 900 3 0 0 2 50 50 T 300 4850 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX220-MAX249.pdf geda-gaf-1.8.2/symbols/maxim/max865EUA-1.sym0000664000175000017500000000275012204104272015154 00000000000000v 20041228 1 P 0 1200 300 1200 1 0 0 { T 200 1250 5 8 1 1 0 6 1 pinnumber=8 T 200 1150 5 8 0 1 0 8 1 pinseq=1 T 350 1200 9 8 1 1 0 0 1 pinlabel=C1+ T 350 1200 5 8 0 1 0 2 1 pintype=pas } P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=2 T 200 550 5 8 0 1 0 8 1 pinseq=3 T 350 600 9 8 1 1 0 0 1 pinlabel=C2+ T 350 600 5 8 0 1 0 2 1 pintype=pas } P 0 900 300 900 1 0 0 { T 200 950 5 8 1 1 0 6 1 pinnumber=1 T 200 850 5 8 0 1 0 8 1 pinseq=2 T 350 900 9 8 1 1 0 0 1 pinlabel=C1- T 350 900 5 8 0 1 0 2 1 pintype=pas } P 0 300 300 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=3 T 200 250 5 8 0 1 0 8 1 pinseq=4 T 350 300 9 8 1 1 0 0 1 pinlabel=C2- T 350 300 5 8 0 1 0 2 1 pintype=pas } P 1700 600 2000 600 1 0 1 { T 1800 650 5 8 1 1 0 0 1 pinnumber=4 T 1800 550 5 8 0 1 0 2 1 pinseq=5 T 1650 600 9 8 1 1 0 6 1 pinlabel=V- T 1650 600 5 8 0 1 0 8 1 pintype=pwr } P 1700 900 2000 900 1 0 1 { T 1800 950 5 8 1 1 0 0 1 pinnumber=7 T 1800 850 5 8 0 1 0 2 1 pinseq=6 T 1650 900 9 8 1 1 0 6 1 pinlabel=V+ T 1650 900 5 8 0 1 0 8 1 pintype=pwr } B 300 0 1400 1500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1729 1543 8 10 1 1 0 6 1 refdes=U? T 300 2350 5 10 0 0 0 0 1 device=max865eua T 300 2150 5 10 0 0 0 0 1 footprint=uMAX8 T 300 1950 5 10 0 0 0 0 1 net=+5V:6 T 300 1750 5 10 0 0 0 0 1 net=GND:5 T 300 2750 5 10 0 0 0 0 1 description=compact dual-output charge pump T 300 2550 5 10 0 0 0 0 1 numslots=0 T 300 2950 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX865.pdf T 300 1540 9 10 1 0 0 0 1 MAX865EUA geda-gaf-1.8.2/symbols/maxim/max135-1.sym0000664000175000017500000001131512204104272014604 00000000000000v 20070626 1 P 300 5000 0 5000 1 0 1 { T 200 5050 5 8 1 1 0 6 1 pinnumber=17 T 200 4950 5 8 0 1 0 8 1 pinseq=17 T 350 5000 9 8 1 1 0 0 1 pinlabel=IN HI T 350 5000 5 8 0 1 0 2 1 pintype=in } P 300 4600 0 4600 1 0 1 { T 200 4650 5 8 1 1 0 6 1 pinnumber=19 T 200 4550 5 8 0 1 0 8 1 pinseq=19 T 350 4600 9 8 1 1 0 0 1 pinlabel=IN LO T 350 4600 5 8 0 1 0 2 1 pintype=in } P 900 300 900 0 1 0 1 { T 950 100 5 8 1 1 0 0 1 pinnumber=4 T 950 100 5 8 0 1 0 2 1 pinseq=4 T 900 350 9 8 1 1 0 3 1 pinlabel=OSC2 T 900 450 5 8 0 1 0 3 1 pintype=out } P 1700 300 1700 0 1 0 1 { T 1750 100 5 8 1 1 0 0 1 pinnumber=5 T 1750 100 5 8 0 1 0 2 1 pinseq=5 T 1700 350 9 8 1 1 0 3 1 pinlabel=OSC1 T 1700 450 5 8 0 1 0 3 1 pintype=in } P 300 600 0 600 1 0 1 { T 200 650 5 8 1 1 0 6 1 pinnumber=21 T 200 550 5 8 0 1 0 8 1 pinseq=21 T 350 600 9 8 1 1 0 0 1 pinlabel=REF- T 350 600 5 8 0 1 0 2 1 pintype=pwr } P 2600 5000 2300 5000 1 0 0 { T 2400 5050 5 8 1 1 0 0 1 pinnumber=6 T 2400 4950 5 8 0 1 0 2 1 pinseq=6 T 2250 5000 9 8 1 1 0 6 1 pinlabel=D0 T 2250 5000 5 8 0 1 0 8 1 pintype=io } P 2600 4600 2300 4600 1 0 0 { T 2400 4650 5 8 1 1 0 0 1 pinnumber=7 T 2400 4550 5 8 0 1 0 2 1 pinseq=7 T 2250 4600 9 8 1 1 0 6 1 pinlabel=D1 T 2250 4600 5 8 0 1 0 8 1 pintype=io } P 2600 4200 2300 4200 1 0 0 { T 2400 4250 5 8 1 1 0 0 1 pinnumber=8 T 2400 4150 5 8 0 1 0 2 1 pinseq=8 T 2250 4200 9 8 1 1 0 6 1 pinlabel=D2 T 2250 4200 5 8 0 1 0 8 1 pintype=io } P 300 1000 0 1000 1 0 1 { T 200 1050 5 8 1 1 0 6 1 pinnumber=22 T 200 950 5 8 0 1 0 8 1 pinseq=22 T 350 1000 9 8 1 1 0 0 1 pinlabel=REF+ T 350 1000 5 8 0 1 0 2 1 pintype=pwr } P 300 2200 0 2200 1 0 1 { T 200 2250 5 8 1 1 0 6 1 pinnumber=23 T 200 2150 5 8 0 1 0 8 1 pinseq=23 T 350 2200 9 8 1 1 0 0 1 pinlabel=CREF+ T 350 2200 5 8 0 1 0 2 1 pintype=pas } P 300 1800 0 1800 1 0 1 { T 200 1850 5 8 1 1 0 6 1 pinnumber=24 T 200 1750 5 8 0 1 0 8 1 pinseq=24 T 350 1800 9 8 1 1 0 0 1 pinlabel=CREF- T 350 1800 5 8 0 1 0 2 1 pintype=pas } P 2300 3800 2600 3800 1 0 1 { T 2400 3850 5 8 1 1 0 0 1 pinnumber=9 T 2400 3750 5 8 0 1 0 2 1 pinseq=9 T 2250 3800 9 8 1 1 0 6 1 pinlabel=D3 T 2250 3800 5 8 0 1 0 8 1 pintype=io } P 2300 3400 2600 3400 1 0 1 { T 2400 3450 5 8 1 1 0 0 1 pinnumber=10 T 2400 3350 5 8 0 1 0 2 1 pinseq=10 T 2250 3400 9 8 1 1 0 6 1 pinlabel=D4 T 2250 3400 5 8 0 1 0 8 1 pintype=io } P 2300 3000 2600 3000 1 0 1 { T 2400 3050 5 8 1 1 0 0 1 pinnumber=11 T 2400 2950 5 8 0 1 0 2 1 pinseq=11 T 2250 3000 9 8 1 1 0 6 1 pinlabel=D5 T 2250 3000 5 8 0 1 0 8 1 pintype=io } P 2300 2600 2600 2600 1 0 1 { T 2400 2650 5 8 1 1 0 0 1 pinnumber=12 T 2400 2550 5 8 0 1 0 2 1 pinseq=12 T 2250 2600 9 8 1 1 0 6 1 pinlabel=D6 T 2250 2600 5 8 0 1 0 8 1 pintype=io } P 2300 2200 2600 2200 1 0 1 { T 2400 2250 5 8 1 1 0 0 1 pinnumber=13 T 2400 2150 5 8 0 1 0 2 1 pinseq=13 T 2250 2200 9 8 1 1 0 6 1 pinlabel=D7 T 2250 2200 5 8 0 1 0 8 1 pintype=io } P 2300 600 2600 600 1 0 1 { T 2400 650 5 8 1 1 0 0 1 pinnumber=15 T 2400 550 5 8 0 1 0 2 1 pinseq=15 T 2250 600 9 8 1 1 0 6 1 pinlabel=EOC T 2250 600 5 8 0 1 0 8 1 pintype=out } P 300 3400 0 3400 1 0 1 { T 200 3450 5 8 1 1 0 6 1 pinnumber=26 T 200 3350 5 8 0 1 0 8 1 pinseq=26 T 350 3400 9 8 1 1 0 0 1 pinlabel=INTOUT T 350 3400 5 8 0 1 0 2 1 pintype=out } B 300 300 2000 5000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 5550 5 10 0 0 0 0 1 device=MAX135 P 300 3000 0 3000 1 0 1 { T 200 3050 5 8 1 1 0 6 1 pinnumber=25 T 200 2950 5 8 0 1 0 8 1 pinseq=25 T 350 3000 9 8 1 1 0 0 1 pinlabel=INTIN T 350 3000 5 8 0 1 0 2 1 pintype=in } P 300 3800 0 3800 1 0 1 { T 200 3850 5 8 1 1 0 6 1 pinnumber=27 T 200 3750 5 8 0 1 0 8 1 pinseq=27 T 350 3800 9 8 1 1 0 0 1 pinlabel=BUF OUT T 350 3800 5 8 0 1 0 2 1 pintype=out } P 2600 1800 2400 1800 1 0 0 { T 2400 1850 5 8 1 1 0 0 1 pinnumber=1 T 2400 1750 5 8 0 1 0 2 1 pinseq=1 T 2250 1800 9 8 1 1 0 6 1 pinlabel=\_CS\_ T 2250 1800 5 8 0 1 0 8 1 pintype=in } P 2600 1400 2400 1400 1 0 0 { T 2400 1450 5 8 1 1 0 0 1 pinnumber=2 T 2400 1350 5 8 0 1 0 2 1 pinseq=2 T 2250 1400 9 8 1 1 0 6 1 pinlabel=\_RD\_ T 2250 1400 5 8 0 1 0 8 1 pintype=in } P 2600 1000 2400 1000 1 0 0 { T 2400 1050 5 8 1 1 0 0 1 pinnumber=3 T 2400 950 5 8 0 1 0 2 1 pinseq=3 T 2250 1000 9 8 1 1 0 6 1 pinlabel=\_WR\_ T 2250 1000 5 8 0 1 0 8 1 pintype=in } V 2350 1800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 2350 1400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 2350 1000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2300 5400 8 10 1 1 0 6 1 refdes=U? T 300 5950 5 10 0 0 0 0 1 footprint=DIP28 T 300 6150 5 10 0 0 0 0 1 description=15-bit ADC with parallel interface T 300 5750 5 10 0 0 0 0 1 numslots=0 T 300 6350 5 10 0 0 0 0 1 net=DGND:14 T 300 6550 5 10 0 0 0 0 1 net=AGND:18,20 T 300 6750 5 10 0 0 0 0 1 net=V+:28 T 300 6950 5 10 0 0 0 0 1 net=V-:16 T 300 5350 9 10 1 0 0 0 1 MAX135 T 300 7150 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX135.pdf geda-gaf-1.8.2/symbols/maxim/max3674-1.sym0000664000175000017500000002376612204104272014714 00000000000000v 20080110 1 P 0 8200 300 8200 1 0 0 { T 225 8250 5 10 1 1 0 6 1 pinnumber=7 T 0 8200 5 10 0 1 0 0 1 pinseq=7 T 200 8250 5 10 0 1 0 0 1 pintype=in T 400 8250 5 10 1 1 0 0 1 pinlabel=REF_CLK } P 5600 6200 5300 6200 1 0 0 { T 5500 6200 5 10 0 1 0 0 1 pintype=out T 5350 6225 5 10 1 1 0 0 1 pinnumber=32 T 5500 6200 5 10 0 1 0 0 1 pinseq=32 T 4500 6300 5 10 1 1 0 1 1 pinlabel=QA\\ } P 5600 5600 5300 5600 1 0 0 { T 5500 5600 5 10 0 1 0 0 1 pintype=out T 5350 5625 5 10 1 1 0 0 1 pinnumber=29 T 5500 5600 5 10 0 1 0 0 1 pinseq=29 T 4500 5700 5 10 1 1 0 1 1 pinlabel=QB } P 5600 5200 5300 5200 1 0 0 { T 5500 5200 5 10 0 1 0 0 1 pintype=out T 5350 5225 5 10 1 1 0 0 1 pinnumber=28 T 5500 5200 5 10 0 1 0 0 1 pinseq=28 T 4500 5300 5 10 1 1 0 1 1 pinlabel=QB\\ } P 5600 3400 5300 3400 1 0 0 { T 5500 3400 5 10 0 1 0 0 1 pintype=in T 5350 3425 5 10 1 1 0 0 1 pinnumber=9 T 5500 3400 5 10 0 1 0 0 1 pinseq=9 T 3500 3400 5 10 1 1 0 1 1 pinlabel=CLOCK_STOPA\\ } P 5600 3100 5300 3100 1 0 0 { T 5500 3100 5 10 0 1 0 0 1 pintype=in T 5350 3125 5 10 1 1 0 0 1 pinnumber=10 T 5500 3100 5 10 0 1 0 0 1 pinseq=10 T 3500 3100 5 10 1 1 0 1 1 pinlabel=CLOCK_STOPB\\ } P 5600 2600 5300 2600 1 0 0 { T 5500 2600 5 10 0 1 0 0 1 pintype=in T 5350 2625 5 10 1 1 0 0 1 pinnumber=2 T 5500 2600 5 10 0 1 0 0 1 pinseq=2 T 4200 2600 5 10 1 1 0 1 1 pinlabel=BYPASS\\ } P 5600 6600 5300 6600 1 0 0 { T 5500 6600 5 10 0 1 0 0 1 pintype=out T 5350 6625 5 10 1 1 0 0 1 pinnumber=33 T 5500 6600 5 10 0 1 0 0 1 pinseq=33 T 4500 6700 5 10 1 1 0 1 1 pinlabel=QA } L 3600 6800 4400 6400 3 0 0 0 -1 -1 L 3600 6400 3200 6400 3 0 0 0 -1 -1 L 5300 6600 4000 6600 3 0 0 0 -1 -1 L 3600 6000 3600 6800 3 0 0 0 -1 -1 P 0 7800 300 7800 1 0 0 { T 225 7850 5 10 1 1 0 6 1 pinnumber=11 T 0 7800 5 10 0 1 0 0 1 pinseq=11 T 200 7850 5 10 0 1 0 0 1 pintype=pas T 400 7800 5 10 1 1 0 1 1 pinlabel=XTAL1 } P 800 10000 800 9700 1 0 0 { T 775 9800 5 10 1 1 90 0 1 pinnumber=6 T 800 10000 5 10 0 1 0 0 1 pinseq=6 T 800 10000 5 10 0 1 0 0 1 pintype=in T 800 9600 5 10 1 1 90 7 1 pinlabel=REF_SEL } P 1400 10000 1400 9700 1 0 0 { T 1375 9800 5 10 1 1 90 0 1 pinnumber=1 T 1400 10000 5 10 0 1 0 0 1 pinseq=1 T 1400 10000 5 10 0 1 0 0 1 pintype=pwr T 1400 9600 5 10 1 1 90 7 1 pinlabel=VCC } P 3200 10000 3200 9700 1 0 0 { T 3175 9800 5 10 1 1 90 0 1 pinnumber=5 T 3200 10000 5 10 0 1 0 0 1 pinseq=5 T 3200 10000 5 10 0 1 0 0 1 pintype=pwr T 3200 9600 5 10 1 1 90 7 1 pinlabel=VCC_PLL } P 1000 0 1000 300 1 0 0 { T 975 200 5 10 1 1 90 6 1 pinnumber=41 T 1000 0 5 10 0 1 180 0 1 pinseq=41 T 1000 0 5 10 0 1 180 0 1 pintype=in T 1000 400 5 10 1 1 90 1 1 pinlabel=PLOAD\\ } P 1400 0 1400 300 1 0 0 { T 1375 200 5 10 1 1 90 6 1 pinnumber=43 T 1400 0 5 10 0 1 180 0 1 pinseq=43 T 1400 0 5 10 0 1 180 0 1 pintype=in T 1400 400 5 10 1 1 90 1 1 pinlabel=MR\\ } P 2400 0 2400 300 1 0 0 { T 2375 200 5 10 1 1 90 6 1 pinnumber=3 T 2400 0 5 10 0 1 180 0 1 pinseq=3 T 2400 0 5 10 0 1 180 0 1 pintype=pwr T 2400 400 5 10 1 1 90 1 1 pinlabel=GND } P 4400 0 4400 300 1 0 0 { T 4375 200 5 10 1 1 90 6 1 pinnumber=26 T 4400 0 5 10 0 1 180 0 1 pinseq=26 T 4400 0 5 10 0 1 180 0 1 pintype=out T 4400 400 5 10 1 1 90 1 1 pinlabel=LOCK } T 1500 8300 8 10 1 1 0 0 1 refdes=U? T 1500 8000 8 10 1 1 0 0 1 device=MAX3674 B 300 300 5000 9400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1500 7700 8 10 1 1 0 0 1 footprint=LQFP48_7 T 6400 5600 5 10 0 0 0 0 1 numslots=0 T 6400 5400 5 10 0 0 0 0 1 symversion=1.0 T 6400 5200 5 10 0 0 0 0 1 description=High-Performance, Dual-Output, Network Clock Synthesizer T 6400 5000 5 10 0 0 0 0 1 documentation=http://datasheets.maxim-ic.com/en/ds/MAX3674.pdf T 6400 5900 5 10 0 0 0 0 1 device=MAX3674ECM L 3600 6000 4400 6400 3 0 0 0 -1 -1 V 4197 6196 95 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 5300 6200 4300 6200 3 0 0 0 -1 -1 L 3600 5800 4400 5400 3 0 0 0 -1 -1 L 3600 5400 3200 5400 3 0 0 0 -1 -1 L 3600 5000 3600 5800 3 0 0 0 -1 -1 L 3600 5000 4400 5400 3 0 0 0 -1 -1 V 4197 5196 95 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 5300 5600 4000 5600 3 0 0 0 -1 -1 L 5300 5200 4300 5200 3 0 0 0 -1 -1 P 0 7400 300 7400 1 0 0 { T 225 7450 5 10 1 1 0 6 1 pinnumber=12 T 0 7400 5 10 0 1 0 0 1 pinseq=12 T 200 7450 5 10 0 1 0 0 1 pintype=pas T 400 7400 5 10 1 1 0 1 1 pinlabel=XTAL2 } P 0 6600 300 6600 1 0 0 { T 225 6650 5 10 1 1 0 6 1 pinnumber=44 T 0 6600 5 10 0 1 0 0 1 pinseq=44 T 200 6650 5 10 0 1 0 0 1 pintype=io T 400 6600 5 10 1 1 0 1 1 pinlabel=SDA } P 0 6400 300 6400 1 0 0 { T 225 6450 5 10 1 1 0 6 1 pinnumber=45 T 0 6400 5 10 0 1 0 0 1 pinseq=45 T 200 6450 5 10 0 1 0 0 1 pintype=in T 400 6400 5 10 1 1 0 1 1 pinlabel=SCL } P 0 5300 300 5300 1 0 0 { T 225 5350 5 10 1 1 0 6 1 pinnumber=24 T 0 5300 5 10 0 1 0 0 1 pinseq=14 T 200 5350 5 10 0 1 0 0 1 pintype=in T 400 5300 5 10 1 1 0 1 1 pinlabel=M9 } P 0 5100 300 5100 1 0 0 { T 225 5150 5 10 1 1 0 6 1 pinnumber=23 T 0 5100 5 10 0 1 0 0 1 pinseq=15 T 200 5150 5 10 0 1 0 0 1 pintype=in T 400 5100 5 10 1 1 0 1 1 pinlabel=M8 } P 0 4900 300 4900 1 0 0 { T 225 4950 5 10 1 1 0 6 1 pinnumber=22 T 0 4900 5 10 0 1 0 0 1 pinseq=16 T 200 4950 5 10 0 1 0 0 1 pintype=in T 400 4900 5 10 1 1 0 1 1 pinlabel=M7 } P 0 4700 300 4700 1 0 0 { T 225 4750 5 10 1 1 0 6 1 pinnumber=21 T 0 4700 5 10 0 1 0 0 1 pinseq=17 T 200 4750 5 10 0 1 0 0 1 pintype=in T 400 4700 5 10 1 1 0 1 1 pinlabel=M6 } P 0 4500 300 4500 1 0 0 { T 225 4550 5 10 1 1 0 6 1 pinnumber=20 T 0 4500 5 10 0 1 0 0 1 pinseq=18 T 200 4550 5 10 0 1 0 0 1 pintype=in T 400 4500 5 10 1 1 0 1 1 pinlabel=M5 } P 0 4300 300 4300 1 0 0 { T 225 4350 5 10 1 1 0 6 1 pinnumber=18 T 0 4300 5 10 0 1 0 0 1 pinseq=20 T 200 4350 5 10 0 1 0 0 1 pintype=in T 400 4300 5 10 1 1 0 1 1 pinlabel=M4 } P 0 4100 300 4100 1 0 0 { T 225 4150 5 10 1 1 0 6 1 pinnumber=17 T 0 4100 5 10 0 1 0 0 1 pinseq=21 T 200 4150 5 10 0 1 0 0 1 pintype=in T 400 4100 5 10 1 1 0 1 1 pinlabel=M3 } P 0 3900 300 3900 1 0 0 { T 225 3950 5 10 1 1 0 6 1 pinnumber=16 T 0 3900 5 10 0 1 0 0 1 pinseq=22 T 200 3950 5 10 0 1 0 0 1 pintype=in T 400 3900 5 10 1 1 0 1 1 pinlabel=M2 } P 0 3700 300 3700 1 0 0 { T 225 3750 5 10 1 1 0 6 1 pinnumber=15 T 0 3700 5 10 0 1 0 0 1 pinseq=23 T 200 3750 5 10 0 1 0 0 1 pintype=in T 400 3700 5 10 1 1 0 1 1 pinlabel=M1 } P 0 3500 300 3500 1 0 0 { T 225 3550 5 10 1 1 0 6 1 pinnumber=14 T 0 3500 5 10 0 1 0 0 1 pinseq=24 T 200 3550 5 10 0 1 0 0 1 pintype=in T 400 3500 5 10 1 1 0 1 1 pinlabel=M0 } P 0 3000 300 3000 1 0 0 { T 225 3050 5 10 1 1 0 6 1 pinnumber=38 T 0 3000 5 10 0 1 0 0 1 pinseq=38 T 200 3050 5 10 0 1 0 0 1 pintype=in T 400 3000 5 10 1 1 0 1 1 pinlabel=NA2 } P 0 2800 300 2800 1 0 0 { T 225 2850 5 10 1 1 0 6 1 pinnumber=39 T 0 2800 5 10 0 1 0 0 1 pinseq=39 T 200 2850 5 10 0 1 0 0 1 pintype=in T 400 2800 5 10 1 1 0 1 1 pinlabel=NA1 } P 0 2600 300 2600 1 0 0 { T 225 2650 5 10 1 1 0 6 1 pinnumber=40 T 0 2600 5 10 0 1 0 0 1 pinseq=40 T 200 2650 5 10 0 1 0 0 1 pintype=in T 400 2600 5 10 1 1 0 1 1 pinlabel=NA0 } P 0 2200 300 2200 1 0 0 { T 225 2250 5 10 1 1 0 6 1 pinnumber=35 T 0 2200 5 10 0 1 0 0 1 pinseq=35 T 200 2250 5 10 0 1 0 0 1 pintype=in T 400 2200 5 10 1 1 0 1 1 pinlabel=NB } P 0 1800 300 1800 1 0 0 { T 225 1850 5 10 1 1 0 6 1 pinnumber=48 T 0 1800 5 10 0 1 0 0 1 pinseq=48 T 200 1850 5 10 0 1 0 0 1 pintype=in T 400 1800 5 10 1 1 0 1 1 pinlabel=P } P 1600 10000 1600 9700 1 0 0 { T 1575 9800 5 10 1 1 90 0 1 pinnumber=4 T 1600 10000 5 10 0 1 0 0 1 pinseq=4 T 1600 10000 5 10 0 1 0 0 1 pintype=pwr T 1600 9600 5 10 1 1 90 7 1 pinlabel=VCC } P 1800 10000 1800 9700 1 0 0 { T 1775 9800 5 10 1 1 90 0 1 pinnumber=13 T 1800 10000 5 10 0 1 0 0 1 pinseq=13 T 1800 10000 5 10 0 1 0 0 1 pintype=pwr T 1800 9600 5 10 1 1 90 7 1 pinlabel=VCC } P 2000 10000 2000 9700 1 0 0 { T 1975 9800 5 10 1 1 90 0 1 pinnumber=30 T 2000 10000 5 10 0 1 0 0 1 pinseq=30 T 2000 10000 5 10 0 1 0 0 1 pintype=pwr T 2000 9600 5 10 1 1 90 7 1 pinlabel=VCC } P 2200 10000 2200 9700 1 0 0 { T 2175 9800 5 10 1 1 90 0 1 pinnumber=34 T 2200 10000 5 10 0 1 0 0 1 pinseq=34 T 2200 10000 5 10 0 1 0 0 1 pintype=pwr T 2200 9600 5 10 1 1 90 7 1 pinlabel=VCC } P 2400 10000 2400 9700 1 0 0 { T 2375 9800 5 10 1 1 90 0 1 pinnumber=36 T 2400 10000 5 10 0 1 0 0 1 pinseq=36 T 2400 10000 5 10 0 1 0 0 1 pintype=pwr T 2400 9600 5 10 1 1 90 7 1 pinlabel=VCC } P 2600 10000 2600 9700 1 0 0 { T 2575 9800 5 10 1 1 90 0 1 pinnumber=42 T 2600 10000 5 10 0 1 0 0 1 pinseq=42 T 2600 10000 5 10 0 1 0 0 1 pintype=pwr T 2600 9600 5 10 1 1 90 7 1 pinlabel=VCC } P 2600 0 2600 300 1 0 0 { T 2575 200 5 10 1 1 90 6 1 pinnumber=8 T 2600 0 5 10 0 1 180 0 1 pinseq=8 T 2600 0 5 10 0 1 180 0 1 pintype=pwr T 2600 400 5 10 1 1 90 1 1 pinlabel=GND } P 2800 0 2800 300 1 0 0 { T 2775 200 5 10 1 1 90 6 1 pinnumber=19 T 2800 0 5 10 0 1 180 0 1 pinseq=19 T 2800 0 5 10 0 1 180 0 1 pintype=pwr T 2800 400 5 10 1 1 90 1 1 pinlabel=GND } P 3000 0 3000 300 1 0 0 { T 2975 200 5 10 1 1 90 6 1 pinnumber=27 T 3000 0 5 10 0 1 180 0 1 pinseq=27 T 3000 0 5 10 0 1 180 0 1 pintype=pwr T 3000 400 5 10 1 1 90 1 1 pinlabel=GND } P 3200 0 3200 300 1 0 0 { T 3175 200 5 10 1 1 90 6 1 pinnumber=31 T 3200 0 5 10 0 1 180 0 1 pinseq=31 T 3200 0 5 10 0 1 180 0 1 pintype=pwr T 3200 400 5 10 1 1 90 1 1 pinlabel=GND } P 3400 0 3400 300 1 0 0 { T 3375 200 5 10 1 1 90 6 1 pinnumber=37 T 3400 0 5 10 0 1 180 0 1 pinseq=37 T 3400 0 5 10 0 1 180 0 1 pintype=pwr T 3400 400 5 10 1 1 90 1 1 pinlabel=GND } P 0 1400 300 1400 1 0 0 { T 225 1450 5 10 1 1 0 6 1 pinnumber=25 T 0 1400 5 10 0 1 0 0 1 pinseq=25 T 200 1450 5 10 0 1 0 0 1 pintype=in T 400 1400 5 10 1 1 0 1 1 pinlabel=TEST_EN } P 0 6000 300 6000 1 0 0 { T 225 6050 5 10 1 1 0 6 1 pinnumber=46 T 0 6000 5 10 0 1 0 0 1 pinseq=46 T 200 6050 5 10 0 1 0 0 1 pintype=in T 400 6000 5 10 1 1 0 1 1 pinlabel=ADDR1 } P 0 5800 300 5800 1 0 0 { T 225 5850 5 10 1 1 0 6 1 pinnumber=47 T 0 5800 5 10 0 1 0 0 1 pinseq=47 T 200 5850 5 10 0 1 0 0 1 pintype=in T 400 5800 5 10 1 1 0 1 1 pinlabel=ADDR0 } B 1300 5000 700 1800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 2500 5000 700 1800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2900 5200 9 10 1 0 90 0 1 POST DIVIDERS T 1700 5800 9 10 1 0 90 0 1 PLL L 2500 5900 2000 5900 3 0 0 0 -1 -1 L 2400 5900 2300 5800 3 0 0 0 -1 -1 L 2400 5900 2300 6000 3 0 0 0 -1 -1 L 3500 6400 3400 6300 3 0 0 0 -1 -1 L 3500 6400 3400 6500 3 0 0 0 -1 -1 L 3500 5400 3400 5300 3 0 0 0 -1 -1 L 3500 5400 3400 5500 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/maxim/max1114-1.sym0000664000175000017500000001156312204104272014667 00000000000000v 20070626 1 P 300 5900 0 5900 1 0 1 { T 200 5950 5 8 1 1 0 6 1 pinnumber=5 T 200 5850 5 8 0 1 0 8 1 pinseq=5 T 400 5900 9 8 1 1 0 0 1 pinlabel=CLK T 400 5900 5 8 0 1 0 2 1 pintype=in } P 300 5100 0 5100 1 0 1 { T 200 5150 5 8 1 1 0 6 1 pinnumber=10 T 200 5050 5 8 0 1 0 8 1 pinseq=10 T 350 5100 9 8 1 1 0 0 1 pinlabel=VRBS T 350 5100 5 8 0 1 0 2 1 pintype=pas } P 300 4700 0 4700 1 0 1 { T 200 4750 5 8 1 1 0 6 1 pinnumber=11 T 200 4650 5 8 0 1 0 8 1 pinseq=11 T 350 4700 9 8 1 1 0 0 1 pinlabel=VRBF T 350 4700 5 8 0 1 0 2 1 pintype=pas } P 300 4300 0 4300 1 0 1 { T 200 4350 5 8 1 1 0 6 1 pinnumber=15 T 200 4250 5 8 0 1 0 8 1 pinseq=15 T 350 4300 9 8 1 1 0 0 1 pinlabel=VIN T 350 4300 5 8 0 1 0 2 1 pintype=in } P 300 3900 0 3900 1 0 1 { T 200 3950 5 8 1 1 0 6 1 pinnumber=19 T 200 3850 5 8 0 1 0 8 1 pinseq=19 T 350 3900 9 8 1 1 0 0 1 pinlabel=VIN T 350 3900 5 8 0 1 0 2 1 pintype=in } P 300 3500 0 3500 1 0 1 { T 200 3550 5 8 1 1 0 6 1 pinnumber=23 T 200 3450 5 8 0 1 0 8 1 pinseq=23 T 350 3500 9 8 1 1 0 0 1 pinlabel=VRTF T 350 3500 5 8 0 1 0 2 1 pintype=pas } P 300 3100 0 3100 1 0 1 { T 200 3150 5 8 1 1 0 6 1 pinnumber=24 T 200 3050 5 8 0 1 0 8 1 pinseq=24 T 350 3100 9 8 1 1 0 0 1 pinlabel=VRTS T 350 3100 5 8 0 1 0 2 1 pintype=pas } P 2600 5900 2300 5900 1 0 0 { T 2400 5950 5 8 1 1 0 0 1 pinnumber=36 T 2400 5850 5 8 0 1 0 2 1 pinseq=36 T 2250 5900 9 8 1 1 0 6 1 pinlabel=D0 T 2250 5900 5 8 0 1 0 8 1 pintype=out } P 2600 5500 2300 5500 1 0 0 { T 2400 5550 5 8 1 1 0 0 1 pinnumber=37 T 2400 5450 5 8 0 1 0 2 1 pinseq=37 T 2250 5500 9 8 1 1 0 6 1 pinlabel=D1 T 2250 5500 5 8 0 1 0 8 1 pintype=out } P 2600 5100 2300 5100 1 0 0 { T 2400 5150 5 8 1 1 0 0 1 pinnumber=38 T 2400 5050 5 8 0 1 0 2 1 pinseq=38 T 2250 5100 9 8 1 1 0 6 1 pinlabel=D2 T 2250 5100 5 8 0 1 0 8 1 pintype=out } P 2600 4700 2300 4700 1 0 0 { T 2400 4750 5 8 1 1 0 0 1 pinnumber=39 T 2400 4650 5 8 0 1 0 2 1 pinseq=39 T 2250 4700 9 8 1 1 0 6 1 pinlabel=D3 T 2250 4700 5 8 0 1 0 8 1 pintype=out } P 300 2700 0 2700 1 0 1 { T 200 2750 5 8 1 1 0 6 1 pinnumber=31 T 200 2650 5 8 0 1 0 8 1 pinseq=31 T 350 2700 9 8 1 1 0 0 1 pinlabel=LINV T 350 2700 5 8 0 1 0 2 1 pintype=in } L 300 6000 400 5900 3 0 0 0 -1 -1 L 400 5900 300 5800 3 0 0 0 -1 -1 L 300 5600 400 5500 3 0 0 0 -1 -1 L 400 5500 300 5400 3 0 0 0 -1 -1 P 2600 4300 2300 4300 1 0 0 { T 2400 4350 5 8 1 1 0 0 1 pinnumber=40 T 2400 4250 5 8 0 1 0 2 1 pinseq=40 T 2250 4300 9 8 1 1 0 6 1 pinlabel=D4 T 2250 4300 5 8 0 1 0 8 1 pintype=out } P 2600 3900 2300 3900 1 0 0 { T 2400 3950 5 8 1 1 0 0 1 pinnumber=41 T 2400 3850 5 8 0 1 0 2 1 pinseq=41 T 2250 3900 9 8 1 1 0 6 1 pinlabel=D5 T 2250 3900 5 8 0 1 0 8 1 pintype=out } P 2600 3500 2300 3500 1 0 0 { T 2400 3550 5 8 1 1 0 0 1 pinnumber=42 T 2400 3450 5 8 0 1 0 2 1 pinseq=42 T 2250 3500 9 8 1 1 0 6 1 pinlabel=D6 T 2250 3500 5 8 0 1 0 8 1 pintype=out } P 2600 3100 2300 3100 1 0 0 { T 2400 3150 5 8 1 1 0 0 1 pinnumber=43 T 2400 3050 5 8 0 1 0 2 1 pinseq=43 T 2250 3100 9 8 1 1 0 6 1 pinlabel=D7 T 2250 3100 5 8 0 1 0 8 1 pintype=out } P 2300 2700 2600 2700 1 0 1 { T 2400 2750 5 8 1 1 0 0 1 pinnumber=44 T 2400 2650 5 8 0 1 0 2 1 pinseq=44 T 2250 2700 9 8 1 1 0 6 1 pinlabel=D8 T 2250 2700 5 8 0 1 0 8 1 pintype=out } P 2300 2300 2600 2300 1 0 1 { T 2400 2350 5 8 1 1 0 0 1 pinnumber=4 T 2400 2250 5 8 0 1 0 2 1 pinseq=4 T 2250 2300 9 8 1 1 0 6 1 pinlabel=MINV T 2250 2300 5 8 0 1 0 8 1 pintype=in } P 2300 1900 2600 1900 1 0 1 { T 2400 1950 5 8 1 1 0 0 1 pinnumber=13 T 2400 1850 5 8 0 1 0 2 1 pinseq=13 T 2250 1900 9 8 1 1 0 6 1 pinlabel=VR1 T 2250 1900 5 8 0 1 0 8 1 pintype=pas } P 2300 1500 2600 1500 1 0 1 { T 2400 1550 5 8 1 1 0 0 1 pinnumber=17 T 2400 1450 5 8 0 1 0 2 1 pinseq=17 T 2250 1500 9 8 1 1 0 6 1 pinlabel=VR2 T 2250 1500 5 8 0 1 0 8 1 pintype=pas } P 2300 1100 2600 1100 1 0 1 { T 2400 1150 5 8 1 1 0 0 1 pinnumber=21 T 2400 1050 5 8 0 1 0 2 1 pinseq=21 T 2250 1100 9 8 1 1 0 6 1 pinlabel=VR3 T 2250 1100 5 8 0 1 0 8 1 pintype=pas } P 2300 700 2600 700 1 0 1 { T 2400 750 5 8 1 1 0 0 1 pinnumber=29 T 2400 650 5 8 0 1 0 2 1 pinseq=29 T 2250 700 9 8 1 1 0 6 1 pinlabel=DRINV T 2250 700 5 8 0 1 0 8 1 pintype=out } P 2300 300 2600 300 1 0 1 { T 2400 350 5 8 1 1 0 0 1 pinnumber=35 T 2400 250 5 8 0 1 0 2 1 pinseq=35 T 2250 300 9 8 1 1 0 6 1 pinlabel=DREADY T 2250 300 5 8 0 1 0 8 1 pintype=out } B 300 0 2000 6100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 5500 200 5500 1 0 0 { T 200 5550 5 8 1 1 0 6 1 pinnumber=6 T 200 5450 5 8 0 1 0 8 1 pinseq=6 T 400 5500 9 8 1 1 0 0 1 pinlabel=\_CLK\_ T 400 5500 5 8 0 1 0 2 1 pintype=in } V 250 5500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2300 6200 8 10 1 1 0 6 1 refdes=U? T 300 6150 9 10 1 0 0 0 1 MAX1114 T 300 6350 5 10 0 0 0 0 1 device=MAX1114 T 300 6550 5 10 0 0 0 0 1 footprint=CERQUAD44 T 300 6750 5 10 0 0 0 0 1 numslots=0 T 300 6950 5 10 0 0 0 0 1 description=8-bit, 150Msps Flash ADC T 300 7150 5 10 0 0 0 0 1 net=AGND:2,8,9,14,16,18,20,25,26,33 T 300 7350 5 10 0 0 0 0 1 net=DGND:1,34 T 300 7550 5 10 0 0 0 0 1 net=VEE:3,7,12,22,27,32 geda-gaf-1.8.2/symbols/maxim/adm202-2.sym0000664000175000017500000000600212204104272014551 00000000000000v 20040111 1 P 1700 3100 2000 3100 1 0 1 { T 1800 3150 5 8 1 1 0 0 1 pinnumber=2 T 1800 3050 5 8 0 1 0 2 1 pinseq=2 T 1650 3100 9 8 1 1 0 6 1 pinlabel=V+ T 1650 3100 5 8 0 1 0 8 1 pintype=pwr } P 300 2700 0 2700 1 0 1 { T 200 2750 5 8 1 1 0 6 1 pinnumber=3 T 200 2650 5 8 0 1 0 8 1 pinseq=3 T 350 2700 9 8 1 1 0 0 1 pinlabel=C1- T 350 2700 5 8 0 1 0 2 1 pintype=pas } P 300 2300 0 2300 1 0 1 { T 200 2350 5 8 1 1 0 6 1 pinnumber=4 T 200 2250 5 8 0 1 0 8 1 pinseq=4 T 350 2300 9 8 1 1 0 0 1 pinlabel=C2+ T 350 2300 5 8 0 1 0 2 1 pintype=pas } P 300 1900 0 1900 1 0 1 { T 200 1950 5 8 1 1 0 6 1 pinnumber=5 T 200 1850 5 8 0 1 0 8 1 pinseq=5 T 350 1900 9 8 1 1 0 0 1 pinlabel=C2- T 350 1900 5 8 0 1 0 2 1 pintype=pas } P 1700 2300 2000 2300 1 0 1 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=6 T 1800 2250 5 8 0 1 0 2 1 pinseq=6 T 1650 2300 9 8 1 1 0 6 1 pinlabel=V- T 1650 2300 5 8 0 1 0 8 1 pintype=pwr } P 300 700 0 700 1 0 1 { T 200 750 5 8 1 1 0 6 1 pinnumber=7 T 200 650 5 8 0 1 0 8 1 pinseq=7 T 350 700 9 8 1 1 0 0 1 pinlabel=Tx2 Out T 350 700 5 8 0 1 0 2 1 pintype=out } P 300 300 0 300 1 0 1 { T 200 350 5 8 1 1 0 6 1 pinnumber=8 T 200 250 5 8 0 1 0 8 1 pinseq=8 T 350 300 9 8 1 1 0 0 1 pinlabel=Rx2 In T 350 300 5 8 0 1 0 2 1 pintype=in } P 1700 300 2000 300 1 0 1 { T 1800 350 5 8 1 1 0 0 1 pinnumber=9 T 1800 250 5 8 0 1 0 2 1 pinseq=9 T 1650 300 9 8 1 1 0 6 1 pinlabel=Rx2 Out T 1650 300 5 8 0 1 0 8 1 pintype=out } P 1700 700 2000 700 1 0 1 { T 1800 750 5 8 1 1 0 0 1 pinnumber=10 T 1800 650 5 8 0 1 0 2 1 pinseq=10 T 1650 700 9 8 1 1 0 6 1 pinlabel=Tx2 In T 1650 700 5 8 0 1 0 8 1 pintype=in } P 1700 1500 2000 1500 1 0 1 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=11 T 1800 1450 5 8 0 1 0 2 1 pinseq=11 T 1650 1500 9 8 1 1 0 6 1 pinlabel=Tx1 In T 1650 1500 5 8 0 1 0 8 1 pintype=in } P 1700 1100 2000 1100 1 0 1 { T 1800 1150 5 8 1 1 0 0 1 pinnumber=12 T 1800 1050 5 8 0 1 0 2 1 pinseq=12 T 1650 1100 9 8 1 1 0 6 1 pinlabel=Rx1 Out T 1650 1100 5 8 0 1 0 8 1 pintype=out } P 300 1100 0 1100 1 0 1 { T 200 1150 5 8 1 1 0 6 1 pinnumber=13 T 200 1050 5 8 0 1 0 8 1 pinseq=13 T 350 1100 9 8 1 1 0 0 1 pinlabel=Rx1 In T 350 1100 5 8 0 1 0 2 1 pintype=in } T 300 3650 5 10 0 0 0 0 1 device=ADM202 P 300 1500 0 1500 1 0 1 { T 200 1550 5 8 1 1 0 6 1 pinnumber=14 T 200 1450 5 8 0 1 0 8 1 pinseq=14 T 350 1500 9 8 1 1 0 0 1 pinlabel=Tx1 Out T 350 1500 5 8 0 1 0 2 1 pintype=out } P 300 3100 0 3100 1 0 1 { T 200 3150 5 8 1 1 0 6 1 pinnumber=1 T 200 3050 5 8 0 1 0 8 1 pinseq=1 T 350 3100 9 8 1 1 0 0 1 pinlabel=C1+ T 350 3100 5 8 0 1 0 2 1 pintype=pas } B 300 0 1400 3400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1700 3500 8 10 1 1 0 6 1 refdes=U? T 300 3850 5 10 0 0 0 0 1 footprint=DIP16 T 300 4050 5 10 0 0 0 0 1 description=5V-powered dual RS-232 driver/receiver T 300 4650 5 10 0 0 0 0 1 numslots=0 T 300 4250 5 10 0 0 0 0 1 net=Vcc:16 T 300 4450 5 10 0 0 0 0 1 net=GND:15 T 300 3450 9 10 1 0 0 0 1 ADM202 L 300 1700 1700 1700 3 0 0 2 50 50 L 300 900 1700 900 3 0 0 2 50 50 T 300 4850 5 10 0 0 0 0 1 documentation=http://www.analog.com/UploadedFiles/Data_Sheets/440303855ADM202_3_a.pdf geda-gaf-1.8.2/symbols/maxim/max1209-1.sym0000664000175000017500000001732012204104272014671 00000000000000v 20050313 1 P 100 3500 400 3500 1 0 0 { T 300 3550 5 8 1 1 0 6 1 pinnumber=6 T 300 3450 5 8 0 1 0 8 1 pinseq=6 T 450 3500 9 8 1 1 0 0 1 pinlabel=INN T 450 3500 5 8 0 1 0 2 1 pintype=in } P 100 9200 400 9200 1 0 0 { T 300 9250 5 8 1 1 0 6 1 pinnumber=37 T 300 9150 5 8 0 1 0 8 1 pinseq=37 T 450 9200 9 8 1 1 0 0 1 pinlabel=PD T 450 9200 5 8 0 1 0 2 1 pintype=in } P 100 8900 400 8900 1 0 0 { T 300 8950 5 8 1 1 0 6 1 pinnumber=40 T 300 8850 5 8 0 1 0 8 1 pinseq=40 T 450 8900 9 8 1 1 0 0 1 pinlabel=G_TB T 450 8900 5 8 0 1 0 2 1 pintype=in } P 100 8600 400 8600 1 0 0 { T 300 8650 5 8 1 1 0 6 1 pinnumber=8 T 300 8550 5 8 0 1 0 8 1 pinseq=8 T 450 8600 9 8 1 1 0 0 1 pinlabel=DCE T 450 8600 5 8 0 1 0 2 1 pintype=in } P 100 8300 400 8300 1 0 0 { T 300 8350 5 8 1 1 0 6 1 pinnumber=11 T 300 8250 5 8 0 1 0 8 1 pinseq=11 T 450 8300 9 8 1 1 0 0 1 pinlabel=CLKTYP T 450 8300 5 8 0 1 0 2 1 pintype=in } P 100 7400 400 7400 1 0 0 { T 300 7450 5 8 1 1 0 6 1 pinnumber=1 T 300 7350 5 8 0 1 0 8 1 pinseq=1 T 450 7400 9 8 1 1 0 0 1 pinlabel=REFP T 450 7400 5 8 0 1 0 2 1 pintype=out } P 100 6800 400 6800 1 0 0 { T 300 6850 5 8 1 1 0 6 1 pinnumber=2 T 300 6750 5 8 0 1 0 8 1 pinseq=2 T 450 6800 9 8 1 1 0 0 1 pinlabel=REFN T 450 6800 5 8 0 1 0 2 1 pintype=out } P 100 5900 400 5900 1 0 0 { T 300 5950 5 8 1 1 0 6 1 pinnumber=5 T 300 5850 5 8 0 1 0 8 1 pinseq=5 T 450 5900 9 8 1 1 0 0 1 pinlabel=INP T 450 5900 5 8 0 1 0 2 1 pintype=in } P 100 4700 400 4700 1 0 0 { T 300 4750 5 8 1 1 0 6 1 pinnumber=3 T 300 4650 5 8 0 1 0 8 1 pinseq=3 T 450 4700 9 8 1 1 0 0 1 pinlabel=COM T 450 4700 5 8 0 1 0 2 1 pintype=out } P 3000 9200 3300 9200 1 0 1 { T 3100 9250 5 8 1 1 0 0 1 pinnumber=33 T 3100 9150 5 8 0 1 0 2 1 pinseq=33 T 2950 9200 9 8 1 1 0 6 1 pinlabel=DAV T 2950 9200 5 8 0 1 0 8 1 pintype=out } P 3000 8600 3300 8600 1 0 1 { T 3100 8650 5 8 1 1 0 0 1 pinnumber=32 T 3100 8550 5 8 0 1 0 2 1 pinseq=32 T 2950 8600 9 8 1 1 0 6 1 pinlabel=NC0 T 2950 8600 5 8 0 1 0 8 1 pintype=out } P 3000 8300 3300 8300 1 0 1 { T 3100 8350 5 8 1 1 0 0 1 pinnumber=31 T 3100 8250 5 8 0 1 0 2 1 pinseq=31 T 2950 8300 9 8 1 1 0 6 1 pinlabel=NC1 T 2950 8300 5 8 0 1 0 8 1 pintype=out } P 3000 8000 3300 8000 1 0 1 { T 3100 8050 5 8 1 1 0 0 1 pinnumber=30 T 3100 7950 5 8 0 1 0 2 1 pinseq=30 T 2950 8000 9 8 1 1 0 6 1 pinlabel=D0 T 2950 8000 5 8 0 1 0 8 1 pintype=out } P 3000 7700 3300 7700 1 0 1 { T 3100 7750 5 8 1 1 0 0 1 pinnumber=29 T 3100 7650 5 8 0 1 0 2 1 pinseq=29 T 2950 7700 9 8 1 1 0 6 1 pinlabel=D1 T 2950 7700 5 8 0 1 0 8 1 pintype=out } P 3000 7400 3300 7400 1 0 1 { T 3100 7450 5 8 1 1 0 0 1 pinnumber=28 T 3100 7350 5 8 0 1 0 2 1 pinseq=28 T 2950 7400 9 8 1 1 0 6 1 pinlabel=D2 T 2950 7400 5 8 0 1 0 8 1 pintype=out } P 3000 7100 3300 7100 1 0 1 { T 3100 7150 5 8 1 1 0 0 1 pinnumber=27 T 3100 7050 5 8 0 1 0 2 1 pinseq=27 T 2950 7100 9 8 1 1 0 6 1 pinlabel=D3 T 2950 7100 5 8 0 1 0 8 1 pintype=out } P 3000 6800 3300 6800 1 0 1 { T 3100 6850 5 8 1 1 0 0 1 pinnumber=26 T 3100 6750 5 8 0 1 0 2 1 pinseq=26 T 2950 6800 9 8 1 1 0 6 1 pinlabel=D4 T 2950 6800 5 8 0 1 0 8 1 pintype=out } B 400 400 2600 9600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 3300 10000 8 10 0 0 0 0 1 device=MAX1209 P 100 2100 400 2100 1 0 0 { T 300 2150 5 8 1 1 0 6 1 pinnumber=38 T 300 2050 5 8 0 1 0 8 1 pinseq=38 T 475 2100 9 8 1 1 0 0 1 pinlabel=REFOUT T 475 2100 5 8 0 1 0 2 1 pintype=out } T 1800 6600 8 10 1 1 0 6 1 refdes=U? T 1400 6140 9 10 1 0 0 0 1 MAX1209 P 100 1200 400 1200 1 0 0 { T 300 1250 5 8 1 1 0 6 1 pinnumber=39 T 300 1150 5 8 0 1 0 8 1 pinseq=39 T 475 1200 9 8 1 1 0 0 1 pinlabel=REFIN T 475 1200 5 8 0 1 0 2 1 pintype=in } P 3000 6500 3300 6500 1 0 1 { T 3100 6550 5 8 1 1 0 0 1 pinnumber=25 T 3100 6450 5 8 0 1 0 2 1 pinseq=25 T 2950 6500 9 8 1 1 0 6 1 pinlabel=D5 T 2950 6500 5 8 0 1 0 8 1 pintype=out } P 3000 6200 3300 6200 1 0 1 { T 3100 6250 5 8 1 1 0 0 1 pinnumber=24 T 3100 6150 5 8 0 1 0 2 1 pinseq=24 T 2950 6200 9 8 1 1 0 6 1 pinlabel=D6 T 2950 6200 5 8 0 1 0 8 1 pintype=out } P 3000 5900 3300 5900 1 0 1 { T 3100 5950 5 8 1 1 0 0 1 pinnumber=23 T 3100 5850 5 8 0 1 0 2 1 pinseq=23 T 2950 5900 9 8 1 1 0 6 1 pinlabel=D7 T 2950 5900 5 8 0 1 0 8 1 pintype=out } P 3000 5600 3300 5600 1 0 1 { T 3100 5650 5 8 1 1 0 0 1 pinnumber=22 T 3100 5550 5 8 0 1 0 2 1 pinseq=22 T 2950 5600 9 8 1 1 0 6 1 pinlabel=D8 T 2950 5600 5 8 0 1 0 8 1 pintype=out } P 3000 5300 3300 5300 1 0 1 { T 3100 5350 5 8 1 1 0 0 1 pinnumber=21 T 3100 5250 5 8 0 1 0 2 1 pinseq=21 T 2950 5300 9 8 1 1 0 6 1 pinlabel=D9 T 2950 5300 5 8 0 1 0 8 1 pintype=out } P 3000 5000 3300 5000 1 0 1 { T 3100 5050 5 8 1 1 0 0 1 pinnumber=20 T 3100 4950 5 8 0 1 0 2 1 pinseq=20 T 2950 5000 9 8 1 1 0 6 1 pinlabel=D10 T 2950 5000 5 8 0 1 0 8 1 pintype=out } P 3000 4700 3300 4700 1 0 1 { T 3100 4750 5 8 1 1 0 0 1 pinnumber=19 T 3100 4650 5 8 0 1 0 2 1 pinseq=19 T 2950 4700 9 8 1 1 0 6 1 pinlabel=D11 T 2950 4700 5 8 0 1 0 8 1 pintype=out } P 3000 4100 3300 4100 1 0 1 { T 3100 4150 5 8 1 1 0 0 1 pinnumber=18 T 3100 4050 5 8 0 1 0 2 1 pinseq=18 T 2950 4100 9 8 1 1 0 6 1 pinlabel=DOR T 2950 4100 5 8 0 1 0 8 1 pintype=out } P 3000 3000 3300 3000 1 0 1 { T 3100 3050 5 8 1 1 0 0 1 pinnumber=10 T 3100 2950 5 8 0 1 0 2 1 pinseq=10 T 2950 3000 9 8 1 1 0 6 1 pinlabel=CLKP T 2950 3000 5 8 0 1 0 8 1 pintype=in } P 3000 1800 3300 1800 1 0 1 { T 3100 1850 5 8 1 1 0 0 1 pinnumber=9 T 3100 1750 5 8 0 1 0 2 1 pinseq=9 T 2950 1800 9 8 1 1 0 6 1 pinlabel=CLKN T 2950 1800 5 8 0 1 0 8 1 pintype=in } P 1000 400 1000 100 1 0 1 { T 1050 300 5 8 1 1 270 0 1 pinnumber=4 T 950 300 5 8 0 1 270 2 1 pinseq=4 T 1000 450 9 8 1 1 270 6 1 pinlabel=GND T 1000 450 5 8 0 1 270 8 1 pintype=pwr } P 1300 400 1300 100 1 0 1 { T 1350 300 5 8 1 1 270 0 1 pinnumber=7 T 1250 300 5 8 0 1 270 2 1 pinseq=7 T 1300 450 9 8 1 1 270 6 1 pinlabel=GND T 1300 450 5 8 0 1 270 8 1 pintype=pwr } P 1900 400 1900 100 1 0 1 { T 1950 300 5 8 1 1 270 0 1 pinnumber=16 T 1850 300 5 8 0 1 270 2 1 pinseq=16 T 1900 450 9 8 1 1 270 6 1 pinlabel=OGND T 1900 450 5 8 0 1 270 8 1 pintype=pwr } P 2200 400 2200 100 1 0 1 { T 2250 300 5 8 1 1 270 0 1 pinnumber=35 T 2150 300 5 8 0 1 270 2 1 pinseq=35 T 2200 450 9 8 1 1 270 6 1 pinlabel=OGND T 2200 450 5 8 0 1 270 8 1 pintype=pwr } P 600 10300 600 10000 1 0 0 { T 650 10100 5 8 1 1 270 6 1 pinnumber=12 T 550 10100 5 8 0 1 270 8 1 pinseq=12 T 600 9950 9 8 1 1 270 0 1 pinlabel=VDD T 600 9950 5 8 0 1 270 2 1 pintype=pwr } P 900 10300 900 10000 1 0 0 { T 950 10100 5 8 1 1 270 6 1 pinnumber=13 T 850 10100 5 8 0 1 270 8 1 pinseq=13 T 900 9950 9 8 1 1 270 0 1 pinlabel=VDD T 900 9950 5 8 0 1 270 2 1 pintype=pwr } P 1200 10300 1200 10000 1 0 0 { T 1250 10100 5 8 1 1 270 6 1 pinnumber=14 T 1150 10100 5 8 0 1 270 8 1 pinseq=14 T 1200 9950 9 8 1 1 270 0 1 pinlabel=VDD T 1200 9950 5 8 0 1 270 2 1 pintype=pwr } P 1500 10300 1500 10000 1 0 0 { T 1550 10100 5 8 1 1 270 6 1 pinnumber=15 T 1450 10100 5 8 0 1 270 8 1 pinseq=15 T 1500 9950 9 8 1 1 270 0 1 pinlabel=VDD T 1500 9950 5 8 0 1 270 2 1 pintype=pwr } P 1800 10300 1800 10000 1 0 0 { T 1850 10100 5 8 1 1 270 6 1 pinnumber=36 T 1750 10100 5 8 0 1 270 8 1 pinseq=36 T 1800 9950 9 8 1 1 270 0 1 pinlabel=VDD T 1800 9950 5 8 0 1 270 2 1 pintype=pwr } P 2300 10300 2300 10000 1 0 0 { T 2350 10100 5 8 1 1 270 6 1 pinnumber=17 T 2250 10100 5 8 0 1 270 8 1 pinseq=17 T 2300 9950 9 8 1 1 270 0 1 pinlabel=OVDD T 2300 9950 5 8 0 1 270 2 1 pintype=pwr } P 2600 10300 2600 10000 1 0 0 { T 2650 10100 5 8 1 1 270 6 1 pinnumber=34 T 2550 10100 5 8 0 1 270 8 1 pinseq=34 T 2600 9950 9 8 1 1 270 0 1 pinlabel=OVDD T 2600 9950 5 8 0 1 270 2 1 pintype=pwr } P 600 400 600 100 1 0 1 { T 650 300 5 8 1 1 270 0 1 pinnumber=41 T 550 300 5 8 0 1 270 2 1 pinseq=41 T 600 450 9 8 1 1 270 6 1 pinlabel=PADDLE T 600 450 5 8 0 1 270 8 1 pintype=pwr } T 1000 5400 8 10 1 1 0 0 1 footprint=TQFN40_6_EP T 1600 5000 8 10 0 0 0 0 1 numslots=0 T 3800 5000 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX1209.pdf geda-gaf-1.8.2/symbols/maxim/max872-1.sym0000664000175000017500000000247212204104272014620 00000000000000v 20041228 1 P 1800 1000 2100 1000 1 0 1 { T 1900 1050 5 8 1 1 0 0 1 pinnumber=3 T 1900 950 5 8 0 1 0 2 1 pinseq=3 T 1750 1000 9 8 1 1 0 6 1 pinlabel=TEMP T 1750 1000 5 8 0 1 0 8 1 pintype=out } P 1800 600 2100 600 1 0 1 { T 1900 650 5 8 1 1 0 0 1 pinnumber=6 T 1900 550 5 8 0 1 0 2 1 pinseq=6 T 1750 600 9 8 1 1 0 6 1 pinlabel=VOUT T 1750 600 5 8 0 1 0 8 1 pintype=out } P 1800 200 2100 200 1 0 1 { T 1900 250 5 8 1 1 0 0 1 pinnumber=5 T 1900 150 5 8 0 1 0 2 1 pinseq=5 T 1750 200 9 8 1 1 0 6 1 pinlabel=TRIM T 1750 200 5 8 0 1 0 8 1 pintype=in } P 300 1000 0 1000 1 0 1 { T 200 1050 5 8 1 1 0 6 1 pinnumber=2 T 200 950 5 8 0 1 0 8 1 pinseq=2 T 350 1000 9 8 1 1 0 0 1 pinlabel=VIN T 350 1000 5 8 0 1 0 2 1 pintype=in } P 300 600 0 600 1 0 1 { T 200 650 5 8 1 1 0 6 1 pinnumber=8 T 200 550 5 8 0 1 0 8 1 pinseq=8 T 350 600 9 8 1 1 0 0 1 pinlabel=COMP T 350 600 5 8 0 1 0 2 1 pintype=in } B 300 0 1500 1200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 1650 5 10 0 0 0 0 1 device=MAX872 T 1800 1300 8 10 1 1 0 6 1 refdes=U? T 300 1850 5 10 0 0 0 0 1 footprint=DIP8 T 300 2450 5 10 0 0 0 0 1 description=10uA, low-dropout, precision voltage reference T 300 1450 5 10 0 0 0 0 1 numslots=0 T 300 2050 5 10 0 0 0 0 1 net=GND:4 T 300 2250 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX872-MAX874.pdf T 300 1250 9 10 1 0 0 0 1 MAX872 geda-gaf-1.8.2/symbols/maxim/max1407-1.sym0000664000175000017500000001354612204104272014677 00000000000000v 20040111 1 L 296 2299 3596 4399 3 5 0 0 -1 -1 L 296 2299 3596 -1 3 5 0 0 -1 -1 L 3596 -1 3596 4399 3 5 0 0 -1 -1 P 300 2200 0 2200 1 0 1 { T 0 2200 5 10 0 1 0 0 1 pinseq=13 T 200 2230 5 8 1 1 0 6 1 pinnumber=13 T 415 2200 9 5 1 1 0 1 1 pinlabel=AIN1 T 0 2200 5 10 0 1 0 0 1 pintype=in } P 1200 1600 1200 1300 1 0 1 { T 1200 1300 5 10 0 0 0 0 1 pinseq=7 T 1225 1510 5 8 1 1 0 2 1 pinnumber=7 T 1305 1620 9 5 1 1 0 0 1 pinlabel=AGND T 1200 1300 5 10 0 1 0 0 1 pintype=pwr } P 800 2600 800 3000 1 0 1 { T 900 2800 5 8 0 0 0 0 1 pinnumber=8 T 825 2700 5 10 1 1 0 0 1 pinseq=8 T 900 2560 9 5 1 1 0 2 1 pinlabel=AVDD T 900 3000 5 10 0 1 0 0 1 pintype=pwr } P 1200 2900 1200 3200 1 0 1 { T 1200 3000 5 10 0 0 0 0 1 pinseq=9 T 1215 2970 5 8 1 1 0 0 1 pinnumber=9 T 1200 2860 9 5 1 1 0 2 1 pinlabel=CPLL T 1200 3200 5 10 0 1 0 0 1 pintype=out } P 1500 1400 1500 1100 1 0 1 { T 1500 1200 5 10 0 0 0 0 1 pinseq=25 T 1540 1290 5 8 1 1 0 2 1 pinnumber=25 T 1596 1419 9 5 1 1 0 0 1 pinlabel=DGND T 1496 1099 5 10 0 1 0 0 1 pintype=pwr } P 3600 300 3900 300 1 0 1 { T 3796 299 5 10 0 0 0 0 1 pinseq=28 T 3636 329 5 8 1 1 0 0 1 pinnumber=28 T 3556 299 9 5 1 1 0 6 1 pinlabel=OUT2 T 3896 299 5 10 0 1 0 0 1 pintype=out } P 3600 600 3900 600 1 0 1 { T 3796 599 5 10 0 0 0 0 1 pinseq=4 T 3626 619 5 8 1 1 0 0 1 pinnumber=4 T 3566 599 9 5 1 1 0 6 1 pinlabel=OUT1 T 3896 599 5 10 0 1 0 0 1 pintype=out } P 3600 3600 3900 3600 1 0 1 { T 3796 3599 5 10 0 1 0 0 1 pinseq=21 T 3626 3639 5 8 1 1 0 0 1 pinnumber=21 T 3566 3599 9 5 1 1 0 6 1 pinlabel=DOUT T 3896 3599 5 10 0 1 0 0 1 pintype=out } P 3600 3300 3900 3300 1 0 1 { T 3596 3299 5 10 0 1 0 0 1 pinseq=23 T 3626 3329 5 8 1 1 0 0 1 pinnumber=23 T 3556 3299 9 5 1 1 0 6 1 pinlabel=SCLK T 3896 3299 5 10 0 1 0 0 1 pintype=in } P 3700 2000 3900 2000 1 0 1 { T 3896 1999 5 10 0 1 0 0 1 pinseq=16 T 3666 2039 5 8 1 1 0 0 1 pinnumber=16 T 3566 1989 9 5 1 1 0 6 1 pinlabel=DRDY T 3896 1999 5 10 0 1 0 0 1 pintype=out } P 3600 1000 3900 1000 1 0 1 { T 3896 999 5 10 0 0 0 0 1 pinseq=2 T 3626 1029 5 8 1 1 0 0 1 pinnumber=2 T 3566 999 9 5 1 1 0 6 1 pinlabel=D0 T 3896 999 5 10 0 1 0 0 1 pintype=out } P 1600 3100 1600 3400 1 0 1 { T 1596 3299 5 10 0 1 0 0 1 pinseq=26 T 1616 3269 5 8 1 1 0 0 1 pinnumber=26 T 1596 3029 9 5 1 1 0 2 1 pinlabel=DVDD T 1596 3399 5 10 0 1 0 0 1 pintype=pwr } P 3600 3900 3900 3900 1 0 1 { T 3596 3899 5 10 0 1 0 0 1 pinseq=22 T 3626 3929 5 8 1 1 0 0 1 pinnumber=22 T 3556 3899 9 5 1 1 0 6 1 pinlabel=DIN T 3896 3899 5 10 0 1 0 0 1 pintype=in } P 3700 4200 3900 4200 1 0 1 { T 3596 4199 5 10 0 1 0 0 1 pinseq=24 T 3656 4239 5 8 1 1 0 0 1 pinnumber=24 T 3556 4199 9 5 1 1 0 6 1 pinlabel=CS T 3896 4199 5 10 0 1 0 0 1 pintype=in } T 2100 2300 9 20 1 0 0 3 1 MAX1407 T 3500 4500 8 10 1 1 0 0 1 refdes=U? T 380 4440 5 10 0 0 0 0 1 footprint=SSOP28 V 3636 1999 40 6 5 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 3636 4199 40 6 5 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 800 1900 866 1900 1 10 0 0 -1 -1 P 2800 300 3100 300 1 0 0 { T 3000 300 5 10 0 0 0 6 1 pinseq=1 T 3135 170 5 8 1 1 0 6 1 pinnumber=1 T 3175 320 9 5 1 1 0 0 1 pinlabel=FB2 T 3105 300 5 10 0 1 0 6 1 pintype=in } P 2400 600 2700 600 1 0 0 { T 2600 600 5 10 0 0 0 6 1 pinseq=3 T 2635 470 5 8 1 1 0 6 1 pinnumber=3 T 2775 620 9 5 1 1 0 0 1 pinlabel=FB1 T 2705 600 5 10 0 1 0 6 1 pintype=in } P 2000 3400 2000 3700 1 0 1 { T 1996 3599 5 10 0 1 0 0 1 pinseq=19 T 2016 3469 5 8 1 1 0 0 1 pinnumber=19 T 1996 3329 9 5 1 1 0 2 1 pinlabel=ClkIn T 1996 3699 5 10 0 1 0 0 1 pintype=in } P 2300 3600 2300 3900 1 0 1 { T 2296 3799 5 10 0 1 0 0 1 pinseq=18 T 2316 3669 5 8 1 1 0 0 1 pinnumber=18 T 2296 3529 9 5 1 1 0 2 1 pinlabel=ClkOut T 2296 3899 5 10 0 1 0 0 1 pintype=out } P 2700 3800 2700 4100 1 0 1 { T 2696 3999 5 10 0 1 0 0 1 pinseq=17 T 2716 3969 5 8 1 1 0 0 1 pinnumber=17 T 2696 3729 9 5 1 1 0 2 1 pinlabel=Fout T 2696 4099 5 10 0 1 0 0 1 pintype=out } P 3700 1700 3900 1700 1 0 1 { T 3896 1699 5 10 0 1 0 0 1 pinseq=15 T 3666 1739 5 8 1 1 0 0 1 pinnumber=15 T 3566 1689 9 5 1 1 0 6 1 pinlabel=SHDN T 3896 1699 5 10 0 1 0 0 1 pintype=out } V 3636 1699 40 6 5 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 3700 1400 3900 1400 1 0 1 { T 3896 1399 5 10 0 1 0 0 1 pinseq=12 T 3666 1439 5 8 1 1 0 0 1 pinnumber=12 T 3566 1389 9 5 1 1 0 6 1 pinlabel=RESET T 3896 1399 5 10 0 1 0 0 1 pintype=out } V 3636 1399 40 6 5 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 3700 2300 3900 2300 1 0 1 { T 3896 2299 5 10 0 1 0 0 1 pinseq=20 T 3666 2339 5 8 1 1 0 0 1 pinnumber=20 T 3566 2289 9 5 1 1 0 6 1 pinlabel=INT T 3896 2299 5 10 0 1 0 0 1 pintype=out } V 3636 2299 40 6 5 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 3700 2600 3900 2600 1 0 1 { T 3896 2599 5 10 0 1 0 0 1 pinseq=10 T 3666 2639 5 8 1 1 0 0 1 pinnumber=10 T 3566 2589 9 5 1 1 0 6 1 pinlabel=WU1 T 3896 2599 5 10 0 1 0 0 1 pintype=out } V 3636 2599 40 6 5 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 3700 2900 3900 2900 1 0 1 { T 3896 2899 5 10 0 1 0 0 1 pinseq=11 T 3666 2939 5 8 1 1 0 0 1 pinnumber=11 T 3566 2889 9 5 1 1 0 6 1 pinlabel=WU2 T 3896 2899 5 10 0 1 0 0 1 pintype=out } V 3636 2899 40 6 5 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 300 1900 0 1900 1 0 1 { T 0 1900 5 10 0 1 0 0 1 pinseq=5 T 200 1930 5 8 1 1 0 6 1 pinnumber=5 T 415 1900 9 5 1 1 0 1 1 pinlabel=AIN0 T 0 1900 5 10 0 1 0 0 1 pintype=in } P 300 2500 0 2500 1 0 1 { T 0 2500 5 10 0 1 0 0 1 pinseq=14 T 200 2530 5 8 1 1 0 6 1 pinnumber=14 T 415 2500 9 5 1 1 0 1 1 pinlabel=AIN2 T 0 2500 5 10 0 1 0 0 1 pintype=in } P 300 2800 0 2800 1 0 1 { T 0 2800 5 10 0 1 0 0 1 pinseq=27 T 200 2830 5 8 1 1 0 6 1 pinnumber=27 T 415 2800 9 5 1 1 0 1 1 pinlabel=AIN3 T 0 2800 5 10 0 1 0 0 1 pintype=in } P 800 1900 800 1600 1 0 1 { T 800 1600 5 10 0 0 0 0 1 pinseq=6 T 825 1810 5 8 1 1 0 2 1 pinnumber=6 T 905 1920 9 5 1 1 0 0 1 pinlabel=REF T 800 1600 5 10 0 1 0 0 1 pintype=out } L 300 2900 300 1800 3 0 0 0 -1 -1 T 1300 4200 5 12 0 0 0 3 1 device=MAX1407 T 380 4640 5 10 0 0 0 0 1 numslots=0 T 380 4840 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX1407-MAX1414.pdf T 380 5040 5 10 0 0 0 0 1 description=16-bit multichannel data acquisition system geda-gaf-1.8.2/symbols/maxim/max1005-2.sym0000664000175000017500000000521412204104272014663 00000000000000v 20040111 1 P 300 3900 0 3900 1 0 1 { T 200 3950 5 8 1 1 0 6 1 pinnumber=3 T 200 3850 5 8 0 1 0 8 1 pinseq=3 T 350 3900 9 8 1 1 0 0 1 pinlabel=RXEN T 350 3900 5 8 0 1 0 2 1 pintype=in } P 300 3500 0 3500 1 0 1 { T 200 3550 5 8 1 1 0 6 1 pinnumber=6 T 200 3450 5 8 0 1 0 8 1 pinseq=6 T 350 3500 9 8 1 1 0 0 1 pinlabel=TXEN T 350 3500 5 8 0 1 0 2 1 pintype=in } P 300 3100 0 3100 1 0 1 { T 200 3150 5 8 1 1 0 6 1 pinnumber=9 T 200 3050 5 8 0 1 0 8 1 pinseq=9 T 350 3100 9 8 1 1 0 0 1 pinlabel=D6 T 350 3100 5 8 0 1 0 2 1 pintype=in } P 300 2700 0 2700 1 0 1 { T 200 2750 5 8 1 1 0 6 1 pinnumber=10 T 200 2650 5 8 0 1 0 8 1 pinseq=10 T 350 2700 9 8 1 1 0 0 1 pinlabel=D5 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 300 2300 0 2300 1 0 1 { T 200 2350 5 8 1 1 0 6 1 pinnumber=11 T 200 2250 5 8 0 1 0 8 1 pinseq=11 T 350 2300 9 8 1 1 0 0 1 pinlabel=D4 T 350 2300 5 8 0 1 0 2 1 pintype=io } P 300 1900 0 1900 1 0 1 { T 200 1950 5 8 1 1 0 6 1 pinnumber=12 T 200 1850 5 8 0 1 0 8 1 pinseq=12 T 350 1900 9 8 1 1 0 0 1 pinlabel=D3 T 350 1900 5 8 0 1 0 2 1 pintype=io } P 2000 2300 1700 2300 1 0 0 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=4 T 1800 2250 5 8 0 1 0 2 1 pinseq=4 T 1650 2300 9 8 1 1 0 6 1 pinlabel=AIO+ T 1650 2300 5 8 0 1 0 8 1 pintype=pas } P 2000 1900 1700 1900 1 0 0 { T 1800 1950 5 8 1 1 0 0 1 pinnumber=5 T 1800 1850 5 8 0 1 0 2 1 pinseq=5 T 1650 1900 9 8 1 1 0 6 1 pinlabel=AIO- T 1650 1900 5 8 0 1 0 8 1 pintype=pas } P 300 1500 0 1500 1 0 1 { T 200 1550 5 8 1 1 0 6 1 pinnumber=13 T 200 1450 5 8 0 1 0 8 1 pinseq=13 T 350 1500 9 8 1 1 0 0 1 pinlabel=D2 T 350 1500 5 8 0 1 0 2 1 pintype=io } P 300 1100 0 1100 1 0 1 { T 200 1150 5 8 1 1 0 6 1 pinnumber=14 T 200 1050 5 8 0 1 0 8 1 pinseq=14 T 350 1100 9 8 1 1 0 0 1 pinlabel=D1 T 350 1100 5 8 0 1 0 2 1 pintype=io } P 300 700 0 700 1 0 1 { T 200 750 5 8 1 1 0 6 1 pinnumber=15 T 200 650 5 8 0 1 0 8 1 pinseq=15 T 350 700 9 8 1 1 0 0 1 pinlabel=D0 T 350 700 5 8 0 1 0 2 1 pintype=io } P 300 300 0 300 1 0 1 { T 200 350 5 8 1 1 0 6 1 pinnumber=16 T 200 250 5 8 0 1 0 8 1 pinseq=16 T 400 300 9 8 1 1 0 0 1 pinlabel=CLK T 400 300 5 8 0 1 0 2 1 pintype=clk } B 300 0 1400 4200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4450 5 10 0 0 0 0 1 device=MAX1005 L 300 375 400 300 3 0 0 0 -1 -1 L 400 300 300 225 3 0 0 0 -1 -1 T 1700 4300 8 10 1 1 0 6 1 refdes=U? T 300 4850 5 10 0 0 0 0 1 footprint=QSOP16 T 300 5050 5 10 0 0 0 0 1 description=IF undersampler T 300 4650 5 10 0 0 0 0 1 numslots=0 T 300 5650 5 10 0 0 0 0 1 net=VCCD:1 T 300 5850 5 10 0 0 0 0 1 net=DGND:2 T 300 5250 5 10 0 0 0 0 1 net=AGND:7 T 300 5450 5 10 0 0 0 0 1 net=VCCA:8 T 300 4250 9 10 1 0 0 0 1 MAX1005 T 300 6050 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX1005.pdf geda-gaf-1.8.2/symbols/maxim/max378-1.sym0000664000175000017500000000542712204104272014624 00000000000000v 20041228 1 P 300 4600 0 4600 1 0 1 { T 200 4650 5 8 1 1 0 6 1 pinnumber=1 T 200 4550 5 8 0 1 0 8 1 pinseq=1 T 350 4600 9 8 1 1 0 0 1 pinlabel=A0 T 350 4600 5 8 0 1 0 2 1 pintype=in } P 300 4200 0 4200 1 0 1 { T 200 4250 5 8 1 1 0 6 1 pinnumber=16 T 200 4150 5 8 0 1 0 8 1 pinseq=16 T 350 4200 9 8 1 1 0 0 1 pinlabel=A1 T 350 4200 5 8 0 1 0 2 1 pintype=in } P 300 3800 0 3800 1 0 1 { T 200 3850 5 8 1 1 0 6 1 pinnumber=15 T 200 3750 5 8 0 1 0 8 1 pinseq=15 T 350 3800 9 8 1 1 0 0 1 pinlabel=A2 T 350 3800 5 8 0 1 0 2 1 pintype=in } P 300 3000 0 3000 1 0 1 { T 200 3050 5 8 1 1 0 6 1 pinnumber=4 T 200 2950 5 8 0 1 0 8 1 pinseq=4 T 350 3000 9 8 1 1 0 0 1 pinlabel=IN1 T 350 3000 5 8 0 1 0 2 1 pintype=pas } P 300 2600 0 2600 1 0 1 { T 200 2650 5 8 1 1 0 6 1 pinnumber=5 T 200 2550 5 8 0 1 0 8 1 pinseq=5 T 350 2600 9 8 1 1 0 0 1 pinlabel=IN2 T 350 2600 5 8 0 1 0 2 1 pintype=pas } P 300 2200 0 2200 1 0 1 { T 200 2250 5 8 1 1 0 6 1 pinnumber=6 T 200 2150 5 8 0 1 0 8 1 pinseq=6 T 350 2200 9 8 1 1 0 0 1 pinlabel=IN3 T 350 2200 5 8 0 1 0 2 1 pintype=pas } P 300 1800 0 1800 1 0 1 { T 200 1850 5 8 1 1 0 6 1 pinnumber=7 T 200 1750 5 8 0 1 0 8 1 pinseq=7 T 350 1800 9 8 1 1 0 0 1 pinlabel=IN4 T 350 1800 5 8 0 1 0 2 1 pintype=pas } P 300 1400 0 1400 1 0 1 { T 200 1450 5 8 1 1 0 6 1 pinnumber=12 T 200 1350 5 8 0 1 0 8 1 pinseq=12 T 350 1400 9 8 1 1 0 0 1 pinlabel=IN5 T 350 1400 5 8 0 1 0 2 1 pintype=pas } P 300 1000 0 1000 1 0 1 { T 200 1050 5 8 1 1 0 6 1 pinnumber=11 T 200 950 5 8 0 1 0 8 1 pinseq=11 T 350 1000 9 8 1 1 0 0 1 pinlabel=IN6 T 350 1000 5 8 0 1 0 2 1 pintype=pas } P 300 600 0 600 1 0 1 { T 200 650 5 8 1 1 0 6 1 pinnumber=10 T 200 550 5 8 0 1 0 8 1 pinseq=10 T 350 600 9 8 1 1 0 0 1 pinlabel=IN7 T 350 600 5 8 0 1 0 2 1 pintype=pas } P 2000 2600 2300 2600 1 0 1 { T 2100 2650 5 8 1 1 0 0 1 pinnumber=8 T 2100 2550 5 8 0 1 0 2 1 pinseq=8 T 1950 2600 9 8 1 1 0 6 1 pinlabel=OUT T 1950 2600 5 8 0 1 0 8 1 pintype=pas } B 300 0 1700 4900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 5150 5 10 0 0 0 0 1 device=MAX378 P 300 200 0 200 1 0 1 { T 200 250 5 8 1 1 0 6 1 pinnumber=9 T 200 150 5 8 0 1 0 8 1 pinseq=9 T 350 200 9 8 1 1 0 0 1 pinlabel=IN8 T 350 200 5 8 0 1 0 2 1 pintype=pas } T 2000 5000 8 10 1 1 0 6 1 refdes=U? T 300 5550 5 10 0 0 0 0 1 footprint=DIP16 T 300 5750 5 10 0 0 0 0 1 description=high-voltage, fault-protrected analog multiplexer T 300 5350 5 10 0 0 0 0 1 numslots=0 T 300 5950 5 10 0 0 0 0 1 net=GND:14 T 300 6350 5 10 0 0 0 0 1 net=V+:13 T 300 6150 5 10 0 0 0 0 1 net=V-:3 T 300 6550 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX378-MAX379.pdf T 300 4950 9 10 1 0 0 0 1 MAX378 T 300 6750 5 10 0 0 0 0 1 symversion=1.0 P 300 3400 0 3400 1 0 1 { T 200 3450 5 8 1 1 0 6 1 pinnumber=2 T 200 3350 5 8 0 1 0 8 1 pinseq=2 T 350 3400 9 8 1 1 0 0 1 pinlabel=EN T 350 3400 5 8 0 1 0 2 1 pintype=in } geda-gaf-1.8.2/symbols/maxim/max12528-1.sym0000664000175000017500000004055412204104272014764 00000000000000v 20050313 1 P 100 11300 400 11300 1 0 0 { T 325 11350 5 10 1 1 0 6 1 pinnumber=2 T 100 11300 5 10 0 1 0 0 1 pinseq=2 T 300 11350 5 10 0 1 0 0 1 pintype=in T 500 11350 5 10 1 1 0 0 1 pinlabel=INAP } B 400 400 4900 11800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 5600 7000 5300 7000 1 0 0 { T 5500 7000 5 10 0 1 0 0 1 pintype=out T 5350 7025 5 10 1 1 0 0 1 pinnumber=41 T 5500 7000 5 10 0 1 0 0 1 pinseq=41 T 4700 7000 5 10 1 1 0 1 1 pinlabel=DB11 } P 5600 6800 5300 6800 1 0 0 { T 5500 6800 5 10 0 1 0 0 1 pintype=out T 5350 6825 5 10 1 1 0 0 1 pinnumber=40 T 5500 6800 5 10 0 1 0 0 1 pinseq=40 T 4700 6800 5 10 1 1 0 1 1 pinlabel=DB10 } P 5600 6600 5300 6600 1 0 0 { T 5500 6600 5 10 0 1 0 0 1 pintype=out T 5350 6625 5 10 1 1 0 0 1 pinnumber=39 T 5500 6600 5 10 0 1 0 0 1 pinseq=39 T 4700 6600 5 10 1 1 0 1 1 pinlabel=DB9 } P 5600 6400 5300 6400 1 0 0 { T 5500 6400 5 10 0 1 0 0 1 pintype=out T 5350 6425 5 10 1 1 0 0 1 pinnumber=38 T 5500 6400 5 10 0 1 0 0 1 pinseq=38 T 4700 6400 5 10 1 1 0 1 1 pinlabel=DB8 } P 5600 6200 5300 6200 1 0 0 { T 5500 6200 5 10 0 1 0 0 1 pintype=out T 5350 6225 5 10 1 1 0 0 1 pinnumber=37 T 5500 6200 5 10 0 1 0 0 1 pinseq=37 T 4700 6200 5 10 1 1 0 1 1 pinlabel=DB7 } P 5600 6000 5300 6000 1 0 0 { T 5500 6000 5 10 0 1 0 0 1 pintype=out T 5350 6025 5 10 1 1 0 0 1 pinnumber=36 T 5500 6000 5 10 0 1 0 0 1 pinseq=36 T 4700 6000 5 10 1 1 0 1 1 pinlabel=DB6 } P 5600 5800 5300 5800 1 0 0 { T 5500 5800 5 10 0 1 0 0 1 pintype=out T 5350 5825 5 10 1 1 0 0 1 pinnumber=35 T 5500 5800 5 10 0 1 0 0 1 pinseq=35 T 4700 5800 5 10 1 1 0 1 1 pinlabel=DB5 } P 5600 5600 5300 5600 1 0 0 { T 5500 5600 5 10 0 1 0 0 1 pintype=out T 5350 5625 5 10 1 1 0 0 1 pinnumber=34 T 5500 5600 5 10 0 1 0 0 1 pinseq=34 T 4700 5600 5 10 1 1 0 1 1 pinlabel=DB4 } P 5600 5400 5300 5400 1 0 0 { T 5500 5400 5 10 0 1 0 0 1 pintype=out T 5350 5425 5 10 1 1 0 0 1 pinnumber=33 T 5500 5400 5 10 0 1 0 0 1 pinseq=33 T 4700 5400 5 10 1 1 0 1 1 pinlabel=DB3 } P 5600 5200 5300 5200 1 0 0 { T 5500 5200 5 10 0 1 0 0 1 pintype=out T 5350 5225 5 10 1 1 0 0 1 pinnumber=32 T 5500 5200 5 10 0 1 0 0 1 pinseq=32 T 4700 5200 5 10 1 1 0 1 1 pinlabel=DB2 } P 5600 5000 5300 5000 1 0 0 { T 5500 5000 5 10 0 1 0 0 1 pintype=out T 5350 5025 5 10 1 1 0 0 1 pinnumber=31 T 5500 5000 5 10 0 1 0 0 1 pinseq=31 T 4700 5000 5 10 1 1 0 1 1 pinlabel=DB1 } P 5600 4800 5300 4800 1 0 0 { T 5500 4800 5 10 0 1 0 0 1 pintype=out T 5350 4825 5 10 1 1 0 0 1 pinnumber=30 T 5500 4800 5 10 0 1 0 0 1 pinseq=30 T 4700 4800 5 10 1 1 0 1 1 pinlabel=DB0 } P 5600 4300 5300 4300 1 0 0 { T 5500 4300 5 10 0 1 0 0 1 pintype=out T 5350 4325 5 10 1 1 0 0 1 pinnumber=29 T 5500 4300 5 10 0 1 0 0 1 pinseq=29 T 4700 4300 5 10 1 1 0 1 1 pinlabel=NC1 } P 5600 4100 5300 4100 1 0 0 { T 5500 4100 5 10 0 1 0 0 1 pintype=out T 5350 4125 5 10 1 1 0 0 1 pinnumber=28 T 5500 4100 5 10 0 1 0 0 1 pinseq=28 T 4700 4100 5 10 1 1 0 1 1 pinlabel=NC0 } P 5600 7200 5300 7200 1 0 0 { T 5500 7200 5 10 0 1 0 0 1 pintype=out T 5350 7225 5 10 1 1 0 0 1 pinnumber=42 T 5500 7200 5 10 0 1 0 0 1 pinseq=42 T 4700 7200 5 10 1 1 0 1 1 pinlabel=DORB } P 5600 11400 5300 11400 1 0 0 { T 5500 11400 5 10 0 1 0 0 1 pintype=out T 5350 11425 5 10 1 1 0 0 1 pinnumber=58 T 5500 11400 5 10 0 1 0 0 1 pinseq=58 T 4700 11400 5 10 1 1 0 1 1 pinlabel=DA11 } P 5600 11200 5300 11200 1 0 0 { T 5500 11200 5 10 0 1 0 0 1 pintype=out T 5350 11225 5 10 1 1 0 0 1 pinnumber=57 T 5500 11200 5 10 0 1 0 0 1 pinseq=57 T 4700 11200 5 10 1 1 0 1 1 pinlabel=DA10 } P 5600 11000 5300 11000 1 0 0 { T 5500 11000 5 10 0 1 0 0 1 pintype=out T 5350 11025 5 10 1 1 0 0 1 pinnumber=56 T 5500 11000 5 10 0 1 0 0 1 pinseq=56 T 4700 11000 5 10 1 1 0 1 1 pinlabel=DA9 } P 5600 10800 5300 10800 1 0 0 { T 5500 10800 5 10 0 1 0 0 1 pintype=out T 5350 10825 5 10 1 1 0 0 1 pinnumber=55 T 5500 10800 5 10 0 1 0 0 1 pinseq=55 T 4700 10800 5 10 1 1 0 1 1 pinlabel=DA8 } P 5600 10600 5300 10600 1 0 0 { T 5500 10600 5 10 0 1 0 0 1 pintype=out T 5350 10625 5 10 1 1 0 0 1 pinnumber=54 T 5500 10600 5 10 0 1 0 0 1 pinseq=54 T 4700 10600 5 10 1 1 0 1 1 pinlabel=DA7 } P 5600 10400 5300 10400 1 0 0 { T 5500 10400 5 10 0 1 0 0 1 pintype=out T 5350 10425 5 10 1 1 0 0 1 pinnumber=53 T 5500 10400 5 10 0 1 0 0 1 pinseq=53 T 4700 10400 5 10 1 1 0 1 1 pinlabel=DA6 } P 5600 10200 5300 10200 1 0 0 { T 5500 10200 5 10 0 1 0 0 1 pintype=out T 5350 10225 5 10 1 1 0 0 1 pinnumber=52 T 5500 10200 5 10 0 1 0 0 1 pinseq=52 T 4700 10200 5 10 1 1 0 1 1 pinlabel=DA5 } P 5600 10000 5300 10000 1 0 0 { T 5500 10000 5 10 0 1 0 0 1 pintype=out T 5350 10025 5 10 1 1 0 0 1 pinnumber=51 T 5500 10000 5 10 0 1 0 0 1 pinseq=51 T 4700 10000 5 10 1 1 0 1 1 pinlabel=DA4 } P 5600 9800 5300 9800 1 0 0 { T 5500 9800 5 10 0 1 0 0 1 pintype=out T 5350 9825 5 10 1 1 0 0 1 pinnumber=50 T 5500 9800 5 10 0 1 0 0 1 pinseq=50 T 4700 9800 5 10 1 1 0 1 1 pinlabel=DA3 } P 5600 9600 5300 9600 1 0 0 { T 5500 9600 5 10 0 1 0 0 1 pintype=out T 5350 9625 5 10 1 1 0 0 1 pinnumber=49 T 5500 9600 5 10 0 1 0 0 1 pinseq=49 T 4700 9600 5 10 1 1 0 1 1 pinlabel=DA2 } P 5600 9400 5300 9400 1 0 0 { T 5500 9400 5 10 0 1 0 0 1 pintype=out T 5350 9425 5 10 1 1 0 0 1 pinnumber=48 T 5500 9400 5 10 0 1 0 0 1 pinseq=48 T 4700 9400 5 10 1 1 0 1 1 pinlabel=DA1 } P 5600 9200 5300 9200 1 0 0 { T 5500 9200 5 10 0 1 0 0 1 pintype=out T 5350 9225 5 10 1 1 0 0 1 pinnumber=47 T 5500 9200 5 10 0 1 0 0 1 pinseq=47 T 4700 9200 5 10 1 1 0 1 1 pinlabel=DA0 } P 5600 8700 5300 8700 1 0 0 { T 5500 8700 5 10 0 1 0 0 1 pintype=out T 5350 8725 5 10 1 1 0 0 1 pinnumber=46 T 5500 8700 5 10 0 1 0 0 1 pinseq=46 T 4700 8700 5 10 1 1 0 1 1 pinlabel=NC3 } P 5600 8500 5300 8500 1 0 0 { T 5500 8500 5 10 0 1 0 0 1 pintype=out T 5350 8525 5 10 1 1 0 0 1 pinnumber=45 T 5500 8500 5 10 0 1 0 0 1 pinseq=45 T 4700 8500 5 10 1 1 0 1 1 pinlabel=NC2 } P 5600 11600 5300 11600 1 0 0 { T 5500 11600 5 10 0 1 0 0 1 pintype=out T 5350 11625 5 10 1 1 0 0 1 pinnumber=59 T 5500 11600 5 10 0 1 0 0 1 pinseq=59 T 4700 11600 5 10 1 1 0 1 1 pinlabel=DORA } P 5600 8000 5300 8000 1 0 0 { T 5500 8000 5 10 0 1 0 0 1 pintype=out T 5350 8025 5 10 1 1 0 0 1 pinnumber=44 T 5500 8000 5 10 0 1 0 0 1 pinseq=44 T 4700 8000 5 10 1 1 0 1 1 pinlabel=DAV } L 4300 11400 4300 9000 3 100 0 0 -1 -1 L 4600 11400 4400 11400 3 0 0 0 -1 -1 L 4300 11300 4400 11400 3 0 0 0 -1 -1 L 3700 10100 3900 10300 3 0 0 0 -1 -1 L 4600 11200 4400 11200 3 0 0 0 -1 -1 L 4300 11100 4400 11200 3 0 0 0 -1 -1 L 4600 11000 4400 11000 3 0 0 0 -1 -1 L 4300 10900 4400 11000 3 0 0 0 -1 -1 L 4600 10800 4400 10800 3 0 0 0 -1 -1 L 4300 10700 4400 10800 3 0 0 0 -1 -1 L 4600 10600 4400 10600 3 0 0 0 -1 -1 L 4300 10500 4400 10600 3 0 0 0 -1 -1 L 4600 10400 4400 10400 3 0 0 0 -1 -1 L 4300 10300 4400 10400 3 0 0 0 -1 -1 L 4600 10200 4400 10200 3 0 0 0 -1 -1 L 4300 10100 4400 10200 3 0 0 0 -1 -1 L 4600 10000 4400 10000 3 0 0 0 -1 -1 L 4300 9900 4400 10000 3 0 0 0 -1 -1 L 4600 9800 4400 9800 3 0 0 0 -1 -1 L 4300 9700 4400 9800 3 0 0 0 -1 -1 L 4600 9600 4400 9600 3 0 0 0 -1 -1 L 4300 9500 4400 9600 3 0 0 0 -1 -1 L 4600 9400 4400 9400 3 0 0 0 -1 -1 L 4300 9300 4400 9400 3 0 0 0 -1 -1 L 4600 9200 4400 9200 3 0 0 0 -1 -1 L 4300 9100 4400 9200 3 0 0 0 -1 -1 L 3100 10200 4300 10200 3 100 0 0 -1 -1 T 3600 10300 9 10 1 0 0 0 1 12 L 4300 7000 4300 4600 3 100 0 0 -1 -1 L 4600 7000 4400 7000 3 0 0 0 -1 -1 L 4300 6900 4400 7000 3 0 0 0 -1 -1 L 3700 5700 3900 5900 3 0 0 0 -1 -1 L 4600 6800 4400 6800 3 0 0 0 -1 -1 L 4300 6700 4400 6800 3 0 0 0 -1 -1 L 4600 6600 4400 6600 3 0 0 0 -1 -1 L 4300 6500 4400 6600 3 0 0 0 -1 -1 L 4600 6400 4400 6400 3 0 0 0 -1 -1 L 4300 6300 4400 6400 3 0 0 0 -1 -1 L 4600 6200 4400 6200 3 0 0 0 -1 -1 L 4300 6100 4400 6200 3 0 0 0 -1 -1 L 4600 6000 4400 6000 3 0 0 0 -1 -1 L 4300 5900 4400 6000 3 0 0 0 -1 -1 L 4600 5800 4400 5800 3 0 0 0 -1 -1 L 4300 5700 4400 5800 3 0 0 0 -1 -1 L 4600 5600 4400 5600 3 0 0 0 -1 -1 L 4300 5500 4400 5600 3 0 0 0 -1 -1 L 4600 5400 4400 5400 3 0 0 0 -1 -1 L 4300 5300 4400 5400 3 0 0 0 -1 -1 L 4600 5200 4400 5200 3 0 0 0 -1 -1 L 4300 5100 4400 5200 3 0 0 0 -1 -1 L 4600 5000 4400 5000 3 0 0 0 -1 -1 L 4300 4900 4400 5000 3 0 0 0 -1 -1 L 4600 4800 4400 4800 3 0 0 0 -1 -1 L 4300 4700 4400 4800 3 0 0 0 -1 -1 L 3100 5800 4300 5800 3 100 0 0 -1 -1 T 3600 5900 9 10 1 0 0 0 1 12 L 1100 10200 1700 10800 3 0 0 0 -1 -1 L 1100 10200 1700 9600 3 0 0 0 -1 -1 L 3100 10800 1700 10800 3 0 0 0 -1 -1 L 3100 9600 1700 9600 3 0 0 0 -1 -1 L 3100 9600 3100 10800 3 0 0 0 -1 -1 L 1500 9800 700 9800 3 0 0 0 -1 -1 L 700 9800 700 9100 3 0 0 0 -1 -1 L 1500 10600 700 10600 3 0 0 0 -1 -1 L 700 10600 700 11300 3 0 0 0 -1 -1 L 700 11300 400 11300 3 0 0 0 -1 -1 P 100 9100 400 9100 1 0 0 { T 325 9150 5 10 1 1 0 6 1 pinnumber=3 T 100 9100 5 10 0 1 0 0 1 pinseq=3 T 300 9150 5 10 0 1 0 0 1 pintype=in T 500 9050 5 10 1 1 0 2 1 pinlabel=INAN } L 700 9100 400 9100 3 0 0 0 -1 -1 P 100 6900 400 6900 1 0 0 { T 325 6950 5 10 1 1 0 6 1 pinnumber=16 T 100 6900 5 10 0 1 0 0 1 pinseq=16 T 300 6950 5 10 0 1 0 0 1 pintype=in T 500 6950 5 10 1 1 0 0 1 pinlabel=INBP } L 1100 5800 1700 6400 3 0 0 0 -1 -1 L 1100 5800 1700 5200 3 0 0 0 -1 -1 L 3100 6400 1700 6400 3 0 0 0 -1 -1 L 3100 5200 1700 5200 3 0 0 0 -1 -1 L 3100 5200 3100 6400 3 0 0 0 -1 -1 L 1500 5400 700 5400 3 0 0 0 -1 -1 L 700 5400 700 4700 3 0 0 0 -1 -1 L 1500 6200 700 6200 3 0 0 0 -1 -1 L 700 6200 700 6900 3 0 0 0 -1 -1 L 700 6900 400 6900 3 0 0 0 -1 -1 P 100 4700 400 4700 1 0 0 { T 325 4750 5 10 1 1 0 6 1 pinnumber=15 T 100 4700 5 10 0 1 0 0 1 pinseq=15 T 300 4750 5 10 0 1 0 0 1 pintype=in T 500 4650 5 10 1 1 0 2 1 pinlabel=INBN } L 700 4700 400 4700 3 0 0 0 -1 -1 P 100 4200 400 4200 1 0 0 { T 325 4250 5 10 1 1 0 6 1 pinnumber=11 T 100 4200 5 10 0 1 0 0 1 pinseq=11 T 300 4250 5 10 0 1 0 0 1 pintype=in T 500 4200 5 10 1 1 0 1 1 pinlabel=REFPB } P 100 3100 400 3100 1 0 0 { T 325 3150 5 10 1 1 0 6 1 pinnumber=10 T 100 3100 5 10 0 1 0 0 1 pinseq=10 T 300 3150 5 10 0 1 0 0 1 pintype=in T 500 3100 5 10 1 1 0 1 1 pinlabel=REFNB } P 100 10200 400 10200 1 0 0 { T 325 10250 5 10 1 1 0 6 1 pinnumber=6 T 100 10200 5 10 0 1 0 0 1 pinseq=6 T 300 10250 5 10 0 1 0 0 1 pintype=in T 500 10200 5 10 1 1 0 1 1 pinlabel=COMA } P 100 5800 400 5800 1 0 0 { T 325 5850 5 10 1 1 0 6 1 pinnumber=12 T 100 5800 5 10 0 1 0 0 1 pinseq=12 T 300 5850 5 10 0 1 0 0 1 pintype=in T 500 5800 5 10 1 1 0 1 1 pinlabel=COMB } P 100 8600 400 8600 1 0 0 { T 325 8650 5 10 1 1 0 6 1 pinnumber=7 T 100 8600 5 10 0 1 0 0 1 pinseq=7 T 300 8650 5 10 0 1 0 0 1 pintype=in T 500 8600 5 10 1 1 0 1 1 pinlabel=REFPA } P 100 7500 400 7500 1 0 0 { T 325 7550 5 10 1 1 0 6 1 pinnumber=8 T 100 7500 5 10 0 1 0 0 1 pinseq=8 T 300 7550 5 10 0 1 0 0 1 pintype=in T 500 7500 5 10 1 1 0 1 1 pinlabel=REFNA } P 100 2300 400 2300 1 0 0 { T 325 2350 5 10 1 1 0 6 1 pinnumber=67 T 100 2300 5 10 0 1 0 0 1 pinseq=67 T 300 2350 5 10 0 1 0 0 1 pintype=in T 500 2300 5 10 1 1 0 1 1 pinlabel=REFOUT } P 100 1900 400 1900 1 0 0 { T 325 1950 5 10 1 1 0 6 1 pinnumber=68 T 100 1900 5 10 0 1 0 0 1 pinseq=68 T 300 1950 5 10 0 1 0 0 1 pintype=in T 500 1900 5 10 1 1 0 1 1 pinlabel=REFIN } P 100 1200 400 1200 1 0 0 { T 325 1250 5 10 1 1 0 6 1 pinnumber=20 T 100 1200 5 10 0 1 0 0 1 pinseq=20 T 300 1250 5 10 0 1 0 0 1 pintype=in T 500 1200 5 10 1 1 0 1 1 pinlabel=CLKP } P 100 800 400 800 1 0 0 { T 325 850 5 10 1 1 0 6 1 pinnumber=19 T 100 800 5 10 0 1 0 0 1 pinseq=19 T 300 850 5 10 0 1 0 0 1 pintype=in T 500 800 5 10 1 1 0 1 1 pinlabel=CLKN } P 5600 2800 5300 2800 1 0 0 { T 5500 2800 5 10 0 1 0 0 1 pintype=in T 5350 2825 5 10 1 1 0 0 1 pinnumber=18 T 5500 2800 5 10 0 1 0 0 1 pinseq=18 T 4500 2800 5 10 1 1 0 1 1 pinlabel=DIFFCLK } P 5600 2600 5300 2600 1 0 0 { T 5500 2600 5 10 0 1 0 0 1 pintype=in T 5350 2625 5 10 1 1 0 0 1 pinnumber=64 T 5500 2600 5 10 0 1 0 0 1 pinseq=64 T 4500 2600 5 10 1 1 0 1 1 pinlabel=G/TB } P 5600 2400 5300 2400 1 0 0 { T 5500 2400 5 10 0 1 0 0 1 pintype=in T 5350 2425 5 10 1 1 0 0 1 pinnumber=21 T 5500 2400 5 10 0 1 0 0 1 pinseq=21 T 4500 2400 5 10 1 1 0 1 1 pinlabel=DIV2 } P 5600 2200 5300 2200 1 0 0 { T 5500 2200 5 10 0 1 0 0 1 pintype=in T 5350 2225 5 10 1 1 0 0 1 pinnumber=22 T 5500 2200 5 10 0 1 0 0 1 pinseq=22 T 4500 2200 5 10 1 1 0 1 1 pinlabel=DIV4 } P 5600 2000 5300 2000 1 0 0 { T 5500 2000 5 10 0 1 0 0 1 pintype=in T 5350 2025 5 10 1 1 0 0 1 pinnumber=66 T 5500 2000 5 10 0 1 0 0 1 pinseq=66 T 4500 2000 5 10 1 1 0 1 1 pinlabel=SHREF } P 5600 1800 5300 1800 1 0 0 { T 5500 1800 5 10 0 1 0 0 1 pintype=in T 5350 1825 5 10 1 1 0 0 1 pinnumber=65 T 5500 1800 5 10 0 1 0 0 1 pinseq=65 T 4500 1800 5 10 1 1 0 1 1 pinlabel=PD } P 1300 12500 1300 12200 1 0 0 { T 1275 12300 5 10 1 1 90 0 1 pinnumber=23 T 1300 12500 5 10 0 1 0 0 1 pinseq=23 T 1300 12500 5 10 0 1 0 0 1 pintype=pwr T 1300 12100 5 10 1 1 90 7 1 pinlabel=VDD } P 1500 12500 1500 12200 1 0 0 { T 1475 12300 5 10 1 1 90 0 1 pinnumber=24 T 1500 12500 5 10 0 1 0 0 1 pinseq=24 T 1500 12500 5 10 0 1 0 0 1 pintype=pwr T 1500 12100 5 10 1 1 90 7 1 pinlabel=VDD } P 1700 12500 1700 12200 1 0 0 { T 1675 12300 5 10 1 1 90 0 1 pinnumber=25 T 1700 12500 5 10 0 1 0 0 1 pinseq=25 T 1700 12500 5 10 0 1 0 0 1 pintype=pwr T 1700 12100 5 10 1 1 90 7 1 pinlabel=VDD } P 1900 12500 1900 12200 1 0 0 { T 1875 12300 5 10 1 1 90 0 1 pinnumber=26 T 1900 12500 5 10 0 1 0 0 1 pinseq=26 T 1900 12500 5 10 0 1 0 0 1 pintype=pwr T 1900 12100 5 10 1 1 90 7 1 pinlabel=VDD } P 2100 12500 2100 12200 1 0 0 { T 2075 12300 5 10 1 1 90 0 1 pinnumber=61 T 2100 12500 5 10 0 1 0 0 1 pinseq=61 T 2100 12500 5 10 0 1 0 0 1 pintype=pwr T 2100 12100 5 10 1 1 90 7 1 pinlabel=VDD } P 2300 12500 2300 12200 1 0 0 { T 2275 12300 5 10 1 1 90 0 1 pinnumber=62 T 2300 12500 5 10 0 1 0 0 1 pinseq=62 T 2300 12500 5 10 0 1 0 0 1 pintype=pwr T 2300 12100 5 10 1 1 90 7 1 pinlabel=VDD } P 2500 12500 2500 12200 1 0 0 { T 2475 12300 5 10 1 1 90 0 1 pinnumber=63 T 2500 12500 5 10 0 1 0 0 1 pinseq=63 T 2500 12500 5 10 0 1 0 0 1 pintype=pwr T 2500 12100 5 10 1 1 90 7 1 pinlabel=VDD } P 3500 12500 3500 12200 1 0 0 { T 3475 12300 5 10 1 1 90 0 1 pinnumber=27 T 3500 12500 5 10 0 1 0 0 1 pinseq=27 T 3500 12500 5 10 0 1 0 0 1 pintype=pwr T 3500 12100 5 10 1 1 90 7 1 pinlabel=OVDD } P 3700 12500 3700 12200 1 0 0 { T 3675 12300 5 10 1 1 90 0 1 pinnumber=43 T 3700 12500 5 10 0 1 0 0 1 pinseq=43 T 3700 12500 5 10 0 1 0 0 1 pintype=pwr T 3700 12100 5 10 1 1 90 7 1 pinlabel=OVDD } P 3900 12500 3900 12200 1 0 0 { T 3875 12300 5 10 1 1 90 0 1 pinnumber=60 T 3900 12500 5 10 0 1 0 0 1 pinseq=60 T 3900 12500 5 10 0 1 0 0 1 pintype=pwr T 3900 12100 5 10 1 1 90 7 1 pinlabel=OVDD } P 2100 100 2100 400 1 0 0 { T 2075 300 5 10 1 1 90 6 1 pinnumber=1 T 2100 100 5 10 0 1 180 0 1 pinseq=1 T 2100 100 5 10 0 1 180 0 1 pintype=pwr T 2100 500 5 10 1 1 90 1 1 pinlabel=GND } P 2300 100 2300 400 1 0 0 { T 2275 300 5 10 1 1 90 6 1 pinnumber=4 T 2300 100 5 10 0 1 180 0 1 pinseq=4 T 2300 100 5 10 0 1 180 0 1 pintype=pwr T 2300 500 5 10 1 1 90 1 1 pinlabel=GND } P 2500 100 2500 400 1 0 0 { T 2475 300 5 10 1 1 90 6 1 pinnumber=5 T 2500 100 5 10 0 1 180 0 1 pinseq=5 T 2500 100 5 10 0 1 180 0 1 pintype=pwr T 2500 500 5 10 1 1 90 1 1 pinlabel=GND } P 2700 100 2700 400 1 0 0 { T 2675 300 5 10 1 1 90 6 1 pinnumber=9 T 2700 100 5 10 0 1 180 0 1 pinseq=9 T 2700 100 5 10 0 1 180 0 1 pintype=pwr T 2700 500 5 10 1 1 90 1 1 pinlabel=GND } P 2900 100 2900 400 1 0 0 { T 2875 300 5 10 1 1 90 6 1 pinnumber=13 T 2900 100 5 10 0 1 180 0 1 pinseq=13 T 2900 100 5 10 0 1 180 0 1 pintype=pwr T 2900 500 5 10 1 1 90 1 1 pinlabel=GND } P 3100 100 3100 400 1 0 0 { T 3075 300 5 10 1 1 90 6 1 pinnumber=14 T 3100 100 5 10 0 1 180 0 1 pinseq=14 T 3100 100 5 10 0 1 180 0 1 pintype=pwr T 3100 500 5 10 1 1 90 1 1 pinlabel=GND } P 3300 100 3300 400 1 0 0 { T 3275 300 5 10 1 1 90 6 1 pinnumber=17 T 3300 100 5 10 0 1 180 0 1 pinseq=17 T 3300 100 5 10 0 1 180 0 1 pintype=pwr T 3300 500 5 10 1 1 90 1 1 pinlabel=GND } L 400 7300 3800 7300 3 0 0 2 25 25 L 3800 7300 3800 7800 3 0 0 2 25 25 L 3800 7800 5300 7800 3 0 0 2 25 25 L 3800 2900 3800 3400 3 0 0 2 25 25 L 3800 3400 5300 3400 3 0 0 2 25 25 L 400 2900 3800 2900 3 0 0 2 25 25 P 3800 100 3800 400 1 0 0 { T 3775 300 5 10 1 1 90 6 1 pinnumber=69 T 3800 100 5 10 0 1 180 0 1 pinseq=69 T 3800 100 5 10 0 1 180 0 1 pintype=pwr T 3800 500 5 10 1 1 90 1 1 pinlabel=EP_GND } T 1500 11500 8 10 1 1 0 0 1 refdes=U? T 1500 11200 8 10 1 1 0 0 1 device=MAX12528 T 1700 10200 9 10 1 0 0 0 1 ADC - CH. A B 400 400 4900 11800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1700 5800 9 10 1 0 0 0 1 ADC - CH. B T 1500 10900 8 10 1 1 0 0 1 footprint=TQFN68_10_EP B 400 400 4900 11800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 6400 5600 5 10 0 0 0 0 1 numslots=0 T 6400 5400 5 10 0 0 0 0 1 symversion=1.0 T 6400 5200 5 10 0 0 0 0 1 description=Dual, 80Msps, 12-Bit, IF/Baseband ADC T 6400 5000 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX12528.pdf T 6400 5800 5 10 0 0 0 0 1 device=MAX12528 geda-gaf-1.8.2/symbols/maxim/max7652-1.sym0000664000175000017500000002756612204104272014716 00000000000000v 20070626 1 B 300 300 2900 8600 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 T 300 10050 5 10 0 0 0 0 1 footprint=QFP64 T 3200 9000 8 10 1 1 0 6 1 refdes=U? T 300 9850 5 10 0 0 0 0 1 numslots=0 T 300 9250 5 10 0 0 0 0 1 device=MAX7852 P 1100 8900 1100 9200 1 0 1 { T 1050 9000 5 8 1 1 90 0 1 pinnumber=40 T 1150 9000 5 8 0 1 90 2 1 pinseq=40 T 1100 8850 9 8 1 1 90 6 1 pinlabel=DV1 T 1100 8850 5 8 0 1 90 8 1 pintype=pwr } P 300 8400 0 8400 1 0 1 { T 200 8450 5 8 1 1 0 6 1 pinnumber=1 T 200 8350 5 8 0 1 0 8 1 pinseq=1 T 350 8400 9 8 1 1 0 0 1 pinlabel=AIN0 T 350 8400 5 8 0 1 0 2 1 pintype=in } P 3200 8400 3500 8400 1 0 1 { T 3300 8450 5 8 1 1 0 0 1 pinnumber=56 T 3300 8350 5 8 0 1 0 2 1 pinseq=56 T 3150 8400 9 8 1 1 0 6 1 pinlabel=P1.7 T 3150 8400 5 8 0 1 0 8 1 pintype=io } P 300 6000 0 6000 1 0 1 { T 200 6050 5 8 1 1 0 6 1 pinnumber=11 T 200 5950 5 8 0 1 0 8 1 pinseq=11 T 350 6000 9 8 1 1 0 0 1 pinlabel=VR+ T 350 6000 5 8 0 1 0 2 1 pintype=in } P 300 5800 0 5800 1 0 1 { T 200 5850 5 8 1 1 0 6 1 pinnumber=12 T 200 5750 5 8 0 1 0 8 1 pinseq=12 T 350 5800 9 8 1 1 0 0 1 pinlabel=VR- T 350 5800 5 8 0 1 0 2 1 pintype=in } P 1700 8900 1700 9200 1 0 1 { T 1650 9000 5 8 1 1 90 0 1 pinnumber=62 T 1750 9000 5 8 0 1 90 2 1 pinseq=62 T 1700 8850 9 8 1 1 90 6 1 pinlabel=DV2 T 1700 8850 5 8 0 1 90 8 1 pintype=pwr } P 2300 8900 2300 9200 1 0 1 { T 2250 9000 5 8 1 1 90 0 1 pinnumber=28 T 2350 9000 5 8 0 1 90 2 1 pinseq=28 T 2300 8850 9 8 1 1 90 6 1 pinlabel=DV3 T 2300 8850 5 8 0 1 90 8 1 pintype=pwr } P 300 8200 0 8200 1 0 1 { T 200 8250 5 8 1 1 0 6 1 pinnumber=2 T 200 8150 5 8 0 1 0 8 1 pinseq=2 T 350 8200 9 8 1 1 0 0 1 pinlabel=AIN1 T 350 8200 5 8 0 1 0 2 1 pintype=in } P 300 8000 0 8000 1 0 1 { T 200 8050 5 8 1 1 0 6 1 pinnumber=3 T 200 7950 5 8 0 1 0 8 1 pinseq=3 T 350 8000 9 8 1 1 0 0 1 pinlabel=AIN2 T 350 8000 5 8 0 1 0 2 1 pintype=in } P 300 7800 0 7800 1 0 1 { T 200 7850 5 8 1 1 0 6 1 pinnumber=4 T 200 7750 5 8 0 1 0 8 1 pinseq=4 T 350 7800 9 8 1 1 0 0 1 pinlabel=AIN3 T 350 7800 5 8 0 1 0 2 1 pintype=in } P 300 7600 0 7600 1 0 1 { T 200 7650 5 8 1 1 0 6 1 pinnumber=5 T 200 7550 5 8 0 1 0 8 1 pinseq=5 T 350 7600 9 8 1 1 0 0 1 pinlabel=AIN4 T 350 7600 5 8 0 1 0 2 1 pintype=in } P 300 7400 0 7400 1 0 1 { T 200 7450 5 8 1 1 0 6 1 pinnumber=6 T 200 7350 5 8 0 1 0 8 1 pinseq=6 T 350 7400 9 8 1 1 0 0 1 pinlabel=AIN5 T 350 7400 5 8 0 1 0 2 1 pintype=in } P 300 7200 0 7200 1 0 1 { T 200 7250 5 8 1 1 0 6 1 pinnumber=7 T 200 7150 5 8 0 1 0 8 1 pinseq=7 T 350 7200 9 8 1 1 0 0 1 pinlabel=AIN6 T 350 7200 5 8 0 1 0 2 1 pintype=in } P 300 7000 0 7000 1 0 1 { T 200 7050 5 8 1 1 0 6 1 pinnumber=8 T 200 6950 5 8 0 1 0 8 1 pinseq=8 T 350 7000 9 8 1 1 0 0 1 pinlabel=AIN7 T 350 7000 5 8 0 1 0 2 1 pintype=in } P 300 6600 0 6600 1 0 1 { T 200 6650 5 8 1 1 0 6 1 pinnumber=9 T 200 6550 5 8 0 1 0 8 1 pinseq=9 T 350 6600 9 8 1 1 0 0 1 pinlabel=AV1 T 350 6600 5 8 0 1 0 2 1 pintype=pwr } P 300 6400 0 6400 1 0 1 { T 200 6450 5 8 1 1 0 6 1 pinnumber=10 T 200 6350 5 8 0 1 0 8 1 pinseq=10 T 350 6400 9 8 1 1 0 0 1 pinlabel=AG1 T 350 6400 5 8 0 1 0 2 1 pintype=pwr } P 300 5400 0 5400 1 0 1 { T 200 5450 5 8 1 1 0 6 1 pinnumber=13 T 200 5350 5 8 0 1 0 8 1 pinseq=13 T 350 5400 9 8 1 1 0 0 1 pinlabel=PWMV T 350 5400 5 8 0 1 0 2 1 pintype=in } P 300 5200 0 5200 1 0 1 { T 200 5250 5 8 1 1 0 6 1 pinnumber=14 T 200 5150 5 8 0 1 0 8 1 pinseq=14 T 350 5200 9 8 1 1 0 0 1 pinlabel=PWMG T 350 5200 5 8 0 1 0 2 1 pintype=in } P 300 4600 0 4600 1 0 1 { T 200 4650 5 8 1 1 0 6 1 pinnumber=15 T 200 4550 5 8 0 1 0 8 1 pinseq=15 T 350 4600 9 8 1 1 0 0 1 pinlabel=PWMA T 350 4600 5 8 0 1 0 2 1 pintype=out } P 300 4300 0 4300 1 0 1 { T 200 4350 5 8 1 1 0 6 1 pinnumber=16 T 200 4250 5 8 0 1 0 8 1 pinseq=16 T 350 4300 9 8 1 1 0 0 1 pinlabel=PWMB T 350 4300 5 8 0 1 0 2 1 pintype=out } P 300 3700 0 3700 1 0 1 { T 200 3750 5 8 1 1 0 6 1 pinnumber=17 T 200 3650 5 8 0 1 0 8 1 pinseq=17 T 350 3700 9 8 1 1 0 0 1 pinlabel=\_INT0\_ T 350 3700 5 8 0 1 0 2 1 pintype=in } P 300 3500 0 3500 1 0 1 { T 200 3550 5 8 1 1 0 6 1 pinnumber=18 T 200 3450 5 8 0 1 0 8 1 pinseq=18 T 350 3500 9 8 1 1 0 0 1 pinlabel=\_INT1\_ T 350 3500 5 8 0 1 0 2 1 pintype=in } P 300 3100 0 3100 1 0 1 { T 200 3150 5 8 1 1 0 6 1 pinnumber=58 T 200 3050 5 8 0 1 0 8 1 pinseq=58 T 350 3100 9 8 1 1 0 0 1 pinlabel=RST T 350 3100 5 8 0 1 0 2 1 pintype=in } P 300 2600 0 2600 1 0 1 { T 200 2650 5 8 1 1 0 6 1 pinnumber=60 T 200 2550 5 8 0 1 0 8 1 pinseq=60 T 350 2600 9 8 1 1 0 0 1 pinlabel=XTL1 T 350 2600 5 8 0 1 0 2 1 pintype=in } P 300 1700 0 1700 1 0 1 { T 200 1750 5 8 1 1 0 6 1 pinnumber=59 T 200 1650 5 8 0 1 0 8 1 pinseq=59 T 350 1700 9 8 1 1 0 0 1 pinlabel=XTL2 T 350 1700 5 8 0 1 0 2 1 pintype=in } P 300 600 0 600 1 0 1 { T 200 650 5 8 1 1 0 6 1 pinnumber=63 T 200 550 5 8 0 1 0 8 1 pinseq=63 T 350 600 9 8 1 1 0 0 1 pinlabel=TST T 350 600 5 8 0 1 0 2 1 pintype=in } P 3200 8200 3500 8200 1 0 1 { T 3300 8250 5 8 1 1 0 0 1 pinnumber=55 T 3300 8150 5 8 0 1 0 2 1 pinseq=55 T 3150 8200 9 8 1 1 0 6 1 pinlabel=P1.6 T 3150 8200 5 8 0 1 0 8 1 pintype=io } P 3200 8000 3500 8000 1 0 1 { T 3300 8050 5 8 1 1 0 0 1 pinnumber=54 T 3300 7950 5 8 0 1 0 2 1 pinseq=54 T 3150 8000 9 8 1 1 0 6 1 pinlabel=P1.5 T 3150 8000 5 8 0 1 0 8 1 pintype=io } P 3200 7800 3500 7800 1 0 1 { T 3300 7850 5 8 1 1 0 0 1 pinnumber=53 T 3300 7750 5 8 0 1 0 2 1 pinseq=53 T 3150 7800 9 8 1 1 0 6 1 pinlabel=P1.4 T 3150 7800 5 8 0 1 0 8 1 pintype=io } P 3200 7600 3500 7600 1 0 1 { T 3300 7650 5 8 1 1 0 0 1 pinnumber=52 T 3300 7550 5 8 0 1 0 2 1 pinseq=52 T 3150 7600 9 8 1 1 0 6 1 pinlabel=P1.3/TXD T 3150 7600 5 8 0 1 0 8 1 pintype=io } P 3200 7200 3500 7200 1 0 1 { T 3300 7250 5 8 1 1 0 0 1 pinnumber=50 T 3300 7150 5 8 0 1 0 2 1 pinseq=50 T 3150 7200 9 8 1 1 0 6 1 pinlabel=P1.1 T 3150 7200 5 8 0 1 0 8 1 pintype=io } P 3200 7400 3500 7400 1 0 1 { T 3300 7450 5 8 1 1 0 0 1 pinnumber=51 T 3300 7350 5 8 0 1 0 2 1 pinseq=51 T 3150 7400 9 8 1 1 0 6 1 pinlabel=P1.2/RXD T 3150 7400 5 8 0 1 0 8 1 pintype=io } P 3200 7000 3500 7000 1 0 1 { T 3300 7050 5 8 1 1 0 0 1 pinnumber=49 T 3300 6950 5 8 0 1 0 2 1 pinseq=49 T 3150 7000 9 8 1 1 0 6 1 pinlabel=P1.0/T2 T 3150 7000 5 8 0 1 0 8 1 pintype=io } P 1100 300 1100 0 1 0 1 { T 1050 200 5 8 1 1 90 6 1 pinnumber=39 T 1150 200 5 8 0 1 90 8 1 pinseq=39 T 1100 350 9 8 1 1 90 0 1 pinlabel=DG1 T 1100 350 5 8 0 1 90 2 1 pintype=pwr } P 1500 300 1500 0 1 0 1 { T 1450 200 5 8 1 1 90 6 1 pinnumber=61 T 1550 200 5 8 0 1 90 8 1 pinseq=61 T 1500 350 9 8 1 1 90 0 1 pinlabel=DG2 T 1500 350 5 8 0 1 90 2 1 pintype=pwr } P 1900 300 1900 0 1 0 1 { T 1850 200 5 8 1 1 90 6 1 pinnumber=27 T 1950 200 5 8 0 1 90 8 1 pinseq=27 T 1900 350 9 8 1 1 90 0 1 pinlabel=DG3 T 1900 350 5 8 0 1 90 2 1 pintype=pwr } P 2300 300 2300 0 1 0 1 { T 2250 200 5 8 1 1 90 6 1 pinnumber=64 T 2350 200 5 8 0 1 90 8 1 pinseq=64 T 2300 350 9 8 1 1 90 0 1 pinlabel=ACOM T 2300 350 5 8 0 1 90 2 1 pintype=in } P 3200 6600 3500 6600 1 0 1 { T 3300 6650 5 8 1 1 0 0 1 pinnumber=48 T 3300 6550 5 8 0 1 0 2 1 pinseq=48 T 3150 6600 9 8 1 1 0 6 1 pinlabel=P0.7/AD7 T 3150 6600 5 8 0 1 0 8 1 pintype=io } P 3200 6400 3500 6400 1 0 1 { T 3300 6450 5 8 1 1 0 0 1 pinnumber=47 T 3300 6350 5 8 0 1 0 2 1 pinseq=47 T 3150 6400 9 8 1 1 0 6 1 pinlabel=P0.6/AD6 T 3150 6400 5 8 0 1 0 8 1 pintype=io } P 3200 6200 3500 6200 1 0 1 { T 3300 6250 5 8 1 1 0 0 1 pinnumber=46 T 3300 6150 5 8 0 1 0 2 1 pinseq=46 T 3150 6200 9 8 1 1 0 6 1 pinlabel=P0.5/AD5 T 3150 6200 5 8 0 1 0 8 1 pintype=io } P 3200 6000 3500 6000 1 0 1 { T 3300 6050 5 8 1 1 0 0 1 pinnumber=45 T 3300 5950 5 8 0 1 0 2 1 pinseq=45 T 3150 6000 9 8 1 1 0 6 1 pinlabel=P0.4/AD4 T 3150 6000 5 8 0 1 0 8 1 pintype=io } P 3200 5800 3500 5800 1 0 1 { T 3300 5850 5 8 1 1 0 0 1 pinnumber=44 T 3300 5750 5 8 0 1 0 2 1 pinseq=44 T 3150 5800 9 8 1 1 0 6 1 pinlabel=P0.3/AD3 T 3150 5800 5 8 0 1 0 8 1 pintype=io } P 3200 5600 3500 5600 1 0 1 { T 3300 5650 5 8 1 1 0 0 1 pinnumber=43 T 3300 5550 5 8 0 1 0 2 1 pinseq=43 T 3150 5600 9 8 1 1 0 6 1 pinlabel=P0.2/AD2 T 3150 5600 5 8 0 1 0 8 1 pintype=io } P 3200 5400 3500 5400 1 0 1 { T 3300 5450 5 8 1 1 0 0 1 pinnumber=42 T 3300 5350 5 8 0 1 0 2 1 pinseq=42 T 3150 5400 9 8 1 1 0 6 1 pinlabel=P0.1/AD1 T 3150 5400 5 8 0 1 0 8 1 pintype=io } P 3200 5200 3500 5200 1 0 1 { T 3300 5250 5 8 1 1 0 0 1 pinnumber=41 T 3300 5150 5 8 0 1 0 2 1 pinseq=41 T 3150 5200 9 8 1 1 0 6 1 pinlabel=P0.0/AD0 T 3150 5200 5 8 0 1 0 8 1 pintype=io } P 3200 5000 3500 5000 1 0 1 { T 3300 5050 5 8 1 1 0 0 1 pinnumber=36 T 3300 4950 5 8 0 1 0 2 1 pinseq=36 T 3150 5000 9 8 1 1 0 6 1 pinlabel=P2.7/AD15 T 3150 5000 5 8 0 1 0 8 1 pintype=io } P 3200 4800 3500 4800 1 0 1 { T 3300 4850 5 8 1 1 0 0 1 pinnumber=35 T 3300 4750 5 8 0 1 0 2 1 pinseq=35 T 3150 4800 9 8 1 1 0 6 1 pinlabel=P2.6/AD14 T 3150 4800 5 8 0 1 0 8 1 pintype=io } P 3200 4600 3500 4600 1 0 1 { T 3300 4650 5 8 1 1 0 0 1 pinnumber=34 T 3300 4550 5 8 0 1 0 2 1 pinseq=34 T 3150 4600 9 8 1 1 0 6 1 pinlabel=P2.5/AD13 T 3150 4600 5 8 0 1 0 8 1 pintype=io } P 3200 4400 3500 4400 1 0 1 { T 3300 4450 5 8 1 1 0 0 1 pinnumber=33 T 3300 4350 5 8 0 1 0 2 1 pinseq=33 T 3150 4400 9 8 1 1 0 6 1 pinlabel=P2.4/AD12 T 3150 4400 5 8 0 1 0 8 1 pintype=io } P 3200 4200 3500 4200 1 0 1 { T 3300 4250 5 8 1 1 0 0 1 pinnumber=32 T 3300 4150 5 8 0 1 0 2 1 pinseq=32 T 3150 4200 9 8 1 1 0 6 1 pinlabel=P2.3/AD11 T 3150 4200 5 8 0 1 0 8 1 pintype=io } P 3200 4000 3500 4000 1 0 1 { T 3300 4050 5 8 1 1 0 0 1 pinnumber=31 T 3300 3950 5 8 0 1 0 2 1 pinseq=31 T 3150 4000 9 8 1 1 0 6 1 pinlabel=P2.2/AD10 T 3150 4000 5 8 0 1 0 8 1 pintype=io } P 3200 3800 3500 3800 1 0 1 { T 3300 3850 5 8 1 1 0 0 1 pinnumber=30 T 3300 3750 5 8 0 1 0 2 1 pinseq=30 T 3150 3800 9 8 1 1 0 6 1 pinlabel=P2.1/AD9 T 3150 3800 5 8 0 1 0 8 1 pintype=io } P 3200 3600 3500 3600 1 0 1 { T 3300 3650 5 8 1 1 0 0 1 pinnumber=29 T 3300 3550 5 8 0 1 0 2 1 pinseq=29 T 3150 3600 9 8 1 1 0 6 1 pinlabel=P2.0/AD8 T 3150 3600 5 8 0 1 0 8 1 pintype=io } P 3200 3400 3500 3400 1 0 1 { T 3300 3450 5 8 1 1 0 0 1 pinnumber=19 T 3300 3350 5 8 0 1 0 2 1 pinseq=19 T 3150 3400 9 8 1 1 0 6 1 pinlabel=P3.7/\_RD\_ T 3150 3400 5 8 0 1 0 8 1 pintype=io } P 3200 3200 3500 3200 1 0 1 { T 3300 3250 5 8 1 1 0 0 1 pinnumber=20 T 3300 3150 5 8 0 1 0 2 1 pinseq=20 T 3150 3200 9 8 1 1 0 6 1 pinlabel=P3.6/\_WR\_ T 3150 3200 5 8 0 1 0 8 1 pintype=io } P 3200 2800 3500 2800 1 0 1 { T 3300 2850 5 8 1 1 0 0 1 pinnumber=21 T 3300 2750 5 8 0 1 0 2 1 pinseq=21 T 3150 2800 9 8 1 1 0 6 1 pinlabel=P3.5/T1 T 3150 2800 5 8 0 1 0 8 1 pintype=io } P 3200 2600 3500 2600 1 0 1 { T 3300 2650 5 8 1 1 0 0 1 pinnumber=22 T 3300 2550 5 8 0 1 0 2 1 pinseq=22 T 3150 2600 9 8 1 1 0 6 1 pinlabel=P3.4/T0 T 3150 2600 5 8 0 1 0 8 1 pintype=io } P 3200 2400 3500 2400 1 0 1 { T 3300 2450 5 8 1 1 0 0 1 pinnumber=23 T 3300 2350 5 8 0 1 0 2 1 pinseq=23 T 3150 2400 9 8 1 1 0 6 1 pinlabel=P3.3 T 3150 2400 5 8 0 1 0 8 1 pintype=io } P 3200 2200 3500 2200 1 0 1 { T 3300 2250 5 8 1 1 0 0 1 pinnumber=24 T 3300 2150 5 8 0 1 0 2 1 pinseq=24 T 3150 2200 9 8 1 1 0 6 1 pinlabel=P3.2 T 3150 2200 5 8 0 1 0 8 1 pintype=io } P 3200 2000 3500 2000 1 0 1 { T 3300 2050 5 8 1 1 0 0 1 pinnumber=25 T 3300 1950 5 8 0 1 0 2 1 pinseq=25 T 3150 2000 9 8 1 1 0 6 1 pinlabel=P3.1/TXD T 3150 2000 5 8 0 1 0 8 1 pintype=io } P 3200 1800 3500 1800 1 0 1 { T 3300 1850 5 8 1 1 0 0 1 pinnumber=26 T 3300 1750 5 8 0 1 0 2 1 pinseq=26 T 3150 1800 9 8 1 1 0 6 1 pinlabel=P3.0/RXD T 3150 1800 5 8 0 1 0 8 1 pintype=io } P 3200 1500 3500 1500 1 0 1 { T 3300 1550 5 8 1 1 0 0 1 pinnumber=38 T 3300 1450 5 8 0 1 0 2 1 pinseq=38 T 3150 1500 9 8 1 1 0 6 1 pinlabel=ALE/\_PROG\_ T 3150 1500 5 8 0 1 0 8 1 pintype=in } P 3200 1200 3500 1200 1 0 1 { T 3300 1250 5 8 1 1 0 0 1 pinnumber=37 T 3300 1150 5 8 0 1 0 2 1 pinseq=37 T 3150 1200 9 8 1 1 0 6 1 pinlabel=\_PSEN\_ T 3150 1200 5 8 0 1 0 8 1 pintype=in } P 3200 700 3500 700 1 0 1 { T 3300 750 5 8 1 1 0 0 1 pinnumber=57 T 3300 650 5 8 0 1 0 2 1 pinseq=57 T 3150 700 9 8 1 1 0 6 1 pinlabel=\_EA\_/VPP T 3150 700 5 8 0 1 0 8 1 pintype=in } T 300 9450 5 10 0 0 0 0 1 description=flash-programmable 12-bit integrated data-acquisition system T 300 9650 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX7651-MAX7652.pdf T 1100 4800 9 10 1 0 0 0 1 MAX7651/2 geda-gaf-1.8.2/symbols/maxim/max12554-1.sym0000664000175000017500000001747212204104272014766 00000000000000v 20050313 1 P 100 3500 400 3500 1 0 0 { T 300 3550 5 8 1 1 0 6 1 pinnumber=6 T 300 3450 5 8 0 1 0 8 1 pinseq=6 T 450 3500 9 8 1 1 0 0 1 pinlabel=INN T 450 3500 5 8 0 1 0 2 1 pintype=in } P 100 9200 400 9200 1 0 0 { T 300 9250 5 8 1 1 0 6 1 pinnumber=37 T 300 9150 5 8 0 1 0 8 1 pinseq=37 T 450 9200 9 8 1 1 0 0 1 pinlabel=PD T 450 9200 5 8 0 1 0 2 1 pintype=in } P 100 8900 400 8900 1 0 0 { T 300 8950 5 8 1 1 0 6 1 pinnumber=40 T 300 8850 5 8 0 1 0 8 1 pinseq=40 T 450 8900 9 8 1 1 0 0 1 pinlabel=G_TB T 450 8900 5 8 0 1 0 2 1 pintype=in } P 100 8600 400 8600 1 0 0 { T 300 8650 5 8 1 1 0 6 1 pinnumber=8 T 300 8550 5 8 0 1 0 8 1 pinseq=8 T 450 8600 9 8 1 1 0 0 1 pinlabel=DCE T 450 8600 5 8 0 1 0 2 1 pintype=in } P 100 8300 400 8300 1 0 0 { T 300 8350 5 8 1 1 0 6 1 pinnumber=11 T 300 8250 5 8 0 1 0 8 1 pinseq=11 T 450 8300 9 8 1 1 0 0 1 pinlabel=CLKTYP T 450 8300 5 8 0 1 0 2 1 pintype=in } P 100 7400 400 7400 1 0 0 { T 300 7450 5 8 1 1 0 6 1 pinnumber=1 T 300 7350 5 8 0 1 0 8 1 pinseq=1 T 450 7400 9 8 1 1 0 0 1 pinlabel=REFP T 450 7400 5 8 0 1 0 2 1 pintype=out } P 100 6800 400 6800 1 0 0 { T 300 6850 5 8 1 1 0 6 1 pinnumber=2 T 300 6750 5 8 0 1 0 8 1 pinseq=2 T 450 6800 9 8 1 1 0 0 1 pinlabel=REFN T 450 6800 5 8 0 1 0 2 1 pintype=out } P 100 5900 400 5900 1 0 0 { T 300 5950 5 8 1 1 0 6 1 pinnumber=5 T 300 5850 5 8 0 1 0 8 1 pinseq=5 T 450 5900 9 8 1 1 0 0 1 pinlabel=INP T 450 5900 5 8 0 1 0 2 1 pintype=in } P 100 4700 400 4700 1 0 0 { T 300 4750 5 8 1 1 0 6 1 pinnumber=3 T 300 4650 5 8 0 1 0 8 1 pinseq=3 T 450 4700 9 8 1 1 0 0 1 pinlabel=COM T 450 4700 5 8 0 1 0 2 1 pintype=out } P 3000 9200 3300 9200 1 0 1 { T 3100 9250 5 8 1 1 0 0 1 pinnumber=33 T 3100 9150 5 8 0 1 0 2 1 pinseq=33 T 2950 9200 9 8 1 1 0 6 1 pinlabel=DAV T 2950 9200 5 8 0 1 0 8 1 pintype=out } P 3000 8600 3300 8600 1 0 1 { T 3100 8650 5 8 1 1 0 0 1 pinnumber=32 T 3100 8550 5 8 0 1 0 2 1 pinseq=32 T 2950 8600 9 8 1 1 0 6 1 pinlabel=D0 T 2950 8600 5 8 0 1 0 8 1 pintype=out } P 3000 8300 3300 8300 1 0 1 { T 3100 8350 5 8 1 1 0 0 1 pinnumber=31 T 3100 8250 5 8 0 1 0 2 1 pinseq=31 T 2950 8300 9 8 1 1 0 6 1 pinlabel=D1 T 2950 8300 5 8 0 1 0 8 1 pintype=out } P 3000 8000 3300 8000 1 0 1 { T 3100 8050 5 8 1 1 0 0 1 pinnumber=30 T 3100 7950 5 8 0 1 0 2 1 pinseq=30 T 2950 8000 9 8 1 1 0 6 1 pinlabel=D2 T 2950 8000 5 8 0 1 0 8 1 pintype=out } P 3000 7700 3300 7700 1 0 1 { T 3100 7750 5 8 1 1 0 0 1 pinnumber=29 T 3100 7650 5 8 0 1 0 2 1 pinseq=29 T 2950 7700 9 8 1 1 0 6 1 pinlabel=D3 T 2950 7700 5 8 0 1 0 8 1 pintype=out } P 3000 7400 3300 7400 1 0 1 { T 3100 7450 5 8 1 1 0 0 1 pinnumber=28 T 3100 7350 5 8 0 1 0 2 1 pinseq=28 T 2950 7400 9 8 1 1 0 6 1 pinlabel=D4 T 2950 7400 5 8 0 1 0 8 1 pintype=out } P 3000 7100 3300 7100 1 0 1 { T 3100 7150 5 8 1 1 0 0 1 pinnumber=27 T 3100 7050 5 8 0 1 0 2 1 pinseq=27 T 2950 7100 9 8 1 1 0 6 1 pinlabel=D5 T 2950 7100 5 8 0 1 0 8 1 pintype=out } P 3000 6800 3300 6800 1 0 1 { T 3100 6850 5 8 1 1 0 0 1 pinnumber=26 T 3100 6750 5 8 0 1 0 2 1 pinseq=26 T 2950 6800 9 8 1 1 0 6 1 pinlabel=D6 T 2950 6800 5 8 0 1 0 8 1 pintype=out } B 400 400 2600 9600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 4000 6300 8 10 0 0 0 0 1 device=MAX12554 P 100 2100 400 2100 1 0 0 { T 300 2150 5 8 1 1 0 6 1 pinnumber=38 T 300 2050 5 8 0 1 0 8 1 pinseq=38 T 475 2100 9 8 1 1 0 0 1 pinlabel=REFOUT T 475 2100 5 8 0 1 0 2 1 pintype=out } T 1800 6600 8 10 1 1 0 6 1 refdes=U? T 1400 6140 9 10 1 0 0 0 1 MAX12554 P 100 1200 400 1200 1 0 0 { T 300 1250 5 8 1 1 0 6 1 pinnumber=39 T 300 1150 5 8 0 1 0 8 1 pinseq=39 T 475 1200 9 8 1 1 0 0 1 pinlabel=REFIN T 475 1200 5 8 0 1 0 2 1 pintype=in } P 3000 6500 3300 6500 1 0 1 { T 3100 6550 5 8 1 1 0 0 1 pinnumber=25 T 3100 6450 5 8 0 1 0 2 1 pinseq=25 T 2950 6500 9 8 1 1 0 6 1 pinlabel=D7 T 2950 6500 5 8 0 1 0 8 1 pintype=out } P 3000 6200 3300 6200 1 0 1 { T 3100 6250 5 8 1 1 0 0 1 pinnumber=24 T 3100 6150 5 8 0 1 0 2 1 pinseq=24 T 2950 6200 9 8 1 1 0 6 1 pinlabel=D8 T 2950 6200 5 8 0 1 0 8 1 pintype=out } P 3000 5900 3300 5900 1 0 1 { T 3100 5950 5 8 1 1 0 0 1 pinnumber=23 T 3100 5850 5 8 0 1 0 2 1 pinseq=23 T 2950 5900 9 8 1 1 0 6 1 pinlabel=D9 T 2950 5900 5 8 0 1 0 8 1 pintype=out } P 3000 5600 3300 5600 1 0 1 { T 3100 5650 5 8 1 1 0 0 1 pinnumber=22 T 3100 5550 5 8 0 1 0 2 1 pinseq=22 T 2950 5600 9 8 1 1 0 6 1 pinlabel=D10 T 2950 5600 5 8 0 1 0 8 1 pintype=out } P 3000 5300 3300 5300 1 0 1 { T 3100 5350 5 8 1 1 0 0 1 pinnumber=21 T 3100 5250 5 8 0 1 0 2 1 pinseq=21 T 2950 5300 9 8 1 1 0 6 1 pinlabel=D11 T 2950 5300 5 8 0 1 0 8 1 pintype=out } P 3000 5000 3300 5000 1 0 1 { T 3100 5050 5 8 1 1 0 0 1 pinnumber=20 T 3100 4950 5 8 0 1 0 2 1 pinseq=20 T 2950 5000 9 8 1 1 0 6 1 pinlabel=D12 T 2950 5000 5 8 0 1 0 8 1 pintype=out } P 3000 4700 3300 4700 1 0 1 { T 3100 4750 5 8 1 1 0 0 1 pinnumber=19 T 3100 4650 5 8 0 1 0 2 1 pinseq=19 T 2950 4700 9 8 1 1 0 6 1 pinlabel=D13 T 2950 4700 5 8 0 1 0 8 1 pintype=out } P 3000 4100 3300 4100 1 0 1 { T 3100 4150 5 8 1 1 0 0 1 pinnumber=18 T 3100 4050 5 8 0 1 0 2 1 pinseq=18 T 2950 4100 9 8 1 1 0 6 1 pinlabel=DOR T 2950 4100 5 8 0 1 0 8 1 pintype=out } P 3000 3000 3300 3000 1 0 1 { T 3100 3050 5 8 1 1 0 0 1 pinnumber=10 T 3100 2950 5 8 0 1 0 2 1 pinseq=10 T 2950 3000 9 8 1 1 0 6 1 pinlabel=CLKP T 2950 3000 5 8 0 1 0 8 1 pintype=in } P 3000 1800 3300 1800 1 0 1 { T 3100 1850 5 8 1 1 0 0 1 pinnumber=9 T 3100 1750 5 8 0 1 0 2 1 pinseq=9 T 2950 1800 9 8 1 1 0 6 1 pinlabel=CLKN T 2950 1800 5 8 0 1 0 8 1 pintype=in } P 1000 400 1000 100 1 0 1 { T 1050 300 5 8 1 1 270 0 1 pinnumber=4 T 950 300 5 8 0 1 270 2 1 pinseq=4 T 1000 450 9 8 1 1 270 6 1 pinlabel=GND T 1000 450 5 8 0 1 270 8 1 pintype=pwr } P 1300 400 1300 100 1 0 1 { T 1350 300 5 8 1 1 270 0 1 pinnumber=7 T 1250 300 5 8 0 1 270 2 1 pinseq=7 T 1300 450 9 8 1 1 270 6 1 pinlabel=GND T 1300 450 5 8 0 1 270 8 1 pintype=pwr } P 1900 400 1900 100 1 0 1 { T 1950 300 5 8 1 1 270 0 1 pinnumber=16 T 1850 300 5 8 0 1 270 2 1 pinseq=16 T 1900 450 9 8 1 1 270 6 1 pinlabel=GND T 1900 450 5 8 0 1 270 8 1 pintype=pwr } P 2200 400 2200 100 1 0 1 { T 2250 300 5 8 1 1 270 0 1 pinnumber=35 T 2150 300 5 8 0 1 270 2 1 pinseq=35 T 2200 450 9 8 1 1 270 6 1 pinlabel=GND T 2200 450 5 8 0 1 270 8 1 pintype=pwr } P 600 10300 600 10000 1 0 0 { T 650 10100 5 8 1 1 270 6 1 pinnumber=12 T 550 10100 5 8 0 1 270 8 1 pinseq=12 T 600 9950 9 8 1 1 270 0 1 pinlabel=VDD T 600 9950 5 8 0 1 270 2 1 pintype=pwr } P 900 10300 900 10000 1 0 0 { T 950 10100 5 8 1 1 270 6 1 pinnumber=13 T 850 10100 5 8 0 1 270 8 1 pinseq=13 T 900 9950 9 8 1 1 270 0 1 pinlabel=VDD T 900 9950 5 8 0 1 270 2 1 pintype=pwr } P 1200 10300 1200 10000 1 0 0 { T 1250 10100 5 8 1 1 270 6 1 pinnumber=14 T 1150 10100 5 8 0 1 270 8 1 pinseq=14 T 1200 9950 9 8 1 1 270 0 1 pinlabel=VDD T 1200 9950 5 8 0 1 270 2 1 pintype=pwr } P 1500 10300 1500 10000 1 0 0 { T 1550 10100 5 8 1 1 270 6 1 pinnumber=15 T 1450 10100 5 8 0 1 270 8 1 pinseq=15 T 1500 9950 9 8 1 1 270 0 1 pinlabel=VDD T 1500 9950 5 8 0 1 270 2 1 pintype=pwr } P 1800 10300 1800 10000 1 0 0 { T 1850 10100 5 8 1 1 270 6 1 pinnumber=36 T 1750 10100 5 8 0 1 270 8 1 pinseq=36 T 1800 9950 9 8 1 1 270 0 1 pinlabel=VDD T 1800 9950 5 8 0 1 270 2 1 pintype=pwr } P 2300 10300 2300 10000 1 0 0 { T 2350 10100 5 8 1 1 270 6 1 pinnumber=17 T 2250 10100 5 8 0 1 270 8 1 pinseq=17 T 2300 9950 9 8 1 1 270 0 1 pinlabel=OVDD T 2300 9950 5 8 0 1 270 2 1 pintype=pwr } P 2600 10300 2600 10000 1 0 0 { T 2650 10100 5 8 1 1 270 6 1 pinnumber=34 T 2550 10100 5 8 0 1 270 8 1 pinseq=34 T 2600 9950 9 8 1 1 270 0 1 pinlabel=OVDD T 2600 9950 5 8 0 1 270 2 1 pintype=pwr } P 600 400 600 100 1 0 1 { T 650 300 5 8 1 1 270 0 1 pinnumber=41 T 550 300 5 8 0 1 270 2 1 pinseq=41 T 600 450 9 8 1 1 270 6 1 pinlabel=PADDLE T 600 450 5 8 0 1 270 8 1 pintype=pwr } T 1000 5400 8 10 1 1 0 0 1 footprint=TQFN40_6_EP T 4100 5700 8 10 0 0 0 0 1 numslots=0 T 4100 5500 8 10 0 0 0 0 1 description=14-Bit, 80Msps, 3.3V ADC T 4100 5200 8 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX12554.pdf T 4100 6000 8 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/maxim/max12555-1.sym0000664000175000017500000001747212204104272014767 00000000000000v 20050313 1 P 100 3500 400 3500 1 0 0 { T 300 3550 5 8 1 1 0 6 1 pinnumber=6 T 300 3450 5 8 0 1 0 8 1 pinseq=6 T 450 3500 9 8 1 1 0 0 1 pinlabel=INN T 450 3500 5 8 0 1 0 2 1 pintype=in } P 100 9200 400 9200 1 0 0 { T 300 9250 5 8 1 1 0 6 1 pinnumber=37 T 300 9150 5 8 0 1 0 8 1 pinseq=37 T 450 9200 9 8 1 1 0 0 1 pinlabel=PD T 450 9200 5 8 0 1 0 2 1 pintype=in } P 100 8900 400 8900 1 0 0 { T 300 8950 5 8 1 1 0 6 1 pinnumber=40 T 300 8850 5 8 0 1 0 8 1 pinseq=40 T 450 8900 9 8 1 1 0 0 1 pinlabel=G_TB T 450 8900 5 8 0 1 0 2 1 pintype=in } P 100 8600 400 8600 1 0 0 { T 300 8650 5 8 1 1 0 6 1 pinnumber=8 T 300 8550 5 8 0 1 0 8 1 pinseq=8 T 450 8600 9 8 1 1 0 0 1 pinlabel=DCE T 450 8600 5 8 0 1 0 2 1 pintype=in } P 100 8300 400 8300 1 0 0 { T 300 8350 5 8 1 1 0 6 1 pinnumber=11 T 300 8250 5 8 0 1 0 8 1 pinseq=11 T 450 8300 9 8 1 1 0 0 1 pinlabel=CLKTYP T 450 8300 5 8 0 1 0 2 1 pintype=in } P 100 7400 400 7400 1 0 0 { T 300 7450 5 8 1 1 0 6 1 pinnumber=1 T 300 7350 5 8 0 1 0 8 1 pinseq=1 T 450 7400 9 8 1 1 0 0 1 pinlabel=REFP T 450 7400 5 8 0 1 0 2 1 pintype=out } P 100 6800 400 6800 1 0 0 { T 300 6850 5 8 1 1 0 6 1 pinnumber=2 T 300 6750 5 8 0 1 0 8 1 pinseq=2 T 450 6800 9 8 1 1 0 0 1 pinlabel=REFN T 450 6800 5 8 0 1 0 2 1 pintype=out } P 100 5900 400 5900 1 0 0 { T 300 5950 5 8 1 1 0 6 1 pinnumber=5 T 300 5850 5 8 0 1 0 8 1 pinseq=5 T 450 5900 9 8 1 1 0 0 1 pinlabel=INP T 450 5900 5 8 0 1 0 2 1 pintype=in } P 100 4700 400 4700 1 0 0 { T 300 4750 5 8 1 1 0 6 1 pinnumber=3 T 300 4650 5 8 0 1 0 8 1 pinseq=3 T 450 4700 9 8 1 1 0 0 1 pinlabel=COM T 450 4700 5 8 0 1 0 2 1 pintype=out } P 3000 9200 3300 9200 1 0 1 { T 3100 9250 5 8 1 1 0 0 1 pinnumber=33 T 3100 9150 5 8 0 1 0 2 1 pinseq=33 T 2950 9200 9 8 1 1 0 6 1 pinlabel=DAV T 2950 9200 5 8 0 1 0 8 1 pintype=out } P 3000 8600 3300 8600 1 0 1 { T 3100 8650 5 8 1 1 0 0 1 pinnumber=32 T 3100 8550 5 8 0 1 0 2 1 pinseq=32 T 2950 8600 9 8 1 1 0 6 1 pinlabel=D0 T 2950 8600 5 8 0 1 0 8 1 pintype=out } P 3000 8300 3300 8300 1 0 1 { T 3100 8350 5 8 1 1 0 0 1 pinnumber=31 T 3100 8250 5 8 0 1 0 2 1 pinseq=31 T 2950 8300 9 8 1 1 0 6 1 pinlabel=D1 T 2950 8300 5 8 0 1 0 8 1 pintype=out } P 3000 8000 3300 8000 1 0 1 { T 3100 8050 5 8 1 1 0 0 1 pinnumber=30 T 3100 7950 5 8 0 1 0 2 1 pinseq=30 T 2950 8000 9 8 1 1 0 6 1 pinlabel=D2 T 2950 8000 5 8 0 1 0 8 1 pintype=out } P 3000 7700 3300 7700 1 0 1 { T 3100 7750 5 8 1 1 0 0 1 pinnumber=29 T 3100 7650 5 8 0 1 0 2 1 pinseq=29 T 2950 7700 9 8 1 1 0 6 1 pinlabel=D3 T 2950 7700 5 8 0 1 0 8 1 pintype=out } P 3000 7400 3300 7400 1 0 1 { T 3100 7450 5 8 1 1 0 0 1 pinnumber=28 T 3100 7350 5 8 0 1 0 2 1 pinseq=28 T 2950 7400 9 8 1 1 0 6 1 pinlabel=D4 T 2950 7400 5 8 0 1 0 8 1 pintype=out } P 3000 7100 3300 7100 1 0 1 { T 3100 7150 5 8 1 1 0 0 1 pinnumber=27 T 3100 7050 5 8 0 1 0 2 1 pinseq=27 T 2950 7100 9 8 1 1 0 6 1 pinlabel=D5 T 2950 7100 5 8 0 1 0 8 1 pintype=out } P 3000 6800 3300 6800 1 0 1 { T 3100 6850 5 8 1 1 0 0 1 pinnumber=26 T 3100 6750 5 8 0 1 0 2 1 pinseq=26 T 2950 6800 9 8 1 1 0 6 1 pinlabel=D6 T 2950 6800 5 8 0 1 0 8 1 pintype=out } B 400 400 2600 9600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 4000 6300 8 10 0 0 0 0 1 device=MAX12555 P 100 2100 400 2100 1 0 0 { T 300 2150 5 8 1 1 0 6 1 pinnumber=38 T 300 2050 5 8 0 1 0 8 1 pinseq=38 T 475 2100 9 8 1 1 0 0 1 pinlabel=REFOUT T 475 2100 5 8 0 1 0 2 1 pintype=out } T 1800 6600 8 10 1 1 0 6 1 refdes=U? T 1400 6140 9 10 1 0 0 0 1 MAX12555 P 100 1200 400 1200 1 0 0 { T 300 1250 5 8 1 1 0 6 1 pinnumber=39 T 300 1150 5 8 0 1 0 8 1 pinseq=39 T 475 1200 9 8 1 1 0 0 1 pinlabel=REFIN T 475 1200 5 8 0 1 0 2 1 pintype=in } P 3000 6500 3300 6500 1 0 1 { T 3100 6550 5 8 1 1 0 0 1 pinnumber=25 T 3100 6450 5 8 0 1 0 2 1 pinseq=25 T 2950 6500 9 8 1 1 0 6 1 pinlabel=D7 T 2950 6500 5 8 0 1 0 8 1 pintype=out } P 3000 6200 3300 6200 1 0 1 { T 3100 6250 5 8 1 1 0 0 1 pinnumber=24 T 3100 6150 5 8 0 1 0 2 1 pinseq=24 T 2950 6200 9 8 1 1 0 6 1 pinlabel=D8 T 2950 6200 5 8 0 1 0 8 1 pintype=out } P 3000 5900 3300 5900 1 0 1 { T 3100 5950 5 8 1 1 0 0 1 pinnumber=23 T 3100 5850 5 8 0 1 0 2 1 pinseq=23 T 2950 5900 9 8 1 1 0 6 1 pinlabel=D9 T 2950 5900 5 8 0 1 0 8 1 pintype=out } P 3000 5600 3300 5600 1 0 1 { T 3100 5650 5 8 1 1 0 0 1 pinnumber=22 T 3100 5550 5 8 0 1 0 2 1 pinseq=22 T 2950 5600 9 8 1 1 0 6 1 pinlabel=D10 T 2950 5600 5 8 0 1 0 8 1 pintype=out } P 3000 5300 3300 5300 1 0 1 { T 3100 5350 5 8 1 1 0 0 1 pinnumber=21 T 3100 5250 5 8 0 1 0 2 1 pinseq=21 T 2950 5300 9 8 1 1 0 6 1 pinlabel=D11 T 2950 5300 5 8 0 1 0 8 1 pintype=out } P 3000 5000 3300 5000 1 0 1 { T 3100 5050 5 8 1 1 0 0 1 pinnumber=20 T 3100 4950 5 8 0 1 0 2 1 pinseq=20 T 2950 5000 9 8 1 1 0 6 1 pinlabel=D12 T 2950 5000 5 8 0 1 0 8 1 pintype=out } P 3000 4700 3300 4700 1 0 1 { T 3100 4750 5 8 1 1 0 0 1 pinnumber=19 T 3100 4650 5 8 0 1 0 2 1 pinseq=19 T 2950 4700 9 8 1 1 0 6 1 pinlabel=D13 T 2950 4700 5 8 0 1 0 8 1 pintype=out } P 3000 4100 3300 4100 1 0 1 { T 3100 4150 5 8 1 1 0 0 1 pinnumber=18 T 3100 4050 5 8 0 1 0 2 1 pinseq=18 T 2950 4100 9 8 1 1 0 6 1 pinlabel=DOR T 2950 4100 5 8 0 1 0 8 1 pintype=out } P 3000 3000 3300 3000 1 0 1 { T 3100 3050 5 8 1 1 0 0 1 pinnumber=10 T 3100 2950 5 8 0 1 0 2 1 pinseq=10 T 2950 3000 9 8 1 1 0 6 1 pinlabel=CLKP T 2950 3000 5 8 0 1 0 8 1 pintype=in } P 3000 1800 3300 1800 1 0 1 { T 3100 1850 5 8 1 1 0 0 1 pinnumber=9 T 3100 1750 5 8 0 1 0 2 1 pinseq=9 T 2950 1800 9 8 1 1 0 6 1 pinlabel=CLKN T 2950 1800 5 8 0 1 0 8 1 pintype=in } P 1000 400 1000 100 1 0 1 { T 1050 300 5 8 1 1 270 0 1 pinnumber=4 T 950 300 5 8 0 1 270 2 1 pinseq=4 T 1000 450 9 8 1 1 270 6 1 pinlabel=GND T 1000 450 5 8 0 1 270 8 1 pintype=pwr } P 1300 400 1300 100 1 0 1 { T 1350 300 5 8 1 1 270 0 1 pinnumber=7 T 1250 300 5 8 0 1 270 2 1 pinseq=7 T 1300 450 9 8 1 1 270 6 1 pinlabel=GND T 1300 450 5 8 0 1 270 8 1 pintype=pwr } P 1900 400 1900 100 1 0 1 { T 1950 300 5 8 1 1 270 0 1 pinnumber=16 T 1850 300 5 8 0 1 270 2 1 pinseq=16 T 1900 450 9 8 1 1 270 6 1 pinlabel=GND T 1900 450 5 8 0 1 270 8 1 pintype=pwr } P 2200 400 2200 100 1 0 1 { T 2250 300 5 8 1 1 270 0 1 pinnumber=35 T 2150 300 5 8 0 1 270 2 1 pinseq=35 T 2200 450 9 8 1 1 270 6 1 pinlabel=GND T 2200 450 5 8 0 1 270 8 1 pintype=pwr } P 600 10300 600 10000 1 0 0 { T 650 10100 5 8 1 1 270 6 1 pinnumber=12 T 550 10100 5 8 0 1 270 8 1 pinseq=12 T 600 9950 9 8 1 1 270 0 1 pinlabel=VDD T 600 9950 5 8 0 1 270 2 1 pintype=pwr } P 900 10300 900 10000 1 0 0 { T 950 10100 5 8 1 1 270 6 1 pinnumber=13 T 850 10100 5 8 0 1 270 8 1 pinseq=13 T 900 9950 9 8 1 1 270 0 1 pinlabel=VDD T 900 9950 5 8 0 1 270 2 1 pintype=pwr } P 1200 10300 1200 10000 1 0 0 { T 1250 10100 5 8 1 1 270 6 1 pinnumber=14 T 1150 10100 5 8 0 1 270 8 1 pinseq=14 T 1200 9950 9 8 1 1 270 0 1 pinlabel=VDD T 1200 9950 5 8 0 1 270 2 1 pintype=pwr } P 1500 10300 1500 10000 1 0 0 { T 1550 10100 5 8 1 1 270 6 1 pinnumber=15 T 1450 10100 5 8 0 1 270 8 1 pinseq=15 T 1500 9950 9 8 1 1 270 0 1 pinlabel=VDD T 1500 9950 5 8 0 1 270 2 1 pintype=pwr } P 1800 10300 1800 10000 1 0 0 { T 1850 10100 5 8 1 1 270 6 1 pinnumber=36 T 1750 10100 5 8 0 1 270 8 1 pinseq=36 T 1800 9950 9 8 1 1 270 0 1 pinlabel=VDD T 1800 9950 5 8 0 1 270 2 1 pintype=pwr } P 2300 10300 2300 10000 1 0 0 { T 2350 10100 5 8 1 1 270 6 1 pinnumber=17 T 2250 10100 5 8 0 1 270 8 1 pinseq=17 T 2300 9950 9 8 1 1 270 0 1 pinlabel=OVDD T 2300 9950 5 8 0 1 270 2 1 pintype=pwr } P 2600 10300 2600 10000 1 0 0 { T 2650 10100 5 8 1 1 270 6 1 pinnumber=34 T 2550 10100 5 8 0 1 270 8 1 pinseq=34 T 2600 9950 9 8 1 1 270 0 1 pinlabel=OVDD T 2600 9950 5 8 0 1 270 2 1 pintype=pwr } P 600 400 600 100 1 0 1 { T 650 300 5 8 1 1 270 0 1 pinnumber=41 T 550 300 5 8 0 1 270 2 1 pinseq=41 T 600 450 9 8 1 1 270 6 1 pinlabel=PADDLE T 600 450 5 8 0 1 270 8 1 pintype=pwr } T 1000 5400 8 10 1 1 0 0 1 footprint=TQFN40_6_EP T 4100 5700 8 10 0 0 0 0 1 numslots=0 T 4100 5500 8 10 0 0 0 0 1 description=14-Bit, 95Msps, 3.3V ADC T 4100 5200 8 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX12555.pdf T 4100 6000 8 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/maxim/max202-1.sym0000664000175000017500000000745212204104272014606 00000000000000v 20041228 1 T 300 3850 5 10 0 0 0 0 1 device=MAX202 P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=11 T 200 1450 5 8 0 1 0 8 1 pinseq=11 T 350 1500 5 8 0 1 0 2 1 pintype=in T 350 1500 9 8 1 1 0 0 1 pinlabel=T1IN } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=10 T 200 650 5 8 0 1 0 8 1 pinseq=10 T 350 700 5 8 0 1 0 2 1 pintype=in T 350 700 9 8 1 1 0 0 1 pinlabel=T2IN } P 1700 1500 2000 1500 1 0 1 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=14 T 1800 1450 5 8 0 1 0 2 1 pinseq=14 T 1650 1500 5 8 0 1 0 8 1 pintype=out T 1650 1500 9 8 1 1 0 6 1 pinlabel=T1OUT } P 1700 700 2000 700 1 0 1 { T 1800 750 5 8 1 1 0 0 1 pinnumber=7 T 1800 650 5 8 0 1 0 2 1 pinseq=7 T 1650 700 5 8 0 1 0 8 1 pintype=out T 1650 700 9 8 1 1 0 6 1 pinlabel=T2OUT } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=12 T 200 1050 5 8 0 1 0 8 1 pinseq=12 T 350 1100 5 8 0 1 0 2 1 pintype=out T 350 1100 9 8 1 1 0 0 1 pinlabel=R1OUT } P 1700 1100 2000 1100 1 0 1 { T 1800 1150 5 8 1 1 0 0 1 pinnumber=13 T 1800 1050 5 8 0 1 0 2 1 pinseq=13 T 1650 1100 5 8 0 1 0 8 1 pintype=in T 1650 1100 9 8 1 1 0 6 1 pinlabel=R1IN } P 1700 300 2000 300 1 0 1 { T 1800 350 5 8 1 1 0 0 1 pinnumber=8 T 1800 250 5 8 0 1 0 2 1 pinseq=8 T 1650 300 5 8 0 1 0 8 1 pintype=in T 1650 300 9 8 1 1 0 6 1 pinlabel=R2IN } P 0 300 300 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=9 T 200 250 5 8 0 1 0 8 1 pinseq=9 T 350 300 5 8 0 1 0 2 1 pintype=out T 350 300 9 8 1 1 0 0 1 pinlabel=R2OUT } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=1 T 200 3050 5 8 0 1 0 8 1 pinseq=1 T 350 3100 5 8 0 1 0 2 1 pintype=pas T 350 3100 9 8 1 1 0 0 1 pinlabel=C1+ } P 1700 2700 2000 2700 1 0 1 { T 1800 2750 5 8 1 1 0 0 1 pinnumber=2 T 1800 2650 5 8 0 1 0 2 1 pinseq=2 T 1650 2700 5 8 0 1 0 8 1 pintype=pas T 1650 2700 9 8 1 1 0 6 1 pinlabel=V+ } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=3 T 200 2650 5 8 0 1 0 8 1 pinseq=3 T 350 2700 5 8 0 1 0 2 1 pintype=pas T 350 2700 9 8 1 1 0 0 1 pinlabel=C1- } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=4 T 200 2250 5 8 0 1 0 8 1 pinseq=4 T 350 2300 5 8 0 1 0 2 1 pintype=pas T 350 2300 9 8 1 1 0 0 1 pinlabel=C2+ } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=5 T 200 1850 5 8 0 1 0 8 1 pinseq=5 T 350 1900 5 8 0 1 0 2 1 pintype=pas T 350 1900 9 8 1 1 0 0 1 pinlabel=C2- } P 1700 2300 2000 2300 1 0 1 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=6 T 1800 2250 5 8 0 1 0 2 1 pinseq=6 T 1650 2300 5 8 0 1 0 8 1 pintype=pas T 1650 2300 9 8 1 1 0 6 1 pinlabel=V- } V 1020 1500 20 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 L 1040 1500 1100 1500 3 0 0 0 -1 -1 L 850 1500 750 1500 3 0 0 0 -1 -1 L 1000 1500 850 1600 3 0 0 0 -1 -1 L 850 1600 850 1400 3 0 0 0 -1 -1 L 850 1400 1000 1500 3 0 0 0 -1 -1 L 850 700 750 700 3 0 0 0 -1 -1 L 850 800 1000 700 3 0 0 0 -1 -1 L 850 800 850 600 3 0 0 0 -1 -1 L 1000 700 850 600 3 0 0 0 -1 -1 V 1020 700 20 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 L 1040 700 1100 700 3 0 0 0 -1 -1 L 960 1100 900 1100 3 0 0 0 -1 -1 V 980 1100 20 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 L 1000 1100 1150 1000 3 0 0 0 -1 -1 L 1150 1200 1150 1000 3 0 0 0 -1 -1 L 1150 1200 1000 1100 3 0 0 0 -1 -1 L 1150 1100 1250 1100 3 0 0 0 -1 -1 L 1150 300 1250 300 3 0 0 0 -1 -1 L 1150 400 1000 300 3 0 0 0 -1 -1 L 1150 400 1150 200 3 0 0 0 -1 -1 L 1000 300 1150 200 3 0 0 0 -1 -1 V 980 300 20 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 L 960 300 900 300 3 0 0 0 -1 -1 T 1700 3500 8 10 1 1 0 6 1 refdes=U? T 300 4450 5 10 0 0 0 0 1 net=Vcc:16 T 300 4250 5 10 0 0 0 0 1 net=GND:15 T 300 4050 5 10 0 0 0 0 1 footprint=DIP16 T 300 4850 5 10 0 0 0 0 1 description=RS-232 transceivers with 0.1uF external capacitors T 300 3650 5 10 0 0 0 0 1 numslots=0 T 300 4650 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX200-MAX213.pdf T 300 3450 3 8 1 0 0 0 1 MAX202 T 300 5050 5 10 0 0 0 0 1 symversion=1.0 B 300 0 1400 3400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/maxim/max233-1.sym0000664000175000017500000001164312204104272014607 00000000000000v 20041228 1 P 300 4300 0 4300 1 0 1 { T 200 4350 5 8 1 1 0 6 1 pinnumber=2 T 200 4250 5 8 0 1 0 8 1 pinseq=2 T 350 4300 9 8 1 1 0 0 1 pinlabel=T1in T 350 4300 5 8 0 1 0 2 1 pintype=in } P 300 3900 0 3900 1 0 1 { T 200 3950 5 8 1 1 0 6 1 pinnumber=3 T 200 3850 5 8 0 1 0 8 1 pinseq=3 T 350 3900 9 8 1 1 0 0 1 pinlabel=R1out T 350 3900 5 8 0 1 0 2 1 pintype=out } P 2600 3900 2300 3900 1 0 0 { T 2400 3950 5 8 1 1 0 0 1 pinnumber=4 T 2400 3850 5 8 0 1 0 2 1 pinseq=4 T 2250 3900 9 8 1 1 0 6 1 pinlabel=R1in T 2250 3900 5 8 0 1 0 8 1 pintype=in } P 2600 4300 2300 4300 1 0 0 { T 2400 4350 5 8 1 1 0 0 1 pinnumber=5 T 2400 4250 5 8 0 1 0 2 1 pinseq=5 T 2250 4300 9 8 1 1 0 6 1 pinlabel=T1out T 2250 4300 5 8 0 1 0 8 1 pintype=out } P 1200 300 1200 0 1 0 1 { T 1250 100 5 8 1 1 0 0 1 pinnumber=6 T 1250 100 5 8 0 1 0 2 1 pinseq=6 T 1200 350 9 8 1 1 0 3 1 pinlabel=GND T 1200 500 5 8 0 1 0 3 1 pintype=pwr } P 1400 4800 1400 5100 1 0 1 { T 1400 4750 9 8 1 1 0 5 1 pinlabel=Vcc T 1450 4900 5 8 1 1 0 0 1 pinnumber=7 T 1450 4900 5 8 0 1 0 2 1 pinseq=7 T 1400 4600 5 8 0 1 0 5 1 pintype=pwr } P 300 2200 0 2200 1 0 1 { T 200 2250 5 8 1 1 0 6 1 pinnumber=8 T 200 2150 5 8 0 1 0 8 1 pinseq=8 T 350 2200 9 8 1 1 0 0 1 pinlabel=V+ T 350 2200 5 8 0 1 0 2 1 pintype=pas } T 300 4850 9 8 1 0 0 0 1 MAX233 P 2300 2900 2600 2900 1 0 1 { T 2400 2950 5 8 1 1 0 0 1 pinnumber=19 T 2400 2850 5 8 0 1 0 2 1 pinseq=19 T 2250 2900 9 8 1 1 0 6 1 pinlabel=R2in T 2250 2900 5 8 0 1 0 8 1 pintype=in } P 0 2900 300 2900 1 0 0 { T 200 2950 5 8 1 1 0 6 1 pinnumber=20 T 200 2850 5 8 0 1 0 8 1 pinseq=20 T 350 2900 9 8 1 1 0 0 1 pinlabel=R2out T 350 2900 5 8 0 1 0 2 1 pintype=out } P 2300 2200 2600 2200 1 0 1 { T 2400 2250 5 8 1 1 0 0 1 pinnumber=11 T 2400 2150 5 8 0 1 0 2 1 pinseq=11 T 2250 2200 9 8 1 1 0 6 1 pinlabel=C2- T 2250 2200 5 8 0 1 0 8 1 pintype=pas } P 2300 3300 2600 3300 1 0 1 { T 2250 3300 9 8 1 1 0 6 1 pinlabel=T2out T 2400 3350 5 8 1 1 0 0 1 pinnumber=18 T 2400 3250 5 8 0 1 0 2 1 pinseq=18 T 2250 3300 5 8 0 1 0 8 1 pintype=out } T 300 5800 5 10 0 0 0 0 1 device=MAX232 P 300 3300 0 3300 1 0 1 { T 200 3350 5 8 1 1 0 6 1 pinnumber=1 T 200 3250 5 8 0 1 0 8 1 pinseq=1 T 350 3300 9 8 1 1 0 0 1 pinlabel=T2in T 350 3300 5 8 0 1 0 2 1 pintype=in } T 2300 4900 8 10 1 1 0 6 1 refdes=U? V 1525 4300 25 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 1100 4100 1100 4500 3 0 0 0 -1 -1 L 1500 4300 1100 4100 3 0 0 0 -1 -1 L 1100 4500 1500 4300 3 0 0 0 -1 -1 V 1125 3900 25 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 1550 3700 1550 4100 3 0 0 0 -1 -1 L 1150 3900 1550 3700 3 0 0 0 -1 -1 L 1550 4100 1150 3900 3 0 0 0 -1 -1 V 1525 3300 25 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 1100 3100 1100 3500 3 0 0 0 -1 -1 L 1500 3300 1100 3100 3 0 0 0 -1 -1 L 1100 3500 1500 3300 3 0 0 0 -1 -1 V 1125 2900 25 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 1550 2700 1550 3100 3 0 0 0 -1 -1 L 1150 2900 1550 2700 3 0 0 0 -1 -1 L 1550 3100 1150 2900 3 0 0 0 -1 -1 L 1550 4300 1800 4300 3 0 0 0 -1 -1 L 1100 4300 900 4300 3 0 0 0 -1 -1 L 900 3900 1100 3900 3 0 0 0 -1 -1 L 1550 3900 1800 3900 3 0 0 0 -1 -1 L 900 3300 1100 3300 3 0 0 0 -1 -1 L 1550 3300 1800 3300 3 0 0 0 -1 -1 L 1550 2900 1800 2900 3 0 0 0 -1 -1 L 1100 2900 900 2900 3 0 0 0 -1 -1 T 300 5400 5 10 0 0 0 0 1 comment=SO package only: Pins 8,10-14 different on DIP T 300 5600 5 10 0 0 0 0 1 footprint=SO20 B 300 300 2000 4500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=10 T 200 1850 5 8 0 1 0 8 1 pinseq=10 T 350 1900 9 8 1 1 0 0 1 pinlabel=V- T 350 1900 5 8 0 1 0 2 1 pintype=pas } P 0 1600 300 1600 1 0 0 { T 350 1600 9 8 1 1 0 0 1 pinlabel=V- T 200 1650 5 8 1 1 0 6 1 pinnumber=17 T 200 1550 5 8 0 1 0 8 1 pinseq=17 T 350 1600 5 8 0 1 0 2 1 pintype=pas } P 1700 300 1700 0 1 0 1 { T 1750 100 5 8 1 1 0 0 1 pinnumber=9 T 1750 100 5 8 0 1 0 2 1 pinseq=9 T 1700 350 9 8 1 1 0 3 1 pinlabel=GND T 1700 500 5 8 0 1 0 3 1 pintype=pwr } P 2300 2500 2600 2500 1 0 1 { T 2400 2550 5 8 1 1 0 0 1 pinnumber=16 T 2400 2450 5 8 0 1 0 2 1 pinseq=16 T 2250 2500 9 8 1 1 0 6 1 pinlabel=C2- T 2250 2500 5 8 0 1 0 8 1 pintype=pas } P 2300 1400 2600 1400 1 0 1 { T 2400 1450 5 8 1 1 0 0 1 pinnumber=15 T 2400 1350 5 8 0 1 0 2 1 pinseq=15 T 2250 1400 9 8 1 1 0 6 1 pinlabel=C2+ T 2250 1400 5 8 0 1 0 8 1 pintype=pas } P 2300 1700 2600 1700 1 0 1 { T 2400 1750 5 8 1 1 0 0 1 pinnumber=12 T 2400 1650 5 8 0 1 0 2 1 pinseq=12 T 2250 1700 9 8 1 1 0 6 1 pinlabel=C2+ T 2250 1700 5 8 0 1 0 8 1 pintype=pas } T 300 6200 5 10 0 0 0 0 1 description=multichannel RS-232 driver/receiver T 300 6000 5 10 0 0 0 0 1 numslots=0 T 300 6400 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX220-MAX249.pdf T 300 6600 5 10 0 0 0 0 1 symversion=1.0 P 2300 1000 2600 1000 1 0 1 { T 2400 1050 5 8 1 1 0 0 1 pinnumber=14 T 2400 950 5 8 0 1 0 2 1 pinseq=14 T 2250 1000 9 8 1 1 0 6 1 pinlabel=C1- T 2250 1000 5 8 0 1 0 8 1 pintype=pas } P 2300 700 2600 700 1 0 1 { T 2400 750 5 8 1 1 0 0 1 pinnumber=13 T 2400 650 5 8 0 1 0 2 1 pinseq=13 T 2250 700 9 8 1 1 0 6 1 pinlabel=C1+ T 2250 700 5 8 0 1 0 8 1 pintype=pas } geda-gaf-1.8.2/symbols/maxim/max237-1.sym0000664000175000017500000001115412204104272014610 00000000000000v 20041228 1 B 300 300 1500 4500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 5200 5 10 0 0 0 0 1 device=MAX237 T 1800 4900 8 10 1 1 0 6 1 refdes=U? P 1800 3000 2100 3000 1 0 1 { T 1900 3050 5 8 1 1 0 0 1 pinnumber=1 T 1900 2950 5 8 0 1 0 2 1 pinseq=1 T 1750 3000 9 8 1 1 0 6 1 pinlabel=T3out T 1750 3000 5 8 0 1 0 8 1 pintype=out } P 1800 3600 2100 3600 1 0 1 { T 1900 3650 5 8 1 1 0 0 1 pinnumber=2 T 1900 3550 5 8 0 1 0 2 1 pinseq=2 T 1750 3600 9 8 1 1 0 6 1 pinlabel=T1out T 1750 3600 5 8 0 1 0 8 1 pintype=out } P 1800 3300 2100 3300 1 0 1 { T 1900 3350 5 8 1 1 0 0 1 pinnumber=3 T 1900 3250 5 8 0 1 0 2 1 pinseq=3 T 1750 3300 9 8 1 1 0 6 1 pinlabel=T2out T 1750 3300 5 8 0 1 0 8 1 pintype=out } P 1800 2100 2100 2100 1 0 1 { T 1900 2150 5 8 1 1 0 0 1 pinnumber=4 T 1900 2050 5 8 0 1 0 2 1 pinseq=4 T 1750 2100 9 8 1 1 0 6 1 pinlabel=R1in T 1750 2100 5 8 0 1 0 8 1 pintype=in } P 300 2100 0 2100 1 0 1 { T 200 2150 5 8 1 1 0 6 1 pinnumber=5 T 200 2050 5 8 0 1 0 8 1 pinseq=5 T 350 2100 9 8 1 1 0 0 1 pinlabel=R1out T 350 2100 5 8 0 1 0 2 1 pintype=out } P 300 3300 0 3300 1 0 1 { T 200 3350 5 8 1 1 0 6 1 pinnumber=6 T 200 3250 5 8 0 1 0 8 1 pinseq=6 T 350 3300 9 8 1 1 0 0 1 pinlabel=T2in T 350 3300 5 8 0 1 0 2 1 pintype=in } P 300 3600 0 3600 1 0 1 { T 200 3650 5 8 1 1 0 6 1 pinnumber=7 T 200 3550 5 8 0 1 0 8 1 pinseq=7 T 350 3600 9 8 1 1 0 0 1 pinlabel=T1in T 350 3600 5 8 0 1 0 2 1 pintype=out } P 1800 600 2100 600 1 0 1 { T 1900 650 5 8 1 1 0 0 1 pinnumber=8 T 1900 550 5 8 0 1 0 2 1 pinseq=8 T 1750 600 9 8 1 1 0 6 1 pinlabel=GND T 1750 600 5 8 0 1 0 8 1 pintype=pwr } P 1800 4500 2100 4500 1 0 1 { T 1900 4550 5 8 1 1 0 0 1 pinnumber=9 T 1900 4450 5 8 0 1 0 2 1 pinseq=9 T 1750 4500 9 8 1 1 0 6 1 pinlabel=Vcc T 1750 4500 5 8 0 1 0 8 1 pintype=pwr } P 300 4500 0 4500 1 0 1 { T 200 4550 5 8 1 1 0 6 1 pinnumber=10 T 200 4450 5 8 0 1 0 8 1 pinseq=10 T 350 4500 9 8 1 1 0 0 1 pinlabel=C1+ T 350 4500 5 8 0 1 0 2 1 pintype=pas } P 1200 4800 1200 5100 1 0 1 { T 1250 4900 5 8 1 1 0 0 1 pinnumber=11 T 1250 4900 5 8 0 1 0 2 1 pinseq=11 T 1200 4750 9 8 1 1 0 5 1 pinlabel=V+ T 1200 4600 5 8 0 1 0 5 1 pintype=pas } P 300 3900 0 3900 1 0 1 { T 200 3950 5 8 1 1 0 6 1 pinnumber=12 T 200 3850 5 8 0 1 0 8 1 pinseq=12 T 350 3900 9 8 1 1 0 0 1 pinlabel=C1- T 350 3900 5 8 0 1 0 2 1 pintype=pas } P 300 1200 0 1200 1 0 1 { T 200 1250 5 8 1 1 0 6 1 pinnumber=13 T 200 1150 5 8 0 1 0 8 1 pinseq=13 T 350 1200 9 8 1 1 0 0 1 pinlabel=C2+ T 350 1200 5 8 0 1 0 2 1 pintype=pas } P 300 600 0 600 1 0 1 { T 200 650 5 8 1 1 0 6 1 pinnumber=14 T 200 550 5 8 0 1 0 8 1 pinseq=14 T 350 600 9 8 1 1 0 0 1 pinlabel=C2- T 350 600 5 8 0 1 0 2 1 pintype=pas } P 1200 300 1200 0 1 0 1 { T 1250 100 5 8 1 1 0 0 1 pinnumber=15 T 1250 100 5 8 0 1 0 2 1 pinseq=15 T 1200 350 9 8 1 1 0 3 1 pinlabel=V- T 1200 500 5 8 0 1 0 3 1 pintype=pas } P 1800 1500 2100 1500 1 0 1 { T 1900 1550 5 8 1 1 0 0 1 pinnumber=16 T 1900 1450 5 8 0 1 0 2 1 pinseq=16 T 1750 1500 9 8 1 1 0 6 1 pinlabel=R3in T 1750 1500 5 8 0 1 0 8 1 pintype=in } P 300 1500 0 1500 1 0 1 { T 200 1550 5 8 1 1 0 6 1 pinnumber=17 T 200 1450 5 8 0 1 0 8 1 pinseq=17 T 350 1500 9 8 1 1 0 0 1 pinlabel=R3out T 350 1500 5 8 0 1 0 2 1 pintype=out } P 300 3000 0 3000 1 0 1 { T 200 3050 5 8 1 1 0 6 1 pinnumber=18 T 200 2950 5 8 0 1 0 8 1 pinseq=18 T 350 3000 9 8 1 1 0 0 1 pinlabel=T3in T 350 3000 5 8 0 1 0 2 1 pintype=in } P 300 2700 0 2700 1 0 1 { T 200 2750 5 8 1 1 0 6 1 pinnumber=19 T 200 2650 5 8 0 1 0 8 1 pinseq=19 T 350 2700 9 8 1 1 0 0 1 pinlabel=T4in T 350 2700 5 8 0 1 0 2 1 pintype=in } P 1800 2400 2100 2400 1 0 1 { T 1900 2450 5 8 1 1 0 0 1 pinnumber=20 T 1900 2350 5 8 0 1 0 2 1 pinseq=20 T 1750 2400 9 8 1 1 0 6 1 pinlabel=T5out T 1750 2400 5 8 0 1 0 8 1 pintype=out } P 300 2400 0 2400 1 0 1 { T 200 2450 5 8 1 1 0 6 1 pinnumber=21 T 200 2350 5 8 0 1 0 8 1 pinseq=21 T 350 2400 9 8 1 1 0 0 1 pinlabel=T5in T 350 2400 5 8 0 1 0 2 1 pintype=in } P 300 1800 0 1800 1 0 1 { T 200 1850 5 8 1 1 0 6 1 pinnumber=22 T 200 1750 5 8 0 1 0 8 1 pinseq=22 T 350 1800 9 8 1 1 0 0 1 pinlabel=R2out T 350 1800 5 8 0 1 0 2 1 pintype=out } P 1800 1800 2100 1800 1 0 1 { T 1900 1850 5 8 1 1 0 0 1 pinnumber=23 T 1900 1750 5 8 0 1 0 2 1 pinseq=23 T 1750 1800 9 8 1 1 0 6 1 pinlabel=R2in T 1750 1800 5 8 0 1 0 8 1 pintype=in } P 1800 2700 2100 2700 1 0 1 { T 1900 2750 5 8 1 1 0 0 1 pinnumber=24 T 1900 2650 5 8 0 1 0 2 1 pinseq=24 T 1750 2700 9 8 1 1 0 6 1 pinlabel=T4out T 1750 2700 5 8 0 1 0 8 1 pintype=out } T 300 5600 5 10 0 0 0 0 1 footprint=DIP24 T 300 5800 5 10 0 0 0 0 1 description=multichannel RS-232 driver/receiver T 300 5400 5 10 0 0 0 0 1 numslots=0 T 300 6000 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX220-MAX249.pdf T 300 4850 3 10 1 0 0 0 1 MAX237 geda-gaf-1.8.2/symbols/maxim/max663-1.sym0000664000175000017500000000345412204104272014617 00000000000000v 20041228 1 B 300 300 1800 1800 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 T 300 2350 5 10 0 0 0 0 1 device=MAX663 T 2100 2200 8 10 1 1 0 6 1 refdes=U? P 2100 1800 2400 1800 1 0 1 { T 2200 1850 5 8 1 1 0 0 1 pinnumber=1 T 2200 1750 5 8 0 1 0 2 1 pinseq=1 T 2050 1800 9 8 1 1 0 6 1 pinlabel=SENSE T 2050 1800 5 8 0 1 0 8 1 pintype=in } P 2100 1200 2400 1200 1 0 1 { T 2200 1250 5 8 1 1 0 0 1 pinnumber=2 T 2200 1150 5 8 0 1 0 2 1 pinseq=2 T 2050 1200 9 8 1 1 0 6 1 pinlabel=VOUT2 T 2050 1200 5 8 0 1 0 8 1 pintype=out } P 2100 600 2400 600 1 0 1 { T 2200 650 5 8 1 1 0 0 1 pinnumber=3 T 2200 550 5 8 0 1 0 2 1 pinseq=3 T 2050 600 9 8 1 1 0 6 1 pinlabel=VOUT1 T 2050 600 5 8 0 1 0 8 1 pintype=out } P 900 300 900 0 1 0 1 { T 950 100 5 8 1 1 0 0 1 pinnumber=4 T 950 100 5 8 0 1 0 2 1 pinseq=4 T 900 350 9 8 1 1 90 1 1 pinlabel=GND T 900 500 5 8 0 1 0 3 1 pintype=pwr } P 600 300 600 0 1 0 1 { T 650 100 5 8 1 1 0 0 1 pinnumber=5 T 650 100 5 8 0 1 0 2 1 pinseq=5 T 600 350 9 8 1 1 90 1 1 pinlabel=SHDN T 600 500 5 8 0 1 0 3 1 pintype=in } P 1200 300 1200 0 1 0 1 { T 1250 100 5 8 1 1 0 0 1 pinnumber=6 T 1250 100 5 8 0 1 0 2 1 pinseq=6 T 1200 350 9 8 1 1 90 1 1 pinlabel=VSET T 1200 500 5 8 0 1 0 3 1 pintype=in } P 300 1200 0 1200 1 0 1 { T 200 1250 5 8 1 1 0 6 1 pinnumber=7 T 200 1150 5 8 0 1 0 8 1 pinseq=7 T 350 1200 9 8 1 1 0 0 1 pinlabel=VTC T 350 1200 5 8 0 1 0 2 1 pintype=out } P 300 1800 0 1800 1 0 1 { T 200 1850 5 8 1 1 0 6 1 pinnumber=8 T 200 1750 5 8 0 1 0 8 1 pinseq=8 T 350 1800 9 8 1 1 0 0 1 pinlabel=VIN (POS) T 350 1800 5 8 0 1 0 2 1 pintype=in } T 300 2750 5 10 0 0 0 0 1 footprint=DIP8 T 300 2950 5 10 0 0 0 0 1 description=dual mode 5V/programmable voltage regulator T 300 2550 5 10 0 0 0 0 1 numslots=0 T 300 3150 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX663-MAX666.pdf T 300 2150 3 10 1 0 0 0 1 MAX663 geda-gaf-1.8.2/symbols/maxim/max1080-1.sym0000664000175000017500000001006412204104272014664 00000000000000v 20070626 1 T 300 3750 5 10 0 0 0 0 1 footprint=TSSOP20 B 300 0 1500 3300 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 T 300 3550 5 10 0 0 0 0 1 device=MAX1080 T 1800 3400 8 10 1 1 0 6 1 refdes=U? P 300 3000 0 3000 1 0 1 { T 200 2950 5 8 0 1 0 8 1 pinseq=1 T 200 3050 5 8 1 1 0 6 1 pinnumber=1 T 350 3000 5 8 0 1 0 2 1 pintype=in T 350 3000 9 8 1 1 0 0 1 pinlabel=CH0 } P 300 2700 0 2700 1 0 1 { T 200 2650 5 8 0 1 0 8 1 pinseq=2 T 200 2750 5 8 1 1 0 6 1 pinnumber=2 T 350 2700 5 8 0 1 0 2 1 pintype=in T 350 2700 9 8 1 1 0 0 1 pinlabel=CH1 } P 300 2400 0 2400 1 0 1 { T 200 2350 5 8 0 1 0 8 1 pinseq=3 T 200 2450 5 8 1 1 0 6 1 pinnumber=3 T 350 2400 5 8 0 1 0 2 1 pintype=in T 350 2400 9 8 1 1 0 0 1 pinlabel=CH2 } P 300 2100 0 2100 1 0 1 { T 200 2050 5 8 0 1 0 8 1 pinseq=4 T 200 2150 5 8 1 1 0 6 1 pinnumber=4 T 350 2100 5 8 0 1 0 2 1 pintype=in T 350 2100 9 8 1 1 0 0 1 pinlabel=CH3 } P 300 1800 0 1800 1 0 1 { T 200 1750 5 8 0 1 0 8 1 pinseq=5 T 200 1850 5 8 1 1 0 6 1 pinnumber=5 T 350 1800 5 8 0 1 0 2 1 pintype=in T 350 1800 9 8 1 1 0 0 1 pinlabel=CH4 } P 300 1500 0 1500 1 0 1 { T 200 1450 5 8 0 1 0 8 1 pinseq=6 T 200 1550 5 8 1 1 0 6 1 pinnumber=6 T 350 1500 5 8 0 1 0 2 1 pintype=in T 350 1500 9 8 1 1 0 0 1 pinlabel=CH5 } P 300 1200 0 1200 1 0 1 { T 200 1150 5 8 0 1 0 8 1 pinseq=7 T 200 1250 5 8 1 1 0 6 1 pinnumber=7 T 350 1200 5 8 0 1 0 2 1 pintype=in T 350 1200 9 8 1 1 0 0 1 pinlabel=CH6 } P 300 900 0 900 1 0 1 { T 200 850 5 8 0 1 0 8 1 pinseq=8 T 200 950 5 8 1 1 0 6 1 pinnumber=8 T 350 900 5 8 0 1 0 2 1 pintype=in T 350 900 9 8 1 1 0 0 1 pinlabel=CH7 } P 300 600 0 600 1 0 1 { T 200 550 5 8 0 1 0 8 1 pinseq=9 T 200 650 5 8 1 1 0 6 1 pinnumber=9 T 350 600 5 8 0 1 0 2 1 pintype=pwr T 350 600 9 8 1 1 0 0 1 pinlabel=COM } V 250 300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 200 300 0 300 1 0 1 { T 200 250 5 8 0 1 0 8 1 pinseq=10 T 200 350 5 8 1 1 0 6 1 pinnumber=10 T 350 300 5 8 0 1 0 2 1 pintype=in T 350 300 9 8 1 1 0 0 1 pinlabel=\_SHDN\_ } P 1800 3000 2100 3000 1 0 1 { T 1900 2950 5 8 0 1 0 2 1 pinseq=11 T 1900 3050 5 8 1 1 0 0 1 pinnumber=20 T 1750 3000 5 8 0 1 0 8 1 pintype=pwr T 1750 3000 9 8 1 1 0 6 1 pinlabel=VDD1 } P 1800 2700 2100 2700 1 0 1 { T 1900 2650 5 8 0 1 0 2 1 pinseq=12 T 1900 2750 5 8 1 1 0 0 1 pinnumber=19 T 1750 2700 5 8 0 1 0 8 1 pintype=pwr T 1750 2700 9 8 1 1 0 6 1 pinlabel=VDD2 } L 1800 2500 1700 2400 3 0 0 0 -1 -1 L 1800 2300 1700 2400 3 0 0 0 -1 -1 P 1800 2400 2100 2400 1 0 1 { T 1900 2350 5 8 0 1 0 2 1 pinseq=13 T 1900 2450 5 8 1 1 0 0 1 pinnumber=18 T 1750 2400 5 8 0 1 0 8 1 pintype=in T 1700 2400 9 8 1 1 0 6 1 pinlabel=SCLK } V 1850 2100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1900 2100 2100 2100 1 0 1 { T 1900 2050 5 8 0 1 0 2 1 pinseq=14 T 1900 2150 5 8 1 1 0 0 1 pinnumber=17 T 1750 2100 5 8 0 1 0 8 1 pintype=in T 1750 2100 9 8 1 1 0 6 1 pinlabel=\_CS\_ } P 1800 1800 2100 1800 1 0 1 { T 1900 1750 5 8 0 1 0 2 1 pinseq=15 T 1900 1850 5 8 1 1 0 0 1 pinnumber=16 T 1750 1800 5 8 0 1 0 8 1 pintype=in T 1750 1800 9 8 1 1 0 6 1 pinlabel=DIN } P 1800 1500 2100 1500 1 0 1 { T 1900 1450 5 8 0 1 0 2 1 pinseq=16 T 1900 1550 5 8 1 1 0 0 1 pinnumber=15 T 1750 1500 5 8 0 1 0 8 1 pintype=out T 1750 1500 9 8 1 1 0 6 1 pinlabel=SSTRB } P 1800 1200 2100 1200 1 0 1 { T 1900 1150 5 8 0 1 0 2 1 pinseq=17 T 1900 1250 5 8 1 1 0 0 1 pinnumber=14 T 1750 1200 5 8 0 1 0 8 1 pintype=out T 1750 1200 9 8 1 1 0 6 1 pinlabel=DOUT } P 1800 900 2100 900 1 0 1 { T 1900 850 5 8 0 1 0 2 1 pinseq=18 T 1900 950 5 8 1 1 0 0 1 pinnumber=13 T 1750 900 5 8 0 1 0 8 1 pintype=pwr T 1750 900 9 8 1 1 0 6 1 pinlabel=GND } P 1800 600 2100 600 1 0 1 { T 1900 550 5 8 0 1 0 2 1 pinseq=19 T 1900 650 5 8 1 1 0 0 1 pinnumber=12 T 1750 600 5 8 0 1 0 8 1 pintype=in T 1750 600 9 8 1 1 0 6 1 pinlabel=REFADJ } P 1800 300 2100 300 1 0 1 { T 1900 250 5 8 0 1 0 2 1 pinseq=20 T 1900 350 5 8 1 1 0 0 1 pinnumber=11 T 1750 300 5 8 0 1 0 8 1 pintype=io T 1750 300 9 8 1 1 0 6 1 pinlabel=REF } T 300 4150 5 10 0 0 0 0 1 numslots=0 T 300 4350 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX1080-MAX1081.pdf T 300 3950 5 10 0 0 0 0 1 description=8 channel, serial 10-bit ADC with internal reference T 300 3350 3 10 1 0 0 0 1 MAX1080 geda-gaf-1.8.2/symbols/maxim/max535-1.sym0000664000175000017500000000467212204104272014620 00000000000000v 20070626 1 T 800 2200 5 10 0 0 0 0 1 device=MAX535 P 1900 900 2200 900 1 0 1 { T 2000 950 5 8 1 1 0 0 1 pinnumber=1 T 2000 850 5 8 0 1 0 2 1 pinseq=1 T 1850 900 9 8 1 1 0 6 1 pinlabel=OUT T 1850 900 5 8 0 1 0 8 1 pintype=out } P 0 900 200 900 1 0 0 { T 200 950 5 8 1 1 0 6 1 pinnumber=2 T 200 850 5 8 0 1 0 8 1 pinseq=2 T 350 900 9 8 1 1 0 0 1 pinlabel=\_CS\_ T 350 900 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=3 T 200 1450 5 8 0 1 0 8 1 pinseq=3 T 350 1500 9 8 1 1 0 0 1 pinlabel=DIN T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1200 300 1200 1 0 0 { T 200 1250 5 8 1 1 0 6 1 pinnumber=4 T 200 1150 5 8 0 1 0 8 1 pinseq=4 T 350 1200 9 8 1 1 0 0 1 pinlabel=SCLK T 350 1200 5 8 0 1 0 2 1 pintype=clk } P 1900 1200 2200 1200 1 0 1 { T 2000 1250 5 8 1 1 0 0 1 pinnumber=5 T 2000 1150 5 8 0 1 0 2 1 pinseq=5 T 1850 1200 9 8 1 1 0 6 1 pinlabel=FB T 1850 1200 5 8 0 1 0 8 1 pintype=in } P 1900 1500 2200 1500 1 0 1 { T 2000 1550 5 8 1 1 0 0 1 pinnumber=6 T 2000 1450 5 8 0 1 0 2 1 pinseq=6 T 1850 1500 9 8 1 1 0 6 1 pinlabel=REF T 1850 1500 5 8 0 1 0 8 1 pintype=in } P 1100 300 1100 0 1 0 1 { T 1150 100 5 8 1 1 0 0 1 pinnumber=7 T 1150 100 5 8 0 1 0 2 1 pinseq=7 T 1100 350 9 8 1 1 0 3 1 pinlabel=GND T 1100 500 5 8 0 1 0 3 1 pintype=pwr } P 1100 2000 1100 1700 1 0 0 { T 1150 1800 5 8 1 1 0 0 1 pinnumber=8 T 1150 1800 5 8 0 1 0 2 1 pinseq=8 T 1100 1650 9 8 1 1 0 5 1 pinlabel=Vcc T 1100 1500 5 8 0 1 0 5 1 pintype=pwr } L 1100 1000 1100 800 3 0 0 0 -1 -1 L 1100 800 1300 900 3 0 0 0 -1 -1 L 1300 900 1100 1000 3 0 0 0 -1 -1 L 1000 900 800 900 3 0 0 0 -1 -1 L 800 900 800 800 3 0 0 0 -1 -1 L 800 800 1000 800 3 0 0 0 -1 -1 L 1000 800 1040 850 3 0 0 0 -1 -1 L 1040 850 1000 900 3 0 0 0 -1 -1 L 1000 900 900 900 3 0 0 0 -1 -1 L 1100 850 1040 850 3 0 0 0 -1 -1 L 1140 860 1140 840 3 0 0 0 -1 -1 L 1130 850 1150 850 3 0 0 0 -1 -1 L 1130 950 1150 950 3 0 0 0 -1 -1 L 1450 1200 1050 1200 3 0 0 0 -1 -1 L 1050 1200 1050 950 3 0 0 0 -1 -1 L 1050 950 1100 950 3 0 0 0 -1 -1 L 1450 900 1300 900 3 0 0 0 -1 -1 T 1900 1800 8 10 1 1 0 6 1 refdes=U? T 800 2400 5 10 0 0 0 0 1 footprint=uMAX8 B 300 300 1600 1400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 800 2800 5 10 0 0 0 0 1 description=low-power, serial 13-bit voltage-output DAC T 800 2600 5 10 0 0 0 0 1 numslots=0 T 800 3000 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX535-MAX5351.pdf T 838 818 3 4 1 0 0 0 1 DAC T 200 1800 9 10 1 0 0 0 1 MAX535 V 250 900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/maxim/max1609-1.sym0000664000175000017500000000652212204104272014677 00000000000000v 20040111 1 T 300 3350 5 10 0 0 0 0 1 footprint=QSOP16 B 300 0 1500 2700 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 T 300 3150 5 10 0 0 0 0 1 device=MAX1609 T 1800 2800 8 10 1 1 0 6 1 refdes=U? P 300 2400 0 2400 1 0 1 { T 200 2350 5 8 0 1 0 8 1 pinseq=1 T 200 2450 5 8 1 1 0 6 1 pinnumber=1 T 350 2400 5 8 0 1 0 2 1 pintype=io T 350 2400 9 8 1 1 0 0 1 pinlabel=IO0 } P 300 2100 0 2100 1 0 1 { T 200 2050 5 8 0 1 0 8 1 pinseq=2 T 200 2150 5 8 1 1 0 6 1 pinnumber=2 T 350 2100 5 8 0 1 0 2 1 pintype=io T 350 2100 9 8 1 1 0 0 1 pinlabel=IO1 } P 300 1800 0 1800 1 0 1 { T 200 1750 5 8 0 1 0 8 1 pinseq=3 T 200 1850 5 8 1 1 0 6 1 pinnumber=3 T 350 1800 5 8 0 1 0 2 1 pintype=io T 350 1800 9 8 1 1 0 0 1 pinlabel=IO2 } P 300 1500 0 1500 1 0 1 { T 200 1450 5 8 0 1 0 8 1 pinseq=4 T 200 1550 5 8 1 1 0 6 1 pinnumber=4 T 350 1500 5 8 0 1 0 2 1 pintype=io T 350 1500 9 8 1 1 0 0 1 pinlabel=IO3 } P 300 1200 0 1200 1 0 1 { T 200 1150 5 8 0 1 0 8 1 pinseq=5 T 200 1250 5 8 1 1 0 6 1 pinnumber=5 T 350 1200 5 8 0 1 0 2 1 pintype=io T 350 1200 9 8 1 1 0 0 1 pinlabel=IO4 } P 300 900 0 900 1 0 1 { T 200 850 5 8 0 1 0 8 1 pinseq=6 T 200 950 5 8 1 1 0 6 1 pinnumber=6 T 350 900 5 8 0 1 0 2 1 pintype=io T 350 900 9 8 1 1 0 0 1 pinlabel=IO5 } P 300 600 0 600 1 0 1 { T 200 550 5 8 0 1 0 8 1 pinseq=7 T 200 650 5 8 1 1 0 6 1 pinnumber=7 T 350 600 5 8 0 1 0 2 1 pintype=io T 350 600 9 8 1 1 0 0 1 pinlabel=IO6 } P 300 300 0 300 1 0 1 { T 200 250 5 8 0 1 0 8 1 pinseq=8 T 200 350 5 8 1 1 0 6 1 pinnumber=8 T 350 300 5 8 0 1 0 2 1 pintype=io T 350 300 9 8 1 1 0 0 1 pinlabel=IO7 } P 1800 2400 2100 2400 1 0 1 { T 1900 2350 5 8 0 1 0 2 1 pinseq=9 T 1900 2450 5 8 1 1 0 0 1 pinnumber=16 T 1750 2400 5 8 0 1 0 8 1 pintype=pwr T 1750 2400 9 8 1 1 0 6 1 pinlabel=Vpp } V 1850 2100 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1900 2100 2100 2100 1 0 1 { T 1900 2050 5 8 0 1 0 2 1 pinseq=10 T 1900 2150 5 8 1 1 0 0 1 pinnumber=15 T 1750 2100 5 8 0 1 0 8 1 pintype=in T 1750 2100 9 8 1 1 0 6 1 pinlabel=SMBSUS } L 1800 1875 1700 1800 3 0 0 0 -1 -1 L 1800 1725 1700 1800 3 0 0 0 -1 -1 P 1800 1800 2100 1800 1 0 1 { T 1900 1750 5 8 0 1 0 2 1 pinseq=11 T 1900 1850 5 8 1 1 0 0 1 pinnumber=14 T 1750 1800 5 8 0 1 0 8 1 pintype=in T 1700 1800 9 8 1 1 0 6 1 pinlabel=SMBCLK } V 1850 1500 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1900 1500 2100 1500 1 0 1 { T 1900 1450 5 8 0 1 0 2 1 pinseq=12 T 1900 1550 5 8 1 1 0 0 1 pinnumber=13 T 1750 1500 5 8 0 1 0 8 1 pintype=out T 1750 1500 9 8 1 1 0 6 1 pinlabel=ALERT } P 1800 1200 2100 1200 1 0 1 { T 1900 1150 5 8 0 1 0 2 1 pinseq=13 T 1900 1250 5 8 1 1 0 0 1 pinnumber=12 T 1750 1200 5 8 0 1 0 8 1 pintype=io T 1750 1200 9 8 1 1 0 6 1 pinlabel=SMBDATA } P 1800 900 2100 900 1 0 1 { T 1900 850 5 8 0 1 0 2 1 pinseq=14 T 1900 950 5 8 1 1 0 0 1 pinnumber=11 T 1750 900 5 8 0 1 0 8 1 pintype=in T 1750 900 9 8 1 1 0 6 1 pinlabel=ADD1 } P 1800 600 2100 600 1 0 1 { T 1900 550 5 8 0 1 0 2 1 pinseq=15 T 1900 650 5 8 1 1 0 0 1 pinnumber=10 T 1750 600 5 8 0 1 0 8 1 pintype=in T 1750 600 9 8 1 1 0 6 1 pinlabel=ADD0 } P 1800 300 2100 300 1 0 1 { T 1900 250 5 8 0 1 0 2 1 pinseq=16 T 1900 350 5 8 1 1 0 0 1 pinnumber=9 T 1750 300 5 8 0 1 0 8 1 pintype=pwr T 1750 300 9 8 1 1 0 6 1 pinlabel=GND } T 300 2950 5 10 0 0 0 0 1 numslots=0 T 300 3550 5 10 0 0 0 0 1 description=octal SMBus-to-parallel IO-expander T 300 3750 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX1608-MAX1609.pdf T 300 2750 3 10 1 0 0 0 1 MAX1609 geda-gaf-1.8.2/symbols/maxim/max1620-1.sym0000664000175000017500000000530012204104272014661 00000000000000v 20070626 1 P 300 3800 0 3800 1 0 1 { T 200 3850 5 8 1 1 0 6 1 pinnumber=1 T 200 3750 5 8 0 1 0 8 1 pinseq=1 T 350 3800 9 8 1 1 0 0 1 pinlabel=DN T 350 3800 5 8 0 1 0 2 1 pintype=in } P 300 3400 0 3400 1 0 1 { T 200 3450 5 8 1 1 0 6 1 pinnumber=2 T 200 3350 5 8 0 1 0 8 1 pinseq=2 T 350 3400 9 8 1 1 0 0 1 pinlabel=UP T 350 3400 5 8 0 1 0 2 1 pintype=in } P 300 3000 0 3000 1 0 1 { T 200 3050 5 8 1 1 0 6 1 pinnumber=3 T 200 2950 5 8 0 1 0 8 1 pinseq=3 T 350 3000 9 8 1 1 0 0 1 pinlabel=BATT T 350 3000 5 8 0 1 0 2 1 pintype=in } P 300 2200 0 2200 1 0 1 { T 200 2250 5 8 1 1 0 6 1 pinnumber=5 T 200 2150 5 8 0 1 0 8 1 pinseq=5 T 350 2200 9 8 1 1 0 0 1 pinlabel=POK T 350 2200 5 8 0 1 0 2 1 pintype=in } P 300 1800 0 1800 1 0 1 { T 200 1850 5 8 1 1 0 6 1 pinnumber=7 T 200 1750 5 8 0 1 0 8 1 pinseq=7 T 350 1800 9 8 1 1 0 0 1 pinlabel=POL T 350 1800 5 8 0 1 0 2 1 pintype=in } P 300 1400 0 1400 1 0 1 { T 200 1450 5 8 1 1 0 6 1 pinnumber=9 T 200 1350 5 8 0 1 0 8 1 pinseq=9 T 350 1400 9 8 1 1 0 0 1 pinlabel=FB T 350 1400 5 8 0 1 0 2 1 pintype=in } P 300 1000 0 1000 1 0 1 { T 200 1050 5 8 1 1 0 6 1 pinnumber=14 T 200 950 5 8 0 1 0 8 1 pinseq=14 T 350 1000 9 8 1 1 0 0 1 pinlabel=LX T 350 1000 5 8 0 1 0 2 1 pintype=in } P 2600 2600 2300 2600 1 0 0 { T 2400 2650 5 8 1 1 0 0 1 pinnumber=6 T 2400 2550 5 8 0 1 0 2 1 pinseq=6 T 2250 2600 9 8 1 1 0 6 1 pinlabel=REF T 2250 2600 5 8 0 1 0 8 1 pintype=out } P 2600 2200 2300 2200 1 0 0 { T 2400 2250 5 8 1 1 0 0 1 pinnumber=8 T 2400 2150 5 8 0 1 0 2 1 pinseq=8 T 2250 2200 9 8 1 1 0 6 1 pinlabel=\_LCDON\_ T 2250 2200 5 8 0 1 0 8 1 pintype=out } P 2600 1800 2300 1800 1 0 0 { T 2400 1850 5 8 1 1 0 0 1 pinnumber=10 T 2400 1750 5 8 0 1 0 2 1 pinseq=10 T 2250 1800 9 8 1 1 0 6 1 pinlabel=DOUT T 2250 1800 5 8 0 1 0 8 1 pintype=out } P 300 600 0 600 1 0 1 { T 200 650 5 8 1 1 0 6 1 pinnumber=15 T 200 550 5 8 0 1 0 8 1 pinseq=15 T 350 600 9 8 1 1 0 0 1 pinlabel=DLO T 350 600 5 8 0 1 0 2 1 pintype=out } P 300 200 0 200 1 0 1 { T 200 250 5 8 1 1 0 6 1 pinnumber=16 T 200 150 5 8 0 1 0 8 1 pinseq=16 T 350 200 9 8 1 1 0 0 1 pinlabel=DHI T 350 200 5 8 0 1 0 2 1 pintype=out } B 300 0 2000 4000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4650 5 10 0 0 0 0 1 device=MAX1620 P 0 2600 200 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=4 T 200 2550 5 8 0 1 0 8 1 pinseq=4 T 350 2600 9 8 1 1 0 0 1 pinlabel=\_SHDN\_ T 350 2600 5 8 0 1 0 2 1 pintype=in } V 250 2600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2300 4100 8 10 1 1 0 6 1 refdes=U? T 300 4450 5 10 0 0 0 0 1 footprint=QSOP16 T 300 5050 5 10 0 0 0 0 1 description=digitally adjustable LCD bias supplies T 300 4250 5 10 0 0 0 0 1 numslots=0 T 300 4850 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX1620-MAX1621.pdf T 300 4050 9 10 1 0 0 0 1 MAX1620 geda-gaf-1.8.2/symbols/maxim/max19538-1.sym0000664000175000017500000001747412204104272015001 00000000000000v 20050313 1 P 100 3500 400 3500 1 0 0 { T 300 3550 5 8 1 1 0 6 1 pinnumber=6 T 300 3450 5 8 0 1 0 8 1 pinseq=6 T 450 3500 9 8 1 1 0 0 1 pinlabel=INN T 450 3500 5 8 0 1 0 2 1 pintype=in } P 100 9200 400 9200 1 0 0 { T 300 9250 5 8 1 1 0 6 1 pinnumber=37 T 300 9150 5 8 0 1 0 8 1 pinseq=37 T 450 9200 9 8 1 1 0 0 1 pinlabel=PD T 450 9200 5 8 0 1 0 2 1 pintype=in } P 100 8900 400 8900 1 0 0 { T 300 8950 5 8 1 1 0 6 1 pinnumber=40 T 300 8850 5 8 0 1 0 8 1 pinseq=40 T 450 8900 9 8 1 1 0 0 1 pinlabel=G_TB T 450 8900 5 8 0 1 0 2 1 pintype=in } P 100 8600 400 8600 1 0 0 { T 300 8650 5 8 1 1 0 6 1 pinnumber=8 T 300 8550 5 8 0 1 0 8 1 pinseq=8 T 450 8600 9 8 1 1 0 0 1 pinlabel=DCE T 450 8600 5 8 0 1 0 2 1 pintype=in } P 100 8300 400 8300 1 0 0 { T 300 8350 5 8 1 1 0 6 1 pinnumber=11 T 300 8250 5 8 0 1 0 8 1 pinseq=11 T 450 8300 9 8 1 1 0 0 1 pinlabel=CLKTYP T 450 8300 5 8 0 1 0 2 1 pintype=in } P 100 7400 400 7400 1 0 0 { T 300 7450 5 8 1 1 0 6 1 pinnumber=1 T 300 7350 5 8 0 1 0 8 1 pinseq=1 T 450 7400 9 8 1 1 0 0 1 pinlabel=REFP T 450 7400 5 8 0 1 0 2 1 pintype=out } P 100 6800 400 6800 1 0 0 { T 300 6850 5 8 1 1 0 6 1 pinnumber=2 T 300 6750 5 8 0 1 0 8 1 pinseq=2 T 450 6800 9 8 1 1 0 0 1 pinlabel=REFN T 450 6800 5 8 0 1 0 2 1 pintype=out } P 100 5900 400 5900 1 0 0 { T 300 5950 5 8 1 1 0 6 1 pinnumber=5 T 300 5850 5 8 0 1 0 8 1 pinseq=5 T 450 5900 9 8 1 1 0 0 1 pinlabel=INP T 450 5900 5 8 0 1 0 2 1 pintype=in } P 100 4700 400 4700 1 0 0 { T 300 4750 5 8 1 1 0 6 1 pinnumber=3 T 300 4650 5 8 0 1 0 8 1 pinseq=3 T 450 4700 9 8 1 1 0 0 1 pinlabel=COM T 450 4700 5 8 0 1 0 2 1 pintype=out } P 3000 9200 3300 9200 1 0 1 { T 3100 9250 5 8 1 1 0 0 1 pinnumber=33 T 3100 9150 5 8 0 1 0 2 1 pinseq=33 T 2950 9200 9 8 1 1 0 6 1 pinlabel=DAV T 2950 9200 5 8 0 1 0 8 1 pintype=out } P 3000 8600 3300 8600 1 0 1 { T 3100 8650 5 8 1 1 0 0 1 pinnumber=32 T 3100 8550 5 8 0 1 0 2 1 pinseq=32 T 2950 8600 9 8 1 1 0 6 1 pinlabel=NC0 T 2950 8600 5 8 0 1 0 8 1 pintype=out } P 3000 8300 3300 8300 1 0 1 { T 3100 8350 5 8 1 1 0 0 1 pinnumber=31 T 3100 8250 5 8 0 1 0 2 1 pinseq=31 T 2950 8300 9 8 1 1 0 6 1 pinlabel=NC1 T 2950 8300 5 8 0 1 0 8 1 pintype=out } P 3000 8000 3300 8000 1 0 1 { T 3100 8050 5 8 1 1 0 0 1 pinnumber=30 T 3100 7950 5 8 0 1 0 2 1 pinseq=30 T 2950 8000 9 8 1 1 0 6 1 pinlabel=D0 T 2950 8000 5 8 0 1 0 8 1 pintype=out } P 3000 7700 3300 7700 1 0 1 { T 3100 7750 5 8 1 1 0 0 1 pinnumber=29 T 3100 7650 5 8 0 1 0 2 1 pinseq=29 T 2950 7700 9 8 1 1 0 6 1 pinlabel=D1 T 2950 7700 5 8 0 1 0 8 1 pintype=out } P 3000 7400 3300 7400 1 0 1 { T 3100 7450 5 8 1 1 0 0 1 pinnumber=28 T 3100 7350 5 8 0 1 0 2 1 pinseq=28 T 2950 7400 9 8 1 1 0 6 1 pinlabel=D2 T 2950 7400 5 8 0 1 0 8 1 pintype=out } P 3000 7100 3300 7100 1 0 1 { T 3100 7150 5 8 1 1 0 0 1 pinnumber=27 T 3100 7050 5 8 0 1 0 2 1 pinseq=27 T 2950 7100 9 8 1 1 0 6 1 pinlabel=D3 T 2950 7100 5 8 0 1 0 8 1 pintype=out } P 3000 6800 3300 6800 1 0 1 { T 3100 6850 5 8 1 1 0 0 1 pinnumber=26 T 3100 6750 5 8 0 1 0 2 1 pinseq=26 T 2950 6800 9 8 1 1 0 6 1 pinlabel=D4 T 2950 6800 5 8 0 1 0 8 1 pintype=out } B 400 400 2600 9600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 3800 6000 8 10 0 0 0 0 1 device=MAX19538 P 100 2100 400 2100 1 0 0 { T 300 2150 5 8 1 1 0 6 1 pinnumber=38 T 300 2050 5 8 0 1 0 8 1 pinseq=38 T 475 2100 9 8 1 1 0 0 1 pinlabel=REFOUT T 475 2100 5 8 0 1 0 2 1 pintype=out } T 1800 6600 8 10 1 1 0 6 1 refdes=U? T 1400 6140 9 10 1 0 0 0 1 MAX19538 P 100 1200 400 1200 1 0 0 { T 300 1250 5 8 1 1 0 6 1 pinnumber=39 T 300 1150 5 8 0 1 0 8 1 pinseq=39 T 475 1200 9 8 1 1 0 0 1 pinlabel=REFIN T 475 1200 5 8 0 1 0 2 1 pintype=in } P 3000 6500 3300 6500 1 0 1 { T 3100 6550 5 8 1 1 0 0 1 pinnumber=25 T 3100 6450 5 8 0 1 0 2 1 pinseq=25 T 2950 6500 9 8 1 1 0 6 1 pinlabel=D5 T 2950 6500 5 8 0 1 0 8 1 pintype=out } P 3000 6200 3300 6200 1 0 1 { T 3100 6250 5 8 1 1 0 0 1 pinnumber=24 T 3100 6150 5 8 0 1 0 2 1 pinseq=24 T 2950 6200 9 8 1 1 0 6 1 pinlabel=D6 T 2950 6200 5 8 0 1 0 8 1 pintype=out } P 3000 5900 3300 5900 1 0 1 { T 3100 5950 5 8 1 1 0 0 1 pinnumber=23 T 3100 5850 5 8 0 1 0 2 1 pinseq=23 T 2950 5900 9 8 1 1 0 6 1 pinlabel=D7 T 2950 5900 5 8 0 1 0 8 1 pintype=out } P 3000 5600 3300 5600 1 0 1 { T 3100 5650 5 8 1 1 0 0 1 pinnumber=22 T 3100 5550 5 8 0 1 0 2 1 pinseq=22 T 2950 5600 9 8 1 1 0 6 1 pinlabel=D8 T 2950 5600 5 8 0 1 0 8 1 pintype=out } P 3000 5300 3300 5300 1 0 1 { T 3100 5350 5 8 1 1 0 0 1 pinnumber=21 T 3100 5250 5 8 0 1 0 2 1 pinseq=21 T 2950 5300 9 8 1 1 0 6 1 pinlabel=D9 T 2950 5300 5 8 0 1 0 8 1 pintype=out } P 3000 5000 3300 5000 1 0 1 { T 3100 5050 5 8 1 1 0 0 1 pinnumber=20 T 3100 4950 5 8 0 1 0 2 1 pinseq=20 T 2950 5000 9 8 1 1 0 6 1 pinlabel=D10 T 2950 5000 5 8 0 1 0 8 1 pintype=out } P 3000 4700 3300 4700 1 0 1 { T 3100 4750 5 8 1 1 0 0 1 pinnumber=19 T 3100 4650 5 8 0 1 0 2 1 pinseq=19 T 2950 4700 9 8 1 1 0 6 1 pinlabel=D11 T 2950 4700 5 8 0 1 0 8 1 pintype=out } P 3000 4100 3300 4100 1 0 1 { T 3100 4150 5 8 1 1 0 0 1 pinnumber=18 T 3100 4050 5 8 0 1 0 2 1 pinseq=18 T 2950 4100 9 8 1 1 0 6 1 pinlabel=DOR T 2950 4100 5 8 0 1 0 8 1 pintype=out } P 3000 3000 3300 3000 1 0 1 { T 3100 3050 5 8 1 1 0 0 1 pinnumber=10 T 3100 2950 5 8 0 1 0 2 1 pinseq=10 T 2950 3000 9 8 1 1 0 6 1 pinlabel=CLKP T 2950 3000 5 8 0 1 0 8 1 pintype=in } P 3000 1800 3300 1800 1 0 1 { T 3100 1850 5 8 1 1 0 0 1 pinnumber=9 T 3100 1750 5 8 0 1 0 2 1 pinseq=9 T 2950 1800 9 8 1 1 0 6 1 pinlabel=CLKN T 2950 1800 5 8 0 1 0 8 1 pintype=in } P 1000 400 1000 100 1 0 1 { T 1050 300 5 8 1 1 270 0 1 pinnumber=4 T 950 300 5 8 0 1 270 2 1 pinseq=4 T 1000 450 9 8 1 1 270 6 1 pinlabel=GND T 1000 450 5 8 0 1 270 8 1 pintype=pwr } P 1300 400 1300 100 1 0 1 { T 1350 300 5 8 1 1 270 0 1 pinnumber=7 T 1250 300 5 8 0 1 270 2 1 pinseq=7 T 1300 450 9 8 1 1 270 6 1 pinlabel=GND T 1300 450 5 8 0 1 270 8 1 pintype=pwr } P 1900 400 1900 100 1 0 1 { T 1950 300 5 8 1 1 270 0 1 pinnumber=16 T 1850 300 5 8 0 1 270 2 1 pinseq=16 T 1900 450 9 8 1 1 270 6 1 pinlabel=OGND T 1900 450 5 8 0 1 270 8 1 pintype=pwr } P 2200 400 2200 100 1 0 1 { T 2250 300 5 8 1 1 270 0 1 pinnumber=35 T 2150 300 5 8 0 1 270 2 1 pinseq=35 T 2200 450 9 8 1 1 270 6 1 pinlabel=OGND T 2200 450 5 8 0 1 270 8 1 pintype=pwr } P 600 10300 600 10000 1 0 0 { T 650 10100 5 8 1 1 270 6 1 pinnumber=12 T 550 10100 5 8 0 1 270 8 1 pinseq=12 T 600 9950 9 8 1 1 270 0 1 pinlabel=VDD T 600 9950 5 8 0 1 270 2 1 pintype=pwr } P 900 10300 900 10000 1 0 0 { T 950 10100 5 8 1 1 270 6 1 pinnumber=13 T 850 10100 5 8 0 1 270 8 1 pinseq=13 T 900 9950 9 8 1 1 270 0 1 pinlabel=VDD T 900 9950 5 8 0 1 270 2 1 pintype=pwr } P 1200 10300 1200 10000 1 0 0 { T 1250 10100 5 8 1 1 270 6 1 pinnumber=14 T 1150 10100 5 8 0 1 270 8 1 pinseq=14 T 1200 9950 9 8 1 1 270 0 1 pinlabel=VDD T 1200 9950 5 8 0 1 270 2 1 pintype=pwr } P 1500 10300 1500 10000 1 0 0 { T 1550 10100 5 8 1 1 270 6 1 pinnumber=15 T 1450 10100 5 8 0 1 270 8 1 pinseq=15 T 1500 9950 9 8 1 1 270 0 1 pinlabel=VDD T 1500 9950 5 8 0 1 270 2 1 pintype=pwr } P 1800 10300 1800 10000 1 0 0 { T 1850 10100 5 8 1 1 270 6 1 pinnumber=36 T 1750 10100 5 8 0 1 270 8 1 pinseq=36 T 1800 9950 9 8 1 1 270 0 1 pinlabel=VDD T 1800 9950 5 8 0 1 270 2 1 pintype=pwr } P 2300 10300 2300 10000 1 0 0 { T 2350 10100 5 8 1 1 270 6 1 pinnumber=17 T 2250 10100 5 8 0 1 270 8 1 pinseq=17 T 2300 9950 9 8 1 1 270 0 1 pinlabel=OVDD T 2300 9950 5 8 0 1 270 2 1 pintype=pwr } P 2600 10300 2600 10000 1 0 0 { T 2650 10100 5 8 1 1 270 6 1 pinnumber=34 T 2550 10100 5 8 0 1 270 8 1 pinseq=34 T 2600 9950 9 8 1 1 270 0 1 pinlabel=OVDD T 2600 9950 5 8 0 1 270 2 1 pintype=pwr } P 600 400 600 100 1 0 1 { T 650 300 5 8 1 1 270 0 1 pinnumber=41 T 550 300 5 8 0 1 270 2 1 pinseq=41 T 600 450 9 8 1 1 270 6 1 pinlabel=PADDLE T 600 450 5 8 0 1 270 8 1 pintype=pwr } T 1000 5400 8 10 1 1 0 0 1 footprint=TQFN40_6_EP T 3800 5700 8 10 0 0 0 0 1 numslots=0 T 3800 5000 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX19538.pdf T 3800 5300 5 10 0 0 0 0 1 description=12-Bit, 95Msps, 3.3V ADC T 3800 5500 5 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/maxim/max4107-1.sym0000664000175000017500000000255712204104272014677 00000000000000v 20041228 1 T 175 1100 5 10 0 0 0 0 1 device=MAX4107 T 700 700 8 10 1 1 0 0 1 refdes=U? P 200 600 0 600 1 0 1 { T 200 650 5 8 1 1 0 6 1 pinnumber=3 T 200 550 5 8 0 1 0 8 1 pinseq=3 T 350 600 9 8 0 1 0 0 1 pinlabel=IN+ T 350 600 5 8 0 1 0 2 1 pintype=in } P 200 200 0 200 1 0 1 { T 200 250 5 8 1 1 0 6 1 pinnumber=2 T 200 150 5 8 0 1 0 8 1 pinseq=2 T 350 200 9 8 0 1 0 0 1 pinlabel=IN- T 350 200 5 8 0 1 0 2 1 pintype=in } P 800 400 1000 400 1 0 1 { T 800 450 5 8 1 1 0 0 1 pinnumber=6 T 800 350 5 8 0 1 0 2 1 pinseq=1 T 650 400 9 8 0 1 0 6 1 pinlabel=OUT T 650 400 5 8 0 1 0 8 1 pintype=out } P 500 200 500 0 1 0 1 { T 550 100 5 8 1 1 0 0 1 pinnumber=4 T 550 100 5 8 0 1 0 2 1 pinseq=5 T 500 350 9 8 0 1 0 3 1 pinlabel=Vee T 500 500 5 8 0 1 0 3 1 pintype=pwr } P 500 600 500 800 1 0 1 { T 550 600 5 8 1 1 0 0 1 pinnumber=7 T 550 600 5 8 0 1 0 2 1 pinseq=4 T 500 450 9 8 0 1 0 5 1 pinlabel=Vcc T 500 300 5 8 0 1 0 5 1 pintype=pwr } L 250 600 350 600 3 0 0 0 -1 -1 L 300 650 300 550 3 0 0 0 -1 -1 L 200 0 200 800 3 0 0 0 -1 -1 L 200 800 800 400 3 0 0 0 -1 -1 L 800 400 200 0 3 0 0 0 -1 -1 L 250 200 350 200 3 0 0 0 -1 -1 T 200 1500 5 10 0 0 0 0 1 footprint=SO8 T 200 1700 5 10 0 0 0 0 1 description=350MHz, ultra-low-noise opamp T 200 1300 5 10 0 0 0 0 1 numslots=0 T 200 1900 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX4106-MAX4107.pdf T 200 900 9 8 1 0 0 0 1 MAX4107 geda-gaf-1.8.2/symbols/maxim/max436-1.sym0000664000175000017500000000307512204104272014614 00000000000000v 20041228 1 P 300 1700 0 1700 1 0 1 { T 200 1750 5 8 1 1 0 6 1 pinnumber=3 T 200 1650 5 8 0 1 0 8 1 pinseq=3 T 350 1700 9 8 1 1 0 0 1 pinlabel=Z+ T 350 1700 5 8 0 1 0 2 1 pintype=pas } P 300 1100 0 1100 1 0 1 { T 200 1150 5 8 1 1 0 6 1 pinnumber=5 T 200 1050 5 8 0 1 0 8 1 pinseq=5 T 350 1100 9 8 1 1 0 0 1 pinlabel=Z- T 350 1100 5 8 0 1 0 2 1 pintype=pas } P 300 2100 0 2100 1 0 1 { T 200 2150 5 8 1 1 0 6 1 pinnumber=2 T 200 2050 5 8 0 1 0 8 1 pinseq=2 T 350 2100 9 8 1 1 0 0 1 pinlabel=IN+ T 350 2100 5 8 0 1 0 2 1 pintype=in } P 300 700 0 700 1 0 1 { T 200 750 5 8 1 1 0 6 1 pinnumber=6 T 200 650 5 8 0 1 0 8 1 pinseq=6 T 350 700 9 8 1 1 0 0 1 pinlabel=IN- T 350 700 5 8 0 1 0 2 1 pintype=in } P 1500 800 1500 500 1 0 1 { T 1550 600 5 8 1 1 0 0 1 pinnumber=11 T 1550 600 5 8 0 1 0 2 1 pinseq=11 T 1450 900 9 8 1 1 0 3 1 pinlabel=ISET T 1450 1050 5 8 0 1 0 3 1 pintype=in } P 2500 1500 2800 1500 1 0 1 { T 2600 1550 5 8 1 1 0 0 1 pinnumber=13 T 2600 1450 5 8 0 1 0 2 1 pinseq=13 T 2400 1500 9 8 1 1 0 7 1 pinlabel=IOUT T 2450 1500 5 8 0 1 0 8 1 pintype=out } L 300 2600 300 0 3 0 0 0 -1 -1 L 300 2600 2500 1500 3 0 0 0 -1 -1 T 900 2400 5 10 0 0 0 0 1 device=MAX436 L 2500 1500 300 0 3 0 0 0 -1 -1 T 1700 2200 8 10 1 1 0 0 1 refdes=U? T 900 2800 5 10 0 0 0 0 1 footprint=DIP14 T 900 3000 5 10 0 0 0 0 1 description=wideband transconductance amplifier T 900 2600 5 10 0 0 0 0 1 numslots=0 T 900 3200 5 10 0 0 0 0 1 net=V-:7,8,10 T 900 3400 5 10 0 0 0 0 1 net=V+:1,12,14 T 900 3600 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX435-MAX436.pdf T 700 1400 9 10 1 0 0 0 1 MAX436 geda-gaf-1.8.2/symbols/maxim/max238-1.sym0000664000175000017500000001113612204104272014611 00000000000000v 20041228 1 B 300 300 1500 5100 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 T 300 5850 5 10 0 0 0 0 1 device=MAX238 T 1800 5500 8 10 1 1 0 6 1 refdes=U? P 1800 2700 2100 2700 1 0 1 { T 1900 2750 5 8 1 1 0 0 1 pinnumber=1 T 1900 2650 5 8 0 1 0 2 1 pinseq=1 T 1750 2700 9 8 1 1 0 6 1 pinlabel=T2out T 1750 2700 5 8 0 1 0 8 1 pintype=out } P 1800 3000 2100 3000 1 0 1 { T 1900 3050 5 8 1 1 0 0 1 pinnumber=2 T 1900 2950 5 8 0 1 0 2 1 pinseq=2 T 1750 3000 9 8 1 1 0 6 1 pinlabel=T1out T 1750 3000 5 8 0 1 0 8 1 pintype=out } P 1800 1200 2100 1200 1 0 1 { T 1900 1250 5 8 1 1 0 0 1 pinnumber=3 T 1900 1150 5 8 0 1 0 2 1 pinseq=3 T 1750 1200 9 8 1 1 0 6 1 pinlabel=R2in T 1750 1200 5 8 0 1 0 8 1 pintype=in } P 300 1200 0 1200 1 0 1 { T 200 1250 5 8 1 1 0 6 1 pinnumber=4 T 200 1150 5 8 0 1 0 8 1 pinseq=4 T 350 1200 9 8 1 1 0 0 1 pinlabel=R2out T 350 1200 5 8 0 1 0 2 1 pintype=out } P 300 3000 0 3000 1 0 1 { T 200 3050 5 8 1 1 0 6 1 pinnumber=5 T 200 2950 5 8 0 1 0 8 1 pinseq=5 T 350 3000 9 8 1 1 0 0 1 pinlabel=T1in T 350 3000 5 8 0 1 0 2 1 pintype=in } P 300 1500 0 1500 1 0 1 { T 200 1550 5 8 1 1 0 6 1 pinnumber=6 T 200 1450 5 8 0 1 0 8 1 pinseq=6 T 350 1500 9 8 1 1 0 0 1 pinlabel=R1out T 350 1500 5 8 0 1 0 2 1 pintype=out } P 1800 1500 2100 1500 1 0 1 { T 1900 1550 5 8 1 1 0 0 1 pinnumber=7 T 1900 1450 5 8 0 1 0 2 1 pinseq=7 T 1750 1500 9 8 1 1 0 6 1 pinlabel=R1in T 1750 1500 5 8 0 1 0 8 1 pintype=in } P 1200 300 1200 0 1 0 1 { T 1250 100 5 8 1 1 0 0 1 pinnumber=8 T 1250 100 5 8 0 1 0 2 1 pinseq=8 T 1200 350 9 8 1 1 0 3 1 pinlabel=GND T 1200 500 5 8 0 1 0 3 1 pintype=pwr } P 1200 5400 1200 5700 1 0 1 { T 1250 5500 5 8 1 1 0 0 1 pinnumber=9 T 1250 5500 5 8 0 1 0 2 1 pinseq=9 T 1200 5350 9 8 1 1 0 5 1 pinlabel=Vcc T 1200 5200 5 8 0 1 0 5 1 pintype=pwr } P 300 5100 0 5100 1 0 1 { T 200 5150 5 8 1 1 0 6 1 pinnumber=10 T 200 5050 5 8 0 1 0 8 1 pinseq=10 T 350 5100 9 8 1 1 0 0 1 pinlabel=C1+ T 350 5100 5 8 0 1 0 2 1 pintype=pas } P 1800 5100 2100 5100 1 0 1 { T 1900 5150 5 8 1 1 0 0 1 pinnumber=11 T 1900 5050 5 8 0 1 0 2 1 pinseq=11 T 1750 5100 9 8 1 1 0 6 1 pinlabel=V+ T 1750 5100 5 8 0 1 0 8 1 pintype=pas } P 300 4500 0 4500 1 0 1 { T 200 4550 5 8 1 1 0 6 1 pinnumber=12 T 200 4450 5 8 0 1 0 8 1 pinseq=12 T 350 4500 9 8 1 1 0 0 1 pinlabel=C1- T 350 4500 5 8 0 1 0 2 1 pintype=pas } P 300 4200 0 4200 1 0 1 { T 200 4250 5 8 1 1 0 6 1 pinnumber=13 T 200 4150 5 8 0 1 0 8 1 pinseq=13 T 350 4200 9 8 1 1 0 0 1 pinlabel=C2+ T 350 4200 5 8 0 1 0 2 1 pintype=pas } P 300 3600 0 3600 1 0 1 { T 200 3650 5 8 1 1 0 6 1 pinnumber=14 T 200 3550 5 8 0 1 0 8 1 pinseq=14 T 350 3600 9 8 1 1 0 0 1 pinlabel=C2- T 350 3600 5 8 0 1 0 2 1 pintype=pas } P 1800 4200 2100 4200 1 0 1 { T 1900 4250 5 8 1 1 0 0 1 pinnumber=15 T 1900 4150 5 8 0 1 0 2 1 pinseq=15 T 1750 4200 9 8 1 1 0 6 1 pinlabel=V- T 1750 4200 5 8 0 1 0 8 1 pintype=pas } P 1800 600 2100 600 1 0 1 { T 1900 650 5 8 1 1 0 0 1 pinnumber=16 T 1900 550 5 8 0 1 0 2 1 pinseq=16 T 1750 600 9 8 1 1 0 6 1 pinlabel=R4in T 1750 600 5 8 0 1 0 8 1 pintype=in } P 300 600 0 600 1 0 1 { T 200 650 5 8 1 1 0 6 1 pinnumber=17 T 200 550 5 8 0 1 0 8 1 pinseq=17 T 350 600 9 8 1 1 0 0 1 pinlabel=R4out T 350 600 5 8 0 1 0 2 1 pintype=out } P 300 2700 0 2700 1 0 1 { T 200 2750 5 8 1 1 0 6 1 pinnumber=18 T 200 2650 5 8 0 1 0 8 1 pinseq=18 T 350 2700 9 8 1 1 0 0 1 pinlabel=T2in T 350 2700 5 8 0 1 0 2 1 pintype=in } P 300 2400 0 2400 1 0 1 { T 200 2450 5 8 1 1 0 6 1 pinnumber=19 T 200 2350 5 8 0 1 0 8 1 pinseq=19 T 350 2400 9 8 1 1 0 0 1 pinlabel=T3in T 350 2400 5 8 0 1 0 2 1 pintype=in } P 1800 2100 2100 2100 1 0 1 { T 1900 2150 5 8 1 1 0 0 1 pinnumber=20 T 1900 2050 5 8 0 1 0 2 1 pinseq=20 T 1750 2100 9 8 1 1 0 6 1 pinlabel=T4out T 1750 2100 5 8 0 1 0 8 1 pintype=out } P 300 2100 0 2100 1 0 1 { T 200 2150 5 8 1 1 0 6 1 pinnumber=21 T 200 2050 5 8 0 1 0 8 1 pinseq=21 T 350 2100 9 8 1 1 0 0 1 pinlabel=T4in T 350 2100 5 8 0 1 0 2 1 pintype=in } P 300 900 0 900 1 0 1 { T 200 950 5 8 1 1 0 6 1 pinnumber=22 T 200 850 5 8 0 1 0 8 1 pinseq=22 T 350 900 9 8 1 1 0 0 1 pinlabel=R3out T 350 900 5 8 0 1 0 2 1 pintype=out } P 1800 900 2100 900 1 0 1 { T 1900 950 5 8 1 1 0 0 1 pinnumber=23 T 1900 850 5 8 0 1 0 2 1 pinseq=23 T 1750 900 9 8 1 1 0 6 1 pinlabel=R3in T 1750 900 5 8 0 1 0 8 1 pintype=in } P 1800 2400 2100 2400 1 0 1 { T 1900 2450 5 8 1 1 0 0 1 pinnumber=24 T 1900 2350 5 8 0 1 0 2 1 pinseq=24 T 1750 2400 9 8 1 1 0 6 1 pinlabel=T3out T 1750 2400 5 8 0 1 0 8 1 pintype=out } T 300 6250 5 10 0 0 0 0 1 footprint=DIP24 T 300 6450 5 10 0 0 0 0 1 description=multichannel RS-232 driver/receiver T 300 6050 5 10 0 0 0 0 1 numslots=0 T 300 6650 5 10 0 0 0 0 1 documentation=http://pdfserv.maxim-ic.com/en/ds/MAX220-MAX249.pdf T 300 5450 3 10 1 0 0 0 1 MAX238 geda-gaf-1.8.2/symbols/power/0000775000175000017500000000000012220655765013016 500000000000000geda-gaf-1.8.2/symbols/power/vee-1.sym0000664000175000017500000000041612204104272014366 00000000000000v 20031231 1 P 200 0 200 200 1 0 0 { T 250 50 5 6 0 1 0 0 1 pinnumber=1 T 250 50 5 6 0 0 0 0 1 pinseq=1 T 250 50 5 6 0 1 0 0 1 pinlabel=1 T 250 50 5 6 0 1 0 0 1 pintype=pwr } L 50 200 350 200 3 0 0 0 -1 -1 T 75 250 9 8 1 0 0 0 1 Vee T 450 200 8 10 0 0 0 0 1 net=Vee:1 geda-gaf-1.8.2/symbols/power/gnd-2.sym0000664000175000017500000000046512204104272014364 00000000000000v 20031231 1 P 100 100 100 300 1 0 1 { T 158 161 5 4 0 1 0 0 1 pinnumber=1 T 158 161 5 4 0 0 0 0 1 pinseq=1 T 300 200 3 10 1 1 0 0 1 pinlabel=PGND T 158 161 5 4 0 1 0 0 1 pintype=pwr } L 0 100 200 100 3 0 0 0 -1 -1 L 55 50 145 50 3 0 0 0 -1 -1 L 80 10 120 10 3 0 0 0 -1 -1 T 300 50 8 10 0 0 0 0 1 net=PGND:1 geda-gaf-1.8.2/symbols/power/gnd-1.sym0000664000175000017500000000046112204104272014357 00000000000000v 20031231 1 P 100 100 100 300 1 0 1 { T 158 161 5 4 0 1 0 0 1 pinnumber=1 T 158 161 5 4 0 0 0 0 1 pinseq=1 T 158 161 5 4 0 1 0 0 1 pinlabel=1 T 158 161 5 4 0 1 0 0 1 pintype=pwr } L 0 100 200 100 3 0 0 0 -1 -1 L 55 50 145 50 3 0 0 0 -1 -1 L 80 10 120 10 3 0 0 0 -1 -1 T 300 50 8 10 0 0 0 0 1 net=GND:1 geda-gaf-1.8.2/symbols/power/12V-minus-1.sym0000664000175000017500000000041512204104272015307 00000000000000v 20031231 1 P 200 0 200 200 1 0 0 { T 250 50 5 6 0 1 0 0 1 pinnumber=1 T 250 50 5 6 0 0 0 0 1 pinseq=1 T 250 50 5 6 0 1 0 0 1 pinlabel=1 T 250 50 5 6 0 1 0 0 1 pintype=pwr } L 50 200 350 200 3 0 0 0 -1 -1 T 75 250 9 8 1 0 0 0 1 -12V T 300 0 8 8 0 0 0 0 1 net=-12V:1 geda-gaf-1.8.2/symbols/power/9V-minus-1.sym0000664000175000017500000000041312204104272015233 00000000000000v 20031231 1 P 200 0 200 200 1 0 0 { T 250 50 5 6 0 1 0 0 1 pinnumber=1 T 250 50 5 6 0 0 0 0 1 pinseq=1 T 250 50 5 6 0 1 0 0 1 pinlabel=1 T 250 50 5 6 0 1 0 0 1 pintype=pwr } L 50 200 350 200 3 0 0 0 -1 -1 T 75 250 9 8 1 0 0 0 1 -9V T 300 0 8 8 0 0 0 0 1 net=-9V:1 geda-gaf-1.8.2/symbols/power/vcc-1.sym0000664000175000017500000000041612204104272014362 00000000000000v 20031231 1 P 200 0 200 200 1 0 0 { T 250 50 5 6 0 1 0 0 1 pinnumber=1 T 250 50 5 6 0 0 0 0 1 pinseq=1 T 250 50 5 6 0 1 0 0 1 pinlabel=1 T 250 50 5 6 0 1 0 0 1 pintype=pwr } L 50 200 350 200 3 0 0 0 -1 -1 T 75 250 9 8 1 0 0 0 1 Vcc T 450 200 8 10 0 0 0 0 1 net=Vcc:1 geda-gaf-1.8.2/symbols/power/generic-power.sym0000664000175000017500000000036312204104272016220 00000000000000v 20031231 1 P 200 0 200 200 1 0 0 { T 250 50 5 6 0 1 0 0 1 pinnumber=1 T 250 50 5 6 0 0 0 0 1 pinseq=1 T 250 50 5 6 0 1 0 0 1 pinlabel=1 T 250 50 5 6 0 1 0 0 1 pintype=pwr } L 50 200 350 200 3 0 0 0 -1 -1 T 200 250 8 10 1 1 0 3 1 net=Vcc:1 geda-gaf-1.8.2/symbols/power/vcc-minus-1.sym0000664000175000017500000000044612204104272015516 00000000000000v 20031231 1 V 300 250 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 300 300 300 600 1 0 1 { T 400 400 5 10 0 1 0 0 1 pinnumber=1 T 400 400 5 10 0 0 0 0 1 pinseq=1 T 400 400 5 10 0 1 0 0 1 pinlabel=1 T 400 400 5 10 0 1 0 0 1 pintype=pwr } T 50 0 9 10 1 0 0 0 1 -Vcc T 550 200 8 10 0 0 0 0 1 net=-Vcc:1 geda-gaf-1.8.2/symbols/power/12V-plus-1.sym0000664000175000017500000000041512204104272015137 00000000000000v 20031231 1 P 200 0 200 200 1 0 0 { T 250 50 5 6 0 1 0 0 1 pinnumber=1 T 250 50 5 6 0 0 0 0 1 pinseq=1 T 250 50 5 6 0 1 0 0 1 pinlabel=1 T 250 50 5 6 0 1 0 0 1 pintype=pwr } L 50 200 350 200 3 0 0 0 -1 -1 T 75 250 9 8 1 0 0 0 1 +12V T 300 0 9 8 0 0 0 0 1 net=+12V:1 geda-gaf-1.8.2/symbols/power/vdd-1.sym0000664000175000017500000000041612204104272014364 00000000000000v 20031231 1 P 200 0 200 200 1 0 0 { T 250 50 5 6 0 1 0 0 1 pinnumber=1 T 250 50 5 6 0 0 0 0 1 pinseq=1 T 250 50 5 6 0 1 0 0 1 pinlabel=1 T 250 50 5 6 0 1 0 0 1 pintype=pwr } L 50 200 350 200 3 0 0 0 -1 -1 T 75 250 9 8 1 0 0 0 1 Vdd T 450 200 8 10 0 0 0 0 1 net=Vdd:1 geda-gaf-1.8.2/symbols/power/5V-minus-1.sym0000664000175000017500000000041312204104272015227 00000000000000v 20031231 1 P 200 0 200 200 1 0 0 { T 250 50 5 6 0 1 0 0 1 pinnumber=1 T 250 50 5 6 0 0 0 0 1 pinseq=1 T 250 50 5 6 0 1 0 0 1 pinlabel=1 T 250 50 5 6 0 1 0 0 1 pintype=pwr } L 50 200 350 200 3 0 0 0 -1 -1 T 75 250 9 8 1 0 0 0 1 -5V T 300 0 8 8 0 0 0 0 1 net=-5V:1 geda-gaf-1.8.2/symbols/power/9V-plus-1.sym0000664000175000017500000000041312204104272015063 00000000000000v 20031231 1 P 200 0 200 200 1 0 0 { T 250 50 5 6 0 1 0 0 1 pinnumber=1 T 250 50 5 6 0 0 0 0 1 pinseq=1 T 250 50 5 6 0 1 0 0 1 pinlabel=1 T 250 50 5 6 0 1 0 0 1 pintype=pwr } L 50 200 350 200 3 0 0 0 -1 -1 T 75 250 9 8 1 0 0 0 1 +9V T 300 0 8 8 0 0 0 0 1 net=+9V:1 geda-gaf-1.8.2/symbols/power/3.3V-plus-1.sym0000664000175000017500000000041712204104272015222 00000000000000v 20031231 1 P 200 0 200 200 1 0 0 { T 250 50 5 6 0 1 0 0 1 pinnumber=1 T 250 50 5 6 0 0 0 0 1 pinseq=1 T 250 50 5 6 0 1 0 0 1 pinlabel=1 T 250 50 5 6 0 1 0 0 1 pintype=pwr } L 50 200 350 200 3 0 0 0 -1 -1 T 75 250 9 8 1 0 0 0 1 +3.3V T 300 0 8 8 0 0 0 0 1 net=+3.3V:1 geda-gaf-1.8.2/symbols/power/vss-1.sym0000664000175000017500000000041612204104272014422 00000000000000v 20031231 1 P 200 0 200 200 1 0 0 { T 250 50 5 6 0 1 0 0 1 pinnumber=1 T 250 50 5 6 0 0 0 0 1 pinseq=1 T 250 50 5 6 0 1 0 0 1 pinlabel=1 T 250 50 5 6 0 1 0 0 1 pintype=pwr } L 50 200 350 200 3 0 0 0 -1 -1 T 75 250 9 8 1 0 0 0 1 Vss T 450 200 8 10 0 0 0 0 1 net=Vss:1 geda-gaf-1.8.2/symbols/power/5V-plus-1.sym0000664000175000017500000000041312204104272015057 00000000000000v 20031231 1 P 200 0 200 200 1 0 0 { T 250 50 5 6 0 1 0 0 1 pinnumber=1 T 250 50 5 6 0 0 0 0 1 pinseq=1 T 250 50 5 6 0 1 0 0 1 pinlabel=1 T 250 50 5 6 0 1 0 0 1 pintype=pwr } L 50 200 350 200 3 0 0 0 -1 -1 T 75 250 9 8 1 0 0 0 1 +5V T 300 0 8 8 0 0 0 0 1 net=+5V:1 geda-gaf-1.8.2/symbols/power/vcc-2.sym0000664000175000017500000000043612204104272014365 00000000000000v 20031231 1 V 200 350 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 300 200 0 1 0 1 { T 300 50 5 10 0 1 0 0 1 pinnumber=1 T 300 50 5 10 0 0 0 0 1 pinseq=1 T 300 50 5 10 0 1 0 0 1 pinlabel=1 T 300 50 5 10 0 1 0 0 1 pintype=pwr } T 0 450 9 10 1 0 0 0 1 Vcc T 400 300 8 8 0 0 0 0 1 net=Vcc:1 geda-gaf-1.8.2/symbols/power/vcc-orcad-circle-1.sym0000664000175000017500000000050712204104272016710 00000000000000v 20031231 1 T 200 200 5 6 0 0 0 0 1 device=GND T 100 300 5 6 0 0 0 0 1 orcad_xsize=2 T 100 400 5 6 0 0 0 0 1 orcad_ysize=1 P 0 100 0 0 1 0 1 { T 0 200 3 6 1 1 0 0 1 pinnumber=1 T 0 200 3 6 0 0 0 0 1 pinseq=1 T 200 500 3 6 0 0 0 0 1 pintype=pwr T 176 600 3 6 0 0 0 0 1 pinlabel=PWR } V 0 200 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/allegro/0000775000175000017500000000000012220655764013306 500000000000000geda-gaf-1.8.2/symbols/allegro/3967-2.sym0000664000175000017500000000716412204104272014520 00000000000000v 20041228 1 B 300 0 2000 4900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 5750 8 10 0 0 0 0 1 device=A3967SLB T 2300 5000 8 10 1 1 0 6 1 refdes=U? T 400 5550 8 10 0 0 0 0 1 footprint=DW 24 P 2600 3200 2300 3200 1 0 0 { T 2400 3300 5 10 1 1 0 0 1 pinnumber=8 T 2600 3200 5 10 0 1 0 0 1 pinseq=8 T 2200 3200 9 10 1 1 0 6 1 pinlabel=SENSE 2 } P 2600 2800 2300 2800 1 0 0 { T 2400 2900 5 10 1 1 0 0 1 pinnumber=17 T 2600 2800 5 10 0 1 0 0 1 pinseq=17 T 2200 2800 9 10 1 1 0 6 1 pinlabel=SENSE 1 } P 0 4200 300 4200 1 0 0 { T 200 4300 5 10 1 1 0 6 1 pinnumber=3 T 0 4200 5 10 0 1 0 0 1 pinseq=3 T 400 4200 9 10 1 1 0 0 1 pinlabel=/SLEEP } P 0 2400 300 2400 1 0 0 { T 200 2500 5 10 1 1 0 6 1 pinnumber=15 T 0 2400 5 10 0 1 0 0 1 pinseq=15 T 400 2400 9 10 1 1 0 0 1 pinlabel=/ENABLE } P 0 3000 300 3000 1 0 0 { T 200 3100 5 10 1 1 0 6 1 pinnumber=11 T 0 3000 5 10 0 1 0 0 1 pinseq=11 T 400 3000 9 10 1 1 0 0 1 pinlabel=DIR } P 0 2700 300 2700 1 0 0 { T 200 2800 5 10 1 1 0 6 1 pinnumber=10 T 0 2700 5 10 0 1 0 0 1 pinseq=10 T 400 2700 9 10 1 1 0 0 1 pinlabel=STEP } P 0 2100 300 2100 1 0 0 { T 200 2200 5 10 1 1 0 6 1 pinnumber=24 T 0 2100 5 10 0 1 0 0 1 pinseq=24 T 400 2100 9 10 1 1 0 0 1 pinlabel=PFD } P 0 1400 300 1400 1 0 0 { T 200 1500 5 10 1 1 0 6 1 pinnumber=6 T 0 1400 5 10 0 1 0 0 1 pinseq=6 T 400 1400 9 10 1 1 0 0 1 pinlabel=GND } P 0 1100 300 1100 1 0 0 { T 200 1200 5 10 1 1 0 6 1 pinnumber=7 T 0 1100 5 10 0 1 0 0 1 pinseq=7 T 400 1100 9 10 1 1 0 0 1 pinlabel=GND } P 0 800 300 800 1 0 0 { T 200 900 5 10 1 1 0 6 1 pinnumber=18 T 0 800 5 10 0 1 0 0 1 pinseq=18 T 400 800 9 10 1 1 0 0 1 pinlabel=GND } P 0 500 300 500 1 0 0 { T 200 600 5 10 1 1 0 6 1 pinnumber=19 T 0 500 5 10 0 1 0 0 1 pinseq=19 T 400 500 9 10 1 1 0 0 1 pinlabel=GND } P 2600 2100 2300 2100 1 0 0 { T 2400 2200 5 10 1 1 0 0 1 pinnumber=16 T 2600 2100 5 10 0 1 0 0 1 pinseq=16 T 2200 2100 9 10 1 1 0 6 1 pinlabel=1A } P 2600 1800 2300 1800 1 0 0 { T 2400 1900 5 10 1 1 0 0 1 pinnumber=21 T 2600 1800 5 10 0 1 0 0 1 pinseq=21 T 2200 1800 9 10 1 1 0 6 1 pinlabel=1B } P 2600 1500 2300 1500 1 0 0 { T 2400 1600 5 10 1 1 0 0 1 pinnumber=9 T 2600 1500 5 10 0 1 0 0 1 pinseq=9 T 2200 1500 9 10 1 1 0 6 1 pinlabel=2A } P 2600 1200 2300 1200 1 0 0 { T 2400 1300 5 10 1 1 0 0 1 pinnumber=4 T 2600 1200 5 10 0 1 0 0 1 pinseq=4 T 2200 1200 9 10 1 1 0 6 1 pinlabel=2B } P 0 3900 300 3900 1 0 0 { T 200 4000 5 10 1 1 0 6 1 pinnumber=22 T 0 3900 5 10 0 1 0 0 1 pinseq=22 T 400 3900 9 10 1 1 0 0 1 pinlabel=/RST } P 0 3600 300 3600 1 0 0 { T 200 3700 5 10 1 1 0 6 1 pinnumber=12 T 0 3600 5 10 0 1 0 0 1 pinseq=12 T 400 3600 9 10 1 1 0 0 1 pinlabel=MS1 } P 2600 4500 2300 4500 1 0 0 { T 2400 4600 5 10 1 1 0 0 1 pinnumber=14 T 2600 4500 5 10 0 1 0 0 1 pinseq=14 T 2200 4500 9 10 1 1 0 6 1 pinlabel=VCC } P 2600 4200 2300 4200 1 0 0 { T 2400 4300 5 10 1 1 0 0 1 pinnumber=20 T 2600 4200 5 10 0 1 0 0 1 pinseq=20 T 2200 4200 9 10 1 1 0 6 1 pinlabel=VBB1 } P 2600 600 2300 600 1 0 0 { T 2400 700 5 10 1 1 0 0 1 pinnumber=23 T 2600 600 5 10 0 1 0 0 1 pinseq=23 T 2200 600 9 10 1 1 0 6 1 pinlabel=RC1 } P 0 3300 300 3300 1 0 0 { T 200 3400 5 10 1 1 0 6 1 pinnumber=13 T 0 3300 5 10 0 1 0 0 1 pinseq=13 T 400 3300 9 10 1 1 0 0 1 pinlabel=MS2 } P 2600 3900 2300 3900 1 0 0 { T 2400 4000 5 10 1 1 0 0 1 pinnumber=1 T 2600 3900 5 10 0 1 0 0 1 pinseq=1 T 2200 3900 9 10 1 1 0 6 1 pinlabel=REF } P 2600 3600 2300 3600 1 0 0 { T 2400 3700 5 10 1 1 0 0 1 pinnumber=2 T 2600 3600 5 10 0 1 0 0 1 pinseq=2 T 2200 3600 9 10 1 1 0 6 1 pinlabel=RC2 } P 0 4500 300 4500 1 0 0 { T 200 4600 5 10 1 1 0 6 1 pinnumber=5 T 0 4500 5 10 0 1 0 0 1 pinseq=5 T 400 4500 9 10 1 1 0 0 1 pinlabel=VBB2 } T 400 5000 9 10 1 0 0 0 1 A3967SLB T 400 6000 8 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/allegro/3967-1.sym0000664000175000017500000001146012204104272014511 00000000000000v 20070626 1 T 1700 5300 8 10 1 1 0 6 1 refdes=U? T 300 5250 9 10 1 0 0 0 1 a3967lsb T 300 5750 8 10 0 0 0 0 1 device=a3967lsb T 300 5950 8 10 0 0 0 0 1 footprint=SO24 .050 T 300 6150 8 10 0 0 0 0 1 author=m. dickens T 300 6350 8 10 0 0 0 0 1 documentation=http://www.allegro.com T 300 6550 8 10 0 0 0 0 1 description=microstepping driver with translator T 300 6750 8 10 0 0 0 0 1 numslots=0 P 0 4800 300 4800 1 0 0 { T 200 4850 5 8 1 1 0 6 1 pinnumber=1 T 200 4750 5 8 0 1 0 8 1 pinseq=1 T 350 4800 9 8 1 1 0 0 1 pinlabel=REF T 350 4800 5 8 0 1 0 2 1 pintype=pwr } P 0 4400 300 4400 1 0 0 { T 200 4450 5 8 1 1 0 6 1 pinnumber=2 T 200 4350 5 8 0 1 0 8 1 pinseq=2 T 350 4400 9 8 1 1 0 0 1 pinlabel=RC2 T 350 4400 5 8 0 1 0 2 1 pintype=in } P 0 4000 200 4000 1 0 0 { T 200 4050 5 8 1 1 0 6 1 pinnumber=3 T 200 3950 5 8 0 1 0 8 1 pinseq=3 T 350 4000 9 8 1 1 0 0 1 pinlabel=\_SLEEP\_ T 350 4000 5 8 0 1 0 2 1 pintype=in } V 250 4000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3600 300 3600 1 0 0 { T 200 3650 5 8 1 1 0 6 1 pinnumber=4 T 200 3550 5 8 0 1 0 8 1 pinseq=4 T 350 3600 9 8 1 1 0 0 1 pinlabel=OUT2B T 350 3600 5 8 0 1 0 2 1 pintype=out } P 0 3200 300 3200 1 0 0 { T 200 3250 5 8 1 1 0 6 1 pinnumber=5 T 200 3150 5 8 0 1 0 8 1 pinseq=5 T 350 3200 9 8 1 1 0 0 1 pinlabel=VBB2 T 350 3200 5 8 0 1 0 2 1 pintype=pwr } P 0 2800 300 2800 1 0 0 { T 200 2850 5 8 1 1 0 6 1 pinnumber=6 T 200 2750 5 8 0 1 0 8 1 pinseq=6 T 350 2800 9 8 1 1 0 0 1 pinlabel=GND T 350 2800 5 8 0 1 0 2 1 pintype=pwr } P 0 2400 300 2400 1 0 0 { T 200 2450 5 8 1 1 0 6 1 pinnumber=7 T 200 2350 5 8 0 1 0 8 1 pinseq=7 T 350 2400 9 8 1 1 0 0 1 pinlabel=GND T 350 2400 5 8 0 1 0 2 1 pintype=pwr } P 0 2000 300 2000 1 0 0 { T 200 2050 5 8 1 1 0 6 1 pinnumber=8 T 200 1950 5 8 0 1 0 8 1 pinseq=8 T 350 2000 9 8 1 1 0 0 1 pinlabel=SENSE2 T 350 2000 5 8 0 1 0 2 1 pintype=in } P 0 1600 300 1600 1 0 0 { T 200 1650 5 8 1 1 0 6 1 pinnumber=9 T 200 1550 5 8 0 1 0 8 1 pinseq=9 T 350 1600 9 8 1 1 0 0 1 pinlabel=OUT2A T 350 1600 5 8 0 1 0 2 1 pintype=out } P 0 1200 300 1200 1 0 0 { T 200 1250 5 8 1 1 0 6 1 pinnumber=10 T 200 1150 5 8 0 1 0 8 1 pinseq=10 T 350 1200 9 8 1 1 0 0 1 pinlabel=STEP T 350 1200 5 8 0 1 0 2 1 pintype=in } P 0 800 300 800 1 0 0 { T 200 850 5 8 1 1 0 6 1 pinnumber=11 T 200 750 5 8 0 1 0 8 1 pinseq=11 T 350 800 9 8 1 1 0 0 1 pinlabel=DIR T 350 800 5 8 0 1 0 2 1 pintype=in } P 0 400 300 400 1 0 0 { T 200 450 5 8 1 1 0 6 1 pinnumber=12 T 200 350 5 8 0 1 0 8 1 pinseq=12 T 350 400 9 8 1 1 0 0 1 pinlabel=MS1 T 350 400 5 8 0 1 0 2 1 pintype=in } P 2000 4800 1700 4800 1 0 0 { T 1800 4850 5 8 1 1 0 0 1 pinnumber=13 T 1800 4750 5 8 0 1 0 2 1 pinseq=13 T 1650 4800 9 8 1 1 0 6 1 pinlabel=MS2 T 1650 4800 5 8 0 1 0 8 1 pintype=in } P 2000 4400 1700 4400 1 0 0 { T 1800 4450 5 8 1 1 0 0 1 pinnumber=14 T 1800 4350 5 8 0 1 0 2 1 pinseq=14 T 1650 4400 9 8 1 1 0 6 1 pinlabel=VCC T 1650 4400 5 8 0 1 0 8 1 pintype=pwr } P 2000 4000 1800 4000 1 0 0 { T 1800 4050 5 8 1 1 0 0 1 pinnumber=15 T 1800 3950 5 8 0 1 0 2 1 pinseq=15 T 1650 4000 9 8 1 1 0 6 1 pinlabel=\_ENABLE\_ T 1650 4000 5 8 0 1 0 8 1 pintype=in } V 1750 4000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 3600 1700 3600 1 0 0 { T 1800 3650 5 8 1 1 0 0 1 pinnumber=16 T 1800 3550 5 8 0 1 0 2 1 pinseq=16 T 1650 3600 9 8 1 1 0 6 1 pinlabel=OUT1A T 1650 3600 5 8 0 1 0 8 1 pintype=out } P 2000 3200 1700 3200 1 0 0 { T 1800 3250 5 8 1 1 0 0 1 pinnumber=17 T 1800 3150 5 8 0 1 0 2 1 pinseq=17 T 1650 3200 9 8 1 1 0 6 1 pinlabel=SENSE1 T 1650 3200 5 8 0 1 0 8 1 pintype=in } P 2000 2800 1700 2800 1 0 0 { T 1800 2850 5 8 1 1 0 0 1 pinnumber=18 T 1800 2750 5 8 0 1 0 2 1 pinseq=18 T 1650 2800 9 8 1 1 0 6 1 pinlabel=GND T 1650 2800 5 8 0 1 0 8 1 pintype=pwr } P 2000 2400 1700 2400 1 0 0 { T 1800 2450 5 8 1 1 0 0 1 pinnumber=19 T 1800 2350 5 8 0 1 0 2 1 pinseq=19 T 1650 2400 9 8 1 1 0 6 1 pinlabel=GND T 1650 2400 5 8 0 1 0 8 1 pintype=pwr } P 2000 2000 1700 2000 1 0 0 { T 1800 2050 5 8 1 1 0 0 1 pinnumber=20 T 1800 1950 5 8 0 1 0 2 1 pinseq=20 T 1650 2000 9 8 1 1 0 6 1 pinlabel=VBB1 T 1650 2000 5 8 0 1 0 8 1 pintype=pwr } P 2000 1600 1700 1600 1 0 0 { T 1800 1650 5 8 1 1 0 0 1 pinnumber=21 T 1800 1550 5 8 0 1 0 2 1 pinseq=21 T 1650 1600 9 8 1 1 0 6 1 pinlabel=OUT1B T 1650 1600 5 8 0 1 0 8 1 pintype=out } P 2000 1200 1800 1200 1 0 0 { T 1800 1250 5 8 1 1 0 0 1 pinnumber=22 T 1800 1150 5 8 0 1 0 2 1 pinseq=22 T 1650 1200 9 8 1 1 0 6 1 pinlabel=\_RESET\_ T 1650 1200 5 8 0 1 0 8 1 pintype=pwr } V 1750 1200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 800 1700 800 1 0 0 { T 1800 850 5 8 1 1 0 0 1 pinnumber=23 T 1800 750 5 8 0 1 0 2 1 pinseq=23 T 1650 800 9 8 1 1 0 6 1 pinlabel=RC1 T 1650 800 5 8 0 1 0 8 1 pintype=out } P 2000 400 1700 400 1 0 0 { T 1800 450 5 8 1 1 0 0 1 pinnumber=24 T 1800 350 5 8 0 1 0 2 1 pinseq=24 T 1650 400 9 8 1 1 0 6 1 pinlabel=PFD T 1650 400 5 8 0 1 0 8 1 pintype=in } B 300 0 1400 5200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/IEC417/0000775000175000017500000000000012220655764012515 500000000000000geda-gaf-1.8.2/symbols/IEC417/spdt.sym0000664000175000017500000000101412204104272014116 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 400 0 400 1 0 1 P 1000 600 1200 600 1 0 1 L 774 587 674 587 3 0 0 0 -1 -1 L 674 587 694 547 3 0 0 0 -1 -1 L 694 547 714 507 3 0 0 0 -1 -1 L 714 507 774 587 3 0 0 0 -1 -1 V 400 400 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 800 200 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 800 600 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 200 1200 200 1 0 1 L 1000 600 830 600 3 0 0 0 -1 -1 L 1000 200 830 200 3 0 0 0 -1 -1 L 370 400 200 400 3 0 0 0 -1 -1 L 427 412 695 546 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/encrypt.sym0000664000175000017500000000107212204104272014634 00000000000000v 20031231 1 P 200 500 0 500 1 0 1 P 1000 500 1200 500 1 0 1 L 200 100 1000 900 3 0 0 0 -1 -1 V 600 500 250 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 770 330 600 500 3 0 0 0 -1 -1 L 700 280 540 440 3 0 0 0 -1 -1 L 610 250 480 380 3 0 0 0 -1 -1 L 820 400 660 560 3 0 0 0 -1 -1 L 850 490 720 620 3 0 0 0 -1 -1 L 730 100 630 150 3 0 0 0 -1 -1 L 730 100 630 50 3 0 0 0 -1 -1 V 500 100 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 1000 100 1000 900 3 0 0 0 -1 -1 L 1000 900 200 900 3 0 0 0 -1 -1 L 200 900 200 100 3 0 0 0 -1 -1 L 200 100 470 100 3 0 0 0 -1 -1 L 1000 100 530 100 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/decrypt.sym0000664000175000017500000000107212204104272014622 00000000000000v 20031231 1 P 200 500 0 500 1 0 1 P 1000 500 1200 500 1 0 1 L 200 100 1000 900 3 0 0 0 -1 -1 V 600 500 250 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 600 500 430 670 3 0 0 0 -1 -1 L 540 440 380 600 3 0 0 0 -1 -1 L 480 380 350 510 3 0 0 0 -1 -1 L 660 560 500 720 3 0 0 0 -1 -1 L 720 620 590 750 3 0 0 0 -1 -1 L 620 100 520 150 3 0 0 0 -1 -1 L 620 100 520 50 3 0 0 0 -1 -1 V 650 100 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 1000 100 1000 900 3 0 0 0 -1 -1 L 1000 900 200 900 3 0 0 0 -1 -1 L 200 900 200 100 3 0 0 0 -1 -1 L 620 100 200 100 3 0 0 0 -1 -1 L 1000 100 680 100 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/dpst-noblock.sym0000664000175000017500000000073112204104272015550 00000000000000v 20031231 1 V 200 100 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 600 100 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 228 112 560 278 3 0 0 0 -1 -1 P 0 100 170 100 1 0 0 P 800 100 630 100 1 0 0 V 200 500 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 600 500 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 228 512 560 678 3 0 0 0 -1 -1 P 0 500 170 500 1 0 0 P 800 500 630 500 1 0 0 L 400 510 400 560 3 0 0 0 -1 -1 L 400 420 400 470 3 0 0 0 -1 -1 L 400 330 400 380 3 0 0 0 -1 -1 L 400 240 400 290 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/atten-trim.sym0000664000175000017500000000051412204104272015234 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 400 0 400 1 0 1 P 1000 400 1200 400 1 0 1 L 500 460 700 340 3 0 0 0 -1 -1 L 700 340 500 220 3 0 0 0 -1 -1 L 500 220 600 160 3 0 0 0 -1 -1 L 500 460 700 580 3 0 0 0 -1 -1 L 700 580 600 640 3 0 0 0 -1 -1 L 300 100 850 650 3 0 0 0 -1 -1 L 800 700 900 600 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/con2.sym0000664000175000017500000000026712204104272014016 00000000000000v 20031231 1 L 100 200 200 100 3 0 0 0 -1 -1 L 200 100 100 0 3 0 0 0 -1 -1 L 200 200 300 100 3 0 0 0 -1 -1 L 300 100 200 0 3 0 0 0 -1 -1 P 0 100 200 100 1 0 0 P 300 100 400 100 1 0 1 geda-gaf-1.8.2/symbols/IEC417/lowpass.sym0000664000175000017500000000043212204104272014637 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 400 0 400 1 0 1 P 1000 400 1200 400 1 0 1 A 470 425 150 30 120 3 0 0 0 -1 -1 A 730 575 150 210 120 3 0 0 0 -1 -1 A 470 225 150 30 120 3 0 0 0 -1 -1 A 730 375 150 210 120 3 0 0 0 -1 -1 L 550 450 650 550 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/dac.sym0000664000175000017500000000162612204104272013704 00000000000000v 20031231 1 P 200 400 0 400 1 0 1 P 1000 400 1200 400 1 0 1 L 200 0 1000 800 15 0 0 0 -1 -1 L 550 850 650 800 3 0 0 0 -1 -1 L 650 800 550 750 3 0 0 0 -1 -1 L 300 600 350 600 3 0 0 0 -1 -1 L 350 700 400 700 3 0 0 0 -1 -1 L 400 600 450 600 3 0 0 0 -1 -1 L 350 600 350 700 3 0 0 0 -1 -1 L 400 700 400 600 3 0 0 0 -1 -1 L 450 600 450 700 3 0 0 0 -1 -1 L 450 700 500 700 3 0 0 0 -1 -1 L 500 700 500 600 3 0 0 0 -1 -1 L 500 600 600 600 3 0 0 0 -1 -1 L 600 600 600 700 3 0 0 0 -1 -1 L 600 700 650 700 3 0 0 0 -1 -1 L 650 700 650 600 3 0 0 0 -1 -1 L 650 600 700 600 3 0 0 0 -1 -1 L 600 281 580 201 3 0 0 0 -1 -1 L 658 280 698 120 3 0 0 0 -1 -1 L 756 120 786 240 3 0 0 0 -1 -1 L 844 240 864 160 3 0 0 0 -1 -1 L 922 160 932 200 3 0 0 0 -1 -1 A 629 273 30 14 152 3 0 0 0 -1 -1 A 815 232 30 14 152 3 0 0 0 -1 -1 A 727 128 30 194 152 3 0 0 0 -1 -1 A 893 167 30 194 152 3 0 0 0 -1 -1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/IEC417/osc-step.sym0000664000175000017500000000044612204104272014711 00000000000000v 20031231 1 B 2 -1 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 800 400 1000 400 1 0 1 A 320 359 90 27 125 3 0 0 0 -1 -1 A 480 441 90 207 125 3 0 0 0 -1 -1 V 400 400 250 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 100 100 630 630 3 0 0 0 -1 -1 L 660 600 730 670 3 0 0 0 -1 -1 L 630 630 660 600 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/bandstop-var.sym0000664000175000017500000000074112204104272015552 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 400 0 400 1 0 1 P 1000 400 1200 400 1 0 1 A 470 325 150 30 120 3 0 0 0 -1 -1 A 730 475 150 210 120 3 0 0 0 -1 -1 A 470 475 150 30 120 3 0 0 0 -1 -1 A 730 625 150 210 120 3 0 0 0 -1 -1 A 470 175 150 30 120 3 0 0 0 -1 -1 A 730 325 150 210 120 3 0 0 0 -1 -1 L 500 400 600 500 3 0 0 0 -1 -1 L 900 700 800 660 3 0 0 0 -1 -1 L 900 700 860 600 3 0 0 0 -1 -1 L 800 660 860 600 3 0 0 0 -1 -1 L 300 100 830 630 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/sp3t.sym0000664000175000017500000000116312204104272014042 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 400 0 400 1 0 1 P 1000 600 1200 600 1 0 1 L 754 587 654 587 3 0 0 0 -1 -1 L 654 587 674 547 3 0 0 0 -1 -1 L 674 547 694 507 3 0 0 0 -1 -1 L 694 507 754 587 3 0 0 0 -1 -1 V 380 400 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 780 200 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 780 600 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 200 1200 200 1 0 1 L 407 412 675 546 3 0 0 0 -1 -1 V 820 400 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 1000 600 810 600 3 0 0 0 -1 -1 L 1000 400 850 400 3 0 0 0 -1 -1 L 1000 200 810 200 3 0 0 0 -1 -1 L 200 400 350 400 3 0 0 0 -1 -1 P 1000 400 1200 400 1 0 1 geda-gaf-1.8.2/symbols/IEC417/down-converter.sym0000664000175000017500000000040412204104272016122 00000000000000v 20031231 1 B 200 200 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 600 0 600 1 0 1 P 1000 600 1200 600 1 0 1 P 600 200 600 0 1 0 1 L 450 600 450 750 3 0 0 0 -1 -1 L 750 750 750 450 3 0 0 0 -1 -1 L 450 750 750 600 3 0 0 0 -1 -1 L 400 600 800 600 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/combine-2.sym0000664000175000017500000000060212204104272014721 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 600 0 600 1 0 1 P 1000 400 1200 400 1 0 1 L 450 610 600 610 3 0 0 0 -1 -1 L 600 190 450 190 3 0 0 0 -1 -1 L 450 330 600 330 3 0 0 0 -1 -1 L 450 470 600 470 3 0 0 0 -1 -1 L 800 400 700 450 3 0 0 0 -1 -1 L 800 400 700 350 3 0 0 0 -1 -1 L 600 400 800 400 3 0 0 0 -1 -1 L 600 610 600 190 3 0 0 0 -1 -1 P 200 200 0 200 1 0 1 geda-gaf-1.8.2/symbols/IEC417/lowpass-var.sym0000664000175000017500000000063212204104272015427 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 400 0 400 1 0 1 P 1000 400 1200 400 1 0 1 A 470 425 150 30 120 3 0 0 0 -1 -1 A 730 575 150 210 120 3 0 0 0 -1 -1 A 470 225 150 30 120 3 0 0 0 -1 -1 A 730 375 150 210 120 3 0 0 0 -1 -1 L 550 450 650 550 3 0 0 0 -1 -1 L 900 700 800 660 3 0 0 0 -1 -1 L 900 700 860 600 3 0 0 0 -1 -1 L 800 660 860 600 3 0 0 0 -1 -1 L 300 100 830 630 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/adc.sym0000664000175000017500000000162612204104272013704 00000000000000v 20031231 1 P 200 400 0 400 1 0 1 P 1000 400 1200 400 1 0 1 L 200 0 1000 800 15 0 0 0 -1 -1 L 550 850 650 800 3 0 0 0 -1 -1 L 650 800 550 750 3 0 0 0 -1 -1 L 500 100 550 100 3 0 0 0 -1 -1 L 550 200 600 200 3 0 0 0 -1 -1 L 600 100 650 100 3 0 0 0 -1 -1 L 550 100 550 200 3 0 0 0 -1 -1 L 600 200 600 100 3 0 0 0 -1 -1 L 650 100 650 200 3 0 0 0 -1 -1 L 650 200 700 200 3 0 0 0 -1 -1 L 700 200 700 100 3 0 0 0 -1 -1 L 700 100 800 100 3 0 0 0 -1 -1 L 800 100 800 200 3 0 0 0 -1 -1 L 800 200 850 200 3 0 0 0 -1 -1 L 850 200 850 100 3 0 0 0 -1 -1 L 850 100 900 100 3 0 0 0 -1 -1 L 300 681 280 601 3 0 0 0 -1 -1 L 358 680 398 520 3 0 0 0 -1 -1 L 456 520 486 640 3 0 0 0 -1 -1 L 544 640 564 560 3 0 0 0 -1 -1 L 622 560 632 600 3 0 0 0 -1 -1 A 329 673 30 14 152 3 0 0 0 -1 -1 A 515 632 30 14 152 3 0 0 0 -1 -1 A 427 528 30 194 152 3 0 0 0 -1 -1 A 593 567 30 194 152 3 0 0 0 -1 -1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/IEC417/termination.sym0000664000175000017500000000041012204104272015474 00000000000000v 20031231 1 L 0 460 200 340 3 0 0 0 -1 -1 L 200 340 0 220 3 0 0 0 -1 -1 L 0 220 100 160 3 0 0 0 -1 -1 L 0 460 200 580 3 0 0 0 -1 -1 L 200 580 100 640 3 0 0 0 -1 -1 B 0 0 200 20 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 100 160 100 20 3 0 0 0 -1 -1 P 100 800 100 640 1 0 0 geda-gaf-1.8.2/symbols/IEC417/square-up.sym0000664000175000017500000000031412204104272015070 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 400 0 400 1 0 1 P 1000 400 1200 400 1 0 1 L 500 200 600 200 3 0 0 0 -1 -1 L 600 200 600 600 3 0 0 0 -1 -1 L 600 600 700 600 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/osc-var.sym0000664000175000017500000000050612204104272014523 00000000000000v 20031231 1 B 2 -1 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 800 400 1000 400 1 0 1 A 320 359 90 27 125 3 0 0 0 -1 -1 A 480 441 90 207 125 3 0 0 0 -1 -1 V 400 400 250 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 700 700 600 660 3 0 0 0 -1 -1 L 700 700 660 600 3 0 0 0 -1 -1 L 660 600 600 660 3 0 0 0 -1 -1 L 100 100 630 630 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/pulse.sym0000664000175000017500000000041412204104272014277 00000000000000v 20031231 1 P 200 400 0 400 1 0 1 P 1000 400 1200 400 1 0 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 400 300 500 300 3 0 0 0 -1 -1 L 500 300 500 500 3 0 0 0 -1 -1 L 500 500 700 500 3 0 0 0 -1 -1 L 700 500 700 300 3 0 0 0 -1 -1 L 700 300 800 300 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/modulator.sym0000664000175000017500000000061512204104272015160 00000000000000v 20031231 1 P 200 500 0 500 1 0 1 P 1000 500 1200 500 1 0 1 L 730 100 630 150 3 0 0 0 -1 -1 L 730 100 630 50 3 0 0 0 -1 -1 V 500 100 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 1000 100 1000 900 3 0 0 0 -1 -1 L 1000 900 200 900 3 0 0 0 -1 -1 L 200 900 200 100 3 0 0 0 -1 -1 L 200 100 470 100 3 0 0 0 -1 -1 L 1000 100 530 100 3 0 0 0 -1 -1 L 200 100 600 900 3 0 0 0 -1 -1 L 600 900 1000 100 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/spst.sym0000664000175000017500000000044512204104272014144 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 400 0 400 1 0 1 V 400 400 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 800 400 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 400 1200 400 1 0 1 L 1000 400 830 400 3 0 0 0 -1 -1 L 370 400 200 400 3 0 0 0 -1 -1 L 428 412 760 578 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/divide-by-N.sym0000664000175000017500000000030212204104272015212 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 400 0 400 1 0 1 P 1000 400 1200 400 1 0 1 L 200 0 1000 800 3 0 0 0 -1 -1 T 750 150 9 10 1 0 0 0 1 f T 350 500 9 10 1 0 0 0 1 Nf geda-gaf-1.8.2/symbols/IEC417/coupler.sym0000664000175000017500000000034612204104272014624 00000000000000v 20031231 1 B 200 200 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 600 0 600 1 0 1 P 1000 600 1200 600 1 0 1 L 200 600 1000 600 3 0 0 0 -1 -1 L 600 400 600 200 3 0 0 0 -1 -1 A 400 400 200 0 90 3 0 0 0 -1 -1 P 600 200 600 0 1 0 1 geda-gaf-1.8.2/symbols/IEC417/aerial.sym0000664000175000017500000000020212204104272014377 00000000000000v 20031231 1 P 200 200 200 0 1 0 1 L 200 200 200 450 3 0 0 0 -1 -1 L 200 200 50 450 3 0 0 0 -1 -1 L 200 200 350 450 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/phase-detector.sym0000664000175000017500000000031012204104272016051 00000000000000v 20031231 1 B 200 200 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 600 0 600 1 0 1 P 1000 600 1200 600 1 0 1 A 600 600 100 135 315 3 0 0 0 -1 -1 L 600 700 600 400 3 0 0 0 -1 -1 P 600 200 600 0 1 0 1 geda-gaf-1.8.2/symbols/IEC417/highpass.sym0000664000175000017500000000043212204104272014755 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 400 0 400 1 0 1 P 1000 400 1200 400 1 0 1 A 470 425 150 30 120 3 0 0 0 -1 -1 A 730 575 150 210 120 3 0 0 0 -1 -1 A 470 225 150 30 120 3 0 0 0 -1 -1 A 730 375 150 210 120 3 0 0 0 -1 -1 L 550 250 650 350 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/bandstop-trim.sym0000664000175000017500000000064112204104272015734 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 400 0 400 1 0 1 P 1000 400 1200 400 1 0 1 A 470 325 150 30 120 3 0 0 0 -1 -1 A 730 475 150 210 120 3 0 0 0 -1 -1 A 470 475 150 30 120 3 0 0 0 -1 -1 A 730 625 150 210 120 3 0 0 0 -1 -1 A 470 175 150 30 120 3 0 0 0 -1 -1 A 730 325 150 210 120 3 0 0 0 -1 -1 L 500 400 600 500 3 0 0 0 -1 -1 L 300 100 850 650 3 0 0 0 -1 -1 L 800 700 900 600 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/sp3t-noblock.sym0000664000175000017500000000067312204104272015474 00000000000000v 20031231 1 L 554 487 454 487 3 0 0 0 -1 -1 L 454 487 474 447 3 0 0 0 -1 -1 L 474 447 494 407 3 0 0 0 -1 -1 L 494 407 554 487 3 0 0 0 -1 -1 V 180 300 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 580 100 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 580 500 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 207 312 475 446 3 0 0 0 -1 -1 V 620 300 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 800 500 610 500 1 0 0 P 800 300 650 300 1 0 0 P 0 300 150 300 1 0 0 P 800 100 610 100 1 0 0 geda-gaf-1.8.2/symbols/IEC417/bandstop.sym0000664000175000017500000000054112204104272014762 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 400 0 400 1 0 1 P 1000 400 1200 400 1 0 1 A 470 325 150 30 120 3 0 0 0 -1 -1 A 730 475 150 210 120 3 0 0 0 -1 -1 A 470 475 150 30 120 3 0 0 0 -1 -1 A 730 625 150 210 120 3 0 0 0 -1 -1 A 470 175 150 30 120 3 0 0 0 -1 -1 A 730 325 150 210 120 3 0 0 0 -1 -1 L 550 350 650 450 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/amp-var.sym0000664000175000017500000000051412204104272014513 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 400 0 400 1 0 1 P 1000 400 1200 400 1 0 1 L 400 700 400 100 3 0 0 0 -1 -1 L 400 100 900 400 3 0 0 0 -1 -1 L 900 400 400 700 3 0 0 0 -1 -1 L 900 700 800 660 3 0 0 0 -1 -1 L 800 660 860 600 3 0 0 0 -1 -1 L 900 700 860 600 3 0 0 0 -1 -1 L 830 630 300 100 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/diplexer.sym0000664000175000017500000000030612204104272014763 00000000000000v 20031231 1 P 200 400 0 400 1 0 1 P 1000 600 1200 600 1 0 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 200 800 1000 400 3 0 0 0 -1 -1 L 1000 400 200 0 3 0 0 0 -1 -1 P 1000 200 1200 200 1 0 1 geda-gaf-1.8.2/symbols/IEC417/mixer-ansi.sym0000664000175000017500000000036112204104272015224 00000000000000v 20031231 1 B 200 200 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 600 0 600 1 0 1 P 1000 600 1200 600 1 0 1 P 600 200 600 0 1 0 1 V 600 600 250 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 425 775 775 425 3 0 0 0 -1 -1 L 425 425 775 775 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/delay-step.sym0000664000175000017500000000052312204104272015217 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 400 0 400 1 0 1 P 1000 400 1200 400 1 0 1 A 450 400 100 90 180 3 0 0 0 -1 -1 A 750 400 100 270 180 3 0 0 0 -1 -1 L 450 500 750 500 3 0 0 0 -1 -1 L 450 300 750 300 3 0 0 0 -1 -1 L 830 570 900 640 3 0 0 0 -1 -1 L 830 570 800 600 3 0 0 0 -1 -1 L 300 100 800 600 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/lowpass-trim.sym0000664000175000017500000000053212204104272015611 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 400 0 400 1 0 1 P 1000 400 1200 400 1 0 1 A 470 425 150 30 120 3 0 0 0 -1 -1 A 730 575 150 210 120 3 0 0 0 -1 -1 A 470 225 150 30 120 3 0 0 0 -1 -1 A 730 375 150 210 120 3 0 0 0 -1 -1 L 550 450 650 550 3 0 0 0 -1 -1 L 300 100 850 650 3 0 0 0 -1 -1 L 800 700 900 600 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/arrow.sym0000664000175000017500000000011012204104272014272 00000000000000v 20031231 1 L 0 50 100 100 3 0 0 0 -1 -1 L 100 100 0 150 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/bandpass-var.sym0000664000175000017500000000100112204104272015521 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 400 0 400 1 0 1 P 1000 400 1200 400 1 0 1 A 470 325 150 30 120 3 0 0 0 -1 -1 A 730 475 150 210 120 3 0 0 0 -1 -1 A 470 475 150 30 120 3 0 0 0 -1 -1 A 730 625 150 210 120 3 0 0 0 -1 -1 A 470 175 150 30 120 3 0 0 0 -1 -1 A 730 325 150 210 120 3 0 0 0 -1 -1 L 550 500 650 600 3 0 0 0 -1 -1 L 550 200 650 300 3 0 0 0 -1 -1 L 900 700 800 660 3 0 0 0 -1 -1 L 900 700 860 600 3 0 0 0 -1 -1 L 800 660 860 600 3 0 0 0 -1 -1 L 300 100 830 630 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/demodulator.sym0000664000175000017500000000061512204104272015471 00000000000000v 20031231 1 P 200 500 0 500 1 0 1 P 1000 500 1200 500 1 0 1 V 550 100 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 1000 100 1000 900 3 0 0 0 -1 -1 L 1000 900 200 900 3 0 0 0 -1 -1 L 200 900 200 100 3 0 0 0 -1 -1 L 580 100 680 150 3 0 0 0 -1 -1 L 580 100 680 50 3 0 0 0 -1 -1 L 200 100 600 900 3 0 0 0 -1 -1 L 600 900 1000 100 3 0 0 0 -1 -1 L 1000 100 580 100 3 0 0 0 -1 -1 L 200 100 520 100 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/modem.sym0000664000175000017500000000060012204104272014245 00000000000000v 20031231 1 P 200 500 0 500 1 0 1 P 1000 500 1200 500 1 0 1 L 550 100 450 150 3 0 0 0 -1 -1 L 550 100 450 50 3 0 0 0 -1 -1 L 1000 100 1000 900 3 0 0 0 -1 -1 L 1000 900 200 900 3 0 0 0 -1 -1 L 200 900 200 100 3 0 0 0 -1 -1 L 200 100 600 900 3 0 0 0 -1 -1 L 600 900 1000 100 3 0 0 0 -1 -1 L 200 100 1000 100 3 0 0 0 -1 -1 L 650 100 750 150 3 0 0 0 -1 -1 L 650 100 750 50 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/amp-bidir.sym0000664000175000017500000000105512204104272015015 00000000000000v 20031231 1 P 200 400 0 400 1 0 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 400 1200 400 1 0 1 L 750 250 850 250 3 0 0 0 -1 -1 L 850 250 850 550 3 0 0 0 -1 -1 L 850 550 750 550 3 0 0 0 -1 -1 L 450 700 450 400 3 0 0 0 -1 -1 L 450 400 750 550 3 0 0 0 -1 -1 L 750 550 450 700 3 0 0 0 -1 -1 L 750 400 750 100 3 0 0 0 -1 -1 L 750 100 450 250 3 0 0 0 -1 -1 L 450 250 750 400 3 0 0 0 -1 -1 L 450 550 350 550 3 0 0 0 -1 -1 L 350 550 350 250 3 0 0 0 -1 -1 L 350 250 450 250 3 0 0 0 -1 -1 L 350 400 200 400 3 0 0 0 -1 -1 L 1000 400 850 400 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/chassis.sym0000664000175000017500000000023312204104272014603 00000000000000v 20031231 1 P 200 300 200 100 1 0 0 L 50 100 350 100 3 0 0 0 -1 -1 L 350 100 300 0 3 0 0 0 -1 -1 L 200 100 150 0 3 0 0 0 -1 -1 L 50 100 0 0 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/mixer.sym0000664000175000017500000000030712204104272014274 00000000000000v 20031231 1 B 200 200 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 600 0 600 1 0 1 P 1000 600 1200 600 1 0 1 P 600 200 600 0 1 0 1 L 200 200 600 1000 3 0 0 0 -1 -1 L 600 1000 1000 200 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/transformer.sym0000664000175000017500000000050112204104272015506 00000000000000v 20031231 1 P 200 400 0 400 1 0 1 P 1000 400 1200 400 1 0 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 A 750 600 100 90 180 3 0 0 0 -1 -1 A 750 400 100 90 180 3 0 0 0 -1 -1 A 750 200 100 90 180 3 0 0 0 -1 -1 A 450 600 100 270 180 3 0 0 0 -1 -1 A 450 400 100 270 180 3 0 0 0 -1 -1 A 450 200 100 270 180 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/amp.sym0000664000175000017500000000031412204104272013723 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 400 0 400 1 0 1 P 1000 400 1200 400 1 0 1 L 400 700 400 100 3 0 0 0 -1 -1 L 400 100 900 400 3 0 0 0 -1 -1 L 900 400 400 700 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/sampler.sym0000664000175000017500000000065512204104272014621 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 400 0 400 1 0 1 P 1000 400 1200 400 1 0 1 L 200 0 1000 800 3 0 0 0 -1 -1 L 600 100 900 100 3 0 0 0 -1 -1 L 750 100 750 300 3 0 0 0 -1 -1 L 800 100 800 250 3 0 0 0 -1 -1 L 700 100 700 250 3 0 0 0 -1 -1 L 650 100 650 150 3 0 0 0 -1 -1 L 850 100 850 150 3 0 0 0 -1 -1 A 450 620 80 22 135 3 0 0 0 -1 -1 L 314 500 377 652 3 0 0 0 -1 -1 L 525 649 587 500 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/input-output.sym0000664000175000017500000000036212204104272015646 00000000000000v 20031231 1 V 200 200 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 600 200 500 250 3 0 0 0 -1 -1 L 600 200 500 150 3 0 0 0 -1 -1 P 400 200 600 200 1 0 1 L 400 200 200 200 3 0 0 0 -1 -1 L 200 200 300 250 3 0 0 0 -1 -1 L 200 200 300 150 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/osc-trim.sym0000664000175000017500000000040612204104272014705 00000000000000v 20031231 1 B 2 -1 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 800 400 1000 400 1 0 1 A 320 359 90 27 125 3 0 0 0 -1 -1 A 480 441 90 207 125 3 0 0 0 -1 -1 V 400 400 250 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 100 100 650 650 3 0 0 0 -1 -1 L 600 700 700 600 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/amp-diff.sym0000664000175000017500000000050212204104272014630 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 600 0 600 1 0 1 P 1000 400 1200 400 1 0 1 L 400 700 400 100 3 0 0 0 -1 -1 L 400 100 900 400 3 0 0 0 -1 -1 L 900 400 400 700 3 0 0 0 -1 -1 P 200 200 0 200 1 0 1 L 260 600 340 600 3 0 0 0 -1 -1 L 300 640 300 560 3 0 0 0 -1 -1 L 260 200 340 200 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/atten-var.sym0000664000175000017500000000061412204104272015052 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 400 0 400 1 0 1 P 1000 400 1200 400 1 0 1 L 500 460 700 340 3 0 0 0 -1 -1 L 700 340 500 220 3 0 0 0 -1 -1 L 500 220 600 160 3 0 0 0 -1 -1 L 500 460 700 580 3 0 0 0 -1 -1 L 700 580 600 640 3 0 0 0 -1 -1 L 900 700 800 660 3 0 0 0 -1 -1 L 900 700 860 600 3 0 0 0 -1 -1 L 860 600 800 660 3 0 0 0 -1 -1 L 300 100 830 630 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/dc-dc.sym0000664000175000017500000000071512204104272014125 00000000000000v 20031231 1 B 202 -1 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 400 0 400 1 0 1 P 1000 400 1200 400 1 0 1 L 200 0 1000 800 15 0 0 0 -1 -1 L 620 620 300 620 3 0 0 0 -1 -1 L 620 580 540 580 3 0 0 0 -1 -1 L 500 580 420 580 3 0 0 0 -1 -1 L 380 580 300 580 3 0 0 0 -1 -1 L 550 850 650 800 3 0 0 0 -1 -1 L 650 800 550 750 3 0 0 0 -1 -1 L 900 220 580 220 3 0 0 0 -1 -1 L 660 180 580 180 3 0 0 0 -1 -1 L 780 180 700 180 3 0 0 0 -1 -1 L 900 180 820 180 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/ac-dc.sym0000664000175000017500000000062212204104272014117 00000000000000v 20031231 1 B 202 -1 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 400 0 400 1 0 1 P 1000 400 1200 400 1 0 1 L 200 0 1000 800 15 0 0 0 -1 -1 L 900 220 580 220 3 0 0 0 -1 -1 L 900 180 820 180 3 0 0 0 -1 -1 L 780 180 700 180 3 0 0 0 -1 -1 L 660 180 580 180 3 0 0 0 -1 -1 A 380 559 90 27 125 3 0 0 0 -1 -1 A 540 641 90 207 125 3 0 0 0 -1 -1 L 550 850 650 800 3 0 0 0 -1 -1 L 650 800 550 750 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/bandstop-step.sym0000664000175000017500000000070112204104272015731 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 400 0 400 1 0 1 P 1000 400 1200 400 1 0 1 A 470 325 150 30 120 3 0 0 0 -1 -1 A 730 475 150 210 120 3 0 0 0 -1 -1 A 470 475 150 30 120 3 0 0 0 -1 -1 A 730 625 150 210 120 3 0 0 0 -1 -1 A 470 175 150 30 120 3 0 0 0 -1 -1 A 730 325 150 210 120 3 0 0 0 -1 -1 L 500 400 600 500 3 0 0 0 -1 -1 L 830 570 900 640 3 0 0 0 -1 -1 L 800 600 830 570 3 0 0 0 -1 -1 L 300 100 800 600 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/pulse-step.sym0000664000175000017500000000055412204104272015255 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 400 0 400 1 0 1 P 1000 400 1200 400 1 0 1 L 830 570 900 640 3 0 0 0 -1 -1 L 830 570 800 600 3 0 0 0 -1 -1 L 800 600 300 100 3 0 0 0 -1 -1 L 400 300 500 300 3 0 0 0 -1 -1 L 500 300 500 500 3 0 0 0 -1 -1 L 500 500 700 500 3 0 0 0 -1 -1 L 700 500 700 300 3 0 0 0 -1 -1 L 700 300 800 300 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/output.sym0000664000175000017500000000026212204104272014510 00000000000000v 20031231 1 V 200 200 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 600 200 500 250 3 0 0 0 -1 -1 L 600 200 500 150 3 0 0 0 -1 -1 P 400 200 600 200 1 0 1 L 400 200 200 200 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/common.sym0000664000175000017500000000012012204104272014431 00000000000000v 20031231 1 B 0 0 200 20 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 100 200 100 20 1 0 0 geda-gaf-1.8.2/symbols/IEC417/delay.sym0000664000175000017500000000036312204104272014250 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 400 0 400 1 0 1 P 1000 400 1200 400 1 0 1 A 450 400 100 90 180 3 0 0 0 -1 -1 A 750 400 100 270 180 3 0 0 0 -1 -1 L 450 500 750 500 3 0 0 0 -1 -1 L 450 300 750 300 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/atten.sym0000664000175000017500000000041412204104272014262 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 400 0 400 1 0 1 P 1000 400 1200 400 1 0 1 L 500 460 700 340 3 0 0 0 -1 -1 L 700 340 500 220 3 0 0 0 -1 -1 L 500 220 600 160 3 0 0 0 -1 -1 L 500 460 700 580 3 0 0 0 -1 -1 L 700 580 600 640 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/block-convert.sym0000664000175000017500000000021312204104272015714 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 400 0 400 1 0 1 P 1000 400 1200 400 1 0 1 L 200 0 1000 800 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/pulse-var.sym0000664000175000017500000000061412204104272015067 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 400 0 400 1 0 1 P 1000 400 1200 400 1 0 1 L 900 700 800 660 3 0 0 0 -1 -1 L 900 700 860 600 3 0 0 0 -1 -1 L 860 600 800 660 3 0 0 0 -1 -1 L 300 100 830 630 3 0 0 0 -1 -1 L 400 300 500 300 3 0 0 0 -1 -1 L 500 300 500 500 3 0 0 0 -1 -1 L 500 500 700 500 3 0 0 0 -1 -1 L 700 500 700 300 3 0 0 0 -1 -1 L 700 300 800 300 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/pad.sym0000664000175000017500000000033212204104272013712 00000000000000v 20031231 1 P 200 300 0 300 1 0 1 P 200 300 400 300 1 0 1 L 100 360 300 240 3 0 0 0 -1 -1 L 300 240 100 120 3 0 0 0 -1 -1 L 100 120 200 60 3 0 0 0 -1 -1 L 100 360 300 480 3 0 0 0 -1 -1 L 300 480 200 540 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/atten-step.sym0000664000175000017500000000055412204104272015240 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 400 0 400 1 0 1 P 1000 400 1200 400 1 0 1 L 500 460 700 340 3 0 0 0 -1 -1 L 700 340 500 220 3 0 0 0 -1 -1 L 500 220 600 160 3 0 0 0 -1 -1 L 500 460 700 580 3 0 0 0 -1 -1 L 700 580 600 640 3 0 0 0 -1 -1 L 830 570 900 640 3 0 0 0 -1 -1 L 800 600 830 570 3 0 0 0 -1 -1 L 800 600 300 100 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/spst-noblock.sym0000664000175000017500000000026312204104272015567 00000000000000v 20031231 1 V 200 100 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 600 100 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 228 112 560 278 3 0 0 0 -1 -1 P 0 100 170 100 1 0 0 P 800 100 630 100 1 0 0 geda-gaf-1.8.2/symbols/IEC417/combine-3.sym0000664000175000017500000000063012204104272014723 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 600 0 600 1 0 1 P 1000 400 1200 400 1 0 1 L 450 610 600 610 3 0 0 0 -1 -1 L 600 190 450 190 3 0 0 0 -1 -1 L 450 330 600 330 3 0 0 0 -1 -1 L 450 470 600 470 3 0 0 0 -1 -1 L 800 400 700 450 3 0 0 0 -1 -1 L 800 400 700 350 3 0 0 0 -1 -1 L 600 400 800 400 3 0 0 0 -1 -1 L 600 610 600 190 3 0 0 0 -1 -1 P 200 200 0 200 1 0 1 P 200 400 0 400 1 0 1 geda-gaf-1.8.2/symbols/IEC417/highpass-step.sym0000664000175000017500000000057212204104272015733 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 400 0 400 1 0 1 P 1000 400 1200 400 1 0 1 A 470 425 150 30 120 3 0 0 0 -1 -1 A 730 575 150 210 120 3 0 0 0 -1 -1 A 470 225 150 30 120 3 0 0 0 -1 -1 A 730 375 150 210 120 3 0 0 0 -1 -1 L 550 250 650 350 3 0 0 0 -1 -1 L 830 570 900 640 3 0 0 0 -1 -1 L 800 600 830 570 3 0 0 0 -1 -1 L 300 100 800 600 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/pushbutton.sym0000664000175000017500000000032312204104272015361 00000000000000v 20031231 1 V 200 100 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 600 100 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 100 170 100 1 0 0 P 800 100 630 100 1 0 0 L 150 200 650 200 3 0 0 0 -1 -1 L 400 200 400 300 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/con-coaxial.sym0000664000175000017500000000017612204104272015351 00000000000000v 20031231 1 V 100 100 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 100 100 50 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 150 100 300 100 1 0 1 geda-gaf-1.8.2/symbols/IEC417/delay-trim.sym0000664000175000017500000000046312204104272015222 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 400 0 400 1 0 1 P 1000 400 1200 400 1 0 1 A 450 400 100 90 180 3 0 0 0 -1 -1 A 750 400 100 270 180 3 0 0 0 -1 -1 L 450 500 750 500 3 0 0 0 -1 -1 L 450 300 750 300 3 0 0 0 -1 -1 L 300 100 850 650 3 0 0 0 -1 -1 L 800 700 900 600 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/bandpass-trim.sym0000664000175000017500000000070112204104272015712 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 400 0 400 1 0 1 P 1000 400 1200 400 1 0 1 A 470 325 150 30 120 3 0 0 0 -1 -1 A 730 475 150 210 120 3 0 0 0 -1 -1 A 470 475 150 30 120 3 0 0 0 -1 -1 A 730 625 150 210 120 3 0 0 0 -1 -1 A 470 175 150 30 120 3 0 0 0 -1 -1 A 730 325 150 210 120 3 0 0 0 -1 -1 L 550 500 650 600 3 0 0 0 -1 -1 L 550 200 650 300 3 0 0 0 -1 -1 L 300 100 850 650 3 0 0 0 -1 -1 L 800 700 900 600 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/logic.sym0000664000175000017500000000106412204104272014246 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 400 0 400 1 0 1 B 400 100 400 160 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 400 260 400 160 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 460 420 460 500 3 0 0 0 -1 -1 L 460 500 400 500 3 0 0 0 -1 -1 L 400 500 400 700 3 0 0 0 -1 -1 L 400 700 800 700 3 0 0 0 -1 -1 L 800 700 800 500 3 0 0 0 -1 -1 L 800 500 740 500 3 0 0 0 -1 -1 L 740 500 740 420 3 0 0 0 -1 -1 L 400 340 300 340 3 0 0 0 -1 -1 L 400 180 300 180 3 0 0 0 -1 -1 L 900 340 800 340 3 0 0 0 -1 -1 L 900 180 800 180 3 0 0 0 -1 -1 L 400 600 300 600 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/ac-ac.sym0000664000175000017500000000052712204104272014120 00000000000000v 20031231 1 B 202 -1 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 400 0 400 1 0 1 P 1000 400 1200 400 1 0 1 L 200 0 1000 800 15 0 0 0 -1 -1 A 380 559 90 27 125 3 0 0 0 -1 -1 A 540 641 90 207 125 3 0 0 0 -1 -1 L 550 850 650 800 3 0 0 0 -1 -1 L 650 800 550 750 3 0 0 0 -1 -1 A 660 159 90 27 125 3 0 0 0 -1 -1 A 820 241 90 207 125 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/spdt-noblock.sym0000664000175000017500000000056712204104272015557 00000000000000v 20031231 1 L 574 487 474 487 3 0 0 0 -1 -1 L 474 487 494 447 3 0 0 0 -1 -1 L 494 447 514 407 3 0 0 0 -1 -1 L 514 407 574 487 3 0 0 0 -1 -1 V 200 300 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 600 100 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 600 500 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 227 312 495 446 3 0 0 0 -1 -1 P 800 500 630 500 1 0 0 P 0 300 170 300 1 0 0 P 800 100 630 100 1 0 0 geda-gaf-1.8.2/symbols/IEC417/split-4.sym0000664000175000017500000000067212204104272014451 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 700 1200 700 1 0 1 L 600 610 750 610 3 0 0 0 -1 -1 L 750 190 600 190 3 0 0 0 -1 -1 L 600 330 750 330 3 0 0 0 -1 -1 L 600 470 750 470 3 0 0 0 -1 -1 L 550 400 450 450 3 0 0 0 -1 -1 L 550 400 450 350 3 0 0 0 -1 -1 L 400 400 600 400 3 0 0 0 -1 -1 L 600 610 600 190 3 0 0 0 -1 -1 P 200 400 0 400 1 0 1 P 1000 300 1200 300 1 0 1 P 1000 500 1200 500 1 0 1 P 1000 100 1200 100 1 0 1 geda-gaf-1.8.2/symbols/IEC417/ground.sym0000664000175000017500000000046012204104272014446 00000000000000v 20031231 1 L 150 0 250 0 3 0 0 0 -1 -1 L 100 50 300 50 3 0 0 0 -1 -1 L 50 100 350 100 3 0 0 0 -1 -1 P 200 300 200 100 1 0 0 { T 158 161 5 4 0 1 0 0 1 pinnumber=1 T 158 161 5 4 0 0 0 0 1 pinseq=1 T 158 161 5 4 0 1 0 0 1 pinlabel=1 T 158 161 5 4 0 1 0 0 1 pintype=pwr } T 300 50 8 10 0 0 0 0 1 net=GND:1 geda-gaf-1.8.2/symbols/IEC417/mixer-din.sym0000664000175000017500000000031012204104272015036 00000000000000v 20031231 1 B 200 200 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 600 0 600 1 0 1 P 1000 600 1200 600 1 0 1 L 200 200 1000 1000 3 0 0 0 -1 -1 L 200 1000 1000 200 3 0 0 0 -1 -1 P 600 200 600 0 1 0 1 geda-gaf-1.8.2/symbols/IEC417/corrector.sym0000664000175000017500000000045412204104272015155 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 400 0 400 1 0 1 P 1000 400 1200 400 1 0 1 L 650 200 750 200 3 0 0 0 -1 -1 L 750 200 750 600 3 0 0 0 -1 -1 L 750 600 850 600 3 0 0 0 -1 -1 L 350 200 450 200 3 0 0 0 -1 -1 L 450 200 550 600 3 0 0 0 -1 -1 L 550 600 650 600 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/highpass-trim.sym0000664000175000017500000000053212204104272015727 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 400 0 400 1 0 1 P 1000 400 1200 400 1 0 1 A 470 425 150 30 120 3 0 0 0 -1 -1 A 730 575 150 210 120 3 0 0 0 -1 -1 A 470 225 150 30 120 3 0 0 0 -1 -1 A 730 375 150 210 120 3 0 0 0 -1 -1 L 550 250 650 350 3 0 0 0 -1 -1 L 300 100 850 650 3 0 0 0 -1 -1 L 800 700 900 600 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/block.sym0000664000175000017500000000015412204104272014242 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 400 0 400 1 0 1 P 1000 400 1200 400 1 0 1 geda-gaf-1.8.2/symbols/IEC417/process.sym0000664000175000017500000000036312204104272014630 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 400 0 400 1 0 1 P 1000 400 1200 400 1 0 1 A 600 400 250 135 90 3 0 0 0 -1 -1 A 600 400 250 315 90 3 0 0 0 -1 -1 L 200 400 350 400 3 0 0 0 -1 -1 L 1000 400 850 400 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/highpass-var.sym0000664000175000017500000000063212204104272015545 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 400 0 400 1 0 1 P 1000 400 1200 400 1 0 1 A 470 425 150 30 120 3 0 0 0 -1 -1 A 730 575 150 210 120 3 0 0 0 -1 -1 A 470 225 150 30 120 3 0 0 0 -1 -1 A 730 375 150 210 120 3 0 0 0 -1 -1 L 550 250 650 350 3 0 0 0 -1 -1 L 900 700 800 660 3 0 0 0 -1 -1 L 900 700 860 600 3 0 0 0 -1 -1 L 800 660 860 600 3 0 0 0 -1 -1 L 300 100 830 630 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/input.sym0000664000175000017500000000026012204104272014305 00000000000000v 20031231 1 V 400 200 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 400 200 300 250 3 0 0 0 -1 -1 L 400 200 300 150 3 0 0 0 -1 -1 P 0 200 200 200 1 0 0 L 400 200 200 200 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/detector.sym0000664000175000017500000000045412204104272014764 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 400 0 400 1 0 1 P 1000 400 1200 400 1 0 1 L 450 550 450 250 3 0 0 0 -1 -1 L 450 250 750 400 3 0 0 0 -1 -1 L 750 400 450 550 3 0 0 0 -1 -1 L 750 550 750 250 3 0 0 0 -1 -1 L 750 400 850 400 3 0 0 0 -1 -1 L 450 400 350 400 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/sp4t-noblock.sym0000664000175000017500000000073712204104272015476 00000000000000v 20031231 1 V 200 400 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 500 100 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 610 500 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 610 300 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 500 700 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 480 680 380 640 3 0 0 0 -1 -1 L 480 680 440 580 3 0 0 0 -1 -1 L 440 580 380 640 3 0 0 0 -1 -1 L 410 610 220 420 3 0 0 0 -1 -1 P 0 400 170 400 1 0 0 P 800 300 640 300 1 0 0 P 800 500 640 500 1 0 0 P 800 700 530 700 1 0 0 P 800 100 530 100 1 0 0 geda-gaf-1.8.2/symbols/IEC417/io.sym0000664000175000017500000000010712204104272013555 00000000000000v 20031231 1 P 100 100 300 100 1 0 1 A 0 100 100 270 180 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/bandpass-step.sym0000664000175000017500000000074112204104272015716 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 400 0 400 1 0 1 P 1000 400 1200 400 1 0 1 A 470 325 150 30 120 3 0 0 0 -1 -1 A 730 475 150 210 120 3 0 0 0 -1 -1 A 470 475 150 30 120 3 0 0 0 -1 -1 A 730 625 150 210 120 3 0 0 0 -1 -1 A 470 175 150 30 120 3 0 0 0 -1 -1 A 730 325 150 210 120 3 0 0 0 -1 -1 L 550 500 650 600 3 0 0 0 -1 -1 L 550 200 650 300 3 0 0 0 -1 -1 L 830 570 900 640 3 0 0 0 -1 -1 L 800 600 830 570 3 0 0 0 -1 -1 L 300 100 800 600 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/sp4t.sym0000664000175000017500000000127212204104272014044 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 400 0 400 1 0 1 P 1000 700 1200 700 1 0 1 V 400 400 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 700 100 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 810 500 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 300 1200 300 1 0 1 V 810 300 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 500 1200 500 1 0 1 V 700 700 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 1000 700 730 700 3 0 0 0 -1 -1 L 1000 500 840 500 3 0 0 0 -1 -1 L 1000 300 840 300 3 0 0 0 -1 -1 L 1000 100 730 100 3 0 0 0 -1 -1 P 1000 100 1200 100 1 0 1 L 680 680 580 640 3 0 0 0 -1 -1 L 680 680 640 580 3 0 0 0 -1 -1 L 640 580 580 640 3 0 0 0 -1 -1 L 610 610 420 420 3 0 0 0 -1 -1 L 200 400 370 400 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/up-converter.sym0000664000175000017500000000040412204104272015577 00000000000000v 20031231 1 B 200 200 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 600 0 600 1 0 1 P 1000 600 1200 600 1 0 1 P 600 200 600 0 1 0 1 L 750 600 750 750 3 0 0 0 -1 -1 L 450 750 450 450 3 0 0 0 -1 -1 L 400 600 800 600 3 0 0 0 -1 -1 L 450 600 750 750 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/hybrid.sym0000664000175000017500000000075012204104272014433 00000000000000v 20031231 1 P 200 600 0 600 1 0 1 P 1000 200 1200 200 1 0 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 600 1200 600 1 0 1 P 200 200 0 200 1 0 1 A 360 500 100 45 45 3 0 0 0 -1 -1 A 840 300 100 225 45 3 0 0 0 -1 -1 L 430 570 770 230 3 0 0 0 -1 -1 L 360 600 200 600 3 0 0 0 -1 -1 L 840 200 1000 200 3 0 0 0 -1 -1 A 840 500 100 90 45 3 0 0 0 -1 -1 L 770 570 430 230 3 0 0 0 -1 -1 A 360 300 100 270 45 3 0 0 0 -1 -1 L 840 600 1000 600 3 0 0 0 -1 -1 L 360 200 200 200 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/pulse-trim.sym0000664000175000017500000000051412204104272015251 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 400 0 400 1 0 1 P 1000 400 1200 400 1 0 1 L 300 100 850 650 3 0 0 0 -1 -1 L 800 700 900 600 3 0 0 0 -1 -1 L 400 300 500 300 3 0 0 0 -1 -1 L 500 300 500 500 3 0 0 0 -1 -1 L 500 500 700 500 3 0 0 0 -1 -1 L 700 500 700 300 3 0 0 0 -1 -1 L 700 300 800 300 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/limiter.sym0000664000175000017500000000115412204104272014616 00000000000000v 20031231 1 P 200 400 0 400 1 0 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 400 1200 400 1 0 1 L 350 500 550 500 3 0 0 0 -1 -1 L 850 500 650 500 3 0 0 0 -1 -1 L 650 500 750 300 3 0 0 0 -1 -1 L 750 300 850 500 3 0 0 0 -1 -1 L 650 300 850 300 3 0 0 0 -1 -1 L 450 500 350 300 3 0 0 0 -1 -1 L 350 300 550 300 3 0 0 0 -1 -1 L 550 300 450 500 3 0 0 0 -1 -1 L 450 500 450 600 3 0 0 0 -1 -1 L 750 500 750 600 3 0 0 0 -1 -1 L 750 600 450 600 3 0 0 0 -1 -1 L 450 300 450 200 3 0 0 0 -1 -1 L 450 200 750 200 3 0 0 0 -1 -1 L 750 200 750 300 3 0 0 0 -1 -1 L 600 200 600 100 3 0 0 0 -1 -1 L 600 600 600 700 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/circulator.sym0000664000175000017500000000045112204104272015317 00000000000000v 20031231 1 B 200 200 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 600 0 600 1 0 1 P 1000 600 1200 600 1 0 1 A 600 600 200 0 180 3 0 0 0 -1 -1 L 700 430 740 530 3 0 0 0 -1 -1 L 700 430 800 470 3 0 0 0 -1 -1 L 800 470 740 530 3 0 0 0 -1 -1 A 600 600 200 330 30 3 0 0 0 -1 -1 P 600 200 600 0 1 0 1 geda-gaf-1.8.2/symbols/IEC417/isolator.sym0000664000175000017500000000042112204104272015001 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 400 0 400 1 0 1 P 1000 400 1200 400 1 0 1 A 600 400 200 0 180 3 0 0 0 -1 -1 L 700 230 740 330 3 0 0 0 -1 -1 L 700 230 800 270 3 0 0 0 -1 -1 L 800 270 740 330 3 0 0 0 -1 -1 A 600 400 200 330 30 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/dc-ac.sym0000664000175000017500000000062212204104272014117 00000000000000v 20031231 1 B 202 -1 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 400 0 400 1 0 1 P 1000 400 1200 400 1 0 1 L 200 0 1000 800 15 0 0 0 -1 -1 L 620 620 300 620 3 0 0 0 -1 -1 L 620 580 540 580 3 0 0 0 -1 -1 L 500 580 420 580 3 0 0 0 -1 -1 L 380 580 300 580 3 0 0 0 -1 -1 A 660 159 90 27 125 3 0 0 0 -1 -1 A 820 241 90 207 125 3 0 0 0 -1 -1 L 550 850 650 800 3 0 0 0 -1 -1 L 650 800 550 750 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/lowpass-step.sym0000664000175000017500000000057212204104272015615 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 400 0 400 1 0 1 P 1000 400 1200 400 1 0 1 A 470 425 150 30 120 3 0 0 0 -1 -1 A 730 575 150 210 120 3 0 0 0 -1 -1 A 470 225 150 30 120 3 0 0 0 -1 -1 A 730 375 150 210 120 3 0 0 0 -1 -1 L 550 450 650 550 3 0 0 0 -1 -1 L 830 570 900 640 3 0 0 0 -1 -1 L 800 600 830 570 3 0 0 0 -1 -1 L 300 100 800 600 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/split-3.sym0000664000175000017500000000064012204104272014443 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 600 1200 600 1 0 1 L 600 610 750 610 3 0 0 0 -1 -1 L 750 190 600 190 3 0 0 0 -1 -1 L 600 330 750 330 3 0 0 0 -1 -1 L 600 470 750 470 3 0 0 0 -1 -1 L 550 400 450 450 3 0 0 0 -1 -1 L 550 400 450 350 3 0 0 0 -1 -1 L 400 400 600 400 3 0 0 0 -1 -1 L 600 610 600 190 3 0 0 0 -1 -1 P 200 400 0 400 1 0 1 P 1000 200 1200 200 1 0 1 P 1000 400 1200 400 1 0 1 geda-gaf-1.8.2/symbols/IEC417/osc.sym0000664000175000017500000000030612204104272013733 00000000000000v 20031231 1 B 2 -1 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 800 400 1000 400 1 0 1 A 320 359 90 27 125 3 0 0 0 -1 -1 A 480 441 90 207 125 3 0 0 0 -1 -1 V 400 400 250 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/IEC417/coupler-dual.sym0000664000175000017500000000047712204104272015554 00000000000000v 20031231 1 B 200 200 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 600 0 600 1 0 1 P 1000 600 1200 600 1 0 1 L 200 600 1000 600 3 0 0 0 -1 -1 L 400 400 400 200 3 0 0 0 -1 -1 A 200 400 200 0 90 3 0 0 0 -1 -1 P 400 200 400 0 1 0 1 A 1000 400 200 90 90 3 0 0 0 -1 -1 L 800 400 800 200 3 0 0 0 -1 -1 P 800 200 800 0 1 0 1 geda-gaf-1.8.2/symbols/IEC417/delay-var.sym0000664000175000017500000000056312204104272015040 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 400 0 400 1 0 1 P 1000 400 1200 400 1 0 1 A 450 400 100 90 180 3 0 0 0 -1 -1 A 750 400 100 270 180 3 0 0 0 -1 -1 L 450 500 750 500 3 0 0 0 -1 -1 L 450 300 750 300 3 0 0 0 -1 -1 L 900 700 800 660 3 0 0 0 -1 -1 L 900 700 860 600 3 0 0 0 -1 -1 L 860 600 800 660 3 0 0 0 -1 -1 L 300 100 830 630 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/combine-4.sym0000664000175000017500000000065612204104272014734 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 700 0 700 1 0 1 P 1000 400 1200 400 1 0 1 L 450 610 600 610 3 0 0 0 -1 -1 L 600 190 450 190 3 0 0 0 -1 -1 L 450 330 600 330 3 0 0 0 -1 -1 L 450 470 600 470 3 0 0 0 -1 -1 L 800 400 700 450 3 0 0 0 -1 -1 L 800 400 700 350 3 0 0 0 -1 -1 L 600 400 800 400 3 0 0 0 -1 -1 L 600 610 600 190 3 0 0 0 -1 -1 P 200 100 0 100 1 0 1 P 200 500 0 500 1 0 1 P 200 300 0 300 1 0 1 geda-gaf-1.8.2/symbols/IEC417/bandpass.sym0000664000175000017500000000060112204104272014740 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 400 0 400 1 0 1 P 1000 400 1200 400 1 0 1 A 470 325 150 30 120 3 0 0 0 -1 -1 A 730 475 150 210 120 3 0 0 0 -1 -1 A 470 475 150 30 120 3 0 0 0 -1 -1 A 730 625 150 210 120 3 0 0 0 -1 -1 A 470 175 150 30 120 3 0 0 0 -1 -1 A 730 325 150 210 120 3 0 0 0 -1 -1 L 550 500 650 600 3 0 0 0 -1 -1 L 550 200 650 300 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/amp-trim.sym0000664000175000017500000000041412204104272014675 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 400 0 400 1 0 1 P 1000 400 1200 400 1 0 1 L 400 700 400 100 3 0 0 0 -1 -1 L 400 100 900 400 3 0 0 0 -1 -1 L 900 400 400 700 3 0 0 0 -1 -1 L 300 100 850 650 3 0 0 0 -1 -1 L 800 700 900 600 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/split-2.sym0000664000175000017500000000060612204104272014444 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 600 1200 600 1 0 1 L 600 610 750 610 3 0 0 0 -1 -1 L 750 190 600 190 3 0 0 0 -1 -1 L 600 330 750 330 3 0 0 0 -1 -1 L 600 470 750 470 3 0 0 0 -1 -1 L 550 400 450 450 3 0 0 0 -1 -1 L 550 400 450 350 3 0 0 0 -1 -1 L 400 400 600 400 3 0 0 0 -1 -1 L 600 610 600 190 3 0 0 0 -1 -1 P 200 400 0 400 1 0 1 P 1000 200 1200 200 1 0 1 geda-gaf-1.8.2/symbols/IEC417/switch-5port.sym0000664000175000017500000000143512204104272015523 00000000000000v 20031231 1 L 574 487 474 487 3 0 0 0 -1 -1 L 474 487 494 447 3 0 0 0 -1 -1 L 494 447 514 407 3 0 0 0 -1 -1 L 514 407 574 487 3 0 0 0 -1 -1 V 200 300 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 600 100 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 600 500 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 227 312 495 446 3 0 0 0 -1 -1 P 800 500 630 500 1 0 0 P 0 300 170 300 1 0 0 P 800 100 630 100 1 0 0 P 0 700 170 700 1 0 0 V 200 700 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 227 712 495 846 3 0 0 0 -1 -1 L 494 847 514 807 3 0 0 0 -1 -1 L 514 807 574 887 3 0 0 0 -1 -1 L 574 887 474 887 3 0 0 0 -1 -1 L 474 887 494 847 3 0 0 0 -1 -1 V 600 900 30 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 800 900 630 900 1 0 0 L 350 750 350 700 3 0 0 0 -1 -1 L 350 650 350 600 3 0 0 0 -1 -1 L 350 550 350 500 3 0 0 0 -1 -1 L 350 450 350 400 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/IEC417/amp-step.sym0000664000175000017500000000045412204104272014701 00000000000000v 20031231 1 B 200 0 800 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 400 0 400 1 0 1 P 1000 400 1200 400 1 0 1 L 400 700 400 100 3 0 0 0 -1 -1 L 400 100 900 400 3 0 0 0 -1 -1 L 900 400 400 700 3 0 0 0 -1 -1 L 830 570 900 640 3 0 0 0 -1 -1 L 830 570 800 600 3 0 0 0 -1 -1 L 800 600 300 100 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/74/0000775000175000017500000000000012220655764012113 500000000000000geda-gaf-1.8.2/symbols/74/7414-2.sym0000664000175000017500000000246012204104272013306 00000000000000v 20041228 1 L 300 200 300 800 3 0 0 0 -1 -1 L 300 800 800 500 3 0 0 0 -1 -1 L 800 500 300 200 3 0 0 0 -1 -1 V 850 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 500 300 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=1 T 200 450 5 8 0 1 0 8 1 pinseq=1 T 350 500 9 8 0 1 0 0 1 pinlabel=A T 350 500 5 8 0 1 0 2 1 pintype=in } P 1200 500 900 500 1 0 0 { T 1000 550 5 8 1 1 0 0 1 pinnumber=2 T 1000 450 5 8 0 1 0 2 1 pinseq=2 T 750 500 9 8 0 1 0 6 1 pinlabel=Y T 750 500 5 8 0 1 0 8 1 pintype=out } T 300 1400 8 10 0 0 0 0 1 slot=1 T 300 1200 8 10 0 0 0 0 1 numslots=6 T 300 0 8 10 1 1 0 0 1 device=7414 L 390 560 390 360 3 0 0 0 -1 -1 L 390 360 450 400 3 0 0 0 -1 -1 L 390 560 450 600 3 0 0 0 -1 -1 L 390 360 330 320 3 0 0 0 -1 -1 L 450 400 450 600 3 0 0 0 -1 -1 L 450 600 520 640 3 0 0 0 -1 -1 T 300 1818 8 10 0 0 0 0 1 slotdef=1:1,2 T 300 2000 8 10 0 0 0 0 1 slotdef=2:3,4 T 300 2200 8 10 0 0 0 0 1 slotdef=3:5,6 T 300 2400 8 10 0 0 0 0 1 slotdef=4:9,8 T 300 2600 8 10 0 0 0 0 1 slotdef=5:11,10 T 300 1600 8 10 0 0 0 0 1 slotdef=6:13,12 T 800 800 8 10 1 1 0 0 1 refdes=U? T 300 2800 8 10 0 0 0 0 1 pins=14 T 300 3000 8 10 0 0 0 0 1 footprint=DIP14 T 300 3200 8 10 0 0 0 0 1 description=6 inverting Schmitt-triggers T 300 3400 8 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc14.pdf T 300 3600 8 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/74/7456-1.sym0000664000175000017500000000316512204104272013316 00000000000000v 20031231 1 P 0 1000 200 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=5 T 200 950 5 8 0 1 0 8 1 pinseq=1 T 375 1000 9 8 1 1 0 0 1 pinlabel=CLKA T 375 1000 5 8 0 1 0 2 1 pintype=clk } P 2000 1000 1700 1000 1 0 0 { T 1800 1050 5 8 1 1 0 0 1 pinnumber=3 T 1800 950 5 8 0 1 0 2 1 pinseq=2 T 1650 1000 9 8 1 1 0 6 1 pinlabel=QA T 1650 1000 5 8 0 1 0 8 1 pintype=out } P 0 600 200 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=1 T 200 550 5 8 0 1 0 8 1 pinseq=3 T 375 600 9 8 1 1 0 0 1 pinlabel=CLKB T 375 600 5 8 0 1 0 2 1 pintype=clk } P 2000 600 1700 600 1 0 0 { T 1800 650 5 8 1 1 0 0 1 pinnumber=7 T 1800 550 5 8 0 1 0 2 1 pinseq=4 T 1650 600 9 8 1 1 0 6 1 pinlabel=QB T 1650 600 5 8 0 1 0 8 1 pintype=out } P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=6 T 200 150 5 8 0 1 0 8 1 pinseq=5 T 350 200 9 8 1 1 0 0 1 pinlabel=RST T 350 200 5 8 0 1 0 2 1 pintype=in } P 2000 200 1700 200 1 0 0 { T 1800 250 5 8 1 1 0 0 1 pinnumber=8 T 1800 150 5 8 0 1 0 2 1 pinseq=6 T 1650 200 9 8 1 1 0 6 1 pinlabel=QC T 1650 200 5 8 0 1 0 8 1 pintype=out } B 300 0 1400 1300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 1740 5 10 0 0 0 0 1 device=7456 T 300 1540 5 10 0 0 0 0 1 footprint=DIP8 T 1700 1400 8 10 1 1 0 6 1 refdes=U? T 300 1950 5 10 0 0 0 0 1 description=2 frequency dividers, div5 and div10 T 300 2150 5 10 0 0 0 0 1 net=Vcc:2 T 300 2350 5 10 0 0 0 0 1 net=GND:4 T 300 1340 9 10 1 0 0 0 1 7456 V 250 600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 1000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 300 650 375 600 3 0 0 0 -1 -1 L 375 600 300 550 3 0 0 0 -1 -1 L 375 1000 300 950 3 0 0 0 -1 -1 L 375 1000 300 1050 3 0 0 0 -1 -1 T 300 2550 5 10 0 0 0 0 1 numslots=0 geda-gaf-1.8.2/symbols/74/74HCT03-1.sym0000664000175000017500000000252312204104272013642 00000000000000v 20031231 1 T 300 900 8 10 1 1 0 0 1 refdes=U? T 600 2900 5 10 0 0 0 0 1 device=74HCT03 T 600 2700 5 10 0 0 0 0 1 footprint=DIP14 T 600 2500 5 10 0 0 0 0 1 slot=1 T 600 2300 5 10 0 0 0 0 1 numslots=4 T 600 2100 5 10 0 0 0 0 1 slotdef=1:1,2,3 T 600 1900 5 10 0 0 0 0 1 slotdef=2:4,5,6 T 600 1700 5 10 0 0 0 0 1 slotdef=3:9,10,8 T 600 1500 5 10 0 0 0 0 1 slotdef=4:12,13,11 T 600 1300 5 10 0 0 0 0 1 net=GND:7 T 600 1100 5 10 0 0 0 0 1 net=Vcc:14 P 300 700 0 700 1 0 1 { T 200 750 5 8 1 1 0 6 1 pinnumber=1 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 0 1 0 0 1 pinlabel=A T 350 700 5 8 0 1 0 2 1 pintype=in } P 300 300 0 300 1 0 1 { T 200 350 5 8 1 1 0 6 1 pinnumber=2 T 200 250 5 8 0 1 0 8 1 pinseq=2 T 350 300 9 8 0 1 0 0 1 pinlabel=B T 350 300 5 8 0 1 0 2 1 pintype=in } P 1100 500 1300 500 1 0 1 { T 1100 550 5 8 1 1 0 0 1 pinnumber=3 T 1100 450 5 8 0 1 0 2 1 pinseq=3 T 950 500 9 8 0 1 0 6 1 pinlabel=Y T 950 500 5 8 0 1 0 8 1 pintype=oc } A 700 500 300 270 180 3 0 0 0 -1 -1 L 300 800 700 800 3 0 0 0 -1 -1 L 300 200 300 800 3 0 0 0 -1 -1 L 300 200 700 200 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 600 3100 5 10 0 0 0 0 1 description=4 NAND gates with 2 inputs and open collector output T 300 0 9 8 1 0 0 0 1 74HCT03 T 600 3300 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/74HC_HCT03_CNV_2.pdf geda-gaf-1.8.2/symbols/74/7403-1.sym0000664000175000017500000000251112204104272013300 00000000000000v 20031231 1 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 1 7403 L 300 800 700 800 3 0 0 0 -1 -1 T 500 900 5 10 0 0 0 0 1 device=7403 T 500 1100 5 10 0 0 0 0 1 slot=1 T 500 1300 5 10 0 0 0 0 1 numslots=4 T 500 1500 5 10 0 0 0 0 1 slotdef=1:1,2,3 T 500 1700 5 10 0 0 0 0 1 slotdef=2:4,5,6 T 500 1900 5 10 0 0 0 0 1 slotdef=3:9,10,8 T 500 2100 5 10 0 0 0 0 1 slotdef=4:12,13,11 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 0 1 { T 1100 550 5 8 1 1 0 0 1 pinnumber=3 T 1100 450 5 8 0 1 0 2 1 pinseq=3 T 950 500 9 8 0 1 0 6 1 pinlabel=Y T 950 500 5 8 0 1 0 8 1 pintype=oc } P 300 300 0 300 1 0 1 { T 200 350 5 8 1 1 0 6 1 pinnumber=2 T 200 250 5 8 0 1 0 8 1 pinseq=2 T 350 300 9 8 0 1 0 0 1 pinlabel=B T 350 300 5 8 0 1 0 2 1 pintype=in } P 300 700 0 700 1 0 1 { T 200 750 5 8 1 1 0 6 1 pinnumber=1 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 0 1 0 0 1 pinlabel=A T 350 700 5 8 0 1 0 2 1 pintype=in } T 300 900 8 10 1 1 0 0 1 refdes=U? A 1100 500 300 132 96 3 0 0 0 -1 -1 T 500 2300 5 10 0 0 0 0 1 footprint=DIP14 T 500 2500 5 10 0 0 0 0 1 description=4 NOR gates with 2 inputs and open collector outputs T 500 2700 5 10 0 0 0 0 1 net=GND:7 T 500 2900 5 10 0 0 0 0 1 net=Vcc:14 T 500 3100 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc03.pdf geda-gaf-1.8.2/symbols/74/74299-1.sym0000664000175000017500000000747712204104272013421 00000000000000v 20070626 1 P 0 1300 300 1300 1 0 0 { T 200 1350 5 8 1 1 0 6 1 pinnumber=11 T 200 1250 5 8 0 1 0 8 1 pinseq=11 T 350 1300 9 8 1 1 0 0 1 pinlabel=SR T 350 1300 5 8 0 1 0 2 1 pintype=in } P 0 500 300 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=18 T 200 450 5 8 0 1 0 8 1 pinseq=18 T 350 500 9 8 1 1 0 0 1 pinlabel=SL T 350 500 5 8 0 1 0 2 1 pintype=in } P 1700 2900 2000 2900 1 0 1 { T 1800 2950 5 8 1 1 0 0 1 pinnumber=7 T 1800 2850 5 8 0 1 0 2 1 pinseq=7 T 1650 2900 9 8 1 1 0 6 1 pinlabel=A/QA T 1650 2900 5 8 0 1 0 8 1 pintype=tri } P 1700 2600 2000 2600 1 0 1 { T 1800 2650 5 8 1 1 0 0 1 pinnumber=13 T 1800 2550 5 8 0 1 0 2 1 pinseq=13 T 1650 2600 9 8 1 1 0 6 1 pinlabel=B/QB T 1650 2600 5 8 0 1 0 8 1 pintype=tri } P 1700 2300 2000 2300 1 0 1 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=6 T 1800 2250 5 8 0 1 0 2 1 pinseq=6 T 1650 2300 9 8 1 1 0 6 1 pinlabel=C/QC T 1650 2300 5 8 0 1 0 8 1 pintype=tri } P 1700 2000 2000 2000 1 0 1 { T 1800 2050 5 8 1 1 0 0 1 pinnumber=14 T 1800 1950 5 8 0 1 0 2 1 pinseq=14 T 1650 2000 9 8 1 1 0 6 1 pinlabel=D/QD T 1650 2000 5 8 0 1 0 8 1 pintype=tri } P 1700 1700 2000 1700 1 0 1 { T 1800 1750 5 8 1 1 0 0 1 pinnumber=5 T 1800 1650 5 8 0 1 0 2 1 pinseq=5 T 1650 1700 9 8 1 1 0 6 1 pinlabel=E/QE T 1650 1700 5 8 0 1 0 8 1 pintype=tri } P 1700 1400 2000 1400 1 0 1 { T 1800 1450 5 8 1 1 0 0 1 pinnumber=15 T 1800 1350 5 8 0 1 0 2 1 pinseq=15 T 1650 1400 9 8 1 1 0 6 1 pinlabel=F/QF T 1650 1400 5 8 0 1 0 8 1 pintype=tri } P 1700 1100 2000 1100 1 0 1 { T 1800 1150 5 8 1 1 0 0 1 pinnumber=4 T 1800 1050 5 8 0 1 0 2 1 pinseq=4 T 1650 1100 9 8 1 1 0 6 1 pinlabel=G/QG T 1650 1100 5 8 0 1 0 8 1 pintype=tri } P 1700 800 2000 800 1 0 1 { T 1800 850 5 8 1 1 0 0 1 pinnumber=16 T 1800 750 5 8 0 1 0 2 1 pinseq=16 T 1650 800 9 8 1 1 0 6 1 pinlabel=H/QH T 1650 800 5 8 0 1 0 8 1 pintype=tri } B 300 0 1400 3900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4150 5 10 0 0 0 0 1 device=74299 P 0 2100 300 2100 1 0 0 { T 200 2150 5 8 1 1 0 6 1 pinnumber=12 T 200 2050 5 8 0 1 0 8 1 pinseq=12 T 375 2100 9 8 1 1 0 0 1 pinlabel=CLK T 375 2100 5 8 0 1 0 2 1 pintype=clk } T 1700 4000 8 10 1 1 0 6 1 refdes=U? T 300 4350 5 10 0 0 0 0 1 footprint=DIP20 T 300 4550 5 10 0 0 0 0 1 description=8-bit universal shift/storage registers T 300 5150 5 10 0 0 0 0 1 numslots=0 T 300 4750 5 10 0 0 0 0 1 net=Vcc:20 T 300 4950 5 10 0 0 0 0 1 net=GND:10 T 300 3940 9 10 1 0 0 0 1 74299 L 375 2100 300 2150 3 0 0 0 -1 -1 L 375 2100 300 2050 3 0 0 0 -1 -1 T 300 5350 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74ls299.pdf P 1700 3400 2000 3400 1 0 1 { T 1800 3450 5 8 1 1 0 0 1 pinnumber=8 T 1800 3350 5 8 0 1 0 2 1 pinseq=8 T 1650 3400 9 8 1 1 0 6 1 pinlabel=QAP T 1650 3400 5 8 0 1 0 8 1 pintype=out } P 1700 200 2000 200 1 0 1 { T 1800 250 5 8 1 1 0 0 1 pinnumber=17 T 1800 150 5 8 0 1 0 2 1 pinseq=17 T 1650 200 9 8 1 1 0 6 1 pinlabel=QHP T 1650 200 5 8 0 1 0 8 1 pintype=out } V 250 3600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3600 200 3600 1 0 0 { T 350 3600 9 8 1 1 0 0 1 pinlabel=\_CLR\_ T 200 3650 5 8 1 1 0 6 1 pinnumber=9 T 200 3550 5 8 0 1 0 8 1 pinseq=9 T 350 3600 5 8 0 1 0 2 1 pintype=in } V 250 3300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3300 200 3300 1 0 0 { T 350 3300 9 8 1 1 0 0 1 pinlabel=\_G1\_ T 200 3350 5 8 1 1 0 6 1 pinnumber=2 T 200 3250 5 8 0 1 0 8 1 pinseq=2 T 350 3300 5 8 0 1 0 2 1 pintype=in } V 250 3000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3000 200 3000 1 0 0 { T 350 3000 9 8 1 1 0 0 1 pinlabel=\_G2\_ T 200 3050 5 8 1 1 0 6 1 pinnumber=3 T 200 2950 5 8 0 1 0 8 1 pinseq=3 T 350 3000 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=1 T 200 2650 5 8 0 1 0 8 1 pinseq=1 T 350 2700 9 8 1 1 0 0 1 pinlabel=S0 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 2400 300 2400 1 0 0 { T 200 2450 5 8 1 1 0 6 1 pinnumber=19 T 200 2350 5 8 0 1 0 8 1 pinseq=19 T 350 2400 9 8 1 1 0 0 1 pinlabel=S1 T 350 2400 5 8 0 1 0 2 1 pintype=in } geda-gaf-1.8.2/symbols/74/7448-1.sym0000664000175000017500000000564212204104272013321 00000000000000v 20070626 1 P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=7 T 200 2550 5 8 0 1 0 8 1 pinseq=1 T 350 2600 9 8 1 1 0 0 1 pinlabel=A T 350 2600 5 8 0 1 0 2 1 pintype=in } P 2000 2600 1700 2600 1 0 0 { T 1800 2650 5 8 1 1 0 0 1 pinnumber=13 T 1800 2550 5 8 0 1 0 2 1 pinseq=2 T 1650 2600 9 8 1 1 0 6 1 pinlabel=a T 1650 2600 5 8 0 1 0 8 1 pintype=out } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=1 T 200 2150 5 8 0 1 0 8 1 pinseq=3 T 350 2200 9 8 1 1 0 0 1 pinlabel=B T 350 2200 5 8 0 1 0 2 1 pintype=in } P 2000 2200 1700 2200 1 0 0 { T 1800 2250 5 8 1 1 0 0 1 pinnumber=12 T 1800 2150 5 8 0 1 0 2 1 pinseq=4 T 1650 2200 9 8 1 1 0 6 1 pinlabel=b T 1650 2200 5 8 0 1 0 8 1 pintype=out } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=2 T 200 1750 5 8 0 1 0 8 1 pinseq=5 T 350 1800 9 8 1 1 0 0 1 pinlabel=C T 350 1800 5 8 0 1 0 2 1 pintype=in } P 2000 1800 1700 1800 1 0 0 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=11 T 1800 1750 5 8 0 1 0 2 1 pinseq=6 T 1650 1800 9 8 1 1 0 6 1 pinlabel=c T 1650 1800 5 8 0 1 0 8 1 pintype=out } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=6 T 200 1350 5 8 0 1 0 8 1 pinseq=7 T 350 1400 9 8 1 1 0 0 1 pinlabel=D T 350 1400 5 8 0 1 0 2 1 pintype=in } P 2000 1400 1700 1400 1 0 0 { T 1800 1450 5 8 1 1 0 0 1 pinnumber=10 T 1800 1350 5 8 0 1 0 2 1 pinseq=8 T 1650 1400 9 8 1 1 0 6 1 pinlabel=d T 1650 1400 5 8 0 1 0 8 1 pintype=out } P 2000 1000 1700 1000 1 0 0 { T 1800 1050 5 8 1 1 0 0 1 pinnumber=9 T 1800 950 5 8 0 1 0 2 1 pinseq=9 T 1650 1000 9 8 1 1 0 6 1 pinlabel=e T 1650 1000 5 8 0 1 0 8 1 pintype=out } P 0 600 200 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=5 T 200 550 5 8 0 1 0 8 1 pinseq=10 T 350 600 9 8 1 1 0 0 1 pinlabel=\_RBI\_ T 350 600 5 8 0 1 0 2 1 pintype=in } V 250 600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 600 1700 600 1 0 0 { T 1800 650 5 8 1 1 0 0 1 pinnumber=15 T 1800 550 5 8 0 1 0 2 1 pinseq=11 T 1650 600 9 8 1 1 0 6 1 pinlabel=f T 1650 600 5 8 0 1 0 8 1 pintype=out } P 2000 200 1700 200 1 0 0 { T 1800 250 5 8 1 1 0 0 1 pinnumber=14 T 1800 150 5 8 0 1 0 2 1 pinseq=12 T 1650 200 9 8 1 1 0 6 1 pinlabel=g T 1650 200 5 8 0 1 0 8 1 pintype=out } B 300 0 1400 2900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 3340 5 10 0 0 0 0 1 device=7448 T 300 3140 5 10 0 0 0 0 1 footprint=DIP16 T 300 2940 9 10 1 0 0 0 1 7448 T 1700 3000 8 10 1 1 0 6 1 refdes=U? T 300 3550 5 10 0 0 0 0 1 description=BCD to 7-segment decoder T 300 3750 5 10 0 0 0 0 1 net=Vcc:16 T 300 3950 5 10 0 0 0 0 1 net=GND:8 T 300 4150 5 10 0 0 0 0 1 numslots=0 P 0 200 200 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=4 T 200 150 5 8 0 1 0 8 1 pinseq=13 T 350 200 9 8 1 1 0 0 1 pinlabel=\_BI/RBO\_ T 350 200 5 8 0 1 0 2 1 pintype=io } V 250 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1000 200 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=3 T 200 950 5 8 0 1 0 8 1 pinseq=14 T 350 1000 9 8 1 1 0 0 1 pinlabel=\_LT\_ T 350 1000 5 8 0 1 0 2 1 pintype=in } V 250 1000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/74/74163-1.sym0000664000175000017500000000606612204104272013400 00000000000000v 20070626 1 P 0 3400 300 3400 1 0 0 { T 200 3450 5 8 1 1 0 6 1 pinnumber=3 T 200 3350 5 8 0 1 0 8 1 pinseq=3 T 350 3400 9 8 1 1 0 0 1 pinlabel=P0 T 350 3400 5 8 0 1 0 2 1 pintype=in } P 2000 3400 1700 3400 1 0 0 { T 1800 3450 5 8 1 1 0 0 1 pinnumber=14 T 1800 3350 5 8 0 1 0 2 1 pinseq=14 T 1650 3400 9 8 1 1 0 6 1 pinlabel=Q0 T 1650 3400 5 8 0 1 0 8 1 pintype=out } P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=4 T 200 2950 5 8 0 1 0 8 1 pinseq=4 T 350 3000 9 8 1 1 0 0 1 pinlabel=P1 T 350 3000 5 8 0 1 0 2 1 pintype=in } P 2000 3000 1700 3000 1 0 0 { T 1800 3050 5 8 1 1 0 0 1 pinnumber=13 T 1800 2950 5 8 0 1 0 2 1 pinseq=13 T 1650 3000 9 8 1 1 0 6 1 pinlabel=Q1 T 1650 3000 5 8 0 1 0 8 1 pintype=out } P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=5 T 200 2550 5 8 0 1 0 8 1 pinseq=5 T 350 2600 9 8 1 1 0 0 1 pinlabel=P2 T 350 2600 5 8 0 1 0 2 1 pintype=in } P 2000 2600 1700 2600 1 0 0 { T 1800 2650 5 8 1 1 0 0 1 pinnumber=12 T 1800 2550 5 8 0 1 0 2 1 pinseq=12 T 1650 2600 9 8 1 1 0 6 1 pinlabel=Q2 T 1650 2600 5 8 0 1 0 8 1 pintype=out } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=6 T 200 2150 5 8 0 1 0 8 1 pinseq=6 T 350 2200 9 8 1 1 0 0 1 pinlabel=P3 T 350 2200 5 8 0 1 0 2 1 pintype=in } P 2000 2200 1700 2200 1 0 0 { T 1800 2250 5 8 1 1 0 0 1 pinnumber=11 T 1800 2150 5 8 0 1 0 2 1 pinseq=11 T 1650 2200 9 8 1 1 0 6 1 pinlabel=Q3 T 1650 2200 5 8 0 1 0 8 1 pintype=out } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=7 T 200 1750 5 8 0 1 0 8 1 pinseq=7 T 350 1800 9 8 1 1 0 0 1 pinlabel=ENP T 350 1800 5 8 0 1 0 2 1 pintype=in } P 2000 1800 1700 1800 1 0 0 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=15 T 1800 1750 5 8 0 1 0 2 1 pinseq=15 T 1650 1800 9 8 1 1 0 6 1 pinlabel=CARRY T 1650 1800 5 8 0 1 0 8 1 pintype=out } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=10 T 200 1350 5 8 0 1 0 8 1 pinseq=10 T 350 1400 9 8 1 1 0 0 1 pinlabel=ENT T 350 1400 5 8 0 1 0 2 1 pintype=in } P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=2 T 200 550 5 8 0 1 0 8 1 pinseq=2 T 375 600 9 8 1 1 0 0 1 pinlabel=CLK T 375 600 5 8 0 1 0 2 1 pintype=clk } P 0 200 200 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=1 T 200 150 5 8 0 1 0 8 1 pinseq=1 T 350 200 9 8 1 1 0 0 1 pinlabel=\_CLR\_ T 350 200 5 8 0 1 0 2 1 pintype=in } B 300 0 1400 3700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4140 5 10 0 0 0 0 1 device=74163 T 300 3940 5 10 0 0 0 0 1 footprint=DIP16 T 1700 3800 8 10 1 1 0 6 1 refdes=U? P 0 1000 200 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=9 T 200 950 5 8 0 1 0 8 1 pinseq=9 T 350 1000 9 8 1 1 0 0 1 pinlabel=\_LOAD\_ T 350 1000 5 8 0 1 0 2 1 pintype=in } V 250 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 1000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4350 5 10 0 0 0 0 1 description=synchronous programmable 4-bit binary counter with sync. clear T 300 4950 5 10 0 0 0 0 1 numslots=0 T 300 4550 5 10 0 0 0 0 1 net=Vcc:16 T 300 4750 5 10 0 0 0 0 1 net=GND:8 L 375 600 300 650 3 0 0 0 -1 -1 L 375 600 300 550 3 0 0 0 -1 -1 T 300 3740 9 10 1 0 0 0 1 74163 T 300 5150 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc163.pdf geda-gaf-1.8.2/symbols/74/74244-2.sym0000664000175000017500000000426612204104272013401 00000000000000v 20031231 1 P 800 200 800 0 1 0 1 { T 850 100 5 8 1 1 0 0 1 pinnumber=1 T 850 100 5 8 0 1 0 2 1 pinseq=1 T 800 350 9 8 1 1 0 3 1 pinlabel=G T 800 450 5 8 0 1 0 3 1 pintype=in } V 800 250 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=2 T 200 1350 5 8 0 1 0 8 1 pinseq=2 T 350 1400 9 8 1 1 0 0 1 pinlabel=A1 T 350 1400 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=4 T 200 1050 5 8 0 1 0 8 1 pinseq=3 T 350 1100 9 8 1 1 0 0 1 pinlabel=A2 T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 800 300 800 1 0 0 { T 200 850 5 8 1 1 0 6 1 pinnumber=6 T 200 750 5 8 0 1 0 8 1 pinseq=4 T 350 800 9 8 1 1 0 0 1 pinlabel=A3 T 350 800 5 8 0 1 0 2 1 pintype=in } P 0 500 300 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=8 T 200 450 5 8 0 1 0 8 1 pinseq=5 T 350 500 9 8 1 1 0 0 1 pinlabel=A4 T 350 500 5 8 0 1 0 2 1 pintype=in } P 1300 1400 1600 1400 1 0 1 { T 1400 1450 5 8 1 1 0 0 1 pinnumber=18 T 1400 1350 5 8 0 1 0 2 1 pinseq=6 T 1250 1400 9 8 1 1 0 6 1 pinlabel=Y1 T 1250 1400 5 8 0 1 0 8 1 pintype=tri } P 1300 1100 1600 1100 1 0 1 { T 1400 1150 5 8 1 1 0 0 1 pinnumber=16 T 1400 1050 5 8 0 1 0 2 1 pinseq=7 T 1250 1100 9 8 1 1 0 6 1 pinlabel=Y2 T 1250 1100 5 8 0 1 0 8 1 pintype=tri } P 1300 800 1600 800 1 0 1 { T 1400 850 5 8 1 1 0 0 1 pinnumber=14 T 1400 750 5 8 0 1 0 2 1 pinseq=8 T 1250 800 9 8 1 1 0 6 1 pinlabel=Y3 T 1250 800 5 8 0 1 0 8 1 pintype=tri } P 1300 500 1600 500 1 0 1 { T 1400 550 5 8 1 1 0 0 1 pinnumber=12 T 1400 450 5 8 0 1 0 2 1 pinseq=9 T 1250 500 9 8 1 1 0 6 1 pinlabel=Y4 T 1250 500 5 8 0 1 0 8 1 pintype=tri } B 300 300 1000 1400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 1950 5 10 0 0 0 0 1 device=74244 T 300 2750 5 10 0 0 0 0 1 slot=1 T 300 2550 5 10 0 0 0 0 1 numslots=2 T 300 2350 5 10 0 0 0 0 1 slotdef=1:1,2,4,6,8,18,16,14,12 T 300 2150 5 10 0 0 0 0 1 slotdef=2:19,11,13,15,17,9,7,5,3 T 1300 1800 8 10 1 1 0 6 1 refdes=U? T 300 2950 5 10 0 0 0 0 1 footprint=DIP20 T 300 3150 5 10 0 0 0 0 1 description=octal buffer/line driver (tristate) T 300 3350 5 10 0 0 0 0 1 net=Vcc:20 T 300 3550 5 10 0 0 0 0 1 net=GND:10 T 300 1750 9 10 1 0 0 0 1 74244 T 300 3750 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc244.pdf geda-gaf-1.8.2/symbols/74/7422-2.sym0000664000175000017500000000340312204104272013303 00000000000000v 20031231 1 P 200 100 0 100 1 0 1 { T 200 150 5 8 1 1 0 6 1 pinnumber=5 T 200 50 5 8 0 1 0 8 1 pinseq=4 T 350 100 9 8 0 1 0 0 1 pinlabel=D T 350 100 5 8 0 1 0 2 1 pintype=in } P 200 1100 0 1100 1 0 1 { T 200 1150 5 8 1 1 0 6 1 pinnumber=1 T 200 1050 5 8 0 1 0 8 1 pinseq=1 T 350 1100 9 8 0 1 0 0 1 pinlabel=A T 350 1100 5 8 0 1 0 2 1 pintype=in } P 200 800 0 800 1 0 1 { T 200 850 5 8 1 1 0 6 1 pinnumber=2 T 200 750 5 8 0 1 0 8 1 pinseq=2 T 350 800 9 8 0 1 0 0 1 pinlabel=B T 350 800 5 8 0 1 0 2 1 pintype=in } T 400 100 9 8 1 0 0 0 1 7422 A 36 600 400 312 97 3 0 0 0 -1 -1 P 990 600 1300 600 1 0 1 { T 1100 650 5 8 1 1 0 0 1 pinnumber=6 T 1100 550 5 8 0 1 0 2 1 pinseq=5 T 950 600 9 8 0 1 0 6 1 pinlabel=Y T 950 600 5 8 0 1 0 8 1 pintype=oc } V 250 1100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 300 300 600 300 3 0 0 0 -1 -1 L 300 900 600 900 3 0 0 0 -1 -1 T 600 1000 5 10 0 0 0 0 1 device=7422 T 600 1200 5 10 0 0 0 0 1 slot=1 T 600 1400 5 10 0 0 0 0 1 numslots=2 T 600 1600 5 10 0 0 0 0 1 slotdef=1:1,2,4,5,6 T 600 1800 5 10 0 0 0 0 1 slotdef=2:9,10,12,13,8 A 600 700 400 270 76 3 0 0 0 -1 -1 A 600 500 400 14 76 3 0 0 0 -1 -1 L 300 100 300 300 3 0 0 0 -1 -1 L 300 1100 300 900 3 0 0 0 -1 -1 P 200 400 0 400 1 0 1 { T 200 450 5 8 1 1 0 6 1 pinnumber=4 T 200 350 5 8 0 1 0 8 1 pinseq=3 T 350 400 9 8 0 1 0 0 1 pinlabel=C T 350 400 5 8 0 1 0 2 1 pintype=in } V 250 400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 300 1100 300 1200 3 0 0 0 -1 -1 L 300 0 300 100 3 0 0 0 -1 -1 T 400 1000 8 10 1 1 0 0 1 refdes=U? T 600 2000 5 10 0 0 0 0 1 footprint=DIP14 T 600 2200 5 10 0 0 0 0 1 description=2 NAND gates with 4 inputs and open collector output T 600 2400 5 10 0 0 0 0 1 net=Vcc:14 T 600 2600 5 10 0 0 0 0 1 net=GND:7 geda-gaf-1.8.2/symbols/74/74114-1.sym0000664000175000017500000000546512204104272013376 00000000000000v 20070626 1 P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=3 T 200 2950 5 8 0 1 0 8 1 pinseq=1 T 350 3000 9 8 1 1 0 0 1 pinlabel=J1 T 350 3000 5 8 0 1 0 2 1 pintype=in } P 2000 3000 1700 3000 1 0 0 { T 1800 3050 5 8 1 1 0 0 1 pinnumber=5 T 1800 2950 5 8 0 1 0 2 1 pinseq=2 T 1650 3000 9 8 1 1 0 6 1 pinlabel=Q1 T 1650 3000 5 8 0 1 0 8 1 pintype=out } P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=2 T 200 2550 5 8 0 1 0 8 1 pinseq=3 T 350 2600 9 8 1 1 0 0 1 pinlabel=K1 T 350 2600 5 8 0 1 0 2 1 pintype=in } P 2000 2600 1800 2600 1 0 0 { T 1800 2650 5 8 1 1 0 0 1 pinnumber=6 T 1800 2550 5 8 0 1 0 2 1 pinseq=4 T 1650 2600 9 8 1 1 0 6 1 pinlabel=\_Q1\_ T 1650 2600 5 8 0 1 0 8 1 pintype=out } V 1750 2600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2200 200 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=4 T 200 2150 5 8 0 1 0 8 1 pinseq=5 T 350 2200 9 8 1 1 0 0 1 pinlabel=\_SET1\_ T 350 2200 5 8 0 1 0 2 1 pintype=in } V 250 2200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=11 T 200 1750 5 8 0 1 0 8 1 pinseq=6 T 350 1800 9 8 1 1 0 0 1 pinlabel=J2 T 350 1800 5 8 0 1 0 2 1 pintype=in } P 2000 1800 1700 1800 1 0 0 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=9 T 1800 1750 5 8 0 1 0 2 1 pinseq=7 T 1650 1800 9 8 1 1 0 6 1 pinlabel=Q2 T 1650 1800 5 8 0 1 0 8 1 pintype=out } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=12 T 200 1350 5 8 0 1 0 8 1 pinseq=8 T 350 1400 9 8 1 1 0 0 1 pinlabel=K2 T 350 1400 5 8 0 1 0 2 1 pintype=in } P 2000 1400 1800 1400 1 0 0 { T 1800 1450 5 8 1 1 0 0 1 pinnumber=8 T 1800 1350 5 8 0 1 0 2 1 pinseq=9 T 1650 1400 9 8 1 1 0 6 1 pinlabel=\_Q2\_ T 1650 1400 5 8 0 1 0 8 1 pintype=out } V 1750 1400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1000 200 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=10 T 200 950 5 8 0 1 0 8 1 pinseq=10 T 350 1000 9 8 1 1 0 0 1 pinlabel=\_SET2\_ T 350 1000 5 8 0 1 0 2 1 pintype=in } V 250 1000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 600 200 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=1 T 200 550 5 8 0 1 0 8 1 pinseq=11 T 350 600 9 8 1 1 0 0 1 pinlabel=\_RST\_ T 350 600 5 8 0 1 0 2 1 pintype=in } V 250 600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 200 200 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=13 T 200 150 5 8 0 1 0 8 1 pinseq=12 T 375 200 9 8 1 1 0 0 1 pinlabel=\_CLK\_ T 375 200 5 8 0 1 0 2 1 pintype=in } V 250 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 300 0 1400 3300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 3740 5 10 0 0 0 0 1 device=74114 T 300 3540 5 10 0 0 0 0 1 footprint=DIP14 T 1700 3400 8 10 1 1 0 6 1 refdes=U? T 300 3950 5 10 0 0 0 0 1 description=2 JK-flipflops with preset and common clock, clear T 300 4150 5 10 0 0 0 0 1 net=Vcc:14 T 300 4350 5 10 0 0 0 0 1 net=GND:7 T 300 3340 9 10 1 0 0 0 1 74114 L 300 250 375 200 3 0 0 0 -1 -1 L 375 200 300 150 3 0 0 0 -1 -1 T 300 4540 5 10 0 0 0 0 1 numslots=0 geda-gaf-1.8.2/symbols/74/74132-1.sym0000664000175000017500000000264012204104272013366 00000000000000v 20031231 1 L 300 200 300 800 3 0 0 0 -1 -1 L 300 800 700 800 3 0 0 0 -1 -1 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 0 1 { T 1100 550 5 8 1 1 0 0 1 pinnumber=3 T 1100 450 5 8 0 1 0 2 1 pinseq=3 T 950 500 9 8 0 1 0 6 1 pinlabel=Y T 950 500 5 8 0 1 0 8 1 pintype=out } P 300 300 0 300 1 0 1 { T 200 350 5 8 1 1 0 6 1 pinnumber=2 T 200 250 5 8 0 1 0 8 1 pinseq=2 T 350 300 9 8 0 1 0 0 1 pinlabel=B T 350 300 5 8 0 1 0 2 1 pintype=in } P 300 700 0 700 1 0 1 { T 200 750 5 8 1 1 0 6 1 pinnumber=1 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 0 1 0 0 1 pinlabel=A T 350 700 5 8 0 1 0 2 1 pintype=in } T 300 1100 5 10 0 0 0 0 1 device=74132 T 300 1300 5 10 0 0 0 0 1 slot=1 T 300 1500 5 10 0 0 0 0 1 numslots=4 T 300 1700 5 10 0 0 0 0 1 slotdef=1:1,2,3 T 300 1900 5 10 0 0 0 0 1 slotdef=2:4,5,6 T 300 2100 5 10 0 0 0 0 1 slotdef=3:9,10,8 T 300 2300 5 10 0 0 0 0 1 slotdef=4:12,13,11 L 400 350 600 350 3 0 0 0 -1 -1 L 600 350 700 650 3 0 0 0 -1 -1 L 500 350 600 650 3 0 0 0 -1 -1 L 600 650 800 650 3 0 0 0 -1 -1 T 300 900 8 10 1 1 0 0 1 refdes=U? T 300 2500 5 10 0 0 0 0 1 footprint=DIP14 T 300 2700 5 10 0 0 0 0 1 description=4 NAND gates with 2 Schmitt-trigger inputs T 300 2900 5 10 0 0 0 0 1 net=Vcc:14 T 300 3100 5 10 0 0 0 0 1 net=GND:7 T 300 0 9 8 1 0 0 0 1 74132 T 300 3300 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc132.pdf geda-gaf-1.8.2/symbols/74/7490-1.sym0000664000175000017500000000451712204104272013316 00000000000000v 20070626 1 P 0 2200 200 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=14 T 200 2150 5 8 0 1 0 8 1 pinseq=1 T 375 2200 9 8 1 1 0 0 1 pinlabel=\_CLK0\_ T 375 2200 5 8 0 1 0 2 1 pintype=clk } V 250 2200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 2200 1700 2200 1 0 0 { T 1800 2250 5 8 1 1 0 0 1 pinnumber=12 T 1800 2150 5 8 0 1 0 2 1 pinseq=2 T 1650 2200 9 8 1 1 0 6 1 pinlabel=Q0 T 1650 2200 5 8 0 1 0 8 1 pintype=out } P 0 1800 200 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=1 T 200 1750 5 8 0 1 0 8 1 pinseq=3 T 375 1800 9 8 1 1 0 0 1 pinlabel=\_CLK1\_ T 375 1800 5 8 0 1 0 2 1 pintype=clk } V 250 1800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 1800 1700 1800 1 0 0 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=9 T 1800 1750 5 8 0 1 0 2 1 pinseq=4 T 1650 1800 9 8 1 1 0 6 1 pinlabel=Q1 T 1650 1800 5 8 0 1 0 8 1 pintype=out } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=2 T 200 1350 5 8 0 1 0 8 1 pinseq=5 T 350 1400 9 8 1 1 0 0 1 pinlabel=RST1 T 350 1400 5 8 0 1 0 2 1 pintype=in } P 2000 1400 1700 1400 1 0 0 { T 1800 1450 5 8 1 1 0 0 1 pinnumber=8 T 1800 1350 5 8 0 1 0 2 1 pinseq=6 T 1650 1400 9 8 1 1 0 6 1 pinlabel=Q2 T 1650 1400 5 8 0 1 0 8 1 pintype=out } P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=3 T 200 950 5 8 0 1 0 8 1 pinseq=7 T 350 1000 9 8 1 1 0 0 1 pinlabel=RST2 T 350 1000 5 8 0 1 0 2 1 pintype=in } P 2000 1000 1700 1000 1 0 0 { T 1800 1050 5 8 1 1 0 0 1 pinnumber=11 T 1800 950 5 8 0 1 0 2 1 pinseq=8 T 1650 1000 9 8 1 1 0 6 1 pinlabel=Q3 T 1650 1000 5 8 0 1 0 8 1 pintype=out } P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=6 T 200 550 5 8 0 1 0 8 1 pinseq=9 T 350 600 9 8 1 1 0 0 1 pinlabel=SET1 T 350 600 5 8 0 1 0 2 1 pintype=in } P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=7 T 200 150 5 8 0 1 0 8 1 pinseq=10 T 350 200 9 8 1 1 0 0 1 pinlabel=SET2 T 350 200 5 8 0 1 0 2 1 pintype=in } B 300 0 1400 2500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 2940 5 10 0 0 0 0 1 device=7490 T 300 2740 5 10 0 0 0 0 1 footprint=DIP14 T 1700 2600 8 10 1 1 0 6 1 refdes=U? T 300 3150 5 10 0 0 0 0 1 description=decimal counter, div2 and div5 T 300 3350 5 10 0 0 0 0 1 net=Vcc:5 T 300 3550 5 10 0 0 0 0 1 net=GND:10 T 300 2540 9 10 1 0 0 0 1 7490 L 300 1850 375 1800 3 0 0 0 -1 -1 L 375 1800 300 1750 3 0 0 0 -1 -1 L 375 2200 300 2250 3 0 0 0 -1 -1 L 375 2200 300 2150 3 0 0 0 -1 -1 T 300 3750 5 10 0 0 0 0 1 numslots=0 geda-gaf-1.8.2/symbols/74/7401-1.sym0000664000175000017500000000232612204104272013302 00000000000000v 20031231 1 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 1 7401 L 300 800 700 800 3 0 0 0 -1 -1 T 500 900 5 10 0 0 0 0 1 device=7401 T 500 1100 5 10 0 0 0 0 1 slot=1 T 500 1300 5 10 0 0 0 0 1 numslots=4 T 500 1500 5 10 0 0 0 0 1 slotdef=1:1,2,3 T 500 1700 5 10 0 0 0 0 1 slotdef=2:4,5,6 T 500 1900 5 10 0 0 0 0 1 slotdef=3:10,8,9 T 500 2100 5 10 0 0 0 0 1 slotdef=4:13,11,12 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 0 1 { T 1100 550 5 8 1 1 0 0 1 pinnumber=1 T 1100 450 5 8 0 1 0 2 1 pinseq=1 T 950 500 9 8 0 1 0 6 1 pinlabel=Y T 950 500 5 8 0 1 0 8 1 pintype=oc } P 300 300 0 300 1 0 1 { T 200 350 5 8 1 1 0 6 1 pinnumber=3 T 200 250 5 8 0 1 0 8 1 pinseq=3 T 350 300 9 8 0 1 0 0 1 pinlabel=B T 350 300 5 8 0 1 0 2 1 pintype=in } P 300 700 0 700 1 0 1 { T 200 750 5 8 1 1 0 6 1 pinnumber=2 T 200 650 5 8 0 1 0 8 1 pinseq=2 T 350 700 9 8 0 1 0 0 1 pinlabel=A T 350 700 5 8 0 1 0 2 1 pintype=in } T 300 900 8 10 1 1 0 0 1 refdes=U? T 500 2500 5 10 0 0 0 0 1 footprint=DIP14 T 500 2300 5 10 0 0 0 0 1 description=2 NAND gates with 2 inputs and open collector output T 500 2700 5 10 0 0 0 0 1 net=GND:7 T 500 2900 5 10 0 0 0 0 1 net=Vcc:14 geda-gaf-1.8.2/symbols/74/7421-1.sym0000664000175000017500000000314512204104272013304 00000000000000v 20031231 1 L 300 300 300 900 3 0 0 0 -1 -1 L 300 900 700 900 3 0 0 0 -1 -1 T 600 1000 5 10 0 0 0 0 1 device=7421 T 600 1200 5 10 0 0 0 0 1 slot=1 T 600 1400 5 10 0 0 0 0 1 numslots=2 T 600 1600 5 10 0 0 0 0 1 slotdef=1:1,2,4,5,6 T 600 1800 5 10 0 0 0 0 1 slotdef=2:9,10,12,13,8 L 300 300 700 300 3 0 0 0 -1 -1 A 700 600 300 270 180 3 0 0 0 -1 -1 P 1000 600 1300 600 1 0 1 { T 1100 650 5 8 1 1 0 0 1 pinnumber=6 T 1100 550 5 8 0 1 0 2 1 pinseq=5 T 950 600 9 8 0 1 0 6 1 pinlabel=Y T 950 600 5 8 0 1 0 8 1 pintype=out } P 300 100 0 100 1 0 1 { T 200 150 5 8 1 1 0 6 1 pinnumber=5 T 200 50 5 8 0 1 0 8 1 pinseq=4 T 350 100 9 8 0 1 0 0 1 pinlabel=D T 350 100 5 8 0 1 0 2 1 pintype=in } P 300 1100 0 1100 1 0 1 { T 200 1150 5 8 1 1 0 6 1 pinnumber=1 T 200 1050 5 8 0 1 0 8 1 pinseq=1 T 350 1100 9 8 0 1 0 0 1 pinlabel=A T 350 1100 5 8 0 1 0 2 1 pintype=in } P 300 800 0 800 1 0 1 { T 200 850 5 8 1 1 0 6 1 pinnumber=2 T 200 750 5 8 0 1 0 8 1 pinseq=2 T 350 800 9 8 0 1 0 0 1 pinlabel=B T 350 800 5 8 0 1 0 2 1 pintype=in } T 400 100 9 8 1 0 0 0 1 7421 L 300 300 300 100 3 0 0 0 -1 -1 L 300 1100 300 900 3 0 0 0 -1 -1 P 300 400 0 400 1 0 1 { T 200 450 5 8 1 1 0 6 1 pinnumber=4 T 200 350 5 8 0 1 0 8 1 pinseq=3 T 350 400 9 8 0 1 0 0 1 pinlabel=C T 350 400 5 8 0 1 0 2 1 pintype=in } L 300 1100 300 1200 3 0 0 0 -1 -1 L 300 0 300 100 3 0 0 0 -1 -1 T 400 1000 8 10 1 1 0 0 1 refdes=U? T 600 2000 5 10 0 0 0 0 1 footprint=DIP14 T 600 2200 5 10 0 0 0 0 1 description=2 AND gates with 4 inputs T 600 2400 5 10 0 0 0 0 1 net=Vcc:14 T 600 2600 5 10 0 0 0 0 1 net=GND:7 T 600 2800 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc21.pdf geda-gaf-1.8.2/symbols/74/74148-1.sym0000664000175000017500000000553512204104272013403 00000000000000v 20031231 1 P 0 4200 300 4200 1 0 0 { T 200 4250 5 8 1 1 0 6 1 pinnumber=10 T 200 4150 5 8 0 1 0 8 1 pinseq=1 T 350 4200 9 8 1 1 0 0 1 pinlabel=0 T 350 4200 5 8 0 1 0 2 1 pintype=in } P 2000 4200 1700 4200 1 0 0 { T 1800 4250 5 8 1 1 0 0 1 pinnumber=9 T 1800 4150 5 8 0 1 0 2 1 pinseq=2 T 1650 4200 9 8 1 1 0 6 1 pinlabel=A0 T 1650 4200 5 8 0 1 0 8 1 pintype=out } P 0 3800 300 3800 1 0 0 { T 200 3850 5 8 1 1 0 6 1 pinnumber=11 T 200 3750 5 8 0 1 0 8 1 pinseq=3 T 350 3800 9 8 1 1 0 0 1 pinlabel=1 T 350 3800 5 8 0 1 0 2 1 pintype=in } P 2000 3800 1700 3800 1 0 0 { T 1800 3850 5 8 1 1 0 0 1 pinnumber=7 T 1800 3750 5 8 0 1 0 2 1 pinseq=4 T 1650 3800 9 8 1 1 0 6 1 pinlabel=A1 T 1650 3800 5 8 0 1 0 8 1 pintype=out } P 0 3400 300 3400 1 0 0 { T 200 3450 5 8 1 1 0 6 1 pinnumber=12 T 200 3350 5 8 0 1 0 8 1 pinseq=5 T 350 3400 9 8 1 1 0 0 1 pinlabel=2 T 350 3400 5 8 0 1 0 2 1 pintype=in } P 2000 3400 1700 3400 1 0 0 { T 1800 3450 5 8 1 1 0 0 1 pinnumber=6 T 1800 3350 5 8 0 1 0 2 1 pinseq=6 T 1650 3400 9 8 1 1 0 6 1 pinlabel=A2 T 1650 3400 5 8 0 1 0 8 1 pintype=out } P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=13 T 200 2950 5 8 0 1 0 8 1 pinseq=7 T 350 3000 9 8 1 1 0 0 1 pinlabel=3 T 350 3000 5 8 0 1 0 2 1 pintype=in } P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=1 T 200 2550 5 8 0 1 0 8 1 pinseq=8 T 350 2600 9 8 1 1 0 0 1 pinlabel=4 T 350 2600 5 8 0 1 0 2 1 pintype=in } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=2 T 200 2150 5 8 0 1 0 8 1 pinseq=9 T 350 2200 9 8 1 1 0 0 1 pinlabel=5 T 350 2200 5 8 0 1 0 2 1 pintype=in } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=3 T 200 1750 5 8 0 1 0 8 1 pinseq=10 T 350 1800 9 8 1 1 0 0 1 pinlabel=6 T 350 1800 5 8 0 1 0 2 1 pintype=in } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=4 T 200 1350 5 8 0 1 0 8 1 pinseq=11 T 350 1400 9 8 1 1 0 0 1 pinlabel=7 T 350 1400 5 8 0 1 0 2 1 pintype=in } P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=15 T 200 950 5 8 0 1 0 8 1 pinseq=12 T 350 1000 9 8 1 1 0 0 1 pinlabel=EO T 350 1000 5 8 0 1 0 2 1 pintype=out } P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=5 T 200 550 5 8 0 1 0 8 1 pinseq=13 T 350 600 9 8 1 1 0 0 1 pinlabel=EI T 350 600 5 8 0 1 0 2 1 pintype=in } P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=14 T 200 150 5 8 0 1 0 8 1 pinseq=14 T 350 200 9 8 1 1 0 0 1 pinlabel=GS T 350 200 5 8 0 1 0 2 1 pintype=out } B 300 0 1400 4500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4940 5 10 0 0 0 0 1 device=74148 T 300 4740 5 10 0 0 0 0 1 footprint=DIP16 T 1700 4600 8 10 1 1 0 6 1 refdes=U? T 300 5150 5 10 0 0 0 0 1 description=binary 8 to 3 priority encoder (scalable) T 300 5750 5 10 0 0 0 0 1 numslots=0 T 300 5350 5 10 0 0 0 0 1 net=Vcc:16 T 300 5550 5 10 0 0 0 0 1 net=GND:8 T 300 4540 9 10 1 0 0 0 1 74148 T 300 5950 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc148.pdf geda-gaf-1.8.2/symbols/74/9602-1.sym0000664000175000017500000000613612204104272013312 00000000000000v 20070626 1 P 0 2100 300 2100 1 0 0 { T 200 2150 5 8 1 1 0 6 1 pinnumber=1 T 200 2050 5 8 0 1 0 8 1 pinseq=1 T 350 2100 9 8 1 1 0 0 1 pinlabel=CEXT1 T 350 2100 5 8 0 1 0 2 1 pintype=pas } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=2 T 200 1750 5 8 0 1 0 8 1 pinseq=2 T 350 1800 9 8 1 1 0 0 1 pinlabel=RCEXT1 T 350 1800 5 8 0 1 0 2 1 pintype=pas } V 250 1500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1500 200 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=3 T 200 1450 5 8 0 1 0 8 1 pinseq=3 T 350 1500 9 8 1 1 0 0 1 pinlabel=\_CLR1\_ T 350 1500 5 8 0 1 0 2 1 pintype=in } V 250 900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1200 300 1200 1 0 0 { T 200 1250 5 8 1 1 0 6 1 pinnumber=4 T 200 1150 5 8 0 1 0 8 1 pinseq=4 T 350 1200 9 8 1 1 0 0 1 pinlabel=TRIG1 T 350 1200 5 8 0 1 0 2 1 pintype=in } P 0 900 200 900 1 0 0 { T 200 950 5 8 1 1 0 6 1 pinnumber=5 T 200 850 5 8 0 1 0 8 1 pinseq=5 T 350 900 9 8 1 1 0 0 1 pinlabel=\_TRIG1\_ T 350 900 5 8 0 1 0 2 1 pintype=in } P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=6 T 200 550 5 8 0 1 0 8 1 pinseq=6 T 350 600 9 8 1 1 0 0 1 pinlabel=Q1 T 350 600 5 8 0 1 0 2 1 pintype=out } P 0 300 200 300 1 0 0 { T 200 350 5 8 1 1 0 6 1 pinnumber=7 T 200 250 5 8 0 1 0 8 1 pinseq=7 T 350 300 9 8 1 1 0 0 1 pinlabel=\_Q1\_ T 350 300 5 8 0 1 0 2 1 pintype=out } P 1700 2100 2000 2100 1 0 1 { T 1800 2150 5 8 1 1 0 0 1 pinnumber=15 T 1800 2050 5 8 0 1 0 2 1 pinseq=15 T 1650 2100 9 8 1 1 0 6 1 pinlabel=CEXT2 T 1650 2100 5 8 0 1 0 8 1 pintype=pas } P 1700 1800 2000 1800 1 0 1 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=14 T 1800 1750 5 8 0 1 0 2 1 pinseq=14 T 1650 1800 9 8 1 1 0 6 1 pinlabel=RCEXT2 T 1650 1800 5 8 0 1 0 8 1 pintype=pas } P 1800 1500 2000 1500 1 0 1 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=13 T 1800 1450 5 8 0 1 0 2 1 pinseq=13 T 1650 1500 9 8 1 1 0 6 1 pinlabel=\_CLR2\_ T 1650 1500 5 8 0 1 0 8 1 pintype=in } P 1700 1200 2000 1200 1 0 1 { T 1800 1250 5 8 1 1 0 0 1 pinnumber=12 T 1800 1150 5 8 0 1 0 2 1 pinseq=12 T 1650 1200 9 8 1 1 0 6 1 pinlabel=TRIG2 T 1650 1200 5 8 0 1 0 8 1 pintype=in } V 1750 900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1800 900 2000 900 1 0 1 { T 1800 950 5 8 1 1 0 0 1 pinnumber=11 T 1800 850 5 8 0 1 0 2 1 pinseq=11 T 1650 900 9 8 1 1 0 6 1 pinlabel=\_TRIG2\_ T 1650 900 5 8 0 1 0 8 1 pintype=in } P 1700 600 2000 600 1 0 1 { T 1800 650 5 8 1 1 0 0 1 pinnumber=10 T 1800 550 5 8 0 1 0 2 1 pinseq=10 T 1650 600 9 8 1 1 0 6 1 pinlabel=Q2 T 1650 600 5 8 0 1 0 8 1 pintype=out } P 1800 300 2000 300 1 0 1 { T 1800 350 5 8 1 1 0 0 1 pinnumber=9 T 1800 250 5 8 0 1 0 2 1 pinseq=9 T 1650 300 9 8 1 1 0 6 1 pinlabel=\_Q2\_ T 1650 300 5 8 0 1 0 8 1 pintype=out } B 300 0 1400 2500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1700 2600 8 10 1 1 0 6 1 refdes=U? V 250 300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1750 1500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1750 300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 2750 5 10 0 0 0 0 1 device=9602 T 300 2950 5 10 0 0 0 0 1 footprint=DIP16 T 300 3150 5 10 0 0 0 0 1 description=2 retriggerable, resetable monoflops T 300 3750 5 10 0 0 0 0 1 numslots=0 T 300 3350 5 10 0 0 0 0 1 net=Vcc:16 T 300 3550 5 10 0 0 0 0 1 net=GND:8 T 300 2540 9 10 1 0 0 0 1 9602 geda-gaf-1.8.2/symbols/74/74151-2.sym0000664000175000017500000000564312204104272013376 00000000000000v 20070626 1 P 0 4600 300 4600 1 0 0 { T 200 4650 5 8 1 1 0 6 1 pinnumber=4 T 200 4550 5 8 0 1 0 8 1 pinseq=1 T 350 4600 9 8 1 1 0 0 1 pinlabel=D0 T 350 4600 5 8 0 1 0 2 1 pintype=in } P 2000 4600 1700 4600 1 0 0 { T 1800 4650 5 8 1 1 0 0 1 pinnumber=5 T 1800 4550 5 8 0 1 0 2 1 pinseq=2 T 1650 4600 9 8 1 1 0 6 1 pinlabel=Y T 1650 4600 5 8 0 1 0 8 1 pintype=out } P 0 4200 300 4200 1 0 0 { T 200 4250 5 8 1 1 0 6 1 pinnumber=3 T 200 4150 5 8 0 1 0 8 1 pinseq=3 T 350 4200 9 8 1 1 0 0 1 pinlabel=D1 T 350 4200 5 8 0 1 0 2 1 pintype=in } P 2000 4200 1800 4200 1 0 0 { T 1800 4250 5 8 1 1 0 0 1 pinnumber=6 T 1800 4150 5 8 0 1 0 2 1 pinseq=4 T 1650 4200 9 8 1 1 0 6 1 pinlabel=\_Y\_ T 1650 4200 5 8 0 1 0 8 1 pintype=out } V 1750 4200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3800 300 3800 1 0 0 { T 200 3850 5 8 1 1 0 6 1 pinnumber=2 T 200 3750 5 8 0 1 0 8 1 pinseq=5 T 350 3800 9 8 1 1 0 0 1 pinlabel=D2 T 350 3800 5 8 0 1 0 2 1 pintype=in } P 0 3400 300 3400 1 0 0 { T 200 3450 5 8 1 1 0 6 1 pinnumber=1 T 200 3350 5 8 0 1 0 8 1 pinseq=6 T 350 3400 9 8 1 1 0 0 1 pinlabel=D3 T 350 3400 5 8 0 1 0 2 1 pintype=in } P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=15 T 200 2950 5 8 0 1 0 8 1 pinseq=7 T 350 3000 9 8 1 1 0 0 1 pinlabel=D4 T 350 3000 5 8 0 1 0 2 1 pintype=in } P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=14 T 200 2550 5 8 0 1 0 8 1 pinseq=8 T 350 2600 9 8 1 1 0 0 1 pinlabel=D5 T 350 2600 5 8 0 1 0 2 1 pintype=in } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=13 T 200 2150 5 8 0 1 0 8 1 pinseq=9 T 350 2200 9 8 1 1 0 0 1 pinlabel=D6 T 350 2200 5 8 0 1 0 2 1 pintype=in } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=12 T 200 1750 5 8 0 1 0 8 1 pinseq=10 T 350 1800 9 8 1 1 0 0 1 pinlabel=D7 T 350 1800 5 8 0 1 0 2 1 pintype=in } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=11 T 200 1350 5 8 0 1 0 8 1 pinseq=11 T 350 1400 9 8 1 1 0 0 1 pinlabel=A0 T 350 1400 5 8 0 1 0 2 1 pintype=in } P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=10 T 200 950 5 8 0 1 0 8 1 pinseq=12 T 350 1000 9 8 1 1 0 0 1 pinlabel=A1 T 350 1000 5 8 0 1 0 2 1 pintype=in } P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=9 T 200 550 5 8 0 1 0 8 1 pinseq=13 T 350 600 9 8 1 1 0 0 1 pinlabel=A2 T 350 600 5 8 0 1 0 2 1 pintype=in } P 0 200 200 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=7 T 200 150 5 8 0 1 0 8 1 pinseq=14 T 350 200 9 8 1 1 0 0 1 pinlabel=\_EN\_ T 350 200 5 8 0 1 0 2 1 pintype=in } V 250 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 300 0 1400 4900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 5340 5 10 0 0 0 0 1 device=74151 T 300 5140 5 10 0 0 0 0 1 footprint=DIP16 T 1700 5000 8 10 1 1 0 6 1 refdes=U? T 300 5550 5 10 0 0 0 0 1 description=8 to 1 multiplexer T 300 6150 5 10 0 0 0 0 1 numslots=0 T 300 5750 5 10 0 0 0 0 1 net=Vcc:16 T 300 5950 5 10 0 0 0 0 1 net=GND:8 T 300 4940 9 10 1 0 0 0 1 74151 T 300 6350 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc151.pdf geda-gaf-1.8.2/symbols/74/7414-1.sym0000664000175000017500000000252312204104272013305 00000000000000v 20031231 1 L 300 200 300 800 3 0 0 0 -1 -1 L 300 800 800 500 3 0 0 0 -1 -1 L 800 500 300 200 3 0 0 0 -1 -1 V 850 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 500 300 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=1 T 200 450 5 8 0 1 0 8 1 pinseq=1 T 350 500 9 8 0 1 0 0 1 pinlabel=A T 350 500 5 8 0 1 0 2 1 pintype=in } P 1200 500 900 500 1 0 0 { T 1000 550 5 8 1 1 0 0 1 pinnumber=2 T 1000 450 5 8 0 1 0 2 1 pinseq=2 T 750 500 9 8 0 1 0 6 1 pinlabel=Y T 750 500 5 8 0 1 0 8 1 pintype=out } T 300 1400 5 10 0 0 0 0 1 slot=1 T 300 1200 5 10 0 0 0 0 1 numslots=6 T 300 1000 5 10 0 0 0 0 1 device=7414 L 390 560 390 360 3 0 0 0 -1 -1 L 390 360 450 400 3 0 0 0 -1 -1 L 390 560 450 600 3 0 0 0 -1 -1 L 390 360 330 320 3 0 0 0 -1 -1 L 450 400 450 600 3 0 0 0 -1 -1 L 450 600 520 640 3 0 0 0 -1 -1 T 300 1818 5 10 0 0 0 0 1 slotdef=1:1,2 T 300 2000 5 10 0 0 0 0 1 slotdef=2:3,4 T 300 2200 5 10 0 0 0 0 1 slotdef=3:5,6 T 300 2400 5 10 0 0 0 0 1 slotdef=4:9,8 T 300 2600 5 10 0 0 0 0 1 slotdef=5:11,10 T 300 1600 5 10 0 0 0 0 1 slotdef=6:13,12 T 800 800 8 10 1 1 0 0 1 refdes=U? T 300 3200 5 10 0 0 0 0 1 pins=14 T 300 2800 5 10 0 0 0 0 1 net=Vcc:14 T 300 3000 5 10 0 0 0 0 1 net=GND:7 T 300 3400 5 10 0 0 0 0 1 footprint=DIP14 T 300 3600 5 10 0 0 0 0 1 description=6 inverting Schmitt-triggers T 300 3800 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc14.pdf geda-gaf-1.8.2/symbols/74/7447-1.sym0000664000175000017500000000574012204104272013317 00000000000000v 20070626 1 P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=7 T 200 2550 5 8 0 1 0 8 1 pinseq=1 T 350 2600 9 8 1 1 0 0 1 pinlabel=A T 350 2600 5 8 0 1 0 2 1 pintype=in } P 2000 2600 1700 2600 1 0 0 { T 1800 2650 5 8 1 1 0 0 1 pinnumber=13 T 1800 2550 5 8 0 1 0 2 1 pinseq=2 T 1650 2600 9 8 1 1 0 6 1 pinlabel=a T 1650 2600 5 8 0 1 0 8 1 pintype=oc } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=1 T 200 2150 5 8 0 1 0 8 1 pinseq=3 T 350 2200 9 8 1 1 0 0 1 pinlabel=B T 350 2200 5 8 0 1 0 2 1 pintype=in } P 2000 2200 1700 2200 1 0 0 { T 1800 2250 5 8 1 1 0 0 1 pinnumber=12 T 1800 2150 5 8 0 1 0 2 1 pinseq=4 T 1650 2200 9 8 1 1 0 6 1 pinlabel=b T 1650 2200 5 8 0 1 0 8 1 pintype=oc } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=2 T 200 1750 5 8 0 1 0 8 1 pinseq=5 T 350 1800 9 8 1 1 0 0 1 pinlabel=C T 350 1800 5 8 0 1 0 2 1 pintype=in } P 2000 1800 1700 1800 1 0 0 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=11 T 1800 1750 5 8 0 1 0 2 1 pinseq=6 T 1650 1800 9 8 1 1 0 6 1 pinlabel=c T 1650 1800 5 8 0 1 0 8 1 pintype=oc } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=6 T 200 1350 5 8 0 1 0 8 1 pinseq=7 T 350 1400 9 8 1 1 0 0 1 pinlabel=D T 350 1400 5 8 0 1 0 2 1 pintype=in } P 2000 1400 1700 1400 1 0 0 { T 1800 1450 5 8 1 1 0 0 1 pinnumber=10 T 1800 1350 5 8 0 1 0 2 1 pinseq=8 T 1650 1400 9 8 1 1 0 6 1 pinlabel=d T 1650 1400 5 8 0 1 0 8 1 pintype=oc } P 2000 1000 1700 1000 1 0 0 { T 1800 1050 5 8 1 1 0 0 1 pinnumber=9 T 1800 950 5 8 0 1 0 2 1 pinseq=9 T 1650 1000 9 8 1 1 0 6 1 pinlabel=e T 1650 1000 5 8 0 1 0 8 1 pintype=oc } P 0 600 200 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=4 T 200 550 5 8 0 1 0 8 1 pinseq=10 T 350 600 9 8 1 1 0 0 1 pinlabel=\_BI/RBO\_ T 350 600 5 8 0 1 0 2 1 pintype=io } V 250 600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 600 1700 600 1 0 0 { T 1800 650 5 8 1 1 0 0 1 pinnumber=15 T 1800 550 5 8 0 1 0 2 1 pinseq=11 T 1650 600 9 8 1 1 0 6 1 pinlabel=f T 1650 600 5 8 0 1 0 8 1 pintype=oc } P 0 200 200 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=5 T 200 150 5 8 0 1 0 8 1 pinseq=12 T 350 200 9 8 1 1 0 0 1 pinlabel=\_RBI\_ T 350 200 5 8 0 1 0 2 1 pintype=in } V 250 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 200 1700 200 1 0 0 { T 1800 250 5 8 1 1 0 0 1 pinnumber=14 T 1800 150 5 8 0 1 0 2 1 pinseq=13 T 1650 200 9 8 1 1 0 6 1 pinlabel=g T 1650 200 5 8 0 1 0 8 1 pintype=oc } B 300 0 1400 2900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 3340 5 10 0 0 0 0 1 device=7447 T 300 3140 5 10 0 0 0 0 1 footprint=DIP16 T 300 2940 9 10 1 0 0 0 1 7447 T 1700 3000 8 10 1 1 0 6 1 refdes=U? T 300 3550 5 10 0 0 0 0 1 description=BCD to 7-segmend decoder with open collector outputs T 300 3750 5 10 0 0 0 0 1 net=Vcc:16 T 300 3950 5 10 0 0 0 0 1 net=GND:8 T 300 4150 5 10 0 0 0 0 1 numslots=0 P 0 1000 200 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=3 T 200 950 5 8 0 1 0 8 1 pinseq=14 T 350 1000 9 8 1 1 0 0 1 pinlabel=\_LT\_ T 350 1000 5 8 0 1 0 2 1 pintype=in } V 250 1000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4350 5 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/74/7412-1.sym0000664000175000017500000000263012204104272013302 00000000000000v 20031231 1 L 300 200 300 800 3 0 0 0 -1 -1 L 300 800 700 800 3 0 0 0 -1 -1 T 600 900 5 10 0 0 0 0 1 device=7412 T 600 1100 5 10 0 0 0 0 1 slot=1 T 600 1300 5 10 0 0 0 0 1 numslots=3 T 600 1500 5 10 0 0 0 0 1 slotdef=1:1,2,13,12 T 600 1700 5 10 0 0 0 0 1 slotdef=2:3,4,5,6 T 600 1900 5 10 0 0 0 0 1 slotdef=3:9,10,11,8 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 0 1 { T 1100 550 5 8 1 1 0 0 1 pinnumber=12 T 1100 450 5 8 0 1 0 2 1 pinseq=4 T 950 500 9 8 0 1 0 6 1 pinlabel=Y T 950 500 5 8 0 1 0 8 1 pintype=oc } P 300 100 0 100 1 0 1 { T 200 150 5 8 1 1 0 6 1 pinnumber=13 T 200 50 5 8 0 1 0 8 1 pinseq=3 T 350 100 9 8 0 1 0 0 1 pinlabel=C T 350 100 5 8 0 1 0 2 1 pintype=in } P 300 900 0 900 1 0 1 { T 200 950 5 8 1 1 0 6 1 pinnumber=1 T 200 850 5 8 0 1 0 8 1 pinseq=1 T 350 900 9 8 0 1 0 0 1 pinlabel=A T 350 900 5 8 0 1 0 2 1 pintype=in } P 300 500 0 500 1 0 1 { T 200 550 5 8 1 1 0 6 1 pinnumber=2 T 200 450 5 8 0 1 0 8 1 pinseq=2 T 350 500 9 8 0 1 0 0 1 pinlabel=B T 350 500 5 8 0 1 0 2 1 pintype=in } T 400 0 9 8 1 0 0 0 1 7412 L 300 200 300 0 3 0 0 0 -1 -1 L 300 1000 300 800 3 0 0 0 -1 -1 T 400 900 8 10 1 1 0 0 1 refdes=U? T 600 2100 5 10 0 0 0 0 1 footprint=DIP14 T 600 2300 5 10 0 0 0 0 1 description=3 NAND gates with 3 inputs and open collector outputs T 600 2500 5 10 0 0 0 0 1 net=Vcc:14 T 600 2700 5 10 0 0 0 0 1 net=GND:7 geda-gaf-1.8.2/symbols/74/7420-2.sym0000664000175000017500000000347112204104272013306 00000000000000v 20031231 1 P 200 100 0 100 1 0 1 { T 200 150 5 8 1 1 0 6 1 pinnumber=5 T 200 50 5 8 0 1 0 8 1 pinseq=4 T 350 100 9 8 0 1 0 0 1 pinlabel=D T 350 100 5 8 0 1 0 2 1 pintype=in } P 200 1100 0 1100 1 0 1 { T 200 1150 5 8 1 1 0 6 1 pinnumber=1 T 200 1050 5 8 0 1 0 8 1 pinseq=1 T 350 1100 9 8 0 1 0 0 1 pinlabel=A T 350 1100 5 8 0 1 0 2 1 pintype=in } P 200 800 0 800 1 0 1 { T 200 850 5 8 1 1 0 6 1 pinnumber=2 T 200 750 5 8 0 1 0 8 1 pinseq=2 T 350 800 9 8 0 1 0 0 1 pinlabel=B T 350 800 5 8 0 1 0 2 1 pintype=in } T 400 100 9 8 1 0 0 0 1 7420 A 36 600 400 312 97 3 0 0 0 -1 -1 P 990 600 1300 600 1 0 1 { T 1100 650 5 8 1 1 0 0 1 pinnumber=6 T 1100 550 5 8 0 1 0 2 1 pinseq=5 T 950 600 9 8 0 1 0 6 1 pinlabel=Y T 950 600 5 8 0 1 0 8 1 pintype=out } V 250 1100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 300 300 600 300 3 0 0 0 -1 -1 L 300 900 600 900 3 0 0 0 -1 -1 T 600 1000 5 10 0 0 0 0 1 device=7420 T 600 1200 5 10 0 0 0 0 1 slot=1 T 600 1400 5 10 0 0 0 0 1 numslots=2 T 600 1600 5 10 0 0 0 0 1 slotdef=1:1,2,4,5,6 T 600 1800 5 10 0 0 0 0 1 slotdef=2:9,10,12,13,8 A 600 700 400 270 76 3 0 0 0 -1 -1 A 600 500 400 14 76 3 0 0 0 -1 -1 L 300 100 300 300 3 0 0 0 -1 -1 L 300 1100 300 900 3 0 0 0 -1 -1 P 200 400 0 400 1 0 1 { T 200 450 5 8 1 1 0 6 1 pinnumber=4 T 200 350 5 8 0 1 0 8 1 pinseq=3 T 350 400 9 8 0 1 0 0 1 pinlabel=C T 350 400 5 8 0 1 0 2 1 pintype=in } V 250 400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 300 1100 300 1200 3 0 0 0 -1 -1 L 300 0 300 100 3 0 0 0 -1 -1 T 400 1000 8 10 1 1 0 0 1 refdes=U? T 600 2000 5 10 0 0 0 0 1 footprint=DIP14 T 600 2200 5 10 0 0 0 0 1 description=2 NAND gates with 4 inputs T 600 2400 5 10 0 0 0 0 1 net=Vcc:14 T 600 2600 5 10 0 0 0 0 1 net=GND:7 T 600 2800 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc20.pdf geda-gaf-1.8.2/symbols/74/74245-1.sym0000664000175000017500000000715512204104272013401 00000000000000v 20070626 1 P 0 100 300 100 1 0 0 { T 200 150 5 8 1 1 0 6 1 pinnumber=1 T 200 50 5 8 0 1 0 8 1 pinseq=1 T 350 100 9 8 1 1 0 0 1 pinlabel=DIR T 350 100 5 8 0 1 0 2 1 pintype=in } P 0 2800 300 2800 1 0 0 { T 200 2850 5 8 1 1 0 6 1 pinnumber=2 T 200 2750 5 8 0 1 0 8 1 pinseq=2 T 350 2800 9 8 1 1 0 0 1 pinlabel=A1 T 350 2800 5 8 0 1 0 2 1 pintype=tri } P 0 2500 300 2500 1 0 0 { T 200 2550 5 8 1 1 0 6 1 pinnumber=3 T 200 2450 5 8 0 1 0 8 1 pinseq=3 T 350 2500 9 8 1 1 0 0 1 pinlabel=A2 T 350 2500 5 8 0 1 0 2 1 pintype=tri } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=4 T 200 2150 5 8 0 1 0 8 1 pinseq=4 T 350 2200 9 8 1 1 0 0 1 pinlabel=A3 T 350 2200 5 8 0 1 0 2 1 pintype=tri } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=5 T 200 1850 5 8 0 1 0 8 1 pinseq=5 T 350 1900 9 8 1 1 0 0 1 pinlabel=A4 T 350 1900 5 8 0 1 0 2 1 pintype=tri } P 0 1600 300 1600 1 0 0 { T 200 1650 5 8 1 1 0 6 1 pinnumber=6 T 200 1550 5 8 0 1 0 8 1 pinseq=6 T 350 1600 9 8 1 1 0 0 1 pinlabel=A5 T 350 1600 5 8 0 1 0 2 1 pintype=tri } P 0 1300 300 1300 1 0 0 { T 200 1350 5 8 1 1 0 6 1 pinnumber=7 T 200 1250 5 8 0 1 0 8 1 pinseq=7 T 350 1300 9 8 1 1 0 0 1 pinlabel=A6 T 350 1300 5 8 0 1 0 2 1 pintype=tri } P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=8 T 200 950 5 8 0 1 0 8 1 pinseq=8 T 350 1000 9 8 1 1 0 0 1 pinlabel=A7 T 350 1000 5 8 0 1 0 2 1 pintype=tri } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=9 T 200 650 5 8 0 1 0 8 1 pinseq=9 T 350 700 9 8 1 1 0 0 1 pinlabel=A8 T 350 700 5 8 0 1 0 2 1 pintype=tri } V 250 400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 400 200 400 1 0 0 { T 200 450 5 8 1 1 0 6 1 pinnumber=19 T 200 350 5 8 0 1 0 8 1 pinseq=19 T 350 400 9 8 1 1 0 0 1 pinlabel=\_ENABLE\_ T 350 400 5 8 0 1 0 2 1 pintype=in } P 1700 2800 2000 2800 1 0 1 { T 1800 2850 5 8 1 1 0 0 1 pinnumber=18 T 1800 2750 5 8 0 1 0 2 1 pinseq=18 T 1650 2800 9 8 1 1 0 6 1 pinlabel=B1 T 1650 2800 5 8 0 1 0 8 1 pintype=tri } P 1700 2500 2000 2500 1 0 1 { T 1800 2550 5 8 1 1 0 0 1 pinnumber=17 T 1800 2450 5 8 0 1 0 2 1 pinseq=17 T 1650 2500 9 8 1 1 0 6 1 pinlabel=B2 T 1650 2500 5 8 0 1 0 8 1 pintype=tri } P 1700 2200 2000 2200 1 0 1 { T 1800 2250 5 8 1 1 0 0 1 pinnumber=16 T 1800 2150 5 8 0 1 0 2 1 pinseq=16 T 1650 2200 9 8 1 1 0 6 1 pinlabel=B3 T 1650 2200 5 8 0 1 0 8 1 pintype=tri } P 1700 1900 2000 1900 1 0 1 { T 1800 1950 5 8 1 1 0 0 1 pinnumber=15 T 1800 1850 5 8 0 1 0 2 1 pinseq=15 T 1650 1900 9 8 1 1 0 6 1 pinlabel=B4 T 1650 1900 5 8 0 1 0 8 1 pintype=tri } P 1700 1600 2000 1600 1 0 1 { T 1800 1650 5 8 1 1 0 0 1 pinnumber=14 T 1800 1550 5 8 0 1 0 2 1 pinseq=14 T 1650 1600 9 8 1 1 0 6 1 pinlabel=B5 T 1650 1600 5 8 0 1 0 8 1 pintype=tri } P 1700 1300 2000 1300 1 0 1 { T 1800 1350 5 8 1 1 0 0 1 pinnumber=13 T 1800 1250 5 8 0 1 0 2 1 pinseq=13 T 1650 1300 9 8 1 1 0 6 1 pinlabel=B6 T 1650 1300 5 8 0 1 0 8 1 pintype=tri } P 1700 1000 2000 1000 1 0 1 { T 1800 1050 5 8 1 1 0 0 1 pinnumber=12 T 1800 950 5 8 0 1 0 2 1 pinseq=12 T 1650 1000 9 8 1 1 0 6 1 pinlabel=B7 T 1650 1000 5 8 0 1 0 8 1 pintype=tri } P 1700 700 2000 700 1 0 1 { T 1800 750 5 8 1 1 0 0 1 pinnumber=11 T 1800 650 5 8 0 1 0 2 1 pinseq=11 T 1650 700 9 8 1 1 0 6 1 pinlabel=B8 T 1650 700 5 8 0 1 0 8 1 pintype=tri } B 300 -100 1400 3200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 3350 5 10 0 0 0 0 1 device=74245 T 1700 3200 8 10 1 1 0 6 1 refdes=U? T 300 3550 5 10 0 0 0 0 1 footprint=DIP20 T 300 3750 5 10 0 0 0 0 1 description=octal transceiver (tristate) T 300 4350 5 10 0 0 0 0 1 numslots=0 T 300 3950 5 10 0 0 0 0 1 net=Vcc:20 T 300 4150 5 10 0 0 0 0 1 net=GND:10 T 300 3140 9 10 1 0 0 0 1 74245 T 300 4550 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc245.pdf geda-gaf-1.8.2/symbols/74/74273-1.sym0000664000175000017500000000726512204104272013404 00000000000000v 20070626 1 P 0 100 300 100 1 0 0 { T 200 150 5 8 1 1 0 6 1 pinnumber=11 T 200 50 5 8 0 1 0 8 1 pinseq=11 T 375 100 9 8 1 1 0 0 1 pinlabel=CLK T 375 100 5 8 0 1 0 2 1 pintype=clk } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=3 T 200 3050 5 8 0 1 0 8 1 pinseq=3 T 350 3100 9 8 1 1 0 0 1 pinlabel=D0 T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 2800 300 2800 1 0 0 { T 200 2850 5 8 1 1 0 6 1 pinnumber=4 T 200 2750 5 8 0 1 0 8 1 pinseq=4 T 350 2800 9 8 1 1 0 0 1 pinlabel=D1 T 350 2800 5 8 0 1 0 2 1 pintype=in } P 0 2500 300 2500 1 0 0 { T 200 2550 5 8 1 1 0 6 1 pinnumber=7 T 200 2450 5 8 0 1 0 8 1 pinseq=7 T 350 2500 9 8 1 1 0 0 1 pinlabel=D2 T 350 2500 5 8 0 1 0 2 1 pintype=in } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=8 T 200 2150 5 8 0 1 0 8 1 pinseq=8 T 350 2200 9 8 1 1 0 0 1 pinlabel=D3 T 350 2200 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=13 T 200 1850 5 8 0 1 0 8 1 pinseq=13 T 350 1900 9 8 1 1 0 0 1 pinlabel=D4 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 1600 300 1600 1 0 0 { T 200 1650 5 8 1 1 0 6 1 pinnumber=14 T 200 1550 5 8 0 1 0 8 1 pinseq=14 T 350 1600 9 8 1 1 0 0 1 pinlabel=D5 T 350 1600 5 8 0 1 0 2 1 pintype=in } P 0 1300 300 1300 1 0 0 { T 200 1350 5 8 1 1 0 6 1 pinnumber=17 T 200 1250 5 8 0 1 0 8 1 pinseq=17 T 350 1300 9 8 1 1 0 0 1 pinlabel=D6 T 350 1300 5 8 0 1 0 2 1 pintype=in } P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=18 T 200 950 5 8 0 1 0 8 1 pinseq=18 T 350 1000 9 8 1 1 0 0 1 pinlabel=D7 T 350 1000 5 8 0 1 0 2 1 pintype=in } V 250 400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 400 200 400 1 0 0 { T 200 450 5 8 1 1 0 6 1 pinnumber=1 T 200 350 5 8 0 1 0 8 1 pinseq=1 T 350 400 9 8 1 1 0 0 1 pinlabel=\_RESET\_ T 350 400 5 8 0 1 0 2 1 pintype=in } P 1700 3100 2000 3100 1 0 1 { T 1800 3150 5 8 1 1 0 0 1 pinnumber=2 T 1800 3050 5 8 0 1 0 2 1 pinseq=2 T 1650 3100 9 8 1 1 0 6 1 pinlabel=Q0 T 1650 3100 5 8 0 1 0 8 1 pintype=out } P 1700 2800 2000 2800 1 0 1 { T 1800 2850 5 8 1 1 0 0 1 pinnumber=5 T 1800 2750 5 8 0 1 0 2 1 pinseq=5 T 1650 2800 9 8 1 1 0 6 1 pinlabel=Q1 T 1650 2800 5 8 0 1 0 8 1 pintype=out } P 1700 2500 2000 2500 1 0 1 { T 1800 2550 5 8 1 1 0 0 1 pinnumber=6 T 1800 2450 5 8 0 1 0 2 1 pinseq=6 T 1650 2500 9 8 1 1 0 6 1 pinlabel=Q2 T 1650 2500 5 8 0 1 0 8 1 pintype=out } P 1700 2200 2000 2200 1 0 1 { T 1800 2250 5 8 1 1 0 0 1 pinnumber=9 T 1800 2150 5 8 0 1 0 2 1 pinseq=9 T 1650 2200 9 8 1 1 0 6 1 pinlabel=Q3 T 1650 2200 5 8 0 1 0 8 1 pintype=out } P 1700 1900 2000 1900 1 0 1 { T 1800 1950 5 8 1 1 0 0 1 pinnumber=12 T 1800 1850 5 8 0 1 0 2 1 pinseq=12 T 1650 1900 9 8 1 1 0 6 1 pinlabel=Q4 T 1650 1900 5 8 0 1 0 8 1 pintype=out } P 1700 1600 2000 1600 1 0 1 { T 1800 1650 5 8 1 1 0 0 1 pinnumber=15 T 1800 1550 5 8 0 1 0 2 1 pinseq=15 T 1650 1600 9 8 1 1 0 6 1 pinlabel=Q5 T 1650 1600 5 8 0 1 0 8 1 pintype=out } P 1700 1300 2000 1300 1 0 1 { T 1800 1350 5 8 1 1 0 0 1 pinnumber=16 T 1800 1250 5 8 0 1 0 2 1 pinseq=16 T 1650 1300 9 8 1 1 0 6 1 pinlabel=Q6 T 1650 1300 5 8 0 1 0 8 1 pintype=out } P 1700 1000 2000 1000 1 0 1 { T 1800 1050 5 8 1 1 0 0 1 pinnumber=19 T 1800 950 5 8 0 1 0 2 1 pinseq=19 T 1650 1000 9 8 1 1 0 6 1 pinlabel=Q7 T 1650 1000 5 8 0 1 0 8 1 pintype=out } B 300 -100 1400 3500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 3650 5 10 0 0 0 0 1 device=74273 T 1700 3500 8 10 1 1 0 6 1 refdes=U? T 300 3850 5 10 0 0 0 0 1 footprint=DIP20 T 300 4050 5 10 0 0 0 0 1 description=octal D-type flip-flop with clear T 300 4650 5 10 0 0 0 0 1 numslots=0 T 300 4250 5 10 0 0 0 0 1 net=Vcc:20 T 300 4450 5 10 0 0 0 0 1 net=GND:10 T 300 3440 9 10 1 0 0 0 1 74273 L 375 100 300 150 3 0 0 0 -1 -1 L 375 100 300 50 3 0 0 0 -1 -1 T 300 4850 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc273.pdf geda-gaf-1.8.2/symbols/74/74170-1.sym0000664000175000017500000000557712204104272013404 00000000000000v 20070626 1 P 0 3800 300 3800 1 0 0 { T 200 3850 5 8 1 1 0 6 1 pinnumber=15 T 200 3750 5 8 0 1 0 8 1 pinseq=1 T 350 3800 9 8 1 1 0 0 1 pinlabel=D0 T 350 3800 5 8 0 1 0 2 1 pintype=in } P 2000 3800 1700 3800 1 0 0 { T 1800 3850 5 8 1 1 0 0 1 pinnumber=10 T 1800 3750 5 8 0 1 0 2 1 pinseq=2 T 1650 3800 9 8 1 1 0 6 1 pinlabel=Q0 T 1650 3800 5 8 0 1 0 8 1 pintype=oc } P 0 3400 300 3400 1 0 0 { T 200 3450 5 8 1 1 0 6 1 pinnumber=1 T 200 3350 5 8 0 1 0 8 1 pinseq=3 T 350 3400 9 8 1 1 0 0 1 pinlabel=D1 T 350 3400 5 8 0 1 0 2 1 pintype=in } P 2000 3400 1700 3400 1 0 0 { T 1800 3450 5 8 1 1 0 0 1 pinnumber=9 T 1800 3350 5 8 0 1 0 2 1 pinseq=4 T 1650 3400 9 8 1 1 0 6 1 pinlabel=Q1 T 1650 3400 5 8 0 1 0 8 1 pintype=oc } P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=2 T 200 2950 5 8 0 1 0 8 1 pinseq=5 T 350 3000 9 8 1 1 0 0 1 pinlabel=D2 T 350 3000 5 8 0 1 0 2 1 pintype=in } P 2000 3000 1700 3000 1 0 0 { T 1800 3050 5 8 1 1 0 0 1 pinnumber=7 T 1800 2950 5 8 0 1 0 2 1 pinseq=6 T 1650 3000 9 8 1 1 0 6 1 pinlabel=Q2 T 1650 3000 5 8 0 1 0 8 1 pintype=oc } P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=3 T 200 2550 5 8 0 1 0 8 1 pinseq=7 T 350 2600 9 8 1 1 0 0 1 pinlabel=D3 T 350 2600 5 8 0 1 0 2 1 pintype=in } P 2000 2600 1700 2600 1 0 0 { T 1800 2650 5 8 1 1 0 0 1 pinnumber=6 T 1800 2550 5 8 0 1 0 2 1 pinseq=8 T 1650 2600 9 8 1 1 0 6 1 pinlabel=Q3 T 1650 2600 5 8 0 1 0 8 1 pintype=oc } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=14 T 200 2150 5 8 0 1 0 8 1 pinseq=9 T 350 2200 9 8 1 1 0 0 1 pinlabel=WA0 T 350 2200 5 8 0 1 0 2 1 pintype=in } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=13 T 200 1750 5 8 0 1 0 8 1 pinseq=10 T 350 1800 9 8 1 1 0 0 1 pinlabel=WA1 T 350 1800 5 8 0 1 0 2 1 pintype=in } P 0 1400 200 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=12 T 200 1350 5 8 0 1 0 8 1 pinseq=11 T 350 1400 9 8 1 1 0 0 1 pinlabel=\_WS\_ T 350 1400 5 8 0 1 0 2 1 pintype=in } V 250 1400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=5 T 200 950 5 8 0 1 0 8 1 pinseq=12 T 350 1000 9 8 1 1 0 0 1 pinlabel=RA0 T 350 1000 5 8 0 1 0 2 1 pintype=in } P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=4 T 200 550 5 8 0 1 0 8 1 pinseq=13 T 350 600 9 8 1 1 0 0 1 pinlabel=RA1 T 350 600 5 8 0 1 0 2 1 pintype=in } P 0 200 200 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=11 T 200 150 5 8 0 1 0 8 1 pinseq=14 T 350 200 9 8 1 1 0 0 1 pinlabel=\_RS\_ T 350 200 5 8 0 1 0 2 1 pintype=in } V 250 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 300 0 1400 4100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4540 5 10 0 0 0 0 1 device=74170 T 300 4340 5 10 0 0 0 0 1 footprint=DIP16 T 1700 4200 8 10 1 1 0 6 1 refdes=U? T 300 4750 5 10 0 0 0 0 1 description=4x4bit register with open collector outputs T 300 5350 5 10 0 0 0 0 1 numslots=0 T 300 4950 5 10 0 0 0 0 1 net=Vcc:16 T 300 5150 5 10 0 0 0 0 1 net=GND:8 T 300 4140 9 10 1 0 0 0 1 74170 geda-gaf-1.8.2/symbols/74/7455-1.sym0000664000175000017500000000617312204104272013317 00000000000000v 20031231 1 P 0 3400 300 3400 1 0 0 { T 200 3450 5 8 1 1 0 6 1 pinnumber=1 T 200 3350 5 8 0 1 0 8 1 pinseq=1 T 350 3400 9 8 1 1 0 0 1 pinlabel=1A T 350 3400 5 8 0 1 0 2 1 pintype=in } P 2000 3400 1800 3400 1 0 0 { T 1800 3450 5 8 1 1 0 0 1 pinnumber=8 T 1800 3350 5 8 0 1 0 2 1 pinseq=2 T 1650 3400 9 8 1 1 0 6 1 pinlabel=Y T 1650 3400 5 8 0 1 0 8 1 pintype=out } V 1750 3400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=2 T 200 2950 5 8 0 1 0 8 1 pinseq=3 T 350 3000 9 8 1 1 0 0 1 pinlabel=1B T 350 3000 5 8 0 1 0 2 1 pintype=in } P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=3 T 200 2550 5 8 0 1 0 8 1 pinseq=4 T 350 2600 9 8 1 1 0 0 1 pinlabel=1C T 350 2600 5 8 0 1 0 2 1 pintype=in } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=4 T 200 2150 5 8 0 1 0 8 1 pinseq=5 T 350 2200 9 8 1 1 0 0 1 pinlabel=1D T 350 2200 5 8 0 1 0 2 1 pintype=in } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=13 T 200 1350 5 8 0 1 0 8 1 pinseq=6 T 350 1400 9 8 1 1 0 0 1 pinlabel=2A T 350 1400 5 8 0 1 0 2 1 pintype=in } P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=12 T 200 950 5 8 0 1 0 8 1 pinseq=7 T 350 1000 9 8 1 1 0 0 1 pinlabel=2B T 350 1000 5 8 0 1 0 2 1 pintype=in } P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=11 T 200 550 5 8 0 1 0 8 1 pinseq=8 T 350 600 9 8 1 1 0 0 1 pinlabel=2C T 350 600 5 8 0 1 0 2 1 pintype=in } P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=10 T 200 150 5 8 0 1 0 8 1 pinseq=9 T 350 200 9 8 1 1 0 0 1 pinlabel=2D T 350 200 5 8 0 1 0 2 1 pintype=in } B 300 0 1400 3700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4140 5 10 0 0 0 0 1 device=7455 T 300 3940 5 10 0 0 0 0 1 footprint=DIP14 T 1700 3800 8 10 1 1 0 6 1 refdes=U? T 300 4350 5 10 0 0 0 0 1 description=combined AND/NOR gate T 300 4550 5 10 0 0 0 0 1 net=Vcc:14 T 300 4750 5 10 0 0 0 0 1 net=GND:7 T 300 3740 9 10 1 0 0 0 1 7455 A 1010 1800 146 299 123 3 0 0 0 -1 -1 L 1080 1930 1210 1930 3 0 0 0 -1 -1 L 1080 1670 1210 1670 3 0 0 0 -1 -1 A 1210 1930 260 270 60 3 0 0 0 -1 -1 A 1210 1670 260 30 60 3 0 0 0 -1 -1 V 1460 1800 20 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 610 3700 710 3700 3 0 0 0 -1 -1 L 700 1100 700 500 3 0 0 0 -1 -1 L 600 1025 700 1025 3 0 0 0 -1 -1 L 600 725 700 725 3 0 0 0 -1 -1 L 600 575 700 575 3 0 0 0 -1 -1 L 700 900 900 900 3 0 0 0 -1 -1 L 700 700 900 700 3 0 0 0 -1 -1 A 900 800 101 271 178 3 0 0 0 -1 -1 L 1000 800 1100 800 3 0 0 0 -1 -1 L 1480 1800 1550 1800 3 0 0 0 -1 -1 L 1520 1800 1530 1800 3 0 0 0 -1 -1 L 950 1725 1125 1725 3 0 0 0 -1 -1 L 950 1875 1125 1875 3 0 0 0 -1 -1 L 600 875 700 875 3 0 0 0 -1 -1 L 700 3100 700 2500 3 0 0 0 -1 -1 L 600 3025 700 3025 3 0 0 0 -1 -1 L 600 2725 700 2725 3 0 0 0 -1 -1 L 600 2575 700 2575 3 0 0 0 -1 -1 L 700 2900 900 2900 3 0 0 0 -1 -1 L 700 2700 900 2700 3 0 0 0 -1 -1 A 900 2800 101 271 178 3 0 0 0 -1 -1 L 1000 2800 1100 2800 3 0 0 0 -1 -1 L 600 2875 700 2875 3 0 0 0 -1 -1 L 1100 2800 1100 2200 3 0 0 0 -1 -1 L 1100 2200 950 2200 3 0 0 0 -1 -1 L 950 2200 950 1875 3 0 0 0 -1 -1 L 1100 800 1100 1400 3 0 0 0 -1 -1 L 1100 1400 950 1400 3 0 0 0 -1 -1 L 950 1400 950 1725 3 0 0 0 -1 -1 T 300 4950 5 10 0 0 0 0 1 numslots=0 geda-gaf-1.8.2/symbols/74/7410-1.sym0000664000175000017500000000271512204104272013304 00000000000000v 20031231 1 L 300 200 300 800 3 0 0 0 -1 -1 L 300 800 700 800 3 0 0 0 -1 -1 T 600 900 5 10 0 0 0 0 1 device=7410 T 600 1100 5 10 0 0 0 0 1 slot=1 T 600 1300 5 10 0 0 0 0 1 numslots=3 T 600 1500 5 10 0 0 0 0 1 slotdef=1:1,2,13,12 T 600 1700 5 10 0 0 0 0 1 slotdef=2:3,4,5,6 T 600 1900 5 10 0 0 0 0 1 slotdef=3:9,10,11,8 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 0 1 { T 1100 550 5 8 1 1 0 0 1 pinnumber=12 T 1100 450 5 8 0 1 0 2 1 pinseq=4 T 950 500 9 8 0 1 0 6 1 pinlabel=Y T 950 500 5 8 0 1 0 8 1 pintype=out } P 300 100 0 100 1 0 1 { T 200 150 5 8 1 1 0 6 1 pinnumber=13 T 200 50 5 8 0 1 0 8 1 pinseq=3 T 350 100 9 8 0 1 0 0 1 pinlabel=C T 350 100 5 8 0 1 0 2 1 pintype=in } P 300 900 0 900 1 0 1 { T 200 950 5 8 1 1 0 6 1 pinnumber=1 T 200 850 5 8 0 1 0 8 1 pinseq=1 T 350 900 9 8 0 1 0 0 1 pinlabel=A T 350 900 5 8 0 1 0 2 1 pintype=in } P 300 500 0 500 1 0 1 { T 200 550 5 8 1 1 0 6 1 pinnumber=2 T 200 450 5 8 0 1 0 8 1 pinseq=2 T 350 500 9 8 0 1 0 0 1 pinlabel=B T 350 500 5 8 0 1 0 2 1 pintype=in } T 400 0 9 8 1 0 0 0 1 7410 L 300 200 300 0 3 0 0 0 -1 -1 L 300 1000 300 800 3 0 0 0 -1 -1 T 400 900 8 10 1 1 0 0 1 refdes=U? T 600 2100 5 10 0 0 0 0 1 footprint=DIP14 T 600 2300 5 10 0 0 0 0 1 description=3 NAND gates with 3 inputs T 600 2500 5 10 0 0 0 0 1 net=Vcc:14 T 600 2700 5 10 0 0 0 0 1 net=GND:7 T 600 2900 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc10.pdf geda-gaf-1.8.2/symbols/74/74137-1.sym0000664000175000017500000000660612204104272013401 00000000000000v 20070626 1 P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=1 T 200 2950 5 8 0 1 0 8 1 pinseq=1 T 350 3000 9 8 1 1 0 0 1 pinlabel=A0 T 350 3000 5 8 0 1 0 2 1 pintype=in } P 2000 3000 1800 3000 1 0 0 { T 1800 3050 5 8 1 1 0 0 1 pinnumber=15 T 1800 2950 5 8 0 1 0 2 1 pinseq=2 T 1650 3000 9 8 1 1 0 6 1 pinlabel=Y0 T 1650 3000 5 8 0 1 0 8 1 pintype=out } V 1750 3000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=2 T 200 2550 5 8 0 1 0 8 1 pinseq=3 T 350 2600 9 8 1 1 0 0 1 pinlabel=A1 T 350 2600 5 8 0 1 0 2 1 pintype=in } P 2000 2600 1800 2600 1 0 0 { T 1800 2650 5 8 1 1 0 0 1 pinnumber=14 T 1800 2550 5 8 0 1 0 2 1 pinseq=4 T 1650 2600 9 8 1 1 0 6 1 pinlabel=Y1 T 1650 2600 5 8 0 1 0 8 1 pintype=out } V 1750 2600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=3 T 200 2150 5 8 0 1 0 8 1 pinseq=5 T 350 2200 9 8 1 1 0 0 1 pinlabel=A2 T 350 2200 5 8 0 1 0 2 1 pintype=in } P 2000 2200 1800 2200 1 0 0 { T 1800 2250 5 8 1 1 0 0 1 pinnumber=13 T 1800 2150 5 8 0 1 0 2 1 pinseq=6 T 1650 2200 9 8 1 1 0 6 1 pinlabel=Y2 T 1650 2200 5 8 0 1 0 8 1 pintype=out } V 1750 2200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 1800 1800 1800 1 0 0 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=12 T 1800 1750 5 8 0 1 0 2 1 pinseq=7 T 1650 1800 9 8 1 1 0 6 1 pinlabel=Y3 T 1650 1800 5 8 0 1 0 8 1 pintype=out } V 1750 1800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=6 T 200 1350 5 8 0 1 0 8 1 pinseq=8 T 350 1400 9 8 1 1 0 0 1 pinlabel=EN1 T 350 1400 5 8 0 1 0 2 1 pintype=in } P 2000 1400 1800 1400 1 0 0 { T 1800 1450 5 8 1 1 0 0 1 pinnumber=11 T 1800 1350 5 8 0 1 0 2 1 pinseq=9 T 1650 1400 9 8 1 1 0 6 1 pinlabel=Y4 T 1650 1400 5 8 0 1 0 8 1 pintype=out } V 1750 1400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1000 200 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=5 T 200 950 5 8 0 1 0 8 1 pinseq=10 T 350 1000 9 8 1 1 0 0 1 pinlabel=\_EN2\_ T 350 1000 5 8 0 1 0 2 1 pintype=in } V 250 1000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 1000 1800 1000 1 0 0 { T 1800 1050 5 8 1 1 0 0 1 pinnumber=10 T 1800 950 5 8 0 1 0 2 1 pinseq=11 T 1650 1000 9 8 1 1 0 6 1 pinlabel=Y5 T 1650 1000 5 8 0 1 0 8 1 pintype=out } V 1750 1000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 600 1800 600 1 0 0 { T 1800 650 5 8 1 1 0 0 1 pinnumber=9 T 1800 550 5 8 0 1 0 2 1 pinseq=12 T 1650 600 9 8 1 1 0 6 1 pinlabel=Y6 T 1650 600 5 8 0 1 0 8 1 pintype=out } V 1750 600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 200 200 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=4 T 200 150 5 8 0 1 0 8 1 pinseq=13 T 350 200 9 8 1 1 0 0 1 pinlabel=\_LE\_ T 350 200 5 8 0 1 0 2 1 pintype=in } V 250 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 200 1800 200 1 0 0 { T 1800 250 5 8 1 1 0 0 1 pinnumber=7 T 1800 150 5 8 0 1 0 2 1 pinseq=14 T 1650 200 9 8 1 1 0 6 1 pinlabel=Y7 T 1650 200 5 8 0 1 0 8 1 pintype=out } V 1750 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 300 0 1400 3300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 3740 5 10 0 0 0 0 1 device=74137 T 300 3540 5 10 0 0 0 0 1 footprint=DIP16 T 1700 3400 8 10 1 1 0 6 1 refdes=U? T 300 3950 5 10 0 0 0 0 1 description=3 to 8 decoder/demultiplexer with adress latch T 300 4550 5 10 0 0 0 0 1 numslots=0 T 300 4150 5 10 0 0 0 0 1 net=Vcc:16 T 300 4350 5 10 0 0 0 0 1 net=GND:8 T 300 3340 9 10 1 0 0 0 1 74137 T 300 4750 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/74HC_HCT137_CNV_2.pdf geda-gaf-1.8.2/symbols/74/74541-1.sym0000664000175000017500000000720212204104272013371 00000000000000v 20070626 1 P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=2 T 200 2650 5 8 0 1 0 8 1 pinseq=2 T 350 2700 9 8 1 1 0 0 1 pinlabel=A1 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 2400 300 2400 1 0 0 { T 200 2450 5 8 1 1 0 6 1 pinnumber=3 T 200 2350 5 8 0 1 0 8 1 pinseq=3 T 350 2400 9 8 1 1 0 0 1 pinlabel=A2 T 350 2400 5 8 0 1 0 2 1 pintype=in } P 0 2100 300 2100 1 0 0 { T 200 2150 5 8 1 1 0 6 1 pinnumber=4 T 200 2050 5 8 0 1 0 8 1 pinseq=4 T 350 2100 9 8 1 1 0 0 1 pinlabel=A3 T 350 2100 5 8 0 1 0 2 1 pintype=in } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=5 T 200 1750 5 8 0 1 0 8 1 pinseq=5 T 350 1800 9 8 1 1 0 0 1 pinlabel=A4 T 350 1800 5 8 0 1 0 2 1 pintype=in } V 600 250 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 600 200 600 0 1 0 1 { T 650 100 5 8 1 1 0 0 1 pinnumber=1 T 650 100 5 8 0 1 0 2 1 pinseq=1 T 600 350 9 8 1 1 0 3 1 pinlabel=\_1G\_ T 600 450 5 8 0 1 0 3 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=6 T 200 1450 5 8 0 1 0 8 1 pinseq=6 T 350 1500 9 8 1 1 0 0 1 pinlabel=A5 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1200 300 1200 1 0 0 { T 200 1250 5 8 1 1 0 6 1 pinnumber=7 T 200 1150 5 8 0 1 0 8 1 pinseq=7 T 350 1200 9 8 1 1 0 0 1 pinlabel=A6 T 350 1200 5 8 0 1 0 2 1 pintype=in } P 0 900 300 900 1 0 0 { T 200 950 5 8 1 1 0 6 1 pinnumber=8 T 200 850 5 8 0 1 0 8 1 pinseq=8 T 350 900 9 8 1 1 0 0 1 pinlabel=A7 T 350 900 5 8 0 1 0 2 1 pintype=in } P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=9 T 200 550 5 8 0 1 0 8 1 pinseq=9 T 350 600 9 8 1 1 0 0 1 pinlabel=A8 T 350 600 5 8 0 1 0 2 1 pintype=in } V 1400 250 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1400 200 1400 0 1 0 1 { T 1450 100 5 8 1 1 0 0 1 pinnumber=19 T 1450 100 5 8 0 1 0 2 1 pinseq=19 T 1400 350 9 8 1 1 0 3 1 pinlabel=\_2G\_ T 1400 450 5 8 0 1 0 3 1 pintype=in } P 1700 2700 2000 2700 1 0 1 { T 1800 2750 5 8 1 1 0 0 1 pinnumber=18 T 1800 2650 5 8 0 1 0 2 1 pinseq=18 T 1650 2700 9 8 1 1 0 6 1 pinlabel=Y1 T 1650 2700 5 8 0 1 0 8 1 pintype=tri } P 1700 2400 2000 2400 1 0 1 { T 1800 2450 5 8 1 1 0 0 1 pinnumber=17 T 1800 2350 5 8 0 1 0 2 1 pinseq=17 T 1650 2400 9 8 1 1 0 6 1 pinlabel=Y2 T 1650 2400 5 8 0 1 0 8 1 pintype=tri } P 1700 2100 2000 2100 1 0 1 { T 1800 2150 5 8 1 1 0 0 1 pinnumber=16 T 1800 2050 5 8 0 1 0 2 1 pinseq=16 T 1650 2100 9 8 1 1 0 6 1 pinlabel=Y3 T 1650 2100 5 8 0 1 0 8 1 pintype=tri } P 1700 1800 2000 1800 1 0 1 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=15 T 1800 1750 5 8 0 1 0 2 1 pinseq=15 T 1650 1800 9 8 1 1 0 6 1 pinlabel=Y4 T 1650 1800 5 8 0 1 0 8 1 pintype=tri } P 1700 1500 2000 1500 1 0 1 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=14 T 1800 1450 5 8 0 1 0 2 1 pinseq=14 T 1650 1500 9 8 1 1 0 6 1 pinlabel=Y5 T 1650 1500 5 8 0 1 0 8 1 pintype=tri } P 1700 1200 2000 1200 1 0 1 { T 1800 1250 5 8 1 1 0 0 1 pinnumber=13 T 1800 1150 5 8 0 1 0 2 1 pinseq=13 T 1650 1200 9 8 1 1 0 6 1 pinlabel=Y6 T 1650 1200 5 8 0 1 0 8 1 pintype=tri } P 1700 900 2000 900 1 0 1 { T 1800 950 5 8 1 1 0 0 1 pinnumber=12 T 1800 850 5 8 0 1 0 2 1 pinseq=12 T 1650 900 9 8 1 1 0 6 1 pinlabel=Y7 T 1650 900 5 8 0 1 0 8 1 pintype=tri } P 1700 600 2000 600 1 0 1 { T 1800 650 5 8 1 1 0 0 1 pinnumber=11 T 1800 550 5 8 0 1 0 2 1 pinseq=11 T 1650 600 9 8 1 1 0 6 1 pinlabel=Y8 T 1650 600 5 8 0 1 0 8 1 pintype=tri } B 300 300 1400 2600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 3150 5 10 0 0 0 0 1 device=74541 T 1700 3000 8 10 1 1 0 6 1 refdes=U? T 300 3350 5 10 0 0 0 0 1 footprint=DIP20 T 300 3550 5 10 0 0 0 0 1 description=8-bit line driver T 300 4150 5 10 0 0 0 0 1 numslots=0 T 300 3750 5 10 0 0 0 0 1 net=Vcc:20 T 300 3950 5 10 0 0 0 0 1 net=GND:10 T 300 2950 9 10 1 0 0 0 1 74541 T 300 4350 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc541.pdf geda-gaf-1.8.2/symbols/74/74159-1.sym0000664000175000017500000001213112204104272013373 00000000000000v 20070626 1 P 0 6200 300 6200 1 0 0 { T 200 6250 5 8 1 1 0 6 1 pinnumber=23 T 200 6150 5 8 0 1 0 8 1 pinseq=1 T 350 6200 9 8 1 1 0 0 1 pinlabel=A T 350 6200 5 8 0 1 0 2 1 pintype=in } P 2000 6200 1800 6200 1 0 0 { T 1800 6250 5 8 1 1 0 0 1 pinnumber=1 T 1800 6150 5 8 0 1 0 2 1 pinseq=2 T 1650 6200 9 8 1 1 0 6 1 pinlabel=0 T 1650 6200 5 8 0 1 0 8 1 pintype=oc } P 0 5800 300 5800 1 0 0 { T 200 5850 5 8 1 1 0 6 1 pinnumber=22 T 200 5750 5 8 0 1 0 8 1 pinseq=3 T 350 5800 9 8 1 1 0 0 1 pinlabel=B T 350 5800 5 8 0 1 0 2 1 pintype=in } P 2000 5800 1800 5800 1 0 0 { T 1800 5850 5 8 1 1 0 0 1 pinnumber=2 T 1800 5750 5 8 0 1 0 2 1 pinseq=4 T 1650 5800 9 8 1 1 0 6 1 pinlabel=1 T 1650 5800 5 8 0 1 0 8 1 pintype=oc } P 0 5400 300 5400 1 0 0 { T 200 5450 5 8 1 1 0 6 1 pinnumber=21 T 200 5350 5 8 0 1 0 8 1 pinseq=5 T 350 5400 9 8 1 1 0 0 1 pinlabel=C T 350 5400 5 8 0 1 0 2 1 pintype=in } P 2000 5400 1800 5400 1 0 0 { T 1800 5450 5 8 1 1 0 0 1 pinnumber=3 T 1800 5350 5 8 0 1 0 2 1 pinseq=6 T 1650 5400 9 8 1 1 0 6 1 pinlabel=2 T 1650 5400 5 8 0 1 0 8 1 pintype=oc } P 0 5000 300 5000 1 0 0 { T 200 5050 5 8 1 1 0 6 1 pinnumber=20 T 200 4950 5 8 0 1 0 8 1 pinseq=7 T 350 5000 9 8 1 1 0 0 1 pinlabel=D T 350 5000 5 8 0 1 0 2 1 pintype=in } P 2000 5000 1800 5000 1 0 0 { T 1800 5050 5 8 1 1 0 0 1 pinnumber=4 T 1800 4950 5 8 0 1 0 2 1 pinseq=8 T 1650 5000 9 8 1 1 0 6 1 pinlabel=3 T 1650 5000 5 8 0 1 0 8 1 pintype=oc } P 2000 4600 1800 4600 1 0 0 { T 1800 4650 5 8 1 1 0 0 1 pinnumber=5 T 1800 4550 5 8 0 1 0 2 1 pinseq=9 T 1650 4600 9 8 1 1 0 6 1 pinlabel=4 T 1650 4600 5 8 0 1 0 8 1 pintype=oc } P 2000 4200 1800 4200 1 0 0 { T 1800 4250 5 8 1 1 0 0 1 pinnumber=6 T 1800 4150 5 8 0 1 0 2 1 pinseq=10 T 1650 4200 9 8 1 1 0 6 1 pinlabel=5 T 1650 4200 5 8 0 1 0 8 1 pintype=oc } P 0 3800 200 3800 1 0 0 { T 200 3850 5 8 1 1 0 6 1 pinnumber=18 T 200 3750 5 8 0 1 0 8 1 pinseq=11 T 350 3800 9 8 1 1 0 0 1 pinlabel=\_G1\_ T 350 3800 5 8 0 1 0 2 1 pintype=in } V 250 3800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 3800 1800 3800 1 0 0 { T 1800 3850 5 8 1 1 0 0 1 pinnumber=7 T 1800 3750 5 8 0 1 0 2 1 pinseq=12 T 1650 3800 9 8 1 1 0 6 1 pinlabel=6 T 1650 3800 5 8 0 1 0 8 1 pintype=oc } P 0 3400 200 3400 1 0 0 { T 200 3450 5 8 1 1 0 6 1 pinnumber=19 T 200 3350 5 8 0 1 0 8 1 pinseq=13 T 350 3400 9 8 1 1 0 0 1 pinlabel=\_G2\_ T 350 3400 5 8 0 1 0 2 1 pintype=in } V 250 3400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 3400 1800 3400 1 0 0 { T 1800 3450 5 8 1 1 0 0 1 pinnumber=8 T 1800 3350 5 8 0 1 0 2 1 pinseq=14 T 1650 3400 9 8 1 1 0 6 1 pinlabel=7 T 1650 3400 5 8 0 1 0 8 1 pintype=oc } P 2000 3000 1800 3000 1 0 0 { T 1800 3050 5 8 1 1 0 0 1 pinnumber=9 T 1800 2950 5 8 0 1 0 2 1 pinseq=15 T 1650 3000 9 8 1 1 0 6 1 pinlabel=8 T 1650 3000 5 8 0 1 0 8 1 pintype=oc } P 2000 2600 1800 2600 1 0 0 { T 1800 2650 5 8 1 1 0 0 1 pinnumber=10 T 1800 2550 5 8 0 1 0 2 1 pinseq=16 T 1650 2600 9 8 1 1 0 6 1 pinlabel=9 T 1650 2600 5 8 0 1 0 8 1 pintype=oc } P 2000 2200 1800 2200 1 0 0 { T 1800 2250 5 8 1 1 0 0 1 pinnumber=11 T 1800 2150 5 8 0 1 0 2 1 pinseq=17 T 1650 2200 9 8 1 1 0 6 1 pinlabel=10 T 1650 2200 5 8 0 1 0 8 1 pintype=oc } P 2000 1800 1800 1800 1 0 0 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=13 T 1800 1750 5 8 0 1 0 2 1 pinseq=18 T 1650 1800 9 8 1 1 0 6 1 pinlabel=11 T 1650 1800 5 8 0 1 0 8 1 pintype=oc } P 2000 1400 1800 1400 1 0 0 { T 1800 1450 5 8 1 1 0 0 1 pinnumber=14 T 1800 1350 5 8 0 1 0 2 1 pinseq=19 T 1650 1400 9 8 1 1 0 6 1 pinlabel=12 T 1650 1400 5 8 0 1 0 8 1 pintype=oc } P 2000 1000 1800 1000 1 0 0 { T 1800 1050 5 8 1 1 0 0 1 pinnumber=15 T 1800 950 5 8 0 1 0 2 1 pinseq=20 T 1650 1000 9 8 1 1 0 6 1 pinlabel=13 T 1650 1000 5 8 0 1 0 8 1 pintype=oc } P 2000 600 1800 600 1 0 0 { T 1800 650 5 8 1 1 0 0 1 pinnumber=16 T 1800 550 5 8 0 1 0 2 1 pinseq=21 T 1650 600 9 8 1 1 0 6 1 pinlabel=14 T 1650 600 5 8 0 1 0 8 1 pintype=oc } P 2000 200 1800 200 1 0 0 { T 1800 250 5 8 1 1 0 0 1 pinnumber=17 T 1800 150 5 8 0 1 0 2 1 pinseq=22 T 1650 200 9 8 1 1 0 6 1 pinlabel=15 T 1650 200 5 8 0 1 0 8 1 pintype=oc } B 300 0 1400 6500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 6940 5 10 0 0 0 0 1 device=74159 T 300 6740 5 10 0 0 0 0 1 footprint=DIP24N T 1700 6600 8 10 1 1 0 6 1 refdes=U? T 300 7150 5 10 0 0 0 0 1 description=4-bit binary decoder/demultiplexer with open collector outputs T 300 7750 5 10 0 0 0 0 1 numslots=0 T 300 7350 5 10 0 0 0 0 1 net=Vcc:24 T 300 7550 5 10 0 0 0 0 1 net=GND:12 V 1750 6200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1750 5800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1750 5400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1750 5000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1750 4600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1750 4200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1750 3800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1750 3400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1750 3000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1750 2600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1750 2200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1750 1800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1750 1400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1750 1000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1750 600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1750 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 6540 9 10 1 0 0 0 1 74159 T 300 7950 5 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/74/74688-2.sym0000664000175000017500000000755112204104272013415 00000000000000v 20031231 1 P 0 2600 300 2600 1 0 0 { T 100 2700 5 10 1 1 0 0 1 pinnumber=2 T 0 2600 5 10 0 1 0 0 1 pinseq=2 T 0 2600 5 10 0 1 0 0 1 pintype=in T 400 2600 9 10 1 1 0 0 1 pinlabel=P0 } P 0 2300 300 2300 1 0 0 { T 100 2400 5 10 1 1 0 0 1 pinnumber=4 T 0 2300 5 10 0 1 0 0 1 pinseq=4 T 400 2300 9 10 1 1 0 0 1 pinlabel=P1 T 0 2300 5 10 0 1 0 0 1 pintype=in } P 0 2000 300 2000 1 0 0 { T 100 2100 5 10 1 1 0 0 1 pinnumber=6 T 0 2000 5 10 0 1 0 0 1 pinseq=6 T 0 2000 5 10 0 1 0 0 1 pintype=in T 400 2000 9 10 1 1 0 0 1 pinlabel=P2 } P 0 1700 300 1700 1 0 0 { T 100 1800 5 10 1 1 0 0 1 pinnumber=8 T 0 1700 5 10 0 1 0 0 1 pinseq=8 T 0 1700 5 10 0 1 0 0 1 pintype=in T 400 1700 9 10 1 1 0 0 1 pinlabel=P3 } P 0 1400 300 1400 1 0 0 { T 100 1500 5 10 1 1 0 0 1 pinnumber=11 T 0 1400 5 10 0 1 0 0 1 pinseq=11 T 0 1400 5 10 0 1 0 0 1 pintype=in T 400 1400 9 10 1 1 0 0 1 pinlabel=P4 } P 0 1100 300 1100 1 0 0 { T 100 1200 5 10 1 1 0 0 1 pinnumber=13 T 0 1100 5 10 0 1 0 0 1 pinseq=13 T 0 1100 5 10 0 1 0 0 1 pintype=in T 400 1100 9 10 1 1 0 0 1 pinlabel=P5 } P 0 800 300 800 1 0 0 { T 100 900 5 10 1 1 0 0 1 pinnumber=15 T 0 800 5 10 0 1 0 0 1 pinseq=15 T 400 800 9 10 1 1 0 0 1 pinlabel=P6 T 0 800 5 10 0 1 0 0 1 pintype=in } P 300 200 0 200 1 0 1 { T 100 300 5 10 1 1 0 0 1 pinnumber=10 T 300 200 5 10 0 1 0 0 1 pinseq=10 T 300 200 5 10 0 1 0 0 1 pintype=pwr T 400 200 9 10 1 1 0 0 1 pinlabel=GND } V 250 2900 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 0 2900 200 2900 1 0 0 { T 100 3000 5 10 1 1 0 0 1 pinnumber=1 T 0 2900 5 10 0 1 0 0 1 pinseq=1 T 0 2900 5 10 0 1 0 0 1 pintype=in T 400 2900 9 10 1 1 0 0 1 pinlabel=/E } P 1700 800 2000 800 1 0 1 { T 1800 900 5 10 1 1 0 0 1 pinnumber=16 T 1700 800 5 10 0 1 0 0 1 pinseq=16 T 1700 800 5 10 0 1 0 0 1 pintype=in T 1600 800 9 10 1 1 0 6 1 pinlabel=Q6 } V 1750 200 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1800 200 2000 200 1 0 1 { T 1800 300 5 10 1 1 0 0 1 pinnumber=19 T 1800 200 5 10 0 1 0 0 1 pinseq=19 T 1800 200 5 10 0 1 0 0 1 pintype=out T 1600 200 9 10 1 1 0 6 1 pinlabel=/PEQ } P 1700 1100 2000 1100 1 0 1 { T 1800 1200 5 10 1 1 0 0 1 pinnumber=14 T 1700 1100 5 10 0 1 0 0 1 pinseq=14 T 1700 1100 5 10 0 1 0 0 1 pintype=in T 1600 1100 9 10 1 1 0 6 1 pinlabel=Q5 } P 1700 1400 2000 1400 1 0 1 { T 1800 1500 5 10 1 1 0 0 1 pinnumber=12 T 1700 1400 5 10 0 1 0 0 1 pinseq=12 T 1700 1400 5 10 0 1 0 0 1 pintype=in T 1600 1400 9 10 1 1 0 6 1 pinlabel=Q4 } P 1700 1700 2000 1700 1 0 1 { T 1900 1800 5 10 1 1 0 0 1 pinnumber=9 T 1700 1700 5 10 0 1 0 0 1 pinseq=9 T 1700 1700 5 10 0 1 0 0 1 pintype=in T 1600 1700 9 10 1 1 0 6 1 pinlabel=Q3 } P 1700 2000 2000 2000 1 0 1 { T 1900 2100 5 10 1 1 0 0 1 pinnumber=7 T 1700 2000 5 10 0 1 0 0 1 pinseq=7 T 1700 2000 5 10 0 1 0 0 1 pintype=in T 1600 2000 9 10 1 1 0 6 1 pinlabel=Q2 } P 1700 2300 2000 2300 1 0 1 { T 1900 2400 5 10 1 1 0 0 1 pinnumber=5 T 1700 2300 5 10 0 1 0 0 1 pinseq=5 T 1700 2300 5 10 0 1 0 0 1 pintype=in T 1600 2300 9 10 1 1 0 6 1 pinlabel=Q1 } P 1700 2600 2000 2600 1 0 1 { T 1900 2700 5 10 1 1 0 0 1 pinnumber=3 T 1700 2600 5 10 0 1 0 0 1 pinseq=3 T 1700 2600 5 10 0 1 0 0 1 pintype=in T 1600 2600 9 10 1 1 0 6 1 pinlabel=Q0 } P 1700 2900 2000 2900 1 0 1 { T 1800 3000 5 10 1 1 0 0 1 pinnumber=20 T 1700 2900 5 10 0 1 0 0 1 pinseq=20 T 1700 2900 5 10 0 1 0 0 1 pintype=pwr T 1600 2900 9 10 1 1 0 6 1 pinlabel=VCC } P 0 500 300 500 1 0 0 { T 100 600 5 10 1 1 0 0 1 pinnumber=17 T 0 500 5 10 0 1 0 0 1 pinseq=17 T 0 500 5 10 0 1 0 0 1 pintype=in T 400 500 9 10 1 1 0 0 1 pinlabel=P7 } P 1700 500 2000 500 1 0 1 { T 1800 600 5 10 1 1 0 0 1 pinnumber=18 T 1700 500 5 10 0 1 0 0 1 pinseq=18 T 1700 500 5 10 0 1 0 0 1 pintype=in T 1600 500 9 10 1 1 0 6 1 pinlabel=Q7 } B 300 0 1400 3100 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 T 2500 3000 8 10 0 0 0 0 1 device=74688 T 300 3200 9 10 1 0 0 0 1 74688 T 1500 3200 8 10 1 1 0 0 1 refdes=U? T 2500 2400 8 10 0 0 0 0 1 footprint=DIP20 T 2500 2700 8 10 0 0 0 0 1 author=Terry J Porter T 2500 2100 8 10 0 0 0 0 1 numslots=0 geda-gaf-1.8.2/symbols/74/74HC244-2.sym0000664000175000017500000000415212204104272013606 00000000000000v 20031231 1 P 800 200 800 0 1 0 1 { T 850 100 5 8 1 1 0 0 1 pinnumber=1 T 850 100 5 8 0 1 0 2 1 pinseq=1 T 800 350 9 8 1 1 0 3 1 pinlabel=G T 800 450 5 8 0 1 0 3 1 pintype=in } V 800 250 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=2 T 200 1350 5 8 0 1 0 8 1 pinseq=2 T 350 1400 9 8 1 1 0 0 1 pinlabel=A1 T 350 1400 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=4 T 200 1050 5 8 0 1 0 8 1 pinseq=3 T 350 1100 9 8 1 1 0 0 1 pinlabel=A2 T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 800 300 800 1 0 0 { T 200 850 5 8 1 1 0 6 1 pinnumber=6 T 200 750 5 8 0 1 0 8 1 pinseq=4 T 350 800 9 8 1 1 0 0 1 pinlabel=A3 T 350 800 5 8 0 1 0 2 1 pintype=in } P 0 500 300 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=8 T 200 450 5 8 0 1 0 8 1 pinseq=5 T 350 500 9 8 1 1 0 0 1 pinlabel=A4 T 350 500 5 8 0 1 0 2 1 pintype=in } P 1300 1400 1600 1400 1 0 1 { T 1400 1450 5 8 1 1 0 0 1 pinnumber=18 T 1400 1350 5 8 0 1 0 2 1 pinseq=6 T 1250 1400 9 8 1 1 0 6 1 pinlabel=Y1 T 1250 1400 5 8 0 1 0 8 1 pintype=tri } P 1300 1100 1600 1100 1 0 1 { T 1400 1150 5 8 1 1 0 0 1 pinnumber=16 T 1400 1050 5 8 0 1 0 2 1 pinseq=7 T 1250 1100 9 8 1 1 0 6 1 pinlabel=Y2 T 1250 1100 5 8 0 1 0 8 1 pintype=tri } P 1300 800 1600 800 1 0 1 { T 1400 850 5 8 1 1 0 0 1 pinnumber=14 T 1400 750 5 8 0 1 0 2 1 pinseq=8 T 1250 800 9 8 1 1 0 6 1 pinlabel=Y3 T 1250 800 5 8 0 1 0 8 1 pintype=tri } P 1300 500 1600 500 1 0 1 { T 1400 550 5 8 1 1 0 0 1 pinnumber=12 T 1400 450 5 8 0 1 0 2 1 pinseq=9 T 1250 500 9 8 1 1 0 6 1 pinlabel=Y4 T 1250 500 5 8 0 1 0 8 1 pintype=tri } B 300 300 1000 1400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 1950 5 10 0 0 0 0 1 device=74HC244 T 300 2750 5 10 0 0 0 0 1 slot=1 T 300 2550 5 10 0 0 0 0 1 numslots=2 T 300 2350 5 10 0 0 0 0 1 slotdef=1:1,2,4,6,8,18,16,14,12 T 300 2150 5 10 0 0 0 0 1 slotdef=2:19,11,13,15,17,9,7,5,3 T 1300 1800 8 10 1 1 0 6 1 refdes=U? T 300 2950 5 10 0 0 0 0 1 footprint=DIP20 T 300 3150 5 10 0 0 0 0 1 description=octal buffer/line driver (tristate) T 300 3350 5 10 0 0 0 0 1 net=Vcc:20 T 300 3550 5 10 0 0 0 0 1 net=GND:10 T 300 1750 9 10 1 0 0 0 1 74HC244 geda-gaf-1.8.2/symbols/74/74109-1.sym0000664000175000017500000000405712204104272013376 00000000000000v 20070626 1 L 300 1150 375 1100 3 0 0 0 -1 -1 L 375 1100 300 1050 3 0 0 0 -1 -1 B 300 300 1000 1600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1800 1800 5 10 0 0 0 0 1 device=74109 T 1800 1000 5 10 0 0 0 0 1 slot=1 T 1800 1200 5 10 0 0 0 0 1 numslots=2 T 1800 1400 5 10 0 0 0 0 1 slotdef=1:1,2,3,4,5,6,7 T 1800 1600 5 10 0 0 0 0 1 slotdef=2:15,14,13,12,11,10,9 P 300 1100 0 1100 1 0 1 { T 200 1150 5 8 1 1 0 6 1 pinnumber=4 T 200 1050 5 8 0 1 0 8 1 pinseq=4 T 375 1100 9 8 1 1 0 0 1 pinlabel=CLK T 375 1100 5 8 0 1 0 2 1 pintype=clk } P 300 1600 0 1600 1 0 1 { T 200 1650 5 8 1 1 0 6 1 pinnumber=2 T 200 1550 5 8 0 1 0 8 1 pinseq=2 T 350 1600 9 8 1 1 0 0 1 pinlabel=J T 350 1600 5 8 0 1 0 2 1 pintype=in } P 0 600 200 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=3 T 200 550 5 8 0 1 0 8 1 pinseq=3 T 350 600 9 8 1 1 0 0 1 pinlabel=\_K\_ T 350 600 5 8 0 1 0 2 1 pintype=in } P 1600 1600 1300 1600 1 0 0 { T 1400 1650 5 8 1 1 0 0 1 pinnumber=6 T 1400 1550 5 8 0 1 0 2 1 pinseq=6 T 1250 1600 9 8 1 1 0 6 1 pinlabel=Q T 1250 1600 5 8 0 1 0 8 1 pintype=out } P 800 2000 800 2200 1 0 1 { T 850 2000 5 8 1 1 0 0 1 pinnumber=5 T 850 2000 5 8 0 1 0 2 1 pinseq=5 T 800 1850 9 8 1 1 0 5 1 pinlabel=\_PRE\_ T 800 1750 5 8 0 1 0 5 1 pintype=in } P 800 0 800 200 1 0 0 { T 850 100 5 8 1 1 0 0 1 pinnumber=1 T 850 100 5 8 0 1 0 2 1 pinseq=1 T 800 350 9 8 1 1 0 3 1 pinlabel=\_CLR\_ T 800 450 5 8 0 1 0 3 1 pintype=in } P 1400 600 1600 600 1 0 1 { T 1400 650 5 8 1 1 0 0 1 pinnumber=7 T 1400 550 5 8 0 1 0 2 1 pinseq=7 T 1250 600 9 8 1 1 0 6 1 pinlabel=\_Q\_ T 1250 600 5 8 0 1 0 8 1 pintype=out } V 1350 600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 800 1950 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 800 250 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1300 2000 8 10 1 1 0 6 1 refdes=U? T 1800 2000 5 10 0 0 0 0 1 footprint=DIP16 T 1800 2200 5 10 0 0 0 0 1 description=2 JK-flip-flops with preset and clear T 1800 2400 5 10 0 0 0 0 1 net=Vcc:16 T 1800 2600 5 10 0 0 0 0 1 net=GND:8 T 950 250 9 8 1 0 0 2 1 74109 T 1800 2800 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc109.pdf geda-gaf-1.8.2/symbols/74/7473-1.sym0000664000175000017500000000332312204104272013311 00000000000000v 20070626 1 P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=14 T 200 1350 5 8 0 1 0 8 1 pinseq=1 T 350 1400 9 8 1 1 0 0 1 pinlabel=J T 350 1400 5 8 0 1 0 2 1 pintype=in } P 2000 1400 1700 1400 1 0 0 { T 1800 1450 5 8 1 1 0 0 1 pinnumber=12 T 1800 1350 5 8 0 1 0 2 1 pinseq=2 T 1650 1400 9 8 1 1 0 6 1 pinlabel=Q T 1650 1400 5 8 0 1 0 8 1 pintype=out } P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=3 T 200 950 5 8 0 1 0 8 1 pinseq=3 T 350 1000 9 8 1 1 0 0 1 pinlabel=K T 350 1000 5 8 0 1 0 2 1 pintype=in } P 2000 1000 1800 1000 1 0 0 { T 1800 1050 5 8 1 1 0 0 1 pinnumber=13 T 1800 950 5 8 0 1 0 2 1 pinseq=4 T 1650 1000 9 8 1 1 0 6 1 pinlabel=\_Q\_ T 1650 1000 5 8 0 1 0 8 1 pintype=out } V 1750 1000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 600 200 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=2 T 200 550 5 8 0 1 0 8 1 pinseq=5 T 350 600 9 8 1 1 0 0 1 pinlabel=\_CLR\_ T 350 600 5 8 0 1 0 2 1 pintype=in } P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=1 T 200 150 5 8 0 1 0 8 1 pinseq=6 T 350 200 9 8 1 1 0 0 1 pinlabel=CLK T 350 200 5 8 0 1 0 2 1 pintype=clk } B 300 0 1400 1700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2100 1740 5 10 0 0 0 0 1 device=7473 T 2100 1540 5 10 0 0 0 0 1 footprint=DIP14 T 2100 1340 5 10 0 0 0 0 1 numslots=2 T 2100 1140 5 10 0 0 0 0 1 slotdef=1:14,12,3,13,2,1 T 2100 940 5 10 0 0 0 0 1 slotdef=2:7,9,10,8,6,5 T 1700 1800 8 10 1 1 0 6 1 refdes=U? T 2100 1950 5 10 0 0 0 0 1 description=2 JK-flip-flops with clear T 2100 2150 5 10 0 0 0 0 1 net=Vcc:4 T 2100 2350 5 10 0 0 0 0 1 net=GND:11 T 300 1740 9 10 1 0 0 0 1 7473 V 250 600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2100 2550 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/74HC_HCT73_CNV_2.pdf geda-gaf-1.8.2/symbols/74/74194-1.sym0000664000175000017500000000600112204104272013371 00000000000000v 20070626 1 P 0 3800 300 3800 1 0 0 { T 200 3850 5 8 1 1 0 6 1 pinnumber=3 T 200 3750 5 8 0 1 0 8 1 pinseq=1 T 350 3800 9 8 1 1 0 0 1 pinlabel=P0 T 350 3800 5 8 0 1 0 2 1 pintype=in } P 2000 3800 1700 3800 1 0 0 { T 1800 3850 5 8 1 1 0 0 1 pinnumber=15 T 1800 3750 5 8 0 1 0 2 1 pinseq=2 T 1650 3800 9 8 1 1 0 6 1 pinlabel=Q0 T 1650 3800 5 8 0 1 0 8 1 pintype=out } P 0 3400 300 3400 1 0 0 { T 200 3450 5 8 1 1 0 6 1 pinnumber=4 T 200 3350 5 8 0 1 0 8 1 pinseq=3 T 350 3400 9 8 1 1 0 0 1 pinlabel=P1 T 350 3400 5 8 0 1 0 2 1 pintype=in } P 2000 3400 1700 3400 1 0 0 { T 1800 3450 5 8 1 1 0 0 1 pinnumber=14 T 1800 3350 5 8 0 1 0 2 1 pinseq=4 T 1650 3400 9 8 1 1 0 6 1 pinlabel=Q1 T 1650 3400 5 8 0 1 0 8 1 pintype=out } P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=5 T 200 2950 5 8 0 1 0 8 1 pinseq=5 T 350 3000 9 8 1 1 0 0 1 pinlabel=P2 T 350 3000 5 8 0 1 0 2 1 pintype=in } P 2000 3000 1700 3000 1 0 0 { T 1800 3050 5 8 1 1 0 0 1 pinnumber=13 T 1800 2950 5 8 0 1 0 2 1 pinseq=6 T 1650 3000 9 8 1 1 0 6 1 pinlabel=Q2 T 1650 3000 5 8 0 1 0 8 1 pintype=out } P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=6 T 200 2550 5 8 0 1 0 8 1 pinseq=7 T 350 2600 9 8 1 1 0 0 1 pinlabel=P3 T 350 2600 5 8 0 1 0 2 1 pintype=in } P 2000 2600 1700 2600 1 0 0 { T 1800 2650 5 8 1 1 0 0 1 pinnumber=12 T 1800 2550 5 8 0 1 0 2 1 pinseq=8 T 1650 2600 9 8 1 1 0 6 1 pinlabel=Q3 T 1650 2600 5 8 0 1 0 8 1 pintype=out } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=9 T 200 2150 5 8 0 1 0 8 1 pinseq=9 T 350 2200 9 8 1 1 0 0 1 pinlabel=S0 T 350 2200 5 8 0 1 0 2 1 pintype=in } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=10 T 200 1750 5 8 0 1 0 8 1 pinseq=10 T 350 1800 9 8 1 1 0 0 1 pinlabel=S1 T 350 1800 5 8 0 1 0 2 1 pintype=in } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=2 T 200 1350 5 8 0 1 0 8 1 pinseq=11 T 350 1400 9 8 1 1 0 0 1 pinlabel=DSR T 350 1400 5 8 0 1 0 2 1 pintype=in } P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=7 T 200 950 5 8 0 1 0 8 1 pinseq=12 T 350 1000 9 8 1 1 0 0 1 pinlabel=DSL T 350 1000 5 8 0 1 0 2 1 pintype=in } P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=11 T 200 550 5 8 0 1 0 8 1 pinseq=13 T 375 600 9 8 1 1 0 0 1 pinlabel=CLK T 375 600 5 8 0 1 0 2 1 pintype=clk } P 0 200 200 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=1 T 200 150 5 8 0 1 0 8 1 pinseq=14 T 350 200 9 8 1 1 0 0 1 pinlabel=\_RST\_ T 350 200 5 8 0 1 0 2 1 pintype=in } B 300 0 1400 4100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4540 5 10 0 0 0 0 1 device=74194 T 300 4340 5 10 0 0 0 0 1 footprint=DIP16 T 1700 4200 8 10 1 1 0 6 1 refdes=U? T 300 4750 5 10 0 0 0 0 1 description=4-bit bidirectional shift register T 300 5350 5 10 0 0 0 0 1 numslots=0 T 300 4950 5 10 0 0 0 0 1 net=Vcc:16 T 300 5150 5 10 0 0 0 0 1 net=GND:8 T 300 4140 9 10 1 0 0 0 1 74194 V 250 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 375 600 300 650 3 0 0 0 -1 -1 L 375 600 300 550 3 0 0 0 -1 -1 T 300 5550 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/74HC_HCT194_CNV_2.pdf geda-gaf-1.8.2/symbols/74/74181-1.sym0000664000175000017500000001144012204104272013370 00000000000000v 20031231 1 P 0 5400 200 5400 1 0 0 { T 200 5450 5 8 1 1 0 6 1 pinnumber=2 T 200 5350 5 8 0 1 0 8 1 pinseq=1 T 350 5400 9 8 1 1 0 0 1 pinlabel=A0 T 350 5400 5 8 0 1 0 2 1 pintype=in } V 250 5400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 5400 1800 5400 1 0 0 { T 1800 5450 5 8 1 1 0 0 1 pinnumber=9 T 1800 5350 5 8 0 1 0 2 1 pinseq=2 T 1650 5400 9 8 1 1 0 6 1 pinlabel=F0 T 1650 5400 5 8 0 1 0 8 1 pintype=out } V 1750 5400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 5000 200 5000 1 0 0 { T 200 5050 5 8 1 1 0 6 1 pinnumber=23 T 200 4950 5 8 0 1 0 8 1 pinseq=3 T 350 5000 9 8 1 1 0 0 1 pinlabel=A1 T 350 5000 5 8 0 1 0 2 1 pintype=in } V 250 5000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 5000 1800 5000 1 0 0 { T 1800 5050 5 8 1 1 0 0 1 pinnumber=10 T 1800 4950 5 8 0 1 0 2 1 pinseq=4 T 1650 5000 9 8 1 1 0 6 1 pinlabel=F1 T 1650 5000 5 8 0 1 0 8 1 pintype=out } V 1750 5000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 4600 200 4600 1 0 0 { T 200 4650 5 8 1 1 0 6 1 pinnumber=21 T 200 4550 5 8 0 1 0 8 1 pinseq=5 T 350 4600 9 8 1 1 0 0 1 pinlabel=A2 T 350 4600 5 8 0 1 0 2 1 pintype=in } V 250 4600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 4600 1800 4600 1 0 0 { T 1800 4650 5 8 1 1 0 0 1 pinnumber=11 T 1800 4550 5 8 0 1 0 2 1 pinseq=6 T 1650 4600 9 8 1 1 0 6 1 pinlabel=F2 T 1650 4600 5 8 0 1 0 8 1 pintype=out } V 1750 4600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 4200 200 4200 1 0 0 { T 200 4250 5 8 1 1 0 6 1 pinnumber=19 T 200 4150 5 8 0 1 0 8 1 pinseq=7 T 350 4200 9 8 1 1 0 0 1 pinlabel=A3 T 350 4200 5 8 0 1 0 2 1 pintype=in } V 250 4200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 4200 1800 4200 1 0 0 { T 1800 4250 5 8 1 1 0 0 1 pinnumber=13 T 1800 4150 5 8 0 1 0 2 1 pinseq=8 T 1650 4200 9 8 1 1 0 6 1 pinlabel=F3 T 1650 4200 5 8 0 1 0 8 1 pintype=out } V 1750 4200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3800 200 3800 1 0 0 { T 200 3850 5 8 1 1 0 6 1 pinnumber=1 T 200 3750 5 8 0 1 0 8 1 pinseq=9 T 350 3800 9 8 1 1 0 0 1 pinlabel=B0 T 350 3800 5 8 0 1 0 2 1 pintype=in } V 250 3800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 3800 1700 3800 1 0 0 { T 1800 3850 5 8 1 1 0 0 1 pinnumber=16 T 1800 3750 5 8 0 1 0 2 1 pinseq=10 T 1650 3800 9 8 1 1 0 6 1 pinlabel=Cn+4 T 1650 3800 5 8 0 1 0 8 1 pintype=out } P 0 3400 200 3400 1 0 0 { T 200 3450 5 8 1 1 0 6 1 pinnumber=22 T 200 3350 5 8 0 1 0 8 1 pinseq=11 T 350 3400 9 8 1 1 0 0 1 pinlabel=B1 T 350 3400 5 8 0 1 0 2 1 pintype=in } V 250 3400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 3400 1700 3400 1 0 0 { T 1800 3450 5 8 1 1 0 0 1 pinnumber=14 T 1800 3350 5 8 0 1 0 2 1 pinseq=12 T 1650 3400 9 8 1 1 0 6 1 pinlabel=A = B T 1650 3400 5 8 0 1 0 8 1 pintype=oc } P 0 3000 200 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=20 T 200 2950 5 8 0 1 0 8 1 pinseq=13 T 350 3000 9 8 1 1 0 0 1 pinlabel=B2 T 350 3000 5 8 0 1 0 2 1 pintype=in } V 250 3000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 3000 1800 3000 1 0 0 { T 1800 3050 5 8 1 1 0 0 1 pinnumber=17 T 1800 2950 5 8 0 1 0 2 1 pinseq=14 T 1650 3000 9 8 1 1 0 6 1 pinlabel=G T 1650 3000 5 8 0 1 0 8 1 pintype=out } V 1750 3000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2600 200 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=18 T 200 2550 5 8 0 1 0 8 1 pinseq=15 T 350 2600 9 8 1 1 0 0 1 pinlabel=B3 T 350 2600 5 8 0 1 0 2 1 pintype=in } V 250 2600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 2600 1800 2600 1 0 0 { T 1800 2650 5 8 1 1 0 0 1 pinnumber=15 T 1800 2550 5 8 0 1 0 2 1 pinseq=16 T 1650 2600 9 8 1 1 0 6 1 pinlabel=P T 1650 2600 5 8 0 1 0 8 1 pintype=out } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=7 T 200 2150 5 8 0 1 0 8 1 pinseq=17 T 350 2200 9 8 1 1 0 0 1 pinlabel=Cn T 350 2200 5 8 0 1 0 2 1 pintype=in } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=8 T 200 1750 5 8 0 1 0 8 1 pinseq=18 T 350 1800 9 8 1 1 0 0 1 pinlabel=M T 350 1800 5 8 0 1 0 2 1 pintype=in } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=6 T 200 1350 5 8 0 1 0 8 1 pinseq=19 T 350 1400 9 8 1 1 0 0 1 pinlabel=S0 T 350 1400 5 8 0 1 0 2 1 pintype=in } P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=5 T 200 950 5 8 0 1 0 8 1 pinseq=20 T 350 1000 9 8 1 1 0 0 1 pinlabel=S1 T 350 1000 5 8 0 1 0 2 1 pintype=in } P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=4 T 200 550 5 8 0 1 0 8 1 pinseq=21 T 350 600 9 8 1 1 0 0 1 pinlabel=S2 T 350 600 5 8 0 1 0 2 1 pintype=in } P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=3 T 200 150 5 8 0 1 0 8 1 pinseq=22 T 350 200 9 8 1 1 0 0 1 pinlabel=S3 T 350 200 5 8 0 1 0 2 1 pintype=in } B 300 0 1400 5700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 6140 5 10 0 0 0 0 1 device=74181 T 300 5940 5 10 0 0 0 0 1 footprint=DIP24 T 1700 5800 8 10 1 1 0 6 1 refdes=U? T 300 6350 5 10 0 0 0 0 1 description=4-bit ALU/function generator T 300 6950 5 10 0 0 0 0 1 numslots=0 T 300 6550 5 10 0 0 0 0 1 net=Vcc:24 T 300 6750 5 10 0 0 0 0 1 net=GND:12 T 300 5740 9 10 1 0 0 0 1 74181 V 1750 2600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/74/74520-3.sym0000664000175000017500000000711712204104272013375 00000000000000v 20070626 1 T 300 4250 5 10 0 0 0 0 1 footprint=DIP20 B 300 0 1400 3800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4050 5 10 0 0 0 0 1 device=74520 T 1700 3900 8 10 1 1 0 6 1 refdes=U? V 250 3500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 3500 0 3500 1 0 1 { T 200 3550 5 8 1 1 0 6 1 pinnumber=1 T 200 3450 5 8 0 1 0 8 1 pinseq=1 T 350 3500 9 8 1 1 0 0 1 pinlabel=\_EN\_ T 350 3500 5 8 0 1 0 2 1 pintype=in } P 300 3100 0 3100 1 0 1 { T 200 3150 5 8 1 1 0 6 1 pinnumber=2 T 200 3050 5 8 0 1 0 8 1 pinseq=2 T 350 3100 9 8 1 1 0 0 1 pinlabel=A0 T 350 3100 5 8 0 1 0 2 1 pintype=in } P 300 2700 0 2700 1 0 1 { T 200 2750 5 8 1 1 0 6 1 pinnumber=4 T 200 2650 5 8 0 1 0 8 1 pinseq=3 T 350 2700 9 8 1 1 0 0 1 pinlabel=A1 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 300 2300 0 2300 1 0 1 { T 200 2350 5 8 1 1 0 6 1 pinnumber=6 T 200 2250 5 8 0 1 0 8 1 pinseq=4 T 350 2300 9 8 1 1 0 0 1 pinlabel=A2 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 300 1900 0 1900 1 0 1 { T 200 1950 5 8 1 1 0 6 1 pinnumber=8 T 200 1850 5 8 0 1 0 8 1 pinseq=5 T 350 1900 9 8 1 1 0 0 1 pinlabel=A3 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 300 1500 0 1500 1 0 1 { T 200 1550 5 8 1 1 0 6 1 pinnumber=11 T 200 1450 5 8 0 1 0 8 1 pinseq=6 T 350 1500 9 8 1 1 0 0 1 pinlabel=A4 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 300 1100 0 1100 1 0 1 { T 200 1150 5 8 1 1 0 6 1 pinnumber=13 T 200 1050 5 8 0 1 0 8 1 pinseq=7 T 350 1100 9 8 1 1 0 0 1 pinlabel=A5 T 350 1100 5 8 0 1 0 2 1 pintype=in } P 300 700 0 700 1 0 1 { T 200 750 5 8 1 1 0 6 1 pinnumber=15 T 200 650 5 8 0 1 0 8 1 pinseq=8 T 350 700 9 8 1 1 0 0 1 pinlabel=A6 T 350 700 5 8 0 1 0 2 1 pintype=in } P 300 300 0 300 1 0 1 { T 200 350 5 8 1 1 0 6 1 pinnumber=17 T 200 250 5 8 0 1 0 8 1 pinseq=9 T 350 300 9 8 1 1 0 0 1 pinlabel=A7 T 350 300 5 8 0 1 0 2 1 pintype=in } P 1700 3100 2000 3100 1 0 1 { T 1800 3150 5 8 1 1 0 0 1 pinnumber=3 T 1800 3050 5 8 0 1 0 2 1 pinseq=10 T 1650 3100 9 8 1 1 0 6 1 pinlabel=B0 T 1650 3100 5 8 0 1 0 8 1 pintype=in } P 1700 2700 2000 2700 1 0 1 { T 1800 2750 5 8 1 1 0 0 1 pinnumber=5 T 1800 2650 5 8 0 1 0 2 1 pinseq=11 T 1650 2700 9 8 1 1 0 6 1 pinlabel=B1 T 1650 2700 5 8 0 1 0 8 1 pintype=in } P 1700 2300 2000 2300 1 0 1 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=7 T 1800 2250 5 8 0 1 0 2 1 pinseq=12 T 1650 2300 9 8 1 1 0 6 1 pinlabel=B2 T 1650 2300 5 8 0 1 0 8 1 pintype=in } P 1700 1900 2000 1900 1 0 1 { T 1800 1950 5 8 1 1 0 0 1 pinnumber=9 T 1800 1850 5 8 0 1 0 2 1 pinseq=13 T 1650 1900 9 8 1 1 0 6 1 pinlabel=B3 T 1650 1900 5 8 0 1 0 8 1 pintype=in } P 1700 1500 2000 1500 1 0 1 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=12 T 1800 1450 5 8 0 1 0 2 1 pinseq=14 T 1650 1500 9 8 1 1 0 6 1 pinlabel=B4 T 1650 1500 5 8 0 1 0 8 1 pintype=in } P 1700 1100 2000 1100 1 0 1 { T 1800 1150 5 8 1 1 0 0 1 pinnumber=14 T 1800 1050 5 8 0 1 0 2 1 pinseq=15 T 1650 1100 9 8 1 1 0 6 1 pinlabel=B5 T 1650 1100 5 8 0 1 0 8 1 pintype=in } P 1700 700 2000 700 1 0 1 { T 1800 750 5 8 1 1 0 0 1 pinnumber=16 T 1800 650 5 8 0 1 0 2 1 pinseq=16 T 1650 700 9 8 1 1 0 6 1 pinlabel=B6 T 1650 700 5 8 0 1 0 8 1 pintype=in } P 1700 300 2000 300 1 0 1 { T 1800 350 5 8 1 1 0 0 1 pinnumber=18 T 1800 250 5 8 0 1 0 2 1 pinseq=17 T 1650 300 9 8 1 1 0 6 1 pinlabel=B7 T 1650 300 5 8 0 1 0 8 1 pintype=in } P 1800 3500 2000 3500 1 0 1 { T 1800 3550 5 8 1 1 0 0 1 pinnumber=19 T 1800 3450 5 8 0 1 0 2 1 pinseq=20 T 1650 3500 9 8 1 1 0 6 1 pinlabel=\_A=B\_ T 1650 3500 5 8 0 1 0 8 1 pintype=tp } T 300 4450 5 10 0 0 0 0 1 description=8-bit comparator with totem pole output V 1750 3500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4650 5 10 0 0 0 0 1 net=Vcc:20 T 300 4850 5 10 0 0 0 0 1 net=GND:10 T 305 3850 3 10 1 0 0 0 1 74520 T 300 5050 5 10 0 0 0 0 1 numslots=0 geda-gaf-1.8.2/symbols/74/7420-1.sym0000664000175000017500000000322312204104272013300 00000000000000v 20031231 1 L 300 300 300 900 3 0 0 0 -1 -1 L 300 900 700 900 3 0 0 0 -1 -1 T 600 1000 5 10 0 0 0 0 1 device=7420 T 600 1200 5 10 0 0 0 0 1 slot=1 T 600 1400 5 10 0 0 0 0 1 numslots=2 T 600 1600 5 10 0 0 0 0 1 slotdef=1:1,2,4,5,6 T 600 1800 5 10 0 0 0 0 1 slotdef=2:9,10,12,13,8 L 300 300 700 300 3 0 0 0 -1 -1 A 700 600 300 270 180 3 0 0 0 -1 -1 V 1050 600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 600 1300 600 1 0 1 { T 1100 650 5 8 1 1 0 0 1 pinnumber=6 T 1100 550 5 8 0 1 0 2 1 pinseq=5 T 950 600 9 8 0 1 0 6 1 pinlabel=Y T 950 600 5 8 0 1 0 8 1 pintype=out } P 300 100 0 100 1 0 1 { T 200 150 5 8 1 1 0 6 1 pinnumber=5 T 200 50 5 8 0 1 0 8 1 pinseq=4 T 350 100 9 8 0 1 0 0 1 pinlabel=D T 350 100 5 8 0 1 0 2 1 pintype=in } P 300 1100 0 1100 1 0 1 { T 200 1150 5 8 1 1 0 6 1 pinnumber=1 T 200 1050 5 8 0 1 0 8 1 pinseq=1 T 350 1100 9 8 0 1 0 0 1 pinlabel=A T 350 1100 5 8 0 1 0 2 1 pintype=in } P 300 800 0 800 1 0 1 { T 200 850 5 8 1 1 0 6 1 pinnumber=2 T 200 750 5 8 0 1 0 8 1 pinseq=2 T 350 800 9 8 0 1 0 0 1 pinlabel=B T 350 800 5 8 0 1 0 2 1 pintype=in } T 400 100 9 8 1 0 0 0 1 7420 L 300 300 300 100 3 0 0 0 -1 -1 L 300 1100 300 900 3 0 0 0 -1 -1 P 300 400 0 400 1 0 1 { T 200 450 5 8 1 1 0 6 1 pinnumber=4 T 200 350 5 8 0 1 0 8 1 pinseq=3 T 350 400 9 8 0 1 0 0 1 pinlabel=C T 350 400 5 8 0 1 0 2 1 pintype=in } L 300 1100 300 1200 3 0 0 0 -1 -1 L 300 0 300 100 3 0 0 0 -1 -1 T 400 1000 8 10 1 1 0 0 1 refdes=U? T 600 2000 5 10 0 0 0 0 1 footprint=DIP14 T 600 2200 5 10 0 0 0 0 1 description=2 NAND gates with 4 inputs T 600 2400 5 10 0 0 0 0 1 net=Vcc:14 T 600 2600 5 10 0 0 0 0 1 net=GND:7 T 600 2800 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc20.pdf geda-gaf-1.8.2/symbols/74/74182-1.sym0000664000175000017500000000660312204104272013376 00000000000000v 20031231 1 P 0 3800 300 3800 1 0 0 { T 200 3850 5 8 1 1 0 6 1 pinnumber=13 T 200 3750 5 8 0 1 0 8 1 pinseq=1 T 350 3800 9 8 1 1 0 0 1 pinlabel=Cn T 350 3800 5 8 0 1 0 2 1 pintype=in } P 2000 3800 1800 3800 1 0 0 { T 1800 3850 5 8 1 1 0 0 1 pinnumber=4 T 1800 3750 5 8 0 1 0 2 1 pinseq=2 T 1650 3800 9 8 1 1 0 6 1 pinlabel=P0 T 1650 3800 5 8 0 1 0 8 1 pintype=in } V 1750 3800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3400 300 3400 1 0 0 { T 200 3450 5 8 1 1 0 6 1 pinnumber=12 T 200 3350 5 8 0 1 0 8 1 pinseq=3 T 350 3400 9 8 1 1 0 0 1 pinlabel=Cn+x T 350 3400 5 8 0 1 0 2 1 pintype=out } P 2000 3400 1800 3400 1 0 0 { T 1800 3450 5 8 1 1 0 0 1 pinnumber=2 T 1800 3350 5 8 0 1 0 2 1 pinseq=4 T 1650 3400 9 8 1 1 0 6 1 pinlabel=P1 T 1650 3400 5 8 0 1 0 8 1 pintype=in } V 1750 3400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=11 T 200 2950 5 8 0 1 0 8 1 pinseq=5 T 350 3000 9 8 1 1 0 0 1 pinlabel=Cn+y T 350 3000 5 8 0 1 0 2 1 pintype=out } P 2000 3000 1800 3000 1 0 0 { T 1800 3050 5 8 1 1 0 0 1 pinnumber=15 T 1800 2950 5 8 0 1 0 2 1 pinseq=6 T 1650 3000 9 8 1 1 0 6 1 pinlabel=P2 T 1650 3000 5 8 0 1 0 8 1 pintype=in } V 1750 3000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=9 T 200 2550 5 8 0 1 0 8 1 pinseq=7 T 350 2600 9 8 1 1 0 0 1 pinlabel=Cn+z T 350 2600 5 8 0 1 0 2 1 pintype=out } P 2000 2600 1800 2600 1 0 0 { T 1800 2650 5 8 1 1 0 0 1 pinnumber=6 T 1800 2550 5 8 0 1 0 2 1 pinseq=8 T 1650 2600 9 8 1 1 0 6 1 pinlabel=P3 T 1650 2600 5 8 0 1 0 8 1 pintype=in } V 1750 2600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 2200 1800 2200 1 0 0 { T 1800 2250 5 8 1 1 0 0 1 pinnumber=7 T 1800 2150 5 8 0 1 0 2 1 pinseq=9 T 1650 2200 9 8 1 1 0 6 1 pinlabel=P T 1650 2200 5 8 0 1 0 8 1 pintype=out } V 1750 2200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 1800 1800 1800 1 0 0 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=3 T 1800 1750 5 8 0 1 0 2 1 pinseq=10 T 1650 1800 9 8 1 1 0 6 1 pinlabel=G0 T 1650 1800 5 8 0 1 0 8 1 pintype=in } V 1750 1800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 1400 1800 1400 1 0 0 { T 1800 1450 5 8 1 1 0 0 1 pinnumber=1 T 1800 1350 5 8 0 1 0 2 1 pinseq=11 T 1650 1400 9 8 1 1 0 6 1 pinlabel=G1 T 1650 1400 5 8 0 1 0 8 1 pintype=in } V 1750 1400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 1000 1800 1000 1 0 0 { T 1800 1050 5 8 1 1 0 0 1 pinnumber=14 T 1800 950 5 8 0 1 0 2 1 pinseq=12 T 1650 1000 9 8 1 1 0 6 1 pinlabel=G2 T 1650 1000 5 8 0 1 0 8 1 pintype=in } V 1750 1000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 600 1800 600 1 0 0 { T 1800 650 5 8 1 1 0 0 1 pinnumber=5 T 1800 550 5 8 0 1 0 2 1 pinseq=13 T 1650 600 9 8 1 1 0 6 1 pinlabel=G3 T 1650 600 5 8 0 1 0 8 1 pintype=in } V 1750 600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 200 1800 200 1 0 0 { T 1800 250 5 8 1 1 0 0 1 pinnumber=10 T 1800 150 5 8 0 1 0 2 1 pinseq=14 T 1650 200 9 8 1 1 0 6 1 pinlabel=G T 1650 200 5 8 0 1 0 8 1 pintype=out } B 300 0 1400 4100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4540 5 10 0 0 0 0 1 device=74182 T 300 4340 5 10 0 0 0 0 1 footprint=DIP16 T 1700 4200 8 10 1 1 0 6 1 refdes=U? T 300 4750 5 10 0 0 0 0 1 description=carry look-ahead generator T 300 5350 5 10 0 0 0 0 1 numslots=0 T 300 4950 5 10 0 0 0 0 1 net=Vcc:16 T 300 5150 5 10 0 0 0 0 1 net=GND:8 T 300 4140 9 10 1 0 0 0 1 74182 V 1750 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 5550 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/74HC_HCT182_CNV_2.pdf geda-gaf-1.8.2/symbols/74/7402-1.sym0000664000175000017500000000245512204104272013306 00000000000000v 20031231 1 L 260 200 600 200 3 0 0 0 -1 -1 L 260 800 600 800 3 0 0 0 -1 -1 T 600 900 5 10 0 0 0 0 1 device=7402 T 600 1100 5 10 0 0 0 0 1 slot=1 T 600 1300 5 10 0 0 0 0 1 numslots=4 T 600 1500 5 10 0 0 0 0 1 slotdef=1:1,2,3 T 600 1700 5 10 0 0 0 0 1 slotdef=2:4,5,6 T 600 1900 5 10 0 0 0 0 1 slotdef=3:10,8,9 T 600 2100 5 10 0 0 0 0 1 slotdef=4:13,11,12 T 300 0 9 8 1 0 0 0 1 7402 A 0 500 400 312 97 3 0 0 0 -1 -1 P 300 700 0 700 1 0 1 { T 200 750 5 8 1 1 0 6 1 pinnumber=3 T 200 650 5 8 0 1 0 8 1 pinseq=3 T 350 700 9 8 0 1 0 0 1 pinlabel=B T 350 700 5 8 0 1 0 2 1 pintype=in } P 300 300 0 300 1 0 1 { T 200 350 5 8 1 1 0 6 1 pinnumber=2 T 200 250 5 8 0 1 0 8 1 pinseq=2 T 350 300 9 8 0 1 0 0 1 pinlabel=A T 350 300 5 8 0 1 0 2 1 pintype=in } V 1038 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 500 1088 500 1 0 0 { T 1100 550 5 8 1 1 0 0 1 pinnumber=1 T 1100 450 5 8 0 1 0 2 1 pinseq=1 T 950 500 9 8 0 1 0 6 1 pinlabel=Y T 950 500 5 8 0 1 0 8 1 pintype=out } A 600 600 400 270 76 3 0 0 0 -1 -1 A 600 400 400 14 76 3 0 0 0 -1 -1 T 300 900 8 10 1 1 0 0 1 refdes=U? T 600 2300 5 10 0 0 0 0 1 footprint=DIP14 T 600 2500 5 10 0 0 0 0 1 description=4 NOR gates with 2 inputs T 600 2700 5 10 0 0 0 0 1 net=Vcc:14 T 600 2900 5 10 0 0 0 0 1 net=GND:7 T 600 3100 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc02.pdf geda-gaf-1.8.2/symbols/74/7411-2.sym0000664000175000017500000000316312204104272013304 00000000000000v 20031231 1 P 200 100 0 100 1 0 1 { T 200 150 5 8 1 1 0 6 1 pinnumber=13 T 200 50 5 8 0 1 0 8 1 pinseq=3 T 350 100 9 8 0 1 0 0 1 pinlabel=C T 350 100 5 8 0 1 0 2 1 pintype=in } P 200 900 0 900 1 0 1 { T 200 950 5 8 1 1 0 6 1 pinnumber=1 T 200 850 5 8 0 1 0 8 1 pinseq=1 T 350 900 9 8 0 1 0 0 1 pinlabel=A T 350 900 5 8 0 1 0 2 1 pintype=in } P 200 500 0 500 1 0 1 { T 200 550 5 8 1 1 0 6 1 pinnumber=2 T 200 450 5 8 0 1 0 8 1 pinseq=2 T 350 500 9 8 0 1 0 0 1 pinlabel=B T 350 500 5 8 0 1 0 2 1 pintype=in } T 400 0 9 8 1 0 0 0 1 7411 A 36 500 400 312 97 3 0 0 0 -1 -1 P 1090 500 1300 500 1 0 1 { T 1100 550 5 8 1 1 0 0 1 pinnumber=12 T 1100 450 5 8 0 1 0 2 1 pinseq=4 T 950 500 9 8 0 1 0 6 1 pinlabel=Y T 950 500 5 8 0 1 0 8 1 pintype=out } V 250 900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 300 200 600 200 3 0 0 0 -1 -1 L 300 800 600 800 3 0 0 0 -1 -1 T 600 900 5 10 0 0 0 0 1 device=7411 T 600 1100 5 10 0 0 0 0 1 slot=1 T 600 1300 5 10 0 0 0 0 1 numslots=3 T 600 1500 5 10 0 0 0 0 1 slotdef=1:1,2,13,12 T 600 1700 5 10 0 0 0 0 1 slotdef=2:3,4,5,6 T 600 1900 5 10 0 0 0 0 1 slotdef=3:9,10,11,8 A 600 600 400 270 76 3 0 0 0 -1 -1 A 600 400 400 14 76 3 0 0 0 -1 -1 L 300 0 300 200 3 0 0 0 -1 -1 L 300 1000 300 800 3 0 0 0 -1 -1 V 1039 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 900 8 10 1 1 0 0 1 refdes=U? T 600 2100 5 10 0 0 0 0 1 footprint=DIP14 T 600 2300 5 10 0 0 0 0 1 description=3 AND gates with 3 inputs T 600 2500 5 10 0 0 0 0 1 net=Vcc:14 T 600 2700 5 10 0 0 0 0 1 net=GND:7 T 600 2900 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc11.pdf geda-gaf-1.8.2/symbols/74/7430-1.sym0000664000175000017500000000425712204104272013311 00000000000000v 20031231 1 L 300 1400 300 2000 3 0 0 0 -1 -1 L 300 2000 700 2000 3 0 0 0 -1 -1 T 600 500 5 10 0 0 0 0 1 device=7430 L 300 1400 700 1400 3 0 0 0 -1 -1 A 700 1700 300 270 180 3 0 0 0 -1 -1 V 1050 1700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 1700 1300 1700 1 0 1 { T 1100 1750 5 8 1 1 0 0 1 pinnumber=8 T 1100 1650 5 8 0 1 0 2 1 pinseq=9 T 950 1700 9 8 0 1 0 6 1 pinlabel=Y T 950 1700 5 8 0 1 0 8 1 pintype=out } P 300 1300 0 1300 1 0 1 { T 200 1350 5 8 1 1 0 6 1 pinnumber=5 T 200 1250 5 8 0 1 0 8 1 pinseq=5 T 350 1300 9 8 0 1 0 0 1 pinlabel=E T 350 1300 5 8 0 1 0 2 1 pintype=in } P 300 2100 0 2100 1 0 1 { T 200 2150 5 8 1 1 0 6 1 pinnumber=3 T 200 2050 5 8 0 1 0 8 1 pinseq=3 T 350 2100 9 8 0 1 0 0 1 pinlabel=C T 350 2100 5 8 0 1 0 2 1 pintype=in } P 300 1700 0 1700 1 0 1 { T 200 1750 5 8 1 1 0 6 1 pinnumber=4 T 200 1650 5 8 0 1 0 8 1 pinseq=4 T 350 1700 9 8 0 1 0 0 1 pinlabel=D T 350 1700 5 8 0 1 0 2 1 pintype=in } T 400 1200 9 8 1 0 0 0 1 7430 L 300 1400 300 0 3 0 0 0 -1 -1 L 300 3000 300 2000 3 0 0 0 -1 -1 T 400 2100 8 10 1 1 0 0 1 refdes=U? P 300 900 0 900 1 0 1 { T 200 950 5 8 1 1 0 6 1 pinnumber=6 T 200 850 5 8 0 1 0 8 1 pinseq=6 T 350 900 9 8 0 1 0 0 1 pinlabel=F T 350 900 5 8 0 1 0 2 1 pintype=in } P 300 500 0 500 1 0 1 { T 200 550 5 8 1 1 0 6 1 pinnumber=11 T 200 450 5 8 0 1 0 8 1 pinseq=7 T 350 500 9 8 0 1 0 0 1 pinlabel=G T 350 500 5 8 0 1 0 2 1 pintype=in } P 300 100 0 100 1 0 1 { T 200 150 5 8 1 1 0 6 1 pinnumber=12 T 200 50 5 8 0 1 0 8 1 pinseq=8 T 350 100 9 8 0 1 0 0 1 pinlabel=H T 350 100 5 8 0 1 0 2 1 pintype=in } P 300 2500 0 2500 1 0 1 { T 200 2550 5 8 1 1 0 6 1 pinnumber=2 T 200 2450 5 8 0 1 0 8 1 pinseq=2 T 350 2500 9 8 0 1 0 0 1 pinlabel=B T 350 2500 5 8 0 1 0 2 1 pintype=in } P 300 2900 0 2900 1 0 1 { T 200 2950 5 8 1 1 0 6 1 pinnumber=1 T 200 2850 5 8 0 1 0 8 1 pinseq=1 T 350 2900 9 8 0 1 0 0 1 pinlabel=A T 350 2900 5 8 0 1 0 2 1 pintype=in } T 600 700 5 10 0 0 0 0 1 net=GND:7 T 600 900 5 10 0 0 0 0 1 net=Vcc:14 T 600 100 5 10 0 0 0 0 1 footprint=DIP14 T 600 300 5 10 0 0 0 0 1 description=NAND gate with 8 inputs T 600 1100 5 10 0 0 0 0 1 numslots=0 T 600 2100 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/74HC_HCT30_CNV_2.pdf geda-gaf-1.8.2/symbols/74/74190-1.sym0000664000175000017500000000617512204104272013401 00000000000000v 20070626 1 P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=15 T 200 2550 5 8 0 1 0 8 1 pinseq=1 T 350 2600 9 8 1 1 0 0 1 pinlabel=P0 T 350 2600 5 8 0 1 0 2 1 pintype=in } P 2000 2600 1700 2600 1 0 0 { T 1800 2650 5 8 1 1 0 0 1 pinnumber=5 T 1800 2550 5 8 0 1 0 2 1 pinseq=2 T 1650 2600 9 8 1 1 0 6 1 pinlabel=\_UP\_/DOWN T 1650 2600 5 8 0 1 0 8 1 pintype=in } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=1 T 200 2150 5 8 0 1 0 8 1 pinseq=3 T 350 2200 9 8 1 1 0 0 1 pinlabel=P1 T 350 2200 5 8 0 1 0 2 1 pintype=in } P 2000 2200 1700 2200 1 0 0 { T 1800 2250 5 8 1 1 0 0 1 pinnumber=3 T 1800 2150 5 8 0 1 0 2 1 pinseq=4 T 1650 2200 9 8 1 1 0 6 1 pinlabel=Q0 T 1650 2200 5 8 0 1 0 8 1 pintype=out } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=10 T 200 1750 5 8 0 1 0 8 1 pinseq=5 T 350 1800 9 8 1 1 0 0 1 pinlabel=P2 T 350 1800 5 8 0 1 0 2 1 pintype=in } P 2000 1800 1700 1800 1 0 0 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=2 T 1800 1750 5 8 0 1 0 2 1 pinseq=6 T 1650 1800 9 8 1 1 0 6 1 pinlabel=Q1 T 1650 1800 5 8 0 1 0 8 1 pintype=out } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=9 T 200 1350 5 8 0 1 0 8 1 pinseq=7 T 350 1400 9 8 1 1 0 0 1 pinlabel=P3 T 350 1400 5 8 0 1 0 2 1 pintype=in } P 2000 1400 1700 1400 1 0 0 { T 1800 1450 5 8 1 1 0 0 1 pinnumber=6 T 1800 1350 5 8 0 1 0 2 1 pinseq=8 T 1650 1400 9 8 1 1 0 6 1 pinlabel=Q2 T 1650 1400 5 8 0 1 0 8 1 pintype=out } P 0 1000 200 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=11 T 200 950 5 8 0 1 0 8 1 pinseq=9 T 350 1000 9 8 1 1 0 0 1 pinlabel=\_LOAD\_ T 350 1000 5 8 0 1 0 2 1 pintype=in } V 250 1000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 1000 1700 1000 1 0 0 { T 1800 1050 5 8 1 1 0 0 1 pinnumber=7 T 1800 950 5 8 0 1 0 2 1 pinseq=10 T 1650 1000 9 8 1 1 0 6 1 pinlabel=Q3 T 1650 1000 5 8 0 1 0 8 1 pintype=out } P 0 600 200 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=4 T 200 550 5 8 0 1 0 8 1 pinseq=11 T 350 600 9 8 1 1 0 0 1 pinlabel=\_CE\_ T 350 600 5 8 0 1 0 2 1 pintype=in } P 2000 600 1800 600 1 0 0 { T 1800 650 5 8 1 1 0 0 1 pinnumber=13 T 1800 550 5 8 0 1 0 2 1 pinseq=12 T 1650 600 9 8 1 1 0 6 1 pinlabel=\_RCO\_ T 1650 600 5 8 0 1 0 8 1 pintype=out } V 1750 600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=14 T 200 150 5 8 0 1 0 8 1 pinseq=13 T 375 200 9 8 1 1 0 0 1 pinlabel=CLK T 375 200 5 8 0 1 0 2 1 pintype=clk } P 2000 200 1700 200 1 0 0 { T 1800 250 5 8 1 1 0 0 1 pinnumber=12 T 1800 150 5 8 0 1 0 2 1 pinseq=14 T 1650 200 9 8 1 1 0 6 1 pinlabel=MAX T 1650 200 5 8 0 1 0 8 1 pintype=out } B 300 0 1400 2900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 3340 5 10 0 0 0 0 1 device=74190 T 300 3140 5 10 0 0 0 0 1 footprint=DIP16 T 1700 3000 8 10 1 1 0 6 1 refdes=U? T 300 3550 5 10 0 0 0 0 1 description=synchronous 4-bit BCD up/down counter T 300 4150 5 10 0 0 0 0 1 numslots=0 T 300 3750 5 10 0 0 0 0 1 net=Vcc:16 T 300 3950 5 10 0 0 0 0 1 net=GND:8 T 300 2940 9 10 1 0 0 0 1 74190 V 250 600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 375 200 300 250 3 0 0 0 -1 -1 L 375 200 300 150 3 0 0 0 -1 -1 T 300 4350 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/74HC_HCT190_CNV_2.pdf geda-gaf-1.8.2/symbols/74/7410-2.sym0000664000175000017500000000310612204104272013300 00000000000000v 20031231 1 P 200 100 0 100 1 0 1 { T 200 150 5 8 1 1 0 6 1 pinnumber=13 T 200 50 5 8 0 1 0 8 1 pinseq=3 T 350 100 9 8 0 1 0 0 1 pinlabel=C T 350 100 5 8 0 1 0 2 1 pintype=in } P 200 900 0 900 1 0 1 { T 200 950 5 8 1 1 0 6 1 pinnumber=1 T 200 850 5 8 0 1 0 8 1 pinseq=1 T 350 900 9 8 0 1 0 0 1 pinlabel=A T 350 900 5 8 0 1 0 2 1 pintype=in } P 200 500 0 500 1 0 1 { T 200 550 5 8 1 1 0 6 1 pinnumber=2 T 200 450 5 8 0 1 0 8 1 pinseq=2 T 350 500 9 8 0 1 0 0 1 pinlabel=B T 350 500 5 8 0 1 0 2 1 pintype=in } T 400 0 9 8 1 0 0 0 1 7410 A 36 500 400 312 97 3 0 0 0 -1 -1 P 990 500 1300 500 1 0 1 { T 1100 550 5 8 1 1 0 0 1 pinnumber=12 T 1100 450 5 8 0 1 0 2 1 pinseq=4 T 950 500 9 8 0 1 0 6 1 pinlabel=Y T 950 500 5 8 0 1 0 8 1 pintype=out } V 250 900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 300 200 600 200 3 0 0 0 -1 -1 L 300 800 600 800 3 0 0 0 -1 -1 T 600 900 5 10 0 0 0 0 1 device=7410 T 600 1100 5 10 0 0 0 0 1 slot=1 T 600 1300 5 10 0 0 0 0 1 numslots=3 T 600 1500 5 10 0 0 0 0 1 slotdef=1:1,2,13,12 T 600 1700 5 10 0 0 0 0 1 slotdef=2:3,4,5,6 T 600 1900 5 10 0 0 0 0 1 slotdef=3:9,10,11,8 A 600 600 400 270 76 3 0 0 0 -1 -1 A 600 400 400 14 76 3 0 0 0 -1 -1 L 300 0 300 200 3 0 0 0 -1 -1 L 300 1000 300 800 3 0 0 0 -1 -1 T 400 900 8 10 1 1 0 0 1 refdes=U? T 600 2100 5 10 0 0 0 0 1 footprint=DIP14 T 600 2300 5 10 0 0 0 0 1 description=3 NAND gates with 3 inputs T 600 2500 5 10 0 0 0 0 1 net=Vcc:14 T 600 2700 5 10 0 0 0 0 1 net=GND:7 T 600 2900 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc10.pdf geda-gaf-1.8.2/symbols/74/7474-3.sym0000664000175000017500000000333512204104272013317 00000000000000v 20070626 1 P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=2 T 200 1350 5 8 0 1 0 8 1 pinseq=1 T 350 1400 9 8 1 1 0 0 1 pinlabel=D T 350 1400 5 8 0 1 0 2 1 pintype=in } P 2000 1400 1700 1400 1 0 0 { T 1800 1450 5 8 1 1 0 0 1 pinnumber=5 T 1800 1350 5 8 0 1 0 2 1 pinseq=2 T 1650 1400 9 8 1 1 0 6 1 pinlabel=Q T 1650 1400 5 8 0 1 0 8 1 pintype=out } P 0 1000 200 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=1 T 200 950 5 8 0 1 0 8 1 pinseq=3 T 350 1000 9 8 1 1 0 0 1 pinlabel=\_CLR\_ T 350 1000 5 8 0 1 0 2 1 pintype=in } V 250 1000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 1000 1800 1000 1 0 0 { T 1800 1050 5 8 1 1 0 0 1 pinnumber=6 T 1800 950 5 8 0 1 0 2 1 pinseq=4 T 1650 1000 9 8 1 1 0 6 1 pinlabel=\_Q\_ T 1650 1000 5 8 0 1 0 8 1 pintype=out } P 0 600 200 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=4 T 200 550 5 8 0 1 0 8 1 pinseq=5 T 350 600 9 8 1 1 0 0 1 pinlabel=\_PRE\_ T 350 600 5 8 0 1 0 2 1 pintype=in } V 250 600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=3 T 200 150 5 8 0 1 0 8 1 pinseq=6 T 375 200 9 8 1 1 0 0 1 pinlabel=CLK T 375 200 5 8 0 1 0 2 1 pintype=clk } V 1750 1000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 300 0 1400 1700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2100 1600 8 10 0 0 0 0 1 footprint=DIP14 T 2100 1000 8 10 0 0 0 0 1 numslots=2 T 2100 1200 8 10 0 0 0 0 1 slotdef=1:2,5,1,6,4,3 T 2100 1400 8 10 0 0 0 0 1 slotdef=2:12,9,13,8,10,11 T 1700 1800 8 10 1 1 0 6 1 refdes=U? T 2100 1800 8 10 0 0 0 0 1 description=2 D-flip-flops with preset and clear L 300 250 375 200 3 0 0 0 -1 -1 L 375 200 300 150 3 0 0 0 -1 -1 T 2100 800 8 10 0 0 0 0 1 slot=1 T 2100 2000 8 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc74.pdf T 300 1800 8 10 1 1 0 0 1 device=7474 geda-gaf-1.8.2/symbols/74/74367-1.sym0000664000175000017500000000574512204104272013411 00000000000000v 20070626 1 P 300 1600 0 1600 1 0 1 { T 200 1650 5 8 1 1 0 6 1 pinnumber=6 T 200 1550 5 8 0 1 0 8 1 pinseq=5 T 350 1600 9 8 1 1 0 0 1 pinlabel=A3 T 350 1600 5 8 0 1 0 2 1 pintype=in } P 300 1300 0 1300 1 0 1 { T 200 1350 5 8 1 1 0 6 1 pinnumber=10 T 200 1250 5 8 0 1 0 8 1 pinseq=7 T 350 1300 9 8 1 1 0 0 1 pinlabel=A4 T 350 1300 5 8 0 1 0 2 1 pintype=in } P 300 700 0 700 1 0 1 { T 200 750 5 8 1 1 0 6 1 pinnumber=12 T 200 650 5 8 0 1 0 8 1 pinseq=10 T 350 700 9 8 1 1 0 0 1 pinlabel=A5 T 350 700 5 8 0 1 0 2 1 pintype=in } P 300 400 0 400 1 0 1 { T 200 450 5 8 1 1 0 6 1 pinnumber=14 T 200 350 5 8 0 1 0 8 1 pinseq=12 T 350 400 9 8 1 1 0 0 1 pinlabel=A6 T 350 400 5 8 0 1 0 2 1 pintype=in } P 1300 1900 1600 1900 1 0 1 { T 1400 1950 5 8 1 1 0 0 1 pinnumber=5 T 1400 1850 5 8 0 1 0 2 1 pinseq=4 T 1250 1900 9 8 1 1 0 6 1 pinlabel=Y2 T 1250 1900 5 8 0 1 0 8 1 pintype=tri } P 1300 1600 1600 1600 1 0 1 { T 1400 1650 5 8 1 1 0 0 1 pinnumber=7 T 1400 1550 5 8 0 1 0 2 1 pinseq=6 T 1250 1600 9 8 1 1 0 6 1 pinlabel=Y3 T 1250 1600 5 8 0 1 0 8 1 pintype=tri } P 1300 1300 1600 1300 1 0 1 { T 1400 1350 5 8 1 1 0 0 1 pinnumber=9 T 1400 1250 5 8 0 1 0 2 1 pinseq=8 T 1250 1300 9 8 1 1 0 6 1 pinlabel=Y4 T 1250 1300 5 8 0 1 0 8 1 pintype=tri } P 1300 700 1600 700 1 0 1 { T 1400 750 5 8 1 1 0 0 1 pinnumber=11 T 1400 650 5 8 0 1 0 2 1 pinseq=11 T 1250 700 9 8 1 1 0 6 1 pinlabel=Y5 T 1250 700 5 8 0 1 0 8 1 pintype=tri } P 1300 400 1600 400 1 0 1 { T 1400 450 5 8 1 1 0 0 1 pinnumber=13 T 1400 350 5 8 0 1 0 2 1 pinseq=13 T 1250 400 9 8 1 1 0 6 1 pinlabel=Y6 T 1250 400 5 8 0 1 0 8 1 pintype=tri } B 300 0 1000 2400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 2650 5 10 0 0 0 0 1 device=74367 P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=2 T 200 2150 5 8 0 1 0 8 1 pinseq=1 T 350 2200 9 8 1 1 0 0 1 pinlabel=A1 T 350 2200 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=4 T 200 1850 5 8 0 1 0 8 1 pinseq=3 T 350 1900 9 8 1 1 0 0 1 pinlabel=A2 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 1300 2200 1600 2200 1 0 1 { T 1400 2250 5 8 1 1 0 0 1 pinnumber=3 T 1400 2150 5 8 0 1 0 2 1 pinseq=2 T 1250 2200 9 8 1 1 0 6 1 pinlabel=Y1 T 1250 2200 5 8 0 1 0 8 1 pintype=tri } P 0 1000 200 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=1 T 200 950 5 8 0 1 0 8 1 pinseq=9 T 350 1000 9 8 1 1 0 0 1 pinlabel=\_G1\_ T 350 1000 5 8 0 1 0 2 1 pintype=in } V 250 1000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 100 200 100 1 0 0 { T 200 150 5 8 1 1 0 6 1 pinnumber=15 T 200 50 5 8 0 1 0 8 1 pinseq=14 T 350 100 9 8 1 1 0 0 1 pinlabel=\_G2\_ T 350 100 5 8 0 1 0 2 1 pintype=in } V 250 100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 300 900 1300 900 3 0 0 0 -1 -1 T 1300 2500 8 10 1 1 0 6 1 refdes=U? T 300 2850 5 10 0 0 0 0 1 footprint=DIP16 T 300 3050 5 10 0 0 0 0 1 description=hex buffer/line driver (tristate) T 300 3650 5 10 0 0 0 0 1 numslots=0 T 300 3250 5 10 0 0 0 0 1 net=Vcc:16 T 300 3450 5 10 0 0 0 0 1 net=GND:8 T 300 2450 9 10 1 0 0 0 1 74367 T 300 3850 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc367.pdf geda-gaf-1.8.2/symbols/74/7404-4.sym0000664000175000017500000000216712204104272013313 00000000000000v 20041228 1 L 300 800 800 500 3 0 0 0 -1 -1 T 300 0 8 10 1 1 0 0 1 device=7404 T 600 1100 8 10 0 0 0 0 1 slot=1 T 600 1300 8 10 0 0 0 0 1 numslots=6 T 600 1500 8 10 0 0 0 0 1 slotdef=1:1,2 T 600 1700 8 10 0 0 0 0 1 slotdef=2:3,4 T 600 1900 8 10 0 0 0 0 1 slotdef=3:5,6 T 600 2100 8 10 0 0 0 0 1 slotdef=4:9,8 T 600 2300 8 10 0 0 0 0 1 slotdef=5:11,10 T 600 2500 8 10 0 0 0 0 1 slotdef=6:13,12 L 800 500 300 200 3 0 0 0 -1 -1 L 300 800 300 500 3 0 0 0 -1 -1 L 300 500 300 200 3 0 0 0 -1 -1 V 850 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 300 500 0 500 1 0 1 { T 200 550 5 8 1 1 0 6 1 pinnumber=1 T 200 450 5 8 0 1 0 8 1 pinseq=1 T 350 500 9 8 0 1 0 0 1 pinlabel=A T 350 500 5 8 0 1 0 2 1 pintype=in } P 1100 500 900 500 1 0 0 { T 900 550 5 8 1 1 0 0 1 pinnumber=2 T 900 450 5 8 0 1 0 2 1 pinseq=2 T 750 500 9 8 0 1 0 6 1 pinlabel=Y T 750 500 5 8 0 1 0 8 1 pintype=out } T 300 900 8 10 1 1 0 0 1 refdes=U? T 600 2900 8 10 0 0 0 0 1 pins=14 T 600 2700 8 10 0 0 0 0 1 class=IC T 600 3100 8 10 0 0 0 0 1 footprint=DIP14 T 600 3300 8 10 0 0 0 0 1 description=6 NOT gates T 600 3500 8 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc04.pdf geda-gaf-1.8.2/symbols/74/74154-1.sym0000664000175000017500000001223612204104272013374 00000000000000v 20031231 1 P 1800 4700 2000 4700 1 0 1 { T 1800 4750 5 8 1 1 0 0 1 pinnumber=1 T 1800 4650 5 8 0 1 0 2 1 pinseq=1 T 1650 4700 9 8 1 1 0 6 1 pinlabel=Y0 T 1650 4700 5 8 0 1 0 8 1 pintype=out } P 1800 4400 2000 4400 1 0 1 { T 1800 4450 5 8 1 1 0 0 1 pinnumber=2 T 1800 4350 5 8 0 1 0 2 1 pinseq=2 T 1650 4400 9 8 1 1 0 6 1 pinlabel=Y1 T 1650 4400 5 8 0 1 0 8 1 pintype=out } P 1800 4100 2000 4100 1 0 1 { T 1800 4150 5 8 1 1 0 0 1 pinnumber=3 T 1800 4050 5 8 0 1 0 2 1 pinseq=3 T 1650 4100 9 8 1 1 0 6 1 pinlabel=Y2 T 1650 4100 5 8 0 1 0 8 1 pintype=out } P 1800 3800 2000 3800 1 0 1 { T 1800 3850 5 8 1 1 0 0 1 pinnumber=4 T 1800 3750 5 8 0 1 0 2 1 pinseq=4 T 1650 3800 9 8 1 1 0 6 1 pinlabel=Y3 T 1650 3800 5 8 0 1 0 8 1 pintype=out } P 1800 3500 2000 3500 1 0 1 { T 1800 3550 5 8 1 1 0 0 1 pinnumber=5 T 1800 3450 5 8 0 1 0 2 1 pinseq=5 T 1650 3500 9 8 1 1 0 6 1 pinlabel=Y4 T 1650 3500 5 8 0 1 0 8 1 pintype=out } P 1800 3200 2000 3200 1 0 1 { T 1800 3250 5 8 1 1 0 0 1 pinnumber=6 T 1800 3150 5 8 0 1 0 2 1 pinseq=6 T 1650 3200 9 8 1 1 0 6 1 pinlabel=Y5 T 1650 3200 5 8 0 1 0 8 1 pintype=out } P 1800 2900 2000 2900 1 0 1 { T 1800 2950 5 8 1 1 0 0 1 pinnumber=7 T 1800 2850 5 8 0 1 0 2 1 pinseq=7 T 1650 2900 9 8 1 1 0 6 1 pinlabel=Y6 T 1650 2900 5 8 0 1 0 8 1 pintype=out } P 1800 2600 2000 2600 1 0 1 { T 1800 2650 5 8 1 1 0 0 1 pinnumber=8 T 1800 2550 5 8 0 1 0 2 1 pinseq=8 T 1650 2600 9 8 1 1 0 6 1 pinlabel=Y7 T 1650 2600 5 8 0 1 0 8 1 pintype=out } P 1800 2300 2000 2300 1 0 1 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=9 T 1800 2250 5 8 0 1 0 2 1 pinseq=9 T 1650 2300 9 8 1 1 0 6 1 pinlabel=Y8 T 1650 2300 5 8 0 1 0 8 1 pintype=out } P 1800 2000 2000 2000 1 0 1 { T 1800 2050 5 8 1 1 0 0 1 pinnumber=10 T 1800 1950 5 8 0 1 0 2 1 pinseq=10 T 1650 2000 9 8 1 1 0 6 1 pinlabel=Y9 T 1650 2000 5 8 0 1 0 8 1 pintype=out } P 1800 1700 2000 1700 1 0 1 { T 1800 1750 5 8 1 1 0 0 1 pinnumber=11 T 1800 1650 5 8 0 1 0 2 1 pinseq=11 T 1650 1700 9 8 1 1 0 6 1 pinlabel=Y10 T 1650 1700 5 8 0 1 0 8 1 pintype=out } P 0 4700 300 4700 1 0 0 { T 200 4750 5 8 1 1 0 6 1 pinnumber=23 T 200 4650 5 8 0 1 0 8 1 pinseq=23 T 350 4700 9 8 1 1 0 0 1 pinlabel=A_SEL T 350 4700 5 8 0 1 0 2 1 pintype=in } P 0 4400 300 4400 1 0 0 { T 200 4450 5 8 1 1 0 6 1 pinnumber=22 T 200 4350 5 8 0 1 0 8 1 pinseq=22 T 350 4400 9 8 1 1 0 0 1 pinlabel=B_SEL T 350 4400 5 8 0 1 0 2 1 pintype=in } P 0 4100 300 4100 1 0 0 { T 200 4150 5 8 1 1 0 6 1 pinnumber=21 T 200 4050 5 8 0 1 0 8 1 pinseq=21 T 350 4100 9 8 1 1 0 0 1 pinlabel=C_SEL T 350 4100 5 8 0 1 0 2 1 pintype=in } P 0 3800 300 3800 1 0 0 { T 200 3850 5 8 1 1 0 6 1 pinnumber=20 T 200 3750 5 8 0 1 0 8 1 pinseq=20 T 350 3800 9 8 1 1 0 0 1 pinlabel=D_SEL T 350 3800 5 8 0 1 0 2 1 pintype=in } P 0 500 200 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=19 T 200 450 5 8 0 1 0 8 1 pinseq=19 T 350 500 9 8 1 1 0 0 1 pinlabel=G2 T 350 500 5 8 0 1 0 2 1 pintype=in } P 0 200 200 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=18 T 200 150 5 8 0 1 0 8 1 pinseq=18 T 350 200 9 8 1 1 0 0 1 pinlabel=G1 T 350 200 5 8 0 1 0 2 1 pintype=in } P 1800 200 2000 200 1 0 1 { T 1800 250 5 8 1 1 0 0 1 pinnumber=17 T 1800 150 5 8 0 1 0 2 1 pinseq=17 T 1650 200 9 8 1 1 0 6 1 pinlabel=Y15 T 1650 200 5 8 0 1 0 8 1 pintype=out } P 1800 500 2000 500 1 0 1 { T 1800 550 5 8 1 1 0 0 1 pinnumber=16 T 1800 450 5 8 0 1 0 2 1 pinseq=16 T 1650 500 9 8 1 1 0 6 1 pinlabel=Y14 T 1650 500 5 8 0 1 0 8 1 pintype=out } P 1800 800 2000 800 1 0 1 { T 1800 850 5 8 1 1 0 0 1 pinnumber=15 T 1800 750 5 8 0 1 0 2 1 pinseq=15 T 1650 800 9 8 1 1 0 6 1 pinlabel=Y13 T 1650 800 5 8 0 1 0 8 1 pintype=out } P 1800 1100 2000 1100 1 0 1 { T 1800 1150 5 8 1 1 0 0 1 pinnumber=14 T 1800 1050 5 8 0 1 0 2 1 pinseq=14 T 1650 1100 9 8 1 1 0 6 1 pinlabel=Y12 T 1650 1100 5 8 0 1 0 8 1 pintype=out } P 1800 1400 2000 1400 1 0 1 { T 1800 1450 5 8 1 1 0 0 1 pinnumber=13 T 1800 1350 5 8 0 1 0 2 1 pinseq=13 T 1650 1400 9 8 1 1 0 6 1 pinlabel=Y11 T 1650 1400 5 8 0 1 0 8 1 pintype=out } B 300 0 1400 5000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 5250 5 10 0 0 0 0 1 device=74154 T 1700 5100 8 10 1 1 0 6 1 refdes=U? T 300 5450 5 10 0 0 0 0 1 footprint=DIP24 T 300 5650 5 10 0 0 0 0 1 description=4-bit binary decoder/demultiplexer T 300 6250 5 10 0 0 0 0 1 numslots=0 T 300 5850 5 10 0 0 0 0 1 net=Vcc:24 T 300 6050 5 10 0 0 0 0 1 net=GND:12 T 300 5050 9 10 1 0 0 0 1 74154 V 1750 4700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1750 4400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1750 4100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1750 3800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1750 3500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1750 3200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1750 2900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1750 2600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1750 2300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1750 2000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1750 1700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1750 1400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1750 1100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1750 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1750 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1750 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 6450 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/74HC_HCT154_CNV_2.pdf geda-gaf-1.8.2/symbols/74/7454-1.sym0000664000175000017500000000745512204104272013322 00000000000000v 20031231 1 P 0 5000 300 5000 1 0 0 { T 200 5050 5 8 1 1 0 6 1 pinnumber=1 T 200 4950 5 8 0 1 0 8 1 pinseq=1 T 350 5000 9 8 1 1 0 0 1 pinlabel=1A T 350 5000 5 8 0 1 0 2 1 pintype=in } P 2000 5000 1800 5000 1 0 0 { T 1800 5050 5 8 1 1 0 0 1 pinnumber=6 T 1800 4950 5 8 0 1 0 2 1 pinseq=2 T 1650 5000 9 8 1 1 0 6 1 pinlabel=Y T 1650 5000 5 8 0 1 0 8 1 pintype=out } V 1750 5000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 4600 300 4600 1 0 0 { T 200 4650 5 8 1 1 0 6 1 pinnumber=2 T 200 4550 5 8 0 1 0 8 1 pinseq=3 T 350 4600 9 8 1 1 0 0 1 pinlabel=1B T 350 4600 5 8 0 1 0 2 1 pintype=in } P 0 3800 300 3800 1 0 0 { T 200 3850 5 8 1 1 0 6 1 pinnumber=13 T 200 3750 5 8 0 1 0 8 1 pinseq=4 T 350 3800 9 8 1 1 0 0 1 pinlabel=2A T 350 3800 5 8 0 1 0 2 1 pintype=in } P 0 3400 300 3400 1 0 0 { T 200 3450 5 8 1 1 0 6 1 pinnumber=12 T 200 3350 5 8 0 1 0 8 1 pinseq=5 T 350 3400 9 8 1 1 0 0 1 pinlabel=2B T 350 3400 5 8 0 1 0 2 1 pintype=in } P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=3 T 200 2550 5 8 0 1 0 8 1 pinseq=6 T 350 2600 9 8 1 1 0 0 1 pinlabel=3A T 350 2600 5 8 0 1 0 2 1 pintype=in } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=4 T 200 2150 5 8 0 1 0 8 1 pinseq=7 T 350 2200 9 8 1 1 0 0 1 pinlabel=3B T 350 2200 5 8 0 1 0 2 1 pintype=in } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=5 T 200 1750 5 8 0 1 0 8 1 pinseq=8 T 350 1800 9 8 1 1 0 0 1 pinlabel=3C T 350 1800 5 8 0 1 0 2 1 pintype=in } P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=11 T 200 950 5 8 0 1 0 8 1 pinseq=9 T 350 1000 9 8 1 1 0 0 1 pinlabel=4A T 350 1000 5 8 0 1 0 2 1 pintype=in } P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=10 T 200 550 5 8 0 1 0 8 1 pinseq=10 T 350 600 9 8 1 1 0 0 1 pinlabel=4B T 350 600 5 8 0 1 0 2 1 pintype=in } P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=9 T 200 150 5 8 0 1 0 8 1 pinseq=11 T 350 200 9 8 1 1 0 0 1 pinlabel=4C T 350 200 5 8 0 1 0 2 1 pintype=in } B 300 0 1400 5300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 5740 5 10 0 0 0 0 1 device=7454 T 300 5540 5 10 0 0 0 0 1 footprint=DIP14 T 1700 5400 8 10 1 1 0 6 1 refdes=U? T 300 5950 5 10 0 0 0 0 1 description=combined AND/NOR gates T 300 6150 5 10 0 0 0 0 1 net=Vcc:14 T 300 6350 5 10 0 0 0 0 1 net=GND:7 T 300 6550 5 10 0 0 0 0 1 comment=Attention: one some devices pins 11 and 12 are not connected T 300 5340 9 10 1 0 0 0 1 7454 L 700 2500 700 1900 3 0 0 0 -1 -1 L 600 2400 700 2400 3 0 0 0 -1 -1 L 600 2200 700 2200 3 0 0 0 -1 -1 L 600 2000 700 2000 3 0 0 0 -1 -1 L 700 2300 900 2300 3 0 0 0 -1 -1 L 700 2100 900 2100 3 0 0 0 -1 -1 A 900 2200 101 271 178 3 0 0 0 -1 -1 L 1000 2200 1100 2200 3 0 0 0 -1 -1 L 710 4930 710 4730 3 0 0 0 -1 -1 L 610 4900 710 4900 3 0 0 0 -1 -1 L 610 4760 710 4760 3 0 0 0 -1 -1 L 710 4930 910 4930 3 0 0 0 -1 -1 L 710 4730 910 4730 3 0 0 0 -1 -1 A 910 4830 101 271 178 3 0 0 0 -1 -1 L 1010 4830 1110 4830 3 0 0 0 -1 -1 L 1010 3030 1150 3030 3 0 0 0 -1 -1 L 1010 2970 1150 2970 3 0 0 0 -1 -1 A 1010 3000 146 300 120 3 0 0 0 -1 -1 L 1080 3130 1210 3130 3 0 0 0 -1 -1 L 1080 2870 1210 2870 3 0 0 0 -1 -1 A 1210 3130 260 270 60 3 0 0 0 -1 -1 A 1210 2870 260 30 60 3 0 0 0 -1 -1 V 1460 3000 20 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 710 3730 710 3530 3 0 0 0 -1 -1 L 610 3700 710 3700 3 0 0 0 -1 -1 L 610 3560 710 3560 3 0 0 0 -1 -1 L 710 3730 910 3730 3 0 0 0 -1 -1 L 710 3530 910 3530 3 0 0 0 -1 -1 A 910 3630 101 271 178 3 0 0 0 -1 -1 L 1010 3630 1110 3630 3 0 0 0 -1 -1 L 700 900 700 300 3 0 0 0 -1 -1 L 600 800 700 800 3 0 0 0 -1 -1 L 600 600 700 600 3 0 0 0 -1 -1 L 600 400 700 400 3 0 0 0 -1 -1 L 700 700 900 700 3 0 0 0 -1 -1 L 700 500 900 500 3 0 0 0 -1 -1 A 900 600 101 271 178 3 0 0 0 -1 -1 L 1000 600 1100 600 3 0 0 0 -1 -1 L 1480 3000 1550 3000 3 0 0 0 -1 -1 L 1520 3000 1530 3000 3 0 0 0 -1 -1 L 1010 2920 1130 2920 3 0 0 0 -1 -1 L 1010 3080 1130 3080 3 0 0 0 -1 -1 T 300 6750 5 10 0 0 0 0 1 numslots=0 geda-gaf-1.8.2/symbols/74/7486-1.sym0000664000175000017500000000244312204104272013317 00000000000000v 20031231 1 L 260 200 600 200 3 0 0 0 -1 -1 L 260 800 600 800 3 0 0 0 -1 -1 T 700 900 5 10 0 0 0 0 1 device=7486 T 700 1100 5 10 0 0 0 0 1 slot=1 T 700 1300 5 10 0 0 0 0 1 numslots=4 T 700 1500 5 10 0 0 0 0 1 slotdef=1:1,2,3 T 700 1700 5 10 0 0 0 0 1 slotdef=2:4,5,6 T 700 1900 5 10 0 0 0 0 1 slotdef=3:9,10,8 T 700 2100 5 10 0 0 0 0 1 slotdef=4:12,13,11 A 0 500 400 312 97 3 0 0 0 -1 -1 A -100 500 400 312 97 3 0 0 0 -1 -1 P 300 700 0 700 1 0 1 { T 150 750 5 8 1 1 0 6 1 pinnumber=1 T 150 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 0 1 0 0 1 pinlabel=A T 350 700 5 8 0 1 0 2 1 pintype=in } P 300 300 0 300 1 0 1 { T 150 350 5 8 1 1 0 6 1 pinnumber=2 T 150 250 5 8 0 1 0 8 1 pinseq=2 T 350 300 9 8 0 1 0 0 1 pinlabel=B T 350 300 5 8 0 1 0 2 1 pintype=in } P 988 500 1300 500 1 0 1 { T 1100 550 5 8 1 1 0 0 1 pinnumber=3 T 1100 450 5 8 0 1 0 2 1 pinseq=3 T 950 500 9 8 0 1 0 6 1 pinlabel=Y T 950 500 5 8 0 1 0 8 1 pintype=out } A 600 600 400 270 76 3 0 0 0 -1 -1 A 600 400 400 14 76 3 0 0 0 -1 -1 T 300 900 8 10 1 1 0 0 1 refdes=U? T 700 2300 5 10 0 0 0 0 1 footprint=DIP14 T 700 2500 5 10 0 0 0 0 1 description=4 XOR gates with 2 inputs T 700 2700 5 10 0 0 0 0 1 net=Vcc:14 T 700 2900 5 10 0 0 0 0 1 net=GND:7 T 300 0 9 8 1 0 0 0 1 7486 T 700 3100 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc86.pdf geda-gaf-1.8.2/symbols/74/74138-1.sym0000664000175000017500000000646112204104272013401 00000000000000v 20031231 1 P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=1 T 200 2250 5 8 0 1 0 8 1 pinseq=1 T 350 2300 9 8 1 1 0 0 1 pinlabel=A T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2000 300 2000 1 0 0 { T 200 2050 5 8 1 1 0 6 1 pinnumber=2 T 200 1950 5 8 0 1 0 8 1 pinseq=2 T 350 2000 9 8 1 1 0 0 1 pinlabel=B T 350 2000 5 8 0 1 0 2 1 pintype=in } P 0 1700 300 1700 1 0 0 { T 200 1750 5 8 1 1 0 6 1 pinnumber=3 T 200 1650 5 8 0 1 0 8 1 pinseq=3 T 350 1700 9 8 1 1 0 0 1 pinlabel=C T 350 1700 5 8 0 1 0 2 1 pintype=in } V 250 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 500 200 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=4 T 200 450 5 8 0 1 0 8 1 pinseq=4 T 350 500 9 8 1 1 0 0 1 pinlabel=G2A T 350 500 5 8 0 1 0 2 1 pintype=in } V 250 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 200 200 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=5 T 200 150 5 8 0 1 0 8 1 pinseq=5 T 350 200 9 8 1 1 0 0 1 pinlabel=G2B T 350 200 5 8 0 1 0 2 1 pintype=in } P 0 800 300 800 1 0 0 { T 200 850 5 8 1 1 0 6 1 pinnumber=6 T 200 750 5 8 0 1 0 8 1 pinseq=6 T 350 800 9 8 1 1 0 0 1 pinlabel=G1 T 350 800 5 8 0 1 0 2 1 pintype=in } V 1750 2300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1800 2300 2000 2300 1 0 1 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=15 T 1800 2250 5 8 0 1 0 2 1 pinseq=15 T 1650 2300 9 8 1 1 0 6 1 pinlabel=Y0 T 1650 2300 5 8 0 1 0 8 1 pintype=out } V 1750 2000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1800 2000 2000 2000 1 0 1 { T 1800 2050 5 8 1 1 0 0 1 pinnumber=14 T 1800 1950 5 8 0 1 0 2 1 pinseq=14 T 1650 2000 9 8 1 1 0 6 1 pinlabel=Y1 T 1650 2000 5 8 0 1 0 8 1 pintype=out } V 1750 1700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1800 1700 2000 1700 1 0 1 { T 1800 1750 5 8 1 1 0 0 1 pinnumber=13 T 1800 1650 5 8 0 1 0 2 1 pinseq=13 T 1650 1700 9 8 1 1 0 6 1 pinlabel=Y2 T 1650 1700 5 8 0 1 0 8 1 pintype=out } V 1750 1400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1800 1400 2000 1400 1 0 1 { T 1800 1450 5 8 1 1 0 0 1 pinnumber=12 T 1800 1350 5 8 0 1 0 2 1 pinseq=12 T 1650 1400 9 8 1 1 0 6 1 pinlabel=Y3 T 1650 1400 5 8 0 1 0 8 1 pintype=out } V 1750 1100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1800 1100 2000 1100 1 0 1 { T 1800 1150 5 8 1 1 0 0 1 pinnumber=11 T 1800 1050 5 8 0 1 0 2 1 pinseq=11 T 1650 1100 9 8 1 1 0 6 1 pinlabel=Y4 T 1650 1100 5 8 0 1 0 8 1 pintype=out } V 1750 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1800 800 2000 800 1 0 1 { T 1800 850 5 8 1 1 0 0 1 pinnumber=10 T 1800 750 5 8 0 1 0 2 1 pinseq=10 T 1650 800 9 8 1 1 0 6 1 pinlabel=Y5 T 1650 800 5 8 0 1 0 8 1 pintype=out } V 1750 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1800 500 2000 500 1 0 1 { T 1800 550 5 8 1 1 0 0 1 pinnumber=9 T 1800 450 5 8 0 1 0 2 1 pinseq=9 T 1650 500 9 8 1 1 0 6 1 pinlabel=Y6 T 1650 500 5 8 0 1 0 8 1 pintype=out } P 1800 200 2000 200 1 0 1 { T 1800 250 5 8 1 1 0 0 1 pinnumber=7 T 1800 150 5 8 0 1 0 2 1 pinseq=7 T 1650 200 9 8 1 1 0 6 1 pinlabel=Y7 T 1650 200 5 8 0 1 0 8 1 pintype=out } V 1750 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 300 0 1400 2600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 2850 5 10 0 0 0 0 1 device=74138 T 1700 2700 8 10 1 1 0 6 1 refdes=U? T 300 3250 5 10 0 0 0 0 1 footprint=DIP16 T 300 3450 5 10 0 0 0 0 1 description=3 to 8 decoder/demultiplexer T 300 3050 5 10 0 0 0 0 1 numslots=0 T 300 3650 5 10 0 0 0 0 1 net=Vcc:16 T 300 3850 5 10 0 0 0 0 1 net=GND:8 T 300 2640 9 10 1 0 0 0 1 74138 T 300 4050 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc138.pdf geda-gaf-1.8.2/symbols/74/74HCT245-1.sym0000664000175000017500000000715512204104272013740 00000000000000v 20070626 1 T 1700 3300 8 10 1 1 0 6 1 refdes=U? T 300 3450 5 10 0 0 0 0 1 device=74HCT245 P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=1 T 200 150 5 8 0 1 0 8 1 pinseq=1 T 350 200 9 8 1 1 0 0 1 pinlabel=DIR T 350 200 5 8 0 1 0 2 1 pintype=in } P 0 2900 300 2900 1 0 0 { T 200 2950 5 8 1 1 0 6 1 pinnumber=2 T 200 2850 5 8 0 1 0 8 1 pinseq=2 T 350 2900 9 8 1 1 0 0 1 pinlabel=A1 T 350 2900 5 8 0 1 0 2 1 pintype=tri } P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=3 T 200 2550 5 8 0 1 0 8 1 pinseq=3 T 350 2600 9 8 1 1 0 0 1 pinlabel=A2 T 350 2600 5 8 0 1 0 2 1 pintype=tri } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=4 T 200 2250 5 8 0 1 0 8 1 pinseq=4 T 350 2300 9 8 1 1 0 0 1 pinlabel=A3 T 350 2300 5 8 0 1 0 2 1 pintype=tri } P 0 2000 300 2000 1 0 0 { T 200 2050 5 8 1 1 0 6 1 pinnumber=5 T 200 1950 5 8 0 1 0 8 1 pinseq=5 T 350 2000 9 8 1 1 0 0 1 pinlabel=A4 T 350 2000 5 8 0 1 0 2 1 pintype=tri } P 0 1700 300 1700 1 0 0 { T 200 1750 5 8 1 1 0 6 1 pinnumber=6 T 200 1650 5 8 0 1 0 8 1 pinseq=6 T 350 1700 9 8 1 1 0 0 1 pinlabel=A5 T 350 1700 5 8 0 1 0 2 1 pintype=tri } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=7 T 200 1350 5 8 0 1 0 8 1 pinseq=7 T 350 1400 9 8 1 1 0 0 1 pinlabel=A6 T 350 1400 5 8 0 1 0 2 1 pintype=tri } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=8 T 200 1050 5 8 0 1 0 8 1 pinseq=8 T 350 1100 9 8 1 1 0 0 1 pinlabel=A7 T 350 1100 5 8 0 1 0 2 1 pintype=tri } P 0 800 300 800 1 0 0 { T 200 850 5 8 1 1 0 6 1 pinnumber=9 T 200 750 5 8 0 1 0 8 1 pinseq=9 T 350 800 9 8 1 1 0 0 1 pinlabel=A8 T 350 800 5 8 0 1 0 2 1 pintype=tri } V 250 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 500 200 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=19 T 200 450 5 8 0 1 0 8 1 pinseq=19 T 350 500 9 8 1 1 0 0 1 pinlabel=\_ENABLE\_ T 350 500 5 8 0 1 0 2 1 pintype=in } P 1700 2900 2000 2900 1 0 1 { T 1800 2950 5 8 1 1 0 0 1 pinnumber=18 T 1800 2850 5 8 0 1 0 2 1 pinseq=18 T 1650 2900 9 8 1 1 0 6 1 pinlabel=B1 T 1650 2900 5 8 0 1 0 8 1 pintype=tri } P 1700 2600 2000 2600 1 0 1 { T 1800 2650 5 8 1 1 0 0 1 pinnumber=17 T 1800 2550 5 8 0 1 0 2 1 pinseq=17 T 1650 2600 9 8 1 1 0 6 1 pinlabel=B2 T 1650 2600 5 8 0 1 0 8 1 pintype=tri } P 1700 2300 2000 2300 1 0 1 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=16 T 1800 2250 5 8 0 1 0 2 1 pinseq=16 T 1650 2300 9 8 1 1 0 6 1 pinlabel=B3 T 1650 2300 5 8 0 1 0 8 1 pintype=tri } P 1700 2000 2000 2000 1 0 1 { T 1800 2050 5 8 1 1 0 0 1 pinnumber=15 T 1800 1950 5 8 0 1 0 2 1 pinseq=15 T 1650 2000 9 8 1 1 0 6 1 pinlabel=B4 T 1650 2000 5 8 0 1 0 8 1 pintype=tri } P 1700 1700 2000 1700 1 0 1 { T 1800 1750 5 8 1 1 0 0 1 pinnumber=14 T 1800 1650 5 8 0 1 0 2 1 pinseq=14 T 1650 1700 9 8 1 1 0 6 1 pinlabel=B5 T 1650 1700 5 8 0 1 0 8 1 pintype=tri } P 1700 1400 2000 1400 1 0 1 { T 1800 1450 5 8 1 1 0 0 1 pinnumber=13 T 1800 1350 5 8 0 1 0 2 1 pinseq=13 T 1650 1400 9 8 1 1 0 6 1 pinlabel=B6 T 1650 1400 5 8 0 1 0 8 1 pintype=tri } P 1700 1100 2000 1100 1 0 1 { T 1800 1150 5 8 1 1 0 0 1 pinnumber=12 T 1800 1050 5 8 0 1 0 2 1 pinseq=12 T 1650 1100 9 8 1 1 0 6 1 pinlabel=B7 T 1650 1100 5 8 0 1 0 8 1 pintype=tri } P 1700 800 2000 800 1 0 1 { T 1800 850 5 8 1 1 0 0 1 pinnumber=11 T 1800 750 5 8 0 1 0 2 1 pinseq=11 T 1650 800 9 8 1 1 0 6 1 pinlabel=B8 T 1650 800 5 8 0 1 0 8 1 pintype=tri } B 300 0 1400 3200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 3650 5 10 0 0 0 0 1 footprint=DIP20 T 300 3850 5 10 0 0 0 0 1 description=8 bit bus transceiver T 300 4050 5 10 0 0 0 0 1 net=Vcc:20 T 300 4250 5 10 0 0 0 0 1 net=GND:10 T 300 4450 5 10 0 0 0 0 1 numslots=0 T 300 3240 9 10 1 0 0 0 1 74HCT245 T 300 4650 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hct245.pdf geda-gaf-1.8.2/symbols/74/74109-2.sym0000664000175000017500000000406012204104272013371 00000000000000v 20070626 1 P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=2 T 200 1750 5 8 0 1 0 8 1 pinseq=1 T 350 1800 9 8 1 1 0 0 1 pinlabel=J T 350 1800 5 8 0 1 0 2 1 pintype=in } P 2000 1800 1700 1800 1 0 0 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=6 T 1800 1750 5 8 0 1 0 2 1 pinseq=2 T 1650 1800 9 8 1 1 0 6 1 pinlabel=Q T 1650 1800 5 8 0 1 0 8 1 pintype=out } P 0 1400 200 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=3 T 200 1350 5 8 0 1 0 8 1 pinseq=3 T 350 1400 9 8 1 1 0 0 1 pinlabel=\_K\_ T 350 1400 5 8 0 1 0 2 1 pintype=in } V 250 1400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 1400 1800 1400 1 0 0 { T 1800 1450 5 8 1 1 0 0 1 pinnumber=7 T 1800 1350 5 8 0 1 0 2 1 pinseq=4 T 1650 1400 9 8 1 1 0 6 1 pinlabel=\_Q\_ T 1650 1400 5 8 0 1 0 8 1 pintype=out } V 1750 1400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1000 200 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=5 T 200 950 5 8 0 1 0 8 1 pinseq=5 T 350 1000 9 8 1 1 0 0 1 pinlabel=\_PRE\_ T 350 1000 5 8 0 1 0 2 1 pintype=in } V 250 1000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 600 200 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=1 T 200 550 5 8 0 1 0 8 1 pinseq=6 T 350 600 9 8 1 1 0 0 1 pinlabel=\_CLR\_ T 350 600 5 8 0 1 0 2 1 pintype=in } V 250 600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=4 T 200 150 5 8 0 1 0 8 1 pinseq=7 T 375 200 9 8 1 1 0 0 1 pinlabel=CLK T 375 200 5 8 0 1 0 2 1 pintype=clk } B 300 0 1400 2100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2100 2140 5 10 0 0 0 0 1 device=74109 T 2100 1940 5 10 0 0 0 0 1 footprint=DIP16 T 2100 1740 5 10 0 0 0 0 1 numslots=2 T 2100 1540 5 10 0 0 0 0 1 slotdef=1:2,6,3,7,5,1,4 T 2100 1340 5 10 0 0 0 0 1 slotdef=2:14,10,13,9,11,15,12 T 1700 2200 8 10 1 1 0 6 1 refdes=U? T 2100 2350 5 10 0 0 0 0 1 description=2 JK-flip-flops with preset and clear T 2100 2550 5 10 0 0 0 0 1 net=Vcc:16 T 2100 2750 5 10 0 0 0 0 1 net=GND:8 T 300 2140 9 10 1 0 0 0 1 74109 T 2100 1140 5 10 0 0 0 0 1 slot=1 L 375 200 300 250 3 0 0 0 -1 -1 L 375 200 300 150 3 0 0 0 -1 -1 T 2100 2950 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc109.pdf geda-gaf-1.8.2/symbols/74/7496-1.sym0000664000175000017500000000562712204104272013327 00000000000000v 20070626 1 P 0 3400 300 3400 1 0 0 { T 200 3450 5 8 1 1 0 6 1 pinnumber=9 T 200 3350 5 8 0 1 0 8 1 pinseq=1 T 350 3400 9 8 1 1 0 0 1 pinlabel=D T 350 3400 5 8 0 1 0 2 1 pintype=in } P 2000 3400 1700 3400 1 0 0 { T 1800 3450 5 8 1 1 0 0 1 pinnumber=15 T 1800 3350 5 8 0 1 0 2 1 pinseq=2 T 1650 3400 9 8 1 1 0 6 1 pinlabel=Q0 T 1650 3400 5 8 0 1 0 8 1 pintype=out } P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=1 T 200 2950 5 8 0 1 0 8 1 pinseq=3 T 375 3000 9 8 1 1 0 0 1 pinlabel=CLK T 375 3000 5 8 0 1 0 2 1 pintype=clk } P 2000 3000 1700 3000 1 0 0 { T 1800 3050 5 8 1 1 0 0 1 pinnumber=14 T 1800 2950 5 8 0 1 0 2 1 pinseq=4 T 1650 3000 9 8 1 1 0 6 1 pinlabel=Q1 T 1650 3000 5 8 0 1 0 8 1 pintype=out } P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=2 T 200 2550 5 8 0 1 0 8 1 pinseq=5 T 350 2600 9 8 1 1 0 0 1 pinlabel=P0 T 350 2600 5 8 0 1 0 2 1 pintype=in } P 2000 2600 1700 2600 1 0 0 { T 1800 2650 5 8 1 1 0 0 1 pinnumber=13 T 1800 2550 5 8 0 1 0 2 1 pinseq=6 T 1650 2600 9 8 1 1 0 6 1 pinlabel=Q2 T 1650 2600 5 8 0 1 0 8 1 pintype=out } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=3 T 200 2150 5 8 0 1 0 8 1 pinseq=7 T 350 2200 9 8 1 1 0 0 1 pinlabel=P1 T 350 2200 5 8 0 1 0 2 1 pintype=in } P 2000 2200 1700 2200 1 0 0 { T 1800 2250 5 8 1 1 0 0 1 pinnumber=11 T 1800 2150 5 8 0 1 0 2 1 pinseq=8 T 1650 2200 9 8 1 1 0 6 1 pinlabel=Q3 T 1650 2200 5 8 0 1 0 8 1 pintype=out } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=4 T 200 1750 5 8 0 1 0 8 1 pinseq=9 T 350 1800 9 8 1 1 0 0 1 pinlabel=P2 T 350 1800 5 8 0 1 0 2 1 pintype=in } P 2000 1800 1700 1800 1 0 0 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=10 T 1800 1750 5 8 0 1 0 2 1 pinseq=10 T 1650 1800 9 8 1 1 0 6 1 pinlabel=Q4 T 1650 1800 5 8 0 1 0 8 1 pintype=out } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=6 T 200 1350 5 8 0 1 0 8 1 pinseq=11 T 350 1400 9 8 1 1 0 0 1 pinlabel=P3 T 350 1400 5 8 0 1 0 2 1 pintype=in } P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=7 T 200 950 5 8 0 1 0 8 1 pinseq=12 T 350 1000 9 8 1 1 0 0 1 pinlabel=P4 T 350 1000 5 8 0 1 0 2 1 pintype=in } P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=8 T 200 550 5 8 0 1 0 8 1 pinseq=13 T 350 600 9 8 1 1 0 0 1 pinlabel=PE T 350 600 5 8 0 1 0 2 1 pintype=in } P 0 200 200 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=16 T 200 150 5 8 0 1 0 8 1 pinseq=14 T 350 200 9 8 1 1 0 0 1 pinlabel=\_RST\_ T 350 200 5 8 0 1 0 2 1 pintype=in } V 250 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 300 0 1400 3700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4140 5 10 0 0 0 0 1 device=7496 T 300 3940 5 10 0 0 0 0 1 footprint=DIP16 T 1700 3800 8 10 1 1 0 6 1 refdes=U? T 300 4350 5 10 0 0 0 0 1 description=5-bit shift register with parallel load T 300 4550 5 10 0 0 0 0 1 net=Vcc:5 T 300 4750 5 10 0 0 0 0 1 net=GND:12 T 300 3740 9 10 1 0 0 0 1 7496 L 375 3000 300 3050 3 0 0 0 -1 -1 L 375 3000 300 2950 3 0 0 0 -1 -1 T 300 4950 5 10 0 0 0 0 1 numslots=0 geda-gaf-1.8.2/symbols/74/74520-1.sym0000664000175000017500000000766112204104272013377 00000000000000v 20070626 1 T 300 4700 5 10 0 0 0 0 1 footprint=SO20 T 300 4900 5 10 0 0 0 0 1 pins=20 B 300 300 1800 3300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4300 5 10 0 0 0 0 1 device=74520 T 300 4500 5 10 0 0 0 0 1 class=IC T 300 4100 8 10 1 1 0 0 1 refdes=U? V 250 3300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 3300 0 3300 1 0 1 { T 200 3350 5 8 1 1 0 6 1 pinnumber=1 T 200 3250 5 8 0 1 0 8 1 pinseq=1 T 350 3300 9 8 1 1 0 0 1 pinlabel=\_EN\_ T 350 3300 5 8 0 1 0 2 1 pintype=in } P 300 600 0 600 1 0 1 { T 200 650 5 8 1 1 0 6 1 pinnumber=2 T 200 550 5 8 0 1 0 8 1 pinseq=2 T 350 600 9 8 1 1 0 0 1 pinlabel=A0 T 350 600 5 8 0 1 0 2 1 pintype=in } P 300 900 0 900 1 0 1 { T 200 950 5 8 1 1 0 6 1 pinnumber=4 T 200 850 5 8 0 1 0 8 1 pinseq=3 T 350 900 9 8 1 1 0 0 1 pinlabel=A1 T 350 900 5 8 0 1 0 2 1 pintype=in } P 300 1200 0 1200 1 0 1 { T 200 1250 5 8 1 1 0 6 1 pinnumber=6 T 200 1150 5 8 0 1 0 8 1 pinseq=4 T 350 1200 9 8 1 1 0 0 1 pinlabel=A2 T 350 1200 5 8 0 1 0 2 1 pintype=in } P 300 1500 0 1500 1 0 1 { T 200 1550 5 8 1 1 0 6 1 pinnumber=8 T 200 1450 5 8 0 1 0 8 1 pinseq=5 T 350 1500 9 8 1 1 0 0 1 pinlabel=A3 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 300 1800 0 1800 1 0 1 { T 200 1850 5 8 1 1 0 6 1 pinnumber=11 T 200 1750 5 8 0 1 0 8 1 pinseq=6 T 350 1800 9 8 1 1 0 0 1 pinlabel=A4 T 350 1800 5 8 0 1 0 2 1 pintype=in } P 300 2100 0 2100 1 0 1 { T 200 2150 5 8 1 1 0 6 1 pinnumber=13 T 200 2050 5 8 0 1 0 8 1 pinseq=7 T 350 2100 9 8 1 1 0 0 1 pinlabel=A5 T 350 2100 5 8 0 1 0 2 1 pintype=in } P 300 2400 0 2400 1 0 1 { T 200 2450 5 8 1 1 0 6 1 pinnumber=15 T 200 2350 5 8 0 1 0 8 1 pinseq=8 T 350 2400 9 8 1 1 0 0 1 pinlabel=A6 T 350 2400 5 8 0 1 0 2 1 pintype=in } P 300 2700 0 2700 1 0 1 { T 200 2750 5 8 1 1 0 6 1 pinnumber=17 T 200 2650 5 8 0 1 0 8 1 pinseq=9 T 350 2700 9 8 1 1 0 0 1 pinlabel=A7 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 2100 600 2400 600 1 0 1 { T 2200 650 5 8 1 1 0 0 1 pinnumber=3 T 2200 550 5 8 0 1 0 2 1 pinseq=10 T 2050 600 9 8 1 1 0 6 1 pinlabel=B0 T 2050 600 5 8 0 1 0 8 1 pintype=in } P 2100 900 2400 900 1 0 1 { T 2200 950 5 8 1 1 0 0 1 pinnumber=5 T 2200 850 5 8 0 1 0 2 1 pinseq=11 T 2050 900 9 8 1 1 0 6 1 pinlabel=B1 T 2050 900 5 8 0 1 0 8 1 pintype=in } P 2100 1200 2400 1200 1 0 1 { T 2200 1250 5 8 1 1 0 0 1 pinnumber=7 T 2200 1150 5 8 0 1 0 2 1 pinseq=12 T 2050 1200 9 8 1 1 0 6 1 pinlabel=B2 T 2050 1200 5 8 0 1 0 8 1 pintype=in } P 2100 1500 2400 1500 1 0 1 { T 2200 1550 5 8 1 1 0 0 1 pinnumber=9 T 2200 1450 5 8 0 1 0 2 1 pinseq=13 T 2050 1500 9 8 1 1 0 6 1 pinlabel=B3 T 2050 1500 5 8 0 1 0 8 1 pintype=in } P 2100 1800 2400 1800 1 0 1 { T 2200 1850 5 8 1 1 0 0 1 pinnumber=12 T 2200 1750 5 8 0 1 0 2 1 pinseq=14 T 2050 1800 9 8 1 1 0 6 1 pinlabel=B4 T 2050 1800 5 8 0 1 0 8 1 pintype=in } P 2100 2100 2400 2100 1 0 1 { T 2200 2150 5 8 1 1 0 0 1 pinnumber=14 T 2200 2050 5 8 0 1 0 2 1 pinseq=15 T 2050 2100 9 8 1 1 0 6 1 pinlabel=B5 T 2050 2100 5 8 0 1 0 8 1 pintype=in } P 2100 2400 2400 2400 1 0 1 { T 2200 2450 5 8 1 1 0 0 1 pinnumber=16 T 2200 2350 5 8 0 1 0 2 1 pinseq=16 T 2050 2400 9 8 1 1 0 6 1 pinlabel=B6 T 2050 2400 5 8 0 1 0 8 1 pintype=in } P 2100 2700 2400 2700 1 0 1 { T 2200 2750 5 8 1 1 0 0 1 pinnumber=18 T 2200 2650 5 8 0 1 0 2 1 pinseq=17 T 2050 2700 9 8 1 1 0 6 1 pinlabel=B7 T 2050 2700 5 8 0 1 0 8 1 pintype=in } P 1200 3600 1200 3900 1 0 1 { T 1250 3700 5 8 1 1 0 0 1 pinnumber=20 T 1250 3700 5 8 0 1 0 2 1 pinseq=18 T 1200 3550 9 8 1 1 0 5 1 pinlabel=Vcc T 1200 3450 5 8 0 1 0 5 1 pintype=pwr } P 1200 300 1200 0 1 0 1 { T 1250 75 5 8 1 1 0 0 1 pinnumber=10 T 1250 75 5 8 0 1 0 2 1 pinseq=19 T 1200 350 9 8 1 1 0 3 1 pinlabel=GND T 1200 475 5 8 0 1 0 3 1 pintype=pwr } P 2200 3300 2400 3300 1 0 1 { T 2200 3350 5 8 1 1 0 0 1 pinnumber=19 T 2200 3250 5 8 0 1 0 2 1 pinseq=20 T 2050 3300 9 8 1 1 0 6 1 pinlabel=\_A=B\_ T 2050 3300 5 8 0 1 0 8 1 pintype=tp } T 300 5100 5 10 0 0 0 0 1 description=8-bit comparator with totem pole output T 1805 3650 3 10 1 0 0 0 1 74520 V 2150 3300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 5300 5 10 0 0 0 0 1 numslots=0 geda-gaf-1.8.2/symbols/74/74520-2.sym0000664000175000017500000000712112204104272013367 00000000000000v 20070626 1 T 300 4050 5 10 0 0 0 0 1 footprint=DIP20 B 300 300 1800 3300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 3850 5 10 0 0 0 0 1 device=74520 T 2100 3700 8 10 1 1 0 6 1 refdes=U? V 250 3300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 3300 0 3300 1 0 1 { T 200 3350 5 8 1 1 0 6 1 pinnumber=1 T 200 3250 5 8 0 1 0 8 1 pinseq=1 T 350 3300 9 8 1 1 0 0 1 pinlabel=\_EN\_ T 350 3300 5 8 0 1 0 2 1 pintype=in } P 300 600 0 600 1 0 1 { T 200 650 5 8 1 1 0 6 1 pinnumber=2 T 200 550 5 8 0 1 0 8 1 pinseq=2 T 350 600 9 8 1 1 0 0 1 pinlabel=A0 T 350 600 5 8 0 1 0 2 1 pintype=in } P 300 900 0 900 1 0 1 { T 200 950 5 8 1 1 0 6 1 pinnumber=4 T 200 850 5 8 0 1 0 8 1 pinseq=3 T 350 900 9 8 1 1 0 0 1 pinlabel=A1 T 350 900 5 8 0 1 0 2 1 pintype=in } P 300 1200 0 1200 1 0 1 { T 200 1250 5 8 1 1 0 6 1 pinnumber=6 T 200 1150 5 8 0 1 0 8 1 pinseq=4 T 350 1200 9 8 1 1 0 0 1 pinlabel=A2 T 350 1200 5 8 0 1 0 2 1 pintype=in } P 300 1500 0 1500 1 0 1 { T 200 1550 5 8 1 1 0 6 1 pinnumber=8 T 200 1450 5 8 0 1 0 8 1 pinseq=5 T 350 1500 9 8 1 1 0 0 1 pinlabel=A3 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 300 1800 0 1800 1 0 1 { T 200 1850 5 8 1 1 0 6 1 pinnumber=11 T 200 1750 5 8 0 1 0 8 1 pinseq=6 T 350 1800 9 8 1 1 0 0 1 pinlabel=A4 T 350 1800 5 8 0 1 0 2 1 pintype=in } P 300 2100 0 2100 1 0 1 { T 200 2150 5 8 1 1 0 6 1 pinnumber=13 T 200 2050 5 8 0 1 0 8 1 pinseq=7 T 350 2100 9 8 1 1 0 0 1 pinlabel=A5 T 350 2100 5 8 0 1 0 2 1 pintype=in } P 300 2400 0 2400 1 0 1 { T 200 2450 5 8 1 1 0 6 1 pinnumber=15 T 200 2350 5 8 0 1 0 8 1 pinseq=8 T 350 2400 9 8 1 1 0 0 1 pinlabel=A6 T 350 2400 5 8 0 1 0 2 1 pintype=in } P 300 2700 0 2700 1 0 1 { T 200 2750 5 8 1 1 0 6 1 pinnumber=17 T 200 2650 5 8 0 1 0 8 1 pinseq=9 T 350 2700 9 8 1 1 0 0 1 pinlabel=A7 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 2100 600 2400 600 1 0 1 { T 2200 650 5 8 1 1 0 0 1 pinnumber=3 T 2200 550 5 8 0 1 0 2 1 pinseq=10 T 2050 600 9 8 1 1 0 6 1 pinlabel=B0 T 2050 600 5 8 0 1 0 8 1 pintype=in } P 2100 900 2400 900 1 0 1 { T 2200 950 5 8 1 1 0 0 1 pinnumber=5 T 2200 850 5 8 0 1 0 2 1 pinseq=11 T 2050 900 9 8 1 1 0 6 1 pinlabel=B1 T 2050 900 5 8 0 1 0 8 1 pintype=in } P 2100 1200 2400 1200 1 0 1 { T 2200 1250 5 8 1 1 0 0 1 pinnumber=7 T 2200 1150 5 8 0 1 0 2 1 pinseq=12 T 2050 1200 9 8 1 1 0 6 1 pinlabel=B2 T 2050 1200 5 8 0 1 0 8 1 pintype=in } P 2100 1500 2400 1500 1 0 1 { T 2200 1550 5 8 1 1 0 0 1 pinnumber=9 T 2200 1450 5 8 0 1 0 2 1 pinseq=13 T 2050 1500 9 8 1 1 0 6 1 pinlabel=B3 T 2050 1500 5 8 0 1 0 8 1 pintype=in } P 2100 1800 2400 1800 1 0 1 { T 2200 1850 5 8 1 1 0 0 1 pinnumber=12 T 2200 1750 5 8 0 1 0 2 1 pinseq=14 T 2050 1800 9 8 1 1 0 6 1 pinlabel=B4 T 2050 1800 5 8 0 1 0 8 1 pintype=in } P 2100 2100 2400 2100 1 0 1 { T 2200 2150 5 8 1 1 0 0 1 pinnumber=14 T 2200 2050 5 8 0 1 0 2 1 pinseq=15 T 2050 2100 9 8 1 1 0 6 1 pinlabel=B5 T 2050 2100 5 8 0 1 0 8 1 pintype=in } P 2100 2400 2400 2400 1 0 1 { T 2200 2450 5 8 1 1 0 0 1 pinnumber=16 T 2200 2350 5 8 0 1 0 2 1 pinseq=16 T 2050 2400 9 8 1 1 0 6 1 pinlabel=B6 T 2050 2400 5 8 0 1 0 8 1 pintype=in } P 2100 2700 2400 2700 1 0 1 { T 2200 2750 5 8 1 1 0 0 1 pinnumber=18 T 2200 2650 5 8 0 1 0 2 1 pinseq=17 T 2050 2700 9 8 1 1 0 6 1 pinlabel=B7 T 2050 2700 5 8 0 1 0 8 1 pintype=in } P 2200 3300 2400 3300 1 0 1 { T 2200 3350 5 8 1 1 0 0 1 pinnumber=19 T 2200 3250 5 8 0 1 0 2 1 pinseq=20 T 2050 3300 9 8 1 1 0 6 1 pinlabel=\_A=B\_ T 2050 3300 5 8 0 1 0 8 1 pintype=tp } T 300 4250 5 10 0 0 0 0 1 description=8-bit comparator with totem pole output V 2150 3300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4450 5 10 0 0 0 0 1 net=Vcc:20 T 300 4650 5 10 0 0 0 0 1 net=GND:10 T 305 3650 3 10 1 0 0 0 1 74520 T 300 4850 5 10 0 0 0 0 1 numslots=0 geda-gaf-1.8.2/symbols/74/74124-2.sym0000664000175000017500000000330712204104272013371 00000000000000v 20070626 1 P 0 1800 200 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=6 T 200 1750 5 8 0 1 0 8 1 pinseq=1 T 350 1800 9 8 1 1 0 0 1 pinlabel=\_EN\_ T 350 1800 5 8 0 1 0 2 1 pintype=in } V 250 1800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 1800 1700 1800 1 0 0 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=7 T 1800 1750 5 8 0 1 0 2 1 pinseq=2 T 1650 1800 9 8 1 1 0 6 1 pinlabel=Y T 1650 1800 5 8 0 1 0 8 1 pintype=out } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=2 T 200 1350 5 8 0 1 0 8 1 pinseq=3 T 350 1400 9 8 1 1 0 0 1 pinlabel=FC T 350 1400 5 8 0 1 0 2 1 pintype=in } P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=3 T 200 950 5 8 0 1 0 8 1 pinseq=4 T 350 1000 9 8 1 1 0 0 1 pinlabel=RNG T 350 1000 5 8 0 1 0 2 1 pintype=in } P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=4 T 200 550 5 8 0 1 0 8 1 pinseq=5 T 350 600 9 8 1 1 0 0 1 pinlabel=CX1 T 350 600 5 8 0 1 0 2 1 pintype=pas } P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=5 T 200 150 5 8 0 1 0 8 1 pinseq=6 T 350 200 9 8 1 1 0 0 1 pinlabel=CX2 T 350 200 5 8 0 1 0 2 1 pintype=pas } B 300 0 1400 2100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 2540 5 10 0 0 0 0 1 device=74124 T 300 2340 5 10 0 0 0 0 1 footprint=DIP16 T 1700 2200 8 10 1 1 0 6 1 refdes=U? T 300 2750 5 10 0 0 0 0 1 description=2 VCOs (voltage controlled oscillators) T 300 2950 5 10 0 0 0 0 1 net=Vcc:16 T 300 3150 5 10 0 0 0 0 1 net=GND:9 T 300 3350 5 10 0 0 0 0 1 net=OSCGND:8 T 300 3550 5 10 0 0 0 0 1 net=OSCVCC:15 T 300 4350 5 10 0 0 0 0 1 slot=1 T 300 3750 5 10 0 0 0 0 1 numslots=2 T 300 3950 5 10 0 0 0 0 1 slotdef=1:6,7,2,3,4,5 T 300 4150 5 10 0 0 0 0 1 slotdef=2:11,10,1,14,12,13 T 300 2140 9 10 1 0 0 0 1 74124 T 300 4550 5 10 0 0 0 0 1 symversion=0.1 geda-gaf-1.8.2/symbols/74/74150-1.sym0000664000175000017500000001025412204104272013366 00000000000000v 20031231 1 P 0 8200 300 8200 1 0 0 { T 200 8250 5 8 1 1 0 6 1 pinnumber=8 T 200 8150 5 8 0 1 0 8 1 pinseq=1 T 350 8200 9 8 1 1 0 0 1 pinlabel=0 T 350 8200 5 8 0 1 0 2 1 pintype=in } P 2000 8200 1800 8200 1 0 0 { T 1800 8250 5 8 1 1 0 0 1 pinnumber=10 T 1800 8150 5 8 0 1 0 2 1 pinseq=2 T 1650 8200 9 8 1 1 0 6 1 pinlabel=W T 1650 8200 5 8 0 1 0 8 1 pintype=out } P 0 7800 300 7800 1 0 0 { T 200 7850 5 8 1 1 0 6 1 pinnumber=7 T 200 7750 5 8 0 1 0 8 1 pinseq=3 T 350 7800 9 8 1 1 0 0 1 pinlabel=1 T 350 7800 5 8 0 1 0 2 1 pintype=in } P 0 7400 300 7400 1 0 0 { T 200 7450 5 8 1 1 0 6 1 pinnumber=6 T 200 7350 5 8 0 1 0 8 1 pinseq=4 T 350 7400 9 8 1 1 0 0 1 pinlabel=2 T 350 7400 5 8 0 1 0 2 1 pintype=in } P 0 7000 300 7000 1 0 0 { T 200 7050 5 8 1 1 0 6 1 pinnumber=5 T 200 6950 5 8 0 1 0 8 1 pinseq=5 T 350 7000 9 8 1 1 0 0 1 pinlabel=3 T 350 7000 5 8 0 1 0 2 1 pintype=in } P 0 6600 300 6600 1 0 0 { T 200 6650 5 8 1 1 0 6 1 pinnumber=4 T 200 6550 5 8 0 1 0 8 1 pinseq=6 T 350 6600 9 8 1 1 0 0 1 pinlabel=4 T 350 6600 5 8 0 1 0 2 1 pintype=in } P 0 6200 300 6200 1 0 0 { T 200 6250 5 8 1 1 0 6 1 pinnumber=3 T 200 6150 5 8 0 1 0 8 1 pinseq=7 T 350 6200 9 8 1 1 0 0 1 pinlabel=5 T 350 6200 5 8 0 1 0 2 1 pintype=in } P 0 5800 300 5800 1 0 0 { T 200 5850 5 8 1 1 0 6 1 pinnumber=2 T 200 5750 5 8 0 1 0 8 1 pinseq=8 T 350 5800 9 8 1 1 0 0 1 pinlabel=6 T 350 5800 5 8 0 1 0 2 1 pintype=in } P 0 5400 300 5400 1 0 0 { T 200 5450 5 8 1 1 0 6 1 pinnumber=1 T 200 5350 5 8 0 1 0 8 1 pinseq=9 T 350 5400 9 8 1 1 0 0 1 pinlabel=7 T 350 5400 5 8 0 1 0 2 1 pintype=in } P 0 5000 300 5000 1 0 0 { T 200 5050 5 8 1 1 0 6 1 pinnumber=23 T 200 4950 5 8 0 1 0 8 1 pinseq=10 T 350 5000 9 8 1 1 0 0 1 pinlabel=8 T 350 5000 5 8 0 1 0 2 1 pintype=in } P 0 4600 300 4600 1 0 0 { T 200 4650 5 8 1 1 0 6 1 pinnumber=22 T 200 4550 5 8 0 1 0 8 1 pinseq=11 T 350 4600 9 8 1 1 0 0 1 pinlabel=9 T 350 4600 5 8 0 1 0 2 1 pintype=in } P 0 4200 300 4200 1 0 0 { T 200 4250 5 8 1 1 0 6 1 pinnumber=21 T 200 4150 5 8 0 1 0 8 1 pinseq=12 T 350 4200 9 8 1 1 0 0 1 pinlabel=10 T 350 4200 5 8 0 1 0 2 1 pintype=in } P 0 3800 300 3800 1 0 0 { T 200 3850 5 8 1 1 0 6 1 pinnumber=20 T 200 3750 5 8 0 1 0 8 1 pinseq=13 T 350 3800 9 8 1 1 0 0 1 pinlabel=11 T 350 3800 5 8 0 1 0 2 1 pintype=in } P 0 3400 300 3400 1 0 0 { T 200 3450 5 8 1 1 0 6 1 pinnumber=19 T 200 3350 5 8 0 1 0 8 1 pinseq=14 T 350 3400 9 8 1 1 0 0 1 pinlabel=12 T 350 3400 5 8 0 1 0 2 1 pintype=in } P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=18 T 200 2950 5 8 0 1 0 8 1 pinseq=15 T 350 3000 9 8 1 1 0 0 1 pinlabel=13 T 350 3000 5 8 0 1 0 2 1 pintype=in } P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=17 T 200 2550 5 8 0 1 0 8 1 pinseq=16 T 350 2600 9 8 1 1 0 0 1 pinlabel=14 T 350 2600 5 8 0 1 0 2 1 pintype=in } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=16 T 200 2150 5 8 0 1 0 8 1 pinseq=17 T 350 2200 9 8 1 1 0 0 1 pinlabel=15 T 350 2200 5 8 0 1 0 2 1 pintype=in } P 0 1800 200 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=9 T 200 1750 5 8 0 1 0 8 1 pinseq=18 T 350 1800 9 8 1 1 0 0 1 pinlabel=G T 350 1800 5 8 0 1 0 2 1 pintype=in } V 250 1800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=15 T 200 1350 5 8 0 1 0 8 1 pinseq=19 T 350 1400 9 8 1 1 0 0 1 pinlabel=A T 350 1400 5 8 0 1 0 2 1 pintype=in } P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=14 T 200 950 5 8 0 1 0 8 1 pinseq=20 T 350 1000 9 8 1 1 0 0 1 pinlabel=B T 350 1000 5 8 0 1 0 2 1 pintype=in } P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=13 T 200 550 5 8 0 1 0 8 1 pinseq=21 T 350 600 9 8 1 1 0 0 1 pinlabel=C T 350 600 5 8 0 1 0 2 1 pintype=in } P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=11 T 200 150 5 8 0 1 0 8 1 pinseq=22 T 350 200 9 8 1 1 0 0 1 pinlabel=D T 350 200 5 8 0 1 0 2 1 pintype=in } B 300 0 1400 8500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2100 8540 5 10 0 0 0 0 1 device=74150 T 2100 8340 5 10 0 0 0 0 1 footprint=DIP24 T 1700 8600 8 10 1 1 0 6 1 refdes=U? T 2100 7250 5 10 0 0 0 0 1 description=16 to 1 multiplexer T 2100 7850 5 10 0 0 0 0 1 numslots=0 T 2100 7450 5 10 0 0 0 0 1 net=Vcc:24 T 2100 7650 5 10 0 0 0 0 1 net=GND:12 T 300 8540 9 10 1 0 0 0 1 74150 V 1750 8200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/74/74165-1.sym0000664000175000017500000000600112204104272013367 00000000000000v 20070626 1 P 0 4600 300 4600 1 0 0 { T 200 4650 5 8 1 1 0 6 1 pinnumber=11 T 200 4550 5 8 0 1 0 8 1 pinseq=1 T 350 4600 9 8 1 1 0 0 1 pinlabel=P0 T 350 4600 5 8 0 1 0 2 1 pintype=in } P 2000 4600 1700 4600 1 0 0 { T 1800 4650 5 8 1 1 0 0 1 pinnumber=9 T 1800 4550 5 8 0 1 0 2 1 pinseq=2 T 1650 4600 9 8 1 1 0 6 1 pinlabel=Q7 T 1650 4600 5 8 0 1 0 8 1 pintype=out } P 0 4200 300 4200 1 0 0 { T 200 4250 5 8 1 1 0 6 1 pinnumber=12 T 200 4150 5 8 0 1 0 8 1 pinseq=3 T 350 4200 9 8 1 1 0 0 1 pinlabel=P1 T 350 4200 5 8 0 1 0 2 1 pintype=in } P 2000 4200 1800 4200 1 0 0 { T 1800 4250 5 8 1 1 0 0 1 pinnumber=7 T 1800 4150 5 8 0 1 0 2 1 pinseq=4 T 1650 4200 9 8 1 1 0 6 1 pinlabel=\_Q7\_ T 1650 4200 5 8 0 1 0 8 1 pintype=out } V 1750 4200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3800 300 3800 1 0 0 { T 200 3850 5 8 1 1 0 6 1 pinnumber=13 T 200 3750 5 8 0 1 0 8 1 pinseq=5 T 350 3800 9 8 1 1 0 0 1 pinlabel=P2 T 350 3800 5 8 0 1 0 2 1 pintype=in } P 0 3400 300 3400 1 0 0 { T 200 3450 5 8 1 1 0 6 1 pinnumber=14 T 200 3350 5 8 0 1 0 8 1 pinseq=6 T 350 3400 9 8 1 1 0 0 1 pinlabel=P3 T 350 3400 5 8 0 1 0 2 1 pintype=in } P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=3 T 200 2950 5 8 0 1 0 8 1 pinseq=7 T 350 3000 9 8 1 1 0 0 1 pinlabel=P4 T 350 3000 5 8 0 1 0 2 1 pintype=in } P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=4 T 200 2550 5 8 0 1 0 8 1 pinseq=8 T 350 2600 9 8 1 1 0 0 1 pinlabel=P5 T 350 2600 5 8 0 1 0 2 1 pintype=in } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=5 T 200 2150 5 8 0 1 0 8 1 pinseq=9 T 350 2200 9 8 1 1 0 0 1 pinlabel=P6 T 350 2200 5 8 0 1 0 2 1 pintype=in } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=6 T 200 1750 5 8 0 1 0 8 1 pinseq=10 T 350 1800 9 8 1 1 0 0 1 pinlabel=P7 T 350 1800 5 8 0 1 0 2 1 pintype=in } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=1 T 200 1350 5 8 0 1 0 8 1 pinseq=11 T 350 1400 9 8 1 1 0 0 1 pinlabel=PL T 350 1400 5 8 0 1 0 2 1 pintype=in } P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=10 T 200 950 5 8 0 1 0 8 1 pinseq=12 T 350 1000 9 8 1 1 0 0 1 pinlabel=DS T 350 1000 5 8 0 1 0 2 1 pintype=in } P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=2 T 200 550 5 8 0 1 0 8 1 pinseq=13 T 375 600 9 8 1 1 0 0 1 pinlabel=CP1 T 375 600 5 8 0 1 0 2 1 pintype=clk } P 0 200 200 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=15 T 200 150 5 8 0 1 0 8 1 pinseq=14 T 350 200 9 8 1 1 0 0 1 pinlabel=\_CP2\_ T 350 200 5 8 0 1 0 2 1 pintype=in } B 300 0 1400 4900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 5340 5 10 0 0 0 0 1 device=74165 T 300 5140 5 10 0 0 0 0 1 footprint=DIP16 T 1700 5000 8 10 1 1 0 6 1 refdes=U? T 300 5750 5 10 0 0 0 0 1 net=Vcc:16 T 300 5950 5 10 0 0 0 0 1 net=GND:8 T 300 5550 5 10 0 0 0 0 1 description=8-bit parallel-in/serial-out shift register T 300 6150 5 10 0 0 0 0 1 numslots=0 T 300 4940 9 10 1 0 0 0 1 74165 V 250 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 375 600 300 650 3 0 0 0 -1 -1 L 375 600 300 550 3 0 0 0 -1 -1 T 300 6350 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc165.pdf geda-gaf-1.8.2/symbols/74/74257-1.sym0000664000175000017500000000562712204104272013406 00000000000000v 20031231 1 P 0 3800 300 3800 1 0 0 { T 200 3850 5 8 1 1 0 6 1 pinnumber=2 T 200 3750 5 8 0 1 0 8 1 pinseq=1 T 350 3800 9 8 1 1 0 0 1 pinlabel=1A T 350 3800 5 8 0 1 0 2 1 pintype=in } P 2000 3800 1700 3800 1 0 0 { T 1800 3850 5 8 1 1 0 0 1 pinnumber=4 T 1800 3750 5 8 0 1 0 2 1 pinseq=2 T 1650 3800 9 8 1 1 0 6 1 pinlabel=1Y T 1650 3800 5 8 0 1 0 8 1 pintype=tri } P 0 3400 300 3400 1 0 0 { T 200 3450 5 8 1 1 0 6 1 pinnumber=3 T 200 3350 5 8 0 1 0 8 1 pinseq=3 T 350 3400 9 8 1 1 0 0 1 pinlabel=1B T 350 3400 5 8 0 1 0 2 1 pintype=in } P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=5 T 200 2950 5 8 0 1 0 8 1 pinseq=4 T 350 3000 9 8 1 1 0 0 1 pinlabel=2A T 350 3000 5 8 0 1 0 2 1 pintype=in } P 2000 3000 1700 3000 1 0 0 { T 1800 3050 5 8 1 1 0 0 1 pinnumber=7 T 1800 2950 5 8 0 1 0 2 1 pinseq=5 T 1650 3000 9 8 1 1 0 6 1 pinlabel=2Y T 1650 3000 5 8 0 1 0 8 1 pintype=tri } P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=6 T 200 2550 5 8 0 1 0 8 1 pinseq=6 T 350 2600 9 8 1 1 0 0 1 pinlabel=2B T 350 2600 5 8 0 1 0 2 1 pintype=in } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=14 T 200 2150 5 8 0 1 0 8 1 pinseq=7 T 350 2200 9 8 1 1 0 0 1 pinlabel=3A T 350 2200 5 8 0 1 0 2 1 pintype=in } P 2000 2200 1700 2200 1 0 0 { T 1800 2250 5 8 1 1 0 0 1 pinnumber=12 T 1800 2150 5 8 0 1 0 2 1 pinseq=8 T 1650 2200 9 8 1 1 0 6 1 pinlabel=3Y T 1650 2200 5 8 0 1 0 8 1 pintype=tri } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=13 T 200 1750 5 8 0 1 0 8 1 pinseq=9 T 350 1800 9 8 1 1 0 0 1 pinlabel=3B T 350 1800 5 8 0 1 0 2 1 pintype=in } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=11 T 200 1350 5 8 0 1 0 8 1 pinseq=10 T 350 1400 9 8 1 1 0 0 1 pinlabel=4A T 350 1400 5 8 0 1 0 2 1 pintype=in } P 2000 1400 1700 1400 1 0 0 { T 1800 1450 5 8 1 1 0 0 1 pinnumber=9 T 1800 1350 5 8 0 1 0 2 1 pinseq=11 T 1650 1400 9 8 1 1 0 6 1 pinlabel=4Y T 1650 1400 5 8 0 1 0 8 1 pintype=tri } P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=10 T 200 950 5 8 0 1 0 8 1 pinseq=12 T 350 1000 9 8 1 1 0 0 1 pinlabel=4B T 350 1000 5 8 0 1 0 2 1 pintype=in } P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=1 T 200 550 5 8 0 1 0 8 1 pinseq=13 T 350 600 9 8 1 1 0 0 1 pinlabel=S T 350 600 5 8 0 1 0 2 1 pintype=in } P 0 200 200 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=15 T 200 150 5 8 0 1 0 8 1 pinseq=14 T 350 200 9 8 1 1 0 0 1 pinlabel=E T 350 200 5 8 0 1 0 2 1 pintype=in } V 250 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 300 0 1400 4100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4540 5 10 0 0 0 0 1 device=74257 T 300 4340 5 10 0 0 0 0 1 footprint=DIP16 T 1700 4200 8 10 1 1 0 6 1 refdes=U? T 300 4750 5 10 0 0 0 0 1 description=4 2-to-1 multiplexer with tristate outputs T 300 5350 5 10 0 0 0 0 1 numslots=0 T 300 4950 5 10 0 0 0 0 1 net=Vcc:16 T 300 5150 5 10 0 0 0 0 1 net=GND:8 T 300 4140 9 10 1 0 0 0 1 74257 T 300 5550 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc257.pdf geda-gaf-1.8.2/symbols/74/74122-1.sym0000664000175000017500000000421312204104272013363 00000000000000v 20070626 1 P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=1 T 200 2550 5 8 0 1 0 8 1 pinseq=1 T 350 2600 9 8 1 1 0 0 1 pinlabel=A1 T 350 2600 5 8 0 1 0 2 1 pintype=in } P 2000 2600 1700 2600 1 0 0 { T 1800 2650 5 8 1 1 0 0 1 pinnumber=8 T 1800 2550 5 8 0 1 0 2 1 pinseq=2 T 1650 2600 9 8 1 1 0 6 1 pinlabel=Q T 1650 2600 5 8 0 1 0 8 1 pintype=out } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=2 T 200 2150 5 8 0 1 0 8 1 pinseq=3 T 350 2200 9 8 1 1 0 0 1 pinlabel=A2 T 350 2200 5 8 0 1 0 2 1 pintype=in } P 2000 2200 1800 2200 1 0 0 { T 1800 2250 5 8 1 1 0 0 1 pinnumber=6 T 1800 2150 5 8 0 1 0 2 1 pinseq=4 T 1650 2200 9 8 1 1 0 6 1 pinlabel=\_Q\_ T 1650 2200 5 8 0 1 0 8 1 pintype=out } V 1750 2200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=3 T 200 1750 5 8 0 1 0 8 1 pinseq=5 T 350 1800 9 8 1 1 0 0 1 pinlabel=B1 T 350 1800 5 8 0 1 0 2 1 pintype=in } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=4 T 200 1350 5 8 0 1 0 8 1 pinseq=6 T 350 1400 9 8 1 1 0 0 1 pinlabel=B2 T 350 1400 5 8 0 1 0 2 1 pintype=in } P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=5 T 200 950 5 8 0 1 0 8 1 pinseq=7 T 350 1000 9 8 1 1 0 0 1 pinlabel=CLR T 350 1000 5 8 0 1 0 2 1 pintype=in } P 2000 600 1700 600 1 0 0 { T 1800 650 5 8 1 1 0 0 1 pinnumber=13 T 1800 550 5 8 0 1 0 2 1 pinseq=8 T 1650 600 9 8 1 1 0 6 1 pinlabel=Re/Ce T 1650 600 5 8 0 1 0 8 1 pintype=pas } P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=9 T 200 150 5 8 0 1 0 8 1 pinseq=9 T 350 200 9 8 1 1 0 0 1 pinlabel=Ri T 350 200 5 8 0 1 0 2 1 pintype=pas } P 2000 200 1700 200 1 0 0 { T 1800 250 5 8 1 1 0 0 1 pinnumber=11 T 1800 150 5 8 0 1 0 2 1 pinseq=10 T 1650 200 9 8 1 1 0 6 1 pinlabel=Ce T 1650 200 5 8 0 1 0 8 1 pintype=pas } B 300 0 1400 2900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 3340 5 10 0 0 0 0 1 device=74122 T 300 3140 5 10 0 0 0 0 1 footprint=DIP14 T 1700 3000 8 10 1 1 0 6 1 refdes=U? T 300 3550 5 10 0 0 0 0 1 description=retriggerable monoflop with clear T 300 3750 5 10 0 0 0 0 1 net=Vcc:14 T 300 3950 5 10 0 0 0 0 1 net=GND:7 T 300 2940 9 10 1 0 0 0 1 74122 T 300 4140 5 10 0 0 0 0 1 numslots=0 geda-gaf-1.8.2/symbols/74/74164-1.sym0000664000175000017500000000522712204104272013377 00000000000000v 20070626 1 P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=1 T 200 2250 5 8 0 1 0 8 1 pinseq=1 T 350 2300 9 8 1 1 0 0 1 pinlabel=A T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2000 300 2000 1 0 0 { T 200 2050 5 8 1 1 0 6 1 pinnumber=2 T 200 1950 5 8 0 1 0 8 1 pinseq=2 T 350 2000 9 8 1 1 0 0 1 pinlabel=B T 350 2000 5 8 0 1 0 2 1 pintype=in } P 1700 2300 2000 2300 1 0 1 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=3 T 1800 2250 5 8 0 1 0 2 1 pinseq=3 T 1650 2300 9 8 1 1 0 6 1 pinlabel=QA T 1650 2300 5 8 0 1 0 8 1 pintype=out } P 1700 2000 2000 2000 1 0 1 { T 1800 2050 5 8 1 1 0 0 1 pinnumber=4 T 1800 1950 5 8 0 1 0 2 1 pinseq=4 T 1650 2000 9 8 1 1 0 6 1 pinlabel=QB T 1650 2000 5 8 0 1 0 8 1 pintype=out } P 1700 1700 2000 1700 1 0 1 { T 1800 1750 5 8 1 1 0 0 1 pinnumber=5 T 1800 1650 5 8 0 1 0 2 1 pinseq=5 T 1650 1700 9 8 1 1 0 6 1 pinlabel=QC T 1650 1700 5 8 0 1 0 8 1 pintype=out } P 1700 1400 2000 1400 1 0 1 { T 1800 1450 5 8 1 1 0 0 1 pinnumber=6 T 1800 1350 5 8 0 1 0 2 1 pinseq=6 T 1650 1400 9 8 1 1 0 6 1 pinlabel=QD T 1650 1400 5 8 0 1 0 8 1 pintype=out } P 1700 200 2000 200 1 0 1 { T 1800 250 5 8 1 1 0 0 1 pinnumber=13 T 1800 150 5 8 0 1 0 2 1 pinseq=13 T 1650 200 9 8 1 1 0 6 1 pinlabel=QH T 1650 200 5 8 0 1 0 8 1 pintype=out } P 1700 500 2000 500 1 0 1 { T 1800 550 5 8 1 1 0 0 1 pinnumber=12 T 1800 450 5 8 0 1 0 2 1 pinseq=12 T 1650 500 9 8 1 1 0 6 1 pinlabel=QG T 1650 500 5 8 0 1 0 8 1 pintype=out } P 1700 800 2000 800 1 0 1 { T 1800 850 5 8 1 1 0 0 1 pinnumber=11 T 1800 750 5 8 0 1 0 2 1 pinseq=11 T 1650 800 9 8 1 1 0 6 1 pinlabel=QF T 1650 800 5 8 0 1 0 8 1 pintype=out } P 1700 1100 2000 1100 1 0 1 { T 1800 1150 5 8 1 1 0 0 1 pinnumber=10 T 1800 1050 5 8 0 1 0 2 1 pinseq=10 T 1650 1100 9 8 1 1 0 6 1 pinlabel=QE T 1650 1100 5 8 0 1 0 8 1 pintype=out } V 250 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 500 200 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=9 T 200 450 5 8 0 1 0 8 1 pinseq=9 T 350 500 9 8 1 1 0 0 1 pinlabel=\_CLR\_ T 350 500 5 8 0 1 0 2 1 pintype=in } P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=8 T 200 150 5 8 0 1 0 8 1 pinseq=8 T 375 200 9 8 1 1 0 0 1 pinlabel=CLK T 375 200 5 8 0 1 0 2 1 pintype=clk } B 300 0 1400 2600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 2850 5 10 0 0 0 0 1 device=74164 T 1700 2700 8 10 1 1 0 6 1 refdes=U? T 300 3050 5 10 0 0 0 0 1 footprint=DIP14 T 300 3250 5 10 0 0 0 0 1 description=8-bit serial-in/parallel-out shift register T 300 3850 5 10 0 0 0 0 1 numslots=0 T 300 3450 5 10 0 0 0 0 1 net=Vcc:14 T 300 3650 5 10 0 0 0 0 1 net=GND:7 T 300 2640 9 10 1 0 0 0 1 74164 L 375 200 300 250 3 0 0 0 -1 -1 L 375 200 300 150 3 0 0 0 -1 -1 T 300 4050 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc164.pdf geda-gaf-1.8.2/symbols/74/74141-1.sym0000664000175000017500000000643112204104272013370 00000000000000v 20031231 1 P 0 3800 300 3800 1 0 0 { T 200 3850 5 8 1 1 0 6 1 pinnumber=3 T 200 3750 5 8 0 1 0 8 1 pinseq=1 T 350 3800 9 8 1 1 0 0 1 pinlabel=A0 T 350 3800 5 8 0 1 0 2 1 pintype=in } P 2000 3800 1800 3800 1 0 0 { T 1800 3850 5 8 1 1 0 0 1 pinnumber=16 T 1800 3750 5 8 0 1 0 2 1 pinseq=2 T 1650 3800 9 8 1 1 0 6 1 pinlabel=Y0 T 1650 3800 5 8 0 1 0 8 1 pintype=oc } V 1750 3800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3400 300 3400 1 0 0 { T 200 3450 5 8 1 1 0 6 1 pinnumber=6 T 200 3350 5 8 0 1 0 8 1 pinseq=3 T 350 3400 9 8 1 1 0 0 1 pinlabel=A1 T 350 3400 5 8 0 1 0 2 1 pintype=in } P 2000 3400 1800 3400 1 0 0 { T 1800 3450 5 8 1 1 0 0 1 pinnumber=15 T 1800 3350 5 8 0 1 0 2 1 pinseq=4 T 1650 3400 9 8 1 1 0 6 1 pinlabel=Y1 T 1650 3400 5 8 0 1 0 8 1 pintype=oc } V 1750 3400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=7 T 200 2950 5 8 0 1 0 8 1 pinseq=5 T 350 3000 9 8 1 1 0 0 1 pinlabel=A2 T 350 3000 5 8 0 1 0 2 1 pintype=in } P 2000 3000 1800 3000 1 0 0 { T 1800 3050 5 8 1 1 0 0 1 pinnumber=8 T 1800 2950 5 8 0 1 0 2 1 pinseq=6 T 1650 3000 9 8 1 1 0 6 1 pinlabel=Y2 T 1650 3000 5 8 0 1 0 8 1 pintype=oc } V 1750 3000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=4 T 200 2550 5 8 0 1 0 8 1 pinseq=7 T 350 2600 9 8 1 1 0 0 1 pinlabel=A3 T 350 2600 5 8 0 1 0 2 1 pintype=in } P 2000 2600 1800 2600 1 0 0 { T 1800 2650 5 8 1 1 0 0 1 pinnumber=9 T 1800 2550 5 8 0 1 0 2 1 pinseq=8 T 1650 2600 9 8 1 1 0 6 1 pinlabel=Y3 T 1650 2600 5 8 0 1 0 8 1 pintype=oc } V 1750 2600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 2200 1800 2200 1 0 0 { T 1800 2250 5 8 1 1 0 0 1 pinnumber=13 T 1800 2150 5 8 0 1 0 2 1 pinseq=9 T 1650 2200 9 8 1 1 0 6 1 pinlabel=Y4 T 1650 2200 5 8 0 1 0 8 1 pintype=oc } V 1750 2200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 1800 1800 1800 1 0 0 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=14 T 1800 1750 5 8 0 1 0 2 1 pinseq=10 T 1650 1800 9 8 1 1 0 6 1 pinlabel=Y5 T 1650 1800 5 8 0 1 0 8 1 pintype=oc } V 1750 1800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 1400 1800 1400 1 0 0 { T 1800 1450 5 8 1 1 0 0 1 pinnumber=11 T 1800 1350 5 8 0 1 0 2 1 pinseq=11 T 1650 1400 9 8 1 1 0 6 1 pinlabel=Y6 T 1650 1400 5 8 0 1 0 8 1 pintype=oc } V 1750 1400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 1000 1800 1000 1 0 0 { T 1800 1050 5 8 1 1 0 0 1 pinnumber=10 T 1800 950 5 8 0 1 0 2 1 pinseq=12 T 1650 1000 9 8 1 1 0 6 1 pinlabel=Y7 T 1650 1000 5 8 0 1 0 8 1 pintype=oc } V 1750 1000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 600 1800 600 1 0 0 { T 1800 650 5 8 1 1 0 0 1 pinnumber=1 T 1800 550 5 8 0 1 0 2 1 pinseq=13 T 1650 600 9 8 1 1 0 6 1 pinlabel=Y8 T 1650 600 5 8 0 1 0 8 1 pintype=oc } V 1750 600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 200 1800 200 1 0 0 { T 1800 250 5 8 1 1 0 0 1 pinnumber=2 T 1800 150 5 8 0 1 0 2 1 pinseq=14 T 1650 200 9 8 1 1 0 6 1 pinlabel=Y9 T 1650 200 5 8 0 1 0 8 1 pintype=oc } V 1750 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 300 0 1400 4100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4540 5 10 0 0 0 0 1 device=74141 T 300 4340 5 10 0 0 0 0 1 footprint=DIP16 T 1700 4200 8 10 1 1 0 6 1 refdes=U? T 300 4750 5 10 0 0 0 0 1 description=BCD to decimaldecoder with open collector output T 300 5350 5 10 0 0 0 0 1 numslots=0 T 300 4950 5 10 0 0 0 0 1 net=Vcc:5 T 300 5150 5 10 0 0 0 0 1 net=GND:12 T 300 4140 9 10 1 0 0 0 1 74141 geda-gaf-1.8.2/symbols/74/7451-1.sym0000664000175000017500000001124412204104272013306 00000000000000v 20031231 1 P 0 4200 300 4200 1 0 0 { T 200 4250 5 8 1 1 0 6 1 pinnumber=1 T 200 4150 5 8 0 1 0 8 1 pinseq=1 T 350 4200 9 8 1 1 0 0 1 pinlabel=1A T 350 4200 5 8 0 1 0 2 1 pintype=in } P 2000 4200 1800 4200 1 0 0 { T 1800 4250 5 8 1 1 0 0 1 pinnumber=8 T 1800 4150 5 8 0 1 0 2 1 pinseq=2 T 1650 4200 9 8 1 1 0 6 1 pinlabel=1Y T 1650 4200 5 8 0 1 0 8 1 pintype=out } V 1750 4200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3800 300 3800 1 0 0 { T 200 3850 5 8 1 1 0 6 1 pinnumber=13 T 200 3750 5 8 0 1 0 8 1 pinseq=3 T 350 3800 9 8 1 1 0 0 1 pinlabel=1B T 350 3800 5 8 0 1 0 2 1 pintype=in } P 0 3400 300 3400 1 0 0 { T 200 3450 5 8 1 1 0 6 1 pinnumber=12 T 200 3350 5 8 0 1 0 8 1 pinseq=4 T 350 3400 9 8 1 1 0 0 1 pinlabel=1C T 350 3400 5 8 0 1 0 2 1 pintype=in } P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=11 T 200 2950 5 8 0 1 0 8 1 pinseq=5 T 350 3000 9 8 1 1 0 0 1 pinlabel=1D T 350 3000 5 8 0 1 0 2 1 pintype=in } P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=10 T 200 2550 5 8 0 1 0 8 1 pinseq=6 T 350 2600 9 8 1 1 0 0 1 pinlabel=1E T 350 2600 5 8 0 1 0 2 1 pintype=in } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=9 T 200 2150 5 8 0 1 0 8 1 pinseq=7 T 350 2200 9 8 1 1 0 0 1 pinlabel=1F T 350 2200 5 8 0 1 0 2 1 pintype=in } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=2 T 200 1350 5 8 0 1 0 8 1 pinseq=8 T 350 1400 9 8 1 1 0 0 1 pinlabel=2A T 350 1400 5 8 0 1 0 2 1 pintype=in } P 2000 1400 1800 1400 1 0 0 { T 1800 1450 5 8 1 1 0 0 1 pinnumber=6 T 1800 1350 5 8 0 1 0 2 1 pinseq=9 T 1650 1400 9 8 1 1 0 6 1 pinlabel=2Y T 1650 1400 5 8 0 1 0 8 1 pintype=out } V 1750 1400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=3 T 200 950 5 8 0 1 0 8 1 pinseq=10 T 350 1000 9 8 1 1 0 0 1 pinlabel=2B T 350 1000 5 8 0 1 0 2 1 pintype=in } P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=4 T 200 550 5 8 0 1 0 8 1 pinseq=11 T 350 600 9 8 1 1 0 0 1 pinlabel=2C T 350 600 5 8 0 1 0 2 1 pintype=in } P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=5 T 200 150 5 8 0 1 0 8 1 pinseq=12 T 350 200 9 8 1 1 0 0 1 pinlabel=2D T 350 200 5 8 0 1 0 2 1 pintype=in } B 300 0 1400 4500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4940 5 10 0 0 0 0 1 device=7451 T 300 4740 5 10 0 0 0 0 1 footprint=DIP14 T 1700 4600 8 10 1 1 0 6 1 refdes=U? T 300 5150 5 10 0 0 0 0 1 description=combined AND/NOR gates T 300 5350 5 10 0 0 0 0 1 net=Vcc:14 T 300 5550 5 10 0 0 0 0 1 net=GND:7 T 300 4540 9 10 1 0 0 0 1 7451 L 300 1800 1700 1800 3 0 0 0 -1 -1 L 700 4100 700 3500 3 0 0 0 -1 -1 L 600 4000 700 4000 3 0 0 0 -1 -1 L 600 3800 700 3800 3 0 0 0 -1 -1 L 600 3600 700 3600 3 0 0 0 -1 -1 L 700 3900 900 3900 3 0 0 0 -1 -1 L 700 3700 900 3700 3 0 0 0 -1 -1 A 900 3800 101 271 178 3 0 0 0 -1 -1 L 700 2900 700 2300 3 0 0 0 -1 -1 L 600 2800 700 2800 3 0 0 0 -1 -1 L 600 2600 700 2600 3 0 0 0 -1 -1 L 600 2400 700 2400 3 0 0 0 -1 -1 L 700 2700 900 2700 3 0 0 0 -1 -1 L 700 2500 900 2500 3 0 0 0 -1 -1 A 900 2600 101 271 178 3 0 0 0 -1 -1 L 1000 2600 1100 2600 3 0 0 0 -1 -1 L 1100 2600 1100 2900 3 0 0 0 -1 -1 L 1100 2900 900 2900 3 0 0 0 -1 -1 L 900 2900 900 3150 3 0 0 0 -1 -1 L 1000 3800 1100 3800 3 0 0 0 -1 -1 L 1100 3800 1100 3500 3 0 0 0 -1 -1 L 1100 3500 900 3500 3 0 0 0 -1 -1 L 900 3500 900 3250 3 0 0 0 -1 -1 L 900 3250 1040 3250 3 0 0 0 -1 -1 L 900 3150 1040 3150 3 0 0 0 -1 -1 A 900 3200 146 300 120 3 0 0 0 -1 -1 L 970 3330 1100 3330 3 0 0 0 -1 -1 L 970 3070 1100 3070 3 0 0 0 -1 -1 A 1100 3330 260 270 60 3 0 0 0 -1 -1 A 1100 3070 260 30 60 3 0 0 0 -1 -1 V 1350 3200 20 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 1370 3200 1450 3200 3 0 0 0 -1 -1 L 710 1330 710 1130 3 0 0 0 -1 -1 L 610 1300 710 1300 3 0 0 0 -1 -1 L 610 1160 710 1160 3 0 0 0 -1 -1 L 710 1330 910 1330 3 0 0 0 -1 -1 L 710 1130 910 1130 3 0 0 0 -1 -1 A 910 1230 101 271 178 3 0 0 0 -1 -1 L 710 520 710 320 3 0 0 0 -1 -1 L 610 490 710 490 3 0 0 0 -1 -1 L 610 350 710 350 3 0 0 0 -1 -1 L 710 520 910 520 3 0 0 0 -1 -1 L 710 320 910 320 3 0 0 0 -1 -1 A 910 420 101 271 178 3 0 0 0 -1 -1 L 1010 420 1110 420 3 0 0 0 -1 -1 L 1110 420 1110 620 3 0 0 0 -1 -1 L 1110 620 910 620 3 0 0 0 -1 -1 L 910 620 910 800 3 0 0 0 -1 -1 L 1010 1230 1110 1230 3 0 0 0 -1 -1 L 1110 1230 1110 1050 3 0 0 0 -1 -1 L 1110 1050 910 1050 3 0 0 0 -1 -1 L 910 1050 910 900 3 0 0 0 -1 -1 L 910 900 1050 900 3 0 0 0 -1 -1 L 910 800 1050 800 3 0 0 0 -1 -1 A 910 850 146 300 120 3 0 0 0 -1 -1 L 980 980 1110 980 3 0 0 0 -1 -1 L 980 720 1110 720 3 0 0 0 -1 -1 A 1110 980 260 270 60 3 0 0 0 -1 -1 A 1110 720 260 30 60 3 0 0 0 -1 -1 V 1360 850 20 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 1380 850 1460 850 3 0 0 0 -1 -1 T 300 5750 5 10 0 0 0 0 1 comment=Attention: on some devices the pins 12 and 11 are not connected T 300 5950 5 10 0 0 0 0 1 numslots=0 geda-gaf-1.8.2/symbols/74/74158-1.sym0000664000175000017500000000607112204104272013400 00000000000000v 20031231 1 P 0 3800 300 3800 1 0 0 { T 200 3850 5 8 1 1 0 6 1 pinnumber=2 T 200 3750 5 8 0 1 0 8 1 pinseq=1 T 350 3800 9 8 1 1 0 0 1 pinlabel=1A T 350 3800 5 8 0 1 0 2 1 pintype=in } P 2000 3800 1800 3800 1 0 0 { T 1800 3850 5 8 1 1 0 0 1 pinnumber=4 T 1800 3750 5 8 0 1 0 2 1 pinseq=2 T 1650 3800 9 8 1 1 0 6 1 pinlabel=1Y T 1650 3800 5 8 0 1 0 8 1 pintype=out } V 1750 3800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3400 300 3400 1 0 0 { T 200 3450 5 8 1 1 0 6 1 pinnumber=3 T 200 3350 5 8 0 1 0 8 1 pinseq=3 T 350 3400 9 8 1 1 0 0 1 pinlabel=1B T 350 3400 5 8 0 1 0 2 1 pintype=in } P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=5 T 200 2950 5 8 0 1 0 8 1 pinseq=4 T 350 3000 9 8 1 1 0 0 1 pinlabel=2A T 350 3000 5 8 0 1 0 2 1 pintype=in } P 2000 3000 1800 3000 1 0 0 { T 1800 3050 5 8 1 1 0 0 1 pinnumber=7 T 1800 2950 5 8 0 1 0 2 1 pinseq=5 T 1650 3000 9 8 1 1 0 6 1 pinlabel=2Y T 1650 3000 5 8 0 1 0 8 1 pintype=out } V 1750 3000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=6 T 200 2550 5 8 0 1 0 8 1 pinseq=6 T 350 2600 9 8 1 1 0 0 1 pinlabel=2B T 350 2600 5 8 0 1 0 2 1 pintype=in } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=14 T 200 2150 5 8 0 1 0 8 1 pinseq=7 T 350 2200 9 8 1 1 0 0 1 pinlabel=3A T 350 2200 5 8 0 1 0 2 1 pintype=in } P 2000 2200 1800 2200 1 0 0 { T 1800 2250 5 8 1 1 0 0 1 pinnumber=12 T 1800 2150 5 8 0 1 0 2 1 pinseq=8 T 1650 2200 9 8 1 1 0 6 1 pinlabel=3Y T 1650 2200 5 8 0 1 0 8 1 pintype=out } V 1750 2200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=13 T 200 1750 5 8 0 1 0 8 1 pinseq=9 T 350 1800 9 8 1 1 0 0 1 pinlabel=3B T 350 1800 5 8 0 1 0 2 1 pintype=in } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=11 T 200 1350 5 8 0 1 0 8 1 pinseq=10 T 350 1400 9 8 1 1 0 0 1 pinlabel=4A T 350 1400 5 8 0 1 0 2 1 pintype=in } P 2000 1400 1800 1400 1 0 0 { T 1800 1450 5 8 1 1 0 0 1 pinnumber=9 T 1800 1350 5 8 0 1 0 2 1 pinseq=11 T 1650 1400 9 8 1 1 0 6 1 pinlabel=4Y T 1650 1400 5 8 0 1 0 8 1 pintype=out } V 1750 1400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=10 T 200 950 5 8 0 1 0 8 1 pinseq=12 T 350 1000 9 8 1 1 0 0 1 pinlabel=4B T 350 1000 5 8 0 1 0 2 1 pintype=in } P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=1 T 200 550 5 8 0 1 0 8 1 pinseq=13 T 350 600 9 8 1 1 0 0 1 pinlabel=S T 350 600 5 8 0 1 0 2 1 pintype=in } P 0 200 200 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=15 T 200 150 5 8 0 1 0 8 1 pinseq=14 T 350 200 9 8 1 1 0 0 1 pinlabel=E T 350 200 5 8 0 1 0 2 1 pintype=in } V 250 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 300 0 1400 4100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4540 5 10 0 0 0 0 1 device=74158 T 300 4340 5 10 0 0 0 0 1 footprint=DIP16 T 1700 4200 8 10 1 1 0 6 1 refdes=U? T 300 4750 5 10 0 0 0 0 1 description=4 2-to-1 mutliplexer T 300 5350 5 10 0 0 0 0 1 numslots=0 T 300 4950 5 10 0 0 0 0 1 net=Vcc:16 T 300 5150 5 10 0 0 0 0 1 net=GND:8 T 300 4140 9 10 1 0 0 0 1 74158 T 300 5550 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc158.pdf geda-gaf-1.8.2/symbols/74/7497-1.sym0000664000175000017500000000612312204104272013320 00000000000000v 20070626 1 P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=4 T 200 2550 5 8 0 1 0 8 1 pinseq=1 T 350 2600 9 8 1 1 0 0 1 pinlabel=B0 T 350 2600 5 8 0 1 0 2 1 pintype=in } P 1700 2600 2000 2600 1 0 1 { T 1800 2650 5 8 1 1 0 0 1 pinnumber=13 T 1800 2550 5 8 0 1 0 2 1 pinseq=2 T 1650 2600 9 8 1 1 0 6 1 pinlabel=RST T 1650 2600 5 8 0 1 0 8 1 pintype=in } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=1 T 200 2150 5 8 0 1 0 8 1 pinseq=3 T 350 2200 9 8 1 1 0 0 1 pinlabel=B1 T 350 2200 5 8 0 1 0 2 1 pintype=in } P 1700 2200 2000 2200 1 0 1 { T 1800 2250 5 8 1 1 0 0 1 pinnumber=12 T 1800 2150 5 8 0 1 0 2 1 pinseq=4 T 1650 2200 9 8 1 1 0 6 1 pinlabel=U/CAS T 1650 2200 5 8 0 1 0 8 1 pintype=in } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=14 T 200 1750 5 8 0 1 0 8 1 pinseq=5 T 350 1800 9 8 1 1 0 0 1 pinlabel=B2 T 350 1800 5 8 0 1 0 2 1 pintype=in } P 1800 1800 2000 1800 1 0 1 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=10 T 1800 1750 5 8 0 1 0 2 1 pinseq=6 T 1650 1800 9 8 1 1 0 6 1 pinlabel=\_STRB\_ T 1650 1800 5 8 0 1 0 8 1 pintype=in } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=15 T 200 1350 5 8 0 1 0 8 1 pinseq=7 T 350 1400 9 8 1 1 0 0 1 pinlabel=B3 T 350 1400 5 8 0 1 0 2 1 pintype=in } P 1700 1400 2000 1400 1 0 1 { T 1800 1450 5 8 1 1 0 0 1 pinnumber=9 T 1800 1350 5 8 0 1 0 2 1 pinseq=8 T 1625 1400 9 8 1 1 0 6 1 pinlabel=CLK T 1625 1400 5 8 0 1 0 8 1 pintype=clk } P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=2 T 200 950 5 8 0 1 0 8 1 pinseq=9 T 350 1000 9 8 1 1 0 0 1 pinlabel=B4 T 350 1000 5 8 0 1 0 2 1 pintype=in } P 1800 1000 2000 1000 1 0 1 { T 1800 1050 5 8 1 1 0 0 1 pinnumber=5 T 1800 950 5 8 0 1 0 2 1 pinseq=10 T 1650 1000 9 8 1 1 0 6 1 pinlabel=Z T 1650 1000 5 8 0 1 0 8 1 pintype=out } P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=3 T 200 550 5 8 0 1 0 8 1 pinseq=11 T 350 600 9 8 1 1 0 0 1 pinlabel=B5 T 350 600 5 8 0 1 0 2 1 pintype=in } P 1700 600 2000 600 1 0 1 { T 1800 650 5 8 1 1 0 0 1 pinnumber=6 T 1800 550 5 8 0 1 0 2 1 pinseq=12 T 1650 600 9 8 1 1 0 6 1 pinlabel=Y T 1650 600 5 8 0 1 0 8 1 pintype=out } P 0 200 200 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=11 T 200 150 5 8 0 1 0 8 1 pinseq=13 T 350 200 9 8 1 1 0 0 1 pinlabel=\_ENi\_ T 350 200 5 8 0 1 0 2 1 pintype=in } B 300 0 1400 2900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4340 5 10 0 0 0 0 1 symversion=1.0 T 300 3940 5 10 0 0 0 0 1 footprint=DIP16 T 1700 3000 8 10 1 1 0 6 1 refdes=U? T 300 3350 5 10 0 0 0 0 1 description=programmable frequency divider T 300 3550 5 10 0 0 0 0 1 net=Vcc:16 T 300 3750 5 10 0 0 0 0 1 net=GND:8 T 300 2940 9 10 1 0 0 0 1 7497 L 1625 1400 1700 1450 3 0 0 0 -1 -1 L 1625 1400 1700 1350 3 0 0 0 -1 -1 V 250 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1750 1800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1750 1000 47 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4140 5 10 0 0 0 0 1 numslots=0 V 1750 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1800 200 2000 200 1 0 1 { T 1800 250 5 8 1 1 0 0 1 pinnumber=7 T 1800 150 5 8 0 1 0 2 1 pinseq=14 T 1650 200 9 8 1 1 0 6 1 pinlabel=\_ENo\_ T 1650 200 5 8 0 1 0 8 1 pintype=out } T 300 3140 5 10 0 0 0 0 1 device=7497 geda-gaf-1.8.2/symbols/74/74196-1.sym0000664000175000017500000000536112204104272013403 00000000000000v 20070626 1 P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=4 T 200 2950 5 8 0 1 0 8 1 pinseq=1 T 350 3000 9 8 1 1 0 0 1 pinlabel=P0 T 350 3000 5 8 0 1 0 2 1 pintype=in } P 2000 3000 1700 3000 1 0 0 { T 1800 3050 5 8 1 1 0 0 1 pinnumber=5 T 1800 2950 5 8 0 1 0 2 1 pinseq=2 T 1650 3000 9 8 1 1 0 6 1 pinlabel=Q0 T 1650 3000 5 8 0 1 0 8 1 pintype=out } P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=10 T 200 2550 5 8 0 1 0 8 1 pinseq=3 T 350 2600 9 8 1 1 0 0 1 pinlabel=P1 T 350 2600 5 8 0 1 0 2 1 pintype=in } P 2000 2600 1700 2600 1 0 0 { T 1800 2650 5 8 1 1 0 0 1 pinnumber=9 T 1800 2550 5 8 0 1 0 2 1 pinseq=4 T 1650 2600 9 8 1 1 0 6 1 pinlabel=Q1 T 1650 2600 5 8 0 1 0 8 1 pintype=out } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=3 T 200 2150 5 8 0 1 0 8 1 pinseq=5 T 350 2200 9 8 1 1 0 0 1 pinlabel=P2 T 350 2200 5 8 0 1 0 2 1 pintype=in } P 2000 2200 1700 2200 1 0 0 { T 1800 2250 5 8 1 1 0 0 1 pinnumber=2 T 1800 2150 5 8 0 1 0 2 1 pinseq=6 T 1650 2200 9 8 1 1 0 6 1 pinlabel=Q2 T 1650 2200 5 8 0 1 0 8 1 pintype=out } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=11 T 200 1750 5 8 0 1 0 8 1 pinseq=7 T 350 1800 9 8 1 1 0 0 1 pinlabel=P3 T 350 1800 5 8 0 1 0 2 1 pintype=in } P 2000 1800 1700 1800 1 0 0 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=12 T 1800 1750 5 8 0 1 0 2 1 pinseq=8 T 1650 1800 9 8 1 1 0 6 1 pinlabel=Q3 T 1650 1800 5 8 0 1 0 8 1 pintype=out } P 0 1400 200 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=1 T 200 1350 5 8 0 1 0 8 1 pinseq=9 T 350 1400 9 8 1 1 0 0 1 pinlabel=\_PL\_ T 350 1400 5 8 0 1 0 2 1 pintype=in } P 0 1000 200 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=13 T 200 950 5 8 0 1 0 8 1 pinseq=10 T 350 1000 9 8 1 1 0 0 1 pinlabel=\_MR\_ T 350 1000 5 8 0 1 0 2 1 pintype=in } V 250 1000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 600 200 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=8 T 200 550 5 8 0 1 0 8 1 pinseq=11 T 375 600 9 8 1 1 0 0 1 pinlabel=CP0 T 375 600 5 8 0 1 0 2 1 pintype=clk } V 250 600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 200 200 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=6 T 200 150 5 8 0 1 0 8 1 pinseq=12 T 375 200 9 8 1 1 0 0 1 pinlabel=CP1 T 375 200 5 8 0 1 0 2 1 pintype=clk } B 300 0 1400 3300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 3740 5 10 0 0 0 0 1 device=74196 T 300 3540 5 10 0 0 0 0 1 footprint=DIP14 T 1700 3400 8 10 1 1 0 6 1 refdes=U? T 300 3950 5 10 0 0 0 0 1 description=programmable decimal counter T 300 4550 5 10 0 0 0 0 1 numslots=0 T 300 4150 5 10 0 0 0 0 1 net=Vcc:14 T 300 4350 5 10 0 0 0 0 1 net=GND:7 T 300 3340 9 10 1 0 0 0 1 74196 V 250 1400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 375 600 300 650 3 0 0 0 -1 -1 L 375 600 300 550 3 0 0 0 -1 -1 L 375 200 300 150 3 0 0 0 -1 -1 V 250 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 375 200 300 250 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/74/74123-3.sym0000664000175000017500000000365412204104272013376 00000000000000v 20070626 1 P 0 1300 200 1300 1 0 0 { T 200 1350 5 8 1 1 0 6 1 pinnumber=1 T 200 1250 5 8 0 1 0 8 1 pinseq=1 T 350 1300 9 8 1 1 0 0 1 pinlabel=A T 350 1300 5 8 0 1 0 2 1 pintype=in } P 2000 1300 1700 1300 1 0 0 { T 1800 1350 5 8 1 1 0 0 1 pinnumber=13 T 1800 1250 5 8 0 1 0 2 1 pinseq=2 T 1650 1300 9 8 1 1 0 6 1 pinlabel=Q T 1650 1300 5 8 0 1 0 8 1 pintype=out } P 0 900 300 900 1 0 0 { T 200 950 5 8 1 1 0 6 1 pinnumber=2 T 200 850 5 8 0 1 0 8 1 pinseq=3 T 350 900 9 8 1 1 0 0 1 pinlabel=B T 350 900 5 8 0 1 0 2 1 pintype=in } P 2000 500 1700 500 1 0 0 { T 1800 550 5 8 1 1 0 0 1 pinnumber=14 T 1800 450 5 8 0 1 0 2 1 pinseq=6 T 1650 500 9 8 1 1 0 6 1 pinlabel=Ce T 1650 500 5 8 0 1 0 8 1 pintype=pas } P 0 500 200 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=3 T 200 450 5 8 0 1 0 8 1 pinseq=5 T 350 500 9 8 1 1 0 0 1 pinlabel=\_CLR\_ T 350 500 5 8 0 1 0 2 1 pintype=in } P 2000 100 1700 100 1 0 0 { T 1800 150 5 8 1 1 0 0 1 pinnumber=15 T 1800 50 5 8 0 1 0 2 1 pinseq=7 T 1650 100 9 8 1 1 0 6 1 pinlabel=Re/Ce T 1650 100 5 8 0 1 0 8 1 pintype=pas } B 300 0 1400 1600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 1840 5 10 0 0 0 0 1 device=74123 T 300 2040 5 10 0 0 0 0 1 footprint=DIP16 T 300 2640 5 10 0 0 0 0 1 numslots=2 T 300 2440 5 10 0 0 0 0 1 slotdef=1:1,13,2,4,3,14,15 T 300 2240 5 10 0 0 0 0 1 slotdef=2:9,5,10,12,11,6,7 T 1700 1700 8 10 1 1 0 6 1 refdes=U? P 2000 900 1700 900 1 0 0 { T 1800 950 5 8 1 1 0 0 1 pinnumber=4 T 1800 850 5 8 0 1 0 2 1 pinseq=4 T 1650 900 9 8 1 1 0 6 1 pinlabel=\_Q\_ T 1650 900 5 8 0 1 0 8 1 pintype=out } T 300 3050 5 10 0 0 0 0 1 description=2 retriggerable monoflops with clear T 300 3250 5 10 0 0 0 0 1 net=Vcc:16 T 300 3450 5 10 0 0 0 0 1 net=GND:8 T 300 1640 9 10 1 0 0 0 1 74123 V 250 1300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 2840 5 10 0 0 0 0 1 slot=1 V 250 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 3650 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/74HC_HCT123_CNV_2.pdf geda-gaf-1.8.2/symbols/74/7403-2.sym0000664000175000017500000000252012204104272013301 00000000000000v 20031231 1 L 260 200 600 200 3 0 0 0 -1 -1 L 260 800 600 800 3 0 0 0 -1 -1 T 400 900 5 10 0 0 0 0 1 device=7403 T 400 1100 5 10 0 0 0 0 1 numslots=4 T 400 1300 5 10 0 0 0 0 1 slotdef=1:1,2,3 T 400 1500 5 10 0 0 0 0 1 slotdef=2:4,5,6 T 400 1700 5 10 0 0 0 0 1 slotdef=3:9,10,8 T 400 1900 5 10 0 0 0 0 1 slotdef=4:12,13,11 T 300 0 9 8 1 0 0 0 1 7403 A 0 500 400 312 97 3 0 0 0 -1 -1 V 250 700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 988 500 1300 500 1 0 1 { T 1100 550 5 8 1 1 0 0 1 pinnumber=3 T 1100 450 5 8 0 1 0 2 1 pinseq=3 T 950 500 9 8 0 1 0 6 1 pinlabel=Y T 950 500 5 8 0 1 0 8 1 pintype=oc } P 200 700 0 700 1 0 1 { T 200 750 5 8 1 1 0 6 1 pinnumber=1 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 0 1 0 0 1 pinlabel=A T 350 700 5 8 0 1 0 2 1 pintype=in } P 200 300 0 300 1 0 1 { T 200 350 5 8 1 1 0 6 1 pinnumber=2 T 200 250 5 8 0 1 0 8 1 pinseq=2 T 350 300 9 8 0 1 0 0 1 pinlabel=B T 350 300 5 8 0 1 0 2 1 pintype=in } A 600 600 400 270 76 3 0 0 0 -1 -1 A 600 400 400 14 76 3 0 0 0 -1 -1 T 300 900 8 10 1 1 0 0 1 refdes=U? T 400 2100 5 10 0 0 0 0 1 footprint=DIP14 T 400 2300 5 10 0 0 0 0 1 description=4 NOR gates with 2 inputs and open collector outputs T 400 2500 5 10 0 0 0 0 1 net=GND:7 T 400 2700 5 10 0 0 0 0 1 net=Vcc:14 T 400 2900 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc03.pdf geda-gaf-1.8.2/symbols/74/7446-1.sym0000664000175000017500000000574712204104272013325 00000000000000v 20070626 1 P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=7 T 200 2550 5 8 0 1 0 8 1 pinseq=1 T 350 2600 9 8 1 1 0 0 1 pinlabel=A T 350 2600 5 8 0 1 0 2 1 pintype=in } P 2000 2600 1700 2600 1 0 0 { T 1800 2650 5 8 1 1 0 0 1 pinnumber=13 T 1800 2550 5 8 0 1 0 2 1 pinseq=2 T 1650 2600 9 8 1 1 0 6 1 pinlabel=a T 1650 2600 5 8 0 1 0 8 1 pintype=oc } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=1 T 200 2150 5 8 0 1 0 8 1 pinseq=3 T 350 2200 9 8 1 1 0 0 1 pinlabel=B T 350 2200 5 8 0 1 0 2 1 pintype=in } P 2000 2200 1700 2200 1 0 0 { T 1800 2250 5 8 1 1 0 0 1 pinnumber=12 T 1800 2150 5 8 0 1 0 2 1 pinseq=4 T 1650 2200 9 8 1 1 0 6 1 pinlabel=b T 1650 2200 5 8 0 1 0 8 1 pintype=oc } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=2 T 200 1750 5 8 0 1 0 8 1 pinseq=5 T 350 1800 9 8 1 1 0 0 1 pinlabel=C T 350 1800 5 8 0 1 0 2 1 pintype=in } P 2000 1800 1700 1800 1 0 0 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=11 T 1800 1750 5 8 0 1 0 2 1 pinseq=6 T 1650 1800 9 8 1 1 0 6 1 pinlabel=c T 1650 1800 5 8 0 1 0 8 1 pintype=oc } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=6 T 200 1350 5 8 0 1 0 8 1 pinseq=7 T 350 1400 9 8 1 1 0 0 1 pinlabel=D T 350 1400 5 8 0 1 0 2 1 pintype=in } P 2000 1400 1700 1400 1 0 0 { T 1800 1450 5 8 1 1 0 0 1 pinnumber=10 T 1800 1350 5 8 0 1 0 2 1 pinseq=8 T 1650 1400 9 8 1 1 0 6 1 pinlabel=d T 1650 1400 5 8 0 1 0 8 1 pintype=oc } P 2000 1000 1700 1000 1 0 0 { T 1800 1050 5 8 1 1 0 0 1 pinnumber=9 T 1800 950 5 8 0 1 0 2 1 pinseq=9 T 1650 1000 9 8 1 1 0 6 1 pinlabel=e T 1650 1000 5 8 0 1 0 8 1 pintype=oc } P 0 600 200 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=4 T 200 550 5 8 0 1 0 8 1 pinseq=10 T 350 600 9 8 1 1 0 0 1 pinlabel=\_BI/RBO\_ T 350 600 5 8 0 1 0 2 1 pintype=io } V 250 600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 600 1700 600 1 0 0 { T 1800 650 5 8 1 1 0 0 1 pinnumber=15 T 1800 550 5 8 0 1 0 2 1 pinseq=11 T 1650 600 9 8 1 1 0 6 1 pinlabel=f T 1650 600 5 8 0 1 0 8 1 pintype=oc } P 0 200 200 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=5 T 200 150 5 8 0 1 0 8 1 pinseq=12 T 350 200 9 8 1 1 0 0 1 pinlabel=\_RBI\_ T 350 200 5 8 0 1 0 2 1 pintype=in } V 250 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 200 1700 200 1 0 0 { T 1800 250 5 8 1 1 0 0 1 pinnumber=14 T 1800 150 5 8 0 1 0 2 1 pinseq=13 T 1650 200 9 8 1 1 0 6 1 pinlabel=g T 1650 200 5 8 0 1 0 8 1 pintype=oc } B 300 0 1400 2900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 3340 5 10 0 0 0 0 1 device=7446 T 300 3140 5 10 0 0 0 0 1 footprint=DIP16 T 300 2940 9 10 1 0 0 0 1 7446 T 1700 3000 8 10 1 1 0 6 1 refdes=U? T 300 3550 5 10 0 0 0 0 1 description=BCD to 7-segment decoder with open collector driver outputs T 300 3750 5 10 0 0 0 0 1 net=Vcc:16 T 300 3950 5 10 0 0 0 0 1 net=GND:8 T 300 4150 5 10 0 0 0 0 1 numslots=0 P 0 1000 200 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=3 T 200 950 5 8 0 1 0 8 1 pinseq=14 T 350 1000 9 8 1 1 0 0 1 pinlabel=\_LT\_ T 350 1000 5 8 0 1 0 2 1 pintype=in } V 250 1000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4350 5 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/74/74192-1.sym0000664000175000017500000000631412204104272013376 00000000000000v 20070626 1 P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=15 T 200 2950 5 8 0 1 0 8 1 pinseq=1 T 350 3000 9 8 1 1 0 0 1 pinlabel=P0 T 350 3000 5 8 0 1 0 2 1 pintype=in } P 2000 3000 1700 3000 1 0 0 { T 1800 3050 5 8 1 1 0 0 1 pinnumber=3 T 1800 2950 5 8 0 1 0 2 1 pinseq=2 T 1650 3000 9 8 1 1 0 6 1 pinlabel=Q0 T 1650 3000 5 8 0 1 0 8 1 pintype=out } P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=1 T 200 2550 5 8 0 1 0 8 1 pinseq=3 T 350 2600 9 8 1 1 0 0 1 pinlabel=P1 T 350 2600 5 8 0 1 0 2 1 pintype=in } P 2000 2600 1700 2600 1 0 0 { T 1800 2650 5 8 1 1 0 0 1 pinnumber=2 T 1800 2550 5 8 0 1 0 2 1 pinseq=4 T 1650 2600 9 8 1 1 0 6 1 pinlabel=Q1 T 1650 2600 5 8 0 1 0 8 1 pintype=out } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=10 T 200 2150 5 8 0 1 0 8 1 pinseq=5 T 350 2200 9 8 1 1 0 0 1 pinlabel=P2 T 350 2200 5 8 0 1 0 2 1 pintype=in } P 2000 2200 1700 2200 1 0 0 { T 1800 2250 5 8 1 1 0 0 1 pinnumber=6 T 1800 2150 5 8 0 1 0 2 1 pinseq=6 T 1650 2200 9 8 1 1 0 6 1 pinlabel=Q2 T 1650 2200 5 8 0 1 0 8 1 pintype=out } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=9 T 200 1750 5 8 0 1 0 8 1 pinseq=7 T 350 1800 9 8 1 1 0 0 1 pinlabel=P3 T 350 1800 5 8 0 1 0 2 1 pintype=in } P 2000 1800 1700 1800 1 0 0 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=7 T 1800 1750 5 8 0 1 0 2 1 pinseq=8 T 1650 1800 9 8 1 1 0 6 1 pinlabel=Q3 T 1650 1800 5 8 0 1 0 8 1 pintype=out } P 0 1400 200 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=11 T 200 1350 5 8 0 1 0 8 1 pinseq=9 T 350 1400 9 8 1 1 0 0 1 pinlabel=\_LOAD\_ T 350 1400 5 8 0 1 0 2 1 pintype=in } V 250 1400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 1400 1800 1400 1 0 0 { T 1800 1450 5 8 1 1 0 0 1 pinnumber=12 T 1800 1350 5 8 0 1 0 2 1 pinseq=10 T 1650 1400 9 8 1 1 0 6 1 pinlabel=\_CO\_ T 1650 1400 5 8 0 1 0 8 1 pintype=out } V 1750 1400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=14 T 200 950 5 8 0 1 0 8 1 pinseq=11 T 350 1000 9 8 1 1 0 0 1 pinlabel=RST T 350 1000 5 8 0 1 0 2 1 pintype=in } P 2000 1000 1800 1000 1 0 0 { T 1800 1050 5 8 1 1 0 0 1 pinnumber=13 T 1800 950 5 8 0 1 0 2 1 pinseq=12 T 1650 1000 9 8 1 1 0 6 1 pinlabel=\_BO\_ T 1650 1000 5 8 0 1 0 8 1 pintype=out } V 1750 1000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=5 T 200 550 5 8 0 1 0 8 1 pinseq=13 T 375 600 9 8 1 1 0 0 1 pinlabel=CLKU T 375 600 5 8 0 1 0 2 1 pintype=clk } P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=4 T 200 150 5 8 0 1 0 8 1 pinseq=14 T 375 200 9 8 1 1 0 0 1 pinlabel=CLKD T 375 200 5 8 0 1 0 2 1 pintype=clk } B 300 0 1400 3300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 3740 5 10 0 0 0 0 1 device=74192 T 300 3540 5 10 0 0 0 0 1 footprint=DIP16 T 1700 3400 8 10 1 1 0 6 1 refdes=U? T 300 3950 5 10 0 0 0 0 1 description=synchronous 4-bit BCD up/down counter with 2 clocks T 300 4550 5 10 0 0 0 0 1 numslots=0 T 300 4150 5 10 0 0 0 0 1 net=Vcc:16 T 300 4350 5 10 0 0 0 0 1 net=GND:8 T 300 3340 9 10 1 0 0 0 1 74192 L 375 600 300 650 3 0 0 0 -1 -1 L 375 600 300 550 3 0 0 0 -1 -1 L 375 200 300 250 3 0 0 0 -1 -1 L 375 200 300 150 3 0 0 0 -1 -1 T 300 4750 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/74HC_HCT192_CNV_2.pdf geda-gaf-1.8.2/symbols/74/7445-1.sym0000664000175000017500000000551012204104272013310 00000000000000v 20031231 1 P 0 3800 300 3800 1 0 0 { T 200 3850 5 8 1 1 0 6 1 pinnumber=15 T 200 3750 5 8 0 1 0 8 1 pinseq=1 T 350 3800 9 8 1 1 0 0 1 pinlabel=A T 350 3800 5 8 0 1 0 2 1 pintype=in } P 2000 3800 1700 3800 1 0 0 { T 1800 3850 5 8 1 1 0 0 1 pinnumber=1 T 1800 3750 5 8 0 1 0 2 1 pinseq=2 T 1650 3800 9 8 1 1 0 6 1 pinlabel=0 T 1650 3800 5 8 0 1 0 8 1 pintype=oc } P 0 3400 300 3400 1 0 0 { T 200 3450 5 8 1 1 0 6 1 pinnumber=14 T 200 3350 5 8 0 1 0 8 1 pinseq=3 T 350 3400 9 8 1 1 0 0 1 pinlabel=B T 350 3400 5 8 0 1 0 2 1 pintype=in } P 2000 3400 1700 3400 1 0 0 { T 1800 3450 5 8 1 1 0 0 1 pinnumber=2 T 1800 3350 5 8 0 1 0 2 1 pinseq=4 T 1650 3400 9 8 1 1 0 6 1 pinlabel=1 T 1650 3400 5 8 0 1 0 8 1 pintype=oc } P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=13 T 200 2950 5 8 0 1 0 8 1 pinseq=5 T 350 3000 9 8 1 1 0 0 1 pinlabel=C T 350 3000 5 8 0 1 0 2 1 pintype=in } P 2000 3000 1700 3000 1 0 0 { T 1800 3050 5 8 1 1 0 0 1 pinnumber=3 T 1800 2950 5 8 0 1 0 2 1 pinseq=6 T 1650 3000 9 8 1 1 0 6 1 pinlabel=2 T 1650 3000 5 8 0 1 0 8 1 pintype=oc } P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=12 T 200 2550 5 8 0 1 0 8 1 pinseq=7 T 350 2600 9 8 1 1 0 0 1 pinlabel=D T 350 2600 5 8 0 1 0 2 1 pintype=in } P 2000 2600 1700 2600 1 0 0 { T 1800 2650 5 8 1 1 0 0 1 pinnumber=4 T 1800 2550 5 8 0 1 0 2 1 pinseq=8 T 1650 2600 9 8 1 1 0 6 1 pinlabel=3 T 1650 2600 5 8 0 1 0 8 1 pintype=oc } P 2000 2200 1700 2200 1 0 0 { T 1800 2250 5 8 1 1 0 0 1 pinnumber=5 T 1800 2150 5 8 0 1 0 2 1 pinseq=9 T 1650 2200 9 8 1 1 0 6 1 pinlabel=4 T 1650 2200 5 8 0 1 0 8 1 pintype=oc } P 2000 1800 1700 1800 1 0 0 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=6 T 1800 1750 5 8 0 1 0 2 1 pinseq=10 T 1650 1800 9 8 1 1 0 6 1 pinlabel=5 T 1650 1800 5 8 0 1 0 8 1 pintype=oc } P 2000 1400 1700 1400 1 0 0 { T 1800 1450 5 8 1 1 0 0 1 pinnumber=7 T 1800 1350 5 8 0 1 0 2 1 pinseq=11 T 1650 1400 9 8 1 1 0 6 1 pinlabel=6 T 1650 1400 5 8 0 1 0 8 1 pintype=oc } P 2000 1000 1700 1000 1 0 0 { T 1800 1050 5 8 1 1 0 0 1 pinnumber=9 T 1800 950 5 8 0 1 0 2 1 pinseq=12 T 1650 1000 9 8 1 1 0 6 1 pinlabel=7 T 1650 1000 5 8 0 1 0 8 1 pintype=oc } P 2000 600 1700 600 1 0 0 { T 1800 650 5 8 1 1 0 0 1 pinnumber=10 T 1800 550 5 8 0 1 0 2 1 pinseq=13 T 1650 600 9 8 1 1 0 6 1 pinlabel=8 T 1650 600 5 8 0 1 0 8 1 pintype=oc } P 2000 200 1700 200 1 0 0 { T 1800 250 5 8 1 1 0 0 1 pinnumber=11 T 1800 150 5 8 0 1 0 2 1 pinseq=14 T 1650 200 9 8 1 1 0 6 1 pinlabel=9 T 1650 200 5 8 0 1 0 8 1 pintype=oc } B 300 0 1400 4100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4540 5 10 0 0 0 0 1 device=7445 T 300 4340 5 10 0 0 0 0 1 footprint=DIP16 T 300 4140 9 10 1 0 0 0 1 7445 T 1700 4200 8 10 1 1 0 6 1 refdes=U? T 300 4750 5 10 0 0 0 0 1 description=BCD to decimal decoder with open collector driver outputs T 300 4950 5 10 0 0 0 0 1 net=Vcc:16 T 300 5150 5 10 0 0 0 0 1 net=GND:8 T 300 5350 5 10 0 0 0 0 1 numslots=0 geda-gaf-1.8.2/symbols/74/74160-1.sym0000664000175000017500000000605212204104272013370 00000000000000v 20070626 1 P 0 3400 300 3400 1 0 0 { T 200 3450 5 8 1 1 0 6 1 pinnumber=3 T 200 3350 5 8 0 1 0 8 1 pinseq=3 T 350 3400 9 8 1 1 0 0 1 pinlabel=P0 T 350 3400 5 8 0 1 0 2 1 pintype=in } P 2000 3400 1700 3400 1 0 0 { T 1800 3450 5 8 1 1 0 0 1 pinnumber=14 T 1800 3350 5 8 0 1 0 2 1 pinseq=14 T 1650 3400 9 8 1 1 0 6 1 pinlabel=Q0 T 1650 3400 5 8 0 1 0 8 1 pintype=out } P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=4 T 200 2950 5 8 0 1 0 8 1 pinseq=4 T 350 3000 9 8 1 1 0 0 1 pinlabel=P1 T 350 3000 5 8 0 1 0 2 1 pintype=in } P 2000 3000 1700 3000 1 0 0 { T 1800 3050 5 8 1 1 0 0 1 pinnumber=13 T 1800 2950 5 8 0 1 0 2 1 pinseq=13 T 1650 3000 9 8 1 1 0 6 1 pinlabel=1 T 1650 3000 5 8 0 1 0 8 1 pintype=out } P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=5 T 200 2550 5 8 0 1 0 8 1 pinseq=5 T 350 2600 9 8 1 1 0 0 1 pinlabel=P2 T 350 2600 5 8 0 1 0 2 1 pintype=in } P 2000 2600 1700 2600 1 0 0 { T 1800 2650 5 8 1 1 0 0 1 pinnumber=12 T 1800 2550 5 8 0 1 0 2 1 pinseq=12 T 1650 2600 9 8 1 1 0 6 1 pinlabel=Q2 T 1650 2600 5 8 0 1 0 8 1 pintype=out } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=6 T 200 2150 5 8 0 1 0 8 1 pinseq=6 T 350 2200 9 8 1 1 0 0 1 pinlabel=P3 T 350 2200 5 8 0 1 0 2 1 pintype=in } P 2000 2200 1700 2200 1 0 0 { T 1800 2250 5 8 1 1 0 0 1 pinnumber=11 T 1800 2150 5 8 0 1 0 2 1 pinseq=11 T 1650 2200 9 8 1 1 0 6 1 pinlabel=Q3 T 1650 2200 5 8 0 1 0 8 1 pintype=out } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=7 T 200 1750 5 8 0 1 0 8 1 pinseq=7 T 350 1800 9 8 1 1 0 0 1 pinlabel=ENP T 350 1800 5 8 0 1 0 2 1 pintype=in } P 2000 1800 1700 1800 1 0 0 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=15 T 1800 1750 5 8 0 1 0 2 1 pinseq=15 T 1650 1800 9 8 1 1 0 6 1 pinlabel=CARRY T 1650 1800 5 8 0 1 0 8 1 pintype=out } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=10 T 200 1350 5 8 0 1 0 8 1 pinseq=10 T 350 1400 9 8 1 1 0 0 1 pinlabel=ENT T 350 1400 5 8 0 1 0 2 1 pintype=in } P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=2 T 200 550 5 8 0 1 0 8 1 pinseq=2 T 375 600 9 8 1 1 0 0 1 pinlabel=CLK T 375 600 5 8 0 1 0 2 1 pintype=clk } P 0 200 200 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=1 T 200 150 5 8 0 1 0 8 1 pinseq=1 T 350 200 9 8 1 1 0 0 1 pinlabel=\_CLR\_ T 350 200 5 8 0 1 0 2 1 pintype=in } B 300 0 1400 3700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4140 5 10 0 0 0 0 1 device=74160 T 300 3940 5 10 0 0 0 0 1 footprint=DIP16 T 1700 3800 8 10 1 1 0 6 1 refdes=U? P 0 1000 200 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=9 T 200 950 5 8 0 1 0 8 1 pinseq=9 T 350 1000 9 8 1 1 0 0 1 pinlabel=\_LOAD\_ T 350 1000 5 8 0 1 0 2 1 pintype=in } V 250 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 1000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4350 5 10 0 0 0 0 1 description=synchronous programmable decimal counter with clear T 300 4950 5 10 0 0 0 0 1 numslots=0 T 300 4550 5 10 0 0 0 0 1 net=Vcc:16 T 300 4750 5 10 0 0 0 0 1 net=GND:8 T 300 3740 9 10 1 0 0 0 1 74160 L 375 600 300 650 3 0 0 0 -1 -1 L 375 600 300 550 3 0 0 0 -1 -1 T 300 5150 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc160.pdf geda-gaf-1.8.2/symbols/74/7432-1.sym0000664000175000017500000000237612204104272013313 00000000000000v 20031231 1 L 260 200 600 200 3 0 0 0 -1 -1 L 260 800 600 800 3 0 0 0 -1 -1 T 600 900 5 10 0 0 0 0 1 device=7432 T 600 1100 5 10 0 0 0 0 1 slot=1 T 600 1300 5 10 0 0 0 0 1 numslots=4 T 600 1500 5 10 0 0 0 0 1 slotdef=1:1,2,3 T 600 1700 5 10 0 0 0 0 1 slotdef=2:4,5,6 T 600 1900 5 10 0 0 0 0 1 slotdef=3:9,10,8 T 600 2100 5 10 0 0 0 0 1 slotdef=4:12,13,11 T 300 0 9 8 1 0 0 0 1 7432 A 0 500 400 312 97 3 0 0 0 -1 -1 P 300 700 0 700 1 0 1 { T 200 750 5 8 1 1 0 6 1 pinnumber=1 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 0 1 0 0 1 pinlabel=A T 350 700 5 8 0 1 0 2 1 pintype=in } P 300 300 0 300 1 0 1 { T 200 350 5 8 1 1 0 6 1 pinnumber=2 T 200 250 5 8 0 1 0 8 1 pinseq=2 T 350 300 9 8 0 1 0 0 1 pinlabel=B T 350 300 5 8 0 1 0 2 1 pintype=in } P 1300 500 988 500 1 0 0 { T 1100 550 5 8 1 1 0 0 1 pinnumber=3 T 1100 450 5 8 0 1 0 2 1 pinseq=3 T 950 500 9 8 0 1 0 6 1 pinlabel=Y T 950 500 5 8 0 1 0 8 1 pintype=out } A 600 600 400 270 76 3 0 0 0 -1 -1 A 600 400 400 14 76 3 0 0 0 -1 -1 T 300 900 8 10 1 1 0 0 1 refdes=U? T 600 2300 5 10 0 0 0 0 1 footprint=DIP14 T 600 2500 5 10 0 0 0 0 1 description=4 OR gates with 2 inputs T 600 2700 5 10 0 0 0 0 1 net=Vcc:14 T 600 2900 5 10 0 0 0 0 1 net=GND:7 T 600 3100 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc32.pdf geda-gaf-1.8.2/symbols/74/74121-1.sym0000664000175000017500000000346212204104272013367 00000000000000v 20070626 1 P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=3 T 200 1750 5 8 0 1 0 8 1 pinseq=1 T 350 1800 9 8 1 1 0 0 1 pinlabel=A1 T 350 1800 5 8 0 1 0 2 1 pintype=in } P 2000 1800 1700 1800 1 0 0 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=6 T 1800 1750 5 8 0 1 0 2 1 pinseq=2 T 1650 1800 9 8 1 1 0 6 1 pinlabel=Q T 1650 1800 5 8 0 1 0 8 1 pintype=out } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=4 T 200 1350 5 8 0 1 0 8 1 pinseq=3 T 350 1400 9 8 1 1 0 0 1 pinlabel=A2 T 350 1400 5 8 0 1 0 2 1 pintype=in } P 2000 1400 1800 1400 1 0 0 { T 1800 1450 5 8 1 1 0 0 1 pinnumber=1 T 1800 1350 5 8 0 1 0 2 1 pinseq=4 T 1650 1400 9 8 1 1 0 6 1 pinlabel=\_Q\_ T 1650 1400 5 8 0 1 0 8 1 pintype=out } V 1750 1400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=5 T 200 950 5 8 0 1 0 8 1 pinseq=5 T 350 1000 9 8 1 1 0 0 1 pinlabel=B T 350 1000 5 8 0 1 0 2 1 pintype=in } P 2000 600 1700 600 1 0 0 { T 1800 650 5 8 1 1 0 0 1 pinnumber=11 T 1800 550 5 8 0 1 0 2 1 pinseq=6 T 1650 600 9 8 1 1 0 6 1 pinlabel=Re/Ce T 1650 600 5 8 0 1 0 8 1 pintype=pas } P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=9 T 200 150 5 8 0 1 0 8 1 pinseq=7 T 350 200 9 8 1 1 0 0 1 pinlabel=Ri T 350 200 5 8 0 1 0 2 1 pintype=pas } P 2000 200 1700 200 1 0 0 { T 1800 250 5 8 1 1 0 0 1 pinnumber=10 T 1800 150 5 8 0 1 0 2 1 pinseq=8 T 1650 200 9 8 1 1 0 6 1 pinlabel=Ce T 1650 200 5 8 0 1 0 8 1 pintype=pas } B 300 0 1400 2100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 2540 5 10 0 0 0 0 1 device=74121 T 300 2340 5 10 0 0 0 0 1 footprint=DIP14 T 1700 2200 8 10 1 1 0 6 1 refdes=U? T 300 2750 5 10 0 0 0 0 1 description=monoflop with schmitt-trigger input T 300 2950 5 10 0 0 0 0 1 net=Vcc:14 T 300 3150 5 10 0 0 0 0 1 net=GND:7 T 300 2140 9 10 1 0 0 0 1 74121 T 300 3340 5 10 0 0 0 0 1 numslots=0 geda-gaf-1.8.2/symbols/74/74280-1.sym0000664000175000017500000000447012204104272013375 00000000000000v 20031231 1 P 0 2500 300 2500 1 0 0 { T 200 2550 5 8 1 1 0 6 1 pinnumber=8 T 200 2450 5 8 0 1 0 8 1 pinseq=1 T 350 2500 9 8 1 1 0 0 1 pinlabel=A T 350 2500 5 8 0 1 0 2 1 pintype=in } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=9 T 200 2150 5 8 0 1 0 8 1 pinseq=2 T 350 2200 9 8 1 1 0 0 1 pinlabel=B T 350 2200 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=10 T 200 1850 5 8 0 1 0 8 1 pinseq=3 T 350 1900 9 8 1 1 0 0 1 pinlabel=C T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 1600 300 1600 1 0 0 { T 200 1650 5 8 1 1 0 6 1 pinnumber=11 T 200 1550 5 8 0 1 0 8 1 pinseq=4 T 350 1600 9 8 1 1 0 0 1 pinlabel=D T 350 1600 5 8 0 1 0 2 1 pintype=in } P 0 1300 300 1300 1 0 0 { T 200 1350 5 8 1 1 0 6 1 pinnumber=12 T 200 1250 5 8 0 1 0 8 1 pinseq=5 T 350 1300 9 8 1 1 0 0 1 pinlabel=E T 350 1300 5 8 0 1 0 2 1 pintype=in } P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=13 T 200 950 5 8 0 1 0 8 1 pinseq=6 T 350 1000 9 8 1 1 0 0 1 pinlabel=F T 350 1000 5 8 0 1 0 2 1 pintype=in } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=1 T 200 650 5 8 0 1 0 8 1 pinseq=7 T 350 700 9 8 1 1 0 0 1 pinlabel=G T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 400 300 400 1 0 0 { T 200 450 5 8 1 1 0 6 1 pinnumber=2 T 200 350 5 8 0 1 0 8 1 pinseq=8 T 350 400 9 8 1 1 0 0 1 pinlabel=H T 350 400 5 8 0 1 0 2 1 pintype=in } P 0 100 300 100 1 0 0 { T 200 150 5 8 1 1 0 6 1 pinnumber=4 T 200 50 5 8 0 1 0 8 1 pinseq=9 T 350 100 9 8 1 1 0 0 1 pinlabel=I T 350 100 5 8 0 1 0 2 1 pintype=in } P 1700 1600 2000 1600 1 0 1 { T 1800 1650 5 8 1 1 0 0 1 pinnumber=5 T 1800 1550 5 8 0 1 0 2 1 pinseq=10 T 1650 1600 9 8 1 1 0 6 1 pinlabel=EVEN T 1650 1600 5 8 0 1 0 8 1 pintype=out } P 1700 1300 2000 1300 1 0 1 { T 1800 1350 5 8 1 1 0 0 1 pinnumber=6 T 1800 1250 5 8 0 1 0 2 1 pinseq=11 T 1650 1300 9 8 1 1 0 6 1 pinlabel=ODD T 1650 1300 5 8 0 1 0 8 1 pintype=out } T 300 2950 5 10 0 0 0 0 1 device=74280 B 300 0 1400 2700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1700 2800 8 10 1 1 0 6 1 refdes=U? T 300 3150 5 10 0 0 0 0 1 footprint=DIP14 T 300 3350 5 10 0 0 0 0 1 description=9-bit parity generater/tester T 300 3950 5 10 0 0 0 0 1 numslots=0 T 300 3550 5 10 0 0 0 0 1 net=Vcc:14 T 300 3750 5 10 0 0 0 0 1 net=GND:7 T 300 2750 9 10 1 0 0 0 1 74280 T 300 4150 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc280.pdf geda-gaf-1.8.2/symbols/74/74191-2.sym0000664000175000017500000000613112204104272013373 00000000000000v 20070626 1 P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=15 T 200 2550 5 8 0 1 0 8 1 pinseq=1 T 350 2600 9 8 1 1 0 0 1 pinlabel=P0 T 350 2600 5 8 0 1 0 2 1 pintype=in } P 2000 2600 1700 2600 1 0 0 { T 1800 2650 5 8 1 1 0 0 1 pinnumber=5 T 1800 2550 5 8 0 1 0 2 1 pinseq=2 T 1650 2600 9 8 1 1 0 6 1 pinlabel=DOWN/\_UP\_ T 1650 2600 5 8 0 1 0 8 1 pintype=in } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=1 T 200 2150 5 8 0 1 0 8 1 pinseq=3 T 350 2200 9 8 1 1 0 0 1 pinlabel=P1 T 350 2200 5 8 0 1 0 2 1 pintype=in } P 2000 2200 1700 2200 1 0 0 { T 1800 2250 5 8 1 1 0 0 1 pinnumber=3 T 1800 2150 5 8 0 1 0 2 1 pinseq=4 T 1650 2200 9 8 1 1 0 6 1 pinlabel=Q0 T 1650 2200 5 8 0 1 0 8 1 pintype=out } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=10 T 200 1750 5 8 0 1 0 8 1 pinseq=5 T 350 1800 9 8 1 1 0 0 1 pinlabel=P2 T 350 1800 5 8 0 1 0 2 1 pintype=in } P 2000 1800 1700 1800 1 0 0 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=2 T 1800 1750 5 8 0 1 0 2 1 pinseq=6 T 1650 1800 9 8 1 1 0 6 1 pinlabel=Q1 T 1650 1800 5 8 0 1 0 8 1 pintype=out } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=9 T 200 1350 5 8 0 1 0 8 1 pinseq=7 T 350 1400 9 8 1 1 0 0 1 pinlabel=P3 T 350 1400 5 8 0 1 0 2 1 pintype=in } P 2000 1400 1700 1400 1 0 0 { T 1800 1450 5 8 1 1 0 0 1 pinnumber=6 T 1800 1350 5 8 0 1 0 2 1 pinseq=8 T 1650 1400 9 8 1 1 0 6 1 pinlabel=Q2 T 1650 1400 5 8 0 1 0 8 1 pintype=out } P 0 1000 200 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=11 T 200 950 5 8 0 1 0 8 1 pinseq=9 T 350 1000 9 8 1 1 0 0 1 pinlabel=\_LOAD\_ T 350 1000 5 8 0 1 0 2 1 pintype=in } V 250 1000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 1000 1700 1000 1 0 0 { T 1800 1050 5 8 1 1 0 0 1 pinnumber=7 T 1800 950 5 8 0 1 0 2 1 pinseq=10 T 1650 1000 9 8 1 1 0 6 1 pinlabel=Q3 T 1650 1000 5 8 0 1 0 8 1 pintype=out } P 0 600 200 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=4 T 200 550 5 8 0 1 0 8 1 pinseq=11 T 350 600 9 8 1 1 0 0 1 pinlabel=\_CE\_ T 350 600 5 8 0 1 0 2 1 pintype=in } P 2000 600 1800 600 1 0 0 { T 1800 650 5 8 1 1 0 0 1 pinnumber=13 T 1800 550 5 8 0 1 0 2 1 pinseq=12 T 1650 600 9 8 1 1 0 6 1 pinlabel=\_RCO\_ T 1650 600 5 8 0 1 0 8 1 pintype=out } V 1750 600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=14 T 200 150 5 8 0 1 0 8 1 pinseq=13 T 375 200 9 8 1 1 0 0 1 pinlabel=CLK T 375 200 5 8 0 1 0 2 1 pintype=clk } P 2000 200 1700 200 1 0 0 { T 1800 250 5 8 1 1 0 0 1 pinnumber=12 T 1800 150 5 8 0 1 0 2 1 pinseq=14 T 1650 200 9 8 1 1 0 6 1 pinlabel=MAX T 1650 200 5 8 0 1 0 8 1 pintype=out } B 300 0 1400 2900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 3340 5 10 0 0 0 0 1 device=74191 T 300 3140 5 10 0 0 0 0 1 footprint=DIP16 T 1700 3000 8 10 1 1 0 6 1 refdes=U? T 300 3550 5 10 0 0 0 0 1 description=synchronous 4-bit up/down binary counter T 300 4150 5 10 0 0 0 0 1 numslots=0 T 300 3750 5 10 0 0 0 0 1 net=Vcc:16 T 300 3950 5 10 0 0 0 0 1 net=GND:8 T 300 2940 9 10 1 0 0 0 1 74191 V 250 600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 375 200 300 250 3 0 0 0 -1 -1 L 375 200 300 150 3 0 0 0 -1 -1 T 300 4350 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc191.pdf geda-gaf-1.8.2/symbols/74/74power-1.sym0000664000175000017500000000131612204104272014214 00000000000000v 20041228 1 L 0 200 0 800 3 0 0 0 -1 -1 L 0 800 400 800 3 0 0 0 -1 -1 T 200 1300 8 10 0 0 0 0 1 numslots=0 L 0 200 400 200 3 0 0 0 -1 -1 P 200 200 200 -100 1 0 1 { T 180 150 5 8 1 1 180 0 1 pinnumber=7 T 400 150 5 8 0 1 0 8 1 pinseq=1 T 40 240 9 8 1 1 0 0 1 pinlabel=GND T 450 100 5 8 0 1 0 0 1 pintype=pwr } P 200 800 200 1100 1 0 1 { T 180 850 5 8 1 1 0 6 1 pinnumber=14 T 400 950 5 8 0 1 0 8 1 pinseq=2 T 60 750 9 8 1 1 180 6 1 pinlabel=Vcc T 450 900 5 8 0 1 0 2 1 pintype=pwr } T 300 900 8 10 1 1 0 0 1 refdes=U? T 200 1450 8 10 0 0 0 0 1 footprint=DIP14 T 200 1650 8 10 0 0 0 0 1 description=power symbol for gates with vcc on 14 and gnd on 7 L 400 200 400 800 3 0 0 0 -1 -1 T 500 600 8 10 1 1 0 0 1 device=74?? geda-gaf-1.8.2/symbols/74/7405-1.sym0000664000175000017500000000232312204104272013303 00000000000000v 20031231 1 L 300 800 800 500 3 0 0 0 -1 -1 T 600 900 5 10 0 0 0 0 1 device=7405 T 600 1100 5 10 0 0 0 0 1 slot=1 T 600 1300 5 10 0 0 0 0 1 numslots=6 T 600 1500 5 10 0 0 0 0 1 slotdef=1:1,2 T 600 1700 5 10 0 0 0 0 1 slotdef=2:3,4 T 600 1900 5 10 0 0 0 0 1 slotdef=3:5,6 T 600 2100 5 10 0 0 0 0 1 slotdef=4:9,8 T 600 2300 5 10 0 0 0 0 1 slotdef=5:11,10 T 600 2500 5 10 0 0 0 0 1 slotdef=6:13,12 L 800 500 300 200 3 0 0 0 -1 -1 L 300 800 300 500 3 0 0 0 -1 -1 L 300 500 300 200 3 0 0 0 -1 -1 V 850 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 300 500 0 500 1 0 1 { T 200 550 5 8 1 1 0 6 1 pinnumber=1 T 200 450 5 8 0 1 0 8 1 pinseq=1 T 350 500 9 8 0 1 0 0 1 pinlabel=A T 350 500 5 8 0 1 0 2 1 pintype=in } P 1100 500 900 500 1 0 0 { T 900 550 5 8 1 1 0 0 1 pinnumber=2 T 900 450 5 8 0 1 0 2 1 pinseq=2 T 750 500 9 8 0 1 0 6 1 pinlabel=Y T 750 500 5 8 0 1 0 8 1 pintype=oc } T 300 0 9 8 1 0 0 0 1 7405 L 488 313 619 606 3 0 0 0 -1 -1 T 300 900 8 10 1 1 0 0 1 refdes=U? T 600 2700 5 10 0 0 0 0 1 footprint=DIP14 T 600 2900 5 10 0 0 0 0 1 description=6 NOT gates with open collector outputs T 600 3100 5 10 0 0 0 0 1 net=Vcc:14 T 600 3300 5 10 0 0 0 0 1 net=GND:7 T 600 3500 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc05.pdf geda-gaf-1.8.2/symbols/74/74HC244-1.sym0000664000175000017500000000711012204104272013602 00000000000000v 20031231 1 P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=2 T 200 2650 5 8 0 1 0 8 1 pinseq=2 T 350 2700 9 8 1 1 0 0 1 pinlabel=A1 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 2400 300 2400 1 0 0 { T 200 2450 5 8 1 1 0 6 1 pinnumber=4 T 200 2350 5 8 0 1 0 8 1 pinseq=4 T 350 2400 9 8 1 1 0 0 1 pinlabel=A2 T 350 2400 5 8 0 1 0 2 1 pintype=in } P 0 2100 300 2100 1 0 0 { T 200 2150 5 8 1 1 0 6 1 pinnumber=6 T 200 2050 5 8 0 1 0 8 1 pinseq=6 T 350 2100 9 8 1 1 0 0 1 pinlabel=A3 T 350 2100 5 8 0 1 0 2 1 pintype=in } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=8 T 200 1750 5 8 0 1 0 8 1 pinseq=8 T 350 1800 9 8 1 1 0 0 1 pinlabel=A4 T 350 1800 5 8 0 1 0 2 1 pintype=in } V 600 250 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 600 200 600 0 1 0 1 { T 650 100 5 8 1 1 0 0 1 pinnumber=1 T 650 100 5 8 0 1 0 2 1 pinseq=1 T 600 350 9 8 1 1 0 3 1 pinlabel=GA T 600 450 5 8 0 1 0 3 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=11 T 200 1450 5 8 0 1 0 8 1 pinseq=11 T 350 1500 9 8 1 1 0 0 1 pinlabel=B1 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1200 300 1200 1 0 0 { T 200 1250 5 8 1 1 0 6 1 pinnumber=13 T 200 1150 5 8 0 1 0 8 1 pinseq=13 T 350 1200 9 8 1 1 0 0 1 pinlabel=B2 T 350 1200 5 8 0 1 0 2 1 pintype=in } P 0 900 300 900 1 0 0 { T 200 950 5 8 1 1 0 6 1 pinnumber=15 T 200 850 5 8 0 1 0 8 1 pinseq=15 T 350 900 9 8 1 1 0 0 1 pinlabel=B3 T 350 900 5 8 0 1 0 2 1 pintype=in } P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=17 T 200 550 5 8 0 1 0 8 1 pinseq=17 T 350 600 9 8 1 1 0 0 1 pinlabel=B4 T 350 600 5 8 0 1 0 2 1 pintype=in } V 1400 250 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1400 200 1400 0 1 0 1 { T 1450 100 5 8 1 1 0 0 1 pinnumber=19 T 1450 100 5 8 0 1 0 2 1 pinseq=19 T 1400 350 9 8 1 1 0 3 1 pinlabel=GB T 1400 450 5 8 0 1 0 3 1 pintype=in } P 1700 2700 2000 2700 1 0 1 { T 1800 2750 5 8 1 1 0 0 1 pinnumber=18 T 1800 2650 5 8 0 1 0 2 1 pinseq=18 T 1650 2700 9 8 1 1 0 6 1 pinlabel=YA1 T 1650 2700 5 8 0 1 0 8 1 pintype=tri } P 1700 2400 2000 2400 1 0 1 { T 1800 2450 5 8 1 1 0 0 1 pinnumber=16 T 1800 2350 5 8 0 1 0 2 1 pinseq=16 T 1650 2400 9 8 1 1 0 6 1 pinlabel=YA2 T 1650 2400 5 8 0 1 0 8 1 pintype=tri } P 1700 2100 2000 2100 1 0 1 { T 1800 2150 5 8 1 1 0 0 1 pinnumber=14 T 1800 2050 5 8 0 1 0 2 1 pinseq=14 T 1650 2100 9 8 1 1 0 6 1 pinlabel=YA3 T 1650 2100 5 8 0 1 0 8 1 pintype=tri } P 1700 1800 2000 1800 1 0 1 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=12 T 1800 1750 5 8 0 1 0 2 1 pinseq=12 T 1650 1800 9 8 1 1 0 6 1 pinlabel=YA4 T 1650 1800 5 8 0 1 0 8 1 pintype=tri } P 1700 1500 2000 1500 1 0 1 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=9 T 1800 1450 5 8 0 1 0 2 1 pinseq=9 T 1650 1500 9 8 1 1 0 6 1 pinlabel=YB1 T 1650 1500 5 8 0 1 0 8 1 pintype=tri } P 1700 1200 2000 1200 1 0 1 { T 1800 1250 5 8 1 1 0 0 1 pinnumber=7 T 1800 1150 5 8 0 1 0 2 1 pinseq=7 T 1650 1200 9 8 1 1 0 6 1 pinlabel=YB2 T 1650 1200 5 8 0 1 0 8 1 pintype=tri } P 1700 900 2000 900 1 0 1 { T 1800 950 5 8 1 1 0 0 1 pinnumber=5 T 1800 850 5 8 0 1 0 2 1 pinseq=5 T 1650 900 9 8 1 1 0 6 1 pinlabel=YB3 T 1650 900 5 8 0 1 0 8 1 pintype=tri } P 1700 600 2000 600 1 0 1 { T 1800 650 5 8 1 1 0 0 1 pinnumber=3 T 1800 550 5 8 0 1 0 2 1 pinseq=3 T 1650 600 9 8 1 1 0 6 1 pinlabel=YB4 T 1650 600 5 8 0 1 0 8 1 pintype=tri } B 300 300 1400 2600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 3150 5 10 0 0 0 0 1 device=74HC244 T 1700 3000 8 10 1 1 0 6 1 refdes=U? T 300 3350 5 10 0 0 0 0 1 footprint=DIP20 T 300 3550 5 10 0 0 0 0 1 description=octal buffer/line driver (tristate) T 300 4150 5 10 0 0 0 0 1 numslots=0 T 300 3750 5 10 0 0 0 0 1 net=Vcc:20 T 300 3950 5 10 0 0 0 0 1 net=GND:10 T 300 2950 9 10 1 0 0 0 1 74HC244 geda-gaf-1.8.2/symbols/74/74166-1.sym0000664000175000017500000000572712204104272013406 00000000000000v 20070626 1 P 0 5000 300 5000 1 0 0 { T 200 5050 5 8 1 1 0 6 1 pinnumber=2 T 200 4950 5 8 0 1 0 8 1 pinseq=1 T 350 5000 9 8 1 1 0 0 1 pinlabel=P0 T 350 5000 5 8 0 1 0 2 1 pintype=in } P 2000 5000 1700 5000 1 0 0 { T 1800 5050 5 8 1 1 0 0 1 pinnumber=13 T 1800 4950 5 8 0 1 0 2 1 pinseq=2 T 1650 5000 9 8 1 1 0 6 1 pinlabel=Q7 T 1650 5000 5 8 0 1 0 8 1 pintype=out } P 0 4600 300 4600 1 0 0 { T 200 4650 5 8 1 1 0 6 1 pinnumber=3 T 200 4550 5 8 0 1 0 8 1 pinseq=3 T 350 4600 9 8 1 1 0 0 1 pinlabel=P1 T 350 4600 5 8 0 1 0 2 1 pintype=in } P 0 4200 300 4200 1 0 0 { T 200 4250 5 8 1 1 0 6 1 pinnumber=4 T 200 4150 5 8 0 1 0 8 1 pinseq=4 T 350 4200 9 8 1 1 0 0 1 pinlabel=P2 T 350 4200 5 8 0 1 0 2 1 pintype=in } P 0 3800 300 3800 1 0 0 { T 200 3850 5 8 1 1 0 6 1 pinnumber=5 T 200 3750 5 8 0 1 0 8 1 pinseq=5 T 350 3800 9 8 1 1 0 0 1 pinlabel=P3 T 350 3800 5 8 0 1 0 2 1 pintype=in } P 0 3400 300 3400 1 0 0 { T 200 3450 5 8 1 1 0 6 1 pinnumber=10 T 200 3350 5 8 0 1 0 8 1 pinseq=6 T 350 3400 9 8 1 1 0 0 1 pinlabel=P4 T 350 3400 5 8 0 1 0 2 1 pintype=in } P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=11 T 200 2950 5 8 0 1 0 8 1 pinseq=7 T 350 3000 9 8 1 1 0 0 1 pinlabel=P5 T 350 3000 5 8 0 1 0 2 1 pintype=in } P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=12 T 200 2550 5 8 0 1 0 8 1 pinseq=8 T 350 2600 9 8 1 1 0 0 1 pinlabel=P6 T 350 2600 5 8 0 1 0 2 1 pintype=in } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=14 T 200 2150 5 8 0 1 0 8 1 pinseq=9 T 350 2200 9 8 1 1 0 0 1 pinlabel=P7 T 350 2200 5 8 0 1 0 2 1 pintype=in } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=15 T 200 1750 5 8 0 1 0 8 1 pinseq=10 T 350 1800 9 8 1 1 0 0 1 pinlabel=S/\_L\_ T 350 1800 5 8 0 1 0 2 1 pintype=in } P 0 1400 200 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=9 T 200 1350 5 8 0 1 0 8 1 pinseq=11 T 350 1400 9 8 1 1 0 0 1 pinlabel=\_CLR\_ T 350 1400 5 8 0 1 0 2 1 pintype=in } P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=1 T 200 950 5 8 0 1 0 8 1 pinseq=12 T 350 1000 9 8 1 1 0 0 1 pinlabel=SI T 350 1000 5 8 0 1 0 2 1 pintype=in } P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=6 T 200 550 5 8 0 1 0 8 1 pinseq=13 T 350 600 9 8 1 1 0 0 1 pinlabel=CI T 350 600 5 8 0 1 0 2 1 pintype=in } P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=7 T 200 150 5 8 0 1 0 8 1 pinseq=14 T 375 200 9 8 1 1 0 0 1 pinlabel=CLK T 375 200 5 8 0 1 0 2 1 pintype=clk } B 300 0 1400 5300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 5740 5 10 0 0 0 0 1 device=74166 T 300 5540 5 10 0 0 0 0 1 footprint=DIP16 T 1700 5400 8 10 1 1 0 6 1 refdes=U? T 300 5950 5 10 0 0 0 0 1 description=8-bit parallel-in/serial-out shift register with clear T 300 6550 5 10 0 0 0 0 1 numslots=0 T 300 6150 5 10 0 0 0 0 1 net=Vcc:16 T 300 6350 5 10 0 0 0 0 1 net=GND:8 T 300 5340 9 10 1 0 0 0 1 74166 V 250 1400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 375 200 300 250 3 0 0 0 -1 -1 L 375 200 300 150 3 0 0 0 -1 -1 T 300 6750 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc166.pdf geda-gaf-1.8.2/symbols/74/74HCT01-1.sym0000664000175000017500000000233512204104272013641 00000000000000v 20031231 1 T 300 900 8 10 1 1 0 0 1 refdes=U? T 700 2900 5 10 0 0 0 0 1 device=74HCT01 T 700 2700 5 10 0 0 0 0 1 footprint=DIP14 T 700 2500 5 10 0 0 0 0 1 slot=1 T 700 2300 5 10 0 0 0 0 1 numslots=4 T 700 2100 5 10 0 0 0 0 1 slotdef=1:1,2,3 T 700 1900 5 10 0 0 0 0 1 slotdef=2:4,5,6 T 700 1700 5 10 0 0 0 0 1 slotdef=3:10,8,9 T 700 1500 5 10 0 0 0 0 1 slotdef=4:13,11,12 T 700 1300 5 10 0 0 0 0 1 net=GND:7 T 700 1100 5 10 0 0 0 0 1 net=Vcc:14 P 1100 500 1300 500 1 0 1 { T 1100 550 5 8 1 1 0 0 1 pinnumber=1 T 1100 450 5 8 0 1 0 2 1 pinseq=1 T 950 500 9 8 0 1 0 6 1 pinlabel=Y T 950 500 5 8 0 1 0 8 1 pintype=oc } P 300 700 0 700 1 0 1 { T 200 750 5 8 1 1 0 6 1 pinnumber=2 T 200 650 5 8 0 1 0 8 1 pinseq=2 T 350 700 9 8 0 1 0 0 1 pinlabel=A T 350 700 5 8 0 1 0 2 1 pintype=in } P 300 300 0 300 1 0 1 { T 200 350 5 8 1 1 0 6 1 pinnumber=3 T 200 250 5 8 0 1 0 8 1 pinseq=3 T 350 300 9 8 0 1 0 0 1 pinlabel=B T 350 300 5 8 0 1 0 2 1 pintype=in } A 700 500 300 270 180 3 0 0 0 -1 -1 L 300 200 300 800 3 0 0 0 -1 -1 L 300 200 700 200 3 0 0 0 -1 -1 L 300 800 700 800 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 700 3100 5 10 0 0 0 0 1 description=4 NAND gates with 2 inputs and open collector output T 300 0 9 8 1 0 0 0 1 74HCT01 geda-gaf-1.8.2/symbols/74/7495-1.sym0000664000175000017500000000534512204104272013323 00000000000000v 20081231 1 P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=2 T 200 2950 5 8 0 1 0 8 1 pinseq=1 T 350 3000 9 8 1 1 0 0 1 pinlabel=P0 T 350 3000 5 8 0 1 0 2 1 pintype=in } P 2000 3000 1700 3000 1 0 0 { T 1800 3050 5 8 1 1 0 0 1 pinnumber=13 T 1800 2950 5 8 0 1 0 2 1 pinseq=2 T 1650 3000 9 8 1 1 0 6 1 pinlabel=Q0 T 1650 3000 5 8 0 1 0 8 1 pintype=out } P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=3 T 200 2550 5 8 0 1 0 8 1 pinseq=3 T 350 2600 9 8 1 1 0 0 1 pinlabel=P1 T 350 2600 5 8 0 1 0 2 1 pintype=in } P 2000 2600 1700 2600 1 0 0 { T 1800 2650 5 8 1 1 0 0 1 pinnumber=12 T 1800 2550 5 8 0 1 0 2 1 pinseq=4 T 1650 2600 9 8 1 1 0 6 1 pinlabel=Q1 T 1650 2600 5 8 0 1 0 8 1 pintype=out } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=4 T 200 2150 5 8 0 1 0 8 1 pinseq=5 T 350 2200 9 8 1 1 0 0 1 pinlabel=P2 T 350 2200 5 8 0 1 0 2 1 pintype=in } P 2000 2200 1700 2200 1 0 0 { T 1800 2250 5 8 1 1 0 0 1 pinnumber=11 T 1800 2150 5 8 0 1 0 2 1 pinseq=6 T 1650 2200 9 8 1 1 0 6 1 pinlabel=Q2 T 1650 2200 5 8 0 1 0 8 1 pintype=out } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=5 T 200 1750 5 8 0 1 0 8 1 pinseq=7 T 350 1800 9 8 1 1 0 0 1 pinlabel=P3 T 350 1800 5 8 0 1 0 2 1 pintype=in } P 2000 1800 1700 1800 1 0 0 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=10 T 1800 1750 5 8 0 1 0 2 1 pinseq=8 T 1650 1800 9 8 1 1 0 6 1 pinlabel=Q3 T 1650 1800 5 8 0 1 0 8 1 pintype=out } P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=6 T 200 950 5 8 0 1 0 8 1 pinseq=9 T 350 1000 9 8 1 1 0 0 1 pinlabel=LD/\_SH\_ T 350 1000 5 8 0 1 0 2 1 pintype=in } P 0 600 200 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=9 T 200 550 5 8 0 1 0 8 1 pinseq=10 T 375 600 9 8 1 1 0 0 1 pinlabel=\_CLK1\_ T 375 600 5 8 0 1 0 2 1 pintype=clk } P 0 200 200 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=8 T 200 150 5 8 0 1 0 8 1 pinseq=11 T 375 200 9 8 1 1 0 0 1 pinlabel=\_CLK2\_ T 375 200 5 8 0 1 0 2 1 pintype=clk } B 300 0 1400 3300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 3740 5 10 0 0 0 0 1 device=7495 T 300 3540 5 10 0 0 0 0 1 footprint=DIP14 T 1700 3400 8 10 1 1 0 6 1 refdes=U? T 300 3950 5 10 0 0 0 0 1 description=4-bit shift register, parallel load, right and left shift T 300 4150 5 10 0 0 0 0 1 net=Vcc:14 T 300 4350 5 10 0 0 0 0 1 net=GND:7 V 250 600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 375 200 300 250 3 0 0 0 -1 -1 L 375 200 300 150 3 0 0 0 -1 -1 L 375 600 300 550 3 0 0 0 -1 -1 L 375 600 300 650 3 0 0 0 -1 -1 T 300 3340 9 10 1 0 0 0 1 7495 T 300 4550 5 10 0 0 0 0 1 numslots=0 T 300 4750 5 10 0 0 0 0 1 symversion=1.0 P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=1 T 200 1350 5 8 0 1 0 8 1 pinseq=12 T 350 1400 9 8 1 1 0 0 1 pinlabel=SER T 350 1400 5 8 0 1 0 2 1 pintype=in } geda-gaf-1.8.2/symbols/74/74265-1.sym0000664000175000017500000000467412204104272013406 00000000000000v 20040710 1 T 300 2250 5 10 0 0 0 0 1 device=74265 V 1753 296 47 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 300 1700 0 1700 1 0 1 { T 350 1700 9 8 1 1 0 0 1 pinlabel=A1 T 350 1700 5 8 0 1 0 2 1 pintype=in T 200 1650 5 8 0 1 0 8 1 pinseq=1 T 200 1750 5 8 1 1 0 6 1 pinnumber=1 } P 2000 1700 1700 1700 1 0 0 { T 1650 1700 9 8 1 1 0 6 1 pinlabel=W1 T 1650 1700 5 8 0 1 0 8 1 pintype=out T 1800 1650 5 8 0 1 0 2 1 pinseq=2 T 1800 1750 5 8 1 1 0 0 1 pinnumber=2 } P 2000 1300 1800 1300 1 0 0 { T 1650 1300 9 8 1 1 0 6 1 pinlabel=Y1 T 1650 1300 5 8 0 1 0 8 1 pintype=out T 1800 1250 5 8 0 1 0 2 1 pinseq=3 T 1800 1350 5 8 1 1 0 0 1 pinnumber=3 } P 300 700 0 700 1 0 1 { T 350 700 9 8 1 1 0 0 1 pinlabel=A2 T 350 700 5 8 0 1 0 2 1 pintype=in T 200 650 5 8 0 1 0 8 1 pinseq=4 T 200 750 5 8 1 1 0 6 1 pinnumber=4 } P 300 300 0 300 1 0 1 { T 350 300 9 8 1 1 0 0 1 pinlabel=B2 T 350 300 5 8 0 1 0 2 1 pintype=in T 200 250 5 8 0 1 0 8 1 pinseq=5 T 200 350 5 8 1 1 0 6 1 pinnumber=5 } P 2000 700 1700 700 1 0 0 { T 1650 700 9 8 1 1 0 6 1 pinlabel=W2 T 1650 700 5 8 0 1 0 8 1 pintype=out T 1800 650 5 8 0 1 0 2 1 pinseq=6 T 1800 750 5 8 1 1 0 0 1 pinnumber=6 } P 2000 300 1800 300 1 0 0 { T 1650 300 9 8 1 1 0 6 1 pinlabel=Y2 T 1650 300 5 8 0 1 0 8 1 pintype=out T 1800 250 5 8 0 1 0 2 1 pinseq=7 T 1800 350 5 8 1 1 0 0 1 pinnumber=7 } T 1700 2100 8 10 1 1 0 6 1 refdes=U? T 300 3050 5 10 0 0 0 0 1 footprint=DIP16 T 300 2450 5 10 0 0 0 0 1 description=2 inverter and 2 NAND with complementary outputs T 300 2650 5 10 0 0 0 0 1 net=Vcc:16 T 300 2850 5 10 0 0 0 0 1 net=GND:8 T 300 3450 5 10 0 0 0 0 1 slot=1 T 300 3250 5 10 0 0 0 0 1 numslots=2 T 300 3650 5 10 0 0 0 0 1 slotdef=1:1,2,3,4,5,6,7 T 300 3850 5 10 0 0 0 0 1 slotdef=2:15,14,13,11,12,10,9 T 300 2050 9 8 1 0 0 0 1 74265 V 1753 1296 47 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 300 0 1400 2000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 300 1000 1700 1000 3 0 0 0 -1 -1 L 775 1500 675 1500 3 0 0 0 -1 -1 L 775 1700 775 1300 3 0 0 0 -1 -1 L 775 1300 1075 1500 3 0 0 0 -1 -1 L 1075 1500 775 1700 3 0 0 0 -1 -1 V 950 1375 25 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 975 1375 1050 1375 3 0 0 0 -1 -1 L 925 1625 1050 1625 3 0 0 0 -1 -1 L 775 650 775 350 3 0 0 0 -1 -1 L 775 650 975 650 3 0 0 0 -1 -1 L 775 350 975 350 3 0 0 0 -1 -1 A 975 500 153 270 180 3 0 0 0 -1 -1 L 775 575 675 575 3 0 0 0 -1 -1 L 775 425 675 425 3 0 0 0 -1 -1 V 1125 425 25 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 1150 425 1200 425 3 0 0 0 -1 -1 L 1200 575 1125 575 3 0 0 0 -1 -1 T 300 4050 5 10 0 0 0 0 1 symversion=1.0 geda-gaf-1.8.2/symbols/74/74153-1.sym0000664000175000017500000000565312204104272013400 00000000000000v 20070626 1 V 250 3000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3000 200 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=1 T 200 2950 5 8 0 1 0 8 1 pinseq=1 T 350 3000 9 8 1 1 0 0 1 pinlabel=\_EN1\_ T 350 3000 5 8 0 1 0 2 1 pintype=in } P 0 3400 300 3400 1 0 0 { T 200 3450 5 8 1 1 0 6 1 pinnumber=2 T 200 3350 5 8 0 1 0 8 1 pinseq=2 T 350 3400 9 8 1 1 0 0 1 pinlabel=B T 350 3400 5 8 0 1 0 2 1 pintype=in } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=3 T 200 1750 5 8 0 1 0 8 1 pinseq=3 T 350 1800 9 8 1 1 0 0 1 pinlabel=1C3 T 350 1800 5 8 0 1 0 2 1 pintype=in } P 0 2100 300 2100 1 0 0 { T 200 2150 5 8 1 1 0 6 1 pinnumber=4 T 200 2050 5 8 0 1 0 8 1 pinseq=4 T 350 2100 9 8 1 1 0 0 1 pinlabel=1C2 T 350 2100 5 8 0 1 0 2 1 pintype=in } P 0 2400 300 2400 1 0 0 { T 200 2450 5 8 1 1 0 6 1 pinnumber=5 T 200 2350 5 8 0 1 0 8 1 pinseq=5 T 350 2400 9 8 1 1 0 0 1 pinlabel=1C1 T 350 2400 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=6 T 200 2650 5 8 0 1 0 8 1 pinseq=6 T 350 2700 9 8 1 1 0 0 1 pinlabel=1C0 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 1700 3000 2000 3000 1 0 1 { T 1800 3050 5 8 1 1 0 0 1 pinnumber=7 T 1800 2950 5 8 0 1 0 2 1 pinseq=7 T 1650 3000 9 8 1 1 0 6 1 pinlabel=1Y T 1650 3000 5 8 0 1 0 8 1 pintype=out } V 250 1400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1400 200 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=15 T 200 1350 5 8 0 1 0 8 1 pinseq=15 T 350 1400 9 8 1 1 0 0 1 pinlabel=\_EN2\_ T 350 1400 5 8 0 1 0 2 1 pintype=in } P 0 3700 300 3700 1 0 0 { T 200 3750 5 8 1 1 0 6 1 pinnumber=14 T 200 3650 5 8 0 1 0 8 1 pinseq=14 T 350 3700 9 8 1 1 0 0 1 pinlabel=A T 350 3700 5 8 0 1 0 2 1 pintype=in } P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=13 T 200 150 5 8 0 1 0 8 1 pinseq=13 T 350 200 9 8 1 1 0 0 1 pinlabel=2C3 T 350 200 5 8 0 1 0 2 1 pintype=in } P 0 500 300 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=12 T 200 450 5 8 0 1 0 8 1 pinseq=12 T 350 500 9 8 1 1 0 0 1 pinlabel=2C2 T 350 500 5 8 0 1 0 2 1 pintype=in } P 0 800 300 800 1 0 0 { T 200 850 5 8 1 1 0 6 1 pinnumber=11 T 200 750 5 8 0 1 0 8 1 pinseq=11 T 350 800 9 8 1 1 0 0 1 pinlabel=2C1 T 350 800 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=10 T 200 1050 5 8 0 1 0 8 1 pinseq=10 T 350 1100 9 8 1 1 0 0 1 pinlabel=2C0 T 350 1100 5 8 0 1 0 2 1 pintype=in } P 1700 1400 2000 1400 1 0 1 { T 1800 1450 5 8 1 1 0 0 1 pinnumber=9 T 1800 1350 5 8 0 1 0 2 1 pinseq=9 T 1650 1400 9 8 1 1 0 6 1 pinlabel=2Y T 1650 1400 5 8 0 1 0 8 1 pintype=out } B 300 0 1400 4000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4250 5 10 0 0 0 0 1 device=74153 T 1700 4100 8 10 1 1 0 6 1 refdes=U? T 300 4450 5 10 0 0 0 0 1 footprint=DIP16 T 300 4650 5 10 0 0 0 0 1 description=2 4-to-1 multiplexer T 300 5250 5 10 0 0 0 0 1 numslots=0 T 300 4850 5 10 0 0 0 0 1 net=Vcc:16 T 300 5050 5 10 0 0 0 0 1 net=GND:8 T 300 4050 9 10 1 0 0 0 1 74153 T 300 5450 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc153.pdf geda-gaf-1.8.2/symbols/74/7483-1.sym0000664000175000017500000000543412204104272013317 00000000000000v 20031231 1 P 0 3400 300 3400 1 0 0 { T 200 3450 5 8 1 1 0 6 1 pinnumber=10 T 200 3350 5 8 0 1 0 8 1 pinseq=1 T 350 3400 9 8 1 1 0 0 1 pinlabel=A1 T 350 3400 5 8 0 1 0 2 1 pintype=in } P 2000 3400 1700 3400 1 0 0 { T 1800 3450 5 8 1 1 0 0 1 pinnumber=9 T 1800 3350 5 8 0 1 0 2 1 pinseq=2 T 1650 3400 9 8 1 1 0 6 1 pinlabel=S1 T 1650 3400 5 8 0 1 0 8 1 pintype=out } P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=8 T 200 2950 5 8 0 1 0 8 1 pinseq=3 T 350 3000 9 8 1 1 0 0 1 pinlabel=A2 T 350 3000 5 8 0 1 0 2 1 pintype=in } P 2000 3000 1700 3000 1 0 0 { T 1800 3050 5 8 1 1 0 0 1 pinnumber=6 T 1800 2950 5 8 0 1 0 2 1 pinseq=4 T 1650 3000 9 8 1 1 0 6 1 pinlabel=S2 T 1650 3000 5 8 0 1 0 8 1 pintype=out } P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=3 T 200 2550 5 8 0 1 0 8 1 pinseq=5 T 350 2600 9 8 1 1 0 0 1 pinlabel=A3 T 350 2600 5 8 0 1 0 2 1 pintype=in } P 2000 2600 1700 2600 1 0 0 { T 1800 2650 5 8 1 1 0 0 1 pinnumber=2 T 1800 2550 5 8 0 1 0 2 1 pinseq=6 T 1650 2600 9 8 1 1 0 6 1 pinlabel=S3 T 1650 2600 5 8 0 1 0 8 1 pintype=out } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=1 T 200 2150 5 8 0 1 0 8 1 pinseq=7 T 350 2200 9 8 1 1 0 0 1 pinlabel=A4 T 350 2200 5 8 0 1 0 2 1 pintype=in } P 2000 2200 1700 2200 1 0 0 { T 1800 2250 5 8 1 1 0 0 1 pinnumber=15 T 1800 2150 5 8 0 1 0 2 1 pinseq=8 T 1650 2200 9 8 1 1 0 6 1 pinlabel=S4 T 1650 2200 5 8 0 1 0 8 1 pintype=out } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=11 T 200 1750 5 8 0 1 0 8 1 pinseq=9 T 350 1800 9 8 1 1 0 0 1 pinlabel=B1 T 350 1800 5 8 0 1 0 2 1 pintype=in } P 2000 1800 1700 1800 1 0 0 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=14 T 1800 1750 5 8 0 1 0 2 1 pinseq=10 T 1650 1800 9 8 1 1 0 6 1 pinlabel=CO T 1650 1800 5 8 0 1 0 8 1 pintype=out } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=7 T 200 1350 5 8 0 1 0 8 1 pinseq=11 T 350 1400 9 8 1 1 0 0 1 pinlabel=B2 T 350 1400 5 8 0 1 0 2 1 pintype=in } P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=4 T 200 950 5 8 0 1 0 8 1 pinseq=12 T 350 1000 9 8 1 1 0 0 1 pinlabel=B3 T 350 1000 5 8 0 1 0 2 1 pintype=in } P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=16 T 200 550 5 8 0 1 0 8 1 pinseq=13 T 350 600 9 8 1 1 0 0 1 pinlabel=B4 T 350 600 5 8 0 1 0 2 1 pintype=in } P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=13 T 200 150 5 8 0 1 0 8 1 pinseq=14 T 350 200 9 8 1 1 0 0 1 pinlabel=CI T 350 200 5 8 0 1 0 2 1 pintype=in } B 300 0 1400 3700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4140 5 10 0 0 0 0 1 device=7483 T 300 3940 5 10 0 0 0 0 1 footprint=DIP16 T 1700 3800 8 10 1 1 0 6 1 refdes=U? T 300 4350 5 10 0 0 0 0 1 description=4-bit binary full adder with carry T 300 4550 5 10 0 0 0 0 1 net=Vcc:5 T 300 4750 5 10 0 0 0 0 1 net=GND:12 T 300 3740 9 10 1 0 0 0 1 7483 T 300 4950 5 10 0 0 0 0 1 numslots=0 geda-gaf-1.8.2/symbols/74/74393-1.sym0000664000175000017500000000543112204104272013400 00000000000000v 20031231 1 P 2000 1400 1700 1400 1 0 0 { T 1800 1450 5 8 1 1 0 0 1 pinnumber=11 T 1800 1350 5 8 0 1 0 2 1 pinseq=11 T 1650 1400 9 8 1 1 0 6 1 pinlabel=2Q0 T 1650 1400 5 8 0 1 0 8 1 pintype=out } P 0 1000 200 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=13 T 200 950 5 8 0 1 0 8 1 pinseq=13 T 375 1000 9 8 1 1 0 0 1 pinlabel=2CLK T 375 1000 5 8 0 1 0 2 1 pintype=clk } V 250 1000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 1000 1700 1000 1 0 0 { T 1800 1050 5 8 1 1 0 0 1 pinnumber=10 T 1800 950 5 8 0 1 0 2 1 pinseq=10 T 1650 1000 9 8 1 1 0 6 1 pinlabel=2Q1 T 1650 1000 5 8 0 1 0 8 1 pintype=out } P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=12 T 200 550 5 8 0 1 0 8 1 pinseq=12 T 350 600 9 8 1 1 0 0 1 pinlabel=2RST T 350 600 5 8 0 1 0 2 1 pintype=in } P 2000 600 1700 600 1 0 0 { T 1800 650 5 8 1 1 0 0 1 pinnumber=9 T 1800 550 5 8 0 1 0 2 1 pinseq=9 T 1650 600 9 8 1 1 0 6 1 pinlabel=2Q2 T 1650 600 5 8 0 1 0 8 1 pintype=out } P 2000 200 1700 200 1 0 0 { T 1800 250 5 8 1 1 0 0 1 pinnumber=8 T 1800 150 5 8 0 1 0 2 1 pinseq=8 T 1650 200 9 8 1 1 0 6 1 pinlabel=2Q3 T 1650 200 5 8 0 1 0 8 1 pintype=out } B 300 0 1400 3300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 3740 5 10 0 0 0 0 1 device=74393 T 300 3540 5 10 0 0 0 0 1 footprint=DIP14 T 1700 3400 8 10 1 1 0 6 1 refdes=U? P 2000 3000 1700 3000 1 0 0 { T 1800 3050 5 8 1 1 0 0 1 pinnumber=3 T 1800 2950 5 8 0 1 0 2 1 pinseq=3 T 1650 3000 9 8 1 1 0 6 1 pinlabel=1Q0 T 1650 3000 5 8 0 1 0 8 1 pintype=out } P 0 2600 200 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=1 T 200 2550 5 8 0 1 0 8 1 pinseq=1 T 375 2600 9 8 1 1 0 0 1 pinlabel=1CLK T 375 2600 5 8 0 1 0 2 1 pintype=clk } V 250 2600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 2600 1700 2600 1 0 0 { T 1800 2650 5 8 1 1 0 0 1 pinnumber=4 T 1800 2550 5 8 0 1 0 2 1 pinseq=4 T 1650 2600 9 8 1 1 0 6 1 pinlabel=1Q1 T 1650 2600 5 8 0 1 0 8 1 pintype=out } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=2 T 200 2150 5 8 0 1 0 8 1 pinseq=2 T 350 2200 9 8 1 1 0 0 1 pinlabel=1RST T 350 2200 5 8 0 1 0 2 1 pintype=in } P 2000 2200 1700 2200 1 0 0 { T 1800 2250 5 8 1 1 0 0 1 pinnumber=5 T 1800 2150 5 8 0 1 0 2 1 pinseq=5 T 1650 2200 9 8 1 1 0 6 1 pinlabel=1Q2 T 1650 2200 5 8 0 1 0 8 1 pintype=out } P 2000 1800 1700 1800 1 0 0 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=6 T 1800 1750 5 8 0 1 0 2 1 pinseq=6 T 1650 1800 9 8 1 1 0 6 1 pinlabel=1Q3 T 1650 1800 5 8 0 1 0 8 1 pintype=out } T 300 3950 5 10 0 0 0 0 1 description=2 4-bit binary counter with clear T 300 4550 5 10 0 0 0 0 1 numslots=0 T 300 4150 5 10 0 0 0 0 1 net=Vcc:14 T 300 4350 5 10 0 0 0 0 1 net=GND:7 T 300 3340 9 10 1 0 0 0 1 74393 L 375 2600 300 2650 3 0 0 0 -1 -1 L 375 2600 300 2550 3 0 0 0 -1 -1 L 375 1000 300 1050 3 0 0 0 -1 -1 L 375 1000 300 950 3 0 0 0 -1 -1 T 300 4750 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc393.pdf geda-gaf-1.8.2/symbols/74/74124-1.sym0000664000175000017500000000330712204104272013370 00000000000000v 20070626 1 P 0 1800 200 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=6 T 200 1750 5 8 0 1 0 8 1 pinseq=1 T 350 1800 9 8 1 1 0 0 1 pinlabel=\_EN\_ T 350 1800 5 8 0 1 0 2 1 pintype=in } V 250 1800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 1800 1700 1800 1 0 0 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=7 T 1800 1750 5 8 0 1 0 2 1 pinseq=2 T 1650 1800 9 8 1 1 0 6 1 pinlabel=Y T 1650 1800 5 8 0 1 0 8 1 pintype=out } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=2 T 200 1350 5 8 0 1 0 8 1 pinseq=3 T 350 1400 9 8 1 1 0 0 1 pinlabel=FC T 350 1400 5 8 0 1 0 2 1 pintype=in } P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=3 T 200 950 5 8 0 1 0 8 1 pinseq=4 T 350 1000 9 8 1 1 0 0 1 pinlabel=RNG T 350 1000 5 8 0 1 0 2 1 pintype=in } P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=4 T 200 550 5 8 0 1 0 8 1 pinseq=5 T 350 600 9 8 1 1 0 0 1 pinlabel=CX1 T 350 600 5 8 0 1 0 2 1 pintype=pas } P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=5 T 200 150 5 8 0 1 0 8 1 pinseq=6 T 350 200 9 8 1 1 0 0 1 pinlabel=CX2 T 350 200 5 8 0 1 0 2 1 pintype=pas } B 300 0 1400 2100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 2540 5 10 0 0 0 0 1 device=74124 T 300 2340 5 10 0 0 0 0 1 footprint=DIP16 T 1700 2200 8 10 1 1 0 6 1 refdes=U? T 300 2750 5 10 0 0 0 0 1 description=2 VCOs (voltage controlled oscillators) T 300 2950 5 10 0 0 0 0 1 net=Vcc:16 T 300 3150 5 10 0 0 0 0 1 net=GND:9 T 300 3350 5 10 0 0 0 0 1 net=OSCGND:8 T 300 3550 5 10 0 0 0 0 1 net=OSCVCC:15 T 300 4350 5 10 0 0 0 0 1 slot=1 T 300 3750 5 10 0 0 0 0 1 numslots=2 T 300 2140 9 10 1 0 0 0 1 74124 T 300 4550 5 10 0 0 0 0 1 symversion=1.1 T 300 4150 5 10 0 0 0 0 1 slotdef=2:11,10,1,14,12,13 T 300 3950 5 10 0 0 0 0 1 slotdef=1:6,7,2,3,4,5 geda-gaf-1.8.2/symbols/74/7408-2.sym0000664000175000017500000000260512204104272013312 00000000000000v 20031231 1 L 260 200 600 200 3 0 0 0 -1 -1 L 260 800 600 800 3 0 0 0 -1 -1 T 700 900 5 10 0 0 0 0 1 device=7408 T 700 1100 5 10 0 0 0 0 1 slot=1 T 700 1300 5 10 0 0 0 0 1 numslots=4 T 700 1500 5 10 0 0 0 0 1 slotdef=1:1,2,3 T 700 1700 5 10 0 0 0 0 1 slotdef=2:4,5,6 T 700 1900 5 10 0 0 0 0 1 slotdef=3:9,10,8 T 700 2100 5 10 0 0 0 0 1 slotdef=4:12,13,11 T 300 0 9 8 1 0 0 0 1 7408 A 0 500 400 312 97 3 0 0 0 -1 -1 V 250 700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 700 0 700 1 0 1 { T 200 750 5 8 1 1 0 6 1 pinnumber=1 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 0 1 0 0 1 pinlabel=A T 350 700 5 8 0 1 0 2 1 pintype=in } P 200 300 0 300 1 0 1 { T 200 350 5 8 1 1 0 6 1 pinnumber=2 T 200 250 5 8 0 1 0 8 1 pinseq=2 T 350 300 9 8 0 1 0 0 1 pinlabel=B T 350 300 5 8 0 1 0 2 1 pintype=in } A 600 600 400 270 76 3 0 0 0 -1 -1 A 600 400 400 14 76 3 0 0 0 -1 -1 V 1037 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 500 1087 500 1 0 0 { T 1100 550 5 8 1 1 0 0 1 pinnumber=3 T 1100 450 5 8 0 1 0 2 1 pinseq=3 T 950 500 9 8 0 1 0 6 1 pinlabel=Y T 950 500 5 8 0 1 0 8 1 pintype=out } T 300 900 8 10 1 1 0 0 1 refdes=U? T 700 2300 5 10 0 0 0 0 1 footprint=DIP14 T 700 2500 5 10 0 0 0 0 1 description=4 AND gates with 2 inputs T 700 2700 5 10 0 0 0 0 1 net=Vcc:14 T 700 2900 5 10 0 0 0 0 1 net=GND:7 T 700 3100 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc08.pdf geda-gaf-1.8.2/symbols/74/9602-2.sym0000664000175000017500000000354412204104272013313 00000000000000v 20070626 1 P 0 1600 300 1600 1 0 0 { T 200 1650 5 8 1 1 0 6 1 pinnumber=1 T 200 1550 5 8 0 1 0 8 1 pinseq=1 T 350 1600 9 8 1 1 0 0 1 pinlabel=C_EXT T 350 1600 5 8 0 1 0 2 1 pintype=pas } P 0 1200 300 1200 1 0 0 { T 200 1250 5 8 1 1 0 6 1 pinnumber=2 T 200 1150 5 8 0 1 0 8 1 pinseq=2 T 350 1200 9 8 1 1 0 0 1 pinlabel=RC_EXT T 350 1200 5 8 0 1 0 2 1 pintype=pas } V 250 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 800 200 800 1 0 0 { T 200 850 5 8 1 1 0 6 1 pinnumber=3 T 200 750 5 8 0 1 0 8 1 pinseq=3 T 350 800 9 8 1 1 0 0 1 pinlabel=\_CLR\_ T 350 800 5 8 0 1 0 2 1 pintype=in } V 250 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 500 300 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=4 T 200 450 5 8 0 1 0 8 1 pinseq=4 T 350 500 9 8 1 1 0 0 1 pinlabel=TRIG T 350 500 5 8 0 1 0 2 1 pintype=in } P 0 200 200 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=5 T 200 150 5 8 0 1 0 8 1 pinseq=5 T 350 200 9 8 1 1 0 0 1 pinlabel=\_TRIG\_ T 350 200 5 8 0 1 0 2 1 pintype=in } P 1400 1000 1700 1000 1 0 1 { T 1500 1050 5 8 1 1 0 0 1 pinnumber=6 T 1500 950 5 8 0 1 0 2 1 pinseq=6 T 1350 1000 9 8 1 1 0 6 1 pinlabel=Q T 1350 1000 5 8 0 1 0 8 1 pintype=out } P 1500 700 1700 700 1 0 1 { T 1500 750 5 8 1 1 0 0 1 pinnumber=7 T 1500 650 5 8 0 1 0 2 1 pinseq=7 T 1350 700 9 8 1 1 0 6 1 pinlabel=\_Q\_ T 1350 700 5 8 0 1 0 8 1 pintype=out } B 300 0 1100 1800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1400 1900 8 10 1 1 0 6 1 refdes=U? V 1450 700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 2250 5 10 0 0 0 0 1 device=9602 T 1900 600 5 10 0 0 0 0 1 numslots=2 T 1900 800 5 10 0 0 0 0 1 slot=1 T 1900 1200 5 10 0 0 0 0 1 slotdef=1:1,2,3,4,5,6,7 T 1900 1000 5 10 0 0 0 0 1 slotdef=2:15,14,13,12,11,10,9 T 1900 1600 5 10 0 0 0 0 1 net=Vcc:16 T 1900 1400 5 10 0 0 0 0 1 net=GND:8 T 300 2050 5 10 0 0 0 0 1 footprint=DIP16 T 1900 400 5 10 0 0 0 0 1 description=2 retriggerable, resetable monoflops T 300 1840 9 10 1 0 0 0 1 9602 geda-gaf-1.8.2/symbols/74/7415-2.sym0000664000175000017500000000307512204104272013312 00000000000000v 20031231 1 P 200 100 0 100 1 0 1 { T 200 150 5 8 1 1 0 6 1 pinnumber=13 T 200 50 5 8 0 1 0 8 1 pinseq=3 T 350 100 9 8 0 1 0 0 1 pinlabel=C T 350 100 5 8 0 1 0 2 1 pintype=in } P 200 900 0 900 1 0 1 { T 200 950 5 8 1 1 0 6 1 pinnumber=1 T 200 850 5 8 0 1 0 8 1 pinseq=1 T 350 900 9 8 0 1 0 0 1 pinlabel=A T 350 900 5 8 0 1 0 2 1 pintype=in } P 200 500 0 500 1 0 1 { T 200 550 5 8 1 1 0 6 1 pinnumber=2 T 200 450 5 8 0 1 0 8 1 pinseq=2 T 350 500 9 8 0 1 0 0 1 pinlabel=B T 350 500 5 8 0 1 0 2 1 pintype=in } T 400 0 9 8 1 0 0 0 1 7415 A 36 500 400 312 97 3 0 0 0 -1 -1 P 1090 500 1300 500 1 0 1 { T 1100 550 5 8 1 1 0 0 1 pinnumber=12 T 1100 450 5 8 0 1 0 2 1 pinseq=4 T 950 500 9 8 0 1 0 6 1 pinlabel=Y T 950 500 5 8 0 1 0 8 1 pintype=oc } V 250 900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 300 200 600 200 3 0 0 0 -1 -1 L 300 800 600 800 3 0 0 0 -1 -1 T 600 900 5 10 0 0 0 0 1 device=7415 T 600 1100 5 10 0 0 0 0 1 slot=1 T 600 1300 5 10 0 0 0 0 1 numslots=3 T 600 1500 5 10 0 0 0 0 1 slotdef=1:1,2,13,12 T 600 1700 5 10 0 0 0 0 1 slotdef=2:3,4,5,6 T 600 1900 5 10 0 0 0 0 1 slotdef=3:9,10,11,8 A 600 600 400 270 76 3 0 0 0 -1 -1 A 600 400 400 14 76 3 0 0 0 -1 -1 L 300 0 300 200 3 0 0 0 -1 -1 L 300 1000 300 800 3 0 0 0 -1 -1 V 1039 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 900 8 10 1 1 0 0 1 refdes=U? T 600 2100 5 10 0 0 0 0 1 footprint=DIP14 T 600 2300 5 10 0 0 0 0 1 description=3 AND gates with 3 inputs and open collector output T 600 2500 5 10 0 0 0 0 1 net=Vcc:14 T 600 2700 5 10 0 0 0 0 1 net=GND:7 geda-gaf-1.8.2/symbols/74/74152-1.sym0000664000175000017500000000467712204104272013404 00000000000000v 20070626 1 P 0 4200 300 4200 1 0 0 { T 200 4250 5 8 1 1 0 6 1 pinnumber=5 T 200 4150 5 8 0 1 0 8 1 pinseq=1 T 350 4200 9 8 1 1 0 0 1 pinlabel=D0 T 350 4200 5 8 0 1 0 2 1 pintype=in } P 2000 4200 1800 4200 1 0 0 { T 1800 4250 5 8 1 1 0 0 1 pinnumber=6 T 1800 4150 5 8 0 1 0 2 1 pinseq=2 T 1650 4200 9 8 1 1 0 6 1 pinlabel=\_Y\_ T 1650 4200 5 8 0 1 0 8 1 pintype=out } V 1750 4200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3800 300 3800 1 0 0 { T 200 3850 5 8 1 1 0 6 1 pinnumber=4 T 200 3750 5 8 0 1 0 8 1 pinseq=3 T 350 3800 9 8 1 1 0 0 1 pinlabel=D1 T 350 3800 5 8 0 1 0 2 1 pintype=in } P 0 3400 300 3400 1 0 0 { T 200 3450 5 8 1 1 0 6 1 pinnumber=3 T 200 3350 5 8 0 1 0 8 1 pinseq=4 T 350 3400 9 8 1 1 0 0 1 pinlabel=D2 T 350 3400 5 8 0 1 0 2 1 pintype=in } P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=2 T 200 2950 5 8 0 1 0 8 1 pinseq=5 T 350 3000 9 8 1 1 0 0 1 pinlabel=D3 T 350 3000 5 8 0 1 0 2 1 pintype=in } P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=1 T 200 2550 5 8 0 1 0 8 1 pinseq=6 T 350 2600 9 8 1 1 0 0 1 pinlabel=D4 T 350 2600 5 8 0 1 0 2 1 pintype=in } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=13 T 200 2150 5 8 0 1 0 8 1 pinseq=7 T 350 2200 9 8 1 1 0 0 1 pinlabel=D5 T 350 2200 5 8 0 1 0 2 1 pintype=in } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=12 T 200 1750 5 8 0 1 0 8 1 pinseq=8 T 350 1800 9 8 1 1 0 0 1 pinlabel=D6 T 350 1800 5 8 0 1 0 2 1 pintype=in } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=11 T 200 1350 5 8 0 1 0 8 1 pinseq=9 T 350 1400 9 8 1 1 0 0 1 pinlabel=D7 T 350 1400 5 8 0 1 0 2 1 pintype=in } P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=10 T 200 950 5 8 0 1 0 8 1 pinseq=10 T 350 1000 9 8 1 1 0 0 1 pinlabel=A0 T 350 1000 5 8 0 1 0 2 1 pintype=in } P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=9 T 200 550 5 8 0 1 0 8 1 pinseq=11 T 350 600 9 8 1 1 0 0 1 pinlabel=A1 T 350 600 5 8 0 1 0 2 1 pintype=in } P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=8 T 200 150 5 8 0 1 0 8 1 pinseq=12 T 350 200 9 8 1 1 0 0 1 pinlabel=A2 T 350 200 5 8 0 1 0 2 1 pintype=in } B 300 0 1400 4500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4940 5 10 0 0 0 0 1 device=74152 T 300 4740 5 10 0 0 0 0 1 footprint=DIP14 T 1700 4600 8 10 1 1 0 6 1 refdes=U? T 300 5150 5 10 0 0 0 0 1 description=8 to 1 multiplexer T 300 5750 5 10 0 0 0 0 1 numslots=0 T 300 5350 5 10 0 0 0 0 1 net=Vcc:14 T 300 5550 5 10 0 0 0 0 1 net=GND:7 T 300 4540 9 10 1 0 0 0 1 74152 geda-gaf-1.8.2/symbols/74/7404-3.sym0000664000175000017500000000464412204104272013314 00000000000000v 20031231 1 B 300 0 1400 1900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1700 300 1700 1 0 0 { T 200 1750 5 8 1 1 0 6 1 pinnumber=1 T 200 1650 5 8 0 1 0 8 1 pinseq=1 T 350 1700 9 8 1 1 0 0 1 pinlabel=A1 T 350 1700 5 8 0 1 0 2 1 pintype=in } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=3 T 200 1350 5 8 0 1 0 8 1 pinseq=3 T 350 1400 9 8 1 1 0 0 1 pinlabel=A2 T 350 1400 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=5 T 200 1050 5 8 0 1 0 8 1 pinseq=5 T 350 1100 9 8 1 1 0 0 1 pinlabel=A3 T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 800 300 800 1 0 0 { T 200 850 5 8 1 1 0 6 1 pinnumber=9 T 200 750 5 8 0 1 0 8 1 pinseq=9 T 350 800 9 8 1 1 0 0 1 pinlabel=A4 T 350 800 5 8 0 1 0 2 1 pintype=in } P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=13 T 200 150 5 8 0 1 0 8 1 pinseq=13 T 350 200 9 8 1 1 0 0 1 pinlabel=A6 T 350 200 5 8 0 1 0 2 1 pintype=in } P 0 500 300 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=11 T 200 450 5 8 0 1 0 8 1 pinseq=11 T 350 500 9 8 1 1 0 0 1 pinlabel=A5 T 350 500 5 8 0 1 0 2 1 pintype=in } P 2000 200 1700 200 1 0 0 { T 1650 200 9 8 1 1 0 6 1 pinlabel=Y6 T 1800 250 5 8 1 1 0 0 1 pinnumber=12 T 1800 150 5 8 0 1 0 2 1 pinseq=12 T 1650 200 5 8 0 1 0 8 1 pintype=out } P 2000 500 1700 500 1 0 0 { T 1650 500 9 8 1 1 0 6 1 pinlabel=Y5 T 1800 550 5 8 1 1 0 0 1 pinnumber=10 T 1800 450 5 8 0 1 0 2 1 pinseq=10 T 1650 500 5 8 0 1 0 8 1 pintype=out } P 2000 800 1700 800 1 0 0 { T 1650 800 9 8 1 1 0 6 1 pinlabel=Y4 T 1800 850 5 8 1 1 0 0 1 pinnumber=8 T 1800 750 5 8 0 1 0 2 1 pinseq=8 T 1650 800 5 8 0 1 0 8 1 pintype=out } P 2000 1100 1700 1100 1 0 0 { T 1650 1100 9 8 1 1 0 6 1 pinlabel=Y3 T 1800 1150 5 8 1 1 0 0 1 pinnumber=6 T 1800 1050 5 8 0 1 0 2 1 pinseq=6 T 1650 1100 5 8 0 1 0 8 1 pintype=out } P 2000 1400 1700 1400 1 0 0 { T 1650 1400 9 8 1 1 0 6 1 pinlabel=Y2 T 1800 1450 5 8 1 1 0 0 1 pinnumber=4 T 1800 1350 5 8 0 1 0 2 1 pinseq=4 T 1650 1400 5 8 0 1 0 8 1 pintype=out } P 2000 1700 1700 1700 1 0 0 { T 1650 1700 9 8 1 1 0 6 1 pinlabel=Y1 T 1800 1750 5 8 1 1 0 0 1 pinnumber=2 T 1800 1650 5 8 0 1 0 2 1 pinseq=2 T 1650 1700 5 8 0 1 0 8 1 pintype=out } T 300 3150 5 10 0 0 0 0 1 numslots=0 T 300 2950 5 10 0 0 0 0 1 net=GND:7 T 300 2750 5 10 0 0 0 0 1 net=Vcc:14 T 300 2550 5 10 0 0 0 0 1 description=Hex Inverting Gates T 300 2350 5 10 0 0 0 0 1 device=7404 T 300 2150 5 10 0 0 0 0 1 footprint=DIP14 T 1500 2000 8 10 1 1 0 0 1 refdes=U? T 300 1950 9 10 1 0 0 0 1 7404 geda-gaf-1.8.2/symbols/74/74138-2.sym0000664000175000017500000000650412204104272013400 00000000000000v 20031231 1 P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=1 T 200 2950 5 8 0 1 0 8 1 pinseq=1 T 350 3000 9 8 1 1 0 0 1 pinlabel=A0 T 350 3000 5 8 0 1 0 2 1 pintype=in } P 2000 3000 1800 3000 1 0 0 { T 1800 3050 5 8 1 1 0 0 1 pinnumber=15 T 1800 2950 5 8 0 1 0 2 1 pinseq=2 T 1650 3000 9 8 1 1 0 6 1 pinlabel=Q0 T 1650 3000 5 8 0 1 0 8 1 pintype=out } V 1750 3000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=2 T 200 2550 5 8 0 1 0 8 1 pinseq=3 T 350 2600 9 8 1 1 0 0 1 pinlabel=A1 T 350 2600 5 8 0 1 0 2 1 pintype=in } P 2000 2600 1800 2600 1 0 0 { T 1800 2650 5 8 1 1 0 0 1 pinnumber=14 T 1800 2550 5 8 0 1 0 2 1 pinseq=4 T 1650 2600 9 8 1 1 0 6 1 pinlabel=Q1 T 1650 2600 5 8 0 1 0 8 1 pintype=out } V 1750 2600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=3 T 200 2150 5 8 0 1 0 8 1 pinseq=5 T 350 2200 9 8 1 1 0 0 1 pinlabel=A2 T 350 2200 5 8 0 1 0 2 1 pintype=in } P 2000 2200 1800 2200 1 0 0 { T 1800 2250 5 8 1 1 0 0 1 pinnumber=13 T 1800 2150 5 8 0 1 0 2 1 pinseq=6 T 1650 2200 9 8 1 1 0 6 1 pinlabel=Q2 T 1650 2200 5 8 0 1 0 8 1 pintype=out } V 1750 2200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 1800 1800 1800 1 0 0 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=12 T 1800 1750 5 8 0 1 0 2 1 pinseq=7 T 1650 1800 9 8 1 1 0 6 1 pinlabel=Q3 T 1650 1800 5 8 0 1 0 8 1 pintype=out } V 1750 1800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1400 200 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=4 T 200 1350 5 8 0 1 0 8 1 pinseq=8 T 350 1400 9 8 1 1 0 0 1 pinlabel=E0 T 350 1400 5 8 0 1 0 2 1 pintype=in } V 250 1400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 1400 1800 1400 1 0 0 { T 1800 1450 5 8 1 1 0 0 1 pinnumber=11 T 1800 1350 5 8 0 1 0 2 1 pinseq=9 T 1650 1400 9 8 1 1 0 6 1 pinlabel=Q4 T 1650 1400 5 8 0 1 0 8 1 pintype=out } V 1750 1400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1000 200 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=5 T 200 950 5 8 0 1 0 8 1 pinseq=10 T 350 1000 9 8 1 1 0 0 1 pinlabel=E1 T 350 1000 5 8 0 1 0 2 1 pintype=in } V 250 1000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 1000 1800 1000 1 0 0 { T 1800 1050 5 8 1 1 0 0 1 pinnumber=10 T 1800 950 5 8 0 1 0 2 1 pinseq=11 T 1650 1000 9 8 1 1 0 6 1 pinlabel=Q5 T 1650 1000 5 8 0 1 0 8 1 pintype=out } V 1750 1000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=6 T 200 550 5 8 0 1 0 8 1 pinseq=12 T 350 600 9 8 1 1 0 0 1 pinlabel=E2 T 350 600 5 8 0 1 0 2 1 pintype=in } P 2000 600 1800 600 1 0 0 { T 1800 650 5 8 1 1 0 0 1 pinnumber=9 T 1800 550 5 8 0 1 0 2 1 pinseq=13 T 1650 600 9 8 1 1 0 6 1 pinlabel=Q6 T 1650 600 5 8 0 1 0 8 1 pintype=out } V 1750 600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 200 1800 200 1 0 0 { T 1800 250 5 8 1 1 0 0 1 pinnumber=7 T 1800 150 5 8 0 1 0 2 1 pinseq=14 T 1650 200 9 8 1 1 0 6 1 pinlabel=Q7 T 1650 200 5 8 0 1 0 8 1 pintype=out } V 1750 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 300 0 1400 3300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 3740 5 10 0 0 0 0 1 device=74138 T 300 3540 5 10 0 0 0 0 1 footprint=DIP16 T 1700 3400 8 10 1 1 0 6 1 refdes=U? T 300 3950 5 10 0 0 0 0 1 description=3 to 8 decoder/demultiplexer T 300 4550 5 10 0 0 0 0 1 numslots=0 T 300 4150 5 10 0 0 0 0 1 net=Vcc:16 T 300 4350 5 10 0 0 0 0 1 net=GND:8 T 300 3340 9 10 1 0 0 0 1 74138 T 300 4750 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc138.pdf geda-gaf-1.8.2/symbols/74/74168-1.sym0000664000175000017500000000607312204104272013403 00000000000000v 20070626 1 P 0 3400 300 3400 1 0 0 { T 200 3450 5 8 1 1 0 6 1 pinnumber=3 T 200 3350 5 8 0 1 0 8 1 pinseq=1 T 350 3400 9 8 1 1 0 0 1 pinlabel=P0 T 350 3400 5 8 0 1 0 2 1 pintype=in } P 2000 3400 1700 3400 1 0 0 { T 1800 3450 5 8 1 1 0 0 1 pinnumber=14 T 1800 3350 5 8 0 1 0 2 1 pinseq=2 T 1650 3400 9 8 1 1 0 6 1 pinlabel=Q0 T 1650 3400 5 8 0 1 0 8 1 pintype=out } P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=4 T 200 2950 5 8 0 1 0 8 1 pinseq=3 T 350 3000 9 8 1 1 0 0 1 pinlabel=P1 T 350 3000 5 8 0 1 0 2 1 pintype=in } P 2000 3000 1700 3000 1 0 0 { T 1800 3050 5 8 1 1 0 0 1 pinnumber=13 T 1800 2950 5 8 0 1 0 2 1 pinseq=4 T 1650 3000 9 8 1 1 0 6 1 pinlabel=Q1 T 1650 3000 5 8 0 1 0 8 1 pintype=out } P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=5 T 200 2550 5 8 0 1 0 8 1 pinseq=5 T 350 2600 9 8 1 1 0 0 1 pinlabel=P2 T 350 2600 5 8 0 1 0 2 1 pintype=in } P 2000 2600 1700 2600 1 0 0 { T 1800 2650 5 8 1 1 0 0 1 pinnumber=12 T 1800 2550 5 8 0 1 0 2 1 pinseq=6 T 1650 2600 9 8 1 1 0 6 1 pinlabel=Q2 T 1650 2600 5 8 0 1 0 8 1 pintype=out } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=6 T 200 2150 5 8 0 1 0 8 1 pinseq=7 T 350 2200 9 8 1 1 0 0 1 pinlabel=P3 T 350 2200 5 8 0 1 0 2 1 pintype=in } P 2000 2200 1700 2200 1 0 0 { T 1800 2250 5 8 1 1 0 0 1 pinnumber=11 T 1800 2150 5 8 0 1 0 2 1 pinseq=8 T 1650 2200 9 8 1 1 0 6 1 pinlabel=Q3 T 1650 2200 5 8 0 1 0 8 1 pintype=out } P 0 1800 200 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=7 T 200 1750 5 8 0 1 0 8 1 pinseq=9 T 350 1800 9 8 1 1 0 0 1 pinlabel=\_CEP\_ T 350 1800 5 8 0 1 0 2 1 pintype=in } V 250 1800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 1800 1800 1800 1 0 0 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=15 T 1800 1750 5 8 0 1 0 2 1 pinseq=10 T 1650 1800 9 8 1 1 0 6 1 pinlabel=\_TC\_ T 1650 1800 5 8 0 1 0 8 1 pintype=out } V 1750 1800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1400 200 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=10 T 200 1350 5 8 0 1 0 8 1 pinseq=11 T 350 1400 9 8 1 1 0 0 1 pinlabel=\_CET\_ T 350 1400 5 8 0 1 0 2 1 pintype=in } V 250 1400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=1 T 200 950 5 8 0 1 0 8 1 pinseq=12 T 350 1000 9 8 1 1 0 0 1 pinlabel=UP/\_DOWN\_ T 350 1000 5 8 0 1 0 2 1 pintype=in } P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=2 T 200 150 5 8 0 1 0 8 1 pinseq=14 T 375 200 9 8 1 1 0 0 1 pinlabel=CP T 375 200 5 8 0 1 0 2 1 pintype=clk } B 300 0 1400 3700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4140 5 10 0 0 0 0 1 device=74168 T 300 3940 5 10 0 0 0 0 1 footprint=DIP16 T 1700 3800 8 10 1 1 0 6 1 refdes=U? T 300 4350 5 10 0 0 0 0 1 description=synchronous programmable decimal up/down counter T 300 4950 5 10 0 0 0 0 1 numslots=0 T 300 4550 5 10 0 0 0 0 1 net=Vcc:16 T 300 4750 5 10 0 0 0 0 1 net=GND:8 T 300 3740 9 10 1 0 0 0 1 74168 L 375 200 300 250 3 0 0 0 -1 -1 L 375 200 300 150 3 0 0 0 -1 -1 T 300 5150 5 10 0 0 0 0 1 symversion=1.0 P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=9 T 200 550 5 8 0 1 0 8 1 pinseq=13 T 350 600 9 8 1 1 0 0 1 pinlabel=\_LOAD\_ T 350 600 5 8 0 1 0 2 1 pintype=in } geda-gaf-1.8.2/symbols/74/7431-1.sym0000664000175000017500000000572612204104272013314 00000000000000v 20031231 1 P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=1 T 200 2950 5 8 0 1 0 8 1 pinseq=1 T 350 3000 9 8 1 1 0 0 1 pinlabel=1A T 350 3000 5 8 0 1 0 2 1 pintype=in } P 2000 3000 1800 3000 1 0 0 { T 1800 3050 5 8 1 1 0 0 1 pinnumber=2 T 1800 2950 5 8 0 1 0 2 1 pinseq=2 T 1650 3000 9 8 1 1 0 6 1 pinlabel=1Y T 1650 3000 5 8 0 1 0 8 1 pintype=out } V 1750 3000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=15 T 200 2550 5 8 0 1 0 8 1 pinseq=3 T 350 2600 9 8 1 1 0 0 1 pinlabel=6A T 350 2600 5 8 0 1 0 2 1 pintype=in } P 2000 2600 1800 2600 1 0 0 { T 1800 2650 5 8 1 1 0 0 1 pinnumber=14 T 1800 2550 5 8 0 1 0 2 1 pinseq=4 T 1650 2600 9 8 1 1 0 6 1 pinlabel=6Y T 1650 2600 5 8 0 1 0 8 1 pintype=out } V 1750 2600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=3 T 200 2150 5 8 0 1 0 8 1 pinseq=5 T 350 2200 9 8 1 1 0 0 1 pinlabel=2A T 350 2200 5 8 0 1 0 2 1 pintype=in } P 2000 2200 1700 2200 1 0 0 { T 1800 2250 5 8 1 1 0 0 1 pinnumber=4 T 1800 2150 5 8 0 1 0 2 1 pinseq=6 T 1650 2200 9 8 1 1 0 6 1 pinlabel=2Y T 1650 2200 5 8 0 1 0 8 1 pintype=out } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=13 T 200 1750 5 8 0 1 0 8 1 pinseq=7 T 350 1800 9 8 1 1 0 0 1 pinlabel=5A T 350 1800 5 8 0 1 0 2 1 pintype=in } P 2000 1800 1700 1800 1 0 0 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=12 T 1800 1750 5 8 0 1 0 2 1 pinseq=8 T 1650 1800 9 8 1 1 0 6 1 pinlabel=5Y T 1650 1800 5 8 0 1 0 8 1 pintype=out } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=5 T 200 1350 5 8 0 1 0 8 1 pinseq=9 T 350 1400 9 8 1 1 0 0 1 pinlabel=3A T 350 1400 5 8 0 1 0 2 1 pintype=in } P 2000 1400 1800 1400 1 0 0 { T 1800 1450 5 8 1 1 0 0 1 pinnumber=7 T 1800 1350 5 8 0 1 0 2 1 pinseq=10 T 1650 1400 9 8 1 1 0 6 1 pinlabel=3Y T 1650 1400 5 8 0 1 0 8 1 pintype=out } V 1750 1400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=6 T 200 950 5 8 0 1 0 8 1 pinseq=11 T 350 1000 9 8 1 1 0 0 1 pinlabel=3B T 350 1000 5 8 0 1 0 2 1 pintype=in } P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=10 T 200 550 5 8 0 1 0 8 1 pinseq=12 T 350 600 9 8 1 1 0 0 1 pinlabel=4A T 350 600 5 8 0 1 0 2 1 pintype=in } P 2000 600 1800 600 1 0 0 { T 1800 650 5 8 1 1 0 0 1 pinnumber=9 T 1800 550 5 8 0 1 0 2 1 pinseq=13 T 1650 600 9 8 1 1 0 6 1 pinlabel=4Y T 1650 600 5 8 0 1 0 8 1 pintype=out } V 1750 600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=11 T 200 150 5 8 0 1 0 8 1 pinseq=14 T 350 200 9 8 1 1 0 0 1 pinlabel=4B T 350 200 5 8 0 1 0 2 1 pintype=in } B 300 0 1400 3300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 3740 5 10 0 0 0 0 1 device=7431 T 300 3540 5 10 0 0 0 0 1 footprint=DIP16 T 300 3340 9 10 1 0 0 0 1 7431 T 1700 3400 8 10 1 1 0 6 1 refdes=U? T 300 3950 5 10 0 0 0 0 1 description=6 DELAY circuits: 6ns, 23ns, 45ns T 300 4150 5 10 0 0 0 0 1 net=Vcc:16 T 300 4350 5 10 0 0 0 0 1 net=GND:8 T 300 4550 5 10 0 0 0 0 1 numslots=0 geda-gaf-1.8.2/symbols/74/74688-1.sym0000664000175000017500000000716512204104272013415 00000000000000v 20070626 1 P 0 5400 300 5400 1 0 0 { T 200 5450 5 8 1 1 0 6 1 pinnumber=2 T 200 5350 5 8 0 1 0 8 1 pinseq=2 T 350 5400 9 8 1 1 0 0 1 pinlabel=A1 T 350 5400 5 8 0 1 0 2 1 pintype=in } P 0 5100 300 5100 1 0 0 { T 200 5150 5 8 1 1 0 6 1 pinnumber=4 T 200 5050 5 8 0 1 0 8 1 pinseq=4 T 350 5100 9 8 1 1 0 0 1 pinlabel=A2 T 350 5100 5 8 0 1 0 2 1 pintype=in } P 0 4800 300 4800 1 0 0 { T 200 4850 5 8 1 1 0 6 1 pinnumber=6 T 200 4750 5 8 0 1 0 8 1 pinseq=6 T 350 4800 9 8 1 1 0 0 1 pinlabel=A3 T 350 4800 5 8 0 1 0 2 1 pintype=in } P 0 4500 300 4500 1 0 0 { T 200 4550 5 8 1 1 0 6 1 pinnumber=8 T 200 4450 5 8 0 1 0 8 1 pinseq=8 T 350 4500 9 8 1 1 0 0 1 pinlabel=A4 T 350 4500 5 8 0 1 0 2 1 pintype=in } P 0 4200 300 4200 1 0 0 { T 200 4250 5 8 1 1 0 6 1 pinnumber=11 T 200 4150 5 8 0 1 0 8 1 pinseq=11 T 350 4200 9 8 1 1 0 0 1 pinlabel=A5 T 350 4200 5 8 0 1 0 2 1 pintype=in } P 0 3900 300 3900 1 0 0 { T 200 3950 5 8 1 1 0 6 1 pinnumber=13 T 200 3850 5 8 0 1 0 8 1 pinseq=13 T 350 3900 9 8 1 1 0 0 1 pinlabel=A6 T 350 3900 5 8 0 1 0 2 1 pintype=in } P 0 3600 300 3600 1 0 0 { T 200 3650 5 8 1 1 0 6 1 pinnumber=15 T 200 3550 5 8 0 1 0 8 1 pinseq=15 T 350 3600 9 8 1 1 0 0 1 pinlabel=A7 T 350 3600 5 8 0 1 0 2 1 pintype=in } P 0 3300 300 3300 1 0 0 { T 200 3350 5 8 1 1 0 6 1 pinnumber=17 T 200 3250 5 8 0 1 0 8 1 pinseq=17 T 350 3300 9 8 1 1 0 0 1 pinlabel=A8 T 350 3300 5 8 0 1 0 2 1 pintype=in } V 250 400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 400 200 400 1 0 0 { T 200 450 5 8 1 1 0 6 1 pinnumber=1 T 200 350 5 8 0 1 0 8 1 pinseq=1 T 350 400 9 8 1 1 0 0 1 pinlabel=\_OE\_ T 350 400 5 8 0 1 0 2 1 pintype=in } P 0 2800 300 2800 1 0 0 { T 200 2850 5 8 1 1 0 6 1 pinnumber=3 T 200 2750 5 8 0 1 0 8 1 pinseq=3 T 350 2800 9 8 1 1 0 0 1 pinlabel=B1 T 350 2800 5 8 0 1 0 2 1 pintype=in } P 0 2500 300 2500 1 0 0 { T 200 2550 5 8 1 1 0 6 1 pinnumber=5 T 200 2450 5 8 0 1 0 8 1 pinseq=5 T 350 2500 9 8 1 1 0 0 1 pinlabel=B2 T 350 2500 5 8 0 1 0 2 1 pintype=in } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=7 T 200 2150 5 8 0 1 0 8 1 pinseq=7 T 350 2200 9 8 1 1 0 0 1 pinlabel=B3 T 350 2200 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=9 T 200 1850 5 8 0 1 0 8 1 pinseq=9 T 350 1900 9 8 1 1 0 0 1 pinlabel=B4 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 1600 300 1600 1 0 0 { T 200 1650 5 8 1 1 0 6 1 pinnumber=12 T 200 1550 5 8 0 1 0 8 1 pinseq=12 T 350 1600 9 8 1 1 0 0 1 pinlabel=B5 T 350 1600 5 8 0 1 0 2 1 pintype=in } P 0 1300 300 1300 1 0 0 { T 200 1350 5 8 1 1 0 6 1 pinnumber=14 T 200 1250 5 8 0 1 0 8 1 pinseq=14 T 350 1300 9 8 1 1 0 0 1 pinlabel=B6 T 350 1300 5 8 0 1 0 2 1 pintype=in } P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=16 T 200 950 5 8 0 1 0 8 1 pinseq=16 T 350 1000 9 8 1 1 0 0 1 pinlabel=B7 T 350 1000 5 8 0 1 0 2 1 pintype=in } P 0 700 300 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=18 T 200 650 5 8 0 1 0 8 1 pinseq=18 T 350 700 9 8 1 1 0 0 1 pinlabel=B8 T 350 700 5 8 0 1 0 2 1 pintype=in } B 300 0 1400 5600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 5850 5 10 0 0 0 0 1 device=74688 V 1750 5000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 5000 1800 5000 1 0 0 { T 1800 5050 5 8 1 1 0 0 1 pinnumber=19 T 1800 4950 5 8 0 1 0 2 1 pinseq=19 T 1650 5000 9 8 1 1 0 6 1 pinlabel=\_P=Q\_ T 1650 5000 5 8 0 1 0 8 1 pintype=out } T 1700 5700 8 10 1 1 0 6 1 refdes=U? T 300 7050 5 10 0 0 0 0 1 pins=20 T 300 6450 5 10 0 0 0 0 1 net=GND:10 T 300 6650 5 10 0 0 0 0 1 net=Vcc:20 T 300 6050 5 10 0 0 0 0 1 footprint=DIP20 T 300 6250 5 10 0 0 0 0 1 description=8-bit comparator T 300 6850 5 10 0 0 0 0 1 numslots=0 T 300 5640 9 10 1 0 0 0 1 74688 T 300 7250 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc688.pdf geda-gaf-1.8.2/symbols/74/7411-1.sym0000664000175000017500000000263712204104272013310 00000000000000v 20031231 1 L 300 800 700 800 3 0 0 0 -1 -1 T 600 900 5 10 0 0 0 0 1 device=7411 T 600 1100 5 10 0 0 0 0 1 slot=1 T 600 1300 5 10 0 0 0 0 1 numslots=3 T 600 1500 5 10 0 0 0 0 1 slotdef=1:1,2,13,12 T 600 1700 5 10 0 0 0 0 1 slotdef=2:3,4,5,6 T 600 1900 5 10 0 0 0 0 1 slotdef=3:9,10,11,8 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 P 1000 500 1300 500 1 0 1 { T 1100 550 5 8 1 1 0 0 1 pinnumber=12 T 1100 450 5 8 0 1 0 2 1 pinseq=4 T 950 500 9 8 0 1 0 6 1 pinlabel=Y T 950 500 5 8 0 1 0 8 1 pintype=out } P 300 900 0 900 1 0 1 { T 200 950 5 8 1 1 0 6 1 pinnumber=1 T 200 850 5 8 0 1 0 8 1 pinseq=1 T 350 900 9 8 0 1 0 0 1 pinlabel=A T 350 900 5 8 0 1 0 2 1 pintype=in } P 300 100 0 100 1 0 1 { T 200 150 5 8 1 1 0 6 1 pinnumber=13 T 200 50 5 8 0 1 0 8 1 pinseq=3 T 350 100 9 8 0 1 0 0 1 pinlabel=C T 350 100 5 8 0 1 0 2 1 pintype=in } P 300 500 0 500 1 0 1 { T 200 550 5 8 1 1 0 6 1 pinnumber=2 T 200 450 5 8 0 1 0 8 1 pinseq=2 T 350 500 9 8 0 1 0 0 1 pinlabel=B T 350 500 5 8 0 1 0 2 1 pintype=in } L 300 800 300 200 3 0 0 0 -1 -1 L 300 200 300 0 3 0 0 0 -1 -1 L 300 1000 300 800 3 0 0 0 -1 -1 T 400 0 9 8 1 0 0 0 1 7411 T 400 900 8 10 1 1 0 0 1 refdes=U? T 600 2100 5 10 0 0 0 0 1 footprint=DIP14 T 600 2300 5 10 0 0 0 0 1 description=3 AND gates with 3 inputs T 600 2500 5 10 0 0 0 0 1 net=Vcc:14 T 600 2700 5 10 0 0 0 0 1 net=GND:7 T 600 2900 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc11.pdf geda-gaf-1.8.2/symbols/74/7432-3.sym0000664000175000017500000000223012204104272013302 00000000000000v 20041228 1 L 260 200 600 200 3 0 0 0 -1 -1 L 260 800 600 800 3 0 0 0 -1 -1 T 600 1100 8 10 0 0 0 0 1 slot=1 T 600 1300 8 10 0 0 0 0 1 numslots=4 T 600 1500 8 10 0 0 0 0 1 slotdef=1:1,2,3 T 600 1700 8 10 0 0 0 0 1 slotdef=2:4,5,6 T 600 1900 8 10 0 0 0 0 1 slotdef=3:9,10,8 T 600 2100 8 10 0 0 0 0 1 slotdef=4:12,13,11 A 0 500 400 312 97 3 0 0 0 -1 -1 P 300 700 0 700 1 0 1 { T 200 750 5 8 1 1 0 6 1 pinnumber=1 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 0 1 0 0 1 pinlabel=A T 350 700 5 8 0 1 0 2 1 pintype=in } P 300 300 0 300 1 0 1 { T 200 350 5 8 1 1 0 6 1 pinnumber=2 T 200 250 5 8 0 1 0 8 1 pinseq=2 T 350 300 9 8 0 1 0 0 1 pinlabel=B T 350 300 5 8 0 1 0 2 1 pintype=in } P 1300 500 988 500 1 0 0 { T 1100 550 5 8 1 1 0 0 1 pinnumber=3 T 1100 450 5 8 0 1 0 2 1 pinseq=3 T 950 500 9 8 0 1 0 6 1 pinlabel=Y T 950 500 5 8 0 1 0 8 1 pintype=out } A 600 600 400 270 76 3 0 0 0 -1 -1 A 600 400 400 14 76 3 0 0 0 -1 -1 T 300 900 8 10 1 1 0 0 1 refdes=U? T 600 2300 8 10 0 0 0 0 1 footprint=DIP14 T 600 2500 8 10 0 0 0 0 1 description=4 OR gates with 2 inputs T 600 2700 8 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc32.pdf T 300 0 8 10 1 1 0 0 1 device=7432 geda-gaf-1.8.2/symbols/74/74191-1.sym0000664000175000017500000000612312204104272013373 00000000000000v 20070626 1 P 1700 2100 2000 2100 1 0 1 { T 1800 2150 5 8 1 1 0 0 1 pinnumber=3 T 1800 2050 5 8 0 1 0 2 1 pinseq=3 T 1650 2100 9 8 1 1 0 6 1 pinlabel=QA T 1650 2100 5 8 0 1 0 8 1 pintype=out } P 1700 1800 2000 1800 1 0 1 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=2 T 1800 1750 5 8 0 1 0 2 1 pinseq=2 T 1650 1800 9 8 1 1 0 6 1 pinlabel=QB T 1650 1800 5 8 0 1 0 8 1 pintype=out } P 1700 1500 2000 1500 1 0 1 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=6 T 1800 1450 5 8 0 1 0 2 1 pinseq=6 T 1650 1500 9 8 1 1 0 6 1 pinlabel=QC T 1650 1500 5 8 0 1 0 8 1 pintype=out } P 1700 1200 2000 1200 1 0 1 { T 1800 1250 5 8 1 1 0 0 1 pinnumber=7 T 1800 1150 5 8 0 1 0 2 1 pinseq=7 T 1650 1200 9 8 1 1 0 6 1 pinlabel=QD T 1650 1200 5 8 0 1 0 8 1 pintype=out } P 1700 600 2000 600 1 0 1 { T 1800 650 5 8 1 1 0 0 1 pinnumber=12 T 1800 550 5 8 0 1 0 2 1 pinseq=12 T 1650 600 9 8 1 1 0 6 1 pinlabel=EC T 1650 600 5 8 0 1 0 8 1 pintype=out } P 0 2100 300 2100 1 0 0 { T 200 2150 5 8 1 1 0 6 1 pinnumber=15 T 200 2050 5 8 0 1 0 8 1 pinseq=15 T 350 2100 9 8 1 1 0 0 1 pinlabel=A T 350 2100 5 8 0 1 0 2 1 pintype=in } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=1 T 200 1750 5 8 0 1 0 8 1 pinseq=1 T 350 1800 9 8 1 1 0 0 1 pinlabel=B T 350 1800 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=10 T 200 1450 5 8 0 1 0 8 1 pinseq=10 T 350 1500 9 8 1 1 0 0 1 pinlabel=C T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1200 300 1200 1 0 0 { T 200 1250 5 8 1 1 0 6 1 pinnumber=9 T 200 1150 5 8 0 1 0 8 1 pinseq=9 T 350 1200 9 8 1 1 0 0 1 pinlabel=D T 350 1200 5 8 0 1 0 2 1 pintype=in } P 500 300 500 0 1 0 1 { T 550 100 5 8 1 1 0 0 1 pinnumber=5 T 550 100 5 8 0 1 0 2 1 pinseq=5 T 500 350 9 8 1 1 0 3 1 pinlabel=D/\_U\_ T 500 450 5 8 0 1 0 3 1 pintype=in } P 1500 300 1500 0 1 0 1 { T 1550 100 5 8 1 1 0 0 1 pinnumber=14 T 1550 100 5 8 0 1 0 2 1 pinseq=14 T 1500 375 9 8 1 1 0 3 1 pinlabel=CLK T 1500 450 5 8 0 1 0 3 1 pintype=clk } V 1750 900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 900 200 900 1 0 0 { T 200 950 5 8 1 1 0 6 1 pinnumber=11 T 200 850 5 8 0 1 0 8 1 pinseq=11 T 350 900 9 8 1 1 0 0 1 pinlabel=\_LOAD\_ T 350 900 5 8 0 1 0 2 1 pintype=in } P 2000 900 1800 900 1 0 0 { T 1800 950 5 8 1 1 0 0 1 pinnumber=13 T 1800 850 5 8 0 1 0 2 1 pinseq=13 T 1650 900 9 8 1 1 0 6 1 pinlabel=\_RCO\_ T 1650 900 5 8 0 1 0 8 1 pintype=out } V 1000 250 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1000 200 1000 0 1 0 1 { T 1050 100 5 8 1 1 0 0 1 pinnumber=4 T 1050 100 5 8 0 1 0 2 1 pinseq=4 T 1000 350 9 8 1 1 0 3 1 pinlabel=\_CTEN\_ T 1000 450 5 8 0 1 0 3 1 pintype=in } B 300 300 1400 2100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 2650 5 10 0 0 0 0 1 device=74191 T 1700 2500 8 10 1 1 0 6 1 refdes=U? T 300 2850 5 10 0 0 0 0 1 footprint=DIP16 T 300 3050 5 10 0 0 0 0 1 description=synchronous 4-bit up/down binary counter T 300 3650 5 10 0 0 0 0 1 numslots=0 T 300 3250 5 10 0 0 0 0 1 net=Vcc:16 T 300 3450 5 10 0 0 0 0 1 net=GND:8 T 300 2450 9 10 1 0 0 0 1 74191 L 1500 375 1550 300 3 0 0 0 -1 -1 L 1500 375 1450 300 3 0 0 0 -1 -1 T 300 3850 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc191.pdf geda-gaf-1.8.2/symbols/74/7404-2.sym0000664000175000017500000000223012204104272013300 00000000000000v 20031231 1 L 300 800 800 500 3 0 0 0 -1 -1 T 600 900 5 10 0 0 0 0 1 device=7404 T 600 1100 5 10 0 0 0 0 1 slot=1 T 600 1300 5 10 0 0 0 0 1 numslots=6 T 600 1500 5 10 0 0 0 0 1 slotdef=1:1,2 T 600 1700 5 10 0 0 0 0 1 slotdef=2:3,4 T 600 1900 5 10 0 0 0 0 1 slotdef=3:5,6 T 600 2100 5 10 0 0 0 0 1 slotdef=4:9,8 T 600 2300 5 10 0 0 0 0 1 slotdef=5:11,10 T 600 2500 5 10 0 0 0 0 1 slotdef=6:13,12 L 800 500 300 200 3 0 0 0 -1 -1 L 300 800 300 500 3 0 0 0 -1 -1 L 300 500 300 200 3 0 0 0 -1 -1 V 250 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 0 9 8 1 0 0 0 1 7404 P 1100 500 800 500 1 0 0 { T 900 550 5 8 1 1 0 0 1 pinnumber=2 T 900 450 5 8 0 1 0 2 1 pinseq=2 T 750 500 9 8 0 1 0 6 1 pinlabel=Y T 750 500 5 8 0 1 0 8 1 pintype=out } P 200 500 0 500 1 0 1 { T 200 550 5 8 1 1 0 6 1 pinnumber=1 T 200 450 5 8 0 1 0 8 1 pinseq=1 T 350 500 9 8 0 1 0 0 1 pinlabel=A T 350 500 5 8 0 1 0 2 1 pintype=in } T 300 900 8 10 1 1 0 0 1 refdes=U? T 600 2700 5 10 0 0 0 0 1 footprint=DIP14 T 600 2900 5 10 0 0 0 0 1 description=6 NOT gates T 600 3100 5 10 0 0 0 0 1 net=Vcc:14 T 600 3300 5 10 0 0 0 0 1 net=GND:7 T 600 3500 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc04.pdf geda-gaf-1.8.2/symbols/74/74162-1.sym0000664000175000017500000000606112204104272013372 00000000000000v 20070626 1 P 0 3400 300 3400 1 0 0 { T 200 3450 5 8 1 1 0 6 1 pinnumber=3 T 200 3350 5 8 0 1 0 8 1 pinseq=3 T 350 3400 9 8 1 1 0 0 1 pinlabel=P0 T 350 3400 5 8 0 1 0 2 1 pintype=in } P 2000 3400 1700 3400 1 0 0 { T 1800 3450 5 8 1 1 0 0 1 pinnumber=14 T 1800 3350 5 8 0 1 0 2 1 pinseq=14 T 1650 3400 9 8 1 1 0 6 1 pinlabel=Q0 T 1650 3400 5 8 0 1 0 8 1 pintype=out } P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=4 T 200 2950 5 8 0 1 0 8 1 pinseq=4 T 350 3000 9 8 1 1 0 0 1 pinlabel=P1 T 350 3000 5 8 0 1 0 2 1 pintype=in } P 2000 3000 1700 3000 1 0 0 { T 1800 3050 5 8 1 1 0 0 1 pinnumber=13 T 1800 2950 5 8 0 1 0 2 1 pinseq=13 T 1650 3000 9 8 1 1 0 6 1 pinlabel=Q1 T 1650 3000 5 8 0 1 0 8 1 pintype=out } P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=5 T 200 2550 5 8 0 1 0 8 1 pinseq=5 T 350 2600 9 8 1 1 0 0 1 pinlabel=P2 T 350 2600 5 8 0 1 0 2 1 pintype=in } P 2000 2600 1700 2600 1 0 0 { T 1800 2650 5 8 1 1 0 0 1 pinnumber=12 T 1800 2550 5 8 0 1 0 2 1 pinseq=12 T 1650 2600 9 8 1 1 0 6 1 pinlabel=Q2 T 1650 2600 5 8 0 1 0 8 1 pintype=out } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=6 T 200 2150 5 8 0 1 0 8 1 pinseq=6 T 350 2200 9 8 1 1 0 0 1 pinlabel=P3 T 350 2200 5 8 0 1 0 2 1 pintype=in } P 2000 2200 1700 2200 1 0 0 { T 1800 2250 5 8 1 1 0 0 1 pinnumber=11 T 1800 2150 5 8 0 1 0 2 1 pinseq=11 T 1650 2200 9 8 1 1 0 6 1 pinlabel=Q3 T 1650 2200 5 8 0 1 0 8 1 pintype=out } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=7 T 200 1750 5 8 0 1 0 8 1 pinseq=7 T 350 1800 9 8 1 1 0 0 1 pinlabel=ENP T 350 1800 5 8 0 1 0 2 1 pintype=in } P 2000 1800 1700 1800 1 0 0 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=15 T 1800 1750 5 8 0 1 0 2 1 pinseq=15 T 1650 1800 9 8 1 1 0 6 1 pinlabel=CARRY T 1650 1800 5 8 0 1 0 8 1 pintype=out } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=10 T 200 1350 5 8 0 1 0 8 1 pinseq=10 T 350 1400 9 8 1 1 0 0 1 pinlabel=ENT T 350 1400 5 8 0 1 0 2 1 pintype=in } P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=2 T 200 550 5 8 0 1 0 8 1 pinseq=2 T 375 600 9 8 1 1 0 0 1 pinlabel=CLK T 375 600 5 8 0 1 0 2 1 pintype=clk } P 0 200 200 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=1 T 200 150 5 8 0 1 0 8 1 pinseq=1 T 350 200 9 8 1 1 0 0 1 pinlabel=\_CLR\_ T 350 200 5 8 0 1 0 2 1 pintype=in } B 300 0 1400 3700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4140 5 10 0 0 0 0 1 device=74162 T 300 3940 5 10 0 0 0 0 1 footprint=DIP16 T 1700 3800 8 10 1 1 0 6 1 refdes=U? P 0 1000 200 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=9 T 200 950 5 8 0 1 0 8 1 pinseq=9 T 350 1000 9 8 1 1 0 0 1 pinlabel=\_LOAD\_ T 350 1000 5 8 0 1 0 2 1 pintype=in } V 250 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 1000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4350 5 10 0 0 0 0 1 description=synchronous programmable decimal counter with sync. clear T 300 4950 5 10 0 0 0 0 1 numslots=0 T 300 4550 5 10 0 0 0 0 1 net=Vcc:16 T 300 4750 5 10 0 0 0 0 1 net=GND:8 T 300 3740 9 10 1 0 0 0 1 74162 L 375 600 300 650 3 0 0 0 -1 -1 L 375 600 300 550 3 0 0 0 -1 -1 T 300 5150 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc162.pdf geda-gaf-1.8.2/symbols/74/74147-1.sym0000664000175000017500000000710712204104272013377 00000000000000v 20031231 1 P 0 3800 200 3800 1 0 0 { T 200 3850 5 8 1 1 0 6 1 pinnumber=15 T 200 3750 5 8 0 1 0 8 1 pinseq=1 T 350 3800 9 8 1 1 0 0 1 pinlabel=A0 T 350 3800 5 8 0 1 0 2 1 pintype=in } V 250 3800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 3800 1800 3800 1 0 0 { T 1800 3850 5 8 1 1 0 0 1 pinnumber=9 T 1800 3750 5 8 0 1 0 2 1 pinseq=2 T 1650 3800 9 8 1 1 0 6 1 pinlabel=Y0 T 1650 3800 5 8 0 1 0 8 1 pintype=out } P 0 3400 200 3400 1 0 0 { T 200 3450 5 8 1 1 0 6 1 pinnumber=11 T 200 3350 5 8 0 1 0 8 1 pinseq=3 T 350 3400 9 8 1 1 0 0 1 pinlabel=A1 T 350 3400 5 8 0 1 0 2 1 pintype=in } V 250 3400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 3400 1800 3400 1 0 0 { T 1800 3450 5 8 1 1 0 0 1 pinnumber=7 T 1800 3350 5 8 0 1 0 2 1 pinseq=4 T 1650 3400 9 8 1 1 0 6 1 pinlabel=Y1 T 1650 3400 5 8 0 1 0 8 1 pintype=out } P 0 3000 200 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=12 T 200 2950 5 8 0 1 0 8 1 pinseq=5 T 350 3000 9 8 1 1 0 0 1 pinlabel=A2 T 350 3000 5 8 0 1 0 2 1 pintype=in } V 250 3000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 3000 1800 3000 1 0 0 { T 1800 3050 5 8 1 1 0 0 1 pinnumber=6 T 1800 2950 5 8 0 1 0 2 1 pinseq=6 T 1650 3000 9 8 1 1 0 6 1 pinlabel=Y2 T 1650 3000 5 8 0 1 0 8 1 pintype=out } P 0 2600 200 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=13 T 200 2550 5 8 0 1 0 8 1 pinseq=7 T 350 2600 9 8 1 1 0 0 1 pinlabel=A3 T 350 2600 5 8 0 1 0 2 1 pintype=in } V 250 2600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 2600 1800 2600 1 0 0 { T 1800 2650 5 8 1 1 0 0 1 pinnumber=14 T 1800 2550 5 8 0 1 0 2 1 pinseq=8 T 1650 2600 9 8 1 1 0 6 1 pinlabel=Y3 T 1650 2600 5 8 0 1 0 8 1 pintype=out } P 0 2200 200 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=1 T 200 2150 5 8 0 1 0 8 1 pinseq=9 T 350 2200 9 8 1 1 0 0 1 pinlabel=A4 T 350 2200 5 8 0 1 0 2 1 pintype=in } V 250 2200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1800 200 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=2 T 200 1750 5 8 0 1 0 8 1 pinseq=10 T 350 1800 9 8 1 1 0 0 1 pinlabel=A5 T 350 1800 5 8 0 1 0 2 1 pintype=in } V 250 1800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1400 200 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=3 T 200 1350 5 8 0 1 0 8 1 pinseq=11 T 350 1400 9 8 1 1 0 0 1 pinlabel=A6 T 350 1400 5 8 0 1 0 2 1 pintype=in } V 250 1400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1000 200 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=4 T 200 950 5 8 0 1 0 8 1 pinseq=12 T 350 1000 9 8 1 1 0 0 1 pinlabel=A7 T 350 1000 5 8 0 1 0 2 1 pintype=in } V 250 1000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 600 200 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=5 T 200 550 5 8 0 1 0 8 1 pinseq=13 T 350 600 9 8 1 1 0 0 1 pinlabel=A8 T 350 600 5 8 0 1 0 2 1 pintype=in } V 250 600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 200 200 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=10 T 200 150 5 8 0 1 0 8 1 pinseq=14 T 350 200 9 8 1 1 0 0 1 pinlabel=A9 T 350 200 5 8 0 1 0 2 1 pintype=in } V 250 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 300 0 1400 4100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4540 5 10 0 0 0 0 1 device=74147 T 300 4340 5 10 0 0 0 0 1 footprint=DIP16 T 1700 4200 8 10 1 1 0 6 1 refdes=U? T 300 4750 5 10 0 0 0 0 1 description=decimal to BCD priority encoder T 300 5350 5 10 0 0 0 0 1 numslots=0 T 300 4950 5 10 0 0 0 0 1 net=Vcc:16 T 300 5150 5 10 0 0 0 0 1 net=GND:8 T 300 4140 9 10 1 0 0 0 1 74147 V 1750 3800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1750 3400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1750 3000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1750 2600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 5550 5 10 0 0 0 0 1 comment=At some devices A0 is not connected T 300 5750 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/74HC_HCT147_CNV_2.pdf geda-gaf-1.8.2/symbols/74/74684-1.sym0000664000175000017500000000717012204104272013405 00000000000000v 20031231 1 P 0 5200 300 5200 1 0 0 { T 200 5250 5 8 1 1 0 6 1 pinnumber=2 T 200 5150 5 8 0 1 0 8 1 pinseq=2 T 350 5200 9 8 1 1 0 0 1 pinlabel=P1 T 350 5200 5 8 0 1 0 2 1 pintype=in } P 0 4900 300 4900 1 0 0 { T 200 4950 5 8 1 1 0 6 1 pinnumber=4 T 200 4850 5 8 0 1 0 8 1 pinseq=4 T 350 4900 9 8 1 1 0 0 1 pinlabel=P2 T 350 4900 5 8 0 1 0 2 1 pintype=in } P 0 4600 300 4600 1 0 0 { T 200 4650 5 8 1 1 0 6 1 pinnumber=6 T 200 4550 5 8 0 1 0 8 1 pinseq=6 T 350 4600 9 8 1 1 0 0 1 pinlabel=P3 T 350 4600 5 8 0 1 0 2 1 pintype=in } P 0 4300 300 4300 1 0 0 { T 200 4350 5 8 1 1 0 6 1 pinnumber=8 T 200 4250 5 8 0 1 0 8 1 pinseq=8 T 350 4300 9 8 1 1 0 0 1 pinlabel=P4 T 350 4300 5 8 0 1 0 2 1 pintype=in } P 0 4000 300 4000 1 0 0 { T 200 4050 5 8 1 1 0 6 1 pinnumber=11 T 200 3950 5 8 0 1 0 8 1 pinseq=11 T 350 4000 9 8 1 1 0 0 1 pinlabel=P5 T 350 4000 5 8 0 1 0 2 1 pintype=in } P 0 3700 300 3700 1 0 0 { T 200 3750 5 8 1 1 0 6 1 pinnumber=13 T 200 3650 5 8 0 1 0 8 1 pinseq=13 T 350 3700 9 8 1 1 0 0 1 pinlabel=P6 T 350 3700 5 8 0 1 0 2 1 pintype=in } P 0 3400 300 3400 1 0 0 { T 200 3450 5 8 1 1 0 6 1 pinnumber=15 T 200 3350 5 8 0 1 0 8 1 pinseq=15 T 350 3400 9 8 1 1 0 0 1 pinlabel=P7 T 350 3400 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=17 T 200 3050 5 8 0 1 0 8 1 pinseq=17 T 350 3100 9 8 1 1 0 0 1 pinlabel=P8 T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=3 T 200 2550 5 8 0 1 0 8 1 pinseq=3 T 350 2600 9 8 1 1 0 0 1 pinlabel=Q1 T 350 2600 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=5 T 200 2250 5 8 0 1 0 8 1 pinseq=5 T 350 2300 9 8 1 1 0 0 1 pinlabel=Q2 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2000 300 2000 1 0 0 { T 200 2050 5 8 1 1 0 6 1 pinnumber=7 T 200 1950 5 8 0 1 0 8 1 pinseq=7 T 350 2000 9 8 1 1 0 0 1 pinlabel=Q3 T 350 2000 5 8 0 1 0 2 1 pintype=in } P 0 1700 300 1700 1 0 0 { T 200 1750 5 8 1 1 0 6 1 pinnumber=9 T 200 1650 5 8 0 1 0 8 1 pinseq=9 T 350 1700 9 8 1 1 0 0 1 pinlabel=Q4 T 350 1700 5 8 0 1 0 2 1 pintype=in } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=12 T 200 1350 5 8 0 1 0 8 1 pinseq=12 T 350 1400 9 8 1 1 0 0 1 pinlabel=Q5 T 350 1400 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=14 T 200 1050 5 8 0 1 0 8 1 pinseq=14 T 350 1100 9 8 1 1 0 0 1 pinlabel=Q6 T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 800 300 800 1 0 0 { T 200 850 5 8 1 1 0 6 1 pinnumber=16 T 200 750 5 8 0 1 0 8 1 pinseq=16 T 350 800 9 8 1 1 0 0 1 pinlabel=Q7 T 350 800 5 8 0 1 0 2 1 pintype=in } P 0 500 300 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=18 T 200 450 5 8 0 1 0 8 1 pinseq=18 T 350 500 9 8 1 1 0 0 1 pinlabel=Q8 T 350 500 5 8 0 1 0 2 1 pintype=in } B 300 0 1400 5400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 5650 5 10 0 0 0 0 1 device=74684 V 1750 4800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 4800 1800 4800 1 0 0 { T 1800 4850 5 8 1 1 0 0 1 pinnumber=19 T 1800 4750 5 8 0 1 0 2 1 pinseq=19 T 1650 4800 9 8 1 1 0 6 1 pinlabel=P=Q T 1650 4800 5 8 0 1 0 8 1 pintype=oc } T 1700 5500 8 10 1 1 0 6 1 refdes=U? T 300 6850 5 10 0 0 0 0 1 pins=20 T 300 6250 5 10 0 0 0 0 1 net=GND:10 T 300 6450 5 10 0 0 0 0 1 net=Vcc:20 V 1750 4400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 4400 1800 4400 1 0 0 { T 1800 4450 5 8 1 1 0 0 1 pinnumber=1 T 1800 4350 5 8 0 1 0 2 1 pinseq=1 T 1650 4400 9 8 1 1 0 6 1 pinlabel=P>Q T 1650 4400 5 8 0 1 0 8 1 pintype=oc } T 300 5850 5 10 0 0 0 0 1 footprint=DIP20 T 300 6050 5 10 0 0 0 0 1 description=8-bit comparator T 300 6650 5 10 0 0 0 0 1 numslots=0 T 300 5440 9 10 1 0 0 0 1 74684 T 300 7050 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc684.pdf geda-gaf-1.8.2/symbols/74/74238-1.sym0000664000175000017500000000601312204104272013373 00000000000000v 20041228 1 P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=1 T 200 2950 5 8 0 1 0 8 1 pinseq=1 T 350 3000 9 8 1 1 0 0 1 pinlabel=A0 T 350 3000 5 8 0 1 0 2 1 pintype=in } P 2000 3000 1700 3000 1 0 0 { T 1800 3050 5 8 1 1 0 0 1 pinnumber=15 T 1800 2950 5 8 0 1 0 2 1 pinseq=2 T 1650 3000 9 8 1 1 0 6 1 pinlabel=Q0 T 1650 3000 5 8 0 1 0 8 1 pintype=out } P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=2 T 200 2550 5 8 0 1 0 8 1 pinseq=3 T 350 2600 9 8 1 1 0 0 1 pinlabel=A1 T 350 2600 5 8 0 1 0 2 1 pintype=in } P 2000 2600 1700 2600 1 0 0 { T 1800 2650 5 8 1 1 0 0 1 pinnumber=14 T 1800 2550 5 8 0 1 0 2 1 pinseq=4 T 1650 2600 9 8 1 1 0 6 1 pinlabel=Q1 T 1650 2600 5 8 0 1 0 8 1 pintype=out } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=3 T 200 2150 5 8 0 1 0 8 1 pinseq=5 T 350 2200 9 8 1 1 0 0 1 pinlabel=A2 T 350 2200 5 8 0 1 0 2 1 pintype=in } P 2000 2200 1700 2200 1 0 0 { T 1800 2250 5 8 1 1 0 0 1 pinnumber=13 T 1800 2150 5 8 0 1 0 2 1 pinseq=6 T 1650 2200 9 8 1 1 0 6 1 pinlabel=Q2 T 1650 2200 5 8 0 1 0 8 1 pintype=out } P 2000 1800 1700 1800 1 0 0 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=12 T 1800 1750 5 8 0 1 0 2 1 pinseq=7 T 1650 1800 9 8 1 1 0 6 1 pinlabel=Q3 T 1650 1800 5 8 0 1 0 8 1 pintype=out } P 0 1400 200 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=4 T 200 1350 5 8 0 1 0 8 1 pinseq=8 T 350 1400 9 8 1 1 0 0 1 pinlabel=E0 T 350 1400 5 8 0 1 0 2 1 pintype=in } V 250 1400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 1400 1700 1400 1 0 0 { T 1800 1450 5 8 1 1 0 0 1 pinnumber=11 T 1800 1350 5 8 0 1 0 2 1 pinseq=9 T 1650 1400 9 8 1 1 0 6 1 pinlabel=Q4 T 1650 1400 5 8 0 1 0 8 1 pintype=out } P 0 1000 200 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=5 T 200 950 5 8 0 1 0 8 1 pinseq=10 T 350 1000 9 8 1 1 0 0 1 pinlabel=E1 T 350 1000 5 8 0 1 0 2 1 pintype=in } V 250 1000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 1000 1700 1000 1 0 0 { T 1800 1050 5 8 1 1 0 0 1 pinnumber=10 T 1800 950 5 8 0 1 0 2 1 pinseq=11 T 1650 1000 9 8 1 1 0 6 1 pinlabel=Q5 T 1650 1000 5 8 0 1 0 8 1 pintype=out } P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=6 T 200 550 5 8 0 1 0 8 1 pinseq=12 T 350 600 9 8 1 1 0 0 1 pinlabel=E2 T 350 600 5 8 0 1 0 2 1 pintype=in } P 2000 600 1700 600 1 0 0 { T 1800 650 5 8 1 1 0 0 1 pinnumber=9 T 1800 550 5 8 0 1 0 2 1 pinseq=13 T 1650 600 9 8 1 1 0 6 1 pinlabel=Q6 T 1650 600 5 8 0 1 0 8 1 pintype=out } P 2000 200 1700 200 1 0 0 { T 1800 250 5 8 1 1 0 0 1 pinnumber=7 T 1800 150 5 8 0 1 0 2 1 pinseq=14 T 1650 200 9 8 1 1 0 6 1 pinlabel=Q7 T 1650 200 5 8 0 1 0 8 1 pintype=out } B 300 0 1400 3300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 3740 8 10 0 0 0 0 1 device=74238 T 300 3540 8 10 0 0 0 0 1 footprint=DIP16 T 1700 3400 8 10 1 1 0 6 1 refdes=U? T 300 3950 8 10 0 0 0 0 1 description=3 to 8 decoder/demultiplexer; noninverting T 300 4550 8 10 0 0 0 0 1 numslots=0 T 300 4150 8 10 0 0 0 0 1 net=Vcc:16 T 300 4350 8 10 0 0 0 0 1 net=GND:8 T 300 3340 9 10 1 0 0 0 1 74238 T 300 4750 8 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/74HC_HCT238_CNV_2.pdf geda-gaf-1.8.2/symbols/74/74193-1.sym0000664000175000017500000000625012204104272013376 00000000000000v 20070626 1 P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=15 T 200 2950 5 8 0 1 0 8 1 pinseq=1 T 350 3000 9 8 1 1 0 0 1 pinlabel=P0 T 350 3000 5 8 0 1 0 2 1 pintype=in } P 2000 3000 1700 3000 1 0 0 { T 1800 3050 5 8 1 1 0 0 1 pinnumber=3 T 1800 2950 5 8 0 1 0 2 1 pinseq=2 T 1650 3000 9 8 1 1 0 6 1 pinlabel=Q0 T 1650 3000 5 8 0 1 0 8 1 pintype=out } P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=1 T 200 2550 5 8 0 1 0 8 1 pinseq=3 T 350 2600 9 8 1 1 0 0 1 pinlabel=P1 T 350 2600 5 8 0 1 0 2 1 pintype=in } P 2000 2600 1700 2600 1 0 0 { T 1800 2650 5 8 1 1 0 0 1 pinnumber=2 T 1800 2550 5 8 0 1 0 2 1 pinseq=4 T 1650 2600 9 8 1 1 0 6 1 pinlabel=Q1 T 1650 2600 5 8 0 1 0 8 1 pintype=out } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=10 T 200 2150 5 8 0 1 0 8 1 pinseq=5 T 350 2200 9 8 1 1 0 0 1 pinlabel=P2 T 350 2200 5 8 0 1 0 2 1 pintype=in } P 2000 2200 1700 2200 1 0 0 { T 1800 2250 5 8 1 1 0 0 1 pinnumber=6 T 1800 2150 5 8 0 1 0 2 1 pinseq=6 T 1650 2200 9 8 1 1 0 6 1 pinlabel=Q2 T 1650 2200 5 8 0 1 0 8 1 pintype=out } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=9 T 200 1750 5 8 0 1 0 8 1 pinseq=7 T 350 1800 9 8 1 1 0 0 1 pinlabel=P3 T 350 1800 5 8 0 1 0 2 1 pintype=in } P 2000 1800 1700 1800 1 0 0 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=7 T 1800 1750 5 8 0 1 0 2 1 pinseq=8 T 1650 1800 9 8 1 1 0 6 1 pinlabel=Q3 T 1650 1800 5 8 0 1 0 8 1 pintype=out } P 0 1400 200 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=11 T 200 1350 5 8 0 1 0 8 1 pinseq=9 T 350 1400 9 8 1 1 0 0 1 pinlabel=\_LOAD\_ T 350 1400 5 8 0 1 0 2 1 pintype=in } V 250 1400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 1400 1800 1400 1 0 0 { T 1800 1450 5 8 1 1 0 0 1 pinnumber=12 T 1800 1350 5 8 0 1 0 2 1 pinseq=10 T 1650 1400 9 8 1 1 0 6 1 pinlabel=\_CO\_ T 1650 1400 5 8 0 1 0 8 1 pintype=out } V 1750 1400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=14 T 200 950 5 8 0 1 0 8 1 pinseq=11 T 350 1000 9 8 1 1 0 0 1 pinlabel=RST T 350 1000 5 8 0 1 0 2 1 pintype=in } P 2000 1000 1800 1000 1 0 0 { T 1800 1050 5 8 1 1 0 0 1 pinnumber=13 T 1800 950 5 8 0 1 0 2 1 pinseq=12 T 1650 1000 9 8 1 1 0 6 1 pinlabel=\_BO\_ T 1650 1000 5 8 0 1 0 8 1 pintype=out } V 1750 1000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=5 T 200 550 5 8 0 1 0 8 1 pinseq=13 T 375 600 9 8 1 1 0 0 1 pinlabel=CLKU T 375 600 5 8 0 1 0 2 1 pintype=clk } P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=4 T 200 150 5 8 0 1 0 8 1 pinseq=14 T 375 200 9 8 1 1 0 0 1 pinlabel=CLKD T 375 200 5 8 0 1 0 2 1 pintype=clk } B 300 0 1400 3300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 3740 5 10 0 0 0 0 1 device=74193 T 300 3540 5 10 0 0 0 0 1 footprint=DIP16 T 1700 3400 8 10 1 1 0 6 1 refdes=U? T 300 3950 5 10 0 0 0 0 1 description=synchronous 4-bit up/down binary counter with 2 clocks T 300 4550 5 10 0 0 0 0 1 numslots=0 T 300 4150 5 10 0 0 0 0 1 net=Vcc:16 T 300 4350 5 10 0 0 0 0 1 net=GND:8 T 300 3340 9 10 1 0 0 0 1 74193 L 375 200 300 250 3 0 0 0 -1 -1 L 375 200 300 150 3 0 0 0 -1 -1 L 375 600 300 650 3 0 0 0 -1 -1 L 375 600 300 550 3 0 0 0 -1 -1 T 300 4750 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc193.pdf geda-gaf-1.8.2/symbols/74/74195-1.sym0000664000175000017500000000612212204104272013376 00000000000000v 20070626 1 P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=2 T 200 2950 5 8 0 1 0 8 1 pinseq=1 T 350 3000 9 8 1 1 0 0 1 pinlabel=J T 350 3000 5 8 0 1 0 2 1 pintype=in } P 2000 3000 1700 3000 1 0 0 { T 1800 3050 5 8 1 1 0 0 1 pinnumber=10 T 1800 2950 5 8 0 1 0 2 1 pinseq=2 T 1625 3000 9 8 1 1 0 6 1 pinlabel=CLK T 1625 3000 5 8 0 1 0 8 1 pintype=clk } P 0 2600 200 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=3 T 200 2550 5 8 0 1 0 8 1 pinseq=3 T 350 2600 9 8 1 1 0 0 1 pinlabel=\_K\_ T 350 2600 5 8 0 1 0 2 1 pintype=in } P 2000 2600 1700 2600 1 0 0 { T 1800 2650 5 8 1 1 0 0 1 pinnumber=15 T 1800 2550 5 8 0 1 0 2 1 pinseq=4 T 1650 2600 9 8 1 1 0 6 1 pinlabel=Q0 T 1650 2600 5 8 0 1 0 8 1 pintype=out } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=4 T 200 2150 5 8 0 1 0 8 1 pinseq=5 T 350 2200 9 8 1 1 0 0 1 pinlabel=P0 T 350 2200 5 8 0 1 0 2 1 pintype=in } P 2000 2200 1700 2200 1 0 0 { T 1800 2250 5 8 1 1 0 0 1 pinnumber=14 T 1800 2150 5 8 0 1 0 2 1 pinseq=6 T 1650 2200 9 8 1 1 0 6 1 pinlabel=Q1 T 1650 2200 5 8 0 1 0 8 1 pintype=out } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=5 T 200 1750 5 8 0 1 0 8 1 pinseq=7 T 350 1800 9 8 1 1 0 0 1 pinlabel=P1 T 350 1800 5 8 0 1 0 2 1 pintype=in } P 2000 1800 1700 1800 1 0 0 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=13 T 1800 1750 5 8 0 1 0 2 1 pinseq=8 T 1650 1800 9 8 1 1 0 6 1 pinlabel=Q2 T 1650 1800 5 8 0 1 0 8 1 pintype=out } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=6 T 200 1350 5 8 0 1 0 8 1 pinseq=9 T 350 1400 9 8 1 1 0 0 1 pinlabel=P2 T 350 1400 5 8 0 1 0 2 1 pintype=in } P 2000 1400 1700 1400 1 0 0 { T 1800 1450 5 8 1 1 0 0 1 pinnumber=12 T 1800 1350 5 8 0 1 0 2 1 pinseq=10 T 1650 1400 9 8 1 1 0 6 1 pinlabel=Q3 T 1650 1400 5 8 0 1 0 8 1 pintype=out } P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=7 T 200 950 5 8 0 1 0 8 1 pinseq=11 T 350 1000 9 8 1 1 0 0 1 pinlabel=P3 T 350 1000 5 8 0 1 0 2 1 pintype=in } P 2000 1000 1700 1000 1 0 0 { T 1800 1050 5 8 1 1 0 0 1 pinnumber=11 T 1800 950 5 8 0 1 0 2 1 pinseq=12 T 1650 1000 9 8 1 1 0 6 1 pinlabel=Q3 T 1650 1000 5 8 0 1 0 8 1 pintype=out } P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=9 T 200 550 5 8 0 1 0 8 1 pinseq=13 T 350 600 9 8 1 1 0 0 1 pinlabel=SH/\_LD\_ T 350 600 5 8 0 1 0 2 1 pintype=in } P 0 200 200 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=1 T 200 150 5 8 0 1 0 8 1 pinseq=14 T 350 200 9 8 1 1 0 0 1 pinlabel=\_RST\_ T 350 200 5 8 0 1 0 2 1 pintype=in } B 300 0 1400 3300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 3740 5 10 0 0 0 0 1 device=74195 T 300 3540 5 10 0 0 0 0 1 footprint=DIP16 T 1700 3400 8 10 1 1 0 6 1 refdes=U? T 300 3950 5 10 0 0 0 0 1 description=4-bit shift register with parallel load T 300 4550 5 10 0 0 0 0 1 numslots=0 T 300 4150 5 10 0 0 0 0 1 net=Vcc:16 T 300 4350 5 10 0 0 0 0 1 net=GND:8 T 300 3340 9 10 1 0 0 0 1 74195 L 1625 3000 1700 3050 3 0 0 0 -1 -1 L 1625 3000 1700 2950 3 0 0 0 -1 -1 V 250 2600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4750 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/74HC_HCT195_CNV_2.pdf geda-gaf-1.8.2/symbols/74/74161-1.sym0000664000175000017500000000604512204104272013373 00000000000000v 20070626 1 P 0 3400 300 3400 1 0 0 { T 200 3450 5 8 1 1 0 6 1 pinnumber=3 T 200 3350 5 8 0 1 0 8 1 pinseq=3 T 350 3400 9 8 1 1 0 0 1 pinlabel=P0 T 350 3400 5 8 0 1 0 2 1 pintype=in } P 2000 3400 1700 3400 1 0 0 { T 1800 3450 5 8 1 1 0 0 1 pinnumber=14 T 1800 3350 5 8 0 1 0 2 1 pinseq=14 T 1650 3400 9 8 1 1 0 6 1 pinlabel=Q0 T 1650 3400 5 8 0 1 0 8 1 pintype=out } P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=4 T 200 2950 5 8 0 1 0 8 1 pinseq=4 T 350 3000 9 8 1 1 0 0 1 pinlabel=P1 T 350 3000 5 8 0 1 0 2 1 pintype=in } P 2000 3000 1700 3000 1 0 0 { T 1800 3050 5 8 1 1 0 0 1 pinnumber=13 T 1800 2950 5 8 0 1 0 2 1 pinseq=13 T 1650 3000 9 8 1 1 0 6 1 pinlabel=Q1 T 1650 3000 5 8 0 1 0 8 1 pintype=out } P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=5 T 200 2550 5 8 0 1 0 8 1 pinseq=5 T 350 2600 9 8 1 1 0 0 1 pinlabel=P2 T 350 2600 5 8 0 1 0 2 1 pintype=in } P 2000 2600 1700 2600 1 0 0 { T 1800 2650 5 8 1 1 0 0 1 pinnumber=12 T 1800 2550 5 8 0 1 0 2 1 pinseq=12 T 1650 2600 9 8 1 1 0 6 1 pinlabel=Q2 T 1650 2600 5 8 0 1 0 8 1 pintype=out } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=6 T 200 2150 5 8 0 1 0 8 1 pinseq=6 T 350 2200 9 8 1 1 0 0 1 pinlabel=P3 T 350 2200 5 8 0 1 0 2 1 pintype=in } P 2000 2200 1700 2200 1 0 0 { T 1800 2250 5 8 1 1 0 0 1 pinnumber=11 T 1800 2150 5 8 0 1 0 2 1 pinseq=11 T 1650 2200 9 8 1 1 0 6 1 pinlabel=Q3 T 1650 2200 5 8 0 1 0 8 1 pintype=out } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=7 T 200 1750 5 8 0 1 0 8 1 pinseq=7 T 350 1800 9 8 1 1 0 0 1 pinlabel=ENP T 350 1800 5 8 0 1 0 2 1 pintype=in } P 2000 1800 1700 1800 1 0 0 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=15 T 1800 1750 5 8 0 1 0 2 1 pinseq=15 T 1650 1800 9 8 1 1 0 6 1 pinlabel=CARRY T 1650 1800 5 8 0 1 0 8 1 pintype=out } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=10 T 200 1350 5 8 0 1 0 8 1 pinseq=10 T 350 1400 9 8 1 1 0 0 1 pinlabel=ENT T 350 1400 5 8 0 1 0 2 1 pintype=in } P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=2 T 200 550 5 8 0 1 0 8 1 pinseq=2 T 375 600 9 8 1 1 0 0 1 pinlabel=CLK T 375 600 5 8 0 1 0 2 1 pintype=clk } P 0 200 200 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=1 T 200 150 5 8 0 1 0 8 1 pinseq=1 T 350 200 9 8 1 1 0 0 1 pinlabel=\_CLR\_ T 350 200 5 8 0 1 0 2 1 pintype=in } B 300 0 1400 3700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4140 5 10 0 0 0 0 1 device=74161 T 300 3940 5 10 0 0 0 0 1 footprint=DIP16 T 1700 3800 8 10 1 1 0 6 1 refdes=U? P 0 1000 200 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=9 T 200 950 5 8 0 1 0 8 1 pinseq=9 T 350 1000 9 8 1 1 0 0 1 pinlabel=\_LOAD\_ T 350 1000 5 8 0 1 0 2 1 pintype=in } V 250 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 1000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4350 5 10 0 0 0 0 1 description=synchronous 4-bit programmable binary counter T 300 4950 5 10 0 0 0 0 1 numslots=0 T 300 4550 5 10 0 0 0 0 1 net=Vcc:16 T 300 4750 5 10 0 0 0 0 1 net=GND:8 T 300 3740 9 10 1 0 0 0 1 74161 L 375 600 300 650 3 0 0 0 -1 -1 L 375 600 300 550 3 0 0 0 -1 -1 T 300 5150 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc161.pdf geda-gaf-1.8.2/symbols/74/74573-1.sym0000664000175000017500000000730112204104272013376 00000000000000v 20070626 1 P 0 3200 300 3200 1 0 0 { T 200 3250 5 8 1 1 0 6 1 pinnumber=2 T 200 3150 5 8 0 1 0 8 1 pinseq=2 T 350 3200 9 8 1 1 0 0 1 pinlabel=D1 T 350 3200 5 8 0 1 0 2 1 pintype=in } P 0 2900 300 2900 1 0 0 { T 200 2950 5 8 1 1 0 6 1 pinnumber=3 T 200 2850 5 8 0 1 0 8 1 pinseq=3 T 350 2900 9 8 1 1 0 0 1 pinlabel=D2 T 350 2900 5 8 0 1 0 2 1 pintype=in } P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=4 T 200 2550 5 8 0 1 0 8 1 pinseq=4 T 350 2600 9 8 1 1 0 0 1 pinlabel=D3 T 350 2600 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=5 T 200 2250 5 8 0 1 0 8 1 pinseq=5 T 350 2300 9 8 1 1 0 0 1 pinlabel=D4 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2000 300 2000 1 0 0 { T 200 2050 5 8 1 1 0 6 1 pinnumber=6 T 200 1950 5 8 0 1 0 8 1 pinseq=6 T 350 2000 9 8 1 1 0 0 1 pinlabel=D5 T 350 2000 5 8 0 1 0 2 1 pintype=in } P 0 1700 300 1700 1 0 0 { T 200 1750 5 8 1 1 0 6 1 pinnumber=7 T 200 1650 5 8 0 1 0 8 1 pinseq=7 T 350 1700 9 8 1 1 0 0 1 pinlabel=D6 T 350 1700 5 8 0 1 0 2 1 pintype=in } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=8 T 200 1350 5 8 0 1 0 8 1 pinseq=8 T 350 1400 9 8 1 1 0 0 1 pinlabel=D7 T 350 1400 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=9 T 200 1050 5 8 0 1 0 8 1 pinseq=9 T 350 1100 9 8 1 1 0 0 1 pinlabel=D8 T 350 1100 5 8 0 1 0 2 1 pintype=in } V 250 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 500 200 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=1 T 200 450 5 8 0 1 0 8 1 pinseq=1 T 350 500 9 8 1 1 0 0 1 pinlabel=\_OE\_ T 350 500 5 8 0 1 0 2 1 pintype=in } P 1700 3200 2000 3200 1 0 1 { T 1800 3250 5 8 1 1 0 0 1 pinnumber=19 T 1800 3150 5 8 0 1 0 2 1 pinseq=19 T 1650 3200 9 8 1 1 0 6 1 pinlabel=Q1 T 1650 3200 5 8 0 1 0 8 1 pintype=tri } P 1700 2900 2000 2900 1 0 1 { T 1800 2950 5 8 1 1 0 0 1 pinnumber=18 T 1800 2850 5 8 0 1 0 2 1 pinseq=18 T 1650 2900 9 8 1 1 0 6 1 pinlabel=Q2 T 1650 2900 5 8 0 1 0 8 1 pintype=tri } P 1700 2600 2000 2600 1 0 1 { T 1800 2650 5 8 1 1 0 0 1 pinnumber=17 T 1800 2550 5 8 0 1 0 2 1 pinseq=17 T 1650 2600 9 8 1 1 0 6 1 pinlabel=Q3 T 1650 2600 5 8 0 1 0 8 1 pintype=tri } P 1700 2300 2000 2300 1 0 1 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=16 T 1800 2250 5 8 0 1 0 2 1 pinseq=16 T 1650 2300 9 8 1 1 0 6 1 pinlabel=Q4 T 1650 2300 5 8 0 1 0 8 1 pintype=tri } P 1700 2000 2000 2000 1 0 1 { T 1800 2050 5 8 1 1 0 0 1 pinnumber=15 T 1800 1950 5 8 0 1 0 2 1 pinseq=15 T 1650 2000 9 8 1 1 0 6 1 pinlabel=Q5 T 1650 2000 5 8 0 1 0 8 1 pintype=tri } P 1700 1700 2000 1700 1 0 1 { T 1800 1750 5 8 1 1 0 0 1 pinnumber=14 T 1800 1650 5 8 0 1 0 2 1 pinseq=14 T 1650 1700 9 8 1 1 0 6 1 pinlabel=Q6 T 1650 1700 5 8 0 1 0 8 1 pintype=tri } P 1700 1400 2000 1400 1 0 1 { T 1800 1450 5 8 1 1 0 0 1 pinnumber=13 T 1800 1350 5 8 0 1 0 2 1 pinseq=13 T 1650 1400 9 8 1 1 0 6 1 pinlabel=Q7 T 1650 1400 5 8 0 1 0 8 1 pintype=tri } P 1700 1100 2000 1100 1 0 1 { T 1800 1150 5 8 1 1 0 0 1 pinnumber=12 T 1800 1050 5 8 0 1 0 2 1 pinseq=12 T 1650 1100 9 8 1 1 0 6 1 pinlabel=Q8 T 1650 1100 5 8 0 1 0 8 1 pintype=tri } B 300 0 1400 3500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 3750 5 10 0 0 0 0 1 device=74573 P 300 200 0 200 1 0 1 { T 200 250 5 8 1 1 0 6 1 pinnumber=11 T 200 150 5 8 0 1 0 8 1 pinseq=11 T 350 200 9 8 1 1 0 0 1 pinlabel=LE T 350 200 5 8 0 1 0 2 1 pintype=in } T 1700 3600 8 10 1 1 0 6 1 refdes=U? T 300 4750 5 10 0 0 0 0 1 pins=20 T 300 4350 5 10 0 0 0 0 1 net=GND:10 T 300 4550 5 10 0 0 0 0 1 net=Vcc:20 T 300 3950 5 10 0 0 0 0 1 footprint=DIP20 T 300 4150 5 10 0 0 0 0 1 description=8-bit D-type latch with tristate outputs T 300 4950 5 10 0 0 0 0 1 numslots=0 T 300 3540 9 10 1 0 0 0 1 74573 T 300 5150 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/74HC_HCT573_CNV_2.pdf geda-gaf-1.8.2/symbols/74/74HCT4094-1.sym0000664000175000017500000000607612204104272014027 00000000000000v 20031231 1 T 1625 3700 8 10 1 1 0 0 1 refdes=U? T 300 3850 5 10 0 0 0 0 1 device=74HCT4094 T 300 4050 5 10 0 0 0 0 1 class=IC T 300 4450 5 10 0 0 0 0 1 net=GND:8 T 300 4250 5 10 0 0 0 0 1 net=VCC:16 P 300 3300 0 3300 1 0 1 { T 200 3350 5 8 1 1 0 6 1 pinnumber=1 T 200 3250 5 8 0 1 0 8 1 pinseq=1 T 350 3300 9 8 1 1 0 0 1 pinlabel=STROBE T 350 3300 5 8 0 1 0 2 1 pintype=in } P 300 2400 0 2400 1 0 1 { T 200 2450 5 8 1 1 0 6 1 pinnumber=2 T 200 2350 5 8 0 1 0 8 1 pinseq=2 T 350 2400 9 8 1 1 0 0 1 pinlabel=DATA T 350 2400 5 8 0 1 0 2 1 pintype=in } L 300 2650 375 2700 3 0 0 0 -1 -1 L 300 2750 375 2700 3 0 0 0 -1 -1 P 300 2700 0 2700 1 0 1 { T 200 2750 5 8 1 1 0 6 1 pinnumber=3 T 200 2650 5 8 0 1 0 8 1 pinseq=3 T 375 2700 9 8 1 1 0 0 1 pinlabel=CLK T 375 2700 5 8 0 1 0 2 1 pintype=clk } P 1800 3300 2100 3300 1 0 1 { T 1900 3350 5 8 1 1 0 0 1 pinnumber=4 T 1900 3250 5 8 0 1 0 2 1 pinseq=4 T 1750 3300 9 8 1 1 0 6 1 pinlabel=Q1 T 1750 3300 5 8 0 1 0 8 1 pintype=tri } P 1800 3000 2100 3000 1 0 1 { T 1900 3050 5 8 1 1 0 0 1 pinnumber=5 T 1900 2950 5 8 0 1 0 2 1 pinseq=5 T 1750 3000 9 8 1 1 0 6 1 pinlabel=Q2 T 1750 3000 5 8 0 1 0 8 1 pintype=tri } P 1800 2700 2100 2700 1 0 1 { T 1900 2750 5 8 1 1 0 0 1 pinnumber=6 T 1900 2650 5 8 0 1 0 2 1 pinseq=6 T 1750 2700 9 8 1 1 0 6 1 pinlabel=Q3 T 1750 2700 5 8 0 1 0 8 1 pintype=tri } P 1800 2400 2100 2400 1 0 1 { T 1900 2450 5 8 1 1 0 0 1 pinnumber=7 T 1900 2350 5 8 0 1 0 2 1 pinseq=7 T 1750 2400 9 8 1 1 0 6 1 pinlabel=Q4 T 1750 2400 5 8 0 1 0 8 1 pintype=tri } P 1800 600 2100 600 1 0 1 { T 1900 650 5 8 1 1 0 0 1 pinnumber=9 T 1900 550 5 8 0 1 0 2 1 pinseq=8 T 1750 600 9 8 1 1 0 6 1 pinlabel=QS1 T 1750 600 5 8 0 1 0 8 1 pintype=out } P 1800 300 2100 300 1 0 1 { T 1900 350 5 8 1 1 0 0 1 pinnumber=10 T 1900 250 5 8 0 1 0 2 1 pinseq=9 T 1750 300 9 8 1 1 0 6 1 pinlabel=QS2 T 1750 300 5 8 0 1 0 8 1 pintype=out } P 1800 1200 2100 1200 1 0 1 { T 1900 1250 5 8 1 1 0 0 1 pinnumber=11 T 1900 1150 5 8 0 1 0 2 1 pinseq=10 T 1750 1200 9 8 1 1 0 6 1 pinlabel=Q8 T 1750 1200 5 8 0 1 0 8 1 pintype=tri } P 1800 1500 2100 1500 1 0 1 { T 1900 1550 5 8 1 1 0 0 1 pinnumber=12 T 1900 1450 5 8 0 1 0 2 1 pinseq=11 T 1750 1500 9 8 1 1 0 6 1 pinlabel=Q7 T 1750 1500 5 8 0 1 0 8 1 pintype=tri } P 1800 1800 2100 1800 1 0 1 { T 1900 1850 5 8 1 1 0 0 1 pinnumber=13 T 1900 1750 5 8 0 1 0 2 1 pinseq=12 T 1750 1800 9 8 1 1 0 6 1 pinlabel=Q6 T 1750 1800 5 8 0 1 0 8 1 pintype=tri } P 1800 2100 2100 2100 1 0 1 { T 1900 2150 5 8 1 1 0 0 1 pinnumber=14 T 1900 2050 5 8 0 1 0 2 1 pinseq=13 T 1750 2100 9 8 1 1 0 6 1 pinlabel=Q5 T 1750 2100 5 8 0 1 0 8 1 pintype=tri } P 300 3000 0 3000 1 0 1 { T 200 3050 5 8 1 1 0 6 1 pinnumber=15 T 200 2950 5 8 0 1 0 8 1 pinseq=14 T 350 3000 9 8 1 1 0 0 1 pinlabel=OE T 350 3000 5 8 0 1 0 2 1 pintype=in } B 300 0 1500 3600 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 T 300 4650 5 10 0 0 0 0 1 footprint=DIP16 T 300 4850 5 10 0 0 0 0 1 description=8-stage shift-and-store bus register T 300 3650 3 10 1 0 0 0 1 74HCT4094 T 300 5050 5 10 0 0 0 0 1 numslots=0 T 300 5250 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/74HC_HCT4094_CNV_2.pdf geda-gaf-1.8.2/symbols/74/7421-2.sym0000664000175000017500000000354612204104272013312 00000000000000v 20031231 1 P 200 100 0 100 1 0 1 { T 200 150 5 8 1 1 0 6 1 pinnumber=5 T 200 50 5 8 0 1 0 8 1 pinseq=4 T 350 100 9 8 0 1 0 0 1 pinlabel=D T 350 100 5 8 0 1 0 2 1 pintype=in } P 200 1100 0 1100 1 0 1 { T 200 1150 5 8 1 1 0 6 1 pinnumber=1 T 200 1050 5 8 0 1 0 8 1 pinseq=1 T 350 1100 9 8 0 1 0 0 1 pinlabel=A T 350 1100 5 8 0 1 0 2 1 pintype=in } P 200 800 0 800 1 0 1 { T 200 850 5 8 1 1 0 6 1 pinnumber=2 T 200 750 5 8 0 1 0 8 1 pinseq=2 T 350 800 9 8 0 1 0 0 1 pinlabel=B T 350 800 5 8 0 1 0 2 1 pintype=in } T 400 100 9 8 1 0 0 0 1 7421 A 36 600 400 312 97 3 0 0 0 -1 -1 P 1090 600 1300 600 1 0 1 { T 1100 650 5 8 1 1 0 0 1 pinnumber=6 T 1100 550 5 8 0 1 0 2 1 pinseq=5 T 950 600 9 8 0 1 0 6 1 pinlabel=Y T 950 600 5 8 0 1 0 8 1 pintype=out } V 250 1100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 300 300 600 300 3 0 0 0 -1 -1 L 300 900 600 900 3 0 0 0 -1 -1 T 600 1000 5 10 0 0 0 0 1 device=7421 T 600 1200 5 10 0 0 0 0 1 slot=1 T 600 1400 5 10 0 0 0 0 1 numslots=2 T 600 1600 5 10 0 0 0 0 1 slotdef=1:1,2,4,5,6 T 600 1800 5 10 0 0 0 0 1 slotdef=2:9,10,12,13,8 A 600 700 400 270 76 3 0 0 0 -1 -1 A 600 500 400 14 76 3 0 0 0 -1 -1 L 300 100 300 300 3 0 0 0 -1 -1 L 300 1100 300 900 3 0 0 0 -1 -1 P 200 400 0 400 1 0 1 { T 200 450 5 8 1 1 0 6 1 pinnumber=4 T 200 350 5 8 0 1 0 8 1 pinseq=3 T 350 400 9 8 0 1 0 0 1 pinlabel=C T 350 400 5 8 0 1 0 2 1 pintype=in } V 250 400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 300 1100 300 1200 3 0 0 0 -1 -1 L 300 0 300 100 3 0 0 0 -1 -1 V 1038 600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 400 1000 8 10 1 1 0 0 1 refdes=U? T 600 2000 5 10 0 0 0 0 1 footprint=DIP14 T 600 2200 5 10 0 0 0 0 1 description=2 AND gates with 4 inputs T 600 2400 5 10 0 0 0 0 1 net=Vcc:14 T 600 2600 5 10 0 0 0 0 1 net=GND:7 T 600 2800 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc21.pdf geda-gaf-1.8.2/symbols/74/7400-1.sym0000664000175000017500000000241412204104272013277 00000000000000v 20031231 1 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 1 7400 L 300 800 700 800 3 0 0 0 -1 -1 T 500 900 5 10 0 0 0 0 1 device=7400 T 500 1100 5 10 0 0 0 0 1 slot=1 T 500 1300 5 10 0 0 0 0 1 numslots=4 T 500 1500 5 10 0 0 0 0 1 slotdef=1:1,2,3 T 500 1700 5 10 0 0 0 0 1 slotdef=2:4,5,6 T 500 1900 5 10 0 0 0 0 1 slotdef=3:9,10,8 T 500 2100 5 10 0 0 0 0 1 slotdef=4:12,13,11 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 500 1300 500 1 0 1 { T 1100 550 5 8 1 1 0 0 1 pinnumber=3 T 1100 450 5 8 0 1 0 2 1 pinseq=3 T 950 500 9 8 0 1 0 6 1 pinlabel=Y T 950 500 5 8 0 1 0 8 1 pintype=out } P 300 300 0 300 1 0 1 { T 200 350 5 8 1 1 0 6 1 pinnumber=2 T 200 250 5 8 0 1 0 8 1 pinseq=2 T 350 300 9 8 0 1 0 0 1 pinlabel=B T 350 300 5 8 0 1 0 2 1 pintype=in } P 300 700 0 700 1 0 1 { T 200 750 5 8 1 1 0 6 1 pinnumber=1 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 0 1 0 0 1 pinlabel=A T 350 700 5 8 0 1 0 2 1 pintype=in } T 300 900 8 10 1 1 0 0 1 refdes=U? T 500 2250 5 10 0 0 0 0 1 footprint=DIP14 T 500 2450 5 10 0 0 0 0 1 description=4 NAND gates with 2 inputs T 500 2850 5 10 0 0 0 0 1 net=Vcc:14 T 500 3050 5 10 0 0 0 0 1 net=GND:7 T 500 2650 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc00.pdf geda-gaf-1.8.2/symbols/74/7497-2.sym0000664000175000017500000000610012204104272013314 00000000000000v 20070626 1 P 0 4200 300 4200 1 0 0 { T 200 4250 5 8 1 1 0 6 1 pinnumber=4 T 200 4150 5 8 0 1 0 8 1 pinseq=1 T 350 4200 9 8 1 1 0 0 1 pinlabel=B0 T 350 4200 5 8 0 1 0 2 1 pintype=in } P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=13 T 200 550 5 8 0 1 0 8 1 pinseq=2 T 350 600 9 8 1 1 0 0 1 pinlabel=RST T 350 600 5 8 0 1 0 2 1 pintype=in } P 0 3800 300 3800 1 0 0 { T 200 3850 5 8 1 1 0 6 1 pinnumber=1 T 200 3750 5 8 0 1 0 8 1 pinseq=3 T 350 3800 9 8 1 1 0 0 1 pinlabel=B1 T 350 3800 5 8 0 1 0 2 1 pintype=in } P 0 1000 200 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=12 T 200 950 5 8 0 1 0 8 1 pinseq=4 T 350 1000 9 8 1 1 0 0 1 pinlabel=U/CAS T 350 1000 5 8 0 1 0 2 1 pintype=in } P 0 3400 300 3400 1 0 0 { T 200 3450 5 8 1 1 0 6 1 pinnumber=14 T 200 3350 5 8 0 1 0 8 1 pinseq=5 T 350 3400 9 8 1 1 0 0 1 pinlabel=B2 T 350 3400 5 8 0 1 0 2 1 pintype=in } P 0 1400 200 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=10 T 200 1350 5 8 0 1 0 8 1 pinseq=6 T 350 1400 9 8 1 1 0 0 1 pinlabel=\_STRB\_ T 350 1400 5 8 0 1 0 2 1 pintype=in } P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=15 T 200 2950 5 8 0 1 0 8 1 pinseq=7 T 350 3000 9 8 1 1 0 0 1 pinlabel=B3 T 350 3000 5 8 0 1 0 2 1 pintype=in } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=9 T 200 1750 5 8 0 1 0 8 1 pinseq=8 T 375 1800 9 8 1 1 0 0 1 pinlabel=CLK T 375 1800 5 8 0 1 0 2 1 pintype=clk } P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=2 T 200 2550 5 8 0 1 0 8 1 pinseq=9 T 350 2600 9 8 1 1 0 0 1 pinlabel=B4 T 350 2600 5 8 0 1 0 2 1 pintype=in } P 2000 4200 1800 4200 1 0 0 { T 1800 4250 5 8 1 1 0 0 1 pinnumber=5 T 1800 4150 5 8 0 1 0 2 1 pinseq=10 T 1650 4200 9 8 1 1 0 6 1 pinlabel=Z T 1650 4200 5 8 0 1 0 8 1 pintype=out } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=3 T 200 2150 5 8 0 1 0 8 1 pinseq=11 T 350 2200 9 8 1 1 0 0 1 pinlabel=B5 T 350 2200 5 8 0 1 0 2 1 pintype=in } P 2000 3800 1700 3800 1 0 0 { T 1800 3850 5 8 1 1 0 0 1 pinnumber=6 T 1800 3750 5 8 0 1 0 2 1 pinseq=12 T 1650 3800 9 8 1 1 0 6 1 pinlabel=Y T 1650 3800 5 8 0 1 0 8 1 pintype=out } P 0 200 200 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=11 T 200 150 5 8 0 1 0 8 1 pinseq=13 T 350 200 9 8 1 1 0 0 1 pinlabel=\_ENi\_ T 350 200 5 8 0 1 0 2 1 pintype=in } B 300 0 1400 4500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 5540 5 10 0 0 0 0 1 device=7497 T 300 5340 5 10 0 0 0 0 1 footprint=DIP16 T 1700 4600 8 10 1 1 0 6 1 refdes=U? T 300 4750 5 10 0 0 0 0 1 description=programmable frequency divider T 300 4950 5 10 0 0 0 0 1 net=Vcc:16 T 300 5150 5 10 0 0 0 0 1 net=GND:8 T 300 4540 9 10 1 0 0 0 1 7497 L 375 1800 300 1850 3 0 0 0 -1 -1 L 375 1800 300 1750 3 0 0 0 -1 -1 V 250 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 1400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1750 4200 47 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 3400 1800 3400 1 0 0 { T 1800 3450 5 8 1 1 0 0 1 pinnumber=7 T 1800 3350 5 8 0 1 0 2 1 pinseq=14 T 1650 3400 5 8 0 1 0 8 1 pintype=out T 1650 3400 9 8 1 1 0 6 1 pinlabel=\_ENo\_ } V 1750 3400 47 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 1000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 5750 5 10 0 0 0 0 1 numslots=0 geda-gaf-1.8.2/symbols/74/7478-1.sym0000664000175000017500000000546512204104272013327 00000000000000v 20070626 1 P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=3 T 200 2950 5 8 0 1 0 8 1 pinseq=1 T 350 3000 9 8 1 1 0 0 1 pinlabel=J1 T 350 3000 5 8 0 1 0 2 1 pintype=in } P 2000 3000 1700 3000 1 0 0 { T 1800 3050 5 8 1 1 0 0 1 pinnumber=13 T 1800 2950 5 8 0 1 0 2 1 pinseq=2 T 1650 3000 9 8 1 1 0 6 1 pinlabel=Q1 T 1650 3000 5 8 0 1 0 8 1 pintype=out } P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=14 T 200 2550 5 8 0 1 0 8 1 pinseq=3 T 350 2600 9 8 1 1 0 0 1 pinlabel=K1 T 350 2600 5 8 0 1 0 2 1 pintype=in } P 2000 2600 1800 2600 1 0 0 { T 1800 2650 5 8 1 1 0 0 1 pinnumber=12 T 1800 2550 5 8 0 1 0 2 1 pinseq=4 T 1650 2600 9 8 1 1 0 6 1 pinlabel=\_Q1\_ T 1650 2600 5 8 0 1 0 8 1 pintype=out } P 0 2200 200 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=2 T 200 2150 5 8 0 1 0 8 1 pinseq=5 T 350 2200 9 8 1 1 0 0 1 pinlabel=\_SET1\_ T 350 2200 5 8 0 1 0 2 1 pintype=in } V 250 2200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=10 T 200 1750 5 8 0 1 0 8 1 pinseq=6 T 350 1800 9 8 1 1 0 0 1 pinlabel=J2 T 350 1800 5 8 0 1 0 2 1 pintype=in } P 2000 1800 1700 1800 1 0 0 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=8 T 1800 1750 5 8 0 1 0 2 1 pinseq=7 T 1650 1800 9 8 1 1 0 6 1 pinlabel=Q2 T 1650 1800 5 8 0 1 0 8 1 pintype=out } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=7 T 200 1350 5 8 0 1 0 8 1 pinseq=8 T 350 1400 9 8 1 1 0 0 1 pinlabel=K2 T 350 1400 5 8 0 1 0 2 1 pintype=in } P 2000 1400 1800 1400 1 0 0 { T 1800 1450 5 8 1 1 0 0 1 pinnumber=9 T 1800 1350 5 8 0 1 0 2 1 pinseq=9 T 1650 1400 9 8 1 1 0 6 1 pinlabel=\_Q2\_ T 1650 1400 5 8 0 1 0 8 1 pintype=out } P 0 1000 200 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=6 T 200 950 5 8 0 1 0 8 1 pinseq=10 T 350 1000 9 8 1 1 0 0 1 pinlabel=\_SET2\_ T 350 1000 5 8 0 1 0 2 1 pintype=in } V 250 1000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 600 200 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=5 T 200 550 5 8 0 1 0 8 1 pinseq=11 T 350 600 9 8 1 1 0 0 1 pinlabel=\_RST\_ T 350 600 5 8 0 1 0 2 1 pintype=in } V 250 600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 200 200 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=1 T 200 150 5 8 0 1 0 8 1 pinseq=12 T 375 200 9 8 1 1 0 0 1 pinlabel=\_CLK\_ T 375 200 5 8 0 1 0 2 1 pintype=clk } V 250 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 300 0 1400 3300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 3740 5 10 0 0 0 0 1 device=7478 T 300 3540 5 10 0 0 0 0 1 footprint=DIP14 T 1700 3400 8 10 1 1 0 6 1 refdes=U? T 300 3950 5 10 0 0 0 0 1 description=2 JK-flip-flops with preset, common clock and clear T 300 4150 5 10 0 0 0 0 1 net=Vcc:4 T 300 4350 5 10 0 0 0 0 1 net=GND:11 T 300 3340 9 10 1 0 0 0 1 7478 L 300 250 375 200 3 0 0 0 -1 -1 L 375 200 300 150 3 0 0 0 -1 -1 V 1750 1400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1750 2600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4550 5 10 0 0 0 0 1 numslots=0 geda-gaf-1.8.2/symbols/74/74244-1.sym0000664000175000017500000000722412204104272013375 00000000000000v 20031231 1 P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=2 T 200 2650 5 8 0 1 0 8 1 pinseq=2 T 350 2700 9 8 1 1 0 0 1 pinlabel=A1 T 350 2700 5 8 0 1 0 2 1 pintype=in } P 0 2400 300 2400 1 0 0 { T 200 2450 5 8 1 1 0 6 1 pinnumber=4 T 200 2350 5 8 0 1 0 8 1 pinseq=4 T 350 2400 9 8 1 1 0 0 1 pinlabel=A2 T 350 2400 5 8 0 1 0 2 1 pintype=in } P 0 2100 300 2100 1 0 0 { T 200 2150 5 8 1 1 0 6 1 pinnumber=6 T 200 2050 5 8 0 1 0 8 1 pinseq=6 T 350 2100 9 8 1 1 0 0 1 pinlabel=A3 T 350 2100 5 8 0 1 0 2 1 pintype=in } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=8 T 200 1750 5 8 0 1 0 8 1 pinseq=8 T 350 1800 9 8 1 1 0 0 1 pinlabel=A4 T 350 1800 5 8 0 1 0 2 1 pintype=in } V 600 250 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 600 200 600 0 1 0 1 { T 650 100 5 8 1 1 0 0 1 pinnumber=1 T 650 100 5 8 0 1 0 2 1 pinseq=1 T 600 350 9 8 1 1 0 3 1 pinlabel=GA T 600 450 5 8 0 1 0 3 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=11 T 200 1450 5 8 0 1 0 8 1 pinseq=11 T 350 1500 9 8 1 1 0 0 1 pinlabel=B1 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1200 300 1200 1 0 0 { T 200 1250 5 8 1 1 0 6 1 pinnumber=13 T 200 1150 5 8 0 1 0 8 1 pinseq=13 T 350 1200 9 8 1 1 0 0 1 pinlabel=B2 T 350 1200 5 8 0 1 0 2 1 pintype=in } P 0 900 300 900 1 0 0 { T 200 950 5 8 1 1 0 6 1 pinnumber=15 T 200 850 5 8 0 1 0 8 1 pinseq=15 T 350 900 9 8 1 1 0 0 1 pinlabel=B3 T 350 900 5 8 0 1 0 2 1 pintype=in } P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=17 T 200 550 5 8 0 1 0 8 1 pinseq=17 T 350 600 9 8 1 1 0 0 1 pinlabel=B4 T 350 600 5 8 0 1 0 2 1 pintype=in } V 1400 250 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1400 200 1400 0 1 0 1 { T 1450 100 5 8 1 1 0 0 1 pinnumber=19 T 1450 100 5 8 0 1 0 2 1 pinseq=19 T 1400 350 9 8 1 1 0 3 1 pinlabel=GB T 1400 450 5 8 0 1 0 3 1 pintype=in } P 1700 2700 2000 2700 1 0 1 { T 1800 2750 5 8 1 1 0 0 1 pinnumber=18 T 1800 2650 5 8 0 1 0 2 1 pinseq=18 T 1650 2700 9 8 1 1 0 6 1 pinlabel=YA1 T 1650 2700 5 8 0 1 0 8 1 pintype=tri } P 1700 2400 2000 2400 1 0 1 { T 1800 2450 5 8 1 1 0 0 1 pinnumber=16 T 1800 2350 5 8 0 1 0 2 1 pinseq=16 T 1650 2400 9 8 1 1 0 6 1 pinlabel=YA2 T 1650 2400 5 8 0 1 0 8 1 pintype=tri } P 1700 2100 2000 2100 1 0 1 { T 1800 2150 5 8 1 1 0 0 1 pinnumber=14 T 1800 2050 5 8 0 1 0 2 1 pinseq=14 T 1650 2100 9 8 1 1 0 6 1 pinlabel=YA3 T 1650 2100 5 8 0 1 0 8 1 pintype=tri } P 1700 1800 2000 1800 1 0 1 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=12 T 1800 1750 5 8 0 1 0 2 1 pinseq=12 T 1650 1800 9 8 1 1 0 6 1 pinlabel=YA4 T 1650 1800 5 8 0 1 0 8 1 pintype=tri } P 1700 1500 2000 1500 1 0 1 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=9 T 1800 1450 5 8 0 1 0 2 1 pinseq=9 T 1650 1500 9 8 1 1 0 6 1 pinlabel=YB1 T 1650 1500 5 8 0 1 0 8 1 pintype=tri } P 1700 1200 2000 1200 1 0 1 { T 1800 1250 5 8 1 1 0 0 1 pinnumber=7 T 1800 1150 5 8 0 1 0 2 1 pinseq=7 T 1650 1200 9 8 1 1 0 6 1 pinlabel=YB2 T 1650 1200 5 8 0 1 0 8 1 pintype=tri } P 1700 900 2000 900 1 0 1 { T 1800 950 5 8 1 1 0 0 1 pinnumber=5 T 1800 850 5 8 0 1 0 2 1 pinseq=5 T 1650 900 9 8 1 1 0 6 1 pinlabel=YB3 T 1650 900 5 8 0 1 0 8 1 pintype=tri } P 1700 600 2000 600 1 0 1 { T 1800 650 5 8 1 1 0 0 1 pinnumber=3 T 1800 550 5 8 0 1 0 2 1 pinseq=3 T 1650 600 9 8 1 1 0 6 1 pinlabel=YB4 T 1650 600 5 8 0 1 0 8 1 pintype=tri } B 300 300 1400 2600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 3150 5 10 0 0 0 0 1 device=74244 T 1700 3000 8 10 1 1 0 6 1 refdes=U? T 300 3350 5 10 0 0 0 0 1 footprint=DIP20 T 300 3550 5 10 0 0 0 0 1 description=octal buffer/line driver (tristate) T 300 4150 5 10 0 0 0 0 1 numslots=0 T 300 3750 5 10 0 0 0 0 1 net=Vcc:20 T 300 3950 5 10 0 0 0 0 1 net=GND:10 T 300 2950 9 10 1 0 0 0 1 74244 T 300 4350 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc244.pdf geda-gaf-1.8.2/symbols/74/74139-2.sym0000664000175000017500000000401212204104272013371 00000000000000v 20031231 1 V 250 1400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1400 200 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=1 T 200 1350 5 8 0 1 0 8 1 pinseq=1 T 350 1400 9 8 1 1 0 0 1 pinlabel=G T 350 1400 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=2 T 200 1050 5 8 0 1 0 8 1 pinseq=2 T 350 1100 9 8 1 1 0 0 1 pinlabel=A T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 800 300 800 1 0 0 { T 200 850 5 8 1 1 0 6 1 pinnumber=3 T 200 750 5 8 0 1 0 8 1 pinseq=3 T 350 800 9 8 1 1 0 0 1 pinlabel=B T 350 800 5 8 0 1 0 2 1 pintype=in } V 1750 1400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1800 1400 2000 1400 1 0 1 { T 1800 1450 5 8 1 1 0 0 1 pinnumber=4 T 1800 1350 5 8 0 1 0 2 1 pinseq=4 T 1650 1400 9 8 1 1 0 6 1 pinlabel=Y0 T 1650 1400 5 8 0 1 0 8 1 pintype=out } V 1750 1100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1800 1100 2000 1100 1 0 1 { T 1800 1150 5 8 1 1 0 0 1 pinnumber=5 T 1800 1050 5 8 0 1 0 2 1 pinseq=5 T 1650 1100 9 8 1 1 0 6 1 pinlabel=Y1 T 1650 1100 5 8 0 1 0 8 1 pintype=out } V 1750 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1800 800 2000 800 1 0 1 { T 1800 850 5 8 1 1 0 0 1 pinnumber=6 T 1800 750 5 8 0 1 0 2 1 pinseq=6 T 1650 800 9 8 1 1 0 6 1 pinlabel=Y2 T 1650 800 5 8 0 1 0 8 1 pintype=out } V 1750 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1800 500 2000 500 1 0 1 { T 1800 550 5 8 1 1 0 0 1 pinnumber=7 T 1800 450 5 8 0 1 0 2 1 pinseq=7 T 1650 500 9 8 1 1 0 6 1 pinlabel=Y3 T 1650 500 5 8 0 1 0 8 1 pintype=out } B 300 200 1400 1500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 1950 5 10 0 0 0 0 1 device=74139 T 300 2750 5 10 0 0 0 0 1 slot=1 T 300 2150 5 10 0 0 0 0 1 numslots=2 T 300 2350 5 10 0 0 0 0 1 slotdef=1:1,2,3,4,5,6,7 T 300 2550 5 10 0 0 0 0 1 slotdef=2:15,14,13,12,11,10,9 T 1700 1800 8 10 1 1 0 6 1 refdes=U? T 300 2950 5 10 0 0 0 0 1 footprint=DIP16 T 300 3150 5 10 0 0 0 0 1 description=2 2-to-4 decoder/demultiplexer T 300 3350 5 10 0 0 0 0 1 net=Vcc:16 T 300 3550 5 10 0 0 0 0 1 net=GND:8 T 300 1740 9 10 1 0 0 0 1 74139 T 300 3750 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc139.pdf geda-gaf-1.8.2/symbols/74/74153-2.sym0000664000175000017500000000566212204104272013401 00000000000000v 20070626 1 P 0 4600 300 4600 1 0 0 { T 200 4650 5 8 1 1 0 6 1 pinnumber=6 T 200 4550 5 8 0 1 0 8 1 pinseq=1 T 350 4600 9 8 1 1 0 0 1 pinlabel=1D0 T 350 4600 5 8 0 1 0 2 1 pintype=in } P 2000 4600 1700 4600 1 0 0 { T 1800 4650 5 8 1 1 0 0 1 pinnumber=7 T 1800 4550 5 8 0 1 0 2 1 pinseq=2 T 1650 4600 9 8 1 1 0 6 1 pinlabel=1Y T 1650 4600 5 8 0 1 0 8 1 pintype=out } P 0 4200 300 4200 1 0 0 { T 200 4250 5 8 1 1 0 6 1 pinnumber=5 T 200 4150 5 8 0 1 0 8 1 pinseq=3 T 350 4200 9 8 1 1 0 0 1 pinlabel=1D1 T 350 4200 5 8 0 1 0 2 1 pintype=in } P 2000 4200 1700 4200 1 0 0 { T 1800 4250 5 8 1 1 0 0 1 pinnumber=9 T 1800 4150 5 8 0 1 0 2 1 pinseq=4 T 1650 4200 9 8 1 1 0 6 1 pinlabel=2Y T 1650 4200 5 8 0 1 0 8 1 pintype=out } P 0 3800 300 3800 1 0 0 { T 200 3850 5 8 1 1 0 6 1 pinnumber=4 T 200 3750 5 8 0 1 0 8 1 pinseq=5 T 350 3800 9 8 1 1 0 0 1 pinlabel=1D2 T 350 3800 5 8 0 1 0 2 1 pintype=in } P 0 3400 300 3400 1 0 0 { T 200 3450 5 8 1 1 0 6 1 pinnumber=3 T 200 3350 5 8 0 1 0 8 1 pinseq=6 T 350 3400 9 8 1 1 0 0 1 pinlabel=1D3 T 350 3400 5 8 0 1 0 2 1 pintype=in } P 0 3000 200 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=1 T 200 2950 5 8 0 1 0 8 1 pinseq=7 T 350 3000 9 8 1 1 0 0 1 pinlabel=\_EN1\_ T 350 3000 5 8 0 1 0 2 1 pintype=in } V 250 3000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=10 T 200 2550 5 8 0 1 0 8 1 pinseq=8 T 350 2600 9 8 1 1 0 0 1 pinlabel=2D0 T 350 2600 5 8 0 1 0 2 1 pintype=in } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=11 T 200 2150 5 8 0 1 0 8 1 pinseq=9 T 350 2200 9 8 1 1 0 0 1 pinlabel=2D1 T 350 2200 5 8 0 1 0 2 1 pintype=in } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=12 T 200 1750 5 8 0 1 0 8 1 pinseq=10 T 350 1800 9 8 1 1 0 0 1 pinlabel=2D2 T 350 1800 5 8 0 1 0 2 1 pintype=in } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=13 T 200 1350 5 8 0 1 0 8 1 pinseq=11 T 350 1400 9 8 1 1 0 0 1 pinlabel=2D3 T 350 1400 5 8 0 1 0 2 1 pintype=in } P 0 1000 200 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=15 T 200 950 5 8 0 1 0 8 1 pinseq=12 T 350 1000 9 8 1 1 0 0 1 pinlabel=\_EN2\_ T 350 1000 5 8 0 1 0 2 1 pintype=in } P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=14 T 200 550 5 8 0 1 0 8 1 pinseq=13 T 350 600 9 8 1 1 0 0 1 pinlabel=A0 T 350 600 5 8 0 1 0 2 1 pintype=in } P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=2 T 200 150 5 8 0 1 0 8 1 pinseq=14 T 350 200 9 8 1 1 0 0 1 pinlabel=A1 T 350 200 5 8 0 1 0 2 1 pintype=in } B 300 0 1400 4900 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 5340 5 10 0 0 0 0 1 device=74153 T 300 5140 5 10 0 0 0 0 1 footprint=DIP16 T 1700 5000 8 10 1 1 0 6 1 refdes=U? T 300 5550 5 10 0 0 0 0 1 description=2 4-to-1 multiplexer T 300 6150 5 10 0 0 0 0 1 numslots=0 T 300 5750 5 10 0 0 0 0 1 net=Vcc:16 T 300 5950 5 10 0 0 0 0 1 net=GND:8 T 300 4940 9 10 1 0 0 0 1 74153 V 250 1000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 6350 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc153.pdf geda-gaf-1.8.2/symbols/74/74139-1.sym0000664000175000017500000000650412204104272013400 00000000000000v 20031231 1 V 250 2400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2400 200 2400 1 0 0 { T 200 2450 5 8 1 1 0 6 1 pinnumber=1 T 200 2350 5 8 0 1 0 8 1 pinseq=1 T 350 2400 9 8 1 1 0 0 1 pinlabel=G1 T 350 2400 5 8 0 1 0 2 1 pintype=in } P 0 2100 300 2100 1 0 0 { T 200 2150 5 8 1 1 0 6 1 pinnumber=2 T 200 2050 5 8 0 1 0 8 1 pinseq=2 T 350 2100 9 8 1 1 0 0 1 pinlabel=A1 T 350 2100 5 8 0 1 0 2 1 pintype=in } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=3 T 200 1750 5 8 0 1 0 8 1 pinseq=3 T 350 1800 9 8 1 1 0 0 1 pinlabel=B1 T 350 1800 5 8 0 1 0 2 1 pintype=in } V 1750 2400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1800 2400 2000 2400 1 0 1 { T 1800 2450 5 8 1 1 0 0 1 pinnumber=4 T 1800 2350 5 8 0 1 0 2 1 pinseq=4 T 1650 2400 9 8 1 1 0 6 1 pinlabel=1Y0 T 1650 2400 5 8 0 1 0 8 1 pintype=out } V 1750 2100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1800 2100 2000 2100 1 0 1 { T 1800 2150 5 8 1 1 0 0 1 pinnumber=5 T 1800 2050 5 8 0 1 0 2 1 pinseq=5 T 1650 2100 9 8 1 1 0 6 1 pinlabel=1Y1 T 1650 2100 5 8 0 1 0 8 1 pintype=out } V 1750 1800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1800 1800 2000 1800 1 0 1 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=6 T 1800 1750 5 8 0 1 0 2 1 pinseq=6 T 1650 1800 9 8 1 1 0 6 1 pinlabel=1Y2 T 1650 1800 5 8 0 1 0 8 1 pintype=out } V 1750 1500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1800 1500 2000 1500 1 0 1 { T 1800 1550 5 8 1 1 0 0 1 pinnumber=7 T 1800 1450 5 8 0 1 0 2 1 pinseq=7 T 1650 1500 9 8 1 1 0 6 1 pinlabel=1Y3 T 1650 1500 5 8 0 1 0 8 1 pintype=out } V 250 1100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1100 200 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=15 T 200 1050 5 8 0 1 0 8 1 pinseq=15 T 350 1100 9 8 1 1 0 0 1 pinlabel=G2 T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 800 300 800 1 0 0 { T 200 850 5 8 1 1 0 6 1 pinnumber=14 T 200 750 5 8 0 1 0 8 1 pinseq=14 T 350 800 9 8 1 1 0 0 1 pinlabel=A2 T 350 800 5 8 0 1 0 2 1 pintype=in } P 0 500 300 500 1 0 0 { T 200 550 5 8 1 1 0 6 1 pinnumber=13 T 200 450 5 8 0 1 0 8 1 pinseq=13 T 350 500 9 8 1 1 0 0 1 pinlabel=B2 T 350 500 5 8 0 1 0 2 1 pintype=in } V 1750 1100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1800 1100 2000 1100 1 0 1 { T 1800 1150 5 8 1 1 0 0 1 pinnumber=12 T 1800 1050 5 8 0 1 0 2 1 pinseq=12 T 1650 1100 9 8 1 1 0 6 1 pinlabel=2Y0 T 1650 1100 5 8 0 1 0 8 1 pintype=out } V 1750 800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1800 800 2000 800 1 0 1 { T 1800 850 5 8 1 1 0 0 1 pinnumber=11 T 1800 750 5 8 0 1 0 2 1 pinseq=11 T 1650 800 9 8 1 1 0 6 1 pinlabel=2Y1 T 1650 800 5 8 0 1 0 8 1 pintype=out } V 1750 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1800 500 2000 500 1 0 1 { T 1800 550 5 8 1 1 0 0 1 pinnumber=10 T 1800 450 5 8 0 1 0 2 1 pinseq=10 T 1650 500 9 8 1 1 0 6 1 pinlabel=2Y2 T 1650 500 5 8 0 1 0 8 1 pintype=out } V 1750 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1800 200 2000 200 1 0 1 { T 1800 250 5 8 1 1 0 0 1 pinnumber=9 T 1800 150 5 8 0 1 0 2 1 pinseq=9 T 1650 200 9 8 1 1 0 6 1 pinlabel=2Y3 T 1650 200 5 8 0 1 0 8 1 pintype=out } B 300 0 1400 2700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 2950 5 10 0 0 0 0 1 device=74139 T 1700 2800 8 10 1 1 0 6 1 refdes=U? T 300 3150 5 10 0 0 0 0 1 footprint=DIP16 T 300 3350 5 10 0 0 0 0 1 description=2 2-to-4 decoder/demultiplexer T 300 3950 5 10 0 0 0 0 1 numslots=0 T 300 3550 5 10 0 0 0 0 1 net=Vcc:16 T 300 3750 5 10 0 0 0 0 1 net=GND:8 T 300 2740 9 10 1 0 0 0 1 74139 T 300 4150 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc139.pdf geda-gaf-1.8.2/symbols/74/74139-3.sym0000664000175000017500000000400712204104272013376 00000000000000v 20031231 1 P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=2 T 200 1350 5 8 0 1 0 8 1 pinseq=1 T 350 1400 9 8 1 1 0 0 1 pinlabel=A0 T 350 1400 5 8 0 1 0 2 1 pintype=in } P 2000 1400 1800 1400 1 0 0 { T 1800 1450 5 8 1 1 0 0 1 pinnumber=4 T 1800 1350 5 8 0 1 0 2 1 pinseq=2 T 1650 1400 9 8 1 1 0 6 1 pinlabel=Q0 T 1650 1400 5 8 0 1 0 8 1 pintype=out } V 1750 1400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=3 T 200 950 5 8 0 1 0 8 1 pinseq=3 T 350 1000 9 8 1 1 0 0 1 pinlabel=A1 T 350 1000 5 8 0 1 0 2 1 pintype=in } P 2000 1000 1800 1000 1 0 0 { T 1800 1050 5 8 1 1 0 0 1 pinnumber=5 T 1800 950 5 8 0 1 0 2 1 pinseq=4 T 1650 1000 9 8 1 1 0 6 1 pinlabel=Q1 T 1650 1000 5 8 0 1 0 8 1 pintype=out } V 1750 1000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 600 1800 600 1 0 0 { T 1800 650 5 8 1 1 0 0 1 pinnumber=6 T 1800 550 5 8 0 1 0 2 1 pinseq=5 T 1650 600 9 8 1 1 0 6 1 pinlabel=Q2 T 1650 600 5 8 0 1 0 8 1 pintype=out } V 1750 600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 200 200 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=1 T 200 150 5 8 0 1 0 8 1 pinseq=6 T 350 200 9 8 1 1 0 0 1 pinlabel=E T 350 200 5 8 0 1 0 2 1 pintype=in } V 250 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 200 1800 200 1 0 0 { T 1800 250 5 8 1 1 0 0 1 pinnumber=7 T 1800 150 5 8 0 1 0 2 1 pinseq=7 T 1650 200 9 8 1 1 0 6 1 pinlabel=Q3 T 1650 200 5 8 0 1 0 8 1 pintype=out } V 1750 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 300 0 1400 1700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 2140 5 10 0 0 0 0 1 device=74139 T 300 1940 5 10 0 0 0 0 1 footprint=DIP16 T 300 2740 5 10 0 0 0 0 1 numslots=2 T 300 2540 5 10 0 0 0 0 1 slotdef=1:2,4,3,5,6,1,7 T 300 2340 5 10 0 0 0 0 1 slotdef=2:14,12,13,11,10,15,9 T 1700 1800 8 10 1 1 0 6 1 refdes=U? T 300 3150 5 10 0 0 0 0 1 description=2 2-to-4 decoder/demultiplexer T 300 3350 5 10 0 0 0 0 1 net=Vcc:16 T 300 3550 5 10 0 0 0 0 1 net=GND:8 T 300 1740 9 10 1 0 0 0 1 74139 T 300 2940 5 10 0 0 0 0 1 slot=1 T 300 3750 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc139.pdf geda-gaf-1.8.2/symbols/74/74HC373-1.sym0000664000175000017500000000705412204104272013614 00000000000000v 20070626 1 P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=3 T 200 3050 5 8 0 1 0 8 1 pinseq=3 T 350 3100 9 8 1 1 0 0 1 pinlabel=D1 T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 2800 300 2800 1 0 0 { T 200 2850 5 8 1 1 0 6 1 pinnumber=4 T 200 2750 5 8 0 1 0 8 1 pinseq=4 T 350 2800 9 8 1 1 0 0 1 pinlabel=D2 T 350 2800 5 8 0 1 0 2 1 pintype=in } P 0 2500 300 2500 1 0 0 { T 200 2550 5 8 1 1 0 6 1 pinnumber=7 T 200 2450 5 8 0 1 0 8 1 pinseq=7 T 350 2500 9 8 1 1 0 0 1 pinlabel=D3 T 350 2500 5 8 0 1 0 2 1 pintype=in } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=8 T 200 2150 5 8 0 1 0 8 1 pinseq=8 T 350 2200 9 8 1 1 0 0 1 pinlabel=D4 T 350 2200 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=13 T 200 1850 5 8 0 1 0 8 1 pinseq=13 T 350 1900 9 8 1 1 0 0 1 pinlabel=D5 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 1600 300 1600 1 0 0 { T 200 1650 5 8 1 1 0 6 1 pinnumber=14 T 200 1550 5 8 0 1 0 8 1 pinseq=14 T 350 1600 9 8 1 1 0 0 1 pinlabel=D6 T 350 1600 5 8 0 1 0 2 1 pintype=in } P 0 1300 300 1300 1 0 0 { T 200 1350 5 8 1 1 0 6 1 pinnumber=17 T 200 1250 5 8 0 1 0 8 1 pinseq=17 T 350 1300 9 8 1 1 0 0 1 pinlabel=D7 T 350 1300 5 8 0 1 0 2 1 pintype=in } P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=18 T 200 950 5 8 0 1 0 8 1 pinseq=18 T 350 1000 9 8 1 1 0 0 1 pinlabel=D8 T 350 1000 5 8 0 1 0 2 1 pintype=in } V 250 400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 400 200 400 1 0 0 { T 200 450 5 8 1 1 0 6 1 pinnumber=1 T 200 350 5 8 0 1 0 8 1 pinseq=1 T 350 400 9 8 1 1 0 0 1 pinlabel=\_OE\_ T 350 400 5 8 0 1 0 2 1 pintype=in } P 1700 3100 2000 3100 1 0 1 { T 1800 3150 5 8 1 1 0 0 1 pinnumber=2 T 1800 3050 5 8 0 1 0 2 1 pinseq=2 T 1650 3100 9 8 1 1 0 6 1 pinlabel=Q1 T 1650 3100 5 8 0 1 0 8 1 pintype=tri } P 1700 2800 2000 2800 1 0 1 { T 1800 2850 5 8 1 1 0 0 1 pinnumber=5 T 1800 2750 5 8 0 1 0 2 1 pinseq=5 T 1650 2800 9 8 1 1 0 6 1 pinlabel=Q2 T 1650 2800 5 8 0 1 0 8 1 pintype=tri } P 1700 2500 2000 2500 1 0 1 { T 1800 2550 5 8 1 1 0 0 1 pinnumber=6 T 1800 2450 5 8 0 1 0 2 1 pinseq=6 T 1650 2500 9 8 1 1 0 6 1 pinlabel=Q3 T 1650 2500 5 8 0 1 0 8 1 pintype=tri } P 1700 2200 2000 2200 1 0 1 { T 1800 2250 5 8 1 1 0 0 1 pinnumber=9 T 1800 2150 5 8 0 1 0 2 1 pinseq=9 T 1650 2200 9 8 1 1 0 6 1 pinlabel=Q4 T 1650 2200 5 8 0 1 0 8 1 pintype=tri } P 1700 1900 2000 1900 1 0 1 { T 1800 1950 5 8 1 1 0 0 1 pinnumber=12 T 1800 1850 5 8 0 1 0 2 1 pinseq=12 T 1650 1900 9 8 1 1 0 6 1 pinlabel=Q5 T 1650 1900 5 8 0 1 0 8 1 pintype=tri } P 1700 1600 2000 1600 1 0 1 { T 1800 1650 5 8 1 1 0 0 1 pinnumber=15 T 1800 1550 5 8 0 1 0 2 1 pinseq=15 T 1650 1600 9 8 1 1 0 6 1 pinlabel=Q6 T 1650 1600 5 8 0 1 0 8 1 pintype=tri } P 1700 1300 2000 1300 1 0 1 { T 1800 1350 5 8 1 1 0 0 1 pinnumber=16 T 1800 1250 5 8 0 1 0 2 1 pinseq=16 T 1650 1300 9 8 1 1 0 6 1 pinlabel=Q7 T 1650 1300 5 8 0 1 0 8 1 pintype=tri } P 1700 1000 2000 1000 1 0 1 { T 1800 1050 5 8 1 1 0 0 1 pinnumber=19 T 1800 950 5 8 0 1 0 2 1 pinseq=19 T 1650 1000 9 8 1 1 0 6 1 pinlabel=Q8 T 1650 1000 5 8 0 1 0 8 1 pintype=tri } B 300 -100 1400 3500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 3650 5 10 0 0 0 0 1 device=74HC373 P 300 100 0 100 1 0 1 { T 200 150 5 8 1 1 0 6 1 pinnumber=11 T 200 50 5 8 0 1 0 8 1 pinseq=11 T 350 100 9 8 1 1 0 0 1 pinlabel=LE T 350 100 5 8 0 1 0 2 1 pintype=in } T 1700 3500 8 10 1 1 0 6 1 refdes=U? T 300 3850 5 10 0 0 0 0 1 footprint=DIP20 T 300 4050 5 10 0 0 0 0 1 description=8-bit D-type latch with tristate outputs T 300 4650 5 10 0 0 0 0 1 numslots=0 T 300 4250 5 10 0 0 0 0 1 net=Vcc:20 T 300 4450 5 10 0 0 0 0 1 net=GND:10 T 300 3440 9 10 1 0 0 0 1 74HC373 geda-gaf-1.8.2/symbols/74/74164-2.sym0000664000175000017500000000525212204104272013376 00000000000000v 20070626 1 P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=1 T 200 2950 5 8 0 1 0 8 1 pinseq=1 T 350 3000 9 8 1 1 0 0 1 pinlabel=A T 350 3000 5 8 0 1 0 2 1 pintype=in } P 2000 3000 1700 3000 1 0 0 { T 1800 3050 5 8 1 1 0 0 1 pinnumber=3 T 1800 2950 5 8 0 1 0 2 1 pinseq=2 T 1650 3000 9 8 1 1 0 6 1 pinlabel=Q0 T 1650 3000 5 8 0 1 0 8 1 pintype=out } P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=2 T 200 2550 5 8 0 1 0 8 1 pinseq=3 T 350 2600 9 8 1 1 0 0 1 pinlabel=B T 350 2600 5 8 0 1 0 2 1 pintype=in } P 2000 2600 1700 2600 1 0 0 { T 1800 2650 5 8 1 1 0 0 1 pinnumber=4 T 1800 2550 5 8 0 1 0 2 1 pinseq=4 T 1650 2600 9 8 1 1 0 6 1 pinlabel=Q1 T 1650 2600 5 8 0 1 0 8 1 pintype=out } P 2000 2200 1700 2200 1 0 0 { T 1800 2250 5 8 1 1 0 0 1 pinnumber=5 T 1800 2150 5 8 0 1 0 2 1 pinseq=5 T 1650 2200 9 8 1 1 0 6 1 pinlabel=Q2 T 1650 2200 5 8 0 1 0 8 1 pintype=out } P 0 1800 200 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=9 T 200 1750 5 8 0 1 0 8 1 pinseq=6 T 350 1800 9 8 1 1 0 0 1 pinlabel=\_MR\_ T 350 1800 5 8 0 1 0 2 1 pintype=in } V 250 1800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 1800 1700 1800 1 0 0 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=6 T 1800 1750 5 8 0 1 0 2 1 pinseq=7 T 1650 1800 9 8 1 1 0 6 1 pinlabel=Q3 T 1650 1800 5 8 0 1 0 8 1 pintype=out } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=8 T 200 1350 5 8 0 1 0 8 1 pinseq=8 T 375 1400 9 8 1 1 0 0 1 pinlabel=CP T 375 1400 5 8 0 1 0 2 1 pintype=clk } P 2000 1400 1700 1400 1 0 0 { T 1800 1450 5 8 1 1 0 0 1 pinnumber=10 T 1800 1350 5 8 0 1 0 2 1 pinseq=9 T 1650 1400 9 8 1 1 0 6 1 pinlabel=Q4 T 1650 1400 5 8 0 1 0 8 1 pintype=out } P 2000 1000 1700 1000 1 0 0 { T 1800 1050 5 8 1 1 0 0 1 pinnumber=11 T 1800 950 5 8 0 1 0 2 1 pinseq=10 T 1650 1000 9 8 1 1 0 6 1 pinlabel=Q5 T 1650 1000 5 8 0 1 0 8 1 pintype=out } P 2000 600 1700 600 1 0 0 { T 1800 650 5 8 1 1 0 0 1 pinnumber=12 T 1800 550 5 8 0 1 0 2 1 pinseq=11 T 1650 600 9 8 1 1 0 6 1 pinlabel=Q6 T 1650 600 5 8 0 1 0 8 1 pintype=out } P 2000 200 1700 200 1 0 0 { T 1800 250 5 8 1 1 0 0 1 pinnumber=13 T 1800 150 5 8 0 1 0 2 1 pinseq=12 T 1650 200 9 8 1 1 0 6 1 pinlabel=Q7 T 1650 200 5 8 0 1 0 8 1 pintype=out } B 300 0 1400 3300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 3740 5 10 0 0 0 0 1 device=74164 T 300 3540 5 10 0 0 0 0 1 footprint=DIP14 T 1700 3400 8 10 1 1 0 6 1 refdes=U? T 300 3950 5 10 0 0 0 0 1 description=8-bit serial-in/parallel-out shift register T 300 4550 5 10 0 0 0 0 1 numslots=0 T 300 4150 5 10 0 0 0 0 1 net=Vcc:14 T 300 4350 5 10 0 0 0 0 1 net=GND:7 T 300 3340 9 10 1 0 0 0 1 74164 L 375 1400 300 1450 3 0 0 0 -1 -1 L 375 1400 300 1350 3 0 0 0 -1 -1 T 300 4750 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc164.pdf geda-gaf-1.8.2/symbols/74/74HCT05-1.sym0000664000175000017500000000221112204104272013636 00000000000000v 20031231 1 T 300 900 8 10 1 1 0 0 1 refdes=U? T 600 900 5 10 0 0 0 0 1 device=74HCT05 T 600 1100 5 10 0 0 0 0 1 slot=1 T 600 1300 5 10 0 0 0 0 1 numslots=6 T 600 1500 5 10 0 0 0 0 1 slotdef=1:1,2 T 600 1700 5 10 0 0 0 0 1 slotdef=2:3,4 T 600 1900 5 10 0 0 0 0 1 slotdef=3:5,6 T 600 2100 5 10 0 0 0 0 1 slotdef=4:9,8 T 600 2300 5 10 0 0 0 0 1 slotdef=5:11,10 T 600 2500 5 10 0 0 0 0 1 slotdef=6:13,12 P 300 500 0 500 1 0 1 { T 200 550 5 8 1 1 0 6 1 pinnumber=1 T 200 450 5 8 0 1 0 8 1 pinseq=1 T 350 500 9 8 0 1 0 0 1 pinlabel=A T 350 500 5 8 0 1 0 2 1 pintype=in } P 1100 500 900 500 1 0 0 { T 900 550 5 8 1 1 0 0 1 pinnumber=2 T 900 450 5 8 0 1 0 2 1 pinseq=2 T 750 500 9 8 0 1 0 6 1 pinlabel=Y T 750 500 5 8 0 1 0 8 1 pintype=oc } L 300 800 800 500 3 0 0 0 -1 -1 L 800 500 300 200 3 0 0 0 -1 -1 L 300 800 300 500 3 0 0 0 -1 -1 L 300 500 300 200 3 0 0 0 -1 -1 L 488 313 619 606 3 0 0 0 -1 -1 V 850 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 600 2700 5 10 0 0 0 0 1 footprint=DIP14 T 600 2900 5 10 0 0 0 0 1 description=6 inverters with open collector output T 600 3100 5 10 0 0 0 0 1 net=Vcc:14 T 600 3300 5 10 0 0 0 0 1 net=GND:7 T 300 0 9 8 1 0 0 0 1 74HCT05 geda-gaf-1.8.2/symbols/74/7405-2.sym0000664000175000017500000000232312204104272013304 00000000000000v 20031231 1 L 300 800 800 500 3 0 0 0 -1 -1 T 600 900 5 10 0 0 0 0 1 device=7405 T 600 1100 5 10 0 0 0 0 1 slot=1 T 600 1300 5 10 0 0 0 0 1 numslots=6 T 600 1500 5 10 0 0 0 0 1 slotdef=1:1,2 T 600 1700 5 10 0 0 0 0 1 slotdef=2:3,4 T 600 1900 5 10 0 0 0 0 1 slotdef=3:5,6 T 600 2100 5 10 0 0 0 0 1 slotdef=4:9,8 T 600 2300 5 10 0 0 0 0 1 slotdef=5:11,10 T 600 2500 5 10 0 0 0 0 1 slotdef=6:13,12 L 800 500 300 200 3 0 0 0 -1 -1 L 300 800 300 500 3 0 0 0 -1 -1 L 300 500 300 200 3 0 0 0 -1 -1 V 250 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 0 9 8 1 0 0 0 1 7405 P 1100 500 800 500 1 0 0 { T 900 550 5 8 1 1 0 0 1 pinnumber=2 T 900 450 5 8 0 1 0 2 1 pinseq=2 T 750 500 9 8 0 1 0 6 1 pinlabel=Y T 750 500 5 8 0 1 0 8 1 pintype=oc } P 200 500 0 500 1 0 1 { T 200 550 5 8 1 1 0 6 1 pinnumber=1 T 200 450 5 8 0 1 0 8 1 pinseq=1 T 350 500 9 8 0 1 0 0 1 pinlabel=A T 350 500 5 8 0 1 0 2 1 pintype=in } L 488 313 619 606 3 0 0 0 -1 -1 T 300 900 8 10 1 1 0 0 1 refdes=U? T 600 2700 5 10 0 0 0 0 1 footprint=DIP14 T 600 2900 5 10 0 0 0 0 1 description=6 NOT gates with open collector outputs T 600 3100 5 10 0 0 0 0 1 net=Vcc:14 T 600 3300 5 10 0 0 0 0 1 net=GND:7 T 600 3500 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc05.pdf geda-gaf-1.8.2/symbols/74/74373-1.sym0000664000175000017500000000717012204104272013400 00000000000000v 20070626 1 P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=3 T 200 3050 5 8 0 1 0 8 1 pinseq=3 T 350 3100 9 8 1 1 0 0 1 pinlabel=D1 T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 2800 300 2800 1 0 0 { T 200 2850 5 8 1 1 0 6 1 pinnumber=4 T 200 2750 5 8 0 1 0 8 1 pinseq=4 T 350 2800 9 8 1 1 0 0 1 pinlabel=D2 T 350 2800 5 8 0 1 0 2 1 pintype=in } P 0 2500 300 2500 1 0 0 { T 200 2550 5 8 1 1 0 6 1 pinnumber=7 T 200 2450 5 8 0 1 0 8 1 pinseq=7 T 350 2500 9 8 1 1 0 0 1 pinlabel=D3 T 350 2500 5 8 0 1 0 2 1 pintype=in } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=8 T 200 2150 5 8 0 1 0 8 1 pinseq=8 T 350 2200 9 8 1 1 0 0 1 pinlabel=D4 T 350 2200 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=13 T 200 1850 5 8 0 1 0 8 1 pinseq=13 T 350 1900 9 8 1 1 0 0 1 pinlabel=D5 T 350 1900 5 8 0 1 0 2 1 pintype=in } P 0 1600 300 1600 1 0 0 { T 200 1650 5 8 1 1 0 6 1 pinnumber=14 T 200 1550 5 8 0 1 0 8 1 pinseq=14 T 350 1600 9 8 1 1 0 0 1 pinlabel=D6 T 350 1600 5 8 0 1 0 2 1 pintype=in } P 0 1300 300 1300 1 0 0 { T 200 1350 5 8 1 1 0 6 1 pinnumber=17 T 200 1250 5 8 0 1 0 8 1 pinseq=17 T 350 1300 9 8 1 1 0 0 1 pinlabel=D7 T 350 1300 5 8 0 1 0 2 1 pintype=in } P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=18 T 200 950 5 8 0 1 0 8 1 pinseq=18 T 350 1000 9 8 1 1 0 0 1 pinlabel=D8 T 350 1000 5 8 0 1 0 2 1 pintype=in } V 250 400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 400 200 400 1 0 0 { T 200 450 5 8 1 1 0 6 1 pinnumber=1 T 200 350 5 8 0 1 0 8 1 pinseq=1 T 350 400 9 8 1 1 0 0 1 pinlabel=\_OE\_ T 350 400 5 8 0 1 0 2 1 pintype=in } P 1700 3100 2000 3100 1 0 1 { T 1800 3150 5 8 1 1 0 0 1 pinnumber=2 T 1800 3050 5 8 0 1 0 2 1 pinseq=2 T 1650 3100 9 8 1 1 0 6 1 pinlabel=Q1 T 1650 3100 5 8 0 1 0 8 1 pintype=tri } P 1700 2800 2000 2800 1 0 1 { T 1800 2850 5 8 1 1 0 0 1 pinnumber=5 T 1800 2750 5 8 0 1 0 2 1 pinseq=5 T 1650 2800 9 8 1 1 0 6 1 pinlabel=Q2 T 1650 2800 5 8 0 1 0 8 1 pintype=tri } P 1700 2500 2000 2500 1 0 1 { T 1800 2550 5 8 1 1 0 0 1 pinnumber=6 T 1800 2450 5 8 0 1 0 2 1 pinseq=6 T 1650 2500 9 8 1 1 0 6 1 pinlabel=Q3 T 1650 2500 5 8 0 1 0 8 1 pintype=tri } P 1700 2200 2000 2200 1 0 1 { T 1800 2250 5 8 1 1 0 0 1 pinnumber=9 T 1800 2150 5 8 0 1 0 2 1 pinseq=9 T 1650 2200 9 8 1 1 0 6 1 pinlabel=Q4 T 1650 2200 5 8 0 1 0 8 1 pintype=tri } P 1700 1900 2000 1900 1 0 1 { T 1800 1950 5 8 1 1 0 0 1 pinnumber=12 T 1800 1850 5 8 0 1 0 2 1 pinseq=12 T 1650 1900 9 8 1 1 0 6 1 pinlabel=Q5 T 1650 1900 5 8 0 1 0 8 1 pintype=tri } P 1700 1600 2000 1600 1 0 1 { T 1800 1650 5 8 1 1 0 0 1 pinnumber=15 T 1800 1550 5 8 0 1 0 2 1 pinseq=15 T 1650 1600 9 8 1 1 0 6 1 pinlabel=Q6 T 1650 1600 5 8 0 1 0 8 1 pintype=tri } P 1700 1300 2000 1300 1 0 1 { T 1800 1350 5 8 1 1 0 0 1 pinnumber=16 T 1800 1250 5 8 0 1 0 2 1 pinseq=16 T 1650 1300 9 8 1 1 0 6 1 pinlabel=Q7 T 1650 1300 5 8 0 1 0 8 1 pintype=tri } P 1700 1000 2000 1000 1 0 1 { T 1800 1050 5 8 1 1 0 0 1 pinnumber=19 T 1800 950 5 8 0 1 0 2 1 pinseq=19 T 1650 1000 9 8 1 1 0 6 1 pinlabel=Q8 T 1650 1000 5 8 0 1 0 8 1 pintype=tri } B 300 -100 1400 3500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 3650 5 10 0 0 0 0 1 device=74373 P 300 100 0 100 1 0 1 { T 200 150 5 8 1 1 0 6 1 pinnumber=11 T 200 50 5 8 0 1 0 8 1 pinseq=11 T 350 100 9 8 1 1 0 0 1 pinlabel=LE T 350 100 5 8 0 1 0 2 1 pintype=in } T 1700 3500 8 10 1 1 0 6 1 refdes=U? T 300 3850 5 10 0 0 0 0 1 footprint=DIP20 T 300 4050 5 10 0 0 0 0 1 description=8-bit D-type latch with tristate outputs T 300 4650 5 10 0 0 0 0 1 numslots=0 T 300 4250 5 10 0 0 0 0 1 net=Vcc:20 T 300 4450 5 10 0 0 0 0 1 net=GND:10 T 300 3440 9 10 1 0 0 0 1 74373 T 300 4850 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc373.pdf geda-gaf-1.8.2/symbols/74/74131-1.sym0000664000175000017500000000643512204104272013373 00000000000000v 20070626 1 P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=1 T 200 2950 5 8 0 1 0 8 1 pinseq=1 T 350 3000 9 8 1 1 0 0 1 pinlabel=A0 T 350 3000 5 8 0 1 0 2 1 pintype=in } P 2000 3000 1800 3000 1 0 0 { T 1800 3050 5 8 1 1 0 0 1 pinnumber=15 T 1800 2950 5 8 0 1 0 2 1 pinseq=2 T 1650 3000 9 8 1 1 0 6 1 pinlabel=Y0 T 1650 3000 5 8 0 1 0 8 1 pintype=out } V 1750 3000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=2 T 200 2550 5 8 0 1 0 8 1 pinseq=3 T 350 2600 9 8 1 1 0 0 1 pinlabel=A1 T 350 2600 5 8 0 1 0 2 1 pintype=in } P 2000 2600 1800 2600 1 0 0 { T 1800 2650 5 8 1 1 0 0 1 pinnumber=14 T 1800 2550 5 8 0 1 0 2 1 pinseq=4 T 1650 2600 9 8 1 1 0 6 1 pinlabel=Y1 T 1650 2600 5 8 0 1 0 8 1 pintype=out } V 1750 2600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=3 T 200 2150 5 8 0 1 0 8 1 pinseq=5 T 350 2200 9 8 1 1 0 0 1 pinlabel=A2 T 350 2200 5 8 0 1 0 2 1 pintype=in } P 2000 2200 1800 2200 1 0 0 { T 1800 2250 5 8 1 1 0 0 1 pinnumber=13 T 1800 2150 5 8 0 1 0 2 1 pinseq=6 T 1650 2200 9 8 1 1 0 6 1 pinlabel=Y2 T 1650 2200 5 8 0 1 0 8 1 pintype=out } V 1750 2200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 1800 1800 1800 1 0 0 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=12 T 1800 1750 5 8 0 1 0 2 1 pinseq=7 T 1650 1800 9 8 1 1 0 6 1 pinlabel=Y3 T 1650 1800 5 8 0 1 0 8 1 pintype=out } V 1750 1800 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=6 T 200 1350 5 8 0 1 0 8 1 pinseq=8 T 350 1400 9 8 1 1 0 0 1 pinlabel=EN1 T 350 1400 5 8 0 1 0 2 1 pintype=in } P 2000 1400 1800 1400 1 0 0 { T 1800 1450 5 8 1 1 0 0 1 pinnumber=11 T 1800 1350 5 8 0 1 0 2 1 pinseq=9 T 1650 1400 9 8 1 1 0 6 1 pinlabel=Y4 T 1650 1400 5 8 0 1 0 8 1 pintype=out } V 1750 1400 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1000 200 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=5 T 200 950 5 8 0 1 0 8 1 pinseq=10 T 350 1000 9 8 1 1 0 0 1 pinlabel=\_EN2\_ T 350 1000 5 8 0 1 0 2 1 pintype=in } V 250 1000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 1000 1800 1000 1 0 0 { T 1800 1050 5 8 1 1 0 0 1 pinnumber=10 T 1800 950 5 8 0 1 0 2 1 pinseq=11 T 1650 1000 9 8 1 1 0 6 1 pinlabel=Y5 T 1650 1000 5 8 0 1 0 8 1 pintype=out } V 1750 1000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 2000 600 1800 600 1 0 0 { T 1800 650 5 8 1 1 0 0 1 pinnumber=9 T 1800 550 5 8 0 1 0 2 1 pinseq=12 T 1650 600 9 8 1 1 0 6 1 pinlabel=Y6 T 1650 600 5 8 0 1 0 8 1 pintype=out } V 1750 600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=4 T 200 150 5 8 0 1 0 8 1 pinseq=13 T 375 200 9 8 1 1 0 0 1 pinlabel=CLK T 375 200 5 8 0 1 0 2 1 pintype=clk } P 2000 200 1800 200 1 0 0 { T 1800 250 5 8 1 1 0 0 1 pinnumber=7 T 1800 150 5 8 0 1 0 2 1 pinseq=14 T 1650 200 9 8 1 1 0 6 1 pinlabel=Y7 T 1650 200 5 8 0 1 0 8 1 pintype=out } V 1750 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 B 300 0 1400 3300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 3740 5 10 0 0 0 0 1 device=74131 T 300 3540 5 10 0 0 0 0 1 footprint=DIP16 T 1700 3400 8 10 1 1 0 6 1 refdes=U? T 300 3950 5 10 0 0 0 0 1 description=3 to 8 decoder/demultiplexer with register T 300 4550 5 10 0 0 0 0 1 numslots=0 T 300 4150 5 10 0 0 0 0 1 net=Vcc:16 T 300 4350 5 10 0 0 0 0 1 net=GND:8 T 300 3340 9 10 1 0 0 0 1 74131 L 375 200 300 250 3 0 0 0 -1 -1 L 375 200 300 150 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/74/74HCT08-1.sym0000664000175000017500000000234512204104272013651 00000000000000v 20031231 1 T 300 900 8 10 1 1 0 0 1 refdes=U? T 700 900 5 10 0 0 0 0 1 device=74HCT08 T 700 1100 5 10 0 0 0 0 1 slot=1 T 700 1300 5 10 0 0 0 0 1 numslots=4 T 700 1500 5 10 0 0 0 0 1 slotdef=1:1,2,3 T 700 1700 5 10 0 0 0 0 1 slotdef=2:4,5,6 T 700 1900 5 10 0 0 0 0 1 slotdef=3:9,10,8 T 700 2100 5 10 0 0 0 0 1 slotdef=4:12,13,11 P 1000 500 1300 500 1 0 1 { T 1100 550 5 8 1 1 0 0 1 pinnumber=3 T 1100 450 5 8 0 1 0 2 1 pinseq=3 T 950 500 9 8 0 1 0 6 1 pinlabel=Y T 950 500 5 8 0 1 0 8 1 pintype=out } P 300 700 0 700 1 0 1 { T 200 750 5 8 1 1 0 6 1 pinnumber=1 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 0 1 0 0 1 pinlabel=A T 350 700 5 8 0 1 0 2 1 pintype=in } P 300 300 0 300 1 0 1 { T 200 350 5 8 1 1 0 6 1 pinnumber=2 T 200 250 5 8 0 1 0 8 1 pinseq=2 T 350 300 9 8 0 1 0 0 1 pinlabel=B T 350 300 5 8 0 1 0 2 1 pintype=in } A 700 500 300 270 180 3 0 0 0 -1 -1 L 300 200 700 200 3 0 0 0 -1 -1 L 300 800 700 800 3 0 0 0 -1 -1 L 300 200 300 800 3 0 0 0 -1 -1 T 700 2300 5 10 0 0 0 0 1 footprint=DIP14 T 700 2500 5 10 0 0 0 0 1 description=4 AND gates with 2 inputs T 700 2700 5 10 0 0 0 0 1 net=Vcc:14 T 700 2900 5 10 0 0 0 0 1 net=GND:7 T 300 0 9 8 1 0 0 0 1 74HCT08 T 700 3100 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hct08.pdf geda-gaf-1.8.2/symbols/74/7402-2.sym0000664000175000017500000000246612204104272013311 00000000000000v 20031231 1 L 300 200 300 800 3 0 0 0 -1 -1 T 300 0 9 8 1 0 0 0 1 7402 L 300 800 700 800 3 0 0 0 -1 -1 T 600 900 5 10 0 0 0 0 1 device=7402 T 600 1100 5 10 0 0 0 0 1 slot=1 T 600 1300 5 10 0 0 0 0 1 numslots=4 T 600 1500 5 10 0 0 0 0 1 slotdef=1:1,2,3 T 600 1700 5 10 0 0 0 0 1 slotdef=2:4,5,6 T 600 1900 5 10 0 0 0 0 1 slotdef=3:10,8,9 T 600 2100 5 10 0 0 0 0 1 slotdef=4:13,11,12 L 300 200 700 200 3 0 0 0 -1 -1 A 700 500 300 270 180 3 0 0 0 -1 -1 P 1000 500 1300 500 1 0 1 { T 1100 550 5 8 1 1 0 0 1 pinnumber=1 T 1100 450 5 8 0 1 0 2 1 pinseq=1 T 950 500 9 8 0 1 0 6 1 pinlabel=Y T 950 500 5 8 0 1 0 8 1 pintype=out } V 250 700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 300 0 300 1 0 1 { T 200 350 5 8 1 1 0 6 1 pinnumber=3 T 200 250 5 8 0 1 0 8 1 pinseq=3 T 350 300 9 8 0 1 0 0 1 pinlabel=B T 350 300 5 8 0 1 0 2 1 pintype=in } P 200 700 0 700 1 0 1 { T 200 750 5 8 1 1 0 6 1 pinnumber=2 T 200 650 5 8 0 1 0 8 1 pinseq=2 T 350 700 9 8 0 1 0 0 1 pinlabel=A T 350 700 5 8 0 1 0 2 1 pintype=in } T 300 900 8 10 1 1 0 0 1 refdes=U? T 600 2300 5 10 0 0 0 0 1 footprint=DIP14 T 600 2500 5 10 0 0 0 0 1 description=4 NOR gates with 2 inputs T 600 2700 5 10 0 0 0 0 1 net=GND:7 T 600 2900 5 10 0 0 0 0 1 net=Vcc:14 T 600 3100 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc02.pdf geda-gaf-1.8.2/symbols/74/74107-2.sym0000664000175000017500000000340612204104272013372 00000000000000v 20070626 1 P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=1 T 200 1350 5 8 0 1 0 8 1 pinseq=1 T 350 1400 9 8 1 1 0 0 1 pinlabel=J T 350 1400 5 8 0 1 0 2 1 pintype=in } P 2000 1400 1700 1400 1 0 0 { T 1800 1450 5 8 1 1 0 0 1 pinnumber=3 T 1800 1350 5 8 0 1 0 2 1 pinseq=2 T 1650 1400 9 8 1 1 0 6 1 pinlabel=Q T 1650 1400 5 8 0 1 0 8 1 pintype=out } P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=4 T 200 950 5 8 0 1 0 8 1 pinseq=3 T 350 1000 9 8 1 1 0 0 1 pinlabel=K T 350 1000 5 8 0 1 0 2 1 pintype=in } P 2000 1000 1800 1000 1 0 0 { T 1800 1050 5 8 1 1 0 0 1 pinnumber=2 T 1800 950 5 8 0 1 0 2 1 pinseq=4 T 1650 1000 9 8 1 1 0 6 1 pinlabel=\_Q\_ T 1650 1000 5 8 0 1 0 8 1 pintype=out } V 1750 1000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 600 200 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=13 T 200 550 5 8 0 1 0 8 1 pinseq=5 T 350 600 9 8 1 1 0 0 1 pinlabel=\_CLR\_ T 350 600 5 8 0 1 0 2 1 pintype=in } V 250 600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=12 T 200 150 5 8 0 1 0 8 1 pinseq=6 T 350 200 9 8 1 1 0 0 1 pinlabel=CLK T 350 200 5 8 0 1 0 2 1 pintype=clk } B 300 0 1400 1700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 2100 1740 5 10 0 0 0 0 1 device=74107 T 2100 1540 5 10 0 0 0 0 1 footprint=DIP14 T 2100 1340 5 10 0 0 0 0 1 numslots=2 T 2100 1140 5 10 0 0 0 0 1 slotdef=1:1,3,4,2,13,12 T 2100 940 5 10 0 0 0 0 1 slotdef=2:8,5,11,6,10,9 T 1700 1800 8 10 1 1 0 6 1 refdes=U? T 2100 1950 5 10 0 0 0 0 1 description=2 JK-flip-flops with clear (pulstriggered) T 2100 2150 5 10 0 0 0 0 1 net=Vcc:14 T 2100 2350 5 10 0 0 0 0 1 net=GND:7 T 300 1740 9 10 1 0 0 0 1 74107 T 2100 765 5 10 0 0 0 0 1 slot=1 T 2100 2550 5 10 0 0 0 0 1 documentation=http://www.semiconductors.philips.com/acrobat/datasheets/74HC_HCT107_CNV_2.pdf geda-gaf-1.8.2/symbols/74/7422-1.sym0000664000175000017500000000313512204104272013304 00000000000000v 20031231 1 L 300 300 300 900 3 0 0 0 -1 -1 L 300 900 700 900 3 0 0 0 -1 -1 T 600 1000 5 10 0 0 0 0 1 device=7422 T 600 1200 5 10 0 0 0 0 1 slot=1 T 600 1400 5 10 0 0 0 0 1 numslots=2 T 600 1600 5 10 0 0 0 0 1 slotdef=1:1,2,4,5,6 T 600 1800 5 10 0 0 0 0 1 slotdef=2:9,10,12,13,8 L 300 300 700 300 3 0 0 0 -1 -1 A 700 600 300 270 180 3 0 0 0 -1 -1 V 1050 600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1100 600 1300 600 1 0 1 { T 1100 650 5 8 1 1 0 0 1 pinnumber=6 T 1100 550 5 8 0 1 0 2 1 pinseq=5 T 950 600 9 8 0 1 0 6 1 pinlabel=Y T 950 600 5 8 0 1 0 8 1 pintype=oc } P 300 100 0 100 1 0 1 { T 200 150 5 8 1 1 0 6 1 pinnumber=5 T 200 50 5 8 0 1 0 8 1 pinseq=4 T 350 100 9 8 0 1 0 0 1 pinlabel=D T 350 100 5 8 0 1 0 2 1 pintype=in } P 300 1100 0 1100 1 0 1 { T 200 1150 5 8 1 1 0 6 1 pinnumber=1 T 200 1050 5 8 0 1 0 8 1 pinseq=1 T 350 1100 9 8 0 1 0 0 1 pinlabel=A T 350 1100 5 8 0 1 0 2 1 pintype=in } P 300 800 0 800 1 0 1 { T 200 850 5 8 1 1 0 6 1 pinnumber=2 T 200 750 5 8 0 1 0 8 1 pinseq=2 T 350 800 9 8 0 1 0 0 1 pinlabel=B T 350 800 5 8 0 1 0 2 1 pintype=in } T 400 100 9 8 1 0 0 0 1 7422 L 300 300 300 100 3 0 0 0 -1 -1 L 300 1100 300 900 3 0 0 0 -1 -1 P 300 400 0 400 1 0 1 { T 200 450 5 8 1 1 0 6 1 pinnumber=4 T 200 350 5 8 0 1 0 8 1 pinseq=3 T 350 400 9 8 0 1 0 0 1 pinlabel=C T 350 400 5 8 0 1 0 2 1 pintype=in } L 300 1100 300 1200 3 0 0 0 -1 -1 L 300 0 300 100 3 0 0 0 -1 -1 T 400 1000 8 10 1 1 0 0 1 refdes=U? T 600 2000 5 10 0 0 0 0 1 footprint=DIP14 T 600 2200 5 10 0 0 0 0 1 description=2 NAND gates with 4 inputs and open collector output T 600 2400 5 10 0 0 0 0 1 net=Vcc:14 T 600 2600 5 10 0 0 0 0 1 net=GND:7 geda-gaf-1.8.2/symbols/74/7407-1.sym0000664000175000017500000000214312204104272013305 00000000000000v 20031231 1 L 300 800 800 500 3 0 0 0 -1 -1 T 600 900 5 10 0 0 0 0 1 device=7407 T 600 1100 5 10 0 0 0 0 1 slot=1 T 600 1300 5 10 0 0 0 0 1 numslots=6 T 600 1500 5 10 0 0 0 0 1 slotdef=1:1,2 T 600 1700 5 10 0 0 0 0 1 slotdef=2:3,4 T 600 1900 5 10 0 0 0 0 1 slotdef=3:5,6 T 600 2100 5 10 0 0 0 0 1 slotdef=4:9,8 T 600 2300 5 10 0 0 0 0 1 slotdef=5:11,10 T 600 2500 5 10 0 0 0 0 1 slotdef=6:13,12 L 800 500 300 200 3 0 0 0 -1 -1 L 300 800 300 500 3 0 0 0 -1 -1 L 300 500 300 200 3 0 0 0 -1 -1 P 300 500 0 500 1 0 1 { T 200 550 5 8 1 1 0 6 1 pinnumber=1 T 200 450 5 8 0 1 0 8 1 pinseq=1 T 350 500 9 8 0 1 0 0 1 pinlabel=A T 350 500 5 8 0 1 0 2 1 pintype=in } T 300 0 9 8 1 0 0 0 1 7407 P 1100 500 800 500 1 0 0 { T 900 550 5 8 1 1 0 0 1 pinnumber=2 T 900 450 5 8 0 1 0 2 1 pinseq=2 T 750 500 9 8 0 1 0 6 1 pinlabel=Y T 750 500 5 8 0 1 0 8 1 pintype=oc } L 488 313 619 606 3 0 0 0 -1 -1 T 300 900 8 10 1 1 0 0 1 refdes=U? T 600 2700 5 10 0 0 0 0 1 footprint=DIP14 T 600 2900 5 10 0 0 0 0 1 description=6 noninverting drivers with open collector outputs T 600 3100 5 10 0 0 0 0 1 net=Vcc:14 T 600 3300 5 10 0 0 0 0 1 net=GND:7 geda-gaf-1.8.2/symbols/74/74595-1.sym0000664000175000017500000000620312204104272013402 00000000000000v 20031231 1 P 0 2300 200 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=13 T 200 2250 5 8 0 1 0 8 1 pinseq=13 T 350 2300 9 8 1 1 0 0 1 pinlabel=G T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 2000 300 2000 1 0 0 { T 200 2050 5 8 1 1 0 6 1 pinnumber=12 T 200 1950 5 8 0 1 0 8 1 pinseq=12 T 400 2000 9 8 1 1 0 0 1 pinlabel=RCLK T 400 2000 5 8 0 1 0 2 1 pintype=clk } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=11 T 200 1350 5 8 0 1 0 8 1 pinseq=11 T 400 1400 9 8 1 1 0 0 1 pinlabel=SRCLK T 400 1400 5 8 0 1 0 2 1 pintype=clk } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=14 T 200 1050 5 8 0 1 0 8 1 pinseq=14 T 350 1100 9 8 1 1 0 0 1 pinlabel=SER T 350 1100 5 8 0 1 0 2 1 pintype=in } P 1700 2300 2000 2300 1 0 1 { T 1800 2350 5 8 1 1 0 0 1 pinnumber=15 T 1800 2250 5 8 0 1 0 2 1 pinseq=15 T 1650 2300 9 8 1 1 0 6 1 pinlabel=QA T 1650 2300 5 8 0 1 0 8 1 pintype=tri } P 1700 2000 2000 2000 1 0 1 { T 1800 2050 5 8 1 1 0 0 1 pinnumber=1 T 1800 1950 5 8 0 1 0 2 1 pinseq=1 T 1650 2000 9 8 1 1 0 6 1 pinlabel=QB T 1650 2000 5 8 0 1 0 8 1 pintype=tri } P 1700 1700 2000 1700 1 0 1 { T 1800 1750 5 8 1 1 0 0 1 pinnumber=2 T 1800 1650 5 8 0 1 0 2 1 pinseq=2 T 1650 1700 9 8 1 1 0 6 1 pinlabel=QC T 1650 1700 5 8 0 1 0 8 1 pintype=tri } P 1700 1400 2000 1400 1 0 1 { T 1800 1450 5 8 1 1 0 0 1 pinnumber=3 T 1800 1350 5 8 0 1 0 2 1 pinseq=3 T 1650 1400 9 8 1 1 0 6 1 pinlabel=QD T 1650 1400 5 8 0 1 0 8 1 pintype=tri } P 1700 200 2000 200 1 0 1 { T 1800 250 5 8 1 1 0 0 1 pinnumber=7 T 1800 150 5 8 0 1 0 2 1 pinseq=7 T 1650 200 9 8 1 1 0 6 1 pinlabel=QH T 1650 200 5 8 0 1 0 8 1 pintype=tri } P 1700 500 2000 500 1 0 1 { T 1800 550 5 8 1 1 0 0 1 pinnumber=6 T 1800 450 5 8 0 1 0 2 1 pinseq=6 T 1650 500 9 8 1 1 0 6 1 pinlabel=QG T 1650 500 5 8 0 1 0 8 1 pintype=tri } P 1700 800 2000 800 1 0 1 { T 1800 850 5 8 1 1 0 0 1 pinnumber=5 T 1800 750 5 8 0 1 0 2 1 pinseq=5 T 1650 800 9 8 1 1 0 6 1 pinlabel=QF T 1650 800 5 8 0 1 0 8 1 pintype=tri } P 1700 1100 2000 1100 1 0 1 { T 1800 1150 5 8 1 1 0 0 1 pinnumber=4 T 1800 1050 5 8 0 1 0 2 1 pinseq=4 T 1650 1100 9 8 1 1 0 6 1 pinlabel=QE T 1650 1100 5 8 0 1 0 8 1 pintype=tri } V 250 1700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1700 200 1700 1 0 0 { T 200 1750 5 8 1 1 0 6 1 pinnumber=10 T 200 1650 5 8 0 1 0 8 1 pinseq=10 T 350 1700 9 8 1 1 0 0 1 pinlabel=SRCLR T 350 1700 5 8 0 1 0 2 1 pintype=in } P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=9 T 200 150 5 8 0 1 0 8 1 pinseq=9 T 350 200 9 8 1 1 0 0 1 pinlabel=QHs T 350 200 5 8 0 1 0 2 1 pintype=out } T 300 2840 5 10 0 0 0 0 1 device=74595 B 300 0 1400 2600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1700 2700 8 10 1 1 0 6 1 refdes=U? V 250 2300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 400 1400 300 1475 3 0 0 0 -1 -1 L 400 1400 300 1325 3 0 0 0 -1 -1 L 400 2000 300 2075 3 0 0 0 -1 -1 L 400 2000 300 1925 3 0 0 0 -1 -1 T 300 4050 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc595.pdf T 300 3050 5 10 0 0 0 0 1 footprint=DIP16 T 300 3850 5 10 0 0 0 0 1 description=8-bit serial shift register with 3-state output register T 300 3250 5 10 0 0 0 0 1 numslots=0 T 300 3450 5 10 0 0 0 0 1 net=Vcc:16 T 300 3650 5 10 0 0 0 0 1 net=GND:8 T 300 2650 9 10 1 0 0 0 1 74595 geda-gaf-1.8.2/symbols/74/74189-2.sym0000664000175000017500000000610712204104272013405 00000000000000v 20070626 1 P 1800 2700 2000 2700 1 0 1 { T 1800 2750 5 8 1 1 0 0 1 pinnumber=11 T 1800 2650 5 8 0 1 0 2 1 pinseq=11 T 1650 2700 9 8 1 1 0 6 1 pinlabel=\_Q3\_ T 1650 2700 5 8 0 1 0 8 1 pintype=tri } P 1800 3100 2000 3100 1 0 1 { T 1800 3150 5 8 1 1 0 0 1 pinnumber=9 T 1800 3050 5 8 0 1 0 2 1 pinseq=9 T 1650 3100 9 8 1 1 0 6 1 pinlabel=\_Q2\_ T 1650 3100 5 8 0 1 0 8 1 pintype=tri } P 1800 3500 2000 3500 1 0 1 { T 1800 3550 5 8 1 1 0 0 1 pinnumber=7 T 1800 3450 5 8 0 1 0 2 1 pinseq=7 T 1650 3500 9 8 1 1 0 6 1 pinlabel=\_Q1\_ T 1650 3500 5 8 0 1 0 8 1 pintype=tri } P 1800 3900 2000 3900 1 0 1 { T 1800 3950 5 8 1 1 0 0 1 pinnumber=5 T 1800 3850 5 8 0 1 0 2 1 pinseq=5 T 1650 3900 9 8 1 1 0 6 1 pinlabel=\_Q0\_ T 1650 3900 5 8 0 1 0 8 1 pintype=tri } P 0 700 200 700 1 0 0 { T 200 750 5 8 1 1 0 6 1 pinnumber=3 T 200 650 5 8 0 1 0 8 1 pinseq=3 T 350 700 9 8 1 1 0 0 1 pinlabel=\_WE\_ T 350 700 5 8 0 1 0 2 1 pintype=in } P 0 2300 300 2300 1 0 0 { T 200 2350 5 8 1 1 0 6 1 pinnumber=1 T 200 2250 5 8 0 1 0 8 1 pinseq=1 T 350 2300 9 8 1 1 0 0 1 pinlabel=A0 T 350 2300 5 8 0 1 0 2 1 pintype=in } P 0 3500 300 3500 1 0 0 { T 200 3550 5 8 1 1 0 6 1 pinnumber=6 T 200 3450 5 8 0 1 0 8 1 pinseq=6 T 350 3500 9 8 1 1 0 0 1 pinlabel=D1 T 350 3500 5 8 0 1 0 2 1 pintype=in } P 0 3900 300 3900 1 0 0 { T 200 3950 5 8 1 1 0 6 1 pinnumber=4 T 200 3850 5 8 0 1 0 8 1 pinseq=4 T 350 3900 9 8 1 1 0 0 1 pinlabel=D0 T 350 3900 5 8 0 1 0 2 1 pintype=in } P 0 1100 300 1100 1 0 0 { T 200 1150 5 8 1 1 0 6 1 pinnumber=13 T 200 1050 5 8 0 1 0 8 1 pinseq=13 T 350 1100 9 8 1 1 0 0 1 pinlabel=A3 T 350 1100 5 8 0 1 0 2 1 pintype=in } P 0 1500 300 1500 1 0 0 { T 200 1550 5 8 1 1 0 6 1 pinnumber=14 T 200 1450 5 8 0 1 0 8 1 pinseq=14 T 350 1500 9 8 1 1 0 0 1 pinlabel=A2 T 350 1500 5 8 0 1 0 2 1 pintype=in } P 0 1900 300 1900 1 0 0 { T 200 1950 5 8 1 1 0 6 1 pinnumber=15 T 200 1850 5 8 0 1 0 8 1 pinseq=15 T 350 1900 9 8 1 1 0 0 1 pinlabel=A1 T 350 1900 5 8 0 1 0 2 1 pintype=in } V 250 300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 300 0 300 1 0 1 { T 200 350 5 8 1 1 0 6 1 pinnumber=2 T 200 250 5 8 0 1 0 8 1 pinseq=2 T 350 300 9 8 1 1 0 0 1 pinlabel=\_CE\_ T 350 300 5 8 0 1 0 2 1 pintype=in } P 0 3100 300 3100 1 0 0 { T 200 3150 5 8 1 1 0 6 1 pinnumber=10 T 200 3050 5 8 0 1 0 8 1 pinseq=10 T 350 3100 9 8 1 1 0 0 1 pinlabel=D2 T 350 3100 5 8 0 1 0 2 1 pintype=in } P 0 2700 300 2700 1 0 0 { T 200 2750 5 8 1 1 0 6 1 pinnumber=12 T 200 2650 5 8 0 1 0 8 1 pinseq=12 T 350 2700 9 8 1 1 0 0 1 pinlabel=D3 T 350 2700 5 8 0 1 0 2 1 pintype=in } B 300 0 1400 4200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4450 5 10 0 0 0 0 1 device=74189 T 1700 4300 8 10 1 1 0 6 1 refdes=U? V 250 700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1750 3900 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1750 3500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1750 3100 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1750 2700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4650 5 10 0 0 0 0 1 footprint=DIP16 T 300 4850 5 10 0 0 0 0 1 description=64-bit RAM with tristate inverting outputs T 300 5450 5 10 0 0 0 0 1 numslots=0 T 300 5050 5 10 0 0 0 0 1 net=Vcc:16 T 300 5250 5 10 0 0 0 0 1 net=GND:8 T 300 4250 9 10 1 0 0 0 1 74189 geda-gaf-1.8.2/symbols/74/7409-2.sym0000664000175000017500000000252012204104272013307 00000000000000v 20031231 1 L 260 200 600 200 3 0 0 0 -1 -1 L 260 800 600 800 3 0 0 0 -1 -1 T 700 900 5 10 0 0 0 0 1 device=7409 T 700 1100 5 10 0 0 0 0 1 slot=1 T 700 1300 5 10 0 0 0 0 1 numslots=4 T 700 1500 5 10 0 0 0 0 1 slotdef=1:1,2,3 T 700 1700 5 10 0 0 0 0 1 slotdef=2:4,5,6 T 700 1900 5 10 0 0 0 0 1 slotdef=3:9,10,8 T 700 2100 5 10 0 0 0 0 1 slotdef=4:12,13,11 T 300 0 9 8 1 0 0 0 1 7409 A 0 500 400 312 97 3 0 0 0 -1 -1 V 250 700 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 300 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 200 700 0 700 1 0 1 { T 200 750 5 8 1 1 0 6 1 pinnumber=1 T 200 650 5 8 0 1 0 8 1 pinseq=1 T 350 700 9 8 0 1 0 0 1 pinlabel=A T 350 700 5 8 0 1 0 2 1 pintype=in } P 200 300 0 300 1 0 1 { T 200 350 5 8 1 1 0 6 1 pinnumber=2 T 200 250 5 8 0 1 0 8 1 pinseq=2 T 350 300 9 8 0 1 0 0 1 pinlabel=B T 350 300 5 8 0 1 0 2 1 pintype=in } A 600 600 400 270 76 3 0 0 0 -1 -1 A 600 400 400 14 76 3 0 0 0 -1 -1 V 1037 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1300 500 1087 500 1 0 0 { T 1100 550 5 8 1 1 0 0 1 pinnumber=3 T 1100 450 5 8 0 1 0 2 1 pinseq=3 T 950 500 9 8 0 1 0 6 1 pinlabel=Y T 950 500 5 8 0 1 0 8 1 pintype=oc } T 300 900 8 10 1 1 0 0 1 refdes=U? T 700 2300 5 10 0 0 0 0 1 footprint=DIP14 T 700 2500 5 10 0 0 0 0 1 description=4 AND gates with 2 inputs and open collector outputs T 700 2700 5 10 0 0 0 0 1 net=Vcc:14 T 700 2900 5 10 0 0 0 0 1 net=GND:7 geda-gaf-1.8.2/symbols/74/74161-2.sym0000664000175000017500000000612612204104272013374 00000000000000v 20070626 1 P 0 3400 300 3400 1 0 0 { T 200 3450 5 8 1 1 0 6 1 pinnumber=3 T 200 3350 5 8 0 1 0 8 1 pinseq=1 T 350 3400 9 8 1 1 0 0 1 pinlabel=P0 T 350 3400 5 8 0 1 0 2 1 pintype=in } P 2000 3400 1700 3400 1 0 0 { T 1800 3450 5 8 1 1 0 0 1 pinnumber=14 T 1800 3350 5 8 0 1 0 2 1 pinseq=2 T 1650 3400 9 8 1 1 0 6 1 pinlabel=Q0 T 1650 3400 5 8 0 1 0 8 1 pintype=out } P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=4 T 200 2950 5 8 0 1 0 8 1 pinseq=3 T 350 3000 9 8 1 1 0 0 1 pinlabel=P1 T 350 3000 5 8 0 1 0 2 1 pintype=in } P 2000 3000 1700 3000 1 0 0 { T 1800 3050 5 8 1 1 0 0 1 pinnumber=13 T 1800 2950 5 8 0 1 0 2 1 pinseq=4 T 1650 3000 9 8 1 1 0 6 1 pinlabel=Q1 T 1650 3000 5 8 0 1 0 8 1 pintype=out } P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=5 T 200 2550 5 8 0 1 0 8 1 pinseq=5 T 350 2600 9 8 1 1 0 0 1 pinlabel=P2 T 350 2600 5 8 0 1 0 2 1 pintype=in } P 2000 2600 1700 2600 1 0 0 { T 1800 2650 5 8 1 1 0 0 1 pinnumber=12 T 1800 2550 5 8 0 1 0 2 1 pinseq=6 T 1650 2600 9 8 1 1 0 6 1 pinlabel=Q2 T 1650 2600 5 8 0 1 0 8 1 pintype=out } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=6 T 200 2150 5 8 0 1 0 8 1 pinseq=7 T 350 2200 9 8 1 1 0 0 1 pinlabel=P3 T 350 2200 5 8 0 1 0 2 1 pintype=in } P 2000 2200 1700 2200 1 0 0 { T 1800 2250 5 8 1 1 0 0 1 pinnumber=11 T 1800 2150 5 8 0 1 0 2 1 pinseq=8 T 1650 2200 9 8 1 1 0 6 1 pinlabel=Q3 T 1650 2200 5 8 0 1 0 8 1 pintype=out } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=7 T 200 1750 5 8 0 1 0 8 1 pinseq=9 T 350 1800 9 8 1 1 0 0 1 pinlabel=ENP T 350 1800 5 8 0 1 0 2 1 pintype=in } P 2000 1800 1700 1800 1 0 0 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=15 T 1800 1750 5 8 0 1 0 2 1 pinseq=10 T 1650 1800 9 8 1 1 0 6 1 pinlabel=RCO T 1650 1800 5 8 0 1 0 8 1 pintype=out } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=10 T 200 1350 5 8 0 1 0 8 1 pinseq=11 T 350 1400 9 8 1 1 0 0 1 pinlabel=ENT T 350 1400 5 8 0 1 0 2 1 pintype=in } P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=2 T 200 550 5 8 0 1 0 8 1 pinseq=12 T 375 600 9 8 1 1 0 0 1 pinlabel=CLK T 375 600 5 8 0 1 0 2 1 pintype=clk } P 0 200 200 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=1 T 200 150 5 8 0 1 0 8 1 pinseq=13 T 350 200 9 8 1 1 0 0 1 pinlabel=\_CLR\_ T 350 200 5 8 0 1 0 2 1 pintype=in } B 300 0 1400 3700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 4140 5 10 0 0 0 0 1 device=74161 T 300 3940 5 10 0 0 0 0 1 footprint=DIP16 T 1700 3800 8 10 1 1 0 6 1 refdes=U? T 300 4350 5 10 0 0 0 0 1 description=synchronous 4-bit programmable binary counter with clear T 300 4950 5 10 0 0 0 0 1 numslots=0 T 300 4550 5 10 0 0 0 0 1 net=Vcc:16 T 300 4750 5 10 0 0 0 0 1 net=GND:8 T 300 3740 9 10 1 0 0 0 1 74161 T 300 5350 5 10 0 0 0 0 1 symversion=1.0 T 300 5150 5 10 0 0 0 0 1 documentation=http://www-s.ti.com/sc/ds/sn74hc161.pdf L 300 550 375 600 3 0 0 0 -1 -1 L 375 600 300 650 3 0 0 0 -1 -1 V 250 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1000 200 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=9 T 200 950 5 8 0 1 0 8 1 pinseq=14 T 350 1000 9 8 1 1 0 0 1 pinlabel=\_LOAD\_ T 350 1000 5 8 0 1 0 2 1 pintype=in } V 250 1000 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/symbols/74/7495-2.sym0000664000175000017500000000527412204104272013325 00000000000000v 20070626 1 P 0 2600 300 2600 1 0 0 { T 200 2650 5 8 1 1 0 6 1 pinnumber=2 T 200 2550 5 8 0 1 0 8 1 pinseq=1 T 350 2600 9 8 1 1 0 0 1 pinlabel=P0 T 350 2600 5 8 0 1 0 2 1 pintype=in } P 2000 2600 1700 2600 1 0 0 { T 1800 2650 5 8 1 1 0 0 1 pinnumber=13 T 1800 2550 5 8 0 1 0 2 1 pinseq=2 T 1650 2600 9 8 1 1 0 6 1 pinlabel=Q0 T 1650 2600 5 8 0 1 0 8 1 pintype=out } P 0 2200 300 2200 1 0 0 { T 200 2250 5 8 1 1 0 6 1 pinnumber=3 T 200 2150 5 8 0 1 0 8 1 pinseq=3 T 350 2200 9 8 1 1 0 0 1 pinlabel=P1 T 350 2200 5 8 0 1 0 2 1 pintype=in } P 2000 2200 1700 2200 1 0 0 { T 1800 2250 5 8 1 1 0 0 1 pinnumber=12 T 1800 2150 5 8 0 1 0 2 1 pinseq=4 T 1650 2200 9 8 1 1 0 6 1 pinlabel=Q1 T 1650 2200 5 8 0 1 0 8 1 pintype=out } P 0 1800 300 1800 1 0 0 { T 200 1850 5 8 1 1 0 6 1 pinnumber=4 T 200 1750 5 8 0 1 0 8 1 pinseq=5 T 350 1800 9 8 1 1 0 0 1 pinlabel=P2 T 350 1800 5 8 0 1 0 2 1 pintype=in } P 2000 1800 1700 1800 1 0 0 { T 1800 1850 5 8 1 1 0 0 1 pinnumber=11 T 1800 1750 5 8 0 1 0 2 1 pinseq=6 T 1650 1800 9 8 1 1 0 6 1 pinlabel=Q2 T 1650 1800 5 8 0 1 0 8 1 pintype=out } P 0 1400 300 1400 1 0 0 { T 200 1450 5 8 1 1 0 6 1 pinnumber=5 T 200 1350 5 8 0 1 0 8 1 pinseq=7 T 350 1400 9 8 1 1 0 0 1 pinlabel=P3 T 350 1400 5 8 0 1 0 2 1 pintype=in } P 2000 1400 1700 1400 1 0 0 { T 1800 1450 5 8 1 1 0 0 1 pinnumber=10 T 1800 1350 5 8 0 1 0 2 1 pinseq=8 T 1650 1400 9 8 1 1 0 6 1 pinlabel=Q3 T 1650 1400 5 8 0 1 0 8 1 pintype=out } P 0 1000 300 1000 1 0 0 { T 200 1050 5 8 1 1 0 6 1 pinnumber=6 T 200 950 5 8 0 1 0 8 1 pinseq=9 T 350 1000 9 8 1 1 0 0 1 pinlabel=LD/\_SH\_ T 350 1000 5 8 0 1 0 2 1 pintype=in } P 0 600 200 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=9 T 200 550 5 8 0 1 0 8 1 pinseq=10 T 375 600 9 8 1 1 0 0 1 pinlabel=\_CLK1\_ T 375 600 5 8 0 1 0 2 1 pintype=clk } P 0 200 200 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=8 T 200 150 5 8 0 1 0 8 1 pinseq=11 T 375 200 9 8 1 1 0 0 1 pinlabel=\_CLK2\_ T 375 200 5 8 0 1 0 2 1 pintype=clk } B 300 0 1400 3300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 3740 5 10 0 0 0 0 1 device=7495 T 300 3540 5 10 0 0 0 0 1 footprint=DIP14 T 1700 3400 8 10 1 1 0 6 1 refdes=U? T 300 3950 5 10 0 0 0 0 1 description=4-bit shift register, parallel load, right and left shift T 300 4150 5 10 0 0 0 0 1 net=Vcc:14 T 300 4350 5 10 0 0 0 0 1 net=GND:7 V 250 600 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 250 200 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 375 200 300 250 3 0 0 0 -1 -1 L 375 200 300 150 3 0 0 0 -1 -1 L 375 600 300 550 3 0 0 0 -1 -1 L 375 600 300 650 3 0 0 0 -1 -1 T 300 3340 9 10 1 0 0 0 1 7495 P 0 3000 300 3000 1 0 0 { T 200 3050 5 8 1 1 0 6 1 pinnumber=1 T 200 2950 5 8 0 1 0 8 1 pinseq=12 T 350 3000 9 8 1 1 0 0 1 pinlabel=SER T 350 3000 5 8 0 1 0 2 1 pintype=in } T 300 4550 5 10 0 0 0 0 1 numslots=0 geda-gaf-1.8.2/symbols/74/7485-1.sym0000664000175000017500000000560612204104272013322 00000000000000v 20031231 1 P 0 4600 300 4600 1 0 0 { T 200 4650 5 8 1 1 0 6 1 pinnumber=10 T 200 4550 5 8 0 1 0 8 1 pinseq=1 T 350 4600 9 8 1 1 0 0 1 pinlabel=A0 T 350 4600 5 8 0 1 0 2 1 pintype=in } P 2000 4600 1700 4600 1 0 0 { T 1800 4650 5 8 1 1 0 0 1 pinnumber=5 T 1800 4550 5 8 0 1 0 2 1 pinseq=2 T 1650 4600 9 8 1 1 0 6 1 pinlabel=A>Bo T 1650 4600 5 8 0 1 0 8 1 pintype=out } P 0 4200 300 4200 1 0 0 { T 200 4250 5 8 1 1 0 6 1 pinnumber=12 T 200 4150 5 8 0 1 0 8 1 pinseq=3 T 350 4200 9 8 1 1 0 0 1 pinlabel=A1 T 350 4200 5 8 0 1 0 2 1 pintype=in } P 2000 4200 1700 4200 1 0 0 { T 1800 4250 5 8 1 1 0 0 1 pinnumber=6 T 1800 4150 5 8 0 1 0 2 1 pinseq=4 T 1650 4200 9 8 1 1 0 6 1 pinlabel=A=Bo T 1650 4200 5 8 0 1 0 8 1 pintype=out } P 0 3800 300 3800 1 0 0 { T 200 3850 5 8 1 1 0 6 1 pinnumber=13 T 200 3750 5 8 0 1 0 8 1 pinseq=5 T 350 3800 9 8 1 1 0 0 1 pinlabel=A2 T 350 3800 5 8 0 1 0 2 1 pintype=in } P 2000 3800 1700 3800 1 0 0 { T 1800 3850 5 8 1 1 0 0 1 pinnumber=7 T 1800 3750 5 8 0 1 0 2 1 pinseq=6 T 1650 3800 9 8 1 1 0 6 1 pinlabel=ABi T 350 1000 5 8 0 1 0 2 1 pintype=in } P 0 600 300 600 1 0 0 { T 200 650 5 8 1 1 0 6 1 pinnumber=3 T 200 550 5 8 0 1 0 8 1 pinseq=13 T 350 600 9 8 1 1 0 0 1 pinlabel=A=Bi T 350 600 5 8 0 1 0 2 1 pintype=in } P 0 200 300 200 1 0 0 { T 200 250 5 8 1 1 0 6 1 pinnumber=2 T 200 150 5 8 0 1 0 8 1 pinseq=14 T 350 200 9 8 1 1 0 0 1 pinlabel=A$dev$i-1.sym done done geda-gaf-1.8.2/symbols/vhdl/nand7-1.sym0000664000175000017500000000265412204104273014426 00000000000000v 20031231 1 L 300 1000 700 1000 3 0 0 0 -1 -1 L 300 400 700 400 3 0 0 0 -1 -1 L 300 400 300 1000 3 0 0 0 -1 -1 A 700 700 300 270 180 3 0 0 0 -1 -1 L 300 1000 300 1400 3 0 0 0 -1 -1 L 300 400 300 0 3 0 0 0 -1 -1 V 1050 700 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1100 700 1300 700 1 0 1 { T 1000 700 5 8 0 0 0 0 1 pinnumber=OUT0 T 1000 700 5 8 0 0 0 0 1 pinseq=1 T 1000 700 5 8 0 0 0 0 1 pintype=OUT } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 T 300 100 5 8 0 0 0 0 1 pintype=IN } P 300 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 T 300 300 5 8 0 0 0 0 1 pintype=IN } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 T 300 500 5 8 0 0 0 0 1 pintype=IN } P 300 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 T 300 700 5 8 0 0 0 0 1 pintype=IN } P 300 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 T 300 900 5 8 0 0 0 0 1 pintype=IN } P 300 1100 0 1100 1 0 1 { T 300 1100 5 8 0 0 0 0 1 pinnumber=IN5 T 300 1100 5 8 0 0 0 0 1 pinseq=7 T 300 1100 5 8 0 0 0 0 1 pintype=IN } P 300 1300 0 1300 1 0 1 { T 300 1300 5 8 0 0 0 0 1 pinnumber=IN6 T 300 1300 5 8 0 0 0 0 1 pinseq=8 T 300 1300 5 8 0 0 0 0 1 pintype=IN } T 400 300 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=nand7 T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/vhdl/xnor7-1.sym0000664000175000017500000000276112204104273014473 00000000000000v 20031231 1 L 400 1000 600 1000 3 0 0 0 -1 -1 L 400 400 600 400 3 0 0 0 -1 -1 A 40 700 400 312 97 3 0 0 0 -1 -1 A 140 700 400 312 97 3 0 0 0 -1 -1 A 600 800 400 270 76 3 0 0 0 -1 -1 A 600 600 400 14 76 3 0 0 0 -1 -1 L 300 1000 300 1400 3 0 0 0 -1 -1 L 300 400 300 0 3 0 0 0 -1 -1 V 1050 700 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1100 700 1300 700 1 0 1 { T 1000 700 5 8 0 0 0 0 1 pinnumber=OUT0 T 1000 700 5 8 0 0 0 0 1 pinseq=1 T 1000 700 5 8 0 0 0 0 1 pintype=OUT } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 T 300 100 5 8 0 0 0 0 1 pintype=IN } P 300 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 T 300 300 5 8 0 0 0 0 1 pintype=IN } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 T 300 500 5 8 0 0 0 0 1 pintype=IN } P 300 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 T 300 700 5 8 0 0 0 0 1 pintype=IN } P 300 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 T 300 900 5 8 0 0 0 0 1 pintype=IN } P 300 1100 0 1100 1 0 1 { T 300 1100 5 8 0 0 0 0 1 pinnumber=IN5 T 300 1100 5 8 0 0 0 0 1 pinseq=7 T 300 1100 5 8 0 0 0 0 1 pintype=IN } P 300 1300 0 1300 1 0 1 { T 300 1300 5 8 0 0 0 0 1 pinnumber=IN6 T 300 1300 5 8 0 0 0 0 1 pinseq=8 T 300 1300 5 8 0 0 0 0 1 pintype=IN } T 400 300 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=xnor7 T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/vhdl/or2-1.sym0000664000175000017500000000127512204104273014117 00000000000000v 20031231 1 L 300 600 600 600 3 0 0 0 -1 -1 L 300 0 600 0 3 0 0 0 -1 -1 A 40 300 400 312 97 3 0 0 0 -1 -1 A 600 400 400 270 76 3 0 0 0 -1 -1 A 600 200 400 14 76 3 0 0 0 -1 -1 P 1000 300 1300 300 1 0 1 { T 1000 300 5 8 0 0 0 0 1 pinnumber=OUT0 T 1000 300 5 8 0 0 0 0 1 pinseq=1 T 1000 300 5 8 0 0 0 0 1 pintype=OUT } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 T 300 100 5 8 0 0 0 0 1 pintype=IN } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN1 T 300 500 5 8 0 0 0 0 1 pinseq=3 T 300 500 5 8 0 0 0 0 1 pintype=IN } T 400 -100 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=or2 T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/vhdl/opad-1.sym0000664000175000017500000000056112204104273014335 00000000000000v 20031231 1 L 200 100 300 0 3 0 0 0 -1 -1 L 300 0 900 0 3 0 0 0 -1 -1 L 900 0 900 200 3 0 0 0 -1 -1 L 900 200 300 200 3 0 0 0 -1 -1 L 300 200 200 100 3 0 0 0 -1 -1 P 0 100 200 100 1 0 0 { T 302 35 5 10 0 1 0 0 1 pinnumber=OPAD T 302 35 5 10 0 0 0 0 1 pinseq=1 T 302 35 5 10 0 1 0 0 1 pintype=IN } T 302 218 5 10 0 1 0 0 1 device=OPAD T 500 50 5 10 1 1 0 6 1 refdes=P? geda-gaf-1.8.2/symbols/vhdl/xor7-1.sym0000664000175000017500000000270412204104273014312 00000000000000v 20031231 1 L 400 1000 600 1000 3 0 0 0 -1 -1 L 400 400 600 400 3 0 0 0 -1 -1 A 40 700 400 312 97 3 0 0 0 -1 -1 A 140 700 400 312 97 3 0 0 0 -1 -1 A 600 800 400 270 76 3 0 0 0 -1 -1 A 600 600 400 14 76 3 0 0 0 -1 -1 L 300 1000 300 1400 3 0 0 0 -1 -1 L 300 400 300 0 3 0 0 0 -1 -1 P 1000 700 1300 700 1 0 1 { T 1000 700 5 8 0 0 0 0 1 pinnumber=OUT0 T 1000 700 5 8 0 0 0 0 1 pinseq=1 T 1000 700 5 8 0 0 0 0 1 pintype=OUT } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 T 300 100 5 8 0 0 0 0 1 pintype=IN } P 300 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 T 300 300 5 8 0 0 0 0 1 pintype=IN } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 T 300 500 5 8 0 0 0 0 1 pintype=IN } P 300 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 T 300 700 5 8 0 0 0 0 1 pintype=IN } P 300 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 T 300 900 5 8 0 0 0 0 1 pintype=IN } P 300 1100 0 1100 1 0 1 { T 300 1100 5 8 0 0 0 0 1 pinnumber=IN5 T 300 1100 5 8 0 0 0 0 1 pinseq=7 T 300 1100 5 8 0 0 0 0 1 pintype=IN } P 300 1300 0 1300 1 0 1 { T 300 1300 5 8 0 0 0 0 1 pinnumber=IN6 T 300 1300 5 8 0 0 0 0 1 pinseq=8 T 300 1300 5 8 0 0 0 0 1 pintype=IN } T 400 300 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=xor7 T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/vhdl/xnor8-1.sym0000664000175000017500000000317212204104273014471 00000000000000v 20031231 1 L 400 1100 600 1100 3 0 0 0 -1 -1 L 400 500 600 500 3 0 0 0 -1 -1 A 40 800 400 312 97 3 0 0 0 -1 -1 A 140 800 400 312 97 3 0 0 0 -1 -1 A 600 900 400 270 76 3 0 0 0 -1 -1 A 600 700 400 14 76 3 0 0 0 -1 -1 L 300 1100 300 1600 3 0 0 0 -1 -1 L 300 500 300 0 3 0 0 0 -1 -1 V 1050 800 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1100 800 1300 800 1 0 1 { T 1000 800 5 8 0 0 0 0 1 pinnumber=OUT0 T 1000 800 5 8 0 0 0 0 1 pinseq=1 T 1000 800 5 8 0 0 0 0 1 pintype=OUT } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 T 300 100 5 8 0 0 0 0 1 pintype=IN } P 300 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 T 300 300 5 8 0 0 0 0 1 pintype=IN } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 T 300 500 5 8 0 0 0 0 1 pintype=IN } P 300 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 T 300 700 5 8 0 0 0 0 1 pintype=IN } P 300 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 T 300 900 5 8 0 0 0 0 1 pintype=IN } P 300 1100 0 1100 1 0 1 { T 300 1100 5 8 0 0 0 0 1 pinnumber=IN5 T 300 1100 5 8 0 0 0 0 1 pinseq=7 T 300 1100 5 8 0 0 0 0 1 pintype=IN } P 300 1300 0 1300 1 0 1 { T 300 1300 5 8 0 0 0 0 1 pinnumber=IN6 T 300 1300 5 8 0 0 0 0 1 pinseq=8 T 300 1300 5 8 0 0 0 0 1 pintype=IN } P 300 1500 0 1500 1 0 1 { T 300 1500 5 8 0 0 0 0 1 pinnumber=IN7 T 300 1500 5 8 0 0 0 0 1 pinseq=9 T 300 1500 5 8 0 0 0 0 1 pintype=IN } T 400 400 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=xnor8 T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/vhdl/xor2-1.sym0000664000175000017500000000134112204104273014301 00000000000000v 20031231 1 L 400 600 600 600 3 0 0 0 -1 -1 L 400 0 600 0 3 0 0 0 -1 -1 A 40 300 400 312 97 3 0 0 0 -1 -1 A 140 300 400 312 97 3 0 0 0 -1 -1 A 600 400 400 270 76 3 0 0 0 -1 -1 A 600 200 400 14 76 3 0 0 0 -1 -1 P 1000 300 1300 300 1 0 1 { T 1000 300 5 8 0 0 0 0 1 pinnumber=OUT0 T 1000 300 5 8 0 0 0 0 1 pinseq=1 T 1000 300 5 8 0 0 0 0 1 pintype=OUT } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 T 300 100 5 8 0 0 0 0 1 pintype=IN } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN1 T 300 500 5 8 0 0 0 0 1 pinseq=3 T 300 500 5 8 0 0 0 0 1 pintype=IN } T 400 -100 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=xor2 T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/vhdl/and8-1.sym0000664000175000017500000000301012204104273014234 00000000000000v 20031231 1 L 300 1100 700 1100 3 0 0 0 -1 -1 L 300 500 700 500 3 0 0 0 -1 -1 L 300 500 300 1100 3 0 0 0 -1 -1 A 700 800 300 270 180 3 0 0 0 -1 -1 L 300 1100 300 1600 3 0 0 0 -1 -1 L 300 500 300 0 3 0 0 0 -1 -1 P 1000 800 1300 800 1 0 1 { T 1000 800 5 8 0 0 0 0 1 pinnumber=OUT0 T 1000 800 5 8 0 0 0 0 1 pinseq=1 T 1000 800 5 8 0 0 0 0 1 pintype=OUT } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 T 300 100 5 8 0 0 0 0 1 pintype=IN } P 300 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 T 300 300 5 8 0 0 0 0 1 pintype=IN } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 T 300 500 5 8 0 0 0 0 1 pintype=IN } P 300 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 T 300 700 5 8 0 0 0 0 1 pintype=IN } P 300 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 T 300 900 5 8 0 0 0 0 1 pintype=IN } P 300 1100 0 1100 1 0 1 { T 300 1100 5 8 0 0 0 0 1 pinnumber=IN5 T 300 1100 5 8 0 0 0 0 1 pinseq=7 T 300 1100 5 8 0 0 0 0 1 pintype=IN } P 300 1300 0 1300 1 0 1 { T 300 1300 5 8 0 0 0 0 1 pinnumber=IN6 T 300 1300 5 8 0 0 0 0 1 pinseq=8 T 300 1300 5 8 0 0 0 0 1 pintype=IN } P 300 1500 0 1500 1 0 1 { T 300 1500 5 8 0 0 0 0 1 pinnumber=IN7 T 300 1500 5 8 0 0 0 0 1 pinseq=9 T 300 1500 5 8 0 0 0 0 1 pintype=IN } T 400 400 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=and8 T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/vhdl/xnor6-1.sym0000664000175000017500000000254512204104273014472 00000000000000v 20031231 1 L 400 900 600 900 3 0 0 0 -1 -1 L 400 300 600 300 3 0 0 0 -1 -1 A 40 600 400 312 97 3 0 0 0 -1 -1 A 140 600 400 312 97 3 0 0 0 -1 -1 A 600 700 400 270 76 3 0 0 0 -1 -1 A 600 500 400 14 76 3 0 0 0 -1 -1 L 300 900 300 1200 3 0 0 0 -1 -1 L 300 300 300 0 3 0 0 0 -1 -1 V 1050 600 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1100 600 1300 600 1 0 1 { T 1000 600 5 8 0 0 0 0 1 pinnumber=OUT0 T 1000 600 5 8 0 0 0 0 1 pinseq=1 T 1000 600 5 8 0 0 0 0 1 pintype=OUT } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 T 300 100 5 8 0 0 0 0 1 pintype=IN } P 300 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 T 300 300 5 8 0 0 0 0 1 pintype=IN } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 T 300 500 5 8 0 0 0 0 1 pintype=IN } P 300 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 T 300 700 5 8 0 0 0 0 1 pintype=IN } P 300 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 T 300 900 5 8 0 0 0 0 1 pintype=IN } P 300 1100 0 1100 1 0 1 { T 300 1100 5 8 0 0 0 0 1 pinnumber=IN5 T 300 1100 5 8 0 0 0 0 1 pinseq=7 T 300 1100 5 8 0 0 0 0 1 pintype=IN } T 400 200 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=xnor6 T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/vhdl/xnor3-1.sym0000664000175000017500000000162212204104273014462 00000000000000v 20031231 1 L 400 600 600 600 3 0 0 0 -1 -1 L 400 0 600 0 3 0 0 0 -1 -1 A 40 300 400 312 97 3 0 0 0 -1 -1 A 140 300 400 312 97 3 0 0 0 -1 -1 A 600 400 400 270 76 3 0 0 0 -1 -1 A 600 200 400 14 76 3 0 0 0 -1 -1 V 1050 300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 1100 300 1300 300 1 0 1 { T 1000 300 5 8 0 0 0 0 1 pinnumber=OUT0 T 1000 300 5 8 0 0 0 0 1 pinseq=1 T 1000 300 5 8 0 0 0 0 1 pintype=OUT } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 T 300 100 5 8 0 0 0 0 1 pintype=IN } P 300 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 T 300 300 5 8 0 0 0 0 1 pintype=IN } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 T 300 500 5 8 0 0 0 0 1 pintype=IN } T 400 -100 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=xnor3 T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/vhdl/xor8-1.sym0000664000175000017500000000311512204104273014310 00000000000000v 20031231 1 L 400 1100 600 1100 3 0 0 0 -1 -1 L 400 500 600 500 3 0 0 0 -1 -1 A 40 800 400 312 97 3 0 0 0 -1 -1 A 140 800 400 312 97 3 0 0 0 -1 -1 A 600 900 400 270 76 3 0 0 0 -1 -1 A 600 700 400 14 76 3 0 0 0 -1 -1 L 300 1100 300 1600 3 0 0 0 -1 -1 L 300 500 300 0 3 0 0 0 -1 -1 P 1000 800 1300 800 1 0 1 { T 1000 800 5 8 0 0 0 0 1 pinnumber=OUT0 T 1000 800 5 8 0 0 0 0 1 pinseq=1 T 1000 800 5 8 0 0 0 0 1 pintype=OUT } P 300 100 0 100 1 0 1 { T 300 100 5 8 0 0 0 0 1 pinnumber=IN0 T 300 100 5 8 0 0 0 0 1 pinseq=2 T 300 100 5 8 0 0 0 0 1 pintype=IN } P 300 300 0 300 1 0 1 { T 300 300 5 8 0 0 0 0 1 pinnumber=IN1 T 300 300 5 8 0 0 0 0 1 pinseq=3 T 300 300 5 8 0 0 0 0 1 pintype=IN } P 300 500 0 500 1 0 1 { T 300 500 5 8 0 0 0 0 1 pinnumber=IN2 T 300 500 5 8 0 0 0 0 1 pinseq=4 T 300 500 5 8 0 0 0 0 1 pintype=IN } P 300 700 0 700 1 0 1 { T 300 700 5 8 0 0 0 0 1 pinnumber=IN3 T 300 700 5 8 0 0 0 0 1 pinseq=5 T 300 700 5 8 0 0 0 0 1 pintype=IN } P 300 900 0 900 1 0 1 { T 300 900 5 8 0 0 0 0 1 pinnumber=IN4 T 300 900 5 8 0 0 0 0 1 pinseq=6 T 300 900 5 8 0 0 0 0 1 pintype=IN } P 300 1100 0 1100 1 0 1 { T 300 1100 5 8 0 0 0 0 1 pinnumber=IN5 T 300 1100 5 8 0 0 0 0 1 pinseq=7 T 300 1100 5 8 0 0 0 0 1 pintype=IN } P 300 1300 0 1300 1 0 1 { T 300 1300 5 8 0 0 0 0 1 pinnumber=IN6 T 300 1300 5 8 0 0 0 0 1 pinseq=8 T 300 1300 5 8 0 0 0 0 1 pintype=IN } P 300 1500 0 1500 1 0 1 { T 300 1500 5 8 0 0 0 0 1 pinnumber=IN7 T 300 1500 5 8 0 0 0 0 1 pinseq=9 T 300 1500 5 8 0 0 0 0 1 pintype=IN } T 400 400 5 10 1 1 0 2 1 refdes=U? T 400 100 5 8 0 0 0 0 1 device=xor8 T 400 200 5 8 0 0 0 0 1 VERILOG_PORTS=POSITIONAL geda-gaf-1.8.2/symbols/relay/0000775000175000017500000000000012220655765012776 500000000000000geda-gaf-1.8.2/symbols/relay/aromat-tq4.sym0000664000175000017500000001132012204104272015416 00000000000000v 20031231 1 T 100 1200 5 6 0 1 0 0 1 device=AROMAT-TQ4 T 100 1900 5 6 1 1 0 0 1 refdes=K? V 275 800 25 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 0 800 250 800 1 0 0 { T 190 820 3 6 1 1 0 0 1 pinnumber=4 T 190 820 3 6 0 0 0 0 1 pinseq=4 T 350 800 3 6 0 1 0 0 1 pinlabel=COMMON1 T 190 820 3 6 0 1 0 0 1 pintype=pas } P 500 900 800 900 1 0 1 { T 550 920 3 6 1 1 0 0 1 pinnumber=3 T 550 920 3 6 0 0 0 0 1 pinseq=3 T 450 900 3 6 0 1 0 0 1 pinlabel=NC1 T 550 920 3 6 0 1 0 0 1 pintype=pas } P 500 700 800 700 1 0 1 { T 550 720 3 6 1 1 0 0 1 pinnumber=5 T 550 720 3 6 0 0 0 0 1 pinseq=5 T 450 700 3 6 0 1 0 0 1 pinlabel=NO1 T 550 720 3 6 0 1 0 0 1 pintype=pas } V 275 400 25 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 0 400 250 400 1 0 0 { T 178 420 3 6 1 1 0 0 1 pinnumber=7 T 178 420 3 6 0 0 0 0 1 pinseq=7 T 350 400 3 6 0 1 0 0 1 pinlabel=COMMON2 T 178 420 3 6 0 1 0 0 1 pintype=pas } P 500 500 800 500 1 0 1 { T 550 520 3 6 1 1 0 0 1 pinnumber=6 T 550 520 3 6 0 0 0 0 1 pinseq=6 T 450 500 3 6 0 1 0 0 1 pinlabel=NC2 T 550 520 3 6 0 1 0 0 1 pintype=pas } P 500 300 800 300 1 0 1 { T 550 320 3 6 1 1 0 0 1 pinnumber=8 T 550 320 3 6 0 0 0 0 1 pinseq=8 T 450 300 3 6 0 1 0 0 1 pinlabel=NO2 T 550 320 3 6 0 1 0 0 1 pintype=pas } P 0 200 300 200 1 0 0 { T 202 220 3 6 1 1 0 0 1 pinnumber=1 T 202 220 3 6 0 0 0 0 1 pinseq=1 T 350 200 3 6 0 1 0 0 1 pinlabel=COIL1 T 202 220 3 6 0 1 0 0 1 pintype=pas } P 0 100 300 100 1 0 0 { T 184 120 3 6 1 1 0 0 1 pinnumber=20 T 184 120 3 6 0 0 0 0 1 pinseq=20 T 350 100 3 6 0 1 0 0 1 pinlabel=COIL2 T 184 120 3 6 0 1 0 0 1 pintype=pas } L 450 770 490 730 3 0 0 0 -1 -1 L 490 730 410 730 3 0 0 0 -1 -1 L 410 730 450 770 3 0 0 0 -1 -1 L 450 800 490 840 3 0 0 0 -1 -1 L 490 840 410 840 3 0 0 0 -1 -1 L 410 840 450 800 3 0 0 0 -1 -1 L 450 370 490 330 3 0 0 0 -1 -1 L 490 330 410 330 3 0 0 0 -1 -1 L 410 330 450 370 3 0 0 0 -1 -1 L 450 400 490 440 3 0 0 0 -1 -1 L 490 440 410 440 3 0 0 0 -1 -1 L 410 440 450 400 3 0 0 0 -1 -1 L 300 800 500 800 3 0 0 0 -1 -1 L 450 840 450 900 3 0 0 0 -1 -1 L 450 900 500 900 3 0 0 0 -1 -1 L 450 730 450 700 3 0 0 0 -1 -1 L 450 700 500 700 3 0 0 0 -1 -1 L 300 400 500 400 3 0 0 0 -1 -1 L 450 440 450 500 3 0 0 0 -1 -1 L 450 500 500 500 3 0 0 0 -1 -1 L 450 330 450 300 3 0 0 0 -1 -1 L 450 300 500 300 3 0 0 0 -1 -1 L 350 250 350 50 3 0 0 0 -1 -1 L 350 50 400 50 3 0 0 0 -1 -1 L 400 50 400 250 3 0 0 0 -1 -1 L 400 250 350 250 3 0 0 0 -1 -1 L 300 200 420 200 3 0 0 0 -1 -1 L 420 160 400 160 3 0 0 0 -1 -1 L 350 160 330 160 3 0 0 0 -1 -1 L 330 120 420 120 3 0 0 0 -1 -1 L 420 80 400 80 3 0 0 0 -1 -1 L 340 80 350 80 3 0 0 0 -1 -1 A 420 180 20 0 90 3 0 0 0 -1 -1 A 420 180 20 270 90 3 0 0 0 -1 -1 A 330 140 20 270 270 3 0 0 0 -1 -1 A 330 140 20 180 90 3 0 0 0 -1 -1 A 420 100 20 0 90 3 0 0 0 -1 -1 A 420 100 20 270 90 3 0 0 0 -1 -1 A 300 80 20 26 64 3 0 0 0 -1 -1 A 340 100 20 207 63 3 0 0 0 -1 -1 T 100 1300 8 10 0 0 0 0 1 class=IC T 100 1500 8 10 0 0 0 0 1 pins=8 V 275 1600 25 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 0 1600 250 1600 1 0 0 { T 190 1620 3 6 1 1 0 0 1 pinnumber=14 T 190 1620 3 6 0 0 0 0 1 pinseq=14 T 350 1600 3 6 0 1 0 0 1 pinlabel=COMMON1 T 190 1620 3 6 0 1 0 0 1 pintype=pas } P 500 1700 800 1700 1 0 1 { T 550 1720 3 6 1 1 0 0 1 pinnumber=15 T 550 1720 3 6 0 0 0 0 1 pinseq=15 T 450 1700 3 6 0 1 0 0 1 pinlabel=NC1 T 550 1720 3 6 0 1 0 0 1 pintype=pas } P 500 1500 800 1500 1 0 1 { T 550 1520 3 6 1 1 0 0 1 pinnumber=13 T 550 1520 3 6 0 0 0 0 1 pinseq=13 T 450 1500 3 6 0 1 0 0 1 pinlabel=NO1 T 550 1520 3 6 0 1 0 0 1 pintype=pas } V 275 1200 25 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 0 1200 250 1200 1 0 0 { T 178 1220 3 6 1 1 0 0 1 pinnumber=17 T 178 1220 3 6 0 0 0 0 1 pinseq=17 T 350 1200 3 6 0 1 0 0 1 pinlabel=COMMON2 T 178 1220 3 6 0 1 0 0 1 pintype=pas } P 500 1300 800 1300 1 0 1 { T 550 1320 3 6 1 1 0 0 1 pinnumber=18 T 550 1320 3 6 0 0 0 0 1 pinseq=18 T 450 1300 3 6 0 1 0 0 1 pinlabel=NC2 T 550 1320 3 6 0 1 0 0 1 pintype=pas } P 500 1100 800 1100 1 0 1 { T 550 1120 3 6 1 1 0 0 1 pinnumber=16 T 550 1120 3 6 0 0 0 0 1 pinseq=16 T 450 1100 3 6 0 1 0 0 1 pinlabel=NO2 T 550 1120 3 6 0 1 0 0 1 pintype=pas } L 450 1570 490 1530 3 0 0 0 -1 -1 L 490 1530 410 1530 3 0 0 0 -1 -1 L 410 1530 450 1570 3 0 0 0 -1 -1 L 450 1600 490 1640 3 0 0 0 -1 -1 L 490 1640 410 1640 3 0 0 0 -1 -1 L 410 1640 450 1600 3 0 0 0 -1 -1 L 450 1170 490 1130 3 0 0 0 -1 -1 L 490 1130 410 1130 3 0 0 0 -1 -1 L 410 1130 450 1170 3 0 0 0 -1 -1 L 450 1200 490 1240 3 0 0 0 -1 -1 L 490 1240 410 1240 3 0 0 0 -1 -1 L 410 1240 450 1200 3 0 0 0 -1 -1 L 300 1600 500 1600 3 0 0 0 -1 -1 L 450 1640 450 1700 3 0 0 0 -1 -1 L 450 1700 500 1700 3 0 0 0 -1 -1 L 450 1530 450 1500 3 0 0 0 -1 -1 L 450 1500 500 1500 3 0 0 0 -1 -1 L 300 1200 500 1200 3 0 0 0 -1 -1 L 450 1240 450 1300 3 0 0 0 -1 -1 L 450 1300 500 1300 3 0 0 0 -1 -1 L 450 1130 450 1100 3 0 0 0 -1 -1 L 450 1100 500 1100 3 0 0 0 -1 -1 geda-gaf-1.8.2/symbols/relay/omron-G5V-1-DCx-1.sym0000664000175000017500000000431212204104272016131 00000000000000v 20031231 1 T 100 1200 5 6 0 1 0 0 1 device=OMRON_G2R-24-DC5 V 375 400 25 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 0 400 300 400 1 0 0 { T 178 420 3 6 1 1 0 0 1 pinnumber=6 T 178 420 3 6 0 0 0 0 1 pinseq=6 T 350 400 3 6 0 1 0 0 1 pinlabel=COMMON2 T 178 420 3 6 0 1 0 0 1 pintype=pas } P 700 500 1000 500 1 0 1 { T 750 520 3 6 1 1 0 0 1 pinnumber=1 T 750 520 3 6 0 0 0 0 1 pinseq=1 T 650 500 3 6 0 1 0 0 1 pinlabel=NC2 T 750 520 3 6 0 1 0 0 1 pintype=pas } P 700 300 1000 300 1 0 1 { T 750 320 3 6 1 1 0 0 1 pinnumber=10 T 750 320 3 6 0 0 0 0 1 pinseq=10 T 650 300 3 6 0 1 0 0 1 pinlabel=NO2 T 750 320 3 6 0 1 0 0 1 pintype=pas } P 0 200 300 200 1 0 0 { T 202 220 3 6 1 1 0 0 1 pinnumber=2 T 202 220 3 6 0 0 0 0 1 pinseq=2 T 350 200 3 6 0 1 0 0 1 pinlabel=COIL1 T 202 220 3 6 0 1 0 0 1 pintype=pas } P 0 100 300 100 1 0 0 { T 184 120 3 6 1 1 0 0 1 pinnumber=9 T 184 120 3 6 0 0 0 0 1 pinseq=9 T 350 100 3 6 0 1 0 0 1 pinlabel=COIL2 T 184 120 3 6 0 1 0 0 1 pintype=pas } L 550 370 590 330 3 0 0 0 -1 -1 L 590 330 510 330 3 0 0 0 -1 -1 L 510 330 550 370 3 0 0 0 -1 -1 L 550 400 590 440 3 0 0 0 -1 -1 L 590 440 510 440 3 0 0 0 -1 -1 L 510 440 550 400 3 0 0 0 -1 -1 L 400 400 600 400 3 0 0 0 -1 -1 L 550 440 550 500 3 0 0 0 -1 -1 L 550 500 600 500 3 0 0 0 -1 -1 L 550 330 550 300 3 0 0 0 -1 -1 L 550 300 600 300 3 0 0 0 -1 -1 L 450 250 450 50 3 0 0 0 -1 -1 L 450 50 500 50 3 0 0 0 -1 -1 L 500 50 500 250 3 0 0 0 -1 -1 L 500 250 450 250 3 0 0 0 -1 -1 L 400 200 520 200 3 0 0 0 -1 -1 L 520 160 500 160 3 0 0 0 -1 -1 L 450 160 430 160 3 0 0 0 -1 -1 L 430 120 520 120 3 0 0 0 -1 -1 L 520 80 500 80 3 0 0 0 -1 -1 L 440 80 450 80 3 0 0 0 -1 -1 A 520 180 20 0 90 3 0 0 0 -1 -1 A 520 180 20 270 90 3 0 0 0 -1 -1 A 430 140 20 270 270 3 0 0 0 -1 -1 A 430 140 20 180 90 3 0 0 0 -1 -1 A 520 100 20 0 90 3 0 0 0 -1 -1 A 520 100 20 270 90 3 0 0 0 -1 -1 A 400 80 20 26 64 3 0 0 0 -1 -1 A 440 100 20 207 63 3 0 0 0 -1 -1 T 100 1300 8 10 0 0 0 0 1 class=IC T 100 1500 8 10 0 0 0 0 1 pins=8 B 300 0 400 600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 600 500 700 500 3 0 0 0 -1 -1 L 600 300 700 300 3 0 0 0 -1 -1 L 400 200 300 200 3 0 0 0 -1 -1 L 400 100 300 100 3 0 0 0 -1 -1 L 350 400 300 400 3 0 0 0 -1 -1 T 300 700 8 8 1 1 0 1 1 device=OMRON G5V-1 T 300 800 8 10 1 1 0 0 1 refdes=K? geda-gaf-1.8.2/symbols/relay/omron_g2r_24_dc5.sym0000664000175000017500000000603212204104272016375 00000000000000v 20031231 1 T 100 1200 5 6 0 1 0 0 1 device=OMRON_G2R-24-DC5 T 100 1100 5 6 1 1 0 0 1 refdes=K? V 275 800 25 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 0 800 250 800 1 0 0 { T 190 820 3 6 1 1 0 0 1 pinnumber=3 T 190 820 3 6 0 0 0 0 1 pinseq=3 T 350 800 3 6 0 1 0 0 1 pinlabel=COMMON1 T 190 820 3 6 0 1 0 0 1 pintype=pas } P 500 900 800 900 1 0 1 { T 550 920 3 6 1 1 0 0 1 pinnumber=2 T 550 920 3 6 0 0 0 0 1 pinseq=2 T 450 900 3 6 0 1 0 0 1 pinlabel=NC1 T 550 920 3 6 0 1 0 0 1 pintype=pas } P 500 700 800 700 1 0 1 { T 550 720 3 6 1 1 0 0 1 pinnumber=4 T 550 720 3 6 0 0 0 0 1 pinseq=4 T 450 700 3 6 0 1 0 0 1 pinlabel=NO1 T 550 720 3 6 0 1 0 0 1 pintype=pas } V 275 400 25 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 0 400 250 400 1 0 0 { T 178 420 3 6 1 1 0 0 1 pinnumber=6 T 178 420 3 6 0 0 0 0 1 pinseq=6 T 350 400 3 6 0 1 0 0 1 pinlabel=COMMON2 T 178 420 3 6 0 1 0 0 1 pintype=pas } P 500 500 800 500 1 0 1 { T 550 520 3 6 1 1 0 0 1 pinnumber=7 T 550 520 3 6 0 0 0 0 1 pinseq=7 T 450 500 3 6 0 1 0 0 1 pinlabel=NC2 T 550 520 3 6 0 1 0 0 1 pintype=pas } P 500 300 800 300 1 0 1 { T 550 320 3 6 1 1 0 0 1 pinnumber=5 T 550 320 3 6 0 0 0 0 1 pinseq=5 T 450 300 3 6 0 1 0 0 1 pinlabel=NO2 T 550 320 3 6 0 1 0 0 1 pintype=pas } P 0 200 300 200 1 0 0 { T 202 220 3 6 1 1 0 0 1 pinnumber=1 T 202 220 3 6 0 0 0 0 1 pinseq=1 T 350 200 3 6 0 1 0 0 1 pinlabel=COIL1 T 202 220 3 6 0 1 0 0 1 pintype=pas } P 0 100 300 100 1 0 0 { T 184 120 3 6 1 1 0 0 1 pinnumber=8 T 184 120 3 6 0 0 0 0 1 pinseq=8 T 350 100 3 6 0 1 0 0 1 pinlabel=COIL2 T 184 120 3 6 0 1 0 0 1 pintype=pas } L 450 770 490 730 3 0 0 0 -1 -1 L 490 730 410 730 3 0 0 0 -1 -1 L 410 730 450 770 3 0 0 0 -1 -1 L 450 800 490 840 3 0 0 0 -1 -1 L 490 840 410 840 3 0 0 0 -1 -1 L 410 840 450 800 3 0 0 0 -1 -1 L 450 370 490 330 3 0 0 0 -1 -1 L 490 330 410 330 3 0 0 0 -1 -1 L 410 330 450 370 3 0 0 0 -1 -1 L 450 400 490 440 3 0 0 0 -1 -1 L 490 440 410 440 3 0 0 0 -1 -1 L 410 440 450 400 3 0 0 0 -1 -1 L 300 800 500 800 3 0 0 0 -1 -1 L 450 840 450 900 3 0 0 0 -1 -1 L 450 900 500 900 3 0 0 0 -1 -1 L 450 730 450 700 3 0 0 0 -1 -1 L 450 700 500 700 3 0 0 0 -1 -1 L 300 400 500 400 3 0 0 0 -1 -1 L 450 440 450 500 3 0 0 0 -1 -1 L 450 500 500 500 3 0 0 0 -1 -1 L 450 330 450 300 3 0 0 0 -1 -1 L 450 300 500 300 3 0 0 0 -1 -1 L 350 250 350 50 3 0 0 0 -1 -1 L 350 50 400 50 3 0 0 0 -1 -1 L 400 50 400 250 3 0 0 0 -1 -1 L 400 250 350 250 3 0 0 0 -1 -1 L 300 200 420 200 3 0 0 0 -1 -1 L 420 160 400 160 3 0 0 0 -1 -1 L 350 160 330 160 3 0 0 0 -1 -1 L 330 120 420 120 3 0 0 0 -1 -1 L 420 80 400 80 3 0 0 0 -1 -1 L 340 80 350 80 3 0 0 0 -1 -1 L 370 800 370 760 3 0 0 0 -1 -1 L 370 730 370 690 3 0 0 0 -1 -1 L 370 660 370 620 3 0 0 0 -1 -1 L 370 590 370 550 3 0 0 0 -1 -1 L 370 520 370 480 3 0 0 0 -1 -1 L 370 450 370 410 3 0 0 0 -1 -1 A 420 180 20 0 90 3 0 0 0 -1 -1 A 420 180 20 270 90 3 0 0 0 -1 -1 A 330 140 20 270 270 3 0 0 0 -1 -1 A 330 140 20 180 90 3 0 0 0 -1 -1 A 420 100 20 0 90 3 0 0 0 -1 -1 A 420 100 20 270 90 3 0 0 0 -1 -1 A 300 80 20 26 64 3 0 0 0 -1 -1 A 340 100 20 207 63 3 0 0 0 -1 -1 T 100 1300 8 10 0 0 0 0 1 class=IC T 100 1500 8 10 0 0 0 0 1 pins=8 geda-gaf-1.8.2/symbols/TODO0000664000175000017500000000016412204104272012253 00000000000000 TODOs ---------------------- - Work on vcc-* vdd-* friends and get them consistant - Get pic* names consistant geda-gaf-1.8.2/gnetlist/0000775000175000017500000000000012220655760012016 500000000000000geda-gaf-1.8.2/gnetlist/src/0000775000175000017500000000000012220655755012611 500000000000000geda-gaf-1.8.2/gnetlist/src/g_register.c0000664000175000017500000001033412220647257015026 00000000000000/* gEDA - GPL Electronic Design Automation * gnetlist - gEDA Netlist * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_ASSERT_H #include #endif #ifdef HAVE_UNISTD_H #include #endif #include #include "../include/globals.h" #include "../include/prototype.h" #ifdef HAVE_LIBDMALLOC #include #endif struct gsubr_t { char* name; int req; int opt; int rst; SCM (*fnc)(); }; static struct gsubr_t gnetlist_funcs[] = { { "quit", 0, 0, 0, g_quit }, { "exit", 0, 0, 0, g_quit }, /* gnetlistrc functions */ { "gnetlist-version", 1, 0, 0, g_rc_gnetlist_version }, { "net-naming-priority", 1, 0, 0, g_rc_net_naming_priority }, { "hierarchy-traversal", 1, 0, 0, g_rc_hierarchy_traversal }, { "hierarchy-uref-mangle", 1, 0, 0, g_rc_hierarchy_uref_mangle }, { "hierarchy-netname-mangle", 1, 0, 0, g_rc_hierarchy_netname_mangle }, { "hierarchy-netattrib-mangle", 1, 0, 0, g_rc_hierarchy_netattrib_mangle }, { "hierarchy-uref-separator", 1, 0, 0, g_rc_hierarchy_uref_separator }, { "hierarchy-netname-separator", 1, 0, 0, g_rc_hierarchy_netname_separator }, { "hierarchy-netattrib-separator", 1, 0, 0, g_rc_hierarchy_netattrib_separator }, { "hierarchy-netattrib-order", 1, 0, 0, g_rc_hierarchy_netattrib_order }, { "hierarchy-netname-order", 1, 0, 0, g_rc_hierarchy_netname_order }, { "hierarchy-uref-order", 1, 0, 0, g_rc_hierarchy_uref_order }, { "unnamed-netname", 1, 0, 0, g_rc_unnamed_netname }, { "unnamed-busname", 1, 0, 0, g_rc_unnamed_busname }, /* netlist functions */ { "gnetlist:get-packages", 1, 0, 0, g_get_packages }, { "gnetlist:get-non-unique-packages", 1, 0, 0, g_get_non_unique_packages }, { "gnetlist:get-pins", 1, 0, 0, g_get_pins }, { "gnetlist:get-all-nets", 1, 0, 0, g_get_all_nets }, { "gnetlist:get-all-unique-nets", 1, 0, 0, g_get_all_unique_nets }, { "gnetlist:get-all-connections", 1, 0, 0, g_get_all_connections }, { "gnetlist:get-nets", 2, 0, 0, g_get_nets }, { "gnetlist:get-pins-nets", 1, 0, 0, g_get_pins_nets }, { "gnetlist:get-all-package-attributes", 2, 0, 0, g_get_all_package_attributes }, { "gnetlist:get-toplevel-attribute", 1, 0, 0, g_get_toplevel_attribute }, /* { "gnetlist:set-netlist-mode", 1, 0, 0, g_set_netlist_mode }, no longer needed */ { "gnetlist:get-renamed-nets", 1, 0, 0, g_get_renamed_nets }, { "gnetlist:get-attribute-by-pinseq", 3, 0, 0, g_get_attribute_by_pinseq }, { "gnetlist:get-attribute-by-pinnumber", 3, 0, 0, g_get_attribute_by_pinnumber }, { "gnetlist:vams-get-package-attributes", 1, 0, 0, vams_get_package_attributes }, { "gnetlist:graphical-objs-in-net-with-attrib-get-attrib", 3, 0, 0, g_graphical_objs_in_net_with_attrib_get_attrib }, /* SDB -- 9.1.2003 */ { "gnetlist:get-backend-arguments", 0, 0, 0, g_get_backend_arguments }, { "gnetlist:get-input-files", 0, 0, 0, g_get_input_files }, { NULL, 0, 0, 0, NULL } }; void g_register_funcs(void) { struct gsubr_t *tmp = gnetlist_funcs; while (tmp->name != NULL) { scm_c_define_gsubr (tmp->name, tmp->req, tmp->opt, tmp->rst, tmp->fnc); tmp++; } } SCM g_quit(void) { gnetlist_quit(); exit(0); } geda-gaf-1.8.2/gnetlist/src/Makefile.am0000664000175000017500000000155312220647257014567 00000000000000## Process this file with automake to produce Makefile.in bin_PROGRAMS = gnetlist # don't forget all *.h files */ gnetlist_SOURCES = \ g_netlist.c \ g_rc.c \ g_register.c \ globals.c \ gnetlist.c \ i_vars.c \ parsecmd.c \ s_cpinlist.c \ s_hierarchy.c \ s_misc.c \ s_net.c \ s_netattrib.c \ s_netlist.c \ s_rename.c \ s_traverse.c \ vams_misc.c gnetlist_CPPFLAGS = -I$(top_srcdir)/libgeda/include -I$(srcdir)/../include \ -I$(top_srcdir) -I$(includedir) gnetlist_CFLAGS = $(GCC_CFLAGS) $(MINGW_CFLIGS) $(GLIB_CFLAGS) \ $(GUILE_CFLAGS) $(GDK_PIXBUF_CFLAGS) gnetlist_LDFLAGS = $(GLIB_LIBS) $(GUILE_LIBS) $(GDK_PIXBUF_LIBS) gnetlist_LDADD = $(top_builddir)/libgeda/src/libgeda.la MOSTLYCLEANFILES = *.log *.ps core FILE *~ CLEANFILES = *.log *.ps core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log *.ps core FILE *~ Makefile.in geda-gaf-1.8.2/gnetlist/src/g_netlist.c0000664000175000017500000005754712220647257014705 00000000000000/* gEDA - GPL Electronic Design Automation * gnetlist - gEDA Netlist * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #ifdef HAVE_STRING_H #include #endif #include #include #include #include "../include/globals.h" #include "../include/prototype.h" #ifdef HAVE_LIBDMALLOC #include #endif SCM g_scm_c_get_uref (TOPLEVEL *toplevel, OBJECT *object) { SCM func = scm_variable_ref (scm_c_lookup ("get-uref")); SCM object_smob = edascm_from_object (object); SCM exp = scm_list_2 (func, object_smob); return g_scm_eval_protected (exp, SCM_UNDEFINED); } /* this function will only return a unique list of packages */ SCM g_get_packages(SCM level) { SCM list = SCM_EOL; GHashTable *ht; NETLIST *nl_current = NULL; SCM_ASSERT(scm_is_string (level), level, SCM_ARG1, "gnetlist:get-pins"); /* build a hash table */ ht = g_hash_table_new (g_str_hash, g_str_equal); for (nl_current = netlist_head; nl_current != NULL; nl_current = nl_current->next) { if (nl_current->component_uref != NULL) { /* add component_uref in the hash table */ /* uniqueness of component_uref is guaranteed by the hashtable */ if (g_hash_table_lookup (ht, nl_current->component_uref) == NULL) { g_hash_table_insert (ht, nl_current->component_uref, nl_current->component_uref); list = scm_cons (scm_from_utf8_string (nl_current->component_uref), list); } } } g_hash_table_destroy (ht); return list; } /* this function will only return a non unique list of packages */ SCM g_get_non_unique_packages(SCM level) { SCM list = SCM_EOL; NETLIST *nl_current = NULL; SCM_ASSERT(scm_is_string (level), level, SCM_ARG1, "gnetlist:get-pins"); for (nl_current = netlist_head; nl_current != NULL; nl_current = nl_current->next) { if (nl_current->component_uref != NULL) { list = scm_cons (scm_from_utf8_string (nl_current->component_uref), list); } } return list; } SCM g_get_pins(SCM scm_uref) { char *uref; SCM list = SCM_EOL; NETLIST *nl_current; CPINLIST *pl_current; SCM_ASSERT(scm_is_string (scm_uref), scm_uref, SCM_ARG1, "gnetlist:get-pins"); uref = scm_to_utf8_string (scm_uref); /* here is where you make it multi page aware */ nl_current = netlist_head; /* search for the first instance */ /* through the entire list */ while (nl_current != NULL) { if (nl_current->component_uref) { if (strcmp(nl_current->component_uref, uref) == 0) { pl_current = nl_current->cpins; while (pl_current != NULL) { if (pl_current->pin_number) { list = scm_cons (scm_from_utf8_string (pl_current->pin_number), list); } pl_current = pl_current->next; } } } nl_current = nl_current->next; } free (uref); return (list); } SCM g_get_all_nets(SCM scm_level) { SCM list = SCM_EOL; NETLIST *nl_current; CPINLIST *pl_current; char *net_name; SCM_ASSERT(scm_is_string (scm_level), scm_level, SCM_ARG1, "gnetlist:get-all-nets"); nl_current = netlist_head; /* walk through the list of components, and through the list * of individual pins on each, adding net names to the list * being careful to ignore duplicates, and unconnected pins */ while (nl_current != NULL) { pl_current = nl_current->cpins; while (pl_current != NULL) { if (pl_current->net_name) { net_name = pl_current->net_name; /* filter off unconnected pins */ if (strncmp(net_name, "unconnected_pin", 15) != 0) { /*printf("Got net: `%s'\n",net_name); */ /* add the net name to the list */ #if DEBUG printf("Got net: `%s'\n", net_name); printf("pin %s\n", pl_current->pin_number); #endif list = scm_cons (scm_from_utf8_string (net_name), list); } } pl_current = pl_current->next; } nl_current = nl_current->next; } return list; } SCM g_get_all_unique_nets(SCM scm_level) { SCM list = SCM_EOL; SCM x = SCM_EOL; NETLIST *nl_current; CPINLIST *pl_current; char *net_name; SCM_ASSERT(scm_is_string (scm_level), scm_level, SCM_ARG1, "gnetlist:get-all-unique-nets"); nl_current = netlist_head; /* walk through the list of components, and through the list * of individual pins on each, adding net names to the list * being careful to ignore duplicates, and unconnected pins */ while (nl_current != NULL) { pl_current = nl_current->cpins; while (pl_current != NULL) { if (pl_current->net_name) { net_name = pl_current->net_name; /* filter off unconnected pins */ if (strncmp(net_name, "unconnected_pin", 15) != 0) { /* add the net name to the list */ /*printf("Got net: `%s'\n",net_name); */ x = scm_from_utf8_string (net_name); if (scm_is_false (scm_member (x, list))) { list = scm_cons (x, list); } } } pl_current = pl_current->next; } nl_current = nl_current->next; } return list; } /* given a net name, return all connections */ SCM g_get_all_connections(SCM scm_netname) { SCM list = SCM_EOL; SCM x = SCM_EOL; SCM is_member = SCM_EOL; SCM connlist = SCM_EOL; SCM pairlist = SCM_EOL; NETLIST *nl_current; CPINLIST *pl_current; NET *n_current; char *wanted_net_name; char *net_name; char *pin; char *uref; SCM_ASSERT(scm_is_string(scm_netname), scm_netname, SCM_ARG1, "gnetlist:get-all-connections"); wanted_net_name = scm_to_utf8_string (scm_netname); if (wanted_net_name == NULL) { return list; } nl_current = netlist_head; /* walk through the list of components, and through the list * of individual pins on each, adding net names to the list * being careful to ignore duplicates, and unconnected pins */ while (nl_current != NULL) { pl_current = nl_current->cpins; while (pl_current != NULL) { if (pl_current->net_name) { net_name = pl_current->net_name; /* filter off unconnected pins */ if (strcmp(net_name, wanted_net_name) == 0) { /* add the net name to the list */ #if DEBUG printf("found net: `%s'\n", net_name); #endif n_current = pl_current->nets; while (n_current != NULL) { if (n_current->connected_to) { pairlist = SCM_EOL; pin = (char *) g_malloc(sizeof(char) * strlen(n_current-> connected_to)); uref = (char *) g_malloc(sizeof(char) * strlen(n_current-> connected_to)); sscanf(n_current->connected_to, "%s %s", uref, pin); pairlist = scm_list_n (scm_from_utf8_string (uref), scm_from_utf8_string (pin), SCM_UNDEFINED); x = pairlist; is_member = scm_member(x, connlist); if (scm_is_false (is_member)) { connlist = scm_cons (pairlist, connlist); } g_free(uref); g_free(pin); } n_current = n_current->next; } } } pl_current = pl_current->next; } nl_current = nl_current->next; } free (wanted_net_name); return connlist; } /* Given a uref and a pin number return a list of: */ /* (netname (uref pin) (uref pin) ... ) */ SCM g_get_nets(SCM scm_uref, SCM scm_pin) { SCM outerlist = SCM_EOL; SCM pinslist = SCM_EOL; SCM pairlist = SCM_EOL; NETLIST *nl_current = NULL; CPINLIST *pl_current = NULL; NET *n_current; char *wanted_uref = NULL; char *wanted_pin = NULL; char *net_name = NULL; char *pin; char *uref; SCM_ASSERT(scm_is_string (scm_uref), scm_uref, SCM_ARG1, "gnetlist:get-nets"); SCM_ASSERT(scm_is_string (scm_pin), scm_pin, SCM_ARG2, "gnetlist:get-nets"); scm_dynwind_begin (0); wanted_uref = scm_to_utf8_string (scm_uref); scm_dynwind_free (wanted_uref); wanted_pin = scm_to_utf8_string (scm_pin); scm_dynwind_free (wanted_pin); nl_current = netlist_head; /* search for the first instance */ /* through the entire list */ for (nl_current = netlist_head; nl_current != NULL; nl_current = nl_current->next) { if (!nl_current->component_uref) continue; if (strcmp (nl_current->component_uref, wanted_uref) != 0) continue; for (pl_current = nl_current->cpins; pl_current != NULL; pl_current = pl_current->next) { if (!pl_current->pin_number) continue; if (strcmp(pl_current->pin_number, wanted_pin) != 0) continue; if (pl_current->net_name) { net_name = pl_current->net_name; } for (n_current = pl_current->nets; n_current != NULL; n_current = n_current->next) { if (!n_current->connected_to) continue; pairlist = SCM_EOL; pin = (char *) g_malloc(sizeof(char) * strlen (n_current-> connected_to)); uref = (char *) g_malloc(sizeof(char) * strlen(n_current-> connected_to)); sscanf(n_current->connected_to, "%s %s", uref, pin); pairlist = scm_list_n (scm_from_utf8_string (uref), scm_from_utf8_string (pin), SCM_UNDEFINED); pinslist = scm_cons (pairlist, pinslist); g_free(uref); g_free(pin); } } } if (net_name != NULL) { outerlist = scm_cons (scm_from_utf8_string (net_name), pinslist); } else { outerlist = scm_cons (scm_from_utf8_string ("ERROR_INVALID_PIN"), outerlist); fprintf(stderr, "Invalid refdes ('%s') and pin ('%s') passed to get-nets\n", wanted_uref, wanted_pin); } scm_dynwind_end (); return (outerlist); } /* Given a uref, Return a list of pairs, each pair contains the name * of the pin, and the name of the net connected to that pin. */ SCM g_get_pins_nets(SCM scm_uref) { SCM pinslist = SCM_EOL; SCM pairlist = SCM_EOL; NETLIST *nl_current = NULL; CPINLIST *pl_current = NULL; char *wanted_uref = NULL; char *net_name = NULL; char *pin = NULL; SCM_ASSERT(scm_is_string (scm_uref), scm_uref, SCM_ARG1, "gnetlist:get-pins-nets"); wanted_uref = scm_to_utf8_string (scm_uref); /* search for the any instances */ /* through the entire list */ for (nl_current = netlist_head; nl_current != NULL; nl_current = nl_current->next) { /* is there a uref? */ if (nl_current->component_uref) { /* is it the one we want ? */ if (strcmp(nl_current->component_uref, wanted_uref) == 0) { for (pl_current = nl_current->cpins; pl_current != NULL; pl_current = pl_current->next) { /* is there a valid pin number and a valid name ? */ if (pl_current->pin_number) { if (pl_current->net_name) { /* yes, add it to the list */ pin = pl_current->pin_number; net_name = pl_current->net_name; pairlist = scm_cons (scm_from_utf8_string (pin), scm_from_utf8_string (net_name)); pinslist = scm_cons (pairlist, pinslist); } } } } } } free (wanted_uref); pinslist = scm_reverse (pinslist); /* pins are in reverse order on the way * out */ return (pinslist); } /*! \brief Get attribute value(s) from a package with given uref. * \par Function Description * This function returns the values of a specific attribute type * attached to the symbol instances with the given refdes. * * Every first attribute value found is added to the return list. A * Scheme false value is added if the instance has no such attribute. * * \note The order of the values in the return list is the order of * symbol instances within gnetlist (the first element is the value * associated with the first symbol instance). * * \param [in] scm_uref Package reference. * \param [in] scm_wanted_attrib Attribute name. * \return A list of attribute values as strings and #f. */ SCM g_get_all_package_attributes(SCM scm_uref, SCM scm_wanted_attrib) { SCM ret = SCM_EOL; NETLIST *nl_current; char *uref; char *wanted_attrib; SCM_ASSERT(scm_is_string (scm_uref), scm_uref, SCM_ARG1, "gnetlist:get-all-package-attributes"); SCM_ASSERT(scm_is_string (scm_wanted_attrib), scm_wanted_attrib, SCM_ARG2, "gnetlist:get-all-package-attributes"); uref = scm_to_utf8_string (scm_uref); wanted_attrib = scm_to_utf8_string (scm_wanted_attrib); /* here is where you make it multi page aware */ nl_current = netlist_head; /* search for uref instances and through the entire list */ while (nl_current != NULL) { if (nl_current->component_uref) { if (strcmp(nl_current->component_uref, uref) == 0) { char *value = o_attrib_search_object_attribs_by_name (nl_current->object_ptr, wanted_attrib, 0); ret = scm_cons (value ? scm_from_utf8_string (value) : SCM_BOOL_F, ret); g_free (value); } } nl_current = nl_current->next; } free (uref); free (wanted_attrib); return scm_reverse_x (ret, SCM_EOL); } /* takes a uref and pinseq number and returns wanted_attribute associated */ /* with that pinseq pin and component */ SCM g_get_attribute_by_pinseq(SCM scm_uref, SCM scm_pinseq, SCM scm_wanted_attrib) { SCM scm_return_value; NETLIST *nl_current; char *uref; char *pinseq; char *wanted_attrib; char *return_value = NULL; OBJECT *o_pin_object; SCM_ASSERT(scm_is_string (scm_uref), scm_uref, SCM_ARG1, "gnetlist:get-pin-number-seq"); SCM_ASSERT(scm_is_string (scm_pinseq), scm_pinseq, SCM_ARG2, "gnetlist:get-pin-number-seq"); SCM_ASSERT(scm_is_string (scm_wanted_attrib), scm_wanted_attrib, SCM_ARG3, "gnetlist:get-pin-attribute-seq"); scm_dynwind_begin (0); uref = scm_to_utf8_string (scm_uref); scm_dynwind_free (uref); pinseq = scm_to_utf8_string (scm_pinseq); scm_dynwind_free (pinseq); wanted_attrib = scm_to_utf8_string (scm_wanted_attrib); scm_dynwind_free (wanted_attrib); #if DEBUG printf("gnetlist:g_netlist.c:g_get_attribute_by_pinseq -- \n"); printf(" wanted uref = %s\n", uref); printf(" wanted_pin_seq = %s\n", pinseq); printf(" wanted_attrib = %s\n", wanted_attrib); #endif /* here is where you make it multi page aware */ nl_current = netlist_head; /* search for the first instance */ /* through the entire list */ while (nl_current != NULL) { if (nl_current->component_uref) { if (strcmp(nl_current->component_uref, uref) == 0) { o_pin_object = o_complex_find_pin_by_attribute (nl_current->object_ptr, "pinseq", pinseq); if (o_pin_object) { return_value = o_attrib_search_object_attribs_by_name (o_pin_object, wanted_attrib, 0); if (return_value) { break; } } /* Don't break until we search the whole netlist to handle slotted */ /* parts. 4.28.2007 -- SDB. */ } } nl_current = nl_current->next; } scm_dynwind_end (); if (return_value) { scm_return_value = scm_from_utf8_string (return_value); } else { scm_return_value = scm_from_utf8_string ("unknown"); } #if DEBUG printf("gnetlist:g_netlist.c:g_get_attribute_by_pinseq -- "); printf("return_value: %s\n", return_value); #endif return (scm_return_value); } /* this takes a pin number and returns the appropriate attribute on that pin*/ /* scm_pin is the value associated with the pinnumber= attribute and uref */ SCM g_get_attribute_by_pinnumber(SCM scm_uref, SCM scm_pin, SCM scm_wanted_attrib) { SCM scm_return_value; NETLIST *nl_current; OBJECT *pin_object; char *uref; char *pin; char *wanted_attrib; char *return_value = NULL; int done = FALSE; SCM_ASSERT(scm_is_string (scm_uref), scm_uref, SCM_ARG1, "gnetlist:get-pin-attribute"); SCM_ASSERT(scm_is_string (scm_pin), scm_pin, SCM_ARG2, "gnetlist:get-pin-attribute"); SCM_ASSERT(scm_is_string (scm_wanted_attrib), scm_wanted_attrib, SCM_ARG3, "gnetlist:get-pin-attribute"); scm_dynwind_begin (0); uref = scm_to_utf8_string (scm_uref); scm_dynwind_free (uref); pin = scm_to_utf8_string (scm_pin); scm_dynwind_free (pin); wanted_attrib = scm_to_utf8_string (scm_wanted_attrib); scm_dynwind_free (wanted_attrib); /* here is where you make it multi page aware */ nl_current = netlist_head; /* search for the first instance */ /* through the entire list */ while (nl_current != NULL && !done) { if (nl_current->component_uref) { if (strcmp(nl_current->component_uref, uref) == 0) { pin_object = o_complex_find_pin_by_attribute (nl_current->object_ptr, "pinnumber", pin); if (pin_object) { /* only look for the first occurance of wanted_attrib */ return_value = o_attrib_search_object_attribs_by_name (pin_object, wanted_attrib, 0); #if DEBUG if (return_value) { printf("GOT IT: %s\n", return_value); } #endif } else if (strcmp("pintype", wanted_attrib) == 0) { if (nl_current->cpins) { CPINLIST *pinobject = s_cpinlist_search_pin(nl_current->cpins, pin); if (pinobject) { return_value="pwr"; #if DEBUG printf("Supplied pintype 'pwr' for artificial pin '%s' of '%s'\n", pin, uref); #endif } } } } } nl_current = nl_current->next; } scm_dynwind_end (); if (return_value) { scm_return_value = scm_from_utf8_string (return_value); } else { scm_return_value = scm_from_utf8_string ("unknown"); } return (scm_return_value); } /* returns value of attribute otherwise string "none" */ /* still highly temp and doesn't work right */ SCM g_get_toplevel_attribute(SCM scm_wanted_attrib) { const GList *p_iter; PAGE *p_current; char *wanted_attrib; char *attrib_value = NULL; SCM scm_return_value; TOPLEVEL *toplevel = edascm_c_current_toplevel (); SCM_ASSERT(scm_is_string (scm_wanted_attrib), scm_wanted_attrib, SCM_ARG1, "gnetlist:get-toplevel-attribute"); wanted_attrib = scm_to_utf8_string (scm_wanted_attrib); for (p_iter = geda_list_get_glist (toplevel->pages); p_iter != NULL; p_iter = g_list_next (p_iter)) { p_current = p_iter->data; /* only look for first occurrance of the attribute on each page */ attrib_value = o_attrib_search_floating_attribs_by_name (s_page_objects (p_current), wanted_attrib, 0); /* Stop when we find the first one */ if (attrib_value != NULL) break; } free (wanted_attrib); if (attrib_value != NULL) { scm_return_value = scm_from_utf8_string (attrib_value); g_free (attrib_value); } else { scm_return_value = scm_from_utf8_string ("not found"); } return (scm_return_value); } /*! \brief Obtain a list of `-O' backend arguments. * \par Function Description * Returns a list of arguments passed to the gnetlist backend via the * `-O' gnetlist command-line option. */ SCM g_get_backend_arguments() { SCM result = SCM_EOL; GSList *iter; for (iter = backend_params; iter != NULL; iter = g_slist_next (iter)) { result = scm_cons (scm_from_locale_string ((char *) iter->data), result); } return scm_reverse_x (result, SCM_UNDEFINED); } /*! \brief Get input files from command line. * \par Function Description * This function returns a list of the files named on the command line. * * \return A list of filenames as strings. */ SCM g_get_input_files() { SCM list = SCM_EOL; GSList *current = input_files; while (current != NULL) { list = scm_cons (scm_from_locale_string (current->data), list); current = g_slist_next(current); } return scm_reverse_x (list, SCM_EOL); } /* given a net name, an attribute, and a wanted attribute, return all the given attribute of all the graphical objects connected to that net name */ SCM g_graphical_objs_in_net_with_attrib_get_attrib (SCM scm_netname, SCM scm_has_attribute, SCM scm_wanted_attribute) { SCM list = SCM_EOL; NETLIST *nl_current; CPINLIST *pl_current; char *wanted_net_name; char *wanted_attrib; char *has_attrib; char *net_name; char *attrib_value=NULL; char *has_attrib_value = NULL; char *has_attrib_name = NULL; SCM_ASSERT(scm_is_string (scm_netname), scm_netname, SCM_ARG1, "gnetlist:get-attr-of-conn-graph-objs-with-attr"); SCM_ASSERT(scm_is_string (scm_wanted_attribute), scm_wanted_attribute, SCM_ARG3, "gnetlist:get-attr-of-conn-graph-objs-with-attr"); SCM_ASSERT(scm_is_string (scm_has_attribute), scm_has_attribute, SCM_ARG2, "gnetlist:get-attr-of-conn-graph-objs-with-attr"); scm_dynwind_begin (0); wanted_net_name = scm_to_utf8_string (scm_netname); if (wanted_net_name == NULL) { return list; } scm_dynwind_free (wanted_net_name); wanted_attrib = scm_to_utf8_string (scm_wanted_attribute); scm_dynwind_free (wanted_attrib); has_attrib = scm_to_utf8_string (scm_has_attribute); scm_dynwind_free (has_attrib); nl_current = graphical_netlist_head; /* walk through the list of components, and through the list * of individual pins on each, adding net names to the list * being careful to ignore duplicates, and unconnected pins */ while (nl_current != NULL) { pl_current = nl_current->cpins; while (pl_current != NULL) { if (pl_current->net_name) { net_name = pl_current->net_name; if (strcmp(net_name, wanted_net_name) == 0) { if (o_attrib_string_get_name_value (has_attrib, &has_attrib_name, &has_attrib_value) != 0) { attrib_value = o_attrib_search_object_attribs_by_name (nl_current->object_ptr, has_attrib_name, 0); if ( ((has_attrib_value == NULL) && (attrib_value == NULL)) || ((has_attrib_value != NULL) && (attrib_value != NULL) && (strcmp(attrib_value, has_attrib_value) == 0)) ) { g_free (attrib_value); attrib_value = o_attrib_search_object_attribs_by_name (nl_current->object_ptr, wanted_attrib, 0); if (attrib_value) { list = scm_cons (scm_from_utf8_string (attrib_value), list); } g_free (attrib_value); } g_free (has_attrib_name); g_free (has_attrib_value); } } } pl_current = pl_current->next; } nl_current = nl_current->next; } scm_dynwind_end (); return list; } /* * This function is in s_rename.c: SCM g_get_renamed_nets(SCM scm_level) */ geda-gaf-1.8.2/gnetlist/src/i_vars.c0000664000175000017500000001042412220647257014157 00000000000000/* gEDA - GPL Electronic Design Automation * gnetlist - gEDA Netlist * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #ifdef HAVE_STRING_H #include #endif #include #include "../include/papersizes.h" #include "../include/prototype.h" #ifdef HAVE_LIBDMALLOC #include #endif #define DEFAULT_UNTITLED_NAME "untitled" #define DEFAULT_BITMAP_DIRECTORY "non-existant" #define DEFAULT_HIERARCHY_NETNAME_SEPARATOR "/" #define DEFAULT_HIERARCHY_NETATTRIB_SEPARATOR "/" #define DEFAULT_HIERARCHY_UREF_SEPARATOR "/" #define DEFAULT_UNNAMED_NETNAME "unnamed_net" #define DEFAULT_UNNAMED_BUSNAME "unnamed_bus" #define INIT_STR(w, name, str) { \ g_free((w)->name); \ (w)->name = g_strdup (((default_ ## name) != NULL) ? \ (default_ ## name) : (str)); \ } int default_net_naming_priority = NETATTRIB_ATTRIBUTE; int default_hierarchy_traversal = TRUE; int default_hierarchy_uref_mangle = TRUE; int default_hierarchy_netname_mangle = TRUE; int default_hierarchy_netattrib_mangle = TRUE; int default_hierarchy_netattrib_order = APPEND; int default_hierarchy_netname_order = APPEND; int default_hierarchy_uref_order = APPEND; char *default_hierarchy_netname_separator = NULL; char *default_hierarchy_netattrib_separator = NULL; char *default_hierarchy_uref_separator = NULL; char *default_unnamed_netname = NULL; char *default_unnamed_busname = NULL; void i_vars_set(TOPLEVEL * pr_current) { i_vars_libgeda_set(pr_current); pr_current->net_naming_priority = default_net_naming_priority; pr_current->hierarchy_traversal = default_hierarchy_traversal; pr_current->hierarchy_uref_mangle = default_hierarchy_uref_mangle; pr_current->hierarchy_netname_mangle = default_hierarchy_netname_mangle; pr_current->hierarchy_netattrib_mangle = default_hierarchy_netattrib_mangle; pr_current->hierarchy_netattrib_order = default_hierarchy_netattrib_order; pr_current->hierarchy_netname_order = default_hierarchy_netname_order; pr_current->hierarchy_uref_order = default_hierarchy_uref_order; if (pr_current->hierarchy_uref_mangle == FALSE) { if (pr_current->hierarchy_uref_separator) { strcpy(pr_current->hierarchy_uref_separator, "/"); } else { pr_current->hierarchy_uref_separator = g_strdup("/"); } } if (!default_hierarchy_netname_separator) { default_hierarchy_netname_separator = g_strdup (DEFAULT_HIERARCHY_NETNAME_SEPARATOR); } if (!default_hierarchy_netattrib_separator) { default_hierarchy_netattrib_separator = g_strdup (DEFAULT_HIERARCHY_NETATTRIB_SEPARATOR); } if (!default_hierarchy_uref_separator) { default_hierarchy_uref_separator = g_strdup (DEFAULT_HIERARCHY_UREF_SEPARATOR); } if (!default_unnamed_netname) { default_unnamed_netname = g_strdup (DEFAULT_UNNAMED_NETNAME); } if (!default_unnamed_busname) { default_unnamed_busname = g_strdup (DEFAULT_UNNAMED_BUSNAME); } INIT_STR(pr_current, hierarchy_netname_separator, default_hierarchy_netname_separator); INIT_STR(pr_current, hierarchy_netattrib_separator, default_hierarchy_netattrib_separator); INIT_STR(pr_current, hierarchy_uref_separator, default_hierarchy_uref_separator); INIT_STR(pr_current, unnamed_netname, default_unnamed_netname); INIT_STR(pr_current, unnamed_busname, default_unnamed_busname); } geda-gaf-1.8.2/gnetlist/src/gnetlist.c0000664000175000017500000002317512220647257014534 00000000000000/* gEDA - GPL Electronic Design Automation * gnetlist - gEDA Netlist * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #include #include #include #ifdef HAVE_ERRNO_H #include #endif #include #ifdef HAVE_STRING_H #include #endif #ifdef HAVE_UNISTD_H #include #endif #include #include #include "../include/globals.h" #include "../include/prototype.h" #ifdef HAVE_LIBDMALLOC #include #endif void gnetlist_quit(void) { s_clib_free(); s_slib_free(); s_rename_destroy_all(); /* o_text_freeallfonts(); */ /* Free GSList *backend_params */ g_slist_free (backend_params); g_slist_free (input_files); } /* \brief Print a list of available backends. * \par Function Description * Prints a list of available gnetlist backends by searching for files * in each of the directories in the current Guile %load-path. A file * is considered to be a gnetlist backend if its basename begins with * "gnet-" and ends with ".scm". * * \param pr_current Current #TOPLEVEL structure. */ void gnetlist_backends (TOPLEVEL *pr_current) { SCM s_load_path; GList *backend_names = NULL, *iter = NULL; /* Look up the current Guile %load-path */ s_load_path = scm_variable_ref (scm_c_lookup ("%load-path")); for ( ; s_load_path != SCM_EOL; s_load_path = scm_cdr (s_load_path)) { SCM s_dir_name = scm_car (s_load_path); char *dir_name; DIR *dptr; struct dirent *dentry; /* Get directory name from Scheme */ g_assert (scm_is_true (scm_list_p (s_load_path))); /* Sanity check */ g_assert (scm_is_string (scm_car (s_load_path))); /* Sanity check */ dir_name = scm_to_utf8_string (s_dir_name); /* Open directory */ dptr = opendir (dir_name); if (dptr == NULL) { g_warning ("Can't open directory %s: %s\n", dir_name, strerror (errno)); continue; } free (dir_name); while (1) { char *name; dentry = readdir (dptr); if (dentry == NULL) break; /* Check that filename has the right format to be a gnetlist * backend */ if (!(g_str_has_prefix (dentry->d_name, "gnet-") && g_str_has_suffix (dentry->d_name, ".scm"))) continue; /* Copy filename and remove prefix & suffix. Add to list of * backend names. */ name = g_strdup (dentry->d_name + 5); name[strlen(name)-4] = '\0'; backend_names = g_list_prepend (backend_names, name); } /* Close directory */ closedir (dptr); } /* Sort the list of backends */ backend_names = g_list_sort (backend_names, (GCompareFunc) strcmp); printf ("List of available backends: \n\n"); for (iter = backend_names; iter != NULL; iter = g_list_next (iter)) { printf ("%s\n", (char *) iter->data); } printf ("\n"); scm_remember_upto_here_1 (s_load_path); } void main_prog(void *closure, int argc, char *argv[]) { int i; int argv_index; char *cwd; gchar *str; gchar *filename; TOPLEVEL *pr_current; /* set default output filename */ output_filename = g_strdup("output.net"); argv_index = parse_commandline(argc, argv); cwd = g_get_current_dir(); scm_set_program_arguments (argc, argv, NULL); /* this is a kludge to make sure that spice mode gets set */ /* Hacked by SDB to allow spice netlisters of arbitrary name * as long as they begin with "spice". For example, this spice * netlister is valid: "spice-sdb". */ if (guile_proc) { if (strncmp(guile_proc, "spice", 5) == 0) { netlist_mode = SPICE; } } libgeda_init(); /* create log file right away */ /* even if logging is enabled */ s_log_init ("gnetlist"); s_log_message("gEDA/gnetlist version %s%s.%s\n", PREPEND_VERSION_STRING, PACKAGE_DOTTED_VERSION, PACKAGE_DATE_VERSION); s_log_message ("gEDA/gnetlist comes with ABSOLUTELY NO WARRANTY; see COPYING for more details.\n"); s_log_message ("This is free software, and you are welcome to redistribute it under certain\n"); s_log_message ("conditions; please see the COPYING file for more details.\n\n"); #if defined(__MINGW32__) && defined(DEBUG) fprintf(stderr, "This is the MINGW32 port.\n\n"); #endif /* register guile (scheme) functions */ g_register_funcs(); scm_dynwind_begin (0); pr_current = s_toplevel_new (); edascm_dynwind_toplevel (pr_current); /* Evaluate Scheme expressions that need to be run before rc files * are loaded. */ scm_eval (pre_rc_list, scm_current_module ()); g_rc_parse (pr_current, argv[0], "gnetlistrc", rc_filename); /* immediately setup user params */ i_vars_set (pr_current); s_rename_init(); if(list_backends) { gnetlist_backends(pr_current); exit (0); } /* Evaluate the first set of Scheme expressions before we load any * schematic files */ scm_eval (pre_backend_list, scm_current_module ()); i = argv_index; while (argv[i] != NULL) { GError *err = NULL; if (g_path_is_absolute(argv[i])) { /* Path is already absolute so no need to do any concat of cwd */ filename = g_strdup (argv[i]); } else { filename = g_build_filename (cwd, argv[i], NULL); } if (!quiet_mode) { s_log_message ("Loading schematic [%s]\n", filename); printf ("Loading schematic [%s]\n", filename); } s_page_goto (pr_current, s_page_new (pr_current, filename)); if (!f_open (pr_current, pr_current->page_current, filename, &err)) { g_warning ("%s\n", err->message); fprintf (stderr, "ERROR: Failed to load '%s': %s\n", filename, err->message); g_error_free (err); exit(2); } /* collect input filenames for backend use */ input_files = g_slist_append(input_files, argv[i]); i++; g_free (filename); } /* Change back to the directory where we started. This is done */ /* since gnetlist is a command line utility and will deposit its output */ /* in the current directory. Having the output go to a different */ /* directory will confuse the user (confused me, at first). */ if (chdir (cwd)) { /* Error occured with chdir */ #warning FIME: What do we do? } /* free(cwd); - Defered; see below */ if (argv[argv_index] == NULL) { fprintf (stderr, "ERROR: No schematics files specified for processing.\n"); fprintf (stderr, "\nRun `%s --help' for more information.\n", argv[0]); exit (1); } #if DEBUG s_page_print_all(pr_current); #endif /* Load basic gnetlist functions */ scm_primitive_load_path (scm_from_utf8_string ("gnetlist.scm")); if (guile_proc) { SCM s_backend_path; /* Search for backend scm file in load path */ str = g_strdup_printf("gnet-%s.scm", guile_proc); s_backend_path = scm_sys_search_load_path (scm_from_locale_string (str)); g_free (str); /* If it couldn't be found, fail. */ if (scm_is_false (s_backend_path)) { fprintf (stderr, "ERROR: Could not find backend `%s' in load path.\n", guile_proc); fprintf (stderr, "\nRun `%s --list-backends' for a full list of available backends.\n", argv[0]); exit (1); } /* Load backend code. */ scm_primitive_load (s_backend_path); /* Evaluate second set of Scheme expressions. */ scm_eval (post_backend_list, scm_current_module ()); } s_traverse_init(); s_traverse_start(pr_current); /* Change back to the directory where we started AGAIN. This is done */ /* because the s_traverse functions can change the Current Working Directory. */ if (chdir (cwd)) { /* Error occured with chdir */ #warning FIXME: What do we do? } g_free(cwd); /* Run post-traverse code. */ scm_primitive_load_path (scm_from_utf8_string ("gnetlist-post.scm")); if (guile_proc) { /* check size here hack */ str = g_strdup_printf ("(%s \"%s\")", guile_proc, output_filename); scm_c_eval_string (str); g_free (str); /* gh_eval_str_with_stack_saving_handler (input_str); */ } else if (interactive_mode) { scm_c_eval_string ("(set-repl-prompt! \"gnetlist> \")"); scm_shell (0, NULL); } else { fprintf(stderr, "You gave neither backend to execute nor interactive mode!\n"); } gnetlist_quit(); scm_dynwind_end(); } int main(int argc, char *argv[]) { /* disable the deprecated warnings in guile 1.6.3 */ /* Eventually the warnings will need to be fixed */ if(getenv("GUILE_WARN_DEPRECATED")==NULL) putenv("GUILE_WARN_DEPRECATED=no"); scm_boot_guile (argc, argv, main_prog, 0); return 0; } geda-gaf-1.8.2/gnetlist/src/Makefile.in0000664000175000017500000015500012220655723014572 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ bin_PROGRAMS = gnetlist$(EXEEXT) subdir = gnetlist/src DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(top_srcdir)/build-tools/depcomp ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__installdirs = "$(DESTDIR)$(bindir)" PROGRAMS = $(bin_PROGRAMS) am_gnetlist_OBJECTS = gnetlist-g_netlist.$(OBJEXT) \ gnetlist-g_rc.$(OBJEXT) gnetlist-g_register.$(OBJEXT) \ gnetlist-globals.$(OBJEXT) gnetlist-gnetlist.$(OBJEXT) \ gnetlist-i_vars.$(OBJEXT) gnetlist-parsecmd.$(OBJEXT) \ gnetlist-s_cpinlist.$(OBJEXT) gnetlist-s_hierarchy.$(OBJEXT) \ gnetlist-s_misc.$(OBJEXT) gnetlist-s_net.$(OBJEXT) \ gnetlist-s_netattrib.$(OBJEXT) gnetlist-s_netlist.$(OBJEXT) \ gnetlist-s_rename.$(OBJEXT) gnetlist-s_traverse.$(OBJEXT) \ gnetlist-vams_misc.$(OBJEXT) gnetlist_OBJECTS = $(am_gnetlist_OBJECTS) gnetlist_DEPENDENCIES = $(top_builddir)/libgeda/src/libgeda.la AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent am__v_lt_1 = gnetlist_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(gnetlist_CFLAGS) \ $(CFLAGS) $(gnetlist_LDFLAGS) $(LDFLAGS) -o $@ AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/build-tools/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = $(gnetlist_SOURCES) DIST_SOURCES = $(gnetlist_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ # don't forget all *.h files */ gnetlist_SOURCES = \ g_netlist.c \ g_rc.c \ g_register.c \ globals.c \ gnetlist.c \ i_vars.c \ parsecmd.c \ s_cpinlist.c \ s_hierarchy.c \ s_misc.c \ s_net.c \ s_netattrib.c \ s_netlist.c \ s_rename.c \ s_traverse.c \ vams_misc.c gnetlist_CPPFLAGS = -I$(top_srcdir)/libgeda/include -I$(srcdir)/../include \ -I$(top_srcdir) -I$(includedir) gnetlist_CFLAGS = $(GCC_CFLAGS) $(MINGW_CFLIGS) $(GLIB_CFLAGS) \ $(GUILE_CFLAGS) $(GDK_PIXBUF_CFLAGS) gnetlist_LDFLAGS = $(GLIB_LIBS) $(GUILE_LIBS) $(GDK_PIXBUF_LIBS) gnetlist_LDADD = $(top_builddir)/libgeda/src/libgeda.la MOSTLYCLEANFILES = *.log *.ps core FILE *~ CLEANFILES = *.log *.ps core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log *.ps core FILE *~ Makefile.in all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gnetlist/src/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu gnetlist/src/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ fi; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p \ || test -f $$p1 \ ; then echo "$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n;h' \ -e 's|.*|.|' \ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) files[d] = files[d] " " $$1; \ else { print "f", $$3 "/" $$4, $$1; } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ } \ ; done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ -e 's/$$/$(EXEEXT)/' \ `; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(bindir)" && rm -f $$files clean-binPROGRAMS: @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ echo " rm -f" $$list; \ rm -f $$list || exit $$?; \ test -n "$(EXEEXT)" || exit 0; \ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list gnetlist$(EXEEXT): $(gnetlist_OBJECTS) $(gnetlist_DEPENDENCIES) $(EXTRA_gnetlist_DEPENDENCIES) @rm -f gnetlist$(EXEEXT) $(AM_V_CCLD)$(gnetlist_LINK) $(gnetlist_OBJECTS) $(gnetlist_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnetlist-g_netlist.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnetlist-g_rc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnetlist-g_register.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnetlist-globals.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnetlist-gnetlist.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnetlist-i_vars.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnetlist-parsecmd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnetlist-s_cpinlist.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnetlist-s_hierarchy.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnetlist-s_misc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnetlist-s_net.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnetlist-s_netattrib.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnetlist-s_netlist.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnetlist-s_rename.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnetlist-s_traverse.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnetlist-vams_misc.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< gnetlist-g_netlist.o: g_netlist.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -MT gnetlist-g_netlist.o -MD -MP -MF $(DEPDIR)/gnetlist-g_netlist.Tpo -c -o gnetlist-g_netlist.o `test -f 'g_netlist.c' || echo '$(srcdir)/'`g_netlist.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gnetlist-g_netlist.Tpo $(DEPDIR)/gnetlist-g_netlist.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='g_netlist.c' object='gnetlist-g_netlist.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -c -o gnetlist-g_netlist.o `test -f 'g_netlist.c' || echo '$(srcdir)/'`g_netlist.c gnetlist-g_netlist.obj: g_netlist.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -MT gnetlist-g_netlist.obj -MD -MP -MF $(DEPDIR)/gnetlist-g_netlist.Tpo -c -o gnetlist-g_netlist.obj `if test -f 'g_netlist.c'; then $(CYGPATH_W) 'g_netlist.c'; else $(CYGPATH_W) '$(srcdir)/g_netlist.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gnetlist-g_netlist.Tpo $(DEPDIR)/gnetlist-g_netlist.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='g_netlist.c' object='gnetlist-g_netlist.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -c -o gnetlist-g_netlist.obj `if test -f 'g_netlist.c'; then $(CYGPATH_W) 'g_netlist.c'; else $(CYGPATH_W) '$(srcdir)/g_netlist.c'; fi` gnetlist-g_rc.o: g_rc.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -MT gnetlist-g_rc.o -MD -MP -MF $(DEPDIR)/gnetlist-g_rc.Tpo -c -o gnetlist-g_rc.o `test -f 'g_rc.c' || echo '$(srcdir)/'`g_rc.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gnetlist-g_rc.Tpo $(DEPDIR)/gnetlist-g_rc.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='g_rc.c' object='gnetlist-g_rc.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -c -o gnetlist-g_rc.o `test -f 'g_rc.c' || echo '$(srcdir)/'`g_rc.c gnetlist-g_rc.obj: g_rc.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -MT gnetlist-g_rc.obj -MD -MP -MF $(DEPDIR)/gnetlist-g_rc.Tpo -c -o gnetlist-g_rc.obj `if test -f 'g_rc.c'; then $(CYGPATH_W) 'g_rc.c'; else $(CYGPATH_W) '$(srcdir)/g_rc.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gnetlist-g_rc.Tpo $(DEPDIR)/gnetlist-g_rc.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='g_rc.c' object='gnetlist-g_rc.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -c -o gnetlist-g_rc.obj `if test -f 'g_rc.c'; then $(CYGPATH_W) 'g_rc.c'; else $(CYGPATH_W) '$(srcdir)/g_rc.c'; fi` gnetlist-g_register.o: g_register.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -MT gnetlist-g_register.o -MD -MP -MF $(DEPDIR)/gnetlist-g_register.Tpo -c -o gnetlist-g_register.o `test -f 'g_register.c' || echo '$(srcdir)/'`g_register.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gnetlist-g_register.Tpo $(DEPDIR)/gnetlist-g_register.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='g_register.c' object='gnetlist-g_register.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -c -o gnetlist-g_register.o `test -f 'g_register.c' || echo '$(srcdir)/'`g_register.c gnetlist-g_register.obj: g_register.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -MT gnetlist-g_register.obj -MD -MP -MF $(DEPDIR)/gnetlist-g_register.Tpo -c -o gnetlist-g_register.obj `if test -f 'g_register.c'; then $(CYGPATH_W) 'g_register.c'; else $(CYGPATH_W) '$(srcdir)/g_register.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gnetlist-g_register.Tpo $(DEPDIR)/gnetlist-g_register.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='g_register.c' object='gnetlist-g_register.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -c -o gnetlist-g_register.obj `if test -f 'g_register.c'; then $(CYGPATH_W) 'g_register.c'; else $(CYGPATH_W) '$(srcdir)/g_register.c'; fi` gnetlist-globals.o: globals.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -MT gnetlist-globals.o -MD -MP -MF $(DEPDIR)/gnetlist-globals.Tpo -c -o gnetlist-globals.o `test -f 'globals.c' || echo '$(srcdir)/'`globals.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gnetlist-globals.Tpo $(DEPDIR)/gnetlist-globals.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='globals.c' object='gnetlist-globals.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -c -o gnetlist-globals.o `test -f 'globals.c' || echo '$(srcdir)/'`globals.c gnetlist-globals.obj: globals.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -MT gnetlist-globals.obj -MD -MP -MF $(DEPDIR)/gnetlist-globals.Tpo -c -o gnetlist-globals.obj `if test -f 'globals.c'; then $(CYGPATH_W) 'globals.c'; else $(CYGPATH_W) '$(srcdir)/globals.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gnetlist-globals.Tpo $(DEPDIR)/gnetlist-globals.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='globals.c' object='gnetlist-globals.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -c -o gnetlist-globals.obj `if test -f 'globals.c'; then $(CYGPATH_W) 'globals.c'; else $(CYGPATH_W) '$(srcdir)/globals.c'; fi` gnetlist-gnetlist.o: gnetlist.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -MT gnetlist-gnetlist.o -MD -MP -MF $(DEPDIR)/gnetlist-gnetlist.Tpo -c -o gnetlist-gnetlist.o `test -f 'gnetlist.c' || echo '$(srcdir)/'`gnetlist.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gnetlist-gnetlist.Tpo $(DEPDIR)/gnetlist-gnetlist.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gnetlist.c' object='gnetlist-gnetlist.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -c -o gnetlist-gnetlist.o `test -f 'gnetlist.c' || echo '$(srcdir)/'`gnetlist.c gnetlist-gnetlist.obj: gnetlist.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -MT gnetlist-gnetlist.obj -MD -MP -MF $(DEPDIR)/gnetlist-gnetlist.Tpo -c -o gnetlist-gnetlist.obj `if test -f 'gnetlist.c'; then $(CYGPATH_W) 'gnetlist.c'; else $(CYGPATH_W) '$(srcdir)/gnetlist.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gnetlist-gnetlist.Tpo $(DEPDIR)/gnetlist-gnetlist.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gnetlist.c' object='gnetlist-gnetlist.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -c -o gnetlist-gnetlist.obj `if test -f 'gnetlist.c'; then $(CYGPATH_W) 'gnetlist.c'; else $(CYGPATH_W) '$(srcdir)/gnetlist.c'; fi` gnetlist-i_vars.o: i_vars.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -MT gnetlist-i_vars.o -MD -MP -MF $(DEPDIR)/gnetlist-i_vars.Tpo -c -o gnetlist-i_vars.o `test -f 'i_vars.c' || echo '$(srcdir)/'`i_vars.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gnetlist-i_vars.Tpo $(DEPDIR)/gnetlist-i_vars.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='i_vars.c' object='gnetlist-i_vars.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -c -o gnetlist-i_vars.o `test -f 'i_vars.c' || echo '$(srcdir)/'`i_vars.c gnetlist-i_vars.obj: i_vars.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -MT gnetlist-i_vars.obj -MD -MP -MF $(DEPDIR)/gnetlist-i_vars.Tpo -c -o gnetlist-i_vars.obj `if test -f 'i_vars.c'; then $(CYGPATH_W) 'i_vars.c'; else $(CYGPATH_W) '$(srcdir)/i_vars.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gnetlist-i_vars.Tpo $(DEPDIR)/gnetlist-i_vars.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='i_vars.c' object='gnetlist-i_vars.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -c -o gnetlist-i_vars.obj `if test -f 'i_vars.c'; then $(CYGPATH_W) 'i_vars.c'; else $(CYGPATH_W) '$(srcdir)/i_vars.c'; fi` gnetlist-parsecmd.o: parsecmd.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -MT gnetlist-parsecmd.o -MD -MP -MF $(DEPDIR)/gnetlist-parsecmd.Tpo -c -o gnetlist-parsecmd.o `test -f 'parsecmd.c' || echo '$(srcdir)/'`parsecmd.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gnetlist-parsecmd.Tpo $(DEPDIR)/gnetlist-parsecmd.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='parsecmd.c' object='gnetlist-parsecmd.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -c -o gnetlist-parsecmd.o `test -f 'parsecmd.c' || echo '$(srcdir)/'`parsecmd.c gnetlist-parsecmd.obj: parsecmd.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -MT gnetlist-parsecmd.obj -MD -MP -MF $(DEPDIR)/gnetlist-parsecmd.Tpo -c -o gnetlist-parsecmd.obj `if test -f 'parsecmd.c'; then $(CYGPATH_W) 'parsecmd.c'; else $(CYGPATH_W) '$(srcdir)/parsecmd.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gnetlist-parsecmd.Tpo $(DEPDIR)/gnetlist-parsecmd.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='parsecmd.c' object='gnetlist-parsecmd.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -c -o gnetlist-parsecmd.obj `if test -f 'parsecmd.c'; then $(CYGPATH_W) 'parsecmd.c'; else $(CYGPATH_W) '$(srcdir)/parsecmd.c'; fi` gnetlist-s_cpinlist.o: s_cpinlist.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -MT gnetlist-s_cpinlist.o -MD -MP -MF $(DEPDIR)/gnetlist-s_cpinlist.Tpo -c -o gnetlist-s_cpinlist.o `test -f 's_cpinlist.c' || echo '$(srcdir)/'`s_cpinlist.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gnetlist-s_cpinlist.Tpo $(DEPDIR)/gnetlist-s_cpinlist.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_cpinlist.c' object='gnetlist-s_cpinlist.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -c -o gnetlist-s_cpinlist.o `test -f 's_cpinlist.c' || echo '$(srcdir)/'`s_cpinlist.c gnetlist-s_cpinlist.obj: s_cpinlist.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -MT gnetlist-s_cpinlist.obj -MD -MP -MF $(DEPDIR)/gnetlist-s_cpinlist.Tpo -c -o gnetlist-s_cpinlist.obj `if test -f 's_cpinlist.c'; then $(CYGPATH_W) 's_cpinlist.c'; else $(CYGPATH_W) '$(srcdir)/s_cpinlist.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gnetlist-s_cpinlist.Tpo $(DEPDIR)/gnetlist-s_cpinlist.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_cpinlist.c' object='gnetlist-s_cpinlist.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -c -o gnetlist-s_cpinlist.obj `if test -f 's_cpinlist.c'; then $(CYGPATH_W) 's_cpinlist.c'; else $(CYGPATH_W) '$(srcdir)/s_cpinlist.c'; fi` gnetlist-s_hierarchy.o: s_hierarchy.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -MT gnetlist-s_hierarchy.o -MD -MP -MF $(DEPDIR)/gnetlist-s_hierarchy.Tpo -c -o gnetlist-s_hierarchy.o `test -f 's_hierarchy.c' || echo '$(srcdir)/'`s_hierarchy.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gnetlist-s_hierarchy.Tpo $(DEPDIR)/gnetlist-s_hierarchy.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_hierarchy.c' object='gnetlist-s_hierarchy.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -c -o gnetlist-s_hierarchy.o `test -f 's_hierarchy.c' || echo '$(srcdir)/'`s_hierarchy.c gnetlist-s_hierarchy.obj: s_hierarchy.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -MT gnetlist-s_hierarchy.obj -MD -MP -MF $(DEPDIR)/gnetlist-s_hierarchy.Tpo -c -o gnetlist-s_hierarchy.obj `if test -f 's_hierarchy.c'; then $(CYGPATH_W) 's_hierarchy.c'; else $(CYGPATH_W) '$(srcdir)/s_hierarchy.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gnetlist-s_hierarchy.Tpo $(DEPDIR)/gnetlist-s_hierarchy.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_hierarchy.c' object='gnetlist-s_hierarchy.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -c -o gnetlist-s_hierarchy.obj `if test -f 's_hierarchy.c'; then $(CYGPATH_W) 's_hierarchy.c'; else $(CYGPATH_W) '$(srcdir)/s_hierarchy.c'; fi` gnetlist-s_misc.o: s_misc.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -MT gnetlist-s_misc.o -MD -MP -MF $(DEPDIR)/gnetlist-s_misc.Tpo -c -o gnetlist-s_misc.o `test -f 's_misc.c' || echo '$(srcdir)/'`s_misc.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gnetlist-s_misc.Tpo $(DEPDIR)/gnetlist-s_misc.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_misc.c' object='gnetlist-s_misc.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -c -o gnetlist-s_misc.o `test -f 's_misc.c' || echo '$(srcdir)/'`s_misc.c gnetlist-s_misc.obj: s_misc.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -MT gnetlist-s_misc.obj -MD -MP -MF $(DEPDIR)/gnetlist-s_misc.Tpo -c -o gnetlist-s_misc.obj `if test -f 's_misc.c'; then $(CYGPATH_W) 's_misc.c'; else $(CYGPATH_W) '$(srcdir)/s_misc.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gnetlist-s_misc.Tpo $(DEPDIR)/gnetlist-s_misc.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_misc.c' object='gnetlist-s_misc.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -c -o gnetlist-s_misc.obj `if test -f 's_misc.c'; then $(CYGPATH_W) 's_misc.c'; else $(CYGPATH_W) '$(srcdir)/s_misc.c'; fi` gnetlist-s_net.o: s_net.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -MT gnetlist-s_net.o -MD -MP -MF $(DEPDIR)/gnetlist-s_net.Tpo -c -o gnetlist-s_net.o `test -f 's_net.c' || echo '$(srcdir)/'`s_net.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gnetlist-s_net.Tpo $(DEPDIR)/gnetlist-s_net.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_net.c' object='gnetlist-s_net.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -c -o gnetlist-s_net.o `test -f 's_net.c' || echo '$(srcdir)/'`s_net.c gnetlist-s_net.obj: s_net.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -MT gnetlist-s_net.obj -MD -MP -MF $(DEPDIR)/gnetlist-s_net.Tpo -c -o gnetlist-s_net.obj `if test -f 's_net.c'; then $(CYGPATH_W) 's_net.c'; else $(CYGPATH_W) '$(srcdir)/s_net.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gnetlist-s_net.Tpo $(DEPDIR)/gnetlist-s_net.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_net.c' object='gnetlist-s_net.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -c -o gnetlist-s_net.obj `if test -f 's_net.c'; then $(CYGPATH_W) 's_net.c'; else $(CYGPATH_W) '$(srcdir)/s_net.c'; fi` gnetlist-s_netattrib.o: s_netattrib.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -MT gnetlist-s_netattrib.o -MD -MP -MF $(DEPDIR)/gnetlist-s_netattrib.Tpo -c -o gnetlist-s_netattrib.o `test -f 's_netattrib.c' || echo '$(srcdir)/'`s_netattrib.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gnetlist-s_netattrib.Tpo $(DEPDIR)/gnetlist-s_netattrib.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_netattrib.c' object='gnetlist-s_netattrib.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -c -o gnetlist-s_netattrib.o `test -f 's_netattrib.c' || echo '$(srcdir)/'`s_netattrib.c gnetlist-s_netattrib.obj: s_netattrib.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -MT gnetlist-s_netattrib.obj -MD -MP -MF $(DEPDIR)/gnetlist-s_netattrib.Tpo -c -o gnetlist-s_netattrib.obj `if test -f 's_netattrib.c'; then $(CYGPATH_W) 's_netattrib.c'; else $(CYGPATH_W) '$(srcdir)/s_netattrib.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gnetlist-s_netattrib.Tpo $(DEPDIR)/gnetlist-s_netattrib.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_netattrib.c' object='gnetlist-s_netattrib.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -c -o gnetlist-s_netattrib.obj `if test -f 's_netattrib.c'; then $(CYGPATH_W) 's_netattrib.c'; else $(CYGPATH_W) '$(srcdir)/s_netattrib.c'; fi` gnetlist-s_netlist.o: s_netlist.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -MT gnetlist-s_netlist.o -MD -MP -MF $(DEPDIR)/gnetlist-s_netlist.Tpo -c -o gnetlist-s_netlist.o `test -f 's_netlist.c' || echo '$(srcdir)/'`s_netlist.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gnetlist-s_netlist.Tpo $(DEPDIR)/gnetlist-s_netlist.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_netlist.c' object='gnetlist-s_netlist.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -c -o gnetlist-s_netlist.o `test -f 's_netlist.c' || echo '$(srcdir)/'`s_netlist.c gnetlist-s_netlist.obj: s_netlist.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -MT gnetlist-s_netlist.obj -MD -MP -MF $(DEPDIR)/gnetlist-s_netlist.Tpo -c -o gnetlist-s_netlist.obj `if test -f 's_netlist.c'; then $(CYGPATH_W) 's_netlist.c'; else $(CYGPATH_W) '$(srcdir)/s_netlist.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gnetlist-s_netlist.Tpo $(DEPDIR)/gnetlist-s_netlist.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_netlist.c' object='gnetlist-s_netlist.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -c -o gnetlist-s_netlist.obj `if test -f 's_netlist.c'; then $(CYGPATH_W) 's_netlist.c'; else $(CYGPATH_W) '$(srcdir)/s_netlist.c'; fi` gnetlist-s_rename.o: s_rename.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -MT gnetlist-s_rename.o -MD -MP -MF $(DEPDIR)/gnetlist-s_rename.Tpo -c -o gnetlist-s_rename.o `test -f 's_rename.c' || echo '$(srcdir)/'`s_rename.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gnetlist-s_rename.Tpo $(DEPDIR)/gnetlist-s_rename.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_rename.c' object='gnetlist-s_rename.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -c -o gnetlist-s_rename.o `test -f 's_rename.c' || echo '$(srcdir)/'`s_rename.c gnetlist-s_rename.obj: s_rename.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -MT gnetlist-s_rename.obj -MD -MP -MF $(DEPDIR)/gnetlist-s_rename.Tpo -c -o gnetlist-s_rename.obj `if test -f 's_rename.c'; then $(CYGPATH_W) 's_rename.c'; else $(CYGPATH_W) '$(srcdir)/s_rename.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gnetlist-s_rename.Tpo $(DEPDIR)/gnetlist-s_rename.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_rename.c' object='gnetlist-s_rename.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -c -o gnetlist-s_rename.obj `if test -f 's_rename.c'; then $(CYGPATH_W) 's_rename.c'; else $(CYGPATH_W) '$(srcdir)/s_rename.c'; fi` gnetlist-s_traverse.o: s_traverse.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -MT gnetlist-s_traverse.o -MD -MP -MF $(DEPDIR)/gnetlist-s_traverse.Tpo -c -o gnetlist-s_traverse.o `test -f 's_traverse.c' || echo '$(srcdir)/'`s_traverse.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gnetlist-s_traverse.Tpo $(DEPDIR)/gnetlist-s_traverse.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_traverse.c' object='gnetlist-s_traverse.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -c -o gnetlist-s_traverse.o `test -f 's_traverse.c' || echo '$(srcdir)/'`s_traverse.c gnetlist-s_traverse.obj: s_traverse.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -MT gnetlist-s_traverse.obj -MD -MP -MF $(DEPDIR)/gnetlist-s_traverse.Tpo -c -o gnetlist-s_traverse.obj `if test -f 's_traverse.c'; then $(CYGPATH_W) 's_traverse.c'; else $(CYGPATH_W) '$(srcdir)/s_traverse.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gnetlist-s_traverse.Tpo $(DEPDIR)/gnetlist-s_traverse.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_traverse.c' object='gnetlist-s_traverse.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -c -o gnetlist-s_traverse.obj `if test -f 's_traverse.c'; then $(CYGPATH_W) 's_traverse.c'; else $(CYGPATH_W) '$(srcdir)/s_traverse.c'; fi` gnetlist-vams_misc.o: vams_misc.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -MT gnetlist-vams_misc.o -MD -MP -MF $(DEPDIR)/gnetlist-vams_misc.Tpo -c -o gnetlist-vams_misc.o `test -f 'vams_misc.c' || echo '$(srcdir)/'`vams_misc.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gnetlist-vams_misc.Tpo $(DEPDIR)/gnetlist-vams_misc.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vams_misc.c' object='gnetlist-vams_misc.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -c -o gnetlist-vams_misc.o `test -f 'vams_misc.c' || echo '$(srcdir)/'`vams_misc.c gnetlist-vams_misc.obj: vams_misc.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -MT gnetlist-vams_misc.obj -MD -MP -MF $(DEPDIR)/gnetlist-vams_misc.Tpo -c -o gnetlist-vams_misc.obj `if test -f 'vams_misc.c'; then $(CYGPATH_W) 'vams_misc.c'; else $(CYGPATH_W) '$(srcdir)/vams_misc.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gnetlist-vams_misc.Tpo $(DEPDIR)/gnetlist-vams_misc.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vams_misc.c' object='gnetlist-vams_misc.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnetlist_CPPFLAGS) $(CPPFLAGS) $(gnetlist_CFLAGS) $(CFLAGS) -c -o gnetlist-vams_misc.obj `if test -f 'vams_misc.c'; then $(CYGPATH_W) 'vams_misc.c'; else $(CYGPATH_W) '$(srcdir)/vams_misc.c'; fi` mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) installdirs: for dir in "$(DESTDIR)$(bindir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-binPROGRAMS install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-binPROGRAMS .MAKE: install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \ clean-binPROGRAMS clean-generic clean-libtool cscopelist-am \ ctags ctags-am distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-binPROGRAMS \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am uninstall-binPROGRAMS # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/gnetlist/src/s_cpinlist.c0000664000175000017500000000751012050461155015035 00000000000000/* gEDA - GPL Electronic Design Automation * gnetlist - gEDA Netlist * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_ASSERT_H #include #endif #ifdef HAVE_STRING_H #include #endif #include #include "../include/globals.h" #include "../include/prototype.h" #ifdef HAVE_LIBDMALLOC #include #endif /* hack rename this to be s_return_tail */ /* update object_tail or any list of that matter */ CPINLIST *s_cpinlist_return_tail(CPINLIST * head) { CPINLIST *pl_current = NULL; CPINLIST *ret_struct = NULL; pl_current = head; while (pl_current != NULL) { /* goto end of list */ ret_struct = pl_current; pl_current = pl_current->next; } return (ret_struct); } /* hack rename this to be s_return_head */ /* update object_tail or any list of that matter */ CPINLIST *s_cpinlist_return_head(CPINLIST * tail) { CPINLIST *pl_current = NULL; CPINLIST *ret_struct = NULL; pl_current = tail; while (pl_current != NULL) { /* goto end of list */ ret_struct = pl_current; pl_current = pl_current->prev; } return (ret_struct); } /* returns new node */ CPINLIST *s_cpinlist_add(CPINLIST * ptr) { CPINLIST *new_node; new_node = (CPINLIST *) g_malloc(sizeof(CPINLIST)); /* setup node information */ new_node->plid = 0; new_node->type = PIN_TYPE_NET; new_node->pin_number = NULL; new_node->pin_label = NULL; new_node->net_name = NULL; new_node->nets = NULL; /* Setup link list stuff */ new_node->next = NULL; if (ptr == NULL) { new_node->prev = NULL; /* setup previous link */ return (new_node); } else { new_node->prev = ptr; /* setup previous link */ ptr->next = new_node; return (ptr->next); } } void s_cpinlist_print(CPINLIST * ptr) { CPINLIST *pl_current = NULL; pl_current = ptr; if (pl_current == NULL) { return; } while (pl_current != NULL) { if (pl_current->plid != -1) { if (pl_current->pin_number) { printf(" pin %s", pl_current->pin_number); } else { printf(" pin ?"); } if (pl_current->pin_label) { printf(" (%s)", pl_current->pin_label); } else { printf(" ()"); } if (pl_current->net_name) { printf(" %s", pl_current->net_name); } else { printf(" Null net name"); } printf("\n"); if (pl_current->nets) { s_net_print(pl_current->nets); } } pl_current = pl_current->next; } } CPINLIST *s_cpinlist_search_pin(CPINLIST * ptr, char *pin_number) { CPINLIST *pl_current = NULL; pl_current = ptr; if (pl_current == NULL) { return (NULL); } while (pl_current != NULL) { if (pl_current->plid != -1 && (pl_current->pin_number != NULL)) { if (strcmp(pl_current->pin_number, pin_number) == 0) { #if DEBUG printf("equal: %s %s\n", pl_current->pin_number, pin_number); #endif return (pl_current); } } pl_current = pl_current->next; } return (NULL); } geda-gaf-1.8.2/gnetlist/src/s_misc.c0000664000175000017500000000306612220647257014155 00000000000000/* gEDA - GPL Electronic Design Automation * gnetlist - gEDA Netlist * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #ifdef HAVE_STRING_H #include #endif #include #include "../include/globals.h" #include "../include/prototype.h" #ifdef HAVE_LIBDMALLOC #include #endif static int char_index = 0; void verbose_print(char *string) { if (verbose_mode) { printf("%s", string); char_index++; if ((char_index + 1) >= 78) { printf("\n"); char_index = 0; } } } void verbose_done(void) { if (verbose_mode) { if (char_index >= 70) { printf("\nDONE\n"); } else { printf(" DONE\n"); } char_index = 0; } } void verbose_reset_index(void) { char_index = 0; } geda-gaf-1.8.2/gnetlist/src/s_net.c0000664000175000017500000002424012220647277014007 00000000000000/* gEDA - GPL Electronic Design Automation * gnetlist - gEDA Netlist * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #include #ifdef HAVE_STRING_H #include #endif #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_ASSERT_H #include #endif #include #include "../include/globals.h" #include "../include/prototype.h" #ifdef HAVE_LIBDMALLOC #include #endif static int unnamed_net_counter = 1; static int unnamed_bus_counter = 1; static int unnamed_pin_counter = 1; #define MAX_UNNAMED_NETS 99999999 #define MAX_UNNAMED_PINS 99999999 /* hack rename this to be s_return_tail */ /* update object_tail or any list of that matter */ NET *s_net_return_tail(NET * head) { NET *n_current = NULL; NET *ret_struct = NULL; n_current = head; while (n_current != NULL) { /* goto end of list */ ret_struct = n_current; n_current = n_current->next; } return (ret_struct); } /* hack rename this to be s_return_head */ /* update object_tail or any list of that matter */ NET *s_net_return_head(NET * tail) { NET *n_current = NULL; NET *ret_struct = NULL; n_current = tail; while (n_current != NULL) { /* goto end of list */ ret_struct = n_current; n_current = n_current->prev; } return (ret_struct); } NET *s_net_add(NET * ptr) { NET *new_node; new_node = (NET *) g_malloc(sizeof(NET)); /* setup node information */ new_node->net_name = NULL; new_node->pin_label = NULL; new_node->net_name_has_priority = FALSE; new_node->nid = 0; new_node->connected_to = NULL; /* Setup link list stuff */ new_node->next = NULL; if (ptr == NULL) { new_node->prev = NULL; /* setup previous link */ return (new_node); } else { new_node->prev = ptr; /* setup previous link */ ptr->next = new_node; return (ptr->next); } } void s_net_print(NET * ptr) { NET *n_current = NULL; n_current = ptr; if (n_current == NULL) { return; } while (n_current != NULL) { if (n_current->nid != -1) { #if DEBUG if (n_current->net_name) { printf(" %s [%d]\n", n_current->net_name, n_current->nid); } #endif if (n_current->connected_to) { printf(" %s [%d]\n", n_current->connected_to, n_current->nid); } } n_current = n_current->next; } } /* object being a pin */ char *s_net_return_connected_string(TOPLEVEL * pr_current, OBJECT * object, char *hierarchy_tag) { OBJECT *o_current; char *pinnum = NULL; char *uref = NULL; SCM scm_uref; char *temp_uref = NULL; char *string; char *misc; o_current = object; pinnum = o_attrib_search_object_attribs_by_name (o_current, "pinnumber", 0); #if DEBUG printf("found pinnum: %s\n", pinnum); #endif scm_uref = g_scm_c_get_uref(pr_current, o_current->parent); if (scm_is_string( scm_uref )) { temp_uref = scm_to_utf8_string (scm_uref); } /* apply the hierarchy name to the uref */ uref = s_hierarchy_create_uref(pr_current, temp_uref, hierarchy_tag); if (uref && pinnum) { string = g_strdup_printf("%s %s", uref, pinnum); s_netattrib_check_connected_string (string); } else { if (pinnum) { string = s_netattrib_pinnum_get_connected_string (pinnum); } else { if (hierarchy_tag) { misc = s_hierarchy_create_uref(pr_current, "U?", hierarchy_tag); string = g_strdup_printf("%s ?", misc); g_free(misc); } else { string = g_strdup("U? ?"); } fprintf(stderr, "Missing Attributes (refdes and pin number)\n"); } } g_free(pinnum); g_free(uref); g_free(temp_uref); return (string); } int s_net_find(NET * net_head, NET * node) { NET *n_current; n_current = net_head; while (n_current != NULL) { if (n_current->nid == node->nid) { return (TRUE); } n_current = n_current->next; } return (FALSE); } char *s_net_name_search(TOPLEVEL * pr_current, NET * net_head) { NET *n_current; char *name = NULL; n_current = net_head; while (n_current != NULL) { if (n_current->net_name) { if (name == NULL) { name = n_current->net_name; } else if (strcmp(name, n_current->net_name) != 0) { #if DEBUG fprintf(stderr, "Found a net with two names!\n"); fprintf(stderr, "Net called: [%s] and [%s]\n", name, n_current->net_name); #endif /* only rename if this net name has priority */ /* AND, you are using net= attributes as the */ /* netnames which have priority */ if (pr_current->net_naming_priority == NETATTRIB_ATTRIBUTE) { #if DEBUG printf("\nNETATTRIB_ATTRIBUTE\n"); #endif if (n_current->net_name_has_priority) { #if DEBUG fprintf(stderr, "Net is now called: [%s]\n", n_current->net_name); /* this show how to rename nets */ printf("\nRENAME all nets: %s -> %s\n", name, n_current->net_name); #endif s_rename_add(name, n_current->net_name); name = n_current->net_name; } else { #if DEBUG printf ("\nFound a net name called [%s], but it doesn't have priority\n", n_current->net_name); #endif /* do the rename anyways, this might cause problems */ /* this will rename net which have the same label= */ if (!s_rename_search (name, n_current->net_name, TRUE)) { fprintf(stderr, "Found duplicate net name, renaming [%s] to [%s]\n", name, n_current->net_name); s_rename_add(name, n_current->net_name); name = n_current->net_name; } } } else { /* NETNAME_ATTRIBUTE */ #if DEBUG printf("\nNETNAME_ATTRIBUTE\n"); #endif /* here we want to rename the net */ /* that has priority to the label */ /* name */ if (n_current->net_name_has_priority) { #if DEBUG /* this shows how to rename nets */ printf("\nRENAME all nets: %s -> %s (priority)\n", n_current->net_name, name); #endif s_rename_add(n_current->net_name, name); } else { #if DEBUG /* this shows how to rename nets */ printf ("\nRENAME all nets: %s -> %s (not priority)\n", name, n_current->net_name); #endif /* do the rename anyways, this might cause problems */ /* this will rename net which have the same label= */ if (!s_rename_search (name, n_current->net_name, TRUE)) { fprintf(stderr, "Found duplicate net name, renaming [%s] to [%s]\n", name, n_current->net_name); s_rename_add(name, n_current->net_name); name = n_current->net_name; } } #if DEBUG fprintf(stderr, "Net is now called: [%s]\n", name); #endif } } } n_current = n_current->next; } if (name) { return (name); } else { return (NULL); } } char *s_net_name (TOPLEVEL * pr_current, NETLIST * netlist_head, NET * net_head, char *hierarchy_tag, int type) { char *string = NULL; NET *n_start; NETLIST *nl_current; CPINLIST *pl_current; char *net_name = NULL; int found = 0; char *temp; int *unnamed_counter; char *unnamed_string; net_name = s_net_name_search(pr_current, net_head); if (net_name) { return (net_name); } #if DEBUG printf("didn't find named net\n"); #endif /* didn't find a name */ /* go looking for another net which might have already been named */ /* ie you don't want to create a new unnamed net if the net has */ /* already been named */ nl_current = netlist_head; while (nl_current != NULL) { if (nl_current->cpins) { pl_current = nl_current->cpins; while (pl_current != NULL) { if (pl_current->nets) { n_start = pl_current->nets; if (n_start->next && net_head->next) { found = s_net_find(n_start->next, net_head->next); if (found) { net_name = s_net_name_search(pr_current, n_start); if (net_name) { return (net_name); } } } } pl_current = pl_current->next; } } nl_current = nl_current->next; } #if DEBUG printf("didn't find previously named\n"); #endif /* AND we don't want to assign a dangling pin */ /* which is signified by having only a head node */ /* which is just a place holder */ /* and the head node shows up here */ if (net_head->nid == -1 && net_head->prev == NULL && net_head->next == NULL) { string = g_strdup_printf("unconnected_pin-%d", unnamed_pin_counter++); return (string); } switch (type) { case PIN_TYPE_NET: unnamed_counter = &unnamed_net_counter; unnamed_string = pr_current->unnamed_netname; break; case PIN_TYPE_BUS: unnamed_counter = &unnamed_bus_counter; unnamed_string = pr_current->unnamed_busname; break; default: g_critical ("Incorrect connectivity type %i in s_name_nets()\n", type); return NULL; } /* have we exceeded the number of unnamed nets? */ if (*unnamed_counter < MAX_UNNAMED_NETS) { if (netlist_mode == SPICE) { string = g_strdup_printf("%d", (*unnamed_counter)++); } else { temp = g_strdup_printf ("%s%d", unnamed_string, (*unnamed_counter)++); if (hierarchy_tag) { string = s_hierarchy_create_netname (pr_current, temp, hierarchy_tag); g_free (temp); } else { string = temp; } } } else { fprintf(stderr, "Increase number of unnamed nets (s_net.c)\n"); exit(-1); } return string; } geda-gaf-1.8.2/gnetlist/src/g_rc.c0000664000175000017500000001273012220647257013610 00000000000000/* gEDA - GPL Electronic Design Automation * gnetlist - gEDA Netlist * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #include #include #include #ifdef HAVE_STRING_H #include #endif #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_UNISTD_H #include #endif #include #include "../include/globals.h" #include "../include/i_vars.h" #include "../include/prototype.h" #ifdef HAVE_LIBDMALLOC #include #endif SCM g_rc_gnetlist_version(SCM scm_version) { char *version; SCM ret = SCM_BOOL_T; SCM_ASSERT (scm_is_string (scm_version), scm_version, SCM_ARG1, "gnetlist-version"); version = scm_to_utf8_string (scm_version); if (strcmp (version, PACKAGE_DATE_VERSION) != 0) { fprintf(stderr, "You are running gEDA/gaf version [%s%s.%s],\n", PREPEND_VERSION_STRING, PACKAGE_DOTTED_VERSION, PACKAGE_DATE_VERSION); fprintf(stderr, "but you have a version [%s] gnetlistrc file:\n[%s]\n", version, rc_filename); fprintf(stderr, "Please be sure that you have the latest rc file.\n"); ret = SCM_BOOL_F; } free (version); return ret; } SCM g_rc_net_naming_priority(SCM mode) { static const vstbl_entry mode_table[] = { {NETATTRIB_ATTRIBUTE, "netattrib"}, {NETNAME_ATTRIBUTE, "netname"} }; RETURN_G_RC_MODE("net-naming-priority", default_net_naming_priority, 2); } SCM g_rc_hierarchy_traversal(SCM mode) { static const vstbl_entry mode_table[] = { {TRUE, "enabled"}, {FALSE, "disabled"} }; RETURN_G_RC_MODE("hierarchy-traversal", default_hierarchy_traversal, 2); } SCM g_rc_hierarchy_uref_mangle(SCM mode) { static const vstbl_entry mode_table[] = { {TRUE, "enabled"}, {FALSE, "disabled"} }; RETURN_G_RC_MODE("hierarchy-uref-mangle", default_hierarchy_uref_mangle, 2); } SCM g_rc_hierarchy_netname_mangle(SCM mode) { static const vstbl_entry mode_table[] = { {TRUE, "enabled"}, {FALSE, "disabled"} }; RETURN_G_RC_MODE("hierarchy-netname-mangle", default_hierarchy_netname_mangle, 2); } SCM g_rc_hierarchy_netattrib_mangle(SCM mode) { static const vstbl_entry mode_table[] = { {TRUE, "enabled"}, {FALSE, "disabled"} }; RETURN_G_RC_MODE("hierarchy-netattrib-mangle", default_hierarchy_netattrib_mangle, 2); } static char * g_strdup_scm_string(SCM scm_s) { char *s, *ret; s = scm_to_utf8_string (scm_s); ret = g_strdup (s); free (s); return ret; } SCM g_rc_hierarchy_netname_separator(SCM name) { SCM_ASSERT (scm_is_string (name), name, SCM_ARG1, "hierarchy-netname-separator"); g_free(default_hierarchy_netname_separator); default_hierarchy_netname_separator = g_strdup_scm_string (name); return SCM_BOOL_T; } SCM g_rc_hierarchy_netattrib_separator(SCM name) { SCM_ASSERT (scm_is_string (name), name, SCM_ARG1, "hierarchy-netattrib-separator"); g_free(default_hierarchy_netattrib_separator); default_hierarchy_netattrib_separator = g_strdup_scm_string (name); return SCM_BOOL_T; } SCM g_rc_hierarchy_uref_separator(SCM name) { SCM_ASSERT (scm_is_string (name), name, SCM_ARG1, "hierarchy-uref-separator"); g_free(default_hierarchy_uref_separator); default_hierarchy_uref_separator = g_strdup_scm_string (name); return SCM_BOOL_T; } SCM g_rc_hierarchy_netattrib_order(SCM mode) { static const vstbl_entry mode_table[] = { {PREPEND, "prepend"}, {APPEND, "append"} }; RETURN_G_RC_MODE("hierarchy-netattrib-order", default_hierarchy_netattrib_order, 2); } SCM g_rc_hierarchy_netname_order(SCM mode) { static const vstbl_entry mode_table[] = { {PREPEND, "prepend"}, {APPEND, "append"} }; RETURN_G_RC_MODE("hierarchy-netname-order", default_hierarchy_netname_order, 2); } SCM g_rc_hierarchy_uref_order(SCM mode) { static const vstbl_entry mode_table[] = { {PREPEND, "prepend"}, {APPEND, "append"} }; RETURN_G_RC_MODE("hierarchy-uref-order", default_hierarchy_uref_order, 2); } SCM g_rc_unnamed_netname(SCM name) { SCM_ASSERT (scm_is_string (name), name, SCM_ARG1, "unamed-netname"); g_free(default_unnamed_netname); default_unnamed_netname = g_strdup_scm_string (name); return SCM_BOOL_T; } SCM g_rc_unnamed_busname(SCM name) { SCM_ASSERT (scm_is_string (name), name, SCM_ARG1, "unamed-busname"); g_free(default_unnamed_busname); default_unnamed_busname = g_strdup_scm_string (name); return SCM_BOOL_T; } /*************************** GUILE end done *********************************/ geda-gaf-1.8.2/gnetlist/src/s_netlist.c0000664000175000017500000001574712210655251014705 00000000000000/* gEDA - GPL Electronic Design Automation * gnetlist - gEDA Netlist * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_ASSERT_H #include #endif #include #include "../include/globals.h" #include "../include/prototype.h" #ifdef HAVE_LIBDMALLOC #include #endif /* used by the extract functions below */ #define DELIMITERS ",; " /* hack rename this to be s_return_tail */ /* update object_tail or any list of that matter */ NETLIST *s_netlist_return_tail(NETLIST * head) { NETLIST *nl_current = NULL; NETLIST *ret_struct = NULL; nl_current = head; while (nl_current != NULL) { /* goto end of list */ ret_struct = nl_current; nl_current = nl_current->next; } return (ret_struct); } /* hack rename this to be s_return_head */ /* update object_tail or any list of that matter */ NETLIST *s_netlist_return_head(NETLIST * tail) { NETLIST *nl_current = NULL; NETLIST *ret_struct = NULL; nl_current = tail; while (nl_current != NULL) { /* goto end of list */ ret_struct = nl_current; nl_current = nl_current->prev; } return (ret_struct); } /* returns new node */ NETLIST *s_netlist_add(NETLIST * ptr) { NETLIST *new_node; new_node = (NETLIST *) g_malloc(sizeof(NETLIST)); /* setup node information */ new_node->nlid = 0; new_node->cpins = NULL; new_node->component_uref = NULL; new_node->object_ptr = NULL; new_node->hierarchy_tag = NULL; new_node->composite_component = FALSE; /* Setup link list stuff */ new_node->next = NULL; if (ptr == NULL) { new_node->prev = NULL; /* setup previous link */ return (new_node); } else { new_node->prev = ptr; /* setup previous link */ ptr->next = new_node; return (ptr->next); } } void s_netlist_print(NETLIST * ptr) { NETLIST *nl_current = NULL; nl_current = ptr; if (nl_current == NULL) { return; } while (nl_current != NULL) { if (nl_current->nlid != -1) { if (nl_current->component_uref) { printf("component %s \n", nl_current->component_uref); } else { printf("component SPECIAL \n"); } if (nl_current->hierarchy_tag) { printf("Hierarchy tag: %s\n", nl_current->hierarchy_tag); } if (nl_current->cpins) { s_cpinlist_print(nl_current->cpins); } printf("\n"); } nl_current = nl_current->next; } printf("\n"); } void s_netlist_post_process(TOPLEVEL * pr_current, NETLIST * head) { NETLIST *nl_current; CPINLIST *pl_current; nl_current = head; if (verbose_mode) { printf("\n- Staring post processing\n"); printf("- Naming nets:\n"); } /* this pass gives all nets a name, whether specified or creates a */ /* name */ nl_current = head; while (nl_current != NULL) { if (nl_current->cpins) { pl_current = nl_current->cpins; while (pl_current != NULL) { if (pl_current->plid != -1) { verbose_print("p"); } if (pl_current->plid != -1 && pl_current->nets) { g_free(pl_current->net_name); verbose_print("n"); /* only name nets of components which */ /* have a uref */ if (nl_current->component_uref) { pl_current->net_name = s_net_name(pr_current, head, pl_current->nets, nl_current->hierarchy_tag, pl_current->type); /* put this name also in the first node of the nets linked list */ if (pl_current->net_name && pl_current->nets) { if (pl_current->nets->next) { pl_current->nets->next->net_name = g_strdup (pl_current->net_name); } } } } pl_current = pl_current->next; } } nl_current = nl_current->next; } verbose_done(); if (verbose_mode) { printf("- Renaming nets:\n"); } s_rename_all(pr_current, head); verbose_done(); if (verbose_mode) { printf("- Resolving hierarchy:\n"); } s_hierarchy_post_process(pr_current, head); verbose_done(); if (pr_current->hierarchy_uref_mangle == FALSE) { if (verbose_mode) { printf("- Removing refdes mangling:\n"); } s_hierarchy_remove_uref_mangling(pr_current, head); } verbose_done(); } void s_netlist_name_named_nets (TOPLEVEL *pr_current, NETLIST *named_netlist, NETLIST *unnamed_netlist) { NETLIST *nl_current; CPINLIST *pl_current; NET *n_current; char *net_name; if (verbose_mode) { printf("\n- Staring post processing\n"); printf("- Naming nets of graphical objects:\n"); } /* this pass gives all nets a name, whether specified or creates a */ /* name */ nl_current = unnamed_netlist; while (nl_current != NULL) { if (nl_current->cpins) { pl_current = nl_current->cpins; while (pl_current != NULL) { if (pl_current->plid != -1) { verbose_print("p"); } if (pl_current->plid != -1 && pl_current->nets) { verbose_print("n"); net_name = NULL; n_current = pl_current->nets; while (n_current != NULL) { g_free (n_current->net_name); n_current->net_name = s_netlist_netname_of_netid(pr_current, named_netlist, n_current->nid); if (n_current->net_name != NULL) { net_name = n_current->net_name; } n_current = n_current->next; } if (net_name != NULL) { pl_current->net_name = g_strdup(net_name); } } pl_current = pl_current->next; } } nl_current = nl_current->next; } verbose_done(); } char *s_netlist_netname_of_netid (TOPLEVEL *pr_current, NETLIST *netlist_head, int net_id) { NETLIST *nl_current; CPINLIST *pl_current; NET *n_current; nl_current = netlist_head; /* walk through the list of components, and through the list * of individual pins on each, looking for the net identifier */ while (nl_current != NULL) { pl_current = nl_current->cpins; while (pl_current != NULL) { if (pl_current->net_name) { n_current = pl_current->nets; while (n_current != NULL) { if (n_current->nid == net_id) { return (g_strdup(n_current->net_name)); } n_current = n_current->next; } } pl_current = pl_current->next; } nl_current = nl_current->next; } return NULL; } geda-gaf-1.8.2/gnetlist/src/s_rename.c0000664000175000017500000002035112220647257014465 00000000000000/* gEDA - GPL Electronic Design Automation * gnetlist - gEDA Netlist * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /* * 2005/05/02 Almost totally reimplemented to support dynamic allocation. * * Changes are Copyright (C) 2005 Carlos A. R. Azevedo */ #include #include #include #include #ifdef HAVE_STRING_H #include #endif #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_ASSERT_H #include #endif #include #include "../include/globals.h" #include "../include/prototype.h" #ifdef HAVE_LIBDMALLOC #include #endif typedef struct { void * next; char * src; char * dest; } RENAME; typedef struct { void * next_set; RENAME * first_rename; RENAME * last_rename; } SET; static SET * first_set = NULL; static SET * last_set = NULL; void s_rename_init(void) { if (first_set) { fprintf(stderr,"ERROR: Overwriting a valid rename list.\n"); exit(-1); } } void s_rename_destroy_all(void) { RENAME * temp; void * to_free; for (; first_set;) { for (temp = first_set->first_rename; temp;) { g_free(temp->src); g_free(temp->dest); to_free = temp; temp = temp->next; g_free(to_free); } to_free = first_set; first_set = first_set->next_set; g_free(to_free); } last_set = NULL; } void s_rename_next_set(void) { SET * new_set; new_set = g_malloc(sizeof(SET)); memset(new_set,0,sizeof(SET)); if (first_set) { last_set->next_set = new_set; last_set = new_set; } else { first_set = last_set = new_set; } } void s_rename_print(void) { SET * temp_set; RENAME * temp_rename; int i; for (i = 0, temp_set = first_set; temp_set; temp_set = temp_set->next_set, i++) { for (temp_rename = temp_set->first_rename; temp_rename; temp_rename = temp_rename->next) { printf("%d) Source: _%s_", i, temp_rename->src); printf(" -> Dest: _%s_\n", temp_rename->dest); } } } /* if the src is found, return true */ /* if the dest is found, also return true, but warn user */ /* If quiet_flag is true than don't print anything */ int s_rename_search(char *src, char *dest, int quiet_flag) { RENAME * temp; if (last_set) { for (temp = last_set->first_rename; temp; temp = temp->next) { if (strcmp(src, temp->src) == 0) { return (TRUE); } if (strcmp(dest, temp->src) == 0) { if (!quiet_flag) { fprintf(stderr,"WARNING: Trying to rename something twice:\n\t%s and %s\nare both a src and dest name\n", dest, temp->src); fprintf(stderr,"This warning is okay if you have multiple levels of hierarchy!\n"); } return (TRUE); } } } return (FALSE); } static void s_rename_add_lowlevel (const char *src, const char *dest) { RENAME *new_rename; g_return_if_fail(last_set != NULL); new_rename = g_malloc(sizeof (RENAME)); g_return_if_fail(new_rename != NULL); new_rename->next = NULL; new_rename->src = g_strdup(src); new_rename->dest = g_strdup(dest); if (last_set->first_rename == NULL) { last_set->first_rename = last_set->last_rename = new_rename; } else { last_set->last_rename->next = new_rename; last_set->last_rename = new_rename; } } void s_rename_add(char *src, char *dest) { int flag; RENAME * last; RENAME * temp; RENAME * new_rename; SET * new_set; if (src == NULL || dest == NULL) { return; } flag = s_rename_search(src, dest, FALSE); if (flag) { /* If found follow the original behaviour, limiting the operation to the current end-of-list */ last = last_set->last_rename; for (temp = last_set->first_rename; ; temp = temp->next) { if ((strcmp(dest, temp->src) == 0) && (strcmp(src, temp->dest) != 0)) { /* we found a -> b, while adding c -> a. * hence we would have c -> a -> b, so add c -> b. * avoid renaming if b is same as c! */ #if DEBUG printf("Found dest [%s] in src [%s] and that had a dest as: [%s]\n" "So you want rename [%s] to [%s]\n", dest, temp->src, temp->dest, src, temp->dest); #endif s_rename_add_lowlevel(src, temp->dest); } else if ((strcmp(src, temp->src) == 0) && (strcmp(dest, temp->dest) != 0)) { /* we found a -> b, while adding a -> c. * hence b <==> c, so add c -> b. * avoid renaming if b is same as c! */ #if DEBUG printf("Found src [%s] that had a dest as: [%s]\n" "Unify nets by renaming [%s] to [%s]\n", src, temp->dest, dest, temp->dest); #endif s_rename_add_lowlevel(dest, temp->dest); } if (temp == last) { break; } } } else { /* Check for a valid set */ if (first_set == NULL) { new_set = g_malloc(sizeof(SET)); memset(new_set,0,sizeof(SET)); first_set = last_set = new_set; } new_rename = g_malloc(sizeof(RENAME)); new_rename->next = NULL; new_rename->src = g_strdup(src); new_rename->dest = g_strdup(dest); if (last_set->first_rename == NULL) { last_set->first_rename = last_set->last_rename = new_rename; } else { last_set->last_rename->next = new_rename; last_set->last_rename = new_rename; } } } void s_rename_all_lowlevel(NETLIST * netlist_head, char *src, char *dest) { NETLIST *nl_current = NULL; CPINLIST *pl_current; nl_current = netlist_head; while (nl_current != NULL) { if (nl_current->cpins) { pl_current = nl_current->cpins; while (pl_current != NULL) { if (pl_current->net_name != NULL) { if (strcmp(pl_current->net_name, src) == 0) { pl_current->net_name = g_strdup(dest); } } pl_current = pl_current->next; } } nl_current = nl_current->next; } } void s_rename_all(TOPLEVEL * pr_current, NETLIST * netlist_head) { RENAME * temp; #if DEBUG s_rename_print(); #endif if (last_set) { for (temp = last_set->first_rename; temp; temp = temp->next) { verbose_print("R"); s_rename_all_lowlevel(netlist_head, temp->src, temp->dest); } } } SCM g_get_renamed_nets(SCM scm_level) { SCM pairlist = SCM_EOL; SCM outerlist = SCM_EOL; SET * temp_set; RENAME * temp_rename; char *level; level = scm_to_utf8_string (scm_level); for (temp_set = first_set; temp_set; temp_set = temp_set->next_set) { for (temp_rename = temp_set->first_rename; temp_rename; temp_rename = temp_rename->next) { pairlist = scm_list_n (scm_from_utf8_string (temp_rename->src), scm_from_utf8_string (temp_rename->dest), SCM_UNDEFINED); outerlist = scm_cons (pairlist, outerlist); } } free (level); return (outerlist); } geda-gaf-1.8.2/gnetlist/src/parsecmd.c0000664000175000017500000001700212220647257014471 00000000000000/* gEDA - GPL Electronic Design Automation * gnetlist - gEDA Netlist * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #include #ifdef HAVE_STRING_H #include #endif #ifdef HAVE_UNISTD_H #include #endif #ifdef HAVE_GETOPT_H #include #endif #include #include "../include/globals.h" #include "../include/prototype.h" #ifdef HAVE_LIBDMALLOC #include #endif #define OPTIONS "c:g:hil:L:m:o:O:qvV" #ifndef OPTARG_IN_UNISTD extern char *optarg; extern int optind; #endif /* Added by SDB 3.3.2006. */ #ifdef HAVE_GETOPT_LONG struct option long_options[] = { {"help", 0, 0, 'h'}, {"list-backends", 0, &list_backends, TRUE}, {"verbose", 0, 0, 'v'}, {"version", 0, 0, 'V'}, {0, 0, 0, 0} }; #endif void usage(char *cmd) { printf ( "Usage: %s [OPTION ...] [-g BACKEND] [--] FILE ...\n" "\n" "Generate a netlist from one or more gEDA schematic FILEs.\n" "\n" "General options:\n" " -q Quiet mode.\n" " -v, --verbose Verbose mode.\n" " -o FILE Filename for netlist data output.\n" " -L DIR Add DIR to Scheme search path.\n" " -g BACKEND Specify netlist backend to use.\n" " -O STRING Pass an option string to backend.\n" " -l FILE Load Scheme file before loading backend.\n" " -m FILE Load Scheme file after loading backend.\n" " -c EXPR Evaluate Scheme expression at startup.\n" " -i Enter interactive Scheme REPL after loading.\n" " --list-backends Print a list of available netlist backends.\n" " -h, --help Help; this message.\n" " -V, --version Show version information.\n" " -- Treat all remaining arguments as filenames.\n" "\n" "Report bugs at \n" "gEDA/gaf homepage: \n", cmd); exit (0); } /*! \brief Print version info and exit. * \par Function Description * Print gEDA version, and copyright/warranty notices, and exit with * exit status 0. */ static void version () { printf( "gEDA %s (g%.7s)\n" "Copyright (C) 1998-2012 gEDA developers\n" "This is free software, and you are welcome to redistribute it under\n" "certain conditions. For details, see the file `COPYING', which is\n" "included in the gEDA distribution.\n" "There is NO WARRANTY, to the extent permitted by law.\n", PACKAGE_DOTTED_VERSION, PACKAGE_GIT_COMMIT); exit (0); } /* from guile (libguile/gh_init.c) */ static SCM catch_handler (void *data, SCM tag, SCM throw_args) { fprintf (stderr, "\nJust got an error; tag is\n "); scm_display (tag, scm_current_output_port ()); scm_newline (scm_current_output_port ()); scm_newline (scm_current_output_port ()); return SCM_BOOL_F; } int parse_commandline (int argc, char *argv[]) { int ch; SCM sym_begin = scm_from_utf8_symbol ("begin"); SCM sym_cons = scm_from_utf8_symbol ("cons"); SCM sym_load = scm_from_utf8_symbol ("load"); SCM sym_set_x = scm_from_utf8_symbol ("set!"); SCM sym_load_path = scm_from_utf8_symbol ("%load-path"); #ifdef HAVE_GETOPT_LONG /* int option_index = 0; */ while ((ch = getopt_long(argc, argv, OPTIONS, long_options, NULL /* &option_index */)) != -1) { #else while ((ch = getopt(argc, argv, OPTIONS)) != -1) { #endif switch (ch) { case 0: /* This is a long-form-only flag option, and has already been * dealt with by getopt_long(). */ break; case 'v': backend_params = g_slist_append(backend_params, "verbose_mode"); verbose_mode = TRUE; break; case 'i': backend_params = g_slist_append(backend_params, "interactive_mode"); interactive_mode = TRUE; break; case 'q': backend_params = g_slist_append(backend_params, "quiet_mode"); quiet_mode = TRUE; break; case 'L': /* Argument is a directory to add to the Scheme load path. * Add the necessary expression to be evaluated before rc file * loading. */ pre_rc_list = scm_cons (scm_list_3 (sym_set_x, sym_load_path, scm_list_3 (sym_cons, scm_from_locale_string (optarg), sym_load_path)), pre_rc_list); break; case 'g': guile_proc = g_strdup(optarg); break; case 'l': /* Argument is filename of a Scheme script to be run before * loading gnetlist backend. */ pre_backend_list = scm_cons (scm_list_2 (sym_load, scm_from_locale_string (optarg)), pre_backend_list); break; case 'm': /* Argument is filename of a Scheme script to be run after * loading gnetlist backend. */ post_backend_list = scm_cons (scm_list_2 (sym_load, scm_from_locale_string (optarg)), post_backend_list); break; case 'o': g_free(output_filename); output_filename = g_strdup(optarg); break; case 'O': backend_params = g_slist_append(backend_params, optarg); break; case 'c': scm_internal_stack_catch (SCM_BOOL_T, (scm_t_catch_body) scm_c_eval_string, (void *) optarg, (scm_t_catch_handler) catch_handler, (void *) optarg); break; case 'h': usage(argv[0]); break; case 'V': version(); break; case '?': #ifndef HAVE_GETOPT_LONG if ((optopt != ':') && (strchr (GETOPT_OPTIONS, optopt) != NULL)) { fprintf (stderr, "ERROR: -%c option requires an argument.\n\n", optopt); } else if (isprint (optopt)) { fprintf (stderr, "ERROR: Unknown option -%c.\n\n", optopt); } else { fprintf (stderr, "ERROR: Unknown option character `\\x%x'.\n\n", optopt); } #endif fprintf (stderr, "\nRun `%s --help' for more information.\n", argv[0]); exit (1); break; default: g_assert_not_reached (); } } if (quiet_mode) { verbose_mode = FALSE; } /* Make sure Scheme expressions can be passed straight to eval */ pre_rc_list = scm_cons (sym_begin, scm_reverse_x (pre_rc_list, SCM_UNDEFINED)); scm_gc_protect_object (pre_rc_list); pre_backend_list = scm_cons (sym_begin, scm_reverse_x (pre_backend_list, SCM_UNDEFINED)); scm_gc_protect_object (pre_backend_list); post_backend_list = scm_cons (sym_begin, scm_reverse_x (post_backend_list, SCM_UNDEFINED)); scm_gc_protect_object (post_backend_list); return (optind); } geda-gaf-1.8.2/gnetlist/src/s_traverse.c0000664000175000017500000003024412220647277015055 00000000000000/* gEDA - GPL Electronic Design Automation * gnetlist - gEDA Netlist * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #ifdef HAVE_STRING_H #include #endif #include #include #include "../include/globals.h" #include "../include/prototype.h" #ifdef HAVE_LIBDMALLOC #include #endif /*! Tracks which OBJECTs have been visited so far, and how many times. * * The keys of the table are the OBJECT pointers, and the visit count * is stored directly in the value pointers. */ static GHashTable *visit_table = NULL; /*! Trivial function used when clearing #visit_table. */ static gboolean returns_true (gpointer key, gpointer value, gpointer user_data) { return TRUE; } /*! Retrieve the current visit count for a particular OBJECT. */ static inline gint is_visited(OBJECT *obj) { gpointer val; gpointer orig_key; gboolean exist = g_hash_table_lookup_extended (visit_table, obj, &orig_key, &val); return exist ? GPOINTER_TO_INT(val) : 0; } /*! Increment the current visit count for a particular OBJECT. */ static inline gint visit(OBJECT *obj) { gpointer val = GINT_TO_POINTER(is_visited (obj) + 1); g_hash_table_replace (visit_table, obj, val); return GPOINTER_TO_INT (val); } /*! Reset all visit counts. Simply clears the hashtable completely. */ static inline void s_traverse_clear_all_visited (const GList *obj_list) { g_hash_table_foreach_remove (visit_table, (GHRFunc) returns_true, NULL); } void s_traverse_init(void) { netlist_head = s_netlist_add(NULL); netlist_head->nlid = -1; /* head node */ graphical_netlist_head = s_netlist_add(NULL); graphical_netlist_head->nlid = -1; /* head node */ if (verbose_mode) { printf ("\n\n------------------------------------------------------\n"); printf("Verbose mode legend\n\n"); printf("n : Found net\n"); printf("C : Found component (staring to traverse component)\n"); printf ("p : Found pin (starting to traverse pin / or examining pin)\n"); printf("P : Found end pin connection (end of this net)\n"); printf("R : Starting to rename a net\n"); printf("v : Found source attribute, traversing down\n"); printf("^ : Finished underlying source, going back up\n"); printf("u : Found a refdes which needs to be demangle\n"); printf ("U : Found a connected_to refdes which needs to be demangle\n"); printf ("------------------------------------------------------\n\n"); } /* Initialise the hashtable which contains the visit count. N.b. no free functions are required. */ visit_table = g_hash_table_new (g_direct_hash, g_direct_equal); } void s_traverse_start(TOPLEVEL * pr_current) { GList *iter; PAGE *p_current; for ( iter = geda_list_get_glist( pr_current->pages ); iter != NULL; iter = g_list_next( iter ) ) { p_current = (PAGE *)iter->data; /* only traverse pages which are toplevel, ie not underneath */ if (p_current->page_control == 0) { pr_current->page_current = p_current; s_traverse_sheet (pr_current, s_page_objects (p_current), NULL); } } /* now that all the sheets have been read, go through and do the */ /* post processing work */ s_netlist_post_process(pr_current, netlist_head); /* Now match the graphical netlist with the net names already assigned */ s_netlist_name_named_nets(pr_current, netlist_head, graphical_netlist_head); if (verbose_mode) { printf("\nInternal netlist representation:\n\n"); s_netlist_print(netlist_head); } } void s_traverse_sheet (TOPLEVEL * pr_current, const GList *obj_list, char *hierarchy_tag) { NETLIST *netlist; char *temp; SCM scm_uref; char *temp_uref; gboolean is_graphical=FALSE; const GList *iter; if (verbose_mode) { printf("- Starting internal netlist creation\n"); } for (iter = obj_list; iter != NULL; iter = g_list_next (iter)) { OBJECT *o_current = iter->data; netlist = s_netlist_return_tail(netlist_head); if (o_current->type == OBJ_PLACEHOLDER) { printf("WARNING: Found a placeholder/missing component, are you missing a symbol file? [%s]\n", o_current->complex_basename); } if (o_current->type == OBJ_COMPLEX) { #if DEBUG printf("starting NEW component\n\n"); #endif verbose_print(" C"); /* look for special tag */ temp = o_attrib_search_object_attribs_by_name (o_current, "graphical", 0); if (temp) { /* traverse graphical elements, but adding them to the graphical netlist */ g_free(temp); netlist = s_netlist_return_tail(graphical_netlist_head); is_graphical = TRUE; } netlist = s_netlist_add(netlist); netlist->nlid = o_current->sid; scm_uref = g_scm_c_get_uref(pr_current, o_current); if (scm_is_string( scm_uref )) { temp_uref = scm_to_utf8_string (scm_uref); netlist->component_uref = s_hierarchy_create_uref(pr_current, temp_uref, hierarchy_tag); g_free(temp_uref); } else { if (hierarchy_tag) { netlist->component_uref = g_strdup (hierarchy_tag); } else { netlist->component_uref = NULL; } } if (hierarchy_tag) { netlist->hierarchy_tag = g_strdup (hierarchy_tag); } netlist->object_ptr = o_current; if (!netlist->component_uref) { /* search of net attribute */ /* maybe symbol is not a component */ /* but a power / gnd symbol */ temp = o_attrib_search_object_attribs_by_name (o_current, "net", 0); /* nope net attribute not found */ if ( (!temp) && (!is_graphical) ) { fprintf(stderr, "Could not find refdes on component and could not find any special attributes!\n"); netlist->component_uref = g_strdup("U?"); } else { #if DEBUG printf("yeah... found a power symbol\n"); #endif /* it's a power or some other special symbol */ netlist->component_uref = NULL; g_free(temp); } } netlist->cpins = s_traverse_component(pr_current, o_current, hierarchy_tag); /* here is where you deal with the */ /* net attribute */ s_netattrib_handle(pr_current, o_current, netlist, hierarchy_tag); /* now you need to traverse any underlying schematics */ if (pr_current->hierarchy_traversal == TRUE) { s_hierarchy_traverse(pr_current, o_current, netlist); } } } verbose_done(); } CPINLIST *s_traverse_component(TOPLEVEL * pr_current, OBJECT * component, char *hierarchy_tag) { CPINLIST *cpinlist_head = NULL; CPINLIST *cpins = NULL; NET *nets_head = NULL; NET *nets = NULL; GList *iter; cpinlist_head = cpins = s_cpinlist_add(NULL); cpins->plid = -1; for (iter = component->complex->prim_objs; iter != NULL; iter = g_list_next (iter)) { OBJECT *o_current = iter->data; /* Ignore objects which aren't net pins */ if (o_current->type != OBJ_PIN || o_current->pin_type != PIN_TYPE_NET) continue; /* add cpin node */ cpins = s_cpinlist_add(cpins); cpins->plid = o_current->sid; cpins->type = o_current->pin_type; cpins->pin_number = o_attrib_search_object_attribs_by_name (o_current, "pinnumber", 0); cpins->pin_label = o_attrib_search_object_attribs_by_name (o_current, "pinlabel", 0); /* head nets node */ /* is this really need */ nets_head = nets = s_net_add(NULL); nets->nid = -1; /* This avoids us adding an unnamed net for an unconnected pin */ if (o_current->conn_list != NULL) { (void) s_traverse_net (pr_current, nets, TRUE, o_current, hierarchy_tag, cpins->type); s_traverse_clear_all_visited (s_page_objects (pr_current->page_current)); } cpins->nets = nets_head; /* s_net_print(nets); */ } return (cpinlist_head); } static int connection_type (OBJECT *object) { switch (object->type) { case OBJ_PIN: return object->pin_type; case OBJ_NET: return PIN_TYPE_NET; case OBJ_BUS: return PIN_TYPE_BUS; default: g_critical ("Non-connectable object being queried for connection type\n"); return PIN_TYPE_NET; } } NET *s_traverse_net (TOPLEVEL *pr_current, NET *nets, int starting, OBJECT *object, char *hierarchy_tag, int type) { NET *new_net; CONN *c_current; GList *cl_current; char *temp = NULL; const gchar *netattrib_pinnum = NULL; visit (object); if (connection_type (object) != type) return nets; new_net = nets = s_net_add(nets); new_net->nid = object->sid; /* pins are not allowed to have the netname attribute attached to them */ if (object->type != OBJ_PIN) { /* Ignore netname attributes on buses */ if (object->type == OBJ_NET) temp = o_attrib_search_object_attribs_by_name (object, "netname", 0); if (temp) { new_net->net_name = s_hierarchy_create_netname(pr_current, temp, hierarchy_tag); g_free(temp); } else if (object->type == OBJ_NET) { /* search for the old label= attribute on nets */ temp = o_attrib_search_object_attribs_by_name (object, "label", 0); if (temp) { printf("WARNING: Found label=%s. label= is deprecated, please use netname=\n", temp); new_net->net_name = s_hierarchy_create_netname(pr_current, temp, hierarchy_tag); g_free(temp); } } } #if DEBUG printf("inside traverse: %s\n", object->name); #endif if (object->type == OBJ_PIN) { verbose_print (starting ? "p" : "P"); new_net->connected_to = s_net_return_connected_string (pr_current, object, hierarchy_tag); temp = o_attrib_search_object_attribs_by_name (object, "pinlabel", 0); if (temp) { new_net->pin_label = temp; } /* net= new */ netattrib_pinnum = s_netattrib_connected_string_get_pinnum (nets->connected_to); if (netattrib_pinnum != NULL && type == PIN_TYPE_NET) { #if DEBUG printf("going to find netname %s \n", nets->connected_to); #endif nets->net_name = s_netattrib_return_netname (pr_current, object, nets->connected_to, hierarchy_tag); nets->net_name_has_priority = TRUE; g_free(nets->connected_to); nets->connected_to = NULL; } #if DEBUG printf("traverse connected_to: %s\n", new_net->connected_to); #endif /* Terminate if we hit a pin which isn't the one we started with */ if (!starting) return nets; } /*printf("Found net %s\n", object->name); */ verbose_print("n"); /* this is not perfect yet and won't detect a loop... */ if (is_visited(object) > 100) { fprintf(stderr, "Found a possible net/pin infinite connection\n"); exit(-1); } cl_current = object->conn_list; while (cl_current != NULL) { c_current = (CONN *) cl_current->data; if (c_current->other_object != NULL) { if (!is_visited(c_current->other_object) && c_current->other_object != object) { nets = s_traverse_net (pr_current, nets, FALSE, c_current->other_object, hierarchy_tag, type); } } cl_current = g_list_next(cl_current); } return (nets); } geda-gaf-1.8.2/gnetlist/src/s_netattrib.c0000664000175000017500000002134212220654152015203 00000000000000/* gEDA - GPL Electronic Design Automation * gnetlist - gEDA Netlist * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_ASSERT_H #include #endif #ifdef HAVE_STRING_H #include #endif #include #include "../include/globals.h" #include "../include/prototype.h" #ifdef HAVE_LIBDMALLOC #include #endif /* Used by the connected string functions */ #define PIN_NET_PREFIX "__netattrib_power_pin " /* used by the extract functions below */ #define DELIMITERS ",; " gchar * s_netattrib_pinnum_get_connected_string (const gchar *pinnum) { gchar *str = g_strdup_printf (PIN_NET_PREFIX "%s", pinnum); return str; } const gchar * s_netattrib_connected_string_get_pinnum (const gchar *str) { int prefix_len = (sizeof PIN_NET_PREFIX) - 1; if (strncmp (str, PIN_NET_PREFIX, prefix_len) != 0) { return NULL; } return str + prefix_len; } void s_netattrib_check_connected_string (const gchar *str) { if (s_netattrib_connected_string_get_pinnum (str) == NULL) return; fprintf (stderr, "ERROR: `%s' is reserved for internal use.", PIN_NET_PREFIX); exit (1); /*! \bug Use appropriate exit code */ } /* things to do here : */ /* write the net alias function */ /* be sure to g_free returned string */ char *s_netattrib_extract_netname(char *value) { char *return_value = NULL; int i = 0; /* a bit larger than needed ... */ return_value = g_strdup (value); while (value[i] != ':' && value[i] != '\0') { return_value[i] = value[i]; i++; } if (value[i] != ':') { fprintf(stderr, "Found malformed net attribute\n"); return (g_strdup ("unknown")); } return_value[i] = '\0'; return (return_value); } /* if this function creates a cpinlist list, it will not have a head node */ void s_netattrib_create_pins(TOPLEVEL * pr_current, OBJECT * o_current, NETLIST * netlist, char *value, char *hierarchy_tag) { NETLIST *netlist_tail = NULL; CPINLIST *cpinlist_tail = NULL; CPINLIST *new_cpin = NULL; CPINLIST *old_cpin = NULL; char *connected_to = NULL; char *net_name = NULL; char *start_of_pinlist = NULL; char *char_ptr = NULL; char *current_pin = NULL; char_ptr = strchr(value, ':'); if (char_ptr == NULL) { return; } net_name = s_netattrib_extract_netname(value); /* skip over first : */ start_of_pinlist = char_ptr + 1; current_pin = strtok(start_of_pinlist, DELIMITERS); while (current_pin) { netlist_tail = s_netlist_return_tail(netlist); cpinlist_tail = s_cpinlist_return_tail(netlist_tail->cpins); if (netlist->component_uref) { old_cpin = s_cpinlist_search_pin(netlist_tail->cpins, current_pin); if (old_cpin) { g_assert (old_cpin->nets != NULL); if (old_cpin->nets->net_name) { fprintf(stderr, "Found a cpinlist head with a netname! [%s]\n", old_cpin->nets->net_name); g_free(old_cpin->nets->net_name); } old_cpin->nets->net_name = s_hierarchy_create_netattrib(pr_current, net_name, hierarchy_tag); old_cpin->nets->net_name_has_priority = TRUE; connected_to = g_strdup_printf("%s %s", netlist->component_uref, current_pin); old_cpin->nets->connected_to = g_strdup(connected_to); old_cpin->nets->nid = o_current->sid; g_free(connected_to); } else { new_cpin = s_cpinlist_add(cpinlist_tail); new_cpin->pin_number = g_strdup (current_pin); new_cpin->net_name = NULL; new_cpin->plid = o_current->sid; new_cpin->nets = s_net_add(NULL); new_cpin->nets->net_name_has_priority = TRUE; new_cpin->nets->net_name = s_hierarchy_create_netattrib(pr_current, net_name, hierarchy_tag); connected_to = g_strdup_printf("%s %s", netlist->component_uref, current_pin); new_cpin->nets->connected_to = g_strdup(connected_to); new_cpin->nets->nid = o_current->sid; #if DEBUG printf("Finished creating: %s\n", connected_to); printf("netname: %s %s\n", new_cpin->nets->net_name, hierarchy_tag); #endif g_free(connected_to); } } else { /* no uref, means this is a special component */ } current_pin = strtok(NULL, DELIMITERS); } g_free(net_name); } void s_netattrib_handle (TOPLEVEL * pr_current, OBJECT * o_current, NETLIST * netlist, char *hierarchy_tag) { char *value; int counter; /* for now just look inside the component */ for (counter = 0; ;) { value = o_attrib_search_inherited_attribs_by_name (o_current, "net", counter); if (value == NULL) break; counter++; s_netattrib_create_pins (pr_current, o_current, netlist, value, hierarchy_tag); g_free (value); } /* now look outside the component */ for (counter = 0; ;) { value = o_attrib_search_attached_attribs_by_name (o_current, "net", counter); if (value == NULL) break; counter++; s_netattrib_create_pins (pr_current, o_current, netlist, value, hierarchy_tag); g_free (value); } } char *s_netattrib_net_search (OBJECT * o_current, const gchar *wanted_pin) { char *value = NULL; char *char_ptr = NULL; char *net_name = NULL; char *current_pin = NULL; char *start_of_pinlist = NULL; char *return_value = NULL; int counter; if (o_current == NULL || o_current->complex == NULL) return NULL; /* for now just look inside the component */ for (counter = 0; ;) { value = o_attrib_search_inherited_attribs_by_name (o_current, "net", counter); if (value == NULL) break; counter++; char_ptr = strchr (value, ':'); if (char_ptr == NULL) { fprintf (stderr, "Got an invalid net= attrib [net=%s]\n" "Missing : in net= attrib\n", value); g_free (value); return NULL; } net_name = s_netattrib_extract_netname (value); start_of_pinlist = char_ptr + 1; current_pin = strtok (start_of_pinlist, DELIMITERS); while (current_pin && !return_value) { if (strcmp (current_pin, wanted_pin) == 0) { return_value = net_name; } current_pin = strtok (NULL, DELIMITERS); } g_free (value); } /* now look outside the component */ for (counter = 0; ;) { value = o_attrib_search_attached_attribs_by_name (o_current, "net", counter); if (value == NULL) break; counter++; char_ptr = strchr (value, ':'); if (char_ptr == NULL) { fprintf (stderr, "Got an invalid net= attrib [net=%s]\n" "Missing : in net= attrib\n", value); g_free (value); return NULL; } net_name = s_netattrib_extract_netname (value); start_of_pinlist = char_ptr + 1; current_pin = strtok (start_of_pinlist, DELIMITERS); while (current_pin) { if (strcmp (current_pin, wanted_pin) == 0) { g_free (return_value); return net_name; } current_pin = strtok (NULL, DELIMITERS); } g_free (value); } return return_value; } char *s_netattrib_return_netname(TOPLEVEL * pr_current, OBJECT * o_current, char *pinnumber, char *hierarchy_tag) { const gchar *current_pin; char *netname; char *temp_netname; current_pin = s_netattrib_connected_string_get_pinnum (pinnumber); if (current_pin == NULL) return NULL; /* use hierarchy tag here to make this net uniq */ temp_netname = s_netattrib_net_search(o_current->parent, current_pin); netname = s_hierarchy_create_netattrib(pr_current, temp_netname, hierarchy_tag); #if DEBUG printf("netname: %s\n", netname); #endif return (netname); } geda-gaf-1.8.2/gnetlist/src/globals.c0000664000175000017500000000405512063576065014325 00000000000000/* gEDA - GPL Electronic Design Automation * gnetlist - gEDA Netlist * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #include "../include/globals.h" #include "../include/prototype.h" #ifdef HAVE_LIBDMALLOC #include #endif char *rc_filename = NULL; int logfile_fd=-1; int logging_dest=LOG_WINDOW; /* netlist specific variables */ NETLIST *netlist_head=NULL; NETLIST *graphical_netlist_head=NULL; /* Special objects with graphical=1 attribute */ char *guile_proc=NULL; /* command line arguments */ int list_backends=FALSE; int verbose_mode=FALSE; int interactive_mode=FALSE; int quiet_mode=FALSE; /* what kind of netlist are we generating? see define.h for #defs */ int netlist_mode=gEDA; char *output_filename=NULL; /* scheme expression to evaluate before loading of rc files */ SCM pre_rc_list = SCM_EOL; /* scheme expression to evaluate before loading of the backend */ SCM pre_backend_list = SCM_EOL; /* scheme expression to evaluate after loading of the backend but * before the execution of the backend procedure */ SCM post_backend_list = SCM_EOL; /* List of input filenames */ GSList *input_files; /* Parameters passed to the backend from the command line */ GSList *backend_params = NULL; geda-gaf-1.8.2/gnetlist/src/vams_misc.c0000664000175000017500000000471512204066537014661 00000000000000/* gEDA - GPL Electronic Design Automation * gnetlist - gEDA Netlist * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02111-1301 USA. */ #include #include #include #ifdef HAVE_STRING_H #include #endif #include #include #include "../include/globals.h" #include "../include/prototype.h" #ifdef HAVE_LIBDMALLOC #include #endif SCM vams_get_attribs_list (OBJECT *object) { SCM list = SCM_EOL; OBJECT *o_current; GList *a_iter; OBJECT *a_current; int val; char* found_name = NULL; o_current = object; /* search outside the symbol (attached attributes only) */ a_iter = o_current->attribs; while(a_iter != NULL) { a_current = a_iter->data; if (a_current->text && a_current->text->string) { val = o_attrib_get_name_value (a_current, &found_name, NULL); if (val) { list = scm_cons (scm_from_utf8_string (found_name), list); } g_free (found_name); } a_iter = g_list_next (a_iter); } return list; } SCM vams_get_package_attributes(SCM scm_uref) { NETLIST *nl_current; char *uref; SCM_ASSERT(scm_is_string (scm_uref), scm_uref, SCM_ARG1, "gnetlist:vams-get-package-attributes"); uref = scm_to_utf8_string (scm_uref); /* here is where you make it multi page aware */ nl_current = netlist_head; /* search for the first instance */ /* through the entire list */ while(nl_current != NULL) { if (nl_current->component_uref && strcmp(nl_current->component_uref, uref) == 0) { free (uref); return vams_get_attribs_list (nl_current->object_ptr); } nl_current = nl_current->next; } free (uref); return SCM_EOL; } geda-gaf-1.8.2/gnetlist/src/s_hierarchy.c0000664000175000017500000003623012220647257015177 00000000000000/* gEDA - GPL Electronic Design Automation * gnetlist - gEDA Netlist * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #ifdef HAVE_STRING_H #include #endif #ifdef HAVE_STRINGS_H #include #endif #include #include "../include/globals.h" #include "../include/prototype.h" #ifdef HAVE_LIBDMALLOC #include #endif void s_hierarchy_traverse(TOPLEVEL * pr_current, OBJECT * o_current, NETLIST * netlist) { char *attrib; int page_control=-1; PAGE *p_current; PAGE *child_page; int count = 0; int pcount = 0; int looking_inside = FALSE; int loaded_flag = FALSE; char *current_filename; int graphical=FALSE; attrib = o_attrib_search_attached_attribs_by_name (o_current, "source", 0); /* if above is null, then look inside symbol */ if (attrib == NULL) { attrib = o_attrib_search_inherited_attribs_by_name (o_current, "source", count); looking_inside = TRUE; #if DEBUG printf("going to look inside now\n"); #endif } graphical = s_hierarchy_graphical_search(o_current, count); if (graphical) { /* Do not bother traversing the hierarchy if the symbol has an */ /* graphical attribute attached to it. */ if (attrib) { g_free(attrib); attrib = NULL; } } while (attrib) { /* look for source=filename,filename, ... */ pcount = 0; current_filename = u_basic_breakup_string(attrib, ',', pcount); /* loop over all filenames */ while (current_filename != NULL) { s_log_message("Going to traverse source [%s]\n", current_filename); /* guts here */ /* guts for a single filename */ p_current = pr_current->page_current; #if DEBUG printf("Going down %s\n", current_filename); #endif child_page = s_hierarchy_down_schematic_single(pr_current, current_filename, pr_current->page_current, page_control, HIERARCHY_FORCE_LOAD); if (child_page == NULL) { fprintf(stderr, "Could not open [%s]\n", current_filename); } else { page_control = child_page->page_control; s_page_goto (pr_current, child_page); loaded_flag = TRUE; verbose_print("v\n"); verbose_reset_index(); netlist->composite_component = TRUE; /* can't do the following, don't know why... HACK TODO */ /*netlist->hierarchy_tag = u_basic_strdup (netlist->component_uref);*/ s_traverse_sheet (pr_current, s_page_objects (pr_current->page_current), netlist->component_uref); verbose_print("^"); } pr_current->page_current = p_current; g_free(current_filename); pcount++; current_filename = u_basic_breakup_string(attrib, ',', pcount); } g_free(attrib); g_free(current_filename); count++; /* continue looking outside first */ if (!looking_inside) { attrib = o_attrib_search_attached_attribs_by_name (o_current, "source", count); } /* okay we were looking outside and didn't */ /* find anything, so now we need to look */ /* inside the symbol */ if (!looking_inside && attrib == NULL && !loaded_flag) { looking_inside = TRUE; #if DEBUG printf("switching to go to look inside\n"); #endif } if (looking_inside) { #if DEBUG printf("looking inside\n"); #endif attrib = o_attrib_search_inherited_attribs_by_name (o_current, "source", count); } graphical = s_hierarchy_graphical_search(o_current, count); if (graphical) { /* Do not bother looking further in the hierarchy if the symbol */ /* has an graphical attribute attached to it. */ if (attrib) { g_free(attrib); attrib = NULL; } } } } void s_hierarchy_post_process(TOPLEVEL * pr_current, NETLIST * head) { NETLIST *nl_current; CPINLIST *pl_current; char *source_net_name = NULL; int did_work = FALSE; s_rename_next_set(); nl_current = head; while (nl_current != NULL) { if (nl_current->composite_component) { #if DEBUG printf("Found composite %s\n", nl_current->component_uref); #endif if (nl_current->cpins) { pl_current = nl_current->cpins; while (pl_current != NULL) { if (pl_current->plid != -1) { verbose_print("p"); } if (pl_current->pin_label == NULL && pl_current->plid != -1) { fprintf(stderr, "Found a pin [%s] on component [%s] which does not have a label!\n", nl_current->component_uref, pl_current->pin_number); } else if (pl_current->plid != -1) { #if DEBUG printf("# L: %s %s\n", pl_current->pin_number, pl_current->pin_label); #endif /* get source net name, all nets are named already */ source_net_name = s_net_name_search(pr_current, pl_current->nets); #if DEBUG printf("name: %s\n", source_net_name); printf("Now we need to search for: %s/%s\n", nl_current->component_uref, pl_current->pin_label); #endif did_work = s_hierarchy_setup_rename(pr_current, head, nl_current->component_uref, pl_current->pin_label, source_net_name); if (!did_work) { fprintf(stderr, "Missing I/O symbol with refdes [%s] inside schematic for symbol [%s]\n", pl_current->pin_label, nl_current->component_uref); } } pl_current = pl_current->next; } } } nl_current = nl_current->next; } s_rename_all(pr_current, head); s_hierarchy_remove_compsite_all(head); } int s_hierarchy_setup_rename(TOPLEVEL * pr_current, NETLIST * head, char *uref, char *label, char *new_name) { NETLIST *nl_current; CPINLIST *pl_current; char *wanted_uref = NULL; int did_work = FALSE; /* this is questionable, because I'm not sure if it's exactly the */ /* same as the #if 0'ed out line */ /* search for the uref which has the name: label/uref (or whatever the */ /* hierarchy tag/separator order is) */ wanted_uref = s_hierarchy_create_uref(pr_current, label, uref); #if DEBUG printf("label: %s, uref: %s, wanted_uref: %s\n", label, uref, wanted_uref); #endif nl_current = head; while (nl_current != NULL) { if (nl_current->component_uref) { pl_current = nl_current->cpins; if (strcmp(nl_current->component_uref, wanted_uref) == 0) { if (nl_current->cpins) { /* skip over head of special io symbol */ pl_current = nl_current->cpins->next;; #if DEBUG printf("net to be renamed: %s\n", pl_current->net_name); printf("%s -> %s\n", pl_current->net_name, new_name); #endif s_rename_add(pl_current->net_name, new_name); #if DEBUG printf("Going to remove %s\n", nl_current->component_uref); #endif s_hierarchy_remove_urefconn(head, nl_current-> component_uref); did_work = TRUE; } } } nl_current = nl_current->next; } return (did_work); } void s_hierarchy_remove_urefconn(NETLIST * head, char *uref_disable) { NETLIST *nl_current; CPINLIST *pl_current; NET *n_current; char uref[80], pin[10]; nl_current = head; while (nl_current != NULL) { pl_current = nl_current->cpins; while (pl_current != NULL) { n_current = pl_current->nets; while (n_current != NULL) { if (n_current->connected_to != NULL) { sscanf(n_current->connected_to, "%s %s", uref, pin); #if DEBUG printf(" looking at : %s %s\n", uref, pin); #endif if (strcmp(uref_disable, uref) == 0) { #if DEBUG printf("conn disabling %s\n", n_current->connected_to); #endif /* can't do frees, since some names are links */ /* g_free(n_current->connected_to);*/ n_current->connected_to = NULL; } } n_current = n_current->next; } pl_current = pl_current->next; } if (nl_current->component_uref) { if (strcmp(nl_current->component_uref, uref_disable) == 0) { #if DEBUG printf("refdes disabling: %s\n", nl_current->component_uref); #endif /* can't do frees, since some names are links */ /*free(nl_current->component_uref); */ nl_current->component_uref = NULL; } } nl_current = nl_current->next; } } void s_hierarchy_remove_compsite_all(NETLIST * head) { NETLIST *nl_current; nl_current = head; while (nl_current != NULL) { if (nl_current->composite_component) { if (nl_current->component_uref != NULL) { s_hierarchy_remove_urefconn(head, nl_current->component_uref); } } nl_current = nl_current->next; } } char *s_hierarchy_create_uref(TOPLEVEL * pr_current, char *basename, char *hierarchy_tag) { char *return_value = NULL; if (hierarchy_tag) { if (basename) { if (pr_current->hierarchy_uref_separator) { switch (pr_current->hierarchy_uref_order) { case (APPEND): return_value = g_strconcat (hierarchy_tag, pr_current->hierarchy_uref_separator, basename, NULL); break; case (PREPEND): return_value = g_strconcat (basename, pr_current->hierarchy_uref_separator, hierarchy_tag, NULL); break; } } else { switch (pr_current->hierarchy_uref_order) { case (APPEND): return_value = g_strconcat (hierarchy_tag, basename, NULL); break; case (PREPEND): return_value = g_strconcat (basename, hierarchy_tag, NULL); break; } } } else { return_value = NULL; } } else { if (basename) { return_value = g_strdup (basename); } else { return_value = NULL; } } return (return_value); } char *s_hierarchy_create_netname(TOPLEVEL * pr_current, char *basename, char *hierarchy_tag) { char *return_value = NULL; if (pr_current->hierarchy_netname_mangle == FALSE) { if (basename) { return (g_strdup (basename)); } else { return (NULL); } } if (hierarchy_tag) { if (basename) { if (pr_current->hierarchy_netname_separator) { switch (pr_current->hierarchy_netname_order) { case (APPEND): return_value = g_strconcat (hierarchy_tag, pr_current->hierarchy_netname_separator, basename, NULL); break; case (PREPEND): return_value = g_strconcat (basename, pr_current->hierarchy_netname_separator, hierarchy_tag, NULL); break; } } else { switch (pr_current->hierarchy_netname_order) { case (APPEND): return_value = g_strconcat (hierarchy_tag, basename, NULL); break; case (PREPEND): return_value = g_strconcat (basename, hierarchy_tag, NULL); break; } } } else { return_value = NULL; } } else { if (basename) { return_value = g_strdup (basename); } else { return_value = NULL; } } return (return_value); } char *s_hierarchy_create_netattrib(TOPLEVEL * pr_current, char *basename, char *hierarchy_tag) { char *return_value = NULL; if (pr_current->hierarchy_netattrib_mangle == FALSE) { if (basename) { return (g_strdup (basename)); } else { return (NULL); } } if (hierarchy_tag) { if (basename) { if (pr_current->hierarchy_netattrib_separator) { switch (pr_current->hierarchy_netattrib_order) { case (APPEND): return_value = g_strconcat (hierarchy_tag, pr_current->hierarchy_netattrib_separator, basename, NULL); break; case (PREPEND): return_value = g_strconcat (basename, pr_current->hierarchy_netattrib_separator, hierarchy_tag, NULL); break; } } else { switch (pr_current->hierarchy_netattrib_order) { case (APPEND): return_value = g_strconcat (hierarchy_tag, basename, NULL); break; case (PREPEND): return_value = g_strconcat (basename, hierarchy_tag, NULL); break; } } } else { return_value = NULL; } } else { if (basename) { return_value = g_strdup (basename); } else { return_value = NULL; } } return (return_value); } void s_hierarchy_remove_uref_mangling(TOPLEVEL * pr_current, NETLIST * head) { NETLIST *nl_current; CPINLIST *pl_current; NET *n_current; char uref[80], pin[10]; char *new_uref = NULL; char *new_connected_to = NULL; nl_current = head; while (nl_current != NULL) { if (nl_current->component_uref) { verbose_print("u"); new_uref = s_hierarchy_return_baseuref(pr_current, nl_current->component_uref); g_free(nl_current->component_uref); nl_current->component_uref = new_uref; } pl_current = nl_current->cpins; while (pl_current != NULL) { n_current = pl_current->nets; while (n_current != NULL) { if (n_current->connected_to) { verbose_print("U"); sscanf(n_current->connected_to, "%s %s", uref, pin); new_uref = s_hierarchy_return_baseuref(pr_current, uref); new_connected_to = g_strdup_printf("%s %s", new_uref, pin); g_free(n_current->connected_to); n_current->connected_to = new_connected_to; } n_current = n_current->next; } pl_current = pl_current->next; } nl_current = nl_current->next; } } char *s_hierarchy_return_baseuref(TOPLEVEL * pr_current, char *uref) { char *return_value = NULL; char *start_of_base = NULL; char *end_of_base = NULL; /* use hierarchy separator */ if (uref == NULL) { return (NULL); } #if DEBUG printf("Got uref: _%s_\n", uref); #endif if (pr_current->hierarchy_uref_order == APPEND) { start_of_base = strrchr(uref, '/'); /* separator is always '/' */ if (start_of_base == NULL) { return (g_strdup (uref)); } return_value = g_strdup (start_of_base + 1); } else if (pr_current->hierarchy_uref_order == PREPEND) { end_of_base = strchr(uref, '/'); if (end_of_base == NULL) { return (g_strdup (uref)); } return_value = g_strndup(uref, end_of_base - uref); } #if DEBUG printf("new uref return_value = %s\n\n\n", return_value); #endif return (return_value); } int s_hierarchy_graphical_search (OBJECT* o_current, int count) { char *graphical_attrib; graphical_attrib = o_attrib_search_object_attribs_by_name (o_current, "graphical", count); if (graphical_attrib) { g_free (graphical_attrib); return TRUE; } return FALSE; } geda-gaf-1.8.2/gnetlist/include/0000775000175000017500000000000012220655755013445 500000000000000geda-gaf-1.8.2/gnetlist/include/i_vars.h0000664000175000017500000000260612220647257015023 00000000000000/* gEDA - GPL Electronic Design Automation * gnetlist - gEDA Schematic Capture * Copyright (C) 1998-2010 Ales Hvezda * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ extern int default_net_naming_priority; extern int default_hierarchy_traversal; extern int default_hierarchy_uref_mangle; extern int default_hierarchy_netname_mangle; extern int default_hierarchy_netattrib_mangle; extern int default_hierarchy_netattrib_order; extern int default_hierarchy_netname_order; extern int default_hierarchy_uref_order; extern char *default_hierarchy_netname_separator; extern char *default_hierarchy_netattrib_separator; extern char *default_hierarchy_uref_separator; extern char *default_unnamed_netname; extern char *default_unnamed_busname; geda-gaf-1.8.2/gnetlist/include/Makefile.am0000664000175000017500000000043512220647257015421 00000000000000## Process this file with automake to produce Makefile.in noinst_HEADERS = \ globals.h i_vars.h papersizes.h prototype.h MOSTLYCLEANFILES = *.log core FILE *~ CLEANFILES = *.log core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in geda-gaf-1.8.2/gnetlist/include/papersizes.h0000664000175000017500000000220112220647257015714 00000000000000/* gEDA - GPL Electronic Design Automation * gnetlist - gEDA Netlister * Copyright (C) 1998-2010 Ales Hvezda * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the * Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /* this file is no longer used */ #define MILS_PER 1000 #define BORDER 1000 /* if you change this one you must recalc correction factors */ /* perhaps we will do this in the code ! */ /* To calculate the correction factor for each: */ /* if calcaspect < required_aspect : */ /* Width_correction = (width+border) - (height+border)*1.3333 */ /* else */ /* Height_correction = ((width+border)/1.3333) - (height+border) */ #define WIDTH_A 11*MILS_PER+BORDER+667 #define HEIGHT_A 8.5*MILS_PER+BORDER #define WIDTH_B 17*MILS_PER+BORDER #define HEIGHT_B 11*MILS_PER+BORDER+1500 #define WIDTH_C 22*MILS_PER+BORDER+1000 #define HEIGHT_C 17*MILS_PER+BORDER #define WIDTH_D 34*MILS_PER+BORDER #define HEIGHT_D 22*MILS_PER+BORDER+3250 #define WIDTH_E 44*MILS_PER+BORDER+1667 #define HEIGHT_E 34*MILS_PER+BORDER geda-gaf-1.8.2/gnetlist/include/globals.h0000664000175000017500000000305512063576065015165 00000000000000/* gEDA - GPL Electronic Design Automation * gnetlist - gEDA Netlister * Copyright (C) 1998-2010 Ales Hvezda * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ extern char *rc_filename; extern int logfile_fd; extern int do_logging; extern int logging_dest; /* gnetlist specific stuff */ extern NETLIST *netlist_head; extern NETLIST *graphical_netlist_head; /* Special objects with graphical=1 attribute */ extern char *guile_proc; extern int list_backends; extern int verbose_mode; extern int interactive_mode; extern int quiet_mode; extern int netlist_mode; extern char *output_filename; extern SCM pre_rc_list; /* before rc loaded */ extern SCM pre_backend_list; /* before backend loaded */ extern SCM post_backend_list; /* after backend loaded, before execute */ extern GSList *backend_params; /* Parameters passed to the backend from the command line */ extern GSList *input_files; geda-gaf-1.8.2/gnetlist/include/Makefile.in0000664000175000017500000004416712220655723015441 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = gnetlist/include DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(noinst_HEADERS) ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac HEADERS = $(noinst_HEADERS) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ noinst_HEADERS = \ globals.h i_vars.h papersizes.h prototype.h MOSTLYCLEANFILES = *.log core FILE *~ CLEANFILES = *.log core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gnetlist/include/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu gnetlist/include/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(HEADERS) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ clean-libtool cscopelist-am ctags ctags-am distclean \ distclean-generic distclean-libtool distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/gnetlist/include/prototype.h0000664000175000017500000001313512220647277015606 00000000000000/* g_netlist.c */ void g_set_project_current(TOPLEVEL *pr_current); SCM g_scm_c_get_uref(TOPLEVEL *toplevel, OBJECT *object); SCM g_get_backend_arguments (); SCM g_get_input_files(); SCM g_get_packages(SCM level); SCM g_get_non_unique_packages(SCM level); SCM g_get_pins(SCM uref); SCM g_get_all_nets(SCM scm_level); SCM g_get_all_unique_nets(SCM scm_level); SCM g_get_all_connections(SCM scm_netname); SCM g_get_nets(SCM scm_uref, SCM scm_pin); SCM g_get_pins_nets(SCM scm_uref); SCM g_get_all_package_attributes(SCM scm_uref, SCM scm_wanted_attrib); SCM g_get_attribute_by_pinseq(SCM scm_uref, SCM scm_pinseq, SCM scm_wanted_attrib); SCM g_get_attribute_by_pinnumber(SCM scm_uref, SCM scm_pin, SCM scm_wanted_attrib); SCM g_get_toplevel_attribute(SCM scm_wanted_attrib); SCM g_graphical_objs_in_net_with_attrib_get_attrib(SCM scm_netname, SCM scm_has_attribute, SCM scm_wanted_attribute); /* g_rc.c */ SCM g_rc_gnetlist_version(SCM version); SCM g_rc_net_naming_priority(SCM mode); SCM g_rc_hierarchy_traversal(SCM mode); SCM g_rc_hierarchy_uref_mangle(SCM mode); SCM g_rc_hierarchy_netname_mangle(SCM mode); SCM g_rc_hierarchy_netattrib_mangle(SCM mode); SCM g_rc_hierarchy_netname_separator(SCM name); SCM g_rc_hierarchy_netattrib_separator(SCM name); SCM g_rc_hierarchy_uref_separator(SCM name); SCM g_rc_hierarchy_netattrib_order(SCM mode); SCM g_rc_hierarchy_netname_order(SCM mode); SCM g_rc_hierarchy_uref_order(SCM mode); SCM g_rc_unnamed_netname(SCM name); SCM g_rc_unnamed_busname(SCM name); /* g_register.c */ void g_register_funcs(void); SCM g_quit(void); /* globals.c */ /* gnetlist.c */ void gnetlist_quit(void); void main_prog(void *closure, int argc, char *argv[]); int main(int argc, char *argv[]); /* i_vars.c */ void i_vars_set(TOPLEVEL *pr_current); /* parsecmd.c */ void usage(char *cmd); GSList *create_input_files_list(int argi, int argc, char *argv[]); int parse_commandline(int argc, char *argv[]); /* s_cpinlist.c */ CPINLIST *s_cpinlist_return_tail(CPINLIST *head); CPINLIST *s_cpinlist_return_head(CPINLIST *tail); CPINLIST *s_cpinlist_add(CPINLIST *ptr); void s_cpinlist_print(CPINLIST *ptr); CPINLIST *s_cpinlist_search_pin(CPINLIST *ptr, char *pin_number); /* s_hierarchy.c */ void s_hierarchy_traverse(TOPLEVEL *pr_current, OBJECT *o_current, NETLIST *netlist); void s_hierarchy_post_process(TOPLEVEL *pr_current, NETLIST *head); int s_hierarchy_setup_rename(TOPLEVEL *pr_current, NETLIST *head, char *uref, char *label, char *new_name); void s_hierarchy_remove_urefconn(NETLIST *head, char *uref_disable); void s_hierarchy_remove_compsite_all(NETLIST *head); char *s_hierarchy_create_uref(TOPLEVEL *pr_current, char *basename, char *hierarchy_tag); char *s_hierarchy_create_netname(TOPLEVEL *pr_current, char *basename, char *hierarchy_tag); char *s_hierarchy_create_netattrib(TOPLEVEL *pr_current, char *basename, char *hierarchy_tag); void s_hierarchy_remove_uref_mangling(TOPLEVEL *pr_current, NETLIST *head); char *s_hierarchy_return_baseuref(TOPLEVEL *pr_current, char *uref); int s_hierarchy_graphical_search(OBJECT* o_current, int count); /* s_misc.c */ void verbose_print(char *string); void verbose_done(void); void verbose_reset_index(void); /* s_net.c */ NET *s_net_return_tail(NET *head); NET *s_net_return_head(NET *tail); NET *s_net_add(NET *ptr); void s_net_print(NET *ptr); char *s_net_return_connected_string(TOPLEVEL *pr_current, OBJECT *object, char *hierarchy_tag); int s_net_find(NET *net_head, NET *node); char *s_net_name_search(TOPLEVEL *pr_current, NET *net_head); char *s_net_name(TOPLEVEL *pr_current, NETLIST *netlist_head, NET *net_head, char *hierarchy_tag, int type); /* s_netattrib.c */ gchar *s_netattrib_pinnum_get_connected_string (const gchar *pinnum) G_GNUC_WARN_UNUSED_RESULT; const gchar *s_netattrib_connected_string_get_pinnum (const gchar *str); void s_netattrib_check_connected_string (const gchar *str); char *s_netattrib_extract_netname(char *value); void s_netattrib_create_pins(TOPLEVEL *pr_current, OBJECT *o_current, NETLIST *netlist, char *value, char *hierarchy_tag); void s_netattrib_handle(TOPLEVEL *pr_current, OBJECT *o_current, NETLIST *netlist, char *hierarchy_tag); char *s_netattrib_net_search(OBJECT *o_current, const gchar *wanted_pin); char *s_netattrib_return_netname(TOPLEVEL *pr_current, OBJECT *o_current, char *pinnumber, char *hierarchy_tag); /* s_netlist.c */ NETLIST *s_netlist_return_tail(NETLIST *head); NETLIST *s_netlist_return_head(NETLIST *tail); NETLIST *s_netlist_add(NETLIST *ptr); void s_netlist_print(NETLIST *ptr); void s_netlist_post_process(TOPLEVEL *pr_current, NETLIST *head); void s_netlist_name_named_nets (TOPLEVEL *pr_current, NETLIST *named_netlist, NETLIST *unnamed_netlist); char *s_netlist_netname_of_netid (TOPLEVEL *pr_current, NETLIST *netlist_head, int net_id); /* s_rename.c */ void s_rename_init(void); void s_rename_destroy_all(void); void s_rename_next_set(void); void s_rename_print(void); int s_rename_search(char *src, char *dest, int quiet_flag); void s_rename_add(char *src, char *dest); void s_rename_all_lowlevel(NETLIST *netlist_head, char *src, char *dest); void s_rename_all(TOPLEVEL *pr_current, NETLIST *netlist_head); SCM g_get_renamed_nets(SCM scm_level); /* s_traverse.c */ void s_traverse_init(void); void s_traverse_start(TOPLEVEL *pr_current); void s_traverse_sheet(TOPLEVEL *pr_current, const GList *obj_list, char *hierarchy_tag); CPINLIST *s_traverse_component(TOPLEVEL *pr_current, OBJECT *component, char *hierarchy_tag); NET *s_traverse_net(TOPLEVEL *pr_current, NET *nets, int starting, OBJECT *object, char *hierarchy_tag, int type); /* vams_misc.c */ SCM vams_get_attribs_list(OBJECT *object); SCM vams_get_package_attributes(SCM scm_uref); geda-gaf-1.8.2/gnetlist/lib/0000775000175000017500000000000012220655755012570 500000000000000geda-gaf-1.8.2/gnetlist/lib/system-gnetlistrc.in0000664000175000017500000001411412220647257016537 00000000000000 ; ; Init file for gnetlist ; ; ;'s are comments ; keywords are case sensitive (guile feature) ; mode strings are case sensitive ; colors are not case sensitive ; ; gnetlist-version string ; ; Specifies the version of this file. This number is used to make sure ; that the rc file is compatible with the version of gschem that is ; being run. The end user should *not* change this value. ; (gnetlist-version "@DATE_VERSION@") ; Setup data path variables. ; ; Contains all paths needed for gnetlist (define gedadata (getenv "GEDADATA")) (define gedadatarc (getenv "GEDADATARC")) ; net-naming-priority string ; ; Specifies which netname has priority if a net is found with two names. ; If this variable is set to "netattrib" then any netname specified with the ; net= attribute is used as the netname. Likewise if this variable is set to ; "netname" then any netname conflict is resolved using the netname= value. ; (net-naming-priority "netattrib") ;(net-naming-priority "netname") ; hierarchy-traversal string ; ; Decides if the hierarchy is traversed or not. If this is disabled then ; gnetlist will not go down searching for any underlying sources ; (hierarchy-traversal "enabled") ;(hierarchy-traversal "disabled") ; hierarchy-uref-mangle string ; ; Controls if uref names are mangled to make them uniq when traversing ; down into the hierarchy. If this is disabled then urefs are not changed ; and it is the user's responsibility to make sure they are unique. ; If you disable this, you really are taking your netlist's life into your ; own hands. You *MUST* have unique urefs throughout the entire hierarchy ; or bad things might happen. Also you cannot reuse underlying schematics. ; (hierarchy-uref-mangle "enabled") ;(hierarchy-uref-mangle "disabled") ; hierarchy-netname-mangle string ; ; Controls if net names are mangled to make them uniq when traversing ; down into the hierarchy. If this is disabled then the net names are not ; changed and it is the user's responsibility to make sure they are unique. ; If you disable this, you really are taking your netlist's life into your ; own hands. This basically has the effect of making all same named nets ; in the entire hierarchy be electrically connected. Hope you know what you ; are doing. ; (hierarchy-netname-mangle "enabled") ;(hierarchy-netname-mangle "disabled") ; hierarchy-netattrib-mangle string ; ; Controls if net created by using the net= attribute are renamed to make ; them uniq when traversing down into the hierarchy. If this is disabled ; then the net= created nets are not changed. This feature is handy to have ; global nets which spawn the entire hierarchy (like power or ground nets). ; Please make sure you know what you are doing. ; (hierarchy-netattrib-mangle "enabled") ;(hierarchy-netattrib-mangle "disabled") ; hierarchy-uref-separator string ; ; Specifies what the separator string between the various hierarchy tags ; for all urefs. This string can also be "" (empty) to specify that no ; chars should be used. This keyword is ignored if hierarchy-uref-mangle ; is disabled (though a default "/" is used in this case, and then all the ; internal mangling is removed so it is not seen by the user). This keyword ; is used in conjunction with the respective hierarchy-*-order keyword. ; (hierarchy-uref-separator "/") ;(hierarchy-uref-separator "") ; hierarchy-netname-separator string ; ; Specifies what the separator string between the various hierarchy tags ; for all nets (excluding net= nets, see below for those). This string can ; also be "" (empty) to specify that no chars should be used. This keyword ; is ignored if hierarchy-netname-mangle is disabled. This keyword ; is used in conjunction with the respective hierarchy-*-order keyword. ; ; This keyword is also fairly coupled with hierarchy-uref-separator and ; hierarchy-netattrib-separator so you will probably have to change those ; to get the wanted hierarchy naming. ; (hierarchy-netname-separator "/") ;(hierarchy-netname-separator "") ; hierarchy-netattrib-separator string ; ; Specifies what the separator string between the various hierarchy tags ; for net= created nets. This string can also be "" (empty) to specify ; that no chars should be used. This keyword is ignored if ; hierarchy-netattrib-mangle is disabled. This keyword is used in ; conjunction with the respective hierarchy-*-order keyword. ; (hierarchy-netattrib-separator "/") ;(hierarchy-netattrib-separator "") ; hierarchy-uref-order string ; ; Specifies the order in which the hierarchy tags are applied to all ; urefs ; (hierarchy-uref-order "append") ;(hierarchy-uref-order "prepend") ; hierarchy-netname-order string ; ; Specifies the order in which the hierarchy tags are applied to all ; regular nets ; (hierarchy-netname-order "append") ;(hierarchy-netname-order "prepend") ; hierarchy-netattrib-order string ; ; Specifies the order in which the hierarchy tags are applied to nets created ; using the net= attribute ; (hierarchy-netattrib-order "append") ;(hierarchy-netattrib-order "prepend") ; unnamed-netname string ; ; Specifies the default string which is placed in front of all nets that ; have not been explicitly named by the user (using the netname= attribute ; in the schematic). ; (unnamed-netname "unnamed_net") ; unnamed-busname string ; ; Specifies the default string which is placed in front of all buses that ; have not been explicitly named by the user. ; (This is not currently useful, since gnetlist does not netlist buses). ; (unnamed-busname "unnamed_bus") ; ; End of mode related keywords ; ; ; Start of path related keywords ; ; ; End of path related keywords ; ; world-size width height border ; ; Specifies the size of the world and a border ; Be sure all inputs are reals (floats/doubles) and don't try to reverse ; the values: to get a portrait mode. Code to support that needs to be added ; The code that implements this automatically transforms the dimensions into ; the proper aspect ratio. All units are in inches. ; This is not the paper size. That is specified elsewhere. End users should ; not change this at all ; (world-size 120.0 90.0 1.0) ;(world-size 60.0 45.0 1.0) geda-gaf-1.8.2/gnetlist/lib/Makefile.am0000664000175000017500000000036312050461155014534 00000000000000 rcdatadir = @GEDARCDIR@ rcdata_DATA = system-gnetlistrc EXTRA_DIST = system-gnetlistrc.in MOSTLYCLEANFILES = *.log *~ CLEANFILES = *.log *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = system-gnetlistrc *.log *~ Makefile.in geda-gaf-1.8.2/gnetlist/lib/Makefile.in0000664000175000017500000004464512220655723014565 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = gnetlist/lib DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(srcdir)/system-gnetlistrc.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = system-gnetlistrc CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(rcdatadir)" DATA = $(rcdata_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ rcdatadir = @GEDARCDIR@ rcdata_DATA = system-gnetlistrc EXTRA_DIST = system-gnetlistrc.in MOSTLYCLEANFILES = *.log *~ CLEANFILES = *.log *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = system-gnetlistrc *.log *~ Makefile.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gnetlist/lib/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu gnetlist/lib/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): system-gnetlistrc: $(top_builddir)/config.status $(srcdir)/system-gnetlistrc.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-rcdataDATA: $(rcdata_DATA) @$(NORMAL_INSTALL) @list='$(rcdata_DATA)'; test -n "$(rcdatadir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(rcdatadir)'"; \ $(MKDIR_P) "$(DESTDIR)$(rcdatadir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(rcdatadir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(rcdatadir)" || exit $$?; \ done uninstall-rcdataDATA: @$(NORMAL_UNINSTALL) @list='$(rcdata_DATA)'; test -n "$(rcdatadir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(rcdatadir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(rcdatadir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-rcdataDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-rcdataDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-rcdataDATA install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags-am uninstall uninstall-am uninstall-rcdataDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/gnetlist/Makefile.am0000664000175000017500000000066312220647257014001 00000000000000 SUBDIRS = src include utils lib scheme examples scripts tests docs EXTRA_DIST = BUGS ChangeLog ChangeLog-1.0 if HAVE_GIT_REPO ChangeLog: $(top_builddir)/stamp-git (cd $(srcdir) && $(GIT) log --pretty=medium $(CHANGELOG_BASE).. -- .) > $@ endif HAVE_GIT_REPO MOSTLYCLEANFILES = *.log core FILE *~ CLEANFILES = *.log core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in ChangeLog geda-gaf-1.8.2/gnetlist/examples/0000775000175000017500000000000012220655755013640 500000000000000geda-gaf-1.8.2/gnetlist/examples/7447.sch0000664000175000017500000002155212050461155014657 00000000000000v 20031011 1 T 39600 13000 3 15 1 0 0 0 1 EXAMPLE SCHEMATIC FOR VERILOG GATES T 43200 12200 3 10 1 0 0 0 1 MIKE JARABEK C 22800 30800 1 0 0 nand2-1.sym { T 23100 30600 5 10 1 1 0 0 1 refdes=U1 } C 22800 29000 1 0 0 nand2-1.sym { T 23100 28800 5 10 1 1 0 0 1 refdes=U2 } C 22800 26700 1 0 0 nand2-1.sym { T 23100 26500 5 10 1 1 0 0 1 refdes=U3 } C 24500 29900 1 0 0 nand2-1.sym { T 24800 29700 5 10 1 1 0 0 1 refdes=U4 } C 24500 28300 1 0 0 nand2-1.sym { T 24800 28100 5 10 1 1 0 0 1 refdes=U5 } C 24500 26000 1 0 0 nand2-1.sym { T 24800 25800 5 10 1 1 0 0 1 refdes=U6 } C 24500 24100 1 0 0 nand2-1.sym { T 24800 23900 5 10 1 1 0 0 1 refdes=U7 } C 29400 32500 1 0 0 and2-1.sym { T 29800 32600 5 10 1 1 0 0 1 refdes=U8 } C 29400 31700 1 0 0 and2-1.sym { T 29800 31800 5 10 1 1 0 0 1 refdes=U9 } C 29400 29500 1 0 0 and2-1.sym { T 29800 29600 5 10 1 1 0 0 1 refdes=U10 } C 29400 26700 1 0 0 and2-1.sym { T 29800 26800 5 10 1 1 0 0 1 refdes=U11 } C 29400 21800 1 0 0 and2-1.sym { T 29800 21900 5 10 1 1 0 0 1 refdes=U12 } C 29400 20600 1 0 0 and2-1.sym { T 29800 20700 5 10 1 1 0 0 1 refdes=U13 } C 29400 19800 1 0 0 and2-1.sym { T 29800 19900 5 10 1 1 0 0 1 refdes=U14 } C 31700 31700 1 0 0 nor3-1.sym { T 32000 31500 5 10 1 1 0 0 1 refdes=U15 } C 31700 26300 1 0 0 nor2-1.sym { T 32000 26100 5 10 1 1 0 0 1 refdes=U16 } C 31700 23800 1 0 0 nor3-1.sym { T 32000 23600 5 10 1 1 0 0 1 refdes=U17 } C 31700 22000 1 0 0 nor2-1.sym { T 32000 21800 5 10 1 1 0 0 1 refdes=U18 } C 31700 19800 1 0 0 nor3-1.sym { T 32000 19600 5 10 1 1 0 0 1 refdes=U19 } C 31700 17500 1 0 0 nor2-1.sym { T 32000 17300 5 10 1 1 0 0 1 refdes=U20 } C 33600 31500 1 0 0 not-1.sym { T 33900 31500 5 10 1 1 0 0 1 refdes=U21 } C 33600 28500 1 0 0 not-1.sym { T 33900 28500 5 10 1 1 0 0 1 refdes=U22 } C 33600 26100 1 0 0 not-1.sym { T 33900 26100 5 10 1 1 0 0 1 refdes=U23 } C 33600 23600 1 0 0 not-1.sym { T 33900 23600 5 10 1 1 0 0 1 refdes=U24 } C 33600 21800 1 0 0 not-1.sym { T 33900 21800 5 10 1 1 0 0 1 refdes=U25 } C 33600 19600 1 0 0 not-1.sym { T 33900 19600 5 10 1 1 0 0 1 refdes=U39 } C 33600 17300 1 0 0 not-1.sym { T 33900 17300 5 10 1 1 0 0 1 refdes=U40 } C 22900 24700 1 0 0 not-1.sym { T 23200 24700 5 10 1 1 0 0 1 refdes=U26 } C 29400 15400 1 0 0 nand6-1.sym { T 29800 15800 5 10 1 1 0 0 1 refdes=U27 } C 29400 30700 1 0 0 and4-1.sym { T 29800 30900 5 10 1 1 0 0 1 refdes=U28 } C 29400 28700 1 0 0 and3-1.sym { T 29800 28800 5 10 1 1 0 0 1 refdes=U29 } C 29400 27900 1 0 0 and3-1.sym { T 29800 28000 5 10 1 1 0 0 1 refdes=U30 } C 29400 25900 1 0 0 and3-1.sym { T 29800 26000 5 10 1 1 0 0 1 refdes=U31 } C 29400 24600 1 0 0 and3-1.sym { T 29800 24700 5 10 1 1 0 0 1 refdes=U32 } C 29400 23800 1 0 0 and3-1.sym { T 29800 23900 5 10 1 1 0 0 1 refdes=U33 } C 29400 23000 1 0 0 and3-1.sym { T 29800 23100 5 10 1 1 0 0 1 refdes=U34 } C 29400 19000 1 0 0 and3-1.sym { T 29800 19100 5 10 1 1 0 0 1 refdes=U35 } C 29400 17900 1 0 0 and3-1.sym { T 29800 18000 5 10 1 1 0 0 1 refdes=U36 } C 29400 16900 1 0 0 and4-1.sym { T 29800 17100 5 10 1 1 0 0 1 refdes=U37 } C 31700 28700 1 0 0 nor3-1.sym { T 32000 28500 5 10 1 1 0 0 1 refdes=U38 } N 26300 31400 26300 18400 4 N 26300 18400 29400 18400 4 N 26300 31400 29400 31400 4 N 25800 30200 26300 30200 4 N 29400 32200 26500 32200 4 N 26500 32200 26500 16500 4 N 26500 16500 29400 16500 4 N 24100 31100 26500 31100 4 N 24500 30400 24500 31100 4 N 24300 30000 24300 14800 4 N 24300 14800 32400 14800 4 N 32400 14800 32400 16000 4 N 29400 33000 26700 33000 4 N 26700 33000 26700 18200 4 N 26700 18200 29400 18200 4 N 29400 31200 26900 31200 4 N 26900 17600 29400 17600 4 N 29400 31800 27100 31800 4 N 27100 31800 27100 18000 4 N 27100 18000 29400 18000 4 N 29400 31000 27300 31000 4 N 27300 17400 29400 17400 4 N 29400 32600 27500 32600 4 N 27500 32600 27500 24400 4 N 27500 24400 25800 24400 4 N 29400 30800 27700 30800 4 N 27700 17200 29400 17200 4 N 30700 32000 31700 32000 4 N 30700 32800 31200 32800 4 N 31200 32800 31200 32200 4 N 31200 32200 31700 32200 4 N 31700 31800 31200 31800 4 N 31200 31800 31200 31100 4 N 31200 31100 30700 31100 4 N 31700 29000 30700 29000 4 N 31700 29200 31200 29200 4 N 31200 29200 31200 29800 4 N 31200 29800 30700 29800 4 N 30700 28200 31200 28200 4 N 31200 28800 31700 28800 4 N 31700 26800 31300 26800 4 N 31300 26800 31300 27000 4 N 31300 27000 30700 27000 4 N 30700 26200 31300 26200 4 N 31300 26200 31300 26400 4 N 31300 26400 31700 26400 4 N 31700 24100 30700 24100 4 N 31700 24300 31300 24300 4 N 31300 24300 31300 24900 4 N 31300 24900 30700 24900 4 N 30700 23300 31300 23300 4 N 31300 23300 31300 23900 4 N 31300 23900 31700 23900 4 N 31700 22100 30700 22100 4 N 31700 20100 30700 20100 4 N 31700 20300 31300 20300 4 N 31300 20300 31300 20900 4 N 31300 20900 30700 20900 4 N 30700 19300 31300 19300 4 N 31300 19300 31300 19900 4 N 31300 19900 31700 19900 4 N 30700 18200 31300 18200 4 N 31300 18200 31300 18000 4 N 31300 18000 31700 18000 4 N 30700 17300 31300 17300 4 N 31300 17300 31300 17600 4 N 31300 17600 31700 17600 4 N 33000 17800 33600 17800 4 N 33000 20100 33600 20100 4 N 33000 22300 33600 22300 4 N 33000 24100 33600 24100 4 N 33000 26600 33600 26600 4 N 33000 29000 33600 29000 4 N 33000 32000 33600 32000 4 N 22800 30900 22400 30900 4 N 22400 30900 22400 17000 4 N 22400 17000 29400 17000 4 N 22800 29100 22400 29100 4 N 22800 26800 22400 26800 4 N 24100 29300 26900 29300 4 N 24500 29300 24500 28800 4 N 24500 30000 24300 30000 4 N 24500 28400 24300 28400 4 N 24500 26100 24300 26100 4 N 24100 27000 27300 27000 4 N 24500 26500 24500 27000 4 N 24000 25200 27700 25200 4 N 24500 24600 24500 25200 4 N 24500 24200 24300 24200 4 N 31200 28800 31200 28200 4 N 25800 28600 26700 28600 4 N 25800 26300 27100 26300 4 N 26300 17000 26300 15500 4 N 26300 15500 29400 15500 4 C 20700 17900 1 0 0 ipad-1.sym { T 21400 18100 5 10 1 1 0 0 1 refdes=P1 } N 21600 18000 22400 18000 4 { T 19300 18000 5 10 1 1 0 0 1 netname=LAMP_TESTn } N 29400 15700 21600 15700 4 { T 18700 15600 5 10 1 1 0 0 1 netname=RIPPLE_BLANK_INn } C 20700 15600 1 0 0 ipad-1.sym { T 21400 15800 5 10 1 1 0 0 1 refdes=P2 } C 36100 15900 1 0 0 opad-1.sym { T 36000 16100 5 10 1 1 0 0 1 refdes=P3 } N 30700 16000 36100 16000 4 { T 37100 16000 5 10 1 1 0 0 1 netname=RIPPLE_BLANK_OUTn } C 20700 25100 1 0 0 ipad-1.sym { T 21400 25300 5 10 1 1 0 0 1 refdes=P4 } C 20700 27100 1 0 0 ipad-1.sym { T 21400 27300 5 10 1 1 0 0 1 refdes=P5 } C 20700 29400 1 0 0 ipad-1.sym { T 21400 29600 5 10 1 1 0 0 1 refdes=P6 } C 20700 31200 1 0 0 ipad-1.sym { T 21400 31400 5 10 1 1 0 0 1 refdes=P7 } N 21600 25200 22900 25200 4 { T 19900 25100 5 10 1 1 0 0 1 netname=INPUTD } N 21600 27200 22800 27200 4 { T 19900 27100 5 10 1 1 0 0 1 netname=INPUTC } N 21600 29500 22800 29500 4 { T 19900 29400 5 10 1 1 0 0 1 netname=INPUTB } N 21600 31300 22800 31300 4 { T 19900 31200 5 10 1 1 0 0 1 netname=INPUTA } C 36100 17700 1 0 0 opad-1.sym { T 36000 17900 5 10 1 1 0 0 1 refdes=P8 } N 34700 17800 36100 17800 4 { T 37100 17800 5 10 1 1 0 0 1 netname=OUTPUTGn } C 36100 20000 1 0 0 opad-1.sym { T 36000 20200 5 10 1 1 0 0 1 refdes=P9 } N 34700 20100 36100 20100 4 { T 37100 20100 5 10 1 1 0 0 1 netname=OUTPUTFn } C 36100 22200 1 0 0 opad-1.sym { T 36000 22400 5 10 1 1 0 0 1 refdes=P10 } N 34700 22300 36100 22300 4 { T 37100 22300 5 10 1 1 0 0 1 netname=OUTPUTEn } C 36100 24000 1 0 0 opad-1.sym { T 36000 24200 5 10 1 1 0 0 1 refdes=P11 } N 34700 24100 36100 24100 4 { T 37100 24100 5 10 1 1 0 0 1 netname=OUTPUTDn } C 36100 26500 1 0 0 opad-1.sym { T 36000 26700 5 10 1 1 0 0 1 refdes=P12 } N 34700 26600 36100 26600 4 { T 37100 26600 5 10 1 1 0 0 1 netname=OUTPUTCn } C 36100 28900 1 0 0 opad-1.sym { T 36100 29100 5 10 1 1 0 0 1 refdes=P13 } N 34700 29000 36100 29000 4 { T 37100 29000 5 10 1 1 0 0 1 netname=OUTPUTBn } C 36100 31900 1 0 0 opad-1.sym { T 36100 32100 5 10 1 1 0 0 1 refdes=P14 } N 34700 32000 36100 32000 4 { T 37100 32000 5 10 1 1 0 0 1 netname=OUTPUTAn } N 29400 30000 26700 30000 4 N 29400 29600 27500 29600 4 N 29400 29200 26300 29200 4 N 29400 29000 26900 29000 4 N 29400 28800 27100 28800 4 N 29400 28400 26500 28400 4 N 29400 28200 26700 28200 4 N 29400 28000 27100 28000 4 N 29400 27200 27100 27200 4 N 29400 26800 27500 26800 4 N 29400 26400 26500 26400 4 N 29400 26200 26700 26200 4 N 29400 26000 27300 26000 4 N 29400 25100 26300 25100 4 N 29400 24900 26900 24900 4 N 29400 24700 27300 24700 4 N 29400 24300 26500 24300 4 N 29400 24100 26900 24100 4 N 29400 23900 27100 23900 4 N 29400 23500 26300 23500 4 N 29400 23300 26700 23300 4 N 29400 23100 27100 23100 4 N 31700 22500 26300 22500 4 N 29400 22300 26900 22300 4 N 29400 21900 27100 21900 4 N 29400 21100 26300 21100 4 N 29400 20700 26700 20700 4 N 29400 20300 26700 20300 4 N 29400 19900 27300 19900 4 N 29400 19500 26300 19500 4 N 29400 19300 27300 19300 4 N 29400 19100 27700 19100 4 N 29400 16300 26900 16300 4 N 29400 16100 27300 16100 4 N 29400 15900 27700 15900 4 N 26900 16300 26900 31200 4 N 27300 16100 27300 31000 4 N 27700 15900 27700 30800 4 C 12100 12100 0 0 0 title-D.sym T 39100 13800 3 10 1 0 0 0 1 DIAGRAM BASED ON TEXAS INSTRUMENT'S SN7447A DATASHEET geda-gaf-1.8.2/gnetlist/examples/Makefile.am0000664000175000017500000000047212050461155015605 00000000000000## Process this file with automake to produce Makefile.in SUBDIRS = vams switcap EXTRA_DIST = 7447.sch test_verilog.sch stack_1.sch MOSTLYCLEANFILES = core *.log FILE *.ps *~ CLEANFILES = core *.log FILE *.ps *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = core *.log FILE *.ps *~ Makefile.in geda-gaf-1.8.2/gnetlist/examples/switcap/0000775000175000017500000000000012220655755015312 500000000000000geda-gaf-1.8.2/gnetlist/examples/switcap/Makefile.am0000664000175000017500000000051412050461155017254 00000000000000## Process this file with automake to produce Makefile.in EXTRA_DIST = README analysis.sch ckt.sch clocks.sch example.out example.scn \ test.ana MOSTLYCLEANFILES = core *.log FILE *.ps *~ CLEANFILES = core *.log FILE *.ps *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = core *.log FILE *.ps *~ Makefile.in geda-gaf-1.8.2/gnetlist/examples/switcap/analysis.sch0000664000175000017500000000072112050461155017542 00000000000000v 20031011 1 C 33100 47100 1 0 0 switcap-analysis-1.sym { T 33300 47200 5 10 1 1 0 0 1 refdes=ANA1 T 33300 47700 5 10 1 0 0 0 1 file=test.ana } C 33100 45000 1 0 0 switcap-title-1.sym { T 33300 45700 5 10 1 0 0 0 1 TITLE=my title T 33200 45100 5 10 1 1 0 0 1 refdes=TITLE } C 33000 43100 1 0 0 switcap-options-1.sym { T 33200 43800 5 10 1 0 0 0 1 OPTIONS=WIDTH132; REPORT; GRID; CHKCLK; T 33100 43200 5 10 1 1 0 0 1 refdes=OPTIONS } C 31700 41200 1 0 0 title-A.sym geda-gaf-1.8.2/gnetlist/examples/switcap/example.out0000664000175000017500000013272512050461155017416 00000000000000 *******15-Apr-03********SWITCAP A.5R (21-Sep-87)********18:33:54******* Input Listing *********************************************************************** /* SWITCAP NETLIST PRODUCED BY GNETLIST (PART OF GEDA) */ /* SEE HTTP://WWW.GEDA.SEUL.ORG FOR MORE INFORMATION. */ /* SWITCAP BACKEND WRITTEN BY DAN MCMAHILL */ OPTIONS; WIDTH132; REPORT; GRID; CHKCLK; END; TITLE:MY TITLE; TIMING; PERIOD 1E-6; CLOCK CLK1 1 (0 3/8); END; CIRCUIT; S7 (5 0) #CLK1; S8 (6 0) #CLK1; S6 (OUT 6) CLK1; S5 (4 5) CLK1; C3 (5 6) 0.2; S4 (3 4) #CLK1; C2 (4 OUT) 1.0; C1 (1 3) 1.0; E1 (OUT 0 0 4) 2.3E5; S3 (0 3) CLK1; S1 (2 1) CLK1; V1 (0 2); S2 (0 1) #CLK1; END; /* READING ANALYSIS FROM "TEST.ANA" */ ANALYZE SSS; INFREQ 100.0 1.0E6 LOG 501; SET V1 AC 1.0 0.0; PRINT VDB(OUT) VP(OUT); END; ANALYZE TRAN; TIME 0+ 500 1 SET V1 PULSE 0 5 10E-6 5E-6 5E-6 100E-6 500E-6; PRINT V(OUT); END; /* END OF SWITCAP NETLIST */ END; *******15-Apr-03********SWITCAP A.5R (21-Sep-87)********18:33:54******* MY TITLE Sinusoidal Steady State Analysis *********************************************************************** System Timing 1 subdivision of the master clock is equal to: 1.250000E-07 seconds, or 1/ 8 master clock period. Switching instants are at (in units of master clock subdivisions): 0 (with 1 network components) 3 (with 1 network components) 8 + 0 etc.... Network switching period contains: 8 subdivisions, or 1.000000E-06 seconds. Frequency: 1.000000E+06 hertz. frequency vdb(OUT) vp(OUT) 1.00000000E+02 1.5002E+01 1.7980E+02 1.01859139E+02 1.5002E+01 1.7980E+02 1.03752842E+02 1.5002E+01 1.7980E+02 1.05681751E+02 1.5002E+01 1.7979E+02 1.07646521E+02 1.5002E+01 1.7979E+02 1.09647820E+02 1.5002E+01 1.7978E+02 1.11686325E+02 1.5002E+01 1.7978E+02 1.13762729E+02 1.5002E+01 1.7978E+02 1.15877736E+02 1.5002E+01 1.7977E+02 1.18032064E+02 1.5002E+01 1.7977E+02 1.20226443E+02 1.5002E+01 1.7976E+02 1.22461620E+02 1.5002E+01 1.7976E+02 1.24738351E+02 1.5002E+01 1.7975E+02 1.27057411E+02 1.5002E+01 1.7975E+02 1.29419584E+02 1.5002E+01 1.7974E+02 1.31825674E+02 1.5002E+01 1.7974E+02 1.34276496E+02 1.5002E+01 1.7974E+02 1.36772883E+02 1.5002E+01 1.7973E+02 1.39315680E+02 1.5002E+01 1.7973E+02 1.41905752E+02 1.5002E+01 1.7972E+02 1.44543977E+02 1.5002E+01 1.7971E+02 1.47231250E+02 1.5002E+01 1.7971E+02 1.49968484E+02 1.5002E+01 1.7970E+02 1.52756606E+02 1.5002E+01 1.7970E+02 1.55596563E+02 1.5002E+01 1.7969E+02 1.58489319E+02 1.5002E+01 1.7969E+02 1.61435856E+02 1.5002E+01 1.7968E+02 1.64437172E+02 1.5002E+01 1.7968E+02 1.67494288E+02 1.5002E+01 1.7967E+02 1.70608239E+02 1.5002E+01 1.7966E+02 1.73780083E+02 1.5002E+01 1.7966E+02 1.77010896E+02 1.5002E+01 1.7965E+02 1.80301774E+02 1.5002E+01 1.7964E+02 1.83653834E+02 1.5002E+01 1.7964E+02 1.87068214E+02 1.5002E+01 1.7963E+02 1.90546072E+02 1.5002E+01 1.7962E+02 1.94088588E+02 1.5002E+01 1.7962E+02 1.97696964E+02 1.5002E+01 1.7961E+02 2.01372425E+02 1.5002E+01 1.7960E+02 2.05116218E+02 1.5002E+01 1.7960E+02 2.08929613E+02 1.5002E+01 1.7959E+02 2.12813905E+02 1.5002E+01 1.7958E+02 2.16770410E+02 1.5002E+01 1.7957E+02 2.20800473E+02 1.5002E+01 1.7956E+02 2.24905461E+02 1.5002E+01 1.7956E+02 2.29086765E+02 1.5002E+01 1.7955E+02 2.33345806E+02 1.5002E+01 1.7954E+02 2.37684029E+02 1.5002E+01 1.7953E+02 2.42102905E+02 1.5002E+01 1.7952E+02 2.46603934E+02 1.5002E+01 1.7951E+02 2.51188643E+02 1.5002E+01 1.7950E+02 2.55858589E+02 1.5002E+01 1.7950E+02 2.60615355E+02 1.5002E+01 1.7949E+02 2.65460556E+02 1.5002E+01 1.7948E+02 2.70395836E+02 1.5002E+01 1.7947E+02 2.75422870E+02 1.5002E+01 1.7946E+02 2.80543364E+02 1.5002E+01 1.7945E+02 2.85759054E+02 1.5002E+01 1.7944E+02 2.91071712E+02 1.5002E+01 1.7943E+02 2.96483139E+02 1.5002E+01 1.7942E+02 3.01995172E+02 1.5002E+01 1.7940E+02 3.07609681E+02 1.5002E+01 1.7939E+02 3.13328572E+02 1.5002E+01 1.7938E+02 3.19153786E+02 1.5002E+01 1.7937E+02 3.25087297E+02 1.5002E+01 1.7936E+02 3.31131121E+02 1.5002E+01 1.7935E+02 3.37287309E+02 1.5002E+01 1.7933E+02 3.43557948E+02 1.5002E+01 1.7932E+02 3.49945167E+02 1.5002E+01 1.7931E+02 3.56451133E+02 1.5002E+01 1.7930E+02 3.63078055E+02 1.5002E+01 1.7928E+02 3.69828180E+02 1.5001E+01 1.7927E+02 3.76703799E+02 1.5001E+01 1.7926E+02 3.83707245E+02 1.5001E+01 1.7924E+02 3.90840896E+02 1.5001E+01 1.7923E+02 3.98107171E+02 1.5001E+01 1.7921E+02 4.05508535E+02 1.5001E+01 1.7920E+02 4.13047502E+02 1.5001E+01 1.7919E+02 4.20726628E+02 1.5001E+01 1.7917E+02 4.28548520E+02 1.5001E+01 1.7915E+02 4.36515832E+02 1.5001E+01 1.7914E+02 4.44631267E+02 1.5001E+01 1.7912E+02 4.52897580E+02 1.5001E+01 1.7911E+02 4.61317575E+02 1.5001E+01 1.7909E+02 4.69894109E+02 1.5001E+01 1.7907E+02 4.78630092E+02 1.5001E+01 1.7906E+02 4.87528490E+02 1.5001E+01 1.7904E+02 4.96592321E+02 1.5001E+01 1.7902E+02 5.05824662E+02 1.5001E+01 1.7900E+02 5.15228645E+02 1.5001E+01 1.7898E+02 5.24807460E+02 1.5001E+01 1.7896E+02 5.34564359E+02 1.5001E+01 1.7895E+02 5.44502653E+02 1.5001E+01 1.7893E+02 5.54625713E+02 1.5001E+01 1.7891E+02 5.64936975E+02 1.5001E+01 1.7889E+02 5.75439937E+02 1.5000E+01 1.7887E+02 5.86138165E+02 1.5000E+01 1.7884E+02 5.97035287E+02 1.5000E+01 1.7882E+02 6.08135001E+02 1.5000E+01 1.7880E+02 6.19441075E+02 1.5000E+01 1.7878E+02 6.30957344E+02 1.5000E+01 1.7876E+02 6.42687717E+02 1.5000E+01 1.7873E+02 6.54636174E+02 1.5000E+01 1.7871E+02 6.66806769E+02 1.5000E+01 1.7868E+02 6.79203633E+02 1.5000E+01 1.7866E+02 6.91830971E+02 1.5000E+01 1.7864E+02 7.04693069E+02 1.5000E+01 1.7861E+02 7.17794291E+02 1.5000E+01 1.7858E+02 7.31139083E+02 1.4999E+01 1.7856E+02 7.44731974E+02 1.4999E+01 1.7853E+02 7.58577575E+02 1.4999E+01 1.7850E+02 7.72680585E+02 1.4999E+01 1.7848E+02 7.87045790E+02 1.4999E+01 1.7845E+02 8.01678063E+02 1.4999E+01 1.7842E+02 8.16582371E+02 1.4999E+01 1.7839E+02 8.31763771E+02 1.4999E+01 1.7836E+02 8.47227414E+02 1.4998E+01 1.7833E+02 8.62978548E+02 1.4998E+01 1.7830E+02 8.79022517E+02 1.4998E+01 1.7827E+02 8.95364766E+02 1.4998E+01 1.7823E+02 9.12010839E+02 1.4998E+01 1.7820E+02 9.28966387E+02 1.4998E+01 1.7817E+02 9.46237161E+02 1.4998E+01 1.7813E+02 9.63829024E+02 1.4997E+01 1.7810E+02 9.81747943E+02 1.4997E+01 1.7806E+02 1.00000000E+03 1.4997E+01 1.7803E+02 1.01859139E+03 1.4997E+01 1.7799E+02 1.03752842E+03 1.4997E+01 1.7795E+02 1.05681751E+03 1.4996E+01 1.7792E+02 1.07646521E+03 1.4996E+01 1.7788E+02 1.09647820E+03 1.4996E+01 1.7784E+02 1.11686325E+03 1.4996E+01 1.7780E+02 1.13762729E+03 1.4996E+01 1.7776E+02 1.15877736E+03 1.4995E+01 1.7772E+02 1.18032064E+03 1.4995E+01 1.7767E+02 1.20226443E+03 1.4995E+01 1.7763E+02 1.22461620E+03 1.4994E+01 1.7759E+02 1.24738351E+03 1.4994E+01 1.7754E+02 1.27057411E+03 1.4994E+01 1.7750E+02 1.29419584E+03 1.4994E+01 1.7745E+02 1.31825674E+03 1.4993E+01 1.7740E+02 1.34276496E+03 1.4993E+01 1.7735E+02 1.36772883E+03 1.4993E+01 1.7730E+02 1.39315680E+03 1.4992E+01 1.7725E+02 1.41905752E+03 1.4992E+01 1.7720E+02 1.44543977E+03 1.4991E+01 1.7715E+02 1.47231250E+03 1.4991E+01 1.7710E+02 1.49968484E+03 1.4991E+01 1.7704E+02 1.52756606E+03 1.4990E+01 1.7699E+02 1.55596563E+03 1.4990E+01 1.7693E+02 1.58489319E+03 1.4989E+01 1.7688E+02 1.61435856E+03 1.4989E+01 1.7682E+02 1.64437172E+03 1.4988E+01 1.7676E+02 1.67494288E+03 1.4988E+01 1.7670E+02 1.70608239E+03 1.4987E+01 1.7664E+02 1.73780083E+03 1.4987E+01 1.7658E+02 1.77010896E+03 1.4986E+01 1.7651E+02 1.80301774E+03 1.4985E+01 1.7645E+02 1.83653834E+03 1.4985E+01 1.7638E+02 1.87068214E+03 1.4984E+01 1.7632E+02 1.90546072E+03 1.4984E+01 1.7625E+02 1.94088588E+03 1.4983E+01 1.7618E+02 1.97696964E+03 1.4982E+01 1.7611E+02 2.01372425E+03 1.4981E+01 1.7603E+02 2.05116218E+03 1.4981E+01 1.7596E+02 2.08929613E+03 1.4980E+01 1.7589E+02 2.12813905E+03 1.4979E+01 1.7581E+02 2.16770410E+03 1.4978E+01 1.7573E+02 2.20800473E+03 1.4977E+01 1.7565E+02 2.24905461E+03 1.4976E+01 1.7557E+02 2.29086765E+03 1.4975E+01 1.7549E+02 2.33345806E+03 1.4974E+01 1.7541E+02 2.37684029E+03 1.4973E+01 1.7532E+02 2.42102905E+03 1.4972E+01 1.7524E+02 2.46603934E+03 1.4971E+01 1.7515E+02 2.51188643E+03 1.4970E+01 1.7506E+02 2.55858589E+03 1.4969E+01 1.7497E+02 2.60615355E+03 1.4967E+01 1.7487E+02 2.65460556E+03 1.4966E+01 1.7478E+02 2.70395836E+03 1.4965E+01 1.7468E+02 2.75422870E+03 1.4963E+01 1.7458E+02 2.80543364E+03 1.4962E+01 1.7448E+02 2.85759054E+03 1.4960E+01 1.7438E+02 2.91071712E+03 1.4959E+01 1.7428E+02 2.96483139E+03 1.4957E+01 1.7417E+02 3.01995172E+03 1.4955E+01 1.7406E+02 3.07609681E+03 1.4954E+01 1.7396E+02 3.13328572E+03 1.4952E+01 1.7384E+02 3.19153786E+03 1.4950E+01 1.7373E+02 3.25087297E+03 1.4948E+01 1.7361E+02 3.31131121E+03 1.4946E+01 1.7350E+02 3.37287309E+03 1.4944E+01 1.7338E+02 3.43557948E+03 1.4942E+01 1.7325E+02 3.49945167E+03 1.4939E+01 1.7313E+02 3.56451133E+03 1.4937E+01 1.7300E+02 3.63078055E+03 1.4935E+01 1.7288E+02 3.69828180E+03 1.4932E+01 1.7274E+02 3.76703799E+03 1.4930E+01 1.7261E+02 3.83707245E+03 1.4927E+01 1.7248E+02 3.90840896E+03 1.4924E+01 1.7234E+02 3.98107171E+03 1.4921E+01 1.7220E+02 4.05508535E+03 1.4918E+01 1.7205E+02 4.13047502E+03 1.4915E+01 1.7191E+02 4.20726628E+03 1.4912E+01 1.7176E+02 4.28548520E+03 1.4908E+01 1.7161E+02 4.36515832E+03 1.4905E+01 1.7145E+02 4.44631267E+03 1.4901E+01 1.7130E+02 4.52897580E+03 1.4898E+01 1.7114E+02 4.61317575E+03 1.4894E+01 1.7098E+02 4.69894109E+03 1.4890E+01 1.7081E+02 4.78630092E+03 1.4886E+01 1.7064E+02 4.87528490E+03 1.4881E+01 1.7047E+02 4.96592321E+03 1.4877E+01 1.7030E+02 5.05824662E+03 1.4872E+01 1.7012E+02 5.15228645E+03 1.4867E+01 1.6994E+02 5.24807460E+03 1.4862E+01 1.6976E+02 5.34564359E+03 1.4857E+01 1.6957E+02 5.44502653E+03 1.4852E+01 1.6938E+02 5.54625713E+03 1.4846E+01 1.6919E+02 5.64936975E+03 1.4841E+01 1.6899E+02 5.75439937E+03 1.4835E+01 1.6880E+02 5.86138165E+03 1.4829E+01 1.6859E+02 5.97035287E+03 1.4822E+01 1.6839E+02 6.08135001E+03 1.4816E+01 1.6818E+02 6.19441075E+03 1.4809E+01 1.6796E+02 6.30957344E+03 1.4802E+01 1.6775E+02 6.42687717E+03 1.4794E+01 1.6752E+02 6.54636174E+03 1.4787E+01 1.6730E+02 6.66806769E+03 1.4779E+01 1.6707E+02 6.79203633E+03 1.4771E+01 1.6684E+02 6.91830971E+03 1.4762E+01 1.6660E+02 7.04693069E+03 1.4753E+01 1.6636E+02 7.17794291E+03 1.4744E+01 1.6612E+02 7.31139083E+03 1.4735E+01 1.6587E+02 7.44731974E+03 1.4725E+01 1.6562E+02 7.58577575E+03 1.4715E+01 1.6537E+02 7.72680585E+03 1.4705E+01 1.6511E+02 7.87045790E+03 1.4694E+01 1.6484E+02 8.01678063E+03 1.4683E+01 1.6457E+02 8.16582371E+03 1.4671E+01 1.6430E+02 8.31763771E+03 1.4659E+01 1.6402E+02 8.47227414E+03 1.4647E+01 1.6374E+02 8.62978548E+03 1.4634E+01 1.6346E+02 8.79022517E+03 1.4621E+01 1.6317E+02 8.95364766E+03 1.4607E+01 1.6287E+02 9.12010839E+03 1.4593E+01 1.6257E+02 9.28966387E+03 1.4578E+01 1.6227E+02 9.46237161E+03 1.4563E+01 1.6196E+02 9.63829024E+03 1.4548E+01 1.6165E+02 9.81747943E+03 1.4532E+01 1.6133E+02 1.00000000E+04 1.4515E+01 1.6101E+02 1.01859139E+04 1.4498E+01 1.6068E+02 1.03752842E+04 1.4480E+01 1.6035E+02 1.05681751E+04 1.4461E+01 1.6001E+02 1.07646521E+04 1.4442E+01 1.5967E+02 1.09647820E+04 1.4423E+01 1.5932E+02 1.11686325E+04 1.4402E+01 1.5897E+02 1.13762729E+04 1.4381E+01 1.5862E+02 1.15877736E+04 1.4360E+01 1.5826E+02 1.18032064E+04 1.4337E+01 1.5789E+02 1.20226443E+04 1.4314E+01 1.5752E+02 1.22461620E+04 1.4290E+01 1.5714E+02 1.24738351E+04 1.4266E+01 1.5676E+02 1.27057411E+04 1.4241E+01 1.5638E+02 1.29419584E+04 1.4214E+01 1.5599E+02 1.31825674E+04 1.4187E+01 1.5560E+02 1.34276496E+04 1.4160E+01 1.5520E+02 1.36772883E+04 1.4131E+01 1.5479E+02 1.39315680E+04 1.4101E+01 1.5438E+02 1.41905752E+04 1.4071E+01 1.5397E+02 1.44543977E+04 1.4040E+01 1.5355E+02 1.47231250E+04 1.4007E+01 1.5313E+02 1.49968484E+04 1.3974E+01 1.5270E+02 1.52756606E+04 1.3940E+01 1.5227E+02 1.55596563E+04 1.3905E+01 1.5183E+02 1.58489319E+04 1.3869E+01 1.5139E+02 1.61435856E+04 1.3831E+01 1.5094E+02 1.64437172E+04 1.3793E+01 1.5049E+02 1.67494288E+04 1.3753E+01 1.5004E+02 1.70608239E+04 1.3713E+01 1.4958E+02 1.73780083E+04 1.3671E+01 1.4912E+02 1.77010896E+04 1.3628E+01 1.4865E+02 1.80301774E+04 1.3584E+01 1.4818E+02 1.83653834E+04 1.3539E+01 1.4771E+02 1.87068214E+04 1.3493E+01 1.4723E+02 1.90546072E+04 1.3445E+01 1.4675E+02 1.94088588E+04 1.3397E+01 1.4626E+02 1.97696964E+04 1.3346E+01 1.4577E+02 2.01372425E+04 1.3295E+01 1.4528E+02 2.05116218E+04 1.3242E+01 1.4479E+02 2.08929613E+04 1.3188E+01 1.4429E+02 2.12813905E+04 1.3133E+01 1.4379E+02 2.16770410E+04 1.3077E+01 1.4328E+02 2.20800473E+04 1.3019E+01 1.4278E+02 2.24905461E+04 1.2959E+01 1.4227E+02 2.29086765E+04 1.2899E+01 1.4176E+02 2.33345806E+04 1.2836E+01 1.4124E+02 2.37684029E+04 1.2773E+01 1.4073E+02 2.42102905E+04 1.2708E+01 1.4021E+02 2.46603934E+04 1.2642E+01 1.3969E+02 2.51188643E+04 1.2574E+01 1.3917E+02 2.55858589E+04 1.2504E+01 1.3865E+02 2.60615355E+04 1.2434E+01 1.3813E+02 2.65460556E+04 1.2362E+01 1.3760E+02 2.70395836E+04 1.2288E+01 1.3708E+02 2.75422870E+04 1.2213E+01 1.3655E+02 2.80543364E+04 1.2136E+01 1.3602E+02 2.85759054E+04 1.2058E+01 1.3550E+02 2.91071712E+04 1.1979E+01 1.3497E+02 2.96483139E+04 1.1898E+01 1.3444E+02 3.01995172E+04 1.1815E+01 1.3392E+02 3.07609681E+04 1.1732E+01 1.3339E+02 3.13328572E+04 1.1646E+01 1.3287E+02 3.19153786E+04 1.1559E+01 1.3234E+02 3.25087297E+04 1.1471E+01 1.3182E+02 3.31131121E+04 1.1381E+01 1.3130E+02 3.37287309E+04 1.1290E+01 1.3078E+02 3.43557948E+04 1.1197E+01 1.3026E+02 3.49945167E+04 1.1103E+01 1.2974E+02 3.56451133E+04 1.1008E+01 1.2922E+02 3.63078055E+04 1.0911E+01 1.2871E+02 3.69828180E+04 1.0813E+01 1.2819E+02 3.76703799E+04 1.0713E+01 1.2768E+02 3.83707245E+04 1.0612E+01 1.2718E+02 3.90840896E+04 1.0509E+01 1.2667E+02 3.98107171E+04 1.0406E+01 1.2617E+02 4.05508535E+04 1.0300E+01 1.2567E+02 4.13047502E+04 1.0194E+01 1.2517E+02 4.20726628E+04 1.0086E+01 1.2468E+02 4.28548520E+04 9.9771E+00 1.2419E+02 4.36515832E+04 9.8668E+00 1.2370E+02 4.44631267E+04 9.7553E+00 1.2322E+02 4.52897580E+04 9.6425E+00 1.2274E+02 4.61317575E+04 9.5285E+00 1.2226E+02 4.69894109E+04 9.4133E+00 1.2179E+02 4.78630092E+04 9.2969E+00 1.2132E+02 4.87528490E+04 9.1793E+00 1.2086E+02 4.96592321E+04 9.0606E+00 1.2040E+02 5.05824662E+04 8.9409E+00 1.1995E+02 5.15228645E+04 8.8200E+00 1.1949E+02 5.24807460E+04 8.6980E+00 1.1905E+02 5.34564359E+04 8.5750E+00 1.1860E+02 5.44502653E+04 8.4509E+00 1.1817E+02 5.54625713E+04 8.3258E+00 1.1773E+02 5.64936975E+04 8.1998E+00 1.1730E+02 5.75439937E+04 8.0727E+00 1.1688E+02 5.86138165E+04 7.9447E+00 1.1646E+02 5.97035287E+04 7.8158E+00 1.1604E+02 6.08135001E+04 7.6860E+00 1.1563E+02 6.19441075E+04 7.5553E+00 1.1523E+02 6.30957344E+04 7.4237E+00 1.1483E+02 6.42687717E+04 7.2912E+00 1.1443E+02 6.54636174E+04 7.1580E+00 1.1404E+02 6.66806769E+04 7.0239E+00 1.1365E+02 6.79203633E+04 6.8890E+00 1.1327E+02 6.91830971E+04 6.7534E+00 1.1290E+02 7.04693069E+04 6.6171E+00 1.1252E+02 7.17794291E+04 6.4800E+00 1.1216E+02 7.31139083E+04 6.3421E+00 1.1180E+02 7.44731974E+04 6.2036E+00 1.1144E+02 7.58577575E+04 6.0645E+00 1.1109E+02 7.72680585E+04 5.9246E+00 1.1074E+02 7.87045790E+04 5.7842E+00 1.1040E+02 8.01678063E+04 5.6431E+00 1.1006E+02 8.16582371E+04 5.5014E+00 1.0973E+02 8.31763771E+04 5.3592E+00 1.0940E+02 8.47227414E+04 5.2163E+00 1.0908E+02 8.62978548E+04 5.0730E+00 1.0876E+02 8.79022517E+04 4.9290E+00 1.0845E+02 8.95364766E+04 4.7846E+00 1.0814E+02 9.12010839E+04 4.6397E+00 1.0784E+02 9.28966387E+04 4.4943E+00 1.0754E+02 9.46237161E+04 4.3484E+00 1.0724E+02 9.63829024E+04 4.2020E+00 1.0695E+02 9.81747943E+04 4.0552E+00 1.0667E+02 1.00000000E+05 3.9080E+00 1.0639E+02 1.01859139E+05 3.7603E+00 1.0611E+02 1.03752842E+05 3.6123E+00 1.0584E+02 1.05681751E+05 3.4638E+00 1.0557E+02 1.07646521E+05 3.3150E+00 1.0531E+02 1.09647820E+05 3.1658E+00 1.0505E+02 1.11686325E+05 3.0163E+00 1.0479E+02 1.13762729E+05 2.8664E+00 1.0454E+02 1.15877736E+05 2.7162E+00 1.0430E+02 1.18032064E+05 2.5656E+00 1.0406E+02 1.20226443E+05 2.4148E+00 1.0382E+02 1.22461620E+05 2.2636E+00 1.0358E+02 1.24738351E+05 2.1122E+00 1.0335E+02 1.27057411E+05 1.9605E+00 1.0313E+02 1.29419584E+05 1.8085E+00 1.0290E+02 1.31825674E+05 1.6562E+00 1.0269E+02 1.34276496E+05 1.5037E+00 1.0247E+02 1.36772883E+05 1.3510E+00 1.0226E+02 1.39315680E+05 1.1980E+00 1.0205E+02 1.41905752E+05 1.0448E+00 1.0185E+02 1.44543977E+05 8.9141E-01 1.0165E+02 1.47231250E+05 7.3779E-01 1.0146E+02 1.49968484E+05 5.8397E-01 1.0126E+02 1.52756606E+05 4.2995E-01 1.0107E+02 1.55596563E+05 2.7575E-01 1.0089E+02 1.58489319E+05 1.2137E-01 1.0071E+02 1.61435856E+05 -3.3187E-02 1.0053E+02 1.64437172E+05 -1.8790E-01 1.0035E+02 1.67494288E+05 -3.4278E-01 1.0018E+02 1.70608239E+05 -4.9781E-01 1.0001E+02 1.73780083E+05 -6.5298E-01 9.9843E+01 1.77010896E+05 -8.0829E-01 9.9681E+01 1.80301774E+05 -9.6374E-01 9.9521E+01 1.83653834E+05 -1.1193E+00 9.9364E+01 1.87068214E+05 -1.2750E+00 9.9211E+01 1.90546072E+05 -1.4308E+00 9.9060E+01 1.94088588E+05 -1.5867E+00 9.8912E+01 1.97696964E+05 -1.7428E+00 9.8767E+01 2.01372425E+05 -1.8989E+00 9.8625E+01 2.05116218E+05 -2.0551E+00 9.8486E+01 2.08929613E+05 -2.2114E+00 9.8350E+01 2.12813905E+05 -2.3678E+00 9.8216E+01 2.16770410E+05 -2.5243E+00 9.8085E+01 2.20800473E+05 -2.6808E+00 9.7957E+01 2.24905461E+05 -2.8374E+00 9.7832E+01 2.29086765E+05 -2.9941E+00 9.7709E+01 2.33345806E+05 -3.1509E+00 9.7588E+01 2.37684029E+05 -3.3077E+00 9.7471E+01 2.42102905E+05 -3.4645E+00 9.7355E+01 2.46603934E+05 -3.6214E+00 9.7243E+01 2.51188643E+05 -3.7783E+00 9.7132E+01 2.55858589E+05 -3.9353E+00 9.7024E+01 2.60615355E+05 -4.0923E+00 9.6919E+01 2.65460556E+05 -4.2493E+00 9.6816E+01 2.70395836E+05 -4.4064E+00 9.6715E+01 2.75422870E+05 -4.5635E+00 9.6617E+01 2.80543364E+05 -4.7205E+00 9.6521E+01 2.85759054E+05 -4.8776E+00 9.6427E+01 2.91071712E+05 -5.0347E+00 9.6335E+01 2.96483139E+05 -5.1918E+00 9.6246E+01 3.01995172E+05 -5.3489E+00 9.6159E+01 3.07609681E+05 -5.5060E+00 9.6075E+01 3.13328572E+05 -5.6630E+00 9.5992E+01 3.19153786E+05 -5.8201E+00 9.5912E+01 3.25087297E+05 -5.9771E+00 9.5833E+01 3.31131121E+05 -6.1340E+00 9.5757E+01 3.37287309E+05 -6.2910E+00 9.5684E+01 3.43557948E+05 -6.4478E+00 9.5612E+01 3.49945167E+05 -6.6047E+00 9.5543E+01 3.56451133E+05 -6.7614E+00 9.5475E+01 3.63078055E+05 -6.9181E+00 9.5410E+01 3.69828180E+05 -7.0747E+00 9.5347E+01 3.76703799E+05 -7.2312E+00 9.5286E+01 3.83707245E+05 -7.3877E+00 9.5228E+01 3.90840896E+05 -7.5440E+00 9.5171E+01 3.98107171E+05 -7.7002E+00 9.5117E+01 4.05508535E+05 -7.8563E+00 9.5065E+01 4.13047502E+05 -8.0122E+00 9.5015E+01 4.20726628E+05 -8.1680E+00 9.4968E+01 4.28548520E+05 -8.3236E+00 9.4922E+01 4.36515832E+05 -8.4791E+00 9.4880E+01 4.44631267E+05 -8.6343E+00 9.4839E+01 4.52897580E+05 -8.7893E+00 9.4801E+01 4.61317575E+05 -8.9441E+00 9.4765E+01 4.69894109E+05 -9.0987E+00 9.4732E+01 4.78630092E+05 -9.2530E+00 9.4702E+01 4.87528490E+05 -9.4069E+00 9.4674E+01 4.96592321E+05 -9.5606E+00 9.4649E+01 5.05824662E+05 -9.7138E+00 9.4627E+01 5.15228645E+05 -9.8667E+00 9.4607E+01 5.24807460E+05 -1.0019E+01 9.4591E+01 5.34564359E+05 -1.0171E+01 9.4578E+01 5.44502653E+05 -1.0323E+01 9.4569E+01 5.54625713E+05 -1.0473E+01 9.4563E+01 5.64936975E+05 -1.0624E+01 9.4560E+01 5.75439937E+05 -1.0773E+01 9.4562E+01 5.86138165E+05 -1.0922E+01 9.4568E+01 5.97035287E+05 -1.1070E+01 9.4578E+01 6.08135001E+05 -1.1217E+01 9.4593E+01 6.19441075E+05 -1.1362E+01 9.4613E+01 6.30957344E+05 -1.1507E+01 9.4639E+01 6.42687717E+05 -1.1650E+01 9.4671E+01 6.54636174E+05 -1.1791E+01 9.4709E+01 6.66806769E+05 -1.1931E+01 9.4754E+01 6.79203633E+05 -1.2069E+01 9.4808E+01 6.91830971E+05 -1.2204E+01 9.4869E+01 7.04693069E+05 -1.2336E+01 9.4940E+01 7.17794291E+05 -1.2465E+01 9.5022E+01 7.31139083E+05 -1.2591E+01 9.5115E+01 7.44731974E+05 -1.2711E+01 9.5221E+01 7.58577575E+05 -1.2826E+01 9.5342E+01 7.72680585E+05 -1.2934E+01 9.5479E+01 7.87045790E+05 -1.3034E+01 9.5634E+01 8.01678063E+05 -1.3124E+01 9.5809E+01 8.16582371E+05 -1.3201E+01 9.6005E+01 8.31763771E+05 -1.3260E+01 9.6225E+01 8.47227414E+05 -1.3298E+01 9.6467E+01 8.62978548E+05 -1.3306E+01 9.6727E+01 8.79022517E+05 -1.3273E+01 9.6992E+01 8.95364766E+05 -1.3182E+01 9.7231E+01 9.12010839E+05 -1.3006E+01 9.7362E+01 9.28966387E+05 -1.2702E+01 9.7193E+01 9.46237161E+05 -1.2203E+01 9.6224E+01 9.63829024E+05 -1.1436E+01 9.3115E+01 9.81747943E+05 -1.0521E+01 8.4540E+01 1.00000000E+06d -7.6207E+00 1.1250E+02 *******15-Apr-03********SWITCAP A.5R (21-Sep-87)********18:33:54******* MY TITLE Transient Analysis *********************************************************************** System Timing 1 subdivision of the master clock is equal to: 1.250000E-07 seconds, or 1/ 8 master clock period. Switching instants are at (in units of master clock subdivisions): 0 (with 1 network components) 3 (with 1 network components) 8 + 0 etc.... Network switching period contains: 8 subdivisions, or 1.000000E-06 seconds. Frequency: 1.000000E+06 hertz. time v(OUT) 0.0000E+00+ 0.0000E+00 1.0000E-06+ 0.0000E+00 2.0000E-06+ 0.0000E+00 3.0000E-06+ 0.0000E+00 4.0000E-06+ 0.0000E+00 5.0000E-06+ 0.0000E+00 6.0000E-06+ 0.0000E+00 7.0000E-06+ 0.0000E+00 8.0000E-06+ 0.0000E+00 9.0000E-06+ 0.0000E+00 1.0000E-05+ 0.0000E+00 1.1000E-05+ -3.1250E-01 1.2000E-05+ -1.4062E+00 1.3000E-05+ -3.1510E+00 1.4000E-05+ -5.4383E+00 1.5000E-05+ -8.1777E+00 1.6000E-05+ -1.0981E+01 1.7000E-05+ -1.3318E+01 1.8000E-05+ -1.5265E+01 1.9000E-05+ -1.6887E+01 2.0000E-05+ -1.8239E+01 2.1000E-05+ -1.9366E+01 2.2000E-05+ -2.0305E+01 2.3000E-05+ -2.1087E+01 2.4000E-05+ -2.1739E+01 2.5000E-05+ -2.2283E+01 2.6000E-05+ -2.2735E+01 2.7000E-05+ -2.3113E+01 2.8000E-05+ -2.3427E+01 2.9000E-05+ -2.3689E+01 3.0000E-05+ -2.3908E+01 3.1000E-05+ -2.4089E+01 3.2000E-05+ -2.4241E+01 3.3000E-05+ -2.4367E+01 3.4000E-05+ -2.4473E+01 3.5000E-05+ -2.4561E+01 3.6000E-05+ -2.4634E+01 3.7000E-05+ -2.4695E+01 3.8000E-05+ -2.4745E+01 3.9000E-05+ -2.4788E+01 4.0000E-05+ -2.4823E+01 4.1000E-05+ -2.4852E+01 4.2000E-05+ -2.4877E+01 4.3000E-05+ -2.4897E+01 4.4000E-05+ -2.4914E+01 4.5000E-05+ -2.4928E+01 4.6000E-05+ -2.4940E+01 4.7000E-05+ -2.4950E+01 4.8000E-05+ -2.4958E+01 4.9000E-05+ -2.4965E+01 5.0000E-05+ -2.4971E+01 5.1000E-05+ -2.4976E+01 5.2000E-05+ -2.4979E+01 5.3000E-05+ -2.4983E+01 5.4000E-05+ -2.4986E+01 5.5000E-05+ -2.4988E+01 5.6000E-05+ -2.4990E+01 5.7000E-05+ -2.4991E+01 5.8000E-05+ -2.4993E+01 5.9000E-05+ -2.4994E+01 6.0000E-05+ -2.4995E+01 6.1000E-05+ -2.4995E+01 6.2000E-05+ -2.4996E+01 6.3000E-05+ -2.4997E+01 6.4000E-05+ -2.4997E+01 6.5000E-05+ -2.4997E+01 6.6000E-05+ -2.4998E+01 6.7000E-05+ -2.4998E+01 6.8000E-05+ -2.4998E+01 6.9000E-05+ -2.4998E+01 7.0000E-05+ -2.4998E+01 7.1000E-05+ -2.4999E+01 7.2000E-05+ -2.4999E+01 7.3000E-05+ -2.4999E+01 7.4000E-05+ -2.4999E+01 7.5000E-05+ -2.4999E+01 7.6000E-05+ -2.4999E+01 7.7000E-05+ -2.4999E+01 7.8000E-05+ -2.4999E+01 7.9000E-05+ -2.4999E+01 8.0000E-05+ -2.4999E+01 8.1000E-05+ -2.4999E+01 8.2000E-05+ -2.4999E+01 8.3000E-05+ -2.4999E+01 8.4000E-05+ -2.4999E+01 8.5000E-05+ -2.4999E+01 8.6000E-05+ -2.4999E+01 8.7000E-05+ -2.4999E+01 8.8000E-05+ -2.4999E+01 8.9000E-05+ -2.4999E+01 9.0000E-05+ -2.4999E+01 9.1000E-05+ -2.4999E+01 9.2000E-05+ -2.4999E+01 9.3000E-05+ -2.4999E+01 9.4000E-05+ -2.4999E+01 9.5000E-05+ -2.4999E+01 9.6000E-05+ -2.4999E+01 9.7000E-05+ -2.4999E+01 9.8000E-05+ -2.4999E+01 9.9000E-05+ -2.4999E+01 1.0000E-04+ -2.4999E+01 1.0100E-04+ -2.4999E+01 1.0200E-04+ -2.4999E+01 1.0300E-04+ -2.4999E+01 1.0400E-04+ -2.4999E+01 1.0500E-04+ -2.4999E+01 1.0600E-04+ -2.4999E+01 1.0700E-04+ -2.4999E+01 1.0800E-04+ -2.4999E+01 1.0900E-04+ -2.4999E+01 1.1000E-04+ -2.4999E+01 1.1100E-04+ -2.4999E+01 1.1200E-04+ -2.4999E+01 1.1300E-04+ -2.4999E+01 1.1400E-04+ -2.4999E+01 1.1500E-04+ -2.4999E+01 1.1600E-04+ -2.4687E+01 1.1700E-04+ -2.3593E+01 1.1800E-04+ -2.1848E+01 1.1900E-04+ -1.9561E+01 1.2000E-04+ -1.6822E+01 1.2100E-04+ -1.4018E+01 1.2200E-04+ -1.1682E+01 1.2300E-04+ -9.7346E+00 1.2400E-04+ -8.1121E+00 1.2500E-04+ -6.7601E+00 1.2600E-04+ -5.6334E+00 1.2700E-04+ -4.6944E+00 1.2800E-04+ -3.9120E+00 1.2900E-04+ -3.2600E+00 1.3000E-04+ -2.7167E+00 1.3100E-04+ -2.2639E+00 1.3200E-04+ -1.8865E+00 1.3300E-04+ -1.5721E+00 1.3400E-04+ -1.3101E+00 1.3500E-04+ -1.0917E+00 1.3600E-04+ -9.0978E-01 1.3700E-04+ -7.5815E-01 1.3800E-04+ -6.3178E-01 1.3900E-04+ -5.2649E-01 1.4000E-04+ -4.3874E-01 1.4100E-04+ -3.6561E-01 1.4200E-04+ -3.0467E-01 1.4300E-04+ -2.5389E-01 1.4400E-04+ -2.1158E-01 1.4500E-04+ -1.7631E-01 1.4600E-04+ -1.4693E-01 1.4700E-04+ -1.2244E-01 1.4800E-04+ -1.0203E-01 1.4900E-04+ -8.5027E-02 1.5000E-04+ -7.0855E-02 1.5100E-04+ -5.9046E-02 1.5200E-04+ -4.9205E-02 1.5300E-04+ -4.1004E-02 1.5400E-04+ -3.4170E-02 1.5500E-04+ -2.8474E-02 1.5600E-04+ -2.3729E-02 1.5700E-04+ -1.9774E-02 1.5800E-04+ -1.6478E-02 1.5900E-04+ -1.3732E-02 1.6000E-04+ -1.1443E-02 1.6100E-04+ -9.5358E-03 1.6200E-04+ -7.9465E-03 1.6300E-04+ -6.6220E-03 1.6400E-04+ -5.5183E-03 1.6500E-04+ -4.5986E-03 1.6600E-04+ -3.8321E-03 1.6700E-04+ -3.1934E-03 1.6800E-04+ -2.6612E-03 1.6900E-04+ -2.2176E-03 1.7000E-04+ -1.8480E-03 1.7100E-04+ -1.5400E-03 1.7200E-04+ -1.2833E-03 1.7300E-04+ -1.0694E-03 1.7400E-04+ -8.9120E-04 1.7500E-04+ -7.4267E-04 1.7600E-04+ -6.1889E-04 1.7700E-04+ -5.1574E-04 1.7800E-04+ -4.2978E-04 1.7900E-04+ -3.5815E-04 1.8000E-04+ -2.9845E-04 1.8100E-04+ -2.4871E-04 1.8200E-04+ -2.0726E-04 1.8300E-04+ -1.7271E-04 1.8400E-04+ -1.4393E-04 1.8500E-04+ -1.1994E-04 1.8600E-04+ -9.9949E-05 1.8700E-04+ -8.3291E-05 1.8800E-04+ -6.9408E-05 1.8900E-04+ -5.7840E-05 1.9000E-04+ -4.8200E-05 1.9100E-04+ -4.0166E-05 1.9200E-04+ -3.3472E-05 1.9300E-04+ -2.7893E-05 1.9400E-04+ -2.3244E-05 1.9500E-04+ -1.9370E-05 1.9600E-04+ -1.6142E-05 1.9700E-04+ -1.3451E-05 1.9800E-04+ -1.1209E-05 1.9900E-04+ -9.3411E-06 2.0000E-04+ -7.7842E-06 2.0100E-04+ -6.4868E-06 2.0200E-04+ -5.4057E-06 2.0300E-04+ -4.5047E-06 2.0400E-04+ -3.7539E-06 2.0500E-04+ -3.1282E-06 2.0600E-04+ -2.6069E-06 2.0700E-04+ -2.1724E-06 2.0800E-04+ -1.8103E-06 2.0900E-04+ -1.5086E-06 2.1000E-04+ -1.2571E-06 2.1100E-04+ -1.0476E-06 2.1200E-04+ -8.7301E-07 2.1300E-04+ -7.2750E-07 2.1400E-04+ -6.0625E-07 2.1500E-04+ -5.0521E-07 2.1600E-04+ -4.2100E-07 2.1700E-04+ -3.5083E-07 2.1800E-04+ -2.9236E-07 2.1900E-04+ -2.4363E-07 2.2000E-04+ -2.0303E-07 2.2100E-04+ -1.6919E-07 2.2200E-04+ -1.4099E-07 2.2300E-04+ -1.1749E-07 2.2400E-04+ -9.7908E-08 2.2500E-04+ -8.1590E-08 2.2600E-04+ -6.7991E-08 2.2700E-04+ -5.6659E-08 2.2800E-04+ -4.7216E-08 2.2900E-04+ -3.9346E-08 2.3000E-04+ -3.2788E-08 2.3100E-04+ -2.7324E-08 2.3200E-04+ -2.2770E-08 2.3300E-04+ -1.8975E-08 2.3400E-04+ -1.5812E-08 2.3500E-04+ -1.3177E-08 2.3600E-04+ -1.0980E-08 2.3700E-04+ -9.1504E-09 2.3800E-04+ -7.6253E-09 2.3900E-04+ -6.3544E-09 2.4000E-04+ -5.2953E-09 2.4100E-04+ -4.4127E-09 2.4200E-04+ -3.6773E-09 2.4300E-04+ -3.0644E-09 2.4400E-04+ -2.5536E-09 2.4500E-04+ -2.1280E-09 2.4600E-04+ -1.7733E-09 2.4700E-04+ -1.4778E-09 2.4800E-04+ -1.2315E-09 2.4900E-04+ -1.0262E-09 2.5000E-04+ -8.5518E-10 2.5100E-04+ -7.1265E-10 2.5200E-04+ -5.9387E-10 2.5300E-04+ -4.9489E-10 2.5400E-04+ -4.1241E-10 2.5500E-04+ -3.4367E-10 2.5600E-04+ -2.8639E-10 2.5700E-04+ -2.3866E-10 2.5800E-04+ -1.9888E-10 2.5900E-04+ -1.6573E-10 2.6000E-04+ -1.3811E-10 2.6100E-04+ -1.1509E-10 2.6200E-04+ -9.5909E-11 2.6300E-04+ -7.9924E-11 2.6400E-04+ -6.6603E-11 2.6500E-04+ -5.5502E-11 2.6600E-04+ -4.6252E-11 2.6700E-04+ -3.8543E-11 2.6800E-04+ -3.2119E-11 2.6900E-04+ -2.6766E-11 2.7000E-04+ -2.2305E-11 2.7100E-04+ -1.8587E-11 2.7200E-04+ -1.5489E-11 2.7300E-04+ -1.2908E-11 2.7400E-04+ -1.0756E-11 2.7500E-04+ -8.9635E-12 2.7600E-04+ -7.4696E-12 2.7700E-04+ -6.2246E-12 2.7800E-04+ -5.1872E-12 2.7900E-04+ -4.3226E-12 2.8000E-04+ -3.6022E-12 2.8100E-04+ -3.0018E-12 2.8200E-04+ -2.5015E-12 2.8300E-04+ -2.0846E-12 2.8400E-04+ -1.7371E-12 2.8500E-04+ -1.4476E-12 2.8600E-04+ -1.2063E-12 2.8700E-04+ -1.0053E-12 2.8800E-04+ -8.3772E-13 2.8900E-04+ -6.9810E-13 2.9000E-04+ -5.8175E-13 2.9100E-04+ -4.8479E-13 2.9200E-04+ -4.0399E-13 2.9300E-04+ -3.3665E-13 2.9400E-04+ -2.8054E-13 2.9500E-04+ -2.3379E-13 2.9600E-04+ -1.9482E-13 2.9700E-04+ -1.6235E-13 2.9800E-04+ -1.3529E-13 2.9900E-04+ -1.1274E-13 3.0000E-04+ -9.3951E-14 3.0100E-04+ -7.8292E-14 3.0200E-04+ -6.5243E-14 3.0300E-04+ -5.4369E-14 3.0400E-04+ -4.5307E-14 3.0500E-04+ -3.7756E-14 3.0600E-04+ -3.1463E-14 3.0700E-04+ -2.6219E-14 3.0800E-04+ -2.1849E-14 3.0900E-04+ -1.8208E-14 3.1000E-04+ -1.5173E-14 3.1100E-04+ -1.2644E-14 3.1200E-04+ -1.0537E-14 3.1300E-04+ -8.7805E-15 3.1400E-04+ -7.3171E-15 3.1500E-04+ -6.0975E-15 3.1600E-04+ -5.0813E-15 3.1700E-04+ -4.2344E-15 3.1800E-04+ -3.5286E-15 3.1900E-04+ -2.9405E-15 3.2000E-04+ -2.4504E-15 3.2100E-04+ -2.0420E-15 3.2200E-04+ -1.7017E-15 3.2300E-04+ -1.4180E-15 3.2400E-04+ -1.1817E-15 3.2500E-04+ -9.8474E-16 3.2600E-04+ -8.2062E-16 3.2700E-04+ -6.8384E-16 3.2800E-04+ -5.6987E-16 3.2900E-04+ -4.7489E-16 3.3000E-04+ -3.9574E-16 3.3100E-04+ -3.2978E-16 3.3200E-04+ -2.7482E-16 3.3300E-04+ -2.2901E-16 3.3400E-04+ -1.9084E-16 3.3500E-04+ -1.5903E-16 3.3600E-04+ -1.3253E-16 3.3700E-04+ -1.1044E-16 3.3800E-04+ -9.2033E-17 3.3900E-04+ -7.6694E-17 3.4000E-04+ -6.3911E-17 3.4100E-04+ -5.3259E-17 3.4200E-04+ -4.4382E-17 3.4300E-04+ -3.6985E-17 3.4400E-04+ -3.0821E-17 3.4500E-04+ -2.5684E-17 3.4600E-04+ -2.1403E-17 3.4700E-04+ -1.7836E-17 3.4800E-04+ -1.4863E-17 3.4900E-04+ -1.2386E-17 3.5000E-04+ -1.0322E-17 3.5100E-04+ -8.6013E-18 3.5200E-04+ -7.1677E-18 3.5300E-04+ -5.9730E-18 3.5400E-04+ -4.9775E-18 3.5500E-04+ -4.1479E-18 3.5600E-04+ -3.4566E-18 3.5700E-04+ -2.8805E-18 3.5800E-04+ -2.4004E-18 3.5900E-04+ -2.0003E-18 3.6000E-04+ -1.6669E-18 3.6100E-04+ -1.3891E-18 3.6200E-04+ -1.1576E-18 3.6300E-04+ -9.6464E-19 3.6400E-04+ -8.0386E-19 3.6500E-04+ -6.6988E-19 3.6600E-04+ -5.5823E-19 3.6700E-04+ -4.6519E-19 3.6800E-04+ -3.8766E-19 3.6900E-04+ -3.2305E-19 3.7000E-04+ -2.6920E-19 3.7100E-04+ -2.2434E-19 3.7200E-04+ -1.8695E-19 3.7300E-04+ -1.5579E-19 3.7400E-04+ -1.2982E-19 3.7500E-04+ -1.0818E-19 3.7600E-04+ -9.0154E-20 3.7700E-04+ -7.5128E-20 3.7800E-04+ -6.2606E-20 3.7900E-04+ -5.2172E-20 3.8000E-04+ -4.3476E-20 3.8100E-04+ -3.6230E-20 3.8200E-04+ -3.0191E-20 3.8300E-04+ -2.5159E-20 3.8400E-04+ -2.0966E-20 3.8500E-04+ -1.7472E-20 3.8600E-04+ -1.4560E-20 3.8700E-04+ -1.2133E-20 3.8800E-04+ -1.0111E-20 3.8900E-04+ -8.4256E-21 3.9000E-04+ -7.0213E-21 3.9100E-04+ -5.8511E-21 3.9200E-04+ -4.8759E-21 3.9300E-04+ -4.0632E-21 3.9400E-04+ -3.3860E-21 3.9500E-04+ -2.8217E-21 3.9600E-04+ -2.3514E-21 3.9700E-04+ -1.9595E-21 3.9800E-04+ -1.6329E-21 3.9900E-04+ -1.3607E-21 4.0000E-04+ -1.1339E-21 4.0100E-04+ -9.4494E-22 4.0200E-04+ -7.8745E-22 4.0300E-04+ -6.5620E-22 4.0400E-04+ -5.4683E-22 4.0500E-04+ -4.5569E-22 4.0600E-04+ -3.7974E-22 4.0700E-04+ -3.1645E-22 4.0800E-04+ -2.6371E-22 4.0900E-04+ -2.1976E-22 4.1000E-04+ -1.8313E-22 4.1100E-04+ -1.5261E-22 4.1200E-04+ -1.2717E-22 4.1300E-04+ -1.0598E-22 4.1400E-04+ -8.8313E-23 4.1500E-04+ -7.3594E-23 4.1600E-04+ -6.1328E-23 4.1700E-04+ -5.1106E-23 4.1800E-04+ -4.2588E-23 4.1900E-04+ -3.5490E-23 4.2000E-04+ -2.9575E-23 4.2100E-04+ -2.4646E-23 4.2200E-04+ -2.0538E-23 4.2300E-04+ -1.7115E-23 4.2400E-04+ -1.4262E-23 4.2500E-04+ -1.1885E-23 4.2600E-04+ -9.9044E-24 4.2700E-04+ -8.2536E-24 4.2800E-04+ -6.8780E-24 4.2900E-04+ -5.7316E-24 4.3000E-04+ -4.7763E-24 4.3100E-04+ -3.9803E-24 4.3200E-04+ -3.3169E-24 4.3300E-04+ -2.7640E-24 4.3400E-04+ -2.3034E-24 4.3500E-04+ -1.9195E-24 4.3600E-04+ -1.5995E-24 4.3700E-04+ -1.3329E-24 4.3800E-04+ -1.1108E-24 4.3900E-04+ -9.2565E-25 4.4000E-04+ -7.7137E-25 4.4100E-04+ -6.4281E-25 4.4200E-04+ -5.3567E-25 4.4300E-04+ -4.4639E-25 4.4400E-04+ -3.7199E-25 4.4500E-04+ -3.0999E-25 4.4600E-04+ -2.5832E-25 4.4700E-04+ -2.1527E-25 4.4800E-04+ -1.7939E-25 4.4900E-04+ -1.4949E-25 4.5000E-04+ -1.2458E-25 4.5100E-04+ -1.0381E-25 4.5200E-04+ -8.6510E-26 4.5300E-04+ -7.2091E-26 4.5400E-04+ -6.0076E-26 4.5500E-04+ -5.0063E-26 4.5600E-04+ -4.1719E-26 4.5700E-04+ -3.4766E-26 4.5800E-04+ -2.8971E-26 4.5900E-04+ -2.4143E-26 4.6000E-04+ -2.0119E-26 4.6100E-04+ -1.6766E-26 4.6200E-04+ -1.3971E-26 4.6300E-04+ -1.1643E-26 4.6400E-04+ -9.7021E-27 4.6500E-04+ -8.0851E-27 4.6600E-04+ -6.7375E-27 4.6700E-04+ -5.6146E-27 4.6800E-04+ -4.6788E-27 4.6900E-04+ -3.8990E-27 4.7000E-04+ -3.2491E-27 4.7100E-04+ -2.7076E-27 4.7200E-04+ -2.2563E-27 4.7300E-04+ -1.8803E-27 4.7400E-04+ -1.5669E-27 4.7500E-04+ -1.3057E-27 4.7600E-04+ -1.0881E-27 4.7700E-04+ -9.0675E-28 4.7800E-04+ -7.5562E-28 4.7900E-04+ -6.2968E-28 4.8000E-04+ -5.2473E-28 4.8100E-04+ -4.3727E-28 4.8200E-04+ -3.6439E-28 4.8300E-04+ -3.0366E-28 4.8400E-04+ -2.5305E-28 4.8500E-04+ -2.1087E-28 4.8600E-04+ -1.7573E-28 4.8700E-04+ -1.4644E-28 4.8800E-04+ -1.2203E-28 4.8900E-04+ -1.0169E-28 4.9000E-04+ -8.4743E-29 4.9100E-04+ -7.0619E-29 4.9200E-04+ -5.8849E-29 4.9300E-04+ -4.9041E-29 4.9400E-04+ -4.0867E-29 4.9500E-04+ -3.4056E-29 4.9600E-04+ -2.8380E-29 4.9700E-04+ -2.3650E-29 4.9800E-04+ -1.9708E-29 4.9900E-04+ -1.6423E-29 5.0000E-04+ -1.3686E-29 *******15-Apr-03********SWITCAP A.5R (21-Sep-87)********18:33:54******* MY TITLE Run Report *********************************************************************** Process CPU sec. Reading input file 0.00 Building network matrices 0.00 Computing outputs 0.18 --------------------Total 0.18 Number of frequency points computed: 501 Number of time points computed: 501 Number of relocatable blocks moved: 0 Number of relocatable blocks used: 9 Number of memory words allocated: 10480 Number of memory words available: 120000 *SWITCAP: end of run geda-gaf-1.8.2/gnetlist/examples/switcap/README0000664000175000017500000000101312050461155016073 00000000000000=========================================================================== For more info on this example usage of the switcap backend, please see the switcap backend README at: ../../docs/README.switcap The switcap backend has been integrated into gEDA/gaf so you do not need any modifications to gschemrc or gnetlistrc. To create the example Switcap netlist, please run: gnetlist -g switcap -o example.scn ckt.sch clocks.sch analysis.sch =========================================================================== geda-gaf-1.8.2/gnetlist/examples/switcap/Makefile.in0000664000175000017500000004020312220655722017270 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = gnetlist/examples/switcap DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am README ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = README analysis.sch ckt.sch clocks.sch example.out example.scn \ test.ana MOSTLYCLEANFILES = core *.log FILE *.ps *~ CLEANFILES = core *.log FILE *.ps *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = core *.log FILE *.ps *~ Makefile.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gnetlist/examples/switcap/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu gnetlist/examples/switcap/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags-am uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/gnetlist/examples/switcap/clocks.sch0000664000175000017500000000056612050461155017204 00000000000000v 20031011 1 C 31700 40700 0 0 0 title-A.sym C 32500 44700 1 0 0 switcap-clock-1.sym { T 32700 44800 5 10 1 0 0 0 1 PERIOD=1 T 34200 44800 5 10 1 0 0 0 1 PSTART=0 T 35700 44800 5 10 1 0 0 0 1 PSTOP=3/8 T 34400 45200 5 10 1 1 0 0 1 refdes=CLK1 } C 32500 46700 1 0 0 switcap-timing-1.sym { T 34200 47400 5 10 1 0 0 0 1 PERIOD=1e-6 T 32600 46800 5 10 1 1 0 0 1 refdes=TIMING } geda-gaf-1.8.2/gnetlist/examples/switcap/example.scn0000664000175000017500000000160012204066537017363 00000000000000/* Switcap netlist produced by gnetlist (part of gEDA) */ /* See http://www.geda-project.org/ for more information. */ /* Switcap backend written by Dan McMahill */ OPTIONS; WIDTH132; REPORT; GRID; CHKCLK; END; TITLE:my title; TIMING; CLOCK CLK1 1 (0 3/8); PERIOD 1e-6; END; CIRCUIT; S7 (5 0) #CLK1; E1 (OUT 0 0 4) 2.3e5; S6 (OUT 6) CLK1; V1 (0 2); S5 (4 5) CLK1; S4 (3 4) #CLK1; S3 (0 3) CLK1; C3 (5 6) 0.2; S2 (0 1) #CLK1; C2 (4 OUT) 1.0; S1 (2 1) CLK1; C1 (1 3) 1.0; S8 (6 0) #CLK1; END; /* reading analysis from "test.ana" */ ANALYZE SSS; INFREQ 100.0 1.0E6 LOG 501; SET V1 AC 1.0 0.0; PRINT VDB(OUT) VP(OUT); END; ANALYZE TRAN; TIME 0+ 500 1 SET V1 PULSE 0 5 10e-6 5e-6 5e-6 100e-6 500e-6; PRINT V(OUT); END; /* End of SWITCAP netlist */ END; geda-gaf-1.8.2/gnetlist/examples/switcap/ckt.sch0000664000175000017500000000476012050461155016507 00000000000000v 20031011 1 C 38100 43600 1 0 0 gnd-1.sym C 35500 43500 1 90 0 switcap-switch-1.sym { T 35700 43700 5 10 1 1 90 0 1 clock=#CLK1 T 35200 43600 5 10 1 1 90 0 1 refdes=S2 } C 34100 43400 1 90 0 switcap-vsrc-1.sym { T 33600 43700 5 10 1 1 90 0 1 refdes=V1 } N 38200 43900 38200 44200 4 N 38200 44200 38500 44200 4 C 33800 42800 1 0 0 gnd-1.sym N 33900 43100 33900 43400 4 N 33900 44300 33900 44600 4 N 33900 44600 34400 44600 4 C 34400 44400 1 0 0 switcap-switch-1.sym { T 34600 44200 5 10 1 1 0 0 1 clock=CLK1 T 34500 44700 5 10 1 1 0 0 1 refdes=S1 } N 35200 44600 35500 44600 4 C 36700 43500 1 90 0 switcap-switch-1.sym { T 36900 43700 5 10 1 1 90 0 1 clock=CLK1 T 36400 43600 5 10 1 1 90 0 1 refdes=S3 } C 35200 42900 1 0 0 gnd-1.sym N 35300 43200 35300 43500 4 C 36400 42900 1 0 0 gnd-1.sym N 36500 43200 36500 43500 4 N 36500 44300 36500 44600 4 N 37900 46000 39000 46000 4 N 39900 46000 40800 46000 4 N 35300 44300 35300 44600 4 C 38500 44900 1 180 1 switcap-vcvs-3.sym { T 39200 44100 5 12 1 1 180 6 1 refdes=E1 T 38750 44550 5 12 1 1 180 6 1 gain=2.3e5 } N 39900 44400 40800 44400 4 { T 40300 44500 5 10 1 1 0 0 1 netname=OUT } C 35500 44400 1 0 0 switcap-capacitor-1.sym { T 36100 44700 5 10 1 1 0 0 1 refdes=C1 T 36100 44400 5 10 1 1 0 0 1 value=1.0 } C 39000 45800 1 0 0 switcap-capacitor-1.sym { T 39600 46100 5 10 1 1 0 0 1 refdes=C2 T 39600 45800 5 10 1 1 0 0 1 value=1.0 } C 32700 40900 0 0 0 title-A.sym C 36800 44400 1 0 0 switcap-switch-1.sym { T 37000 44200 5 10 1 1 0 0 1 clock=#CLK1 T 36900 44700 5 10 1 1 0 0 1 refdes=S4 } N 36400 44600 36800 44600 4 N 37600 44600 38500 44600 4 C 39000 47000 1 0 0 switcap-capacitor-1.sym { T 39600 47300 5 10 1 1 0 0 1 refdes=C3 T 39600 47000 5 10 1 1 0 0 1 value=0.2 } C 38100 46200 1 90 0 switcap-switch-1.sym { T 38300 46400 5 10 1 1 90 0 1 clock=CLK1 T 37800 46300 5 10 1 1 90 0 1 refdes=S5 } C 41000 46200 1 90 0 switcap-switch-1.sym { T 41200 46400 5 10 1 1 90 0 1 clock=CLK1 T 40700 46300 5 10 1 1 90 0 1 refdes=S6 } C 41000 47600 1 90 0 switcap-switch-1.sym { T 41200 47800 5 10 1 1 90 0 1 clock=#CLK1 T 40700 47700 5 10 1 1 90 0 1 refdes=S8 } C 38100 47600 1 90 0 switcap-switch-1.sym { T 38300 47800 5 10 1 1 90 0 1 clock=#CLK1 T 37800 47700 5 10 1 1 90 0 1 refdes=S7 } C 36900 48000 1 0 0 gnd-1.sym N 37000 48300 37000 48600 4 N 37000 48600 40800 48600 4 N 40800 48600 40800 48400 4 N 37900 48400 37900 48600 4 N 37900 47600 37900 47000 4 N 39000 47200 37900 47200 4 N 40800 47600 40800 47000 4 N 39900 47200 40800 47200 4 N 40800 44400 40800 46200 4 N 37900 44600 37900 46200 4 geda-gaf-1.8.2/gnetlist/examples/switcap/test.ana0000664000175000017500000000034312050461155016660 00000000000000ANALYZE SSS; INFREQ 100.0 1.0E6 LOG 501; SET V1 AC 1.0 0.0; PRINT VDB(OUT) VP(OUT); END; ANALYZE TRAN; TIME 0+ 500 1 SET V1 PULSE 0 5 10e-6 5e-6 5e-6 100e-6 500e-6; PRINT V(OUT); END; geda-gaf-1.8.2/gnetlist/examples/stack_1.sch0000664000175000017500000001361712050461155015602 00000000000000v 20031231 1 C 34400 23200 1 0 0 am9128-1.sym { T 35700 27500 5 10 1 1 0 0 1 refdes=U109 } C 17100 16500 0 0 0 title-C.sym C 20400 24700 1 0 0 74191-1.sym { T 21100 26700 5 10 1 1 0 0 1 refdes=U212 } C 20400 20600 1 0 0 74191-1.sym { T 21100 22600 5 10 1 1 0 0 1 refdes=U211 } C 27500 28700 1 0 0 74541-1.sym { T 28300 30900 5 10 1 1 0 0 1 refdes=U210 } T 22500 25600 9 10 1 0 0 0 1 NC T 22500 25300 9 10 1 0 0 0 1 NC N 20400 26800 17600 26800 4 { T 17700 26900 5 10 1 1 0 0 1 netname=DATA4_H } N 20400 26500 17600 26500 4 { T 17700 26600 5 10 1 1 0 0 1 netname=DATA5_H } N 20400 26200 17600 26200 4 { T 17700 26300 5 10 1 1 0 0 1 netname=DATA6_H } N 20400 25900 17600 25900 4 { T 17700 26000 5 10 1 1 0 0 1 netname=DATA7_H } N 20400 22700 17600 22700 4 { T 17700 22800 5 10 1 1 0 0 1 netname=DATA0_H } N 20400 22400 17600 22400 4 { T 17700 22500 5 10 1 1 0 0 1 netname=DATA1_H } N 20400 22100 17600 22100 4 { T 17700 22200 5 10 1 1 0 0 1 netname=DATA2_H } N 20400 21800 17600 21800 4 { T 17700 21900 5 10 1 1 0 0 1 netname=DATA3_H } N 32300 30500 29500 30500 4 { T 31300 30600 5 10 1 1 0 0 1 netname=DATA4_H } N 32300 30800 29500 30800 4 { T 31300 30900 5 10 1 1 0 0 1 netname=DATA5_H } N 32300 31100 29500 31100 4 { T 31300 31200 5 10 1 1 0 0 1 netname=DATA6_H } N 32300 31400 29500 31400 4 { T 31300 31500 5 10 1 1 0 0 1 netname=DATA7_H } N 32300 29300 29500 29300 4 { T 31300 29400 5 10 1 1 0 0 1 netname=DATA0_H } N 32300 29600 29500 29600 4 { T 31300 29700 5 10 1 1 0 0 1 netname=DATA1_H } N 32300 29900 29500 29900 4 { T 31300 30000 5 10 1 1 0 0 1 netname=DATA2_H } N 32300 30200 29500 30200 4 { T 31300 30300 5 10 1 1 0 0 1 netname=DATA3_H } N 22400 26800 29300 26800 4 { T 27800 26900 5 10 1 1 0 0 1 netname=DS_ADDRS4_H } N 22400 26500 29300 26500 4 { T 27800 26600 5 10 1 1 0 0 1 netname=DS_ADDRS5_H } N 22400 26200 29300 26200 4 { T 27800 26300 5 10 1 1 0 0 1 netname=DS_ADDRS6_H } N 22400 25900 29300 25900 4 { T 27800 26000 5 10 1 1 0 0 1 netname=DS_ADDRS7_H } N 22400 22700 29300 22700 4 { T 27800 22800 5 10 1 1 0 0 1 netname=DS_ADDRS0_H } N 22400 22400 29300 22400 4 { T 27800 22500 5 10 1 1 0 0 1 netname=DS_ADDRS1_H } N 22400 22100 29300 22100 4 { T 27800 22200 5 10 1 1 0 0 1 netname=DS_ADDRS2_H } N 22400 21800 29300 21800 4 { T 27800 21900 5 10 1 1 0 0 1 netname=DS_ADDRS3_H } N 25800 29300 27500 29300 4 N 25500 29600 27500 29600 4 N 25200 29900 27500 29900 4 N 24900 30200 27500 30200 4 N 24300 30800 27500 30800 4 N 24000 31100 27500 31100 4 N 23700 31400 27500 31400 4 N 24600 30500 27500 30500 4 N 28100 28700 28100 28400 4 N 28100 28400 26500 28400 4 { T 26500 28500 5 10 1 1 0 0 1 netname=SP_BUS_L } N 28900 28700 28900 27900 4 N 28900 27900 26500 27900 4 { T 26500 28000 5 10 1 1 0 0 1 netname=SEL_DS_L } N 23700 31400 23700 25900 4 N 24000 31100 24000 26200 4 N 24300 30800 24300 26500 4 N 24600 30500 24600 26800 4 N 24900 30200 24900 21800 4 N 25200 22100 25200 29900 4 N 25500 29600 25500 22400 4 N 25800 29300 25800 22700 4 N 34400 26800 32100 26800 4 { T 32200 26900 5 10 1 1 0 0 1 netname=DS_ADDRS7_H } N 34400 26500 32100 26500 4 { T 32200 26600 5 10 1 1 0 0 1 netname=DS_ADDRS6_H } N 34400 26200 32100 26200 4 { T 32200 26300 5 10 1 1 0 0 1 netname=DS_ADDRS5_H } N 34400 25900 32100 25900 4 { T 32200 26000 5 10 1 1 0 0 1 netname=DS_ADDRS4_H } N 34400 25600 32100 25600 4 { T 32200 25700 5 10 1 1 0 0 1 netname=DS_ADDRS3_H } N 34400 25300 32100 25300 4 { T 32200 25400 5 10 1 1 0 0 1 netname=DS_ADDRS2_H } N 34400 25000 32100 25000 4 { T 32200 25100 5 10 1 1 0 0 1 netname=DS_ADDRS1_H } N 34400 24700 32100 24700 4 { T 32200 24800 5 10 1 1 0 0 1 netname=DS_ADDRS0_H } N 34400 24400 32100 24400 4 { T 32200 24500 5 10 1 1 0 0 1 netname=BUS_STACK_L } N 34400 24100 32100 24100 4 { T 32200 24200 5 10 1 1 0 0 1 netname=STACK_BUS_L } N 34400 23800 32100 23800 4 { T 32200 23900 5 10 1 1 0 0 1 netname=SEL_DS_L } N 34400 27100 34100 27100 4 N 34100 27100 34100 28200 4 N 34400 27400 34100 27400 4 N 34400 27700 34100 27700 4 N 35000 23200 35000 22600 4 N 35000 22600 32100 22600 4 { T 32200 22700 5 10 1 1 0 0 1 netname=DATA7_H } N 35300 23200 35300 22300 4 N 35300 22300 32100 22300 4 { T 32200 22400 5 10 1 1 0 0 1 netname=DATA6_H } N 35600 23200 35600 22000 4 N 35600 22000 32100 22000 4 { T 32200 22100 5 10 1 1 0 0 1 netname=DATA5_H } N 35900 23200 35900 21700 4 N 35900 21700 32100 21700 4 { T 32200 21800 5 10 1 1 0 0 1 netname=DATA4_H } N 36200 23200 36200 21400 4 N 36200 21400 32100 21400 4 { T 32200 21500 5 10 1 1 0 0 1 netname=DATA3_H } N 36500 23200 36500 21100 4 N 36500 21100 32100 21100 4 { T 32200 21200 5 10 1 1 0 0 1 netname=DATA2_H } N 36800 23200 36800 20800 4 N 36800 20800 32100 20800 4 { T 32200 20900 5 10 1 1 0 0 1 netname=DATA1_H } N 32100 20500 37100 20500 4 { T 32200 20600 5 10 1 1 0 0 1 netname=DATA0_H } N 37100 20500 37100 23200 4 N 20400 25600 20000 25600 4 N 20000 25600 20000 20200 4 N 20000 20200 17600 20200 4 { T 17700 20300 5 10 1 1 0 0 1 netname=BUS_SP_L } N 20400 21500 20000 21500 4 N 19800 19900 19800 24400 4 N 20200 19300 20200 24200 4 T 34700 19400 9 20 1 0 0 0 1 Stack Memory T 20000 18500 9 20 1 0 0 0 1 Stack Pointer T 32700 16600 9 10 1 0 0 0 1 1 T 34000 16600 9 10 1 0 0 0 1 1 T 32200 16900 9 10 1 0 0 0 1 STACK.SCH T 32600 17400 9 20 1 0 0 0 1 SPUone - EECE447 T 36300 16900 9 10 1 0 0 0 1 1 T 36300 16600 9 10 1 0 0 0 1 ALES V. HVEZDA T 26900 18400 9 20 1 0 0 0 1 DATA STACK C 21600 19300 1 0 0 decon-1.sym C 21700 24200 1 0 0 decon-1.sym T 22500 21200 9 10 1 0 0 0 1 NC N 23200 21500 23200 23800 4 N 23200 21500 22400 21500 4 N 19800 24400 20900 24400 4 N 20900 24400 20900 24700 4 N 23200 23800 21400 23800 4 N 21400 23800 21400 24700 4 N 20200 24200 21900 24200 4 N 21900 24200 21900 24700 4 N 21900 20600 21900 19300 4 N 21400 20600 21400 19600 4 N 20900 20600 20900 19900 4 N 21900 19300 17600 19300 4 { T 17700 19400 5 10 1 1 0 0 1 netname=CLK_SP_L } N 21400 19600 17600 19600 4 { T 17700 19700 5 10 1 1 0 0 1 netname=SEL_DS_L } N 20900 19900 17600 19900 4 { T 17700 20000 5 10 1 1 0 0 1 netname=SPUP_L } C 34200 28500 1 180 0 gnd-1.sym geda-gaf-1.8.2/gnetlist/examples/Makefile.in0000664000175000017500000005447512220655722015636 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = gnetlist/examples DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = vams switcap EXTRA_DIST = 7447.sch test_verilog.sch stack_1.sch MOSTLYCLEANFILES = core *.log FILE *.ps *~ CLEANFILES = core *.log FILE *.ps *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = core *.log FILE *.ps *~ Makefile.in all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gnetlist/examples/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu gnetlist/examples/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic clean-libtool cscopelist-am ctags \ ctags-am distclean distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags tags-am uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/gnetlist/examples/test_verilog.sch0000664000175000017500000000754612050461155016767 00000000000000v 20031011 1 C 9600 13100 0 0 0 title-B.sym T 20400 14100 3 10 1 0 0 0 1 EXAMPLE SCHEMATIC FOR VERILOG NETLISTING T 24200 13200 3 10 1 0 0 0 1 MIKE JARABEK C 14300 20100 1 0 0 test_verilog.sym { T 15300 21100 5 10 1 1 0 0 1 refdes=TEST1 } C 18100 19100 1 0 0 block-1.sym { T 19700 21000 5 10 1 1 0 0 1 refdes=U1 } C 18100 16500 1 0 0 block-1.sym { T 19700 18400 5 10 1 1 0 0 1 refdes=U2 } C 14300 18900 1 0 0 test_verilog.sym { T 15300 19900 5 10 1 1 0 0 1 refdes=TEST2 } C 21700 19700 1 0 0 test_verilog.sym { T 23000 20700 5 10 1 1 0 0 1 refdes=U3 } C 10500 21700 1 0 0 ipad-1.sym { T 10200 21800 5 10 1 1 0 0 1 refdes=P1 } C 10500 21300 1 0 0 ipad-1.sym { T 10200 21300 5 10 1 1 0 0 1 refdes=P2 } C 10500 15200 1 0 0 ipad-1.sym { T 10200 15200 5 10 1 1 0 0 1 refdes=P5 T 25600 20300 5 10 1 1 0 0 1 refdes=P6 } C 25400 17300 1 0 1 iopad-1.sym { T 25500 17400 5 10 1 1 0 0 1 refdes=P9 } C 25400 17600 1 0 1 iopad-1.sym { T 25500 17700 5 10 1 1 0 0 1 refdes=P8 } C 24600 20200 1 0 0 opad-1.sym { T 25600 20300 5 10 1 1 0 0 1 refdes=P6 } C 24600 19400 1 0 0 opad-1.sym { T 25600 19500 5 10 1 1 0 0 1 refdes=P7 } C 10500 15900 1 0 0 ipad-1.sym { T 10200 16000 5 10 1 1 0 0 1 refdes=P4 } N 23500 20300 24600 20300 4 { T 24300 20400 5 10 1 1 0 0 1 netname=OUT1 } N 20200 20300 21700 20300 4 N 20200 20000 21200 20000 4 N 21200 20000 21200 19500 4 N 21200 19500 24600 19500 4 { T 24200 19600 5 10 1 1 0 0 1 netname=OUT2 } N 20200 17700 24400 17700 4 { T 23900 17800 5 10 1 1 0 0 1 netname=INOUT1 } N 20200 17400 24400 17400 4 { T 23900 17500 5 10 1 1 0 0 1 netname=INOUT2 } C 10500 20800 1 0 0 ipad-1.sym { T 10200 20900 5 10 1 1 0 0 1 refdes=P3 } N 18100 20600 17600 20600 4 N 17600 20600 17600 21800 4 N 17600 21800 11400 21800 4 { T 11500 21900 5 10 1 1 0 0 1 netname=IN1 } N 16100 20700 17000 20700 4 N 17000 20700 17000 20300 4 N 17000 20300 18100 20300 4 N 18100 20000 17000 20000 4 N 17000 20000 17000 19500 4 N 17000 19500 16100 19500 4 N 18100 19700 17600 19700 4 { T 17100 19600 5 10 1 1 0 0 1 netname=REF1 } N 11400 21400 13400 21400 4 { T 11500 21400 5 10 1 1 0 0 1 netname=IN2 } N 13400 21400 13400 20700 4 N 13400 20700 14300 20700 4 N 11400 20900 12900 20900 4 { T 11500 21000 5 10 1 1 0 0 1 netname=IN3 } N 12900 20900 12900 19500 4 N 12900 19500 14300 19500 4 N 18100 18000 13700 18000 4 N 13700 18000 13700 20700 4 N 18100 17700 16800 17700 4 N 16800 17700 16800 19500 4 { T 16900 18800 5 10 1 1 0 0 1 netname=MIDDLE } N 11400 16000 12200 16000 4 { T 12300 16000 5 10 1 1 0 0 1 netname=REF1 } N 11400 15300 12200 15300 4 { T 12300 15300 5 10 1 1 0 0 1 netname=REF2 } N 18100 17400 17400 17400 4 { T 16900 17400 5 10 1 1 0 0 1 netname=REF1 } N 18100 17100 17400 17100 4 { T 16800 17100 5 10 1 1 0 0 1 netname=REF2 } T 16500 23300 3 10 1 0 0 0 1 Unnamed Nets L 16900 20900 17200 23200 3 0 0 0 -1 -1 L 16800 21100 16900 20900 3 0 0 0 -1 -1 L 16900 20900 17100 21100 3 0 0 0 -1 -1 L 17600 23100 20900 20500 3 0 0 0 -1 -1 L 20900 20500 20900 20600 3 0 0 0 -1 -1 L 20900 20500 20800 20500 3 0 0 0 -1 -1 C 15300 15400 1 0 0 low-1.sym { T 15600 15600 5 10 1 1 0 0 1 refdes=PWR0 } C 15400 16400 1 0 0 high-1.sym { T 15600 16700 5 10 1 1 0 0 1 refdes=PWR1 } N 15500 16400 15500 15700 4 { T 15600 16000 5 10 1 1 0 0 1 netname=MUNGLE_NET } C 21600 21500 1 0 0 block-1.sym { T 21900 21600 5 10 1 1 0 0 1 refdes=NO_CONNECTIONS } C 21700 14700 1 0 0 block_pos-1.sym { T 22000 14800 5 10 1 1 0 0 1 refdes=BLOCK_POS } N 20900 17700 20900 15900 4 N 20900 15900 21700 15900 4 N 21700 16200 21100 16200 4 N 21100 16200 21100 17400 4 N 20800 20000 20800 15600 4 N 20800 15600 21700 15600 4 N 23800 15900 24500 15900 4 { T 25500 15800 5 10 1 1 0 0 1 netname=POS_OUT1 } N 23800 15600 24500 15600 4 { T 25500 15500 5 10 1 1 0 0 1 netname=POS_OUT2 } C 24500 15800 1 0 0 opad-1.sym { T 24400 16000 5 10 1 1 0 0 1 refdes=P10 } C 24500 15500 1 0 0 opad-1.sym { T 24400 15700 5 10 1 1 0 0 1 refdes=P11 } T 19100 14600 5 10 1 0 0 0 1 module_name=VERILOG_TEST geda-gaf-1.8.2/gnetlist/examples/vams/0000775000175000017500000000000012220655755014606 500000000000000geda-gaf-1.8.2/gnetlist/examples/vams/gschemrc0000664000175000017500000000336312050461155016237 00000000000000(load "./commonrc") (define-module (ice-9 ls) :use-module (ice-9 common-list) :use-module (ice-9 string-fun)) (define gnetlist-keymap '(("n" . generate-netlist) ("e" . generate-entity))) ; All keys in the global-keymap *must* be unique (define global-keymap '(("Escape" . cancel) ("a" . add-keymap) ("b" . add-box-hotkey) ("c" . edit-copy-hotkey) ("d" . edit-delete) ("e" . edit-keymap) ("f" . file-keymap) ("g" . gnetlist-keymap) ("h" . help-keymap) ("i" . add-component) ("l" . add-line-hotkey) ("m" . edit-move-hotkey) ("n" . add-net-hotkey) ("o" . options-keymap) ("p" . page-keymap) ("r" . view-redraw) ("s" . edit-select) ("t" . attributes-keymap) ("u" . add-bus-hotkey) ("v" . view-keymap) ("w" . view-zoom-box-hotkey) ("x" . view-pan-hotkey) ("y" . buffer-keymap) ("z" . view-zoom-in-hotkey) ("period" . repeat-last-command) ("comma" . misc-misc) ("equal" . misc-misc2) ("Shift plus" . misc-misc3) ("Delete" . edit-delete) ("Shift greater" . page-next) ("Shift less" . page-prev) ("Alt q" . file-quit) ("Shift H" . hierarchy-keymap) ("Shift U" . edit-undo) ("Shift R" . edit-redo) ("Shift Z" . view-zoom-out-hotkey))) (set! current-keymap global-keymap) (attribute-promotion "enabled") (promote-invisible "enabled") (keep-invisible "enabled") (enforce-hierarchy "disabled") (attribute-name "port_object") (attribute-name "port_type") (attribute-name "port_mode") (attribute-name "entity") (attribute-name "architecture") (load (string-append examples-path "/../../../gschem/scheme/generate_netlist.scm")) (define vhdl-path (string-append examples-path "/vhdl/new-vhdl")) (display "loaded local gschemrc\n") geda-gaf-1.8.2/gnetlist/examples/vams/Makefile.am0000664000175000017500000000125112050461155016547 00000000000000## Process this file with automake to produce Makefile.in sch_files = \ sch/simple_trans.sch \ sch/sp_diode.sch \ sch/transitest.sch sym_files = \ sym/BJT_transistor_simple.sym \ sym/capacitor.sym \ sym/current_source.sym \ sym/gnd_node.sym \ sym/port.sym \ sym/resistor.sym \ sym/sp_diode.sym \ sym/sp_voltage_dependend_capacitor.sym \ sym/spice-cs.sym \ sym/voltage_source.sym SUBDIRS = vhdl EXTRA_DIST = README commonrc gnetlistrc gschemrc gschemrc.orig \ $(sch_files) $(sym_files) MOSTLYCLEANFILES = core *.log FILE *.ps *~ CLEANFILES = core *.log FILE *.ps *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = core *.log FILE *.ps *~ Makefile.in geda-gaf-1.8.2/gnetlist/examples/vams/README0000664000175000017500000000056712050461155015404 00000000000000================================================================ For a smooth run of the example, type gschem sch/transitest.sch in the example directory. Try the hotkeys g n and g e and look for the comments in the terminal window. NOTE: the schematic is hierachical (test schematic -> BJT -> diode) ================================================================geda-gaf-1.8.2/gnetlist/examples/vams/gnetlistrc0000664000175000017500000000072312050461155016617 00000000000000(load "./commonrc") ;; AVH, this is probably needed, since this didn't exist when the vams backend ;; was originally written (hierarchy-traversal "disabled") (define-module (ice-9 ls) :use-module (ice-9 common-list) :use-module (ice-9 string-fun)) ;; AVH not really needed ;; (load (string-append examples-path "/../../scheme/gnet-vams.scm")) (display "loaded local gnetlistrc\n") ;; (debug-enable 'debug 'backtrace) ;; (read-enable 'positions) geda-gaf-1.8.2/gnetlist/examples/vams/Makefile.in0000664000175000017500000005530512220655723016576 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = gnetlist/examples/vams DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am README ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ sch_files = \ sch/simple_trans.sch \ sch/sp_diode.sch \ sch/transitest.sch sym_files = \ sym/BJT_transistor_simple.sym \ sym/capacitor.sym \ sym/current_source.sym \ sym/gnd_node.sym \ sym/port.sym \ sym/resistor.sym \ sym/sp_diode.sym \ sym/sp_voltage_dependend_capacitor.sym \ sym/spice-cs.sym \ sym/voltage_source.sym SUBDIRS = vhdl EXTRA_DIST = README commonrc gnetlistrc gschemrc gschemrc.orig \ $(sch_files) $(sym_files) MOSTLYCLEANFILES = core *.log FILE *.ps *~ CLEANFILES = core *.log FILE *.ps *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = core *.log FILE *.ps *~ Makefile.in all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gnetlist/examples/vams/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu gnetlist/examples/vams/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic clean-libtool cscopelist-am ctags \ ctags-am distclean distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags tags-am uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/gnetlist/examples/vams/gschemrc.orig0000664000175000017500000000341112050461155017170 00000000000000(load "./commonrc") (define-module (ice-9 ls) :use-module (ice-9 common-list) :use-module (ice-9 string-fun)) ; All keys in the global-keymap *must* be unique (define global-keymap '(("Escape" . cancel) ("a" . add-keymap) ("b" . add-box-hotkey) ("c" . edit-copy-hotkey) ("d" . edit-delete) ("e" . edit-keymap) ("f" . file-keymap) ("g" . gnetlist-keymap) ("h" . help-keymap) ("i" . add-component) ("j" . no-action) ("k" . no-action) ("l" . add-line-hotkey) ("m" . edit-move-hotkey) ("n" . add-net-hotkey) ("o" . options-keymap) ("p" . page-keymap) ("q" . no-action) ("r" . view-redraw) ("s" . edit-select) ("t" . attributes-keymap) ("u" . add-bus-hotkey) ("v" . view-keymap) ("w" . view-zoom-box-hotkey) ("x" . view-pan-hotkey) ("y" . buffer-keymap) ("z" . view-zoom-in-hotkey) ("period" . repeat-last-command) ("comma" . misc-misc) ("equal" . misc-misc2) ("Shift plus" . misc-misc3) ("Delete" . edit-delete) ("Shift greater" . page-next) ("Shift less" . page-prev) ("Alt q" . file-quit) ("Shift H" . hierarchy-keymap) ("Shift U" . edit-undo) ("Shift R" . edit-redo) ("Shift Z" . view-zoom-out-hotkey))) (attribute-promotion "enabled") (promote-invisible "enabled") (keep-invisible "enabled") (enforce-hierarchy "disabled") (attribute-name "port_object") (attribute-name "port_type") (attribute-name "port_mode") (attribute-name "entity") (attribute-name "architecture") (define gnetlist-keymap '(("n" . generate-netlist) ("e" . generate-entity))) (load (string-append examples-path "/../gschem/scheme/generate_netlist.scm")) (define vhdl-path (string-append examples-path "/vhdl/new-vhdl")) (display "loaded local gschemrc\n") geda-gaf-1.8.2/gnetlist/examples/vams/sch/0000775000175000017500000000000012220655755015363 500000000000000geda-gaf-1.8.2/gnetlist/examples/vams/sch/simple_trans.sch0000664000175000017500000000525612050461155020500 00000000000000v 20021103 C 59400 73800 1 0 0 resistor.sym { T 60100 74700 5 7 0 0 0 0 refdes=RES_base T 60200 74400 5 5 0 0 0 0 r=RB } C 64700 73800 1 90 0 resistor.sym { T 63800 74500 5 7 0 0 90 0 refdes=RES_collector T 64100 74600 5 5 0 0 90 0 r=RC } C 64700 70600 1 90 0 resistor.sym { T 63800 71300 5 7 0 0 90 0 refdes=RES_emitter T 64100 71400 5 5 0 0 90 0 r=RE } C 65500 72300 1 90 0 capacitor.sym { T 64700 72900 5 4 0 0 90 0 refdes=CAP3 T 64800 72800 5 2 0 0 90 0 c=CCS T 64800 73100 5 2 0 0 90 0 v_init=?0.0 } C 65300 72400 1 0 0 gnd_node.sym { T 65000 72200 5 5 0 0 0 0 value=?0 T 65500 72200 5 10 0 1 0 0 refdes=GND1 } N 59400 73900 59800 73900 4 N 64600 75100 64600 75200 4 N 65300 72700 65300 72600 4 N 64600 71000 64600 70800 4 C 64900 75000 1 90 0 port.sym { T 64800 75700 5 8 1 1 180 0 refdes=collector } C 59600 74200 1 180 0 port.sym { T 59400 73800 5 8 1 1 180 0 refdes=base } C 64300 71000 1 270 0 port.sym { T 64800 70600 5 8 1 1 0 0 refdes=emitter } T 59400 75500 8 10 1 0 0 0 entity=BJT_transistor_simple_top T 59400 75300 8 10 1 0 0 0 architecture=simple_arc N 64600 73300 64600 74200 4 C 62800 73700 1 0 0 capacitor.sym { T 63400 74500 5 4 0 0 0 0 refdes=CAP1 T 63300 74400 5 2 0 0 0 0 c=?10e-12 T 63600 74400 5 2 0 0 0 0 v_init=?0.0 } C 61600 72100 1 90 0 capacitor.sym { T 60800 72700 5 4 0 0 90 0 refdes=CAP2 T 60900 72600 5 2 0 0 90 0 c=?10e-12 T 60900 72900 5 2 0 0 90 0 v_init=?0.0 } N 64600 71900 64600 72700 4 N 64600 72700 64500 72700 4 N 64600 73300 64500 73300 4 N 61400 72500 61400 72300 4 N 61400 72300 62200 72300 4 N 62200 72300 62200 72500 4 N 64100 73900 64600 73900 4 N 64600 73900 65300 73900 4 N 65300 73600 65300 73900 4 N 63200 73900 60700 73900 4 N 63000 73300 62900 73300 4 N 62200 72300 64600 72300 4 N 61400 73400 61400 73900 4 C 63000 72600 1 0 0 spice-cs.sym { T 63400 73900 5 7 0 0 0 0 refdes=CS2 T 62700 73600 5 4 0 0 0 0 ISS=ISS T 63400 73600 5 4 0 0 0 0 VT=VT T 64200 73600 5 4 0 0 0 0 N=BF T 63200 73800 5 4 0 0 0 0 architecture=current_controlled } C 62000 73800 1 270 0 sp_diode.sym { T 63200 73100 5 4 0 0 270 0 refdes=SP1 T 63100 72900 5 3 0 0 270 0 source=sp_diode.sch T 62900 72730 5 3 0 0 270 0 ISS=ISS T 62900 73330 5 3 0 0 270 0 N=?1.0 T 62800 73330 5 3 0 0 270 0 CJ0=CJE T 62900 73030 5 3 0 0 270 0 TT=TF T 62970 72330 5 3 0 0 270 0 PB=PE T 62840 72330 5 3 0 0 270 1 M=ME T 62900 72330 5 3 0 0 270 0 EG=EG T 63000 72730 5 3 0 0 270 0 PT=PT T 63000 73030 5 3 0 0 270 0 KF=KF T 62800 73030 5 3 0 0 270 0 AF=AF T 62800 72800 5 3 0 0 270 0 VT=VT T 63100 73400 5 3 0 0 270 0 architecture=?SPICE_Diode_Model T 62700 72730 5 3 0 0 270 0 RS=?1.0 } N 62900 73300 62900 73900 4 N 63000 72700 62700 72700 4 N 62700 72700 62700 73500 4 N 62700 73500 62200 73500 4 N 62200 73500 62200 73400 4 geda-gaf-1.8.2/gnetlist/examples/vams/sch/sp_diode.sch0000664000175000017500000000265112050461155017562 00000000000000v 20021103 C 96400 50800 1 90 0 resistor.sym { T 96100 51100 5 10 0 1 90 0 refdes=RES T 96400 50800 5 5 0 1 90 0 r=RS } N 96300 52300 96300 52100 4 N 96300 49800 96300 50000 4 N 97500 49900 96300 49900 4 N 97500 51000 96300 51000 4 N 96300 51200 96300 51000 4 N 96300 51000 96300 50900 4 N 97500 51000 97500 50800 4 T 94100 52500 8 10 1 1 0 0 architecture=SPICE Diode Model T 97200 52500 8 10 1 1 0 0 entity=sp Diode T 95900 50900 9 20 1 0 0 0 + T 95900 49900 9 20 1 0 0 0 - T 95800 50400 9 15 1 0 0 0 V T 95900 50300 9 7 1 0 0 0 D T 97800 50300 9 15 1 0 0 0 Q T 96700 50300 9 7 1 0 0 0 D T 98000 50200 9 7 1 0 0 0 D T 96600 50400 9 15 1 0 0 0 I T 96600 51700 9 10 1 0 0 6 R T 96700 51700 9 10 1 0 0 4 s C 97800 49500 1 90 0 sp_voltage_dependend_capacitor.sym { T 97300 49700 5 10 0 1 90 0 refdes=VD_CAP T 97300 49800 5 10 0 1 90 0 v_init=?0.0 T 97300 49700 5 10 0 1 90 0 CJ0=CJ0 T 97300 49700 5 10 0 1 90 0 TT=TT T 97300 49700 5 10 0 1 90 0 ISS=ISS T 97300 49700 5 10 0 1 90 0 VT=VT T 97300 49700 5 10 0 1 90 0 M=M T 97300 49700 5 10 0 1 90 0 PB=PB } C 96600 52100 1 90 0 port.sym { T 96800 52800 5 8 1 1 180 0 refdes=anode } C 96000 50000 1 270 0 port.sym { T 96100 49300 5 8 1 1 0 0 refdes=kathode } C 96100 51100 1 270 0 current_source.sym { T 97300 50700 5 7 0 0 270 0 refdes=CS1 T 97000 51300 5 4 0 0 270 0 ISS=ISS T 97000 50600 5 4 0 0 270 0 VT=VT T 97000 49900 5 4 0 0 270 0 N=N T 97200 51100 5 4 0 0 270 0 architecture=?voltage_dependend } geda-gaf-1.8.2/gnetlist/examples/vams/sch/transitest.sch0000664000175000017500000000443012050461155020171 00000000000000v 20021103 N 6900 9600 6800 9600 4 N 4200 7700 4200 6400 4 N 4200 6400 6800 6400 4 N 6800 6400 6800 7200 4 N 7800 9600 7800 6400 4 N 7800 6400 6800 6400 4 T 4000 9500 8 10 1 0 0 0 entity=top test entity T 4000 9300 8 10 1 0 0 0 architecture=transistor test C 6800 6200 1 0 0 gnd_node.sym { T 6500 6000 5 5 0 0 0 0 value=?0 T 7000 6000 5 10 0 1 0 0 refdes=GND } C 4700 7600 1 0 0 resistor.sym { T 5000 7900 5 10 0 1 0 0 refdes=RES_base T 4700 7600 5 5 0 1 0 0 r=10000.0 } C 6900 8000 1 90 0 resistor.sym { T 6600 8300 5 10 0 1 90 0 refdes=RES_collecter T 6900 8000 5 5 0 1 90 0 r=60.0 } N 6300 7700 6000 7700 4 C 6800 9400 1 0 0 voltage_source.sym { T 7100 9500 5 10 0 1 0 0 refdes=VS_collector T 6800 9400 5 10 0 1 0 0 k=100.0 T 6800 9400 5 10 0 1 0 0 period=?0.005 T 6800 9400 5 10 0 1 0 0 width=?0.002 T 6800 9400 5 10 0 1 0 0 offset=10.2 T 6800 9400 5 10 0 1 0 0 amplitude=2.0 T 6800 9400 5 10 0 1 0 4 architecture=sinusodial } C 5200 7900 1 180 0 voltage_source.sym { T 4900 7800 5 10 0 1 180 0 refdes=VS_base T 5200 7900 5 10 0 1 180 0 k=150.0 T 5200 7900 5 10 0 1 180 0 period=?0.005 T 5200 7900 5 10 0 1 180 0 width=?0.002 T 5200 7900 5 10 0 1 180 0 offset=?1.2 T 5200 7900 5 10 0 1 180 0 amplitude=1.0 T 5200 7900 5 10 0 1 180 4 architecture=sinusodial } N 6800 8400 6800 8200 4 N 6800 9300 6800 9600 4 C 5600 7100 1 0 0 BJT_transistor_simple.sym { T 6400 8600 5 4 0 0 0 0 refdes=BJT1 T 6400 8400 5 3 0 0 0 0 source=simple_trans.sch T 6400 8500 5 3 0 0 0 0 architecture=?simple_arc T 7100 7900 5 3 0 0 0 0 BF=?100.0 T 7100 7800 5 3 0 0 0 0 BR=?1.0 T 7100 7700 5 3 0 0 0 0 ISS=?10.0e-14 T 7100 7600 5 3 0 0 0 0 RB=?1.0 T 7100 7500 5 3 0 0 0 0 RC=?1.0 T 7100 7400 5 3 0 0 0 0 RE=?1.0 T 7100 7300 5 3 0 0 0 0 RS=?1.0 T 7500 7800 5 3 0 0 0 0 C2=?0.0 T 7500 7600 5 3 0 0 0 0 NEL=5.0 T 7500 7700 5 3 0 0 0 0 C4=?0.0 T 7500 7500 5 3 0 0 0 0 NCL=?2.0 T 7500 7400 5 3 0 0 0 0 TF=?4.0e-9 T 7500 7300 5 3 0 0 0 0 TR=?4.0e-9 T 6000 7500 5 3 0 0 0 0 CCS=?2.5e-12 T 6000 7400 5 3 0 0 0 0 CJE=?2.5e-12 T 7500 8400 5 3 0 0 0 0 PE=?1.0 T 6400 7300 5 3 0 0 0 0 ME=?0.5 T 6000 7300 5 3 0 0 0 0 CJC=?2.5e-12 T 7500 8300 5 3 0 0 0 0 PC=?1.0 T 6400 7200 5 3 0 0 0 0 MC=?0.5 T 7500 8200 5 3 0 0 0 0 EG=?1.11 T 7500 8100 5 3 0 0 0 0 PT=?3.0 T 7500 8000 5 3 0 0 0 0 KF=?0.0 T 7500 8500 5 3 0 0 0 0 AF=?1.0 T 6400 8200 5 3 0 0 0 0 VT=?25.85e-3 } geda-gaf-1.8.2/gnetlist/examples/vams/commonrc0000664000175000017500000000043512050461155016256 00000000000000(define examples-path (getenv "PWD")) (define-module (ice-9 ls) :use-module (ice-9 common-list) :use-module (ice-9 string-fun)) (component-library (string-append examples-path "/sym")) (source-library (string-append examples-path "/sch")) (display "\nloaded local commonrc\n") geda-gaf-1.8.2/gnetlist/examples/vams/vhdl/0000775000175000017500000000000012220655755015543 500000000000000geda-gaf-1.8.2/gnetlist/examples/vams/vhdl/basic-vhdl/0000775000175000017500000000000012220655755017557 500000000000000geda-gaf-1.8.2/gnetlist/examples/vams/vhdl/basic-vhdl/voltage_dependend_capacitor_arc.vhdl0000664000175000017500000000055212050461155026667 00000000000000ARCHITECTURE spice_beh OF voltage_dependend_capacitor IS QUANTITY v ACROSS i THROUGH lt TO rt; QUANTITY c : real; BEGIN -- c == ((TT * ISS)/(N * VT)) * exp(v/(N*VT)) + CJ0 * (always_positive(1.0 - v/PB))**(-M); c == ((TT * ISS)/(N * VT)) * exp(v/(N*VT)) + CJ0 * (1.0 - v/PB)**(-M); v'dot == i / always_positive(c); END ARCHITECTURE spice_beh; geda-gaf-1.8.2/gnetlist/examples/vams/vhdl/basic-vhdl/spice_cs.vhdl0000664000175000017500000000062612050461155022140 00000000000000LIBRARY ieee,disciplines; USE ieee.math_real.all; USE ieee.math_real.all; USE work.electrical_system.all; USE work.all; -- Entity declaration -- ENTITY SPICE_cs IS GENERIC ( N : REAL := 10.0; VT : REAL := 25.85e-6; ISS : REAL := 10.0e-14 ); PORT ( terminal llt : electrical; terminal ult : electrical; terminal lrt : electrical; terminal urt : electrical ); END ENTITY SPICE_cs; geda-gaf-1.8.2/gnetlist/examples/vams/vhdl/basic-vhdl/sp_diode.vhdl0000664000175000017500000000103312050461155022127 00000000000000LIBRARY ieee,disciplines; USE ieee.math_real.all; USE ieee.math_real.all; USE work.electrical_system.all; USE work.all; -- Entity declaration -- ENTITY SP_DIODE IS GENERIC ( RS : REAL := 1.0; VT : REAL := 25.85e-3; AF : REAL := 1.0; KF : REAL := 0.0; PT : REAL := 3.0; EG : REAL := 1.11; M : REAL := 0.5; PB : REAL := 1.0; TT : REAL := 0.0; CJ0 : REAL := 0.0; N : REAL := 1.0; ISS : REAL := 10.0e-14 ); PORT ( terminal KATHODE : electrical; terminal ANODE : electrical ); END ENTITY SP_DIODE; geda-gaf-1.8.2/gnetlist/examples/vams/vhdl/basic-vhdl/Makefile.am0000664000175000017500000000133712050461155021525 00000000000000## Process this file with automake to produce Makefile.in EXTRA_DIST = bjt_transistor_simple.vhdl bjt_transistor_simple_arc.vhdl \ capacitor.vhdl capacitor_arc.vhdl current_source.vhdl \ current_source_arc.vhdl electrical_system.vhdl \ gnd_node.vhdl resistor.vhdl resistor_arc.vhdl \ sp_diode.vhdl sp_diode_arc.vhdl spice_cs.vhdl \ spice_cs_arc.vhdl transitest.vhdl transitest_arc.vhdl \ voltage_dependend_capacitor.vhdl \ voltage_dependend_capacitor_arc.vhdl voltage_source.vhdl \ voltage_source_arc.vhdl MOSTLYCLEANFILES = core *.log FILE *.ps *~ CLEANFILES = core *.log FILE *.ps *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = core *.log FILE *.ps *~ Makefile.in geda-gaf-1.8.2/gnetlist/examples/vams/vhdl/basic-vhdl/transitest_arc.vhdl0000664000175000017500000000226112050461155023372 00000000000000-- Structural VAMS generated by gnetlist -- Secondary unit ARCHITECTURE transistor_test OF top_entity IS terminal unnamed_net5 : electrical; terminal unnamed_net4 : electrical; terminal unnamed_net3 : electrical; terminal unnamed_net2 : electrical; terminal unnamed_net1 : electrical; BEGIN -- Architecture statement part BJT1 : ENTITY BJT_transistor_simple(simple_arc) GENERIC MAP ( NEL => 5.0) PORT MAP ( Base => unnamed_net2, Collector => unnamed_net5, Emitter => unnamed_net1); VS_base : ENTITY VOLTAGE_SOURCE(sinusodial) GENERIC MAP ( amplitude => 1.0, k => 150.0) PORT MAP ( LT => unnamed_net3, RT => unnamed_net1); VS_collector : ENTITY VOLTAGE_SOURCE(sinusodial) GENERIC MAP ( amplitude => 2.0, offset => 10.2, k => 100.0) PORT MAP ( LT => unnamed_net4, RT => unnamed_net1); RES_collecter : ENTITY RESISTOR GENERIC MAP ( r => 60.0) PORT MAP ( RT => unnamed_net4, LT => unnamed_net5); RES_base : ENTITY RESISTOR GENERIC MAP ( r => 10000.0) PORT MAP ( RT => unnamed_net2, LT => unnamed_net3); GND : ENTITY GROUND_NODE PORT MAP ( T1 => unnamed_net1); END ARCHITECTURE transistor_test; geda-gaf-1.8.2/gnetlist/examples/vams/vhdl/basic-vhdl/bjt_transistor_simple_arc.vhdl0000664000175000017500000000276512050461155025623 00000000000000-- Structural VAMS generated by gnetlist -- Secondary unit ARCHITECTURE simple_arc OF BJT_transistor_simple IS terminal unnamed_net8 : electrical; terminal unnamed_net7 : electrical; terminal unnamed_net5 : electrical; terminal unnamed_net4 : electrical; terminal unnamed_net1 : electrical; BEGIN -- Architecture statement part SP1 : ENTITY SP_DIODE(SPICE_Diode_Model) GENERIC MAP ( VT => VT, AF => AF, KF => KF, PT => PT, EG => EG, M => ME, PB => PE, TT => TF, CJ0 => CJE, ISS => ISS) PORT MAP ( ANODE => unnamed_net8, KATHODE => unnamed_net5); CS2 : ENTITY SPICE_cs(current_controlled) GENERIC MAP ( N => BF, VT => VT, ISS => ISS) PORT MAP ( urt => unnamed_net4, lrt => unnamed_net5, ult => unnamed_net1, llt => unnamed_net8); CAP2 : ENTITY CAPACITOR PORT MAP ( LT => unnamed_net5, RT => unnamed_net1); CAP1 : ENTITY CAPACITOR PORT MAP ( LT => unnamed_net1, RT => unnamed_net4); GND1 : ENTITY GROUND_NODE PORT MAP ( T1 => unnamed_net7); CAP3 : ENTITY CAPACITOR GENERIC MAP ( c => CCS) PORT MAP ( LT => unnamed_net7, RT => unnamed_net4); RES_emitter : ENTITY RESISTOR GENERIC MAP ( r => RE) PORT MAP ( RT => unnamed_net5, LT => emitter); RES_collector : ENTITY RESISTOR GENERIC MAP ( r => RC) PORT MAP ( RT => collector, LT => unnamed_net4); RES_base : ENTITY RESISTOR GENERIC MAP ( r => RB) PORT MAP ( RT => unnamed_net1, LT => base); END ARCHITECTURE simple_arc; geda-gaf-1.8.2/gnetlist/examples/vams/vhdl/basic-vhdl/sp_diode_arc.vhdl0000664000175000017500000000122712050461155022761 00000000000000-- Structural VAMS generated by gnetlist -- Secondary unit ARCHITECTURE SPICE_Diode_Model OF sp_Diode IS terminal unnamed_net2 : electrical; BEGIN -- Architecture statement part CS1 : ENTITY CURRENT_SOURCE(voltage_dependend) GENERIC MAP ( N => N, VT => VT, ISS => ISS) PORT MAP ( LT => unnamed_net2, RT => kathode); VD_CAP : ENTITY VOLTAGE_DEPENDEND_CAPACITOR GENERIC MAP ( PB => PB, M => M, VT => VT, ISS => ISS, TT => TT, CJ0 => CJ0) PORT MAP ( LT => kathode, RT => unnamed_net2); RES : ENTITY RESISTOR GENERIC MAP ( r => RS) PORT MAP ( RT => anode, LT => unnamed_net2); END ARCHITECTURE; geda-gaf-1.8.2/gnetlist/examples/vams/vhdl/basic-vhdl/Makefile.in0000664000175000017500000004106612220655723021546 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = gnetlist/examples/vams/vhdl/basic-vhdl DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = bjt_transistor_simple.vhdl bjt_transistor_simple_arc.vhdl \ capacitor.vhdl capacitor_arc.vhdl current_source.vhdl \ current_source_arc.vhdl electrical_system.vhdl \ gnd_node.vhdl resistor.vhdl resistor_arc.vhdl \ sp_diode.vhdl sp_diode_arc.vhdl spice_cs.vhdl \ spice_cs_arc.vhdl transitest.vhdl transitest_arc.vhdl \ voltage_dependend_capacitor.vhdl \ voltage_dependend_capacitor_arc.vhdl voltage_source.vhdl \ voltage_source_arc.vhdl MOSTLYCLEANFILES = core *.log FILE *.ps *~ CLEANFILES = core *.log FILE *.ps *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = core *.log FILE *.ps *~ Makefile.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gnetlist/examples/vams/vhdl/basic-vhdl/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu gnetlist/examples/vams/vhdl/basic-vhdl/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags-am uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/gnetlist/examples/vams/vhdl/basic-vhdl/voltage_dependend_capacitor.vhdl0000664000175000017500000000100112050461155026030 00000000000000LIBRARY ieee,disciplines; USE ieee.math_real.all; USE ieee.math_real.all; USE work.electrical_system.all; USE work.all; -- Entity declaration -- ENTITY VOLTAGE_DEPENDEND_CAPACITOR IS GENERIC ( PB : REAL := 1.0; M : REAL := 0.5; VT : REAL := 25.85e-6; ISS : REAL := 1.0e-15; TT : REAL := 4.0e-9; CJ0 : REAL := 2.5e-12; v_init : REAL := 0.0; N :REAL := 1.0); PORT ( terminal RT : electrical; terminal LT : electrical ); END ENTITY VOLTAGE_DEPENDEND_CAPACITOR; geda-gaf-1.8.2/gnetlist/examples/vams/vhdl/basic-vhdl/bjt_transistor_simple.vhdl0000664000175000017500000000161612050461155024770 00000000000000LIBRARY ieee,disciplines; USE ieee.math_real.all; USE ieee.math_real.all; USE work.electrical_system.all; USE work.all; -- Entity declaration -- ENTITY BJT_transistor_simple IS GENERIC ( VT : REAL := 25.85e-3; AF : REAL := 1.0; KF : REAL := 0.0; PT : REAL := 3.0; EG : REAL := 1.11; MC : REAL := 0.5; PC : REAL := 1.0; CJC : REAL := 2.5e-12; ME : REAL := 0.5; PE : REAL := 1.0; CJE : REAL := 2.5e-12; CCS : REAL := 2.5e-12; TR : REAL := 4.0e-9; TF : REAL := 4.0e-9; NCL : REAL := 2.0; C4 : REAL := 0.0; NEL : REAL := 2.0; C2 : REAL := 0.0; RS : REAL := 1.0; RE : REAL := 1.0; RC : REAL := 1.0; RB : REAL := 1.0; ISS : REAL := 10.0e-14; BR : REAL := 1.0; BF : REAL := 100.0 ); PORT ( terminal Emitter : electrical; terminal Collector : electrical; terminal Base : electrical ); END ENTITY BJT_transistor_simple; geda-gaf-1.8.2/gnetlist/examples/vams/vhdl/basic-vhdl/capacitor_arc.vhdl0000664000175000017500000000026612050461155023142 00000000000000ARCHITECTURE beh OF capacitor IS QUANTITY v ACROSS i THROUGH lt TO rt; BEGIN IF c > epsi USE v'dot == i / c; ELSE i == 0.0; END use; END ARCHITECTURE beh; geda-gaf-1.8.2/gnetlist/examples/vams/vhdl/basic-vhdl/capacitor.vhdl0000664000175000017500000000050012050461155022304 00000000000000LIBRARY ieee,disciplines; USE ieee.math_real.all; USE ieee.math_real.all; USE work.electrical_system.all; USE work.all; -- Entity declaration -- ENTITY CAPACITOR IS GENERIC ( v_init : REAL := 0.0; c : REAL := 10.0e-12 ); PORT ( terminal RT : electrical; terminal LT : electrical ); END ENTITY CAPACITOR; geda-gaf-1.8.2/gnetlist/examples/vams/vhdl/basic-vhdl/voltage_source_arc.vhdl0000664000175000017500000000103712050461155024213 00000000000000ARCHITECTURE sinusodial OF voltage_source IS QUANTITY v ACROSS i THROUGH lt TO rt; BEGIN v == (amplitude * sin(k * MATH_2_PI * now)) + offset; END architecture sinusodial; ARCHITECTURE pulse OF voltage_source IS QUANTITY v ACROSS i THROUGH lt TO rt; SIGNAL source_sig: real := 0.0; BEGIN p:PROCESS BEGIN source_sig <= (amplitude/2.0) + offset; WAIT FOR width; source_sig <= - (amplitude/2.0) + offset; WAIT FOR period - width; END process p; -- BREAK v => 0.0; v == source_sig; END architecture pulse; geda-gaf-1.8.2/gnetlist/examples/vams/vhdl/basic-vhdl/transitest.vhdl0000664000175000017500000000030012050461155022535 00000000000000LIBRARY ieee,disciplines; USE ieee.math_real.all; USE ieee.math_real.all; USE work.electrical_system.all; USE work.all; -- Entity declaration -- ENTITY top_entity IS END ENTITY top_entity; geda-gaf-1.8.2/gnetlist/examples/vams/vhdl/basic-vhdl/resistor_arc.vhdl0000664000175000017500000000016112050461155023041 00000000000000ARCHITECTURE beh OF resistor IS QUANTITY v ACROSS i THROUGH lt to rt; BEGIN v == r * i; END ARCHITECTURE beh; geda-gaf-1.8.2/gnetlist/examples/vams/vhdl/basic-vhdl/voltage_source.vhdl0000664000175000017500000000063712050461155023373 00000000000000LIBRARY ieee,disciplines; USE ieee.math_real.all; USE ieee.math_real.all; USE work.electrical_system.all; USE work.all; -- Entity declaration -- ENTITY VOLTAGE_SOURCE IS GENERIC ( amplitude : REAL := 2.0; offset : REAL := 1.2; width : REAL := 0.002; period : REAL := 0.005; k : REAL := 100.0 ); PORT ( terminal RT : electrical; terminal LT : electrical ); END ENTITY VOLTAGE_SOURCE; geda-gaf-1.8.2/gnetlist/examples/vams/vhdl/basic-vhdl/resistor.vhdl0000664000175000017500000000044112050461155022215 00000000000000LIBRARY ieee,disciplines; USE ieee.math_real.all; USE ieee.math_real.all; USE work.electrical_system.all; USE work.all; -- Entity declaration -- ENTITY RESISTOR IS GENERIC ( r : REAL := 60.0 ); PORT ( terminal LT : electrical; terminal RT : electrical ); END ENTITY RESISTOR; geda-gaf-1.8.2/gnetlist/examples/vams/vhdl/basic-vhdl/current_source.vhdl0000664000175000017500000000054112050461155023406 00000000000000LIBRARY ieee,disciplines; USE ieee.math_real.all; USE ieee.math_real.all; USE work.electrical_system.all; USE work.all; -- Entity declaration -- ENTITY CURRENT_SOURCE IS GENERIC ( N : REAL := 1.0; VT : REAL := 25.85e-6; ISS : REAL := 10.0e-14 ); PORT ( terminal RT : electrical; terminal LT : electrical ); END ENTITY CURRENT_SOURCE; geda-gaf-1.8.2/gnetlist/examples/vams/vhdl/basic-vhdl/current_source_arc.vhdl0000664000175000017500000000025612050461155024236 00000000000000ARCHITECTURE voltage_dependend OF current_source IS QUANTITY v ACROSS i THROUGH lt TO rt; BEGIN i == ISS * (exp(v/(N * VT)) - 1.0); END ARCHITECTURE voltage_dependend; geda-gaf-1.8.2/gnetlist/examples/vams/vhdl/basic-vhdl/spice_cs_arc.vhdl0000664000175000017500000000036412050461155022764 00000000000000ARCHITECTURE current_controlled OF spice_cs IS QUANTITY v ACROSS i THROUGH urt TO lrt; QUANTITY vc ACROSS ic THROUGH ult TO llt; BEGIN vc == 0.0; i == N * ic; -- i == ISS * (exp(v/(N * VT)) - 1.0); END ARCHITECTURE current_controlled; geda-gaf-1.8.2/gnetlist/examples/vams/vhdl/basic-vhdl/gnd_node.vhdl0000664000175000017500000000047312050461155022125 00000000000000LIBRARY disciplines,ieee; --USE disciplines.electromagnetic_system.all; USE ieee.math_real.all; USE work.electrical_system.all; ENTITY ground_node IS PORT (TERMINAL t1: electrical); END entity; ARCHITECTURE beh OF ground_node IS QUANTITY v ACROSS i THROUGH t1 TO ground; BEGIN v == 0.0; END architecture; geda-gaf-1.8.2/gnetlist/examples/vams/vhdl/basic-vhdl/electrical_system.vhdl0000664000175000017500000000234212050461155024060 00000000000000PACKAGE electrical_system IS CONSTANT epsi : real := 1.0e-18; -- declare subtypes for voltage and current SUBTYPE voltage IS real; -- TOLERANCE "default_voltage"; SUBTYPE current IS real; -- TOLERANCE "default_current"; SUBTYPE charge IS real; -- TOLERANCE "default_charge"; -- basic nature and reference terminal for electrical systems NATURE electrical IS voltage ACROSS current THROUGH ground reference; FUNCTION always_positive (x:real) RETURN real; -- a subnature that is compatible with electrical but has -- different tolerance codes for across and through aspects -- SUBNATURE high_voltage IS electrical -- TOLERANCE "MV" ACROSS "A" THROUGH; -- support for terminal arrays -- NATURE electrical_vector IS ARRAY (integer RANGE <>) OF electrical; -- Type quantity_vector IS ARRAY (integer RANGE <>) OF real; -- Type Adresse is array (integer RANGE <>) of integer; END PACKAGE electrical_system; --------------------------------------------------------------------- PACKAGE BODY electrical_system IS FUNCTION always_positive (x:real) RETURN real IS BEGIN IF (x < epsi) THEN RETURN epsi; ELSE RETURN x; END if; END; END package body; geda-gaf-1.8.2/gnetlist/examples/vams/vhdl/Makefile.am0000664000175000017500000000041512050461155017505 00000000000000## Process this file with automake to produce Makefile.in SUBDIRS = basic-vhdl new-vhdl MOSTLYCLEANFILES = core *.log FILE *.ps *~ CLEANFILES = core *.log FILE *.ps *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = core *.log FILE *.ps *~ Makefile.in geda-gaf-1.8.2/gnetlist/examples/vams/vhdl/Makefile.in0000664000175000017500000005445712220655723017542 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = gnetlist/examples/vams/vhdl DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = basic-vhdl new-vhdl MOSTLYCLEANFILES = core *.log FILE *.ps *~ CLEANFILES = core *.log FILE *.ps *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = core *.log FILE *.ps *~ Makefile.in all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gnetlist/examples/vams/vhdl/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu gnetlist/examples/vams/vhdl/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic clean-libtool cscopelist-am ctags \ ctags-am distclean distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags tags-am uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/gnetlist/examples/vams/vhdl/new-vhdl/0000775000175000017500000000000012220655755017267 500000000000000geda-gaf-1.8.2/gnetlist/examples/vams/vhdl/new-vhdl/Makefile.am0000664000175000017500000000053212050461155021231 00000000000000## Process this file with automake to produce Makefile.in EXTRA_DIST = bjt_transistor_simple_top.vhdl default_entity.vhdl \ resistor.vhdl top_test_entity.vhdl MOSTLYCLEANFILES = core *.log FILE *.ps *~ CLEANFILES = core *.log FILE *.ps *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = core *.log FILE *.ps *~ Makefile.in geda-gaf-1.8.2/gnetlist/examples/vams/vhdl/new-vhdl/top_test_entity.vhdl0000664000175000017500000000031312050461155023306 00000000000000LIBRARY ieee,disciplines; USE ieee.math_real.all; USE ieee.math_real.all; USE work.electrical_system.all; USE work.all; -- Entity declaration -- ENTITY top_test_entity IS END ENTITY top_test_entity; geda-gaf-1.8.2/gnetlist/examples/vams/vhdl/new-vhdl/default_entity.vhdl0000664000175000017500000000031112050461155023067 00000000000000LIBRARY ieee,disciplines; USE ieee.math_real.all; USE ieee.math_real.all; USE work.electrical_system.all; USE work.all; -- Entity declaration -- ENTITY default_entity IS END ENTITY default_entity; geda-gaf-1.8.2/gnetlist/examples/vams/vhdl/new-vhdl/Makefile.in0000664000175000017500000004025312220655723021253 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = gnetlist/examples/vams/vhdl/new-vhdl DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = bjt_transistor_simple_top.vhdl default_entity.vhdl \ resistor.vhdl top_test_entity.vhdl MOSTLYCLEANFILES = core *.log FILE *.ps *~ CLEANFILES = core *.log FILE *.ps *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = core *.log FILE *.ps *~ Makefile.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gnetlist/examples/vams/vhdl/new-vhdl/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu gnetlist/examples/vams/vhdl/new-vhdl/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags-am uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/gnetlist/examples/vams/vhdl/new-vhdl/bjt_transistor_simple_top.vhdl0000664000175000017500000000033712050461155025361 00000000000000LIBRARY ieee,disciplines; USE ieee.math_real.all; USE ieee.math_real.all; USE work.electrical_system.all; USE work.all; -- Entity declaration -- ENTITY bjt_transistor_simple_top IS END ENTITY bjt_transistor_simple_top; geda-gaf-1.8.2/gnetlist/examples/vams/vhdl/new-vhdl/resistor.vhdl0000664000175000017500000000045312050461155021730 00000000000000LIBRARY ieee,disciplines; USE ieee.math_real.all; USE ieee.math_real.all; USE work.electrical_system.all; USE work.all; -- Entity declaration -- ENTITY RESISTOR IS GENERIC ( r : REAL := 10000.0 ); PORT ( terminal LT : electrical; terminal RT : electrical ); END ENTITY RESISTOR; geda-gaf-1.8.2/gnetlist/examples/vams/sym/0000775000175000017500000000000012220655755015416 500000000000000geda-gaf-1.8.2/gnetlist/examples/vams/sym/current_source.sym0000664000175000017500000000146212050461155021123 00000000000000v 20021103 P 200 200 400 200 1 0 0 { T -300 650 5 5 0 0 0 0 pinnumber=LT T -300 650 5 5 0 0 0 0 pinseq=1 T -300 500 5 5 0 0 0 0 port_type=electrical T -300 400 5 5 0 0 0 0 port_object=terminal } P 1100 200 900 200 1 0 0 { T 1000 650 5 5 0 0 0 0 pinnumber=RT T 1000 650 5 5 0 0 0 0 pinseq=2 T 1000 500 5 5 0 0 0 0 port_type=electrical T 1000 400 5 5 0 0 0 0 port_object=terminal } V 650 200 200 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 T -100 1300 5 6 0 0 0 0 device=CURRENT_SOURCE L 400 200 450 200 3 0 0 0 -1 -1 L 850 200 900 200 3 0 0 0 -1 -1 L 550 200 750 200 3 0 0 0 -1 -1 L 750 200 700 250 3 0 0 0 -1 -1 L 750 200 700 150 3 0 0 0 -1 -1 T 400 1200 8 7 0 0 0 0 refdes=CS T -200 900 8 4 0 0 0 0 ISS=?10.0e-14 T 500 900 8 4 0 0 0 0 VT=?25.85e-6 T 1200 900 8 4 0 0 0 0 N=?1.0 T 0 1100 8 4 0 0 0 0 architecture=?voltage_dependend geda-gaf-1.8.2/gnetlist/examples/vams/sym/spice-cs.sym0000664000175000017500000000317612050461155017573 00000000000000v 20021103 L 1000 600 800 400 3 0 0 0 -1 -1 L 800 400 1000 200 3 0 0 0 -1 -1 L 1200 400 1000 200 3 0 0 0 -1 -1 L 1200 400 1000 600 3 0 0 0 -1 -1 L 1000 600 1000 700 3 0 0 0 -1 -1 L 1000 700 1300 700 3 0 0 0 -1 -1 L 1300 100 1000 100 3 0 0 0 -1 -1 L 1000 200 1000 100 3 0 0 0 -1 -1 P 1300 700 1500 700 1 0 1 { T 1800 950 5 5 0 0 0 0 pinnumber=urt T 1800 950 5 5 0 0 0 0 pinseq=1 T 1700 800 5 5 0 0 0 0 port_type=electrical T 1700 700 5 5 0 0 0 0 port_object=terminal } P 1300 100 1500 100 1 0 1 { T 1800 100 5 5 0 0 0 0 port_type=electrical T 1800 0 5 5 0 0 0 0 port_object=terminal T 1800 200 5 5 0 0 0 0 pinnumber=lrt T 1800 200 5 5 0 0 0 0 pinseq=2 } L 1300 0 1300 800 3 0 0 0 -1 -1 L 500 700 500 100 3 0 0 0 -1 -1 L 500 100 200 100 3 0 0 0 -1 -1 L 200 700 500 700 3 0 0 0 -1 -1 L 200 800 200 0 3 0 0 0 -1 -1 L 200 800 1300 800 3 0 0 0 -1 -1 T 0 1600 9 8 0 0 0 0 device=SPICE_cs L 1300 0 200 0 3 0 0 0 -1 -1 P 200 700 0 700 1 0 1 { T -800 850 5 5 0 0 0 0 pinnumber=ult T -800 850 5 5 0 0 0 0 pinseq=4 T -800 700 5 5 0 0 0 0 port_type=electrical T -800 600 5 5 0 0 0 0 port_object=terminal } P 0 100 200 100 1 0 0 { T -800 250 5 5 0 0 0 0 pinnumber=llt T -800 250 5 5 0 0 0 0 pinseq=3 T -800 100 5 5 0 0 0 0 port_type=electrical T -800 0 5 5 0 0 0 0 port_object=terminal } L 800 400 1200 400 3 0 0 0 -1 -1 L 500 200 450 350 3 0 0 0 -1 -1 L 500 200 550 350 3 0 0 0 -1 -1 L 750 625 750 200 3 0 0 0 -1 -1 L 750 200 700 350 3 0 0 0 -1 -1 L 750 200 800 350 3 0 0 0 -1 -1 T 400 1300 8 7 0 0 0 0 refdes=CS T -300 1000 8 4 0 0 0 0 ISS=?10.0e-14 T 400 1000 8 4 0 0 0 0 VT=?25.85e-6 T 1200 1000 8 4 0 0 0 0 N=?10.0 T 200 1200 8 4 0 0 0 0 architecture=?voltage_controlled geda-gaf-1.8.2/gnetlist/examples/vams/sym/port.sym0000664000175000017500000000046412050461155017046 00000000000000v 20021103 V 450 300 50 6 0 0 0 -1 -1 0 0 -1 -1 -1 -1 P 400 300 200 300 1 0 1 { T 200 800 5 8 0 0 0 0 pinnumber=port T 200 800 5 8 0 0 0 0 pinseq=1 T 200 1000 5 10 0 0 0 0 port_object=terminal T 200 1200 5 10 0 0 0 0 port_type=electrical } T 200 100 5 8 0 0 0 0 device=PORT T 200 400 5 8 1 1 0 0 refdes=PORT geda-gaf-1.8.2/gnetlist/examples/vams/sym/gnd_node.sym0000664000175000017500000000065112050461155017635 00000000000000v 20021103 P 0 200 0 0 1 0 0 { T 200 100 5 10 0 1 0 0 pinnumber=T1 T 200 100 5 10 0 0 0 0 pinseq=1 T 0 200 5 5 0 1 0 0 port_type=electrical T 0 200 5 10 0 1 0 0 port_object=terminal } L -300 0 300 0 3 0 0 0 -1 -1 { T -400 400 5 10 0 1 0 0 device=GROUND_NODE } L -200 -100 200 -100 3 0 0 0 -1 -1 L -100 -200 100 -200 3 0 0 0 -1 -1 L 0 0 0 -200 3 0 0 0 -1 -1 T -300 -200 8 5 0 0 0 0 value=?0 T 200 -200 8 10 0 1 0 0 refdes=GND geda-gaf-1.8.2/gnetlist/examples/vams/sym/voltage_source.sym0000664000175000017500000000144012050461155021076 00000000000000v 20021103 P 100 200 300 200 1 0 0 { T 0 450 5 3 0 0 0 0 pinnumber=LT T 0 450 5 3 0 0 0 0 pinseq=1 T -100 400 5 3 0 0 0 0 port_type=electrical T -100 300 5 3 0 0 0 0 port_object=terminal } P 1000 200 800 200 1 0 0 { T 1000 450 5 3 0 0 0 0 pinnumber=RT T 1000 450 5 3 0 0 0 0 pinseq=2 T 900 400 5 3 0 0 0 0 port_type=electrical T 900 300 5 3 0 0 0 0 port_object=terminal } V 550 200 200 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1 { T 100 900 5 5 0 0 0 0 device=VOLTAGE_SOURCE } L 300 200 350 200 3 0 0 0 -1 -1 L 750 200 800 200 3 0 0 0 -1 -1 T 300 800 8 4 0 0 0 0 refdes=VS T 0 600 8 3 0 0 0 0 k=?100.0 T 0 700 8 3 0 0 0 0 period=?0.005 T 400 700 8 3 0 0 0 0 width=?0.002 T 400 600 8 3 0 0 0 0 offset=?1.2 T 800 600 8 3 0 0 0 0 amplitude=?2.0 T 900 800 8 3 0 0 0 4 architecture=?sinusodial T 400 200 9 7 1 0 0 4 + geda-gaf-1.8.2/gnetlist/examples/vams/sym/resistor.sym0000664000175000017500000000127212050461155017732 00000000000000v 20021103 L 1000 200 900 0 3 0 0 0 -1 -1 L 900 0 800 200 3 0 0 0 -1 -1 L 800 200 700 0 3 0 0 0 -1 -1 L 700 0 600 200 3 0 0 0 -1 -1 { T 500 700 5 7 0 0 0 0 device=RESISTOR } L 1000 200 1100 0 3 0 0 0 -1 -1 L 1100 0 1150 100 3 0 0 0 -1 -1 P 1300 100 1150 100 1 0 0 { T 1400 550 5 5 0 0 0 0 pinnumber=RT T 1400 550 5 5 0 0 0 0 pinseq=2 T 1200 400 5 5 0 0 0 0 port_type=electrical T 1200 300 5 5 0 0 0 0 port_object=terminal } P 400 100 552 100 1 0 0 { T 100 550 5 5 0 0 0 0 pinnumber=LT T 100 550 5 5 0 0 0 0 pinseq=1 T 100 400 5 5 0 0 0 0 port_type=electrical T 100 300 5 5 0 0 0 0 port_object=terminal } L 601 200 550 100 3 0 0 0 -1 -1 T 700 900 8 7 0 0 0 0 refdes=RES T 800 600 8 5 0 0 0 0 r=?100 geda-gaf-1.8.2/gnetlist/examples/vams/sym/BJT_transistor_simple.sym0000664000175000017500000000352512050461155022343 00000000000000v 20021103 T 800 1600 5 5 0 0 0 0 device=BJT_transistor_simple P 700 600 900 600 1 0 0 { T 400 850 5 3 0 0 0 0 pinnumber=Base T 400 850 5 3 0 0 0 0 pinseq=2 T 500 700 5 3 0 0 0 0 port_type=electrical T 500 800 5 3 0 0 0 0 port_object=terminal } P 1200 1100 1200 900 1 0 0 { T 1200 1150 5 3 0 0 0 0 pinnumber=Collector T 1200 1150 5 3 0 0 0 0 pinseq=1 T 1300 1000 5 3 0 0 0 0 port_type=electrical T 1300 1100 5 3 0 0 0 0 port_object=terminal } P 1200 300 1200 100 1 0 1 { T 1300 50 5 3 0 0 0 0 port_type=electrical T 1300 200 5 3 0 0 0 0 pinnumber=Emitter T 1300 200 5 3 0 0 0 0 pinseq=3 T 1300 100 5 3 0 0 0 0 port_object=terminal } L 900 750 1200 900 3 0 0 0 -1 -1 L 900 450 1200 300 3 0 0 0 -1 -1 L 1201 300 1103 309 3 0 0 0 -1 -1 L 1200 300 1131 373 3 0 0 0 -1 -1 L 1103 309 1131 373 3 0 0 0 -1 -1 T 800 1500 8 4 0 0 0 0 refdes=BJT_TRA T 1000 600 9 2 1 0 0 1 BJT Model A 900 600 300 270 180 3 0 0 0 -1 -1 T 800 1300 8 3 0 0 0 0 source=simple_trans.sch T 800 1400 8 3 0 0 0 0 architecture=?simple_arc L 900 900 900 300 3 0 0 0 -1 -1 T 1500 800 8 3 0 0 0 0 BF=?100.0 T 1500 700 8 3 0 0 0 0 BR=?1.0 T 1500 600 8 3 0 0 0 0 ISS=?10.0e-14 T 1500 500 8 3 0 0 0 0 RB=?1.0 T 1500 400 8 3 0 0 0 0 RC=?1.0 T 1500 300 8 3 0 0 0 0 RE=?1.0 T 1500 200 8 3 0 0 0 0 RS=?1.0 T 1900 700 8 3 0 0 0 0 C2=?0.0 T 1900 500 8 3 0 0 0 0 NEL=?2.0 T 1900 600 8 3 0 0 0 0 C4=?0.0 T 1900 400 8 3 0 0 0 0 NCL=?2.0 T 1900 300 8 3 0 0 0 0 TF=?4.0e-9 T 1900 200 8 3 0 0 0 0 TR=?4.0e-9 T 400 400 8 3 0 0 0 0 CCS=?2.5e-12 T 400 300 8 3 0 0 0 0 CJE=?2.5e-12 T 1900 1300 8 3 0 0 0 0 PE=?1.0 T 800 200 8 3 0 0 0 0 ME=?0.5 T 400 200 8 3 0 0 0 0 CJC=?2.5e-12 T 1900 1200 8 3 0 0 0 0 PC=?1.0 T 800 100 8 3 0 0 0 0 MC=?0.5 T 1900 1100 8 3 0 0 0 0 EG=?1.11 T 1900 1000 8 3 0 0 0 0 PT=?3.0 T 1900 900 8 3 0 0 0 0 KF=?0.0 T 1900 1400 8 3 0 0 0 0 AF=?1.0 T 800 1100 8 3 0 0 0 0 VT=?25.85e-3 T 1000 700 9 2 1 0 0 0 simple geda-gaf-1.8.2/gnetlist/examples/vams/sym/capacitor.sym0000664000175000017500000000117412050461155020026 00000000000000v 20021103 P 400 200 600 200 1 0 0 { T 0 550 5 4 0 0 0 0 pinnumber=LT T 0 550 5 4 0 0 0 0 pinseq=1 T 0 400 5 4 0 0 0 0 port_type=electrical T 0 300 5 4 0 0 0 0 port_object=terminal } P 1300 200 1100 200 1 0 0 { T 1100 450 5 4 0 0 0 0 port_type=electrical T 1100 600 5 4 0 0 0 0 pinnumber=RT T 1100 600 5 4 0 0 0 0 pinseq=2 T 1100 300 5 4 0 0 0 0 port_object=terminal } L 800 400 800 0 3 0 0 0 -1 -1 L 900 400 900 0 3 0 0 0 -1 -1 L 1100 200 900 200 3 0 0 0 -1 -1 L 800 200 600 200 3 0 0 0 -1 -1 { T 500 900 5 5 0 0 0 0 device=CAPACITOR } T 600 800 8 4 0 0 0 0 refdes=CAP T 500 700 8 2 0 0 0 0 c=?10e-12 T 800 700 8 2 0 0 0 0 v_init=?0.0 geda-gaf-1.8.2/gnetlist/examples/vams/sym/sp_voltage_dependend_capacitor.sym0000664000175000017500000000174112050461155024257 00000000000000v 20021103 P 400 300 600 300 1 0 0 { T 200 550 5 3 0 0 0 0 pinnumber=LT T 200 550 5 3 0 0 0 0 pinseq=1 T 300 500 5 3 0 0 0 0 port_type=electrical T 300 400 5 3 0 0 0 0 port_object=terminal } P 1300 300 1100 300 1 0 0 { T 1300 450 5 3 0 0 0 0 port_type=electrical T 1200 500 5 3 0 0 0 0 pinnumber=RT T 1200 500 5 3 0 0 0 0 pinseq=2 T 1300 400 5 3 0 0 0 0 port_object=terminal } L 800 500 800 100 3 0 0 0 -1 -1 L 900 500 900 100 3 0 0 0 -1 -1 L 1100 300 900 300 3 0 0 0 -1 -1 L 800 300 600 300 3 0 0 0 -1 -1 { T 100 1200 5 5 0 0 0 0 device=VOLTAGE_DEPENDEND_CAPACITOR } T 700 1100 8 4 0 0 0 0 refdes=VD_CAP T 600 1000 8 3 0 0 0 0 v_init=?0.0 L 600 100 1100 500 3 0 0 0 -1 -1 L 600 200 600 100 3 0 0 0 -1 -1 L 600 100 700 100 3 0 0 0 -1 -1 T 1100 400 9 3 0 0 0 4 V T 600 900 8 3 0 0 0 0 CJ0=?2.5e-12 T 600 800 8 3 0 0 0 0 TT=?4.0e-9 T 600 700 8 3 0 0 0 0 ISS=?1.0e-15 T 1000 800 8 3 0 0 0 0 VT=?25.85e-6 T 1000 900 8 3 0 0 0 0 M=?0.5 T 1000 1000 8 3 0 0 0 0 PB=?1.0 T 1000 700 8 3 0 0 0 0 N=?1.0 geda-gaf-1.8.2/gnetlist/examples/vams/sym/sp_diode.sym0000664000175000017500000000216212050461155017645 00000000000000v 20021103 L 700 400 700 0 3 0 0 0 -1 -1 L 700 400 1000 200 3 0 0 0 -1 -1 T 600 1300 5 5 0 0 0 0 device=SP_DIODE L 1000 200 700 0 3 0 0 0 -1 -1 L 1000 400 1000 0 3 0 0 0 -1 -1 P 400 200 600 200 1 0 0 { T 200 450 5 3 0 0 0 0 pinnumber=ANODE T 200 450 5 3 0 0 0 0 pinseq=1 T 300 400 5 3 0 0 0 0 port_object=terminal T 300 300 5 3 0 0 0 0 port_type=electrical } P 1300 200 1100 200 1 0 0 { T 1100 450 5 3 0 0 0 0 pinnumber=KATHODE T 1100 450 5 3 0 0 0 0 pinseq=2 T 1200 400 5 3 0 0 0 0 port_object=terminal T 1200 300 5 3 0 0 0 0 port_type=electrical } L 1100 200 1000 200 3 0 0 0 -1 -1 L 700 200 600 200 3 0 0 0 -1 -1 T 700 1200 8 4 0 0 0 0 refdes=SP_DIO T 900 1100 8 3 0 0 0 0 source=sp_diode.sch T 1070 900 8 3 0 0 0 0 ISS=?10.0e-14 T 470 900 8 3 0 0 0 0 N=?1.0 T 470 800 8 3 0 0 0 0 CJ0=?2.0e-12 T 770 900 8 3 0 0 0 0 TT=?0.1e-9 T 1470 970 8 3 0 0 0 0 PB=?1.0 T 1470 840 8 3 0 0 0 1 M=?0.5 T 1470 900 8 3 0 0 0 0 EG=?1.11 T 1070 1000 8 3 0 0 0 0 PT=?3.0 T 770 1000 8 3 0 0 0 0 KF=?0.0 T 770 800 8 3 0 0 0 0 AF=?1.0 T 1000 800 8 3 0 0 0 0 VT=?25.85e-3 T 400 1100 8 3 0 0 0 0 architecture=?SPICE_Diode_Model T 1070 700 8 3 0 0 0 0 RS=?1.0 geda-gaf-1.8.2/gnetlist/BUGS0000664000175000017500000000232612050461155012416 00000000000000Bugs (no particular order): -------------------------- - If a component cannot be read, then this situation is not dealt with. Technically at this point, gnetlist can't do anything so it really should exit. Add code to do this later... - Memory leaks (lots right now) A LOT MORE now! - Ordering of pin outputs in spice netlist output for components like BJT transistors B C E. This is wrong for now. (might be fixed now) - (SPICE backend) It is possible to have named a net something (say 1) and then have an unnamed net called 1 as well. Obviously my unnamed net naming is lame. - gnetlist:get-toplevel-attribute only looks for the first occurrence of the toplevel attribute. Make this somehow better? - Figure out why the post process screwed up net names when it was done in the wrong place (after every sheet), low priority - gnetlist doesn't handle order very well on some machines? non-linux only? Finished stuff: --------------- FIXED Embedded schematics don't netlist at all. OKAY Infinite net connection loops. FIXED Attach a label to a net which is going to no pin and it won't show up. (this is because mid point connections are not being dealt with properly...) geda-gaf-1.8.2/gnetlist/ChangeLog-1.00000664000175000017500000024266312050461155014013 000000000000002007-05-26 Ales Hvezda * tests/spice-sdb/Makefile.am: Oops, because of the below disable, need to explicitly include run_tests.sh. This needs to b undone once these tests pass make distcheck again. 2007-05-25 Ales Hvezda * tests/spice-sdb/Makefile.am: Disabled spice-sdb tests temporarily since they break make distcheck. Will re-enable once it is determined what is going wrong (for the next release). * configure.ac: Updated version to 20070526 in prep for the next release. 2007-05-13 Ales Hvezda * scheme/Makefile.am, gnet-osmond.scm: Added new gnetlist backend from John Doty. Thanks! 2007-04-29 Ales Hvezda * tests/Makefile.am: Moved the VHDL regression test into my private test target since it doesn't work for everybody (since some people do not install into $HOME/geda). * tests/spice-sdb/inputs/Makefile.am, tests/spice-sdb/inputs/sym/Makefile.am: Added missing test files to make distcheck happy again. 2007-04-28 (later) Stuart Brorson * include/globals.h, scheme/gnet-spice-sdb.scm, src/globals.c, src/parsecmd.c configure.ac: Add --nomunge flag to gnetlist, telling spice-sdb to not autocorrect incorrect device prefixes (handles complaint from John Doty). Also upgraded handling of long opts. Finally, updated spice-sdb test suite to check these new features. 2007-04-28 Stuart Brorson * src/g_netlist.c, scheme/gnet-spice-sdb.scm: Fix spice-sdb's treatment of slotted parts so it emits pins in pinseq order. This required making mods to g_netlist.c, as well as several fcns in libgeda. Then updated spice-sdb test suite. This closes bug 1680275. 2007-04-21 Ales Hvezda * src/gnetlist.c: Move the "-l" command line scheme loading code to be *before* schematics are loaded (instead of after). * examples/stack_1.sch, examples/Makefile.am: Added stack example schematic. * tests/Makefile.am, tests/runtest.sh, tests/singlenet.protel, tests/singlenet.protelII, tests/stack.geda, tests/stack_1.geda, tests/drc2/Makefile.am, tests/hierarchy/Makefile.am, tests/hierarchy/gnetlistrc, tests/hierarchy/gnetlistrc.hierarchy: Fixed the gnetlist regressions tests to work with make distcheck. * tests/spice-sdb/run_tests.sh: Added -I "gnetlist -g" to the golden file diff to ignore the embedded command line information in the spice-sdb golden files. * scheme/gnet-calay.scm: Added backed written by John Doty for the Calay netlist. Thanks! * tests/runtest.sh: Minor improvements in test running script. 2007-04-21 Stuart Brorson * tests/spice-sdb/* Added new spice-sdb test directory. Then created test environment similar to Dan's regression tests for refdes_renum. 2007-02-20 Carlos Nieves Onega * scheme/gnet-allegro.scm: Fix bug #1663729. When writing the device files, check if 'devfiles' directory exists and create it if needed. 2007-02-16 Ales Hvezda * tests/multiequal.spice-sdb: Updated golden file to be current. * tests/Makefile.am, tests/drc2/Makefile.am, tests/hierarchy/Makefile.am: Temporarily disabled make check to get past make distcheck. The rules in make tests are probably missing a variable specifying the source of the input files. make check should enabled once we figure out what is missing. * tests/amp.spice-sdb, tests/darlington.spice-sdb: Updated golden files to be current. 2007-02-11 (later) Stuart Brorson * scheme/gnet-spice-sdb.scm, scheme/gnetlist.scm: Changed string-pad-right to safe-string-head per suggestion from Jeff Mallatt. Added safe-string-head to gnetlist.scm. 2007-02-11 Stuart Brorson * scheme/gnet-spice-sdb.scm: Incorporated patch from Jeff Mallatt enabling SPICE netlisting of slotted parts. 2007-02-10 Ales Hvezda * docs/gnetlist.1, src/gnetlist.c, src/parsecmd.c: Applied patch by Tomaz Solc [ 1593644 ] gnetlist: use "-g help" to list available backends. Thanks! * tests/.cvsignore: Added rule to ignore all the newly generated files. * scheme/gnet-bom.scm, scheme/gnet-bom2.scm: Applied patch to change "package" to "refdes" [ 1656822 ] BOM/BOM2 should use refdes in title line * tests/hierarchy/hierarchy.geda: Updated golden file due to ordering of output changing. * src/globals.c: Removed quit_func since it is completely unused. * docs/gnetlist.1: Updated the man page a little for bug: [ 1556064 ] man page version out of date * tests/*.spice-sdb: Updated golden files to be current due to version number update. * configure.ac: Bumped package version to 20070216. 2007-02-10 Carlos Nieves Onega * tests/Makefile.am, tests/drc2/Makefile.am, tests/hierarchy/Makefile.am: When running "make check", run "make tests" too. * tests/drc2/Makefile.am: Added a pass/failed line after each test. * tests/drc2/.cvsignore: Added this new file. * configure.ac, tests/Makefile.am, tests/drc2/Makefile.am, tests/drc2/*.sch, tests/drc2/*.drc2: Added new regression test suite for the drc2 backend. * scheme/gnet-drc2.scm: Changed a (begin) to a (let ()) due to guile 1.8 problems. Thanks to Stuart Brorson por reporting, and Dean Ferreyra for pointing out the fix. 2007-02-08 19:24 Dan McMahill * configure.ac, scheme/Makefile.am, scheme/gnet-gsch2pcb.scm.in: 1) add a new option to gsch2pcb "use-m4" for the project file or "--use-m4" for the command line. By default now, gsch2pcb will not try to run m4 at all. If you want the old behaviour of running m4, you'll have to use this option. It seems that this is what most users want (no m4 involved at run time). 2) rather than hard coding a number of paths like /usr/X11R6/lib and /usr/local/share into the code for places to look for PCB footprints, use a single default directory which is based on ${datadir}. If the user wants to, they can override that with --with-pcb-datadir=/opt/pcb-20070204/share for example. 3) when searching for newlib footprints with, for example, a name like footprint=MY1206, match either "MY1206" or "MY1206.fp" so we can start having extensions on footprint files without needing to explicitly add the ".fp" part in the footprint= attribute. All of the footprints in the pcb distribution which came from the m4 libraries have .fp extensions now. 4) add some example schematic files in the gsch2pcb example directory 2007-01-15 Stuart Brorson * scheme/gnet-bom.scm, scheme/gnet-bom2.scm: Added (use-modules (ice-9 rdelim)) fix guile-1.8 problem. 2007-01-16 Ales Hvezda * scheme/gnet-switcap.scm: Added added (use-modules (ice-9 rdelim)) to get read-line included and working. 2007-01-15 Stuart Brorson * scheme/gnet-spice-sdb.scm: Changed escaping for parens to fix guile-1.8 bug. Also added (use-modules (ice-9 rdelim)) to enable read-line. 2007-01-07 Stuart Brorson * scheme/gnet-spice-sdb.scm: Added SPICE-NPN and SPICE-PNP to dispatch to cover cases where people had munged the transistor symbols. 2006-11-21 Ales Hvezda * configure.ac: Fixed libgeda detection/find error message when the wrong libgeda version is found. (Bug reported by Karel Kulhavy; thanks) 2006-10-20 Ales Hvezda * configure.ac: Bumped package version to 20061020. * scheme/gnet-PCB.scm: Applied patch (#1453908) by Thien-Thi Nguyen that cleans up / simplifies some scheme code. 2006-09-27 Carlos Nieves Onega * configure.ac : Applied patch #1564796 by Cesar Strauss, enabling Cygwin's compilation. Thanks. 2006-09-24 Ales Hvezda * AUTHORS: Updated file pointing people at gschem's AUTHOR file as the complete list of authors. Merged all listed files in this file into gschem's file. 2006-09-07 SDB sdb@cloud9.net> * scheme/gnet-gsch2pcb.scm.in: Applied cursor patch from Peter Clifton. 2006-09-06 Ales Hvezda * configure.ac: Updated program version to 20060906. * src/gnetlist.c: Added CUSTOM_VERSION to all printfs/output/dialog boxes where VERSION is used so that it is easier to create custom version of gEDA/gaf. 2006-09-03 Carlos Nieves Onega * scheme/gnet-drc2.scm: Applied patch #1551415 from Tomas Solc. Some part of an error message was written in standard output instead of the the output file. Thanks. 2006-08-31 Ales Hvezda * configure.ac: Updated gtk+ tests to look for 2.4.x or greater. * src/gnetlist.c: Removed obsolete code fragment 2006-08-29 Ales Hvezda * scheme/gnet-gsch2pcb.scm.in: Applied patch by Jeff Mallatt to fix gnet-gsch2pcb.scm fix m4 params bug/limit of 3. Patch#1542726. Thanks. 2006-08-22 Ales Hvezda * scheme/Makefile.am: Added a couple files to the distclean and maintainerclean rules to make distcheck happy. 2006-08-21 Ales Hvezda * README: Updated the README a little to be ready for the next release. 2006-08-19 Ales Hvezda * configure.ac: Bumped version number to 20060821 in prep for the next gEDA/gaf release. 2006-07-04 Ales Hvezda * tests/multiequal.spice-sdb: Updated golden file to take into account case change of .end * tests/amp.spice-sdb, tests/darlington.spice-sdb: Updated golden file to take into account case change of .end * tests/powersupply.sch, powersupply.allegro, powersupply.protelII powersupply.tango: Fixed invalid attribute in schematic and updated some golden regression files. * src/g_netlist.c, src/g_rc.c, src/gnetlist.c, src/i_vars.c, src/parsecmd.c, src/s_cpinlist.c, src/s_hierarchy.c, src/s_net.c, src/s_netattrib.c, src/s_netlist.c, src/s_rename.c, src/s_traverse.c, src/vams_misc.c: Converted all malloc/free calls to g_malloc/g_free 2006-04-22 Carlos Nieves Onega * include/globals.h, include/prototype.h, src/g_netlist.c, src/g_register.c, src/globals.c, s_netlist.c, s_traverse.c: Build a netlist of graphical objects. This feature enables using directives in the schematic. * scheme/gnet-drc2.scm: - Added support for NoConnection and DontCheckPintypes directives. - Changed the drc connection matrix. Now an unknown pin doesn't generate an error, and it can drive a net. - Added report for pins without the 'pintype' attribute. - Display the pins when reporting a net with only one connection. 2006-04-11 Carlos Nieves Onega * scheme/gnet-spice-sdb.scm: Changed .END and .ENDS cards to lowercase. This fixes bug 1442912. 2006-04-05 Carlos Nieves Onega * scheme/gnet-drc2.scm: Fixed parenthesis mismatch in function drc2:check-slots. Thanks to David Logan for reporting the bug. 2006-03-12 Ales Hvezda * lib/system-gnetlistrc.in: Removed load for the system-gafrc file, since it is loaded by libgeda first. 2006-03-10 Stuart Brorson * scheme/gnet-spice-sdb.scm: Added "m" attribute to PMOS and NMOS transistors per request of Peter Kaiser. 2006-03-06 Carlos Nieves Onega * src/g_netlist.c: Return 'pwr' when getting pintype of a hidden pin. Thanks to Holger Oehm for providing the patch. 2006-03-03 Stuart Brorson * configure.ac, parsecmd.c: introduced getopt_long to enable parsing of long command line flags. Had to change configure.ac to support looking for getopt.h instead of unistd.h. 2006-03-02 Carlos Nieves Onega * scheme/gnet-drc2.scm: Don't check pintypes of net "NoConnection". Thanks to Holger Oehm for reporting the bug and providing a patch. 2006-02-28 Carlos Nieves Onega * scheme/gnet-drc2.scm: Added netname in the output message when checking pintype connections. Thanks to Holger Oehm for providing the patch. 2006-02-05 Werner Hoch * scheme/gnet-spice.scm: cccs, ccvs, vccs and vcvs replacement uses a dash "-" in the name of vsens replacement, ngspice doesn't like that 2006-01-22 Ales Hvezda * autogen.sh, m4/guile.m4, src/Makefile.am: Removed m4 files since they are installation specifc. Also, all required libraries should be coming from LIBGEDA_LDFLAGS. * tests/*: Updated some of the spice regression tests to have the correct spice-sdb version 2006-01-16 Ales Hvezda * configure.ac: Bumped package version to 20060123 * README: Updated for the new year and release. 2006-01-15 Carlos Nieves Onega * scheme/gnet-drc2.scm: Changed error message to be more self-explaining. 2006-01-07 Carlos Nieves Onega * scheme/gnet-drc2.scm: Added missing 'passive' in the pintype-full-names list, and changed the pintype error/warning message to something more self-explaining. 2006-01-07 Stuart Brorson * configure.ac, src/Makefile.am: Changed automake stuff to explicitly look for guile, and then link to it. * autogen.sh, m4/guile.m4: Added local guile macros. 2006-01-04 Stuart Brorson * src/g_netlist.c, src/s_net.c, scheme/gnet-drc2.scm scheme/gnetlist.scm, scheme/gnet-systemc.scm, scheme/gnet-vams.scm, scheme/gnet-verilog.scm scheme/gnet-vhdl.scm: Modified code to emit "unconnected_pin-" to fix bug noticed by John Doty. Besides modifying s_net.c to achieve this, I had to change the strcmp fcn in many files to a strncmp fcn to compare only the first 15 chars against "unconnected_pin". Added strncmp? to scheme/gnetlist.scm to do this for Scheme backends. * scheme/gnet-spice-sdb.scm: Fix bug discovered by John Doty: spice-IO pins with refdes greater than P9 were sorted incorrectly (as strings). Now they are sorted as numbers. 2005-12-28 Carlos Nieves Onega * src/g_netlist: Dereferenced return value of scm_c_module_lookup, which is passed to scm_sort_list_x. Fixed long standing bug that produces a "Wrong type argument in position 1: #>" error when running gnetlist. Thanks to Neal Baer and James Cotton for the bug report, and also to Patrick Bernaud for the solution. 2005-11-27 Carlos Nieves Onega * src/globals.c: Added setting of load_newer_backup_func to NULL. It is needed now libgeda checks for autosave backup files when opening a schematic. 2005-09-27 18:44 Dan McMahill * configure.ac: check for strings.h for rindex 2005-09-27 18:43 Dan McMahill * src/s_hierarchy.c: remove various compiler warnings 2005-09-11 Stuart Brorson * gnet-spice-sdb.scm: Incorporated patch from Paul Bunyk enabling netlisting of Josephson junctions and other magnetic devices. 2005-08-19 Ales Hvezda * configure.ac: Bumped the package version to 20050820 which will be a real snapshot. 2005-08-16 22:54 Dan McMahill * configure.ac, scheme/Makefile.am, scheme/gnet-PCBboard.scm, scheme/gnet-PCBboard.scm.in, scheme/gnet-gsch2pcb.scm, scheme/gnet-gsch2pcb.scm.in: - use the M4 program discovered at configure time as the default for m4 in the PCB backends. - use the PCB directories from configure time as the defaults in the PCB backends. These can still be changed with --with-pcbm4dir and --with-pcbconfdir. As usual, they can be changed at runtime with the gsch2pcb project file, but hopefully this gets things nominally right by default. 2005-08-15 10:12 Dan McMahill * configure.ac: Search for a m4 to use. Will be used by the pcb netlisters. 2005-08-14 Ales Hvezda * src/gnetlist.c: Applied patch by Carlos Azevedo which moves the chdir after s_traverse since it might change the directory as well. * src/s_rename.c: Applied patch by Carlos Azevedo which re-implements the rename structures to be completely dynamic. * tests/*: Re-copied golden test files to be current with sdb version changes. * configure.ac: Updated package version to 20050814. This is a temporary version and not a real release number. * scheme/gnet-gsch2pcb.scm: Oops accidentally removed an id tag. 2005-08-02 Ales Hvezda * scheme/gnet-gsch2pcb.scm: Update to Bill Wilson's gsch2pcb version 1.5. 2005-06-12 Stuart Brorson * scheme/gnet-spice-sdb.scm: Changed order of writing out netlist and .model/.subckt cards to facilitate use of numparam with ngspice. 2005-05-16 Stuart Brorson * include/globals.h, src/globals.c, src/parsecmd.c: Incorporated new -e command line flag which forces embedding of .include file's contents into SPICE netlist. 2005-05-16 Stuart Brorson * scheme/gnet-spice-sdb.scm: Modified so that .include doesn't embedd the included file's contents in the SPICE netlist by default. 2005-03-16 Stuart Brorson * scheme/gnet-spice-sdb.scm: fix typo in CCCS. Now usage of Vsense is harmonized. 2005-03-13 Ales Hvezda * configure.ac: Removed all tests for gtk+ 1.2.x and fixed error message if gtk+ 2.2.x is not found. 2005-03-08 Ales Hvezda * configure.ac: Bumped version to 20050313 2005-03-06 Ales Hvezda * src/gnetlist.c: Fixed code to allow user to specify absolute filenames on the command line again. * tests/*: Updated more golden regression files to take into account the package reordering changes. 2005-02-23 Ales Hvezda * tests/*, examples/switcap/example.scn: Updated regression golden files to take into account the package reordering that has occurred because the various guile/gnetlist routines were either replaced or rewritten. No netlist errors detected, just some of the packages were showing up in a different order in the various netlist formats. 2005-02-22 Carlos Nieves Onega * configure.ac, src/gnetlist.c: Removed call to gtk_init(). GDK is now initialized in libgeda if it's a non-graphical app. 2005-02-21 03:09 Dan McMahill * src/gnetlist.c: fix some format string/type mismatch bugs 2005-02-20 Ales Hvezda * scheme/gnet-spice.scm: Removed string by request from the original author. 2005-02-20 Patrick Bernaud * src/gnetlist.c (main_prog): Adapted for new logging system. 2005-02-19 Carlos Nieves Onega * src/globals.c: Added definition of picture_draw_func after adding picture support to libgeda. * configure.ac, src/gnetlist.c: Added call to gtk_init() since gdk-pixbuf needs it if called. 2005-02-16 Carlos Nieves Onega * scheme/gnet-bom.scm, scheme/gnet-bom2.scm, scheme/gnet-redac.scm: Use stdout if the output filename is "-". 2005-02-14 Patrick Bernaud * src/g_netlist.c (g_get_packages): Added two lines missing after yesterday rewrite. 2005-02-13 Patrick Bernaud * src/g_netlist.c (g_get_packages): Rewritten to use a GLib hash table instead of the libgeda s_scratch code. (g_get_non_unique_packages): Cleaned up. 2005-02-12 Ales Hvezda * src/gnetlist.c: Added a chdir back to the starting directory after all the rc files and schematics are loaded. This is done so that the output files from gnetlist go into the expected directory instead of some other schematic directory. This allows "make tests" in gnetlist/tests to work again. * src/gnetlist.c: Changed the size of the cwd directory to be MAXPATHLEN (the correct size). 2005-02-11 Carlos Nieves Onega * scheme/gnet-drc2.scm: Use stdout if the output filename is "-". Updated documentation showing this behaviour. 2005-02-11 Patrick Bernaud * src/gnetlist.c (main_prog): Adapted for new toplevel and page APIs in libgeda. 2005-02-08 Carlos Nieves Onega * scheme/gnet-drc2.scm: Use a parameter instead of the quiet mode of gnetlist so gnetlist doesn't return a non-zero value when there are only warnings. This parameter is 'ignore-warnings-in-return-value'. 2005-02-08 Carlos Nieves Onega * include/globals.h, src/globals.c, src/g_netlist.c, src/parsecmd.c, src/gnetlist.c: Added '-O' option allowing to pass parameters to the backend. 2005-02-04 23:14 danmc * configure.ac, src/g_netlist.c, src/g_rc.c, src/g_register.c, src/globals.c, src/gnetlist.c, src/i_vars.c, src/parsecmd.c, src/s_cpinlist.c, src/s_hierarchy.c, src/s_misc.c, src/s_net.c, src/s_netattrib.c, src/s_netlist.c, src/s_rename.c, src/s_traverse.c, src/vams_misc.c, utils/mk_verilog_syms.c: add support for Electric Fence debugging, enabled by --enable-efence, and dmalloc debugging, enabled by --enable-dmalloc. Both are off by default. 2005-02-04 Patrick Bernaud * src/g_netlist.c, src/gnetlist.c, src/i_vars.c: * src/parsecmd.c, src/s_hierarchy.c, src/s_netattrib.c: * src/s_netlist.c, src/s_traverse.c: Replaced u_basic_strdup() and u_basic_strdup_multiple() by GLib functions. * src/gnetlist.c: Made it use GLib's G_DIR_SEPARATOR* instead of libgeda's *_SEPARATER_*. 2005-02-03 12:49 danmc * scheme/: gnet-PCB.scm, gnet-PCBboard.scm, gnet-allegro.scm, gnet-bae.scm, gnet-bom.scm, gnet-bom2.scm, gnet-drc.scm, gnet-drc2.scm, gnet-eagle.scm, gnet-geda.scm, gnet-gossip.scm, gnet-gsch2pcb.scm, gnet-maxascii.scm, gnet-pads.scm, gnet-partslist-common.scm, gnet-partslist1.scm, gnet-partslist2.scm, gnet-partslist3.scm, gnet-protelII.scm, gnet-redac.scm, gnet-spice-sdb.scm, gnet-spice.scm, gnet-systemc.scm, gnet-tango.scm, gnet-vams.scm, gnet-verilog.scm, gnet-vhdl.scm, gnet-vipec.scm: add RCS Ids 2005-02-01 Patrick Bernaud * src/g_netlist.c: Switched to the new scm interface of guile. 2005-01-29 Patrick Bernaud * src/gnetlist.c (gnetlist_quit): Adapted for new component library code. 2005-01-28 Dan McMahill * scheme/: gnet-futurenet2.scm, gnet-pads.scm, gnet-switcap.scm: use the new gnetlist:build-refdes-aliases and gnetlist:alias-refdes functionality to do a better job of restricting reference designators in the output netlist to ones which are valid for this netlist type. 2005-01-28 Dan McMahill * scheme/gnetlist.scm: Add gnetlist:build-refdes-aliases, gnetlist:alias-refdes, and gnetlist:unalias-refdes functions. These are used to deal with target netlist refdes requirements which may be more restrictive than gschem/gnetlist. A backend uses these by calling gnetlist:build-refdes-aliases at the beginning of netlisting and then gnetlist:alias-refdes whenever printing out the refdes. While here add missing RCS Id. 2005-01-27 Stuart Brorson * src/gnetlist.c: Changes made to enable correct opening of schematics in foreign directories. Changes detailed in libgeda ChangeLog. 2005-01-23 Carlos Nieves Onega * scheme/gnet-drc2.scm: Added check for duplicated references. (above patch applied by Stuart Brorson) 2005-01-22 Ales Hvezda * src/s_traverse.c: Added a output message if a component is missing its symbol file. 2005-01-22 Carlos Nieves Onega * src/g_register.c, src/g_netlist.c, include/prototype.h: Added function g_get_non_unique_packages so backends can get a non-unique list of packages. Useful for DRC checking. * src/g_netlist.c: g_get_slots and g_get_unique_slots functions: If a package has no slots attribute, then assume it's using slot 1. * src/gnetlist.c: Remind the user to check the schematic has no errors using drc2 backend. (above patch applied by Stuart Brorson) 2004-12-28 Stuart Brorson * lib/system-gnetlistrc: Changed to refer to system-gafrc instead of system-commonrc 2004-12-28 Ales Hvezda * scheme/gnet-cascade.scm: Applied patch by Dan McMahill to fix a bug. * docs/README.sysc scheme/gnet-systemc.scm: Added SystemC backend by Jaume Masip * scheme/gnet-eagle.scm scripts/sch2eaglepos.sh docs/README.eagle: Added Eagle PCB scheme backend and cleanup script. The backend and script were written by Braddock Gaskill. * docs/gnetlist.1: Added information on -s (from the usage of gnetlist) * tests/*.spice-sdb: Update various regression files with the new output from spice-sdb 2004-12-27 Ales Hvezda * configure.ac: Updated version to 20041228 2004-08-23 SDB * Added fcns to pass the invoking command line to the Scheme backend as a string. This allows the invoking command to be placed into a SPICE netlist in the first line. Affected files: src/g_register.c, parsecmd.c, globals.c, g_netlist.c, gnetlist.c include/globals.h prototype.h 2004-08-17 Ales Hvezda * scripts/Makefile.am: Removed gschem2pcb from bin_SCRIPTS, as gsch2pcb is now the prefered tool. 2004-07-07 Ales Hvezda * scheme/gnet-spice-sdb.scm: Added Stuart's latest backend * tests/*: Updated some of the golden files to take into account version change string in new spice-sdb backend. 2004-07-03 Ales Hvezda * include/i_vars.h, prototype.h, src/g_rc.c, g_register.c, gnetlist.c, i_vars.c: Removed a whole bunch of rc related code. The removed code was moved into libgeda. * configure.ac: Updated version to 20040710 2004-02-08 Ales Hvezda * src/s_traverse.c: Fixed a broken comment (broken by indent) 2004-01-17 Ales Hvezda * config.h.in: Remove machine generated file. 2004-01-11 Ales Hvezda * configure.ac: Updated version to 20040111 2004-01-06 Ales Hvezda * scheme/gnet-switcap.scm: Applied Dan's 20040105 patch. * docs/Makefile.am: Changed doc install directory readme to readmes 2004-01-04 Ales Hvezda * scheme/gnet-switcap.scm: Applied patch by Dan McMahill to use his new net aliasing (modification) code. * docs/gnetlist.1: Spent a little time updating the man page with at least the current list of backends and all the new command line flags. * tests/gnetlistrc.vhdl, tests/Makefile.am: Added vhdl only gnetlistrc. This was required because the vhdl library was removed from system-commonrc, so this rc file has to put it back. The gnetlistrc.vhdl file is copied to gnetlistrc before any vhdl test is run and then the gnetlistrc file is removed. 2004-01-03 Ales Hvezda * scheme/gnet-gsch2pcb.scm: Upgraded to Bill Wilson's latest version (1.2) * scheme/gnet-PCBboard.scm: Applied patch by Dan McMahill to fix some m4 quoting issues. Thanks. * scheme/gnetlist.scm: Applied patch (20031216) by Dan McMahill to add various scheme functions to handle net name modification for various netlist targets. Thanks. * scheme/futurenet2.scm: Added new backend for futernet2 by Dan McMahill. Thanks. (20031216) * scheme/gnet-pads.scm: Applied patch (20031216) by Dan McMahill to use the new net name modification scheme functions. * tests/powersupply.pads, tests/singlenet.pads: Updated golden files to be current (take into the changes Dan's patches made to the PADS backend) * scheme/gnet-cascade.scm: Added new backend by Dan McMahill. This backend is for driving RF Cascade (http://rfcascade.sourceforge.net) Thanks! * scheme/gnet-redac.scm: Added Racal Redac format backend by W. Kazubski. This format is also used by Cadstar PCB software (at least up to version 4.30 for DOS Thanks! * scripts/gschem2pcb: Applied a patch by Christopher K Eveland to fix a condition where gschem2pcb was picking up a pin when it should not. I don't know if this fix is correct, but somebody will complain if it breaks gschem2pcb. Thanks for the bug fix! 2004-01-01 Ales Hvezda * configure.ac: Added --with-docdir command line flag as well all the code to support installing documentation. Also added a prog check for groff. * docs/Makefile.am: Added code to install all the readme files into the documentation directory. Also added commands to generate an html version of the man page. This html man page gets installed into the documentation directory. * docs/vams/Makefile.am: Added code to install all the text files for the VAMS backend into the documentation directory. * src/Makefile.am, docs/gnetlist.1: Moved man page from the src directory into the docs directory. * docs/gnetlist.1: Minor updates and fixes. 2003-12-31 Ales Hvezda * scheme/gnet-spice-sdb.scm: Updated this backend to version 12.29.2003.c * tests/amp.spice-sdb, darlington.spice-sdb: Updated golden files to the new spice-sdb backend version (version and spaces at the end of certain lines). * tests/multiequal.sch, multiequal.spice-sdb: Added tests to make sure that attributes that have multiple equal signs netlist properly. * configure.ac: Bumped version to 20031231 2003-12-30 Ales Hvezda * scheme/gnet-spice-sdb.scm, gnet-protelII.scm: Replaced with new versions from Stuart Brorson. gnet-spice-sdb.scm has a version of 12.29.2003.b * src/g_netlist.c: Integrated new file from Stuart. This file improved some slot related error reporting and added "include_mode" to g_get_calling_flags(). * src/globals.c, parsecmd.c, include/globals.h: Integrated changes from Stuart. Added the -I command line flag. * scheme/gnetlist.scm: Integrated changes from Stuart. This included a whole bunch of useful scheme functions for dealing with the command line. * tests/amp.spice-sdb, darlington.spice-sdb: Fixed regression golden files to deal with Stuart's new spice-sdb backend. * tests/powersupply.protelII, singlenet.protel: Fixed regression golden files to deal with Stuart's changes to the protelII backend. 2003-12-29 Ales Hvezda * configure.ac: Added checks for gtk+ 2.2.x and 1.2.x. This was needed since the HAS_GTK22 will start to be used in libgeda includes. 2003-11-20 Ales Hvezda * include/i_vars.h, src/g_rc.c, src/i_vars.c, src/g_register.c, include/prototype.h: Added unnamed-netname as a guile rc keyword. This will allow the "unnamed_net" string to be customized from the rc files. * src/s_net.c: Added the necessary code to support unnamed-netname. * lib/system-gnetlistrc.in: Added the default (unnamed-netname "unnamed_net") 2003-11-09 Ales Hvezda * autogen.sh: Added script to generate all the auto* generated files. * config.guess config.sub depcomp install-sh mkinstalldirs missing: Removed machine generated files from CVS. * Makefile.am: Added the above files to be cleaned during maintainer-clean 2003-10-28 Ales Hvezda * src/gnetlist.1: Updated interactive section in man page a little. 2003-10-26 Ales Hvezda * scheme/gnet-drc2.scm, src/g_netlist.c: Applied Carlos' latest drc2 patch. This fixed the slotting check and improved an error message from gnetlist. Minor tweeks by Ales. * scheme/gnet-partslist-common.scm, gnet-partslist1.scm, gnet-partslist2.scm, gnet-partslist3.scm: Applied Stuart's changes to these files. Stuart just added the footprint attribute to the output. * src/s_netattrib.c: Per a user's complaint, fixed the "Got an invalid net= attribute" to be a little more verbose. 2003-10-22 Ales Hvezda * src/gnetlist.1: Fixed wrong command line option (-r is not a valid option). Pointed out by Stuart. * tests/hierarchy/*.sch *.sym: Updated to the latest sch/sym file format. 2003-10-19 Ales Hvezda * src/vams_misc.c: Fixed up a call to o_attrib_get_name_value to use the new function signature. * src/g_rc.nw: Added the words optional and required to the *rc log find messages. * src/s_rename.c, src/s_net.c, src/s_traverse.c: Removed all // comments (replaced with C comments). 2003-10-18 Ales Hvezda * examples/*.sch: Updated all example schematics * configure.ac: Updated version to something more recent, but this version is not an official release. 2003-10-04 Ales Hvezda * configure.ac: Updated version to something more recent, but this version is not an official release. 2003-10-02 Ales Hvezda * scheme/gnet-gsch2pcb.scm: Replaced file with one from Bill Wilson's gsch2pcb-1.0.1. This fixes a guile-1.6 problem. 2003-09-27 Ales Hvezda * scheme/gnet-gsch2pcb.scm: Replaced file with one from Bill Wilson's gsch2pcb-1.0. 2003-09-20 Ales Hvezda * configure.ac: Fixed MinGW cflags/ldflags * auto* files: Updated to autoconf 2.57 and automake 1.7.6 2003-09-01 Ales Hvezda * scheme/gnet-spice-sdb.scm, include/globals.h, include/prototype.h, src/g_netlist.c, src/g_register.c, src/globals.c, src/parsecmd.c: Applied Stuart's latest changes to the spice-sdb netlister and added the -s command line flag as well as gnetlist:get-calling-flags scheme function. * tests/amp.spice-sdb, darlington.spice-sdb: Updated tests files based on changes to the spice-sdb backend changes (mainly date). 2003-08-31 Ales Hvezda * configure.ac: Changed AC_CONFIG_HEADER to AM_CONFIG_HEADER * tests/stack.geda: Updated test files since one of the symbols got a missing power/gnd net. * examples/*.sch, tests/*.sch: Updated schematic files to 20030901 * scheme/Makefile.am, scheme/gnet-gsch2pcb.scm: Added new PCB helper backend written by Bill Wilson 2003-08-24 Ales Hvezda * scripts/gschem2pcb: Moved script into this directory from src/ * configure.ac: Removed redundant tests (gtk+, guile) and improved the configuration summary message. 2003-08-23 Ales Hvezda * include/globals.h, src/globals.c, src/gnetlist.c, src/parsecmd.c: Added the -m flag which allows the user to specify scheme code after the backend is loaded, but before the guile procedure is executed. * src/parsecmd.c: Cleaned up help message a little. * src/gnetlist.1: Updated manpage a little 2003-07-20 Ales Hvezda * configure.ac: Renamed from configure.in. * configure.ac: Bunch of cleanup to start using pkg-config for all libraries. Unfortunately, gnetlist now links against libgtk*. I might fix that in the future. * *.in, *.h, etc: Removed a bunch of old unneeded auto* files. 2003-07-06 Ales Hvezda * src/g_netlist.c, gnetlist.c: Applied Carlos Nieves Onega's warning cleanup patch. 2003-06-22 Ales Hvezda * include/prototype.h, scheme/Makefile.am, scheme/gnet-drc2.scm src/g_netlist.c src/g_register.c: Integrated Carlos Nieves Onega's drc2 backend. Thanks. * src/g_netlist.c: Renamed the newly added guile functions a little. (removed the "*used-of-package" string; just for consistancy with the other guile functions). 2003-06-14 Ales Hvezda * include/globals.h, src/globals.c, src/gnetlist.c, src/parsecmd.c: Applied Carlos Nieves Onega's -l load scheme patch. Thanks. * src/gnetlist.1: Updated manpage with new -l flag 2003-05-25 Ales Hvezda * src/s_traverse.c, src/s_netlist.c: Renamed a couple forgotten uref's to refdes. * src/s_cpinlist.c: Added #include 2003-05-22 Ales Hvezda * configure.in: Updated version * examples/*.sch: Updated to latest file version 2003-05-13 Ales Hvezda * src/gnetlist.1: Applied man page patch by Dan McMahill. * scheme/gnet-spice-sdb.scm: Integrated bug fix patch from Stuart Brorson (for .OPTION handling). 2003-04-27 Ales Hvezda * configure.in, docs/Makefile.am, docs/README.switcap, examples/Makefile.am, examples/switchcap/, scheme/Makefile.am, scheme/gnet-switchcap, scripts/Makefile.am, scripts/sw2asc.in: Integrated Dan McMahill's switcap backend * scheme/Makefile.am, scheme/gnet-spice-sdb.scm, src/gnetlist.c: Integrated Stuart Brorson's advanced spice backend. * tests/: added some regression tests for the new backends 2003-03-09 Ales Hvezda * scheme/gnet-PCBboard.scm: Removed a "(false-if-exception ...) so that this backend works with guile 1.6.3. Patch by Dan McMahill. 2003-02-20 Ales Hvezda * examples/vams/commonrc: Changed how the current directory variable is set (used "'s instead of '). * src/gnetlist.c: Applied patchlet from Steve Tell for disabling the guile 1.6.3 deprecated warnings. * README: Added note suggestion by Steve Tell about warning users that deprecated guile warnings are turned off. 2003-02-18 Ales Hvezda * configure.in: Bumped version to 20030223 * tests/singlenet.pads: Updated test file with new fixes to the pads backend. 2003-02-06 Ales Hvezda * configure.in: Applied Gabriel Paubert's warning reducing patch with a few minor mods. 2003-01-26 Ales Hvezda * scheme/gnet-pads.scm: Oops, managed to break the pads backend. Fixed a "footprint" which really should have stayed at "pattern". * configure.in: Changed -fnative-struct to -mms-bitfields for gcc 3.2 mingw compiler (older mingw compilers are no longer supported) 2003-01-11 Ales Hvezda * Makefile.am: Fixed the distclean-local target. 2002-12-29 Ales Hvezda * scripts/annotate.sh, unannotate.sh: Oops, forgot to change a bunch of uref= attributes to refdes=. These scripts now work. 2002-11-30 Ales Hvezda * lib/system-gnetlistrc.in: Changed the variable names which hold the paths to the data and rc directories. * scheme/gnet-partslist[1|2|3].scm: Fixed another bug reported by Koichi Nagashima (via debian bugs) where the common partslist scm file wasn't being found if --with-rcdir was specified (as the debian packages do). * aclocal.m4: Removed file from cvs. * examples/vams/*.sym|sch: Ran gsymupdate/gschupdate on all vams example files * scheme/gnet-vams.scm: Fixed a type which prevented "gn" and "ge" within gschem to work. 2002-11-23 Ales Hvezda * scheme/gnet-partslist[1,2,3].scm: Fixed bug reported by Koichi Nagashima (via Debian bugs). There was a load in the file which needed to know where to look. 2002-11-03 Ales Hvezda * configure.in: Updated version to 20021103 (an official version) * tests/*: Updated netlists to take into account fixes to the symbols. 2002-10-31 Ales Hvezda * docs/gnetlist.txt: Move this file to ../docs/gnetlist 2002-10-29 Ales Hvezda * scheme/gnet-maxascii.scm, scheme/gnet-pads.scm, scheme/gnet-tango.scm: Changed obsolete "pattern" to "footprint". Pointed out by Antonio A Todo Bom. 2002-10-28 Ales Hvezda * configure.in: Bumped version to 20021031 2002-10-27 Ales Hvezda * configure and friends: Ran "autoreconf --force --install -v" to really upgrade to the auto* tools. 2002-10-19 Ales Hvezda * configure.in, *.m4: Upgraded to automake 1.7.1 and autoconf 2.54 2002-10-17 Ales Hvezda * tests/stack.geda: Updated original netlist to take into account Werner's work on the symbols. 2002-09-22 Ales Hvezda * configure.in: Bumped version to 20020922, which is NOT a release. 2002-09-16 Ales Hvezda * src/Makefile.am: Removed s_project.c from the list of source files. This functionality is now provided by libgeda * tests/*: Updated test output to take into account the changes that Werner Hoch has been making to the symbol library. * src/i_var.c: header comment update * src/s_project.c: Obsoleted file. This file is no longer in use. * src/globals.c: Added variable_set_func and quit_func. These are used by libgeda and gnetlist. 2002-09-11 Ales Hvezda * scheme/gnet-bom.scm, gnet-bom2.scm, gnet-drc.scm, gnet-partslist1.scm, gnet-partslist2.scm, gnet-partslist3.scm: Added a missing `close-output-port' to each of these backends. Output would not be written to the port if the port wasn't closed (affects the win32 port mainly). 2002-08-25 Ales Hvezda * noweb/*.nw: Cleaned up -Wall warnings 2002-08-12 Ales Hvezda * examples/singlenet_1.sch: Move testing schematic to tests/ * tests/*.sch: Renamed schematics to get rid of _1 suffix * scheme/gnet-vhdl.scm: Missed a "type" -> "pintype" conversion. Fixed * tests/hierarchy/: Added new tests for hierarchy verification 2002-07-14 Ales Hvezda * src/s_traverse.c, s_net.c: Added back some code to search for the label= attribute. Users should not use the label= attribute anymore. Also, gnetlist prints out a warning message if it finds an old label= attribute. * src/g_netlist.c: Removed an obsolete function. * src/s_traverse.c, s_net.c, utils/mk_verilog_syms.c: Changed all user visible references of uref to refdes * scheme/gnet-partslist-common.scm, gnet-partslist1.scm gnet-partslist2.scm gnet-partslist3.scm: Changed all references of uref to refdes 2002-07-07 Ales Hvezda * src/gschem2pcb: Intergrated patch from Dan McMahill to make this script a lot more portable (replacing long options with short ones, gawk->awk, bash->sh) * src/s_project.c: Disabled all the draw events as gnetlist doesn't do any drawing * examples/*.sch, tests/*.sch: Updated sch to use the new netname= attribute instead of label= (which is now obsolete) * lib/system-gschemrc.in, src/g_rc.c: Changed net-naming-priority parameters to start moving away from label= and instead start using netname= * src/g_netlist.c, g_register.c: Renamed gnetlist:get-pin-attribute to gnetlist:get-attribute-by-pinseq * src/g_netlist.c, g_register.c: Renamed gnetlist:get-pin-attribute2 to gnetlist:get-attribute-by-pinnumber * scheme/gnet-gossip.scm, gnet-spice.scm, gnet-vams.scm, gnet-vhdl.scm, gnet-vipec.scm: Updated based on above renames * src/s_traverse.c, s_net.c: Renamed all instances of label= to netname= 2002-07-06 Ales Hvezda * configure.in, Makefile.am: Upgraded to automake 1.6.2 2002-07-05 Ales Hvezda * lib/system-gnetlistrc.in: Fixed the load of the commonrc file to work with --with-rcdir again. * src/g_netlist.c, g_register.c: Renamed gnetlist:get-pin-attribute to gnetlist:get-pin-attribute2 * src/g_netlist.c, g_register.c: Renamed gnetlist:get-pin-attribute-seq to gnetlist:get-pin-attribute * scheme/gnet-gossip.scm, gnet-spice.scm, gnet-vams.scm, gnet-vhdl.scm, gnet-vipec.scm: Update code to reflect above renames 2002-06-21 Ales Hvezda * src/s_hierarchy.c: Updated all u_basic_breakup_string calls 2002-06-20 Ales Hvezda * src/s_rename.c: Added patch by Bryce Denney to fix an infinite loop caused by changing a for index inside of the loop (not a good idea). Patch also added a check to make sure we don't exceed a fixed limit of rename pairs. Thanks for the patch! * src/s_net.c, s_traverse.c: Replaced the o_attribute_search_name_partial nonsense with the new scheme. gnetlist now builds again. * src/g_netlist.c, g_register.c: Added g_get_pin_attribute_seq scheme function. This function takes a uref, a pin seq number, and a desired attribute and returns the value of the desired attribute (if it is found), else returns "unknown". * scheme/gnet-spice.scm: Started the cleanup in getting the spice backend to use the new slot/pin numbering attributes. Initial tests seem to indicate that it does work for very basic schematics. * scheme/gnet-vipec.scm: Minor work on getting this working too. 2002-06-09 Ales Hvezda * src/g_rc.c, gnetlist.c: Added a call to u_basic_strip_trailing to fix the network timeout problem on WinME 2002-05-27 Ales Hvezda * lib/system-gnetlistrc.in: Fixed incorrect environment variable name "GEDADATARC" to be GEDADATA. * src/g_rc.c, g_register.c, i_vars.c, s_project.c: Added the missing bitmap-directory keyword * src/Makefile.am: Added proto target (for making prototype.h) * src/g_rc.c: A few more fixes for the mingw32 port. 2002-04-08 Ales Hvezda * src/g_rc.c: Missed a few hardcoded /'s, fixed. * configure.in: Changed the function which is search for libpng. This was needed for the win32 port. 2002-04-03 Ales Hvezda * configure.in and friends: More work on getting the upgrade of autoconf, automake, and libtool to behave correctly. * configure.in: Added PATHSEP variable which holds the proper path separater depending on the platform. * lib/system-*.in: Work on getting rc files to use above variable. 2002-04-01 Ales Hvezda * configure.in: Added -liberty for the Mingw32 port * src/g_rc.c: Used new path separater #defines in a few sprintf/u_strdup_multiple * configure.in and friends: Upgraded to autoconf 2.53, libtool 1.5, and automake 1.5. Lots of changes in various places for this upgrade. 2002-02-24 Ales Hvezda * configure.in, config.h.in: Added a few checks for some non-portable #includes * configure.in: Added checks for mingw32 and disabled the cygwin port 2002-02-18 Ales Hvezda * src/Makefile.am utils/Makefile.am: Andrew Dyer found a GUILE_* bug. Fixed. * configure.in: Removed all trace of GUILE_LIB and GUILE_INCLUDE 2002-02-09 Ales Hvezda * src/s_project.c: Made sure to init show_hidden_text to 0. 2002-01-27 Ales Hvezda * scheme/gnet-PCBboard.scm: put in the fix from Rich Walker about pcb not finding certain components. Also seems to fix the space problem in the footprint attribute. 2002-01-08 Stefan Petersen * scheme/gnet-pads.scm, scheme/gnet-PCB.scm : display-connections functions rewritten to non-recursive since it caused guile stack overflow when the schematics grew very big. 2002-01-07 Ales Hvezda * scheme/gnet-maxascii.scm: Checked in new backed by Dave Lawrence 2001-07-26 Stefan Petersen * scheme/gnetlist.scm, scheme/gnet-pads.scm, scheme/gnet-PCB.scm: gnetlist:wrap now accepts character(s) to terminate line with. Suggested by Roger Williams since PADS didn't like lines ending with \. 2001-07-22 Ales Hvezda * configure.in, src/gnetlist.c, src/g_rc.c: Cleanup and added the ability to have the rc files in a different location using --with-rcdir (was broken recently, now fixed) * src/gnetlist.c, src/g_rc.c: More work on getting above to work completely. * src/gnetlist.c, i_vars.c, parsecmd.c, s_net.c, s_rename.c: Added patch by Dan Mcmahill for 64-bit architectures. 2001-07-20 Ales Hvezda * configure.in, aclocal.m4: got configure script to be more like gschem wrt the guile detection 2001-07-19 Ales Hvezda * configure.in: Fixed all the LDFLAGS to be correct (and only link the libraries once) * configure.in: Bumped up version to 20010722 * configure.in: More updates to get cygwin to build right * src/Makefile.am: Changed the order in which things are linked (guile last) 2001-07-07 Ales Hvezda * scripts/bompp.sh: Added bom pretty printer written by Rolf Fiedler * scripts/annotate.sh: Added script written by JM Routoure and modified by Rolf Fiedler * src/unannotate.sh: Added script written by Rolf Fiedler * src/bom_xref.sh: Added script written by Rolf Fiedler 2001-07-06 Ales Hvezda * scheme/gnet-partlist*.scm: Added part list netlist backend written by MIYAMOTO Takanori 2001-07-05 Ales Hvezda * src/gnetlist.c: Removed the "This is alpha software" message and added the standard gpl/gnu software message 2001-07-01 Ales Hvezda * configure.in: Make sure configure scripts work with autoconf-2.50 (had to fix cygwin check), they do not yet work with 2.50 * Removed all trace of libtool from gnetlist, not required to build 2001-06-15 Ales Hvezda * src/s_traverse.c: Added an if check so that buses are ignored (once again). 2001-06-11 Ales Hvezda * src/gnetlist.c: Oops forgot to call libgeda_init, added call * src/i_vars.c: Added code to prevent gnetlist dumping core if the system-gnetlistrc file is not found 2001-06-10 Ales Hvezda * src/g_rc.c: Changed g_rc_parse_system to use the GEDADATA environment variable * lib/system-gnetlistrc.in: Added support for GEDADATA 2001-03-18 Ales Hvezda * Removed all Makefile.in files and configure 2001-03-17 Ales Hvezda * Got make dist and make distcheck working (means all files which are in CVS are in some Makefile) * configure.in, acconfig.h: unfortunately libgdgeda and stroke are required for linking, so they MUST be inside these files * configure.in: Added DATADIR instead of PACKAGE 2001-03-06 Stefan Petersen * configure.in, acconfig.h: In the spirit of yesterday I removed every trace of stroke and libgdgeda. 2001-03-06 Stefan Petersen * configure.in: Fixed typo and removed some hard coded libraries. Patch and suggestion from Bruno Schwander. 2001-03-04 Ales Hvezda * scheme/gnet-vhdl.scm: Integrate Thomas Heidel's VHDL bug fixes (to generate better VHDL output) * configure.in: Updated version * configure.in: Added a check to make sure libgeda-config and gesym-config are the right version 2001-03-01 Ales Hvezda * src/*.c: Misc -Wall warnings cleaned up Part of this cleanup found some warnings which could have lead to core dumper bugs. * tests/Makefile.am: Fixed location of my test schematics * tests/amp_1.spice: Updated regression test to take into account Bas' latest spice backend changes 2001-02-25 Ales Hvezda * src/s_netattrib.c: Added some if (... == NULL) checks to prevent some core dumps (original bug pointed out by Wolfgang Buesser) * scheme/gnet-spice.scm: Integrated Bas Gieltjes' latest changes to his netlist backend 2001-02-23 Ales Hvezda * src/s_hierarchy.c: Fixed the nasty bug which was caused by my replacing the rc system to be like gschem. Basically schematics were being loaded so that there was only ONE copy in memory at all times. This is not how gnetlist works. Each hierarchical schematic must be uniq in memory. Fixed it by changing libgeda's s_hierarchy_down_schematic_single to take a normal or force flag. 2001-02-17 Ales Hvezda * src/s_traverse.c: Got all the traverse functions to use the new connection system * src/g_rc.c, i_vars.c: Replaced rc system to be almost exactly the same as gschem's * lib/system-gnetlistrc.in: Updates to this file to take into account about changes * include/i_vars.h: Updated file to take into account above changes 2001-01-30 Ales Hvezda * src/s_traverse.c: Fixed the graphical=1 test so that the outside of the component is also looked at for this attribute 2001-01-27 Ales Hvezda * src/s_rename.c: Due to a bug in how the s_rename_* routines are being used, you cannot get the renamed names, added code to properly mux several sets of rename pairs. * src/s_hierarchy.c: Changed the s_rename_destroy to use s_rename_next_set (instead of destroying, go to the next set) * src/gnetlist.c: Changed s_rename_destroy to s_rename_destroy_all * tests/netattrib_1*: Added a test schematic and valid netlist to the tests 2001-01-26 Ales Hvezda * src/s_net.c, s_rename.c: More work on getting the rename of two same named nets working. 2001-01-25 Ales Hvezda * src/s_net.c: Added some code which will rename nets which are named twice. This code needs to be examined again to make sure this is the right way of doing this. 2001-01-17 Stefan Petersen * scheme/gnet-bom.scm, scheme/gnet-bom2.scm: Improved the parseconfig procedure. More stable(?) and more PC. 2001-01-15 Ales Hvezda * src/s_cpinlist.c: Fixed core dumper when pin doesn't have the required pin#=# attributed. (Pointed out by Matt, fixed by Stefan) 2000-12-22 Ales Hvezda * scheme/gnet-vams.scm: Fixed a minor bug which was uncovered by Stefan's stricter error checking in g_netlist.c 2000-12-14 Ales Hvezda * tests/*: removed some tests since they put version information into the files which caues the tests to fail. * tests/*: Added some more very simple tests (using singlenet_1.sch) 2000-12-17 Stefan Petersen * src/gnetlist.c: Changed the repl to Guile built in one. Better error handling, work like Guile and so on. * src/g_netlist.c, src/vams_misc.c: Added inparameter check on all Guile routines (SCM_ASSERT(...)). 2000-12-14 Ales Hvezda * examples/vams/gschemrc: Added one line suggested by Stefan to get the keymapping stuff working 100% with keymap redefinition. 2000-12-13 Ales Hvezda * configure.in: Added -lregex for CYGWIN32 build 2000-12-12 Ales Hvezda * scheme/gnet-vams.scm: Finally found the time to finish getting this backend working with guile 1.4 (using the fixes Eduard provided) 2000-12-07 Ales Hvezda * src/s_project.c: Removed obsolete DONT_REDRAW var from code 2000-12-03 Ales Hvezda * configure.in: Slightly rearranged things to make cygwin port happy 2000-12-02 Ales Hvezda * src/gnetlist.c: Changed Cygwin warning message * src/g_rc.c: Updated an #if to work with the current cygwin 2000-11-30 Ales Hvezda * configure.in: Added -fnative-struct flag for CYGWIN port only * configure.in: Added --enable-debug flag to enable -g flag 2000-11-16 Ales Hvezda * src/s_traverse.c: Move s_traverse_nethash_build to libgeda * src/s_traverse.c: Renamed all o_nethash functions to s_nethash (in accordance to the changes made in libgeda) 2000-11-12 Ales Hvezda * src/*.c: Fixed the misspelling of separator (pointed out by Stefan) 2000-11-04 Ales Hvezda * scheme/gnet-vhdl.scm: Renamed this file to gnet-vhdlold.scm * scheme/gnet-vhdl.scm: Put this file back as gnet-vhdl.scm (undid above) * docs/: Created documentation directory and moved all README.* files into this directory * docs/vams: Created directory, added vams documentation * examples/vams/: Created directory, moved the example vams design into this directory (written by Eduard Moser and Martin Lehmann) * scheme/gnet-vams.scm: Added scheme backend code (update Makefile.am) (written by Eduard Moser and Martin Lehmann) * src/g_register.c: Added register call for gnetlist:vams-get-package-attributes * src/vams_misc.c: Added file to support vams backend (updated Makefile.am) (written by Eduard Moser and Martin Lehmann) * examples/vams/*: Misc updates to the example files * docs/gnetlist.txt: Moved file into docs directory * src/s_hierarchy.c: Fixed a minor bug in hierarchy-uref-order and prepend mode: had to unmangle names using this flag as a parameter (so that the right uref basename was used). 2000-11-03 Ales Hvezda * src/gnetlist.1: Updated manual with all the various backend formats 2000-11-02 Ales Hvezda * src/s_netlist.c: Added another call to a post process routine (the routine to remove the uref mangling if that's enabled via rc keyword) * src/s_hierarchy.c: Added s_hierarchy_remove_uref_mangling * src/s_hierarchy.c: Got hierarchy_uref_rename working right. * src/*.c: Renamed "rename" to "mangle" (mainly keyword and variable changes) * src/g_rc.c and friends: Added the following keywords: hierarchy-netname-seperator hierarchy-uref-seperator hierarchy-netattrib-seperator hierarchy-uref-order hierarchy-netname-order hierarchy-netattrib-order * src/*.c: Wrote the code to use the above new keywords * src/g_rc.c: Finally migrated a change from the gschem/src/g_rc.c which fixes a core dump if you mess up a value for a keyword. (pass true size of the lookup table in RETURN_G_RC_MODE) * src/s_hierarchy.c: Put some verbose print in for the uref demangling code 2000-11-02 Stefan Petersen * scheme/gnet-pads.scm: Wrapper function applied after request from Roger Williams. * scheme/gnet-*.scm: Updated copyright. 2000-10-31 Ales Hvezda * src/gnetlist.c: Change the if(f_open...) calls to properly deal with returned value from f_open * src/s_hierarchy.c: Divided up s_hierarchy_create_name into s_hierarchy_create_netname, s_hierarchy_create_uref, and s_hierarchy_create_netattrib functions * src/*.c: Removed all calls to s_hierarchy_create_name and started using the new name * src/g_rc.c and friends: Added several keywords: hierarchy-traversal, hierarchy-uref-rename, hierarchy-netname-rename, hierarchy-netattrib-rename * src/*.c: Removed some old #if 0 code * src/*.c: Unfortunately some functions needed the pr_current pointer, so had to change all instances to pass this pointer in 2000-10-31 Stefan Petersen * scheme/gnetlist.scm: Cleaned up and renamed split gnetlist:wrap. * scheme/gnet-PCB.scm: Now PCB-backend uses wrap function above. Was reported as a bug by Russ Dill. 2000-10-29 Ales Hvezda * src/s_netattrib.c: Got net= attribute to use the hierarchy tag when a net= is found in some underlying schematic. * src/s_hierarchy.c: Created s_hierarchy_create_name which creates properly structured hierarchy named things * src/s_traverse.c and others: All the places where hierarchy names are created now use above new function 2000-10-23 Ales Hvezda * src/s_rename.c: Was freeing some memory which was being used else where, oops, created a memory leak by not freeing memory. * src/s_traverse.c: Move hierarchy traverse code into s_hierarchy * src/s_misc.c: New file, currently contains verbose_* functions * src/s_netlist.c, s_traverse.c: Used some of the above newly created functions from s_misc.c * src/s_netlist.c: Reformated file to with indent * src/s_rename.c: Properly reset the rename_counter to be zero. * src/s_rename.c: Modified s_rename_add to properly deal with the case where you might have mutiple overlapping renames (which occurs when you have more than one level of hierarchy) * src/s_rename.c: Ran file through indent 2000-10-22 Ales Hvezda * src/gnetlist.c: Removed extra compare to f_open calls so it works with the changes Stefan made in libgeda * src/create_proto: Updated it the the latest version * src/s_traverse.c: Removed a lot of redundant code (made possible by the recent libgeda structure changes) * src/s_hierarchy.c: Added new file which contains post processing for hierarchy support * src/*.c: Extensive work to get hierarchy support, modified almost every file * src/s_traverse.c s_hierarchy.c: Started using indent (gnu mode) 2000-10-12 Stefan Petersen * src/gnetlist.c: Fixed a screw up that made gnetlist fail compiling. 2000-10-10 Stefan Petersen * src/gnetlist.c: Honours the error code returned from f_open from now on and tells invoker it didn't find the file. 2000-10-07 Ales Hvezda * configure.in: Removed an old GTK+ test which is no longer used 2000-10-06 Ales Hvezda * src/s_traverse.c: Changed the code which reports if a uref is missing or not. Should be a little better, but might falsely report missing urefs * src/gnetlist.c: Changed CYGWIN32 warning message 2000-10-04 Ales Hvezda * src/s_net.c: Fixed a lame error message to be a little more descripting (when you forget uref or pin number attributes) 2000-08-21 Ales Hvezda * src/*.c: Got gnetlist to build with all the libgeda modifications 2000-07-12 Matt Ettus * Fixed autoconf/automake stuff to install protel and bae backends * scheme/gnetlist.scm: New function get-component-text to look for value, label, and device text in that order * scheme/gnet-allegro.scm: Use the above function 2000-07-06 Ales Hvezda * configure.in: Bumped version up to 20000704a so people know they have applied the 20000704a patch correctly. 2000-07-05 Ales Hvezda * scheme/gnet-bae.scm, scheme/gnet-pads.scm, scheme/gnet-protelII.scm: These files still referenced the "physical" attribute, when instead it should be "footprint" * src/s_traverse.c: Because of my overloading of the "label=" attribute it was possible for a pin to supply a label to net, which is a big no-no (bug). Fixed by checking to make sure object is not a pin. 2000-07-04 Ales Hvezda * src/*.c: Updated copyright info in each file * src/*.c: Changed all GNU to GPL in the appropriate places * configure.in: Bumped version up to 20000704 * src/g_rc.c: Added an #if around #include to make Cygwin builds work * tests/test_verilog.verilog, tests/7447.verilog: Updated to reflect new backend revision (must not have done it right the last time) * src/*.c: Fixed all warnings 2000-06-27 Ales Hvezda * src/g_rc.c, src/g_register.c: Added component-library-search and source-library-search rc keywords * tests/test_verilog.verilog, tests/7447.verilog: Updated to reflect new backend revision * configure.in: Put in checks for gtk+ and glib 1.2.3 2000-06-15 Matt Ettus * Added scheme/gnet-pads.scm by Roger 2000-06-11 Ales Hvezda * src/parsecmd.c: Added the -c flag which allows you to execute arbitrary strings from the command line * src/gnetlist.1: Update the manual page for above 2000-06-04 Ales Hvezda * tests/*.verilog: Updated baseline verilog tests cases to take into account latest test_verilog.sch and 7447.sch 2000-06-01 Ales Hvezda * src/s_project.c: Added init of some important variables which libgeda uses when promoting attributes. The attribute promotion code is almost completely disabled through these defaults * tests/*.verilog: Updated baseline verilog tests cases to include Mike's header addition * scheme/gnet-verilog.scm: Added a missing newline in netlist header 2000-04-26 Stefan Petersen * Added gnet-protelII.scm (for Protel2) and gnet-bae.scm (for Bartels Autoengineer) to the ever increasing list of contributed backends for gnetlist. Contributed by Rolf Fiedler 2000-04-21 Ales Hvezda * */*: Removed all traces of the physical attribute. This attribute is now called footprint 2000-04-20 Ales Hvezda * scheme/gnetlist.scm: Added useful scheme functions by Andrew Bardsley 2000-04-15 Ales Hvezda * src/g_netlist.c: Added g_get_pin_attribute which given a uref, a pin number, and a wanted attribute returns the value. * src/create_proto: Updated prototype.h creation script to use gtk/glib paths from my machine (installed in /usr/local ...) * src/g_register.c: Added entry for g_get_pin_attribute 2000-02-19 Ales Hvezda * README/INSTALL: Updated files to reflect next release * src/*.c: Fixed all warnings (using -Wall -Werror) * tests/*.verilog *.vhdl: Updated stored output to be current (so that the tests pass) * src/gnetlist.c: Minor type change (so that it work on PPC) Thanks to njh for pointing this out. 2000-02-07 Ales Hvezda * scheme/gnet-spice.scm: Updated file with Bas' patch to allow the use of the uref=include... mechanism, see for more info: http://www.geda.seul.org/mailinglist/geda-dev25/msg00113.html 2000-02-04 Stefan Petersen * scheme/gnet-PCBboard.scm: Fixed (hopefully) guile version incompatibilities in module popen (didn't exist before 1.3.2) 2000-01-25 Matt Ettus * scheme/gnet-PCBboard.scm: Added JM's code * autoconf and automake stuff updated for the above. * src/gschem2pcb: Added. This will hopefully be integrated directly, soon. * README.pcb: Info on usage for above 2000-01-24 Ales Hvezda * src/g_netlist.c: Fixed g_get_packages to properly return ALL packages of ALL loaded schematics (basically switch to an previous attempt, and folding in any improvements the new version had) 1999-10-19 Matt Ettus * scheme/gnet-vipec.scm: Fixed ground node handling, some code cleaning. * scheme/gnet-bom.scm: Removed references to strip1. Thanks Stefan. * scheme/gnetlist.scm: Removed strip1, added ground handling for number-nets function. 1999-10-17 Ales Hvezda * src/*.c: Changed all files to use the new libgeda/libgeda.h include 1999-10-11 Ales Hvezda * scheme/*.scm: Removed all gnetlist:set-netlist-mode * src/g_register.c: Removed register call to gnetlist:set-netlist-mode * src/g_netlist.c: Removed gnetlist:set-netlist-mode * scheme/gnet-spice.scm: Integrated latest spice backend by Bas Gieltjes * tests/: Created directory to hold gnetlist tests * tests/*: Populated tests directory with output from correct netlist runs 1999-10-10 Ales Hvezda * gnetlist/gnetlist.c: Fixed up s_log_init to use the new prototype 1999-10-09 Ales Hvezda * examples/test.sch: Renamed (replaced) test_verilog.sch * examples/test_verilog.sch: Translated it away from borders * examples/7447.sch: Translated it away from borders 1999-10-06 Ales Hvezda * scheme/gnetlist.scm: Fixed a dangling reference to bom:strip1 (changed to strip1) 1999-10-06 Matthew Ettus * scheme/gnet-vipec.scm: New file, not functional yet. * scheme/gnet-PCB.scm: Cleaned up functions, moved common ones to main gnetlist.scm file. * scheme/gnet-allegro.scm: Clean up, remove dead code * scheme/gnet-bom.scm: Clean up, remove dead code 1999-10-04 Magnus Danielson * scheme/gnet-vhdl.scm: Finally fixed the write-port-clause stuff. This is now splitted into three routines which forms a much better basis for further development and also fixes the bugs which occurs if any or more of the in, out and inout sublists happends to be empty. Stuck in support for signal type. 1999-10-03 Ales Hvezda * In all *.c included define.h before struct.h 1999-09-28 Magnus Danielson * scheme/gnet-vhdl.scm: Fixed bug with no ports to entity. 9/25/99 Integrated Magnus's latest VHDL backend .scm code 9/23/99 Split up gnetlist.scm into seperate files. The basic functions will live gnetlist.scm while the individual backends will be in gnet-*.scm Made some changes to the code so that the right backend *.scm code is loaded when appropriate Integrated Magnus Danielson's VHDL backend 9/19/99 Make sure gnetlist runs with guile-1.3.2a Fixed all warnings 9/17/99 Fixed that really nasty bug/problem that dealt with loading up multiple sheets (see below). The postprocess was happening too early and was for some odd reason nuking previously post processed nets. 9/16/99 Finally integrated Bas Gieltjes's latest spice netlist (sorry about the delay) (this basically consisted of adding the code to gnetlist.scm) I'm not 100% this still works with the current gnetlist, especially the new net= attribute Added code in gnetlist.c to only load up schematics which haven't been loaded already Found a NASTY bug/problem when you try to load up more than one schematic sheet with gnetlist. Added a line in s_traverse_start which should have helped, but problem/bug still exists 9/14/99 Integrated Matt Ettus's Allegro and PCB gnetlist backends. Thanks! Updated man page to reflect the backends 9/12/99 Fixed a netlist print function to that it doesn't try to print valid null strings Fixed up s_net_name_search so that it tells the user if a multiple named net is found Implemented the concept of net name priority (net_name_has_priority) which controls which name has the highest priority. Added net-naming-priority keyword which controls which attribute (either net= or label= ) has priority when both are attached to a net Added i_vars.c which containes the rc mode init funcs which are used by Kazu's rc mode functions More work on getting net= attribute to override previously defined pins (all controlled through net-naming-priority) Removed some obsolete #if 0'd out code from s_net.c Added s_rename.c which contains all the code to handle the renaming (aliasing) of net names. Integrated s_rename functions into the code Fixed a bug in s_netattrib_net_search where the outside of the component wasn't being search for overriding net= attributes Fixed s_netlist_post_process, (the net naming), to only name nets of components which have a uref. Components which don't have a uref are power/gnd/special components Updated verbose legend to include the R (rename of nets) Added gnetlist:get-renamed-nets which takes a dummy parameter and returns a list of lists (which contain src -> destination net renaming pairs) Updated the geda netlist backend to output the above renaming list pairs into the netlist file as a new section 9/11/99 Created s_netattrib.c which contains all the code to handle the net= attribute 9/7/99 Start work on getting the net= attribute to work 9/5/99 Moved test_verilog.sch into the examples directory (from gschem/examples) 9/3/99 Fixed a nasty stupid bug in the nethash datastructure creation, used a constant instead of the pound define 8/31/99 Renamed ntext to text (finally) Fixed g_rc.c to work on WinNT 8/30/99 Renamed all ales to conn and ALES to CONN 8/27/99 Set the program version to 19990829 to force Ales to release on the 29th :) Updated all *.c and *.h files to have the right address for the FSF in the copyright/licence header 8/19/99 Updated Matt Ettus's BOM backend with thi's formatting changes 8/17/99 Added some bus related globals. 8/11/99 Added the real code to implement gnetlist:get-toplevel-attribute Integrated Matt Ettus's bill of material code (cool stuff!) 8/8/99 Moved mk_verilog_syms to utils (created utils and Makefile.am) Minor updates to example schematics since I renamed some of the verilog symbols to have the -1 prefix. 8/5/99 Added some stuff to configure.in for win32 builds 8/3/99 Updated libtool to 1.3.3 Integrated Mike Jarabek latest verilog backend - Patched g_netlist.c - Patched g_register.c - Patched gnetlist.scm - Added examples/sch/*.sch to examples - Added mk_verilog_syms to src - Added symbols to ../symbols 8/2/99 Added g_netlist_get_attribute, which allows you go find any toplevel attributes (not yet functional) 7/21/99 Removed all trace of s_passing.h 7/15/99 Added support for libgdgeda 1.6 (mainly means searching for libpng) 7/6/99 Changed configure and Makefiles to cut down on the number of libraries which are linked Didn't really disable libgdgeda when using --disable-gdgeda Now fixed. 7/5/99 Verified that gnetlist works with alphanumeric slotting Fixed all warnings Renamed s_netlist_post_resolve to s_netlist_post_process Put Manu's configure.in changes into gnetlist as well Got configure.in to be almost identical to gnetlist/configure.in Updated man page slightly 7/4/99 Integrated latest verilog backend from Mike Changed Mike's all-nets function to use get-all-unique-nets (equate same named nets together) Added some improved feedback when doing the net traversal with verbose mode on 7/3/99 Removed almost all executing traces of connected_to_[1|2] (these was replaced by connected_to) Added gnetlist:get-all-unique-nets which returns all the unique nets in the design Added gnetlist:get-all-connections which returns all connections which are associated with the argument netname Worked on gnetlist.scm to use above functions. Got geda netlist format to use above functions correctly. Got tango netlist format to use above functions correctly. (all others are okay) Reformated the tango backend scheme code to be more scheme like Reformated the gEDA backend scheme code to be more scheme like Went through all the code removing old obsolete variables from the internal representation. As of the today gnetlisting works again :-) 7/2/99 Fixed the ./configure stuff dealing with libgdgeda so that it works when libgdgeda isn't installed in a system directory 7/1/99 Got support for gdgeda in configure.in (required because you are linking against libgeda) 6/29/99 Got the core of nethash working with the rest of gnetlist Things seem to be working better now. Core traversal of nets works now as well as the naming of nets. 6/25/99 Added support to configure to look for optarg and friends otherwise include the right externs... 6/17/99 Finally put all the changes in to make gnetlist work with the new connection system 6/8/99 Integrated old gnetlist into the current development dist scheme --------------- new devel stuff starts here ---------------------------- 5/14/99 Updated manual page a bit 5/13/99 Integrated Mike Jarabek's verilog netlister 4/11/99 Added some more debugging information when reading in the scm file 4/9/99 Fixed Makefile.am so that gnetlist.1 is installed 3/26/99 Added some newlines in a few places in gnetlist.scm 3/20/99 Got spice backend guile functions to follow the new backend:function_name naming convention 3/19/99 Updated g_rc to print more diag message to the log file when it can't find an rc file (like gschem) 3/18/99 Updated g_rc to use new macros for finding system-*rc files 3/11/99 Added back the original implementation of the write-net-name-... guile code for the spice netlist. It works right for transistors. Mine did not. Bummer. Spice netlist doesn't support slotting for now. 3/10/99 Fixed a coredump when you pass in an "unknown" for the pin number in get-nets. Return a list which is ("ERROR"). (pointed out by Bas Gieltjes) Changed ales-netlist format to geda-netlist format. Changed gnetlist.scm appropriately Renamed all C guile functions to be called gnetlist: This makes it clear where functions come from Added code to set netlist_mode which enables/disables certain netlist features. Each backend should call this with something even if it's the default mode: gEDA Added gnetlist:set-netlist-mode to g_register and g_netlist which sets the above mode Integrated tango netlist backend by Nuno Sucena (thanks) Changed the highest level function in all backends to take a parameter which is the netlist output filename. This is a required parameter Added -o flag which specifies output filename (for above), if you don't specify an output filename the default is output.net Integrated spice backend by Bas Gieltjes Had to add a kludge to gnetlist.c which sets netlist_mode based on the guile_proc string (for spice mode which needs to be set before the .sch files are read in) Changed the default unnamed_counter to be one instead of zero Fixed the incorrect behavior when you have slotted components and the spice backend. Played a bit with the way power connections show up in the netlists (s_net.c and the POWER string code) Not completely happy with any of this. 3/9/99 Fixed a few variables which were uninitialized (width, height, snap_size) 1/24/99 Removed some // comments (shouldn't use those in C code) 12/3/98 Added thi's small gnetlist patch 11/8/98 Changed the ales-netlist slightly (less newlines) Started adding code to resolve same net names Found a really nasty bug, wasn't initalizing net_name in cpinlist! Found several really nasty bugs, where something was initalized incorrectly (strings = 0 ?!?) (s_net.c in add function) Found another missing init (object_ptr) in s_netlist.c (add function) Found another missing init (original) in s_cpinlist.c (add function) All of the above bugs were apparently the cause of the mysterious guile 1.3 problem. Further testing is needed 10/25/98 Cleaned up all warnings 10/24/98 Discovered that gnetlist doesn't like guile 1.3 Fixed a memory overrite in s_net_name, also added a return(NULL) Fixed a place where I was freeing a null pointer in g_get_packages Found/fixed another "trying to free null data" Updated gnetlist.scm with display-connections (output.net looks better) 10/20/98 Fixed a bug which prevented gnetlist to work with guile 1.3 Change rc file guile primative version to gnetlist-version 10/18/98 Changed o_attrib_search_name_single to pass a null in for the last argument 10/12/98 Added guile code to handle unconnected pins (gnetlist.scm) Found a place where U? wasn't being set. 10/11/98 Added parsecmd.c (commandline argument parsing) Simplified the loading of schematic sheets and intergrated above Added the actual command line options (-v for verbose mode) and (-i for guile interactive mode) Default for both of these is off Added usage() function (which exits when called) Added quiet_mode to the command line arguments, to shut off all messages Removed all warnings Worked on gnetlist.scm to get some guile code to drive some of the new netlist code Added and registered g_get_package_attribute guile function which returns the wanted attribute from the specified package uref Added command line option -g guile_proc so you can execute guile scripts from the command line Added code to support above More work into gnetlist.scm to get some sort of netlist writer going 10/10/98 Added file s_traverse.c which creates flat netlist datastructure Serious work on getting netlist code to work! Add s_net.c (functions that deal with the net structure) Add s_netlist.c (functions that deal with the netlist struct) Add s_cpinlist.c (functions that deal with the cpinlist struct) Completely preliminary code for netlist generation (first cut, highly inefficient, but works! :) Updated g_get_packages to use the new available structures (much faster) Updated g_get_pins to use the new available structures (much faster) Added (exit) and (quit) guile functions Found a condition where my attempt to speed up the netlist post processing, but it found a nasty bug, so now we have a 3 pass post process. 0.0.5 ------- 9/19/98 Improved the input gathering code for the guile shell a bit. 9/13/98 Changed netlist.scm to gnetlist.scm Fixed g_rc_scheme_directory to store the string in the structure 9/4/98 Made then necessary changes to have gnetlist use libgeda Fixed a few minor tidbits related to above 8/30/98 Added embedded component support from gschem to gnetlist 8/29/98 Added complex_parent pointer to object structure Added code to fill above pointer Added s_netlist.c and added it to Makefile.am Added first cut of GUILE netlist routines g_get_packages Added s_scratch.c (misc scratch buffer routines) Made some changes to the attribute handling, head attrib node points to the object where the attributes belong to. Be sure to propegate this change back to gschem (done) Made sure that text_string is only set when it should be by setting p_text_string[0] = '\0'. Be sure to propegate this change back to gschem (done) Added a bunch of attribute search routines to support all this Be sure to propagate these attribute routines back go gschem Wrote some test scheme code which is in ../bin/netlist.scm 8/25/98 Added code into the repository and devel tree Fixed logging mechanism Added appropriate lines in all the upper makefiles to build this code Code doesn't do anything other then read in the schematics geda-gaf-1.8.2/gnetlist/utils/0000775000175000017500000000000012220655755013162 500000000000000geda-gaf-1.8.2/gnetlist/utils/mk_verilog_syms.c0000664000175000017500000002727712204066537016472 00000000000000/* mk_verilog_syms.c: * * Create a set of n-input gate symbols for the geda verilog netlister. * * symbols created: and[2-9], nand[2-9], nor[2-9], or[2-9], nor[2-9], * xor[2-9], xnor[2-9]. * * Copyright (C) 1999-2010 Mike Jarabek * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02111-1301 USA. * */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include #include #ifdef HAVE_LIBDMALLOC #include #endif /* local defines */ /* gEDA colour, these should probably come from somewhere else */ #define BLACK 0 #define WHITE 1 #define RED 2 #define GREEN 3 #define BLUE 4 #define YELLOW 5 #define CYAN 6 #define GREY 7 /* external prototypes */ int GetStringDisplayLength(char *str,int font_size); /* char_width.c */ /* local prototypes */ int MakeSymbol(FILE *fp, unsigned int pins, int inputBubbles, int outputBubbles, int (*body)(FILE *, int, int, unsigned int, unsigned int)); int AndBody(FILE *fp, int x, int y, unsigned int pins, unsigned int colour); int OrBody(FILE *fp, int x, int y, unsigned int pins, unsigned int colour); int XorBody(FILE *fp, int x, int y, unsigned int pins, unsigned int colour); int Pin(FILE *fp, int x1, int y1, int x2, int y2, int bubble); int PinAttribute(FILE *fp, int x, int y, unsigned int n, char *value); int WidenBody(FILE *fp, int x, int y, unsigned int pins, unsigned int colour); /* globals */ unsigned int PinSpacing = 200; unsigned int PinLength = 300; struct Table { char *name; /* base name of part */ unsigned int suffix; /* suffix for part, 1 for normal, 2 for deMorgan.. */ int (*body)(FILE *, int, int, unsigned int, unsigned int); /* body style */ int inputBubbles; /* where to draw bubbles */ int outputBubbles; }; struct Table generate[] = { {"and", 1, AndBody, 0, 0}, {"and", 2, OrBody, 1, 1}, {"nand", 1, AndBody, 0, 1}, {"nand", 2, OrBody, 1, 0}, {"or", 1, OrBody, 0, 0}, {"or", 2, AndBody, 1, 1}, {"nor", 1, OrBody, 0, 1}, {"nor", 2, AndBody, 1, 0}, {"xor", 1, XorBody, 0, 0}, {"xnor", 1, XorBody, 0, 1} }; unsigned int nGenerate = sizeof(generate)/sizeof(struct Table); int main(int argc, char **argv) { int i,j; int rc; char name[127]; FILE *fp; printf("Making verilog symbols\n"); for(i=0; i= 3) /* do we need to add to the height ? */ totalHeight += (pins-3) * PinSpacing; bodyx = PinLength; bodyy = totalHeight/2; outputx = bodyx+bodyWidth; outputy = bodyy; firstx = PinLength; firsty = 100; /* draw the body */ rc = (*body)(fp, bodyx, bodyy, pins, GREEN); if(rc) { fprintf(stderr, "Error: Body function failed in %s()\n", __func__); return 1; } /* draw the pins and attach appropriate attributes */ rc = Pin(fp, outputx, outputy, outputx+PinLength, outputy, outputBubbles); if(rc) { fprintf(stderr, "Error: Pin drawing function failed in %s() " "for output pin\n", __func__); return 1; } /* attach pin attribute */ rc = PinAttribute(fp, outputx, outputy, pinCount++, "OUT"); if(rc) { fprintf(stderr, "Error: Pin Attribute function failed for output pin " "in %s()\n",__func__); return 1; } /* do input pins */ for(i=0; i 2 */ if(pins <= 3) return 0; /* Compute the amount needed to add to both top and bottom */ distanceNeeded = (pins-3) * PinSpacing/2; /* output the line segments */ /* for the top */ fprintf(fp, "L %d %d %d %d %u\n", x, y+300, x, y+300+distanceNeeded, colour); /* for the bottom */ fprintf(fp, "L %d %d %d %d %u\n", x, y-300, x, y-300-distanceNeeded, colour); return 0; } /* Draw a pin, optionally with a bubble */ int Pin(FILE *fp, int x1, int y1, int x2, int y2, int bubble) { int bx, by; /* bubble x and y locations */ int px1, py1, px2, py2; /* pin x and y locations */ int dx, dy; int br = 50; /* bubble radius */ double x,y; /* unit vector in direction of line */ double denom; if(fp == NULL) { fprintf(stderr, "Error: NULL file pointer passed to %s()\n", __func__); return 1; } /* figure where pin ends are */ if(bubble) /* is there a bubble? */ { /* yes there is a bubble */ /* compute a unit vector */ dx = x2-x1; dy = y2-y1; denom = sqrt( dx*dx + dy*dy); if(denom < 1e-6) { fprintf(stderr, "Error: Length of pin too small in %s()\n", __func__); return 1; } x = dx / denom; y = dy / denom; /* figure center of bubble */ bx = x1 + x * br; by = y1 + y * br; /* figure location of first line end */ px1 = x1 + x * 2 * br; py1 = y1 + y * 2 * br; px2 = x2; py2 = y2; /* draw the bubble */ fprintf(fp, "V %d %d %d %d\n", (int) bx, (int) by, br, CYAN); } else { /* no bubble, nothing special to do */ px1 = x1; py1 = y1; px2 = x2; py2 = y2; } /* draw the pin */ fprintf(fp, "P %d %d %d %d %d\n", px1, py1, px2, py2, WHITE); return 0; } int PinAttribute(FILE *fp, int x, int y, unsigned int n, char *value) { if(fp == NULL) { fprintf(stderr, "Error: NULL file pointer passed to %s()\n", __func__); return 1; } if(value == NULL) { fprintf(stderr, "Error: NULL value pointer passed to %s()\n", __func__); return 1; } fprintf(fp, "{\n"); fprintf(fp, "T %d %d %u %u 0 0 0 0\n",x, y, YELLOW, 8); fprintf(fp, "pin%u=%s\n",n, value); fprintf(fp, "}\n"); return 0; } geda-gaf-1.8.2/gnetlist/utils/Makefile.am0000664000175000017500000000062512220647257015137 00000000000000## Process this file with automake to produce Makefile.in noinst_PROGRAMS = mk_verilog_syms mk_verilog_syms_SOURCES = \ mk_verilog_syms.c mk_verilog_syms_CFLAGS = $(GCC_CFLAGS) $(MINGW_CFLIGS) mk_verilog_syms_LDFLAGS = -lm MOSTLYCLEANFILES = *.log *.ps core FILE *~ CLEANFILES = *.log *.ps core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log *.ps core FILE *~ Makefile.in geda-gaf-1.8.2/gnetlist/utils/Makefile.in0000664000175000017500000005762312220655723015157 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ noinst_PROGRAMS = mk_verilog_syms$(EXEEXT) subdir = gnetlist/utils DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(top_srcdir)/build-tools/depcomp ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = PROGRAMS = $(noinst_PROGRAMS) am_mk_verilog_syms_OBJECTS = \ mk_verilog_syms-mk_verilog_syms.$(OBJEXT) mk_verilog_syms_OBJECTS = $(am_mk_verilog_syms_OBJECTS) mk_verilog_syms_LDADD = $(LDADD) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent am__v_lt_1 = mk_verilog_syms_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ $(mk_verilog_syms_CFLAGS) $(CFLAGS) $(mk_verilog_syms_LDFLAGS) \ $(LDFLAGS) -o $@ AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/build-tools/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = $(mk_verilog_syms_SOURCES) DIST_SOURCES = $(mk_verilog_syms_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ mk_verilog_syms_SOURCES = \ mk_verilog_syms.c mk_verilog_syms_CFLAGS = $(GCC_CFLAGS) $(MINGW_CFLIGS) mk_verilog_syms_LDFLAGS = -lm MOSTLYCLEANFILES = *.log *.ps core FILE *~ CLEANFILES = *.log *.ps core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log *.ps core FILE *~ Makefile.in all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gnetlist/utils/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu gnetlist/utils/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstPROGRAMS: @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ echo " rm -f" $$list; \ rm -f $$list || exit $$?; \ test -n "$(EXEEXT)" || exit 0; \ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list mk_verilog_syms$(EXEEXT): $(mk_verilog_syms_OBJECTS) $(mk_verilog_syms_DEPENDENCIES) $(EXTRA_mk_verilog_syms_DEPENDENCIES) @rm -f mk_verilog_syms$(EXEEXT) $(AM_V_CCLD)$(mk_verilog_syms_LINK) $(mk_verilog_syms_OBJECTS) $(mk_verilog_syms_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mk_verilog_syms-mk_verilog_syms.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< mk_verilog_syms-mk_verilog_syms.o: mk_verilog_syms.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mk_verilog_syms_CFLAGS) $(CFLAGS) -MT mk_verilog_syms-mk_verilog_syms.o -MD -MP -MF $(DEPDIR)/mk_verilog_syms-mk_verilog_syms.Tpo -c -o mk_verilog_syms-mk_verilog_syms.o `test -f 'mk_verilog_syms.c' || echo '$(srcdir)/'`mk_verilog_syms.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mk_verilog_syms-mk_verilog_syms.Tpo $(DEPDIR)/mk_verilog_syms-mk_verilog_syms.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mk_verilog_syms.c' object='mk_verilog_syms-mk_verilog_syms.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mk_verilog_syms_CFLAGS) $(CFLAGS) -c -o mk_verilog_syms-mk_verilog_syms.o `test -f 'mk_verilog_syms.c' || echo '$(srcdir)/'`mk_verilog_syms.c mk_verilog_syms-mk_verilog_syms.obj: mk_verilog_syms.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mk_verilog_syms_CFLAGS) $(CFLAGS) -MT mk_verilog_syms-mk_verilog_syms.obj -MD -MP -MF $(DEPDIR)/mk_verilog_syms-mk_verilog_syms.Tpo -c -o mk_verilog_syms-mk_verilog_syms.obj `if test -f 'mk_verilog_syms.c'; then $(CYGPATH_W) 'mk_verilog_syms.c'; else $(CYGPATH_W) '$(srcdir)/mk_verilog_syms.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mk_verilog_syms-mk_verilog_syms.Tpo $(DEPDIR)/mk_verilog_syms-mk_verilog_syms.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mk_verilog_syms.c' object='mk_verilog_syms-mk_verilog_syms.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mk_verilog_syms_CFLAGS) $(CFLAGS) -c -o mk_verilog_syms-mk_verilog_syms.obj `if test -f 'mk_verilog_syms.c'; then $(CYGPATH_W) 'mk_verilog_syms.c'; else $(CYGPATH_W) '$(srcdir)/mk_verilog_syms.c'; fi` mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ clean-libtool clean-noinstPROGRAMS cscopelist-am ctags \ ctags-am distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/gnetlist/Makefile.in0000664000175000017500000005475612220655722014022 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = gnetlist DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ChangeLog \ TODO ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = src include utils lib scheme examples scripts tests docs EXTRA_DIST = BUGS ChangeLog ChangeLog-1.0 MOSTLYCLEANFILES = *.log core FILE *~ CLEANFILES = *.log core FILE *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in ChangeLog all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gnetlist/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu gnetlist/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic clean-libtool cscopelist-am ctags \ ctags-am distclean distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags tags-am uninstall uninstall-am @HAVE_GIT_REPO_TRUE@ChangeLog: $(top_builddir)/stamp-git @HAVE_GIT_REPO_TRUE@ (cd $(srcdir) && $(GIT) log --pretty=medium $(CHANGELOG_BASE).. -- .) > $@ # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/gnetlist/scheme/0000775000175000017500000000000012220655755013266 500000000000000geda-gaf-1.8.2/gnetlist/scheme/gnet-futurenet2.scm0000664000175000017500000001644112204066537016752 00000000000000;;; gEDA - GPL Electronic Design Automation ;;; gnetlist - gEDA Netlist ;;; FutureNet2 backend ;;; Copyright (C) 2003, 2005-2010 Dan McMahill ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 2 of the License, or ;;; (at your option) any later version. ;;; ;;; This program is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with this program; if not, write to the Free Software ;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, ;;; MA 02111-1301 USA. ;;; Notes about futurenet2 (.NV2) format pinlists ;;; ;;; - Case does not seem to be preserved so to avoid issues, ;;; simply output the netnames in all caps. ;;; ;;; - Netname length is 8 characters max. +,-, and _ are allowed ;;; ;;; - How are DATA,3 and DATA,4 used? In one example, DATA,4 is ;;; not used. In the other DATA,3 and DATA,4 are identical and ;;; appear to be set to the value (10.0k for example) of the part. ;;; ;;; From Ferenc Marton (martonf at datapress dot hu): ;;; ;;; These get combined in Ranger2 to produce the device ;;; description with a "," separating the two entries. ;;; DATA,3 is the "device name", max of 5 characters ;;; DATA,4 is the "device value", max of 13 characters. ;;; We could put the footprint into DATA,4 ;;; ;;; - In the "PIN" and "SIG" lines, what are the various fields really ;;; doing? ;;; ;;; It seems that for a PIN line, the format is: ;;; ;;; PIN,,,1-1,5,, ;;; ;;; What are the "1-1" and the "5"? On the I've seen "23", "25", and "100". Maybe these ;;; indicate signal vs power or some sort of routing preference? ;;; ;;; For a SIG line, the format seems to be: ;;; ;;; SIG,,1-1,5, ;;; ;;; What exactly are "1-1" and "5"? I think maybe the "1-1" part ;;; has something to do with sheet number in a multipage schematic. ;;; ;; This procedure takes a net name as determined by gnetlist and ;; modifies it to be a valid FutureNet2 net name. ;; (define futurenet2:map-net-names (lambda (net-name) (let ((rx (make-regexp "^unnamed_net")) (net-alias net-name) ) ;; XXX we should use a dynamic regexp based on the current value ;; for the unnamed net base string. ;; Remove "unnamed_net" and replace with "NET" (if (regexp-exec rx net-name) (set! net-alias (string-append "NET" (substring net-name 11))) ) ;; Truncate to 8 characters (if (> (string-length net-alias) 8) (set! net-alias (substring net-alias 0 8)) ) ;; Convert to all upper case (string-upcase net-alias) ) ) ) ;; This procedure takes a refdes as determined by gnetlist and ;; modifies it to be a valid FutureNet2 refdes. ;; (define futurenet2:map-refdes (lambda (refdes) (let ((refdes-alias refdes) ) ;; XXX do we need to truncate to 8 characters ;; like with net names? ;; (if (> (string-length refdes-alias) 8) ;; (set! refdes-alias (substring refdes-alias 0 8)) ;; ) ;; Convert to all upper case (string-upcase refdes-alias) ) ) ) ;; write out the pins for a particular component (define futurenet2:component_pins (lambda (port package pins) (if (and (not (null? package)) (not (null? pins))) (begin (let ( (pin (car pins))) ;; PIN,,NetName,1-1,5,20/23,pinnum (display "PIN,," port) (display (gnetlist:alias-net (car (gnetlist:get-nets package pin))) port) ;; XXX I've seen 20, 23, and 100 in the position where the ;; "23" is here. Seems to be a property like signal vs ;; power net. Not sure how to support that. (display ",1-1,5,23," port) (display (gnetlist:get-attribute-by-pinnumber package pin "pinnumber") port) (newline port) ) (futurenet2:component_pins port package (cdr pins)) ) ) ) ) ;; write out the components (define futurenet2:components (lambda (port packages symcnt) (if (not (null? packages)) (begin (let ((pattern (gnetlist:get-package-attribute (car packages) "pattern")) ;; The above pattern should stay as "pattern" and not "footprint" (package (car packages))) (display "(SYM," port) (display symcnt port) ;; write the reference designator (display "\nDATA,2," port) (display (gnetlist:alias-refdes package) port) ;; If there is a "value" attribute, output that. ;; Otherwise output the "device" attribute (the symbol name). (display "\nDATA,3," port) (let ((val (gnetlist:get-package-attribute package "value")) ) (if (string=? val "unknown") (set! val (gnetlist:get-package-attribute package "device") ) ) (display val port) ) (display "\n" port) ;; write the footprint (display "DATA,4," port) (display (gnetlist:get-package-attribute package "footprint") port) (display "\n" port) ;; write the pins (futurenet2:component_pins port package (gnetlist:get-pins package)) ;; close the part (display ")\n" port) ) (futurenet2:components port (cdr packages) (+ symcnt 1)) ) ) ) ) ;; write out the nets (define futurenet2:write-net (lambda (port netnames) (if (not (null? netnames)) (let ( (netname (car netnames)) (alias (gnetlist:alias-net (car netnames))) ) (display "SIG," port) (display alias port) (display ",1-1,5," port) (display alias port) (newline port) (futurenet2:write-net port (cdr netnames)) ) ) ) ) ;; The top level netlister for futurenet2 (define futurenet2 (lambda (filename) (newline) (display "---------------------------------\n") (display "gEDA/gnetlist FutureNet2 Backend\n") (display "This backend is EXPERIMENTAL\n") (display "Use at your own risk!\n") (display "\n") (display "You may need to run the output netlist\n") (display "through unix2dos before importing to\n") (display "Ranger2 or other windows based layout tools\n") (display "---------------------------------\n\n") (let ((port (open-output-file filename)) (all-nets (gnetlist:get-all-unique-nets "dummy")) ) ;; initialize the net-name aliasing (gnetlist:build-net-aliases futurenet2:map-net-names all-unique-nets) ;; initialize the refdes aliasing (gnetlist:build-refdes-aliases futurenet2:map-refdes packages) ;; write the header (display "PINLIST,2\n" port) (display "(DRAWING,GEDA.PIN,1-1\n" port) ;; write the components (futurenet2:components port packages 1) (display ")\n" port) ;; write the nets (futurenet2:write-net port all-nets) ;; terminating ")" (display ")\n" port) ;; close netlist (close-output-port port) ) ) ) geda-gaf-1.8.2/gnetlist/scheme/gnet-drc.scm0000664000175000017500000000651612204066537015421 00000000000000;;; gEDA - GPL Electronic Design Automation ;;; gnetlist - gEDA Netlist ;;; Copyright (C) 1998-2010 Ales Hvezda ;;; Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 2 of the License, or ;;; (at your option) any later version. ;;; ;;; This program is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with this program; if not, write to the Free Software ;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, ;;; MA 02111-1301 USA. ;; -------------------------------------------------------------------------- ;; ;; DRC backend written by Matt Ettus starts here ;; ;; DRC rules format: (list (part rules) (net rules) (pin rules)) ;; Part rules: List of predicates of one variable, uref ;; Net rules: List of predicates of one variable, net name ;; Pin Rules: List of predicates of 2 variables, uref and pin number (define drc:parseconfig (lambda (port) (let ((read-from-file (read port))) (if (not (eof-object? read-from-file)) (cons (symbol->string read-from-file) (drc:parseconfig port)) '())))) (define drc:attriblist (drc:parseconfig (open-input-file "attribs"))) (define drc (lambda (output-filename) (let ((port (open-output-file output-filename))) (drc:device-rules drc:attriblist packages port) (drc:net-rules (gnetlist:get-all-unique-nets "dummy") port) (drc:pin-rules packages port) (close-output-port port)))) (define drc:net-rules (lambda(nets port) (cond ((null? nets) #t) ((null? (gnetlist:get-all-connections (car nets))) (begin (display "Net " port) (display (car nets) port) (display " has no connected pins\n" port) (drc:net-rules (cdr nets) port) #f)) ((null? (cdr (gnetlist:get-all-connections (car nets)))) (begin (display "Net " port) (display (car nets) port) (display " has only 1 connected pin\n" port) (drc:net-rules (cdr nets) port) #f)) (#t (drc:net-rules (cdr nets) port))))) (define drc:pin-rules (lambda(packages port) #t)) (define drc:device-rules (lambda (attriblist packages port) (if (not (null? packages)) (begin (drc:has-attributes? attriblist (car packages) port) (drc:device-rules attriblist (cdr packages) port))))) (define drc:has-attributes? (lambda (attriblist uref port) (if (not (null? attriblist)) (begin (if (string=? "unknown" (gnetlist:get-package-attribute uref (car attriblist))) (begin (display uref port) (display " Does not have attribute: " port) (display (car attriblist) port) (newline port))) (drc:has-attributes? (cdr attriblist) uref port))))) ;; ;; DRC backend written by Matt Ettus ends here ;; ;; -------------------------------------------------------------------------- geda-gaf-1.8.2/gnetlist/scheme/gnet-maxascii.scm0000664000175000017500000000675612204066537016455 00000000000000;;; gEDA - GPL Electronic Design Automation ;;; gnetlist - gEDA Netlist ;;; Copyright (C) 1998-2010 Ales Hvezda ;;; Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 2 of the License, or ;;; (at your option) any later version. ;;; ;;; This program is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with this program; if not, write to the Free Software ;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, ;;; MA 02111-1301 USA. ;; MAXASCII netlist format (define maxascii:components (lambda (port packages) (if (not (null? packages)) (begin (let ((pattern (gnetlist:get-package-attribute (car packages) "footprint")) (package (car packages))) ; (if (not (string=? pattern "unknown")) ; (display pattern port)) (display "*COMP " port) (display package port) (write-char #\tab port) (display "\"" port) (display (gnetlist:get-package-attribute package "footprint") port) (display "\"" port) (newline port)) (maxascii:components port (cdr packages)))))) (define (maxascii:display-connections nets) (if (not (null? nets)) (string-append " " (car (car nets)) ".\"" (car (cdr (car nets))) "\"" (maxascii:display-connections (cdr nets))) "\n")) ;; ;; Wrap a string into lines no longer than wrap-length ;; (from Stefan Petersen) (define (maxascii:wrap string-to-wrap wrap-length netname) (if (> wrap-length (string-length string-to-wrap)) string-to-wrap ; Last snippet of string (let ((pos (string-rindex string-to-wrap #\space 0 wrap-length))) (cond ((not pos) (display "Couldn't wrap string at requested position\n") " Wrap error!") (else (string-append (substring string-to-wrap 0 pos) " \n*NET \"" netname "\" " (maxascii:wrap (substring string-to-wrap (+ pos 1)) wrap-length netname))))))) (define maxascii:write-net (lambda (port netnames) (if (not (null? netnames)) (let ((netname (car netnames))) (display "*NET " port) (display "\"" port) (display netname port) (display "\"" port) (newline port) (display "*NET " port) (display "\"" port) (display netname port) (display "\"" port) (display (maxascii:wrap (maxascii:display-connections (gnetlist:get-all-connections netname)) 490 netname) port) ;; (display (maxascii:display-connections ;; (gnetlist:get-all-connections netname)) ;; port) (maxascii:write-net port (cdr netnames)))))) (define maxascii (lambda (filename) (let ((port (open-output-file filename))) (display "*OrCAD\n*START\n" port) (maxascii:components port packages) (maxascii:write-net port (gnetlist:get-all-unique-nets "dummy")) (display "\n*END\n" port) (close-output-port port)))) geda-gaf-1.8.2/gnetlist/scheme/gnet-osmond.scm0000664000175000017500000000347712204066537016153 00000000000000;;; gEDA - GPL Electronic Design Automation ;;; gnetlist back end for Osmond PCB Design ;;; Copyright (C) 2007-2010 John P. Doty ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 2 of the License, or ;;; (at your option) any later version. ;;; ;;; This program is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with this program; if not, write to the Free Software ;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, ;;; MA 02111-1301 USA. ; Export a design to Osmond PCB (define (osmond filename) (set-current-output-port (open-output-file filename)) (for-each osmond:part packages) (for-each osmond:signal all-unique-nets)) ; The first section of the file consists of a list of packages, ; one per line. For example: ; Part 0603 { Name R4 } (define (osmond:part package) (format #t "Part ~A { Name ~A }\n" (gnetlist:get-package-attribute package "footprint") package)) ; The next section of the file consists of a list of nets. ; Each entry takes two lines. For example: ; Signal "unnamed_net6" ; { R4-1 R3-2 C3-2 } (define (osmond:signal net) (format #t "Signal \"~A\"\n {" net) (for-each osmond:pin (gnetlist:get-all-connections net)) (format #t " }\n")) ; gnetlist represents a connection as a two-element list of the form: ; (refdes pinnumber) ; Convert to " refdes-pinnumber" (define (osmond:pin connection) (format #t " ~A-~A" (car connection) ; refdes (cadr connection))) ; pin number geda-gaf-1.8.2/gnetlist/scheme/Makefile.am0000664000175000017500000000330712063576065015246 00000000000000## $Id$ ## M4= @M4@ PCBM4DIR= @PCBM4DIR@ PCBCONFDIR= @PCBCONFDIR@ scmdatadir = @GEDADATADIR@/scheme nobase_scmdata_DATA = $(DIST_SCM) $(BUILT_SCM) DIST_SCM = gnet-PCB.scm gnet-allegro.scm gnet-bom.scm gnet-ewnet.scm \ gnet-geda.scm \ gnet-spice.scm gnet-tango.scm gnet-verilog.scm \ gnet-vhdl.scm gnet-vipec.scm \ gnet-pads.scm gnetlist.scm gnetlist-post.scm \ gnet-bae.scm gnet-protelII.scm \ gnet-bom2.scm gnet-gossip.scm gnet-drc.scm gnet-vams.scm \ partslist-common.scm gnet-partslist1.scm \ gnet-partslist2.scm gnet-partslist3.scm gnet-maxascii.scm \ gnet-switcap.scm gnet-spice-sdb.scm gnet-drc2.scm \ gnet-futurenet2.scm gnet-cascade.scm \ gnet-redac.scm gnet-systemc.scm gnet-eagle.scm \ gnet-pcbpins.scm gnet-calay.scm gnet-osmond.scm \ gnet-mathematica.scm gnet-liquidpcb.scm \ gnetlist/backend-getopt.scm gnet-makedepend.scm EXTRA_DIST = $(DIST_SCM) $(SCM_SRCS) SCM_SRCS= gnet-gsch2pcb.scm.in BUILT_SCM= gnet-gsch2pcb.scm gnet-gsch2pcb.scm: $(srcdir)/gnet-gsch2pcb.scm.in sed \ -e 's;@m4@;${M4};g' \ -e 's;@pcbm4dir@;${PCBM4DIR};g' \ $(srcdir)/gnet-gsch2pcb.scm.in > $@ all-local: if test "$(srcdir)" != "@builddir@" ; then \ echo "copying scheme files" ; \ cp -f $(srcdir)/*.scm @builddir@/ ; \ else \ echo "source directory = build directory" ; \ fi clean-local: if test "$(srcdir)" != "@builddir@" ; then \ echo "cleaning scheme files" ; \ rm -f @builddir@/*.scm ; \ else \ echo "source directory = build directory" ; \ fi MOSTLYCLEANFILES = *.log *~ CLEANFILES = *.log *~ gnet-gsch2pcb.scm DISTCLEANFILES = *.log core FILE *~ gnet-gsch2pcb.scm MAINTAINERCLEANFILES = *.log *~ Makefile.in gnet-gsch2pcb.scm geda-gaf-1.8.2/gnetlist/scheme/gnet-verilog.scm0000664000175000017500000005154512204066537016322 00000000000000;;; gEDA - GPL Electronic Design Automation ;;; gnetlist - gEDA Netlist ;;; Copyright (C) 1998-2010 Ales Hvezda ;;; Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 2 of the License, or ;;; (at your option) any later version. ;;; ;;; This program is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with this program; if not, write to the Free Software ;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, ;;; MA 02111-1301 USA. ;; ;; Verilog netlist backend written by Mike Jarabek starts here ;; ;; 14 July 2011 - VERY basic concatenation support added by Frank Thomson ;; ;; -------------------------------------------------------------------------- ;; some useful regexes for working with net-names ;; (use-modules (ice-9 regex)) (define id-regexp "[a-zA-Z_][a-zA-Z0-9_$]*") (define numeric "[0-9]+") ;; match on a verilog concatened net like: {netname[x:y],othernet} ;; Will not expand a bus for replication so (define concat-bus-reg (make-regexp (string-append "^[[:space:]]*" "\\{" ".*" "\\}"))) ;; match on a verilog identifier like: netname[x:y] (define bit-range-reg (make-regexp (string-append "^(" id-regexp ")[[:space:]]*" "\\[" "[[:space:]]*(" numeric ")[[:space:]]*" ":" "[[:space:]]*(" numeric ")[[:space:]]*" "\\]"))) ;; match on a verilog identifier like: netname[x] (define single-bit-reg (make-regexp (string-append "^(" id-regexp ")[[:space:]]*" "\\[" "[[:space:]]*(" numeric ")[[:space:]]*" "\\]" ))) ;; match on a verilog identifier like: netname (define simple-id-reg (make-regexp ( string-append "^(" id-regexp ")$" ))) ;; return the top level block name for the module (define verilog:get-module-name ( gnetlist:get-toplevel-attribute "module_name" )) ;; return a list of nets whose pins have the desired attribute name/value ;; pair (define verilog:get-matching-nets (lambda (attribute value) (map car (verilog:filter attribute value packages)))) ;; This function takes an attribute name, desired value, and a list of ;; packages. For each of the packages, it looks up that attribute, and ;; if it matches, that package name is added to the list, and the function ;; recurses on the remaining packages. If the attribute does not match, ;; the function just recuses on the remaing packages. Thanks to Mohina Lal ;; for this trick. ;; (define verilog:filter (lambda (attribute value package-list) (cond ((null? package-list) '()) ((string=? (gnetlist:get-package-attribute (car package-list) attribute) value) (cons (map (lambda (pin) (car (gnetlist:get-nets (car package-list) pin))) (pins (car package-list))) (verilog:filter attribute value (cdr package-list)))) (else (verilog:filter attribute value (cdr package-list))))) ) ;; ;; Output the guts of the module ports here ;; ;; Scan through the list of components, and pins from each one, finding the ;; pins that have PINTYPE == CHIPIN, CHIPOUT, CHIPTRI (for inout) ;; build three lists one each for the inputs, outputs and inouts ;; return the a list of three lists that contain the pins in the order ;; we want. (define verilog:get-port-list (lambda () ;; construct list (list (verilog:get-matching-nets "device" "IPAD") (verilog:get-matching-nets "device" "OPAD") (verilog:get-matching-nets "device" "IOPAD")))) ;; ;; output the meat of the module port section ;; ;; each line in the declaration is formatted like this: ;; ;; PORTNAME , ;; (define verilog:write-module-declaration (lambda (module-name port-list p) (begin (display "module " p) (verilog:display-escaped-identifier module-name p) (display " (" p) (newline p) (let ((the-pins ( append (car port-list) ; build up list of pins (cadr port-list) (caddr port-list)))) (begin ;(display the-pins) ; do pins, but take care of last comma (if (not (null? the-pins)) (begin (display " " p) (display (verilog:netname (car the-pins)) p) (if (not (null? (cdr the-pins))) (for-each (lambda (pin) ; loop over outputs (begin (display " ," p) (newline p) (display " " p) (display (verilog:netname pin) p))) (cdr the-pins) )))) (newline p) (display " );" p) (newline p)))))) ;; ;; output the module direction section ;; (define verilog:write-port-directions (lambda (port-list p) (let ((in (car port-list)) ; extract list of pins (out (cadr port-list)) (inout (caddr port-list))) (begin (display "/* Port directions begin here */" p) (newline p) (for-each (lambda (pin) (begin (display "input " p) (verilog:display-wire (verilog:get-net (verilog:netname pin)) p) (display " ;" p) (newline p))) in) ; do each input (for-each (lambda (pin) (begin (display "output " p) (verilog:display-wire (verilog:get-net (verilog:netname pin)) p) (display " ;" p) (newline p))) out) ; do each output (for-each (lambda (pin) (begin (display "inout " p) (verilog:display-wire (verilog:get-net (verilog:netname pin)) p) (display " ;" p) (newline p))) inout) ; do each inout (newline p))))) ;; ;; Top level header ;; (define verilog:write-top-header (lambda (p) (let ((port-list (verilog:get-port-list))) (begin (display "/* structural Verilog generated by gnetlist */\n" p) (display "/* WARNING: This is a generated file, edits */\n" p) (display "/* made here will be lost next time */\n" p) (display "/* you run gnetlist! */\n" p) (display "/* Id ..........$Id$ */\n" p) (display "/* Source.......$Source$ */\n" p) (display "/* Revision.....$Revision$ */\n" p) (display "/* Author.......$Author$ */\n" p) (newline p) (verilog:write-module-declaration verilog:get-module-name port-list p) (newline p) (verilog:write-port-directions port-list p) (newline p))))) ;; ;; Footer for file ;; (define verilog:write-bottom-footer (lambda (p) (display "endmodule" p) (newline p) ) ) ;; ;; Take a netname and parse it into a structure that describes the net: ;; ;; ( netname ; name of the wire ;; ( N1 ; first limit ;; N2 ; second limit ;; Increasing_order ; #t if N2>N1 ;; sure ; #t if we are sure about the order ;; )) (define verilog:net-parse (lambda (netname) (let ((bit-range (regexp-exec bit-range-reg netname)) (concat-bus (regexp-exec concat-bus-reg netname)) (single-bit (regexp-exec single-bit-reg netname)) (simple-id (regexp-exec simple-id-reg netname))) ;; check over each expression type, and build the appropriate ;; result ;(display netname) (display ": ") (cond ;; is it a bit range? (bit-range ;(display "bit-range" ) (list (match:substring bit-range 1) (list (string->number (match:substring bit-range 2)) (string->number (match:substring bit-range 3)) (> (string->number (match:substring bit-range 3)) (string->number (match:substring bit-range 2))) '#t netname))) ;; just a single bit? (single-bit ;(display "single-bit") (list (match:substring single-bit 1) (list (string->number (match:substring single-bit 2)) (string->number (match:substring single-bit 2)) '#f '#f netname))) ;; or a net without anything (simple-id ;(display "bare-net") (list (match:substring simple-id 1) (list 0 0 #f #f netname))) (else (display (string-append "Warning: `" netname "' is not likely a valid Verilog identifier")) (newline) (list netname (list 0 0 #f #f netname))) )))) ;; ;; Return #t if the passed name is something that might pass as a ;; verilog identifier. ;; (define verilog:identifier? (lambda (netname) (let ((bit-range (regexp-exec bit-range-reg netname)) (concat-bus (regexp-exec concat-bus-reg netname)) (single-bit (regexp-exec single-bit-reg netname)) (simple-id (regexp-exec simple-id-reg netname))) ;; check over each expression type, return ;; result ;;(display netname) (display ": ")(display concat-bus)(display "\n") (cond (bit-range `#t ) (concat-bus `#t ) (single-bit `#t ) (simple-id `#t ) (else `#f ) )))) ;; ;; Display a verilog identifier that is escaped if needed ;; (define verilog:display-escaped-identifier (lambda (netname port) (if (verilog:identifier? netname) (display netname port) ; just display the identifier (display (string-append "\\" netname " ") port)))) ; need to escape ;; ;; return just the netname part of a verilog identifier ;; (define verilog:netname (lambda (netname) (car (verilog:net-parse netname)))) ;; Update the given bit range with data passed. Take care ;; of ordering issues. ;; ;; n1 : new first range ;; n2 : new second range ;; old-n1 : first range to be updated ;; old-n2 : second range to be updated ;; increasing : original order was increasing (define verilog:update-range (lambda (n1 n2 old-n1 old-n2 increasing) (let ((rn1 (if increasing (min n1 old-n1) ; originally increasing (max n1 old-n1))) ; originally decreasing (rn2 (if increasing (max n2 old-n2) ; originally increasing (min n2 old-n2)))) ; (display (string-append "increasing:" ; (if increasing "increasing" "decreasing") ; " rn1:" (number->string rn1) ; " rn2:" (number->string rn2) ; " n1:" (number->string n1) ; " n2:" (number->string n2) ; " old-n1:" (number->string old-n1) ; " old-n2:" (number->string old-n2))) (newline) (list rn1 rn2) ))) ;; return a record that has been updated with the given ;; parameters (define verilog:update-record (lambda (n1 n2 list-n1 list-n2 increasing sure real) (list (append (verilog:update-range n1 n2 list-n1 list-n2 increasing) (list increasing sure real))))) ;; ;; Work over the list of `unique' nets in the design, ;; extracting names, and bit ranges, if appropriate. ;; return a list of net description objects ;; (define verilog:get-nets '()) (define verilog:get-nets-once! (lambda nil (define the-nets '()) (set! verilog:get-nets (begin (for-each (lambda (netname) ; parse the netname, and see if it is already on the list (let* ((parsed (verilog:net-parse netname)) (listed (assoc (car parsed) the-nets))) (if listed (begin ; it is, do some checks, and update the record ;; extract fields from list (let* ((list-name (car listed)) (list-n1 (car (cadr listed))) (list-n2 (cadr (cadr listed))) (list-increasing (caddr (cadr listed))) (list-sure (cadddr (cadr listed))) (list-real (cadddr (cdr (cadr listed)))) (name (car parsed)) (n1 (car (cadr parsed))) (n2 (cadr (cadr parsed))) (increasing (caddr (cadr parsed))) (sure (cadddr (cadr parsed))) (real (cadddr (cdr (cadr parsed)))) (consistant (or (and list-increasing increasing) (and (not list-increasing) (not increasing)))) ) (cond ((and list-sure consistant) (begin (set-cdr! listed (verilog:update-record n1 n2 list-n1 list-n2 increasing #t real) ))) ((and list-sure (not sure) (zero? n1) (zero? n2)) '() ;; this is a net without any expression, leave it ) ((and list-sure (not consistant)) (begin ;; order is inconsistent (display (string-append "Warning: Net `" real "' has a " "bit order that conflicts with " "the original definition of `" list-real "', ignoring `" real "'" )) (newline))) ((and (not list-sure) sure consistant) (begin (set-cdr! listed (verilog:update-record n1 n2 list-n1 list-n2 increasing #t real)))) ((and (not list-sure) sure (not consistant)) (begin (set-cdr! listed (verilog:update-record n1 n2 list-n2 list-n1 increasing #t real)))) ((and (not list-sure) (not sure)) (begin (set-cdr! listed (verilog:update-record n1 n2 list-n1 list-n2 increasing #f real)))) (else (begin (display "This should never happen!") (newline))) ) ) ) (begin ; it is not, just add it to the end (set! the-nets (append the-nets (list parsed)))) )) ) all-unique-nets) the-nets) ) verilog:get-nets )) ;; Retrieve the requested net record from the database. (define verilog:get-net (lambda (wire) (begin (assoc wire verilog:get-nets) ))) ;; ;; Display wires from the design ;; ;; Display a net in a legal verilog format, based on the object passed (define verilog:display-wire (lambda (wire p) ;; figure out if we need a bit range (let ((name (car wire)) (n1 (car (cadr wire))) (n2 (cadr (cadr wire))) ) (if (not (and (zero? n1) (zero? n2))) (begin ;; yes, print it (display "[ " p) (display n1 p) (display " : " p) (display n2 p) (display " ] " p) ) ) ;; print the wire name (verilog:display-escaped-identifier name p)))) ;; ;; Loop over the list of nets in the design, writing one by one ;; (define verilog:write-wires (lambda (p) (display "/* Wires from the design */" p) (newline p) (for-each (lambda (wire) ; print a wire statement for each ; if it does not appear to be a concatenated bus then print it (if (not (regexp-exec concat-bus-reg (car(cdr(cdr(cdr(cdr(cadr wire)))))))) (begin (display "wire " p) ; net in the design (verilog:display-wire wire p) (display " ;" p) (newline p) ) ;; begin ) ;; if ) ;; lambda verilog:get-nets ) ;; for-each (newline p) ) ;; lambda ) ;; define ;; ;; Output any continuous assignment statements generated ;; by placing `high' and `low' components on the board ;; (define verilog:write-continuous-assigns (lambda (p) (display "/* continuous assignments */" p) (newline p) (for-each (lambda (wire) ; do high values (begin (display "assign " p) ;; XXX fixme, multiple bit widths! (verilog:display-escaped-identifier wire p) (display " = 1'b1;" p) (newline p))) (verilog:get-matching-nets "device" "HIGH")) (for-each (lambda (wire) (begin (display "assign " p) ;; XXX fixme, multiple bit widths! (verilog:display-escaped-identifier wire p) (display " = 1'b0;" p) (newline p))) (verilog:get-matching-nets "device" "LOW")) (newline p)) ) ;; ;; Top level component writing ;; ;; Output a compoment instatantiation for each of the ;; components on the board ;; ;; use the format: ;; ;; device-attribute refdes ( ;; .pinname ( net_name ), ;; ... ;; ); ;; (define verilog:components (lambda (packages port) (begin (display "/* Package instantiations */" port) (newline port) (for-each (lambda (package) ; loop on packages (begin (let ((device (get-device package))) (if (not (memv (string->symbol device) ; ignore specials (map string->symbol (list "IOPAD" "IPAD" "OPAD" "HIGH" "LOW")))) (begin (verilog:display-escaped-identifier (get-device package) port) (display " " port) (verilog:display-escaped-identifier package port) (display " ( " port) ; if this module wants positional pins, ; then output that format, otherwise ; output normal named declaration (verilog:display-connections package (string=? (gnetlist:get-package-attribute package "VERILOG_PORTS" ) "POSITIONAL") port) (display " );" port) (newline port) (newline port)))))) packages))) ) ;; ;; output a module connection for the package given to us with named ports ;; (define verilog:display-connections (lambda (package positional port) (begin (let ( (pin-list (gnetlist:get-pins-nets package)) (comma_pending #f) ) (if (not (null? pin-list)) (begin (newline port) (for-each (lambda (pin) (if (not (strncmp? "unconnected_pin" (cdr pin) 15)) (begin ;; handle commas after the first pin (if comma_pending (begin (display "," port) (newline port)) (set! comma_pending #t)) (verilog:display-pin pin positional port)))) pin-list) (newline port)))))) ) ;; ;; Display the individual net connections ;; in this format if positional is true: ;; ;; /* PINNAME */ NETNAME ;; ;; otherwise emit: ;; ;; .PINNAME ( NETNAME ) ;; (define verilog:display-pin (lambda (pin positional port) (begin (if positional (begin ; output a positional port instanace (display " /* " port) (display (car pin) port) ; add in name for debugging (display " */ " port ) (display (cdr pin) port)) (begin ; else output a named port instance (display " ." port) ; Display the escaped version of the identifier (verilog:display-escaped-identifier (verilog:netname (car pin)) port) (display " ( " port) (verilog:display-escaped-identifier (cdr pin) port) (display " )" port)))))) ;;; Highest level function ;;; Write Structural verilog representation of the schematic ;;; (define verilog (lambda (output-filename) (let ((port (open-output-file output-filename))) (begin (verilog:get-nets-once!) (verilog:write-top-header port) (verilog:write-wires port) (verilog:write-continuous-assigns port) (verilog:components packages port) (verilog:write-bottom-footer port) ) (close-output-port port) ) ) ) ;; ;; Verilog netlist backend written by Mike Jarabek ends here ;; ;; -------------------------------------------------------------------------- geda-gaf-1.8.2/gnetlist/scheme/gnet-vams.scm0000664000175000017500000010124512204066537015612 00000000000000;;; gEDA - GPL Electronic Design Automation ;;; gnetlist - gEDA Netlist ;;; Copyright (C) 1998-2010 Ales Hvezda ;;; Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 2 of the License, or ;;; (at your option) any later version. ;;; ;;; This program is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with this program; if not, write to the Free Software ;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, ;;; MA 02111-1301 USA. ;;; -------------------------------------------------------------------------- ;;; ;;; VHDL-AMS netlist backend written by Eduard Moser and Martin Lehmann. ;;; Build on the VHDL backend from Magnus Danielson ;;; ;;; -------------------------------------------------------------------------- (use-modules (srfi srfi-1)) ;;; =================================================================================== ;;; TOP LEVEL FUNCTION ;;; BEGIN ;;; Write structural VAMS representation of the schematic ;;; absolutly toplevel function of gEDA gnelist vams mode. ;;; its evaluate things like output-file, generate-mode, top-attribs ;;; and starts the major subroutines. ;; guile didn't like this code: ;; ;; (if (string-index output-filename #\.) ;; (string-rindex output-filename #\.) ;; ofl) ;; ;; as a replacement for line below: ;; ;; (lpi (string-rindex output-filename #\. 0 ofl)) ;; ;; why? (avh) (define vams (lambda (output-filename) (let* ((port '()) ;; output-port for architecture (port-entity '()) ;; output-port for entity (ofl (string-length output-filename)) (lpi (string-rindex output-filename #\. 0 ofl)) ;; generate correctly architecture name (architecture (vams:change-all-whitespaces-to-underlines (cond ((string=? (gnetlist:get-toplevel-attribute "architecture") "not found") "default_architecture") (else (gnetlist:get-toplevel-attribute "architecture"))))) ;; generate correctly entity name (entity (vams:change-all-whitespaces-to-underlines (cond ((string=? (gnetlist:get-toplevel-attribute "entity") "not found") "default_entity") (else (gnetlist:get-toplevel-attribute "entity"))))) ;; search all ports of a schematic. for entity generation only. (port-list (vams:generate-port-list (vams:get-uref top-attribs))) ;; search all generic of a schematic. for entity generatin only. (generic-list (vams:generate-generic-list top-attribs))) ;; generate-mode : 1 (default) -> generate a architecture (netlist) of a ;; schematic ;; 2 -> is selected a component then generate ;; a entity of this, else generate ;; a toplevel entity. called from gschem ;; normally. (cond ((= generate-mode 1) (begin (display "\ngenerating architecture of current schematic in ") ;; generate output-filename, like ;; (_arc.) (set! output-filename (string-append (if (string-index output-filename #\/) (substring output-filename 0 (+ (string-rindex output-filename #\/ 0 ofl) 1)) "./") (string-downcase! entity) "_arc" (substring output-filename lpi ofl))) (set! port (open-output-file output-filename)) (display output-filename) (newline) (display "-- Structural VAMS generated by gnetlist\n" port) (vams:write-secondary-unit architecture entity port) (close-output-port port))) ((= generate-mode 2) (display "\n\ngenerating entity of current schematic in ") ;; if one component selected, then generate output-filename ;; (.vhdl), else ;; .vhdl (if (not (null? top-attribs)) (set! output-filename (string-append (if (string-index output-filename #\/) (substring output-filename 0 (+ (string-rindex output-filename #\/ 0 ofl) 1)) "./") (string-downcase! (get-device (vams:get-uref top-attribs))) ".vhdl")) (set! output-filename (string-append (if (string-index output-filename #\/) (substring output-filename 0 (+ (string-rindex output-filename #\/ 0 ofl) 1)) "./") (string-downcase! entity) ".vhdl"))) (display output-filename) (newline) (set! port-entity (open-output-file output-filename)) ;; decide about the right parameters for entity-declaration (if (not (null? (vams:get-uref top-attribs))) (vams:write-primary-unit (get-device (vams:get-uref top-attribs)) port-list generic-list port-entity) (vams:write-primary-unit entity port-list generic-list port-entity)) (close-output-port port-entity)))))) ;;; TOP LEVEL FUNCTION ;;; END ;;; =================================================================================== ;;; ;;; ENTITY GENERATING PART ;;; BEGIN ;;; Context clause ;;; ;;; According to IEEE 1076-1993 11.3: ;;; ;;; context_clause := { context_item } ;;; context_item := library_clause | use_clause ;;; ;;; Implementation note: ;;; Both library and use clauses will be generated, eventually... ;;; What is missing is the information from gEDA itself, i think. ;;; writes some needed library insertions staticly ;;; not really clever, but a first solution (define vams:write-context-clause (lambda (p) (display "LIBRARY ieee,disciplines;\n" p) (display "USE ieee.math_real.all;\n" p) (display "USE ieee.math_real.all;\n" p) (display "USE work.electrical_system.all;\n" p) (display "USE work.all;\n" p))) ;;; Primary unit ;;; ;;; According to IEEE 1076-1993 11.1: ;;; ;;; primary_unit := ;;; entity_declaration ;;; | configuration_declaration ;;; | package_declaration ;;; ;;; Implementation note: ;;; We assume that gEDA does not generate either a configuration or ;;; package declaration. Thus, only a entity declaration will be generated. ;;; ;;; According to IEEE 1076-1993 1.1: ;;; ;;; entity_declaration := ;;; ENTITY identifier IS ;;; entity_header ;;; entity_declarative_part ;;; [ BEGIN ;;; entity_statement_part ] ;;; END [ ENTITY ] [ entity_simple_name ] ; ;;; ;;; Implementation note: ;;; We assume that no entity declarative part and no entity statement part ;;; is to be produced. Further, it is good custom in VAMS-93 to append ;;; both the entity keyword as well as the entity simple name to the ;;; trailer, therefore this is done to keep VAMS compilers happy. ;;; ;;; According to IEEE 1076-1993 1.1.1: ;;; ;;; entity_header := ;;; [ formal_generic_clause ] ;;; [ formal_port_clause ] ;;; ;;; Implementation note: ;;; Initially we will assume that there is no generic clause but that there ;;; is an port clause. We would very much like to have generic and the port ;;; clause should be conditional (consider writting a test-bench). ;;; this routine managed the complete entity-declaration of a component ;;; or a schematic. It requires the entity-name, all ports and generics ;;; of this entity and the output-port. the output-port defines where ;;; this all should wrote to. (define vams:write-primary-unit (lambda (entity port-list generic-list p) (begin (vams:write-context-clause p) (display "-- Entity declaration -- \n\n" p) (display "ENTITY " p) (display entity p) (display " IS\n" p) (vams:write-generic-clause generic-list p) (vams:write-port-clause port-list p) (display "END ENTITY " p) (display entity p) (display "; \n\n" p)))) ;;; GENERIC & PORT Clause ;;; ;;; According to IEEE 1076-1993 1.1.1: ;;; ;;; entity_header := ;;; [ formal_generic_clause ] ;;; [ formal_port_clause ] ;;; ;;; generic_clause := ;;; GENERIC ( generic_list ) ; ;;; ;;; port_clause := ;;; PORT ( port_list ) ; ;;; ;;; According to IEEE 1076-1993 1.1.1.2: ;;; ;;; port_list := port_interface_list ;;; ;;; According to IEEE 1076-1993 4.3.2.1: ;;; ;;; interface_list := interface_element { ; interface_element } ;;; ;;; interface_element := interface_declaration ;;; ;;; According to IEEE 1076-1993 4.3.2: ;;; ;;; interface_declaration := ;;; interface_constant_declaration ;;; | interface_signal_declaration ;;; | interface_variable_declaration ;;; | interface_file_declaration ;;; ;;; interface_signal_declaration := ;;; [ SIGNAL ] identifier_list : [ mode ] subtype_indication [ BUS ] ;;; [ := static_expression ] ;;; ;;; mode := IN | OUT | INOUT | BUFFER | LINKAGE ;;; ;;; Implementation note: ;;; Since the port list must contain signals will only the interface ;;; signal declaration of the interface declaration be valid. Further, ;;; we may safely assume that the SIGNAL symbol will not be needed. ;;; The identifier list is reduced to a signle name entry, mode is set ;;; to in, out or inout due to which part of the port list it comes from. ;;; The mode types supported are in, out and inout where as buffer and ;;; linkage mode is not supported. The subtype indication is currently ;;; hardwired to standard logic, but should be controlled by attribute. ;;; There is currently no support for busses and thus is the BUS symbol ;;; no being applied. Also, there is currently no static expression ;;; support, this too may be conveyed using attributes. ;;; this next two functions are writing the generic-clause ;;; in the entity declaration ;;; vams:write-generic-clause requires a list of all generics and ;;; its values, such like ((power 12.2) (velocity 233.34)) (define vams:write-generic-clause (lambda (generic-list p) (if (not (null? generic-list)) (begin (display "\t GENERIC (" p) (display "\t" p) (if (= 2 (length (car generic-list))) (begin (display (caar generic-list) p) (display " : REAL := " p) (display (cadar generic-list) p))) (vams:write-generic-list (cdr generic-list) p) (display " );\n" p))))) (define vams:write-generic-list (lambda (generic-list p) (if (not (null? generic-list)) (begin (display ";\n\t\t\t" p) (if (= 2 (length (car generic-list))) (begin (display (caar generic-list) p) (display " : REAL := " p) (display (cadar generic-list) p))) (vams:write-generic-list (cdr generic-list) p))))) ;;; this function writes the port-clause in the entity-declarartion ;;; It requires a list of ports. ports stand for a list of all ;;; pin-attributes. (define vams:write-port-clause (lambda (port-list p) (if (not (null? port-list)) (begin (display "\t PORT (\t" p) (display "\t" p) (if (list? (car port-list)) (begin (display (cadar port-list) p) (display " \t" p) (display (caar port-list) p) (display " \t: " p) (if (equal? (cadar port-list) 'quantity) (display (car (cdddar port-list)) p)) (display " \t" p) (display (caddar port-list) p))) (vams:write-port-list (cdr port-list) p) (display " );\n" p))))) ;;; This little routine writes a single pin on the port-clause. ;;; It requires a list containing (port_name, port_object, port_type, port_mode) ;;; such like ;;; ((heat quantity thermal in) (base terminal electrical unknown) .. ) (define vams:write-port-list (lambda (port-list p) (if (not (null? port-list)) (begin (display ";\n\t\t\t" p) (if (equal? (length (car port-list)) 4) (begin (display (cadar port-list) p) (display " \t" p) (display (caar port-list) p) (display " \t: " p) (if (equal? (cadar port-list) 'quantity) (display (car (cdddar port-list)) p)) (display " \t" p) (display (caddar port-list) p))) (vams:write-port-list (cdr port-list) p))))) ;;; ENTITY GENERATING PART ;;; END ;;; =================================================================================== ;;; ARCHITECTURE GENERATING PART ;;; BEGIN ;; Secondary Unit Section ;; ;;; Architecture Declarative Part ;;; ;;; According to IEEE 1076-1993 1.2.1: ;;; ;;; architecture_declarative_part := ;;; { block_declarative_item } ;;; ;;; block_declarative_item := ;;; subprogram_declaration ;;; | subprogram_body ;;; | type_declaration ;;; | subtype_declaration ;;; | constant_declaration ;;; | signal_declaration ;;; | shared_variable_declaration ;;; | file_declaration ;;; | alias_declaration ;;; | component_declaration ;;; | attribute_declaration ;;; | attribute_specification ;;; | configuration_specification ;;; | disconnection_specification ;;; | use_clause ;;; | group_template_declaration ;;; | group_declaration ;;; ;;; Implementation note: ;;; There is currently no support for programs or procedural handling in ;;; gEDA, thus will all declarations above involved in thus activites be ;;; left unused. This applies to subprogram declaration, subprogram body, ;;; shared variable declaration and file declaration. ;;; ;;; Further, there is currently no support for type handling and therefore ;;; will not the type declaration and subtype declaration be used. ;;; ;;; The is currently no support for constants, aliases, configuration ;;; and groups so the constant declaration, alias declaration, configuration ;;; specification, group template declaration and group declaration will not ;;; be used. ;;; ;;; The attribute passing from a gEDA netlist into VAMS attributes must ;;; wait, therefore will the attribute declaration and attribute ;;; specification not be used. ;;; ;;; The disconnection specification will not be used. ;;; ;;; The use clause will not be used since we pass the responsibility to the ;;; primary unit (where it s not yet supported). ;;; ;;; The signal declation will be used to convey signals held within the ;;; architecture. ;;; ;;; The component declaration will be used to convey the declarations of ;;; any external entity being used within the architecture. ;;; toplevel-subfunction for architecture generation. ;;; requires architecture and entity name and the port, where ;;; the architecture should wrote to. (define vams:write-secondary-unit (lambda (architecture entity p) (display "-- Secondary unit\n\n" p) (display "ARCHITECTURE " p) (display architecture p) (display " OF " p) (display entity p) (display " IS\n" p) (vams:write-architecture-declarative-part p) (display "BEGIN\n" p) (vams:write-architecture-statement-part packages p) (display "END ARCHITECTURE " p) (display architecture p) (display ";\n" p))) ;;; ;;; at this time, it only calls the signal declarations (define vams:write-architecture-declarative-part (lambda (p) (begin ; Due to my taste will the component declarations go first ; XXX - Broken until someday ; (vams:write-component-declarations packages p) ; Then comes the signal declatations (vams:write-signal-declarations p)))) ;;; Signal Declaration ;;; ;;; According to IEEE 1076-1993 4.3.1.2: ;;; ;;; signal_declaration := ;;; SIGNAL identifier_list : subtype_indication [ signal_kind ] ;;; [ := expression ] ; ;;; ;;; signal_kind := REGISTER | BUS ;;; ;;; Implementation note: ;;; Currently will the identifier list be reduced to a single entry. ;;; There is no support for either register or bus type of signal kind. ;;; Further, no default expression is being supported. ;;; The subtype indication is hardwired to Std_Logic. ;;; the really signal-declaration-writing function ;;; it's something more complex, because it's checking all signals ;;; for consistence. it only needs the output-port as parameter. (define vams:write-signal-declarations (lambda (p) (begin (for-each (lambda (net) (let*((connlist (gnetlist:get-all-connections net)) (port_object (vams:net-consistence "port_object" connlist)) (port_type (vams:net-consistence "port_type" connlist)) ;;(if (equal? port_object "quantity") ;;(port_mode (vams:net-consistence 'port_mode connlist))) ) (if (and port_object port_type (if (equal? port_object "quantity") (port_mode (vams:net-consistence 'port_mode connlist)))) (begin (display "\t" p) (display port_object p) (display " " p) (display net p) (display " \t: " p) ;; (if (equal? "quantity" (cadr signallist)) ;; (display (cadddr signallist) p)) (display " " p) (display port_type p) (display ";\n" p)) (begin (display "-- error in subnet : " p) (display net p) (newline p))))) (vams:all-necessary-nets))))) ;;; Architecture Statement Part ;;; ;;; According to IEEE 1076-1993 1.2.2: ;;; ;;; architecture_statement_part := ;;; { concurrent_statement } ;;; ;;; According to IEEE 1076-1993 9: ;;; ;;; concurrent_statement := ;;; block_statement ;;; | process_statement ;;; | concurrent_procedure_call_statement ;;; | concurrent_assertion_statement ;;; | concurrent_signal_assignment_statement ;;; | component_instantiation_statement ;;; | generate_statement ;;; ;;; Implementation note: ;;; We currently does not support block statements, process statements, ;;; concurrent procedure call statements, concurrent assertion statements, ;;; concurrent signal assignment statements or generarte statements. ;;; ;;; Thus, we only support component instantiation statements. ;;; ;;; According to IEEE 1076-1993 9.6: ;;; ;;; component_instantiation_statement := ;;; instantiation_label : instantiation_unit ;;; [ generic_map_aspect ] [ port_map_aspect ] ; ;;; ;;; instantiated_unit := ;;; [ COMPONENT ] component_name ;;; | ENTITY entity_name [ ( architecture_identifier ) ] ;;; | CONFIGURATION configuration_name ;;; ;;; Implementation note: ;;; Since we are not supporting the generic parameters we will thus not ;;; suppport the generic map aspect. We will support the port map aspect. ;;; ;;; Since we do not yeat support the component form we will not yet use ;;; the component symbol based instantiated unit. ;;; ;;; Since we do not yeat support configurations we will not support the ;;; we will not support the configuration symbol based form. ;;; ;;; This leaves us with the entity form, which we will support initially ;;; using only the entity name. The architecture identifier could possibly ;;; be supported by attribute value. ;;; Component Declaration ;;; ;;; According to IEEE 1076-1993 4.5: ;;; ;;; component_declaration := ;;; COMPONENT identifier [ IS ] ;;; [ local_generic_clause ] ;;; [ local_port_clause ] ;;; END COMPONENT [ component_simple_name ] ; ;;; ;;; Implementation note: ;;; The component declaration should match the entity declaration of the ;;; same name as the component identifier indicates. Since we do not yeat ;;; support the generic clause in the entity declaration we shall not ;;; support it here either. We will however support the port clause. ;;; ;;; In the same fassion as before we will use the conditional IS symbol ;;; as well as replicating the identifier as component simple name just to ;;; be in line with good VAMS-93 practice and keep compilers happy. ;;; writes the architecture body. ;;; required all used packages, which are necessary for netlist- ;;; generation, and the output-port. (define vams:write-architecture-statement-part (lambda (packages p) (begin (display "-- Architecture statement part" p) (newline p) (for-each (lambda (package) (begin (let ((device (get-device package)) (architecture (gnetlist:get-package-attribute package "architecture"))) (if (not (memv (string->symbol device) (map string->symbol (list "IOPAD" "IPAD" "OPAD" "HIGH" "LOW")))) (begin (display " \n " p) ;; writes instance-label (display package p) (display " : ENTITY " p) ;; writes entity name, which should instanciated (display (get-device package) p) ;; write the architecture of an entity in brackets after ;; the entity, when necessary. (if (not (equal? architecture "unknown")) (begin (display "(" p) (if (equal? (string-ref (gnetlist:get-package-attribute package "architecture") 0) #\?) (display (substring architecture 1) p) (display architecture p)) (display ")" p))) (newline p) ;; writes generic map (vams:write-generic-map p package) ;; writes port map (vams:write-port-map package p) (display ";\n" p)))))) (vams:all-necessary-packages))))) ;; Given a uref, prints all generics attribute => values, without some ;; special attribs, like uref,source and architecture. ;; Don't ask why .... it's not the right place to discuss this. ;; requires the output-port and a uref (define vams:write-generic-map (lambda (port uref) (let ((new-ls (vams:all-used-generics (vams:list-without-str-attrib (vams:list-without-str-attrib (vams:list-without-str-attrib (gnetlist:vams-get-package-attributes uref) "refdes") "source") "architecture") uref))) (if (not (null? new-ls)) (begin (display "\tGENERIC MAP (\n" port) (vams:write-component-attributes port uref new-ls) (display ")\n" port)))))) ;;; Port map aspect ;;; ;;; According to IEEE 1076-1993 5.6.1.2: ;;; ;;; port_map_aspect := PORT MAP ( port_association_list ) ;;; ;;; According to IEEE 1076-1993 4.3.2.2: ;;; ;;; association_list := ;;; association_element { , association_element } ;;; writes the port map of the component. ;;; required output-port and uref. (define vams:write-port-map (lambda (uref p) (begin (let ((pin-list (gnetlist:get-pins-nets uref))) (if (not (null? pin-list)) (begin (display "\tPORT MAP (\t" p) (vams:write-association-element (car pin-list) p) (for-each (lambda (pin) (display ",\n" p) (display "\t\t\t" p) (vams:write-association-element pin p)) (cdr pin-list)) (display ")" p))))))) ;;; Association element ;;; ;;; According to IEEE 1076-1993 4.3.2.2: ;;; ;;; association_element := ;;; [ formal_part => ] actual_part ;;; ;;; formal_part := ;;; formal_designator ;;; | function_name ( formal_designator ) ;;; | type_mark ( formal_designator ) ;;; ;;; formal_designator := ;;; generic_name ;;; | port_name ;;; | parameter_name ;;; ;;; actual_part := ;;; actual_designator ;;; | function_name ( actual_designator ) ;;; | type_mark ( actual_designator ) ;;; ;;; actual_designator := ;;; expression ;;; | signal_name ;;; | variable_name ;;; | file_name ;;; | OPEN ;;; ;;; Implementation note: ;;; In the association element one may have a formal part or relly on ;;; positional association. The later is doomed out as bad VAMS practice ;;; and thus will the formal part allways be present. ;;; ;;; The formal part will not support either the function name or type mark ;;; based forms, thus only the formal designator form is supported. ;;; ;;; Of the formal designator forms will generic name and port name be used ;;; as appropriate (this currently means that only port name will be used). ;;; ;;; The actual part will not support either the function name or type mark ;;; based forms, thus only the actual designator form is supported. ;;; the purpose of this function is very easy: write OPEN if pin ;;; unconnected and normal output if it connected. (define vams:write-association-element (lambda (pin p) (begin (display (car pin) p) (display " => " p) (if (strncmp? (cdr pin) "unconnected_pin" 15) (display "OPEN" p) (display (vams:port-test pin) p))))) ;;; writes all generics of a component into the ;;; generic map. needs components uref, the generic-list and ;;; an output-port (define vams:write-component-attributes (lambda (port uref generic-list) (if (not (null? generic-list)) (let ((attrib (car generic-list)) (value (gnetlist:get-package-attribute uref (car generic-list)))) (begin (if (string=? value "unknown") (vams:write-component-attributes port uref (cdr generic-list)) (begin (display "\t\t\t" port) (display attrib port) (display " => " port) (display value port) (vams:write-component-attributes-helper port uref (cdr generic-list))))))))) (define vams:write-component-attributes-helper (lambda (port uref generic-list) (if (not (null? generic-list)) (let ((attrib (car generic-list)) (value (gnetlist:get-package-attribute uref (car generic-list)))) (begin (if (not (string=? value "unknown")) (begin (display ", " port) (newline port) (display "\t\t\t" port) (display attrib port) (display " => " port) (display value port) (vams:write-component-attributes-helper port uref (cdr generic-list))))))))) ;;; ARCHITECTURE GENERATING PART ;;; END ;;; =================================================================================== ;;; ;;; REALLY IMPORTANT HELP FUNCTIONS ;;; returns a list, whitout the specified string. ;;; requires: a list and a string (define vams:list-without-str-attrib (lambda (ls str) (cond ((null? ls) '()) (else (append (cond ((string=? (car ls) str) '()) (else (list (car ls)))) (vams:list-without-str-attrib (cdr ls) str)))))) ;; returns all not default-setted generics ;; After our definitions, all attribs, which values not started with a ;; '?' - character. (define vams:all-used-generics (lambda (ls uref) (begin (if (null? ls) '() (append (if (equal? (string-ref (gnetlist:get-package-attribute uref (car ls)) 0) #\?) '() (list (car ls))) (vams:all-used-generics (cdr ls) uref)))))) ;; checks all pins of a net for consistence, under different points ;; of view (pin-attributes). ;; requires: a pin-attribute and the subnet (define vams:net-consistence (lambda (attribute connlist) (begin (if (equal? connlist '()) #f (if (= (length connlist) 1) (if (equal? attribute 'port_mode) (if (equal? (gnetlist:get-attribute-by-pinnumber (car (car connlist)) (car (cdr (car connlist))) attribute) 'out) #t #f) (append (gnetlist:get-attribute-by-pinnumber (car (car connlist)) (car (cdr (car connlist))) attribute))) (if (equal? attribute 'port_mode) (if (equal? (gnetlist:get-attribute-by-pinnumber (car (car connlist)) (car (cdr (car connlist))) attribute) 'out) #t (vams:net-consistence attribute (cdr connlist))) (if (equal? (gnetlist:get-attribute-by-pinnumber (car (car connlist)) (car (cdr (car connlist))) attribute) (vams:net-consistence attribute (cdr connlist))) (append (gnetlist:get-attribute-by-pinnumber (car (car connlist)) (car (cdr (car connlist))) attribute)) #f))))))) ;; returns a string, where are all whitespaces replaced to underlines ;; requires: a string only (define vams:change-all-whitespaces-to-underlines (lambda (str) (begin (if (string-index str #\ ) (begin (if (= (string-index str #\ ) (- (string-length str) 1)) (vams:change-all-whitespaces-to-underlines (substring str 0 (- (string-length str) 1))) (begin (string-set! str (string-index str #\ ) #\_ ) (vams:change-all-whitespaces-to-underlines str)))) (append str))))) ;; returns all nets, which a given list of pins are conneted to. ;; requires: uref and its pins (define vams:all-pins-nets (lambda (uref pins) (if (null? pins) '() (append (list (car (gnetlist:get-nets uref (car pins)))) (vams:all-pins-nets uref (cdr pins)))))) ;; returns all nets, which a given list of urefs are connetd to ;; requires: list of urefs :-) (define vams:all-packages-nets (lambda (urefs) (if (null? urefs) '() (append (vams:all-pins-nets (car urefs) (gnetlist:get-pins (car urefs))) (vams:all-packages-nets (cdr urefs)))))) ;; returns all ports from a list of urefs. ;; important for hierachical netlists. in our definition ports are ;; special components, which device-attributes a setted to "PORT". ;; The port-attributes are saved on toplevel of this special component. ;; requires: list of urefs (define vams:all-ports-in-list (lambda (urefs) (begin (if (null? urefs) '() (append (if (equal? "PORT" (get-device (car urefs))) (list (car urefs)) '()) (vams:all-ports-in-list (cdr urefs))))))) ;; returns all nets in the schematic, which not ;; directly connected to a port. (define vams:all-necessary-nets (lambda () (vams:only-different-nets all-unique-nets (vams:all-packages-nets (vams:all-ports-in-list packages))))) ;; returns all elements from ls, that are not in without-ls. ;; a simple list function. (define (vams:only-different-nets ls without-ls) (lset-difference equal? ls without-ls)) ;; sort all port-components out (define vams:all-necessary-packages (lambda () (vams:only-different-nets packages (vams:all-ports-in-list packages)))) ;; if pin connetected to a port (special component), then return port. ;; else return the net, which the pin is connetcted to. ;; requires: a pin only (define vams:port-test (lambda (pin) (if (member (cdr pin) (vams:all-packages-nets (vams:all-ports-in-list packages))) (append (vams:which-port pin (vams:all-ports-in-list packages))) (append (cdr pin))))) ;; returns the port, when is in port-list, which the pin is connected to ;; requires: a pin and a port-list (define vams:which-port (lambda (pin ports) (begin (if (null? ports) '() (if (equal? (cdr pin) (car (gnetlist:get-nets (car ports) (car (gnetlist:get-pins (car ports)))))) (append (car ports)) (append (vams:which-port pin (cdr ports)))))))) ;; generate generic list for generic clause ;;((generic value) (generic value) .. ()) (define vams:generate-generic-list (lambda (ls) (if (null? ls) '() (append (if (not (or (string-prefix=? "refdes=" (car ls)) (string-prefix=? "source=" (car ls)) (string-prefix=? "architecture=" (car ls)))) (list (if (string-index (car ls) #\=) (list (substring (car ls) 0 (string-rindex (car ls) #\= 0)) (substring (car ls) (+ (string-rindex (car ls) #\= 0) (if (equal? (string-ref (car ls) (1+ (string-rindex (car ls) #\= 0))) #\?) 2 1)) (string-length (car ls)))) (car ls))) '()) (vams:generate-generic-list (cdr ls)))))) ;;; generates a port list of the current schematic, or returns ;;; a empty list, if no port reachable. (define vams:generate-port-list (lambda (uref) (let ((port-list (list '()))) (if (null? uref) '() (begin (for-each (lambda (pin) (append! port-list (list (list pin (gnetlist:get-attribute-by-pinnnumber uref pin "port_object") (gnetlist:get-attribute-by-pinnumber uref pin "port_type") (gnetlist:get-attribute-by-pinnumber uref pin "port_mode"))))) (gnetlist:get-pins uref)) (append (cdr port-list))))))) ;;; gets the uref value from the top-attribs-list, which is assigned from gschem. ;;; only important for automatic-gnetlist-calls from gschem !!! (define vams:get-uref (lambda (liste) (begin (if (null? liste) '() (if (string-prefix=? "refdes=" (symbol->string (car liste))) (begin (append (substring (car liste) 5 (string-length (car liste))))) (vams:get-uref (cdr liste))))))) ;;; set generate-mode to default (1), when not defined before. (define generate-mode (if (defined? 'generate-mode) generate-mode '1)) ;;; set to-attribs list empty, when not needed. (define top-attribs (if (defined? 'top-attribs) top-attribs '())) (display "loaded gnet-vams.scm\n") geda-gaf-1.8.2/gnetlist/scheme/gnet-pads.scm0000664000175000017500000001057412204066537015577 00000000000000;;; gEDA - GPL Electronic Design Automation ;;; gnetlist - gEDA Netlist ;;; Copyright (C) 1998-2010 Ales Hvezda ;;; Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 2 of the License, or ;;; (at your option) any later version. ;;; ;;; This program is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with this program; if not, write to the Free Software ;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, ;;; MA 02111-1301 USA. ;; PADS netlist format ;; This procedure takes a net name as determined by gnetlist and ;; modifies it to be a valid pads net name. ;; (define pads:map-net-names (lambda (net-name) (let ((net-alias net-name) ) ;; Convert to all upper case because Pads seems ;; to do that internally anyway and we'd rather do ;; it here to catch shorts created by not preserving ;; case. Plus we can eliminate lots of ECO changes ;; that will show up during backannotation. (string-upcase net-alias) ) ) ) ;; This procedure takes a refdes as determined by gnetlist and ;; modifies it to be a valid pads refdes. ;; (define pads:map-refdes (lambda (refdes) (let ((refdes-alias refdes) ) ;; Convert to all upper case because Pads seems ;; to do that internally anyway and we'd rather do ;; it here to catch name clashes created by not preserving ;; case. (string-upcase refdes-alias) ) ) ) (define pads:components (lambda (port packages) (if (not (null? packages)) (begin (let ((pattern (gnetlist:get-package-attribute (car packages) "pattern")) ;; The above pattern should stay as "pattern" and not "footprint" (package (car packages))) (if (not (string=? pattern "unknown")) (display pattern port)) ;; print out the refdes with aliasing (display (gnetlist:alias-refdes package) port) (write-char #\tab port) (display (gnetlist:get-package-attribute package "footprint") port) (display "\r\n" port)) (pads:components port (cdr packages)))))) (define (pads:display-connections nets) (let ((k "")) (for-each (lambda (in-string) (set! k (string-append k in-string))) (map (lambda (net) (string-append " " (gnetlist:alias-refdes (car net)) "." (car (cdr net)))) nets)) (string-append k "\r\n"))) ; This function is replaced with the above one. Due to non existent ; verification, this function is left commented out. ; /spe, 2002-01-08 ;(define (pads:display-connections nets) ; (if (not (null? nets)) ; (string-append " " (car (car nets)) "." (car (cdr (car nets))) ; (pads:display-connections (cdr nets))) ; "\r\n")) (define pads:write-net (lambda (port netnames) (if (not (null? netnames)) (let ((netname (car netnames))) (display "*SIGNAL* " port) (display (gnetlist:alias-net netname) port) (display "\r\n" port) (display (gnetlist:wrap (pads:display-connections (gnetlist:get-all-connections netname)) 78 "") port) (pads:write-net port (cdr netnames)))))) (define pads (lambda (filename) (let ((port (open-output-file filename))) ;; initialize the net-name aliasing (gnetlist:build-net-aliases pads:map-net-names all-unique-nets) ;; initialize the refdes aliasing (gnetlist:build-refdes-aliases pads:map-refdes packages) ;; print out the header (display "!PADS-POWERPCB-V3.0-MILS!\r\n" port) (display "\r\n*PART*\r\n" port) ;; print out the parts (pads:components port packages) ;; print out the net information (display "\r\n*NET*\r\n" port) (pads:write-net port (gnetlist:get-all-unique-nets "dummy")) ;; print out the footer (display "\r\n*END*\r\n" port) (close-output-port port)))) geda-gaf-1.8.2/gnetlist/scheme/gnet-redac.scm0000664000175000017500000000454412204066537015726 00000000000000;;; gEDA - GPL Electronic Design Automation ;;; gnetlist - gEDA Netlist ;;; Copyright (C) 1998-2010 Ales Hvezda ;;; Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 2 of the License, or ;;; (at your option) any later version. ;;; ;;; This program is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with this program; if not, write to the Free Software ;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, ;;; MA 02111-1301 USA. ;; RACAL-REDAC / Cadstar netlist format by Wojciech Kazubski 2003 ;; ;; Display the individual net connections ;; (define redac:display-connections (lambda (nets port k) (if (not (null? nets)) (let ((item (string-append (car (car nets)) " " (car (cdr (car nets)))))) (display item port) (if (not (null? (cdr nets))) (begin (if (> k 0) (begin (display " " port) (redac:display-connections (cdr nets) port (- k 1))) (begin (display (string-append "\r\n" item " ") port) (redac:display-connections (cdr nets) port (+ k 6)))))))))) (define redac:write-net (lambda (port netnames) (if (not (null? netnames)) (let ((netname (car netnames))) (display ".REM " port) (display netname port) (display "\r\n" port) (redac:display-connections (gnetlist:get-all-connections netname) port 7) (display "\r\n" port) (redac:write-net port (cdr netnames)) )))) (define redac (lambda (filename) (let ((port (if (string=? "-" filename) (current-output-port) (open-output-file filename)))) (display ".PCB\r\n" port) (display ".REM CREATED BY gEDA GNETLIST\r\n" port) (display ".CON\r\n" port) (display ".COD 2\r\n\r\n" port) (redac:write-net port (gnetlist:get-all-unique-nets "dummy")) (display ".EOD\r\n" port) (close-output-port port)))) geda-gaf-1.8.2/gnetlist/scheme/gnet-liquidpcb.scm0000664000175000017500000000620412204066537016617 00000000000000;;; gEDA - GPL Electronic Design Automation ;;; gnetlist - gEDA Netlist ;;; Copyright (C) 2008-2010 Ales Hvezda ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 2 of the License, or ;;; (at your option) any later version. ;;; ;;; This program is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with this program; if not, write to the Free Software ;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, ;;; MA 02111-1301 USA ;; -------------------------------------------------------------------------- ;; ;; liquid pcb gnetlist backend ;; ;; ;; Top level header ;; (define liquidpcb:write-top-header (lambda (p) (display "" p) (newline p))) ;; ;; Bottom footer ;; (define liquidpcb:write-bottom-footer (lambda (p) (display "" p) (newline p))) ;; ;; Header for netlist section ;; (define liquidpcb:start-netlist (lambda (p) (display " " p) (newline p))) ;; ;; footer for netlist section ;; (define liquidpcb:end-netlist (lambda (p) (display " " p) (newline p))) ;; ;; Write the individual net connections ;; (define liquidpcb:write-connections (lambda (nets port) (if (not (null? nets)) (begin (display " " port) (newline port) (liquidpcb:write-connections (cdr nets) port))))) ;; ;; Write netname : uref pin, uref pin, ... ;; (define liquidpcb:write-net (lambda (port netnames) (if (not (null? netnames)) (let ((netname (car netnames))) (begin (display " " port) (newline port) (liquidpcb:write-connections (gnetlist:get-all-connections netname) port) (display " " port) (newline port) (liquidpcb:write-net port (cdr netnames))))))) ;; ;; Write the netlist section of the liquidPCB format ;; (define liquidpcb:write-netlist (lambda (port) (let ((all-uniq-nets (gnetlist:get-all-unique-nets "dummy"))) (liquidpcb:write-net port all-uniq-nets)))) ;; ;; Highest level function ;; (define liquidpcb (lambda (output-filename) (let ((port (open-output-file output-filename))) (begin (liquidpcb:write-top-header port) (liquidpcb:start-netlist port) (liquidpcb:write-netlist port) (liquidpcb:end-netlist port)) (liquidpcb:write-bottom-footer port) (close-output-port port)))) ;; ;; liquid PCB netlist backend ends ;; ;; -------------------------------------------------------------------------- geda-gaf-1.8.2/gnetlist/scheme/gnet-pcbpins.scm0000664000175000017500000000616712204066537016311 00000000000000;;; gEDA - GPL Electronic Design Automation ;;; gnetlist - gEDA Netlist ;;; Backend for propagating pin names from gschem to footprints in pcb ;;; Copyright (C) 2005-2010 Dan McMahill ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 2 of the License, or ;;; (at your option) any later version. ;;; ;;; This program is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with this program; if not, write to the Free Software ;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, ;;; MA 02111-1301 USA. (use-modules (ice-9 regex)) ;; A comma or close parenthesis will cause problems with the pcb ;; action script, so if one of the arguments to ChangePinName contains ;; one it should be quoted. Any quote characters within the argument ;; are escaped. ;; ;; At present, this function only quotes if there is a comma or close ;; parenthesis present in the string. (define pcbpins:quote_string (lambda (s) (if (string-match "[,)]" s) (string-join (list "\"" (regexp-substitute/global #f "\"" s 'pre "\\\"" 'post) "\"") "") s))) ;; write out the pins for a particular component (define pcbpins:component_pins (lambda (port package pins) (if (and (not (null? package)) (not (null? pins))) (begin (let ( (pin (car pins)) (label #f) (pinnum #f) ) (display "ChangePinName(" port) (display (pcbpins:quote_string package) port) (display ", " port) (set! pinnum (gnetlist:get-attribute-by-pinnumber package pin "pinnumber")) (display (pcbpins:quote_string pinnum) port) (display ", " port) (set! label (gnetlist:get-attribute-by-pinnumber package pin "pinlabel")) (if (string=? label "unknown") (set! label pinnum) ) (display (pcbpins:quote_string label) port) (display ")\n" port) ) (pcbpins:component_pins port package (cdr pins)) ) ) ) ) ;; write out the components (define pcbpins:components (lambda (port packages symcnt) (if (not (null? packages)) (begin (let ((package (car packages))) ;; (display "\n# Start of element " port) (display package port) (newline port) ;; write the pins (pcbpins:component_pins port package (gnetlist:get-pins package)) ) (pcbpins:components port (cdr packages) (+ symcnt 1)) ) ) ) ) ;; The top level netlister for pcbpins (define pcbpins (lambda (filename) (let ((port (open-output-file filename))) ;; write the header (display "# Pin name action command file\n" port) ;; write the components (pcbpins:components port packages 1) ;; close netlist (close-output-port port) ) ) ) geda-gaf-1.8.2/gnetlist/scheme/gnet-geda.scm0000664000175000017500000001233112204066537015541 00000000000000;;; gEDA - GPL Electronic Design Automation ;;; gnetlist - gEDA Netlist ;;; Copyright (C) 1998-2010 Ales Hvezda ;;; Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 2 of the License, or ;;; (at your option) any later version. ;;; ;;; This program is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with this program; if not, write to the Free Software ;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, ;;; MA 02111-1301 USA. ;; -------------------------------------------------------------------------- ;; ;; gEDA's native test netlist format specific functions go here ;; ;; ;; Top level header ;; (define geda:write-top-header (lambda (p) (display "START header" p) (newline p) (newline p) (display "gEDA's netlist format" p) (newline p) (display "Created specifically for testing of gnetlist" p) (newline p) (newline p) (display "END header" p) (newline p) (newline p))) ;; ;; header for components section ;; (define geda:start-components (lambda (p) (display "START components" p) (newline p) (newline p))) ;; ;; footer for components section ;; (define geda:end-components (lambda (p) (newline p) (display "END components" p) (newline p) (newline p))) ;; ;; header for renamed section ;; (define geda:start-renamed-nets (lambda (p) (display "START renamed-nets" p) (newline p) (newline p))) ;; ;; footer for renamed section ;; (define geda:end-renamed-nets (lambda (p) (newline p) (display "END renamed-nets" p) (newline p) (newline p))) ;; ;; header for nets section ;; (define geda:start-nets (lambda (p) (display "START nets" p) (newline p) (newline p))) ;; ;; footer for net section ;; (define geda:end-nets (lambda (p) (newline p) (display "END nets" p) (newline p) (newline p))) ;; ;; Top level component writing ;; (define geda:components (lambda (port ls) (if (not (null? ls)) (let ((package (car ls))) (begin (display package port) (write-char #\space port) (display "device=" port) (display (get-device package) port) (newline port) (geda:components port (cdr ls))))))) ;; ;; renamed nets writing ;; (define geda:renamed-nets (lambda (port ls) (if (not (null? ls)) (let ((renamed-pair (car ls))) (begin ;;; (display renamed-pair) (newline) (display (car renamed-pair) port) (display " -> " port) (display (car (cdr renamed-pair)) port) (newline port) (geda:renamed-nets port (cdr ls))))))) ;; ;; Display the individual net connections ;; (define geda:display-connections (lambda (nets port) (if (not (null? nets)) (begin (display (car (car nets)) port) (write-char #\space port) (display (car (cdr (car nets))) port) (if (not (null? (cdr nets))) (begin (write-char #\, port) (write-char #\space port))) (geda:display-connections (cdr nets) port))))) ;; ;; Display all nets ;; (define geda:display-name-nets (lambda (port nets) (begin (geda:display-connections nets port) (write-char #\space port) (newline port)))) ;; ;; Write netname : uref pin, uref pin, ... ;; (define geda:write-net (lambda (port netnames) (if (not (null? netnames)) (let ((netname (car netnames))) (begin (display netname port) (display " : " port) (geda:display-name-nets port (gnetlist:get-all-connections netname)) (geda:write-net port (cdr netnames))))))) ;; ;; Write the net part of the gEDA format ;; (define geda:nets (lambda (port) (let ((all-uniq-nets (gnetlist:get-all-unique-nets "dummy"))) (geda:write-net port all-uniq-nets)))) ;;; Highest level function ;;; Write my special testing netlist format ;;; (define geda (lambda (output-filename) (let ((port (open-output-file output-filename))) (begin ;;; (gnetlist:set-netlist-mode "gEDA") No longer needed (geda:write-top-header port) (geda:start-components port) (geda:components port packages) (geda:end-components port) (geda:start-renamed-nets port) (geda:renamed-nets port (gnetlist:get-renamed-nets "dummy")) (geda:end-renamed-nets port) (geda:start-nets port) (geda:nets port) (geda:end-nets port)) (close-output-port port)))) ;; ;; gEDA's native test netlist format specific functions ends ;; ;; -------------------------------------------------------------------------- geda-gaf-1.8.2/gnetlist/scheme/partslist-common.scm0000664000175000017500000000570012063576065017230 00000000000000; Copyright (C) 2001-2010 MIYAMOTO Takanori ; gnet-partslist-common.scm ; ; This program is free software; you can redistribute it and/or modify ; it under the terms of the GNU General Public License as published by ; the Free Software Foundation; either version 2 of the License, or ; (at your option) any later version. ; ; This program is distributed in the hope that it will be useful, ; but WITHOUT ANY WARRANTY; without even the implied warranty of ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ; GNU General Public License for more details. ; ; You should have received a copy of the GNU General Public License ; along with this program; if not, write to the Free Software ; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA (define (get-parts-table packages) (if (null? packages) '() (let ((package (car packages))) (if (string=? (get-device package) "include") (get-parts-table (cdr packages)) (cons (list package (get-device package) (get-value package) (gnetlist:get-package-attribute package "footprint")) ;; sdb change (get-parts-table (cdr packages))))))) (define (write-one-row ls separator end-char port) (if (null? ls) '() (begin (display (car ls) port) (for-each (lambda (st) (display separator port)(display st port)) (cdr ls)) (display end-char port)))) (define (get-sortkey-value ls key-column) (list-ref (car ls) key-column)) (define (marge-sort-sub ls1 ls2 key-column) (if (or (null? ls1) (null? ls2)) (append ls1 ls2) (if (string-ci<=? (get-sortkey-value ls1 key-column) (get-sortkey-value ls2 key-column)) (cons (car ls1) (marge-sort-sub (cdr ls1) ls2 key-column)) (cons (car ls2) (marge-sort-sub ls1 (cdr ls2) key-column))))) (define (marge-sort ls key-column) (let ((midpoint (inexact->exact (floor (/ (length ls) 2))))) (if (<= (length ls) 1) (append ls) (let ((top-half (reverse (list-tail (reverse ls) midpoint))) (bottom-half (list-tail ls (- (length ls) midpoint)))) (set! top-half (marge-sort top-half key-column)) (set! bottom-half (marge-sort bottom-half key-column)) (marge-sort-sub top-half bottom-half key-column))))) (define (marge-sort-with-multikey ls key-columns) (if (or (<= (length ls) 1) (null? key-columns)) (append ls) (let* ((key-column (car key-columns)) (sorted-ls (marge-sort ls key-column)) (key-column-only-ls ((lambda (ls) (let loop ((l ls)) (if (null? l) '() (cons (get-sortkey-value l key-column) (loop (cdr l)))))) sorted-ls)) (first-value (get-sortkey-value sorted-ls key-column)) (match-length (length (member first-value (reverse key-column-only-ls)))) (first-ls (list-tail (reverse sorted-ls) (- (length sorted-ls) match-length))) (rest-ls (list-tail sorted-ls match-length))) (append (marge-sort-with-multikey first-ls (cdr key-columns)) (marge-sort-with-multikey rest-ls key-columns))))) geda-gaf-1.8.2/gnetlist/scheme/gnet-vipec.scm0000664000175000017500000001361612204066537015756 00000000000000;;; gEDA - GPL Electronic Design Automation ;;; gnetlist - gEDA Netlist ;;; Copyright (C) 1998-2010 Ales Hvezda ;;; Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 2 of the License, or ;;; (at your option) any later version. ;;; ;;; This program is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with this program; if not, write to the Free Software ;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, ;;; MA 02111-1301 USA. (define vipec:analysis-templates (list (cons (cons "VIPEC" " ") (list (list "value" "R=" #t))) )) (define vipec:component-templates (list (cons (cons "RESISTOR" "RES") (list (list "value" "R=" #t "use value attrib for resistance"))) (cons (cons "INDUCTOR" "IND") (list (list "value" "L=" #t "use value attrib for inductance") (list "Q" "Q=" #f))) (cons (cons "CAPACITOR" "CAP") (list (list "value" "C=" #t "use value attrib for capacitance"))) (cons (cons "TLIN" "TLIN") (list (list "Z" "Z=" #t 50) (list "length" "E=" #t "length attrib for length") (list "F" "F=" #t "F attrib for frequency"))) (cons (cons "CLIN" "CLIN") (list (list "ZE" "ZE=" #t) (list "ZO" "ZO=" #t) (list "E" "E=" #t) (list "F" "F=" #t))) (cons (cons "SPARAMBLOCK" "BLOCK") (list (list "filename" "" #t "filename attrib for sparams"))) )) (define vipec:get-template (lambda (templates device) (if (not (null? templates)) (if (string=? device (car (car (car templates)))) (car templates) (vipec:get-template (cdr templates) device)) (begin (display "Template not found ") (display device) (newline) (cons (cons device "error") '()))))) (define (vipec:write-net-name-of-node uref number-of-pin netnumbers port) (do ((i 1 (1+ i))) ((> i number-of-pin)) (let ((pin-name (number->string i))) (display (get-net-number (car (gnetlist:get-nets uref (gnetlist:get-attribute-by-pinseq uref pin-name "pinnumber"))) netnumbers) port) (write-char #\space port)))) (define vipec:write-attribs (lambda (package attribs port term) (if (not (null? attribs)) (let ((attrib (car attribs)) (value (gnetlist:get-package-attribute package (car(car attribs))))) (if (not (string=? value "unknown")) (begin (display (cadr attrib) port) (display value port) (display term port)) (if (and (caddr attrib)(not (null? (cdddr attrib)))) (begin (display (cadr attrib) port) (display (cadddr attrib) port) (display term port)))) (vipec:write-attribs package (cdr attribs) port term))))) (define vipec:write-gen-component (lambda (package port netnumbers) (let ((template (vipec:get-template vipec:component-templates (get-device package)))) (display "\t" port) (display (cdr (car template)) port) (display "\t" port) (vipec:write-net-name-of-node package (length (gnetlist:get-pins package)) netnumbers port) (vipec:write-attribs package (cdr template) port "\t") (display (string-append "\t% " package) port) (newline port)))) (define vipec:component-writing (lambda (port ls netnumbers) (if (not (null? ls)) (let ((package (car ls)) (device (get-device (car ls)))) (cond ((string=? device "VIPEC") #t) ((string=? device "SMITH") #t) ((string=? device "GRID") #t) (else (vipec:write-gen-component package port netnumbers))) (vipec:component-writing port (cdr ls) netnumbers))))) (define vipec:misc-components (lambda (netnumbers port) ;; (display "\tRES\t0 " port) ;; (display (get-net-number "GND" netnumbers) port) ;; (display " R=0.00001\t% Assign ground net\n" port) (display "\tDEF2P\t" port) (display (get-net-number "PORT1" netnumbers) port) (display " " port) (display (get-net-number "PORT2" netnumbers) port) (display "\n\tTERM\t50 50\n" port))) (define vipec:header (lambda (port) (display "% ViPEC RF Netlister\n" port) (display "% Written by Matthew Ettus\n" port) (display "% Based on code by Bas Gieltjes\n" port))) (define vipec:analysis-block (lambda (packages port) (if (not (null? packages)) (begin (if (string=? (get-device (car packages)) "VIPEC") (let ((template (vipec:get-template vipec:analysis-templates "VIPEC"))) (vipec:write-attribs (car packages) (cdr template) port "\n") (newline port))) (vipec:analysis-block (cdr packages) port))))) (define vipec (lambda (output-filename) (let ((port (open-output-file output-filename)) (netnumbers (number-nets all-unique-nets 1))) (vipec:header port) (display "CKT\n" port) (vipec:component-writing port packages netnumbers) (vipec:misc-components netnumbers port) (newline port) (vipec:analysis-block packages port) (close-output-port port)))) geda-gaf-1.8.2/gnetlist/scheme/gnet-drc2.scm0000664000175000017500000011115312204066537015475 00000000000000;;; gEDA - GPL Electronic Design Automation ;;; gnetlist - gEDA Netlist ;;; Copyright (C) 1998-2010 Ales Hvezda ;;; Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 2 of the License, or ;;; (at your option) any later version. ;;; ;;; This program is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with this program; if not, write to the Free Software ;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, ;;; MA 02111-1301 USA. ;; -------------------------------------------------------------------------- ;; ;; DRC backend written by Carlos Nieves Onega starts here. ;; ;; 2010-12-11: Fix stack overflows with large designs. ;; 2010-10-02: Applied patch from Karl Hammar. Do drc-matrix lower triangular ;; and let get-drc-matrixelement swap row/column if row < column. ;; 2006-04-22: Display the pins when reporting a net with only one connection. ;; 2006-04-08: Added support for DRC directives (DontCheckPintypes and ;; NoConnection), so the DRC doesn't depend on the net name ;; anymore. ;; Changed the drc connection matrix. Now an unknown pin doesn't ;; generate an error, and it can drive a net. ;; Added report for pins without the 'pintype' attribute. ;; 2006-04-05: Fixed parenthesis mismatch in function drc2:check-slots. ;; Thanks to David Logan for reporting the bug. ;; 2006-03-02: Don't check pintypes of net "NoConnection". ;; Thanks to Holger Oehm for the bug report and providing ;; a patch. ;; 2006-02-28: Added netname in the output message when checking pintype ;; connections. Thanks to Holger Oehm for providing the patch. ;; 2006-01-15: Changed error message to explain it a little bit. ;; 2006-01-07: Added missing 'passive' in the pintype-full-names list, and ;; changed the pintype error/warning message to something more ;; self-explaining. ;; 2005-02-11: Output to stdout if the output filename is "-". ;; 2005-02-08: Use a parameter instead of the quiet mode of gnetlist so ;; gnetlist doesn't return a non-zero value when there are only ;; warnings. This parameter is 'ignore-warnings-in-return-value'. ;; 2005-02-06: Make gnetlist return a non-zero value when errors or warnings ;; are found. If there is only warnings, the non-zero return value ;; can be disabled using the "quiet mode" option of gnetlist. ;; 2005-02-06: Fixed bug when packages list is empty. ;; 2005-01-23: Added check for duplicated references. ;; 2003-10-24: Added numslots and slot attributes check. ;; 2003-06-17: Added configuration support and slots check. ;; 2003-06-05: Now checking for unconnected pins look into the DRC matrix if ;; it should issue an error, warning, or do nothing. ;; If the drc-matrix is defined before the execution of the backend, ;; then it's not overwritten. It allows backend configuration. ;; ;; 2003-06-04: Added check for unconnected pins and fix one small error (index limit error). ;; 2003-06-03: First release ;; Parameters ;; ---------- ;; Parameters should be passed to the backed using -O option in gnetlist's ;; command line. ;; ;; * ignore-warnings-in-return-value: By default, this backend makes gnetlist ;; return a non-zero value when warnings or errors are found. This is ;; useful for Makefiles. Using this option, gnetlist will return a zero ;; value if there are only DRC warnings. ;; ;; Output ;; ------ ;; By default, the backend outputs to the filename specified in the command line, or to ;; stdout if the output filename is "-". ;; ;; Configuration ;; ------------- ;; ;; Some test can be disabled defining some variables. Following is a list with a pair of check ;; and variable. If the variable is defined, then that check is not performed. ;; ;; Check Variable Value ;; ----------------------------------------------------------------------------------------------- ;; Not numbered parts. dont-check-non-numbered-parts whatever you want ;; Duplicated part references (Note 1) dont-check-duplicated-references whatever you want ;; Nets with only one connection. dont-check-one-connection-nets whatever you want ;; Type of pins connected to each net. dont-check-pintypes-of-nets whatever you want ;; Net not driven. dont-check-not-driven-nets whatever you want ;; Unconnected pins dont-check-unconnected-pins whatever you want ;; Values of slot and numslots attribs. dont-check-slots whatever you want ;; Slot is used more than one time. dont-check-duplicated-slots whatever you want ;; Reports unused slots dont-check-unused-slots whatever you want ;; Don't report anything action-unused-slots #\c ;; Report them as a warning action-unused-slots #\w ;; Report them as an error action-unused-slots #\w ;; ;; Note 1: DRC checks are case sensitive by default. If you want them to be case insensitive, then you ;; only have to define the variable 'case_insensitive' to whatever value you want. ;; ;; Example: ;; (define dont-check-non-numbered-parts 1) ;; (define dont-check-duplicated-references 1) ;; (define dont-check-one-connection-nets 1) ;; (define dont-report-unknown-pintypes 1) ;; (define dont-check-pintypes-of-nets 1) ;; (define dont-check-not-driven-nets 1) ;; (define dont-check-unconnected-pins 1) ;; (define dont-check-duplicated-slots 1) ;; (define dont-check-unused-slots 1) ;; (define action-unused-slots #\w) ;; (define case_insensitive 1) ;; ;; The check for not driven nets only is performed when checking the type of the pins connected ;; to each net. ;; There is a list which specifies which type of pin can drive a net. It's called pintype-can-drive. ;; It's a list, with 0 or 1 integer elements. The order is specified below and is very important, since ;; each position in the list matches one type of pin. This list can be specified before running this ;; backend, otherwise, the backend will use the default values. ;; ;; Example: ;; (define pintype-can-drive (list 0 0 1 1 1 1 1 1 1 0 1 0 )) ;; ;; There are two checks that are configurable by a DRC connection matrix: check for unconnected pins ;; and check for the type of pins connected to each net. ;; Each element of the DRC matrix matches one connection between two pins (the "row" pin and the "column" ;; pin). The order is specified below and is very important, since each position in the list matches ;; one type of pin. ;; The DRC matrix can be specified before running this backend. Otherwise, the backend will use the ;; default values. ;; ;; Example (default matrix): ;; ;; (define drc-matrix (list ;;; Order is important ! ;;; unknown in out io oc oe pas tp tri clk pwr unconnected ;;;unknown ;; '( #\c ) ;;;in ;; '( #\c #\c) ;;;out ;; '( #\c #\c #\e ) ;;;io ;; '( #\c #\c #\w #\c) ;;;oc ;; '( #\c #\c #\e #\w #\e) ;;;oe ;; '( #\c #\c #\e #\w #\c #\e) ;;;pas ;; '( #\c #\c #\c #\c #\c #\c #\c) ;;;tp ;; '( #\c #\c #\e #\w #\e #\e #\c #\e) ;;;tri ;; '( #\c #\c #\e #\c #\c #\c #\c #\e #\c) ;;;clk ;; '( #\c #\c #\c #\c #\c #\c #\c #\c #\c #\c) ;;;pwr ;; '( #\c #\c #\e #\w #\e #\e #\c #\e #\e #\e #\c) ;;;unconnected ;; '( #\e #\e #\e #\e #\e #\e #\e #\e #\e #\e #\e #\e ))) ;; ------------------------------------------------------------------------------- ;; IMPORTANT: Don't modify anything below unless you know what you are doing. ;; ------------------------------------------------------------------------------- (use-modules (srfi srfi-1)) (or (defined? 'define-syntax) (use-modules (ice-9 syncase))) (define-syntax define-undefined (syntax-rules () ((_ name expr) (define name (if (defined? (quote name)) name expr))))) ;; ;; Some internal definitions ;; ; Pintype definitions. Overwrite previous definitions, because the backend depends on them. (define unknown 0) (define in 1) (define out 2) (define io 3) (define oc 4) (define oe 5) (define pas 6) (define tp 7) (define tri 8) (define clk 9) (define pwr 10) (define undefined 11) (define pintype-names (list "unknown" "in" "out" "io" "oc" "oe" "pas" "tp" "tri" "clk" "pwr" "unconnected")) (define pintype-full-names (list "unknown" "input" "output" "input/output" "open collector" "open emitter" "passive" "totem-pole" "tristate" "clock" "power" "unconnected")) ; define if a specified pin can drive a net (define (pintype-can-drive-valid? lst) (define (int01? x) (and (integer? x) (or (= x 0) (= x 1)))) (and (list? lst) (= (length lst) (length pintype-names)) (every int01? lst))) (define pintype-can-drive (if (defined? 'pintype-can-drive) (if (pintype-can-drive-valid? pintype-can-drive) pintype-can-drive (begin (display "INTERNAL ERROR: List of pins which can drive a net bad specified. Using default value.") (newline) #f)) #f)) (if (not pintype-can-drive) ; unk in out io oc oe pas tp tri clk pwr undef (set! pintype-can-drive (list 1 0 1 1 1 1 1 1 1 0 1 0 ))) ; DRC matrix ; ; #\e: error #\w: warning #\c: correct (define-undefined drc-matrix (list ; Order is important ! ; unknown in out io oc oe pas tp tri clk pwr unconnected ;unknown '( #\c ) ;in '( #\c #\c ) ;out '( #\c #\c #\e ) ;io '( #\c #\c #\w #\c ) ;oc '( #\c #\c #\e #\w #\e ) ;oe '( #\c #\c #\e #\w #\c #\e ) ;pas '( #\c #\c #\c #\c #\c #\c #\c ) ;tp '( #\c #\c #\e #\w #\e #\e #\c #\e ) ;tri '( #\c #\c #\e #\c #\c #\c #\c #\e #\c ) ;clk '( #\c #\c #\c #\c #\c #\c #\c #\c #\c #\c ) ;pwr '( #\c #\c #\e #\w #\e #\e #\c #\e #\e #\e #\c ) ;unconnected '( #\e #\e #\e #\e #\e #\e #\e #\e #\e #\e #\e #\e ) )) ;; Number of errors and warnings found (define errors_number 0) (define warnings_number 0) (define-undefined action-unused-slots #\w) (if (or (not (char? action-unused-slots)) (not (or (char=? action-unused-slots #\w) (char=? action-unused-slots #\c) (char=? action-unused-slots #\e)))) (begin (display "INTERNAL ERROR: Action when unused slots are found has a wrong value. Using default.") (newline) (set! action-unused-slots #\w))) ;----------------------------------------------------------------------- ; DRC matrix functions ; ; Get the position of a pintype in the list, by its pintype name ("io", "in",...) (define drc2:position-of-pintype (lambda (type) (- (length pintype-names) (length (member (string-downcase type) pintype-names))))) ; Get the full name of a specified position in the pintype list. (define drc2:get-full-name-of-pintype-by-number (lambda (type) (list-ref pintype-full-names type))) ; Get the full name of a specified pintype short name. (i.e "io" -> "input/output") (define drc2:get-full-name-of-pintype-by-name (lambda (type) (list-ref pintype-full-names (drc2:position-of-pintype (string-downcase type))))) ; Get value x y from matrix (define drc2:get-drc-matrix-element (lambda (row column) (if (< row column) (list-ref (list-ref drc-matrix column) row) (list-ref (list-ref drc-matrix row) column)))) ; Check if all elements of the DRC matrix are characters (define drc2:drc-matrix-elements-are-correct? (lambda () (let check-row ((row 0)) (if (let check-column ((column 0)) (if (not (char? (drc2:get-drc-matrix-element row column))) #f (if (< column (- (length pintype-names) 1)) (check-column (+ column 1)) #t) ) ) (if (< row (- (length pintype-names) 1)) (check-row (+ row 1)) #t) #f) ) )) ; ; End of DRC matrix functions ;----------------------------------------------------------------------- ;----------------------------------------------------------------------- ; SYMBOLS checking functions ; ;; ;; Check for symbols not numbered. ;; ;; example of packages: (U100 U101 U102) (define drc2:check-non-numbered-items (lambda (port packages) (if (not (null? packages)) (let ((package (car packages))) (begin (if (not (eq? (string-index package #\?) #f)) (begin (display "ERROR: Reference not numbered: " port) (display package port) (newline port) (set! errors_number (+ errors_number 1)) ) ) (drc2:check-non-numbered-items port (cdr packages))))))) ;; ;; Check for duplicated slots ;; ;; Check if a slot of a package is used more than one time. Checks all packages in the design. (define drc2:check-duplicated-slots (lambda (port) (define check-duplicated-slots-of-package (lambda (uref) (define check-slots-loop (lambda (slots_list) (if (> (length slots_list) 1) (begin (if (member (car slots_list) (cdr slots_list)) (begin (display (string-append "ERROR: duplicated slot " (number->string (car slots_list)) " of uref " uref) port) (newline port) (set! errors_number (+ errors_number 1)))) (check-slots-loop (cdr slots_list)) )))) (check-slots-loop (gnetlist:get-slots uref)))) (for-each check-duplicated-slots-of-package packages) )) ;; ;; Checks for slots not used. ;; (define drc2:check-unused-slots (lambda (port) (define check-unused-slots-of-package (lambda (uref) (define check-slots-loop (lambda (slot_number slots_list) (let ( (numslots (string->number (gnetlist:get-package-attribute uref "numslots"))) ) (if (not (member slot_number slots_list)) (begin (if (not (char=? action-unused-slots #\c)) (begin (if (char=? action-unused-slots #\e) (begin (display (string-append "ERROR: Unused slot " (number->string slot_number) " of uref " uref) port) (set! errors_number (+ errors_number 1))) (begin (display (string-append "WARNING: Unused slot " (number->string slot_number) " of uref " uref) port) (set! warnings_number (+ warnings_number 1)))) (newline port))))) (if (< slot_number numslots) (check-slots-loop (+ slot_number 1) slots_list))))) (if (integer? (string->number (gnetlist:get-package-attribute uref "numslots"))) (check-slots-loop 1 (gnetlist:get-unique-slots uref)) ) )) (for-each check-unused-slots-of-package packages) )) ;; ;; Check slot number is greater or equal than numslots for all packages ;; (define drc2:check-slots (lambda (port) (define check-slots-of-package (lambda (uref) (let* ( (numslots_string (gnetlist:get-package-attribute uref "numslots")) (numslots (string->number numslots_string)) (slot_string (let ((slots (gnetlist:get-all-package-attributes uref "slot"))) (if (or (null? slots) (not (car slots))) "unknown" (car slots)))) (slot (string->number slot_string)) ) (let () (define check-slots-loop (lambda (slots_list) (if (not (null? slots_list)) (let ((this_slot (car slots_list))) (if (integer? this_slot) (if (not (and (<= this_slot numslots) (>= this_slot 1))) ;; If slot is not between 1 and numslots, then report an error. (begin (display (string-append "ERROR: Reference " uref ": Slot out of range (" (number->string this_slot) ").") port) (newline port) (set! errors_number (+ errors_number 1))))) (check-slots-loop (cdr slots_list)) )))) (if (string-ci=? slot_string "unknown") (begin ;; If slot attribute is not defined. (if (or (string-ci=? numslots_string "unknown") (= numslots 0)) (begin ;; No slot neither numslots (or set to zero) attributes defined. ;; This is correct. ;;(display (string-append "No slotted reference: " uref)) (display "") ;;(newline) ) (begin ;; Slot not defined, but numslots defined or different than 0. ;; This is incorrect. Check if numslots is a number and ;; report the situation to the user. (if (integer? numslots) ;; If no slot attribute, but numslots is defined and not zero. (begin ;; If numslots is a number, then slot should be defined. (display (string-append "ERROR: Multislotted reference " uref " has no slot attribute defined.") port) (newline port) (set! errors_number (+ errors_number 1))) (begin (display (string-append "ERROR: Reference " uref ": Incorrect value of numslots attribute (" numslots_string ").") port) (newline port) (set! errors_number (+ errors_number 1)) ) ) )) ) (begin ;; Slot attribute defined. ;; If it's a number, then check slots. If it's not, then report an error. (if (integer? slot) (if (integer? numslots) (check-slots-loop (gnetlist:get-unique-slots uref)) (begin ;; Slot is defined and it's a number, but numslots it's not a number. (display (string-append "ERROR: Reference " uref ": Incorrect value of numslots attribute (" numslots_string ").") port) (newline port) (set! errors_number (+ errors_number 1)))) (begin ;; Slot attribute is not a number. (display (string-append "ERROR: Reference " uref ": Incorrect value of slot attribute (" slot_string ").") port) (newline port) (set! errors_number (+ errors_number 1)))) )))))) (for-each check-slots-of-package packages) )) ;; Count the ocurrences of a given reference in the given list. (define (drc2:count-reference-in-list refdes lst) (define refdes=? (if (defined? 'case_insensitive) string-ci=? string=?)) (fold (lambda (x count) (if (refdes=? refdes x) (1+ count) count)) 0 lst)) ;; Check duplicated references of the given list ;; If the number of ocurrences of a reference in the schematic doesn't match the number ;; of unique slots used by that part, then that reference is used more than one time in ;; the schematic. (define drc2:check-duplicated-references (lambda (port list) (if (null? list) 0 (let ( (refdes (car list))) (if (> (drc2:count-reference-in-list refdes (gnetlist:get-non-unique-packages "")) (length (gnetlist:get-unique-slots refdes))) (begin (display (string-append "ERROR: Duplicated reference " refdes ".") port) (newline port) (set! errors_number (+ errors_number 1)))) (drc2:check-duplicated-references port (cdr list)) )) )) ; ; End of symbol checking functions ;----------------------------------------------------------------------- ;----------------------------------------------------------------------- ; NETs checking functions ; ;; ;; Check for NoConnection nets with more than one pin connected. ;; ;; Example of all-nets: (net1 net2 net3 net4) (define (drc2:check-connected-noconnects port all-nets) (for-each (lambda (netname) (let ((directives (gnetlist:graphical-objs-in-net-with-attrib-get-attrib netname "device=DRC_Directive" "value"))) ;Only check nets with a NoConnection directive (and (member "NoConnection" directives) ( > (length (gnetlist:get-all-connections netname)) '1) (begin (display (string-append "ERROR: Net '" netname "' has connections, but " "has the NoConnection DRC directive: ") port) (drc2:display-pins-of-type port "all" (gnetlist:get-all-connections netname)) (display "." port) (newline port) (set! errors_number (1+ errors_number)))))) all-nets)) ;; ;; Check for nets with less than two pins connected. ;; ;; Example of all-nets: (net1 net2 net3 net4) (define drc2:check-single-nets (lambda (port all-nets) (if (not (null? all-nets)) (let* ((netname (car all-nets)) (directives (gnetlist:graphical-objs-in-net-with-attrib-get-attrib netname "device=DRC_Directive" "value"))) (begin ; If one of the directives is NoConnection, ; then it shouldn't be checked. (if (not (member "NoConnection" directives)) (begin (if (eq? (length (gnetlist:get-all-connections netname)) '0) (begin (display (string-append "ERROR: Net '" netname "' has no connections.") port) (newline port) (set! errors_number (+ errors_number 1)) ) ) (if (eq? (length (gnetlist:get-all-connections netname)) '1) (begin (display (string-append "ERROR: Net '" netname "' is connected to only one pin: ") port) (drc2:display-pins-of-type port "all" (gnetlist:get-all-connections netname)) (display "." port) (newline port) (set! errors_number (+ errors_number 1)) ) ) )) (drc2:check-single-nets port (cdr all-nets))))) )) ;; ;; Return a list with the pintypes of the pins connected to a net. ;; ;; Example. net-conn: ((U100 1) (U101 1)). pintypes-list: ("in" "out" "in") (define drc2:get-pintypes-of-net-connections (lambda (net-conn pintypes-list) (if (not (null? net-conn)) (let* ( (element (car net-conn)) (device (car element)) (pin (car (cdr (car net-conn)))) (pintype (gnetlist:get-attribute-by-pinnumber device pin "pintype")) ) (begin (cons pintype (drc2:get-pintypes-of-net-connections (cdr net-conn) pintypes-list) ) )) (list) ) )) ;; ;; Count pintypes of a net. ;; ;; net: "in", "out", for example. (define drc2:count-pintypes-of-net (lambda (net port) (define output-list (make-list (length pintype-names) 0)) (define add-pintype (lambda (type) (if (not (member (string-downcase type) pintype-names)) (begin (display "INTERNAL ERROR: unknown pin type : " port) (display type port) (newline port)) (begin (list-set! output-list (drc2:position-of-pintype type) (+ 1 (list-ref output-list (drc2:position-of-pintype type)))))) )) (for-each add-pintype net) output-list )) ;; ;; Display pins of a specified type connected to a net ;; ;; type: number of the position of the type in the vector, or ;; the string "all" to display all the pins. ;; connections: ((U100 1) (U101 1)), for example. (define drc2:display-pins-of-type (lambda (port type connections) (if (not (null? connections)) (begin (let ((device (car (car connections))) (pin (car (cdr (car connections))))) (if (or (and (string? type) (string-ci=? type "all")) (string-ci=? (list-ref pintype-names type) (gnetlist:get-attribute-by-pinnumber device pin "pintype")) ) (begin (display device port) (display ":" port) (display pin port) (display " " port))) (drc2:display-pins-of-type port type (cdr connections)) "" ))))) ;; ;; Check connection between two pintypes ;; ;; type1,type2: number of the position of the type in the vector. ;; connections: ((U100 1) (U101 1)), for example. (define drc2:check-connection-of-two-pintypes (lambda (port type1 type2 connections netname) (let* (( drc-matrix-value (drc2:get-drc-matrix-element type1 type2))) (cond ((eqv? drc-matrix-value #\c) 1) (else (if (and (not (eqv? drc-matrix-value #\e)) (not (eqv? drc-matrix-value #\w))) (begin (display "INTERNAL ERROR: DRC matrix has unknown value on position " port) (display type1 port) (display "," port) (display type2 port) (newline port) (error "INTERNAL ERROR: DRC matrix has unknown value. See output for more information")) (begin (if (eqv? drc-matrix-value #\w) (begin (display "WARNING: " port) (set! warnings_number (+ warnings_number 1))) (begin (display "ERROR: " port) (set! errors_number (+ errors_number 1)) )) (display "Pin(s) with pintype '" port) (display (drc2:get-full-name-of-pintype-by-number type1) port) (display "': " port) (display (drc2:display-pins-of-type port type1 connections) port) (display (string-append "\n\tare connected by net '" netname) port) (display "'\n\tto pin(s) with pintype '" port) (display (drc2:get-full-name-of-pintype-by-number type2) port) (display "': " port) (display (drc2:display-pins-of-type port type2 connections) port) (newline port) ) )))))) ;; ;; Check pintypes of the pins connected to a single net ;; ;; type1,type2: number of the position of the type in the vector. ;; connections: ((U100 1) (U101 1)), for example. ;; pintype-count: vector with the number of pins connected to a single net, by pintype. ;; (1 2 3 4 ... 10), for example. (define drc2:check-pintypes-of-single-net (lambda (port connections pintypes pintype-count type1 type2 netname) (define type1-count (list-ref pintype-count type1)) (define type2-count (list-ref pintype-count type2)) (define next-type1 (lambda (port connections pintypes pintype-count type1 type2 netname) (if (< type1 (- (length pintype-names) 2)) (drc2:check-pintypes-of-single-net port connections pintypes pintype-count (+ type1 1) (+ type1 1) netname) ) )) (define next-type2 (lambda (port connections pintypes pintype-count type1 type2 netname) (if (< type2 (- (length pintype-names) 2)) (drc2:check-pintypes-of-single-net port connections pintypes pintype-count type1 (+ type2 1) netname) (next-type1 port connections pintypes pintype-count type1 type1 netname) ))) ; Check type1 with type1 first (if (= type1-count 0) ; if no pins of type1 connected, then continue with (+ type1 1) (begin (next-type1 port connections pintypes pintype-count type1 type2 netname)) (if (= type1 type2) (if (> type1-count 1) (begin (drc2:check-connection-of-two-pintypes port type1 type1 connections netname) (next-type2 port connections pintypes pintype-count type1 type2 netname) ) (next-type2 port connections pintypes pintype-count type1 type2 netname)) (begin (if (= type2-count 0) ; if no pins of type2 connected, then continue with (+ type2 1) (next-type2 port connections pintypes pintype-count type1 type2 netname) ) (if (and (> type1-count 0) (> type2-count 0)) (begin ; Check connections between type1 and type2. (drc2:check-connection-of-two-pintypes port type1 type2 connections netname) ; and continue with the next type2 if within the limits (next-type2 port connections pintypes pintype-count type1 type2 netname) )) ) )))) ;; ;; Check if a net has a pintype which can drive the net. ;; ;; pintype-count: vector with the number of pins connected to a single net, by pintype. ;; (1 2 3 4 ... 10), for example. ;; position: number of the position the function is checking. (define drc2:check-if-net-is-driven (lambda (pintype-count position) (if (< position (- (length pintype-names) 1)) (if (and (> (list-ref pintype-count position) 0) (= (list-ref pintype-can-drive position) 1)) #t (drc2:check-if-net-is-driven pintype-count (+ position 1))) #f))) ;; ;; Check pintype of the pins connected to every net in the design. ;; ;; all-nets: (net1 net2 net3), for example (define drc2:check-pintypes-of-nets (lambda (port all-nets) (if (not (null? all-nets)) (let ((netname (car all-nets))) (begin (let* ( (connections (gnetlist:get-all-connections netname)) (pintypes (drc2:get-pintypes-of-net-connections connections '())) (pintype-count (drc2:count-pintypes-of-net pintypes port)) (directives (gnetlist:graphical-objs-in-net-with-attrib-get-attrib netname "device=DRC_Directive" "value")) ) ; If some directives are defined, then it shouldn't be checked. (if (not (member "DontCheckPintypes" directives)) (drc2:check-pintypes-of-single-net port connections pintypes pintype-count 0 0 netname)) (if (not (defined? 'dont-check-not-driven-nets)) (begin (if (and (not (member "DontCheckIfDriven" directives)) (not (member "NoConnection" directives))) (if (eqv? (drc2:check-if-net-is-driven pintype-count 0) #f) (begin (set! errors_number (+ errors_number 1)) (display "ERROR: Net " port) (display netname port) (display " is not driven." port) (newline port) )) ) )) ) (drc2:check-pintypes-of-nets port (cdr all-nets)) ))) )) ;; ;; Check unconnected pins ;; ;; ref-list: ("U1" "U2"), for example. ;; pin-net: ( (pin net) (pin net) ... ) (define drc2:check-unconnected-pins (lambda (port ref-list pin-net) (define ref "") (if (not (null? ref-list)) (begin (set! ref (car ref-list)) (if (not (null? pin-net)) (let* ( (pair (car pin-net)) (pin (car pair)) (connection (cdr pair)) ) (begin (if (strncmp? connection "unconnected_pin" 15) (begin (let* ((position (drc2:position-of-pintype (gnetlist:get-attribute-by-pinnumber ref pin "pintype"))) (drc-matrix-value (drc2:get-drc-matrix-element undefined position))) (begin (if (eqv? drc-matrix-value #\c) #t (begin (if (eqv? drc-matrix-value #\w) (begin (display "WARNING: " port) (set! warnings_number (+ warnings_number 1))) (begin (display "ERROR: " port) (set! errors_number (+ errors_number 1)) )) (display "Unconnected pin " port) (display ref port) (display ":" port) (display pin port) (newline port) (drc2:check-unconnected-pins port ref-list (cdr pin-net)) )) )) ) (drc2:check-unconnected-pins port ref-list (cdr pin-net)) ) )) (if (> (length ref-list) 1) (drc2:check-unconnected-pins port (cdr ref-list) (gnetlist:get-pins-nets (car (cdr ref-list))))) )) ) )) ; Report pins without the 'pintype' attribute (pintype=unknown) (define (drc2:report-unknown-pintypes port nets) (define (count-unknown-pintypes nets) (fold (lambda (netname count) (let* ((connections (gnetlist:get-all-connections netname)) (pintypes (drc2:get-pintypes-of-net-connections connections '())) (pintype-count (drc2:count-pintypes-of-net pintypes port))) (+ count (list-ref pintype-count (drc2:position-of-pintype "unknown"))))) 0 nets)) (define (display-unknown-pintypes nets) (for-each (lambda (netname) (drc2:display-pins-of-type port (drc2:position-of-pintype "unknown") (gnetlist:get-all-connections netname))) nets)) (and (> (count-unknown-pintypes nets) 0) (begin (display "NOTE: Found pins without the 'pintype' attribute: " port) (display-unknown-pintypes nets) (display "\n")))) ; ; End of Net checking functions ;----------------------------------------------------------------------- ;;; Highest level function ;;; Write my special testing netlist format ;;; (define drc2 (lambda (output-filename) (let ((port (if (string=? "-" output-filename) (current-output-port) (open-output-file output-filename)))) (begin ;; Perform DRC-matrix sanity checks. ; See if all elements of the matrix are chars (if (not (drc2:drc-matrix-elements-are-correct?)) (begin (display "INTERNAL ERROR: DRC matrix elements are NOT all chars." port) (newline port) (newline port) (error "INTERNAL ERROR. DRC matrix elements are NOT all chars."))) ;; Check non-numbered symbols (if (not (defined? 'dont-check-non-numbered-parts)) (begin (display "Checking non-numbered parts..." port) (newline port) (drc2:check-non-numbered-items port packages) (newline port))) ;; Check for duplicated references (if (not (defined? 'dont-check-duplicated-references)) (begin (display "Checking duplicated references..." port) (newline port) (drc2:check-duplicated-references port packages) (newline port))) ;; Check for NoConnection nets with more than one pin connected. (if (not (defined? 'dont-check-connected-noconnects)) (begin (display "Checking NoConnection nets for connections..." port) (newline port) (drc2:check-connected-noconnects port (gnetlist:get-all-unique-nets "dummy")) (newline port))) ;; Check nets with only one connection (if (not (defined? 'dont-check-one-connection-nets)) (begin (display "Checking nets with only one connection..." port) (newline port) (drc2:check-single-nets port (gnetlist:get-all-unique-nets "dummy")) (newline port))) ;; Check "unknown" pintypes (if (not (defined? 'dont-report-unknown-pintypes)) (begin (display "Checking pins without the 'pintype' attribute..." port) (newline port) (drc2:report-unknown-pintypes port (gnetlist:get-all-unique-nets "dummy")) (newline port))) ;; Check pintypes of the pins connected to every net (if (not (defined? 'dont-check-pintypes-of-nets)) (begin (display "Checking type of pins connected to a net..." port) (newline port) (drc2:check-pintypes-of-nets port (gnetlist:get-all-unique-nets "dummy")) (newline port))) ;; Check unconnected pins (if (not (defined? 'dont-check-unconnected-pins)) (begin (display "Checking unconnected pins..." port) (newline port) (if (not (null? packages)) (drc2:check-unconnected-pins port packages (gnetlist:get-pins-nets (car packages)))) (newline port))) ;; Check slots (if (not (defined? 'dont-check-slots)) (begin (display "Checking slots..." port) (newline port) (drc2:check-slots port) (newline port))) ;; Check for duplicated slots (if (not (defined? 'dont-check-duplicated-slots)) (begin (display "Checking duplicated slots..." port) (newline port) (drc2:check-duplicated-slots port) (newline port))) ;; Check for unused slots (if (not (defined? 'dont-check-unused-slots)) (begin (display "Checking unused slots..." port) (newline port) (drc2:check-unused-slots port) (newline port))) ;; Display total number of warnings (if (> warnings_number 0) (begin (display "Found " port) (display warnings_number port) (display " warnings." port) (newline port)) (begin (display "No warnings found. " port) (newline port))) ;; Display total number of errors (if (> errors_number 0) (begin (display "Found " port) (display errors_number port) (display " errors." port) (newline port)) (begin (display "No errors found. " port) (newline port))) (close-output-port port) ;; Make gnetlist return an error if there are DRC errors. ;; If there are only warnings and it's in quiet mode, then ;; do not return an error. (if (and (not (string=? "-" output-filename)) (> errors_number 0)) (begin (display "DRC errors found. See output file.") (newline)) (if (> warnings_number 0) (if (not (calling-flag? "ignore-warnings-in-return-value" (gnetlist:get-calling-flags))) (begin (display "DRC warnings found. See output file.") (newline))))) )))) ;; ;; DRC backend written by Carlos Nieves Onega ends here. ;; ;; -------------------------------------------------------------------------- geda-gaf-1.8.2/gnetlist/scheme/gnet-PCB.scm0000664000175000017500000000352712204066537015254 00000000000000;;; gEDA - GPL Electronic Design Automation ;;; gnetlist - gEDA Netlist ;;; Copyright (C) 1998-2010 Ales Hvezda ;;; Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 2 of the License, or ;;; (at your option) any later version. ;;; ;;; This program is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with this program; if not, write to the Free Software ;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, ;;; MA 02111-1301 USA. ;; PCB format (use-modules (ice-9 format)) (define (PCB:display-connections nets) (apply format #f "~:@{~A-~A ~}\n" nets)) ; This function is replaced with the above one. Due to non existent ; verification, this function is left commented out. ; /spe, 2002-01-08 ;(define (PCB:display-connections nets) ; (if (not (null? nets)) ; (string-append ; (car (car nets)) "-" (car (cdr (car nets))) " " ; (PCB:display-connections (cdr nets))) ; "\n")) (define (PCB:write-net netnames port) (if (not (null? netnames)) (let ((netname (car netnames))) (display netname port) (display "\t" port) (display (gnetlist:wrap (PCB:display-connections (gnetlist:get-all-connections netname)) 200 " \\") port) (PCB:write-net (cdr netnames) port)))) (define (PCB output-filename) (let ((port (open-output-file output-filename))) (PCB:write-net (gnetlist:get-all-unique-nets "dummy") port) (close-output-port port))) geda-gaf-1.8.2/gnetlist/scheme/gnet-eagle.scm0000664000175000017500000001207112204066537015717 00000000000000;;; gEDA - GPL Electronic Design Automation ;;; gnetlist - gEDA Netlist ;;; Copyright (C) 2004-2010 Braddock Gaskill (braddock@braddock.com, ;;; adapted PCB code to Eagle) ;;; Copyright (C) 1998-2010 Ales Hvezda ;;; Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 2 of the License, or ;;; (at your option) any later version. ;;; ;;; This program is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with this program; if not, write to the Free Software ;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, ;;; MA 02111-1301 USA. ;; EAGLE netlist format ;; This procedure takes a net name as determined by gnetlist and ;; modifies it to be a valid eagle net name. ;; (define eagle:map-net-names (lambda (net-name) (let ((net-alias net-name) ) ;; Convert to all upper case because Eagle seems ;; to do that internally anyway and we'd rather do ;; it here to catch shorts created by not preserving ;; case. Plus we can eliminate lots of ECO changes ;; that will show up during backannotation. (string-upcase net-alias) ) ) ) (define eagle:components (lambda (port packages) (if (not (null? packages)) (begin (let ((pattern (gnetlist:get-package-attribute (car packages) "pattern")) ;; The above pattern should stay as "pattern" and not "footprint" (package (car packages)) (lib (gnetlist:get-package-attribute (car packages) "lib")) (value (gnetlist:get-package-attribute (car packages) "value")) (device (gnetlist:get-package-attribute (car packages) "device")) ) (if (not (string=? pattern "unknown")) (display pattern port)) (display "ADD '" port) (display package port) (display "' " port) ;; (display "' TQFP144@atmel (0 0)" port) ;;; (write-char #\tab port) (display (gnetlist:get-package-attribute package "footprint") port) (display "@" port) (if (not (string=? lib "unknown")) (display lib port) (display "smd-ipc" port)) (display " (1 1);" port) (newline port) (if (not (string=? value "unknown")) (begin (display "VALUE '" port) (display package port) (display "' '" port) (display value port) (display "';" port) (newline port) ) (if (not (string=? device "unknown")) (begin (display "VALUE '" port) (display package port) (display "' '" port) (display device port) (display "';" port) (newline port) ) )) ) (eagle:components port (cdr packages)))))) (define (eagle:display-connections nets) (let ((k "")) (for-each (lambda (in-string) (set! k (string-append k in-string))) (map (lambda (net) (string-append " '" (car net) "' '" (car (cdr net)) "'\r\n")) nets)) (string-append k ";\n"))) ; This function is replaced with the above one. Due to non existent ; verification, this function is left commented out. ; /spe, 2002-01-08 ;(define (eagle:display-connections nets) ; (if (not (null? nets)) ; (string-append " " (car (car nets)) "." (car (cdr (car nets))) ; (eagle:display-connections (cdr nets))) ; "\n")) (define eagle:write-net (lambda (port netnames) (if (not (null? netnames)) (let ((netname (car netnames))) (display "SIGNAL '" port) (display (gnetlist:alias-net netname) port) (display "'" port) (newline port) ; (display (gnetlist:wrap ; (eagle:display-connections ; (gnetlist:get-all-connections netname)) ; 78 ; "") ; port) (display (eagle:display-connections (gnetlist:get-all-connections netname)) port) (eagle:write-net port (cdr netnames)))))) (define eagle (lambda (filename) (let ((port (open-output-file filename))) ;; initialize the net-name aliasing (gnetlist:build-net-aliases eagle:map-net-names all-unique-nets) ;; print out the header ;;; (display "!EAGLE-POWERPCB-V3.0-MILS!\n" port) ;;; (display "\n*PART*\n" port) ;;; (display "/* CADSoft Eagle Scripted Netlist Format */\n" port) (display " ;\n" port) ;; print out the parts (eagle:components port packages) ;; print out the net information ;;; (display "\n*NET*\n" port) (eagle:write-net port (gnetlist:get-all-unique-nets "dummy")) ;; print out the footer ;;; (display "\n*END*\n" port) (close-output-port port)))) geda-gaf-1.8.2/gnetlist/scheme/gnet-spice.scm0000664000175000017500000003167712204066537015762 00000000000000;;; gEDA - GPL Electronic Design Automation ;;; gnetlist - gEDA Netlist ;;; Copyright (C) 1998-2010 Ales Hvezda ;;; Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 2 of the License, or ;;; (at your option) any later version. ;;; ;;; This program is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with this program; if not, write to the Free Software ;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, ;;; MA 02111-1301 USA. ;; -------------------------------------------------------------------------- ;; ;; SPICE netlist backend written by S. Gieltjes starts here ;; ;; ;; Given a uref, returns the device associated nets(s) ordered by ;; their pin#, what when not defined? ;; problem is slotted components e.g. ../examples/singlenet_1.sch ;; ;; Ales' changed implemenation ;; Commented out since it has some problems ;; (define spice:write-net-name-of-node ;; (lambda (uref pins port) ;; (if (not (null? pins)) ;; (let ((pin (car pins))) ;; (begin ;; (display pin) (newline) ;; (display (car (gnetlist:get-nets uref pin)) port) ;; (write-char #\space port) ;; (spice:write-net-name-of-node uref (cdr pins) port) ;; ) ;; ) ;; ) ;; ) ;;) ;; ;; gnet-spice replacement of gnetlist:get-nets, a net labeled "GND" becomes 0 ;; (define spice:get-net (lambda (uref pin-name ) (let ((net-name (gnetlist:get-nets uref pin-name))) (cond ((string=? (car net-name) "GND") (cons "0" #t)) (else (cons (car net-name) #t)))))) ;; ;; write netnames connected to pin-a and pin-b ;; (currently used by the controlled sources (e,g,f and h) ;; (define spice:write-two-pin-names (lambda (package pin-a pin-b port) (display (string-append (car (spice:get-net package (gnetlist:get-attribute-by-pinseq package pin-a "pinnumber"))) " ") port) (display (string-append (car (spice:get-net package (gnetlist:get-attribute-by-pinseq package pin-b "pinnumber"))) " ") port))) ;; ;; write a current controlled voltage source and implement the necessary ;; current measuring voltage source (define spice:write-ccvs (lambda (package port) ( begin (display "* begin ccvs expansion, h\n" port) ;; implement the controlled current source ;; the user should create the uref label begining with a h (display (string-append package " ") port) (spice:write-two-pin-names package "1" "2" port) (display (string-append "Vsense_" package " " (spice:component-value package) "\n" ) port) ;; implement the current measuring voltage source (display (string-append "Vsense_" package " ") port) (spice:write-two-pin-names package "3" "4" port) (display "dc 0\n" port) ;; now it is possible to leave the output voltage source unconnected ;; i.e. spice won't complain about unconnected nodes (display (string-append "Iout_" package " ") port) (spice:write-two-pin-names package "1" "2" port) (display "dc 0\n" port) (display "* end ccvs expansion\n" port)))) ;; ;; write a current controlled current source and implement the necessary ;; current measuring voltage source (define spice:write-cccs (lambda (package port) ( begin (display "* begin cccs expansion, f\n" port) ;; implement the controlled current source ;; the user should create the uref label begining with a f (display (string-append package " ") port) (spice:write-two-pin-names package "1" "2" port) (display (string-append "Vsense_" package " " (gnetlist:get-package-attribute package "value") "\n" ) port) ;; implement the current measuring voltage source (display (string-append "Vsense_" package " ") port) (spice:write-two-pin-names package "3" "4" port) (display "dc 0\n" port) (display "* end cccs expansion\n" port)))) ;; ;; write a voltage controlled current source and implement the necessary ;; voltage measuring current source (define spice:write-vccs (lambda (package port) ( begin (display "* begin vccs expansion, g\n" port) ;; implement the controlled current source ;; the user should create a uref label beginning with a g (display (string-append package " ") port) (spice:write-net-name-of-component package (length (gnetlist:get-pins package)) port) (display (string-append (spice:component-value package) "\n") port) ;; implement the voltage measuring current source ;; imagine yourself copying the voltage of a voltage source with an internal ;; impedance, spice starts complaining about unconnected nets if this current ;; source is not here. (display (string-append "Imeasure_" package " ") port) (spice:write-two-pin-names package "3" "4" port) (display "dc 0\n" port) (display "* end vccs expansion\n" port)))) ;; ;; write a voltage controlled voltage source and implement the necessary ;; voltage measuring current source (define spice:write-vcvs (lambda (package port) ( begin (display "* begin vcvs expansion, e\n" port) ;; implement the controlled voltage source ;; the user should create a uref label beginning with an e (display (string-append package " ") port) (spice:write-net-name-of-component package (length (gnetlist:get-pins package)) port) (display (string-append (gnetlist:get-package-attribute package "value") "\n" ) port) ;; implement the voltage measuring current source ;; imagine yourself copying the voltage of a voltage source with an internal ;; impedance, spice starts complaining about unconnected nets if this current ;; source is not here. (display (string-append "Isense_" package " ") port) (spice:write-two-pin-names package "3" "4" port) (display "dc 0\n" port) ;; with an output current source it is possible to leave the output voltage source ;; unconnected i.e. spice won't complain about unconnected nodes (display (string-append "Iout_" package " ") port) (spice:write-two-pin-names package "1" "2" port) (display "dc 0\n" port) (display "* end vcvs expansion\n" port)))) ;; ;; Create a nullor, make sure it consists of a voltage controlled source ;; (define spice:write-nullor (lambda (package port) ( begin (display "* begin nullor expansion, e\n" port) ;; implement the controlled voltage source (display (string-append "E-" package " ") port) (spice:write-net-name-of-component package (length (gnetlist:get-pins package)) port) (display (string-append (gnetlist:get-package-attribute package "value") "\n" ) port) ;; implement the voltage measuring current source ;; imagine yourself copying the voltage of a voltage source with an internal ;; impedance, spice starts complaining about unconnected nets if this current ;; source is not here. (display (string-append "Imeasure_" package " ") port) (spice:write-two-pin-names package "3" "4" port) (display "dc 0\n" port) ;; with an output current source it is possible to leave the output voltage source ;; unconnected i.e. spice won't complain about unconnected nodes (display (string-append "Iout_" package " ") port) (spice:write-two-pin-names package "1" "2" port) (display "dc 0\n" port) (display "* end of nullor expansion\n" port)))) ;; ;; write all listed and available attributes in the form of = ;; (define spice:write-list-of-attributes (lambda (package attrib-list port) (if (not (null? attrib-list)) (begin ; Is it possible to make no differentiation between upper and lower case? ; That relieves you of mixed case forms e.g. As, AS, as..., they are the ; same attributes, spice3f5 is case insensitive. And other spice versions? (if (not (string=? (gnetlist:get-package-attribute package (car attrib-list)) "unknown")) (display (string-append " " (car attrib-list) "=" (gnetlist:get-package-attribute package (car attrib-list))) port)) (spice:write-list-of-attributes package (cdr attrib-list) port))))) ;; ;; write mos transistor ;; (define spice:write-mos-transistor (lambda (package port) (spice:write-one-component package port) ;; create list of attributes which can be attached to a mosfet (let ((attrib-list (list "l" "w" "as" "ad" "pd" "ps" "nrd" "nrs" "temp" "ic"))) (spice:write-list-of-attributes package attrib-list port)) ;; write the off attribute separately (let ((off-value (gnetlist:get-package-attribute package "off"))) (cond ((string=? off-value "#t") (display " off" port)) ((string=? off-value "1" ) (display " off" port)))) (newline port))) ;; ;; Given a uref, returns the device associated nets(s) ordered by their pin#, ;; what when not defined? ;; problem is slotted components e.g. ../examples/singlenet_1.sch ;; (define (spice:write-net-name-of-component uref number-of-pin port) (do ((i 1 (1+ i))) ((> i number-of-pin)) (let ((pin-name (number->string i))) (display (car (spice:get-net uref (gnetlist:get-attribute-by-pinseq uref pin-name "pinnumber"))) port) (write-char #\space port)))) ;; ;; Given a uref, returns the device attribute value as string ;; (define spice:component-value (lambda (package) (let ((value (gnetlist:get-package-attribute package "value"))) (if (not (string=? value "unknown")) value "")))) ;; ;; Include a file ;; (define spice:write-include (lambda (package port) (display (string-append package " " (spice:component-value package) "\n") port))) ;; ;; write the uref, the net name connected to pin# and the component value. No extra attributes. ;; (define spice:write-one-component (lambda (package port) (display (string-append package " ") port) ;; write net names, slotted components not implemented (spice:write-net-name-of-component package (length (gnetlist:get-pins package)) port) ;; write component value, if components have a label "value=#" ;; what if a component has no value label, currently unknown is written (display (spice:component-value package) port))) ;; ;; write the uref, to the pin# connected net and component value and optional extra attributes ;; check if the component is a special spice component ;; (define spice:write-netlist (lambda (port ls) (if (not (null? ls)) (let ((package (car ls))) ;; search for specific device labels (cond ( (string=? (get-device package) "SPICE-ccvs") (spice:write-ccvs package port)) ( (string=? (get-device package) "SPICE-cccs") (spice:write-cccs package port)) ( (string=? (get-device package) "SPICE-vcvs") (spice:write-vcvs package port)) ( (string=? (get-device package) "SPICE-vccs") (spice:write-vccs package port)) ( (string=? (get-device package) "SPICE-nullor") (spice:write-nullor package port)) ( (string=? (get-device package) "PMOS_TRANSISTOR") (spice:write-mos-transistor package port)) ( (string=? (get-device package) "NMOS_TRANSISTOR") (spice:write-mos-transistor package port)) ( (string=? (get-device package) "include") (spice:write-include package port)) ( else (spice:write-one-component package port) (newline port))) (spice:write-netlist port (cdr ls)) )))) ;; ;; Spice netlist header ;; (define spice:write-top-header (lambda (port) (display "* Spice netlister for gnetlist\n" port))) ;; ;; Write the .END line ;; (define spice:write-bottom-footer (lambda (port) (display ".END" port) (newline port))) ;; ;; Spice netlist generation ;; (define spice (lambda (output-filename) (let ((port (open-output-file output-filename))) ;; No longer needed ;; (gnetlist:set-netlist-mode "SPICE") (spice:write-top-header port) (spice:write-netlist port packages) (spice:write-bottom-footer port) (close-output-port port)))) ;; SPICE netlist backend written by S. Gieltjes ends here ;; ;; -------------------------------------------------------------------------- geda-gaf-1.8.2/gnetlist/scheme/Makefile.in0000664000175000017500000005001712220655723015251 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = gnetlist/scheme DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(scmdatadir)" DATA = $(nobase_scmdata_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ PCBCONFDIR = @PCBCONFDIR@ scmdatadir = @GEDADATADIR@/scheme nobase_scmdata_DATA = $(DIST_SCM) $(BUILT_SCM) DIST_SCM = gnet-PCB.scm gnet-allegro.scm gnet-bom.scm gnet-ewnet.scm \ gnet-geda.scm \ gnet-spice.scm gnet-tango.scm gnet-verilog.scm \ gnet-vhdl.scm gnet-vipec.scm \ gnet-pads.scm gnetlist.scm gnetlist-post.scm \ gnet-bae.scm gnet-protelII.scm \ gnet-bom2.scm gnet-gossip.scm gnet-drc.scm gnet-vams.scm \ partslist-common.scm gnet-partslist1.scm \ gnet-partslist2.scm gnet-partslist3.scm gnet-maxascii.scm \ gnet-switcap.scm gnet-spice-sdb.scm gnet-drc2.scm \ gnet-futurenet2.scm gnet-cascade.scm \ gnet-redac.scm gnet-systemc.scm gnet-eagle.scm \ gnet-pcbpins.scm gnet-calay.scm gnet-osmond.scm \ gnet-mathematica.scm gnet-liquidpcb.scm \ gnetlist/backend-getopt.scm gnet-makedepend.scm EXTRA_DIST = $(DIST_SCM) $(SCM_SRCS) SCM_SRCS = gnet-gsch2pcb.scm.in BUILT_SCM = gnet-gsch2pcb.scm MOSTLYCLEANFILES = *.log *~ CLEANFILES = *.log *~ gnet-gsch2pcb.scm DISTCLEANFILES = *.log core FILE *~ gnet-gsch2pcb.scm MAINTAINERCLEANFILES = *.log *~ Makefile.in gnet-gsch2pcb.scm all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gnetlist/scheme/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu gnetlist/scheme/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-nobase_scmdataDATA: $(nobase_scmdata_DATA) @$(NORMAL_INSTALL) @list='$(nobase_scmdata_DATA)'; test -n "$(scmdatadir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(scmdatadir)'"; \ $(MKDIR_P) "$(DESTDIR)$(scmdatadir)" || exit 1; \ fi; \ $(am__nobase_list) | while read dir files; do \ xfiles=; for file in $$files; do \ if test -f "$$file"; then xfiles="$$xfiles $$file"; \ else xfiles="$$xfiles $(srcdir)/$$file"; fi; done; \ test -z "$$xfiles" || { \ test "x$$dir" = x. || { \ echo " $(MKDIR_P) '$(DESTDIR)$(scmdatadir)/$$dir'"; \ $(MKDIR_P) "$(DESTDIR)$(scmdatadir)/$$dir"; }; \ echo " $(INSTALL_DATA) $$xfiles '$(DESTDIR)$(scmdatadir)/$$dir'"; \ $(INSTALL_DATA) $$xfiles "$(DESTDIR)$(scmdatadir)/$$dir" || exit $$?; }; \ done uninstall-nobase_scmdataDATA: @$(NORMAL_UNINSTALL) @list='$(nobase_scmdata_DATA)'; test -n "$(scmdatadir)" || list=; \ $(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \ dir='$(DESTDIR)$(scmdatadir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) all-local installdirs: for dir in "$(DESTDIR)$(scmdatadir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool clean-local mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-nobase_scmdataDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-nobase_scmdataDATA .MAKE: install-am install-strip .PHONY: all all-am all-local check check-am clean clean-generic \ clean-libtool clean-local cscopelist-am ctags-am distclean \ distclean-generic distclean-libtool distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-nobase_scmdataDATA \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags-am uninstall uninstall-am uninstall-nobase_scmdataDATA gnet-gsch2pcb.scm: $(srcdir)/gnet-gsch2pcb.scm.in sed \ -e 's;@m4@;${M4};g' \ -e 's;@pcbm4dir@;${PCBM4DIR};g' \ $(srcdir)/gnet-gsch2pcb.scm.in > $@ all-local: if test "$(srcdir)" != "@builddir@" ; then \ echo "copying scheme files" ; \ cp -f $(srcdir)/*.scm @builddir@/ ; \ else \ echo "source directory = build directory" ; \ fi clean-local: if test "$(srcdir)" != "@builddir@" ; then \ echo "cleaning scheme files" ; \ rm -f @builddir@/*.scm ; \ else \ echo "source directory = build directory" ; \ fi # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/gnetlist/scheme/gnet-partslist1.scm0000664000175000017500000000321612220647257016753 00000000000000; Copyright (C) 2001-2010 MIYAMOTO Takanori ; gnet-partslist1.scm ; ; This program is free software; you can redistribute it and/or modify ; it under the terms of the GNU General Public License as published by ; the Free Software Foundation; either version 2 of the License, or ; (at your option) any later version. ; ; This program is distributed in the hope that it will be useful, ; but WITHOUT ANY WARRANTY; without even the implied warranty of ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ; GNU General Public License for more details. ; ; You should have received a copy of the GNU General Public License ; along with this program; if not, write to the Free Software ; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ; The /'s may not work on win32 (load (string-append gedadata "/scheme/partslist-common.scm")) (define partslist1:write-top-header (lambda (port) (display ".START\n" port) (display "..refdes\tdevice\tvalue\tfootprint\tquantity\n" port))) (define (partslist1:write-partslist ls port) (if (null? ls) '() (begin (write-one-row (append (car ls) (list 1)) "\t" "\n" port) (partslist1:write-partslist (cdr ls) port)))) (define partslist1:write-bottom-footer (lambda (port) (display ".END" port) (newline port))) (define partslist1 (lambda (output-filename) (let ((port (open-output-file output-filename)) (parts-table (marge-sort-with-multikey (get-parts-table packages) '(0 1 2 3)))) (partslist1:write-top-header port) (partslist1:write-partslist parts-table port) (partslist1:write-bottom-footer port) (close-output-port port)))) geda-gaf-1.8.2/gnetlist/scheme/gnet-cascade.scm0000664000175000017500000001201412204066537016222 00000000000000;;; gEDA - GPL Electronic Design Automation ;;; gnetlist - gEDA Netlist ;;; Backend for cascade (http://rfcascade.sourceforge.net) ;;; Copyright (C) 2003-2010 Dan McMahill ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 2 of the License, or ;;; (at your option) any later version. ;;; ;;; This program is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with this program; if not, write to the Free Software ;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, ;;; MA 02111-1301 USA. ;; Locate and print out the global defaults if the element exists (define cascade:write-defaults-top (lambda (port pkgs) (if (not (null? pkgs)) (let ( (pkg (car pkgs)) ) (if (string=? (get-device pkg) "cascade-defaults-top") (begin (display "# Initial global defaults\n" port) (display "defaults " port) (map (lambda (attrib) (let ((val (gnetlist:get-package-attribute pkg attrib))) (if (not (string=? val "unknown")) (display (string-append attrib "=" val " ") port) ) ) ) (list "rin" "RIN" "rout" "ROUT" "rho" "RHO") ) (newline port) (newline port) ) (cascade:write-defaults-top port (cdr pkgs)) ) ) ) ) ) ;; Locate and print out the "source" line and return the refdes of ;; the first element in the cascade (define cascade:write-source (lambda (port pkgs) (if (not (null? pkgs)) (let ( (package (car pkgs) ) (sourcenet #f) ) (if (string=? (get-device package) "cascade-source") (begin (set! sourcenet (gnetlist:get-nets package "1")) (display "source " port) (map (lambda (attrib) (let ((val (gnetlist:get-package-attribute package attrib))) (if (not (string=? val "unknown")) (display (string-append attrib "=" val " ") port) ) ) ) (list "c" "C" "cn0" "CN0" "cn" "CN" "bw" "BW") ) (newline port) (if (string=? (caadr sourcenet) package) (caaddr sourcenet) (caadr sourcenet) ) ) (cascade:write-source port (cdr pkgs) ) ) ) ;; the list of packages is now empty '() ) ) ) ;; recursively follow the cascade and print out each element as its ;; found (define cascade:follow-cascade (lambda (port pkg) (if (not (null? pkg)) (begin (let ( (outnet (gnetlist:get-nets pkg "2")) ) ;; Is this a "defaults" element or a normal element? ;; If its a defaults element, then print "defaults" ;; instead of the reference designator because thats ;; a keyword for cascade. (if (string=? (get-device pkg) "cascade-defaults") (display "defaults " port) (display (string-append pkg " ") port) ) ;; spit out all the relevant attributes for element or ;; defaults lines (map (lambda (attrib) (let ((val (gnetlist:get-package-attribute pkg attrib))) (if (not (string=? val "unknown")) (display (string-append attrib "=" val " ") port) ) ) ) (list "g" "G" "gp" "GP" "gv" "GV" "nf" "NF" "iip3" "IIP3" "r" "R" "rin" "RIN" "rout" "ROUT" "rho" "RHO") ) (newline port) ;;(display "cascade:follow-cascade -- outnet = ") ;;(display outnet) ;;(newline) (if (>= (length outnet) 3) (if (string=? (caadr outnet) pkg) (cascade:follow-cascade port(caaddr outnet)) (cascade:follow-cascade port (caadr outnet)) ) ) ) ) ) ) ) ;; The top level netlister for cascade (define cascade (lambda (filename) (newline) (display "---------------------------------\n") (display "gEDA/gnetlist Cascade Backend\n") (display "---------------------------------\n\n") (display (string-append "Writing to output file \"" filename "\"... ") ) (let ((port (open-output-file filename)) (first_block #f) ) ;; write the header (display "# Cascade (http://rfcascade.sourceforge.net)\n" port) (display "# Created with gEDA/gnetlist\n\n" port) ;; Write out an initial "defaults" line if it exists (cascade:write-defaults-top port packages) ;; Write out the "source" line and keep track of what its ;; connected to. If we couldn't find the source, then ;; exit out. (display "# Source definition\n" port) (set! first_block (cascade:write-source port packages)) (if (null? first_block) (error "You must include a source element in your schematic!") ) ;; write the components (display "\n# Cascaded system\n" port) (cascade:follow-cascade port first_block) ;; write the footer (newline port) (display "# End of netlist created by gEDA/gnetlist\n\n" port) ;; close netlist (close-output-port port) ) (display "done\n") ) ) geda-gaf-1.8.2/gnetlist/scheme/gnet-protelII.scm0000664000175000017500000002415312204066537016375 00000000000000;;; gEDA - GPL Electronic Design Automation ;;; gnetlist - gEDA Netlist ;;; Copyright (C) 1998-2010 Ales Hvezda ;;; Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 2 of the License, or ;;; (at your option) any later version. ;;; ;;; This program is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with this program; if not, write to the Free Software ;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, ;;; MA 02111-1301 USA. (use-modules (ice-9 optargs)) ;; -------------------------------------------------------------------------- ;; ;; protelII netlist format specific functions go here ;; ;; PROTEL NETLIST 2.0 ;; [ -- element for list of components ;; DESIGNATOR ;; REFDES attribute. ;; FOOTPRINT ;; FOOTPRINT attrbute. ;; PARTTYPE ;; Either: ;; If VALUE attribute exists, output VALUE attribute. ;; Otherwise, output DEVICE attrbute. ;; (This covers the case of ICs, which usually carry their part no (e.g. uA741) in the DEVICE attribute.) ;; DESCRIPTION ;; DEVICE attribute ;; Part Field 1 ;; * ;; Part Field 2 ;; * ;; Part Field 3 ;; * ;; Part Field 4 ;; * ;; Part Field 5 ;; * ;; Part Field 6 ;; * ;; Part Field 7 ;; * ;; Part Field 8 ;; * ;; Part Field 9 ;; * ;; Part Field 10 ;; * ;; Part Field 11 ;; * ;; Part Field 12 ;; * ;; Part Field 13 ;; * ;; Part Field 14 ;; * ;; Part Field 15 ;; * ;; Part Field 16 ;; * ;; LIBRARYFIELD1 ;; empty line ;; LIBRARYFIELD2 ;; empty line ;; LIBRARYFIELD3 ;; empty line ;; LIBRARYFIELD4 ;; empty line ;; LIBRARYFIELD5 ;; empty line ;; LIBRARYFIELD6 ;; empty line ;; LIBRARYFIELD7 ;; empty line ;; LIBRARYFIELD8 ;; empty line ;; ] ;; [ ;; ... other components ... ;; ] ;; ( -- element for list of nets ;; NETNAME ;; PART-PIN# VALUE-PINNAME PINTYPE -- use PASSIVE for PINTYPE ;; ...more connections... ;; ) ;; ( ;; ...more nets... ;; ) ;; { -- element for net option list ;; NETNAME ;; OPTION ;; OPTIONVALUE ;; TRACK ;; 24 ;; VIA ;; 40 ;; NET TOPOLOGY ;; SHORTEST ;; ROUTING PRIORITY ;; MEDIUM ;; LAYER ;; UNDEFINED ;; } ;; { ;; ...more net options... ;; } ;; ;; We redefine the newline function, because this file format requires ;; Windows-style "\r\n" line endings rather than Unix-style "\n" ;; endings. (define* (newline #:optional port) (display "\r\n" (or port (current-output-port)))) ;; ;; Top level header ;; (define protelII:write-top-header (lambda (p) (display "PROTEL NETLIST 2.0" p) (newline p))) ;; ;; header for components section ;; (define protelII:start-components (lambda (p) (display "" p))) ;; no header for components ;; ;; footer for components section ;; (define protelII:end-components (lambda (p) (display "" p))) ;; ;; header for renamed section ;; (define protelII:start-renamed-nets (lambda (p) (display "" p))) ;; ;; footer for renamed section ;; (define protelII:end-renamed-nets (lambda (p) (display "" p))) ;; ;; header for nets section ;; (define protelII:start-nets (lambda (p) (display "" p))) ;; ;; footer for net section ;; (define protelII:end-nets (lambda (p) (display "" p))) ;; ;; Top level component writing ;; (define protelII:components (lambda (port ls) (if (not (null? ls)) (let ((package (car ls))) (begin (display "[" port) (newline port) (display "DESIGNATOR" port) (newline port) (display package port) (newline port) (display "FOOTPRINT" port) (newline port) (display (gnetlist:get-package-attribute package "footprint") port) (newline port) (display "PARTTYPE" port) (newline port) (let ((value (get-value package))) ;; This change by SDB on 10.12.2003. (if (string-ci=? value "unknown") (display (get-device package) port) (display value port) ) ) (newline port) (display "DESCRIPTION" port) (newline port) (display (get-device package) port) (newline port) (display "Part Field 1" port) (newline port) (display "*" port) (newline port) (display "Part Field 2" port) (newline port) (display "*" port) (newline port) (display "Part Field 3" port) (newline port) (display "*" port) (newline port) (display "Part Field 4" port) (newline port) (display "*" port) (newline port) (display "Part Field 5" port) (newline port) (display "*" port) (newline port) (display "Part Field 6" port) (newline port) (display "*" port) (newline port) (display "Part Field 7" port) (newline port) (display "*" port) (newline port) (display "Part Field 8" port) (newline port) (display "*" port) (newline port) (display "Part Field 9" port) (newline port) (display "*" port) (newline port) (display "Part Field 10" port) (newline port) (display "*" port) (newline port) (display "Part Field 11" port) (newline port) (display "*" port) (newline port) (display "Part Field 12" port) (newline port) (display "*" port) (newline port) (display "Part Field 13" port) (newline port) (display "*" port) (newline port) (display "Part Field 14" port) (newline port) (display "*" port) (newline port) (display "Part Field 15" port) (newline port) (display "*" port) (newline port) (display "Part Field 16" port) (newline port) (display "*" port) (newline port) (display "LIBRARYFIELD1" port) (newline port) (display "" port) (newline port) (display "LIBRARYFIELD2" port) (newline port) (display "" port) (newline port) (display "LIBRARYFIELD3" port) (newline port) (display "" port) (newline port) (display "LIBRARYFIELD4" port) (newline port) (display "" port) (newline port) (display "LIBRARYFIELD5" port) (newline port) (display "" port) (newline port) (display "LIBRARYFIELD6" port) (newline port) (display "" port) (newline port) (display "LIBRARYFIELD7" port) (newline port) (display "" port) (newline port) (display "LIBRARYFIELD8" port) (newline port) (display "" port) (newline port) (display "]" port) (newline port) (protelII:components port (cdr ls))))))) ;; ;; renamed nets writing ;; (define protelII:renamed-nets (lambda (port ls) (if (not (null? ls)) (let ((renamed-pair (car ls))) (begin ;;; (display renamed-pair) (newline) ;;; (display (car renamed-pair) port) ;;; (display " -> " port) ;;; (display (car (cdr renamed-pair)) port) ;;; (newline port) (display "" port) (protelII:renamed-nets port (cdr ls))))))) ;; ;; Display the individual net connections ;; (define protelII:display-connections (lambda (nets port) (if (not (null? nets)) (begin (let ((package (car (car nets)))) (display package port) (write-char #\- port) (display (car (cdr (car nets))) port) (display " " port) (display (get-device package) port) (display "-" port) (display (car (cdr (car nets))) port) (display " PASSIVE" port)) (if (not (null? (cdr nets))) (begin (newline port))) (protelII:display-connections (cdr nets) port))))) ;; ;; Display all nets ;; (define protelII:display-name-nets (lambda (port nets) (begin (protelII:display-connections nets port) (write-char #\space port) (newline port)))) ;; ;; Write netname : uref pin, uref pin, ... ;; (define protelII:write-net (lambda (port netnames) (if (not (null? netnames)) (let ((netname (car netnames))) (begin (display "(" port) (newline port) (display netname port) (newline port) (protelII:display-name-nets port (gnetlist:get-all-connections netname)) (display ")" port) (newline port) (protelII:write-net port (cdr netnames))))))) ;; ;; Write the net part of the gEDA format ;; (define protelII:nets (lambda (port) (let ((all-uniq-nets (gnetlist:get-all-unique-nets "dummy"))) (protelII:write-net port all-uniq-nets)))) ;;; Highest level function ;;; Write my special testing netlist format ;;; (define protelII (lambda (output-filename) (let ((port (open-output-file output-filename))) (begin ;;; (gnetlist:set-netlist-mode "gEDA") No longer needed (protelII:write-top-header port) (protelII:start-components port) (protelII:components port packages) (protelII:end-components port) (protelII:start-renamed-nets port) (protelII:renamed-nets port (gnetlist:get-renamed-nets "dummy")) (protelII:end-renamed-nets port) (protelII:start-nets port) (protelII:nets port) (protelII:end-nets port)) (close-output-port port)))) ;; ;; gEDA's native test netlist format specific functions ends ;; ;; -------------------------------------------------------------------------- geda-gaf-1.8.2/gnetlist/scheme/gnet-gossip.scm0000664000175000017500000001173012204066537016147 00000000000000;;; gEDA - GPL Electronic Design Automation ;;; gnetlist - gEDA Netlist ;;; Copyright (C) 1998-2010 Ales Hvezda ;;; Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 2 of the License, or ;;; (at your option) any later version. ;;; ;;; This program is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with this program; if not, write to the Free Software ;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, ;;; MA 02111-1301 USA. ;; -------------------------------------------------------------------------- ;; ;; Netlister for GOSSIP system simulation system, based on GUILE ;; For more info see http://gossip.sourceforge.net ;; (define gossip:write-top-header (lambda (p) (display ";; Gossip Netlist Created by gNetlist" p) (newline p) (newline p) (display ";; Created By Matt Ettus " p) (newline p) (display ";; Libraries:" p) (newline p) (newline p))) (define gossip:get-libraries (lambda (p components done) (if (not (null? components)) (let ((lib (gnetlist:get-package-attribute (car components) "library"))) (if (string=? "unknown" lib) (begin (display "Component ") (display (car components)) (display " does not have a library attribute\n"))) (if (contains? done lib) (gossip:get-libraries p (cdr components) done) (begin (display "(use-library " p) (display lib p) (display " *)" p) (newline p) (gossip:get-libraries p (cdr components) (cons lib done)))))))) (define gossip:list-pins (lambda (allnets uref pin port) (let ((pinname (gnetlist:get-attribute-by-pinnumber uref (number->string pin) "label"))) (if (string=? "unknown" pinname) (display ")\n" port) (begin (display " :" port) (display pinname port) (write-char #\space port) (display (gossip:find-net uref pin allnets) port) (gossip:list-pins allnets uref (+ 1 pin) port)))))) ;(define gossip:reverse-netlist ; (lambda (allnets) ; (if (null? allnets) ; '() ; (let ((connections (gnetlist:get-all-connections (car allnets)))) ; (cons (gossip:connectionlist connections) ; (gossip:reverse-netlist (cdr allnets)))))) (define gossip:find-net (lambda (uref pin allnets) (cond ((null? allnets) "Not Connected" ) ((gossip:finder uref pin (gnetlist:get-all-connections (car allnets)))(car allnets)) (#t (gossip:find-net uref pin (cdr allnets)))))) (define gossip:finder (lambda (uref pin list) (cond ((null? list)#f) ((and (string=? uref (caar list)) (string=? (number->string pin) (cadar list))) #t) (#t (gossip:finder uref pin (cdr list)))))) (define gossip:display-connections (lambda (nets port) (if (not (null? nets)) (begin (display (car (car nets)) port) (write-char #\space port) (display (car (cdr (car nets))) port) (if (not (null? (cdr nets))) (begin (write-char #\, port) (write-char #\space port))) (gossip:display-connections (cdr nets) port))))) (define gossip:display-name-nets (lambda (port nets) (begin (gossip:display-connections nets port) (write-char #\space port) (newline port)))) (define gossip:blocks (lambda (port ls allnets) (if (not (null? ls)) (let ((package (car ls))) (display " (" port) (display package port) (gossip:list-pins allnets package 1 port) (gossip:blocks port (cdr ls) allnets))))) (define gossip:signals (lambda (port) (display "(signals " port) (display (gnetlist:get-all-unique-nets "dummy") port) (display ")\n" port))) (define gossip:write-block-header (lambda (port) (let ((blockname (gnetlist:get-toplevel-attribute "blockname"))) (display "(define-block (" port) (display blockname port) (display " (" port) (newline port)))) (define gossip (lambda (output-filename) (let ((port (open-output-file output-filename))) (begin (gossip:write-top-header port) (gossip:get-libraries port packages '()) (gossip:write-block-header port) (gossip:signals port) (gossip:blocks port packages (gnetlist:get-all-unique-nets "dummy"))) (close-output-port port)))) geda-gaf-1.8.2/gnetlist/scheme/gnet-partslist2.scm0000664000175000017500000000321612220647257016754 00000000000000; Copyright (C) 2001-2010 MIYAMOTO Takanori ; gnet-partslist2.scm ; ; This program is free software; you can redistribute it and/or modify ; it under the terms of the GNU General Public License as published by ; the Free Software Foundation; either version 2 of the License, or ; (at your option) any later version. ; ; This program is distributed in the hope that it will be useful, ; but WITHOUT ANY WARRANTY; without even the implied warranty of ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ; GNU General Public License for more details. ; ; You should have received a copy of the GNU General Public License ; along with this program; if not, write to the Free Software ; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ; The /'s may not work on win32 (load (string-append gedadata "/scheme/partslist-common.scm")) (define partslist2:write-top-header (lambda (port) (display ".START\n" port) (display "..refdes\tdevice\tvalue\tfootprint\tquantity\n" port))) (define (partslist2:write-partslist ls port) (if (null? ls) '() (begin (write-one-row (append (car ls) (list 1)) "\t" "\n" port) (partslist2:write-partslist (cdr ls) port)))) (define partslist2:write-bottom-footer (lambda (port) (display ".END" port) (newline port))) (define partslist2 (lambda (output-filename) (let ((port (open-output-file output-filename)) (parts-table (marge-sort-with-multikey (get-parts-table packages) '(1 2 3 0)))) (partslist2:write-top-header port) (partslist2:write-partslist parts-table port) (partslist2:write-bottom-footer port) (close-output-port port)))) geda-gaf-1.8.2/gnetlist/scheme/gnet-mathematica.scm0000664000175000017500000001346312204066537017125 00000000000000;;; gEDA - GPL Electronic Design Automation ;;; gnetlist - gEDA Netlist ;;; Copyright (C) 2007-2010 John P. Doty ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 2 of the License, or ;;; (at your option) any later version. ;;; ;;; This program is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with this program; if not, write to the Free Software ;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, ;;; MA 02111-1301 USA. ;; Netlister for symbolic circuit analysis using Mathematica. ;; See the Mathematica notebook gEDA.nb (obtainable at www.noqsi.com) ;; for usage. (define (mathematica:quoted thing port) (write-char #\" port) (display thing port) (write-char #\" port) ) (define (mathematica:write-pin-voltages netname pins port) (if (not (null? pins)) (let ((pin (car pins))) (display "v[" port) (mathematica:quoted (car pin) port) (display "," port) (mathematica:quoted (car (cdr pin)) port) (display "]=v[" port) (mathematica:quoted netname port) (display "];" port) (newline port) (mathematica:write-pin-voltages netname (cdr pins) port) ) ) ) (define (mathematica:write-voltages netnames port) (if (not (null? netnames)) (let ((netname (car netnames))) (mathematica:write-pin-voltages netname (gnetlist:get-all-connections netname) port) (mathematica:write-voltages (cdr netnames) port)))) (define (mathematica:write-node-currents pins port) (let ((pin (car pins))) (display "i[" port) (mathematica:quoted (car pin) port) (display "," port) (mathematica:quoted (car (cdr pin)) port) (display "]" port) (if (not (null? (cdr pins ))) (begin (display "+" port) (mathematica:write-node-currents (cdr pins) port) ) ) ) ) (define (mathematica:,newline port) (display "," port) (newline port) ) (define (mathematica:write-currents netnames first port) (if (not (null? netnames)) (let ((netname (car netnames))) (if (not (equal? netname "GND")) (begin (if (not first) (mathematica:,newline port) ) (mathematica:write-node-currents (gnetlist:get-all-connections netname) port) (display "==0" port) (mathematica:write-currents (cdr netnames) #f port) ) (mathematica:write-currents (cdr netnames) first port) ) ) ) ) (define (mathematica:write-device-value device value refdes port) (display (string-downcase device) port) (display "[value->" port) (display value port) (display "][" port) (mathematica:quoted refdes port) (display "]" port) ) (define (mathematica:write-device-model model refdes port) (display model port) (display "[" port) (mathematica:quoted refdes port) (display "]" port) ) (define (mathematica:write-model refdes port) (let ((device (gnetlist:get-package-attribute refdes "device")) (value (gnetlist:get-package-attribute refdes "value")) (model (gnetlist:get-package-attribute refdes "model"))) (if (equal? model "unknown") (if (equal? value "unknown") (mathematica:write-device-value device (string-downcase refdes) refdes port) (mathematica:write-device-value device value refdes port) ) (mathematica:write-device-model model refdes port) ) ) ) (define (mathematica:write-models refdeses first port) (if (not (null? refdeses)) (let ((refdes (car refdeses))) (if (not first) (mathematica:,newline port) ) (mathematica:write-model refdes port) (mathematica:write-models (cdr refdeses) #f port) ) ) ) (define (mathematica:list-voltages netnames first port) (if (not (null? netnames)) (let ((netname (car netnames))) (if (not (equal? netname "GND")) (begin (if (not first) (mathematica:,newline port) ) (display "v[" port) (mathematica:quoted netname port) (display "]" port) (mathematica:list-voltages (cdr netnames) #f port) ) (mathematica:list-voltages (cdr netnames) first port) ) ) ) ) (define (mathematica:list-pin-currents pins port) (if (not (null? pins)) (let ((pin (car pins))) (mathematica:,newline port) (display "i[" port) (mathematica:quoted (car pin) port) (display "," port) (mathematica:quoted (car (cdr pin)) port) (display "]" port) (mathematica:list-pin-currents (cdr pins) port) ) ) ) (define (mathematica:list-currents netnames port) (if (not (null? netnames)) (let ((netname (car netnames))) (mathematica:list-pin-currents (gnetlist:get-all-connections netname) port) (mathematica:list-currents (cdr netnames) port) ) ) ) (define (mathematica output-filename) (let ((port (open-output-file output-filename)) (nets (gnetlist:get-all-unique-nets "dummy"))) (mathematica:write-voltages nets port) (display "nodeEquations={" port) (newline port) (mathematica:write-currents nets #t port) (display "};" port) (newline port) (display "modelEquations={" port) (newline port) (mathematica:write-models packages #t port) (display "};" port) (newline port) (display "variables={" port) (newline port) (mathematica:list-voltages nets #t port) (mathematica:list-currents nets port) (display "};" port) (newline port) ) ) geda-gaf-1.8.2/gnetlist/scheme/gnet-bae.scm0000664000175000017500000001172312204066537015374 00000000000000;;; gEDA - GPL Electronic Design Automation ;;; gnetlist - gEDA Netlist ;;; Copyright (C) 1998-2010 Ales Hvezda ;;; Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 2 of the License, or ;;; (at your option) any later version. ;;; ;;; This program is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with this program; if not, write to the Free Software ;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, ;;; MA 02111-1301 USA. ;; -------------------------------------------------------------------------- ;; ;; Bartels Format ;; Layout board; ;; PARTS ;; part : footprint; ;; CONNECT ;; /net1/ uref.pin=uref.pin=uref.pin=...uref.pin; ;; /net2/ PRIORITY(1..100) MINDIST(mm) ROUTWIDTH(mm) uref.pin(width_mm)=...; ;; END. ;; ;; ;; Top level header ;; (define bae:write-top-header (lambda (p) (display "LAYOUT board;" p) (newline p))) ;; ;; header for components section ;; (define bae:start-components (lambda (p) (display "PARTS" p) (newline p))) ;; no header for components ;; ;; footer for components section ;; (define bae:end-components (lambda (p) (display "" p))) ;; ;; header for renamed section ;; (define bae:start-renamed-nets (lambda (p) (display "" p))) ;; ;; footer for renamed section ;; (define bae:end-renamed-nets (lambda (p) (display "" p))) ;; ;; header for nets section ;; (define bae:start-nets (lambda (p) (display "CONNECT" p) (newline p))) ;; ;; footer for net section ;; (define bae:end-nets (lambda (p) (display "END." p) (newline p))) ;; ;; Top level component writing ;; (define bae:components (lambda (port ls) (if (not (null? ls)) (let ((package (car ls))) (begin (display " " port) (display package port) (display " : " port) (display (gnetlist:get-package-attribute package "footprint") port) (display ";" port) (newline port) (bae:components port (cdr ls))))))) ;; ;; renamed nets writing ;; (define bae:renamed-nets (lambda (port ls) (if (not (null? ls)) (let ((renamed-pair (car ls))) (begin ;;; (display renamed-pair) (newline) ;;; (display (car renamed-pair) port) ;;; (display " -> " port) ;;; (display (car (cdr renamed-pair)) port) ;;; (newline port) (display "" port) (bae:renamed-nets port (cdr ls))))))) ;; ;; Display the individual net connections ;; (define bae:display-connections (lambda (nets port) (if (not (null? nets)) (begin (let ((package (car (car nets)))) (display package port) (write-char #\. port) (display (car (cdr (car nets))) port)) (if (not (null? (cdr nets))) (begin (display #\= port))) (bae:display-connections (cdr nets) port))))) ;; ;; Display all nets ;; (define bae:display-name-nets (lambda (port nets) (begin (bae:display-connections nets port) (write-char #\; port)))) ;; ;; Write netname : uref pin, uref pin, ... ;; (define bae:write-net (lambda (port netnames) (if (not (null? netnames)) (let ((netname (car netnames))) (begin (display " " port) (display "/'" port) (display netname port) (display "'/ " port) (bae:display-name-nets port (gnetlist:get-all-connections netname)) (newline port) (bae:write-net port (cdr netnames))))))) ;; ;; Write the net part of the gEDA format ;; (define bae:nets (lambda (port) (let ((all-uniq-nets (gnetlist:get-all-unique-nets "dummy"))) (bae:write-net port all-uniq-nets)))) ;;; Highest level function ;;; Write my special testing netlist format ;;; (define bae (lambda (output-filename) (let ((port (open-output-file output-filename))) (begin ;;; (gnetlist:set-netlist-mode "gEDA") No longer needed (bae:write-top-header port) (bae:start-components port) (bae:components port packages) (bae:end-components port) (bae:start-renamed-nets port) (bae:renamed-nets port (gnetlist:get-renamed-nets "dummy")) (bae:end-renamed-nets port) (bae:start-nets port) (bae:nets port) (bae:end-nets port)) (close-output-port port)))) ;; ;; gEDA's native test netlist format specific functions ends ;; ;; -------------------------------------------------------------------------- geda-gaf-1.8.2/gnetlist/scheme/gnet-switcap.scm0000664000175000017500000003250212204066537016315 00000000000000;;; gEDA - GPL Electronic Design Automation ;;; ;;; Copyright (C) 2003, 2005-2010 Dan McMahill ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 2 of the License, or ;;; (at your option) any later version. ;;; ;;; This program is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with this program; if not, write to the Free Software ;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, ;;; MA 02111-1301 USA. ;; -------------------------------------------------------------------------- ;; This is gnetlist backend for the SWITCAP switched capacitor ;; simulator. This backend was written by Dan McMahill ;; 'mcmahill at alum dot mit dotedu' who used the SPICE backend by ;; S. Gieltjes as a starting point. ;; The following is needed to make guile 1.8.x happy. (use-modules (ice-9 rdelim)) ;; ---------------------------------------------------------------------------- ;; Utility functions used by this netlister ;; ---------------------------------------------------------------------------- ;; This procedure takes a net name as determined by gnetlist and ;; modifies it to be a valid SWITCAP net name. ;; (define switcap:map-net-names (lambda (net-name) (let ((rx (make-regexp "^unnamed_net")) (net-alias net-name) ) ;; XXX we should use a dynamic regexp based on the current value ;; for the unnamed net base string. (cond ;; Change "GND" to "0" ((string=? net-name "GND") (set! net-alias "0")) ;; remove the 'unnamed_net' part ((regexp-exec rx net-name) (set! net-alias (substring net-name 11))) (else net-name) ) ;; Truncate to 7 characters (if (> (string-length net-alias) 7) (set! net-alias (substring net-alias 0 7)) ) ;; Convert to all upper case (string-upcase net-alias) ) ) ) ;; This procedure takes a refdes as determined by gnetlist and ;; modifies it to be a valid SWITCAP refdes. In particular, ;; we need to make sure that ;; ;; - the first character is correct for the component type ;; ;; - we do not exceed 8 characters. Note the 8 comes from ;; the first character which denotes component type plus ;; 7 for the unique identifier part. ;; ;; - we are all caps (switcap is not case sensitive) ;; (define switcap:map-refdes (lambda (refdes) (let ((refdes-alias refdes) ) ;; Convert to all upper case (string-upcase refdes-alias) ;; Make sure the first character is correct for ;; this component type (cond ( (string=? (get-device refdes) "SWITCAP-switch") (if (not (string=? (substring refdes-alias 0 1) "S")) (set! refdes-alias (string-append "S" refdes-alias)))) ( (string=? (get-device refdes) "SWITCAP-capacitor") (if (not (string=? (substring refdes-alias 0 1) "C")) (set! refdes-alias (string-append "C" refdes-alias)))) ( (string=? (get-device refdes) "SWITCAP-vcvs") (if (not (string=? (substring refdes-alias 0 1) "E")) (set! refdes-alias (string-append "E" refdes-alias)))) ( (string=? (get-device refdes) "SWITCAP-vsrc") (if (not (string=? (substring refdes-alias 0 1) "V")) (set! refdes-alias (string-append "V" refdes-alias)))) ) ;; Truncate to 8 characters (1 for the first character and ;; 7 for the identifier) (if (> (string-length refdes-alias) 8) (set! refdes-alias (substring refdes-alias 0 8)) ) ;; set to #t for debugging (if #f (let () (display "(switcap:map-refdes ") (display refdes) (display ") ===> " ) (display refdes-alias ) (display "\n") ) ) refdes-alias ) ) ) ;; ;; Given a reference designator, pin number, and output port ;; write out the net name ;; (define switcap:write-pin-net (lambda (package pin port) (display (gnetlist:alias-net (car (gnetlist:get-nets package pin))) port) ) ) ;; ;; Given a reference designator, attribute name, and output port ;; write out the attribute with warnings if the attribute has ;; not been set ;; (define switcap:write-attrib (lambda (package attrib port) (let ((val (gnetlist:get-package-attribute package attrib))) (if (string=? val "unknown") (begin (display "*** WARNING ***\n") (display "Required attribute \"") (display attrib) (display "\" is not set on component \"") (display package) (display "\". Please correct this.\n\n") )) (display val port) val ))) ;; ---------------------------------------------------------------------------- ;; Individual component netlist functions ;; ---------------------------------------------------------------------------- ;; ;; capacitor ;; ;; Form is: ;; ;; C### (N1 N2) value; ;; ;; (define switcap:write-cap (lambda (package port) ( begin ;; Write out the refdes (display " " port) (display (gnetlist:alias-refdes package) port) (display " " port) ;; Write out the nodes ;; Write out the nodes (display "(" port) (switcap:write-pin-net package "1" port) (display " " port) (switcap:write-pin-net package "2" port) (display ") " port) ;; Write the value (switcap:write-attrib package "value" port) ;; finish the line (display ";\n" port) ))) ;; ;; switch ;; ;; Form is: ;; ;; S### (N1 N2) clk; ;; ;; (define switcap:write-switch (lambda (package port) ( begin ;; Write out the refdes (display " " port) (display (gnetlist:alias-refdes package) port) (display " " port) ;; Write out the nodes (display "(" port) (switcap:write-pin-net package "1" port) (display " " port) (switcap:write-pin-net package "2" port) (display ") " port) ;; Write the clock (switcap:write-attrib package "clock" port) ;; finish the line (display ";\n" port) ))) ;; ;; voltage controlled voltage source ;; ;; Form is: ;; ;; E### (OUTP OUTM INP INM) gain; ;; ;; (define switcap:write-vcvs (lambda (package port) ( begin ;; Write out the refdes (display " " port) (display (gnetlist:alias-refdes package) port) (display " " port) ;; Write out the nodes (display "(" port) (switcap:write-pin-net package "1" port) (display " " port) (switcap:write-pin-net package "2" port) (display " " port) (switcap:write-pin-net package "3" port) (display " " port) (switcap:write-pin-net package "4" port) (display ") " port) ;; Write the clock (switcap:write-attrib package "gain" port) ;; finish the line (display ";\n" port) ))) ;; ;; voltage source ;; ;; Form is: ;; ;; V### (OUTP OUTM); ;; ;; (define switcap:write-vsrc (lambda (package port) ( begin ;; Write out the refdes (display " " port) (display (gnetlist:alias-refdes package) port) (display " " port) ;; Write out the nodes (display "(" port) (switcap:write-pin-net package "1" port) (display " " port) (switcap:write-pin-net package "2" port) (display ")" port) ;; finish the line (display ";\n" port) ))) ;; ;; Timing block -- clock definition ;; ;; Form is: ;; ;; CLOCK clock_name period (phi_start phi_stop) ;; ;; (define switcap:write-clock (lambda (package port) ( begin (display " CLOCK " port) (display (string-append package " ") port) (switcap:write-attrib package "PERIOD" port) (display " (" port) (switcap:write-attrib package "PSTART" port) (display " " port) (switcap:write-attrib package "PSTOP" port) (display ");\n" port) ))) ;; ;; Timing block -- master clock period ;; ;; Form is: ;; ;; PERIOD clock_period; ;; ;; (define switcap:write-timing (lambda (package port) ( begin (display " PERIOD " port) (switcap:write-attrib package "PERIOD" port) ;; finish the line (display ";\n" port) ))) ;; ;; Title ;; ;; Form is: ;; ;; TITLE: my title; ;; ;; Can only have 64 characters in the title ;; XXX - need to truncate to 64 chars (define switcap:write-title (lambda (package port) ( begin (display "TITLE:" port) (switcap:write-attrib package "TITLE" port) ;; finish the line (display ";\n\n" port) ))) ;; ;; Options ;; ;; Form is: ;; ;; OPTIONS; OPT1; OPT2; ...; END; ;; ;; valid options are: ;; WIDTH132 ;; NOLIST ;; REPORT ;; NOOVRLAY ;; GRID (define switcap:write-options (lambda (package port) ( begin (display "OPTIONS; " port) (switcap:write-attrib package "OPTIONS" port) ;; finish the line (display " END;\n\n" port) ))) ;; ;; Analysis block ;; ;; For now, we only support writing the analysis blocks in a file ;; and including that via a switcap-analysis-1.sym instantiation ;; (define switcap:write-analysis (lambda (package port) (display "/* reading analysis from \"" port) (let ((fname (switcap:write-attrib package "file" port))) (display "\" */ \n" port) (switcap:cat-file (open-input-file fname) port) ))) (define switcap:cat-file (lambda (ip op) (define line "") (set! line (read-line ip)) (if (not (eof-object? line)) (begin (write-line line op) (switcap:cat-file ip op) ) (close-port ip)) )) ;; ---------------------------------------------------------------------------- ;; Netlist functions for each of the blocks in the switcap netlist ;; ---------------------------------------------------------------------------- ;; ;; Switcap netlist header ;; (define switcap:write-top-header (lambda (port) (display "/* Switcap netlist produced by gnetlist (part of gEDA) */\n" port) (display "/* See http://www.geda-project.org/ for more information. */\n" port) (display "/* Switcap backend written by Dan McMahill */\n" port) (display "\n\n" port) ) ) ;; ;; The main TITLE and OPTIONS block dispatcher ;; (define switcap:write-title-block (lambda (port ls) (if (not (null? ls)) (let ((package (car ls))) (cond ( (string=? (get-device package) "SWITCAP-options") (switcap:write-options package port)) ( (string=? (get-device package) "SWITCAP-title") (switcap:write-title package port)) ) (switcap:write-title-block port (cdr ls)) )))) ;; ;; The main TIMING block dispatcher ;; (define switcap:write-timing-block (lambda (port ls) (if (not (null? ls)) (let ((package (car ls))) (cond ( (string=? (get-device package) "SWITCAP-clock") (switcap:write-clock package port)) ( (string=? (get-device package) "SWITCAP-timing") (switcap:write-timing package port)) ) (switcap:write-timing-block port (cdr ls)) )))) ;; ;; The main CIRCUIT block netlist dispatcher. ;; (define switcap:write-netlist (lambda (port ls) (if (not (null? ls)) (let ((package (car ls))) (cond ( (string=? (get-device package) "SWITCAP-switch") (switcap:write-switch package port)) ( (string=? (get-device package) "SWITCAP-capacitor") (switcap:write-cap package port)) ( (string=? (get-device package) "SWITCAP-vcvs") (switcap:write-vcvs package port)) ( (string=? (get-device package) "SWITCAP-vsrc") (switcap:write-vsrc package port)) ) (switcap:write-netlist port (cdr ls)) )))) ;; ;; The main ANALYSIS block dispatcher ;; (define switcap:write-analysis-block (lambda (port ls) (if (not (null? ls)) (let ((package (car ls))) (cond ( (string=? (get-device package) "SWITCAP-analysis") (switcap:write-analysis package port)) ) (switcap:write-analysis-block port (cdr ls)) )))) ;; ---------------------------------------------------------------------------- ;; Switcap netlist generation -- top level ;; ---------------------------------------------------------------------------- (define switcap (lambda (output-filename) (let ((port (open-output-file output-filename))) ;; initialize the net-name aliasing (gnetlist:build-net-aliases switcap:map-net-names all-unique-nets) ;; initialize the refdes aliasing (gnetlist:build-refdes-aliases switcap:map-refdes packages) (switcap:write-top-header port) (switcap:write-title-block port packages) (display "TIMING;\n" port) (switcap:write-timing-block port packages) (display "END;\n\n" port) (display "CIRCUIT;\n" port) (switcap:write-netlist port packages) (display "END;\n\n" port) (switcap:write-analysis-block port packages) (display "\n\n/* End of SWITCAP netlist */\n" port) (display "END;\n" port) (close-output-port port)))) ;; -------------------------------------------------------------------------- geda-gaf-1.8.2/gnetlist/scheme/gnet-gsch2pcb.scm.in0000664000175000017500000001624712204066537016753 00000000000000;;; -*-scheme-*- ;;; ;;; gEDA - GPL Electronic Design Automation ;;; gnetlist - gEDA Netlist ;;; Copyright (C) 1998-2010 Ales Hvezda ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 2 of the License, or ;;; (at your option) any later version. ;;; ;;; This program is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with this program; if not, write to the Free Software ;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, ;;; MA 02111-1301 USA. ;; gsch2pcb format (based on PCBboard format by JM Routoure & Stefan Petersen) ;; Bill Wilson billw@wt.net ;; 6/17/2003 (use-modules (ice-9 popen)) (use-modules (ice-9 syncase)) ;; ;; (define gsch2pcb:write-top-header (lambda (port) (display "# release: pcb 1.99x\n" port) (display "# To read pcb files, the pcb version (or the" port) (display " cvs source date) must be >= the file version\n" port) (display "FileVersion[20070407]\n" port) (display "PCB[\"\" 600000 500000]\n" port) (display "Grid[10000.000000 0 0 0]\n" port) (display "Cursor[0 0 0.000000]\n" port) (display "PolyArea[200000000.000000]\n" port) (display "Thermal[0.500000]\n" port) (display "DRC[1000 1000 1000 1000 1500 1000]\n" port) (display "Flags(\"nameonpcb,uniquename,clearnew,snappin\")\n" port) (display "Groups(\"1,c:2:3:4:5:6,s:7:8\")\n" port) (display "Styles[\"Signal,1000,3600,2000,1000:" port) (display "Power,2500,6000,3500,1000:" port) (display "Fat,4000,6000,3500,1000:" port) (display "Skinny,600,2402,1181,600\"]\n" port) )) ;; ;; (define gsch2pcb:write-bottom-footer (lambda (port) (display "Layer(1 \"top\")\n(\n)\n" port) (display "Layer(2 \"ground\")\n(\n)\n" port) (display "Layer(3 \"signal2\")\n(\n)\n" port) (display "Layer(4 \"signal3\")\n(\n)\n" port) (display "Layer(5 \"power\")\n(\n)\n" port) (display "Layer(6 \"bottom\")\n(\n)\n" port) (display "Layer(7 \"outline\")\n(\n)\n" port) (display "Layer(8 \"spare\")\n(\n)\n" port) (display "Layer(9 \"silk\")\n(\n)\n" port) (display "Layer(10 \"silk\")\n(\n)" port) (newline port))) ;; ;; ;; Splits a string with space separated words and returns a list ;; of the words (still as strings). (define (gsch2pcb:split-to-list the-string) (filter! (lambda (x) (not (string=? "" x))) (string-split the-string #\space))) ;; Check if `str' contains only characters valid in an M4 function ;; name. Note that this *doesn't* check that str is a valid M4 ;; function name. (define gsch2pcb:m4-valid? (let ((rx (make-regexp "^[A-Za-z0-9_]*$"))) (lambda (str) (regexp-exec rx str)))) ;; Quote a string to protect from M4 macro expansion (define (gsch2pcb:m4-quote str) (string-append "`" str "'")) ;; Write the footprint for the package `refdes' to `port'. If M4 ;; footprints are enabled, writes in a format suitable for ;; macro-expansion by M4. Any footprint names that obviously can't be ;; M4 footprints are protected from macro-expansion. (define (gsch2pcb:write-value-footprint refdes port) (let* ((value (gnetlist:get-package-attribute refdes "value")) (footprint (gsch2pcb:split-to-list (gnetlist:get-package-attribute refdes "footprint"))) (fp (car footprint)) (fp-args (cdr footprint)) (nq (lambda (x) x)) ; A non-quoting operator (q (if gsch2pcb:use-m4 gsch2pcb:m4-quote nq))) ; A quoting operator (format port "~A(~A,~A,~A~A)\n" ;; If the footprint is obviously not an M4 footprint, ;; protect it from macro-expansion. ((if (gsch2pcb:m4-valid? fp) nq q) (string-append "PKG_" fp)) (q (string-join footprint "-")) (q refdes) (q value) (string-join (map q fp-args) "," 'prefix)))) ;; Write the footprints for all the refdes' in `lst'. (define (gsch2pcb:write-value-footprints port lst) (for-each (lambda (x) (gsch2pcb:write-value-footprint x port)) lst)) ;; ;; (define gsch2pcb:use-m4 #f) ;; Macro that defines and sets a variable only if it's not already defined. (define-syntax define-undefined (syntax-rules () ((_ name expr) (define name (if (defined? (quote name)) name expr))))) ;; Let the user override the m4 command, the directory ;; where pcb stores its m4 files and the pcb config directory. (define-undefined gsch2pcb:pcb-m4-command "@m4@") (define-undefined gsch2pcb:pcb-m4-dir "@pcbm4dir@") (define-undefined gsch2pcb:m4-files "") ;; Let the user override the m4 search path (define-undefined gsch2pcb:pcb-m4-path '("$HOME/.pcb" ".")) ;; Build up the m4 command line (define (gsch2pcb:build-m4-command-line output-filename) (string-append gsch2pcb:pcb-m4-command " -d" (string-join (cons gsch2pcb:pcb-m4-dir gsch2pcb:pcb-m4-path) " -I" 'prefix) " " gsch2pcb:pcb-m4-dir "/common.m4" " " gsch2pcb:m4-files " - >> " output-filename)) (define (gsch2pcb output-filename) (define command-line (gsch2pcb:build-m4-command-line output-filename)) (let ((port (open-output-file output-filename))) (gsch2pcb:write-top-header port) (close-port port) ) (format #t "===================================================== gsch2pcb backend configuration: ---------------------------------------- Variables which may be changed in gafrc: ---------------------------------------- gsch2pcb:pcb-m4-command: ~S gsch2pcb:pcb-m4-dir: ~S gsch2pcb:pcb-m4-path: ~S gsch2pcb:m4-files: ~S --------------------------------------------------- Variables which may be changed in the project file: --------------------------------------------------- gsch2pcb:use-m4: ~A ---------------- M4 command line: ---------------- ~A ===================================================== " gsch2pcb:pcb-m4-command gsch2pcb:pcb-m4-dir gsch2pcb:pcb-m4-path gsch2pcb:m4-files (if gsch2pcb:use-m4 "yes" "no") command-line) ;; If we have defined gsch2pcb:use-m4 then run the footprints ;; through the pcb m4 setup. Otherwise skip m4 entirely (if gsch2pcb:use-m4 ;; pipe with the macro define in pcb program (let ((pipe (open-output-pipe command-line)) ) (display "Using the m4 processor for pcb footprints\n") ;; packages is a list with the different refdes value (gsch2pcb:write-value-footprints pipe packages) (close-pipe pipe) ) (let ((port (open output-filename (logior O_WRONLY O_APPEND)))) (display "Skipping the m4 processor for pcb footprints\n") (gsch2pcb:write-value-footprints port packages) (close-port port) ) ) (let ((port (open output-filename (logior O_WRONLY O_APPEND)))) (gsch2pcb:write-bottom-footer port) close-port port) ) geda-gaf-1.8.2/gnetlist/scheme/gnet-makedepend.scm0000664000175000017500000001236112204066537016741 00000000000000;;; gEDA - GPL Electronic Design Automation ;;; gnetlist - gEDA Netlist ;;; Copyright (C) 2011 Dan White ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 2 of the License, or ;;; (at your option) any later version. ;;; ;;; This program is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with this program; if not, write to the Free Software ;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, ;;; MA 02111-1301 USA. ;; ;; -------------------------------------------------------------------------- ;; ;; Backend to determine the dependencies of a given schematic. ;; ;; Output is Makefile lines relevant to the input schematic(s): ;; ;; foo.sch: subsheetA.sch subsheetB.sch ;; foo.cir: foo.sch subsheetA.cir subsheetB.cir ;; ;; See the following for the intended usage: ;; http://www.gnu.org/software/make/manual/make.html#Automatic-Prerequisites ;; ;; Backend example description ;; --------------------------- ;; A two-page schematic (idac-1.sch idac-2.sch) contains two sub-schematic ;; symbols: inv1-1.sym and idac_8p-1.sym. `inv1-1' is implemented with a ;; single page indicated by the symbol's attribute `source=inv1-1.sch'. The ;; second block `idac_8p' is a three-page schematic whose symbol has a ;; `source=idac_8p-1.sch,idac_8p-2.sch,idac_8p-3.sch' attribute. Additionally, ;; the top-level schematic pages include two `spice-include-1.sym' components ;; with `file=' attribute values `dactune.pwl' and `idac.param'. ;; ;; Such a top-level schematic depends on the following files: ;; inv1-1.sch - `inv1' sub-schematic ;; idac_8p-1.sch - `idac_8p' sub-schematic, page 1 ;; idac_8p-2.sch - ... page 2 ;; idac_8p-3.sch - ... page 3 ;; ;; Note: The symbol files inv1-1.sym etc. are also dependencies and not ;; currently handled. ;; ;; For top-level SPICE simulation of `idac.cir' with hierarchical subckts, the ;; additional files are dependencies: ;; inv1.cir - from `gnetlist -g spice-sdb -o inv1.cir inv1-1.sch' ;; idac_8p.cir - `gnetlist -g spice-sdb -o idac_8p.cir idac_8p-*.sch' ;; dactune.pwl - additional SPICE include file ;; idac.param - ... ;; ;; Calling this backend as: ;; gnetlist -g makedepend -o idac.d idac-*.sch ;; ;; generates the `idac.d' file contents as: ;; ;; idac-1.sch idac-2.sch: inv1-1.sch idac_8p-1.sch idac_8p-2.sch idac_8p-3.sch ;; idac.cir: idac-1.sch idac-2.sch inv1.cir idac_8p.cir dactune.pwl idac.param ;; ;; Makefile snippet for use: ;; ### ;; modules=idac ;; depends=$(addsuffix .d, $(modules)) ;; ;; depend: $(depends) ;; idac.d: $(wildcard idac-*.sch) ;; gnetlist -g makedepend -o $@ $^ ;; ;; include $(depends) ;; ### ;; -------------------------------------------------------------------------- ;; (use-modules (ice-9 regex)) (use-modules (srfi srfi-1)) ; Split a filename into 3 parts: ; 1- base name ; 2- page number ; 3- extension ; ; base_nam3-#.ext -> [[:alnum:]_]+-[:digit:]+.ext (define makedepend-scheme "([[:alnum:]_]+)-([[:digit:]]+).([[:alpha:]]+)$") (define (makedepend:split-filename makedepend-scheme name) (let* ((match (string-match makedepend-scheme name)) (base (match:substring match 1)) (page (match:substring match 2)) (ext (match:substring match 3)) ) (list base page ext) ) ) ;; ;; Returns a list of all values found for the given attribute name ;; over all packages in the input files. ;; (define (makedepend:get-all-attr-values attribute packages) ;split individual values (gschem wants a single comma-sep list for source=) (append-map (lambda (str) (string-split str #\,)) ;ignore non-existent values (delete #f ;collect values from all packages into a list (append-map ;get all values for a given refdes (lambda (x) (gnetlist:get-all-package-attributes x attribute)) packages))) ) (define (makedepend:output-make-command input-files sources files port) (let* (;lazy version, use first filename only for naming scheme (scheme-split (makedepend:split-filename makedepend-scheme (car input-files))) (base (first scheme-split)) (page (second scheme-split)) (ext (third scheme-split)) ) ;schematic deps (format port "~a: ~a\n" (string-join input-files " ") (string-join sources " ")) ;netlist deps (format port "~a.cir: ~a ~a\n" base (string-join input-files " ") (string-join files " ")) ) ) (define (makedepend output-filename) (let* ((port (open-output-file output-filename)) (source-attrs (makedepend:get-all-attr-values "source" packages)) (file-attrs (makedepend:get-all-attr-values "file" packages)) (input-files (gnetlist:get-input-files)) ) (makedepend:output-make-command input-files source-attrs file-attrs port) (close-output-port port) ) ) ;; vim:shiftwidth=2 geda-gaf-1.8.2/gnetlist/scheme/gnetlist/0000775000175000017500000000000012220655755015117 500000000000000geda-gaf-1.8.2/gnetlist/scheme/gnetlist/backend-getopt.scm0000664000175000017500000001456612063576065020447 00000000000000;; gEDA - GPL Electronic Design Automation ;; gnetlist - gEDA Schematic Capture - Scheme API ;; Copyright (C) 2011 Peter Brett ;; ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 2 of the License, or ;; (at your option) any later version. ;; ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; ;; You should have received a copy of the GNU General Public License ;; along with this program; if not, write to the Free Software ;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA ;; ;; This module provides an API to assist backends which wish to ;; provide command-line gnetlist options via the `-O' argument. The ;; API consists of two functions: ;; ;; `backend-getopt', which accepts a grammar and the set of `-O' ;; arguments, and extracts the options. ;; ;; `backend-option-ref', which is used to look-up an option in the ;; structure returned by `backend-getopt'. (define-module (gnetlist backend-getopt) #:use-module (srfi srfi-1) #:use-module (ice-9 optargs) #:use-module (ice-9 receive) #:export (backend-getopt backend-option-ref)) (define (backend-getopt args grammar) "backend-getopt ARGS GRAMMAR Parse the command-line `-O' arguments in ARGS against the given backend option GRAMMAR, returning an option structure that can be passed to backend-option-ref. The GRAMMAR argument is expected to be a list of this form: `((OPTION (PROPERTY VALUE) ...) ...)' where each OPTION is a symbol denoting the option name. For each option, there may be a list of arbitrarily many property/value pairs. The order of the pairs is not important, but every property may only appear once in the property list. The following table lists the possible properties: `(required? BOOL)' If BOOL is true, the option is required. `backend-getopt' will raise an error if it is not found in ARGS. `(value BOOL)' If BOOL is `#t', the option requires a value; if it is `#f', it does not; and if it is the symbol `optional', the option may appear in ARGS with or without a value. `(predicate FUNC)' If the option accepts a value (i.e. you specified `(value #t)' or `(value optional)' for this option), then `backend-getopt' will apply FUNC to the value, and raise an error if it returns `#f'. FUNC should be a procedure which accepts a string and returns a boolean value. Normally, you will want to pass the result of calling `gnetlist:get-backend-arguments' as the ARGS parameter. If `backend-getopt' finds a problem with ARGS, it raises an error with the key `option-error'." (let ((options '())) ;; First pass: process options (for-each (lambda (arg) (receive (name value) (split-arg arg) (set! options (assoc-set! options name (process-arg name value grammar))))) args) ;; Second pass: ensure required options have been provided (for-each (lambda (grammar-entry) (let ((name (car grammar-entry)) (spec (cdr grammar-entry))) (and (opt-property spec 'required? #f) (or (backend-option-ref options name) (option-error "Backend option '~A' must be specified." name))))) grammar) ;; Return options options)) (define* (backend-option-ref options key #:optional default) "backend-option-ref OPTIONS KEY [DEFAULT] Search OPTIONS for a backend option named KEY and return its value, if found. If the option has no value, but was given, return `#t'. If the option was not given, return DEFAULT, or if DEFAULT was not specified, `#f'. OPTIONS must be the result of a call to `backend-getopt'." (or (assoc-ref options key) default)) (define (option-error message . args) "Raise an error due to a bad option." (scm-error 'option-error "backend-getopt" message args #f)) (define (split-arg arg) "Split an `-O' argument into name and value. The name is assumed to be all characters in ARG up to the first `=' or ` '. The name is returned as a symbol, and the value (if present) as a string. If argument has no value component, the value is returned as #f." (let ((idx (string-index arg (char-set #\space #\=)))) (case idx ((0) (option-error "Invalid backend option syntax '~A'." arg)) ((#f) (values (string->symbol arg) #f)) (else (values (string->symbol (substring arg 0 idx)) (substring arg (1+ idx))))))) (define (opt-spec name grammar) "Search GRAMMAR for an option specification for NAME." (let ((s (find (lambda (x) (eqv? name (car x))) grammar))) (and s (cdr s)))) ; Throw away the name of the option. (define (opt-property spec property default) "Search SPEC (obtained using find-opt-spec) for the given option PROPERTY. Returns the value of that property, or default if the property wasn't present in SPEC." (let ((p (find (lambda (x) (eqv? property (car x))) spec))) (if p (cadr p) default))) ; Throw away the name of the property. ; If property not found, use default. (define (process-arg name value grammar) "Validates the given `-O' argument NAME & VALUE against GRAMMAR, returning the value to be returned to the user code." (let ((spec (opt-spec name grammar))) ; Is this a valid argument? (or spec (option-error "Unrecognized backend option '~A'." name)) ; Check that a value was provided, if one was required, or vice ; versa. (case (opt-property spec 'value #f) ((optional) #t) ((#f) (and value (option-error "Backend option '~A' doesn't allow an argument." name))) (else (or value (option-error "Backend option '~A' requires an argument." name)))) ; If a value-verification predicate was provided, use it to verify ; the value. (let ((pred? (opt-property spec 'predicate #f))) (and pred? value (or (pred? value) (option-error "Invalid argument '~A' to backend option '~A'." value name)))) ; If a value was provided, return it, otherwise #t. (or value #t))) geda-gaf-1.8.2/gnetlist/scheme/gnetlist.scm0000664000175000017500000003070112220647257015542 00000000000000;;; gEDA - GPL Electronic Design Automation ;;; gnetlist - gEDA Netlist ;;; Copyright (C) 1998-2010 Ales Hvezda ;;; Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 2 of the License, or ;;; (at your option) any later version. ;;; ;;; This program is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with this program; if not, write to the Free Software ;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, ;;; MA 02111-1301 USA. (use-modules (srfi srfi-1)) (use-modules (geda deprecated)) ;;---------------------------------------------------------------------- ;; The below functions added by SDB in Sept 2003 to support command-line flag ;; processing. ;;---------------------------------------------------------------------- ;;--------------------------------------------------------------- ;; debug-spew ;; Wrapper which spews debug messages if -v flag is set, otherwise ;; does nothing. ;; Calling form: (debug-spew "verbose debug text") ;;-------------------------------------------------------------- (define debug-spew (lambda (debug-string) (if (calling-flag? "verbose_mode" (gnetlist:get-calling-flags)) (display debug-string) ))) (define (gnetlist:get-calling-flags) ; DEPRECATED "Returns a list of `-O' arguments in the form: ((ARGUMENT #t) ...) This function is deprecated, and should not be used in new code. New code should use `gnetlist:get-backend-arguments' directly." (map (lambda (x) (list x #t)) (gnetlist:get-backend-arguments))) ;;--------------------------------------------------------------- ;; calling-flag? ;; Returns #t or #f depending upon the corresponding flag ;; was set in the calling flags given to gnetlist. ;; 9.7.2003 -- SDB. ;;--------------------------------------------------------------- (define calling-flag? (lambda (searched-4-flag calling-flag-list) (if (null? calling-flag-list) '#f ;; return #f if null list -- sort_mode not found. (let* ((calling-pair (car calling-flag-list)) ;; otherwise look for sort_mode in remainder of list. (calling-flag (car calling-pair)) (flag-value (cadr calling-pair)) ) ;; (display (string-append "examining calling-flag = " calling-flag "\n" )) ;; (display (string-append "flag-value = " (if flag-value "true" "false") "\n" )) (if (string=? calling-flag searched-4-flag) flag-value ;; return flag-value if sort_mode found (calling-flag? searched-4-flag (cdr calling-flag-list)) ;; otherwise recurse until sort_mode is found ) ;; end if ) ;; end of let* ) ;; end of if (null? )) ;;------------- End of SDB's command line flag functions ---------------- ;; Support functions ;; This fcn should behave exactly the same as C's strncmp fcn. ;; It compares two strings from the start up to a user-defined end ;; char count. It also checks that the string compare was successful through ;; the end char count (i.e. that both strings are >= "end"). This ;; guards against returning #t when comparing "unconnected_pin-23" to "unc" ;; (over 15 chars). ;; I needed to write this because substring chokes when the string arg is ;; shorter than the end arg. ;; 1.4.2006 -- SDB. (define strncmp? (lambda (string1 string2 end) (and (string-ci=? (substring string1 0 (min end (string-length string1))) (substring string2 0 (min end (string-length string2)))) (>= (min (string-length string1) (string-length string2)) end) ) ) ) ;; This fcn returns the first len characters of the string str. If ;; str has less than len characters, it returns the whole string ;; (but doesn't choke) (define safe-string-head (lambda (str len) (substring str 0 (min len (string-length str))) ) ) ;; Default resolver: returns value associated with first symbol instance ;; in file order and warns if instances have different values. (define (unique-attribute refdes name values) (let ((value (car values))) (or (every (lambda (x) (equal? x value)) values) (format (current-error-port) "\ Possible attribute conflict for refdes: ~A name: ~A values: ~A " refdes name values)) value)) (define (gnetlist:get-package-attribute refdes name) "Return the value associated with attribute NAME on package identified by REFDES. It actually computes a single value from the full list of values produced by 'gnetlist:get-all-package-attributes' as that list is passed through 'unique-attribute'. For backward compatibility, the default behavior is to return the value associated with the first symbol instance for REFDES. If all instances of REFDES do not have the same value for NAME, it prints a warning. This can be modified by redefining 'unique-attribute' that is a procedure that gets provided a non-empty list of attribute values, the REFDES and the NAME used for the search. It is expected to return a single value as a string or #f for an empty or non-existent attribute value. Note that given the current load sequence of gnetlist, this customization can only happen in the backend itself or in a file loaded after the backend ('-m' option of gnetlist)." (let* ((values (gnetlist:get-all-package-attributes refdes name)) (value (and (not (null? values)) (unique-attribute refdes name values)))) (or value "unknown"))) (define (gnetlist:get-slots refdes) "Return a sorted list of slots used by package REFDES. It collects the slot attribute values of each symbol instance of REFDES. As a result, slots may be repeated in the returned list." (sort-list! (filter-map (lambda (slot) (if slot ;; convert string attribute value to number (or (string->number slot) ;; conversion failed, invalid slot, ignore value (begin (format (current-error-port) "Uref ~a: Bad slot number: ~a.\n" refdes slot) #f)) ;; no slot attribute, assume slot number is 1 1)) (gnetlist:get-all-package-attributes refdes "slot")) <)) (define (gnetlist:get-unique-slots refdes) "Return a sorted list of unique slots used by package REFDES." (delete-duplicates! (gnetlist:get-slots refdes))) ;; ;; Given a uref, returns the device attribute value (unknown if not defined) ;; (define get-device (lambda (package) (gnetlist:get-package-attribute package "device"))) ;; Shorthand for get component values (define get-value (lambda (package) (gnetlist:get-package-attribute package "value"))) (define get-component-text (lambda (package) (let ((value (gnetlist:get-package-attribute package "value")) (label (gnetlist:get-package-attribute package "label")) (device (gnetlist:get-package-attribute package "device"))) (if (not (string=? "unknown" value)) value (if (not (string=? "unknown" label)) label device))))) ;; return all pins for a particular package (define pins (lambda (package) (gnetlist:get-pins package))) ;; this is really crude, but I'm tired... :) (define display-nl (lambda (list) (display list) (newline))) ;; ah.. wonder what use this is... (define display-pin (lambda (pin-list) (for-each display-nl pin-list))) ;; ha. I'm playing with scheme here.. don't mind me (define display-all-pins (lambda () (for-each display-pin all-pins))) ;; another misc function (define print-packages (lambda (plist) (for-each display-nl plist))) ;; ETTUS ;; find-device ;; Usage: (find-device packages devicename) ;; Returns the first package which matches the devicename (define find-device (lambda (components devicename) (if (not (null? components)) (if (string=? devicename (get-device (car components))) (car components) (find-device (cdr components) devicename))))) ;; ETTUS ;; find-devices ;; Usage: (find-devices packages devicename '()) ;; Returns a list of packages which match the device name (define find-devices (lambda (components devicename list) (if (not (null? components)) (if (string=? devicename (get-device (car components))) (find-devices (cdr components) devicename (cons (car components) list)) (find-devices (cdr components) devicename list)) list))) ;; ETTUS ;; contains? ;; Usage (contains? list item) ;; True if the list contains the item, according to string=? (define contains? (lambda (ls item) (cond ((null? ls) #f) ((string=? item (car ls)) #t) (#t (contains? (cdr ls) item))))) ;; ETTUS ;; Usage: (number-nets all-unique-nets 1) ;; Returns a list of pairs of form (netname . number) (define (number-nets nets number) (define (number-nets-impl in i out) (if (null? in) (reverse! out) ; Return value (let ((netname (car in))) (if (string=? "GND" netname) (number-nets-impl (cdr in) i (cons (cons netname 0) out)) (number-nets-impl (cdr in) (1+ i) (cons (cons netname i) out)))))) (number-nets-impl nets number '())) ;; ETTUS ;; Usage: (get-net-number netname numberlist) ;; numberlist should be from (number-nets) above ;; Returns the number corresponding to the net (define get-net-number (lambda (netname numberlist) (if (not (null? numberlist)) (if (string=? netname (car (car numberlist))) (cdr (car numberlist)) (get-net-number netname (cdr numberlist)))))) ;; ;; Useful output functions contributed by Andrew Bardsley ;; (define (print-to-port port . l) (for-each (lambda (elem) (display elem port)) l)) (define (print . l) (apply print-to-port (cons (current-output-port) l))) ;; ;; Wrap a string into lines no longer than wrap-length ;; wrap-char is put on the end-of-the-wrapped-line, before the return ;; (from Stefan Petersen) (define (gnetlist:wrap string-to-wrap wrap-length wrap-char) (if (> wrap-length (string-length string-to-wrap)) string-to-wrap ; Last snippet of string (let ((pos (string-rindex string-to-wrap #\space 0 wrap-length))) (cond ((not pos) (display "Couldn't wrap string at requested position\n") " Wrap error!") (else (string-append (substring string-to-wrap 0 pos) wrap-char "\n " (gnetlist:wrap (substring string-to-wrap (+ pos 1)) wrap-length wrap-char))))))) ;; example use ; (define (run-test test-string wrap-len) ; (display (string-append "Wrapping \"" test-string "\" into ")) ; (display wrap-len) ; (newline) ; (display (gnetlist:wrap test-string wrap-len " \\")) ; (newline) ; (newline)) ; (run-test "one two three four five six seven eight nine ten" 5) ; (run-test "one two three four five six seven eight nine ten" 10) ; (run-test "one two three four five six seven eight nine ten" 20) ;; determine the uref to use for a particular OBJECT (define (gnetlist:get-uref object) ; Returns first value of first attrib found with given name, or #f. (define (attrib-first-value object name) (let ((attrib-lst (get-attrib-value-by-attrib-name object name))) (if (null? attrib-lst) #f (car attrib-lst)))) ; Handler if we find uref= (define (handle-uref value) (simple-format (current-output-port) "WARNING: Found uref=~A" value) (newline) (simple-format (current-output-port) "uref= is deprecated, please use refdes=~A" value) (newline) value) ; Actually find attribute: check refdes, then uref, then return #f. (cond ((attrib-first-value object "refdes") => (lambda (x) x)) ((attrib-first-value object "uref") => handle-uref) (else #f))) ;; define the default handler for get-uref (define get-uref gnetlist:get-uref) (define (gnetlist:get-command-line) "Return the command line used to invoke the program." (string-join (program-arguments))) geda-gaf-1.8.2/gnetlist/scheme/gnet-systemc.scm0000664000175000017500000006035612204066537016342 00000000000000;;; gEDA - GPL Electronic Design Automation ;;; gnetlist - gEDA Netlist ;;; Copyright (C) 1998-2010 Ales Hvezda ;;; Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 2 of the License, or ;;; (at your option) any later version. ;;; ;;; This program is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with this program; if not, write to the Free Software ;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, ;;; MA 02111-1301 USA. ;; ;; SystemC netlist backend written by Jaume Masip ;; (based on gnet-verilog.scm by Mike Jarabek) ;; some useful regexes for working with net-names ;; (use-modules (ice-9 regex)) (define id-regexp "[a-zA-Z_][a-zA-Z0-9_$]*") (define numeric "[0-9]+") ;; match on a systemc identifier like: netname[x:y] (define bit-range-reg (make-regexp (string-append "^(" id-regexp ")[[:space:]]*" "\\[" "[[:space:]]*(" numeric ")[[:space:]]*" ":" "[[:space:]]*(" numeric ")[[:space:]]*" "\\]"))) ;; match on a systemc identifier like: netname[x] (define single-bit-reg (make-regexp (string-append "^(" id-regexp ")[[:space:]]*" "\\[" "[[:space:]]*(" numeric ")[[:space:]]*" "\\]" ))) ;; match on a systemc identifier like: netname (define systemc-reg (make-regexp (string-append "^(" id-regexp ")[[:space:]]*" "<" "[[:space:]]*(" id-regexp ")[[:space:]]*" ">" ))) ;; match on a systemc identifier like: netname (define simple-id-reg (make-regexp ( string-append "^(" id-regexp ")$" ))) ;; return the top level block name for the module (define systemc:get-module-name ( gnetlist:get-toplevel-attribute "module_name" )) ;; return a list of nets whose pins have the desired attribute name/value ;; pair (define systemc:get-matching-nets (lambda (attribute value) (map car (systemc:filter attribute value packages)))) ;; This function takes an attribute name, desired value, and a list of ;; packages. For each of the packages, it looks up that attribute, and ;; if it matches, that package name is added to the list, and the function ;; recurses on the remaining packages. If the attribute does not match, ;; the function just recuses on the remaing packages. Thanks to Mohina Lal ;; for this trick. ;; (define systemc:filter (lambda (attribute value package-list) (cond ((null? package-list) '()) ((string=? (gnetlist:get-package-attribute (car package-list) attribute) value) (cons (map (lambda (pin) (car (gnetlist:get-nets (car package-list) pin))) (pins (car package-list))) (systemc:filter attribute value (cdr package-list)))) (else (systemc:filter attribute value (cdr package-list))))) ) ;; ;; Output the guts of the module ports here ;; ;; Scan through the list of components, and pins from each one, finding the ;; pins that have PINTYPE == CHIPIN, CHIPOUT, CHIPTRI (for inout) ;; build three lists one each for the inputs, outputs and inouts ;; return the a list of three lists that contain the pins in the order ;; we want. (define systemc:get-port-list (lambda () ;; construct list (list (systemc:get-matching-nets "device" "IPAD") (systemc:get-matching-nets "device" "OPAD") (systemc:get-matching-nets "device" "IOPAD")))) ;; ;; output the meat of the module port section ;; ;; each line in the declaration is formatted like this: ;; ;; PORTNAME , ;; (define systemc:write-module-declaration (lambda (module-name port-list p) (begin (display "#include \"systemc.h\"\n" p) (for-each (lambda (package) ; loop on packages (begin (let ((device (get-device package))) (if (not (memv (string->symbol device) ; ignore specials (map string->symbol (list "IOPAD" "IPAD" "OPAD" "HIGH" "LOW")))) (begin (display "#include \"" p) (systemc:display-escaped-identifier (get-device package) p) (display ".h\"\n" p)))))) packages) (newline p) (display "SC_MODULE (" p) (systemc:display-escaped-identifier module-name p) (display ")\n{\n" p) ) ) ) ;; ;; output the module direction section ;; (define systemc:write-port-directions (lambda (port-list p) (let ((in (car port-list)) ; extract list of pins (out (cadr port-list)) (inout (caddr port-list))) (begin (display "/* Port directions begin here */" p) (newline p) (for-each (lambda (pin) (begin (display "sc_in " p)(systemc:display-escaped-identifier (systemc:netname pin) p)(display ";" p)(newline p) ;; (display "sc_in<" p)(display (cadr (cadr pin)) p) (display "> " p) (systemc:display-wire pin p)(display ";" p)(newline p) ;; (display " /* " )(display(car pin) ) (display " */ " ) (display(cdr pin)) ;; (display " /* " )(systemc:display-escaped-identifier (systemc:netname pin) ) (display " */ " ) )) in) ; do each input (for-each (lambda (pin) (begin (display "sc_out " p) (systemc:display-escaped-identifier (systemc:netname pin) p) (display ";" p) (newline p))) out) ; do each output (for-each (lambda (pin) (begin (display "sc_inout " p) (systemc:display-escaped-identifier (systemc:netname pin) p) (display ";" p) (newline p))) inout) ; do each inout )))) ;; ;; Top level header ;; (define systemc:write-top-header (lambda (p) (let ((port-list (systemc:get-port-list))) (begin (display "/* structural SystemC generated by gnetlist */\n" p) (display "/* WARNING: This is a generated file, edits */\n" p) (display "/* made here will be lost next time */\n" p) (display "/* you run gnetlist! */\n" p) (display "/* Id ........gnet-systemc.scm (04/09/2003) */\n" p) (display "/* Source...../home/geda/gnet-systemc.scm */\n" p) (display "/* Revision...0.3 (23/09/2003) */\n" p) (display "/* Author.....Jaume Masip */\n" p) (newline p) (systemc:write-module-declaration systemc:get-module-name port-list p) (newline p) (systemc:write-port-directions port-list p) (newline p))))) ;; ;; Footer for file ;; (define systemc:write-bottom-footer (lambda (p) (display " }\n};\n" p) (newline p) ) ) ;; ;; Take a netname and parse it into a structure that describes the net: ;; ;; ( netname ; name of the wire ;; ( N1 ; first limit ;; N2 ; second limit ;; Increasing_order ; #t if N2>N1 ;; sure ; #t if we are sure about the order ;; )) (define systemc:net-parse (lambda (netname) (let ((bit-range (regexp-exec bit-range-reg netname)) (single-bit (regexp-exec single-bit-reg netname)) (simple-id (regexp-exec simple-id-reg netname)) (systemc (regexp-exec systemc-reg netname))) ;; (newline) ;; (display " systemc:net-parse ") ;; (if systemc (begin (display systemc) (display "->") (display (match:substring systemc 2) ))) ;; (if simple-id (display simple-id)) ;; (newline) ;; check over each expression type, and build the appropriate ;; result ;(display netname) (display ": ") (cond ;; is it a bit range? (bit-range ;(display "bit-range" ) (list (match:substring bit-range 1) (list (string->number (match:substring bit-range 2)) (string->number (match:substring bit-range 3)) (> (string->number (match:substring bit-range 3)) (string->number (match:substring bit-range 2))) '#t netname))) ;; just a single bit? (single-bit ;(display "single-bit") (list (match:substring single-bit 1) (list (string->number (match:substring single-bit 2)) (string->number (match:substring single-bit 2)) '#f '#f netname))) ;; just a systemc signal? (systemc (begin ;; (display "done systemc")(newline) (list (match:substring systemc 1) (list (string->number (match:substring systemc 2)) (match:substring systemc 2) ;; (string->number (match:substring systemc 2)) '#f '#f netname))) ) ;; or a net without anything (simple-id ;(display "bare-net") (list (match:substring simple-id 1) (list 0 0 #f #f netname))) (else (display (string-append "Warning: `" netname "' is not likely a valid Verilog identifier")) (newline) (list netname (list 0 0 #f #f netname))) ))) ) ;; ;; Return #t if the passed name is something that might pass as a ;; systemc identifier. ;; (define systemc:identifier? (lambda (netname) (let ((bit-range (regexp-exec bit-range-reg netname)) (single-bit (regexp-exec single-bit-reg netname)) (simple-id (regexp-exec simple-id-reg netname)) (systemc (regexp-exec systemc-reg netname))) ;; check over each expression type, return ;; result ;(display netname) (display ": ") (cond (bit-range `#t ) (single-bit `#t ) (simple-id `#t ) (systemc `#t ) (else `#f ) )))) ;; ;; Display a systemc identifier that is escaped if needed ;; (define systemc:display-escaped-identifier (lambda (netname port) (if (systemc:identifier? netname) (display netname port) ; just display the identifier ;;(display (string-append "\\" netname " ") port)))) ; need to escape (display netname port)))) ; need to escape ;; ;; return just the netname part of a systemc identifier ;; (define systemc:netname (lambda (netname) (car (systemc:net-parse netname)))) ;; Update the given bit range with data passed. Take care ;; of ordering issues. ;; ;; n1 : new first range ;; n2 : new second range ;; old-n1 : first range to be updated ;; old-n2 : second range to be updated ;; increasing : original order was increasing (define systemc:update-range (lambda (n1 n2 old-n1 old-n2 increasing) (let ((rn1 (if increasing (min n1 old-n1) ; originally increasing (max n1 old-n1))) ; originally decreasing (rn2 (if increasing (max n2 old-n2) ; originally increasing (min n2 old-n2)))) ; (display (string-append "increasing:" ; (if increasing "increasing" "decreasing") ; " rn1:" (number->string rn1) ; " rn2:" (number->string rn2) ; " n1:" (number->string n1) ; " n2:" (number->string n2) ; " old-n1:" (number->string old-n1) ; " old-n2:" (number->string old-n2))) (newline) (list rn1 rn2) ))) ;; return a record that has been updated with the given ;; parameters (define systemc:update-record (lambda (n1 n2 list-n1 list-n2 increasing sure real) (list (append (systemc:update-range n1 n2 list-n1 list-n2 increasing) (list increasing sure real))))) ;; ;; Work over the list of `unique' nets in the design, ;; extracting names, and bit ranges, if appropriate. ;; return a list of net description objects ;; (define systemc:get-nets '()) (define systemc:get-nets-once! (lambda nil (define the-nets '()) (set! systemc:get-nets (begin (for-each (lambda (netname) ; parse the netname, and see if it is already on the list (let* ((parsed (systemc:net-parse netname)) (listed (assoc (car parsed) the-nets))) ;; (display "systemc:get-nets(parsed)-> ") ;; (display parsed)(display " (listed)-> ") ;; (display listed) ;; (newline) (if listed (begin ; it is, do some checks, and update the record ;; extract fields from list (let* ((list-name (car listed)) (list-n1 (car (cadr listed))) (list-n2 (cadr (cadr listed))) (list-increasing (caddr (cadr listed))) (list-sure (cadddr (cadr listed))) (list-real (cadddr (cdr (cadr listed)))) (name (car parsed)) (n1 (car (cadr parsed))) (n2 (cadr (cadr parsed))) (increasing (caddr (cadr parsed))) (sure (cadddr (cadr parsed))) (real (cadddr (cdr (cadr parsed)))) (consistant (or (and list-increasing increasing) (and (not list-increasing) (not increasing)))) ) (cond ((and list-sure consistant) (begin (set-cdr! listed (systemc:update-record n1 n2 list-n1 list-n2 increasing #t real) ))) ((and list-sure (not sure) (zero? n1) (zero? n2)) '() ;; this is a net without any expression, leave it ) ((and list-sure (not consistant)) (begin ;; order is inconsistent (display (string-append "Warning: Net `" real "' has a " "bit order that conflicts with " "the original definition of `" list-real "', ignoring `" real "'" )) (newline))) ((and (not list-sure) sure consistant) (begin (set-cdr! listed (systemc:update-record n1 n2 list-n1 list-n2 increasing #t real)))) ((and (not list-sure) sure (not consistant)) (begin (set-cdr! listed (systemc:update-record n1 n2 list-n2 list-n1 increasing #t real)))) ((and (not list-sure) (not sure)) (begin (set-cdr! listed (systemc:update-record n1 n2 list-n1 list-n2 increasing #f real)))) (else (begin (display "This should never happen!") (newline))) ) ) ) (begin ; it is not, just add it to the end (set! the-nets (append the-nets (list parsed)))) )) ;; (display "systemc:get-nets(parsed)-> ") ) all-unique-nets) the-nets) ) systemc:get-nets )) ;; ;; Display wires from the design ;; ;; Display a net in a legal systemc format, based on the object passed (define systemc:display-wire (lambda (wire p) ;; figure out if we need a bit range (let ((name (car wire)) (n1 (car (cadr wire))) (n2 (cadr (cadr wire))) (increasing (caddr (cadr wire))) ) ;; (if (not (and (zero? n1) (zero? n2))) ;; (begin ;; yes, print it ;; (display "[ " p)(display n1 p)(display " : " p)(display n2 p)(display " ] " p) ) ) ;; print the wire name (systemc:display-escaped-identifier name p) ;;(systemc:display-escaped-identifier n1 p) ;;(systemc:display-escaped-identifier n2 p) ;;(systemc:display-escaped-identifier increasing p) ) ) ) ;; ;; Loop over the list of nets in the design, writing one by one ;; (define systemc:write-wires (lambda (p) (display "/* Wires from the design */" p) (newline p) (for-each (lambda (wire) ; print a wire statement for each ;; (let ((name (car wire)) (n1 (car (cadr wire))) (n2 (cadr (cadr wire))) (increasing (caddr (cadr wire))))) ;; (display "/* Wires from the design */")(newline) ;; (display "systemc:write-wires -> ")(display wire)(newline) (display "sc_signal<" p) (display (cadr (cadr wire)) p) (display "> " p) (systemc:display-wire wire p) (display ";" p) (newline p)) systemc:get-nets ) (newline p))) ;; ;; Output any continuous assignment statements generated ;; by placing `high' and `low' components on the board ;; (define systemc:write-continuous-assigns (lambda (p) ;; (display "/* continuous assignments */" p) (newline p) (for-each (lambda (wire) ; do high values (begin (display "assign " p) ;; XXX fixme, multiple bit widths! (systemc:display-escaped-identifier wire p) (display " = 1'b1;" p) (newline p))) (systemc:get-matching-nets "device" "HIGH")) (for-each (lambda (wire) (begin (display "assign " p) ;; XXX fixme, multiple bit widths! (systemc:display-escaped-identifier wire p) (display " = 1'b0;" p) (newline p))) (systemc:get-matching-nets "device" "LOW")) (newline p)) ) ;; ;; Top level component writing ;; ;; Output a compoment instatantiation for each of the ;; components on the board ;; ;; use the format: ;; ;; device-attribute refdes ( ;; .pinname ( net_name ), ;; ... ;; ); ;; (define c_p #f) (define systemc:components (lambda (packages port) (begin (set! c_p #f) (display "/* Package instantiations */" port) (newline port) (for-each (lambda (package) ; loop on packages (begin (let ((device (get-device package))) (if (not (memv (string->symbol device) ; ignore specials (map string->symbol (list "IOPAD" "IPAD" "OPAD" "HIGH" "LOW")))) (begin (systemc:display-escaped-identifier (get-device package) port) (display " " port) (systemc:display-escaped-identifier package port) (display ";" port) (newline port)))))) packages) (newline port) (display "SC_CTOR(" port) (systemc:display-escaped-identifier systemc:get-module-name port) (display "):\n" port) (for-each (lambda (package) ; loop on packages (begin (let ((device (get-device package))) (if (not (memv (string->symbol device) ; ignore specials (map string->symbol (list "IOPAD" "IPAD" "OPAD" "HIGH" "LOW")))) (begin (if c_p (begin (display "," port) (newline port)) (set! c_p #t)) (display " " port) (systemc:display-escaped-identifier package port) (display "(\"" port) (systemc:display-escaped-identifier package port) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;(do ((i n (- i 1))) ((zero? i)) (move-n-turn (/ 360 n))) (do ((lp 1 (+ lp 1))) ((> lp 32)) ;; (begin (display lp)(newline))) (let* ((attr (string-append "attr" (number->string lp))) (description (gnetlist:get-package-attribute package attr))) (begin (if (not (string=? description "unknown")) (begin (display "\",\"" port) (display description port))))) ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (display "\")" port) ))))) packages) (display "\n {" port) (for-each (lambda (package) ; loop on packages (begin (let ((device (get-device package))) (if (not (memv (string->symbol device) ; ignore specials (map string->symbol (list "IOPAD" "IPAD" "OPAD" "HIGH" "LOW")))) (begin ; if this module wants positional pins, ; then output that format, otherwise ; output normal named declaration (systemc:display-connections package (string=? (gnetlist:get-package-attribute package "VERILOG_PORTS" ) "POSITIONAL") port) ))))) packages)))) ;; ;; output a module connection for the package given to us with named ports ;; (define systemc:display-connections (lambda (package positional port) (begin (let ( (pin-list (gnetlist:get-pins-nets package)) (comma_pending #f) ) (if (not (null? pin-list)) (begin (newline port) (for-each (lambda (pin) (if (not (strncmp? (cdr pin) "unconnected_pin" 15) ) (begin (display " " port)(systemc:display-escaped-identifier package port) (systemc:display-pin pin positional port) (display ";" port) (newline port)))) pin-list) ))))) ) ;; ;; Display the individual net connections ;; in this format if positional is true: ;; ;; /* PINNAME */ NETNAME ;; ;; otherwise emit: ;; ;; .PINNAME ( NETNAME ) ;; (define systemc:display-pin (lambda (pin positional port) (let ((systemc (regexp-exec systemc-reg (cdr pin)))) (begin (if positional (begin ; output a positional port instanace (display " /* " port) (display (car pin) port) ; add in name for debugging (display " */ " port ) (display (cdr pin) port)) (begin ; else output a named port instance (display "." port) ; Display the escaped version of the identifier (systemc:display-escaped-identifier (car pin) port) (display "(" port) (if systemc (display (match:substring systemc 1) port) (systemc:display-escaped-identifier (cdr pin) port)) (display ")" port))))))) ;;; Highest level function ;;; Write Structural systemc representation of the schematic ;;; (define systemc (lambda (output-filename) (let ((port (open-output-file output-filename))) (begin (systemc:get-nets-once!) (systemc:write-top-header port) ;; (display "***** start write-wires ********")(newline) (systemc:write-wires port) ;; (display "***** end write-wires ********")(newline) (systemc:write-continuous-assigns port) (systemc:components packages port) (systemc:write-bottom-footer port) ) (close-output-port port) ) ) ) geda-gaf-1.8.2/gnetlist/scheme/gnet-bom2.scm0000664000175000017500000001346012204066537015504 00000000000000;;; gEDA - GPL Electronic Design Automation ;;; gnetlist - gEDA Netlist ;;; Copyright (C) 1998-2010 Ales Hvezda ;;; Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 2 of the License, or ;;; (at your option) any later version. ;;; ;;; This program is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with this program; if not, write to the Free Software ;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, ;;; MA 02111-1301 USA. ;; -------------------------------------------------------------------------- ;; ;; Bill of Material backend written by Matt Ettus starts here ;; ;;; Bill Of Materials Generator ;;; You must have a file called attribs in the pwd ;;; The file should be a text list of attributes you want listed, ;;; One per line. No comments are allowed in the file. ;;; Questions? Contact matt@ettus.com ;;; This software is released under the terms of the GNU GPL (use-modules (ice-9 rdelim) ;; guile-1.8 fix (gnetlist backend-getopt)) (define bom2:open-input-file (lambda (options) (let ((filename (backend-option-ref options 'attrib_file "attribs"))) (if (file-exists? filename) (open-input-file filename) (if (backend-option-ref options 'attribs) #f (begin (display (string-append "ERROR: Attribute file '" filename "' not found. You must do one of the following:\n")) (display " - Create an 'attribs' file\n") (display " - Specify an attribute file using -Oattrib_file=\n") (display " - Specify which attributes to include using -Oattribs=attrib1,attrib2,... (no spaces)\n") #f)))))) (define bom2 (lambda (output-filename) (let* ((options (backend-getopt (gnetlist:get-backend-arguments) '((attrib_file (value #t)) (attribs (value #t))))) (port (if (string=? "-" output-filename) (current-output-port) (open-output-file output-filename))) (attriblist (bom2:parseconfig (bom2:open-input-file options) options))) (and attriblist (begin (bom2:printlist (append (cons 'refdes attriblist) (list "qty")) port #\:) (newline port) (bom2:printbom port (bom2:components packages attriblist) 0) (close-output-port port)))))) (define bom2:printbom (lambda (port bomlist count) (if (not (null? bomlist)) (if (not (null? (caar bomlist))) (begin (display (caaar bomlist) port) (if (not (null? (cdaar bomlist))) (write-char #\, port)) (bom2:printbom port (cons (cons (cdaar bomlist)(cdar bomlist))(cdr bomlist)) (+ count 1)) ) (begin (display #\: port) (bom2:printlist (cdar bomlist) port #\:) (display #\: port) (display count port) (newline port) (bom2:printbom port (cdr bomlist) 0) ))))) (define bom2:printlist (lambda (ls port delimiter) (if (null? ls) #f (begin (display (car ls) port) (if (not (null? (cdr ls))) (write-char delimiter port)) (bom2:printlist (cdr ls) port delimiter))))) ; Parses attrib file. Returns a list of read attributes. (define bom2:parseconfig (lambda (port options) (let ((attribs (backend-option-ref options 'attribs))) (if attribs (string-split attribs #\,) (and port (let ((read-from-file (read-delimited " \n\t" port))) (cond ((eof-object? read-from-file) '()) ((= 0 (string-length read-from-file)) (bom2:parseconfig port options)) (else (cons read-from-file (bom2:parseconfig port options)))))))))) (define bom2:match-list? (lambda (l1 l2) (cond ((and (null? l1)(null? l2))#t) ((null? l1) #f) ((null? l2) #f) ((not (string=? (car l1)(car l2)))#f) (#t (bom2:match-list? (cdr l1)(cdr l2)))))) (define bom2:match? (lambda (uref attriblist bomlist) (if (null? bomlist) (list (cons (list uref) attriblist)) (if (bom2:match-list? attriblist (cdar bomlist)) ;; (cons (cons (cons uref (caar bomlist)) (cdar bomlist))(cdr bomlist)) (cons (cons (merge (list uref) (caar bomlist) stringnumber(cadddr port)) 1) p) (display " downto 0)" p) ) ) ) ) ) ) ;;; This little routine will actually write the full port clause given a list ;;; of pins, such as ((CLK in Std_Logic) (D in Std_Logic) (Q out Std_Logic)) (define vhdl:write-port-list (lambda (list p) (if (not (null? list)) (begin (display " PORT (" p) (newline p) (display " " p) (vhdl:write-port (car list) p) (for-each (lambda (pin) (begin (display ";" p) (newline p) (display " " p) (vhdl:write-port pin p) ) ) (cdr list)) (display ");" p) (newline p) ) ) ) ) ;;; This is the real thing. It will take a port-list arrangement. ;;; ;;; The port-list is a list containing three list: ;;; (in-port-list, out-port-list, inout-port-list) ;;; ;;; These lists will be transformed into a single list containing the full ;;; pin information. Currently is this done with hardwired to Std_Logic. (define vhdl:write-port-clause (lambda (port-list p) (let ((in (car port-list)) (out (cadr port-list)) (inout (caddr port-list))) (vhdl:write-port-list (append (map (lambda (pin) (list (car pin) "in" "Std_Logic" (cdr pin))) in) (map (lambda (pin) (list (car pin) "out" "Std_Logic" (cdr pin))) out) (map (lambda (pin) (list (car pin) "inout" "Std_Logic" (cdr pin))) inout) ) p ) ) ) ) ;;; Primary unit ;;; ;;; According to IEEE 1076-1993 11.1: ;;; ;;; primary_unit := ;;; entity_declaration ;;; | configuration_declaration ;;; | package_declaration ;;; ;;; Implementation note: ;;; We assume that gEDA does not generate either a configuration or ;;; package declaration. Thus, only a entity declaration will be generated. ;;; ;;; According to IEEE 1076-1993 1.1: ;;; ;;; entity_declaration := ;;; ENTITY identifier IS ;;; entity_header ;;; entity_declarative_part ;;; [ BEGIN ;;; entity_statement_part ] ;;; END [ ENTITY ] [ entity_simple_name ] ; ;;; ;;; Implementation note: ;;; We assume that no entity declarative part and no entity statement part ;;; is to be produced. Further, it is good custom in VHDL-93 to append ;;; both the entity keyword as well as the entity simple name to the ;;; trailer, therefore this is done to keep VHDL compilers happy. ;;; ;;; According to IEEE 1076-1993 1.1.1: ;;; ;;; entity_header := ;;; [ formal_generic_clause ] ;;; [ formal_port_clause ] ;;; ;;; Implementation note: ;;; Initially we will assume that there is no generic clause but that there ;;; is an port clause. We would very much like to have generic and the port ;;; clause should be conditional (consider writting a test-bench). ;;; (define vhdl:write-primary-unit (lambda (module-name port-list p) (begin ; Entity header (display "-- Entity declaration" p) (newline p) (newline p) (display "ENTITY " p) (display module-name p) (display " IS" p) (newline p) ; entity_header := [ generic_clause port_clause ] ; Insert generic_clause here when time comes ; port_clause ;;; ;(newline) ;(display "The schematic contains the following devices:") ;(newline) ;(display unique-devices) ;(newline) ;(newline) ;;; (vhdl:write-port-clause port-list p) ; entity_declarative_part is assumed not to be used ; entity_statement_part is assumed not to be used ; Entity trailer (display "END " p) (display module-name p) (display ";" p) (newline p) (newline p) ) ) ) ;; ;; Secondary Unit Section ;; ;;; Component Declaration ;;; ;;; According to IEEE 1076-1993 4.5: ;;; ;;; component_declaration := ;;; COMPONENT identifier [ IS ] ;;; [ local_generic_clause ] ;;; [ local_port_clause ] ;;; END COMPONENT [ component_simple_name ] ; ;;; ;;; Implementation note: ;;; The component declaration should match the entity declaration of the ;;; same name as the component identifier indicates. Since we do not yeat ;;; support the generic clause in the entity declaration we shall not ;;; support it here either. We will however support the port clause. ;;; ;;; In the same fassion as before we will use the conditional IS symbol ;;; as well as replicating the identifier as component simple name just to ;;; be in line with good VHDL-93 practice and keep compilers happy. (define vhdl:write-component-declarations (lambda (device-list p) (begin ;;; ;(display "refdes : package : (( IN )( OUT )(INOUT ))") ;(newline) ;(display "========================================") ;(newline) ;;; (for-each (lambda (device) (begin ; Hmm... I just grabbed this if stuff... do I need it? (if (not (memv (string->symbol device) ; ignore specials (map string->symbol (list "IOPAD" "IPAD" "OPAD" "HIGH" "LOW")))) (begin (display " COMPONENT " p) (display device p) ;(display " IS" p) (newline p) ; Generic clause should be inserted here ;;; ;(display (find-device packages device)) ;(display " : ") ;(display device) ;(display " : ") ;(display (vhdl:get-device-port-list ; (find-device packages device) ; ) ;) ;(newline) ;;; (vhdl:write-port-clause (vhdl:get-device-port-list (find-device packages device)) p) (display " END COMPONENT " p) (display ";" p) (newline p) (newline p) ) ) ) ) device-list ) ) ) ) ;;; THHE ;;; Build the port list from the symbols ;;; ;;; ... wouldn't it be better to feed get-pins, get-attribute-by-pinnumber and co. ;;; with the device rather than the component? pin names and atributes are locked to ;;; the symbol and not to the instance of the symbol in the sheet! (define vhdl:get-device-port-list (lambda (device) ;; construct list (list (vhdl:get-device-matching-pins device (gnetlist:get-pins device) "IN") (vhdl:get-device-matching-pins device (gnetlist:get-pins device) "OUT") (vhdl:get-device-matching-pins device (gnetlist:get-pins device) "INOUT") ) ) ) ;;; THHE ;;; get a list of all pins of a given type ;;; (define vhdl:get-device-matching-pins (lambda (device pin-list value) (cond ((null? pin-list) '()) ((string=? (gnetlist:get-attribute-by-pinnumber device (car pin-list) "pintype" ) value) (cons (cons (car pin-list) (gnetlist:get-attribute-by-pinnumber device (car pin-list) "width")) (vhdl:get-device-matching-pins device (cdr pin-list) value)) ) (else (vhdl:get-device-matching-pins device (cdr pin-list) value)) ) ) ) ;;; THHE ;;; build a list of all unique devices in in the list ;;; (define vhdl:get-unique-devices (lambda (device-list) (cond ((null? device-list) '()) ((not (contains? (cdr device-list) (car device-list))) (append (vhdl:get-unique-devices (cdr device-list)) (list (car device-list)))) (else (vhdl:get-unique-devices (cdr device-list))) ) ) ) ;;; THHE ;;; build a list of all unique devices in the schematic ;;; (define unique-devices (lambda nil (vhdl:get-unique-devices (map get-device packages)) )) ;;; Signal Declaration ;;; ;;; According to IEEE 1076-1993 4.3.1.2: ;;; ;;; signal_declaration := ;;; SIGNAL identifier_list : subtype_indication [ signal_kind ] ;;; [ := expression ] ; ;;; ;;; signal_kind := REGISTER | BUS ;;; ;;; Implementation note: ;;; Currently will the identifier list be reduced to a single entry. ;;; There is no support for either register or bus type of signal kind. ;;; Further, no default expression is being supported. ;;; The subtype indication is hardwired to Std_Logic. (define vhdl:write-signal-declarations (lambda (p) (begin (for-each (lambda (signal) (begin (display " SIGNAL " p) (display signal p) (display " : Std_Logic;" p) (newline p) ) ) all-unique-nets) ) ) ) ;;; Architecture Declarative Part ;;; ;;; According to IEEE 1076-1993 1.2.1: ;;; ;;; architecture_declarative_part := ;;; { block_declarative_item } ;;; ;;; block_declarative_item := ;;; subprogram_declaration ;;; | subprogram_body ;;; | type_declaration ;;; | subtype_declaration ;;; | constant_declaration ;;; | signal_declaration ;;; | shared_variable_declaration ;;; | file_declaration ;;; | alias_declaration ;;; | component_declaration ;;; | attribute_declaration ;;; | attribute_specification ;;; | configuration_specification ;;; | disconnection_specification ;;; | use_clause ;;; | group_template_declaration ;;; | group_declaration ;;; ;;; Implementation note: ;;; There is currently no support for programs or procedural handling in ;;; gEDA, thus will all declarations above involved in thus activites be ;;; left unused. This applies to subprogram declaration, subprogram body, ;;; shared variable declaration and file declaration. ;;; ;;; Further, there is currently no support for type handling and therefore ;;; will not the type declaration and subtype declaration be used. ;;; ;;; The is currently no support for constants, aliases, configuration ;;; and groups so the constant declaration, alias declaration, configuration ;;; specification, group template declaration and group declaration will not ;;; be used. ;;; ;;; The attribute passing from a gEDA netlist into VHDL attributes must ;;; wait, therefore will the attribute declaration and attribute ;;; specification not be used. ;;; ;;; The disconnection specification will not be used. ;;; ;;; The use clause will not be used since we pass the responsibility to the ;;; primary unit (where it s not yet supported). ;;; ;;; The signal declation will be used to convey signals held within the ;;; architecture. ;;; ;;; The component declaration will be used to convey the declarations of ;;; any external entity being used within the architecture. (define vhdl:write-architecture-declarative-part (lambda (p) (begin ; Due to my taste will the component declarations go first ; XXX - Broken until someday ; THHE fixed today ;-) (vhdl:write-component-declarations (unique-devices) p) ; Then comes the signal declatations (vhdl:write-signal-declarations p) ) ) ) ;;; Architecture Statement Part ;;; ;;; According to IEEE 1076-1993 1.2.2: ;;; ;;; architecture_statement_part := ;;; { concurrent_statement } ;;; ;;; According to IEEE 1076-1993 9: ;;; ;;; concurrent_statement := ;;; block_statement ;;; | process_statement ;;; | concurrent_procedure_call_statement ;;; | concurrent_assertion_statement ;;; | concurrent_signal_assignment_statement ;;; | component_instantiation_statement ;;; | generate_statement ;;; ;;; Implementation note: ;;; We currently does not support block statements, process statements, ;;; concurrent procedure call statements, concurrent assertion statements, ;;; concurrent signal assignment statements or generarte statements. ;;; ;;; Thus, we only support component instantiation statements. ;;; ;;; According to IEEE 1076-1993 9.6: ;;; ;;; component_instantiation_statement := ;;; instantiation_label : instantiation_unit ;;; [ generic_map_aspect ] [ port_map_aspect ] ; ;;; ;;; instantiated_unit := ;;; [ COMPONENT ] component_name ;;; | ENTITY entity_name [ ( architecture_identifier ) ] ;;; | CONFIGURATION configuration_name ;;; ;;; Implementation note: ;;; Since we are not supporting the generic parameters we will thus not ;;; suppport the generic map aspect. We will support the port map aspect. ;;; ;;; Since we do not yeat support the component form we will not yet use ;;; the component symbol based instantiated unit. ;;; ;;; Since we do not yeat support configurations we will not support the ;;; we will not support the configuration symbol based form. ;;; ;;; This leaves us with the entity form, which we will support initially ;;; using only the entity name. The architecture identifier could possibly ;;; be supported by attribute value. (define vhdl:write-architecture-statement-part (lambda (packages p) (begin (display "-- Architecture statement part" p) (newline p) (vhdl:write-component-instantiation-statements packages p) (display "-- Signal assignment part" p) (newline p) (vhdl:write-signal-assignment-statements packages p) ) ) ) ;;; THHE ;;; write component instantiation for each component in the sheet ;;; (define vhdl:write-component-instantiation-statements (lambda (packages p) (for-each (lambda (package) (begin (let ((device (get-device package))) (if (not (memv (string->symbol device) (map string->symbol (list "IOPAD" "IPAD" "OPAD" "HIGH" "LOW")))) (begin (display " " p) ; label (display package p) (display " : " p) ; entity name (display (get-device package) p) (newline p) ; Generic map aspect should go in here ; Port map aspect (vhdl:write-port-map package p) (display ";" p) (newline p) (newline p) ) ) ) ) ) packages) ) ) ;;; THHE ;;; Write the signal assignment for the top-level ports ;;; Since I like to have the urefs as port names in the top ;;; level entity, I have to assign them to the correspinding nets as well (define vhdl:write-signal-assignment-statements (lambda (packages p) (begin (for-each (lambda (port-ass) (vhdl:write-in-signal-assignment port-ass p)) (vhdl:get-top-level-ports packages "IPAD")) (for-each (lambda (port-ass) (vhdl:write-out-signal-assignment port-ass p)) (vhdl:get-top-level-ports packages "OPAD")) (for-each (lambda (port-ass) (vhdl:write-inout-signal-assignment port-ass p)) (vhdl:get-top-level-ports packages "IOPAD")) ) ) ) ;;; THHE ;;; get a list of the top-level ports (the urefs of the I/O-PADs) (define vhdl:get-top-level-ports (lambda (package-list pad-type) (cond ((null? package-list) '()) ((string=? (get-device (car package-list)) pad-type) (cons (cons (car package-list) (cdar (gnetlist:get-pins-nets (car package-list))) ) (vhdl:get-top-level-ports (cdr package-list ) pad-type ))) (else (vhdl:get-top-level-ports (cdr package-list ) pad-type )) ) ) ) ;;;THHE (define vhdl:write-in-signal-assignment (lambda (port-assignment p) (begin (display (cdr port-assignment) p) (display " <= " p) (display (car port-assignment) p) (display ";" p) (newline p) ) ) ) ;;;THHE (define vhdl:write-out-signal-assignment (lambda (port-assignment p) (begin (display (car port-assignment) p) (display " <= " p) (display (cdr port-assignment) p) (display ";" p) (newline p) ) ) ) ;;;THHE (define vhdl:write-inout-signal-assignment (lambda (port-assignment p) (begin (vhdl:write-in-signal-assignment port-assignment p) (vhdl:write-out-signal-assignment port-assignment p) ) ) ) ;;; Port map aspect ;;; ;;; According to IEEE 1076-1993 5.6.1.2: ;;; ;;; port_map_aspect := PORT MAP ( port_association_list ) ;;; ;;; According to IEEE 1076-1993 4.3.2.2: ;;; ;;; association_list := ;;; association_element { , association_element } (define vhdl:write-port-map (lambda (package p) (begin (let ((pin-list (gnetlist:get-pins-nets package))) (if (not (null? pin-list)) (begin (display " PORT MAP (" p) (newline p) (display " " p) (vhdl:write-association-element (car pin-list) p) (for-each (lambda (pin) (display "," p) (newline p) (display " " p) (vhdl:write-association-element pin p)) (cdr pin-list)) (display ")" p) ) ) ) ) ) ) ;;; Association element ;;; ;;; According to IEEE 1076-1993 4.3.2.2: ;;; ;;; association_element := ;;; [ formal_part => ] actual_part ;;; ;;; formal_part := ;;; formal_designator ;;; | function_name ( formal_designator ) ;;; | type_mark ( formal_designator ) ;;; ;;; formal_designator := ;;; generic_name ;;; | port_name ;;; | parameter_name ;;; ;;; actual_part := ;;; actual_designator ;;; | function_name ( actual_designator ) ;;; | type_mark ( actual_designator ) ;;; ;;; actual_designator := ;;; expression ;;; | signal_name ;;; | variable_name ;;; | file_name ;;; | OPEN ;;; ;;; Implementation note: ;;; In the association element one may have a formal part or relly on ;;; positional association. The later is doomed out as bad VHDL practice ;;; and thus will the formal part allways be present. ;;; ;;; The formal part will not support either the function name or type mark ;;; based forms, thus only the formal designator form is supported. ;;; ;;; Of the formal designator forms will generic name and port name be used ;;; as appropriate (this currently means that only port name will be used). ;;; ;;; The actual part will not support either the function name or type mark ;;; based forms, thus only the actual designator form is supported. (define vhdl:write-association-element (lambda (pin p) (begin (display (car pin) p) (display " => " p) (if (strncmp? "unconnected_pin" (cdr pin) 15) (display "OPEN" p) (display (cdr pin) p))))) ;;; Secondary unit ;;; ;;; According to IEEE 1076-1993 11.1: ;;; ;;; secondary_unit := ;;; architecture_body ;;; | package_body ;;; ;;; Implementation note: ;;; Since we are not likely to create packages in gEDA in the near future ;;; we will only support the architecture body. ;;; ;;; According to IEEE 1076-1993 1.2: ;;; ;;; architecture_body := ;;; ARCHITECTURE identifier OF entity_name IS ;;; architecture_declarative_part ;;; BEGIN ;;; architecture_statement_part ;;; END [ ARCHITECTURE ] [ architecture_simple_name ] ; ;;; ;;; Implementation note: ;;; The identifier will identify one of many architectures for an entity. ;;; Since we generate only an netlist architecture we will lock this to be ;;; "netlist" for the time being. Just as with the entity declaration we ;;; will use good VHDL-93 custom to add the architecture keyword as well ;;; as the architecture simple name to the trailer to keep compilers happy. (define vhdl:write-secondary-unit (lambda (module-name p) (display "-- Secondary unit" p) (newline p) (display "ARCHITECTURE netlist OF " p) (display module-name p) (display " IS" p) (newline p) ; architecture_declarative_part (vhdl:write-architecture-declarative-part p) (display "BEGIN" p) (newline p) ; architecture_statement_part (vhdl:write-architecture-statement-part packages p) (display "END netlist;" p) (newline p) ) ) ;;; Top level function ;;; Write structural VHDL representation of the schematic ;;; (define vhdl (lambda (output-filename) (let ((port (open-output-file output-filename)) (module-name (gnetlist:get-toplevel-attribute "module-name")) (port-list (vhdl:get-top-port-list))) (begin ;; No longer needed... especially since VHDL isn't a valid mode. :-) ;; (gnetlist:set-netlist-mode "VHDL") (display "-- Structural VHDL generated by gnetlist" port) (newline port) ; design_file := design_unit { design_unit } ; design_unit := context_clause library_unit (vhdl:write-context-clause port) ; library_unit := primary_unit secondary_unit (vhdl:write-primary-unit module-name port-list port) (newline port) (vhdl:write-secondary-unit module-name port) ) (close-output-port port) ) ) ) ;;; Context clause ;;; ;;; According to IEEE 1076-1993 11.3: ;;; ;;; context_clause := { context_item } ;;; context_item := library_clause | use_clause ;;; ;;; Implementation note: ;;; Both library and use clauses will be generated, eventually... ;;; What is missing is the information from gEDA itself, i think. (define vhdl:write-context-clause (lambda (p) (display "-- Context clause" p) (newline p) (display "library IEEE;" p) (newline p) (display "use IEEE.Std_Logic_1164.all;" p) (newline p) ) ) geda-gaf-1.8.2/gnetlist/scheme/gnet-allegro.scm0000664000175000017500000001317612204066537016276 00000000000000;;; gEDA - GPL Electronic Design Automation ;;; gnetlist - gEDA Netlist ;;; Copyright (C) 1998-2010 Ales Hvezda ;;; Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 2 of the License, or ;;; (at your option) any later version. ;;; ;;; This program is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with this program; if not, write to the Free Software ;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, ;;; MA 02111-1301 USA. ;; Allegro netlist format (define allegro:write-device-files (lambda (packages done) (if (not (null? packages)) (let ((device (get-device (car packages)))) (if (contains? done device) (allegro:write-device-files (cdr packages) done) (begin (allegro:write-device device (car packages)) (allegro:write-device-files (cdr packages) (cons device done)))))))) (define allegro:write-device (lambda (device package) ;; Check if the 'devfiles' directory exist. (if (not (access? "devfiles" F_OK)) (if (access? "." W_OK) ;; If the 'devfiles' directory doesn't exist, and ;; we have write access to the current directory, then create it. (mkdir "devfiles") ;; If we don't have write access to the current directory, ;; end with an error message. (begin (error (string-append "the device files are expected to be in the 'devfiles' directory.\n" " However, can't create it!.\n" " Check write permissions of the current directory.\n")))) ;; If 'devfiles' exist, check if it is a directory. (if (not (eq? (stat:type (stat "devfiles")) 'directory)) (begin ;; 'devfiles' exists, but it is not a directory. ;; End with an error message. (error (string-append "the device files are expected to be in the 'devfiles' directory.\n" " However, 'devfiles' exists and it is not a directory!.\n")) ))) ;; 'devfiles' should exist now. Check if we have write access. (if (not (access? "devfiles" W_OK)) ;; We don't have write access to 'devfiles'. ;; End with an error message (error (string-append "the device files are expected to be in the 'devfiles' directory.\n" " However, can't access it for writing!.\n" " Check write permissions of the 'devfiles' directory.\n"))) (let ((p (open-output-file (string-downcase! (string-append "devfiles/" (string-append device ".txt")))))) (display "(Device File generated by gEDA Allegro Netlister)\n" p) (display "PACKAGE " p) (display (gnetlist:get-package-attribute package "footprint" )p) (newline p) (display "CLASS " p) (display (gnetlist:get-package-attribute package "class" )p) (newline p) (display "PINCOUNT " p) (display (gnetlist:get-package-attribute package "pins" )p) (newline p) (let ((altfoot (gnetlist:get-package-attribute package "alt_foot"))) (if (not (string=? altfoot "unknown")) (begin (display "PACKAGEPROP ALT_SYMBOLS\n" p) (display "'(" p) (display altfoot p) (display ")'\n" p)))) (display "END\n" p) (close-output-port p)))) (define allegro:components (lambda (port packages) (if (not (null? packages)) (begin (let ((footprint (gnetlist:get-package-attribute (car packages) "footprint")) (package (car packages))) (if (not (string=? footprint "unknown")) (display footprint port)) (display "! " port) (display (gnetlist:get-package-attribute package "device") port) (display "! " port) (display (get-component-text package) port) (display "; " port ) (display package port) (newline port)) (allegro:components port (cdr packages)))))) (define allegro:display-connections (lambda (port nets) (if (not (null? nets)) (begin (write-char #\space port) (display (car (car nets)) port) (write-char #\. port) (display (car (cdr (car nets))) port) (if (null? (cdr nets)) (newline port) (begin (write-char #\, port) (newline port) (allegro:display-connections port (cdr nets)) )))))) (define allegro:write-net (lambda (port netnames) (if (not (null? netnames)) (let ((netname (car netnames))) (display netname port) (display ";" port) (allegro:display-connections port (gnetlist:get-all-connections netname)) (allegro:write-net port (cdr netnames)))))) (define allegro (lambda (filename) (let ((port (open-output-file filename))) (display "(Allegro netlister by M. Ettus)\n" port) (display "$PACKAGES\n" port) (allegro:components port packages) (display "$NETS\n" port) (allegro:write-net port (gnetlist:get-all-unique-nets "dummy")) (display "$END\n" port) (close-output-port port) (allegro:write-device-files packages '() )))) geda-gaf-1.8.2/gnetlist/scheme/gnet-bom.scm0000664000175000017500000001041712204066537015421 00000000000000;;; gEDA - GPL Electronic Design Automation ;;; gnetlist - gEDA Netlist ;;; Copyright (C) 1998-2010 Ales Hvezda ;;; Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 2 of the License, or ;;; (at your option) any later version. ;;; ;;; This program is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with this program; if not, write to the Free Software ;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, ;;; MA 02111-1301 USA. ;; -------------------------------------------------------------------------- ;; ;; Bill of Material backend written by Matt Ettus starts here ;; ;;; Bill Of Materials Generator ;;; You must have a file called attribs in the pwd ;;; The file should be a text list of attributes you want listed, ;;; One per line. No comments are allowed in the file. ;;; Questions? Contact matt@ettus.com ;;; This software is released under the terms of the GNU GPL (use-modules (ice-9 rdelim) ;; guile-1.8 fix (gnetlist backend-getopt)) (define bom:open-input-file (lambda (options) (let ((filename (backend-option-ref options 'attrib_file "attribs"))) (if (file-exists? filename) (open-input-file filename) (if (backend-option-ref options 'attribs) #f (begin (display (string-append "ERROR: Attribute file '" filename "' not found. You must do one of the following:\n")) (display " - Create an 'attribs' file\n") (display " - Specify an attribute file using -Oattrib_file=\n") (display " - Specify which attributes to include using -Oattribs=attrib1,attrib2,... (no spaces)\n") #f)))))) (define bom (lambda (output-filename) (let* ((options (backend-getopt (gnetlist:get-backend-arguments) '((attrib_file (value #t)) (attribs (value #t))))) (port (if (string=? "-" output-filename) (current-output-port) (open-output-file output-filename))) (attriblist (bom:parseconfig (bom:open-input-file options) options))) (and attriblist (begin (bom:printlist (cons 'refdes attriblist) port) (bom:components port packages attriblist) (close-output-port port)))))) (define bom:printlist (lambda (ls port) (if (null? ls) (newline port) (begin (display (car ls) port) (write-char #\tab port) (bom:printlist (cdr ls) port))))) ; Parses attrib file or argument. Returns a list of read attributes. (define bom:parseconfig (lambda (port options) (let ((attribs (backend-option-ref options 'attribs))) (if attribs (string-split attribs #\,) (and port (let ((read-from-file (read-delimited " \n\t" port))) (cond ((eof-object? read-from-file) '()) ((= 0 (string-length read-from-file)) (bom:parseconfig port options)) (else (cons read-from-file (bom:parseconfig port options)))))))))) (define bom:components (lambda (port ls attriblist) (if (not (null? ls)) (let ((package (car ls))) (if (not (string=? "1" (gnetlist:get-package-attribute package "nobom"))) (begin (display package port) (write-char #\tab port) (bom:printlist (bom:find-attribs package attriblist) port))) (bom:components port (cdr ls) attriblist))))) (define bom:find-attribs (lambda (package attriblist) (if (null? attriblist) '() (cons (gnetlist:get-package-attribute package (car attriblist)) (bom:find-attribs package (cdr attriblist)))))) ;; ;; Bill of Material backend written by Matt Ettus ends here ;; ;; -------------------------------------------------------------------------- geda-gaf-1.8.2/gnetlist/scheme/gnet-ewnet.scm0000664000175000017500000002247312204066537015773 00000000000000;;; gEDA - GPL Electronic Design Automation ;;; gnetlist - gEDA Netlist ;;; Ultiboard (ewnet) backend ;;; Copyright (C) 2011 Dan McMahill ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 2 of the License, or ;;; (at your option) any later version. ;;; ;;; This program is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with this program; if not, write to the Free Software ;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, ;;; MA 02111-1301 USA. ;;; Notes about Ultiboard (.ewnet) netlists. "ew" ;;; stands for Electronic Workbench. ;;; ;;; FIXME -- the biggest problem with this backend is that I ;;; had no documentation at all on the file format. I just ;;; found a .ewnet file online somewhere, read it, and guessed ;;; as to the right way to create these. Full documentation would ;;; help considerably! ;; Function: ewnet:map-net-names ;; ;; This procedure takes a net name as determined by gnetlist and ;; modifies it to be a valid ewnet net name. ;; ;; FIXME -- need to determine what restrictions there may be on ;; ewnet net names. For example: ;; - allowed characters ;; - case sensitive or not? ;; - max length ;; ;; See the futurenet2 backend for examples of some of what may go ;; into a net name aliasing function. For now this function just returns ;; the input string and acts as a placeholder in case we find ;; that net name mapping is required. (define ewnet:map-net-names (lambda (net-name) (let ((net-alias net-name) ) net-alias ) ) ) ;; Function: ewnet:map-refdes ;; ;; This procedure takes a refdes as determined by gnetlist and ;; modifies it to be a valid ewnet refdes. ;; ;; FIXME -- need to determine what restrictions there may be on ;; ewnet instance names (refdes). For example: ;; - allowed characters ;; - case sensitive or not? ;; - max length ;; ;; See the futurenet2 backend for examples of some of what may go ;; into a instance name aliasing function. For now this function ;; just returns the input string and acts as a placeholder in ;; case we find that instance name mapping is required. (define ewnet:map-refdes (lambda (refdes) (let ((refdes-alias refdes) ) refdes-alias ) ) ) ;; write out the pins for a particular component (define ewnet:component_pins (lambda (port package pins) (if (and (not (null? package)) (not (null? pins))) (begin (let ( (pin (car pins))) ;; pin number (display "\t\t(pin \"" port) (display (gnetlist:get-attribute-by-pinnumber package pin "pinnumber") port) (display "\"\n" port) ;; net (display "\t\t\t(net \"" port) (display (gnetlist:alias-net (car (gnetlist:get-nets package pin))) port) (display "\")\n" port) ;; pin type. I have seen "PWR", "GND", "IN", "OUT", "BIDIR" (display "\t\t\t(pintype \"" port) ;; FIXME -- need to translate between geda and the allowed ;; ewnet types here (display "BIDIR" port) (display "\")\n" port) (display "\t\t\t(gategroup \"\")\n" port) (display "\t\t\t(pingroup \"\")\n" port) ;; label (pin name) (display "\t\t\t(label \"" port) (display pin port) (display "\")\n" port) ;; gate (display "\t\t\t(gate \"\")\n" port) (display "\t\t)\n" port) ) (ewnet:component_pins port package (cdr pins)) ) ) ) ) ;; write out the components (define ewnet:components (lambda (port packages) (if (not (null? packages)) (begin (let ( (device (gnetlist:get-package-attribute (car packages) "device")) (pattern (gnetlist:get-package-attribute (car packages) "pattern")) (value (gnetlist:get-package-attribute (car packages) "value")) ;; The above pattern should stay as "pattern" and not "footprint" (package (car packages))) ;; start the instance (display "\t(instance \"" port) ;; write the footprint (display (gnetlist:get-package-attribute package "footprint") port) (display "\" \"" port) ;; write the reference designator (display (gnetlist:alias-refdes package) port) (display "\"\n" port) ;; device (display "\t\t(device \"" port) (display device port) (display "\")\n" port) ;; If there is a "value" attribute, output that. ;; Otherwise output the "device" attribute (the symbol name). (if (string=? value "unknown") (set! value device ) ) ;; value (display "\t\t(value \"" port) (display value port) (display "\")\n" port) (display "\t\t(gateswap \"0\")\n" port) (display "\t\t(pinswap \"0\")\n" port) (display "\t\t(component_space \"0.00000000e+000\")\n" port) (display "\t\t(component_group \"\")\n" port) (display "\t\t(settings_locked \"0\")\n" port) (display "\t\t(comp_variants \"Default1;\")\n" port) (display "\t\t(comp_variant_independent \"0\")\n" port) ;; write the pins (ewnet:component_pins port package (gnetlist:get-pins package)) ;; close the part (display "\t)\n" port) ) (ewnet:components port (cdr packages) ) ) ) ) ) ;; write out the nets (define ewnet:write-net (lambda (port netnames) (if (not (null? netnames)) (let ( (netname (car netnames)) (alias (gnetlist:alias-net (car netnames))) ) (display "\t( net \"" port) (display alias port) (display "\"\n" port) (display "\t\t(trackwidth \"-1.00000000e+000\")\n" port) (display "\t\t(trackwidth_max \"-1.00000000e+000\")\n" port) (display "\t\t(trackwidth_min \"-1.00000000e+000\")\n" port) (display "\t\t(tracklength_max \"-1.00000000e+000\")\n" port) (display "\t\t(tracklength_min \"-1.00000000e+000\")\n" port) (display "\t\t(clearance_to_trace \"-1.00000000e+000\")\n" port) (display "\t\t(clearance_to_pad \"-1.00000000e+000\")\n" port) (display "\t\t(clearance_to_via \"-1.00000000e+000\")\n" port) (display "\t\t(clearance_to_copper \"-1.00000000e+000\")\n" port) (display "\t\t(routing_layer \"\")\n" port) (display "\t\t(settings_locked \"0\")\n" port) (display "\t\t(net_group \"\")\n" port) (display "\t)\n" port) (ewnet:write-net port (cdr netnames)) ) ) ) ) ;; write out the header (define ewnet:write-header (lambda (port) (display "(ToolInfo\n" port) (display "\t(netlist \"ULTIboard\" 7 0 0)\n" port) (display "\t(tool \"Multisim\" 7 0 0)\n" port) (display "\t(timestamp \"15:19:8\" \"9-6-2006\")\n" port) (display "\t(version 3 0 0)\n" port) (display "\t(gateswap 2)\n" port) (display "\t(pinswap 1)\n" port) (display "\t(crossprobe {D6EE9C01-C93E-4246-9BC1-214A35C4954C})\n" port) (display "\t(units Mil)\n" port) (display ")\n" port) ) ) ;; write out the layer information ;; FIXME -- can this just be left out? If not, how shall we define ;; stackup in a way where gnetlist can find it? (define ewnet:layers (lambda (port) (display "\t(layer \"Copper Bottom\"\n" port) (display "\t\t(routable \"1\")\n" port) (display "\t\t(type \"Signal\")\n" port) (display "\t)\n" port) (display "\t(layer \"Copper Top\"\n" port) (display "\t\t(routable \"1\")\n" port) (display "\t\t(type \"Signal\")\n" port) (display "\t)\n" port) ) ) ;; The top level netlister for ewnet (define ewnet (lambda (filename) (newline) (display "---------------------------------\n") (display "gEDA/gnetlist ewnet Backend\n") (display "This backend is EXPERIMENTAL\n") (display "Use at your own risk!\n") (display "\n") (display "You may need to run the output netlist\n") (display "through unix2dos before importing to\n") (display "windows based layout tools\n") (display "---------------------------------\n\n") (let ((port (open-output-file filename)) (all-nets (gnetlist:get-all-unique-nets "dummy")) ) ;; initialize the net-name aliasing (gnetlist:build-net-aliases ewnet:map-net-names all-unique-nets) ;; initialize the refdes aliasing (gnetlist:build-refdes-aliases ewnet:map-refdes packages) ;; write the header (ewnet:write-header port) ;; write the nets (display "(nets\n" port) (ewnet:write-net port all-nets) (display ")\n" port) ;; write the components (display "(components\n" port) (ewnet:components port packages) (display ")\n" port) ;; write the board layers (display "(layers\n" port) (ewnet:layers port) (display ")\n" port) ;; close netlist (close-output-port port) ) ) ) geda-gaf-1.8.2/gnetlist/scheme/gnet-partslist3.scm0000664000175000017500000000461712220647257016763 00000000000000; Copyright (C) 2001-2010 MIYAMOTO Takanori ; gnet-partslist3.scm ; ; This program is free software; you can redistribute it and/or modify ; it under the terms of the GNU General Public License as published by ; the Free Software Foundation; either version 2 of the License, or ; (at your option) any later version. ; ; This program is distributed in the hope that it will be useful, ; but WITHOUT ANY WARRANTY; without even the implied warranty of ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ; GNU General Public License for more details. ; ; You should have received a copy of the GNU General Public License ; along with this program; if not, write to the Free Software ; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ; The /'s may not work on win32 (load (string-append gedadata "/scheme/partslist-common.scm")) (define partslist3:write-top-header (lambda (port) (display ".START\n" port) (display "..device\tvalue\tfootprint\tquantity\trefdes\n" port))) (define (partslist3:write-partslist ls port) (if (null? ls) '() (begin (write-one-row (cdar ls) "\t" "\t" port) (write-one-row (caar ls) " " "\n" port) (partslist3:write-partslist (cdr ls) port)))) (define partslist3:write-bottom-footer (lambda (port) (display ".END" port) (newline port))) (define (count-same-parts ls) (if (null? ls) (append ls) (let* ((parts-table-no-uref (let ((result '())) (for-each (lambda (l) (set! result (cons (cdr l) result))) (reverse ls)) (append result))) (first-ls (car parts-table-no-uref)) (match-length (length (member first-ls (reverse parts-table-no-uref)))) (rest-ls (list-tail ls match-length)) (match-ls (list-tail (reverse ls) (- (length ls) match-length))) (uref-ls (let ((result '())) (for-each (lambda (l) (set! result (cons (car l) result))) match-ls) (append result)))) (cons (cons uref-ls (append first-ls (list match-length))) (count-same-parts rest-ls))))) (define partslist3 (lambda (output-filename) (let ((port (open-output-file output-filename)) (parts-table (marge-sort-with-multikey (get-parts-table packages) '(1 2 3 0)))) (set! parts-table (count-same-parts parts-table)) (partslist3:write-top-header port) (partslist3:write-partslist parts-table port) (partslist3:write-bottom-footer port) (close-output-port port)))) geda-gaf-1.8.2/gnetlist/scheme/gnetlist-post.scm0000664000175000017500000001415612204066537016531 00000000000000;;; gEDA - GPL Electronic Design Automation ;;; gnetlist - gEDA Netlist ;;; Copyright (C) 1998-2010 Ales Hvezda ;;; Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 2 of the License, or ;;; (at your option) any later version. ;;; ;;; This program is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with this program; if not, write to the Free Software ;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, ;;; MA 02111-1301 USA. ;; get all packages for a particular schematic page ;; eventually placeholder will be either the hierarchical level or something ;; of the sort (define packages (gnetlist:get-packages "placeholder")) ;; return a list of all unique the nets in the design (define all-unique-nets (gnetlist:get-all-unique-nets "placeholder")) ;; return a list of all the nets in the design ;; Might return duplicates (define all-nets (gnetlist:get-all-nets "placeholder")) ;; not very useful, but amusing (define all-pins (map gnetlist:get-pins packages)) ;; ;; Functions for dealing with naming requirements for different ;; output netlist formats which may be more restrictive than ;; gEDA's internals. ;; ;; These will become hash tables which provide the mapping ;; from gEDA net name to netlist net name and from netlist ;; net name to gEDA net name. (define gnetlist:net-hash-forward (make-hash-table (length all-nets))) (define gnetlist:net-hash-reverse (make-hash-table (length all-nets))) ;; These will become hash tables which provide the mapping ;; from gEDA refdes to netlist refdes and from netlist ;; refdes to gEDA refdes. (define gnetlist:refdes-hash-forward (make-hash-table (length packages))) (define gnetlist:refdes-hash-reverse (make-hash-table (length packages))) ;; build the hash tables with the net name mappings and ;; while doing so, check for any shorts which are created ;; by modifying the netnames. If a short occurs, error out ;; with a descriptive message. ;; ;; This function should be called as one of the first steps ;; in a netlister which needs to alias nets. (define gnetlist:build-net-aliases (lambda (mapfn nets) (if (not (null? nets)) (begin (let ( (net (car nets)) (alias (mapfn (car nets))) ) (if (hash-ref gnetlist:net-hash-reverse alias) (begin (display "***** ERROR *****\n") (display "There is a net name collision!\n") (display "The net called \"") (display net) (display "\" will be remapped\nto \"") (display alias) (display "\" which is already used\n") (display "by the net called \"") (display (hash-ref gnetlist:net-hash-reverse alias)) (display "\".\n") (display "This may be caused by netname attributes colliding with other netnames\n") (display "due to truncation of the name, case insensitivity, or\n") (display "other limitations imposed by this netlist format.\n") (error) ) ) (hash-create-handle! gnetlist:net-hash-forward net alias) (hash-create-handle! gnetlist:net-hash-reverse alias net ) (gnetlist:build-net-aliases mapfn (cdr nets)) ) ) ) ) ) ;; build the hash tables with the refdes mappings and ;; while doing so, check for any name clashes which are created ;; by modifying the refdes's. If a name clash occurs, error out ;; with a descriptive message. ;; ;; This function should be called as one of the first steps ;; in a netlister which needs to alias refdes's. (define gnetlist:build-refdes-aliases (lambda (mapfn refdeses) (if (not (null? refdeses)) (begin (let ( (refdes (car refdeses)) (alias (mapfn (car refdeses))) ) (if (hash-ref gnetlist:refdes-hash-reverse alias) (begin (display "***** ERROR *****\n") (display "There is a refdes name collision!\n") (display "The refdes \"") (display refdes) (display "\" will be mapped\nto \"") (display alias) (display "\" which is already used\n") (display "by \"") (display (hash-ref gnetlist:refdes-hash-reverse alias)) (display "\".\n") (display "This may be caused by refdes attributes colliding with others\n") (display "due to truncation of the refdes, case insensitivity, or\n") (display "other limitations imposed by this netlist format.\n") (error) ) ) (hash-create-handle! gnetlist:refdes-hash-forward refdes alias) (hash-create-handle! gnetlist:refdes-hash-reverse alias refdes ) (gnetlist:build-refdes-aliases mapfn (cdr refdeses)) ) ) ) ) ) ;; convert a gEDA netname into an output netlist net name (define gnetlist:alias-net (lambda (net) (hash-ref gnetlist:net-hash-forward net) ) ) ;; convert a gEDA refdes into an output netlist refdes (define gnetlist:alias-refdes (lambda (refdes) (hash-ref gnetlist:refdes-hash-forward refdes) ) ) ;; convert an output netlist net name into a gEDA netname (define gnetlist:unalias-net (lambda (net) (hash-ref gnetlist:net-hash-reverse net) ) ) ;; convert an output netlist refdes into a gEDA refdes (define gnetlist:unalias-refdes (lambda (refdes) (hash-ref gnetlist:refdes-hash-reverse refdes) ) ) geda-gaf-1.8.2/gnetlist/scheme/gnet-spice-sdb.scm0000664000175000017500000024625012204066537016523 00000000000000;;; gEDA - GPL Electronic Design Automation ;;; gnetlist - gEDA Netlist ;;; Copyright (C) 1998-2010 Ales Hvezda ;;; Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 2 of the License, or ;;; (at your option) any later version. ;;; ;;; This program is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with this program; if not, write to the Free Software ;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, ;;; MA 02111-1301 USA. ;; ;; -------------------------------------------------------------------------- ;; ;; SPICE netlist backend written by S. Gieltjes starts here ;; ;; further modified by W. Kazubski to use scaling parameters for devices ;; other than MOSFETS ;; ;;---------------------------------------------------------------------- ;; ;; Started with gnet-spice1.scm by W. Kazubski. Radically ;; hacked by SDB to support advanced spice netlist generation. ;; Project started 3.5.2003 -- SDB. ;; ;; Details and documentation at http://www.brorson.com/gEDA/SPICE/ ;; ;; Change log: ;; 3.5.2003 -- Started hacking. SDB. ;; 3.17.2003 -- 2nd version. Hacked to allow for .SUBCKT files to model ics. ;; Changed write-ic. Added get-file-type. Added ;; write-subcircuit. SDB. ;; 3.31.2003 -- 3rd version. Hacked to enable creating .SUBCKT schematics for ;; hierarchical circuit modeling. ;; 8.29.2003 -- 4th version. Include patches from Ken Healy to sort netlist, ;; code by SDB to use gnetlist command line args in Scheme fcns, ;; as well as from Theo Deckers to fix strange problem with '.SUBCKT ;; quoting. ;; 9.9.2003 -- 5th version. Rearranged code for more organization (I was beginning ;; to get lost. . . .). Incorporated changes to handle external SPICE ;; files more intelligently. Changed spew to be configurable by setting ;; -v from the command line. Placed new fcn debug-spew into gnetlist.scm. ;; Added -I command line flag. ;; 10.14.2003 -- Bugfixes: Added empty-string? and hacked get-file-type to handle ;; case where a model file has an empty line before .SUBCKT or .MODEL. ;; Also modified write-net-names-on-component to gracefully handle ;; case where not every pin has a pinseq attribute. Now only outputs ;; pins with valid pinseq attribute. ;; 12.25.2003 -- Bugfix: Unswizzled emission of pins from user-defined .subckts. ;; (Now correctly uses pinseq to define emission order of pins.) Also ;; added ability to emit attributes for semiconductors (e.g. area, off, ;; ic, etc.) Added in response to user requests. ;; 12.29.2003 -- Two small enhancements requested by Peter Kaiser. ;; 12.29.2003.a -- Minor bugfix. ;; 12.29.2003.b -- Second minor bugfix. ;; 12.29.2003.c -- Change res & cap to incorporate modelname & "area=" attrib. ;; 3.24.2004 -- Bugfixes made to JFET stuff during Feb. Change released now. ;; 8.22.2004 -- Added command line as first line of file. ;; 8.29.2004 -- Changed sense source naming in controlled sources because the old convention ;; was confusing ngspice. ;; 10.9.2004 -- Added patches for voltage controlled switches from Peter Kaiser. ;; 3.16.2005 -- Fixed CCCS bug (typo in Vsense) noticed by David Logan ;; 5.16.2005 -- Modified behavior of .INCLUDE directive. Now by default it just ;; spits out the string instead of putting the contents of the file ;; into the SPICE netlist. You can force insertion of the file using ;; the -e flag. ;; 6.12.2005 -- Changed order of writing out netlist and .model/.subckt cards to ;; facilitate use of numparam with ngspice. Change supplied by ;; Dominique Michel. ;; 9.11.2005 -- Incorporated patch from Paul Bunyk to enable netlisting of ;; Josephson junctions and "K" mutual inductances. Also enabled ;; netlisting of "COIL" devices as inductors. ;; 12.27.2005 -- Fix bug discovered by John Doty: spice-IO pins with refdes greater ;; than P9 were sorted incorrectly (as strings). Now they are sorted ;; as numbers. ;; 3.10.2006 -- Added "m" attribute to PMOS and NMOS per request of Peter Kaiser. ;; 4.11.2006 -- Changed the .END and .ENDS cards to lowercase. ;; This fixes bug 1442912. Carlos Nieves Onega. ;; 2.10.2007 -- Various bugfixes. Also incorporated slotted part ;; netlist patch from Jeff Mallatt. SDB. ;; 4.28.2007 -- Fixed slotted part stuff so that it uses pinseq to emit pins. SDB ;; 1.9.2008 -- Fix slotted part handling to work without a modified pinseq. pcjc2 ;; 1.3.2011 -- Combine write-ic and write-subcircuit with a fix to the unbound ;; type variable. Fully document a check for the special "?" value ;; explaining why it fails silently. Clean up ;; write-net-names-on-component to make it a bit more flexible. ;; Combine write-probe-item and write-net-names-on-component. Add ;; a range utility function. CC ;; 1.13.2011 -- Add four lines of code (and some comments) that allow formaitting strings ;; to be used for netlisting NGspice device models. CC ;; 6.12.2011 -- Updated the Problematci name=? symbols to name=unknown and removed the ;; FIXME check for them. This should be a step closer to place holder consistancy. CC ;; ;;********************************************************************************** ;; ;; Organization of gnet-spice-sdb.scm file: ;; -- Functions for program housekeeping, handling of calling flags, file manipulation. ;; -- Functions for handling nets & devices and creating SPICE cards. ;; -- High-level functions which control program flow. Note that the program entry ;; point lives at the very bottom of this file. ;; ;; Unfortunately, no organization is present beneath this top level. . . . ;; ;;********************************************************************************** ;;********************************************************************************** ;;************ Program housekeeping, handling calling flags, etc. **************** ;;********************************************************************************** ;; The following is needed to make guile 1.8.x happy. (use-modules (ice-9 rdelim) (srfi srfi-1)) ;;-------------------------------------------------------------------------------- ;; spice-sdb:loop-through-files -- loops through the model-file list, and for each file ;; name discovered in the list, it processes the file by invoking handle-spice-file. ;;-------------------------------------------------------------------------------- (define spice-sdb:loop-through-files (lambda (file-info-list port) (if (not (null? file-info-list)) (let* ((list-element (car file-info-list)) (model-name (car list-element)) (file-name (cadr list-element)) (file-type (caddr list-element)) ) (spice-sdb:handle-spice-file file-name port) (spice-sdb:loop-through-files (cdr file-info-list) port) ) ;; end of let* ))) ;;-------------------------------------------------------------------------------- ;; spice-sdb:get-file-info-list-item -- loops through the model-file list looking ;; for triplet corresponding to model-name. If found, it returns the corresponding ;; list. If not found, returns #f ;;-------------------------------------------------------------------------------- (define spice-sdb:get-file-info-list-item (lambda (model-name file-info-list) (if (null? file-info-list) '() ;; return #f upon empty list. ;; #f replaced with '() by peter (let* ((list-element (car file-info-list)) ;; else process list-item (list-elt-model-name (car list-element)) (list-elt-file-name (cadr list-element)) (list-elt-file-type (caddr list-element)) ) (if (string=? list-elt-model-name model-name) list-element ;; found model-name. Return list-element. (spice-sdb:get-file-info-list-item model-name (cdr file-info-list)) ;; otherwise, recurse. ) ) ;; end of let* ))) ;;-------------------------------------------------------------------------- ;; handle-spice-file: This wraps insert-text-file. ;; Calling form: (handle-spice-file file-name) ;; It looks to see if the -I flag was set at the command line. If so, ;; it just writes a .INCLUDE card with the file name. If not, it calls ;; insert-text-file to stick the file's contents into the SPICE netlist. ;;-------------------------------------------------------------------------- (define spice-sdb:handle-spice-file (lambda (file-name port) (debug-spew (string-append "Handling spice model file " file-name "\n")) (if (calling-flag? "include_mode" (gnetlist:get-calling-flags)) (display (string-append ".INCLUDE " file-name "\n") port) ;; -I found: just print out .INCLUDE card (spice-sdb:insert-text-file file-name port) ;; -I not found: invoke insert-text-file ) ;; end of if (calling-flag )) ;;-------------------------------------------------------------------------- ;; Given a filename, open the file, get the contents, and dump them ;; into the spice file. ;; Calling form is "(insert-text-file input-file output-file)" ;; The function opens input-file, but assumes that output-file is ;; already open. ;; ;; This function is usually used to include spice models contained in ;; files into the netlist. Note that it doesn't ;; check the correctness of the spice code in the file -- you're on your own! ;;--------------------------------------------------------------------------- (define spice-sdb:insert-text-file (lambda (model-filename port) (let ((model-file (open-input-file model-filename)) ) (display (string-append "*vvvvvvvv Included SPICE model from " model-filename " vvvvvvvv\n") port) (let while ((model-line (read-line model-file))) (if (not (eof-object? model-line)) (begin (display (string-append model-line "\n") port) ;; (display (string-append "-- model-line = " model-line "\n")) ;; super debug statement (while (read-line model-file)) ) ;; end of inner begin ) ;; end of if ) ;; end of inner let (close-port model-file) (display (string-append "*^^^^^^^^ End of included SPICE model from " model-filename " ^^^^^^^^\n") port) (display (string-append "*\n") port) ) ;; end of outer let ) ) ;;---------------------------------------------------------- ;; Figure out if this schematic is a .SUBCKT lower level. ;; This is determined if there is a spice-subcircuit-LL ;; device instantiated somewhere on the schematic. ;; If it is a .SUBCKT, return ".SUBCKT model-name" ;;---------------------------------------------------------- (define spice-sdb:get-schematic-type (lambda (ls) (if (not (null? ls)) (let* ((package (car ls)) ;; assign package (device (get-device package)) ;; assign device. ) ;; end of let* assignments (begin ;; (display (string-append "in get-schematic-type, device = " device "\n")) (if (string=? device "spice-subcircuit-LL") ;; look for subcircuit label (string-append ".SUBCKT " (gnetlist:get-package-attribute package "model-name")) (spice-sdb:get-schematic-type (cdr ls)) ;; otherwise just iterate to next package. ) ) ) ; end of let* "normal schematic" ; return "normal schematic" if no spice-subcircuit-LL is found ) ; end of if )) ;;---------------------------------------------------------- ;; Extract the modelname from the .SUBCKT modelname line. ;; Just grab the chars from char 8 to the end of the string. ;;--------------------------------------------------------- (define spice-sdb:get-subcircuit-modelname (lambda (schematic-type) (substring schematic-type 8 (string-length schematic-type)) ) ) ;;----------------------------------------------------------- ;; This iterates through the schematic and compiles a list of ;; all spice-IO pins found. This is used when writing out ;; a .SUBCKT lower level netlist. ;;----------------------------------------------------------- (define spice-sdb:get-spice-IO-pins (lambda (ls spice-io-package-list) (if (null? ls) spice-io-package-list ;; end iteration & return list if ls is empty. (let* ((package (car ls)) ;; otherwise process package. . . (device (get-device package)) ) (if (string=? device "spice-IO") ;; look for subcircuit label ;; we have found a spice-IO pin. (spice-sdb:get-spice-IO-pins (cdr ls) (cons package spice-io-package-list)) ;; no spice-IO pin found. Iterate . . . . (spice-sdb:get-spice-IO-pins (cdr ls) spice-io-package-list) ) ;; end of if string=? ) ;; end of let* ) ;; end if null ) ) ;;---------------------------------------------------------------- ;; This takes the list of io-pin-packages and sorts it in order of ;; refdes. ;; Repaired on 12.27.2005 to correctly sort pin numbers > 9. ;;---------------------------------------------------------------- (define spice-sdb:sort-spice-IO-pins (lambda (package-list) ;; Yes, this isn't good Scheme form. Tough! Writing this out ;; in a functional programming form would be totally confusing! ;; Note that this fcn requires that ;; each spice-IO pin have the same, single character prefix (i.e. 'P') (let* ((char-prefixes (map car (map string->list package-list))) ;; Pull off first char (prefix) (prefixes (map string char-prefixes)) ;; Make list of strings from prefixes (split-numbers-list (map cdr (map string->list package-list))) ;; Pull off refdes numbers as list elements (string-numbers-list (map list->string split-numbers-list)) ;; Recombine split up (multidigit) number strings (numbers-list (map string->number string-numbers-list)) ;; Convert strings to numbers for sorting (sorted-numbers-list (sort numbers-list <)) ;; Sort refdes numbers as numbers (sorted-string-numbers-list (map number->string sorted-numbers-list)) ) ;; Create sorted list of refdes strings. ;; (debug-spew "Packages found = \n") ;; (debug-spew package-list) ;; (debug-spew "\nPrefixes found = \n") ;; (debug-spew prefixes) ;; (debug-spew "\nNumbers found -- split-numbers-list\n") ;; (debug-spew split-numbers-list) ;; (debug-spew "\nNumbers found -- numbers-list\n") ;; (debug-spew numbers-list) ;; (debug-spew "\nSorted-numbers-list\n") ;; (debug-spew sorted-numbers-list) ;; (debug-spew "\nSorted-string-numbers-list\n") ;; (debug-spew sorted-string-numbers-list) (map-in-order string-append prefixes sorted-string-numbers-list) ;; Laminate prefixes back onto refdes numbers & return. ) ) ) ;;---------------------------------------------------------------- ;; Given a list of spice-IO packages (refdeses), this function returns the list ;; of nets attached to the IOs. ;;---------------------------------------------------------------- (define spice-sdb:get-IO-nets (lambda (package-list net-list) (if (null? package-list) net-list ;; end iteration & return net-list if ls is empty. (let* ((package (car package-list)) ;; otherwise process package. . . (net (car (gnetlist:get-nets package "1"))) ;; get the net attached to pin 1 ) ;; now iterate (spice-sdb:get-IO-nets (cdr package-list) (cons net net-list)) ) ) ;; end of if ) ) ;;---------------------------------------------------------- ;; This takes a list and turns it into a string. ;; The difference between this and list->string is that ;; this fun can handle lists made up of multi-char strings. ;;---------------------------------------------------------- (define list-2-string (lambda (ls) (let while ((st (string)) (local-list ls) ) (if (null? local-list) st ;; end iteration & return string if list is empty. (begin ;; otherwise turn next element of list into string. . . (set! st (string-append (car local-list) " " st)) ;; stuff next element onto st (while st (cdr local-list)) ;; iterate with remainder of ls ) ) ;; end of if ) ) ) ;;---------------------------------------------------------- ;; This returns #t if the string is composed only of ;; whitespace. It works by turning the string into ;; a list, and then checking to see if it is the empty ;; list. If so, it returns #t. ;;---------------------------------------------------------- (define empty-string? (lambda (string) (null? (string->list string)) ) ) ;;---------------------------------------------------------- ;; This returns a list of all the integers from start to ;; stop, with the optional step size. ;; It is similar to perl's range operator '..' ;;---------------------------------------------------------- (define (range start stop . step) (if (null? step) (iota (+ (- stop start) 1) start) (begin (set! step (car step)) (iota (+ (ceiling (/ (- stop start) step)) 1) start step) ) ) ) ;;---------------------------------------------------------- ;; Given a filename, open the file, get the first line, ;; and see if it is a .MODEL or .SUBCKT file. ;; Returns either ".MODEL" or ".SUBCKT" or "OTHER" ;; Calling form is "(spice-sdb:get-file-type input-file)" ;; The function opens input-file, and closes it when it is done. ;;---------------------------------------------------------- (define spice-sdb:get-file-type (lambda (model-filename) (let ((model-file (open-input-file model-filename)) ) (let while ((file-line (read-line model-file)) ) (cond ((eof-object? file-line) ;; Arrived at end of line without finding .MODEL or .SUBCKT. Return "OTHER" "OTHER") ((empty-string? file-line) (while (read-line model-file)) ) ;; Found empty line. Iterate before doing anything else. ((string=? (string (string-ref file-line 0)) "*") (while (read-line model-file)) ) ;; Found *comment. Iterate. ((string=? (string (string-ref file-line 0)) ".") (begin (debug-spew "In get-file-type, first-char = .\n") ;; DEBUG stuff (cond ((string-ci=? (safe-string-head file-line 7) ".subckt") ;; found .subckt as first line. ".SUBCKT" ) ((string-ci=? (safe-string-head file-line 6) ".model") ;; found .model as first line. ".MODEL" ) (else "OTHER") ;; first . spice card is neither .model nor .subckt ) ; inner cond ) ; inner begin ) (else (begin ;; (display "In get-file-type, first-char = \n") (while (read-line model-file)) ) ) ) ; outer cond ) ;; end of inner lets ) ;; end of outer let ) ) ;; end define ;;------------------------------------------------------------------- ;; write all listed and available attributes in the form of = ;;------------------------------------------------------------------- (define spice-sdb:write-list-of-attributes (lambda (package attrib-list port) (if (not (null? attrib-list)) (begin ; Is it possible to make no differentiation between upper and lower case? ; That relieves you of mixed case forms e.g. As, AS, as..., they are the ; same attributes, spice3f5 is case insensitive. And other spice versions? (if (not (string=? (gnetlist:get-package-attribute package (car attrib-list)) "unknown")) (display (string-append " " (car attrib-list) "=" (gnetlist:get-package-attribute package (car attrib-list))) port)) (spice-sdb:write-list-of-attributes package (cdr attrib-list) port))))) ;;--------------------------------------------------------------- ;; write prefix if first char of refdes is improper, ;; eg. if MOSFET is named T1 then becomes MT1 in SPICE ;;--------------------------------------------------------------- (define spice-sdb:write-prefix (lambda (package prefix port) (let ((different-prefix (not (string=? (substring package 0 1) prefix)) ) (nomunge (calling-flag? "nomunge_mode" (gnetlist:get-calling-flags)) ) ) (debug-spew (string-append "Checking prefix. Package prefix =" (substring package 0 1) "\n")) (debug-spew (string-append " correct prefix =" prefix "\n")) (debug-spew " nomunge mode = ") (debug-spew nomunge) (debug-spew (string-append "\n different-prefix=")) (debug-spew different-prefix) (debug-spew "\n") (if (and different-prefix (not nomunge)) (display prefix port) ) ) ) ) ;;--------------------------------------------------------------- ;; spice-sdb:packsort ;; Sort procedure to order refdes's alphabetically but ;; keep A? packages at the end of list so SPICE simulation ;; directives operate correctly. ;; This fcn written by Ken Healy to enable SPICE netlisting for ;; Gnucap, which wants A refdes cards (i.e. SPICE directives) ;; to appear last in the SPICE netlist. Slightly modified ;; and incorporated into main spice-sdb release by SDB on 9.1.2003. ;; To output the netlist in sorted order, use the -s switch ;; when invoking gnetlist from the command line. Example: ;; gnetlist -s -g spice-sdb -o output.spice Schematic.sch ;; The default behavior (i.e. if -s is not specified) is to do ;; no sorting. ;;--------------------------------------------------------------- (define spice-sdb:packsort (lambda (x y) (let ((xdes (string-ref x 0)) (ydes (string-ref y 0)) (xnum (string-tail x 1)) (ynum (string-tail y 1)) ) (if (char-ci=? xdes ydes) (if (string-ci\n" port) ;; implement the controlled current source ;; the user should create the refdes label begining with a h (display (string-append package " ") port) (spice-sdb:write-two-pin-names package "1" "2" port) (display (string-append "Vsense_" package " " (spice-sdb:component-value package) "\n" ) port) ;; implement the current measuring voltage source (display (string-append "Vsense_" package " ") port) (spice-sdb:write-two-pin-names package "3" "4" port) (display "dc 0\n" port) ;; now it is possible to leave the output voltage source unconnected ;; i.e. spice won't complain about unconnected nodes (display (string-append "IOut_" package " ") port) (spice-sdb:write-two-pin-names package "1" "2" port) (display "dc 0\n" port) (display "* end ccvs expansion\n" port)))) ;;----------------------------------------------------------------------- ;; write a current controlled current source and implement the necessary ;; current measuring voltage source ;;----------------------------------------------------------------------- (define spice-sdb:write-cccs (lambda (package port) ( begin (display "* begin cccs expansion, f\n" port) ;; implement the controlled current source ;; the user should create the refdes label begining with a f (display (string-append package " ") port) (spice-sdb:write-two-pin-names package "1" "2" port) (display (string-append "Vsense_" package " " (gnetlist:get-package-attribute package "value") "\n" ) port) ;; implement the current measuring voltage source (display (string-append "Vsense_" package " ") port) (spice-sdb:write-two-pin-names package "3" "4" port) (display "dc 0\n" port) (display "* end cccs expansion\n" port)))) ;;------------------------------------------------------------------------- ;; write a voltage controlled current source and implement the necessary ;; voltage measuring current source ;;------------------------------------------------------------------------- (define spice-sdb:write-vccs (lambda (package port) ( begin (display "* begin vccs expansion, g\n" port) ;; implement the controlled current source ;; the user should create a refdes label beginning with a g (display (string-append package " ") port) (spice-sdb:write-net-names-on-component package port) (display (string-append (spice-sdb:component-value package) "\n") port) ;; implement the voltage measuring current source ;; imagine yourself copying the voltage of a voltage source with an internal ;; impedance, spice starts complaining about unconnected nets if this current ;; source is not here. (display (string-append "IMeasure_" package " ") port) (spice-sdb:write-two-pin-names package "3" "4" port) (display "dc 0\n" port) (display "* end vccs expansion\n" port)))) ;;------------------------------------------------------------------------ ;; write a voltage controlled voltage source and implement the necessary ;; voltage measuring current source ;;------------------------------------------------------------------------ (define spice-sdb:write-vcvs (lambda (package port) ( begin (display "* begin vcvs expansion, e\n" port) ;; implement the controlled voltage source ;; the user should create a refdes label beginning with an e (display (string-append package " ") port) (spice-sdb:write-net-names-on-component package port) (display (string-append (gnetlist:get-package-attribute package "value") "\n" ) port) ;; implement the voltage measuring current source ;; imagine yourself copying the voltage of a voltage source with an internal ;; impedance, spice starts complaining about unconnected nets if this current ;; source is not here. (display (string-append "Isense_" package " ") port) (spice-sdb:write-two-pin-names package "3" "4" port) (display "dc 0\n" port) ;; with an output current source it is possible to leave the output voltage source ;; unconnected i.e. spice won't complain about unconnected nodes (display (string-append "IOut_" package " ") port) (spice-sdb:write-two-pin-names package "1" "2" port) (display "dc 0\n" port) (display "* end vcvs expansion\n" port)))) ;;-------------------------------------------------------------------------- ;; Create a nullor, make sure it consists of a voltage controlled source ;;-------------------------------------------------------------------------- (define spice-sdb:write-nullor (lambda (package port) ( begin (display "* begin nullor expansion, e\n" port) ;; implement the controlled voltage source (display (string-append "E-" package " ") port) (spice-sdb:write-net-names-on-component package port) (display (string-append (gnetlist:get-package-attribute package "value") "\n" ) port) ;; implement the voltage measuring current source ;; imagine yourself copying the voltage of a voltage source with an internal ;; impedance, spice starts complaining about unconnected nets if this current ;; source is not here. (display (string-append "IMeasure_" package " ") port) (spice-sdb:write-two-pin-names package "3" "4" port) (display "dc 0\n" port) ;; with an output current source it is possible to leave the output voltage source ;; unconnected i.e. spice won't complain about unconnected nodes (display (string-append "IOut_" package " ") port) (spice-sdb:write-two-pin-names package "1" "2" port) (display "dc 0\n" port) (display "* end of nullor expansion\n" port)))) ;;---------------------------------------------------------------- ;; ;; Write-transistor-diode: writes out component followed by ;; model or model file associated ;; with the component. ;; This function does the following: ;; 1. Writes out the correct refdes prefix (if specified and necessary). ;; 2. Writes out the refdes and nets ;; 3. Looks for "model-name" attribute. Writes it out if it exists. ;; 4. If there is no "model-name" attribute, it writes out the "value" ;; attribute. If there is no "value" attribute, it writes out "unknown" ;; and returns, causing the spice simulator to puke when the netlist ;; is run. This is important ;; 'cause the spice simulator needs to have some indication of what ;; model to look for. ;; 5. Outputs optional attributes attached to device, if any. Feature ;; added by SDB on 12.25.2003. ;; 6. Outputs a new line ;; 7. Looks for a the "model" attribute. If it exists, it it writes out ;; a .MODEL line like this: .MODEL model-name type (model) ;; ;;---------------------------------------------------------------- (define spice-sdb:write-transistor-diode (lambda (package prefix type attrib-list port) ;; First do local assignments (let ((model-name (gnetlist:get-package-attribute package "model-name")) (model (gnetlist:get-package-attribute package "model")) (value (gnetlist:get-package-attribute package "value")) (area (gnetlist:get-package-attribute package "area")) (off (gnetlist:get-package-attribute package "off")) (model-file (gnetlist:get-package-attribute package "file")) ) ;; end of local assignments ;; Write out the refdes prefix, if specified and necessary. (if prefix (spice-sdb:write-prefix package prefix port) ) ;; Next we write out the refdes and nets. (spice-sdb:write-component-no-value package port) ;; next look for "model-name" attribute. Write it out if it exists. ;; otherwise look for "value" attribute. (if (not (string=? model-name "unknown")) (display (string-append model-name " " ) port) ;; display model-name if known (display (string-append value " ") port)) ;; otherwise display value ;; Next write out attributes if they exist ;; First attribute is area. It is written as a simple string (if (not (string=? area "unknown")) (display (string-append area " ") port)) ;; Next attribute is off. It is written as a simple string (if (not (string=? off "unknown")) (display (string-append off " ") port)) ;; Write out remaining attributes (spice-sdb:write-list-of-attributes package attrib-list port) ;; Now write out newline in preparation for writing out model. (newline port) ;; Now write out any model which is pointed to by the part. (cond ;; one line model and model name exist ( (not (or (string=? model "unknown") (string=? model-name "unknown"))) (debug-spew (string-append "found model and model-name for " package "\n")) (display (string-append ".MODEL " model-name " " type " (" model ")\n") port) ) ;; one line model and component value exist ( (not (or (string=? model "unknown") (string=? value "unknown"))) (debug-spew (string-append "found model and value for " package "\n")) (display (string-append ".MODEL " model-name " " type " (" value ")\n") port) ) ;; model file and model name exist ( (not (or (string=? model-file "unknown") (string=? model-name "unknown"))) (debug-spew (string-append "found file and model-name for " package "\n")) (debug-spew "I'll deal with the file later . . .\n") ) ;; model file and component value exist ( (not (or (string=? model-file "unknown") (string=? value "unknown"))) (debug-spew (string-append "found file and value for " package "\n")) (debug-spew "I'll deal with the file later . . .\n") ) ) ;; close of cond ) ) ) ;;---------------------------------------------------------------- ;; write diode ;; This writes out a valid diode refdes & then calls ;; the function which writes the rest of the line. ;;---------------------------------------------------------------- (define spice-sdb:write-diode (lambda (package port) (debug-spew (string-append "Found diode. Refdes = " package "\n")) (let ((attrib-list (list "ic" "temp") )) (spice-sdb:write-transistor-diode package "D" "D" attrib-list port)) ) ) ;;---------------------------------------------------------------- ;; spice-sdb:write-ic ;; This writes out a valid ic or subcircuit line. ;; The algorithm is as follows: ;; 1. Figure out what type of model goes with this part from ;; file-info-list. If it isn't listed, look for a MODEL attribute. ;; If MODEL attribute is attached, write out SPICE card, and then ;; write out .MODEL on next line. ;; If no MODEL attribute is attached, just write out what little ;; we know. Then return ;; 2. If the model-name is in the file-info-list, get the associated ;; file-type. Compare it against the component's refdes. If model-type ;; is .MODEL or .SUBCKT and refdes doesn't begin with a U or X ;; respectively, prepend the correct prefix to the refdes. ;; 3. Print out the rest of the line. ;; ;;---------------------------------------------------------------- (define (spice-sdb:write-ic package file-info-list port) ;; First do local assignments (let ((first-char (string (string-ref package 0))) ;; extract first char of refdes (model-name (gnetlist:get-package-attribute package "model-name")) (model (gnetlist:get-package-attribute package "model")) (value (gnetlist:get-package-attribute package "value")) (type (gnetlist:get-package-attribute package "type")) (model-file (gnetlist:get-package-attribute package "file")) (list-item (list)) ) ;; end of local assignments (cond ((string=? first-char "U") (debug-spew (string-append "Found ic. Refdes = " package "\n"))) ((string=? first-char "X") (debug-spew (string-append "Found subcircuit. Refdes = " package "\n"))) ) ;; First, if model-name is empty, we use value attribute instead. ;; We do this by sticking the contents of "value" into "model-name". (if (string=? model-name "unknown") (set! model-name value)) ;; Now get item from file-info-list using model-name as key (set! list-item (spice-sdb:get-file-info-list-item model-name file-info-list)) ;; check to see if list-item is null. (if (null? list-item) ;; list-item is null. Evidently, we didn't discover any files holding this model. ;; Instead we look for model attribute (if (not (string=? model "unknown")) (begin ;; model attribute exists -- write out card and model. (debug-spew "Model info not found in model file list, but model attribute exists. Write out spice card and .model line..\n") (spice-sdb:write-component-no-value package port) (display (string-append model-name "\n" ) port) (display (string-append ".MODEL " model-name " ") port) (if (not (string=? type "unknown")) (display (string-append type " ") port)) ;; If no type then just skip it. (display (string-append "(" model ")\n") port) ) (begin ;; no model attribute either. Just write out card. (debug-spew "Model info not found in model file list. No model attribute either. Just write what we know.\n") (spice-sdb:write-component-no-value package port) (display (string-append model-name "\n" ) port) ) ) ;; end if (not (string=? . . . . ;; list-item is not null. Therefore we process line depending upon contents of list-item (let ((file-type (caddr list-item)) ) (cond ;; ---- file holds a model ---- ((string=? file-type ".MODEL") (begin (debug-spew (string-append "Found .MODEL with model-file and model-name for " package "\n")) (spice-sdb:write-prefix package "U" port) ;; this prepends an "U" to the refdes if needed, since we have a .model (spice-sdb:write-component-no-value package port) (display (string-append model-name "\n" ) port) (debug-spew "We'll handle the file contents later . . .\n") )) ;; ---- file holds a subcircuit ---- ((string=? file-type ".SUBCKT") (begin (debug-spew (string-append "Found .SUBCKT with model-file and model-name for " package "\n")) (spice-sdb:write-prefix package "X" port) ;; this prepends an "X" to the refdes if needed, since we have a .subckt (spice-sdb:write-component-no-value package port) (display (string-append model-name "\n" ) port) (debug-spew "We'll handle the file contents later . . .\n") )) ) ;; close of inner cond ) ;; end of inner let ) ;; end of if (null? list-item ) ;; end of outer let ) ;;----------------------------------------------------------- ;; write npn bipolar transistor ;; This writes out a valid transistor refdes & then calls ;; the function which writes the rest of the line. ;;----------------------------------------------------------- (define spice-sdb:write-npn-bipolar-transistor (lambda (package port) (debug-spew (string-append "Found npn bipolar transistor. Refdes = " package "\n")) (let ((attrib-list (list "ic" "temp") )) (spice-sdb:write-transistor-diode package "Q" "NPN" attrib-list port)) ) ) ;;----------------------------------------------------------- ;; write pnp bipolar transistor ;;----------------------------------------------------------- (define spice-sdb:write-pnp-bipolar-transistor (lambda (package port) (debug-spew (string-append "Found pnp bipolar transistor. Refdes = " package "\n")) (let ((attrib-list (list "ic" "temp") )) (spice-sdb:write-transistor-diode package "Q" "PNP" attrib-list port)) ) ) ;;----------------------------------------------------------- ;; write n-channel jfet transistor ;;----------------------------------------------------------- (define spice-sdb:write-nfet-transistor (lambda (package port) (debug-spew (string-append "Found n-channel JFET. Refdes = " package "\n")) (let ((attrib-list (list "ic" "temp") )) (spice-sdb:write-transistor-diode package "J" "NJF" attrib-list port)) ) ) ;;----------------------------------------------------------- ;; write p-channel jfet transistor ;;----------------------------------------------------------- (define spice-sdb:write-pfet-transistor (lambda (package port) (debug-spew (string-append "Found p-channel JFET. Refdes = " package "\n")) (let ((attrib-list (list "ic" "temp") )) (spice-sdb:write-transistor-diode package "J" "PJF" attrib-list port)) ) ) ;;------------------------------------------------------ ;; write pmos transistor ;;------------------------------------------------------ (define spice-sdb:write-pmos-transistor (lambda (package port) (debug-spew (string-append "Found PMOS transistor. Refdes = " package "\n")) (let ((attrib-list (list "l" "w" "as" "ad" "pd" "ps" "nrd" "nrs" "temp" "ic" "m"))) (spice-sdb:write-transistor-diode package "M" "PMOS" attrib-list port)) ) ) ;;------------------------------------------------------ ;; write nmos transistor ;;------------------------------------------------------ (define spice-sdb:write-nmos-transistor (lambda (package port) (debug-spew (string-append "Found NMOS transistor. Refdes = " package "\n")) (let ((attrib-list (list "l" "w" "as" "ad" "pd" "ps" "nrd" "nrs" "temp" "ic" "m"))) (spice-sdb:write-transistor-diode package "M" "NMOS" attrib-list port)) ) ) ;;------------------------------------------------------ ;; write subckt pmos transistor ;;------------------------------------------------------ (define spice-sdb:write-subckt-pmos-transistor (lambda (package port) (debug-spew (string-append "Found PMOS subcircuit transistor. Refdes = " package "\n")) (let ((attrib-list (list "l" "w" "as" "ad" "pd" "ps" "nrd" "nrs" "temp" "ic" "m"))) (spice-sdb:write-transistor-diode package "X" "PMOS" attrib-list port)) ) ) ;;------------------------------------------------------ ;; write subckt nmos transistor ;;------------------------------------------------------ (define spice-sdb:write-subckt-nmos-transistor (lambda (package port) (debug-spew (string-append "Found NMOS subcircuit transistor. Refdes = " package "\n")) (let ((attrib-list (list "l" "w" "as" "ad" "pd" "ps" "nrd" "nrs" "temp" "ic" "m"))) (spice-sdb:write-transistor-diode package "X" "NMOS" attrib-list port)) ) ) ;;------------------------------------------------------------ ;; write mesfet transistor ;;------------------------------------------------------------ ;; ************ Fix this!!!!!!!!!! ************** (define spice-sdb:write-mesfet-transistor (lambda (package port) (spice-sdb:write-transistor-diode package "Z" "MESFET" (list) port))) ;; XXXXXX Fix this!!! ;;----------------------------------------------------------- ;; write voltage controled switch ;;----------------------------------------------------------- (define spice-sdb:write-vc-switch (lambda (package port) (debug-spew (string-append "Found voltage controlled switch. Refdes = " package "\n")) (let ((attrib-list (list " " ) )) (spice-sdb:write-transistor-diode package "S" "SW" attrib-list port)) ) ) ;;-------------------------------------------------------------------- ;; write resistor ;;-------------------------------------------------------------------- (define spice-sdb:write-resistor (lambda (package port) (debug-spew (string-append "Found resistor. Refdes = " package "\n")) ;; first write out refdes and attached nets (spice-sdb:write-component-no-value package port) ;; next write out mandatory resistor value if it exists. (let ((value (gnetlist:get-package-attribute package "value"))) (if (not (string=? value "unknown")) (display (string-append value " " ) port)) ) ;; next write our model name if it exists (let* ((model-name (gnetlist:get-package-attribute package "model-name"))) (if (not (string=? model-name "unknown")) (display (string-append model-name " " ) port)) ) ;; next create list of attributes which can be attached to a resistor. ;; I include non-standard "area" attrib here per popular demand. (let ((attrib-list (list "area" "l" "w" "temp"))) ;; write the attributes (if any) separately (spice-sdb:write-list-of-attributes package attrib-list port) (display " " port)) ;; add additional space. . . . ;; finally output a new line (newline port) ) ) ;;---------------------------------------------------------------------------- ;; write capacitor ;;---------------------------------------------------------------------------- (define spice-sdb:write-capacitor (lambda (package port) (debug-spew (string-append "Found capacitor. Refdes = " package "\n")) ;; first write out refdes and attached nets (spice-sdb:write-component-no-value package port) ;; next write capacitor value, if any. Note that if the ;; component value is not assigned nothing will be written out. (let ((value (gnetlist:get-package-attribute package "value"))) (if (not (string=? value "unknown")) (display (string-append value " " ) port)) ) ;; next write capacitor model name, if any. This is applicable to ;; semiconductor caps used in chip design. (let ((model-name (gnetlist:get-package-attribute package "model-name"))) (if (not (string=? model-name "unknown")) (display (string-append model-name " " ) port)) ) ;; Next write out attributes if they exist. Use ;; a list of attributes which can be attached to a capacitor. ;; I include non-standard "area" attrib here per request of Peter Kaiser. (let ((attrib-list (list "area" "l" "w" "ic"))) (spice-sdb:write-list-of-attributes package attrib-list port) ;; write the off attribute separately (display " " port)) ;; add additional space. . . . (newline port) ) ) ;;---------------------------------------------------------------------------- ;; write inductor ;;---------------------------------------------------------------------------- (define spice-sdb:write-inductor (lambda (package port) (debug-spew (string-append "Found inductor. Refdes = " package "\n")) ;; first write out refdes and attached nets (spice-sdb:write-component-no-value package port) ;; ;; next write inductor model name, if any. ;; (let ((model-name (gnetlist:get-package-attribute package "model-name"))) ;; (if (not (string=? model "unknown")) ;; (display (string-append model-name " " ) port) ;; ) ;; next write inductor value, if any. Note that if the ;; component value is not assigned, then it will write "unknown" (let ((value (gnetlist:get-package-attribute package "value"))) (display value port) ) ;; create list of attributes which can be attached to a inductor (let ((attrib-list (list "l" "w" "ic"))) (spice-sdb:write-list-of-attributes package attrib-list port) ;; write the off attribute separately (display " " port)) ;; add additional space. . . . (newline port) ) ) ;;------------------------------------------------------------------------- ;; write independent voltage source ;; The behavior of the voltage source is held in the "value" attribute ;;------------------------------------------------------------------------- (define spice-sdb:write-independent-voltage-source (lambda (package port) (debug-spew (string-append "Found independent voltage source. Refdes = " package "\n")) ;; first write out refdes and attached nets (spice-sdb:write-component-no-value package port) ;; next write voltage value, if any. Note that if the ;; voltage value is not assigned, then it will write "unknown" (let ((value (gnetlist:get-package-attribute package "value"))) (display value port) ) (newline port) ) ) ;;------------------------------------------------------------------------- ;; write independent current source ;; The behavior of the current source is held in the "value" attribute ;;------------------------------------------------------------------------- (define spice-sdb:write-independent-current-source (lambda (package port) (debug-spew (string-append "Found independent current source. Refdes = " package "\n")) ;; first write out refdes and attached nets (spice-sdb:write-component-no-value package port) ;; next write current value, if any. Note that if the ;; current value is not assigned, then it will write "unknown" (let ((value (gnetlist:get-package-attribute package "value"))) (display value port) ) (newline port) ) ) ;;---------------------------------------------------------------------------- ;; write Josephson junction in wrspice format. Paul Bunyk, Sep 2, 2005 ;;---------------------------------------------------------------------------- (define spice-sdb:write-josephson-junction (lambda (package port) (debug-spew (string-append "Found Josephson junction. Refdes = " package "\n")) ;; first write out refdes and attached nets (spice-sdb:write-component-no-value package port) ;; next, add a dummy node for JJ phase. Unlike in Xic netlister, give it ;; a reasonable name, not a number, e.g., refdes. (display (string-append package " ") port) ;; next write JJ model name, if any. (let ((model-name (gnetlist:get-package-attribute package "model-name"))) (if (not (string=? model-name "unknown")) (display (string-append model-name " " ) port)) ) ;; Next write out attribtes if they exist. Use ;; a list of attributes which can be attached to a junction. (let ((attrib-list (list "area"))) (spice-sdb:write-list-of-attributes package attrib-list port) ;; write the off attribute separately (display " " port)) ;; add additional space. . . . (newline port) ) ) ;;---------------------------------------------------------------------------- ;; write mutual inductance(actually K). Paul Bunyk, Sep 2, 2005 ;;---------------------------------------------------------------------------- (define spice-sdb:write-coupling-coefficient (lambda (package port) (debug-spew (string-append "Found mutual inductance. Refdes = " package "\n")) ;; first write out refdes and attached nets (none) (spice-sdb:write-component-no-value package port) ;; next two inductor names and value (let ((inductors (gnetlist:get-package-attribute package "inductors")) (value (gnetlist:get-package-attribute package "value")) ) (if (not (string=? inductors "unknown")) (display (string-append inductors " " ) port)) (if (not (string=? value "unknown")) (display (string-append value " " ) port)) ) (newline port) ) ) ;;---------------------------------------------------------------------------- ;; write a voltage probe ;;---------------------------------------------------------------------------- (define (spice-sdb:write-probe package port) ;; fetch only one attr we care about, so far (let ((value (gnetlist:get-package-attribute package "value")) ) ;; end of local assignments (debug-spew (string-append "Found Probe item, refdes = " package "\n")) (if (string=? value "unknown") (set! value "TRAN")) (display (string-append "* Probe device " package " on nets ") port) (spice-sdb:write-net-names-on-component package port) (newline port) (display (string-append ".print " value " +") port) (spice-sdb:write-net-names-on-component package port (string-join (map (lambda (x) "V(~a)") (gnetlist:get-pins package)) " " 'infix) ) ;; make format string (newline port) ) ;; end of let ) ;; close of define ;;-------------------------------------------------------------------- ;; Given a refdes and port, and optionally a format string, this writes ;; out the nets attached to the component's pins. If it's not called ;; with a format string it looks for one in the net-format attribute, ;; otherwise it writes out the pins unformatted. This is used to write ;; out non-slotted parts. ;;-------------------------------------------------------------------- (define (spice-sdb:write-net-names-on-component refdes port . format) ;; get-net-name -- helper function. Called with pinseq, returns net name, ;; unless net name is "ERROR_INVALID_PIN" then it returns false. (define (get-net-name pin) (set! pin (number->string pin)) ;; ------- Super debug stuff -------- (if #f (begin (debug-spew " In write-net-names-on-component. . . . \n") (debug-spew (string-append " pin-name = " pin "\n")) (debug-spew (string-append " pinnumber = " (gnetlist:get-attribute-by-pinseq refdes pin "pinnumber") "\n")) (debug-spew (string-append " pinseq = " (gnetlist:get-attribute-by-pinseq refdes pin "pinseq"))) (if (not (string=? pin (gnetlist:get-attribute-by-pinseq refdes pin "pinseq"))) (debug-spew " <== INCONSISTENT!\n") (debug-spew "\n") ) (debug-spew (string-append " netname = " (car (spice-sdb:get-net refdes (gnetlist:get-attribute-by-pinseq refdes pin "pinnumber"))) "\n")) )) ;; if #T for super debugging ;; ------------------------------------- (set! pin (car (spice-sdb:get-net refdes (gnetlist:get-attribute-by-pinseq refdes pin "pinnumber")))) (if (string=? pin "ERROR_INVALID_PIN") (begin (debug-spew (string-append "For " refdes ", found pin with no pinseq attribute. Ignoring. . . .\n")) #f) ;; begin pin) ;; if ) ;; define get-net-name ;; First do local assignments (let ((netnames (filter-map get-net-name (range 1 (length (gnetlist:get-pins refdes))))) ) ;; let (if (null? format) ;; Format agument take priority, otherwise use attribute (set! format (gnetlist:get-package-attribute refdes "net-format")) (set! format (car format)) ) (if (string=? format "unknown") (display (string-join netnames " " 'suffix) port) ;; write out nets. (apply simple-format (cons port (cons format netnames))) ) ;; write out nets with format string ) ;; let ) ;;------------------------------------------------------------------- ;; Write the refdes and the net names connected to pins on this component. ;; No return, and no component value is written, or extra attribs. ;; Those are handled later. ;;------------------------------------------------------------------- (define spice-sdb:write-component-no-value (lambda (package port) (display (string-append package " ") port) ;; write component refdes (spice-sdb:write-net-names-on-component package port) ) ) ;;----------------------------------------------------------- ;; Given a refdes, returns the device attribute "value" as string ;; Used when "value" is a mandatory attribute. ;; Returns "" if not available. ;;----------------------------------------------------------- (define spice-sdb:component-value (lambda (package) (let ((value (gnetlist:get-package-attribute package "value"))) ;; (display (string-append "in get-package-attribute, value = " value "\n")) (if (not (string=? value "unknown")) value "")))) ;;------------------------------------------------------------ ;; Given a refdes, returns the device attribute "value" as string ;; Used when "value" is an optional attribute. ;; Returns "unknown" if not available. ;;------------------------------------------------------------ (define spice-sdb:component-optional-value (lambda (package) (let ((value (gnetlist:get-package-attribute package "value"))) (if (not (string=? value "unknown")) (string-append value " ") "")))) ;;----------------------------------------------------------- ;; Given a refdes, returns the device attribute "model" as string ;;----------------------------------------------------------- (define spice-sdb:component-model (lambda (package) (let ((model (gnetlist:get-package-attribute package "model"))) (if (not (string=? model "unknown")) model spice-sdb:component-value)))) ;;---------------------------------------------------------- ;; Include SPICE statements from a SPICE directive block. ;;---------------------------------------------------------- (define spice-sdb:write-directive (lambda (package port) ;; Collect variables used in creating spice code (let ((value (gnetlist:get-package-attribute package "value")) (file (gnetlist:get-package-attribute package "file")) ) ;; end of local assignments (debug-spew (string-append "Found SPICE directive box. Refdes = " package "\n")) (cond ;; First look to see if there is a value. ((not (string=? value "unknown")) (begin (display (string-append value "\n") port) (debug-spew (string-append "Appending value = \"" value "\" to output file.\n")) )) ;; since there is no value, look for file. ((not (string=? file "unknown")) (begin (spice-sdb:insert-text-file file port) ;; Note that we don't wait until the end here. Is that OK? (debug-spew (string-append "Inserting contents of file = " file " into output file.\n")) )) ) ;; close of cond ) ;; close of let ) ;; close of lambda ) ;; close of define ;;---------------------------------------------------------- ;; Include a file using an .INCLUDE directive ;; Changed on 6.12.2005: to embed the contents of the file, ;; you must call gnetlist with the -e flag set. ;;---------------------------------------------------------- (define spice-sdb:write-include (lambda (package port) (let ((value (gnetlist:get-package-attribute package "value")) (file (gnetlist:get-package-attribute package "file")) ) ;; end of local assignments (debug-spew (string-append "Found SPICE include box. Refdes = " package "\n")) ;; (debug-spew (string-append " value = " value "\n")) ;; (debug-spew (string-append " file = " file "\n")) (cond ;; First look to see if value attribute is used ((not (string=? value "unknown")) (begin ;; (debug-spew "This include directive uses a value attribute.\n") (if (calling-flag? "embedd_mode" (gnetlist:get-calling-flags)) (begin (spice-sdb:insert-text-file value port) ;; -e found: invoke insert-text-file (debug-spew (string-append "embedding contents of " value " into netlist.\n"))) (begin (display (string-append ".INCLUDE " value "\n") port) ;; -e not found: just print out .INCLUDE card (debug-spew "placing .include directive string into netlist.\n")) ))) ;; Now look to see if file is used ((not (string=? file "unknown")) (begin ;; (debug-spew "This include directive uses a file attribute.\n") (if (calling-flag? "embedd_mode" (gnetlist:get-calling-flags)) (begin (spice-sdb:insert-text-file file port) ;; -e found: invoke insert-text-file (debug-spew (string-append "embedding contents of file " file " into netlist.\n"))) (begin (display (string-append ".INCLUDE " file "\n") port) ;; -e not found: just print out .INCLUDE card (debug-spew "placing .include directive string into netlist.\n")) ) ;; end of if (calling-flag ) ) ) ;; end of cond ))) ;;---------------------------------------------------------- ;; Include an option using an .OPTIONS directive ;;---------------------------------------------------------- (define spice-sdb:write-options (lambda (package port) (debug-spew (string-append "Found .OPTIONS box. Refdes = " package "\n")) (display (string-append ".OPTIONS " (spice-sdb:component-value package) "\n") port))) ;;---------------------------------------------------------- ;; Include a spice model (instantiated as a model box on the schematic) ;; Two types of model can be included: ;; 1. An embedded model, which is a one- or multi-line string held in the attribute "model". ;; In this case, the following attributes are mandatory: ;; -- model (i.e. list of parameter=value strings) ;; -- model-name ;; -- type ;; In this case, the function creates and formats the correct spice model line(s). ;; 2. A model held in a file whose name is held in the attribute "file" ;; In this case, the following attribute are mandatory: ;; -- file (i.e. list of parameter=value strings) ;; In this case, the function just opens the file and dumps the contents ;; into the netlist. ;;---------------------------------------------------------- (define spice-sdb:write-model (lambda (package port) ;; Collect variables used in creating spice code (let ((model-name (gnetlist:get-package-attribute package "model-name")) (model-file (gnetlist:get-package-attribute package "file")) (model (gnetlist:get-package-attribute package "model")) (type (gnetlist:get-package-attribute package "type")) ) ;; end of local assignments (debug-spew (string-append "Found .MODEL box. Refdes = " package "\n")) ;; Now, depending upon what combination of model, model-file, and model-name ;; exist (as described above) write out lines into spice netlist. (cond ;; one model and model name exist ( (not (or (string=? model "unknown") (string=? model-name "unknown"))) (debug-spew (string-append "found model and model-name for " package "\n")) (display (string-append ".MODEL " model-name " " type " (" model ")\n") port) ) ;; model file exists ( (not (or (string=? model-file "unknown") )) (debug-spew (string-append "found model-file for " package "\n")) ;; (spice-sdb:insert-text-file model-file port) ;; don't write it out -- it's handled after the second pass. ) ) ;; close of cond ) ;; close of let ) ;; close of lambda ) ;; close of define ;;------------------------------------------------------------------- ;; This writes out the default component (i.e. the "device" attribute ;; was not recognized). This function does the following: ;; ;; 1. Gets the refdes (package). ;; 2. Checks the refdes against a short list of possible values. ;; Depending upon the refdes, it does the following thing: ;; A? -- Invokes write-ic. This provides the opportunity for a code model ;; which may include a .model line. ;; D? -- Invokes write-diode ;; Q? -- Invokes write-transistor-diode. (The "type" attribute is ;; in this case so that the spice simulator will barf if the user ;; has been careless.) ;; M? -- Same as Q ;; U? -- Invokes write-ic. This provides the opportunity for a component ;; model to be instantiated. ;; X? -- Invokes write-ic. This provides the opportunity for a component ;; subcircuit to be instantiated. ;; V? -- Invokes write-independent-voltage-source ;; I? -- Invokes write-independent-current-source ;; Otherwise, it just outputs the refdes, the attached nets, and the ;; value of the "value" attribute. ;; ;;------------------------------------------------------------------- (define spice-sdb:write-default-component (lambda (package file-info-list port) (let ((first-char (string (string-ref package 0)) )) ;; extract first char of refdes. (cond ((string=? first-char "A") (spice-sdb:write-ic package file-info-list port)) ((string=? first-char "D") (spice-sdb:write-diode package port)) ((string=? first-char "Q") (spice-sdb:write-transistor-diode package #f "" (list) port)) ((string=? first-char "M") (spice-sdb:write-transistor-diode package #f "" (list) port)) ((string=? first-char "U") (spice-sdb:write-ic package file-info-list port)) ((string=? first-char "V") (spice-sdb:write-independent-voltage-source package port)) ((string=? first-char "I") (spice-sdb:write-independent-current-source package port)) ((string=? first-char "X") (spice-sdb:write-ic package file-info-list port)) (else (display (string-append "Found unknown component. Refdes = " package "\n")) (spice-sdb:write-component-no-value package port) ;; write component value, if components have a label "value=#" ;; what if a component has no value label, currently unknown is written (display (spice-sdb:component-value package) port) (newline port) ) ) ;; end cond ) ;; end let ) ) ;;********************************************************************************** ;;*************** High-level functions for program control *********************** ;;********************************************************************************** ;;---------------------------------------------------------------------- ;; write-netlist is passed a list of refdesses (ls). It uses ;; each refdes to get the corresponding ;; "device" attribute. Depending upon the device, it then invokes one or another of the ;; spice line output fcns to output a line of the spice netlist. ;; I have enlarged the number of devices it recognizes -- SDB. ;; write the refdes, to the pin# connected net and component ;; value and optional extra attributes ;; check if the component is a special spice component. ;;---------------------------------------------------------------------- (define spice-sdb:write-netlist (lambda (port file-info-list ls) (if (not (null? ls)) (let* ((package (car ls)) ;; assign package (device (get-device package)) ;; assign device. ) ;; end of let* assignments ;; Super debug stuff -- outputs line describing device being processed. (debug-spew (string-append "--- checking package = " package "\n")) (debug-spew (string-append " device = " device "\n")) ;; done with debug stuff (cond ( (string=? device "none")) ;; do nothing for graphical symbols. ( (string=? device "spice-subcircuit-LL")) ;; do nothing for subcircuit declaration. ( (string=? device "spice-IO")) ;; do nothing for SPICE IO pins. ( (string=? device "SPICE-ccvs") (spice-sdb:write-ccvs package port)) ( (string=? device "SPICE-cccs") (spice-sdb:write-cccs package port)) ( (string=? device "SPICE-vcvs") (spice-sdb:write-vcvs package port)) ( (string=? device "SPICE-vccs") (spice-sdb:write-vccs package port)) ( (string=? device "SPICE-nullor") (spice-sdb:write-nullor package port)) ( (string=? device "DIODE") (spice-sdb:write-diode package port)) ( (string=? device "PMOS_TRANSISTOR") (spice-sdb:write-pmos-transistor package port)) ( (string=? device "NMOS_TRANSISTOR") (spice-sdb:write-nmos-transistor package port)) ( (string=? device "PNP_TRANSISTOR") (spice-sdb:write-pnp-bipolar-transistor package port)) ( (string=? device "SPICE-PNP") (spice-sdb:write-pnp-bipolar-transistor package port)) ( (string=? device "NPN_TRANSISTOR") (spice-sdb:write-npn-bipolar-transistor package port)) ( (string=? device "SPICE-NPN") (spice-sdb:write-npn-bipolar-transistor package port)) ( (string=? device "PFET_TRANSISTOR") (spice-sdb:write-pfet-transistor package port)) ( (string=? device "NFET_TRANSISTOR") (spice-sdb:write-nfet-transistor package port)) ( (string=? device "MESFET_TRANSISTOR") (spice-sdb:write-mesfet-transistor package port)) ( (string=? device "SPICE-VC-switch") (spice-sdb:write-vc-switch package port)) ( (string=? device "RESISTOR") (spice-sdb:write-resistor package port)) ( (string=? device "CAPACITOR") (spice-sdb:write-capacitor package port)) ( (string=? device "POLARIZED_CAPACITOR") (spice-sdb:write-capacitor package port)) ;; change someday ( (string=? device "INDUCTOR") (spice-sdb:write-inductor package port)) ( (string=? device "COIL") ;; Added to enable netlisting of coil-*.sym (spice-sdb:write-inductor package port)) ( (string=? device "VOLTAGE_SOURCE") (spice-sdb:write-independent-voltage-source package port)) ;; change someday ( (string=? device "CURRENT_SOURCE") (spice-sdb:write-independent-current-source package port)) ;; change someday ( (string=? device "JOSEPHSON_JUNCTION") (spice-sdb:write-josephson-junction package port)) ( (string=? device "K") (spice-sdb:write-coupling-coefficient package port)) ( (string=? device "model") (spice-sdb:write-model package port)) ( (string=? device "options") (spice-sdb:write-options package port)) ( (string=? device "directive") (spice-sdb:write-directive package port)) ( (string=? device "include") (spice-sdb:write-include package port)) ( (string=? device "TESTPOINT") (spice-sdb:write-probe package port)) ( (string=? device "SUBCKT_PMOS") (spice-sdb:write-subckt-pmos-transistor package port)) ( (string=? device "SUBCKT_NMOS") (spice-sdb:write-subckt-nmos-transistor package port)) ( else (spice-sdb:write-default-component package file-info-list port)) ) ;; end of cond (spice-sdb:write-netlist port file-info-list (cdr ls)) )))) ;;---------------------------------------------------------------------- ;; create-file-info-list: This takes as argument the list of packages (refdesses). ;; It runs through the package list, and for each gets the attributes. If there is a ;; "FILE" attribute, it gets the file info & uses it to build the ;; file-info-list. When done, it returns the file-info-list. ;;---------------------------------------------------------------------- (define spice-sdb:create-file-info-list (lambda (package-list file-info-list) (if (null? package-list) file-info-list ;; end of packages processed. Return file-info-list (let* ((package (car package-list)) ;; otherwise get next package (i.e. refdes) (device (string)) (model (string)) (value (string)) (model-file (string)) ) ;; end of let* assignments (set! device (get-device package) ) (set! model (gnetlist:get-package-attribute package "model-name") ) (set! value (gnetlist:get-package-attribute package "value") ) (set! model-file (gnetlist:get-package-attribute package "file") ) ;; Now run a series of checks to see if we should stick this file into the file-info-list ;; Check to see if "file" attribute is non-empty (if (not (string-ci=? model-file "unknown")) (begin (debug-spew (string-append "found file attribute for " package ". File name = " model-file "\n")) ;; ******* Debug stuff ;; Now check to see if file is in file-info-list (if (not (spice-sdb:in-file-info-list? model-file file-info-list)) ;; File is new. Open file, find out what type it is, and push info into file-info-list (let ((file-type (spice-sdb:get-file-type model-file)) ) (debug-spew (string-append "File is new. New file type is " file-type " \n")) ;; DEBUG ;; Check to see if file-type is known. (if (not (string=? file-type "OTHER")) ;; file-type is OK. Return file-info-list with new triplet attached. (begin (debug-spew (string-append "Inserting " model-file " into list of known model files.\n")) (set! file-info-list (append (list (list model model-file file-type)) file-info-list) ) ) ;; Otherwise, file type is not a model type. Don't stick it in list. Print debug spew if desired. (debug-spew "File type is OTHER, and therefore will not be entered in known model file list.\n") ) ;; end if (not (string=? ) ;; end let ((file-type . . . ;; File is already in list. Print debug spew if desired. (debug-spew "File has already been seen and entered into known model file list.\n") ) ;; end if (spice-sdb:in-file-info-list . . . ) ;; end begin . . . ) ;; end if (not( string-ci=? model-file ;; having done checking and processing of this package, iterate to the next one. (spice-sdb:create-file-info-list (cdr package-list) file-info-list) ) ;; end let* ) ;; end if (null? package-list . . . ) ) ;; in-file-info-list? -- helper function. Returns #t if file is already in file-info-list, otherwise #f ;; assumes file-info-list of form: ((model1 file1 file-type1) (model2 file2 file-type2) . . . .) (define spice-sdb:in-file-info-list? (lambda (model-file file-info-list) (if (null? file-info-list) (begin #f ;; return #f if file-info-list itself is empty. ) (let ((list-element (car file-info-list)) ) ;; otherwise process list-element (if (null? list-element) #f ;; item not found. Return #f. Note that we should never get here . . . (let ((list-file-name (cadr list-element)) ) (if (string=? list-file-name model-file) #t ;; item found. Return #t (spice-sdb:in-file-info-list? model-file (cdr file-info-list)) ;; iterate . . . ) ;; end if (string=? ) ;; end of let . . . ) ;; end if (null? list-element . . . ) ;; end let* ((list-element . . . ) ;; end if (null? file-info-list . . )) ;; end define spice-sdb:in-file-info-list? ;;-------------------------------------------------------------- ;; Write out spice netlist header ;;-------------------------------------------------------------- (define spice-sdb:write-top-header (lambda (port) (display "*********************************************************\n" port) (display "* Spice file generated by gnetlist *\n" port) (display "* spice-sdb version 4.28.2007 by SDB -- *\n" port) (display "* provides advanced spice netlisting capability. *\n" port) (display "* Documentation at http://www.brorson.com/gEDA/SPICE/ *\n" port) (display "*********************************************************\n" port) ) ) ;;-------------------------------------------------------------- ;; Write out .SUBCKT netlist header ;;-------------------------------------------------------------- (define spice-sdb:write-subcircuit-header (lambda (port) (display "*******************************\n" port) (display "* Begin .SUBCKT model *\n" port) (display "* spice-sdb ver 4.28.2007 *\n" port) (display "*******************************\n" port) ) ) ;;--------------------------------------------------------------- ;; Write the .END line ;;--------------------------------------------------------------- (define spice-sdb:write-bottom-footer (lambda (salutation port) (display salutation port) (newline port))) ;;--------------------------------------------------------------- ;; Spice netlist generation ;; This is the entry point. ;; Hacked on 3.31.2003 to enable writing out .SUBCKT models -- SDB. ;; Hacked again in Sept 2003 to enable more intelligent embedding of external ;; SPICE files into netlist -- SDB. ;; The algorithm is as follows: ;; 1. Figure out if there is a .SUBCKT block on the schematic, ;; or if it is just a normal schematic. ;; If a .SUBCKT: ;; -- Write out subcircuit header (a comment identifying the netlister). ;; -- find all spice-IO pins. Get a list of the packages. ;; -- put them in order (ordered by package refdes) ;; -- get the list of nets attached to the spice-IO pins. ;; -- write out .SUBCKT line ;; If a normal schematic: ;; -- Write out top header (a comment identifying the netlister). ;; 2. Loop through all components, looking for components with a "file" ;; attribute. Every time a "file" attribute is found do this: ;; -- Open the file and find out what kind of file it is (.SUBCKT or .MODEL). ;; -- Determine if the file has previously been processed. If not: stick the ;; following info into the file-info list: (model-name file-name file-type). ;; Otherwise just continue. ;; 3. Loop through all components again, and write out a SPICE card for each. ;; 4. Afterwards, for each item in the file-info list, open the file, and ; write its contents into the netlist. ;; 5. If the schematic-type is .SUBCKT: write out .ENDS, Otherwise: write out .END ;; 6. Close up the SPICE netlist file and return. ;;--------------------------------------------------------------- (define spice-sdb (lambda (output-filename) ;; ;; First find out if this is a .SUBCKT lower level, ;; or if it is a regular schematic. ;; (let* ((port (open-output-file output-filename)) (schematic-type (spice-sdb:get-schematic-type packages)) (model-name (spice-sdb:get-subcircuit-modelname schematic-type)) (file-info-list (list)) ) (display "Using SPICE backend by SDB -- Version of 4.28.2007\n") (display (string-append "schematic-type = " schematic-type "\n")) ;; (display (string-append "model-name = " model-name "\n")) (if (not (string=? schematic-type "normal schematic")) ;; we have found a .SUBCKT type schematic. (let* ((io-pin-packages (spice-sdb:get-spice-IO-pins packages (list) )) (io-pin-packages-ordered (spice-sdb:sort-spice-IO-pins io-pin-packages)) (io-nets-list (spice-sdb:get-IO-nets io-pin-packages-ordered (list) )) ) (debug-spew "found .SUBCKT type schematic") ;; now write out .SUBCKT header and .SUBCKT line (spice-sdb:write-subcircuit-header port) (let ((io-nets-string (list-2-string io-nets-list)) ) ;; (display (string-append "Found IO nets for subckt = " io-nets-string "\n")) ;; DEBUG stuff . . . ;; (write io-nets-list) ;; (display "\n") (display (string-append schematic-type " " (list-2-string io-nets-list) "\n") port) ) ) ;; Otherwise it's a regular schematic. Write out command line followed by comments in file header. (begin (debug-spew "found normal type schematic") (display (string-append "* " (gnetlist:get-command-line) "\n") port) (spice-sdb:write-top-header port) ) ) ;; end of if (not (string=? . . . . ;; ;; Now loop through all devices and process all "FILE" attributes. Create ;; file-info-list. ;; Thanks to Carlos Nieves Onega for his e-mail to ;; geda-dev which is the genesis of this section. ;; (debug-spew "\nMake first pass through design and create list of all model files referenced.\n") (set! file-info-list (spice-sdb:create-file-info-list packages file-info-list)) (debug-spew "Done creating file-info-list.\n") ;; extra debug spew -- comment out when done . . . ;; (display "file-info-list = \n") ;; (write file-info-list) ;; (display "\n") (debug-spew "\n") ;; ;; Moved this loop before the next one to get numparam to work with ngspice, ;; because numparam will at the subckt definition come before the main netlist. ;; Change suggested by Dominique Michel; implemented in code on 6.12.2005. ;; ;; Next loop through all items in file-info-list in the SPICE netlist. ;; For each model-name, open up the corresponding file, and call handle-spice-file ;; to stick the corresponding stuff into the output SPICE file. ;; (debug-spew "Now process the items in model file list -- stick appropriate references to models in output SPICE file.\n") (spice-sdb:loop-through-files file-info-list port) (debug-spew "Done processing items in model file list.\n") ;; ;; Now write out netlist as before. But don't write file contents out. ;; **** Modified by kh to sort list of packages so Spice directives, etc. (A?) are output last, ;; **** and in increasing order. ;; (debug-spew "Make second pass through design and write out a SPICE card for each component found.\n") (display (string-append "*============== Begin SPICE netlist of main design ============\n") port) (if (spice-sdb:sort-refdes? (gnetlist:get-calling-flags)) (spice-sdb:write-netlist port file-info-list (sort packages spice-sdb:packsort)) ;; sort on refdes (spice-sdb:write-netlist port file-info-list packages) ;; don't sort. ) (debug-spew "Done writing SPICE cards . . .\n\n") ;; ;; Now write out .END(S) of netlist, depending upon whether this schematic is a ;; "normal schematic" or a .SUBCKT. ;; (if (not (string=? schematic-type "normal schematic")) (begin (spice-sdb:write-bottom-footer (string-append ".ends " model-name) port) (display "*******************************\n" port) ) (if (not (calling-flag? "no_end_card" (gnetlist:get-calling-flags))) (spice-sdb:write-bottom-footer ".end" port)) ) ;; ;; Finally, close up and go home. ;; (close-output-port port) (debug-spew "\nOutput file is written. We are done.\n") ) ;; (let* ((port . . . . ) ) ;; Custom get-uref function to append ".${SLOT}" where a component ;; has a "slot=${SLOT}" attribute attached. ;; ;; NOTE: Original test for appending the "." was this: ;; (let ((numslots (gnetlist:get-package-attribute package "numslots")) ;; (slot-count (length (gnetlist:get-unique-slots package))) ;; (if (or (string=? numslots "unknown") (string=? numslots "0")) ;; (define get-uref (lambda (object) (let ((real_uref (gnetlist:get-uref object))) (if (null? (get-attrib-value-by-attrib-name object "slot")) real_uref (string-append real_uref "." (car (get-attrib-value-by-attrib-name object "slot"))) ) ) ) ) geda-gaf-1.8.2/gnetlist/scheme/gnet-calay.scm0000664000175000017500000000560112204066537015734 00000000000000;;; gEDA - GPL Electronic Design Automation ;;; gnetlist - gEDA Netlist ;;; Copyright (C) 1998-2010 Ales Hvezda ;;; Copyright (C) 2006-2010 John P. Doty ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 2 of the License, or ;;; (at your option) any later version. ;;; ;;; This program is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with this program; if not, write to the Free Software ;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, ;;; MA 02111-1301 USA. ;; Calay format (modified from Ales's gnet-PCB.scm by jpd) ;; Netname translation cleaned up at Dan McMahill'suggestion -jpd (define (calay:display-connections nets) (let ((k "")) (for-each (lambda (in-string) (set! k (string-append k in-string))) (map (lambda (net) (string-append " " (car net) "(" (car (cdr net)) ")")) nets)) (string-append k ";\n"))) ;; ;; Wrap a string into lines no longer than wrap-length ;; (from Stefan Petersen) ;; (Modified for Calay format by jpd) (define (calay:wrap string-to-wrap wrap-length) (if (> wrap-length (string-length string-to-wrap)) string-to-wrap ; Last snippet of string (let ((pos (string-rindex string-to-wrap #\space 0 wrap-length))) (cond ((not pos) (display "Couldn't wrap string at requested position\n") " Wrap error!") (else (string-append (substring string-to-wrap 0 pos) ",\n " (calay:wrap (substring string-to-wrap (+ pos 1)) wrap-length))))))) ;; Translate netnames ;; For the nonce, this just turns "_" into "-" ;; (define (calay:translate string-to-translate) (let ((pos (string-index string-to-translate #\_))) (if pos (calay:translate (string-append (substring string-to-translate 0 pos) "-" (substring string-to-translate (+ 1 pos)))) string-to-translate))) (define (calay:write-net netnames port) (if (not (null? netnames)) (let ((netname (car netnames))) (display "/" port) (display (gnetlist:alias-net netname) port) (display "\t" port) (display (calay:wrap (calay:display-connections (gnetlist:get-all-connections netname)) 66) port) (calay:write-net (cdr netnames) port)))) (define (calay output-filename) (let ((port (open-output-file output-filename))) (gnetlist:build-net-aliases calay:translate all-unique-nets) (calay:write-net (gnetlist:get-all-unique-nets "dummy") port) (close-output-port port))) geda-gaf-1.8.2/gnetlist/scheme/gnet-tango.scm0000664000175000017500000001112012204066537015744 00000000000000;;; gEDA - GPL Electronic Design Automation ;;; gnetlist - gEDA Netlist ;;; Copyright (C) 1998-2010 Ales Hvezda ;;; Copyright (C) 1998-2010 gEDA Contributors (see ChangeLog for details) ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 2 of the License, or ;;; (at your option) any later version. ;;; ;;; This program is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with this program; if not, write to the Free Software ;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, ;;; MA 02111-1301 USA. ;; -------------------------------------------------------------------------- ;; ;; TANGO netlist backend written by Nuno Sucena starts here ;; ;; ;; Given a uref, returns the device attribute value (for tango-netlist) ;; (define tango:get-device (lambda (package) (gnetlist:get-package-attribute package "device"))) ;; ;; Given a uref, returns the footprint attribute value (PATTERN if not defined) ;; (define tango:get-pattern (lambda (package) (define pattern (gnetlist:get-package-attribute package "footprint")) (if (string=? "unknown" pattern) "PATTERN" pattern))) ; how do i return "PATTERN" if not defined? humm... need to read some ; guile stuff... i did, and see the result :) ;; ;; Given a uref, returns the value attribute (empty if not defined) ;; (define tango:get-value (lambda (package) (define value (gnetlist:get-package-attribute package "value")) (if (string=? "unknown" value) "" value))) ;; ;; Top level header ;; (define tango:write-top-header (lambda (p) (display "START header" p) (newline p) (newline p) (display "TANGO netlist for gnetlist" p) (newline p) (display "TANGO gnetlist backend written by Nuno Sucena" port) (newline p) (display "END header" p) (newline p) (newline p))) ;; ;; Top level component writing ;; (define tango:components (lambda (port ls) (if (not (null? ls)) (let ((package (car ls))) (begin (display "[" port) (newline port) (display package port) (newline port) (display (tango:get-pattern package) port) (newline port) (display (tango:get-device package) port) (newline port) (display (tango:get-value package) port) (newline port) (newline port) (display "]" port) (newline port) (tango:components port (cdr ls))))))) ;; ;; Display the individual net connections ;; (define tango:display-connections (lambda (nets port) (if (not (null? nets)) (begin (display (car (car nets)) port) (display "-" port) (display (car (cdr (car nets))) port) (if (not (null? (cdr nets))) (begin (newline port))) (tango:display-connections (cdr nets) port))))) ;; ;; Properly format the name of the net and the actual net connections ;; (define tango:display-name-nets (lambda (port nets) (begin (tango:display-connections nets port)))) ;; ;; Write out a net associated with a particular package and pin ;; (define tango:write-net (lambda (port netnames) (if (not (null? netnames)) (let ((netname (car netnames))) (begin (display "(" port) (newline port) (display netname port) (newline port) (tango:display-name-nets port (gnetlist:get-all-connections netname)) (newline port) (display ")" port) (newline port) (tango:write-net port (cdr netnames))))))) ;; ;; Top level function to write out nets associated with a particular component ;; (define tango:nets (lambda (port) (let ((all-uniq-nets (gnetlist:get-all-unique-nets "dummy"))) (tango:write-net port all-uniq-nets)))) ;;; Highest level function ;;; Write tango netlist format ;;; (define tango (lambda (output-filename) (let ((port (open-output-file output-filename))) (begin ;;; (gnetlist:set-netlist-mode "TANGO") No longer needed (tango:components port packages) (tango:nets port)) (close-output-port port)))) ;; ;; TANGO netlist backend written by Nuno Sucena ends here ;; ;; -------------------------------------------------------------------------- geda-gaf-1.8.2/gnetlist/ChangeLog0000664000175000017500000044371112220655755013526 00000000000000commit 875406c9d1211fd88e3e7e1ee5349cba41a7becf Author: Peter TB Brett Date: Wed Sep 25 22:17:56 2013 +0100 Update NEWS and version information for 1.8.2. commit 1dd3f5d77dc013624f6848801f4885c485595425 Author: Peter TB Brett Date: Wed Sep 25 22:34:27 2013 +0100 build-sys: Don't use Automake test driver unless actually necessary. Most of the tests in geda-gaf actually provide their own test drivers in the form of a shell script. It's actually better just to run them directly in a check-local rule than to use the Automake test driver (which eats all the output now that parallel tests are being used). (imported from commit b7a373f8846fa91c92e4a628e0691b7f865af3e0) commit f5cda460b09a7af60d4a00a469321c524816af3e Author: Peter TB Brett Date: Wed Sep 25 22:40:12 2013 +0100 gnetlist: Don't use gettext macros. Commit dcd9b1c6eb47 introduced a translatable string to gnetlist, but in the stable-1.8 branch gnetlist is not yet internationalised. commit dcd9b1c6eb472b80117d945896c56092acfdeac7 Author: Peter TB Brett Date: Sun Sep 22 10:12:21 2013 +0100 gnetlist: Error on clashes with netattrib-generated refdes. Exit with an error if a refdes is found in input files that conflicts with autogenerated netattrib-related refdes. Closes-bug: lp-1226246 commit c58247b598517b875d8cb2b80eb812e92ee9c87f Author: Peter TB Brett Date: Sun Sep 22 10:11:23 2013 +0100 gnetlist: Safer use of nettattrib-generated refdes. Two-pronged attack to make gnetlist's use of autogenerated "POWER" refdes less likely to cause a problem. 1) Use a longer, more specific prefix string. This will make it much much less likely that a collision with a user net name will occur. 2) When testing for autogenerated refdes, test for the exact prefix using strncmp() instead of just checking that it appears somewhere in the string. Affects-bug: lp-1226246 commit d088ec192ac9fbc1dff3509527cb238520c2ee33 Author: Peter TB Brett Date: Fri Nov 23 21:24:42 2012 +0000 Update version numbers to 1.8.1. commit 2f5799e3936040e186db0ebc9c5188e62a2706d8 Author: Peter TB Brett Date: Tue Nov 20 00:18:50 2012 +0000 commit 87f1e0e76965a514277c949dbf2191993962cb88 Author: Peter TB Brett Date: Sun Nov 18 15:26:09 2012 +0000 Update version numbers to 1.8.0-20121118. commit 67c6022ba512e33b242aa62d0448385893471554 Author: Jeff Mallatt Date: Fri May 25 18:31:49 2012 -0400 gnetlist: Stop drc2 backend from crashing when output is to stdout. Fixes bug where emitting to stdout (-o -) and finding errors/warnings caused crash attempting to emit final 'See output file' message. Closes-bug: lp-1004757 Reviewed-by: Peter TB Brett commit 5c2c75614ee878fc792aaa6407aecc030cfd95dc Author: Peter TB Brett Date: Fri Nov 16 23:04:09 2012 +0000 gnetlist: Add -o option to --help output. Closes-bug: lp-1079714 commit f7fab3715f984c374f41d7c2d74fc2802bbb4e7a Author: Gareth Edwards Date: Wed Nov 14 22:58:12 2012 +0000 Replace references to geda.seul.org with up-to-date URLs. Update lots of links to seul.org to www.geda-project.org, wiki.geda-project.org, gedasymbols.org and www.gnu.org as appropriate. commit 7a68dc68dd3ccbf4d4b2b2056cefc573152cfa92 Author: Gareth Edwards Date: Thu Nov 15 08:32:50 2012 +0000 gnetlist: Updated bug filing and homepage URLs in usage message commit 098044feb4e53d9cc49a57a0071e36b62d6c9d9f Author: Gareth Edwards Date: Mon Mar 19 21:45:11 2012 +0000 gnetlist: remove unused pointer value from s_traverse_component() The value 'nets' used to store the result of s_traverse_net() is never used, to cast function value to (void) to explicitly show that. Coverity-ID: 201679 commit 85113c7d1245ca1b3aed45a7fc4cf771b5795f40 Author: Gareth Edwards Date: Mon Mar 19 21:38:42 2012 +0000 gnetlist: cleanly discard unused power tag in s_netattrib.c In the function s_netattrib_return_netname(), cast the first call to strtok (which is discarding the power tag) to (void) rather than storing it and never using it in the current_pin pointer. Coverity-ID: 201678 commit f0923997c5ea727f6b73afad23ee2f974ac6b6b0 Author: Gareth Edwards Date: Sun Mar 18 11:36:59 2012 +0000 Update FSF mailing address. Change all references to the FSF mailing address to the new Franklin Street location. Closes-bug: lp-934934 commit a110456ce03822ed543efd27e827d497076ebf41 Author: Peter TB Brett Date: Thu Feb 9 12:11:46 2012 +0000 gnetlist: Fix dereference after NULL check. Replace the NULL check with an assertion. Coverity-ID: 201601 commit 133970aaf70c1ed864765fdf51bbe165cb16337f Author: Peter TB Brett Date: Thu Feb 9 11:45:50 2012 +0000 gnetlist: Fix missing break in switch. This was clearly an error, since in the APPEND case the built value would would be leaked. Coverity-ID: 201618 commit 29b8540801de26686e9b282db5f987181aab2130 Author: Dan White Date: Sat Dec 10 17:01:16 2011 -0600 gnetlist: makedepend documentation commit fac4d11b8c7beb6a711a83ba002682bab0168816 Author: Peter TB Brett Date: Mon Jan 9 21:05:55 2012 +0000 gnetlist: Output refdes when g_get_nets() fails. Affects-bug: lp-912976 commit d207c8af8e1928b26a1f30deabb3e71f9e8ff507 Author: Peter TB Brett Date: Mon Jan 9 20:33:14 2012 +0000 gnetlist: Clean up g_get_nets() control flow. Reorganise things to reduce insane nesting depth. commit ddddb8fafd9c2598e8b9697adc6dda8bb71bed6d Author: Peter TB Brett Date: Mon Jan 9 20:30:16 2012 +0000 gnetlist: Re-indent g_get_nets() function. [whitespace] commit 815eef2cb1f35519633e6fe93332f39e9743ae6c Author: Peter TB Brett Date: Mon Jan 9 19:36:47 2012 +0000 gnetlist: Make file load error message clearer. commit d1305adf92982b3a159707c940bafb8c293223fe Author: Eivind Kvedalen Date: Tue Jun 28 21:43:13 2011 +0200 Partial fix for bug #700448. NULL is returned from o_*_read and o_read_buffer functions if parsing of the input buffer fails. An error object is returned in these cases, describing in detail what error occured. gnetlist is updated to exit with status code 2 if the input file can't be read. gschem is updated to report errors when using o_read_buffer. TODO: * Prone to segfaults on bad input files (separate patch) commit e2eda476fb8f3a16aeba8eab0cc8b7fa12e37d6b Author: Ales Hvezda Date: Sat Dec 31 16:00:23 2011 -0500 Updated man page date and version in prep for a new release (1.7.2) commit 14b0299cac74632fd12026bbde5e9a1ad458df53 Author: Peter TB Brett Date: Fri Dec 30 23:12:28 2011 +0000 gnetlist: Fix premature free in g_get_nets(). commit de82b5d95ac7a1527f2347f5e6c836c1b2ff2a0d Author: Gareth Edwards Date: Fri Dec 23 19:08:19 2011 +0000 Don't install sch2eaglepos.sh sch2eaglepos.sh is already distributed to the examples and doesn't need to be in $prefix/bin as well. Follow the Debian packager's lead by not installing it. Affects-bug: lp-698849 commit 77e61fd5cf2526f1446985676ddc04fcb3d9f4de Author: Gareth Edwards Date: Sun Dec 18 18:31:04 2011 +0000 Expand html man page names properly. Fixes an issue in 7d0ed87ac where the expansion of filenames was not happening properly due to a typo in the make subsitution macro. commit d046a1d95d549283c362fd4dcfa9320bc30eafec Author: Gareth Edwards Date: Sun Dec 18 12:00:32 2011 +0000 Add manpage for mk_verilog_syms. Add manpage for mk_verilog_syms, add to build targets and gitignore, but don't install it. Also, determine html targets for manpages automatically from the list of manpages. Affects-bug: lp-698849 commit 7a17bc39a023245325343459429345eb0c623f5c Author: Dan McMahill Date: Sun Dec 18 09:03:02 2011 -0500 Finish the delete as part of moving sw2asc.in over to utils from gnetlist. commit 44c8ea19dd71d3ae9757a5f9161c09bcaa47eebf Author: Peter TB Brett Date: Sun Dec 18 09:34:42 2011 +0000 Update .gitignore files for sw2asc move. commit 6db1ebe332d3dd78367459dc4676af6fcce8b330 Author: Dan McMahill Date: Sat Dec 17 12:14:37 2011 -0500 Move the sw2asc script out of the gnetlist tree and into the utils tree where it belongs. This script is not really a gnetlist utility but rather one used to help extract some simulation results. It is used with the SWITCAP2 switched capacitor circuit simulator which is supported by a gnetlist backend and gschem library. commit 8741d194a6c2fa304d15123d398a9c3758169e6e Author: Peter TB Brett Date: Wed Dec 14 12:27:26 2011 +0000 gnetlist: Add basic concatenated net support for verilog. Frank Thomson says: "I modified gnet-verilog.scm to support the basic verilog format concatenated net naming like {a,b,c[3:0]}." Closes-bug: lp-821618 commit ba144aca892cef5841de2009b094d08fa11a0b6b Author: Vladimir Zhbanov Date: Wed Dec 14 00:02:09 2011 +0400 gnetlist: Fixed typos in comments/debug output of spice-sdb backend. Closes-bug: lp-904104 commit 523f5bd65a7cea56bdfca7cab5650832273e24bc Author: Peter TB Brett Date: Mon Dec 12 21:58:11 2011 +0000 gnetlist: Fix tests for internationalised Scheme API. Missed some places where the Scheme load path needed extending in commit 8d4c574efc3a. This broke distcheck. commit 0e506ebd5d5cc87a7f373b83b24f2ad3c90fd18b Author: Peter TB Brett Date: Mon Dec 12 14:13:22 2011 +0000 Remove per-tool INSTALL files. Only one top-level INSTALL file is needed, and that is provided by automake. commit 8d4c574efc3a081324ef92d16e6feb6720c86c33 Author: Peter TB Brett Date: Mon Dec 12 10:31:12 2011 +0000 scheme-api: Translate strings. Makes the messages emitted by Scheme API functions internationalizable. This required an update to the gnetlist testsuite to set the library path for built-but-not-installed Scheme modules. Closes-bug: lp-901013 commit c5b473354b2340b42d1a48436fb4da113b34657f Author: Peter TB Brett Date: Sun Dec 11 22:18:22 2011 +0000 gsch2pcb: Make --m4-file and -m4-pcbdir arguments work again. These options were broken in commit 6d935086d299, and haven't worked since before 1.6.x. Since no-one had reported it a bug in all that time, it's obvious that no-one was actually using them, and we could probably get away with just deleting them. But making them work again will work as well. Closes-bug: lp-897661 commit 50e6718b8484a737a2092af97132f8785b6c6137 Author: Dan White Date: Sun Jan 2 12:49:58 2011 -0600 gnetlist: spice-sdb "no_end_card" option suppresses ".end" Add the option "no_end_card" to suppress the ".end" for netlists destined to be .include'd in other files. Closes-bug: 698735 Reviewed-by: Peter TB Brett commit 574c85ad6decf49fc64bad0214f045a69fe1d1c3 Author: Peter TB Brett Date: Sun Dec 11 01:29:44 2011 +0000 gsch2pcb: Fix broken gnetlist backend. Fix breakage to gsch2pcb backend introduced in commit 579fbb4828a7. commit fbb3b8c871116fe5e0b29140d92b15ecc9a6f8e1 Author: Peter TB Brett Date: Sun Dec 4 18:49:51 2011 +0000 gnetlist: Fix some "set but not used" warnings. commit 579fbb4828a71ae2c78f270c3e7d1779c52e8997 Author: Peter TB Brett Date: Tue Nov 29 13:23:33 2011 +0000 gsch2pcb: Remove "m4-command" project file option. The "m4-command" option permitted in gsch2pcb project files allows the M4 command line generated by gsch2pcb to be replaced by an arbitrary command line. This patch removes the option. commit 50867f1f01c6fe2aaf20180db6d2626acbd3c8a0 Author: Peter TB Brett Date: Tue Nov 29 13:18:27 2011 +0000 gnetlist: Correct comment typo in backend-getopt module. commit 2171faf3ba82744a32aa17c0722262dc42bd062d Author: Peter TB Brett Date: Tue Nov 29 13:47:05 2011 +0000 build-sys: Correct `dist-hook' for gnetlist common tests. In commit b0613e375ab8, it became valid for some common tests not to generate output, and subsequently in commit fde0b77b96ef, some `bom2' and `bom' backend golden files were removed to make use of this. However, the `dist-hook' rule in the gnetlist common test Makefile.am still assumed that all tests needed golden output files. This patch corrects this, and un-breaks `make distcheck'. commit fde0b77b96ef92d5e220dafeb31c92c03f7df0bf Author: Peter TB Brett Date: Tue Nov 29 09:32:17 2011 +0000 gnetlist: Regenerate `bom' and `bom2' test results. In commit 76bc345ee043, the `bom' and `bom2' backends were modified to be more informative about attribute list specifications. As a side-effect of this work, the backend options for these backends are now much more strictly validated. Tests which pass `-O include_mode' or `-O sort_mode' to gnetlist therefore now fail for the BOM backends, and this patch updates the golden files appropriately. Affects-bug: lp-810202 Reported-by: Dan McMahill commit b0613e375ab887d4a5ed5c3022a12c485cad1ab2 Author: Peter TB Brett Date: Tue Nov 29 09:52:30 2011 +0000 gnetlist: Make common tests cope with no output. Some gnetlist backends may fail, expectedly, without generating output. Update common gnetlist test harness to cope with this. commit f42bdab5a5db15c80fa704fe37a62f602c188d9f Author: Peter TB Brett Date: Mon Nov 28 10:26:33 2011 +0000 gnetlist: Add ewnet backend to man page. commit f2aae0e26fefb8db388ac9d74a8c14921f116a0b Author: Dan McMahill Date: Sat Nov 19 03:10:35 2011 -0500 Add ULTIboard backend. This is the electroncs workbench layout tool currently sold by National Instruments. commit 1ca1d9b32c62d0563bbe2169aa3764fe03cf86d8 Author: Dan McMahill Date: Sat Nov 19 02:46:18 2011 -0500 Add the ewnet backend to the tests. commit c9d4f6638bbc7ba84534c2460037f19915114a95 Author: Karl Hammar Date: Tue Jul 26 16:08:01 2011 +0200 Correct SCM_ASSERT() usage with incorrect SCM_ARGx. From guile documentation: -- Macro: void SCM_ASSERT (int TEST, SCM OBJ, unsigned int POSITION, const char *SUBR) ... -- Macro: int SCM_ARG1 ... -- Macro: int SCM_ARG7 One of the above values can be used for POSITION to indicate the number of the argument of SUBR which is being checked. ... Some SCM_ASSERT() calls have the wrong SCM_ARGx for its TEST and OBJ. Reviewed-by: Peter TB Brett commit 76bc345ee043764b919980c3de6d27f78546cf73 Author: Jared Casper Date: Fri Jul 15 12:18:07 2011 +0100 gnetlist: bom/bom2 backend attribute list improvements - Checks for the existence of the attribute file, gives a helpful error message if none is found (no default) - Adds an attrib_file command line option to the backend for specifying an alternate attribute file - Adds an attribs command line option for specifying the attributes directly from the command line Closes-bug: lp-810202 commit 9c540461df266e548684ab2f0bd3294605cf749e Merge: f7cc583 12260ba Author: Peter TB Brett Date: Sun Jun 19 18:16:48 2011 +0100 Merge changes from main unstable branch commit 12260baebf9f828e9297fc794e911224b8dcd163 Author: Ales Hvezda Date: Sun Jun 19 10:36:02 2011 -0400 Updated all man page dates/versions commit e4872a662d21173526f9fe486d45d33877494035 Author: Ivan Stankovic Date: Fri Jun 17 21:53:57 2011 +0200 gnetlist: g_graphical_objs_in_net...: remove use of deprecated SCM_STRING_CHARS Reviewed-by: Peter TB Brett commit 92b4b15049eaaab356e738a6e9f8acd9ca3e7320 Author: Ivan Stankovic Date: Fri Jun 17 21:48:16 2011 +0200 gnetlist: g_get_attribute_by_pinnumber: remove use of deprecated SCM_STRING_CHARS Reviewed-by: Peter TB Brett commit 7c1670feb3f8879e5c6ef0fd9cdb3f9679e98482 Author: Ivan Stankovic Date: Fri Jun 17 21:46:41 2011 +0200 gnetlist: g_get_attribute_by_pinseq: remove use of deprecated SCM_STRING_CHARS Reviewed-by: Peter TB Brett commit 37b429e766bf17517bd22a80bfa83281260abae9 Author: Ivan Stankovic Date: Fri Jun 17 21:42:05 2011 +0200 gnetlist: g_get_nets: remove use of deprecated SCM_STRING_CHARS Reviewed-by: Peter TB Brett commit 971d122c1c17189dbf33d0d92de3cefb27fc0b97 Author: Ivan Stankovic Date: Fri Jun 17 23:00:25 2011 +0200 gnetlist: remove remaining use of deprecated SCM_STRING_CHARS Reviewed-by: Peter TB Brett commit eddb9a7f7a6852a46db1ed0ff6a5c74516ff664a Author: Ivan Stankovic Date: Fri Jun 17 21:57:58 2011 +0200 gnetlist: g_rc_gnetlist_version: remove use of deprecated SCM_STRING_CHARS Reviewed-by: Peter TB Brett commit 3a1cb7a8c532c32138b2f5b39d2ca49fcbd3bd31 Author: Ivan Stankovic Date: Fri Jun 17 21:49:34 2011 +0200 gnetlist: g_get_toplevel_attribute: remove use of deprecated SCM_STRING_CHARS Reviewed-by: Peter TB Brett commit 407210c4c308f6c71004971a33c758b5e235e6de Author: Ivan Stankovic Date: Fri Jun 17 21:43:43 2011 +0200 gnetlist: g_get_pins_nets: remove use of deprecated SCM_STRING_CHARS Reviewed-by: Peter TB Brett commit 1139c095be36fd5041875917aaf3c972335de1f2 Author: Ivan Stankovic Date: Fri Jun 17 21:38:21 2011 +0200 gnetlist: g_get_all_connections: remove use of deprecated SCM_STRING_CHARS Reviewed-by: Peter TB Brett commit 8cc6911684a66ba4c8bfebc5407d0f917578d6e1 Author: Ivan Stankovic Date: Fri Jun 17 21:31:19 2011 +0200 gnetlist: g_get_pins: remove use of deprecated SCM_STRING_CHARS Reviewed-by: Peter TB Brett commit b60e14588df1d5c45f1ed2751786f7062b709729 Author: Peter TB Brett Date: Thu Jun 16 22:31:21 2011 +0100 gnetlist: Add new `makedepend' backend to NEWS and tests. Closes-bug: lp-698740 commit 8c66dc1b9545ed60d25fe7fa2a7f9aa95c2b4a92 Merge: 25952c3 5f4308e Author: Peter TB Brett Date: Wed Jun 15 18:12:44 2011 +0100 Merge changes from main unstable branch Conflicts: gschem/src/g_funcs.c commit d5d1a98f0e95589c33bff881198cca01a1b08c7e Author: Clif Cox Date: Mon Jun 13 13:38:39 2011 +0100 Updated the problematic name attributes in some symbols In some gnetlist backends the name=? attributes cause problems because they look like valid attribute values. eg file=? may be mistaken for a valid filepath, and value=? for an actual value. Changing them to name=unknown is one way to solve this problem in the interim. It's now safe to remove the special checks for these "?" like the one in spice-sdb. This patch updates these problematic name=? attributes in some symbols to name=unknown, and removes FIXME code snipit that checked for the ? value in spice-sdb. It also updates gnetlist tests to reflect these changes. Turns out that the test input file TwoStageAmp.sch had a ? in it, which of couse caused problems. Then when it was removed vams's output changed so it had to be fixed, which wasn't a very clever fix but seems to work. Closes-bug: lp-698741 Reviewed-by: Peter TB Brett commit cb7a91bc125926f13c23fdfe67fc26e992015a95 Author: Peter TB Brett Date: Mon Jun 13 13:19:02 2011 +0100 gnetlist: Update golden files. commit b6bc950edee6e2e3baa7906f75ebb29c08dac2c8 Author: Clif Cox Date: Fri Jan 14 09:50:46 2011 -0800 gnetlist: flexable netlisting for NGspice Code Models Closes-bug: lp-702752 Reviewed-by: Peter TB Brett commit 1295421746393d17405b3c4bf37b96caac5f44d0 Author: Clif Cox Date: Mon Jun 13 09:07:24 2011 +0100 gnetlist: Add some comments to spice-sdb backend. Affects-bug: lp-702752 commit 91865253d6e4422b06648fe5b0334a5013a7d08a Merge: 4bccef2 09c6613 Author: Peter TB Brett Date: Sat Jun 11 21:42:48 2011 +0100 Merge changes from main unstable branch Conflicts: libgeda/src/g_register.c libgeda/src/g_smob.c commit 09c6613f93b65d3f9193e7dbc65bd696cf8a6b06 Author: Peter TB Brett Date: Sat Jun 11 20:35:37 2011 +0100 libgeda: Use UTF-8 instead of locale Scheme string functions. Note that there are several places where locale string functions are still used, because the input depends on the current locale (e.g. strings obtained from command-line options or from the filesystem). There are still a lot of places where we're still treating locale-dependent strings as UTF-8 strings (and probably vice-versa). Enough bugs for everybody to share! commit 1121d83a5450ad9040cabb7ef9a8cfb6c2a395f3 Author: Peter TB Brett Date: Fri Jun 10 13:46:15 2011 +0100 scheme-api: Only use (ice-9 syncase) if define-syntax missing. In Guile 2.0, syntax-case is built in by default and importing the (ice-9 syncase) module isn't required. commit 9538145da79933763ed79eae6869f92d467e10d0 Author: Dan White Date: Sat May 28 09:50:41 2011 -0500 gnetlist: makedepend backend Gnetlist backend to determine a schematic's dependencies. Output is in the form of: source.sch: depend1.sch depend2.sch source.cir: source.sch depend1.cir depend2.cir other.inc ...written to "source.d" file for inclusion into a project's Makefile. First line collects all source= attributes in the input pages. Second line lists transformed source='s/sch/cir/' and file= attributes (.include files). Affects-bug: lp-698740 Reviewed-by: Peter TB Brett commit 220ecbd09393ae0d8cc43d26cfe7c8427888c744 Author: Dan White Date: Tue Jun 7 13:08:29 2011 -0500 Add gnetlist:get-input-files scheme function. Returns the list of files loaded by gnetlist. This returns the last elements of gnetlist:get-command-line not consumed by getopt. Affects-bug: lp-698740 Reviewed-by: Peter TB Brett commit 9415bf958a9cf16461733be58d0f8f257b5b4726 Author: Peter TB Brett Date: Thu Jun 9 15:59:34 2011 +0100 gnetlist: Fix up tests to work with new Scheme API. Now that gnetlist supports the -L option to add to the Guile load path, it's possible to make in-tree and out-of-tree builds pass `make check'. commit 1543eda1dbb823fd3052a3b831eae5b8316ed690 Merge: 19963e9 014b30b Author: Peter TB Brett Date: Thu Jun 9 15:06:46 2011 +0100 Merge changes from main unstable branch Conflicts: gschem/scheme/gschem.scm libgeda/include/prototype_priv.h libgeda/src/g_smob.c libgeda/src/o_basic.c commit e89ef317e6603e41f2fde56ec02cf98775e51b27 Author: Peter TB Brett Date: Sat Jun 4 09:36:01 2011 +0100 Use scm_is_false instead of comparing with SCM_BOOL_F. commit 6bc584e027a6a4c7df5c87c03ac6cbcb0284db8b Author: Peter TB Brett Date: Sat Jun 4 01:14:33 2011 +0100 gnetlist: Properly check pintype-can-drive variable in drc2 backend. Fixes a minor regression introduced in commit 7fe9484b2913. commit 7fe9484b291373e0f47c201b793d0a9f994317b6 Author: Peter TB Brett Date: Sat Jun 4 00:51:44 2011 +0100 gnetlist: Make drc2 backend work with Guile 2.0. commit 053960f4f5c2c05ca0676fd74b6c5feea3b1b5d6 Author: Peter TB Brett Date: Fri Jun 3 22:43:20 2011 +0100 gnetlist: Make vams backend worke with Guile 2.0. commit 7c203900136fb3f5cfdc70053aa52e87326226f4 Author: Peter TB Brett Date: Fri Jun 3 22:31:47 2011 +0100 gnetlist: Make gsch2pcb backend work with Guile 2.0. commit 5785b75e225b1876453a67799a0184830584e77a Author: Peter TB Brett Date: Thu Jan 6 17:33:32 2011 +0000 gnetlist: Add convenience library to help backends parse `-O' options. Based on a suggestion by Patrick Bernaud that it would be useful for gnetlist backends to be able to accept more complex options on the gnetlist command line, this patch adds the (gnetlist backend-getopt) Scheme module to gnetlist. This provides convenience functions that allow a backend to easily handle several different types of `-O' backend option: flag options, options with arguments, and options with optional arguments. commit 0348b21c1e4772774c239da706736764df8805ca Author: Peter TB Brett Date: Thu Jan 6 20:32:54 2011 +0000 gnetlist: Refactor `gnetlist:get-calling-flags'. Reimplement `gnetlist:get-calling-flags' in Scheme, based on a new `gnetlist:backend-arguments' function. commit 7bd75fad7cbd3b0e3520cf40ac64cf0986b16c84 Author: Peter TB Brett Date: Fri Jun 3 16:42:55 2011 +0100 gnetlist: Remove dead code. Remove some dead legacy code from gnetlist that was hidden in an #if 0 block. commit fb917f8b61f58b3cde5f1730b94c28c5992edea1 Author: Peter TB Brett Date: Fri Jun 3 15:58:31 2011 +0100 Remove uses of deprecated scm_makfrom0str. commit 4d566fcde7d57daeac1ad5629b5bb1baacc3a030 Author: Peter TB Brett Date: Fri Jun 3 18:21:15 2011 +0100 Update gsch2pcb backend golden files. gsch2pcb backend output was altered in commit dc5914e6538a, but the testsuite golden files were not updated. Correct version of 5a5fe91b382b. commit 43c59a0c55c94a499aea448785b62ab1242e8da7 Author: Peter TB Brett Date: Fri Jun 3 18:18:35 2011 +0100 Revert "Update gsch2pcb backend golden files." This reverts commit 5a5fe91b382be44b07f02ca229d751a7fb225838. commit 5a5fe91b382be44b07f02ca229d751a7fb225838 Author: Peter TB Brett Date: Fri Jun 3 18:07:31 2011 +0100 Update gsch2pcb backend golden files. gsch2pcb backend output was altered in commit dc5914e6538a, but the testsuite golden files were not updated. commit dc5914e6538ad26336e6f3637609b1edf61413f8 Author: DJ Delorie Date: Mon Apr 11 20:06:48 2011 -0400 Update default layer stack. Changes to layer stack and names to match PCB. commit dbb2d15d8d477ace013d0ddadea7e34f5d777b31 Author: Peter Clifton Date: Sat Mar 26 12:50:42 2011 +0000 Remove pcbconfdir configure option and its use in gsch2pcb's m4 path PCB doesn't use this path, so remove it. commit 06925a44059c630ed99aa25ebebce8146cc56e47 Author: Krzysztof Kościuszkiewicz Date: Sun Mar 20 01:56:49 2011 +0100 gnetlist: fix multiple renames for same source net It might happen an existing rename for A->B exists when a new rename A->C is added. This means B and C should be made equivalent. This patch arbitrarily choses one of these nets by renaming C->B instead of originally requested A->C. Closes-bug: lp-698570 Closes-bug: lp-698395 commit de856e25a83158237aaf33f29f024b72944a60fe Author: Peter TB Brett Date: Fri Jan 28 14:12:30 2011 +0000 Fix compilation with Guile 1.9.x. commit eb2a355b688053d917dcb85981062451b27c5e8f Author: Peter TB Brett Date: Mon Jan 24 08:37:46 2011 +0000 gsch2pcb: Don't pass invalid function names to m4. This fixes a long-standing bug with gsch2pcb. gsch2pcb expects `footprint' attributes to be of the form: footprint=NAME ARG1 ARG2 This gets transformed to: PKG_NAME (`NAME-ARG1-ARG2',`refdes',`value',`ARG1',`ARG2') for macro-expansion by M4. For this to work, it requires that NAME matches the regular expression ^[A-Za-z0-9_]$ so that PKG_NAME is a valid M4 function name. It is quite common for users (especially those using John Luciani's footprint library) to define and wish to use footprint names which contain hyphens '-'. Since this character is not valid in M4 function names, this practice causes non-obvious breakage to occur. This patch stops gsch2pcb from ever attempting to macro-expand a footprint NAME which is obviously not valid as part of an M4 function name. Closes-bug: lp-698806 commit ef5108e96d5745746c2820290738fa2740320e48 Author: Peter TB Brett Date: Mon Jan 24 08:35:58 2011 +0000 gnetlist: Use `string-join' in gsch2pcb backend. The gsch2pcb backend for gnetlist has its own version of the `string-join' function from the Guile standard library. commit 0255a45d7a06830c5b7a6e927a6cbdde5083ba33 Author: Peter TB Brett Date: Mon Jan 24 08:28:31 2011 +0000 gnetlist: Use `string-split' in gsch2pcb backend. The gsch2pcb backend for gnetlist has its own version of string-split. Use the Guile standard library version instead. commit 19963e962d5baf1cad6de44a2e411f7e5610159c Author: Peter TB Brett Date: Tue Jan 18 21:48:52 2011 +0000 gnetlist: Fix testsuite for Scheme API branch. Some Scheme procedures used by gnetlist were moved to the (geda deprecated) module, but the relevant Scheme files couldn't be found by the gnetlist testsuite. This patch makes sure the gnetlist environment gets set up correctly. commit 9379c19a7563a02c271c8640fdb814ef0add5981 Merge: f9156f1 23383c5 Author: Peter TB Brett Date: Tue Jan 18 22:36:59 2011 +0000 Merge changes from main unstable branch Conflicts: gnetlist/src/gnetlist.c gschem/src/g_hook.c gschem/src/gschem.c libgeda/include/libgeda/prototype.h libgeda/src/g_basic.c libgeda/src/g_smob.c commit 23383c5d04f17d5fd7491f2c631bfc1e3f15e96f Author: Peter TB Brett Date: Tue Jan 18 22:29:08 2011 +0000 Revert "Updated the problematic name attribute in some symbols" This reverts commit 5b1ee0d69f2fad7400f34543c482d51a55ce08c3. This commit broke the gnetlist testsuite, and another approach will need to be found. commit 5b1ee0d69f2fad7400f34543c482d51a55ce08c3 Author: Clif Cox Date: Mon Jan 17 13:15:50 2011 -0800 Updated the problematic name attribute in some symbols Reviewed-by: Peter TB Brett Closes-bug: lp-698741 commit b9c8d80db3e471adf6984318868b95a4b0d83192 Author: Dan White Date: Mon Jan 17 20:25:56 2011 +0000 gnetlist: spice-sdb MOS subcircuits Device=SUBCKT_{N,P}MOS are written almost like the corresponding normal device except the model is implmented as a subcircuit. Closes-bug: lp-698737 commit 799d67452921ed1447e8b030ee268fe8c34c5785 Author: Ales Hvezda Date: Sun Jan 16 00:15:29 2011 -0500 Updated version strings in all man pages commit 502ab80495c45e092eca6052edd6cf8e7ff55429 Merge: 27f7a52 e1c3ba4 Author: Peter TB Brett Date: Thu Jan 13 19:59:35 2011 +0000 Merge branch 'stable-1.6' Conflicts: NEWS libgeda/include/prototype_priv.h libgeda/src/gdk-pixbuf-hacks.c libgeda/src/o_basic.c libgeda/src/o_complex_basic.c utils/src/gsch2pcb.c commit 7ca2b049dbcfb9f0eb8d3dd3fcf21cbd66c0ec95 Author: Peter TB Brett Date: Wed Jan 12 17:03:44 2011 +0000 Print message and exit if rc file load fails. Modifies g_rc_parse() to print useful messages to standard error and exit with non-zero status if an error other than ENOENT occurs while attempting to parse any configuration file. N.b. only copes with rc files loaded at startup; rc files loaded later (e.g. a gafrc auto-loaded while loading a schematic using gschem "File->Open") can't cause the application to die. Since this means that under some circumstances gschem and gattrib can appear to do nothing silently (e.g. when launched from via a .desktop file) subsequent patches need to make gschem and gattrib generate appropriate warning and/or error message dialogs. Affects-bug: lp-698578 commit de3e47e27d27cd745afafce54541fc12ef71244e Author: Alan Somers Date: Sun Jan 9 13:35:44 2011 -0700 gnetlist: Fix spelling errors in run_tests.sh Reviewed-by: Peter TB Brett Closes-bug: lp-700795 commit 536a3a5148d0b13cc2a45c21af299e2f16611b92 Author: Alan Somers (none) Date: Sun Jan 9 13:22:27 2011 -0700 gnetlist: Fixed tests for new connected-noconnects DRC2 option. Reviewed-by: Peter TB Brett Closes-bug: lp-698743 commit 5dfbb76b54a70f2f3c0fc90752326ec3855bb9a7 Author: Alan Somers (none) Date: Thu Jan 6 18:18:16 2011 -0700 gnetlist: Added testcase for connected noconnects in drc2 Reviewed-by: Peter TB Brett Affects-bug: lp-698743 commit b8d3805b22aab292f0b07ab45c4ab019545c8fbc Author: Alan Somers Date: Wed Jan 5 23:14:04 2011 -0700 gnetlist: NoConnection nets with more than 1 pin are an error in drc2 backend. Adding the NoConnection DRC attribute to a net causes the drc2 backend to ignore it when checking for unconnected nets. However, drc2 currently doesn't enforce that the net is actually unconnected. It's possible to mark two pins as NoConnection and then accidentally wire them together. This patch to gnet-drc2.scm checks for that case. Reviewed-by: Peter TB Brett Affects-bug: lp-698743 commit 8a3a0bb070d1b288fceac2fcdd7b317a8f77a464 Author: Peter TB Brett Date: Fri Jan 7 22:00:09 2011 +0000 Update FSF address in copyright headers. The FSF have now moved to 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Our GPL and LPGL copyright headers need to updated to reflect this. Only files remaining with old address are wiki files (although the wiki has now been updated) and PostScript files. commit 86c305d9a2c62f062cbd9b63810a0173e4855310 Author: Peter TB Brett Date: Fri Jan 7 14:53:51 2011 +0000 Install HTML versions of manpages even without groff. If groff isn't available, try to install HTML manpages anyway. This allows users to install manpages even if they don't have groff as long as they aren't compiling from git and don't edit the manpages. Closes-bug: lp-698586 commit cc2ea46161c1994b3cb294c81154be3656f7c81e Author: Peter TB Brett Date: Thu Jan 6 14:02:10 2011 +0000 gnetlist: Remove options specific to `spice-sdb' backend. The gnetlist `-e', `-I', `-n' and `-s' command-line options are only used by the `spice-sdb' backend. They have equivalents based on the `-O' option. Remove them. Acked-by: Stuart Brorson commit 9e18ec2b836e1c5729b5d7381ed3e545ab5aab1a Author: Peter TB Brett Date: Thu Jan 6 18:29:13 2011 +0000 gnetlist: Exit if a Scheme error occurs. If a Scheme error occurs, gnetlist ignores it silently apart from printing a message to the log file. This is not a good thing. This patch makes Scheme errors stop gnetlist noisily. The error messages could be improved, but they're better than nothing. commit 77621ac14298e1ec41a994a47ce10e1104fa5cc4 Author: Peter TB Brett Date: Thu Jan 6 17:14:49 2011 +0000 gnetlist: Fail more usefully if backend can't be found in load path. commit 942226e52f706afd9c0c130672c89e169510e794 Author: Peter TB Brett Date: Thu Jan 6 16:41:34 2011 +0000 gnetlist: Fail more usefully if no schematics specified. Make sure exit status if no schematics are specified is non-zero, and make it more obvious why things have failed. commit ae45df48397e579284a1591bb0ff350b5f3f287a Author: Peter TB Brett Date: Thu Jan 6 16:04:26 2011 +0000 gnetlist: Add `--list-backends' option. Remove `-g help'. Instead of overloading the `-g' option to obtain a list of available backends, provide a distinct option. commit ca2741e817c3f8b16e396de9eae1676bc1c612c1 Author: Peter TB Brett Date: Thu Jan 6 13:37:05 2011 +0000 gnetlist: Add `-L' option for adding to Guile load path. commit 53185307c7a707b0ab6ff7a9bf73c3d83bf8d988 Author: Peter TB Brett Date: Thu Jan 6 01:17:16 2011 +0000 gnetlist: Build Scheme expressions instead of listing Scheme scripts. Instead of making lists of Scheme scripts to load from the `-l' and `-m' command-line options, build Scheme expressions which do the same thing. commit 571bcba5610c9002efd69a0cb7f2729e8ac71767 Author: Peter TB Brett Date: Wed Jan 5 17:35:17 2011 +0000 gnetlist: Behave more usefully with bad arguments. At the moment gnetlist exits with status 0 (success) when it receives bad command line arguments. Correct this, and make it more obvious why things have failed. commit 8029e76df046b392876f1997960fd7fd7d293bc2 Author: Peter TB Brett Date: Wed Jan 5 17:17:23 2011 +0000 gnetlist: Clean up formatting of `parsecmd.c'. commit f6d5b71a26b2f6877d9daffbe150f41d233e501a Author: Peter TB Brett Date: Wed Jan 5 17:26:09 2011 +0000 gnetlist: Add `-V', `--version' argument. commit b2f24756d4d53df1cc73e1588b592d0c4c4f8166 Author: Peter TB Brett Date: Wed Jan 5 16:57:09 2011 +0000 gnetlist: Improve `--help' usage message. commit 19dcc79af1e7a43e1b28e8378a5c1cd4392137f2 Author: Peter TB Brett Date: Wed Jan 5 15:05:17 2011 +0000 gnetlist: Update man page. commit cb47d3a0c3a5ac2b5b6ea9f94b66a2b5735de7e0 Author: Peter TB Brett Date: Wed Jan 5 16:08:35 2011 +0000 gnetlist: Rename partslist backends' common functions file. Rename partslist backend common functions file so it doesn't show up in the output of `gnetlist -ghelp'. commit 7a3e9f294d12732cd6fb043412c1bf92eaf5b268 Author: Peter TB Brett Date: Wed Jan 5 11:52:35 2011 +0000 Make `scheme-directory' rc function prepend to Guile load path. Guile already provides infrastructure for loading Scheme files from a library, so this patch makes gEDA use it properly. With this (fully backward-compatible) patch it's now possible to load Scheme files, including gnetlist backends, from more than one directory. Note: This commit makes the gnetlist test suite pass again. commit 258eb0591088a064631c1736b2c3f86aa9e07856 Author: Peter TB Brett Date: Wed Jan 5 10:42:42 2011 +0000 gnetlist: Load Scheme from Guile load path, not `scheme-directory'. gnetlist now searches for Scheme files to load using the Guile load path, rather than TOPLEVEL.scheme_directory. Additionally, the `-g help' option now outputs the list of know backends in a single column rather than in three columns. Note: in this commit the gnetlist testsuite does not pass. commit 3f8480f6a2b9674e904d1f50c1788bdf79b539bc Author: Peter TB Brett Date: Tue Jan 4 22:28:40 2011 +0000 gnetlist: Don't install `mk_verilog_syms' program. `mk_verilog_syms' totally undocumented, and is also only used for generating the symbols installed as the `verilog' symbol library. It doesn't need to be installed in the system $PATH. commit 8bef5cf39dce867509d77d9ab6794f17f27d2216 Author: Patrick Bernaud Date: Tue Jan 4 19:08:02 2011 +0100 gnetlist: Set Guile's program arguments from command line. Reviewed-by: Peter TB Brett commit f86eecd36a603fd3b51ce926de605bbdb3d6caaf Author: Patrick Bernaud Date: Tue Jan 4 19:07:57 2011 +0100 gnetlist: Translate 'gnetlist:get-slots/get-unique-slots' from C into Scheme. Reviewed-by: Peter TB Brett commit a0f88128241e9b8e5138ccf7bcc862b4f9ff638f Author: Peter TB Brett Date: Tue Jan 4 19:05:04 2011 +0000 gnetlist: Convert protelII test golden files to DOS line endings. Convert golden files that were missed in commit 007feece464d. commit 007feece464d1b07e45bfd66b5d9b07be5b77c00 Author: Peter TB Brett Date: Tue Jan 4 17:17:18 2011 +0000 gnetlist: Make protelII backend output Windows line-endings. [2902321] This removes the need to run `unix2dos' (or similar) on a gnetlist-generated netlist before loading into Protel. commit 91e46719dcf1722db86c527eebd3f32b696ce06b Author: أحمد المحمودي (Ahmed El-Mahmoudy) Date: Tue Jan 4 15:37:48 2011 +0000 gnetlist: Fix bashism in sch2eaglepos.sh [2999951] Note that even with #!/bin/bash the original code gave the error that 3 is an invalid file descriptor. commit b31c5728f430bd5e223b557cca9eeace74a563f1 Author: Richard Barlow Date: Tue Jan 4 15:37:48 2011 +0000 gnetlist: Handle hierarchy refdes correctly in partslist*. [3044478] When producing a part list with the partslist[1-3] backend the refdes values output to the file do not contain the prepended refdeses of the parent component. E.g. Master schematic with symbol 'S1' (representing sub-schematic) and a resistor 'R1' Sub-schematic containing resistor 'R1' The geda backend produces a netlist containing two resistors 'R1' and 'S1/R1', they're unique and everything is fine and dandy. The partslist[1-3] backends contain two components with the refdes 'R1' which then causes problems when processing this file further. This is caused by the partslist[1-3] backends adding the value of the refdes attribute to the file rather than the value returned by the 'packages' function. The supplied patch alters the backends to use the value from the packages function directly, rather than looking up the refdes attribute of the component. commit 2dc5ea4877955e55d57e59de3e2eaa0098171037 Author: Dan McMahill Date: Tue Jan 4 15:37:47 2011 +0000 Use @builddir@ instead of $(builddir) because versions of automake before 1.10 didn't define it. Should fix build problems noted by Stuart Brorson and John Griessen. commit 1e93f7bea2cbe0fa8887337c261093b55c31dd6d Author: Peter TB Brett Date: Mon Jan 3 23:07:25 2011 +0000 Revert "Remove some CVS keywords." This reverts commit f5ada1de1372bd3772b4f4bd33afa59803c1dade, which was pushed to the repository in error. commit f5ada1de1372bd3772b4f4bd33afa59803c1dade Author: Peter TB Brett Date: Tue Dec 21 12:37:10 2010 +0000 Remove some CVS keywords. commit 9a141d60f045c620ce647fa0efe522593f46880b Author: Clif Cox Date: Mon Jan 3 21:58:22 2011 +0000 gnetlist: Cleaned up several routines in spice-sdb. [3117075] Combine write-ic and write-subcircuit with a fix to the unbound type variable. Fully document a check for the special "?" value explaining why it fails silently. Clean up write-net-names-on-component to make it a bit more flexible. Combine write-probe-item and write-net-names-on-component. Add a range utility function. Reviewed-by: Peter TB Brett commit 746737d8bff55ce807b12d62b3a665f7843b5965 Author: Clif Cox Date: Sun Dec 26 23:08:11 2010 -0800 gnetlist: White space consistancy cleanup in spice-sdb. [3117075] Reviewed-by: Peter TB Brett commit fda647ce9ff7b57c465382c55a47304183766a0b Author: Patrick Bernaud Date: Mon Jan 3 09:55:19 2011 +0100 gnetlist: Silence warning in drc2 backend for multiple slot attributes. Slot attributes have different values across symbol instances of a same package. But 'gnetlist:get-package-attribute' does not like that. So the value has to get directly extracted from the list returned by 'gnetlist:get-all-package-attributes'. Reviewed-by: Peter TB Brett commit a834442e3296bb6a0331ae10610f302006b2c3ea Author: Patrick Bernaud Date: Mon Jan 3 09:55:13 2011 +0100 gnetlist: Add access to all attributes from components with multiple symbol instances. This commit introduces 'gnetlist:get-all-package-attributes' to retrieve every first attribute value for package consisting of multiple symbol instances. 'gnetlist:get-package-attribute' gets redefined to use the above procedure. To preserve backward compatibility, it returns the first value found in file order and warns when detecting different, possibly conflicting values. This behavior is configurable. Derived from patch #3071482, C code by Sebastian Gieltjes. Reviewed-by: Peter TB Brett commit 5ce6132459b30cd8c228c71797ea04b90e9018d9 Author: Patrick Bernaud Date: Sun Jan 2 18:19:29 2011 +0100 gnetlist: Fix memory leak in g_get_package_attribute(). Reviewed-by: Peter TB Brett commit d5860bb3620502efcea4185380a6945d0c5eab41 Author: John Doty Date: Sun Dec 12 19:29:46 2010 -0700 gnetlist: Refactor 'osmond' backend for simplicity. As I said on the chat, I've refactored gnet-osmond. Only four functions. The longest is five lines, the deepest is only three parentheses deep. No recursion needed. Much simpler than the original "cargo cult" version. Signed-off-by: Peter TB Brett commit f66597934bf8c88519396956637792533ba3a151 Author: Peter TB Brett Date: Sun Dec 12 08:14:06 2010 +0000 Don't use page_current in hierarchy traversal. With this patch, the only remaining functions in libgeda which care about the "current page" are: - o_get_page_compat() [deprecated] - s_page_goto() - s_page_delete() - s_page_delete_list() - s_toplevel_new() commit 0b94d2379a5bd5d14690f941690e0df761df13c9 Merge: 63cd6d7 a33839a Author: Peter TB Brett Date: Sun Dec 12 09:48:07 2010 +0000 Merge some changes from Peter Brett. Merge a series of more generally useful changes from Peter Brett's `guile-scheme-api' branch, most of which remove uses of TOPLEVEL.page_current from libgeda. commit 63cd6d754fce280800eac55c6cafa21888942f96 Author: Peter TB Brett Date: Sat Dec 11 00:59:33 2010 +0000 gnetlist: Fix some stack overflow problems in vipec backend. commit 972c793b9df047af5924609ae1038b411c3fd2f5 Author: Peter TB Brett Date: Sat Dec 11 01:09:05 2010 +0000 gnetlist: Fix some stack overflow problems in gnetlist core. commit 6f0827327fc951b3fd6e8d2fa9278103f4f0f626 Author: Peter TB Brett Date: Sat Dec 11 00:39:17 2010 +0000 gnetlist: Fix some stack overflow problems with vams backend. commit c73f2b33e05e5d0c8120871797fa0baa9edc02da Author: Peter TB Brett Date: Sat Dec 11 00:24:44 2010 +0000 gnetlist: Fix some stack overflow problems with spice backend. commit cd4a6d9bb44b7ebc5f55bd31af07d2110b99f850 Author: Peter TB Brett Date: Fri Dec 10 23:10:08 2010 +0000 gnetlist: Fix some stack overflow problems with drc2 backend. commit 0cc44928d36699cb04401db91719ae4a05b17c65 Author: Peter TB Brett Date: Fri Dec 10 22:39:37 2010 +0000 gnetlist: Add stack torture test. This exposes stack exhaustion failures in drc2, spice-sdb, spice, vams, and vipec backends. commit fc8bcac43b6f3dd611f6030ffe36465d67be379d Author: Peter TB Brett Date: Thu Nov 11 19:33:28 2010 +0000 scheme-api: Port legacy Scheme procedures in C to new smob system. Make all users of legacy Scheme smobs in libgeda use new Scheme smob system. This is a preliminary patch so that unit tests can be written to verify that functions ported to new API work the same way as the originals. commit a61805445c844b30f0e9de1c8003249fdedeee66 Author: Peter TB Brett Date: Tue Nov 2 10:38:29 2010 +0000 gnetlist: Use TOPLEVEL fluid. Modifies gnetlist to use edascm_c_current_toplevel() instead of a global variable to allow Scheme functions to access the global libgeda state. commit 3abdca2a4ee088184e976822c444069d67e20a20 Author: Peter TB Brett Date: Tue Nov 2 10:27:25 2010 +0000 libgeda: Add PAGE argument to file load/save functions. commit c26ed9d5b126f7e2b67285e465438aa9b5ee4ffd Author: Peter TB Brett Date: Tue Nov 2 10:27:23 2010 +0000 libgeda: Make g_read_file() take a TOPLEVEL argument. commit 9410bf545fce0db3bdeb4bee547d855b09c9c671 Author: أحمد المحمودي (Ahmed El-Mahmoudy) Date: Sun Oct 31 19:32:13 2010 +0000 gnetlist: Fix bashism in sch2eaglepos.sh [2999951] Note that even with #!/bin/bash the original code gave the error that 3 is an invalid file descriptor. commit e25d29875ecd1438926d0ec79279c177edcf99f0 Author: Richard Barlow Date: Sun Oct 31 19:21:34 2010 +0000 gnetlist: Handle hierarchy refdes correctly in partslist*. [3044478] When producing a part list with the partslist[1-3] backend the refdes values output to the file do not contain the prepended refdeses of the parent component. E.g. Master schematic with symbol 'S1' (representing sub-schematic) and a resistor 'R1' Sub-schematic containing resistor 'R1' The geda backend produces a netlist containing two resistors 'R1' and 'S1/R1', they're unique and everything is fine and dandy. The partslist[1-3] backends contain two components with the refdes 'R1' which then causes problems when processing this file further. This is caused by the partslist[1-3] backends adding the value of the refdes attribute to the file rather than the value returned by the 'packages' function. The supplied patch alters the backends to use the value from the packages function directly, rather than looking up the refdes attribute of the component. commit af272ebddf16808aa948378d269a1f5c19220754 Author: Sebastian Gieltjes Date: Sun Oct 31 19:04:39 2010 +0000 gnetlist: Modified commandline string generation [3071449] Every netlister is able to request the invoked commandline and now gets a valid string in return. Removed a debug output command. commit 8d05ef23b0bb7675d95362e539f3cae730c0a268 Author: Carlos Nieves Onega Date: Sat Oct 2 01:15:55 2010 +0200 Do drc-matrix lower triangular instead of simetric. Applied patch from Karl Hammar. Since drc-matrix is simetric (connection a->b is the same as connection b-> a), do drc-matrix lower triangular and let get-drc-matrixelement swap row/column if row < column. drc2:is_simetric-drc-matrix check can now be removed. commit 7de00720bc4ca441deca49bdee6597c3f8ca1331 Author: Dan McMahill Date: Mon Apr 12 20:29:14 2010 -0400 Use @builddir@ instead of $(builddir) because versions of automake before 1.10 didn't define it. Should fix build problems noted by Stuart Brorson and John Griessen. commit 7bf44da290d1a3a6761b60739b4ce3561ad0c152 Author: Stuart Brorson Date: Sat Apr 3 14:47:58 2010 -0500 Apply patch from agaran, which implements probes in spice-sdb. commit 0e5defe4871370a93c6ccb8bbf4a10e5df098884 Author: Ales Hvezda Date: Sun Feb 14 21:26:37 2010 -0500 Updated man page dates (cherry picked from commit 11921dc18209ed4ea12288114634bb94a5b9b8a9) (from stable-1.6) commit c31d9a1a90db32dd1e1d41f9d3d5ef5888424ba1 Author: Ales Hvezda Date: Sun Feb 14 17:09:45 2010 -0500 Updated copyright text/header in most source files. Updated all copyright text dates that should be updated for the new year. Fixed a bunch of GNU text typos (these should have been either GPL or gEDA). Removed some $Id$ tags which are no longer used/needed. Fixed a few file header that were just plain incorrect. (cherry picked from commit bd34cfde2450790b357e574281f9562adce64303) (from stable-1.6 branch) commit 11921dc18209ed4ea12288114634bb94a5b9b8a9 Author: Ales Hvezda Date: Sun Feb 14 21:26:37 2010 -0500 Updated man page dates commit bd34cfde2450790b357e574281f9562adce64303 Author: Ales Hvezda Date: Sun Feb 14 17:09:45 2010 -0500 Updated copyright text/header in most source files. Updated all copyright text dates that should be updated for the new year. Fixed a bunch of GNU text typos (these should have been either GPL or gEDA). Removed some $Id$ tags which are no longer used/needed. Fixed a few file header that were just plain incorrect. commit c603cb9f75068837eb8f5a309f590fb3d8e5156e Author: أحمد المحمودي (Ahmed El-Mahmoudy) Date: Fri Nov 20 16:23:15 2009 +0000 Fix for some manpage issues. [2901183] Fixes undefined use of `l' macro, and incorrect uses of `-' character. (cherry picked from commit 93dd5a941f34d1dd58cf9a57a07dec1e01ce3afe) commit 03acdbfaadaa35d11cf510ea4651b47584178514 Author: Peter Brett Date: Sat Jan 30 13:37:17 2010 +0000 Clean up some left-over font directory cruft. commit 93dd5a941f34d1dd58cf9a57a07dec1e01ce3afe Author: أحمد المحمودي (Ahmed El-Mahmoudy) Date: Fri Nov 20 16:23:15 2009 +0000 Fix for some manpage issues. [2901183] Fixes undefined use of `l' macro, and incorrect uses of `-' character. commit 858982a2a05ff3e128de3621f1d301ecd989f35c Author: Gareth Edwards Date: Fri Nov 20 06:39:59 2009 +0000 Changed message on failure to generate doxygen docs If --enable-doxygen was not a configure flag, change the error message on an attempt to build doxygen documentation to suggest the configure flag was the cause of the failure rather than the lack of a doxygen install itself. commit 1248c66c7973f8d3835f6107d3f1ed9c5c880b43 Author: Gareth Edwards Date: Fri Nov 20 06:39:59 2009 +0000 Added doxygen targets to remaining applications. commit 3fd50335ddfe0ed7f358d46a0fba23bff25073e6 Author: Ales Hvezda Date: Sun Oct 4 21:23:05 2009 -0400 Updated date and version in all man pages commit 45002f0be0efb9638bcb96e67bbd1e5d3cd602c6 Author: Ales Hvezda Date: Sun Aug 30 19:26:36 2009 -0400 Updated all manpage versions in prep for a new release (v1.5.4) commit b0fa7dd7839915703d9101006bed1c7305477e30 Author: Ales Hvezda Date: Sat Aug 29 16:51:44 2009 -0400 Updated the versions of the software in all man pages commit e869033324d7595cc11d42007109a605823e1640 Author: Peter Clifton Date: Mon Aug 17 12:01:24 2009 +0100 gnetlist: Fix problem with attached net attribute not being honored. Bug tracked down and fix proposed by Robert Fitzsimons. Seems to be an artifact introduced by the change to use the new attrib API (b4996e267b5d9696f7e8122c40b31482ef852904). Signed-off-by: Peter Clifton Tested-by: Robert Fitzsimons commit ff6ea4955d0490d6436bc74d840325e76098304f Author: Peter TB Brett Date: Thu Aug 13 07:56:57 2009 +0100 build-sys: Don't use AC_HEADER_DIRENT. The Autoconf manual says that AC_HEADER_DIRENT is now unnecessary: This macro is obsolescent, as all current systems with directory libraries have `dirent.h'. New programs need not use this macro. This patch removes AC_HEADER_DIRENT and all checks for HAVE_DIRENT_H. It turned out that in most of the places where `dirent.h' was being #include'd it wasn't needed anyway. (Fix for a Cygwin build bug reported by Dan McMahill). commit cf772193f3042184e5ca624cc7b1e8daef6f4a53 Author: Peter TB Brett Date: Thu Aug 13 06:43:16 2009 +0100 build-sys: Improve HTML conversion rules. We want to make sure the HTML version of the man pages is always distributed, but make building/installing it optional (in case users don't have a proper groff installed). This can be achieved by making sure that Automake only tries to install the HTML man pages if a working groff is available. In addition, `make distcheck' is set up to behave as if groff is not installed. Unfortunately, this still isn't ideal, because users who build from a source archive (with pre-built HTML) won't get HTML installed unless they have a working groff. In the long run, what needs to happen is to use a mechanism like `missing' to handle rebuilding of HTML man pages -- or just drop HTML man pages altogether. commit 98fc06c271432b9f59ca49865b8ca9dbe844b9de Author: Ales Hvezda Date: Sat Aug 8 00:44:40 2009 -0400 More Makefile.am cleanup Details on this commit: * Removed even more trace of the old prototype mechanism from the Makefiles. * Removed the cleanup of configure scripts which are no longer there (or for that matter were never in the same directory as some of these Makefiles). * Removal of some files from the *CLEANFILES rules which never existed. * Line length tweaks and fixes commit 4866b0224a471a2b1cf5ee5e9043d1eba5b89d61 Author: Ales Hvezda Date: Sat Aug 8 00:24:35 2009 -0400 Added some of the doc support files to EXTRA_DIST Some of these newer doxygen files still need some Makefile infrastructure, but at least they will be distributed as part of the gEDA-geda tarball. commit a4a8c19bb3389548d641a0874a77c77f623ad7a5 Author: Ales Hvezda Date: Fri Aug 7 23:02:01 2009 -0400 Makefile.am cleanup (removal of ChangeLog and Makefile.in files) Details on this commit: * Now that we are no longer storing machine generated ChangeLogs inside the git repository, make maintainer-clean should remove the machine generated ChangeLogs. This way nobody accidently edits the ChangeLog. Only 7 ChangeLogs are left after a make maintainer-clean (intl, po, and one toplevel ChangeLog). * Some directories were missing the removal of Makefile.in when make maintainer-clean is run. Only 3 Makefile.in files remain now after make maintainer-clean (only in the intl directories). * Removed $Id$ tags from some of the Makefiles since we are no longer using CVS. * Removed some unnecessary ChangeLogs from ever being created (from example/gTAG gschem/scripts, and symbol/font). Note 1: There are still some machine generated files still hanging around, but I'm going to leave those alone for now as the .gitignore mechanism properly masks those. Note 2: Made sure that all files that are to be removed in the *CLEANFILES lists comes before the #*# otherwise they will be ignored. commit 33847dd773fbe332c154fcc1a82e5fdd7c2201c4 Author: Ales Hvezda Date: Fri Aug 7 22:07:45 2009 -0400 Removed all trace of the prototype.h creation mechanism plus other removal The old prototype.h creation mechanism hasn't been used in years and now has been fully removed. Also removed common/outputs/Makefile.am since it no longer used either. commit fb5b8305674f2d96586424851e9cc18878c06505 Author: Ales Hvezda Date: Fri Aug 7 21:45:46 2009 -0400 Oops. Accidentally added gnet-PCBboard.scm back when it was removed explicitly. The PCBboard backend was explicitly removed in commit: ca91e1be91ae1d0c0b4bbfddf814309be09e84b2 Removed the actual gnet-PCBboard.scm.in file now, so that nobody else wonders what is up with this file. commit 1a3b04db4b811a853b9d2d7c5c57038f2146f919 Author: Ales Hvezda Date: Fri Aug 7 21:21:22 2009 -0400 Added a bunch of files that should be included in any distribution The only file which I might want to not distribute is update-version.sh, which technically is a developer/maintainer only file, but for now I'll include it. Also libgeda/docs/images isn't integrated into the build properly yet, so it will not be in the distribution for now. commit 35796a78cdab838a29e763480ad81f0ac53326c8 Author: Ales Hvezda Date: Fri Aug 7 20:51:02 2009 -0400 Oops forgot to add the cleanup of gnetlistrc commit 193f4af0a269e627b6a6a45a71ba57e7a5525e73 Author: Ales Hvezda Date: Fri Aug 7 20:47:13 2009 -0400 Cleaned up the gnetlistrc after make check completes Also made sure that any randomly hanging around gnetlistrc is cleaned up when the various make clean commands are executed. commit 62c9f5557f759b75aab6cc6f3b8bd1c1e8f4c70a Author: Ales Hvezda Date: Fri Aug 7 20:31:37 2009 -0400 Fixed gnetlist/tests to pass a simple make check The gnetlistrc file was renamed and copied appropriately so that it isn't overriden when the vhdl test runs. Also force the copy to be consistent with the gnetlistrc.vhdl copy. commit d4ebb75eafabaa45b354d3994fa5ca8f419ee18f Author: Ales Hvezda Date: Fri Aug 7 20:16:14 2009 -0400 MAINTAINERCLEANFILES tweaks to remove some of the machine generated files There are a whole bunch of other machine generated files which should probably also be removed, but those can be addressed in a later commit. commit 803b0190f3a3d72bffe181f74c6269fa01950500 Author: Peter TB Brett Date: Fri Aug 7 09:42:40 2009 +0100 gnetlist: Tell tests how to find uninstalled files. Tell test how to find the symbols and config files they need without installing them. Mostly horrible hacks: - gnetlistrc files were added to every test directory to explicitly load the component libraries required by the test. - The GEDADATARC environment variable was set to allow the tests to load the appropriate system-rc file. Unfortunately, it wasn't possible to get the tests to load system-gafrc. - Some careful choices of whether to use ${srcdir} or ${builddir}. With this commit, make distcheck once again passes. commit fc2b205314545d92ea2a7e8f40a7a4c7d5af893d Author: Peter TB Brett Date: Thu Aug 6 17:15:29 2009 +0100 Don't store git-generated ChangeLog files in repository. Don't store ChangeLog files in the git repository and have to remember to update them each time a release is made. Instead, get `make dist' to create the ChangeLogs for you if a git repository is detected. Note: make distcheck does not pass in this commit. commit 77d96e9154d9cfc81b25353ef99b8f8f42999bfb Author: Peter TB Brett Date: Thu Aug 6 14:35:12 2009 +0100 Add top-level NEWS file. This contains important user-visible changes. It should be kept up-to-date, in order to make writing release notes easier. commit 09fcc6d689defb8f43bfc27aac87ee4ac34ce66a Author: Peter TB Brett Date: Thu Aug 6 12:33:07 2009 +0100 Update top-level README file. Well, actually rewrite it entirely. Note: make distcheck does not pass in this commit. commit 433c672579aabb282999377139c9242b319ba044 Author: Peter TB Brett Date: Thu Aug 6 12:38:31 2009 +0100 Only need a single `AUTHORS' file. Move the gschem one to the toplevel (adding several missing names on the way), and remove most of the others. The `AUTHORS' files in the `symbols' and `utils' directories are retained, because they contain some useful information. Note: make distcheck does not pass in this commit. commit ed7134fd403b9f1dc0a75d50e4e7bcfb2fd95cb8 Author: Peter TB Brett Date: Thu Aug 6 11:19:57 2009 +0100 Only need one copy of GPLv2. Also, update to latest version of GPLv2 (from http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt). This corrects the FSF contact address, along with some minor formatting modernisations. Note: make distcheck does not pass in this commit. commit a3386972e29cad042a9875743df8d4331b7d9d08 Author: Peter TB Brett Date: Thu Aug 6 21:15:25 2009 +0100 Add gnetlist to unified build system. Note: make distcheck does not pass in this commit. commit e55e9e247eb33c4a5be56687b4610c6649ef74d7 Author: Peter TB Brett Date: Tue Aug 4 22:06:16 2009 +0100 Remove existing build infrastructure. This simply strips out all configure, m4 and autogen scripts from the whole repository, including the toplevel Makefile. This commit does not compile (what a surprise)! commit 50854a890f67baa5194b470b14f7ee17051d0393 Author: Peter TB Brett Date: Fri Aug 7 09:32:32 2009 +0100 gnetlist: Use sane (but uninformative) defaults for config variables. This stops gnetlist from complaining and calling exit(-1) if system-gnetlistrc wasn't loaded. The defaults used are the same as the default settings in system-gnetlistrc, according to the principle of least surprise. commit 89684e7fb17efa69e0fa897de31219e5a82ba414 Author: Peter TB Brett Date: Fri Aug 7 22:03:16 2009 +0100 gnetlist: Correctly copy golden files to distdir. This bug was introduced in 1c8b245984, which didn't correctly account for out-of-sourcedir builds of the distribution archive. commit f23c623d63138a29ef849666942837d42ed3c9dc Author: Peter TB Brett Date: Thu Aug 6 08:39:00 2009 +0100 gnetlist: Clean up correctly after `hierarchy' tests. The current mechanism fails distcheck with multithreaded make due to the configuration files not being deleted correctly (race condition). commit 39c97a1fba873ce706754714a58f854e41c96622 Author: Uwe Hermann Date: Wed Aug 5 00:08:58 2009 +0200 Fix cosmetic issues, typos, etc. in gnetlist. commit 4e5fe4331c8b245984e66798932418c59af8d064 Author: Peter TB Brett Date: Mon Aug 3 22:40:44 2009 +0100 gnetlist: Recursive make less recursively. 1. The gnetlist testsuite uses a large number of almost-identical directories which each contain a predictably-named set of result files. In the past, each of these directories have included their own Makefile.am. By using a `dist-hook' rule in gnetlist/tests/common/Makefile.am, all of these Makefiles can be removed. 2. Several directories similarly use a Makefile.am with an EXTRA_DIST rule for only a handful of files. If this information is added to a higher-level directory, several recursive Makefiles can be removed. Reducing the number of Makefiles that need to be recursively processed saves time during automake invocation, during configuration and at compile-time. commit 8720d6b66941f51df7a45244de65cb0993e699ab Author: Bert Timmerman Date: Tue Jul 28 17:51:56 2009 +0200 gnetlist: Ignore output generated by Doxygen. commit a601a60d7650b12e039014de5e11ba9bcd9aeca6 Author: Bert Timmerman Date: Tue Jul 28 19:02:03 2009 +0200 gnetlist: Generate consistent style Doxygen documentation. Follow the documentation style as with gschem and libgeda. commit 055db3fd1f3acb07df92f2fadd4f3b4d093937f8 Author: Peter TB Brett Date: Mon Jul 20 18:33:09 2009 +0100 gsch2pcb is not experimental anymore. So we don't need to scream about it being EXPERIMENTAL!!!!!!1111oneone and possibly put new users off it. commit 82c4e182c71d8a4fb9584b059a2f3215f6438cfe Author: Peter TB Brett Date: Mon Jul 20 18:12:25 2009 +0100 Reduce stderr spew. It's not necessary to spew massive amounts of output to stderr on startup. It's ugly and not legally necessary. This patch modifies the tools only to spew a GPL header to stderr when entering gnetlist's interactive mode -- and to be nice and quiet the rest of the time. commit 7d719ebe1767d2ba802174fb172f0e1a896a857b Author: Jared Casper Date: Sun Jul 19 08:44:29 2009 +0100 Quote pins names if they contain comma or close parenthesis. [2823703] A comma or close parenthesis will cause problems with the pcb action script, so if one of the arguments to ChangePinName contains one it should be quoted. Any quote characters within the argument are escaped. Right now it only quotes if there is a comma or close parenthesis. We could just quote all pin names to future proof it against more special characters in the action argument, but this seems less intrusive and doesn't affect those without a new pcb that accepts quotes in the arguments. (Minor formatting changes and addition of comments made by Peter B prior to committing). commit 605ace65a691d3960e258a9b52fa940be3517448 Author: Peter TB Brett Date: Sun Jul 19 07:44:32 2009 +0100 gnetlist: Fix DEBUG builds. [2823755] Fix a bug in s_traverse.c where defining DEBUG broke the build. This patch simply removes the offending #ifdef'd code. Thanks to Kai-Martin Knaak for the bug report. commit ca91e1be91ae1d0c0b4bbfddf814309be09e84b2 Author: Dan McMahill Date: Wed Jul 1 22:26:06 2009 -0400 Remove gschem2pcb and the PCBboard gnetlist backend. gschem2pcb is the old script which has long since been replaced with gsch2pcb. The PCBboard gnetlist backend was only used by gschem2pcb and has been superceded by the gsch2pcb gnetlist backend. This removes a lot of duplicated and no-longer-maintained code and hopefully removes a new user pitfall (using gschem2pcb instead of gsch2pcb). commit 0be6e3a9612de6b36ab5e3a734af2b9fbb042efd Author: Dan McMahill Date: Tue Jun 30 18:07:36 2009 -0400 Add a -d | --debug option that preserves the run directory. This helps with testing/debugging because it allows an easy creation of a scratch directory for running gnetlist. commit 6d935086d2997cbb2877a0107e3481e7033fdf99 Author: Dan McMahill Date: Tue Jun 30 18:03:43 2009 -0400 Allow user configuration of the pcb m4 program and directories via gafrc. Allow user configuration of the pcb m4 program and directories via gafrc. Besides allowing for additional runtime control by users, this provides a mechanism that the testsuite can use to focus on testing gnetlist and not testing changes in pcb's footprint library. The testsuite now uses cat - >> outputfile Instead of feeding the gnetlist output through m4 before comparing to our reference. This lets us test only the part gnetlist controls. commit 374018276325d7d9efa42fb060ccb3cfc58be397 Merge: 2f8006b 64cdf2b Author: Dan McMahill Date: Wed Jun 24 18:27:39 2009 -0400 Merge branch 'master' of ssh://dan@git.gpleda.org/home/git/gaf commit 2f8006bf63db3e4d7f4e90b7730c627a506eaae4 Author: Dan McMahill Date: Wed Jun 24 18:22:38 2009 -0400 Fix the testsuite when building outside the source tree. Since gnetlist currently only looks in a single directory for scheme files and since some of our scheme files are generated at build time we need to copy over the other source .scm files to the build directory for the testsuite to run. Longer term, we should either a) consolidate all of the testsuite into a single master script that starts by merging all the scheme files into a single directory or b) teach gnetlist to have a scheme search path. Even with this, testsuite consolidation would be good. commit a8d4c630292368994eddcc4d2320db0298d6062a Author: Peter TB Brett Date: Tue Jun 23 10:47:03 2009 +0100 gnetlist: Remove some uses of SCM_STRING_CHARS. This is required to get gnetlist's `make check' to work on recent releases of Guile 1.8. commit 5f52ce5d7f4be7ee1eb2246b896135d01fb320c0 Author: Peter Clifton Date: Mon Jun 22 10:50:36 2009 +0100 Rename OBJECT->complex_parent field to OBJECT->parent We might wish to track the ownership of text prim_objs as well as complex, so calling this field complex_parent is confusing. commit b8c503e7b1bfa7b797abac53d073ceab4779fbb1 Author: Peter TB Brett Date: Fri Jun 12 00:39:31 2009 +0100 Don't recommend drc2 every time gnetlist runs. On Thursday 11 June 2009 17:48:48 John Doty wrote: > drc2 has a very narrow view of how the world works. If you are doing > a pure digital design using a single logic family using hidden power > pins, it's not *too* bad. But generally, it hides real errors behind > a flood of messages about things that aren't errors at all. gEDA is > much more flexible than drc2 understands. It's generally only useful > if you've learned to find the few real issues in the flood. > > DEVELOPERS: > > WHY DO WE RECOMMEND THIS FLAWED, NARROW, EXPERT TOOL, REPEATEDLY AND > OBNOXIOUSLY, TO ALL WHO USE GNETLIST, EVERY TIME THEY USE IT? commit 67aeb9b999d29080118a7af899ad1de362ccd2b8 Author: Peter Clifton Date: Mon Jun 8 23:31:22 2009 +0100 Fix autogen.sh scripts to look for AC_CONFIG_HEADER to run autoheader Since commit #9a7c363c572d32a30fa1522cd7d14b21c2958ca8, the configure scripts in gEDA use AC_CONFIG_HEADER, not AM_CONFIG_HEADER Fixes build problems noted by various users. Identified by Dan McMahill. commit 61f488315da15d0be48acbe65ee9c1bf69c60e03 Author: Peter TB Brett Date: Mon Jun 8 10:57:32 2009 +0100 Require GLib 2.12.0 or newer. We now require GTK+ 2.10.0, and since that requires GLib 2.12.0, we can bump the GLib version we require up to match. Thanks to Peter Clifton for spotting this. commit 9a7c363c572d32a30fa1522cd7d14b21c2958ca8 Author: Peter TB Brett Date: Mon Jun 8 10:48:25 2009 +0100 Use AC_CONFIG_HEADER instead of AM_CONFIG_HEADER. This fixes an issue with config.h.in not being correctly regenerated with autoheader on changes to configure.ac. Thanks to Maciej Pijanka for working out the solution to this problem! commit 209e55a6a0ab33478cea41c154be64d7ec0620ea Author: Peter TB Brett Date: Sun Jun 7 19:34:30 2009 +0100 Require GTK+ 2.10 or newer. commit d5e06e6ee657f80d1cb8d82884122ac958e9d3a4 Author: Peter TB Brett Date: Sun Jun 7 19:34:30 2009 +0100 Remove Guile 1.6 support. commit b4862c3c120c8144f47393333e2e6bec2f302bc7 Author: Peter TB Brett Date: Sun Jun 7 19:34:29 2009 +0100 Require Guile 1.8.0 or newer. Guile 1.8 became the stable branch of Guile on 2006-02-12, over three *years* ago. All major distributions ship it, including Debian stable. Expecting its availability makes testing of new Scheme-based features much easier, as most gEDA developers normally write and test code against 1.8. Furthermore, it allows better advantage to be taken of 1.8-only features (such as improvements in debugging support), without requiring vast swathes of hard-to-maintain preprocessor trickery. commit 9686b31bc86c7e57a26bad0c65e21b97ed713e5b Author: Peter Clifton Date: Sat Jun 6 10:38:58 2009 +0100 Make o_attrib_get_name_value() take an attrib OBJECT, not char * Rename the old function as exported API o_attrib_string_get_name_value(), so existing code (such as validating potential attribute strings) can still work unaltered. The new o_attrib_get_name_value() wraps o_attrib_string_get_name_value(). commit aa7b65e3a1cc59eadf247ed0fe74afeaeb7c5fe3 Author: Peter Clifton Date: Sat Jun 6 01:47:43 2009 +0100 Make use of the new API o_attrib_search_attached_attribs_by_name() commit 04a22009e68284327bdb57bf7c31e5788b0bfc67 Author: Peter Clifton Date: Sat Jun 6 01:44:19 2009 +0100 Make use of new API o_attrib_search_inherited_attribs_by_name() Replaces the less specific API, o_attrib_search_name() previously used to search for floating attributes inside complex objects. commit 33b113b078e9647d7304b4c2caa04da1dd367e4f Author: Peter Clifton Date: Sat Jun 6 01:34:53 2009 +0100 Use o_attrib_search_object_attribs_by_name() where appropriate commit b4996e267b5d9696f7e8122c40b31482ef852904 Author: Peter Clifton Date: Sat Jun 6 01:32:38 2009 +0100 gnetlist: Use new attrib API for s_netattrib_{handle,net_search}() Also tidy up the function implementation somewhat. commit 52fc6981d5dc91cb08e3314d5b77bdb7505418ba Author: Peter Clifton Date: Sat Jun 6 01:32:34 2009 +0100 Remove o_attrib_search_string_list() and o_attrib_search_string_single() Reworked the one remaining caller of these functions to use o_complex_find_pin_by_attribute(), which utilises the newer APIs. commit 58859ac33ddd97e1cb7aa6eeaff832d3ed87c725 Author: Peter Clifton Date: Sat Jun 6 01:32:27 2009 +0100 Replace o_complex_return_pin() with new o_complex_find_pin_by_attribute() Implement a more generic version of o_complex_return_pin(). The old function takes a pinnumber as its argument, and finds a pin which has a matching "pinnumber=..." attribute. The new function takes an explicit attribute name argument as well as the value, so we can find pins by any attached attribute. This is useful so we can search by "pinseq=..." attributes as well. commit 8a2e32035cdac22ca6d355560bb9fdf935a99af8 Author: Peter Clifton Date: Sat Jun 6 01:29:17 2009 +0100 Move logic of function o_attrib_search_toplevel_all() to its one caller This function was only used in one place, and probably didn't deserve its own API in libgeda. The function it is called from is not used anyway, so could probably be removed completely at some point. (Although it forms part of the scheme API for gnetlist, comments above it suggest that it is "still highly temp and doesn't work right"). It is not requied by any known (shipped) gnetlist backends. commit ca55a937a7f865e851e8352e7c80005b1d94f36f Author: Peter Clifton Date: Sat Jun 6 01:28:47 2009 +0100 Remove o_attrib_search_component() in favour of the new API Calling o_attrib_search_object_attribs_by_name() with a count parameter of 0 is functionally identical. commit 989908d06ad71c2cc883e32b23f61a34200f1b98 Author: Dan McMahill Date: Fri Jun 5 10:17:22 2009 -0400 Point at the correct gnetlist and scheme files for all tests. When running the tests, point at the not-yet-installed scheme files. This lets 'make check' test out what you just built instead of something that is installed that may be sorely out of date. Point at the locally built but perhaps not yet installed gnetlist when running 'make check'. This helps make sure we are testing the right gnetlist. While here also improve the shell portability a little by using FOO=value export FOO instead of export FOO=value which is not quite as portable. commit ab590ab70cddfe6a0954d56a31c0ebd1f0bc7691 Author: Ales Hvezda Date: Sat Mar 28 15:55:19 2009 -0400 Updated ChangeLogs one more time for 1.5.2 commit 546d4dbe0124d3f9421116b9e5a8889cccf97b84 Author: Ales Hvezda Date: Sat Mar 28 15:22:19 2009 -0400 Updated all ChangeLogs Updated the ChangeLogs by running: ./update-changelogs.sh 1.0-20070526..master in the toplevel directory commit 21e8c0b232e08927fd091a1d46413990b4c61358 Author: Ales Hvezda Date: Sat Mar 28 15:18:34 2009 -0400 Updated all dates in the relavent man pages (for 1.5.2.20090328) commit 859abe69912ba99ca27bb58c378284e9eec56259 Author: Ales Hvezda Date: Sat Mar 28 15:13:59 2009 -0400 Updated all versions to 1.5.2 20090328 36:0:0 Updated by running: ./update-versions.sh 1.5.2 20090328 36:0:0 commit c3081930ed224394f645de4bfb51e86fa3e15e65 Author: Peter Clifton Date: Fri Feb 20 23:26:12 2009 +0000 Remove obsolete references to libgd and libgdgeda commit 3c0d85eae92d5764aa7dee2899c6a066c3470ee3 Author: Peter TB Brett Date: Wed Jan 21 14:11:39 2009 +0000 Write logs to $HOME/.gEDA/logs/. Rewrite s_log_init() to put log files in a centralised location. A user application (e.g. gnetlist) provides a prefix, and log file is opened at: $HOME/.gEDA/logs/--.log [1] The serial is found by the following procedure: 1. Read through the directory to find the highest existing . 2. Starting with that number, repeatedly attempt to open() incrementing files with O_CREAT|O_EXCL flags to guarantee that a new file is created. 3. If after LOG_OPEN_ATTEMPTS = 5 attempts a unique filename hasn't been found, fail. The logic *intentionally* does not fill in gaps in the sequence -- if I delete logs, I still want a new log to appear at the end of the list. [1] The actual location is a subdirectory "logs" of the user config directory, which may not be ~/.gEDA on all platforms. commit fda82eb96e2c785efe91fd59d01f6e7e26b897ed Author: Peter TB Brett Date: Sun Jan 18 01:48:58 2009 +0000 Protect some strings passed to pkgconfig. Ensure that pkgconfig version requirement strings are protected from M4 expansion. commit ee250c9bd2e88bf352a03d1719603b7d54fe430c Author: Peter Clifton Date: Tue Jan 13 23:58:30 2009 +0000 Avoid underlinking of apps due to missing explicit depends These went unnoticed because the apps were resolving the necessary symbols when pulling in libgeda and its dependencies. Fix applications using GLib and guile within the suite to explicitly pull in the appropriate CFLAGS and LIBS. This commit removes some LDFLAGS and LIBS from grenum, since they weren't being used. commit 75d03b030f4e3e491710a409bbcf18cc4a16f300 Author: Peter Clifton Date: Sat Jan 10 23:26:28 2009 +0000 Remove executable permissions from some data-files in the repository commit 1645fda42758a837c7ccf1efd32fd3b484e22421 Author: Peter Clifton Date: Sat Jan 10 22:17:44 2009 +0000 Remove unused GTK dependencies from text-based tools commit a344ff9c33b9bbb7b1a622b70dcedf393e1de09a Author: Peter Clifton Date: Sat Jan 10 20:41:43 2009 +0000 Remove some unused Gdk* typed variables from globals.[ch] across the suite commit 42a5bebc27f842b1955d9626f2521eea124259a0 Author: Peter Clifton Date: Fri Jan 9 01:04:14 2009 +0000 gnetlist: Teach netlist traversal code to understand buses (still disabled) Up until recently, the connection scanning code has rejected some, but not all buses. This means that it is unlikely graphical buses formed a useful part of anyone's design, since the netlist code in s_traverse_net() would not follow connections to another bus segment. The only possible bus-pin connectivity has ever been "pin-bus-pin", or "pin-bus-net-...". This behaviour appears to have been accidental, and would not have been easy for a user to take advantage of. The traversal code would not move on to a subsequent bus, but would, for example, allow a pin->bus->!bus connection, which could then connect onwards. The bus mixed up in this would for all intents and purposes behave as a net. The pin->bus validity bug was actually fixed in libgeda when adding support for bus pins. This commit formalises it further, since if support for netlisting bus pins were enabled it would otherwise still be possible to get a buspin-bus-net-... connection if you tried hard. Introduce type-checking between pins, nets and buses such that they can not netlist where the object types don't match. For buses, the code to name a connection based on "netname", "net" or "label" attributes is disabled - pending decision as to what constructs we wish to use for naming buses. Add a gnetlistrc setting (unnamed-busname ...) which sets the default naming (if the connection scanning code were run on bus pins). This commit lays some of the ground work for shared connection scanning code for determining the connectivity of buses and bus pins. commit a838dece88323eb782b0ac301c5825ed693fbf0f Author: Peter Clifton Date: Fri Jan 9 00:57:40 2009 +0000 gnetlist: Disable traversal of bus pins when checking connectivity. We don't want graphical buses to be netlisted at present. Currently their output (although not correct connectivity in all but simple cases) can get muddled up with the normal netlist fed to backends. commit d18bfe1738347a1546f5bf1dd5011fb796176de1 Author: Peter Clifton Date: Thu Jan 8 23:05:32 2009 +0000 gnetlist: Refactor s_traverse_component() and s_traverse_net() slightly. Removes some duplicated code by not special-casing the first level of recursion when tracing out connections. The only outward change from this commit should be that nets / pins found immediately connected to a pin being inspected get their "n" or "P" print in the verbose debugging output. (One of the codepaths being consolidated didn't have them before). Unconneced pins no longer get a "p" print, since the traversal code isn't executed for them. commit 2d888258d954c993aa03e4a1beb7b03e62df4d95 Author: Peter Clifton Date: Thu Jan 8 00:45:28 2009 +0000 gnetlist: Avoid depending on GHashTable ordering for output consistency If the GLib hash table changes (which it has in late versions of GLib), the netlist output ordering changes due to our mis-use of GHashTable to list all unique component names without enforcing any eplicit order on the enumeration of the hash table contents. Since ordering may be important to backends, want to have known output ordering whilst removing duplicate entrys, but without an explicit sort of the refdes list. This commit introduces an incremental build of the list, first checking the hash table for a hit, and only adding the new refdes if it wasn't already in the has table. This is gives the output a predictable order (based on the input), rather than inserting all refdes into the hash table, and building the list in whatever order the table implentation traverses them in. This change does unfortunately means a large number or ordering related changes are also made in the gnetlist test suite's golden files. There are also some non-ordering changes in the checked in golden files. These is encountered in the pretty well obsolete PCBboard backend - which errors out when it hits certain components it can't find footprints for. Changing the ordering changes the point at which it dies, and thus the netlist output. Lets just accept these changes as is. commit d57fcbf52893127f5a37656f65c6f076c6d51470 Author: Maciej Pijanka Date: Thu Jan 8 00:33:25 2009 +0000 gnetlist: Fix test/hierarchy*/Makefile.am to detect failures Unfortunately the exit code weren't getting propagated back from diff, so the test-suite would continue on inspite of errors. commit d7b7b23721b4054172587c9961d4b87f47bee198 Author: Peter Clifton Date: Wed Dec 31 17:26:03 2008 +0000 libgeda: Remove non-private access of PAGE->object_list This allows us to keep better track of where the PAGE must be updated should we have any spatially keyed data-structures in the future. Rename PAGE->object_list PAGE->_object_list to try and discorage any use of it outside libgeda (ideally, outside s_page.c) in the future. commit ca6556ace0a06ec1dd697852f7a1f0ffb86bfb97 Author: Peter Clifton Date: Wed Dec 31 17:25:57 2008 +0000 Add "const" to some places where we deal with GLists of OBJECTs. These GLists themselves are not (and shouldn't be) modified, although the OBJECTs they point at may well be. commit 714580df3fee12732d5e1180722f008a47aaf973 Author: Peter Clifton Date: Fri Dec 26 21:53:42 2008 +0000 gschem: Don't define key-bindings for keys which have no-action If we do this, then when we set "no-action" to a menu item's key binding, the code will try to display one of the keys associated with "no-action" as a binding for that menu item. commit 3c49636e1a9e9e703fab4c6aafc69affb4fd2bab Author: Ales Hvezda Date: Sun Dec 21 16:23:26 2008 -0500 Updated ChangeLogs one more time. commit 2f3e07a1fa7fd92ab163d2cd966efd98ab306512 Author: Ales Hvezda Date: Sun Dec 21 14:40:21 2008 -0500 Updated ChangeLogs again in prep for the 1.5.1 release commit 76d02f7f935d930d8093bd49b7eb0836d3b1aa6e Author: Ales Hvezda Date: Sun Dec 21 14:06:17 2008 -0500 Updated all ChangeLogs in prep for the 1.5.1 release. The update was done by running: ./update-changelogs.sh 1.0-20070526..master commit 680e08085d44c9876bdadef0ca7ef25b474c2006 Author: Ales Hvezda Date: Sun Dec 21 13:39:29 2008 -0500 Updated all versions to 1.5.1 20081221 35:0:0 Updated by running: ./update-versions.sh 1.5.1 20081221 35:0:0 commit 4f9f4336a123f91318ec2d1ffd8e9739eb756348 Author: Ales Hvezda Date: Sun Dec 21 13:10:23 2008 -0500 Updated dates and versions in all man pages commit d8cc920d932f1557f3d93da6abd1d99e690f39ef Author: Peter TB Brett Date: Sat Dec 20 21:47:12 2008 +0000 gnetlist: Optimise connection traversal algorithm Increase performance for traversing schematic connections by optimising tracking of how many times objects have been visited. commit 8b171391d26ee79ecccff732ff9ccb257460b815 Author: Ales Hvezda Date: Sat Dec 20 16:06:27 2008 -0500 Fixed up drc2's gnetlistrc to work with both make check and make distcheck commit edf990235cac2fe6ac2ca6e120f198fd14d05ed7 Author: Ales Hvezda Date: Sat Dec 20 14:56:02 2008 -0500 Added missing liquidpcb to the subdirs in order to make distcheck work better commit 45dae54fa28ec09313806a80781f9dd6b8d35485 Author: Ales Hvezda Date: Sat Dec 20 14:42:40 2008 -0500 Ignored a few machine generated scripts commit 24d24fcc3ab6ecbec321d38fc011513df521c122 Author: Ales Hvezda Date: Sat Dec 20 14:40:42 2008 -0500 Fixed a typo in tests.list which caused the JD_nomunge test to not run Fixing this typo also required the regen of all Makefile.am, creation of JD_nomunge.retcode, and changed a few golden files. commit 59a09888c3a0f70af8312da604a98cb2d0c411d5 Author: Peter Clifton Date: Sat Dec 20 19:36:09 2008 +0000 gnetlist: Fix regen_sub_makefile.sh Needs /bin/bash, and an -e argument to the second echo. commit 581f8cec3d5e717fa78417772759b4525a52f458 Author: Peter TB Brett Date: Sat Dec 20 18:56:35 2008 +0000 gnetlist: Restore bom2 ordering The changes in 51c2a5c9f7f9ad1c99b9da2774a051ae97f3e62e caused the ordering of components in the BOM output to be reversed. This changes the ordering back to the way it was before. commit 51c2a5c9f7f9ad1c99b9da2774a051ae97f3e62e Author: Peter TB Brett Date: Sat Dec 20 18:23:22 2008 +0000 gnetlist: Improve bom2 backend performance. Change part of bom2 backend to use tail recursion, avoiding stack overflows for very large schematics. Tested with up to 1024 devices, but gnetlist core performance made testing with larger schematics problematic. commit fff0850cbff67ded4dc53138679e2f5f445f86cd Author: Peter Clifton Date: Sat Dec 20 17:08:50 2008 +0000 Revert "gnetlist: Update golden files for backends which hit errors." This reverts commit 9928a19d3374c5d7ff672f8435a5f29476b2bba2. gnetlist should not exit with a status of 0 when encountering an error. This behaviour change has been fixed in commit 16102ef095c959b5c1febb9b9259dda23c739258, which reverted part of commit 2a4fdb13021d0153e788fe3b2fc005f273dcdf4b, where the changes were first introduced. commit 9904adcf923855f10a64c5fb15cde22d0766155d Author: Peter TB Brett Date: Sat Dec 20 16:44:01 2008 +0000 Fix potential buffer overflows in gnetlist. gnetlist's main_prog() had several uses of sprintf() into a fixed length buffer with unchecked user input. Replace these with g_strdup_printf() and g_build_filename(). commit 16102ef095c959b5c1febb9b9259dda23c739258 Author: Peter TB Brett Date: Sat Dec 20 16:07:03 2008 +0000 Quick fix for gnetlist exit status. In 2a4fdb13021d0153e788fe3b2fc005f273dcdf4b, gnetlist was modified to use g_scm_c_eval_string_protected() to call into backends. Unfortunately, this had the side effect of stopping Guile errors thrown by backends from causing gnetlist to exit with non-zero exit status. This is a quick fix which partially reverts the offending commit. commit 6329c5a7bdae9573f01f92403e4645e79e66aab5 Author: Peter TB Brett Date: Sat Dec 20 14:41:05 2008 +0000 Update copyright header dates to 2008. (And I'll have to do this all again in a few days time). commit 9928a19d3374c5d7ff672f8435a5f29476b2bba2 Author: Peter Clifton Date: Thu Dec 18 20:54:25 2008 +0000 gnetlist: Update golden files for backends which hit errors. Gnetlist now returns with an exit code of 0, even when it encounters problems from inside the backend's scheme code, and that code exits with an (error ...) call. Update the golden files to reflect this. commit d13aadcbac4af912e0555b3696b59fc904c6cd9f Author: Peter Clifton Date: Thu Dec 18 20:54:02 2008 +0000 gnetlist: Checkin missing change to systemc backend This part of the fixes for the systemc backend got missed from commit #bfd49ad477a49235c3e5ee1eda54e5009f6e347a commit 4ff7f410e4e601b85e5b6d0b8d4b6b930e49072b Author: Peter Clifton Date: Thu Dec 18 20:51:48 2008 +0000 gnetlist: Update common test-suite outputs for "systemc" backend Updated after fixing the backend to run again. NB: A cursory inspection of the "golden" files, suggests that the outputs being checked in are not actually correct. However, the test-suite will serve to tell us if any changes are made in gnetlist which affect this backend. commit bfd49ad477a49235c3e5ee1eda54e5009f6e347a Author: Peter Clifton Date: Thu Dec 18 20:44:59 2008 +0000 gnetlist: Fixup systemc backend Don't escape < and > characters in strings, as guile doesn't like this. Apply similar fixes as those made to the VHDL and verilog backends after some changes in gnetlist to accomodate slotting in spice-sdb. Since the netlist backend is loaded before gnetlist has traversed the schematic, it must not execute any code which queries gnetlist on load. All such work is to be done only when gnetlist invokes the "systemc" method. Move (define c_p #f) to outside (systemc:components ...)'s (lambda ...) function, since guile doesn't appreciate us mixing declarations and expressions. This variable is tested and (set! c_p #t) later on, which doesn't feel very scheme like. The fix works for now though. Check to see if the regexp matched netname, checking for "name" has hit a match before trying to get a piece of that match. If the regexp returns #f, instead just treat the identifier as a "name" and use that. This allows net names which don't conform to the regexp to at least give some vaguely sensible output, without crashing the backend. Comment some debugging prints to stdout, giving a cleaner looking run. commit 55850bb331afc0596a18dac1807a487cb475b30d Author: Peter Clifton Date: Thu Dec 18 19:05:47 2008 +0000 gnetlist: Add new "liquidpcb" backend to the common test-suite commit 617797b5a47d370c4fee19110c826502b7e3082b Author: Peter Clifton Date: Tue Dec 9 16:19:09 2008 +0000 Remove linkage between OBJECTs and use GList for OBJECTs on the page This affords quite a lot of code clean-up, since we no longer have to maintain two versions of each operation which works on lists. commit d3a0d4da489f9cd213472e58d18f21774760984b Author: Peter Clifton Date: Mon Dec 8 17:57:17 2008 +0000 Tolerated changes in golden files for the spice netlist backend. The way slotted parts are handled has changed since 1.2.0, as has the output of the spice backend for slotted parts. Since the spice backend doesn't properly support slotted components, we allow these output changes. commit 227e5102e722675c93ecf897b1b1c422dd7f032c Author: Peter Clifton Date: Mon Dec 8 17:48:06 2008 +0000 gnetlist: Revert removal of spice backend testing This backend was removed from the common test-suite prior to the last release due to failures. We still want to test the backend, although we may wish to accept some changes to the golden files before the next release. commit 40e4a0836529f91ee141463832beb4fea0d845ec Author: Dan McMahill Date: Mon Dec 1 20:34:02 2008 -0500 Use the uninstalled scheme files instead of installed scheme files. When running the tests, point at the not-yet-installed scheme files. This lets 'make check' test out what you just built instead of something that is installed that may be sorely out of date. commit 817e5dcfe478ae02f60d74ca1574518a1976bd17 Author: Dan McMahill Date: Mon Dec 1 02:55:24 2008 -0500 Run all tests and report failures at the end. Also add missing .PHONY. - Add missing .PHONY to the tests target. - Rather than exiting on the first test that fails, run them all and keep track of how many failed and which ones. This lets you run through all the tests and then come back to the failed ones. commit 635546dcc9615c490e85ff6e7ef0c7d990af6842 Author: Dan McMahill Date: Sun Nov 30 00:04:02 2008 -0500 Specify the path to the gnetlist binary being tested. Point at the locally built but perhaps not yet installed gnetlist when running 'make check'. This helps make sure we are testing the right gnetlist. commit 51896e033129dada3f96a3448e189e19554c239a Author: Dan McMahill Date: Sat Nov 29 22:11:32 2008 -0500 Remove files which are now generated at configure time from templates. These files are now generated from the .in versions at configure time to make sure we get a suitable awk implementation called out. commit 1625b379e7066ffe2a8283a4977c794ff55b7db4 Author: Dan McMahill Date: Sat Nov 29 21:11:07 2008 -0500 General portability cleanup of scripts. Expand the autoconf tests for awk to make sure that we have picked up and awk that is good enough for the scripts that use them. Now use this result in various scripts instead of hard coding 'gawk' (not available on all systems) or 'awk' (picks up the original awk which is not sufficiently advanced on solaris). Also avoid calling out /bin/bash on scripts for which /bin/sh (even on solaris) should be sufficient. Not all systems have /bin/bash. Finally, improve temp file usage in shell scripts for improved security. commit 1d6a2045f618cb2441d386811a49fc3c1686ff13 Author: Dan McMahill Date: Sat Nov 29 20:54:19 2008 -0500 General portability cleanup of scripts. Expand the autoconf tests for awk to make sure that we have picked up and awk that is good enough for the scripts that use them. Now use this result in various scripts instead of hard coding 'gawk' (not available on all systems) or 'awk' (picks up the original awk which is not sufficiently advanced on solaris). Also avoid calling out /bin/bash on scripts for which /bin/sh (even on solaris) should be sufficient. Not all systems have /bin/bash. Finally, improve temp file usage in shell scripts for improved security. commit 5bf126369c5f5a60f5ae039170c33ff4c767a4ee Author: Dan McMahill Date: Wed Nov 26 22:48:08 2008 -0500 Avoid insecure temp file usage. Fixes the security vulnerability noted in http://secunia.com/advisories/32806/ The issue is insecure temp file usage. The fix is to create a private directory and keep temp files in there. commit c7dfc632ea75a802822fc139a93a96a3dfdcd1b2 Author: Dan McMahill Date: Tue Nov 18 22:47:00 2008 -0500 When testing gnetlist, point to the one we just built. Make sure that 'make check' works correctly prior to installation. The old test seemed to be picking up a previously installed gnetlist instead of the one we just built. Makes for some confusing debugging if there is another version installed and in your path somewhere. commit f470af7a28afe423ded6171ea3c8a2b31ff56f43 Author: Peter Clifton Date: Sat Nov 1 20:47:41 2008 +0000 Revert applying -Werror to compiler flags when linking with GCC (CODE!!) Depending on the gcc version, the original developers might not see the warning until the software gets into the end user's hands (and tries building it with an older/newer version of gcc). Most warnings are not catastropic, but by using -Werror they are _all_ catastropic. If a developer wants to get rid of all warnings, they should either: 1) run make -s and see/fix all the warnings, and/or 2) modify the Makefile's themselves and add the -Werror flag temporarily. (Comments explaining rationale snipped out of an email from Ales). commit 3a748314907a0167fc06fe08be498f40c6c7f318 Author: Peter Clifton Date: Sat Nov 1 17:46:01 2008 +0000 More placeholders for fixing some warn-unused bugs Some were missed in the last (accidental) commit relating to these warnings. commit 2b1c2026611ef56fba3c07e88d1292b19047e818 Author: Peter Clifton Date: Sat Nov 1 17:45:57 2008 +0000 Use -Werror when building with gcc compilers. (More Makefile.am) Hopefully this will help to ensure compiler warnings get noticed and fixed by developers. Some Makefile.am with compiled sources were missed in the last (accidental) commit relating to these CFLAGS. commit 09eacbfb36e2b00758bce8d8add2f8f56cdcfdbb Author: Peter Clifton Date: Sat Nov 1 16:09:26 2008 +0000 Use -Werror when building with gcc compilers. Hopefully this will help to ensure compiler warnings get noticed and fixed by developers. commit 816c8735215b76faeaa15bfc5de01d345aedc87d Author: Peter Clifton Date: Sun Oct 26 20:07:13 2008 +0000 Update golden files for gsch2pcb backend These were out of date since changes were made to make the gsch2pcb backend to emit boards which fit better with PCB's current default options and layer stackup. commit aa6b1cf719bc8c31c1763a6160e133e6e3bc46ce Author: Peter Clifton Date: Sun Oct 26 20:07:12 2008 +0000 Update golden files for PCBboard backend The "singlenet" output now emits the PKG_DIP14 package correctly, whereas the previous golden file just has the M4 macro listed unexpanded. Whether some bug was fixed, or if this was just a mistake when the previous golden files were generated is unknown, but the new output is better. commit 2b5ac5d34a71bfb5f91012ac14bbf2e442858303 Author: Peter Clifton Date: Sun Oct 26 20:07:12 2008 +0000 gnetlist: Update golden files for desired BOM2 changes BOM2 now has a qty column, so update the test-suite to match. commit bcaf9f8dafcd25335b61b2ea80d071bde720bbd1 Author: Cesar Strauss Date: Sun Oct 26 10:41:31 2008 +0000 Use pkg-config support for Guile if present. Using pkg-config allows easier cross-compilation, since the build process can use a pkg-config binary native to the build machine with .pc files for the host machine. commit 2a4fdb13021d0153e788fe3b2fc005f273dcdf4b Author: Peter TB Brett Date: Tue Oct 21 16:52:09 2008 +0100 Validate calls to scm_c_eval_string(). [2105219] Because the reporter's version of Guile is broken, a lovely garbage collector segfault occurs if a null string is passed to scm_c_eval_string(). For now, wrap all calls to scm_c_eval_string() with mutable arguments in g_scm_c_eval_string_protected(), and since the latter function seems to behave when passed a NULL string this bug should just go away. commit 79ab7bd82c3f2bb5266a6065512730157798ec2d Author: Ales Hvezda Date: Mon Oct 13 21:44:38 2008 -0400 Added first cut of the LiquidPCB (http://www.liquidpcb.org) backend Also added a couple of trivial tests for this new backend as well as updated the man page for gnetlist. commit f0a96de8b545dbd900e87db6abf54a0b6df830ab Author: Werner Hoch Date: Sat Oct 11 09:02:03 2008 +0200 .gitignore: log files and source tagging files added Added the files of the "global" source tagging program and the logfiles of the gEDA programs to .gitignore. commit 2a9f5584219a894557aa7fd97f94a9a941c5bc1b Author: Peter Clifton Date: Wed Oct 1 18:17:19 2008 +0100 gnetlist / gsch2pcb: Update default board to match current PCB version. Ensures greater compatibility with layouts created using PCB from the outset, rather than via gsch2pcb. commit a17b67c07298e707fbfa2d10f8ec18c16b0b7482 Author: Peter Clifton Date: Wed Oct 1 17:57:42 2008 +0100 gnetlist / gsch2pcb: Fix default PCB board to have lines clear polys. This bad default keeps biting users of the gsch2pcb work-flow. commit 05d7c0a430e2334fc24f561268f5dbcee62d14ad Author: Peter Clifton Date: Wed Sep 24 02:37:02 2008 +0100 gnetlist: Tidy vams_get_package_attributes() and vams_get_attribs_list() Refactor the code to be cleaner, fixup whitespace, remove old debug cruft. commit fbdc2486cc9bf99bc79408ef5b08189a94c89bc1 Author: Peter Clifton Date: Wed Sep 24 02:36:22 2008 +0100 Remove ineffective search inside symbol in vams_get_package_attributes() The call to vams_get_attribs_list (...->complex->prim_objs, ...) will always fail to return names. This function operates on the passed OBJECT, looking at OBJECT->attribs. In this case, the passed OBJECT will always be a complex head node with no attributes. We _might_ want to list the names of any floating attributes inside the object (as seems to have been intended in the original code), however all "interesting" generic attributes will probably have been promoted to the outside anyway. Promotable attributes inside symbols are only hidden by default (not deleted), so listing the internal attributes would mean we end up with two copies of each promotable attribute in our SCM list. There are also quite a number of uninteresting attributes inside most symbols which we may not want listing as generics. For now delete the broken code attempting to list internal attribute names. This commit doesn't change any netlist output. commit f4dab83b1ca0e197f02f520a6ae525aeac5a252d Author: Peter Clifton Date: Wed Sep 24 01:07:43 2008 +0100 gnetlist: Use the complex_parent property of an OBJECT, not the HEAD node. This saves having to traverse back to the HEAD node for each lookup. commit b4ed5e92d203c7449b7d33e924a41b093e1de930 Author: Peter TB Brett Date: Tue Aug 26 12:55:07 2008 +0100 Remove duplicate definitions of do_logging. Also sets the default in libgeda to TRUE. commit c95bd0a1f21be899510e07af28d0190fc09dc469 Author: Peter Clifton Date: Sun Aug 24 22:27:29 2008 +0100 Remove unused #define DEFAULT_SERIES_NAME ... defines commit a974a4c6d2c233c9209c5b4597f7d4f86154f484 Author: Peter Clifton Date: Sun Aug 24 22:27:28 2008 +0100 Remove default-series-name from all rc files Fixes brokenness leftover from previous removal of "series_name". commit 73a73cd0cb54d0f9430075aa00359b7840bd8d2c Author: Peter Clifton Date: Sun Aug 17 02:19:49 2008 +0100 Add qty column to bom2 gnetlist backend It is convenient for board-assembly houses who want to see a qty. against each line-item they have to procure. commit e36585def8789540f25464edecbf119706882958 Author: Peter Clifton Date: Sun Aug 17 01:59:29 2008 +0100 gnetlist: Don't drop all hierarchy prefix for children without refdes=... If a hierarchy block is missing its refdes=... attribute, insert it without any change of hierarchy prefix. The block's contents keep the same hierarchy level as the instantiating schematic. Previously the block was inserted at the root level, with no hierarchical name mangling. This may be useful in some cases if you want to suspend hiearchy mangling for certain portions of a hierarchical design. (NB: You would then be responsible for avoiding refdes name clashes). A similar effect can be be obtained on a design wide basis by setting the options: (hierarchy-*-mangle "disabled") in a gnetlistrc file. commit 1a1460c65a9d4e0aee35e39fff0f083c95bd380d Author: Peter Clifton Date: Sat Aug 16 19:18:24 2008 +0100 Remove the ATTRIB struct as it only contained one variable. The OBJECT.attribs GList now points directly at the text objects which hold and display the attribute name and value. commit 11a2692a1ab8bcee14178286fd719d1ec39e6b9a Author: Peter TB Brett Date: Sat Aug 16 15:24:16 2008 +0100 Draw func cleanup. Rather than having libgeda require other applications to provide the *_draw_func symbols, libgeda should provide them itself. Other applications should then override them as required near their call to libgeda_init(). commit 723e8d1c735b27f2bfc39dec296464bb8d5b2020 Author: Peter TB Brett Date: Thu Aug 14 23:27:12 2008 +0100 Don't register recalc funcs as draw funcs. Some applications which don't draw schematics set the draw funcs to be the recalc funcs. This is silly. commit 57a4fd272e10a68e05051a9ab9309e252e2103f7 Author: Patrick Bernaud Date: Fri Jul 11 16:03:12 2008 +0200 Purge AC_CHECK_FUNCS() in configure.ac in each package of unused functions. commit 872287f23b4880b01babed777efe7976783feab2 Author: Patrick Bernaud Date: Fri Jul 11 16:03:05 2008 +0200 Cleanup of libgeda o_attrib_get_name_value(). Rewrote o_attrib_get_name_value(): it now has support for UTF-8 attribute strings ; plus it can return only the name or the value or both name and value. Finally adapted code wherever it can benefits this new feature. commit a76cf5cdda91c7070f4765107d3f8be89bbd05b6 Author: Patrick Bernaud Date: Fri Jul 11 16:03:01 2008 +0200 Remove unnecessary strippings of trailing directory separator. These strippings is no more necessary as GLib functions for building filenames (in particular g_build_filename()) takes care of any trailing directory separator for us. commit cd70e88b8c7faa4beea8b13b846e92807a252e63 Author: Patrick Bernaud Date: Fri Jul 11 16:03:00 2008 +0200 Replace getcwd() with g_get_current_dir(). commit 90b0ece453efc80490c6c277386f4f5f7bfdc4af Author: Patrick Bernaud Date: Fri Jul 11 16:02:59 2008 +0200 Simplify build of filenames with g_build_filename() (!). Modified code where possible to use preferably g_build_filename() instead of g_build_path(), or g_strconcat() and friends. commit 19d6d561eb5aea8e580d6ecf72d20bdfc3180ace Author: Patrick Bernaud Date: Fri Jul 11 16:02:58 2008 +0200 Remove unnecessary check following memory allocation with GLib g_malloc(). There is no need to check g_malloc() returned value as when the function fails to allocate memory, it terminates the application. commit a3513b7e6dc7bf6c36d95d4da86082beeb79831d Author: Patrick Bernaud Date: Fri Jul 11 16:02:57 2008 +0200 Replace standard string manipulations with GLib string utility functions. commit da1d2e7b304f9d832bdee9c8dfb9fe4604e19cc9 Author: Patrick Bernaud Date: Fri Jul 11 16:02:56 2008 +0200 Remove tests for NULL prior to freeing with g_free(). Testing if pointer on memory to free is not NULL is unnecessary since g_free() does the test itself. commit 21bdf2fbbad2146234fd32a0fe04bddcaddb64f8 Author: Ales Hvezda Date: Sun Jul 6 22:21:00 2008 -0400 Updated versions in the important man pages commit 8479d01b6a4a819ae105659a9b9f1e6ab2d85136 Author: Ales Hvezda Date: Sun Jul 6 22:03:02 2008 -0400 Updated all ChangeLogs by running ./update-changelogs.sh 1.0-20070526..master commit 24a38431a0d955928639311af924b8b0acf1e0db Author: Ales Hvezda Date: Sun Jul 6 10:03:24 2008 -0400 Oops needed to remove outputs/spice from configure.ac as well This is an additional fix to f3ed4237658fc27a6e60e1da0c8fc9c2af2646ed commit f3ed4237658fc27a6e60e1da0c8fc9c2af2646ed Author: Ales Hvezda Date: Sun Jul 6 09:55:14 2008 -0400 Fixed common gnetlist regression tests to pass * Removed the testing of the "spice" backend completely. It is no longer supported or maintained. Removed from backends.list and the outputs/spice directory * Updated return codes for the drc2 backend * Allowed --regen to update one PCBBoard golden file (singlenet.sch). (this test is really not pcb friendly) commit 7ae9572f269c8b973bb4a38014e28dbc10cdcb32 Author: Ales Hvezda Date: Sun Jul 6 08:38:24 2008 -0400 Bumped versions to 1.5.0/20080706/34:0:0 for the next development release commit aaa1abbcfac8e67901c5b2a279e0a13f88d774b0 Author: Peter Clifton Date: Sat May 31 18:04:40 2008 +0100 Tolerated changes in golden files for the vipec netlist backend. The way slotted parts are handled has changed since 1.2.0, as has the output of the vipec backend for slotted parts. Since this backend isn't likely to care about slotted parts, we allow these output changes as harmless. commit ae9d82b1fdcd14acde5cbf4d54718ef3566aec80 Author: Peter Clifton Date: Sat May 31 18:03:50 2008 +0100 Desired changes in golden file output for spice-sdb Slotted parts are now handled correctly. Was partly broken in 1.2.0. commit 850a80faa3038f688ef3630aff61a05c64904abc Author: Peter Clifton Date: Sat May 31 17:48:57 2008 +0100 Update pads backend golden files to match the new \r\n line ends. The \r\n line end change was made after 1.2.0, so we need to update. commit 345cd09f3517380a466a3254b1f6dc16ef2ce896 Author: Peter Clifton Date: Sat May 31 17:47:49 2008 +0100 Remove the spice-sdb backend specific directory of gnetlist tests. They are now covered for all backends in the "common" tests directory. commit 8a0e4e649e0aab8820fcca32214f99322788bc31 Author: Peter Clifton Date: Sat May 31 17:43:08 2008 +0100 Commit golden files from netlist backends as produced by gEDA 1.2.0 We want to track changes in netlist backend behaviour since version 1.2.0, as changes in slotted part handling since then have caused unintended differences in outputs for some backends. We can explicitly confirm thoses changes as desired or tolerable by checking in new golden files. commit dc5a2e6b352ac4e5833ec86c0685da747362e04a Author: Peter Clifton Date: Wed Feb 13 16:47:40 2008 +0000 Add a common set of tests to gnetlist evolved from the spice-sdb tests. The tests are applied to all backends, with control files being used to document the expected return codes, and golden files with the expected output. These files are generated from a 1.5.0 development release of of the gEDA suite, and do not in all cases represent "correct" behaviour, merely "gEDA 1.5.0" behaviour. commit c1b1d3646043f27302b36a4b541bc9b34fbfe6b9 Author: Peter TB Brett Date: Sat Mar 22 19:31:04 2008 +0000 gnetlist: Remove first-val-or-#f The first-val-or-#f function should have been removed in commit 406234a95a4a4a6ff65c60eb2d63e32c80623a2a when its use was optimised away. commit af0d9f2e8825f7d23c691deec0e70f1eaaac0e38 Author: Ales Hvezda Date: Wed Mar 5 05:27:41 2008 -0500 Updated version to 1.5.0 to mark the start of the next development cycle commit b62e01773459c0c5df66482aa71c623191242bfd Merge: 2915020 d68fe13 Author: Dan McMahill Date: Wed Feb 27 12:40:21 2008 +0000 Merge branch 'master' of git+ssh://dan@git.gpleda.org/home/git/gaf commit 291502025248298b4d42cfbd80ff605dc62c3f92 Author: Dan McMahill Date: Wed Feb 27 12:36:12 2008 +0000 Make the pads netlist backend use CR/LF instead of just LF. Based on a discussion on the gEDA mailing lists it seems that PADS (which runs only on windows) needs DOS style netlists and not unix style netlists. So rather than forcing a unix2dos step in beween netlisting and using the result, go ahead and teach the pads netlist backend to directly write out a DOS style netlist. Update the testsuite accordingly. commit db168efbbe2656ef2103852e92e02ec3ce58e300 Author: Peter Clifton Date: Wed Feb 13 14:59:45 2008 +0000 Fix verilog and VHDL netlist backends These were inadvertently broken when making core gnetlist changes to accomodate slotting in spice-sdb. Since the netlist backend is loaded before gnetlist has traversed the schematic, the backends must not execute any code which queries gnetlist on load. All such work is to be done only when gnetlist invokes the () method. commit b202ee510fb90cedd038ce5ec41cc6de453dbeea Author: Ales Hvezda Date: Sun Jan 27 11:47:13 2008 -0500 Updated ChangeLogs for the 1.4.0 release commit 3d43c5d642ebe12a69380e8accf5533d338ee5e5 Author: Ales Hvezda Date: Sat Jan 26 20:07:45 2008 -0500 Bumped versions to 1.4.0/20080127/33:0:0 for the next stable release commit ecda6ee9e101563f7fed092150532256fd9b343e Author: Ales Hvezda Date: Sat Jan 26 19:50:16 2008 -0500 Updated all dates and versions in all man pages commit d2047bc2a06e6534ff32464d36f8a95aec11b9d7 Author: Ales Hvezda Date: Fri Jan 11 01:11:12 2008 -0500 Updated all ChangeLogs for this release (1.3.1) commit 0dfb874e72040b74679152d75ab2e50b735bdbd4 Author: Peter Clifton Date: Fri Jan 11 02:01:58 2008 +0000 Revert "gnetlist: Strip trailing lower case suffixes from PCB package names" Stripping lower case refdes suffixes when netlisting for PCB (which ignores lowercase refdes suffixes) caused breakage when relying on matching a pinlabel=xxx to refdes=xxx inside a hierarchical schematic, where "xxx" had a lowercase suffix. This reverts commit e8b3be0fbcbf7518b05b437e13eeaa11478345aa. commit c1e3075cb263a6098d2351440b680247456ae0d0 Author: Ales Hvezda Date: Thu Jan 10 00:27:16 2008 -0500 Updated and correct the gEDA/gaf man pages a little bit. This is the fix for SF Bug: [ 1556064 ] man page version out of date commit e8b3be0fbcbf7518b05b437e13eeaa11478345aa Author: Peter Clifton Date: Thu Jan 10 01:52:45 2008 +0000 gnetlist: Strip trailing lower case suffixes from PCB package names Adds a custom (get-uref ...) function to the PCB, pcbpins and gsch2pcb back-ends. These strip lowercase suffixes from the uref, to ensure that slotted package names like IC1a and IC1b are treated as the same, IC1 by gsch2pcb. This suffix stripping matches the fact that PCB ignores the lower-case suffix on net names. It would have been possible to leave the suffixes in the PCB and pcbpins output, although in the PCB netlist case, this causes any implicit power nets in each slot to be duplicated in the netlist, which PCB reports as an error. commit 24431dfb4348c1fa012acb4992e3dd24a78359b5 Author: Peter Clifton Date: Thu Jan 10 01:52:32 2008 +0000 Fix spice-sdb slotting to work without modified pinseq attributes Removes all previous code which iterated over slots for a given package, replacing it with a custom (get-uref ...) procedure which ensures each slot of a component is given a unique uref when gnetlist traverses the schematic. This means each slot will appear as a separate "package" in the gnetlist data-structures, even if each slot uses the same refdes= attribute. The format for the package uref is "(refdes/uref).(slot)", in keeping with the existing spice-sdb slotting code. commit 406234a95a4a4a6ff65c60eb2d63e32c80623a2a Author: Peter TB Brett Date: Thu Jan 10 01:52:08 2008 +0000 More efficient searching of attributes in (gnetlist:get-uref ...) Only evaluates get-attrib-value-by-attrib-name once per call, and has the added advantage of only defining helper functions in local namespace. commit 3279e37ff18bfa353ada00f63d0ccf94975daf56 Author: Peter Clifton Date: Thu Jan 10 01:29:58 2008 +0000 gnetlist: Add scheme procedure get-uref to determine uref of an OBJECT Moves the logic to determine an uref based on the component attributes into the Scheme procedure (get-uref ...), which is passed an OBJECT smob for interrogation. commit fa9779d19f1a6a626948ec996735978941883f5d Author: Bernd Jendrissek Date: Thu Jan 10 00:58:35 2008 +0200 Fix two use after free bugs. The gnetlist testsuite would sometimes screw up the terminal by outputting angry control characters. This was because a warning message used a string that had already been freed. commit aafa53bb3e4b248e178a654883db2ba1177c5750 Author: Peter Clifton Date: Thu Jan 10 00:25:20 2008 +0000 gnetlist: Load gnetlist.scm and backend before schematic traversal. Allows gnetlist.scm and backends to define scheme procedures and variables which may be used to control the schematic traversal process. Since some portions of of gnetlist.scm are evaluated immediately upon load, yet require execution _after_ schematic traversal, these portions have been split out from gnetlist.scm into a new file, gnetlist-post.scm which is loaded after traversal. The moved definitions are those of "packages", "all-unique-nets", "all-nets", "all-pins", and the refdes aliasing functionality. commit 82dd20fe6d7a5022cebcc40c2a6ad73af230901c Author: Peter Clifton Date: Wed Jan 9 23:00:55 2008 +0000 Change some tabs in gnetlist.c to spaces. Alter some other whitespace. commit c29a844384a176d2880ee47aac8999ef017e50a2 Author: Peter Clifton Date: Wed Jan 9 22:08:05 2008 +0000 gnetlist: Clean up some old comments and EOL whitespece in gnetlist.c commit b2380c0f70344117be7045a5fc1483698fdf4358 Author: Ales Hvezda Date: Sat Jan 5 20:57:51 2008 -0500 Bumped versions to 1.3.1/20080110/32:0:0 for the next development snapshot Note, libgeda's so did not change at this time. commit 5f3cde4f20975275cb38b52cd3155fda41201209 Author: Peter TB Brett Date: Tue Jan 1 17:24:18 2008 +0000 Fix configure checks for Guile (again). The previous patch missed changing the gschem configure script (generated from configure.ac.in), and got the logic wrong anyway. commit b9ffb4675fbca6e92a4f713c28486e74dcbbeef4 Author: Peter TB Brett Date: Tue Jan 1 15:42:13 2008 +0000 Fix configure checks for Guile. Quote variables to protect them and alter version test logic so that it doesn't think version 2.1 is older than 1.8. commit 2f7e3ae60480743a8268d392272d05bd77dd75c8 Author: Ales Hvezda Date: Mon Dec 31 20:43:08 2007 -0500 Updated all ChangeLogs for the past development release (1.3.0) This step was supposed to happen before the 1.3.0 tarballs were released. These changes will be picked up in a subsequent release. commit ba474af87840a0d49e04a00de96b7df2944c09bd Author: Ales Hvezda Date: Sat Dec 29 09:57:43 2007 -0500 Bumped versions to 1.3.0/20071229/32:0:0 for the next development snapshot commit 9d3166d44b07da85ac1c4e0185daf0c67e7096ea Author: Ales Hvezda Date: Sat Dec 29 09:52:29 2007 -0500 Commented out test which now no longer runs correctly because of slotting fix. The slotting fix is commit 5852e531717ba947b7acca39e50f71edd5921f06. commit e5f31fa0ba725c4a8a7dcacb47166a1468a357b6 Author: Peter TB Brett Date: Sun Dec 23 21:26:02 2007 +0000 gnetlist: Make drc2 backend not emit exceptions. The drc2 backend reports drc violations by emitting an error, but it can do it more gracefully using the Guile display function. commit e4c80c8a9930ebef25427053d33c5038feed31d0 Author: Peter TB Brett Date: Sun Dec 23 21:12:49 2007 +0000 gnetlist: Fix segfault on failing to load schematic. Segfault was introduced when schematic load error messages were added in commit b635ebb641383360e5e7864830d42d13cf7f4d12. commit fc7b46cce236e52af5d9f9b4f38061595ed5129e Author: Peter TB Brett Date: Sun Dec 23 20:57:33 2007 +0000 gnetlist: Hide a debug message from spice-sdb [1856326] A user complained that it appeared to be an error message and was offputting for users. Changed it to use debug-spew. commit 3b040cf8d60a8fbe45f6e7c5f3d71a3dea119357 Author: Peter Clifton Date: Wed Dec 19 17:48:57 2007 +0000 Add intltoolize to the build infrastructure Provide intltoolize infrastructure for translating .desktop and MIME XML files. Run gettextize after intltoolize if required, so that the infrastructure for providing libintl on a non GNU system still works. commit b635ebb641383360e5e7864830d42d13cf7f4d12 Author: Peter TB Brett Date: Fri Dec 7 21:48:17 2007 +0000 Print useful messages when f_open() fails. This reinstates error messages removed by the patch which modified f_open() to use GError for error reporting. commit be301530f468e4d0057b3be68e218ac444c2d2be Author: Peter TB Brett Date: Fri Dec 7 17:20:55 2007 +0000 Make libgeda's f_open() & f_open_flags use GError. This patch actually *removes* error message output from file loading errors is some cases. This is for the sake of keeping the patch concise, and will be addressed in later patches. commit ae225157603f063747709fa3d639ed8cdf63f6b1 Merge: 1abfd25 43b5713 Author: Peter TB Brett Date: Tue Nov 27 07:53:37 2007 +0000 Merge with Cesar's mingw/pu branch Merge commit 'cesar/mingw/pu' into premerge commit 8b490a404e682ac4f1e4cbd46e22c92f58b2ae76 Author: Tomaž Šolc Date: Fri Nov 23 21:42:50 2007 +0000 Compilation fixes for Mac OS X 10.5 [1832417] This patch contains changes to gEDA source tree that were necessary to compile on Mac OS X (10.5 Leopard, PPC). commit 43b571362e5fb663115ee1630b94c88cb74f0c13 Author: Cesar Strauss Date: Sun Nov 11 18:24:10 2007 -0200 Replace index and rindex by strchr and strrchr. These are functionally equivalent, and more portable to MinGW. commit bdd7ef7ee9047c3942b43c165396ebe48d31e95a Author: Cesar Strauss Date: Sun Nov 11 14:17:21 2007 -0200 Use g_path_is_absolute from GLIB instead of platform specific code. commit 40c0582e39d6a7ed0a41e0e5deedc0bfd03bbddc Author: Cesar Strauss Date: Thu Nov 15 19:11:12 2007 -0200 Use forward slashes as path separators on MinGW. They are also acceptable as path separators on MinGW. commit d715ba7dc3e02d77e671b9ab54b994379daefec5 Author: Cesar Strauss Date: Thu Nov 15 13:34:40 2007 -0200 Tell git to ignore .exe files. commit 23ead18086e59aab22945c37ff95f49e5747f277 Author: Peter Clifton Date: Wed Oct 17 04:50:39 2007 +0100 Remove the ATTRIB linked list in favour of a GList The ATTRIB.copied_to pointer is moved from the ATTRIB struct to reside in the source OBJECT being copied. The ATTRIB *attached_to pointer of an attribute's text OBJECT is changed to OBJECT *attached_to, pointing directly at the OBJECT to which that attribute is attached. This avoids the need to traverse the ATTRIB list and retrieve this pointer from the HEAD attribute node. (A HEAD node is not used in the GList of ATTRIBs). The ATTRIB structure now only contains one element, OBJECT *object. This points to the text OBJECT holding and displaying that attribute's "name=value". commit 4595948e41b2d195eb78a820fc15d0d8596067a4 Author: Peter Clifton Date: Thu Oct 4 02:34:50 2007 +0100 Avoid accessing (GList)->{next|priv} directly to aid debugging. Instead use g_list_{next|previous}, allowing us to catch errors where changing from gEDA structures which had their own next and prev pointers. To debug, edit the glist.h include file from glib, renaming the next and prev elements in the GList structure and macros. Recompile gEDA to see any bad accesses such as those where the HEAD nodes were previously skipped. commit 2e3c06cbcdce8254f70162ecebd650980cf70ee9 Author: Peter Clifton Date: Sun Sep 9 00:18:34 2007 +0100 Remove the globally exported variable_set_func. Only gattrib provided a non-NULL export of this symbol, and such imports into libgeda prevent libgeda being dynamically linked on some platforms. To better match the other tools in the suite, gattrib's i_vars_set() and i_window_vars_set() functions were combined into a single i_vars_set(). commit 8952ec9bd4f4985fae8aadd6c4103b933464152a Author: Peter Clifton Date: Sun Sep 9 00:01:14 2007 +0100 Remove unused extern variables from libgeda, gnetlist and utils. commit adca8b7d5897b11331c6a20392d22ad1e58ee572 Author: Peter Clifton Date: Mon Sep 3 12:15:43 2007 +0100 Replace the linked list of PAGEs with a GedaList (typecast to GedaPageList) commit 086908ed44c9abc6d5907888695933b59ead4684 Author: Ales Hvezda Date: Sun Sep 2 22:48:59 2007 -0400 Last minute updates to the READMEs for all projects Cherry picked from stable-1.2 branch, since these changes apply to master too. (cherry picked from commit 88fcb8d1bcdaa1436572d6a0ebe86f4df242a8d6) commit 0aad767df307a70d9fefc73fb08a49908cc26706 Author: Ales Hvezda Date: Sun Sep 2 16:50:29 2007 -0400 Fix for Bug#1776547: graphical versus source The usage described in Bug#1776547 is pretty unique, but it might be handy to support in general. The recursive source= and graphical= behavior is a unexpected side effect of the traversal of graphical symbols/components (552e06e921e4b6eb758b9483d1913c39b3fef5f5). The fix is to explicitly check for the graphical= attribute and if it is found to not further traverse the hierarchy. Regression tests were added so this behavior doesn't change in the future. commit 6056ef48272778419d39e0233f395bfd60019ab9 Author: Ales Hvezda Date: Sun Aug 19 22:40:19 2007 -0400 Update ChangeLogs using: ./update-changelogs.sh 1.0-20070526..master commit 92b3b65d0cec286b0ce59fc43cc07dcb60c39fa1 Author: Ales Hvezda Date: Sat Aug 18 16:14:30 2007 -0400 Bumped versions to 1.1.2/20070818/30:2:0 for the next development snapshot commit 72c4db8aa20c22baa4243a0d27b3bb3f32f3ef64 Author: Ales Hvezda Date: Tue Aug 14 07:46:06 2007 -0400 Moved 3 rc promotion keywords from gschem into libgeda (fix for bug#1748143) All the promotion keywords were moved from gschem into libgeda to fix: [ 1748143 ] gschlas causes duplicate prompted attributes The primary cause of this bug was that the promotion variables within TOPLEVEL were not being setup by gschlas and so duplicate refdes attributes were showing up in the schematic. The three rc keywords that were moved are: (attribute-promotion ... ) (promote-invisible ... ) (keep-invisible ... ) commit 703151a94b0eece6b24b3b18ce2465eeae068814 Author: Peter Clifton Date: Thu Aug 9 12:36:17 2007 +0100 Remove old prototypes from various prototype.h where no function exists. commit 71600215311af0a98ed371ab750b09182de139a1 Author: Peter Clifton Date: Sat Aug 11 00:52:25 2007 +0100 Revert inadvertent commits: dbfe00a20de3f875e519ef60629b968977fc5db8 (commit) f1451161914a0ed0bb43123279906d82cb7d5b49 (commit) 2ad315fc0badd16a9614d1107b22c973908893d5 (commit) d8844bb48969aa45a05cbe6836fc96c198e88c19 (commit) ee1b64a1ae07eb99eae5d63307e9fe23f9604662 (commit) commit d8844bb48969aa45a05cbe6836fc96c198e88c19 Author: Peter Clifton Date: Fri Aug 10 21:26:10 2007 +0100 Replace the linked list of PAGEs with a GedaList (typecast to GedaPageList) commit 0f5c72daacfa7d78666769e4063122934861da5c Author: Peter Clifton Date: Sun Aug 5 22:36:56 2007 +0100 Alter guile 1.6 compat tests to work with older autoconf versions Don't use AC_DEFINE to define function like macros, instead use AC_CHECK_DECLS to set a HAVE_DECL_..., then use AH_VERBATIM to insert a test which defines a replacement if necessary. commit 5c098070b87709540345afb1b3b79d9db470ed53 Author: Peter Clifton Date: Thu Aug 2 22:09:52 2007 +0100 Fix configure checks enabling guile 1.6.x compatability routines. commit c31bd4adb677d671af8bdf5aed71f96a4995f9b1 Author: Peter Clifton Date: Tue Jul 31 20:03:51 2007 +0100 Changed configure.ac(.in) to allow guile-1.6 Introduces compatibility #defines where guile 1.8 funcs are missing in guile 1.6. Also adds missing configure.ac checks for guile in packages gattrib, gnetlist, gsymcheck and utils. commit 525b4a0ff3a1b8cc321f117513796e4571702da8 Author: Bernd Jendrisse Date: Sun Jul 29 09:56:33 2007 -0400 Applied patch to use $(GROFF) instead of which groff commit 31f65059cf1ce5be9b8a0987d4538fed075a6805 Author: Peter Clifton Date: Wed Jul 25 02:09:15 2007 +0100 Fixed two calls to free() where g_free() should have been used. Updated Doxygen comments to note where memory should be freed with g_free() rather than free(). Commented three instances where free() is correct. commit e978b9098c7567ad3b9c834a5e4914de3bc039ec Author: Ales Hvezda Date: Sun Jul 8 18:18:39 2007 -0400 Updated ChangeLogs using ./update-changelogs.sh 1.0-20070526..master commit d7e8f5abc35644e90bfabf84396023cab09f2968 Author: Ales Hvezda Date: Sun Jul 8 16:18:57 2007 -0400 Updated configure.ac[.in] and Makefile versions in prep for a release. The update was done by running ./update-versions.sh 1.1.1 20070708 30:1 at the toplevel. libgeda's shared library version is now 30:1:0 commit 3f3505662fe4bb8c585aea0ea965296bd923956c Author: Carlos Nieves Onega Date: Sun Jul 8 21:16:17 2007 +0200 Added *~ to .gitignore files. commit 0cde8c1cf6c863946c3d4acdc9e9165c99526bef Author: Ales Hvezda Date: Thu Jul 5 01:52:04 2007 -0400 Updated gnetlist ChangedLog to include the new backend addition commit b692c010f9ccf0b89ff1ad653ff1c5a812887cc3 Author: Ales Hvezda Date: Thu Jul 5 01:43:47 2007 -0400 Added new gnetlist backend by John P. Doty commit dd995d808b9f4440db48d2daa2473a9d9cfd88ef Author: Ales Hvezda Date: Thu Jul 5 01:36:31 2007 -0400 Updated ChangeLogs using ./update-changelogs.sh 1.0-20070526..master commit 099c49e5689afda4b8a5221dde73f9fdf1972ce7 Author: Ales Hvezda Date: Thu Jul 5 00:11:45 2007 -0400 Updated all version strings to 1.1.0 and 20070705 commit 87731dda219b0986fed0d1a7789e17678dd79d8c Author: Ales Hvezda Date: Wed Jul 4 23:55:07 2007 -0400 Removed AM_MAINTAINER_MODE from all configure.ac[.in] files. Maintainer mode is no longer needed or desired now that we are no longer using CVS. Hopefully this will prevent some of the odd problems that were observed during the last release when the Makefile's didn't get auto regenerated. commit dc7b8c53f4bc94626634887e46167a367a91f707 Author: Ales Hvezda Date: Wed Jul 4 23:32:15 2007 -0400 Changed gEDA/gaf's version mechanism to use new dotted X.Y.Z convention Added DOTTED_VERSION and DATE_VERSION variables to all configure.ac[.in] files. Changed all version related output to be DOTTED_VERSION.DATE_VERSION. Updated the configure.ac[.in] files to have consistent top sections. Updated code and various scheme files to use the new DOTTED_VERSION and DATE_VERSION variables available via config.h. Stopped using PREPEND_VERSION_STRING as the mechanism for doing the dotted versions (not intended for that use). Updated update-versions.sh script to set the version in all the configure.ac[.in] files and the toplevel Makefile. Went through all the g_rc.c files and make the handling of rc file mismatch handling consistent. commit 5237ea395af0ac1c4cecd18ea2a28291e3d48a90 Author: Ales Hvezda Date: Wed Jul 4 23:22:14 2007 -0400 Updated spice-sdb golden file to pass make check. commit b44a1e527497e55471a75b0af410e78310ed50d8 Author: Dan McMahill Date: Tue Jun 26 18:11:39 2007 -0400 guile-1.8.1 fixes and testsuite additions. Updated the cascade and pcbpins backends to work with guile-1.8.1. While here added a testsuite entry for these two backends. commit f8680b18c8e27617eccbbf158acb84ccac7ac386 Author: Dan McMahill Date: Tue Jun 26 16:20:58 2007 -0400 Portability fixes for the testsuite. Get the testsuite fully working on SunOS-5.9/sparc. This entails two issues. The "-I" option to diff is a GNU extension and is not supported by the solaris diff. Work around this by using sed to filter out the lines which were to be ignored. This addresses the tests run by gnetlist/tests/runtest.sh. The other issue is that the longopts tests in the spice-sdb testsuite should not be run on a system that does not have getopt_long(). To address this, extend the run_tests.sh to allow a variable in the tests.list file to disable a test unless set to "yes". commit 57b2848a7e69d19e18ac03a1264cb55d41c65d0e Author: Ales Hvezda Date: Mon Jun 25 22:31:07 2007 -0400 Changed/updated the #define mechanism for creating custom gEDA/gaf versions. Previously this mechanism was used to create custom versions of gEDA/gaf. With the coming of stable and development versions of gEDA/gaf, this mechanism was changed so that end users can tell the difference between a stable release vs a development release (by looking at the version string). The CUSTOM_VERSION #define was changed PREPEND_VERSION_STRING and is now prepended to any strings that output the VERSION string. commit dc0917b142d9c00af33065ce9eaac8b0a6dc3448 Merge: fee96ef 0ad58a2 Author: Dan McMahill Date: Mon Jun 25 09:45:22 2007 -0400 Merge branch 'master' of git+ssh://dan@git.gpleda.org/home/git/gaf commit fee96effc220e78acddf9721a6bd9d0c34bef881 Author: Dan McMahill Date: Mon Jun 25 09:39:17 2007 -0400 Add missing reference files to distribution and re-enable checks. Updated the list of reference files that go into EXTRA_DIST so that 'make distcheck' can work again. Now the this is fixed, re-enable the spice-sdb teststuite. commit 0ed9cf080cfc8509cb29cbe4e976f86b2821c407 Author: Ales Hvezda Date: Sun Jun 24 23:48:51 2007 -0400 Updated copyright text/header in most source files. Updated all copyright text dates that have my name (Ales) associated with them. Added gEDA contributer copyright text where appropriate. Fixed a bunch of GNU text typos (these should have been either GPL or gEDA). Removed some $Id$ tags which are no longer used/needed. Fixed a few file header that were just plain incorrect. commit a4e956c6272ea982ec54327dcc5e3aa528ac8c99 Author: Ales Hvezda Date: Sun Jun 24 22:22:32 2007 -0400 Added *.o (all object files) to all src .gitignore files. commit edff766e8b15c311505810241528026f722e30b6 Author: Peter TB Brett Date: Sat Jun 23 18:19:11 2007 +0100 Make sure various files are installed. Several new files were not being distributed. This patch addresses the problem by adding files to EXTRA_DIST in automake input files. commit e57c37a66edc1c4d4e4d7160001749df51b96c4b Author: Peter Clifton Date: Sat Jun 23 18:17:29 2007 +0100 Move all .cvsignore files to .gitignore files commit 065595ccd8b5e77616c29a37742357cfab0ae7f7 Author: Peter TB Brett Date: Sat Jun 23 16:11:44 2007 +0100 Changes to ChangeLog usage. With actual changes this time. Old-style changelogs as of gaf 1.0 (release of 26th June 2007) are moved to ChangeLog-1.0; new (blank) ChangeLogs replace them. A script has been added to the gaf top level to allow maintainers to update all the ChangeLog files immediately prior to making out a release. commit b7089bcc123e52bbadd6e635c823d937e620b75b Author: Ales Hvezda Date: Sat Jun 9 18:29:22 2007 +0000 Commited new version of gnet-calay from John with various fixes. commit eed0be648afd9bc421a8d0059de621df778c5fbe Author: Carlos Nieves Onega Date: Sat Jun 9 16:09:36 2007 +0000 Avoid writting '\r' to files on MinGW. Applied patch #1733826 from Cesar Strauss. Thanks. When using the "w" mode in fopen, MinGW translates LF into CR-LF. This creates havoc when reading the same file again, when sharing schematics files with other systems, and when placing them in a VCS. This can be avoided by using the "wb" mode. The "b" is ignored on all POSIX conforming systems, according to these sources: http://www.die.net/doc/linux/man/man3/fopen.3.html http://www.opengroup.org/onlinepubs/009695399/functions/fopen.html There are other ways, however. Adding #include int _fmode = _O_BINARY; on some source file should work as well. Another way is linking against the MinGW supplied binmode.o, which does exactly that. commit 3d58ffc27e6d915c4b1ebbd6f6b96d98d6126b7b Author: Peter TB Brett Date: Mon Jun 4 16:15:37 2007 +0000 Replace deprecated Guile functions & macros. Replace deprecated SCM_STRINGP, SCM_INUM, SXM_INUMP & SCM_MAKINUM with recommended equivalents for Guile 1.8. geda-gaf-1.8.2/gnetlist/tests/0000775000175000017500000000000012220655756013165 500000000000000geda-gaf-1.8.2/gnetlist/tests/powersupply.pads0000664000175000017500000000105112050461155016351 00000000000000!PADS-POWERPCB-V3.0-MILS! *PART* U2 unknown C4 unknown C3 unknown R1 unknown C2 unknown R2 unknown C1 unknown S1 unknown CONN1 unknown T1 unknown F1 unknown U1 unknown *NET* *SIGNAL* TEN U2.1 R1.2 C3.1 R2.1 *SIGNAL* ELEVEN U2.2 C4.1 R2.2 *SIGNAL* GND CONN1.3 *SIGNAL* ONE S1.1 CONN1.1 *SIGNAL* FIVE CONN1.2 T1.2 *SIGNAL* THREE T1.1 F1.2 *SIGNAL* TWO S1.2 F1.1 *SIGNAL* SIX T1.3 U1.4 *SIGNAL* SEVEN T1.4 U1.3 *SIGNAL* NINE C4.2 C3.2 R1.3 R1.1 C2.2 C1.2 U1.2 *SIGNAL* EIGHT U2.3 C2.1 C1.1 U1.1 *END* geda-gaf-1.8.2/gnetlist/tests/powersupply.tango0000664000175000017500000000122112050461155016531 00000000000000[ U2 PATTERN LM317 ] [ C4 PATTERN POLARIZED_CAPACITOR 1uf ] [ C3 PATTERN POLARIZED_CAPACITOR 22uF ] [ R1 PATTERN VARIABLE_RESISTOR 5k ] [ C2 PATTERN POLARIZED_CAPACITOR 0.1uF ] [ R2 PATTERN RESISTOR 220 ] [ C1 PATTERN POLARIZED_CAPACITOR 2200uF ] [ S1 PATTERN SPST ] [ CONN1 PATTERN MAINS_CONNECTOR ] [ T1 PATTERN transformer ] [ F1 PATTERN FUSE ] [ U1 PATTERN DIODE-BRIDGE ] ( ten U2-1 R1-2 C3-1 R2-1 ) ( eleven U2-2 C4-1 R2-2 ) ( GND CONN1-3 ) ( one S1-1 CONN1-1 ) ( five CONN1-2 T1-2 ) ( three T1-1 F1-2 ) ( two S1-2 F1-1 ) ( six T1-3 U1-4 ) ( seven T1-4 U1-3 ) ( nine C4-2 C3-2 R1-3 R1-1 C2-2 C1-2 U1-2 ) ( eight U2-3 C2-1 C1-1 U1-1 ) geda-gaf-1.8.2/gnetlist/tests/gnetlistrc.orig0000664000175000017500000000065312050461155016136 00000000000000;; We want to point at the scheme code that hasn't been installed yet so that ;; 'make check' during development can work correctly. (scheme-directory "${SCMDIR}") ;; We want to use the symbols that haven't been installed yet (map (lambda (x) (component-library (string-join (list "${SYMDIR}/" x) ""))) '("74" "analog" "misc" "memory" "power" "connector" "switch" "linear" "diode" "spice" "cascade" "titleblock")) geda-gaf-1.8.2/gnetlist/tests/powersupply.PCB0000664000175000017500000000034612050461155016034 00000000000000ten U2-1 R1-2 C3-1 R2-1 eleven U2-2 C4-1 R2-2 GND CONN1-3 one S1-1 CONN1-1 five CONN1-2 T1-2 three T1-1 F1-2 two S1-2 F1-1 six T1-3 U1-4 seven T1-4 U1-3 nine C4-2 C3-2 R1-3 R1-1 C2-2 C1-2 U1-2 eight U2-3 C2-1 C1-1 U1-1 geda-gaf-1.8.2/gnetlist/tests/runtest.sh0000775000175000017500000000172712063576065015157 00000000000000#!/bin/sh INPUT=$1 BACKEND=$2 BUILDDIR=$3 SRCDIR=$4 EXTRADIFF=$5 TESTDIR=${BUILDDIR} export TESTDIR schbasename=`basename $INPUT .sch` SCMDIR=$SRCDIR/../scheme \ SYMDIR=$SRCDIR/../../symbols \ GEDADATARC=$BUILDDIR/../lib \ ../src/gnetlist -L ${SRCDIR}/../../libgeda/scheme \ -L ${BUILDDIR}/../../libgeda/scheme \ -o ${BUILDDIR}/new_${schbasename}.$BACKEND -g $BACKEND $INPUT status=$? if [ "$status" != 0 ] then echo FAILED: gnetlist returned non-zero exit status exit 1 fi sed '/gnetlist.*-g/d' ${SRCDIR}/${schbasename}.$BACKEND > \ ${BUILDDIR}/${schbasename}.${BACKEND}.filtered sed '/gnetlist.*-g/d' ${BUILDDIR}/new_${schbasename}.$BACKEND > \ ${BUILDDIR}/new_${schbasename}.${BACKEND}.filtered diff $EXTRADIFF ${BUILDDIR}/${schbasename}.${BACKEND}.filtered \ ${BUILDDIR}/new_${schbasename}.${BACKEND}.filtered status=$? rm ${BUILDDIR}/${schbasename}.${BACKEND}.filtered ${BUILDDIR}/new_${schbasename}.${BACKEND}.filtered if [ "$status" != 0 ] then exit 2 fi geda-gaf-1.8.2/gnetlist/tests/powersupply.maxascii0000664000175000017500000000134512050461155017226 00000000000000*OrCAD *START *COMP U2 "unknown" *COMP C4 "unknown" *COMP C3 "unknown" *COMP R1 "unknown" *COMP C2 "unknown" *COMP R2 "unknown" *COMP C1 "unknown" *COMP S1 "unknown" *COMP CONN1 "unknown" *COMP T1 "unknown" *COMP F1 "unknown" *COMP U1 "unknown" *NET "ten" *NET "ten" U2."1" R1."2" C3."1" R2."1" *NET "eleven" *NET "eleven" U2."2" C4."1" R2."2" *NET "GND" *NET "GND" CONN1."3" *NET "one" *NET "one" S1."1" CONN1."1" *NET "five" *NET "five" CONN1."2" T1."2" *NET "three" *NET "three" T1."1" F1."2" *NET "two" *NET "two" S1."2" F1."1" *NET "six" *NET "six" T1."3" U1."4" *NET "seven" *NET "seven" T1."4" U1."3" *NET "nine" *NET "nine" C4."2" C3."2" R1."3" R1."1" C2."2" C1."2" U1."2" *NET "eight" *NET "eight" U2."3" C2."1" C1."1" U1."1" *END geda-gaf-1.8.2/gnetlist/tests/Makefile.am0000664000175000017500000001110012063576065015132 00000000000000## Process this file with automake to produce Makefile.in SUBDIRS = hierarchy hierarchy2 drc2 common EXTRA_DIST = runtest.sh \ 7447.vhdl README amp.spice cascade.sch cascade.cascade \ darlington.spice netattrib.geda \ netattrib.sch powersupply.PCB powersupply.allegro \ powersupply.bae powersupply.geda powersupply.maxascii \ powersupply.pads powersupply.protelII powersupply.sch \ powersupply.tango singlenet.PCB singlenet.geda singlenet.pads \ powersupply.liquidpcb \ singlenet.pcbpins \ singlenet.protelII singlenet.sch stack_1.geda amp.spice-sdb \ singlenet.liquidpcb \ darlington.spice-sdb skt.switcap test.ana multiequal.sch \ multiequal.spice-sdb gnetlistrc.vhdl gnetlistrc.orig check_SCRIPTS = tests BUILDDIR=$(builddir) SRCDIR=$(srcdir) GNETLIST=$(builddir)/../src/gnetlist tests: # cleanup rm -f $(BUILDDIR)/new_* rm -rf $(BUILDDIR)/devfiles mkdir $(BUILDDIR)/devfiles cp -f $(srcdir)/gnetlistrc.orig $(builddir)/gnetlistrc # netattrib gEDA $(SRCDIR)/runtest.sh $(SRCDIR)/netattrib.sch geda \ $(BUILDDIR) $(SRCDIR) # stack gEDA $(SRCDIR)/runtest.sh $(SRCDIR)/../examples/stack_1.sch geda \ $(BUILDDIR) $(SRCDIR) # singlenet gEDA $(SRCDIR)/runtest.sh $(SRCDIR)/singlenet.sch geda \ $(BUILDDIR) $(SRCDIR) # singlenet PCB $(SRCDIR)/runtest.sh $(SRCDIR)/singlenet.sch PCB \ $(BUILDDIR) $(SRCDIR) # singlenet pcbpins $(SRCDIR)/runtest.sh $(SRCDIR)/singlenet.sch pcbpins \ $(BUILDDIR) $(SRCDIR) # singlenet PADS $(SRCDIR)/runtest.sh $(SRCDIR)/singlenet.sch pads \ $(BUILDDIR) $(SRCDIR) # singlenet protelII $(SRCDIR)/runtest.sh $(SRCDIR)/singlenet.sch protelII \ $(BUILDDIR) $(SRCDIR) # singlenet liquidpcb $(SRCDIR)/runtest.sh $(SRCDIR)/singlenet.sch liquidpcb \ $(BUILDDIR) $(SRCDIR) # powersupply PCB $(SRCDIR)/runtest.sh $(SRCDIR)/powersupply.sch PCB \ $(BUILDDIR) $(SRCDIR) # powersupply Allegro $(SRCDIR)/runtest.sh $(SRCDIR)/powersupply.sch allegro \ $(BUILDDIR) $(SRCDIR) # powersupply bae $(SRCDIR)/runtest.sh $(SRCDIR)/powersupply.sch bae \ $(BUILDDIR) $(SRCDIR) # powersupply gEDA $(SRCDIR)/runtest.sh $(SRCDIR)/powersupply.sch geda \ $(BUILDDIR) $(SRCDIR) # powersupply maxascii $(SRCDIR)/runtest.sh $(SRCDIR)/powersupply.sch maxascii \ $(BUILDDIR) $(SRCDIR) # powersupply pads $(SRCDIR)/runtest.sh $(SRCDIR)/powersupply.sch pads \ $(BUILDDIR) $(SRCDIR) # powersupply protelII $(SRCDIR)/runtest.sh $(SRCDIR)/powersupply.sch protelII \ $(BUILDDIR) $(SRCDIR) # powersupply tango $(SRCDIR)/runtest.sh $(SRCDIR)/powersupply.sch tango \ $(BUILDDIR) $(SRCDIR) # powersupply liquidpcb $(SRCDIR)/runtest.sh $(SRCDIR)/powersupply.sch liquidpcb \ $(BUILDDIR) $(SRCDIR) # multiple equals in attributes SPICE-SDB $(SRCDIR)/runtest.sh $(SRCDIR)/multiequal.sch spice-sdb \ $(BUILDDIR) $(SRCDIR) # cascade backend $(SRCDIR)/runtest.sh $(SRCDIR)/cascade.sch cascade \ $(BUILDDIR) $(SRCDIR) # Cleanup rm -f $(BUILDDIR)/new_* rm -rf $(BUILDDIR)/devfiles rm -f $(builddir)/gnetlistrc # These tests are internal to Ales and will not work without the schematics # which I am unable to distribute (due to copyright laws). tests_ales: # cleanup rm -f $(BUILDDIR)/new_* rm -rf $(BUILDDIR)/devfiles mkdir $(BUILDDIR)/devfiles # amp SPICE $(SRCDIR)/runtest.sh $(HOME)/gEDA/alesch/amp.sch spice \ $(BUILDDIR) $(SRCDIR) # darlington SPICE $(SRCDIR)/runtest.sh $(HOME)/gEDA/alesch/darlington.sch spice \ $(BUILDDIR) $(SRCDIR) # amp SPICE SDB $(SRCDIR)/runtest.sh $(HOME)/gEDA/alesch/amp.sch spice-sdb \ $(BUILDDIR) $(SRCDIR) # darlington SPICE SDB $(SRCDIR)/runtest.sh $(HOME)/gEDA/alesch/darlington.sch spice-sdb \ $(BUILDDIR) $(SRCDIR) # switcap (does not work with make distcheck due to local test.ana file) $(GNETLIST) -L $(top_srcdir)/libgeda/scheme \ -L $(top_builddir)/libgeda/scheme \ -o $(BUILDDIR)/new_skt.switcap -g switcap \ $(SRCDIR)/../examples/switcap/ckt.sch \ $(SRCDIR)/../examples/switcap/clocks.sch \ $(SRCDIR)/../examples/switcap/analysis.sch diff $(SRCDIR)/skt.switcap $(BUILDDIR)/new_skt.switcap diff $(SRCDIR)/../examples/switcap/example.scn $(SRCDIR)/new_skt.switcap # 7447 VHDL cp -f $(SRCDIR)/gnetlistrc.vhdl $(BUILDDIR)/gnetlistrc $(SRCDIR)/runtest.sh $(SRCDIR)/../examples/7447.sch vhdl \ $(BUILDDIR) $(SRCDIR) rm -f $(BUILDDIR)/gnetlistrc # cleanup rm -f $(BUILDDIR)/new_* rm -rf $(BUILDDIR)/devfiles MOSTLYCLEANFILES = new_* core *.log FILE *.ps *~ CLEANFILES = new_* core *.log FILE *.ps *~ DISTCLEANFILES = new_* *.log core FILE *.ps *~ MAINTAINERCLEANFILES = new_* core *.log FILE *.ps *~ Makefile.in geda-gaf-1.8.2/gnetlist/tests/powersupply.allegro0000664000175000017500000000122412050461155017051 00000000000000(Allegro netlister by M. Ettus) $PACKAGES ! LM317! LM317; U2 ! POLARIZED_CAPACITOR! 1uf; C4 ! POLARIZED_CAPACITOR! 22uF; C3 ! VARIABLE_RESISTOR! 5k; R1 ! POLARIZED_CAPACITOR! 0.1uF; C2 ! RESISTOR! 220; R2 ! POLARIZED_CAPACITOR! 2200uF; C1 ! SPST! SPST; S1 ! MAINS_CONNECTOR! MAINS_CONNECTOR; CONN1 ! transformer! transformer; T1 ! FUSE! FUSE; F1 ! DIODE-BRIDGE! DIODE-BRIDGE; U1 $NETS ten; U2.1, R1.2, C3.1, R2.1 eleven; U2.2, C4.1, R2.2 GND; CONN1.3 one; S1.1, CONN1.1 five; CONN1.2, T1.2 three; T1.1, F1.2 two; S1.2, F1.1 six; T1.3, U1.4 seven; T1.4, U1.3 nine; C4.2, C3.2, R1.3, R1.1, C2.2, C1.2, U1.2 eight; U2.3, C2.1, C1.1, U1.1 $END geda-gaf-1.8.2/gnetlist/tests/multiequal.sch0000664000175000017500000000127112050461155015754 00000000000000v 20031019 1 C 26600 47100 1 0 0 spice-options-1.sym { T 26700 47500 5 10 1 1 0 0 1 refdes=A1 T 26600 47200 5 10 1 1 0 0 1 value=abotol=1e-11 } C 28800 45800 1 90 0 resistor-1.sym { T 28900 46200 5 10 1 1 0 0 1 refdes=R1 T 28800 45800 5 10 1 1 0 0 1 value=20 } N 26700 47000 28700 47000 4 N 26700 47000 26700 46800 4 N 28700 47000 28700 46700 4 N 28700 45500 26700 45500 4 N 28700 45500 28700 45800 4 N 26700 45500 26700 45600 4 C 26400 45600 1 0 0 vdc-1.sym { T 27100 46250 5 10 1 1 0 0 1 refdes=V1 T 27100 46050 5 10 1 1 0 0 1 value=DC 1V } T 26600 48200 9 10 1 0 0 0 4 This test makes sure that attributes in the form: name=name1=value1 work and get tested. C 27600 45200 1 0 0 gnd-1.sym geda-gaf-1.8.2/gnetlist/tests/singlenet.PCB0000664000175000017500000000015312050461155015407 00000000000000SINGLE_NET2 U100-1 U100-3 GND U100-7 Vcc U100-14 SINGLE_NET U100-4 U100-5 U100-10 U100-8 U100-9 U100-6 geda-gaf-1.8.2/gnetlist/tests/powersupply.bae0000664000175000017500000000107212050461155016154 00000000000000LAYOUT board; PARTS U2 : unknown; C4 : unknown; C3 : unknown; R1 : unknown; C2 : unknown; R2 : unknown; C1 : unknown; S1 : unknown; CONN1 : unknown; T1 : unknown; F1 : unknown; U1 : unknown; CONNECT /'ten'/ U2.1=R1.2=C3.1=R2.1; /'eleven'/ U2.2=C4.1=R2.2; /'GND'/ CONN1.3; /'one'/ S1.1=CONN1.1; /'five'/ CONN1.2=T1.2; /'three'/ T1.1=F1.2; /'two'/ S1.2=F1.1; /'six'/ T1.3=U1.4; /'seven'/ T1.4=U1.3; /'nine'/ C4.2=C3.2=R1.3=R1.1=C2.2=C1.2=U1.2; /'eight'/ U2.3=C2.1=C1.1=U1.1; END. geda-gaf-1.8.2/gnetlist/tests/singlenet.geda0000664000175000017500000000051112050461155015701 00000000000000START header gEDA's netlist format Created specifically for testing of gnetlist END header START components U100 device=7400 END components START renamed-nets END renamed-nets START nets SINGLE_NET2 : U100 1, U100 3 GND : U100 7 Vcc : U100 14 SINGLE_NET : U100 4, U100 5, U100 10, U100 8, U100 9, U100 6 END nets geda-gaf-1.8.2/gnetlist/tests/skt.switcap0000664000175000017500000000160012204066537015272 00000000000000/* Switcap netlist produced by gnetlist (part of gEDA) */ /* See http://www.geda-project.org/ for more information. */ /* Switcap backend written by Dan McMahill */ OPTIONS; WIDTH132; REPORT; GRID; CHKCLK; END; TITLE:my title; TIMING; CLOCK CLK1 1 (0 3/8); PERIOD 1e-6; END; CIRCUIT; S7 (5 0) #CLK1; E1 (OUT 0 0 4) 2.3e5; S6 (OUT 6) CLK1; V1 (0 2); S5 (4 5) CLK1; S4 (3 4) #CLK1; S3 (0 3) CLK1; C3 (5 6) 0.2; S2 (0 1) #CLK1; C2 (4 OUT) 1.0; S1 (2 1) CLK1; C1 (1 3) 1.0; S8 (6 0) #CLK1; END; /* reading analysis from "test.ana" */ ANALYZE SSS; INFREQ 100.0 1.0E6 LOG 501; SET V1 AC 1.0 0.0; PRINT VDB(OUT) VP(OUT); END; ANALYZE TRAN; TIME 0+ 500 1 SET V1 PULSE 0 5 10e-6 5e-6 5e-6 100e-6 500e-6; PRINT V(OUT); END; /* End of SWITCAP netlist */ END; geda-gaf-1.8.2/gnetlist/tests/singlenet.pcbpins0000664000175000017500000000100712050461155016440 00000000000000# Pin name action command file # Start of element U100 ChangePinName(U100, unknown, unknown) ChangePinName(U100, unknown, unknown) ChangePinName(U100, 9, A) ChangePinName(U100, 10, B) ChangePinName(U100, 8, Y) ChangePinName(U100, unknown, unknown) ChangePinName(U100, unknown, unknown) ChangePinName(U100, 1, A) ChangePinName(U100, 2, B) ChangePinName(U100, 3, Y) ChangePinName(U100, unknown, unknown) ChangePinName(U100, unknown, unknown) ChangePinName(U100, 4, A) ChangePinName(U100, 5, B) ChangePinName(U100, 6, Y) geda-gaf-1.8.2/gnetlist/tests/README0000664000175000017500000000132112050461155013747 00000000000000 Tests for gnetlist ---------------------------------------------------------------------------- The tests in this directory are basically just diffs against known good output. Fairly simplistic, but for now it's enough. I have NOT verified that the known good output is correct. You must install gnetlist before you can run these tests. You must also run the tests with all of the gEDA packages in ../.. To run the tests type: make tests The diffs should NOT generate any output. Eventually the tests here will become a bit sophisticated. If anybody has some sample schematics which can be netlisted, please (if you can) submit them to me so I can put them into this test suite. ahvezda@geda.seul.org geda-gaf-1.8.2/gnetlist/tests/powersupply.protelII0000664000175000017500000001572312063576065017177 00000000000000PROTEL NETLIST 2.0 [ DESIGNATOR U2 FOOTPRINT unknown PARTTYPE LM317 DESCRIPTION LM317 Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR C4 FOOTPRINT unknown PARTTYPE 1uf DESCRIPTION POLARIZED_CAPACITOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR C3 FOOTPRINT unknown PARTTYPE 22uF DESCRIPTION POLARIZED_CAPACITOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR R1 FOOTPRINT unknown PARTTYPE 5k DESCRIPTION VARIABLE_RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR C2 FOOTPRINT unknown PARTTYPE 0.1uF DESCRIPTION POLARIZED_CAPACITOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR R2 FOOTPRINT unknown PARTTYPE 220 DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR C1 FOOTPRINT unknown PARTTYPE 2200uF DESCRIPTION POLARIZED_CAPACITOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR S1 FOOTPRINT unknown PARTTYPE SPST DESCRIPTION SPST Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR CONN1 FOOTPRINT unknown PARTTYPE MAINS_CONNECTOR DESCRIPTION MAINS_CONNECTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR T1 FOOTPRINT unknown PARTTYPE transformer DESCRIPTION transformer Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR F1 FOOTPRINT unknown PARTTYPE FUSE DESCRIPTION FUSE Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR U1 FOOTPRINT unknown PARTTYPE DIODE-BRIDGE DESCRIPTION DIODE-BRIDGE Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] ( ten U2-1 LM317-1 PASSIVE R1-2 VARIABLE_RESISTOR-2 PASSIVE C3-1 POLARIZED_CAPACITOR-1 PASSIVE R2-1 RESISTOR-1 PASSIVE ) ( eleven U2-2 LM317-2 PASSIVE C4-1 POLARIZED_CAPACITOR-1 PASSIVE R2-2 RESISTOR-2 PASSIVE ) ( GND CONN1-3 MAINS_CONNECTOR-3 PASSIVE ) ( one S1-1 SPST-1 PASSIVE CONN1-1 MAINS_CONNECTOR-1 PASSIVE ) ( five CONN1-2 MAINS_CONNECTOR-2 PASSIVE T1-2 transformer-2 PASSIVE ) ( three T1-1 transformer-1 PASSIVE F1-2 FUSE-2 PASSIVE ) ( two S1-2 SPST-2 PASSIVE F1-1 FUSE-1 PASSIVE ) ( six T1-3 transformer-3 PASSIVE U1-4 DIODE-BRIDGE-4 PASSIVE ) ( seven T1-4 transformer-4 PASSIVE U1-3 DIODE-BRIDGE-3 PASSIVE ) ( nine C4-2 POLARIZED_CAPACITOR-2 PASSIVE C3-2 POLARIZED_CAPACITOR-2 PASSIVE R1-3 VARIABLE_RESISTOR-3 PASSIVE R1-1 VARIABLE_RESISTOR-1 PASSIVE C2-2 POLARIZED_CAPACITOR-2 PASSIVE C1-2 POLARIZED_CAPACITOR-2 PASSIVE U1-2 DIODE-BRIDGE-2 PASSIVE ) ( eight U2-3 LM317-3 PASSIVE C2-1 POLARIZED_CAPACITOR-1 PASSIVE C1-1 POLARIZED_CAPACITOR-1 PASSIVE U1-1 DIODE-BRIDGE-1 PASSIVE ) geda-gaf-1.8.2/gnetlist/tests/7447.vhdl0000664000175000017500000002155512050461155014366 00000000000000-- Structural VHDL generated by gnetlist -- Context clause library IEEE; use IEEE.Std_Logic_1164.all; -- Entity declaration ENTITY not found IS PORT ( P7 : in Std_Logic; P6 : in Std_Logic; P5 : in Std_Logic; P4 : in Std_Logic; P2 : in Std_Logic; P1 : in Std_Logic; P9 : out Std_Logic; P8 : out Std_Logic; P3 : out Std_Logic; P14 : out Std_Logic; P13 : out Std_Logic; P12 : out Std_Logic; P11 : out Std_Logic; P10 : out Std_Logic); END not found; -- Secondary unit ARCHITECTURE netlist OF not found IS COMPONENT neg PORT ( IN0 : in Std_Logic; OUT0 : out Std_Logic); END COMPONENT ; COMPONENT and2 PORT ( IN1 : in Std_Logic; IN0 : in Std_Logic; OUT0 : out Std_Logic); END COMPONENT ; COMPONENT nand6 PORT ( IN5 : in Std_Logic; IN4 : in Std_Logic; IN3 : in Std_Logic; IN2 : in Std_Logic; IN1 : in Std_Logic; IN0 : in Std_Logic; OUT0 : out Std_Logic); END COMPONENT ; COMPONENT and4 PORT ( IN3 : in Std_Logic; IN2 : in Std_Logic; IN1 : in Std_Logic; IN0 : in Std_Logic; OUT0 : out Std_Logic); END COMPONENT ; COMPONENT and3 PORT ( IN2 : in Std_Logic; IN1 : in Std_Logic; IN0 : in Std_Logic; OUT0 : out Std_Logic); END COMPONENT ; COMPONENT nor3 PORT ( IN2 : in Std_Logic; IN1 : in Std_Logic; IN0 : in Std_Logic; OUT0 : out Std_Logic); END COMPONENT ; COMPONENT nor2 PORT ( IN1 : in Std_Logic; IN0 : in Std_Logic; OUT0 : out Std_Logic); END COMPONENT ; COMPONENT nand2 PORT ( IN1 : in Std_Logic; IN0 : in Std_Logic; OUT0 : out Std_Logic); END COMPONENT ; SIGNAL unnamed_net32 : Std_Logic; SIGNAL unnamed_net31 : Std_Logic; SIGNAL RIPPLE_BLANK_INn : Std_Logic; SIGNAL INPUTD : Std_Logic; SIGNAL OUTPUTGn : Std_Logic; SIGNAL OUTPUTFn : Std_Logic; SIGNAL OUTPUTEn : Std_Logic; SIGNAL OUTPUTDn : Std_Logic; SIGNAL OUTPUTCn : Std_Logic; SIGNAL unnamed_net30 : Std_Logic; SIGNAL OUTPUTBn : Std_Logic; SIGNAL OUTPUTAn : Std_Logic; SIGNAL unnamed_net29 : Std_Logic; SIGNAL unnamed_net28 : Std_Logic; SIGNAL unnamed_net27 : Std_Logic; SIGNAL unnamed_net26 : Std_Logic; SIGNAL unnamed_net25 : Std_Logic; SIGNAL unnamed_net24 : Std_Logic; SIGNAL unnamed_net23 : Std_Logic; SIGNAL unnamed_net22 : Std_Logic; SIGNAL unnamed_net21 : Std_Logic; SIGNAL unnamed_net20 : Std_Logic; SIGNAL unnamed_net19 : Std_Logic; SIGNAL unnamed_net18 : Std_Logic; SIGNAL unnamed_net17 : Std_Logic; SIGNAL unnamed_net16 : Std_Logic; SIGNAL unnamed_net15 : Std_Logic; SIGNAL unnamed_net14 : Std_Logic; SIGNAL unnamed_net13 : Std_Logic; SIGNAL unnamed_net12 : Std_Logic; SIGNAL unnamed_net11 : Std_Logic; SIGNAL unnamed_net10 : Std_Logic; SIGNAL unnamed_net9 : Std_Logic; SIGNAL unnamed_net8 : Std_Logic; SIGNAL unnamed_net7 : Std_Logic; SIGNAL unnamed_net6 : Std_Logic; SIGNAL unnamed_net5 : Std_Logic; SIGNAL RIPPLE_BLANK_OUTn : Std_Logic; SIGNAL unnamed_net4 : Std_Logic; SIGNAL INPUTC : Std_Logic; SIGNAL unnamed_net3 : Std_Logic; SIGNAL INPUTB : Std_Logic; SIGNAL unnamed_net2 : Std_Logic; SIGNAL INPUTA : Std_Logic; SIGNAL LAMP_TESTn : Std_Logic; SIGNAL unnamed_net1 : Std_Logic; BEGIN -- Architecture statement part U23 : neg PORT MAP ( OUT0 => OUTPUTCn, IN0 => unnamed_net18); U39 : neg PORT MAP ( OUT0 => OUTPUTFn, IN0 => unnamed_net25); U38 : nor3 PORT MAP ( OUT0 => unnamed_net30, IN0 => unnamed_net32, IN1 => unnamed_net31, IN2 => unnamed_net11); U22 : neg PORT MAP ( OUT0 => OUTPUTBn, IN0 => unnamed_net30); U37 : and4 PORT MAP ( OUT0 => unnamed_net28, IN0 => LAMP_TESTn, IN1 => unnamed_net8, IN2 => unnamed_net3, IN3 => unnamed_net2); U21 : neg PORT MAP ( OUT0 => OUTPUTAn, IN0 => unnamed_net16); U36 : and3 PORT MAP ( OUT0 => unnamed_net29, IN0 => unnamed_net6, IN1 => unnamed_net5, IN2 => unnamed_net4); U20 : nor2 PORT MAP ( OUT0 => unnamed_net27, IN0 => unnamed_net28, IN1 => unnamed_net29); U35 : and3 PORT MAP ( OUT0 => unnamed_net26, IN0 => unnamed_net8, IN1 => unnamed_net3, IN2 => unnamed_net4); U34 : and3 PORT MAP ( OUT0 => unnamed_net21, IN0 => unnamed_net6, IN1 => unnamed_net5, IN2 => unnamed_net4); U33 : and3 PORT MAP ( OUT0 => unnamed_net22, IN0 => unnamed_net6, IN1 => unnamed_net2, IN2 => unnamed_net1); U32 : and3 PORT MAP ( OUT0 => unnamed_net23, IN0 => unnamed_net3, IN1 => unnamed_net2, IN2 => unnamed_net4); U31 : and3 PORT MAP ( OUT0 => unnamed_net19, IN0 => unnamed_net3, IN1 => unnamed_net5, IN2 => unnamed_net1); U9 : and2 PORT MAP ( OUT0 => unnamed_net10, IN0 => unnamed_net6, IN1 => unnamed_net1); U30 : and3 PORT MAP ( OUT0 => unnamed_net32, IN0 => unnamed_net6, IN1 => unnamed_net5, IN2 => unnamed_net1); U8 : and2 PORT MAP ( OUT0 => unnamed_net9, IN0 => unnamed_net7, IN1 => unnamed_net5); U7 : nand2 PORT MAP ( OUT0 => unnamed_net7, IN0 => RIPPLE_BLANK_OUTn, IN1 => unnamed_net8); U6 : nand2 PORT MAP ( OUT0 => unnamed_net6, IN0 => RIPPLE_BLANK_OUTn, IN1 => unnamed_net3); U5 : nand2 PORT MAP ( OUT0 => unnamed_net5, IN0 => RIPPLE_BLANK_OUTn, IN1 => unnamed_net2); U4 : nand2 PORT MAP ( OUT0 => unnamed_net4, IN0 => RIPPLE_BLANK_OUTn, IN1 => unnamed_net1); U3 : nand2 PORT MAP ( OUT0 => unnamed_net3, IN0 => LAMP_TESTn, IN1 => INPUTC); U2 : nand2 PORT MAP ( OUT0 => unnamed_net2, IN0 => LAMP_TESTn, IN1 => INPUTB); U40 : neg PORT MAP ( OUT0 => OUTPUTGn, IN0 => unnamed_net27); U1 : nand2 PORT MAP ( OUT0 => unnamed_net1, IN0 => LAMP_TESTn, IN1 => INPUTA); U19 : nor3 PORT MAP ( OUT0 => unnamed_net25, IN0 => unnamed_net26, IN1 => unnamed_net15, IN2 => unnamed_net14); U18 : nor2 PORT MAP ( OUT0 => unnamed_net24, IN0 => unnamed_net13, IN1 => unnamed_net4); U17 : nor3 PORT MAP ( OUT0 => unnamed_net20, IN0 => unnamed_net21, IN1 => unnamed_net22, IN2 => unnamed_net23); U16 : nor2 PORT MAP ( OUT0 => unnamed_net18, IN0 => unnamed_net19, IN1 => unnamed_net12); U15 : nor3 PORT MAP ( OUT0 => unnamed_net16, IN0 => unnamed_net17, IN1 => unnamed_net10, IN2 => unnamed_net9); U14 : and2 PORT MAP ( OUT0 => unnamed_net15, IN0 => unnamed_net3, IN1 => unnamed_net5); U29 : and3 PORT MAP ( OUT0 => unnamed_net31, IN0 => unnamed_net6, IN1 => unnamed_net2, IN2 => unnamed_net4); U13 : and2 PORT MAP ( OUT0 => unnamed_net14, IN0 => unnamed_net5, IN1 => unnamed_net4); U12 : and2 PORT MAP ( OUT0 => unnamed_net13, IN0 => unnamed_net6, IN1 => unnamed_net2); U28 : and4 PORT MAP ( OUT0 => unnamed_net17, IN0 => unnamed_net8, IN1 => unnamed_net3, IN2 => unnamed_net2, IN3 => unnamed_net4); U11 : and2 PORT MAP ( OUT0 => unnamed_net12, IN0 => unnamed_net7, IN1 => unnamed_net6); U27 : nand6 PORT MAP ( OUT0 => RIPPLE_BLANK_OUTn, IN0 => LAMP_TESTn, IN1 => RIPPLE_BLANK_INn, IN2 => unnamed_net8, IN3 => unnamed_net3, IN4 => unnamed_net2, IN5 => unnamed_net1); U10 : and2 PORT MAP ( OUT0 => unnamed_net11, IN0 => unnamed_net7, IN1 => unnamed_net5); U26 : neg PORT MAP ( OUT0 => unnamed_net8, IN0 => INPUTD); U25 : neg PORT MAP ( OUT0 => OUTPUTEn, IN0 => unnamed_net24); U24 : neg PORT MAP ( OUT0 => OUTPUTDn, IN0 => unnamed_net20); -- Signal assignment part INPUTA <= P7; INPUTB <= P6; INPUTC <= P5; INPUTD <= P4; RIPPLE_BLANK_INn <= P2; LAMP_TESTn <= P1; P9 <= OUTPUTFn; P8 <= OUTPUTGn; P3 <= RIPPLE_BLANK_OUTn; P14 <= OUTPUTAn; P13 <= OUTPUTBn; P12 <= OUTPUTCn; P11 <= OUTPUTDn; P10 <= OUTPUTEn; END netlist; geda-gaf-1.8.2/gnetlist/tests/Makefile.in0000664000175000017500000006517412220655723015161 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = gnetlist/tests DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am README ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = hierarchy hierarchy2 drc2 common EXTRA_DIST = runtest.sh \ 7447.vhdl README amp.spice cascade.sch cascade.cascade \ darlington.spice netattrib.geda \ netattrib.sch powersupply.PCB powersupply.allegro \ powersupply.bae powersupply.geda powersupply.maxascii \ powersupply.pads powersupply.protelII powersupply.sch \ powersupply.tango singlenet.PCB singlenet.geda singlenet.pads \ powersupply.liquidpcb \ singlenet.pcbpins \ singlenet.protelII singlenet.sch stack_1.geda amp.spice-sdb \ singlenet.liquidpcb \ darlington.spice-sdb skt.switcap test.ana multiequal.sch \ multiequal.spice-sdb gnetlistrc.vhdl gnetlistrc.orig check_SCRIPTS = tests BUILDDIR = $(builddir) SRCDIR = $(srcdir) GNETLIST = $(builddir)/../src/gnetlist MOSTLYCLEANFILES = new_* core *.log FILE *.ps *~ CLEANFILES = new_* core *.log FILE *.ps *~ DISTCLEANFILES = new_* *.log core FILE *.ps *~ MAINTAINERCLEANFILES = new_* core *.log FILE *.ps *~ Makefile.in all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gnetlist/tests/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu gnetlist/tests/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) $(check_SCRIPTS) check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(am__recursive_targets) check-am install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic clean-libtool cscopelist-am ctags \ ctags-am distclean distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags tags-am uninstall uninstall-am tests: # cleanup rm -f $(BUILDDIR)/new_* rm -rf $(BUILDDIR)/devfiles mkdir $(BUILDDIR)/devfiles cp -f $(srcdir)/gnetlistrc.orig $(builddir)/gnetlistrc # netattrib gEDA $(SRCDIR)/runtest.sh $(SRCDIR)/netattrib.sch geda \ $(BUILDDIR) $(SRCDIR) # stack gEDA $(SRCDIR)/runtest.sh $(SRCDIR)/../examples/stack_1.sch geda \ $(BUILDDIR) $(SRCDIR) # singlenet gEDA $(SRCDIR)/runtest.sh $(SRCDIR)/singlenet.sch geda \ $(BUILDDIR) $(SRCDIR) # singlenet PCB $(SRCDIR)/runtest.sh $(SRCDIR)/singlenet.sch PCB \ $(BUILDDIR) $(SRCDIR) # singlenet pcbpins $(SRCDIR)/runtest.sh $(SRCDIR)/singlenet.sch pcbpins \ $(BUILDDIR) $(SRCDIR) # singlenet PADS $(SRCDIR)/runtest.sh $(SRCDIR)/singlenet.sch pads \ $(BUILDDIR) $(SRCDIR) # singlenet protelII $(SRCDIR)/runtest.sh $(SRCDIR)/singlenet.sch protelII \ $(BUILDDIR) $(SRCDIR) # singlenet liquidpcb $(SRCDIR)/runtest.sh $(SRCDIR)/singlenet.sch liquidpcb \ $(BUILDDIR) $(SRCDIR) # powersupply PCB $(SRCDIR)/runtest.sh $(SRCDIR)/powersupply.sch PCB \ $(BUILDDIR) $(SRCDIR) # powersupply Allegro $(SRCDIR)/runtest.sh $(SRCDIR)/powersupply.sch allegro \ $(BUILDDIR) $(SRCDIR) # powersupply bae $(SRCDIR)/runtest.sh $(SRCDIR)/powersupply.sch bae \ $(BUILDDIR) $(SRCDIR) # powersupply gEDA $(SRCDIR)/runtest.sh $(SRCDIR)/powersupply.sch geda \ $(BUILDDIR) $(SRCDIR) # powersupply maxascii $(SRCDIR)/runtest.sh $(SRCDIR)/powersupply.sch maxascii \ $(BUILDDIR) $(SRCDIR) # powersupply pads $(SRCDIR)/runtest.sh $(SRCDIR)/powersupply.sch pads \ $(BUILDDIR) $(SRCDIR) # powersupply protelII $(SRCDIR)/runtest.sh $(SRCDIR)/powersupply.sch protelII \ $(BUILDDIR) $(SRCDIR) # powersupply tango $(SRCDIR)/runtest.sh $(SRCDIR)/powersupply.sch tango \ $(BUILDDIR) $(SRCDIR) # powersupply liquidpcb $(SRCDIR)/runtest.sh $(SRCDIR)/powersupply.sch liquidpcb \ $(BUILDDIR) $(SRCDIR) # multiple equals in attributes SPICE-SDB $(SRCDIR)/runtest.sh $(SRCDIR)/multiequal.sch spice-sdb \ $(BUILDDIR) $(SRCDIR) # cascade backend $(SRCDIR)/runtest.sh $(SRCDIR)/cascade.sch cascade \ $(BUILDDIR) $(SRCDIR) # Cleanup rm -f $(BUILDDIR)/new_* rm -rf $(BUILDDIR)/devfiles rm -f $(builddir)/gnetlistrc # These tests are internal to Ales and will not work without the schematics # which I am unable to distribute (due to copyright laws). tests_ales: # cleanup rm -f $(BUILDDIR)/new_* rm -rf $(BUILDDIR)/devfiles mkdir $(BUILDDIR)/devfiles # amp SPICE $(SRCDIR)/runtest.sh $(HOME)/gEDA/alesch/amp.sch spice \ $(BUILDDIR) $(SRCDIR) # darlington SPICE $(SRCDIR)/runtest.sh $(HOME)/gEDA/alesch/darlington.sch spice \ $(BUILDDIR) $(SRCDIR) # amp SPICE SDB $(SRCDIR)/runtest.sh $(HOME)/gEDA/alesch/amp.sch spice-sdb \ $(BUILDDIR) $(SRCDIR) # darlington SPICE SDB $(SRCDIR)/runtest.sh $(HOME)/gEDA/alesch/darlington.sch spice-sdb \ $(BUILDDIR) $(SRCDIR) # switcap (does not work with make distcheck due to local test.ana file) $(GNETLIST) -L $(top_srcdir)/libgeda/scheme \ -L $(top_builddir)/libgeda/scheme \ -o $(BUILDDIR)/new_skt.switcap -g switcap \ $(SRCDIR)/../examples/switcap/ckt.sch \ $(SRCDIR)/../examples/switcap/clocks.sch \ $(SRCDIR)/../examples/switcap/analysis.sch diff $(SRCDIR)/skt.switcap $(BUILDDIR)/new_skt.switcap diff $(SRCDIR)/../examples/switcap/example.scn $(SRCDIR)/new_skt.switcap # 7447 VHDL cp -f $(SRCDIR)/gnetlistrc.vhdl $(BUILDDIR)/gnetlistrc $(SRCDIR)/runtest.sh $(SRCDIR)/../examples/7447.sch vhdl \ $(BUILDDIR) $(SRCDIR) rm -f $(BUILDDIR)/gnetlistrc # cleanup rm -f $(BUILDDIR)/new_* rm -rf $(BUILDDIR)/devfiles # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/gnetlist/tests/powersupply.liquidpcb0000664000175000017500000000275012050461155017405 00000000000000 geda-gaf-1.8.2/gnetlist/tests/cascade.cascade0000664000175000017500000000060712050461155015765 00000000000000# Cascade (http://rfcascade.sourceforge.net) # Created with gEDA/gnetlist # Initial global defaults defaults RIN=50 ROUT=50 RHO=0 # Source definition source C=0 CN=70 BW=1 # Cascaded system AMP1 G=12 NF=5 IIP3=-2 defaults RIN=50 ROUT=50 RHO=0.2 FL1 G=-5.5 NF=5.5 MX1 G=12 NF=15 IIP3=5 T1 G=0 NF=0 RIN=50 ROUT=50 AMP2 G=10 NF=12 IIP3=12 # End of netlist created by gEDA/gnetlist geda-gaf-1.8.2/gnetlist/tests/darlington.spice0000664000175000017500000000016012050461155016255 00000000000000* Spice netlister for gnetlist Q2 2 3 4 QM Q1 2 1 3 QM RE 4 0 4.7K Vcc 2 0 DC 12V Vin 1 0 DC 5V RB 2 1 47K .END geda-gaf-1.8.2/gnetlist/tests/common/0000775000175000017500000000000012220655756014455 500000000000000geda-gaf-1.8.2/gnetlist/tests/common/Makefile.am0000664000175000017500000000265212220654173016426 00000000000000input_files = \ inputs/gafrc \ inputs/LVDfoo.sch \ inputs/Simulation.cmd \ inputs/TwoStageAmp.sch \ inputs/SlottedOpamps.sch \ inputs/cascade.sch \ inputs/multiequal.sch \ inputs/netattrib.sch \ inputs/powersupply.sch \ inputs/singlenet.sch \ inputs/stack-torture.sch \ inputs/attribs \ \ inputs/models/2N3904.mod \ inputs/models/openIP_5.cir \ \ inputs/sym/LVD.sym \ inputs/sym/transistor.sym \ inputs/sym/LM324_slotted-1.sym AM_TESTS_ENVIRONMENT= PERL=${PERL} check-local: $(AM_TESTS_ENVIRONMENT) srcdir=$(srcdir) $(SHELL) $(srcdir)/run_tests.sh EXTRA_DIST= run_backend_tests.sh run_tests.sh tests.list backends.list \ always-copy.list $(input_files) dist-hook: tests.list backends.list @tests=`cat $(srcdir)/tests.list | sed -e "s:#.*$$::" | sed -e "s:|.*$$::"`; \ backends=`cat $(srcdir)/backends.list`; \ $(MKDIR_P) $(distdir)/outputs || exit $$?; \ for backend in $$backends; do \ dir=outputs/$$backend; \ $(MKDIR_P) $(distdir)/$$dir; \ for test in $$tests; do \ cp -p $(srcdir)/$$dir/$$test.retcode $(distdir)/$$dir \ || exit $$?; \ if test -f $(srcdir)/$$dir/$$test-output.net ; then \ cp -p $(srcdir)/$$dir/$$test-output.net $(distdir)/$$dir \ || exit $$?; \ fi; \ done; \ done; MOSTLYCLEANFILES = core *.log FILE *.ps *~ CLEANFILES = core *.log FILE *.ps *~ DISTCLEANFILES = core *.log FILE *.ps *~ MAINTAINERCLEANFILES = core *.log FILE *.ps *~ Makefile.in geda-gaf-1.8.2/gnetlist/tests/common/backends.list0000664000175000017500000000041012063576065017037 00000000000000allegro bae bom2 bom calay cascade drc2 drc eagle ewnet futurenet2 geda gossip gsch2pcb liquidpcb makedepend mathematica maxascii osmond pads partslist1 partslist2 partslist3 pcbpins PCB protelII redac spice spice-sdb switcap systemc tango vams verilog vhdl vipec geda-gaf-1.8.2/gnetlist/tests/common/outputs/0000775000175000017500000000000012220655760016173 500000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/protelII/0000775000175000017500000000000012220655757017730 500000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/protelII/JD_Include_nomunge-output.net0000664000175000017500000001417612063576065025416 00000000000000PROTEL NETLIST 2.0 [ DESIGNATOR A1 FOOTPRINT unknown PARTTYPE model DESCRIPTION model Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Cm FOOTPRINT unknown PARTTYPE 20p DESCRIPTION CAPACITOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Cp FOOTPRINT unknown PARTTYPE 20p DESCRIPTION CAPACITOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Rlp FOOTPRINT unknown PARTTYPE 1meg DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Rlm FOOTPRINT unknown PARTTYPE 500k DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Vdd FOOTPRINT none PARTTYPE DC 3.3V DESCRIPTION VOLTAGE_SOURCE Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR V1 FOOTPRINT none PARTTYPE pulse 3.3 0 1u 10p 10p 1.25u 2.5u DESCRIPTION vpulse Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Rt FOOTPRINT unknown PARTTYPE 1k DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Rb FOOTPRINT unknown PARTTYPE 5.6k DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR M1 FOOTPRINT unknown PARTTYPE PMOS_TRANSISTOR DESCRIPTION PMOS_TRANSISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR X1 FOOTPRINT unknown PARTTYPE LVD DESCRIPTION LVD Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] ( Vdd1 Rlp-2 RESISTOR-2 PASSIVE M1-B PMOS_TRANSISTOR-B PASSIVE M1-S PMOS_TRANSISTOR-S PASSIVE Vdd-1 VOLTAGE_SOURCE-1 PASSIVE X1-6 LVD-6 PASSIVE ) ( GND Cm-2 CAPACITOR-2 PASSIVE Cp-2 CAPACITOR-2 PASSIVE Rlm-2 RESISTOR-2 PASSIVE Vdd-2 VOLTAGE_SOURCE-2 PASSIVE V1-2 vpulse-2 PASSIVE Rb-1 RESISTOR-1 PASSIVE X1-7 LVD-7 PASSIVE X1-2 LVD-2 PASSIVE ) ( LVH Rb-2 RESISTOR-2 PASSIVE M1-D PMOS_TRANSISTOR-D PASSIVE M1-G PMOS_TRANSISTOR-G PASSIVE X1-3 LVD-3 PASSIVE ) ( i V1-1 vpulse-1 PASSIVE X1-1 LVD-1 PASSIVE ) ( p Cp-1 CAPACITOR-1 PASSIVE Rt-1 RESISTOR-1 PASSIVE Rlp-1 RESISTOR-1 PASSIVE X1-5 LVD-5 PASSIVE ) ( m Cm-1 CAPACITOR-1 PASSIVE Rlm-1 RESISTOR-1 PASSIVE Rt-2 RESISTOR-2 PASSIVE X1-4 LVD-4 PASSIVE ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/protelII/JD-output.net0000664000175000017500000001417612063576065022223 00000000000000PROTEL NETLIST 2.0 [ DESIGNATOR A1 FOOTPRINT unknown PARTTYPE model DESCRIPTION model Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Cm FOOTPRINT unknown PARTTYPE 20p DESCRIPTION CAPACITOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Cp FOOTPRINT unknown PARTTYPE 20p DESCRIPTION CAPACITOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Rlp FOOTPRINT unknown PARTTYPE 1meg DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Rlm FOOTPRINT unknown PARTTYPE 500k DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Vdd FOOTPRINT none PARTTYPE DC 3.3V DESCRIPTION VOLTAGE_SOURCE Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR V1 FOOTPRINT none PARTTYPE pulse 3.3 0 1u 10p 10p 1.25u 2.5u DESCRIPTION vpulse Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Rt FOOTPRINT unknown PARTTYPE 1k DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Rb FOOTPRINT unknown PARTTYPE 5.6k DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR M1 FOOTPRINT unknown PARTTYPE PMOS_TRANSISTOR DESCRIPTION PMOS_TRANSISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR X1 FOOTPRINT unknown PARTTYPE LVD DESCRIPTION LVD Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] ( Vdd1 Rlp-2 RESISTOR-2 PASSIVE M1-B PMOS_TRANSISTOR-B PASSIVE M1-S PMOS_TRANSISTOR-S PASSIVE Vdd-1 VOLTAGE_SOURCE-1 PASSIVE X1-6 LVD-6 PASSIVE ) ( GND Cm-2 CAPACITOR-2 PASSIVE Cp-2 CAPACITOR-2 PASSIVE Rlm-2 RESISTOR-2 PASSIVE Vdd-2 VOLTAGE_SOURCE-2 PASSIVE V1-2 vpulse-2 PASSIVE Rb-1 RESISTOR-1 PASSIVE X1-7 LVD-7 PASSIVE X1-2 LVD-2 PASSIVE ) ( LVH Rb-2 RESISTOR-2 PASSIVE M1-D PMOS_TRANSISTOR-D PASSIVE M1-G PMOS_TRANSISTOR-G PASSIVE X1-3 LVD-3 PASSIVE ) ( i V1-1 vpulse-1 PASSIVE X1-1 LVD-1 PASSIVE ) ( p Cp-1 CAPACITOR-1 PASSIVE Rt-1 RESISTOR-1 PASSIVE Rlp-1 RESISTOR-1 PASSIVE X1-5 LVD-5 PASSIVE ) ( m Cm-1 CAPACITOR-1 PASSIVE Rlm-1 RESISTOR-1 PASSIVE Rt-2 RESISTOR-2 PASSIVE X1-4 LVD-4 PASSIVE ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/protelII/TwoStageAmp.retcode0000664000175000017500000000000212050461155023366 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/protelII/stack-torture-output.net0000664000175000017500000022360312063576065024532 00000000000000PROTEL NETLIST 2.0 [ DESIGNATOR C? FOOTPRINT unknown PARTTYPE CAPACITOR DESCRIPTION CAPACITOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] ( unnamed_net1025 C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net1024 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net1023 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net1022 C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net1021 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net1020 C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net1019 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net1018 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net1017 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net1016 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net1015 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net1014 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net1013 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net1012 C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net1011 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net1010 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net1009 C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net1008 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net1007 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net1006 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net1005 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net1004 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net1003 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net1002 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net1001 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net1000 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net999 C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net998 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net997 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net996 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net995 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net994 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net993 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net992 C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net991 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net990 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net989 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net988 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net987 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net986 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net985 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net984 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net983 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net982 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net981 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net980 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net979 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net978 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net977 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net976 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net975 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net974 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net973 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net972 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net971 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net970 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net969 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net968 C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net967 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net966 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net965 C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net964 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net963 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net962 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net961 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net960 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net959 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net958 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net957 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net956 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net955 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net954 C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net953 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net952 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net951 C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net950 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net949 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net948 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net947 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net946 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net945 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net944 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net943 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net942 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net941 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net940 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net939 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net938 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net937 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net936 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net935 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net934 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net933 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net932 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net931 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net930 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net929 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net928 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net927 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net926 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net925 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net924 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net923 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net922 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net921 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net920 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net919 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net918 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net917 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net916 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net915 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net914 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net913 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net912 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net911 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net910 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net909 C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net908 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net907 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net906 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net905 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net904 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net903 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net902 C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net901 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net900 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net899 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net898 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net897 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net896 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net895 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net894 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net893 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net892 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net891 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net890 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net889 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net888 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net887 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net886 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net885 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net884 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net883 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net882 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net881 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net880 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net879 C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net878 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net877 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net876 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net875 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net874 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net873 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net872 C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net871 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net870 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net869 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net868 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net867 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net866 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net865 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net864 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net863 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net862 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net861 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net860 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net859 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net858 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net857 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net856 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net855 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net854 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net853 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net852 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net851 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net850 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net849 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net848 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net847 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net846 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net845 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net844 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net843 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net842 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net841 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net840 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net839 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net838 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net837 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net836 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net835 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net834 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net833 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net832 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net831 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net830 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net829 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net828 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net827 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net826 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net825 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net824 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net823 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net822 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net821 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net820 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net819 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net818 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net817 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net816 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net815 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net814 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net813 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net812 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net811 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net810 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net809 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net808 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net807 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net806 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net805 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net804 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net803 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net802 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net801 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net800 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net799 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net798 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net797 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net796 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net795 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net794 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net793 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net792 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net791 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net790 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net789 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net788 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net787 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net786 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net785 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net784 C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net783 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net782 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net781 C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net780 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net779 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net778 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net777 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net776 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net775 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net774 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net773 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net772 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net771 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net770 C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net769 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net768 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net767 C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net766 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net765 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net764 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net763 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net762 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net761 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net760 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net759 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net758 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net757 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net756 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net755 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net754 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net753 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net752 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net751 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net750 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net749 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net748 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net747 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net746 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net745 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net744 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net743 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net742 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net741 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net740 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net739 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net738 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net737 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net736 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net735 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net734 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net733 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net732 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net731 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net730 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net729 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net728 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net727 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net726 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net725 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net724 C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net723 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net722 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net721 C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net720 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net719 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net718 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net717 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net716 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net715 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net714 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net713 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net712 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net711 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net710 C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net709 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net708 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net707 C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net706 C?-1 CAPACITOR-1 PASSIVE ) ( unnamed_net705 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net704 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net703 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net702 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net701 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net700 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net699 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net698 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net697 C?-1 CAPACITOR-1 PASSIVE ) ( unnamed_net696 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net695 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net694 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net693 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net692 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net691 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net690 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net689 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net688 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net687 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net686 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net685 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net684 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net683 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net682 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net681 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net680 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net679 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net678 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net677 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net676 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net675 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net674 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net673 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net672 C?-1 CAPACITOR-1 PASSIVE ) ( unnamed_net671 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net670 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net669 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net668 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net667 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net666 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net665 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net664 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net663 C?-1 CAPACITOR-1 PASSIVE ) ( unnamed_net662 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net661 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net660 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net659 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net658 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net657 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net656 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net655 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net654 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net653 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net652 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net651 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net650 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net649 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net648 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net647 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net646 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net645 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net644 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net643 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net642 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net641 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net640 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net639 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net638 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net637 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net636 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net635 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net634 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net633 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net632 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net631 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net630 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net629 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net628 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net627 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net626 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net625 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net624 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net623 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net622 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net621 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net620 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net619 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net618 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net617 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net616 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net615 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net614 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net613 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net612 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net611 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net610 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net609 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net608 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net607 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net606 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net605 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net604 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net603 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net602 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net601 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net600 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net599 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net598 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net597 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net596 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net595 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net594 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net593 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net592 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net591 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net590 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net589 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net588 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net587 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net586 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net585 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net584 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net583 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net582 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net581 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net580 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net579 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net578 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net577 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net576 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net575 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net574 C?-1 CAPACITOR-1 PASSIVE ) ( unnamed_net573 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net572 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net571 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net570 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net569 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net568 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net567 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net566 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net565 C?-1 CAPACITOR-1 PASSIVE ) ( unnamed_net564 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net563 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net562 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net561 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net560 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net559 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net558 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net557 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net556 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net555 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net554 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net553 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net552 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net551 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net550 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net549 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net548 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net547 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net546 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net545 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net544 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net543 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net542 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net541 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net540 C?-1 CAPACITOR-1 PASSIVE ) ( unnamed_net539 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net538 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net537 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net536 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net535 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net534 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net533 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net532 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net531 C?-1 CAPACITOR-1 PASSIVE ) ( unnamed_net530 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net529 C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net528 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net527 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net526 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net525 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net524 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net523 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net522 C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net521 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net520 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net519 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net518 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net517 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net516 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net515 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net514 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net513 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net512 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net511 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net510 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net509 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net508 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net507 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net506 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net505 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net504 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net503 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net502 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net501 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net500 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net499 C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net498 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net497 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net496 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net495 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net494 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net493 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net492 C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net491 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net490 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net489 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net488 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net487 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net486 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net485 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net484 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net483 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net482 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net481 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net480 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net479 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net478 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net477 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net476 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net475 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net474 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net473 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net472 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net471 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net470 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net469 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net468 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net467 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net466 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net465 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net464 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net463 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net462 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net461 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net460 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net459 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net458 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net457 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net456 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net455 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net454 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net453 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net452 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net451 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net450 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net449 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net448 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net447 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net446 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net445 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net444 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net443 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net442 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net441 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net440 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net439 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net438 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net437 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net436 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net435 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net434 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net433 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net432 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net431 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net430 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net429 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net428 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net427 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net426 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net425 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net424 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net423 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net422 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net421 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net420 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net419 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net418 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net417 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net416 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net415 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net414 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net413 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net412 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net411 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net410 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net409 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net408 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net407 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net406 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net405 C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net404 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net403 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net402 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net401 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net400 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net399 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net398 C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net397 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net396 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net395 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net394 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net393 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net392 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net391 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net390 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net389 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net388 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net387 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net386 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net385 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net384 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net383 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net382 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net381 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net380 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net379 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net378 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net377 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net376 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net375 C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net374 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net373 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net372 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net371 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net370 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net369 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net368 C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net367 C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net366 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net365 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net364 C?-1 CAPACITOR-1 PASSIVE ) ( unnamed_net363 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net362 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net361 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net360 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net359 C?-1 CAPACITOR-1 PASSIVE ) ( unnamed_net358 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net357 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net356 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net355 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net354 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net353 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net352 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net351 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net350 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net349 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net348 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net347 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net346 C?-1 CAPACITOR-1 PASSIVE ) ( unnamed_net345 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net344 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net343 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net342 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net341 C?-1 CAPACITOR-1 PASSIVE ) ( unnamed_net340 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net339 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net338 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net337 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net336 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net335 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net334 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net333 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net332 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net331 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net330 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net329 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net328 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net327 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net326 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net325 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net324 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net323 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net322 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net321 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net320 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net319 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net318 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net317 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net316 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net315 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net314 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net313 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net312 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net311 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net310 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net309 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net308 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net307 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net306 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net305 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net304 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net303 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net302 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net301 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net300 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net299 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net298 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net297 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net296 C?-1 CAPACITOR-1 PASSIVE ) ( unnamed_net295 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net294 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net293 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net292 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net291 C?-1 CAPACITOR-1 PASSIVE ) ( unnamed_net290 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net289 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net288 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net287 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net286 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net285 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net284 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net283 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net282 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net281 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net280 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net279 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net278 C?-1 CAPACITOR-1 PASSIVE ) ( unnamed_net277 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net276 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net275 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net274 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net273 C?-1 CAPACITOR-1 PASSIVE ) ( unnamed_net272 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net271 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net270 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net269 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net268 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net267 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net266 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net265 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net264 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net263 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net262 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net261 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net260 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net259 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net258 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net257 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net256 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net255 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net254 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net253 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net252 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net251 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net250 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net249 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net248 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net247 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net246 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net245 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net244 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net243 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net242 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net241 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net240 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net239 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net238 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net237 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net236 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net235 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net234 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net233 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net232 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net231 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net230 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net229 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net228 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net227 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net226 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net225 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net224 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net223 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net222 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net221 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net220 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net219 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net218 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net217 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net216 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net215 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net214 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net213 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net212 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net211 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net210 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net209 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net208 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net207 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net206 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net205 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net204 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net203 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net202 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net201 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net200 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net199 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net198 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net197 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net196 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net195 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net194 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net193 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net192 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net191 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net190 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net189 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net188 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net187 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net186 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net185 C?-1 CAPACITOR-1 PASSIVE ) ( unnamed_net184 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net183 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net182 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net181 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net180 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net179 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net178 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net177 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net176 C?-1 CAPACITOR-1 PASSIVE ) ( unnamed_net175 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net174 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net173 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net172 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net171 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net170 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net169 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net168 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net167 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net166 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net165 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net164 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net163 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net162 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net161 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net160 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net159 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net158 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net157 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net156 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net155 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net154 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net153 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net152 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net151 C?-1 CAPACITOR-1 PASSIVE ) ( unnamed_net150 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net149 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net148 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net147 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net146 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net145 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net144 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net143 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net142 C?-1 CAPACITOR-1 PASSIVE ) ( unnamed_net141 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net140 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net139 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net138 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net137 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net136 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net135 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net134 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net133 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net132 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net131 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net130 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net129 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net128 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net127 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net126 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net125 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net124 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net123 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net122 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net121 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net120 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net119 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net118 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net117 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net116 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net115 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net114 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net113 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net112 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net111 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net110 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net109 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net108 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net107 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net106 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net105 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net104 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net103 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net102 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net101 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net100 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net99 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net98 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net97 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net96 C?-1 CAPACITOR-1 PASSIVE ) ( unnamed_net95 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net94 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net93 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net92 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net91 C?-1 CAPACITOR-1 PASSIVE ) ( unnamed_net90 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net89 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net88 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net87 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net86 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net85 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net84 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net83 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net82 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net81 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net80 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net79 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net78 C?-1 CAPACITOR-1 PASSIVE ) ( unnamed_net77 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net76 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net75 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net74 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net73 C?-1 CAPACITOR-1 PASSIVE ) ( unnamed_net72 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net71 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net70 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net69 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net68 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net67 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net66 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net65 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net64 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net63 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net62 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net61 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net60 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net59 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net58 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net57 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net56 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net55 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net54 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net53 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net52 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net51 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net50 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net49 C?-1 CAPACITOR-1 PASSIVE ) ( unnamed_net48 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net47 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net46 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net45 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net44 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net43 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net42 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net41 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net40 C?-1 CAPACITOR-1 PASSIVE ) ( unnamed_net39 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net38 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net37 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net36 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net35 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net34 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net33 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net32 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net31 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net30 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net29 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net28 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net27 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net26 C?-1 CAPACITOR-1 PASSIVE ) ( unnamed_net25 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net24 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net23 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net22 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net21 C?-1 CAPACITOR-1 PASSIVE ) ( unnamed_net20 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net19 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net18 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net17 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net16 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net15 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net14 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net13 C?-1 CAPACITOR-1 PASSIVE ) ( unnamed_net12 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net11 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net10 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net9 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net8 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net7 C?-1 CAPACITOR-1 PASSIVE ) ( unnamed_net6 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net5 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net4 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net3 C?-1 CAPACITOR-1 PASSIVE ) ( unnamed_net2 C?-1 CAPACITOR-1 PASSIVE C?-2 CAPACITOR-2 PASSIVE ) ( unnamed_net1 C?-1 CAPACITOR-1 PASSIVE ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/protelII/JD_Sort.retcode0000664000175000017500000000000212050461155022477 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/protelII/cascade-output.net0000664000175000017500000001113312063576065023277 00000000000000PROTEL NETLIST 2.0 [ DESIGNATOR AMP2 FOOTPRINT none PARTTYPE cascade-amp DESCRIPTION cascade-amp Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR T1 FOOTPRINT none PARTTYPE cascade-transformer DESCRIPTION cascade-transformer Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR MX1 FOOTPRINT none PARTTYPE cascade-mixer DESCRIPTION cascade-mixer Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR FL1 FOOTPRINT none PARTTYPE cascade-filter DESCRIPTION cascade-filter Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR DEF1 FOOTPRINT none PARTTYPE cascade-defaults DESCRIPTION cascade-defaults Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR AMP1 FOOTPRINT none PARTTYPE cascade-amp DESCRIPTION cascade-amp Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR SOURCE FOOTPRINT none PARTTYPE cascade-source DESCRIPTION cascade-source Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR DEFAULTS FOOTPRINT unknown PARTTYPE cascade-defaults-top DESCRIPTION cascade-defaults-top Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] ( unnamed_net6 AMP2-1 cascade-amp-1 PASSIVE T1-2 cascade-transformer-2 PASSIVE ) ( unnamed_net5 T1-1 cascade-transformer-1 PASSIVE MX1-2 cascade-mixer-2 PASSIVE ) ( unnamed_net4 MX1-1 cascade-mixer-1 PASSIVE FL1-2 cascade-filter-2 PASSIVE ) ( unnamed_net3 FL1-1 cascade-filter-1 PASSIVE DEF1-2 cascade-defaults-2 PASSIVE ) ( unnamed_net2 DEF1-1 cascade-defaults-1 PASSIVE AMP1-2 cascade-amp-2 PASSIVE ) ( unnamed_net1 AMP1-1 cascade-amp-1 PASSIVE SOURCE-1 cascade-source-1 PASSIVE ) ( GND DEFAULTS-1 cascade-defaults-top-1 PASSIVE ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/protelII/multiequal-output.net0000664000175000017500000000317612063576065024106 00000000000000PROTEL NETLIST 2.0 [ DESIGNATOR V1 FOOTPRINT none PARTTYPE DC 1V DESCRIPTION VOLTAGE_SOURCE Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR R1 FOOTPRINT unknown PARTTYPE 20 DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR A1 FOOTPRINT unknown PARTTYPE abotol=1e-11 DESCRIPTION options Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] ( GND V1-2 VOLTAGE_SOURCE-2 PASSIVE R1-1 RESISTOR-1 PASSIVE ) ( unnamed_net1 V1-1 VOLTAGE_SOURCE-1 PASSIVE R1-2 RESISTOR-2 PASSIVE ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/protelII/JD_nomunge-output.net0000664000175000017500000001417612063576065023753 00000000000000PROTEL NETLIST 2.0 [ DESIGNATOR A1 FOOTPRINT unknown PARTTYPE model DESCRIPTION model Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Cm FOOTPRINT unknown PARTTYPE 20p DESCRIPTION CAPACITOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Cp FOOTPRINT unknown PARTTYPE 20p DESCRIPTION CAPACITOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Rlp FOOTPRINT unknown PARTTYPE 1meg DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Rlm FOOTPRINT unknown PARTTYPE 500k DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Vdd FOOTPRINT none PARTTYPE DC 3.3V DESCRIPTION VOLTAGE_SOURCE Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR V1 FOOTPRINT none PARTTYPE pulse 3.3 0 1u 10p 10p 1.25u 2.5u DESCRIPTION vpulse Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Rt FOOTPRINT unknown PARTTYPE 1k DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Rb FOOTPRINT unknown PARTTYPE 5.6k DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR M1 FOOTPRINT unknown PARTTYPE PMOS_TRANSISTOR DESCRIPTION PMOS_TRANSISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR X1 FOOTPRINT unknown PARTTYPE LVD DESCRIPTION LVD Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] ( Vdd1 Rlp-2 RESISTOR-2 PASSIVE M1-B PMOS_TRANSISTOR-B PASSIVE M1-S PMOS_TRANSISTOR-S PASSIVE Vdd-1 VOLTAGE_SOURCE-1 PASSIVE X1-6 LVD-6 PASSIVE ) ( GND Cm-2 CAPACITOR-2 PASSIVE Cp-2 CAPACITOR-2 PASSIVE Rlm-2 RESISTOR-2 PASSIVE Vdd-2 VOLTAGE_SOURCE-2 PASSIVE V1-2 vpulse-2 PASSIVE Rb-1 RESISTOR-1 PASSIVE X1-7 LVD-7 PASSIVE X1-2 LVD-2 PASSIVE ) ( LVH Rb-2 RESISTOR-2 PASSIVE M1-D PMOS_TRANSISTOR-D PASSIVE M1-G PMOS_TRANSISTOR-G PASSIVE X1-3 LVD-3 PASSIVE ) ( i V1-1 vpulse-1 PASSIVE X1-1 LVD-1 PASSIVE ) ( p Cp-1 CAPACITOR-1 PASSIVE Rt-1 RESISTOR-1 PASSIVE Rlp-1 RESISTOR-1 PASSIVE X1-5 LVD-5 PASSIVE ) ( m Cm-1 CAPACITOR-1 PASSIVE Rlm-1 RESISTOR-1 PASSIVE Rt-2 RESISTOR-2 PASSIVE X1-4 LVD-4 PASSIVE ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/protelII/stack-torture.retcode0000664000175000017500000000000212063576065024015 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/protelII/powersupply.retcode0000664000175000017500000000000212050461155023604 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/protelII/JD_Sort_nomunge-output.net0000664000175000017500000001417612063576065024762 00000000000000PROTEL NETLIST 2.0 [ DESIGNATOR A1 FOOTPRINT unknown PARTTYPE model DESCRIPTION model Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Cm FOOTPRINT unknown PARTTYPE 20p DESCRIPTION CAPACITOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Cp FOOTPRINT unknown PARTTYPE 20p DESCRIPTION CAPACITOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Rlp FOOTPRINT unknown PARTTYPE 1meg DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Rlm FOOTPRINT unknown PARTTYPE 500k DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Vdd FOOTPRINT none PARTTYPE DC 3.3V DESCRIPTION VOLTAGE_SOURCE Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR V1 FOOTPRINT none PARTTYPE pulse 3.3 0 1u 10p 10p 1.25u 2.5u DESCRIPTION vpulse Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Rt FOOTPRINT unknown PARTTYPE 1k DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Rb FOOTPRINT unknown PARTTYPE 5.6k DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR M1 FOOTPRINT unknown PARTTYPE PMOS_TRANSISTOR DESCRIPTION PMOS_TRANSISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR X1 FOOTPRINT unknown PARTTYPE LVD DESCRIPTION LVD Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] ( Vdd1 Rlp-2 RESISTOR-2 PASSIVE M1-B PMOS_TRANSISTOR-B PASSIVE M1-S PMOS_TRANSISTOR-S PASSIVE Vdd-1 VOLTAGE_SOURCE-1 PASSIVE X1-6 LVD-6 PASSIVE ) ( GND Cm-2 CAPACITOR-2 PASSIVE Cp-2 CAPACITOR-2 PASSIVE Rlm-2 RESISTOR-2 PASSIVE Vdd-2 VOLTAGE_SOURCE-2 PASSIVE V1-2 vpulse-2 PASSIVE Rb-1 RESISTOR-1 PASSIVE X1-7 LVD-7 PASSIVE X1-2 LVD-2 PASSIVE ) ( LVH Rb-2 RESISTOR-2 PASSIVE M1-D PMOS_TRANSISTOR-D PASSIVE M1-G PMOS_TRANSISTOR-G PASSIVE X1-3 LVD-3 PASSIVE ) ( i V1-1 vpulse-1 PASSIVE X1-1 LVD-1 PASSIVE ) ( p Cp-1 CAPACITOR-1 PASSIVE Rt-1 RESISTOR-1 PASSIVE Rlp-1 RESISTOR-1 PASSIVE X1-5 LVD-5 PASSIVE ) ( m Cm-1 CAPACITOR-1 PASSIVE Rlm-1 RESISTOR-1 PASSIVE Rt-2 RESISTOR-2 PASSIVE X1-4 LVD-4 PASSIVE ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/protelII/TwoStageAmp_Sort.retcode0000664000175000017500000000000212050461155024375 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/protelII/netattrib.retcode0000664000175000017500000000000212050461155023167 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/protelII/JD_nomunge.retcode0000664000175000017500000000000212050461155023220 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/protelII/JD_Include-output.net0000664000175000017500000001417612063576065023666 00000000000000PROTEL NETLIST 2.0 [ DESIGNATOR A1 FOOTPRINT unknown PARTTYPE model DESCRIPTION model Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Cm FOOTPRINT unknown PARTTYPE 20p DESCRIPTION CAPACITOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Cp FOOTPRINT unknown PARTTYPE 20p DESCRIPTION CAPACITOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Rlp FOOTPRINT unknown PARTTYPE 1meg DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Rlm FOOTPRINT unknown PARTTYPE 500k DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Vdd FOOTPRINT none PARTTYPE DC 3.3V DESCRIPTION VOLTAGE_SOURCE Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR V1 FOOTPRINT none PARTTYPE pulse 3.3 0 1u 10p 10p 1.25u 2.5u DESCRIPTION vpulse Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Rt FOOTPRINT unknown PARTTYPE 1k DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Rb FOOTPRINT unknown PARTTYPE 5.6k DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR M1 FOOTPRINT unknown PARTTYPE PMOS_TRANSISTOR DESCRIPTION PMOS_TRANSISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR X1 FOOTPRINT unknown PARTTYPE LVD DESCRIPTION LVD Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] ( Vdd1 Rlp-2 RESISTOR-2 PASSIVE M1-B PMOS_TRANSISTOR-B PASSIVE M1-S PMOS_TRANSISTOR-S PASSIVE Vdd-1 VOLTAGE_SOURCE-1 PASSIVE X1-6 LVD-6 PASSIVE ) ( GND Cm-2 CAPACITOR-2 PASSIVE Cp-2 CAPACITOR-2 PASSIVE Rlm-2 RESISTOR-2 PASSIVE Vdd-2 VOLTAGE_SOURCE-2 PASSIVE V1-2 vpulse-2 PASSIVE Rb-1 RESISTOR-1 PASSIVE X1-7 LVD-7 PASSIVE X1-2 LVD-2 PASSIVE ) ( LVH Rb-2 RESISTOR-2 PASSIVE M1-D PMOS_TRANSISTOR-D PASSIVE M1-G PMOS_TRANSISTOR-G PASSIVE X1-3 LVD-3 PASSIVE ) ( i V1-1 vpulse-1 PASSIVE X1-1 LVD-1 PASSIVE ) ( p Cp-1 CAPACITOR-1 PASSIVE Rt-1 RESISTOR-1 PASSIVE Rlp-1 RESISTOR-1 PASSIVE X1-5 LVD-5 PASSIVE ) ( m Cm-1 CAPACITOR-1 PASSIVE Rlm-1 RESISTOR-1 PASSIVE Rt-2 RESISTOR-2 PASSIVE X1-4 LVD-4 PASSIVE ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/protelII/JD_Sort-output.net0000664000175000017500000001417612063576065023232 00000000000000PROTEL NETLIST 2.0 [ DESIGNATOR A1 FOOTPRINT unknown PARTTYPE model DESCRIPTION model Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Cm FOOTPRINT unknown PARTTYPE 20p DESCRIPTION CAPACITOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Cp FOOTPRINT unknown PARTTYPE 20p DESCRIPTION CAPACITOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Rlp FOOTPRINT unknown PARTTYPE 1meg DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Rlm FOOTPRINT unknown PARTTYPE 500k DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Vdd FOOTPRINT none PARTTYPE DC 3.3V DESCRIPTION VOLTAGE_SOURCE Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR V1 FOOTPRINT none PARTTYPE pulse 3.3 0 1u 10p 10p 1.25u 2.5u DESCRIPTION vpulse Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Rt FOOTPRINT unknown PARTTYPE 1k DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Rb FOOTPRINT unknown PARTTYPE 5.6k DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR M1 FOOTPRINT unknown PARTTYPE PMOS_TRANSISTOR DESCRIPTION PMOS_TRANSISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR X1 FOOTPRINT unknown PARTTYPE LVD DESCRIPTION LVD Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] ( Vdd1 Rlp-2 RESISTOR-2 PASSIVE M1-B PMOS_TRANSISTOR-B PASSIVE M1-S PMOS_TRANSISTOR-S PASSIVE Vdd-1 VOLTAGE_SOURCE-1 PASSIVE X1-6 LVD-6 PASSIVE ) ( GND Cm-2 CAPACITOR-2 PASSIVE Cp-2 CAPACITOR-2 PASSIVE Rlm-2 RESISTOR-2 PASSIVE Vdd-2 VOLTAGE_SOURCE-2 PASSIVE V1-2 vpulse-2 PASSIVE Rb-1 RESISTOR-1 PASSIVE X1-7 LVD-7 PASSIVE X1-2 LVD-2 PASSIVE ) ( LVH Rb-2 RESISTOR-2 PASSIVE M1-D PMOS_TRANSISTOR-D PASSIVE M1-G PMOS_TRANSISTOR-G PASSIVE X1-3 LVD-3 PASSIVE ) ( i V1-1 vpulse-1 PASSIVE X1-1 LVD-1 PASSIVE ) ( p Cp-1 CAPACITOR-1 PASSIVE Rt-1 RESISTOR-1 PASSIVE Rlp-1 RESISTOR-1 PASSIVE X1-5 LVD-5 PASSIVE ) ( m Cm-1 CAPACITOR-1 PASSIVE Rlm-1 RESISTOR-1 PASSIVE Rt-2 RESISTOR-2 PASSIVE X1-4 LVD-4 PASSIVE ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/protelII/cascade.retcode0000664000175000017500000000000212050461155022556 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/protelII/TwoStageAmp_Sort-output.net0000664000175000017500000003100712063576065025120 00000000000000PROTEL NETLIST 2.0 [ DESIGNATOR C2 FOOTPRINT unknown PARTTYPE 2.2uF DESCRIPTION CAPACITOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR R4 FOOTPRINT unknown PARTTYPE 2.8K DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR R3 FOOTPRINT unknown PARTTYPE 28K DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR R8 FOOTPRINT unknown PARTTYPE 1 DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR CE2 FOOTPRINT unknown PARTTYPE 1pF DESCRIPTION CAPACITOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR RE2 FOOTPRINT unknown PARTTYPE 100 DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR RC1 FOOTPRINT unknown PARTTYPE 3.3K DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Q2 FOOTPRINT unknown PARTTYPE NPN_TRANSISTOR DESCRIPTION NPN_TRANSISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR C1 FOOTPRINT unknown PARTTYPE 2.2uF DESCRIPTION CAPACITOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR A3 FOOTPRINT unknown PARTTYPE .options TEMP=25 DESCRIPTION directive Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR A2 FOOTPRINT unknown PARTTYPE include DESCRIPTION include Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR A1 FOOTPRINT unknown PARTTYPE model DESCRIPTION model Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR VCC FOOTPRINT none PARTTYPE DC 15V DESCRIPTION VOLTAGE_SOURCE Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Vinput FOOTPRINT none PARTTYPE DC 1.6V AC 10MV SIN(0 1MV 1KHZ) DESCRIPTION vsin Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR CE1 FOOTPRINT unknown PARTTYPE 1pF DESCRIPTION CAPACITOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Cout FOOTPRINT unknown PARTTYPE 2.2uF DESCRIPTION CAPACITOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR RL FOOTPRINT unknown PARTTYPE 100K DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR RC2 FOOTPRINT unknown PARTTYPE 1K DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR RE1 FOOTPRINT unknown PARTTYPE 100 DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR R2 FOOTPRINT unknown PARTTYPE 2K DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR R1 FOOTPRINT unknown PARTTYPE 28K DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR R5 FOOTPRINT unknown PARTTYPE 10 DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Q1 FOOTPRINT unknown PARTTYPE NPN_TRANSISTOR DESCRIPTION NPN_TRANSISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] ( unnamed_net2 C2-1 CAPACITOR-1 PASSIVE R8-2 RESISTOR-2 PASSIVE ) ( Vbase2 R3-1 RESISTOR-1 PASSIVE C2-2 CAPACITOR-2 PASSIVE R4-2 RESISTOR-2 PASSIVE Q2-2 NPN_TRANSISTOR-2 PASSIVE ) ( Vem2 CE2-2 CAPACITOR-2 PASSIVE RE2-2 RESISTOR-2 PASSIVE Q2-1 NPN_TRANSISTOR-1 PASSIVE ) ( Vout Cout-2 CAPACITOR-2 PASSIVE RL-2 RESISTOR-2 PASSIVE ) ( VColl2 Q2-3 NPN_TRANSISTOR-3 PASSIVE Cout-1 CAPACITOR-1 PASSIVE RC2-1 RESISTOR-1 PASSIVE ) ( GND R4-1 RESISTOR-1 PASSIVE CE2-1 CAPACITOR-1 PASSIVE RE2-1 RESISTOR-1 PASSIVE VCC-2 VOLTAGE_SOURCE-2 PASSIVE Vinput-2 vsin-2 PASSIVE CE1-1 CAPACITOR-1 PASSIVE RL-1 RESISTOR-1 PASSIVE RE1-1 RESISTOR-1 PASSIVE R2-1 RESISTOR-1 PASSIVE ) ( Vcc R3-2 RESISTOR-2 PASSIVE RC1-2 RESISTOR-2 PASSIVE VCC-1 VOLTAGE_SOURCE-1 PASSIVE RC2-2 RESISTOR-2 PASSIVE R1-2 RESISTOR-2 PASSIVE ) ( Vin Vinput-1 vsin-1 PASSIVE R5-1 RESISTOR-1 PASSIVE ) ( unnamed_net1 C1-1 CAPACITOR-1 PASSIVE R5-2 RESISTOR-2 PASSIVE ) ( Vbase1 C1-2 CAPACITOR-2 PASSIVE R2-2 RESISTOR-2 PASSIVE R1-1 RESISTOR-1 PASSIVE Q1-2 NPN_TRANSISTOR-2 PASSIVE ) ( Vem1 CE1-2 CAPACITOR-2 PASSIVE RE1-2 RESISTOR-2 PASSIVE Q1-1 NPN_TRANSISTOR-1 PASSIVE ) ( Vcoll1 R8-1 RESISTOR-1 PASSIVE RC1-1 RESISTOR-1 PASSIVE Q1-3 NPN_TRANSISTOR-3 PASSIVE ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/protelII/singlenet-output.net0000664000175000017500000000144212063576065023706 00000000000000PROTEL NETLIST 2.0 [ DESIGNATOR U100 FOOTPRINT DIP14 PARTTYPE 7400 DESCRIPTION 7400 Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] ( SING_N_2 U100-1 7400-1 PASSIVE U100-3 7400-3 PASSIVE ) ( GND U100-7 7400-7 PASSIVE ) ( Vcc U100-14 7400-14 PASSIVE ) ( SING_N U100-4 7400-4 PASSIVE U100-5 7400-5 PASSIVE U100-10 7400-10 PASSIVE U100-8 7400-8 PASSIVE U100-9 7400-9 PASSIVE U100-6 7400-6 PASSIVE ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/protelII/TwoStageAmp_Include.retcode0000664000175000017500000000000212050461155025031 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/protelII/SlottedOpamps-output.net0000664000175000017500000000202012063576065024505 00000000000000PROTEL NETLIST 2.0 [ DESIGNATOR U1 FOOTPRINT unknown PARTTYPE LM324 DESCRIPTION LM324 Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] ( minusin_slot4_pin13_b U1-13 LM324-13 PASSIVE ) ( plusin_slot4_pin12_a U1-12 LM324-12 PASSIVE ) ( minusin_slot3_pin_b U1-9 LM324-9 PASSIVE ) ( plusin_slot3_pin10_a U1-10 LM324-10 PASSIVE ) ( minusin_slot2_pin6_b U1-6 LM324-6 PASSIVE ) ( plusin_slot2_pin5_a U1-5 LM324-5 PASSIVE ) ( samenet_output_c U1-14 LM324-14 PASSIVE U1-8 LM324-8 PASSIVE U1-7 LM324-7 PASSIVE U1-1 LM324-1 PASSIVE ) ( minusin_slot1_pin_b U1-2 LM324-2 PASSIVE ) ( plusin_slot1_pin3_a U1-3 LM324-3 PASSIVE ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/protelII/TwoStageAmp_Include-output.net0000664000175000017500000003100712063576065025554 00000000000000PROTEL NETLIST 2.0 [ DESIGNATOR C2 FOOTPRINT unknown PARTTYPE 2.2uF DESCRIPTION CAPACITOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR R4 FOOTPRINT unknown PARTTYPE 2.8K DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR R3 FOOTPRINT unknown PARTTYPE 28K DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR R8 FOOTPRINT unknown PARTTYPE 1 DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR CE2 FOOTPRINT unknown PARTTYPE 1pF DESCRIPTION CAPACITOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR RE2 FOOTPRINT unknown PARTTYPE 100 DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR RC1 FOOTPRINT unknown PARTTYPE 3.3K DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Q2 FOOTPRINT unknown PARTTYPE NPN_TRANSISTOR DESCRIPTION NPN_TRANSISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR C1 FOOTPRINT unknown PARTTYPE 2.2uF DESCRIPTION CAPACITOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR A3 FOOTPRINT unknown PARTTYPE .options TEMP=25 DESCRIPTION directive Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR A2 FOOTPRINT unknown PARTTYPE include DESCRIPTION include Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR A1 FOOTPRINT unknown PARTTYPE model DESCRIPTION model Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR VCC FOOTPRINT none PARTTYPE DC 15V DESCRIPTION VOLTAGE_SOURCE Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Vinput FOOTPRINT none PARTTYPE DC 1.6V AC 10MV SIN(0 1MV 1KHZ) DESCRIPTION vsin Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR CE1 FOOTPRINT unknown PARTTYPE 1pF DESCRIPTION CAPACITOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Cout FOOTPRINT unknown PARTTYPE 2.2uF DESCRIPTION CAPACITOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR RL FOOTPRINT unknown PARTTYPE 100K DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR RC2 FOOTPRINT unknown PARTTYPE 1K DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR RE1 FOOTPRINT unknown PARTTYPE 100 DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR R2 FOOTPRINT unknown PARTTYPE 2K DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR R1 FOOTPRINT unknown PARTTYPE 28K DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR R5 FOOTPRINT unknown PARTTYPE 10 DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Q1 FOOTPRINT unknown PARTTYPE NPN_TRANSISTOR DESCRIPTION NPN_TRANSISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] ( unnamed_net2 C2-1 CAPACITOR-1 PASSIVE R8-2 RESISTOR-2 PASSIVE ) ( Vbase2 R3-1 RESISTOR-1 PASSIVE C2-2 CAPACITOR-2 PASSIVE R4-2 RESISTOR-2 PASSIVE Q2-2 NPN_TRANSISTOR-2 PASSIVE ) ( Vem2 CE2-2 CAPACITOR-2 PASSIVE RE2-2 RESISTOR-2 PASSIVE Q2-1 NPN_TRANSISTOR-1 PASSIVE ) ( Vout Cout-2 CAPACITOR-2 PASSIVE RL-2 RESISTOR-2 PASSIVE ) ( VColl2 Q2-3 NPN_TRANSISTOR-3 PASSIVE Cout-1 CAPACITOR-1 PASSIVE RC2-1 RESISTOR-1 PASSIVE ) ( GND R4-1 RESISTOR-1 PASSIVE CE2-1 CAPACITOR-1 PASSIVE RE2-1 RESISTOR-1 PASSIVE VCC-2 VOLTAGE_SOURCE-2 PASSIVE Vinput-2 vsin-2 PASSIVE CE1-1 CAPACITOR-1 PASSIVE RL-1 RESISTOR-1 PASSIVE RE1-1 RESISTOR-1 PASSIVE R2-1 RESISTOR-1 PASSIVE ) ( Vcc R3-2 RESISTOR-2 PASSIVE RC1-2 RESISTOR-2 PASSIVE VCC-1 VOLTAGE_SOURCE-1 PASSIVE RC2-2 RESISTOR-2 PASSIVE R1-2 RESISTOR-2 PASSIVE ) ( Vin Vinput-1 vsin-1 PASSIVE R5-1 RESISTOR-1 PASSIVE ) ( unnamed_net1 C1-1 CAPACITOR-1 PASSIVE R5-2 RESISTOR-2 PASSIVE ) ( Vbase1 C1-2 CAPACITOR-2 PASSIVE R2-2 RESISTOR-2 PASSIVE R1-1 RESISTOR-1 PASSIVE Q1-2 NPN_TRANSISTOR-2 PASSIVE ) ( Vem1 CE1-2 CAPACITOR-2 PASSIVE RE1-2 RESISTOR-2 PASSIVE Q1-1 NPN_TRANSISTOR-1 PASSIVE ) ( Vcoll1 R8-1 RESISTOR-1 PASSIVE RC1-1 RESISTOR-1 PASSIVE Q1-3 NPN_TRANSISTOR-3 PASSIVE ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/protelII/singlenet.retcode0000664000175000017500000000000212050461155023163 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/protelII/JD_Include.retcode0000664000175000017500000000000212050461155023133 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/protelII/powersupply-output.net0000664000175000017500000001572312063576065024336 00000000000000PROTEL NETLIST 2.0 [ DESIGNATOR U2 FOOTPRINT unknown PARTTYPE LM317 DESCRIPTION LM317 Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR C4 FOOTPRINT unknown PARTTYPE 1uf DESCRIPTION POLARIZED_CAPACITOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR C3 FOOTPRINT unknown PARTTYPE 22uF DESCRIPTION POLARIZED_CAPACITOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR R1 FOOTPRINT unknown PARTTYPE 5k DESCRIPTION VARIABLE_RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR C2 FOOTPRINT unknown PARTTYPE 0.1uF DESCRIPTION POLARIZED_CAPACITOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR R2 FOOTPRINT unknown PARTTYPE 220 DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR C1 FOOTPRINT unknown PARTTYPE 2200uF DESCRIPTION POLARIZED_CAPACITOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR S1 FOOTPRINT unknown PARTTYPE SPST DESCRIPTION SPST Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR CONN1 FOOTPRINT unknown PARTTYPE MAINS_CONNECTOR DESCRIPTION MAINS_CONNECTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR T1 FOOTPRINT unknown PARTTYPE transformer DESCRIPTION transformer Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR F1 FOOTPRINT unknown PARTTYPE FUSE DESCRIPTION FUSE Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR U1 FOOTPRINT unknown PARTTYPE DIODE-BRIDGE DESCRIPTION DIODE-BRIDGE Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] ( ten U2-1 LM317-1 PASSIVE R1-2 VARIABLE_RESISTOR-2 PASSIVE C3-1 POLARIZED_CAPACITOR-1 PASSIVE R2-1 RESISTOR-1 PASSIVE ) ( eleven U2-2 LM317-2 PASSIVE C4-1 POLARIZED_CAPACITOR-1 PASSIVE R2-2 RESISTOR-2 PASSIVE ) ( GND CONN1-3 MAINS_CONNECTOR-3 PASSIVE ) ( one S1-1 SPST-1 PASSIVE CONN1-1 MAINS_CONNECTOR-1 PASSIVE ) ( five CONN1-2 MAINS_CONNECTOR-2 PASSIVE T1-2 transformer-2 PASSIVE ) ( three T1-1 transformer-1 PASSIVE F1-2 FUSE-2 PASSIVE ) ( two S1-2 SPST-2 PASSIVE F1-1 FUSE-1 PASSIVE ) ( six T1-3 transformer-3 PASSIVE U1-4 DIODE-BRIDGE-4 PASSIVE ) ( seven T1-4 transformer-4 PASSIVE U1-3 DIODE-BRIDGE-3 PASSIVE ) ( nine C4-2 POLARIZED_CAPACITOR-2 PASSIVE C3-2 POLARIZED_CAPACITOR-2 PASSIVE R1-3 VARIABLE_RESISTOR-3 PASSIVE R1-1 VARIABLE_RESISTOR-1 PASSIVE C2-2 POLARIZED_CAPACITOR-2 PASSIVE C1-2 POLARIZED_CAPACITOR-2 PASSIVE U1-2 DIODE-BRIDGE-2 PASSIVE ) ( eight U2-3 LM317-3 PASSIVE C2-1 POLARIZED_CAPACITOR-1 PASSIVE C1-1 POLARIZED_CAPACITOR-1 PASSIVE U1-1 DIODE-BRIDGE-1 PASSIVE ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/protelII/netattrib-output.net0000664000175000017500000000447612063576065023724 00000000000000PROTEL NETLIST 2.0 [ DESIGNATOR F1 FOOTPRINT unknown PARTTYPE FUSE DESCRIPTION FUSE Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR U300 FOOTPRINT DIP14 PARTTYPE 7404 DESCRIPTION 7404 Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR U200 FOOTPRINT DIP14 PARTTYPE 7404 DESCRIPTION 7404 Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR U100 FOOTPRINT DIP14 PARTTYPE 7400 DESCRIPTION 7400 Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] ( unnamed_net1 U300-2 7404-2 PASSIVE ) ( netattrib U200-2 7404-2 PASSIVE U100-5 7400-5 PASSIVE ) ( GND U300-7 7404-7 PASSIVE U200-7 7404-7 PASSIVE U100-7 7400-7 PASSIVE ) ( Vcc U300-14 7404-14 PASSIVE U200-14 7404-14 PASSIVE U100-14 7400-14 PASSIVE ) ( one F1-1 FUSE-1 PASSIVE U300-1 7404-1 PASSIVE U200-1 7404-1 PASSIVE U100-3 7400-3 PASSIVE ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/protelII/SlottedOpamps.retcode0000664000175000017500000000000212050461155023771 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/protelII/JD.retcode0000664000175000017500000000000212050461155021470 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/protelII/multiequal.retcode0000664000175000017500000000000212050461155023355 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/protelII/JD_Sort_nomunge.retcode0000664000175000017500000000000212050461155024227 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/protelII/TwoStageAmp-output.net0000664000175000017500000003100712063576065024111 00000000000000PROTEL NETLIST 2.0 [ DESIGNATOR C2 FOOTPRINT unknown PARTTYPE 2.2uF DESCRIPTION CAPACITOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR R4 FOOTPRINT unknown PARTTYPE 2.8K DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR R3 FOOTPRINT unknown PARTTYPE 28K DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR R8 FOOTPRINT unknown PARTTYPE 1 DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR CE2 FOOTPRINT unknown PARTTYPE 1pF DESCRIPTION CAPACITOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR RE2 FOOTPRINT unknown PARTTYPE 100 DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR RC1 FOOTPRINT unknown PARTTYPE 3.3K DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Q2 FOOTPRINT unknown PARTTYPE NPN_TRANSISTOR DESCRIPTION NPN_TRANSISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR C1 FOOTPRINT unknown PARTTYPE 2.2uF DESCRIPTION CAPACITOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR A3 FOOTPRINT unknown PARTTYPE .options TEMP=25 DESCRIPTION directive Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR A2 FOOTPRINT unknown PARTTYPE include DESCRIPTION include Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR A1 FOOTPRINT unknown PARTTYPE model DESCRIPTION model Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR VCC FOOTPRINT none PARTTYPE DC 15V DESCRIPTION VOLTAGE_SOURCE Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Vinput FOOTPRINT none PARTTYPE DC 1.6V AC 10MV SIN(0 1MV 1KHZ) DESCRIPTION vsin Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR CE1 FOOTPRINT unknown PARTTYPE 1pF DESCRIPTION CAPACITOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Cout FOOTPRINT unknown PARTTYPE 2.2uF DESCRIPTION CAPACITOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR RL FOOTPRINT unknown PARTTYPE 100K DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR RC2 FOOTPRINT unknown PARTTYPE 1K DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR RE1 FOOTPRINT unknown PARTTYPE 100 DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR R2 FOOTPRINT unknown PARTTYPE 2K DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR R1 FOOTPRINT unknown PARTTYPE 28K DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR R5 FOOTPRINT unknown PARTTYPE 10 DESCRIPTION RESISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] [ DESIGNATOR Q1 FOOTPRINT unknown PARTTYPE NPN_TRANSISTOR DESCRIPTION NPN_TRANSISTOR Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] ( unnamed_net2 C2-1 CAPACITOR-1 PASSIVE R8-2 RESISTOR-2 PASSIVE ) ( Vbase2 R3-1 RESISTOR-1 PASSIVE C2-2 CAPACITOR-2 PASSIVE R4-2 RESISTOR-2 PASSIVE Q2-2 NPN_TRANSISTOR-2 PASSIVE ) ( Vem2 CE2-2 CAPACITOR-2 PASSIVE RE2-2 RESISTOR-2 PASSIVE Q2-1 NPN_TRANSISTOR-1 PASSIVE ) ( Vout Cout-2 CAPACITOR-2 PASSIVE RL-2 RESISTOR-2 PASSIVE ) ( VColl2 Q2-3 NPN_TRANSISTOR-3 PASSIVE Cout-1 CAPACITOR-1 PASSIVE RC2-1 RESISTOR-1 PASSIVE ) ( GND R4-1 RESISTOR-1 PASSIVE CE2-1 CAPACITOR-1 PASSIVE RE2-1 RESISTOR-1 PASSIVE VCC-2 VOLTAGE_SOURCE-2 PASSIVE Vinput-2 vsin-2 PASSIVE CE1-1 CAPACITOR-1 PASSIVE RL-1 RESISTOR-1 PASSIVE RE1-1 RESISTOR-1 PASSIVE R2-1 RESISTOR-1 PASSIVE ) ( Vcc R3-2 RESISTOR-2 PASSIVE RC1-2 RESISTOR-2 PASSIVE VCC-1 VOLTAGE_SOURCE-1 PASSIVE RC2-2 RESISTOR-2 PASSIVE R1-2 RESISTOR-2 PASSIVE ) ( Vin Vinput-1 vsin-1 PASSIVE R5-1 RESISTOR-1 PASSIVE ) ( unnamed_net1 C1-1 CAPACITOR-1 PASSIVE R5-2 RESISTOR-2 PASSIVE ) ( Vbase1 C1-2 CAPACITOR-2 PASSIVE R2-2 RESISTOR-2 PASSIVE R1-1 RESISTOR-1 PASSIVE Q1-2 NPN_TRANSISTOR-2 PASSIVE ) ( Vem1 CE1-2 CAPACITOR-2 PASSIVE RE1-2 RESISTOR-2 PASSIVE Q1-1 NPN_TRANSISTOR-1 PASSIVE ) ( Vcoll1 R8-1 RESISTOR-1 PASSIVE RC1-1 RESISTOR-1 PASSIVE Q1-3 NPN_TRANSISTOR-3 PASSIVE ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/protelII/JD_Include_nomunge.retcode0000664000175000017500000000000212050461155024663 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice/0000775000175000017500000000000012220655757017304 500000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice/JD_Include_nomunge-output.net0000664000175000017500000000050612050461155024747 00000000000000* Spice netlister for gnetlist A1 Cm m 0 20p Cp p 0 20p Rlp p Vdd1 1meg Rlm m 0 500k Vdd Vdd1 0 DC 3.3V V1 i 0 pulse 3.3 0 1u 10p 10p 1.25u 2.5u Rt p m 1k Rb 0 LVH 5.6k M1 LVH LVH Vdd1 Vdd1 l=3u w=3u X1 i 0 LVH m p Vdd1 0 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice/JD-output.net0000664000175000017500000000050612050461155021554 00000000000000* Spice netlister for gnetlist A1 Cm m 0 20p Cp p 0 20p Rlp p Vdd1 1meg Rlm m 0 500k Vdd Vdd1 0 DC 3.3V V1 i 0 pulse 3.3 0 1u 10p 10p 1.25u 2.5u Rt p m 1k Rb 0 LVH 5.6k M1 LVH LVH Vdd1 Vdd1 l=3u w=3u X1 i 0 LVH m p Vdd1 0 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice/TwoStageAmp.retcode0000664000175000017500000000000212050461155022742 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice/stack-torture-output.net0000664000175000017500000011005612063576065024103 00000000000000* Spice netlister for gnetlist C? 1024 1025 ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice/JD_Sort.retcode0000664000175000017500000000000212050461155022053 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice/cascade-output.net0000664000175000017500000000062212050461155022641 00000000000000* Spice netlister for gnetlist AMP2 6 unconnected_pin-1 T1 5 6 MX1 4 5 FL1 3 4 DEF1 2 3 AMP1 1 2 SOURCE 1 DEFAULTS ERROR_INVALID_PIN .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice/multiequal-output.net0000664000175000017500000000011312050461155023433 00000000000000* Spice netlister for gnetlist V1 1 0 DC 1V R1 0 1 20 A1 abotol=1e-11 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice/JD_nomunge-output.net0000664000175000017500000000050612050461155023304 00000000000000* Spice netlister for gnetlist A1 Cm m 0 20p Cp p 0 20p Rlp p Vdd1 1meg Rlm m 0 500k Vdd Vdd1 0 DC 3.3V V1 i 0 pulse 3.3 0 1u 10p 10p 1.25u 2.5u Rt p m 1k Rb 0 LVH 5.6k M1 LVH LVH Vdd1 Vdd1 l=3u w=3u X1 i 0 LVH m p Vdd1 0 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice/stack-torture.retcode0000664000175000017500000000000212063576065023371 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice/powersupply.retcode0000664000175000017500000000000212050461155023160 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice/JD_Sort_nomunge-output.net0000664000175000017500000000050612050461155024313 00000000000000* Spice netlister for gnetlist A1 Cm m 0 20p Cp p 0 20p Rlp p Vdd1 1meg Rlm m 0 500k Vdd Vdd1 0 DC 3.3V V1 i 0 pulse 3.3 0 1u 10p 10p 1.25u 2.5u Rt p m 1k Rb 0 LVH 5.6k M1 LVH LVH Vdd1 Vdd1 l=3u w=3u X1 i 0 LVH m p Vdd1 0 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice/TwoStageAmp_Sort.retcode0000664000175000017500000000000212050461155023751 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice/netattrib.retcode0000664000175000017500000000000212050461155022543 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice/JD_nomunge.retcode0000664000175000017500000000000212050461155022574 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice/JD_Include-output.net0000664000175000017500000000050612050461155023217 00000000000000* Spice netlister for gnetlist A1 Cm m 0 20p Cp p 0 20p Rlp p Vdd1 1meg Rlm m 0 500k Vdd Vdd1 0 DC 3.3V V1 i 0 pulse 3.3 0 1u 10p 10p 1.25u 2.5u Rt p m 1k Rb 0 LVH 5.6k M1 LVH LVH Vdd1 Vdd1 l=3u w=3u X1 i 0 LVH m p Vdd1 0 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice/JD_Sort-output.net0000664000175000017500000000050612050461155022563 00000000000000* Spice netlister for gnetlist A1 Cm m 0 20p Cp p 0 20p Rlp p Vdd1 1meg Rlm m 0 500k Vdd Vdd1 0 DC 3.3V V1 i 0 pulse 3.3 0 1u 10p 10p 1.25u 2.5u Rt p m 1k Rb 0 LVH 5.6k M1 LVH LVH Vdd1 Vdd1 l=3u w=3u X1 i 0 LVH m p Vdd1 0 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice/cascade.retcode0000664000175000017500000000000212050461155022132 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice/TwoStageAmp_Sort-output.net0000664000175000017500000000106612050461155024463 00000000000000* Spice netlister for gnetlist C2 2 Vbase2 2.2uF R4 0 Vbase2 2.8K R3 Vbase2 Vcc 28K R8 Vcoll1 2 1 CE2 0 Vem2 1pF RE2 0 Vem2 100 RC1 Vcoll1 Vcc 3.3K Q2 VColl2 Vbase2 Vem2 C1 1 Vbase1 2.2uF A3 .options TEMP=25 A2 A1 VCC Vcc 0 DC 15V Vinput Vin 0 DC 1.6V AC 10MV SIN(0 1MV 1KHZ) CE1 0 Vem1 1pF Cout VColl2 Vout 2.2uF RL 0 Vout 100K RC2 VColl2 Vcc 1K RE1 0 Vem1 100 R2 0 Vbase1 2K R1 Vbase1 Vcc 28K R5 Vin 1 10 Q1 Vcoll1 Vbase1 Vem1 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice/singlenet-output.net0000664000175000017500000000046712050461155023255 00000000000000* Spice netlister for gnetlist U100 SING_N SING_N SING_N ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice/TwoStageAmp_Include.retcode0000664000175000017500000000000212050461155024405 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice/SlottedOpamps-output.net0000664000175000017500000000044312050461155024055 00000000000000* Spice netlister for gnetlist U1 samenet_output_c minusin_slot1_pin_b plusin_slot1_pin3_a ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice/TwoStageAmp_Include-output.net0000664000175000017500000000106612050461155025117 00000000000000* Spice netlister for gnetlist C2 2 Vbase2 2.2uF R4 0 Vbase2 2.8K R3 Vbase2 Vcc 28K R8 Vcoll1 2 1 CE2 0 Vem2 1pF RE2 0 Vem2 100 RC1 Vcoll1 Vcc 3.3K Q2 VColl2 Vbase2 Vem2 C1 1 Vbase1 2.2uF A3 .options TEMP=25 A2 A1 VCC Vcc 0 DC 15V Vinput Vin 0 DC 1.6V AC 10MV SIN(0 1MV 1KHZ) CE1 0 Vem1 1pF Cout VColl2 Vout 2.2uF RL 0 Vout 100K RC2 VColl2 Vcc 1K RE1 0 Vem1 100 R2 0 Vbase1 2K R1 Vbase1 Vcc 28K R5 Vin 1 10 Q1 Vcoll1 Vbase1 Vem1 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice/singlenet.retcode0000664000175000017500000000000212050461155022537 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice/JD_Include.retcode0000664000175000017500000000000212050461155022507 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice/powersupply-output.net0000664000175000017500000000071212050461155023667 00000000000000* Spice netlister for gnetlist U2 ten eleven eight C4 eleven nine 1uf C3 ten nine 22uF R1 nine ten nine 5k C2 eight nine 0.1uF R2 ten eleven 220 C1 eight nine 2200uF S1 one two CONN1 one five 0 T1 three five six seven F1 two three U1 eight nine seven six .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice/netattrib-output.net0000664000175000017500000000061212050461155023251 00000000000000* Spice netlister for gnetlist F1 one unconnected_pin-3 U300 one 1 ERROR_INVALID_PIN ERROR_INVALID_PIN U200 one netattrib ERROR_INVALID_PIN ERROR_INVALID_PIN U100 unconnected_pin-2 unconnected_pin-1 one ERROR_INVALID_PIN ERROR_INVALID_PIN ERROR_INVALID_PIN .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice/SlottedOpamps.retcode0000664000175000017500000000000212050461155023345 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice/JD.retcode0000664000175000017500000000000212050461155021044 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice/multiequal.retcode0000664000175000017500000000000212050461155022731 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice/JD_Sort_nomunge.retcode0000664000175000017500000000000212050461155023603 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice/TwoStageAmp-output.net0000664000175000017500000000106612050461155023454 00000000000000* Spice netlister for gnetlist C2 2 Vbase2 2.2uF R4 0 Vbase2 2.8K R3 Vbase2 Vcc 28K R8 Vcoll1 2 1 CE2 0 Vem2 1pF RE2 0 Vem2 100 RC1 Vcoll1 Vcc 3.3K Q2 VColl2 Vbase2 Vem2 C1 1 Vbase1 2.2uF A3 .options TEMP=25 A2 A1 VCC Vcc 0 DC 15V Vinput Vin 0 DC 1.6V AC 10MV SIN(0 1MV 1KHZ) CE1 0 Vem1 1pF Cout VColl2 Vout 2.2uF RL 0 Vout 100K RC2 VColl2 Vcc 1K RE1 0 Vem1 100 R2 0 Vbase1 2K R1 Vbase1 Vcc 28K R5 Vin 1 10 Q1 Vcoll1 Vbase1 Vem1 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice/JD_Include_nomunge.retcode0000664000175000017500000000000212050461155024237 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/pads/0000775000175000017500000000000012220655757017130 500000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/pads/JD_Include_nomunge-output.net0000664000175000017500000000064012050461155024572 00000000000000!PADS-POWERPCB-V3.0-MILS! *PART* A1 unknown CM unknown CP unknown RLP unknown RLM unknown VDD none V1 none RT unknown RB unknown M1 unknown X1 unknown *NET* *SIGNAL* VDD1 RLP.2 M1.B M1.S VDD.1 X1.6 *SIGNAL* GND CM.2 CP.2 RLM.2 VDD.2 V1.2 RB.1 X1.7 X1.2 *SIGNAL* LVH RB.2 M1.D M1.G X1.3 *SIGNAL* I V1.1 X1.1 *SIGNAL* P CP.1 RT.1 RLP.1 X1.5 *SIGNAL* M CM.1 RLM.1 RT.2 X1.4 *END* geda-gaf-1.8.2/gnetlist/tests/common/outputs/pads/JD-output.net0000664000175000017500000000064012050461155021377 00000000000000!PADS-POWERPCB-V3.0-MILS! *PART* A1 unknown CM unknown CP unknown RLP unknown RLM unknown VDD none V1 none RT unknown RB unknown M1 unknown X1 unknown *NET* *SIGNAL* VDD1 RLP.2 M1.B M1.S VDD.1 X1.6 *SIGNAL* GND CM.2 CP.2 RLM.2 VDD.2 V1.2 RB.1 X1.7 X1.2 *SIGNAL* LVH RB.2 M1.D M1.G X1.3 *SIGNAL* I V1.1 X1.1 *SIGNAL* P CP.1 RT.1 RLP.1 X1.5 *SIGNAL* M CM.1 RLM.1 RT.2 X1.4 *END* geda-gaf-1.8.2/gnetlist/tests/common/outputs/pads/TwoStageAmp.retcode0000664000175000017500000000000212050461155022566 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/pads/stack-torture-output.net0000664000175000017500000011132612063576065023730 00000000000000!PADS-POWERPCB-V3.0-MILS! *PART* C? unknown *NET* *SIGNAL* UNNAMED_NET1025 C?.2 *SIGNAL* UNNAMED_NET1024 C?.1 C?.2 *SIGNAL* UNNAMED_NET1023 C?.1 C?.2 *SIGNAL* UNNAMED_NET1022 C?.2 *SIGNAL* UNNAMED_NET1021 C?.1 C?.2 *SIGNAL* UNNAMED_NET1020 C?.2 *SIGNAL* UNNAMED_NET1019 C?.1 C?.2 *SIGNAL* UNNAMED_NET1018 C?.1 C?.2 *SIGNAL* UNNAMED_NET1017 C?.1 C?.2 *SIGNAL* UNNAMED_NET1016 C?.1 C?.2 *SIGNAL* UNNAMED_NET1015 C?.1 C?.2 *SIGNAL* UNNAMED_NET1014 C?.1 C?.2 *SIGNAL* UNNAMED_NET1013 C?.1 C?.2 *SIGNAL* UNNAMED_NET1012 C?.2 *SIGNAL* UNNAMED_NET1011 C?.1 C?.2 *SIGNAL* UNNAMED_NET1010 C?.1 C?.2 *SIGNAL* UNNAMED_NET1009 C?.2 *SIGNAL* UNNAMED_NET1008 C?.1 C?.2 *SIGNAL* UNNAMED_NET1007 C?.1 C?.2 *SIGNAL* UNNAMED_NET1006 C?.1 C?.2 *SIGNAL* UNNAMED_NET1005 C?.1 C?.2 *SIGNAL* UNNAMED_NET1004 C?.1 C?.2 *SIGNAL* UNNAMED_NET1003 C?.1 C?.2 *SIGNAL* UNNAMED_NET1002 C?.1 C?.2 *SIGNAL* UNNAMED_NET1001 C?.1 C?.2 *SIGNAL* UNNAMED_NET1000 C?.1 C?.2 *SIGNAL* UNNAMED_NET999 C?.2 *SIGNAL* UNNAMED_NET998 C?.1 C?.2 *SIGNAL* UNNAMED_NET997 C?.1 C?.2 *SIGNAL* UNNAMED_NET996 C?.1 C?.2 *SIGNAL* UNNAMED_NET995 C?.1 C?.2 *SIGNAL* UNNAMED_NET994 C?.1 C?.2 *SIGNAL* UNNAMED_NET993 C?.1 C?.2 *SIGNAL* UNNAMED_NET992 C?.2 *SIGNAL* UNNAMED_NET991 C?.1 C?.2 *SIGNAL* UNNAMED_NET990 C?.1 C?.2 *SIGNAL* UNNAMED_NET989 C?.1 C?.2 *SIGNAL* UNNAMED_NET988 C?.1 C?.2 *SIGNAL* UNNAMED_NET987 C?.1 C?.2 *SIGNAL* UNNAMED_NET986 C?.1 C?.2 *SIGNAL* UNNAMED_NET985 C?.1 C?.2 *SIGNAL* UNNAMED_NET984 C?.1 C?.2 *SIGNAL* UNNAMED_NET983 C?.1 C?.2 *SIGNAL* UNNAMED_NET982 C?.1 C?.2 *SIGNAL* UNNAMED_NET981 C?.1 C?.2 *SIGNAL* UNNAMED_NET980 C?.1 C?.2 *SIGNAL* UNNAMED_NET979 C?.1 C?.2 *SIGNAL* UNNAMED_NET978 C?.1 C?.2 *SIGNAL* UNNAMED_NET977 C?.1 C?.2 *SIGNAL* UNNAMED_NET976 C?.1 C?.2 *SIGNAL* UNNAMED_NET975 C?.1 C?.2 *SIGNAL* UNNAMED_NET974 C?.1 C?.2 *SIGNAL* UNNAMED_NET973 C?.1 C?.2 *SIGNAL* UNNAMED_NET972 C?.1 C?.2 *SIGNAL* UNNAMED_NET971 C?.1 C?.2 *SIGNAL* UNNAMED_NET970 C?.1 C?.2 *SIGNAL* UNNAMED_NET969 C?.1 C?.2 *SIGNAL* UNNAMED_NET968 C?.2 *SIGNAL* UNNAMED_NET967 C?.1 C?.2 *SIGNAL* UNNAMED_NET966 C?.1 C?.2 *SIGNAL* UNNAMED_NET965 C?.2 *SIGNAL* UNNAMED_NET964 C?.1 C?.2 *SIGNAL* UNNAMED_NET963 C?.1 C?.2 *SIGNAL* UNNAMED_NET962 C?.1 C?.2 *SIGNAL* UNNAMED_NET961 C?.1 C?.2 *SIGNAL* UNNAMED_NET960 C?.1 C?.2 *SIGNAL* UNNAMED_NET959 C?.1 C?.2 *SIGNAL* UNNAMED_NET958 C?.1 C?.2 *SIGNAL* UNNAMED_NET957 C?.1 C?.2 *SIGNAL* UNNAMED_NET956 C?.1 C?.2 *SIGNAL* UNNAMED_NET955 C?.1 C?.2 *SIGNAL* UNNAMED_NET954 C?.2 *SIGNAL* UNNAMED_NET953 C?.1 C?.2 *SIGNAL* UNNAMED_NET952 C?.1 C?.2 *SIGNAL* UNNAMED_NET951 C?.2 *SIGNAL* UNNAMED_NET950 C?.1 C?.2 *SIGNAL* UNNAMED_NET949 C?.1 C?.2 *SIGNAL* UNNAMED_NET948 C?.1 C?.2 *SIGNAL* UNNAMED_NET947 C?.1 C?.2 *SIGNAL* UNNAMED_NET946 C?.1 C?.2 *SIGNAL* UNNAMED_NET945 C?.1 C?.2 *SIGNAL* UNNAMED_NET944 C?.1 C?.2 *SIGNAL* UNNAMED_NET943 C?.1 C?.2 *SIGNAL* UNNAMED_NET942 C?.1 C?.2 *SIGNAL* UNNAMED_NET941 C?.1 C?.2 *SIGNAL* UNNAMED_NET940 C?.1 C?.2 *SIGNAL* UNNAMED_NET939 C?.1 C?.2 *SIGNAL* UNNAMED_NET938 C?.1 C?.2 *SIGNAL* UNNAMED_NET937 C?.1 C?.2 *SIGNAL* UNNAMED_NET936 C?.1 C?.2 *SIGNAL* UNNAMED_NET935 C?.1 C?.2 *SIGNAL* UNNAMED_NET934 C?.1 C?.2 *SIGNAL* UNNAMED_NET933 C?.1 C?.2 *SIGNAL* UNNAMED_NET932 C?.1 C?.2 *SIGNAL* UNNAMED_NET931 C?.1 C?.2 *SIGNAL* UNNAMED_NET930 C?.1 C?.2 *SIGNAL* UNNAMED_NET929 C?.1 C?.2 *SIGNAL* UNNAMED_NET928 C?.1 C?.2 *SIGNAL* UNNAMED_NET927 C?.1 C?.2 *SIGNAL* UNNAMED_NET926 C?.1 C?.2 *SIGNAL* UNNAMED_NET925 C?.1 C?.2 *SIGNAL* UNNAMED_NET924 C?.1 C?.2 *SIGNAL* UNNAMED_NET923 C?.1 C?.2 *SIGNAL* UNNAMED_NET922 C?.1 C?.2 *SIGNAL* UNNAMED_NET921 C?.1 C?.2 *SIGNAL* UNNAMED_NET920 C?.1 C?.2 *SIGNAL* UNNAMED_NET919 C?.1 C?.2 *SIGNAL* UNNAMED_NET918 C?.1 C?.2 *SIGNAL* UNNAMED_NET917 C?.1 C?.2 *SIGNAL* UNNAMED_NET916 C?.1 C?.2 *SIGNAL* UNNAMED_NET915 C?.1 C?.2 *SIGNAL* UNNAMED_NET914 C?.1 C?.2 *SIGNAL* UNNAMED_NET913 C?.1 C?.2 *SIGNAL* UNNAMED_NET912 C?.1 C?.2 *SIGNAL* UNNAMED_NET911 C?.1 C?.2 *SIGNAL* UNNAMED_NET910 C?.1 C?.2 *SIGNAL* UNNAMED_NET909 C?.2 *SIGNAL* UNNAMED_NET908 C?.1 C?.2 *SIGNAL* UNNAMED_NET907 C?.1 C?.2 *SIGNAL* UNNAMED_NET906 C?.1 C?.2 *SIGNAL* UNNAMED_NET905 C?.1 C?.2 *SIGNAL* UNNAMED_NET904 C?.1 C?.2 *SIGNAL* UNNAMED_NET903 C?.1 C?.2 *SIGNAL* UNNAMED_NET902 C?.2 *SIGNAL* UNNAMED_NET901 C?.1 C?.2 *SIGNAL* UNNAMED_NET900 C?.1 C?.2 *SIGNAL* UNNAMED_NET899 C?.1 C?.2 *SIGNAL* UNNAMED_NET898 C?.1 C?.2 *SIGNAL* UNNAMED_NET897 C?.1 C?.2 *SIGNAL* UNNAMED_NET896 C?.1 C?.2 *SIGNAL* UNNAMED_NET895 C?.1 C?.2 *SIGNAL* UNNAMED_NET894 C?.1 C?.2 *SIGNAL* UNNAMED_NET893 C?.1 C?.2 *SIGNAL* UNNAMED_NET892 C?.1 C?.2 *SIGNAL* UNNAMED_NET891 C?.1 C?.2 *SIGNAL* UNNAMED_NET890 C?.1 C?.2 *SIGNAL* UNNAMED_NET889 C?.1 C?.2 *SIGNAL* UNNAMED_NET888 C?.1 C?.2 *SIGNAL* UNNAMED_NET887 C?.1 C?.2 *SIGNAL* UNNAMED_NET886 C?.1 C?.2 *SIGNAL* UNNAMED_NET885 C?.1 C?.2 *SIGNAL* UNNAMED_NET884 C?.1 C?.2 *SIGNAL* UNNAMED_NET883 C?.1 C?.2 *SIGNAL* UNNAMED_NET882 C?.1 C?.2 *SIGNAL* UNNAMED_NET881 C?.1 C?.2 *SIGNAL* UNNAMED_NET880 C?.1 C?.2 *SIGNAL* UNNAMED_NET879 C?.2 *SIGNAL* UNNAMED_NET878 C?.1 C?.2 *SIGNAL* UNNAMED_NET877 C?.1 C?.2 *SIGNAL* UNNAMED_NET876 C?.1 C?.2 *SIGNAL* UNNAMED_NET875 C?.1 C?.2 *SIGNAL* UNNAMED_NET874 C?.1 C?.2 *SIGNAL* UNNAMED_NET873 C?.1 C?.2 *SIGNAL* UNNAMED_NET872 C?.2 *SIGNAL* UNNAMED_NET871 C?.1 C?.2 *SIGNAL* UNNAMED_NET870 C?.1 C?.2 *SIGNAL* UNNAMED_NET869 C?.1 C?.2 *SIGNAL* UNNAMED_NET868 C?.1 C?.2 *SIGNAL* UNNAMED_NET867 C?.1 C?.2 *SIGNAL* UNNAMED_NET866 C?.1 C?.2 *SIGNAL* UNNAMED_NET865 C?.1 C?.2 *SIGNAL* UNNAMED_NET864 C?.1 C?.2 *SIGNAL* UNNAMED_NET863 C?.1 C?.2 *SIGNAL* UNNAMED_NET862 C?.1 C?.2 *SIGNAL* UNNAMED_NET861 C?.1 C?.2 *SIGNAL* UNNAMED_NET860 C?.1 C?.2 *SIGNAL* UNNAMED_NET859 C?.1 C?.2 *SIGNAL* UNNAMED_NET858 C?.1 C?.2 *SIGNAL* UNNAMED_NET857 C?.1 C?.2 *SIGNAL* UNNAMED_NET856 C?.1 C?.2 *SIGNAL* UNNAMED_NET855 C?.1 C?.2 *SIGNAL* UNNAMED_NET854 C?.1 C?.2 *SIGNAL* UNNAMED_NET853 C?.1 C?.2 *SIGNAL* UNNAMED_NET852 C?.1 C?.2 *SIGNAL* UNNAMED_NET851 C?.1 C?.2 *SIGNAL* UNNAMED_NET850 C?.1 C?.2 *SIGNAL* UNNAMED_NET849 C?.1 C?.2 *SIGNAL* UNNAMED_NET848 C?.1 C?.2 *SIGNAL* UNNAMED_NET847 C?.1 C?.2 *SIGNAL* UNNAMED_NET846 C?.1 C?.2 *SIGNAL* UNNAMED_NET845 C?.1 C?.2 *SIGNAL* UNNAMED_NET844 C?.1 C?.2 *SIGNAL* UNNAMED_NET843 C?.1 C?.2 *SIGNAL* UNNAMED_NET842 C?.1 C?.2 *SIGNAL* UNNAMED_NET841 C?.1 C?.2 *SIGNAL* UNNAMED_NET840 C?.1 C?.2 *SIGNAL* UNNAMED_NET839 C?.1 C?.2 *SIGNAL* UNNAMED_NET838 C?.1 C?.2 *SIGNAL* UNNAMED_NET837 C?.1 C?.2 *SIGNAL* UNNAMED_NET836 C?.1 C?.2 *SIGNAL* UNNAMED_NET835 C?.1 C?.2 *SIGNAL* UNNAMED_NET834 C?.1 C?.2 *SIGNAL* UNNAMED_NET833 C?.1 C?.2 *SIGNAL* UNNAMED_NET832 C?.1 C?.2 *SIGNAL* UNNAMED_NET831 C?.1 C?.2 *SIGNAL* UNNAMED_NET830 C?.1 C?.2 *SIGNAL* UNNAMED_NET829 C?.1 C?.2 *SIGNAL* UNNAMED_NET828 C?.1 C?.2 *SIGNAL* UNNAMED_NET827 C?.1 C?.2 *SIGNAL* UNNAMED_NET826 C?.1 C?.2 *SIGNAL* UNNAMED_NET825 C?.1 C?.2 *SIGNAL* UNNAMED_NET824 C?.1 C?.2 *SIGNAL* UNNAMED_NET823 C?.1 C?.2 *SIGNAL* UNNAMED_NET822 C?.1 C?.2 *SIGNAL* UNNAMED_NET821 C?.1 C?.2 *SIGNAL* UNNAMED_NET820 C?.1 C?.2 *SIGNAL* UNNAMED_NET819 C?.1 C?.2 *SIGNAL* UNNAMED_NET818 C?.1 C?.2 *SIGNAL* UNNAMED_NET817 C?.1 C?.2 *SIGNAL* UNNAMED_NET816 C?.1 C?.2 *SIGNAL* UNNAMED_NET815 C?.1 C?.2 *SIGNAL* UNNAMED_NET814 C?.1 C?.2 *SIGNAL* UNNAMED_NET813 C?.1 C?.2 *SIGNAL* UNNAMED_NET812 C?.1 C?.2 *SIGNAL* UNNAMED_NET811 C?.1 C?.2 *SIGNAL* UNNAMED_NET810 C?.1 C?.2 *SIGNAL* UNNAMED_NET809 C?.1 C?.2 *SIGNAL* UNNAMED_NET808 C?.1 C?.2 *SIGNAL* UNNAMED_NET807 C?.1 C?.2 *SIGNAL* UNNAMED_NET806 C?.1 C?.2 *SIGNAL* UNNAMED_NET805 C?.1 C?.2 *SIGNAL* UNNAMED_NET804 C?.1 C?.2 *SIGNAL* UNNAMED_NET803 C?.1 C?.2 *SIGNAL* UNNAMED_NET802 C?.1 C?.2 *SIGNAL* UNNAMED_NET801 C?.1 C?.2 *SIGNAL* UNNAMED_NET800 C?.1 C?.2 *SIGNAL* UNNAMED_NET799 C?.1 C?.2 *SIGNAL* UNNAMED_NET798 C?.1 C?.2 *SIGNAL* UNNAMED_NET797 C?.1 C?.2 *SIGNAL* UNNAMED_NET796 C?.1 C?.2 *SIGNAL* UNNAMED_NET795 C?.1 C?.2 *SIGNAL* UNNAMED_NET794 C?.1 C?.2 *SIGNAL* UNNAMED_NET793 C?.1 C?.2 *SIGNAL* UNNAMED_NET792 C?.1 C?.2 *SIGNAL* UNNAMED_NET791 C?.1 C?.2 *SIGNAL* UNNAMED_NET790 C?.1 C?.2 *SIGNAL* UNNAMED_NET789 C?.1 C?.2 *SIGNAL* UNNAMED_NET788 C?.1 C?.2 *SIGNAL* UNNAMED_NET787 C?.1 C?.2 *SIGNAL* UNNAMED_NET786 C?.1 C?.2 *SIGNAL* UNNAMED_NET785 C?.1 C?.2 *SIGNAL* UNNAMED_NET784 C?.2 *SIGNAL* UNNAMED_NET783 C?.1 C?.2 *SIGNAL* UNNAMED_NET782 C?.1 C?.2 *SIGNAL* UNNAMED_NET781 C?.2 *SIGNAL* UNNAMED_NET780 C?.1 C?.2 *SIGNAL* UNNAMED_NET779 C?.1 C?.2 *SIGNAL* UNNAMED_NET778 C?.1 C?.2 *SIGNAL* UNNAMED_NET777 C?.1 C?.2 *SIGNAL* UNNAMED_NET776 C?.1 C?.2 *SIGNAL* UNNAMED_NET775 C?.1 C?.2 *SIGNAL* UNNAMED_NET774 C?.1 C?.2 *SIGNAL* UNNAMED_NET773 C?.1 C?.2 *SIGNAL* UNNAMED_NET772 C?.1 C?.2 *SIGNAL* UNNAMED_NET771 C?.1 C?.2 *SIGNAL* UNNAMED_NET770 C?.2 *SIGNAL* UNNAMED_NET769 C?.1 C?.2 *SIGNAL* UNNAMED_NET768 C?.1 C?.2 *SIGNAL* UNNAMED_NET767 C?.2 *SIGNAL* UNNAMED_NET766 C?.1 C?.2 *SIGNAL* UNNAMED_NET765 C?.1 C?.2 *SIGNAL* UNNAMED_NET764 C?.1 C?.2 *SIGNAL* UNNAMED_NET763 C?.1 C?.2 *SIGNAL* UNNAMED_NET762 C?.1 C?.2 *SIGNAL* UNNAMED_NET761 C?.1 C?.2 *SIGNAL* UNNAMED_NET760 C?.1 C?.2 *SIGNAL* UNNAMED_NET759 C?.1 C?.2 *SIGNAL* UNNAMED_NET758 C?.1 C?.2 *SIGNAL* UNNAMED_NET757 C?.1 C?.2 *SIGNAL* UNNAMED_NET756 C?.1 C?.2 *SIGNAL* UNNAMED_NET755 C?.1 C?.2 *SIGNAL* UNNAMED_NET754 C?.1 C?.2 *SIGNAL* UNNAMED_NET753 C?.1 C?.2 *SIGNAL* UNNAMED_NET752 C?.1 C?.2 *SIGNAL* UNNAMED_NET751 C?.1 C?.2 *SIGNAL* UNNAMED_NET750 C?.1 C?.2 *SIGNAL* UNNAMED_NET749 C?.1 C?.2 *SIGNAL* UNNAMED_NET748 C?.1 C?.2 *SIGNAL* UNNAMED_NET747 C?.1 C?.2 *SIGNAL* UNNAMED_NET746 C?.1 C?.2 *SIGNAL* UNNAMED_NET745 C?.1 C?.2 *SIGNAL* UNNAMED_NET744 C?.1 C?.2 *SIGNAL* UNNAMED_NET743 C?.1 C?.2 *SIGNAL* UNNAMED_NET742 C?.1 C?.2 *SIGNAL* UNNAMED_NET741 C?.1 C?.2 *SIGNAL* UNNAMED_NET740 C?.1 C?.2 *SIGNAL* UNNAMED_NET739 C?.1 C?.2 *SIGNAL* UNNAMED_NET738 C?.1 C?.2 *SIGNAL* UNNAMED_NET737 C?.1 C?.2 *SIGNAL* UNNAMED_NET736 C?.1 C?.2 *SIGNAL* UNNAMED_NET735 C?.1 C?.2 *SIGNAL* UNNAMED_NET734 C?.1 C?.2 *SIGNAL* UNNAMED_NET733 C?.1 C?.2 *SIGNAL* UNNAMED_NET732 C?.1 C?.2 *SIGNAL* UNNAMED_NET731 C?.1 C?.2 *SIGNAL* UNNAMED_NET730 C?.1 C?.2 *SIGNAL* UNNAMED_NET729 C?.1 C?.2 *SIGNAL* UNNAMED_NET728 C?.1 C?.2 *SIGNAL* UNNAMED_NET727 C?.1 C?.2 *SIGNAL* UNNAMED_NET726 C?.1 C?.2 *SIGNAL* UNNAMED_NET725 C?.1 C?.2 *SIGNAL* UNNAMED_NET724 C?.2 *SIGNAL* UNNAMED_NET723 C?.1 C?.2 *SIGNAL* UNNAMED_NET722 C?.1 C?.2 *SIGNAL* UNNAMED_NET721 C?.2 *SIGNAL* UNNAMED_NET720 C?.1 C?.2 *SIGNAL* UNNAMED_NET719 C?.1 C?.2 *SIGNAL* UNNAMED_NET718 C?.1 C?.2 *SIGNAL* UNNAMED_NET717 C?.1 C?.2 *SIGNAL* UNNAMED_NET716 C?.1 C?.2 *SIGNAL* UNNAMED_NET715 C?.1 C?.2 *SIGNAL* UNNAMED_NET714 C?.1 C?.2 *SIGNAL* UNNAMED_NET713 C?.1 C?.2 *SIGNAL* UNNAMED_NET712 C?.1 C?.2 *SIGNAL* UNNAMED_NET711 C?.1 C?.2 *SIGNAL* UNNAMED_NET710 C?.2 *SIGNAL* UNNAMED_NET709 C?.1 C?.2 *SIGNAL* UNNAMED_NET708 C?.1 C?.2 *SIGNAL* UNNAMED_NET707 C?.2 *SIGNAL* UNNAMED_NET706 C?.1 *SIGNAL* UNNAMED_NET705 C?.1 C?.2 *SIGNAL* UNNAMED_NET704 C?.1 C?.2 *SIGNAL* UNNAMED_NET703 C?.1 C?.2 *SIGNAL* UNNAMED_NET702 C?.1 C?.2 *SIGNAL* UNNAMED_NET701 C?.1 C?.2 *SIGNAL* UNNAMED_NET700 C?.1 C?.2 *SIGNAL* UNNAMED_NET699 C?.1 C?.2 *SIGNAL* UNNAMED_NET698 C?.1 C?.2 *SIGNAL* UNNAMED_NET697 C?.1 *SIGNAL* UNNAMED_NET696 C?.1 C?.2 *SIGNAL* UNNAMED_NET695 C?.1 C?.2 *SIGNAL* UNNAMED_NET694 C?.1 C?.2 *SIGNAL* UNNAMED_NET693 C?.1 C?.2 *SIGNAL* UNNAMED_NET692 C?.1 C?.2 *SIGNAL* UNNAMED_NET691 C?.1 C?.2 *SIGNAL* UNNAMED_NET690 C?.1 C?.2 *SIGNAL* UNNAMED_NET689 C?.1 C?.2 *SIGNAL* UNNAMED_NET688 C?.1 C?.2 *SIGNAL* UNNAMED_NET687 C?.1 C?.2 *SIGNAL* UNNAMED_NET686 C?.1 C?.2 *SIGNAL* UNNAMED_NET685 C?.1 C?.2 *SIGNAL* UNNAMED_NET684 C?.1 C?.2 *SIGNAL* UNNAMED_NET683 C?.1 C?.2 *SIGNAL* UNNAMED_NET682 C?.1 C?.2 *SIGNAL* UNNAMED_NET681 C?.1 C?.2 *SIGNAL* UNNAMED_NET680 C?.1 C?.2 *SIGNAL* UNNAMED_NET679 C?.1 C?.2 *SIGNAL* UNNAMED_NET678 C?.1 C?.2 *SIGNAL* UNNAMED_NET677 C?.1 C?.2 *SIGNAL* UNNAMED_NET676 C?.1 C?.2 *SIGNAL* UNNAMED_NET675 C?.1 C?.2 *SIGNAL* UNNAMED_NET674 C?.1 C?.2 *SIGNAL* UNNAMED_NET673 C?.1 C?.2 *SIGNAL* UNNAMED_NET672 C?.1 *SIGNAL* UNNAMED_NET671 C?.1 C?.2 *SIGNAL* UNNAMED_NET670 C?.1 C?.2 *SIGNAL* UNNAMED_NET669 C?.1 C?.2 *SIGNAL* UNNAMED_NET668 C?.1 C?.2 *SIGNAL* UNNAMED_NET667 C?.1 C?.2 *SIGNAL* UNNAMED_NET666 C?.1 C?.2 *SIGNAL* UNNAMED_NET665 C?.1 C?.2 *SIGNAL* UNNAMED_NET664 C?.1 C?.2 *SIGNAL* UNNAMED_NET663 C?.1 *SIGNAL* UNNAMED_NET662 C?.1 C?.2 *SIGNAL* UNNAMED_NET661 C?.1 C?.2 *SIGNAL* UNNAMED_NET660 C?.1 C?.2 *SIGNAL* UNNAMED_NET659 C?.1 C?.2 *SIGNAL* UNNAMED_NET658 C?.1 C?.2 *SIGNAL* UNNAMED_NET657 C?.1 C?.2 *SIGNAL* UNNAMED_NET656 C?.1 C?.2 *SIGNAL* UNNAMED_NET655 C?.1 C?.2 *SIGNAL* UNNAMED_NET654 C?.1 C?.2 *SIGNAL* UNNAMED_NET653 C?.1 C?.2 *SIGNAL* UNNAMED_NET652 C?.1 C?.2 *SIGNAL* UNNAMED_NET651 C?.1 C?.2 *SIGNAL* UNNAMED_NET650 C?.1 C?.2 *SIGNAL* UNNAMED_NET649 C?.1 C?.2 *SIGNAL* UNNAMED_NET648 C?.1 C?.2 *SIGNAL* UNNAMED_NET647 C?.1 C?.2 *SIGNAL* UNNAMED_NET646 C?.1 C?.2 *SIGNAL* UNNAMED_NET645 C?.1 C?.2 *SIGNAL* UNNAMED_NET644 C?.1 C?.2 *SIGNAL* UNNAMED_NET643 C?.1 C?.2 *SIGNAL* UNNAMED_NET642 C?.1 C?.2 *SIGNAL* UNNAMED_NET641 C?.1 C?.2 *SIGNAL* UNNAMED_NET640 C?.1 C?.2 *SIGNAL* UNNAMED_NET639 C?.1 C?.2 *SIGNAL* UNNAMED_NET638 C?.1 C?.2 *SIGNAL* UNNAMED_NET637 C?.1 C?.2 *SIGNAL* UNNAMED_NET636 C?.1 C?.2 *SIGNAL* UNNAMED_NET635 C?.1 C?.2 *SIGNAL* UNNAMED_NET634 C?.1 C?.2 *SIGNAL* UNNAMED_NET633 C?.1 C?.2 *SIGNAL* UNNAMED_NET632 C?.1 C?.2 *SIGNAL* UNNAMED_NET631 C?.1 C?.2 *SIGNAL* UNNAMED_NET630 C?.1 C?.2 *SIGNAL* UNNAMED_NET629 C?.1 C?.2 *SIGNAL* UNNAMED_NET628 C?.1 C?.2 *SIGNAL* UNNAMED_NET627 C?.1 C?.2 *SIGNAL* UNNAMED_NET626 C?.1 C?.2 *SIGNAL* UNNAMED_NET625 C?.1 C?.2 *SIGNAL* UNNAMED_NET624 C?.1 C?.2 *SIGNAL* UNNAMED_NET623 C?.1 C?.2 *SIGNAL* UNNAMED_NET622 C?.1 C?.2 *SIGNAL* UNNAMED_NET621 C?.1 C?.2 *SIGNAL* UNNAMED_NET620 C?.1 C?.2 *SIGNAL* UNNAMED_NET619 C?.1 C?.2 *SIGNAL* UNNAMED_NET618 C?.1 C?.2 *SIGNAL* UNNAMED_NET617 C?.1 C?.2 *SIGNAL* UNNAMED_NET616 C?.1 C?.2 *SIGNAL* UNNAMED_NET615 C?.1 C?.2 *SIGNAL* UNNAMED_NET614 C?.1 C?.2 *SIGNAL* UNNAMED_NET613 C?.1 C?.2 *SIGNAL* UNNAMED_NET612 C?.1 C?.2 *SIGNAL* UNNAMED_NET611 C?.1 C?.2 *SIGNAL* UNNAMED_NET610 C?.1 C?.2 *SIGNAL* UNNAMED_NET609 C?.1 C?.2 *SIGNAL* UNNAMED_NET608 C?.1 C?.2 *SIGNAL* UNNAMED_NET607 C?.1 C?.2 *SIGNAL* UNNAMED_NET606 C?.1 C?.2 *SIGNAL* UNNAMED_NET605 C?.1 C?.2 *SIGNAL* UNNAMED_NET604 C?.1 C?.2 *SIGNAL* UNNAMED_NET603 C?.1 C?.2 *SIGNAL* UNNAMED_NET602 C?.1 C?.2 *SIGNAL* UNNAMED_NET601 C?.1 C?.2 *SIGNAL* UNNAMED_NET600 C?.1 C?.2 *SIGNAL* UNNAMED_NET599 C?.1 C?.2 *SIGNAL* UNNAMED_NET598 C?.1 C?.2 *SIGNAL* UNNAMED_NET597 C?.1 C?.2 *SIGNAL* UNNAMED_NET596 C?.1 C?.2 *SIGNAL* UNNAMED_NET595 C?.1 C?.2 *SIGNAL* UNNAMED_NET594 C?.1 C?.2 *SIGNAL* UNNAMED_NET593 C?.1 C?.2 *SIGNAL* UNNAMED_NET592 C?.1 C?.2 *SIGNAL* UNNAMED_NET591 C?.1 C?.2 *SIGNAL* UNNAMED_NET590 C?.1 C?.2 *SIGNAL* UNNAMED_NET589 C?.1 C?.2 *SIGNAL* UNNAMED_NET588 C?.1 C?.2 *SIGNAL* UNNAMED_NET587 C?.1 C?.2 *SIGNAL* UNNAMED_NET586 C?.1 C?.2 *SIGNAL* UNNAMED_NET585 C?.1 C?.2 *SIGNAL* UNNAMED_NET584 C?.1 C?.2 *SIGNAL* UNNAMED_NET583 C?.1 C?.2 *SIGNAL* UNNAMED_NET582 C?.1 C?.2 *SIGNAL* UNNAMED_NET581 C?.1 C?.2 *SIGNAL* UNNAMED_NET580 C?.1 C?.2 *SIGNAL* UNNAMED_NET579 C?.1 C?.2 *SIGNAL* UNNAMED_NET578 C?.1 C?.2 *SIGNAL* UNNAMED_NET577 C?.1 C?.2 *SIGNAL* UNNAMED_NET576 C?.1 C?.2 *SIGNAL* UNNAMED_NET575 C?.1 C?.2 *SIGNAL* UNNAMED_NET574 C?.1 *SIGNAL* UNNAMED_NET573 C?.1 C?.2 *SIGNAL* UNNAMED_NET572 C?.1 C?.2 *SIGNAL* UNNAMED_NET571 C?.1 C?.2 *SIGNAL* UNNAMED_NET570 C?.1 C?.2 *SIGNAL* UNNAMED_NET569 C?.1 C?.2 *SIGNAL* UNNAMED_NET568 C?.1 C?.2 *SIGNAL* UNNAMED_NET567 C?.1 C?.2 *SIGNAL* UNNAMED_NET566 C?.1 C?.2 *SIGNAL* UNNAMED_NET565 C?.1 *SIGNAL* UNNAMED_NET564 C?.1 C?.2 *SIGNAL* UNNAMED_NET563 C?.1 C?.2 *SIGNAL* UNNAMED_NET562 C?.1 C?.2 *SIGNAL* UNNAMED_NET561 C?.1 C?.2 *SIGNAL* UNNAMED_NET560 C?.1 C?.2 *SIGNAL* UNNAMED_NET559 C?.1 C?.2 *SIGNAL* UNNAMED_NET558 C?.1 C?.2 *SIGNAL* UNNAMED_NET557 C?.1 C?.2 *SIGNAL* UNNAMED_NET556 C?.1 C?.2 *SIGNAL* UNNAMED_NET555 C?.1 C?.2 *SIGNAL* UNNAMED_NET554 C?.1 C?.2 *SIGNAL* UNNAMED_NET553 C?.1 C?.2 *SIGNAL* UNNAMED_NET552 C?.1 C?.2 *SIGNAL* UNNAMED_NET551 C?.1 C?.2 *SIGNAL* UNNAMED_NET550 C?.1 C?.2 *SIGNAL* UNNAMED_NET549 C?.1 C?.2 *SIGNAL* UNNAMED_NET548 C?.1 C?.2 *SIGNAL* UNNAMED_NET547 C?.1 C?.2 *SIGNAL* UNNAMED_NET546 C?.1 C?.2 *SIGNAL* UNNAMED_NET545 C?.1 C?.2 *SIGNAL* UNNAMED_NET544 C?.1 C?.2 *SIGNAL* UNNAMED_NET543 C?.1 C?.2 *SIGNAL* UNNAMED_NET542 C?.1 C?.2 *SIGNAL* UNNAMED_NET541 C?.1 C?.2 *SIGNAL* UNNAMED_NET540 C?.1 *SIGNAL* UNNAMED_NET539 C?.1 C?.2 *SIGNAL* UNNAMED_NET538 C?.1 C?.2 *SIGNAL* UNNAMED_NET537 C?.1 C?.2 *SIGNAL* UNNAMED_NET536 C?.1 C?.2 *SIGNAL* UNNAMED_NET535 C?.1 C?.2 *SIGNAL* UNNAMED_NET534 C?.1 C?.2 *SIGNAL* UNNAMED_NET533 C?.1 C?.2 *SIGNAL* UNNAMED_NET532 C?.1 C?.2 *SIGNAL* UNNAMED_NET531 C?.1 *SIGNAL* UNNAMED_NET530 C?.1 C?.2 *SIGNAL* UNNAMED_NET529 C?.2 *SIGNAL* UNNAMED_NET528 C?.1 C?.2 *SIGNAL* UNNAMED_NET527 C?.1 C?.2 *SIGNAL* UNNAMED_NET526 C?.1 C?.2 *SIGNAL* UNNAMED_NET525 C?.1 C?.2 *SIGNAL* UNNAMED_NET524 C?.1 C?.2 *SIGNAL* UNNAMED_NET523 C?.1 C?.2 *SIGNAL* UNNAMED_NET522 C?.2 *SIGNAL* UNNAMED_NET521 C?.1 C?.2 *SIGNAL* UNNAMED_NET520 C?.1 C?.2 *SIGNAL* UNNAMED_NET519 C?.1 C?.2 *SIGNAL* UNNAMED_NET518 C?.1 C?.2 *SIGNAL* UNNAMED_NET517 C?.1 C?.2 *SIGNAL* UNNAMED_NET516 C?.1 C?.2 *SIGNAL* UNNAMED_NET515 C?.1 C?.2 *SIGNAL* UNNAMED_NET514 C?.1 C?.2 *SIGNAL* UNNAMED_NET513 C?.1 C?.2 *SIGNAL* UNNAMED_NET512 C?.1 C?.2 *SIGNAL* UNNAMED_NET511 C?.1 C?.2 *SIGNAL* UNNAMED_NET510 C?.1 C?.2 *SIGNAL* UNNAMED_NET509 C?.1 C?.2 *SIGNAL* UNNAMED_NET508 C?.1 C?.2 *SIGNAL* UNNAMED_NET507 C?.1 C?.2 *SIGNAL* UNNAMED_NET506 C?.1 C?.2 *SIGNAL* UNNAMED_NET505 C?.1 C?.2 *SIGNAL* UNNAMED_NET504 C?.1 C?.2 *SIGNAL* UNNAMED_NET503 C?.1 C?.2 *SIGNAL* UNNAMED_NET502 C?.1 C?.2 *SIGNAL* UNNAMED_NET501 C?.1 C?.2 *SIGNAL* UNNAMED_NET500 C?.1 C?.2 *SIGNAL* UNNAMED_NET499 C?.2 *SIGNAL* UNNAMED_NET498 C?.1 C?.2 *SIGNAL* UNNAMED_NET497 C?.1 C?.2 *SIGNAL* UNNAMED_NET496 C?.1 C?.2 *SIGNAL* UNNAMED_NET495 C?.1 C?.2 *SIGNAL* UNNAMED_NET494 C?.1 C?.2 *SIGNAL* UNNAMED_NET493 C?.1 C?.2 *SIGNAL* UNNAMED_NET492 C?.2 *SIGNAL* UNNAMED_NET491 C?.1 C?.2 *SIGNAL* UNNAMED_NET490 C?.1 C?.2 *SIGNAL* UNNAMED_NET489 C?.1 C?.2 *SIGNAL* UNNAMED_NET488 C?.1 C?.2 *SIGNAL* UNNAMED_NET487 C?.1 C?.2 *SIGNAL* UNNAMED_NET486 C?.1 C?.2 *SIGNAL* UNNAMED_NET485 C?.1 C?.2 *SIGNAL* UNNAMED_NET484 C?.1 C?.2 *SIGNAL* UNNAMED_NET483 C?.1 C?.2 *SIGNAL* UNNAMED_NET482 C?.1 C?.2 *SIGNAL* UNNAMED_NET481 C?.1 C?.2 *SIGNAL* UNNAMED_NET480 C?.1 C?.2 *SIGNAL* UNNAMED_NET479 C?.1 C?.2 *SIGNAL* UNNAMED_NET478 C?.1 C?.2 *SIGNAL* UNNAMED_NET477 C?.1 C?.2 *SIGNAL* UNNAMED_NET476 C?.1 C?.2 *SIGNAL* UNNAMED_NET475 C?.1 C?.2 *SIGNAL* UNNAMED_NET474 C?.1 C?.2 *SIGNAL* UNNAMED_NET473 C?.1 C?.2 *SIGNAL* UNNAMED_NET472 C?.1 C?.2 *SIGNAL* UNNAMED_NET471 C?.1 C?.2 *SIGNAL* UNNAMED_NET470 C?.1 C?.2 *SIGNAL* UNNAMED_NET469 C?.1 C?.2 *SIGNAL* UNNAMED_NET468 C?.1 C?.2 *SIGNAL* UNNAMED_NET467 C?.1 C?.2 *SIGNAL* UNNAMED_NET466 C?.1 C?.2 *SIGNAL* UNNAMED_NET465 C?.1 C?.2 *SIGNAL* UNNAMED_NET464 C?.1 C?.2 *SIGNAL* UNNAMED_NET463 C?.1 C?.2 *SIGNAL* UNNAMED_NET462 C?.1 C?.2 *SIGNAL* UNNAMED_NET461 C?.1 C?.2 *SIGNAL* UNNAMED_NET460 C?.1 C?.2 *SIGNAL* UNNAMED_NET459 C?.1 C?.2 *SIGNAL* UNNAMED_NET458 C?.1 C?.2 *SIGNAL* UNNAMED_NET457 C?.1 C?.2 *SIGNAL* UNNAMED_NET456 C?.1 C?.2 *SIGNAL* UNNAMED_NET455 C?.1 C?.2 *SIGNAL* UNNAMED_NET454 C?.1 C?.2 *SIGNAL* UNNAMED_NET453 C?.1 C?.2 *SIGNAL* UNNAMED_NET452 C?.1 C?.2 *SIGNAL* UNNAMED_NET451 C?.1 C?.2 *SIGNAL* UNNAMED_NET450 C?.1 C?.2 *SIGNAL* UNNAMED_NET449 C?.1 C?.2 *SIGNAL* UNNAMED_NET448 C?.1 C?.2 *SIGNAL* UNNAMED_NET447 C?.1 C?.2 *SIGNAL* UNNAMED_NET446 C?.1 C?.2 *SIGNAL* UNNAMED_NET445 C?.1 C?.2 *SIGNAL* UNNAMED_NET444 C?.1 C?.2 *SIGNAL* UNNAMED_NET443 C?.1 C?.2 *SIGNAL* UNNAMED_NET442 C?.1 C?.2 *SIGNAL* UNNAMED_NET441 C?.1 C?.2 *SIGNAL* UNNAMED_NET440 C?.1 C?.2 *SIGNAL* UNNAMED_NET439 C?.1 C?.2 *SIGNAL* UNNAMED_NET438 C?.1 C?.2 *SIGNAL* UNNAMED_NET437 C?.1 C?.2 *SIGNAL* UNNAMED_NET436 C?.1 C?.2 *SIGNAL* UNNAMED_NET435 C?.1 C?.2 *SIGNAL* UNNAMED_NET434 C?.1 C?.2 *SIGNAL* UNNAMED_NET433 C?.1 C?.2 *SIGNAL* UNNAMED_NET432 C?.1 C?.2 *SIGNAL* UNNAMED_NET431 C?.1 C?.2 *SIGNAL* UNNAMED_NET430 C?.1 C?.2 *SIGNAL* UNNAMED_NET429 C?.1 C?.2 *SIGNAL* UNNAMED_NET428 C?.1 C?.2 *SIGNAL* UNNAMED_NET427 C?.1 C?.2 *SIGNAL* UNNAMED_NET426 C?.1 C?.2 *SIGNAL* UNNAMED_NET425 C?.1 C?.2 *SIGNAL* UNNAMED_NET424 C?.1 C?.2 *SIGNAL* UNNAMED_NET423 C?.1 C?.2 *SIGNAL* UNNAMED_NET422 C?.1 C?.2 *SIGNAL* UNNAMED_NET421 C?.1 C?.2 *SIGNAL* UNNAMED_NET420 C?.1 C?.2 *SIGNAL* UNNAMED_NET419 C?.1 C?.2 *SIGNAL* UNNAMED_NET418 C?.1 C?.2 *SIGNAL* UNNAMED_NET417 C?.1 C?.2 *SIGNAL* UNNAMED_NET416 C?.1 C?.2 *SIGNAL* UNNAMED_NET415 C?.1 C?.2 *SIGNAL* UNNAMED_NET414 C?.1 C?.2 *SIGNAL* UNNAMED_NET413 C?.1 C?.2 *SIGNAL* UNNAMED_NET412 C?.1 C?.2 *SIGNAL* UNNAMED_NET411 C?.1 C?.2 *SIGNAL* UNNAMED_NET410 C?.1 C?.2 *SIGNAL* UNNAMED_NET409 C?.1 C?.2 *SIGNAL* UNNAMED_NET408 C?.1 C?.2 *SIGNAL* UNNAMED_NET407 C?.1 C?.2 *SIGNAL* UNNAMED_NET406 C?.1 C?.2 *SIGNAL* UNNAMED_NET405 C?.2 *SIGNAL* UNNAMED_NET404 C?.1 C?.2 *SIGNAL* UNNAMED_NET403 C?.1 C?.2 *SIGNAL* UNNAMED_NET402 C?.1 C?.2 *SIGNAL* UNNAMED_NET401 C?.1 C?.2 *SIGNAL* UNNAMED_NET400 C?.1 C?.2 *SIGNAL* UNNAMED_NET399 C?.1 C?.2 *SIGNAL* UNNAMED_NET398 C?.2 *SIGNAL* UNNAMED_NET397 C?.1 C?.2 *SIGNAL* UNNAMED_NET396 C?.1 C?.2 *SIGNAL* UNNAMED_NET395 C?.1 C?.2 *SIGNAL* UNNAMED_NET394 C?.1 C?.2 *SIGNAL* UNNAMED_NET393 C?.1 C?.2 *SIGNAL* UNNAMED_NET392 C?.1 C?.2 *SIGNAL* UNNAMED_NET391 C?.1 C?.2 *SIGNAL* UNNAMED_NET390 C?.1 C?.2 *SIGNAL* UNNAMED_NET389 C?.1 C?.2 *SIGNAL* UNNAMED_NET388 C?.1 C?.2 *SIGNAL* UNNAMED_NET387 C?.1 C?.2 *SIGNAL* UNNAMED_NET386 C?.1 C?.2 *SIGNAL* UNNAMED_NET385 C?.1 C?.2 *SIGNAL* UNNAMED_NET384 C?.1 C?.2 *SIGNAL* UNNAMED_NET383 C?.1 C?.2 *SIGNAL* UNNAMED_NET382 C?.1 C?.2 *SIGNAL* UNNAMED_NET381 C?.1 C?.2 *SIGNAL* UNNAMED_NET380 C?.1 C?.2 *SIGNAL* UNNAMED_NET379 C?.1 C?.2 *SIGNAL* UNNAMED_NET378 C?.1 C?.2 *SIGNAL* UNNAMED_NET377 C?.1 C?.2 *SIGNAL* UNNAMED_NET376 C?.1 C?.2 *SIGNAL* UNNAMED_NET375 C?.2 *SIGNAL* UNNAMED_NET374 C?.1 C?.2 *SIGNAL* UNNAMED_NET373 C?.1 C?.2 *SIGNAL* UNNAMED_NET372 C?.1 C?.2 *SIGNAL* UNNAMED_NET371 C?.1 C?.2 *SIGNAL* UNNAMED_NET370 C?.1 C?.2 *SIGNAL* UNNAMED_NET369 C?.1 C?.2 *SIGNAL* UNNAMED_NET368 C?.2 *SIGNAL* UNNAMED_NET367 C?.2 *SIGNAL* UNNAMED_NET366 C?.1 C?.2 *SIGNAL* UNNAMED_NET365 C?.1 C?.2 *SIGNAL* UNNAMED_NET364 C?.1 *SIGNAL* UNNAMED_NET363 C?.1 C?.2 *SIGNAL* UNNAMED_NET362 C?.1 C?.2 *SIGNAL* UNNAMED_NET361 C?.1 C?.2 *SIGNAL* UNNAMED_NET360 C?.1 C?.2 *SIGNAL* UNNAMED_NET359 C?.1 *SIGNAL* UNNAMED_NET358 C?.1 C?.2 *SIGNAL* UNNAMED_NET357 C?.1 C?.2 *SIGNAL* UNNAMED_NET356 C?.1 C?.2 *SIGNAL* UNNAMED_NET355 C?.1 C?.2 *SIGNAL* UNNAMED_NET354 C?.1 C?.2 *SIGNAL* UNNAMED_NET353 C?.1 C?.2 *SIGNAL* UNNAMED_NET352 C?.1 C?.2 *SIGNAL* UNNAMED_NET351 C?.1 C?.2 *SIGNAL* UNNAMED_NET350 C?.1 C?.2 *SIGNAL* UNNAMED_NET349 C?.1 C?.2 *SIGNAL* UNNAMED_NET348 C?.1 C?.2 *SIGNAL* UNNAMED_NET347 C?.1 C?.2 *SIGNAL* UNNAMED_NET346 C?.1 *SIGNAL* UNNAMED_NET345 C?.1 C?.2 *SIGNAL* UNNAMED_NET344 C?.1 C?.2 *SIGNAL* UNNAMED_NET343 C?.1 C?.2 *SIGNAL* UNNAMED_NET342 C?.1 C?.2 *SIGNAL* UNNAMED_NET341 C?.1 *SIGNAL* UNNAMED_NET340 C?.1 C?.2 *SIGNAL* UNNAMED_NET339 C?.1 C?.2 *SIGNAL* UNNAMED_NET338 C?.1 C?.2 *SIGNAL* UNNAMED_NET337 C?.1 C?.2 *SIGNAL* UNNAMED_NET336 C?.1 C?.2 *SIGNAL* UNNAMED_NET335 C?.1 C?.2 *SIGNAL* UNNAMED_NET334 C?.1 C?.2 *SIGNAL* UNNAMED_NET333 C?.1 C?.2 *SIGNAL* UNNAMED_NET332 C?.1 C?.2 *SIGNAL* UNNAMED_NET331 C?.1 C?.2 *SIGNAL* UNNAMED_NET330 C?.1 C?.2 *SIGNAL* UNNAMED_NET329 C?.1 C?.2 *SIGNAL* UNNAMED_NET328 C?.1 C?.2 *SIGNAL* UNNAMED_NET327 C?.1 C?.2 *SIGNAL* UNNAMED_NET326 C?.1 C?.2 *SIGNAL* UNNAMED_NET325 C?.1 C?.2 *SIGNAL* UNNAMED_NET324 C?.1 C?.2 *SIGNAL* UNNAMED_NET323 C?.1 C?.2 *SIGNAL* UNNAMED_NET322 C?.1 C?.2 *SIGNAL* UNNAMED_NET321 C?.1 C?.2 *SIGNAL* UNNAMED_NET320 C?.1 C?.2 *SIGNAL* UNNAMED_NET319 C?.1 C?.2 *SIGNAL* UNNAMED_NET318 C?.1 C?.2 *SIGNAL* UNNAMED_NET317 C?.1 C?.2 *SIGNAL* UNNAMED_NET316 C?.1 C?.2 *SIGNAL* UNNAMED_NET315 C?.1 C?.2 *SIGNAL* UNNAMED_NET314 C?.1 C?.2 *SIGNAL* UNNAMED_NET313 C?.1 C?.2 *SIGNAL* UNNAMED_NET312 C?.1 C?.2 *SIGNAL* UNNAMED_NET311 C?.1 C?.2 *SIGNAL* UNNAMED_NET310 C?.1 C?.2 *SIGNAL* UNNAMED_NET309 C?.1 C?.2 *SIGNAL* UNNAMED_NET308 C?.1 C?.2 *SIGNAL* UNNAMED_NET307 C?.1 C?.2 *SIGNAL* UNNAMED_NET306 C?.1 C?.2 *SIGNAL* UNNAMED_NET305 C?.1 C?.2 *SIGNAL* UNNAMED_NET304 C?.1 C?.2 *SIGNAL* UNNAMED_NET303 C?.1 C?.2 *SIGNAL* UNNAMED_NET302 C?.1 C?.2 *SIGNAL* UNNAMED_NET301 C?.1 C?.2 *SIGNAL* UNNAMED_NET300 C?.1 C?.2 *SIGNAL* UNNAMED_NET299 C?.1 C?.2 *SIGNAL* UNNAMED_NET298 C?.1 C?.2 *SIGNAL* UNNAMED_NET297 C?.1 C?.2 *SIGNAL* UNNAMED_NET296 C?.1 *SIGNAL* UNNAMED_NET295 C?.1 C?.2 *SIGNAL* UNNAMED_NET294 C?.1 C?.2 *SIGNAL* UNNAMED_NET293 C?.1 C?.2 *SIGNAL* UNNAMED_NET292 C?.1 C?.2 *SIGNAL* UNNAMED_NET291 C?.1 *SIGNAL* UNNAMED_NET290 C?.1 C?.2 *SIGNAL* UNNAMED_NET289 C?.1 C?.2 *SIGNAL* UNNAMED_NET288 C?.1 C?.2 *SIGNAL* UNNAMED_NET287 C?.1 C?.2 *SIGNAL* UNNAMED_NET286 C?.1 C?.2 *SIGNAL* UNNAMED_NET285 C?.1 C?.2 *SIGNAL* UNNAMED_NET284 C?.1 C?.2 *SIGNAL* UNNAMED_NET283 C?.1 C?.2 *SIGNAL* UNNAMED_NET282 C?.1 C?.2 *SIGNAL* UNNAMED_NET281 C?.1 C?.2 *SIGNAL* UNNAMED_NET280 C?.1 C?.2 *SIGNAL* UNNAMED_NET279 C?.1 C?.2 *SIGNAL* UNNAMED_NET278 C?.1 *SIGNAL* UNNAMED_NET277 C?.1 C?.2 *SIGNAL* UNNAMED_NET276 C?.1 C?.2 *SIGNAL* UNNAMED_NET275 C?.1 C?.2 *SIGNAL* UNNAMED_NET274 C?.1 C?.2 *SIGNAL* UNNAMED_NET273 C?.1 *SIGNAL* UNNAMED_NET272 C?.1 C?.2 *SIGNAL* UNNAMED_NET271 C?.1 C?.2 *SIGNAL* UNNAMED_NET270 C?.1 C?.2 *SIGNAL* UNNAMED_NET269 C?.1 C?.2 *SIGNAL* UNNAMED_NET268 C?.1 C?.2 *SIGNAL* UNNAMED_NET267 C?.1 C?.2 *SIGNAL* UNNAMED_NET266 C?.1 C?.2 *SIGNAL* UNNAMED_NET265 C?.1 C?.2 *SIGNAL* UNNAMED_NET264 C?.1 C?.2 *SIGNAL* UNNAMED_NET263 C?.1 C?.2 *SIGNAL* UNNAMED_NET262 C?.1 C?.2 *SIGNAL* UNNAMED_NET261 C?.1 C?.2 *SIGNAL* UNNAMED_NET260 C?.1 C?.2 *SIGNAL* UNNAMED_NET259 C?.1 C?.2 *SIGNAL* UNNAMED_NET258 C?.1 C?.2 *SIGNAL* UNNAMED_NET257 C?.1 C?.2 *SIGNAL* UNNAMED_NET256 C?.1 C?.2 *SIGNAL* UNNAMED_NET255 C?.1 C?.2 *SIGNAL* UNNAMED_NET254 C?.1 C?.2 *SIGNAL* UNNAMED_NET253 C?.1 C?.2 *SIGNAL* UNNAMED_NET252 C?.1 C?.2 *SIGNAL* UNNAMED_NET251 C?.1 C?.2 *SIGNAL* UNNAMED_NET250 C?.1 C?.2 *SIGNAL* UNNAMED_NET249 C?.1 C?.2 *SIGNAL* UNNAMED_NET248 C?.1 C?.2 *SIGNAL* UNNAMED_NET247 C?.1 C?.2 *SIGNAL* UNNAMED_NET246 C?.1 C?.2 *SIGNAL* UNNAMED_NET245 C?.1 C?.2 *SIGNAL* UNNAMED_NET244 C?.1 C?.2 *SIGNAL* UNNAMED_NET243 C?.1 C?.2 *SIGNAL* UNNAMED_NET242 C?.1 C?.2 *SIGNAL* UNNAMED_NET241 C?.1 C?.2 *SIGNAL* UNNAMED_NET240 C?.1 C?.2 *SIGNAL* UNNAMED_NET239 C?.1 C?.2 *SIGNAL* UNNAMED_NET238 C?.1 C?.2 *SIGNAL* UNNAMED_NET237 C?.1 C?.2 *SIGNAL* UNNAMED_NET236 C?.1 C?.2 *SIGNAL* UNNAMED_NET235 C?.1 C?.2 *SIGNAL* UNNAMED_NET234 C?.1 C?.2 *SIGNAL* UNNAMED_NET233 C?.1 C?.2 *SIGNAL* UNNAMED_NET232 C?.1 C?.2 *SIGNAL* UNNAMED_NET231 C?.1 C?.2 *SIGNAL* UNNAMED_NET230 C?.1 C?.2 *SIGNAL* UNNAMED_NET229 C?.1 C?.2 *SIGNAL* UNNAMED_NET228 C?.1 C?.2 *SIGNAL* UNNAMED_NET227 C?.1 C?.2 *SIGNAL* UNNAMED_NET226 C?.1 C?.2 *SIGNAL* UNNAMED_NET225 C?.1 C?.2 *SIGNAL* UNNAMED_NET224 C?.1 C?.2 *SIGNAL* UNNAMED_NET223 C?.1 C?.2 *SIGNAL* UNNAMED_NET222 C?.1 C?.2 *SIGNAL* UNNAMED_NET221 C?.1 C?.2 *SIGNAL* UNNAMED_NET220 C?.1 C?.2 *SIGNAL* UNNAMED_NET219 C?.1 C?.2 *SIGNAL* UNNAMED_NET218 C?.1 C?.2 *SIGNAL* UNNAMED_NET217 C?.1 C?.2 *SIGNAL* UNNAMED_NET216 C?.1 C?.2 *SIGNAL* UNNAMED_NET215 C?.1 C?.2 *SIGNAL* UNNAMED_NET214 C?.1 C?.2 *SIGNAL* UNNAMED_NET213 C?.1 C?.2 *SIGNAL* UNNAMED_NET212 C?.1 C?.2 *SIGNAL* UNNAMED_NET211 C?.1 C?.2 *SIGNAL* UNNAMED_NET210 C?.1 C?.2 *SIGNAL* UNNAMED_NET209 C?.1 C?.2 *SIGNAL* UNNAMED_NET208 C?.1 C?.2 *SIGNAL* UNNAMED_NET207 C?.1 C?.2 *SIGNAL* UNNAMED_NET206 C?.1 C?.2 *SIGNAL* UNNAMED_NET205 C?.1 C?.2 *SIGNAL* UNNAMED_NET204 C?.1 C?.2 *SIGNAL* UNNAMED_NET203 C?.1 C?.2 *SIGNAL* UNNAMED_NET202 C?.1 C?.2 *SIGNAL* UNNAMED_NET201 C?.1 C?.2 *SIGNAL* UNNAMED_NET200 C?.1 C?.2 *SIGNAL* UNNAMED_NET199 C?.1 C?.2 *SIGNAL* UNNAMED_NET198 C?.1 C?.2 *SIGNAL* UNNAMED_NET197 C?.1 C?.2 *SIGNAL* UNNAMED_NET196 C?.1 C?.2 *SIGNAL* UNNAMED_NET195 C?.1 C?.2 *SIGNAL* UNNAMED_NET194 C?.1 C?.2 *SIGNAL* UNNAMED_NET193 C?.1 C?.2 *SIGNAL* UNNAMED_NET192 C?.1 C?.2 *SIGNAL* UNNAMED_NET191 C?.1 C?.2 *SIGNAL* UNNAMED_NET190 C?.1 C?.2 *SIGNAL* UNNAMED_NET189 C?.1 C?.2 *SIGNAL* UNNAMED_NET188 C?.1 C?.2 *SIGNAL* UNNAMED_NET187 C?.1 C?.2 *SIGNAL* UNNAMED_NET186 C?.1 C?.2 *SIGNAL* UNNAMED_NET185 C?.1 *SIGNAL* UNNAMED_NET184 C?.1 C?.2 *SIGNAL* UNNAMED_NET183 C?.1 C?.2 *SIGNAL* UNNAMED_NET182 C?.1 C?.2 *SIGNAL* UNNAMED_NET181 C?.1 C?.2 *SIGNAL* UNNAMED_NET180 C?.1 C?.2 *SIGNAL* UNNAMED_NET179 C?.1 C?.2 *SIGNAL* UNNAMED_NET178 C?.1 C?.2 *SIGNAL* UNNAMED_NET177 C?.1 C?.2 *SIGNAL* UNNAMED_NET176 C?.1 *SIGNAL* UNNAMED_NET175 C?.1 C?.2 *SIGNAL* UNNAMED_NET174 C?.1 C?.2 *SIGNAL* UNNAMED_NET173 C?.1 C?.2 *SIGNAL* UNNAMED_NET172 C?.1 C?.2 *SIGNAL* UNNAMED_NET171 C?.1 C?.2 *SIGNAL* UNNAMED_NET170 C?.1 C?.2 *SIGNAL* UNNAMED_NET169 C?.1 C?.2 *SIGNAL* UNNAMED_NET168 C?.1 C?.2 *SIGNAL* UNNAMED_NET167 C?.1 C?.2 *SIGNAL* UNNAMED_NET166 C?.1 C?.2 *SIGNAL* UNNAMED_NET165 C?.1 C?.2 *SIGNAL* UNNAMED_NET164 C?.1 C?.2 *SIGNAL* UNNAMED_NET163 C?.1 C?.2 *SIGNAL* UNNAMED_NET162 C?.1 C?.2 *SIGNAL* UNNAMED_NET161 C?.1 C?.2 *SIGNAL* UNNAMED_NET160 C?.1 C?.2 *SIGNAL* UNNAMED_NET159 C?.1 C?.2 *SIGNAL* UNNAMED_NET158 C?.1 C?.2 *SIGNAL* UNNAMED_NET157 C?.1 C?.2 *SIGNAL* UNNAMED_NET156 C?.1 C?.2 *SIGNAL* UNNAMED_NET155 C?.1 C?.2 *SIGNAL* UNNAMED_NET154 C?.1 C?.2 *SIGNAL* UNNAMED_NET153 C?.1 C?.2 *SIGNAL* UNNAMED_NET152 C?.1 C?.2 *SIGNAL* UNNAMED_NET151 C?.1 *SIGNAL* UNNAMED_NET150 C?.1 C?.2 *SIGNAL* UNNAMED_NET149 C?.1 C?.2 *SIGNAL* UNNAMED_NET148 C?.1 C?.2 *SIGNAL* UNNAMED_NET147 C?.1 C?.2 *SIGNAL* UNNAMED_NET146 C?.1 C?.2 *SIGNAL* UNNAMED_NET145 C?.1 C?.2 *SIGNAL* UNNAMED_NET144 C?.1 C?.2 *SIGNAL* UNNAMED_NET143 C?.1 C?.2 *SIGNAL* UNNAMED_NET142 C?.1 *SIGNAL* UNNAMED_NET141 C?.1 C?.2 *SIGNAL* UNNAMED_NET140 C?.1 C?.2 *SIGNAL* UNNAMED_NET139 C?.1 C?.2 *SIGNAL* UNNAMED_NET138 C?.1 C?.2 *SIGNAL* UNNAMED_NET137 C?.1 C?.2 *SIGNAL* UNNAMED_NET136 C?.1 C?.2 *SIGNAL* UNNAMED_NET135 C?.1 C?.2 *SIGNAL* UNNAMED_NET134 C?.1 C?.2 *SIGNAL* UNNAMED_NET133 C?.1 C?.2 *SIGNAL* UNNAMED_NET132 C?.1 C?.2 *SIGNAL* UNNAMED_NET131 C?.1 C?.2 *SIGNAL* UNNAMED_NET130 C?.1 C?.2 *SIGNAL* UNNAMED_NET129 C?.1 C?.2 *SIGNAL* UNNAMED_NET128 C?.1 C?.2 *SIGNAL* UNNAMED_NET127 C?.1 C?.2 *SIGNAL* UNNAMED_NET126 C?.1 C?.2 *SIGNAL* UNNAMED_NET125 C?.1 C?.2 *SIGNAL* UNNAMED_NET124 C?.1 C?.2 *SIGNAL* UNNAMED_NET123 C?.1 C?.2 *SIGNAL* UNNAMED_NET122 C?.1 C?.2 *SIGNAL* UNNAMED_NET121 C?.1 C?.2 *SIGNAL* UNNAMED_NET120 C?.1 C?.2 *SIGNAL* UNNAMED_NET119 C?.1 C?.2 *SIGNAL* UNNAMED_NET118 C?.1 C?.2 *SIGNAL* UNNAMED_NET117 C?.1 C?.2 *SIGNAL* UNNAMED_NET116 C?.1 C?.2 *SIGNAL* UNNAMED_NET115 C?.1 C?.2 *SIGNAL* UNNAMED_NET114 C?.1 C?.2 *SIGNAL* UNNAMED_NET113 C?.1 C?.2 *SIGNAL* UNNAMED_NET112 C?.1 C?.2 *SIGNAL* UNNAMED_NET111 C?.1 C?.2 *SIGNAL* UNNAMED_NET110 C?.1 C?.2 *SIGNAL* UNNAMED_NET109 C?.1 C?.2 *SIGNAL* UNNAMED_NET108 C?.1 C?.2 *SIGNAL* UNNAMED_NET107 C?.1 C?.2 *SIGNAL* UNNAMED_NET106 C?.1 C?.2 *SIGNAL* UNNAMED_NET105 C?.1 C?.2 *SIGNAL* UNNAMED_NET104 C?.1 C?.2 *SIGNAL* UNNAMED_NET103 C?.1 C?.2 *SIGNAL* UNNAMED_NET102 C?.1 C?.2 *SIGNAL* UNNAMED_NET101 C?.1 C?.2 *SIGNAL* UNNAMED_NET100 C?.1 C?.2 *SIGNAL* UNNAMED_NET99 C?.1 C?.2 *SIGNAL* UNNAMED_NET98 C?.1 C?.2 *SIGNAL* UNNAMED_NET97 C?.1 C?.2 *SIGNAL* UNNAMED_NET96 C?.1 *SIGNAL* UNNAMED_NET95 C?.1 C?.2 *SIGNAL* UNNAMED_NET94 C?.1 C?.2 *SIGNAL* UNNAMED_NET93 C?.1 C?.2 *SIGNAL* UNNAMED_NET92 C?.1 C?.2 *SIGNAL* UNNAMED_NET91 C?.1 *SIGNAL* UNNAMED_NET90 C?.1 C?.2 *SIGNAL* UNNAMED_NET89 C?.1 C?.2 *SIGNAL* UNNAMED_NET88 C?.1 C?.2 *SIGNAL* UNNAMED_NET87 C?.1 C?.2 *SIGNAL* UNNAMED_NET86 C?.1 C?.2 *SIGNAL* UNNAMED_NET85 C?.1 C?.2 *SIGNAL* UNNAMED_NET84 C?.1 C?.2 *SIGNAL* UNNAMED_NET83 C?.1 C?.2 *SIGNAL* UNNAMED_NET82 C?.1 C?.2 *SIGNAL* UNNAMED_NET81 C?.1 C?.2 *SIGNAL* UNNAMED_NET80 C?.1 C?.2 *SIGNAL* UNNAMED_NET79 C?.1 C?.2 *SIGNAL* UNNAMED_NET78 C?.1 *SIGNAL* UNNAMED_NET77 C?.1 C?.2 *SIGNAL* UNNAMED_NET76 C?.1 C?.2 *SIGNAL* UNNAMED_NET75 C?.1 C?.2 *SIGNAL* UNNAMED_NET74 C?.1 C?.2 *SIGNAL* UNNAMED_NET73 C?.1 *SIGNAL* UNNAMED_NET72 C?.1 C?.2 *SIGNAL* UNNAMED_NET71 C?.1 C?.2 *SIGNAL* UNNAMED_NET70 C?.1 C?.2 *SIGNAL* UNNAMED_NET69 C?.1 C?.2 *SIGNAL* UNNAMED_NET68 C?.1 C?.2 *SIGNAL* UNNAMED_NET67 C?.1 C?.2 *SIGNAL* UNNAMED_NET66 C?.1 C?.2 *SIGNAL* UNNAMED_NET65 C?.1 C?.2 *SIGNAL* UNNAMED_NET64 C?.1 C?.2 *SIGNAL* UNNAMED_NET63 C?.1 C?.2 *SIGNAL* UNNAMED_NET62 C?.1 C?.2 *SIGNAL* UNNAMED_NET61 C?.1 C?.2 *SIGNAL* UNNAMED_NET60 C?.1 C?.2 *SIGNAL* UNNAMED_NET59 C?.1 C?.2 *SIGNAL* UNNAMED_NET58 C?.1 C?.2 *SIGNAL* UNNAMED_NET57 C?.1 C?.2 *SIGNAL* UNNAMED_NET56 C?.1 C?.2 *SIGNAL* UNNAMED_NET55 C?.1 C?.2 *SIGNAL* UNNAMED_NET54 C?.1 C?.2 *SIGNAL* UNNAMED_NET53 C?.1 C?.2 *SIGNAL* UNNAMED_NET52 C?.1 C?.2 *SIGNAL* UNNAMED_NET51 C?.1 C?.2 *SIGNAL* UNNAMED_NET50 C?.1 C?.2 *SIGNAL* UNNAMED_NET49 C?.1 *SIGNAL* UNNAMED_NET48 C?.1 C?.2 *SIGNAL* UNNAMED_NET47 C?.1 C?.2 *SIGNAL* UNNAMED_NET46 C?.1 C?.2 *SIGNAL* UNNAMED_NET45 C?.1 C?.2 *SIGNAL* UNNAMED_NET44 C?.1 C?.2 *SIGNAL* UNNAMED_NET43 C?.1 C?.2 *SIGNAL* UNNAMED_NET42 C?.1 C?.2 *SIGNAL* UNNAMED_NET41 C?.1 C?.2 *SIGNAL* UNNAMED_NET40 C?.1 *SIGNAL* UNNAMED_NET39 C?.1 C?.2 *SIGNAL* UNNAMED_NET38 C?.1 C?.2 *SIGNAL* UNNAMED_NET37 C?.1 C?.2 *SIGNAL* UNNAMED_NET36 C?.1 C?.2 *SIGNAL* UNNAMED_NET35 C?.1 C?.2 *SIGNAL* UNNAMED_NET34 C?.1 C?.2 *SIGNAL* UNNAMED_NET33 C?.1 C?.2 *SIGNAL* UNNAMED_NET32 C?.1 C?.2 *SIGNAL* UNNAMED_NET31 C?.1 C?.2 *SIGNAL* UNNAMED_NET30 C?.1 C?.2 *SIGNAL* UNNAMED_NET29 C?.1 C?.2 *SIGNAL* UNNAMED_NET28 C?.1 C?.2 *SIGNAL* UNNAMED_NET27 C?.1 C?.2 *SIGNAL* UNNAMED_NET26 C?.1 *SIGNAL* UNNAMED_NET25 C?.1 C?.2 *SIGNAL* UNNAMED_NET24 C?.1 C?.2 *SIGNAL* UNNAMED_NET23 C?.1 C?.2 *SIGNAL* UNNAMED_NET22 C?.1 C?.2 *SIGNAL* UNNAMED_NET21 C?.1 *SIGNAL* UNNAMED_NET20 C?.1 C?.2 *SIGNAL* UNNAMED_NET19 C?.1 C?.2 *SIGNAL* UNNAMED_NET18 C?.1 C?.2 *SIGNAL* UNNAMED_NET17 C?.1 C?.2 *SIGNAL* UNNAMED_NET16 C?.1 C?.2 *SIGNAL* UNNAMED_NET15 C?.1 C?.2 *SIGNAL* UNNAMED_NET14 C?.1 C?.2 *SIGNAL* UNNAMED_NET13 C?.1 *SIGNAL* UNNAMED_NET12 C?.1 C?.2 *SIGNAL* UNNAMED_NET11 C?.1 C?.2 *SIGNAL* UNNAMED_NET10 C?.1 C?.2 *SIGNAL* UNNAMED_NET9 C?.1 C?.2 *SIGNAL* UNNAMED_NET8 C?.1 C?.2 *SIGNAL* UNNAMED_NET7 C?.1 *SIGNAL* UNNAMED_NET6 C?.1 C?.2 *SIGNAL* UNNAMED_NET5 C?.1 C?.2 *SIGNAL* UNNAMED_NET4 C?.1 C?.2 *SIGNAL* UNNAMED_NET3 C?.1 *SIGNAL* UNNAMED_NET2 C?.1 C?.2 *SIGNAL* UNNAMED_NET1 C?.1 *END* geda-gaf-1.8.2/gnetlist/tests/common/outputs/pads/JD_Sort.retcode0000664000175000017500000000000212050461155021677 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/pads/cascade-output.net0000664000175000017500000000062312050461155022466 00000000000000!PADS-POWERPCB-V3.0-MILS! *PART* AMP2 none T1 none MX1 none FL1 none DEF1 none AMP1 none SOURCE none DEFAULTS unknown *NET* *SIGNAL* UNNAMED_NET6 AMP2.1 T1.2 *SIGNAL* UNNAMED_NET5 T1.1 MX1.2 *SIGNAL* UNNAMED_NET4 MX1.1 FL1.2 *SIGNAL* UNNAMED_NET3 FL1.1 DEF1.2 *SIGNAL* UNNAMED_NET2 DEF1.1 AMP1.2 *SIGNAL* UNNAMED_NET1 AMP1.1 SOURCE.1 *SIGNAL* GND DEFAULTS.1 *END* geda-gaf-1.8.2/gnetlist/tests/common/outputs/pads/multiequal-output.net0000664000175000017500000000022512050461155023263 00000000000000!PADS-POWERPCB-V3.0-MILS! *PART* V1 none R1 unknown A1 unknown *NET* *SIGNAL* GND V1.2 R1.1 *SIGNAL* UNNAMED_NET1 V1.1 R1.2 *END* geda-gaf-1.8.2/gnetlist/tests/common/outputs/pads/JD_nomunge-output.net0000664000175000017500000000064012050461155023127 00000000000000!PADS-POWERPCB-V3.0-MILS! *PART* A1 unknown CM unknown CP unknown RLP unknown RLM unknown VDD none V1 none RT unknown RB unknown M1 unknown X1 unknown *NET* *SIGNAL* VDD1 RLP.2 M1.B M1.S VDD.1 X1.6 *SIGNAL* GND CM.2 CP.2 RLM.2 VDD.2 V1.2 RB.1 X1.7 X1.2 *SIGNAL* LVH RB.2 M1.D M1.G X1.3 *SIGNAL* I V1.1 X1.1 *SIGNAL* P CP.1 RT.1 RLP.1 X1.5 *SIGNAL* M CM.1 RLM.1 RT.2 X1.4 *END* geda-gaf-1.8.2/gnetlist/tests/common/outputs/pads/stack-torture.retcode0000664000175000017500000000000212063576065023215 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/pads/powersupply.retcode0000664000175000017500000000000212050461155023004 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/pads/JD_Sort_nomunge-output.net0000664000175000017500000000064012050461155024136 00000000000000!PADS-POWERPCB-V3.0-MILS! *PART* A1 unknown CM unknown CP unknown RLP unknown RLM unknown VDD none V1 none RT unknown RB unknown M1 unknown X1 unknown *NET* *SIGNAL* VDD1 RLP.2 M1.B M1.S VDD.1 X1.6 *SIGNAL* GND CM.2 CP.2 RLM.2 VDD.2 V1.2 RB.1 X1.7 X1.2 *SIGNAL* LVH RB.2 M1.D M1.G X1.3 *SIGNAL* I V1.1 X1.1 *SIGNAL* P CP.1 RT.1 RLP.1 X1.5 *SIGNAL* M CM.1 RLM.1 RT.2 X1.4 *END* geda-gaf-1.8.2/gnetlist/tests/common/outputs/pads/TwoStageAmp_Sort.retcode0000664000175000017500000000000212050461155023575 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/pads/netattrib.retcode0000664000175000017500000000000212050461155022367 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/pads/JD_nomunge.retcode0000664000175000017500000000000212050461155022420 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/pads/JD_Include-output.net0000664000175000017500000000064012050461155023042 00000000000000!PADS-POWERPCB-V3.0-MILS! *PART* A1 unknown CM unknown CP unknown RLP unknown RLM unknown VDD none V1 none RT unknown RB unknown M1 unknown X1 unknown *NET* *SIGNAL* VDD1 RLP.2 M1.B M1.S VDD.1 X1.6 *SIGNAL* GND CM.2 CP.2 RLM.2 VDD.2 V1.2 RB.1 X1.7 X1.2 *SIGNAL* LVH RB.2 M1.D M1.G X1.3 *SIGNAL* I V1.1 X1.1 *SIGNAL* P CP.1 RT.1 RLP.1 X1.5 *SIGNAL* M CM.1 RLM.1 RT.2 X1.4 *END* geda-gaf-1.8.2/gnetlist/tests/common/outputs/pads/JD_Sort-output.net0000664000175000017500000000064012050461155022406 00000000000000!PADS-POWERPCB-V3.0-MILS! *PART* A1 unknown CM unknown CP unknown RLP unknown RLM unknown VDD none V1 none RT unknown RB unknown M1 unknown X1 unknown *NET* *SIGNAL* VDD1 RLP.2 M1.B M1.S VDD.1 X1.6 *SIGNAL* GND CM.2 CP.2 RLM.2 VDD.2 V1.2 RB.1 X1.7 X1.2 *SIGNAL* LVH RB.2 M1.D M1.G X1.3 *SIGNAL* I V1.1 X1.1 *SIGNAL* P CP.1 RT.1 RLP.1 X1.5 *SIGNAL* M CM.1 RLM.1 RT.2 X1.4 *END* geda-gaf-1.8.2/gnetlist/tests/common/outputs/pads/cascade.retcode0000664000175000017500000000000212050461155021756 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/pads/TwoStageAmp_Sort-output.net0000664000175000017500000000143712050461155024311 00000000000000!PADS-POWERPCB-V3.0-MILS! *PART* C2 unknown R4 unknown R3 unknown R8 unknown CE2 unknown RE2 unknown RC1 unknown Q2 unknown C1 unknown A3 unknown A2 unknown A1 unknown VCC none VINPUT none CE1 unknown COUT unknown RL unknown RC2 unknown RE1 unknown R2 unknown R1 unknown R5 unknown Q1 unknown *NET* *SIGNAL* UNNAMED_NET2 C2.1 R8.2 *SIGNAL* VBASE2 R3.1 C2.2 R4.2 Q2.2 *SIGNAL* VEM2 CE2.2 RE2.2 Q2.1 *SIGNAL* VOUT COUT.2 RL.2 *SIGNAL* VCOLL2 Q2.3 COUT.1 RC2.1 *SIGNAL* GND R4.1 CE2.1 RE2.1 VCC.2 VINPUT.2 CE1.1 RL.1 RE1.1 R2.1 *SIGNAL* VCC R3.2 RC1.2 VCC.1 RC2.2 R1.2 *SIGNAL* VIN VINPUT.1 R5.1 *SIGNAL* UNNAMED_NET1 C1.1 R5.2 *SIGNAL* VBASE1 C1.2 R2.2 R1.1 Q1.2 *SIGNAL* VEM1 CE1.2 RE1.2 Q1.1 *SIGNAL* VCOLL1 R8.1 RC1.1 Q1.3 *END* geda-gaf-1.8.2/gnetlist/tests/common/outputs/pads/singlenet-output.net0000664000175000017500000000032312050461155023070 00000000000000!PADS-POWERPCB-V3.0-MILS! *PART* U100 DIP14 *NET* *SIGNAL* SING_N_2 U100.1 U100.3 *SIGNAL* GND U100.7 *SIGNAL* VCC U100.14 *SIGNAL* SING_N U100.4 U100.5 U100.10 U100.8 U100.9 U100.6 *END* geda-gaf-1.8.2/gnetlist/tests/common/outputs/pads/TwoStageAmp_Include.retcode0000664000175000017500000000000212050461155024231 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/pads/SlottedOpamps-output.net0000664000175000017500000000064512050461155023705 00000000000000!PADS-POWERPCB-V3.0-MILS! *PART* U1 unknown *NET* *SIGNAL* MINUSIN_SLOT4_PIN13_B U1.13 *SIGNAL* PLUSIN_SLOT4_PIN12_A U1.12 *SIGNAL* MINUSIN_SLOT3_PIN_B U1.9 *SIGNAL* PLUSIN_SLOT3_PIN10_A U1.10 *SIGNAL* MINUSIN_SLOT2_PIN6_B U1.6 *SIGNAL* PLUSIN_SLOT2_PIN5_A U1.5 *SIGNAL* SAMENET_OUTPUT_C U1.14 U1.8 U1.7 U1.1 *SIGNAL* MINUSIN_SLOT1_PIN_B U1.2 *SIGNAL* PLUSIN_SLOT1_PIN3_A U1.3 *END* geda-gaf-1.8.2/gnetlist/tests/common/outputs/pads/TwoStageAmp_Include-output.net0000664000175000017500000000143712050461155024745 00000000000000!PADS-POWERPCB-V3.0-MILS! *PART* C2 unknown R4 unknown R3 unknown R8 unknown CE2 unknown RE2 unknown RC1 unknown Q2 unknown C1 unknown A3 unknown A2 unknown A1 unknown VCC none VINPUT none CE1 unknown COUT unknown RL unknown RC2 unknown RE1 unknown R2 unknown R1 unknown R5 unknown Q1 unknown *NET* *SIGNAL* UNNAMED_NET2 C2.1 R8.2 *SIGNAL* VBASE2 R3.1 C2.2 R4.2 Q2.2 *SIGNAL* VEM2 CE2.2 RE2.2 Q2.1 *SIGNAL* VOUT COUT.2 RL.2 *SIGNAL* VCOLL2 Q2.3 COUT.1 RC2.1 *SIGNAL* GND R4.1 CE2.1 RE2.1 VCC.2 VINPUT.2 CE1.1 RL.1 RE1.1 R2.1 *SIGNAL* VCC R3.2 RC1.2 VCC.1 RC2.2 R1.2 *SIGNAL* VIN VINPUT.1 R5.1 *SIGNAL* UNNAMED_NET1 C1.1 R5.2 *SIGNAL* VBASE1 C1.2 R2.2 R1.1 Q1.2 *SIGNAL* VEM1 CE1.2 RE1.2 Q1.1 *SIGNAL* VCOLL1 R8.1 RC1.1 Q1.3 *END* geda-gaf-1.8.2/gnetlist/tests/common/outputs/pads/singlenet.retcode0000664000175000017500000000000212050461155022363 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/pads/JD_Include.retcode0000664000175000017500000000000212050461155022333 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/pads/powersupply-output.net0000664000175000017500000000105112050461155023510 00000000000000!PADS-POWERPCB-V3.0-MILS! *PART* U2 unknown C4 unknown C3 unknown R1 unknown C2 unknown R2 unknown C1 unknown S1 unknown CONN1 unknown T1 unknown F1 unknown U1 unknown *NET* *SIGNAL* TEN U2.1 R1.2 C3.1 R2.1 *SIGNAL* ELEVEN U2.2 C4.1 R2.2 *SIGNAL* GND CONN1.3 *SIGNAL* ONE S1.1 CONN1.1 *SIGNAL* FIVE CONN1.2 T1.2 *SIGNAL* THREE T1.1 F1.2 *SIGNAL* TWO S1.2 F1.1 *SIGNAL* SIX T1.3 U1.4 *SIGNAL* SEVEN T1.4 U1.3 *SIGNAL* NINE C4.2 C3.2 R1.3 R1.1 C2.2 C1.2 U1.2 *SIGNAL* EIGHT U2.3 C2.1 C1.1 U1.1 *END* geda-gaf-1.8.2/gnetlist/tests/common/outputs/pads/netattrib-output.net0000664000175000017500000000044212050461155023076 00000000000000!PADS-POWERPCB-V3.0-MILS! *PART* F1 unknown U300 DIP14 U200 DIP14 U100 DIP14 *NET* *SIGNAL* UNNAMED_NET1 U300.2 *SIGNAL* NETATTRIB U200.2 U100.5 *SIGNAL* GND U300.7 U200.7 U100.7 *SIGNAL* VCC U300.14 U200.14 U100.14 *SIGNAL* ONE F1.1 U300.1 U200.1 U100.3 *END* geda-gaf-1.8.2/gnetlist/tests/common/outputs/pads/SlottedOpamps.retcode0000664000175000017500000000000212050461155023171 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/pads/JD.retcode0000664000175000017500000000000212050461155020670 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/pads/multiequal.retcode0000664000175000017500000000000212050461155022555 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/pads/JD_Sort_nomunge.retcode0000664000175000017500000000000212050461155023427 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/pads/TwoStageAmp-output.net0000664000175000017500000000143712050461155023302 00000000000000!PADS-POWERPCB-V3.0-MILS! *PART* C2 unknown R4 unknown R3 unknown R8 unknown CE2 unknown RE2 unknown RC1 unknown Q2 unknown C1 unknown A3 unknown A2 unknown A1 unknown VCC none VINPUT none CE1 unknown COUT unknown RL unknown RC2 unknown RE1 unknown R2 unknown R1 unknown R5 unknown Q1 unknown *NET* *SIGNAL* UNNAMED_NET2 C2.1 R8.2 *SIGNAL* VBASE2 R3.1 C2.2 R4.2 Q2.2 *SIGNAL* VEM2 CE2.2 RE2.2 Q2.1 *SIGNAL* VOUT COUT.2 RL.2 *SIGNAL* VCOLL2 Q2.3 COUT.1 RC2.1 *SIGNAL* GND R4.1 CE2.1 RE2.1 VCC.2 VINPUT.2 CE1.1 RL.1 RE1.1 R2.1 *SIGNAL* VCC R3.2 RC1.2 VCC.1 RC2.2 R1.2 *SIGNAL* VIN VINPUT.1 R5.1 *SIGNAL* UNNAMED_NET1 C1.1 R5.2 *SIGNAL* VBASE1 C1.2 R2.2 R1.1 Q1.2 *SIGNAL* VEM1 CE1.2 RE1.2 Q1.1 *SIGNAL* VCOLL1 R8.1 RC1.1 Q1.3 *END* geda-gaf-1.8.2/gnetlist/tests/common/outputs/pads/JD_Include_nomunge.retcode0000664000175000017500000000000212050461155024063 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/calay/0000775000175000017500000000000012220655756017271 500000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/calay/JD_Include_nomunge-output.net0000664000175000017500000000031512050461155024733 00000000000000/Vdd1 Rlp(2) M1(B) M1(S) Vdd(1) X1(6); /GND Cm(2) Cp(2) Rlm(2) Vdd(2) V1(2) Rb(1) X1(7) X1(2); /LVH Rb(2) M1(D) M1(G) X1(3); /i V1(1) X1(1); /p Cp(1) Rt(1) Rlp(1) X1(5); /m Cm(1) Rlm(1) Rt(2) X1(4); geda-gaf-1.8.2/gnetlist/tests/common/outputs/calay/JD-output.net0000664000175000017500000000031512050461155021540 00000000000000/Vdd1 Rlp(2) M1(B) M1(S) Vdd(1) X1(6); /GND Cm(2) Cp(2) Rlm(2) Vdd(2) V1(2) Rb(1) X1(7) X1(2); /LVH Rb(2) M1(D) M1(G) X1(3); /i V1(1) X1(1); /p Cp(1) Rt(1) Rlp(1) X1(5); /m Cm(1) Rlm(1) Rt(2) X1(4); geda-gaf-1.8.2/gnetlist/tests/common/outputs/calay/TwoStageAmp.retcode0000664000175000017500000000000212050461155022730 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/calay/stack-torture-output.net0000664000175000017500000007311412063576065024074 00000000000000/unnamed-net1025 C?(2); /unnamed-net1024 C?(1) C?(2); /unnamed-net1023 C?(1) C?(2); /unnamed-net1022 C?(2); /unnamed-net1021 C?(1) C?(2); /unnamed-net1020 C?(2); /unnamed-net1019 C?(1) C?(2); /unnamed-net1018 C?(1) C?(2); /unnamed-net1017 C?(1) C?(2); /unnamed-net1016 C?(1) C?(2); /unnamed-net1015 C?(1) C?(2); /unnamed-net1014 C?(1) C?(2); /unnamed-net1013 C?(1) C?(2); /unnamed-net1012 C?(2); /unnamed-net1011 C?(1) C?(2); /unnamed-net1010 C?(1) C?(2); /unnamed-net1009 C?(2); /unnamed-net1008 C?(1) C?(2); /unnamed-net1007 C?(1) C?(2); /unnamed-net1006 C?(1) C?(2); /unnamed-net1005 C?(1) C?(2); /unnamed-net1004 C?(1) C?(2); /unnamed-net1003 C?(1) C?(2); /unnamed-net1002 C?(1) C?(2); /unnamed-net1001 C?(1) C?(2); /unnamed-net1000 C?(1) C?(2); /unnamed-net999 C?(2); /unnamed-net998 C?(1) C?(2); /unnamed-net997 C?(1) C?(2); /unnamed-net996 C?(1) C?(2); /unnamed-net995 C?(1) C?(2); /unnamed-net994 C?(1) C?(2); /unnamed-net993 C?(1) C?(2); /unnamed-net992 C?(2); /unnamed-net991 C?(1) C?(2); /unnamed-net990 C?(1) C?(2); /unnamed-net989 C?(1) C?(2); /unnamed-net988 C?(1) C?(2); /unnamed-net987 C?(1) C?(2); /unnamed-net986 C?(1) C?(2); /unnamed-net985 C?(1) C?(2); /unnamed-net984 C?(1) C?(2); /unnamed-net983 C?(1) C?(2); /unnamed-net982 C?(1) C?(2); /unnamed-net981 C?(1) C?(2); /unnamed-net980 C?(1) C?(2); /unnamed-net979 C?(1) C?(2); /unnamed-net978 C?(1) C?(2); /unnamed-net977 C?(1) C?(2); /unnamed-net976 C?(1) C?(2); /unnamed-net975 C?(1) C?(2); /unnamed-net974 C?(1) C?(2); /unnamed-net973 C?(1) C?(2); /unnamed-net972 C?(1) C?(2); /unnamed-net971 C?(1) C?(2); /unnamed-net970 C?(1) C?(2); /unnamed-net969 C?(1) C?(2); /unnamed-net968 C?(2); /unnamed-net967 C?(1) C?(2); /unnamed-net966 C?(1) C?(2); /unnamed-net965 C?(2); /unnamed-net964 C?(1) C?(2); /unnamed-net963 C?(1) C?(2); /unnamed-net962 C?(1) C?(2); /unnamed-net961 C?(1) C?(2); /unnamed-net960 C?(1) C?(2); /unnamed-net959 C?(1) C?(2); /unnamed-net958 C?(1) C?(2); /unnamed-net957 C?(1) C?(2); /unnamed-net956 C?(1) C?(2); /unnamed-net955 C?(1) C?(2); /unnamed-net954 C?(2); /unnamed-net953 C?(1) C?(2); /unnamed-net952 C?(1) C?(2); /unnamed-net951 C?(2); /unnamed-net950 C?(1) C?(2); /unnamed-net949 C?(1) C?(2); /unnamed-net948 C?(1) C?(2); /unnamed-net947 C?(1) C?(2); /unnamed-net946 C?(1) C?(2); /unnamed-net945 C?(1) C?(2); /unnamed-net944 C?(1) C?(2); /unnamed-net943 C?(1) C?(2); /unnamed-net942 C?(1) C?(2); /unnamed-net941 C?(1) C?(2); /unnamed-net940 C?(1) C?(2); /unnamed-net939 C?(1) C?(2); /unnamed-net938 C?(1) C?(2); /unnamed-net937 C?(1) C?(2); /unnamed-net936 C?(1) C?(2); /unnamed-net935 C?(1) C?(2); /unnamed-net934 C?(1) C?(2); /unnamed-net933 C?(1) C?(2); /unnamed-net932 C?(1) C?(2); /unnamed-net931 C?(1) C?(2); /unnamed-net930 C?(1) C?(2); /unnamed-net929 C?(1) C?(2); /unnamed-net928 C?(1) C?(2); /unnamed-net927 C?(1) C?(2); /unnamed-net926 C?(1) C?(2); /unnamed-net925 C?(1) C?(2); /unnamed-net924 C?(1) C?(2); /unnamed-net923 C?(1) C?(2); /unnamed-net922 C?(1) C?(2); /unnamed-net921 C?(1) C?(2); /unnamed-net920 C?(1) C?(2); /unnamed-net919 C?(1) C?(2); /unnamed-net918 C?(1) C?(2); /unnamed-net917 C?(1) C?(2); /unnamed-net916 C?(1) C?(2); /unnamed-net915 C?(1) C?(2); /unnamed-net914 C?(1) C?(2); /unnamed-net913 C?(1) C?(2); /unnamed-net912 C?(1) C?(2); /unnamed-net911 C?(1) C?(2); /unnamed-net910 C?(1) C?(2); /unnamed-net909 C?(2); /unnamed-net908 C?(1) C?(2); /unnamed-net907 C?(1) C?(2); /unnamed-net906 C?(1) C?(2); /unnamed-net905 C?(1) C?(2); /unnamed-net904 C?(1) C?(2); /unnamed-net903 C?(1) C?(2); /unnamed-net902 C?(2); /unnamed-net901 C?(1) C?(2); /unnamed-net900 C?(1) C?(2); /unnamed-net899 C?(1) C?(2); /unnamed-net898 C?(1) C?(2); /unnamed-net897 C?(1) C?(2); /unnamed-net896 C?(1) C?(2); /unnamed-net895 C?(1) C?(2); /unnamed-net894 C?(1) C?(2); /unnamed-net893 C?(1) C?(2); /unnamed-net892 C?(1) C?(2); /unnamed-net891 C?(1) C?(2); /unnamed-net890 C?(1) C?(2); /unnamed-net889 C?(1) C?(2); /unnamed-net888 C?(1) C?(2); /unnamed-net887 C?(1) C?(2); /unnamed-net886 C?(1) C?(2); /unnamed-net885 C?(1) C?(2); /unnamed-net884 C?(1) C?(2); /unnamed-net883 C?(1) C?(2); /unnamed-net882 C?(1) C?(2); /unnamed-net881 C?(1) C?(2); /unnamed-net880 C?(1) C?(2); /unnamed-net879 C?(2); /unnamed-net878 C?(1) C?(2); /unnamed-net877 C?(1) C?(2); /unnamed-net876 C?(1) C?(2); /unnamed-net875 C?(1) C?(2); /unnamed-net874 C?(1) C?(2); /unnamed-net873 C?(1) C?(2); /unnamed-net872 C?(2); /unnamed-net871 C?(1) C?(2); /unnamed-net870 C?(1) C?(2); /unnamed-net869 C?(1) C?(2); /unnamed-net868 C?(1) C?(2); /unnamed-net867 C?(1) C?(2); /unnamed-net866 C?(1) C?(2); /unnamed-net865 C?(1) C?(2); /unnamed-net864 C?(1) C?(2); /unnamed-net863 C?(1) C?(2); /unnamed-net862 C?(1) C?(2); /unnamed-net861 C?(1) C?(2); /unnamed-net860 C?(1) C?(2); /unnamed-net859 C?(1) C?(2); /unnamed-net858 C?(1) C?(2); /unnamed-net857 C?(1) C?(2); /unnamed-net856 C?(1) C?(2); /unnamed-net855 C?(1) C?(2); /unnamed-net854 C?(1) C?(2); /unnamed-net853 C?(1) C?(2); /unnamed-net852 C?(1) C?(2); /unnamed-net851 C?(1) C?(2); /unnamed-net850 C?(1) C?(2); /unnamed-net849 C?(1) C?(2); /unnamed-net848 C?(1) C?(2); /unnamed-net847 C?(1) C?(2); /unnamed-net846 C?(1) C?(2); /unnamed-net845 C?(1) C?(2); /unnamed-net844 C?(1) C?(2); /unnamed-net843 C?(1) C?(2); /unnamed-net842 C?(1) C?(2); /unnamed-net841 C?(1) C?(2); /unnamed-net840 C?(1) C?(2); /unnamed-net839 C?(1) C?(2); /unnamed-net838 C?(1) C?(2); /unnamed-net837 C?(1) C?(2); /unnamed-net836 C?(1) C?(2); /unnamed-net835 C?(1) C?(2); /unnamed-net834 C?(1) C?(2); /unnamed-net833 C?(1) C?(2); /unnamed-net832 C?(1) C?(2); /unnamed-net831 C?(1) C?(2); /unnamed-net830 C?(1) C?(2); /unnamed-net829 C?(1) C?(2); /unnamed-net828 C?(1) C?(2); /unnamed-net827 C?(1) C?(2); /unnamed-net826 C?(1) C?(2); /unnamed-net825 C?(1) C?(2); /unnamed-net824 C?(1) C?(2); /unnamed-net823 C?(1) C?(2); /unnamed-net822 C?(1) C?(2); /unnamed-net821 C?(1) C?(2); /unnamed-net820 C?(1) C?(2); /unnamed-net819 C?(1) C?(2); /unnamed-net818 C?(1) C?(2); /unnamed-net817 C?(1) C?(2); /unnamed-net816 C?(1) C?(2); /unnamed-net815 C?(1) C?(2); /unnamed-net814 C?(1) C?(2); /unnamed-net813 C?(1) C?(2); /unnamed-net812 C?(1) C?(2); /unnamed-net811 C?(1) C?(2); /unnamed-net810 C?(1) C?(2); /unnamed-net809 C?(1) C?(2); /unnamed-net808 C?(1) C?(2); /unnamed-net807 C?(1) C?(2); /unnamed-net806 C?(1) C?(2); /unnamed-net805 C?(1) C?(2); /unnamed-net804 C?(1) C?(2); /unnamed-net803 C?(1) C?(2); /unnamed-net802 C?(1) C?(2); /unnamed-net801 C?(1) C?(2); /unnamed-net800 C?(1) C?(2); /unnamed-net799 C?(1) C?(2); /unnamed-net798 C?(1) C?(2); /unnamed-net797 C?(1) C?(2); /unnamed-net796 C?(1) C?(2); /unnamed-net795 C?(1) C?(2); /unnamed-net794 C?(1) C?(2); /unnamed-net793 C?(1) C?(2); /unnamed-net792 C?(1) C?(2); /unnamed-net791 C?(1) C?(2); /unnamed-net790 C?(1) C?(2); /unnamed-net789 C?(1) C?(2); /unnamed-net788 C?(1) C?(2); /unnamed-net787 C?(1) C?(2); /unnamed-net786 C?(1) C?(2); /unnamed-net785 C?(1) C?(2); /unnamed-net784 C?(2); /unnamed-net783 C?(1) C?(2); /unnamed-net782 C?(1) C?(2); /unnamed-net781 C?(2); /unnamed-net780 C?(1) C?(2); /unnamed-net779 C?(1) C?(2); /unnamed-net778 C?(1) C?(2); /unnamed-net777 C?(1) C?(2); /unnamed-net776 C?(1) C?(2); /unnamed-net775 C?(1) C?(2); /unnamed-net774 C?(1) C?(2); /unnamed-net773 C?(1) C?(2); /unnamed-net772 C?(1) C?(2); /unnamed-net771 C?(1) C?(2); /unnamed-net770 C?(2); /unnamed-net769 C?(1) C?(2); /unnamed-net768 C?(1) C?(2); /unnamed-net767 C?(2); /unnamed-net766 C?(1) C?(2); /unnamed-net765 C?(1) C?(2); /unnamed-net764 C?(1) C?(2); /unnamed-net763 C?(1) C?(2); /unnamed-net762 C?(1) C?(2); /unnamed-net761 C?(1) C?(2); /unnamed-net760 C?(1) C?(2); /unnamed-net759 C?(1) C?(2); /unnamed-net758 C?(1) C?(2); /unnamed-net757 C?(1) C?(2); /unnamed-net756 C?(1) C?(2); /unnamed-net755 C?(1) C?(2); /unnamed-net754 C?(1) C?(2); /unnamed-net753 C?(1) C?(2); /unnamed-net752 C?(1) C?(2); /unnamed-net751 C?(1) C?(2); /unnamed-net750 C?(1) C?(2); /unnamed-net749 C?(1) C?(2); /unnamed-net748 C?(1) C?(2); /unnamed-net747 C?(1) C?(2); /unnamed-net746 C?(1) C?(2); /unnamed-net745 C?(1) C?(2); /unnamed-net744 C?(1) C?(2); /unnamed-net743 C?(1) C?(2); /unnamed-net742 C?(1) C?(2); /unnamed-net741 C?(1) C?(2); /unnamed-net740 C?(1) C?(2); /unnamed-net739 C?(1) C?(2); /unnamed-net738 C?(1) C?(2); /unnamed-net737 C?(1) C?(2); /unnamed-net736 C?(1) C?(2); /unnamed-net735 C?(1) C?(2); /unnamed-net734 C?(1) C?(2); /unnamed-net733 C?(1) C?(2); /unnamed-net732 C?(1) C?(2); /unnamed-net731 C?(1) C?(2); /unnamed-net730 C?(1) C?(2); /unnamed-net729 C?(1) C?(2); /unnamed-net728 C?(1) C?(2); /unnamed-net727 C?(1) C?(2); /unnamed-net726 C?(1) C?(2); /unnamed-net725 C?(1) C?(2); /unnamed-net724 C?(2); /unnamed-net723 C?(1) C?(2); /unnamed-net722 C?(1) C?(2); /unnamed-net721 C?(2); /unnamed-net720 C?(1) C?(2); /unnamed-net719 C?(1) C?(2); /unnamed-net718 C?(1) C?(2); /unnamed-net717 C?(1) C?(2); /unnamed-net716 C?(1) C?(2); /unnamed-net715 C?(1) C?(2); /unnamed-net714 C?(1) C?(2); /unnamed-net713 C?(1) C?(2); /unnamed-net712 C?(1) C?(2); /unnamed-net711 C?(1) C?(2); /unnamed-net710 C?(2); /unnamed-net709 C?(1) C?(2); /unnamed-net708 C?(1) C?(2); /unnamed-net707 C?(2); /unnamed-net706 C?(1); /unnamed-net705 C?(1) C?(2); /unnamed-net704 C?(1) C?(2); /unnamed-net703 C?(1) C?(2); /unnamed-net702 C?(1) C?(2); /unnamed-net701 C?(1) C?(2); /unnamed-net700 C?(1) C?(2); /unnamed-net699 C?(1) C?(2); /unnamed-net698 C?(1) C?(2); /unnamed-net697 C?(1); /unnamed-net696 C?(1) C?(2); /unnamed-net695 C?(1) C?(2); /unnamed-net694 C?(1) C?(2); /unnamed-net693 C?(1) C?(2); /unnamed-net692 C?(1) C?(2); /unnamed-net691 C?(1) C?(2); /unnamed-net690 C?(1) C?(2); /unnamed-net689 C?(1) C?(2); /unnamed-net688 C?(1) C?(2); /unnamed-net687 C?(1) C?(2); /unnamed-net686 C?(1) C?(2); /unnamed-net685 C?(1) C?(2); /unnamed-net684 C?(1) C?(2); /unnamed-net683 C?(1) C?(2); /unnamed-net682 C?(1) C?(2); /unnamed-net681 C?(1) C?(2); /unnamed-net680 C?(1) C?(2); /unnamed-net679 C?(1) C?(2); /unnamed-net678 C?(1) C?(2); /unnamed-net677 C?(1) C?(2); /unnamed-net676 C?(1) C?(2); /unnamed-net675 C?(1) C?(2); /unnamed-net674 C?(1) C?(2); /unnamed-net673 C?(1) C?(2); /unnamed-net672 C?(1); /unnamed-net671 C?(1) C?(2); /unnamed-net670 C?(1) C?(2); /unnamed-net669 C?(1) C?(2); /unnamed-net668 C?(1) C?(2); /unnamed-net667 C?(1) C?(2); /unnamed-net666 C?(1) C?(2); /unnamed-net665 C?(1) C?(2); /unnamed-net664 C?(1) C?(2); /unnamed-net663 C?(1); /unnamed-net662 C?(1) C?(2); /unnamed-net661 C?(1) C?(2); /unnamed-net660 C?(1) C?(2); /unnamed-net659 C?(1) C?(2); /unnamed-net658 C?(1) C?(2); /unnamed-net657 C?(1) C?(2); /unnamed-net656 C?(1) C?(2); /unnamed-net655 C?(1) C?(2); /unnamed-net654 C?(1) C?(2); /unnamed-net653 C?(1) C?(2); /unnamed-net652 C?(1) C?(2); /unnamed-net651 C?(1) C?(2); /unnamed-net650 C?(1) C?(2); /unnamed-net649 C?(1) C?(2); /unnamed-net648 C?(1) C?(2); /unnamed-net647 C?(1) C?(2); /unnamed-net646 C?(1) C?(2); /unnamed-net645 C?(1) C?(2); /unnamed-net644 C?(1) C?(2); /unnamed-net643 C?(1) C?(2); /unnamed-net642 C?(1) C?(2); /unnamed-net641 C?(1) C?(2); /unnamed-net640 C?(1) C?(2); /unnamed-net639 C?(1) C?(2); /unnamed-net638 C?(1) C?(2); /unnamed-net637 C?(1) C?(2); /unnamed-net636 C?(1) C?(2); /unnamed-net635 C?(1) C?(2); /unnamed-net634 C?(1) C?(2); /unnamed-net633 C?(1) C?(2); /unnamed-net632 C?(1) C?(2); /unnamed-net631 C?(1) C?(2); /unnamed-net630 C?(1) C?(2); /unnamed-net629 C?(1) C?(2); /unnamed-net628 C?(1) C?(2); /unnamed-net627 C?(1) C?(2); /unnamed-net626 C?(1) C?(2); /unnamed-net625 C?(1) C?(2); /unnamed-net624 C?(1) C?(2); /unnamed-net623 C?(1) C?(2); /unnamed-net622 C?(1) C?(2); /unnamed-net621 C?(1) C?(2); /unnamed-net620 C?(1) C?(2); /unnamed-net619 C?(1) C?(2); /unnamed-net618 C?(1) C?(2); /unnamed-net617 C?(1) C?(2); /unnamed-net616 C?(1) C?(2); /unnamed-net615 C?(1) C?(2); /unnamed-net614 C?(1) C?(2); /unnamed-net613 C?(1) C?(2); /unnamed-net612 C?(1) C?(2); /unnamed-net611 C?(1) C?(2); /unnamed-net610 C?(1) C?(2); /unnamed-net609 C?(1) C?(2); /unnamed-net608 C?(1) C?(2); /unnamed-net607 C?(1) C?(2); /unnamed-net606 C?(1) C?(2); /unnamed-net605 C?(1) C?(2); /unnamed-net604 C?(1) C?(2); /unnamed-net603 C?(1) C?(2); /unnamed-net602 C?(1) C?(2); /unnamed-net601 C?(1) C?(2); /unnamed-net600 C?(1) C?(2); /unnamed-net599 C?(1) C?(2); /unnamed-net598 C?(1) C?(2); /unnamed-net597 C?(1) C?(2); /unnamed-net596 C?(1) C?(2); /unnamed-net595 C?(1) C?(2); /unnamed-net594 C?(1) C?(2); /unnamed-net593 C?(1) C?(2); /unnamed-net592 C?(1) C?(2); /unnamed-net591 C?(1) C?(2); /unnamed-net590 C?(1) C?(2); /unnamed-net589 C?(1) C?(2); /unnamed-net588 C?(1) C?(2); /unnamed-net587 C?(1) C?(2); /unnamed-net586 C?(1) C?(2); /unnamed-net585 C?(1) C?(2); /unnamed-net584 C?(1) C?(2); /unnamed-net583 C?(1) C?(2); /unnamed-net582 C?(1) C?(2); /unnamed-net581 C?(1) C?(2); /unnamed-net580 C?(1) C?(2); /unnamed-net579 C?(1) C?(2); /unnamed-net578 C?(1) C?(2); /unnamed-net577 C?(1) C?(2); /unnamed-net576 C?(1) C?(2); /unnamed-net575 C?(1) C?(2); /unnamed-net574 C?(1); /unnamed-net573 C?(1) C?(2); /unnamed-net572 C?(1) C?(2); /unnamed-net571 C?(1) C?(2); /unnamed-net570 C?(1) C?(2); /unnamed-net569 C?(1) C?(2); /unnamed-net568 C?(1) C?(2); /unnamed-net567 C?(1) C?(2); /unnamed-net566 C?(1) C?(2); /unnamed-net565 C?(1); /unnamed-net564 C?(1) C?(2); /unnamed-net563 C?(1) C?(2); /unnamed-net562 C?(1) C?(2); /unnamed-net561 C?(1) C?(2); /unnamed-net560 C?(1) C?(2); /unnamed-net559 C?(1) C?(2); /unnamed-net558 C?(1) C?(2); /unnamed-net557 C?(1) C?(2); /unnamed-net556 C?(1) C?(2); /unnamed-net555 C?(1) C?(2); /unnamed-net554 C?(1) C?(2); /unnamed-net553 C?(1) C?(2); /unnamed-net552 C?(1) C?(2); /unnamed-net551 C?(1) C?(2); /unnamed-net550 C?(1) C?(2); /unnamed-net549 C?(1) C?(2); /unnamed-net548 C?(1) C?(2); /unnamed-net547 C?(1) C?(2); /unnamed-net546 C?(1) C?(2); /unnamed-net545 C?(1) C?(2); /unnamed-net544 C?(1) C?(2); /unnamed-net543 C?(1) C?(2); /unnamed-net542 C?(1) C?(2); /unnamed-net541 C?(1) C?(2); /unnamed-net540 C?(1); /unnamed-net539 C?(1) C?(2); /unnamed-net538 C?(1) C?(2); /unnamed-net537 C?(1) C?(2); /unnamed-net536 C?(1) C?(2); /unnamed-net535 C?(1) C?(2); /unnamed-net534 C?(1) C?(2); /unnamed-net533 C?(1) C?(2); /unnamed-net532 C?(1) C?(2); /unnamed-net531 C?(1); /unnamed-net530 C?(1) C?(2); /unnamed-net529 C?(2); /unnamed-net528 C?(1) C?(2); /unnamed-net527 C?(1) C?(2); /unnamed-net526 C?(1) C?(2); /unnamed-net525 C?(1) C?(2); /unnamed-net524 C?(1) C?(2); /unnamed-net523 C?(1) C?(2); /unnamed-net522 C?(2); /unnamed-net521 C?(1) C?(2); /unnamed-net520 C?(1) C?(2); /unnamed-net519 C?(1) C?(2); /unnamed-net518 C?(1) C?(2); /unnamed-net517 C?(1) C?(2); /unnamed-net516 C?(1) C?(2); /unnamed-net515 C?(1) C?(2); /unnamed-net514 C?(1) C?(2); /unnamed-net513 C?(1) C?(2); /unnamed-net512 C?(1) C?(2); /unnamed-net511 C?(1) C?(2); /unnamed-net510 C?(1) C?(2); /unnamed-net509 C?(1) C?(2); /unnamed-net508 C?(1) C?(2); /unnamed-net507 C?(1) C?(2); /unnamed-net506 C?(1) C?(2); /unnamed-net505 C?(1) C?(2); /unnamed-net504 C?(1) C?(2); /unnamed-net503 C?(1) C?(2); /unnamed-net502 C?(1) C?(2); /unnamed-net501 C?(1) C?(2); /unnamed-net500 C?(1) C?(2); /unnamed-net499 C?(2); /unnamed-net498 C?(1) C?(2); /unnamed-net497 C?(1) C?(2); /unnamed-net496 C?(1) C?(2); /unnamed-net495 C?(1) C?(2); /unnamed-net494 C?(1) C?(2); /unnamed-net493 C?(1) C?(2); /unnamed-net492 C?(2); /unnamed-net491 C?(1) C?(2); /unnamed-net490 C?(1) C?(2); /unnamed-net489 C?(1) C?(2); /unnamed-net488 C?(1) C?(2); /unnamed-net487 C?(1) C?(2); /unnamed-net486 C?(1) C?(2); /unnamed-net485 C?(1) C?(2); /unnamed-net484 C?(1) C?(2); /unnamed-net483 C?(1) C?(2); /unnamed-net482 C?(1) C?(2); /unnamed-net481 C?(1) C?(2); /unnamed-net480 C?(1) C?(2); /unnamed-net479 C?(1) C?(2); /unnamed-net478 C?(1) C?(2); /unnamed-net477 C?(1) C?(2); /unnamed-net476 C?(1) C?(2); /unnamed-net475 C?(1) C?(2); /unnamed-net474 C?(1) C?(2); /unnamed-net473 C?(1) C?(2); /unnamed-net472 C?(1) C?(2); /unnamed-net471 C?(1) C?(2); /unnamed-net470 C?(1) C?(2); /unnamed-net469 C?(1) C?(2); /unnamed-net468 C?(1) C?(2); /unnamed-net467 C?(1) C?(2); /unnamed-net466 C?(1) C?(2); /unnamed-net465 C?(1) C?(2); /unnamed-net464 C?(1) C?(2); /unnamed-net463 C?(1) C?(2); /unnamed-net462 C?(1) C?(2); /unnamed-net461 C?(1) C?(2); /unnamed-net460 C?(1) C?(2); /unnamed-net459 C?(1) C?(2); /unnamed-net458 C?(1) C?(2); /unnamed-net457 C?(1) C?(2); /unnamed-net456 C?(1) C?(2); /unnamed-net455 C?(1) C?(2); /unnamed-net454 C?(1) C?(2); /unnamed-net453 C?(1) C?(2); /unnamed-net452 C?(1) C?(2); /unnamed-net451 C?(1) C?(2); /unnamed-net450 C?(1) C?(2); /unnamed-net449 C?(1) C?(2); /unnamed-net448 C?(1) C?(2); /unnamed-net447 C?(1) C?(2); /unnamed-net446 C?(1) C?(2); /unnamed-net445 C?(1) C?(2); /unnamed-net444 C?(1) C?(2); /unnamed-net443 C?(1) C?(2); /unnamed-net442 C?(1) C?(2); /unnamed-net441 C?(1) C?(2); /unnamed-net440 C?(1) C?(2); /unnamed-net439 C?(1) C?(2); /unnamed-net438 C?(1) C?(2); /unnamed-net437 C?(1) C?(2); /unnamed-net436 C?(1) C?(2); /unnamed-net435 C?(1) C?(2); /unnamed-net434 C?(1) C?(2); /unnamed-net433 C?(1) C?(2); /unnamed-net432 C?(1) C?(2); /unnamed-net431 C?(1) C?(2); /unnamed-net430 C?(1) C?(2); /unnamed-net429 C?(1) C?(2); /unnamed-net428 C?(1) C?(2); /unnamed-net427 C?(1) C?(2); /unnamed-net426 C?(1) C?(2); /unnamed-net425 C?(1) C?(2); /unnamed-net424 C?(1) C?(2); /unnamed-net423 C?(1) C?(2); /unnamed-net422 C?(1) C?(2); /unnamed-net421 C?(1) C?(2); /unnamed-net420 C?(1) C?(2); /unnamed-net419 C?(1) C?(2); /unnamed-net418 C?(1) C?(2); /unnamed-net417 C?(1) C?(2); /unnamed-net416 C?(1) C?(2); /unnamed-net415 C?(1) C?(2); /unnamed-net414 C?(1) C?(2); /unnamed-net413 C?(1) C?(2); /unnamed-net412 C?(1) C?(2); /unnamed-net411 C?(1) C?(2); /unnamed-net410 C?(1) C?(2); /unnamed-net409 C?(1) C?(2); /unnamed-net408 C?(1) C?(2); /unnamed-net407 C?(1) C?(2); /unnamed-net406 C?(1) C?(2); /unnamed-net405 C?(2); /unnamed-net404 C?(1) C?(2); /unnamed-net403 C?(1) C?(2); /unnamed-net402 C?(1) C?(2); /unnamed-net401 C?(1) C?(2); /unnamed-net400 C?(1) C?(2); /unnamed-net399 C?(1) C?(2); /unnamed-net398 C?(2); /unnamed-net397 C?(1) C?(2); /unnamed-net396 C?(1) C?(2); /unnamed-net395 C?(1) C?(2); /unnamed-net394 C?(1) C?(2); /unnamed-net393 C?(1) C?(2); /unnamed-net392 C?(1) C?(2); /unnamed-net391 C?(1) C?(2); /unnamed-net390 C?(1) C?(2); /unnamed-net389 C?(1) C?(2); /unnamed-net388 C?(1) C?(2); /unnamed-net387 C?(1) C?(2); /unnamed-net386 C?(1) C?(2); /unnamed-net385 C?(1) C?(2); /unnamed-net384 C?(1) C?(2); /unnamed-net383 C?(1) C?(2); /unnamed-net382 C?(1) C?(2); /unnamed-net381 C?(1) C?(2); /unnamed-net380 C?(1) C?(2); /unnamed-net379 C?(1) C?(2); /unnamed-net378 C?(1) C?(2); /unnamed-net377 C?(1) C?(2); /unnamed-net376 C?(1) C?(2); /unnamed-net375 C?(2); /unnamed-net374 C?(1) C?(2); /unnamed-net373 C?(1) C?(2); /unnamed-net372 C?(1) C?(2); /unnamed-net371 C?(1) C?(2); /unnamed-net370 C?(1) C?(2); /unnamed-net369 C?(1) C?(2); /unnamed-net368 C?(2); /unnamed-net367 C?(2); /unnamed-net366 C?(1) C?(2); /unnamed-net365 C?(1) C?(2); /unnamed-net364 C?(1); /unnamed-net363 C?(1) C?(2); /unnamed-net362 C?(1) C?(2); /unnamed-net361 C?(1) C?(2); /unnamed-net360 C?(1) C?(2); /unnamed-net359 C?(1); /unnamed-net358 C?(1) C?(2); /unnamed-net357 C?(1) C?(2); /unnamed-net356 C?(1) C?(2); /unnamed-net355 C?(1) C?(2); /unnamed-net354 C?(1) C?(2); /unnamed-net353 C?(1) C?(2); /unnamed-net352 C?(1) C?(2); /unnamed-net351 C?(1) C?(2); /unnamed-net350 C?(1) C?(2); /unnamed-net349 C?(1) C?(2); /unnamed-net348 C?(1) C?(2); /unnamed-net347 C?(1) C?(2); /unnamed-net346 C?(1); /unnamed-net345 C?(1) C?(2); /unnamed-net344 C?(1) C?(2); /unnamed-net343 C?(1) C?(2); /unnamed-net342 C?(1) C?(2); /unnamed-net341 C?(1); /unnamed-net340 C?(1) C?(2); /unnamed-net339 C?(1) C?(2); /unnamed-net338 C?(1) C?(2); /unnamed-net337 C?(1) C?(2); /unnamed-net336 C?(1) C?(2); /unnamed-net335 C?(1) C?(2); /unnamed-net334 C?(1) C?(2); /unnamed-net333 C?(1) C?(2); /unnamed-net332 C?(1) C?(2); /unnamed-net331 C?(1) C?(2); /unnamed-net330 C?(1) C?(2); /unnamed-net329 C?(1) C?(2); /unnamed-net328 C?(1) C?(2); /unnamed-net327 C?(1) C?(2); /unnamed-net326 C?(1) C?(2); /unnamed-net325 C?(1) C?(2); /unnamed-net324 C?(1) C?(2); /unnamed-net323 C?(1) C?(2); /unnamed-net322 C?(1) C?(2); /unnamed-net321 C?(1) C?(2); /unnamed-net320 C?(1) C?(2); /unnamed-net319 C?(1) C?(2); /unnamed-net318 C?(1) C?(2); /unnamed-net317 C?(1) C?(2); /unnamed-net316 C?(1) C?(2); /unnamed-net315 C?(1) C?(2); /unnamed-net314 C?(1) C?(2); /unnamed-net313 C?(1) C?(2); /unnamed-net312 C?(1) C?(2); /unnamed-net311 C?(1) C?(2); /unnamed-net310 C?(1) C?(2); /unnamed-net309 C?(1) C?(2); /unnamed-net308 C?(1) C?(2); /unnamed-net307 C?(1) C?(2); /unnamed-net306 C?(1) C?(2); /unnamed-net305 C?(1) C?(2); /unnamed-net304 C?(1) C?(2); /unnamed-net303 C?(1) C?(2); /unnamed-net302 C?(1) C?(2); /unnamed-net301 C?(1) C?(2); /unnamed-net300 C?(1) C?(2); /unnamed-net299 C?(1) C?(2); /unnamed-net298 C?(1) C?(2); /unnamed-net297 C?(1) C?(2); /unnamed-net296 C?(1); /unnamed-net295 C?(1) C?(2); /unnamed-net294 C?(1) C?(2); /unnamed-net293 C?(1) C?(2); /unnamed-net292 C?(1) C?(2); /unnamed-net291 C?(1); /unnamed-net290 C?(1) C?(2); /unnamed-net289 C?(1) C?(2); /unnamed-net288 C?(1) C?(2); /unnamed-net287 C?(1) C?(2); /unnamed-net286 C?(1) C?(2); /unnamed-net285 C?(1) C?(2); /unnamed-net284 C?(1) C?(2); /unnamed-net283 C?(1) C?(2); /unnamed-net282 C?(1) C?(2); /unnamed-net281 C?(1) C?(2); /unnamed-net280 C?(1) C?(2); /unnamed-net279 C?(1) C?(2); /unnamed-net278 C?(1); /unnamed-net277 C?(1) C?(2); /unnamed-net276 C?(1) C?(2); /unnamed-net275 C?(1) C?(2); /unnamed-net274 C?(1) C?(2); /unnamed-net273 C?(1); /unnamed-net272 C?(1) C?(2); /unnamed-net271 C?(1) C?(2); /unnamed-net270 C?(1) C?(2); /unnamed-net269 C?(1) C?(2); /unnamed-net268 C?(1) C?(2); /unnamed-net267 C?(1) C?(2); /unnamed-net266 C?(1) C?(2); /unnamed-net265 C?(1) C?(2); /unnamed-net264 C?(1) C?(2); /unnamed-net263 C?(1) C?(2); /unnamed-net262 C?(1) C?(2); /unnamed-net261 C?(1) C?(2); /unnamed-net260 C?(1) C?(2); /unnamed-net259 C?(1) C?(2); /unnamed-net258 C?(1) C?(2); /unnamed-net257 C?(1) C?(2); /unnamed-net256 C?(1) C?(2); /unnamed-net255 C?(1) C?(2); /unnamed-net254 C?(1) C?(2); /unnamed-net253 C?(1) C?(2); /unnamed-net252 C?(1) C?(2); /unnamed-net251 C?(1) C?(2); /unnamed-net250 C?(1) C?(2); /unnamed-net249 C?(1) C?(2); /unnamed-net248 C?(1) C?(2); /unnamed-net247 C?(1) C?(2); /unnamed-net246 C?(1) C?(2); /unnamed-net245 C?(1) C?(2); /unnamed-net244 C?(1) C?(2); /unnamed-net243 C?(1) C?(2); /unnamed-net242 C?(1) C?(2); /unnamed-net241 C?(1) C?(2); /unnamed-net240 C?(1) C?(2); /unnamed-net239 C?(1) C?(2); /unnamed-net238 C?(1) C?(2); /unnamed-net237 C?(1) C?(2); /unnamed-net236 C?(1) C?(2); /unnamed-net235 C?(1) C?(2); /unnamed-net234 C?(1) C?(2); /unnamed-net233 C?(1) C?(2); /unnamed-net232 C?(1) C?(2); /unnamed-net231 C?(1) C?(2); /unnamed-net230 C?(1) C?(2); /unnamed-net229 C?(1) C?(2); /unnamed-net228 C?(1) C?(2); /unnamed-net227 C?(1) C?(2); /unnamed-net226 C?(1) C?(2); /unnamed-net225 C?(1) C?(2); /unnamed-net224 C?(1) C?(2); /unnamed-net223 C?(1) C?(2); /unnamed-net222 C?(1) C?(2); /unnamed-net221 C?(1) C?(2); /unnamed-net220 C?(1) C?(2); /unnamed-net219 C?(1) C?(2); /unnamed-net218 C?(1) C?(2); /unnamed-net217 C?(1) C?(2); /unnamed-net216 C?(1) C?(2); /unnamed-net215 C?(1) C?(2); /unnamed-net214 C?(1) C?(2); /unnamed-net213 C?(1) C?(2); /unnamed-net212 C?(1) C?(2); /unnamed-net211 C?(1) C?(2); /unnamed-net210 C?(1) C?(2); /unnamed-net209 C?(1) C?(2); /unnamed-net208 C?(1) C?(2); /unnamed-net207 C?(1) C?(2); /unnamed-net206 C?(1) C?(2); /unnamed-net205 C?(1) C?(2); /unnamed-net204 C?(1) C?(2); /unnamed-net203 C?(1) C?(2); /unnamed-net202 C?(1) C?(2); /unnamed-net201 C?(1) C?(2); /unnamed-net200 C?(1) C?(2); /unnamed-net199 C?(1) C?(2); /unnamed-net198 C?(1) C?(2); /unnamed-net197 C?(1) C?(2); /unnamed-net196 C?(1) C?(2); /unnamed-net195 C?(1) C?(2); /unnamed-net194 C?(1) C?(2); /unnamed-net193 C?(1) C?(2); /unnamed-net192 C?(1) C?(2); /unnamed-net191 C?(1) C?(2); /unnamed-net190 C?(1) C?(2); /unnamed-net189 C?(1) C?(2); /unnamed-net188 C?(1) C?(2); /unnamed-net187 C?(1) C?(2); /unnamed-net186 C?(1) C?(2); /unnamed-net185 C?(1); /unnamed-net184 C?(1) C?(2); /unnamed-net183 C?(1) C?(2); /unnamed-net182 C?(1) C?(2); /unnamed-net181 C?(1) C?(2); /unnamed-net180 C?(1) C?(2); /unnamed-net179 C?(1) C?(2); /unnamed-net178 C?(1) C?(2); /unnamed-net177 C?(1) C?(2); /unnamed-net176 C?(1); /unnamed-net175 C?(1) C?(2); /unnamed-net174 C?(1) C?(2); /unnamed-net173 C?(1) C?(2); /unnamed-net172 C?(1) C?(2); /unnamed-net171 C?(1) C?(2); /unnamed-net170 C?(1) C?(2); /unnamed-net169 C?(1) C?(2); /unnamed-net168 C?(1) C?(2); /unnamed-net167 C?(1) C?(2); /unnamed-net166 C?(1) C?(2); /unnamed-net165 C?(1) C?(2); /unnamed-net164 C?(1) C?(2); /unnamed-net163 C?(1) C?(2); /unnamed-net162 C?(1) C?(2); /unnamed-net161 C?(1) C?(2); /unnamed-net160 C?(1) C?(2); /unnamed-net159 C?(1) C?(2); /unnamed-net158 C?(1) C?(2); /unnamed-net157 C?(1) C?(2); /unnamed-net156 C?(1) C?(2); /unnamed-net155 C?(1) C?(2); /unnamed-net154 C?(1) C?(2); /unnamed-net153 C?(1) C?(2); /unnamed-net152 C?(1) C?(2); /unnamed-net151 C?(1); /unnamed-net150 C?(1) C?(2); /unnamed-net149 C?(1) C?(2); /unnamed-net148 C?(1) C?(2); /unnamed-net147 C?(1) C?(2); /unnamed-net146 C?(1) C?(2); /unnamed-net145 C?(1) C?(2); /unnamed-net144 C?(1) C?(2); /unnamed-net143 C?(1) C?(2); /unnamed-net142 C?(1); /unnamed-net141 C?(1) C?(2); /unnamed-net140 C?(1) C?(2); /unnamed-net139 C?(1) C?(2); /unnamed-net138 C?(1) C?(2); /unnamed-net137 C?(1) C?(2); /unnamed-net136 C?(1) C?(2); /unnamed-net135 C?(1) C?(2); /unnamed-net134 C?(1) C?(2); /unnamed-net133 C?(1) C?(2); /unnamed-net132 C?(1) C?(2); /unnamed-net131 C?(1) C?(2); /unnamed-net130 C?(1) C?(2); /unnamed-net129 C?(1) C?(2); /unnamed-net128 C?(1) C?(2); /unnamed-net127 C?(1) C?(2); /unnamed-net126 C?(1) C?(2); /unnamed-net125 C?(1) C?(2); /unnamed-net124 C?(1) C?(2); /unnamed-net123 C?(1) C?(2); /unnamed-net122 C?(1) C?(2); /unnamed-net121 C?(1) C?(2); /unnamed-net120 C?(1) C?(2); /unnamed-net119 C?(1) C?(2); /unnamed-net118 C?(1) C?(2); /unnamed-net117 C?(1) C?(2); /unnamed-net116 C?(1) C?(2); /unnamed-net115 C?(1) C?(2); /unnamed-net114 C?(1) C?(2); /unnamed-net113 C?(1) C?(2); /unnamed-net112 C?(1) C?(2); /unnamed-net111 C?(1) C?(2); /unnamed-net110 C?(1) C?(2); /unnamed-net109 C?(1) C?(2); /unnamed-net108 C?(1) C?(2); /unnamed-net107 C?(1) C?(2); /unnamed-net106 C?(1) C?(2); /unnamed-net105 C?(1) C?(2); /unnamed-net104 C?(1) C?(2); /unnamed-net103 C?(1) C?(2); /unnamed-net102 C?(1) C?(2); /unnamed-net101 C?(1) C?(2); /unnamed-net100 C?(1) C?(2); /unnamed-net99 C?(1) C?(2); /unnamed-net98 C?(1) C?(2); /unnamed-net97 C?(1) C?(2); /unnamed-net96 C?(1); /unnamed-net95 C?(1) C?(2); /unnamed-net94 C?(1) C?(2); /unnamed-net93 C?(1) C?(2); /unnamed-net92 C?(1) C?(2); /unnamed-net91 C?(1); /unnamed-net90 C?(1) C?(2); /unnamed-net89 C?(1) C?(2); /unnamed-net88 C?(1) C?(2); /unnamed-net87 C?(1) C?(2); /unnamed-net86 C?(1) C?(2); /unnamed-net85 C?(1) C?(2); /unnamed-net84 C?(1) C?(2); /unnamed-net83 C?(1) C?(2); /unnamed-net82 C?(1) C?(2); /unnamed-net81 C?(1) C?(2); /unnamed-net80 C?(1) C?(2); /unnamed-net79 C?(1) C?(2); /unnamed-net78 C?(1); /unnamed-net77 C?(1) C?(2); /unnamed-net76 C?(1) C?(2); /unnamed-net75 C?(1) C?(2); /unnamed-net74 C?(1) C?(2); /unnamed-net73 C?(1); /unnamed-net72 C?(1) C?(2); /unnamed-net71 C?(1) C?(2); /unnamed-net70 C?(1) C?(2); /unnamed-net69 C?(1) C?(2); /unnamed-net68 C?(1) C?(2); /unnamed-net67 C?(1) C?(2); /unnamed-net66 C?(1) C?(2); /unnamed-net65 C?(1) C?(2); /unnamed-net64 C?(1) C?(2); /unnamed-net63 C?(1) C?(2); /unnamed-net62 C?(1) C?(2); /unnamed-net61 C?(1) C?(2); /unnamed-net60 C?(1) C?(2); /unnamed-net59 C?(1) C?(2); /unnamed-net58 C?(1) C?(2); /unnamed-net57 C?(1) C?(2); /unnamed-net56 C?(1) C?(2); /unnamed-net55 C?(1) C?(2); /unnamed-net54 C?(1) C?(2); /unnamed-net53 C?(1) C?(2); /unnamed-net52 C?(1) C?(2); /unnamed-net51 C?(1) C?(2); /unnamed-net50 C?(1) C?(2); /unnamed-net49 C?(1); /unnamed-net48 C?(1) C?(2); /unnamed-net47 C?(1) C?(2); /unnamed-net46 C?(1) C?(2); /unnamed-net45 C?(1) C?(2); /unnamed-net44 C?(1) C?(2); /unnamed-net43 C?(1) C?(2); /unnamed-net42 C?(1) C?(2); /unnamed-net41 C?(1) C?(2); /unnamed-net40 C?(1); /unnamed-net39 C?(1) C?(2); /unnamed-net38 C?(1) C?(2); /unnamed-net37 C?(1) C?(2); /unnamed-net36 C?(1) C?(2); /unnamed-net35 C?(1) C?(2); /unnamed-net34 C?(1) C?(2); /unnamed-net33 C?(1) C?(2); /unnamed-net32 C?(1) C?(2); /unnamed-net31 C?(1) C?(2); /unnamed-net30 C?(1) C?(2); /unnamed-net29 C?(1) C?(2); /unnamed-net28 C?(1) C?(2); /unnamed-net27 C?(1) C?(2); /unnamed-net26 C?(1); /unnamed-net25 C?(1) C?(2); /unnamed-net24 C?(1) C?(2); /unnamed-net23 C?(1) C?(2); /unnamed-net22 C?(1) C?(2); /unnamed-net21 C?(1); /unnamed-net20 C?(1) C?(2); /unnamed-net19 C?(1) C?(2); /unnamed-net18 C?(1) C?(2); /unnamed-net17 C?(1) C?(2); /unnamed-net16 C?(1) C?(2); /unnamed-net15 C?(1) C?(2); /unnamed-net14 C?(1) C?(2); /unnamed-net13 C?(1); /unnamed-net12 C?(1) C?(2); /unnamed-net11 C?(1) C?(2); /unnamed-net10 C?(1) C?(2); /unnamed-net9 C?(1) C?(2); /unnamed-net8 C?(1) C?(2); /unnamed-net7 C?(1); /unnamed-net6 C?(1) C?(2); /unnamed-net5 C?(1) C?(2); /unnamed-net4 C?(1) C?(2); /unnamed-net3 C?(1); /unnamed-net2 C?(1) C?(2); /unnamed-net1 C?(1); geda-gaf-1.8.2/gnetlist/tests/common/outputs/calay/JD_Sort.retcode0000664000175000017500000000000212050461155022041 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/calay/cascade-output.net0000664000175000017500000000031512050461155022626 00000000000000/unnamed-net6 AMP2(1) T1(2); /unnamed-net5 T1(1) MX1(2); /unnamed-net4 MX1(1) FL1(2); /unnamed-net3 FL1(1) DEF1(2); /unnamed-net2 DEF1(1) AMP1(2); /unnamed-net1 AMP1(1) SOURCE(1); /GND DEFAULTS(1); geda-gaf-1.8.2/gnetlist/tests/common/outputs/calay/multiequal-output.net0000664000175000017500000000005712050461155023430 00000000000000/GND V1(2) R1(1); /unnamed-net1 V1(1) R1(2); geda-gaf-1.8.2/gnetlist/tests/common/outputs/calay/JD_nomunge-output.net0000664000175000017500000000031512050461155023270 00000000000000/Vdd1 Rlp(2) M1(B) M1(S) Vdd(1) X1(6); /GND Cm(2) Cp(2) Rlm(2) Vdd(2) V1(2) Rb(1) X1(7) X1(2); /LVH Rb(2) M1(D) M1(G) X1(3); /i V1(1) X1(1); /p Cp(1) Rt(1) Rlp(1) X1(5); /m Cm(1) Rlm(1) Rt(2) X1(4); geda-gaf-1.8.2/gnetlist/tests/common/outputs/calay/stack-torture.retcode0000664000175000017500000000000212063576065023357 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/calay/powersupply.retcode0000664000175000017500000000000212050461155023146 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/calay/JD_Sort_nomunge-output.net0000664000175000017500000000031512050461155024277 00000000000000/Vdd1 Rlp(2) M1(B) M1(S) Vdd(1) X1(6); /GND Cm(2) Cp(2) Rlm(2) Vdd(2) V1(2) Rb(1) X1(7) X1(2); /LVH Rb(2) M1(D) M1(G) X1(3); /i V1(1) X1(1); /p Cp(1) Rt(1) Rlp(1) X1(5); /m Cm(1) Rlm(1) Rt(2) X1(4); geda-gaf-1.8.2/gnetlist/tests/common/outputs/calay/TwoStageAmp_Sort.retcode0000664000175000017500000000000212050461155023737 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/calay/netattrib.retcode0000664000175000017500000000000212050461155022531 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/calay/JD_nomunge.retcode0000664000175000017500000000000212050461155022562 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/calay/JD_Include-output.net0000664000175000017500000000031512050461155023203 00000000000000/Vdd1 Rlp(2) M1(B) M1(S) Vdd(1) X1(6); /GND Cm(2) Cp(2) Rlm(2) Vdd(2) V1(2) Rb(1) X1(7) X1(2); /LVH Rb(2) M1(D) M1(G) X1(3); /i V1(1) X1(1); /p Cp(1) Rt(1) Rlp(1) X1(5); /m Cm(1) Rlm(1) Rt(2) X1(4); geda-gaf-1.8.2/gnetlist/tests/common/outputs/calay/JD_Sort-output.net0000664000175000017500000000031512050461155022547 00000000000000/Vdd1 Rlp(2) M1(B) M1(S) Vdd(1) X1(6); /GND Cm(2) Cp(2) Rlm(2) Vdd(2) V1(2) Rb(1) X1(7) X1(2); /LVH Rb(2) M1(D) M1(G) X1(3); /i V1(1) X1(1); /p Cp(1) Rt(1) Rlp(1) X1(5); /m Cm(1) Rlm(1) Rt(2) X1(4); geda-gaf-1.8.2/gnetlist/tests/common/outputs/calay/cascade.retcode0000664000175000017500000000000212050461155022120 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/calay/TwoStageAmp_Sort-output.net0000664000175000017500000000061312050461155024446 00000000000000/unnamed-net2 C2(1) R8(2); /Vbase2 R3(1) C2(2) R4(2) Q2(2); /Vem2 CE2(2) RE2(2) Q2(1); /Vout Cout(2) RL(2); /VColl2 Q2(3) Cout(1) RC2(1); /GND R4(1) CE2(1) RE2(1) VCC(2) Vinput(2) CE1(1) RL(1) RE1(1) R2(1); /Vcc R3(2) RC1(2) VCC(1) RC2(2) R1(2); /Vin Vinput(1) R5(1); /unnamed-net1 C1(1) R5(2); /Vbase1 C1(2) R2(2) R1(1) Q1(2); /Vem1 CE1(2) RE1(2) Q1(1); /Vcoll1 R8(1) RC1(1) Q1(3); geda-gaf-1.8.2/gnetlist/tests/common/outputs/calay/singlenet-output.net0000664000175000017500000000016612050461155023237 00000000000000/SING-N-2 U100(1) U100(3); /GND U100(7); /Vcc U100(14); /SING-N U100(4) U100(5) U100(10) U100(8) U100(9) U100(6); geda-gaf-1.8.2/gnetlist/tests/common/outputs/calay/TwoStageAmp_Include.retcode0000664000175000017500000000000212050461155024373 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/calay/SlottedOpamps-output.net0000664000175000017500000000043512050461155024044 00000000000000/minusin-slot4-pin13-b U1(13); /plusin-slot4-pin12-a U1(12); /minusin-slot3-pin-b U1(9); /plusin-slot3-pin10-a U1(10); /minusin-slot2-pin6-b U1(6); /plusin-slot2-pin5-a U1(5); /samenet-output-c U1(14) U1(8) U1(7) U1(1); /minusin-slot1-pin-b U1(2); /plusin-slot1-pin3-a U1(3); geda-gaf-1.8.2/gnetlist/tests/common/outputs/calay/TwoStageAmp_Include-output.net0000664000175000017500000000061312050461155025102 00000000000000/unnamed-net2 C2(1) R8(2); /Vbase2 R3(1) C2(2) R4(2) Q2(2); /Vem2 CE2(2) RE2(2) Q2(1); /Vout Cout(2) RL(2); /VColl2 Q2(3) Cout(1) RC2(1); /GND R4(1) CE2(1) RE2(1) VCC(2) Vinput(2) CE1(1) RL(1) RE1(1) R2(1); /Vcc R3(2) RC1(2) VCC(1) RC2(2) R1(2); /Vin Vinput(1) R5(1); /unnamed-net1 C1(1) R5(2); /Vbase1 C1(2) R2(2) R1(1) Q1(2); /Vem1 CE1(2) RE1(2) Q1(1); /Vcoll1 R8(1) RC1(1) Q1(3); geda-gaf-1.8.2/gnetlist/tests/common/outputs/calay/singlenet.retcode0000664000175000017500000000000212050461155022525 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/calay/JD_Include.retcode0000664000175000017500000000000212050461155022475 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/calay/powersupply-output.net0000664000175000017500000000043312050461155023655 00000000000000/ten U2(1) R1(2) C3(1) R2(1); /eleven U2(2) C4(1) R2(2); /GND CONN1(3); /one S1(1) CONN1(1); /five CONN1(2) T1(2); /three T1(1) F1(2); /two S1(2) F1(1); /six T1(3) U1(4); /seven T1(4) U1(3); /nine C4(2) C3(2) R1(3) R1(1) C2(2) C1(2) U1(2); /eight U2(3) C2(1) C1(1) U1(1); geda-gaf-1.8.2/gnetlist/tests/common/outputs/calay/netattrib-output.net0000664000175000017500000000023312050461155023236 00000000000000/unnamed-net1 U300(2); /netattrib U200(2) U100(5); /GND U300(7) U200(7) U100(7); /Vcc U300(14) U200(14) U100(14); /one F1(1) U300(1) U200(1) U100(3); geda-gaf-1.8.2/gnetlist/tests/common/outputs/calay/SlottedOpamps.retcode0000664000175000017500000000000212050461155023333 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/calay/JD.retcode0000664000175000017500000000000212050461155021032 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/calay/multiequal.retcode0000664000175000017500000000000212050461155022717 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/calay/JD_Sort_nomunge.retcode0000664000175000017500000000000212050461155023571 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/calay/TwoStageAmp-output.net0000664000175000017500000000061312050461155023437 00000000000000/unnamed-net2 C2(1) R8(2); /Vbase2 R3(1) C2(2) R4(2) Q2(2); /Vem2 CE2(2) RE2(2) Q2(1); /Vout Cout(2) RL(2); /VColl2 Q2(3) Cout(1) RC2(1); /GND R4(1) CE2(1) RE2(1) VCC(2) Vinput(2) CE1(1) RL(1) RE1(1) R2(1); /Vcc R3(2) RC1(2) VCC(1) RC2(2) R1(2); /Vin Vinput(1) R5(1); /unnamed-net1 C1(1) R5(2); /Vbase1 C1(2) R2(2) R1(1) Q1(2); /Vem1 CE1(2) RE1(2) Q1(1); /Vcoll1 R8(1) RC1(1) Q1(3); geda-gaf-1.8.2/gnetlist/tests/common/outputs/calay/JD_Include_nomunge.retcode0000664000175000017500000000000212050461155024225 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bae/0000775000175000017500000000000012220655756016727 500000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/bae/JD_Include_nomunge-output.net0000664000175000017500000000067212050461155024377 00000000000000LAYOUT board; PARTS A1 : unknown; Cm : unknown; Cp : unknown; Rlp : unknown; Rlm : unknown; Vdd : none; V1 : none; Rt : unknown; Rb : unknown; M1 : unknown; X1 : unknown; CONNECT /'Vdd1'/ Rlp.2=M1.B=M1.S=Vdd.1=X1.6; /'GND'/ Cm.2=Cp.2=Rlm.2=Vdd.2=V1.2=Rb.1=X1.7=X1.2; /'LVH'/ Rb.2=M1.D=M1.G=X1.3; /'i'/ V1.1=X1.1; /'p'/ Cp.1=Rt.1=Rlp.1=X1.5; /'m'/ Cm.1=Rlm.1=Rt.2=X1.4; END. geda-gaf-1.8.2/gnetlist/tests/common/outputs/bae/JD-output.net0000664000175000017500000000067212050461155021204 00000000000000LAYOUT board; PARTS A1 : unknown; Cm : unknown; Cp : unknown; Rlp : unknown; Rlm : unknown; Vdd : none; V1 : none; Rt : unknown; Rb : unknown; M1 : unknown; X1 : unknown; CONNECT /'Vdd1'/ Rlp.2=M1.B=M1.S=Vdd.1=X1.6; /'GND'/ Cm.2=Cp.2=Rlm.2=Vdd.2=V1.2=Rb.1=X1.7=X1.2; /'LVH'/ Rb.2=M1.D=M1.G=X1.3; /'i'/ V1.1=X1.1; /'p'/ Cp.1=Rt.1=Rlp.1=X1.5; /'m'/ Cm.1=Rlm.1=Rt.2=X1.4; END. geda-gaf-1.8.2/gnetlist/tests/common/outputs/bae/TwoStageAmp.retcode0000664000175000017500000000000212050461155022366 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bae/stack-torture-output.net0000664000175000017500000010330312063576065023524 00000000000000LAYOUT board; PARTS C? : unknown; CONNECT /'unnamed_net1025'/ C?.2; /'unnamed_net1024'/ C?.1=C?.2; /'unnamed_net1023'/ C?.1=C?.2; /'unnamed_net1022'/ C?.2; /'unnamed_net1021'/ C?.1=C?.2; /'unnamed_net1020'/ C?.2; /'unnamed_net1019'/ C?.1=C?.2; /'unnamed_net1018'/ C?.1=C?.2; /'unnamed_net1017'/ C?.1=C?.2; /'unnamed_net1016'/ C?.1=C?.2; /'unnamed_net1015'/ C?.1=C?.2; /'unnamed_net1014'/ C?.1=C?.2; /'unnamed_net1013'/ C?.1=C?.2; /'unnamed_net1012'/ C?.2; /'unnamed_net1011'/ C?.1=C?.2; /'unnamed_net1010'/ C?.1=C?.2; /'unnamed_net1009'/ C?.2; /'unnamed_net1008'/ C?.1=C?.2; /'unnamed_net1007'/ C?.1=C?.2; /'unnamed_net1006'/ C?.1=C?.2; /'unnamed_net1005'/ C?.1=C?.2; /'unnamed_net1004'/ C?.1=C?.2; /'unnamed_net1003'/ C?.1=C?.2; /'unnamed_net1002'/ C?.1=C?.2; /'unnamed_net1001'/ C?.1=C?.2; /'unnamed_net1000'/ C?.1=C?.2; /'unnamed_net999'/ C?.2; /'unnamed_net998'/ C?.1=C?.2; /'unnamed_net997'/ C?.1=C?.2; /'unnamed_net996'/ C?.1=C?.2; /'unnamed_net995'/ C?.1=C?.2; /'unnamed_net994'/ C?.1=C?.2; /'unnamed_net993'/ C?.1=C?.2; /'unnamed_net992'/ C?.2; /'unnamed_net991'/ C?.1=C?.2; /'unnamed_net990'/ C?.1=C?.2; /'unnamed_net989'/ C?.1=C?.2; /'unnamed_net988'/ C?.1=C?.2; /'unnamed_net987'/ C?.1=C?.2; /'unnamed_net986'/ C?.1=C?.2; /'unnamed_net985'/ C?.1=C?.2; /'unnamed_net984'/ C?.1=C?.2; /'unnamed_net983'/ C?.1=C?.2; /'unnamed_net982'/ C?.1=C?.2; /'unnamed_net981'/ C?.1=C?.2; /'unnamed_net980'/ C?.1=C?.2; /'unnamed_net979'/ C?.1=C?.2; /'unnamed_net978'/ C?.1=C?.2; /'unnamed_net977'/ C?.1=C?.2; /'unnamed_net976'/ C?.1=C?.2; /'unnamed_net975'/ C?.1=C?.2; /'unnamed_net974'/ C?.1=C?.2; /'unnamed_net973'/ C?.1=C?.2; /'unnamed_net972'/ C?.1=C?.2; /'unnamed_net971'/ C?.1=C?.2; /'unnamed_net970'/ C?.1=C?.2; /'unnamed_net969'/ C?.1=C?.2; /'unnamed_net968'/ C?.2; /'unnamed_net967'/ C?.1=C?.2; /'unnamed_net966'/ C?.1=C?.2; /'unnamed_net965'/ C?.2; /'unnamed_net964'/ C?.1=C?.2; /'unnamed_net963'/ C?.1=C?.2; /'unnamed_net962'/ C?.1=C?.2; /'unnamed_net961'/ C?.1=C?.2; /'unnamed_net960'/ C?.1=C?.2; /'unnamed_net959'/ C?.1=C?.2; /'unnamed_net958'/ C?.1=C?.2; /'unnamed_net957'/ C?.1=C?.2; /'unnamed_net956'/ C?.1=C?.2; /'unnamed_net955'/ C?.1=C?.2; /'unnamed_net954'/ C?.2; /'unnamed_net953'/ C?.1=C?.2; /'unnamed_net952'/ C?.1=C?.2; /'unnamed_net951'/ C?.2; /'unnamed_net950'/ C?.1=C?.2; /'unnamed_net949'/ C?.1=C?.2; /'unnamed_net948'/ C?.1=C?.2; /'unnamed_net947'/ C?.1=C?.2; /'unnamed_net946'/ C?.1=C?.2; /'unnamed_net945'/ C?.1=C?.2; /'unnamed_net944'/ C?.1=C?.2; /'unnamed_net943'/ C?.1=C?.2; /'unnamed_net942'/ C?.1=C?.2; /'unnamed_net941'/ C?.1=C?.2; /'unnamed_net940'/ C?.1=C?.2; /'unnamed_net939'/ C?.1=C?.2; /'unnamed_net938'/ C?.1=C?.2; /'unnamed_net937'/ C?.1=C?.2; /'unnamed_net936'/ C?.1=C?.2; /'unnamed_net935'/ C?.1=C?.2; /'unnamed_net934'/ C?.1=C?.2; /'unnamed_net933'/ C?.1=C?.2; /'unnamed_net932'/ C?.1=C?.2; /'unnamed_net931'/ C?.1=C?.2; /'unnamed_net930'/ C?.1=C?.2; /'unnamed_net929'/ C?.1=C?.2; /'unnamed_net928'/ C?.1=C?.2; /'unnamed_net927'/ C?.1=C?.2; /'unnamed_net926'/ C?.1=C?.2; /'unnamed_net925'/ C?.1=C?.2; /'unnamed_net924'/ C?.1=C?.2; /'unnamed_net923'/ C?.1=C?.2; /'unnamed_net922'/ C?.1=C?.2; /'unnamed_net921'/ C?.1=C?.2; /'unnamed_net920'/ C?.1=C?.2; /'unnamed_net919'/ C?.1=C?.2; /'unnamed_net918'/ C?.1=C?.2; /'unnamed_net917'/ C?.1=C?.2; /'unnamed_net916'/ C?.1=C?.2; /'unnamed_net915'/ C?.1=C?.2; /'unnamed_net914'/ C?.1=C?.2; /'unnamed_net913'/ C?.1=C?.2; /'unnamed_net912'/ C?.1=C?.2; /'unnamed_net911'/ C?.1=C?.2; /'unnamed_net910'/ C?.1=C?.2; /'unnamed_net909'/ C?.2; /'unnamed_net908'/ C?.1=C?.2; /'unnamed_net907'/ C?.1=C?.2; /'unnamed_net906'/ C?.1=C?.2; /'unnamed_net905'/ C?.1=C?.2; /'unnamed_net904'/ C?.1=C?.2; /'unnamed_net903'/ C?.1=C?.2; /'unnamed_net902'/ C?.2; /'unnamed_net901'/ C?.1=C?.2; /'unnamed_net900'/ C?.1=C?.2; /'unnamed_net899'/ C?.1=C?.2; /'unnamed_net898'/ C?.1=C?.2; /'unnamed_net897'/ C?.1=C?.2; /'unnamed_net896'/ C?.1=C?.2; /'unnamed_net895'/ C?.1=C?.2; /'unnamed_net894'/ C?.1=C?.2; /'unnamed_net893'/ C?.1=C?.2; /'unnamed_net892'/ C?.1=C?.2; /'unnamed_net891'/ C?.1=C?.2; /'unnamed_net890'/ C?.1=C?.2; /'unnamed_net889'/ C?.1=C?.2; /'unnamed_net888'/ C?.1=C?.2; /'unnamed_net887'/ C?.1=C?.2; /'unnamed_net886'/ C?.1=C?.2; /'unnamed_net885'/ C?.1=C?.2; /'unnamed_net884'/ C?.1=C?.2; /'unnamed_net883'/ C?.1=C?.2; /'unnamed_net882'/ C?.1=C?.2; /'unnamed_net881'/ C?.1=C?.2; /'unnamed_net880'/ C?.1=C?.2; /'unnamed_net879'/ C?.2; /'unnamed_net878'/ C?.1=C?.2; /'unnamed_net877'/ C?.1=C?.2; /'unnamed_net876'/ C?.1=C?.2; /'unnamed_net875'/ C?.1=C?.2; /'unnamed_net874'/ C?.1=C?.2; /'unnamed_net873'/ C?.1=C?.2; /'unnamed_net872'/ C?.2; /'unnamed_net871'/ C?.1=C?.2; /'unnamed_net870'/ C?.1=C?.2; /'unnamed_net869'/ C?.1=C?.2; /'unnamed_net868'/ C?.1=C?.2; /'unnamed_net867'/ C?.1=C?.2; /'unnamed_net866'/ C?.1=C?.2; /'unnamed_net865'/ C?.1=C?.2; /'unnamed_net864'/ C?.1=C?.2; /'unnamed_net863'/ C?.1=C?.2; /'unnamed_net862'/ C?.1=C?.2; /'unnamed_net861'/ C?.1=C?.2; /'unnamed_net860'/ C?.1=C?.2; /'unnamed_net859'/ C?.1=C?.2; /'unnamed_net858'/ C?.1=C?.2; /'unnamed_net857'/ C?.1=C?.2; /'unnamed_net856'/ C?.1=C?.2; /'unnamed_net855'/ C?.1=C?.2; /'unnamed_net854'/ C?.1=C?.2; /'unnamed_net853'/ C?.1=C?.2; /'unnamed_net852'/ C?.1=C?.2; /'unnamed_net851'/ C?.1=C?.2; /'unnamed_net850'/ C?.1=C?.2; /'unnamed_net849'/ C?.1=C?.2; /'unnamed_net848'/ C?.1=C?.2; /'unnamed_net847'/ C?.1=C?.2; /'unnamed_net846'/ C?.1=C?.2; /'unnamed_net845'/ C?.1=C?.2; /'unnamed_net844'/ C?.1=C?.2; /'unnamed_net843'/ C?.1=C?.2; /'unnamed_net842'/ C?.1=C?.2; /'unnamed_net841'/ C?.1=C?.2; /'unnamed_net840'/ C?.1=C?.2; /'unnamed_net839'/ C?.1=C?.2; /'unnamed_net838'/ C?.1=C?.2; /'unnamed_net837'/ C?.1=C?.2; /'unnamed_net836'/ C?.1=C?.2; /'unnamed_net835'/ C?.1=C?.2; /'unnamed_net834'/ C?.1=C?.2; /'unnamed_net833'/ C?.1=C?.2; /'unnamed_net832'/ C?.1=C?.2; /'unnamed_net831'/ C?.1=C?.2; /'unnamed_net830'/ C?.1=C?.2; /'unnamed_net829'/ C?.1=C?.2; /'unnamed_net828'/ C?.1=C?.2; /'unnamed_net827'/ C?.1=C?.2; /'unnamed_net826'/ C?.1=C?.2; /'unnamed_net825'/ C?.1=C?.2; /'unnamed_net824'/ C?.1=C?.2; /'unnamed_net823'/ C?.1=C?.2; /'unnamed_net822'/ C?.1=C?.2; /'unnamed_net821'/ C?.1=C?.2; /'unnamed_net820'/ C?.1=C?.2; /'unnamed_net819'/ C?.1=C?.2; /'unnamed_net818'/ C?.1=C?.2; /'unnamed_net817'/ C?.1=C?.2; /'unnamed_net816'/ C?.1=C?.2; /'unnamed_net815'/ C?.1=C?.2; /'unnamed_net814'/ C?.1=C?.2; /'unnamed_net813'/ C?.1=C?.2; /'unnamed_net812'/ C?.1=C?.2; /'unnamed_net811'/ C?.1=C?.2; /'unnamed_net810'/ C?.1=C?.2; /'unnamed_net809'/ C?.1=C?.2; /'unnamed_net808'/ C?.1=C?.2; /'unnamed_net807'/ C?.1=C?.2; /'unnamed_net806'/ C?.1=C?.2; /'unnamed_net805'/ C?.1=C?.2; /'unnamed_net804'/ C?.1=C?.2; /'unnamed_net803'/ C?.1=C?.2; /'unnamed_net802'/ C?.1=C?.2; /'unnamed_net801'/ C?.1=C?.2; /'unnamed_net800'/ C?.1=C?.2; /'unnamed_net799'/ C?.1=C?.2; /'unnamed_net798'/ C?.1=C?.2; /'unnamed_net797'/ C?.1=C?.2; /'unnamed_net796'/ C?.1=C?.2; /'unnamed_net795'/ C?.1=C?.2; /'unnamed_net794'/ C?.1=C?.2; /'unnamed_net793'/ C?.1=C?.2; /'unnamed_net792'/ C?.1=C?.2; /'unnamed_net791'/ C?.1=C?.2; /'unnamed_net790'/ C?.1=C?.2; /'unnamed_net789'/ C?.1=C?.2; /'unnamed_net788'/ C?.1=C?.2; /'unnamed_net787'/ C?.1=C?.2; /'unnamed_net786'/ C?.1=C?.2; /'unnamed_net785'/ C?.1=C?.2; /'unnamed_net784'/ C?.2; /'unnamed_net783'/ C?.1=C?.2; /'unnamed_net782'/ C?.1=C?.2; /'unnamed_net781'/ C?.2; /'unnamed_net780'/ C?.1=C?.2; /'unnamed_net779'/ C?.1=C?.2; /'unnamed_net778'/ C?.1=C?.2; /'unnamed_net777'/ C?.1=C?.2; /'unnamed_net776'/ C?.1=C?.2; /'unnamed_net775'/ C?.1=C?.2; /'unnamed_net774'/ C?.1=C?.2; /'unnamed_net773'/ C?.1=C?.2; /'unnamed_net772'/ C?.1=C?.2; /'unnamed_net771'/ C?.1=C?.2; /'unnamed_net770'/ C?.2; /'unnamed_net769'/ C?.1=C?.2; /'unnamed_net768'/ C?.1=C?.2; /'unnamed_net767'/ C?.2; /'unnamed_net766'/ C?.1=C?.2; /'unnamed_net765'/ C?.1=C?.2; /'unnamed_net764'/ C?.1=C?.2; /'unnamed_net763'/ C?.1=C?.2; /'unnamed_net762'/ C?.1=C?.2; /'unnamed_net761'/ C?.1=C?.2; /'unnamed_net760'/ C?.1=C?.2; /'unnamed_net759'/ C?.1=C?.2; /'unnamed_net758'/ C?.1=C?.2; /'unnamed_net757'/ C?.1=C?.2; /'unnamed_net756'/ C?.1=C?.2; /'unnamed_net755'/ C?.1=C?.2; /'unnamed_net754'/ C?.1=C?.2; /'unnamed_net753'/ C?.1=C?.2; /'unnamed_net752'/ C?.1=C?.2; /'unnamed_net751'/ C?.1=C?.2; /'unnamed_net750'/ C?.1=C?.2; /'unnamed_net749'/ C?.1=C?.2; /'unnamed_net748'/ C?.1=C?.2; /'unnamed_net747'/ C?.1=C?.2; /'unnamed_net746'/ C?.1=C?.2; /'unnamed_net745'/ C?.1=C?.2; /'unnamed_net744'/ C?.1=C?.2; /'unnamed_net743'/ C?.1=C?.2; /'unnamed_net742'/ C?.1=C?.2; /'unnamed_net741'/ C?.1=C?.2; /'unnamed_net740'/ C?.1=C?.2; /'unnamed_net739'/ C?.1=C?.2; /'unnamed_net738'/ C?.1=C?.2; /'unnamed_net737'/ C?.1=C?.2; /'unnamed_net736'/ C?.1=C?.2; /'unnamed_net735'/ C?.1=C?.2; /'unnamed_net734'/ C?.1=C?.2; /'unnamed_net733'/ C?.1=C?.2; /'unnamed_net732'/ C?.1=C?.2; /'unnamed_net731'/ C?.1=C?.2; /'unnamed_net730'/ C?.1=C?.2; /'unnamed_net729'/ C?.1=C?.2; /'unnamed_net728'/ C?.1=C?.2; /'unnamed_net727'/ C?.1=C?.2; /'unnamed_net726'/ C?.1=C?.2; /'unnamed_net725'/ C?.1=C?.2; /'unnamed_net724'/ C?.2; /'unnamed_net723'/ C?.1=C?.2; /'unnamed_net722'/ C?.1=C?.2; /'unnamed_net721'/ C?.2; /'unnamed_net720'/ C?.1=C?.2; /'unnamed_net719'/ C?.1=C?.2; /'unnamed_net718'/ C?.1=C?.2; /'unnamed_net717'/ C?.1=C?.2; /'unnamed_net716'/ C?.1=C?.2; /'unnamed_net715'/ C?.1=C?.2; /'unnamed_net714'/ C?.1=C?.2; /'unnamed_net713'/ C?.1=C?.2; /'unnamed_net712'/ C?.1=C?.2; /'unnamed_net711'/ C?.1=C?.2; /'unnamed_net710'/ C?.2; /'unnamed_net709'/ C?.1=C?.2; /'unnamed_net708'/ C?.1=C?.2; /'unnamed_net707'/ C?.2; /'unnamed_net706'/ C?.1; /'unnamed_net705'/ C?.1=C?.2; /'unnamed_net704'/ C?.1=C?.2; /'unnamed_net703'/ C?.1=C?.2; /'unnamed_net702'/ C?.1=C?.2; /'unnamed_net701'/ C?.1=C?.2; /'unnamed_net700'/ C?.1=C?.2; /'unnamed_net699'/ C?.1=C?.2; /'unnamed_net698'/ C?.1=C?.2; /'unnamed_net697'/ C?.1; /'unnamed_net696'/ C?.1=C?.2; /'unnamed_net695'/ C?.1=C?.2; /'unnamed_net694'/ C?.1=C?.2; /'unnamed_net693'/ C?.1=C?.2; /'unnamed_net692'/ C?.1=C?.2; /'unnamed_net691'/ C?.1=C?.2; /'unnamed_net690'/ C?.1=C?.2; /'unnamed_net689'/ C?.1=C?.2; /'unnamed_net688'/ C?.1=C?.2; /'unnamed_net687'/ C?.1=C?.2; /'unnamed_net686'/ C?.1=C?.2; /'unnamed_net685'/ C?.1=C?.2; /'unnamed_net684'/ C?.1=C?.2; /'unnamed_net683'/ C?.1=C?.2; /'unnamed_net682'/ C?.1=C?.2; /'unnamed_net681'/ C?.1=C?.2; /'unnamed_net680'/ C?.1=C?.2; /'unnamed_net679'/ C?.1=C?.2; /'unnamed_net678'/ C?.1=C?.2; /'unnamed_net677'/ C?.1=C?.2; /'unnamed_net676'/ C?.1=C?.2; /'unnamed_net675'/ C?.1=C?.2; /'unnamed_net674'/ C?.1=C?.2; /'unnamed_net673'/ C?.1=C?.2; /'unnamed_net672'/ C?.1; /'unnamed_net671'/ C?.1=C?.2; /'unnamed_net670'/ C?.1=C?.2; /'unnamed_net669'/ C?.1=C?.2; /'unnamed_net668'/ C?.1=C?.2; /'unnamed_net667'/ C?.1=C?.2; /'unnamed_net666'/ C?.1=C?.2; /'unnamed_net665'/ C?.1=C?.2; /'unnamed_net664'/ C?.1=C?.2; /'unnamed_net663'/ C?.1; /'unnamed_net662'/ C?.1=C?.2; /'unnamed_net661'/ C?.1=C?.2; /'unnamed_net660'/ C?.1=C?.2; /'unnamed_net659'/ C?.1=C?.2; /'unnamed_net658'/ C?.1=C?.2; /'unnamed_net657'/ C?.1=C?.2; /'unnamed_net656'/ C?.1=C?.2; /'unnamed_net655'/ C?.1=C?.2; /'unnamed_net654'/ C?.1=C?.2; /'unnamed_net653'/ C?.1=C?.2; /'unnamed_net652'/ C?.1=C?.2; /'unnamed_net651'/ C?.1=C?.2; /'unnamed_net650'/ C?.1=C?.2; /'unnamed_net649'/ C?.1=C?.2; /'unnamed_net648'/ C?.1=C?.2; /'unnamed_net647'/ C?.1=C?.2; /'unnamed_net646'/ C?.1=C?.2; /'unnamed_net645'/ C?.1=C?.2; /'unnamed_net644'/ C?.1=C?.2; /'unnamed_net643'/ C?.1=C?.2; /'unnamed_net642'/ C?.1=C?.2; /'unnamed_net641'/ C?.1=C?.2; /'unnamed_net640'/ C?.1=C?.2; /'unnamed_net639'/ C?.1=C?.2; /'unnamed_net638'/ C?.1=C?.2; /'unnamed_net637'/ C?.1=C?.2; /'unnamed_net636'/ C?.1=C?.2; /'unnamed_net635'/ C?.1=C?.2; /'unnamed_net634'/ C?.1=C?.2; /'unnamed_net633'/ C?.1=C?.2; /'unnamed_net632'/ C?.1=C?.2; /'unnamed_net631'/ C?.1=C?.2; /'unnamed_net630'/ C?.1=C?.2; /'unnamed_net629'/ C?.1=C?.2; /'unnamed_net628'/ C?.1=C?.2; /'unnamed_net627'/ C?.1=C?.2; /'unnamed_net626'/ C?.1=C?.2; /'unnamed_net625'/ C?.1=C?.2; /'unnamed_net624'/ C?.1=C?.2; /'unnamed_net623'/ C?.1=C?.2; /'unnamed_net622'/ C?.1=C?.2; /'unnamed_net621'/ C?.1=C?.2; /'unnamed_net620'/ C?.1=C?.2; /'unnamed_net619'/ C?.1=C?.2; /'unnamed_net618'/ C?.1=C?.2; /'unnamed_net617'/ C?.1=C?.2; /'unnamed_net616'/ C?.1=C?.2; /'unnamed_net615'/ C?.1=C?.2; /'unnamed_net614'/ C?.1=C?.2; /'unnamed_net613'/ C?.1=C?.2; /'unnamed_net612'/ C?.1=C?.2; /'unnamed_net611'/ C?.1=C?.2; /'unnamed_net610'/ C?.1=C?.2; /'unnamed_net609'/ C?.1=C?.2; /'unnamed_net608'/ C?.1=C?.2; /'unnamed_net607'/ C?.1=C?.2; /'unnamed_net606'/ C?.1=C?.2; /'unnamed_net605'/ C?.1=C?.2; /'unnamed_net604'/ C?.1=C?.2; /'unnamed_net603'/ C?.1=C?.2; /'unnamed_net602'/ C?.1=C?.2; /'unnamed_net601'/ C?.1=C?.2; /'unnamed_net600'/ C?.1=C?.2; /'unnamed_net599'/ C?.1=C?.2; /'unnamed_net598'/ C?.1=C?.2; /'unnamed_net597'/ C?.1=C?.2; /'unnamed_net596'/ C?.1=C?.2; /'unnamed_net595'/ C?.1=C?.2; /'unnamed_net594'/ C?.1=C?.2; /'unnamed_net593'/ C?.1=C?.2; /'unnamed_net592'/ C?.1=C?.2; /'unnamed_net591'/ C?.1=C?.2; /'unnamed_net590'/ C?.1=C?.2; /'unnamed_net589'/ C?.1=C?.2; /'unnamed_net588'/ C?.1=C?.2; /'unnamed_net587'/ C?.1=C?.2; /'unnamed_net586'/ C?.1=C?.2; /'unnamed_net585'/ C?.1=C?.2; /'unnamed_net584'/ C?.1=C?.2; /'unnamed_net583'/ C?.1=C?.2; /'unnamed_net582'/ C?.1=C?.2; /'unnamed_net581'/ C?.1=C?.2; /'unnamed_net580'/ C?.1=C?.2; /'unnamed_net579'/ C?.1=C?.2; /'unnamed_net578'/ C?.1=C?.2; /'unnamed_net577'/ C?.1=C?.2; /'unnamed_net576'/ C?.1=C?.2; /'unnamed_net575'/ C?.1=C?.2; /'unnamed_net574'/ C?.1; /'unnamed_net573'/ C?.1=C?.2; /'unnamed_net572'/ C?.1=C?.2; /'unnamed_net571'/ C?.1=C?.2; /'unnamed_net570'/ C?.1=C?.2; /'unnamed_net569'/ C?.1=C?.2; /'unnamed_net568'/ C?.1=C?.2; /'unnamed_net567'/ C?.1=C?.2; /'unnamed_net566'/ C?.1=C?.2; /'unnamed_net565'/ C?.1; /'unnamed_net564'/ C?.1=C?.2; /'unnamed_net563'/ C?.1=C?.2; /'unnamed_net562'/ C?.1=C?.2; /'unnamed_net561'/ C?.1=C?.2; /'unnamed_net560'/ C?.1=C?.2; /'unnamed_net559'/ C?.1=C?.2; /'unnamed_net558'/ C?.1=C?.2; /'unnamed_net557'/ C?.1=C?.2; /'unnamed_net556'/ C?.1=C?.2; /'unnamed_net555'/ C?.1=C?.2; /'unnamed_net554'/ C?.1=C?.2; /'unnamed_net553'/ C?.1=C?.2; /'unnamed_net552'/ C?.1=C?.2; /'unnamed_net551'/ C?.1=C?.2; /'unnamed_net550'/ C?.1=C?.2; /'unnamed_net549'/ C?.1=C?.2; /'unnamed_net548'/ C?.1=C?.2; /'unnamed_net547'/ C?.1=C?.2; /'unnamed_net546'/ C?.1=C?.2; /'unnamed_net545'/ C?.1=C?.2; /'unnamed_net544'/ C?.1=C?.2; /'unnamed_net543'/ C?.1=C?.2; /'unnamed_net542'/ C?.1=C?.2; /'unnamed_net541'/ C?.1=C?.2; /'unnamed_net540'/ C?.1; /'unnamed_net539'/ C?.1=C?.2; /'unnamed_net538'/ C?.1=C?.2; /'unnamed_net537'/ C?.1=C?.2; /'unnamed_net536'/ C?.1=C?.2; /'unnamed_net535'/ C?.1=C?.2; /'unnamed_net534'/ C?.1=C?.2; /'unnamed_net533'/ C?.1=C?.2; /'unnamed_net532'/ C?.1=C?.2; /'unnamed_net531'/ C?.1; /'unnamed_net530'/ C?.1=C?.2; /'unnamed_net529'/ C?.2; /'unnamed_net528'/ C?.1=C?.2; /'unnamed_net527'/ C?.1=C?.2; /'unnamed_net526'/ C?.1=C?.2; /'unnamed_net525'/ C?.1=C?.2; /'unnamed_net524'/ C?.1=C?.2; /'unnamed_net523'/ C?.1=C?.2; /'unnamed_net522'/ C?.2; /'unnamed_net521'/ C?.1=C?.2; /'unnamed_net520'/ C?.1=C?.2; /'unnamed_net519'/ C?.1=C?.2; /'unnamed_net518'/ C?.1=C?.2; /'unnamed_net517'/ C?.1=C?.2; /'unnamed_net516'/ C?.1=C?.2; /'unnamed_net515'/ C?.1=C?.2; /'unnamed_net514'/ C?.1=C?.2; /'unnamed_net513'/ C?.1=C?.2; /'unnamed_net512'/ C?.1=C?.2; /'unnamed_net511'/ C?.1=C?.2; /'unnamed_net510'/ C?.1=C?.2; /'unnamed_net509'/ C?.1=C?.2; /'unnamed_net508'/ C?.1=C?.2; /'unnamed_net507'/ C?.1=C?.2; /'unnamed_net506'/ C?.1=C?.2; /'unnamed_net505'/ C?.1=C?.2; /'unnamed_net504'/ C?.1=C?.2; /'unnamed_net503'/ C?.1=C?.2; /'unnamed_net502'/ C?.1=C?.2; /'unnamed_net501'/ C?.1=C?.2; /'unnamed_net500'/ C?.1=C?.2; /'unnamed_net499'/ C?.2; /'unnamed_net498'/ C?.1=C?.2; /'unnamed_net497'/ C?.1=C?.2; /'unnamed_net496'/ C?.1=C?.2; /'unnamed_net495'/ C?.1=C?.2; /'unnamed_net494'/ C?.1=C?.2; /'unnamed_net493'/ C?.1=C?.2; /'unnamed_net492'/ C?.2; /'unnamed_net491'/ C?.1=C?.2; /'unnamed_net490'/ C?.1=C?.2; /'unnamed_net489'/ C?.1=C?.2; /'unnamed_net488'/ C?.1=C?.2; /'unnamed_net487'/ C?.1=C?.2; /'unnamed_net486'/ C?.1=C?.2; /'unnamed_net485'/ C?.1=C?.2; /'unnamed_net484'/ C?.1=C?.2; /'unnamed_net483'/ C?.1=C?.2; /'unnamed_net482'/ C?.1=C?.2; /'unnamed_net481'/ C?.1=C?.2; /'unnamed_net480'/ C?.1=C?.2; /'unnamed_net479'/ C?.1=C?.2; /'unnamed_net478'/ C?.1=C?.2; /'unnamed_net477'/ C?.1=C?.2; /'unnamed_net476'/ C?.1=C?.2; /'unnamed_net475'/ C?.1=C?.2; /'unnamed_net474'/ C?.1=C?.2; /'unnamed_net473'/ C?.1=C?.2; /'unnamed_net472'/ C?.1=C?.2; /'unnamed_net471'/ C?.1=C?.2; /'unnamed_net470'/ C?.1=C?.2; /'unnamed_net469'/ C?.1=C?.2; /'unnamed_net468'/ C?.1=C?.2; /'unnamed_net467'/ C?.1=C?.2; /'unnamed_net466'/ C?.1=C?.2; /'unnamed_net465'/ C?.1=C?.2; /'unnamed_net464'/ C?.1=C?.2; /'unnamed_net463'/ C?.1=C?.2; /'unnamed_net462'/ C?.1=C?.2; /'unnamed_net461'/ C?.1=C?.2; /'unnamed_net460'/ C?.1=C?.2; /'unnamed_net459'/ C?.1=C?.2; /'unnamed_net458'/ C?.1=C?.2; /'unnamed_net457'/ C?.1=C?.2; /'unnamed_net456'/ C?.1=C?.2; /'unnamed_net455'/ C?.1=C?.2; /'unnamed_net454'/ C?.1=C?.2; /'unnamed_net453'/ C?.1=C?.2; /'unnamed_net452'/ C?.1=C?.2; /'unnamed_net451'/ C?.1=C?.2; /'unnamed_net450'/ C?.1=C?.2; /'unnamed_net449'/ C?.1=C?.2; /'unnamed_net448'/ C?.1=C?.2; /'unnamed_net447'/ C?.1=C?.2; /'unnamed_net446'/ C?.1=C?.2; /'unnamed_net445'/ C?.1=C?.2; /'unnamed_net444'/ C?.1=C?.2; /'unnamed_net443'/ C?.1=C?.2; /'unnamed_net442'/ C?.1=C?.2; /'unnamed_net441'/ C?.1=C?.2; /'unnamed_net440'/ C?.1=C?.2; /'unnamed_net439'/ C?.1=C?.2; /'unnamed_net438'/ C?.1=C?.2; /'unnamed_net437'/ C?.1=C?.2; /'unnamed_net436'/ C?.1=C?.2; /'unnamed_net435'/ C?.1=C?.2; /'unnamed_net434'/ C?.1=C?.2; /'unnamed_net433'/ C?.1=C?.2; /'unnamed_net432'/ C?.1=C?.2; /'unnamed_net431'/ C?.1=C?.2; /'unnamed_net430'/ C?.1=C?.2; /'unnamed_net429'/ C?.1=C?.2; /'unnamed_net428'/ C?.1=C?.2; /'unnamed_net427'/ C?.1=C?.2; /'unnamed_net426'/ C?.1=C?.2; /'unnamed_net425'/ C?.1=C?.2; /'unnamed_net424'/ C?.1=C?.2; /'unnamed_net423'/ C?.1=C?.2; /'unnamed_net422'/ C?.1=C?.2; /'unnamed_net421'/ C?.1=C?.2; /'unnamed_net420'/ C?.1=C?.2; /'unnamed_net419'/ C?.1=C?.2; /'unnamed_net418'/ C?.1=C?.2; /'unnamed_net417'/ C?.1=C?.2; /'unnamed_net416'/ C?.1=C?.2; /'unnamed_net415'/ C?.1=C?.2; /'unnamed_net414'/ C?.1=C?.2; /'unnamed_net413'/ C?.1=C?.2; /'unnamed_net412'/ C?.1=C?.2; /'unnamed_net411'/ C?.1=C?.2; /'unnamed_net410'/ C?.1=C?.2; /'unnamed_net409'/ C?.1=C?.2; /'unnamed_net408'/ C?.1=C?.2; /'unnamed_net407'/ C?.1=C?.2; /'unnamed_net406'/ C?.1=C?.2; /'unnamed_net405'/ C?.2; /'unnamed_net404'/ C?.1=C?.2; /'unnamed_net403'/ C?.1=C?.2; /'unnamed_net402'/ C?.1=C?.2; /'unnamed_net401'/ C?.1=C?.2; /'unnamed_net400'/ C?.1=C?.2; /'unnamed_net399'/ C?.1=C?.2; /'unnamed_net398'/ C?.2; /'unnamed_net397'/ C?.1=C?.2; /'unnamed_net396'/ C?.1=C?.2; /'unnamed_net395'/ C?.1=C?.2; /'unnamed_net394'/ C?.1=C?.2; /'unnamed_net393'/ C?.1=C?.2; /'unnamed_net392'/ C?.1=C?.2; /'unnamed_net391'/ C?.1=C?.2; /'unnamed_net390'/ C?.1=C?.2; /'unnamed_net389'/ C?.1=C?.2; /'unnamed_net388'/ C?.1=C?.2; /'unnamed_net387'/ C?.1=C?.2; /'unnamed_net386'/ C?.1=C?.2; /'unnamed_net385'/ C?.1=C?.2; /'unnamed_net384'/ C?.1=C?.2; /'unnamed_net383'/ C?.1=C?.2; /'unnamed_net382'/ C?.1=C?.2; /'unnamed_net381'/ C?.1=C?.2; /'unnamed_net380'/ C?.1=C?.2; /'unnamed_net379'/ C?.1=C?.2; /'unnamed_net378'/ C?.1=C?.2; /'unnamed_net377'/ C?.1=C?.2; /'unnamed_net376'/ C?.1=C?.2; /'unnamed_net375'/ C?.2; /'unnamed_net374'/ C?.1=C?.2; /'unnamed_net373'/ C?.1=C?.2; /'unnamed_net372'/ C?.1=C?.2; /'unnamed_net371'/ C?.1=C?.2; /'unnamed_net370'/ C?.1=C?.2; /'unnamed_net369'/ C?.1=C?.2; /'unnamed_net368'/ C?.2; /'unnamed_net367'/ C?.2; /'unnamed_net366'/ C?.1=C?.2; /'unnamed_net365'/ C?.1=C?.2; /'unnamed_net364'/ C?.1; /'unnamed_net363'/ C?.1=C?.2; /'unnamed_net362'/ C?.1=C?.2; /'unnamed_net361'/ C?.1=C?.2; /'unnamed_net360'/ C?.1=C?.2; /'unnamed_net359'/ C?.1; /'unnamed_net358'/ C?.1=C?.2; /'unnamed_net357'/ C?.1=C?.2; /'unnamed_net356'/ C?.1=C?.2; /'unnamed_net355'/ C?.1=C?.2; /'unnamed_net354'/ C?.1=C?.2; /'unnamed_net353'/ C?.1=C?.2; /'unnamed_net352'/ C?.1=C?.2; /'unnamed_net351'/ C?.1=C?.2; /'unnamed_net350'/ C?.1=C?.2; /'unnamed_net349'/ C?.1=C?.2; /'unnamed_net348'/ C?.1=C?.2; /'unnamed_net347'/ C?.1=C?.2; /'unnamed_net346'/ C?.1; /'unnamed_net345'/ C?.1=C?.2; /'unnamed_net344'/ C?.1=C?.2; /'unnamed_net343'/ C?.1=C?.2; /'unnamed_net342'/ C?.1=C?.2; /'unnamed_net341'/ C?.1; /'unnamed_net340'/ C?.1=C?.2; /'unnamed_net339'/ C?.1=C?.2; /'unnamed_net338'/ C?.1=C?.2; /'unnamed_net337'/ C?.1=C?.2; /'unnamed_net336'/ C?.1=C?.2; /'unnamed_net335'/ C?.1=C?.2; /'unnamed_net334'/ C?.1=C?.2; /'unnamed_net333'/ C?.1=C?.2; /'unnamed_net332'/ C?.1=C?.2; /'unnamed_net331'/ C?.1=C?.2; /'unnamed_net330'/ C?.1=C?.2; /'unnamed_net329'/ C?.1=C?.2; /'unnamed_net328'/ C?.1=C?.2; /'unnamed_net327'/ C?.1=C?.2; /'unnamed_net326'/ C?.1=C?.2; /'unnamed_net325'/ C?.1=C?.2; /'unnamed_net324'/ C?.1=C?.2; /'unnamed_net323'/ C?.1=C?.2; /'unnamed_net322'/ C?.1=C?.2; /'unnamed_net321'/ C?.1=C?.2; /'unnamed_net320'/ C?.1=C?.2; /'unnamed_net319'/ C?.1=C?.2; /'unnamed_net318'/ C?.1=C?.2; /'unnamed_net317'/ C?.1=C?.2; /'unnamed_net316'/ C?.1=C?.2; /'unnamed_net315'/ C?.1=C?.2; /'unnamed_net314'/ C?.1=C?.2; /'unnamed_net313'/ C?.1=C?.2; /'unnamed_net312'/ C?.1=C?.2; /'unnamed_net311'/ C?.1=C?.2; /'unnamed_net310'/ C?.1=C?.2; /'unnamed_net309'/ C?.1=C?.2; /'unnamed_net308'/ C?.1=C?.2; /'unnamed_net307'/ C?.1=C?.2; /'unnamed_net306'/ C?.1=C?.2; /'unnamed_net305'/ C?.1=C?.2; /'unnamed_net304'/ C?.1=C?.2; /'unnamed_net303'/ C?.1=C?.2; /'unnamed_net302'/ C?.1=C?.2; /'unnamed_net301'/ C?.1=C?.2; /'unnamed_net300'/ C?.1=C?.2; /'unnamed_net299'/ C?.1=C?.2; /'unnamed_net298'/ C?.1=C?.2; /'unnamed_net297'/ C?.1=C?.2; /'unnamed_net296'/ C?.1; /'unnamed_net295'/ C?.1=C?.2; /'unnamed_net294'/ C?.1=C?.2; /'unnamed_net293'/ C?.1=C?.2; /'unnamed_net292'/ C?.1=C?.2; /'unnamed_net291'/ C?.1; /'unnamed_net290'/ C?.1=C?.2; /'unnamed_net289'/ C?.1=C?.2; /'unnamed_net288'/ C?.1=C?.2; /'unnamed_net287'/ C?.1=C?.2; /'unnamed_net286'/ C?.1=C?.2; /'unnamed_net285'/ C?.1=C?.2; /'unnamed_net284'/ C?.1=C?.2; /'unnamed_net283'/ C?.1=C?.2; /'unnamed_net282'/ C?.1=C?.2; /'unnamed_net281'/ C?.1=C?.2; /'unnamed_net280'/ C?.1=C?.2; /'unnamed_net279'/ C?.1=C?.2; /'unnamed_net278'/ C?.1; /'unnamed_net277'/ C?.1=C?.2; /'unnamed_net276'/ C?.1=C?.2; /'unnamed_net275'/ C?.1=C?.2; /'unnamed_net274'/ C?.1=C?.2; /'unnamed_net273'/ C?.1; /'unnamed_net272'/ C?.1=C?.2; /'unnamed_net271'/ C?.1=C?.2; /'unnamed_net270'/ C?.1=C?.2; /'unnamed_net269'/ C?.1=C?.2; /'unnamed_net268'/ C?.1=C?.2; /'unnamed_net267'/ C?.1=C?.2; /'unnamed_net266'/ C?.1=C?.2; /'unnamed_net265'/ C?.1=C?.2; /'unnamed_net264'/ C?.1=C?.2; /'unnamed_net263'/ C?.1=C?.2; /'unnamed_net262'/ C?.1=C?.2; /'unnamed_net261'/ C?.1=C?.2; /'unnamed_net260'/ C?.1=C?.2; /'unnamed_net259'/ C?.1=C?.2; /'unnamed_net258'/ C?.1=C?.2; /'unnamed_net257'/ C?.1=C?.2; /'unnamed_net256'/ C?.1=C?.2; /'unnamed_net255'/ C?.1=C?.2; /'unnamed_net254'/ C?.1=C?.2; /'unnamed_net253'/ C?.1=C?.2; /'unnamed_net252'/ C?.1=C?.2; /'unnamed_net251'/ C?.1=C?.2; /'unnamed_net250'/ C?.1=C?.2; /'unnamed_net249'/ C?.1=C?.2; /'unnamed_net248'/ C?.1=C?.2; /'unnamed_net247'/ C?.1=C?.2; /'unnamed_net246'/ C?.1=C?.2; /'unnamed_net245'/ C?.1=C?.2; /'unnamed_net244'/ C?.1=C?.2; /'unnamed_net243'/ C?.1=C?.2; /'unnamed_net242'/ C?.1=C?.2; /'unnamed_net241'/ C?.1=C?.2; /'unnamed_net240'/ C?.1=C?.2; /'unnamed_net239'/ C?.1=C?.2; /'unnamed_net238'/ C?.1=C?.2; /'unnamed_net237'/ C?.1=C?.2; /'unnamed_net236'/ C?.1=C?.2; /'unnamed_net235'/ C?.1=C?.2; /'unnamed_net234'/ C?.1=C?.2; /'unnamed_net233'/ C?.1=C?.2; /'unnamed_net232'/ C?.1=C?.2; /'unnamed_net231'/ C?.1=C?.2; /'unnamed_net230'/ C?.1=C?.2; /'unnamed_net229'/ C?.1=C?.2; /'unnamed_net228'/ C?.1=C?.2; /'unnamed_net227'/ C?.1=C?.2; /'unnamed_net226'/ C?.1=C?.2; /'unnamed_net225'/ C?.1=C?.2; /'unnamed_net224'/ C?.1=C?.2; /'unnamed_net223'/ C?.1=C?.2; /'unnamed_net222'/ C?.1=C?.2; /'unnamed_net221'/ C?.1=C?.2; /'unnamed_net220'/ C?.1=C?.2; /'unnamed_net219'/ C?.1=C?.2; /'unnamed_net218'/ C?.1=C?.2; /'unnamed_net217'/ C?.1=C?.2; /'unnamed_net216'/ C?.1=C?.2; /'unnamed_net215'/ C?.1=C?.2; /'unnamed_net214'/ C?.1=C?.2; /'unnamed_net213'/ C?.1=C?.2; /'unnamed_net212'/ C?.1=C?.2; /'unnamed_net211'/ C?.1=C?.2; /'unnamed_net210'/ C?.1=C?.2; /'unnamed_net209'/ C?.1=C?.2; /'unnamed_net208'/ C?.1=C?.2; /'unnamed_net207'/ C?.1=C?.2; /'unnamed_net206'/ C?.1=C?.2; /'unnamed_net205'/ C?.1=C?.2; /'unnamed_net204'/ C?.1=C?.2; /'unnamed_net203'/ C?.1=C?.2; /'unnamed_net202'/ C?.1=C?.2; /'unnamed_net201'/ C?.1=C?.2; /'unnamed_net200'/ C?.1=C?.2; /'unnamed_net199'/ C?.1=C?.2; /'unnamed_net198'/ C?.1=C?.2; /'unnamed_net197'/ C?.1=C?.2; /'unnamed_net196'/ C?.1=C?.2; /'unnamed_net195'/ C?.1=C?.2; /'unnamed_net194'/ C?.1=C?.2; /'unnamed_net193'/ C?.1=C?.2; /'unnamed_net192'/ C?.1=C?.2; /'unnamed_net191'/ C?.1=C?.2; /'unnamed_net190'/ C?.1=C?.2; /'unnamed_net189'/ C?.1=C?.2; /'unnamed_net188'/ C?.1=C?.2; /'unnamed_net187'/ C?.1=C?.2; /'unnamed_net186'/ C?.1=C?.2; /'unnamed_net185'/ C?.1; /'unnamed_net184'/ C?.1=C?.2; /'unnamed_net183'/ C?.1=C?.2; /'unnamed_net182'/ C?.1=C?.2; /'unnamed_net181'/ C?.1=C?.2; /'unnamed_net180'/ C?.1=C?.2; /'unnamed_net179'/ C?.1=C?.2; /'unnamed_net178'/ C?.1=C?.2; /'unnamed_net177'/ C?.1=C?.2; /'unnamed_net176'/ C?.1; /'unnamed_net175'/ C?.1=C?.2; /'unnamed_net174'/ C?.1=C?.2; /'unnamed_net173'/ C?.1=C?.2; /'unnamed_net172'/ C?.1=C?.2; /'unnamed_net171'/ C?.1=C?.2; /'unnamed_net170'/ C?.1=C?.2; /'unnamed_net169'/ C?.1=C?.2; /'unnamed_net168'/ C?.1=C?.2; /'unnamed_net167'/ C?.1=C?.2; /'unnamed_net166'/ C?.1=C?.2; /'unnamed_net165'/ C?.1=C?.2; /'unnamed_net164'/ C?.1=C?.2; /'unnamed_net163'/ C?.1=C?.2; /'unnamed_net162'/ C?.1=C?.2; /'unnamed_net161'/ C?.1=C?.2; /'unnamed_net160'/ C?.1=C?.2; /'unnamed_net159'/ C?.1=C?.2; /'unnamed_net158'/ C?.1=C?.2; /'unnamed_net157'/ C?.1=C?.2; /'unnamed_net156'/ C?.1=C?.2; /'unnamed_net155'/ C?.1=C?.2; /'unnamed_net154'/ C?.1=C?.2; /'unnamed_net153'/ C?.1=C?.2; /'unnamed_net152'/ C?.1=C?.2; /'unnamed_net151'/ C?.1; /'unnamed_net150'/ C?.1=C?.2; /'unnamed_net149'/ C?.1=C?.2; /'unnamed_net148'/ C?.1=C?.2; /'unnamed_net147'/ C?.1=C?.2; /'unnamed_net146'/ C?.1=C?.2; /'unnamed_net145'/ C?.1=C?.2; /'unnamed_net144'/ C?.1=C?.2; /'unnamed_net143'/ C?.1=C?.2; /'unnamed_net142'/ C?.1; /'unnamed_net141'/ C?.1=C?.2; /'unnamed_net140'/ C?.1=C?.2; /'unnamed_net139'/ C?.1=C?.2; /'unnamed_net138'/ C?.1=C?.2; /'unnamed_net137'/ C?.1=C?.2; /'unnamed_net136'/ C?.1=C?.2; /'unnamed_net135'/ C?.1=C?.2; /'unnamed_net134'/ C?.1=C?.2; /'unnamed_net133'/ C?.1=C?.2; /'unnamed_net132'/ C?.1=C?.2; /'unnamed_net131'/ C?.1=C?.2; /'unnamed_net130'/ C?.1=C?.2; /'unnamed_net129'/ C?.1=C?.2; /'unnamed_net128'/ C?.1=C?.2; /'unnamed_net127'/ C?.1=C?.2; /'unnamed_net126'/ C?.1=C?.2; /'unnamed_net125'/ C?.1=C?.2; /'unnamed_net124'/ C?.1=C?.2; /'unnamed_net123'/ C?.1=C?.2; /'unnamed_net122'/ C?.1=C?.2; /'unnamed_net121'/ C?.1=C?.2; /'unnamed_net120'/ C?.1=C?.2; /'unnamed_net119'/ C?.1=C?.2; /'unnamed_net118'/ C?.1=C?.2; /'unnamed_net117'/ C?.1=C?.2; /'unnamed_net116'/ C?.1=C?.2; /'unnamed_net115'/ C?.1=C?.2; /'unnamed_net114'/ C?.1=C?.2; /'unnamed_net113'/ C?.1=C?.2; /'unnamed_net112'/ C?.1=C?.2; /'unnamed_net111'/ C?.1=C?.2; /'unnamed_net110'/ C?.1=C?.2; /'unnamed_net109'/ C?.1=C?.2; /'unnamed_net108'/ C?.1=C?.2; /'unnamed_net107'/ C?.1=C?.2; /'unnamed_net106'/ C?.1=C?.2; /'unnamed_net105'/ C?.1=C?.2; /'unnamed_net104'/ C?.1=C?.2; /'unnamed_net103'/ C?.1=C?.2; /'unnamed_net102'/ C?.1=C?.2; /'unnamed_net101'/ C?.1=C?.2; /'unnamed_net100'/ C?.1=C?.2; /'unnamed_net99'/ C?.1=C?.2; /'unnamed_net98'/ C?.1=C?.2; /'unnamed_net97'/ C?.1=C?.2; /'unnamed_net96'/ C?.1; /'unnamed_net95'/ C?.1=C?.2; /'unnamed_net94'/ C?.1=C?.2; /'unnamed_net93'/ C?.1=C?.2; /'unnamed_net92'/ C?.1=C?.2; /'unnamed_net91'/ C?.1; /'unnamed_net90'/ C?.1=C?.2; /'unnamed_net89'/ C?.1=C?.2; /'unnamed_net88'/ C?.1=C?.2; /'unnamed_net87'/ C?.1=C?.2; /'unnamed_net86'/ C?.1=C?.2; /'unnamed_net85'/ C?.1=C?.2; /'unnamed_net84'/ C?.1=C?.2; /'unnamed_net83'/ C?.1=C?.2; /'unnamed_net82'/ C?.1=C?.2; /'unnamed_net81'/ C?.1=C?.2; /'unnamed_net80'/ C?.1=C?.2; /'unnamed_net79'/ C?.1=C?.2; /'unnamed_net78'/ C?.1; /'unnamed_net77'/ C?.1=C?.2; /'unnamed_net76'/ C?.1=C?.2; /'unnamed_net75'/ C?.1=C?.2; /'unnamed_net74'/ C?.1=C?.2; /'unnamed_net73'/ C?.1; /'unnamed_net72'/ C?.1=C?.2; /'unnamed_net71'/ C?.1=C?.2; /'unnamed_net70'/ C?.1=C?.2; /'unnamed_net69'/ C?.1=C?.2; /'unnamed_net68'/ C?.1=C?.2; /'unnamed_net67'/ C?.1=C?.2; /'unnamed_net66'/ C?.1=C?.2; /'unnamed_net65'/ C?.1=C?.2; /'unnamed_net64'/ C?.1=C?.2; /'unnamed_net63'/ C?.1=C?.2; /'unnamed_net62'/ C?.1=C?.2; /'unnamed_net61'/ C?.1=C?.2; /'unnamed_net60'/ C?.1=C?.2; /'unnamed_net59'/ C?.1=C?.2; /'unnamed_net58'/ C?.1=C?.2; /'unnamed_net57'/ C?.1=C?.2; /'unnamed_net56'/ C?.1=C?.2; /'unnamed_net55'/ C?.1=C?.2; /'unnamed_net54'/ C?.1=C?.2; /'unnamed_net53'/ C?.1=C?.2; /'unnamed_net52'/ C?.1=C?.2; /'unnamed_net51'/ C?.1=C?.2; /'unnamed_net50'/ C?.1=C?.2; /'unnamed_net49'/ C?.1; /'unnamed_net48'/ C?.1=C?.2; /'unnamed_net47'/ C?.1=C?.2; /'unnamed_net46'/ C?.1=C?.2; /'unnamed_net45'/ C?.1=C?.2; /'unnamed_net44'/ C?.1=C?.2; /'unnamed_net43'/ C?.1=C?.2; /'unnamed_net42'/ C?.1=C?.2; /'unnamed_net41'/ C?.1=C?.2; /'unnamed_net40'/ C?.1; /'unnamed_net39'/ C?.1=C?.2; /'unnamed_net38'/ C?.1=C?.2; /'unnamed_net37'/ C?.1=C?.2; /'unnamed_net36'/ C?.1=C?.2; /'unnamed_net35'/ C?.1=C?.2; /'unnamed_net34'/ C?.1=C?.2; /'unnamed_net33'/ C?.1=C?.2; /'unnamed_net32'/ C?.1=C?.2; /'unnamed_net31'/ C?.1=C?.2; /'unnamed_net30'/ C?.1=C?.2; /'unnamed_net29'/ C?.1=C?.2; /'unnamed_net28'/ C?.1=C?.2; /'unnamed_net27'/ C?.1=C?.2; /'unnamed_net26'/ C?.1; /'unnamed_net25'/ C?.1=C?.2; /'unnamed_net24'/ C?.1=C?.2; /'unnamed_net23'/ C?.1=C?.2; /'unnamed_net22'/ C?.1=C?.2; /'unnamed_net21'/ C?.1; /'unnamed_net20'/ C?.1=C?.2; /'unnamed_net19'/ C?.1=C?.2; /'unnamed_net18'/ C?.1=C?.2; /'unnamed_net17'/ C?.1=C?.2; /'unnamed_net16'/ C?.1=C?.2; /'unnamed_net15'/ C?.1=C?.2; /'unnamed_net14'/ C?.1=C?.2; /'unnamed_net13'/ C?.1; /'unnamed_net12'/ C?.1=C?.2; /'unnamed_net11'/ C?.1=C?.2; /'unnamed_net10'/ C?.1=C?.2; /'unnamed_net9'/ C?.1=C?.2; /'unnamed_net8'/ C?.1=C?.2; /'unnamed_net7'/ C?.1; /'unnamed_net6'/ C?.1=C?.2; /'unnamed_net5'/ C?.1=C?.2; /'unnamed_net4'/ C?.1=C?.2; /'unnamed_net3'/ C?.1; /'unnamed_net2'/ C?.1=C?.2; /'unnamed_net1'/ C?.1; END. geda-gaf-1.8.2/gnetlist/tests/common/outputs/bae/JD_Sort.retcode0000664000175000017500000000000212050461155021477 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bae/cascade-output.net0000664000175000017500000000063012050461155022264 00000000000000LAYOUT board; PARTS AMP2 : none; T1 : none; MX1 : none; FL1 : none; DEF1 : none; AMP1 : none; SOURCE : none; DEFAULTS : unknown; CONNECT /'unnamed_net6'/ AMP2.1=T1.2; /'unnamed_net5'/ T1.1=MX1.2; /'unnamed_net4'/ MX1.1=FL1.2; /'unnamed_net3'/ FL1.1=DEF1.2; /'unnamed_net2'/ DEF1.1=AMP1.2; /'unnamed_net1'/ AMP1.1=SOURCE.1; /'GND'/ DEFAULTS.1; END. geda-gaf-1.8.2/gnetlist/tests/common/outputs/bae/multiequal-output.net0000664000175000017500000000021312050461155023060 00000000000000LAYOUT board; PARTS V1 : none; R1 : unknown; A1 : unknown; CONNECT /'GND'/ V1.2=R1.1; /'unnamed_net1'/ V1.1=R1.2; END. geda-gaf-1.8.2/gnetlist/tests/common/outputs/bae/JD_nomunge-output.net0000664000175000017500000000067212050461155022734 00000000000000LAYOUT board; PARTS A1 : unknown; Cm : unknown; Cp : unknown; Rlp : unknown; Rlm : unknown; Vdd : none; V1 : none; Rt : unknown; Rb : unknown; M1 : unknown; X1 : unknown; CONNECT /'Vdd1'/ Rlp.2=M1.B=M1.S=Vdd.1=X1.6; /'GND'/ Cm.2=Cp.2=Rlm.2=Vdd.2=V1.2=Rb.1=X1.7=X1.2; /'LVH'/ Rb.2=M1.D=M1.G=X1.3; /'i'/ V1.1=X1.1; /'p'/ Cp.1=Rt.1=Rlp.1=X1.5; /'m'/ Cm.1=Rlm.1=Rt.2=X1.4; END. geda-gaf-1.8.2/gnetlist/tests/common/outputs/bae/stack-torture.retcode0000664000175000017500000000000212063576065023015 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bae/powersupply.retcode0000664000175000017500000000000212050461155022604 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bae/JD_Sort_nomunge-output.net0000664000175000017500000000067212050461155023743 00000000000000LAYOUT board; PARTS A1 : unknown; Cm : unknown; Cp : unknown; Rlp : unknown; Rlm : unknown; Vdd : none; V1 : none; Rt : unknown; Rb : unknown; M1 : unknown; X1 : unknown; CONNECT /'Vdd1'/ Rlp.2=M1.B=M1.S=Vdd.1=X1.6; /'GND'/ Cm.2=Cp.2=Rlm.2=Vdd.2=V1.2=Rb.1=X1.7=X1.2; /'LVH'/ Rb.2=M1.D=M1.G=X1.3; /'i'/ V1.1=X1.1; /'p'/ Cp.1=Rt.1=Rlp.1=X1.5; /'m'/ Cm.1=Rlm.1=Rt.2=X1.4; END. geda-gaf-1.8.2/gnetlist/tests/common/outputs/bae/TwoStageAmp_Sort.retcode0000664000175000017500000000000212050461155023375 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bae/netattrib.retcode0000664000175000017500000000000212050461155022167 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bae/JD_nomunge.retcode0000664000175000017500000000000212050461155022220 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bae/JD_Include-output.net0000664000175000017500000000067212050461155022647 00000000000000LAYOUT board; PARTS A1 : unknown; Cm : unknown; Cp : unknown; Rlp : unknown; Rlm : unknown; Vdd : none; V1 : none; Rt : unknown; Rb : unknown; M1 : unknown; X1 : unknown; CONNECT /'Vdd1'/ Rlp.2=M1.B=M1.S=Vdd.1=X1.6; /'GND'/ Cm.2=Cp.2=Rlm.2=Vdd.2=V1.2=Rb.1=X1.7=X1.2; /'LVH'/ Rb.2=M1.D=M1.G=X1.3; /'i'/ V1.1=X1.1; /'p'/ Cp.1=Rt.1=Rlp.1=X1.5; /'m'/ Cm.1=Rlm.1=Rt.2=X1.4; END. geda-gaf-1.8.2/gnetlist/tests/common/outputs/bae/JD_Sort-output.net0000664000175000017500000000067212050461155022213 00000000000000LAYOUT board; PARTS A1 : unknown; Cm : unknown; Cp : unknown; Rlp : unknown; Rlm : unknown; Vdd : none; V1 : none; Rt : unknown; Rb : unknown; M1 : unknown; X1 : unknown; CONNECT /'Vdd1'/ Rlp.2=M1.B=M1.S=Vdd.1=X1.6; /'GND'/ Cm.2=Cp.2=Rlm.2=Vdd.2=V1.2=Rb.1=X1.7=X1.2; /'LVH'/ Rb.2=M1.D=M1.G=X1.3; /'i'/ V1.1=X1.1; /'p'/ Cp.1=Rt.1=Rlp.1=X1.5; /'m'/ Cm.1=Rlm.1=Rt.2=X1.4; END. geda-gaf-1.8.2/gnetlist/tests/common/outputs/bae/cascade.retcode0000664000175000017500000000000212050461155021556 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bae/TwoStageAmp_Sort-output.net0000664000175000017500000000155712050461155024114 00000000000000LAYOUT board; PARTS C2 : unknown; R4 : unknown; R3 : unknown; R8 : unknown; CE2 : unknown; RE2 : unknown; RC1 : unknown; Q2 : unknown; C1 : unknown; A3 : unknown; A2 : unknown; A1 : unknown; VCC : none; Vinput : none; CE1 : unknown; Cout : unknown; RL : unknown; RC2 : unknown; RE1 : unknown; R2 : unknown; R1 : unknown; R5 : unknown; Q1 : unknown; CONNECT /'unnamed_net2'/ C2.1=R8.2; /'Vbase2'/ R3.1=C2.2=R4.2=Q2.2; /'Vem2'/ CE2.2=RE2.2=Q2.1; /'Vout'/ Cout.2=RL.2; /'VColl2'/ Q2.3=Cout.1=RC2.1; /'GND'/ R4.1=CE2.1=RE2.1=VCC.2=Vinput.2=CE1.1=RL.1=RE1.1=R2.1; /'Vcc'/ R3.2=RC1.2=VCC.1=RC2.2=R1.2; /'Vin'/ Vinput.1=R5.1; /'unnamed_net1'/ C1.1=R5.2; /'Vbase1'/ C1.2=R2.2=R1.1=Q1.2; /'Vem1'/ CE1.2=RE1.2=Q1.1; /'Vcoll1'/ R8.1=RC1.1=Q1.3; END. geda-gaf-1.8.2/gnetlist/tests/common/outputs/bae/singlenet-output.net0000664000175000017500000000026712050461155022677 00000000000000LAYOUT board; PARTS U100 : DIP14; CONNECT /'SING_N_2'/ U100.1=U100.3; /'GND'/ U100.7; /'Vcc'/ U100.14; /'SING_N'/ U100.4=U100.5=U100.10=U100.8=U100.9=U100.6; END. geda-gaf-1.8.2/gnetlist/tests/common/outputs/bae/TwoStageAmp_Include.retcode0000664000175000017500000000000212050461155024031 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bae/SlottedOpamps-output.net0000664000175000017500000000057212050461155023504 00000000000000LAYOUT board; PARTS U1 : unknown; CONNECT /'minusin_slot4_pin13_b'/ U1.13; /'plusin_slot4_pin12_a'/ U1.12; /'minusin_slot3_pin_b'/ U1.9; /'plusin_slot3_pin10_a'/ U1.10; /'minusin_slot2_pin6_b'/ U1.6; /'plusin_slot2_pin5_a'/ U1.5; /'samenet_output_c'/ U1.14=U1.8=U1.7=U1.1; /'minusin_slot1_pin_b'/ U1.2; /'plusin_slot1_pin3_a'/ U1.3; END. geda-gaf-1.8.2/gnetlist/tests/common/outputs/bae/TwoStageAmp_Include-output.net0000664000175000017500000000155712050461155024550 00000000000000LAYOUT board; PARTS C2 : unknown; R4 : unknown; R3 : unknown; R8 : unknown; CE2 : unknown; RE2 : unknown; RC1 : unknown; Q2 : unknown; C1 : unknown; A3 : unknown; A2 : unknown; A1 : unknown; VCC : none; Vinput : none; CE1 : unknown; Cout : unknown; RL : unknown; RC2 : unknown; RE1 : unknown; R2 : unknown; R1 : unknown; R5 : unknown; Q1 : unknown; CONNECT /'unnamed_net2'/ C2.1=R8.2; /'Vbase2'/ R3.1=C2.2=R4.2=Q2.2; /'Vem2'/ CE2.2=RE2.2=Q2.1; /'Vout'/ Cout.2=RL.2; /'VColl2'/ Q2.3=Cout.1=RC2.1; /'GND'/ R4.1=CE2.1=RE2.1=VCC.2=Vinput.2=CE1.1=RL.1=RE1.1=R2.1; /'Vcc'/ R3.2=RC1.2=VCC.1=RC2.2=R1.2; /'Vin'/ Vinput.1=R5.1; /'unnamed_net1'/ C1.1=R5.2; /'Vbase1'/ C1.2=R2.2=R1.1=Q1.2; /'Vem1'/ CE1.2=RE1.2=Q1.1; /'Vcoll1'/ R8.1=RC1.1=Q1.3; END. geda-gaf-1.8.2/gnetlist/tests/common/outputs/bae/singlenet.retcode0000664000175000017500000000000212050461155022163 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bae/JD_Include.retcode0000664000175000017500000000000212050461155022133 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bae/powersupply-output.net0000664000175000017500000000107212050461155023313 00000000000000LAYOUT board; PARTS U2 : unknown; C4 : unknown; C3 : unknown; R1 : unknown; C2 : unknown; R2 : unknown; C1 : unknown; S1 : unknown; CONN1 : unknown; T1 : unknown; F1 : unknown; U1 : unknown; CONNECT /'ten'/ U2.1=R1.2=C3.1=R2.1; /'eleven'/ U2.2=C4.1=R2.2; /'GND'/ CONN1.3; /'one'/ S1.1=CONN1.1; /'five'/ CONN1.2=T1.2; /'three'/ T1.1=F1.2; /'two'/ S1.2=F1.1; /'six'/ T1.3=U1.4; /'seven'/ T1.4=U1.3; /'nine'/ C4.2=C3.2=R1.3=R1.1=C2.2=C1.2=U1.2; /'eight'/ U2.3=C2.1=C1.1=U1.1; END. geda-gaf-1.8.2/gnetlist/tests/common/outputs/bae/netattrib-output.net0000664000175000017500000000042512050461155022677 00000000000000LAYOUT board; PARTS F1 : unknown; U300 : DIP14; U200 : DIP14; U100 : DIP14; CONNECT /'unnamed_net1'/ U300.2; /'netattrib'/ U200.2=U100.5; /'GND'/ U300.7=U200.7=U100.7; /'Vcc'/ U300.14=U200.14=U100.14; /'one'/ F1.1=U300.1=U200.1=U100.3; END. geda-gaf-1.8.2/gnetlist/tests/common/outputs/bae/SlottedOpamps.retcode0000664000175000017500000000000212050461155022771 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bae/JD.retcode0000664000175000017500000000000212050461155020470 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bae/multiequal.retcode0000664000175000017500000000000212050461155022355 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bae/JD_Sort_nomunge.retcode0000664000175000017500000000000212050461155023227 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bae/TwoStageAmp-output.net0000664000175000017500000000155712050461155023105 00000000000000LAYOUT board; PARTS C2 : unknown; R4 : unknown; R3 : unknown; R8 : unknown; CE2 : unknown; RE2 : unknown; RC1 : unknown; Q2 : unknown; C1 : unknown; A3 : unknown; A2 : unknown; A1 : unknown; VCC : none; Vinput : none; CE1 : unknown; Cout : unknown; RL : unknown; RC2 : unknown; RE1 : unknown; R2 : unknown; R1 : unknown; R5 : unknown; Q1 : unknown; CONNECT /'unnamed_net2'/ C2.1=R8.2; /'Vbase2'/ R3.1=C2.2=R4.2=Q2.2; /'Vem2'/ CE2.2=RE2.2=Q2.1; /'Vout'/ Cout.2=RL.2; /'VColl2'/ Q2.3=Cout.1=RC2.1; /'GND'/ R4.1=CE2.1=RE2.1=VCC.2=Vinput.2=CE1.1=RL.1=RE1.1=R2.1; /'Vcc'/ R3.2=RC1.2=VCC.1=RC2.2=R1.2; /'Vin'/ Vinput.1=R5.1; /'unnamed_net1'/ C1.1=R5.2; /'Vbase1'/ C1.2=R2.2=R1.1=Q1.2; /'Vem1'/ CE1.2=RE1.2=Q1.1; /'Vcoll1'/ R8.1=RC1.1=Q1.3; END. geda-gaf-1.8.2/gnetlist/tests/common/outputs/bae/JD_Include_nomunge.retcode0000664000175000017500000000000212050461155023663 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom2/0000775000175000017500000000000012220655756017037 500000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom2/JD-output.net0000664000175000017500000000050112050461155021303 00000000000000refdes:refdes:value:device:qty X1:X1:unknown:LVD:1 M1:M1:unknown:PMOS_TRANSISTOR:1 Rb:Rb:5.6k:RESISTOR:1 Rt:Rt:1k:RESISTOR:1 V1:V1:pulse 3.3 0 1u 10p 10p 1.25u 2.5u:vpulse:1 Vdd:Vdd:DC 3.3V:VOLTAGE_SOURCE:1 Rlm:Rlm:500k:RESISTOR:1 Rlp:Rlp:1meg:RESISTOR:1 Cp:Cp:20p:CAPACITOR:1 Cm:Cm:20p:CAPACITOR:1 A1:A1:unknown:model:1 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom2/TwoStageAmp.retcode0000664000175000017500000000000212050461155022476 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom2/stack-torture-output.net0000664000175000017500000000007112063576065023632 00000000000000refdes:refdes:value:device:qty C?:C?:unknown:CAPACITOR:1 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom2/JD_Sort.retcode0000664000175000017500000000000212063576065021622 000000000000001 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom2/cascade-output.net0000664000175000017500000000050112050461155022371 00000000000000refdes:refdes:value:device:qty DEFAULTS:DEFAULTS:unknown:cascade-defaults-top:1 SOURCE:SOURCE:unknown:cascade-source:1 AMP1:AMP1:unknown:cascade-amp:1 DEF1:DEF1:unknown:cascade-defaults:1 FL1:FL1:unknown:cascade-filter:1 MX1:MX1:unknown:cascade-mixer:1 T1:T1:unknown:cascade-transformer:1 AMP2:AMP2:unknown:cascade-amp:1 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom2/multiequal-output.net0000664000175000017500000000015512050461155023175 00000000000000refdes:refdes:value:device:qty A1:A1:abotol=1e-11:options:1 R1:R1:20:RESISTOR:1 V1:V1:DC 1V:VOLTAGE_SOURCE:1 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom2/stack-torture.retcode0000664000175000017500000000000212063576065023125 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom2/powersupply.retcode0000664000175000017500000000000212050461155022714 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom2/TwoStageAmp_Sort.retcode0000664000175000017500000000000212063576065023520 000000000000001 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom2/netattrib.retcode0000664000175000017500000000000212050461155022277 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom2/JD_nomunge.retcode0000664000175000017500000000000212063576065022343 000000000000001 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom2/cascade.retcode0000664000175000017500000000000212050461155021666 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom2/singlenet-output.net0000664000175000017500000000007012050461155022777 00000000000000refdes:refdes:value:device:qty U100:U100:unknown:7400:1 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom2/TwoStageAmp_Include.retcode0000664000175000017500000000000212063576065024154 000000000000001 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom2/SlottedOpamps-output.net0000664000175000017500000000006512050461155023611 00000000000000refdes:refdes:value:device:qty U1:U1:unknown:LM324:1 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom2/singlenet.retcode0000664000175000017500000000000212050461155022273 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom2/JD_Include.retcode0000664000175000017500000000000212063576065022256 000000000000001 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom2/powersupply-output.net0000664000175000017500000000056612050461155023432 00000000000000refdes:refdes:value:device:qty U1:U1:unknown:DIODE-BRIDGE:1 F1:F1:unknown:FUSE:1 T1:T1:unknown:transformer:1 CONN1:CONN1:unknown:MAINS_CONNECTOR:1 S1:S1:unknown:SPST:1 C1:C1:2200uF:POLARIZED_CAPACITOR:1 R2:R2:220:RESISTOR:1 C2:C2:0.1uF:POLARIZED_CAPACITOR:1 R1:R1:5k:VARIABLE_RESISTOR:1 C3:C3:22uF:POLARIZED_CAPACITOR:1 C4:C4:1uf:POLARIZED_CAPACITOR:1 U2:U2:unknown:LM317:1 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom2/netattrib-output.net0000664000175000017500000000017712050461155023013 00000000000000refdes:refdes:value:device:qty U100:U100:unknown:7400:1 U200:U200:unknown:7404:1 U300:U300:unknown:7404:1 F1:F1:unknown:FUSE:1 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom2/SlottedOpamps.retcode0000664000175000017500000000000212050461155023101 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom2/JD.retcode0000664000175000017500000000000212050461155020600 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom2/multiequal.retcode0000664000175000017500000000000212050461155022465 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom2/JD_Sort_nomunge.retcode0000664000175000017500000000000212063576065023352 000000000000001 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom2/TwoStageAmp-output.net0000664000175000017500000000115412050461155023206 00000000000000refdes:refdes:value:device:qty Q1:Q1:unknown:NPN_TRANSISTOR:1 R5:R5:10:RESISTOR:1 R1:R1:28K:RESISTOR:1 R2:R2:2K:RESISTOR:1 RE1:RE1:100:RESISTOR:1 RC2:RC2:1K:RESISTOR:1 RL:RL:100K:RESISTOR:1 Cout:Cout:2.2uF:CAPACITOR:1 CE1:CE1:1pF:CAPACITOR:1 Vinput:Vinput:DC 1.6V AC 10MV SIN(0 1MV 1KHZ):vsin:1 VCC:VCC:DC 15V:VOLTAGE_SOURCE:1 A1:A1:unknown:model:1 A2:A2:unknown:include:1 A3:A3:.options TEMP=25:directive:1 C1:C1:2.2uF:CAPACITOR:1 Q2:Q2:unknown:NPN_TRANSISTOR:1 RC1:RC1:3.3K:RESISTOR:1 RE2:RE2:100:RESISTOR:1 CE2:CE2:1pF:CAPACITOR:1 R8:R8:1:RESISTOR:1 R3:R3:28K:RESISTOR:1 R4:R4:2.8K:RESISTOR:1 C2:C2:2.2uF:CAPACITOR:1 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom2/JD_Include_nomunge.retcode0000664000175000017500000000000212063576065024006 000000000000001 geda-gaf-1.8.2/gnetlist/tests/common/outputs/systemc/0000775000175000017500000000000012220655760017662 500000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/systemc/JD_Include_nomunge-output.net0000664000175000017500000000311712050461155025334 00000000000000/* structural SystemC generated by gnetlist */ /* WARNING: This is a generated file, edits */ /* made here will be lost next time */ /* you run gnetlist! */ /* Id ........gnet-systemc.scm (04/09/2003) */ /* Source...../home/geda/gnet-systemc.scm */ /* Revision...0.3 (23/09/2003) */ /* Author.....Jaume Masip */ #include "systemc.h" #include "model.h" #include "CAPACITOR.h" #include "CAPACITOR.h" #include "RESISTOR.h" #include "RESISTOR.h" #include "VOLTAGE_SOURCE.h" #include "vpulse.h" #include "RESISTOR.h" #include "RESISTOR.h" #include "PMOS_TRANSISTOR.h" #include "LVD.h" SC_MODULE (not found) { /* Port directions begin here */ /* Wires from the design */ sc_signal<0> Vdd1; sc_signal<0> GND; sc_signal<0> LVH; sc_signal<0> i; sc_signal<0> p; sc_signal<0> m; /* Package instantiations */ model A1; CAPACITOR Cm; CAPACITOR Cp; RESISTOR Rlp; RESISTOR Rlm; VOLTAGE_SOURCE Vdd; vpulse V1; RESISTOR Rt; RESISTOR Rb; PMOS_TRANSISTOR M1; LVD X1; SC_CTOR(not found): A1("A1"), Cm("Cm"), Cp("Cp"), Rlp("Rlp"), Rlm("Rlm"), Vdd("Vdd"), V1("V1"), Rt("Rt"), Rb("Rb"), M1("M1"), X1("X1") { Cm.1(m); Cm.2(GND); Cp.1(p); Cp.2(GND); Rlp.2(Vdd1); Rlp.1(p); Rlm.2(GND); Rlm.1(m); Vdd.1(Vdd1); Vdd.2(GND); V1.1(i); V1.2(GND); Rt.2(m); Rt.1(p); Rb.2(LVH); Rb.1(GND); M1.S(Vdd1); M1.B(Vdd1); M1.D(LVH); M1.G(LVH); X1.4(m); X1.5(p); X1.1(i); X1.3(LVH); X1.2(GND); X1.6(Vdd1); X1.7(GND); } }; geda-gaf-1.8.2/gnetlist/tests/common/outputs/systemc/JD-output.net0000664000175000017500000000311712050461155022141 00000000000000/* structural SystemC generated by gnetlist */ /* WARNING: This is a generated file, edits */ /* made here will be lost next time */ /* you run gnetlist! */ /* Id ........gnet-systemc.scm (04/09/2003) */ /* Source...../home/geda/gnet-systemc.scm */ /* Revision...0.3 (23/09/2003) */ /* Author.....Jaume Masip */ #include "systemc.h" #include "model.h" #include "CAPACITOR.h" #include "CAPACITOR.h" #include "RESISTOR.h" #include "RESISTOR.h" #include "VOLTAGE_SOURCE.h" #include "vpulse.h" #include "RESISTOR.h" #include "RESISTOR.h" #include "PMOS_TRANSISTOR.h" #include "LVD.h" SC_MODULE (not found) { /* Port directions begin here */ /* Wires from the design */ sc_signal<0> Vdd1; sc_signal<0> GND; sc_signal<0> LVH; sc_signal<0> i; sc_signal<0> p; sc_signal<0> m; /* Package instantiations */ model A1; CAPACITOR Cm; CAPACITOR Cp; RESISTOR Rlp; RESISTOR Rlm; VOLTAGE_SOURCE Vdd; vpulse V1; RESISTOR Rt; RESISTOR Rb; PMOS_TRANSISTOR M1; LVD X1; SC_CTOR(not found): A1("A1"), Cm("Cm"), Cp("Cp"), Rlp("Rlp"), Rlm("Rlm"), Vdd("Vdd"), V1("V1"), Rt("Rt"), Rb("Rb"), M1("M1"), X1("X1") { Cm.1(m); Cm.2(GND); Cp.1(p); Cp.2(GND); Rlp.2(Vdd1); Rlp.1(p); Rlm.2(GND); Rlm.1(m); Vdd.1(Vdd1); Vdd.2(GND); V1.1(i); V1.2(GND); Rt.2(m); Rt.1(p); Rb.2(LVH); Rb.1(GND); M1.S(Vdd1); M1.B(Vdd1); M1.D(LVH); M1.G(LVH); X1.4(m); X1.5(p); X1.1(i); X1.3(LVH); X1.2(GND); X1.6(Vdd1); X1.7(GND); } }; geda-gaf-1.8.2/gnetlist/tests/common/outputs/systemc/TwoStageAmp.retcode0000664000175000017500000000000212050461155023326 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/systemc/stack-torture-output.net0000664000175000017500000024257712063576065024505 00000000000000/* structural SystemC generated by gnetlist */ /* WARNING: This is a generated file, edits */ /* made here will be lost next time */ /* you run gnetlist! */ /* Id ........gnet-systemc.scm (04/09/2003) */ /* Source...../home/geda/gnet-systemc.scm */ /* Revision...0.3 (23/09/2003) */ /* Author.....Jaume Masip */ #include "systemc.h" #include "CAPACITOR.h" SC_MODULE (not found) { /* Port directions begin here */ /* Wires from the design */ sc_signal<0> unnamed_net1025; sc_signal<0> unnamed_net1024; sc_signal<0> unnamed_net1023; sc_signal<0> unnamed_net1022; sc_signal<0> unnamed_net1021; sc_signal<0> unnamed_net1020; sc_signal<0> unnamed_net1019; sc_signal<0> unnamed_net1018; sc_signal<0> unnamed_net1017; sc_signal<0> unnamed_net1016; sc_signal<0> unnamed_net1015; sc_signal<0> unnamed_net1014; sc_signal<0> unnamed_net1013; sc_signal<0> unnamed_net1012; sc_signal<0> unnamed_net1011; sc_signal<0> unnamed_net1010; sc_signal<0> unnamed_net1009; sc_signal<0> unnamed_net1008; sc_signal<0> unnamed_net1007; sc_signal<0> unnamed_net1006; sc_signal<0> unnamed_net1005; sc_signal<0> unnamed_net1004; sc_signal<0> unnamed_net1003; sc_signal<0> unnamed_net1002; sc_signal<0> unnamed_net1001; sc_signal<0> unnamed_net1000; sc_signal<0> unnamed_net999; sc_signal<0> unnamed_net998; sc_signal<0> unnamed_net997; sc_signal<0> unnamed_net996; sc_signal<0> unnamed_net995; sc_signal<0> unnamed_net994; sc_signal<0> unnamed_net993; sc_signal<0> unnamed_net992; sc_signal<0> unnamed_net991; sc_signal<0> unnamed_net990; sc_signal<0> unnamed_net989; sc_signal<0> unnamed_net988; sc_signal<0> unnamed_net987; sc_signal<0> unnamed_net986; sc_signal<0> unnamed_net985; sc_signal<0> unnamed_net984; sc_signal<0> unnamed_net983; sc_signal<0> unnamed_net982; sc_signal<0> unnamed_net981; sc_signal<0> unnamed_net980; sc_signal<0> unnamed_net979; sc_signal<0> unnamed_net978; sc_signal<0> unnamed_net977; sc_signal<0> unnamed_net976; sc_signal<0> unnamed_net975; sc_signal<0> unnamed_net974; sc_signal<0> unnamed_net973; sc_signal<0> unnamed_net972; sc_signal<0> unnamed_net971; sc_signal<0> unnamed_net970; sc_signal<0> unnamed_net969; sc_signal<0> unnamed_net968; sc_signal<0> unnamed_net967; sc_signal<0> unnamed_net966; sc_signal<0> unnamed_net965; sc_signal<0> unnamed_net964; sc_signal<0> unnamed_net963; sc_signal<0> unnamed_net962; sc_signal<0> unnamed_net961; sc_signal<0> unnamed_net960; sc_signal<0> unnamed_net959; sc_signal<0> unnamed_net958; sc_signal<0> unnamed_net957; sc_signal<0> unnamed_net956; sc_signal<0> unnamed_net955; sc_signal<0> unnamed_net954; sc_signal<0> unnamed_net953; sc_signal<0> unnamed_net952; sc_signal<0> unnamed_net951; sc_signal<0> unnamed_net950; sc_signal<0> unnamed_net949; sc_signal<0> unnamed_net948; sc_signal<0> unnamed_net947; sc_signal<0> unnamed_net946; sc_signal<0> unnamed_net945; sc_signal<0> unnamed_net944; sc_signal<0> unnamed_net943; sc_signal<0> unnamed_net942; sc_signal<0> unnamed_net941; sc_signal<0> unnamed_net940; sc_signal<0> unnamed_net939; sc_signal<0> unnamed_net938; sc_signal<0> unnamed_net937; sc_signal<0> unnamed_net936; sc_signal<0> unnamed_net935; sc_signal<0> unnamed_net934; sc_signal<0> unnamed_net933; sc_signal<0> unnamed_net932; sc_signal<0> unnamed_net931; sc_signal<0> unnamed_net930; sc_signal<0> unnamed_net929; sc_signal<0> unnamed_net928; sc_signal<0> unnamed_net927; sc_signal<0> unnamed_net926; sc_signal<0> unnamed_net925; sc_signal<0> unnamed_net924; sc_signal<0> unnamed_net923; sc_signal<0> unnamed_net922; sc_signal<0> unnamed_net921; sc_signal<0> unnamed_net920; sc_signal<0> unnamed_net919; sc_signal<0> unnamed_net918; sc_signal<0> unnamed_net917; sc_signal<0> unnamed_net916; sc_signal<0> unnamed_net915; sc_signal<0> unnamed_net914; sc_signal<0> unnamed_net913; sc_signal<0> unnamed_net912; sc_signal<0> unnamed_net911; sc_signal<0> unnamed_net910; sc_signal<0> unnamed_net909; sc_signal<0> unnamed_net908; sc_signal<0> unnamed_net907; sc_signal<0> unnamed_net906; sc_signal<0> unnamed_net905; sc_signal<0> unnamed_net904; sc_signal<0> unnamed_net903; sc_signal<0> unnamed_net902; sc_signal<0> unnamed_net901; sc_signal<0> unnamed_net900; sc_signal<0> unnamed_net899; sc_signal<0> unnamed_net898; sc_signal<0> unnamed_net897; sc_signal<0> unnamed_net896; sc_signal<0> unnamed_net895; sc_signal<0> unnamed_net894; sc_signal<0> unnamed_net893; sc_signal<0> unnamed_net892; sc_signal<0> unnamed_net891; sc_signal<0> unnamed_net890; sc_signal<0> unnamed_net889; sc_signal<0> unnamed_net888; sc_signal<0> unnamed_net887; sc_signal<0> unnamed_net886; sc_signal<0> unnamed_net885; sc_signal<0> unnamed_net884; sc_signal<0> unnamed_net883; sc_signal<0> unnamed_net882; sc_signal<0> unnamed_net881; sc_signal<0> unnamed_net880; sc_signal<0> unnamed_net879; sc_signal<0> unnamed_net878; sc_signal<0> unnamed_net877; sc_signal<0> unnamed_net876; sc_signal<0> unnamed_net875; sc_signal<0> unnamed_net874; sc_signal<0> unnamed_net873; sc_signal<0> unnamed_net872; sc_signal<0> unnamed_net871; sc_signal<0> unnamed_net870; sc_signal<0> unnamed_net869; sc_signal<0> unnamed_net868; sc_signal<0> unnamed_net867; sc_signal<0> unnamed_net866; sc_signal<0> unnamed_net865; sc_signal<0> unnamed_net864; sc_signal<0> unnamed_net863; sc_signal<0> unnamed_net862; sc_signal<0> unnamed_net861; sc_signal<0> unnamed_net860; sc_signal<0> unnamed_net859; sc_signal<0> unnamed_net858; sc_signal<0> unnamed_net857; sc_signal<0> unnamed_net856; sc_signal<0> unnamed_net855; sc_signal<0> unnamed_net854; sc_signal<0> unnamed_net853; sc_signal<0> unnamed_net852; sc_signal<0> unnamed_net851; sc_signal<0> unnamed_net850; sc_signal<0> unnamed_net849; sc_signal<0> unnamed_net848; sc_signal<0> unnamed_net847; sc_signal<0> unnamed_net846; sc_signal<0> unnamed_net845; sc_signal<0> unnamed_net844; sc_signal<0> unnamed_net843; sc_signal<0> unnamed_net842; sc_signal<0> unnamed_net841; sc_signal<0> unnamed_net840; sc_signal<0> unnamed_net839; sc_signal<0> unnamed_net838; sc_signal<0> unnamed_net837; sc_signal<0> unnamed_net836; sc_signal<0> unnamed_net835; sc_signal<0> unnamed_net834; sc_signal<0> unnamed_net833; sc_signal<0> unnamed_net832; sc_signal<0> unnamed_net831; sc_signal<0> unnamed_net830; sc_signal<0> unnamed_net829; sc_signal<0> unnamed_net828; sc_signal<0> unnamed_net827; sc_signal<0> unnamed_net826; sc_signal<0> unnamed_net825; sc_signal<0> unnamed_net824; sc_signal<0> unnamed_net823; sc_signal<0> unnamed_net822; sc_signal<0> unnamed_net821; sc_signal<0> unnamed_net820; sc_signal<0> unnamed_net819; sc_signal<0> unnamed_net818; sc_signal<0> unnamed_net817; sc_signal<0> unnamed_net816; sc_signal<0> unnamed_net815; sc_signal<0> unnamed_net814; sc_signal<0> unnamed_net813; sc_signal<0> unnamed_net812; sc_signal<0> unnamed_net811; sc_signal<0> unnamed_net810; sc_signal<0> unnamed_net809; sc_signal<0> unnamed_net808; sc_signal<0> unnamed_net807; sc_signal<0> unnamed_net806; sc_signal<0> unnamed_net805; sc_signal<0> unnamed_net804; sc_signal<0> unnamed_net803; sc_signal<0> unnamed_net802; sc_signal<0> unnamed_net801; sc_signal<0> unnamed_net800; sc_signal<0> unnamed_net799; sc_signal<0> unnamed_net798; sc_signal<0> unnamed_net797; sc_signal<0> unnamed_net796; sc_signal<0> unnamed_net795; sc_signal<0> unnamed_net794; sc_signal<0> unnamed_net793; sc_signal<0> unnamed_net792; sc_signal<0> unnamed_net791; sc_signal<0> unnamed_net790; sc_signal<0> unnamed_net789; sc_signal<0> unnamed_net788; sc_signal<0> unnamed_net787; sc_signal<0> unnamed_net786; sc_signal<0> unnamed_net785; sc_signal<0> unnamed_net784; sc_signal<0> unnamed_net783; sc_signal<0> unnamed_net782; sc_signal<0> unnamed_net781; sc_signal<0> unnamed_net780; sc_signal<0> unnamed_net779; sc_signal<0> unnamed_net778; sc_signal<0> unnamed_net777; sc_signal<0> unnamed_net776; sc_signal<0> unnamed_net775; sc_signal<0> unnamed_net774; sc_signal<0> unnamed_net773; sc_signal<0> unnamed_net772; sc_signal<0> unnamed_net771; sc_signal<0> unnamed_net770; sc_signal<0> unnamed_net769; sc_signal<0> unnamed_net768; sc_signal<0> unnamed_net767; sc_signal<0> unnamed_net766; sc_signal<0> unnamed_net765; sc_signal<0> unnamed_net764; sc_signal<0> unnamed_net763; sc_signal<0> unnamed_net762; sc_signal<0> unnamed_net761; sc_signal<0> unnamed_net760; sc_signal<0> unnamed_net759; sc_signal<0> unnamed_net758; sc_signal<0> unnamed_net757; sc_signal<0> unnamed_net756; sc_signal<0> unnamed_net755; sc_signal<0> unnamed_net754; sc_signal<0> unnamed_net753; sc_signal<0> unnamed_net752; sc_signal<0> unnamed_net751; sc_signal<0> unnamed_net750; sc_signal<0> unnamed_net749; sc_signal<0> unnamed_net748; sc_signal<0> unnamed_net747; sc_signal<0> unnamed_net746; sc_signal<0> unnamed_net745; sc_signal<0> unnamed_net744; sc_signal<0> unnamed_net743; sc_signal<0> unnamed_net742; sc_signal<0> unnamed_net741; sc_signal<0> unnamed_net740; sc_signal<0> unnamed_net739; sc_signal<0> unnamed_net738; sc_signal<0> unnamed_net737; sc_signal<0> unnamed_net736; sc_signal<0> unnamed_net735; sc_signal<0> unnamed_net734; sc_signal<0> unnamed_net733; sc_signal<0> unnamed_net732; sc_signal<0> unnamed_net731; sc_signal<0> unnamed_net730; sc_signal<0> unnamed_net729; sc_signal<0> unnamed_net728; sc_signal<0> unnamed_net727; sc_signal<0> unnamed_net726; sc_signal<0> unnamed_net725; sc_signal<0> unnamed_net724; sc_signal<0> unnamed_net723; sc_signal<0> unnamed_net722; sc_signal<0> unnamed_net721; sc_signal<0> unnamed_net720; sc_signal<0> unnamed_net719; sc_signal<0> unnamed_net718; sc_signal<0> unnamed_net717; sc_signal<0> unnamed_net716; sc_signal<0> unnamed_net715; sc_signal<0> unnamed_net714; sc_signal<0> unnamed_net713; sc_signal<0> unnamed_net712; sc_signal<0> unnamed_net711; sc_signal<0> unnamed_net710; sc_signal<0> unnamed_net709; sc_signal<0> unnamed_net708; sc_signal<0> unnamed_net707; sc_signal<0> unnamed_net706; sc_signal<0> unnamed_net705; sc_signal<0> unnamed_net704; sc_signal<0> unnamed_net703; sc_signal<0> unnamed_net702; sc_signal<0> unnamed_net701; sc_signal<0> unnamed_net700; sc_signal<0> unnamed_net699; sc_signal<0> unnamed_net698; sc_signal<0> unnamed_net697; sc_signal<0> unnamed_net696; sc_signal<0> unnamed_net695; sc_signal<0> unnamed_net694; sc_signal<0> unnamed_net693; sc_signal<0> unnamed_net692; sc_signal<0> unnamed_net691; sc_signal<0> unnamed_net690; sc_signal<0> unnamed_net689; sc_signal<0> unnamed_net688; sc_signal<0> unnamed_net687; sc_signal<0> unnamed_net686; sc_signal<0> unnamed_net685; sc_signal<0> unnamed_net684; sc_signal<0> unnamed_net683; sc_signal<0> unnamed_net682; sc_signal<0> unnamed_net681; sc_signal<0> unnamed_net680; sc_signal<0> unnamed_net679; sc_signal<0> unnamed_net678; sc_signal<0> unnamed_net677; sc_signal<0> unnamed_net676; sc_signal<0> unnamed_net675; sc_signal<0> unnamed_net674; sc_signal<0> unnamed_net673; sc_signal<0> unnamed_net672; sc_signal<0> unnamed_net671; sc_signal<0> unnamed_net670; sc_signal<0> unnamed_net669; sc_signal<0> unnamed_net668; sc_signal<0> unnamed_net667; sc_signal<0> unnamed_net666; sc_signal<0> unnamed_net665; sc_signal<0> unnamed_net664; sc_signal<0> unnamed_net663; sc_signal<0> unnamed_net662; sc_signal<0> unnamed_net661; sc_signal<0> unnamed_net660; sc_signal<0> unnamed_net659; sc_signal<0> unnamed_net658; sc_signal<0> unnamed_net657; sc_signal<0> unnamed_net656; sc_signal<0> unnamed_net655; sc_signal<0> unnamed_net654; sc_signal<0> unnamed_net653; sc_signal<0> unnamed_net652; sc_signal<0> unnamed_net651; sc_signal<0> unnamed_net650; sc_signal<0> unnamed_net649; sc_signal<0> unnamed_net648; sc_signal<0> unnamed_net647; sc_signal<0> unnamed_net646; sc_signal<0> unnamed_net645; sc_signal<0> unnamed_net644; sc_signal<0> unnamed_net643; sc_signal<0> unnamed_net642; sc_signal<0> unnamed_net641; sc_signal<0> unnamed_net640; sc_signal<0> unnamed_net639; sc_signal<0> unnamed_net638; sc_signal<0> unnamed_net637; sc_signal<0> unnamed_net636; sc_signal<0> unnamed_net635; sc_signal<0> unnamed_net634; sc_signal<0> unnamed_net633; sc_signal<0> unnamed_net632; sc_signal<0> unnamed_net631; sc_signal<0> unnamed_net630; sc_signal<0> unnamed_net629; sc_signal<0> unnamed_net628; sc_signal<0> unnamed_net627; sc_signal<0> unnamed_net626; sc_signal<0> unnamed_net625; sc_signal<0> unnamed_net624; sc_signal<0> unnamed_net623; sc_signal<0> unnamed_net622; sc_signal<0> unnamed_net621; sc_signal<0> unnamed_net620; sc_signal<0> unnamed_net619; sc_signal<0> unnamed_net618; sc_signal<0> unnamed_net617; sc_signal<0> unnamed_net616; sc_signal<0> unnamed_net615; sc_signal<0> unnamed_net614; sc_signal<0> unnamed_net613; sc_signal<0> unnamed_net612; sc_signal<0> unnamed_net611; sc_signal<0> unnamed_net610; sc_signal<0> unnamed_net609; sc_signal<0> unnamed_net608; sc_signal<0> unnamed_net607; sc_signal<0> unnamed_net606; sc_signal<0> unnamed_net605; sc_signal<0> unnamed_net604; sc_signal<0> unnamed_net603; sc_signal<0> unnamed_net602; sc_signal<0> unnamed_net601; sc_signal<0> unnamed_net600; sc_signal<0> unnamed_net599; sc_signal<0> unnamed_net598; sc_signal<0> unnamed_net597; sc_signal<0> unnamed_net596; sc_signal<0> unnamed_net595; sc_signal<0> unnamed_net594; sc_signal<0> unnamed_net593; sc_signal<0> unnamed_net592; sc_signal<0> unnamed_net591; sc_signal<0> unnamed_net590; sc_signal<0> unnamed_net589; sc_signal<0> unnamed_net588; sc_signal<0> unnamed_net587; sc_signal<0> unnamed_net586; sc_signal<0> unnamed_net585; sc_signal<0> unnamed_net584; sc_signal<0> unnamed_net583; sc_signal<0> unnamed_net582; sc_signal<0> unnamed_net581; sc_signal<0> unnamed_net580; sc_signal<0> unnamed_net579; sc_signal<0> unnamed_net578; sc_signal<0> unnamed_net577; sc_signal<0> unnamed_net576; sc_signal<0> unnamed_net575; sc_signal<0> unnamed_net574; sc_signal<0> unnamed_net573; sc_signal<0> unnamed_net572; sc_signal<0> unnamed_net571; sc_signal<0> unnamed_net570; sc_signal<0> unnamed_net569; sc_signal<0> unnamed_net568; sc_signal<0> unnamed_net567; sc_signal<0> unnamed_net566; sc_signal<0> unnamed_net565; sc_signal<0> unnamed_net564; sc_signal<0> unnamed_net563; sc_signal<0> unnamed_net562; sc_signal<0> unnamed_net561; sc_signal<0> unnamed_net560; sc_signal<0> unnamed_net559; sc_signal<0> unnamed_net558; sc_signal<0> unnamed_net557; sc_signal<0> unnamed_net556; sc_signal<0> unnamed_net555; sc_signal<0> unnamed_net554; sc_signal<0> unnamed_net553; sc_signal<0> unnamed_net552; sc_signal<0> unnamed_net551; sc_signal<0> unnamed_net550; sc_signal<0> unnamed_net549; sc_signal<0> unnamed_net548; sc_signal<0> unnamed_net547; sc_signal<0> unnamed_net546; sc_signal<0> unnamed_net545; sc_signal<0> unnamed_net544; sc_signal<0> unnamed_net543; sc_signal<0> unnamed_net542; sc_signal<0> unnamed_net541; sc_signal<0> unnamed_net540; sc_signal<0> unnamed_net539; sc_signal<0> unnamed_net538; sc_signal<0> unnamed_net537; sc_signal<0> unnamed_net536; sc_signal<0> unnamed_net535; sc_signal<0> unnamed_net534; sc_signal<0> unnamed_net533; sc_signal<0> unnamed_net532; sc_signal<0> unnamed_net531; sc_signal<0> unnamed_net530; sc_signal<0> unnamed_net529; sc_signal<0> unnamed_net528; sc_signal<0> unnamed_net527; sc_signal<0> unnamed_net526; sc_signal<0> unnamed_net525; sc_signal<0> unnamed_net524; sc_signal<0> unnamed_net523; sc_signal<0> unnamed_net522; sc_signal<0> unnamed_net521; sc_signal<0> unnamed_net520; sc_signal<0> unnamed_net519; sc_signal<0> unnamed_net518; sc_signal<0> unnamed_net517; sc_signal<0> unnamed_net516; sc_signal<0> unnamed_net515; sc_signal<0> unnamed_net514; sc_signal<0> unnamed_net513; sc_signal<0> unnamed_net512; sc_signal<0> unnamed_net511; sc_signal<0> unnamed_net510; sc_signal<0> unnamed_net509; sc_signal<0> unnamed_net508; sc_signal<0> unnamed_net507; sc_signal<0> unnamed_net506; sc_signal<0> unnamed_net505; sc_signal<0> unnamed_net504; sc_signal<0> unnamed_net503; sc_signal<0> unnamed_net502; sc_signal<0> unnamed_net501; sc_signal<0> unnamed_net500; sc_signal<0> unnamed_net499; sc_signal<0> unnamed_net498; sc_signal<0> unnamed_net497; sc_signal<0> unnamed_net496; sc_signal<0> unnamed_net495; sc_signal<0> unnamed_net494; sc_signal<0> unnamed_net493; sc_signal<0> unnamed_net492; sc_signal<0> unnamed_net491; sc_signal<0> unnamed_net490; sc_signal<0> unnamed_net489; sc_signal<0> unnamed_net488; sc_signal<0> unnamed_net487; sc_signal<0> unnamed_net486; sc_signal<0> unnamed_net485; sc_signal<0> unnamed_net484; sc_signal<0> unnamed_net483; sc_signal<0> unnamed_net482; sc_signal<0> unnamed_net481; sc_signal<0> unnamed_net480; sc_signal<0> unnamed_net479; sc_signal<0> unnamed_net478; sc_signal<0> unnamed_net477; sc_signal<0> unnamed_net476; sc_signal<0> unnamed_net475; sc_signal<0> unnamed_net474; sc_signal<0> unnamed_net473; sc_signal<0> unnamed_net472; sc_signal<0> unnamed_net471; sc_signal<0> unnamed_net470; sc_signal<0> unnamed_net469; sc_signal<0> unnamed_net468; sc_signal<0> unnamed_net467; sc_signal<0> unnamed_net466; sc_signal<0> unnamed_net465; sc_signal<0> unnamed_net464; sc_signal<0> unnamed_net463; sc_signal<0> unnamed_net462; sc_signal<0> unnamed_net461; sc_signal<0> unnamed_net460; sc_signal<0> unnamed_net459; sc_signal<0> unnamed_net458; sc_signal<0> unnamed_net457; sc_signal<0> unnamed_net456; sc_signal<0> unnamed_net455; sc_signal<0> unnamed_net454; sc_signal<0> unnamed_net453; sc_signal<0> unnamed_net452; sc_signal<0> unnamed_net451; sc_signal<0> unnamed_net450; sc_signal<0> unnamed_net449; sc_signal<0> unnamed_net448; sc_signal<0> unnamed_net447; sc_signal<0> unnamed_net446; sc_signal<0> unnamed_net445; sc_signal<0> unnamed_net444; sc_signal<0> unnamed_net443; sc_signal<0> unnamed_net442; sc_signal<0> unnamed_net441; sc_signal<0> unnamed_net440; sc_signal<0> unnamed_net439; sc_signal<0> unnamed_net438; sc_signal<0> unnamed_net437; sc_signal<0> unnamed_net436; sc_signal<0> unnamed_net435; sc_signal<0> unnamed_net434; sc_signal<0> unnamed_net433; sc_signal<0> unnamed_net432; sc_signal<0> unnamed_net431; sc_signal<0> unnamed_net430; sc_signal<0> unnamed_net429; sc_signal<0> unnamed_net428; sc_signal<0> unnamed_net427; sc_signal<0> unnamed_net426; sc_signal<0> unnamed_net425; sc_signal<0> unnamed_net424; sc_signal<0> unnamed_net423; sc_signal<0> unnamed_net422; sc_signal<0> unnamed_net421; sc_signal<0> unnamed_net420; sc_signal<0> unnamed_net419; sc_signal<0> unnamed_net418; sc_signal<0> unnamed_net417; sc_signal<0> unnamed_net416; sc_signal<0> unnamed_net415; sc_signal<0> unnamed_net414; sc_signal<0> unnamed_net413; sc_signal<0> unnamed_net412; sc_signal<0> unnamed_net411; sc_signal<0> unnamed_net410; sc_signal<0> unnamed_net409; sc_signal<0> unnamed_net408; sc_signal<0> unnamed_net407; sc_signal<0> unnamed_net406; sc_signal<0> unnamed_net405; sc_signal<0> unnamed_net404; sc_signal<0> unnamed_net403; sc_signal<0> unnamed_net402; sc_signal<0> unnamed_net401; sc_signal<0> unnamed_net400; sc_signal<0> unnamed_net399; sc_signal<0> unnamed_net398; sc_signal<0> unnamed_net397; sc_signal<0> unnamed_net396; sc_signal<0> unnamed_net395; sc_signal<0> unnamed_net394; sc_signal<0> unnamed_net393; sc_signal<0> unnamed_net392; sc_signal<0> unnamed_net391; sc_signal<0> unnamed_net390; sc_signal<0> unnamed_net389; sc_signal<0> unnamed_net388; sc_signal<0> unnamed_net387; sc_signal<0> unnamed_net386; sc_signal<0> unnamed_net385; sc_signal<0> unnamed_net384; sc_signal<0> unnamed_net383; sc_signal<0> unnamed_net382; sc_signal<0> unnamed_net381; sc_signal<0> unnamed_net380; sc_signal<0> unnamed_net379; sc_signal<0> unnamed_net378; sc_signal<0> unnamed_net377; sc_signal<0> unnamed_net376; sc_signal<0> unnamed_net375; sc_signal<0> unnamed_net374; sc_signal<0> unnamed_net373; sc_signal<0> unnamed_net372; sc_signal<0> unnamed_net371; sc_signal<0> unnamed_net370; sc_signal<0> unnamed_net369; sc_signal<0> unnamed_net368; sc_signal<0> unnamed_net367; sc_signal<0> unnamed_net366; sc_signal<0> unnamed_net365; sc_signal<0> unnamed_net364; sc_signal<0> unnamed_net363; sc_signal<0> unnamed_net362; sc_signal<0> unnamed_net361; sc_signal<0> unnamed_net360; sc_signal<0> unnamed_net359; sc_signal<0> unnamed_net358; sc_signal<0> unnamed_net357; sc_signal<0> unnamed_net356; sc_signal<0> unnamed_net355; sc_signal<0> unnamed_net354; sc_signal<0> unnamed_net353; sc_signal<0> unnamed_net352; sc_signal<0> unnamed_net351; sc_signal<0> unnamed_net350; sc_signal<0> unnamed_net349; sc_signal<0> unnamed_net348; sc_signal<0> unnamed_net347; sc_signal<0> unnamed_net346; sc_signal<0> unnamed_net345; sc_signal<0> unnamed_net344; sc_signal<0> unnamed_net343; sc_signal<0> unnamed_net342; sc_signal<0> unnamed_net341; sc_signal<0> unnamed_net340; sc_signal<0> unnamed_net339; sc_signal<0> unnamed_net338; sc_signal<0> unnamed_net337; sc_signal<0> unnamed_net336; sc_signal<0> unnamed_net335; sc_signal<0> unnamed_net334; sc_signal<0> unnamed_net333; sc_signal<0> unnamed_net332; sc_signal<0> unnamed_net331; sc_signal<0> unnamed_net330; sc_signal<0> unnamed_net329; sc_signal<0> unnamed_net328; sc_signal<0> unnamed_net327; sc_signal<0> unnamed_net326; sc_signal<0> unnamed_net325; sc_signal<0> unnamed_net324; sc_signal<0> unnamed_net323; sc_signal<0> unnamed_net322; sc_signal<0> unnamed_net321; sc_signal<0> unnamed_net320; sc_signal<0> unnamed_net319; sc_signal<0> unnamed_net318; sc_signal<0> unnamed_net317; sc_signal<0> unnamed_net316; sc_signal<0> unnamed_net315; sc_signal<0> unnamed_net314; sc_signal<0> unnamed_net313; sc_signal<0> unnamed_net312; sc_signal<0> unnamed_net311; sc_signal<0> unnamed_net310; sc_signal<0> unnamed_net309; sc_signal<0> unnamed_net308; sc_signal<0> unnamed_net307; sc_signal<0> unnamed_net306; sc_signal<0> unnamed_net305; sc_signal<0> unnamed_net304; sc_signal<0> unnamed_net303; sc_signal<0> unnamed_net302; sc_signal<0> unnamed_net301; sc_signal<0> unnamed_net300; sc_signal<0> unnamed_net299; sc_signal<0> unnamed_net298; sc_signal<0> unnamed_net297; sc_signal<0> unnamed_net296; sc_signal<0> unnamed_net295; sc_signal<0> unnamed_net294; sc_signal<0> unnamed_net293; sc_signal<0> unnamed_net292; sc_signal<0> unnamed_net291; sc_signal<0> unnamed_net290; sc_signal<0> unnamed_net289; sc_signal<0> unnamed_net288; sc_signal<0> unnamed_net287; sc_signal<0> unnamed_net286; sc_signal<0> unnamed_net285; sc_signal<0> unnamed_net284; sc_signal<0> unnamed_net283; sc_signal<0> unnamed_net282; sc_signal<0> unnamed_net281; sc_signal<0> unnamed_net280; sc_signal<0> unnamed_net279; sc_signal<0> unnamed_net278; sc_signal<0> unnamed_net277; sc_signal<0> unnamed_net276; sc_signal<0> unnamed_net275; sc_signal<0> unnamed_net274; sc_signal<0> unnamed_net273; sc_signal<0> unnamed_net272; sc_signal<0> unnamed_net271; sc_signal<0> unnamed_net270; sc_signal<0> unnamed_net269; sc_signal<0> unnamed_net268; sc_signal<0> unnamed_net267; sc_signal<0> unnamed_net266; sc_signal<0> unnamed_net265; sc_signal<0> unnamed_net264; sc_signal<0> unnamed_net263; sc_signal<0> unnamed_net262; sc_signal<0> unnamed_net261; sc_signal<0> unnamed_net260; sc_signal<0> unnamed_net259; sc_signal<0> unnamed_net258; sc_signal<0> unnamed_net257; sc_signal<0> unnamed_net256; sc_signal<0> unnamed_net255; sc_signal<0> unnamed_net254; sc_signal<0> unnamed_net253; sc_signal<0> unnamed_net252; sc_signal<0> unnamed_net251; sc_signal<0> unnamed_net250; sc_signal<0> unnamed_net249; sc_signal<0> unnamed_net248; sc_signal<0> unnamed_net247; sc_signal<0> unnamed_net246; sc_signal<0> unnamed_net245; sc_signal<0> unnamed_net244; sc_signal<0> unnamed_net243; sc_signal<0> unnamed_net242; sc_signal<0> unnamed_net241; sc_signal<0> unnamed_net240; sc_signal<0> unnamed_net239; sc_signal<0> unnamed_net238; sc_signal<0> unnamed_net237; sc_signal<0> unnamed_net236; sc_signal<0> unnamed_net235; sc_signal<0> unnamed_net234; sc_signal<0> unnamed_net233; sc_signal<0> unnamed_net232; sc_signal<0> unnamed_net231; sc_signal<0> unnamed_net230; sc_signal<0> unnamed_net229; sc_signal<0> unnamed_net228; sc_signal<0> unnamed_net227; sc_signal<0> unnamed_net226; sc_signal<0> unnamed_net225; sc_signal<0> unnamed_net224; sc_signal<0> unnamed_net223; sc_signal<0> unnamed_net222; sc_signal<0> unnamed_net221; sc_signal<0> unnamed_net220; sc_signal<0> unnamed_net219; sc_signal<0> unnamed_net218; sc_signal<0> unnamed_net217; sc_signal<0> unnamed_net216; sc_signal<0> unnamed_net215; sc_signal<0> unnamed_net214; sc_signal<0> unnamed_net213; sc_signal<0> unnamed_net212; sc_signal<0> unnamed_net211; sc_signal<0> unnamed_net210; sc_signal<0> unnamed_net209; sc_signal<0> unnamed_net208; sc_signal<0> unnamed_net207; sc_signal<0> unnamed_net206; sc_signal<0> unnamed_net205; sc_signal<0> unnamed_net204; sc_signal<0> unnamed_net203; sc_signal<0> unnamed_net202; sc_signal<0> unnamed_net201; sc_signal<0> unnamed_net200; sc_signal<0> unnamed_net199; sc_signal<0> unnamed_net198; sc_signal<0> unnamed_net197; sc_signal<0> unnamed_net196; sc_signal<0> unnamed_net195; sc_signal<0> unnamed_net194; sc_signal<0> unnamed_net193; sc_signal<0> unnamed_net192; sc_signal<0> unnamed_net191; sc_signal<0> unnamed_net190; sc_signal<0> unnamed_net189; sc_signal<0> unnamed_net188; sc_signal<0> unnamed_net187; sc_signal<0> unnamed_net186; sc_signal<0> unnamed_net185; sc_signal<0> unnamed_net184; sc_signal<0> unnamed_net183; sc_signal<0> unnamed_net182; sc_signal<0> unnamed_net181; sc_signal<0> unnamed_net180; sc_signal<0> unnamed_net179; sc_signal<0> unnamed_net178; sc_signal<0> unnamed_net177; sc_signal<0> unnamed_net176; sc_signal<0> unnamed_net175; sc_signal<0> unnamed_net174; sc_signal<0> unnamed_net173; sc_signal<0> unnamed_net172; sc_signal<0> unnamed_net171; sc_signal<0> unnamed_net170; sc_signal<0> unnamed_net169; sc_signal<0> unnamed_net168; sc_signal<0> unnamed_net167; sc_signal<0> unnamed_net166; sc_signal<0> unnamed_net165; sc_signal<0> unnamed_net164; sc_signal<0> unnamed_net163; sc_signal<0> unnamed_net162; sc_signal<0> unnamed_net161; sc_signal<0> unnamed_net160; sc_signal<0> unnamed_net159; sc_signal<0> unnamed_net158; sc_signal<0> unnamed_net157; sc_signal<0> unnamed_net156; sc_signal<0> unnamed_net155; sc_signal<0> unnamed_net154; sc_signal<0> unnamed_net153; sc_signal<0> unnamed_net152; sc_signal<0> unnamed_net151; sc_signal<0> unnamed_net150; sc_signal<0> unnamed_net149; sc_signal<0> unnamed_net148; sc_signal<0> unnamed_net147; sc_signal<0> unnamed_net146; sc_signal<0> unnamed_net145; sc_signal<0> unnamed_net144; sc_signal<0> unnamed_net143; sc_signal<0> unnamed_net142; sc_signal<0> unnamed_net141; sc_signal<0> unnamed_net140; sc_signal<0> unnamed_net139; sc_signal<0> unnamed_net138; sc_signal<0> unnamed_net137; sc_signal<0> unnamed_net136; sc_signal<0> unnamed_net135; sc_signal<0> unnamed_net134; sc_signal<0> unnamed_net133; sc_signal<0> unnamed_net132; sc_signal<0> unnamed_net131; sc_signal<0> unnamed_net130; sc_signal<0> unnamed_net129; sc_signal<0> unnamed_net128; sc_signal<0> unnamed_net127; sc_signal<0> unnamed_net126; sc_signal<0> unnamed_net125; sc_signal<0> unnamed_net124; sc_signal<0> unnamed_net123; sc_signal<0> unnamed_net122; sc_signal<0> unnamed_net121; sc_signal<0> unnamed_net120; sc_signal<0> unnamed_net119; sc_signal<0> unnamed_net118; sc_signal<0> unnamed_net117; sc_signal<0> unnamed_net116; sc_signal<0> unnamed_net115; sc_signal<0> unnamed_net114; sc_signal<0> unnamed_net113; sc_signal<0> unnamed_net112; sc_signal<0> unnamed_net111; sc_signal<0> unnamed_net110; sc_signal<0> unnamed_net109; sc_signal<0> unnamed_net108; sc_signal<0> unnamed_net107; sc_signal<0> unnamed_net106; sc_signal<0> unnamed_net105; sc_signal<0> unnamed_net104; sc_signal<0> unnamed_net103; sc_signal<0> unnamed_net102; sc_signal<0> unnamed_net101; sc_signal<0> unnamed_net100; sc_signal<0> unnamed_net99; sc_signal<0> unnamed_net98; sc_signal<0> unnamed_net97; sc_signal<0> unnamed_net96; sc_signal<0> unnamed_net95; sc_signal<0> unnamed_net94; sc_signal<0> unnamed_net93; sc_signal<0> unnamed_net92; sc_signal<0> unnamed_net91; sc_signal<0> unnamed_net90; sc_signal<0> unnamed_net89; sc_signal<0> unnamed_net88; sc_signal<0> unnamed_net87; sc_signal<0> unnamed_net86; sc_signal<0> unnamed_net85; sc_signal<0> unnamed_net84; sc_signal<0> unnamed_net83; sc_signal<0> unnamed_net82; sc_signal<0> unnamed_net81; sc_signal<0> unnamed_net80; sc_signal<0> unnamed_net79; sc_signal<0> unnamed_net78; sc_signal<0> unnamed_net77; sc_signal<0> unnamed_net76; sc_signal<0> unnamed_net75; sc_signal<0> unnamed_net74; sc_signal<0> unnamed_net73; sc_signal<0> unnamed_net72; sc_signal<0> unnamed_net71; sc_signal<0> unnamed_net70; sc_signal<0> unnamed_net69; sc_signal<0> unnamed_net68; sc_signal<0> unnamed_net67; sc_signal<0> unnamed_net66; sc_signal<0> unnamed_net65; sc_signal<0> unnamed_net64; sc_signal<0> unnamed_net63; sc_signal<0> unnamed_net62; sc_signal<0> unnamed_net61; sc_signal<0> unnamed_net60; sc_signal<0> unnamed_net59; sc_signal<0> unnamed_net58; sc_signal<0> unnamed_net57; sc_signal<0> unnamed_net56; sc_signal<0> unnamed_net55; sc_signal<0> unnamed_net54; sc_signal<0> unnamed_net53; sc_signal<0> unnamed_net52; sc_signal<0> unnamed_net51; sc_signal<0> unnamed_net50; sc_signal<0> unnamed_net49; sc_signal<0> unnamed_net48; sc_signal<0> unnamed_net47; sc_signal<0> unnamed_net46; sc_signal<0> unnamed_net45; sc_signal<0> unnamed_net44; sc_signal<0> unnamed_net43; sc_signal<0> unnamed_net42; sc_signal<0> unnamed_net41; sc_signal<0> unnamed_net40; sc_signal<0> unnamed_net39; sc_signal<0> unnamed_net38; sc_signal<0> unnamed_net37; sc_signal<0> unnamed_net36; sc_signal<0> unnamed_net35; sc_signal<0> unnamed_net34; sc_signal<0> unnamed_net33; sc_signal<0> unnamed_net32; sc_signal<0> unnamed_net31; sc_signal<0> unnamed_net30; sc_signal<0> unnamed_net29; sc_signal<0> unnamed_net28; sc_signal<0> unnamed_net27; sc_signal<0> unnamed_net26; sc_signal<0> unnamed_net25; sc_signal<0> unnamed_net24; sc_signal<0> unnamed_net23; sc_signal<0> unnamed_net22; sc_signal<0> unnamed_net21; sc_signal<0> unnamed_net20; sc_signal<0> unnamed_net19; sc_signal<0> unnamed_net18; sc_signal<0> unnamed_net17; sc_signal<0> unnamed_net16; sc_signal<0> unnamed_net15; sc_signal<0> unnamed_net14; sc_signal<0> unnamed_net13; sc_signal<0> unnamed_net12; sc_signal<0> unnamed_net11; sc_signal<0> unnamed_net10; sc_signal<0> unnamed_net9; sc_signal<0> unnamed_net8; sc_signal<0> unnamed_net7; sc_signal<0> unnamed_net6; sc_signal<0> unnamed_net5; sc_signal<0> unnamed_net4; sc_signal<0> unnamed_net3; sc_signal<0> unnamed_net2; sc_signal<0> unnamed_net1; /* Package instantiations */ CAPACITOR C?; SC_CTOR(not found): C?("C?") { C?.1(unnamed_net1); C?.2(unnamed_net2); C?.1(unnamed_net3); C?.2(unnamed_net4); C?.1(unnamed_net1); C?.2(unnamed_net5); C?.1(unnamed_net2); C?.2(unnamed_net6); C?.1(unnamed_net7); C?.2(unnamed_net8); C?.1(unnamed_net5); C?.2(unnamed_net9); C?.1(unnamed_net7); C?.2(unnamed_net10); C?.1(unnamed_net8); C?.2(unnamed_net11); C?.1(unnamed_net3); C?.2(unnamed_net12); C?.1(unnamed_net13); C?.2(unnamed_net14); C?.1(unnamed_net4); C?.2(unnamed_net15); C?.1(unnamed_net12); C?.2(unnamed_net16); C?.1(unnamed_net6); C?.2(unnamed_net17); C?.1(unnamed_net15); C?.2(unnamed_net18); C?.1(unnamed_net9); C?.2(unnamed_net19); C?.1(unnamed_net17); C?.2(unnamed_net20); C?.1(unnamed_net21); C?.2(unnamed_net22); C?.1(unnamed_net10); C?.2(unnamed_net23); C?.1(unnamed_net21); C?.2(unnamed_net24); C?.1(unnamed_net22); C?.2(unnamed_net25); C?.1(unnamed_net26); C?.2(unnamed_net27); C?.1(unnamed_net24); C?.2(unnamed_net28); C?.1(unnamed_net26); C?.2(unnamed_net29); C?.1(unnamed_net27); C?.2(unnamed_net30); C?.1(unnamed_net11); C?.2(unnamed_net31); C?.1(unnamed_net19); C?.2(unnamed_net32); C?.1(unnamed_net23); C?.2(unnamed_net33); C?.1(unnamed_net31); C?.2(unnamed_net34); C?.1(unnamed_net25); C?.2(unnamed_net35); C?.1(unnamed_net33); C?.2(unnamed_net36); C?.1(unnamed_net28); C?.2(unnamed_net37); C?.1(unnamed_net35); C?.2(unnamed_net38); C?.1(unnamed_net13); C?.2(unnamed_net39); C?.1(unnamed_net40); C?.2(unnamed_net41); C?.1(unnamed_net14); C?.2(unnamed_net42); C?.1(unnamed_net39); C?.2(unnamed_net43); C?.1(unnamed_net16); C?.2(unnamed_net44); C?.1(unnamed_net42); C?.2(unnamed_net45); C?.1(unnamed_net18); C?.2(unnamed_net46); C?.1(unnamed_net44); C?.2(unnamed_net47); C?.1(unnamed_net40); C?.2(unnamed_net48); C?.1(unnamed_net49); C?.2(unnamed_net50); C?.1(unnamed_net41); C?.2(unnamed_net51); C?.1(unnamed_net48); C?.2(unnamed_net52); C?.1(unnamed_net43); C?.2(unnamed_net53); C?.1(unnamed_net51); C?.2(unnamed_net54); C?.1(unnamed_net45); C?.2(unnamed_net55); C?.1(unnamed_net53); C?.2(unnamed_net56); C?.1(unnamed_net20); C?.2(unnamed_net57); C?.1(unnamed_net46); C?.2(unnamed_net58); C?.1(unnamed_net32); C?.2(unnamed_net59); C?.1(unnamed_net57); C?.2(unnamed_net60); C?.1(unnamed_net34); C?.2(unnamed_net61); C?.1(unnamed_net59); C?.2(unnamed_net62); C?.1(unnamed_net36); C?.2(unnamed_net63); C?.1(unnamed_net61); C?.2(unnamed_net64); C?.1(unnamed_net47); C?.2(unnamed_net65); C?.1(unnamed_net55); C?.2(unnamed_net66); C?.1(unnamed_net58); C?.2(unnamed_net67); C?.1(unnamed_net65); C?.2(unnamed_net68); C?.1(unnamed_net60); C?.2(unnamed_net69); C?.1(unnamed_net67); C?.2(unnamed_net70); C?.1(unnamed_net62); C?.2(unnamed_net71); C?.1(unnamed_net69); C?.2(unnamed_net72); C?.1(unnamed_net73); C?.2(unnamed_net74); C?.1(unnamed_net29); C?.2(unnamed_net75); C?.1(unnamed_net73); C?.2(unnamed_net76); C?.1(unnamed_net74); C?.2(unnamed_net77); C?.1(unnamed_net78); C?.2(unnamed_net79); C?.1(unnamed_net76); C?.2(unnamed_net80); C?.1(unnamed_net78); C?.2(unnamed_net81); C?.1(unnamed_net79); C?.2(unnamed_net82); C?.1(unnamed_net30); C?.2(unnamed_net83); C?.1(unnamed_net37); C?.2(unnamed_net84); C?.1(unnamed_net75); C?.2(unnamed_net85); C?.1(unnamed_net83); C?.2(unnamed_net86); C?.1(unnamed_net77); C?.2(unnamed_net87); C?.1(unnamed_net85); C?.2(unnamed_net88); C?.1(unnamed_net80); C?.2(unnamed_net89); C?.1(unnamed_net87); C?.2(unnamed_net90); C?.1(unnamed_net91); C?.2(unnamed_net92); C?.1(unnamed_net81); C?.2(unnamed_net93); C?.1(unnamed_net91); C?.2(unnamed_net94); C?.1(unnamed_net92); C?.2(unnamed_net95); C?.1(unnamed_net96); C?.2(unnamed_net97); C?.1(unnamed_net94); C?.2(unnamed_net98); C?.1(unnamed_net96); C?.2(unnamed_net99); C?.1(unnamed_net97); C?.2(unnamed_net100); C?.1(unnamed_net82); C?.2(unnamed_net101); C?.1(unnamed_net89); C?.2(unnamed_net102); C?.1(unnamed_net93); C?.2(unnamed_net103); C?.1(unnamed_net101); C?.2(unnamed_net104); C?.1(unnamed_net95); C?.2(unnamed_net105); C?.1(unnamed_net103); C?.2(unnamed_net106); C?.1(unnamed_net98); C?.2(unnamed_net107); C?.1(unnamed_net105); C?.2(unnamed_net108); C?.1(unnamed_net38); C?.2(unnamed_net109); C?.1(unnamed_net63); C?.2(unnamed_net110); C?.1(unnamed_net84); C?.2(unnamed_net111); C?.1(unnamed_net109); C?.2(unnamed_net112); C?.1(unnamed_net86); C?.2(unnamed_net113); C?.1(unnamed_net111); C?.2(unnamed_net114); C?.1(unnamed_net88); C?.2(unnamed_net115); C?.1(unnamed_net113); C?.2(unnamed_net116); C?.1(unnamed_net64); C?.2(unnamed_net117); C?.1(unnamed_net71); C?.2(unnamed_net118); C?.1(unnamed_net110); C?.2(unnamed_net119); C?.1(unnamed_net117); C?.2(unnamed_net120); C?.1(unnamed_net112); C?.2(unnamed_net121); C?.1(unnamed_net119); C?.2(unnamed_net122); C?.1(unnamed_net114); C?.2(unnamed_net123); C?.1(unnamed_net121); C?.2(unnamed_net124); C?.1(unnamed_net90); C?.2(unnamed_net125); C?.1(unnamed_net115); C?.2(unnamed_net126); C?.1(unnamed_net102); C?.2(unnamed_net127); C?.1(unnamed_net125); C?.2(unnamed_net128); C?.1(unnamed_net104); C?.2(unnamed_net129); C?.1(unnamed_net127); C?.2(unnamed_net130); C?.1(unnamed_net106); C?.2(unnamed_net131); C?.1(unnamed_net129); C?.2(unnamed_net132); C?.1(unnamed_net116); C?.2(unnamed_net133); C?.1(unnamed_net123); C?.2(unnamed_net134); C?.1(unnamed_net126); C?.2(unnamed_net135); C?.1(unnamed_net133); C?.2(unnamed_net136); C?.1(unnamed_net128); C?.2(unnamed_net137); C?.1(unnamed_net135); C?.2(unnamed_net138); C?.1(unnamed_net130); C?.2(unnamed_net139); C?.1(unnamed_net137); C?.2(unnamed_net140); C?.1(unnamed_net49); C?.2(unnamed_net141); C?.1(unnamed_net142); C?.2(unnamed_net143); C?.1(unnamed_net50); C?.2(unnamed_net144); C?.1(unnamed_net141); C?.2(unnamed_net145); C?.1(unnamed_net52); C?.2(unnamed_net146); C?.1(unnamed_net144); C?.2(unnamed_net147); C?.1(unnamed_net54); C?.2(unnamed_net148); C?.1(unnamed_net146); C?.2(unnamed_net149); C?.1(unnamed_net142); C?.2(unnamed_net150); C?.1(unnamed_net151); C?.2(unnamed_net152); C?.1(unnamed_net143); C?.2(unnamed_net153); C?.1(unnamed_net150); C?.2(unnamed_net154); C?.1(unnamed_net145); C?.2(unnamed_net155); C?.1(unnamed_net153); C?.2(unnamed_net156); C?.1(unnamed_net147); C?.2(unnamed_net157); C?.1(unnamed_net155); C?.2(unnamed_net158); C?.1(unnamed_net56); C?.2(unnamed_net159); C?.1(unnamed_net148); C?.2(unnamed_net160); C?.1(unnamed_net66); C?.2(unnamed_net161); C?.1(unnamed_net159); C?.2(unnamed_net162); C?.1(unnamed_net68); C?.2(unnamed_net163); C?.1(unnamed_net161); C?.2(unnamed_net164); C?.1(unnamed_net70); C?.2(unnamed_net165); C?.1(unnamed_net163); C?.2(unnamed_net166); C?.1(unnamed_net149); C?.2(unnamed_net167); C?.1(unnamed_net157); C?.2(unnamed_net168); C?.1(unnamed_net160); C?.2(unnamed_net169); C?.1(unnamed_net167); C?.2(unnamed_net170); C?.1(unnamed_net162); C?.2(unnamed_net171); C?.1(unnamed_net169); C?.2(unnamed_net172); C?.1(unnamed_net164); C?.2(unnamed_net173); C?.1(unnamed_net171); C?.2(unnamed_net174); C?.1(unnamed_net151); C?.2(unnamed_net175); C?.1(unnamed_net176); C?.2(unnamed_net177); C?.1(unnamed_net152); C?.2(unnamed_net178); C?.1(unnamed_net175); C?.2(unnamed_net179); C?.1(unnamed_net154); C?.2(unnamed_net180); C?.1(unnamed_net178); C?.2(unnamed_net181); C?.1(unnamed_net156); C?.2(unnamed_net182); C?.1(unnamed_net180); C?.2(unnamed_net183); C?.1(unnamed_net176); C?.2(unnamed_net184); C?.1(unnamed_net185); C?.2(unnamed_net186); C?.1(unnamed_net177); C?.2(unnamed_net187); C?.1(unnamed_net184); C?.2(unnamed_net188); C?.1(unnamed_net179); C?.2(unnamed_net189); C?.1(unnamed_net187); C?.2(unnamed_net190); C?.1(unnamed_net181); C?.2(unnamed_net191); C?.1(unnamed_net189); C?.2(unnamed_net192); C?.1(unnamed_net158); C?.2(unnamed_net193); C?.1(unnamed_net182); C?.2(unnamed_net194); C?.1(unnamed_net168); C?.2(unnamed_net195); C?.1(unnamed_net193); C?.2(unnamed_net196); C?.1(unnamed_net170); C?.2(unnamed_net197); C?.1(unnamed_net195); C?.2(unnamed_net198); C?.1(unnamed_net172); C?.2(unnamed_net199); C?.1(unnamed_net197); C?.2(unnamed_net200); C?.1(unnamed_net183); C?.2(unnamed_net201); C?.1(unnamed_net191); C?.2(unnamed_net202); C?.1(unnamed_net194); C?.2(unnamed_net203); C?.1(unnamed_net201); C?.2(unnamed_net204); C?.1(unnamed_net196); C?.2(unnamed_net205); C?.1(unnamed_net203); C?.2(unnamed_net206); C?.1(unnamed_net198); C?.2(unnamed_net207); C?.1(unnamed_net205); C?.2(unnamed_net208); C?.1(unnamed_net72); C?.2(unnamed_net209); C?.1(unnamed_net165); C?.2(unnamed_net210); C?.1(unnamed_net118); C?.2(unnamed_net211); C?.1(unnamed_net209); C?.2(unnamed_net212); C?.1(unnamed_net120); C?.2(unnamed_net213); C?.1(unnamed_net211); C?.2(unnamed_net214); C?.1(unnamed_net122); C?.2(unnamed_net215); C?.1(unnamed_net213); C?.2(unnamed_net216); C?.1(unnamed_net166); C?.2(unnamed_net217); C?.1(unnamed_net173); C?.2(unnamed_net218); C?.1(unnamed_net210); C?.2(unnamed_net219); C?.1(unnamed_net217); C?.2(unnamed_net220); C?.1(unnamed_net212); C?.2(unnamed_net221); C?.1(unnamed_net219); C?.2(unnamed_net222); C?.1(unnamed_net214); C?.2(unnamed_net223); C?.1(unnamed_net221); C?.2(unnamed_net224); C?.1(unnamed_net124); C?.2(unnamed_net225); C?.1(unnamed_net215); C?.2(unnamed_net226); C?.1(unnamed_net134); C?.2(unnamed_net227); C?.1(unnamed_net225); C?.2(unnamed_net228); C?.1(unnamed_net136); C?.2(unnamed_net229); C?.1(unnamed_net227); C?.2(unnamed_net230); C?.1(unnamed_net138); C?.2(unnamed_net231); C?.1(unnamed_net229); C?.2(unnamed_net232); C?.1(unnamed_net216); C?.2(unnamed_net233); C?.1(unnamed_net223); C?.2(unnamed_net234); C?.1(unnamed_net226); C?.2(unnamed_net235); C?.1(unnamed_net233); C?.2(unnamed_net236); C?.1(unnamed_net228); C?.2(unnamed_net237); C?.1(unnamed_net235); C?.2(unnamed_net238); C?.1(unnamed_net230); C?.2(unnamed_net239); C?.1(unnamed_net237); C?.2(unnamed_net240); C?.1(unnamed_net174); C?.2(unnamed_net241); C?.1(unnamed_net199); C?.2(unnamed_net242); C?.1(unnamed_net218); C?.2(unnamed_net243); C?.1(unnamed_net241); C?.2(unnamed_net244); C?.1(unnamed_net220); C?.2(unnamed_net245); C?.1(unnamed_net243); C?.2(unnamed_net246); C?.1(unnamed_net222); C?.2(unnamed_net247); C?.1(unnamed_net245); C?.2(unnamed_net248); C?.1(unnamed_net200); C?.2(unnamed_net249); C?.1(unnamed_net207); C?.2(unnamed_net250); C?.1(unnamed_net242); C?.2(unnamed_net251); C?.1(unnamed_net249); C?.2(unnamed_net252); C?.1(unnamed_net244); C?.2(unnamed_net253); C?.1(unnamed_net251); C?.2(unnamed_net254); C?.1(unnamed_net246); C?.2(unnamed_net255); C?.1(unnamed_net253); C?.2(unnamed_net256); C?.1(unnamed_net224); C?.2(unnamed_net257); C?.1(unnamed_net247); C?.2(unnamed_net258); C?.1(unnamed_net234); C?.2(unnamed_net259); C?.1(unnamed_net257); C?.2(unnamed_net260); C?.1(unnamed_net236); C?.2(unnamed_net261); C?.1(unnamed_net259); C?.2(unnamed_net262); C?.1(unnamed_net238); C?.2(unnamed_net263); C?.1(unnamed_net261); C?.2(unnamed_net264); C?.1(unnamed_net248); C?.2(unnamed_net265); C?.1(unnamed_net255); C?.2(unnamed_net266); C?.1(unnamed_net258); C?.2(unnamed_net267); C?.1(unnamed_net265); C?.2(unnamed_net268); C?.1(unnamed_net260); C?.2(unnamed_net269); C?.1(unnamed_net267); C?.2(unnamed_net270); C?.1(unnamed_net262); C?.2(unnamed_net271); C?.1(unnamed_net269); C?.2(unnamed_net272); C?.1(unnamed_net273); C?.2(unnamed_net274); C?.1(unnamed_net99); C?.2(unnamed_net275); C?.1(unnamed_net273); C?.2(unnamed_net276); C?.1(unnamed_net274); C?.2(unnamed_net277); C?.1(unnamed_net278); C?.2(unnamed_net279); C?.1(unnamed_net276); C?.2(unnamed_net280); C?.1(unnamed_net278); C?.2(unnamed_net281); C?.1(unnamed_net279); C?.2(unnamed_net282); C?.1(unnamed_net100); C?.2(unnamed_net283); C?.1(unnamed_net107); C?.2(unnamed_net284); C?.1(unnamed_net275); C?.2(unnamed_net285); C?.1(unnamed_net283); C?.2(unnamed_net286); C?.1(unnamed_net277); C?.2(unnamed_net287); C?.1(unnamed_net285); C?.2(unnamed_net288); C?.1(unnamed_net280); C?.2(unnamed_net289); C?.1(unnamed_net287); C?.2(unnamed_net290); C?.1(unnamed_net291); C?.2(unnamed_net292); C?.1(unnamed_net281); C?.2(unnamed_net293); C?.1(unnamed_net291); C?.2(unnamed_net294); C?.1(unnamed_net292); C?.2(unnamed_net295); C?.1(unnamed_net296); C?.2(unnamed_net297); C?.1(unnamed_net294); C?.2(unnamed_net298); C?.1(unnamed_net296); C?.2(unnamed_net299); C?.1(unnamed_net297); C?.2(unnamed_net300); C?.1(unnamed_net282); C?.2(unnamed_net301); C?.1(unnamed_net289); C?.2(unnamed_net302); C?.1(unnamed_net293); C?.2(unnamed_net303); C?.1(unnamed_net301); C?.2(unnamed_net304); C?.1(unnamed_net295); C?.2(unnamed_net305); C?.1(unnamed_net303); C?.2(unnamed_net306); C?.1(unnamed_net298); C?.2(unnamed_net307); C?.1(unnamed_net305); C?.2(unnamed_net308); C?.1(unnamed_net108); C?.2(unnamed_net309); C?.1(unnamed_net131); C?.2(unnamed_net310); C?.1(unnamed_net284); C?.2(unnamed_net311); C?.1(unnamed_net309); C?.2(unnamed_net312); C?.1(unnamed_net286); C?.2(unnamed_net313); C?.1(unnamed_net311); C?.2(unnamed_net314); C?.1(unnamed_net288); C?.2(unnamed_net315); C?.1(unnamed_net313); C?.2(unnamed_net316); C?.1(unnamed_net132); C?.2(unnamed_net317); C?.1(unnamed_net139); C?.2(unnamed_net318); C?.1(unnamed_net310); C?.2(unnamed_net319); C?.1(unnamed_net317); C?.2(unnamed_net320); C?.1(unnamed_net312); C?.2(unnamed_net321); C?.1(unnamed_net319); C?.2(unnamed_net322); C?.1(unnamed_net314); C?.2(unnamed_net323); C?.1(unnamed_net321); C?.2(unnamed_net324); C?.1(unnamed_net290); C?.2(unnamed_net325); C?.1(unnamed_net315); C?.2(unnamed_net326); C?.1(unnamed_net302); C?.2(unnamed_net327); C?.1(unnamed_net325); C?.2(unnamed_net328); C?.1(unnamed_net304); C?.2(unnamed_net329); C?.1(unnamed_net327); C?.2(unnamed_net330); C?.1(unnamed_net306); C?.2(unnamed_net331); C?.1(unnamed_net329); C?.2(unnamed_net332); C?.1(unnamed_net316); C?.2(unnamed_net333); C?.1(unnamed_net323); C?.2(unnamed_net334); C?.1(unnamed_net326); C?.2(unnamed_net335); C?.1(unnamed_net333); C?.2(unnamed_net336); C?.1(unnamed_net328); C?.2(unnamed_net337); C?.1(unnamed_net335); C?.2(unnamed_net338); C?.1(unnamed_net330); C?.2(unnamed_net339); C?.1(unnamed_net337); C?.2(unnamed_net340); C?.1(unnamed_net341); C?.2(unnamed_net342); C?.1(unnamed_net299); C?.2(unnamed_net343); C?.1(unnamed_net341); C?.2(unnamed_net344); C?.1(unnamed_net342); C?.2(unnamed_net345); C?.1(unnamed_net346); C?.2(unnamed_net347); C?.1(unnamed_net344); C?.2(unnamed_net348); C?.1(unnamed_net346); C?.2(unnamed_net349); C?.1(unnamed_net347); C?.2(unnamed_net350); C?.1(unnamed_net300); C?.2(unnamed_net351); C?.1(unnamed_net307); C?.2(unnamed_net352); C?.1(unnamed_net343); C?.2(unnamed_net353); C?.1(unnamed_net351); C?.2(unnamed_net354); C?.1(unnamed_net345); C?.2(unnamed_net355); C?.1(unnamed_net353); C?.2(unnamed_net356); C?.1(unnamed_net348); C?.2(unnamed_net357); C?.1(unnamed_net355); C?.2(unnamed_net358); C?.1(unnamed_net359); C?.2(unnamed_net360); C?.1(unnamed_net349); C?.2(unnamed_net361); C?.1(unnamed_net359); C?.2(unnamed_net362); C?.1(unnamed_net360); C?.2(unnamed_net363); C?.1(unnamed_net364); C?.2(unnamed_net365); C?.1(unnamed_net362); C?.2(unnamed_net366); C?.1(unnamed_net364); C?.2(unnamed_net367); C?.1(unnamed_net365); C?.2(unnamed_net368); C?.1(unnamed_net350); C?.2(unnamed_net369); C?.1(unnamed_net357); C?.2(unnamed_net370); C?.1(unnamed_net361); C?.2(unnamed_net371); C?.1(unnamed_net369); C?.2(unnamed_net372); C?.1(unnamed_net363); C?.2(unnamed_net373); C?.1(unnamed_net371); C?.2(unnamed_net374); C?.1(unnamed_net366); C?.2(unnamed_net368); C?.1(unnamed_net373); C?.2(unnamed_net375); C?.1(unnamed_net308); C?.2(unnamed_net376); C?.1(unnamed_net331); C?.2(unnamed_net377); C?.1(unnamed_net352); C?.2(unnamed_net378); C?.1(unnamed_net376); C?.2(unnamed_net379); C?.1(unnamed_net354); C?.2(unnamed_net380); C?.1(unnamed_net378); C?.2(unnamed_net381); C?.1(unnamed_net356); C?.2(unnamed_net382); C?.1(unnamed_net380); C?.2(unnamed_net383); C?.1(unnamed_net332); C?.2(unnamed_net384); C?.1(unnamed_net339); C?.2(unnamed_net385); C?.1(unnamed_net377); C?.2(unnamed_net386); C?.1(unnamed_net384); C?.2(unnamed_net387); C?.1(unnamed_net379); C?.2(unnamed_net388); C?.1(unnamed_net386); C?.2(unnamed_net389); C?.1(unnamed_net381); C?.2(unnamed_net390); C?.1(unnamed_net388); C?.2(unnamed_net391); C?.1(unnamed_net358); C?.2(unnamed_net392); C?.1(unnamed_net382); C?.2(unnamed_net393); C?.1(unnamed_net370); C?.2(unnamed_net394); C?.1(unnamed_net392); C?.2(unnamed_net395); C?.1(unnamed_net372); C?.2(unnamed_net396); C?.1(unnamed_net394); C?.2(unnamed_net397); C?.1(unnamed_net374); C?.2(unnamed_net375); C?.1(unnamed_net396); C?.2(unnamed_net398); C?.1(unnamed_net383); C?.2(unnamed_net399); C?.1(unnamed_net390); C?.2(unnamed_net400); C?.1(unnamed_net393); C?.2(unnamed_net401); C?.1(unnamed_net399); C?.2(unnamed_net402); C?.1(unnamed_net395); C?.2(unnamed_net403); C?.1(unnamed_net401); C?.2(unnamed_net404); C?.1(unnamed_net397); C?.2(unnamed_net398); C?.1(unnamed_net403); C?.2(unnamed_net405); C?.1(unnamed_net140); C?.2(unnamed_net406); C?.1(unnamed_net231); C?.2(unnamed_net407); C?.1(unnamed_net318); C?.2(unnamed_net408); C?.1(unnamed_net406); C?.2(unnamed_net409); C?.1(unnamed_net320); C?.2(unnamed_net410); C?.1(unnamed_net408); C?.2(unnamed_net411); C?.1(unnamed_net322); C?.2(unnamed_net412); C?.1(unnamed_net410); C?.2(unnamed_net413); C?.1(unnamed_net232); C?.2(unnamed_net414); C?.1(unnamed_net239); C?.2(unnamed_net415); C?.1(unnamed_net407); C?.2(unnamed_net416); C?.1(unnamed_net414); C?.2(unnamed_net417); C?.1(unnamed_net409); C?.2(unnamed_net418); C?.1(unnamed_net416); C?.2(unnamed_net419); C?.1(unnamed_net411); C?.2(unnamed_net420); C?.1(unnamed_net418); C?.2(unnamed_net421); C?.1(unnamed_net324); C?.2(unnamed_net422); C?.1(unnamed_net412); C?.2(unnamed_net423); C?.1(unnamed_net334); C?.2(unnamed_net424); C?.1(unnamed_net422); C?.2(unnamed_net425); C?.1(unnamed_net336); C?.2(unnamed_net426); C?.1(unnamed_net424); C?.2(unnamed_net427); C?.1(unnamed_net338); C?.2(unnamed_net428); C?.1(unnamed_net426); C?.2(unnamed_net429); C?.1(unnamed_net413); C?.2(unnamed_net430); C?.1(unnamed_net420); C?.2(unnamed_net431); C?.1(unnamed_net423); C?.2(unnamed_net432); C?.1(unnamed_net430); C?.2(unnamed_net433); C?.1(unnamed_net425); C?.2(unnamed_net434); C?.1(unnamed_net432); C?.2(unnamed_net435); C?.1(unnamed_net427); C?.2(unnamed_net436); C?.1(unnamed_net434); C?.2(unnamed_net437); C?.1(unnamed_net240); C?.2(unnamed_net438); C?.1(unnamed_net263); C?.2(unnamed_net439); C?.1(unnamed_net415); C?.2(unnamed_net440); C?.1(unnamed_net438); C?.2(unnamed_net441); C?.1(unnamed_net417); C?.2(unnamed_net442); C?.1(unnamed_net440); C?.2(unnamed_net443); C?.1(unnamed_net419); C?.2(unnamed_net444); C?.1(unnamed_net442); C?.2(unnamed_net445); C?.1(unnamed_net264); C?.2(unnamed_net446); C?.1(unnamed_net271); C?.2(unnamed_net447); C?.1(unnamed_net439); C?.2(unnamed_net448); C?.1(unnamed_net446); C?.2(unnamed_net449); C?.1(unnamed_net441); C?.2(unnamed_net450); C?.1(unnamed_net448); C?.2(unnamed_net451); C?.1(unnamed_net443); C?.2(unnamed_net452); C?.1(unnamed_net450); C?.2(unnamed_net453); C?.1(unnamed_net421); C?.2(unnamed_net454); C?.1(unnamed_net444); C?.2(unnamed_net455); C?.1(unnamed_net431); C?.2(unnamed_net456); C?.1(unnamed_net454); C?.2(unnamed_net457); C?.1(unnamed_net433); C?.2(unnamed_net458); C?.1(unnamed_net456); C?.2(unnamed_net459); C?.1(unnamed_net435); C?.2(unnamed_net460); C?.1(unnamed_net458); C?.2(unnamed_net461); C?.1(unnamed_net445); C?.2(unnamed_net462); C?.1(unnamed_net452); C?.2(unnamed_net463); C?.1(unnamed_net455); C?.2(unnamed_net464); C?.1(unnamed_net462); C?.2(unnamed_net465); C?.1(unnamed_net457); C?.2(unnamed_net466); C?.1(unnamed_net464); C?.2(unnamed_net467); C?.1(unnamed_net459); C?.2(unnamed_net468); C?.1(unnamed_net466); C?.2(unnamed_net469); C?.1(unnamed_net340); C?.2(unnamed_net470); C?.1(unnamed_net428); C?.2(unnamed_net471); C?.1(unnamed_net385); C?.2(unnamed_net472); C?.1(unnamed_net470); C?.2(unnamed_net473); C?.1(unnamed_net387); C?.2(unnamed_net474); C?.1(unnamed_net472); C?.2(unnamed_net475); C?.1(unnamed_net389); C?.2(unnamed_net476); C?.1(unnamed_net474); C?.2(unnamed_net477); C?.1(unnamed_net429); C?.2(unnamed_net478); C?.1(unnamed_net436); C?.2(unnamed_net479); C?.1(unnamed_net471); C?.2(unnamed_net480); C?.1(unnamed_net478); C?.2(unnamed_net481); C?.1(unnamed_net473); C?.2(unnamed_net482); C?.1(unnamed_net480); C?.2(unnamed_net483); C?.1(unnamed_net475); C?.2(unnamed_net484); C?.1(unnamed_net482); C?.2(unnamed_net485); C?.1(unnamed_net391); C?.2(unnamed_net486); C?.1(unnamed_net476); C?.2(unnamed_net487); C?.1(unnamed_net400); C?.2(unnamed_net488); C?.1(unnamed_net486); C?.2(unnamed_net489); C?.1(unnamed_net402); C?.2(unnamed_net490); C?.1(unnamed_net488); C?.2(unnamed_net491); C?.1(unnamed_net404); C?.2(unnamed_net405); C?.1(unnamed_net490); C?.2(unnamed_net492); C?.1(unnamed_net477); C?.2(unnamed_net493); C?.1(unnamed_net484); C?.2(unnamed_net494); C?.1(unnamed_net487); C?.2(unnamed_net495); C?.1(unnamed_net493); C?.2(unnamed_net496); C?.1(unnamed_net489); C?.2(unnamed_net497); C?.1(unnamed_net495); C?.2(unnamed_net498); C?.1(unnamed_net491); C?.2(unnamed_net492); C?.1(unnamed_net497); C?.2(unnamed_net499); C?.1(unnamed_net437); C?.2(unnamed_net500); C?.1(unnamed_net460); C?.2(unnamed_net501); C?.1(unnamed_net479); C?.2(unnamed_net502); C?.1(unnamed_net500); C?.2(unnamed_net503); C?.1(unnamed_net481); C?.2(unnamed_net504); C?.1(unnamed_net502); C?.2(unnamed_net505); C?.1(unnamed_net483); C?.2(unnamed_net506); C?.1(unnamed_net504); C?.2(unnamed_net507); C?.1(unnamed_net461); C?.2(unnamed_net508); C?.1(unnamed_net468); C?.2(unnamed_net509); C?.1(unnamed_net501); C?.2(unnamed_net510); C?.1(unnamed_net508); C?.2(unnamed_net511); C?.1(unnamed_net503); C?.2(unnamed_net512); C?.1(unnamed_net510); C?.2(unnamed_net513); C?.1(unnamed_net505); C?.2(unnamed_net514); C?.1(unnamed_net512); C?.2(unnamed_net515); C?.1(unnamed_net485); C?.2(unnamed_net516); C?.1(unnamed_net506); C?.2(unnamed_net517); C?.1(unnamed_net494); C?.2(unnamed_net518); C?.1(unnamed_net516); C?.2(unnamed_net519); C?.1(unnamed_net496); C?.2(unnamed_net520); C?.1(unnamed_net518); C?.2(unnamed_net521); C?.1(unnamed_net498); C?.2(unnamed_net499); C?.1(unnamed_net520); C?.2(unnamed_net522); C?.1(unnamed_net507); C?.2(unnamed_net523); C?.1(unnamed_net514); C?.2(unnamed_net524); C?.1(unnamed_net517); C?.2(unnamed_net525); C?.1(unnamed_net523); C?.2(unnamed_net526); C?.1(unnamed_net519); C?.2(unnamed_net527); C?.1(unnamed_net525); C?.2(unnamed_net528); C?.1(unnamed_net521); C?.2(unnamed_net522); C?.1(unnamed_net527); C?.2(unnamed_net529); C?.1(unnamed_net185); C?.2(unnamed_net530); C?.1(unnamed_net531); C?.2(unnamed_net532); C?.1(unnamed_net186); C?.2(unnamed_net533); C?.1(unnamed_net530); C?.2(unnamed_net534); C?.1(unnamed_net188); C?.2(unnamed_net535); C?.1(unnamed_net533); C?.2(unnamed_net536); C?.1(unnamed_net190); C?.2(unnamed_net537); C?.1(unnamed_net535); C?.2(unnamed_net538); C?.1(unnamed_net531); C?.2(unnamed_net539); C?.1(unnamed_net540); C?.2(unnamed_net541); C?.1(unnamed_net532); C?.2(unnamed_net542); C?.1(unnamed_net539); C?.2(unnamed_net543); C?.1(unnamed_net534); C?.2(unnamed_net544); C?.1(unnamed_net542); C?.2(unnamed_net545); C?.1(unnamed_net536); C?.2(unnamed_net546); C?.1(unnamed_net544); C?.2(unnamed_net547); C?.1(unnamed_net192); C?.2(unnamed_net548); C?.1(unnamed_net537); C?.2(unnamed_net549); C?.1(unnamed_net202); C?.2(unnamed_net550); C?.1(unnamed_net548); C?.2(unnamed_net551); C?.1(unnamed_net204); C?.2(unnamed_net552); C?.1(unnamed_net550); C?.2(unnamed_net553); C?.1(unnamed_net206); C?.2(unnamed_net554); C?.1(unnamed_net552); C?.2(unnamed_net555); C?.1(unnamed_net538); C?.2(unnamed_net556); C?.1(unnamed_net546); C?.2(unnamed_net557); C?.1(unnamed_net549); C?.2(unnamed_net558); C?.1(unnamed_net556); C?.2(unnamed_net559); C?.1(unnamed_net551); C?.2(unnamed_net560); C?.1(unnamed_net558); C?.2(unnamed_net561); C?.1(unnamed_net553); C?.2(unnamed_net562); C?.1(unnamed_net560); C?.2(unnamed_net563); C?.1(unnamed_net540); C?.2(unnamed_net564); C?.1(unnamed_net565); C?.2(unnamed_net566); C?.1(unnamed_net541); C?.2(unnamed_net567); C?.1(unnamed_net564); C?.2(unnamed_net568); C?.1(unnamed_net543); C?.2(unnamed_net569); C?.1(unnamed_net567); C?.2(unnamed_net570); C?.1(unnamed_net545); C?.2(unnamed_net571); C?.1(unnamed_net569); C?.2(unnamed_net572); C?.1(unnamed_net565); C?.2(unnamed_net573); C?.1(unnamed_net574); C?.2(unnamed_net575); C?.1(unnamed_net566); C?.2(unnamed_net576); C?.1(unnamed_net573); C?.2(unnamed_net577); C?.1(unnamed_net568); C?.2(unnamed_net578); C?.1(unnamed_net576); C?.2(unnamed_net579); C?.1(unnamed_net570); C?.2(unnamed_net580); C?.1(unnamed_net578); C?.2(unnamed_net581); C?.1(unnamed_net547); C?.2(unnamed_net582); C?.1(unnamed_net571); C?.2(unnamed_net583); C?.1(unnamed_net557); C?.2(unnamed_net584); C?.1(unnamed_net582); C?.2(unnamed_net585); C?.1(unnamed_net559); C?.2(unnamed_net586); C?.1(unnamed_net584); C?.2(unnamed_net587); C?.1(unnamed_net561); C?.2(unnamed_net588); C?.1(unnamed_net586); C?.2(unnamed_net589); C?.1(unnamed_net572); C?.2(unnamed_net590); C?.1(unnamed_net580); C?.2(unnamed_net591); C?.1(unnamed_net583); C?.2(unnamed_net592); C?.1(unnamed_net590); C?.2(unnamed_net593); C?.1(unnamed_net585); C?.2(unnamed_net594); C?.1(unnamed_net592); C?.2(unnamed_net595); C?.1(unnamed_net587); C?.2(unnamed_net596); C?.1(unnamed_net594); C?.2(unnamed_net597); C?.1(unnamed_net208); C?.2(unnamed_net598); C?.1(unnamed_net554); C?.2(unnamed_net599); C?.1(unnamed_net250); C?.2(unnamed_net600); C?.1(unnamed_net598); C?.2(unnamed_net601); C?.1(unnamed_net252); C?.2(unnamed_net602); C?.1(unnamed_net600); C?.2(unnamed_net603); C?.1(unnamed_net254); C?.2(unnamed_net604); C?.1(unnamed_net602); C?.2(unnamed_net605); C?.1(unnamed_net555); C?.2(unnamed_net606); C?.1(unnamed_net562); C?.2(unnamed_net607); C?.1(unnamed_net599); C?.2(unnamed_net608); C?.1(unnamed_net606); C?.2(unnamed_net609); C?.1(unnamed_net601); C?.2(unnamed_net610); C?.1(unnamed_net608); C?.2(unnamed_net611); C?.1(unnamed_net603); C?.2(unnamed_net612); C?.1(unnamed_net610); C?.2(unnamed_net613); C?.1(unnamed_net256); C?.2(unnamed_net614); C?.1(unnamed_net604); C?.2(unnamed_net615); C?.1(unnamed_net266); C?.2(unnamed_net616); C?.1(unnamed_net614); C?.2(unnamed_net617); C?.1(unnamed_net268); C?.2(unnamed_net618); C?.1(unnamed_net616); C?.2(unnamed_net619); C?.1(unnamed_net270); C?.2(unnamed_net620); C?.1(unnamed_net618); C?.2(unnamed_net621); C?.1(unnamed_net605); C?.2(unnamed_net622); C?.1(unnamed_net612); C?.2(unnamed_net623); C?.1(unnamed_net615); C?.2(unnamed_net624); C?.1(unnamed_net622); C?.2(unnamed_net625); C?.1(unnamed_net617); C?.2(unnamed_net626); C?.1(unnamed_net624); C?.2(unnamed_net627); C?.1(unnamed_net619); C?.2(unnamed_net628); C?.1(unnamed_net626); C?.2(unnamed_net629); C?.1(unnamed_net563); C?.2(unnamed_net630); C?.1(unnamed_net588); C?.2(unnamed_net631); C?.1(unnamed_net607); C?.2(unnamed_net632); C?.1(unnamed_net630); C?.2(unnamed_net633); C?.1(unnamed_net609); C?.2(unnamed_net634); C?.1(unnamed_net632); C?.2(unnamed_net635); C?.1(unnamed_net611); C?.2(unnamed_net636); C?.1(unnamed_net634); C?.2(unnamed_net637); C?.1(unnamed_net589); C?.2(unnamed_net638); C?.1(unnamed_net596); C?.2(unnamed_net639); C?.1(unnamed_net631); C?.2(unnamed_net640); C?.1(unnamed_net638); C?.2(unnamed_net641); C?.1(unnamed_net633); C?.2(unnamed_net642); C?.1(unnamed_net640); C?.2(unnamed_net643); C?.1(unnamed_net635); C?.2(unnamed_net644); C?.1(unnamed_net642); C?.2(unnamed_net645); C?.1(unnamed_net613); C?.2(unnamed_net646); C?.1(unnamed_net636); C?.2(unnamed_net647); C?.1(unnamed_net623); C?.2(unnamed_net648); C?.1(unnamed_net646); C?.2(unnamed_net649); C?.1(unnamed_net625); C?.2(unnamed_net650); C?.1(unnamed_net648); C?.2(unnamed_net651); C?.1(unnamed_net627); C?.2(unnamed_net652); C?.1(unnamed_net650); C?.2(unnamed_net653); C?.1(unnamed_net637); C?.2(unnamed_net654); C?.1(unnamed_net644); C?.2(unnamed_net655); C?.1(unnamed_net647); C?.2(unnamed_net656); C?.1(unnamed_net654); C?.2(unnamed_net657); C?.1(unnamed_net649); C?.2(unnamed_net658); C?.1(unnamed_net656); C?.2(unnamed_net659); C?.1(unnamed_net651); C?.2(unnamed_net660); C?.1(unnamed_net658); C?.2(unnamed_net661); C?.1(unnamed_net574); C?.2(unnamed_net662); C?.1(unnamed_net663); C?.2(unnamed_net664); C?.1(unnamed_net575); C?.2(unnamed_net665); C?.1(unnamed_net662); C?.2(unnamed_net666); C?.1(unnamed_net577); C?.2(unnamed_net667); C?.1(unnamed_net665); C?.2(unnamed_net668); C?.1(unnamed_net579); C?.2(unnamed_net669); C?.1(unnamed_net667); C?.2(unnamed_net670); C?.1(unnamed_net663); C?.2(unnamed_net671); C?.1(unnamed_net672); C?.2(unnamed_net673); C?.1(unnamed_net664); C?.2(unnamed_net674); C?.1(unnamed_net671); C?.2(unnamed_net675); C?.1(unnamed_net666); C?.2(unnamed_net676); C?.1(unnamed_net674); C?.2(unnamed_net677); C?.1(unnamed_net668); C?.2(unnamed_net678); C?.1(unnamed_net676); C?.2(unnamed_net679); C?.1(unnamed_net581); C?.2(unnamed_net680); C?.1(unnamed_net669); C?.2(unnamed_net681); C?.1(unnamed_net591); C?.2(unnamed_net682); C?.1(unnamed_net680); C?.2(unnamed_net683); C?.1(unnamed_net593); C?.2(unnamed_net684); C?.1(unnamed_net682); C?.2(unnamed_net685); C?.1(unnamed_net595); C?.2(unnamed_net686); C?.1(unnamed_net684); C?.2(unnamed_net687); C?.1(unnamed_net670); C?.2(unnamed_net688); C?.1(unnamed_net678); C?.2(unnamed_net689); C?.1(unnamed_net681); C?.2(unnamed_net690); C?.1(unnamed_net688); C?.2(unnamed_net691); C?.1(unnamed_net683); C?.2(unnamed_net692); C?.1(unnamed_net690); C?.2(unnamed_net693); C?.1(unnamed_net685); C?.2(unnamed_net694); C?.1(unnamed_net692); C?.2(unnamed_net695); C?.1(unnamed_net672); C?.2(unnamed_net696); C?.1(unnamed_net697); C?.2(unnamed_net698); C?.1(unnamed_net673); C?.2(unnamed_net699); C?.1(unnamed_net696); C?.2(unnamed_net700); C?.1(unnamed_net675); C?.2(unnamed_net701); C?.1(unnamed_net699); C?.2(unnamed_net702); C?.1(unnamed_net677); C?.2(unnamed_net703); C?.1(unnamed_net701); C?.2(unnamed_net704); C?.1(unnamed_net697); C?.2(unnamed_net705); C?.1(unnamed_net706); C?.2(unnamed_net707); C?.1(unnamed_net698); C?.2(unnamed_net708); C?.1(unnamed_net705); C?.2(unnamed_net707); C?.1(unnamed_net700); C?.2(unnamed_net709); C?.1(unnamed_net708); C?.2(unnamed_net710); C?.1(unnamed_net702); C?.2(unnamed_net711); C?.1(unnamed_net709); C?.2(unnamed_net710); C?.1(unnamed_net679); C?.2(unnamed_net712); C?.1(unnamed_net703); C?.2(unnamed_net713); C?.1(unnamed_net689); C?.2(unnamed_net714); C?.1(unnamed_net712); C?.2(unnamed_net715); C?.1(unnamed_net691); C?.2(unnamed_net716); C?.1(unnamed_net714); C?.2(unnamed_net717); C?.1(unnamed_net693); C?.2(unnamed_net718); C?.1(unnamed_net716); C?.2(unnamed_net719); C?.1(unnamed_net704); C?.2(unnamed_net720); C?.1(unnamed_net711); C?.2(unnamed_net721); C?.1(unnamed_net713); C?.2(unnamed_net722); C?.1(unnamed_net720); C?.2(unnamed_net721); C?.1(unnamed_net715); C?.2(unnamed_net723); C?.1(unnamed_net722); C?.2(unnamed_net724); C?.1(unnamed_net717); C?.2(unnamed_net725); C?.1(unnamed_net723); C?.2(unnamed_net724); C?.1(unnamed_net597); C?.2(unnamed_net726); C?.1(unnamed_net686); C?.2(unnamed_net727); C?.1(unnamed_net639); C?.2(unnamed_net728); C?.1(unnamed_net726); C?.2(unnamed_net729); C?.1(unnamed_net641); C?.2(unnamed_net730); C?.1(unnamed_net728); C?.2(unnamed_net731); C?.1(unnamed_net643); C?.2(unnamed_net732); C?.1(unnamed_net730); C?.2(unnamed_net733); C?.1(unnamed_net687); C?.2(unnamed_net734); C?.1(unnamed_net694); C?.2(unnamed_net735); C?.1(unnamed_net727); C?.2(unnamed_net736); C?.1(unnamed_net734); C?.2(unnamed_net737); C?.1(unnamed_net729); C?.2(unnamed_net738); C?.1(unnamed_net736); C?.2(unnamed_net739); C?.1(unnamed_net731); C?.2(unnamed_net740); C?.1(unnamed_net738); C?.2(unnamed_net741); C?.1(unnamed_net645); C?.2(unnamed_net742); C?.1(unnamed_net732); C?.2(unnamed_net743); C?.1(unnamed_net655); C?.2(unnamed_net744); C?.1(unnamed_net742); C?.2(unnamed_net745); C?.1(unnamed_net657); C?.2(unnamed_net746); C?.1(unnamed_net744); C?.2(unnamed_net747); C?.1(unnamed_net659); C?.2(unnamed_net748); C?.1(unnamed_net746); C?.2(unnamed_net749); C?.1(unnamed_net733); C?.2(unnamed_net750); C?.1(unnamed_net740); C?.2(unnamed_net751); C?.1(unnamed_net743); C?.2(unnamed_net752); C?.1(unnamed_net750); C?.2(unnamed_net753); C?.1(unnamed_net745); C?.2(unnamed_net754); C?.1(unnamed_net752); C?.2(unnamed_net755); C?.1(unnamed_net747); C?.2(unnamed_net756); C?.1(unnamed_net754); C?.2(unnamed_net757); C?.1(unnamed_net695); C?.2(unnamed_net758); C?.1(unnamed_net718); C?.2(unnamed_net759); C?.1(unnamed_net735); C?.2(unnamed_net760); C?.1(unnamed_net758); C?.2(unnamed_net761); C?.1(unnamed_net737); C?.2(unnamed_net762); C?.1(unnamed_net760); C?.2(unnamed_net763); C?.1(unnamed_net739); C?.2(unnamed_net764); C?.1(unnamed_net762); C?.2(unnamed_net765); C?.1(unnamed_net719); C?.2(unnamed_net766); C?.1(unnamed_net725); C?.2(unnamed_net767); C?.1(unnamed_net759); C?.2(unnamed_net768); C?.1(unnamed_net766); C?.2(unnamed_net767); C?.1(unnamed_net761); C?.2(unnamed_net769); C?.1(unnamed_net768); C?.2(unnamed_net770); C?.1(unnamed_net763); C?.2(unnamed_net771); C?.1(unnamed_net769); C?.2(unnamed_net770); C?.1(unnamed_net741); C?.2(unnamed_net772); C?.1(unnamed_net764); C?.2(unnamed_net773); C?.1(unnamed_net751); C?.2(unnamed_net774); C?.1(unnamed_net772); C?.2(unnamed_net775); C?.1(unnamed_net753); C?.2(unnamed_net776); C?.1(unnamed_net774); C?.2(unnamed_net777); C?.1(unnamed_net755); C?.2(unnamed_net778); C?.1(unnamed_net776); C?.2(unnamed_net779); C?.1(unnamed_net765); C?.2(unnamed_net780); C?.1(unnamed_net771); C?.2(unnamed_net781); C?.1(unnamed_net773); C?.2(unnamed_net782); C?.1(unnamed_net780); C?.2(unnamed_net781); C?.1(unnamed_net775); C?.2(unnamed_net783); C?.1(unnamed_net782); C?.2(unnamed_net784); C?.1(unnamed_net777); C?.2(unnamed_net785); C?.1(unnamed_net783); C?.2(unnamed_net784); C?.1(unnamed_net272); C?.2(unnamed_net786); C?.1(unnamed_net620); C?.2(unnamed_net787); C?.1(unnamed_net447); C?.2(unnamed_net788); C?.1(unnamed_net786); C?.2(unnamed_net789); C?.1(unnamed_net449); C?.2(unnamed_net790); C?.1(unnamed_net788); C?.2(unnamed_net791); C?.1(unnamed_net451); C?.2(unnamed_net792); C?.1(unnamed_net790); C?.2(unnamed_net793); C?.1(unnamed_net621); C?.2(unnamed_net794); C?.1(unnamed_net628); C?.2(unnamed_net795); C?.1(unnamed_net787); C?.2(unnamed_net796); C?.1(unnamed_net794); C?.2(unnamed_net797); C?.1(unnamed_net789); C?.2(unnamed_net798); C?.1(unnamed_net796); C?.2(unnamed_net799); C?.1(unnamed_net791); C?.2(unnamed_net800); C?.1(unnamed_net798); C?.2(unnamed_net801); C?.1(unnamed_net453); C?.2(unnamed_net802); C?.1(unnamed_net792); C?.2(unnamed_net803); C?.1(unnamed_net463); C?.2(unnamed_net804); C?.1(unnamed_net802); C?.2(unnamed_net805); C?.1(unnamed_net465); C?.2(unnamed_net806); C?.1(unnamed_net804); C?.2(unnamed_net807); C?.1(unnamed_net467); C?.2(unnamed_net808); C?.1(unnamed_net806); C?.2(unnamed_net809); C?.1(unnamed_net793); C?.2(unnamed_net810); C?.1(unnamed_net800); C?.2(unnamed_net811); C?.1(unnamed_net803); C?.2(unnamed_net812); C?.1(unnamed_net810); C?.2(unnamed_net813); C?.1(unnamed_net805); C?.2(unnamed_net814); C?.1(unnamed_net812); C?.2(unnamed_net815); C?.1(unnamed_net807); C?.2(unnamed_net816); C?.1(unnamed_net814); C?.2(unnamed_net817); C?.1(unnamed_net629); C?.2(unnamed_net818); C?.1(unnamed_net652); C?.2(unnamed_net819); C?.1(unnamed_net795); C?.2(unnamed_net820); C?.1(unnamed_net818); C?.2(unnamed_net821); C?.1(unnamed_net797); C?.2(unnamed_net822); C?.1(unnamed_net820); C?.2(unnamed_net823); C?.1(unnamed_net799); C?.2(unnamed_net824); C?.1(unnamed_net822); C?.2(unnamed_net825); C?.1(unnamed_net653); C?.2(unnamed_net826); C?.1(unnamed_net660); C?.2(unnamed_net827); C?.1(unnamed_net819); C?.2(unnamed_net828); C?.1(unnamed_net826); C?.2(unnamed_net829); C?.1(unnamed_net821); C?.2(unnamed_net830); C?.1(unnamed_net828); C?.2(unnamed_net831); C?.1(unnamed_net823); C?.2(unnamed_net832); C?.1(unnamed_net830); C?.2(unnamed_net833); C?.1(unnamed_net801); C?.2(unnamed_net834); C?.1(unnamed_net824); C?.2(unnamed_net835); C?.1(unnamed_net811); C?.2(unnamed_net836); C?.1(unnamed_net834); C?.2(unnamed_net837); C?.1(unnamed_net813); C?.2(unnamed_net838); C?.1(unnamed_net836); C?.2(unnamed_net839); C?.1(unnamed_net815); C?.2(unnamed_net840); C?.1(unnamed_net838); C?.2(unnamed_net841); C?.1(unnamed_net825); C?.2(unnamed_net842); C?.1(unnamed_net832); C?.2(unnamed_net843); C?.1(unnamed_net835); C?.2(unnamed_net844); C?.1(unnamed_net842); C?.2(unnamed_net845); C?.1(unnamed_net837); C?.2(unnamed_net846); C?.1(unnamed_net844); C?.2(unnamed_net847); C?.1(unnamed_net839); C?.2(unnamed_net848); C?.1(unnamed_net846); C?.2(unnamed_net849); C?.1(unnamed_net469); C?.2(unnamed_net850); C?.1(unnamed_net808); C?.2(unnamed_net851); C?.1(unnamed_net509); C?.2(unnamed_net852); C?.1(unnamed_net850); C?.2(unnamed_net853); C?.1(unnamed_net511); C?.2(unnamed_net854); C?.1(unnamed_net852); C?.2(unnamed_net855); C?.1(unnamed_net513); C?.2(unnamed_net856); C?.1(unnamed_net854); C?.2(unnamed_net857); C?.1(unnamed_net809); C?.2(unnamed_net858); C?.1(unnamed_net816); C?.2(unnamed_net859); C?.1(unnamed_net851); C?.2(unnamed_net860); C?.1(unnamed_net858); C?.2(unnamed_net861); C?.1(unnamed_net853); C?.2(unnamed_net862); C?.1(unnamed_net860); C?.2(unnamed_net863); C?.1(unnamed_net855); C?.2(unnamed_net864); C?.1(unnamed_net862); C?.2(unnamed_net865); C?.1(unnamed_net515); C?.2(unnamed_net866); C?.1(unnamed_net856); C?.2(unnamed_net867); C?.1(unnamed_net524); C?.2(unnamed_net868); C?.1(unnamed_net866); C?.2(unnamed_net869); C?.1(unnamed_net526); C?.2(unnamed_net870); C?.1(unnamed_net868); C?.2(unnamed_net871); C?.1(unnamed_net528); C?.2(unnamed_net529); C?.1(unnamed_net870); C?.2(unnamed_net872); C?.1(unnamed_net857); C?.2(unnamed_net873); C?.1(unnamed_net864); C?.2(unnamed_net874); C?.1(unnamed_net867); C?.2(unnamed_net875); C?.1(unnamed_net873); C?.2(unnamed_net876); C?.1(unnamed_net869); C?.2(unnamed_net877); C?.1(unnamed_net875); C?.2(unnamed_net878); C?.1(unnamed_net871); C?.2(unnamed_net872); C?.1(unnamed_net877); C?.2(unnamed_net879); C?.1(unnamed_net817); C?.2(unnamed_net880); C?.1(unnamed_net840); C?.2(unnamed_net881); C?.1(unnamed_net859); C?.2(unnamed_net882); C?.1(unnamed_net880); C?.2(unnamed_net883); C?.1(unnamed_net861); C?.2(unnamed_net884); C?.1(unnamed_net882); C?.2(unnamed_net885); C?.1(unnamed_net863); C?.2(unnamed_net886); C?.1(unnamed_net884); C?.2(unnamed_net887); C?.1(unnamed_net841); C?.2(unnamed_net888); C?.1(unnamed_net848); C?.2(unnamed_net889); C?.1(unnamed_net881); C?.2(unnamed_net890); C?.1(unnamed_net888); C?.2(unnamed_net891); C?.1(unnamed_net883); C?.2(unnamed_net892); C?.1(unnamed_net890); C?.2(unnamed_net893); C?.1(unnamed_net885); C?.2(unnamed_net894); C?.1(unnamed_net892); C?.2(unnamed_net895); C?.1(unnamed_net865); C?.2(unnamed_net896); C?.1(unnamed_net886); C?.2(unnamed_net897); C?.1(unnamed_net874); C?.2(unnamed_net898); C?.1(unnamed_net896); C?.2(unnamed_net899); C?.1(unnamed_net876); C?.2(unnamed_net900); C?.1(unnamed_net898); C?.2(unnamed_net901); C?.1(unnamed_net878); C?.2(unnamed_net879); C?.1(unnamed_net900); C?.2(unnamed_net902); C?.1(unnamed_net887); C?.2(unnamed_net903); C?.1(unnamed_net894); C?.2(unnamed_net904); C?.1(unnamed_net897); C?.2(unnamed_net905); C?.1(unnamed_net903); C?.2(unnamed_net906); C?.1(unnamed_net899); C?.2(unnamed_net907); C?.1(unnamed_net905); C?.2(unnamed_net908); C?.1(unnamed_net901); C?.2(unnamed_net902); C?.1(unnamed_net907); C?.2(unnamed_net909); C?.1(unnamed_net661); C?.2(unnamed_net910); C?.1(unnamed_net748); C?.2(unnamed_net911); C?.1(unnamed_net827); C?.2(unnamed_net912); C?.1(unnamed_net910); C?.2(unnamed_net913); C?.1(unnamed_net829); C?.2(unnamed_net914); C?.1(unnamed_net912); C?.2(unnamed_net915); C?.1(unnamed_net831); C?.2(unnamed_net916); C?.1(unnamed_net914); C?.2(unnamed_net917); C?.1(unnamed_net749); C?.2(unnamed_net918); C?.1(unnamed_net756); C?.2(unnamed_net919); C?.1(unnamed_net911); C?.2(unnamed_net920); C?.1(unnamed_net918); C?.2(unnamed_net921); C?.1(unnamed_net913); C?.2(unnamed_net922); C?.1(unnamed_net920); C?.2(unnamed_net923); C?.1(unnamed_net915); C?.2(unnamed_net924); C?.1(unnamed_net922); C?.2(unnamed_net925); C?.1(unnamed_net833); C?.2(unnamed_net926); C?.1(unnamed_net916); C?.2(unnamed_net927); C?.1(unnamed_net843); C?.2(unnamed_net928); C?.1(unnamed_net926); C?.2(unnamed_net929); C?.1(unnamed_net845); C?.2(unnamed_net930); C?.1(unnamed_net928); C?.2(unnamed_net931); C?.1(unnamed_net847); C?.2(unnamed_net932); C?.1(unnamed_net930); C?.2(unnamed_net933); C?.1(unnamed_net917); C?.2(unnamed_net934); C?.1(unnamed_net924); C?.2(unnamed_net935); C?.1(unnamed_net927); C?.2(unnamed_net936); C?.1(unnamed_net934); C?.2(unnamed_net937); C?.1(unnamed_net929); C?.2(unnamed_net938); C?.1(unnamed_net936); C?.2(unnamed_net939); C?.1(unnamed_net931); C?.2(unnamed_net940); C?.1(unnamed_net938); C?.2(unnamed_net941); C?.1(unnamed_net757); C?.2(unnamed_net942); C?.1(unnamed_net778); C?.2(unnamed_net943); C?.1(unnamed_net919); C?.2(unnamed_net944); C?.1(unnamed_net942); C?.2(unnamed_net945); C?.1(unnamed_net921); C?.2(unnamed_net946); C?.1(unnamed_net944); C?.2(unnamed_net947); C?.1(unnamed_net923); C?.2(unnamed_net948); C?.1(unnamed_net946); C?.2(unnamed_net949); C?.1(unnamed_net779); C?.2(unnamed_net950); C?.1(unnamed_net785); C?.2(unnamed_net951); C?.1(unnamed_net943); C?.2(unnamed_net952); C?.1(unnamed_net950); C?.2(unnamed_net951); C?.1(unnamed_net945); C?.2(unnamed_net953); C?.1(unnamed_net952); C?.2(unnamed_net954); C?.1(unnamed_net947); C?.2(unnamed_net955); C?.1(unnamed_net953); C?.2(unnamed_net954); C?.1(unnamed_net925); C?.2(unnamed_net956); C?.1(unnamed_net948); C?.2(unnamed_net957); C?.1(unnamed_net935); C?.2(unnamed_net958); C?.1(unnamed_net956); C?.2(unnamed_net959); C?.1(unnamed_net937); C?.2(unnamed_net960); C?.1(unnamed_net958); C?.2(unnamed_net961); C?.1(unnamed_net939); C?.2(unnamed_net962); C?.1(unnamed_net960); C?.2(unnamed_net963); C?.1(unnamed_net949); C?.2(unnamed_net964); C?.1(unnamed_net955); C?.2(unnamed_net965); C?.1(unnamed_net957); C?.2(unnamed_net966); C?.1(unnamed_net964); C?.2(unnamed_net965); C?.1(unnamed_net959); C?.2(unnamed_net967); C?.1(unnamed_net966); C?.2(unnamed_net968); C?.1(unnamed_net961); C?.2(unnamed_net969); C?.1(unnamed_net967); C?.2(unnamed_net968); C?.1(unnamed_net849); C?.2(unnamed_net970); C?.1(unnamed_net932); C?.2(unnamed_net971); C?.1(unnamed_net889); C?.2(unnamed_net972); C?.1(unnamed_net970); C?.2(unnamed_net973); C?.1(unnamed_net891); C?.2(unnamed_net974); C?.1(unnamed_net972); C?.2(unnamed_net975); C?.1(unnamed_net893); C?.2(unnamed_net976); C?.1(unnamed_net974); C?.2(unnamed_net977); C?.1(unnamed_net933); C?.2(unnamed_net978); C?.1(unnamed_net940); C?.2(unnamed_net979); C?.1(unnamed_net971); C?.2(unnamed_net980); C?.1(unnamed_net978); C?.2(unnamed_net981); C?.1(unnamed_net973); C?.2(unnamed_net982); C?.1(unnamed_net980); C?.2(unnamed_net983); C?.1(unnamed_net975); C?.2(unnamed_net984); C?.1(unnamed_net982); C?.2(unnamed_net985); C?.1(unnamed_net895); C?.2(unnamed_net986); C?.1(unnamed_net976); C?.2(unnamed_net987); C?.1(unnamed_net904); C?.2(unnamed_net988); C?.1(unnamed_net986); C?.2(unnamed_net989); C?.1(unnamed_net906); C?.2(unnamed_net990); C?.1(unnamed_net988); C?.2(unnamed_net991); C?.1(unnamed_net908); C?.2(unnamed_net909); C?.1(unnamed_net990); C?.2(unnamed_net992); C?.1(unnamed_net977); C?.2(unnamed_net993); C?.1(unnamed_net984); C?.2(unnamed_net994); C?.1(unnamed_net987); C?.2(unnamed_net995); C?.1(unnamed_net993); C?.2(unnamed_net996); C?.1(unnamed_net989); C?.2(unnamed_net997); C?.1(unnamed_net995); C?.2(unnamed_net998); C?.1(unnamed_net991); C?.2(unnamed_net992); C?.1(unnamed_net997); C?.2(unnamed_net999); C?.1(unnamed_net941); C?.2(unnamed_net1000); C?.1(unnamed_net962); C?.2(unnamed_net1001); C?.1(unnamed_net979); C?.2(unnamed_net1002); C?.1(unnamed_net1000); C?.2(unnamed_net1003); C?.1(unnamed_net981); C?.2(unnamed_net1004); C?.1(unnamed_net1002); C?.2(unnamed_net1005); C?.1(unnamed_net983); C?.2(unnamed_net1006); C?.1(unnamed_net1004); C?.2(unnamed_net1007); C?.1(unnamed_net963); C?.2(unnamed_net1008); C?.1(unnamed_net969); C?.2(unnamed_net1009); C?.1(unnamed_net1001); C?.2(unnamed_net1010); C?.1(unnamed_net1008); C?.2(unnamed_net1009); C?.1(unnamed_net1003); C?.2(unnamed_net1011); C?.1(unnamed_net1010); C?.2(unnamed_net1012); C?.1(unnamed_net1005); C?.2(unnamed_net1013); C?.1(unnamed_net1011); C?.2(unnamed_net1012); C?.1(unnamed_net985); C?.2(unnamed_net1014); C?.1(unnamed_net1006); C?.2(unnamed_net1015); C?.1(unnamed_net994); C?.2(unnamed_net1016); C?.1(unnamed_net1014); C?.2(unnamed_net1017); C?.1(unnamed_net996); C?.2(unnamed_net1018); C?.1(unnamed_net1016); C?.2(unnamed_net1019); C?.1(unnamed_net998); C?.2(unnamed_net999); C?.1(unnamed_net1018); C?.2(unnamed_net1020); C?.1(unnamed_net1007); C?.2(unnamed_net1021); C?.1(unnamed_net1013); C?.2(unnamed_net1022); C?.1(unnamed_net1015); C?.2(unnamed_net1023); C?.1(unnamed_net1021); C?.2(unnamed_net1022); C?.1(unnamed_net1017); C?.2(unnamed_net1024); C?.1(unnamed_net1023); C?.2(unnamed_net1025); C?.1(unnamed_net1019); C?.2(unnamed_net1020); C?.1(unnamed_net1024); C?.2(unnamed_net1025); } }; geda-gaf-1.8.2/gnetlist/tests/common/outputs/systemc/JD_Sort.retcode0000664000175000017500000000000212050461155022437 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/systemc/cascade-output.net0000664000175000017500000000312112050461155023222 00000000000000/* structural SystemC generated by gnetlist */ /* WARNING: This is a generated file, edits */ /* made here will be lost next time */ /* you run gnetlist! */ /* Id ........gnet-systemc.scm (04/09/2003) */ /* Source...../home/geda/gnet-systemc.scm */ /* Revision...0.3 (23/09/2003) */ /* Author.....Jaume Masip */ #include "systemc.h" #include "cascade-amp.h" #include "cascade-transformer.h" #include "cascade-mixer.h" #include "cascade-filter.h" #include "cascade-defaults.h" #include "cascade-amp.h" #include "cascade-source.h" #include "cascade-defaults-top.h" SC_MODULE (not found) { /* Port directions begin here */ /* Wires from the design */ sc_signal<0> unnamed_net6; sc_signal<0> unnamed_net5; sc_signal<0> unnamed_net4; sc_signal<0> unnamed_net3; sc_signal<0> unnamed_net2; sc_signal<0> unnamed_net1; sc_signal<0> GND; /* Package instantiations */ cascade-amp AMP2; cascade-transformer T1; cascade-mixer MX1; cascade-filter FL1; cascade-defaults DEF1; cascade-amp AMP1; cascade-source SOURCE; cascade-defaults-top DEFAULTS; SC_CTOR(not found): AMP2("AMP2"), T1("T1"), MX1("MX1"), FL1("FL1"), DEF1("DEF1"), AMP1("AMP1"), SOURCE("SOURCE"), DEFAULTS("DEFAULTS") { AMP2.1(unnamed_net6); T1.1(unnamed_net5); T1.2(unnamed_net6); MX1.1(unnamed_net4); MX1.2(unnamed_net5); FL1.1(unnamed_net3); FL1.2(unnamed_net4); DEF1.1(unnamed_net2); DEF1.2(unnamed_net3); AMP1.1(unnamed_net1); AMP1.2(unnamed_net2); SOURCE.1(unnamed_net1); DEFAULTS.1(GND); } }; geda-gaf-1.8.2/gnetlist/tests/common/outputs/systemc/multiequal-output.net0000664000175000017500000000147612050461155024034 00000000000000/* structural SystemC generated by gnetlist */ /* WARNING: This is a generated file, edits */ /* made here will be lost next time */ /* you run gnetlist! */ /* Id ........gnet-systemc.scm (04/09/2003) */ /* Source...../home/geda/gnet-systemc.scm */ /* Revision...0.3 (23/09/2003) */ /* Author.....Jaume Masip */ #include "systemc.h" #include "VOLTAGE_SOURCE.h" #include "RESISTOR.h" #include "options.h" SC_MODULE (not found) { /* Port directions begin here */ /* Wires from the design */ sc_signal<0> GND; sc_signal<0> unnamed_net1; /* Package instantiations */ VOLTAGE_SOURCE V1; RESISTOR R1; options A1; SC_CTOR(not found): V1("V1"), R1("R1"), A1("A1") { V1.1(unnamed_net1); V1.2(GND); R1.2(unnamed_net1); R1.1(GND); } }; geda-gaf-1.8.2/gnetlist/tests/common/outputs/systemc/JD_nomunge-output.net0000664000175000017500000000311712050461155023671 00000000000000/* structural SystemC generated by gnetlist */ /* WARNING: This is a generated file, edits */ /* made here will be lost next time */ /* you run gnetlist! */ /* Id ........gnet-systemc.scm (04/09/2003) */ /* Source...../home/geda/gnet-systemc.scm */ /* Revision...0.3 (23/09/2003) */ /* Author.....Jaume Masip */ #include "systemc.h" #include "model.h" #include "CAPACITOR.h" #include "CAPACITOR.h" #include "RESISTOR.h" #include "RESISTOR.h" #include "VOLTAGE_SOURCE.h" #include "vpulse.h" #include "RESISTOR.h" #include "RESISTOR.h" #include "PMOS_TRANSISTOR.h" #include "LVD.h" SC_MODULE (not found) { /* Port directions begin here */ /* Wires from the design */ sc_signal<0> Vdd1; sc_signal<0> GND; sc_signal<0> LVH; sc_signal<0> i; sc_signal<0> p; sc_signal<0> m; /* Package instantiations */ model A1; CAPACITOR Cm; CAPACITOR Cp; RESISTOR Rlp; RESISTOR Rlm; VOLTAGE_SOURCE Vdd; vpulse V1; RESISTOR Rt; RESISTOR Rb; PMOS_TRANSISTOR M1; LVD X1; SC_CTOR(not found): A1("A1"), Cm("Cm"), Cp("Cp"), Rlp("Rlp"), Rlm("Rlm"), Vdd("Vdd"), V1("V1"), Rt("Rt"), Rb("Rb"), M1("M1"), X1("X1") { Cm.1(m); Cm.2(GND); Cp.1(p); Cp.2(GND); Rlp.2(Vdd1); Rlp.1(p); Rlm.2(GND); Rlm.1(m); Vdd.1(Vdd1); Vdd.2(GND); V1.1(i); V1.2(GND); Rt.2(m); Rt.1(p); Rb.2(LVH); Rb.1(GND); M1.S(Vdd1); M1.B(Vdd1); M1.D(LVH); M1.G(LVH); X1.4(m); X1.5(p); X1.1(i); X1.3(LVH); X1.2(GND); X1.6(Vdd1); X1.7(GND); } }; geda-gaf-1.8.2/gnetlist/tests/common/outputs/systemc/stack-torture.retcode0000664000175000017500000000000212063576065023755 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/systemc/powersupply.retcode0000664000175000017500000000000212050461155023544 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/systemc/JD_Sort_nomunge-output.net0000664000175000017500000000311712050461155024700 00000000000000/* structural SystemC generated by gnetlist */ /* WARNING: This is a generated file, edits */ /* made here will be lost next time */ /* you run gnetlist! */ /* Id ........gnet-systemc.scm (04/09/2003) */ /* Source...../home/geda/gnet-systemc.scm */ /* Revision...0.3 (23/09/2003) */ /* Author.....Jaume Masip */ #include "systemc.h" #include "model.h" #include "CAPACITOR.h" #include "CAPACITOR.h" #include "RESISTOR.h" #include "RESISTOR.h" #include "VOLTAGE_SOURCE.h" #include "vpulse.h" #include "RESISTOR.h" #include "RESISTOR.h" #include "PMOS_TRANSISTOR.h" #include "LVD.h" SC_MODULE (not found) { /* Port directions begin here */ /* Wires from the design */ sc_signal<0> Vdd1; sc_signal<0> GND; sc_signal<0> LVH; sc_signal<0> i; sc_signal<0> p; sc_signal<0> m; /* Package instantiations */ model A1; CAPACITOR Cm; CAPACITOR Cp; RESISTOR Rlp; RESISTOR Rlm; VOLTAGE_SOURCE Vdd; vpulse V1; RESISTOR Rt; RESISTOR Rb; PMOS_TRANSISTOR M1; LVD X1; SC_CTOR(not found): A1("A1"), Cm("Cm"), Cp("Cp"), Rlp("Rlp"), Rlm("Rlm"), Vdd("Vdd"), V1("V1"), Rt("Rt"), Rb("Rb"), M1("M1"), X1("X1") { Cm.1(m); Cm.2(GND); Cp.1(p); Cp.2(GND); Rlp.2(Vdd1); Rlp.1(p); Rlm.2(GND); Rlm.1(m); Vdd.1(Vdd1); Vdd.2(GND); V1.1(i); V1.2(GND); Rt.2(m); Rt.1(p); Rb.2(LVH); Rb.1(GND); M1.S(Vdd1); M1.B(Vdd1); M1.D(LVH); M1.G(LVH); X1.4(m); X1.5(p); X1.1(i); X1.3(LVH); X1.2(GND); X1.6(Vdd1); X1.7(GND); } }; geda-gaf-1.8.2/gnetlist/tests/common/outputs/systemc/TwoStageAmp_Sort.retcode0000664000175000017500000000000212050461155024335 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/systemc/netattrib.retcode0000664000175000017500000000000212050461155023127 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/systemc/JD_nomunge.retcode0000664000175000017500000000000212050461155023160 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/systemc/JD_Include-output.net0000664000175000017500000000311712050461155023604 00000000000000/* structural SystemC generated by gnetlist */ /* WARNING: This is a generated file, edits */ /* made here will be lost next time */ /* you run gnetlist! */ /* Id ........gnet-systemc.scm (04/09/2003) */ /* Source...../home/geda/gnet-systemc.scm */ /* Revision...0.3 (23/09/2003) */ /* Author.....Jaume Masip */ #include "systemc.h" #include "model.h" #include "CAPACITOR.h" #include "CAPACITOR.h" #include "RESISTOR.h" #include "RESISTOR.h" #include "VOLTAGE_SOURCE.h" #include "vpulse.h" #include "RESISTOR.h" #include "RESISTOR.h" #include "PMOS_TRANSISTOR.h" #include "LVD.h" SC_MODULE (not found) { /* Port directions begin here */ /* Wires from the design */ sc_signal<0> Vdd1; sc_signal<0> GND; sc_signal<0> LVH; sc_signal<0> i; sc_signal<0> p; sc_signal<0> m; /* Package instantiations */ model A1; CAPACITOR Cm; CAPACITOR Cp; RESISTOR Rlp; RESISTOR Rlm; VOLTAGE_SOURCE Vdd; vpulse V1; RESISTOR Rt; RESISTOR Rb; PMOS_TRANSISTOR M1; LVD X1; SC_CTOR(not found): A1("A1"), Cm("Cm"), Cp("Cp"), Rlp("Rlp"), Rlm("Rlm"), Vdd("Vdd"), V1("V1"), Rt("Rt"), Rb("Rb"), M1("M1"), X1("X1") { Cm.1(m); Cm.2(GND); Cp.1(p); Cp.2(GND); Rlp.2(Vdd1); Rlp.1(p); Rlm.2(GND); Rlm.1(m); Vdd.1(Vdd1); Vdd.2(GND); V1.1(i); V1.2(GND); Rt.2(m); Rt.1(p); Rb.2(LVH); Rb.1(GND); M1.S(Vdd1); M1.B(Vdd1); M1.D(LVH); M1.G(LVH); X1.4(m); X1.5(p); X1.1(i); X1.3(LVH); X1.2(GND); X1.6(Vdd1); X1.7(GND); } }; geda-gaf-1.8.2/gnetlist/tests/common/outputs/systemc/JD_Sort-output.net0000664000175000017500000000311712050461155023150 00000000000000/* structural SystemC generated by gnetlist */ /* WARNING: This is a generated file, edits */ /* made here will be lost next time */ /* you run gnetlist! */ /* Id ........gnet-systemc.scm (04/09/2003) */ /* Source...../home/geda/gnet-systemc.scm */ /* Revision...0.3 (23/09/2003) */ /* Author.....Jaume Masip */ #include "systemc.h" #include "model.h" #include "CAPACITOR.h" #include "CAPACITOR.h" #include "RESISTOR.h" #include "RESISTOR.h" #include "VOLTAGE_SOURCE.h" #include "vpulse.h" #include "RESISTOR.h" #include "RESISTOR.h" #include "PMOS_TRANSISTOR.h" #include "LVD.h" SC_MODULE (not found) { /* Port directions begin here */ /* Wires from the design */ sc_signal<0> Vdd1; sc_signal<0> GND; sc_signal<0> LVH; sc_signal<0> i; sc_signal<0> p; sc_signal<0> m; /* Package instantiations */ model A1; CAPACITOR Cm; CAPACITOR Cp; RESISTOR Rlp; RESISTOR Rlm; VOLTAGE_SOURCE Vdd; vpulse V1; RESISTOR Rt; RESISTOR Rb; PMOS_TRANSISTOR M1; LVD X1; SC_CTOR(not found): A1("A1"), Cm("Cm"), Cp("Cp"), Rlp("Rlp"), Rlm("Rlm"), Vdd("Vdd"), V1("V1"), Rt("Rt"), Rb("Rb"), M1("M1"), X1("X1") { Cm.1(m); Cm.2(GND); Cp.1(p); Cp.2(GND); Rlp.2(Vdd1); Rlp.1(p); Rlm.2(GND); Rlm.1(m); Vdd.1(Vdd1); Vdd.2(GND); V1.1(i); V1.2(GND); Rt.2(m); Rt.1(p); Rb.2(LVH); Rb.1(GND); M1.S(Vdd1); M1.B(Vdd1); M1.D(LVH); M1.G(LVH); X1.4(m); X1.5(p); X1.1(i); X1.3(LVH); X1.2(GND); X1.6(Vdd1); X1.7(GND); } }; geda-gaf-1.8.2/gnetlist/tests/common/outputs/systemc/cascade.retcode0000664000175000017500000000000212050461155022516 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/systemc/TwoStageAmp_Sort-output.net0000664000175000017500000000530512050461155025047 00000000000000/* structural SystemC generated by gnetlist */ /* WARNING: This is a generated file, edits */ /* made here will be lost next time */ /* you run gnetlist! */ /* Id ........gnet-systemc.scm (04/09/2003) */ /* Source...../home/geda/gnet-systemc.scm */ /* Revision...0.3 (23/09/2003) */ /* Author.....Jaume Masip */ #include "systemc.h" #include "CAPACITOR.h" #include "RESISTOR.h" #include "RESISTOR.h" #include "RESISTOR.h" #include "CAPACITOR.h" #include "RESISTOR.h" #include "RESISTOR.h" #include "NPN_TRANSISTOR.h" #include "CAPACITOR.h" #include "directive.h" #include "include.h" #include "model.h" #include "VOLTAGE_SOURCE.h" #include "vsin.h" #include "CAPACITOR.h" #include "CAPACITOR.h" #include "RESISTOR.h" #include "RESISTOR.h" #include "RESISTOR.h" #include "RESISTOR.h" #include "RESISTOR.h" #include "RESISTOR.h" #include "NPN_TRANSISTOR.h" SC_MODULE (not found) { /* Port directions begin here */ /* Wires from the design */ sc_signal<0> unnamed_net2; sc_signal<0> Vbase2; sc_signal<0> Vem2; sc_signal<0> Vout; sc_signal<0> VColl2; sc_signal<0> GND; sc_signal<0> Vcc; sc_signal<0> Vin; sc_signal<0> unnamed_net1; sc_signal<0> Vbase1; sc_signal<0> Vem1; sc_signal<0> Vcoll1; /* Package instantiations */ CAPACITOR C2; RESISTOR R4; RESISTOR R3; RESISTOR R8; CAPACITOR CE2; RESISTOR RE2; RESISTOR RC1; NPN_TRANSISTOR Q2; CAPACITOR C1; directive A3; include A2; model A1; VOLTAGE_SOURCE VCC; vsin Vinput; CAPACITOR CE1; CAPACITOR Cout; RESISTOR RL; RESISTOR RC2; RESISTOR RE1; RESISTOR R2; RESISTOR R1; RESISTOR R5; NPN_TRANSISTOR Q1; SC_CTOR(not found): C2("C2"), R4("R4"), R3("R3"), R8("R8"), CE2("CE2"), RE2("RE2"), RC1("RC1"), Q2("Q2"), C1("C1"), A3("A3"), A2("A2"), A1("A1"), VCC("VCC"), Vinput("Vinput"), CE1("CE1"), Cout("Cout"), RL("RL"), RC2("RC2"), RE1("RE1"), R2("R2"), R1("R1"), R5("R5"), Q1("Q1") { C2.1(unnamed_net2); C2.2(Vbase2); R4.2(Vbase2); R4.1(GND); R3.2(Vcc); R3.1(Vbase2); R8.2(unnamed_net2); R8.1(Vcoll1); CE2.1(GND); CE2.2(Vem2); RE2.2(Vem2); RE2.1(GND); RC1.2(Vcc); RC1.1(Vcoll1); Q2.3(VColl2); Q2.1(Vem2); Q2.2(Vbase2); C1.1(unnamed_net1); C1.2(Vbase1); VCC.1(Vcc); VCC.2(GND); Vinput.1(Vin); Vinput.2(GND); CE1.1(GND); CE1.2(Vem1); Cout.1(VColl2); Cout.2(Vout); RL.2(Vout); RL.1(GND); RC2.2(Vcc); RC2.1(VColl2); RE1.2(Vem1); RE1.1(GND); R2.2(Vbase1); R2.1(GND); R1.2(Vcc); R1.1(Vbase1); R5.2(unnamed_net1); R5.1(Vin); Q1.3(Vcoll1); Q1.1(Vem1); Q1.2(Vbase1); } }; geda-gaf-1.8.2/gnetlist/tests/common/outputs/systemc/singlenet-output.net0000664000175000017500000000166212050461155023637 00000000000000/* structural SystemC generated by gnetlist */ /* WARNING: This is a generated file, edits */ /* made here will be lost next time */ /* you run gnetlist! */ /* Id ........gnet-systemc.scm (04/09/2003) */ /* Source...../home/geda/gnet-systemc.scm */ /* Revision...0.3 (23/09/2003) */ /* Author.....Jaume Masip */ #include "systemc.h" #include "7400.h" SC_MODULE (not found) { /* Port directions begin here */ /* Wires from the design */ sc_signal<0> SING_N_2; sc_signal<0> GND; sc_signal<0> Vcc; sc_signal<0> SING_N; /* Package instantiations */ 7400 U100; SC_CTOR(not found): U100("U100") { U100.6(SING_N); U100.5(SING_N); U100.4(SING_N); U100.14(Vcc); U100.7(GND); U100.3(SING_N_2); U100.1(SING_N_2); U100.14(Vcc); U100.7(GND); U100.8(SING_N); U100.10(SING_N); U100.9(SING_N); U100.14(Vcc); U100.7(GND); } }; geda-gaf-1.8.2/gnetlist/tests/common/outputs/systemc/TwoStageAmp_Include.retcode0000664000175000017500000000000212050461155024771 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/systemc/SlottedOpamps-output.net0000664000175000017500000000236512050461155024446 00000000000000/* structural SystemC generated by gnetlist */ /* WARNING: This is a generated file, edits */ /* made here will be lost next time */ /* you run gnetlist! */ /* Id ........gnet-systemc.scm (04/09/2003) */ /* Source...../home/geda/gnet-systemc.scm */ /* Revision...0.3 (23/09/2003) */ /* Author.....Jaume Masip */ #include "systemc.h" #include "LM324.h" SC_MODULE (not found) { /* Port directions begin here */ /* Wires from the design */ sc_signal<0> minusin_slot4_pin13_b; sc_signal<0> plusin_slot4_pin12_a; sc_signal<0> minusin_slot3_pin_b; sc_signal<0> plusin_slot3_pin10_a; sc_signal<0> minusin_slot2_pin6_b; sc_signal<0> plusin_slot2_pin5_a; sc_signal<0> samenet_output_c; sc_signal<0> minusin_slot1_pin_b; sc_signal<0> plusin_slot1_pin3_a; /* Package instantiations */ LM324 U1; SC_CTOR(not found): U1("U1") { U1.3(plusin_slot1_pin3_a); U1.2(minusin_slot1_pin_b); U1.1(samenet_output_c); U1.5(plusin_slot2_pin5_a); U1.6(minusin_slot2_pin6_b); U1.7(samenet_output_c); U1.10(plusin_slot3_pin10_a); U1.9(minusin_slot3_pin_b); U1.8(samenet_output_c); U1.12(plusin_slot4_pin12_a); U1.13(minusin_slot4_pin13_b); U1.14(samenet_output_c); } }; geda-gaf-1.8.2/gnetlist/tests/common/outputs/systemc/TwoStageAmp_Include-output.net0000664000175000017500000000530512050461155025503 00000000000000/* structural SystemC generated by gnetlist */ /* WARNING: This is a generated file, edits */ /* made here will be lost next time */ /* you run gnetlist! */ /* Id ........gnet-systemc.scm (04/09/2003) */ /* Source...../home/geda/gnet-systemc.scm */ /* Revision...0.3 (23/09/2003) */ /* Author.....Jaume Masip */ #include "systemc.h" #include "CAPACITOR.h" #include "RESISTOR.h" #include "RESISTOR.h" #include "RESISTOR.h" #include "CAPACITOR.h" #include "RESISTOR.h" #include "RESISTOR.h" #include "NPN_TRANSISTOR.h" #include "CAPACITOR.h" #include "directive.h" #include "include.h" #include "model.h" #include "VOLTAGE_SOURCE.h" #include "vsin.h" #include "CAPACITOR.h" #include "CAPACITOR.h" #include "RESISTOR.h" #include "RESISTOR.h" #include "RESISTOR.h" #include "RESISTOR.h" #include "RESISTOR.h" #include "RESISTOR.h" #include "NPN_TRANSISTOR.h" SC_MODULE (not found) { /* Port directions begin here */ /* Wires from the design */ sc_signal<0> unnamed_net2; sc_signal<0> Vbase2; sc_signal<0> Vem2; sc_signal<0> Vout; sc_signal<0> VColl2; sc_signal<0> GND; sc_signal<0> Vcc; sc_signal<0> Vin; sc_signal<0> unnamed_net1; sc_signal<0> Vbase1; sc_signal<0> Vem1; sc_signal<0> Vcoll1; /* Package instantiations */ CAPACITOR C2; RESISTOR R4; RESISTOR R3; RESISTOR R8; CAPACITOR CE2; RESISTOR RE2; RESISTOR RC1; NPN_TRANSISTOR Q2; CAPACITOR C1; directive A3; include A2; model A1; VOLTAGE_SOURCE VCC; vsin Vinput; CAPACITOR CE1; CAPACITOR Cout; RESISTOR RL; RESISTOR RC2; RESISTOR RE1; RESISTOR R2; RESISTOR R1; RESISTOR R5; NPN_TRANSISTOR Q1; SC_CTOR(not found): C2("C2"), R4("R4"), R3("R3"), R8("R8"), CE2("CE2"), RE2("RE2"), RC1("RC1"), Q2("Q2"), C1("C1"), A3("A3"), A2("A2"), A1("A1"), VCC("VCC"), Vinput("Vinput"), CE1("CE1"), Cout("Cout"), RL("RL"), RC2("RC2"), RE1("RE1"), R2("R2"), R1("R1"), R5("R5"), Q1("Q1") { C2.1(unnamed_net2); C2.2(Vbase2); R4.2(Vbase2); R4.1(GND); R3.2(Vcc); R3.1(Vbase2); R8.2(unnamed_net2); R8.1(Vcoll1); CE2.1(GND); CE2.2(Vem2); RE2.2(Vem2); RE2.1(GND); RC1.2(Vcc); RC1.1(Vcoll1); Q2.3(VColl2); Q2.1(Vem2); Q2.2(Vbase2); C1.1(unnamed_net1); C1.2(Vbase1); VCC.1(Vcc); VCC.2(GND); Vinput.1(Vin); Vinput.2(GND); CE1.1(GND); CE1.2(Vem1); Cout.1(VColl2); Cout.2(Vout); RL.2(Vout); RL.1(GND); RC2.2(Vcc); RC2.1(VColl2); RE1.2(Vem1); RE1.1(GND); R2.2(Vbase1); R2.1(GND); R1.2(Vcc); R1.1(Vbase1); R5.2(unnamed_net1); R5.1(Vin); Q1.3(Vcoll1); Q1.1(Vem1); Q1.2(Vbase1); } }; geda-gaf-1.8.2/gnetlist/tests/common/outputs/systemc/singlenet.retcode0000664000175000017500000000000212050461155023123 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/systemc/JD_Include.retcode0000664000175000017500000000000212050461155023073 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/systemc/powersupply-output.net0000664000175000017500000000370212050461155024255 00000000000000/* structural SystemC generated by gnetlist */ /* WARNING: This is a generated file, edits */ /* made here will be lost next time */ /* you run gnetlist! */ /* Id ........gnet-systemc.scm (04/09/2003) */ /* Source...../home/geda/gnet-systemc.scm */ /* Revision...0.3 (23/09/2003) */ /* Author.....Jaume Masip */ #include "systemc.h" #include "LM317.h" #include "POLARIZED_CAPACITOR.h" #include "POLARIZED_CAPACITOR.h" #include "VARIABLE_RESISTOR.h" #include "POLARIZED_CAPACITOR.h" #include "RESISTOR.h" #include "POLARIZED_CAPACITOR.h" #include "SPST.h" #include "MAINS_CONNECTOR.h" #include "transformer.h" #include "FUSE.h" #include "DIODE-BRIDGE.h" SC_MODULE (not found) { /* Port directions begin here */ /* Wires from the design */ sc_signal<0> ten; sc_signal<0> eleven; sc_signal<0> GND; sc_signal<0> one; sc_signal<0> five; sc_signal<0> three; sc_signal<0> two; sc_signal<0> six; sc_signal<0> seven; sc_signal<0> nine; sc_signal<0> eight; /* Package instantiations */ LM317 U2; POLARIZED_CAPACITOR C4; POLARIZED_CAPACITOR C3; VARIABLE_RESISTOR R1; POLARIZED_CAPACITOR C2; RESISTOR R2; POLARIZED_CAPACITOR C1; SPST S1; MAINS_CONNECTOR CONN1; transformer T1; FUSE F1; DIODE-BRIDGE U1; SC_CTOR(not found): U2("U2"), C4("C4"), C3("C3"), R1("R1"), C2("C2"), R2("R2"), C1("C1"), S1("S1"), CONN1("CONN1"), T1("T1"), F1("F1"), U1("U1") { U2.2(eleven); U2.3(eight); U2.1(ten); C4.1(eleven); C4.2(nine); C3.1(ten); C3.2(nine); R1.3(nine); R1.2(ten); R1.1(nine); C2.1(eight); C2.2(nine); R2.2(eleven); R2.1(ten); C1.1(eight); C1.2(nine); S1.2(two); S1.1(one); CONN1.1(one); CONN1.2(five); CONN1.3(GND); T1.2(five); T1.1(three); T1.4(seven); T1.3(six); F1.1(two); F1.2(three); U1.1(eight); U1.2(nine); U1.3(seven); U1.4(six); } }; geda-gaf-1.8.2/gnetlist/tests/common/outputs/systemc/netattrib-output.net0000664000175000017500000000207212050461155023637 00000000000000/* structural SystemC generated by gnetlist */ /* WARNING: This is a generated file, edits */ /* made here will be lost next time */ /* you run gnetlist! */ /* Id ........gnet-systemc.scm (04/09/2003) */ /* Source...../home/geda/gnet-systemc.scm */ /* Revision...0.3 (23/09/2003) */ /* Author.....Jaume Masip */ #include "systemc.h" #include "FUSE.h" #include "7404.h" #include "7404.h" #include "7400.h" SC_MODULE (not found) { /* Port directions begin here */ /* Wires from the design */ sc_signal<0> unnamed_net1; sc_signal<0> netattrib; sc_signal<0> GND; sc_signal<0> Vcc; sc_signal<0> one; /* Package instantiations */ FUSE F1; 7404 U300; 7404 U200; 7400 U100; SC_CTOR(not found): F1("F1"), U300("U300"), U200("U200"), U100("U100") { F1.1(one); U300.1(one); U300.2(unnamed_net1); U300.7(GND); U300.14(Vcc); U200.1(one); U200.2(netattrib); U200.7(GND); U200.14(Vcc); U100.3(one); U100.14(Vcc); U100.7(GND); U100.5(netattrib); } }; geda-gaf-1.8.2/gnetlist/tests/common/outputs/systemc/SlottedOpamps.retcode0000664000175000017500000000000212050461155023731 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/systemc/JD.retcode0000664000175000017500000000000212050461155021430 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/systemc/multiequal.retcode0000664000175000017500000000000212050461155023315 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/systemc/JD_Sort_nomunge.retcode0000664000175000017500000000000212050461155024167 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/systemc/TwoStageAmp-output.net0000664000175000017500000000530512050461155024040 00000000000000/* structural SystemC generated by gnetlist */ /* WARNING: This is a generated file, edits */ /* made here will be lost next time */ /* you run gnetlist! */ /* Id ........gnet-systemc.scm (04/09/2003) */ /* Source...../home/geda/gnet-systemc.scm */ /* Revision...0.3 (23/09/2003) */ /* Author.....Jaume Masip */ #include "systemc.h" #include "CAPACITOR.h" #include "RESISTOR.h" #include "RESISTOR.h" #include "RESISTOR.h" #include "CAPACITOR.h" #include "RESISTOR.h" #include "RESISTOR.h" #include "NPN_TRANSISTOR.h" #include "CAPACITOR.h" #include "directive.h" #include "include.h" #include "model.h" #include "VOLTAGE_SOURCE.h" #include "vsin.h" #include "CAPACITOR.h" #include "CAPACITOR.h" #include "RESISTOR.h" #include "RESISTOR.h" #include "RESISTOR.h" #include "RESISTOR.h" #include "RESISTOR.h" #include "RESISTOR.h" #include "NPN_TRANSISTOR.h" SC_MODULE (not found) { /* Port directions begin here */ /* Wires from the design */ sc_signal<0> unnamed_net2; sc_signal<0> Vbase2; sc_signal<0> Vem2; sc_signal<0> Vout; sc_signal<0> VColl2; sc_signal<0> GND; sc_signal<0> Vcc; sc_signal<0> Vin; sc_signal<0> unnamed_net1; sc_signal<0> Vbase1; sc_signal<0> Vem1; sc_signal<0> Vcoll1; /* Package instantiations */ CAPACITOR C2; RESISTOR R4; RESISTOR R3; RESISTOR R8; CAPACITOR CE2; RESISTOR RE2; RESISTOR RC1; NPN_TRANSISTOR Q2; CAPACITOR C1; directive A3; include A2; model A1; VOLTAGE_SOURCE VCC; vsin Vinput; CAPACITOR CE1; CAPACITOR Cout; RESISTOR RL; RESISTOR RC2; RESISTOR RE1; RESISTOR R2; RESISTOR R1; RESISTOR R5; NPN_TRANSISTOR Q1; SC_CTOR(not found): C2("C2"), R4("R4"), R3("R3"), R8("R8"), CE2("CE2"), RE2("RE2"), RC1("RC1"), Q2("Q2"), C1("C1"), A3("A3"), A2("A2"), A1("A1"), VCC("VCC"), Vinput("Vinput"), CE1("CE1"), Cout("Cout"), RL("RL"), RC2("RC2"), RE1("RE1"), R2("R2"), R1("R1"), R5("R5"), Q1("Q1") { C2.1(unnamed_net2); C2.2(Vbase2); R4.2(Vbase2); R4.1(GND); R3.2(Vcc); R3.1(Vbase2); R8.2(unnamed_net2); R8.1(Vcoll1); CE2.1(GND); CE2.2(Vem2); RE2.2(Vem2); RE2.1(GND); RC1.2(Vcc); RC1.1(Vcoll1); Q2.3(VColl2); Q2.1(Vem2); Q2.2(Vbase2); C1.1(unnamed_net1); C1.2(Vbase1); VCC.1(Vcc); VCC.2(GND); Vinput.1(Vin); Vinput.2(GND); CE1.1(GND); CE1.2(Vem1); Cout.1(VColl2); Cout.2(Vout); RL.2(Vout); RL.1(GND); RC2.2(Vcc); RC2.1(VColl2); RE1.2(Vem1); RE1.1(GND); R2.2(Vbase1); R2.1(GND); R1.2(Vcc); R1.1(Vbase1); R5.2(unnamed_net1); R5.1(Vin); Q1.3(Vcoll1); Q1.1(Vem1); Q1.2(Vbase1); } }; geda-gaf-1.8.2/gnetlist/tests/common/outputs/systemc/JD_Include_nomunge.retcode0000664000175000017500000000000212050461155024623 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist1/0000775000175000017500000000000012220655757020307 500000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist1/JD_Include_nomunge-output.net0000664000175000017500000000060512050461155025752 00000000000000.START ..refdes device value footprint quantity A1 model unknown unknown 1 Cm CAPACITOR 20p unknown 1 Cp CAPACITOR 20p unknown 1 M1 PMOS_TRANSISTOR unknown unknown 1 Rb RESISTOR 5.6k unknown 1 Rlm RESISTOR 500k unknown 1 Rlp RESISTOR 1meg unknown 1 Rt RESISTOR 1k unknown 1 V1 vpulse pulse 3.3 0 1u 10p 10p 1.25u 2.5u none 1 Vdd VOLTAGE_SOURCE DC 3.3V none 1 X1 LVD unknown unknown 1 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist1/JD-output.net0000664000175000017500000000060512050461155022557 00000000000000.START ..refdes device value footprint quantity A1 model unknown unknown 1 Cm CAPACITOR 20p unknown 1 Cp CAPACITOR 20p unknown 1 M1 PMOS_TRANSISTOR unknown unknown 1 Rb RESISTOR 5.6k unknown 1 Rlm RESISTOR 500k unknown 1 Rlp RESISTOR 1meg unknown 1 Rt RESISTOR 1k unknown 1 V1 vpulse pulse 3.3 0 1u 10p 10p 1.25u 2.5u none 1 Vdd VOLTAGE_SOURCE DC 3.3V none 1 X1 LVD unknown unknown 1 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist1/TwoStageAmp.retcode0000664000175000017500000000000212050461155023745 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist1/stack-torture-output.net0000664000175000017500000000012412063576065025100 00000000000000.START ..refdes device value footprint quantity C? CAPACITOR unknown unknown 1 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist1/JD_Sort.retcode0000664000175000017500000000000212050461155023056 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist1/cascade-output.net0000664000175000017500000000053012050461155023642 00000000000000.START ..refdes device value footprint quantity AMP1 cascade-amp unknown none 1 AMP2 cascade-amp unknown none 1 DEF1 cascade-defaults unknown none 1 DEFAULTS cascade-defaults-top unknown unknown 1 FL1 cascade-filter unknown none 1 MX1 cascade-mixer unknown none 1 SOURCE cascade-source unknown none 1 T1 cascade-transformer unknown none 1 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist1/multiequal-output.net0000664000175000017500000000021712050461155024443 00000000000000.START ..refdes device value footprint quantity A1 options abotol=1e-11 unknown 1 R1 RESISTOR 20 unknown 1 V1 VOLTAGE_SOURCE DC 1V none 1 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist1/JD_nomunge-output.net0000664000175000017500000000060512050461155024307 00000000000000.START ..refdes device value footprint quantity A1 model unknown unknown 1 Cm CAPACITOR 20p unknown 1 Cp CAPACITOR 20p unknown 1 M1 PMOS_TRANSISTOR unknown unknown 1 Rb RESISTOR 5.6k unknown 1 Rlm RESISTOR 500k unknown 1 Rlp RESISTOR 1meg unknown 1 Rt RESISTOR 1k unknown 1 V1 vpulse pulse 3.3 0 1u 10p 10p 1.25u 2.5u none 1 Vdd VOLTAGE_SOURCE DC 3.3V none 1 X1 LVD unknown unknown 1 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist1/stack-torture.retcode0000664000175000017500000000000212063576065024374 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist1/powersupply.retcode0000664000175000017500000000000212050461155024163 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist1/JD_Sort_nomunge-output.net0000664000175000017500000000060512050461155025316 00000000000000.START ..refdes device value footprint quantity A1 model unknown unknown 1 Cm CAPACITOR 20p unknown 1 Cp CAPACITOR 20p unknown 1 M1 PMOS_TRANSISTOR unknown unknown 1 Rb RESISTOR 5.6k unknown 1 Rlm RESISTOR 500k unknown 1 Rlp RESISTOR 1meg unknown 1 Rt RESISTOR 1k unknown 1 V1 vpulse pulse 3.3 0 1u 10p 10p 1.25u 2.5u none 1 Vdd VOLTAGE_SOURCE DC 3.3V none 1 X1 LVD unknown unknown 1 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist1/TwoStageAmp_Sort.retcode0000664000175000017500000000000212050461155024754 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist1/netattrib.retcode0000664000175000017500000000000212050461155023546 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist1/JD_nomunge.retcode0000664000175000017500000000000212050461155023577 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist1/JD_Include-output.net0000664000175000017500000000060512050461155024222 00000000000000.START ..refdes device value footprint quantity A1 model unknown unknown 1 Cm CAPACITOR 20p unknown 1 Cp CAPACITOR 20p unknown 1 M1 PMOS_TRANSISTOR unknown unknown 1 Rb RESISTOR 5.6k unknown 1 Rlm RESISTOR 500k unknown 1 Rlp RESISTOR 1meg unknown 1 Rt RESISTOR 1k unknown 1 V1 vpulse pulse 3.3 0 1u 10p 10p 1.25u 2.5u none 1 Vdd VOLTAGE_SOURCE DC 3.3V none 1 X1 LVD unknown unknown 1 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist1/JD_Sort-output.net0000664000175000017500000000060512050461155023566 00000000000000.START ..refdes device value footprint quantity A1 model unknown unknown 1 Cm CAPACITOR 20p unknown 1 Cp CAPACITOR 20p unknown 1 M1 PMOS_TRANSISTOR unknown unknown 1 Rb RESISTOR 5.6k unknown 1 Rlm RESISTOR 500k unknown 1 Rlp RESISTOR 1meg unknown 1 Rt RESISTOR 1k unknown 1 V1 vpulse pulse 3.3 0 1u 10p 10p 1.25u 2.5u none 1 Vdd VOLTAGE_SOURCE DC 3.3V none 1 X1 LVD unknown unknown 1 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist1/cascade.retcode0000664000175000017500000000000212050461155023135 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist1/TwoStageAmp_Sort-output.net0000664000175000017500000000130512050461155025462 00000000000000.START ..refdes device value footprint quantity A1 model unknown unknown 1 A3 directive .options TEMP=25 unknown 1 C1 CAPACITOR 2.2uF unknown 1 C2 CAPACITOR 2.2uF unknown 1 CE1 CAPACITOR 1pF unknown 1 CE2 CAPACITOR 1pF unknown 1 Cout CAPACITOR 2.2uF unknown 1 Q1 NPN_TRANSISTOR unknown unknown 1 Q2 NPN_TRANSISTOR unknown unknown 1 R1 RESISTOR 28K unknown 1 R2 RESISTOR 2K unknown 1 R3 RESISTOR 28K unknown 1 R4 RESISTOR 2.8K unknown 1 R5 RESISTOR 10 unknown 1 R8 RESISTOR 1 unknown 1 RC1 RESISTOR 3.3K unknown 1 RC2 RESISTOR 1K unknown 1 RE1 RESISTOR 100 unknown 1 RE2 RESISTOR 100 unknown 1 RL RESISTOR 100K unknown 1 VCC VOLTAGE_SOURCE DC 15V none 1 Vinput vsin DC 1.6V AC 10MV SIN(0 1MV 1KHZ) none 1 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist1/singlenet-output.net0000664000175000017500000000011712050461155024250 00000000000000.START ..refdes device value footprint quantity U100 7400 unknown DIP14 1 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist1/TwoStageAmp_Include.retcode0000664000175000017500000000000212050461155025410 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist1/SlottedOpamps-output.net0000664000175000017500000000012012050461155025050 00000000000000.START ..refdes device value footprint quantity U1 LM324 unknown unknown 1 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist1/TwoStageAmp_Include-output.net0000664000175000017500000000130512050461155026116 00000000000000.START ..refdes device value footprint quantity A1 model unknown unknown 1 A3 directive .options TEMP=25 unknown 1 C1 CAPACITOR 2.2uF unknown 1 C2 CAPACITOR 2.2uF unknown 1 CE1 CAPACITOR 1pF unknown 1 CE2 CAPACITOR 1pF unknown 1 Cout CAPACITOR 2.2uF unknown 1 Q1 NPN_TRANSISTOR unknown unknown 1 Q2 NPN_TRANSISTOR unknown unknown 1 R1 RESISTOR 28K unknown 1 R2 RESISTOR 2K unknown 1 R3 RESISTOR 28K unknown 1 R4 RESISTOR 2.8K unknown 1 R5 RESISTOR 10 unknown 1 R8 RESISTOR 1 unknown 1 RC1 RESISTOR 3.3K unknown 1 RC2 RESISTOR 1K unknown 1 RE1 RESISTOR 100 unknown 1 RE2 RESISTOR 100 unknown 1 RL RESISTOR 100K unknown 1 VCC VOLTAGE_SOURCE DC 15V none 1 Vinput vsin DC 1.6V AC 10MV SIN(0 1MV 1KHZ) none 1 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist1/singlenet.retcode0000664000175000017500000000000212050461155023542 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist1/JD_Include.retcode0000664000175000017500000000000212050461155023512 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist1/powersupply-output.net0000664000175000017500000000070512050461155024674 00000000000000.START ..refdes device value footprint quantity C1 POLARIZED_CAPACITOR 2200uF unknown 1 C2 POLARIZED_CAPACITOR 0.1uF unknown 1 C3 POLARIZED_CAPACITOR 22uF unknown 1 C4 POLARIZED_CAPACITOR 1uf unknown 1 CONN1 MAINS_CONNECTOR unknown unknown 1 F1 FUSE unknown unknown 1 R1 VARIABLE_RESISTOR 5k unknown 1 R2 RESISTOR 220 unknown 1 S1 SPST unknown unknown 1 T1 transformer unknown unknown 1 U1 DIODE-BRIDGE unknown unknown 1 U2 LM317 unknown unknown 1 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist1/netattrib-output.net0000664000175000017500000000023512050461155024255 00000000000000.START ..refdes device value footprint quantity F1 FUSE unknown unknown 1 U100 7400 unknown DIP14 1 U200 7404 unknown DIP14 1 U300 7404 unknown DIP14 1 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist1/SlottedOpamps.retcode0000664000175000017500000000000212050461155024350 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist1/JD.retcode0000664000175000017500000000000212050461155022047 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist1/multiequal.retcode0000664000175000017500000000000212050461155023734 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist1/JD_Sort_nomunge.retcode0000664000175000017500000000000212050461155024606 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist1/TwoStageAmp-output.net0000664000175000017500000000130512050461155024453 00000000000000.START ..refdes device value footprint quantity A1 model unknown unknown 1 A3 directive .options TEMP=25 unknown 1 C1 CAPACITOR 2.2uF unknown 1 C2 CAPACITOR 2.2uF unknown 1 CE1 CAPACITOR 1pF unknown 1 CE2 CAPACITOR 1pF unknown 1 Cout CAPACITOR 2.2uF unknown 1 Q1 NPN_TRANSISTOR unknown unknown 1 Q2 NPN_TRANSISTOR unknown unknown 1 R1 RESISTOR 28K unknown 1 R2 RESISTOR 2K unknown 1 R3 RESISTOR 28K unknown 1 R4 RESISTOR 2.8K unknown 1 R5 RESISTOR 10 unknown 1 R8 RESISTOR 1 unknown 1 RC1 RESISTOR 3.3K unknown 1 RC2 RESISTOR 1K unknown 1 RE1 RESISTOR 100 unknown 1 RE2 RESISTOR 100 unknown 1 RL RESISTOR 100K unknown 1 VCC VOLTAGE_SOURCE DC 15V none 1 Vinput vsin DC 1.6V AC 10MV SIN(0 1MV 1KHZ) none 1 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist1/JD_Include_nomunge.retcode0000664000175000017500000000000212050461155025242 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/cascade/0000775000175000017500000000000012220655756017563 500000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/cascade/JD_Include_nomunge-output.net0000664000175000017500000000013712050461155025227 00000000000000# Cascade (http://rfcascade.sourceforge.net) # Created with gEDA/gnetlist # Source definition geda-gaf-1.8.2/gnetlist/tests/common/outputs/cascade/JD-output.net0000664000175000017500000000013712050461155022034 00000000000000# Cascade (http://rfcascade.sourceforge.net) # Created with gEDA/gnetlist # Source definition geda-gaf-1.8.2/gnetlist/tests/common/outputs/cascade/TwoStageAmp.retcode0000664000175000017500000000000212050461155023222 000000000000001 geda-gaf-1.8.2/gnetlist/tests/common/outputs/cascade/stack-torture-output.net0000664000175000017500000000013712063576065024361 00000000000000# Cascade (http://rfcascade.sourceforge.net) # Created with gEDA/gnetlist # Source definition geda-gaf-1.8.2/gnetlist/tests/common/outputs/cascade/JD_Sort.retcode0000664000175000017500000000000212050461155022333 000000000000001 geda-gaf-1.8.2/gnetlist/tests/common/outputs/cascade/cascade-output.net0000664000175000017500000000060712050461155023124 00000000000000# Cascade (http://rfcascade.sourceforge.net) # Created with gEDA/gnetlist # Initial global defaults defaults RIN=50 ROUT=50 RHO=0 # Source definition source C=0 CN=70 BW=1 # Cascaded system AMP1 G=12 NF=5 IIP3=-2 defaults RIN=50 ROUT=50 RHO=0.2 FL1 G=-5.5 NF=5.5 MX1 G=12 NF=15 IIP3=5 T1 G=0 NF=0 RIN=50 ROUT=50 AMP2 G=10 NF=12 IIP3=12 # End of netlist created by gEDA/gnetlist geda-gaf-1.8.2/gnetlist/tests/common/outputs/cascade/multiequal-output.net0000664000175000017500000000013712050461155023721 00000000000000# Cascade (http://rfcascade.sourceforge.net) # Created with gEDA/gnetlist # Source definition geda-gaf-1.8.2/gnetlist/tests/common/outputs/cascade/JD_nomunge-output.net0000664000175000017500000000013712050461155023564 00000000000000# Cascade (http://rfcascade.sourceforge.net) # Created with gEDA/gnetlist # Source definition geda-gaf-1.8.2/gnetlist/tests/common/outputs/cascade/stack-torture.retcode0000664000175000017500000000000212063576065023651 000000000000001 geda-gaf-1.8.2/gnetlist/tests/common/outputs/cascade/powersupply.retcode0000664000175000017500000000000212050461155023440 000000000000001 geda-gaf-1.8.2/gnetlist/tests/common/outputs/cascade/JD_Sort_nomunge-output.net0000664000175000017500000000013712050461155024573 00000000000000# Cascade (http://rfcascade.sourceforge.net) # Created with gEDA/gnetlist # Source definition geda-gaf-1.8.2/gnetlist/tests/common/outputs/cascade/TwoStageAmp_Sort.retcode0000664000175000017500000000000212050461155024231 000000000000001 geda-gaf-1.8.2/gnetlist/tests/common/outputs/cascade/netattrib.retcode0000664000175000017500000000000212050461155023023 000000000000001 geda-gaf-1.8.2/gnetlist/tests/common/outputs/cascade/JD_nomunge.retcode0000664000175000017500000000000212050461155023054 000000000000001 geda-gaf-1.8.2/gnetlist/tests/common/outputs/cascade/JD_Include-output.net0000664000175000017500000000013712050461155023477 00000000000000# Cascade (http://rfcascade.sourceforge.net) # Created with gEDA/gnetlist # Source definition geda-gaf-1.8.2/gnetlist/tests/common/outputs/cascade/JD_Sort-output.net0000664000175000017500000000013712050461155023043 00000000000000# Cascade (http://rfcascade.sourceforge.net) # Created with gEDA/gnetlist # Source definition geda-gaf-1.8.2/gnetlist/tests/common/outputs/cascade/cascade.retcode0000664000175000017500000000000212050461155022412 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/cascade/TwoStageAmp_Sort-output.net0000664000175000017500000000013712050461155024741 00000000000000# Cascade (http://rfcascade.sourceforge.net) # Created with gEDA/gnetlist # Source definition geda-gaf-1.8.2/gnetlist/tests/common/outputs/cascade/singlenet-output.net0000664000175000017500000000013712050461155023527 00000000000000# Cascade (http://rfcascade.sourceforge.net) # Created with gEDA/gnetlist # Source definition geda-gaf-1.8.2/gnetlist/tests/common/outputs/cascade/TwoStageAmp_Include.retcode0000664000175000017500000000000212050461155024665 000000000000001 geda-gaf-1.8.2/gnetlist/tests/common/outputs/cascade/SlottedOpamps-output.net0000664000175000017500000000013712050461155024335 00000000000000# Cascade (http://rfcascade.sourceforge.net) # Created with gEDA/gnetlist # Source definition geda-gaf-1.8.2/gnetlist/tests/common/outputs/cascade/TwoStageAmp_Include-output.net0000664000175000017500000000013712050461155025375 00000000000000# Cascade (http://rfcascade.sourceforge.net) # Created with gEDA/gnetlist # Source definition geda-gaf-1.8.2/gnetlist/tests/common/outputs/cascade/singlenet.retcode0000664000175000017500000000000212050461155023017 000000000000001 geda-gaf-1.8.2/gnetlist/tests/common/outputs/cascade/JD_Include.retcode0000664000175000017500000000000212050461155022767 000000000000001 geda-gaf-1.8.2/gnetlist/tests/common/outputs/cascade/powersupply-output.net0000664000175000017500000000013712050461155024150 00000000000000# Cascade (http://rfcascade.sourceforge.net) # Created with gEDA/gnetlist # Source definition geda-gaf-1.8.2/gnetlist/tests/common/outputs/cascade/netattrib-output.net0000664000175000017500000000013712050461155023533 00000000000000# Cascade (http://rfcascade.sourceforge.net) # Created with gEDA/gnetlist # Source definition geda-gaf-1.8.2/gnetlist/tests/common/outputs/cascade/SlottedOpamps.retcode0000664000175000017500000000000212050461155023625 000000000000001 geda-gaf-1.8.2/gnetlist/tests/common/outputs/cascade/JD.retcode0000664000175000017500000000000212050461155021324 000000000000001 geda-gaf-1.8.2/gnetlist/tests/common/outputs/cascade/multiequal.retcode0000664000175000017500000000000212050461155023211 000000000000001 geda-gaf-1.8.2/gnetlist/tests/common/outputs/cascade/JD_Sort_nomunge.retcode0000664000175000017500000000000212050461155024063 000000000000001 geda-gaf-1.8.2/gnetlist/tests/common/outputs/cascade/TwoStageAmp-output.net0000664000175000017500000000013712050461155023732 00000000000000# Cascade (http://rfcascade.sourceforge.net) # Created with gEDA/gnetlist # Source definition geda-gaf-1.8.2/gnetlist/tests/common/outputs/cascade/JD_Include_nomunge.retcode0000664000175000017500000000000212050461155024517 000000000000001 geda-gaf-1.8.2/gnetlist/tests/common/outputs/geda/0000775000175000017500000000000012220655757017101 500000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/geda/JD_Include_nomunge-output.net0000664000175000017500000000113712050461155024545 00000000000000START header gEDA's netlist format Created specifically for testing of gnetlist END header START components A1 device=model Cm device=CAPACITOR Cp device=CAPACITOR Rlp device=RESISTOR Rlm device=RESISTOR Vdd device=VOLTAGE_SOURCE V1 device=vpulse Rt device=RESISTOR Rb device=RESISTOR M1 device=PMOS_TRANSISTOR X1 device=LVD END components START renamed-nets END renamed-nets START nets Vdd1 : Rlp 2, M1 B, M1 S, Vdd 1, X1 6 GND : Cm 2, Cp 2, Rlm 2, Vdd 2, V1 2, Rb 1, X1 7, X1 2 LVH : Rb 2, M1 D, M1 G, X1 3 i : V1 1, X1 1 p : Cp 1, Rt 1, Rlp 1, X1 5 m : Cm 1, Rlm 1, Rt 2, X1 4 END nets geda-gaf-1.8.2/gnetlist/tests/common/outputs/geda/JD-output.net0000664000175000017500000000113712050461155021352 00000000000000START header gEDA's netlist format Created specifically for testing of gnetlist END header START components A1 device=model Cm device=CAPACITOR Cp device=CAPACITOR Rlp device=RESISTOR Rlm device=RESISTOR Vdd device=VOLTAGE_SOURCE V1 device=vpulse Rt device=RESISTOR Rb device=RESISTOR M1 device=PMOS_TRANSISTOR X1 device=LVD END components START renamed-nets END renamed-nets START nets Vdd1 : Rlp 2, M1 B, M1 S, Vdd 1, X1 6 GND : Cm 2, Cp 2, Rlm 2, Vdd 2, V1 2, Rb 1, X1 7, X1 2 LVH : Rb 2, M1 D, M1 G, X1 3 i : V1 1, X1 1 p : Cp 1, Rt 1, Rlp 1, X1 5 m : Cm 1, Rlm 1, Rt 2, X1 4 END nets geda-gaf-1.8.2/gnetlist/tests/common/outputs/geda/TwoStageAmp.retcode0000664000175000017500000000000212050461155022537 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/geda/stack-torture-output.net0000664000175000017500000007143612063576065023710 00000000000000START header gEDA's netlist format Created specifically for testing of gnetlist END header START components C? device=CAPACITOR END components START renamed-nets END renamed-nets START nets unnamed_net1025 : C? 2 unnamed_net1024 : C? 1, C? 2 unnamed_net1023 : C? 1, C? 2 unnamed_net1022 : C? 2 unnamed_net1021 : C? 1, C? 2 unnamed_net1020 : C? 2 unnamed_net1019 : C? 1, C? 2 unnamed_net1018 : C? 1, C? 2 unnamed_net1017 : C? 1, C? 2 unnamed_net1016 : C? 1, C? 2 unnamed_net1015 : C? 1, C? 2 unnamed_net1014 : C? 1, C? 2 unnamed_net1013 : C? 1, C? 2 unnamed_net1012 : C? 2 unnamed_net1011 : C? 1, C? 2 unnamed_net1010 : C? 1, C? 2 unnamed_net1009 : C? 2 unnamed_net1008 : C? 1, C? 2 unnamed_net1007 : C? 1, C? 2 unnamed_net1006 : C? 1, C? 2 unnamed_net1005 : C? 1, C? 2 unnamed_net1004 : C? 1, C? 2 unnamed_net1003 : C? 1, C? 2 unnamed_net1002 : C? 1, C? 2 unnamed_net1001 : C? 1, C? 2 unnamed_net1000 : C? 1, C? 2 unnamed_net999 : C? 2 unnamed_net998 : C? 1, C? 2 unnamed_net997 : C? 1, C? 2 unnamed_net996 : C? 1, C? 2 unnamed_net995 : C? 1, C? 2 unnamed_net994 : C? 1, C? 2 unnamed_net993 : C? 1, C? 2 unnamed_net992 : C? 2 unnamed_net991 : C? 1, C? 2 unnamed_net990 : C? 1, C? 2 unnamed_net989 : C? 1, C? 2 unnamed_net988 : C? 1, C? 2 unnamed_net987 : C? 1, C? 2 unnamed_net986 : C? 1, C? 2 unnamed_net985 : C? 1, C? 2 unnamed_net984 : C? 1, C? 2 unnamed_net983 : C? 1, C? 2 unnamed_net982 : C? 1, C? 2 unnamed_net981 : C? 1, C? 2 unnamed_net980 : C? 1, C? 2 unnamed_net979 : C? 1, C? 2 unnamed_net978 : C? 1, C? 2 unnamed_net977 : C? 1, C? 2 unnamed_net976 : C? 1, C? 2 unnamed_net975 : C? 1, C? 2 unnamed_net974 : C? 1, C? 2 unnamed_net973 : C? 1, C? 2 unnamed_net972 : C? 1, C? 2 unnamed_net971 : C? 1, C? 2 unnamed_net970 : C? 1, C? 2 unnamed_net969 : C? 1, C? 2 unnamed_net968 : C? 2 unnamed_net967 : C? 1, C? 2 unnamed_net966 : C? 1, C? 2 unnamed_net965 : C? 2 unnamed_net964 : C? 1, C? 2 unnamed_net963 : C? 1, C? 2 unnamed_net962 : C? 1, C? 2 unnamed_net961 : C? 1, C? 2 unnamed_net960 : C? 1, C? 2 unnamed_net959 : C? 1, C? 2 unnamed_net958 : C? 1, C? 2 unnamed_net957 : C? 1, C? 2 unnamed_net956 : C? 1, C? 2 unnamed_net955 : C? 1, C? 2 unnamed_net954 : C? 2 unnamed_net953 : C? 1, C? 2 unnamed_net952 : C? 1, C? 2 unnamed_net951 : C? 2 unnamed_net950 : C? 1, C? 2 unnamed_net949 : C? 1, C? 2 unnamed_net948 : C? 1, C? 2 unnamed_net947 : C? 1, C? 2 unnamed_net946 : C? 1, C? 2 unnamed_net945 : C? 1, C? 2 unnamed_net944 : C? 1, C? 2 unnamed_net943 : C? 1, C? 2 unnamed_net942 : C? 1, C? 2 unnamed_net941 : C? 1, C? 2 unnamed_net940 : C? 1, C? 2 unnamed_net939 : C? 1, C? 2 unnamed_net938 : C? 1, C? 2 unnamed_net937 : C? 1, C? 2 unnamed_net936 : C? 1, C? 2 unnamed_net935 : C? 1, C? 2 unnamed_net934 : C? 1, C? 2 unnamed_net933 : C? 1, C? 2 unnamed_net932 : C? 1, C? 2 unnamed_net931 : C? 1, C? 2 unnamed_net930 : C? 1, C? 2 unnamed_net929 : C? 1, C? 2 unnamed_net928 : C? 1, C? 2 unnamed_net927 : C? 1, C? 2 unnamed_net926 : C? 1, C? 2 unnamed_net925 : C? 1, C? 2 unnamed_net924 : C? 1, C? 2 unnamed_net923 : C? 1, C? 2 unnamed_net922 : C? 1, C? 2 unnamed_net921 : C? 1, C? 2 unnamed_net920 : C? 1, C? 2 unnamed_net919 : C? 1, C? 2 unnamed_net918 : C? 1, C? 2 unnamed_net917 : C? 1, C? 2 unnamed_net916 : C? 1, C? 2 unnamed_net915 : C? 1, C? 2 unnamed_net914 : C? 1, C? 2 unnamed_net913 : C? 1, C? 2 unnamed_net912 : C? 1, C? 2 unnamed_net911 : C? 1, C? 2 unnamed_net910 : C? 1, C? 2 unnamed_net909 : C? 2 unnamed_net908 : C? 1, C? 2 unnamed_net907 : C? 1, C? 2 unnamed_net906 : C? 1, C? 2 unnamed_net905 : C? 1, C? 2 unnamed_net904 : C? 1, C? 2 unnamed_net903 : C? 1, C? 2 unnamed_net902 : C? 2 unnamed_net901 : C? 1, C? 2 unnamed_net900 : C? 1, C? 2 unnamed_net899 : C? 1, C? 2 unnamed_net898 : C? 1, C? 2 unnamed_net897 : C? 1, C? 2 unnamed_net896 : C? 1, C? 2 unnamed_net895 : C? 1, C? 2 unnamed_net894 : C? 1, C? 2 unnamed_net893 : C? 1, C? 2 unnamed_net892 : C? 1, C? 2 unnamed_net891 : C? 1, C? 2 unnamed_net890 : C? 1, C? 2 unnamed_net889 : C? 1, C? 2 unnamed_net888 : C? 1, C? 2 unnamed_net887 : C? 1, C? 2 unnamed_net886 : C? 1, C? 2 unnamed_net885 : C? 1, C? 2 unnamed_net884 : C? 1, C? 2 unnamed_net883 : C? 1, C? 2 unnamed_net882 : C? 1, C? 2 unnamed_net881 : C? 1, C? 2 unnamed_net880 : C? 1, C? 2 unnamed_net879 : C? 2 unnamed_net878 : C? 1, C? 2 unnamed_net877 : C? 1, C? 2 unnamed_net876 : C? 1, C? 2 unnamed_net875 : C? 1, C? 2 unnamed_net874 : C? 1, C? 2 unnamed_net873 : C? 1, C? 2 unnamed_net872 : C? 2 unnamed_net871 : C? 1, C? 2 unnamed_net870 : C? 1, C? 2 unnamed_net869 : C? 1, C? 2 unnamed_net868 : C? 1, C? 2 unnamed_net867 : C? 1, C? 2 unnamed_net866 : C? 1, C? 2 unnamed_net865 : C? 1, C? 2 unnamed_net864 : C? 1, C? 2 unnamed_net863 : C? 1, C? 2 unnamed_net862 : C? 1, C? 2 unnamed_net861 : C? 1, C? 2 unnamed_net860 : C? 1, C? 2 unnamed_net859 : C? 1, C? 2 unnamed_net858 : C? 1, C? 2 unnamed_net857 : C? 1, C? 2 unnamed_net856 : C? 1, C? 2 unnamed_net855 : C? 1, C? 2 unnamed_net854 : C? 1, C? 2 unnamed_net853 : C? 1, C? 2 unnamed_net852 : C? 1, C? 2 unnamed_net851 : C? 1, C? 2 unnamed_net850 : C? 1, C? 2 unnamed_net849 : C? 1, C? 2 unnamed_net848 : C? 1, C? 2 unnamed_net847 : C? 1, C? 2 unnamed_net846 : C? 1, C? 2 unnamed_net845 : C? 1, C? 2 unnamed_net844 : C? 1, C? 2 unnamed_net843 : C? 1, C? 2 unnamed_net842 : C? 1, C? 2 unnamed_net841 : C? 1, C? 2 unnamed_net840 : C? 1, C? 2 unnamed_net839 : C? 1, C? 2 unnamed_net838 : C? 1, C? 2 unnamed_net837 : C? 1, C? 2 unnamed_net836 : C? 1, C? 2 unnamed_net835 : C? 1, C? 2 unnamed_net834 : C? 1, C? 2 unnamed_net833 : C? 1, C? 2 unnamed_net832 : C? 1, C? 2 unnamed_net831 : C? 1, C? 2 unnamed_net830 : C? 1, C? 2 unnamed_net829 : C? 1, C? 2 unnamed_net828 : C? 1, C? 2 unnamed_net827 : C? 1, C? 2 unnamed_net826 : C? 1, C? 2 unnamed_net825 : C? 1, C? 2 unnamed_net824 : C? 1, C? 2 unnamed_net823 : C? 1, C? 2 unnamed_net822 : C? 1, C? 2 unnamed_net821 : C? 1, C? 2 unnamed_net820 : C? 1, C? 2 unnamed_net819 : C? 1, C? 2 unnamed_net818 : C? 1, C? 2 unnamed_net817 : C? 1, C? 2 unnamed_net816 : C? 1, C? 2 unnamed_net815 : C? 1, C? 2 unnamed_net814 : C? 1, C? 2 unnamed_net813 : C? 1, C? 2 unnamed_net812 : C? 1, C? 2 unnamed_net811 : C? 1, C? 2 unnamed_net810 : C? 1, C? 2 unnamed_net809 : C? 1, C? 2 unnamed_net808 : C? 1, C? 2 unnamed_net807 : C? 1, C? 2 unnamed_net806 : C? 1, C? 2 unnamed_net805 : C? 1, C? 2 unnamed_net804 : C? 1, C? 2 unnamed_net803 : C? 1, C? 2 unnamed_net802 : C? 1, C? 2 unnamed_net801 : C? 1, C? 2 unnamed_net800 : C? 1, C? 2 unnamed_net799 : C? 1, C? 2 unnamed_net798 : C? 1, C? 2 unnamed_net797 : C? 1, C? 2 unnamed_net796 : C? 1, C? 2 unnamed_net795 : C? 1, C? 2 unnamed_net794 : C? 1, C? 2 unnamed_net793 : C? 1, C? 2 unnamed_net792 : C? 1, C? 2 unnamed_net791 : C? 1, C? 2 unnamed_net790 : C? 1, C? 2 unnamed_net789 : C? 1, C? 2 unnamed_net788 : C? 1, C? 2 unnamed_net787 : C? 1, C? 2 unnamed_net786 : C? 1, C? 2 unnamed_net785 : C? 1, C? 2 unnamed_net784 : C? 2 unnamed_net783 : C? 1, C? 2 unnamed_net782 : C? 1, C? 2 unnamed_net781 : C? 2 unnamed_net780 : C? 1, C? 2 unnamed_net779 : C? 1, C? 2 unnamed_net778 : C? 1, C? 2 unnamed_net777 : C? 1, C? 2 unnamed_net776 : C? 1, C? 2 unnamed_net775 : C? 1, C? 2 unnamed_net774 : C? 1, C? 2 unnamed_net773 : C? 1, C? 2 unnamed_net772 : C? 1, C? 2 unnamed_net771 : C? 1, C? 2 unnamed_net770 : C? 2 unnamed_net769 : C? 1, C? 2 unnamed_net768 : C? 1, C? 2 unnamed_net767 : C? 2 unnamed_net766 : C? 1, C? 2 unnamed_net765 : C? 1, C? 2 unnamed_net764 : C? 1, C? 2 unnamed_net763 : C? 1, C? 2 unnamed_net762 : C? 1, C? 2 unnamed_net761 : C? 1, C? 2 unnamed_net760 : C? 1, C? 2 unnamed_net759 : C? 1, C? 2 unnamed_net758 : C? 1, C? 2 unnamed_net757 : C? 1, C? 2 unnamed_net756 : C? 1, C? 2 unnamed_net755 : C? 1, C? 2 unnamed_net754 : C? 1, C? 2 unnamed_net753 : C? 1, C? 2 unnamed_net752 : C? 1, C? 2 unnamed_net751 : C? 1, C? 2 unnamed_net750 : C? 1, C? 2 unnamed_net749 : C? 1, C? 2 unnamed_net748 : C? 1, C? 2 unnamed_net747 : C? 1, C? 2 unnamed_net746 : C? 1, C? 2 unnamed_net745 : C? 1, C? 2 unnamed_net744 : C? 1, C? 2 unnamed_net743 : C? 1, C? 2 unnamed_net742 : C? 1, C? 2 unnamed_net741 : C? 1, C? 2 unnamed_net740 : C? 1, C? 2 unnamed_net739 : C? 1, C? 2 unnamed_net738 : C? 1, C? 2 unnamed_net737 : C? 1, C? 2 unnamed_net736 : C? 1, C? 2 unnamed_net735 : C? 1, C? 2 unnamed_net734 : C? 1, C? 2 unnamed_net733 : C? 1, C? 2 unnamed_net732 : C? 1, C? 2 unnamed_net731 : C? 1, C? 2 unnamed_net730 : C? 1, C? 2 unnamed_net729 : C? 1, C? 2 unnamed_net728 : C? 1, C? 2 unnamed_net727 : C? 1, C? 2 unnamed_net726 : C? 1, C? 2 unnamed_net725 : C? 1, C? 2 unnamed_net724 : C? 2 unnamed_net723 : C? 1, C? 2 unnamed_net722 : C? 1, C? 2 unnamed_net721 : C? 2 unnamed_net720 : C? 1, C? 2 unnamed_net719 : C? 1, C? 2 unnamed_net718 : C? 1, C? 2 unnamed_net717 : C? 1, C? 2 unnamed_net716 : C? 1, C? 2 unnamed_net715 : C? 1, C? 2 unnamed_net714 : C? 1, C? 2 unnamed_net713 : C? 1, C? 2 unnamed_net712 : C? 1, C? 2 unnamed_net711 : C? 1, C? 2 unnamed_net710 : C? 2 unnamed_net709 : C? 1, C? 2 unnamed_net708 : C? 1, C? 2 unnamed_net707 : C? 2 unnamed_net706 : C? 1 unnamed_net705 : C? 1, C? 2 unnamed_net704 : C? 1, C? 2 unnamed_net703 : C? 1, C? 2 unnamed_net702 : C? 1, C? 2 unnamed_net701 : C? 1, C? 2 unnamed_net700 : C? 1, C? 2 unnamed_net699 : C? 1, C? 2 unnamed_net698 : C? 1, C? 2 unnamed_net697 : C? 1 unnamed_net696 : C? 1, C? 2 unnamed_net695 : C? 1, C? 2 unnamed_net694 : C? 1, C? 2 unnamed_net693 : C? 1, C? 2 unnamed_net692 : C? 1, C? 2 unnamed_net691 : C? 1, C? 2 unnamed_net690 : C? 1, C? 2 unnamed_net689 : C? 1, C? 2 unnamed_net688 : C? 1, C? 2 unnamed_net687 : C? 1, C? 2 unnamed_net686 : C? 1, C? 2 unnamed_net685 : C? 1, C? 2 unnamed_net684 : C? 1, C? 2 unnamed_net683 : C? 1, C? 2 unnamed_net682 : C? 1, C? 2 unnamed_net681 : C? 1, C? 2 unnamed_net680 : C? 1, C? 2 unnamed_net679 : C? 1, C? 2 unnamed_net678 : C? 1, C? 2 unnamed_net677 : C? 1, C? 2 unnamed_net676 : C? 1, C? 2 unnamed_net675 : C? 1, C? 2 unnamed_net674 : C? 1, C? 2 unnamed_net673 : C? 1, C? 2 unnamed_net672 : C? 1 unnamed_net671 : C? 1, C? 2 unnamed_net670 : C? 1, C? 2 unnamed_net669 : C? 1, C? 2 unnamed_net668 : C? 1, C? 2 unnamed_net667 : C? 1, C? 2 unnamed_net666 : C? 1, C? 2 unnamed_net665 : C? 1, C? 2 unnamed_net664 : C? 1, C? 2 unnamed_net663 : C? 1 unnamed_net662 : C? 1, C? 2 unnamed_net661 : C? 1, C? 2 unnamed_net660 : C? 1, C? 2 unnamed_net659 : C? 1, C? 2 unnamed_net658 : C? 1, C? 2 unnamed_net657 : C? 1, C? 2 unnamed_net656 : C? 1, C? 2 unnamed_net655 : C? 1, C? 2 unnamed_net654 : C? 1, C? 2 unnamed_net653 : C? 1, C? 2 unnamed_net652 : C? 1, C? 2 unnamed_net651 : C? 1, C? 2 unnamed_net650 : C? 1, C? 2 unnamed_net649 : C? 1, C? 2 unnamed_net648 : C? 1, C? 2 unnamed_net647 : C? 1, C? 2 unnamed_net646 : C? 1, C? 2 unnamed_net645 : C? 1, C? 2 unnamed_net644 : C? 1, C? 2 unnamed_net643 : C? 1, C? 2 unnamed_net642 : C? 1, C? 2 unnamed_net641 : C? 1, C? 2 unnamed_net640 : C? 1, C? 2 unnamed_net639 : C? 1, C? 2 unnamed_net638 : C? 1, C? 2 unnamed_net637 : C? 1, C? 2 unnamed_net636 : C? 1, C? 2 unnamed_net635 : C? 1, C? 2 unnamed_net634 : C? 1, C? 2 unnamed_net633 : C? 1, C? 2 unnamed_net632 : C? 1, C? 2 unnamed_net631 : C? 1, C? 2 unnamed_net630 : C? 1, C? 2 unnamed_net629 : C? 1, C? 2 unnamed_net628 : C? 1, C? 2 unnamed_net627 : C? 1, C? 2 unnamed_net626 : C? 1, C? 2 unnamed_net625 : C? 1, C? 2 unnamed_net624 : C? 1, C? 2 unnamed_net623 : C? 1, C? 2 unnamed_net622 : C? 1, C? 2 unnamed_net621 : C? 1, C? 2 unnamed_net620 : C? 1, C? 2 unnamed_net619 : C? 1, C? 2 unnamed_net618 : C? 1, C? 2 unnamed_net617 : C? 1, C? 2 unnamed_net616 : C? 1, C? 2 unnamed_net615 : C? 1, C? 2 unnamed_net614 : C? 1, C? 2 unnamed_net613 : C? 1, C? 2 unnamed_net612 : C? 1, C? 2 unnamed_net611 : C? 1, C? 2 unnamed_net610 : C? 1, C? 2 unnamed_net609 : C? 1, C? 2 unnamed_net608 : C? 1, C? 2 unnamed_net607 : C? 1, C? 2 unnamed_net606 : C? 1, C? 2 unnamed_net605 : C? 1, C? 2 unnamed_net604 : C? 1, C? 2 unnamed_net603 : C? 1, C? 2 unnamed_net602 : C? 1, C? 2 unnamed_net601 : C? 1, C? 2 unnamed_net600 : C? 1, C? 2 unnamed_net599 : C? 1, C? 2 unnamed_net598 : C? 1, C? 2 unnamed_net597 : C? 1, C? 2 unnamed_net596 : C? 1, C? 2 unnamed_net595 : C? 1, C? 2 unnamed_net594 : C? 1, C? 2 unnamed_net593 : C? 1, C? 2 unnamed_net592 : C? 1, C? 2 unnamed_net591 : C? 1, C? 2 unnamed_net590 : C? 1, C? 2 unnamed_net589 : C? 1, C? 2 unnamed_net588 : C? 1, C? 2 unnamed_net587 : C? 1, C? 2 unnamed_net586 : C? 1, C? 2 unnamed_net585 : C? 1, C? 2 unnamed_net584 : C? 1, C? 2 unnamed_net583 : C? 1, C? 2 unnamed_net582 : C? 1, C? 2 unnamed_net581 : C? 1, C? 2 unnamed_net580 : C? 1, C? 2 unnamed_net579 : C? 1, C? 2 unnamed_net578 : C? 1, C? 2 unnamed_net577 : C? 1, C? 2 unnamed_net576 : C? 1, C? 2 unnamed_net575 : C? 1, C? 2 unnamed_net574 : C? 1 unnamed_net573 : C? 1, C? 2 unnamed_net572 : C? 1, C? 2 unnamed_net571 : C? 1, C? 2 unnamed_net570 : C? 1, C? 2 unnamed_net569 : C? 1, C? 2 unnamed_net568 : C? 1, C? 2 unnamed_net567 : C? 1, C? 2 unnamed_net566 : C? 1, C? 2 unnamed_net565 : C? 1 unnamed_net564 : C? 1, C? 2 unnamed_net563 : C? 1, C? 2 unnamed_net562 : C? 1, C? 2 unnamed_net561 : C? 1, C? 2 unnamed_net560 : C? 1, C? 2 unnamed_net559 : C? 1, C? 2 unnamed_net558 : C? 1, C? 2 unnamed_net557 : C? 1, C? 2 unnamed_net556 : C? 1, C? 2 unnamed_net555 : C? 1, C? 2 unnamed_net554 : C? 1, C? 2 unnamed_net553 : C? 1, C? 2 unnamed_net552 : C? 1, C? 2 unnamed_net551 : C? 1, C? 2 unnamed_net550 : C? 1, C? 2 unnamed_net549 : C? 1, C? 2 unnamed_net548 : C? 1, C? 2 unnamed_net547 : C? 1, C? 2 unnamed_net546 : C? 1, C? 2 unnamed_net545 : C? 1, C? 2 unnamed_net544 : C? 1, C? 2 unnamed_net543 : C? 1, C? 2 unnamed_net542 : C? 1, C? 2 unnamed_net541 : C? 1, C? 2 unnamed_net540 : C? 1 unnamed_net539 : C? 1, C? 2 unnamed_net538 : C? 1, C? 2 unnamed_net537 : C? 1, C? 2 unnamed_net536 : C? 1, C? 2 unnamed_net535 : C? 1, C? 2 unnamed_net534 : C? 1, C? 2 unnamed_net533 : C? 1, C? 2 unnamed_net532 : C? 1, C? 2 unnamed_net531 : C? 1 unnamed_net530 : C? 1, C? 2 unnamed_net529 : C? 2 unnamed_net528 : C? 1, C? 2 unnamed_net527 : C? 1, C? 2 unnamed_net526 : C? 1, C? 2 unnamed_net525 : C? 1, C? 2 unnamed_net524 : C? 1, C? 2 unnamed_net523 : C? 1, C? 2 unnamed_net522 : C? 2 unnamed_net521 : C? 1, C? 2 unnamed_net520 : C? 1, C? 2 unnamed_net519 : C? 1, C? 2 unnamed_net518 : C? 1, C? 2 unnamed_net517 : C? 1, C? 2 unnamed_net516 : C? 1, C? 2 unnamed_net515 : C? 1, C? 2 unnamed_net514 : C? 1, C? 2 unnamed_net513 : C? 1, C? 2 unnamed_net512 : C? 1, C? 2 unnamed_net511 : C? 1, C? 2 unnamed_net510 : C? 1, C? 2 unnamed_net509 : C? 1, C? 2 unnamed_net508 : C? 1, C? 2 unnamed_net507 : C? 1, C? 2 unnamed_net506 : C? 1, C? 2 unnamed_net505 : C? 1, C? 2 unnamed_net504 : C? 1, C? 2 unnamed_net503 : C? 1, C? 2 unnamed_net502 : C? 1, C? 2 unnamed_net501 : C? 1, C? 2 unnamed_net500 : C? 1, C? 2 unnamed_net499 : C? 2 unnamed_net498 : C? 1, C? 2 unnamed_net497 : C? 1, C? 2 unnamed_net496 : C? 1, C? 2 unnamed_net495 : C? 1, C? 2 unnamed_net494 : C? 1, C? 2 unnamed_net493 : C? 1, C? 2 unnamed_net492 : C? 2 unnamed_net491 : C? 1, C? 2 unnamed_net490 : C? 1, C? 2 unnamed_net489 : C? 1, C? 2 unnamed_net488 : C? 1, C? 2 unnamed_net487 : C? 1, C? 2 unnamed_net486 : C? 1, C? 2 unnamed_net485 : C? 1, C? 2 unnamed_net484 : C? 1, C? 2 unnamed_net483 : C? 1, C? 2 unnamed_net482 : C? 1, C? 2 unnamed_net481 : C? 1, C? 2 unnamed_net480 : C? 1, C? 2 unnamed_net479 : C? 1, C? 2 unnamed_net478 : C? 1, C? 2 unnamed_net477 : C? 1, C? 2 unnamed_net476 : C? 1, C? 2 unnamed_net475 : C? 1, C? 2 unnamed_net474 : C? 1, C? 2 unnamed_net473 : C? 1, C? 2 unnamed_net472 : C? 1, C? 2 unnamed_net471 : C? 1, C? 2 unnamed_net470 : C? 1, C? 2 unnamed_net469 : C? 1, C? 2 unnamed_net468 : C? 1, C? 2 unnamed_net467 : C? 1, C? 2 unnamed_net466 : C? 1, C? 2 unnamed_net465 : C? 1, C? 2 unnamed_net464 : C? 1, C? 2 unnamed_net463 : C? 1, C? 2 unnamed_net462 : C? 1, C? 2 unnamed_net461 : C? 1, C? 2 unnamed_net460 : C? 1, C? 2 unnamed_net459 : C? 1, C? 2 unnamed_net458 : C? 1, C? 2 unnamed_net457 : C? 1, C? 2 unnamed_net456 : C? 1, C? 2 unnamed_net455 : C? 1, C? 2 unnamed_net454 : C? 1, C? 2 unnamed_net453 : C? 1, C? 2 unnamed_net452 : C? 1, C? 2 unnamed_net451 : C? 1, C? 2 unnamed_net450 : C? 1, C? 2 unnamed_net449 : C? 1, C? 2 unnamed_net448 : C? 1, C? 2 unnamed_net447 : C? 1, C? 2 unnamed_net446 : C? 1, C? 2 unnamed_net445 : C? 1, C? 2 unnamed_net444 : C? 1, C? 2 unnamed_net443 : C? 1, C? 2 unnamed_net442 : C? 1, C? 2 unnamed_net441 : C? 1, C? 2 unnamed_net440 : C? 1, C? 2 unnamed_net439 : C? 1, C? 2 unnamed_net438 : C? 1, C? 2 unnamed_net437 : C? 1, C? 2 unnamed_net436 : C? 1, C? 2 unnamed_net435 : C? 1, C? 2 unnamed_net434 : C? 1, C? 2 unnamed_net433 : C? 1, C? 2 unnamed_net432 : C? 1, C? 2 unnamed_net431 : C? 1, C? 2 unnamed_net430 : C? 1, C? 2 unnamed_net429 : C? 1, C? 2 unnamed_net428 : C? 1, C? 2 unnamed_net427 : C? 1, C? 2 unnamed_net426 : C? 1, C? 2 unnamed_net425 : C? 1, C? 2 unnamed_net424 : C? 1, C? 2 unnamed_net423 : C? 1, C? 2 unnamed_net422 : C? 1, C? 2 unnamed_net421 : C? 1, C? 2 unnamed_net420 : C? 1, C? 2 unnamed_net419 : C? 1, C? 2 unnamed_net418 : C? 1, C? 2 unnamed_net417 : C? 1, C? 2 unnamed_net416 : C? 1, C? 2 unnamed_net415 : C? 1, C? 2 unnamed_net414 : C? 1, C? 2 unnamed_net413 : C? 1, C? 2 unnamed_net412 : C? 1, C? 2 unnamed_net411 : C? 1, C? 2 unnamed_net410 : C? 1, C? 2 unnamed_net409 : C? 1, C? 2 unnamed_net408 : C? 1, C? 2 unnamed_net407 : C? 1, C? 2 unnamed_net406 : C? 1, C? 2 unnamed_net405 : C? 2 unnamed_net404 : C? 1, C? 2 unnamed_net403 : C? 1, C? 2 unnamed_net402 : C? 1, C? 2 unnamed_net401 : C? 1, C? 2 unnamed_net400 : C? 1, C? 2 unnamed_net399 : C? 1, C? 2 unnamed_net398 : C? 2 unnamed_net397 : C? 1, C? 2 unnamed_net396 : C? 1, C? 2 unnamed_net395 : C? 1, C? 2 unnamed_net394 : C? 1, C? 2 unnamed_net393 : C? 1, C? 2 unnamed_net392 : C? 1, C? 2 unnamed_net391 : C? 1, C? 2 unnamed_net390 : C? 1, C? 2 unnamed_net389 : C? 1, C? 2 unnamed_net388 : C? 1, C? 2 unnamed_net387 : C? 1, C? 2 unnamed_net386 : C? 1, C? 2 unnamed_net385 : C? 1, C? 2 unnamed_net384 : C? 1, C? 2 unnamed_net383 : C? 1, C? 2 unnamed_net382 : C? 1, C? 2 unnamed_net381 : C? 1, C? 2 unnamed_net380 : C? 1, C? 2 unnamed_net379 : C? 1, C? 2 unnamed_net378 : C? 1, C? 2 unnamed_net377 : C? 1, C? 2 unnamed_net376 : C? 1, C? 2 unnamed_net375 : C? 2 unnamed_net374 : C? 1, C? 2 unnamed_net373 : C? 1, C? 2 unnamed_net372 : C? 1, C? 2 unnamed_net371 : C? 1, C? 2 unnamed_net370 : C? 1, C? 2 unnamed_net369 : C? 1, C? 2 unnamed_net368 : C? 2 unnamed_net367 : C? 2 unnamed_net366 : C? 1, C? 2 unnamed_net365 : C? 1, C? 2 unnamed_net364 : C? 1 unnamed_net363 : C? 1, C? 2 unnamed_net362 : C? 1, C? 2 unnamed_net361 : C? 1, C? 2 unnamed_net360 : C? 1, C? 2 unnamed_net359 : C? 1 unnamed_net358 : C? 1, C? 2 unnamed_net357 : C? 1, C? 2 unnamed_net356 : C? 1, C? 2 unnamed_net355 : C? 1, C? 2 unnamed_net354 : C? 1, C? 2 unnamed_net353 : C? 1, C? 2 unnamed_net352 : C? 1, C? 2 unnamed_net351 : C? 1, C? 2 unnamed_net350 : C? 1, C? 2 unnamed_net349 : C? 1, C? 2 unnamed_net348 : C? 1, C? 2 unnamed_net347 : C? 1, C? 2 unnamed_net346 : C? 1 unnamed_net345 : C? 1, C? 2 unnamed_net344 : C? 1, C? 2 unnamed_net343 : C? 1, C? 2 unnamed_net342 : C? 1, C? 2 unnamed_net341 : C? 1 unnamed_net340 : C? 1, C? 2 unnamed_net339 : C? 1, C? 2 unnamed_net338 : C? 1, C? 2 unnamed_net337 : C? 1, C? 2 unnamed_net336 : C? 1, C? 2 unnamed_net335 : C? 1, C? 2 unnamed_net334 : C? 1, C? 2 unnamed_net333 : C? 1, C? 2 unnamed_net332 : C? 1, C? 2 unnamed_net331 : C? 1, C? 2 unnamed_net330 : C? 1, C? 2 unnamed_net329 : C? 1, C? 2 unnamed_net328 : C? 1, C? 2 unnamed_net327 : C? 1, C? 2 unnamed_net326 : C? 1, C? 2 unnamed_net325 : C? 1, C? 2 unnamed_net324 : C? 1, C? 2 unnamed_net323 : C? 1, C? 2 unnamed_net322 : C? 1, C? 2 unnamed_net321 : C? 1, C? 2 unnamed_net320 : C? 1, C? 2 unnamed_net319 : C? 1, C? 2 unnamed_net318 : C? 1, C? 2 unnamed_net317 : C? 1, C? 2 unnamed_net316 : C? 1, C? 2 unnamed_net315 : C? 1, C? 2 unnamed_net314 : C? 1, C? 2 unnamed_net313 : C? 1, C? 2 unnamed_net312 : C? 1, C? 2 unnamed_net311 : C? 1, C? 2 unnamed_net310 : C? 1, C? 2 unnamed_net309 : C? 1, C? 2 unnamed_net308 : C? 1, C? 2 unnamed_net307 : C? 1, C? 2 unnamed_net306 : C? 1, C? 2 unnamed_net305 : C? 1, C? 2 unnamed_net304 : C? 1, C? 2 unnamed_net303 : C? 1, C? 2 unnamed_net302 : C? 1, C? 2 unnamed_net301 : C? 1, C? 2 unnamed_net300 : C? 1, C? 2 unnamed_net299 : C? 1, C? 2 unnamed_net298 : C? 1, C? 2 unnamed_net297 : C? 1, C? 2 unnamed_net296 : C? 1 unnamed_net295 : C? 1, C? 2 unnamed_net294 : C? 1, C? 2 unnamed_net293 : C? 1, C? 2 unnamed_net292 : C? 1, C? 2 unnamed_net291 : C? 1 unnamed_net290 : C? 1, C? 2 unnamed_net289 : C? 1, C? 2 unnamed_net288 : C? 1, C? 2 unnamed_net287 : C? 1, C? 2 unnamed_net286 : C? 1, C? 2 unnamed_net285 : C? 1, C? 2 unnamed_net284 : C? 1, C? 2 unnamed_net283 : C? 1, C? 2 unnamed_net282 : C? 1, C? 2 unnamed_net281 : C? 1, C? 2 unnamed_net280 : C? 1, C? 2 unnamed_net279 : C? 1, C? 2 unnamed_net278 : C? 1 unnamed_net277 : C? 1, C? 2 unnamed_net276 : C? 1, C? 2 unnamed_net275 : C? 1, C? 2 unnamed_net274 : C? 1, C? 2 unnamed_net273 : C? 1 unnamed_net272 : C? 1, C? 2 unnamed_net271 : C? 1, C? 2 unnamed_net270 : C? 1, C? 2 unnamed_net269 : C? 1, C? 2 unnamed_net268 : C? 1, C? 2 unnamed_net267 : C? 1, C? 2 unnamed_net266 : C? 1, C? 2 unnamed_net265 : C? 1, C? 2 unnamed_net264 : C? 1, C? 2 unnamed_net263 : C? 1, C? 2 unnamed_net262 : C? 1, C? 2 unnamed_net261 : C? 1, C? 2 unnamed_net260 : C? 1, C? 2 unnamed_net259 : C? 1, C? 2 unnamed_net258 : C? 1, C? 2 unnamed_net257 : C? 1, C? 2 unnamed_net256 : C? 1, C? 2 unnamed_net255 : C? 1, C? 2 unnamed_net254 : C? 1, C? 2 unnamed_net253 : C? 1, C? 2 unnamed_net252 : C? 1, C? 2 unnamed_net251 : C? 1, C? 2 unnamed_net250 : C? 1, C? 2 unnamed_net249 : C? 1, C? 2 unnamed_net248 : C? 1, C? 2 unnamed_net247 : C? 1, C? 2 unnamed_net246 : C? 1, C? 2 unnamed_net245 : C? 1, C? 2 unnamed_net244 : C? 1, C? 2 unnamed_net243 : C? 1, C? 2 unnamed_net242 : C? 1, C? 2 unnamed_net241 : C? 1, C? 2 unnamed_net240 : C? 1, C? 2 unnamed_net239 : C? 1, C? 2 unnamed_net238 : C? 1, C? 2 unnamed_net237 : C? 1, C? 2 unnamed_net236 : C? 1, C? 2 unnamed_net235 : C? 1, C? 2 unnamed_net234 : C? 1, C? 2 unnamed_net233 : C? 1, C? 2 unnamed_net232 : C? 1, C? 2 unnamed_net231 : C? 1, C? 2 unnamed_net230 : C? 1, C? 2 unnamed_net229 : C? 1, C? 2 unnamed_net228 : C? 1, C? 2 unnamed_net227 : C? 1, C? 2 unnamed_net226 : C? 1, C? 2 unnamed_net225 : C? 1, C? 2 unnamed_net224 : C? 1, C? 2 unnamed_net223 : C? 1, C? 2 unnamed_net222 : C? 1, C? 2 unnamed_net221 : C? 1, C? 2 unnamed_net220 : C? 1, C? 2 unnamed_net219 : C? 1, C? 2 unnamed_net218 : C? 1, C? 2 unnamed_net217 : C? 1, C? 2 unnamed_net216 : C? 1, C? 2 unnamed_net215 : C? 1, C? 2 unnamed_net214 : C? 1, C? 2 unnamed_net213 : C? 1, C? 2 unnamed_net212 : C? 1, C? 2 unnamed_net211 : C? 1, C? 2 unnamed_net210 : C? 1, C? 2 unnamed_net209 : C? 1, C? 2 unnamed_net208 : C? 1, C? 2 unnamed_net207 : C? 1, C? 2 unnamed_net206 : C? 1, C? 2 unnamed_net205 : C? 1, C? 2 unnamed_net204 : C? 1, C? 2 unnamed_net203 : C? 1, C? 2 unnamed_net202 : C? 1, C? 2 unnamed_net201 : C? 1, C? 2 unnamed_net200 : C? 1, C? 2 unnamed_net199 : C? 1, C? 2 unnamed_net198 : C? 1, C? 2 unnamed_net197 : C? 1, C? 2 unnamed_net196 : C? 1, C? 2 unnamed_net195 : C? 1, C? 2 unnamed_net194 : C? 1, C? 2 unnamed_net193 : C? 1, C? 2 unnamed_net192 : C? 1, C? 2 unnamed_net191 : C? 1, C? 2 unnamed_net190 : C? 1, C? 2 unnamed_net189 : C? 1, C? 2 unnamed_net188 : C? 1, C? 2 unnamed_net187 : C? 1, C? 2 unnamed_net186 : C? 1, C? 2 unnamed_net185 : C? 1 unnamed_net184 : C? 1, C? 2 unnamed_net183 : C? 1, C? 2 unnamed_net182 : C? 1, C? 2 unnamed_net181 : C? 1, C? 2 unnamed_net180 : C? 1, C? 2 unnamed_net179 : C? 1, C? 2 unnamed_net178 : C? 1, C? 2 unnamed_net177 : C? 1, C? 2 unnamed_net176 : C? 1 unnamed_net175 : C? 1, C? 2 unnamed_net174 : C? 1, C? 2 unnamed_net173 : C? 1, C? 2 unnamed_net172 : C? 1, C? 2 unnamed_net171 : C? 1, C? 2 unnamed_net170 : C? 1, C? 2 unnamed_net169 : C? 1, C? 2 unnamed_net168 : C? 1, C? 2 unnamed_net167 : C? 1, C? 2 unnamed_net166 : C? 1, C? 2 unnamed_net165 : C? 1, C? 2 unnamed_net164 : C? 1, C? 2 unnamed_net163 : C? 1, C? 2 unnamed_net162 : C? 1, C? 2 unnamed_net161 : C? 1, C? 2 unnamed_net160 : C? 1, C? 2 unnamed_net159 : C? 1, C? 2 unnamed_net158 : C? 1, C? 2 unnamed_net157 : C? 1, C? 2 unnamed_net156 : C? 1, C? 2 unnamed_net155 : C? 1, C? 2 unnamed_net154 : C? 1, C? 2 unnamed_net153 : C? 1, C? 2 unnamed_net152 : C? 1, C? 2 unnamed_net151 : C? 1 unnamed_net150 : C? 1, C? 2 unnamed_net149 : C? 1, C? 2 unnamed_net148 : C? 1, C? 2 unnamed_net147 : C? 1, C? 2 unnamed_net146 : C? 1, C? 2 unnamed_net145 : C? 1, C? 2 unnamed_net144 : C? 1, C? 2 unnamed_net143 : C? 1, C? 2 unnamed_net142 : C? 1 unnamed_net141 : C? 1, C? 2 unnamed_net140 : C? 1, C? 2 unnamed_net139 : C? 1, C? 2 unnamed_net138 : C? 1, C? 2 unnamed_net137 : C? 1, C? 2 unnamed_net136 : C? 1, C? 2 unnamed_net135 : C? 1, C? 2 unnamed_net134 : C? 1, C? 2 unnamed_net133 : C? 1, C? 2 unnamed_net132 : C? 1, C? 2 unnamed_net131 : C? 1, C? 2 unnamed_net130 : C? 1, C? 2 unnamed_net129 : C? 1, C? 2 unnamed_net128 : C? 1, C? 2 unnamed_net127 : C? 1, C? 2 unnamed_net126 : C? 1, C? 2 unnamed_net125 : C? 1, C? 2 unnamed_net124 : C? 1, C? 2 unnamed_net123 : C? 1, C? 2 unnamed_net122 : C? 1, C? 2 unnamed_net121 : C? 1, C? 2 unnamed_net120 : C? 1, C? 2 unnamed_net119 : C? 1, C? 2 unnamed_net118 : C? 1, C? 2 unnamed_net117 : C? 1, C? 2 unnamed_net116 : C? 1, C? 2 unnamed_net115 : C? 1, C? 2 unnamed_net114 : C? 1, C? 2 unnamed_net113 : C? 1, C? 2 unnamed_net112 : C? 1, C? 2 unnamed_net111 : C? 1, C? 2 unnamed_net110 : C? 1, C? 2 unnamed_net109 : C? 1, C? 2 unnamed_net108 : C? 1, C? 2 unnamed_net107 : C? 1, C? 2 unnamed_net106 : C? 1, C? 2 unnamed_net105 : C? 1, C? 2 unnamed_net104 : C? 1, C? 2 unnamed_net103 : C? 1, C? 2 unnamed_net102 : C? 1, C? 2 unnamed_net101 : C? 1, C? 2 unnamed_net100 : C? 1, C? 2 unnamed_net99 : C? 1, C? 2 unnamed_net98 : C? 1, C? 2 unnamed_net97 : C? 1, C? 2 unnamed_net96 : C? 1 unnamed_net95 : C? 1, C? 2 unnamed_net94 : C? 1, C? 2 unnamed_net93 : C? 1, C? 2 unnamed_net92 : C? 1, C? 2 unnamed_net91 : C? 1 unnamed_net90 : C? 1, C? 2 unnamed_net89 : C? 1, C? 2 unnamed_net88 : C? 1, C? 2 unnamed_net87 : C? 1, C? 2 unnamed_net86 : C? 1, C? 2 unnamed_net85 : C? 1, C? 2 unnamed_net84 : C? 1, C? 2 unnamed_net83 : C? 1, C? 2 unnamed_net82 : C? 1, C? 2 unnamed_net81 : C? 1, C? 2 unnamed_net80 : C? 1, C? 2 unnamed_net79 : C? 1, C? 2 unnamed_net78 : C? 1 unnamed_net77 : C? 1, C? 2 unnamed_net76 : C? 1, C? 2 unnamed_net75 : C? 1, C? 2 unnamed_net74 : C? 1, C? 2 unnamed_net73 : C? 1 unnamed_net72 : C? 1, C? 2 unnamed_net71 : C? 1, C? 2 unnamed_net70 : C? 1, C? 2 unnamed_net69 : C? 1, C? 2 unnamed_net68 : C? 1, C? 2 unnamed_net67 : C? 1, C? 2 unnamed_net66 : C? 1, C? 2 unnamed_net65 : C? 1, C? 2 unnamed_net64 : C? 1, C? 2 unnamed_net63 : C? 1, C? 2 unnamed_net62 : C? 1, C? 2 unnamed_net61 : C? 1, C? 2 unnamed_net60 : C? 1, C? 2 unnamed_net59 : C? 1, C? 2 unnamed_net58 : C? 1, C? 2 unnamed_net57 : C? 1, C? 2 unnamed_net56 : C? 1, C? 2 unnamed_net55 : C? 1, C? 2 unnamed_net54 : C? 1, C? 2 unnamed_net53 : C? 1, C? 2 unnamed_net52 : C? 1, C? 2 unnamed_net51 : C? 1, C? 2 unnamed_net50 : C? 1, C? 2 unnamed_net49 : C? 1 unnamed_net48 : C? 1, C? 2 unnamed_net47 : C? 1, C? 2 unnamed_net46 : C? 1, C? 2 unnamed_net45 : C? 1, C? 2 unnamed_net44 : C? 1, C? 2 unnamed_net43 : C? 1, C? 2 unnamed_net42 : C? 1, C? 2 unnamed_net41 : C? 1, C? 2 unnamed_net40 : C? 1 unnamed_net39 : C? 1, C? 2 unnamed_net38 : C? 1, C? 2 unnamed_net37 : C? 1, C? 2 unnamed_net36 : C? 1, C? 2 unnamed_net35 : C? 1, C? 2 unnamed_net34 : C? 1, C? 2 unnamed_net33 : C? 1, C? 2 unnamed_net32 : C? 1, C? 2 unnamed_net31 : C? 1, C? 2 unnamed_net30 : C? 1, C? 2 unnamed_net29 : C? 1, C? 2 unnamed_net28 : C? 1, C? 2 unnamed_net27 : C? 1, C? 2 unnamed_net26 : C? 1 unnamed_net25 : C? 1, C? 2 unnamed_net24 : C? 1, C? 2 unnamed_net23 : C? 1, C? 2 unnamed_net22 : C? 1, C? 2 unnamed_net21 : C? 1 unnamed_net20 : C? 1, C? 2 unnamed_net19 : C? 1, C? 2 unnamed_net18 : C? 1, C? 2 unnamed_net17 : C? 1, C? 2 unnamed_net16 : C? 1, C? 2 unnamed_net15 : C? 1, C? 2 unnamed_net14 : C? 1, C? 2 unnamed_net13 : C? 1 unnamed_net12 : C? 1, C? 2 unnamed_net11 : C? 1, C? 2 unnamed_net10 : C? 1, C? 2 unnamed_net9 : C? 1, C? 2 unnamed_net8 : C? 1, C? 2 unnamed_net7 : C? 1 unnamed_net6 : C? 1, C? 2 unnamed_net5 : C? 1, C? 2 unnamed_net4 : C? 1, C? 2 unnamed_net3 : C? 1 unnamed_net2 : C? 1, C? 2 unnamed_net1 : C? 1 END nets geda-gaf-1.8.2/gnetlist/tests/common/outputs/geda/JD_Sort.retcode0000664000175000017500000000000212050461155021650 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/geda/cascade-output.net0000664000175000017500000000114512050461155022437 00000000000000START header gEDA's netlist format Created specifically for testing of gnetlist END header START components AMP2 device=cascade-amp T1 device=cascade-transformer MX1 device=cascade-mixer FL1 device=cascade-filter DEF1 device=cascade-defaults AMP1 device=cascade-amp SOURCE device=cascade-source DEFAULTS device=cascade-defaults-top END components START renamed-nets END renamed-nets START nets unnamed_net6 : AMP2 1, T1 2 unnamed_net5 : T1 1, MX1 2 unnamed_net4 : MX1 1, FL1 2 unnamed_net3 : FL1 1, DEF1 2 unnamed_net2 : DEF1 1, AMP1 2 unnamed_net1 : AMP1 1, SOURCE 1 GND : DEFAULTS 1 END nets geda-gaf-1.8.2/gnetlist/tests/common/outputs/geda/multiequal-output.net0000664000175000017500000000045212050461155023236 00000000000000START header gEDA's netlist format Created specifically for testing of gnetlist END header START components V1 device=VOLTAGE_SOURCE R1 device=RESISTOR A1 device=options END components START renamed-nets END renamed-nets START nets GND : V1 2, R1 1 unnamed_net1 : V1 1, R1 2 END nets geda-gaf-1.8.2/gnetlist/tests/common/outputs/geda/JD_nomunge-output.net0000664000175000017500000000113712050461155023102 00000000000000START header gEDA's netlist format Created specifically for testing of gnetlist END header START components A1 device=model Cm device=CAPACITOR Cp device=CAPACITOR Rlp device=RESISTOR Rlm device=RESISTOR Vdd device=VOLTAGE_SOURCE V1 device=vpulse Rt device=RESISTOR Rb device=RESISTOR M1 device=PMOS_TRANSISTOR X1 device=LVD END components START renamed-nets END renamed-nets START nets Vdd1 : Rlp 2, M1 B, M1 S, Vdd 1, X1 6 GND : Cm 2, Cp 2, Rlm 2, Vdd 2, V1 2, Rb 1, X1 7, X1 2 LVH : Rb 2, M1 D, M1 G, X1 3 i : V1 1, X1 1 p : Cp 1, Rt 1, Rlp 1, X1 5 m : Cm 1, Rlm 1, Rt 2, X1 4 END nets geda-gaf-1.8.2/gnetlist/tests/common/outputs/geda/stack-torture.retcode0000664000175000017500000000000212063576065023166 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/geda/powersupply.retcode0000664000175000017500000000000212050461155022755 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/geda/JD_Sort_nomunge-output.net0000664000175000017500000000113712050461155024111 00000000000000START header gEDA's netlist format Created specifically for testing of gnetlist END header START components A1 device=model Cm device=CAPACITOR Cp device=CAPACITOR Rlp device=RESISTOR Rlm device=RESISTOR Vdd device=VOLTAGE_SOURCE V1 device=vpulse Rt device=RESISTOR Rb device=RESISTOR M1 device=PMOS_TRANSISTOR X1 device=LVD END components START renamed-nets END renamed-nets START nets Vdd1 : Rlp 2, M1 B, M1 S, Vdd 1, X1 6 GND : Cm 2, Cp 2, Rlm 2, Vdd 2, V1 2, Rb 1, X1 7, X1 2 LVH : Rb 2, M1 D, M1 G, X1 3 i : V1 1, X1 1 p : Cp 1, Rt 1, Rlp 1, X1 5 m : Cm 1, Rlm 1, Rt 2, X1 4 END nets geda-gaf-1.8.2/gnetlist/tests/common/outputs/geda/TwoStageAmp_Sort.retcode0000664000175000017500000000000212050461155023546 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/geda/netattrib.retcode0000664000175000017500000000000212050461155022340 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/geda/JD_nomunge.retcode0000664000175000017500000000000212050461155022371 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/geda/JD_Include-output.net0000664000175000017500000000113712050461155023015 00000000000000START header gEDA's netlist format Created specifically for testing of gnetlist END header START components A1 device=model Cm device=CAPACITOR Cp device=CAPACITOR Rlp device=RESISTOR Rlm device=RESISTOR Vdd device=VOLTAGE_SOURCE V1 device=vpulse Rt device=RESISTOR Rb device=RESISTOR M1 device=PMOS_TRANSISTOR X1 device=LVD END components START renamed-nets END renamed-nets START nets Vdd1 : Rlp 2, M1 B, M1 S, Vdd 1, X1 6 GND : Cm 2, Cp 2, Rlm 2, Vdd 2, V1 2, Rb 1, X1 7, X1 2 LVH : Rb 2, M1 D, M1 G, X1 3 i : V1 1, X1 1 p : Cp 1, Rt 1, Rlp 1, X1 5 m : Cm 1, Rlm 1, Rt 2, X1 4 END nets geda-gaf-1.8.2/gnetlist/tests/common/outputs/geda/JD_Sort-output.net0000664000175000017500000000113712050461155022361 00000000000000START header gEDA's netlist format Created specifically for testing of gnetlist END header START components A1 device=model Cm device=CAPACITOR Cp device=CAPACITOR Rlp device=RESISTOR Rlm device=RESISTOR Vdd device=VOLTAGE_SOURCE V1 device=vpulse Rt device=RESISTOR Rb device=RESISTOR M1 device=PMOS_TRANSISTOR X1 device=LVD END components START renamed-nets END renamed-nets START nets Vdd1 : Rlp 2, M1 B, M1 S, Vdd 1, X1 6 GND : Cm 2, Cp 2, Rlm 2, Vdd 2, V1 2, Rb 1, X1 7, X1 2 LVH : Rb 2, M1 D, M1 G, X1 3 i : V1 1, X1 1 p : Cp 1, Rt 1, Rlp 1, X1 5 m : Cm 1, Rlm 1, Rt 2, X1 4 END nets geda-gaf-1.8.2/gnetlist/tests/common/outputs/geda/cascade.retcode0000664000175000017500000000000212050461155021727 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/geda/TwoStageAmp_Sort-output.net0000664000175000017500000000202012050461155024247 00000000000000START header gEDA's netlist format Created specifically for testing of gnetlist END header START components C2 device=CAPACITOR R4 device=RESISTOR R3 device=RESISTOR R8 device=RESISTOR CE2 device=CAPACITOR RE2 device=RESISTOR RC1 device=RESISTOR Q2 device=NPN_TRANSISTOR C1 device=CAPACITOR A3 device=directive A2 device=include A1 device=model VCC device=VOLTAGE_SOURCE Vinput device=vsin CE1 device=CAPACITOR Cout device=CAPACITOR RL device=RESISTOR RC2 device=RESISTOR RE1 device=RESISTOR R2 device=RESISTOR R1 device=RESISTOR R5 device=RESISTOR Q1 device=NPN_TRANSISTOR END components START renamed-nets END renamed-nets START nets unnamed_net2 : C2 1, R8 2 Vbase2 : R3 1, C2 2, R4 2, Q2 2 Vem2 : CE2 2, RE2 2, Q2 1 Vout : Cout 2, RL 2 VColl2 : Q2 3, Cout 1, RC2 1 GND : R4 1, CE2 1, RE2 1, VCC 2, Vinput 2, CE1 1, RL 1, RE1 1, R2 1 Vcc : R3 2, RC1 2, VCC 1, RC2 2, R1 2 Vin : Vinput 1, R5 1 unnamed_net1 : C1 1, R5 2 Vbase1 : C1 2, R2 2, R1 1, Q1 2 Vem1 : CE1 2, RE1 2, Q1 1 Vcoll1 : R8 1, RC1 1, Q1 3 END nets geda-gaf-1.8.2/gnetlist/tests/common/outputs/geda/singlenet-output.net0000664000175000017500000000050212050461155023040 00000000000000START header gEDA's netlist format Created specifically for testing of gnetlist END header START components U100 device=7400 END components START renamed-nets END renamed-nets START nets SING_N_2 : U100 1, U100 3 GND : U100 7 Vcc : U100 14 SING_N : U100 4, U100 5, U100 10, U100 8, U100 9, U100 6 END nets geda-gaf-1.8.2/gnetlist/tests/common/outputs/geda/TwoStageAmp_Include.retcode0000664000175000017500000000000212050461155024202 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/geda/SlottedOpamps-output.net0000664000175000017500000000074312050461155023655 00000000000000START header gEDA's netlist format Created specifically for testing of gnetlist END header START components U1 device=LM324 END components START renamed-nets END renamed-nets START nets minusin_slot4_pin13_b : U1 13 plusin_slot4_pin12_a : U1 12 minusin_slot3_pin_b : U1 9 plusin_slot3_pin10_a : U1 10 minusin_slot2_pin6_b : U1 6 plusin_slot2_pin5_a : U1 5 samenet_output_c : U1 14, U1 8, U1 7, U1 1 minusin_slot1_pin_b : U1 2 plusin_slot1_pin3_a : U1 3 END nets geda-gaf-1.8.2/gnetlist/tests/common/outputs/geda/TwoStageAmp_Include-output.net0000664000175000017500000000202012050461155024703 00000000000000START header gEDA's netlist format Created specifically for testing of gnetlist END header START components C2 device=CAPACITOR R4 device=RESISTOR R3 device=RESISTOR R8 device=RESISTOR CE2 device=CAPACITOR RE2 device=RESISTOR RC1 device=RESISTOR Q2 device=NPN_TRANSISTOR C1 device=CAPACITOR A3 device=directive A2 device=include A1 device=model VCC device=VOLTAGE_SOURCE Vinput device=vsin CE1 device=CAPACITOR Cout device=CAPACITOR RL device=RESISTOR RC2 device=RESISTOR RE1 device=RESISTOR R2 device=RESISTOR R1 device=RESISTOR R5 device=RESISTOR Q1 device=NPN_TRANSISTOR END components START renamed-nets END renamed-nets START nets unnamed_net2 : C2 1, R8 2 Vbase2 : R3 1, C2 2, R4 2, Q2 2 Vem2 : CE2 2, RE2 2, Q2 1 Vout : Cout 2, RL 2 VColl2 : Q2 3, Cout 1, RC2 1 GND : R4 1, CE2 1, RE2 1, VCC 2, Vinput 2, CE1 1, RL 1, RE1 1, R2 1 Vcc : R3 2, RC1 2, VCC 1, RC2 2, R1 2 Vin : Vinput 1, R5 1 unnamed_net1 : C1 1, R5 2 Vbase1 : C1 2, R2 2, R1 1, Q1 2 Vem1 : CE1 2, RE1 2, Q1 1 Vcoll1 : R8 1, RC1 1, Q1 3 END nets geda-gaf-1.8.2/gnetlist/tests/common/outputs/geda/singlenet.retcode0000664000175000017500000000000212050461155022334 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/geda/JD_Include.retcode0000664000175000017500000000000212050461155022304 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/geda/powersupply-output.net0000664000175000017500000000137212050461155023467 00000000000000START header gEDA's netlist format Created specifically for testing of gnetlist END header START components U2 device=LM317 C4 device=POLARIZED_CAPACITOR C3 device=POLARIZED_CAPACITOR R1 device=VARIABLE_RESISTOR C2 device=POLARIZED_CAPACITOR R2 device=RESISTOR C1 device=POLARIZED_CAPACITOR S1 device=SPST CONN1 device=MAINS_CONNECTOR T1 device=transformer F1 device=FUSE U1 device=DIODE-BRIDGE END components START renamed-nets four -> GND END renamed-nets START nets ten : U2 1, R1 2, C3 1, R2 1 eleven : U2 2, C4 1, R2 2 GND : CONN1 3 one : S1 1, CONN1 1 five : CONN1 2, T1 2 three : T1 1, F1 2 two : S1 2, F1 1 six : T1 3, U1 4 seven : T1 4, U1 3 nine : C4 2, C3 2, R1 3, R1 1, C2 2, C1 2, U1 2 eight : U2 3, C2 1, C1 1, U1 1 END nets geda-gaf-1.8.2/gnetlist/tests/common/outputs/geda/netattrib-output.net0000664000175000017500000000064212050461155023051 00000000000000START header gEDA's netlist format Created specifically for testing of gnetlist END header START components F1 device=FUSE U300 device=7404 U200 device=7404 U100 device=7400 END components START renamed-nets two -> one END renamed-nets START nets unnamed_net1 : U300 2 netattrib : U200 2, U100 5 GND : U300 7, U200 7, U100 7 Vcc : U300 14, U200 14, U100 14 one : F1 1, U300 1, U200 1, U100 3 END nets geda-gaf-1.8.2/gnetlist/tests/common/outputs/geda/SlottedOpamps.retcode0000664000175000017500000000000212050461155023142 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/geda/JD.retcode0000664000175000017500000000000212050461155020641 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/geda/multiequal.retcode0000664000175000017500000000000212050461155022526 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/geda/JD_Sort_nomunge.retcode0000664000175000017500000000000212050461155023400 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/geda/TwoStageAmp-output.net0000664000175000017500000000202012050461155023240 00000000000000START header gEDA's netlist format Created specifically for testing of gnetlist END header START components C2 device=CAPACITOR R4 device=RESISTOR R3 device=RESISTOR R8 device=RESISTOR CE2 device=CAPACITOR RE2 device=RESISTOR RC1 device=RESISTOR Q2 device=NPN_TRANSISTOR C1 device=CAPACITOR A3 device=directive A2 device=include A1 device=model VCC device=VOLTAGE_SOURCE Vinput device=vsin CE1 device=CAPACITOR Cout device=CAPACITOR RL device=RESISTOR RC2 device=RESISTOR RE1 device=RESISTOR R2 device=RESISTOR R1 device=RESISTOR R5 device=RESISTOR Q1 device=NPN_TRANSISTOR END components START renamed-nets END renamed-nets START nets unnamed_net2 : C2 1, R8 2 Vbase2 : R3 1, C2 2, R4 2, Q2 2 Vem2 : CE2 2, RE2 2, Q2 1 Vout : Cout 2, RL 2 VColl2 : Q2 3, Cout 1, RC2 1 GND : R4 1, CE2 1, RE2 1, VCC 2, Vinput 2, CE1 1, RL 1, RE1 1, R2 1 Vcc : R3 2, RC1 2, VCC 1, RC2 2, R1 2 Vin : Vinput 1, R5 1 unnamed_net1 : C1 1, R5 2 Vbase1 : C1 2, R2 2, R1 1, Q1 2 Vem1 : CE1 2, RE1 2, Q1 1 Vcoll1 : R8 1, RC1 1, Q1 3 END nets geda-gaf-1.8.2/gnetlist/tests/common/outputs/geda/JD_Include_nomunge.retcode0000664000175000017500000000000212050461155024034 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/osmond/0000775000175000017500000000000012220655757017500 500000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/osmond/JD_Include_nomunge-output.net0000664000175000017500000000101212050461155025134 00000000000000Part unknown { Name A1 } Part unknown { Name Cm } Part unknown { Name Cp } Part unknown { Name Rlp } Part unknown { Name Rlm } Part none { Name Vdd } Part none { Name V1 } Part unknown { Name Rt } Part unknown { Name Rb } Part unknown { Name M1 } Part unknown { Name X1 } Signal "Vdd1" { Rlp-2 M1-B M1-S Vdd-1 X1-6 } Signal "GND" { Cm-2 Cp-2 Rlm-2 Vdd-2 V1-2 Rb-1 X1-7 X1-2 } Signal "LVH" { Rb-2 M1-D M1-G X1-3 } Signal "i" { V1-1 X1-1 } Signal "p" { Cp-1 Rt-1 Rlp-1 X1-5 } Signal "m" { Cm-1 Rlm-1 Rt-2 X1-4 } geda-gaf-1.8.2/gnetlist/tests/common/outputs/osmond/JD-output.net0000664000175000017500000000101212050461155021741 00000000000000Part unknown { Name A1 } Part unknown { Name Cm } Part unknown { Name Cp } Part unknown { Name Rlp } Part unknown { Name Rlm } Part none { Name Vdd } Part none { Name V1 } Part unknown { Name Rt } Part unknown { Name Rb } Part unknown { Name M1 } Part unknown { Name X1 } Signal "Vdd1" { Rlp-2 M1-B M1-S Vdd-1 X1-6 } Signal "GND" { Cm-2 Cp-2 Rlm-2 Vdd-2 V1-2 Rb-1 X1-7 X1-2 } Signal "LVH" { Rb-2 M1-D M1-G X1-3 } Signal "i" { V1-1 X1-1 } Signal "p" { Cp-1 Rt-1 Rlp-1 X1-5 } Signal "m" { Cm-1 Rlm-1 Rt-2 X1-4 } geda-gaf-1.8.2/gnetlist/tests/common/outputs/osmond/TwoStageAmp.retcode0000664000175000017500000000000212050461155023136 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/osmond/stack-torture-output.net0000664000175000017500000011725712063576065024311 00000000000000Part unknown { Name C? } Signal "unnamed_net1025" { C?-2 } Signal "unnamed_net1024" { C?-1 C?-2 } Signal "unnamed_net1023" { C?-1 C?-2 } Signal "unnamed_net1022" { C?-2 } Signal "unnamed_net1021" { C?-1 C?-2 } Signal "unnamed_net1020" { C?-2 } Signal "unnamed_net1019" { C?-1 C?-2 } Signal "unnamed_net1018" { C?-1 C?-2 } Signal "unnamed_net1017" { C?-1 C?-2 } Signal "unnamed_net1016" { C?-1 C?-2 } Signal "unnamed_net1015" { C?-1 C?-2 } Signal "unnamed_net1014" { C?-1 C?-2 } Signal "unnamed_net1013" { C?-1 C?-2 } Signal "unnamed_net1012" { C?-2 } Signal "unnamed_net1011" { C?-1 C?-2 } Signal "unnamed_net1010" { C?-1 C?-2 } Signal "unnamed_net1009" { C?-2 } Signal "unnamed_net1008" { C?-1 C?-2 } Signal "unnamed_net1007" { C?-1 C?-2 } Signal "unnamed_net1006" { C?-1 C?-2 } Signal "unnamed_net1005" { C?-1 C?-2 } Signal "unnamed_net1004" { C?-1 C?-2 } Signal "unnamed_net1003" { C?-1 C?-2 } Signal "unnamed_net1002" { C?-1 C?-2 } Signal "unnamed_net1001" { C?-1 C?-2 } Signal "unnamed_net1000" { C?-1 C?-2 } Signal "unnamed_net999" { C?-2 } Signal "unnamed_net998" { C?-1 C?-2 } Signal "unnamed_net997" { C?-1 C?-2 } Signal "unnamed_net996" { C?-1 C?-2 } Signal "unnamed_net995" { C?-1 C?-2 } Signal "unnamed_net994" { C?-1 C?-2 } Signal "unnamed_net993" { C?-1 C?-2 } Signal "unnamed_net992" { C?-2 } Signal "unnamed_net991" { C?-1 C?-2 } Signal "unnamed_net990" { C?-1 C?-2 } Signal "unnamed_net989" { C?-1 C?-2 } Signal "unnamed_net988" { C?-1 C?-2 } Signal "unnamed_net987" { C?-1 C?-2 } Signal "unnamed_net986" { C?-1 C?-2 } Signal "unnamed_net985" { C?-1 C?-2 } Signal "unnamed_net984" { C?-1 C?-2 } Signal "unnamed_net983" { C?-1 C?-2 } Signal "unnamed_net982" { C?-1 C?-2 } Signal "unnamed_net981" { C?-1 C?-2 } Signal "unnamed_net980" { C?-1 C?-2 } Signal "unnamed_net979" { C?-1 C?-2 } Signal "unnamed_net978" { C?-1 C?-2 } Signal "unnamed_net977" { C?-1 C?-2 } Signal "unnamed_net976" { C?-1 C?-2 } Signal "unnamed_net975" { C?-1 C?-2 } Signal "unnamed_net974" { C?-1 C?-2 } Signal "unnamed_net973" { C?-1 C?-2 } Signal "unnamed_net972" { C?-1 C?-2 } Signal "unnamed_net971" { C?-1 C?-2 } Signal "unnamed_net970" { C?-1 C?-2 } Signal "unnamed_net969" { C?-1 C?-2 } Signal "unnamed_net968" { C?-2 } Signal "unnamed_net967" { C?-1 C?-2 } Signal "unnamed_net966" { C?-1 C?-2 } Signal "unnamed_net965" { C?-2 } Signal "unnamed_net964" { C?-1 C?-2 } Signal "unnamed_net963" { C?-1 C?-2 } Signal "unnamed_net962" { C?-1 C?-2 } Signal "unnamed_net961" { C?-1 C?-2 } Signal "unnamed_net960" { C?-1 C?-2 } Signal "unnamed_net959" { C?-1 C?-2 } Signal "unnamed_net958" { C?-1 C?-2 } Signal "unnamed_net957" { C?-1 C?-2 } Signal "unnamed_net956" { C?-1 C?-2 } Signal "unnamed_net955" { C?-1 C?-2 } Signal "unnamed_net954" { C?-2 } Signal "unnamed_net953" { C?-1 C?-2 } Signal "unnamed_net952" { C?-1 C?-2 } Signal "unnamed_net951" { C?-2 } Signal "unnamed_net950" { C?-1 C?-2 } Signal "unnamed_net949" { C?-1 C?-2 } Signal "unnamed_net948" { C?-1 C?-2 } Signal "unnamed_net947" { C?-1 C?-2 } Signal "unnamed_net946" { C?-1 C?-2 } Signal "unnamed_net945" { C?-1 C?-2 } Signal "unnamed_net944" { C?-1 C?-2 } Signal "unnamed_net943" { C?-1 C?-2 } Signal "unnamed_net942" { C?-1 C?-2 } Signal "unnamed_net941" { C?-1 C?-2 } Signal "unnamed_net940" { C?-1 C?-2 } Signal "unnamed_net939" { C?-1 C?-2 } Signal "unnamed_net938" { C?-1 C?-2 } Signal "unnamed_net937" { C?-1 C?-2 } Signal "unnamed_net936" { C?-1 C?-2 } Signal "unnamed_net935" { C?-1 C?-2 } Signal "unnamed_net934" { C?-1 C?-2 } Signal "unnamed_net933" { C?-1 C?-2 } Signal "unnamed_net932" { C?-1 C?-2 } Signal "unnamed_net931" { C?-1 C?-2 } Signal "unnamed_net930" { C?-1 C?-2 } Signal "unnamed_net929" { C?-1 C?-2 } Signal "unnamed_net928" { C?-1 C?-2 } Signal "unnamed_net927" { C?-1 C?-2 } Signal "unnamed_net926" { C?-1 C?-2 } Signal "unnamed_net925" { C?-1 C?-2 } Signal "unnamed_net924" { C?-1 C?-2 } Signal "unnamed_net923" { C?-1 C?-2 } Signal "unnamed_net922" { C?-1 C?-2 } Signal "unnamed_net921" { C?-1 C?-2 } Signal "unnamed_net920" { C?-1 C?-2 } Signal "unnamed_net919" { C?-1 C?-2 } Signal "unnamed_net918" { C?-1 C?-2 } Signal "unnamed_net917" { C?-1 C?-2 } Signal "unnamed_net916" { C?-1 C?-2 } Signal "unnamed_net915" { C?-1 C?-2 } Signal "unnamed_net914" { C?-1 C?-2 } Signal "unnamed_net913" { C?-1 C?-2 } Signal "unnamed_net912" { C?-1 C?-2 } Signal "unnamed_net911" { C?-1 C?-2 } Signal "unnamed_net910" { C?-1 C?-2 } Signal "unnamed_net909" { C?-2 } Signal "unnamed_net908" { C?-1 C?-2 } Signal "unnamed_net907" { C?-1 C?-2 } Signal "unnamed_net906" { C?-1 C?-2 } Signal "unnamed_net905" { C?-1 C?-2 } Signal "unnamed_net904" { C?-1 C?-2 } Signal "unnamed_net903" { C?-1 C?-2 } Signal "unnamed_net902" { C?-2 } Signal "unnamed_net901" { C?-1 C?-2 } Signal "unnamed_net900" { C?-1 C?-2 } Signal "unnamed_net899" { C?-1 C?-2 } Signal "unnamed_net898" { C?-1 C?-2 } Signal "unnamed_net897" { C?-1 C?-2 } Signal "unnamed_net896" { C?-1 C?-2 } Signal "unnamed_net895" { C?-1 C?-2 } Signal "unnamed_net894" { C?-1 C?-2 } Signal "unnamed_net893" { C?-1 C?-2 } Signal "unnamed_net892" { C?-1 C?-2 } Signal "unnamed_net891" { C?-1 C?-2 } Signal "unnamed_net890" { C?-1 C?-2 } Signal "unnamed_net889" { C?-1 C?-2 } Signal "unnamed_net888" { C?-1 C?-2 } Signal "unnamed_net887" { C?-1 C?-2 } Signal "unnamed_net886" { C?-1 C?-2 } Signal "unnamed_net885" { C?-1 C?-2 } Signal "unnamed_net884" { C?-1 C?-2 } Signal "unnamed_net883" { C?-1 C?-2 } Signal "unnamed_net882" { C?-1 C?-2 } Signal "unnamed_net881" { C?-1 C?-2 } Signal "unnamed_net880" { C?-1 C?-2 } Signal "unnamed_net879" { C?-2 } Signal "unnamed_net878" { C?-1 C?-2 } Signal "unnamed_net877" { C?-1 C?-2 } Signal "unnamed_net876" { C?-1 C?-2 } Signal "unnamed_net875" { C?-1 C?-2 } Signal "unnamed_net874" { C?-1 C?-2 } Signal "unnamed_net873" { C?-1 C?-2 } Signal "unnamed_net872" { C?-2 } Signal "unnamed_net871" { C?-1 C?-2 } Signal "unnamed_net870" { C?-1 C?-2 } Signal "unnamed_net869" { C?-1 C?-2 } Signal "unnamed_net868" { C?-1 C?-2 } Signal "unnamed_net867" { C?-1 C?-2 } Signal "unnamed_net866" { C?-1 C?-2 } Signal "unnamed_net865" { C?-1 C?-2 } Signal "unnamed_net864" { C?-1 C?-2 } Signal "unnamed_net863" { C?-1 C?-2 } Signal "unnamed_net862" { C?-1 C?-2 } Signal "unnamed_net861" { C?-1 C?-2 } Signal "unnamed_net860" { C?-1 C?-2 } Signal "unnamed_net859" { C?-1 C?-2 } Signal "unnamed_net858" { C?-1 C?-2 } Signal "unnamed_net857" { C?-1 C?-2 } Signal "unnamed_net856" { C?-1 C?-2 } Signal "unnamed_net855" { C?-1 C?-2 } Signal "unnamed_net854" { C?-1 C?-2 } Signal "unnamed_net853" { C?-1 C?-2 } Signal "unnamed_net852" { C?-1 C?-2 } Signal "unnamed_net851" { C?-1 C?-2 } Signal "unnamed_net850" { C?-1 C?-2 } Signal "unnamed_net849" { C?-1 C?-2 } Signal "unnamed_net848" { C?-1 C?-2 } Signal "unnamed_net847" { C?-1 C?-2 } Signal "unnamed_net846" { C?-1 C?-2 } Signal "unnamed_net845" { C?-1 C?-2 } Signal "unnamed_net844" { C?-1 C?-2 } Signal "unnamed_net843" { C?-1 C?-2 } Signal "unnamed_net842" { C?-1 C?-2 } Signal "unnamed_net841" { C?-1 C?-2 } Signal "unnamed_net840" { C?-1 C?-2 } Signal "unnamed_net839" { C?-1 C?-2 } Signal "unnamed_net838" { C?-1 C?-2 } Signal "unnamed_net837" { C?-1 C?-2 } Signal "unnamed_net836" { C?-1 C?-2 } Signal "unnamed_net835" { C?-1 C?-2 } Signal "unnamed_net834" { C?-1 C?-2 } Signal "unnamed_net833" { C?-1 C?-2 } Signal "unnamed_net832" { C?-1 C?-2 } Signal "unnamed_net831" { C?-1 C?-2 } Signal "unnamed_net830" { C?-1 C?-2 } Signal "unnamed_net829" { C?-1 C?-2 } Signal "unnamed_net828" { C?-1 C?-2 } Signal "unnamed_net827" { C?-1 C?-2 } Signal "unnamed_net826" { C?-1 C?-2 } Signal "unnamed_net825" { C?-1 C?-2 } Signal "unnamed_net824" { C?-1 C?-2 } Signal "unnamed_net823" { C?-1 C?-2 } Signal "unnamed_net822" { C?-1 C?-2 } Signal "unnamed_net821" { C?-1 C?-2 } Signal "unnamed_net820" { C?-1 C?-2 } Signal "unnamed_net819" { C?-1 C?-2 } Signal "unnamed_net818" { C?-1 C?-2 } Signal "unnamed_net817" { C?-1 C?-2 } Signal "unnamed_net816" { C?-1 C?-2 } Signal "unnamed_net815" { C?-1 C?-2 } Signal "unnamed_net814" { C?-1 C?-2 } Signal "unnamed_net813" { C?-1 C?-2 } Signal "unnamed_net812" { C?-1 C?-2 } Signal "unnamed_net811" { C?-1 C?-2 } Signal "unnamed_net810" { C?-1 C?-2 } Signal "unnamed_net809" { C?-1 C?-2 } Signal "unnamed_net808" { C?-1 C?-2 } Signal "unnamed_net807" { C?-1 C?-2 } Signal "unnamed_net806" { C?-1 C?-2 } Signal "unnamed_net805" { C?-1 C?-2 } Signal "unnamed_net804" { C?-1 C?-2 } Signal "unnamed_net803" { C?-1 C?-2 } Signal "unnamed_net802" { C?-1 C?-2 } Signal "unnamed_net801" { C?-1 C?-2 } Signal "unnamed_net800" { C?-1 C?-2 } Signal "unnamed_net799" { C?-1 C?-2 } Signal "unnamed_net798" { C?-1 C?-2 } Signal "unnamed_net797" { C?-1 C?-2 } Signal "unnamed_net796" { C?-1 C?-2 } Signal "unnamed_net795" { C?-1 C?-2 } Signal "unnamed_net794" { C?-1 C?-2 } Signal "unnamed_net793" { C?-1 C?-2 } Signal "unnamed_net792" { C?-1 C?-2 } Signal "unnamed_net791" { C?-1 C?-2 } Signal "unnamed_net790" { C?-1 C?-2 } Signal "unnamed_net789" { C?-1 C?-2 } Signal "unnamed_net788" { C?-1 C?-2 } Signal "unnamed_net787" { C?-1 C?-2 } Signal "unnamed_net786" { C?-1 C?-2 } Signal "unnamed_net785" { C?-1 C?-2 } Signal "unnamed_net784" { C?-2 } Signal "unnamed_net783" { C?-1 C?-2 } Signal "unnamed_net782" { C?-1 C?-2 } Signal "unnamed_net781" { C?-2 } Signal "unnamed_net780" { C?-1 C?-2 } Signal "unnamed_net779" { C?-1 C?-2 } Signal "unnamed_net778" { C?-1 C?-2 } Signal "unnamed_net777" { C?-1 C?-2 } Signal "unnamed_net776" { C?-1 C?-2 } Signal "unnamed_net775" { C?-1 C?-2 } Signal "unnamed_net774" { C?-1 C?-2 } Signal "unnamed_net773" { C?-1 C?-2 } Signal "unnamed_net772" { C?-1 C?-2 } Signal "unnamed_net771" { C?-1 C?-2 } Signal "unnamed_net770" { C?-2 } Signal "unnamed_net769" { C?-1 C?-2 } Signal "unnamed_net768" { C?-1 C?-2 } Signal "unnamed_net767" { C?-2 } Signal "unnamed_net766" { C?-1 C?-2 } Signal "unnamed_net765" { C?-1 C?-2 } Signal "unnamed_net764" { C?-1 C?-2 } Signal "unnamed_net763" { C?-1 C?-2 } Signal "unnamed_net762" { C?-1 C?-2 } Signal "unnamed_net761" { C?-1 C?-2 } Signal "unnamed_net760" { C?-1 C?-2 } Signal "unnamed_net759" { C?-1 C?-2 } Signal "unnamed_net758" { C?-1 C?-2 } Signal "unnamed_net757" { C?-1 C?-2 } Signal "unnamed_net756" { C?-1 C?-2 } Signal "unnamed_net755" { C?-1 C?-2 } Signal "unnamed_net754" { C?-1 C?-2 } Signal "unnamed_net753" { C?-1 C?-2 } Signal "unnamed_net752" { C?-1 C?-2 } Signal "unnamed_net751" { C?-1 C?-2 } Signal "unnamed_net750" { C?-1 C?-2 } Signal "unnamed_net749" { C?-1 C?-2 } Signal "unnamed_net748" { C?-1 C?-2 } Signal "unnamed_net747" { C?-1 C?-2 } Signal "unnamed_net746" { C?-1 C?-2 } Signal "unnamed_net745" { C?-1 C?-2 } Signal "unnamed_net744" { C?-1 C?-2 } Signal "unnamed_net743" { C?-1 C?-2 } Signal "unnamed_net742" { C?-1 C?-2 } Signal "unnamed_net741" { C?-1 C?-2 } Signal "unnamed_net740" { C?-1 C?-2 } Signal "unnamed_net739" { C?-1 C?-2 } Signal "unnamed_net738" { C?-1 C?-2 } Signal "unnamed_net737" { C?-1 C?-2 } Signal "unnamed_net736" { C?-1 C?-2 } Signal "unnamed_net735" { C?-1 C?-2 } Signal "unnamed_net734" { C?-1 C?-2 } Signal "unnamed_net733" { C?-1 C?-2 } Signal "unnamed_net732" { C?-1 C?-2 } Signal "unnamed_net731" { C?-1 C?-2 } Signal "unnamed_net730" { C?-1 C?-2 } Signal "unnamed_net729" { C?-1 C?-2 } Signal "unnamed_net728" { C?-1 C?-2 } Signal "unnamed_net727" { C?-1 C?-2 } Signal "unnamed_net726" { C?-1 C?-2 } Signal "unnamed_net725" { C?-1 C?-2 } Signal "unnamed_net724" { C?-2 } Signal "unnamed_net723" { C?-1 C?-2 } Signal "unnamed_net722" { C?-1 C?-2 } Signal "unnamed_net721" { C?-2 } Signal "unnamed_net720" { C?-1 C?-2 } Signal "unnamed_net719" { C?-1 C?-2 } Signal "unnamed_net718" { C?-1 C?-2 } Signal "unnamed_net717" { C?-1 C?-2 } Signal "unnamed_net716" { C?-1 C?-2 } Signal "unnamed_net715" { C?-1 C?-2 } Signal "unnamed_net714" { C?-1 C?-2 } Signal "unnamed_net713" { C?-1 C?-2 } Signal "unnamed_net712" { C?-1 C?-2 } Signal "unnamed_net711" { C?-1 C?-2 } Signal "unnamed_net710" { C?-2 } Signal "unnamed_net709" { C?-1 C?-2 } Signal "unnamed_net708" { C?-1 C?-2 } Signal "unnamed_net707" { C?-2 } Signal "unnamed_net706" { C?-1 } Signal "unnamed_net705" { C?-1 C?-2 } Signal "unnamed_net704" { C?-1 C?-2 } Signal "unnamed_net703" { C?-1 C?-2 } Signal "unnamed_net702" { C?-1 C?-2 } Signal "unnamed_net701" { C?-1 C?-2 } Signal "unnamed_net700" { C?-1 C?-2 } Signal "unnamed_net699" { C?-1 C?-2 } Signal "unnamed_net698" { C?-1 C?-2 } Signal "unnamed_net697" { C?-1 } Signal "unnamed_net696" { C?-1 C?-2 } Signal "unnamed_net695" { C?-1 C?-2 } Signal "unnamed_net694" { C?-1 C?-2 } Signal "unnamed_net693" { C?-1 C?-2 } Signal "unnamed_net692" { C?-1 C?-2 } Signal "unnamed_net691" { C?-1 C?-2 } Signal "unnamed_net690" { C?-1 C?-2 } Signal "unnamed_net689" { C?-1 C?-2 } Signal "unnamed_net688" { C?-1 C?-2 } Signal "unnamed_net687" { C?-1 C?-2 } Signal "unnamed_net686" { C?-1 C?-2 } Signal "unnamed_net685" { C?-1 C?-2 } Signal "unnamed_net684" { C?-1 C?-2 } Signal "unnamed_net683" { C?-1 C?-2 } Signal "unnamed_net682" { C?-1 C?-2 } Signal "unnamed_net681" { C?-1 C?-2 } Signal "unnamed_net680" { C?-1 C?-2 } Signal "unnamed_net679" { C?-1 C?-2 } Signal "unnamed_net678" { C?-1 C?-2 } Signal "unnamed_net677" { C?-1 C?-2 } Signal "unnamed_net676" { C?-1 C?-2 } Signal "unnamed_net675" { C?-1 C?-2 } Signal "unnamed_net674" { C?-1 C?-2 } Signal "unnamed_net673" { C?-1 C?-2 } Signal "unnamed_net672" { C?-1 } Signal "unnamed_net671" { C?-1 C?-2 } Signal "unnamed_net670" { C?-1 C?-2 } Signal "unnamed_net669" { C?-1 C?-2 } Signal "unnamed_net668" { C?-1 C?-2 } Signal "unnamed_net667" { C?-1 C?-2 } Signal "unnamed_net666" { C?-1 C?-2 } Signal "unnamed_net665" { C?-1 C?-2 } Signal "unnamed_net664" { C?-1 C?-2 } Signal "unnamed_net663" { C?-1 } Signal "unnamed_net662" { C?-1 C?-2 } Signal "unnamed_net661" { C?-1 C?-2 } Signal "unnamed_net660" { C?-1 C?-2 } Signal "unnamed_net659" { C?-1 C?-2 } Signal "unnamed_net658" { C?-1 C?-2 } Signal "unnamed_net657" { C?-1 C?-2 } Signal "unnamed_net656" { C?-1 C?-2 } Signal "unnamed_net655" { C?-1 C?-2 } Signal "unnamed_net654" { C?-1 C?-2 } Signal "unnamed_net653" { C?-1 C?-2 } Signal "unnamed_net652" { C?-1 C?-2 } Signal "unnamed_net651" { C?-1 C?-2 } Signal "unnamed_net650" { C?-1 C?-2 } Signal "unnamed_net649" { C?-1 C?-2 } Signal "unnamed_net648" { C?-1 C?-2 } Signal "unnamed_net647" { C?-1 C?-2 } Signal "unnamed_net646" { C?-1 C?-2 } Signal "unnamed_net645" { C?-1 C?-2 } Signal "unnamed_net644" { C?-1 C?-2 } Signal "unnamed_net643" { C?-1 C?-2 } Signal "unnamed_net642" { C?-1 C?-2 } Signal "unnamed_net641" { C?-1 C?-2 } Signal "unnamed_net640" { C?-1 C?-2 } Signal "unnamed_net639" { C?-1 C?-2 } Signal "unnamed_net638" { C?-1 C?-2 } Signal "unnamed_net637" { C?-1 C?-2 } Signal "unnamed_net636" { C?-1 C?-2 } Signal "unnamed_net635" { C?-1 C?-2 } Signal "unnamed_net634" { C?-1 C?-2 } Signal "unnamed_net633" { C?-1 C?-2 } Signal "unnamed_net632" { C?-1 C?-2 } Signal "unnamed_net631" { C?-1 C?-2 } Signal "unnamed_net630" { C?-1 C?-2 } Signal "unnamed_net629" { C?-1 C?-2 } Signal "unnamed_net628" { C?-1 C?-2 } Signal "unnamed_net627" { C?-1 C?-2 } Signal "unnamed_net626" { C?-1 C?-2 } Signal "unnamed_net625" { C?-1 C?-2 } Signal "unnamed_net624" { C?-1 C?-2 } Signal "unnamed_net623" { C?-1 C?-2 } Signal "unnamed_net622" { C?-1 C?-2 } Signal "unnamed_net621" { C?-1 C?-2 } Signal "unnamed_net620" { C?-1 C?-2 } Signal "unnamed_net619" { C?-1 C?-2 } Signal "unnamed_net618" { C?-1 C?-2 } Signal "unnamed_net617" { C?-1 C?-2 } Signal "unnamed_net616" { C?-1 C?-2 } Signal "unnamed_net615" { C?-1 C?-2 } Signal "unnamed_net614" { C?-1 C?-2 } Signal "unnamed_net613" { C?-1 C?-2 } Signal "unnamed_net612" { C?-1 C?-2 } Signal "unnamed_net611" { C?-1 C?-2 } Signal "unnamed_net610" { C?-1 C?-2 } Signal "unnamed_net609" { C?-1 C?-2 } Signal "unnamed_net608" { C?-1 C?-2 } Signal "unnamed_net607" { C?-1 C?-2 } Signal "unnamed_net606" { C?-1 C?-2 } Signal "unnamed_net605" { C?-1 C?-2 } Signal "unnamed_net604" { C?-1 C?-2 } Signal "unnamed_net603" { C?-1 C?-2 } Signal "unnamed_net602" { C?-1 C?-2 } Signal "unnamed_net601" { C?-1 C?-2 } Signal "unnamed_net600" { C?-1 C?-2 } Signal "unnamed_net599" { C?-1 C?-2 } Signal "unnamed_net598" { C?-1 C?-2 } Signal "unnamed_net597" { C?-1 C?-2 } Signal "unnamed_net596" { C?-1 C?-2 } Signal "unnamed_net595" { C?-1 C?-2 } Signal "unnamed_net594" { C?-1 C?-2 } Signal "unnamed_net593" { C?-1 C?-2 } Signal "unnamed_net592" { C?-1 C?-2 } Signal "unnamed_net591" { C?-1 C?-2 } Signal "unnamed_net590" { C?-1 C?-2 } Signal "unnamed_net589" { C?-1 C?-2 } Signal "unnamed_net588" { C?-1 C?-2 } Signal "unnamed_net587" { C?-1 C?-2 } Signal "unnamed_net586" { C?-1 C?-2 } Signal "unnamed_net585" { C?-1 C?-2 } Signal "unnamed_net584" { C?-1 C?-2 } Signal "unnamed_net583" { C?-1 C?-2 } Signal "unnamed_net582" { C?-1 C?-2 } Signal "unnamed_net581" { C?-1 C?-2 } Signal "unnamed_net580" { C?-1 C?-2 } Signal "unnamed_net579" { C?-1 C?-2 } Signal "unnamed_net578" { C?-1 C?-2 } Signal "unnamed_net577" { C?-1 C?-2 } Signal "unnamed_net576" { C?-1 C?-2 } Signal "unnamed_net575" { C?-1 C?-2 } Signal "unnamed_net574" { C?-1 } Signal "unnamed_net573" { C?-1 C?-2 } Signal "unnamed_net572" { C?-1 C?-2 } Signal "unnamed_net571" { C?-1 C?-2 } Signal "unnamed_net570" { C?-1 C?-2 } Signal "unnamed_net569" { C?-1 C?-2 } Signal "unnamed_net568" { C?-1 C?-2 } Signal "unnamed_net567" { C?-1 C?-2 } Signal "unnamed_net566" { C?-1 C?-2 } Signal "unnamed_net565" { C?-1 } Signal "unnamed_net564" { C?-1 C?-2 } Signal "unnamed_net563" { C?-1 C?-2 } Signal "unnamed_net562" { C?-1 C?-2 } Signal "unnamed_net561" { C?-1 C?-2 } Signal "unnamed_net560" { C?-1 C?-2 } Signal "unnamed_net559" { C?-1 C?-2 } Signal "unnamed_net558" { C?-1 C?-2 } Signal "unnamed_net557" { C?-1 C?-2 } Signal "unnamed_net556" { C?-1 C?-2 } Signal "unnamed_net555" { C?-1 C?-2 } Signal "unnamed_net554" { C?-1 C?-2 } Signal "unnamed_net553" { C?-1 C?-2 } Signal "unnamed_net552" { C?-1 C?-2 } Signal "unnamed_net551" { C?-1 C?-2 } Signal "unnamed_net550" { C?-1 C?-2 } Signal "unnamed_net549" { C?-1 C?-2 } Signal "unnamed_net548" { C?-1 C?-2 } Signal "unnamed_net547" { C?-1 C?-2 } Signal "unnamed_net546" { C?-1 C?-2 } Signal "unnamed_net545" { C?-1 C?-2 } Signal "unnamed_net544" { C?-1 C?-2 } Signal "unnamed_net543" { C?-1 C?-2 } Signal "unnamed_net542" { C?-1 C?-2 } Signal "unnamed_net541" { C?-1 C?-2 } Signal "unnamed_net540" { C?-1 } Signal "unnamed_net539" { C?-1 C?-2 } Signal "unnamed_net538" { C?-1 C?-2 } Signal "unnamed_net537" { C?-1 C?-2 } Signal "unnamed_net536" { C?-1 C?-2 } Signal "unnamed_net535" { C?-1 C?-2 } Signal "unnamed_net534" { C?-1 C?-2 } Signal "unnamed_net533" { C?-1 C?-2 } Signal "unnamed_net532" { C?-1 C?-2 } Signal "unnamed_net531" { C?-1 } Signal "unnamed_net530" { C?-1 C?-2 } Signal "unnamed_net529" { C?-2 } Signal "unnamed_net528" { C?-1 C?-2 } Signal "unnamed_net527" { C?-1 C?-2 } Signal "unnamed_net526" { C?-1 C?-2 } Signal "unnamed_net525" { C?-1 C?-2 } Signal "unnamed_net524" { C?-1 C?-2 } Signal "unnamed_net523" { C?-1 C?-2 } Signal "unnamed_net522" { C?-2 } Signal "unnamed_net521" { C?-1 C?-2 } Signal "unnamed_net520" { C?-1 C?-2 } Signal "unnamed_net519" { C?-1 C?-2 } Signal "unnamed_net518" { C?-1 C?-2 } Signal "unnamed_net517" { C?-1 C?-2 } Signal "unnamed_net516" { C?-1 C?-2 } Signal "unnamed_net515" { C?-1 C?-2 } Signal "unnamed_net514" { C?-1 C?-2 } Signal "unnamed_net513" { C?-1 C?-2 } Signal "unnamed_net512" { C?-1 C?-2 } Signal "unnamed_net511" { C?-1 C?-2 } Signal "unnamed_net510" { C?-1 C?-2 } Signal "unnamed_net509" { C?-1 C?-2 } Signal "unnamed_net508" { C?-1 C?-2 } Signal "unnamed_net507" { C?-1 C?-2 } Signal "unnamed_net506" { C?-1 C?-2 } Signal "unnamed_net505" { C?-1 C?-2 } Signal "unnamed_net504" { C?-1 C?-2 } Signal "unnamed_net503" { C?-1 C?-2 } Signal "unnamed_net502" { C?-1 C?-2 } Signal "unnamed_net501" { C?-1 C?-2 } Signal "unnamed_net500" { C?-1 C?-2 } Signal "unnamed_net499" { C?-2 } Signal "unnamed_net498" { C?-1 C?-2 } Signal "unnamed_net497" { C?-1 C?-2 } Signal "unnamed_net496" { C?-1 C?-2 } Signal "unnamed_net495" { C?-1 C?-2 } Signal "unnamed_net494" { C?-1 C?-2 } Signal "unnamed_net493" { C?-1 C?-2 } Signal "unnamed_net492" { C?-2 } Signal "unnamed_net491" { C?-1 C?-2 } Signal "unnamed_net490" { C?-1 C?-2 } Signal "unnamed_net489" { C?-1 C?-2 } Signal "unnamed_net488" { C?-1 C?-2 } Signal "unnamed_net487" { C?-1 C?-2 } Signal "unnamed_net486" { C?-1 C?-2 } Signal "unnamed_net485" { C?-1 C?-2 } Signal "unnamed_net484" { C?-1 C?-2 } Signal "unnamed_net483" { C?-1 C?-2 } Signal "unnamed_net482" { C?-1 C?-2 } Signal "unnamed_net481" { C?-1 C?-2 } Signal "unnamed_net480" { C?-1 C?-2 } Signal "unnamed_net479" { C?-1 C?-2 } Signal "unnamed_net478" { C?-1 C?-2 } Signal "unnamed_net477" { C?-1 C?-2 } Signal "unnamed_net476" { C?-1 C?-2 } Signal "unnamed_net475" { C?-1 C?-2 } Signal "unnamed_net474" { C?-1 C?-2 } Signal "unnamed_net473" { C?-1 C?-2 } Signal "unnamed_net472" { C?-1 C?-2 } Signal "unnamed_net471" { C?-1 C?-2 } Signal "unnamed_net470" { C?-1 C?-2 } Signal "unnamed_net469" { C?-1 C?-2 } Signal "unnamed_net468" { C?-1 C?-2 } Signal "unnamed_net467" { C?-1 C?-2 } Signal "unnamed_net466" { C?-1 C?-2 } Signal "unnamed_net465" { C?-1 C?-2 } Signal "unnamed_net464" { C?-1 C?-2 } Signal "unnamed_net463" { C?-1 C?-2 } Signal "unnamed_net462" { C?-1 C?-2 } Signal "unnamed_net461" { C?-1 C?-2 } Signal "unnamed_net460" { C?-1 C?-2 } Signal "unnamed_net459" { C?-1 C?-2 } Signal "unnamed_net458" { C?-1 C?-2 } Signal "unnamed_net457" { C?-1 C?-2 } Signal "unnamed_net456" { C?-1 C?-2 } Signal "unnamed_net455" { C?-1 C?-2 } Signal "unnamed_net454" { C?-1 C?-2 } Signal "unnamed_net453" { C?-1 C?-2 } Signal "unnamed_net452" { C?-1 C?-2 } Signal "unnamed_net451" { C?-1 C?-2 } Signal "unnamed_net450" { C?-1 C?-2 } Signal "unnamed_net449" { C?-1 C?-2 } Signal "unnamed_net448" { C?-1 C?-2 } Signal "unnamed_net447" { C?-1 C?-2 } Signal "unnamed_net446" { C?-1 C?-2 } Signal "unnamed_net445" { C?-1 C?-2 } Signal "unnamed_net444" { C?-1 C?-2 } Signal "unnamed_net443" { C?-1 C?-2 } Signal "unnamed_net442" { C?-1 C?-2 } Signal "unnamed_net441" { C?-1 C?-2 } Signal "unnamed_net440" { C?-1 C?-2 } Signal "unnamed_net439" { C?-1 C?-2 } Signal "unnamed_net438" { C?-1 C?-2 } Signal "unnamed_net437" { C?-1 C?-2 } Signal "unnamed_net436" { C?-1 C?-2 } Signal "unnamed_net435" { C?-1 C?-2 } Signal "unnamed_net434" { C?-1 C?-2 } Signal "unnamed_net433" { C?-1 C?-2 } Signal "unnamed_net432" { C?-1 C?-2 } Signal "unnamed_net431" { C?-1 C?-2 } Signal "unnamed_net430" { C?-1 C?-2 } Signal "unnamed_net429" { C?-1 C?-2 } Signal "unnamed_net428" { C?-1 C?-2 } Signal "unnamed_net427" { C?-1 C?-2 } Signal "unnamed_net426" { C?-1 C?-2 } Signal "unnamed_net425" { C?-1 C?-2 } Signal "unnamed_net424" { C?-1 C?-2 } Signal "unnamed_net423" { C?-1 C?-2 } Signal "unnamed_net422" { C?-1 C?-2 } Signal "unnamed_net421" { C?-1 C?-2 } Signal "unnamed_net420" { C?-1 C?-2 } Signal "unnamed_net419" { C?-1 C?-2 } Signal "unnamed_net418" { C?-1 C?-2 } Signal "unnamed_net417" { C?-1 C?-2 } Signal "unnamed_net416" { C?-1 C?-2 } Signal "unnamed_net415" { C?-1 C?-2 } Signal "unnamed_net414" { C?-1 C?-2 } Signal "unnamed_net413" { C?-1 C?-2 } Signal "unnamed_net412" { C?-1 C?-2 } Signal "unnamed_net411" { C?-1 C?-2 } Signal "unnamed_net410" { C?-1 C?-2 } Signal "unnamed_net409" { C?-1 C?-2 } Signal "unnamed_net408" { C?-1 C?-2 } Signal "unnamed_net407" { C?-1 C?-2 } Signal "unnamed_net406" { C?-1 C?-2 } Signal "unnamed_net405" { C?-2 } Signal "unnamed_net404" { C?-1 C?-2 } Signal "unnamed_net403" { C?-1 C?-2 } Signal "unnamed_net402" { C?-1 C?-2 } Signal "unnamed_net401" { C?-1 C?-2 } Signal "unnamed_net400" { C?-1 C?-2 } Signal "unnamed_net399" { C?-1 C?-2 } Signal "unnamed_net398" { C?-2 } Signal "unnamed_net397" { C?-1 C?-2 } Signal "unnamed_net396" { C?-1 C?-2 } Signal "unnamed_net395" { C?-1 C?-2 } Signal "unnamed_net394" { C?-1 C?-2 } Signal "unnamed_net393" { C?-1 C?-2 } Signal "unnamed_net392" { C?-1 C?-2 } Signal "unnamed_net391" { C?-1 C?-2 } Signal "unnamed_net390" { C?-1 C?-2 } Signal "unnamed_net389" { C?-1 C?-2 } Signal "unnamed_net388" { C?-1 C?-2 } Signal "unnamed_net387" { C?-1 C?-2 } Signal "unnamed_net386" { C?-1 C?-2 } Signal "unnamed_net385" { C?-1 C?-2 } Signal "unnamed_net384" { C?-1 C?-2 } Signal "unnamed_net383" { C?-1 C?-2 } Signal "unnamed_net382" { C?-1 C?-2 } Signal "unnamed_net381" { C?-1 C?-2 } Signal "unnamed_net380" { C?-1 C?-2 } Signal "unnamed_net379" { C?-1 C?-2 } Signal "unnamed_net378" { C?-1 C?-2 } Signal "unnamed_net377" { C?-1 C?-2 } Signal "unnamed_net376" { C?-1 C?-2 } Signal "unnamed_net375" { C?-2 } Signal "unnamed_net374" { C?-1 C?-2 } Signal "unnamed_net373" { C?-1 C?-2 } Signal "unnamed_net372" { C?-1 C?-2 } Signal "unnamed_net371" { C?-1 C?-2 } Signal "unnamed_net370" { C?-1 C?-2 } Signal "unnamed_net369" { C?-1 C?-2 } Signal "unnamed_net368" { C?-2 } Signal "unnamed_net367" { C?-2 } Signal "unnamed_net366" { C?-1 C?-2 } Signal "unnamed_net365" { C?-1 C?-2 } Signal "unnamed_net364" { C?-1 } Signal "unnamed_net363" { C?-1 C?-2 } Signal "unnamed_net362" { C?-1 C?-2 } Signal "unnamed_net361" { C?-1 C?-2 } Signal "unnamed_net360" { C?-1 C?-2 } Signal "unnamed_net359" { C?-1 } Signal "unnamed_net358" { C?-1 C?-2 } Signal "unnamed_net357" { C?-1 C?-2 } Signal "unnamed_net356" { C?-1 C?-2 } Signal "unnamed_net355" { C?-1 C?-2 } Signal "unnamed_net354" { C?-1 C?-2 } Signal "unnamed_net353" { C?-1 C?-2 } Signal "unnamed_net352" { C?-1 C?-2 } Signal "unnamed_net351" { C?-1 C?-2 } Signal "unnamed_net350" { C?-1 C?-2 } Signal "unnamed_net349" { C?-1 C?-2 } Signal "unnamed_net348" { C?-1 C?-2 } Signal "unnamed_net347" { C?-1 C?-2 } Signal "unnamed_net346" { C?-1 } Signal "unnamed_net345" { C?-1 C?-2 } Signal "unnamed_net344" { C?-1 C?-2 } Signal "unnamed_net343" { C?-1 C?-2 } Signal "unnamed_net342" { C?-1 C?-2 } Signal "unnamed_net341" { C?-1 } Signal "unnamed_net340" { C?-1 C?-2 } Signal "unnamed_net339" { C?-1 C?-2 } Signal "unnamed_net338" { C?-1 C?-2 } Signal "unnamed_net337" { C?-1 C?-2 } Signal "unnamed_net336" { C?-1 C?-2 } Signal "unnamed_net335" { C?-1 C?-2 } Signal "unnamed_net334" { C?-1 C?-2 } Signal "unnamed_net333" { C?-1 C?-2 } Signal "unnamed_net332" { C?-1 C?-2 } Signal "unnamed_net331" { C?-1 C?-2 } Signal "unnamed_net330" { C?-1 C?-2 } Signal "unnamed_net329" { C?-1 C?-2 } Signal "unnamed_net328" { C?-1 C?-2 } Signal "unnamed_net327" { C?-1 C?-2 } Signal "unnamed_net326" { C?-1 C?-2 } Signal "unnamed_net325" { C?-1 C?-2 } Signal "unnamed_net324" { C?-1 C?-2 } Signal "unnamed_net323" { C?-1 C?-2 } Signal "unnamed_net322" { C?-1 C?-2 } Signal "unnamed_net321" { C?-1 C?-2 } Signal "unnamed_net320" { C?-1 C?-2 } Signal "unnamed_net319" { C?-1 C?-2 } Signal "unnamed_net318" { C?-1 C?-2 } Signal "unnamed_net317" { C?-1 C?-2 } Signal "unnamed_net316" { C?-1 C?-2 } Signal "unnamed_net315" { C?-1 C?-2 } Signal "unnamed_net314" { C?-1 C?-2 } Signal "unnamed_net313" { C?-1 C?-2 } Signal "unnamed_net312" { C?-1 C?-2 } Signal "unnamed_net311" { C?-1 C?-2 } Signal "unnamed_net310" { C?-1 C?-2 } Signal "unnamed_net309" { C?-1 C?-2 } Signal "unnamed_net308" { C?-1 C?-2 } Signal "unnamed_net307" { C?-1 C?-2 } Signal "unnamed_net306" { C?-1 C?-2 } Signal "unnamed_net305" { C?-1 C?-2 } Signal "unnamed_net304" { C?-1 C?-2 } Signal "unnamed_net303" { C?-1 C?-2 } Signal "unnamed_net302" { C?-1 C?-2 } Signal "unnamed_net301" { C?-1 C?-2 } Signal "unnamed_net300" { C?-1 C?-2 } Signal "unnamed_net299" { C?-1 C?-2 } Signal "unnamed_net298" { C?-1 C?-2 } Signal "unnamed_net297" { C?-1 C?-2 } Signal "unnamed_net296" { C?-1 } Signal "unnamed_net295" { C?-1 C?-2 } Signal "unnamed_net294" { C?-1 C?-2 } Signal "unnamed_net293" { C?-1 C?-2 } Signal "unnamed_net292" { C?-1 C?-2 } Signal "unnamed_net291" { C?-1 } Signal "unnamed_net290" { C?-1 C?-2 } Signal "unnamed_net289" { C?-1 C?-2 } Signal "unnamed_net288" { C?-1 C?-2 } Signal "unnamed_net287" { C?-1 C?-2 } Signal "unnamed_net286" { C?-1 C?-2 } Signal "unnamed_net285" { C?-1 C?-2 } Signal "unnamed_net284" { C?-1 C?-2 } Signal "unnamed_net283" { C?-1 C?-2 } Signal "unnamed_net282" { C?-1 C?-2 } Signal "unnamed_net281" { C?-1 C?-2 } Signal "unnamed_net280" { C?-1 C?-2 } Signal "unnamed_net279" { C?-1 C?-2 } Signal "unnamed_net278" { C?-1 } Signal "unnamed_net277" { C?-1 C?-2 } Signal "unnamed_net276" { C?-1 C?-2 } Signal "unnamed_net275" { C?-1 C?-2 } Signal "unnamed_net274" { C?-1 C?-2 } Signal "unnamed_net273" { C?-1 } Signal "unnamed_net272" { C?-1 C?-2 } Signal "unnamed_net271" { C?-1 C?-2 } Signal "unnamed_net270" { C?-1 C?-2 } Signal "unnamed_net269" { C?-1 C?-2 } Signal "unnamed_net268" { C?-1 C?-2 } Signal "unnamed_net267" { C?-1 C?-2 } Signal "unnamed_net266" { C?-1 C?-2 } Signal "unnamed_net265" { C?-1 C?-2 } Signal "unnamed_net264" { C?-1 C?-2 } Signal "unnamed_net263" { C?-1 C?-2 } Signal "unnamed_net262" { C?-1 C?-2 } Signal "unnamed_net261" { C?-1 C?-2 } Signal "unnamed_net260" { C?-1 C?-2 } Signal "unnamed_net259" { C?-1 C?-2 } Signal "unnamed_net258" { C?-1 C?-2 } Signal "unnamed_net257" { C?-1 C?-2 } Signal "unnamed_net256" { C?-1 C?-2 } Signal "unnamed_net255" { C?-1 C?-2 } Signal "unnamed_net254" { C?-1 C?-2 } Signal "unnamed_net253" { C?-1 C?-2 } Signal "unnamed_net252" { C?-1 C?-2 } Signal "unnamed_net251" { C?-1 C?-2 } Signal "unnamed_net250" { C?-1 C?-2 } Signal "unnamed_net249" { C?-1 C?-2 } Signal "unnamed_net248" { C?-1 C?-2 } Signal "unnamed_net247" { C?-1 C?-2 } Signal "unnamed_net246" { C?-1 C?-2 } Signal "unnamed_net245" { C?-1 C?-2 } Signal "unnamed_net244" { C?-1 C?-2 } Signal "unnamed_net243" { C?-1 C?-2 } Signal "unnamed_net242" { C?-1 C?-2 } Signal "unnamed_net241" { C?-1 C?-2 } Signal "unnamed_net240" { C?-1 C?-2 } Signal "unnamed_net239" { C?-1 C?-2 } Signal "unnamed_net238" { C?-1 C?-2 } Signal "unnamed_net237" { C?-1 C?-2 } Signal "unnamed_net236" { C?-1 C?-2 } Signal "unnamed_net235" { C?-1 C?-2 } Signal "unnamed_net234" { C?-1 C?-2 } Signal "unnamed_net233" { C?-1 C?-2 } Signal "unnamed_net232" { C?-1 C?-2 } Signal "unnamed_net231" { C?-1 C?-2 } Signal "unnamed_net230" { C?-1 C?-2 } Signal "unnamed_net229" { C?-1 C?-2 } Signal "unnamed_net228" { C?-1 C?-2 } Signal "unnamed_net227" { C?-1 C?-2 } Signal "unnamed_net226" { C?-1 C?-2 } Signal "unnamed_net225" { C?-1 C?-2 } Signal "unnamed_net224" { C?-1 C?-2 } Signal "unnamed_net223" { C?-1 C?-2 } Signal "unnamed_net222" { C?-1 C?-2 } Signal "unnamed_net221" { C?-1 C?-2 } Signal "unnamed_net220" { C?-1 C?-2 } Signal "unnamed_net219" { C?-1 C?-2 } Signal "unnamed_net218" { C?-1 C?-2 } Signal "unnamed_net217" { C?-1 C?-2 } Signal "unnamed_net216" { C?-1 C?-2 } Signal "unnamed_net215" { C?-1 C?-2 } Signal "unnamed_net214" { C?-1 C?-2 } Signal "unnamed_net213" { C?-1 C?-2 } Signal "unnamed_net212" { C?-1 C?-2 } Signal "unnamed_net211" { C?-1 C?-2 } Signal "unnamed_net210" { C?-1 C?-2 } Signal "unnamed_net209" { C?-1 C?-2 } Signal "unnamed_net208" { C?-1 C?-2 } Signal "unnamed_net207" { C?-1 C?-2 } Signal "unnamed_net206" { C?-1 C?-2 } Signal "unnamed_net205" { C?-1 C?-2 } Signal "unnamed_net204" { C?-1 C?-2 } Signal "unnamed_net203" { C?-1 C?-2 } Signal "unnamed_net202" { C?-1 C?-2 } Signal "unnamed_net201" { C?-1 C?-2 } Signal "unnamed_net200" { C?-1 C?-2 } Signal "unnamed_net199" { C?-1 C?-2 } Signal "unnamed_net198" { C?-1 C?-2 } Signal "unnamed_net197" { C?-1 C?-2 } Signal "unnamed_net196" { C?-1 C?-2 } Signal "unnamed_net195" { C?-1 C?-2 } Signal "unnamed_net194" { C?-1 C?-2 } Signal "unnamed_net193" { C?-1 C?-2 } Signal "unnamed_net192" { C?-1 C?-2 } Signal "unnamed_net191" { C?-1 C?-2 } Signal "unnamed_net190" { C?-1 C?-2 } Signal "unnamed_net189" { C?-1 C?-2 } Signal "unnamed_net188" { C?-1 C?-2 } Signal "unnamed_net187" { C?-1 C?-2 } Signal "unnamed_net186" { C?-1 C?-2 } Signal "unnamed_net185" { C?-1 } Signal "unnamed_net184" { C?-1 C?-2 } Signal "unnamed_net183" { C?-1 C?-2 } Signal "unnamed_net182" { C?-1 C?-2 } Signal "unnamed_net181" { C?-1 C?-2 } Signal "unnamed_net180" { C?-1 C?-2 } Signal "unnamed_net179" { C?-1 C?-2 } Signal "unnamed_net178" { C?-1 C?-2 } Signal "unnamed_net177" { C?-1 C?-2 } Signal "unnamed_net176" { C?-1 } Signal "unnamed_net175" { C?-1 C?-2 } Signal "unnamed_net174" { C?-1 C?-2 } Signal "unnamed_net173" { C?-1 C?-2 } Signal "unnamed_net172" { C?-1 C?-2 } Signal "unnamed_net171" { C?-1 C?-2 } Signal "unnamed_net170" { C?-1 C?-2 } Signal "unnamed_net169" { C?-1 C?-2 } Signal "unnamed_net168" { C?-1 C?-2 } Signal "unnamed_net167" { C?-1 C?-2 } Signal "unnamed_net166" { C?-1 C?-2 } Signal "unnamed_net165" { C?-1 C?-2 } Signal "unnamed_net164" { C?-1 C?-2 } Signal "unnamed_net163" { C?-1 C?-2 } Signal "unnamed_net162" { C?-1 C?-2 } Signal "unnamed_net161" { C?-1 C?-2 } Signal "unnamed_net160" { C?-1 C?-2 } Signal "unnamed_net159" { C?-1 C?-2 } Signal "unnamed_net158" { C?-1 C?-2 } Signal "unnamed_net157" { C?-1 C?-2 } Signal "unnamed_net156" { C?-1 C?-2 } Signal "unnamed_net155" { C?-1 C?-2 } Signal "unnamed_net154" { C?-1 C?-2 } Signal "unnamed_net153" { C?-1 C?-2 } Signal "unnamed_net152" { C?-1 C?-2 } Signal "unnamed_net151" { C?-1 } Signal "unnamed_net150" { C?-1 C?-2 } Signal "unnamed_net149" { C?-1 C?-2 } Signal "unnamed_net148" { C?-1 C?-2 } Signal "unnamed_net147" { C?-1 C?-2 } Signal "unnamed_net146" { C?-1 C?-2 } Signal "unnamed_net145" { C?-1 C?-2 } Signal "unnamed_net144" { C?-1 C?-2 } Signal "unnamed_net143" { C?-1 C?-2 } Signal "unnamed_net142" { C?-1 } Signal "unnamed_net141" { C?-1 C?-2 } Signal "unnamed_net140" { C?-1 C?-2 } Signal "unnamed_net139" { C?-1 C?-2 } Signal "unnamed_net138" { C?-1 C?-2 } Signal "unnamed_net137" { C?-1 C?-2 } Signal "unnamed_net136" { C?-1 C?-2 } Signal "unnamed_net135" { C?-1 C?-2 } Signal "unnamed_net134" { C?-1 C?-2 } Signal "unnamed_net133" { C?-1 C?-2 } Signal "unnamed_net132" { C?-1 C?-2 } Signal "unnamed_net131" { C?-1 C?-2 } Signal "unnamed_net130" { C?-1 C?-2 } Signal "unnamed_net129" { C?-1 C?-2 } Signal "unnamed_net128" { C?-1 C?-2 } Signal "unnamed_net127" { C?-1 C?-2 } Signal "unnamed_net126" { C?-1 C?-2 } Signal "unnamed_net125" { C?-1 C?-2 } Signal "unnamed_net124" { C?-1 C?-2 } Signal "unnamed_net123" { C?-1 C?-2 } Signal "unnamed_net122" { C?-1 C?-2 } Signal "unnamed_net121" { C?-1 C?-2 } Signal "unnamed_net120" { C?-1 C?-2 } Signal "unnamed_net119" { C?-1 C?-2 } Signal "unnamed_net118" { C?-1 C?-2 } Signal "unnamed_net117" { C?-1 C?-2 } Signal "unnamed_net116" { C?-1 C?-2 } Signal "unnamed_net115" { C?-1 C?-2 } Signal "unnamed_net114" { C?-1 C?-2 } Signal "unnamed_net113" { C?-1 C?-2 } Signal "unnamed_net112" { C?-1 C?-2 } Signal "unnamed_net111" { C?-1 C?-2 } Signal "unnamed_net110" { C?-1 C?-2 } Signal "unnamed_net109" { C?-1 C?-2 } Signal "unnamed_net108" { C?-1 C?-2 } Signal "unnamed_net107" { C?-1 C?-2 } Signal "unnamed_net106" { C?-1 C?-2 } Signal "unnamed_net105" { C?-1 C?-2 } Signal "unnamed_net104" { C?-1 C?-2 } Signal "unnamed_net103" { C?-1 C?-2 } Signal "unnamed_net102" { C?-1 C?-2 } Signal "unnamed_net101" { C?-1 C?-2 } Signal "unnamed_net100" { C?-1 C?-2 } Signal "unnamed_net99" { C?-1 C?-2 } Signal "unnamed_net98" { C?-1 C?-2 } Signal "unnamed_net97" { C?-1 C?-2 } Signal "unnamed_net96" { C?-1 } Signal "unnamed_net95" { C?-1 C?-2 } Signal "unnamed_net94" { C?-1 C?-2 } Signal "unnamed_net93" { C?-1 C?-2 } Signal "unnamed_net92" { C?-1 C?-2 } Signal "unnamed_net91" { C?-1 } Signal "unnamed_net90" { C?-1 C?-2 } Signal "unnamed_net89" { C?-1 C?-2 } Signal "unnamed_net88" { C?-1 C?-2 } Signal "unnamed_net87" { C?-1 C?-2 } Signal "unnamed_net86" { C?-1 C?-2 } Signal "unnamed_net85" { C?-1 C?-2 } Signal "unnamed_net84" { C?-1 C?-2 } Signal "unnamed_net83" { C?-1 C?-2 } Signal "unnamed_net82" { C?-1 C?-2 } Signal "unnamed_net81" { C?-1 C?-2 } Signal "unnamed_net80" { C?-1 C?-2 } Signal "unnamed_net79" { C?-1 C?-2 } Signal "unnamed_net78" { C?-1 } Signal "unnamed_net77" { C?-1 C?-2 } Signal "unnamed_net76" { C?-1 C?-2 } Signal "unnamed_net75" { C?-1 C?-2 } Signal "unnamed_net74" { C?-1 C?-2 } Signal "unnamed_net73" { C?-1 } Signal "unnamed_net72" { C?-1 C?-2 } Signal "unnamed_net71" { C?-1 C?-2 } Signal "unnamed_net70" { C?-1 C?-2 } Signal "unnamed_net69" { C?-1 C?-2 } Signal "unnamed_net68" { C?-1 C?-2 } Signal "unnamed_net67" { C?-1 C?-2 } Signal "unnamed_net66" { C?-1 C?-2 } Signal "unnamed_net65" { C?-1 C?-2 } Signal "unnamed_net64" { C?-1 C?-2 } Signal "unnamed_net63" { C?-1 C?-2 } Signal "unnamed_net62" { C?-1 C?-2 } Signal "unnamed_net61" { C?-1 C?-2 } Signal "unnamed_net60" { C?-1 C?-2 } Signal "unnamed_net59" { C?-1 C?-2 } Signal "unnamed_net58" { C?-1 C?-2 } Signal "unnamed_net57" { C?-1 C?-2 } Signal "unnamed_net56" { C?-1 C?-2 } Signal "unnamed_net55" { C?-1 C?-2 } Signal "unnamed_net54" { C?-1 C?-2 } Signal "unnamed_net53" { C?-1 C?-2 } Signal "unnamed_net52" { C?-1 C?-2 } Signal "unnamed_net51" { C?-1 C?-2 } Signal "unnamed_net50" { C?-1 C?-2 } Signal "unnamed_net49" { C?-1 } Signal "unnamed_net48" { C?-1 C?-2 } Signal "unnamed_net47" { C?-1 C?-2 } Signal "unnamed_net46" { C?-1 C?-2 } Signal "unnamed_net45" { C?-1 C?-2 } Signal "unnamed_net44" { C?-1 C?-2 } Signal "unnamed_net43" { C?-1 C?-2 } Signal "unnamed_net42" { C?-1 C?-2 } Signal "unnamed_net41" { C?-1 C?-2 } Signal "unnamed_net40" { C?-1 } Signal "unnamed_net39" { C?-1 C?-2 } Signal "unnamed_net38" { C?-1 C?-2 } Signal "unnamed_net37" { C?-1 C?-2 } Signal "unnamed_net36" { C?-1 C?-2 } Signal "unnamed_net35" { C?-1 C?-2 } Signal "unnamed_net34" { C?-1 C?-2 } Signal "unnamed_net33" { C?-1 C?-2 } Signal "unnamed_net32" { C?-1 C?-2 } Signal "unnamed_net31" { C?-1 C?-2 } Signal "unnamed_net30" { C?-1 C?-2 } Signal "unnamed_net29" { C?-1 C?-2 } Signal "unnamed_net28" { C?-1 C?-2 } Signal "unnamed_net27" { C?-1 C?-2 } Signal "unnamed_net26" { C?-1 } Signal "unnamed_net25" { C?-1 C?-2 } Signal "unnamed_net24" { C?-1 C?-2 } Signal "unnamed_net23" { C?-1 C?-2 } Signal "unnamed_net22" { C?-1 C?-2 } Signal "unnamed_net21" { C?-1 } Signal "unnamed_net20" { C?-1 C?-2 } Signal "unnamed_net19" { C?-1 C?-2 } Signal "unnamed_net18" { C?-1 C?-2 } Signal "unnamed_net17" { C?-1 C?-2 } Signal "unnamed_net16" { C?-1 C?-2 } Signal "unnamed_net15" { C?-1 C?-2 } Signal "unnamed_net14" { C?-1 C?-2 } Signal "unnamed_net13" { C?-1 } Signal "unnamed_net12" { C?-1 C?-2 } Signal "unnamed_net11" { C?-1 C?-2 } Signal "unnamed_net10" { C?-1 C?-2 } Signal "unnamed_net9" { C?-1 C?-2 } Signal "unnamed_net8" { C?-1 C?-2 } Signal "unnamed_net7" { C?-1 } Signal "unnamed_net6" { C?-1 C?-2 } Signal "unnamed_net5" { C?-1 C?-2 } Signal "unnamed_net4" { C?-1 C?-2 } Signal "unnamed_net3" { C?-1 } Signal "unnamed_net2" { C?-1 C?-2 } Signal "unnamed_net1" { C?-1 } geda-gaf-1.8.2/gnetlist/tests/common/outputs/osmond/JD_Sort.retcode0000664000175000017500000000000212050461155022247 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/osmond/cascade-output.net0000664000175000017500000000073112050461155023036 00000000000000Part none { Name AMP2 } Part none { Name T1 } Part none { Name MX1 } Part none { Name FL1 } Part none { Name DEF1 } Part none { Name AMP1 } Part none { Name SOURCE } Part unknown { Name DEFAULTS } Signal "unnamed_net6" { AMP2-1 T1-2 } Signal "unnamed_net5" { T1-1 MX1-2 } Signal "unnamed_net4" { MX1-1 FL1-2 } Signal "unnamed_net3" { FL1-1 DEF1-2 } Signal "unnamed_net2" { DEF1-1 AMP1-2 } Signal "unnamed_net1" { AMP1-1 SOURCE-1 } Signal "GND" { DEFAULTS-1 } geda-gaf-1.8.2/gnetlist/tests/common/outputs/osmond/multiequal-output.net0000664000175000017500000000021312050461155023630 00000000000000Part none { Name V1 } Part unknown { Name R1 } Part unknown { Name A1 } Signal "GND" { V1-2 R1-1 } Signal "unnamed_net1" { V1-1 R1-2 } geda-gaf-1.8.2/gnetlist/tests/common/outputs/osmond/JD_nomunge-output.net0000664000175000017500000000101212050461155023471 00000000000000Part unknown { Name A1 } Part unknown { Name Cm } Part unknown { Name Cp } Part unknown { Name Rlp } Part unknown { Name Rlm } Part none { Name Vdd } Part none { Name V1 } Part unknown { Name Rt } Part unknown { Name Rb } Part unknown { Name M1 } Part unknown { Name X1 } Signal "Vdd1" { Rlp-2 M1-B M1-S Vdd-1 X1-6 } Signal "GND" { Cm-2 Cp-2 Rlm-2 Vdd-2 V1-2 Rb-1 X1-7 X1-2 } Signal "LVH" { Rb-2 M1-D M1-G X1-3 } Signal "i" { V1-1 X1-1 } Signal "p" { Cp-1 Rt-1 Rlp-1 X1-5 } Signal "m" { Cm-1 Rlm-1 Rt-2 X1-4 } geda-gaf-1.8.2/gnetlist/tests/common/outputs/osmond/stack-torture.retcode0000664000175000017500000000000212063576065023565 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/osmond/powersupply.retcode0000664000175000017500000000000212050461155023354 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/osmond/JD_Sort_nomunge-output.net0000664000175000017500000000101212050461155024500 00000000000000Part unknown { Name A1 } Part unknown { Name Cm } Part unknown { Name Cp } Part unknown { Name Rlp } Part unknown { Name Rlm } Part none { Name Vdd } Part none { Name V1 } Part unknown { Name Rt } Part unknown { Name Rb } Part unknown { Name M1 } Part unknown { Name X1 } Signal "Vdd1" { Rlp-2 M1-B M1-S Vdd-1 X1-6 } Signal "GND" { Cm-2 Cp-2 Rlm-2 Vdd-2 V1-2 Rb-1 X1-7 X1-2 } Signal "LVH" { Rb-2 M1-D M1-G X1-3 } Signal "i" { V1-1 X1-1 } Signal "p" { Cp-1 Rt-1 Rlp-1 X1-5 } Signal "m" { Cm-1 Rlm-1 Rt-2 X1-4 } geda-gaf-1.8.2/gnetlist/tests/common/outputs/osmond/TwoStageAmp_Sort.retcode0000664000175000017500000000000212050461155024145 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/osmond/netattrib.retcode0000664000175000017500000000000212050461155022737 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/osmond/JD_nomunge.retcode0000664000175000017500000000000212050461155022770 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/osmond/JD_Include-output.net0000664000175000017500000000101212050461155023404 00000000000000Part unknown { Name A1 } Part unknown { Name Cm } Part unknown { Name Cp } Part unknown { Name Rlp } Part unknown { Name Rlm } Part none { Name Vdd } Part none { Name V1 } Part unknown { Name Rt } Part unknown { Name Rb } Part unknown { Name M1 } Part unknown { Name X1 } Signal "Vdd1" { Rlp-2 M1-B M1-S Vdd-1 X1-6 } Signal "GND" { Cm-2 Cp-2 Rlm-2 Vdd-2 V1-2 Rb-1 X1-7 X1-2 } Signal "LVH" { Rb-2 M1-D M1-G X1-3 } Signal "i" { V1-1 X1-1 } Signal "p" { Cp-1 Rt-1 Rlp-1 X1-5 } Signal "m" { Cm-1 Rlm-1 Rt-2 X1-4 } geda-gaf-1.8.2/gnetlist/tests/common/outputs/osmond/JD_Sort-output.net0000664000175000017500000000101212050461155022750 00000000000000Part unknown { Name A1 } Part unknown { Name Cm } Part unknown { Name Cp } Part unknown { Name Rlp } Part unknown { Name Rlm } Part none { Name Vdd } Part none { Name V1 } Part unknown { Name Rt } Part unknown { Name Rb } Part unknown { Name M1 } Part unknown { Name X1 } Signal "Vdd1" { Rlp-2 M1-B M1-S Vdd-1 X1-6 } Signal "GND" { Cm-2 Cp-2 Rlm-2 Vdd-2 V1-2 Rb-1 X1-7 X1-2 } Signal "LVH" { Rb-2 M1-D M1-G X1-3 } Signal "i" { V1-1 X1-1 } Signal "p" { Cp-1 Rt-1 Rlp-1 X1-5 } Signal "m" { Cm-1 Rlm-1 Rt-2 X1-4 } geda-gaf-1.8.2/gnetlist/tests/common/outputs/osmond/cascade.retcode0000664000175000017500000000000212050461155022326 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/osmond/TwoStageAmp_Sort-output.net0000664000175000017500000000206712050461155024661 00000000000000Part unknown { Name C2 } Part unknown { Name R4 } Part unknown { Name R3 } Part unknown { Name R8 } Part unknown { Name CE2 } Part unknown { Name RE2 } Part unknown { Name RC1 } Part unknown { Name Q2 } Part unknown { Name C1 } Part unknown { Name A3 } Part unknown { Name A2 } Part unknown { Name A1 } Part none { Name VCC } Part none { Name Vinput } Part unknown { Name CE1 } Part unknown { Name Cout } Part unknown { Name RL } Part unknown { Name RC2 } Part unknown { Name RE1 } Part unknown { Name R2 } Part unknown { Name R1 } Part unknown { Name R5 } Part unknown { Name Q1 } Signal "unnamed_net2" { C2-1 R8-2 } Signal "Vbase2" { R3-1 C2-2 R4-2 Q2-2 } Signal "Vem2" { CE2-2 RE2-2 Q2-1 } Signal "Vout" { Cout-2 RL-2 } Signal "VColl2" { Q2-3 Cout-1 RC2-1 } Signal "GND" { R4-1 CE2-1 RE2-1 VCC-2 Vinput-2 CE1-1 RL-1 RE1-1 R2-1 } Signal "Vcc" { R3-2 RC1-2 VCC-1 RC2-2 R1-2 } Signal "Vin" { Vinput-1 R5-1 } Signal "unnamed_net1" { C1-1 R5-2 } Signal "Vbase1" { C1-2 R2-2 R1-1 Q1-2 } Signal "Vem1" { CE1-2 RE1-2 Q1-1 } Signal "Vcoll1" { R8-1 RC1-1 Q1-3 } geda-gaf-1.8.2/gnetlist/tests/common/outputs/osmond/singlenet-output.net0000664000175000017500000000026512050461155023445 00000000000000Part DIP14 { Name U100 } Signal "SING_N_2" { U100-1 U100-3 } Signal "GND" { U100-7 } Signal "Vcc" { U100-14 } Signal "SING_N" { U100-4 U100-5 U100-10 U100-8 U100-9 U100-6 } geda-gaf-1.8.2/gnetlist/tests/common/outputs/osmond/TwoStageAmp_Include.retcode0000664000175000017500000000000212050461155024601 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/osmond/SlottedOpamps-output.net0000664000175000017500000000062612050461155024254 00000000000000Part unknown { Name U1 } Signal "minusin_slot4_pin13_b" { U1-13 } Signal "plusin_slot4_pin12_a" { U1-12 } Signal "minusin_slot3_pin_b" { U1-9 } Signal "plusin_slot3_pin10_a" { U1-10 } Signal "minusin_slot2_pin6_b" { U1-6 } Signal "plusin_slot2_pin5_a" { U1-5 } Signal "samenet_output_c" { U1-14 U1-8 U1-7 U1-1 } Signal "minusin_slot1_pin_b" { U1-2 } Signal "plusin_slot1_pin3_a" { U1-3 } geda-gaf-1.8.2/gnetlist/tests/common/outputs/osmond/TwoStageAmp_Include-output.net0000664000175000017500000000206712050461155025315 00000000000000Part unknown { Name C2 } Part unknown { Name R4 } Part unknown { Name R3 } Part unknown { Name R8 } Part unknown { Name CE2 } Part unknown { Name RE2 } Part unknown { Name RC1 } Part unknown { Name Q2 } Part unknown { Name C1 } Part unknown { Name A3 } Part unknown { Name A2 } Part unknown { Name A1 } Part none { Name VCC } Part none { Name Vinput } Part unknown { Name CE1 } Part unknown { Name Cout } Part unknown { Name RL } Part unknown { Name RC2 } Part unknown { Name RE1 } Part unknown { Name R2 } Part unknown { Name R1 } Part unknown { Name R5 } Part unknown { Name Q1 } Signal "unnamed_net2" { C2-1 R8-2 } Signal "Vbase2" { R3-1 C2-2 R4-2 Q2-2 } Signal "Vem2" { CE2-2 RE2-2 Q2-1 } Signal "Vout" { Cout-2 RL-2 } Signal "VColl2" { Q2-3 Cout-1 RC2-1 } Signal "GND" { R4-1 CE2-1 RE2-1 VCC-2 Vinput-2 CE1-1 RL-1 RE1-1 R2-1 } Signal "Vcc" { R3-2 RC1-2 VCC-1 RC2-2 R1-2 } Signal "Vin" { Vinput-1 R5-1 } Signal "unnamed_net1" { C1-1 R5-2 } Signal "Vbase1" { C1-2 R2-2 R1-1 Q1-2 } Signal "Vem1" { CE1-2 RE1-2 Q1-1 } Signal "Vcoll1" { R8-1 RC1-1 Q1-3 } geda-gaf-1.8.2/gnetlist/tests/common/outputs/osmond/singlenet.retcode0000664000175000017500000000000212050461155022733 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/osmond/JD_Include.retcode0000664000175000017500000000000212050461155022703 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/osmond/powersupply-output.net0000664000175000017500000000125712050461155024070 00000000000000Part unknown { Name U2 } Part unknown { Name C4 } Part unknown { Name C3 } Part unknown { Name R1 } Part unknown { Name C2 } Part unknown { Name R2 } Part unknown { Name C1 } Part unknown { Name S1 } Part unknown { Name CONN1 } Part unknown { Name T1 } Part unknown { Name F1 } Part unknown { Name U1 } Signal "ten" { U2-1 R1-2 C3-1 R2-1 } Signal "eleven" { U2-2 C4-1 R2-2 } Signal "GND" { CONN1-3 } Signal "one" { S1-1 CONN1-1 } Signal "five" { CONN1-2 T1-2 } Signal "three" { T1-1 F1-2 } Signal "two" { S1-2 F1-1 } Signal "six" { T1-3 U1-4 } Signal "seven" { T1-4 U1-3 } Signal "nine" { C4-2 C3-2 R1-3 R1-1 C2-2 C1-2 U1-2 } Signal "eight" { U2-3 C2-1 C1-1 U1-1 } geda-gaf-1.8.2/gnetlist/tests/common/outputs/osmond/netattrib-output.net0000664000175000017500000000045612050461155023453 00000000000000Part unknown { Name F1 } Part DIP14 { Name U300 } Part DIP14 { Name U200 } Part DIP14 { Name U100 } Signal "unnamed_net1" { U300-2 } Signal "netattrib" { U200-2 U100-5 } Signal "GND" { U300-7 U200-7 U100-7 } Signal "Vcc" { U300-14 U200-14 U100-14 } Signal "one" { F1-1 U300-1 U200-1 U100-3 } geda-gaf-1.8.2/gnetlist/tests/common/outputs/osmond/SlottedOpamps.retcode0000664000175000017500000000000212050461155023541 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/osmond/JD.retcode0000664000175000017500000000000212050461155021240 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/osmond/multiequal.retcode0000664000175000017500000000000212050461155023125 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/osmond/JD_Sort_nomunge.retcode0000664000175000017500000000000212050461155023777 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/osmond/TwoStageAmp-output.net0000664000175000017500000000206712050461155023652 00000000000000Part unknown { Name C2 } Part unknown { Name R4 } Part unknown { Name R3 } Part unknown { Name R8 } Part unknown { Name CE2 } Part unknown { Name RE2 } Part unknown { Name RC1 } Part unknown { Name Q2 } Part unknown { Name C1 } Part unknown { Name A3 } Part unknown { Name A2 } Part unknown { Name A1 } Part none { Name VCC } Part none { Name Vinput } Part unknown { Name CE1 } Part unknown { Name Cout } Part unknown { Name RL } Part unknown { Name RC2 } Part unknown { Name RE1 } Part unknown { Name R2 } Part unknown { Name R1 } Part unknown { Name R5 } Part unknown { Name Q1 } Signal "unnamed_net2" { C2-1 R8-2 } Signal "Vbase2" { R3-1 C2-2 R4-2 Q2-2 } Signal "Vem2" { CE2-2 RE2-2 Q2-1 } Signal "Vout" { Cout-2 RL-2 } Signal "VColl2" { Q2-3 Cout-1 RC2-1 } Signal "GND" { R4-1 CE2-1 RE2-1 VCC-2 Vinput-2 CE1-1 RL-1 RE1-1 R2-1 } Signal "Vcc" { R3-2 RC1-2 VCC-1 RC2-2 R1-2 } Signal "Vin" { Vinput-1 R5-1 } Signal "unnamed_net1" { C1-1 R5-2 } Signal "Vbase1" { C1-2 R2-2 R1-1 Q1-2 } Signal "Vem1" { CE1-2 RE1-2 Q1-1 } Signal "Vcoll1" { R8-1 RC1-1 Q1-3 } geda-gaf-1.8.2/gnetlist/tests/common/outputs/osmond/JD_Include_nomunge.retcode0000664000175000017500000000000212050461155024433 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist2/0000775000175000017500000000000012220655757020310 500000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist2/JD_Include_nomunge-output.net0000664000175000017500000000060512050461155025753 00000000000000.START ..refdes device value footprint quantity Cm CAPACITOR 20p unknown 1 Cp CAPACITOR 20p unknown 1 X1 LVD unknown unknown 1 A1 model unknown unknown 1 M1 PMOS_TRANSISTOR unknown unknown 1 Rt RESISTOR 1k unknown 1 Rlp RESISTOR 1meg unknown 1 Rb RESISTOR 5.6k unknown 1 Rlm RESISTOR 500k unknown 1 Vdd VOLTAGE_SOURCE DC 3.3V none 1 V1 vpulse pulse 3.3 0 1u 10p 10p 1.25u 2.5u none 1 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist2/JD-output.net0000664000175000017500000000060512050461155022560 00000000000000.START ..refdes device value footprint quantity Cm CAPACITOR 20p unknown 1 Cp CAPACITOR 20p unknown 1 X1 LVD unknown unknown 1 A1 model unknown unknown 1 M1 PMOS_TRANSISTOR unknown unknown 1 Rt RESISTOR 1k unknown 1 Rlp RESISTOR 1meg unknown 1 Rb RESISTOR 5.6k unknown 1 Rlm RESISTOR 500k unknown 1 Vdd VOLTAGE_SOURCE DC 3.3V none 1 V1 vpulse pulse 3.3 0 1u 10p 10p 1.25u 2.5u none 1 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist2/TwoStageAmp.retcode0000664000175000017500000000000212050461155023746 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist2/stack-torture-output.net0000664000175000017500000000012412063576065025101 00000000000000.START ..refdes device value footprint quantity C? CAPACITOR unknown unknown 1 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist2/JD_Sort.retcode0000664000175000017500000000000212050461155023057 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist2/cascade-output.net0000664000175000017500000000053012050461155023643 00000000000000.START ..refdes device value footprint quantity AMP1 cascade-amp unknown none 1 AMP2 cascade-amp unknown none 1 DEF1 cascade-defaults unknown none 1 DEFAULTS cascade-defaults-top unknown unknown 1 FL1 cascade-filter unknown none 1 MX1 cascade-mixer unknown none 1 SOURCE cascade-source unknown none 1 T1 cascade-transformer unknown none 1 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist2/multiequal-output.net0000664000175000017500000000021712050461155024444 00000000000000.START ..refdes device value footprint quantity A1 options abotol=1e-11 unknown 1 R1 RESISTOR 20 unknown 1 V1 VOLTAGE_SOURCE DC 1V none 1 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist2/JD_nomunge-output.net0000664000175000017500000000060512050461155024310 00000000000000.START ..refdes device value footprint quantity Cm CAPACITOR 20p unknown 1 Cp CAPACITOR 20p unknown 1 X1 LVD unknown unknown 1 A1 model unknown unknown 1 M1 PMOS_TRANSISTOR unknown unknown 1 Rt RESISTOR 1k unknown 1 Rlp RESISTOR 1meg unknown 1 Rb RESISTOR 5.6k unknown 1 Rlm RESISTOR 500k unknown 1 Vdd VOLTAGE_SOURCE DC 3.3V none 1 V1 vpulse pulse 3.3 0 1u 10p 10p 1.25u 2.5u none 1 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist2/stack-torture.retcode0000664000175000017500000000000212063576065024375 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist2/powersupply.retcode0000664000175000017500000000000212050461155024164 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist2/JD_Sort_nomunge-output.net0000664000175000017500000000060512050461155025317 00000000000000.START ..refdes device value footprint quantity Cm CAPACITOR 20p unknown 1 Cp CAPACITOR 20p unknown 1 X1 LVD unknown unknown 1 A1 model unknown unknown 1 M1 PMOS_TRANSISTOR unknown unknown 1 Rt RESISTOR 1k unknown 1 Rlp RESISTOR 1meg unknown 1 Rb RESISTOR 5.6k unknown 1 Rlm RESISTOR 500k unknown 1 Vdd VOLTAGE_SOURCE DC 3.3V none 1 V1 vpulse pulse 3.3 0 1u 10p 10p 1.25u 2.5u none 1 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist2/TwoStageAmp_Sort.retcode0000664000175000017500000000000212050461155024755 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist2/netattrib.retcode0000664000175000017500000000000212050461155023547 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist2/JD_nomunge.retcode0000664000175000017500000000000212050461155023600 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist2/JD_Include-output.net0000664000175000017500000000060512050461155024223 00000000000000.START ..refdes device value footprint quantity Cm CAPACITOR 20p unknown 1 Cp CAPACITOR 20p unknown 1 X1 LVD unknown unknown 1 A1 model unknown unknown 1 M1 PMOS_TRANSISTOR unknown unknown 1 Rt RESISTOR 1k unknown 1 Rlp RESISTOR 1meg unknown 1 Rb RESISTOR 5.6k unknown 1 Rlm RESISTOR 500k unknown 1 Vdd VOLTAGE_SOURCE DC 3.3V none 1 V1 vpulse pulse 3.3 0 1u 10p 10p 1.25u 2.5u none 1 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist2/JD_Sort-output.net0000664000175000017500000000060512050461155023567 00000000000000.START ..refdes device value footprint quantity Cm CAPACITOR 20p unknown 1 Cp CAPACITOR 20p unknown 1 X1 LVD unknown unknown 1 A1 model unknown unknown 1 M1 PMOS_TRANSISTOR unknown unknown 1 Rt RESISTOR 1k unknown 1 Rlp RESISTOR 1meg unknown 1 Rb RESISTOR 5.6k unknown 1 Rlm RESISTOR 500k unknown 1 Vdd VOLTAGE_SOURCE DC 3.3V none 1 V1 vpulse pulse 3.3 0 1u 10p 10p 1.25u 2.5u none 1 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist2/cascade.retcode0000664000175000017500000000000212050461155023136 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist2/TwoStageAmp_Sort-output.net0000664000175000017500000000130512050461155025463 00000000000000.START ..refdes device value footprint quantity CE1 CAPACITOR 1pF unknown 1 CE2 CAPACITOR 1pF unknown 1 C1 CAPACITOR 2.2uF unknown 1 C2 CAPACITOR 2.2uF unknown 1 Cout CAPACITOR 2.2uF unknown 1 A3 directive .options TEMP=25 unknown 1 A1 model unknown unknown 1 Q1 NPN_TRANSISTOR unknown unknown 1 Q2 NPN_TRANSISTOR unknown unknown 1 R8 RESISTOR 1 unknown 1 R5 RESISTOR 10 unknown 1 RE1 RESISTOR 100 unknown 1 RE2 RESISTOR 100 unknown 1 RL RESISTOR 100K unknown 1 RC2 RESISTOR 1K unknown 1 R4 RESISTOR 2.8K unknown 1 R1 RESISTOR 28K unknown 1 R3 RESISTOR 28K unknown 1 R2 RESISTOR 2K unknown 1 RC1 RESISTOR 3.3K unknown 1 VCC VOLTAGE_SOURCE DC 15V none 1 Vinput vsin DC 1.6V AC 10MV SIN(0 1MV 1KHZ) none 1 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist2/singlenet-output.net0000664000175000017500000000011712050461155024251 00000000000000.START ..refdes device value footprint quantity U100 7400 unknown DIP14 1 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist2/TwoStageAmp_Include.retcode0000664000175000017500000000000212050461155025411 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist2/SlottedOpamps-output.net0000664000175000017500000000012012050461155025051 00000000000000.START ..refdes device value footprint quantity U1 LM324 unknown unknown 1 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist2/TwoStageAmp_Include-output.net0000664000175000017500000000130512050461155026117 00000000000000.START ..refdes device value footprint quantity CE1 CAPACITOR 1pF unknown 1 CE2 CAPACITOR 1pF unknown 1 C1 CAPACITOR 2.2uF unknown 1 C2 CAPACITOR 2.2uF unknown 1 Cout CAPACITOR 2.2uF unknown 1 A3 directive .options TEMP=25 unknown 1 A1 model unknown unknown 1 Q1 NPN_TRANSISTOR unknown unknown 1 Q2 NPN_TRANSISTOR unknown unknown 1 R8 RESISTOR 1 unknown 1 R5 RESISTOR 10 unknown 1 RE1 RESISTOR 100 unknown 1 RE2 RESISTOR 100 unknown 1 RL RESISTOR 100K unknown 1 RC2 RESISTOR 1K unknown 1 R4 RESISTOR 2.8K unknown 1 R1 RESISTOR 28K unknown 1 R3 RESISTOR 28K unknown 1 R2 RESISTOR 2K unknown 1 RC1 RESISTOR 3.3K unknown 1 VCC VOLTAGE_SOURCE DC 15V none 1 Vinput vsin DC 1.6V AC 10MV SIN(0 1MV 1KHZ) none 1 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist2/singlenet.retcode0000664000175000017500000000000212050461155023543 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist2/JD_Include.retcode0000664000175000017500000000000212050461155023513 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist2/powersupply-output.net0000664000175000017500000000070512050461155024675 00000000000000.START ..refdes device value footprint quantity U1 DIODE-BRIDGE unknown unknown 1 F1 FUSE unknown unknown 1 U2 LM317 unknown unknown 1 CONN1 MAINS_CONNECTOR unknown unknown 1 C2 POLARIZED_CAPACITOR 0.1uF unknown 1 C4 POLARIZED_CAPACITOR 1uf unknown 1 C1 POLARIZED_CAPACITOR 2200uF unknown 1 C3 POLARIZED_CAPACITOR 22uF unknown 1 R2 RESISTOR 220 unknown 1 S1 SPST unknown unknown 1 T1 transformer unknown unknown 1 R1 VARIABLE_RESISTOR 5k unknown 1 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist2/netattrib-output.net0000664000175000017500000000023512050461155024256 00000000000000.START ..refdes device value footprint quantity U100 7400 unknown DIP14 1 U200 7404 unknown DIP14 1 U300 7404 unknown DIP14 1 F1 FUSE unknown unknown 1 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist2/SlottedOpamps.retcode0000664000175000017500000000000212050461155024351 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist2/JD.retcode0000664000175000017500000000000212050461155022050 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist2/multiequal.retcode0000664000175000017500000000000212050461155023735 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist2/JD_Sort_nomunge.retcode0000664000175000017500000000000212050461155024607 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist2/TwoStageAmp-output.net0000664000175000017500000000130512050461155024454 00000000000000.START ..refdes device value footprint quantity CE1 CAPACITOR 1pF unknown 1 CE2 CAPACITOR 1pF unknown 1 C1 CAPACITOR 2.2uF unknown 1 C2 CAPACITOR 2.2uF unknown 1 Cout CAPACITOR 2.2uF unknown 1 A3 directive .options TEMP=25 unknown 1 A1 model unknown unknown 1 Q1 NPN_TRANSISTOR unknown unknown 1 Q2 NPN_TRANSISTOR unknown unknown 1 R8 RESISTOR 1 unknown 1 R5 RESISTOR 10 unknown 1 RE1 RESISTOR 100 unknown 1 RE2 RESISTOR 100 unknown 1 RL RESISTOR 100K unknown 1 RC2 RESISTOR 1K unknown 1 R4 RESISTOR 2.8K unknown 1 R1 RESISTOR 28K unknown 1 R3 RESISTOR 28K unknown 1 R2 RESISTOR 2K unknown 1 RC1 RESISTOR 3.3K unknown 1 VCC VOLTAGE_SOURCE DC 15V none 1 Vinput vsin DC 1.6V AC 10MV SIN(0 1MV 1KHZ) none 1 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist2/JD_Include_nomunge.retcode0000664000175000017500000000000212050461155025243 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/verilog/0000775000175000017500000000000012220655760017642 500000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/verilog/JD_Include_nomunge-output.net0000664000175000017500000000232612050461155025315 00000000000000/* structural Verilog generated by gnetlist */ /* WARNING: This is a generated file, edits */ /* made here will be lost next time */ /* you run gnetlist! */ /* Id ..........$Id$ */ /* Source.......$Source$ */ /* Revision.....$Revision$ */ /* Author.......$Author$ */ module \not found ( ); /* Port directions begin here */ /* Wires from the design */ wire Vdd1 ; wire GND ; wire LVH ; wire i ; wire p ; wire m ; /* continuous assignments */ /* Package instantiations */ model A1 ( ); CAPACITOR Cm ( .\1 ( m ), .\2 ( GND ) ); CAPACITOR Cp ( .\1 ( p ), .\2 ( GND ) ); RESISTOR Rlp ( .\2 ( Vdd1 ), .\1 ( p ) ); RESISTOR Rlm ( .\2 ( GND ), .\1 ( m ) ); VOLTAGE_SOURCE Vdd ( .\1 ( Vdd1 ), .\2 ( GND ) ); vpulse V1 ( .\1 ( i ), .\2 ( GND ) ); RESISTOR Rt ( .\2 ( m ), .\1 ( p ) ); RESISTOR Rb ( .\2 ( LVH ), .\1 ( GND ) ); PMOS_TRANSISTOR M1 ( .S ( Vdd1 ), .B ( Vdd1 ), .D ( LVH ), .G ( LVH ) ); LVD X1 ( .\4 ( m ), .\5 ( p ), .\1 ( i ), .\3 ( LVH ), .\2 ( GND ), .\6 ( Vdd1 ), .\7 ( GND ) ); endmodule geda-gaf-1.8.2/gnetlist/tests/common/outputs/verilog/JD-output.net0000664000175000017500000000232612050461155022122 00000000000000/* structural Verilog generated by gnetlist */ /* WARNING: This is a generated file, edits */ /* made here will be lost next time */ /* you run gnetlist! */ /* Id ..........$Id$ */ /* Source.......$Source$ */ /* Revision.....$Revision$ */ /* Author.......$Author$ */ module \not found ( ); /* Port directions begin here */ /* Wires from the design */ wire Vdd1 ; wire GND ; wire LVH ; wire i ; wire p ; wire m ; /* continuous assignments */ /* Package instantiations */ model A1 ( ); CAPACITOR Cm ( .\1 ( m ), .\2 ( GND ) ); CAPACITOR Cp ( .\1 ( p ), .\2 ( GND ) ); RESISTOR Rlp ( .\2 ( Vdd1 ), .\1 ( p ) ); RESISTOR Rlm ( .\2 ( GND ), .\1 ( m ) ); VOLTAGE_SOURCE Vdd ( .\1 ( Vdd1 ), .\2 ( GND ) ); vpulse V1 ( .\1 ( i ), .\2 ( GND ) ); RESISTOR Rt ( .\2 ( m ), .\1 ( p ) ); RESISTOR Rb ( .\2 ( LVH ), .\1 ( GND ) ); PMOS_TRANSISTOR M1 ( .S ( Vdd1 ), .B ( Vdd1 ), .D ( LVH ), .G ( LVH ) ); LVD X1 ( .\4 ( m ), .\5 ( p ), .\1 ( i ), .\3 ( LVH ), .\2 ( GND ), .\6 ( Vdd1 ), .\7 ( GND ) ); endmodule geda-gaf-1.8.2/gnetlist/tests/common/outputs/verilog/TwoStageAmp.retcode0000664000175000017500000000000212050461155023306 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/verilog/stack-torture-output.net0000664000175000017500000024041112063576065024446 00000000000000/* structural Verilog generated by gnetlist */ /* WARNING: This is a generated file, edits */ /* made here will be lost next time */ /* you run gnetlist! */ /* Id ..........$Id$ */ /* Source.......$Source$ */ /* Revision.....$Revision$ */ /* Author.......$Author$ */ module \not found ( ); /* Port directions begin here */ /* Wires from the design */ wire unnamed_net1025 ; wire unnamed_net1024 ; wire unnamed_net1023 ; wire unnamed_net1022 ; wire unnamed_net1021 ; wire unnamed_net1020 ; wire unnamed_net1019 ; wire unnamed_net1018 ; wire unnamed_net1017 ; wire unnamed_net1016 ; wire unnamed_net1015 ; wire unnamed_net1014 ; wire unnamed_net1013 ; wire unnamed_net1012 ; wire unnamed_net1011 ; wire unnamed_net1010 ; wire unnamed_net1009 ; wire unnamed_net1008 ; wire unnamed_net1007 ; wire unnamed_net1006 ; wire unnamed_net1005 ; wire unnamed_net1004 ; wire unnamed_net1003 ; wire unnamed_net1002 ; wire unnamed_net1001 ; wire unnamed_net1000 ; wire unnamed_net999 ; wire unnamed_net998 ; wire unnamed_net997 ; wire unnamed_net996 ; wire unnamed_net995 ; wire unnamed_net994 ; wire unnamed_net993 ; wire unnamed_net992 ; wire unnamed_net991 ; wire unnamed_net990 ; wire unnamed_net989 ; wire unnamed_net988 ; wire unnamed_net987 ; wire unnamed_net986 ; wire unnamed_net985 ; wire unnamed_net984 ; wire unnamed_net983 ; wire unnamed_net982 ; wire unnamed_net981 ; wire unnamed_net980 ; wire unnamed_net979 ; wire unnamed_net978 ; wire unnamed_net977 ; wire unnamed_net976 ; wire unnamed_net975 ; wire unnamed_net974 ; wire unnamed_net973 ; wire unnamed_net972 ; wire unnamed_net971 ; wire unnamed_net970 ; wire unnamed_net969 ; wire unnamed_net968 ; wire unnamed_net967 ; wire unnamed_net966 ; wire unnamed_net965 ; wire unnamed_net964 ; wire unnamed_net963 ; wire unnamed_net962 ; wire unnamed_net961 ; wire unnamed_net960 ; wire unnamed_net959 ; wire unnamed_net958 ; wire unnamed_net957 ; wire unnamed_net956 ; wire unnamed_net955 ; wire unnamed_net954 ; wire unnamed_net953 ; wire unnamed_net952 ; wire unnamed_net951 ; wire unnamed_net950 ; wire unnamed_net949 ; wire unnamed_net948 ; wire unnamed_net947 ; wire unnamed_net946 ; wire unnamed_net945 ; wire unnamed_net944 ; wire unnamed_net943 ; wire unnamed_net942 ; wire unnamed_net941 ; wire unnamed_net940 ; wire unnamed_net939 ; wire unnamed_net938 ; wire unnamed_net937 ; wire unnamed_net936 ; wire unnamed_net935 ; wire unnamed_net934 ; wire unnamed_net933 ; wire unnamed_net932 ; wire unnamed_net931 ; wire unnamed_net930 ; wire unnamed_net929 ; wire unnamed_net928 ; wire unnamed_net927 ; wire unnamed_net926 ; wire unnamed_net925 ; wire unnamed_net924 ; wire unnamed_net923 ; wire unnamed_net922 ; wire unnamed_net921 ; wire unnamed_net920 ; wire unnamed_net919 ; wire unnamed_net918 ; wire unnamed_net917 ; wire unnamed_net916 ; wire unnamed_net915 ; wire unnamed_net914 ; wire unnamed_net913 ; wire unnamed_net912 ; wire unnamed_net911 ; wire unnamed_net910 ; wire unnamed_net909 ; wire unnamed_net908 ; wire unnamed_net907 ; wire unnamed_net906 ; wire unnamed_net905 ; wire unnamed_net904 ; wire unnamed_net903 ; wire unnamed_net902 ; wire unnamed_net901 ; wire unnamed_net900 ; wire unnamed_net899 ; wire unnamed_net898 ; wire unnamed_net897 ; wire unnamed_net896 ; wire unnamed_net895 ; wire unnamed_net894 ; wire unnamed_net893 ; wire unnamed_net892 ; wire unnamed_net891 ; wire unnamed_net890 ; wire unnamed_net889 ; wire unnamed_net888 ; wire unnamed_net887 ; wire unnamed_net886 ; wire unnamed_net885 ; wire unnamed_net884 ; wire unnamed_net883 ; wire unnamed_net882 ; wire unnamed_net881 ; wire unnamed_net880 ; wire unnamed_net879 ; wire unnamed_net878 ; wire unnamed_net877 ; wire unnamed_net876 ; wire unnamed_net875 ; wire unnamed_net874 ; wire unnamed_net873 ; wire unnamed_net872 ; wire unnamed_net871 ; wire unnamed_net870 ; wire unnamed_net869 ; wire unnamed_net868 ; wire unnamed_net867 ; wire unnamed_net866 ; wire unnamed_net865 ; wire unnamed_net864 ; wire unnamed_net863 ; wire unnamed_net862 ; wire unnamed_net861 ; wire unnamed_net860 ; wire unnamed_net859 ; wire unnamed_net858 ; wire unnamed_net857 ; wire unnamed_net856 ; wire unnamed_net855 ; wire unnamed_net854 ; wire unnamed_net853 ; wire unnamed_net852 ; wire unnamed_net851 ; wire unnamed_net850 ; wire unnamed_net849 ; wire unnamed_net848 ; wire unnamed_net847 ; wire unnamed_net846 ; wire unnamed_net845 ; wire unnamed_net844 ; wire unnamed_net843 ; wire unnamed_net842 ; wire unnamed_net841 ; wire unnamed_net840 ; wire unnamed_net839 ; wire unnamed_net838 ; wire unnamed_net837 ; wire unnamed_net836 ; wire unnamed_net835 ; wire unnamed_net834 ; wire unnamed_net833 ; wire unnamed_net832 ; wire unnamed_net831 ; wire unnamed_net830 ; wire unnamed_net829 ; wire unnamed_net828 ; wire unnamed_net827 ; wire unnamed_net826 ; wire unnamed_net825 ; wire unnamed_net824 ; wire unnamed_net823 ; wire unnamed_net822 ; wire unnamed_net821 ; wire unnamed_net820 ; wire unnamed_net819 ; wire unnamed_net818 ; wire unnamed_net817 ; wire unnamed_net816 ; wire unnamed_net815 ; wire unnamed_net814 ; wire unnamed_net813 ; wire unnamed_net812 ; wire unnamed_net811 ; wire unnamed_net810 ; wire unnamed_net809 ; wire unnamed_net808 ; wire unnamed_net807 ; wire unnamed_net806 ; wire unnamed_net805 ; wire unnamed_net804 ; wire unnamed_net803 ; wire unnamed_net802 ; wire unnamed_net801 ; wire unnamed_net800 ; wire unnamed_net799 ; wire unnamed_net798 ; wire unnamed_net797 ; wire unnamed_net796 ; wire unnamed_net795 ; wire unnamed_net794 ; wire unnamed_net793 ; wire unnamed_net792 ; wire unnamed_net791 ; wire unnamed_net790 ; wire unnamed_net789 ; wire unnamed_net788 ; wire unnamed_net787 ; wire unnamed_net786 ; wire unnamed_net785 ; wire unnamed_net784 ; wire unnamed_net783 ; wire unnamed_net782 ; wire unnamed_net781 ; wire unnamed_net780 ; wire unnamed_net779 ; wire unnamed_net778 ; wire unnamed_net777 ; wire unnamed_net776 ; wire unnamed_net775 ; wire unnamed_net774 ; wire unnamed_net773 ; wire unnamed_net772 ; wire unnamed_net771 ; wire unnamed_net770 ; wire unnamed_net769 ; wire unnamed_net768 ; wire unnamed_net767 ; wire unnamed_net766 ; wire unnamed_net765 ; wire unnamed_net764 ; wire unnamed_net763 ; wire unnamed_net762 ; wire unnamed_net761 ; wire unnamed_net760 ; wire unnamed_net759 ; wire unnamed_net758 ; wire unnamed_net757 ; wire unnamed_net756 ; wire unnamed_net755 ; wire unnamed_net754 ; wire unnamed_net753 ; wire unnamed_net752 ; wire unnamed_net751 ; wire unnamed_net750 ; wire unnamed_net749 ; wire unnamed_net748 ; wire unnamed_net747 ; wire unnamed_net746 ; wire unnamed_net745 ; wire unnamed_net744 ; wire unnamed_net743 ; wire unnamed_net742 ; wire unnamed_net741 ; wire unnamed_net740 ; wire unnamed_net739 ; wire unnamed_net738 ; wire unnamed_net737 ; wire unnamed_net736 ; wire unnamed_net735 ; wire unnamed_net734 ; wire unnamed_net733 ; wire unnamed_net732 ; wire unnamed_net731 ; wire unnamed_net730 ; wire unnamed_net729 ; wire unnamed_net728 ; wire unnamed_net727 ; wire unnamed_net726 ; wire unnamed_net725 ; wire unnamed_net724 ; wire unnamed_net723 ; wire unnamed_net722 ; wire unnamed_net721 ; wire unnamed_net720 ; wire unnamed_net719 ; wire unnamed_net718 ; wire unnamed_net717 ; wire unnamed_net716 ; wire unnamed_net715 ; wire unnamed_net714 ; wire unnamed_net713 ; wire unnamed_net712 ; wire unnamed_net711 ; wire unnamed_net710 ; wire unnamed_net709 ; wire unnamed_net708 ; wire unnamed_net707 ; wire unnamed_net706 ; wire unnamed_net705 ; wire unnamed_net704 ; wire unnamed_net703 ; wire unnamed_net702 ; wire unnamed_net701 ; wire unnamed_net700 ; wire unnamed_net699 ; wire unnamed_net698 ; wire unnamed_net697 ; wire unnamed_net696 ; wire unnamed_net695 ; wire unnamed_net694 ; wire unnamed_net693 ; wire unnamed_net692 ; wire unnamed_net691 ; wire unnamed_net690 ; wire unnamed_net689 ; wire unnamed_net688 ; wire unnamed_net687 ; wire unnamed_net686 ; wire unnamed_net685 ; wire unnamed_net684 ; wire unnamed_net683 ; wire unnamed_net682 ; wire unnamed_net681 ; wire unnamed_net680 ; wire unnamed_net679 ; wire unnamed_net678 ; wire unnamed_net677 ; wire unnamed_net676 ; wire unnamed_net675 ; wire unnamed_net674 ; wire unnamed_net673 ; wire unnamed_net672 ; wire unnamed_net671 ; wire unnamed_net670 ; wire unnamed_net669 ; wire unnamed_net668 ; wire unnamed_net667 ; wire unnamed_net666 ; wire unnamed_net665 ; wire unnamed_net664 ; wire unnamed_net663 ; wire unnamed_net662 ; wire unnamed_net661 ; wire unnamed_net660 ; wire unnamed_net659 ; wire unnamed_net658 ; wire unnamed_net657 ; wire unnamed_net656 ; wire unnamed_net655 ; wire unnamed_net654 ; wire unnamed_net653 ; wire unnamed_net652 ; wire unnamed_net651 ; wire unnamed_net650 ; wire unnamed_net649 ; wire unnamed_net648 ; wire unnamed_net647 ; wire unnamed_net646 ; wire unnamed_net645 ; wire unnamed_net644 ; wire unnamed_net643 ; wire unnamed_net642 ; wire unnamed_net641 ; wire unnamed_net640 ; wire unnamed_net639 ; wire unnamed_net638 ; wire unnamed_net637 ; wire unnamed_net636 ; wire unnamed_net635 ; wire unnamed_net634 ; wire unnamed_net633 ; wire unnamed_net632 ; wire unnamed_net631 ; wire unnamed_net630 ; wire unnamed_net629 ; wire unnamed_net628 ; wire unnamed_net627 ; wire unnamed_net626 ; wire unnamed_net625 ; wire unnamed_net624 ; wire unnamed_net623 ; wire unnamed_net622 ; wire unnamed_net621 ; wire unnamed_net620 ; wire unnamed_net619 ; wire unnamed_net618 ; wire unnamed_net617 ; wire unnamed_net616 ; wire unnamed_net615 ; wire unnamed_net614 ; wire unnamed_net613 ; wire unnamed_net612 ; wire unnamed_net611 ; wire unnamed_net610 ; wire unnamed_net609 ; wire unnamed_net608 ; wire unnamed_net607 ; wire unnamed_net606 ; wire unnamed_net605 ; wire unnamed_net604 ; wire unnamed_net603 ; wire unnamed_net602 ; wire unnamed_net601 ; wire unnamed_net600 ; wire unnamed_net599 ; wire unnamed_net598 ; wire unnamed_net597 ; wire unnamed_net596 ; wire unnamed_net595 ; wire unnamed_net594 ; wire unnamed_net593 ; wire unnamed_net592 ; wire unnamed_net591 ; wire unnamed_net590 ; wire unnamed_net589 ; wire unnamed_net588 ; wire unnamed_net587 ; wire unnamed_net586 ; wire unnamed_net585 ; wire unnamed_net584 ; wire unnamed_net583 ; wire unnamed_net582 ; wire unnamed_net581 ; wire unnamed_net580 ; wire unnamed_net579 ; wire unnamed_net578 ; wire unnamed_net577 ; wire unnamed_net576 ; wire unnamed_net575 ; wire unnamed_net574 ; wire unnamed_net573 ; wire unnamed_net572 ; wire unnamed_net571 ; wire unnamed_net570 ; wire unnamed_net569 ; wire unnamed_net568 ; wire unnamed_net567 ; wire unnamed_net566 ; wire unnamed_net565 ; wire unnamed_net564 ; wire unnamed_net563 ; wire unnamed_net562 ; wire unnamed_net561 ; wire unnamed_net560 ; wire unnamed_net559 ; wire unnamed_net558 ; wire unnamed_net557 ; wire unnamed_net556 ; wire unnamed_net555 ; wire unnamed_net554 ; wire unnamed_net553 ; wire unnamed_net552 ; wire unnamed_net551 ; wire unnamed_net550 ; wire unnamed_net549 ; wire unnamed_net548 ; wire unnamed_net547 ; wire unnamed_net546 ; wire unnamed_net545 ; wire unnamed_net544 ; wire unnamed_net543 ; wire unnamed_net542 ; wire unnamed_net541 ; wire unnamed_net540 ; wire unnamed_net539 ; wire unnamed_net538 ; wire unnamed_net537 ; wire unnamed_net536 ; wire unnamed_net535 ; wire unnamed_net534 ; wire unnamed_net533 ; wire unnamed_net532 ; wire unnamed_net531 ; wire unnamed_net530 ; wire unnamed_net529 ; wire unnamed_net528 ; wire unnamed_net527 ; wire unnamed_net526 ; wire unnamed_net525 ; wire unnamed_net524 ; wire unnamed_net523 ; wire unnamed_net522 ; wire unnamed_net521 ; wire unnamed_net520 ; wire unnamed_net519 ; wire unnamed_net518 ; wire unnamed_net517 ; wire unnamed_net516 ; wire unnamed_net515 ; wire unnamed_net514 ; wire unnamed_net513 ; wire unnamed_net512 ; wire unnamed_net511 ; wire unnamed_net510 ; wire unnamed_net509 ; wire unnamed_net508 ; wire unnamed_net507 ; wire unnamed_net506 ; wire unnamed_net505 ; wire unnamed_net504 ; wire unnamed_net503 ; wire unnamed_net502 ; wire unnamed_net501 ; wire unnamed_net500 ; wire unnamed_net499 ; wire unnamed_net498 ; wire unnamed_net497 ; wire unnamed_net496 ; wire unnamed_net495 ; wire unnamed_net494 ; wire unnamed_net493 ; wire unnamed_net492 ; wire unnamed_net491 ; wire unnamed_net490 ; wire unnamed_net489 ; wire unnamed_net488 ; wire unnamed_net487 ; wire unnamed_net486 ; wire unnamed_net485 ; wire unnamed_net484 ; wire unnamed_net483 ; wire unnamed_net482 ; wire unnamed_net481 ; wire unnamed_net480 ; wire unnamed_net479 ; wire unnamed_net478 ; wire unnamed_net477 ; wire unnamed_net476 ; wire unnamed_net475 ; wire unnamed_net474 ; wire unnamed_net473 ; wire unnamed_net472 ; wire unnamed_net471 ; wire unnamed_net470 ; wire unnamed_net469 ; wire unnamed_net468 ; wire unnamed_net467 ; wire unnamed_net466 ; wire unnamed_net465 ; wire unnamed_net464 ; wire unnamed_net463 ; wire unnamed_net462 ; wire unnamed_net461 ; wire unnamed_net460 ; wire unnamed_net459 ; wire unnamed_net458 ; wire unnamed_net457 ; wire unnamed_net456 ; wire unnamed_net455 ; wire unnamed_net454 ; wire unnamed_net453 ; wire unnamed_net452 ; wire unnamed_net451 ; wire unnamed_net450 ; wire unnamed_net449 ; wire unnamed_net448 ; wire unnamed_net447 ; wire unnamed_net446 ; wire unnamed_net445 ; wire unnamed_net444 ; wire unnamed_net443 ; wire unnamed_net442 ; wire unnamed_net441 ; wire unnamed_net440 ; wire unnamed_net439 ; wire unnamed_net438 ; wire unnamed_net437 ; wire unnamed_net436 ; wire unnamed_net435 ; wire unnamed_net434 ; wire unnamed_net433 ; wire unnamed_net432 ; wire unnamed_net431 ; wire unnamed_net430 ; wire unnamed_net429 ; wire unnamed_net428 ; wire unnamed_net427 ; wire unnamed_net426 ; wire unnamed_net425 ; wire unnamed_net424 ; wire unnamed_net423 ; wire unnamed_net422 ; wire unnamed_net421 ; wire unnamed_net420 ; wire unnamed_net419 ; wire unnamed_net418 ; wire unnamed_net417 ; wire unnamed_net416 ; wire unnamed_net415 ; wire unnamed_net414 ; wire unnamed_net413 ; wire unnamed_net412 ; wire unnamed_net411 ; wire unnamed_net410 ; wire unnamed_net409 ; wire unnamed_net408 ; wire unnamed_net407 ; wire unnamed_net406 ; wire unnamed_net405 ; wire unnamed_net404 ; wire unnamed_net403 ; wire unnamed_net402 ; wire unnamed_net401 ; wire unnamed_net400 ; wire unnamed_net399 ; wire unnamed_net398 ; wire unnamed_net397 ; wire unnamed_net396 ; wire unnamed_net395 ; wire unnamed_net394 ; wire unnamed_net393 ; wire unnamed_net392 ; wire unnamed_net391 ; wire unnamed_net390 ; wire unnamed_net389 ; wire unnamed_net388 ; wire unnamed_net387 ; wire unnamed_net386 ; wire unnamed_net385 ; wire unnamed_net384 ; wire unnamed_net383 ; wire unnamed_net382 ; wire unnamed_net381 ; wire unnamed_net380 ; wire unnamed_net379 ; wire unnamed_net378 ; wire unnamed_net377 ; wire unnamed_net376 ; wire unnamed_net375 ; wire unnamed_net374 ; wire unnamed_net373 ; wire unnamed_net372 ; wire unnamed_net371 ; wire unnamed_net370 ; wire unnamed_net369 ; wire unnamed_net368 ; wire unnamed_net367 ; wire unnamed_net366 ; wire unnamed_net365 ; wire unnamed_net364 ; wire unnamed_net363 ; wire unnamed_net362 ; wire unnamed_net361 ; wire unnamed_net360 ; wire unnamed_net359 ; wire unnamed_net358 ; wire unnamed_net357 ; wire unnamed_net356 ; wire unnamed_net355 ; wire unnamed_net354 ; wire unnamed_net353 ; wire unnamed_net352 ; wire unnamed_net351 ; wire unnamed_net350 ; wire unnamed_net349 ; wire unnamed_net348 ; wire unnamed_net347 ; wire unnamed_net346 ; wire unnamed_net345 ; wire unnamed_net344 ; wire unnamed_net343 ; wire unnamed_net342 ; wire unnamed_net341 ; wire unnamed_net340 ; wire unnamed_net339 ; wire unnamed_net338 ; wire unnamed_net337 ; wire unnamed_net336 ; wire unnamed_net335 ; wire unnamed_net334 ; wire unnamed_net333 ; wire unnamed_net332 ; wire unnamed_net331 ; wire unnamed_net330 ; wire unnamed_net329 ; wire unnamed_net328 ; wire unnamed_net327 ; wire unnamed_net326 ; wire unnamed_net325 ; wire unnamed_net324 ; wire unnamed_net323 ; wire unnamed_net322 ; wire unnamed_net321 ; wire unnamed_net320 ; wire unnamed_net319 ; wire unnamed_net318 ; wire unnamed_net317 ; wire unnamed_net316 ; wire unnamed_net315 ; wire unnamed_net314 ; wire unnamed_net313 ; wire unnamed_net312 ; wire unnamed_net311 ; wire unnamed_net310 ; wire unnamed_net309 ; wire unnamed_net308 ; wire unnamed_net307 ; wire unnamed_net306 ; wire unnamed_net305 ; wire unnamed_net304 ; wire unnamed_net303 ; wire unnamed_net302 ; wire unnamed_net301 ; wire unnamed_net300 ; wire unnamed_net299 ; wire unnamed_net298 ; wire unnamed_net297 ; wire unnamed_net296 ; wire unnamed_net295 ; wire unnamed_net294 ; wire unnamed_net293 ; wire unnamed_net292 ; wire unnamed_net291 ; wire unnamed_net290 ; wire unnamed_net289 ; wire unnamed_net288 ; wire unnamed_net287 ; wire unnamed_net286 ; wire unnamed_net285 ; wire unnamed_net284 ; wire unnamed_net283 ; wire unnamed_net282 ; wire unnamed_net281 ; wire unnamed_net280 ; wire unnamed_net279 ; wire unnamed_net278 ; wire unnamed_net277 ; wire unnamed_net276 ; wire unnamed_net275 ; wire unnamed_net274 ; wire unnamed_net273 ; wire unnamed_net272 ; wire unnamed_net271 ; wire unnamed_net270 ; wire unnamed_net269 ; wire unnamed_net268 ; wire unnamed_net267 ; wire unnamed_net266 ; wire unnamed_net265 ; wire unnamed_net264 ; wire unnamed_net263 ; wire unnamed_net262 ; wire unnamed_net261 ; wire unnamed_net260 ; wire unnamed_net259 ; wire unnamed_net258 ; wire unnamed_net257 ; wire unnamed_net256 ; wire unnamed_net255 ; wire unnamed_net254 ; wire unnamed_net253 ; wire unnamed_net252 ; wire unnamed_net251 ; wire unnamed_net250 ; wire unnamed_net249 ; wire unnamed_net248 ; wire unnamed_net247 ; wire unnamed_net246 ; wire unnamed_net245 ; wire unnamed_net244 ; wire unnamed_net243 ; wire unnamed_net242 ; wire unnamed_net241 ; wire unnamed_net240 ; wire unnamed_net239 ; wire unnamed_net238 ; wire unnamed_net237 ; wire unnamed_net236 ; wire unnamed_net235 ; wire unnamed_net234 ; wire unnamed_net233 ; wire unnamed_net232 ; wire unnamed_net231 ; wire unnamed_net230 ; wire unnamed_net229 ; wire unnamed_net228 ; wire unnamed_net227 ; wire unnamed_net226 ; wire unnamed_net225 ; wire unnamed_net224 ; wire unnamed_net223 ; wire unnamed_net222 ; wire unnamed_net221 ; wire unnamed_net220 ; wire unnamed_net219 ; wire unnamed_net218 ; wire unnamed_net217 ; wire unnamed_net216 ; wire unnamed_net215 ; wire unnamed_net214 ; wire unnamed_net213 ; wire unnamed_net212 ; wire unnamed_net211 ; wire unnamed_net210 ; wire unnamed_net209 ; wire unnamed_net208 ; wire unnamed_net207 ; wire unnamed_net206 ; wire unnamed_net205 ; wire unnamed_net204 ; wire unnamed_net203 ; wire unnamed_net202 ; wire unnamed_net201 ; wire unnamed_net200 ; wire unnamed_net199 ; wire unnamed_net198 ; wire unnamed_net197 ; wire unnamed_net196 ; wire unnamed_net195 ; wire unnamed_net194 ; wire unnamed_net193 ; wire unnamed_net192 ; wire unnamed_net191 ; wire unnamed_net190 ; wire unnamed_net189 ; wire unnamed_net188 ; wire unnamed_net187 ; wire unnamed_net186 ; wire unnamed_net185 ; wire unnamed_net184 ; wire unnamed_net183 ; wire unnamed_net182 ; wire unnamed_net181 ; wire unnamed_net180 ; wire unnamed_net179 ; wire unnamed_net178 ; wire unnamed_net177 ; wire unnamed_net176 ; wire unnamed_net175 ; wire unnamed_net174 ; wire unnamed_net173 ; wire unnamed_net172 ; wire unnamed_net171 ; wire unnamed_net170 ; wire unnamed_net169 ; wire unnamed_net168 ; wire unnamed_net167 ; wire unnamed_net166 ; wire unnamed_net165 ; wire unnamed_net164 ; wire unnamed_net163 ; wire unnamed_net162 ; wire unnamed_net161 ; wire unnamed_net160 ; wire unnamed_net159 ; wire unnamed_net158 ; wire unnamed_net157 ; wire unnamed_net156 ; wire unnamed_net155 ; wire unnamed_net154 ; wire unnamed_net153 ; wire unnamed_net152 ; wire unnamed_net151 ; wire unnamed_net150 ; wire unnamed_net149 ; wire unnamed_net148 ; wire unnamed_net147 ; wire unnamed_net146 ; wire unnamed_net145 ; wire unnamed_net144 ; wire unnamed_net143 ; wire unnamed_net142 ; wire unnamed_net141 ; wire unnamed_net140 ; wire unnamed_net139 ; wire unnamed_net138 ; wire unnamed_net137 ; wire unnamed_net136 ; wire unnamed_net135 ; wire unnamed_net134 ; wire unnamed_net133 ; wire unnamed_net132 ; wire unnamed_net131 ; wire unnamed_net130 ; wire unnamed_net129 ; wire unnamed_net128 ; wire unnamed_net127 ; wire unnamed_net126 ; wire unnamed_net125 ; wire unnamed_net124 ; wire unnamed_net123 ; wire unnamed_net122 ; wire unnamed_net121 ; wire unnamed_net120 ; wire unnamed_net119 ; wire unnamed_net118 ; wire unnamed_net117 ; wire unnamed_net116 ; wire unnamed_net115 ; wire unnamed_net114 ; wire unnamed_net113 ; wire unnamed_net112 ; wire unnamed_net111 ; wire unnamed_net110 ; wire unnamed_net109 ; wire unnamed_net108 ; wire unnamed_net107 ; wire unnamed_net106 ; wire unnamed_net105 ; wire unnamed_net104 ; wire unnamed_net103 ; wire unnamed_net102 ; wire unnamed_net101 ; wire unnamed_net100 ; wire unnamed_net99 ; wire unnamed_net98 ; wire unnamed_net97 ; wire unnamed_net96 ; wire unnamed_net95 ; wire unnamed_net94 ; wire unnamed_net93 ; wire unnamed_net92 ; wire unnamed_net91 ; wire unnamed_net90 ; wire unnamed_net89 ; wire unnamed_net88 ; wire unnamed_net87 ; wire unnamed_net86 ; wire unnamed_net85 ; wire unnamed_net84 ; wire unnamed_net83 ; wire unnamed_net82 ; wire unnamed_net81 ; wire unnamed_net80 ; wire unnamed_net79 ; wire unnamed_net78 ; wire unnamed_net77 ; wire unnamed_net76 ; wire unnamed_net75 ; wire unnamed_net74 ; wire unnamed_net73 ; wire unnamed_net72 ; wire unnamed_net71 ; wire unnamed_net70 ; wire unnamed_net69 ; wire unnamed_net68 ; wire unnamed_net67 ; wire unnamed_net66 ; wire unnamed_net65 ; wire unnamed_net64 ; wire unnamed_net63 ; wire unnamed_net62 ; wire unnamed_net61 ; wire unnamed_net60 ; wire unnamed_net59 ; wire unnamed_net58 ; wire unnamed_net57 ; wire unnamed_net56 ; wire unnamed_net55 ; wire unnamed_net54 ; wire unnamed_net53 ; wire unnamed_net52 ; wire unnamed_net51 ; wire unnamed_net50 ; wire unnamed_net49 ; wire unnamed_net48 ; wire unnamed_net47 ; wire unnamed_net46 ; wire unnamed_net45 ; wire unnamed_net44 ; wire unnamed_net43 ; wire unnamed_net42 ; wire unnamed_net41 ; wire unnamed_net40 ; wire unnamed_net39 ; wire unnamed_net38 ; wire unnamed_net37 ; wire unnamed_net36 ; wire unnamed_net35 ; wire unnamed_net34 ; wire unnamed_net33 ; wire unnamed_net32 ; wire unnamed_net31 ; wire unnamed_net30 ; wire unnamed_net29 ; wire unnamed_net28 ; wire unnamed_net27 ; wire unnamed_net26 ; wire unnamed_net25 ; wire unnamed_net24 ; wire unnamed_net23 ; wire unnamed_net22 ; wire unnamed_net21 ; wire unnamed_net20 ; wire unnamed_net19 ; wire unnamed_net18 ; wire unnamed_net17 ; wire unnamed_net16 ; wire unnamed_net15 ; wire unnamed_net14 ; wire unnamed_net13 ; wire unnamed_net12 ; wire unnamed_net11 ; wire unnamed_net10 ; wire unnamed_net9 ; wire unnamed_net8 ; wire unnamed_net7 ; wire unnamed_net6 ; wire unnamed_net5 ; wire unnamed_net4 ; wire unnamed_net3 ; wire unnamed_net2 ; wire unnamed_net1 ; /* continuous assignments */ /* Package instantiations */ CAPACITOR \C? ( .\1 ( unnamed_net1 ), .\2 ( unnamed_net2 ), .\1 ( unnamed_net3 ), .\2 ( unnamed_net4 ), .\1 ( unnamed_net1 ), .\2 ( unnamed_net5 ), .\1 ( unnamed_net2 ), .\2 ( unnamed_net6 ), .\1 ( unnamed_net7 ), .\2 ( unnamed_net8 ), .\1 ( unnamed_net5 ), .\2 ( unnamed_net9 ), .\1 ( unnamed_net7 ), .\2 ( unnamed_net10 ), .\1 ( unnamed_net8 ), .\2 ( unnamed_net11 ), .\1 ( unnamed_net3 ), .\2 ( unnamed_net12 ), .\1 ( unnamed_net13 ), .\2 ( unnamed_net14 ), .\1 ( unnamed_net4 ), .\2 ( unnamed_net15 ), .\1 ( unnamed_net12 ), .\2 ( unnamed_net16 ), .\1 ( unnamed_net6 ), .\2 ( unnamed_net17 ), .\1 ( unnamed_net15 ), .\2 ( unnamed_net18 ), .\1 ( unnamed_net9 ), .\2 ( unnamed_net19 ), .\1 ( unnamed_net17 ), .\2 ( unnamed_net20 ), .\1 ( unnamed_net21 ), .\2 ( unnamed_net22 ), .\1 ( unnamed_net10 ), .\2 ( unnamed_net23 ), .\1 ( unnamed_net21 ), .\2 ( unnamed_net24 ), .\1 ( unnamed_net22 ), .\2 ( unnamed_net25 ), .\1 ( unnamed_net26 ), .\2 ( unnamed_net27 ), .\1 ( unnamed_net24 ), .\2 ( unnamed_net28 ), .\1 ( unnamed_net26 ), .\2 ( unnamed_net29 ), .\1 ( unnamed_net27 ), .\2 ( unnamed_net30 ), .\1 ( unnamed_net11 ), .\2 ( unnamed_net31 ), .\1 ( unnamed_net19 ), .\2 ( unnamed_net32 ), .\1 ( unnamed_net23 ), .\2 ( unnamed_net33 ), .\1 ( unnamed_net31 ), .\2 ( unnamed_net34 ), .\1 ( unnamed_net25 ), .\2 ( unnamed_net35 ), .\1 ( unnamed_net33 ), .\2 ( unnamed_net36 ), .\1 ( unnamed_net28 ), .\2 ( unnamed_net37 ), .\1 ( unnamed_net35 ), .\2 ( unnamed_net38 ), .\1 ( unnamed_net13 ), .\2 ( unnamed_net39 ), .\1 ( unnamed_net40 ), .\2 ( unnamed_net41 ), .\1 ( unnamed_net14 ), .\2 ( unnamed_net42 ), .\1 ( unnamed_net39 ), .\2 ( unnamed_net43 ), .\1 ( unnamed_net16 ), .\2 ( unnamed_net44 ), .\1 ( unnamed_net42 ), .\2 ( unnamed_net45 ), .\1 ( unnamed_net18 ), .\2 ( unnamed_net46 ), .\1 ( unnamed_net44 ), .\2 ( unnamed_net47 ), .\1 ( unnamed_net40 ), .\2 ( unnamed_net48 ), .\1 ( unnamed_net49 ), .\2 ( unnamed_net50 ), .\1 ( unnamed_net41 ), .\2 ( unnamed_net51 ), .\1 ( unnamed_net48 ), .\2 ( unnamed_net52 ), .\1 ( unnamed_net43 ), .\2 ( unnamed_net53 ), .\1 ( unnamed_net51 ), .\2 ( unnamed_net54 ), .\1 ( unnamed_net45 ), .\2 ( unnamed_net55 ), .\1 ( unnamed_net53 ), .\2 ( unnamed_net56 ), .\1 ( unnamed_net20 ), .\2 ( unnamed_net57 ), .\1 ( unnamed_net46 ), .\2 ( unnamed_net58 ), .\1 ( unnamed_net32 ), .\2 ( unnamed_net59 ), .\1 ( unnamed_net57 ), .\2 ( unnamed_net60 ), .\1 ( unnamed_net34 ), .\2 ( unnamed_net61 ), .\1 ( unnamed_net59 ), .\2 ( unnamed_net62 ), .\1 ( unnamed_net36 ), .\2 ( unnamed_net63 ), .\1 ( unnamed_net61 ), .\2 ( unnamed_net64 ), .\1 ( unnamed_net47 ), .\2 ( unnamed_net65 ), .\1 ( unnamed_net55 ), .\2 ( unnamed_net66 ), .\1 ( unnamed_net58 ), .\2 ( unnamed_net67 ), .\1 ( unnamed_net65 ), .\2 ( unnamed_net68 ), .\1 ( unnamed_net60 ), .\2 ( unnamed_net69 ), .\1 ( unnamed_net67 ), .\2 ( unnamed_net70 ), .\1 ( unnamed_net62 ), .\2 ( unnamed_net71 ), .\1 ( unnamed_net69 ), .\2 ( unnamed_net72 ), .\1 ( unnamed_net73 ), .\2 ( unnamed_net74 ), .\1 ( unnamed_net29 ), .\2 ( unnamed_net75 ), .\1 ( unnamed_net73 ), .\2 ( unnamed_net76 ), .\1 ( unnamed_net74 ), .\2 ( unnamed_net77 ), .\1 ( unnamed_net78 ), .\2 ( unnamed_net79 ), .\1 ( unnamed_net76 ), .\2 ( unnamed_net80 ), .\1 ( unnamed_net78 ), .\2 ( unnamed_net81 ), .\1 ( unnamed_net79 ), .\2 ( unnamed_net82 ), .\1 ( unnamed_net30 ), .\2 ( unnamed_net83 ), .\1 ( unnamed_net37 ), .\2 ( unnamed_net84 ), .\1 ( unnamed_net75 ), .\2 ( unnamed_net85 ), .\1 ( unnamed_net83 ), .\2 ( unnamed_net86 ), .\1 ( unnamed_net77 ), .\2 ( unnamed_net87 ), .\1 ( unnamed_net85 ), .\2 ( unnamed_net88 ), .\1 ( unnamed_net80 ), .\2 ( unnamed_net89 ), .\1 ( unnamed_net87 ), .\2 ( unnamed_net90 ), .\1 ( unnamed_net91 ), .\2 ( unnamed_net92 ), .\1 ( unnamed_net81 ), .\2 ( unnamed_net93 ), .\1 ( unnamed_net91 ), .\2 ( unnamed_net94 ), .\1 ( unnamed_net92 ), .\2 ( unnamed_net95 ), .\1 ( unnamed_net96 ), .\2 ( unnamed_net97 ), .\1 ( unnamed_net94 ), .\2 ( unnamed_net98 ), .\1 ( unnamed_net96 ), .\2 ( unnamed_net99 ), .\1 ( unnamed_net97 ), .\2 ( unnamed_net100 ), .\1 ( unnamed_net82 ), .\2 ( unnamed_net101 ), .\1 ( unnamed_net89 ), .\2 ( unnamed_net102 ), .\1 ( unnamed_net93 ), .\2 ( unnamed_net103 ), .\1 ( unnamed_net101 ), .\2 ( unnamed_net104 ), .\1 ( unnamed_net95 ), .\2 ( unnamed_net105 ), .\1 ( unnamed_net103 ), .\2 ( unnamed_net106 ), .\1 ( unnamed_net98 ), .\2 ( unnamed_net107 ), .\1 ( unnamed_net105 ), .\2 ( unnamed_net108 ), .\1 ( unnamed_net38 ), .\2 ( unnamed_net109 ), .\1 ( unnamed_net63 ), .\2 ( unnamed_net110 ), .\1 ( unnamed_net84 ), .\2 ( unnamed_net111 ), .\1 ( unnamed_net109 ), .\2 ( unnamed_net112 ), .\1 ( unnamed_net86 ), .\2 ( unnamed_net113 ), .\1 ( unnamed_net111 ), .\2 ( unnamed_net114 ), .\1 ( unnamed_net88 ), .\2 ( unnamed_net115 ), .\1 ( unnamed_net113 ), .\2 ( unnamed_net116 ), .\1 ( unnamed_net64 ), .\2 ( unnamed_net117 ), .\1 ( unnamed_net71 ), .\2 ( unnamed_net118 ), .\1 ( unnamed_net110 ), .\2 ( unnamed_net119 ), .\1 ( unnamed_net117 ), .\2 ( unnamed_net120 ), .\1 ( unnamed_net112 ), .\2 ( unnamed_net121 ), .\1 ( unnamed_net119 ), .\2 ( unnamed_net122 ), .\1 ( unnamed_net114 ), .\2 ( unnamed_net123 ), .\1 ( unnamed_net121 ), .\2 ( unnamed_net124 ), .\1 ( unnamed_net90 ), .\2 ( unnamed_net125 ), .\1 ( unnamed_net115 ), .\2 ( unnamed_net126 ), .\1 ( unnamed_net102 ), .\2 ( unnamed_net127 ), .\1 ( unnamed_net125 ), .\2 ( unnamed_net128 ), .\1 ( unnamed_net104 ), .\2 ( unnamed_net129 ), .\1 ( unnamed_net127 ), .\2 ( unnamed_net130 ), .\1 ( unnamed_net106 ), .\2 ( unnamed_net131 ), .\1 ( unnamed_net129 ), .\2 ( unnamed_net132 ), .\1 ( unnamed_net116 ), .\2 ( unnamed_net133 ), .\1 ( unnamed_net123 ), .\2 ( unnamed_net134 ), .\1 ( unnamed_net126 ), .\2 ( unnamed_net135 ), .\1 ( unnamed_net133 ), .\2 ( unnamed_net136 ), .\1 ( unnamed_net128 ), .\2 ( unnamed_net137 ), .\1 ( unnamed_net135 ), .\2 ( unnamed_net138 ), .\1 ( unnamed_net130 ), .\2 ( unnamed_net139 ), .\1 ( unnamed_net137 ), .\2 ( unnamed_net140 ), .\1 ( unnamed_net49 ), .\2 ( unnamed_net141 ), .\1 ( unnamed_net142 ), .\2 ( unnamed_net143 ), .\1 ( unnamed_net50 ), .\2 ( unnamed_net144 ), .\1 ( unnamed_net141 ), .\2 ( unnamed_net145 ), .\1 ( unnamed_net52 ), .\2 ( unnamed_net146 ), .\1 ( unnamed_net144 ), .\2 ( unnamed_net147 ), .\1 ( unnamed_net54 ), .\2 ( unnamed_net148 ), .\1 ( unnamed_net146 ), .\2 ( unnamed_net149 ), .\1 ( unnamed_net142 ), .\2 ( unnamed_net150 ), .\1 ( unnamed_net151 ), .\2 ( unnamed_net152 ), .\1 ( unnamed_net143 ), .\2 ( unnamed_net153 ), .\1 ( unnamed_net150 ), .\2 ( unnamed_net154 ), .\1 ( unnamed_net145 ), .\2 ( unnamed_net155 ), .\1 ( unnamed_net153 ), .\2 ( unnamed_net156 ), .\1 ( unnamed_net147 ), .\2 ( unnamed_net157 ), .\1 ( unnamed_net155 ), .\2 ( unnamed_net158 ), .\1 ( unnamed_net56 ), .\2 ( unnamed_net159 ), .\1 ( unnamed_net148 ), .\2 ( unnamed_net160 ), .\1 ( unnamed_net66 ), .\2 ( unnamed_net161 ), .\1 ( unnamed_net159 ), .\2 ( unnamed_net162 ), .\1 ( unnamed_net68 ), .\2 ( unnamed_net163 ), .\1 ( unnamed_net161 ), .\2 ( unnamed_net164 ), .\1 ( unnamed_net70 ), .\2 ( unnamed_net165 ), .\1 ( unnamed_net163 ), .\2 ( unnamed_net166 ), .\1 ( unnamed_net149 ), .\2 ( unnamed_net167 ), .\1 ( unnamed_net157 ), .\2 ( unnamed_net168 ), .\1 ( unnamed_net160 ), .\2 ( unnamed_net169 ), .\1 ( unnamed_net167 ), .\2 ( unnamed_net170 ), .\1 ( unnamed_net162 ), .\2 ( unnamed_net171 ), .\1 ( unnamed_net169 ), .\2 ( unnamed_net172 ), .\1 ( unnamed_net164 ), .\2 ( unnamed_net173 ), .\1 ( unnamed_net171 ), .\2 ( unnamed_net174 ), .\1 ( unnamed_net151 ), .\2 ( unnamed_net175 ), .\1 ( unnamed_net176 ), .\2 ( unnamed_net177 ), .\1 ( unnamed_net152 ), .\2 ( unnamed_net178 ), .\1 ( unnamed_net175 ), .\2 ( unnamed_net179 ), .\1 ( unnamed_net154 ), .\2 ( unnamed_net180 ), .\1 ( unnamed_net178 ), .\2 ( unnamed_net181 ), .\1 ( unnamed_net156 ), .\2 ( unnamed_net182 ), .\1 ( unnamed_net180 ), .\2 ( unnamed_net183 ), .\1 ( unnamed_net176 ), .\2 ( unnamed_net184 ), .\1 ( unnamed_net185 ), .\2 ( unnamed_net186 ), .\1 ( unnamed_net177 ), .\2 ( unnamed_net187 ), .\1 ( unnamed_net184 ), .\2 ( unnamed_net188 ), .\1 ( unnamed_net179 ), .\2 ( unnamed_net189 ), .\1 ( unnamed_net187 ), .\2 ( unnamed_net190 ), .\1 ( unnamed_net181 ), .\2 ( unnamed_net191 ), .\1 ( unnamed_net189 ), .\2 ( unnamed_net192 ), .\1 ( unnamed_net158 ), .\2 ( unnamed_net193 ), .\1 ( unnamed_net182 ), .\2 ( unnamed_net194 ), .\1 ( unnamed_net168 ), .\2 ( unnamed_net195 ), .\1 ( unnamed_net193 ), .\2 ( unnamed_net196 ), .\1 ( unnamed_net170 ), .\2 ( unnamed_net197 ), .\1 ( unnamed_net195 ), .\2 ( unnamed_net198 ), .\1 ( unnamed_net172 ), .\2 ( unnamed_net199 ), .\1 ( unnamed_net197 ), .\2 ( unnamed_net200 ), .\1 ( unnamed_net183 ), .\2 ( unnamed_net201 ), .\1 ( unnamed_net191 ), .\2 ( unnamed_net202 ), .\1 ( unnamed_net194 ), .\2 ( unnamed_net203 ), .\1 ( unnamed_net201 ), .\2 ( unnamed_net204 ), .\1 ( unnamed_net196 ), .\2 ( unnamed_net205 ), .\1 ( unnamed_net203 ), .\2 ( unnamed_net206 ), .\1 ( unnamed_net198 ), .\2 ( unnamed_net207 ), .\1 ( unnamed_net205 ), .\2 ( unnamed_net208 ), .\1 ( unnamed_net72 ), .\2 ( unnamed_net209 ), .\1 ( unnamed_net165 ), .\2 ( unnamed_net210 ), .\1 ( unnamed_net118 ), .\2 ( unnamed_net211 ), .\1 ( unnamed_net209 ), .\2 ( unnamed_net212 ), .\1 ( unnamed_net120 ), .\2 ( unnamed_net213 ), .\1 ( unnamed_net211 ), .\2 ( unnamed_net214 ), .\1 ( unnamed_net122 ), .\2 ( unnamed_net215 ), .\1 ( unnamed_net213 ), .\2 ( unnamed_net216 ), .\1 ( unnamed_net166 ), .\2 ( unnamed_net217 ), .\1 ( unnamed_net173 ), .\2 ( unnamed_net218 ), .\1 ( unnamed_net210 ), .\2 ( unnamed_net219 ), .\1 ( unnamed_net217 ), .\2 ( unnamed_net220 ), .\1 ( unnamed_net212 ), .\2 ( unnamed_net221 ), .\1 ( unnamed_net219 ), .\2 ( unnamed_net222 ), .\1 ( unnamed_net214 ), .\2 ( unnamed_net223 ), .\1 ( unnamed_net221 ), .\2 ( unnamed_net224 ), .\1 ( unnamed_net124 ), .\2 ( unnamed_net225 ), .\1 ( unnamed_net215 ), .\2 ( unnamed_net226 ), .\1 ( unnamed_net134 ), .\2 ( unnamed_net227 ), .\1 ( unnamed_net225 ), .\2 ( unnamed_net228 ), .\1 ( unnamed_net136 ), .\2 ( unnamed_net229 ), .\1 ( unnamed_net227 ), .\2 ( unnamed_net230 ), .\1 ( unnamed_net138 ), .\2 ( unnamed_net231 ), .\1 ( unnamed_net229 ), .\2 ( unnamed_net232 ), .\1 ( unnamed_net216 ), .\2 ( unnamed_net233 ), .\1 ( unnamed_net223 ), .\2 ( unnamed_net234 ), .\1 ( unnamed_net226 ), .\2 ( unnamed_net235 ), .\1 ( unnamed_net233 ), .\2 ( unnamed_net236 ), .\1 ( unnamed_net228 ), .\2 ( unnamed_net237 ), .\1 ( unnamed_net235 ), .\2 ( unnamed_net238 ), .\1 ( unnamed_net230 ), .\2 ( unnamed_net239 ), .\1 ( unnamed_net237 ), .\2 ( unnamed_net240 ), .\1 ( unnamed_net174 ), .\2 ( unnamed_net241 ), .\1 ( unnamed_net199 ), .\2 ( unnamed_net242 ), .\1 ( unnamed_net218 ), .\2 ( unnamed_net243 ), .\1 ( unnamed_net241 ), .\2 ( unnamed_net244 ), .\1 ( unnamed_net220 ), .\2 ( unnamed_net245 ), .\1 ( unnamed_net243 ), .\2 ( unnamed_net246 ), .\1 ( unnamed_net222 ), .\2 ( unnamed_net247 ), .\1 ( unnamed_net245 ), .\2 ( unnamed_net248 ), .\1 ( unnamed_net200 ), .\2 ( unnamed_net249 ), .\1 ( unnamed_net207 ), .\2 ( unnamed_net250 ), .\1 ( unnamed_net242 ), .\2 ( unnamed_net251 ), .\1 ( unnamed_net249 ), .\2 ( unnamed_net252 ), .\1 ( unnamed_net244 ), .\2 ( unnamed_net253 ), .\1 ( unnamed_net251 ), .\2 ( unnamed_net254 ), .\1 ( unnamed_net246 ), .\2 ( unnamed_net255 ), .\1 ( unnamed_net253 ), .\2 ( unnamed_net256 ), .\1 ( unnamed_net224 ), .\2 ( unnamed_net257 ), .\1 ( unnamed_net247 ), .\2 ( unnamed_net258 ), .\1 ( unnamed_net234 ), .\2 ( unnamed_net259 ), .\1 ( unnamed_net257 ), .\2 ( unnamed_net260 ), .\1 ( unnamed_net236 ), .\2 ( unnamed_net261 ), .\1 ( unnamed_net259 ), .\2 ( unnamed_net262 ), .\1 ( unnamed_net238 ), .\2 ( unnamed_net263 ), .\1 ( unnamed_net261 ), .\2 ( unnamed_net264 ), .\1 ( unnamed_net248 ), .\2 ( unnamed_net265 ), .\1 ( unnamed_net255 ), .\2 ( unnamed_net266 ), .\1 ( unnamed_net258 ), .\2 ( unnamed_net267 ), .\1 ( unnamed_net265 ), .\2 ( unnamed_net268 ), .\1 ( unnamed_net260 ), .\2 ( unnamed_net269 ), .\1 ( unnamed_net267 ), .\2 ( unnamed_net270 ), .\1 ( unnamed_net262 ), .\2 ( unnamed_net271 ), .\1 ( unnamed_net269 ), .\2 ( unnamed_net272 ), .\1 ( unnamed_net273 ), .\2 ( unnamed_net274 ), .\1 ( unnamed_net99 ), .\2 ( unnamed_net275 ), .\1 ( unnamed_net273 ), .\2 ( unnamed_net276 ), .\1 ( unnamed_net274 ), .\2 ( unnamed_net277 ), .\1 ( unnamed_net278 ), .\2 ( unnamed_net279 ), .\1 ( unnamed_net276 ), .\2 ( unnamed_net280 ), .\1 ( unnamed_net278 ), .\2 ( unnamed_net281 ), .\1 ( unnamed_net279 ), .\2 ( unnamed_net282 ), .\1 ( unnamed_net100 ), .\2 ( unnamed_net283 ), .\1 ( unnamed_net107 ), .\2 ( unnamed_net284 ), .\1 ( unnamed_net275 ), .\2 ( unnamed_net285 ), .\1 ( unnamed_net283 ), .\2 ( unnamed_net286 ), .\1 ( unnamed_net277 ), .\2 ( unnamed_net287 ), .\1 ( unnamed_net285 ), .\2 ( unnamed_net288 ), .\1 ( unnamed_net280 ), .\2 ( unnamed_net289 ), .\1 ( unnamed_net287 ), .\2 ( unnamed_net290 ), .\1 ( unnamed_net291 ), .\2 ( unnamed_net292 ), .\1 ( unnamed_net281 ), .\2 ( unnamed_net293 ), .\1 ( unnamed_net291 ), .\2 ( unnamed_net294 ), .\1 ( unnamed_net292 ), .\2 ( unnamed_net295 ), .\1 ( unnamed_net296 ), .\2 ( unnamed_net297 ), .\1 ( unnamed_net294 ), .\2 ( unnamed_net298 ), .\1 ( unnamed_net296 ), .\2 ( unnamed_net299 ), .\1 ( unnamed_net297 ), .\2 ( unnamed_net300 ), .\1 ( unnamed_net282 ), .\2 ( unnamed_net301 ), .\1 ( unnamed_net289 ), .\2 ( unnamed_net302 ), .\1 ( unnamed_net293 ), .\2 ( unnamed_net303 ), .\1 ( unnamed_net301 ), .\2 ( unnamed_net304 ), .\1 ( unnamed_net295 ), .\2 ( unnamed_net305 ), .\1 ( unnamed_net303 ), .\2 ( unnamed_net306 ), .\1 ( unnamed_net298 ), .\2 ( unnamed_net307 ), .\1 ( unnamed_net305 ), .\2 ( unnamed_net308 ), .\1 ( unnamed_net108 ), .\2 ( unnamed_net309 ), .\1 ( unnamed_net131 ), .\2 ( unnamed_net310 ), .\1 ( unnamed_net284 ), .\2 ( unnamed_net311 ), .\1 ( unnamed_net309 ), .\2 ( unnamed_net312 ), .\1 ( unnamed_net286 ), .\2 ( unnamed_net313 ), .\1 ( unnamed_net311 ), .\2 ( unnamed_net314 ), .\1 ( unnamed_net288 ), .\2 ( unnamed_net315 ), .\1 ( unnamed_net313 ), .\2 ( unnamed_net316 ), .\1 ( unnamed_net132 ), .\2 ( unnamed_net317 ), .\1 ( unnamed_net139 ), .\2 ( unnamed_net318 ), .\1 ( unnamed_net310 ), .\2 ( unnamed_net319 ), .\1 ( unnamed_net317 ), .\2 ( unnamed_net320 ), .\1 ( unnamed_net312 ), .\2 ( unnamed_net321 ), .\1 ( unnamed_net319 ), .\2 ( unnamed_net322 ), .\1 ( unnamed_net314 ), .\2 ( unnamed_net323 ), .\1 ( unnamed_net321 ), .\2 ( unnamed_net324 ), .\1 ( unnamed_net290 ), .\2 ( unnamed_net325 ), .\1 ( unnamed_net315 ), .\2 ( unnamed_net326 ), .\1 ( unnamed_net302 ), .\2 ( unnamed_net327 ), .\1 ( unnamed_net325 ), .\2 ( unnamed_net328 ), .\1 ( unnamed_net304 ), .\2 ( unnamed_net329 ), .\1 ( unnamed_net327 ), .\2 ( unnamed_net330 ), .\1 ( unnamed_net306 ), .\2 ( unnamed_net331 ), .\1 ( unnamed_net329 ), .\2 ( unnamed_net332 ), .\1 ( unnamed_net316 ), .\2 ( unnamed_net333 ), .\1 ( unnamed_net323 ), .\2 ( unnamed_net334 ), .\1 ( unnamed_net326 ), .\2 ( unnamed_net335 ), .\1 ( unnamed_net333 ), .\2 ( unnamed_net336 ), .\1 ( unnamed_net328 ), .\2 ( unnamed_net337 ), .\1 ( unnamed_net335 ), .\2 ( unnamed_net338 ), .\1 ( unnamed_net330 ), .\2 ( unnamed_net339 ), .\1 ( unnamed_net337 ), .\2 ( unnamed_net340 ), .\1 ( unnamed_net341 ), .\2 ( unnamed_net342 ), .\1 ( unnamed_net299 ), .\2 ( unnamed_net343 ), .\1 ( unnamed_net341 ), .\2 ( unnamed_net344 ), .\1 ( unnamed_net342 ), .\2 ( unnamed_net345 ), .\1 ( unnamed_net346 ), .\2 ( unnamed_net347 ), .\1 ( unnamed_net344 ), .\2 ( unnamed_net348 ), .\1 ( unnamed_net346 ), .\2 ( unnamed_net349 ), .\1 ( unnamed_net347 ), .\2 ( unnamed_net350 ), .\1 ( unnamed_net300 ), .\2 ( unnamed_net351 ), .\1 ( unnamed_net307 ), .\2 ( unnamed_net352 ), .\1 ( unnamed_net343 ), .\2 ( unnamed_net353 ), .\1 ( unnamed_net351 ), .\2 ( unnamed_net354 ), .\1 ( unnamed_net345 ), .\2 ( unnamed_net355 ), .\1 ( unnamed_net353 ), .\2 ( unnamed_net356 ), .\1 ( unnamed_net348 ), .\2 ( unnamed_net357 ), .\1 ( unnamed_net355 ), .\2 ( unnamed_net358 ), .\1 ( unnamed_net359 ), .\2 ( unnamed_net360 ), .\1 ( unnamed_net349 ), .\2 ( unnamed_net361 ), .\1 ( unnamed_net359 ), .\2 ( unnamed_net362 ), .\1 ( unnamed_net360 ), .\2 ( unnamed_net363 ), .\1 ( unnamed_net364 ), .\2 ( unnamed_net365 ), .\1 ( unnamed_net362 ), .\2 ( unnamed_net366 ), .\1 ( unnamed_net364 ), .\2 ( unnamed_net367 ), .\1 ( unnamed_net365 ), .\2 ( unnamed_net368 ), .\1 ( unnamed_net350 ), .\2 ( unnamed_net369 ), .\1 ( unnamed_net357 ), .\2 ( unnamed_net370 ), .\1 ( unnamed_net361 ), .\2 ( unnamed_net371 ), .\1 ( unnamed_net369 ), .\2 ( unnamed_net372 ), .\1 ( unnamed_net363 ), .\2 ( unnamed_net373 ), .\1 ( unnamed_net371 ), .\2 ( unnamed_net374 ), .\1 ( unnamed_net366 ), .\2 ( unnamed_net368 ), .\1 ( unnamed_net373 ), .\2 ( unnamed_net375 ), .\1 ( unnamed_net308 ), .\2 ( unnamed_net376 ), .\1 ( unnamed_net331 ), .\2 ( unnamed_net377 ), .\1 ( unnamed_net352 ), .\2 ( unnamed_net378 ), .\1 ( unnamed_net376 ), .\2 ( unnamed_net379 ), .\1 ( unnamed_net354 ), .\2 ( unnamed_net380 ), .\1 ( unnamed_net378 ), .\2 ( unnamed_net381 ), .\1 ( unnamed_net356 ), .\2 ( unnamed_net382 ), .\1 ( unnamed_net380 ), .\2 ( unnamed_net383 ), .\1 ( unnamed_net332 ), .\2 ( unnamed_net384 ), .\1 ( unnamed_net339 ), .\2 ( unnamed_net385 ), .\1 ( unnamed_net377 ), .\2 ( unnamed_net386 ), .\1 ( unnamed_net384 ), .\2 ( unnamed_net387 ), .\1 ( unnamed_net379 ), .\2 ( unnamed_net388 ), .\1 ( unnamed_net386 ), .\2 ( unnamed_net389 ), .\1 ( unnamed_net381 ), .\2 ( unnamed_net390 ), .\1 ( unnamed_net388 ), .\2 ( unnamed_net391 ), .\1 ( unnamed_net358 ), .\2 ( unnamed_net392 ), .\1 ( unnamed_net382 ), .\2 ( unnamed_net393 ), .\1 ( unnamed_net370 ), .\2 ( unnamed_net394 ), .\1 ( unnamed_net392 ), .\2 ( unnamed_net395 ), .\1 ( unnamed_net372 ), .\2 ( unnamed_net396 ), .\1 ( unnamed_net394 ), .\2 ( unnamed_net397 ), .\1 ( unnamed_net374 ), .\2 ( unnamed_net375 ), .\1 ( unnamed_net396 ), .\2 ( unnamed_net398 ), .\1 ( unnamed_net383 ), .\2 ( unnamed_net399 ), .\1 ( unnamed_net390 ), .\2 ( unnamed_net400 ), .\1 ( unnamed_net393 ), .\2 ( unnamed_net401 ), .\1 ( unnamed_net399 ), .\2 ( unnamed_net402 ), .\1 ( unnamed_net395 ), .\2 ( unnamed_net403 ), .\1 ( unnamed_net401 ), .\2 ( unnamed_net404 ), .\1 ( unnamed_net397 ), .\2 ( unnamed_net398 ), .\1 ( unnamed_net403 ), .\2 ( unnamed_net405 ), .\1 ( unnamed_net140 ), .\2 ( unnamed_net406 ), .\1 ( unnamed_net231 ), .\2 ( unnamed_net407 ), .\1 ( unnamed_net318 ), .\2 ( unnamed_net408 ), .\1 ( unnamed_net406 ), .\2 ( unnamed_net409 ), .\1 ( unnamed_net320 ), .\2 ( unnamed_net410 ), .\1 ( unnamed_net408 ), .\2 ( unnamed_net411 ), .\1 ( unnamed_net322 ), .\2 ( unnamed_net412 ), .\1 ( unnamed_net410 ), .\2 ( unnamed_net413 ), .\1 ( unnamed_net232 ), .\2 ( unnamed_net414 ), .\1 ( unnamed_net239 ), .\2 ( unnamed_net415 ), .\1 ( unnamed_net407 ), .\2 ( unnamed_net416 ), .\1 ( unnamed_net414 ), .\2 ( unnamed_net417 ), .\1 ( unnamed_net409 ), .\2 ( unnamed_net418 ), .\1 ( unnamed_net416 ), .\2 ( unnamed_net419 ), .\1 ( unnamed_net411 ), .\2 ( unnamed_net420 ), .\1 ( unnamed_net418 ), .\2 ( unnamed_net421 ), .\1 ( unnamed_net324 ), .\2 ( unnamed_net422 ), .\1 ( unnamed_net412 ), .\2 ( unnamed_net423 ), .\1 ( unnamed_net334 ), .\2 ( unnamed_net424 ), .\1 ( unnamed_net422 ), .\2 ( unnamed_net425 ), .\1 ( unnamed_net336 ), .\2 ( unnamed_net426 ), .\1 ( unnamed_net424 ), .\2 ( unnamed_net427 ), .\1 ( unnamed_net338 ), .\2 ( unnamed_net428 ), .\1 ( unnamed_net426 ), .\2 ( unnamed_net429 ), .\1 ( unnamed_net413 ), .\2 ( unnamed_net430 ), .\1 ( unnamed_net420 ), .\2 ( unnamed_net431 ), .\1 ( unnamed_net423 ), .\2 ( unnamed_net432 ), .\1 ( unnamed_net430 ), .\2 ( unnamed_net433 ), .\1 ( unnamed_net425 ), .\2 ( unnamed_net434 ), .\1 ( unnamed_net432 ), .\2 ( unnamed_net435 ), .\1 ( unnamed_net427 ), .\2 ( unnamed_net436 ), .\1 ( unnamed_net434 ), .\2 ( unnamed_net437 ), .\1 ( unnamed_net240 ), .\2 ( unnamed_net438 ), .\1 ( unnamed_net263 ), .\2 ( unnamed_net439 ), .\1 ( unnamed_net415 ), .\2 ( unnamed_net440 ), .\1 ( unnamed_net438 ), .\2 ( unnamed_net441 ), .\1 ( unnamed_net417 ), .\2 ( unnamed_net442 ), .\1 ( unnamed_net440 ), .\2 ( unnamed_net443 ), .\1 ( unnamed_net419 ), .\2 ( unnamed_net444 ), .\1 ( unnamed_net442 ), .\2 ( unnamed_net445 ), .\1 ( unnamed_net264 ), .\2 ( unnamed_net446 ), .\1 ( unnamed_net271 ), .\2 ( unnamed_net447 ), .\1 ( unnamed_net439 ), .\2 ( unnamed_net448 ), .\1 ( unnamed_net446 ), .\2 ( unnamed_net449 ), .\1 ( unnamed_net441 ), .\2 ( unnamed_net450 ), .\1 ( unnamed_net448 ), .\2 ( unnamed_net451 ), .\1 ( unnamed_net443 ), .\2 ( unnamed_net452 ), .\1 ( unnamed_net450 ), .\2 ( unnamed_net453 ), .\1 ( unnamed_net421 ), .\2 ( unnamed_net454 ), .\1 ( unnamed_net444 ), .\2 ( unnamed_net455 ), .\1 ( unnamed_net431 ), .\2 ( unnamed_net456 ), .\1 ( unnamed_net454 ), .\2 ( unnamed_net457 ), .\1 ( unnamed_net433 ), .\2 ( unnamed_net458 ), .\1 ( unnamed_net456 ), .\2 ( unnamed_net459 ), .\1 ( unnamed_net435 ), .\2 ( unnamed_net460 ), .\1 ( unnamed_net458 ), .\2 ( unnamed_net461 ), .\1 ( unnamed_net445 ), .\2 ( unnamed_net462 ), .\1 ( unnamed_net452 ), .\2 ( unnamed_net463 ), .\1 ( unnamed_net455 ), .\2 ( unnamed_net464 ), .\1 ( unnamed_net462 ), .\2 ( unnamed_net465 ), .\1 ( unnamed_net457 ), .\2 ( unnamed_net466 ), .\1 ( unnamed_net464 ), .\2 ( unnamed_net467 ), .\1 ( unnamed_net459 ), .\2 ( unnamed_net468 ), .\1 ( unnamed_net466 ), .\2 ( unnamed_net469 ), .\1 ( unnamed_net340 ), .\2 ( unnamed_net470 ), .\1 ( unnamed_net428 ), .\2 ( unnamed_net471 ), .\1 ( unnamed_net385 ), .\2 ( unnamed_net472 ), .\1 ( unnamed_net470 ), .\2 ( unnamed_net473 ), .\1 ( unnamed_net387 ), .\2 ( unnamed_net474 ), .\1 ( unnamed_net472 ), .\2 ( unnamed_net475 ), .\1 ( unnamed_net389 ), .\2 ( unnamed_net476 ), .\1 ( unnamed_net474 ), .\2 ( unnamed_net477 ), .\1 ( unnamed_net429 ), .\2 ( unnamed_net478 ), .\1 ( unnamed_net436 ), .\2 ( unnamed_net479 ), .\1 ( unnamed_net471 ), .\2 ( unnamed_net480 ), .\1 ( unnamed_net478 ), .\2 ( unnamed_net481 ), .\1 ( unnamed_net473 ), .\2 ( unnamed_net482 ), .\1 ( unnamed_net480 ), .\2 ( unnamed_net483 ), .\1 ( unnamed_net475 ), .\2 ( unnamed_net484 ), .\1 ( unnamed_net482 ), .\2 ( unnamed_net485 ), .\1 ( unnamed_net391 ), .\2 ( unnamed_net486 ), .\1 ( unnamed_net476 ), .\2 ( unnamed_net487 ), .\1 ( unnamed_net400 ), .\2 ( unnamed_net488 ), .\1 ( unnamed_net486 ), .\2 ( unnamed_net489 ), .\1 ( unnamed_net402 ), .\2 ( unnamed_net490 ), .\1 ( unnamed_net488 ), .\2 ( unnamed_net491 ), .\1 ( unnamed_net404 ), .\2 ( unnamed_net405 ), .\1 ( unnamed_net490 ), .\2 ( unnamed_net492 ), .\1 ( unnamed_net477 ), .\2 ( unnamed_net493 ), .\1 ( unnamed_net484 ), .\2 ( unnamed_net494 ), .\1 ( unnamed_net487 ), .\2 ( unnamed_net495 ), .\1 ( unnamed_net493 ), .\2 ( unnamed_net496 ), .\1 ( unnamed_net489 ), .\2 ( unnamed_net497 ), .\1 ( unnamed_net495 ), .\2 ( unnamed_net498 ), .\1 ( unnamed_net491 ), .\2 ( unnamed_net492 ), .\1 ( unnamed_net497 ), .\2 ( unnamed_net499 ), .\1 ( unnamed_net437 ), .\2 ( unnamed_net500 ), .\1 ( unnamed_net460 ), .\2 ( unnamed_net501 ), .\1 ( unnamed_net479 ), .\2 ( unnamed_net502 ), .\1 ( unnamed_net500 ), .\2 ( unnamed_net503 ), .\1 ( unnamed_net481 ), .\2 ( unnamed_net504 ), .\1 ( unnamed_net502 ), .\2 ( unnamed_net505 ), .\1 ( unnamed_net483 ), .\2 ( unnamed_net506 ), .\1 ( unnamed_net504 ), .\2 ( unnamed_net507 ), .\1 ( unnamed_net461 ), .\2 ( unnamed_net508 ), .\1 ( unnamed_net468 ), .\2 ( unnamed_net509 ), .\1 ( unnamed_net501 ), .\2 ( unnamed_net510 ), .\1 ( unnamed_net508 ), .\2 ( unnamed_net511 ), .\1 ( unnamed_net503 ), .\2 ( unnamed_net512 ), .\1 ( unnamed_net510 ), .\2 ( unnamed_net513 ), .\1 ( unnamed_net505 ), .\2 ( unnamed_net514 ), .\1 ( unnamed_net512 ), .\2 ( unnamed_net515 ), .\1 ( unnamed_net485 ), .\2 ( unnamed_net516 ), .\1 ( unnamed_net506 ), .\2 ( unnamed_net517 ), .\1 ( unnamed_net494 ), .\2 ( unnamed_net518 ), .\1 ( unnamed_net516 ), .\2 ( unnamed_net519 ), .\1 ( unnamed_net496 ), .\2 ( unnamed_net520 ), .\1 ( unnamed_net518 ), .\2 ( unnamed_net521 ), .\1 ( unnamed_net498 ), .\2 ( unnamed_net499 ), .\1 ( unnamed_net520 ), .\2 ( unnamed_net522 ), .\1 ( unnamed_net507 ), .\2 ( unnamed_net523 ), .\1 ( unnamed_net514 ), .\2 ( unnamed_net524 ), .\1 ( unnamed_net517 ), .\2 ( unnamed_net525 ), .\1 ( unnamed_net523 ), .\2 ( unnamed_net526 ), .\1 ( unnamed_net519 ), .\2 ( unnamed_net527 ), .\1 ( unnamed_net525 ), .\2 ( unnamed_net528 ), .\1 ( unnamed_net521 ), .\2 ( unnamed_net522 ), .\1 ( unnamed_net527 ), .\2 ( unnamed_net529 ), .\1 ( unnamed_net185 ), .\2 ( unnamed_net530 ), .\1 ( unnamed_net531 ), .\2 ( unnamed_net532 ), .\1 ( unnamed_net186 ), .\2 ( unnamed_net533 ), .\1 ( unnamed_net530 ), .\2 ( unnamed_net534 ), .\1 ( unnamed_net188 ), .\2 ( unnamed_net535 ), .\1 ( unnamed_net533 ), .\2 ( unnamed_net536 ), .\1 ( unnamed_net190 ), .\2 ( unnamed_net537 ), .\1 ( unnamed_net535 ), .\2 ( unnamed_net538 ), .\1 ( unnamed_net531 ), .\2 ( unnamed_net539 ), .\1 ( unnamed_net540 ), .\2 ( unnamed_net541 ), .\1 ( unnamed_net532 ), .\2 ( unnamed_net542 ), .\1 ( unnamed_net539 ), .\2 ( unnamed_net543 ), .\1 ( unnamed_net534 ), .\2 ( unnamed_net544 ), .\1 ( unnamed_net542 ), .\2 ( unnamed_net545 ), .\1 ( unnamed_net536 ), .\2 ( unnamed_net546 ), .\1 ( unnamed_net544 ), .\2 ( unnamed_net547 ), .\1 ( unnamed_net192 ), .\2 ( unnamed_net548 ), .\1 ( unnamed_net537 ), .\2 ( unnamed_net549 ), .\1 ( unnamed_net202 ), .\2 ( unnamed_net550 ), .\1 ( unnamed_net548 ), .\2 ( unnamed_net551 ), .\1 ( unnamed_net204 ), .\2 ( unnamed_net552 ), .\1 ( unnamed_net550 ), .\2 ( unnamed_net553 ), .\1 ( unnamed_net206 ), .\2 ( unnamed_net554 ), .\1 ( unnamed_net552 ), .\2 ( unnamed_net555 ), .\1 ( unnamed_net538 ), .\2 ( unnamed_net556 ), .\1 ( unnamed_net546 ), .\2 ( unnamed_net557 ), .\1 ( unnamed_net549 ), .\2 ( unnamed_net558 ), .\1 ( unnamed_net556 ), .\2 ( unnamed_net559 ), .\1 ( unnamed_net551 ), .\2 ( unnamed_net560 ), .\1 ( unnamed_net558 ), .\2 ( unnamed_net561 ), .\1 ( unnamed_net553 ), .\2 ( unnamed_net562 ), .\1 ( unnamed_net560 ), .\2 ( unnamed_net563 ), .\1 ( unnamed_net540 ), .\2 ( unnamed_net564 ), .\1 ( unnamed_net565 ), .\2 ( unnamed_net566 ), .\1 ( unnamed_net541 ), .\2 ( unnamed_net567 ), .\1 ( unnamed_net564 ), .\2 ( unnamed_net568 ), .\1 ( unnamed_net543 ), .\2 ( unnamed_net569 ), .\1 ( unnamed_net567 ), .\2 ( unnamed_net570 ), .\1 ( unnamed_net545 ), .\2 ( unnamed_net571 ), .\1 ( unnamed_net569 ), .\2 ( unnamed_net572 ), .\1 ( unnamed_net565 ), .\2 ( unnamed_net573 ), .\1 ( unnamed_net574 ), .\2 ( unnamed_net575 ), .\1 ( unnamed_net566 ), .\2 ( unnamed_net576 ), .\1 ( unnamed_net573 ), .\2 ( unnamed_net577 ), .\1 ( unnamed_net568 ), .\2 ( unnamed_net578 ), .\1 ( unnamed_net576 ), .\2 ( unnamed_net579 ), .\1 ( unnamed_net570 ), .\2 ( unnamed_net580 ), .\1 ( unnamed_net578 ), .\2 ( unnamed_net581 ), .\1 ( unnamed_net547 ), .\2 ( unnamed_net582 ), .\1 ( unnamed_net571 ), .\2 ( unnamed_net583 ), .\1 ( unnamed_net557 ), .\2 ( unnamed_net584 ), .\1 ( unnamed_net582 ), .\2 ( unnamed_net585 ), .\1 ( unnamed_net559 ), .\2 ( unnamed_net586 ), .\1 ( unnamed_net584 ), .\2 ( unnamed_net587 ), .\1 ( unnamed_net561 ), .\2 ( unnamed_net588 ), .\1 ( unnamed_net586 ), .\2 ( unnamed_net589 ), .\1 ( unnamed_net572 ), .\2 ( unnamed_net590 ), .\1 ( unnamed_net580 ), .\2 ( unnamed_net591 ), .\1 ( unnamed_net583 ), .\2 ( unnamed_net592 ), .\1 ( unnamed_net590 ), .\2 ( unnamed_net593 ), .\1 ( unnamed_net585 ), .\2 ( unnamed_net594 ), .\1 ( unnamed_net592 ), .\2 ( unnamed_net595 ), .\1 ( unnamed_net587 ), .\2 ( unnamed_net596 ), .\1 ( unnamed_net594 ), .\2 ( unnamed_net597 ), .\1 ( unnamed_net208 ), .\2 ( unnamed_net598 ), .\1 ( unnamed_net554 ), .\2 ( unnamed_net599 ), .\1 ( unnamed_net250 ), .\2 ( unnamed_net600 ), .\1 ( unnamed_net598 ), .\2 ( unnamed_net601 ), .\1 ( unnamed_net252 ), .\2 ( unnamed_net602 ), .\1 ( unnamed_net600 ), .\2 ( unnamed_net603 ), .\1 ( unnamed_net254 ), .\2 ( unnamed_net604 ), .\1 ( unnamed_net602 ), .\2 ( unnamed_net605 ), .\1 ( unnamed_net555 ), .\2 ( unnamed_net606 ), .\1 ( unnamed_net562 ), .\2 ( unnamed_net607 ), .\1 ( unnamed_net599 ), .\2 ( unnamed_net608 ), .\1 ( unnamed_net606 ), .\2 ( unnamed_net609 ), .\1 ( unnamed_net601 ), .\2 ( unnamed_net610 ), .\1 ( unnamed_net608 ), .\2 ( unnamed_net611 ), .\1 ( unnamed_net603 ), .\2 ( unnamed_net612 ), .\1 ( unnamed_net610 ), .\2 ( unnamed_net613 ), .\1 ( unnamed_net256 ), .\2 ( unnamed_net614 ), .\1 ( unnamed_net604 ), .\2 ( unnamed_net615 ), .\1 ( unnamed_net266 ), .\2 ( unnamed_net616 ), .\1 ( unnamed_net614 ), .\2 ( unnamed_net617 ), .\1 ( unnamed_net268 ), .\2 ( unnamed_net618 ), .\1 ( unnamed_net616 ), .\2 ( unnamed_net619 ), .\1 ( unnamed_net270 ), .\2 ( unnamed_net620 ), .\1 ( unnamed_net618 ), .\2 ( unnamed_net621 ), .\1 ( unnamed_net605 ), .\2 ( unnamed_net622 ), .\1 ( unnamed_net612 ), .\2 ( unnamed_net623 ), .\1 ( unnamed_net615 ), .\2 ( unnamed_net624 ), .\1 ( unnamed_net622 ), .\2 ( unnamed_net625 ), .\1 ( unnamed_net617 ), .\2 ( unnamed_net626 ), .\1 ( unnamed_net624 ), .\2 ( unnamed_net627 ), .\1 ( unnamed_net619 ), .\2 ( unnamed_net628 ), .\1 ( unnamed_net626 ), .\2 ( unnamed_net629 ), .\1 ( unnamed_net563 ), .\2 ( unnamed_net630 ), .\1 ( unnamed_net588 ), .\2 ( unnamed_net631 ), .\1 ( unnamed_net607 ), .\2 ( unnamed_net632 ), .\1 ( unnamed_net630 ), .\2 ( unnamed_net633 ), .\1 ( unnamed_net609 ), .\2 ( unnamed_net634 ), .\1 ( unnamed_net632 ), .\2 ( unnamed_net635 ), .\1 ( unnamed_net611 ), .\2 ( unnamed_net636 ), .\1 ( unnamed_net634 ), .\2 ( unnamed_net637 ), .\1 ( unnamed_net589 ), .\2 ( unnamed_net638 ), .\1 ( unnamed_net596 ), .\2 ( unnamed_net639 ), .\1 ( unnamed_net631 ), .\2 ( unnamed_net640 ), .\1 ( unnamed_net638 ), .\2 ( unnamed_net641 ), .\1 ( unnamed_net633 ), .\2 ( unnamed_net642 ), .\1 ( unnamed_net640 ), .\2 ( unnamed_net643 ), .\1 ( unnamed_net635 ), .\2 ( unnamed_net644 ), .\1 ( unnamed_net642 ), .\2 ( unnamed_net645 ), .\1 ( unnamed_net613 ), .\2 ( unnamed_net646 ), .\1 ( unnamed_net636 ), .\2 ( unnamed_net647 ), .\1 ( unnamed_net623 ), .\2 ( unnamed_net648 ), .\1 ( unnamed_net646 ), .\2 ( unnamed_net649 ), .\1 ( unnamed_net625 ), .\2 ( unnamed_net650 ), .\1 ( unnamed_net648 ), .\2 ( unnamed_net651 ), .\1 ( unnamed_net627 ), .\2 ( unnamed_net652 ), .\1 ( unnamed_net650 ), .\2 ( unnamed_net653 ), .\1 ( unnamed_net637 ), .\2 ( unnamed_net654 ), .\1 ( unnamed_net644 ), .\2 ( unnamed_net655 ), .\1 ( unnamed_net647 ), .\2 ( unnamed_net656 ), .\1 ( unnamed_net654 ), .\2 ( unnamed_net657 ), .\1 ( unnamed_net649 ), .\2 ( unnamed_net658 ), .\1 ( unnamed_net656 ), .\2 ( unnamed_net659 ), .\1 ( unnamed_net651 ), .\2 ( unnamed_net660 ), .\1 ( unnamed_net658 ), .\2 ( unnamed_net661 ), .\1 ( unnamed_net574 ), .\2 ( unnamed_net662 ), .\1 ( unnamed_net663 ), .\2 ( unnamed_net664 ), .\1 ( unnamed_net575 ), .\2 ( unnamed_net665 ), .\1 ( unnamed_net662 ), .\2 ( unnamed_net666 ), .\1 ( unnamed_net577 ), .\2 ( unnamed_net667 ), .\1 ( unnamed_net665 ), .\2 ( unnamed_net668 ), .\1 ( unnamed_net579 ), .\2 ( unnamed_net669 ), .\1 ( unnamed_net667 ), .\2 ( unnamed_net670 ), .\1 ( unnamed_net663 ), .\2 ( unnamed_net671 ), .\1 ( unnamed_net672 ), .\2 ( unnamed_net673 ), .\1 ( unnamed_net664 ), .\2 ( unnamed_net674 ), .\1 ( unnamed_net671 ), .\2 ( unnamed_net675 ), .\1 ( unnamed_net666 ), .\2 ( unnamed_net676 ), .\1 ( unnamed_net674 ), .\2 ( unnamed_net677 ), .\1 ( unnamed_net668 ), .\2 ( unnamed_net678 ), .\1 ( unnamed_net676 ), .\2 ( unnamed_net679 ), .\1 ( unnamed_net581 ), .\2 ( unnamed_net680 ), .\1 ( unnamed_net669 ), .\2 ( unnamed_net681 ), .\1 ( unnamed_net591 ), .\2 ( unnamed_net682 ), .\1 ( unnamed_net680 ), .\2 ( unnamed_net683 ), .\1 ( unnamed_net593 ), .\2 ( unnamed_net684 ), .\1 ( unnamed_net682 ), .\2 ( unnamed_net685 ), .\1 ( unnamed_net595 ), .\2 ( unnamed_net686 ), .\1 ( unnamed_net684 ), .\2 ( unnamed_net687 ), .\1 ( unnamed_net670 ), .\2 ( unnamed_net688 ), .\1 ( unnamed_net678 ), .\2 ( unnamed_net689 ), .\1 ( unnamed_net681 ), .\2 ( unnamed_net690 ), .\1 ( unnamed_net688 ), .\2 ( unnamed_net691 ), .\1 ( unnamed_net683 ), .\2 ( unnamed_net692 ), .\1 ( unnamed_net690 ), .\2 ( unnamed_net693 ), .\1 ( unnamed_net685 ), .\2 ( unnamed_net694 ), .\1 ( unnamed_net692 ), .\2 ( unnamed_net695 ), .\1 ( unnamed_net672 ), .\2 ( unnamed_net696 ), .\1 ( unnamed_net697 ), .\2 ( unnamed_net698 ), .\1 ( unnamed_net673 ), .\2 ( unnamed_net699 ), .\1 ( unnamed_net696 ), .\2 ( unnamed_net700 ), .\1 ( unnamed_net675 ), .\2 ( unnamed_net701 ), .\1 ( unnamed_net699 ), .\2 ( unnamed_net702 ), .\1 ( unnamed_net677 ), .\2 ( unnamed_net703 ), .\1 ( unnamed_net701 ), .\2 ( unnamed_net704 ), .\1 ( unnamed_net697 ), .\2 ( unnamed_net705 ), .\1 ( unnamed_net706 ), .\2 ( unnamed_net707 ), .\1 ( unnamed_net698 ), .\2 ( unnamed_net708 ), .\1 ( unnamed_net705 ), .\2 ( unnamed_net707 ), .\1 ( unnamed_net700 ), .\2 ( unnamed_net709 ), .\1 ( unnamed_net708 ), .\2 ( unnamed_net710 ), .\1 ( unnamed_net702 ), .\2 ( unnamed_net711 ), .\1 ( unnamed_net709 ), .\2 ( unnamed_net710 ), .\1 ( unnamed_net679 ), .\2 ( unnamed_net712 ), .\1 ( unnamed_net703 ), .\2 ( unnamed_net713 ), .\1 ( unnamed_net689 ), .\2 ( unnamed_net714 ), .\1 ( unnamed_net712 ), .\2 ( unnamed_net715 ), .\1 ( unnamed_net691 ), .\2 ( unnamed_net716 ), .\1 ( unnamed_net714 ), .\2 ( unnamed_net717 ), .\1 ( unnamed_net693 ), .\2 ( unnamed_net718 ), .\1 ( unnamed_net716 ), .\2 ( unnamed_net719 ), .\1 ( unnamed_net704 ), .\2 ( unnamed_net720 ), .\1 ( unnamed_net711 ), .\2 ( unnamed_net721 ), .\1 ( unnamed_net713 ), .\2 ( unnamed_net722 ), .\1 ( unnamed_net720 ), .\2 ( unnamed_net721 ), .\1 ( unnamed_net715 ), .\2 ( unnamed_net723 ), .\1 ( unnamed_net722 ), .\2 ( unnamed_net724 ), .\1 ( unnamed_net717 ), .\2 ( unnamed_net725 ), .\1 ( unnamed_net723 ), .\2 ( unnamed_net724 ), .\1 ( unnamed_net597 ), .\2 ( unnamed_net726 ), .\1 ( unnamed_net686 ), .\2 ( unnamed_net727 ), .\1 ( unnamed_net639 ), .\2 ( unnamed_net728 ), .\1 ( unnamed_net726 ), .\2 ( unnamed_net729 ), .\1 ( unnamed_net641 ), .\2 ( unnamed_net730 ), .\1 ( unnamed_net728 ), .\2 ( unnamed_net731 ), .\1 ( unnamed_net643 ), .\2 ( unnamed_net732 ), .\1 ( unnamed_net730 ), .\2 ( unnamed_net733 ), .\1 ( unnamed_net687 ), .\2 ( unnamed_net734 ), .\1 ( unnamed_net694 ), .\2 ( unnamed_net735 ), .\1 ( unnamed_net727 ), .\2 ( unnamed_net736 ), .\1 ( unnamed_net734 ), .\2 ( unnamed_net737 ), .\1 ( unnamed_net729 ), .\2 ( unnamed_net738 ), .\1 ( unnamed_net736 ), .\2 ( unnamed_net739 ), .\1 ( unnamed_net731 ), .\2 ( unnamed_net740 ), .\1 ( unnamed_net738 ), .\2 ( unnamed_net741 ), .\1 ( unnamed_net645 ), .\2 ( unnamed_net742 ), .\1 ( unnamed_net732 ), .\2 ( unnamed_net743 ), .\1 ( unnamed_net655 ), .\2 ( unnamed_net744 ), .\1 ( unnamed_net742 ), .\2 ( unnamed_net745 ), .\1 ( unnamed_net657 ), .\2 ( unnamed_net746 ), .\1 ( unnamed_net744 ), .\2 ( unnamed_net747 ), .\1 ( unnamed_net659 ), .\2 ( unnamed_net748 ), .\1 ( unnamed_net746 ), .\2 ( unnamed_net749 ), .\1 ( unnamed_net733 ), .\2 ( unnamed_net750 ), .\1 ( unnamed_net740 ), .\2 ( unnamed_net751 ), .\1 ( unnamed_net743 ), .\2 ( unnamed_net752 ), .\1 ( unnamed_net750 ), .\2 ( unnamed_net753 ), .\1 ( unnamed_net745 ), .\2 ( unnamed_net754 ), .\1 ( unnamed_net752 ), .\2 ( unnamed_net755 ), .\1 ( unnamed_net747 ), .\2 ( unnamed_net756 ), .\1 ( unnamed_net754 ), .\2 ( unnamed_net757 ), .\1 ( unnamed_net695 ), .\2 ( unnamed_net758 ), .\1 ( unnamed_net718 ), .\2 ( unnamed_net759 ), .\1 ( unnamed_net735 ), .\2 ( unnamed_net760 ), .\1 ( unnamed_net758 ), .\2 ( unnamed_net761 ), .\1 ( unnamed_net737 ), .\2 ( unnamed_net762 ), .\1 ( unnamed_net760 ), .\2 ( unnamed_net763 ), .\1 ( unnamed_net739 ), .\2 ( unnamed_net764 ), .\1 ( unnamed_net762 ), .\2 ( unnamed_net765 ), .\1 ( unnamed_net719 ), .\2 ( unnamed_net766 ), .\1 ( unnamed_net725 ), .\2 ( unnamed_net767 ), .\1 ( unnamed_net759 ), .\2 ( unnamed_net768 ), .\1 ( unnamed_net766 ), .\2 ( unnamed_net767 ), .\1 ( unnamed_net761 ), .\2 ( unnamed_net769 ), .\1 ( unnamed_net768 ), .\2 ( unnamed_net770 ), .\1 ( unnamed_net763 ), .\2 ( unnamed_net771 ), .\1 ( unnamed_net769 ), .\2 ( unnamed_net770 ), .\1 ( unnamed_net741 ), .\2 ( unnamed_net772 ), .\1 ( unnamed_net764 ), .\2 ( unnamed_net773 ), .\1 ( unnamed_net751 ), .\2 ( unnamed_net774 ), .\1 ( unnamed_net772 ), .\2 ( unnamed_net775 ), .\1 ( unnamed_net753 ), .\2 ( unnamed_net776 ), .\1 ( unnamed_net774 ), .\2 ( unnamed_net777 ), .\1 ( unnamed_net755 ), .\2 ( unnamed_net778 ), .\1 ( unnamed_net776 ), .\2 ( unnamed_net779 ), .\1 ( unnamed_net765 ), .\2 ( unnamed_net780 ), .\1 ( unnamed_net771 ), .\2 ( unnamed_net781 ), .\1 ( unnamed_net773 ), .\2 ( unnamed_net782 ), .\1 ( unnamed_net780 ), .\2 ( unnamed_net781 ), .\1 ( unnamed_net775 ), .\2 ( unnamed_net783 ), .\1 ( unnamed_net782 ), .\2 ( unnamed_net784 ), .\1 ( unnamed_net777 ), .\2 ( unnamed_net785 ), .\1 ( unnamed_net783 ), .\2 ( unnamed_net784 ), .\1 ( unnamed_net272 ), .\2 ( unnamed_net786 ), .\1 ( unnamed_net620 ), .\2 ( unnamed_net787 ), .\1 ( unnamed_net447 ), .\2 ( unnamed_net788 ), .\1 ( unnamed_net786 ), .\2 ( unnamed_net789 ), .\1 ( unnamed_net449 ), .\2 ( unnamed_net790 ), .\1 ( unnamed_net788 ), .\2 ( unnamed_net791 ), .\1 ( unnamed_net451 ), .\2 ( unnamed_net792 ), .\1 ( unnamed_net790 ), .\2 ( unnamed_net793 ), .\1 ( unnamed_net621 ), .\2 ( unnamed_net794 ), .\1 ( unnamed_net628 ), .\2 ( unnamed_net795 ), .\1 ( unnamed_net787 ), .\2 ( unnamed_net796 ), .\1 ( unnamed_net794 ), .\2 ( unnamed_net797 ), .\1 ( unnamed_net789 ), .\2 ( unnamed_net798 ), .\1 ( unnamed_net796 ), .\2 ( unnamed_net799 ), .\1 ( unnamed_net791 ), .\2 ( unnamed_net800 ), .\1 ( unnamed_net798 ), .\2 ( unnamed_net801 ), .\1 ( unnamed_net453 ), .\2 ( unnamed_net802 ), .\1 ( unnamed_net792 ), .\2 ( unnamed_net803 ), .\1 ( unnamed_net463 ), .\2 ( unnamed_net804 ), .\1 ( unnamed_net802 ), .\2 ( unnamed_net805 ), .\1 ( unnamed_net465 ), .\2 ( unnamed_net806 ), .\1 ( unnamed_net804 ), .\2 ( unnamed_net807 ), .\1 ( unnamed_net467 ), .\2 ( unnamed_net808 ), .\1 ( unnamed_net806 ), .\2 ( unnamed_net809 ), .\1 ( unnamed_net793 ), .\2 ( unnamed_net810 ), .\1 ( unnamed_net800 ), .\2 ( unnamed_net811 ), .\1 ( unnamed_net803 ), .\2 ( unnamed_net812 ), .\1 ( unnamed_net810 ), .\2 ( unnamed_net813 ), .\1 ( unnamed_net805 ), .\2 ( unnamed_net814 ), .\1 ( unnamed_net812 ), .\2 ( unnamed_net815 ), .\1 ( unnamed_net807 ), .\2 ( unnamed_net816 ), .\1 ( unnamed_net814 ), .\2 ( unnamed_net817 ), .\1 ( unnamed_net629 ), .\2 ( unnamed_net818 ), .\1 ( unnamed_net652 ), .\2 ( unnamed_net819 ), .\1 ( unnamed_net795 ), .\2 ( unnamed_net820 ), .\1 ( unnamed_net818 ), .\2 ( unnamed_net821 ), .\1 ( unnamed_net797 ), .\2 ( unnamed_net822 ), .\1 ( unnamed_net820 ), .\2 ( unnamed_net823 ), .\1 ( unnamed_net799 ), .\2 ( unnamed_net824 ), .\1 ( unnamed_net822 ), .\2 ( unnamed_net825 ), .\1 ( unnamed_net653 ), .\2 ( unnamed_net826 ), .\1 ( unnamed_net660 ), .\2 ( unnamed_net827 ), .\1 ( unnamed_net819 ), .\2 ( unnamed_net828 ), .\1 ( unnamed_net826 ), .\2 ( unnamed_net829 ), .\1 ( unnamed_net821 ), .\2 ( unnamed_net830 ), .\1 ( unnamed_net828 ), .\2 ( unnamed_net831 ), .\1 ( unnamed_net823 ), .\2 ( unnamed_net832 ), .\1 ( unnamed_net830 ), .\2 ( unnamed_net833 ), .\1 ( unnamed_net801 ), .\2 ( unnamed_net834 ), .\1 ( unnamed_net824 ), .\2 ( unnamed_net835 ), .\1 ( unnamed_net811 ), .\2 ( unnamed_net836 ), .\1 ( unnamed_net834 ), .\2 ( unnamed_net837 ), .\1 ( unnamed_net813 ), .\2 ( unnamed_net838 ), .\1 ( unnamed_net836 ), .\2 ( unnamed_net839 ), .\1 ( unnamed_net815 ), .\2 ( unnamed_net840 ), .\1 ( unnamed_net838 ), .\2 ( unnamed_net841 ), .\1 ( unnamed_net825 ), .\2 ( unnamed_net842 ), .\1 ( unnamed_net832 ), .\2 ( unnamed_net843 ), .\1 ( unnamed_net835 ), .\2 ( unnamed_net844 ), .\1 ( unnamed_net842 ), .\2 ( unnamed_net845 ), .\1 ( unnamed_net837 ), .\2 ( unnamed_net846 ), .\1 ( unnamed_net844 ), .\2 ( unnamed_net847 ), .\1 ( unnamed_net839 ), .\2 ( unnamed_net848 ), .\1 ( unnamed_net846 ), .\2 ( unnamed_net849 ), .\1 ( unnamed_net469 ), .\2 ( unnamed_net850 ), .\1 ( unnamed_net808 ), .\2 ( unnamed_net851 ), .\1 ( unnamed_net509 ), .\2 ( unnamed_net852 ), .\1 ( unnamed_net850 ), .\2 ( unnamed_net853 ), .\1 ( unnamed_net511 ), .\2 ( unnamed_net854 ), .\1 ( unnamed_net852 ), .\2 ( unnamed_net855 ), .\1 ( unnamed_net513 ), .\2 ( unnamed_net856 ), .\1 ( unnamed_net854 ), .\2 ( unnamed_net857 ), .\1 ( unnamed_net809 ), .\2 ( unnamed_net858 ), .\1 ( unnamed_net816 ), .\2 ( unnamed_net859 ), .\1 ( unnamed_net851 ), .\2 ( unnamed_net860 ), .\1 ( unnamed_net858 ), .\2 ( unnamed_net861 ), .\1 ( unnamed_net853 ), .\2 ( unnamed_net862 ), .\1 ( unnamed_net860 ), .\2 ( unnamed_net863 ), .\1 ( unnamed_net855 ), .\2 ( unnamed_net864 ), .\1 ( unnamed_net862 ), .\2 ( unnamed_net865 ), .\1 ( unnamed_net515 ), .\2 ( unnamed_net866 ), .\1 ( unnamed_net856 ), .\2 ( unnamed_net867 ), .\1 ( unnamed_net524 ), .\2 ( unnamed_net868 ), .\1 ( unnamed_net866 ), .\2 ( unnamed_net869 ), .\1 ( unnamed_net526 ), .\2 ( unnamed_net870 ), .\1 ( unnamed_net868 ), .\2 ( unnamed_net871 ), .\1 ( unnamed_net528 ), .\2 ( unnamed_net529 ), .\1 ( unnamed_net870 ), .\2 ( unnamed_net872 ), .\1 ( unnamed_net857 ), .\2 ( unnamed_net873 ), .\1 ( unnamed_net864 ), .\2 ( unnamed_net874 ), .\1 ( unnamed_net867 ), .\2 ( unnamed_net875 ), .\1 ( unnamed_net873 ), .\2 ( unnamed_net876 ), .\1 ( unnamed_net869 ), .\2 ( unnamed_net877 ), .\1 ( unnamed_net875 ), .\2 ( unnamed_net878 ), .\1 ( unnamed_net871 ), .\2 ( unnamed_net872 ), .\1 ( unnamed_net877 ), .\2 ( unnamed_net879 ), .\1 ( unnamed_net817 ), .\2 ( unnamed_net880 ), .\1 ( unnamed_net840 ), .\2 ( unnamed_net881 ), .\1 ( unnamed_net859 ), .\2 ( unnamed_net882 ), .\1 ( unnamed_net880 ), .\2 ( unnamed_net883 ), .\1 ( unnamed_net861 ), .\2 ( unnamed_net884 ), .\1 ( unnamed_net882 ), .\2 ( unnamed_net885 ), .\1 ( unnamed_net863 ), .\2 ( unnamed_net886 ), .\1 ( unnamed_net884 ), .\2 ( unnamed_net887 ), .\1 ( unnamed_net841 ), .\2 ( unnamed_net888 ), .\1 ( unnamed_net848 ), .\2 ( unnamed_net889 ), .\1 ( unnamed_net881 ), .\2 ( unnamed_net890 ), .\1 ( unnamed_net888 ), .\2 ( unnamed_net891 ), .\1 ( unnamed_net883 ), .\2 ( unnamed_net892 ), .\1 ( unnamed_net890 ), .\2 ( unnamed_net893 ), .\1 ( unnamed_net885 ), .\2 ( unnamed_net894 ), .\1 ( unnamed_net892 ), .\2 ( unnamed_net895 ), .\1 ( unnamed_net865 ), .\2 ( unnamed_net896 ), .\1 ( unnamed_net886 ), .\2 ( unnamed_net897 ), .\1 ( unnamed_net874 ), .\2 ( unnamed_net898 ), .\1 ( unnamed_net896 ), .\2 ( unnamed_net899 ), .\1 ( unnamed_net876 ), .\2 ( unnamed_net900 ), .\1 ( unnamed_net898 ), .\2 ( unnamed_net901 ), .\1 ( unnamed_net878 ), .\2 ( unnamed_net879 ), .\1 ( unnamed_net900 ), .\2 ( unnamed_net902 ), .\1 ( unnamed_net887 ), .\2 ( unnamed_net903 ), .\1 ( unnamed_net894 ), .\2 ( unnamed_net904 ), .\1 ( unnamed_net897 ), .\2 ( unnamed_net905 ), .\1 ( unnamed_net903 ), .\2 ( unnamed_net906 ), .\1 ( unnamed_net899 ), .\2 ( unnamed_net907 ), .\1 ( unnamed_net905 ), .\2 ( unnamed_net908 ), .\1 ( unnamed_net901 ), .\2 ( unnamed_net902 ), .\1 ( unnamed_net907 ), .\2 ( unnamed_net909 ), .\1 ( unnamed_net661 ), .\2 ( unnamed_net910 ), .\1 ( unnamed_net748 ), .\2 ( unnamed_net911 ), .\1 ( unnamed_net827 ), .\2 ( unnamed_net912 ), .\1 ( unnamed_net910 ), .\2 ( unnamed_net913 ), .\1 ( unnamed_net829 ), .\2 ( unnamed_net914 ), .\1 ( unnamed_net912 ), .\2 ( unnamed_net915 ), .\1 ( unnamed_net831 ), .\2 ( unnamed_net916 ), .\1 ( unnamed_net914 ), .\2 ( unnamed_net917 ), .\1 ( unnamed_net749 ), .\2 ( unnamed_net918 ), .\1 ( unnamed_net756 ), .\2 ( unnamed_net919 ), .\1 ( unnamed_net911 ), .\2 ( unnamed_net920 ), .\1 ( unnamed_net918 ), .\2 ( unnamed_net921 ), .\1 ( unnamed_net913 ), .\2 ( unnamed_net922 ), .\1 ( unnamed_net920 ), .\2 ( unnamed_net923 ), .\1 ( unnamed_net915 ), .\2 ( unnamed_net924 ), .\1 ( unnamed_net922 ), .\2 ( unnamed_net925 ), .\1 ( unnamed_net833 ), .\2 ( unnamed_net926 ), .\1 ( unnamed_net916 ), .\2 ( unnamed_net927 ), .\1 ( unnamed_net843 ), .\2 ( unnamed_net928 ), .\1 ( unnamed_net926 ), .\2 ( unnamed_net929 ), .\1 ( unnamed_net845 ), .\2 ( unnamed_net930 ), .\1 ( unnamed_net928 ), .\2 ( unnamed_net931 ), .\1 ( unnamed_net847 ), .\2 ( unnamed_net932 ), .\1 ( unnamed_net930 ), .\2 ( unnamed_net933 ), .\1 ( unnamed_net917 ), .\2 ( unnamed_net934 ), .\1 ( unnamed_net924 ), .\2 ( unnamed_net935 ), .\1 ( unnamed_net927 ), .\2 ( unnamed_net936 ), .\1 ( unnamed_net934 ), .\2 ( unnamed_net937 ), .\1 ( unnamed_net929 ), .\2 ( unnamed_net938 ), .\1 ( unnamed_net936 ), .\2 ( unnamed_net939 ), .\1 ( unnamed_net931 ), .\2 ( unnamed_net940 ), .\1 ( unnamed_net938 ), .\2 ( unnamed_net941 ), .\1 ( unnamed_net757 ), .\2 ( unnamed_net942 ), .\1 ( unnamed_net778 ), .\2 ( unnamed_net943 ), .\1 ( unnamed_net919 ), .\2 ( unnamed_net944 ), .\1 ( unnamed_net942 ), .\2 ( unnamed_net945 ), .\1 ( unnamed_net921 ), .\2 ( unnamed_net946 ), .\1 ( unnamed_net944 ), .\2 ( unnamed_net947 ), .\1 ( unnamed_net923 ), .\2 ( unnamed_net948 ), .\1 ( unnamed_net946 ), .\2 ( unnamed_net949 ), .\1 ( unnamed_net779 ), .\2 ( unnamed_net950 ), .\1 ( unnamed_net785 ), .\2 ( unnamed_net951 ), .\1 ( unnamed_net943 ), .\2 ( unnamed_net952 ), .\1 ( unnamed_net950 ), .\2 ( unnamed_net951 ), .\1 ( unnamed_net945 ), .\2 ( unnamed_net953 ), .\1 ( unnamed_net952 ), .\2 ( unnamed_net954 ), .\1 ( unnamed_net947 ), .\2 ( unnamed_net955 ), .\1 ( unnamed_net953 ), .\2 ( unnamed_net954 ), .\1 ( unnamed_net925 ), .\2 ( unnamed_net956 ), .\1 ( unnamed_net948 ), .\2 ( unnamed_net957 ), .\1 ( unnamed_net935 ), .\2 ( unnamed_net958 ), .\1 ( unnamed_net956 ), .\2 ( unnamed_net959 ), .\1 ( unnamed_net937 ), .\2 ( unnamed_net960 ), .\1 ( unnamed_net958 ), .\2 ( unnamed_net961 ), .\1 ( unnamed_net939 ), .\2 ( unnamed_net962 ), .\1 ( unnamed_net960 ), .\2 ( unnamed_net963 ), .\1 ( unnamed_net949 ), .\2 ( unnamed_net964 ), .\1 ( unnamed_net955 ), .\2 ( unnamed_net965 ), .\1 ( unnamed_net957 ), .\2 ( unnamed_net966 ), .\1 ( unnamed_net964 ), .\2 ( unnamed_net965 ), .\1 ( unnamed_net959 ), .\2 ( unnamed_net967 ), .\1 ( unnamed_net966 ), .\2 ( unnamed_net968 ), .\1 ( unnamed_net961 ), .\2 ( unnamed_net969 ), .\1 ( unnamed_net967 ), .\2 ( unnamed_net968 ), .\1 ( unnamed_net849 ), .\2 ( unnamed_net970 ), .\1 ( unnamed_net932 ), .\2 ( unnamed_net971 ), .\1 ( unnamed_net889 ), .\2 ( unnamed_net972 ), .\1 ( unnamed_net970 ), .\2 ( unnamed_net973 ), .\1 ( unnamed_net891 ), .\2 ( unnamed_net974 ), .\1 ( unnamed_net972 ), .\2 ( unnamed_net975 ), .\1 ( unnamed_net893 ), .\2 ( unnamed_net976 ), .\1 ( unnamed_net974 ), .\2 ( unnamed_net977 ), .\1 ( unnamed_net933 ), .\2 ( unnamed_net978 ), .\1 ( unnamed_net940 ), .\2 ( unnamed_net979 ), .\1 ( unnamed_net971 ), .\2 ( unnamed_net980 ), .\1 ( unnamed_net978 ), .\2 ( unnamed_net981 ), .\1 ( unnamed_net973 ), .\2 ( unnamed_net982 ), .\1 ( unnamed_net980 ), .\2 ( unnamed_net983 ), .\1 ( unnamed_net975 ), .\2 ( unnamed_net984 ), .\1 ( unnamed_net982 ), .\2 ( unnamed_net985 ), .\1 ( unnamed_net895 ), .\2 ( unnamed_net986 ), .\1 ( unnamed_net976 ), .\2 ( unnamed_net987 ), .\1 ( unnamed_net904 ), .\2 ( unnamed_net988 ), .\1 ( unnamed_net986 ), .\2 ( unnamed_net989 ), .\1 ( unnamed_net906 ), .\2 ( unnamed_net990 ), .\1 ( unnamed_net988 ), .\2 ( unnamed_net991 ), .\1 ( unnamed_net908 ), .\2 ( unnamed_net909 ), .\1 ( unnamed_net990 ), .\2 ( unnamed_net992 ), .\1 ( unnamed_net977 ), .\2 ( unnamed_net993 ), .\1 ( unnamed_net984 ), .\2 ( unnamed_net994 ), .\1 ( unnamed_net987 ), .\2 ( unnamed_net995 ), .\1 ( unnamed_net993 ), .\2 ( unnamed_net996 ), .\1 ( unnamed_net989 ), .\2 ( unnamed_net997 ), .\1 ( unnamed_net995 ), .\2 ( unnamed_net998 ), .\1 ( unnamed_net991 ), .\2 ( unnamed_net992 ), .\1 ( unnamed_net997 ), .\2 ( unnamed_net999 ), .\1 ( unnamed_net941 ), .\2 ( unnamed_net1000 ), .\1 ( unnamed_net962 ), .\2 ( unnamed_net1001 ), .\1 ( unnamed_net979 ), .\2 ( unnamed_net1002 ), .\1 ( unnamed_net1000 ), .\2 ( unnamed_net1003 ), .\1 ( unnamed_net981 ), .\2 ( unnamed_net1004 ), .\1 ( unnamed_net1002 ), .\2 ( unnamed_net1005 ), .\1 ( unnamed_net983 ), .\2 ( unnamed_net1006 ), .\1 ( unnamed_net1004 ), .\2 ( unnamed_net1007 ), .\1 ( unnamed_net963 ), .\2 ( unnamed_net1008 ), .\1 ( unnamed_net969 ), .\2 ( unnamed_net1009 ), .\1 ( unnamed_net1001 ), .\2 ( unnamed_net1010 ), .\1 ( unnamed_net1008 ), .\2 ( unnamed_net1009 ), .\1 ( unnamed_net1003 ), .\2 ( unnamed_net1011 ), .\1 ( unnamed_net1010 ), .\2 ( unnamed_net1012 ), .\1 ( unnamed_net1005 ), .\2 ( unnamed_net1013 ), .\1 ( unnamed_net1011 ), .\2 ( unnamed_net1012 ), .\1 ( unnamed_net985 ), .\2 ( unnamed_net1014 ), .\1 ( unnamed_net1006 ), .\2 ( unnamed_net1015 ), .\1 ( unnamed_net994 ), .\2 ( unnamed_net1016 ), .\1 ( unnamed_net1014 ), .\2 ( unnamed_net1017 ), .\1 ( unnamed_net996 ), .\2 ( unnamed_net1018 ), .\1 ( unnamed_net1016 ), .\2 ( unnamed_net1019 ), .\1 ( unnamed_net998 ), .\2 ( unnamed_net999 ), .\1 ( unnamed_net1018 ), .\2 ( unnamed_net1020 ), .\1 ( unnamed_net1007 ), .\2 ( unnamed_net1021 ), .\1 ( unnamed_net1013 ), .\2 ( unnamed_net1022 ), .\1 ( unnamed_net1015 ), .\2 ( unnamed_net1023 ), .\1 ( unnamed_net1021 ), .\2 ( unnamed_net1022 ), .\1 ( unnamed_net1017 ), .\2 ( unnamed_net1024 ), .\1 ( unnamed_net1023 ), .\2 ( unnamed_net1025 ), .\1 ( unnamed_net1019 ), .\2 ( unnamed_net1020 ), .\1 ( unnamed_net1024 ), .\2 ( unnamed_net1025 ) ); endmodule geda-gaf-1.8.2/gnetlist/tests/common/outputs/verilog/JD_Sort.retcode0000664000175000017500000000000212050461155022417 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/verilog/cascade-output.net0000664000175000017500000000226112050461155023206 00000000000000/* structural Verilog generated by gnetlist */ /* WARNING: This is a generated file, edits */ /* made here will be lost next time */ /* you run gnetlist! */ /* Id ..........$Id$ */ /* Source.......$Source$ */ /* Revision.....$Revision$ */ /* Author.......$Author$ */ module \not found ( ); /* Port directions begin here */ /* Wires from the design */ wire unnamed_net6 ; wire unnamed_net5 ; wire unnamed_net4 ; wire unnamed_net3 ; wire unnamed_net2 ; wire unnamed_net1 ; wire GND ; /* continuous assignments */ /* Package instantiations */ \cascade-amp AMP2 ( .\1 ( unnamed_net6 ) ); \cascade-transformer T1 ( .\1 ( unnamed_net5 ), .\2 ( unnamed_net6 ) ); \cascade-mixer MX1 ( .\1 ( unnamed_net4 ), .\2 ( unnamed_net5 ) ); \cascade-filter FL1 ( .\1 ( unnamed_net3 ), .\2 ( unnamed_net4 ) ); \cascade-defaults DEF1 ( .\1 ( unnamed_net2 ), .\2 ( unnamed_net3 ) ); \cascade-amp AMP1 ( .\1 ( unnamed_net1 ), .\2 ( unnamed_net2 ) ); \cascade-source SOURCE ( .\1 ( unnamed_net1 ) ); \cascade-defaults-top DEFAULTS ( .\1 ( GND ) ); endmodule geda-gaf-1.8.2/gnetlist/tests/common/outputs/verilog/multiequal-output.net0000664000175000017500000000122012050461155023777 00000000000000/* structural Verilog generated by gnetlist */ /* WARNING: This is a generated file, edits */ /* made here will be lost next time */ /* you run gnetlist! */ /* Id ..........$Id$ */ /* Source.......$Source$ */ /* Revision.....$Revision$ */ /* Author.......$Author$ */ module \not found ( ); /* Port directions begin here */ /* Wires from the design */ wire GND ; wire unnamed_net1 ; /* continuous assignments */ /* Package instantiations */ VOLTAGE_SOURCE V1 ( .\1 ( unnamed_net1 ), .\2 ( GND ) ); RESISTOR R1 ( .\2 ( unnamed_net1 ), .\1 ( GND ) ); options A1 ( ); endmodule geda-gaf-1.8.2/gnetlist/tests/common/outputs/verilog/JD_nomunge-output.net0000664000175000017500000000232612050461155023652 00000000000000/* structural Verilog generated by gnetlist */ /* WARNING: This is a generated file, edits */ /* made here will be lost next time */ /* you run gnetlist! */ /* Id ..........$Id$ */ /* Source.......$Source$ */ /* Revision.....$Revision$ */ /* Author.......$Author$ */ module \not found ( ); /* Port directions begin here */ /* Wires from the design */ wire Vdd1 ; wire GND ; wire LVH ; wire i ; wire p ; wire m ; /* continuous assignments */ /* Package instantiations */ model A1 ( ); CAPACITOR Cm ( .\1 ( m ), .\2 ( GND ) ); CAPACITOR Cp ( .\1 ( p ), .\2 ( GND ) ); RESISTOR Rlp ( .\2 ( Vdd1 ), .\1 ( p ) ); RESISTOR Rlm ( .\2 ( GND ), .\1 ( m ) ); VOLTAGE_SOURCE Vdd ( .\1 ( Vdd1 ), .\2 ( GND ) ); vpulse V1 ( .\1 ( i ), .\2 ( GND ) ); RESISTOR Rt ( .\2 ( m ), .\1 ( p ) ); RESISTOR Rb ( .\2 ( LVH ), .\1 ( GND ) ); PMOS_TRANSISTOR M1 ( .S ( Vdd1 ), .B ( Vdd1 ), .D ( LVH ), .G ( LVH ) ); LVD X1 ( .\4 ( m ), .\5 ( p ), .\1 ( i ), .\3 ( LVH ), .\2 ( GND ), .\6 ( Vdd1 ), .\7 ( GND ) ); endmodule geda-gaf-1.8.2/gnetlist/tests/common/outputs/verilog/stack-torture.retcode0000664000175000017500000000000212063576065023735 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/verilog/powersupply.retcode0000664000175000017500000000000212050461155023524 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/verilog/JD_Sort_nomunge-output.net0000664000175000017500000000232612050461155024661 00000000000000/* structural Verilog generated by gnetlist */ /* WARNING: This is a generated file, edits */ /* made here will be lost next time */ /* you run gnetlist! */ /* Id ..........$Id$ */ /* Source.......$Source$ */ /* Revision.....$Revision$ */ /* Author.......$Author$ */ module \not found ( ); /* Port directions begin here */ /* Wires from the design */ wire Vdd1 ; wire GND ; wire LVH ; wire i ; wire p ; wire m ; /* continuous assignments */ /* Package instantiations */ model A1 ( ); CAPACITOR Cm ( .\1 ( m ), .\2 ( GND ) ); CAPACITOR Cp ( .\1 ( p ), .\2 ( GND ) ); RESISTOR Rlp ( .\2 ( Vdd1 ), .\1 ( p ) ); RESISTOR Rlm ( .\2 ( GND ), .\1 ( m ) ); VOLTAGE_SOURCE Vdd ( .\1 ( Vdd1 ), .\2 ( GND ) ); vpulse V1 ( .\1 ( i ), .\2 ( GND ) ); RESISTOR Rt ( .\2 ( m ), .\1 ( p ) ); RESISTOR Rb ( .\2 ( LVH ), .\1 ( GND ) ); PMOS_TRANSISTOR M1 ( .S ( Vdd1 ), .B ( Vdd1 ), .D ( LVH ), .G ( LVH ) ); LVD X1 ( .\4 ( m ), .\5 ( p ), .\1 ( i ), .\3 ( LVH ), .\2 ( GND ), .\6 ( Vdd1 ), .\7 ( GND ) ); endmodule geda-gaf-1.8.2/gnetlist/tests/common/outputs/verilog/TwoStageAmp_Sort.retcode0000664000175000017500000000000212050461155024315 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/verilog/netattrib.retcode0000664000175000017500000000000212050461155023107 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/verilog/JD_nomunge.retcode0000664000175000017500000000000212050461155023140 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/verilog/JD_Include-output.net0000664000175000017500000000232612050461155023565 00000000000000/* structural Verilog generated by gnetlist */ /* WARNING: This is a generated file, edits */ /* made here will be lost next time */ /* you run gnetlist! */ /* Id ..........$Id$ */ /* Source.......$Source$ */ /* Revision.....$Revision$ */ /* Author.......$Author$ */ module \not found ( ); /* Port directions begin here */ /* Wires from the design */ wire Vdd1 ; wire GND ; wire LVH ; wire i ; wire p ; wire m ; /* continuous assignments */ /* Package instantiations */ model A1 ( ); CAPACITOR Cm ( .\1 ( m ), .\2 ( GND ) ); CAPACITOR Cp ( .\1 ( p ), .\2 ( GND ) ); RESISTOR Rlp ( .\2 ( Vdd1 ), .\1 ( p ) ); RESISTOR Rlm ( .\2 ( GND ), .\1 ( m ) ); VOLTAGE_SOURCE Vdd ( .\1 ( Vdd1 ), .\2 ( GND ) ); vpulse V1 ( .\1 ( i ), .\2 ( GND ) ); RESISTOR Rt ( .\2 ( m ), .\1 ( p ) ); RESISTOR Rb ( .\2 ( LVH ), .\1 ( GND ) ); PMOS_TRANSISTOR M1 ( .S ( Vdd1 ), .B ( Vdd1 ), .D ( LVH ), .G ( LVH ) ); LVD X1 ( .\4 ( m ), .\5 ( p ), .\1 ( i ), .\3 ( LVH ), .\2 ( GND ), .\6 ( Vdd1 ), .\7 ( GND ) ); endmodule geda-gaf-1.8.2/gnetlist/tests/common/outputs/verilog/JD_Sort-output.net0000664000175000017500000000232612050461155023131 00000000000000/* structural Verilog generated by gnetlist */ /* WARNING: This is a generated file, edits */ /* made here will be lost next time */ /* you run gnetlist! */ /* Id ..........$Id$ */ /* Source.......$Source$ */ /* Revision.....$Revision$ */ /* Author.......$Author$ */ module \not found ( ); /* Port directions begin here */ /* Wires from the design */ wire Vdd1 ; wire GND ; wire LVH ; wire i ; wire p ; wire m ; /* continuous assignments */ /* Package instantiations */ model A1 ( ); CAPACITOR Cm ( .\1 ( m ), .\2 ( GND ) ); CAPACITOR Cp ( .\1 ( p ), .\2 ( GND ) ); RESISTOR Rlp ( .\2 ( Vdd1 ), .\1 ( p ) ); RESISTOR Rlm ( .\2 ( GND ), .\1 ( m ) ); VOLTAGE_SOURCE Vdd ( .\1 ( Vdd1 ), .\2 ( GND ) ); vpulse V1 ( .\1 ( i ), .\2 ( GND ) ); RESISTOR Rt ( .\2 ( m ), .\1 ( p ) ); RESISTOR Rb ( .\2 ( LVH ), .\1 ( GND ) ); PMOS_TRANSISTOR M1 ( .S ( Vdd1 ), .B ( Vdd1 ), .D ( LVH ), .G ( LVH ) ); LVD X1 ( .\4 ( m ), .\5 ( p ), .\1 ( i ), .\3 ( LVH ), .\2 ( GND ), .\6 ( Vdd1 ), .\7 ( GND ) ); endmodule geda-gaf-1.8.2/gnetlist/tests/common/outputs/verilog/cascade.retcode0000664000175000017500000000000212050461155022476 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/verilog/TwoStageAmp_Sort-output.net0000664000175000017500000000372612050461155025034 00000000000000/* structural Verilog generated by gnetlist */ /* WARNING: This is a generated file, edits */ /* made here will be lost next time */ /* you run gnetlist! */ /* Id ..........$Id$ */ /* Source.......$Source$ */ /* Revision.....$Revision$ */ /* Author.......$Author$ */ module \not found ( ); /* Port directions begin here */ /* Wires from the design */ wire unnamed_net2 ; wire Vbase2 ; wire Vem2 ; wire Vout ; wire VColl2 ; wire GND ; wire Vcc ; wire Vin ; wire unnamed_net1 ; wire Vbase1 ; wire Vem1 ; wire Vcoll1 ; /* continuous assignments */ /* Package instantiations */ CAPACITOR C2 ( .\1 ( unnamed_net2 ), .\2 ( Vbase2 ) ); RESISTOR R4 ( .\2 ( Vbase2 ), .\1 ( GND ) ); RESISTOR R3 ( .\2 ( Vcc ), .\1 ( Vbase2 ) ); RESISTOR R8 ( .\2 ( unnamed_net2 ), .\1 ( Vcoll1 ) ); CAPACITOR CE2 ( .\1 ( GND ), .\2 ( Vem2 ) ); RESISTOR RE2 ( .\2 ( Vem2 ), .\1 ( GND ) ); RESISTOR RC1 ( .\2 ( Vcc ), .\1 ( Vcoll1 ) ); NPN_TRANSISTOR Q2 ( .\3 ( VColl2 ), .\1 ( Vem2 ), .\2 ( Vbase2 ) ); CAPACITOR C1 ( .\1 ( unnamed_net1 ), .\2 ( Vbase1 ) ); directive A3 ( ); include A2 ( ); model A1 ( ); VOLTAGE_SOURCE VCC ( .\1 ( Vcc ), .\2 ( GND ) ); vsin Vinput ( .\1 ( Vin ), .\2 ( GND ) ); CAPACITOR CE1 ( .\1 ( GND ), .\2 ( Vem1 ) ); CAPACITOR Cout ( .\1 ( VColl2 ), .\2 ( Vout ) ); RESISTOR RL ( .\2 ( Vout ), .\1 ( GND ) ); RESISTOR RC2 ( .\2 ( Vcc ), .\1 ( VColl2 ) ); RESISTOR RE1 ( .\2 ( Vem1 ), .\1 ( GND ) ); RESISTOR R2 ( .\2 ( Vbase1 ), .\1 ( GND ) ); RESISTOR R1 ( .\2 ( Vcc ), .\1 ( Vbase1 ) ); RESISTOR R5 ( .\2 ( unnamed_net1 ), .\1 ( Vin ) ); NPN_TRANSISTOR Q1 ( .\3 ( Vcoll1 ), .\1 ( Vem1 ), .\2 ( Vbase1 ) ); endmodule geda-gaf-1.8.2/gnetlist/tests/common/outputs/verilog/singlenet-output.net0000664000175000017500000000146612050461155023621 00000000000000/* structural Verilog generated by gnetlist */ /* WARNING: This is a generated file, edits */ /* made here will be lost next time */ /* you run gnetlist! */ /* Id ..........$Id$ */ /* Source.......$Source$ */ /* Revision.....$Revision$ */ /* Author.......$Author$ */ module \not found ( ); /* Port directions begin here */ /* Wires from the design */ wire SING_N_2 ; wire GND ; wire Vcc ; wire SING_N ; /* continuous assignments */ /* Package instantiations */ \7400 U100 ( .\6 ( SING_N ), .\5 ( SING_N ), .\4 ( SING_N ), .\14 ( Vcc ), .\7 ( GND ), .\3 ( SING_N_2 ), .\1 ( SING_N_2 ), .\14 ( Vcc ), .\7 ( GND ), .\8 ( SING_N ), .\10 ( SING_N ), .\9 ( SING_N ), .\14 ( Vcc ), .\7 ( GND ) ); endmodule geda-gaf-1.8.2/gnetlist/tests/common/outputs/verilog/TwoStageAmp_Include.retcode0000664000175000017500000000000212050461155024751 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/verilog/SlottedOpamps-output.net0000664000175000017500000000215512050461155024423 00000000000000/* structural Verilog generated by gnetlist */ /* WARNING: This is a generated file, edits */ /* made here will be lost next time */ /* you run gnetlist! */ /* Id ..........$Id$ */ /* Source.......$Source$ */ /* Revision.....$Revision$ */ /* Author.......$Author$ */ module \not found ( ); /* Port directions begin here */ /* Wires from the design */ wire minusin_slot4_pin13_b ; wire plusin_slot4_pin12_a ; wire minusin_slot3_pin_b ; wire plusin_slot3_pin10_a ; wire minusin_slot2_pin6_b ; wire plusin_slot2_pin5_a ; wire samenet_output_c ; wire minusin_slot1_pin_b ; wire plusin_slot1_pin3_a ; /* continuous assignments */ /* Package instantiations */ LM324 U1 ( .\3 ( plusin_slot1_pin3_a ), .\2 ( minusin_slot1_pin_b ), .\1 ( samenet_output_c ), .\5 ( plusin_slot2_pin5_a ), .\6 ( minusin_slot2_pin6_b ), .\7 ( samenet_output_c ), .\10 ( plusin_slot3_pin10_a ), .\9 ( minusin_slot3_pin_b ), .\8 ( samenet_output_c ), .\12 ( plusin_slot4_pin12_a ), .\13 ( minusin_slot4_pin13_b ), .\14 ( samenet_output_c ) ); endmodule geda-gaf-1.8.2/gnetlist/tests/common/outputs/verilog/TwoStageAmp_Include-output.net0000664000175000017500000000372612050461155025470 00000000000000/* structural Verilog generated by gnetlist */ /* WARNING: This is a generated file, edits */ /* made here will be lost next time */ /* you run gnetlist! */ /* Id ..........$Id$ */ /* Source.......$Source$ */ /* Revision.....$Revision$ */ /* Author.......$Author$ */ module \not found ( ); /* Port directions begin here */ /* Wires from the design */ wire unnamed_net2 ; wire Vbase2 ; wire Vem2 ; wire Vout ; wire VColl2 ; wire GND ; wire Vcc ; wire Vin ; wire unnamed_net1 ; wire Vbase1 ; wire Vem1 ; wire Vcoll1 ; /* continuous assignments */ /* Package instantiations */ CAPACITOR C2 ( .\1 ( unnamed_net2 ), .\2 ( Vbase2 ) ); RESISTOR R4 ( .\2 ( Vbase2 ), .\1 ( GND ) ); RESISTOR R3 ( .\2 ( Vcc ), .\1 ( Vbase2 ) ); RESISTOR R8 ( .\2 ( unnamed_net2 ), .\1 ( Vcoll1 ) ); CAPACITOR CE2 ( .\1 ( GND ), .\2 ( Vem2 ) ); RESISTOR RE2 ( .\2 ( Vem2 ), .\1 ( GND ) ); RESISTOR RC1 ( .\2 ( Vcc ), .\1 ( Vcoll1 ) ); NPN_TRANSISTOR Q2 ( .\3 ( VColl2 ), .\1 ( Vem2 ), .\2 ( Vbase2 ) ); CAPACITOR C1 ( .\1 ( unnamed_net1 ), .\2 ( Vbase1 ) ); directive A3 ( ); include A2 ( ); model A1 ( ); VOLTAGE_SOURCE VCC ( .\1 ( Vcc ), .\2 ( GND ) ); vsin Vinput ( .\1 ( Vin ), .\2 ( GND ) ); CAPACITOR CE1 ( .\1 ( GND ), .\2 ( Vem1 ) ); CAPACITOR Cout ( .\1 ( VColl2 ), .\2 ( Vout ) ); RESISTOR RL ( .\2 ( Vout ), .\1 ( GND ) ); RESISTOR RC2 ( .\2 ( Vcc ), .\1 ( VColl2 ) ); RESISTOR RE1 ( .\2 ( Vem1 ), .\1 ( GND ) ); RESISTOR R2 ( .\2 ( Vbase1 ), .\1 ( GND ) ); RESISTOR R1 ( .\2 ( Vcc ), .\1 ( Vbase1 ) ); RESISTOR R5 ( .\2 ( unnamed_net1 ), .\1 ( Vin ) ); NPN_TRANSISTOR Q1 ( .\3 ( Vcoll1 ), .\1 ( Vem1 ), .\2 ( Vbase1 ) ); endmodule geda-gaf-1.8.2/gnetlist/tests/common/outputs/verilog/singlenet.retcode0000664000175000017500000000000212050461155023103 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/verilog/JD_Include.retcode0000664000175000017500000000000212050461155023053 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/verilog/powersupply-output.net0000664000175000017500000000275112050461155024240 00000000000000/* structural Verilog generated by gnetlist */ /* WARNING: This is a generated file, edits */ /* made here will be lost next time */ /* you run gnetlist! */ /* Id ..........$Id$ */ /* Source.......$Source$ */ /* Revision.....$Revision$ */ /* Author.......$Author$ */ module \not found ( ); /* Port directions begin here */ /* Wires from the design */ wire ten ; wire eleven ; wire GND ; wire one ; wire five ; wire three ; wire two ; wire six ; wire seven ; wire nine ; wire eight ; /* continuous assignments */ /* Package instantiations */ LM317 U2 ( .\2 ( eleven ), .\3 ( eight ), .\1 ( ten ) ); POLARIZED_CAPACITOR C4 ( .\1 ( eleven ), .\2 ( nine ) ); POLARIZED_CAPACITOR C3 ( .\1 ( ten ), .\2 ( nine ) ); VARIABLE_RESISTOR R1 ( .\3 ( nine ), .\2 ( ten ), .\1 ( nine ) ); POLARIZED_CAPACITOR C2 ( .\1 ( eight ), .\2 ( nine ) ); RESISTOR R2 ( .\2 ( eleven ), .\1 ( ten ) ); POLARIZED_CAPACITOR C1 ( .\1 ( eight ), .\2 ( nine ) ); SPST S1 ( .\2 ( two ), .\1 ( one ) ); MAINS_CONNECTOR CONN1 ( .\1 ( one ), .\2 ( five ), .\3 ( GND ) ); transformer T1 ( .\2 ( five ), .\1 ( three ), .\4 ( seven ), .\3 ( six ) ); FUSE F1 ( .\1 ( two ), .\2 ( three ) ); \DIODE-BRIDGE U1 ( .\1 ( eight ), .\2 ( nine ), .\3 ( seven ), .\4 ( six ) ); endmodule geda-gaf-1.8.2/gnetlist/tests/common/outputs/verilog/netattrib-output.net0000664000175000017500000000155412050461155023623 00000000000000/* structural Verilog generated by gnetlist */ /* WARNING: This is a generated file, edits */ /* made here will be lost next time */ /* you run gnetlist! */ /* Id ..........$Id$ */ /* Source.......$Source$ */ /* Revision.....$Revision$ */ /* Author.......$Author$ */ module \not found ( ); /* Port directions begin here */ /* Wires from the design */ wire unnamed_net1 ; wire netattrib ; wire GND ; wire Vcc ; wire one ; /* continuous assignments */ /* Package instantiations */ FUSE F1 ( .\1 ( one ) ); \7404 U300 ( .\1 ( one ), .\2 ( unnamed_net1 ), .\7 ( GND ), .\14 ( Vcc ) ); \7404 U200 ( .\1 ( one ), .\2 ( netattrib ), .\7 ( GND ), .\14 ( Vcc ) ); \7400 U100 ( .\3 ( one ), .\14 ( Vcc ), .\7 ( GND ), .\5 ( netattrib ) ); endmodule geda-gaf-1.8.2/gnetlist/tests/common/outputs/verilog/SlottedOpamps.retcode0000664000175000017500000000000212050461155023711 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/verilog/JD.retcode0000664000175000017500000000000212050461155021410 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/verilog/multiequal.retcode0000664000175000017500000000000212050461155023275 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/verilog/JD_Sort_nomunge.retcode0000664000175000017500000000000212050461155024147 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/verilog/TwoStageAmp-output.net0000664000175000017500000000372612050461155024025 00000000000000/* structural Verilog generated by gnetlist */ /* WARNING: This is a generated file, edits */ /* made here will be lost next time */ /* you run gnetlist! */ /* Id ..........$Id$ */ /* Source.......$Source$ */ /* Revision.....$Revision$ */ /* Author.......$Author$ */ module \not found ( ); /* Port directions begin here */ /* Wires from the design */ wire unnamed_net2 ; wire Vbase2 ; wire Vem2 ; wire Vout ; wire VColl2 ; wire GND ; wire Vcc ; wire Vin ; wire unnamed_net1 ; wire Vbase1 ; wire Vem1 ; wire Vcoll1 ; /* continuous assignments */ /* Package instantiations */ CAPACITOR C2 ( .\1 ( unnamed_net2 ), .\2 ( Vbase2 ) ); RESISTOR R4 ( .\2 ( Vbase2 ), .\1 ( GND ) ); RESISTOR R3 ( .\2 ( Vcc ), .\1 ( Vbase2 ) ); RESISTOR R8 ( .\2 ( unnamed_net2 ), .\1 ( Vcoll1 ) ); CAPACITOR CE2 ( .\1 ( GND ), .\2 ( Vem2 ) ); RESISTOR RE2 ( .\2 ( Vem2 ), .\1 ( GND ) ); RESISTOR RC1 ( .\2 ( Vcc ), .\1 ( Vcoll1 ) ); NPN_TRANSISTOR Q2 ( .\3 ( VColl2 ), .\1 ( Vem2 ), .\2 ( Vbase2 ) ); CAPACITOR C1 ( .\1 ( unnamed_net1 ), .\2 ( Vbase1 ) ); directive A3 ( ); include A2 ( ); model A1 ( ); VOLTAGE_SOURCE VCC ( .\1 ( Vcc ), .\2 ( GND ) ); vsin Vinput ( .\1 ( Vin ), .\2 ( GND ) ); CAPACITOR CE1 ( .\1 ( GND ), .\2 ( Vem1 ) ); CAPACITOR Cout ( .\1 ( VColl2 ), .\2 ( Vout ) ); RESISTOR RL ( .\2 ( Vout ), .\1 ( GND ) ); RESISTOR RC2 ( .\2 ( Vcc ), .\1 ( VColl2 ) ); RESISTOR RE1 ( .\2 ( Vem1 ), .\1 ( GND ) ); RESISTOR R2 ( .\2 ( Vbase1 ), .\1 ( GND ) ); RESISTOR R1 ( .\2 ( Vcc ), .\1 ( Vbase1 ) ); RESISTOR R5 ( .\2 ( unnamed_net1 ), .\1 ( Vin ) ); NPN_TRANSISTOR Q1 ( .\3 ( Vcoll1 ), .\1 ( Vem1 ), .\2 ( Vbase1 ) ); endmodule geda-gaf-1.8.2/gnetlist/tests/common/outputs/verilog/JD_Include_nomunge.retcode0000664000175000017500000000000212050461155024603 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/mathematica/0000775000175000017500000000000012220655757020456 500000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/mathematica/JD_Include_nomunge-output.net0000664000175000017500000000314412050461155026122 00000000000000v["Rlp","2"]=v["Vdd1"]; v["M1","B"]=v["Vdd1"]; v["M1","S"]=v["Vdd1"]; v["Vdd","1"]=v["Vdd1"]; v["X1","6"]=v["Vdd1"]; v["Cm","2"]=v["GND"]; v["Cp","2"]=v["GND"]; v["Rlm","2"]=v["GND"]; v["Vdd","2"]=v["GND"]; v["V1","2"]=v["GND"]; v["Rb","1"]=v["GND"]; v["X1","7"]=v["GND"]; v["X1","2"]=v["GND"]; v["Rb","2"]=v["LVH"]; v["M1","D"]=v["LVH"]; v["M1","G"]=v["LVH"]; v["X1","3"]=v["LVH"]; v["V1","1"]=v["i"]; v["X1","1"]=v["i"]; v["Cp","1"]=v["p"]; v["Rt","1"]=v["p"]; v["Rlp","1"]=v["p"]; v["X1","5"]=v["p"]; v["Cm","1"]=v["m"]; v["Rlm","1"]=v["m"]; v["Rt","2"]=v["m"]; v["X1","4"]=v["m"]; nodeEquations={ i["Rlp","2"]+i["M1","B"]+i["M1","S"]+i["Vdd","1"]+i["X1","6"]==0, i["Rb","2"]+i["M1","D"]+i["M1","G"]+i["X1","3"]==0, i["V1","1"]+i["X1","1"]==0, i["Cp","1"]+i["Rt","1"]+i["Rlp","1"]+i["X1","5"]==0, i["Cm","1"]+i["Rlm","1"]+i["Rt","2"]+i["X1","4"]==0}; modelEquations={ model[value->a1]["A1"], capacitor[value->20p]["Cm"], capacitor[value->20p]["Cp"], resistor[value->1meg]["Rlp"], resistor[value->500k]["Rlm"], voltage_source[value->DC 3.3V]["Vdd"], vpulse[value->pulse 3.3 0 1u 10p 10p 1.25u 2.5u]["V1"], resistor[value->1k]["Rt"], resistor[value->5.6k]["Rb"], pmos_transistor[value->m1]["M1"], lvd[value->x1]["X1"]}; variables={ v["Vdd1"], v["LVH"], v["i"], v["p"], v["m"], i["Rlp","2"], i["M1","B"], i["M1","S"], i["Vdd","1"], i["X1","6"], i["Cm","2"], i["Cp","2"], i["Rlm","2"], i["Vdd","2"], i["V1","2"], i["Rb","1"], i["X1","7"], i["X1","2"], i["Rb","2"], i["M1","D"], i["M1","G"], i["X1","3"], i["V1","1"], i["X1","1"], i["Cp","1"], i["Rt","1"], i["Rlp","1"], i["X1","5"], i["Cm","1"], i["Rlm","1"], i["Rt","2"], i["X1","4"]}; geda-gaf-1.8.2/gnetlist/tests/common/outputs/mathematica/JD-output.net0000664000175000017500000000314412050461155022727 00000000000000v["Rlp","2"]=v["Vdd1"]; v["M1","B"]=v["Vdd1"]; v["M1","S"]=v["Vdd1"]; v["Vdd","1"]=v["Vdd1"]; v["X1","6"]=v["Vdd1"]; v["Cm","2"]=v["GND"]; v["Cp","2"]=v["GND"]; v["Rlm","2"]=v["GND"]; v["Vdd","2"]=v["GND"]; v["V1","2"]=v["GND"]; v["Rb","1"]=v["GND"]; v["X1","7"]=v["GND"]; v["X1","2"]=v["GND"]; v["Rb","2"]=v["LVH"]; v["M1","D"]=v["LVH"]; v["M1","G"]=v["LVH"]; v["X1","3"]=v["LVH"]; v["V1","1"]=v["i"]; v["X1","1"]=v["i"]; v["Cp","1"]=v["p"]; v["Rt","1"]=v["p"]; v["Rlp","1"]=v["p"]; v["X1","5"]=v["p"]; v["Cm","1"]=v["m"]; v["Rlm","1"]=v["m"]; v["Rt","2"]=v["m"]; v["X1","4"]=v["m"]; nodeEquations={ i["Rlp","2"]+i["M1","B"]+i["M1","S"]+i["Vdd","1"]+i["X1","6"]==0, i["Rb","2"]+i["M1","D"]+i["M1","G"]+i["X1","3"]==0, i["V1","1"]+i["X1","1"]==0, i["Cp","1"]+i["Rt","1"]+i["Rlp","1"]+i["X1","5"]==0, i["Cm","1"]+i["Rlm","1"]+i["Rt","2"]+i["X1","4"]==0}; modelEquations={ model[value->a1]["A1"], capacitor[value->20p]["Cm"], capacitor[value->20p]["Cp"], resistor[value->1meg]["Rlp"], resistor[value->500k]["Rlm"], voltage_source[value->DC 3.3V]["Vdd"], vpulse[value->pulse 3.3 0 1u 10p 10p 1.25u 2.5u]["V1"], resistor[value->1k]["Rt"], resistor[value->5.6k]["Rb"], pmos_transistor[value->m1]["M1"], lvd[value->x1]["X1"]}; variables={ v["Vdd1"], v["LVH"], v["i"], v["p"], v["m"], i["Rlp","2"], i["M1","B"], i["M1","S"], i["Vdd","1"], i["X1","6"], i["Cm","2"], i["Cp","2"], i["Rlm","2"], i["Vdd","2"], i["V1","2"], i["Rb","1"], i["X1","7"], i["X1","2"], i["Rb","2"], i["M1","D"], i["M1","G"], i["X1","3"], i["V1","1"], i["X1","1"], i["Cp","1"], i["Rt","1"], i["Rlp","1"], i["X1","5"], i["Cm","1"], i["Rlm","1"], i["Rt","2"], i["X1","4"]}; geda-gaf-1.8.2/gnetlist/tests/common/outputs/mathematica/TwoStageAmp.retcode0000664000175000017500000000000212050461155024114 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/mathematica/stack-torture-output.net0000664000175000017500000042255512063576065025267 00000000000000v["C?","2"]=v["unnamed_net1025"]; v["C?","1"]=v["unnamed_net1024"]; v["C?","2"]=v["unnamed_net1024"]; v["C?","1"]=v["unnamed_net1023"]; v["C?","2"]=v["unnamed_net1023"]; v["C?","2"]=v["unnamed_net1022"]; v["C?","1"]=v["unnamed_net1021"]; v["C?","2"]=v["unnamed_net1021"]; v["C?","2"]=v["unnamed_net1020"]; v["C?","1"]=v["unnamed_net1019"]; v["C?","2"]=v["unnamed_net1019"]; v["C?","1"]=v["unnamed_net1018"]; v["C?","2"]=v["unnamed_net1018"]; v["C?","1"]=v["unnamed_net1017"]; v["C?","2"]=v["unnamed_net1017"]; v["C?","1"]=v["unnamed_net1016"]; v["C?","2"]=v["unnamed_net1016"]; v["C?","1"]=v["unnamed_net1015"]; v["C?","2"]=v["unnamed_net1015"]; v["C?","1"]=v["unnamed_net1014"]; v["C?","2"]=v["unnamed_net1014"]; v["C?","1"]=v["unnamed_net1013"]; v["C?","2"]=v["unnamed_net1013"]; v["C?","2"]=v["unnamed_net1012"]; v["C?","1"]=v["unnamed_net1011"]; v["C?","2"]=v["unnamed_net1011"]; v["C?","1"]=v["unnamed_net1010"]; v["C?","2"]=v["unnamed_net1010"]; v["C?","2"]=v["unnamed_net1009"]; v["C?","1"]=v["unnamed_net1008"]; v["C?","2"]=v["unnamed_net1008"]; v["C?","1"]=v["unnamed_net1007"]; v["C?","2"]=v["unnamed_net1007"]; v["C?","1"]=v["unnamed_net1006"]; v["C?","2"]=v["unnamed_net1006"]; v["C?","1"]=v["unnamed_net1005"]; v["C?","2"]=v["unnamed_net1005"]; v["C?","1"]=v["unnamed_net1004"]; v["C?","2"]=v["unnamed_net1004"]; v["C?","1"]=v["unnamed_net1003"]; v["C?","2"]=v["unnamed_net1003"]; v["C?","1"]=v["unnamed_net1002"]; v["C?","2"]=v["unnamed_net1002"]; v["C?","1"]=v["unnamed_net1001"]; v["C?","2"]=v["unnamed_net1001"]; v["C?","1"]=v["unnamed_net1000"]; v["C?","2"]=v["unnamed_net1000"]; v["C?","2"]=v["unnamed_net999"]; v["C?","1"]=v["unnamed_net998"]; v["C?","2"]=v["unnamed_net998"]; v["C?","1"]=v["unnamed_net997"]; v["C?","2"]=v["unnamed_net997"]; v["C?","1"]=v["unnamed_net996"]; v["C?","2"]=v["unnamed_net996"]; v["C?","1"]=v["unnamed_net995"]; v["C?","2"]=v["unnamed_net995"]; v["C?","1"]=v["unnamed_net994"]; v["C?","2"]=v["unnamed_net994"]; v["C?","1"]=v["unnamed_net993"]; v["C?","2"]=v["unnamed_net993"]; v["C?","2"]=v["unnamed_net992"]; v["C?","1"]=v["unnamed_net991"]; v["C?","2"]=v["unnamed_net991"]; v["C?","1"]=v["unnamed_net990"]; v["C?","2"]=v["unnamed_net990"]; v["C?","1"]=v["unnamed_net989"]; v["C?","2"]=v["unnamed_net989"]; v["C?","1"]=v["unnamed_net988"]; v["C?","2"]=v["unnamed_net988"]; v["C?","1"]=v["unnamed_net987"]; v["C?","2"]=v["unnamed_net987"]; v["C?","1"]=v["unnamed_net986"]; v["C?","2"]=v["unnamed_net986"]; v["C?","1"]=v["unnamed_net985"]; v["C?","2"]=v["unnamed_net985"]; v["C?","1"]=v["unnamed_net984"]; v["C?","2"]=v["unnamed_net984"]; v["C?","1"]=v["unnamed_net983"]; v["C?","2"]=v["unnamed_net983"]; v["C?","1"]=v["unnamed_net982"]; v["C?","2"]=v["unnamed_net982"]; v["C?","1"]=v["unnamed_net981"]; v["C?","2"]=v["unnamed_net981"]; v["C?","1"]=v["unnamed_net980"]; v["C?","2"]=v["unnamed_net980"]; v["C?","1"]=v["unnamed_net979"]; v["C?","2"]=v["unnamed_net979"]; v["C?","1"]=v["unnamed_net978"]; v["C?","2"]=v["unnamed_net978"]; v["C?","1"]=v["unnamed_net977"]; v["C?","2"]=v["unnamed_net977"]; v["C?","1"]=v["unnamed_net976"]; v["C?","2"]=v["unnamed_net976"]; v["C?","1"]=v["unnamed_net975"]; v["C?","2"]=v["unnamed_net975"]; v["C?","1"]=v["unnamed_net974"]; v["C?","2"]=v["unnamed_net974"]; v["C?","1"]=v["unnamed_net973"]; v["C?","2"]=v["unnamed_net973"]; v["C?","1"]=v["unnamed_net972"]; v["C?","2"]=v["unnamed_net972"]; v["C?","1"]=v["unnamed_net971"]; v["C?","2"]=v["unnamed_net971"]; v["C?","1"]=v["unnamed_net970"]; v["C?","2"]=v["unnamed_net970"]; v["C?","1"]=v["unnamed_net969"]; v["C?","2"]=v["unnamed_net969"]; v["C?","2"]=v["unnamed_net968"]; v["C?","1"]=v["unnamed_net967"]; v["C?","2"]=v["unnamed_net967"]; v["C?","1"]=v["unnamed_net966"]; v["C?","2"]=v["unnamed_net966"]; v["C?","2"]=v["unnamed_net965"]; v["C?","1"]=v["unnamed_net964"]; v["C?","2"]=v["unnamed_net964"]; v["C?","1"]=v["unnamed_net963"]; v["C?","2"]=v["unnamed_net963"]; v["C?","1"]=v["unnamed_net962"]; v["C?","2"]=v["unnamed_net962"]; v["C?","1"]=v["unnamed_net961"]; v["C?","2"]=v["unnamed_net961"]; v["C?","1"]=v["unnamed_net960"]; v["C?","2"]=v["unnamed_net960"]; v["C?","1"]=v["unnamed_net959"]; v["C?","2"]=v["unnamed_net959"]; v["C?","1"]=v["unnamed_net958"]; v["C?","2"]=v["unnamed_net958"]; v["C?","1"]=v["unnamed_net957"]; v["C?","2"]=v["unnamed_net957"]; v["C?","1"]=v["unnamed_net956"]; v["C?","2"]=v["unnamed_net956"]; v["C?","1"]=v["unnamed_net955"]; v["C?","2"]=v["unnamed_net955"]; v["C?","2"]=v["unnamed_net954"]; v["C?","1"]=v["unnamed_net953"]; v["C?","2"]=v["unnamed_net953"]; v["C?","1"]=v["unnamed_net952"]; v["C?","2"]=v["unnamed_net952"]; v["C?","2"]=v["unnamed_net951"]; v["C?","1"]=v["unnamed_net950"]; v["C?","2"]=v["unnamed_net950"]; v["C?","1"]=v["unnamed_net949"]; v["C?","2"]=v["unnamed_net949"]; v["C?","1"]=v["unnamed_net948"]; v["C?","2"]=v["unnamed_net948"]; v["C?","1"]=v["unnamed_net947"]; v["C?","2"]=v["unnamed_net947"]; v["C?","1"]=v["unnamed_net946"]; v["C?","2"]=v["unnamed_net946"]; v["C?","1"]=v["unnamed_net945"]; v["C?","2"]=v["unnamed_net945"]; v["C?","1"]=v["unnamed_net944"]; v["C?","2"]=v["unnamed_net944"]; v["C?","1"]=v["unnamed_net943"]; v["C?","2"]=v["unnamed_net943"]; v["C?","1"]=v["unnamed_net942"]; v["C?","2"]=v["unnamed_net942"]; v["C?","1"]=v["unnamed_net941"]; v["C?","2"]=v["unnamed_net941"]; v["C?","1"]=v["unnamed_net940"]; v["C?","2"]=v["unnamed_net940"]; v["C?","1"]=v["unnamed_net939"]; v["C?","2"]=v["unnamed_net939"]; v["C?","1"]=v["unnamed_net938"]; v["C?","2"]=v["unnamed_net938"]; v["C?","1"]=v["unnamed_net937"]; v["C?","2"]=v["unnamed_net937"]; v["C?","1"]=v["unnamed_net936"]; v["C?","2"]=v["unnamed_net936"]; v["C?","1"]=v["unnamed_net935"]; v["C?","2"]=v["unnamed_net935"]; v["C?","1"]=v["unnamed_net934"]; v["C?","2"]=v["unnamed_net934"]; v["C?","1"]=v["unnamed_net933"]; v["C?","2"]=v["unnamed_net933"]; v["C?","1"]=v["unnamed_net932"]; v["C?","2"]=v["unnamed_net932"]; v["C?","1"]=v["unnamed_net931"]; v["C?","2"]=v["unnamed_net931"]; v["C?","1"]=v["unnamed_net930"]; v["C?","2"]=v["unnamed_net930"]; v["C?","1"]=v["unnamed_net929"]; v["C?","2"]=v["unnamed_net929"]; v["C?","1"]=v["unnamed_net928"]; v["C?","2"]=v["unnamed_net928"]; v["C?","1"]=v["unnamed_net927"]; v["C?","2"]=v["unnamed_net927"]; v["C?","1"]=v["unnamed_net926"]; v["C?","2"]=v["unnamed_net926"]; v["C?","1"]=v["unnamed_net925"]; v["C?","2"]=v["unnamed_net925"]; v["C?","1"]=v["unnamed_net924"]; v["C?","2"]=v["unnamed_net924"]; v["C?","1"]=v["unnamed_net923"]; v["C?","2"]=v["unnamed_net923"]; v["C?","1"]=v["unnamed_net922"]; v["C?","2"]=v["unnamed_net922"]; v["C?","1"]=v["unnamed_net921"]; v["C?","2"]=v["unnamed_net921"]; v["C?","1"]=v["unnamed_net920"]; v["C?","2"]=v["unnamed_net920"]; v["C?","1"]=v["unnamed_net919"]; v["C?","2"]=v["unnamed_net919"]; v["C?","1"]=v["unnamed_net918"]; v["C?","2"]=v["unnamed_net918"]; v["C?","1"]=v["unnamed_net917"]; v["C?","2"]=v["unnamed_net917"]; v["C?","1"]=v["unnamed_net916"]; v["C?","2"]=v["unnamed_net916"]; v["C?","1"]=v["unnamed_net915"]; v["C?","2"]=v["unnamed_net915"]; v["C?","1"]=v["unnamed_net914"]; v["C?","2"]=v["unnamed_net914"]; v["C?","1"]=v["unnamed_net913"]; v["C?","2"]=v["unnamed_net913"]; v["C?","1"]=v["unnamed_net912"]; v["C?","2"]=v["unnamed_net912"]; v["C?","1"]=v["unnamed_net911"]; v["C?","2"]=v["unnamed_net911"]; v["C?","1"]=v["unnamed_net910"]; v["C?","2"]=v["unnamed_net910"]; v["C?","2"]=v["unnamed_net909"]; v["C?","1"]=v["unnamed_net908"]; v["C?","2"]=v["unnamed_net908"]; v["C?","1"]=v["unnamed_net907"]; v["C?","2"]=v["unnamed_net907"]; v["C?","1"]=v["unnamed_net906"]; v["C?","2"]=v["unnamed_net906"]; v["C?","1"]=v["unnamed_net905"]; v["C?","2"]=v["unnamed_net905"]; v["C?","1"]=v["unnamed_net904"]; v["C?","2"]=v["unnamed_net904"]; v["C?","1"]=v["unnamed_net903"]; v["C?","2"]=v["unnamed_net903"]; v["C?","2"]=v["unnamed_net902"]; v["C?","1"]=v["unnamed_net901"]; v["C?","2"]=v["unnamed_net901"]; v["C?","1"]=v["unnamed_net900"]; v["C?","2"]=v["unnamed_net900"]; v["C?","1"]=v["unnamed_net899"]; v["C?","2"]=v["unnamed_net899"]; v["C?","1"]=v["unnamed_net898"]; v["C?","2"]=v["unnamed_net898"]; v["C?","1"]=v["unnamed_net897"]; v["C?","2"]=v["unnamed_net897"]; v["C?","1"]=v["unnamed_net896"]; v["C?","2"]=v["unnamed_net896"]; v["C?","1"]=v["unnamed_net895"]; v["C?","2"]=v["unnamed_net895"]; v["C?","1"]=v["unnamed_net894"]; v["C?","2"]=v["unnamed_net894"]; v["C?","1"]=v["unnamed_net893"]; v["C?","2"]=v["unnamed_net893"]; v["C?","1"]=v["unnamed_net892"]; v["C?","2"]=v["unnamed_net892"]; v["C?","1"]=v["unnamed_net891"]; v["C?","2"]=v["unnamed_net891"]; v["C?","1"]=v["unnamed_net890"]; v["C?","2"]=v["unnamed_net890"]; v["C?","1"]=v["unnamed_net889"]; v["C?","2"]=v["unnamed_net889"]; v["C?","1"]=v["unnamed_net888"]; v["C?","2"]=v["unnamed_net888"]; v["C?","1"]=v["unnamed_net887"]; v["C?","2"]=v["unnamed_net887"]; v["C?","1"]=v["unnamed_net886"]; v["C?","2"]=v["unnamed_net886"]; v["C?","1"]=v["unnamed_net885"]; v["C?","2"]=v["unnamed_net885"]; v["C?","1"]=v["unnamed_net884"]; v["C?","2"]=v["unnamed_net884"]; v["C?","1"]=v["unnamed_net883"]; v["C?","2"]=v["unnamed_net883"]; v["C?","1"]=v["unnamed_net882"]; v["C?","2"]=v["unnamed_net882"]; v["C?","1"]=v["unnamed_net881"]; v["C?","2"]=v["unnamed_net881"]; v["C?","1"]=v["unnamed_net880"]; v["C?","2"]=v["unnamed_net880"]; v["C?","2"]=v["unnamed_net879"]; v["C?","1"]=v["unnamed_net878"]; v["C?","2"]=v["unnamed_net878"]; v["C?","1"]=v["unnamed_net877"]; v["C?","2"]=v["unnamed_net877"]; v["C?","1"]=v["unnamed_net876"]; v["C?","2"]=v["unnamed_net876"]; v["C?","1"]=v["unnamed_net875"]; v["C?","2"]=v["unnamed_net875"]; v["C?","1"]=v["unnamed_net874"]; v["C?","2"]=v["unnamed_net874"]; v["C?","1"]=v["unnamed_net873"]; v["C?","2"]=v["unnamed_net873"]; v["C?","2"]=v["unnamed_net872"]; v["C?","1"]=v["unnamed_net871"]; v["C?","2"]=v["unnamed_net871"]; v["C?","1"]=v["unnamed_net870"]; v["C?","2"]=v["unnamed_net870"]; v["C?","1"]=v["unnamed_net869"]; v["C?","2"]=v["unnamed_net869"]; v["C?","1"]=v["unnamed_net868"]; v["C?","2"]=v["unnamed_net868"]; v["C?","1"]=v["unnamed_net867"]; v["C?","2"]=v["unnamed_net867"]; v["C?","1"]=v["unnamed_net866"]; v["C?","2"]=v["unnamed_net866"]; v["C?","1"]=v["unnamed_net865"]; v["C?","2"]=v["unnamed_net865"]; v["C?","1"]=v["unnamed_net864"]; v["C?","2"]=v["unnamed_net864"]; v["C?","1"]=v["unnamed_net863"]; v["C?","2"]=v["unnamed_net863"]; v["C?","1"]=v["unnamed_net862"]; v["C?","2"]=v["unnamed_net862"]; v["C?","1"]=v["unnamed_net861"]; v["C?","2"]=v["unnamed_net861"]; v["C?","1"]=v["unnamed_net860"]; v["C?","2"]=v["unnamed_net860"]; v["C?","1"]=v["unnamed_net859"]; v["C?","2"]=v["unnamed_net859"]; v["C?","1"]=v["unnamed_net858"]; v["C?","2"]=v["unnamed_net858"]; v["C?","1"]=v["unnamed_net857"]; v["C?","2"]=v["unnamed_net857"]; v["C?","1"]=v["unnamed_net856"]; v["C?","2"]=v["unnamed_net856"]; v["C?","1"]=v["unnamed_net855"]; v["C?","2"]=v["unnamed_net855"]; v["C?","1"]=v["unnamed_net854"]; v["C?","2"]=v["unnamed_net854"]; v["C?","1"]=v["unnamed_net853"]; v["C?","2"]=v["unnamed_net853"]; v["C?","1"]=v["unnamed_net852"]; v["C?","2"]=v["unnamed_net852"]; v["C?","1"]=v["unnamed_net851"]; v["C?","2"]=v["unnamed_net851"]; v["C?","1"]=v["unnamed_net850"]; v["C?","2"]=v["unnamed_net850"]; v["C?","1"]=v["unnamed_net849"]; v["C?","2"]=v["unnamed_net849"]; v["C?","1"]=v["unnamed_net848"]; v["C?","2"]=v["unnamed_net848"]; v["C?","1"]=v["unnamed_net847"]; v["C?","2"]=v["unnamed_net847"]; v["C?","1"]=v["unnamed_net846"]; v["C?","2"]=v["unnamed_net846"]; v["C?","1"]=v["unnamed_net845"]; v["C?","2"]=v["unnamed_net845"]; v["C?","1"]=v["unnamed_net844"]; v["C?","2"]=v["unnamed_net844"]; v["C?","1"]=v["unnamed_net843"]; v["C?","2"]=v["unnamed_net843"]; v["C?","1"]=v["unnamed_net842"]; v["C?","2"]=v["unnamed_net842"]; v["C?","1"]=v["unnamed_net841"]; v["C?","2"]=v["unnamed_net841"]; v["C?","1"]=v["unnamed_net840"]; v["C?","2"]=v["unnamed_net840"]; v["C?","1"]=v["unnamed_net839"]; v["C?","2"]=v["unnamed_net839"]; v["C?","1"]=v["unnamed_net838"]; v["C?","2"]=v["unnamed_net838"]; v["C?","1"]=v["unnamed_net837"]; v["C?","2"]=v["unnamed_net837"]; v["C?","1"]=v["unnamed_net836"]; v["C?","2"]=v["unnamed_net836"]; v["C?","1"]=v["unnamed_net835"]; v["C?","2"]=v["unnamed_net835"]; v["C?","1"]=v["unnamed_net834"]; v["C?","2"]=v["unnamed_net834"]; v["C?","1"]=v["unnamed_net833"]; v["C?","2"]=v["unnamed_net833"]; v["C?","1"]=v["unnamed_net832"]; v["C?","2"]=v["unnamed_net832"]; v["C?","1"]=v["unnamed_net831"]; v["C?","2"]=v["unnamed_net831"]; v["C?","1"]=v["unnamed_net830"]; v["C?","2"]=v["unnamed_net830"]; v["C?","1"]=v["unnamed_net829"]; v["C?","2"]=v["unnamed_net829"]; v["C?","1"]=v["unnamed_net828"]; v["C?","2"]=v["unnamed_net828"]; v["C?","1"]=v["unnamed_net827"]; v["C?","2"]=v["unnamed_net827"]; v["C?","1"]=v["unnamed_net826"]; v["C?","2"]=v["unnamed_net826"]; v["C?","1"]=v["unnamed_net825"]; v["C?","2"]=v["unnamed_net825"]; v["C?","1"]=v["unnamed_net824"]; v["C?","2"]=v["unnamed_net824"]; v["C?","1"]=v["unnamed_net823"]; v["C?","2"]=v["unnamed_net823"]; v["C?","1"]=v["unnamed_net822"]; v["C?","2"]=v["unnamed_net822"]; v["C?","1"]=v["unnamed_net821"]; v["C?","2"]=v["unnamed_net821"]; v["C?","1"]=v["unnamed_net820"]; v["C?","2"]=v["unnamed_net820"]; v["C?","1"]=v["unnamed_net819"]; v["C?","2"]=v["unnamed_net819"]; v["C?","1"]=v["unnamed_net818"]; v["C?","2"]=v["unnamed_net818"]; v["C?","1"]=v["unnamed_net817"]; v["C?","2"]=v["unnamed_net817"]; v["C?","1"]=v["unnamed_net816"]; v["C?","2"]=v["unnamed_net816"]; v["C?","1"]=v["unnamed_net815"]; v["C?","2"]=v["unnamed_net815"]; v["C?","1"]=v["unnamed_net814"]; v["C?","2"]=v["unnamed_net814"]; v["C?","1"]=v["unnamed_net813"]; v["C?","2"]=v["unnamed_net813"]; v["C?","1"]=v["unnamed_net812"]; v["C?","2"]=v["unnamed_net812"]; v["C?","1"]=v["unnamed_net811"]; v["C?","2"]=v["unnamed_net811"]; v["C?","1"]=v["unnamed_net810"]; v["C?","2"]=v["unnamed_net810"]; v["C?","1"]=v["unnamed_net809"]; v["C?","2"]=v["unnamed_net809"]; v["C?","1"]=v["unnamed_net808"]; v["C?","2"]=v["unnamed_net808"]; v["C?","1"]=v["unnamed_net807"]; v["C?","2"]=v["unnamed_net807"]; v["C?","1"]=v["unnamed_net806"]; v["C?","2"]=v["unnamed_net806"]; v["C?","1"]=v["unnamed_net805"]; v["C?","2"]=v["unnamed_net805"]; v["C?","1"]=v["unnamed_net804"]; v["C?","2"]=v["unnamed_net804"]; v["C?","1"]=v["unnamed_net803"]; v["C?","2"]=v["unnamed_net803"]; v["C?","1"]=v["unnamed_net802"]; v["C?","2"]=v["unnamed_net802"]; v["C?","1"]=v["unnamed_net801"]; v["C?","2"]=v["unnamed_net801"]; v["C?","1"]=v["unnamed_net800"]; v["C?","2"]=v["unnamed_net800"]; v["C?","1"]=v["unnamed_net799"]; v["C?","2"]=v["unnamed_net799"]; v["C?","1"]=v["unnamed_net798"]; v["C?","2"]=v["unnamed_net798"]; v["C?","1"]=v["unnamed_net797"]; v["C?","2"]=v["unnamed_net797"]; v["C?","1"]=v["unnamed_net796"]; v["C?","2"]=v["unnamed_net796"]; v["C?","1"]=v["unnamed_net795"]; v["C?","2"]=v["unnamed_net795"]; v["C?","1"]=v["unnamed_net794"]; v["C?","2"]=v["unnamed_net794"]; v["C?","1"]=v["unnamed_net793"]; v["C?","2"]=v["unnamed_net793"]; v["C?","1"]=v["unnamed_net792"]; v["C?","2"]=v["unnamed_net792"]; v["C?","1"]=v["unnamed_net791"]; v["C?","2"]=v["unnamed_net791"]; v["C?","1"]=v["unnamed_net790"]; v["C?","2"]=v["unnamed_net790"]; v["C?","1"]=v["unnamed_net789"]; v["C?","2"]=v["unnamed_net789"]; v["C?","1"]=v["unnamed_net788"]; v["C?","2"]=v["unnamed_net788"]; v["C?","1"]=v["unnamed_net787"]; v["C?","2"]=v["unnamed_net787"]; v["C?","1"]=v["unnamed_net786"]; v["C?","2"]=v["unnamed_net786"]; v["C?","1"]=v["unnamed_net785"]; v["C?","2"]=v["unnamed_net785"]; v["C?","2"]=v["unnamed_net784"]; v["C?","1"]=v["unnamed_net783"]; v["C?","2"]=v["unnamed_net783"]; v["C?","1"]=v["unnamed_net782"]; v["C?","2"]=v["unnamed_net782"]; v["C?","2"]=v["unnamed_net781"]; v["C?","1"]=v["unnamed_net780"]; v["C?","2"]=v["unnamed_net780"]; v["C?","1"]=v["unnamed_net779"]; v["C?","2"]=v["unnamed_net779"]; v["C?","1"]=v["unnamed_net778"]; v["C?","2"]=v["unnamed_net778"]; v["C?","1"]=v["unnamed_net777"]; v["C?","2"]=v["unnamed_net777"]; v["C?","1"]=v["unnamed_net776"]; v["C?","2"]=v["unnamed_net776"]; v["C?","1"]=v["unnamed_net775"]; v["C?","2"]=v["unnamed_net775"]; v["C?","1"]=v["unnamed_net774"]; v["C?","2"]=v["unnamed_net774"]; v["C?","1"]=v["unnamed_net773"]; v["C?","2"]=v["unnamed_net773"]; v["C?","1"]=v["unnamed_net772"]; v["C?","2"]=v["unnamed_net772"]; v["C?","1"]=v["unnamed_net771"]; v["C?","2"]=v["unnamed_net771"]; v["C?","2"]=v["unnamed_net770"]; v["C?","1"]=v["unnamed_net769"]; v["C?","2"]=v["unnamed_net769"]; v["C?","1"]=v["unnamed_net768"]; v["C?","2"]=v["unnamed_net768"]; v["C?","2"]=v["unnamed_net767"]; v["C?","1"]=v["unnamed_net766"]; v["C?","2"]=v["unnamed_net766"]; v["C?","1"]=v["unnamed_net765"]; v["C?","2"]=v["unnamed_net765"]; v["C?","1"]=v["unnamed_net764"]; v["C?","2"]=v["unnamed_net764"]; v["C?","1"]=v["unnamed_net763"]; v["C?","2"]=v["unnamed_net763"]; v["C?","1"]=v["unnamed_net762"]; v["C?","2"]=v["unnamed_net762"]; v["C?","1"]=v["unnamed_net761"]; v["C?","2"]=v["unnamed_net761"]; v["C?","1"]=v["unnamed_net760"]; v["C?","2"]=v["unnamed_net760"]; v["C?","1"]=v["unnamed_net759"]; v["C?","2"]=v["unnamed_net759"]; v["C?","1"]=v["unnamed_net758"]; v["C?","2"]=v["unnamed_net758"]; v["C?","1"]=v["unnamed_net757"]; v["C?","2"]=v["unnamed_net757"]; v["C?","1"]=v["unnamed_net756"]; v["C?","2"]=v["unnamed_net756"]; v["C?","1"]=v["unnamed_net755"]; v["C?","2"]=v["unnamed_net755"]; v["C?","1"]=v["unnamed_net754"]; v["C?","2"]=v["unnamed_net754"]; v["C?","1"]=v["unnamed_net753"]; v["C?","2"]=v["unnamed_net753"]; v["C?","1"]=v["unnamed_net752"]; v["C?","2"]=v["unnamed_net752"]; v["C?","1"]=v["unnamed_net751"]; v["C?","2"]=v["unnamed_net751"]; v["C?","1"]=v["unnamed_net750"]; v["C?","2"]=v["unnamed_net750"]; v["C?","1"]=v["unnamed_net749"]; v["C?","2"]=v["unnamed_net749"]; v["C?","1"]=v["unnamed_net748"]; v["C?","2"]=v["unnamed_net748"]; v["C?","1"]=v["unnamed_net747"]; v["C?","2"]=v["unnamed_net747"]; v["C?","1"]=v["unnamed_net746"]; v["C?","2"]=v["unnamed_net746"]; v["C?","1"]=v["unnamed_net745"]; v["C?","2"]=v["unnamed_net745"]; v["C?","1"]=v["unnamed_net744"]; v["C?","2"]=v["unnamed_net744"]; v["C?","1"]=v["unnamed_net743"]; v["C?","2"]=v["unnamed_net743"]; v["C?","1"]=v["unnamed_net742"]; v["C?","2"]=v["unnamed_net742"]; v["C?","1"]=v["unnamed_net741"]; v["C?","2"]=v["unnamed_net741"]; v["C?","1"]=v["unnamed_net740"]; v["C?","2"]=v["unnamed_net740"]; v["C?","1"]=v["unnamed_net739"]; v["C?","2"]=v["unnamed_net739"]; v["C?","1"]=v["unnamed_net738"]; v["C?","2"]=v["unnamed_net738"]; v["C?","1"]=v["unnamed_net737"]; v["C?","2"]=v["unnamed_net737"]; v["C?","1"]=v["unnamed_net736"]; v["C?","2"]=v["unnamed_net736"]; v["C?","1"]=v["unnamed_net735"]; v["C?","2"]=v["unnamed_net735"]; v["C?","1"]=v["unnamed_net734"]; v["C?","2"]=v["unnamed_net734"]; v["C?","1"]=v["unnamed_net733"]; v["C?","2"]=v["unnamed_net733"]; v["C?","1"]=v["unnamed_net732"]; v["C?","2"]=v["unnamed_net732"]; v["C?","1"]=v["unnamed_net731"]; v["C?","2"]=v["unnamed_net731"]; v["C?","1"]=v["unnamed_net730"]; v["C?","2"]=v["unnamed_net730"]; v["C?","1"]=v["unnamed_net729"]; v["C?","2"]=v["unnamed_net729"]; v["C?","1"]=v["unnamed_net728"]; v["C?","2"]=v["unnamed_net728"]; v["C?","1"]=v["unnamed_net727"]; v["C?","2"]=v["unnamed_net727"]; v["C?","1"]=v["unnamed_net726"]; v["C?","2"]=v["unnamed_net726"]; v["C?","1"]=v["unnamed_net725"]; v["C?","2"]=v["unnamed_net725"]; v["C?","2"]=v["unnamed_net724"]; v["C?","1"]=v["unnamed_net723"]; v["C?","2"]=v["unnamed_net723"]; v["C?","1"]=v["unnamed_net722"]; v["C?","2"]=v["unnamed_net722"]; v["C?","2"]=v["unnamed_net721"]; v["C?","1"]=v["unnamed_net720"]; v["C?","2"]=v["unnamed_net720"]; v["C?","1"]=v["unnamed_net719"]; v["C?","2"]=v["unnamed_net719"]; v["C?","1"]=v["unnamed_net718"]; v["C?","2"]=v["unnamed_net718"]; v["C?","1"]=v["unnamed_net717"]; v["C?","2"]=v["unnamed_net717"]; v["C?","1"]=v["unnamed_net716"]; v["C?","2"]=v["unnamed_net716"]; v["C?","1"]=v["unnamed_net715"]; v["C?","2"]=v["unnamed_net715"]; v["C?","1"]=v["unnamed_net714"]; v["C?","2"]=v["unnamed_net714"]; v["C?","1"]=v["unnamed_net713"]; v["C?","2"]=v["unnamed_net713"]; v["C?","1"]=v["unnamed_net712"]; v["C?","2"]=v["unnamed_net712"]; v["C?","1"]=v["unnamed_net711"]; v["C?","2"]=v["unnamed_net711"]; v["C?","2"]=v["unnamed_net710"]; v["C?","1"]=v["unnamed_net709"]; v["C?","2"]=v["unnamed_net709"]; v["C?","1"]=v["unnamed_net708"]; v["C?","2"]=v["unnamed_net708"]; v["C?","2"]=v["unnamed_net707"]; v["C?","1"]=v["unnamed_net706"]; v["C?","1"]=v["unnamed_net705"]; v["C?","2"]=v["unnamed_net705"]; v["C?","1"]=v["unnamed_net704"]; v["C?","2"]=v["unnamed_net704"]; v["C?","1"]=v["unnamed_net703"]; v["C?","2"]=v["unnamed_net703"]; v["C?","1"]=v["unnamed_net702"]; v["C?","2"]=v["unnamed_net702"]; v["C?","1"]=v["unnamed_net701"]; v["C?","2"]=v["unnamed_net701"]; v["C?","1"]=v["unnamed_net700"]; v["C?","2"]=v["unnamed_net700"]; v["C?","1"]=v["unnamed_net699"]; v["C?","2"]=v["unnamed_net699"]; v["C?","1"]=v["unnamed_net698"]; v["C?","2"]=v["unnamed_net698"]; v["C?","1"]=v["unnamed_net697"]; v["C?","1"]=v["unnamed_net696"]; v["C?","2"]=v["unnamed_net696"]; v["C?","1"]=v["unnamed_net695"]; v["C?","2"]=v["unnamed_net695"]; v["C?","1"]=v["unnamed_net694"]; v["C?","2"]=v["unnamed_net694"]; v["C?","1"]=v["unnamed_net693"]; v["C?","2"]=v["unnamed_net693"]; v["C?","1"]=v["unnamed_net692"]; v["C?","2"]=v["unnamed_net692"]; v["C?","1"]=v["unnamed_net691"]; v["C?","2"]=v["unnamed_net691"]; v["C?","1"]=v["unnamed_net690"]; v["C?","2"]=v["unnamed_net690"]; v["C?","1"]=v["unnamed_net689"]; v["C?","2"]=v["unnamed_net689"]; v["C?","1"]=v["unnamed_net688"]; v["C?","2"]=v["unnamed_net688"]; v["C?","1"]=v["unnamed_net687"]; v["C?","2"]=v["unnamed_net687"]; v["C?","1"]=v["unnamed_net686"]; v["C?","2"]=v["unnamed_net686"]; v["C?","1"]=v["unnamed_net685"]; v["C?","2"]=v["unnamed_net685"]; v["C?","1"]=v["unnamed_net684"]; v["C?","2"]=v["unnamed_net684"]; v["C?","1"]=v["unnamed_net683"]; v["C?","2"]=v["unnamed_net683"]; v["C?","1"]=v["unnamed_net682"]; v["C?","2"]=v["unnamed_net682"]; v["C?","1"]=v["unnamed_net681"]; v["C?","2"]=v["unnamed_net681"]; v["C?","1"]=v["unnamed_net680"]; v["C?","2"]=v["unnamed_net680"]; v["C?","1"]=v["unnamed_net679"]; v["C?","2"]=v["unnamed_net679"]; v["C?","1"]=v["unnamed_net678"]; v["C?","2"]=v["unnamed_net678"]; v["C?","1"]=v["unnamed_net677"]; v["C?","2"]=v["unnamed_net677"]; v["C?","1"]=v["unnamed_net676"]; v["C?","2"]=v["unnamed_net676"]; v["C?","1"]=v["unnamed_net675"]; v["C?","2"]=v["unnamed_net675"]; v["C?","1"]=v["unnamed_net674"]; v["C?","2"]=v["unnamed_net674"]; v["C?","1"]=v["unnamed_net673"]; v["C?","2"]=v["unnamed_net673"]; v["C?","1"]=v["unnamed_net672"]; v["C?","1"]=v["unnamed_net671"]; v["C?","2"]=v["unnamed_net671"]; v["C?","1"]=v["unnamed_net670"]; v["C?","2"]=v["unnamed_net670"]; v["C?","1"]=v["unnamed_net669"]; v["C?","2"]=v["unnamed_net669"]; v["C?","1"]=v["unnamed_net668"]; v["C?","2"]=v["unnamed_net668"]; v["C?","1"]=v["unnamed_net667"]; v["C?","2"]=v["unnamed_net667"]; v["C?","1"]=v["unnamed_net666"]; v["C?","2"]=v["unnamed_net666"]; v["C?","1"]=v["unnamed_net665"]; v["C?","2"]=v["unnamed_net665"]; v["C?","1"]=v["unnamed_net664"]; v["C?","2"]=v["unnamed_net664"]; v["C?","1"]=v["unnamed_net663"]; v["C?","1"]=v["unnamed_net662"]; v["C?","2"]=v["unnamed_net662"]; v["C?","1"]=v["unnamed_net661"]; v["C?","2"]=v["unnamed_net661"]; v["C?","1"]=v["unnamed_net660"]; v["C?","2"]=v["unnamed_net660"]; v["C?","1"]=v["unnamed_net659"]; v["C?","2"]=v["unnamed_net659"]; v["C?","1"]=v["unnamed_net658"]; v["C?","2"]=v["unnamed_net658"]; v["C?","1"]=v["unnamed_net657"]; v["C?","2"]=v["unnamed_net657"]; v["C?","1"]=v["unnamed_net656"]; v["C?","2"]=v["unnamed_net656"]; v["C?","1"]=v["unnamed_net655"]; v["C?","2"]=v["unnamed_net655"]; v["C?","1"]=v["unnamed_net654"]; v["C?","2"]=v["unnamed_net654"]; v["C?","1"]=v["unnamed_net653"]; v["C?","2"]=v["unnamed_net653"]; v["C?","1"]=v["unnamed_net652"]; v["C?","2"]=v["unnamed_net652"]; v["C?","1"]=v["unnamed_net651"]; v["C?","2"]=v["unnamed_net651"]; v["C?","1"]=v["unnamed_net650"]; v["C?","2"]=v["unnamed_net650"]; v["C?","1"]=v["unnamed_net649"]; v["C?","2"]=v["unnamed_net649"]; v["C?","1"]=v["unnamed_net648"]; v["C?","2"]=v["unnamed_net648"]; v["C?","1"]=v["unnamed_net647"]; v["C?","2"]=v["unnamed_net647"]; v["C?","1"]=v["unnamed_net646"]; v["C?","2"]=v["unnamed_net646"]; v["C?","1"]=v["unnamed_net645"]; v["C?","2"]=v["unnamed_net645"]; v["C?","1"]=v["unnamed_net644"]; v["C?","2"]=v["unnamed_net644"]; v["C?","1"]=v["unnamed_net643"]; v["C?","2"]=v["unnamed_net643"]; v["C?","1"]=v["unnamed_net642"]; v["C?","2"]=v["unnamed_net642"]; v["C?","1"]=v["unnamed_net641"]; v["C?","2"]=v["unnamed_net641"]; v["C?","1"]=v["unnamed_net640"]; v["C?","2"]=v["unnamed_net640"]; v["C?","1"]=v["unnamed_net639"]; v["C?","2"]=v["unnamed_net639"]; v["C?","1"]=v["unnamed_net638"]; v["C?","2"]=v["unnamed_net638"]; v["C?","1"]=v["unnamed_net637"]; v["C?","2"]=v["unnamed_net637"]; v["C?","1"]=v["unnamed_net636"]; v["C?","2"]=v["unnamed_net636"]; v["C?","1"]=v["unnamed_net635"]; v["C?","2"]=v["unnamed_net635"]; v["C?","1"]=v["unnamed_net634"]; v["C?","2"]=v["unnamed_net634"]; v["C?","1"]=v["unnamed_net633"]; v["C?","2"]=v["unnamed_net633"]; v["C?","1"]=v["unnamed_net632"]; v["C?","2"]=v["unnamed_net632"]; v["C?","1"]=v["unnamed_net631"]; v["C?","2"]=v["unnamed_net631"]; v["C?","1"]=v["unnamed_net630"]; v["C?","2"]=v["unnamed_net630"]; v["C?","1"]=v["unnamed_net629"]; v["C?","2"]=v["unnamed_net629"]; v["C?","1"]=v["unnamed_net628"]; v["C?","2"]=v["unnamed_net628"]; v["C?","1"]=v["unnamed_net627"]; v["C?","2"]=v["unnamed_net627"]; v["C?","1"]=v["unnamed_net626"]; v["C?","2"]=v["unnamed_net626"]; v["C?","1"]=v["unnamed_net625"]; v["C?","2"]=v["unnamed_net625"]; v["C?","1"]=v["unnamed_net624"]; v["C?","2"]=v["unnamed_net624"]; v["C?","1"]=v["unnamed_net623"]; v["C?","2"]=v["unnamed_net623"]; v["C?","1"]=v["unnamed_net622"]; v["C?","2"]=v["unnamed_net622"]; v["C?","1"]=v["unnamed_net621"]; v["C?","2"]=v["unnamed_net621"]; v["C?","1"]=v["unnamed_net620"]; v["C?","2"]=v["unnamed_net620"]; v["C?","1"]=v["unnamed_net619"]; v["C?","2"]=v["unnamed_net619"]; v["C?","1"]=v["unnamed_net618"]; v["C?","2"]=v["unnamed_net618"]; v["C?","1"]=v["unnamed_net617"]; v["C?","2"]=v["unnamed_net617"]; v["C?","1"]=v["unnamed_net616"]; v["C?","2"]=v["unnamed_net616"]; v["C?","1"]=v["unnamed_net615"]; v["C?","2"]=v["unnamed_net615"]; v["C?","1"]=v["unnamed_net614"]; v["C?","2"]=v["unnamed_net614"]; v["C?","1"]=v["unnamed_net613"]; v["C?","2"]=v["unnamed_net613"]; v["C?","1"]=v["unnamed_net612"]; v["C?","2"]=v["unnamed_net612"]; v["C?","1"]=v["unnamed_net611"]; v["C?","2"]=v["unnamed_net611"]; v["C?","1"]=v["unnamed_net610"]; v["C?","2"]=v["unnamed_net610"]; v["C?","1"]=v["unnamed_net609"]; v["C?","2"]=v["unnamed_net609"]; v["C?","1"]=v["unnamed_net608"]; v["C?","2"]=v["unnamed_net608"]; v["C?","1"]=v["unnamed_net607"]; v["C?","2"]=v["unnamed_net607"]; v["C?","1"]=v["unnamed_net606"]; v["C?","2"]=v["unnamed_net606"]; v["C?","1"]=v["unnamed_net605"]; v["C?","2"]=v["unnamed_net605"]; v["C?","1"]=v["unnamed_net604"]; v["C?","2"]=v["unnamed_net604"]; v["C?","1"]=v["unnamed_net603"]; v["C?","2"]=v["unnamed_net603"]; v["C?","1"]=v["unnamed_net602"]; v["C?","2"]=v["unnamed_net602"]; v["C?","1"]=v["unnamed_net601"]; v["C?","2"]=v["unnamed_net601"]; v["C?","1"]=v["unnamed_net600"]; v["C?","2"]=v["unnamed_net600"]; v["C?","1"]=v["unnamed_net599"]; v["C?","2"]=v["unnamed_net599"]; v["C?","1"]=v["unnamed_net598"]; v["C?","2"]=v["unnamed_net598"]; v["C?","1"]=v["unnamed_net597"]; v["C?","2"]=v["unnamed_net597"]; v["C?","1"]=v["unnamed_net596"]; v["C?","2"]=v["unnamed_net596"]; v["C?","1"]=v["unnamed_net595"]; v["C?","2"]=v["unnamed_net595"]; v["C?","1"]=v["unnamed_net594"]; v["C?","2"]=v["unnamed_net594"]; v["C?","1"]=v["unnamed_net593"]; v["C?","2"]=v["unnamed_net593"]; v["C?","1"]=v["unnamed_net592"]; v["C?","2"]=v["unnamed_net592"]; v["C?","1"]=v["unnamed_net591"]; v["C?","2"]=v["unnamed_net591"]; v["C?","1"]=v["unnamed_net590"]; v["C?","2"]=v["unnamed_net590"]; v["C?","1"]=v["unnamed_net589"]; v["C?","2"]=v["unnamed_net589"]; v["C?","1"]=v["unnamed_net588"]; v["C?","2"]=v["unnamed_net588"]; v["C?","1"]=v["unnamed_net587"]; v["C?","2"]=v["unnamed_net587"]; v["C?","1"]=v["unnamed_net586"]; v["C?","2"]=v["unnamed_net586"]; v["C?","1"]=v["unnamed_net585"]; v["C?","2"]=v["unnamed_net585"]; v["C?","1"]=v["unnamed_net584"]; v["C?","2"]=v["unnamed_net584"]; v["C?","1"]=v["unnamed_net583"]; v["C?","2"]=v["unnamed_net583"]; v["C?","1"]=v["unnamed_net582"]; v["C?","2"]=v["unnamed_net582"]; v["C?","1"]=v["unnamed_net581"]; v["C?","2"]=v["unnamed_net581"]; v["C?","1"]=v["unnamed_net580"]; v["C?","2"]=v["unnamed_net580"]; v["C?","1"]=v["unnamed_net579"]; v["C?","2"]=v["unnamed_net579"]; v["C?","1"]=v["unnamed_net578"]; v["C?","2"]=v["unnamed_net578"]; v["C?","1"]=v["unnamed_net577"]; v["C?","2"]=v["unnamed_net577"]; v["C?","1"]=v["unnamed_net576"]; v["C?","2"]=v["unnamed_net576"]; v["C?","1"]=v["unnamed_net575"]; v["C?","2"]=v["unnamed_net575"]; v["C?","1"]=v["unnamed_net574"]; v["C?","1"]=v["unnamed_net573"]; v["C?","2"]=v["unnamed_net573"]; v["C?","1"]=v["unnamed_net572"]; v["C?","2"]=v["unnamed_net572"]; v["C?","1"]=v["unnamed_net571"]; v["C?","2"]=v["unnamed_net571"]; v["C?","1"]=v["unnamed_net570"]; v["C?","2"]=v["unnamed_net570"]; v["C?","1"]=v["unnamed_net569"]; v["C?","2"]=v["unnamed_net569"]; v["C?","1"]=v["unnamed_net568"]; v["C?","2"]=v["unnamed_net568"]; v["C?","1"]=v["unnamed_net567"]; v["C?","2"]=v["unnamed_net567"]; v["C?","1"]=v["unnamed_net566"]; v["C?","2"]=v["unnamed_net566"]; v["C?","1"]=v["unnamed_net565"]; v["C?","1"]=v["unnamed_net564"]; v["C?","2"]=v["unnamed_net564"]; v["C?","1"]=v["unnamed_net563"]; v["C?","2"]=v["unnamed_net563"]; v["C?","1"]=v["unnamed_net562"]; v["C?","2"]=v["unnamed_net562"]; v["C?","1"]=v["unnamed_net561"]; v["C?","2"]=v["unnamed_net561"]; v["C?","1"]=v["unnamed_net560"]; v["C?","2"]=v["unnamed_net560"]; v["C?","1"]=v["unnamed_net559"]; v["C?","2"]=v["unnamed_net559"]; v["C?","1"]=v["unnamed_net558"]; v["C?","2"]=v["unnamed_net558"]; v["C?","1"]=v["unnamed_net557"]; v["C?","2"]=v["unnamed_net557"]; v["C?","1"]=v["unnamed_net556"]; v["C?","2"]=v["unnamed_net556"]; v["C?","1"]=v["unnamed_net555"]; v["C?","2"]=v["unnamed_net555"]; v["C?","1"]=v["unnamed_net554"]; v["C?","2"]=v["unnamed_net554"]; v["C?","1"]=v["unnamed_net553"]; v["C?","2"]=v["unnamed_net553"]; v["C?","1"]=v["unnamed_net552"]; v["C?","2"]=v["unnamed_net552"]; v["C?","1"]=v["unnamed_net551"]; v["C?","2"]=v["unnamed_net551"]; v["C?","1"]=v["unnamed_net550"]; v["C?","2"]=v["unnamed_net550"]; v["C?","1"]=v["unnamed_net549"]; v["C?","2"]=v["unnamed_net549"]; v["C?","1"]=v["unnamed_net548"]; v["C?","2"]=v["unnamed_net548"]; v["C?","1"]=v["unnamed_net547"]; v["C?","2"]=v["unnamed_net547"]; v["C?","1"]=v["unnamed_net546"]; v["C?","2"]=v["unnamed_net546"]; v["C?","1"]=v["unnamed_net545"]; v["C?","2"]=v["unnamed_net545"]; v["C?","1"]=v["unnamed_net544"]; v["C?","2"]=v["unnamed_net544"]; v["C?","1"]=v["unnamed_net543"]; v["C?","2"]=v["unnamed_net543"]; v["C?","1"]=v["unnamed_net542"]; v["C?","2"]=v["unnamed_net542"]; v["C?","1"]=v["unnamed_net541"]; v["C?","2"]=v["unnamed_net541"]; v["C?","1"]=v["unnamed_net540"]; v["C?","1"]=v["unnamed_net539"]; v["C?","2"]=v["unnamed_net539"]; v["C?","1"]=v["unnamed_net538"]; v["C?","2"]=v["unnamed_net538"]; v["C?","1"]=v["unnamed_net537"]; v["C?","2"]=v["unnamed_net537"]; v["C?","1"]=v["unnamed_net536"]; v["C?","2"]=v["unnamed_net536"]; v["C?","1"]=v["unnamed_net535"]; v["C?","2"]=v["unnamed_net535"]; v["C?","1"]=v["unnamed_net534"]; v["C?","2"]=v["unnamed_net534"]; v["C?","1"]=v["unnamed_net533"]; v["C?","2"]=v["unnamed_net533"]; v["C?","1"]=v["unnamed_net532"]; v["C?","2"]=v["unnamed_net532"]; v["C?","1"]=v["unnamed_net531"]; v["C?","1"]=v["unnamed_net530"]; v["C?","2"]=v["unnamed_net530"]; v["C?","2"]=v["unnamed_net529"]; v["C?","1"]=v["unnamed_net528"]; v["C?","2"]=v["unnamed_net528"]; v["C?","1"]=v["unnamed_net527"]; v["C?","2"]=v["unnamed_net527"]; v["C?","1"]=v["unnamed_net526"]; v["C?","2"]=v["unnamed_net526"]; v["C?","1"]=v["unnamed_net525"]; v["C?","2"]=v["unnamed_net525"]; v["C?","1"]=v["unnamed_net524"]; v["C?","2"]=v["unnamed_net524"]; v["C?","1"]=v["unnamed_net523"]; v["C?","2"]=v["unnamed_net523"]; v["C?","2"]=v["unnamed_net522"]; v["C?","1"]=v["unnamed_net521"]; v["C?","2"]=v["unnamed_net521"]; v["C?","1"]=v["unnamed_net520"]; v["C?","2"]=v["unnamed_net520"]; v["C?","1"]=v["unnamed_net519"]; v["C?","2"]=v["unnamed_net519"]; v["C?","1"]=v["unnamed_net518"]; v["C?","2"]=v["unnamed_net518"]; v["C?","1"]=v["unnamed_net517"]; v["C?","2"]=v["unnamed_net517"]; v["C?","1"]=v["unnamed_net516"]; v["C?","2"]=v["unnamed_net516"]; v["C?","1"]=v["unnamed_net515"]; v["C?","2"]=v["unnamed_net515"]; v["C?","1"]=v["unnamed_net514"]; v["C?","2"]=v["unnamed_net514"]; v["C?","1"]=v["unnamed_net513"]; v["C?","2"]=v["unnamed_net513"]; v["C?","1"]=v["unnamed_net512"]; v["C?","2"]=v["unnamed_net512"]; v["C?","1"]=v["unnamed_net511"]; v["C?","2"]=v["unnamed_net511"]; v["C?","1"]=v["unnamed_net510"]; v["C?","2"]=v["unnamed_net510"]; v["C?","1"]=v["unnamed_net509"]; v["C?","2"]=v["unnamed_net509"]; v["C?","1"]=v["unnamed_net508"]; v["C?","2"]=v["unnamed_net508"]; v["C?","1"]=v["unnamed_net507"]; v["C?","2"]=v["unnamed_net507"]; v["C?","1"]=v["unnamed_net506"]; v["C?","2"]=v["unnamed_net506"]; v["C?","1"]=v["unnamed_net505"]; v["C?","2"]=v["unnamed_net505"]; v["C?","1"]=v["unnamed_net504"]; v["C?","2"]=v["unnamed_net504"]; v["C?","1"]=v["unnamed_net503"]; v["C?","2"]=v["unnamed_net503"]; v["C?","1"]=v["unnamed_net502"]; v["C?","2"]=v["unnamed_net502"]; v["C?","1"]=v["unnamed_net501"]; v["C?","2"]=v["unnamed_net501"]; v["C?","1"]=v["unnamed_net500"]; v["C?","2"]=v["unnamed_net500"]; v["C?","2"]=v["unnamed_net499"]; v["C?","1"]=v["unnamed_net498"]; v["C?","2"]=v["unnamed_net498"]; v["C?","1"]=v["unnamed_net497"]; v["C?","2"]=v["unnamed_net497"]; v["C?","1"]=v["unnamed_net496"]; v["C?","2"]=v["unnamed_net496"]; v["C?","1"]=v["unnamed_net495"]; v["C?","2"]=v["unnamed_net495"]; v["C?","1"]=v["unnamed_net494"]; v["C?","2"]=v["unnamed_net494"]; v["C?","1"]=v["unnamed_net493"]; v["C?","2"]=v["unnamed_net493"]; v["C?","2"]=v["unnamed_net492"]; v["C?","1"]=v["unnamed_net491"]; v["C?","2"]=v["unnamed_net491"]; v["C?","1"]=v["unnamed_net490"]; v["C?","2"]=v["unnamed_net490"]; v["C?","1"]=v["unnamed_net489"]; v["C?","2"]=v["unnamed_net489"]; v["C?","1"]=v["unnamed_net488"]; v["C?","2"]=v["unnamed_net488"]; v["C?","1"]=v["unnamed_net487"]; v["C?","2"]=v["unnamed_net487"]; v["C?","1"]=v["unnamed_net486"]; v["C?","2"]=v["unnamed_net486"]; v["C?","1"]=v["unnamed_net485"]; v["C?","2"]=v["unnamed_net485"]; v["C?","1"]=v["unnamed_net484"]; v["C?","2"]=v["unnamed_net484"]; v["C?","1"]=v["unnamed_net483"]; v["C?","2"]=v["unnamed_net483"]; v["C?","1"]=v["unnamed_net482"]; v["C?","2"]=v["unnamed_net482"]; v["C?","1"]=v["unnamed_net481"]; v["C?","2"]=v["unnamed_net481"]; v["C?","1"]=v["unnamed_net480"]; v["C?","2"]=v["unnamed_net480"]; v["C?","1"]=v["unnamed_net479"]; v["C?","2"]=v["unnamed_net479"]; v["C?","1"]=v["unnamed_net478"]; v["C?","2"]=v["unnamed_net478"]; v["C?","1"]=v["unnamed_net477"]; v["C?","2"]=v["unnamed_net477"]; v["C?","1"]=v["unnamed_net476"]; v["C?","2"]=v["unnamed_net476"]; v["C?","1"]=v["unnamed_net475"]; v["C?","2"]=v["unnamed_net475"]; v["C?","1"]=v["unnamed_net474"]; v["C?","2"]=v["unnamed_net474"]; v["C?","1"]=v["unnamed_net473"]; v["C?","2"]=v["unnamed_net473"]; v["C?","1"]=v["unnamed_net472"]; v["C?","2"]=v["unnamed_net472"]; v["C?","1"]=v["unnamed_net471"]; v["C?","2"]=v["unnamed_net471"]; v["C?","1"]=v["unnamed_net470"]; v["C?","2"]=v["unnamed_net470"]; v["C?","1"]=v["unnamed_net469"]; v["C?","2"]=v["unnamed_net469"]; v["C?","1"]=v["unnamed_net468"]; v["C?","2"]=v["unnamed_net468"]; v["C?","1"]=v["unnamed_net467"]; v["C?","2"]=v["unnamed_net467"]; v["C?","1"]=v["unnamed_net466"]; v["C?","2"]=v["unnamed_net466"]; v["C?","1"]=v["unnamed_net465"]; v["C?","2"]=v["unnamed_net465"]; v["C?","1"]=v["unnamed_net464"]; v["C?","2"]=v["unnamed_net464"]; v["C?","1"]=v["unnamed_net463"]; v["C?","2"]=v["unnamed_net463"]; v["C?","1"]=v["unnamed_net462"]; v["C?","2"]=v["unnamed_net462"]; v["C?","1"]=v["unnamed_net461"]; v["C?","2"]=v["unnamed_net461"]; v["C?","1"]=v["unnamed_net460"]; v["C?","2"]=v["unnamed_net460"]; v["C?","1"]=v["unnamed_net459"]; v["C?","2"]=v["unnamed_net459"]; v["C?","1"]=v["unnamed_net458"]; v["C?","2"]=v["unnamed_net458"]; v["C?","1"]=v["unnamed_net457"]; v["C?","2"]=v["unnamed_net457"]; v["C?","1"]=v["unnamed_net456"]; v["C?","2"]=v["unnamed_net456"]; v["C?","1"]=v["unnamed_net455"]; v["C?","2"]=v["unnamed_net455"]; v["C?","1"]=v["unnamed_net454"]; v["C?","2"]=v["unnamed_net454"]; v["C?","1"]=v["unnamed_net453"]; v["C?","2"]=v["unnamed_net453"]; v["C?","1"]=v["unnamed_net452"]; v["C?","2"]=v["unnamed_net452"]; v["C?","1"]=v["unnamed_net451"]; v["C?","2"]=v["unnamed_net451"]; v["C?","1"]=v["unnamed_net450"]; v["C?","2"]=v["unnamed_net450"]; v["C?","1"]=v["unnamed_net449"]; v["C?","2"]=v["unnamed_net449"]; v["C?","1"]=v["unnamed_net448"]; v["C?","2"]=v["unnamed_net448"]; v["C?","1"]=v["unnamed_net447"]; v["C?","2"]=v["unnamed_net447"]; v["C?","1"]=v["unnamed_net446"]; v["C?","2"]=v["unnamed_net446"]; v["C?","1"]=v["unnamed_net445"]; v["C?","2"]=v["unnamed_net445"]; v["C?","1"]=v["unnamed_net444"]; v["C?","2"]=v["unnamed_net444"]; v["C?","1"]=v["unnamed_net443"]; v["C?","2"]=v["unnamed_net443"]; v["C?","1"]=v["unnamed_net442"]; v["C?","2"]=v["unnamed_net442"]; v["C?","1"]=v["unnamed_net441"]; v["C?","2"]=v["unnamed_net441"]; v["C?","1"]=v["unnamed_net440"]; v["C?","2"]=v["unnamed_net440"]; v["C?","1"]=v["unnamed_net439"]; v["C?","2"]=v["unnamed_net439"]; v["C?","1"]=v["unnamed_net438"]; v["C?","2"]=v["unnamed_net438"]; v["C?","1"]=v["unnamed_net437"]; v["C?","2"]=v["unnamed_net437"]; v["C?","1"]=v["unnamed_net436"]; v["C?","2"]=v["unnamed_net436"]; v["C?","1"]=v["unnamed_net435"]; v["C?","2"]=v["unnamed_net435"]; v["C?","1"]=v["unnamed_net434"]; v["C?","2"]=v["unnamed_net434"]; v["C?","1"]=v["unnamed_net433"]; v["C?","2"]=v["unnamed_net433"]; v["C?","1"]=v["unnamed_net432"]; v["C?","2"]=v["unnamed_net432"]; v["C?","1"]=v["unnamed_net431"]; v["C?","2"]=v["unnamed_net431"]; v["C?","1"]=v["unnamed_net430"]; v["C?","2"]=v["unnamed_net430"]; v["C?","1"]=v["unnamed_net429"]; v["C?","2"]=v["unnamed_net429"]; v["C?","1"]=v["unnamed_net428"]; v["C?","2"]=v["unnamed_net428"]; v["C?","1"]=v["unnamed_net427"]; v["C?","2"]=v["unnamed_net427"]; v["C?","1"]=v["unnamed_net426"]; v["C?","2"]=v["unnamed_net426"]; v["C?","1"]=v["unnamed_net425"]; v["C?","2"]=v["unnamed_net425"]; v["C?","1"]=v["unnamed_net424"]; v["C?","2"]=v["unnamed_net424"]; v["C?","1"]=v["unnamed_net423"]; v["C?","2"]=v["unnamed_net423"]; v["C?","1"]=v["unnamed_net422"]; v["C?","2"]=v["unnamed_net422"]; v["C?","1"]=v["unnamed_net421"]; v["C?","2"]=v["unnamed_net421"]; v["C?","1"]=v["unnamed_net420"]; v["C?","2"]=v["unnamed_net420"]; v["C?","1"]=v["unnamed_net419"]; v["C?","2"]=v["unnamed_net419"]; v["C?","1"]=v["unnamed_net418"]; v["C?","2"]=v["unnamed_net418"]; v["C?","1"]=v["unnamed_net417"]; v["C?","2"]=v["unnamed_net417"]; v["C?","1"]=v["unnamed_net416"]; v["C?","2"]=v["unnamed_net416"]; v["C?","1"]=v["unnamed_net415"]; v["C?","2"]=v["unnamed_net415"]; v["C?","1"]=v["unnamed_net414"]; v["C?","2"]=v["unnamed_net414"]; v["C?","1"]=v["unnamed_net413"]; v["C?","2"]=v["unnamed_net413"]; v["C?","1"]=v["unnamed_net412"]; v["C?","2"]=v["unnamed_net412"]; v["C?","1"]=v["unnamed_net411"]; v["C?","2"]=v["unnamed_net411"]; v["C?","1"]=v["unnamed_net410"]; v["C?","2"]=v["unnamed_net410"]; v["C?","1"]=v["unnamed_net409"]; v["C?","2"]=v["unnamed_net409"]; v["C?","1"]=v["unnamed_net408"]; v["C?","2"]=v["unnamed_net408"]; v["C?","1"]=v["unnamed_net407"]; v["C?","2"]=v["unnamed_net407"]; v["C?","1"]=v["unnamed_net406"]; v["C?","2"]=v["unnamed_net406"]; v["C?","2"]=v["unnamed_net405"]; v["C?","1"]=v["unnamed_net404"]; v["C?","2"]=v["unnamed_net404"]; v["C?","1"]=v["unnamed_net403"]; v["C?","2"]=v["unnamed_net403"]; v["C?","1"]=v["unnamed_net402"]; v["C?","2"]=v["unnamed_net402"]; v["C?","1"]=v["unnamed_net401"]; v["C?","2"]=v["unnamed_net401"]; v["C?","1"]=v["unnamed_net400"]; v["C?","2"]=v["unnamed_net400"]; v["C?","1"]=v["unnamed_net399"]; v["C?","2"]=v["unnamed_net399"]; v["C?","2"]=v["unnamed_net398"]; v["C?","1"]=v["unnamed_net397"]; v["C?","2"]=v["unnamed_net397"]; v["C?","1"]=v["unnamed_net396"]; v["C?","2"]=v["unnamed_net396"]; v["C?","1"]=v["unnamed_net395"]; v["C?","2"]=v["unnamed_net395"]; v["C?","1"]=v["unnamed_net394"]; v["C?","2"]=v["unnamed_net394"]; v["C?","1"]=v["unnamed_net393"]; v["C?","2"]=v["unnamed_net393"]; v["C?","1"]=v["unnamed_net392"]; v["C?","2"]=v["unnamed_net392"]; v["C?","1"]=v["unnamed_net391"]; v["C?","2"]=v["unnamed_net391"]; v["C?","1"]=v["unnamed_net390"]; v["C?","2"]=v["unnamed_net390"]; v["C?","1"]=v["unnamed_net389"]; v["C?","2"]=v["unnamed_net389"]; v["C?","1"]=v["unnamed_net388"]; v["C?","2"]=v["unnamed_net388"]; v["C?","1"]=v["unnamed_net387"]; v["C?","2"]=v["unnamed_net387"]; v["C?","1"]=v["unnamed_net386"]; v["C?","2"]=v["unnamed_net386"]; v["C?","1"]=v["unnamed_net385"]; v["C?","2"]=v["unnamed_net385"]; v["C?","1"]=v["unnamed_net384"]; v["C?","2"]=v["unnamed_net384"]; v["C?","1"]=v["unnamed_net383"]; v["C?","2"]=v["unnamed_net383"]; v["C?","1"]=v["unnamed_net382"]; v["C?","2"]=v["unnamed_net382"]; v["C?","1"]=v["unnamed_net381"]; v["C?","2"]=v["unnamed_net381"]; v["C?","1"]=v["unnamed_net380"]; v["C?","2"]=v["unnamed_net380"]; v["C?","1"]=v["unnamed_net379"]; v["C?","2"]=v["unnamed_net379"]; v["C?","1"]=v["unnamed_net378"]; v["C?","2"]=v["unnamed_net378"]; v["C?","1"]=v["unnamed_net377"]; v["C?","2"]=v["unnamed_net377"]; v["C?","1"]=v["unnamed_net376"]; v["C?","2"]=v["unnamed_net376"]; v["C?","2"]=v["unnamed_net375"]; v["C?","1"]=v["unnamed_net374"]; v["C?","2"]=v["unnamed_net374"]; v["C?","1"]=v["unnamed_net373"]; v["C?","2"]=v["unnamed_net373"]; v["C?","1"]=v["unnamed_net372"]; v["C?","2"]=v["unnamed_net372"]; v["C?","1"]=v["unnamed_net371"]; v["C?","2"]=v["unnamed_net371"]; v["C?","1"]=v["unnamed_net370"]; v["C?","2"]=v["unnamed_net370"]; v["C?","1"]=v["unnamed_net369"]; v["C?","2"]=v["unnamed_net369"]; v["C?","2"]=v["unnamed_net368"]; v["C?","2"]=v["unnamed_net367"]; v["C?","1"]=v["unnamed_net366"]; v["C?","2"]=v["unnamed_net366"]; v["C?","1"]=v["unnamed_net365"]; v["C?","2"]=v["unnamed_net365"]; v["C?","1"]=v["unnamed_net364"]; v["C?","1"]=v["unnamed_net363"]; v["C?","2"]=v["unnamed_net363"]; v["C?","1"]=v["unnamed_net362"]; v["C?","2"]=v["unnamed_net362"]; v["C?","1"]=v["unnamed_net361"]; v["C?","2"]=v["unnamed_net361"]; v["C?","1"]=v["unnamed_net360"]; v["C?","2"]=v["unnamed_net360"]; v["C?","1"]=v["unnamed_net359"]; v["C?","1"]=v["unnamed_net358"]; v["C?","2"]=v["unnamed_net358"]; v["C?","1"]=v["unnamed_net357"]; v["C?","2"]=v["unnamed_net357"]; v["C?","1"]=v["unnamed_net356"]; v["C?","2"]=v["unnamed_net356"]; v["C?","1"]=v["unnamed_net355"]; v["C?","2"]=v["unnamed_net355"]; v["C?","1"]=v["unnamed_net354"]; v["C?","2"]=v["unnamed_net354"]; v["C?","1"]=v["unnamed_net353"]; v["C?","2"]=v["unnamed_net353"]; v["C?","1"]=v["unnamed_net352"]; v["C?","2"]=v["unnamed_net352"]; v["C?","1"]=v["unnamed_net351"]; v["C?","2"]=v["unnamed_net351"]; v["C?","1"]=v["unnamed_net350"]; v["C?","2"]=v["unnamed_net350"]; v["C?","1"]=v["unnamed_net349"]; v["C?","2"]=v["unnamed_net349"]; v["C?","1"]=v["unnamed_net348"]; v["C?","2"]=v["unnamed_net348"]; v["C?","1"]=v["unnamed_net347"]; v["C?","2"]=v["unnamed_net347"]; v["C?","1"]=v["unnamed_net346"]; v["C?","1"]=v["unnamed_net345"]; v["C?","2"]=v["unnamed_net345"]; v["C?","1"]=v["unnamed_net344"]; v["C?","2"]=v["unnamed_net344"]; v["C?","1"]=v["unnamed_net343"]; v["C?","2"]=v["unnamed_net343"]; v["C?","1"]=v["unnamed_net342"]; v["C?","2"]=v["unnamed_net342"]; v["C?","1"]=v["unnamed_net341"]; v["C?","1"]=v["unnamed_net340"]; v["C?","2"]=v["unnamed_net340"]; v["C?","1"]=v["unnamed_net339"]; v["C?","2"]=v["unnamed_net339"]; v["C?","1"]=v["unnamed_net338"]; v["C?","2"]=v["unnamed_net338"]; v["C?","1"]=v["unnamed_net337"]; v["C?","2"]=v["unnamed_net337"]; v["C?","1"]=v["unnamed_net336"]; v["C?","2"]=v["unnamed_net336"]; v["C?","1"]=v["unnamed_net335"]; v["C?","2"]=v["unnamed_net335"]; v["C?","1"]=v["unnamed_net334"]; v["C?","2"]=v["unnamed_net334"]; v["C?","1"]=v["unnamed_net333"]; v["C?","2"]=v["unnamed_net333"]; v["C?","1"]=v["unnamed_net332"]; v["C?","2"]=v["unnamed_net332"]; v["C?","1"]=v["unnamed_net331"]; v["C?","2"]=v["unnamed_net331"]; v["C?","1"]=v["unnamed_net330"]; v["C?","2"]=v["unnamed_net330"]; v["C?","1"]=v["unnamed_net329"]; v["C?","2"]=v["unnamed_net329"]; v["C?","1"]=v["unnamed_net328"]; v["C?","2"]=v["unnamed_net328"]; v["C?","1"]=v["unnamed_net327"]; v["C?","2"]=v["unnamed_net327"]; v["C?","1"]=v["unnamed_net326"]; v["C?","2"]=v["unnamed_net326"]; v["C?","1"]=v["unnamed_net325"]; v["C?","2"]=v["unnamed_net325"]; v["C?","1"]=v["unnamed_net324"]; v["C?","2"]=v["unnamed_net324"]; v["C?","1"]=v["unnamed_net323"]; v["C?","2"]=v["unnamed_net323"]; v["C?","1"]=v["unnamed_net322"]; v["C?","2"]=v["unnamed_net322"]; v["C?","1"]=v["unnamed_net321"]; v["C?","2"]=v["unnamed_net321"]; v["C?","1"]=v["unnamed_net320"]; v["C?","2"]=v["unnamed_net320"]; v["C?","1"]=v["unnamed_net319"]; v["C?","2"]=v["unnamed_net319"]; v["C?","1"]=v["unnamed_net318"]; v["C?","2"]=v["unnamed_net318"]; v["C?","1"]=v["unnamed_net317"]; v["C?","2"]=v["unnamed_net317"]; v["C?","1"]=v["unnamed_net316"]; v["C?","2"]=v["unnamed_net316"]; v["C?","1"]=v["unnamed_net315"]; v["C?","2"]=v["unnamed_net315"]; v["C?","1"]=v["unnamed_net314"]; v["C?","2"]=v["unnamed_net314"]; v["C?","1"]=v["unnamed_net313"]; v["C?","2"]=v["unnamed_net313"]; v["C?","1"]=v["unnamed_net312"]; v["C?","2"]=v["unnamed_net312"]; v["C?","1"]=v["unnamed_net311"]; v["C?","2"]=v["unnamed_net311"]; v["C?","1"]=v["unnamed_net310"]; v["C?","2"]=v["unnamed_net310"]; v["C?","1"]=v["unnamed_net309"]; v["C?","2"]=v["unnamed_net309"]; v["C?","1"]=v["unnamed_net308"]; v["C?","2"]=v["unnamed_net308"]; v["C?","1"]=v["unnamed_net307"]; v["C?","2"]=v["unnamed_net307"]; v["C?","1"]=v["unnamed_net306"]; v["C?","2"]=v["unnamed_net306"]; v["C?","1"]=v["unnamed_net305"]; v["C?","2"]=v["unnamed_net305"]; v["C?","1"]=v["unnamed_net304"]; v["C?","2"]=v["unnamed_net304"]; v["C?","1"]=v["unnamed_net303"]; v["C?","2"]=v["unnamed_net303"]; v["C?","1"]=v["unnamed_net302"]; v["C?","2"]=v["unnamed_net302"]; v["C?","1"]=v["unnamed_net301"]; v["C?","2"]=v["unnamed_net301"]; v["C?","1"]=v["unnamed_net300"]; v["C?","2"]=v["unnamed_net300"]; v["C?","1"]=v["unnamed_net299"]; v["C?","2"]=v["unnamed_net299"]; v["C?","1"]=v["unnamed_net298"]; v["C?","2"]=v["unnamed_net298"]; v["C?","1"]=v["unnamed_net297"]; v["C?","2"]=v["unnamed_net297"]; v["C?","1"]=v["unnamed_net296"]; v["C?","1"]=v["unnamed_net295"]; v["C?","2"]=v["unnamed_net295"]; v["C?","1"]=v["unnamed_net294"]; v["C?","2"]=v["unnamed_net294"]; v["C?","1"]=v["unnamed_net293"]; v["C?","2"]=v["unnamed_net293"]; v["C?","1"]=v["unnamed_net292"]; v["C?","2"]=v["unnamed_net292"]; v["C?","1"]=v["unnamed_net291"]; v["C?","1"]=v["unnamed_net290"]; v["C?","2"]=v["unnamed_net290"]; v["C?","1"]=v["unnamed_net289"]; v["C?","2"]=v["unnamed_net289"]; v["C?","1"]=v["unnamed_net288"]; v["C?","2"]=v["unnamed_net288"]; v["C?","1"]=v["unnamed_net287"]; v["C?","2"]=v["unnamed_net287"]; v["C?","1"]=v["unnamed_net286"]; v["C?","2"]=v["unnamed_net286"]; v["C?","1"]=v["unnamed_net285"]; v["C?","2"]=v["unnamed_net285"]; v["C?","1"]=v["unnamed_net284"]; v["C?","2"]=v["unnamed_net284"]; v["C?","1"]=v["unnamed_net283"]; v["C?","2"]=v["unnamed_net283"]; v["C?","1"]=v["unnamed_net282"]; v["C?","2"]=v["unnamed_net282"]; v["C?","1"]=v["unnamed_net281"]; v["C?","2"]=v["unnamed_net281"]; v["C?","1"]=v["unnamed_net280"]; v["C?","2"]=v["unnamed_net280"]; v["C?","1"]=v["unnamed_net279"]; v["C?","2"]=v["unnamed_net279"]; v["C?","1"]=v["unnamed_net278"]; v["C?","1"]=v["unnamed_net277"]; v["C?","2"]=v["unnamed_net277"]; v["C?","1"]=v["unnamed_net276"]; v["C?","2"]=v["unnamed_net276"]; v["C?","1"]=v["unnamed_net275"]; v["C?","2"]=v["unnamed_net275"]; v["C?","1"]=v["unnamed_net274"]; v["C?","2"]=v["unnamed_net274"]; v["C?","1"]=v["unnamed_net273"]; v["C?","1"]=v["unnamed_net272"]; v["C?","2"]=v["unnamed_net272"]; v["C?","1"]=v["unnamed_net271"]; v["C?","2"]=v["unnamed_net271"]; v["C?","1"]=v["unnamed_net270"]; v["C?","2"]=v["unnamed_net270"]; v["C?","1"]=v["unnamed_net269"]; v["C?","2"]=v["unnamed_net269"]; v["C?","1"]=v["unnamed_net268"]; v["C?","2"]=v["unnamed_net268"]; v["C?","1"]=v["unnamed_net267"]; v["C?","2"]=v["unnamed_net267"]; v["C?","1"]=v["unnamed_net266"]; v["C?","2"]=v["unnamed_net266"]; v["C?","1"]=v["unnamed_net265"]; v["C?","2"]=v["unnamed_net265"]; v["C?","1"]=v["unnamed_net264"]; v["C?","2"]=v["unnamed_net264"]; v["C?","1"]=v["unnamed_net263"]; v["C?","2"]=v["unnamed_net263"]; v["C?","1"]=v["unnamed_net262"]; v["C?","2"]=v["unnamed_net262"]; v["C?","1"]=v["unnamed_net261"]; v["C?","2"]=v["unnamed_net261"]; v["C?","1"]=v["unnamed_net260"]; v["C?","2"]=v["unnamed_net260"]; v["C?","1"]=v["unnamed_net259"]; v["C?","2"]=v["unnamed_net259"]; v["C?","1"]=v["unnamed_net258"]; v["C?","2"]=v["unnamed_net258"]; v["C?","1"]=v["unnamed_net257"]; v["C?","2"]=v["unnamed_net257"]; v["C?","1"]=v["unnamed_net256"]; v["C?","2"]=v["unnamed_net256"]; v["C?","1"]=v["unnamed_net255"]; v["C?","2"]=v["unnamed_net255"]; v["C?","1"]=v["unnamed_net254"]; v["C?","2"]=v["unnamed_net254"]; v["C?","1"]=v["unnamed_net253"]; v["C?","2"]=v["unnamed_net253"]; v["C?","1"]=v["unnamed_net252"]; v["C?","2"]=v["unnamed_net252"]; v["C?","1"]=v["unnamed_net251"]; v["C?","2"]=v["unnamed_net251"]; v["C?","1"]=v["unnamed_net250"]; v["C?","2"]=v["unnamed_net250"]; v["C?","1"]=v["unnamed_net249"]; v["C?","2"]=v["unnamed_net249"]; v["C?","1"]=v["unnamed_net248"]; v["C?","2"]=v["unnamed_net248"]; v["C?","1"]=v["unnamed_net247"]; v["C?","2"]=v["unnamed_net247"]; v["C?","1"]=v["unnamed_net246"]; v["C?","2"]=v["unnamed_net246"]; v["C?","1"]=v["unnamed_net245"]; v["C?","2"]=v["unnamed_net245"]; v["C?","1"]=v["unnamed_net244"]; v["C?","2"]=v["unnamed_net244"]; v["C?","1"]=v["unnamed_net243"]; v["C?","2"]=v["unnamed_net243"]; v["C?","1"]=v["unnamed_net242"]; v["C?","2"]=v["unnamed_net242"]; v["C?","1"]=v["unnamed_net241"]; v["C?","2"]=v["unnamed_net241"]; v["C?","1"]=v["unnamed_net240"]; v["C?","2"]=v["unnamed_net240"]; v["C?","1"]=v["unnamed_net239"]; v["C?","2"]=v["unnamed_net239"]; v["C?","1"]=v["unnamed_net238"]; v["C?","2"]=v["unnamed_net238"]; v["C?","1"]=v["unnamed_net237"]; v["C?","2"]=v["unnamed_net237"]; v["C?","1"]=v["unnamed_net236"]; v["C?","2"]=v["unnamed_net236"]; v["C?","1"]=v["unnamed_net235"]; v["C?","2"]=v["unnamed_net235"]; v["C?","1"]=v["unnamed_net234"]; v["C?","2"]=v["unnamed_net234"]; v["C?","1"]=v["unnamed_net233"]; v["C?","2"]=v["unnamed_net233"]; v["C?","1"]=v["unnamed_net232"]; v["C?","2"]=v["unnamed_net232"]; v["C?","1"]=v["unnamed_net231"]; v["C?","2"]=v["unnamed_net231"]; v["C?","1"]=v["unnamed_net230"]; v["C?","2"]=v["unnamed_net230"]; v["C?","1"]=v["unnamed_net229"]; v["C?","2"]=v["unnamed_net229"]; v["C?","1"]=v["unnamed_net228"]; v["C?","2"]=v["unnamed_net228"]; v["C?","1"]=v["unnamed_net227"]; v["C?","2"]=v["unnamed_net227"]; v["C?","1"]=v["unnamed_net226"]; v["C?","2"]=v["unnamed_net226"]; v["C?","1"]=v["unnamed_net225"]; v["C?","2"]=v["unnamed_net225"]; v["C?","1"]=v["unnamed_net224"]; v["C?","2"]=v["unnamed_net224"]; v["C?","1"]=v["unnamed_net223"]; v["C?","2"]=v["unnamed_net223"]; v["C?","1"]=v["unnamed_net222"]; v["C?","2"]=v["unnamed_net222"]; v["C?","1"]=v["unnamed_net221"]; v["C?","2"]=v["unnamed_net221"]; v["C?","1"]=v["unnamed_net220"]; v["C?","2"]=v["unnamed_net220"]; v["C?","1"]=v["unnamed_net219"]; v["C?","2"]=v["unnamed_net219"]; v["C?","1"]=v["unnamed_net218"]; v["C?","2"]=v["unnamed_net218"]; v["C?","1"]=v["unnamed_net217"]; v["C?","2"]=v["unnamed_net217"]; v["C?","1"]=v["unnamed_net216"]; v["C?","2"]=v["unnamed_net216"]; v["C?","1"]=v["unnamed_net215"]; v["C?","2"]=v["unnamed_net215"]; v["C?","1"]=v["unnamed_net214"]; v["C?","2"]=v["unnamed_net214"]; v["C?","1"]=v["unnamed_net213"]; v["C?","2"]=v["unnamed_net213"]; v["C?","1"]=v["unnamed_net212"]; v["C?","2"]=v["unnamed_net212"]; v["C?","1"]=v["unnamed_net211"]; v["C?","2"]=v["unnamed_net211"]; v["C?","1"]=v["unnamed_net210"]; v["C?","2"]=v["unnamed_net210"]; v["C?","1"]=v["unnamed_net209"]; v["C?","2"]=v["unnamed_net209"]; v["C?","1"]=v["unnamed_net208"]; v["C?","2"]=v["unnamed_net208"]; v["C?","1"]=v["unnamed_net207"]; v["C?","2"]=v["unnamed_net207"]; v["C?","1"]=v["unnamed_net206"]; v["C?","2"]=v["unnamed_net206"]; v["C?","1"]=v["unnamed_net205"]; v["C?","2"]=v["unnamed_net205"]; v["C?","1"]=v["unnamed_net204"]; v["C?","2"]=v["unnamed_net204"]; v["C?","1"]=v["unnamed_net203"]; v["C?","2"]=v["unnamed_net203"]; v["C?","1"]=v["unnamed_net202"]; v["C?","2"]=v["unnamed_net202"]; v["C?","1"]=v["unnamed_net201"]; v["C?","2"]=v["unnamed_net201"]; v["C?","1"]=v["unnamed_net200"]; v["C?","2"]=v["unnamed_net200"]; v["C?","1"]=v["unnamed_net199"]; v["C?","2"]=v["unnamed_net199"]; v["C?","1"]=v["unnamed_net198"]; v["C?","2"]=v["unnamed_net198"]; v["C?","1"]=v["unnamed_net197"]; v["C?","2"]=v["unnamed_net197"]; v["C?","1"]=v["unnamed_net196"]; v["C?","2"]=v["unnamed_net196"]; v["C?","1"]=v["unnamed_net195"]; v["C?","2"]=v["unnamed_net195"]; v["C?","1"]=v["unnamed_net194"]; v["C?","2"]=v["unnamed_net194"]; v["C?","1"]=v["unnamed_net193"]; v["C?","2"]=v["unnamed_net193"]; v["C?","1"]=v["unnamed_net192"]; v["C?","2"]=v["unnamed_net192"]; v["C?","1"]=v["unnamed_net191"]; v["C?","2"]=v["unnamed_net191"]; v["C?","1"]=v["unnamed_net190"]; v["C?","2"]=v["unnamed_net190"]; v["C?","1"]=v["unnamed_net189"]; v["C?","2"]=v["unnamed_net189"]; v["C?","1"]=v["unnamed_net188"]; v["C?","2"]=v["unnamed_net188"]; v["C?","1"]=v["unnamed_net187"]; v["C?","2"]=v["unnamed_net187"]; v["C?","1"]=v["unnamed_net186"]; v["C?","2"]=v["unnamed_net186"]; v["C?","1"]=v["unnamed_net185"]; v["C?","1"]=v["unnamed_net184"]; v["C?","2"]=v["unnamed_net184"]; v["C?","1"]=v["unnamed_net183"]; v["C?","2"]=v["unnamed_net183"]; v["C?","1"]=v["unnamed_net182"]; v["C?","2"]=v["unnamed_net182"]; v["C?","1"]=v["unnamed_net181"]; v["C?","2"]=v["unnamed_net181"]; v["C?","1"]=v["unnamed_net180"]; v["C?","2"]=v["unnamed_net180"]; v["C?","1"]=v["unnamed_net179"]; v["C?","2"]=v["unnamed_net179"]; v["C?","1"]=v["unnamed_net178"]; v["C?","2"]=v["unnamed_net178"]; v["C?","1"]=v["unnamed_net177"]; v["C?","2"]=v["unnamed_net177"]; v["C?","1"]=v["unnamed_net176"]; v["C?","1"]=v["unnamed_net175"]; v["C?","2"]=v["unnamed_net175"]; v["C?","1"]=v["unnamed_net174"]; v["C?","2"]=v["unnamed_net174"]; v["C?","1"]=v["unnamed_net173"]; v["C?","2"]=v["unnamed_net173"]; v["C?","1"]=v["unnamed_net172"]; v["C?","2"]=v["unnamed_net172"]; v["C?","1"]=v["unnamed_net171"]; v["C?","2"]=v["unnamed_net171"]; v["C?","1"]=v["unnamed_net170"]; v["C?","2"]=v["unnamed_net170"]; v["C?","1"]=v["unnamed_net169"]; v["C?","2"]=v["unnamed_net169"]; v["C?","1"]=v["unnamed_net168"]; v["C?","2"]=v["unnamed_net168"]; v["C?","1"]=v["unnamed_net167"]; v["C?","2"]=v["unnamed_net167"]; v["C?","1"]=v["unnamed_net166"]; v["C?","2"]=v["unnamed_net166"]; v["C?","1"]=v["unnamed_net165"]; v["C?","2"]=v["unnamed_net165"]; v["C?","1"]=v["unnamed_net164"]; v["C?","2"]=v["unnamed_net164"]; v["C?","1"]=v["unnamed_net163"]; v["C?","2"]=v["unnamed_net163"]; v["C?","1"]=v["unnamed_net162"]; v["C?","2"]=v["unnamed_net162"]; v["C?","1"]=v["unnamed_net161"]; v["C?","2"]=v["unnamed_net161"]; v["C?","1"]=v["unnamed_net160"]; v["C?","2"]=v["unnamed_net160"]; v["C?","1"]=v["unnamed_net159"]; v["C?","2"]=v["unnamed_net159"]; v["C?","1"]=v["unnamed_net158"]; v["C?","2"]=v["unnamed_net158"]; v["C?","1"]=v["unnamed_net157"]; v["C?","2"]=v["unnamed_net157"]; v["C?","1"]=v["unnamed_net156"]; v["C?","2"]=v["unnamed_net156"]; v["C?","1"]=v["unnamed_net155"]; v["C?","2"]=v["unnamed_net155"]; v["C?","1"]=v["unnamed_net154"]; v["C?","2"]=v["unnamed_net154"]; v["C?","1"]=v["unnamed_net153"]; v["C?","2"]=v["unnamed_net153"]; v["C?","1"]=v["unnamed_net152"]; v["C?","2"]=v["unnamed_net152"]; v["C?","1"]=v["unnamed_net151"]; v["C?","1"]=v["unnamed_net150"]; v["C?","2"]=v["unnamed_net150"]; v["C?","1"]=v["unnamed_net149"]; v["C?","2"]=v["unnamed_net149"]; v["C?","1"]=v["unnamed_net148"]; v["C?","2"]=v["unnamed_net148"]; v["C?","1"]=v["unnamed_net147"]; v["C?","2"]=v["unnamed_net147"]; v["C?","1"]=v["unnamed_net146"]; v["C?","2"]=v["unnamed_net146"]; v["C?","1"]=v["unnamed_net145"]; v["C?","2"]=v["unnamed_net145"]; v["C?","1"]=v["unnamed_net144"]; v["C?","2"]=v["unnamed_net144"]; v["C?","1"]=v["unnamed_net143"]; v["C?","2"]=v["unnamed_net143"]; v["C?","1"]=v["unnamed_net142"]; v["C?","1"]=v["unnamed_net141"]; v["C?","2"]=v["unnamed_net141"]; v["C?","1"]=v["unnamed_net140"]; v["C?","2"]=v["unnamed_net140"]; v["C?","1"]=v["unnamed_net139"]; v["C?","2"]=v["unnamed_net139"]; v["C?","1"]=v["unnamed_net138"]; v["C?","2"]=v["unnamed_net138"]; v["C?","1"]=v["unnamed_net137"]; v["C?","2"]=v["unnamed_net137"]; v["C?","1"]=v["unnamed_net136"]; v["C?","2"]=v["unnamed_net136"]; v["C?","1"]=v["unnamed_net135"]; v["C?","2"]=v["unnamed_net135"]; v["C?","1"]=v["unnamed_net134"]; v["C?","2"]=v["unnamed_net134"]; v["C?","1"]=v["unnamed_net133"]; v["C?","2"]=v["unnamed_net133"]; v["C?","1"]=v["unnamed_net132"]; v["C?","2"]=v["unnamed_net132"]; v["C?","1"]=v["unnamed_net131"]; v["C?","2"]=v["unnamed_net131"]; v["C?","1"]=v["unnamed_net130"]; v["C?","2"]=v["unnamed_net130"]; v["C?","1"]=v["unnamed_net129"]; v["C?","2"]=v["unnamed_net129"]; v["C?","1"]=v["unnamed_net128"]; v["C?","2"]=v["unnamed_net128"]; v["C?","1"]=v["unnamed_net127"]; v["C?","2"]=v["unnamed_net127"]; v["C?","1"]=v["unnamed_net126"]; v["C?","2"]=v["unnamed_net126"]; v["C?","1"]=v["unnamed_net125"]; v["C?","2"]=v["unnamed_net125"]; v["C?","1"]=v["unnamed_net124"]; v["C?","2"]=v["unnamed_net124"]; v["C?","1"]=v["unnamed_net123"]; v["C?","2"]=v["unnamed_net123"]; v["C?","1"]=v["unnamed_net122"]; v["C?","2"]=v["unnamed_net122"]; v["C?","1"]=v["unnamed_net121"]; v["C?","2"]=v["unnamed_net121"]; v["C?","1"]=v["unnamed_net120"]; v["C?","2"]=v["unnamed_net120"]; v["C?","1"]=v["unnamed_net119"]; v["C?","2"]=v["unnamed_net119"]; v["C?","1"]=v["unnamed_net118"]; v["C?","2"]=v["unnamed_net118"]; v["C?","1"]=v["unnamed_net117"]; v["C?","2"]=v["unnamed_net117"]; v["C?","1"]=v["unnamed_net116"]; v["C?","2"]=v["unnamed_net116"]; v["C?","1"]=v["unnamed_net115"]; v["C?","2"]=v["unnamed_net115"]; v["C?","1"]=v["unnamed_net114"]; v["C?","2"]=v["unnamed_net114"]; v["C?","1"]=v["unnamed_net113"]; v["C?","2"]=v["unnamed_net113"]; v["C?","1"]=v["unnamed_net112"]; v["C?","2"]=v["unnamed_net112"]; v["C?","1"]=v["unnamed_net111"]; v["C?","2"]=v["unnamed_net111"]; v["C?","1"]=v["unnamed_net110"]; v["C?","2"]=v["unnamed_net110"]; v["C?","1"]=v["unnamed_net109"]; v["C?","2"]=v["unnamed_net109"]; v["C?","1"]=v["unnamed_net108"]; v["C?","2"]=v["unnamed_net108"]; v["C?","1"]=v["unnamed_net107"]; v["C?","2"]=v["unnamed_net107"]; v["C?","1"]=v["unnamed_net106"]; v["C?","2"]=v["unnamed_net106"]; v["C?","1"]=v["unnamed_net105"]; v["C?","2"]=v["unnamed_net105"]; v["C?","1"]=v["unnamed_net104"]; v["C?","2"]=v["unnamed_net104"]; v["C?","1"]=v["unnamed_net103"]; v["C?","2"]=v["unnamed_net103"]; v["C?","1"]=v["unnamed_net102"]; v["C?","2"]=v["unnamed_net102"]; v["C?","1"]=v["unnamed_net101"]; v["C?","2"]=v["unnamed_net101"]; v["C?","1"]=v["unnamed_net100"]; v["C?","2"]=v["unnamed_net100"]; v["C?","1"]=v["unnamed_net99"]; v["C?","2"]=v["unnamed_net99"]; v["C?","1"]=v["unnamed_net98"]; v["C?","2"]=v["unnamed_net98"]; v["C?","1"]=v["unnamed_net97"]; v["C?","2"]=v["unnamed_net97"]; v["C?","1"]=v["unnamed_net96"]; v["C?","1"]=v["unnamed_net95"]; v["C?","2"]=v["unnamed_net95"]; v["C?","1"]=v["unnamed_net94"]; v["C?","2"]=v["unnamed_net94"]; v["C?","1"]=v["unnamed_net93"]; v["C?","2"]=v["unnamed_net93"]; v["C?","1"]=v["unnamed_net92"]; v["C?","2"]=v["unnamed_net92"]; v["C?","1"]=v["unnamed_net91"]; v["C?","1"]=v["unnamed_net90"]; v["C?","2"]=v["unnamed_net90"]; v["C?","1"]=v["unnamed_net89"]; v["C?","2"]=v["unnamed_net89"]; v["C?","1"]=v["unnamed_net88"]; v["C?","2"]=v["unnamed_net88"]; v["C?","1"]=v["unnamed_net87"]; v["C?","2"]=v["unnamed_net87"]; v["C?","1"]=v["unnamed_net86"]; v["C?","2"]=v["unnamed_net86"]; v["C?","1"]=v["unnamed_net85"]; v["C?","2"]=v["unnamed_net85"]; v["C?","1"]=v["unnamed_net84"]; v["C?","2"]=v["unnamed_net84"]; v["C?","1"]=v["unnamed_net83"]; v["C?","2"]=v["unnamed_net83"]; v["C?","1"]=v["unnamed_net82"]; v["C?","2"]=v["unnamed_net82"]; v["C?","1"]=v["unnamed_net81"]; v["C?","2"]=v["unnamed_net81"]; v["C?","1"]=v["unnamed_net80"]; v["C?","2"]=v["unnamed_net80"]; v["C?","1"]=v["unnamed_net79"]; v["C?","2"]=v["unnamed_net79"]; v["C?","1"]=v["unnamed_net78"]; v["C?","1"]=v["unnamed_net77"]; v["C?","2"]=v["unnamed_net77"]; v["C?","1"]=v["unnamed_net76"]; v["C?","2"]=v["unnamed_net76"]; v["C?","1"]=v["unnamed_net75"]; v["C?","2"]=v["unnamed_net75"]; v["C?","1"]=v["unnamed_net74"]; v["C?","2"]=v["unnamed_net74"]; v["C?","1"]=v["unnamed_net73"]; v["C?","1"]=v["unnamed_net72"]; v["C?","2"]=v["unnamed_net72"]; v["C?","1"]=v["unnamed_net71"]; v["C?","2"]=v["unnamed_net71"]; v["C?","1"]=v["unnamed_net70"]; v["C?","2"]=v["unnamed_net70"]; v["C?","1"]=v["unnamed_net69"]; v["C?","2"]=v["unnamed_net69"]; v["C?","1"]=v["unnamed_net68"]; v["C?","2"]=v["unnamed_net68"]; v["C?","1"]=v["unnamed_net67"]; v["C?","2"]=v["unnamed_net67"]; v["C?","1"]=v["unnamed_net66"]; v["C?","2"]=v["unnamed_net66"]; v["C?","1"]=v["unnamed_net65"]; v["C?","2"]=v["unnamed_net65"]; v["C?","1"]=v["unnamed_net64"]; v["C?","2"]=v["unnamed_net64"]; v["C?","1"]=v["unnamed_net63"]; v["C?","2"]=v["unnamed_net63"]; v["C?","1"]=v["unnamed_net62"]; v["C?","2"]=v["unnamed_net62"]; v["C?","1"]=v["unnamed_net61"]; v["C?","2"]=v["unnamed_net61"]; v["C?","1"]=v["unnamed_net60"]; v["C?","2"]=v["unnamed_net60"]; v["C?","1"]=v["unnamed_net59"]; v["C?","2"]=v["unnamed_net59"]; v["C?","1"]=v["unnamed_net58"]; v["C?","2"]=v["unnamed_net58"]; v["C?","1"]=v["unnamed_net57"]; v["C?","2"]=v["unnamed_net57"]; v["C?","1"]=v["unnamed_net56"]; v["C?","2"]=v["unnamed_net56"]; v["C?","1"]=v["unnamed_net55"]; v["C?","2"]=v["unnamed_net55"]; v["C?","1"]=v["unnamed_net54"]; v["C?","2"]=v["unnamed_net54"]; v["C?","1"]=v["unnamed_net53"]; v["C?","2"]=v["unnamed_net53"]; v["C?","1"]=v["unnamed_net52"]; v["C?","2"]=v["unnamed_net52"]; v["C?","1"]=v["unnamed_net51"]; v["C?","2"]=v["unnamed_net51"]; v["C?","1"]=v["unnamed_net50"]; v["C?","2"]=v["unnamed_net50"]; v["C?","1"]=v["unnamed_net49"]; v["C?","1"]=v["unnamed_net48"]; v["C?","2"]=v["unnamed_net48"]; v["C?","1"]=v["unnamed_net47"]; v["C?","2"]=v["unnamed_net47"]; v["C?","1"]=v["unnamed_net46"]; v["C?","2"]=v["unnamed_net46"]; v["C?","1"]=v["unnamed_net45"]; v["C?","2"]=v["unnamed_net45"]; v["C?","1"]=v["unnamed_net44"]; v["C?","2"]=v["unnamed_net44"]; v["C?","1"]=v["unnamed_net43"]; v["C?","2"]=v["unnamed_net43"]; v["C?","1"]=v["unnamed_net42"]; v["C?","2"]=v["unnamed_net42"]; v["C?","1"]=v["unnamed_net41"]; v["C?","2"]=v["unnamed_net41"]; v["C?","1"]=v["unnamed_net40"]; v["C?","1"]=v["unnamed_net39"]; v["C?","2"]=v["unnamed_net39"]; v["C?","1"]=v["unnamed_net38"]; v["C?","2"]=v["unnamed_net38"]; v["C?","1"]=v["unnamed_net37"]; v["C?","2"]=v["unnamed_net37"]; v["C?","1"]=v["unnamed_net36"]; v["C?","2"]=v["unnamed_net36"]; v["C?","1"]=v["unnamed_net35"]; v["C?","2"]=v["unnamed_net35"]; v["C?","1"]=v["unnamed_net34"]; v["C?","2"]=v["unnamed_net34"]; v["C?","1"]=v["unnamed_net33"]; v["C?","2"]=v["unnamed_net33"]; v["C?","1"]=v["unnamed_net32"]; v["C?","2"]=v["unnamed_net32"]; v["C?","1"]=v["unnamed_net31"]; v["C?","2"]=v["unnamed_net31"]; v["C?","1"]=v["unnamed_net30"]; v["C?","2"]=v["unnamed_net30"]; v["C?","1"]=v["unnamed_net29"]; v["C?","2"]=v["unnamed_net29"]; v["C?","1"]=v["unnamed_net28"]; v["C?","2"]=v["unnamed_net28"]; v["C?","1"]=v["unnamed_net27"]; v["C?","2"]=v["unnamed_net27"]; v["C?","1"]=v["unnamed_net26"]; v["C?","1"]=v["unnamed_net25"]; v["C?","2"]=v["unnamed_net25"]; v["C?","1"]=v["unnamed_net24"]; v["C?","2"]=v["unnamed_net24"]; v["C?","1"]=v["unnamed_net23"]; v["C?","2"]=v["unnamed_net23"]; v["C?","1"]=v["unnamed_net22"]; v["C?","2"]=v["unnamed_net22"]; v["C?","1"]=v["unnamed_net21"]; v["C?","1"]=v["unnamed_net20"]; v["C?","2"]=v["unnamed_net20"]; v["C?","1"]=v["unnamed_net19"]; v["C?","2"]=v["unnamed_net19"]; v["C?","1"]=v["unnamed_net18"]; v["C?","2"]=v["unnamed_net18"]; v["C?","1"]=v["unnamed_net17"]; v["C?","2"]=v["unnamed_net17"]; v["C?","1"]=v["unnamed_net16"]; v["C?","2"]=v["unnamed_net16"]; v["C?","1"]=v["unnamed_net15"]; v["C?","2"]=v["unnamed_net15"]; v["C?","1"]=v["unnamed_net14"]; v["C?","2"]=v["unnamed_net14"]; v["C?","1"]=v["unnamed_net13"]; v["C?","1"]=v["unnamed_net12"]; v["C?","2"]=v["unnamed_net12"]; v["C?","1"]=v["unnamed_net11"]; v["C?","2"]=v["unnamed_net11"]; v["C?","1"]=v["unnamed_net10"]; v["C?","2"]=v["unnamed_net10"]; v["C?","1"]=v["unnamed_net9"]; v["C?","2"]=v["unnamed_net9"]; v["C?","1"]=v["unnamed_net8"]; v["C?","2"]=v["unnamed_net8"]; v["C?","1"]=v["unnamed_net7"]; v["C?","1"]=v["unnamed_net6"]; v["C?","2"]=v["unnamed_net6"]; v["C?","1"]=v["unnamed_net5"]; v["C?","2"]=v["unnamed_net5"]; v["C?","1"]=v["unnamed_net4"]; v["C?","2"]=v["unnamed_net4"]; v["C?","1"]=v["unnamed_net3"]; v["C?","1"]=v["unnamed_net2"]; v["C?","2"]=v["unnamed_net2"]; v["C?","1"]=v["unnamed_net1"]; nodeEquations={ i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","2"]==0, i["C?","1"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","2"]==0, i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]==0, i["C?","1"]+i["C?","2"]==0, i["C?","1"]==0}; modelEquations={ capacitor[value->c?]["C?"]}; variables={ v["unnamed_net1025"], v["unnamed_net1024"], v["unnamed_net1023"], v["unnamed_net1022"], v["unnamed_net1021"], v["unnamed_net1020"], v["unnamed_net1019"], v["unnamed_net1018"], v["unnamed_net1017"], v["unnamed_net1016"], v["unnamed_net1015"], v["unnamed_net1014"], v["unnamed_net1013"], v["unnamed_net1012"], v["unnamed_net1011"], v["unnamed_net1010"], v["unnamed_net1009"], v["unnamed_net1008"], v["unnamed_net1007"], v["unnamed_net1006"], v["unnamed_net1005"], v["unnamed_net1004"], v["unnamed_net1003"], v["unnamed_net1002"], v["unnamed_net1001"], v["unnamed_net1000"], v["unnamed_net999"], v["unnamed_net998"], v["unnamed_net997"], v["unnamed_net996"], v["unnamed_net995"], v["unnamed_net994"], v["unnamed_net993"], v["unnamed_net992"], v["unnamed_net991"], v["unnamed_net990"], v["unnamed_net989"], v["unnamed_net988"], v["unnamed_net987"], v["unnamed_net986"], v["unnamed_net985"], v["unnamed_net984"], v["unnamed_net983"], v["unnamed_net982"], v["unnamed_net981"], v["unnamed_net980"], v["unnamed_net979"], v["unnamed_net978"], v["unnamed_net977"], v["unnamed_net976"], v["unnamed_net975"], v["unnamed_net974"], v["unnamed_net973"], v["unnamed_net972"], v["unnamed_net971"], v["unnamed_net970"], v["unnamed_net969"], v["unnamed_net968"], v["unnamed_net967"], v["unnamed_net966"], v["unnamed_net965"], v["unnamed_net964"], v["unnamed_net963"], v["unnamed_net962"], v["unnamed_net961"], v["unnamed_net960"], v["unnamed_net959"], v["unnamed_net958"], v["unnamed_net957"], v["unnamed_net956"], v["unnamed_net955"], v["unnamed_net954"], v["unnamed_net953"], v["unnamed_net952"], v["unnamed_net951"], v["unnamed_net950"], v["unnamed_net949"], v["unnamed_net948"], v["unnamed_net947"], v["unnamed_net946"], v["unnamed_net945"], v["unnamed_net944"], v["unnamed_net943"], v["unnamed_net942"], v["unnamed_net941"], v["unnamed_net940"], v["unnamed_net939"], v["unnamed_net938"], v["unnamed_net937"], v["unnamed_net936"], v["unnamed_net935"], v["unnamed_net934"], v["unnamed_net933"], v["unnamed_net932"], v["unnamed_net931"], v["unnamed_net930"], v["unnamed_net929"], v["unnamed_net928"], v["unnamed_net927"], v["unnamed_net926"], v["unnamed_net925"], v["unnamed_net924"], v["unnamed_net923"], v["unnamed_net922"], v["unnamed_net921"], v["unnamed_net920"], v["unnamed_net919"], v["unnamed_net918"], v["unnamed_net917"], v["unnamed_net916"], v["unnamed_net915"], v["unnamed_net914"], v["unnamed_net913"], v["unnamed_net912"], v["unnamed_net911"], v["unnamed_net910"], v["unnamed_net909"], v["unnamed_net908"], v["unnamed_net907"], v["unnamed_net906"], v["unnamed_net905"], v["unnamed_net904"], v["unnamed_net903"], v["unnamed_net902"], v["unnamed_net901"], v["unnamed_net900"], v["unnamed_net899"], v["unnamed_net898"], v["unnamed_net897"], v["unnamed_net896"], v["unnamed_net895"], v["unnamed_net894"], v["unnamed_net893"], v["unnamed_net892"], v["unnamed_net891"], v["unnamed_net890"], v["unnamed_net889"], v["unnamed_net888"], v["unnamed_net887"], v["unnamed_net886"], v["unnamed_net885"], v["unnamed_net884"], v["unnamed_net883"], v["unnamed_net882"], v["unnamed_net881"], v["unnamed_net880"], v["unnamed_net879"], v["unnamed_net878"], v["unnamed_net877"], v["unnamed_net876"], v["unnamed_net875"], v["unnamed_net874"], v["unnamed_net873"], v["unnamed_net872"], v["unnamed_net871"], v["unnamed_net870"], v["unnamed_net869"], v["unnamed_net868"], v["unnamed_net867"], v["unnamed_net866"], v["unnamed_net865"], v["unnamed_net864"], v["unnamed_net863"], v["unnamed_net862"], v["unnamed_net861"], v["unnamed_net860"], v["unnamed_net859"], v["unnamed_net858"], v["unnamed_net857"], v["unnamed_net856"], v["unnamed_net855"], v["unnamed_net854"], v["unnamed_net853"], v["unnamed_net852"], v["unnamed_net851"], v["unnamed_net850"], v["unnamed_net849"], v["unnamed_net848"], v["unnamed_net847"], v["unnamed_net846"], v["unnamed_net845"], v["unnamed_net844"], v["unnamed_net843"], v["unnamed_net842"], v["unnamed_net841"], v["unnamed_net840"], v["unnamed_net839"], v["unnamed_net838"], v["unnamed_net837"], v["unnamed_net836"], v["unnamed_net835"], v["unnamed_net834"], v["unnamed_net833"], v["unnamed_net832"], v["unnamed_net831"], v["unnamed_net830"], v["unnamed_net829"], v["unnamed_net828"], v["unnamed_net827"], v["unnamed_net826"], v["unnamed_net825"], v["unnamed_net824"], v["unnamed_net823"], v["unnamed_net822"], v["unnamed_net821"], v["unnamed_net820"], v["unnamed_net819"], v["unnamed_net818"], v["unnamed_net817"], v["unnamed_net816"], v["unnamed_net815"], v["unnamed_net814"], v["unnamed_net813"], v["unnamed_net812"], v["unnamed_net811"], v["unnamed_net810"], v["unnamed_net809"], v["unnamed_net808"], v["unnamed_net807"], v["unnamed_net806"], v["unnamed_net805"], v["unnamed_net804"], v["unnamed_net803"], v["unnamed_net802"], v["unnamed_net801"], v["unnamed_net800"], v["unnamed_net799"], v["unnamed_net798"], v["unnamed_net797"], v["unnamed_net796"], v["unnamed_net795"], v["unnamed_net794"], v["unnamed_net793"], v["unnamed_net792"], v["unnamed_net791"], v["unnamed_net790"], v["unnamed_net789"], v["unnamed_net788"], v["unnamed_net787"], v["unnamed_net786"], v["unnamed_net785"], v["unnamed_net784"], v["unnamed_net783"], v["unnamed_net782"], v["unnamed_net781"], v["unnamed_net780"], v["unnamed_net779"], v["unnamed_net778"], v["unnamed_net777"], v["unnamed_net776"], v["unnamed_net775"], v["unnamed_net774"], v["unnamed_net773"], v["unnamed_net772"], v["unnamed_net771"], v["unnamed_net770"], v["unnamed_net769"], v["unnamed_net768"], v["unnamed_net767"], v["unnamed_net766"], v["unnamed_net765"], v["unnamed_net764"], v["unnamed_net763"], v["unnamed_net762"], v["unnamed_net761"], v["unnamed_net760"], v["unnamed_net759"], v["unnamed_net758"], v["unnamed_net757"], v["unnamed_net756"], v["unnamed_net755"], v["unnamed_net754"], v["unnamed_net753"], v["unnamed_net752"], v["unnamed_net751"], v["unnamed_net750"], v["unnamed_net749"], v["unnamed_net748"], v["unnamed_net747"], v["unnamed_net746"], v["unnamed_net745"], v["unnamed_net744"], v["unnamed_net743"], v["unnamed_net742"], v["unnamed_net741"], v["unnamed_net740"], v["unnamed_net739"], v["unnamed_net738"], v["unnamed_net737"], v["unnamed_net736"], v["unnamed_net735"], v["unnamed_net734"], v["unnamed_net733"], v["unnamed_net732"], v["unnamed_net731"], v["unnamed_net730"], v["unnamed_net729"], v["unnamed_net728"], v["unnamed_net727"], v["unnamed_net726"], v["unnamed_net725"], v["unnamed_net724"], v["unnamed_net723"], v["unnamed_net722"], v["unnamed_net721"], v["unnamed_net720"], v["unnamed_net719"], v["unnamed_net718"], v["unnamed_net717"], v["unnamed_net716"], v["unnamed_net715"], v["unnamed_net714"], v["unnamed_net713"], v["unnamed_net712"], v["unnamed_net711"], v["unnamed_net710"], v["unnamed_net709"], v["unnamed_net708"], v["unnamed_net707"], v["unnamed_net706"], v["unnamed_net705"], v["unnamed_net704"], v["unnamed_net703"], v["unnamed_net702"], v["unnamed_net701"], v["unnamed_net700"], v["unnamed_net699"], v["unnamed_net698"], v["unnamed_net697"], v["unnamed_net696"], v["unnamed_net695"], v["unnamed_net694"], v["unnamed_net693"], v["unnamed_net692"], v["unnamed_net691"], v["unnamed_net690"], v["unnamed_net689"], v["unnamed_net688"], v["unnamed_net687"], v["unnamed_net686"], v["unnamed_net685"], v["unnamed_net684"], v["unnamed_net683"], v["unnamed_net682"], v["unnamed_net681"], v["unnamed_net680"], v["unnamed_net679"], v["unnamed_net678"], v["unnamed_net677"], v["unnamed_net676"], v["unnamed_net675"], v["unnamed_net674"], v["unnamed_net673"], v["unnamed_net672"], v["unnamed_net671"], v["unnamed_net670"], v["unnamed_net669"], v["unnamed_net668"], v["unnamed_net667"], v["unnamed_net666"], v["unnamed_net665"], v["unnamed_net664"], v["unnamed_net663"], v["unnamed_net662"], v["unnamed_net661"], v["unnamed_net660"], v["unnamed_net659"], v["unnamed_net658"], v["unnamed_net657"], v["unnamed_net656"], v["unnamed_net655"], v["unnamed_net654"], v["unnamed_net653"], v["unnamed_net652"], v["unnamed_net651"], v["unnamed_net650"], v["unnamed_net649"], v["unnamed_net648"], v["unnamed_net647"], v["unnamed_net646"], v["unnamed_net645"], v["unnamed_net644"], v["unnamed_net643"], v["unnamed_net642"], v["unnamed_net641"], v["unnamed_net640"], v["unnamed_net639"], v["unnamed_net638"], v["unnamed_net637"], v["unnamed_net636"], v["unnamed_net635"], v["unnamed_net634"], v["unnamed_net633"], v["unnamed_net632"], v["unnamed_net631"], v["unnamed_net630"], v["unnamed_net629"], v["unnamed_net628"], v["unnamed_net627"], v["unnamed_net626"], v["unnamed_net625"], v["unnamed_net624"], v["unnamed_net623"], v["unnamed_net622"], v["unnamed_net621"], v["unnamed_net620"], v["unnamed_net619"], v["unnamed_net618"], v["unnamed_net617"], v["unnamed_net616"], v["unnamed_net615"], v["unnamed_net614"], v["unnamed_net613"], v["unnamed_net612"], v["unnamed_net611"], v["unnamed_net610"], v["unnamed_net609"], v["unnamed_net608"], v["unnamed_net607"], v["unnamed_net606"], v["unnamed_net605"], v["unnamed_net604"], v["unnamed_net603"], v["unnamed_net602"], v["unnamed_net601"], v["unnamed_net600"], v["unnamed_net599"], v["unnamed_net598"], v["unnamed_net597"], v["unnamed_net596"], v["unnamed_net595"], v["unnamed_net594"], v["unnamed_net593"], v["unnamed_net592"], v["unnamed_net591"], v["unnamed_net590"], v["unnamed_net589"], v["unnamed_net588"], v["unnamed_net587"], v["unnamed_net586"], v["unnamed_net585"], v["unnamed_net584"], v["unnamed_net583"], v["unnamed_net582"], v["unnamed_net581"], v["unnamed_net580"], v["unnamed_net579"], v["unnamed_net578"], v["unnamed_net577"], v["unnamed_net576"], v["unnamed_net575"], v["unnamed_net574"], v["unnamed_net573"], v["unnamed_net572"], v["unnamed_net571"], v["unnamed_net570"], v["unnamed_net569"], v["unnamed_net568"], v["unnamed_net567"], v["unnamed_net566"], v["unnamed_net565"], v["unnamed_net564"], v["unnamed_net563"], v["unnamed_net562"], v["unnamed_net561"], v["unnamed_net560"], v["unnamed_net559"], v["unnamed_net558"], v["unnamed_net557"], v["unnamed_net556"], v["unnamed_net555"], v["unnamed_net554"], v["unnamed_net553"], v["unnamed_net552"], v["unnamed_net551"], v["unnamed_net550"], v["unnamed_net549"], v["unnamed_net548"], v["unnamed_net547"], v["unnamed_net546"], v["unnamed_net545"], v["unnamed_net544"], v["unnamed_net543"], v["unnamed_net542"], v["unnamed_net541"], v["unnamed_net540"], v["unnamed_net539"], v["unnamed_net538"], v["unnamed_net537"], v["unnamed_net536"], v["unnamed_net535"], v["unnamed_net534"], v["unnamed_net533"], v["unnamed_net532"], v["unnamed_net531"], v["unnamed_net530"], v["unnamed_net529"], v["unnamed_net528"], v["unnamed_net527"], v["unnamed_net526"], v["unnamed_net525"], v["unnamed_net524"], v["unnamed_net523"], v["unnamed_net522"], v["unnamed_net521"], v["unnamed_net520"], v["unnamed_net519"], v["unnamed_net518"], v["unnamed_net517"], v["unnamed_net516"], v["unnamed_net515"], v["unnamed_net514"], v["unnamed_net513"], v["unnamed_net512"], v["unnamed_net511"], v["unnamed_net510"], v["unnamed_net509"], v["unnamed_net508"], v["unnamed_net507"], v["unnamed_net506"], v["unnamed_net505"], v["unnamed_net504"], v["unnamed_net503"], v["unnamed_net502"], v["unnamed_net501"], v["unnamed_net500"], v["unnamed_net499"], v["unnamed_net498"], v["unnamed_net497"], v["unnamed_net496"], v["unnamed_net495"], v["unnamed_net494"], v["unnamed_net493"], v["unnamed_net492"], v["unnamed_net491"], v["unnamed_net490"], v["unnamed_net489"], v["unnamed_net488"], v["unnamed_net487"], v["unnamed_net486"], v["unnamed_net485"], v["unnamed_net484"], v["unnamed_net483"], v["unnamed_net482"], v["unnamed_net481"], v["unnamed_net480"], v["unnamed_net479"], v["unnamed_net478"], v["unnamed_net477"], v["unnamed_net476"], v["unnamed_net475"], v["unnamed_net474"], v["unnamed_net473"], v["unnamed_net472"], v["unnamed_net471"], v["unnamed_net470"], v["unnamed_net469"], v["unnamed_net468"], v["unnamed_net467"], v["unnamed_net466"], v["unnamed_net465"], v["unnamed_net464"], v["unnamed_net463"], v["unnamed_net462"], v["unnamed_net461"], v["unnamed_net460"], v["unnamed_net459"], v["unnamed_net458"], v["unnamed_net457"], v["unnamed_net456"], v["unnamed_net455"], v["unnamed_net454"], v["unnamed_net453"], v["unnamed_net452"], v["unnamed_net451"], v["unnamed_net450"], v["unnamed_net449"], v["unnamed_net448"], v["unnamed_net447"], v["unnamed_net446"], v["unnamed_net445"], v["unnamed_net444"], v["unnamed_net443"], v["unnamed_net442"], v["unnamed_net441"], v["unnamed_net440"], v["unnamed_net439"], v["unnamed_net438"], v["unnamed_net437"], v["unnamed_net436"], v["unnamed_net435"], v["unnamed_net434"], v["unnamed_net433"], v["unnamed_net432"], v["unnamed_net431"], v["unnamed_net430"], v["unnamed_net429"], v["unnamed_net428"], v["unnamed_net427"], v["unnamed_net426"], v["unnamed_net425"], v["unnamed_net424"], v["unnamed_net423"], v["unnamed_net422"], v["unnamed_net421"], v["unnamed_net420"], v["unnamed_net419"], v["unnamed_net418"], v["unnamed_net417"], v["unnamed_net416"], v["unnamed_net415"], v["unnamed_net414"], v["unnamed_net413"], v["unnamed_net412"], v["unnamed_net411"], v["unnamed_net410"], v["unnamed_net409"], v["unnamed_net408"], v["unnamed_net407"], v["unnamed_net406"], v["unnamed_net405"], v["unnamed_net404"], v["unnamed_net403"], v["unnamed_net402"], v["unnamed_net401"], v["unnamed_net400"], v["unnamed_net399"], v["unnamed_net398"], v["unnamed_net397"], v["unnamed_net396"], v["unnamed_net395"], v["unnamed_net394"], v["unnamed_net393"], v["unnamed_net392"], v["unnamed_net391"], v["unnamed_net390"], v["unnamed_net389"], v["unnamed_net388"], v["unnamed_net387"], v["unnamed_net386"], v["unnamed_net385"], v["unnamed_net384"], v["unnamed_net383"], v["unnamed_net382"], v["unnamed_net381"], v["unnamed_net380"], v["unnamed_net379"], v["unnamed_net378"], v["unnamed_net377"], v["unnamed_net376"], v["unnamed_net375"], v["unnamed_net374"], v["unnamed_net373"], v["unnamed_net372"], v["unnamed_net371"], v["unnamed_net370"], v["unnamed_net369"], v["unnamed_net368"], v["unnamed_net367"], v["unnamed_net366"], v["unnamed_net365"], v["unnamed_net364"], v["unnamed_net363"], v["unnamed_net362"], v["unnamed_net361"], v["unnamed_net360"], v["unnamed_net359"], v["unnamed_net358"], v["unnamed_net357"], v["unnamed_net356"], v["unnamed_net355"], v["unnamed_net354"], v["unnamed_net353"], v["unnamed_net352"], v["unnamed_net351"], v["unnamed_net350"], v["unnamed_net349"], v["unnamed_net348"], v["unnamed_net347"], v["unnamed_net346"], v["unnamed_net345"], v["unnamed_net344"], v["unnamed_net343"], v["unnamed_net342"], v["unnamed_net341"], v["unnamed_net340"], v["unnamed_net339"], v["unnamed_net338"], v["unnamed_net337"], v["unnamed_net336"], v["unnamed_net335"], v["unnamed_net334"], v["unnamed_net333"], v["unnamed_net332"], v["unnamed_net331"], v["unnamed_net330"], v["unnamed_net329"], v["unnamed_net328"], v["unnamed_net327"], v["unnamed_net326"], v["unnamed_net325"], v["unnamed_net324"], v["unnamed_net323"], v["unnamed_net322"], v["unnamed_net321"], v["unnamed_net320"], v["unnamed_net319"], v["unnamed_net318"], v["unnamed_net317"], v["unnamed_net316"], v["unnamed_net315"], v["unnamed_net314"], v["unnamed_net313"], v["unnamed_net312"], v["unnamed_net311"], v["unnamed_net310"], v["unnamed_net309"], v["unnamed_net308"], v["unnamed_net307"], v["unnamed_net306"], v["unnamed_net305"], v["unnamed_net304"], v["unnamed_net303"], v["unnamed_net302"], v["unnamed_net301"], v["unnamed_net300"], v["unnamed_net299"], v["unnamed_net298"], v["unnamed_net297"], v["unnamed_net296"], v["unnamed_net295"], v["unnamed_net294"], v["unnamed_net293"], v["unnamed_net292"], v["unnamed_net291"], v["unnamed_net290"], v["unnamed_net289"], v["unnamed_net288"], v["unnamed_net287"], v["unnamed_net286"], v["unnamed_net285"], v["unnamed_net284"], v["unnamed_net283"], v["unnamed_net282"], v["unnamed_net281"], v["unnamed_net280"], v["unnamed_net279"], v["unnamed_net278"], v["unnamed_net277"], v["unnamed_net276"], v["unnamed_net275"], v["unnamed_net274"], v["unnamed_net273"], v["unnamed_net272"], v["unnamed_net271"], v["unnamed_net270"], v["unnamed_net269"], v["unnamed_net268"], v["unnamed_net267"], v["unnamed_net266"], v["unnamed_net265"], v["unnamed_net264"], v["unnamed_net263"], v["unnamed_net262"], v["unnamed_net261"], v["unnamed_net260"], v["unnamed_net259"], v["unnamed_net258"], v["unnamed_net257"], v["unnamed_net256"], v["unnamed_net255"], v["unnamed_net254"], v["unnamed_net253"], v["unnamed_net252"], v["unnamed_net251"], v["unnamed_net250"], v["unnamed_net249"], v["unnamed_net248"], v["unnamed_net247"], v["unnamed_net246"], v["unnamed_net245"], v["unnamed_net244"], v["unnamed_net243"], v["unnamed_net242"], v["unnamed_net241"], v["unnamed_net240"], v["unnamed_net239"], v["unnamed_net238"], v["unnamed_net237"], v["unnamed_net236"], v["unnamed_net235"], v["unnamed_net234"], v["unnamed_net233"], v["unnamed_net232"], v["unnamed_net231"], v["unnamed_net230"], v["unnamed_net229"], v["unnamed_net228"], v["unnamed_net227"], v["unnamed_net226"], v["unnamed_net225"], v["unnamed_net224"], v["unnamed_net223"], v["unnamed_net222"], v["unnamed_net221"], v["unnamed_net220"], v["unnamed_net219"], v["unnamed_net218"], v["unnamed_net217"], v["unnamed_net216"], v["unnamed_net215"], v["unnamed_net214"], v["unnamed_net213"], v["unnamed_net212"], v["unnamed_net211"], v["unnamed_net210"], v["unnamed_net209"], v["unnamed_net208"], v["unnamed_net207"], v["unnamed_net206"], v["unnamed_net205"], v["unnamed_net204"], v["unnamed_net203"], v["unnamed_net202"], v["unnamed_net201"], v["unnamed_net200"], v["unnamed_net199"], v["unnamed_net198"], v["unnamed_net197"], v["unnamed_net196"], v["unnamed_net195"], v["unnamed_net194"], v["unnamed_net193"], v["unnamed_net192"], v["unnamed_net191"], v["unnamed_net190"], v["unnamed_net189"], v["unnamed_net188"], v["unnamed_net187"], v["unnamed_net186"], v["unnamed_net185"], v["unnamed_net184"], v["unnamed_net183"], v["unnamed_net182"], v["unnamed_net181"], v["unnamed_net180"], v["unnamed_net179"], v["unnamed_net178"], v["unnamed_net177"], v["unnamed_net176"], v["unnamed_net175"], v["unnamed_net174"], v["unnamed_net173"], v["unnamed_net172"], v["unnamed_net171"], v["unnamed_net170"], v["unnamed_net169"], v["unnamed_net168"], v["unnamed_net167"], v["unnamed_net166"], v["unnamed_net165"], v["unnamed_net164"], v["unnamed_net163"], v["unnamed_net162"], v["unnamed_net161"], v["unnamed_net160"], v["unnamed_net159"], v["unnamed_net158"], v["unnamed_net157"], v["unnamed_net156"], v["unnamed_net155"], v["unnamed_net154"], v["unnamed_net153"], v["unnamed_net152"], v["unnamed_net151"], v["unnamed_net150"], v["unnamed_net149"], v["unnamed_net148"], v["unnamed_net147"], v["unnamed_net146"], v["unnamed_net145"], v["unnamed_net144"], v["unnamed_net143"], v["unnamed_net142"], v["unnamed_net141"], v["unnamed_net140"], v["unnamed_net139"], v["unnamed_net138"], v["unnamed_net137"], v["unnamed_net136"], v["unnamed_net135"], v["unnamed_net134"], v["unnamed_net133"], v["unnamed_net132"], v["unnamed_net131"], v["unnamed_net130"], v["unnamed_net129"], v["unnamed_net128"], v["unnamed_net127"], v["unnamed_net126"], v["unnamed_net125"], v["unnamed_net124"], v["unnamed_net123"], v["unnamed_net122"], v["unnamed_net121"], v["unnamed_net120"], v["unnamed_net119"], v["unnamed_net118"], v["unnamed_net117"], v["unnamed_net116"], v["unnamed_net115"], v["unnamed_net114"], v["unnamed_net113"], v["unnamed_net112"], v["unnamed_net111"], v["unnamed_net110"], v["unnamed_net109"], v["unnamed_net108"], v["unnamed_net107"], v["unnamed_net106"], v["unnamed_net105"], v["unnamed_net104"], v["unnamed_net103"], v["unnamed_net102"], v["unnamed_net101"], v["unnamed_net100"], v["unnamed_net99"], v["unnamed_net98"], v["unnamed_net97"], v["unnamed_net96"], v["unnamed_net95"], v["unnamed_net94"], v["unnamed_net93"], v["unnamed_net92"], v["unnamed_net91"], v["unnamed_net90"], v["unnamed_net89"], v["unnamed_net88"], v["unnamed_net87"], v["unnamed_net86"], v["unnamed_net85"], v["unnamed_net84"], v["unnamed_net83"], v["unnamed_net82"], v["unnamed_net81"], v["unnamed_net80"], v["unnamed_net79"], v["unnamed_net78"], v["unnamed_net77"], v["unnamed_net76"], v["unnamed_net75"], v["unnamed_net74"], v["unnamed_net73"], v["unnamed_net72"], v["unnamed_net71"], v["unnamed_net70"], v["unnamed_net69"], v["unnamed_net68"], v["unnamed_net67"], v["unnamed_net66"], v["unnamed_net65"], v["unnamed_net64"], v["unnamed_net63"], v["unnamed_net62"], v["unnamed_net61"], v["unnamed_net60"], v["unnamed_net59"], v["unnamed_net58"], v["unnamed_net57"], v["unnamed_net56"], v["unnamed_net55"], v["unnamed_net54"], v["unnamed_net53"], v["unnamed_net52"], v["unnamed_net51"], v["unnamed_net50"], v["unnamed_net49"], v["unnamed_net48"], v["unnamed_net47"], v["unnamed_net46"], v["unnamed_net45"], v["unnamed_net44"], v["unnamed_net43"], v["unnamed_net42"], v["unnamed_net41"], v["unnamed_net40"], v["unnamed_net39"], v["unnamed_net38"], v["unnamed_net37"], v["unnamed_net36"], v["unnamed_net35"], v["unnamed_net34"], v["unnamed_net33"], v["unnamed_net32"], v["unnamed_net31"], v["unnamed_net30"], v["unnamed_net29"], v["unnamed_net28"], v["unnamed_net27"], v["unnamed_net26"], v["unnamed_net25"], v["unnamed_net24"], v["unnamed_net23"], v["unnamed_net22"], v["unnamed_net21"], v["unnamed_net20"], v["unnamed_net19"], v["unnamed_net18"], v["unnamed_net17"], v["unnamed_net16"], v["unnamed_net15"], v["unnamed_net14"], v["unnamed_net13"], v["unnamed_net12"], v["unnamed_net11"], v["unnamed_net10"], v["unnamed_net9"], v["unnamed_net8"], v["unnamed_net7"], v["unnamed_net6"], v["unnamed_net5"], v["unnamed_net4"], v["unnamed_net3"], v["unnamed_net2"], v["unnamed_net1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","2"], i["C?","1"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","1"], i["C?","2"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","2"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","2"], i["C?","1"], i["C?","1"], i["C?","2"], i["C?","1"]}; geda-gaf-1.8.2/gnetlist/tests/common/outputs/mathematica/JD_Sort.retcode0000664000175000017500000000000212050461155023225 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/mathematica/cascade-output.net0000664000175000017500000000236112050461155024015 00000000000000v["AMP2","1"]=v["unnamed_net6"]; v["T1","2"]=v["unnamed_net6"]; v["T1","1"]=v["unnamed_net5"]; v["MX1","2"]=v["unnamed_net5"]; v["MX1","1"]=v["unnamed_net4"]; v["FL1","2"]=v["unnamed_net4"]; v["FL1","1"]=v["unnamed_net3"]; v["DEF1","2"]=v["unnamed_net3"]; v["DEF1","1"]=v["unnamed_net2"]; v["AMP1","2"]=v["unnamed_net2"]; v["AMP1","1"]=v["unnamed_net1"]; v["SOURCE","1"]=v["unnamed_net1"]; v["DEFAULTS","1"]=v["GND"]; nodeEquations={ i["AMP2","1"]+i["T1","2"]==0, i["T1","1"]+i["MX1","2"]==0, i["MX1","1"]+i["FL1","2"]==0, i["FL1","1"]+i["DEF1","2"]==0, i["DEF1","1"]+i["AMP1","2"]==0, i["AMP1","1"]+i["SOURCE","1"]==0}; modelEquations={ cascade-amp[value->amp2]["AMP2"], cascade-transformer[value->t1]["T1"], cascade-mixer[value->mx1]["MX1"], cascade-filter[value->fl1]["FL1"], cascade-defaults[value->def1]["DEF1"], cascade-amp[value->amp1]["AMP1"], cascade-source[value->source]["SOURCE"], cascade-defaults-top[value->defaults]["DEFAULTS"]}; variables={ v["unnamed_net6"], v["unnamed_net5"], v["unnamed_net4"], v["unnamed_net3"], v["unnamed_net2"], v["unnamed_net1"], i["AMP2","1"], i["T1","2"], i["T1","1"], i["MX1","2"], i["MX1","1"], i["FL1","2"], i["FL1","1"], i["DEF1","2"], i["DEF1","1"], i["AMP1","2"], i["AMP1","1"], i["SOURCE","1"], i["DEFAULTS","1"]}; geda-gaf-1.8.2/gnetlist/tests/common/outputs/mathematica/multiequal-output.net0000664000175000017500000000054012050461155024611 00000000000000v["V1","2"]=v["GND"]; v["R1","1"]=v["GND"]; v["V1","1"]=v["unnamed_net1"]; v["R1","2"]=v["unnamed_net1"]; nodeEquations={ i["V1","1"]+i["R1","2"]==0}; modelEquations={ voltage_source[value->DC 1V]["V1"], resistor[value->20]["R1"], options[value->abotol=1e-11]["A1"]}; variables={ v["unnamed_net1"], i["V1","2"], i["R1","1"], i["V1","1"], i["R1","2"]}; geda-gaf-1.8.2/gnetlist/tests/common/outputs/mathematica/JD_nomunge-output.net0000664000175000017500000000314412050461155024457 00000000000000v["Rlp","2"]=v["Vdd1"]; v["M1","B"]=v["Vdd1"]; v["M1","S"]=v["Vdd1"]; v["Vdd","1"]=v["Vdd1"]; v["X1","6"]=v["Vdd1"]; v["Cm","2"]=v["GND"]; v["Cp","2"]=v["GND"]; v["Rlm","2"]=v["GND"]; v["Vdd","2"]=v["GND"]; v["V1","2"]=v["GND"]; v["Rb","1"]=v["GND"]; v["X1","7"]=v["GND"]; v["X1","2"]=v["GND"]; v["Rb","2"]=v["LVH"]; v["M1","D"]=v["LVH"]; v["M1","G"]=v["LVH"]; v["X1","3"]=v["LVH"]; v["V1","1"]=v["i"]; v["X1","1"]=v["i"]; v["Cp","1"]=v["p"]; v["Rt","1"]=v["p"]; v["Rlp","1"]=v["p"]; v["X1","5"]=v["p"]; v["Cm","1"]=v["m"]; v["Rlm","1"]=v["m"]; v["Rt","2"]=v["m"]; v["X1","4"]=v["m"]; nodeEquations={ i["Rlp","2"]+i["M1","B"]+i["M1","S"]+i["Vdd","1"]+i["X1","6"]==0, i["Rb","2"]+i["M1","D"]+i["M1","G"]+i["X1","3"]==0, i["V1","1"]+i["X1","1"]==0, i["Cp","1"]+i["Rt","1"]+i["Rlp","1"]+i["X1","5"]==0, i["Cm","1"]+i["Rlm","1"]+i["Rt","2"]+i["X1","4"]==0}; modelEquations={ model[value->a1]["A1"], capacitor[value->20p]["Cm"], capacitor[value->20p]["Cp"], resistor[value->1meg]["Rlp"], resistor[value->500k]["Rlm"], voltage_source[value->DC 3.3V]["Vdd"], vpulse[value->pulse 3.3 0 1u 10p 10p 1.25u 2.5u]["V1"], resistor[value->1k]["Rt"], resistor[value->5.6k]["Rb"], pmos_transistor[value->m1]["M1"], lvd[value->x1]["X1"]}; variables={ v["Vdd1"], v["LVH"], v["i"], v["p"], v["m"], i["Rlp","2"], i["M1","B"], i["M1","S"], i["Vdd","1"], i["X1","6"], i["Cm","2"], i["Cp","2"], i["Rlm","2"], i["Vdd","2"], i["V1","2"], i["Rb","1"], i["X1","7"], i["X1","2"], i["Rb","2"], i["M1","D"], i["M1","G"], i["X1","3"], i["V1","1"], i["X1","1"], i["Cp","1"], i["Rt","1"], i["Rlp","1"], i["X1","5"], i["Cm","1"], i["Rlm","1"], i["Rt","2"], i["X1","4"]}; geda-gaf-1.8.2/gnetlist/tests/common/outputs/mathematica/stack-torture.retcode0000664000175000017500000000000212063576065024543 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/mathematica/powersupply.retcode0000664000175000017500000000000212050461155024332 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/mathematica/JD_Sort_nomunge-output.net0000664000175000017500000000314412050461155025466 00000000000000v["Rlp","2"]=v["Vdd1"]; v["M1","B"]=v["Vdd1"]; v["M1","S"]=v["Vdd1"]; v["Vdd","1"]=v["Vdd1"]; v["X1","6"]=v["Vdd1"]; v["Cm","2"]=v["GND"]; v["Cp","2"]=v["GND"]; v["Rlm","2"]=v["GND"]; v["Vdd","2"]=v["GND"]; v["V1","2"]=v["GND"]; v["Rb","1"]=v["GND"]; v["X1","7"]=v["GND"]; v["X1","2"]=v["GND"]; v["Rb","2"]=v["LVH"]; v["M1","D"]=v["LVH"]; v["M1","G"]=v["LVH"]; v["X1","3"]=v["LVH"]; v["V1","1"]=v["i"]; v["X1","1"]=v["i"]; v["Cp","1"]=v["p"]; v["Rt","1"]=v["p"]; v["Rlp","1"]=v["p"]; v["X1","5"]=v["p"]; v["Cm","1"]=v["m"]; v["Rlm","1"]=v["m"]; v["Rt","2"]=v["m"]; v["X1","4"]=v["m"]; nodeEquations={ i["Rlp","2"]+i["M1","B"]+i["M1","S"]+i["Vdd","1"]+i["X1","6"]==0, i["Rb","2"]+i["M1","D"]+i["M1","G"]+i["X1","3"]==0, i["V1","1"]+i["X1","1"]==0, i["Cp","1"]+i["Rt","1"]+i["Rlp","1"]+i["X1","5"]==0, i["Cm","1"]+i["Rlm","1"]+i["Rt","2"]+i["X1","4"]==0}; modelEquations={ model[value->a1]["A1"], capacitor[value->20p]["Cm"], capacitor[value->20p]["Cp"], resistor[value->1meg]["Rlp"], resistor[value->500k]["Rlm"], voltage_source[value->DC 3.3V]["Vdd"], vpulse[value->pulse 3.3 0 1u 10p 10p 1.25u 2.5u]["V1"], resistor[value->1k]["Rt"], resistor[value->5.6k]["Rb"], pmos_transistor[value->m1]["M1"], lvd[value->x1]["X1"]}; variables={ v["Vdd1"], v["LVH"], v["i"], v["p"], v["m"], i["Rlp","2"], i["M1","B"], i["M1","S"], i["Vdd","1"], i["X1","6"], i["Cm","2"], i["Cp","2"], i["Rlm","2"], i["Vdd","2"], i["V1","2"], i["Rb","1"], i["X1","7"], i["X1","2"], i["Rb","2"], i["M1","D"], i["M1","G"], i["X1","3"], i["V1","1"], i["X1","1"], i["Cp","1"], i["Rt","1"], i["Rlp","1"], i["X1","5"], i["Cm","1"], i["Rlm","1"], i["Rt","2"], i["X1","4"]}; geda-gaf-1.8.2/gnetlist/tests/common/outputs/mathematica/TwoStageAmp_Sort.retcode0000664000175000017500000000000212050461155025123 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/mathematica/netattrib.retcode0000664000175000017500000000000212050461155023715 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/mathematica/JD_nomunge.retcode0000664000175000017500000000000212050461155023746 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/mathematica/JD_Include-output.net0000664000175000017500000000314412050461155024372 00000000000000v["Rlp","2"]=v["Vdd1"]; v["M1","B"]=v["Vdd1"]; v["M1","S"]=v["Vdd1"]; v["Vdd","1"]=v["Vdd1"]; v["X1","6"]=v["Vdd1"]; v["Cm","2"]=v["GND"]; v["Cp","2"]=v["GND"]; v["Rlm","2"]=v["GND"]; v["Vdd","2"]=v["GND"]; v["V1","2"]=v["GND"]; v["Rb","1"]=v["GND"]; v["X1","7"]=v["GND"]; v["X1","2"]=v["GND"]; v["Rb","2"]=v["LVH"]; v["M1","D"]=v["LVH"]; v["M1","G"]=v["LVH"]; v["X1","3"]=v["LVH"]; v["V1","1"]=v["i"]; v["X1","1"]=v["i"]; v["Cp","1"]=v["p"]; v["Rt","1"]=v["p"]; v["Rlp","1"]=v["p"]; v["X1","5"]=v["p"]; v["Cm","1"]=v["m"]; v["Rlm","1"]=v["m"]; v["Rt","2"]=v["m"]; v["X1","4"]=v["m"]; nodeEquations={ i["Rlp","2"]+i["M1","B"]+i["M1","S"]+i["Vdd","1"]+i["X1","6"]==0, i["Rb","2"]+i["M1","D"]+i["M1","G"]+i["X1","3"]==0, i["V1","1"]+i["X1","1"]==0, i["Cp","1"]+i["Rt","1"]+i["Rlp","1"]+i["X1","5"]==0, i["Cm","1"]+i["Rlm","1"]+i["Rt","2"]+i["X1","4"]==0}; modelEquations={ model[value->a1]["A1"], capacitor[value->20p]["Cm"], capacitor[value->20p]["Cp"], resistor[value->1meg]["Rlp"], resistor[value->500k]["Rlm"], voltage_source[value->DC 3.3V]["Vdd"], vpulse[value->pulse 3.3 0 1u 10p 10p 1.25u 2.5u]["V1"], resistor[value->1k]["Rt"], resistor[value->5.6k]["Rb"], pmos_transistor[value->m1]["M1"], lvd[value->x1]["X1"]}; variables={ v["Vdd1"], v["LVH"], v["i"], v["p"], v["m"], i["Rlp","2"], i["M1","B"], i["M1","S"], i["Vdd","1"], i["X1","6"], i["Cm","2"], i["Cp","2"], i["Rlm","2"], i["Vdd","2"], i["V1","2"], i["Rb","1"], i["X1","7"], i["X1","2"], i["Rb","2"], i["M1","D"], i["M1","G"], i["X1","3"], i["V1","1"], i["X1","1"], i["Cp","1"], i["Rt","1"], i["Rlp","1"], i["X1","5"], i["Cm","1"], i["Rlm","1"], i["Rt","2"], i["X1","4"]}; geda-gaf-1.8.2/gnetlist/tests/common/outputs/mathematica/JD_Sort-output.net0000664000175000017500000000314412050461155023736 00000000000000v["Rlp","2"]=v["Vdd1"]; v["M1","B"]=v["Vdd1"]; v["M1","S"]=v["Vdd1"]; v["Vdd","1"]=v["Vdd1"]; v["X1","6"]=v["Vdd1"]; v["Cm","2"]=v["GND"]; v["Cp","2"]=v["GND"]; v["Rlm","2"]=v["GND"]; v["Vdd","2"]=v["GND"]; v["V1","2"]=v["GND"]; v["Rb","1"]=v["GND"]; v["X1","7"]=v["GND"]; v["X1","2"]=v["GND"]; v["Rb","2"]=v["LVH"]; v["M1","D"]=v["LVH"]; v["M1","G"]=v["LVH"]; v["X1","3"]=v["LVH"]; v["V1","1"]=v["i"]; v["X1","1"]=v["i"]; v["Cp","1"]=v["p"]; v["Rt","1"]=v["p"]; v["Rlp","1"]=v["p"]; v["X1","5"]=v["p"]; v["Cm","1"]=v["m"]; v["Rlm","1"]=v["m"]; v["Rt","2"]=v["m"]; v["X1","4"]=v["m"]; nodeEquations={ i["Rlp","2"]+i["M1","B"]+i["M1","S"]+i["Vdd","1"]+i["X1","6"]==0, i["Rb","2"]+i["M1","D"]+i["M1","G"]+i["X1","3"]==0, i["V1","1"]+i["X1","1"]==0, i["Cp","1"]+i["Rt","1"]+i["Rlp","1"]+i["X1","5"]==0, i["Cm","1"]+i["Rlm","1"]+i["Rt","2"]+i["X1","4"]==0}; modelEquations={ model[value->a1]["A1"], capacitor[value->20p]["Cm"], capacitor[value->20p]["Cp"], resistor[value->1meg]["Rlp"], resistor[value->500k]["Rlm"], voltage_source[value->DC 3.3V]["Vdd"], vpulse[value->pulse 3.3 0 1u 10p 10p 1.25u 2.5u]["V1"], resistor[value->1k]["Rt"], resistor[value->5.6k]["Rb"], pmos_transistor[value->m1]["M1"], lvd[value->x1]["X1"]}; variables={ v["Vdd1"], v["LVH"], v["i"], v["p"], v["m"], i["Rlp","2"], i["M1","B"], i["M1","S"], i["Vdd","1"], i["X1","6"], i["Cm","2"], i["Cp","2"], i["Rlm","2"], i["Vdd","2"], i["V1","2"], i["Rb","1"], i["X1","7"], i["X1","2"], i["Rb","2"], i["M1","D"], i["M1","G"], i["X1","3"], i["V1","1"], i["X1","1"], i["Cp","1"], i["Rt","1"], i["Rlp","1"], i["X1","5"], i["Cm","1"], i["Rlm","1"], i["Rt","2"], i["X1","4"]}; geda-gaf-1.8.2/gnetlist/tests/common/outputs/mathematica/cascade.retcode0000664000175000017500000000000212050461155023304 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/mathematica/TwoStageAmp_Sort-output.net0000664000175000017500000000563512050461155025643 00000000000000v["C2","1"]=v["unnamed_net2"]; v["R8","2"]=v["unnamed_net2"]; v["R3","1"]=v["Vbase2"]; v["C2","2"]=v["Vbase2"]; v["R4","2"]=v["Vbase2"]; v["Q2","2"]=v["Vbase2"]; v["CE2","2"]=v["Vem2"]; v["RE2","2"]=v["Vem2"]; v["Q2","1"]=v["Vem2"]; v["Cout","2"]=v["Vout"]; v["RL","2"]=v["Vout"]; v["Q2","3"]=v["VColl2"]; v["Cout","1"]=v["VColl2"]; v["RC2","1"]=v["VColl2"]; v["R4","1"]=v["GND"]; v["CE2","1"]=v["GND"]; v["RE2","1"]=v["GND"]; v["VCC","2"]=v["GND"]; v["Vinput","2"]=v["GND"]; v["CE1","1"]=v["GND"]; v["RL","1"]=v["GND"]; v["RE1","1"]=v["GND"]; v["R2","1"]=v["GND"]; v["R3","2"]=v["Vcc"]; v["RC1","2"]=v["Vcc"]; v["VCC","1"]=v["Vcc"]; v["RC2","2"]=v["Vcc"]; v["R1","2"]=v["Vcc"]; v["Vinput","1"]=v["Vin"]; v["R5","1"]=v["Vin"]; v["C1","1"]=v["unnamed_net1"]; v["R5","2"]=v["unnamed_net1"]; v["C1","2"]=v["Vbase1"]; v["R2","2"]=v["Vbase1"]; v["R1","1"]=v["Vbase1"]; v["Q1","2"]=v["Vbase1"]; v["CE1","2"]=v["Vem1"]; v["RE1","2"]=v["Vem1"]; v["Q1","1"]=v["Vem1"]; v["R8","1"]=v["Vcoll1"]; v["RC1","1"]=v["Vcoll1"]; v["Q1","3"]=v["Vcoll1"]; nodeEquations={ i["C2","1"]+i["R8","2"]==0, i["R3","1"]+i["C2","2"]+i["R4","2"]+i["Q2","2"]==0, i["CE2","2"]+i["RE2","2"]+i["Q2","1"]==0, i["Cout","2"]+i["RL","2"]==0, i["Q2","3"]+i["Cout","1"]+i["RC2","1"]==0, i["R3","2"]+i["RC1","2"]+i["VCC","1"]+i["RC2","2"]+i["R1","2"]==0, i["Vinput","1"]+i["R5","1"]==0, i["C1","1"]+i["R5","2"]==0, i["C1","2"]+i["R2","2"]+i["R1","1"]+i["Q1","2"]==0, i["CE1","2"]+i["RE1","2"]+i["Q1","1"]==0, i["R8","1"]+i["RC1","1"]+i["Q1","3"]==0}; modelEquations={ capacitor[value->2.2uF]["C2"], resistor[value->2.8K]["R4"], resistor[value->28K]["R3"], resistor[value->1]["R8"], capacitor[value->1pF]["CE2"], resistor[value->100]["RE2"], resistor[value->3.3K]["RC1"], npn_transistor[value->q2]["Q2"], capacitor[value->2.2uF]["C1"], directive[value->.options TEMP=25]["A3"], include[value->a2]["A2"], model[value->a1]["A1"], voltage_source[value->DC 15V]["VCC"], vsin[value->DC 1.6V AC 10MV SIN(0 1MV 1KHZ)]["Vinput"], capacitor[value->1pF]["CE1"], capacitor[value->2.2uF]["Cout"], resistor[value->100K]["RL"], resistor[value->1K]["RC2"], resistor[value->100]["RE1"], resistor[value->2K]["R2"], resistor[value->28K]["R1"], resistor[value->10]["R5"], npn_transistor[value->q1]["Q1"]}; variables={ v["unnamed_net2"], v["Vbase2"], v["Vem2"], v["Vout"], v["VColl2"], v["Vcc"], v["Vin"], v["unnamed_net1"], v["Vbase1"], v["Vem1"], v["Vcoll1"], i["C2","1"], i["R8","2"], i["R3","1"], i["C2","2"], i["R4","2"], i["Q2","2"], i["CE2","2"], i["RE2","2"], i["Q2","1"], i["Cout","2"], i["RL","2"], i["Q2","3"], i["Cout","1"], i["RC2","1"], i["R4","1"], i["CE2","1"], i["RE2","1"], i["VCC","2"], i["Vinput","2"], i["CE1","1"], i["RL","1"], i["RE1","1"], i["R2","1"], i["R3","2"], i["RC1","2"], i["VCC","1"], i["RC2","2"], i["R1","2"], i["Vinput","1"], i["R5","1"], i["C1","1"], i["R5","2"], i["C1","2"], i["R2","2"], i["R1","1"], i["Q1","2"], i["CE1","2"], i["RE1","2"], i["Q1","1"], i["R8","1"], i["RC1","1"], i["Q1","3"]}; geda-gaf-1.8.2/gnetlist/tests/common/outputs/mathematica/singlenet-output.net0000664000175000017500000000124312050461155024420 00000000000000v["U100","1"]=v["SING_N_2"]; v["U100","3"]=v["SING_N_2"]; v["U100","7"]=v["GND"]; v["U100","14"]=v["Vcc"]; v["U100","4"]=v["SING_N"]; v["U100","5"]=v["SING_N"]; v["U100","10"]=v["SING_N"]; v["U100","8"]=v["SING_N"]; v["U100","9"]=v["SING_N"]; v["U100","6"]=v["SING_N"]; nodeEquations={ i["U100","1"]+i["U100","3"]==0, i["U100","14"]==0, i["U100","4"]+i["U100","5"]+i["U100","10"]+i["U100","8"]+i["U100","9"]+i["U100","6"]==0}; modelEquations={ 7400[value->u100]["U100"]}; variables={ v["SING_N_2"], v["Vcc"], v["SING_N"], i["U100","1"], i["U100","3"], i["U100","7"], i["U100","14"], i["U100","4"], i["U100","5"], i["U100","10"], i["U100","8"], i["U100","9"], i["U100","6"]}; geda-gaf-1.8.2/gnetlist/tests/common/outputs/mathematica/TwoStageAmp_Include.retcode0000664000175000017500000000000212050461155025557 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/mathematica/SlottedOpamps-output.net0000664000175000017500000000212112050461155025222 00000000000000v["U1","13"]=v["minusin_slot4_pin13_b"]; v["U1","12"]=v["plusin_slot4_pin12_a"]; v["U1","9"]=v["minusin_slot3_pin_b"]; v["U1","10"]=v["plusin_slot3_pin10_a"]; v["U1","6"]=v["minusin_slot2_pin6_b"]; v["U1","5"]=v["plusin_slot2_pin5_a"]; v["U1","14"]=v["samenet_output_c"]; v["U1","8"]=v["samenet_output_c"]; v["U1","7"]=v["samenet_output_c"]; v["U1","1"]=v["samenet_output_c"]; v["U1","2"]=v["minusin_slot1_pin_b"]; v["U1","3"]=v["plusin_slot1_pin3_a"]; nodeEquations={ i["U1","13"]==0, i["U1","12"]==0, i["U1","9"]==0, i["U1","10"]==0, i["U1","6"]==0, i["U1","5"]==0, i["U1","14"]+i["U1","8"]+i["U1","7"]+i["U1","1"]==0, i["U1","2"]==0, i["U1","3"]==0}; modelEquations={ lm324[value->u1]["U1"]}; variables={ v["minusin_slot4_pin13_b"], v["plusin_slot4_pin12_a"], v["minusin_slot3_pin_b"], v["plusin_slot3_pin10_a"], v["minusin_slot2_pin6_b"], v["plusin_slot2_pin5_a"], v["samenet_output_c"], v["minusin_slot1_pin_b"], v["plusin_slot1_pin3_a"], i["U1","13"], i["U1","12"], i["U1","9"], i["U1","10"], i["U1","6"], i["U1","5"], i["U1","14"], i["U1","8"], i["U1","7"], i["U1","1"], i["U1","2"], i["U1","3"]}; geda-gaf-1.8.2/gnetlist/tests/common/outputs/mathematica/TwoStageAmp_Include-output.net0000664000175000017500000000563512050461155026277 00000000000000v["C2","1"]=v["unnamed_net2"]; v["R8","2"]=v["unnamed_net2"]; v["R3","1"]=v["Vbase2"]; v["C2","2"]=v["Vbase2"]; v["R4","2"]=v["Vbase2"]; v["Q2","2"]=v["Vbase2"]; v["CE2","2"]=v["Vem2"]; v["RE2","2"]=v["Vem2"]; v["Q2","1"]=v["Vem2"]; v["Cout","2"]=v["Vout"]; v["RL","2"]=v["Vout"]; v["Q2","3"]=v["VColl2"]; v["Cout","1"]=v["VColl2"]; v["RC2","1"]=v["VColl2"]; v["R4","1"]=v["GND"]; v["CE2","1"]=v["GND"]; v["RE2","1"]=v["GND"]; v["VCC","2"]=v["GND"]; v["Vinput","2"]=v["GND"]; v["CE1","1"]=v["GND"]; v["RL","1"]=v["GND"]; v["RE1","1"]=v["GND"]; v["R2","1"]=v["GND"]; v["R3","2"]=v["Vcc"]; v["RC1","2"]=v["Vcc"]; v["VCC","1"]=v["Vcc"]; v["RC2","2"]=v["Vcc"]; v["R1","2"]=v["Vcc"]; v["Vinput","1"]=v["Vin"]; v["R5","1"]=v["Vin"]; v["C1","1"]=v["unnamed_net1"]; v["R5","2"]=v["unnamed_net1"]; v["C1","2"]=v["Vbase1"]; v["R2","2"]=v["Vbase1"]; v["R1","1"]=v["Vbase1"]; v["Q1","2"]=v["Vbase1"]; v["CE1","2"]=v["Vem1"]; v["RE1","2"]=v["Vem1"]; v["Q1","1"]=v["Vem1"]; v["R8","1"]=v["Vcoll1"]; v["RC1","1"]=v["Vcoll1"]; v["Q1","3"]=v["Vcoll1"]; nodeEquations={ i["C2","1"]+i["R8","2"]==0, i["R3","1"]+i["C2","2"]+i["R4","2"]+i["Q2","2"]==0, i["CE2","2"]+i["RE2","2"]+i["Q2","1"]==0, i["Cout","2"]+i["RL","2"]==0, i["Q2","3"]+i["Cout","1"]+i["RC2","1"]==0, i["R3","2"]+i["RC1","2"]+i["VCC","1"]+i["RC2","2"]+i["R1","2"]==0, i["Vinput","1"]+i["R5","1"]==0, i["C1","1"]+i["R5","2"]==0, i["C1","2"]+i["R2","2"]+i["R1","1"]+i["Q1","2"]==0, i["CE1","2"]+i["RE1","2"]+i["Q1","1"]==0, i["R8","1"]+i["RC1","1"]+i["Q1","3"]==0}; modelEquations={ capacitor[value->2.2uF]["C2"], resistor[value->2.8K]["R4"], resistor[value->28K]["R3"], resistor[value->1]["R8"], capacitor[value->1pF]["CE2"], resistor[value->100]["RE2"], resistor[value->3.3K]["RC1"], npn_transistor[value->q2]["Q2"], capacitor[value->2.2uF]["C1"], directive[value->.options TEMP=25]["A3"], include[value->a2]["A2"], model[value->a1]["A1"], voltage_source[value->DC 15V]["VCC"], vsin[value->DC 1.6V AC 10MV SIN(0 1MV 1KHZ)]["Vinput"], capacitor[value->1pF]["CE1"], capacitor[value->2.2uF]["Cout"], resistor[value->100K]["RL"], resistor[value->1K]["RC2"], resistor[value->100]["RE1"], resistor[value->2K]["R2"], resistor[value->28K]["R1"], resistor[value->10]["R5"], npn_transistor[value->q1]["Q1"]}; variables={ v["unnamed_net2"], v["Vbase2"], v["Vem2"], v["Vout"], v["VColl2"], v["Vcc"], v["Vin"], v["unnamed_net1"], v["Vbase1"], v["Vem1"], v["Vcoll1"], i["C2","1"], i["R8","2"], i["R3","1"], i["C2","2"], i["R4","2"], i["Q2","2"], i["CE2","2"], i["RE2","2"], i["Q2","1"], i["Cout","2"], i["RL","2"], i["Q2","3"], i["Cout","1"], i["RC2","1"], i["R4","1"], i["CE2","1"], i["RE2","1"], i["VCC","2"], i["Vinput","2"], i["CE1","1"], i["RL","1"], i["RE1","1"], i["R2","1"], i["R3","2"], i["RC1","2"], i["VCC","1"], i["RC2","2"], i["R1","2"], i["Vinput","1"], i["R5","1"], i["C1","1"], i["R5","2"], i["C1","2"], i["R2","2"], i["R1","1"], i["Q1","2"], i["CE1","2"], i["RE1","2"], i["Q1","1"], i["R8","1"], i["RC1","1"], i["Q1","3"]}; geda-gaf-1.8.2/gnetlist/tests/common/outputs/mathematica/singlenet.retcode0000664000175000017500000000000212050461155023711 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/mathematica/JD_Include.retcode0000664000175000017500000000000212050461155023661 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/mathematica/powersupply-output.net0000664000175000017500000000406312050461155025044 00000000000000v["U2","1"]=v["ten"]; v["R1","2"]=v["ten"]; v["C3","1"]=v["ten"]; v["R2","1"]=v["ten"]; v["U2","2"]=v["eleven"]; v["C4","1"]=v["eleven"]; v["R2","2"]=v["eleven"]; v["CONN1","3"]=v["GND"]; v["S1","1"]=v["one"]; v["CONN1","1"]=v["one"]; v["CONN1","2"]=v["five"]; v["T1","2"]=v["five"]; v["T1","1"]=v["three"]; v["F1","2"]=v["three"]; v["S1","2"]=v["two"]; v["F1","1"]=v["two"]; v["T1","3"]=v["six"]; v["U1","4"]=v["six"]; v["T1","4"]=v["seven"]; v["U1","3"]=v["seven"]; v["C4","2"]=v["nine"]; v["C3","2"]=v["nine"]; v["R1","3"]=v["nine"]; v["R1","1"]=v["nine"]; v["C2","2"]=v["nine"]; v["C1","2"]=v["nine"]; v["U1","2"]=v["nine"]; v["U2","3"]=v["eight"]; v["C2","1"]=v["eight"]; v["C1","1"]=v["eight"]; v["U1","1"]=v["eight"]; nodeEquations={ i["U2","1"]+i["R1","2"]+i["C3","1"]+i["R2","1"]==0, i["U2","2"]+i["C4","1"]+i["R2","2"]==0, i["S1","1"]+i["CONN1","1"]==0, i["CONN1","2"]+i["T1","2"]==0, i["T1","1"]+i["F1","2"]==0, i["S1","2"]+i["F1","1"]==0, i["T1","3"]+i["U1","4"]==0, i["T1","4"]+i["U1","3"]==0, i["C4","2"]+i["C3","2"]+i["R1","3"]+i["R1","1"]+i["C2","2"]+i["C1","2"]+i["U1","2"]==0, i["U2","3"]+i["C2","1"]+i["C1","1"]+i["U1","1"]==0}; modelEquations={ lm317[value->u2]["U2"], polarized_capacitor[value->1uf]["C4"], polarized_capacitor[value->22uF]["C3"], variable_resistor[value->5k]["R1"], polarized_capacitor[value->0.1uF]["C2"], resistor[value->220]["R2"], polarized_capacitor[value->2200uF]["C1"], spst[value->s1]["S1"], mains_connector[value->conn1]["CONN1"], transformer[value->t1]["T1"], fuse[value->f1]["F1"], diode-bridge[value->u1]["U1"]}; variables={ v["ten"], v["eleven"], v["one"], v["five"], v["three"], v["two"], v["six"], v["seven"], v["nine"], v["eight"], i["U2","1"], i["R1","2"], i["C3","1"], i["R2","1"], i["U2","2"], i["C4","1"], i["R2","2"], i["CONN1","3"], i["S1","1"], i["CONN1","1"], i["CONN1","2"], i["T1","2"], i["T1","1"], i["F1","2"], i["S1","2"], i["F1","1"], i["T1","3"], i["U1","4"], i["T1","4"], i["U1","3"], i["C4","2"], i["C3","2"], i["R1","3"], i["R1","1"], i["C2","2"], i["C1","2"], i["U1","2"], i["U2","3"], i["C2","1"], i["C1","1"], i["U1","1"]}; geda-gaf-1.8.2/gnetlist/tests/common/outputs/mathematica/netattrib-output.net0000664000175000017500000000157612050461155024435 00000000000000v["U300","2"]=v["unnamed_net1"]; v["U200","2"]=v["netattrib"]; v["U100","5"]=v["netattrib"]; v["U300","7"]=v["GND"]; v["U200","7"]=v["GND"]; v["U100","7"]=v["GND"]; v["U300","14"]=v["Vcc"]; v["U200","14"]=v["Vcc"]; v["U100","14"]=v["Vcc"]; v["F1","1"]=v["one"]; v["U300","1"]=v["one"]; v["U200","1"]=v["one"]; v["U100","3"]=v["one"]; nodeEquations={ i["U300","2"]==0, i["U200","2"]+i["U100","5"]==0, i["U300","14"]+i["U200","14"]+i["U100","14"]==0, i["F1","1"]+i["U300","1"]+i["U200","1"]+i["U100","3"]==0}; modelEquations={ fuse[value->f1]["F1"], 7404[value->u300]["U300"], 7404[value->u200]["U200"], 7400[value->u100]["U100"]}; variables={ v["unnamed_net1"], v["netattrib"], v["Vcc"], v["one"], i["U300","2"], i["U200","2"], i["U100","5"], i["U300","7"], i["U200","7"], i["U100","7"], i["U300","14"], i["U200","14"], i["U100","14"], i["F1","1"], i["U300","1"], i["U200","1"], i["U100","3"]}; geda-gaf-1.8.2/gnetlist/tests/common/outputs/mathematica/SlottedOpamps.retcode0000664000175000017500000000000212050461155024517 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/mathematica/JD.retcode0000664000175000017500000000000212050461155022216 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/mathematica/multiequal.retcode0000664000175000017500000000000212050461155024103 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/mathematica/JD_Sort_nomunge.retcode0000664000175000017500000000000212050461155024755 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/mathematica/TwoStageAmp-output.net0000664000175000017500000000563512050461155024634 00000000000000v["C2","1"]=v["unnamed_net2"]; v["R8","2"]=v["unnamed_net2"]; v["R3","1"]=v["Vbase2"]; v["C2","2"]=v["Vbase2"]; v["R4","2"]=v["Vbase2"]; v["Q2","2"]=v["Vbase2"]; v["CE2","2"]=v["Vem2"]; v["RE2","2"]=v["Vem2"]; v["Q2","1"]=v["Vem2"]; v["Cout","2"]=v["Vout"]; v["RL","2"]=v["Vout"]; v["Q2","3"]=v["VColl2"]; v["Cout","1"]=v["VColl2"]; v["RC2","1"]=v["VColl2"]; v["R4","1"]=v["GND"]; v["CE2","1"]=v["GND"]; v["RE2","1"]=v["GND"]; v["VCC","2"]=v["GND"]; v["Vinput","2"]=v["GND"]; v["CE1","1"]=v["GND"]; v["RL","1"]=v["GND"]; v["RE1","1"]=v["GND"]; v["R2","1"]=v["GND"]; v["R3","2"]=v["Vcc"]; v["RC1","2"]=v["Vcc"]; v["VCC","1"]=v["Vcc"]; v["RC2","2"]=v["Vcc"]; v["R1","2"]=v["Vcc"]; v["Vinput","1"]=v["Vin"]; v["R5","1"]=v["Vin"]; v["C1","1"]=v["unnamed_net1"]; v["R5","2"]=v["unnamed_net1"]; v["C1","2"]=v["Vbase1"]; v["R2","2"]=v["Vbase1"]; v["R1","1"]=v["Vbase1"]; v["Q1","2"]=v["Vbase1"]; v["CE1","2"]=v["Vem1"]; v["RE1","2"]=v["Vem1"]; v["Q1","1"]=v["Vem1"]; v["R8","1"]=v["Vcoll1"]; v["RC1","1"]=v["Vcoll1"]; v["Q1","3"]=v["Vcoll1"]; nodeEquations={ i["C2","1"]+i["R8","2"]==0, i["R3","1"]+i["C2","2"]+i["R4","2"]+i["Q2","2"]==0, i["CE2","2"]+i["RE2","2"]+i["Q2","1"]==0, i["Cout","2"]+i["RL","2"]==0, i["Q2","3"]+i["Cout","1"]+i["RC2","1"]==0, i["R3","2"]+i["RC1","2"]+i["VCC","1"]+i["RC2","2"]+i["R1","2"]==0, i["Vinput","1"]+i["R5","1"]==0, i["C1","1"]+i["R5","2"]==0, i["C1","2"]+i["R2","2"]+i["R1","1"]+i["Q1","2"]==0, i["CE1","2"]+i["RE1","2"]+i["Q1","1"]==0, i["R8","1"]+i["RC1","1"]+i["Q1","3"]==0}; modelEquations={ capacitor[value->2.2uF]["C2"], resistor[value->2.8K]["R4"], resistor[value->28K]["R3"], resistor[value->1]["R8"], capacitor[value->1pF]["CE2"], resistor[value->100]["RE2"], resistor[value->3.3K]["RC1"], npn_transistor[value->q2]["Q2"], capacitor[value->2.2uF]["C1"], directive[value->.options TEMP=25]["A3"], include[value->a2]["A2"], model[value->a1]["A1"], voltage_source[value->DC 15V]["VCC"], vsin[value->DC 1.6V AC 10MV SIN(0 1MV 1KHZ)]["Vinput"], capacitor[value->1pF]["CE1"], capacitor[value->2.2uF]["Cout"], resistor[value->100K]["RL"], resistor[value->1K]["RC2"], resistor[value->100]["RE1"], resistor[value->2K]["R2"], resistor[value->28K]["R1"], resistor[value->10]["R5"], npn_transistor[value->q1]["Q1"]}; variables={ v["unnamed_net2"], v["Vbase2"], v["Vem2"], v["Vout"], v["VColl2"], v["Vcc"], v["Vin"], v["unnamed_net1"], v["Vbase1"], v["Vem1"], v["Vcoll1"], i["C2","1"], i["R8","2"], i["R3","1"], i["C2","2"], i["R4","2"], i["Q2","2"], i["CE2","2"], i["RE2","2"], i["Q2","1"], i["Cout","2"], i["RL","2"], i["Q2","3"], i["Cout","1"], i["RC2","1"], i["R4","1"], i["CE2","1"], i["RE2","1"], i["VCC","2"], i["Vinput","2"], i["CE1","1"], i["RL","1"], i["RE1","1"], i["R2","1"], i["R3","2"], i["RC1","2"], i["VCC","1"], i["RC2","2"], i["R1","2"], i["Vinput","1"], i["R5","1"], i["C1","1"], i["R5","2"], i["C1","2"], i["R2","2"], i["R1","1"], i["Q1","2"], i["CE1","2"], i["RE1","2"], i["Q1","1"], i["R8","1"], i["RC1","1"], i["Q1","3"]}; geda-gaf-1.8.2/gnetlist/tests/common/outputs/mathematica/JD_Include_nomunge.retcode0000664000175000017500000000000212050461155025411 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/switcap/0000775000175000017500000000000012220655760017645 500000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/switcap/JD_Include_nomunge-output.net0000664000175000017500000000037512204066537025330 00000000000000/* Switcap netlist produced by gnetlist (part of gEDA) */ /* See http://www.geda-project.org/ for more information. */ /* Switcap backend written by Dan McMahill */ TIMING; END; CIRCUIT; END; /* End of SWITCAP netlist */ END; geda-gaf-1.8.2/gnetlist/tests/common/outputs/switcap/JD-output.net0000664000175000017500000000037512204066537022135 00000000000000/* Switcap netlist produced by gnetlist (part of gEDA) */ /* See http://www.geda-project.org/ for more information. */ /* Switcap backend written by Dan McMahill */ TIMING; END; CIRCUIT; END; /* End of SWITCAP netlist */ END; geda-gaf-1.8.2/gnetlist/tests/common/outputs/switcap/TwoStageAmp.retcode0000664000175000017500000000000212050461155023311 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/switcap/stack-torture-output.net0000664000175000017500000000037512204066537024447 00000000000000/* Switcap netlist produced by gnetlist (part of gEDA) */ /* See http://www.geda-project.org/ for more information. */ /* Switcap backend written by Dan McMahill */ TIMING; END; CIRCUIT; END; /* End of SWITCAP netlist */ END; geda-gaf-1.8.2/gnetlist/tests/common/outputs/switcap/JD_Sort.retcode0000664000175000017500000000000212050461155022422 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/switcap/cascade-output.net0000664000175000017500000000037512204066537023223 00000000000000/* Switcap netlist produced by gnetlist (part of gEDA) */ /* See http://www.geda-project.org/ for more information. */ /* Switcap backend written by Dan McMahill */ TIMING; END; CIRCUIT; END; /* End of SWITCAP netlist */ END; geda-gaf-1.8.2/gnetlist/tests/common/outputs/switcap/multiequal-output.net0000664000175000017500000000037512204066537024022 00000000000000/* Switcap netlist produced by gnetlist (part of gEDA) */ /* See http://www.geda-project.org/ for more information. */ /* Switcap backend written by Dan McMahill */ TIMING; END; CIRCUIT; END; /* End of SWITCAP netlist */ END; geda-gaf-1.8.2/gnetlist/tests/common/outputs/switcap/JD_nomunge-output.net0000664000175000017500000000037512204066537023665 00000000000000/* Switcap netlist produced by gnetlist (part of gEDA) */ /* See http://www.geda-project.org/ for more information. */ /* Switcap backend written by Dan McMahill */ TIMING; END; CIRCUIT; END; /* End of SWITCAP netlist */ END; geda-gaf-1.8.2/gnetlist/tests/common/outputs/switcap/stack-torture.retcode0000664000175000017500000000000212063576065023740 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/switcap/powersupply.retcode0000664000175000017500000000000212050461155023527 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/switcap/JD_Sort_nomunge-output.net0000664000175000017500000000037512204066537024674 00000000000000/* Switcap netlist produced by gnetlist (part of gEDA) */ /* See http://www.geda-project.org/ for more information. */ /* Switcap backend written by Dan McMahill */ TIMING; END; CIRCUIT; END; /* End of SWITCAP netlist */ END; geda-gaf-1.8.2/gnetlist/tests/common/outputs/switcap/TwoStageAmp_Sort.retcode0000664000175000017500000000000212050461155024320 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/switcap/netattrib.retcode0000664000175000017500000000000212050461155023112 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/switcap/JD_nomunge.retcode0000664000175000017500000000000212050461155023143 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/switcap/JD_Include-output.net0000664000175000017500000000037512204066537023600 00000000000000/* Switcap netlist produced by gnetlist (part of gEDA) */ /* See http://www.geda-project.org/ for more information. */ /* Switcap backend written by Dan McMahill */ TIMING; END; CIRCUIT; END; /* End of SWITCAP netlist */ END; geda-gaf-1.8.2/gnetlist/tests/common/outputs/switcap/JD_Sort-output.net0000664000175000017500000000037512204066537023144 00000000000000/* Switcap netlist produced by gnetlist (part of gEDA) */ /* See http://www.geda-project.org/ for more information. */ /* Switcap backend written by Dan McMahill */ TIMING; END; CIRCUIT; END; /* End of SWITCAP netlist */ END; geda-gaf-1.8.2/gnetlist/tests/common/outputs/switcap/cascade.retcode0000664000175000017500000000000212050461155022501 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/switcap/TwoStageAmp_Sort-output.net0000664000175000017500000000037512204066537025042 00000000000000/* Switcap netlist produced by gnetlist (part of gEDA) */ /* See http://www.geda-project.org/ for more information. */ /* Switcap backend written by Dan McMahill */ TIMING; END; CIRCUIT; END; /* End of SWITCAP netlist */ END; geda-gaf-1.8.2/gnetlist/tests/common/outputs/switcap/singlenet-output.net0000664000175000017500000000037512204066537023630 00000000000000/* Switcap netlist produced by gnetlist (part of gEDA) */ /* See http://www.geda-project.org/ for more information. */ /* Switcap backend written by Dan McMahill */ TIMING; END; CIRCUIT; END; /* End of SWITCAP netlist */ END; geda-gaf-1.8.2/gnetlist/tests/common/outputs/switcap/TwoStageAmp_Include.retcode0000664000175000017500000000000212050461155024754 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/switcap/SlottedOpamps-output.net0000664000175000017500000000000012050461155024411 00000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/switcap/TwoStageAmp_Include-output.net0000664000175000017500000000037512204066537025476 00000000000000/* Switcap netlist produced by gnetlist (part of gEDA) */ /* See http://www.geda-project.org/ for more information. */ /* Switcap backend written by Dan McMahill */ TIMING; END; CIRCUIT; END; /* End of SWITCAP netlist */ END; geda-gaf-1.8.2/gnetlist/tests/common/outputs/switcap/singlenet.retcode0000664000175000017500000000000212050461155023106 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/switcap/JD_Include.retcode0000664000175000017500000000000212050461155023056 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/switcap/powersupply-output.net0000664000175000017500000000037512204066537024251 00000000000000/* Switcap netlist produced by gnetlist (part of gEDA) */ /* See http://www.geda-project.org/ for more information. */ /* Switcap backend written by Dan McMahill */ TIMING; END; CIRCUIT; END; /* End of SWITCAP netlist */ END; geda-gaf-1.8.2/gnetlist/tests/common/outputs/switcap/netattrib-output.net0000664000175000017500000000037512204066537023634 00000000000000/* Switcap netlist produced by gnetlist (part of gEDA) */ /* See http://www.geda-project.org/ for more information. */ /* Switcap backend written by Dan McMahill */ TIMING; END; CIRCUIT; END; /* End of SWITCAP netlist */ END; geda-gaf-1.8.2/gnetlist/tests/common/outputs/switcap/SlottedOpamps.retcode0000664000175000017500000000000212050461155023714 000000000000001 geda-gaf-1.8.2/gnetlist/tests/common/outputs/switcap/JD.retcode0000664000175000017500000000000212050461155021413 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/switcap/multiequal.retcode0000664000175000017500000000000212050461155023300 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/switcap/JD_Sort_nomunge.retcode0000664000175000017500000000000212050461155024152 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/switcap/TwoStageAmp-output.net0000664000175000017500000000037512204066537024033 00000000000000/* Switcap netlist produced by gnetlist (part of gEDA) */ /* See http://www.geda-project.org/ for more information. */ /* Switcap backend written by Dan McMahill */ TIMING; END; CIRCUIT; END; /* End of SWITCAP netlist */ END; geda-gaf-1.8.2/gnetlist/tests/common/outputs/switcap/JD_Include_nomunge.retcode0000664000175000017500000000000212050461155024606 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom/0000775000175000017500000000000012220655756016755 500000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom/JD-output.net0000664000175000017500000000046312050461155021230 00000000000000refdes refdes value device A1 A1 unknown model Cm Cm 20p CAPACITOR Cp Cp 20p CAPACITOR Rlp Rlp 1meg RESISTOR Rlm Rlm 500k RESISTOR Vdd Vdd DC 3.3V VOLTAGE_SOURCE V1 V1 pulse 3.3 0 1u 10p 10p 1.25u 2.5u vpulse Rt Rt 1k RESISTOR Rb Rb 5.6k RESISTOR M1 M1 unknown PMOS_TRANSISTOR X1 X1 unknown LVD geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom/TwoStageAmp.retcode0000664000175000017500000000000212050461155022414 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom/stack-torture-output.net0000664000175000017500000000006512063576065023553 00000000000000refdes refdes value device C? C? unknown CAPACITOR geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom/JD_Sort.retcode0000664000175000017500000000000212063576065021540 000000000000001 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom/cascade-output.net0000664000175000017500000000046612050461155022321 00000000000000refdes refdes value device AMP2 AMP2 unknown cascade-amp T1 T1 unknown cascade-transformer MX1 MX1 unknown cascade-mixer FL1 FL1 unknown cascade-filter DEF1 DEF1 unknown cascade-defaults AMP1 AMP1 unknown cascade-amp SOURCE SOURCE unknown cascade-source DEFAULTS DEFAULTS unknown cascade-defaults-top geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom/multiequal-output.net0000664000175000017500000000014712050461155023114 00000000000000refdes refdes value device V1 V1 DC 1V VOLTAGE_SOURCE R1 R1 20 RESISTOR A1 A1 abotol=1e-11 options geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom/stack-torture.retcode0000664000175000017500000000000212063576065023043 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom/powersupply.retcode0000664000175000017500000000000212050461155022632 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom/TwoStageAmp_Sort.retcode0000664000175000017500000000000212063576065023436 000000000000001 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom/netattrib.retcode0000664000175000017500000000000212050461155022215 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom/JD_nomunge.retcode0000664000175000017500000000000212063576065022261 000000000000001 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom/cascade.retcode0000664000175000017500000000000212050461155021604 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom/singlenet-output.net0000664000175000017500000000006412050461155022720 00000000000000refdes refdes value device U100 U100 unknown 7400 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom/TwoStageAmp_Include.retcode0000664000175000017500000000000212063576065024072 000000000000001 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom/SlottedOpamps-output.net0000664000175000017500000000006112050461155023523 00000000000000refdes refdes value device U1 U1 unknown LM324 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom/singlenet.retcode0000664000175000017500000000000212050461155022211 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom/JD_Include.retcode0000664000175000017500000000000212063576065022174 000000000000001 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom/powersupply-output.net0000664000175000017500000000054712050461155023347 00000000000000refdes refdes value device U2 U2 unknown LM317 C4 C4 1uf POLARIZED_CAPACITOR C3 C3 22uF POLARIZED_CAPACITOR R1 R1 5k VARIABLE_RESISTOR C2 C2 0.1uF POLARIZED_CAPACITOR R2 R2 220 RESISTOR C1 C1 2200uF POLARIZED_CAPACITOR S1 S1 unknown SPST CONN1 CONN1 unknown MAINS_CONNECTOR T1 T1 unknown transformer F1 F1 unknown FUSE U1 U1 unknown DIODE-BRIDGE geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom/netattrib-output.net0000664000175000017500000000017012050461155022722 00000000000000refdes refdes value device F1 F1 unknown FUSE U300 U300 unknown 7404 U200 U200 unknown 7404 U100 U100 unknown 7400 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom/SlottedOpamps.retcode0000664000175000017500000000000212050461155023017 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom/JD.retcode0000664000175000017500000000000212050461155020516 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom/multiequal.retcode0000664000175000017500000000000212050461155022403 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom/JD_Sort_nomunge.retcode0000664000175000017500000000000212063576065023270 000000000000001 geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom/TwoStageAmp-output.net0000664000175000017500000000112212050461155023117 00000000000000refdes refdes value device C2 C2 2.2uF CAPACITOR R4 R4 2.8K RESISTOR R3 R3 28K RESISTOR R8 R8 1 RESISTOR CE2 CE2 1pF CAPACITOR RE2 RE2 100 RESISTOR RC1 RC1 3.3K RESISTOR Q2 Q2 unknown NPN_TRANSISTOR C1 C1 2.2uF CAPACITOR A3 A3 .options TEMP=25 directive A2 A2 unknown include A1 A1 unknown model VCC VCC DC 15V VOLTAGE_SOURCE Vinput Vinput DC 1.6V AC 10MV SIN(0 1MV 1KHZ) vsin CE1 CE1 1pF CAPACITOR Cout Cout 2.2uF CAPACITOR RL RL 100K RESISTOR RC2 RC2 1K RESISTOR RE1 RE1 100 RESISTOR R2 R2 2K RESISTOR R1 R1 28K RESISTOR R5 R5 10 RESISTOR Q1 Q1 unknown NPN_TRANSISTOR geda-gaf-1.8.2/gnetlist/tests/common/outputs/bom/JD_Include_nomunge.retcode0000664000175000017500000000000212063576065023724 000000000000001 geda-gaf-1.8.2/gnetlist/tests/common/outputs/redac/0000775000175000017500000000000012220655757017257 500000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/redac/JD_Include_nomunge-output.net0000664000175000017500000000040512050461155024720 00000000000000.PCB .REM CREATED BY gEDA GNETLIST .CON .COD 2 .REM Vdd1 Rlp 2 M1 B M1 S Vdd 1 X1 6 .REM GND Cm 2 Cp 2 Rlm 2 Vdd 2 V1 2 Rb 1 X1 7 X1 2 .REM LVH Rb 2 M1 D M1 G X1 3 .REM i V1 1 X1 1 .REM p Cp 1 Rt 1 Rlp 1 X1 5 .REM m Cm 1 Rlm 1 Rt 2 X1 4 .EOD geda-gaf-1.8.2/gnetlist/tests/common/outputs/redac/JD-output.net0000664000175000017500000000040512050461155021525 00000000000000.PCB .REM CREATED BY gEDA GNETLIST .CON .COD 2 .REM Vdd1 Rlp 2 M1 B M1 S Vdd 1 X1 6 .REM GND Cm 2 Cp 2 Rlm 2 Vdd 2 V1 2 Rb 1 X1 7 X1 2 .REM LVH Rb 2 M1 D M1 G X1 3 .REM i V1 1 X1 1 .REM p Cp 1 Rt 1 Rlp 1 X1 5 .REM m Cm 1 Rlm 1 Rt 2 X1 4 .EOD geda-gaf-1.8.2/gnetlist/tests/common/outputs/redac/TwoStageAmp.retcode0000664000175000017500000000000212050461155022715 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/redac/stack-torture-output.net0000664000175000017500000007731112063576065024064 00000000000000.PCB .REM CREATED BY gEDA GNETLIST .CON .COD 2 .REM unnamed_net1025 C? 2 .REM unnamed_net1024 C? 1 C? 2 .REM unnamed_net1023 C? 1 C? 2 .REM unnamed_net1022 C? 2 .REM unnamed_net1021 C? 1 C? 2 .REM unnamed_net1020 C? 2 .REM unnamed_net1019 C? 1 C? 2 .REM unnamed_net1018 C? 1 C? 2 .REM unnamed_net1017 C? 1 C? 2 .REM unnamed_net1016 C? 1 C? 2 .REM unnamed_net1015 C? 1 C? 2 .REM unnamed_net1014 C? 1 C? 2 .REM unnamed_net1013 C? 1 C? 2 .REM unnamed_net1012 C? 2 .REM unnamed_net1011 C? 1 C? 2 .REM unnamed_net1010 C? 1 C? 2 .REM unnamed_net1009 C? 2 .REM unnamed_net1008 C? 1 C? 2 .REM unnamed_net1007 C? 1 C? 2 .REM unnamed_net1006 C? 1 C? 2 .REM unnamed_net1005 C? 1 C? 2 .REM unnamed_net1004 C? 1 C? 2 .REM unnamed_net1003 C? 1 C? 2 .REM unnamed_net1002 C? 1 C? 2 .REM unnamed_net1001 C? 1 C? 2 .REM unnamed_net1000 C? 1 C? 2 .REM unnamed_net999 C? 2 .REM unnamed_net998 C? 1 C? 2 .REM unnamed_net997 C? 1 C? 2 .REM unnamed_net996 C? 1 C? 2 .REM unnamed_net995 C? 1 C? 2 .REM unnamed_net994 C? 1 C? 2 .REM unnamed_net993 C? 1 C? 2 .REM unnamed_net992 C? 2 .REM unnamed_net991 C? 1 C? 2 .REM unnamed_net990 C? 1 C? 2 .REM unnamed_net989 C? 1 C? 2 .REM unnamed_net988 C? 1 C? 2 .REM unnamed_net987 C? 1 C? 2 .REM unnamed_net986 C? 1 C? 2 .REM unnamed_net985 C? 1 C? 2 .REM unnamed_net984 C? 1 C? 2 .REM unnamed_net983 C? 1 C? 2 .REM unnamed_net982 C? 1 C? 2 .REM unnamed_net981 C? 1 C? 2 .REM unnamed_net980 C? 1 C? 2 .REM unnamed_net979 C? 1 C? 2 .REM unnamed_net978 C? 1 C? 2 .REM unnamed_net977 C? 1 C? 2 .REM unnamed_net976 C? 1 C? 2 .REM unnamed_net975 C? 1 C? 2 .REM unnamed_net974 C? 1 C? 2 .REM unnamed_net973 C? 1 C? 2 .REM unnamed_net972 C? 1 C? 2 .REM unnamed_net971 C? 1 C? 2 .REM unnamed_net970 C? 1 C? 2 .REM unnamed_net969 C? 1 C? 2 .REM unnamed_net968 C? 2 .REM unnamed_net967 C? 1 C? 2 .REM unnamed_net966 C? 1 C? 2 .REM unnamed_net965 C? 2 .REM unnamed_net964 C? 1 C? 2 .REM unnamed_net963 C? 1 C? 2 .REM unnamed_net962 C? 1 C? 2 .REM unnamed_net961 C? 1 C? 2 .REM unnamed_net960 C? 1 C? 2 .REM unnamed_net959 C? 1 C? 2 .REM unnamed_net958 C? 1 C? 2 .REM unnamed_net957 C? 1 C? 2 .REM unnamed_net956 C? 1 C? 2 .REM unnamed_net955 C? 1 C? 2 .REM unnamed_net954 C? 2 .REM unnamed_net953 C? 1 C? 2 .REM unnamed_net952 C? 1 C? 2 .REM unnamed_net951 C? 2 .REM unnamed_net950 C? 1 C? 2 .REM unnamed_net949 C? 1 C? 2 .REM unnamed_net948 C? 1 C? 2 .REM unnamed_net947 C? 1 C? 2 .REM unnamed_net946 C? 1 C? 2 .REM unnamed_net945 C? 1 C? 2 .REM unnamed_net944 C? 1 C? 2 .REM unnamed_net943 C? 1 C? 2 .REM unnamed_net942 C? 1 C? 2 .REM unnamed_net941 C? 1 C? 2 .REM unnamed_net940 C? 1 C? 2 .REM unnamed_net939 C? 1 C? 2 .REM unnamed_net938 C? 1 C? 2 .REM unnamed_net937 C? 1 C? 2 .REM unnamed_net936 C? 1 C? 2 .REM unnamed_net935 C? 1 C? 2 .REM unnamed_net934 C? 1 C? 2 .REM unnamed_net933 C? 1 C? 2 .REM unnamed_net932 C? 1 C? 2 .REM unnamed_net931 C? 1 C? 2 .REM unnamed_net930 C? 1 C? 2 .REM unnamed_net929 C? 1 C? 2 .REM unnamed_net928 C? 1 C? 2 .REM unnamed_net927 C? 1 C? 2 .REM unnamed_net926 C? 1 C? 2 .REM unnamed_net925 C? 1 C? 2 .REM unnamed_net924 C? 1 C? 2 .REM unnamed_net923 C? 1 C? 2 .REM unnamed_net922 C? 1 C? 2 .REM unnamed_net921 C? 1 C? 2 .REM unnamed_net920 C? 1 C? 2 .REM unnamed_net919 C? 1 C? 2 .REM unnamed_net918 C? 1 C? 2 .REM unnamed_net917 C? 1 C? 2 .REM unnamed_net916 C? 1 C? 2 .REM unnamed_net915 C? 1 C? 2 .REM unnamed_net914 C? 1 C? 2 .REM unnamed_net913 C? 1 C? 2 .REM unnamed_net912 C? 1 C? 2 .REM unnamed_net911 C? 1 C? 2 .REM unnamed_net910 C? 1 C? 2 .REM unnamed_net909 C? 2 .REM unnamed_net908 C? 1 C? 2 .REM unnamed_net907 C? 1 C? 2 .REM unnamed_net906 C? 1 C? 2 .REM unnamed_net905 C? 1 C? 2 .REM unnamed_net904 C? 1 C? 2 .REM unnamed_net903 C? 1 C? 2 .REM unnamed_net902 C? 2 .REM unnamed_net901 C? 1 C? 2 .REM unnamed_net900 C? 1 C? 2 .REM unnamed_net899 C? 1 C? 2 .REM unnamed_net898 C? 1 C? 2 .REM unnamed_net897 C? 1 C? 2 .REM unnamed_net896 C? 1 C? 2 .REM unnamed_net895 C? 1 C? 2 .REM unnamed_net894 C? 1 C? 2 .REM unnamed_net893 C? 1 C? 2 .REM unnamed_net892 C? 1 C? 2 .REM unnamed_net891 C? 1 C? 2 .REM unnamed_net890 C? 1 C? 2 .REM unnamed_net889 C? 1 C? 2 .REM unnamed_net888 C? 1 C? 2 .REM unnamed_net887 C? 1 C? 2 .REM unnamed_net886 C? 1 C? 2 .REM unnamed_net885 C? 1 C? 2 .REM unnamed_net884 C? 1 C? 2 .REM unnamed_net883 C? 1 C? 2 .REM unnamed_net882 C? 1 C? 2 .REM unnamed_net881 C? 1 C? 2 .REM unnamed_net880 C? 1 C? 2 .REM unnamed_net879 C? 2 .REM unnamed_net878 C? 1 C? 2 .REM unnamed_net877 C? 1 C? 2 .REM unnamed_net876 C? 1 C? 2 .REM unnamed_net875 C? 1 C? 2 .REM unnamed_net874 C? 1 C? 2 .REM unnamed_net873 C? 1 C? 2 .REM unnamed_net872 C? 2 .REM unnamed_net871 C? 1 C? 2 .REM unnamed_net870 C? 1 C? 2 .REM unnamed_net869 C? 1 C? 2 .REM unnamed_net868 C? 1 C? 2 .REM unnamed_net867 C? 1 C? 2 .REM unnamed_net866 C? 1 C? 2 .REM unnamed_net865 C? 1 C? 2 .REM unnamed_net864 C? 1 C? 2 .REM unnamed_net863 C? 1 C? 2 .REM unnamed_net862 C? 1 C? 2 .REM unnamed_net861 C? 1 C? 2 .REM unnamed_net860 C? 1 C? 2 .REM unnamed_net859 C? 1 C? 2 .REM unnamed_net858 C? 1 C? 2 .REM unnamed_net857 C? 1 C? 2 .REM unnamed_net856 C? 1 C? 2 .REM unnamed_net855 C? 1 C? 2 .REM unnamed_net854 C? 1 C? 2 .REM unnamed_net853 C? 1 C? 2 .REM unnamed_net852 C? 1 C? 2 .REM unnamed_net851 C? 1 C? 2 .REM unnamed_net850 C? 1 C? 2 .REM unnamed_net849 C? 1 C? 2 .REM unnamed_net848 C? 1 C? 2 .REM unnamed_net847 C? 1 C? 2 .REM unnamed_net846 C? 1 C? 2 .REM unnamed_net845 C? 1 C? 2 .REM unnamed_net844 C? 1 C? 2 .REM unnamed_net843 C? 1 C? 2 .REM unnamed_net842 C? 1 C? 2 .REM unnamed_net841 C? 1 C? 2 .REM unnamed_net840 C? 1 C? 2 .REM unnamed_net839 C? 1 C? 2 .REM unnamed_net838 C? 1 C? 2 .REM unnamed_net837 C? 1 C? 2 .REM unnamed_net836 C? 1 C? 2 .REM unnamed_net835 C? 1 C? 2 .REM unnamed_net834 C? 1 C? 2 .REM unnamed_net833 C? 1 C? 2 .REM unnamed_net832 C? 1 C? 2 .REM unnamed_net831 C? 1 C? 2 .REM unnamed_net830 C? 1 C? 2 .REM unnamed_net829 C? 1 C? 2 .REM unnamed_net828 C? 1 C? 2 .REM unnamed_net827 C? 1 C? 2 .REM unnamed_net826 C? 1 C? 2 .REM unnamed_net825 C? 1 C? 2 .REM unnamed_net824 C? 1 C? 2 .REM unnamed_net823 C? 1 C? 2 .REM unnamed_net822 C? 1 C? 2 .REM unnamed_net821 C? 1 C? 2 .REM unnamed_net820 C? 1 C? 2 .REM unnamed_net819 C? 1 C? 2 .REM unnamed_net818 C? 1 C? 2 .REM unnamed_net817 C? 1 C? 2 .REM unnamed_net816 C? 1 C? 2 .REM unnamed_net815 C? 1 C? 2 .REM unnamed_net814 C? 1 C? 2 .REM unnamed_net813 C? 1 C? 2 .REM unnamed_net812 C? 1 C? 2 .REM unnamed_net811 C? 1 C? 2 .REM unnamed_net810 C? 1 C? 2 .REM unnamed_net809 C? 1 C? 2 .REM unnamed_net808 C? 1 C? 2 .REM unnamed_net807 C? 1 C? 2 .REM unnamed_net806 C? 1 C? 2 .REM unnamed_net805 C? 1 C? 2 .REM unnamed_net804 C? 1 C? 2 .REM unnamed_net803 C? 1 C? 2 .REM unnamed_net802 C? 1 C? 2 .REM unnamed_net801 C? 1 C? 2 .REM unnamed_net800 C? 1 C? 2 .REM unnamed_net799 C? 1 C? 2 .REM unnamed_net798 C? 1 C? 2 .REM unnamed_net797 C? 1 C? 2 .REM unnamed_net796 C? 1 C? 2 .REM unnamed_net795 C? 1 C? 2 .REM unnamed_net794 C? 1 C? 2 .REM unnamed_net793 C? 1 C? 2 .REM unnamed_net792 C? 1 C? 2 .REM unnamed_net791 C? 1 C? 2 .REM unnamed_net790 C? 1 C? 2 .REM unnamed_net789 C? 1 C? 2 .REM unnamed_net788 C? 1 C? 2 .REM unnamed_net787 C? 1 C? 2 .REM unnamed_net786 C? 1 C? 2 .REM unnamed_net785 C? 1 C? 2 .REM unnamed_net784 C? 2 .REM unnamed_net783 C? 1 C? 2 .REM unnamed_net782 C? 1 C? 2 .REM unnamed_net781 C? 2 .REM unnamed_net780 C? 1 C? 2 .REM unnamed_net779 C? 1 C? 2 .REM unnamed_net778 C? 1 C? 2 .REM unnamed_net777 C? 1 C? 2 .REM unnamed_net776 C? 1 C? 2 .REM unnamed_net775 C? 1 C? 2 .REM unnamed_net774 C? 1 C? 2 .REM unnamed_net773 C? 1 C? 2 .REM unnamed_net772 C? 1 C? 2 .REM unnamed_net771 C? 1 C? 2 .REM unnamed_net770 C? 2 .REM unnamed_net769 C? 1 C? 2 .REM unnamed_net768 C? 1 C? 2 .REM unnamed_net767 C? 2 .REM unnamed_net766 C? 1 C? 2 .REM unnamed_net765 C? 1 C? 2 .REM unnamed_net764 C? 1 C? 2 .REM unnamed_net763 C? 1 C? 2 .REM unnamed_net762 C? 1 C? 2 .REM unnamed_net761 C? 1 C? 2 .REM unnamed_net760 C? 1 C? 2 .REM unnamed_net759 C? 1 C? 2 .REM unnamed_net758 C? 1 C? 2 .REM unnamed_net757 C? 1 C? 2 .REM unnamed_net756 C? 1 C? 2 .REM unnamed_net755 C? 1 C? 2 .REM unnamed_net754 C? 1 C? 2 .REM unnamed_net753 C? 1 C? 2 .REM unnamed_net752 C? 1 C? 2 .REM unnamed_net751 C? 1 C? 2 .REM unnamed_net750 C? 1 C? 2 .REM unnamed_net749 C? 1 C? 2 .REM unnamed_net748 C? 1 C? 2 .REM unnamed_net747 C? 1 C? 2 .REM unnamed_net746 C? 1 C? 2 .REM unnamed_net745 C? 1 C? 2 .REM unnamed_net744 C? 1 C? 2 .REM unnamed_net743 C? 1 C? 2 .REM unnamed_net742 C? 1 C? 2 .REM unnamed_net741 C? 1 C? 2 .REM unnamed_net740 C? 1 C? 2 .REM unnamed_net739 C? 1 C? 2 .REM unnamed_net738 C? 1 C? 2 .REM unnamed_net737 C? 1 C? 2 .REM unnamed_net736 C? 1 C? 2 .REM unnamed_net735 C? 1 C? 2 .REM unnamed_net734 C? 1 C? 2 .REM unnamed_net733 C? 1 C? 2 .REM unnamed_net732 C? 1 C? 2 .REM unnamed_net731 C? 1 C? 2 .REM unnamed_net730 C? 1 C? 2 .REM unnamed_net729 C? 1 C? 2 .REM unnamed_net728 C? 1 C? 2 .REM unnamed_net727 C? 1 C? 2 .REM unnamed_net726 C? 1 C? 2 .REM unnamed_net725 C? 1 C? 2 .REM unnamed_net724 C? 2 .REM unnamed_net723 C? 1 C? 2 .REM unnamed_net722 C? 1 C? 2 .REM unnamed_net721 C? 2 .REM unnamed_net720 C? 1 C? 2 .REM unnamed_net719 C? 1 C? 2 .REM unnamed_net718 C? 1 C? 2 .REM unnamed_net717 C? 1 C? 2 .REM unnamed_net716 C? 1 C? 2 .REM unnamed_net715 C? 1 C? 2 .REM unnamed_net714 C? 1 C? 2 .REM unnamed_net713 C? 1 C? 2 .REM unnamed_net712 C? 1 C? 2 .REM unnamed_net711 C? 1 C? 2 .REM unnamed_net710 C? 2 .REM unnamed_net709 C? 1 C? 2 .REM unnamed_net708 C? 1 C? 2 .REM unnamed_net707 C? 2 .REM unnamed_net706 C? 1 .REM unnamed_net705 C? 1 C? 2 .REM unnamed_net704 C? 1 C? 2 .REM unnamed_net703 C? 1 C? 2 .REM unnamed_net702 C? 1 C? 2 .REM unnamed_net701 C? 1 C? 2 .REM unnamed_net700 C? 1 C? 2 .REM unnamed_net699 C? 1 C? 2 .REM unnamed_net698 C? 1 C? 2 .REM unnamed_net697 C? 1 .REM unnamed_net696 C? 1 C? 2 .REM unnamed_net695 C? 1 C? 2 .REM unnamed_net694 C? 1 C? 2 .REM unnamed_net693 C? 1 C? 2 .REM unnamed_net692 C? 1 C? 2 .REM unnamed_net691 C? 1 C? 2 .REM unnamed_net690 C? 1 C? 2 .REM unnamed_net689 C? 1 C? 2 .REM unnamed_net688 C? 1 C? 2 .REM unnamed_net687 C? 1 C? 2 .REM unnamed_net686 C? 1 C? 2 .REM unnamed_net685 C? 1 C? 2 .REM unnamed_net684 C? 1 C? 2 .REM unnamed_net683 C? 1 C? 2 .REM unnamed_net682 C? 1 C? 2 .REM unnamed_net681 C? 1 C? 2 .REM unnamed_net680 C? 1 C? 2 .REM unnamed_net679 C? 1 C? 2 .REM unnamed_net678 C? 1 C? 2 .REM unnamed_net677 C? 1 C? 2 .REM unnamed_net676 C? 1 C? 2 .REM unnamed_net675 C? 1 C? 2 .REM unnamed_net674 C? 1 C? 2 .REM unnamed_net673 C? 1 C? 2 .REM unnamed_net672 C? 1 .REM unnamed_net671 C? 1 C? 2 .REM unnamed_net670 C? 1 C? 2 .REM unnamed_net669 C? 1 C? 2 .REM unnamed_net668 C? 1 C? 2 .REM unnamed_net667 C? 1 C? 2 .REM unnamed_net666 C? 1 C? 2 .REM unnamed_net665 C? 1 C? 2 .REM unnamed_net664 C? 1 C? 2 .REM unnamed_net663 C? 1 .REM unnamed_net662 C? 1 C? 2 .REM unnamed_net661 C? 1 C? 2 .REM unnamed_net660 C? 1 C? 2 .REM unnamed_net659 C? 1 C? 2 .REM unnamed_net658 C? 1 C? 2 .REM unnamed_net657 C? 1 C? 2 .REM unnamed_net656 C? 1 C? 2 .REM unnamed_net655 C? 1 C? 2 .REM unnamed_net654 C? 1 C? 2 .REM unnamed_net653 C? 1 C? 2 .REM unnamed_net652 C? 1 C? 2 .REM unnamed_net651 C? 1 C? 2 .REM unnamed_net650 C? 1 C? 2 .REM unnamed_net649 C? 1 C? 2 .REM unnamed_net648 C? 1 C? 2 .REM unnamed_net647 C? 1 C? 2 .REM unnamed_net646 C? 1 C? 2 .REM unnamed_net645 C? 1 C? 2 .REM unnamed_net644 C? 1 C? 2 .REM unnamed_net643 C? 1 C? 2 .REM unnamed_net642 C? 1 C? 2 .REM unnamed_net641 C? 1 C? 2 .REM unnamed_net640 C? 1 C? 2 .REM unnamed_net639 C? 1 C? 2 .REM unnamed_net638 C? 1 C? 2 .REM unnamed_net637 C? 1 C? 2 .REM unnamed_net636 C? 1 C? 2 .REM unnamed_net635 C? 1 C? 2 .REM unnamed_net634 C? 1 C? 2 .REM unnamed_net633 C? 1 C? 2 .REM unnamed_net632 C? 1 C? 2 .REM unnamed_net631 C? 1 C? 2 .REM unnamed_net630 C? 1 C? 2 .REM unnamed_net629 C? 1 C? 2 .REM unnamed_net628 C? 1 C? 2 .REM unnamed_net627 C? 1 C? 2 .REM unnamed_net626 C? 1 C? 2 .REM unnamed_net625 C? 1 C? 2 .REM unnamed_net624 C? 1 C? 2 .REM unnamed_net623 C? 1 C? 2 .REM unnamed_net622 C? 1 C? 2 .REM unnamed_net621 C? 1 C? 2 .REM unnamed_net620 C? 1 C? 2 .REM unnamed_net619 C? 1 C? 2 .REM unnamed_net618 C? 1 C? 2 .REM unnamed_net617 C? 1 C? 2 .REM unnamed_net616 C? 1 C? 2 .REM unnamed_net615 C? 1 C? 2 .REM unnamed_net614 C? 1 C? 2 .REM unnamed_net613 C? 1 C? 2 .REM unnamed_net612 C? 1 C? 2 .REM unnamed_net611 C? 1 C? 2 .REM unnamed_net610 C? 1 C? 2 .REM unnamed_net609 C? 1 C? 2 .REM unnamed_net608 C? 1 C? 2 .REM unnamed_net607 C? 1 C? 2 .REM unnamed_net606 C? 1 C? 2 .REM unnamed_net605 C? 1 C? 2 .REM unnamed_net604 C? 1 C? 2 .REM unnamed_net603 C? 1 C? 2 .REM unnamed_net602 C? 1 C? 2 .REM unnamed_net601 C? 1 C? 2 .REM unnamed_net600 C? 1 C? 2 .REM unnamed_net599 C? 1 C? 2 .REM unnamed_net598 C? 1 C? 2 .REM unnamed_net597 C? 1 C? 2 .REM unnamed_net596 C? 1 C? 2 .REM unnamed_net595 C? 1 C? 2 .REM unnamed_net594 C? 1 C? 2 .REM unnamed_net593 C? 1 C? 2 .REM unnamed_net592 C? 1 C? 2 .REM unnamed_net591 C? 1 C? 2 .REM unnamed_net590 C? 1 C? 2 .REM unnamed_net589 C? 1 C? 2 .REM unnamed_net588 C? 1 C? 2 .REM unnamed_net587 C? 1 C? 2 .REM unnamed_net586 C? 1 C? 2 .REM unnamed_net585 C? 1 C? 2 .REM unnamed_net584 C? 1 C? 2 .REM unnamed_net583 C? 1 C? 2 .REM unnamed_net582 C? 1 C? 2 .REM unnamed_net581 C? 1 C? 2 .REM unnamed_net580 C? 1 C? 2 .REM unnamed_net579 C? 1 C? 2 .REM unnamed_net578 C? 1 C? 2 .REM unnamed_net577 C? 1 C? 2 .REM unnamed_net576 C? 1 C? 2 .REM unnamed_net575 C? 1 C? 2 .REM unnamed_net574 C? 1 .REM unnamed_net573 C? 1 C? 2 .REM unnamed_net572 C? 1 C? 2 .REM unnamed_net571 C? 1 C? 2 .REM unnamed_net570 C? 1 C? 2 .REM unnamed_net569 C? 1 C? 2 .REM unnamed_net568 C? 1 C? 2 .REM unnamed_net567 C? 1 C? 2 .REM unnamed_net566 C? 1 C? 2 .REM unnamed_net565 C? 1 .REM unnamed_net564 C? 1 C? 2 .REM unnamed_net563 C? 1 C? 2 .REM unnamed_net562 C? 1 C? 2 .REM unnamed_net561 C? 1 C? 2 .REM unnamed_net560 C? 1 C? 2 .REM unnamed_net559 C? 1 C? 2 .REM unnamed_net558 C? 1 C? 2 .REM unnamed_net557 C? 1 C? 2 .REM unnamed_net556 C? 1 C? 2 .REM unnamed_net555 C? 1 C? 2 .REM unnamed_net554 C? 1 C? 2 .REM unnamed_net553 C? 1 C? 2 .REM unnamed_net552 C? 1 C? 2 .REM unnamed_net551 C? 1 C? 2 .REM unnamed_net550 C? 1 C? 2 .REM unnamed_net549 C? 1 C? 2 .REM unnamed_net548 C? 1 C? 2 .REM unnamed_net547 C? 1 C? 2 .REM unnamed_net546 C? 1 C? 2 .REM unnamed_net545 C? 1 C? 2 .REM unnamed_net544 C? 1 C? 2 .REM unnamed_net543 C? 1 C? 2 .REM unnamed_net542 C? 1 C? 2 .REM unnamed_net541 C? 1 C? 2 .REM unnamed_net540 C? 1 .REM unnamed_net539 C? 1 C? 2 .REM unnamed_net538 C? 1 C? 2 .REM unnamed_net537 C? 1 C? 2 .REM unnamed_net536 C? 1 C? 2 .REM unnamed_net535 C? 1 C? 2 .REM unnamed_net534 C? 1 C? 2 .REM unnamed_net533 C? 1 C? 2 .REM unnamed_net532 C? 1 C? 2 .REM unnamed_net531 C? 1 .REM unnamed_net530 C? 1 C? 2 .REM unnamed_net529 C? 2 .REM unnamed_net528 C? 1 C? 2 .REM unnamed_net527 C? 1 C? 2 .REM unnamed_net526 C? 1 C? 2 .REM unnamed_net525 C? 1 C? 2 .REM unnamed_net524 C? 1 C? 2 .REM unnamed_net523 C? 1 C? 2 .REM unnamed_net522 C? 2 .REM unnamed_net521 C? 1 C? 2 .REM unnamed_net520 C? 1 C? 2 .REM unnamed_net519 C? 1 C? 2 .REM unnamed_net518 C? 1 C? 2 .REM unnamed_net517 C? 1 C? 2 .REM unnamed_net516 C? 1 C? 2 .REM unnamed_net515 C? 1 C? 2 .REM unnamed_net514 C? 1 C? 2 .REM unnamed_net513 C? 1 C? 2 .REM unnamed_net512 C? 1 C? 2 .REM unnamed_net511 C? 1 C? 2 .REM unnamed_net510 C? 1 C? 2 .REM unnamed_net509 C? 1 C? 2 .REM unnamed_net508 C? 1 C? 2 .REM unnamed_net507 C? 1 C? 2 .REM unnamed_net506 C? 1 C? 2 .REM unnamed_net505 C? 1 C? 2 .REM unnamed_net504 C? 1 C? 2 .REM unnamed_net503 C? 1 C? 2 .REM unnamed_net502 C? 1 C? 2 .REM unnamed_net501 C? 1 C? 2 .REM unnamed_net500 C? 1 C? 2 .REM unnamed_net499 C? 2 .REM unnamed_net498 C? 1 C? 2 .REM unnamed_net497 C? 1 C? 2 .REM unnamed_net496 C? 1 C? 2 .REM unnamed_net495 C? 1 C? 2 .REM unnamed_net494 C? 1 C? 2 .REM unnamed_net493 C? 1 C? 2 .REM unnamed_net492 C? 2 .REM unnamed_net491 C? 1 C? 2 .REM unnamed_net490 C? 1 C? 2 .REM unnamed_net489 C? 1 C? 2 .REM unnamed_net488 C? 1 C? 2 .REM unnamed_net487 C? 1 C? 2 .REM unnamed_net486 C? 1 C? 2 .REM unnamed_net485 C? 1 C? 2 .REM unnamed_net484 C? 1 C? 2 .REM unnamed_net483 C? 1 C? 2 .REM unnamed_net482 C? 1 C? 2 .REM unnamed_net481 C? 1 C? 2 .REM unnamed_net480 C? 1 C? 2 .REM unnamed_net479 C? 1 C? 2 .REM unnamed_net478 C? 1 C? 2 .REM unnamed_net477 C? 1 C? 2 .REM unnamed_net476 C? 1 C? 2 .REM unnamed_net475 C? 1 C? 2 .REM unnamed_net474 C? 1 C? 2 .REM unnamed_net473 C? 1 C? 2 .REM unnamed_net472 C? 1 C? 2 .REM unnamed_net471 C? 1 C? 2 .REM unnamed_net470 C? 1 C? 2 .REM unnamed_net469 C? 1 C? 2 .REM unnamed_net468 C? 1 C? 2 .REM unnamed_net467 C? 1 C? 2 .REM unnamed_net466 C? 1 C? 2 .REM unnamed_net465 C? 1 C? 2 .REM unnamed_net464 C? 1 C? 2 .REM unnamed_net463 C? 1 C? 2 .REM unnamed_net462 C? 1 C? 2 .REM unnamed_net461 C? 1 C? 2 .REM unnamed_net460 C? 1 C? 2 .REM unnamed_net459 C? 1 C? 2 .REM unnamed_net458 C? 1 C? 2 .REM unnamed_net457 C? 1 C? 2 .REM unnamed_net456 C? 1 C? 2 .REM unnamed_net455 C? 1 C? 2 .REM unnamed_net454 C? 1 C? 2 .REM unnamed_net453 C? 1 C? 2 .REM unnamed_net452 C? 1 C? 2 .REM unnamed_net451 C? 1 C? 2 .REM unnamed_net450 C? 1 C? 2 .REM unnamed_net449 C? 1 C? 2 .REM unnamed_net448 C? 1 C? 2 .REM unnamed_net447 C? 1 C? 2 .REM unnamed_net446 C? 1 C? 2 .REM unnamed_net445 C? 1 C? 2 .REM unnamed_net444 C? 1 C? 2 .REM unnamed_net443 C? 1 C? 2 .REM unnamed_net442 C? 1 C? 2 .REM unnamed_net441 C? 1 C? 2 .REM unnamed_net440 C? 1 C? 2 .REM unnamed_net439 C? 1 C? 2 .REM unnamed_net438 C? 1 C? 2 .REM unnamed_net437 C? 1 C? 2 .REM unnamed_net436 C? 1 C? 2 .REM unnamed_net435 C? 1 C? 2 .REM unnamed_net434 C? 1 C? 2 .REM unnamed_net433 C? 1 C? 2 .REM unnamed_net432 C? 1 C? 2 .REM unnamed_net431 C? 1 C? 2 .REM unnamed_net430 C? 1 C? 2 .REM unnamed_net429 C? 1 C? 2 .REM unnamed_net428 C? 1 C? 2 .REM unnamed_net427 C? 1 C? 2 .REM unnamed_net426 C? 1 C? 2 .REM unnamed_net425 C? 1 C? 2 .REM unnamed_net424 C? 1 C? 2 .REM unnamed_net423 C? 1 C? 2 .REM unnamed_net422 C? 1 C? 2 .REM unnamed_net421 C? 1 C? 2 .REM unnamed_net420 C? 1 C? 2 .REM unnamed_net419 C? 1 C? 2 .REM unnamed_net418 C? 1 C? 2 .REM unnamed_net417 C? 1 C? 2 .REM unnamed_net416 C? 1 C? 2 .REM unnamed_net415 C? 1 C? 2 .REM unnamed_net414 C? 1 C? 2 .REM unnamed_net413 C? 1 C? 2 .REM unnamed_net412 C? 1 C? 2 .REM unnamed_net411 C? 1 C? 2 .REM unnamed_net410 C? 1 C? 2 .REM unnamed_net409 C? 1 C? 2 .REM unnamed_net408 C? 1 C? 2 .REM unnamed_net407 C? 1 C? 2 .REM unnamed_net406 C? 1 C? 2 .REM unnamed_net405 C? 2 .REM unnamed_net404 C? 1 C? 2 .REM unnamed_net403 C? 1 C? 2 .REM unnamed_net402 C? 1 C? 2 .REM unnamed_net401 C? 1 C? 2 .REM unnamed_net400 C? 1 C? 2 .REM unnamed_net399 C? 1 C? 2 .REM unnamed_net398 C? 2 .REM unnamed_net397 C? 1 C? 2 .REM unnamed_net396 C? 1 C? 2 .REM unnamed_net395 C? 1 C? 2 .REM unnamed_net394 C? 1 C? 2 .REM unnamed_net393 C? 1 C? 2 .REM unnamed_net392 C? 1 C? 2 .REM unnamed_net391 C? 1 C? 2 .REM unnamed_net390 C? 1 C? 2 .REM unnamed_net389 C? 1 C? 2 .REM unnamed_net388 C? 1 C? 2 .REM unnamed_net387 C? 1 C? 2 .REM unnamed_net386 C? 1 C? 2 .REM unnamed_net385 C? 1 C? 2 .REM unnamed_net384 C? 1 C? 2 .REM unnamed_net383 C? 1 C? 2 .REM unnamed_net382 C? 1 C? 2 .REM unnamed_net381 C? 1 C? 2 .REM unnamed_net380 C? 1 C? 2 .REM unnamed_net379 C? 1 C? 2 .REM unnamed_net378 C? 1 C? 2 .REM unnamed_net377 C? 1 C? 2 .REM unnamed_net376 C? 1 C? 2 .REM unnamed_net375 C? 2 .REM unnamed_net374 C? 1 C? 2 .REM unnamed_net373 C? 1 C? 2 .REM unnamed_net372 C? 1 C? 2 .REM unnamed_net371 C? 1 C? 2 .REM unnamed_net370 C? 1 C? 2 .REM unnamed_net369 C? 1 C? 2 .REM unnamed_net368 C? 2 .REM unnamed_net367 C? 2 .REM unnamed_net366 C? 1 C? 2 .REM unnamed_net365 C? 1 C? 2 .REM unnamed_net364 C? 1 .REM unnamed_net363 C? 1 C? 2 .REM unnamed_net362 C? 1 C? 2 .REM unnamed_net361 C? 1 C? 2 .REM unnamed_net360 C? 1 C? 2 .REM unnamed_net359 C? 1 .REM unnamed_net358 C? 1 C? 2 .REM unnamed_net357 C? 1 C? 2 .REM unnamed_net356 C? 1 C? 2 .REM unnamed_net355 C? 1 C? 2 .REM unnamed_net354 C? 1 C? 2 .REM unnamed_net353 C? 1 C? 2 .REM unnamed_net352 C? 1 C? 2 .REM unnamed_net351 C? 1 C? 2 .REM unnamed_net350 C? 1 C? 2 .REM unnamed_net349 C? 1 C? 2 .REM unnamed_net348 C? 1 C? 2 .REM unnamed_net347 C? 1 C? 2 .REM unnamed_net346 C? 1 .REM unnamed_net345 C? 1 C? 2 .REM unnamed_net344 C? 1 C? 2 .REM unnamed_net343 C? 1 C? 2 .REM unnamed_net342 C? 1 C? 2 .REM unnamed_net341 C? 1 .REM unnamed_net340 C? 1 C? 2 .REM unnamed_net339 C? 1 C? 2 .REM unnamed_net338 C? 1 C? 2 .REM unnamed_net337 C? 1 C? 2 .REM unnamed_net336 C? 1 C? 2 .REM unnamed_net335 C? 1 C? 2 .REM unnamed_net334 C? 1 C? 2 .REM unnamed_net333 C? 1 C? 2 .REM unnamed_net332 C? 1 C? 2 .REM unnamed_net331 C? 1 C? 2 .REM unnamed_net330 C? 1 C? 2 .REM unnamed_net329 C? 1 C? 2 .REM unnamed_net328 C? 1 C? 2 .REM unnamed_net327 C? 1 C? 2 .REM unnamed_net326 C? 1 C? 2 .REM unnamed_net325 C? 1 C? 2 .REM unnamed_net324 C? 1 C? 2 .REM unnamed_net323 C? 1 C? 2 .REM unnamed_net322 C? 1 C? 2 .REM unnamed_net321 C? 1 C? 2 .REM unnamed_net320 C? 1 C? 2 .REM unnamed_net319 C? 1 C? 2 .REM unnamed_net318 C? 1 C? 2 .REM unnamed_net317 C? 1 C? 2 .REM unnamed_net316 C? 1 C? 2 .REM unnamed_net315 C? 1 C? 2 .REM unnamed_net314 C? 1 C? 2 .REM unnamed_net313 C? 1 C? 2 .REM unnamed_net312 C? 1 C? 2 .REM unnamed_net311 C? 1 C? 2 .REM unnamed_net310 C? 1 C? 2 .REM unnamed_net309 C? 1 C? 2 .REM unnamed_net308 C? 1 C? 2 .REM unnamed_net307 C? 1 C? 2 .REM unnamed_net306 C? 1 C? 2 .REM unnamed_net305 C? 1 C? 2 .REM unnamed_net304 C? 1 C? 2 .REM unnamed_net303 C? 1 C? 2 .REM unnamed_net302 C? 1 C? 2 .REM unnamed_net301 C? 1 C? 2 .REM unnamed_net300 C? 1 C? 2 .REM unnamed_net299 C? 1 C? 2 .REM unnamed_net298 C? 1 C? 2 .REM unnamed_net297 C? 1 C? 2 .REM unnamed_net296 C? 1 .REM unnamed_net295 C? 1 C? 2 .REM unnamed_net294 C? 1 C? 2 .REM unnamed_net293 C? 1 C? 2 .REM unnamed_net292 C? 1 C? 2 .REM unnamed_net291 C? 1 .REM unnamed_net290 C? 1 C? 2 .REM unnamed_net289 C? 1 C? 2 .REM unnamed_net288 C? 1 C? 2 .REM unnamed_net287 C? 1 C? 2 .REM unnamed_net286 C? 1 C? 2 .REM unnamed_net285 C? 1 C? 2 .REM unnamed_net284 C? 1 C? 2 .REM unnamed_net283 C? 1 C? 2 .REM unnamed_net282 C? 1 C? 2 .REM unnamed_net281 C? 1 C? 2 .REM unnamed_net280 C? 1 C? 2 .REM unnamed_net279 C? 1 C? 2 .REM unnamed_net278 C? 1 .REM unnamed_net277 C? 1 C? 2 .REM unnamed_net276 C? 1 C? 2 .REM unnamed_net275 C? 1 C? 2 .REM unnamed_net274 C? 1 C? 2 .REM unnamed_net273 C? 1 .REM unnamed_net272 C? 1 C? 2 .REM unnamed_net271 C? 1 C? 2 .REM unnamed_net270 C? 1 C? 2 .REM unnamed_net269 C? 1 C? 2 .REM unnamed_net268 C? 1 C? 2 .REM unnamed_net267 C? 1 C? 2 .REM unnamed_net266 C? 1 C? 2 .REM unnamed_net265 C? 1 C? 2 .REM unnamed_net264 C? 1 C? 2 .REM unnamed_net263 C? 1 C? 2 .REM unnamed_net262 C? 1 C? 2 .REM unnamed_net261 C? 1 C? 2 .REM unnamed_net260 C? 1 C? 2 .REM unnamed_net259 C? 1 C? 2 .REM unnamed_net258 C? 1 C? 2 .REM unnamed_net257 C? 1 C? 2 .REM unnamed_net256 C? 1 C? 2 .REM unnamed_net255 C? 1 C? 2 .REM unnamed_net254 C? 1 C? 2 .REM unnamed_net253 C? 1 C? 2 .REM unnamed_net252 C? 1 C? 2 .REM unnamed_net251 C? 1 C? 2 .REM unnamed_net250 C? 1 C? 2 .REM unnamed_net249 C? 1 C? 2 .REM unnamed_net248 C? 1 C? 2 .REM unnamed_net247 C? 1 C? 2 .REM unnamed_net246 C? 1 C? 2 .REM unnamed_net245 C? 1 C? 2 .REM unnamed_net244 C? 1 C? 2 .REM unnamed_net243 C? 1 C? 2 .REM unnamed_net242 C? 1 C? 2 .REM unnamed_net241 C? 1 C? 2 .REM unnamed_net240 C? 1 C? 2 .REM unnamed_net239 C? 1 C? 2 .REM unnamed_net238 C? 1 C? 2 .REM unnamed_net237 C? 1 C? 2 .REM unnamed_net236 C? 1 C? 2 .REM unnamed_net235 C? 1 C? 2 .REM unnamed_net234 C? 1 C? 2 .REM unnamed_net233 C? 1 C? 2 .REM unnamed_net232 C? 1 C? 2 .REM unnamed_net231 C? 1 C? 2 .REM unnamed_net230 C? 1 C? 2 .REM unnamed_net229 C? 1 C? 2 .REM unnamed_net228 C? 1 C? 2 .REM unnamed_net227 C? 1 C? 2 .REM unnamed_net226 C? 1 C? 2 .REM unnamed_net225 C? 1 C? 2 .REM unnamed_net224 C? 1 C? 2 .REM unnamed_net223 C? 1 C? 2 .REM unnamed_net222 C? 1 C? 2 .REM unnamed_net221 C? 1 C? 2 .REM unnamed_net220 C? 1 C? 2 .REM unnamed_net219 C? 1 C? 2 .REM unnamed_net218 C? 1 C? 2 .REM unnamed_net217 C? 1 C? 2 .REM unnamed_net216 C? 1 C? 2 .REM unnamed_net215 C? 1 C? 2 .REM unnamed_net214 C? 1 C? 2 .REM unnamed_net213 C? 1 C? 2 .REM unnamed_net212 C? 1 C? 2 .REM unnamed_net211 C? 1 C? 2 .REM unnamed_net210 C? 1 C? 2 .REM unnamed_net209 C? 1 C? 2 .REM unnamed_net208 C? 1 C? 2 .REM unnamed_net207 C? 1 C? 2 .REM unnamed_net206 C? 1 C? 2 .REM unnamed_net205 C? 1 C? 2 .REM unnamed_net204 C? 1 C? 2 .REM unnamed_net203 C? 1 C? 2 .REM unnamed_net202 C? 1 C? 2 .REM unnamed_net201 C? 1 C? 2 .REM unnamed_net200 C? 1 C? 2 .REM unnamed_net199 C? 1 C? 2 .REM unnamed_net198 C? 1 C? 2 .REM unnamed_net197 C? 1 C? 2 .REM unnamed_net196 C? 1 C? 2 .REM unnamed_net195 C? 1 C? 2 .REM unnamed_net194 C? 1 C? 2 .REM unnamed_net193 C? 1 C? 2 .REM unnamed_net192 C? 1 C? 2 .REM unnamed_net191 C? 1 C? 2 .REM unnamed_net190 C? 1 C? 2 .REM unnamed_net189 C? 1 C? 2 .REM unnamed_net188 C? 1 C? 2 .REM unnamed_net187 C? 1 C? 2 .REM unnamed_net186 C? 1 C? 2 .REM unnamed_net185 C? 1 .REM unnamed_net184 C? 1 C? 2 .REM unnamed_net183 C? 1 C? 2 .REM unnamed_net182 C? 1 C? 2 .REM unnamed_net181 C? 1 C? 2 .REM unnamed_net180 C? 1 C? 2 .REM unnamed_net179 C? 1 C? 2 .REM unnamed_net178 C? 1 C? 2 .REM unnamed_net177 C? 1 C? 2 .REM unnamed_net176 C? 1 .REM unnamed_net175 C? 1 C? 2 .REM unnamed_net174 C? 1 C? 2 .REM unnamed_net173 C? 1 C? 2 .REM unnamed_net172 C? 1 C? 2 .REM unnamed_net171 C? 1 C? 2 .REM unnamed_net170 C? 1 C? 2 .REM unnamed_net169 C? 1 C? 2 .REM unnamed_net168 C? 1 C? 2 .REM unnamed_net167 C? 1 C? 2 .REM unnamed_net166 C? 1 C? 2 .REM unnamed_net165 C? 1 C? 2 .REM unnamed_net164 C? 1 C? 2 .REM unnamed_net163 C? 1 C? 2 .REM unnamed_net162 C? 1 C? 2 .REM unnamed_net161 C? 1 C? 2 .REM unnamed_net160 C? 1 C? 2 .REM unnamed_net159 C? 1 C? 2 .REM unnamed_net158 C? 1 C? 2 .REM unnamed_net157 C? 1 C? 2 .REM unnamed_net156 C? 1 C? 2 .REM unnamed_net155 C? 1 C? 2 .REM unnamed_net154 C? 1 C? 2 .REM unnamed_net153 C? 1 C? 2 .REM unnamed_net152 C? 1 C? 2 .REM unnamed_net151 C? 1 .REM unnamed_net150 C? 1 C? 2 .REM unnamed_net149 C? 1 C? 2 .REM unnamed_net148 C? 1 C? 2 .REM unnamed_net147 C? 1 C? 2 .REM unnamed_net146 C? 1 C? 2 .REM unnamed_net145 C? 1 C? 2 .REM unnamed_net144 C? 1 C? 2 .REM unnamed_net143 C? 1 C? 2 .REM unnamed_net142 C? 1 .REM unnamed_net141 C? 1 C? 2 .REM unnamed_net140 C? 1 C? 2 .REM unnamed_net139 C? 1 C? 2 .REM unnamed_net138 C? 1 C? 2 .REM unnamed_net137 C? 1 C? 2 .REM unnamed_net136 C? 1 C? 2 .REM unnamed_net135 C? 1 C? 2 .REM unnamed_net134 C? 1 C? 2 .REM unnamed_net133 C? 1 C? 2 .REM unnamed_net132 C? 1 C? 2 .REM unnamed_net131 C? 1 C? 2 .REM unnamed_net130 C? 1 C? 2 .REM unnamed_net129 C? 1 C? 2 .REM unnamed_net128 C? 1 C? 2 .REM unnamed_net127 C? 1 C? 2 .REM unnamed_net126 C? 1 C? 2 .REM unnamed_net125 C? 1 C? 2 .REM unnamed_net124 C? 1 C? 2 .REM unnamed_net123 C? 1 C? 2 .REM unnamed_net122 C? 1 C? 2 .REM unnamed_net121 C? 1 C? 2 .REM unnamed_net120 C? 1 C? 2 .REM unnamed_net119 C? 1 C? 2 .REM unnamed_net118 C? 1 C? 2 .REM unnamed_net117 C? 1 C? 2 .REM unnamed_net116 C? 1 C? 2 .REM unnamed_net115 C? 1 C? 2 .REM unnamed_net114 C? 1 C? 2 .REM unnamed_net113 C? 1 C? 2 .REM unnamed_net112 C? 1 C? 2 .REM unnamed_net111 C? 1 C? 2 .REM unnamed_net110 C? 1 C? 2 .REM unnamed_net109 C? 1 C? 2 .REM unnamed_net108 C? 1 C? 2 .REM unnamed_net107 C? 1 C? 2 .REM unnamed_net106 C? 1 C? 2 .REM unnamed_net105 C? 1 C? 2 .REM unnamed_net104 C? 1 C? 2 .REM unnamed_net103 C? 1 C? 2 .REM unnamed_net102 C? 1 C? 2 .REM unnamed_net101 C? 1 C? 2 .REM unnamed_net100 C? 1 C? 2 .REM unnamed_net99 C? 1 C? 2 .REM unnamed_net98 C? 1 C? 2 .REM unnamed_net97 C? 1 C? 2 .REM unnamed_net96 C? 1 .REM unnamed_net95 C? 1 C? 2 .REM unnamed_net94 C? 1 C? 2 .REM unnamed_net93 C? 1 C? 2 .REM unnamed_net92 C? 1 C? 2 .REM unnamed_net91 C? 1 .REM unnamed_net90 C? 1 C? 2 .REM unnamed_net89 C? 1 C? 2 .REM unnamed_net88 C? 1 C? 2 .REM unnamed_net87 C? 1 C? 2 .REM unnamed_net86 C? 1 C? 2 .REM unnamed_net85 C? 1 C? 2 .REM unnamed_net84 C? 1 C? 2 .REM unnamed_net83 C? 1 C? 2 .REM unnamed_net82 C? 1 C? 2 .REM unnamed_net81 C? 1 C? 2 .REM unnamed_net80 C? 1 C? 2 .REM unnamed_net79 C? 1 C? 2 .REM unnamed_net78 C? 1 .REM unnamed_net77 C? 1 C? 2 .REM unnamed_net76 C? 1 C? 2 .REM unnamed_net75 C? 1 C? 2 .REM unnamed_net74 C? 1 C? 2 .REM unnamed_net73 C? 1 .REM unnamed_net72 C? 1 C? 2 .REM unnamed_net71 C? 1 C? 2 .REM unnamed_net70 C? 1 C? 2 .REM unnamed_net69 C? 1 C? 2 .REM unnamed_net68 C? 1 C? 2 .REM unnamed_net67 C? 1 C? 2 .REM unnamed_net66 C? 1 C? 2 .REM unnamed_net65 C? 1 C? 2 .REM unnamed_net64 C? 1 C? 2 .REM unnamed_net63 C? 1 C? 2 .REM unnamed_net62 C? 1 C? 2 .REM unnamed_net61 C? 1 C? 2 .REM unnamed_net60 C? 1 C? 2 .REM unnamed_net59 C? 1 C? 2 .REM unnamed_net58 C? 1 C? 2 .REM unnamed_net57 C? 1 C? 2 .REM unnamed_net56 C? 1 C? 2 .REM unnamed_net55 C? 1 C? 2 .REM unnamed_net54 C? 1 C? 2 .REM unnamed_net53 C? 1 C? 2 .REM unnamed_net52 C? 1 C? 2 .REM unnamed_net51 C? 1 C? 2 .REM unnamed_net50 C? 1 C? 2 .REM unnamed_net49 C? 1 .REM unnamed_net48 C? 1 C? 2 .REM unnamed_net47 C? 1 C? 2 .REM unnamed_net46 C? 1 C? 2 .REM unnamed_net45 C? 1 C? 2 .REM unnamed_net44 C? 1 C? 2 .REM unnamed_net43 C? 1 C? 2 .REM unnamed_net42 C? 1 C? 2 .REM unnamed_net41 C? 1 C? 2 .REM unnamed_net40 C? 1 .REM unnamed_net39 C? 1 C? 2 .REM unnamed_net38 C? 1 C? 2 .REM unnamed_net37 C? 1 C? 2 .REM unnamed_net36 C? 1 C? 2 .REM unnamed_net35 C? 1 C? 2 .REM unnamed_net34 C? 1 C? 2 .REM unnamed_net33 C? 1 C? 2 .REM unnamed_net32 C? 1 C? 2 .REM unnamed_net31 C? 1 C? 2 .REM unnamed_net30 C? 1 C? 2 .REM unnamed_net29 C? 1 C? 2 .REM unnamed_net28 C? 1 C? 2 .REM unnamed_net27 C? 1 C? 2 .REM unnamed_net26 C? 1 .REM unnamed_net25 C? 1 C? 2 .REM unnamed_net24 C? 1 C? 2 .REM unnamed_net23 C? 1 C? 2 .REM unnamed_net22 C? 1 C? 2 .REM unnamed_net21 C? 1 .REM unnamed_net20 C? 1 C? 2 .REM unnamed_net19 C? 1 C? 2 .REM unnamed_net18 C? 1 C? 2 .REM unnamed_net17 C? 1 C? 2 .REM unnamed_net16 C? 1 C? 2 .REM unnamed_net15 C? 1 C? 2 .REM unnamed_net14 C? 1 C? 2 .REM unnamed_net13 C? 1 .REM unnamed_net12 C? 1 C? 2 .REM unnamed_net11 C? 1 C? 2 .REM unnamed_net10 C? 1 C? 2 .REM unnamed_net9 C? 1 C? 2 .REM unnamed_net8 C? 1 C? 2 .REM unnamed_net7 C? 1 .REM unnamed_net6 C? 1 C? 2 .REM unnamed_net5 C? 1 C? 2 .REM unnamed_net4 C? 1 C? 2 .REM unnamed_net3 C? 1 .REM unnamed_net2 C? 1 C? 2 .REM unnamed_net1 C? 1 .EOD geda-gaf-1.8.2/gnetlist/tests/common/outputs/redac/JD_Sort.retcode0000664000175000017500000000000212050461155022026 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/redac/cascade-output.net0000664000175000017500000000042712050461155022617 00000000000000.PCB .REM CREATED BY gEDA GNETLIST .CON .COD 2 .REM unnamed_net6 AMP2 1 T1 2 .REM unnamed_net5 T1 1 MX1 2 .REM unnamed_net4 MX1 1 FL1 2 .REM unnamed_net3 FL1 1 DEF1 2 .REM unnamed_net2 DEF1 1 AMP1 2 .REM unnamed_net1 AMP1 1 SOURCE 1 .REM GND DEFAULTS 1 .EOD geda-gaf-1.8.2/gnetlist/tests/common/outputs/redac/multiequal-output.net0000664000175000017500000000015612050461155023415 00000000000000.PCB .REM CREATED BY gEDA GNETLIST .CON .COD 2 .REM GND V1 2 R1 1 .REM unnamed_net1 V1 1 R1 2 .EOD geda-gaf-1.8.2/gnetlist/tests/common/outputs/redac/JD_nomunge-output.net0000664000175000017500000000040512050461155023255 00000000000000.PCB .REM CREATED BY gEDA GNETLIST .CON .COD 2 .REM Vdd1 Rlp 2 M1 B M1 S Vdd 1 X1 6 .REM GND Cm 2 Cp 2 Rlm 2 Vdd 2 V1 2 Rb 1 X1 7 X1 2 .REM LVH Rb 2 M1 D M1 G X1 3 .REM i V1 1 X1 1 .REM p Cp 1 Rt 1 Rlp 1 X1 5 .REM m Cm 1 Rlm 1 Rt 2 X1 4 .EOD geda-gaf-1.8.2/gnetlist/tests/common/outputs/redac/stack-torture.retcode0000664000175000017500000000000212063576065023344 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/redac/powersupply.retcode0000664000175000017500000000000212050461155023133 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/redac/JD_Sort_nomunge-output.net0000664000175000017500000000040512050461155024264 00000000000000.PCB .REM CREATED BY gEDA GNETLIST .CON .COD 2 .REM Vdd1 Rlp 2 M1 B M1 S Vdd 1 X1 6 .REM GND Cm 2 Cp 2 Rlm 2 Vdd 2 V1 2 Rb 1 X1 7 X1 2 .REM LVH Rb 2 M1 D M1 G X1 3 .REM i V1 1 X1 1 .REM p Cp 1 Rt 1 Rlp 1 X1 5 .REM m Cm 1 Rlm 1 Rt 2 X1 4 .EOD geda-gaf-1.8.2/gnetlist/tests/common/outputs/redac/TwoStageAmp_Sort.retcode0000664000175000017500000000000212050461155023724 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/redac/netattrib.retcode0000664000175000017500000000000212050461155022516 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/redac/JD_nomunge.retcode0000664000175000017500000000000212050461155022547 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/redac/JD_Include-output.net0000664000175000017500000000040512050461155023170 00000000000000.PCB .REM CREATED BY gEDA GNETLIST .CON .COD 2 .REM Vdd1 Rlp 2 M1 B M1 S Vdd 1 X1 6 .REM GND Cm 2 Cp 2 Rlm 2 Vdd 2 V1 2 Rb 1 X1 7 X1 2 .REM LVH Rb 2 M1 D M1 G X1 3 .REM i V1 1 X1 1 .REM p Cp 1 Rt 1 Rlp 1 X1 5 .REM m Cm 1 Rlm 1 Rt 2 X1 4 .EOD geda-gaf-1.8.2/gnetlist/tests/common/outputs/redac/JD_Sort-output.net0000664000175000017500000000040512050461155022534 00000000000000.PCB .REM CREATED BY gEDA GNETLIST .CON .COD 2 .REM Vdd1 Rlp 2 M1 B M1 S Vdd 1 X1 6 .REM GND Cm 2 Cp 2 Rlm 2 Vdd 2 V1 2 Rb 1 X1 7 X1 2 .REM LVH Rb 2 M1 D M1 G X1 3 .REM i V1 1 X1 1 .REM p Cp 1 Rt 1 Rlp 1 X1 5 .REM m Cm 1 Rlm 1 Rt 2 X1 4 .EOD geda-gaf-1.8.2/gnetlist/tests/common/outputs/redac/cascade.retcode0000664000175000017500000000000212050461155022105 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/redac/TwoStageAmp_Sort-output.net0000664000175000017500000000072312050461155024435 00000000000000.PCB .REM CREATED BY gEDA GNETLIST .CON .COD 2 .REM unnamed_net2 C2 1 R8 2 .REM Vbase2 R3 1 C2 2 R4 2 Q2 2 .REM Vem2 CE2 2 RE2 2 Q2 1 .REM Vout Cout 2 RL 2 .REM VColl2 Q2 3 Cout 1 RC2 1 .REM GND R4 1 CE2 1 RE2 1 VCC 2 Vinput 2 CE1 1 RL 1 RE1 1 RE1 1 R2 1 .REM Vcc R3 2 RC1 2 VCC 1 RC2 2 R1 2 .REM Vin Vinput 1 R5 1 .REM unnamed_net1 C1 1 R5 2 .REM Vbase1 C1 2 R2 2 R1 1 Q1 2 .REM Vem1 CE1 2 RE1 2 Q1 1 .REM Vcoll1 R8 1 RC1 1 Q1 3 .EOD geda-gaf-1.8.2/gnetlist/tests/common/outputs/redac/singlenet-output.net0000664000175000017500000000026712050461155023226 00000000000000.PCB .REM CREATED BY gEDA GNETLIST .CON .COD 2 .REM SING_N_2 U100 1 U100 3 .REM GND U100 7 .REM Vcc U100 14 .REM SING_N U100 4 U100 5 U100 10 U100 8 U100 9 U100 6 .EOD geda-gaf-1.8.2/gnetlist/tests/common/outputs/redac/TwoStageAmp_Include.retcode0000664000175000017500000000000212050461155024360 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/redac/SlottedOpamps-output.net0000664000175000017500000000056012050461155024030 00000000000000.PCB .REM CREATED BY gEDA GNETLIST .CON .COD 2 .REM minusin_slot4_pin13_b U1 13 .REM plusin_slot4_pin12_a U1 12 .REM minusin_slot3_pin_b U1 9 .REM plusin_slot3_pin10_a U1 10 .REM minusin_slot2_pin6_b U1 6 .REM plusin_slot2_pin5_a U1 5 .REM samenet_output_c U1 14 U1 8 U1 7 U1 1 .REM minusin_slot1_pin_b U1 2 .REM plusin_slot1_pin3_a U1 3 .EOD geda-gaf-1.8.2/gnetlist/tests/common/outputs/redac/TwoStageAmp_Include-output.net0000664000175000017500000000072312050461155025071 00000000000000.PCB .REM CREATED BY gEDA GNETLIST .CON .COD 2 .REM unnamed_net2 C2 1 R8 2 .REM Vbase2 R3 1 C2 2 R4 2 Q2 2 .REM Vem2 CE2 2 RE2 2 Q2 1 .REM Vout Cout 2 RL 2 .REM VColl2 Q2 3 Cout 1 RC2 1 .REM GND R4 1 CE2 1 RE2 1 VCC 2 Vinput 2 CE1 1 RL 1 RE1 1 RE1 1 R2 1 .REM Vcc R3 2 RC1 2 VCC 1 RC2 2 R1 2 .REM Vin Vinput 1 R5 1 .REM unnamed_net1 C1 1 R5 2 .REM Vbase1 C1 2 R2 2 R1 1 Q1 2 .REM Vem1 CE1 2 RE1 2 Q1 1 .REM Vcoll1 R8 1 RC1 1 Q1 3 .EOD geda-gaf-1.8.2/gnetlist/tests/common/outputs/redac/singlenet.retcode0000664000175000017500000000000212050461155022512 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/redac/JD_Include.retcode0000664000175000017500000000000212050461155022462 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/redac/powersupply-output.net0000664000175000017500000000054312050461155023644 00000000000000.PCB .REM CREATED BY gEDA GNETLIST .CON .COD 2 .REM ten U2 1 R1 2 C3 1 R2 1 .REM eleven U2 2 C4 1 R2 2 .REM GND CONN1 3 .REM one S1 1 CONN1 1 .REM five CONN1 2 T1 2 .REM three T1 1 F1 2 .REM two S1 2 F1 1 .REM six T1 3 U1 4 .REM seven T1 4 U1 3 .REM nine C4 2 C3 2 R1 3 R1 1 C2 2 C1 2 U1 2 .REM eight U2 3 C2 1 C1 1 U1 1 .EOD geda-gaf-1.8.2/gnetlist/tests/common/outputs/redac/netattrib-output.net0000664000175000017500000000033512050461155023226 00000000000000.PCB .REM CREATED BY gEDA GNETLIST .CON .COD 2 .REM unnamed_net1 U300 2 .REM netattrib U200 2 U100 5 .REM GND U300 7 U200 7 U100 7 .REM Vcc U300 14 U200 14 U100 14 .REM one F1 1 U300 1 U200 1 U100 3 .EOD geda-gaf-1.8.2/gnetlist/tests/common/outputs/redac/SlottedOpamps.retcode0000664000175000017500000000000212050461155023320 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/redac/JD.retcode0000664000175000017500000000000212050461155021017 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/redac/multiequal.retcode0000664000175000017500000000000212050461155022704 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/redac/JD_Sort_nomunge.retcode0000664000175000017500000000000212050461155023556 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/redac/TwoStageAmp-output.net0000664000175000017500000000072312050461155023426 00000000000000.PCB .REM CREATED BY gEDA GNETLIST .CON .COD 2 .REM unnamed_net2 C2 1 R8 2 .REM Vbase2 R3 1 C2 2 R4 2 Q2 2 .REM Vem2 CE2 2 RE2 2 Q2 1 .REM Vout Cout 2 RL 2 .REM VColl2 Q2 3 Cout 1 RC2 1 .REM GND R4 1 CE2 1 RE2 1 VCC 2 Vinput 2 CE1 1 RL 1 RE1 1 RE1 1 R2 1 .REM Vcc R3 2 RC1 2 VCC 1 RC2 2 R1 2 .REM Vin Vinput 1 R5 1 .REM unnamed_net1 C1 1 R5 2 .REM Vbase1 C1 2 R2 2 R1 1 Q1 2 .REM Vem1 CE1 2 RE1 2 Q1 1 .REM Vcoll1 R8 1 RC1 1 Q1 3 .EOD geda-gaf-1.8.2/gnetlist/tests/common/outputs/redac/JD_Include_nomunge.retcode0000664000175000017500000000000212050461155024212 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/makedepend/0000775000175000017500000000000012220655757020276 500000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/makedepend/JD_Include_nomunge-output.net0000664000175000017500000000000012063576065025741 00000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/makedepend/JD-output.net0000664000175000017500000000000012063576065022546 00000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/makedepend/TwoStageAmp.retcode0000664000175000017500000000000212063576065023747 000000000000001 geda-gaf-1.8.2/gnetlist/tests/common/outputs/makedepend/stack-torture-output.net0000664000175000017500000000000012063576065025060 00000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/makedepend/JD_Sort.retcode0000664000175000017500000000000212063576065023060 000000000000001 geda-gaf-1.8.2/gnetlist/tests/common/outputs/makedepend/cascade-output.net0000664000175000017500000000000012063576065023634 00000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/makedepend/multiequal-output.net0000664000175000017500000000000012063576065024433 00000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/makedepend/JD_nomunge-output.net0000664000175000017500000000000012063576065024276 00000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/makedepend/stack-torture.retcode0000664000175000017500000000000212063576065024363 000000000000001 geda-gaf-1.8.2/gnetlist/tests/common/outputs/makedepend/powersupply.retcode0000664000175000017500000000000212063576065024165 000000000000001 geda-gaf-1.8.2/gnetlist/tests/common/outputs/makedepend/JD_Sort_nomunge-output.net0000664000175000017500000000000012063576065025305 00000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/makedepend/TwoStageAmp_Sort.retcode0000664000175000017500000000000212063576065024756 000000000000001 geda-gaf-1.8.2/gnetlist/tests/common/outputs/makedepend/netattrib.retcode0000664000175000017500000000000212063576065023550 000000000000001 geda-gaf-1.8.2/gnetlist/tests/common/outputs/makedepend/JD_nomunge.retcode0000664000175000017500000000000212063576065023601 000000000000001 geda-gaf-1.8.2/gnetlist/tests/common/outputs/makedepend/JD_Include-output.net0000664000175000017500000000000012063576065024211 00000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/makedepend/JD_Sort-output.net0000664000175000017500000000000012063576065023555 00000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/makedepend/cascade.retcode0000664000175000017500000000000212063576065023137 000000000000001 geda-gaf-1.8.2/gnetlist/tests/common/outputs/makedepend/TwoStageAmp_Sort-output.net0000664000175000017500000000000012063576065025453 00000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/makedepend/singlenet-output.net0000664000175000017500000000000012063576065024241 00000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/makedepend/TwoStageAmp_Include.retcode0000664000175000017500000000000212063576065025412 000000000000001 geda-gaf-1.8.2/gnetlist/tests/common/outputs/makedepend/SlottedOpamps-output.net0000664000175000017500000000000012063576065025047 00000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/makedepend/TwoStageAmp_Include-output.net0000664000175000017500000000000012063576065026107 00000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/makedepend/singlenet.retcode0000664000175000017500000000000212063576065023544 000000000000001 geda-gaf-1.8.2/gnetlist/tests/common/outputs/makedepend/JD_Include.retcode0000664000175000017500000000000212063576065023514 000000000000001 geda-gaf-1.8.2/gnetlist/tests/common/outputs/makedepend/powersupply-output.net0000664000175000017500000000000012063576065024662 00000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/makedepend/netattrib-output.net0000664000175000017500000000000012063576065024245 00000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/makedepend/SlottedOpamps.retcode0000664000175000017500000000000212063576065024352 000000000000001 geda-gaf-1.8.2/gnetlist/tests/common/outputs/makedepend/JD.retcode0000664000175000017500000000000212063576065022051 000000000000001 geda-gaf-1.8.2/gnetlist/tests/common/outputs/makedepend/multiequal.retcode0000664000175000017500000000000212063576065023736 000000000000001 geda-gaf-1.8.2/gnetlist/tests/common/outputs/makedepend/JD_Sort_nomunge.retcode0000664000175000017500000000000212063576065024610 000000000000001 geda-gaf-1.8.2/gnetlist/tests/common/outputs/makedepend/TwoStageAmp-output.net0000664000175000017500000000000012063576065024444 00000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/makedepend/JD_Include_nomunge.retcode0000664000175000017500000000000212063576065025244 000000000000001 geda-gaf-1.8.2/gnetlist/tests/common/outputs/gsch2pcb/0000775000175000017500000000000012220655757017674 500000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/gsch2pcb/JD_Include_nomunge-output.net0000664000175000017500000000201012063576065025342 00000000000000# release: pcb 1.99x # To read pcb files, the pcb version (or the cvs source date) must be >= the file version FileVersion[20070407] PCB["" 600000 500000] Grid[10000.000000 0 0 0] Cursor[0 0 0.000000] PolyArea[200000000.000000] Thermal[0.500000] DRC[1000 1000 1000 1000 1500 1000] Flags("nameonpcb,uniquename,clearnew,snappin") Groups("1,c:2:3:4:5:6,s:7:8") Styles["Signal,1000,3600,2000,1000:Power,2500,6000,3500,1000:Fat,4000,6000,3500,1000:Skinny,600,2402,1181,600"] PKG_unknown(unknown,A1,unknown) PKG_unknown(unknown,Cm,20p) PKG_unknown(unknown,Cp,20p) PKG_unknown(unknown,Rlp,1meg) PKG_unknown(unknown,Rlm,500k) PKG_none(none,Vdd,DC 3.3V) PKG_none(none,V1,pulse 3.3 0 1u 10p 10p 1.25u 2.5u) PKG_unknown(unknown,Rt,1k) PKG_unknown(unknown,Rb,5.6k) PKG_unknown(unknown,M1,unknown) PKG_unknown(unknown,X1,unknown) Layer(1 "top") ( ) Layer(2 "ground") ( ) Layer(3 "signal2") ( ) Layer(4 "signal3") ( ) Layer(5 "power") ( ) Layer(6 "bottom") ( ) Layer(7 "outline") ( ) Layer(8 "spare") ( ) Layer(9 "silk") ( ) Layer(10 "silk") ( ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/gsch2pcb/JD-output.net0000664000175000017500000000201012063576065022147 00000000000000# release: pcb 1.99x # To read pcb files, the pcb version (or the cvs source date) must be >= the file version FileVersion[20070407] PCB["" 600000 500000] Grid[10000.000000 0 0 0] Cursor[0 0 0.000000] PolyArea[200000000.000000] Thermal[0.500000] DRC[1000 1000 1000 1000 1500 1000] Flags("nameonpcb,uniquename,clearnew,snappin") Groups("1,c:2:3:4:5:6,s:7:8") Styles["Signal,1000,3600,2000,1000:Power,2500,6000,3500,1000:Fat,4000,6000,3500,1000:Skinny,600,2402,1181,600"] PKG_unknown(unknown,A1,unknown) PKG_unknown(unknown,Cm,20p) PKG_unknown(unknown,Cp,20p) PKG_unknown(unknown,Rlp,1meg) PKG_unknown(unknown,Rlm,500k) PKG_none(none,Vdd,DC 3.3V) PKG_none(none,V1,pulse 3.3 0 1u 10p 10p 1.25u 2.5u) PKG_unknown(unknown,Rt,1k) PKG_unknown(unknown,Rb,5.6k) PKG_unknown(unknown,M1,unknown) PKG_unknown(unknown,X1,unknown) Layer(1 "top") ( ) Layer(2 "ground") ( ) Layer(3 "signal2") ( ) Layer(4 "signal3") ( ) Layer(5 "power") ( ) Layer(6 "bottom") ( ) Layer(7 "outline") ( ) Layer(8 "spare") ( ) Layer(9 "silk") ( ) Layer(10 "silk") ( ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/gsch2pcb/TwoStageAmp.retcode0000664000175000017500000000000212050461155023332 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/gsch2pcb/stack-torture-output.net0000664000175000017500000000131512063576065024470 00000000000000# release: pcb 1.99x # To read pcb files, the pcb version (or the cvs source date) must be >= the file version FileVersion[20070407] PCB["" 600000 500000] Grid[10000.000000 0 0 0] Cursor[0 0 0.000000] PolyArea[200000000.000000] Thermal[0.500000] DRC[1000 1000 1000 1000 1500 1000] Flags("nameonpcb,uniquename,clearnew,snappin") Groups("1,c:2:3:4:5:6,s:7:8") Styles["Signal,1000,3600,2000,1000:Power,2500,6000,3500,1000:Fat,4000,6000,3500,1000:Skinny,600,2402,1181,600"] PKG_unknown(unknown,C?,unknown) Layer(1 "top") ( ) Layer(2 "ground") ( ) Layer(3 "signal2") ( ) Layer(4 "signal3") ( ) Layer(5 "power") ( ) Layer(6 "bottom") ( ) Layer(7 "outline") ( ) Layer(8 "spare") ( ) Layer(9 "silk") ( ) Layer(10 "silk") ( ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/gsch2pcb/JD_Sort.retcode0000664000175000017500000000000212050461155022443 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/gsch2pcb/cascade-output.net0000664000175000017500000000162512063576065023250 00000000000000# release: pcb 1.99x # To read pcb files, the pcb version (or the cvs source date) must be >= the file version FileVersion[20070407] PCB["" 600000 500000] Grid[10000.000000 0 0 0] Cursor[0 0 0.000000] PolyArea[200000000.000000] Thermal[0.500000] DRC[1000 1000 1000 1000 1500 1000] Flags("nameonpcb,uniquename,clearnew,snappin") Groups("1,c:2:3:4:5:6,s:7:8") Styles["Signal,1000,3600,2000,1000:Power,2500,6000,3500,1000:Fat,4000,6000,3500,1000:Skinny,600,2402,1181,600"] PKG_none(none,AMP2,unknown) PKG_none(none,T1,unknown) PKG_none(none,MX1,unknown) PKG_none(none,FL1,unknown) PKG_none(none,DEF1,unknown) PKG_none(none,AMP1,unknown) PKG_none(none,SOURCE,unknown) PKG_unknown(unknown,DEFAULTS,unknown) Layer(1 "top") ( ) Layer(2 "ground") ( ) Layer(3 "signal2") ( ) Layer(4 "signal3") ( ) Layer(5 "power") ( ) Layer(6 "bottom") ( ) Layer(7 "outline") ( ) Layer(8 "spare") ( ) Layer(9 "silk") ( ) Layer(10 "silk") ( ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/gsch2pcb/multiequal-output.net0000664000175000017500000000140512063576065024043 00000000000000# release: pcb 1.99x # To read pcb files, the pcb version (or the cvs source date) must be >= the file version FileVersion[20070407] PCB["" 600000 500000] Grid[10000.000000 0 0 0] Cursor[0 0 0.000000] PolyArea[200000000.000000] Thermal[0.500000] DRC[1000 1000 1000 1000 1500 1000] Flags("nameonpcb,uniquename,clearnew,snappin") Groups("1,c:2:3:4:5:6,s:7:8") Styles["Signal,1000,3600,2000,1000:Power,2500,6000,3500,1000:Fat,4000,6000,3500,1000:Skinny,600,2402,1181,600"] PKG_none(none,V1,DC 1V) PKG_unknown(unknown,R1,20) PKG_unknown(unknown,A1,abotol=1e-11) Layer(1 "top") ( ) Layer(2 "ground") ( ) Layer(3 "signal2") ( ) Layer(4 "signal3") ( ) Layer(5 "power") ( ) Layer(6 "bottom") ( ) Layer(7 "outline") ( ) Layer(8 "spare") ( ) Layer(9 "silk") ( ) Layer(10 "silk") ( ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/gsch2pcb/JD_nomunge-output.net0000664000175000017500000000201012063576065023677 00000000000000# release: pcb 1.99x # To read pcb files, the pcb version (or the cvs source date) must be >= the file version FileVersion[20070407] PCB["" 600000 500000] Grid[10000.000000 0 0 0] Cursor[0 0 0.000000] PolyArea[200000000.000000] Thermal[0.500000] DRC[1000 1000 1000 1000 1500 1000] Flags("nameonpcb,uniquename,clearnew,snappin") Groups("1,c:2:3:4:5:6,s:7:8") Styles["Signal,1000,3600,2000,1000:Power,2500,6000,3500,1000:Fat,4000,6000,3500,1000:Skinny,600,2402,1181,600"] PKG_unknown(unknown,A1,unknown) PKG_unknown(unknown,Cm,20p) PKG_unknown(unknown,Cp,20p) PKG_unknown(unknown,Rlp,1meg) PKG_unknown(unknown,Rlm,500k) PKG_none(none,Vdd,DC 3.3V) PKG_none(none,V1,pulse 3.3 0 1u 10p 10p 1.25u 2.5u) PKG_unknown(unknown,Rt,1k) PKG_unknown(unknown,Rb,5.6k) PKG_unknown(unknown,M1,unknown) PKG_unknown(unknown,X1,unknown) Layer(1 "top") ( ) Layer(2 "ground") ( ) Layer(3 "signal2") ( ) Layer(4 "signal3") ( ) Layer(5 "power") ( ) Layer(6 "bottom") ( ) Layer(7 "outline") ( ) Layer(8 "spare") ( ) Layer(9 "silk") ( ) Layer(10 "silk") ( ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/gsch2pcb/stack-torture.retcode0000664000175000017500000000000212063576065023761 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/gsch2pcb/powersupply.retcode0000664000175000017500000000000212050461155023550 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/gsch2pcb/JD_Sort_nomunge-output.net0000664000175000017500000000201012063576065024706 00000000000000# release: pcb 1.99x # To read pcb files, the pcb version (or the cvs source date) must be >= the file version FileVersion[20070407] PCB["" 600000 500000] Grid[10000.000000 0 0 0] Cursor[0 0 0.000000] PolyArea[200000000.000000] Thermal[0.500000] DRC[1000 1000 1000 1000 1500 1000] Flags("nameonpcb,uniquename,clearnew,snappin") Groups("1,c:2:3:4:5:6,s:7:8") Styles["Signal,1000,3600,2000,1000:Power,2500,6000,3500,1000:Fat,4000,6000,3500,1000:Skinny,600,2402,1181,600"] PKG_unknown(unknown,A1,unknown) PKG_unknown(unknown,Cm,20p) PKG_unknown(unknown,Cp,20p) PKG_unknown(unknown,Rlp,1meg) PKG_unknown(unknown,Rlm,500k) PKG_none(none,Vdd,DC 3.3V) PKG_none(none,V1,pulse 3.3 0 1u 10p 10p 1.25u 2.5u) PKG_unknown(unknown,Rt,1k) PKG_unknown(unknown,Rb,5.6k) PKG_unknown(unknown,M1,unknown) PKG_unknown(unknown,X1,unknown) Layer(1 "top") ( ) Layer(2 "ground") ( ) Layer(3 "signal2") ( ) Layer(4 "signal3") ( ) Layer(5 "power") ( ) Layer(6 "bottom") ( ) Layer(7 "outline") ( ) Layer(8 "spare") ( ) Layer(9 "silk") ( ) Layer(10 "silk") ( ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/gsch2pcb/TwoStageAmp_Sort.retcode0000664000175000017500000000000212050461155024341 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/gsch2pcb/netattrib.retcode0000664000175000017500000000000212050461155023133 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/gsch2pcb/JD_nomunge.retcode0000664000175000017500000000000212050461155023164 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/gsch2pcb/JD_Include-output.net0000664000175000017500000000201012063576065023612 00000000000000# release: pcb 1.99x # To read pcb files, the pcb version (or the cvs source date) must be >= the file version FileVersion[20070407] PCB["" 600000 500000] Grid[10000.000000 0 0 0] Cursor[0 0 0.000000] PolyArea[200000000.000000] Thermal[0.500000] DRC[1000 1000 1000 1000 1500 1000] Flags("nameonpcb,uniquename,clearnew,snappin") Groups("1,c:2:3:4:5:6,s:7:8") Styles["Signal,1000,3600,2000,1000:Power,2500,6000,3500,1000:Fat,4000,6000,3500,1000:Skinny,600,2402,1181,600"] PKG_unknown(unknown,A1,unknown) PKG_unknown(unknown,Cm,20p) PKG_unknown(unknown,Cp,20p) PKG_unknown(unknown,Rlp,1meg) PKG_unknown(unknown,Rlm,500k) PKG_none(none,Vdd,DC 3.3V) PKG_none(none,V1,pulse 3.3 0 1u 10p 10p 1.25u 2.5u) PKG_unknown(unknown,Rt,1k) PKG_unknown(unknown,Rb,5.6k) PKG_unknown(unknown,M1,unknown) PKG_unknown(unknown,X1,unknown) Layer(1 "top") ( ) Layer(2 "ground") ( ) Layer(3 "signal2") ( ) Layer(4 "signal3") ( ) Layer(5 "power") ( ) Layer(6 "bottom") ( ) Layer(7 "outline") ( ) Layer(8 "spare") ( ) Layer(9 "silk") ( ) Layer(10 "silk") ( ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/gsch2pcb/JD_Sort-output.net0000664000175000017500000000201012063576065023156 00000000000000# release: pcb 1.99x # To read pcb files, the pcb version (or the cvs source date) must be >= the file version FileVersion[20070407] PCB["" 600000 500000] Grid[10000.000000 0 0 0] Cursor[0 0 0.000000] PolyArea[200000000.000000] Thermal[0.500000] DRC[1000 1000 1000 1000 1500 1000] Flags("nameonpcb,uniquename,clearnew,snappin") Groups("1,c:2:3:4:5:6,s:7:8") Styles["Signal,1000,3600,2000,1000:Power,2500,6000,3500,1000:Fat,4000,6000,3500,1000:Skinny,600,2402,1181,600"] PKG_unknown(unknown,A1,unknown) PKG_unknown(unknown,Cm,20p) PKG_unknown(unknown,Cp,20p) PKG_unknown(unknown,Rlp,1meg) PKG_unknown(unknown,Rlm,500k) PKG_none(none,Vdd,DC 3.3V) PKG_none(none,V1,pulse 3.3 0 1u 10p 10p 1.25u 2.5u) PKG_unknown(unknown,Rt,1k) PKG_unknown(unknown,Rb,5.6k) PKG_unknown(unknown,M1,unknown) PKG_unknown(unknown,X1,unknown) Layer(1 "top") ( ) Layer(2 "ground") ( ) Layer(3 "signal2") ( ) Layer(4 "signal3") ( ) Layer(5 "power") ( ) Layer(6 "bottom") ( ) Layer(7 "outline") ( ) Layer(8 "spare") ( ) Layer(9 "silk") ( ) Layer(10 "silk") ( ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/gsch2pcb/cascade.retcode0000664000175000017500000000000212050461155022522 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/gsch2pcb/TwoStageAmp_Sort-output.net0000664000175000017500000000256212063576065025070 00000000000000# release: pcb 1.99x # To read pcb files, the pcb version (or the cvs source date) must be >= the file version FileVersion[20070407] PCB["" 600000 500000] Grid[10000.000000 0 0 0] Cursor[0 0 0.000000] PolyArea[200000000.000000] Thermal[0.500000] DRC[1000 1000 1000 1000 1500 1000] Flags("nameonpcb,uniquename,clearnew,snappin") Groups("1,c:2:3:4:5:6,s:7:8") Styles["Signal,1000,3600,2000,1000:Power,2500,6000,3500,1000:Fat,4000,6000,3500,1000:Skinny,600,2402,1181,600"] PKG_unknown(unknown,C2,2.2uF) PKG_unknown(unknown,R4,2.8K) PKG_unknown(unknown,R3,28K) PKG_unknown(unknown,R8,1) PKG_unknown(unknown,CE2,1pF) PKG_unknown(unknown,RE2,100) PKG_unknown(unknown,RC1,3.3K) PKG_unknown(unknown,Q2,unknown) PKG_unknown(unknown,C1,2.2uF) PKG_unknown(unknown,A3,.options TEMP=25) PKG_unknown(unknown,A2,unknown) PKG_unknown(unknown,A1,unknown) PKG_none(none,VCC,DC 15V) PKG_none(none,Vinput,DC 1.6V AC 10MV SIN(0 1MV 1KHZ)) PKG_unknown(unknown,CE1,1pF) PKG_unknown(unknown,Cout,2.2uF) PKG_unknown(unknown,RL,100K) PKG_unknown(unknown,RC2,1K) PKG_unknown(unknown,RE1,100) PKG_unknown(unknown,R2,2K) PKG_unknown(unknown,R1,28K) PKG_unknown(unknown,R5,10) PKG_unknown(unknown,Q1,unknown) Layer(1 "top") ( ) Layer(2 "ground") ( ) Layer(3 "signal2") ( ) Layer(4 "signal3") ( ) Layer(5 "power") ( ) Layer(6 "bottom") ( ) Layer(7 "outline") ( ) Layer(8 "spare") ( ) Layer(9 "silk") ( ) Layer(10 "silk") ( ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/gsch2pcb/singlenet-output.net0000664000175000017500000000131312063576065023647 00000000000000# release: pcb 1.99x # To read pcb files, the pcb version (or the cvs source date) must be >= the file version FileVersion[20070407] PCB["" 600000 500000] Grid[10000.000000 0 0 0] Cursor[0 0 0.000000] PolyArea[200000000.000000] Thermal[0.500000] DRC[1000 1000 1000 1000 1500 1000] Flags("nameonpcb,uniquename,clearnew,snappin") Groups("1,c:2:3:4:5:6,s:7:8") Styles["Signal,1000,3600,2000,1000:Power,2500,6000,3500,1000:Fat,4000,6000,3500,1000:Skinny,600,2402,1181,600"] PKG_DIP14(DIP14,U100,unknown) Layer(1 "top") ( ) Layer(2 "ground") ( ) Layer(3 "signal2") ( ) Layer(4 "signal3") ( ) Layer(5 "power") ( ) Layer(6 "bottom") ( ) Layer(7 "outline") ( ) Layer(8 "spare") ( ) Layer(9 "silk") ( ) Layer(10 "silk") ( ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/gsch2pcb/TwoStageAmp_Include.retcode0000664000175000017500000000000212050461155024775 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/gsch2pcb/SlottedOpamps-output.net0000664000175000017500000000131512063576065024457 00000000000000# release: pcb 1.99x # To read pcb files, the pcb version (or the cvs source date) must be >= the file version FileVersion[20070407] PCB["" 600000 500000] Grid[10000.000000 0 0 0] Cursor[0 0 0.000000] PolyArea[200000000.000000] Thermal[0.500000] DRC[1000 1000 1000 1000 1500 1000] Flags("nameonpcb,uniquename,clearnew,snappin") Groups("1,c:2:3:4:5:6,s:7:8") Styles["Signal,1000,3600,2000,1000:Power,2500,6000,3500,1000:Fat,4000,6000,3500,1000:Skinny,600,2402,1181,600"] PKG_unknown(unknown,U1,unknown) Layer(1 "top") ( ) Layer(2 "ground") ( ) Layer(3 "signal2") ( ) Layer(4 "signal3") ( ) Layer(5 "power") ( ) Layer(6 "bottom") ( ) Layer(7 "outline") ( ) Layer(8 "spare") ( ) Layer(9 "silk") ( ) Layer(10 "silk") ( ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/gsch2pcb/TwoStageAmp_Include-output.net0000664000175000017500000000256212063576065025524 00000000000000# release: pcb 1.99x # To read pcb files, the pcb version (or the cvs source date) must be >= the file version FileVersion[20070407] PCB["" 600000 500000] Grid[10000.000000 0 0 0] Cursor[0 0 0.000000] PolyArea[200000000.000000] Thermal[0.500000] DRC[1000 1000 1000 1000 1500 1000] Flags("nameonpcb,uniquename,clearnew,snappin") Groups("1,c:2:3:4:5:6,s:7:8") Styles["Signal,1000,3600,2000,1000:Power,2500,6000,3500,1000:Fat,4000,6000,3500,1000:Skinny,600,2402,1181,600"] PKG_unknown(unknown,C2,2.2uF) PKG_unknown(unknown,R4,2.8K) PKG_unknown(unknown,R3,28K) PKG_unknown(unknown,R8,1) PKG_unknown(unknown,CE2,1pF) PKG_unknown(unknown,RE2,100) PKG_unknown(unknown,RC1,3.3K) PKG_unknown(unknown,Q2,unknown) PKG_unknown(unknown,C1,2.2uF) PKG_unknown(unknown,A3,.options TEMP=25) PKG_unknown(unknown,A2,unknown) PKG_unknown(unknown,A1,unknown) PKG_none(none,VCC,DC 15V) PKG_none(none,Vinput,DC 1.6V AC 10MV SIN(0 1MV 1KHZ)) PKG_unknown(unknown,CE1,1pF) PKG_unknown(unknown,Cout,2.2uF) PKG_unknown(unknown,RL,100K) PKG_unknown(unknown,RC2,1K) PKG_unknown(unknown,RE1,100) PKG_unknown(unknown,R2,2K) PKG_unknown(unknown,R1,28K) PKG_unknown(unknown,R5,10) PKG_unknown(unknown,Q1,unknown) Layer(1 "top") ( ) Layer(2 "ground") ( ) Layer(3 "signal2") ( ) Layer(4 "signal3") ( ) Layer(5 "power") ( ) Layer(6 "bottom") ( ) Layer(7 "outline") ( ) Layer(8 "spare") ( ) Layer(9 "silk") ( ) Layer(10 "silk") ( ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/gsch2pcb/singlenet.retcode0000664000175000017500000000000212050461155023127 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/gsch2pcb/JD_Include.retcode0000664000175000017500000000000212050461155023077 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/gsch2pcb/powersupply-output.net0000664000175000017500000000203512063576065024272 00000000000000# release: pcb 1.99x # To read pcb files, the pcb version (or the cvs source date) must be >= the file version FileVersion[20070407] PCB["" 600000 500000] Grid[10000.000000 0 0 0] Cursor[0 0 0.000000] PolyArea[200000000.000000] Thermal[0.500000] DRC[1000 1000 1000 1000 1500 1000] Flags("nameonpcb,uniquename,clearnew,snappin") Groups("1,c:2:3:4:5:6,s:7:8") Styles["Signal,1000,3600,2000,1000:Power,2500,6000,3500,1000:Fat,4000,6000,3500,1000:Skinny,600,2402,1181,600"] PKG_unknown(unknown,U2,unknown) PKG_unknown(unknown,C4,1uf) PKG_unknown(unknown,C3,22uF) PKG_unknown(unknown,R1,5k) PKG_unknown(unknown,C2,0.1uF) PKG_unknown(unknown,R2,220) PKG_unknown(unknown,C1,2200uF) PKG_unknown(unknown,S1,unknown) PKG_unknown(unknown,CONN1,unknown) PKG_unknown(unknown,T1,unknown) PKG_unknown(unknown,F1,unknown) PKG_unknown(unknown,U1,unknown) Layer(1 "top") ( ) Layer(2 "ground") ( ) Layer(3 "signal2") ( ) Layer(4 "signal3") ( ) Layer(5 "power") ( ) Layer(6 "bottom") ( ) Layer(7 "outline") ( ) Layer(8 "spare") ( ) Layer(9 "silk") ( ) Layer(10 "silk") ( ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/gsch2pcb/netattrib-output.net0000664000175000017500000000144712063576065023663 00000000000000# release: pcb 1.99x # To read pcb files, the pcb version (or the cvs source date) must be >= the file version FileVersion[20070407] PCB["" 600000 500000] Grid[10000.000000 0 0 0] Cursor[0 0 0.000000] PolyArea[200000000.000000] Thermal[0.500000] DRC[1000 1000 1000 1000 1500 1000] Flags("nameonpcb,uniquename,clearnew,snappin") Groups("1,c:2:3:4:5:6,s:7:8") Styles["Signal,1000,3600,2000,1000:Power,2500,6000,3500,1000:Fat,4000,6000,3500,1000:Skinny,600,2402,1181,600"] PKG_unknown(unknown,F1,unknown) PKG_DIP14(DIP14,U300,unknown) PKG_DIP14(DIP14,U200,unknown) PKG_DIP14(DIP14,U100,unknown) Layer(1 "top") ( ) Layer(2 "ground") ( ) Layer(3 "signal2") ( ) Layer(4 "signal3") ( ) Layer(5 "power") ( ) Layer(6 "bottom") ( ) Layer(7 "outline") ( ) Layer(8 "spare") ( ) Layer(9 "silk") ( ) Layer(10 "silk") ( ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/gsch2pcb/SlottedOpamps.retcode0000664000175000017500000000000212050461155023735 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/gsch2pcb/JD.retcode0000664000175000017500000000000212050461155021434 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/gsch2pcb/multiequal.retcode0000664000175000017500000000000212050461155023321 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/gsch2pcb/JD_Sort_nomunge.retcode0000664000175000017500000000000212050461155024173 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/gsch2pcb/TwoStageAmp-output.net0000664000175000017500000000256212063576065024061 00000000000000# release: pcb 1.99x # To read pcb files, the pcb version (or the cvs source date) must be >= the file version FileVersion[20070407] PCB["" 600000 500000] Grid[10000.000000 0 0 0] Cursor[0 0 0.000000] PolyArea[200000000.000000] Thermal[0.500000] DRC[1000 1000 1000 1000 1500 1000] Flags("nameonpcb,uniquename,clearnew,snappin") Groups("1,c:2:3:4:5:6,s:7:8") Styles["Signal,1000,3600,2000,1000:Power,2500,6000,3500,1000:Fat,4000,6000,3500,1000:Skinny,600,2402,1181,600"] PKG_unknown(unknown,C2,2.2uF) PKG_unknown(unknown,R4,2.8K) PKG_unknown(unknown,R3,28K) PKG_unknown(unknown,R8,1) PKG_unknown(unknown,CE2,1pF) PKG_unknown(unknown,RE2,100) PKG_unknown(unknown,RC1,3.3K) PKG_unknown(unknown,Q2,unknown) PKG_unknown(unknown,C1,2.2uF) PKG_unknown(unknown,A3,.options TEMP=25) PKG_unknown(unknown,A2,unknown) PKG_unknown(unknown,A1,unknown) PKG_none(none,VCC,DC 15V) PKG_none(none,Vinput,DC 1.6V AC 10MV SIN(0 1MV 1KHZ)) PKG_unknown(unknown,CE1,1pF) PKG_unknown(unknown,Cout,2.2uF) PKG_unknown(unknown,RL,100K) PKG_unknown(unknown,RC2,1K) PKG_unknown(unknown,RE1,100) PKG_unknown(unknown,R2,2K) PKG_unknown(unknown,R1,28K) PKG_unknown(unknown,R5,10) PKG_unknown(unknown,Q1,unknown) Layer(1 "top") ( ) Layer(2 "ground") ( ) Layer(3 "signal2") ( ) Layer(4 "signal3") ( ) Layer(5 "power") ( ) Layer(6 "bottom") ( ) Layer(7 "outline") ( ) Layer(8 "spare") ( ) Layer(9 "silk") ( ) Layer(10 "silk") ( ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/gsch2pcb/JD_Include_nomunge.retcode0000664000175000017500000000000212050461155024627 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/eagle/0000775000175000017500000000000012220655756017255 500000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/eagle/JD_Include_nomunge-output.net0000664000175000017500000000202712050461155024721 00000000000000 ; ADD 'A1' unknown@smd-ipc (1 1); VALUE 'A1' 'model'; ADD 'Cm' unknown@smd-ipc (1 1); VALUE 'Cm' '20p'; ADD 'Cp' unknown@smd-ipc (1 1); VALUE 'Cp' '20p'; ADD 'Rlp' unknown@smd-ipc (1 1); VALUE 'Rlp' '1meg'; ADD 'Rlm' unknown@smd-ipc (1 1); VALUE 'Rlm' '500k'; ADD 'Vdd' none@smd-ipc (1 1); VALUE 'Vdd' 'DC 3.3V'; ADD 'V1' none@smd-ipc (1 1); VALUE 'V1' 'pulse 3.3 0 1u 10p 10p 1.25u 2.5u'; ADD 'Rt' unknown@smd-ipc (1 1); VALUE 'Rt' '1k'; ADD 'Rb' unknown@smd-ipc (1 1); VALUE 'Rb' '5.6k'; ADD 'M1' unknown@smd-ipc (1 1); VALUE 'M1' 'PMOS_TRANSISTOR'; ADD 'X1' unknown@smd-ipc (1 1); VALUE 'X1' 'LVD'; SIGNAL 'VDD1' 'Rlp' '2' 'M1' 'B' 'M1' 'S' 'Vdd' '1' 'X1' '6' ; SIGNAL 'GND' 'Cm' '2' 'Cp' '2' 'Rlm' '2' 'Vdd' '2' 'V1' '2' 'Rb' '1' 'X1' '7' 'X1' '2' ; SIGNAL 'LVH' 'Rb' '2' 'M1' 'D' 'M1' 'G' 'X1' '3' ; SIGNAL 'I' 'V1' '1' 'X1' '1' ; SIGNAL 'P' 'Cp' '1' 'Rt' '1' 'Rlp' '1' 'X1' '5' ; SIGNAL 'M' 'Cm' '1' 'Rlm' '1' 'Rt' '2' 'X1' '4' ; geda-gaf-1.8.2/gnetlist/tests/common/outputs/eagle/JD-output.net0000664000175000017500000000202712050461155021526 00000000000000 ; ADD 'A1' unknown@smd-ipc (1 1); VALUE 'A1' 'model'; ADD 'Cm' unknown@smd-ipc (1 1); VALUE 'Cm' '20p'; ADD 'Cp' unknown@smd-ipc (1 1); VALUE 'Cp' '20p'; ADD 'Rlp' unknown@smd-ipc (1 1); VALUE 'Rlp' '1meg'; ADD 'Rlm' unknown@smd-ipc (1 1); VALUE 'Rlm' '500k'; ADD 'Vdd' none@smd-ipc (1 1); VALUE 'Vdd' 'DC 3.3V'; ADD 'V1' none@smd-ipc (1 1); VALUE 'V1' 'pulse 3.3 0 1u 10p 10p 1.25u 2.5u'; ADD 'Rt' unknown@smd-ipc (1 1); VALUE 'Rt' '1k'; ADD 'Rb' unknown@smd-ipc (1 1); VALUE 'Rb' '5.6k'; ADD 'M1' unknown@smd-ipc (1 1); VALUE 'M1' 'PMOS_TRANSISTOR'; ADD 'X1' unknown@smd-ipc (1 1); VALUE 'X1' 'LVD'; SIGNAL 'VDD1' 'Rlp' '2' 'M1' 'B' 'M1' 'S' 'Vdd' '1' 'X1' '6' ; SIGNAL 'GND' 'Cm' '2' 'Cp' '2' 'Rlm' '2' 'Vdd' '2' 'V1' '2' 'Rb' '1' 'X1' '7' 'X1' '2' ; SIGNAL 'LVH' 'Rb' '2' 'M1' 'D' 'M1' 'G' 'X1' '3' ; SIGNAL 'I' 'V1' '1' 'X1' '1' ; SIGNAL 'P' 'Cp' '1' 'Rt' '1' 'Rlp' '1' 'X1' '5' ; SIGNAL 'M' 'Cm' '1' 'Rlm' '1' 'Rt' '2' 'X1' '4' ; geda-gaf-1.8.2/gnetlist/tests/common/outputs/eagle/TwoStageAmp.retcode0000664000175000017500000000000212050461155022714 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/eagle/stack-torture-output.net0000664000175000017500000014633712063576065024070 00000000000000 ; ADD 'C?' unknown@smd-ipc (1 1); VALUE 'C?' 'CAPACITOR'; SIGNAL 'UNNAMED_NET1025' 'C?' '2' ; SIGNAL 'UNNAMED_NET1024' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET1023' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET1022' 'C?' '2' ; SIGNAL 'UNNAMED_NET1021' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET1020' 'C?' '2' ; SIGNAL 'UNNAMED_NET1019' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET1018' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET1017' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET1016' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET1015' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET1014' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET1013' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET1012' 'C?' '2' ; SIGNAL 'UNNAMED_NET1011' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET1010' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET1009' 'C?' '2' ; SIGNAL 'UNNAMED_NET1008' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET1007' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET1006' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET1005' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET1004' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET1003' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET1002' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET1001' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET1000' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET999' 'C?' '2' ; SIGNAL 'UNNAMED_NET998' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET997' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET996' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET995' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET994' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET993' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET992' 'C?' '2' ; SIGNAL 'UNNAMED_NET991' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET990' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET989' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET988' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET987' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET986' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET985' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET984' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET983' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET982' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET981' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET980' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET979' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET978' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET977' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET976' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET975' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET974' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET973' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET972' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET971' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET970' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET969' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET968' 'C?' '2' ; SIGNAL 'UNNAMED_NET967' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET966' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET965' 'C?' '2' ; SIGNAL 'UNNAMED_NET964' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET963' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET962' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET961' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET960' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET959' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET958' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET957' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET956' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET955' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET954' 'C?' '2' ; SIGNAL 'UNNAMED_NET953' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET952' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET951' 'C?' '2' ; SIGNAL 'UNNAMED_NET950' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET949' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET948' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET947' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET946' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET945' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET944' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET943' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET942' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET941' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET940' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET939' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET938' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET937' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET936' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET935' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET934' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET933' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET932' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET931' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET930' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET929' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET928' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET927' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET926' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET925' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET924' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET923' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET922' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET921' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET920' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET919' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET918' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET917' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET916' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET915' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET914' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET913' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET912' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET911' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET910' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET909' 'C?' '2' ; SIGNAL 'UNNAMED_NET908' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET907' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET906' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET905' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET904' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET903' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET902' 'C?' '2' ; SIGNAL 'UNNAMED_NET901' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET900' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET899' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET898' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET897' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET896' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET895' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET894' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET893' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET892' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET891' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET890' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET889' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET888' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET887' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET886' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET885' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET884' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET883' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET882' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET881' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET880' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET879' 'C?' '2' ; SIGNAL 'UNNAMED_NET878' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET877' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET876' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET875' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET874' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET873' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET872' 'C?' '2' ; SIGNAL 'UNNAMED_NET871' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET870' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET869' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET868' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET867' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET866' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET865' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET864' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET863' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET862' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET861' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET860' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET859' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET858' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET857' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET856' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET855' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET854' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET853' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET852' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET851' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET850' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET849' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET848' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET847' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET846' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET845' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET844' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET843' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET842' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET841' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET840' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET839' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET838' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET837' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET836' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET835' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET834' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET833' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET832' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET831' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET830' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET829' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET828' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET827' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET826' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET825' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET824' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET823' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET822' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET821' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET820' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET819' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET818' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET817' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET816' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET815' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET814' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET813' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET812' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET811' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET810' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET809' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET808' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET807' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET806' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET805' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET804' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET803' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET802' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET801' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET800' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET799' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET798' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET797' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET796' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET795' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET794' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET793' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET792' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET791' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET790' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET789' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET788' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET787' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET786' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET785' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET784' 'C?' '2' ; SIGNAL 'UNNAMED_NET783' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET782' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET781' 'C?' '2' ; SIGNAL 'UNNAMED_NET780' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET779' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET778' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET777' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET776' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET775' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET774' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET773' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET772' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET771' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET770' 'C?' '2' ; SIGNAL 'UNNAMED_NET769' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET768' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET767' 'C?' '2' ; SIGNAL 'UNNAMED_NET766' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET765' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET764' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET763' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET762' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET761' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET760' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET759' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET758' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET757' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET756' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET755' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET754' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET753' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET752' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET751' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET750' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET749' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET748' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET747' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET746' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET745' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET744' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET743' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET742' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET741' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET740' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET739' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET738' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET737' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET736' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET735' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET734' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET733' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET732' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET731' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET730' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET729' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET728' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET727' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET726' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET725' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET724' 'C?' '2' ; SIGNAL 'UNNAMED_NET723' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET722' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET721' 'C?' '2' ; SIGNAL 'UNNAMED_NET720' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET719' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET718' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET717' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET716' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET715' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET714' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET713' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET712' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET711' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET710' 'C?' '2' ; SIGNAL 'UNNAMED_NET709' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET708' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET707' 'C?' '2' ; SIGNAL 'UNNAMED_NET706' 'C?' '1' ; SIGNAL 'UNNAMED_NET705' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET704' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET703' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET702' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET701' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET700' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET699' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET698' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET697' 'C?' '1' ; SIGNAL 'UNNAMED_NET696' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET695' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET694' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET693' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET692' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET691' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET690' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET689' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET688' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET687' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET686' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET685' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET684' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET683' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET682' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET681' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET680' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET679' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET678' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET677' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET676' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET675' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET674' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET673' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET672' 'C?' '1' ; SIGNAL 'UNNAMED_NET671' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET670' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET669' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET668' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET667' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET666' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET665' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET664' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET663' 'C?' '1' ; SIGNAL 'UNNAMED_NET662' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET661' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET660' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET659' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET658' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET657' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET656' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET655' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET654' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET653' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET652' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET651' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET650' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET649' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET648' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET647' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET646' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET645' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET644' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET643' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET642' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET641' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET640' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET639' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET638' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET637' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET636' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET635' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET634' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET633' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET632' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET631' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET630' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET629' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET628' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET627' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET626' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET625' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET624' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET623' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET622' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET621' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET620' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET619' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET618' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET617' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET616' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET615' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET614' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET613' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET612' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET611' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET610' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET609' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET608' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET607' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET606' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET605' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET604' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET603' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET602' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET601' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET600' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET599' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET598' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET597' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET596' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET595' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET594' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET593' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET592' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET591' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET590' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET589' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET588' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET587' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET586' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET585' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET584' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET583' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET582' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET581' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET580' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET579' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET578' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET577' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET576' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET575' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET574' 'C?' '1' ; SIGNAL 'UNNAMED_NET573' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET572' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET571' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET570' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET569' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET568' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET567' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET566' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET565' 'C?' '1' ; SIGNAL 'UNNAMED_NET564' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET563' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET562' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET561' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET560' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET559' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET558' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET557' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET556' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET555' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET554' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET553' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET552' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET551' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET550' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET549' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET548' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET547' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET546' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET545' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET544' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET543' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET542' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET541' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET540' 'C?' '1' ; SIGNAL 'UNNAMED_NET539' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET538' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET537' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET536' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET535' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET534' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET533' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET532' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET531' 'C?' '1' ; SIGNAL 'UNNAMED_NET530' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET529' 'C?' '2' ; SIGNAL 'UNNAMED_NET528' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET527' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET526' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET525' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET524' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET523' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET522' 'C?' '2' ; SIGNAL 'UNNAMED_NET521' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET520' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET519' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET518' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET517' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET516' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET515' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET514' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET513' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET512' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET511' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET510' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET509' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET508' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET507' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET506' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET505' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET504' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET503' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET502' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET501' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET500' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET499' 'C?' '2' ; SIGNAL 'UNNAMED_NET498' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET497' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET496' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET495' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET494' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET493' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET492' 'C?' '2' ; SIGNAL 'UNNAMED_NET491' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET490' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET489' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET488' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET487' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET486' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET485' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET484' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET483' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET482' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET481' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET480' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET479' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET478' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET477' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET476' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET475' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET474' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET473' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET472' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET471' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET470' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET469' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET468' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET467' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET466' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET465' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET464' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET463' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET462' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET461' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET460' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET459' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET458' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET457' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET456' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET455' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET454' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET453' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET452' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET451' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET450' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET449' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET448' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET447' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET446' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET445' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET444' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET443' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET442' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET441' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET440' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET439' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET438' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET437' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET436' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET435' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET434' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET433' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET432' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET431' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET430' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET429' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET428' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET427' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET426' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET425' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET424' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET423' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET422' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET421' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET420' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET419' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET418' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET417' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET416' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET415' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET414' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET413' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET412' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET411' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET410' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET409' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET408' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET407' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET406' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET405' 'C?' '2' ; SIGNAL 'UNNAMED_NET404' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET403' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET402' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET401' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET400' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET399' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET398' 'C?' '2' ; SIGNAL 'UNNAMED_NET397' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET396' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET395' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET394' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET393' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET392' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET391' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET390' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET389' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET388' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET387' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET386' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET385' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET384' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET383' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET382' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET381' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET380' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET379' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET378' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET377' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET376' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET375' 'C?' '2' ; SIGNAL 'UNNAMED_NET374' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET373' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET372' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET371' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET370' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET369' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET368' 'C?' '2' ; SIGNAL 'UNNAMED_NET367' 'C?' '2' ; SIGNAL 'UNNAMED_NET366' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET365' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET364' 'C?' '1' ; SIGNAL 'UNNAMED_NET363' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET362' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET361' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET360' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET359' 'C?' '1' ; SIGNAL 'UNNAMED_NET358' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET357' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET356' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET355' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET354' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET353' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET352' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET351' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET350' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET349' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET348' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET347' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET346' 'C?' '1' ; SIGNAL 'UNNAMED_NET345' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET344' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET343' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET342' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET341' 'C?' '1' ; SIGNAL 'UNNAMED_NET340' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET339' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET338' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET337' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET336' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET335' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET334' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET333' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET332' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET331' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET330' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET329' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET328' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET327' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET326' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET325' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET324' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET323' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET322' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET321' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET320' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET319' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET318' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET317' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET316' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET315' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET314' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET313' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET312' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET311' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET310' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET309' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET308' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET307' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET306' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET305' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET304' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET303' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET302' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET301' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET300' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET299' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET298' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET297' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET296' 'C?' '1' ; SIGNAL 'UNNAMED_NET295' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET294' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET293' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET292' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET291' 'C?' '1' ; SIGNAL 'UNNAMED_NET290' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET289' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET288' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET287' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET286' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET285' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET284' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET283' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET282' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET281' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET280' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET279' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET278' 'C?' '1' ; SIGNAL 'UNNAMED_NET277' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET276' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET275' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET274' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET273' 'C?' '1' ; SIGNAL 'UNNAMED_NET272' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET271' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET270' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET269' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET268' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET267' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET266' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET265' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET264' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET263' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET262' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET261' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET260' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET259' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET258' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET257' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET256' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET255' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET254' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET253' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET252' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET251' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET250' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET249' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET248' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET247' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET246' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET245' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET244' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET243' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET242' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET241' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET240' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET239' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET238' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET237' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET236' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET235' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET234' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET233' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET232' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET231' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET230' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET229' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET228' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET227' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET226' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET225' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET224' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET223' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET222' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET221' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET220' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET219' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET218' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET217' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET216' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET215' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET214' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET213' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET212' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET211' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET210' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET209' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET208' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET207' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET206' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET205' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET204' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET203' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET202' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET201' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET200' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET199' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET198' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET197' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET196' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET195' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET194' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET193' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET192' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET191' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET190' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET189' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET188' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET187' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET186' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET185' 'C?' '1' ; SIGNAL 'UNNAMED_NET184' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET183' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET182' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET181' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET180' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET179' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET178' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET177' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET176' 'C?' '1' ; SIGNAL 'UNNAMED_NET175' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET174' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET173' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET172' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET171' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET170' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET169' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET168' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET167' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET166' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET165' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET164' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET163' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET162' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET161' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET160' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET159' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET158' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET157' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET156' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET155' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET154' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET153' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET152' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET151' 'C?' '1' ; SIGNAL 'UNNAMED_NET150' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET149' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET148' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET147' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET146' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET145' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET144' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET143' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET142' 'C?' '1' ; SIGNAL 'UNNAMED_NET141' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET140' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET139' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET138' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET137' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET136' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET135' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET134' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET133' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET132' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET131' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET130' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET129' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET128' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET127' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET126' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET125' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET124' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET123' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET122' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET121' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET120' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET119' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET118' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET117' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET116' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET115' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET114' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET113' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET112' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET111' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET110' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET109' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET108' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET107' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET106' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET105' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET104' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET103' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET102' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET101' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET100' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET99' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET98' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET97' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET96' 'C?' '1' ; SIGNAL 'UNNAMED_NET95' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET94' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET93' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET92' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET91' 'C?' '1' ; SIGNAL 'UNNAMED_NET90' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET89' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET88' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET87' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET86' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET85' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET84' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET83' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET82' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET81' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET80' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET79' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET78' 'C?' '1' ; SIGNAL 'UNNAMED_NET77' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET76' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET75' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET74' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET73' 'C?' '1' ; SIGNAL 'UNNAMED_NET72' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET71' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET70' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET69' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET68' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET67' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET66' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET65' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET64' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET63' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET62' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET61' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET60' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET59' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET58' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET57' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET56' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET55' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET54' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET53' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET52' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET51' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET50' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET49' 'C?' '1' ; SIGNAL 'UNNAMED_NET48' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET47' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET46' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET45' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET44' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET43' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET42' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET41' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET40' 'C?' '1' ; SIGNAL 'UNNAMED_NET39' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET38' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET37' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET36' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET35' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET34' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET33' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET32' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET31' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET30' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET29' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET28' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET27' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET26' 'C?' '1' ; SIGNAL 'UNNAMED_NET25' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET24' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET23' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET22' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET21' 'C?' '1' ; SIGNAL 'UNNAMED_NET20' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET19' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET18' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET17' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET16' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET15' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET14' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET13' 'C?' '1' ; SIGNAL 'UNNAMED_NET12' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET11' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET10' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET9' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET8' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET7' 'C?' '1' ; SIGNAL 'UNNAMED_NET6' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET5' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET4' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET3' 'C?' '1' ; SIGNAL 'UNNAMED_NET2' 'C?' '1' 'C?' '2' ; SIGNAL 'UNNAMED_NET1' 'C?' '1' ; geda-gaf-1.8.2/gnetlist/tests/common/outputs/eagle/JD_Sort.retcode0000664000175000017500000000000212050461155022025 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/eagle/cascade-output.net0000664000175000017500000000154212050461155022615 00000000000000 ; ADD 'AMP2' none@smd-ipc (1 1); VALUE 'AMP2' 'cascade-amp'; ADD 'T1' none@smd-ipc (1 1); VALUE 'T1' 'cascade-transformer'; ADD 'MX1' none@smd-ipc (1 1); VALUE 'MX1' 'cascade-mixer'; ADD 'FL1' none@smd-ipc (1 1); VALUE 'FL1' 'cascade-filter'; ADD 'DEF1' none@smd-ipc (1 1); VALUE 'DEF1' 'cascade-defaults'; ADD 'AMP1' none@smd-ipc (1 1); VALUE 'AMP1' 'cascade-amp'; ADD 'SOURCE' none@smd-ipc (1 1); VALUE 'SOURCE' 'cascade-source'; ADD 'DEFAULTS' unknown@smd-ipc (1 1); VALUE 'DEFAULTS' 'cascade-defaults-top'; SIGNAL 'UNNAMED_NET6' 'AMP2' '1' 'T1' '2' ; SIGNAL 'UNNAMED_NET5' 'T1' '1' 'MX1' '2' ; SIGNAL 'UNNAMED_NET4' 'MX1' '1' 'FL1' '2' ; SIGNAL 'UNNAMED_NET3' 'FL1' '1' 'DEF1' '2' ; SIGNAL 'UNNAMED_NET2' 'DEF1' '1' 'AMP1' '2' ; SIGNAL 'UNNAMED_NET1' 'AMP1' '1' 'SOURCE' '1' ; SIGNAL 'GND' 'DEFAULTS' '1' ; geda-gaf-1.8.2/gnetlist/tests/common/outputs/eagle/multiequal-output.net0000664000175000017500000000037512050461155023417 00000000000000 ; ADD 'V1' none@smd-ipc (1 1); VALUE 'V1' 'DC 1V'; ADD 'R1' unknown@smd-ipc (1 1); VALUE 'R1' '20'; ADD 'A1' unknown@smd-ipc (1 1); VALUE 'A1' 'abotol=1e-11'; SIGNAL 'GND' 'V1' '2' 'R1' '1' ; SIGNAL 'UNNAMED_NET1' 'V1' '1' 'R1' '2' ; geda-gaf-1.8.2/gnetlist/tests/common/outputs/eagle/JD_nomunge-output.net0000664000175000017500000000202712050461155023256 00000000000000 ; ADD 'A1' unknown@smd-ipc (1 1); VALUE 'A1' 'model'; ADD 'Cm' unknown@smd-ipc (1 1); VALUE 'Cm' '20p'; ADD 'Cp' unknown@smd-ipc (1 1); VALUE 'Cp' '20p'; ADD 'Rlp' unknown@smd-ipc (1 1); VALUE 'Rlp' '1meg'; ADD 'Rlm' unknown@smd-ipc (1 1); VALUE 'Rlm' '500k'; ADD 'Vdd' none@smd-ipc (1 1); VALUE 'Vdd' 'DC 3.3V'; ADD 'V1' none@smd-ipc (1 1); VALUE 'V1' 'pulse 3.3 0 1u 10p 10p 1.25u 2.5u'; ADD 'Rt' unknown@smd-ipc (1 1); VALUE 'Rt' '1k'; ADD 'Rb' unknown@smd-ipc (1 1); VALUE 'Rb' '5.6k'; ADD 'M1' unknown@smd-ipc (1 1); VALUE 'M1' 'PMOS_TRANSISTOR'; ADD 'X1' unknown@smd-ipc (1 1); VALUE 'X1' 'LVD'; SIGNAL 'VDD1' 'Rlp' '2' 'M1' 'B' 'M1' 'S' 'Vdd' '1' 'X1' '6' ; SIGNAL 'GND' 'Cm' '2' 'Cp' '2' 'Rlm' '2' 'Vdd' '2' 'V1' '2' 'Rb' '1' 'X1' '7' 'X1' '2' ; SIGNAL 'LVH' 'Rb' '2' 'M1' 'D' 'M1' 'G' 'X1' '3' ; SIGNAL 'I' 'V1' '1' 'X1' '1' ; SIGNAL 'P' 'Cp' '1' 'Rt' '1' 'Rlp' '1' 'X1' '5' ; SIGNAL 'M' 'Cm' '1' 'Rlm' '1' 'Rt' '2' 'X1' '4' ; geda-gaf-1.8.2/gnetlist/tests/common/outputs/eagle/stack-torture.retcode0000664000175000017500000000000212063576065023343 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/eagle/powersupply.retcode0000664000175000017500000000000212050461155023132 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/eagle/JD_Sort_nomunge-output.net0000664000175000017500000000202712050461155024265 00000000000000 ; ADD 'A1' unknown@smd-ipc (1 1); VALUE 'A1' 'model'; ADD 'Cm' unknown@smd-ipc (1 1); VALUE 'Cm' '20p'; ADD 'Cp' unknown@smd-ipc (1 1); VALUE 'Cp' '20p'; ADD 'Rlp' unknown@smd-ipc (1 1); VALUE 'Rlp' '1meg'; ADD 'Rlm' unknown@smd-ipc (1 1); VALUE 'Rlm' '500k'; ADD 'Vdd' none@smd-ipc (1 1); VALUE 'Vdd' 'DC 3.3V'; ADD 'V1' none@smd-ipc (1 1); VALUE 'V1' 'pulse 3.3 0 1u 10p 10p 1.25u 2.5u'; ADD 'Rt' unknown@smd-ipc (1 1); VALUE 'Rt' '1k'; ADD 'Rb' unknown@smd-ipc (1 1); VALUE 'Rb' '5.6k'; ADD 'M1' unknown@smd-ipc (1 1); VALUE 'M1' 'PMOS_TRANSISTOR'; ADD 'X1' unknown@smd-ipc (1 1); VALUE 'X1' 'LVD'; SIGNAL 'VDD1' 'Rlp' '2' 'M1' 'B' 'M1' 'S' 'Vdd' '1' 'X1' '6' ; SIGNAL 'GND' 'Cm' '2' 'Cp' '2' 'Rlm' '2' 'Vdd' '2' 'V1' '2' 'Rb' '1' 'X1' '7' 'X1' '2' ; SIGNAL 'LVH' 'Rb' '2' 'M1' 'D' 'M1' 'G' 'X1' '3' ; SIGNAL 'I' 'V1' '1' 'X1' '1' ; SIGNAL 'P' 'Cp' '1' 'Rt' '1' 'Rlp' '1' 'X1' '5' ; SIGNAL 'M' 'Cm' '1' 'Rlm' '1' 'Rt' '2' 'X1' '4' ; geda-gaf-1.8.2/gnetlist/tests/common/outputs/eagle/TwoStageAmp_Sort.retcode0000664000175000017500000000000212050461155023723 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/eagle/netattrib.retcode0000664000175000017500000000000212050461155022515 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/eagle/JD_nomunge.retcode0000664000175000017500000000000212050461155022546 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/eagle/JD_Include-output.net0000664000175000017500000000202712050461155023171 00000000000000 ; ADD 'A1' unknown@smd-ipc (1 1); VALUE 'A1' 'model'; ADD 'Cm' unknown@smd-ipc (1 1); VALUE 'Cm' '20p'; ADD 'Cp' unknown@smd-ipc (1 1); VALUE 'Cp' '20p'; ADD 'Rlp' unknown@smd-ipc (1 1); VALUE 'Rlp' '1meg'; ADD 'Rlm' unknown@smd-ipc (1 1); VALUE 'Rlm' '500k'; ADD 'Vdd' none@smd-ipc (1 1); VALUE 'Vdd' 'DC 3.3V'; ADD 'V1' none@smd-ipc (1 1); VALUE 'V1' 'pulse 3.3 0 1u 10p 10p 1.25u 2.5u'; ADD 'Rt' unknown@smd-ipc (1 1); VALUE 'Rt' '1k'; ADD 'Rb' unknown@smd-ipc (1 1); VALUE 'Rb' '5.6k'; ADD 'M1' unknown@smd-ipc (1 1); VALUE 'M1' 'PMOS_TRANSISTOR'; ADD 'X1' unknown@smd-ipc (1 1); VALUE 'X1' 'LVD'; SIGNAL 'VDD1' 'Rlp' '2' 'M1' 'B' 'M1' 'S' 'Vdd' '1' 'X1' '6' ; SIGNAL 'GND' 'Cm' '2' 'Cp' '2' 'Rlm' '2' 'Vdd' '2' 'V1' '2' 'Rb' '1' 'X1' '7' 'X1' '2' ; SIGNAL 'LVH' 'Rb' '2' 'M1' 'D' 'M1' 'G' 'X1' '3' ; SIGNAL 'I' 'V1' '1' 'X1' '1' ; SIGNAL 'P' 'Cp' '1' 'Rt' '1' 'Rlp' '1' 'X1' '5' ; SIGNAL 'M' 'Cm' '1' 'Rlm' '1' 'Rt' '2' 'X1' '4' ; geda-gaf-1.8.2/gnetlist/tests/common/outputs/eagle/JD_Sort-output.net0000664000175000017500000000202712050461155022535 00000000000000 ; ADD 'A1' unknown@smd-ipc (1 1); VALUE 'A1' 'model'; ADD 'Cm' unknown@smd-ipc (1 1); VALUE 'Cm' '20p'; ADD 'Cp' unknown@smd-ipc (1 1); VALUE 'Cp' '20p'; ADD 'Rlp' unknown@smd-ipc (1 1); VALUE 'Rlp' '1meg'; ADD 'Rlm' unknown@smd-ipc (1 1); VALUE 'Rlm' '500k'; ADD 'Vdd' none@smd-ipc (1 1); VALUE 'Vdd' 'DC 3.3V'; ADD 'V1' none@smd-ipc (1 1); VALUE 'V1' 'pulse 3.3 0 1u 10p 10p 1.25u 2.5u'; ADD 'Rt' unknown@smd-ipc (1 1); VALUE 'Rt' '1k'; ADD 'Rb' unknown@smd-ipc (1 1); VALUE 'Rb' '5.6k'; ADD 'M1' unknown@smd-ipc (1 1); VALUE 'M1' 'PMOS_TRANSISTOR'; ADD 'X1' unknown@smd-ipc (1 1); VALUE 'X1' 'LVD'; SIGNAL 'VDD1' 'Rlp' '2' 'M1' 'B' 'M1' 'S' 'Vdd' '1' 'X1' '6' ; SIGNAL 'GND' 'Cm' '2' 'Cp' '2' 'Rlm' '2' 'Vdd' '2' 'V1' '2' 'Rb' '1' 'X1' '7' 'X1' '2' ; SIGNAL 'LVH' 'Rb' '2' 'M1' 'D' 'M1' 'G' 'X1' '3' ; SIGNAL 'I' 'V1' '1' 'X1' '1' ; SIGNAL 'P' 'Cp' '1' 'Rt' '1' 'Rlp' '1' 'X1' '5' ; SIGNAL 'M' 'Cm' '1' 'Rlm' '1' 'Rt' '2' 'X1' '4' ; geda-gaf-1.8.2/gnetlist/tests/common/outputs/eagle/cascade.retcode0000664000175000017500000000000212050461155022104 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/eagle/TwoStageAmp_Sort-output.net0000664000175000017500000000376412050461155024444 00000000000000 ; ADD 'C2' unknown@smd-ipc (1 1); VALUE 'C2' '2.2uF'; ADD 'R4' unknown@smd-ipc (1 1); VALUE 'R4' '2.8K'; ADD 'R3' unknown@smd-ipc (1 1); VALUE 'R3' '28K'; ADD 'R8' unknown@smd-ipc (1 1); VALUE 'R8' '1'; ADD 'CE2' unknown@smd-ipc (1 1); VALUE 'CE2' '1pF'; ADD 'RE2' unknown@smd-ipc (1 1); VALUE 'RE2' '100'; ADD 'RC1' unknown@smd-ipc (1 1); VALUE 'RC1' '3.3K'; ADD 'Q2' unknown@smd-ipc (1 1); VALUE 'Q2' 'NPN_TRANSISTOR'; ADD 'C1' unknown@smd-ipc (1 1); VALUE 'C1' '2.2uF'; ADD 'A3' unknown@smd-ipc (1 1); VALUE 'A3' '.options TEMP=25'; ADD 'A2' unknown@smd-ipc (1 1); VALUE 'A2' 'include'; ADD 'A1' unknown@smd-ipc (1 1); VALUE 'A1' 'model'; ADD 'VCC' none@smd-ipc (1 1); VALUE 'VCC' 'DC 15V'; ADD 'Vinput' none@smd-ipc (1 1); VALUE 'Vinput' 'DC 1.6V AC 10MV SIN(0 1MV 1KHZ)'; ADD 'CE1' unknown@smd-ipc (1 1); VALUE 'CE1' '1pF'; ADD 'Cout' unknown@smd-ipc (1 1); VALUE 'Cout' '2.2uF'; ADD 'RL' unknown@smd-ipc (1 1); VALUE 'RL' '100K'; ADD 'RC2' unknown@smd-ipc (1 1); VALUE 'RC2' '1K'; ADD 'RE1' unknown@smd-ipc (1 1); VALUE 'RE1' '100'; ADD 'R2' unknown@smd-ipc (1 1); VALUE 'R2' '2K'; ADD 'R1' unknown@smd-ipc (1 1); VALUE 'R1' '28K'; ADD 'R5' unknown@smd-ipc (1 1); VALUE 'R5' '10'; ADD 'Q1' unknown@smd-ipc (1 1); VALUE 'Q1' 'NPN_TRANSISTOR'; SIGNAL 'UNNAMED_NET2' 'C2' '1' 'R8' '2' ; SIGNAL 'VBASE2' 'R3' '1' 'C2' '2' 'R4' '2' 'Q2' '2' ; SIGNAL 'VEM2' 'CE2' '2' 'RE2' '2' 'Q2' '1' ; SIGNAL 'VOUT' 'Cout' '2' 'RL' '2' ; SIGNAL 'VCOLL2' 'Q2' '3' 'Cout' '1' 'RC2' '1' ; SIGNAL 'GND' 'R4' '1' 'CE2' '1' 'RE2' '1' 'VCC' '2' 'Vinput' '2' 'CE1' '1' 'RL' '1' 'RE1' '1' 'R2' '1' ; SIGNAL 'VCC' 'R3' '2' 'RC1' '2' 'VCC' '1' 'RC2' '2' 'R1' '2' ; SIGNAL 'VIN' 'Vinput' '1' 'R5' '1' ; SIGNAL 'UNNAMED_NET1' 'C1' '1' 'R5' '2' ; SIGNAL 'VBASE1' 'C1' '2' 'R2' '2' 'R1' '1' 'Q1' '2' ; SIGNAL 'VEM1' 'CE1' '2' 'RE1' '2' 'Q1' '1' ; SIGNAL 'VCOLL1' 'R8' '1' 'RC1' '1' 'Q1' '3' ; geda-gaf-1.8.2/gnetlist/tests/common/outputs/eagle/singlenet-output.net0000664000175000017500000000042612050461155023222 00000000000000 ; ADD 'U100' DIP14@smd-ipc (1 1); VALUE 'U100' '7400'; SIGNAL 'SING_N_2' 'U100' '1' 'U100' '3' ; SIGNAL 'GND' 'U100' '7' ; SIGNAL 'VCC' 'U100' '14' ; SIGNAL 'SING_N' 'U100' '4' 'U100' '5' 'U100' '10' 'U100' '8' 'U100' '9' 'U100' '6' ; geda-gaf-1.8.2/gnetlist/tests/common/outputs/eagle/TwoStageAmp_Include.retcode0000664000175000017500000000000212050461155024357 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/eagle/SlottedOpamps-output.net0000664000175000017500000000076212050461155024033 00000000000000 ; ADD 'U1' unknown@smd-ipc (1 1); VALUE 'U1' 'LM324'; SIGNAL 'MINUSIN_SLOT4_PIN13_B' 'U1' '13' ; SIGNAL 'PLUSIN_SLOT4_PIN12_A' 'U1' '12' ; SIGNAL 'MINUSIN_SLOT3_PIN_B' 'U1' '9' ; SIGNAL 'PLUSIN_SLOT3_PIN10_A' 'U1' '10' ; SIGNAL 'MINUSIN_SLOT2_PIN6_B' 'U1' '6' ; SIGNAL 'PLUSIN_SLOT2_PIN5_A' 'U1' '5' ; SIGNAL 'SAMENET_OUTPUT_C' 'U1' '14' 'U1' '8' 'U1' '7' 'U1' '1' ; SIGNAL 'MINUSIN_SLOT1_PIN_B' 'U1' '2' ; SIGNAL 'PLUSIN_SLOT1_PIN3_A' 'U1' '3' ; geda-gaf-1.8.2/gnetlist/tests/common/outputs/eagle/TwoStageAmp_Include-output.net0000664000175000017500000000376412050461155025100 00000000000000 ; ADD 'C2' unknown@smd-ipc (1 1); VALUE 'C2' '2.2uF'; ADD 'R4' unknown@smd-ipc (1 1); VALUE 'R4' '2.8K'; ADD 'R3' unknown@smd-ipc (1 1); VALUE 'R3' '28K'; ADD 'R8' unknown@smd-ipc (1 1); VALUE 'R8' '1'; ADD 'CE2' unknown@smd-ipc (1 1); VALUE 'CE2' '1pF'; ADD 'RE2' unknown@smd-ipc (1 1); VALUE 'RE2' '100'; ADD 'RC1' unknown@smd-ipc (1 1); VALUE 'RC1' '3.3K'; ADD 'Q2' unknown@smd-ipc (1 1); VALUE 'Q2' 'NPN_TRANSISTOR'; ADD 'C1' unknown@smd-ipc (1 1); VALUE 'C1' '2.2uF'; ADD 'A3' unknown@smd-ipc (1 1); VALUE 'A3' '.options TEMP=25'; ADD 'A2' unknown@smd-ipc (1 1); VALUE 'A2' 'include'; ADD 'A1' unknown@smd-ipc (1 1); VALUE 'A1' 'model'; ADD 'VCC' none@smd-ipc (1 1); VALUE 'VCC' 'DC 15V'; ADD 'Vinput' none@smd-ipc (1 1); VALUE 'Vinput' 'DC 1.6V AC 10MV SIN(0 1MV 1KHZ)'; ADD 'CE1' unknown@smd-ipc (1 1); VALUE 'CE1' '1pF'; ADD 'Cout' unknown@smd-ipc (1 1); VALUE 'Cout' '2.2uF'; ADD 'RL' unknown@smd-ipc (1 1); VALUE 'RL' '100K'; ADD 'RC2' unknown@smd-ipc (1 1); VALUE 'RC2' '1K'; ADD 'RE1' unknown@smd-ipc (1 1); VALUE 'RE1' '100'; ADD 'R2' unknown@smd-ipc (1 1); VALUE 'R2' '2K'; ADD 'R1' unknown@smd-ipc (1 1); VALUE 'R1' '28K'; ADD 'R5' unknown@smd-ipc (1 1); VALUE 'R5' '10'; ADD 'Q1' unknown@smd-ipc (1 1); VALUE 'Q1' 'NPN_TRANSISTOR'; SIGNAL 'UNNAMED_NET2' 'C2' '1' 'R8' '2' ; SIGNAL 'VBASE2' 'R3' '1' 'C2' '2' 'R4' '2' 'Q2' '2' ; SIGNAL 'VEM2' 'CE2' '2' 'RE2' '2' 'Q2' '1' ; SIGNAL 'VOUT' 'Cout' '2' 'RL' '2' ; SIGNAL 'VCOLL2' 'Q2' '3' 'Cout' '1' 'RC2' '1' ; SIGNAL 'GND' 'R4' '1' 'CE2' '1' 'RE2' '1' 'VCC' '2' 'Vinput' '2' 'CE1' '1' 'RL' '1' 'RE1' '1' 'R2' '1' ; SIGNAL 'VCC' 'R3' '2' 'RC1' '2' 'VCC' '1' 'RC2' '2' 'R1' '2' ; SIGNAL 'VIN' 'Vinput' '1' 'R5' '1' ; SIGNAL 'UNNAMED_NET1' 'C1' '1' 'R5' '2' ; SIGNAL 'VBASE1' 'C1' '2' 'R2' '2' 'R1' '1' 'Q1' '2' ; SIGNAL 'VEM1' 'CE1' '2' 'RE1' '2' 'Q1' '1' ; SIGNAL 'VCOLL1' 'R8' '1' 'RC1' '1' 'Q1' '3' ; geda-gaf-1.8.2/gnetlist/tests/common/outputs/eagle/singlenet.retcode0000664000175000017500000000000212050461155022511 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/eagle/JD_Include.retcode0000664000175000017500000000000212050461155022461 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/eagle/powersupply-output.net0000664000175000017500000000232512050461155023643 00000000000000 ; ADD 'U2' unknown@smd-ipc (1 1); VALUE 'U2' 'LM317'; ADD 'C4' unknown@smd-ipc (1 1); VALUE 'C4' '1uf'; ADD 'C3' unknown@smd-ipc (1 1); VALUE 'C3' '22uF'; ADD 'R1' unknown@smd-ipc (1 1); VALUE 'R1' '5k'; ADD 'C2' unknown@smd-ipc (1 1); VALUE 'C2' '0.1uF'; ADD 'R2' unknown@smd-ipc (1 1); VALUE 'R2' '220'; ADD 'C1' unknown@smd-ipc (1 1); VALUE 'C1' '2200uF'; ADD 'S1' unknown@smd-ipc (1 1); VALUE 'S1' 'SPST'; ADD 'CONN1' unknown@smd-ipc (1 1); VALUE 'CONN1' 'MAINS_CONNECTOR'; ADD 'T1' unknown@smd-ipc (1 1); VALUE 'T1' 'transformer'; ADD 'F1' unknown@smd-ipc (1 1); VALUE 'F1' 'FUSE'; ADD 'U1' unknown@smd-ipc (1 1); VALUE 'U1' 'DIODE-BRIDGE'; SIGNAL 'TEN' 'U2' '1' 'R1' '2' 'C3' '1' 'R2' '1' ; SIGNAL 'ELEVEN' 'U2' '2' 'C4' '1' 'R2' '2' ; SIGNAL 'GND' 'CONN1' '3' ; SIGNAL 'ONE' 'S1' '1' 'CONN1' '1' ; SIGNAL 'FIVE' 'CONN1' '2' 'T1' '2' ; SIGNAL 'THREE' 'T1' '1' 'F1' '2' ; SIGNAL 'TWO' 'S1' '2' 'F1' '1' ; SIGNAL 'SIX' 'T1' '3' 'U1' '4' ; SIGNAL 'SEVEN' 'T1' '4' 'U1' '3' ; SIGNAL 'NINE' 'C4' '2' 'C3' '2' 'R1' '3' 'R1' '1' 'C2' '2' 'C1' '2' 'U1' '2' ; SIGNAL 'EIGHT' 'U2' '3' 'C2' '1' 'C1' '1' 'U1' '1' ; geda-gaf-1.8.2/gnetlist/tests/common/outputs/eagle/netattrib-output.net0000664000175000017500000000076512050461155023234 00000000000000 ; ADD 'F1' unknown@smd-ipc (1 1); VALUE 'F1' 'FUSE'; ADD 'U300' DIP14@smd-ipc (1 1); VALUE 'U300' '7404'; ADD 'U200' DIP14@smd-ipc (1 1); VALUE 'U200' '7404'; ADD 'U100' DIP14@smd-ipc (1 1); VALUE 'U100' '7400'; SIGNAL 'UNNAMED_NET1' 'U300' '2' ; SIGNAL 'NETATTRIB' 'U200' '2' 'U100' '5' ; SIGNAL 'GND' 'U300' '7' 'U200' '7' 'U100' '7' ; SIGNAL 'VCC' 'U300' '14' 'U200' '14' 'U100' '14' ; SIGNAL 'ONE' 'F1' '1' 'U300' '1' 'U200' '1' 'U100' '3' ; geda-gaf-1.8.2/gnetlist/tests/common/outputs/eagle/SlottedOpamps.retcode0000664000175000017500000000000212050461155023317 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/eagle/JD.retcode0000664000175000017500000000000212050461155021016 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/eagle/multiequal.retcode0000664000175000017500000000000212050461155022703 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/eagle/JD_Sort_nomunge.retcode0000664000175000017500000000000212050461155023555 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/eagle/TwoStageAmp-output.net0000664000175000017500000000376412050461155023435 00000000000000 ; ADD 'C2' unknown@smd-ipc (1 1); VALUE 'C2' '2.2uF'; ADD 'R4' unknown@smd-ipc (1 1); VALUE 'R4' '2.8K'; ADD 'R3' unknown@smd-ipc (1 1); VALUE 'R3' '28K'; ADD 'R8' unknown@smd-ipc (1 1); VALUE 'R8' '1'; ADD 'CE2' unknown@smd-ipc (1 1); VALUE 'CE2' '1pF'; ADD 'RE2' unknown@smd-ipc (1 1); VALUE 'RE2' '100'; ADD 'RC1' unknown@smd-ipc (1 1); VALUE 'RC1' '3.3K'; ADD 'Q2' unknown@smd-ipc (1 1); VALUE 'Q2' 'NPN_TRANSISTOR'; ADD 'C1' unknown@smd-ipc (1 1); VALUE 'C1' '2.2uF'; ADD 'A3' unknown@smd-ipc (1 1); VALUE 'A3' '.options TEMP=25'; ADD 'A2' unknown@smd-ipc (1 1); VALUE 'A2' 'include'; ADD 'A1' unknown@smd-ipc (1 1); VALUE 'A1' 'model'; ADD 'VCC' none@smd-ipc (1 1); VALUE 'VCC' 'DC 15V'; ADD 'Vinput' none@smd-ipc (1 1); VALUE 'Vinput' 'DC 1.6V AC 10MV SIN(0 1MV 1KHZ)'; ADD 'CE1' unknown@smd-ipc (1 1); VALUE 'CE1' '1pF'; ADD 'Cout' unknown@smd-ipc (1 1); VALUE 'Cout' '2.2uF'; ADD 'RL' unknown@smd-ipc (1 1); VALUE 'RL' '100K'; ADD 'RC2' unknown@smd-ipc (1 1); VALUE 'RC2' '1K'; ADD 'RE1' unknown@smd-ipc (1 1); VALUE 'RE1' '100'; ADD 'R2' unknown@smd-ipc (1 1); VALUE 'R2' '2K'; ADD 'R1' unknown@smd-ipc (1 1); VALUE 'R1' '28K'; ADD 'R5' unknown@smd-ipc (1 1); VALUE 'R5' '10'; ADD 'Q1' unknown@smd-ipc (1 1); VALUE 'Q1' 'NPN_TRANSISTOR'; SIGNAL 'UNNAMED_NET2' 'C2' '1' 'R8' '2' ; SIGNAL 'VBASE2' 'R3' '1' 'C2' '2' 'R4' '2' 'Q2' '2' ; SIGNAL 'VEM2' 'CE2' '2' 'RE2' '2' 'Q2' '1' ; SIGNAL 'VOUT' 'Cout' '2' 'RL' '2' ; SIGNAL 'VCOLL2' 'Q2' '3' 'Cout' '1' 'RC2' '1' ; SIGNAL 'GND' 'R4' '1' 'CE2' '1' 'RE2' '1' 'VCC' '2' 'Vinput' '2' 'CE1' '1' 'RL' '1' 'RE1' '1' 'R2' '1' ; SIGNAL 'VCC' 'R3' '2' 'RC1' '2' 'VCC' '1' 'RC2' '2' 'R1' '2' ; SIGNAL 'VIN' 'Vinput' '1' 'R5' '1' ; SIGNAL 'UNNAMED_NET1' 'C1' '1' 'R5' '2' ; SIGNAL 'VBASE1' 'C1' '2' 'R2' '2' 'R1' '1' 'Q1' '2' ; SIGNAL 'VEM1' 'CE1' '2' 'RE1' '2' 'Q1' '1' ; SIGNAL 'VCOLL1' 'R8' '1' 'RC1' '1' 'Q1' '3' ; geda-gaf-1.8.2/gnetlist/tests/common/outputs/eagle/JD_Include_nomunge.retcode0000664000175000017500000000000212050461155024211 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist3/0000775000175000017500000000000012220655757020311 500000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist3/JD_Include_nomunge-output.net0000664000175000017500000000055512050461155025760 00000000000000.START ..device value footprint quantity refdes CAPACITOR 20p unknown 2 Cm Cp LVD unknown unknown 1 X1 model unknown unknown 1 A1 PMOS_TRANSISTOR unknown unknown 1 M1 RESISTOR 1k unknown 1 Rt RESISTOR 1meg unknown 1 Rlp RESISTOR 5.6k unknown 1 Rb RESISTOR 500k unknown 1 Rlm VOLTAGE_SOURCE DC 3.3V none 1 Vdd vpulse pulse 3.3 0 1u 10p 10p 1.25u 2.5u none 1 V1 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist3/JD-output.net0000664000175000017500000000055512050461155022565 00000000000000.START ..device value footprint quantity refdes CAPACITOR 20p unknown 2 Cm Cp LVD unknown unknown 1 X1 model unknown unknown 1 A1 PMOS_TRANSISTOR unknown unknown 1 M1 RESISTOR 1k unknown 1 Rt RESISTOR 1meg unknown 1 Rlp RESISTOR 5.6k unknown 1 Rb RESISTOR 500k unknown 1 Rlm VOLTAGE_SOURCE DC 3.3V none 1 Vdd vpulse pulse 3.3 0 1u 10p 10p 1.25u 2.5u none 1 V1 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist3/TwoStageAmp.retcode0000664000175000017500000000000212050461155023747 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist3/stack-torture-output.net0000664000175000017500000000012412063576065025102 00000000000000.START ..device value footprint quantity refdes CAPACITOR unknown unknown 1 C? .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist3/JD_Sort.retcode0000664000175000017500000000000212050461155023060 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist3/cascade-output.net0000664000175000017500000000047512050461155023654 00000000000000.START ..device value footprint quantity refdes cascade-amp unknown none 2 AMP1 AMP2 cascade-defaults unknown none 1 DEF1 cascade-defaults-top unknown unknown 1 DEFAULTS cascade-filter unknown none 1 FL1 cascade-mixer unknown none 1 MX1 cascade-source unknown none 1 SOURCE cascade-transformer unknown none 1 T1 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist3/multiequal-output.net0000664000175000017500000000021712050461155024445 00000000000000.START ..device value footprint quantity refdes options abotol=1e-11 unknown 1 A1 RESISTOR 20 unknown 1 R1 VOLTAGE_SOURCE DC 1V none 1 V1 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist3/JD_nomunge-output.net0000664000175000017500000000055512050461155024315 00000000000000.START ..device value footprint quantity refdes CAPACITOR 20p unknown 2 Cm Cp LVD unknown unknown 1 X1 model unknown unknown 1 A1 PMOS_TRANSISTOR unknown unknown 1 M1 RESISTOR 1k unknown 1 Rt RESISTOR 1meg unknown 1 Rlp RESISTOR 5.6k unknown 1 Rb RESISTOR 500k unknown 1 Rlm VOLTAGE_SOURCE DC 3.3V none 1 Vdd vpulse pulse 3.3 0 1u 10p 10p 1.25u 2.5u none 1 V1 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist3/stack-torture.retcode0000664000175000017500000000000212063576065024376 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist3/powersupply.retcode0000664000175000017500000000000212050461155024165 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist3/JD_Sort_nomunge-output.net0000664000175000017500000000055512050461155025324 00000000000000.START ..device value footprint quantity refdes CAPACITOR 20p unknown 2 Cm Cp LVD unknown unknown 1 X1 model unknown unknown 1 A1 PMOS_TRANSISTOR unknown unknown 1 M1 RESISTOR 1k unknown 1 Rt RESISTOR 1meg unknown 1 Rlp RESISTOR 5.6k unknown 1 Rb RESISTOR 500k unknown 1 Rlm VOLTAGE_SOURCE DC 3.3V none 1 Vdd vpulse pulse 3.3 0 1u 10p 10p 1.25u 2.5u none 1 V1 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist3/TwoStageAmp_Sort.retcode0000664000175000017500000000000212050461155024756 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist3/netattrib.retcode0000664000175000017500000000000212050461155023550 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist3/JD_nomunge.retcode0000664000175000017500000000000212050461155023601 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist3/JD_Include-output.net0000664000175000017500000000055512050461155024230 00000000000000.START ..device value footprint quantity refdes CAPACITOR 20p unknown 2 Cm Cp LVD unknown unknown 1 X1 model unknown unknown 1 A1 PMOS_TRANSISTOR unknown unknown 1 M1 RESISTOR 1k unknown 1 Rt RESISTOR 1meg unknown 1 Rlp RESISTOR 5.6k unknown 1 Rb RESISTOR 500k unknown 1 Rlm VOLTAGE_SOURCE DC 3.3V none 1 Vdd vpulse pulse 3.3 0 1u 10p 10p 1.25u 2.5u none 1 V1 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist3/JD_Sort-output.net0000664000175000017500000000055512050461155023574 00000000000000.START ..device value footprint quantity refdes CAPACITOR 20p unknown 2 Cm Cp LVD unknown unknown 1 X1 model unknown unknown 1 A1 PMOS_TRANSISTOR unknown unknown 1 M1 RESISTOR 1k unknown 1 Rt RESISTOR 1meg unknown 1 Rlp RESISTOR 5.6k unknown 1 Rb RESISTOR 500k unknown 1 Rlm VOLTAGE_SOURCE DC 3.3V none 1 Vdd vpulse pulse 3.3 0 1u 10p 10p 1.25u 2.5u none 1 V1 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist3/cascade.retcode0000664000175000017500000000000212050461155023137 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist3/TwoStageAmp_Sort-output.net0000664000175000017500000000105212050461155025463 00000000000000.START ..device value footprint quantity refdes CAPACITOR 1pF unknown 2 CE1 CE2 CAPACITOR 2.2uF unknown 3 C1 C2 Cout directive .options TEMP=25 unknown 1 A3 model unknown unknown 1 A1 NPN_TRANSISTOR unknown unknown 2 Q1 Q2 RESISTOR 1 unknown 1 R8 RESISTOR 10 unknown 1 R5 RESISTOR 100 unknown 2 RE1 RE2 RESISTOR 100K unknown 1 RL RESISTOR 1K unknown 1 RC2 RESISTOR 2.8K unknown 1 R4 RESISTOR 28K unknown 2 R1 R3 RESISTOR 2K unknown 1 R2 RESISTOR 3.3K unknown 1 RC1 VOLTAGE_SOURCE DC 15V none 1 VCC vsin DC 1.6V AC 10MV SIN(0 1MV 1KHZ) none 1 Vinput .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist3/singlenet-output.net0000664000175000017500000000011712050461155024252 00000000000000.START ..device value footprint quantity refdes 7400 unknown DIP14 1 U100 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist3/TwoStageAmp_Include.retcode0000664000175000017500000000000212050461155025412 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist3/SlottedOpamps-output.net0000664000175000017500000000012012050461155025052 00000000000000.START ..device value footprint quantity refdes LM324 unknown unknown 1 U1 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist3/TwoStageAmp_Include-output.net0000664000175000017500000000105212050461155026117 00000000000000.START ..device value footprint quantity refdes CAPACITOR 1pF unknown 2 CE1 CE2 CAPACITOR 2.2uF unknown 3 C1 C2 Cout directive .options TEMP=25 unknown 1 A3 model unknown unknown 1 A1 NPN_TRANSISTOR unknown unknown 2 Q1 Q2 RESISTOR 1 unknown 1 R8 RESISTOR 10 unknown 1 R5 RESISTOR 100 unknown 2 RE1 RE2 RESISTOR 100K unknown 1 RL RESISTOR 1K unknown 1 RC2 RESISTOR 2.8K unknown 1 R4 RESISTOR 28K unknown 2 R1 R3 RESISTOR 2K unknown 1 R2 RESISTOR 3.3K unknown 1 RC1 VOLTAGE_SOURCE DC 15V none 1 VCC vsin DC 1.6V AC 10MV SIN(0 1MV 1KHZ) none 1 Vinput .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist3/singlenet.retcode0000664000175000017500000000000212050461155023544 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist3/JD_Include.retcode0000664000175000017500000000000212050461155023514 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist3/powersupply-output.net0000664000175000017500000000070512050461155024676 00000000000000.START ..device value footprint quantity refdes DIODE-BRIDGE unknown unknown 1 U1 FUSE unknown unknown 1 F1 LM317 unknown unknown 1 U2 MAINS_CONNECTOR unknown unknown 1 CONN1 POLARIZED_CAPACITOR 0.1uF unknown 1 C2 POLARIZED_CAPACITOR 1uf unknown 1 C4 POLARIZED_CAPACITOR 2200uF unknown 1 C1 POLARIZED_CAPACITOR 22uF unknown 1 C3 RESISTOR 220 unknown 1 R2 SPST unknown unknown 1 S1 transformer unknown unknown 1 T1 VARIABLE_RESISTOR 5k unknown 1 R1 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist3/netattrib-output.net0000664000175000017500000000021012050461155024250 00000000000000.START ..device value footprint quantity refdes 7400 unknown DIP14 1 U100 7404 unknown DIP14 2 U200 U300 FUSE unknown unknown 1 F1 .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist3/SlottedOpamps.retcode0000664000175000017500000000000212050461155024352 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist3/JD.retcode0000664000175000017500000000000212050461155022051 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist3/multiequal.retcode0000664000175000017500000000000212050461155023736 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist3/JD_Sort_nomunge.retcode0000664000175000017500000000000212050461155024610 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist3/TwoStageAmp-output.net0000664000175000017500000000105212050461155024454 00000000000000.START ..device value footprint quantity refdes CAPACITOR 1pF unknown 2 CE1 CE2 CAPACITOR 2.2uF unknown 3 C1 C2 Cout directive .options TEMP=25 unknown 1 A3 model unknown unknown 1 A1 NPN_TRANSISTOR unknown unknown 2 Q1 Q2 RESISTOR 1 unknown 1 R8 RESISTOR 10 unknown 1 R5 RESISTOR 100 unknown 2 RE1 RE2 RESISTOR 100K unknown 1 RL RESISTOR 1K unknown 1 RC2 RESISTOR 2.8K unknown 1 R4 RESISTOR 28K unknown 2 R1 R3 RESISTOR 2K unknown 1 R2 RESISTOR 3.3K unknown 1 RC1 VOLTAGE_SOURCE DC 15V none 1 VCC vsin DC 1.6V AC 10MV SIN(0 1MV 1KHZ) none 1 Vinput .END geda-gaf-1.8.2/gnetlist/tests/common/outputs/partslist3/JD_Include_nomunge.retcode0000664000175000017500000000000212050461155025244 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc2/0000775000175000017500000000000012220655756017032 500000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc2/JD_Include_nomunge-output.net0000664000175000017500000000061312063576065024510 00000000000000Checking non-numbered parts... Checking duplicated references... Checking NoConnection nets for connections... Checking nets with only one connection... Checking pins without the 'pintype' attribute... Checking type of pins connected to a net... Checking unconnected pins... Checking slots... Checking duplicated slots... Checking unused slots... No warnings found. No errors found. geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc2/JD-output.net0000664000175000017500000000061312063576065021315 00000000000000Checking non-numbered parts... Checking duplicated references... Checking NoConnection nets for connections... Checking nets with only one connection... Checking pins without the 'pintype' attribute... Checking type of pins connected to a net... Checking unconnected pins... Checking slots... Checking duplicated slots... Checking unused slots... No warnings found. No errors found. geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc2/TwoStageAmp.retcode0000664000175000017500000000000212050461155022471 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc2/stack-torture-output.net0000664000175000017500000012074012063576065023633 00000000000000Checking non-numbered parts... ERROR: Reference not numbered: C? Checking duplicated references... ERROR: Duplicated reference C?. Checking NoConnection nets for connections... Checking nets with only one connection... ERROR: Net 'unnamed_net1025' is connected to only one pin: C?:2 . ERROR: Net 'unnamed_net1022' is connected to only one pin: C?:2 . ERROR: Net 'unnamed_net1020' is connected to only one pin: C?:2 . ERROR: Net 'unnamed_net1012' is connected to only one pin: C?:2 . ERROR: Net 'unnamed_net1009' is connected to only one pin: C?:2 . ERROR: Net 'unnamed_net999' is connected to only one pin: C?:2 . ERROR: Net 'unnamed_net992' is connected to only one pin: C?:2 . ERROR: Net 'unnamed_net968' is connected to only one pin: C?:2 . ERROR: Net 'unnamed_net965' is connected to only one pin: C?:2 . ERROR: Net 'unnamed_net954' is connected to only one pin: C?:2 . ERROR: Net 'unnamed_net951' is connected to only one pin: C?:2 . ERROR: Net 'unnamed_net909' is connected to only one pin: C?:2 . ERROR: Net 'unnamed_net902' is connected to only one pin: C?:2 . ERROR: Net 'unnamed_net879' is connected to only one pin: C?:2 . ERROR: Net 'unnamed_net872' is connected to only one pin: C?:2 . ERROR: Net 'unnamed_net784' is connected to only one pin: C?:2 . ERROR: Net 'unnamed_net781' is connected to only one pin: C?:2 . ERROR: Net 'unnamed_net770' is connected to only one pin: C?:2 . ERROR: Net 'unnamed_net767' is connected to only one pin: C?:2 . ERROR: Net 'unnamed_net724' is connected to only one pin: C?:2 . ERROR: Net 'unnamed_net721' is connected to only one pin: C?:2 . ERROR: Net 'unnamed_net710' is connected to only one pin: C?:2 . ERROR: Net 'unnamed_net707' is connected to only one pin: C?:2 . ERROR: Net 'unnamed_net706' is connected to only one pin: C?:1 . ERROR: Net 'unnamed_net697' is connected to only one pin: C?:1 . ERROR: Net 'unnamed_net672' is connected to only one pin: C?:1 . ERROR: Net 'unnamed_net663' is connected to only one pin: C?:1 . ERROR: Net 'unnamed_net574' is connected to only one pin: C?:1 . ERROR: Net 'unnamed_net565' is connected to only one pin: C?:1 . ERROR: Net 'unnamed_net540' is connected to only one pin: C?:1 . ERROR: Net 'unnamed_net531' is connected to only one pin: C?:1 . ERROR: Net 'unnamed_net529' is connected to only one pin: C?:2 . ERROR: Net 'unnamed_net522' is connected to only one pin: C?:2 . ERROR: Net 'unnamed_net499' is connected to only one pin: C?:2 . ERROR: Net 'unnamed_net492' is connected to only one pin: C?:2 . ERROR: Net 'unnamed_net405' is connected to only one pin: C?:2 . ERROR: Net 'unnamed_net398' is connected to only one pin: C?:2 . ERROR: Net 'unnamed_net375' is connected to only one pin: C?:2 . ERROR: Net 'unnamed_net368' is connected to only one pin: C?:2 . ERROR: Net 'unnamed_net367' is connected to only one pin: C?:2 . ERROR: Net 'unnamed_net364' is connected to only one pin: C?:1 . ERROR: Net 'unnamed_net359' is connected to only one pin: C?:1 . ERROR: Net 'unnamed_net346' is connected to only one pin: C?:1 . ERROR: Net 'unnamed_net341' is connected to only one pin: C?:1 . ERROR: Net 'unnamed_net296' is connected to only one pin: C?:1 . ERROR: Net 'unnamed_net291' is connected to only one pin: C?:1 . ERROR: Net 'unnamed_net278' is connected to only one pin: C?:1 . ERROR: Net 'unnamed_net273' is connected to only one pin: C?:1 . ERROR: Net 'unnamed_net185' is connected to only one pin: C?:1 . ERROR: Net 'unnamed_net176' is connected to only one pin: C?:1 . ERROR: Net 'unnamed_net151' is connected to only one pin: C?:1 . ERROR: Net 'unnamed_net142' is connected to only one pin: C?:1 . ERROR: Net 'unnamed_net96' is connected to only one pin: C?:1 . ERROR: Net 'unnamed_net91' is connected to only one pin: C?:1 . ERROR: Net 'unnamed_net78' is connected to only one pin: C?:1 . ERROR: Net 'unnamed_net73' is connected to only one pin: C?:1 . ERROR: Net 'unnamed_net49' is connected to only one pin: C?:1 . ERROR: Net 'unnamed_net40' is connected to only one pin: C?:1 . ERROR: Net 'unnamed_net26' is connected to only one pin: C?:1 . ERROR: Net 'unnamed_net21' is connected to only one pin: C?:1 . ERROR: Net 'unnamed_net13' is connected to only one pin: C?:1 . ERROR: Net 'unnamed_net7' is connected to only one pin: C?:1 . ERROR: Net 'unnamed_net3' is connected to only one pin: C?:1 . ERROR: Net 'unnamed_net1' is connected to only one pin: C?:1 . Checking pins without the 'pintype' attribute... Checking type of pins connected to a net... Checking unconnected pins... Checking slots... Checking duplicated slots... ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? ERROR: duplicated slot 1 of uref C? Checking unused slots... No warnings found. Found 1089 errors. geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc2/JD_Sort.retcode0000664000175000017500000000000212050461155021602 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc2/cascade-output.net0000664000175000017500000000074312063576065022407 00000000000000Checking non-numbered parts... Checking duplicated references... Checking NoConnection nets for connections... Checking nets with only one connection... ERROR: Net 'GND' is connected to only one pin: DEFAULTS:1 . Checking pins without the 'pintype' attribute... Checking type of pins connected to a net... Checking unconnected pins... ERROR: Unconnected pin AMP2:2 Checking slots... Checking duplicated slots... Checking unused slots... No warnings found. Found 2 errors. geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc2/multiequal-output.net0000664000175000017500000000061312063576065023202 00000000000000Checking non-numbered parts... Checking duplicated references... Checking NoConnection nets for connections... Checking nets with only one connection... Checking pins without the 'pintype' attribute... Checking type of pins connected to a net... Checking unconnected pins... Checking slots... Checking duplicated slots... Checking unused slots... No warnings found. No errors found. geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc2/JD_nomunge-output.net0000664000175000017500000000061312063576065023045 00000000000000Checking non-numbered parts... Checking duplicated references... Checking NoConnection nets for connections... Checking nets with only one connection... Checking pins without the 'pintype' attribute... Checking type of pins connected to a net... Checking unconnected pins... Checking slots... Checking duplicated slots... Checking unused slots... No warnings found. No errors found. geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc2/stack-torture.retcode0000664000175000017500000000000212063576065023120 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc2/powersupply.retcode0000664000175000017500000000000212050461155022707 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc2/JD_Sort_nomunge-output.net0000664000175000017500000000061312063576065024054 00000000000000Checking non-numbered parts... Checking duplicated references... Checking NoConnection nets for connections... Checking nets with only one connection... Checking pins without the 'pintype' attribute... Checking type of pins connected to a net... Checking unconnected pins... Checking slots... Checking duplicated slots... Checking unused slots... No warnings found. No errors found. geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc2/TwoStageAmp_Sort.retcode0000664000175000017500000000000212050461155023500 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc2/netattrib.retcode0000664000175000017500000000000212050461155022272 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc2/JD_nomunge.retcode0000664000175000017500000000000212050461155022323 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc2/JD_Include-output.net0000664000175000017500000000061312063576065022760 00000000000000Checking non-numbered parts... Checking duplicated references... Checking NoConnection nets for connections... Checking nets with only one connection... Checking pins without the 'pintype' attribute... Checking type of pins connected to a net... Checking unconnected pins... Checking slots... Checking duplicated slots... Checking unused slots... No warnings found. No errors found. geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc2/JD_Sort-output.net0000664000175000017500000000061312063576065022324 00000000000000Checking non-numbered parts... Checking duplicated references... Checking NoConnection nets for connections... Checking nets with only one connection... Checking pins without the 'pintype' attribute... Checking type of pins connected to a net... Checking unconnected pins... Checking slots... Checking duplicated slots... Checking unused slots... No warnings found. No errors found. geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc2/cascade.retcode0000664000175000017500000000000212050461155021661 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc2/TwoStageAmp_Sort-output.net0000664000175000017500000000073312063576065024225 00000000000000Checking non-numbered parts... Checking duplicated references... Checking NoConnection nets for connections... Checking nets with only one connection... Checking pins without the 'pintype' attribute... NOTE: Found pins without the 'pintype' attribute: Q2:2 Q2:1 Q2:3 Q1:2 Q1:1 Q1:3 Checking type of pins connected to a net... Checking unconnected pins... Checking slots... Checking duplicated slots... Checking unused slots... No warnings found. No errors found. geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc2/singlenet-output.net0000664000175000017500000000127612063576065023016 00000000000000Checking non-numbered parts... Checking duplicated references... Checking NoConnection nets for connections... Checking nets with only one connection... ERROR: Net 'GND' is connected to only one pin: U100:7 . ERROR: Net 'Vcc' is connected to only one pin: U100:14 . Checking pins without the 'pintype' attribute... Checking type of pins connected to a net... ERROR: Pin(s) with pintype 'output': U100:8 U100:6 are connected by net 'SING_N' to pin(s) with pintype 'output': U100:8 U100:6 Checking unconnected pins... ERROR: Unconnected pin U100:2 Checking slots... Checking duplicated slots... Checking unused slots... WARNING: Unused slot 4 of uref U100 Found 1 warnings. Found 4 errors. geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc2/TwoStageAmp_Include.retcode0000664000175000017500000000000212050461155024134 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc2/SlottedOpamps-output.net0000664000175000017500000000206312063576065023617 00000000000000Checking non-numbered parts... Checking duplicated references... Checking NoConnection nets for connections... Checking nets with only one connection... ERROR: Net 'minusin_slot4_pin13_b' is connected to only one pin: U1:13 . ERROR: Net 'plusin_slot4_pin12_a' is connected to only one pin: U1:12 . ERROR: Net 'minusin_slot3_pin_b' is connected to only one pin: U1:9 . ERROR: Net 'plusin_slot3_pin10_a' is connected to only one pin: U1:10 . ERROR: Net 'minusin_slot2_pin6_b' is connected to only one pin: U1:6 . ERROR: Net 'plusin_slot2_pin5_a' is connected to only one pin: U1:5 . ERROR: Net 'minusin_slot1_pin_b' is connected to only one pin: U1:2 . ERROR: Net 'plusin_slot1_pin3_a' is connected to only one pin: U1:3 . Checking pins without the 'pintype' attribute... NOTE: Found pins without the 'pintype' attribute: U1:13 U1:12 U1:9 U1:10 U1:6 U1:5 U1:14 U1:8 U1:7 U1:1 U1:2 U1:3 Checking type of pins connected to a net... Checking unconnected pins... Checking slots... Checking duplicated slots... Checking unused slots... No warnings found. Found 8 errors. geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc2/TwoStageAmp_Include-output.net0000664000175000017500000000073312063576065024661 00000000000000Checking non-numbered parts... Checking duplicated references... Checking NoConnection nets for connections... Checking nets with only one connection... Checking pins without the 'pintype' attribute... NOTE: Found pins without the 'pintype' attribute: Q2:2 Q2:1 Q2:3 Q1:2 Q1:1 Q1:3 Checking type of pins connected to a net... Checking unconnected pins... Checking slots... Checking duplicated slots... Checking unused slots... No warnings found. No errors found. geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc2/singlenet.retcode0000664000175000017500000000000212050461155022266 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc2/JD_Include.retcode0000664000175000017500000000000212050461155022236 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc2/powersupply-output.net0000664000175000017500000000100312063576065023423 00000000000000Checking non-numbered parts... Checking duplicated references... Checking NoConnection nets for connections... Checking nets with only one connection... ERROR: Net 'GND' is connected to only one pin: CONN1:3 . Checking pins without the 'pintype' attribute... NOTE: Found pins without the 'pintype' attribute: U2:1 U2:2 U2:3 Checking type of pins connected to a net... Checking unconnected pins... Checking slots... Checking duplicated slots... Checking unused slots... No warnings found. Found 1 errors. geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc2/netattrib-output.net0000664000175000017500000000215512063576065023017 00000000000000Checking non-numbered parts... Checking duplicated references... Checking NoConnection nets for connections... Checking nets with only one connection... ERROR: Net 'unnamed_net1' is connected to only one pin: U300:2 . Checking pins without the 'pintype' attribute... Checking type of pins connected to a net... ERROR: Pin(s) with pintype 'output': U200:2 are connected by net 'netattrib' to pin(s) with pintype 'power': U100:5 Checking unconnected pins... ERROR: Unconnected pin F1:2 ERROR: Unconnected pin U100:2 ERROR: Unconnected pin U100:1 Checking slots... Checking duplicated slots... Checking unused slots... WARNING: Unused slot 2 of uref U300 WARNING: Unused slot 3 of uref U300 WARNING: Unused slot 4 of uref U300 WARNING: Unused slot 5 of uref U300 WARNING: Unused slot 6 of uref U300 WARNING: Unused slot 2 of uref U200 WARNING: Unused slot 3 of uref U200 WARNING: Unused slot 4 of uref U200 WARNING: Unused slot 5 of uref U200 WARNING: Unused slot 6 of uref U200 WARNING: Unused slot 2 of uref U100 WARNING: Unused slot 3 of uref U100 WARNING: Unused slot 4 of uref U100 Found 13 warnings. Found 5 errors. geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc2/SlottedOpamps.retcode0000664000175000017500000000000212050461155023074 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc2/JD.retcode0000664000175000017500000000000212050461155020573 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc2/multiequal.retcode0000664000175000017500000000000212050461155022460 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc2/JD_Sort_nomunge.retcode0000664000175000017500000000000212050461155023332 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc2/TwoStageAmp-output.net0000664000175000017500000000073312063576065023216 00000000000000Checking non-numbered parts... Checking duplicated references... Checking NoConnection nets for connections... Checking nets with only one connection... Checking pins without the 'pintype' attribute... NOTE: Found pins without the 'pintype' attribute: Q2:2 Q2:1 Q2:3 Q1:2 Q1:1 Q1:3 Checking type of pins connected to a net... Checking unconnected pins... Checking slots... Checking duplicated slots... Checking unused slots... No warnings found. No errors found. geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc2/JD_Include_nomunge.retcode0000664000175000017500000000000212050461155023766 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/gossip/0000775000175000017500000000000012220655757017505 500000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/gossip/JD_Include_nomunge-output.net0000664000175000017500000000041512050461155025147 00000000000000;; Gossip Netlist Created by gNetlist ;; Created By Matt Ettus ;; Libraries: (use-library unknown *) (define-block (not found ( (signals (Vdd1 GND LVH i p m)) (A1) (Cm) (Cp) (Rlp) (Rlm) (Vdd) (V1) (Rt) (Rb) (M1) (X1) geda-gaf-1.8.2/gnetlist/tests/common/outputs/gossip/JD-output.net0000664000175000017500000000041512050461155021754 00000000000000;; Gossip Netlist Created by gNetlist ;; Created By Matt Ettus ;; Libraries: (use-library unknown *) (define-block (not found ( (signals (Vdd1 GND LVH i p m)) (A1) (Cm) (Cp) (Rlp) (Rlm) (Vdd) (V1) (Rt) (Rb) (M1) (X1) geda-gaf-1.8.2/gnetlist/tests/common/outputs/gossip/TwoStageAmp.retcode0000664000175000017500000000000212050461155023143 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/gossip/stack-torture-output.net0000664000175000017500000003614412063576065024311 00000000000000;; Gossip Netlist Created by gNetlist ;; Created By Matt Ettus ;; Libraries: (use-library unknown *) (define-block (not found ( (signals (unnamed_net1025 unnamed_net1024 unnamed_net1023 unnamed_net1022 unnamed_net1021 unnamed_net1020 unnamed_net1019 unnamed_net1018 unnamed_net1017 unnamed_net1016 unnamed_net1015 unnamed_net1014 unnamed_net1013 unnamed_net1012 unnamed_net1011 unnamed_net1010 unnamed_net1009 unnamed_net1008 unnamed_net1007 unnamed_net1006 unnamed_net1005 unnamed_net1004 unnamed_net1003 unnamed_net1002 unnamed_net1001 unnamed_net1000 unnamed_net999 unnamed_net998 unnamed_net997 unnamed_net996 unnamed_net995 unnamed_net994 unnamed_net993 unnamed_net992 unnamed_net991 unnamed_net990 unnamed_net989 unnamed_net988 unnamed_net987 unnamed_net986 unnamed_net985 unnamed_net984 unnamed_net983 unnamed_net982 unnamed_net981 unnamed_net980 unnamed_net979 unnamed_net978 unnamed_net977 unnamed_net976 unnamed_net975 unnamed_net974 unnamed_net973 unnamed_net972 unnamed_net971 unnamed_net970 unnamed_net969 unnamed_net968 unnamed_net967 unnamed_net966 unnamed_net965 unnamed_net964 unnamed_net963 unnamed_net962 unnamed_net961 unnamed_net960 unnamed_net959 unnamed_net958 unnamed_net957 unnamed_net956 unnamed_net955 unnamed_net954 unnamed_net953 unnamed_net952 unnamed_net951 unnamed_net950 unnamed_net949 unnamed_net948 unnamed_net947 unnamed_net946 unnamed_net945 unnamed_net944 unnamed_net943 unnamed_net942 unnamed_net941 unnamed_net940 unnamed_net939 unnamed_net938 unnamed_net937 unnamed_net936 unnamed_net935 unnamed_net934 unnamed_net933 unnamed_net932 unnamed_net931 unnamed_net930 unnamed_net929 unnamed_net928 unnamed_net927 unnamed_net926 unnamed_net925 unnamed_net924 unnamed_net923 unnamed_net922 unnamed_net921 unnamed_net920 unnamed_net919 unnamed_net918 unnamed_net917 unnamed_net916 unnamed_net915 unnamed_net914 unnamed_net913 unnamed_net912 unnamed_net911 unnamed_net910 unnamed_net909 unnamed_net908 unnamed_net907 unnamed_net906 unnamed_net905 unnamed_net904 unnamed_net903 unnamed_net902 unnamed_net901 unnamed_net900 unnamed_net899 unnamed_net898 unnamed_net897 unnamed_net896 unnamed_net895 unnamed_net894 unnamed_net893 unnamed_net892 unnamed_net891 unnamed_net890 unnamed_net889 unnamed_net888 unnamed_net887 unnamed_net886 unnamed_net885 unnamed_net884 unnamed_net883 unnamed_net882 unnamed_net881 unnamed_net880 unnamed_net879 unnamed_net878 unnamed_net877 unnamed_net876 unnamed_net875 unnamed_net874 unnamed_net873 unnamed_net872 unnamed_net871 unnamed_net870 unnamed_net869 unnamed_net868 unnamed_net867 unnamed_net866 unnamed_net865 unnamed_net864 unnamed_net863 unnamed_net862 unnamed_net861 unnamed_net860 unnamed_net859 unnamed_net858 unnamed_net857 unnamed_net856 unnamed_net855 unnamed_net854 unnamed_net853 unnamed_net852 unnamed_net851 unnamed_net850 unnamed_net849 unnamed_net848 unnamed_net847 unnamed_net846 unnamed_net845 unnamed_net844 unnamed_net843 unnamed_net842 unnamed_net841 unnamed_net840 unnamed_net839 unnamed_net838 unnamed_net837 unnamed_net836 unnamed_net835 unnamed_net834 unnamed_net833 unnamed_net832 unnamed_net831 unnamed_net830 unnamed_net829 unnamed_net828 unnamed_net827 unnamed_net826 unnamed_net825 unnamed_net824 unnamed_net823 unnamed_net822 unnamed_net821 unnamed_net820 unnamed_net819 unnamed_net818 unnamed_net817 unnamed_net816 unnamed_net815 unnamed_net814 unnamed_net813 unnamed_net812 unnamed_net811 unnamed_net810 unnamed_net809 unnamed_net808 unnamed_net807 unnamed_net806 unnamed_net805 unnamed_net804 unnamed_net803 unnamed_net802 unnamed_net801 unnamed_net800 unnamed_net799 unnamed_net798 unnamed_net797 unnamed_net796 unnamed_net795 unnamed_net794 unnamed_net793 unnamed_net792 unnamed_net791 unnamed_net790 unnamed_net789 unnamed_net788 unnamed_net787 unnamed_net786 unnamed_net785 unnamed_net784 unnamed_net783 unnamed_net782 unnamed_net781 unnamed_net780 unnamed_net779 unnamed_net778 unnamed_net777 unnamed_net776 unnamed_net775 unnamed_net774 unnamed_net773 unnamed_net772 unnamed_net771 unnamed_net770 unnamed_net769 unnamed_net768 unnamed_net767 unnamed_net766 unnamed_net765 unnamed_net764 unnamed_net763 unnamed_net762 unnamed_net761 unnamed_net760 unnamed_net759 unnamed_net758 unnamed_net757 unnamed_net756 unnamed_net755 unnamed_net754 unnamed_net753 unnamed_net752 unnamed_net751 unnamed_net750 unnamed_net749 unnamed_net748 unnamed_net747 unnamed_net746 unnamed_net745 unnamed_net744 unnamed_net743 unnamed_net742 unnamed_net741 unnamed_net740 unnamed_net739 unnamed_net738 unnamed_net737 unnamed_net736 unnamed_net735 unnamed_net734 unnamed_net733 unnamed_net732 unnamed_net731 unnamed_net730 unnamed_net729 unnamed_net728 unnamed_net727 unnamed_net726 unnamed_net725 unnamed_net724 unnamed_net723 unnamed_net722 unnamed_net721 unnamed_net720 unnamed_net719 unnamed_net718 unnamed_net717 unnamed_net716 unnamed_net715 unnamed_net714 unnamed_net713 unnamed_net712 unnamed_net711 unnamed_net710 unnamed_net709 unnamed_net708 unnamed_net707 unnamed_net706 unnamed_net705 unnamed_net704 unnamed_net703 unnamed_net702 unnamed_net701 unnamed_net700 unnamed_net699 unnamed_net698 unnamed_net697 unnamed_net696 unnamed_net695 unnamed_net694 unnamed_net693 unnamed_net692 unnamed_net691 unnamed_net690 unnamed_net689 unnamed_net688 unnamed_net687 unnamed_net686 unnamed_net685 unnamed_net684 unnamed_net683 unnamed_net682 unnamed_net681 unnamed_net680 unnamed_net679 unnamed_net678 unnamed_net677 unnamed_net676 unnamed_net675 unnamed_net674 unnamed_net673 unnamed_net672 unnamed_net671 unnamed_net670 unnamed_net669 unnamed_net668 unnamed_net667 unnamed_net666 unnamed_net665 unnamed_net664 unnamed_net663 unnamed_net662 unnamed_net661 unnamed_net660 unnamed_net659 unnamed_net658 unnamed_net657 unnamed_net656 unnamed_net655 unnamed_net654 unnamed_net653 unnamed_net652 unnamed_net651 unnamed_net650 unnamed_net649 unnamed_net648 unnamed_net647 unnamed_net646 unnamed_net645 unnamed_net644 unnamed_net643 unnamed_net642 unnamed_net641 unnamed_net640 unnamed_net639 unnamed_net638 unnamed_net637 unnamed_net636 unnamed_net635 unnamed_net634 unnamed_net633 unnamed_net632 unnamed_net631 unnamed_net630 unnamed_net629 unnamed_net628 unnamed_net627 unnamed_net626 unnamed_net625 unnamed_net624 unnamed_net623 unnamed_net622 unnamed_net621 unnamed_net620 unnamed_net619 unnamed_net618 unnamed_net617 unnamed_net616 unnamed_net615 unnamed_net614 unnamed_net613 unnamed_net612 unnamed_net611 unnamed_net610 unnamed_net609 unnamed_net608 unnamed_net607 unnamed_net606 unnamed_net605 unnamed_net604 unnamed_net603 unnamed_net602 unnamed_net601 unnamed_net600 unnamed_net599 unnamed_net598 unnamed_net597 unnamed_net596 unnamed_net595 unnamed_net594 unnamed_net593 unnamed_net592 unnamed_net591 unnamed_net590 unnamed_net589 unnamed_net588 unnamed_net587 unnamed_net586 unnamed_net585 unnamed_net584 unnamed_net583 unnamed_net582 unnamed_net581 unnamed_net580 unnamed_net579 unnamed_net578 unnamed_net577 unnamed_net576 unnamed_net575 unnamed_net574 unnamed_net573 unnamed_net572 unnamed_net571 unnamed_net570 unnamed_net569 unnamed_net568 unnamed_net567 unnamed_net566 unnamed_net565 unnamed_net564 unnamed_net563 unnamed_net562 unnamed_net561 unnamed_net560 unnamed_net559 unnamed_net558 unnamed_net557 unnamed_net556 unnamed_net555 unnamed_net554 unnamed_net553 unnamed_net552 unnamed_net551 unnamed_net550 unnamed_net549 unnamed_net548 unnamed_net547 unnamed_net546 unnamed_net545 unnamed_net544 unnamed_net543 unnamed_net542 unnamed_net541 unnamed_net540 unnamed_net539 unnamed_net538 unnamed_net537 unnamed_net536 unnamed_net535 unnamed_net534 unnamed_net533 unnamed_net532 unnamed_net531 unnamed_net530 unnamed_net529 unnamed_net528 unnamed_net527 unnamed_net526 unnamed_net525 unnamed_net524 unnamed_net523 unnamed_net522 unnamed_net521 unnamed_net520 unnamed_net519 unnamed_net518 unnamed_net517 unnamed_net516 unnamed_net515 unnamed_net514 unnamed_net513 unnamed_net512 unnamed_net511 unnamed_net510 unnamed_net509 unnamed_net508 unnamed_net507 unnamed_net506 unnamed_net505 unnamed_net504 unnamed_net503 unnamed_net502 unnamed_net501 unnamed_net500 unnamed_net499 unnamed_net498 unnamed_net497 unnamed_net496 unnamed_net495 unnamed_net494 unnamed_net493 unnamed_net492 unnamed_net491 unnamed_net490 unnamed_net489 unnamed_net488 unnamed_net487 unnamed_net486 unnamed_net485 unnamed_net484 unnamed_net483 unnamed_net482 unnamed_net481 unnamed_net480 unnamed_net479 unnamed_net478 unnamed_net477 unnamed_net476 unnamed_net475 unnamed_net474 unnamed_net473 unnamed_net472 unnamed_net471 unnamed_net470 unnamed_net469 unnamed_net468 unnamed_net467 unnamed_net466 unnamed_net465 unnamed_net464 unnamed_net463 unnamed_net462 unnamed_net461 unnamed_net460 unnamed_net459 unnamed_net458 unnamed_net457 unnamed_net456 unnamed_net455 unnamed_net454 unnamed_net453 unnamed_net452 unnamed_net451 unnamed_net450 unnamed_net449 unnamed_net448 unnamed_net447 unnamed_net446 unnamed_net445 unnamed_net444 unnamed_net443 unnamed_net442 unnamed_net441 unnamed_net440 unnamed_net439 unnamed_net438 unnamed_net437 unnamed_net436 unnamed_net435 unnamed_net434 unnamed_net433 unnamed_net432 unnamed_net431 unnamed_net430 unnamed_net429 unnamed_net428 unnamed_net427 unnamed_net426 unnamed_net425 unnamed_net424 unnamed_net423 unnamed_net422 unnamed_net421 unnamed_net420 unnamed_net419 unnamed_net418 unnamed_net417 unnamed_net416 unnamed_net415 unnamed_net414 unnamed_net413 unnamed_net412 unnamed_net411 unnamed_net410 unnamed_net409 unnamed_net408 unnamed_net407 unnamed_net406 unnamed_net405 unnamed_net404 unnamed_net403 unnamed_net402 unnamed_net401 unnamed_net400 unnamed_net399 unnamed_net398 unnamed_net397 unnamed_net396 unnamed_net395 unnamed_net394 unnamed_net393 unnamed_net392 unnamed_net391 unnamed_net390 unnamed_net389 unnamed_net388 unnamed_net387 unnamed_net386 unnamed_net385 unnamed_net384 unnamed_net383 unnamed_net382 unnamed_net381 unnamed_net380 unnamed_net379 unnamed_net378 unnamed_net377 unnamed_net376 unnamed_net375 unnamed_net374 unnamed_net373 unnamed_net372 unnamed_net371 unnamed_net370 unnamed_net369 unnamed_net368 unnamed_net367 unnamed_net366 unnamed_net365 unnamed_net364 unnamed_net363 unnamed_net362 unnamed_net361 unnamed_net360 unnamed_net359 unnamed_net358 unnamed_net357 unnamed_net356 unnamed_net355 unnamed_net354 unnamed_net353 unnamed_net352 unnamed_net351 unnamed_net350 unnamed_net349 unnamed_net348 unnamed_net347 unnamed_net346 unnamed_net345 unnamed_net344 unnamed_net343 unnamed_net342 unnamed_net341 unnamed_net340 unnamed_net339 unnamed_net338 unnamed_net337 unnamed_net336 unnamed_net335 unnamed_net334 unnamed_net333 unnamed_net332 unnamed_net331 unnamed_net330 unnamed_net329 unnamed_net328 unnamed_net327 unnamed_net326 unnamed_net325 unnamed_net324 unnamed_net323 unnamed_net322 unnamed_net321 unnamed_net320 unnamed_net319 unnamed_net318 unnamed_net317 unnamed_net316 unnamed_net315 unnamed_net314 unnamed_net313 unnamed_net312 unnamed_net311 unnamed_net310 unnamed_net309 unnamed_net308 unnamed_net307 unnamed_net306 unnamed_net305 unnamed_net304 unnamed_net303 unnamed_net302 unnamed_net301 unnamed_net300 unnamed_net299 unnamed_net298 unnamed_net297 unnamed_net296 unnamed_net295 unnamed_net294 unnamed_net293 unnamed_net292 unnamed_net291 unnamed_net290 unnamed_net289 unnamed_net288 unnamed_net287 unnamed_net286 unnamed_net285 unnamed_net284 unnamed_net283 unnamed_net282 unnamed_net281 unnamed_net280 unnamed_net279 unnamed_net278 unnamed_net277 unnamed_net276 unnamed_net275 unnamed_net274 unnamed_net273 unnamed_net272 unnamed_net271 unnamed_net270 unnamed_net269 unnamed_net268 unnamed_net267 unnamed_net266 unnamed_net265 unnamed_net264 unnamed_net263 unnamed_net262 unnamed_net261 unnamed_net260 unnamed_net259 unnamed_net258 unnamed_net257 unnamed_net256 unnamed_net255 unnamed_net254 unnamed_net253 unnamed_net252 unnamed_net251 unnamed_net250 unnamed_net249 unnamed_net248 unnamed_net247 unnamed_net246 unnamed_net245 unnamed_net244 unnamed_net243 unnamed_net242 unnamed_net241 unnamed_net240 unnamed_net239 unnamed_net238 unnamed_net237 unnamed_net236 unnamed_net235 unnamed_net234 unnamed_net233 unnamed_net232 unnamed_net231 unnamed_net230 unnamed_net229 unnamed_net228 unnamed_net227 unnamed_net226 unnamed_net225 unnamed_net224 unnamed_net223 unnamed_net222 unnamed_net221 unnamed_net220 unnamed_net219 unnamed_net218 unnamed_net217 unnamed_net216 unnamed_net215 unnamed_net214 unnamed_net213 unnamed_net212 unnamed_net211 unnamed_net210 unnamed_net209 unnamed_net208 unnamed_net207 unnamed_net206 unnamed_net205 unnamed_net204 unnamed_net203 unnamed_net202 unnamed_net201 unnamed_net200 unnamed_net199 unnamed_net198 unnamed_net197 unnamed_net196 unnamed_net195 unnamed_net194 unnamed_net193 unnamed_net192 unnamed_net191 unnamed_net190 unnamed_net189 unnamed_net188 unnamed_net187 unnamed_net186 unnamed_net185 unnamed_net184 unnamed_net183 unnamed_net182 unnamed_net181 unnamed_net180 unnamed_net179 unnamed_net178 unnamed_net177 unnamed_net176 unnamed_net175 unnamed_net174 unnamed_net173 unnamed_net172 unnamed_net171 unnamed_net170 unnamed_net169 unnamed_net168 unnamed_net167 unnamed_net166 unnamed_net165 unnamed_net164 unnamed_net163 unnamed_net162 unnamed_net161 unnamed_net160 unnamed_net159 unnamed_net158 unnamed_net157 unnamed_net156 unnamed_net155 unnamed_net154 unnamed_net153 unnamed_net152 unnamed_net151 unnamed_net150 unnamed_net149 unnamed_net148 unnamed_net147 unnamed_net146 unnamed_net145 unnamed_net144 unnamed_net143 unnamed_net142 unnamed_net141 unnamed_net140 unnamed_net139 unnamed_net138 unnamed_net137 unnamed_net136 unnamed_net135 unnamed_net134 unnamed_net133 unnamed_net132 unnamed_net131 unnamed_net130 unnamed_net129 unnamed_net128 unnamed_net127 unnamed_net126 unnamed_net125 unnamed_net124 unnamed_net123 unnamed_net122 unnamed_net121 unnamed_net120 unnamed_net119 unnamed_net118 unnamed_net117 unnamed_net116 unnamed_net115 unnamed_net114 unnamed_net113 unnamed_net112 unnamed_net111 unnamed_net110 unnamed_net109 unnamed_net108 unnamed_net107 unnamed_net106 unnamed_net105 unnamed_net104 unnamed_net103 unnamed_net102 unnamed_net101 unnamed_net100 unnamed_net99 unnamed_net98 unnamed_net97 unnamed_net96 unnamed_net95 unnamed_net94 unnamed_net93 unnamed_net92 unnamed_net91 unnamed_net90 unnamed_net89 unnamed_net88 unnamed_net87 unnamed_net86 unnamed_net85 unnamed_net84 unnamed_net83 unnamed_net82 unnamed_net81 unnamed_net80 unnamed_net79 unnamed_net78 unnamed_net77 unnamed_net76 unnamed_net75 unnamed_net74 unnamed_net73 unnamed_net72 unnamed_net71 unnamed_net70 unnamed_net69 unnamed_net68 unnamed_net67 unnamed_net66 unnamed_net65 unnamed_net64 unnamed_net63 unnamed_net62 unnamed_net61 unnamed_net60 unnamed_net59 unnamed_net58 unnamed_net57 unnamed_net56 unnamed_net55 unnamed_net54 unnamed_net53 unnamed_net52 unnamed_net51 unnamed_net50 unnamed_net49 unnamed_net48 unnamed_net47 unnamed_net46 unnamed_net45 unnamed_net44 unnamed_net43 unnamed_net42 unnamed_net41 unnamed_net40 unnamed_net39 unnamed_net38 unnamed_net37 unnamed_net36 unnamed_net35 unnamed_net34 unnamed_net33 unnamed_net32 unnamed_net31 unnamed_net30 unnamed_net29 unnamed_net28 unnamed_net27 unnamed_net26 unnamed_net25 unnamed_net24 unnamed_net23 unnamed_net22 unnamed_net21 unnamed_net20 unnamed_net19 unnamed_net18 unnamed_net17 unnamed_net16 unnamed_net15 unnamed_net14 unnamed_net13 unnamed_net12 unnamed_net11 unnamed_net10 unnamed_net9 unnamed_net8 unnamed_net7 unnamed_net6 unnamed_net5 unnamed_net4 unnamed_net3 unnamed_net2 unnamed_net1)) (C?) geda-gaf-1.8.2/gnetlist/tests/common/outputs/gossip/JD_Sort.retcode0000664000175000017500000000000212050461155022254 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/gossip/cascade-output.net0000664000175000017500000000050312050461155023040 00000000000000;; Gossip Netlist Created by gNetlist ;; Created By Matt Ettus ;; Libraries: (use-library unknown *) (define-block (not found ( (signals (unnamed_net6 unnamed_net5 unnamed_net4 unnamed_net3 unnamed_net2 unnamed_net1 GND)) (AMP2) (T1) (MX1) (FL1) (DEF1) (AMP1) (SOURCE) (DEFAULTS) geda-gaf-1.8.2/gnetlist/tests/common/outputs/gossip/multiequal-output.net0000664000175000017500000000031012050461155023633 00000000000000;; Gossip Netlist Created by gNetlist ;; Created By Matt Ettus ;; Libraries: (use-library unknown *) (define-block (not found ( (signals (GND unnamed_net1)) (V1) (R1) (A1) geda-gaf-1.8.2/gnetlist/tests/common/outputs/gossip/JD_nomunge-output.net0000664000175000017500000000041512050461155023504 00000000000000;; Gossip Netlist Created by gNetlist ;; Created By Matt Ettus ;; Libraries: (use-library unknown *) (define-block (not found ( (signals (Vdd1 GND LVH i p m)) (A1) (Cm) (Cp) (Rlp) (Rlm) (Vdd) (V1) (Rt) (Rb) (M1) (X1) geda-gaf-1.8.2/gnetlist/tests/common/outputs/gossip/stack-torture.retcode0000664000175000017500000000000212063576065023572 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/gossip/powersupply.retcode0000664000175000017500000000000212050461155023361 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/gossip/JD_Sort_nomunge-output.net0000664000175000017500000000041512050461155024513 00000000000000;; Gossip Netlist Created by gNetlist ;; Created By Matt Ettus ;; Libraries: (use-library unknown *) (define-block (not found ( (signals (Vdd1 GND LVH i p m)) (A1) (Cm) (Cp) (Rlp) (Rlm) (Vdd) (V1) (Rt) (Rb) (M1) (X1) geda-gaf-1.8.2/gnetlist/tests/common/outputs/gossip/TwoStageAmp_Sort.retcode0000664000175000017500000000000212050461155024152 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/gossip/netattrib.retcode0000664000175000017500000000000212050461155022744 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/gossip/JD_nomunge.retcode0000664000175000017500000000000212050461155022775 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/gossip/JD_Include-output.net0000664000175000017500000000041512050461155023417 00000000000000;; Gossip Netlist Created by gNetlist ;; Created By Matt Ettus ;; Libraries: (use-library unknown *) (define-block (not found ( (signals (Vdd1 GND LVH i p m)) (A1) (Cm) (Cp) (Rlp) (Rlm) (Vdd) (V1) (Rt) (Rb) (M1) (X1) geda-gaf-1.8.2/gnetlist/tests/common/outputs/gossip/JD_Sort-output.net0000664000175000017500000000041512050461155022763 00000000000000;; Gossip Netlist Created by gNetlist ;; Created By Matt Ettus ;; Libraries: (use-library unknown *) (define-block (not found ( (signals (Vdd1 GND LVH i p m)) (A1) (Cm) (Cp) (Rlp) (Rlm) (Vdd) (V1) (Rt) (Rb) (M1) (X1) geda-gaf-1.8.2/gnetlist/tests/common/outputs/gossip/cascade.retcode0000664000175000017500000000000212050461155022333 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/gossip/TwoStageAmp_Sort-output.net0000664000175000017500000000066512050461155024670 00000000000000;; Gossip Netlist Created by gNetlist ;; Created By Matt Ettus ;; Libraries: (use-library unknown *) (define-block (not found ( (signals (unnamed_net2 Vbase2 Vem2 Vout VColl2 GND Vcc Vin unnamed_net1 Vbase1 Vem1 Vcoll1)) (C2) (R4) (R3) (R8) (CE2) (RE2) (RC1) (Q2) (C1) (A3) (A2) (A1) (VCC) (Vinput) (CE1) (Cout) (RL) (RC2) (RE1) (R2) (R1) (R5) (Q1) geda-gaf-1.8.2/gnetlist/tests/common/outputs/gossip/singlenet-output.net0000664000175000017500000000030112050461155023441 00000000000000;; Gossip Netlist Created by gNetlist ;; Created By Matt Ettus ;; Libraries: (use-library unknown *) (define-block (not found ( (signals (SING_N_2 GND Vcc SING_N)) (U100) geda-gaf-1.8.2/gnetlist/tests/common/outputs/gossip/TwoStageAmp_Include.retcode0000664000175000017500000000000212050461155024606 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/gossip/SlottedOpamps-output.net0000664000175000017500000000053512050461155024260 00000000000000;; Gossip Netlist Created by gNetlist ;; Created By Matt Ettus ;; Libraries: (use-library unknown *) (define-block (not found ( (signals (minusin_slot4_pin13_b plusin_slot4_pin12_a minusin_slot3_pin_b plusin_slot3_pin10_a minusin_slot2_pin6_b plusin_slot2_pin5_a samenet_output_c minusin_slot1_pin_b plusin_slot1_pin3_a)) (U1) geda-gaf-1.8.2/gnetlist/tests/common/outputs/gossip/TwoStageAmp_Include-output.net0000664000175000017500000000066512050461155025324 00000000000000;; Gossip Netlist Created by gNetlist ;; Created By Matt Ettus ;; Libraries: (use-library unknown *) (define-block (not found ( (signals (unnamed_net2 Vbase2 Vem2 Vout VColl2 GND Vcc Vin unnamed_net1 Vbase1 Vem1 Vcoll1)) (C2) (R4) (R3) (R8) (CE2) (RE2) (RC1) (Q2) (C1) (A3) (A2) (A1) (VCC) (Vinput) (CE1) (Cout) (RL) (RC2) (RE1) (R2) (R1) (R5) (Q1) geda-gaf-1.8.2/gnetlist/tests/common/outputs/gossip/singlenet.retcode0000664000175000017500000000000212050461155022740 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/gossip/JD_Include.retcode0000664000175000017500000000000212050461155022710 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/gossip/powersupply-output.net0000664000175000017500000000047112050461155024072 00000000000000;; Gossip Netlist Created by gNetlist ;; Created By Matt Ettus ;; Libraries: (use-library unknown *) (define-block (not found ( (signals (ten eleven GND one five three two six seven nine eight)) (U2) (C4) (C3) (R1) (C2) (R2) (C1) (S1) (CONN1) (T1) (F1) (U1) geda-gaf-1.8.2/gnetlist/tests/common/outputs/gossip/netattrib-output.net0000664000175000017500000000035012050461155023451 00000000000000;; Gossip Netlist Created by gNetlist ;; Created By Matt Ettus ;; Libraries: (use-library unknown *) (define-block (not found ( (signals (unnamed_net1 netattrib GND Vcc one)) (F1) (U300) (U200) (U100) geda-gaf-1.8.2/gnetlist/tests/common/outputs/gossip/SlottedOpamps.retcode0000664000175000017500000000000212050461155023546 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/gossip/JD.retcode0000664000175000017500000000000212050461155021245 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/gossip/multiequal.retcode0000664000175000017500000000000212050461155023132 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/gossip/JD_Sort_nomunge.retcode0000664000175000017500000000000212050461155024004 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/gossip/TwoStageAmp-output.net0000664000175000017500000000066512050461155023661 00000000000000;; Gossip Netlist Created by gNetlist ;; Created By Matt Ettus ;; Libraries: (use-library unknown *) (define-block (not found ( (signals (unnamed_net2 Vbase2 Vem2 Vout VColl2 GND Vcc Vin unnamed_net1 Vbase1 Vem1 Vcoll1)) (C2) (R4) (R3) (R8) (CE2) (RE2) (RC1) (Q2) (C1) (A3) (A2) (A1) (VCC) (Vinput) (CE1) (Cout) (RL) (RC2) (RE1) (R2) (R1) (R5) (Q1) geda-gaf-1.8.2/gnetlist/tests/common/outputs/gossip/JD_Include_nomunge.retcode0000664000175000017500000000000212050461155024440 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/futurenet2/0000775000175000017500000000000012220655756020303 500000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/futurenet2/JD_Include_nomunge-output.net0000664000175000017500000000226312050461155025751 00000000000000PINLIST,2 (DRAWING,GEDA.PIN,1-1 (SYM,1 DATA,2,A1 DATA,3,model DATA,4,unknown ) (SYM,2 DATA,2,CM DATA,3,20p DATA,4,unknown PIN,,GND,1-1,5,23,2 PIN,,M,1-1,5,23,1 ) (SYM,3 DATA,2,CP DATA,3,20p DATA,4,unknown PIN,,GND,1-1,5,23,2 PIN,,P,1-1,5,23,1 ) (SYM,4 DATA,2,RLP DATA,3,1meg DATA,4,unknown PIN,,P,1-1,5,23,1 PIN,,VDD1,1-1,5,23,2 ) (SYM,5 DATA,2,RLM DATA,3,500k DATA,4,unknown PIN,,M,1-1,5,23,1 PIN,,GND,1-1,5,23,2 ) (SYM,6 DATA,2,VDD DATA,3,DC 3.3V DATA,4,none PIN,,GND,1-1,5,23,2 PIN,,VDD1,1-1,5,23,1 ) (SYM,7 DATA,2,V1 DATA,3,pulse 3.3 0 1u 10p 10p 1.25u 2.5u DATA,4,none PIN,,GND,1-1,5,23,2 PIN,,I,1-1,5,23,1 ) (SYM,8 DATA,2,RT DATA,3,1k DATA,4,unknown PIN,,P,1-1,5,23,1 PIN,,M,1-1,5,23,2 ) (SYM,9 DATA,2,RB DATA,3,5.6k DATA,4,unknown PIN,,GND,1-1,5,23,1 PIN,,LVH,1-1,5,23,2 ) (SYM,10 DATA,2,M1 DATA,3,PMOS_TRANSISTOR DATA,4,unknown PIN,,LVH,1-1,5,23,G PIN,,LVH,1-1,5,23,D PIN,,VDD1,1-1,5,23,B PIN,,VDD1,1-1,5,23,S ) (SYM,11 DATA,2,X1 DATA,3,LVD DATA,4,unknown PIN,,GND,1-1,5,23,7 PIN,,VDD1,1-1,5,23,6 PIN,,GND,1-1,5,23,2 PIN,,LVH,1-1,5,23,3 PIN,,I,1-1,5,23,1 PIN,,P,1-1,5,23,5 PIN,,M,1-1,5,23,4 ) ) SIG,VDD1,1-1,5,VDD1 SIG,GND,1-1,5,GND SIG,LVH,1-1,5,LVH SIG,I,1-1,5,I SIG,P,1-1,5,P SIG,M,1-1,5,M ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/futurenet2/JD-output.net0000664000175000017500000000226312050461155022556 00000000000000PINLIST,2 (DRAWING,GEDA.PIN,1-1 (SYM,1 DATA,2,A1 DATA,3,model DATA,4,unknown ) (SYM,2 DATA,2,CM DATA,3,20p DATA,4,unknown PIN,,GND,1-1,5,23,2 PIN,,M,1-1,5,23,1 ) (SYM,3 DATA,2,CP DATA,3,20p DATA,4,unknown PIN,,GND,1-1,5,23,2 PIN,,P,1-1,5,23,1 ) (SYM,4 DATA,2,RLP DATA,3,1meg DATA,4,unknown PIN,,P,1-1,5,23,1 PIN,,VDD1,1-1,5,23,2 ) (SYM,5 DATA,2,RLM DATA,3,500k DATA,4,unknown PIN,,M,1-1,5,23,1 PIN,,GND,1-1,5,23,2 ) (SYM,6 DATA,2,VDD DATA,3,DC 3.3V DATA,4,none PIN,,GND,1-1,5,23,2 PIN,,VDD1,1-1,5,23,1 ) (SYM,7 DATA,2,V1 DATA,3,pulse 3.3 0 1u 10p 10p 1.25u 2.5u DATA,4,none PIN,,GND,1-1,5,23,2 PIN,,I,1-1,5,23,1 ) (SYM,8 DATA,2,RT DATA,3,1k DATA,4,unknown PIN,,P,1-1,5,23,1 PIN,,M,1-1,5,23,2 ) (SYM,9 DATA,2,RB DATA,3,5.6k DATA,4,unknown PIN,,GND,1-1,5,23,1 PIN,,LVH,1-1,5,23,2 ) (SYM,10 DATA,2,M1 DATA,3,PMOS_TRANSISTOR DATA,4,unknown PIN,,LVH,1-1,5,23,G PIN,,LVH,1-1,5,23,D PIN,,VDD1,1-1,5,23,B PIN,,VDD1,1-1,5,23,S ) (SYM,11 DATA,2,X1 DATA,3,LVD DATA,4,unknown PIN,,GND,1-1,5,23,7 PIN,,VDD1,1-1,5,23,6 PIN,,GND,1-1,5,23,2 PIN,,LVH,1-1,5,23,3 PIN,,I,1-1,5,23,1 PIN,,P,1-1,5,23,5 PIN,,M,1-1,5,23,4 ) ) SIG,VDD1,1-1,5,VDD1 SIG,GND,1-1,5,GND SIG,LVH,1-1,5,LVH SIG,I,1-1,5,I SIG,P,1-1,5,P SIG,M,1-1,5,M ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/futurenet2/TwoStageAmp.retcode0000664000175000017500000000000212050461155023742 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/futurenet2/stack-torture-output.net0000664000175000017500000021771312063576065025113 00000000000000PINLIST,2 (DRAWING,GEDA.PIN,1-1 (SYM,1 DATA,2,C? DATA,3,CAPACITOR DATA,4,unknown PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 PIN,,NET1025,1-1,5,23,2 PIN,,NET1024,1-1,5,23,1 ) ) SIG,NET1025,1-1,5,NET1025 SIG,NET1024,1-1,5,NET1024 SIG,NET1023,1-1,5,NET1023 SIG,NET1022,1-1,5,NET1022 SIG,NET1021,1-1,5,NET1021 SIG,NET1020,1-1,5,NET1020 SIG,NET1019,1-1,5,NET1019 SIG,NET1018,1-1,5,NET1018 SIG,NET1017,1-1,5,NET1017 SIG,NET1016,1-1,5,NET1016 SIG,NET1015,1-1,5,NET1015 SIG,NET1014,1-1,5,NET1014 SIG,NET1013,1-1,5,NET1013 SIG,NET1012,1-1,5,NET1012 SIG,NET1011,1-1,5,NET1011 SIG,NET1010,1-1,5,NET1010 SIG,NET1009,1-1,5,NET1009 SIG,NET1008,1-1,5,NET1008 SIG,NET1007,1-1,5,NET1007 SIG,NET1006,1-1,5,NET1006 SIG,NET1005,1-1,5,NET1005 SIG,NET1004,1-1,5,NET1004 SIG,NET1003,1-1,5,NET1003 SIG,NET1002,1-1,5,NET1002 SIG,NET1001,1-1,5,NET1001 SIG,NET1000,1-1,5,NET1000 SIG,NET999,1-1,5,NET999 SIG,NET998,1-1,5,NET998 SIG,NET997,1-1,5,NET997 SIG,NET996,1-1,5,NET996 SIG,NET995,1-1,5,NET995 SIG,NET994,1-1,5,NET994 SIG,NET993,1-1,5,NET993 SIG,NET992,1-1,5,NET992 SIG,NET991,1-1,5,NET991 SIG,NET990,1-1,5,NET990 SIG,NET989,1-1,5,NET989 SIG,NET988,1-1,5,NET988 SIG,NET987,1-1,5,NET987 SIG,NET986,1-1,5,NET986 SIG,NET985,1-1,5,NET985 SIG,NET984,1-1,5,NET984 SIG,NET983,1-1,5,NET983 SIG,NET982,1-1,5,NET982 SIG,NET981,1-1,5,NET981 SIG,NET980,1-1,5,NET980 SIG,NET979,1-1,5,NET979 SIG,NET978,1-1,5,NET978 SIG,NET977,1-1,5,NET977 SIG,NET976,1-1,5,NET976 SIG,NET975,1-1,5,NET975 SIG,NET974,1-1,5,NET974 SIG,NET973,1-1,5,NET973 SIG,NET972,1-1,5,NET972 SIG,NET971,1-1,5,NET971 SIG,NET970,1-1,5,NET970 SIG,NET969,1-1,5,NET969 SIG,NET968,1-1,5,NET968 SIG,NET967,1-1,5,NET967 SIG,NET966,1-1,5,NET966 SIG,NET965,1-1,5,NET965 SIG,NET964,1-1,5,NET964 SIG,NET963,1-1,5,NET963 SIG,NET962,1-1,5,NET962 SIG,NET961,1-1,5,NET961 SIG,NET960,1-1,5,NET960 SIG,NET959,1-1,5,NET959 SIG,NET958,1-1,5,NET958 SIG,NET957,1-1,5,NET957 SIG,NET956,1-1,5,NET956 SIG,NET955,1-1,5,NET955 SIG,NET954,1-1,5,NET954 SIG,NET953,1-1,5,NET953 SIG,NET952,1-1,5,NET952 SIG,NET951,1-1,5,NET951 SIG,NET950,1-1,5,NET950 SIG,NET949,1-1,5,NET949 SIG,NET948,1-1,5,NET948 SIG,NET947,1-1,5,NET947 SIG,NET946,1-1,5,NET946 SIG,NET945,1-1,5,NET945 SIG,NET944,1-1,5,NET944 SIG,NET943,1-1,5,NET943 SIG,NET942,1-1,5,NET942 SIG,NET941,1-1,5,NET941 SIG,NET940,1-1,5,NET940 SIG,NET939,1-1,5,NET939 SIG,NET938,1-1,5,NET938 SIG,NET937,1-1,5,NET937 SIG,NET936,1-1,5,NET936 SIG,NET935,1-1,5,NET935 SIG,NET934,1-1,5,NET934 SIG,NET933,1-1,5,NET933 SIG,NET932,1-1,5,NET932 SIG,NET931,1-1,5,NET931 SIG,NET930,1-1,5,NET930 SIG,NET929,1-1,5,NET929 SIG,NET928,1-1,5,NET928 SIG,NET927,1-1,5,NET927 SIG,NET926,1-1,5,NET926 SIG,NET925,1-1,5,NET925 SIG,NET924,1-1,5,NET924 SIG,NET923,1-1,5,NET923 SIG,NET922,1-1,5,NET922 SIG,NET921,1-1,5,NET921 SIG,NET920,1-1,5,NET920 SIG,NET919,1-1,5,NET919 SIG,NET918,1-1,5,NET918 SIG,NET917,1-1,5,NET917 SIG,NET916,1-1,5,NET916 SIG,NET915,1-1,5,NET915 SIG,NET914,1-1,5,NET914 SIG,NET913,1-1,5,NET913 SIG,NET912,1-1,5,NET912 SIG,NET911,1-1,5,NET911 SIG,NET910,1-1,5,NET910 SIG,NET909,1-1,5,NET909 SIG,NET908,1-1,5,NET908 SIG,NET907,1-1,5,NET907 SIG,NET906,1-1,5,NET906 SIG,NET905,1-1,5,NET905 SIG,NET904,1-1,5,NET904 SIG,NET903,1-1,5,NET903 SIG,NET902,1-1,5,NET902 SIG,NET901,1-1,5,NET901 SIG,NET900,1-1,5,NET900 SIG,NET899,1-1,5,NET899 SIG,NET898,1-1,5,NET898 SIG,NET897,1-1,5,NET897 SIG,NET896,1-1,5,NET896 SIG,NET895,1-1,5,NET895 SIG,NET894,1-1,5,NET894 SIG,NET893,1-1,5,NET893 SIG,NET892,1-1,5,NET892 SIG,NET891,1-1,5,NET891 SIG,NET890,1-1,5,NET890 SIG,NET889,1-1,5,NET889 SIG,NET888,1-1,5,NET888 SIG,NET887,1-1,5,NET887 SIG,NET886,1-1,5,NET886 SIG,NET885,1-1,5,NET885 SIG,NET884,1-1,5,NET884 SIG,NET883,1-1,5,NET883 SIG,NET882,1-1,5,NET882 SIG,NET881,1-1,5,NET881 SIG,NET880,1-1,5,NET880 SIG,NET879,1-1,5,NET879 SIG,NET878,1-1,5,NET878 SIG,NET877,1-1,5,NET877 SIG,NET876,1-1,5,NET876 SIG,NET875,1-1,5,NET875 SIG,NET874,1-1,5,NET874 SIG,NET873,1-1,5,NET873 SIG,NET872,1-1,5,NET872 SIG,NET871,1-1,5,NET871 SIG,NET870,1-1,5,NET870 SIG,NET869,1-1,5,NET869 SIG,NET868,1-1,5,NET868 SIG,NET867,1-1,5,NET867 SIG,NET866,1-1,5,NET866 SIG,NET865,1-1,5,NET865 SIG,NET864,1-1,5,NET864 SIG,NET863,1-1,5,NET863 SIG,NET862,1-1,5,NET862 SIG,NET861,1-1,5,NET861 SIG,NET860,1-1,5,NET860 SIG,NET859,1-1,5,NET859 SIG,NET858,1-1,5,NET858 SIG,NET857,1-1,5,NET857 SIG,NET856,1-1,5,NET856 SIG,NET855,1-1,5,NET855 SIG,NET854,1-1,5,NET854 SIG,NET853,1-1,5,NET853 SIG,NET852,1-1,5,NET852 SIG,NET851,1-1,5,NET851 SIG,NET850,1-1,5,NET850 SIG,NET849,1-1,5,NET849 SIG,NET848,1-1,5,NET848 SIG,NET847,1-1,5,NET847 SIG,NET846,1-1,5,NET846 SIG,NET845,1-1,5,NET845 SIG,NET844,1-1,5,NET844 SIG,NET843,1-1,5,NET843 SIG,NET842,1-1,5,NET842 SIG,NET841,1-1,5,NET841 SIG,NET840,1-1,5,NET840 SIG,NET839,1-1,5,NET839 SIG,NET838,1-1,5,NET838 SIG,NET837,1-1,5,NET837 SIG,NET836,1-1,5,NET836 SIG,NET835,1-1,5,NET835 SIG,NET834,1-1,5,NET834 SIG,NET833,1-1,5,NET833 SIG,NET832,1-1,5,NET832 SIG,NET831,1-1,5,NET831 SIG,NET830,1-1,5,NET830 SIG,NET829,1-1,5,NET829 SIG,NET828,1-1,5,NET828 SIG,NET827,1-1,5,NET827 SIG,NET826,1-1,5,NET826 SIG,NET825,1-1,5,NET825 SIG,NET824,1-1,5,NET824 SIG,NET823,1-1,5,NET823 SIG,NET822,1-1,5,NET822 SIG,NET821,1-1,5,NET821 SIG,NET820,1-1,5,NET820 SIG,NET819,1-1,5,NET819 SIG,NET818,1-1,5,NET818 SIG,NET817,1-1,5,NET817 SIG,NET816,1-1,5,NET816 SIG,NET815,1-1,5,NET815 SIG,NET814,1-1,5,NET814 SIG,NET813,1-1,5,NET813 SIG,NET812,1-1,5,NET812 SIG,NET811,1-1,5,NET811 SIG,NET810,1-1,5,NET810 SIG,NET809,1-1,5,NET809 SIG,NET808,1-1,5,NET808 SIG,NET807,1-1,5,NET807 SIG,NET806,1-1,5,NET806 SIG,NET805,1-1,5,NET805 SIG,NET804,1-1,5,NET804 SIG,NET803,1-1,5,NET803 SIG,NET802,1-1,5,NET802 SIG,NET801,1-1,5,NET801 SIG,NET800,1-1,5,NET800 SIG,NET799,1-1,5,NET799 SIG,NET798,1-1,5,NET798 SIG,NET797,1-1,5,NET797 SIG,NET796,1-1,5,NET796 SIG,NET795,1-1,5,NET795 SIG,NET794,1-1,5,NET794 SIG,NET793,1-1,5,NET793 SIG,NET792,1-1,5,NET792 SIG,NET791,1-1,5,NET791 SIG,NET790,1-1,5,NET790 SIG,NET789,1-1,5,NET789 SIG,NET788,1-1,5,NET788 SIG,NET787,1-1,5,NET787 SIG,NET786,1-1,5,NET786 SIG,NET785,1-1,5,NET785 SIG,NET784,1-1,5,NET784 SIG,NET783,1-1,5,NET783 SIG,NET782,1-1,5,NET782 SIG,NET781,1-1,5,NET781 SIG,NET780,1-1,5,NET780 SIG,NET779,1-1,5,NET779 SIG,NET778,1-1,5,NET778 SIG,NET777,1-1,5,NET777 SIG,NET776,1-1,5,NET776 SIG,NET775,1-1,5,NET775 SIG,NET774,1-1,5,NET774 SIG,NET773,1-1,5,NET773 SIG,NET772,1-1,5,NET772 SIG,NET771,1-1,5,NET771 SIG,NET770,1-1,5,NET770 SIG,NET769,1-1,5,NET769 SIG,NET768,1-1,5,NET768 SIG,NET767,1-1,5,NET767 SIG,NET766,1-1,5,NET766 SIG,NET765,1-1,5,NET765 SIG,NET764,1-1,5,NET764 SIG,NET763,1-1,5,NET763 SIG,NET762,1-1,5,NET762 SIG,NET761,1-1,5,NET761 SIG,NET760,1-1,5,NET760 SIG,NET759,1-1,5,NET759 SIG,NET758,1-1,5,NET758 SIG,NET757,1-1,5,NET757 SIG,NET756,1-1,5,NET756 SIG,NET755,1-1,5,NET755 SIG,NET754,1-1,5,NET754 SIG,NET753,1-1,5,NET753 SIG,NET752,1-1,5,NET752 SIG,NET751,1-1,5,NET751 SIG,NET750,1-1,5,NET750 SIG,NET749,1-1,5,NET749 SIG,NET748,1-1,5,NET748 SIG,NET747,1-1,5,NET747 SIG,NET746,1-1,5,NET746 SIG,NET745,1-1,5,NET745 SIG,NET744,1-1,5,NET744 SIG,NET743,1-1,5,NET743 SIG,NET742,1-1,5,NET742 SIG,NET741,1-1,5,NET741 SIG,NET740,1-1,5,NET740 SIG,NET739,1-1,5,NET739 SIG,NET738,1-1,5,NET738 SIG,NET737,1-1,5,NET737 SIG,NET736,1-1,5,NET736 SIG,NET735,1-1,5,NET735 SIG,NET734,1-1,5,NET734 SIG,NET733,1-1,5,NET733 SIG,NET732,1-1,5,NET732 SIG,NET731,1-1,5,NET731 SIG,NET730,1-1,5,NET730 SIG,NET729,1-1,5,NET729 SIG,NET728,1-1,5,NET728 SIG,NET727,1-1,5,NET727 SIG,NET726,1-1,5,NET726 SIG,NET725,1-1,5,NET725 SIG,NET724,1-1,5,NET724 SIG,NET723,1-1,5,NET723 SIG,NET722,1-1,5,NET722 SIG,NET721,1-1,5,NET721 SIG,NET720,1-1,5,NET720 SIG,NET719,1-1,5,NET719 SIG,NET718,1-1,5,NET718 SIG,NET717,1-1,5,NET717 SIG,NET716,1-1,5,NET716 SIG,NET715,1-1,5,NET715 SIG,NET714,1-1,5,NET714 SIG,NET713,1-1,5,NET713 SIG,NET712,1-1,5,NET712 SIG,NET711,1-1,5,NET711 SIG,NET710,1-1,5,NET710 SIG,NET709,1-1,5,NET709 SIG,NET708,1-1,5,NET708 SIG,NET707,1-1,5,NET707 SIG,NET706,1-1,5,NET706 SIG,NET705,1-1,5,NET705 SIG,NET704,1-1,5,NET704 SIG,NET703,1-1,5,NET703 SIG,NET702,1-1,5,NET702 SIG,NET701,1-1,5,NET701 SIG,NET700,1-1,5,NET700 SIG,NET699,1-1,5,NET699 SIG,NET698,1-1,5,NET698 SIG,NET697,1-1,5,NET697 SIG,NET696,1-1,5,NET696 SIG,NET695,1-1,5,NET695 SIG,NET694,1-1,5,NET694 SIG,NET693,1-1,5,NET693 SIG,NET692,1-1,5,NET692 SIG,NET691,1-1,5,NET691 SIG,NET690,1-1,5,NET690 SIG,NET689,1-1,5,NET689 SIG,NET688,1-1,5,NET688 SIG,NET687,1-1,5,NET687 SIG,NET686,1-1,5,NET686 SIG,NET685,1-1,5,NET685 SIG,NET684,1-1,5,NET684 SIG,NET683,1-1,5,NET683 SIG,NET682,1-1,5,NET682 SIG,NET681,1-1,5,NET681 SIG,NET680,1-1,5,NET680 SIG,NET679,1-1,5,NET679 SIG,NET678,1-1,5,NET678 SIG,NET677,1-1,5,NET677 SIG,NET676,1-1,5,NET676 SIG,NET675,1-1,5,NET675 SIG,NET674,1-1,5,NET674 SIG,NET673,1-1,5,NET673 SIG,NET672,1-1,5,NET672 SIG,NET671,1-1,5,NET671 SIG,NET670,1-1,5,NET670 SIG,NET669,1-1,5,NET669 SIG,NET668,1-1,5,NET668 SIG,NET667,1-1,5,NET667 SIG,NET666,1-1,5,NET666 SIG,NET665,1-1,5,NET665 SIG,NET664,1-1,5,NET664 SIG,NET663,1-1,5,NET663 SIG,NET662,1-1,5,NET662 SIG,NET661,1-1,5,NET661 SIG,NET660,1-1,5,NET660 SIG,NET659,1-1,5,NET659 SIG,NET658,1-1,5,NET658 SIG,NET657,1-1,5,NET657 SIG,NET656,1-1,5,NET656 SIG,NET655,1-1,5,NET655 SIG,NET654,1-1,5,NET654 SIG,NET653,1-1,5,NET653 SIG,NET652,1-1,5,NET652 SIG,NET651,1-1,5,NET651 SIG,NET650,1-1,5,NET650 SIG,NET649,1-1,5,NET649 SIG,NET648,1-1,5,NET648 SIG,NET647,1-1,5,NET647 SIG,NET646,1-1,5,NET646 SIG,NET645,1-1,5,NET645 SIG,NET644,1-1,5,NET644 SIG,NET643,1-1,5,NET643 SIG,NET642,1-1,5,NET642 SIG,NET641,1-1,5,NET641 SIG,NET640,1-1,5,NET640 SIG,NET639,1-1,5,NET639 SIG,NET638,1-1,5,NET638 SIG,NET637,1-1,5,NET637 SIG,NET636,1-1,5,NET636 SIG,NET635,1-1,5,NET635 SIG,NET634,1-1,5,NET634 SIG,NET633,1-1,5,NET633 SIG,NET632,1-1,5,NET632 SIG,NET631,1-1,5,NET631 SIG,NET630,1-1,5,NET630 SIG,NET629,1-1,5,NET629 SIG,NET628,1-1,5,NET628 SIG,NET627,1-1,5,NET627 SIG,NET626,1-1,5,NET626 SIG,NET625,1-1,5,NET625 SIG,NET624,1-1,5,NET624 SIG,NET623,1-1,5,NET623 SIG,NET622,1-1,5,NET622 SIG,NET621,1-1,5,NET621 SIG,NET620,1-1,5,NET620 SIG,NET619,1-1,5,NET619 SIG,NET618,1-1,5,NET618 SIG,NET617,1-1,5,NET617 SIG,NET616,1-1,5,NET616 SIG,NET615,1-1,5,NET615 SIG,NET614,1-1,5,NET614 SIG,NET613,1-1,5,NET613 SIG,NET612,1-1,5,NET612 SIG,NET611,1-1,5,NET611 SIG,NET610,1-1,5,NET610 SIG,NET609,1-1,5,NET609 SIG,NET608,1-1,5,NET608 SIG,NET607,1-1,5,NET607 SIG,NET606,1-1,5,NET606 SIG,NET605,1-1,5,NET605 SIG,NET604,1-1,5,NET604 SIG,NET603,1-1,5,NET603 SIG,NET602,1-1,5,NET602 SIG,NET601,1-1,5,NET601 SIG,NET600,1-1,5,NET600 SIG,NET599,1-1,5,NET599 SIG,NET598,1-1,5,NET598 SIG,NET597,1-1,5,NET597 SIG,NET596,1-1,5,NET596 SIG,NET595,1-1,5,NET595 SIG,NET594,1-1,5,NET594 SIG,NET593,1-1,5,NET593 SIG,NET592,1-1,5,NET592 SIG,NET591,1-1,5,NET591 SIG,NET590,1-1,5,NET590 SIG,NET589,1-1,5,NET589 SIG,NET588,1-1,5,NET588 SIG,NET587,1-1,5,NET587 SIG,NET586,1-1,5,NET586 SIG,NET585,1-1,5,NET585 SIG,NET584,1-1,5,NET584 SIG,NET583,1-1,5,NET583 SIG,NET582,1-1,5,NET582 SIG,NET581,1-1,5,NET581 SIG,NET580,1-1,5,NET580 SIG,NET579,1-1,5,NET579 SIG,NET578,1-1,5,NET578 SIG,NET577,1-1,5,NET577 SIG,NET576,1-1,5,NET576 SIG,NET575,1-1,5,NET575 SIG,NET574,1-1,5,NET574 SIG,NET573,1-1,5,NET573 SIG,NET572,1-1,5,NET572 SIG,NET571,1-1,5,NET571 SIG,NET570,1-1,5,NET570 SIG,NET569,1-1,5,NET569 SIG,NET568,1-1,5,NET568 SIG,NET567,1-1,5,NET567 SIG,NET566,1-1,5,NET566 SIG,NET565,1-1,5,NET565 SIG,NET564,1-1,5,NET564 SIG,NET563,1-1,5,NET563 SIG,NET562,1-1,5,NET562 SIG,NET561,1-1,5,NET561 SIG,NET560,1-1,5,NET560 SIG,NET559,1-1,5,NET559 SIG,NET558,1-1,5,NET558 SIG,NET557,1-1,5,NET557 SIG,NET556,1-1,5,NET556 SIG,NET555,1-1,5,NET555 SIG,NET554,1-1,5,NET554 SIG,NET553,1-1,5,NET553 SIG,NET552,1-1,5,NET552 SIG,NET551,1-1,5,NET551 SIG,NET550,1-1,5,NET550 SIG,NET549,1-1,5,NET549 SIG,NET548,1-1,5,NET548 SIG,NET547,1-1,5,NET547 SIG,NET546,1-1,5,NET546 SIG,NET545,1-1,5,NET545 SIG,NET544,1-1,5,NET544 SIG,NET543,1-1,5,NET543 SIG,NET542,1-1,5,NET542 SIG,NET541,1-1,5,NET541 SIG,NET540,1-1,5,NET540 SIG,NET539,1-1,5,NET539 SIG,NET538,1-1,5,NET538 SIG,NET537,1-1,5,NET537 SIG,NET536,1-1,5,NET536 SIG,NET535,1-1,5,NET535 SIG,NET534,1-1,5,NET534 SIG,NET533,1-1,5,NET533 SIG,NET532,1-1,5,NET532 SIG,NET531,1-1,5,NET531 SIG,NET530,1-1,5,NET530 SIG,NET529,1-1,5,NET529 SIG,NET528,1-1,5,NET528 SIG,NET527,1-1,5,NET527 SIG,NET526,1-1,5,NET526 SIG,NET525,1-1,5,NET525 SIG,NET524,1-1,5,NET524 SIG,NET523,1-1,5,NET523 SIG,NET522,1-1,5,NET522 SIG,NET521,1-1,5,NET521 SIG,NET520,1-1,5,NET520 SIG,NET519,1-1,5,NET519 SIG,NET518,1-1,5,NET518 SIG,NET517,1-1,5,NET517 SIG,NET516,1-1,5,NET516 SIG,NET515,1-1,5,NET515 SIG,NET514,1-1,5,NET514 SIG,NET513,1-1,5,NET513 SIG,NET512,1-1,5,NET512 SIG,NET511,1-1,5,NET511 SIG,NET510,1-1,5,NET510 SIG,NET509,1-1,5,NET509 SIG,NET508,1-1,5,NET508 SIG,NET507,1-1,5,NET507 SIG,NET506,1-1,5,NET506 SIG,NET505,1-1,5,NET505 SIG,NET504,1-1,5,NET504 SIG,NET503,1-1,5,NET503 SIG,NET502,1-1,5,NET502 SIG,NET501,1-1,5,NET501 SIG,NET500,1-1,5,NET500 SIG,NET499,1-1,5,NET499 SIG,NET498,1-1,5,NET498 SIG,NET497,1-1,5,NET497 SIG,NET496,1-1,5,NET496 SIG,NET495,1-1,5,NET495 SIG,NET494,1-1,5,NET494 SIG,NET493,1-1,5,NET493 SIG,NET492,1-1,5,NET492 SIG,NET491,1-1,5,NET491 SIG,NET490,1-1,5,NET490 SIG,NET489,1-1,5,NET489 SIG,NET488,1-1,5,NET488 SIG,NET487,1-1,5,NET487 SIG,NET486,1-1,5,NET486 SIG,NET485,1-1,5,NET485 SIG,NET484,1-1,5,NET484 SIG,NET483,1-1,5,NET483 SIG,NET482,1-1,5,NET482 SIG,NET481,1-1,5,NET481 SIG,NET480,1-1,5,NET480 SIG,NET479,1-1,5,NET479 SIG,NET478,1-1,5,NET478 SIG,NET477,1-1,5,NET477 SIG,NET476,1-1,5,NET476 SIG,NET475,1-1,5,NET475 SIG,NET474,1-1,5,NET474 SIG,NET473,1-1,5,NET473 SIG,NET472,1-1,5,NET472 SIG,NET471,1-1,5,NET471 SIG,NET470,1-1,5,NET470 SIG,NET469,1-1,5,NET469 SIG,NET468,1-1,5,NET468 SIG,NET467,1-1,5,NET467 SIG,NET466,1-1,5,NET466 SIG,NET465,1-1,5,NET465 SIG,NET464,1-1,5,NET464 SIG,NET463,1-1,5,NET463 SIG,NET462,1-1,5,NET462 SIG,NET461,1-1,5,NET461 SIG,NET460,1-1,5,NET460 SIG,NET459,1-1,5,NET459 SIG,NET458,1-1,5,NET458 SIG,NET457,1-1,5,NET457 SIG,NET456,1-1,5,NET456 SIG,NET455,1-1,5,NET455 SIG,NET454,1-1,5,NET454 SIG,NET453,1-1,5,NET453 SIG,NET452,1-1,5,NET452 SIG,NET451,1-1,5,NET451 SIG,NET450,1-1,5,NET450 SIG,NET449,1-1,5,NET449 SIG,NET448,1-1,5,NET448 SIG,NET447,1-1,5,NET447 SIG,NET446,1-1,5,NET446 SIG,NET445,1-1,5,NET445 SIG,NET444,1-1,5,NET444 SIG,NET443,1-1,5,NET443 SIG,NET442,1-1,5,NET442 SIG,NET441,1-1,5,NET441 SIG,NET440,1-1,5,NET440 SIG,NET439,1-1,5,NET439 SIG,NET438,1-1,5,NET438 SIG,NET437,1-1,5,NET437 SIG,NET436,1-1,5,NET436 SIG,NET435,1-1,5,NET435 SIG,NET434,1-1,5,NET434 SIG,NET433,1-1,5,NET433 SIG,NET432,1-1,5,NET432 SIG,NET431,1-1,5,NET431 SIG,NET430,1-1,5,NET430 SIG,NET429,1-1,5,NET429 SIG,NET428,1-1,5,NET428 SIG,NET427,1-1,5,NET427 SIG,NET426,1-1,5,NET426 SIG,NET425,1-1,5,NET425 SIG,NET424,1-1,5,NET424 SIG,NET423,1-1,5,NET423 SIG,NET422,1-1,5,NET422 SIG,NET421,1-1,5,NET421 SIG,NET420,1-1,5,NET420 SIG,NET419,1-1,5,NET419 SIG,NET418,1-1,5,NET418 SIG,NET417,1-1,5,NET417 SIG,NET416,1-1,5,NET416 SIG,NET415,1-1,5,NET415 SIG,NET414,1-1,5,NET414 SIG,NET413,1-1,5,NET413 SIG,NET412,1-1,5,NET412 SIG,NET411,1-1,5,NET411 SIG,NET410,1-1,5,NET410 SIG,NET409,1-1,5,NET409 SIG,NET408,1-1,5,NET408 SIG,NET407,1-1,5,NET407 SIG,NET406,1-1,5,NET406 SIG,NET405,1-1,5,NET405 SIG,NET404,1-1,5,NET404 SIG,NET403,1-1,5,NET403 SIG,NET402,1-1,5,NET402 SIG,NET401,1-1,5,NET401 SIG,NET400,1-1,5,NET400 SIG,NET399,1-1,5,NET399 SIG,NET398,1-1,5,NET398 SIG,NET397,1-1,5,NET397 SIG,NET396,1-1,5,NET396 SIG,NET395,1-1,5,NET395 SIG,NET394,1-1,5,NET394 SIG,NET393,1-1,5,NET393 SIG,NET392,1-1,5,NET392 SIG,NET391,1-1,5,NET391 SIG,NET390,1-1,5,NET390 SIG,NET389,1-1,5,NET389 SIG,NET388,1-1,5,NET388 SIG,NET387,1-1,5,NET387 SIG,NET386,1-1,5,NET386 SIG,NET385,1-1,5,NET385 SIG,NET384,1-1,5,NET384 SIG,NET383,1-1,5,NET383 SIG,NET382,1-1,5,NET382 SIG,NET381,1-1,5,NET381 SIG,NET380,1-1,5,NET380 SIG,NET379,1-1,5,NET379 SIG,NET378,1-1,5,NET378 SIG,NET377,1-1,5,NET377 SIG,NET376,1-1,5,NET376 SIG,NET375,1-1,5,NET375 SIG,NET374,1-1,5,NET374 SIG,NET373,1-1,5,NET373 SIG,NET372,1-1,5,NET372 SIG,NET371,1-1,5,NET371 SIG,NET370,1-1,5,NET370 SIG,NET369,1-1,5,NET369 SIG,NET368,1-1,5,NET368 SIG,NET367,1-1,5,NET367 SIG,NET366,1-1,5,NET366 SIG,NET365,1-1,5,NET365 SIG,NET364,1-1,5,NET364 SIG,NET363,1-1,5,NET363 SIG,NET362,1-1,5,NET362 SIG,NET361,1-1,5,NET361 SIG,NET360,1-1,5,NET360 SIG,NET359,1-1,5,NET359 SIG,NET358,1-1,5,NET358 SIG,NET357,1-1,5,NET357 SIG,NET356,1-1,5,NET356 SIG,NET355,1-1,5,NET355 SIG,NET354,1-1,5,NET354 SIG,NET353,1-1,5,NET353 SIG,NET352,1-1,5,NET352 SIG,NET351,1-1,5,NET351 SIG,NET350,1-1,5,NET350 SIG,NET349,1-1,5,NET349 SIG,NET348,1-1,5,NET348 SIG,NET347,1-1,5,NET347 SIG,NET346,1-1,5,NET346 SIG,NET345,1-1,5,NET345 SIG,NET344,1-1,5,NET344 SIG,NET343,1-1,5,NET343 SIG,NET342,1-1,5,NET342 SIG,NET341,1-1,5,NET341 SIG,NET340,1-1,5,NET340 SIG,NET339,1-1,5,NET339 SIG,NET338,1-1,5,NET338 SIG,NET337,1-1,5,NET337 SIG,NET336,1-1,5,NET336 SIG,NET335,1-1,5,NET335 SIG,NET334,1-1,5,NET334 SIG,NET333,1-1,5,NET333 SIG,NET332,1-1,5,NET332 SIG,NET331,1-1,5,NET331 SIG,NET330,1-1,5,NET330 SIG,NET329,1-1,5,NET329 SIG,NET328,1-1,5,NET328 SIG,NET327,1-1,5,NET327 SIG,NET326,1-1,5,NET326 SIG,NET325,1-1,5,NET325 SIG,NET324,1-1,5,NET324 SIG,NET323,1-1,5,NET323 SIG,NET322,1-1,5,NET322 SIG,NET321,1-1,5,NET321 SIG,NET320,1-1,5,NET320 SIG,NET319,1-1,5,NET319 SIG,NET318,1-1,5,NET318 SIG,NET317,1-1,5,NET317 SIG,NET316,1-1,5,NET316 SIG,NET315,1-1,5,NET315 SIG,NET314,1-1,5,NET314 SIG,NET313,1-1,5,NET313 SIG,NET312,1-1,5,NET312 SIG,NET311,1-1,5,NET311 SIG,NET310,1-1,5,NET310 SIG,NET309,1-1,5,NET309 SIG,NET308,1-1,5,NET308 SIG,NET307,1-1,5,NET307 SIG,NET306,1-1,5,NET306 SIG,NET305,1-1,5,NET305 SIG,NET304,1-1,5,NET304 SIG,NET303,1-1,5,NET303 SIG,NET302,1-1,5,NET302 SIG,NET301,1-1,5,NET301 SIG,NET300,1-1,5,NET300 SIG,NET299,1-1,5,NET299 SIG,NET298,1-1,5,NET298 SIG,NET297,1-1,5,NET297 SIG,NET296,1-1,5,NET296 SIG,NET295,1-1,5,NET295 SIG,NET294,1-1,5,NET294 SIG,NET293,1-1,5,NET293 SIG,NET292,1-1,5,NET292 SIG,NET291,1-1,5,NET291 SIG,NET290,1-1,5,NET290 SIG,NET289,1-1,5,NET289 SIG,NET288,1-1,5,NET288 SIG,NET287,1-1,5,NET287 SIG,NET286,1-1,5,NET286 SIG,NET285,1-1,5,NET285 SIG,NET284,1-1,5,NET284 SIG,NET283,1-1,5,NET283 SIG,NET282,1-1,5,NET282 SIG,NET281,1-1,5,NET281 SIG,NET280,1-1,5,NET280 SIG,NET279,1-1,5,NET279 SIG,NET278,1-1,5,NET278 SIG,NET277,1-1,5,NET277 SIG,NET276,1-1,5,NET276 SIG,NET275,1-1,5,NET275 SIG,NET274,1-1,5,NET274 SIG,NET273,1-1,5,NET273 SIG,NET272,1-1,5,NET272 SIG,NET271,1-1,5,NET271 SIG,NET270,1-1,5,NET270 SIG,NET269,1-1,5,NET269 SIG,NET268,1-1,5,NET268 SIG,NET267,1-1,5,NET267 SIG,NET266,1-1,5,NET266 SIG,NET265,1-1,5,NET265 SIG,NET264,1-1,5,NET264 SIG,NET263,1-1,5,NET263 SIG,NET262,1-1,5,NET262 SIG,NET261,1-1,5,NET261 SIG,NET260,1-1,5,NET260 SIG,NET259,1-1,5,NET259 SIG,NET258,1-1,5,NET258 SIG,NET257,1-1,5,NET257 SIG,NET256,1-1,5,NET256 SIG,NET255,1-1,5,NET255 SIG,NET254,1-1,5,NET254 SIG,NET253,1-1,5,NET253 SIG,NET252,1-1,5,NET252 SIG,NET251,1-1,5,NET251 SIG,NET250,1-1,5,NET250 SIG,NET249,1-1,5,NET249 SIG,NET248,1-1,5,NET248 SIG,NET247,1-1,5,NET247 SIG,NET246,1-1,5,NET246 SIG,NET245,1-1,5,NET245 SIG,NET244,1-1,5,NET244 SIG,NET243,1-1,5,NET243 SIG,NET242,1-1,5,NET242 SIG,NET241,1-1,5,NET241 SIG,NET240,1-1,5,NET240 SIG,NET239,1-1,5,NET239 SIG,NET238,1-1,5,NET238 SIG,NET237,1-1,5,NET237 SIG,NET236,1-1,5,NET236 SIG,NET235,1-1,5,NET235 SIG,NET234,1-1,5,NET234 SIG,NET233,1-1,5,NET233 SIG,NET232,1-1,5,NET232 SIG,NET231,1-1,5,NET231 SIG,NET230,1-1,5,NET230 SIG,NET229,1-1,5,NET229 SIG,NET228,1-1,5,NET228 SIG,NET227,1-1,5,NET227 SIG,NET226,1-1,5,NET226 SIG,NET225,1-1,5,NET225 SIG,NET224,1-1,5,NET224 SIG,NET223,1-1,5,NET223 SIG,NET222,1-1,5,NET222 SIG,NET221,1-1,5,NET221 SIG,NET220,1-1,5,NET220 SIG,NET219,1-1,5,NET219 SIG,NET218,1-1,5,NET218 SIG,NET217,1-1,5,NET217 SIG,NET216,1-1,5,NET216 SIG,NET215,1-1,5,NET215 SIG,NET214,1-1,5,NET214 SIG,NET213,1-1,5,NET213 SIG,NET212,1-1,5,NET212 SIG,NET211,1-1,5,NET211 SIG,NET210,1-1,5,NET210 SIG,NET209,1-1,5,NET209 SIG,NET208,1-1,5,NET208 SIG,NET207,1-1,5,NET207 SIG,NET206,1-1,5,NET206 SIG,NET205,1-1,5,NET205 SIG,NET204,1-1,5,NET204 SIG,NET203,1-1,5,NET203 SIG,NET202,1-1,5,NET202 SIG,NET201,1-1,5,NET201 SIG,NET200,1-1,5,NET200 SIG,NET199,1-1,5,NET199 SIG,NET198,1-1,5,NET198 SIG,NET197,1-1,5,NET197 SIG,NET196,1-1,5,NET196 SIG,NET195,1-1,5,NET195 SIG,NET194,1-1,5,NET194 SIG,NET193,1-1,5,NET193 SIG,NET192,1-1,5,NET192 SIG,NET191,1-1,5,NET191 SIG,NET190,1-1,5,NET190 SIG,NET189,1-1,5,NET189 SIG,NET188,1-1,5,NET188 SIG,NET187,1-1,5,NET187 SIG,NET186,1-1,5,NET186 SIG,NET185,1-1,5,NET185 SIG,NET184,1-1,5,NET184 SIG,NET183,1-1,5,NET183 SIG,NET182,1-1,5,NET182 SIG,NET181,1-1,5,NET181 SIG,NET180,1-1,5,NET180 SIG,NET179,1-1,5,NET179 SIG,NET178,1-1,5,NET178 SIG,NET177,1-1,5,NET177 SIG,NET176,1-1,5,NET176 SIG,NET175,1-1,5,NET175 SIG,NET174,1-1,5,NET174 SIG,NET173,1-1,5,NET173 SIG,NET172,1-1,5,NET172 SIG,NET171,1-1,5,NET171 SIG,NET170,1-1,5,NET170 SIG,NET169,1-1,5,NET169 SIG,NET168,1-1,5,NET168 SIG,NET167,1-1,5,NET167 SIG,NET166,1-1,5,NET166 SIG,NET165,1-1,5,NET165 SIG,NET164,1-1,5,NET164 SIG,NET163,1-1,5,NET163 SIG,NET162,1-1,5,NET162 SIG,NET161,1-1,5,NET161 SIG,NET160,1-1,5,NET160 SIG,NET159,1-1,5,NET159 SIG,NET158,1-1,5,NET158 SIG,NET157,1-1,5,NET157 SIG,NET156,1-1,5,NET156 SIG,NET155,1-1,5,NET155 SIG,NET154,1-1,5,NET154 SIG,NET153,1-1,5,NET153 SIG,NET152,1-1,5,NET152 SIG,NET151,1-1,5,NET151 SIG,NET150,1-1,5,NET150 SIG,NET149,1-1,5,NET149 SIG,NET148,1-1,5,NET148 SIG,NET147,1-1,5,NET147 SIG,NET146,1-1,5,NET146 SIG,NET145,1-1,5,NET145 SIG,NET144,1-1,5,NET144 SIG,NET143,1-1,5,NET143 SIG,NET142,1-1,5,NET142 SIG,NET141,1-1,5,NET141 SIG,NET140,1-1,5,NET140 SIG,NET139,1-1,5,NET139 SIG,NET138,1-1,5,NET138 SIG,NET137,1-1,5,NET137 SIG,NET136,1-1,5,NET136 SIG,NET135,1-1,5,NET135 SIG,NET134,1-1,5,NET134 SIG,NET133,1-1,5,NET133 SIG,NET132,1-1,5,NET132 SIG,NET131,1-1,5,NET131 SIG,NET130,1-1,5,NET130 SIG,NET129,1-1,5,NET129 SIG,NET128,1-1,5,NET128 SIG,NET127,1-1,5,NET127 SIG,NET126,1-1,5,NET126 SIG,NET125,1-1,5,NET125 SIG,NET124,1-1,5,NET124 SIG,NET123,1-1,5,NET123 SIG,NET122,1-1,5,NET122 SIG,NET121,1-1,5,NET121 SIG,NET120,1-1,5,NET120 SIG,NET119,1-1,5,NET119 SIG,NET118,1-1,5,NET118 SIG,NET117,1-1,5,NET117 SIG,NET116,1-1,5,NET116 SIG,NET115,1-1,5,NET115 SIG,NET114,1-1,5,NET114 SIG,NET113,1-1,5,NET113 SIG,NET112,1-1,5,NET112 SIG,NET111,1-1,5,NET111 SIG,NET110,1-1,5,NET110 SIG,NET109,1-1,5,NET109 SIG,NET108,1-1,5,NET108 SIG,NET107,1-1,5,NET107 SIG,NET106,1-1,5,NET106 SIG,NET105,1-1,5,NET105 SIG,NET104,1-1,5,NET104 SIG,NET103,1-1,5,NET103 SIG,NET102,1-1,5,NET102 SIG,NET101,1-1,5,NET101 SIG,NET100,1-1,5,NET100 SIG,NET99,1-1,5,NET99 SIG,NET98,1-1,5,NET98 SIG,NET97,1-1,5,NET97 SIG,NET96,1-1,5,NET96 SIG,NET95,1-1,5,NET95 SIG,NET94,1-1,5,NET94 SIG,NET93,1-1,5,NET93 SIG,NET92,1-1,5,NET92 SIG,NET91,1-1,5,NET91 SIG,NET90,1-1,5,NET90 SIG,NET89,1-1,5,NET89 SIG,NET88,1-1,5,NET88 SIG,NET87,1-1,5,NET87 SIG,NET86,1-1,5,NET86 SIG,NET85,1-1,5,NET85 SIG,NET84,1-1,5,NET84 SIG,NET83,1-1,5,NET83 SIG,NET82,1-1,5,NET82 SIG,NET81,1-1,5,NET81 SIG,NET80,1-1,5,NET80 SIG,NET79,1-1,5,NET79 SIG,NET78,1-1,5,NET78 SIG,NET77,1-1,5,NET77 SIG,NET76,1-1,5,NET76 SIG,NET75,1-1,5,NET75 SIG,NET74,1-1,5,NET74 SIG,NET73,1-1,5,NET73 SIG,NET72,1-1,5,NET72 SIG,NET71,1-1,5,NET71 SIG,NET70,1-1,5,NET70 SIG,NET69,1-1,5,NET69 SIG,NET68,1-1,5,NET68 SIG,NET67,1-1,5,NET67 SIG,NET66,1-1,5,NET66 SIG,NET65,1-1,5,NET65 SIG,NET64,1-1,5,NET64 SIG,NET63,1-1,5,NET63 SIG,NET62,1-1,5,NET62 SIG,NET61,1-1,5,NET61 SIG,NET60,1-1,5,NET60 SIG,NET59,1-1,5,NET59 SIG,NET58,1-1,5,NET58 SIG,NET57,1-1,5,NET57 SIG,NET56,1-1,5,NET56 SIG,NET55,1-1,5,NET55 SIG,NET54,1-1,5,NET54 SIG,NET53,1-1,5,NET53 SIG,NET52,1-1,5,NET52 SIG,NET51,1-1,5,NET51 SIG,NET50,1-1,5,NET50 SIG,NET49,1-1,5,NET49 SIG,NET48,1-1,5,NET48 SIG,NET47,1-1,5,NET47 SIG,NET46,1-1,5,NET46 SIG,NET45,1-1,5,NET45 SIG,NET44,1-1,5,NET44 SIG,NET43,1-1,5,NET43 SIG,NET42,1-1,5,NET42 SIG,NET41,1-1,5,NET41 SIG,NET40,1-1,5,NET40 SIG,NET39,1-1,5,NET39 SIG,NET38,1-1,5,NET38 SIG,NET37,1-1,5,NET37 SIG,NET36,1-1,5,NET36 SIG,NET35,1-1,5,NET35 SIG,NET34,1-1,5,NET34 SIG,NET33,1-1,5,NET33 SIG,NET32,1-1,5,NET32 SIG,NET31,1-1,5,NET31 SIG,NET30,1-1,5,NET30 SIG,NET29,1-1,5,NET29 SIG,NET28,1-1,5,NET28 SIG,NET27,1-1,5,NET27 SIG,NET26,1-1,5,NET26 SIG,NET25,1-1,5,NET25 SIG,NET24,1-1,5,NET24 SIG,NET23,1-1,5,NET23 SIG,NET22,1-1,5,NET22 SIG,NET21,1-1,5,NET21 SIG,NET20,1-1,5,NET20 SIG,NET19,1-1,5,NET19 SIG,NET18,1-1,5,NET18 SIG,NET17,1-1,5,NET17 SIG,NET16,1-1,5,NET16 SIG,NET15,1-1,5,NET15 SIG,NET14,1-1,5,NET14 SIG,NET13,1-1,5,NET13 SIG,NET12,1-1,5,NET12 SIG,NET11,1-1,5,NET11 SIG,NET10,1-1,5,NET10 SIG,NET9,1-1,5,NET9 SIG,NET8,1-1,5,NET8 SIG,NET7,1-1,5,NET7 SIG,NET6,1-1,5,NET6 SIG,NET5,1-1,5,NET5 SIG,NET4,1-1,5,NET4 SIG,NET3,1-1,5,NET3 SIG,NET2,1-1,5,NET2 SIG,NET1,1-1,5,NET1 ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/futurenet2/JD_Sort.retcode0000664000175000017500000000000212050461155023053 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/futurenet2/cascade-output.net0000664000175000017500000000163212050461155023643 00000000000000PINLIST,2 (DRAWING,GEDA.PIN,1-1 (SYM,1 DATA,2,AMP2 DATA,3,cascade-amp DATA,4,none PIN,,#f,1-1,5,23,2 PIN,,NET6,1-1,5,23,1 ) (SYM,2 DATA,2,T1 DATA,3,cascade-transformer DATA,4,none PIN,,NET6,1-1,5,23,2 PIN,,NET5,1-1,5,23,1 ) (SYM,3 DATA,2,MX1 DATA,3,cascade-mixer DATA,4,none PIN,,NET5,1-1,5,23,2 PIN,,NET4,1-1,5,23,1 ) (SYM,4 DATA,2,FL1 DATA,3,cascade-filter DATA,4,none PIN,,NET4,1-1,5,23,2 PIN,,NET3,1-1,5,23,1 ) (SYM,5 DATA,2,DEF1 DATA,3,cascade-defaults DATA,4,none PIN,,NET3,1-1,5,23,2 PIN,,NET2,1-1,5,23,1 ) (SYM,6 DATA,2,AMP1 DATA,3,cascade-amp DATA,4,none PIN,,NET2,1-1,5,23,2 PIN,,NET1,1-1,5,23,1 ) (SYM,7 DATA,2,SOURCE DATA,3,cascade-source DATA,4,none PIN,,NET1,1-1,5,23,1 ) (SYM,8 DATA,2,DEFAULTS DATA,3,cascade-defaults-top DATA,4,unknown PIN,,GND,1-1,5,23,unknown ) ) SIG,NET6,1-1,5,NET6 SIG,NET5,1-1,5,NET5 SIG,NET4,1-1,5,NET4 SIG,NET3,1-1,5,NET3 SIG,NET2,1-1,5,NET2 SIG,NET1,1-1,5,NET1 SIG,GND,1-1,5,GND ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/futurenet2/multiequal-output.net0000664000175000017500000000045212050461155024441 00000000000000PINLIST,2 (DRAWING,GEDA.PIN,1-1 (SYM,1 DATA,2,V1 DATA,3,DC 1V DATA,4,none PIN,,GND,1-1,5,23,2 PIN,,NET1,1-1,5,23,1 ) (SYM,2 DATA,2,R1 DATA,3,20 DATA,4,unknown PIN,,GND,1-1,5,23,1 PIN,,NET1,1-1,5,23,2 ) (SYM,3 DATA,2,A1 DATA,3,abotol=1e-11 DATA,4,unknown ) ) SIG,GND,1-1,5,GND SIG,NET1,1-1,5,NET1 ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/futurenet2/JD_nomunge-output.net0000664000175000017500000000226312050461155024306 00000000000000PINLIST,2 (DRAWING,GEDA.PIN,1-1 (SYM,1 DATA,2,A1 DATA,3,model DATA,4,unknown ) (SYM,2 DATA,2,CM DATA,3,20p DATA,4,unknown PIN,,GND,1-1,5,23,2 PIN,,M,1-1,5,23,1 ) (SYM,3 DATA,2,CP DATA,3,20p DATA,4,unknown PIN,,GND,1-1,5,23,2 PIN,,P,1-1,5,23,1 ) (SYM,4 DATA,2,RLP DATA,3,1meg DATA,4,unknown PIN,,P,1-1,5,23,1 PIN,,VDD1,1-1,5,23,2 ) (SYM,5 DATA,2,RLM DATA,3,500k DATA,4,unknown PIN,,M,1-1,5,23,1 PIN,,GND,1-1,5,23,2 ) (SYM,6 DATA,2,VDD DATA,3,DC 3.3V DATA,4,none PIN,,GND,1-1,5,23,2 PIN,,VDD1,1-1,5,23,1 ) (SYM,7 DATA,2,V1 DATA,3,pulse 3.3 0 1u 10p 10p 1.25u 2.5u DATA,4,none PIN,,GND,1-1,5,23,2 PIN,,I,1-1,5,23,1 ) (SYM,8 DATA,2,RT DATA,3,1k DATA,4,unknown PIN,,P,1-1,5,23,1 PIN,,M,1-1,5,23,2 ) (SYM,9 DATA,2,RB DATA,3,5.6k DATA,4,unknown PIN,,GND,1-1,5,23,1 PIN,,LVH,1-1,5,23,2 ) (SYM,10 DATA,2,M1 DATA,3,PMOS_TRANSISTOR DATA,4,unknown PIN,,LVH,1-1,5,23,G PIN,,LVH,1-1,5,23,D PIN,,VDD1,1-1,5,23,B PIN,,VDD1,1-1,5,23,S ) (SYM,11 DATA,2,X1 DATA,3,LVD DATA,4,unknown PIN,,GND,1-1,5,23,7 PIN,,VDD1,1-1,5,23,6 PIN,,GND,1-1,5,23,2 PIN,,LVH,1-1,5,23,3 PIN,,I,1-1,5,23,1 PIN,,P,1-1,5,23,5 PIN,,M,1-1,5,23,4 ) ) SIG,VDD1,1-1,5,VDD1 SIG,GND,1-1,5,GND SIG,LVH,1-1,5,LVH SIG,I,1-1,5,I SIG,P,1-1,5,P SIG,M,1-1,5,M ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/futurenet2/stack-torture.retcode0000664000175000017500000000000212063576065024371 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/futurenet2/powersupply.retcode0000664000175000017500000000000212050461155024160 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/futurenet2/JD_Sort_nomunge-output.net0000664000175000017500000000226312050461155025315 00000000000000PINLIST,2 (DRAWING,GEDA.PIN,1-1 (SYM,1 DATA,2,A1 DATA,3,model DATA,4,unknown ) (SYM,2 DATA,2,CM DATA,3,20p DATA,4,unknown PIN,,GND,1-1,5,23,2 PIN,,M,1-1,5,23,1 ) (SYM,3 DATA,2,CP DATA,3,20p DATA,4,unknown PIN,,GND,1-1,5,23,2 PIN,,P,1-1,5,23,1 ) (SYM,4 DATA,2,RLP DATA,3,1meg DATA,4,unknown PIN,,P,1-1,5,23,1 PIN,,VDD1,1-1,5,23,2 ) (SYM,5 DATA,2,RLM DATA,3,500k DATA,4,unknown PIN,,M,1-1,5,23,1 PIN,,GND,1-1,5,23,2 ) (SYM,6 DATA,2,VDD DATA,3,DC 3.3V DATA,4,none PIN,,GND,1-1,5,23,2 PIN,,VDD1,1-1,5,23,1 ) (SYM,7 DATA,2,V1 DATA,3,pulse 3.3 0 1u 10p 10p 1.25u 2.5u DATA,4,none PIN,,GND,1-1,5,23,2 PIN,,I,1-1,5,23,1 ) (SYM,8 DATA,2,RT DATA,3,1k DATA,4,unknown PIN,,P,1-1,5,23,1 PIN,,M,1-1,5,23,2 ) (SYM,9 DATA,2,RB DATA,3,5.6k DATA,4,unknown PIN,,GND,1-1,5,23,1 PIN,,LVH,1-1,5,23,2 ) (SYM,10 DATA,2,M1 DATA,3,PMOS_TRANSISTOR DATA,4,unknown PIN,,LVH,1-1,5,23,G PIN,,LVH,1-1,5,23,D PIN,,VDD1,1-1,5,23,B PIN,,VDD1,1-1,5,23,S ) (SYM,11 DATA,2,X1 DATA,3,LVD DATA,4,unknown PIN,,GND,1-1,5,23,7 PIN,,VDD1,1-1,5,23,6 PIN,,GND,1-1,5,23,2 PIN,,LVH,1-1,5,23,3 PIN,,I,1-1,5,23,1 PIN,,P,1-1,5,23,5 PIN,,M,1-1,5,23,4 ) ) SIG,VDD1,1-1,5,VDD1 SIG,GND,1-1,5,GND SIG,LVH,1-1,5,LVH SIG,I,1-1,5,I SIG,P,1-1,5,P SIG,M,1-1,5,M ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/futurenet2/TwoStageAmp_Sort.retcode0000664000175000017500000000000212050461155024751 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/futurenet2/netattrib.retcode0000664000175000017500000000000212050461155023543 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/futurenet2/JD_nomunge.retcode0000664000175000017500000000000212050461155023574 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/futurenet2/JD_Include-output.net0000664000175000017500000000226312050461155024221 00000000000000PINLIST,2 (DRAWING,GEDA.PIN,1-1 (SYM,1 DATA,2,A1 DATA,3,model DATA,4,unknown ) (SYM,2 DATA,2,CM DATA,3,20p DATA,4,unknown PIN,,GND,1-1,5,23,2 PIN,,M,1-1,5,23,1 ) (SYM,3 DATA,2,CP DATA,3,20p DATA,4,unknown PIN,,GND,1-1,5,23,2 PIN,,P,1-1,5,23,1 ) (SYM,4 DATA,2,RLP DATA,3,1meg DATA,4,unknown PIN,,P,1-1,5,23,1 PIN,,VDD1,1-1,5,23,2 ) (SYM,5 DATA,2,RLM DATA,3,500k DATA,4,unknown PIN,,M,1-1,5,23,1 PIN,,GND,1-1,5,23,2 ) (SYM,6 DATA,2,VDD DATA,3,DC 3.3V DATA,4,none PIN,,GND,1-1,5,23,2 PIN,,VDD1,1-1,5,23,1 ) (SYM,7 DATA,2,V1 DATA,3,pulse 3.3 0 1u 10p 10p 1.25u 2.5u DATA,4,none PIN,,GND,1-1,5,23,2 PIN,,I,1-1,5,23,1 ) (SYM,8 DATA,2,RT DATA,3,1k DATA,4,unknown PIN,,P,1-1,5,23,1 PIN,,M,1-1,5,23,2 ) (SYM,9 DATA,2,RB DATA,3,5.6k DATA,4,unknown PIN,,GND,1-1,5,23,1 PIN,,LVH,1-1,5,23,2 ) (SYM,10 DATA,2,M1 DATA,3,PMOS_TRANSISTOR DATA,4,unknown PIN,,LVH,1-1,5,23,G PIN,,LVH,1-1,5,23,D PIN,,VDD1,1-1,5,23,B PIN,,VDD1,1-1,5,23,S ) (SYM,11 DATA,2,X1 DATA,3,LVD DATA,4,unknown PIN,,GND,1-1,5,23,7 PIN,,VDD1,1-1,5,23,6 PIN,,GND,1-1,5,23,2 PIN,,LVH,1-1,5,23,3 PIN,,I,1-1,5,23,1 PIN,,P,1-1,5,23,5 PIN,,M,1-1,5,23,4 ) ) SIG,VDD1,1-1,5,VDD1 SIG,GND,1-1,5,GND SIG,LVH,1-1,5,LVH SIG,I,1-1,5,I SIG,P,1-1,5,P SIG,M,1-1,5,M ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/futurenet2/JD_Sort-output.net0000664000175000017500000000226312050461155023565 00000000000000PINLIST,2 (DRAWING,GEDA.PIN,1-1 (SYM,1 DATA,2,A1 DATA,3,model DATA,4,unknown ) (SYM,2 DATA,2,CM DATA,3,20p DATA,4,unknown PIN,,GND,1-1,5,23,2 PIN,,M,1-1,5,23,1 ) (SYM,3 DATA,2,CP DATA,3,20p DATA,4,unknown PIN,,GND,1-1,5,23,2 PIN,,P,1-1,5,23,1 ) (SYM,4 DATA,2,RLP DATA,3,1meg DATA,4,unknown PIN,,P,1-1,5,23,1 PIN,,VDD1,1-1,5,23,2 ) (SYM,5 DATA,2,RLM DATA,3,500k DATA,4,unknown PIN,,M,1-1,5,23,1 PIN,,GND,1-1,5,23,2 ) (SYM,6 DATA,2,VDD DATA,3,DC 3.3V DATA,4,none PIN,,GND,1-1,5,23,2 PIN,,VDD1,1-1,5,23,1 ) (SYM,7 DATA,2,V1 DATA,3,pulse 3.3 0 1u 10p 10p 1.25u 2.5u DATA,4,none PIN,,GND,1-1,5,23,2 PIN,,I,1-1,5,23,1 ) (SYM,8 DATA,2,RT DATA,3,1k DATA,4,unknown PIN,,P,1-1,5,23,1 PIN,,M,1-1,5,23,2 ) (SYM,9 DATA,2,RB DATA,3,5.6k DATA,4,unknown PIN,,GND,1-1,5,23,1 PIN,,LVH,1-1,5,23,2 ) (SYM,10 DATA,2,M1 DATA,3,PMOS_TRANSISTOR DATA,4,unknown PIN,,LVH,1-1,5,23,G PIN,,LVH,1-1,5,23,D PIN,,VDD1,1-1,5,23,B PIN,,VDD1,1-1,5,23,S ) (SYM,11 DATA,2,X1 DATA,3,LVD DATA,4,unknown PIN,,GND,1-1,5,23,7 PIN,,VDD1,1-1,5,23,6 PIN,,GND,1-1,5,23,2 PIN,,LVH,1-1,5,23,3 PIN,,I,1-1,5,23,1 PIN,,P,1-1,5,23,5 PIN,,M,1-1,5,23,4 ) ) SIG,VDD1,1-1,5,VDD1 SIG,GND,1-1,5,GND SIG,LVH,1-1,5,LVH SIG,I,1-1,5,I SIG,P,1-1,5,P SIG,M,1-1,5,M ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/futurenet2/cascade.retcode0000664000175000017500000000000212050461155023132 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/futurenet2/TwoStageAmp_Sort-output.net0000664000175000017500000000441012050461155025457 00000000000000PINLIST,2 (DRAWING,GEDA.PIN,1-1 (SYM,1 DATA,2,C2 DATA,3,2.2uF DATA,4,unknown PIN,,VBASE2,1-1,5,23,2 PIN,,NET2,1-1,5,23,1 ) (SYM,2 DATA,2,R4 DATA,3,2.8K DATA,4,unknown PIN,,GND,1-1,5,23,1 PIN,,VBASE2,1-1,5,23,2 ) (SYM,3 DATA,2,R3 DATA,3,28K DATA,4,unknown PIN,,VBASE2,1-1,5,23,1 PIN,,VCC,1-1,5,23,2 ) (SYM,4 DATA,2,R8 DATA,3,1 DATA,4,unknown PIN,,VCOLL1,1-1,5,23,1 PIN,,NET2,1-1,5,23,2 ) (SYM,5 DATA,2,CE2 DATA,3,1pF DATA,4,unknown PIN,,VEM2,1-1,5,23,2 PIN,,GND,1-1,5,23,1 ) (SYM,6 DATA,2,RE2 DATA,3,100 DATA,4,unknown PIN,,GND,1-1,5,23,1 PIN,,VEM2,1-1,5,23,2 ) (SYM,7 DATA,2,RC1 DATA,3,3.3K DATA,4,unknown PIN,,VCOLL1,1-1,5,23,1 PIN,,VCC,1-1,5,23,2 ) (SYM,8 DATA,2,Q2 DATA,3,NPN_TRANSISTOR DATA,4,unknown PIN,,VBASE2,1-1,5,23,2 PIN,,VEM2,1-1,5,23,1 PIN,,VCOLL2,1-1,5,23,3 ) (SYM,9 DATA,2,C1 DATA,3,2.2uF DATA,4,unknown PIN,,VBASE1,1-1,5,23,2 PIN,,NET1,1-1,5,23,1 ) (SYM,10 DATA,2,A3 DATA,3,.options TEMP=25 DATA,4,unknown ) (SYM,11 DATA,2,A2 DATA,3,include DATA,4,unknown ) (SYM,12 DATA,2,A1 DATA,3,model DATA,4,unknown ) (SYM,13 DATA,2,VCC DATA,3,DC 15V DATA,4,none PIN,,GND,1-1,5,23,2 PIN,,VCC,1-1,5,23,1 ) (SYM,14 DATA,2,VINPUT DATA,3,DC 1.6V AC 10MV SIN(0 1MV 1KHZ) DATA,4,none PIN,,GND,1-1,5,23,2 PIN,,VIN,1-1,5,23,1 ) (SYM,15 DATA,2,CE1 DATA,3,1pF DATA,4,unknown PIN,,VEM1,1-1,5,23,2 PIN,,GND,1-1,5,23,1 ) (SYM,16 DATA,2,COUT DATA,3,2.2uF DATA,4,unknown PIN,,VOUT,1-1,5,23,2 PIN,,VCOLL2,1-1,5,23,1 ) (SYM,17 DATA,2,RL DATA,3,100K DATA,4,unknown PIN,,GND,1-1,5,23,1 PIN,,VOUT,1-1,5,23,2 ) (SYM,18 DATA,2,RC2 DATA,3,1K DATA,4,unknown PIN,,VCOLL2,1-1,5,23,1 PIN,,VCC,1-1,5,23,2 ) (SYM,19 DATA,2,RE1 DATA,3,100 DATA,4,unknown PIN,,GND,1-1,5,23,1 PIN,,VEM1,1-1,5,23,2 ) (SYM,20 DATA,2,R2 DATA,3,2K DATA,4,unknown PIN,,GND,1-1,5,23,1 PIN,,VBASE1,1-1,5,23,2 ) (SYM,21 DATA,2,R1 DATA,3,28K DATA,4,unknown PIN,,VBASE1,1-1,5,23,1 PIN,,VCC,1-1,5,23,2 ) (SYM,22 DATA,2,R5 DATA,3,10 DATA,4,unknown PIN,,VIN,1-1,5,23,1 PIN,,NET1,1-1,5,23,2 ) (SYM,23 DATA,2,Q1 DATA,3,NPN_TRANSISTOR DATA,4,unknown PIN,,VBASE1,1-1,5,23,2 PIN,,VEM1,1-1,5,23,1 PIN,,VCOLL1,1-1,5,23,3 ) ) SIG,NET2,1-1,5,NET2 SIG,VBASE2,1-1,5,VBASE2 SIG,VEM2,1-1,5,VEM2 SIG,VOUT,1-1,5,VOUT SIG,VCOLL2,1-1,5,VCOLL2 SIG,GND,1-1,5,GND SIG,VCC,1-1,5,VCC SIG,VIN,1-1,5,VIN SIG,NET1,1-1,5,NET1 SIG,VBASE1,1-1,5,VBASE1 SIG,VEM1,1-1,5,VEM1 SIG,VCOLL1,1-1,5,VCOLL1 ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/futurenet2/singlenet-output.net0000664000175000017500000000102612050461155024245 00000000000000PINLIST,2 (DRAWING,GEDA.PIN,1-1 (SYM,1 DATA,2,U100 DATA,3,7400 DATA,4,DIP14 PIN,,GND,1-1,5,23,unknown PIN,,VCC,1-1,5,23,unknown PIN,,SING_N,1-1,5,23,9 PIN,,SING_N,1-1,5,23,10 PIN,,SING_N,1-1,5,23,8 PIN,,GND,1-1,5,23,unknown PIN,,VCC,1-1,5,23,unknown PIN,,SING_N_2,1-1,5,23,1 PIN,,#f,1-1,5,23,2 PIN,,SING_N_2,1-1,5,23,3 PIN,,GND,1-1,5,23,unknown PIN,,VCC,1-1,5,23,unknown PIN,,SING_N,1-1,5,23,4 PIN,,SING_N,1-1,5,23,5 PIN,,SING_N,1-1,5,23,6 ) ) SIG,SING_N_2,1-1,5,SING_N_2 SIG,GND,1-1,5,GND SIG,VCC,1-1,5,VCC SIG,SING_N,1-1,5,SING_N ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/futurenet2/TwoStageAmp_Include.retcode0000664000175000017500000000000212050461155025405 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/futurenet2/SlottedOpamps-output.net0000664000175000017500000000000012050461155025042 00000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/futurenet2/TwoStageAmp_Include-output.net0000664000175000017500000000441012050461155026113 00000000000000PINLIST,2 (DRAWING,GEDA.PIN,1-1 (SYM,1 DATA,2,C2 DATA,3,2.2uF DATA,4,unknown PIN,,VBASE2,1-1,5,23,2 PIN,,NET2,1-1,5,23,1 ) (SYM,2 DATA,2,R4 DATA,3,2.8K DATA,4,unknown PIN,,GND,1-1,5,23,1 PIN,,VBASE2,1-1,5,23,2 ) (SYM,3 DATA,2,R3 DATA,3,28K DATA,4,unknown PIN,,VBASE2,1-1,5,23,1 PIN,,VCC,1-1,5,23,2 ) (SYM,4 DATA,2,R8 DATA,3,1 DATA,4,unknown PIN,,VCOLL1,1-1,5,23,1 PIN,,NET2,1-1,5,23,2 ) (SYM,5 DATA,2,CE2 DATA,3,1pF DATA,4,unknown PIN,,VEM2,1-1,5,23,2 PIN,,GND,1-1,5,23,1 ) (SYM,6 DATA,2,RE2 DATA,3,100 DATA,4,unknown PIN,,GND,1-1,5,23,1 PIN,,VEM2,1-1,5,23,2 ) (SYM,7 DATA,2,RC1 DATA,3,3.3K DATA,4,unknown PIN,,VCOLL1,1-1,5,23,1 PIN,,VCC,1-1,5,23,2 ) (SYM,8 DATA,2,Q2 DATA,3,NPN_TRANSISTOR DATA,4,unknown PIN,,VBASE2,1-1,5,23,2 PIN,,VEM2,1-1,5,23,1 PIN,,VCOLL2,1-1,5,23,3 ) (SYM,9 DATA,2,C1 DATA,3,2.2uF DATA,4,unknown PIN,,VBASE1,1-1,5,23,2 PIN,,NET1,1-1,5,23,1 ) (SYM,10 DATA,2,A3 DATA,3,.options TEMP=25 DATA,4,unknown ) (SYM,11 DATA,2,A2 DATA,3,include DATA,4,unknown ) (SYM,12 DATA,2,A1 DATA,3,model DATA,4,unknown ) (SYM,13 DATA,2,VCC DATA,3,DC 15V DATA,4,none PIN,,GND,1-1,5,23,2 PIN,,VCC,1-1,5,23,1 ) (SYM,14 DATA,2,VINPUT DATA,3,DC 1.6V AC 10MV SIN(0 1MV 1KHZ) DATA,4,none PIN,,GND,1-1,5,23,2 PIN,,VIN,1-1,5,23,1 ) (SYM,15 DATA,2,CE1 DATA,3,1pF DATA,4,unknown PIN,,VEM1,1-1,5,23,2 PIN,,GND,1-1,5,23,1 ) (SYM,16 DATA,2,COUT DATA,3,2.2uF DATA,4,unknown PIN,,VOUT,1-1,5,23,2 PIN,,VCOLL2,1-1,5,23,1 ) (SYM,17 DATA,2,RL DATA,3,100K DATA,4,unknown PIN,,GND,1-1,5,23,1 PIN,,VOUT,1-1,5,23,2 ) (SYM,18 DATA,2,RC2 DATA,3,1K DATA,4,unknown PIN,,VCOLL2,1-1,5,23,1 PIN,,VCC,1-1,5,23,2 ) (SYM,19 DATA,2,RE1 DATA,3,100 DATA,4,unknown PIN,,GND,1-1,5,23,1 PIN,,VEM1,1-1,5,23,2 ) (SYM,20 DATA,2,R2 DATA,3,2K DATA,4,unknown PIN,,GND,1-1,5,23,1 PIN,,VBASE1,1-1,5,23,2 ) (SYM,21 DATA,2,R1 DATA,3,28K DATA,4,unknown PIN,,VBASE1,1-1,5,23,1 PIN,,VCC,1-1,5,23,2 ) (SYM,22 DATA,2,R5 DATA,3,10 DATA,4,unknown PIN,,VIN,1-1,5,23,1 PIN,,NET1,1-1,5,23,2 ) (SYM,23 DATA,2,Q1 DATA,3,NPN_TRANSISTOR DATA,4,unknown PIN,,VBASE1,1-1,5,23,2 PIN,,VEM1,1-1,5,23,1 PIN,,VCOLL1,1-1,5,23,3 ) ) SIG,NET2,1-1,5,NET2 SIG,VBASE2,1-1,5,VBASE2 SIG,VEM2,1-1,5,VEM2 SIG,VOUT,1-1,5,VOUT SIG,VCOLL2,1-1,5,VCOLL2 SIG,GND,1-1,5,GND SIG,VCC,1-1,5,VCC SIG,VIN,1-1,5,VIN SIG,NET1,1-1,5,NET1 SIG,VBASE1,1-1,5,VBASE1 SIG,VEM1,1-1,5,VEM1 SIG,VCOLL1,1-1,5,VCOLL1 ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/futurenet2/singlenet.retcode0000664000175000017500000000000212050461155023537 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/futurenet2/JD_Include.retcode0000664000175000017500000000000212050461155023507 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/futurenet2/powersupply-output.net0000664000175000017500000000272612050461155024676 00000000000000PINLIST,2 (DRAWING,GEDA.PIN,1-1 (SYM,1 DATA,2,U2 DATA,3,LM317 DATA,4,unknown PIN,,TEN,1-1,5,23,1 PIN,,EIGHT,1-1,5,23,3 PIN,,ELEVEN,1-1,5,23,2 ) (SYM,2 DATA,2,C4 DATA,3,1uf DATA,4,unknown PIN,,NINE,1-1,5,23,2 PIN,,ELEVEN,1-1,5,23,1 ) (SYM,3 DATA,2,C3 DATA,3,22uF DATA,4,unknown PIN,,NINE,1-1,5,23,2 PIN,,TEN,1-1,5,23,1 ) (SYM,4 DATA,2,R1 DATA,3,5k DATA,4,unknown PIN,,NINE,1-1,5,23,1 PIN,,TEN,1-1,5,23,2 PIN,,NINE,1-1,5,23,3 ) (SYM,5 DATA,2,C2 DATA,3,0.1uF DATA,4,unknown PIN,,NINE,1-1,5,23,2 PIN,,EIGHT,1-1,5,23,1 ) (SYM,6 DATA,2,R2 DATA,3,220 DATA,4,unknown PIN,,TEN,1-1,5,23,1 PIN,,ELEVEN,1-1,5,23,2 ) (SYM,7 DATA,2,C1 DATA,3,2200uF DATA,4,unknown PIN,,NINE,1-1,5,23,2 PIN,,EIGHT,1-1,5,23,1 ) (SYM,8 DATA,2,S1 DATA,3,SPST DATA,4,unknown PIN,,ONE,1-1,5,23,1 PIN,,TWO,1-1,5,23,2 ) (SYM,9 DATA,2,CONN1 DATA,3,MAINS_CONNECTOR DATA,4,unknown PIN,,GND,1-1,5,23,3 PIN,,FIVE,1-1,5,23,2 PIN,,ONE,1-1,5,23,1 ) (SYM,10 DATA,2,T1 DATA,3,transformer DATA,4,unknown PIN,,SIX,1-1,5,23,3 PIN,,SEVEN,1-1,5,23,4 PIN,,THREE,1-1,5,23,1 PIN,,FIVE,1-1,5,23,2 ) (SYM,11 DATA,2,F1 DATA,3,FUSE DATA,4,unknown PIN,,THREE,1-1,5,23,2 PIN,,TWO,1-1,5,23,1 ) (SYM,12 DATA,2,U1 DATA,3,DIODE-BRIDGE DATA,4,unknown PIN,,SIX,1-1,5,23,4 PIN,,SEVEN,1-1,5,23,3 PIN,,NINE,1-1,5,23,2 PIN,,EIGHT,1-1,5,23,1 ) ) SIG,TEN,1-1,5,TEN SIG,ELEVEN,1-1,5,ELEVEN SIG,GND,1-1,5,GND SIG,ONE,1-1,5,ONE SIG,FIVE,1-1,5,FIVE SIG,THREE,1-1,5,THREE SIG,TWO,1-1,5,TWO SIG,SIX,1-1,5,SIX SIG,SEVEN,1-1,5,SEVEN SIG,NINE,1-1,5,NINE SIG,EIGHT,1-1,5,EIGHT ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/futurenet2/netattrib-output.net0000664000175000017500000000126412050461155024255 00000000000000PINLIST,2 (DRAWING,GEDA.PIN,1-1 (SYM,1 DATA,2,F1 DATA,3,FUSE DATA,4,unknown PIN,,#f,1-1,5,23,2 PIN,,ONE,1-1,5,23,1 ) (SYM,2 DATA,2,U300 DATA,3,7404 DATA,4,DIP14 PIN,,VCC,1-1,5,23,unknown PIN,,GND,1-1,5,23,unknown PIN,,NET1,1-1,5,23,2 PIN,,ONE,1-1,5,23,1 ) (SYM,3 DATA,2,U200 DATA,3,7404 DATA,4,DIP14 PIN,,VCC,1-1,5,23,unknown PIN,,GND,1-1,5,23,unknown PIN,,NETATTRI,1-1,5,23,2 PIN,,ONE,1-1,5,23,1 ) (SYM,4 DATA,2,U100 DATA,3,7400 DATA,4,DIP14 PIN,,NETATTRI,1-1,5,23,unknown PIN,,GND,1-1,5,23,unknown PIN,,VCC,1-1,5,23,unknown PIN,,#f,1-1,5,23,1 PIN,,#f,1-1,5,23,2 PIN,,ONE,1-1,5,23,3 ) ) SIG,NET1,1-1,5,NET1 SIG,NETATTRI,1-1,5,NETATTRI SIG,GND,1-1,5,GND SIG,VCC,1-1,5,VCC SIG,ONE,1-1,5,ONE ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/futurenet2/SlottedOpamps.retcode0000664000175000017500000000000212050461155024345 000000000000001 geda-gaf-1.8.2/gnetlist/tests/common/outputs/futurenet2/JD.retcode0000664000175000017500000000000212050461155022044 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/futurenet2/multiequal.retcode0000664000175000017500000000000212050461155023731 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/futurenet2/JD_Sort_nomunge.retcode0000664000175000017500000000000212050461155024603 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/futurenet2/TwoStageAmp-output.net0000664000175000017500000000441012050461155024450 00000000000000PINLIST,2 (DRAWING,GEDA.PIN,1-1 (SYM,1 DATA,2,C2 DATA,3,2.2uF DATA,4,unknown PIN,,VBASE2,1-1,5,23,2 PIN,,NET2,1-1,5,23,1 ) (SYM,2 DATA,2,R4 DATA,3,2.8K DATA,4,unknown PIN,,GND,1-1,5,23,1 PIN,,VBASE2,1-1,5,23,2 ) (SYM,3 DATA,2,R3 DATA,3,28K DATA,4,unknown PIN,,VBASE2,1-1,5,23,1 PIN,,VCC,1-1,5,23,2 ) (SYM,4 DATA,2,R8 DATA,3,1 DATA,4,unknown PIN,,VCOLL1,1-1,5,23,1 PIN,,NET2,1-1,5,23,2 ) (SYM,5 DATA,2,CE2 DATA,3,1pF DATA,4,unknown PIN,,VEM2,1-1,5,23,2 PIN,,GND,1-1,5,23,1 ) (SYM,6 DATA,2,RE2 DATA,3,100 DATA,4,unknown PIN,,GND,1-1,5,23,1 PIN,,VEM2,1-1,5,23,2 ) (SYM,7 DATA,2,RC1 DATA,3,3.3K DATA,4,unknown PIN,,VCOLL1,1-1,5,23,1 PIN,,VCC,1-1,5,23,2 ) (SYM,8 DATA,2,Q2 DATA,3,NPN_TRANSISTOR DATA,4,unknown PIN,,VBASE2,1-1,5,23,2 PIN,,VEM2,1-1,5,23,1 PIN,,VCOLL2,1-1,5,23,3 ) (SYM,9 DATA,2,C1 DATA,3,2.2uF DATA,4,unknown PIN,,VBASE1,1-1,5,23,2 PIN,,NET1,1-1,5,23,1 ) (SYM,10 DATA,2,A3 DATA,3,.options TEMP=25 DATA,4,unknown ) (SYM,11 DATA,2,A2 DATA,3,include DATA,4,unknown ) (SYM,12 DATA,2,A1 DATA,3,model DATA,4,unknown ) (SYM,13 DATA,2,VCC DATA,3,DC 15V DATA,4,none PIN,,GND,1-1,5,23,2 PIN,,VCC,1-1,5,23,1 ) (SYM,14 DATA,2,VINPUT DATA,3,DC 1.6V AC 10MV SIN(0 1MV 1KHZ) DATA,4,none PIN,,GND,1-1,5,23,2 PIN,,VIN,1-1,5,23,1 ) (SYM,15 DATA,2,CE1 DATA,3,1pF DATA,4,unknown PIN,,VEM1,1-1,5,23,2 PIN,,GND,1-1,5,23,1 ) (SYM,16 DATA,2,COUT DATA,3,2.2uF DATA,4,unknown PIN,,VOUT,1-1,5,23,2 PIN,,VCOLL2,1-1,5,23,1 ) (SYM,17 DATA,2,RL DATA,3,100K DATA,4,unknown PIN,,GND,1-1,5,23,1 PIN,,VOUT,1-1,5,23,2 ) (SYM,18 DATA,2,RC2 DATA,3,1K DATA,4,unknown PIN,,VCOLL2,1-1,5,23,1 PIN,,VCC,1-1,5,23,2 ) (SYM,19 DATA,2,RE1 DATA,3,100 DATA,4,unknown PIN,,GND,1-1,5,23,1 PIN,,VEM1,1-1,5,23,2 ) (SYM,20 DATA,2,R2 DATA,3,2K DATA,4,unknown PIN,,GND,1-1,5,23,1 PIN,,VBASE1,1-1,5,23,2 ) (SYM,21 DATA,2,R1 DATA,3,28K DATA,4,unknown PIN,,VBASE1,1-1,5,23,1 PIN,,VCC,1-1,5,23,2 ) (SYM,22 DATA,2,R5 DATA,3,10 DATA,4,unknown PIN,,VIN,1-1,5,23,1 PIN,,NET1,1-1,5,23,2 ) (SYM,23 DATA,2,Q1 DATA,3,NPN_TRANSISTOR DATA,4,unknown PIN,,VBASE1,1-1,5,23,2 PIN,,VEM1,1-1,5,23,1 PIN,,VCOLL1,1-1,5,23,3 ) ) SIG,NET2,1-1,5,NET2 SIG,VBASE2,1-1,5,VBASE2 SIG,VEM2,1-1,5,VEM2 SIG,VOUT,1-1,5,VOUT SIG,VCOLL2,1-1,5,VCOLL2 SIG,GND,1-1,5,GND SIG,VCC,1-1,5,VCC SIG,VIN,1-1,5,VIN SIG,NET1,1-1,5,NET1 SIG,VBASE1,1-1,5,VBASE1 SIG,VEM1,1-1,5,VEM1 SIG,VCOLL1,1-1,5,VCOLL1 ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/futurenet2/JD_Include_nomunge.retcode0000664000175000017500000000000212050461155025237 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/PCB/0000775000175000017500000000000012220655757016605 500000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/PCB/JD_Include_nomunge-output.net0000664000175000017500000000024612050461155024251 00000000000000Vdd1 Rlp-2 M1-B M1-S Vdd-1 X1-6 GND Cm-2 Cp-2 Rlm-2 Vdd-2 V1-2 Rb-1 X1-7 X1-2 LVH Rb-2 M1-D M1-G X1-3 i V1-1 X1-1 p Cp-1 Rt-1 Rlp-1 X1-5 m Cm-1 Rlm-1 Rt-2 X1-4 geda-gaf-1.8.2/gnetlist/tests/common/outputs/PCB/JD-output.net0000664000175000017500000000024612050461155021056 00000000000000Vdd1 Rlp-2 M1-B M1-S Vdd-1 X1-6 GND Cm-2 Cp-2 Rlm-2 Vdd-2 V1-2 Rb-1 X1-7 X1-2 LVH Rb-2 M1-D M1-G X1-3 i V1-1 X1-1 p Cp-1 Rt-1 Rlp-1 X1-5 m Cm-1 Rlm-1 Rt-2 X1-4 geda-gaf-1.8.2/gnetlist/tests/common/outputs/PCB/TwoStageAmp.retcode0000664000175000017500000000000212050461155022243 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/PCB/stack-torture-output.net0000664000175000017500000006321012063576065023403 00000000000000unnamed_net1025 C?-2 unnamed_net1024 C?-1 C?-2 unnamed_net1023 C?-1 C?-2 unnamed_net1022 C?-2 unnamed_net1021 C?-1 C?-2 unnamed_net1020 C?-2 unnamed_net1019 C?-1 C?-2 unnamed_net1018 C?-1 C?-2 unnamed_net1017 C?-1 C?-2 unnamed_net1016 C?-1 C?-2 unnamed_net1015 C?-1 C?-2 unnamed_net1014 C?-1 C?-2 unnamed_net1013 C?-1 C?-2 unnamed_net1012 C?-2 unnamed_net1011 C?-1 C?-2 unnamed_net1010 C?-1 C?-2 unnamed_net1009 C?-2 unnamed_net1008 C?-1 C?-2 unnamed_net1007 C?-1 C?-2 unnamed_net1006 C?-1 C?-2 unnamed_net1005 C?-1 C?-2 unnamed_net1004 C?-1 C?-2 unnamed_net1003 C?-1 C?-2 unnamed_net1002 C?-1 C?-2 unnamed_net1001 C?-1 C?-2 unnamed_net1000 C?-1 C?-2 unnamed_net999 C?-2 unnamed_net998 C?-1 C?-2 unnamed_net997 C?-1 C?-2 unnamed_net996 C?-1 C?-2 unnamed_net995 C?-1 C?-2 unnamed_net994 C?-1 C?-2 unnamed_net993 C?-1 C?-2 unnamed_net992 C?-2 unnamed_net991 C?-1 C?-2 unnamed_net990 C?-1 C?-2 unnamed_net989 C?-1 C?-2 unnamed_net988 C?-1 C?-2 unnamed_net987 C?-1 C?-2 unnamed_net986 C?-1 C?-2 unnamed_net985 C?-1 C?-2 unnamed_net984 C?-1 C?-2 unnamed_net983 C?-1 C?-2 unnamed_net982 C?-1 C?-2 unnamed_net981 C?-1 C?-2 unnamed_net980 C?-1 C?-2 unnamed_net979 C?-1 C?-2 unnamed_net978 C?-1 C?-2 unnamed_net977 C?-1 C?-2 unnamed_net976 C?-1 C?-2 unnamed_net975 C?-1 C?-2 unnamed_net974 C?-1 C?-2 unnamed_net973 C?-1 C?-2 unnamed_net972 C?-1 C?-2 unnamed_net971 C?-1 C?-2 unnamed_net970 C?-1 C?-2 unnamed_net969 C?-1 C?-2 unnamed_net968 C?-2 unnamed_net967 C?-1 C?-2 unnamed_net966 C?-1 C?-2 unnamed_net965 C?-2 unnamed_net964 C?-1 C?-2 unnamed_net963 C?-1 C?-2 unnamed_net962 C?-1 C?-2 unnamed_net961 C?-1 C?-2 unnamed_net960 C?-1 C?-2 unnamed_net959 C?-1 C?-2 unnamed_net958 C?-1 C?-2 unnamed_net957 C?-1 C?-2 unnamed_net956 C?-1 C?-2 unnamed_net955 C?-1 C?-2 unnamed_net954 C?-2 unnamed_net953 C?-1 C?-2 unnamed_net952 C?-1 C?-2 unnamed_net951 C?-2 unnamed_net950 C?-1 C?-2 unnamed_net949 C?-1 C?-2 unnamed_net948 C?-1 C?-2 unnamed_net947 C?-1 C?-2 unnamed_net946 C?-1 C?-2 unnamed_net945 C?-1 C?-2 unnamed_net944 C?-1 C?-2 unnamed_net943 C?-1 C?-2 unnamed_net942 C?-1 C?-2 unnamed_net941 C?-1 C?-2 unnamed_net940 C?-1 C?-2 unnamed_net939 C?-1 C?-2 unnamed_net938 C?-1 C?-2 unnamed_net937 C?-1 C?-2 unnamed_net936 C?-1 C?-2 unnamed_net935 C?-1 C?-2 unnamed_net934 C?-1 C?-2 unnamed_net933 C?-1 C?-2 unnamed_net932 C?-1 C?-2 unnamed_net931 C?-1 C?-2 unnamed_net930 C?-1 C?-2 unnamed_net929 C?-1 C?-2 unnamed_net928 C?-1 C?-2 unnamed_net927 C?-1 C?-2 unnamed_net926 C?-1 C?-2 unnamed_net925 C?-1 C?-2 unnamed_net924 C?-1 C?-2 unnamed_net923 C?-1 C?-2 unnamed_net922 C?-1 C?-2 unnamed_net921 C?-1 C?-2 unnamed_net920 C?-1 C?-2 unnamed_net919 C?-1 C?-2 unnamed_net918 C?-1 C?-2 unnamed_net917 C?-1 C?-2 unnamed_net916 C?-1 C?-2 unnamed_net915 C?-1 C?-2 unnamed_net914 C?-1 C?-2 unnamed_net913 C?-1 C?-2 unnamed_net912 C?-1 C?-2 unnamed_net911 C?-1 C?-2 unnamed_net910 C?-1 C?-2 unnamed_net909 C?-2 unnamed_net908 C?-1 C?-2 unnamed_net907 C?-1 C?-2 unnamed_net906 C?-1 C?-2 unnamed_net905 C?-1 C?-2 unnamed_net904 C?-1 C?-2 unnamed_net903 C?-1 C?-2 unnamed_net902 C?-2 unnamed_net901 C?-1 C?-2 unnamed_net900 C?-1 C?-2 unnamed_net899 C?-1 C?-2 unnamed_net898 C?-1 C?-2 unnamed_net897 C?-1 C?-2 unnamed_net896 C?-1 C?-2 unnamed_net895 C?-1 C?-2 unnamed_net894 C?-1 C?-2 unnamed_net893 C?-1 C?-2 unnamed_net892 C?-1 C?-2 unnamed_net891 C?-1 C?-2 unnamed_net890 C?-1 C?-2 unnamed_net889 C?-1 C?-2 unnamed_net888 C?-1 C?-2 unnamed_net887 C?-1 C?-2 unnamed_net886 C?-1 C?-2 unnamed_net885 C?-1 C?-2 unnamed_net884 C?-1 C?-2 unnamed_net883 C?-1 C?-2 unnamed_net882 C?-1 C?-2 unnamed_net881 C?-1 C?-2 unnamed_net880 C?-1 C?-2 unnamed_net879 C?-2 unnamed_net878 C?-1 C?-2 unnamed_net877 C?-1 C?-2 unnamed_net876 C?-1 C?-2 unnamed_net875 C?-1 C?-2 unnamed_net874 C?-1 C?-2 unnamed_net873 C?-1 C?-2 unnamed_net872 C?-2 unnamed_net871 C?-1 C?-2 unnamed_net870 C?-1 C?-2 unnamed_net869 C?-1 C?-2 unnamed_net868 C?-1 C?-2 unnamed_net867 C?-1 C?-2 unnamed_net866 C?-1 C?-2 unnamed_net865 C?-1 C?-2 unnamed_net864 C?-1 C?-2 unnamed_net863 C?-1 C?-2 unnamed_net862 C?-1 C?-2 unnamed_net861 C?-1 C?-2 unnamed_net860 C?-1 C?-2 unnamed_net859 C?-1 C?-2 unnamed_net858 C?-1 C?-2 unnamed_net857 C?-1 C?-2 unnamed_net856 C?-1 C?-2 unnamed_net855 C?-1 C?-2 unnamed_net854 C?-1 C?-2 unnamed_net853 C?-1 C?-2 unnamed_net852 C?-1 C?-2 unnamed_net851 C?-1 C?-2 unnamed_net850 C?-1 C?-2 unnamed_net849 C?-1 C?-2 unnamed_net848 C?-1 C?-2 unnamed_net847 C?-1 C?-2 unnamed_net846 C?-1 C?-2 unnamed_net845 C?-1 C?-2 unnamed_net844 C?-1 C?-2 unnamed_net843 C?-1 C?-2 unnamed_net842 C?-1 C?-2 unnamed_net841 C?-1 C?-2 unnamed_net840 C?-1 C?-2 unnamed_net839 C?-1 C?-2 unnamed_net838 C?-1 C?-2 unnamed_net837 C?-1 C?-2 unnamed_net836 C?-1 C?-2 unnamed_net835 C?-1 C?-2 unnamed_net834 C?-1 C?-2 unnamed_net833 C?-1 C?-2 unnamed_net832 C?-1 C?-2 unnamed_net831 C?-1 C?-2 unnamed_net830 C?-1 C?-2 unnamed_net829 C?-1 C?-2 unnamed_net828 C?-1 C?-2 unnamed_net827 C?-1 C?-2 unnamed_net826 C?-1 C?-2 unnamed_net825 C?-1 C?-2 unnamed_net824 C?-1 C?-2 unnamed_net823 C?-1 C?-2 unnamed_net822 C?-1 C?-2 unnamed_net821 C?-1 C?-2 unnamed_net820 C?-1 C?-2 unnamed_net819 C?-1 C?-2 unnamed_net818 C?-1 C?-2 unnamed_net817 C?-1 C?-2 unnamed_net816 C?-1 C?-2 unnamed_net815 C?-1 C?-2 unnamed_net814 C?-1 C?-2 unnamed_net813 C?-1 C?-2 unnamed_net812 C?-1 C?-2 unnamed_net811 C?-1 C?-2 unnamed_net810 C?-1 C?-2 unnamed_net809 C?-1 C?-2 unnamed_net808 C?-1 C?-2 unnamed_net807 C?-1 C?-2 unnamed_net806 C?-1 C?-2 unnamed_net805 C?-1 C?-2 unnamed_net804 C?-1 C?-2 unnamed_net803 C?-1 C?-2 unnamed_net802 C?-1 C?-2 unnamed_net801 C?-1 C?-2 unnamed_net800 C?-1 C?-2 unnamed_net799 C?-1 C?-2 unnamed_net798 C?-1 C?-2 unnamed_net797 C?-1 C?-2 unnamed_net796 C?-1 C?-2 unnamed_net795 C?-1 C?-2 unnamed_net794 C?-1 C?-2 unnamed_net793 C?-1 C?-2 unnamed_net792 C?-1 C?-2 unnamed_net791 C?-1 C?-2 unnamed_net790 C?-1 C?-2 unnamed_net789 C?-1 C?-2 unnamed_net788 C?-1 C?-2 unnamed_net787 C?-1 C?-2 unnamed_net786 C?-1 C?-2 unnamed_net785 C?-1 C?-2 unnamed_net784 C?-2 unnamed_net783 C?-1 C?-2 unnamed_net782 C?-1 C?-2 unnamed_net781 C?-2 unnamed_net780 C?-1 C?-2 unnamed_net779 C?-1 C?-2 unnamed_net778 C?-1 C?-2 unnamed_net777 C?-1 C?-2 unnamed_net776 C?-1 C?-2 unnamed_net775 C?-1 C?-2 unnamed_net774 C?-1 C?-2 unnamed_net773 C?-1 C?-2 unnamed_net772 C?-1 C?-2 unnamed_net771 C?-1 C?-2 unnamed_net770 C?-2 unnamed_net769 C?-1 C?-2 unnamed_net768 C?-1 C?-2 unnamed_net767 C?-2 unnamed_net766 C?-1 C?-2 unnamed_net765 C?-1 C?-2 unnamed_net764 C?-1 C?-2 unnamed_net763 C?-1 C?-2 unnamed_net762 C?-1 C?-2 unnamed_net761 C?-1 C?-2 unnamed_net760 C?-1 C?-2 unnamed_net759 C?-1 C?-2 unnamed_net758 C?-1 C?-2 unnamed_net757 C?-1 C?-2 unnamed_net756 C?-1 C?-2 unnamed_net755 C?-1 C?-2 unnamed_net754 C?-1 C?-2 unnamed_net753 C?-1 C?-2 unnamed_net752 C?-1 C?-2 unnamed_net751 C?-1 C?-2 unnamed_net750 C?-1 C?-2 unnamed_net749 C?-1 C?-2 unnamed_net748 C?-1 C?-2 unnamed_net747 C?-1 C?-2 unnamed_net746 C?-1 C?-2 unnamed_net745 C?-1 C?-2 unnamed_net744 C?-1 C?-2 unnamed_net743 C?-1 C?-2 unnamed_net742 C?-1 C?-2 unnamed_net741 C?-1 C?-2 unnamed_net740 C?-1 C?-2 unnamed_net739 C?-1 C?-2 unnamed_net738 C?-1 C?-2 unnamed_net737 C?-1 C?-2 unnamed_net736 C?-1 C?-2 unnamed_net735 C?-1 C?-2 unnamed_net734 C?-1 C?-2 unnamed_net733 C?-1 C?-2 unnamed_net732 C?-1 C?-2 unnamed_net731 C?-1 C?-2 unnamed_net730 C?-1 C?-2 unnamed_net729 C?-1 C?-2 unnamed_net728 C?-1 C?-2 unnamed_net727 C?-1 C?-2 unnamed_net726 C?-1 C?-2 unnamed_net725 C?-1 C?-2 unnamed_net724 C?-2 unnamed_net723 C?-1 C?-2 unnamed_net722 C?-1 C?-2 unnamed_net721 C?-2 unnamed_net720 C?-1 C?-2 unnamed_net719 C?-1 C?-2 unnamed_net718 C?-1 C?-2 unnamed_net717 C?-1 C?-2 unnamed_net716 C?-1 C?-2 unnamed_net715 C?-1 C?-2 unnamed_net714 C?-1 C?-2 unnamed_net713 C?-1 C?-2 unnamed_net712 C?-1 C?-2 unnamed_net711 C?-1 C?-2 unnamed_net710 C?-2 unnamed_net709 C?-1 C?-2 unnamed_net708 C?-1 C?-2 unnamed_net707 C?-2 unnamed_net706 C?-1 unnamed_net705 C?-1 C?-2 unnamed_net704 C?-1 C?-2 unnamed_net703 C?-1 C?-2 unnamed_net702 C?-1 C?-2 unnamed_net701 C?-1 C?-2 unnamed_net700 C?-1 C?-2 unnamed_net699 C?-1 C?-2 unnamed_net698 C?-1 C?-2 unnamed_net697 C?-1 unnamed_net696 C?-1 C?-2 unnamed_net695 C?-1 C?-2 unnamed_net694 C?-1 C?-2 unnamed_net693 C?-1 C?-2 unnamed_net692 C?-1 C?-2 unnamed_net691 C?-1 C?-2 unnamed_net690 C?-1 C?-2 unnamed_net689 C?-1 C?-2 unnamed_net688 C?-1 C?-2 unnamed_net687 C?-1 C?-2 unnamed_net686 C?-1 C?-2 unnamed_net685 C?-1 C?-2 unnamed_net684 C?-1 C?-2 unnamed_net683 C?-1 C?-2 unnamed_net682 C?-1 C?-2 unnamed_net681 C?-1 C?-2 unnamed_net680 C?-1 C?-2 unnamed_net679 C?-1 C?-2 unnamed_net678 C?-1 C?-2 unnamed_net677 C?-1 C?-2 unnamed_net676 C?-1 C?-2 unnamed_net675 C?-1 C?-2 unnamed_net674 C?-1 C?-2 unnamed_net673 C?-1 C?-2 unnamed_net672 C?-1 unnamed_net671 C?-1 C?-2 unnamed_net670 C?-1 C?-2 unnamed_net669 C?-1 C?-2 unnamed_net668 C?-1 C?-2 unnamed_net667 C?-1 C?-2 unnamed_net666 C?-1 C?-2 unnamed_net665 C?-1 C?-2 unnamed_net664 C?-1 C?-2 unnamed_net663 C?-1 unnamed_net662 C?-1 C?-2 unnamed_net661 C?-1 C?-2 unnamed_net660 C?-1 C?-2 unnamed_net659 C?-1 C?-2 unnamed_net658 C?-1 C?-2 unnamed_net657 C?-1 C?-2 unnamed_net656 C?-1 C?-2 unnamed_net655 C?-1 C?-2 unnamed_net654 C?-1 C?-2 unnamed_net653 C?-1 C?-2 unnamed_net652 C?-1 C?-2 unnamed_net651 C?-1 C?-2 unnamed_net650 C?-1 C?-2 unnamed_net649 C?-1 C?-2 unnamed_net648 C?-1 C?-2 unnamed_net647 C?-1 C?-2 unnamed_net646 C?-1 C?-2 unnamed_net645 C?-1 C?-2 unnamed_net644 C?-1 C?-2 unnamed_net643 C?-1 C?-2 unnamed_net642 C?-1 C?-2 unnamed_net641 C?-1 C?-2 unnamed_net640 C?-1 C?-2 unnamed_net639 C?-1 C?-2 unnamed_net638 C?-1 C?-2 unnamed_net637 C?-1 C?-2 unnamed_net636 C?-1 C?-2 unnamed_net635 C?-1 C?-2 unnamed_net634 C?-1 C?-2 unnamed_net633 C?-1 C?-2 unnamed_net632 C?-1 C?-2 unnamed_net631 C?-1 C?-2 unnamed_net630 C?-1 C?-2 unnamed_net629 C?-1 C?-2 unnamed_net628 C?-1 C?-2 unnamed_net627 C?-1 C?-2 unnamed_net626 C?-1 C?-2 unnamed_net625 C?-1 C?-2 unnamed_net624 C?-1 C?-2 unnamed_net623 C?-1 C?-2 unnamed_net622 C?-1 C?-2 unnamed_net621 C?-1 C?-2 unnamed_net620 C?-1 C?-2 unnamed_net619 C?-1 C?-2 unnamed_net618 C?-1 C?-2 unnamed_net617 C?-1 C?-2 unnamed_net616 C?-1 C?-2 unnamed_net615 C?-1 C?-2 unnamed_net614 C?-1 C?-2 unnamed_net613 C?-1 C?-2 unnamed_net612 C?-1 C?-2 unnamed_net611 C?-1 C?-2 unnamed_net610 C?-1 C?-2 unnamed_net609 C?-1 C?-2 unnamed_net608 C?-1 C?-2 unnamed_net607 C?-1 C?-2 unnamed_net606 C?-1 C?-2 unnamed_net605 C?-1 C?-2 unnamed_net604 C?-1 C?-2 unnamed_net603 C?-1 C?-2 unnamed_net602 C?-1 C?-2 unnamed_net601 C?-1 C?-2 unnamed_net600 C?-1 C?-2 unnamed_net599 C?-1 C?-2 unnamed_net598 C?-1 C?-2 unnamed_net597 C?-1 C?-2 unnamed_net596 C?-1 C?-2 unnamed_net595 C?-1 C?-2 unnamed_net594 C?-1 C?-2 unnamed_net593 C?-1 C?-2 unnamed_net592 C?-1 C?-2 unnamed_net591 C?-1 C?-2 unnamed_net590 C?-1 C?-2 unnamed_net589 C?-1 C?-2 unnamed_net588 C?-1 C?-2 unnamed_net587 C?-1 C?-2 unnamed_net586 C?-1 C?-2 unnamed_net585 C?-1 C?-2 unnamed_net584 C?-1 C?-2 unnamed_net583 C?-1 C?-2 unnamed_net582 C?-1 C?-2 unnamed_net581 C?-1 C?-2 unnamed_net580 C?-1 C?-2 unnamed_net579 C?-1 C?-2 unnamed_net578 C?-1 C?-2 unnamed_net577 C?-1 C?-2 unnamed_net576 C?-1 C?-2 unnamed_net575 C?-1 C?-2 unnamed_net574 C?-1 unnamed_net573 C?-1 C?-2 unnamed_net572 C?-1 C?-2 unnamed_net571 C?-1 C?-2 unnamed_net570 C?-1 C?-2 unnamed_net569 C?-1 C?-2 unnamed_net568 C?-1 C?-2 unnamed_net567 C?-1 C?-2 unnamed_net566 C?-1 C?-2 unnamed_net565 C?-1 unnamed_net564 C?-1 C?-2 unnamed_net563 C?-1 C?-2 unnamed_net562 C?-1 C?-2 unnamed_net561 C?-1 C?-2 unnamed_net560 C?-1 C?-2 unnamed_net559 C?-1 C?-2 unnamed_net558 C?-1 C?-2 unnamed_net557 C?-1 C?-2 unnamed_net556 C?-1 C?-2 unnamed_net555 C?-1 C?-2 unnamed_net554 C?-1 C?-2 unnamed_net553 C?-1 C?-2 unnamed_net552 C?-1 C?-2 unnamed_net551 C?-1 C?-2 unnamed_net550 C?-1 C?-2 unnamed_net549 C?-1 C?-2 unnamed_net548 C?-1 C?-2 unnamed_net547 C?-1 C?-2 unnamed_net546 C?-1 C?-2 unnamed_net545 C?-1 C?-2 unnamed_net544 C?-1 C?-2 unnamed_net543 C?-1 C?-2 unnamed_net542 C?-1 C?-2 unnamed_net541 C?-1 C?-2 unnamed_net540 C?-1 unnamed_net539 C?-1 C?-2 unnamed_net538 C?-1 C?-2 unnamed_net537 C?-1 C?-2 unnamed_net536 C?-1 C?-2 unnamed_net535 C?-1 C?-2 unnamed_net534 C?-1 C?-2 unnamed_net533 C?-1 C?-2 unnamed_net532 C?-1 C?-2 unnamed_net531 C?-1 unnamed_net530 C?-1 C?-2 unnamed_net529 C?-2 unnamed_net528 C?-1 C?-2 unnamed_net527 C?-1 C?-2 unnamed_net526 C?-1 C?-2 unnamed_net525 C?-1 C?-2 unnamed_net524 C?-1 C?-2 unnamed_net523 C?-1 C?-2 unnamed_net522 C?-2 unnamed_net521 C?-1 C?-2 unnamed_net520 C?-1 C?-2 unnamed_net519 C?-1 C?-2 unnamed_net518 C?-1 C?-2 unnamed_net517 C?-1 C?-2 unnamed_net516 C?-1 C?-2 unnamed_net515 C?-1 C?-2 unnamed_net514 C?-1 C?-2 unnamed_net513 C?-1 C?-2 unnamed_net512 C?-1 C?-2 unnamed_net511 C?-1 C?-2 unnamed_net510 C?-1 C?-2 unnamed_net509 C?-1 C?-2 unnamed_net508 C?-1 C?-2 unnamed_net507 C?-1 C?-2 unnamed_net506 C?-1 C?-2 unnamed_net505 C?-1 C?-2 unnamed_net504 C?-1 C?-2 unnamed_net503 C?-1 C?-2 unnamed_net502 C?-1 C?-2 unnamed_net501 C?-1 C?-2 unnamed_net500 C?-1 C?-2 unnamed_net499 C?-2 unnamed_net498 C?-1 C?-2 unnamed_net497 C?-1 C?-2 unnamed_net496 C?-1 C?-2 unnamed_net495 C?-1 C?-2 unnamed_net494 C?-1 C?-2 unnamed_net493 C?-1 C?-2 unnamed_net492 C?-2 unnamed_net491 C?-1 C?-2 unnamed_net490 C?-1 C?-2 unnamed_net489 C?-1 C?-2 unnamed_net488 C?-1 C?-2 unnamed_net487 C?-1 C?-2 unnamed_net486 C?-1 C?-2 unnamed_net485 C?-1 C?-2 unnamed_net484 C?-1 C?-2 unnamed_net483 C?-1 C?-2 unnamed_net482 C?-1 C?-2 unnamed_net481 C?-1 C?-2 unnamed_net480 C?-1 C?-2 unnamed_net479 C?-1 C?-2 unnamed_net478 C?-1 C?-2 unnamed_net477 C?-1 C?-2 unnamed_net476 C?-1 C?-2 unnamed_net475 C?-1 C?-2 unnamed_net474 C?-1 C?-2 unnamed_net473 C?-1 C?-2 unnamed_net472 C?-1 C?-2 unnamed_net471 C?-1 C?-2 unnamed_net470 C?-1 C?-2 unnamed_net469 C?-1 C?-2 unnamed_net468 C?-1 C?-2 unnamed_net467 C?-1 C?-2 unnamed_net466 C?-1 C?-2 unnamed_net465 C?-1 C?-2 unnamed_net464 C?-1 C?-2 unnamed_net463 C?-1 C?-2 unnamed_net462 C?-1 C?-2 unnamed_net461 C?-1 C?-2 unnamed_net460 C?-1 C?-2 unnamed_net459 C?-1 C?-2 unnamed_net458 C?-1 C?-2 unnamed_net457 C?-1 C?-2 unnamed_net456 C?-1 C?-2 unnamed_net455 C?-1 C?-2 unnamed_net454 C?-1 C?-2 unnamed_net453 C?-1 C?-2 unnamed_net452 C?-1 C?-2 unnamed_net451 C?-1 C?-2 unnamed_net450 C?-1 C?-2 unnamed_net449 C?-1 C?-2 unnamed_net448 C?-1 C?-2 unnamed_net447 C?-1 C?-2 unnamed_net446 C?-1 C?-2 unnamed_net445 C?-1 C?-2 unnamed_net444 C?-1 C?-2 unnamed_net443 C?-1 C?-2 unnamed_net442 C?-1 C?-2 unnamed_net441 C?-1 C?-2 unnamed_net440 C?-1 C?-2 unnamed_net439 C?-1 C?-2 unnamed_net438 C?-1 C?-2 unnamed_net437 C?-1 C?-2 unnamed_net436 C?-1 C?-2 unnamed_net435 C?-1 C?-2 unnamed_net434 C?-1 C?-2 unnamed_net433 C?-1 C?-2 unnamed_net432 C?-1 C?-2 unnamed_net431 C?-1 C?-2 unnamed_net430 C?-1 C?-2 unnamed_net429 C?-1 C?-2 unnamed_net428 C?-1 C?-2 unnamed_net427 C?-1 C?-2 unnamed_net426 C?-1 C?-2 unnamed_net425 C?-1 C?-2 unnamed_net424 C?-1 C?-2 unnamed_net423 C?-1 C?-2 unnamed_net422 C?-1 C?-2 unnamed_net421 C?-1 C?-2 unnamed_net420 C?-1 C?-2 unnamed_net419 C?-1 C?-2 unnamed_net418 C?-1 C?-2 unnamed_net417 C?-1 C?-2 unnamed_net416 C?-1 C?-2 unnamed_net415 C?-1 C?-2 unnamed_net414 C?-1 C?-2 unnamed_net413 C?-1 C?-2 unnamed_net412 C?-1 C?-2 unnamed_net411 C?-1 C?-2 unnamed_net410 C?-1 C?-2 unnamed_net409 C?-1 C?-2 unnamed_net408 C?-1 C?-2 unnamed_net407 C?-1 C?-2 unnamed_net406 C?-1 C?-2 unnamed_net405 C?-2 unnamed_net404 C?-1 C?-2 unnamed_net403 C?-1 C?-2 unnamed_net402 C?-1 C?-2 unnamed_net401 C?-1 C?-2 unnamed_net400 C?-1 C?-2 unnamed_net399 C?-1 C?-2 unnamed_net398 C?-2 unnamed_net397 C?-1 C?-2 unnamed_net396 C?-1 C?-2 unnamed_net395 C?-1 C?-2 unnamed_net394 C?-1 C?-2 unnamed_net393 C?-1 C?-2 unnamed_net392 C?-1 C?-2 unnamed_net391 C?-1 C?-2 unnamed_net390 C?-1 C?-2 unnamed_net389 C?-1 C?-2 unnamed_net388 C?-1 C?-2 unnamed_net387 C?-1 C?-2 unnamed_net386 C?-1 C?-2 unnamed_net385 C?-1 C?-2 unnamed_net384 C?-1 C?-2 unnamed_net383 C?-1 C?-2 unnamed_net382 C?-1 C?-2 unnamed_net381 C?-1 C?-2 unnamed_net380 C?-1 C?-2 unnamed_net379 C?-1 C?-2 unnamed_net378 C?-1 C?-2 unnamed_net377 C?-1 C?-2 unnamed_net376 C?-1 C?-2 unnamed_net375 C?-2 unnamed_net374 C?-1 C?-2 unnamed_net373 C?-1 C?-2 unnamed_net372 C?-1 C?-2 unnamed_net371 C?-1 C?-2 unnamed_net370 C?-1 C?-2 unnamed_net369 C?-1 C?-2 unnamed_net368 C?-2 unnamed_net367 C?-2 unnamed_net366 C?-1 C?-2 unnamed_net365 C?-1 C?-2 unnamed_net364 C?-1 unnamed_net363 C?-1 C?-2 unnamed_net362 C?-1 C?-2 unnamed_net361 C?-1 C?-2 unnamed_net360 C?-1 C?-2 unnamed_net359 C?-1 unnamed_net358 C?-1 C?-2 unnamed_net357 C?-1 C?-2 unnamed_net356 C?-1 C?-2 unnamed_net355 C?-1 C?-2 unnamed_net354 C?-1 C?-2 unnamed_net353 C?-1 C?-2 unnamed_net352 C?-1 C?-2 unnamed_net351 C?-1 C?-2 unnamed_net350 C?-1 C?-2 unnamed_net349 C?-1 C?-2 unnamed_net348 C?-1 C?-2 unnamed_net347 C?-1 C?-2 unnamed_net346 C?-1 unnamed_net345 C?-1 C?-2 unnamed_net344 C?-1 C?-2 unnamed_net343 C?-1 C?-2 unnamed_net342 C?-1 C?-2 unnamed_net341 C?-1 unnamed_net340 C?-1 C?-2 unnamed_net339 C?-1 C?-2 unnamed_net338 C?-1 C?-2 unnamed_net337 C?-1 C?-2 unnamed_net336 C?-1 C?-2 unnamed_net335 C?-1 C?-2 unnamed_net334 C?-1 C?-2 unnamed_net333 C?-1 C?-2 unnamed_net332 C?-1 C?-2 unnamed_net331 C?-1 C?-2 unnamed_net330 C?-1 C?-2 unnamed_net329 C?-1 C?-2 unnamed_net328 C?-1 C?-2 unnamed_net327 C?-1 C?-2 unnamed_net326 C?-1 C?-2 unnamed_net325 C?-1 C?-2 unnamed_net324 C?-1 C?-2 unnamed_net323 C?-1 C?-2 unnamed_net322 C?-1 C?-2 unnamed_net321 C?-1 C?-2 unnamed_net320 C?-1 C?-2 unnamed_net319 C?-1 C?-2 unnamed_net318 C?-1 C?-2 unnamed_net317 C?-1 C?-2 unnamed_net316 C?-1 C?-2 unnamed_net315 C?-1 C?-2 unnamed_net314 C?-1 C?-2 unnamed_net313 C?-1 C?-2 unnamed_net312 C?-1 C?-2 unnamed_net311 C?-1 C?-2 unnamed_net310 C?-1 C?-2 unnamed_net309 C?-1 C?-2 unnamed_net308 C?-1 C?-2 unnamed_net307 C?-1 C?-2 unnamed_net306 C?-1 C?-2 unnamed_net305 C?-1 C?-2 unnamed_net304 C?-1 C?-2 unnamed_net303 C?-1 C?-2 unnamed_net302 C?-1 C?-2 unnamed_net301 C?-1 C?-2 unnamed_net300 C?-1 C?-2 unnamed_net299 C?-1 C?-2 unnamed_net298 C?-1 C?-2 unnamed_net297 C?-1 C?-2 unnamed_net296 C?-1 unnamed_net295 C?-1 C?-2 unnamed_net294 C?-1 C?-2 unnamed_net293 C?-1 C?-2 unnamed_net292 C?-1 C?-2 unnamed_net291 C?-1 unnamed_net290 C?-1 C?-2 unnamed_net289 C?-1 C?-2 unnamed_net288 C?-1 C?-2 unnamed_net287 C?-1 C?-2 unnamed_net286 C?-1 C?-2 unnamed_net285 C?-1 C?-2 unnamed_net284 C?-1 C?-2 unnamed_net283 C?-1 C?-2 unnamed_net282 C?-1 C?-2 unnamed_net281 C?-1 C?-2 unnamed_net280 C?-1 C?-2 unnamed_net279 C?-1 C?-2 unnamed_net278 C?-1 unnamed_net277 C?-1 C?-2 unnamed_net276 C?-1 C?-2 unnamed_net275 C?-1 C?-2 unnamed_net274 C?-1 C?-2 unnamed_net273 C?-1 unnamed_net272 C?-1 C?-2 unnamed_net271 C?-1 C?-2 unnamed_net270 C?-1 C?-2 unnamed_net269 C?-1 C?-2 unnamed_net268 C?-1 C?-2 unnamed_net267 C?-1 C?-2 unnamed_net266 C?-1 C?-2 unnamed_net265 C?-1 C?-2 unnamed_net264 C?-1 C?-2 unnamed_net263 C?-1 C?-2 unnamed_net262 C?-1 C?-2 unnamed_net261 C?-1 C?-2 unnamed_net260 C?-1 C?-2 unnamed_net259 C?-1 C?-2 unnamed_net258 C?-1 C?-2 unnamed_net257 C?-1 C?-2 unnamed_net256 C?-1 C?-2 unnamed_net255 C?-1 C?-2 unnamed_net254 C?-1 C?-2 unnamed_net253 C?-1 C?-2 unnamed_net252 C?-1 C?-2 unnamed_net251 C?-1 C?-2 unnamed_net250 C?-1 C?-2 unnamed_net249 C?-1 C?-2 unnamed_net248 C?-1 C?-2 unnamed_net247 C?-1 C?-2 unnamed_net246 C?-1 C?-2 unnamed_net245 C?-1 C?-2 unnamed_net244 C?-1 C?-2 unnamed_net243 C?-1 C?-2 unnamed_net242 C?-1 C?-2 unnamed_net241 C?-1 C?-2 unnamed_net240 C?-1 C?-2 unnamed_net239 C?-1 C?-2 unnamed_net238 C?-1 C?-2 unnamed_net237 C?-1 C?-2 unnamed_net236 C?-1 C?-2 unnamed_net235 C?-1 C?-2 unnamed_net234 C?-1 C?-2 unnamed_net233 C?-1 C?-2 unnamed_net232 C?-1 C?-2 unnamed_net231 C?-1 C?-2 unnamed_net230 C?-1 C?-2 unnamed_net229 C?-1 C?-2 unnamed_net228 C?-1 C?-2 unnamed_net227 C?-1 C?-2 unnamed_net226 C?-1 C?-2 unnamed_net225 C?-1 C?-2 unnamed_net224 C?-1 C?-2 unnamed_net223 C?-1 C?-2 unnamed_net222 C?-1 C?-2 unnamed_net221 C?-1 C?-2 unnamed_net220 C?-1 C?-2 unnamed_net219 C?-1 C?-2 unnamed_net218 C?-1 C?-2 unnamed_net217 C?-1 C?-2 unnamed_net216 C?-1 C?-2 unnamed_net215 C?-1 C?-2 unnamed_net214 C?-1 C?-2 unnamed_net213 C?-1 C?-2 unnamed_net212 C?-1 C?-2 unnamed_net211 C?-1 C?-2 unnamed_net210 C?-1 C?-2 unnamed_net209 C?-1 C?-2 unnamed_net208 C?-1 C?-2 unnamed_net207 C?-1 C?-2 unnamed_net206 C?-1 C?-2 unnamed_net205 C?-1 C?-2 unnamed_net204 C?-1 C?-2 unnamed_net203 C?-1 C?-2 unnamed_net202 C?-1 C?-2 unnamed_net201 C?-1 C?-2 unnamed_net200 C?-1 C?-2 unnamed_net199 C?-1 C?-2 unnamed_net198 C?-1 C?-2 unnamed_net197 C?-1 C?-2 unnamed_net196 C?-1 C?-2 unnamed_net195 C?-1 C?-2 unnamed_net194 C?-1 C?-2 unnamed_net193 C?-1 C?-2 unnamed_net192 C?-1 C?-2 unnamed_net191 C?-1 C?-2 unnamed_net190 C?-1 C?-2 unnamed_net189 C?-1 C?-2 unnamed_net188 C?-1 C?-2 unnamed_net187 C?-1 C?-2 unnamed_net186 C?-1 C?-2 unnamed_net185 C?-1 unnamed_net184 C?-1 C?-2 unnamed_net183 C?-1 C?-2 unnamed_net182 C?-1 C?-2 unnamed_net181 C?-1 C?-2 unnamed_net180 C?-1 C?-2 unnamed_net179 C?-1 C?-2 unnamed_net178 C?-1 C?-2 unnamed_net177 C?-1 C?-2 unnamed_net176 C?-1 unnamed_net175 C?-1 C?-2 unnamed_net174 C?-1 C?-2 unnamed_net173 C?-1 C?-2 unnamed_net172 C?-1 C?-2 unnamed_net171 C?-1 C?-2 unnamed_net170 C?-1 C?-2 unnamed_net169 C?-1 C?-2 unnamed_net168 C?-1 C?-2 unnamed_net167 C?-1 C?-2 unnamed_net166 C?-1 C?-2 unnamed_net165 C?-1 C?-2 unnamed_net164 C?-1 C?-2 unnamed_net163 C?-1 C?-2 unnamed_net162 C?-1 C?-2 unnamed_net161 C?-1 C?-2 unnamed_net160 C?-1 C?-2 unnamed_net159 C?-1 C?-2 unnamed_net158 C?-1 C?-2 unnamed_net157 C?-1 C?-2 unnamed_net156 C?-1 C?-2 unnamed_net155 C?-1 C?-2 unnamed_net154 C?-1 C?-2 unnamed_net153 C?-1 C?-2 unnamed_net152 C?-1 C?-2 unnamed_net151 C?-1 unnamed_net150 C?-1 C?-2 unnamed_net149 C?-1 C?-2 unnamed_net148 C?-1 C?-2 unnamed_net147 C?-1 C?-2 unnamed_net146 C?-1 C?-2 unnamed_net145 C?-1 C?-2 unnamed_net144 C?-1 C?-2 unnamed_net143 C?-1 C?-2 unnamed_net142 C?-1 unnamed_net141 C?-1 C?-2 unnamed_net140 C?-1 C?-2 unnamed_net139 C?-1 C?-2 unnamed_net138 C?-1 C?-2 unnamed_net137 C?-1 C?-2 unnamed_net136 C?-1 C?-2 unnamed_net135 C?-1 C?-2 unnamed_net134 C?-1 C?-2 unnamed_net133 C?-1 C?-2 unnamed_net132 C?-1 C?-2 unnamed_net131 C?-1 C?-2 unnamed_net130 C?-1 C?-2 unnamed_net129 C?-1 C?-2 unnamed_net128 C?-1 C?-2 unnamed_net127 C?-1 C?-2 unnamed_net126 C?-1 C?-2 unnamed_net125 C?-1 C?-2 unnamed_net124 C?-1 C?-2 unnamed_net123 C?-1 C?-2 unnamed_net122 C?-1 C?-2 unnamed_net121 C?-1 C?-2 unnamed_net120 C?-1 C?-2 unnamed_net119 C?-1 C?-2 unnamed_net118 C?-1 C?-2 unnamed_net117 C?-1 C?-2 unnamed_net116 C?-1 C?-2 unnamed_net115 C?-1 C?-2 unnamed_net114 C?-1 C?-2 unnamed_net113 C?-1 C?-2 unnamed_net112 C?-1 C?-2 unnamed_net111 C?-1 C?-2 unnamed_net110 C?-1 C?-2 unnamed_net109 C?-1 C?-2 unnamed_net108 C?-1 C?-2 unnamed_net107 C?-1 C?-2 unnamed_net106 C?-1 C?-2 unnamed_net105 C?-1 C?-2 unnamed_net104 C?-1 C?-2 unnamed_net103 C?-1 C?-2 unnamed_net102 C?-1 C?-2 unnamed_net101 C?-1 C?-2 unnamed_net100 C?-1 C?-2 unnamed_net99 C?-1 C?-2 unnamed_net98 C?-1 C?-2 unnamed_net97 C?-1 C?-2 unnamed_net96 C?-1 unnamed_net95 C?-1 C?-2 unnamed_net94 C?-1 C?-2 unnamed_net93 C?-1 C?-2 unnamed_net92 C?-1 C?-2 unnamed_net91 C?-1 unnamed_net90 C?-1 C?-2 unnamed_net89 C?-1 C?-2 unnamed_net88 C?-1 C?-2 unnamed_net87 C?-1 C?-2 unnamed_net86 C?-1 C?-2 unnamed_net85 C?-1 C?-2 unnamed_net84 C?-1 C?-2 unnamed_net83 C?-1 C?-2 unnamed_net82 C?-1 C?-2 unnamed_net81 C?-1 C?-2 unnamed_net80 C?-1 C?-2 unnamed_net79 C?-1 C?-2 unnamed_net78 C?-1 unnamed_net77 C?-1 C?-2 unnamed_net76 C?-1 C?-2 unnamed_net75 C?-1 C?-2 unnamed_net74 C?-1 C?-2 unnamed_net73 C?-1 unnamed_net72 C?-1 C?-2 unnamed_net71 C?-1 C?-2 unnamed_net70 C?-1 C?-2 unnamed_net69 C?-1 C?-2 unnamed_net68 C?-1 C?-2 unnamed_net67 C?-1 C?-2 unnamed_net66 C?-1 C?-2 unnamed_net65 C?-1 C?-2 unnamed_net64 C?-1 C?-2 unnamed_net63 C?-1 C?-2 unnamed_net62 C?-1 C?-2 unnamed_net61 C?-1 C?-2 unnamed_net60 C?-1 C?-2 unnamed_net59 C?-1 C?-2 unnamed_net58 C?-1 C?-2 unnamed_net57 C?-1 C?-2 unnamed_net56 C?-1 C?-2 unnamed_net55 C?-1 C?-2 unnamed_net54 C?-1 C?-2 unnamed_net53 C?-1 C?-2 unnamed_net52 C?-1 C?-2 unnamed_net51 C?-1 C?-2 unnamed_net50 C?-1 C?-2 unnamed_net49 C?-1 unnamed_net48 C?-1 C?-2 unnamed_net47 C?-1 C?-2 unnamed_net46 C?-1 C?-2 unnamed_net45 C?-1 C?-2 unnamed_net44 C?-1 C?-2 unnamed_net43 C?-1 C?-2 unnamed_net42 C?-1 C?-2 unnamed_net41 C?-1 C?-2 unnamed_net40 C?-1 unnamed_net39 C?-1 C?-2 unnamed_net38 C?-1 C?-2 unnamed_net37 C?-1 C?-2 unnamed_net36 C?-1 C?-2 unnamed_net35 C?-1 C?-2 unnamed_net34 C?-1 C?-2 unnamed_net33 C?-1 C?-2 unnamed_net32 C?-1 C?-2 unnamed_net31 C?-1 C?-2 unnamed_net30 C?-1 C?-2 unnamed_net29 C?-1 C?-2 unnamed_net28 C?-1 C?-2 unnamed_net27 C?-1 C?-2 unnamed_net26 C?-1 unnamed_net25 C?-1 C?-2 unnamed_net24 C?-1 C?-2 unnamed_net23 C?-1 C?-2 unnamed_net22 C?-1 C?-2 unnamed_net21 C?-1 unnamed_net20 C?-1 C?-2 unnamed_net19 C?-1 C?-2 unnamed_net18 C?-1 C?-2 unnamed_net17 C?-1 C?-2 unnamed_net16 C?-1 C?-2 unnamed_net15 C?-1 C?-2 unnamed_net14 C?-1 C?-2 unnamed_net13 C?-1 unnamed_net12 C?-1 C?-2 unnamed_net11 C?-1 C?-2 unnamed_net10 C?-1 C?-2 unnamed_net9 C?-1 C?-2 unnamed_net8 C?-1 C?-2 unnamed_net7 C?-1 unnamed_net6 C?-1 C?-2 unnamed_net5 C?-1 C?-2 unnamed_net4 C?-1 C?-2 unnamed_net3 C?-1 unnamed_net2 C?-1 C?-2 unnamed_net1 C?-1 geda-gaf-1.8.2/gnetlist/tests/common/outputs/PCB/JD_Sort.retcode0000664000175000017500000000000212050461155021354 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/PCB/cascade-output.net0000664000175000017500000000026212050461155022142 00000000000000unnamed_net6 AMP2-1 T1-2 unnamed_net5 T1-1 MX1-2 unnamed_net4 MX1-1 FL1-2 unnamed_net3 FL1-1 DEF1-2 unnamed_net2 DEF1-1 AMP1-2 unnamed_net1 AMP1-1 SOURCE-1 GND DEFAULTS-1 geda-gaf-1.8.2/gnetlist/tests/common/outputs/PCB/multiequal-output.net0000664000175000017500000000004712050461155022742 00000000000000GND V1-2 R1-1 unnamed_net1 V1-1 R1-2 geda-gaf-1.8.2/gnetlist/tests/common/outputs/PCB/JD_nomunge-output.net0000664000175000017500000000024612050461155022606 00000000000000Vdd1 Rlp-2 M1-B M1-S Vdd-1 X1-6 GND Cm-2 Cp-2 Rlm-2 Vdd-2 V1-2 Rb-1 X1-7 X1-2 LVH Rb-2 M1-D M1-G X1-3 i V1-1 X1-1 p Cp-1 Rt-1 Rlp-1 X1-5 m Cm-1 Rlm-1 Rt-2 X1-4 geda-gaf-1.8.2/gnetlist/tests/common/outputs/PCB/stack-torture.retcode0000664000175000017500000000000212063576065022672 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/PCB/powersupply.retcode0000664000175000017500000000000212050461155022461 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/PCB/JD_Sort_nomunge-output.net0000664000175000017500000000024612050461155023615 00000000000000Vdd1 Rlp-2 M1-B M1-S Vdd-1 X1-6 GND Cm-2 Cp-2 Rlm-2 Vdd-2 V1-2 Rb-1 X1-7 X1-2 LVH Rb-2 M1-D M1-G X1-3 i V1-1 X1-1 p Cp-1 Rt-1 Rlp-1 X1-5 m Cm-1 Rlm-1 Rt-2 X1-4 geda-gaf-1.8.2/gnetlist/tests/common/outputs/PCB/TwoStageAmp_Sort.retcode0000664000175000017500000000000212050461155023252 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/PCB/netattrib.retcode0000664000175000017500000000000212050461155022044 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/PCB/JD_nomunge.retcode0000664000175000017500000000000212050461155022075 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/PCB/JD_Include-output.net0000664000175000017500000000024612050461155022521 00000000000000Vdd1 Rlp-2 M1-B M1-S Vdd-1 X1-6 GND Cm-2 Cp-2 Rlm-2 Vdd-2 V1-2 Rb-1 X1-7 X1-2 LVH Rb-2 M1-D M1-G X1-3 i V1-1 X1-1 p Cp-1 Rt-1 Rlp-1 X1-5 m Cm-1 Rlm-1 Rt-2 X1-4 geda-gaf-1.8.2/gnetlist/tests/common/outputs/PCB/JD_Sort-output.net0000664000175000017500000000024612050461155022065 00000000000000Vdd1 Rlp-2 M1-B M1-S Vdd-1 X1-6 GND Cm-2 Cp-2 Rlm-2 Vdd-2 V1-2 Rb-1 X1-7 X1-2 LVH Rb-2 M1-D M1-G X1-3 i V1-1 X1-1 p Cp-1 Rt-1 Rlp-1 X1-5 m Cm-1 Rlm-1 Rt-2 X1-4 geda-gaf-1.8.2/gnetlist/tests/common/outputs/PCB/cascade.retcode0000664000175000017500000000000212050461155021433 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/PCB/TwoStageAmp_Sort-output.net0000664000175000017500000000051112050461155023756 00000000000000unnamed_net2 C2-1 R8-2 Vbase2 R3-1 C2-2 R4-2 Q2-2 Vem2 CE2-2 RE2-2 Q2-1 Vout Cout-2 RL-2 VColl2 Q2-3 Cout-1 RC2-1 GND R4-1 CE2-1 RE2-1 VCC-2 Vinput-2 CE1-1 RL-1 RE1-1 R2-1 Vcc R3-2 RC1-2 VCC-1 RC2-2 R1-2 Vin Vinput-1 R5-1 unnamed_net1 C1-1 R5-2 Vbase1 C1-2 R2-2 R1-1 Q1-2 Vem1 CE1-2 RE1-2 Q1-1 Vcoll1 R8-1 RC1-1 Q1-3 geda-gaf-1.8.2/gnetlist/tests/common/outputs/PCB/singlenet-output.net0000664000175000017500000000014412050461155022546 00000000000000SING_N_2 U100-1 U100-3 GND U100-7 Vcc U100-14 SING_N U100-4 U100-5 U100-10 U100-8 U100-9 U100-6 geda-gaf-1.8.2/gnetlist/tests/common/outputs/PCB/TwoStageAmp_Include.retcode0000664000175000017500000000000212050461155023706 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/PCB/SlottedOpamps-output.net0000664000175000017500000000037712050461155023364 00000000000000minusin_slot4_pin13_b U1-13 plusin_slot4_pin12_a U1-12 minusin_slot3_pin_b U1-9 plusin_slot3_pin10_a U1-10 minusin_slot2_pin6_b U1-6 plusin_slot2_pin5_a U1-5 samenet_output_c U1-14 U1-8 U1-7 U1-1 minusin_slot1_pin_b U1-2 plusin_slot1_pin3_a U1-3 geda-gaf-1.8.2/gnetlist/tests/common/outputs/PCB/TwoStageAmp_Include-output.net0000664000175000017500000000051112050461155024412 00000000000000unnamed_net2 C2-1 R8-2 Vbase2 R3-1 C2-2 R4-2 Q2-2 Vem2 CE2-2 RE2-2 Q2-1 Vout Cout-2 RL-2 VColl2 Q2-3 Cout-1 RC2-1 GND R4-1 CE2-1 RE2-1 VCC-2 Vinput-2 CE1-1 RL-1 RE1-1 R2-1 Vcc R3-2 RC1-2 VCC-1 RC2-2 R1-2 Vin Vinput-1 R5-1 unnamed_net1 C1-1 R5-2 Vbase1 C1-2 R2-2 R1-1 Q1-2 Vem1 CE1-2 RE1-2 Q1-1 Vcoll1 R8-1 RC1-1 Q1-3 geda-gaf-1.8.2/gnetlist/tests/common/outputs/PCB/singlenet.retcode0000664000175000017500000000000212050461155022040 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/PCB/JD_Include.retcode0000664000175000017500000000000212050461155022010 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/PCB/powersupply-output.net0000664000175000017500000000034612050461155023173 00000000000000ten U2-1 R1-2 C3-1 R2-1 eleven U2-2 C4-1 R2-2 GND CONN1-3 one S1-1 CONN1-1 five CONN1-2 T1-2 three T1-1 F1-2 two S1-2 F1-1 six T1-3 U1-4 seven T1-4 U1-3 nine C4-2 C3-2 R1-3 R1-1 C2-2 C1-2 U1-2 eight U2-3 C2-1 C1-1 U1-1 geda-gaf-1.8.2/gnetlist/tests/common/outputs/PCB/netattrib-output.net0000664000175000017500000000020412050461155022547 00000000000000unnamed_net1 U300-2 netattrib U200-2 U100-5 GND U300-7 U200-7 U100-7 Vcc U300-14 U200-14 U100-14 one F1-1 U300-1 U200-1 U100-3 geda-gaf-1.8.2/gnetlist/tests/common/outputs/PCB/SlottedOpamps.retcode0000664000175000017500000000000212050461155022646 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/PCB/JD.retcode0000664000175000017500000000000212050461155020345 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/PCB/multiequal.retcode0000664000175000017500000000000212050461155022232 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/PCB/JD_Sort_nomunge.retcode0000664000175000017500000000000212050461155023104 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/PCB/TwoStageAmp-output.net0000664000175000017500000000051112050461155022747 00000000000000unnamed_net2 C2-1 R8-2 Vbase2 R3-1 C2-2 R4-2 Q2-2 Vem2 CE2-2 RE2-2 Q2-1 Vout Cout-2 RL-2 VColl2 Q2-3 Cout-1 RC2-1 GND R4-1 CE2-1 RE2-1 VCC-2 Vinput-2 CE1-1 RL-1 RE1-1 R2-1 Vcc R3-2 RC1-2 VCC-1 RC2-2 R1-2 Vin Vinput-1 R5-1 unnamed_net1 C1-1 R5-2 Vbase1 C1-2 R2-2 R1-1 Q1-2 Vem1 CE1-2 RE1-2 Q1-1 Vcoll1 R8-1 RC1-1 Q1-3 geda-gaf-1.8.2/gnetlist/tests/common/outputs/PCB/JD_Include_nomunge.retcode0000664000175000017500000000000212050461155023540 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc/0000775000175000017500000000000012220655756016750 500000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc/JD_Include_nomunge-output.net0000664000175000017500000000014612050461155024414 00000000000000A1 Does not have attribute: value M1 Does not have attribute: value X1 Does not have attribute: value geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc/JD-output.net0000664000175000017500000000014612050461155021221 00000000000000A1 Does not have attribute: value M1 Does not have attribute: value X1 Does not have attribute: value geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc/TwoStageAmp.retcode0000664000175000017500000000000212050461155022407 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc/stack-torture-output.net0000664000175000017500000000543012063576065023547 00000000000000C? Does not have attribute: value Net unnamed_net1025 has only 1 connected pin Net unnamed_net1022 has only 1 connected pin Net unnamed_net1020 has only 1 connected pin Net unnamed_net1012 has only 1 connected pin Net unnamed_net1009 has only 1 connected pin Net unnamed_net999 has only 1 connected pin Net unnamed_net992 has only 1 connected pin Net unnamed_net968 has only 1 connected pin Net unnamed_net965 has only 1 connected pin Net unnamed_net954 has only 1 connected pin Net unnamed_net951 has only 1 connected pin Net unnamed_net909 has only 1 connected pin Net unnamed_net902 has only 1 connected pin Net unnamed_net879 has only 1 connected pin Net unnamed_net872 has only 1 connected pin Net unnamed_net784 has only 1 connected pin Net unnamed_net781 has only 1 connected pin Net unnamed_net770 has only 1 connected pin Net unnamed_net767 has only 1 connected pin Net unnamed_net724 has only 1 connected pin Net unnamed_net721 has only 1 connected pin Net unnamed_net710 has only 1 connected pin Net unnamed_net707 has only 1 connected pin Net unnamed_net706 has only 1 connected pin Net unnamed_net697 has only 1 connected pin Net unnamed_net672 has only 1 connected pin Net unnamed_net663 has only 1 connected pin Net unnamed_net574 has only 1 connected pin Net unnamed_net565 has only 1 connected pin Net unnamed_net540 has only 1 connected pin Net unnamed_net531 has only 1 connected pin Net unnamed_net529 has only 1 connected pin Net unnamed_net522 has only 1 connected pin Net unnamed_net499 has only 1 connected pin Net unnamed_net492 has only 1 connected pin Net unnamed_net405 has only 1 connected pin Net unnamed_net398 has only 1 connected pin Net unnamed_net375 has only 1 connected pin Net unnamed_net368 has only 1 connected pin Net unnamed_net367 has only 1 connected pin Net unnamed_net364 has only 1 connected pin Net unnamed_net359 has only 1 connected pin Net unnamed_net346 has only 1 connected pin Net unnamed_net341 has only 1 connected pin Net unnamed_net296 has only 1 connected pin Net unnamed_net291 has only 1 connected pin Net unnamed_net278 has only 1 connected pin Net unnamed_net273 has only 1 connected pin Net unnamed_net185 has only 1 connected pin Net unnamed_net176 has only 1 connected pin Net unnamed_net151 has only 1 connected pin Net unnamed_net142 has only 1 connected pin Net unnamed_net96 has only 1 connected pin Net unnamed_net91 has only 1 connected pin Net unnamed_net78 has only 1 connected pin Net unnamed_net73 has only 1 connected pin Net unnamed_net49 has only 1 connected pin Net unnamed_net40 has only 1 connected pin Net unnamed_net26 has only 1 connected pin Net unnamed_net21 has only 1 connected pin Net unnamed_net13 has only 1 connected pin Net unnamed_net7 has only 1 connected pin Net unnamed_net3 has only 1 connected pin Net unnamed_net1 has only 1 connected pin geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc/JD_Sort.retcode0000664000175000017500000000000212050461155021520 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc/cascade-output.net0000664000175000017500000000050312050461155022304 00000000000000AMP2 Does not have attribute: value T1 Does not have attribute: value MX1 Does not have attribute: value FL1 Does not have attribute: value DEF1 Does not have attribute: value AMP1 Does not have attribute: value SOURCE Does not have attribute: value DEFAULTS Does not have attribute: value Net GND has only 1 connected pin geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc/multiequal-output.net0000664000175000017500000000000012050461155023073 00000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc/JD_nomunge-output.net0000664000175000017500000000014612050461155022751 00000000000000A1 Does not have attribute: value M1 Does not have attribute: value X1 Does not have attribute: value geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc/stack-torture.retcode0000664000175000017500000000000212063576065023036 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc/powersupply.retcode0000664000175000017500000000000212050461155022625 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc/JD_Sort_nomunge-output.net0000664000175000017500000000014612050461155023760 00000000000000A1 Does not have attribute: value M1 Does not have attribute: value X1 Does not have attribute: value geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc/TwoStageAmp_Sort.retcode0000664000175000017500000000000212050461155023416 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc/netattrib.retcode0000664000175000017500000000000212050461155022210 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc/JD_nomunge.retcode0000664000175000017500000000000212050461155022241 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc/JD_Include-output.net0000664000175000017500000000014612050461155022664 00000000000000A1 Does not have attribute: value M1 Does not have attribute: value X1 Does not have attribute: value geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc/JD_Sort-output.net0000664000175000017500000000014612050461155022230 00000000000000A1 Does not have attribute: value M1 Does not have attribute: value X1 Does not have attribute: value geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc/cascade.retcode0000664000175000017500000000000212050461155021577 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc/TwoStageAmp_Sort-output.net0000664000175000017500000000021012050461155024116 00000000000000Q2 Does not have attribute: value A2 Does not have attribute: value A1 Does not have attribute: value Q1 Does not have attribute: value geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc/singlenet-output.net0000664000175000017500000000014612050461155022714 00000000000000U100 Does not have attribute: value Net GND has only 1 connected pin Net Vcc has only 1 connected pin geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc/TwoStageAmp_Include.retcode0000664000175000017500000000000212050461155024052 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc/SlottedOpamps-output.net0000664000175000017500000000065712050461155023531 00000000000000U1 Does not have attribute: value Net minusin_slot4_pin13_b has only 1 connected pin Net plusin_slot4_pin12_a has only 1 connected pin Net minusin_slot3_pin_b has only 1 connected pin Net plusin_slot3_pin10_a has only 1 connected pin Net minusin_slot2_pin6_b has only 1 connected pin Net plusin_slot2_pin5_a has only 1 connected pin Net minusin_slot1_pin_b has only 1 connected pin Net plusin_slot1_pin3_a has only 1 connected pin geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc/TwoStageAmp_Include-output.net0000664000175000017500000000021012050461155024552 00000000000000Q2 Does not have attribute: value A2 Does not have attribute: value A1 Does not have attribute: value Q1 Does not have attribute: value geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc/singlenet.retcode0000664000175000017500000000000212050461155022204 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc/JD_Include.retcode0000664000175000017500000000000212050461155022154 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc/powersupply-output.net0000664000175000017500000000036012050461155023333 00000000000000U2 Does not have attribute: value S1 Does not have attribute: value CONN1 Does not have attribute: value T1 Does not have attribute: value F1 Does not have attribute: value U1 Does not have attribute: value Net GND has only 1 connected pin geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc/netattrib-output.net0000664000175000017500000000027012050461155022716 00000000000000F1 Does not have attribute: value U300 Does not have attribute: value U200 Does not have attribute: value U100 Does not have attribute: value Net unnamed_net1 has only 1 connected pin geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc/SlottedOpamps.retcode0000664000175000017500000000000212050461155023012 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc/JD.retcode0000664000175000017500000000000212050461155020511 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc/multiequal.retcode0000664000175000017500000000000212050461155022376 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc/JD_Sort_nomunge.retcode0000664000175000017500000000000212050461155023250 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc/TwoStageAmp-output.net0000664000175000017500000000021012050461155023107 00000000000000Q2 Does not have attribute: value A2 Does not have attribute: value A1 Does not have attribute: value Q1 Does not have attribute: value geda-gaf-1.8.2/gnetlist/tests/common/outputs/drc/JD_Include_nomunge.retcode0000664000175000017500000000000212050461155023704 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vipec/0000775000175000017500000000000012220655760017301 500000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/vipec/JD_Include_nomunge-output.net0000664000175000017500000000055112050461155024752 00000000000000% ViPEC RF Netlister % Written by Matthew Ettus % Based on code by Bas Gieltjes CKT error % A1 CAP 5 0 C=20p % Cm CAP 4 0 C=20p % Cp RES 4 1 R=1meg % Rlp RES 5 0 R=500k % Rlm error 1 0 % Vdd error 3 0 % V1 RES 4 5 R=1k % Rt RES 0 2 R=5.6k % Rb error 2 2 1 1 % M1 error 3 0 2 5 4 1 0 % X1 DEF2P # # TERM 50 50 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vipec/JD-output.net0000664000175000017500000000055112050461155021557 00000000000000% ViPEC RF Netlister % Written by Matthew Ettus % Based on code by Bas Gieltjes CKT error % A1 CAP 5 0 C=20p % Cm CAP 4 0 C=20p % Cp RES 4 1 R=1meg % Rlp RES 5 0 R=500k % Rlm error 1 0 % Vdd error 3 0 % V1 RES 4 5 R=1k % Rt RES 0 2 R=5.6k % Rb error 2 2 1 1 % M1 error 3 0 2 5 4 1 0 % X1 DEF2P # # TERM 50 50 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vipec/TwoStageAmp.retcode0000664000175000017500000000000212050461155022745 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vipec/stack-torture-output.net0000664000175000017500000007423312063576065024114 00000000000000% ViPEC RF Netlister % Written by Matthew Ettus % Based on code by Bas Gieltjes CKT CAP 2 1 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # C=use value attrib for capacitance % C? DEF2P # # TERM 50 50 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vipec/JD_Sort.retcode0000664000175000017500000000000212050461155022056 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vipec/cascade-output.net0000664000175000017500000000046712050461155022653 00000000000000% ViPEC RF Netlister % Written by Matthew Ettus % Based on code by Bas Gieltjes CKT error 1 # % AMP2 error 2 1 % T1 error 3 2 % MX1 error 4 3 % FL1 error 5 4 % DEF1 error 6 5 % AMP1 error 6 % SOURCE error # % DEFAULTS DEF2P # # TERM 50 50 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vipec/multiequal-output.net0000664000175000017500000000027112050461155023443 00000000000000% ViPEC RF Netlister % Written by Matthew Ettus % Based on code by Bas Gieltjes CKT error 1 0 % V1 RES 0 1 R=20 % R1 error % A1 DEF2P # # TERM 50 50 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vipec/JD_nomunge-output.net0000664000175000017500000000055112050461155023307 00000000000000% ViPEC RF Netlister % Written by Matthew Ettus % Based on code by Bas Gieltjes CKT error % A1 CAP 5 0 C=20p % Cm CAP 4 0 C=20p % Cp RES 4 1 R=1meg % Rlp RES 5 0 R=500k % Rlm error 1 0 % Vdd error 3 0 % V1 RES 4 5 R=1k % Rt RES 0 2 R=5.6k % Rb error 2 2 1 1 % M1 error 3 0 2 5 4 1 0 % X1 DEF2P # # TERM 50 50 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vipec/stack-torture.retcode0000664000175000017500000000000212063576065023374 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vipec/powersupply.retcode0000664000175000017500000000000212050461155023163 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vipec/JD_Sort_nomunge-output.net0000664000175000017500000000055112050461155024316 00000000000000% ViPEC RF Netlister % Written by Matthew Ettus % Based on code by Bas Gieltjes CKT error % A1 CAP 5 0 C=20p % Cm CAP 4 0 C=20p % Cp RES 4 1 R=1meg % Rlp RES 5 0 R=500k % Rlm error 1 0 % Vdd error 3 0 % V1 RES 4 5 R=1k % Rt RES 0 2 R=5.6k % Rb error 2 2 1 1 % M1 error 3 0 2 5 4 1 0 % X1 DEF2P # # TERM 50 50 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vipec/TwoStageAmp_Sort.retcode0000664000175000017500000000000212050461155023754 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vipec/netattrib.retcode0000664000175000017500000000000212050461155022546 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vipec/JD_nomunge.retcode0000664000175000017500000000000212050461155022577 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vipec/JD_Include-output.net0000664000175000017500000000055112050461155023222 00000000000000% ViPEC RF Netlister % Written by Matthew Ettus % Based on code by Bas Gieltjes CKT error % A1 CAP 5 0 C=20p % Cm CAP 4 0 C=20p % Cp RES 4 1 R=1meg % Rlp RES 5 0 R=500k % Rlm error 1 0 % Vdd error 3 0 % V1 RES 4 5 R=1k % Rt RES 0 2 R=5.6k % Rb error 2 2 1 1 % M1 error 3 0 2 5 4 1 0 % X1 DEF2P # # TERM 50 50 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vipec/JD_Sort-output.net0000664000175000017500000000055112050461155022566 00000000000000% ViPEC RF Netlister % Written by Matthew Ettus % Based on code by Bas Gieltjes CKT error % A1 CAP 5 0 C=20p % Cm CAP 4 0 C=20p % Cp RES 4 1 R=1meg % Rlp RES 5 0 R=500k % Rlm error 1 0 % Vdd error 3 0 % V1 RES 4 5 R=1k % Rt RES 0 2 R=5.6k % Rb error 2 2 1 1 % M1 error 3 0 2 5 4 1 0 % X1 DEF2P # # TERM 50 50 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vipec/cascade.retcode0000664000175000017500000000000212050461155022135 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vipec/TwoStageAmp_Sort-output.net0000664000175000017500000000113512050461155024463 00000000000000% ViPEC RF Netlister % Written by Matthew Ettus % Based on code by Bas Gieltjes CKT CAP 1 2 C=2.2uF % C2 RES 0 2 R=2.8K % R4 RES 2 6 R=28K % R3 RES 11 1 R=1 % R8 CAP 0 3 C=1pF % CE2 RES 0 3 R=100 % RE2 RES 11 6 R=3.3K % RC1 error 5 2 3 % Q2 CAP 8 9 C=2.2uF % C1 error % A3 error % A2 error % A1 error 6 0 % VCC error 7 0 % Vinput CAP 0 10 C=1pF % CE1 CAP 5 4 C=2.2uF % Cout RES 0 4 R=100K % RL RES 5 6 R=1K % RC2 RES 0 10 R=100 % RE1 RES 0 9 R=2K % R2 RES 9 6 R=28K % R1 RES 7 8 R=10 % R5 error 11 9 10 % Q1 DEF2P # # TERM 50 50 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vipec/singlenet-output.net0000664000175000017500000000052012050461155023246 00000000000000% ViPEC RF Netlister % Written by Matthew Ettus % Based on code by Bas Gieltjes CKT error 3 3 3 # # # # # # # # # # # # % U100 DEF2P # # TERM 50 50 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vipec/TwoStageAmp_Include.retcode0000664000175000017500000000000212050461155024410 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vipec/SlottedOpamps-output.net0000664000175000017500000000044112050461155024056 00000000000000% ViPEC RF Netlister % Written by Matthew Ettus % Based on code by Bas Gieltjes CKT error 7 8 9 # # # # # # # # # % U1 DEF2P # # TERM 50 50 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vipec/TwoStageAmp_Include-output.net0000664000175000017500000000113512050461155025117 00000000000000% ViPEC RF Netlister % Written by Matthew Ettus % Based on code by Bas Gieltjes CKT CAP 1 2 C=2.2uF % C2 RES 0 2 R=2.8K % R4 RES 2 6 R=28K % R3 RES 11 1 R=1 % R8 CAP 0 3 C=1pF % CE2 RES 0 3 R=100 % RE2 RES 11 6 R=3.3K % RC1 error 5 2 3 % Q2 CAP 8 9 C=2.2uF % C1 error % A3 error % A2 error % A1 error 6 0 % VCC error 7 0 % Vinput CAP 0 10 C=1pF % CE1 CAP 5 4 C=2.2uF % Cout RES 0 4 R=100K % RL RES 5 6 R=1K % RC2 RES 0 10 R=100 % RE1 RES 0 9 R=2K % R2 RES 9 6 R=28K % R1 RES 7 8 R=10 % R5 error 11 9 10 % Q1 DEF2P # # TERM 50 50 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vipec/singlenet.retcode0000664000175000017500000000000212050461155022542 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vipec/JD_Include.retcode0000664000175000017500000000000212050461155022512 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vipec/powersupply-output.net0000664000175000017500000000055412050461155023676 00000000000000% ViPEC RF Netlister % Written by Matthew Ettus % Based on code by Bas Gieltjes CKT error 1 2 10 % U2 error 2 9 % C4 error 1 9 % C3 error 9 1 9 % R1 error 10 9 % C2 RES 1 2 R=220 % R2 error 10 9 % C1 error 3 6 % S1 error 3 4 0 % CONN1 error 5 4 7 8 % T1 error 6 5 % F1 error 10 9 8 7 % U1 DEF2P # # TERM 50 50 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vipec/netattrib-output.net0000664000175000017500000000054312050461155023257 00000000000000% ViPEC RF Netlister % Written by Matthew Ettus % Based on code by Bas Gieltjes CKT error 4 # % F1 error 4 1 # # % U300 error 4 2 # # % U200 error # # 4 # # # % U100 DEF2P # # TERM 50 50 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vipec/SlottedOpamps.retcode0000664000175000017500000000000212050461155023350 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vipec/JD.retcode0000664000175000017500000000000212050461155021047 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vipec/multiequal.retcode0000664000175000017500000000000212050461155022734 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vipec/JD_Sort_nomunge.retcode0000664000175000017500000000000212050461155023606 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vipec/TwoStageAmp-output.net0000664000175000017500000000113512050461155023454 00000000000000% ViPEC RF Netlister % Written by Matthew Ettus % Based on code by Bas Gieltjes CKT CAP 1 2 C=2.2uF % C2 RES 0 2 R=2.8K % R4 RES 2 6 R=28K % R3 RES 11 1 R=1 % R8 CAP 0 3 C=1pF % CE2 RES 0 3 R=100 % RE2 RES 11 6 R=3.3K % RC1 error 5 2 3 % Q2 CAP 8 9 C=2.2uF % C1 error % A3 error % A2 error % A1 error 6 0 % VCC error 7 0 % Vinput CAP 0 10 C=1pF % CE1 CAP 5 4 C=2.2uF % Cout RES 0 4 R=100K % RL RES 5 6 R=1K % RC2 RES 0 10 R=100 % RE1 RES 0 9 R=2K % R2 RES 9 6 R=28K % R1 RES 7 8 R=10 % R5 error 11 9 10 % Q1 DEF2P # # TERM 50 50 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vipec/JD_Include_nomunge.retcode0000664000175000017500000000000212050461155024242 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/ewnet/0000775000175000017500000000000012220655756017322 500000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/ewnet/JD_Include_nomunge-output.net0000664000175000017500000002112312063576065024777 00000000000000(ToolInfo (netlist "ULTIboard" 7 0 0) (tool "Multisim" 7 0 0) (timestamp "15:19:8" "9-6-2006") (version 3 0 0) (gateswap 2) (pinswap 1) (crossprobe {D6EE9C01-C93E-4246-9BC1-214A35C4954C}) (units Mil) ) (nets ( net "Vdd1" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "GND" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "LVH" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "i" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "p" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "m" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ) (components (instance "unknown" "A1" (device "model") (value "model") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") ) (instance "unknown" "Cm" (device "CAPACITOR") (value "20p") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "m") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "unknown" "Cp" (device "CAPACITOR") (value "20p") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "p") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "unknown" "Rlp" (device "RESISTOR") (value "1meg") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "p") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "Vdd1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "Rlm" (device "RESISTOR") (value "500k") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "m") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "none" "Vdd" (device "VOLTAGE_SOURCE") (value "DC 3.3V") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "Vdd1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "none" "V1" (device "vpulse") (value "pulse 3.3 0 1u 10p 10p 1.25u 2.5u") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "i") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "unknown" "Rt" (device "RESISTOR") (value "1k") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "p") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "m") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "Rb" (device "RESISTOR") (value "5.6k") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "LVH") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "M1" (device "PMOS_TRANSISTOR") (value "PMOS_TRANSISTOR") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "G" (net "LVH") (pintype "BIDIR") (gategroup "") (pingroup "") (label "G") (gate "") ) (pin "D" (net "LVH") (pintype "BIDIR") (gategroup "") (pingroup "") (label "D") (gate "") ) (pin "B" (net "Vdd1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "B") (gate "") ) (pin "S" (net "Vdd1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "S") (gate "") ) ) (instance "unknown" "X1" (device "LVD") (value "LVD") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "7" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "7") (gate "") ) (pin "6" (net "Vdd1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "6") (gate "") ) (pin "2" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "3" (net "LVH") (pintype "BIDIR") (gategroup "") (pingroup "") (label "3") (gate "") ) (pin "1" (net "i") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "5" (net "p") (pintype "BIDIR") (gategroup "") (pingroup "") (label "5") (gate "") ) (pin "4" (net "m") (pintype "BIDIR") (gategroup "") (pingroup "") (label "4") (gate "") ) ) ) (layers (layer "Copper Bottom" (routable "1") (type "Signal") ) (layer "Copper Top" (routable "1") (type "Signal") ) ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/ewnet/JD-output.net0000664000175000017500000002112312063576065021604 00000000000000(ToolInfo (netlist "ULTIboard" 7 0 0) (tool "Multisim" 7 0 0) (timestamp "15:19:8" "9-6-2006") (version 3 0 0) (gateswap 2) (pinswap 1) (crossprobe {D6EE9C01-C93E-4246-9BC1-214A35C4954C}) (units Mil) ) (nets ( net "Vdd1" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "GND" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "LVH" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "i" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "p" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "m" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ) (components (instance "unknown" "A1" (device "model") (value "model") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") ) (instance "unknown" "Cm" (device "CAPACITOR") (value "20p") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "m") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "unknown" "Cp" (device "CAPACITOR") (value "20p") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "p") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "unknown" "Rlp" (device "RESISTOR") (value "1meg") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "p") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "Vdd1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "Rlm" (device "RESISTOR") (value "500k") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "m") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "none" "Vdd" (device "VOLTAGE_SOURCE") (value "DC 3.3V") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "Vdd1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "none" "V1" (device "vpulse") (value "pulse 3.3 0 1u 10p 10p 1.25u 2.5u") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "i") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "unknown" "Rt" (device "RESISTOR") (value "1k") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "p") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "m") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "Rb" (device "RESISTOR") (value "5.6k") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "LVH") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "M1" (device "PMOS_TRANSISTOR") (value "PMOS_TRANSISTOR") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "G" (net "LVH") (pintype "BIDIR") (gategroup "") (pingroup "") (label "G") (gate "") ) (pin "D" (net "LVH") (pintype "BIDIR") (gategroup "") (pingroup "") (label "D") (gate "") ) (pin "B" (net "Vdd1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "B") (gate "") ) (pin "S" (net "Vdd1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "S") (gate "") ) ) (instance "unknown" "X1" (device "LVD") (value "LVD") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "7" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "7") (gate "") ) (pin "6" (net "Vdd1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "6") (gate "") ) (pin "2" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "3" (net "LVH") (pintype "BIDIR") (gategroup "") (pingroup "") (label "3") (gate "") ) (pin "1" (net "i") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "5" (net "p") (pintype "BIDIR") (gategroup "") (pingroup "") (label "5") (gate "") ) (pin "4" (net "m") (pintype "BIDIR") (gategroup "") (pingroup "") (label "4") (gate "") ) ) ) (layers (layer "Copper Bottom" (routable "1") (type "Signal") ) (layer "Copper Top" (routable "1") (type "Signal") ) ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/ewnet/TwoStageAmp.retcode0000664000175000017500000000000212063576065022774 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/ewnet/stack-torture-output.net0000664000175000017500000255572212063576065024141 00000000000000(ToolInfo (netlist "ULTIboard" 7 0 0) (tool "Multisim" 7 0 0) (timestamp "15:19:8" "9-6-2006") (version 3 0 0) (gateswap 2) (pinswap 1) (crossprobe {D6EE9C01-C93E-4246-9BC1-214A35C4954C}) (units Mil) ) (nets ( net "unnamed_net1025" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net1024" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net1023" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net1022" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net1021" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net1020" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net1019" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net1018" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net1017" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net1016" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net1015" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net1014" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net1013" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net1012" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net1011" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net1010" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net1009" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net1008" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net1007" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net1006" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net1005" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net1004" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net1003" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net1002" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net1001" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net1000" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net999" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net998" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net997" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net996" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net995" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net994" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net993" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net992" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net991" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net990" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net989" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net988" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net987" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net986" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net985" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net984" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net983" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net982" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net981" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net980" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net979" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net978" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net977" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net976" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net975" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net974" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net973" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net972" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net971" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net970" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net969" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net968" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net967" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net966" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net965" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net964" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net963" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net962" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net961" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net960" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net959" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net958" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net957" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net956" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net955" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net954" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net953" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net952" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net951" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net950" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net949" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net948" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net947" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net946" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net945" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net944" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net943" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net942" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net941" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net940" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net939" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net938" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net937" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net936" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net935" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net934" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net933" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net932" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net931" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net930" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net929" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net928" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net927" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net926" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net925" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net924" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net923" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net922" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net921" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net920" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net919" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net918" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net917" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net916" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net915" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net914" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net913" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net912" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net911" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net910" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net909" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net908" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net907" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net906" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net905" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net904" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net903" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net902" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net901" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net900" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net899" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net898" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net897" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net896" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net895" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net894" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net893" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net892" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net891" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net890" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net889" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net888" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net887" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net886" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net885" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net884" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net883" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net882" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net881" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net880" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net879" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net878" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net877" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net876" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net875" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net874" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net873" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net872" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net871" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net870" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net869" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net868" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net867" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net866" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net865" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net864" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net863" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net862" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net861" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net860" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net859" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net858" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net857" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net856" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net855" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net854" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net853" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net852" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net851" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net850" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net849" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net848" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net847" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net846" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net845" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net844" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net843" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net842" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net841" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net840" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net839" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net838" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net837" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net836" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net835" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net834" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net833" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net832" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net831" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net830" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net829" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net828" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net827" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net826" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net825" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net824" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net823" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net822" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net821" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net820" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net819" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net818" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net817" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net816" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net815" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net814" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net813" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net812" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net811" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net810" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net809" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net808" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net807" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net806" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net805" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net804" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net803" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net802" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net801" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net800" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net799" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net798" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net797" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net796" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net795" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net794" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net793" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net792" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net791" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net790" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net789" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net788" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net787" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net786" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net785" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net784" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net783" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net782" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net781" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net780" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net779" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net778" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net777" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net776" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net775" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net774" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net773" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net772" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net771" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net770" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net769" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net768" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net767" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net766" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net765" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net764" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net763" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net762" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net761" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net760" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net759" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net758" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net757" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net756" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net755" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net754" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net753" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net752" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net751" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net750" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net749" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net748" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net747" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net746" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net745" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net744" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net743" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net742" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net741" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net740" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net739" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net738" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net737" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net736" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net735" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net734" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net733" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net732" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net731" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net730" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net729" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net728" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net727" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net726" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net725" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net724" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net723" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net722" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net721" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net720" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net719" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net718" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net717" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net716" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net715" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net714" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net713" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net712" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net711" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net710" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net709" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net708" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net707" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net706" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net705" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net704" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net703" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net702" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net701" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net700" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net699" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net698" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net697" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net696" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net695" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net694" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net693" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net692" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net691" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net690" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net689" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net688" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net687" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net686" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net685" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net684" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net683" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net682" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net681" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net680" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net679" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net678" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net677" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net676" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net675" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net674" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net673" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net672" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net671" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net670" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net669" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net668" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net667" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net666" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net665" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net664" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net663" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net662" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net661" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net660" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net659" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net658" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net657" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net656" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net655" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net654" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net653" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net652" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net651" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net650" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net649" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net648" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net647" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net646" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net645" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net644" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net643" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net642" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net641" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net640" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net639" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net638" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net637" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net636" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net635" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net634" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net633" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net632" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net631" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net630" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net629" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net628" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net627" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net626" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net625" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net624" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net623" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net622" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net621" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net620" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net619" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net618" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net617" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net616" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net615" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net614" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net613" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net612" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net611" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net610" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net609" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net608" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net607" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net606" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net605" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net604" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net603" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net602" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net601" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net600" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net599" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net598" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net597" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net596" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net595" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net594" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net593" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net592" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net591" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net590" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net589" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net588" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net587" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net586" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net585" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net584" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net583" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net582" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net581" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net580" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net579" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net578" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net577" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net576" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net575" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net574" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net573" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net572" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net571" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net570" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net569" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net568" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net567" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net566" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net565" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net564" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net563" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net562" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net561" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net560" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net559" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net558" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net557" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net556" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net555" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net554" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net553" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net552" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net551" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net550" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net549" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net548" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net547" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net546" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net545" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net544" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net543" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net542" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net541" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net540" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net539" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net538" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net537" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net536" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net535" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net534" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net533" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net532" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net531" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net530" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net529" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net528" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net527" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net526" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net525" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net524" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net523" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net522" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net521" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net520" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net519" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net518" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net517" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net516" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net515" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net514" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net513" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net512" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net511" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net510" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net509" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net508" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net507" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net506" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net505" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net504" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net503" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net502" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net501" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net500" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net499" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net498" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net497" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net496" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net495" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net494" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net493" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net492" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net491" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net490" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net489" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net488" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net487" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net486" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net485" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net484" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net483" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net482" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net481" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net480" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net479" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net478" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net477" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net476" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net475" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net474" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net473" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net472" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net471" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net470" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net469" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net468" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net467" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net466" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net465" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net464" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net463" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net462" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net461" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net460" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net459" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net458" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net457" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net456" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net455" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net454" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net453" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net452" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net451" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net450" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net449" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net448" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net447" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net446" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net445" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net444" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net443" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net442" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net441" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net440" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net439" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net438" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net437" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net436" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net435" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net434" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net433" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net432" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net431" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net430" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net429" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net428" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net427" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net426" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net425" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net424" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net423" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net422" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net421" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net420" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net419" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net418" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net417" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net416" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net415" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net414" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net413" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net412" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net411" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net410" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net409" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net408" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net407" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net406" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net405" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net404" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net403" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net402" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net401" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net400" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net399" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net398" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net397" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net396" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net395" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net394" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net393" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net392" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net391" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net390" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net389" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net388" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net387" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net386" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net385" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net384" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net383" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net382" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net381" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net380" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net379" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net378" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net377" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net376" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net375" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net374" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net373" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net372" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net371" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net370" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net369" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net368" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net367" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net366" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net365" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net364" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net363" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net362" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net361" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net360" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net359" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net358" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net357" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net356" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net355" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net354" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net353" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net352" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net351" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net350" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net349" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net348" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net347" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net346" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net345" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net344" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net343" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net342" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net341" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net340" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net339" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net338" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net337" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net336" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net335" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net334" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net333" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net332" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net331" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net330" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net329" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net328" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net327" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net326" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net325" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net324" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net323" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net322" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net321" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net320" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net319" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net318" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net317" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net316" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net315" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net314" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net313" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net312" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net311" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net310" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net309" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net308" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net307" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net306" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net305" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net304" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net303" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net302" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net301" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net300" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net299" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net298" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net297" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net296" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net295" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net294" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net293" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net292" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net291" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net290" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net289" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net288" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net287" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net286" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net285" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net284" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net283" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net282" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net281" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net280" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net279" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net278" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net277" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net276" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net275" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net274" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net273" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net272" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net271" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net270" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net269" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net268" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net267" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net266" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net265" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net264" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net263" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net262" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net261" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net260" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net259" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net258" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net257" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net256" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net255" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net254" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net253" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net252" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net251" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net250" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net249" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net248" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net247" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net246" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net245" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net244" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net243" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net242" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net241" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net240" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net239" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net238" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net237" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net236" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net235" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net234" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net233" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net232" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net231" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net230" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net229" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net228" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net227" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net226" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net225" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net224" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net223" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net222" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net221" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net220" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net219" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net218" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net217" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net216" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net215" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net214" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net213" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net212" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net211" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net210" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net209" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net208" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net207" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net206" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net205" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net204" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net203" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net202" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net201" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net200" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net199" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net198" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net197" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net196" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net195" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net194" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net193" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net192" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net191" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net190" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net189" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net188" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net187" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net186" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net185" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net184" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net183" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net182" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net181" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net180" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net179" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net178" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net177" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net176" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net175" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net174" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net173" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net172" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net171" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net170" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net169" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net168" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net167" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net166" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net165" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net164" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net163" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net162" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net161" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net160" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net159" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net158" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net157" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net156" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net155" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net154" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net153" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net152" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net151" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net150" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net149" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net148" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net147" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net146" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net145" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net144" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net143" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net142" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net141" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net140" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net139" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net138" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net137" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net136" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net135" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net134" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net133" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net132" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net131" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net130" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net129" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net128" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net127" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net126" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net125" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net124" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net123" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net122" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net121" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net120" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net119" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net118" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net117" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net116" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net115" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net114" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net113" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net112" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net111" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net110" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net109" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net108" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net107" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net106" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net105" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net104" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net103" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net102" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net101" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net100" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net99" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net98" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net97" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net96" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net95" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net94" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net93" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net92" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net91" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net90" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net89" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net88" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net87" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net86" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net85" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net84" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net83" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net82" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net81" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net80" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net79" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net78" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net77" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net76" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net75" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net74" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net73" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net72" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net71" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net70" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net69" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net68" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net67" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net66" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net65" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net64" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net63" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net62" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net61" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net60" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net59" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net58" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net57" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net56" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net55" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net54" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net53" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net52" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net51" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net50" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net49" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net48" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net47" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net46" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net45" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net44" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net43" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net42" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net41" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net40" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net39" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net38" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net37" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net36" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net35" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net34" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net33" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net32" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net31" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net30" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net29" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net28" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net27" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net26" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net25" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net24" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net23" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net22" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net21" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net20" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net19" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net18" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net17" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net16" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net15" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net14" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net13" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net12" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net11" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net10" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net9" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net8" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net7" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net6" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net5" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net4" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net3" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net2" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net1" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ) (components (instance "unknown" "C?" (device "CAPACITOR") (value "CAPACITOR") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1025") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1024") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) ) (layers (layer "Copper Bottom" (routable "1") (type "Signal") ) (layer "Copper Top" (routable "1") (type "Signal") ) ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/ewnet/JD_Sort.retcode0000664000175000017500000000000212063576065022105 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/ewnet/cascade-output.net0000664000175000017500000001615012063576065022676 00000000000000(ToolInfo (netlist "ULTIboard" 7 0 0) (tool "Multisim" 7 0 0) (timestamp "15:19:8" "9-6-2006") (version 3 0 0) (gateswap 2) (pinswap 1) (crossprobe {D6EE9C01-C93E-4246-9BC1-214A35C4954C}) (units Mil) ) (nets ( net "unnamed_net6" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net5" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net4" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net3" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net2" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net1" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "GND" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ) (components (instance "none" "AMP2" (device "cascade-amp") (value "cascade-amp") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "#f") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net6") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "none" "T1" (device "cascade-transformer") (value "cascade-transformer") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "unnamed_net6") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net5") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "none" "MX1" (device "cascade-mixer") (value "cascade-mixer") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "unnamed_net5") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net4") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "none" "FL1" (device "cascade-filter") (value "cascade-filter") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "unnamed_net4") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net3") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "none" "DEF1" (device "cascade-defaults") (value "cascade-defaults") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "unnamed_net3") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net2") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "none" "AMP1" (device "cascade-amp") (value "cascade-amp") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "unnamed_net2") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "none" "SOURCE" (device "cascade-source") (value "cascade-source") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "unnamed_net1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "unknown" "DEFAULTS" (device "cascade-defaults-top") (value "cascade-defaults-top") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "unknown" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) ) (layers (layer "Copper Bottom" (routable "1") (type "Signal") ) (layer "Copper Top" (routable "1") (type "Signal") ) ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/ewnet/multiequal-output.net0000664000175000017500000000464012063576065023476 00000000000000(ToolInfo (netlist "ULTIboard" 7 0 0) (tool "Multisim" 7 0 0) (timestamp "15:19:8" "9-6-2006") (version 3 0 0) (gateswap 2) (pinswap 1) (crossprobe {D6EE9C01-C93E-4246-9BC1-214A35C4954C}) (units Mil) ) (nets ( net "GND" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net1" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ) (components (instance "none" "V1" (device "VOLTAGE_SOURCE") (value "DC 1V") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "unknown" "R1" (device "RESISTOR") (value "20") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "A1" (device "options") (value "abotol=1e-11") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") ) ) (layers (layer "Copper Bottom" (routable "1") (type "Signal") ) (layer "Copper Top" (routable "1") (type "Signal") ) ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/ewnet/JD_nomunge-output.net0000664000175000017500000002112312063576065023334 00000000000000(ToolInfo (netlist "ULTIboard" 7 0 0) (tool "Multisim" 7 0 0) (timestamp "15:19:8" "9-6-2006") (version 3 0 0) (gateswap 2) (pinswap 1) (crossprobe {D6EE9C01-C93E-4246-9BC1-214A35C4954C}) (units Mil) ) (nets ( net "Vdd1" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "GND" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "LVH" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "i" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "p" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "m" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ) (components (instance "unknown" "A1" (device "model") (value "model") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") ) (instance "unknown" "Cm" (device "CAPACITOR") (value "20p") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "m") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "unknown" "Cp" (device "CAPACITOR") (value "20p") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "p") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "unknown" "Rlp" (device "RESISTOR") (value "1meg") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "p") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "Vdd1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "Rlm" (device "RESISTOR") (value "500k") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "m") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "none" "Vdd" (device "VOLTAGE_SOURCE") (value "DC 3.3V") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "Vdd1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "none" "V1" (device "vpulse") (value "pulse 3.3 0 1u 10p 10p 1.25u 2.5u") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "i") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "unknown" "Rt" (device "RESISTOR") (value "1k") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "p") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "m") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "Rb" (device "RESISTOR") (value "5.6k") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "LVH") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "M1" (device "PMOS_TRANSISTOR") (value "PMOS_TRANSISTOR") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "G" (net "LVH") (pintype "BIDIR") (gategroup "") (pingroup "") (label "G") (gate "") ) (pin "D" (net "LVH") (pintype "BIDIR") (gategroup "") (pingroup "") (label "D") (gate "") ) (pin "B" (net "Vdd1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "B") (gate "") ) (pin "S" (net "Vdd1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "S") (gate "") ) ) (instance "unknown" "X1" (device "LVD") (value "LVD") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "7" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "7") (gate "") ) (pin "6" (net "Vdd1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "6") (gate "") ) (pin "2" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "3" (net "LVH") (pintype "BIDIR") (gategroup "") (pingroup "") (label "3") (gate "") ) (pin "1" (net "i") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "5" (net "p") (pintype "BIDIR") (gategroup "") (pingroup "") (label "5") (gate "") ) (pin "4" (net "m") (pintype "BIDIR") (gategroup "") (pingroup "") (label "4") (gate "") ) ) ) (layers (layer "Copper Bottom" (routable "1") (type "Signal") ) (layer "Copper Top" (routable "1") (type "Signal") ) ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/ewnet/stack-torture.retcode0000664000175000017500000000000212063576065023410 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/ewnet/powersupply.retcode0000664000175000017500000000000212063576065023212 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/ewnet/JD_Sort_nomunge-output.net0000664000175000017500000002112312063576065024343 00000000000000(ToolInfo (netlist "ULTIboard" 7 0 0) (tool "Multisim" 7 0 0) (timestamp "15:19:8" "9-6-2006") (version 3 0 0) (gateswap 2) (pinswap 1) (crossprobe {D6EE9C01-C93E-4246-9BC1-214A35C4954C}) (units Mil) ) (nets ( net "Vdd1" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "GND" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "LVH" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "i" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "p" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "m" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ) (components (instance "unknown" "A1" (device "model") (value "model") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") ) (instance "unknown" "Cm" (device "CAPACITOR") (value "20p") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "m") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "unknown" "Cp" (device "CAPACITOR") (value "20p") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "p") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "unknown" "Rlp" (device "RESISTOR") (value "1meg") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "p") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "Vdd1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "Rlm" (device "RESISTOR") (value "500k") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "m") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "none" "Vdd" (device "VOLTAGE_SOURCE") (value "DC 3.3V") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "Vdd1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "none" "V1" (device "vpulse") (value "pulse 3.3 0 1u 10p 10p 1.25u 2.5u") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "i") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "unknown" "Rt" (device "RESISTOR") (value "1k") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "p") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "m") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "Rb" (device "RESISTOR") (value "5.6k") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "LVH") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "M1" (device "PMOS_TRANSISTOR") (value "PMOS_TRANSISTOR") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "G" (net "LVH") (pintype "BIDIR") (gategroup "") (pingroup "") (label "G") (gate "") ) (pin "D" (net "LVH") (pintype "BIDIR") (gategroup "") (pingroup "") (label "D") (gate "") ) (pin "B" (net "Vdd1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "B") (gate "") ) (pin "S" (net "Vdd1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "S") (gate "") ) ) (instance "unknown" "X1" (device "LVD") (value "LVD") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "7" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "7") (gate "") ) (pin "6" (net "Vdd1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "6") (gate "") ) (pin "2" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "3" (net "LVH") (pintype "BIDIR") (gategroup "") (pingroup "") (label "3") (gate "") ) (pin "1" (net "i") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "5" (net "p") (pintype "BIDIR") (gategroup "") (pingroup "") (label "5") (gate "") ) (pin "4" (net "m") (pintype "BIDIR") (gategroup "") (pingroup "") (label "4") (gate "") ) ) ) (layers (layer "Copper Bottom" (routable "1") (type "Signal") ) (layer "Copper Top" (routable "1") (type "Signal") ) ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/ewnet/TwoStageAmp_Sort.retcode0000664000175000017500000000000212063576065024003 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/ewnet/netattrib.retcode0000664000175000017500000000000212063576065022575 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/ewnet/JD_nomunge.retcode0000664000175000017500000000000212063576065022626 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/ewnet/JD_Include-output.net0000664000175000017500000002112312063576065023247 00000000000000(ToolInfo (netlist "ULTIboard" 7 0 0) (tool "Multisim" 7 0 0) (timestamp "15:19:8" "9-6-2006") (version 3 0 0) (gateswap 2) (pinswap 1) (crossprobe {D6EE9C01-C93E-4246-9BC1-214A35C4954C}) (units Mil) ) (nets ( net "Vdd1" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "GND" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "LVH" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "i" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "p" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "m" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ) (components (instance "unknown" "A1" (device "model") (value "model") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") ) (instance "unknown" "Cm" (device "CAPACITOR") (value "20p") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "m") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "unknown" "Cp" (device "CAPACITOR") (value "20p") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "p") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "unknown" "Rlp" (device "RESISTOR") (value "1meg") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "p") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "Vdd1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "Rlm" (device "RESISTOR") (value "500k") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "m") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "none" "Vdd" (device "VOLTAGE_SOURCE") (value "DC 3.3V") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "Vdd1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "none" "V1" (device "vpulse") (value "pulse 3.3 0 1u 10p 10p 1.25u 2.5u") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "i") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "unknown" "Rt" (device "RESISTOR") (value "1k") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "p") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "m") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "Rb" (device "RESISTOR") (value "5.6k") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "LVH") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "M1" (device "PMOS_TRANSISTOR") (value "PMOS_TRANSISTOR") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "G" (net "LVH") (pintype "BIDIR") (gategroup "") (pingroup "") (label "G") (gate "") ) (pin "D" (net "LVH") (pintype "BIDIR") (gategroup "") (pingroup "") (label "D") (gate "") ) (pin "B" (net "Vdd1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "B") (gate "") ) (pin "S" (net "Vdd1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "S") (gate "") ) ) (instance "unknown" "X1" (device "LVD") (value "LVD") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "7" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "7") (gate "") ) (pin "6" (net "Vdd1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "6") (gate "") ) (pin "2" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "3" (net "LVH") (pintype "BIDIR") (gategroup "") (pingroup "") (label "3") (gate "") ) (pin "1" (net "i") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "5" (net "p") (pintype "BIDIR") (gategroup "") (pingroup "") (label "5") (gate "") ) (pin "4" (net "m") (pintype "BIDIR") (gategroup "") (pingroup "") (label "4") (gate "") ) ) ) (layers (layer "Copper Bottom" (routable "1") (type "Signal") ) (layer "Copper Top" (routable "1") (type "Signal") ) ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/ewnet/JD_Sort-output.net0000664000175000017500000002112312063576065022613 00000000000000(ToolInfo (netlist "ULTIboard" 7 0 0) (tool "Multisim" 7 0 0) (timestamp "15:19:8" "9-6-2006") (version 3 0 0) (gateswap 2) (pinswap 1) (crossprobe {D6EE9C01-C93E-4246-9BC1-214A35C4954C}) (units Mil) ) (nets ( net "Vdd1" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "GND" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "LVH" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "i" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "p" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "m" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ) (components (instance "unknown" "A1" (device "model") (value "model") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") ) (instance "unknown" "Cm" (device "CAPACITOR") (value "20p") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "m") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "unknown" "Cp" (device "CAPACITOR") (value "20p") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "p") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "unknown" "Rlp" (device "RESISTOR") (value "1meg") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "p") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "Vdd1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "Rlm" (device "RESISTOR") (value "500k") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "m") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "none" "Vdd" (device "VOLTAGE_SOURCE") (value "DC 3.3V") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "Vdd1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "none" "V1" (device "vpulse") (value "pulse 3.3 0 1u 10p 10p 1.25u 2.5u") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "i") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "unknown" "Rt" (device "RESISTOR") (value "1k") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "p") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "m") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "Rb" (device "RESISTOR") (value "5.6k") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "LVH") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "M1" (device "PMOS_TRANSISTOR") (value "PMOS_TRANSISTOR") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "G" (net "LVH") (pintype "BIDIR") (gategroup "") (pingroup "") (label "G") (gate "") ) (pin "D" (net "LVH") (pintype "BIDIR") (gategroup "") (pingroup "") (label "D") (gate "") ) (pin "B" (net "Vdd1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "B") (gate "") ) (pin "S" (net "Vdd1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "S") (gate "") ) ) (instance "unknown" "X1" (device "LVD") (value "LVD") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "7" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "7") (gate "") ) (pin "6" (net "Vdd1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "6") (gate "") ) (pin "2" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "3" (net "LVH") (pintype "BIDIR") (gategroup "") (pingroup "") (label "3") (gate "") ) (pin "1" (net "i") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "5" (net "p") (pintype "BIDIR") (gategroup "") (pingroup "") (label "5") (gate "") ) (pin "4" (net "m") (pintype "BIDIR") (gategroup "") (pingroup "") (label "4") (gate "") ) ) ) (layers (layer "Copper Bottom" (routable "1") (type "Signal") ) (layer "Copper Top" (routable "1") (type "Signal") ) ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/ewnet/cascade.retcode0000664000175000017500000000000212063576065022164 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/ewnet/TwoStageAmp_Sort-output.net0000664000175000017500000003756512063576065024532 00000000000000(ToolInfo (netlist "ULTIboard" 7 0 0) (tool "Multisim" 7 0 0) (timestamp "15:19:8" "9-6-2006") (version 3 0 0) (gateswap 2) (pinswap 1) (crossprobe {D6EE9C01-C93E-4246-9BC1-214A35C4954C}) (units Mil) ) (nets ( net "unnamed_net2" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "Vbase2" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "Vem2" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "Vout" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "VColl2" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "GND" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "Vcc" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "Vin" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net1" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "Vbase1" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "Vem1" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "Vcoll1" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ) (components (instance "unknown" "C2" (device "CAPACITOR") (value "2.2uF") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "Vbase2") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net2") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "unknown" "R4" (device "RESISTOR") (value "2.8K") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "Vbase2") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "R3" (device "RESISTOR") (value "28K") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "Vbase2") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "Vcc") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "R8" (device "RESISTOR") (value "1") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "Vcoll1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net2") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "CE2" (device "CAPACITOR") (value "1pF") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "Vem2") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "unknown" "RE2" (device "RESISTOR") (value "100") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "Vem2") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "RC1" (device "RESISTOR") (value "3.3K") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "Vcoll1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "Vcc") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "Q2" (device "NPN_TRANSISTOR") (value "NPN_TRANSISTOR") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "Vbase2") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "Vem2") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "3" (net "VColl2") (pintype "BIDIR") (gategroup "") (pingroup "") (label "3") (gate "") ) ) (instance "unknown" "C1" (device "CAPACITOR") (value "2.2uF") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "Vbase1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "unknown" "A3" (device "directive") (value ".options TEMP=25") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") ) (instance "unknown" "A2" (device "include") (value "include") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") ) (instance "unknown" "A1" (device "model") (value "model") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") ) (instance "none" "VCC" (device "VOLTAGE_SOURCE") (value "DC 15V") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "Vcc") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "none" "Vinput" (device "vsin") (value "DC 1.6V AC 10MV SIN(0 1MV 1KHZ)") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "Vin") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "unknown" "CE1" (device "CAPACITOR") (value "1pF") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "Vem1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "unknown" "Cout" (device "CAPACITOR") (value "2.2uF") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "Vout") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "VColl2") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "unknown" "RL" (device "RESISTOR") (value "100K") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "Vout") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "RC2" (device "RESISTOR") (value "1K") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "VColl2") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "Vcc") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "RE1" (device "RESISTOR") (value "100") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "Vem1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "R2" (device "RESISTOR") (value "2K") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "Vbase1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "R1" (device "RESISTOR") (value "28K") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "Vbase1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "Vcc") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "R5" (device "RESISTOR") (value "10") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "Vin") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "Q1" (device "NPN_TRANSISTOR") (value "NPN_TRANSISTOR") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "Vbase1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "Vem1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "3" (net "Vcoll1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "3") (gate "") ) ) ) (layers (layer "Copper Bottom" (routable "1") (type "Signal") ) (layer "Copper Top" (routable "1") (type "Signal") ) ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/ewnet/singlenet-output.net0000664000175000017500000001002612063576065023277 00000000000000(ToolInfo (netlist "ULTIboard" 7 0 0) (tool "Multisim" 7 0 0) (timestamp "15:19:8" "9-6-2006") (version 3 0 0) (gateswap 2) (pinswap 1) (crossprobe {D6EE9C01-C93E-4246-9BC1-214A35C4954C}) (units Mil) ) (nets ( net "SING_N_2" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "GND" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "Vcc" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "SING_N" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ) (components (instance "DIP14" "U100" (device "7400") (value "7400") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "unknown" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "7") (gate "") ) (pin "unknown" (net "Vcc") (pintype "BIDIR") (gategroup "") (pingroup "") (label "14") (gate "") ) (pin "9" (net "SING_N") (pintype "BIDIR") (gategroup "") (pingroup "") (label "9") (gate "") ) (pin "10" (net "SING_N") (pintype "BIDIR") (gategroup "") (pingroup "") (label "10") (gate "") ) (pin "8" (net "SING_N") (pintype "BIDIR") (gategroup "") (pingroup "") (label "8") (gate "") ) (pin "unknown" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "7") (gate "") ) (pin "unknown" (net "Vcc") (pintype "BIDIR") (gategroup "") (pingroup "") (label "14") (gate "") ) (pin "1" (net "SING_N_2") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "#f") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "3" (net "SING_N_2") (pintype "BIDIR") (gategroup "") (pingroup "") (label "3") (gate "") ) (pin "unknown" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "7") (gate "") ) (pin "unknown" (net "Vcc") (pintype "BIDIR") (gategroup "") (pingroup "") (label "14") (gate "") ) (pin "4" (net "SING_N") (pintype "BIDIR") (gategroup "") (pingroup "") (label "4") (gate "") ) (pin "5" (net "SING_N") (pintype "BIDIR") (gategroup "") (pingroup "") (label "5") (gate "") ) (pin "6" (net "SING_N") (pintype "BIDIR") (gategroup "") (pingroup "") (label "6") (gate "") ) ) ) (layers (layer "Copper Bottom" (routable "1") (type "Signal") ) (layer "Copper Top" (routable "1") (type "Signal") ) ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/ewnet/TwoStageAmp_Include.retcode0000664000175000017500000000000212063576065024437 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/ewnet/SlottedOpamps-output.net0000664000175000017500000001406412063576065024113 00000000000000(ToolInfo (netlist "ULTIboard" 7 0 0) (tool "Multisim" 7 0 0) (timestamp "15:19:8" "9-6-2006") (version 3 0 0) (gateswap 2) (pinswap 1) (crossprobe {D6EE9C01-C93E-4246-9BC1-214A35C4954C}) (units Mil) ) (nets ( net "minusin_slot4_pin13_b" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "plusin_slot4_pin12_a" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "minusin_slot3_pin_b" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "plusin_slot3_pin10_a" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "minusin_slot2_pin6_b" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "plusin_slot2_pin5_a" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "samenet_output_c" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "minusin_slot1_pin_b" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "plusin_slot1_pin3_a" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ) (components (instance "unknown" "U1" (device "LM324") (value "LM324") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "14" (net "samenet_output_c") (pintype "BIDIR") (gategroup "") (pingroup "") (label "14") (gate "") ) (pin "13" (net "minusin_slot4_pin13_b") (pintype "BIDIR") (gategroup "") (pingroup "") (label "13") (gate "") ) (pin "12" (net "plusin_slot4_pin12_a") (pintype "BIDIR") (gategroup "") (pingroup "") (label "12") (gate "") ) (pin "8" (net "samenet_output_c") (pintype "BIDIR") (gategroup "") (pingroup "") (label "8") (gate "") ) (pin "9" (net "minusin_slot3_pin_b") (pintype "BIDIR") (gategroup "") (pingroup "") (label "9") (gate "") ) (pin "10" (net "plusin_slot3_pin10_a") (pintype "BIDIR") (gategroup "") (pingroup "") (label "10") (gate "") ) (pin "7" (net "samenet_output_c") (pintype "BIDIR") (gategroup "") (pingroup "") (label "7") (gate "") ) (pin "6" (net "minusin_slot2_pin6_b") (pintype "BIDIR") (gategroup "") (pingroup "") (label "6") (gate "") ) (pin "5" (net "plusin_slot2_pin5_a") (pintype "BIDIR") (gategroup "") (pingroup "") (label "5") (gate "") ) (pin "1" (net "samenet_output_c") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "minusin_slot1_pin_b") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "3" (net "plusin_slot1_pin3_a") (pintype "BIDIR") (gategroup "") (pingroup "") (label "3") (gate "") ) ) ) (layers (layer "Copper Bottom" (routable "1") (type "Signal") ) (layer "Copper Top" (routable "1") (type "Signal") ) ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/ewnet/TwoStageAmp_Include-output.net0000664000175000017500000003756512063576065025166 00000000000000(ToolInfo (netlist "ULTIboard" 7 0 0) (tool "Multisim" 7 0 0) (timestamp "15:19:8" "9-6-2006") (version 3 0 0) (gateswap 2) (pinswap 1) (crossprobe {D6EE9C01-C93E-4246-9BC1-214A35C4954C}) (units Mil) ) (nets ( net "unnamed_net2" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "Vbase2" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "Vem2" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "Vout" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "VColl2" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "GND" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "Vcc" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "Vin" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net1" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "Vbase1" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "Vem1" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "Vcoll1" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ) (components (instance "unknown" "C2" (device "CAPACITOR") (value "2.2uF") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "Vbase2") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net2") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "unknown" "R4" (device "RESISTOR") (value "2.8K") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "Vbase2") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "R3" (device "RESISTOR") (value "28K") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "Vbase2") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "Vcc") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "R8" (device "RESISTOR") (value "1") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "Vcoll1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net2") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "CE2" (device "CAPACITOR") (value "1pF") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "Vem2") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "unknown" "RE2" (device "RESISTOR") (value "100") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "Vem2") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "RC1" (device "RESISTOR") (value "3.3K") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "Vcoll1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "Vcc") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "Q2" (device "NPN_TRANSISTOR") (value "NPN_TRANSISTOR") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "Vbase2") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "Vem2") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "3" (net "VColl2") (pintype "BIDIR") (gategroup "") (pingroup "") (label "3") (gate "") ) ) (instance "unknown" "C1" (device "CAPACITOR") (value "2.2uF") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "Vbase1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "unknown" "A3" (device "directive") (value ".options TEMP=25") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") ) (instance "unknown" "A2" (device "include") (value "include") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") ) (instance "unknown" "A1" (device "model") (value "model") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") ) (instance "none" "VCC" (device "VOLTAGE_SOURCE") (value "DC 15V") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "Vcc") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "none" "Vinput" (device "vsin") (value "DC 1.6V AC 10MV SIN(0 1MV 1KHZ)") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "Vin") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "unknown" "CE1" (device "CAPACITOR") (value "1pF") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "Vem1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "unknown" "Cout" (device "CAPACITOR") (value "2.2uF") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "Vout") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "VColl2") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "unknown" "RL" (device "RESISTOR") (value "100K") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "Vout") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "RC2" (device "RESISTOR") (value "1K") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "VColl2") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "Vcc") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "RE1" (device "RESISTOR") (value "100") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "Vem1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "R2" (device "RESISTOR") (value "2K") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "Vbase1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "R1" (device "RESISTOR") (value "28K") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "Vbase1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "Vcc") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "R5" (device "RESISTOR") (value "10") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "Vin") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "Q1" (device "NPN_TRANSISTOR") (value "NPN_TRANSISTOR") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "Vbase1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "Vem1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "3" (net "Vcoll1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "3") (gate "") ) ) ) (layers (layer "Copper Bottom" (routable "1") (type "Signal") ) (layer "Copper Top" (routable "1") (type "Signal") ) ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/ewnet/singlenet.retcode0000664000175000017500000000000212063576065022571 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/ewnet/JD_Include.retcode0000664000175000017500000000000212063576065022541 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/ewnet/powersupply-output.net0000664000175000017500000002675412063576065023737 00000000000000(ToolInfo (netlist "ULTIboard" 7 0 0) (tool "Multisim" 7 0 0) (timestamp "15:19:8" "9-6-2006") (version 3 0 0) (gateswap 2) (pinswap 1) (crossprobe {D6EE9C01-C93E-4246-9BC1-214A35C4954C}) (units Mil) ) (nets ( net "ten" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "eleven" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "GND" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "one" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "five" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "three" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "two" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "six" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "seven" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "nine" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "eight" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ) (components (instance "unknown" "U2" (device "LM317") (value "LM317") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "ten") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "3" (net "eight") (pintype "BIDIR") (gategroup "") (pingroup "") (label "3") (gate "") ) (pin "2" (net "eleven") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "C4" (device "POLARIZED_CAPACITOR") (value "1uf") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "nine") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "eleven") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "unknown" "C3" (device "POLARIZED_CAPACITOR") (value "22uF") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "nine") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "ten") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "unknown" "R1" (device "VARIABLE_RESISTOR") (value "5k") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "nine") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "ten") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "3" (net "nine") (pintype "BIDIR") (gategroup "") (pingroup "") (label "3") (gate "") ) ) (instance "unknown" "C2" (device "POLARIZED_CAPACITOR") (value "0.1uF") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "nine") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "eight") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "unknown" "R2" (device "RESISTOR") (value "220") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "ten") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "eleven") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "C1" (device "POLARIZED_CAPACITOR") (value "2200uF") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "nine") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "eight") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "unknown" "S1" (device "SPST") (value "SPST") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "one") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "two") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "CONN1" (device "MAINS_CONNECTOR") (value "MAINS_CONNECTOR") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "3" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "3") (gate "") ) (pin "2" (net "five") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "one") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "unknown" "T1" (device "transformer") (value "transformer") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "3" (net "six") (pintype "BIDIR") (gategroup "") (pingroup "") (label "3") (gate "") ) (pin "4" (net "seven") (pintype "BIDIR") (gategroup "") (pingroup "") (label "4") (gate "") ) (pin "1" (net "three") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "five") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "F1" (device "FUSE") (value "FUSE") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "three") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "two") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "unknown" "U1" (device "DIODE-BRIDGE") (value "DIODE-BRIDGE") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "4" (net "six") (pintype "BIDIR") (gategroup "") (pingroup "") (label "4") (gate "") ) (pin "3" (net "seven") (pintype "BIDIR") (gategroup "") (pingroup "") (label "3") (gate "") ) (pin "2" (net "nine") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "eight") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) ) (layers (layer "Copper Bottom" (routable "1") (type "Signal") ) (layer "Copper Top" (routable "1") (type "Signal") ) ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/ewnet/netattrib-output.net0000664000175000017500000001243012063576065023304 00000000000000(ToolInfo (netlist "ULTIboard" 7 0 0) (tool "Multisim" 7 0 0) (timestamp "15:19:8" "9-6-2006") (version 3 0 0) (gateswap 2) (pinswap 1) (crossprobe {D6EE9C01-C93E-4246-9BC1-214A35C4954C}) (units Mil) ) (nets ( net "unnamed_net1" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "netattrib" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "GND" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "Vcc" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "one" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ) (components (instance "unknown" "F1" (device "FUSE") (value "FUSE") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "#f") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "one") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "DIP14" "U300" (device "7404") (value "7404") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "unknown" (net "Vcc") (pintype "BIDIR") (gategroup "") (pingroup "") (label "14") (gate "") ) (pin "unknown" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "7") (gate "") ) (pin "2" (net "unnamed_net1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "one") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "DIP14" "U200" (device "7404") (value "7404") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "unknown" (net "Vcc") (pintype "BIDIR") (gategroup "") (pingroup "") (label "14") (gate "") ) (pin "unknown" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "7") (gate "") ) (pin "2" (net "netattrib") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "one") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "DIP14" "U100" (device "7400") (value "7400") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "unknown" (net "netattrib") (pintype "BIDIR") (gategroup "") (pingroup "") (label "5") (gate "") ) (pin "unknown" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "7") (gate "") ) (pin "unknown" (net "Vcc") (pintype "BIDIR") (gategroup "") (pingroup "") (label "14") (gate "") ) (pin "1" (net "#f") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "#f") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "3" (net "one") (pintype "BIDIR") (gategroup "") (pingroup "") (label "3") (gate "") ) ) ) (layers (layer "Copper Bottom" (routable "1") (type "Signal") ) (layer "Copper Top" (routable "1") (type "Signal") ) ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/ewnet/SlottedOpamps.retcode0000664000175000017500000000000212063576065023377 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/ewnet/JD.retcode0000664000175000017500000000000212063576065021076 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/ewnet/multiequal.retcode0000664000175000017500000000000212063576065022763 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/ewnet/JD_Sort_nomunge.retcode0000664000175000017500000000000212063576065023635 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/ewnet/TwoStageAmp-output.net0000664000175000017500000003756512063576065023523 00000000000000(ToolInfo (netlist "ULTIboard" 7 0 0) (tool "Multisim" 7 0 0) (timestamp "15:19:8" "9-6-2006") (version 3 0 0) (gateswap 2) (pinswap 1) (crossprobe {D6EE9C01-C93E-4246-9BC1-214A35C4954C}) (units Mil) ) (nets ( net "unnamed_net2" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "Vbase2" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "Vem2" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "Vout" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "VColl2" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "GND" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "Vcc" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "Vin" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "unnamed_net1" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "Vbase1" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "Vem1" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ( net "Vcoll1" (trackwidth "-1.00000000e+000") (trackwidth_max "-1.00000000e+000") (trackwidth_min "-1.00000000e+000") (tracklength_max "-1.00000000e+000") (tracklength_min "-1.00000000e+000") (clearance_to_trace "-1.00000000e+000") (clearance_to_pad "-1.00000000e+000") (clearance_to_via "-1.00000000e+000") (clearance_to_copper "-1.00000000e+000") (routing_layer "") (settings_locked "0") (net_group "") ) ) (components (instance "unknown" "C2" (device "CAPACITOR") (value "2.2uF") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "Vbase2") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net2") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "unknown" "R4" (device "RESISTOR") (value "2.8K") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "Vbase2") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "R3" (device "RESISTOR") (value "28K") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "Vbase2") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "Vcc") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "R8" (device "RESISTOR") (value "1") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "Vcoll1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net2") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "CE2" (device "CAPACITOR") (value "1pF") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "Vem2") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "unknown" "RE2" (device "RESISTOR") (value "100") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "Vem2") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "RC1" (device "RESISTOR") (value "3.3K") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "Vcoll1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "Vcc") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "Q2" (device "NPN_TRANSISTOR") (value "NPN_TRANSISTOR") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "Vbase2") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "Vem2") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "3" (net "VColl2") (pintype "BIDIR") (gategroup "") (pingroup "") (label "3") (gate "") ) ) (instance "unknown" "C1" (device "CAPACITOR") (value "2.2uF") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "Vbase1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "unnamed_net1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "unknown" "A3" (device "directive") (value ".options TEMP=25") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") ) (instance "unknown" "A2" (device "include") (value "include") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") ) (instance "unknown" "A1" (device "model") (value "model") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") ) (instance "none" "VCC" (device "VOLTAGE_SOURCE") (value "DC 15V") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "Vcc") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "none" "Vinput" (device "vsin") (value "DC 1.6V AC 10MV SIN(0 1MV 1KHZ)") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "Vin") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "unknown" "CE1" (device "CAPACITOR") (value "1pF") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "Vem1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "unknown" "Cout" (device "CAPACITOR") (value "2.2uF") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "Vout") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "VColl2") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) ) (instance "unknown" "RL" (device "RESISTOR") (value "100K") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "Vout") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "RC2" (device "RESISTOR") (value "1K") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "VColl2") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "Vcc") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "RE1" (device "RESISTOR") (value "100") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "Vem1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "R2" (device "RESISTOR") (value "2K") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "GND") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "Vbase1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "R1" (device "RESISTOR") (value "28K") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "Vbase1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "Vcc") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "R5" (device "RESISTOR") (value "10") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "1" (net "Vin") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "2" (net "unnamed_net1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) ) (instance "unknown" "Q1" (device "NPN_TRANSISTOR") (value "NPN_TRANSISTOR") (gateswap "0") (pinswap "0") (component_space "0.00000000e+000") (component_group "") (settings_locked "0") (comp_variants "Default1;") (comp_variant_independent "0") (pin "2" (net "Vbase1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "2") (gate "") ) (pin "1" (net "Vem1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "1") (gate "") ) (pin "3" (net "Vcoll1") (pintype "BIDIR") (gategroup "") (pingroup "") (label "3") (gate "") ) ) ) (layers (layer "Copper Bottom" (routable "1") (type "Signal") ) (layer "Copper Top" (routable "1") (type "Signal") ) ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/ewnet/JD_Include_nomunge.retcode0000664000175000017500000000000212063576065024271 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/pcbpins/0000775000175000017500000000000012220655757017637 500000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/pcbpins/JD_Include_nomunge-output.net0000664000175000017500000000167012050461155025305 00000000000000# Pin name action command file # Start of element A1 # Start of element Cm ChangePinName(Cm, 2, 2) ChangePinName(Cm, 1, 1) # Start of element Cp ChangePinName(Cp, 2, 2) ChangePinName(Cp, 1, 1) # Start of element Rlp ChangePinName(Rlp, 1, 1) ChangePinName(Rlp, 2, 2) # Start of element Rlm ChangePinName(Rlm, 1, 1) ChangePinName(Rlm, 2, 2) # Start of element Vdd ChangePinName(Vdd, 2, -) ChangePinName(Vdd, 1, +) # Start of element V1 ChangePinName(V1, 2, -) ChangePinName(V1, 1, +) # Start of element Rt ChangePinName(Rt, 1, 1) ChangePinName(Rt, 2, 2) # Start of element Rb ChangePinName(Rb, 1, 1) ChangePinName(Rb, 2, 2) # Start of element M1 ChangePinName(M1, G, G) ChangePinName(M1, D, D) ChangePinName(M1, B, B) ChangePinName(M1, S, S) # Start of element X1 ChangePinName(X1, 7, Vss) ChangePinName(X1, 6, Vdd1) ChangePinName(X1, 2, DGND) ChangePinName(X1, 3, VH) ChangePinName(X1, 1, D) ChangePinName(X1, 5, Y1) ChangePinName(X1, 4, Y0) geda-gaf-1.8.2/gnetlist/tests/common/outputs/pcbpins/JD-output.net0000664000175000017500000000167012050461155022112 00000000000000# Pin name action command file # Start of element A1 # Start of element Cm ChangePinName(Cm, 2, 2) ChangePinName(Cm, 1, 1) # Start of element Cp ChangePinName(Cp, 2, 2) ChangePinName(Cp, 1, 1) # Start of element Rlp ChangePinName(Rlp, 1, 1) ChangePinName(Rlp, 2, 2) # Start of element Rlm ChangePinName(Rlm, 1, 1) ChangePinName(Rlm, 2, 2) # Start of element Vdd ChangePinName(Vdd, 2, -) ChangePinName(Vdd, 1, +) # Start of element V1 ChangePinName(V1, 2, -) ChangePinName(V1, 1, +) # Start of element Rt ChangePinName(Rt, 1, 1) ChangePinName(Rt, 2, 2) # Start of element Rb ChangePinName(Rb, 1, 1) ChangePinName(Rb, 2, 2) # Start of element M1 ChangePinName(M1, G, G) ChangePinName(M1, D, D) ChangePinName(M1, B, B) ChangePinName(M1, S, S) # Start of element X1 ChangePinName(X1, 7, Vss) ChangePinName(X1, 6, Vdd1) ChangePinName(X1, 2, DGND) ChangePinName(X1, 3, VH) ChangePinName(X1, 1, D) ChangePinName(X1, 5, Y1) ChangePinName(X1, 4, Y0) geda-gaf-1.8.2/gnetlist/tests/common/outputs/pcbpins/TwoStageAmp.retcode0000664000175000017500000000000212050461155023275 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/pcbpins/stack-torture-output.net0000664000175000017500000014006612063576065024442 00000000000000# Pin name action command file # Start of element C? ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) ChangePinName(C?, 2, 2) ChangePinName(C?, 1, 1) geda-gaf-1.8.2/gnetlist/tests/common/outputs/pcbpins/JD_Sort.retcode0000664000175000017500000000000212050461155022406 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/pcbpins/cascade-output.net0000664000175000017500000000115512050461155023176 00000000000000# Pin name action command file # Start of element AMP2 ChangePinName(AMP2, 2, OUT) ChangePinName(AMP2, 1, IN) # Start of element T1 ChangePinName(T1, 2, 2) ChangePinName(T1, 1, 1) # Start of element MX1 ChangePinName(MX1, 2, OUT) ChangePinName(MX1, 1, IN) # Start of element FL1 ChangePinName(FL1, 2, O) ChangePinName(FL1, 1, I) # Start of element DEF1 ChangePinName(DEF1, 2, OUT) ChangePinName(DEF1, 1, IN) # Start of element AMP1 ChangePinName(AMP1, 2, OUT) ChangePinName(AMP1, 1, IN) # Start of element SOURCE ChangePinName(SOURCE, 1, OUT) # Start of element DEFAULTS ChangePinName(DEFAULTS, unknown, unknown) geda-gaf-1.8.2/gnetlist/tests/common/outputs/pcbpins/multiequal-output.net0000664000175000017500000000030412050461155023770 00000000000000# Pin name action command file # Start of element V1 ChangePinName(V1, 2, -) ChangePinName(V1, 1, +) # Start of element R1 ChangePinName(R1, 1, 1) ChangePinName(R1, 2, 2) # Start of element A1 geda-gaf-1.8.2/gnetlist/tests/common/outputs/pcbpins/JD_nomunge-output.net0000664000175000017500000000167012050461155023642 00000000000000# Pin name action command file # Start of element A1 # Start of element Cm ChangePinName(Cm, 2, 2) ChangePinName(Cm, 1, 1) # Start of element Cp ChangePinName(Cp, 2, 2) ChangePinName(Cp, 1, 1) # Start of element Rlp ChangePinName(Rlp, 1, 1) ChangePinName(Rlp, 2, 2) # Start of element Rlm ChangePinName(Rlm, 1, 1) ChangePinName(Rlm, 2, 2) # Start of element Vdd ChangePinName(Vdd, 2, -) ChangePinName(Vdd, 1, +) # Start of element V1 ChangePinName(V1, 2, -) ChangePinName(V1, 1, +) # Start of element Rt ChangePinName(Rt, 1, 1) ChangePinName(Rt, 2, 2) # Start of element Rb ChangePinName(Rb, 1, 1) ChangePinName(Rb, 2, 2) # Start of element M1 ChangePinName(M1, G, G) ChangePinName(M1, D, D) ChangePinName(M1, B, B) ChangePinName(M1, S, S) # Start of element X1 ChangePinName(X1, 7, Vss) ChangePinName(X1, 6, Vdd1) ChangePinName(X1, 2, DGND) ChangePinName(X1, 3, VH) ChangePinName(X1, 1, D) ChangePinName(X1, 5, Y1) ChangePinName(X1, 4, Y0) geda-gaf-1.8.2/gnetlist/tests/common/outputs/pcbpins/stack-torture.retcode0000664000175000017500000000000212063576065023724 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/pcbpins/powersupply.retcode0000664000175000017500000000000212050461155023513 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/pcbpins/JD_Sort_nomunge-output.net0000664000175000017500000000167012050461155024651 00000000000000# Pin name action command file # Start of element A1 # Start of element Cm ChangePinName(Cm, 2, 2) ChangePinName(Cm, 1, 1) # Start of element Cp ChangePinName(Cp, 2, 2) ChangePinName(Cp, 1, 1) # Start of element Rlp ChangePinName(Rlp, 1, 1) ChangePinName(Rlp, 2, 2) # Start of element Rlm ChangePinName(Rlm, 1, 1) ChangePinName(Rlm, 2, 2) # Start of element Vdd ChangePinName(Vdd, 2, -) ChangePinName(Vdd, 1, +) # Start of element V1 ChangePinName(V1, 2, -) ChangePinName(V1, 1, +) # Start of element Rt ChangePinName(Rt, 1, 1) ChangePinName(Rt, 2, 2) # Start of element Rb ChangePinName(Rb, 1, 1) ChangePinName(Rb, 2, 2) # Start of element M1 ChangePinName(M1, G, G) ChangePinName(M1, D, D) ChangePinName(M1, B, B) ChangePinName(M1, S, S) # Start of element X1 ChangePinName(X1, 7, Vss) ChangePinName(X1, 6, Vdd1) ChangePinName(X1, 2, DGND) ChangePinName(X1, 3, VH) ChangePinName(X1, 1, D) ChangePinName(X1, 5, Y1) ChangePinName(X1, 4, Y0) geda-gaf-1.8.2/gnetlist/tests/common/outputs/pcbpins/TwoStageAmp_Sort.retcode0000664000175000017500000000000212050461155024304 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/pcbpins/netattrib.retcode0000664000175000017500000000000212050461155023076 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/pcbpins/JD_nomunge.retcode0000664000175000017500000000000212050461155023127 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/pcbpins/JD_Include-output.net0000664000175000017500000000167012050461155023555 00000000000000# Pin name action command file # Start of element A1 # Start of element Cm ChangePinName(Cm, 2, 2) ChangePinName(Cm, 1, 1) # Start of element Cp ChangePinName(Cp, 2, 2) ChangePinName(Cp, 1, 1) # Start of element Rlp ChangePinName(Rlp, 1, 1) ChangePinName(Rlp, 2, 2) # Start of element Rlm ChangePinName(Rlm, 1, 1) ChangePinName(Rlm, 2, 2) # Start of element Vdd ChangePinName(Vdd, 2, -) ChangePinName(Vdd, 1, +) # Start of element V1 ChangePinName(V1, 2, -) ChangePinName(V1, 1, +) # Start of element Rt ChangePinName(Rt, 1, 1) ChangePinName(Rt, 2, 2) # Start of element Rb ChangePinName(Rb, 1, 1) ChangePinName(Rb, 2, 2) # Start of element M1 ChangePinName(M1, G, G) ChangePinName(M1, D, D) ChangePinName(M1, B, B) ChangePinName(M1, S, S) # Start of element X1 ChangePinName(X1, 7, Vss) ChangePinName(X1, 6, Vdd1) ChangePinName(X1, 2, DGND) ChangePinName(X1, 3, VH) ChangePinName(X1, 1, D) ChangePinName(X1, 5, Y1) ChangePinName(X1, 4, Y0) geda-gaf-1.8.2/gnetlist/tests/common/outputs/pcbpins/JD_Sort-output.net0000664000175000017500000000167012050461155023121 00000000000000# Pin name action command file # Start of element A1 # Start of element Cm ChangePinName(Cm, 2, 2) ChangePinName(Cm, 1, 1) # Start of element Cp ChangePinName(Cp, 2, 2) ChangePinName(Cp, 1, 1) # Start of element Rlp ChangePinName(Rlp, 1, 1) ChangePinName(Rlp, 2, 2) # Start of element Rlm ChangePinName(Rlm, 1, 1) ChangePinName(Rlm, 2, 2) # Start of element Vdd ChangePinName(Vdd, 2, -) ChangePinName(Vdd, 1, +) # Start of element V1 ChangePinName(V1, 2, -) ChangePinName(V1, 1, +) # Start of element Rt ChangePinName(Rt, 1, 1) ChangePinName(Rt, 2, 2) # Start of element Rb ChangePinName(Rb, 1, 1) ChangePinName(Rb, 2, 2) # Start of element M1 ChangePinName(M1, G, G) ChangePinName(M1, D, D) ChangePinName(M1, B, B) ChangePinName(M1, S, S) # Start of element X1 ChangePinName(X1, 7, Vss) ChangePinName(X1, 6, Vdd1) ChangePinName(X1, 2, DGND) ChangePinName(X1, 3, VH) ChangePinName(X1, 1, D) ChangePinName(X1, 5, Y1) ChangePinName(X1, 4, Y0) geda-gaf-1.8.2/gnetlist/tests/common/outputs/pcbpins/cascade.retcode0000664000175000017500000000000212050461155022465 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/pcbpins/TwoStageAmp_Sort-output.net0000664000175000017500000000310712050461155025014 00000000000000# Pin name action command file # Start of element C2 ChangePinName(C2, 2, 2) ChangePinName(C2, 1, 1) # Start of element R4 ChangePinName(R4, 1, 1) ChangePinName(R4, 2, 2) # Start of element R3 ChangePinName(R3, 1, 1) ChangePinName(R3, 2, 2) # Start of element R8 ChangePinName(R8, 1, 1) ChangePinName(R8, 2, 2) # Start of element CE2 ChangePinName(CE2, 2, 2) ChangePinName(CE2, 1, 1) # Start of element RE2 ChangePinName(RE2, 1, 1) ChangePinName(RE2, 2, 2) # Start of element RC1 ChangePinName(RC1, 1, 1) ChangePinName(RC1, 2, 2) # Start of element Q2 ChangePinName(Q2, 2, 2) ChangePinName(Q2, 1, 1) ChangePinName(Q2, 3, 3) # Start of element C1 ChangePinName(C1, 2, 2) ChangePinName(C1, 1, 1) # Start of element A3 # Start of element A2 # Start of element A1 # Start of element VCC ChangePinName(VCC, 2, -) ChangePinName(VCC, 1, +) # Start of element Vinput ChangePinName(Vinput, 2, -) ChangePinName(Vinput, 1, +) # Start of element CE1 ChangePinName(CE1, 2, 2) ChangePinName(CE1, 1, 1) # Start of element Cout ChangePinName(Cout, 2, 2) ChangePinName(Cout, 1, 1) # Start of element RL ChangePinName(RL, 1, 1) ChangePinName(RL, 2, 2) # Start of element RC2 ChangePinName(RC2, 1, 1) ChangePinName(RC2, 2, 2) # Start of element RE1 ChangePinName(RE1, 1, 1) ChangePinName(RE1, 2, 2) # Start of element R2 ChangePinName(R2, 1, 1) ChangePinName(R2, 2, 2) # Start of element R1 ChangePinName(R1, 1, 1) ChangePinName(R1, 2, 2) # Start of element R5 ChangePinName(R5, 1, 1) ChangePinName(R5, 2, 2) # Start of element Q1 ChangePinName(Q1, 2, 2) ChangePinName(Q1, 1, 1) ChangePinName(Q1, 3, 3) geda-gaf-1.8.2/gnetlist/tests/common/outputs/pcbpins/singlenet-output.net0000664000175000017500000000100712050461155023577 00000000000000# Pin name action command file # Start of element U100 ChangePinName(U100, unknown, unknown) ChangePinName(U100, unknown, unknown) ChangePinName(U100, 9, A) ChangePinName(U100, 10, B) ChangePinName(U100, 8, Y) ChangePinName(U100, unknown, unknown) ChangePinName(U100, unknown, unknown) ChangePinName(U100, 1, A) ChangePinName(U100, 2, B) ChangePinName(U100, 3, Y) ChangePinName(U100, unknown, unknown) ChangePinName(U100, unknown, unknown) ChangePinName(U100, 4, A) ChangePinName(U100, 5, B) ChangePinName(U100, 6, Y) geda-gaf-1.8.2/gnetlist/tests/common/outputs/pcbpins/TwoStageAmp_Include.retcode0000664000175000017500000000000212050461155024740 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/pcbpins/SlottedOpamps-output.net0000664000175000017500000000053612050461155024413 00000000000000# Pin name action command file # Start of element U1 ChangePinName(U1, 14, 14) ChangePinName(U1, 13, 13) ChangePinName(U1, 12, 12) ChangePinName(U1, 8, 8) ChangePinName(U1, 9, 9) ChangePinName(U1, 10, 10) ChangePinName(U1, 7, 7) ChangePinName(U1, 6, 6) ChangePinName(U1, 5, 5) ChangePinName(U1, 1, 1) ChangePinName(U1, 2, 2) ChangePinName(U1, 3, 3) geda-gaf-1.8.2/gnetlist/tests/common/outputs/pcbpins/TwoStageAmp_Include-output.net0000664000175000017500000000310712050461155025450 00000000000000# Pin name action command file # Start of element C2 ChangePinName(C2, 2, 2) ChangePinName(C2, 1, 1) # Start of element R4 ChangePinName(R4, 1, 1) ChangePinName(R4, 2, 2) # Start of element R3 ChangePinName(R3, 1, 1) ChangePinName(R3, 2, 2) # Start of element R8 ChangePinName(R8, 1, 1) ChangePinName(R8, 2, 2) # Start of element CE2 ChangePinName(CE2, 2, 2) ChangePinName(CE2, 1, 1) # Start of element RE2 ChangePinName(RE2, 1, 1) ChangePinName(RE2, 2, 2) # Start of element RC1 ChangePinName(RC1, 1, 1) ChangePinName(RC1, 2, 2) # Start of element Q2 ChangePinName(Q2, 2, 2) ChangePinName(Q2, 1, 1) ChangePinName(Q2, 3, 3) # Start of element C1 ChangePinName(C1, 2, 2) ChangePinName(C1, 1, 1) # Start of element A3 # Start of element A2 # Start of element A1 # Start of element VCC ChangePinName(VCC, 2, -) ChangePinName(VCC, 1, +) # Start of element Vinput ChangePinName(Vinput, 2, -) ChangePinName(Vinput, 1, +) # Start of element CE1 ChangePinName(CE1, 2, 2) ChangePinName(CE1, 1, 1) # Start of element Cout ChangePinName(Cout, 2, 2) ChangePinName(Cout, 1, 1) # Start of element RL ChangePinName(RL, 1, 1) ChangePinName(RL, 2, 2) # Start of element RC2 ChangePinName(RC2, 1, 1) ChangePinName(RC2, 2, 2) # Start of element RE1 ChangePinName(RE1, 1, 1) ChangePinName(RE1, 2, 2) # Start of element R2 ChangePinName(R2, 1, 1) ChangePinName(R2, 2, 2) # Start of element R1 ChangePinName(R1, 1, 1) ChangePinName(R1, 2, 2) # Start of element R5 ChangePinName(R5, 1, 1) ChangePinName(R5, 2, 2) # Start of element Q1 ChangePinName(Q1, 2, 2) ChangePinName(Q1, 1, 1) ChangePinName(Q1, 3, 3) geda-gaf-1.8.2/gnetlist/tests/common/outputs/pcbpins/singlenet.retcode0000664000175000017500000000000212050461155023072 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/pcbpins/JD_Include.retcode0000664000175000017500000000000212050461155023042 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/pcbpins/powersupply-output.net0000664000175000017500000000206112050461155024221 00000000000000# Pin name action command file # Start of element U2 ChangePinName(U2, 1, Adjust) ChangePinName(U2, 3, Vin) ChangePinName(U2, 2, Vout) # Start of element C4 ChangePinName(C4, 2, -) ChangePinName(C4, 1, +) # Start of element C3 ChangePinName(C3, 2, -) ChangePinName(C3, 1, +) # Start of element R1 ChangePinName(R1, 1, 1) ChangePinName(R1, 2, 2) ChangePinName(R1, 3, 3) # Start of element C2 ChangePinName(C2, 2, -) ChangePinName(C2, 1, +) # Start of element R2 ChangePinName(R2, 1, 1) ChangePinName(R2, 2, 2) # Start of element C1 ChangePinName(C1, 2, -) ChangePinName(C1, 1, +) # Start of element S1 ChangePinName(S1, 1, 1) ChangePinName(S1, 2, 2) # Start of element CONN1 ChangePinName(CONN1, 3, 3) ChangePinName(CONN1, 2, 2) ChangePinName(CONN1, 1, 1) # Start of element T1 ChangePinName(T1, 3, 3) ChangePinName(T1, 4, 4) ChangePinName(T1, 1, 1) ChangePinName(T1, 2, 2) # Start of element F1 ChangePinName(F1, 2, 2) ChangePinName(F1, 1, 1) # Start of element U1 ChangePinName(U1, 4, 4) ChangePinName(U1, 3, 3) ChangePinName(U1, 2, 2) ChangePinName(U1, 1, 1) geda-gaf-1.8.2/gnetlist/tests/common/outputs/pcbpins/netattrib-output.net0000664000175000017500000000116112050461155023604 00000000000000# Pin name action command file # Start of element F1 ChangePinName(F1, 2, 2) ChangePinName(F1, 1, 1) # Start of element U300 ChangePinName(U300, unknown, unknown) ChangePinName(U300, unknown, unknown) ChangePinName(U300, 2, Y) ChangePinName(U300, 1, A) # Start of element U200 ChangePinName(U200, unknown, unknown) ChangePinName(U200, unknown, unknown) ChangePinName(U200, 2, Y) ChangePinName(U200, 1, A) # Start of element U100 ChangePinName(U100, unknown, unknown) ChangePinName(U100, unknown, unknown) ChangePinName(U100, unknown, unknown) ChangePinName(U100, 1, A) ChangePinName(U100, 2, B) ChangePinName(U100, 3, Y) geda-gaf-1.8.2/gnetlist/tests/common/outputs/pcbpins/SlottedOpamps.retcode0000664000175000017500000000000212050461155023700 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/pcbpins/JD.retcode0000664000175000017500000000000212050461155021377 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/pcbpins/multiequal.retcode0000664000175000017500000000000212050461155023264 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/pcbpins/JD_Sort_nomunge.retcode0000664000175000017500000000000212050461155024136 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/pcbpins/TwoStageAmp-output.net0000664000175000017500000000310712050461155024005 00000000000000# Pin name action command file # Start of element C2 ChangePinName(C2, 2, 2) ChangePinName(C2, 1, 1) # Start of element R4 ChangePinName(R4, 1, 1) ChangePinName(R4, 2, 2) # Start of element R3 ChangePinName(R3, 1, 1) ChangePinName(R3, 2, 2) # Start of element R8 ChangePinName(R8, 1, 1) ChangePinName(R8, 2, 2) # Start of element CE2 ChangePinName(CE2, 2, 2) ChangePinName(CE2, 1, 1) # Start of element RE2 ChangePinName(RE2, 1, 1) ChangePinName(RE2, 2, 2) # Start of element RC1 ChangePinName(RC1, 1, 1) ChangePinName(RC1, 2, 2) # Start of element Q2 ChangePinName(Q2, 2, 2) ChangePinName(Q2, 1, 1) ChangePinName(Q2, 3, 3) # Start of element C1 ChangePinName(C1, 2, 2) ChangePinName(C1, 1, 1) # Start of element A3 # Start of element A2 # Start of element A1 # Start of element VCC ChangePinName(VCC, 2, -) ChangePinName(VCC, 1, +) # Start of element Vinput ChangePinName(Vinput, 2, -) ChangePinName(Vinput, 1, +) # Start of element CE1 ChangePinName(CE1, 2, 2) ChangePinName(CE1, 1, 1) # Start of element Cout ChangePinName(Cout, 2, 2) ChangePinName(Cout, 1, 1) # Start of element RL ChangePinName(RL, 1, 1) ChangePinName(RL, 2, 2) # Start of element RC2 ChangePinName(RC2, 1, 1) ChangePinName(RC2, 2, 2) # Start of element RE1 ChangePinName(RE1, 1, 1) ChangePinName(RE1, 2, 2) # Start of element R2 ChangePinName(R2, 1, 1) ChangePinName(R2, 2, 2) # Start of element R1 ChangePinName(R1, 1, 1) ChangePinName(R1, 2, 2) # Start of element R5 ChangePinName(R5, 1, 1) ChangePinName(R5, 2, 2) # Start of element Q1 ChangePinName(Q1, 2, 2) ChangePinName(Q1, 1, 1) ChangePinName(Q1, 3, 3) geda-gaf-1.8.2/gnetlist/tests/common/outputs/pcbpins/JD_Include_nomunge.retcode0000664000175000017500000000000212050461155024572 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice-sdb/0000775000175000017500000000000012220655757020052 500000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice-sdb/JD_Include_nomunge-output.net0000664000175000017500000000132512050461155025515 00000000000000* ../../../src/gnetlist -g spice-sdb -I -n LVDfoo.sch ********************************************************* * Spice file generated by gnetlist * * spice-sdb version 4.28.2007 by SDB -- * * provides advanced spice netlisting capability. * * Documentation at http://www.brorson.com/gEDA/SPICE/ * ********************************************************* .INCLUDE ./models/openIP_5.cir *============== Begin SPICE netlist of main design ============ Cm m 0 20p Cp p 0 20p Rlp p Vdd1 1meg Rlm m 0 500k Vdd Vdd1 0 DC 3.3V V1 i 0 pulse 3.3 0 1u 10p 10p 1.25u 2.5u Rt p m 1k Rb 0 LVH 5.6k M1 LVH LVH Vdd1 Vdd1 pch l=3u w=3u m=36 X1 i 0 LVH m p Vdd1 0 unknown_LVD .end geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice-sdb/JD-output.net0000664000175000017500000000153712050461155022327 00000000000000* ../../../src/gnetlist -g spice-sdb LVDfoo.sch ********************************************************* * Spice file generated by gnetlist * * spice-sdb version 4.28.2007 by SDB -- * * provides advanced spice netlisting capability. * * Documentation at http://www.brorson.com/gEDA/SPICE/ * ********************************************************* *vvvvvvvv Included SPICE model from ./models/openIP_5.cir vvvvvvvv * .model unknown_LVD (stuff) *^^^^^^^^ End of included SPICE model from ./models/openIP_5.cir ^^^^^^^^ * *============== Begin SPICE netlist of main design ============ Cm m 0 20p Cp p 0 20p Rlp p Vdd1 1meg Rlm m 0 500k Vdd Vdd1 0 DC 3.3V V1 i 0 pulse 3.3 0 1u 10p 10p 1.25u 2.5u Rt p m 1k Rb 0 LVH 5.6k M1 LVH LVH Vdd1 Vdd1 pch l=3u w=3u m=36 UX1 i 0 LVH m p Vdd1 0 unknown_LVD .end geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice-sdb/TwoStageAmp.retcode0000664000175000017500000000000212050461155023510 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice-sdb/stack-torture-output.net0000664000175000017500000000102012063576065024637 00000000000000* /usr/src/gaf/gnetlist/src/.libs/lt-gnetlist -g spice-sdb -o foo.bar inputs/stack-torture.sch ********************************************************* * Spice file generated by gnetlist * * spice-sdb version 4.28.2007 by SDB -- * * provides advanced spice netlisting capability. * * Documentation at http://www.brorson.com/gEDA/SPICE/ * ********************************************************* *============== Begin SPICE netlist of main design ============ C? 1024 1025 .end geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice-sdb/JD_Sort.retcode0000664000175000017500000000000212050461155022621 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice-sdb/cascade-output.net0000664000175000017500000000126512063576065023426 00000000000000* ../../../src/gnetlist -g spice-sdb cascade.sch ********************************************************* * Spice file generated by gnetlist * * spice-sdb version 4.28.2007 by SDB -- * * provides advanced spice netlisting capability. * * Documentation at http://www.brorson.com/gEDA/SPICE/ * ********************************************************* *============== Begin SPICE netlist of main design ============ AMP2 6 unconnected_pin-1 unknown T1 5 6 MX1 4 5 unknown FL1 3 4 DEF1 2 3 unknown AMP1 1 2 unknown SOURCE 1 DEFAULTS unknown .end geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice-sdb/multiequal-output.net0000664000175000017500000000100512050461155024202 00000000000000* ../../../src/gnetlist -g spice-sdb multiequal.sch ********************************************************* * Spice file generated by gnetlist * * spice-sdb version 4.28.2007 by SDB -- * * provides advanced spice netlisting capability. * * Documentation at http://www.brorson.com/gEDA/SPICE/ * ********************************************************* *============== Begin SPICE netlist of main design ============ V1 1 0 DC 1V R1 0 1 20 .OPTIONS abotol=1e-11 .end geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice-sdb/JD_nomunge-output.net0000664000175000017500000000154112050461155024052 00000000000000* ../../../src/gnetlist -g spice-sdb -n LVDfoo.sch ********************************************************* * Spice file generated by gnetlist * * spice-sdb version 4.28.2007 by SDB -- * * provides advanced spice netlisting capability. * * Documentation at http://www.brorson.com/gEDA/SPICE/ * ********************************************************* *vvvvvvvv Included SPICE model from ./models/openIP_5.cir vvvvvvvv * .model unknown_LVD (stuff) *^^^^^^^^ End of included SPICE model from ./models/openIP_5.cir ^^^^^^^^ * *============== Begin SPICE netlist of main design ============ Cm m 0 20p Cp p 0 20p Rlp p Vdd1 1meg Rlm m 0 500k Vdd Vdd1 0 DC 3.3V V1 i 0 pulse 3.3 0 1u 10p 10p 1.25u 2.5u Rt p m 1k Rb 0 LVH 5.6k M1 LVH LVH Vdd1 Vdd1 pch l=3u w=3u m=36 X1 i 0 LVH m p Vdd1 0 unknown_LVD .end geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice-sdb/stack-torture.retcode0000664000175000017500000000000212063576065024137 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice-sdb/powersupply.retcode0000664000175000017500000000000212050461155023726 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice-sdb/JD_Sort_nomunge-output.net0000664000175000017500000000154412050461155025064 00000000000000* ../../../src/gnetlist -g spice-sdb -s -n LVDfoo.sch ********************************************************* * Spice file generated by gnetlist * * spice-sdb version 4.28.2007 by SDB -- * * provides advanced spice netlisting capability. * * Documentation at http://www.brorson.com/gEDA/SPICE/ * ********************************************************* *vvvvvvvv Included SPICE model from ./models/openIP_5.cir vvvvvvvv * .model unknown_LVD (stuff) *^^^^^^^^ End of included SPICE model from ./models/openIP_5.cir ^^^^^^^^ * *============== Begin SPICE netlist of main design ============ Cm m 0 20p Cp p 0 20p M1 LVH LVH Vdd1 Vdd1 pch l=3u w=3u m=36 Rb 0 LVH 5.6k Rlm m 0 500k Rlp p Vdd1 1meg Rt p m 1k V1 i 0 pulse 3.3 0 1u 10p 10p 1.25u 2.5u Vdd Vdd1 0 DC 3.3V X1 i 0 LVH m p Vdd1 0 unknown_LVD .end geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice-sdb/TwoStageAmp_Sort.retcode0000664000175000017500000000000212050461155024517 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice-sdb/netattrib.retcode0000664000175000017500000000000212050461155023311 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice-sdb/JD_nomunge.retcode0000664000175000017500000000000212050461155023342 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice-sdb/JD_Include-output.net0000664000175000017500000000132312050461155023763 00000000000000* ../../../src/gnetlist -g spice-sdb -I LVDfoo.sch ********************************************************* * Spice file generated by gnetlist * * spice-sdb version 4.28.2007 by SDB -- * * provides advanced spice netlisting capability. * * Documentation at http://www.brorson.com/gEDA/SPICE/ * ********************************************************* .INCLUDE ./models/openIP_5.cir *============== Begin SPICE netlist of main design ============ Cm m 0 20p Cp p 0 20p Rlp p Vdd1 1meg Rlm m 0 500k Vdd Vdd1 0 DC 3.3V V1 i 0 pulse 3.3 0 1u 10p 10p 1.25u 2.5u Rt p m 1k Rb 0 LVH 5.6k M1 LVH LVH Vdd1 Vdd1 pch l=3u w=3u m=36 UX1 i 0 LVH m p Vdd1 0 unknown_LVD .end geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice-sdb/JD_Sort-output.net0000664000175000017500000000154212050461155023332 00000000000000* ../../../src/gnetlist -g spice-sdb -s LVDfoo.sch ********************************************************* * Spice file generated by gnetlist * * spice-sdb version 4.28.2007 by SDB -- * * provides advanced spice netlisting capability. * * Documentation at http://www.brorson.com/gEDA/SPICE/ * ********************************************************* *vvvvvvvv Included SPICE model from ./models/openIP_5.cir vvvvvvvv * .model unknown_LVD (stuff) *^^^^^^^^ End of included SPICE model from ./models/openIP_5.cir ^^^^^^^^ * *============== Begin SPICE netlist of main design ============ Cm m 0 20p Cp p 0 20p M1 LVH LVH Vdd1 Vdd1 pch l=3u w=3u m=36 Rb 0 LVH 5.6k Rlm m 0 500k Rlp p Vdd1 1meg Rt p m 1k V1 i 0 pulse 3.3 0 1u 10p 10p 1.25u 2.5u Vdd Vdd1 0 DC 3.3V UX1 i 0 LVH m p Vdd1 0 unknown_LVD .end geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice-sdb/cascade.retcode0000664000175000017500000000000212050461155022700 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice-sdb/TwoStageAmp_Sort-output.net0000664000175000017500000000225512050461155025232 00000000000000* ../../../src/gnetlist -g spice-sdb -s TwoStageAmp.sch ********************************************************* * Spice file generated by gnetlist * * spice-sdb version 4.28.2007 by SDB -- * * provides advanced spice netlisting capability. * * Documentation at http://www.brorson.com/gEDA/SPICE/ * ********************************************************* *vvvvvvvv Included SPICE model from ./models/2N3904.mod vvvvvvvv .model 2N3904 NPN(Stuff + More stuff + Yet more stuff + Final line of stuff) *^^^^^^^^ End of included SPICE model from ./models/2N3904.mod ^^^^^^^^ * *============== Begin SPICE netlist of main design ============ C1 1 Vbase1 2.2uF C2 2 Vbase2 2.2uF CE1 0 Vem1 1pF CE2 0 Vem2 1pF Cout VColl2 Vout 2.2uF Q1 Vcoll1 Vbase1 Vem1 2N3904 Q2 VColl2 Vbase2 Vem2 2N3904 R1 Vbase1 Vcc 28K R2 0 Vbase1 2K R3 Vbase2 Vcc 28K R4 0 Vbase2 2.8K R5 Vin 1 10 R8 Vcoll1 2 1 RC1 Vcoll1 Vcc 3.3K RC2 VColl2 Vcc 1K RE1 0 Vem1 100 RE2 0 Vem2 100 RL 0 Vout 100K VCC Vcc 0 DC 15V Vinput Vin 0 DC 1.6V AC 10MV SIN(0 1MV 1KHZ) .INCLUDE Simulation.cmd .options TEMP=25 .end geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice-sdb/singlenet-output.net0000664000175000017500000000112012050461155024006 00000000000000* ../../../src/gnetlist -g spice-sdb singlenet.sch ********************************************************* * Spice file generated by gnetlist * * spice-sdb version 4.28.2007 by SDB -- * * provides advanced spice netlisting capability. * * Documentation at http://www.brorson.com/gEDA/SPICE/ * ********************************************************* *============== Begin SPICE netlist of main design ============ U100.3 SING_N SING_N SING_N unknown U100.1 SING_N_2 unconnected_pin-1 SING_N_2 unknown U100.2 SING_N SING_N SING_N unknown .end geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice-sdb/TwoStageAmp_Include.retcode0000664000175000017500000000000212050461155025153 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice-sdb/SlottedOpamps-output.net0000664000175000017500000000136612050461155024630 00000000000000* ../../../src/gnetlist -g spice-sdb SlottedOpamps.sch ********************************************************* * Spice file generated by gnetlist * * spice-sdb version 4.28.2007 by SDB -- * * provides advanced spice netlisting capability. * * Documentation at http://www.brorson.com/gEDA/SPICE/ * ********************************************************* *============== Begin SPICE netlist of main design ============ U1.4 samenet_output_c minusin_slot4_pin13_b plusin_slot4_pin12_a unknown U1.3 samenet_output_c minusin_slot3_pin_b plusin_slot3_pin10_a unknown U1.2 samenet_output_c minusin_slot2_pin6_b plusin_slot2_pin5_a unknown U1.1 samenet_output_c minusin_slot1_pin_b plusin_slot1_pin3_a unknown .end geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice-sdb/TwoStageAmp_Include-output.net0000664000175000017500000000170412050461155025664 00000000000000* ../../../src/gnetlist -g spice-sdb -I TwoStageAmp.sch ********************************************************* * Spice file generated by gnetlist * * spice-sdb version 4.28.2007 by SDB -- * * provides advanced spice netlisting capability. * * Documentation at http://www.brorson.com/gEDA/SPICE/ * ********************************************************* .INCLUDE ./models/2N3904.mod *============== Begin SPICE netlist of main design ============ C2 2 Vbase2 2.2uF R4 0 Vbase2 2.8K R3 Vbase2 Vcc 28K R8 Vcoll1 2 1 CE2 0 Vem2 1pF RE2 0 Vem2 100 RC1 Vcoll1 Vcc 3.3K Q2 VColl2 Vbase2 Vem2 2N3904 C1 1 Vbase1 2.2uF .options TEMP=25 .INCLUDE Simulation.cmd VCC Vcc 0 DC 15V Vinput Vin 0 DC 1.6V AC 10MV SIN(0 1MV 1KHZ) CE1 0 Vem1 1pF Cout VColl2 Vout 2.2uF RL 0 Vout 100K RC2 VColl2 Vcc 1K RE1 0 Vem1 100 R2 0 Vbase1 2K R1 Vbase1 Vcc 28K R5 Vin 1 10 Q1 Vcoll1 Vbase1 Vem1 2N3904 .end geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice-sdb/singlenet.retcode0000664000175000017500000000000212050461155023305 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice-sdb/JD_Include.retcode0000664000175000017500000000000212050461155023255 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice-sdb/powersupply-output.net0000664000175000017500000000152512050461155024440 00000000000000* ../../../src/gnetlist -g spice-sdb powersupply.sch ********************************************************* * Spice file generated by gnetlist * * spice-sdb version 4.28.2007 by SDB -- * * provides advanced spice netlisting capability. * * Documentation at http://www.brorson.com/gEDA/SPICE/ * ********************************************************* *============== Begin SPICE netlist of main design ============ U2 ten eleven eight unknown C4 eleven nine 1uf C3 ten nine 22uF R1 nine ten nine 5k C2 eight nine 0.1uF R2 ten eleven 220 C1 eight nine 2200uF S1 one two CONN1 one five 0 T1 three five six seven F1 two three U1 eight nine seven six unknown .end geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice-sdb/netattrib-output.net0000664000175000017500000000116212050461155024020 00000000000000* ../../../src/gnetlist -g spice-sdb netattrib.sch ********************************************************* * Spice file generated by gnetlist * * spice-sdb version 4.28.2007 by SDB -- * * provides advanced spice netlisting capability. * * Documentation at http://www.brorson.com/gEDA/SPICE/ * ********************************************************* *============== Begin SPICE netlist of main design ============ F1 one unconnected_pin-3 U300 one 1 unknown U200 one netattrib unknown U100 unconnected_pin-2 unconnected_pin-1 one unknown .end geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice-sdb/SlottedOpamps.retcode0000664000175000017500000000000212050461155024113 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice-sdb/JD.retcode0000664000175000017500000000000212050461155021612 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice-sdb/multiequal.retcode0000664000175000017500000000000212050461155023477 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice-sdb/JD_Sort_nomunge.retcode0000664000175000017500000000000212050461155024351 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice-sdb/TwoStageAmp-output.net0000664000175000017500000000225212050461155024220 00000000000000* ../../../src/gnetlist -g spice-sdb TwoStageAmp.sch ********************************************************* * Spice file generated by gnetlist * * spice-sdb version 4.28.2007 by SDB -- * * provides advanced spice netlisting capability. * * Documentation at http://www.brorson.com/gEDA/SPICE/ * ********************************************************* *vvvvvvvv Included SPICE model from ./models/2N3904.mod vvvvvvvv .model 2N3904 NPN(Stuff + More stuff + Yet more stuff + Final line of stuff) *^^^^^^^^ End of included SPICE model from ./models/2N3904.mod ^^^^^^^^ * *============== Begin SPICE netlist of main design ============ C2 2 Vbase2 2.2uF R4 0 Vbase2 2.8K R3 Vbase2 Vcc 28K R8 Vcoll1 2 1 CE2 0 Vem2 1pF RE2 0 Vem2 100 RC1 Vcoll1 Vcc 3.3K Q2 VColl2 Vbase2 Vem2 2N3904 C1 1 Vbase1 2.2uF .options TEMP=25 .INCLUDE Simulation.cmd VCC Vcc 0 DC 15V Vinput Vin 0 DC 1.6V AC 10MV SIN(0 1MV 1KHZ) CE1 0 Vem1 1pF Cout VColl2 Vout 2.2uF RL 0 Vout 100K RC2 VColl2 Vcc 1K RE1 0 Vem1 100 R2 0 Vbase1 2K R1 Vbase1 Vcc 28K R5 Vin 1 10 Q1 Vcoll1 Vbase1 Vem1 2N3904 .end geda-gaf-1.8.2/gnetlist/tests/common/outputs/spice-sdb/JD_Include_nomunge.retcode0000664000175000017500000000000212050461155025005 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/allegro/0000775000175000017500000000000012220655756017625 500000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/allegro/JD_Include_nomunge-output.net0000664000175000017500000000104312050461155025266 00000000000000(Allegro netlister by M. Ettus) $PACKAGES ! model! model; A1 ! CAPACITOR! 20p; Cm ! CAPACITOR! 20p; Cp ! RESISTOR! 1meg; Rlp ! RESISTOR! 500k; Rlm none! VOLTAGE_SOURCE! DC 3.3V; Vdd none! vpulse! pulse 3.3 0 1u 10p 10p 1.25u 2.5u; V1 ! RESISTOR! 1k; Rt ! RESISTOR! 5.6k; Rb ! PMOS_TRANSISTOR! PMOS_TRANSISTOR; M1 ! LVD! LVD; X1 $NETS Vdd1; Rlp.2, M1.B, M1.S, Vdd.1, X1.6 GND; Cm.2, Cp.2, Rlm.2, Vdd.2, V1.2, Rb.1, X1.7, X1.2 LVH; Rb.2, M1.D, M1.G, X1.3 i; V1.1, X1.1 p; Cp.1, Rt.1, Rlp.1, X1.5 m; Cm.1, Rlm.1, Rt.2, X1.4 $END geda-gaf-1.8.2/gnetlist/tests/common/outputs/allegro/JD-output.net0000664000175000017500000000104312050461155022073 00000000000000(Allegro netlister by M. Ettus) $PACKAGES ! model! model; A1 ! CAPACITOR! 20p; Cm ! CAPACITOR! 20p; Cp ! RESISTOR! 1meg; Rlp ! RESISTOR! 500k; Rlm none! VOLTAGE_SOURCE! DC 3.3V; Vdd none! vpulse! pulse 3.3 0 1u 10p 10p 1.25u 2.5u; V1 ! RESISTOR! 1k; Rt ! RESISTOR! 5.6k; Rb ! PMOS_TRANSISTOR! PMOS_TRANSISTOR; M1 ! LVD! LVD; X1 $NETS Vdd1; Rlp.2, M1.B, M1.S, Vdd.1, X1.6 GND; Cm.2, Cp.2, Rlm.2, Vdd.2, V1.2, Rb.1, X1.7, X1.2 LVH; Rb.2, M1.D, M1.G, X1.3 i; V1.1, X1.1 p; Cp.1, Rt.1, Rlp.1, X1.5 m; Cm.1, Rlm.1, Rt.2, X1.4 $END geda-gaf-1.8.2/gnetlist/tests/common/outputs/allegro/TwoStageAmp.retcode0000664000175000017500000000000212050461155023264 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/allegro/stack-torture-output.net0000664000175000017500000006713212063576065024433 00000000000000(Allegro netlister by M. Ettus) $PACKAGES ! CAPACITOR! CAPACITOR; C? $NETS unnamed_net1025; C?.2 unnamed_net1024; C?.1, C?.2 unnamed_net1023; C?.1, C?.2 unnamed_net1022; C?.2 unnamed_net1021; C?.1, C?.2 unnamed_net1020; C?.2 unnamed_net1019; C?.1, C?.2 unnamed_net1018; C?.1, C?.2 unnamed_net1017; C?.1, C?.2 unnamed_net1016; C?.1, C?.2 unnamed_net1015; C?.1, C?.2 unnamed_net1014; C?.1, C?.2 unnamed_net1013; C?.1, C?.2 unnamed_net1012; C?.2 unnamed_net1011; C?.1, C?.2 unnamed_net1010; C?.1, C?.2 unnamed_net1009; C?.2 unnamed_net1008; C?.1, C?.2 unnamed_net1007; C?.1, C?.2 unnamed_net1006; C?.1, C?.2 unnamed_net1005; C?.1, C?.2 unnamed_net1004; C?.1, C?.2 unnamed_net1003; C?.1, C?.2 unnamed_net1002; C?.1, C?.2 unnamed_net1001; C?.1, C?.2 unnamed_net1000; C?.1, C?.2 unnamed_net999; C?.2 unnamed_net998; C?.1, C?.2 unnamed_net997; C?.1, C?.2 unnamed_net996; C?.1, C?.2 unnamed_net995; C?.1, C?.2 unnamed_net994; C?.1, C?.2 unnamed_net993; C?.1, C?.2 unnamed_net992; C?.2 unnamed_net991; C?.1, C?.2 unnamed_net990; C?.1, C?.2 unnamed_net989; C?.1, C?.2 unnamed_net988; C?.1, C?.2 unnamed_net987; C?.1, C?.2 unnamed_net986; C?.1, C?.2 unnamed_net985; C?.1, C?.2 unnamed_net984; C?.1, C?.2 unnamed_net983; C?.1, C?.2 unnamed_net982; C?.1, C?.2 unnamed_net981; C?.1, C?.2 unnamed_net980; C?.1, C?.2 unnamed_net979; C?.1, C?.2 unnamed_net978; C?.1, C?.2 unnamed_net977; C?.1, C?.2 unnamed_net976; C?.1, C?.2 unnamed_net975; C?.1, C?.2 unnamed_net974; C?.1, C?.2 unnamed_net973; C?.1, C?.2 unnamed_net972; C?.1, C?.2 unnamed_net971; C?.1, C?.2 unnamed_net970; C?.1, C?.2 unnamed_net969; C?.1, C?.2 unnamed_net968; C?.2 unnamed_net967; C?.1, C?.2 unnamed_net966; C?.1, C?.2 unnamed_net965; C?.2 unnamed_net964; C?.1, C?.2 unnamed_net963; C?.1, C?.2 unnamed_net962; C?.1, C?.2 unnamed_net961; C?.1, C?.2 unnamed_net960; C?.1, C?.2 unnamed_net959; C?.1, C?.2 unnamed_net958; C?.1, C?.2 unnamed_net957; C?.1, C?.2 unnamed_net956; C?.1, C?.2 unnamed_net955; C?.1, C?.2 unnamed_net954; C?.2 unnamed_net953; C?.1, C?.2 unnamed_net952; C?.1, C?.2 unnamed_net951; C?.2 unnamed_net950; C?.1, C?.2 unnamed_net949; C?.1, C?.2 unnamed_net948; C?.1, C?.2 unnamed_net947; C?.1, C?.2 unnamed_net946; C?.1, C?.2 unnamed_net945; C?.1, C?.2 unnamed_net944; C?.1, C?.2 unnamed_net943; C?.1, C?.2 unnamed_net942; C?.1, C?.2 unnamed_net941; C?.1, C?.2 unnamed_net940; C?.1, C?.2 unnamed_net939; C?.1, C?.2 unnamed_net938; C?.1, C?.2 unnamed_net937; C?.1, C?.2 unnamed_net936; C?.1, C?.2 unnamed_net935; C?.1, C?.2 unnamed_net934; C?.1, C?.2 unnamed_net933; C?.1, C?.2 unnamed_net932; C?.1, C?.2 unnamed_net931; C?.1, C?.2 unnamed_net930; C?.1, C?.2 unnamed_net929; C?.1, C?.2 unnamed_net928; C?.1, C?.2 unnamed_net927; C?.1, C?.2 unnamed_net926; C?.1, C?.2 unnamed_net925; C?.1, C?.2 unnamed_net924; C?.1, C?.2 unnamed_net923; C?.1, C?.2 unnamed_net922; C?.1, C?.2 unnamed_net921; C?.1, C?.2 unnamed_net920; C?.1, C?.2 unnamed_net919; C?.1, C?.2 unnamed_net918; C?.1, C?.2 unnamed_net917; C?.1, C?.2 unnamed_net916; C?.1, C?.2 unnamed_net915; C?.1, C?.2 unnamed_net914; C?.1, C?.2 unnamed_net913; C?.1, C?.2 unnamed_net912; C?.1, C?.2 unnamed_net911; C?.1, C?.2 unnamed_net910; C?.1, C?.2 unnamed_net909; C?.2 unnamed_net908; C?.1, C?.2 unnamed_net907; C?.1, C?.2 unnamed_net906; C?.1, C?.2 unnamed_net905; C?.1, C?.2 unnamed_net904; C?.1, C?.2 unnamed_net903; C?.1, C?.2 unnamed_net902; C?.2 unnamed_net901; C?.1, C?.2 unnamed_net900; C?.1, C?.2 unnamed_net899; C?.1, C?.2 unnamed_net898; C?.1, C?.2 unnamed_net897; C?.1, C?.2 unnamed_net896; C?.1, C?.2 unnamed_net895; C?.1, C?.2 unnamed_net894; C?.1, C?.2 unnamed_net893; C?.1, C?.2 unnamed_net892; C?.1, C?.2 unnamed_net891; C?.1, C?.2 unnamed_net890; C?.1, C?.2 unnamed_net889; C?.1, C?.2 unnamed_net888; C?.1, C?.2 unnamed_net887; C?.1, C?.2 unnamed_net886; C?.1, C?.2 unnamed_net885; C?.1, C?.2 unnamed_net884; C?.1, C?.2 unnamed_net883; C?.1, C?.2 unnamed_net882; C?.1, C?.2 unnamed_net881; C?.1, C?.2 unnamed_net880; C?.1, C?.2 unnamed_net879; C?.2 unnamed_net878; C?.1, C?.2 unnamed_net877; C?.1, C?.2 unnamed_net876; C?.1, C?.2 unnamed_net875; C?.1, C?.2 unnamed_net874; C?.1, C?.2 unnamed_net873; C?.1, C?.2 unnamed_net872; C?.2 unnamed_net871; C?.1, C?.2 unnamed_net870; C?.1, C?.2 unnamed_net869; C?.1, C?.2 unnamed_net868; C?.1, C?.2 unnamed_net867; C?.1, C?.2 unnamed_net866; C?.1, C?.2 unnamed_net865; C?.1, C?.2 unnamed_net864; C?.1, C?.2 unnamed_net863; C?.1, C?.2 unnamed_net862; C?.1, C?.2 unnamed_net861; C?.1, C?.2 unnamed_net860; C?.1, C?.2 unnamed_net859; C?.1, C?.2 unnamed_net858; C?.1, C?.2 unnamed_net857; C?.1, C?.2 unnamed_net856; C?.1, C?.2 unnamed_net855; C?.1, C?.2 unnamed_net854; C?.1, C?.2 unnamed_net853; C?.1, C?.2 unnamed_net852; C?.1, C?.2 unnamed_net851; C?.1, C?.2 unnamed_net850; C?.1, C?.2 unnamed_net849; C?.1, C?.2 unnamed_net848; C?.1, C?.2 unnamed_net847; C?.1, C?.2 unnamed_net846; C?.1, C?.2 unnamed_net845; C?.1, C?.2 unnamed_net844; C?.1, C?.2 unnamed_net843; C?.1, C?.2 unnamed_net842; C?.1, C?.2 unnamed_net841; C?.1, C?.2 unnamed_net840; C?.1, C?.2 unnamed_net839; C?.1, C?.2 unnamed_net838; C?.1, C?.2 unnamed_net837; C?.1, C?.2 unnamed_net836; C?.1, C?.2 unnamed_net835; C?.1, C?.2 unnamed_net834; C?.1, C?.2 unnamed_net833; C?.1, C?.2 unnamed_net832; C?.1, C?.2 unnamed_net831; C?.1, C?.2 unnamed_net830; C?.1, C?.2 unnamed_net829; C?.1, C?.2 unnamed_net828; C?.1, C?.2 unnamed_net827; C?.1, C?.2 unnamed_net826; C?.1, C?.2 unnamed_net825; C?.1, C?.2 unnamed_net824; C?.1, C?.2 unnamed_net823; C?.1, C?.2 unnamed_net822; C?.1, C?.2 unnamed_net821; C?.1, C?.2 unnamed_net820; C?.1, C?.2 unnamed_net819; C?.1, C?.2 unnamed_net818; C?.1, C?.2 unnamed_net817; C?.1, C?.2 unnamed_net816; C?.1, C?.2 unnamed_net815; C?.1, C?.2 unnamed_net814; C?.1, C?.2 unnamed_net813; C?.1, C?.2 unnamed_net812; C?.1, C?.2 unnamed_net811; C?.1, C?.2 unnamed_net810; C?.1, C?.2 unnamed_net809; C?.1, C?.2 unnamed_net808; C?.1, C?.2 unnamed_net807; C?.1, C?.2 unnamed_net806; C?.1, C?.2 unnamed_net805; C?.1, C?.2 unnamed_net804; C?.1, C?.2 unnamed_net803; C?.1, C?.2 unnamed_net802; C?.1, C?.2 unnamed_net801; C?.1, C?.2 unnamed_net800; C?.1, C?.2 unnamed_net799; C?.1, C?.2 unnamed_net798; C?.1, C?.2 unnamed_net797; C?.1, C?.2 unnamed_net796; C?.1, C?.2 unnamed_net795; C?.1, C?.2 unnamed_net794; C?.1, C?.2 unnamed_net793; C?.1, C?.2 unnamed_net792; C?.1, C?.2 unnamed_net791; C?.1, C?.2 unnamed_net790; C?.1, C?.2 unnamed_net789; C?.1, C?.2 unnamed_net788; C?.1, C?.2 unnamed_net787; C?.1, C?.2 unnamed_net786; C?.1, C?.2 unnamed_net785; C?.1, C?.2 unnamed_net784; C?.2 unnamed_net783; C?.1, C?.2 unnamed_net782; C?.1, C?.2 unnamed_net781; C?.2 unnamed_net780; C?.1, C?.2 unnamed_net779; C?.1, C?.2 unnamed_net778; C?.1, C?.2 unnamed_net777; C?.1, C?.2 unnamed_net776; C?.1, C?.2 unnamed_net775; C?.1, C?.2 unnamed_net774; C?.1, C?.2 unnamed_net773; C?.1, C?.2 unnamed_net772; C?.1, C?.2 unnamed_net771; C?.1, C?.2 unnamed_net770; C?.2 unnamed_net769; C?.1, C?.2 unnamed_net768; C?.1, C?.2 unnamed_net767; C?.2 unnamed_net766; C?.1, C?.2 unnamed_net765; C?.1, C?.2 unnamed_net764; C?.1, C?.2 unnamed_net763; C?.1, C?.2 unnamed_net762; C?.1, C?.2 unnamed_net761; C?.1, C?.2 unnamed_net760; C?.1, C?.2 unnamed_net759; C?.1, C?.2 unnamed_net758; C?.1, C?.2 unnamed_net757; C?.1, C?.2 unnamed_net756; C?.1, C?.2 unnamed_net755; C?.1, C?.2 unnamed_net754; C?.1, C?.2 unnamed_net753; C?.1, C?.2 unnamed_net752; C?.1, C?.2 unnamed_net751; C?.1, C?.2 unnamed_net750; C?.1, C?.2 unnamed_net749; C?.1, C?.2 unnamed_net748; C?.1, C?.2 unnamed_net747; C?.1, C?.2 unnamed_net746; C?.1, C?.2 unnamed_net745; C?.1, C?.2 unnamed_net744; C?.1, C?.2 unnamed_net743; C?.1, C?.2 unnamed_net742; C?.1, C?.2 unnamed_net741; C?.1, C?.2 unnamed_net740; C?.1, C?.2 unnamed_net739; C?.1, C?.2 unnamed_net738; C?.1, C?.2 unnamed_net737; C?.1, C?.2 unnamed_net736; C?.1, C?.2 unnamed_net735; C?.1, C?.2 unnamed_net734; C?.1, C?.2 unnamed_net733; C?.1, C?.2 unnamed_net732; C?.1, C?.2 unnamed_net731; C?.1, C?.2 unnamed_net730; C?.1, C?.2 unnamed_net729; C?.1, C?.2 unnamed_net728; C?.1, C?.2 unnamed_net727; C?.1, C?.2 unnamed_net726; C?.1, C?.2 unnamed_net725; C?.1, C?.2 unnamed_net724; C?.2 unnamed_net723; C?.1, C?.2 unnamed_net722; C?.1, C?.2 unnamed_net721; C?.2 unnamed_net720; C?.1, C?.2 unnamed_net719; C?.1, C?.2 unnamed_net718; C?.1, C?.2 unnamed_net717; C?.1, C?.2 unnamed_net716; C?.1, C?.2 unnamed_net715; C?.1, C?.2 unnamed_net714; C?.1, C?.2 unnamed_net713; C?.1, C?.2 unnamed_net712; C?.1, C?.2 unnamed_net711; C?.1, C?.2 unnamed_net710; C?.2 unnamed_net709; C?.1, C?.2 unnamed_net708; C?.1, C?.2 unnamed_net707; C?.2 unnamed_net706; C?.1 unnamed_net705; C?.1, C?.2 unnamed_net704; C?.1, C?.2 unnamed_net703; C?.1, C?.2 unnamed_net702; C?.1, C?.2 unnamed_net701; C?.1, C?.2 unnamed_net700; C?.1, C?.2 unnamed_net699; C?.1, C?.2 unnamed_net698; C?.1, C?.2 unnamed_net697; C?.1 unnamed_net696; C?.1, C?.2 unnamed_net695; C?.1, C?.2 unnamed_net694; C?.1, C?.2 unnamed_net693; C?.1, C?.2 unnamed_net692; C?.1, C?.2 unnamed_net691; C?.1, C?.2 unnamed_net690; C?.1, C?.2 unnamed_net689; C?.1, C?.2 unnamed_net688; C?.1, C?.2 unnamed_net687; C?.1, C?.2 unnamed_net686; C?.1, C?.2 unnamed_net685; C?.1, C?.2 unnamed_net684; C?.1, C?.2 unnamed_net683; C?.1, C?.2 unnamed_net682; C?.1, C?.2 unnamed_net681; C?.1, C?.2 unnamed_net680; C?.1, C?.2 unnamed_net679; C?.1, C?.2 unnamed_net678; C?.1, C?.2 unnamed_net677; C?.1, C?.2 unnamed_net676; C?.1, C?.2 unnamed_net675; C?.1, C?.2 unnamed_net674; C?.1, C?.2 unnamed_net673; C?.1, C?.2 unnamed_net672; C?.1 unnamed_net671; C?.1, C?.2 unnamed_net670; C?.1, C?.2 unnamed_net669; C?.1, C?.2 unnamed_net668; C?.1, C?.2 unnamed_net667; C?.1, C?.2 unnamed_net666; C?.1, C?.2 unnamed_net665; C?.1, C?.2 unnamed_net664; C?.1, C?.2 unnamed_net663; C?.1 unnamed_net662; C?.1, C?.2 unnamed_net661; C?.1, C?.2 unnamed_net660; C?.1, C?.2 unnamed_net659; C?.1, C?.2 unnamed_net658; C?.1, C?.2 unnamed_net657; C?.1, C?.2 unnamed_net656; C?.1, C?.2 unnamed_net655; C?.1, C?.2 unnamed_net654; C?.1, C?.2 unnamed_net653; C?.1, C?.2 unnamed_net652; C?.1, C?.2 unnamed_net651; C?.1, C?.2 unnamed_net650; C?.1, C?.2 unnamed_net649; C?.1, C?.2 unnamed_net648; C?.1, C?.2 unnamed_net647; C?.1, C?.2 unnamed_net646; C?.1, C?.2 unnamed_net645; C?.1, C?.2 unnamed_net644; C?.1, C?.2 unnamed_net643; C?.1, C?.2 unnamed_net642; C?.1, C?.2 unnamed_net641; C?.1, C?.2 unnamed_net640; C?.1, C?.2 unnamed_net639; C?.1, C?.2 unnamed_net638; C?.1, C?.2 unnamed_net637; C?.1, C?.2 unnamed_net636; C?.1, C?.2 unnamed_net635; C?.1, C?.2 unnamed_net634; C?.1, C?.2 unnamed_net633; C?.1, C?.2 unnamed_net632; C?.1, C?.2 unnamed_net631; C?.1, C?.2 unnamed_net630; C?.1, C?.2 unnamed_net629; C?.1, C?.2 unnamed_net628; C?.1, C?.2 unnamed_net627; C?.1, C?.2 unnamed_net626; C?.1, C?.2 unnamed_net625; C?.1, C?.2 unnamed_net624; C?.1, C?.2 unnamed_net623; C?.1, C?.2 unnamed_net622; C?.1, C?.2 unnamed_net621; C?.1, C?.2 unnamed_net620; C?.1, C?.2 unnamed_net619; C?.1, C?.2 unnamed_net618; C?.1, C?.2 unnamed_net617; C?.1, C?.2 unnamed_net616; C?.1, C?.2 unnamed_net615; C?.1, C?.2 unnamed_net614; C?.1, C?.2 unnamed_net613; C?.1, C?.2 unnamed_net612; C?.1, C?.2 unnamed_net611; C?.1, C?.2 unnamed_net610; C?.1, C?.2 unnamed_net609; C?.1, C?.2 unnamed_net608; C?.1, C?.2 unnamed_net607; C?.1, C?.2 unnamed_net606; C?.1, C?.2 unnamed_net605; C?.1, C?.2 unnamed_net604; C?.1, C?.2 unnamed_net603; C?.1, C?.2 unnamed_net602; C?.1, C?.2 unnamed_net601; C?.1, C?.2 unnamed_net600; C?.1, C?.2 unnamed_net599; C?.1, C?.2 unnamed_net598; C?.1, C?.2 unnamed_net597; C?.1, C?.2 unnamed_net596; C?.1, C?.2 unnamed_net595; C?.1, C?.2 unnamed_net594; C?.1, C?.2 unnamed_net593; C?.1, C?.2 unnamed_net592; C?.1, C?.2 unnamed_net591; C?.1, C?.2 unnamed_net590; C?.1, C?.2 unnamed_net589; C?.1, C?.2 unnamed_net588; C?.1, C?.2 unnamed_net587; C?.1, C?.2 unnamed_net586; C?.1, C?.2 unnamed_net585; C?.1, C?.2 unnamed_net584; C?.1, C?.2 unnamed_net583; C?.1, C?.2 unnamed_net582; C?.1, C?.2 unnamed_net581; C?.1, C?.2 unnamed_net580; C?.1, C?.2 unnamed_net579; C?.1, C?.2 unnamed_net578; C?.1, C?.2 unnamed_net577; C?.1, C?.2 unnamed_net576; C?.1, C?.2 unnamed_net575; C?.1, C?.2 unnamed_net574; C?.1 unnamed_net573; C?.1, C?.2 unnamed_net572; C?.1, C?.2 unnamed_net571; C?.1, C?.2 unnamed_net570; C?.1, C?.2 unnamed_net569; C?.1, C?.2 unnamed_net568; C?.1, C?.2 unnamed_net567; C?.1, C?.2 unnamed_net566; C?.1, C?.2 unnamed_net565; C?.1 unnamed_net564; C?.1, C?.2 unnamed_net563; C?.1, C?.2 unnamed_net562; C?.1, C?.2 unnamed_net561; C?.1, C?.2 unnamed_net560; C?.1, C?.2 unnamed_net559; C?.1, C?.2 unnamed_net558; C?.1, C?.2 unnamed_net557; C?.1, C?.2 unnamed_net556; C?.1, C?.2 unnamed_net555; C?.1, C?.2 unnamed_net554; C?.1, C?.2 unnamed_net553; C?.1, C?.2 unnamed_net552; C?.1, C?.2 unnamed_net551; C?.1, C?.2 unnamed_net550; C?.1, C?.2 unnamed_net549; C?.1, C?.2 unnamed_net548; C?.1, C?.2 unnamed_net547; C?.1, C?.2 unnamed_net546; C?.1, C?.2 unnamed_net545; C?.1, C?.2 unnamed_net544; C?.1, C?.2 unnamed_net543; C?.1, C?.2 unnamed_net542; C?.1, C?.2 unnamed_net541; C?.1, C?.2 unnamed_net540; C?.1 unnamed_net539; C?.1, C?.2 unnamed_net538; C?.1, C?.2 unnamed_net537; C?.1, C?.2 unnamed_net536; C?.1, C?.2 unnamed_net535; C?.1, C?.2 unnamed_net534; C?.1, C?.2 unnamed_net533; C?.1, C?.2 unnamed_net532; C?.1, C?.2 unnamed_net531; C?.1 unnamed_net530; C?.1, C?.2 unnamed_net529; C?.2 unnamed_net528; C?.1, C?.2 unnamed_net527; C?.1, C?.2 unnamed_net526; C?.1, C?.2 unnamed_net525; C?.1, C?.2 unnamed_net524; C?.1, C?.2 unnamed_net523; C?.1, C?.2 unnamed_net522; C?.2 unnamed_net521; C?.1, C?.2 unnamed_net520; C?.1, C?.2 unnamed_net519; C?.1, C?.2 unnamed_net518; C?.1, C?.2 unnamed_net517; C?.1, C?.2 unnamed_net516; C?.1, C?.2 unnamed_net515; C?.1, C?.2 unnamed_net514; C?.1, C?.2 unnamed_net513; C?.1, C?.2 unnamed_net512; C?.1, C?.2 unnamed_net511; C?.1, C?.2 unnamed_net510; C?.1, C?.2 unnamed_net509; C?.1, C?.2 unnamed_net508; C?.1, C?.2 unnamed_net507; C?.1, C?.2 unnamed_net506; C?.1, C?.2 unnamed_net505; C?.1, C?.2 unnamed_net504; C?.1, C?.2 unnamed_net503; C?.1, C?.2 unnamed_net502; C?.1, C?.2 unnamed_net501; C?.1, C?.2 unnamed_net500; C?.1, C?.2 unnamed_net499; C?.2 unnamed_net498; C?.1, C?.2 unnamed_net497; C?.1, C?.2 unnamed_net496; C?.1, C?.2 unnamed_net495; C?.1, C?.2 unnamed_net494; C?.1, C?.2 unnamed_net493; C?.1, C?.2 unnamed_net492; C?.2 unnamed_net491; C?.1, C?.2 unnamed_net490; C?.1, C?.2 unnamed_net489; C?.1, C?.2 unnamed_net488; C?.1, C?.2 unnamed_net487; C?.1, C?.2 unnamed_net486; C?.1, C?.2 unnamed_net485; C?.1, C?.2 unnamed_net484; C?.1, C?.2 unnamed_net483; C?.1, C?.2 unnamed_net482; C?.1, C?.2 unnamed_net481; C?.1, C?.2 unnamed_net480; C?.1, C?.2 unnamed_net479; C?.1, C?.2 unnamed_net478; C?.1, C?.2 unnamed_net477; C?.1, C?.2 unnamed_net476; C?.1, C?.2 unnamed_net475; C?.1, C?.2 unnamed_net474; C?.1, C?.2 unnamed_net473; C?.1, C?.2 unnamed_net472; C?.1, C?.2 unnamed_net471; C?.1, C?.2 unnamed_net470; C?.1, C?.2 unnamed_net469; C?.1, C?.2 unnamed_net468; C?.1, C?.2 unnamed_net467; C?.1, C?.2 unnamed_net466; C?.1, C?.2 unnamed_net465; C?.1, C?.2 unnamed_net464; C?.1, C?.2 unnamed_net463; C?.1, C?.2 unnamed_net462; C?.1, C?.2 unnamed_net461; C?.1, C?.2 unnamed_net460; C?.1, C?.2 unnamed_net459; C?.1, C?.2 unnamed_net458; C?.1, C?.2 unnamed_net457; C?.1, C?.2 unnamed_net456; C?.1, C?.2 unnamed_net455; C?.1, C?.2 unnamed_net454; C?.1, C?.2 unnamed_net453; C?.1, C?.2 unnamed_net452; C?.1, C?.2 unnamed_net451; C?.1, C?.2 unnamed_net450; C?.1, C?.2 unnamed_net449; C?.1, C?.2 unnamed_net448; C?.1, C?.2 unnamed_net447; C?.1, C?.2 unnamed_net446; C?.1, C?.2 unnamed_net445; C?.1, C?.2 unnamed_net444; C?.1, C?.2 unnamed_net443; C?.1, C?.2 unnamed_net442; C?.1, C?.2 unnamed_net441; C?.1, C?.2 unnamed_net440; C?.1, C?.2 unnamed_net439; C?.1, C?.2 unnamed_net438; C?.1, C?.2 unnamed_net437; C?.1, C?.2 unnamed_net436; C?.1, C?.2 unnamed_net435; C?.1, C?.2 unnamed_net434; C?.1, C?.2 unnamed_net433; C?.1, C?.2 unnamed_net432; C?.1, C?.2 unnamed_net431; C?.1, C?.2 unnamed_net430; C?.1, C?.2 unnamed_net429; C?.1, C?.2 unnamed_net428; C?.1, C?.2 unnamed_net427; C?.1, C?.2 unnamed_net426; C?.1, C?.2 unnamed_net425; C?.1, C?.2 unnamed_net424; C?.1, C?.2 unnamed_net423; C?.1, C?.2 unnamed_net422; C?.1, C?.2 unnamed_net421; C?.1, C?.2 unnamed_net420; C?.1, C?.2 unnamed_net419; C?.1, C?.2 unnamed_net418; C?.1, C?.2 unnamed_net417; C?.1, C?.2 unnamed_net416; C?.1, C?.2 unnamed_net415; C?.1, C?.2 unnamed_net414; C?.1, C?.2 unnamed_net413; C?.1, C?.2 unnamed_net412; C?.1, C?.2 unnamed_net411; C?.1, C?.2 unnamed_net410; C?.1, C?.2 unnamed_net409; C?.1, C?.2 unnamed_net408; C?.1, C?.2 unnamed_net407; C?.1, C?.2 unnamed_net406; C?.1, C?.2 unnamed_net405; C?.2 unnamed_net404; C?.1, C?.2 unnamed_net403; C?.1, C?.2 unnamed_net402; C?.1, C?.2 unnamed_net401; C?.1, C?.2 unnamed_net400; C?.1, C?.2 unnamed_net399; C?.1, C?.2 unnamed_net398; C?.2 unnamed_net397; C?.1, C?.2 unnamed_net396; C?.1, C?.2 unnamed_net395; C?.1, C?.2 unnamed_net394; C?.1, C?.2 unnamed_net393; C?.1, C?.2 unnamed_net392; C?.1, C?.2 unnamed_net391; C?.1, C?.2 unnamed_net390; C?.1, C?.2 unnamed_net389; C?.1, C?.2 unnamed_net388; C?.1, C?.2 unnamed_net387; C?.1, C?.2 unnamed_net386; C?.1, C?.2 unnamed_net385; C?.1, C?.2 unnamed_net384; C?.1, C?.2 unnamed_net383; C?.1, C?.2 unnamed_net382; C?.1, C?.2 unnamed_net381; C?.1, C?.2 unnamed_net380; C?.1, C?.2 unnamed_net379; C?.1, C?.2 unnamed_net378; C?.1, C?.2 unnamed_net377; C?.1, C?.2 unnamed_net376; C?.1, C?.2 unnamed_net375; C?.2 unnamed_net374; C?.1, C?.2 unnamed_net373; C?.1, C?.2 unnamed_net372; C?.1, C?.2 unnamed_net371; C?.1, C?.2 unnamed_net370; C?.1, C?.2 unnamed_net369; C?.1, C?.2 unnamed_net368; C?.2 unnamed_net367; C?.2 unnamed_net366; C?.1, C?.2 unnamed_net365; C?.1, C?.2 unnamed_net364; C?.1 unnamed_net363; C?.1, C?.2 unnamed_net362; C?.1, C?.2 unnamed_net361; C?.1, C?.2 unnamed_net360; C?.1, C?.2 unnamed_net359; C?.1 unnamed_net358; C?.1, C?.2 unnamed_net357; C?.1, C?.2 unnamed_net356; C?.1, C?.2 unnamed_net355; C?.1, C?.2 unnamed_net354; C?.1, C?.2 unnamed_net353; C?.1, C?.2 unnamed_net352; C?.1, C?.2 unnamed_net351; C?.1, C?.2 unnamed_net350; C?.1, C?.2 unnamed_net349; C?.1, C?.2 unnamed_net348; C?.1, C?.2 unnamed_net347; C?.1, C?.2 unnamed_net346; C?.1 unnamed_net345; C?.1, C?.2 unnamed_net344; C?.1, C?.2 unnamed_net343; C?.1, C?.2 unnamed_net342; C?.1, C?.2 unnamed_net341; C?.1 unnamed_net340; C?.1, C?.2 unnamed_net339; C?.1, C?.2 unnamed_net338; C?.1, C?.2 unnamed_net337; C?.1, C?.2 unnamed_net336; C?.1, C?.2 unnamed_net335; C?.1, C?.2 unnamed_net334; C?.1, C?.2 unnamed_net333; C?.1, C?.2 unnamed_net332; C?.1, C?.2 unnamed_net331; C?.1, C?.2 unnamed_net330; C?.1, C?.2 unnamed_net329; C?.1, C?.2 unnamed_net328; C?.1, C?.2 unnamed_net327; C?.1, C?.2 unnamed_net326; C?.1, C?.2 unnamed_net325; C?.1, C?.2 unnamed_net324; C?.1, C?.2 unnamed_net323; C?.1, C?.2 unnamed_net322; C?.1, C?.2 unnamed_net321; C?.1, C?.2 unnamed_net320; C?.1, C?.2 unnamed_net319; C?.1, C?.2 unnamed_net318; C?.1, C?.2 unnamed_net317; C?.1, C?.2 unnamed_net316; C?.1, C?.2 unnamed_net315; C?.1, C?.2 unnamed_net314; C?.1, C?.2 unnamed_net313; C?.1, C?.2 unnamed_net312; C?.1, C?.2 unnamed_net311; C?.1, C?.2 unnamed_net310; C?.1, C?.2 unnamed_net309; C?.1, C?.2 unnamed_net308; C?.1, C?.2 unnamed_net307; C?.1, C?.2 unnamed_net306; C?.1, C?.2 unnamed_net305; C?.1, C?.2 unnamed_net304; C?.1, C?.2 unnamed_net303; C?.1, C?.2 unnamed_net302; C?.1, C?.2 unnamed_net301; C?.1, C?.2 unnamed_net300; C?.1, C?.2 unnamed_net299; C?.1, C?.2 unnamed_net298; C?.1, C?.2 unnamed_net297; C?.1, C?.2 unnamed_net296; C?.1 unnamed_net295; C?.1, C?.2 unnamed_net294; C?.1, C?.2 unnamed_net293; C?.1, C?.2 unnamed_net292; C?.1, C?.2 unnamed_net291; C?.1 unnamed_net290; C?.1, C?.2 unnamed_net289; C?.1, C?.2 unnamed_net288; C?.1, C?.2 unnamed_net287; C?.1, C?.2 unnamed_net286; C?.1, C?.2 unnamed_net285; C?.1, C?.2 unnamed_net284; C?.1, C?.2 unnamed_net283; C?.1, C?.2 unnamed_net282; C?.1, C?.2 unnamed_net281; C?.1, C?.2 unnamed_net280; C?.1, C?.2 unnamed_net279; C?.1, C?.2 unnamed_net278; C?.1 unnamed_net277; C?.1, C?.2 unnamed_net276; C?.1, C?.2 unnamed_net275; C?.1, C?.2 unnamed_net274; C?.1, C?.2 unnamed_net273; C?.1 unnamed_net272; C?.1, C?.2 unnamed_net271; C?.1, C?.2 unnamed_net270; C?.1, C?.2 unnamed_net269; C?.1, C?.2 unnamed_net268; C?.1, C?.2 unnamed_net267; C?.1, C?.2 unnamed_net266; C?.1, C?.2 unnamed_net265; C?.1, C?.2 unnamed_net264; C?.1, C?.2 unnamed_net263; C?.1, C?.2 unnamed_net262; C?.1, C?.2 unnamed_net261; C?.1, C?.2 unnamed_net260; C?.1, C?.2 unnamed_net259; C?.1, C?.2 unnamed_net258; C?.1, C?.2 unnamed_net257; C?.1, C?.2 unnamed_net256; C?.1, C?.2 unnamed_net255; C?.1, C?.2 unnamed_net254; C?.1, C?.2 unnamed_net253; C?.1, C?.2 unnamed_net252; C?.1, C?.2 unnamed_net251; C?.1, C?.2 unnamed_net250; C?.1, C?.2 unnamed_net249; C?.1, C?.2 unnamed_net248; C?.1, C?.2 unnamed_net247; C?.1, C?.2 unnamed_net246; C?.1, C?.2 unnamed_net245; C?.1, C?.2 unnamed_net244; C?.1, C?.2 unnamed_net243; C?.1, C?.2 unnamed_net242; C?.1, C?.2 unnamed_net241; C?.1, C?.2 unnamed_net240; C?.1, C?.2 unnamed_net239; C?.1, C?.2 unnamed_net238; C?.1, C?.2 unnamed_net237; C?.1, C?.2 unnamed_net236; C?.1, C?.2 unnamed_net235; C?.1, C?.2 unnamed_net234; C?.1, C?.2 unnamed_net233; C?.1, C?.2 unnamed_net232; C?.1, C?.2 unnamed_net231; C?.1, C?.2 unnamed_net230; C?.1, C?.2 unnamed_net229; C?.1, C?.2 unnamed_net228; C?.1, C?.2 unnamed_net227; C?.1, C?.2 unnamed_net226; C?.1, C?.2 unnamed_net225; C?.1, C?.2 unnamed_net224; C?.1, C?.2 unnamed_net223; C?.1, C?.2 unnamed_net222; C?.1, C?.2 unnamed_net221; C?.1, C?.2 unnamed_net220; C?.1, C?.2 unnamed_net219; C?.1, C?.2 unnamed_net218; C?.1, C?.2 unnamed_net217; C?.1, C?.2 unnamed_net216; C?.1, C?.2 unnamed_net215; C?.1, C?.2 unnamed_net214; C?.1, C?.2 unnamed_net213; C?.1, C?.2 unnamed_net212; C?.1, C?.2 unnamed_net211; C?.1, C?.2 unnamed_net210; C?.1, C?.2 unnamed_net209; C?.1, C?.2 unnamed_net208; C?.1, C?.2 unnamed_net207; C?.1, C?.2 unnamed_net206; C?.1, C?.2 unnamed_net205; C?.1, C?.2 unnamed_net204; C?.1, C?.2 unnamed_net203; C?.1, C?.2 unnamed_net202; C?.1, C?.2 unnamed_net201; C?.1, C?.2 unnamed_net200; C?.1, C?.2 unnamed_net199; C?.1, C?.2 unnamed_net198; C?.1, C?.2 unnamed_net197; C?.1, C?.2 unnamed_net196; C?.1, C?.2 unnamed_net195; C?.1, C?.2 unnamed_net194; C?.1, C?.2 unnamed_net193; C?.1, C?.2 unnamed_net192; C?.1, C?.2 unnamed_net191; C?.1, C?.2 unnamed_net190; C?.1, C?.2 unnamed_net189; C?.1, C?.2 unnamed_net188; C?.1, C?.2 unnamed_net187; C?.1, C?.2 unnamed_net186; C?.1, C?.2 unnamed_net185; C?.1 unnamed_net184; C?.1, C?.2 unnamed_net183; C?.1, C?.2 unnamed_net182; C?.1, C?.2 unnamed_net181; C?.1, C?.2 unnamed_net180; C?.1, C?.2 unnamed_net179; C?.1, C?.2 unnamed_net178; C?.1, C?.2 unnamed_net177; C?.1, C?.2 unnamed_net176; C?.1 unnamed_net175; C?.1, C?.2 unnamed_net174; C?.1, C?.2 unnamed_net173; C?.1, C?.2 unnamed_net172; C?.1, C?.2 unnamed_net171; C?.1, C?.2 unnamed_net170; C?.1, C?.2 unnamed_net169; C?.1, C?.2 unnamed_net168; C?.1, C?.2 unnamed_net167; C?.1, C?.2 unnamed_net166; C?.1, C?.2 unnamed_net165; C?.1, C?.2 unnamed_net164; C?.1, C?.2 unnamed_net163; C?.1, C?.2 unnamed_net162; C?.1, C?.2 unnamed_net161; C?.1, C?.2 unnamed_net160; C?.1, C?.2 unnamed_net159; C?.1, C?.2 unnamed_net158; C?.1, C?.2 unnamed_net157; C?.1, C?.2 unnamed_net156; C?.1, C?.2 unnamed_net155; C?.1, C?.2 unnamed_net154; C?.1, C?.2 unnamed_net153; C?.1, C?.2 unnamed_net152; C?.1, C?.2 unnamed_net151; C?.1 unnamed_net150; C?.1, C?.2 unnamed_net149; C?.1, C?.2 unnamed_net148; C?.1, C?.2 unnamed_net147; C?.1, C?.2 unnamed_net146; C?.1, C?.2 unnamed_net145; C?.1, C?.2 unnamed_net144; C?.1, C?.2 unnamed_net143; C?.1, C?.2 unnamed_net142; C?.1 unnamed_net141; C?.1, C?.2 unnamed_net140; C?.1, C?.2 unnamed_net139; C?.1, C?.2 unnamed_net138; C?.1, C?.2 unnamed_net137; C?.1, C?.2 unnamed_net136; C?.1, C?.2 unnamed_net135; C?.1, C?.2 unnamed_net134; C?.1, C?.2 unnamed_net133; C?.1, C?.2 unnamed_net132; C?.1, C?.2 unnamed_net131; C?.1, C?.2 unnamed_net130; C?.1, C?.2 unnamed_net129; C?.1, C?.2 unnamed_net128; C?.1, C?.2 unnamed_net127; C?.1, C?.2 unnamed_net126; C?.1, C?.2 unnamed_net125; C?.1, C?.2 unnamed_net124; C?.1, C?.2 unnamed_net123; C?.1, C?.2 unnamed_net122; C?.1, C?.2 unnamed_net121; C?.1, C?.2 unnamed_net120; C?.1, C?.2 unnamed_net119; C?.1, C?.2 unnamed_net118; C?.1, C?.2 unnamed_net117; C?.1, C?.2 unnamed_net116; C?.1, C?.2 unnamed_net115; C?.1, C?.2 unnamed_net114; C?.1, C?.2 unnamed_net113; C?.1, C?.2 unnamed_net112; C?.1, C?.2 unnamed_net111; C?.1, C?.2 unnamed_net110; C?.1, C?.2 unnamed_net109; C?.1, C?.2 unnamed_net108; C?.1, C?.2 unnamed_net107; C?.1, C?.2 unnamed_net106; C?.1, C?.2 unnamed_net105; C?.1, C?.2 unnamed_net104; C?.1, C?.2 unnamed_net103; C?.1, C?.2 unnamed_net102; C?.1, C?.2 unnamed_net101; C?.1, C?.2 unnamed_net100; C?.1, C?.2 unnamed_net99; C?.1, C?.2 unnamed_net98; C?.1, C?.2 unnamed_net97; C?.1, C?.2 unnamed_net96; C?.1 unnamed_net95; C?.1, C?.2 unnamed_net94; C?.1, C?.2 unnamed_net93; C?.1, C?.2 unnamed_net92; C?.1, C?.2 unnamed_net91; C?.1 unnamed_net90; C?.1, C?.2 unnamed_net89; C?.1, C?.2 unnamed_net88; C?.1, C?.2 unnamed_net87; C?.1, C?.2 unnamed_net86; C?.1, C?.2 unnamed_net85; C?.1, C?.2 unnamed_net84; C?.1, C?.2 unnamed_net83; C?.1, C?.2 unnamed_net82; C?.1, C?.2 unnamed_net81; C?.1, C?.2 unnamed_net80; C?.1, C?.2 unnamed_net79; C?.1, C?.2 unnamed_net78; C?.1 unnamed_net77; C?.1, C?.2 unnamed_net76; C?.1, C?.2 unnamed_net75; C?.1, C?.2 unnamed_net74; C?.1, C?.2 unnamed_net73; C?.1 unnamed_net72; C?.1, C?.2 unnamed_net71; C?.1, C?.2 unnamed_net70; C?.1, C?.2 unnamed_net69; C?.1, C?.2 unnamed_net68; C?.1, C?.2 unnamed_net67; C?.1, C?.2 unnamed_net66; C?.1, C?.2 unnamed_net65; C?.1, C?.2 unnamed_net64; C?.1, C?.2 unnamed_net63; C?.1, C?.2 unnamed_net62; C?.1, C?.2 unnamed_net61; C?.1, C?.2 unnamed_net60; C?.1, C?.2 unnamed_net59; C?.1, C?.2 unnamed_net58; C?.1, C?.2 unnamed_net57; C?.1, C?.2 unnamed_net56; C?.1, C?.2 unnamed_net55; C?.1, C?.2 unnamed_net54; C?.1, C?.2 unnamed_net53; C?.1, C?.2 unnamed_net52; C?.1, C?.2 unnamed_net51; C?.1, C?.2 unnamed_net50; C?.1, C?.2 unnamed_net49; C?.1 unnamed_net48; C?.1, C?.2 unnamed_net47; C?.1, C?.2 unnamed_net46; C?.1, C?.2 unnamed_net45; C?.1, C?.2 unnamed_net44; C?.1, C?.2 unnamed_net43; C?.1, C?.2 unnamed_net42; C?.1, C?.2 unnamed_net41; C?.1, C?.2 unnamed_net40; C?.1 unnamed_net39; C?.1, C?.2 unnamed_net38; C?.1, C?.2 unnamed_net37; C?.1, C?.2 unnamed_net36; C?.1, C?.2 unnamed_net35; C?.1, C?.2 unnamed_net34; C?.1, C?.2 unnamed_net33; C?.1, C?.2 unnamed_net32; C?.1, C?.2 unnamed_net31; C?.1, C?.2 unnamed_net30; C?.1, C?.2 unnamed_net29; C?.1, C?.2 unnamed_net28; C?.1, C?.2 unnamed_net27; C?.1, C?.2 unnamed_net26; C?.1 unnamed_net25; C?.1, C?.2 unnamed_net24; C?.1, C?.2 unnamed_net23; C?.1, C?.2 unnamed_net22; C?.1, C?.2 unnamed_net21; C?.1 unnamed_net20; C?.1, C?.2 unnamed_net19; C?.1, C?.2 unnamed_net18; C?.1, C?.2 unnamed_net17; C?.1, C?.2 unnamed_net16; C?.1, C?.2 unnamed_net15; C?.1, C?.2 unnamed_net14; C?.1, C?.2 unnamed_net13; C?.1 unnamed_net12; C?.1, C?.2 unnamed_net11; C?.1, C?.2 unnamed_net10; C?.1, C?.2 unnamed_net9; C?.1, C?.2 unnamed_net8; C?.1, C?.2 unnamed_net7; C?.1 unnamed_net6; C?.1, C?.2 unnamed_net5; C?.1, C?.2 unnamed_net4; C?.1, C?.2 unnamed_net3; C?.1 unnamed_net2; C?.1, C?.2 unnamed_net1; C?.1 $END geda-gaf-1.8.2/gnetlist/tests/common/outputs/allegro/JD_Sort.retcode0000664000175000017500000000000212050461155022375 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/allegro/cascade-output.net0000664000175000017500000000112512050461155023162 00000000000000(Allegro netlister by M. Ettus) $PACKAGES none! cascade-amp! cascade-amp; AMP2 none! cascade-transformer! cascade-transformer; T1 none! cascade-mixer! cascade-mixer; MX1 none! cascade-filter! cascade-filter; FL1 none! cascade-defaults! cascade-defaults; DEF1 none! cascade-amp! cascade-amp; AMP1 none! cascade-source! cascade-source; SOURCE ! cascade-defaults-top! cascade-defaults-top; DEFAULTS $NETS unnamed_net6; AMP2.1, T1.2 unnamed_net5; T1.1, MX1.2 unnamed_net4; MX1.1, FL1.2 unnamed_net3; FL1.1, DEF1.2 unnamed_net2; DEF1.1, AMP1.2 unnamed_net1; AMP1.1, SOURCE.1 GND; DEFAULTS.1 $END geda-gaf-1.8.2/gnetlist/tests/common/outputs/allegro/multiequal-output.net0000664000175000017500000000025712050461155023766 00000000000000(Allegro netlister by M. Ettus) $PACKAGES none! VOLTAGE_SOURCE! DC 1V; V1 ! RESISTOR! 20; R1 ! options! abotol=1e-11; A1 $NETS GND; V1.2, R1.1 unnamed_net1; V1.1, R1.2 $END geda-gaf-1.8.2/gnetlist/tests/common/outputs/allegro/JD_nomunge-output.net0000664000175000017500000000104312050461155023623 00000000000000(Allegro netlister by M. Ettus) $PACKAGES ! model! model; A1 ! CAPACITOR! 20p; Cm ! CAPACITOR! 20p; Cp ! RESISTOR! 1meg; Rlp ! RESISTOR! 500k; Rlm none! VOLTAGE_SOURCE! DC 3.3V; Vdd none! vpulse! pulse 3.3 0 1u 10p 10p 1.25u 2.5u; V1 ! RESISTOR! 1k; Rt ! RESISTOR! 5.6k; Rb ! PMOS_TRANSISTOR! PMOS_TRANSISTOR; M1 ! LVD! LVD; X1 $NETS Vdd1; Rlp.2, M1.B, M1.S, Vdd.1, X1.6 GND; Cm.2, Cp.2, Rlm.2, Vdd.2, V1.2, Rb.1, X1.7, X1.2 LVH; Rb.2, M1.D, M1.G, X1.3 i; V1.1, X1.1 p; Cp.1, Rt.1, Rlp.1, X1.5 m; Cm.1, Rlm.1, Rt.2, X1.4 $END geda-gaf-1.8.2/gnetlist/tests/common/outputs/allegro/stack-torture.retcode0000664000175000017500000000000212063576065023713 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/allegro/powersupply.retcode0000664000175000017500000000000212050461155023502 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/allegro/JD_Sort_nomunge-output.net0000664000175000017500000000104312050461155024632 00000000000000(Allegro netlister by M. Ettus) $PACKAGES ! model! model; A1 ! CAPACITOR! 20p; Cm ! CAPACITOR! 20p; Cp ! RESISTOR! 1meg; Rlp ! RESISTOR! 500k; Rlm none! VOLTAGE_SOURCE! DC 3.3V; Vdd none! vpulse! pulse 3.3 0 1u 10p 10p 1.25u 2.5u; V1 ! RESISTOR! 1k; Rt ! RESISTOR! 5.6k; Rb ! PMOS_TRANSISTOR! PMOS_TRANSISTOR; M1 ! LVD! LVD; X1 $NETS Vdd1; Rlp.2, M1.B, M1.S, Vdd.1, X1.6 GND; Cm.2, Cp.2, Rlm.2, Vdd.2, V1.2, Rb.1, X1.7, X1.2 LVH; Rb.2, M1.D, M1.G, X1.3 i; V1.1, X1.1 p; Cp.1, Rt.1, Rlp.1, X1.5 m; Cm.1, Rlm.1, Rt.2, X1.4 $END geda-gaf-1.8.2/gnetlist/tests/common/outputs/allegro/TwoStageAmp_Sort.retcode0000664000175000017500000000000212050461155024273 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/allegro/netattrib.retcode0000664000175000017500000000000212050461155023065 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/allegro/JD_nomunge.retcode0000664000175000017500000000000212050461155023116 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/allegro/JD_Include-output.net0000664000175000017500000000104312050461155023536 00000000000000(Allegro netlister by M. Ettus) $PACKAGES ! model! model; A1 ! CAPACITOR! 20p; Cm ! CAPACITOR! 20p; Cp ! RESISTOR! 1meg; Rlp ! RESISTOR! 500k; Rlm none! VOLTAGE_SOURCE! DC 3.3V; Vdd none! vpulse! pulse 3.3 0 1u 10p 10p 1.25u 2.5u; V1 ! RESISTOR! 1k; Rt ! RESISTOR! 5.6k; Rb ! PMOS_TRANSISTOR! PMOS_TRANSISTOR; M1 ! LVD! LVD; X1 $NETS Vdd1; Rlp.2, M1.B, M1.S, Vdd.1, X1.6 GND; Cm.2, Cp.2, Rlm.2, Vdd.2, V1.2, Rb.1, X1.7, X1.2 LVH; Rb.2, M1.D, M1.G, X1.3 i; V1.1, X1.1 p; Cp.1, Rt.1, Rlp.1, X1.5 m; Cm.1, Rlm.1, Rt.2, X1.4 $END geda-gaf-1.8.2/gnetlist/tests/common/outputs/allegro/JD_Sort-output.net0000664000175000017500000000104312050461155023102 00000000000000(Allegro netlister by M. Ettus) $PACKAGES ! model! model; A1 ! CAPACITOR! 20p; Cm ! CAPACITOR! 20p; Cp ! RESISTOR! 1meg; Rlp ! RESISTOR! 500k; Rlm none! VOLTAGE_SOURCE! DC 3.3V; Vdd none! vpulse! pulse 3.3 0 1u 10p 10p 1.25u 2.5u; V1 ! RESISTOR! 1k; Rt ! RESISTOR! 5.6k; Rb ! PMOS_TRANSISTOR! PMOS_TRANSISTOR; M1 ! LVD! LVD; X1 $NETS Vdd1; Rlp.2, M1.B, M1.S, Vdd.1, X1.6 GND; Cm.2, Cp.2, Rlm.2, Vdd.2, V1.2, Rb.1, X1.7, X1.2 LVH; Rb.2, M1.D, M1.G, X1.3 i; V1.1, X1.1 p; Cp.1, Rt.1, Rlp.1, X1.5 m; Cm.1, Rlm.1, Rt.2, X1.4 $END geda-gaf-1.8.2/gnetlist/tests/common/outputs/allegro/cascade.retcode0000664000175000017500000000000212050461155022454 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/allegro/TwoStageAmp_Sort-output.net0000664000175000017500000000176712050461155025015 00000000000000(Allegro netlister by M. Ettus) $PACKAGES ! CAPACITOR! 2.2uF; C2 ! RESISTOR! 2.8K; R4 ! RESISTOR! 28K; R3 ! RESISTOR! 1; R8 ! CAPACITOR! 1pF; CE2 ! RESISTOR! 100; RE2 ! RESISTOR! 3.3K; RC1 ! NPN_TRANSISTOR! NPN_TRANSISTOR; Q2 ! CAPACITOR! 2.2uF; C1 ! directive! .options TEMP=25; A3 ! include! include; A2 ! model! model; A1 none! VOLTAGE_SOURCE! DC 15V; VCC none! vsin! DC 1.6V AC 10MV SIN(0 1MV 1KHZ); Vinput ! CAPACITOR! 1pF; CE1 ! CAPACITOR! 2.2uF; Cout ! RESISTOR! 100K; RL ! RESISTOR! 1K; RC2 ! RESISTOR! 100; RE1 ! RESISTOR! 2K; R2 ! RESISTOR! 28K; R1 ! RESISTOR! 10; R5 ! NPN_TRANSISTOR! NPN_TRANSISTOR; Q1 $NETS unnamed_net2; C2.1, R8.2 Vbase2; R3.1, C2.2, R4.2, Q2.2 Vem2; CE2.2, RE2.2, Q2.1 Vout; Cout.2, RL.2 VColl2; Q2.3, Cout.1, RC2.1 GND; R4.1, CE2.1, RE2.1, VCC.2, Vinput.2, CE1.1, RL.1, RE1.1, R2.1 Vcc; R3.2, RC1.2, VCC.1, RC2.2, R1.2 Vin; Vinput.1, R5.1 unnamed_net1; C1.1, R5.2 Vbase1; C1.2, R2.2, R1.1, Q1.2 Vem1; CE1.2, RE1.2, Q1.1 Vcoll1; R8.1, RC1.1, Q1.3 $END geda-gaf-1.8.2/gnetlist/tests/common/outputs/allegro/singlenet-output.net0000664000175000017500000000027512050461155023574 00000000000000(Allegro netlister by M. Ettus) $PACKAGES DIP14! 7400! 7400; U100 $NETS SING_N_2; U100.1, U100.3 GND; U100.7 Vcc; U100.14 SING_N; U100.4, U100.5, U100.10, U100.8, U100.9, U100.6 $END geda-gaf-1.8.2/gnetlist/tests/common/outputs/allegro/TwoStageAmp_Include.retcode0000664000175000017500000000000212050461155024727 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/allegro/SlottedOpamps-output.net0000664000175000017500000000051512050461155024377 00000000000000(Allegro netlister by M. Ettus) $PACKAGES ! LM324! LM324; U1 $NETS minusin_slot4_pin13_b; U1.13 plusin_slot4_pin12_a; U1.12 minusin_slot3_pin_b; U1.9 plusin_slot3_pin10_a; U1.10 minusin_slot2_pin6_b; U1.6 plusin_slot2_pin5_a; U1.5 samenet_output_c; U1.14, U1.8, U1.7, U1.1 minusin_slot1_pin_b; U1.2 plusin_slot1_pin3_a; U1.3 $END geda-gaf-1.8.2/gnetlist/tests/common/outputs/allegro/TwoStageAmp_Include-output.net0000664000175000017500000000176712050461155025451 00000000000000(Allegro netlister by M. Ettus) $PACKAGES ! CAPACITOR! 2.2uF; C2 ! RESISTOR! 2.8K; R4 ! RESISTOR! 28K; R3 ! RESISTOR! 1; R8 ! CAPACITOR! 1pF; CE2 ! RESISTOR! 100; RE2 ! RESISTOR! 3.3K; RC1 ! NPN_TRANSISTOR! NPN_TRANSISTOR; Q2 ! CAPACITOR! 2.2uF; C1 ! directive! .options TEMP=25; A3 ! include! include; A2 ! model! model; A1 none! VOLTAGE_SOURCE! DC 15V; VCC none! vsin! DC 1.6V AC 10MV SIN(0 1MV 1KHZ); Vinput ! CAPACITOR! 1pF; CE1 ! CAPACITOR! 2.2uF; Cout ! RESISTOR! 100K; RL ! RESISTOR! 1K; RC2 ! RESISTOR! 100; RE1 ! RESISTOR! 2K; R2 ! RESISTOR! 28K; R1 ! RESISTOR! 10; R5 ! NPN_TRANSISTOR! NPN_TRANSISTOR; Q1 $NETS unnamed_net2; C2.1, R8.2 Vbase2; R3.1, C2.2, R4.2, Q2.2 Vem2; CE2.2, RE2.2, Q2.1 Vout; Cout.2, RL.2 VColl2; Q2.3, Cout.1, RC2.1 GND; R4.1, CE2.1, RE2.1, VCC.2, Vinput.2, CE1.1, RL.1, RE1.1, R2.1 Vcc; R3.2, RC1.2, VCC.1, RC2.2, R1.2 Vin; Vinput.1, R5.1 unnamed_net1; C1.1, R5.2 Vbase1; C1.2, R2.2, R1.1, Q1.2 Vem1; CE1.2, RE1.2, Q1.1 Vcoll1; R8.1, RC1.1, Q1.3 $END geda-gaf-1.8.2/gnetlist/tests/common/outputs/allegro/singlenet.retcode0000664000175000017500000000000212050461155023061 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/allegro/JD_Include.retcode0000664000175000017500000000000212050461155023031 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/allegro/powersupply-output.net0000664000175000017500000000122412050461155024210 00000000000000(Allegro netlister by M. Ettus) $PACKAGES ! LM317! LM317; U2 ! POLARIZED_CAPACITOR! 1uf; C4 ! POLARIZED_CAPACITOR! 22uF; C3 ! VARIABLE_RESISTOR! 5k; R1 ! POLARIZED_CAPACITOR! 0.1uF; C2 ! RESISTOR! 220; R2 ! POLARIZED_CAPACITOR! 2200uF; C1 ! SPST! SPST; S1 ! MAINS_CONNECTOR! MAINS_CONNECTOR; CONN1 ! transformer! transformer; T1 ! FUSE! FUSE; F1 ! DIODE-BRIDGE! DIODE-BRIDGE; U1 $NETS ten; U2.1, R1.2, C3.1, R2.1 eleven; U2.2, C4.1, R2.2 GND; CONN1.3 one; S1.1, CONN1.1 five; CONN1.2, T1.2 three; T1.1, F1.2 two; S1.2, F1.1 six; T1.3, U1.4 seven; T1.4, U1.3 nine; C4.2, C3.2, R1.3, R1.1, C2.2, C1.2, U1.2 eight; U2.3, C2.1, C1.1, U1.1 $END geda-gaf-1.8.2/gnetlist/tests/common/outputs/allegro/netattrib-output.net0000664000175000017500000000044212050461155023574 00000000000000(Allegro netlister by M. Ettus) $PACKAGES ! FUSE! FUSE; F1 DIP14! 7404! 7404; U300 DIP14! 7404! 7404; U200 DIP14! 7400! 7400; U100 $NETS unnamed_net1; U300.2 netattrib; U200.2, U100.5 GND; U300.7, U200.7, U100.7 Vcc; U300.14, U200.14, U100.14 one; F1.1, U300.1, U200.1, U100.3 $END geda-gaf-1.8.2/gnetlist/tests/common/outputs/allegro/SlottedOpamps.retcode0000664000175000017500000000000212050461155023667 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/allegro/JD.retcode0000664000175000017500000000000212050461155021366 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/allegro/multiequal.retcode0000664000175000017500000000000212050461155023253 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/allegro/JD_Sort_nomunge.retcode0000664000175000017500000000000212050461155024125 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/allegro/TwoStageAmp-output.net0000664000175000017500000000176712050461155024006 00000000000000(Allegro netlister by M. Ettus) $PACKAGES ! CAPACITOR! 2.2uF; C2 ! RESISTOR! 2.8K; R4 ! RESISTOR! 28K; R3 ! RESISTOR! 1; R8 ! CAPACITOR! 1pF; CE2 ! RESISTOR! 100; RE2 ! RESISTOR! 3.3K; RC1 ! NPN_TRANSISTOR! NPN_TRANSISTOR; Q2 ! CAPACITOR! 2.2uF; C1 ! directive! .options TEMP=25; A3 ! include! include; A2 ! model! model; A1 none! VOLTAGE_SOURCE! DC 15V; VCC none! vsin! DC 1.6V AC 10MV SIN(0 1MV 1KHZ); Vinput ! CAPACITOR! 1pF; CE1 ! CAPACITOR! 2.2uF; Cout ! RESISTOR! 100K; RL ! RESISTOR! 1K; RC2 ! RESISTOR! 100; RE1 ! RESISTOR! 2K; R2 ! RESISTOR! 28K; R1 ! RESISTOR! 10; R5 ! NPN_TRANSISTOR! NPN_TRANSISTOR; Q1 $NETS unnamed_net2; C2.1, R8.2 Vbase2; R3.1, C2.2, R4.2, Q2.2 Vem2; CE2.2, RE2.2, Q2.1 Vout; Cout.2, RL.2 VColl2; Q2.3, Cout.1, RC2.1 GND; R4.1, CE2.1, RE2.1, VCC.2, Vinput.2, CE1.1, RL.1, RE1.1, R2.1 Vcc; R3.2, RC1.2, VCC.1, RC2.2, R1.2 Vin; Vinput.1, R5.1 unnamed_net1; C1.1, R5.2 Vbase1; C1.2, R2.2, R1.1, Q1.2 Vem1; CE1.2, RE1.2, Q1.1 Vcoll1; R8.1, RC1.1, Q1.3 $END geda-gaf-1.8.2/gnetlist/tests/common/outputs/allegro/JD_Include_nomunge.retcode0000664000175000017500000000000212050461155024561 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/tango/0000775000175000017500000000000012220655760017303 500000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/tango/JD_Include_nomunge-output.net0000664000175000017500000000102412050461155024750 00000000000000[ A1 PATTERN model ] [ Cm PATTERN CAPACITOR 20p ] [ Cp PATTERN CAPACITOR 20p ] [ Rlp PATTERN RESISTOR 1meg ] [ Rlm PATTERN RESISTOR 500k ] [ Vdd none VOLTAGE_SOURCE DC 3.3V ] [ V1 none vpulse pulse 3.3 0 1u 10p 10p 1.25u 2.5u ] [ Rt PATTERN RESISTOR 1k ] [ Rb PATTERN RESISTOR 5.6k ] [ M1 PATTERN PMOS_TRANSISTOR ] [ X1 PATTERN LVD ] ( Vdd1 Rlp-2 M1-B M1-S Vdd-1 X1-6 ) ( GND Cm-2 Cp-2 Rlm-2 Vdd-2 V1-2 Rb-1 X1-7 X1-2 ) ( LVH Rb-2 M1-D M1-G X1-3 ) ( i V1-1 X1-1 ) ( p Cp-1 Rt-1 Rlp-1 X1-5 ) ( m Cm-1 Rlm-1 Rt-2 X1-4 ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/tango/JD-output.net0000664000175000017500000000102412050461155021555 00000000000000[ A1 PATTERN model ] [ Cm PATTERN CAPACITOR 20p ] [ Cp PATTERN CAPACITOR 20p ] [ Rlp PATTERN RESISTOR 1meg ] [ Rlm PATTERN RESISTOR 500k ] [ Vdd none VOLTAGE_SOURCE DC 3.3V ] [ V1 none vpulse pulse 3.3 0 1u 10p 10p 1.25u 2.5u ] [ Rt PATTERN RESISTOR 1k ] [ Rb PATTERN RESISTOR 5.6k ] [ M1 PATTERN PMOS_TRANSISTOR ] [ X1 PATTERN LVD ] ( Vdd1 Rlp-2 M1-B M1-S Vdd-1 X1-6 ) ( GND Cm-2 Cp-2 Rlm-2 Vdd-2 V1-2 Rb-1 X1-7 X1-2 ) ( LVH Rb-2 M1-D M1-G X1-3 ) ( i V1-1 X1-1 ) ( p Cp-1 Rt-1 Rlp-1 X1-5 ) ( m Cm-1 Rlm-1 Rt-2 X1-4 ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/tango/TwoStageAmp.retcode0000664000175000017500000000000212050461155022747 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/tango/stack-torture-output.net0000664000175000017500000007124612063576065024117 00000000000000[ C? PATTERN CAPACITOR ] ( unnamed_net1025 C?-2 ) ( unnamed_net1024 C?-1 C?-2 ) ( unnamed_net1023 C?-1 C?-2 ) ( unnamed_net1022 C?-2 ) ( unnamed_net1021 C?-1 C?-2 ) ( unnamed_net1020 C?-2 ) ( unnamed_net1019 C?-1 C?-2 ) ( unnamed_net1018 C?-1 C?-2 ) ( unnamed_net1017 C?-1 C?-2 ) ( unnamed_net1016 C?-1 C?-2 ) ( unnamed_net1015 C?-1 C?-2 ) ( unnamed_net1014 C?-1 C?-2 ) ( unnamed_net1013 C?-1 C?-2 ) ( unnamed_net1012 C?-2 ) ( unnamed_net1011 C?-1 C?-2 ) ( unnamed_net1010 C?-1 C?-2 ) ( unnamed_net1009 C?-2 ) ( unnamed_net1008 C?-1 C?-2 ) ( unnamed_net1007 C?-1 C?-2 ) ( unnamed_net1006 C?-1 C?-2 ) ( unnamed_net1005 C?-1 C?-2 ) ( unnamed_net1004 C?-1 C?-2 ) ( unnamed_net1003 C?-1 C?-2 ) ( unnamed_net1002 C?-1 C?-2 ) ( unnamed_net1001 C?-1 C?-2 ) ( unnamed_net1000 C?-1 C?-2 ) ( unnamed_net999 C?-2 ) ( unnamed_net998 C?-1 C?-2 ) ( unnamed_net997 C?-1 C?-2 ) ( unnamed_net996 C?-1 C?-2 ) ( unnamed_net995 C?-1 C?-2 ) ( unnamed_net994 C?-1 C?-2 ) ( unnamed_net993 C?-1 C?-2 ) ( unnamed_net992 C?-2 ) ( unnamed_net991 C?-1 C?-2 ) ( unnamed_net990 C?-1 C?-2 ) ( unnamed_net989 C?-1 C?-2 ) ( unnamed_net988 C?-1 C?-2 ) ( unnamed_net987 C?-1 C?-2 ) ( unnamed_net986 C?-1 C?-2 ) ( unnamed_net985 C?-1 C?-2 ) ( unnamed_net984 C?-1 C?-2 ) ( unnamed_net983 C?-1 C?-2 ) ( unnamed_net982 C?-1 C?-2 ) ( unnamed_net981 C?-1 C?-2 ) ( unnamed_net980 C?-1 C?-2 ) ( unnamed_net979 C?-1 C?-2 ) ( unnamed_net978 C?-1 C?-2 ) ( unnamed_net977 C?-1 C?-2 ) ( unnamed_net976 C?-1 C?-2 ) ( unnamed_net975 C?-1 C?-2 ) ( unnamed_net974 C?-1 C?-2 ) ( unnamed_net973 C?-1 C?-2 ) ( unnamed_net972 C?-1 C?-2 ) ( unnamed_net971 C?-1 C?-2 ) ( unnamed_net970 C?-1 C?-2 ) ( unnamed_net969 C?-1 C?-2 ) ( unnamed_net968 C?-2 ) ( unnamed_net967 C?-1 C?-2 ) ( unnamed_net966 C?-1 C?-2 ) ( unnamed_net965 C?-2 ) ( unnamed_net964 C?-1 C?-2 ) ( unnamed_net963 C?-1 C?-2 ) ( unnamed_net962 C?-1 C?-2 ) ( unnamed_net961 C?-1 C?-2 ) ( unnamed_net960 C?-1 C?-2 ) ( unnamed_net959 C?-1 C?-2 ) ( unnamed_net958 C?-1 C?-2 ) ( unnamed_net957 C?-1 C?-2 ) ( unnamed_net956 C?-1 C?-2 ) ( unnamed_net955 C?-1 C?-2 ) ( unnamed_net954 C?-2 ) ( unnamed_net953 C?-1 C?-2 ) ( unnamed_net952 C?-1 C?-2 ) ( unnamed_net951 C?-2 ) ( unnamed_net950 C?-1 C?-2 ) ( unnamed_net949 C?-1 C?-2 ) ( unnamed_net948 C?-1 C?-2 ) ( unnamed_net947 C?-1 C?-2 ) ( unnamed_net946 C?-1 C?-2 ) ( unnamed_net945 C?-1 C?-2 ) ( unnamed_net944 C?-1 C?-2 ) ( unnamed_net943 C?-1 C?-2 ) ( unnamed_net942 C?-1 C?-2 ) ( unnamed_net941 C?-1 C?-2 ) ( unnamed_net940 C?-1 C?-2 ) ( unnamed_net939 C?-1 C?-2 ) ( unnamed_net938 C?-1 C?-2 ) ( unnamed_net937 C?-1 C?-2 ) ( unnamed_net936 C?-1 C?-2 ) ( unnamed_net935 C?-1 C?-2 ) ( unnamed_net934 C?-1 C?-2 ) ( unnamed_net933 C?-1 C?-2 ) ( unnamed_net932 C?-1 C?-2 ) ( unnamed_net931 C?-1 C?-2 ) ( unnamed_net930 C?-1 C?-2 ) ( unnamed_net929 C?-1 C?-2 ) ( unnamed_net928 C?-1 C?-2 ) ( unnamed_net927 C?-1 C?-2 ) ( unnamed_net926 C?-1 C?-2 ) ( unnamed_net925 C?-1 C?-2 ) ( unnamed_net924 C?-1 C?-2 ) ( unnamed_net923 C?-1 C?-2 ) ( unnamed_net922 C?-1 C?-2 ) ( unnamed_net921 C?-1 C?-2 ) ( unnamed_net920 C?-1 C?-2 ) ( unnamed_net919 C?-1 C?-2 ) ( unnamed_net918 C?-1 C?-2 ) ( unnamed_net917 C?-1 C?-2 ) ( unnamed_net916 C?-1 C?-2 ) ( unnamed_net915 C?-1 C?-2 ) ( unnamed_net914 C?-1 C?-2 ) ( unnamed_net913 C?-1 C?-2 ) ( unnamed_net912 C?-1 C?-2 ) ( unnamed_net911 C?-1 C?-2 ) ( unnamed_net910 C?-1 C?-2 ) ( unnamed_net909 C?-2 ) ( unnamed_net908 C?-1 C?-2 ) ( unnamed_net907 C?-1 C?-2 ) ( unnamed_net906 C?-1 C?-2 ) ( unnamed_net905 C?-1 C?-2 ) ( unnamed_net904 C?-1 C?-2 ) ( unnamed_net903 C?-1 C?-2 ) ( unnamed_net902 C?-2 ) ( unnamed_net901 C?-1 C?-2 ) ( unnamed_net900 C?-1 C?-2 ) ( unnamed_net899 C?-1 C?-2 ) ( unnamed_net898 C?-1 C?-2 ) ( unnamed_net897 C?-1 C?-2 ) ( unnamed_net896 C?-1 C?-2 ) ( unnamed_net895 C?-1 C?-2 ) ( unnamed_net894 C?-1 C?-2 ) ( unnamed_net893 C?-1 C?-2 ) ( unnamed_net892 C?-1 C?-2 ) ( unnamed_net891 C?-1 C?-2 ) ( unnamed_net890 C?-1 C?-2 ) ( unnamed_net889 C?-1 C?-2 ) ( unnamed_net888 C?-1 C?-2 ) ( unnamed_net887 C?-1 C?-2 ) ( unnamed_net886 C?-1 C?-2 ) ( unnamed_net885 C?-1 C?-2 ) ( unnamed_net884 C?-1 C?-2 ) ( unnamed_net883 C?-1 C?-2 ) ( unnamed_net882 C?-1 C?-2 ) ( unnamed_net881 C?-1 C?-2 ) ( unnamed_net880 C?-1 C?-2 ) ( unnamed_net879 C?-2 ) ( unnamed_net878 C?-1 C?-2 ) ( unnamed_net877 C?-1 C?-2 ) ( unnamed_net876 C?-1 C?-2 ) ( unnamed_net875 C?-1 C?-2 ) ( unnamed_net874 C?-1 C?-2 ) ( unnamed_net873 C?-1 C?-2 ) ( unnamed_net872 C?-2 ) ( unnamed_net871 C?-1 C?-2 ) ( unnamed_net870 C?-1 C?-2 ) ( unnamed_net869 C?-1 C?-2 ) ( unnamed_net868 C?-1 C?-2 ) ( unnamed_net867 C?-1 C?-2 ) ( unnamed_net866 C?-1 C?-2 ) ( unnamed_net865 C?-1 C?-2 ) ( unnamed_net864 C?-1 C?-2 ) ( unnamed_net863 C?-1 C?-2 ) ( unnamed_net862 C?-1 C?-2 ) ( unnamed_net861 C?-1 C?-2 ) ( unnamed_net860 C?-1 C?-2 ) ( unnamed_net859 C?-1 C?-2 ) ( unnamed_net858 C?-1 C?-2 ) ( unnamed_net857 C?-1 C?-2 ) ( unnamed_net856 C?-1 C?-2 ) ( unnamed_net855 C?-1 C?-2 ) ( unnamed_net854 C?-1 C?-2 ) ( unnamed_net853 C?-1 C?-2 ) ( unnamed_net852 C?-1 C?-2 ) ( unnamed_net851 C?-1 C?-2 ) ( unnamed_net850 C?-1 C?-2 ) ( unnamed_net849 C?-1 C?-2 ) ( unnamed_net848 C?-1 C?-2 ) ( unnamed_net847 C?-1 C?-2 ) ( unnamed_net846 C?-1 C?-2 ) ( unnamed_net845 C?-1 C?-2 ) ( unnamed_net844 C?-1 C?-2 ) ( unnamed_net843 C?-1 C?-2 ) ( unnamed_net842 C?-1 C?-2 ) ( unnamed_net841 C?-1 C?-2 ) ( unnamed_net840 C?-1 C?-2 ) ( unnamed_net839 C?-1 C?-2 ) ( unnamed_net838 C?-1 C?-2 ) ( unnamed_net837 C?-1 C?-2 ) ( unnamed_net836 C?-1 C?-2 ) ( unnamed_net835 C?-1 C?-2 ) ( unnamed_net834 C?-1 C?-2 ) ( unnamed_net833 C?-1 C?-2 ) ( unnamed_net832 C?-1 C?-2 ) ( unnamed_net831 C?-1 C?-2 ) ( unnamed_net830 C?-1 C?-2 ) ( unnamed_net829 C?-1 C?-2 ) ( unnamed_net828 C?-1 C?-2 ) ( unnamed_net827 C?-1 C?-2 ) ( unnamed_net826 C?-1 C?-2 ) ( unnamed_net825 C?-1 C?-2 ) ( unnamed_net824 C?-1 C?-2 ) ( unnamed_net823 C?-1 C?-2 ) ( unnamed_net822 C?-1 C?-2 ) ( unnamed_net821 C?-1 C?-2 ) ( unnamed_net820 C?-1 C?-2 ) ( unnamed_net819 C?-1 C?-2 ) ( unnamed_net818 C?-1 C?-2 ) ( unnamed_net817 C?-1 C?-2 ) ( unnamed_net816 C?-1 C?-2 ) ( unnamed_net815 C?-1 C?-2 ) ( unnamed_net814 C?-1 C?-2 ) ( unnamed_net813 C?-1 C?-2 ) ( unnamed_net812 C?-1 C?-2 ) ( unnamed_net811 C?-1 C?-2 ) ( unnamed_net810 C?-1 C?-2 ) ( unnamed_net809 C?-1 C?-2 ) ( unnamed_net808 C?-1 C?-2 ) ( unnamed_net807 C?-1 C?-2 ) ( unnamed_net806 C?-1 C?-2 ) ( unnamed_net805 C?-1 C?-2 ) ( unnamed_net804 C?-1 C?-2 ) ( unnamed_net803 C?-1 C?-2 ) ( unnamed_net802 C?-1 C?-2 ) ( unnamed_net801 C?-1 C?-2 ) ( unnamed_net800 C?-1 C?-2 ) ( unnamed_net799 C?-1 C?-2 ) ( unnamed_net798 C?-1 C?-2 ) ( unnamed_net797 C?-1 C?-2 ) ( unnamed_net796 C?-1 C?-2 ) ( unnamed_net795 C?-1 C?-2 ) ( unnamed_net794 C?-1 C?-2 ) ( unnamed_net793 C?-1 C?-2 ) ( unnamed_net792 C?-1 C?-2 ) ( unnamed_net791 C?-1 C?-2 ) ( unnamed_net790 C?-1 C?-2 ) ( unnamed_net789 C?-1 C?-2 ) ( unnamed_net788 C?-1 C?-2 ) ( unnamed_net787 C?-1 C?-2 ) ( unnamed_net786 C?-1 C?-2 ) ( unnamed_net785 C?-1 C?-2 ) ( unnamed_net784 C?-2 ) ( unnamed_net783 C?-1 C?-2 ) ( unnamed_net782 C?-1 C?-2 ) ( unnamed_net781 C?-2 ) ( unnamed_net780 C?-1 C?-2 ) ( unnamed_net779 C?-1 C?-2 ) ( unnamed_net778 C?-1 C?-2 ) ( unnamed_net777 C?-1 C?-2 ) ( unnamed_net776 C?-1 C?-2 ) ( unnamed_net775 C?-1 C?-2 ) ( unnamed_net774 C?-1 C?-2 ) ( unnamed_net773 C?-1 C?-2 ) ( unnamed_net772 C?-1 C?-2 ) ( unnamed_net771 C?-1 C?-2 ) ( unnamed_net770 C?-2 ) ( unnamed_net769 C?-1 C?-2 ) ( unnamed_net768 C?-1 C?-2 ) ( unnamed_net767 C?-2 ) ( unnamed_net766 C?-1 C?-2 ) ( unnamed_net765 C?-1 C?-2 ) ( unnamed_net764 C?-1 C?-2 ) ( unnamed_net763 C?-1 C?-2 ) ( unnamed_net762 C?-1 C?-2 ) ( unnamed_net761 C?-1 C?-2 ) ( unnamed_net760 C?-1 C?-2 ) ( unnamed_net759 C?-1 C?-2 ) ( unnamed_net758 C?-1 C?-2 ) ( unnamed_net757 C?-1 C?-2 ) ( unnamed_net756 C?-1 C?-2 ) ( unnamed_net755 C?-1 C?-2 ) ( unnamed_net754 C?-1 C?-2 ) ( unnamed_net753 C?-1 C?-2 ) ( unnamed_net752 C?-1 C?-2 ) ( unnamed_net751 C?-1 C?-2 ) ( unnamed_net750 C?-1 C?-2 ) ( unnamed_net749 C?-1 C?-2 ) ( unnamed_net748 C?-1 C?-2 ) ( unnamed_net747 C?-1 C?-2 ) ( unnamed_net746 C?-1 C?-2 ) ( unnamed_net745 C?-1 C?-2 ) ( unnamed_net744 C?-1 C?-2 ) ( unnamed_net743 C?-1 C?-2 ) ( unnamed_net742 C?-1 C?-2 ) ( unnamed_net741 C?-1 C?-2 ) ( unnamed_net740 C?-1 C?-2 ) ( unnamed_net739 C?-1 C?-2 ) ( unnamed_net738 C?-1 C?-2 ) ( unnamed_net737 C?-1 C?-2 ) ( unnamed_net736 C?-1 C?-2 ) ( unnamed_net735 C?-1 C?-2 ) ( unnamed_net734 C?-1 C?-2 ) ( unnamed_net733 C?-1 C?-2 ) ( unnamed_net732 C?-1 C?-2 ) ( unnamed_net731 C?-1 C?-2 ) ( unnamed_net730 C?-1 C?-2 ) ( unnamed_net729 C?-1 C?-2 ) ( unnamed_net728 C?-1 C?-2 ) ( unnamed_net727 C?-1 C?-2 ) ( unnamed_net726 C?-1 C?-2 ) ( unnamed_net725 C?-1 C?-2 ) ( unnamed_net724 C?-2 ) ( unnamed_net723 C?-1 C?-2 ) ( unnamed_net722 C?-1 C?-2 ) ( unnamed_net721 C?-2 ) ( unnamed_net720 C?-1 C?-2 ) ( unnamed_net719 C?-1 C?-2 ) ( unnamed_net718 C?-1 C?-2 ) ( unnamed_net717 C?-1 C?-2 ) ( unnamed_net716 C?-1 C?-2 ) ( unnamed_net715 C?-1 C?-2 ) ( unnamed_net714 C?-1 C?-2 ) ( unnamed_net713 C?-1 C?-2 ) ( unnamed_net712 C?-1 C?-2 ) ( unnamed_net711 C?-1 C?-2 ) ( unnamed_net710 C?-2 ) ( unnamed_net709 C?-1 C?-2 ) ( unnamed_net708 C?-1 C?-2 ) ( unnamed_net707 C?-2 ) ( unnamed_net706 C?-1 ) ( unnamed_net705 C?-1 C?-2 ) ( unnamed_net704 C?-1 C?-2 ) ( unnamed_net703 C?-1 C?-2 ) ( unnamed_net702 C?-1 C?-2 ) ( unnamed_net701 C?-1 C?-2 ) ( unnamed_net700 C?-1 C?-2 ) ( unnamed_net699 C?-1 C?-2 ) ( unnamed_net698 C?-1 C?-2 ) ( unnamed_net697 C?-1 ) ( unnamed_net696 C?-1 C?-2 ) ( unnamed_net695 C?-1 C?-2 ) ( unnamed_net694 C?-1 C?-2 ) ( unnamed_net693 C?-1 C?-2 ) ( unnamed_net692 C?-1 C?-2 ) ( unnamed_net691 C?-1 C?-2 ) ( unnamed_net690 C?-1 C?-2 ) ( unnamed_net689 C?-1 C?-2 ) ( unnamed_net688 C?-1 C?-2 ) ( unnamed_net687 C?-1 C?-2 ) ( unnamed_net686 C?-1 C?-2 ) ( unnamed_net685 C?-1 C?-2 ) ( unnamed_net684 C?-1 C?-2 ) ( unnamed_net683 C?-1 C?-2 ) ( unnamed_net682 C?-1 C?-2 ) ( unnamed_net681 C?-1 C?-2 ) ( unnamed_net680 C?-1 C?-2 ) ( unnamed_net679 C?-1 C?-2 ) ( unnamed_net678 C?-1 C?-2 ) ( unnamed_net677 C?-1 C?-2 ) ( unnamed_net676 C?-1 C?-2 ) ( unnamed_net675 C?-1 C?-2 ) ( unnamed_net674 C?-1 C?-2 ) ( unnamed_net673 C?-1 C?-2 ) ( unnamed_net672 C?-1 ) ( unnamed_net671 C?-1 C?-2 ) ( unnamed_net670 C?-1 C?-2 ) ( unnamed_net669 C?-1 C?-2 ) ( unnamed_net668 C?-1 C?-2 ) ( unnamed_net667 C?-1 C?-2 ) ( unnamed_net666 C?-1 C?-2 ) ( unnamed_net665 C?-1 C?-2 ) ( unnamed_net664 C?-1 C?-2 ) ( unnamed_net663 C?-1 ) ( unnamed_net662 C?-1 C?-2 ) ( unnamed_net661 C?-1 C?-2 ) ( unnamed_net660 C?-1 C?-2 ) ( unnamed_net659 C?-1 C?-2 ) ( unnamed_net658 C?-1 C?-2 ) ( unnamed_net657 C?-1 C?-2 ) ( unnamed_net656 C?-1 C?-2 ) ( unnamed_net655 C?-1 C?-2 ) ( unnamed_net654 C?-1 C?-2 ) ( unnamed_net653 C?-1 C?-2 ) ( unnamed_net652 C?-1 C?-2 ) ( unnamed_net651 C?-1 C?-2 ) ( unnamed_net650 C?-1 C?-2 ) ( unnamed_net649 C?-1 C?-2 ) ( unnamed_net648 C?-1 C?-2 ) ( unnamed_net647 C?-1 C?-2 ) ( unnamed_net646 C?-1 C?-2 ) ( unnamed_net645 C?-1 C?-2 ) ( unnamed_net644 C?-1 C?-2 ) ( unnamed_net643 C?-1 C?-2 ) ( unnamed_net642 C?-1 C?-2 ) ( unnamed_net641 C?-1 C?-2 ) ( unnamed_net640 C?-1 C?-2 ) ( unnamed_net639 C?-1 C?-2 ) ( unnamed_net638 C?-1 C?-2 ) ( unnamed_net637 C?-1 C?-2 ) ( unnamed_net636 C?-1 C?-2 ) ( unnamed_net635 C?-1 C?-2 ) ( unnamed_net634 C?-1 C?-2 ) ( unnamed_net633 C?-1 C?-2 ) ( unnamed_net632 C?-1 C?-2 ) ( unnamed_net631 C?-1 C?-2 ) ( unnamed_net630 C?-1 C?-2 ) ( unnamed_net629 C?-1 C?-2 ) ( unnamed_net628 C?-1 C?-2 ) ( unnamed_net627 C?-1 C?-2 ) ( unnamed_net626 C?-1 C?-2 ) ( unnamed_net625 C?-1 C?-2 ) ( unnamed_net624 C?-1 C?-2 ) ( unnamed_net623 C?-1 C?-2 ) ( unnamed_net622 C?-1 C?-2 ) ( unnamed_net621 C?-1 C?-2 ) ( unnamed_net620 C?-1 C?-2 ) ( unnamed_net619 C?-1 C?-2 ) ( unnamed_net618 C?-1 C?-2 ) ( unnamed_net617 C?-1 C?-2 ) ( unnamed_net616 C?-1 C?-2 ) ( unnamed_net615 C?-1 C?-2 ) ( unnamed_net614 C?-1 C?-2 ) ( unnamed_net613 C?-1 C?-2 ) ( unnamed_net612 C?-1 C?-2 ) ( unnamed_net611 C?-1 C?-2 ) ( unnamed_net610 C?-1 C?-2 ) ( unnamed_net609 C?-1 C?-2 ) ( unnamed_net608 C?-1 C?-2 ) ( unnamed_net607 C?-1 C?-2 ) ( unnamed_net606 C?-1 C?-2 ) ( unnamed_net605 C?-1 C?-2 ) ( unnamed_net604 C?-1 C?-2 ) ( unnamed_net603 C?-1 C?-2 ) ( unnamed_net602 C?-1 C?-2 ) ( unnamed_net601 C?-1 C?-2 ) ( unnamed_net600 C?-1 C?-2 ) ( unnamed_net599 C?-1 C?-2 ) ( unnamed_net598 C?-1 C?-2 ) ( unnamed_net597 C?-1 C?-2 ) ( unnamed_net596 C?-1 C?-2 ) ( unnamed_net595 C?-1 C?-2 ) ( unnamed_net594 C?-1 C?-2 ) ( unnamed_net593 C?-1 C?-2 ) ( unnamed_net592 C?-1 C?-2 ) ( unnamed_net591 C?-1 C?-2 ) ( unnamed_net590 C?-1 C?-2 ) ( unnamed_net589 C?-1 C?-2 ) ( unnamed_net588 C?-1 C?-2 ) ( unnamed_net587 C?-1 C?-2 ) ( unnamed_net586 C?-1 C?-2 ) ( unnamed_net585 C?-1 C?-2 ) ( unnamed_net584 C?-1 C?-2 ) ( unnamed_net583 C?-1 C?-2 ) ( unnamed_net582 C?-1 C?-2 ) ( unnamed_net581 C?-1 C?-2 ) ( unnamed_net580 C?-1 C?-2 ) ( unnamed_net579 C?-1 C?-2 ) ( unnamed_net578 C?-1 C?-2 ) ( unnamed_net577 C?-1 C?-2 ) ( unnamed_net576 C?-1 C?-2 ) ( unnamed_net575 C?-1 C?-2 ) ( unnamed_net574 C?-1 ) ( unnamed_net573 C?-1 C?-2 ) ( unnamed_net572 C?-1 C?-2 ) ( unnamed_net571 C?-1 C?-2 ) ( unnamed_net570 C?-1 C?-2 ) ( unnamed_net569 C?-1 C?-2 ) ( unnamed_net568 C?-1 C?-2 ) ( unnamed_net567 C?-1 C?-2 ) ( unnamed_net566 C?-1 C?-2 ) ( unnamed_net565 C?-1 ) ( unnamed_net564 C?-1 C?-2 ) ( unnamed_net563 C?-1 C?-2 ) ( unnamed_net562 C?-1 C?-2 ) ( unnamed_net561 C?-1 C?-2 ) ( unnamed_net560 C?-1 C?-2 ) ( unnamed_net559 C?-1 C?-2 ) ( unnamed_net558 C?-1 C?-2 ) ( unnamed_net557 C?-1 C?-2 ) ( unnamed_net556 C?-1 C?-2 ) ( unnamed_net555 C?-1 C?-2 ) ( unnamed_net554 C?-1 C?-2 ) ( unnamed_net553 C?-1 C?-2 ) ( unnamed_net552 C?-1 C?-2 ) ( unnamed_net551 C?-1 C?-2 ) ( unnamed_net550 C?-1 C?-2 ) ( unnamed_net549 C?-1 C?-2 ) ( unnamed_net548 C?-1 C?-2 ) ( unnamed_net547 C?-1 C?-2 ) ( unnamed_net546 C?-1 C?-2 ) ( unnamed_net545 C?-1 C?-2 ) ( unnamed_net544 C?-1 C?-2 ) ( unnamed_net543 C?-1 C?-2 ) ( unnamed_net542 C?-1 C?-2 ) ( unnamed_net541 C?-1 C?-2 ) ( unnamed_net540 C?-1 ) ( unnamed_net539 C?-1 C?-2 ) ( unnamed_net538 C?-1 C?-2 ) ( unnamed_net537 C?-1 C?-2 ) ( unnamed_net536 C?-1 C?-2 ) ( unnamed_net535 C?-1 C?-2 ) ( unnamed_net534 C?-1 C?-2 ) ( unnamed_net533 C?-1 C?-2 ) ( unnamed_net532 C?-1 C?-2 ) ( unnamed_net531 C?-1 ) ( unnamed_net530 C?-1 C?-2 ) ( unnamed_net529 C?-2 ) ( unnamed_net528 C?-1 C?-2 ) ( unnamed_net527 C?-1 C?-2 ) ( unnamed_net526 C?-1 C?-2 ) ( unnamed_net525 C?-1 C?-2 ) ( unnamed_net524 C?-1 C?-2 ) ( unnamed_net523 C?-1 C?-2 ) ( unnamed_net522 C?-2 ) ( unnamed_net521 C?-1 C?-2 ) ( unnamed_net520 C?-1 C?-2 ) ( unnamed_net519 C?-1 C?-2 ) ( unnamed_net518 C?-1 C?-2 ) ( unnamed_net517 C?-1 C?-2 ) ( unnamed_net516 C?-1 C?-2 ) ( unnamed_net515 C?-1 C?-2 ) ( unnamed_net514 C?-1 C?-2 ) ( unnamed_net513 C?-1 C?-2 ) ( unnamed_net512 C?-1 C?-2 ) ( unnamed_net511 C?-1 C?-2 ) ( unnamed_net510 C?-1 C?-2 ) ( unnamed_net509 C?-1 C?-2 ) ( unnamed_net508 C?-1 C?-2 ) ( unnamed_net507 C?-1 C?-2 ) ( unnamed_net506 C?-1 C?-2 ) ( unnamed_net505 C?-1 C?-2 ) ( unnamed_net504 C?-1 C?-2 ) ( unnamed_net503 C?-1 C?-2 ) ( unnamed_net502 C?-1 C?-2 ) ( unnamed_net501 C?-1 C?-2 ) ( unnamed_net500 C?-1 C?-2 ) ( unnamed_net499 C?-2 ) ( unnamed_net498 C?-1 C?-2 ) ( unnamed_net497 C?-1 C?-2 ) ( unnamed_net496 C?-1 C?-2 ) ( unnamed_net495 C?-1 C?-2 ) ( unnamed_net494 C?-1 C?-2 ) ( unnamed_net493 C?-1 C?-2 ) ( unnamed_net492 C?-2 ) ( unnamed_net491 C?-1 C?-2 ) ( unnamed_net490 C?-1 C?-2 ) ( unnamed_net489 C?-1 C?-2 ) ( unnamed_net488 C?-1 C?-2 ) ( unnamed_net487 C?-1 C?-2 ) ( unnamed_net486 C?-1 C?-2 ) ( unnamed_net485 C?-1 C?-2 ) ( unnamed_net484 C?-1 C?-2 ) ( unnamed_net483 C?-1 C?-2 ) ( unnamed_net482 C?-1 C?-2 ) ( unnamed_net481 C?-1 C?-2 ) ( unnamed_net480 C?-1 C?-2 ) ( unnamed_net479 C?-1 C?-2 ) ( unnamed_net478 C?-1 C?-2 ) ( unnamed_net477 C?-1 C?-2 ) ( unnamed_net476 C?-1 C?-2 ) ( unnamed_net475 C?-1 C?-2 ) ( unnamed_net474 C?-1 C?-2 ) ( unnamed_net473 C?-1 C?-2 ) ( unnamed_net472 C?-1 C?-2 ) ( unnamed_net471 C?-1 C?-2 ) ( unnamed_net470 C?-1 C?-2 ) ( unnamed_net469 C?-1 C?-2 ) ( unnamed_net468 C?-1 C?-2 ) ( unnamed_net467 C?-1 C?-2 ) ( unnamed_net466 C?-1 C?-2 ) ( unnamed_net465 C?-1 C?-2 ) ( unnamed_net464 C?-1 C?-2 ) ( unnamed_net463 C?-1 C?-2 ) ( unnamed_net462 C?-1 C?-2 ) ( unnamed_net461 C?-1 C?-2 ) ( unnamed_net460 C?-1 C?-2 ) ( unnamed_net459 C?-1 C?-2 ) ( unnamed_net458 C?-1 C?-2 ) ( unnamed_net457 C?-1 C?-2 ) ( unnamed_net456 C?-1 C?-2 ) ( unnamed_net455 C?-1 C?-2 ) ( unnamed_net454 C?-1 C?-2 ) ( unnamed_net453 C?-1 C?-2 ) ( unnamed_net452 C?-1 C?-2 ) ( unnamed_net451 C?-1 C?-2 ) ( unnamed_net450 C?-1 C?-2 ) ( unnamed_net449 C?-1 C?-2 ) ( unnamed_net448 C?-1 C?-2 ) ( unnamed_net447 C?-1 C?-2 ) ( unnamed_net446 C?-1 C?-2 ) ( unnamed_net445 C?-1 C?-2 ) ( unnamed_net444 C?-1 C?-2 ) ( unnamed_net443 C?-1 C?-2 ) ( unnamed_net442 C?-1 C?-2 ) ( unnamed_net441 C?-1 C?-2 ) ( unnamed_net440 C?-1 C?-2 ) ( unnamed_net439 C?-1 C?-2 ) ( unnamed_net438 C?-1 C?-2 ) ( unnamed_net437 C?-1 C?-2 ) ( unnamed_net436 C?-1 C?-2 ) ( unnamed_net435 C?-1 C?-2 ) ( unnamed_net434 C?-1 C?-2 ) ( unnamed_net433 C?-1 C?-2 ) ( unnamed_net432 C?-1 C?-2 ) ( unnamed_net431 C?-1 C?-2 ) ( unnamed_net430 C?-1 C?-2 ) ( unnamed_net429 C?-1 C?-2 ) ( unnamed_net428 C?-1 C?-2 ) ( unnamed_net427 C?-1 C?-2 ) ( unnamed_net426 C?-1 C?-2 ) ( unnamed_net425 C?-1 C?-2 ) ( unnamed_net424 C?-1 C?-2 ) ( unnamed_net423 C?-1 C?-2 ) ( unnamed_net422 C?-1 C?-2 ) ( unnamed_net421 C?-1 C?-2 ) ( unnamed_net420 C?-1 C?-2 ) ( unnamed_net419 C?-1 C?-2 ) ( unnamed_net418 C?-1 C?-2 ) ( unnamed_net417 C?-1 C?-2 ) ( unnamed_net416 C?-1 C?-2 ) ( unnamed_net415 C?-1 C?-2 ) ( unnamed_net414 C?-1 C?-2 ) ( unnamed_net413 C?-1 C?-2 ) ( unnamed_net412 C?-1 C?-2 ) ( unnamed_net411 C?-1 C?-2 ) ( unnamed_net410 C?-1 C?-2 ) ( unnamed_net409 C?-1 C?-2 ) ( unnamed_net408 C?-1 C?-2 ) ( unnamed_net407 C?-1 C?-2 ) ( unnamed_net406 C?-1 C?-2 ) ( unnamed_net405 C?-2 ) ( unnamed_net404 C?-1 C?-2 ) ( unnamed_net403 C?-1 C?-2 ) ( unnamed_net402 C?-1 C?-2 ) ( unnamed_net401 C?-1 C?-2 ) ( unnamed_net400 C?-1 C?-2 ) ( unnamed_net399 C?-1 C?-2 ) ( unnamed_net398 C?-2 ) ( unnamed_net397 C?-1 C?-2 ) ( unnamed_net396 C?-1 C?-2 ) ( unnamed_net395 C?-1 C?-2 ) ( unnamed_net394 C?-1 C?-2 ) ( unnamed_net393 C?-1 C?-2 ) ( unnamed_net392 C?-1 C?-2 ) ( unnamed_net391 C?-1 C?-2 ) ( unnamed_net390 C?-1 C?-2 ) ( unnamed_net389 C?-1 C?-2 ) ( unnamed_net388 C?-1 C?-2 ) ( unnamed_net387 C?-1 C?-2 ) ( unnamed_net386 C?-1 C?-2 ) ( unnamed_net385 C?-1 C?-2 ) ( unnamed_net384 C?-1 C?-2 ) ( unnamed_net383 C?-1 C?-2 ) ( unnamed_net382 C?-1 C?-2 ) ( unnamed_net381 C?-1 C?-2 ) ( unnamed_net380 C?-1 C?-2 ) ( unnamed_net379 C?-1 C?-2 ) ( unnamed_net378 C?-1 C?-2 ) ( unnamed_net377 C?-1 C?-2 ) ( unnamed_net376 C?-1 C?-2 ) ( unnamed_net375 C?-2 ) ( unnamed_net374 C?-1 C?-2 ) ( unnamed_net373 C?-1 C?-2 ) ( unnamed_net372 C?-1 C?-2 ) ( unnamed_net371 C?-1 C?-2 ) ( unnamed_net370 C?-1 C?-2 ) ( unnamed_net369 C?-1 C?-2 ) ( unnamed_net368 C?-2 ) ( unnamed_net367 C?-2 ) ( unnamed_net366 C?-1 C?-2 ) ( unnamed_net365 C?-1 C?-2 ) ( unnamed_net364 C?-1 ) ( unnamed_net363 C?-1 C?-2 ) ( unnamed_net362 C?-1 C?-2 ) ( unnamed_net361 C?-1 C?-2 ) ( unnamed_net360 C?-1 C?-2 ) ( unnamed_net359 C?-1 ) ( unnamed_net358 C?-1 C?-2 ) ( unnamed_net357 C?-1 C?-2 ) ( unnamed_net356 C?-1 C?-2 ) ( unnamed_net355 C?-1 C?-2 ) ( unnamed_net354 C?-1 C?-2 ) ( unnamed_net353 C?-1 C?-2 ) ( unnamed_net352 C?-1 C?-2 ) ( unnamed_net351 C?-1 C?-2 ) ( unnamed_net350 C?-1 C?-2 ) ( unnamed_net349 C?-1 C?-2 ) ( unnamed_net348 C?-1 C?-2 ) ( unnamed_net347 C?-1 C?-2 ) ( unnamed_net346 C?-1 ) ( unnamed_net345 C?-1 C?-2 ) ( unnamed_net344 C?-1 C?-2 ) ( unnamed_net343 C?-1 C?-2 ) ( unnamed_net342 C?-1 C?-2 ) ( unnamed_net341 C?-1 ) ( unnamed_net340 C?-1 C?-2 ) ( unnamed_net339 C?-1 C?-2 ) ( unnamed_net338 C?-1 C?-2 ) ( unnamed_net337 C?-1 C?-2 ) ( unnamed_net336 C?-1 C?-2 ) ( unnamed_net335 C?-1 C?-2 ) ( unnamed_net334 C?-1 C?-2 ) ( unnamed_net333 C?-1 C?-2 ) ( unnamed_net332 C?-1 C?-2 ) ( unnamed_net331 C?-1 C?-2 ) ( unnamed_net330 C?-1 C?-2 ) ( unnamed_net329 C?-1 C?-2 ) ( unnamed_net328 C?-1 C?-2 ) ( unnamed_net327 C?-1 C?-2 ) ( unnamed_net326 C?-1 C?-2 ) ( unnamed_net325 C?-1 C?-2 ) ( unnamed_net324 C?-1 C?-2 ) ( unnamed_net323 C?-1 C?-2 ) ( unnamed_net322 C?-1 C?-2 ) ( unnamed_net321 C?-1 C?-2 ) ( unnamed_net320 C?-1 C?-2 ) ( unnamed_net319 C?-1 C?-2 ) ( unnamed_net318 C?-1 C?-2 ) ( unnamed_net317 C?-1 C?-2 ) ( unnamed_net316 C?-1 C?-2 ) ( unnamed_net315 C?-1 C?-2 ) ( unnamed_net314 C?-1 C?-2 ) ( unnamed_net313 C?-1 C?-2 ) ( unnamed_net312 C?-1 C?-2 ) ( unnamed_net311 C?-1 C?-2 ) ( unnamed_net310 C?-1 C?-2 ) ( unnamed_net309 C?-1 C?-2 ) ( unnamed_net308 C?-1 C?-2 ) ( unnamed_net307 C?-1 C?-2 ) ( unnamed_net306 C?-1 C?-2 ) ( unnamed_net305 C?-1 C?-2 ) ( unnamed_net304 C?-1 C?-2 ) ( unnamed_net303 C?-1 C?-2 ) ( unnamed_net302 C?-1 C?-2 ) ( unnamed_net301 C?-1 C?-2 ) ( unnamed_net300 C?-1 C?-2 ) ( unnamed_net299 C?-1 C?-2 ) ( unnamed_net298 C?-1 C?-2 ) ( unnamed_net297 C?-1 C?-2 ) ( unnamed_net296 C?-1 ) ( unnamed_net295 C?-1 C?-2 ) ( unnamed_net294 C?-1 C?-2 ) ( unnamed_net293 C?-1 C?-2 ) ( unnamed_net292 C?-1 C?-2 ) ( unnamed_net291 C?-1 ) ( unnamed_net290 C?-1 C?-2 ) ( unnamed_net289 C?-1 C?-2 ) ( unnamed_net288 C?-1 C?-2 ) ( unnamed_net287 C?-1 C?-2 ) ( unnamed_net286 C?-1 C?-2 ) ( unnamed_net285 C?-1 C?-2 ) ( unnamed_net284 C?-1 C?-2 ) ( unnamed_net283 C?-1 C?-2 ) ( unnamed_net282 C?-1 C?-2 ) ( unnamed_net281 C?-1 C?-2 ) ( unnamed_net280 C?-1 C?-2 ) ( unnamed_net279 C?-1 C?-2 ) ( unnamed_net278 C?-1 ) ( unnamed_net277 C?-1 C?-2 ) ( unnamed_net276 C?-1 C?-2 ) ( unnamed_net275 C?-1 C?-2 ) ( unnamed_net274 C?-1 C?-2 ) ( unnamed_net273 C?-1 ) ( unnamed_net272 C?-1 C?-2 ) ( unnamed_net271 C?-1 C?-2 ) ( unnamed_net270 C?-1 C?-2 ) ( unnamed_net269 C?-1 C?-2 ) ( unnamed_net268 C?-1 C?-2 ) ( unnamed_net267 C?-1 C?-2 ) ( unnamed_net266 C?-1 C?-2 ) ( unnamed_net265 C?-1 C?-2 ) ( unnamed_net264 C?-1 C?-2 ) ( unnamed_net263 C?-1 C?-2 ) ( unnamed_net262 C?-1 C?-2 ) ( unnamed_net261 C?-1 C?-2 ) ( unnamed_net260 C?-1 C?-2 ) ( unnamed_net259 C?-1 C?-2 ) ( unnamed_net258 C?-1 C?-2 ) ( unnamed_net257 C?-1 C?-2 ) ( unnamed_net256 C?-1 C?-2 ) ( unnamed_net255 C?-1 C?-2 ) ( unnamed_net254 C?-1 C?-2 ) ( unnamed_net253 C?-1 C?-2 ) ( unnamed_net252 C?-1 C?-2 ) ( unnamed_net251 C?-1 C?-2 ) ( unnamed_net250 C?-1 C?-2 ) ( unnamed_net249 C?-1 C?-2 ) ( unnamed_net248 C?-1 C?-2 ) ( unnamed_net247 C?-1 C?-2 ) ( unnamed_net246 C?-1 C?-2 ) ( unnamed_net245 C?-1 C?-2 ) ( unnamed_net244 C?-1 C?-2 ) ( unnamed_net243 C?-1 C?-2 ) ( unnamed_net242 C?-1 C?-2 ) ( unnamed_net241 C?-1 C?-2 ) ( unnamed_net240 C?-1 C?-2 ) ( unnamed_net239 C?-1 C?-2 ) ( unnamed_net238 C?-1 C?-2 ) ( unnamed_net237 C?-1 C?-2 ) ( unnamed_net236 C?-1 C?-2 ) ( unnamed_net235 C?-1 C?-2 ) ( unnamed_net234 C?-1 C?-2 ) ( unnamed_net233 C?-1 C?-2 ) ( unnamed_net232 C?-1 C?-2 ) ( unnamed_net231 C?-1 C?-2 ) ( unnamed_net230 C?-1 C?-2 ) ( unnamed_net229 C?-1 C?-2 ) ( unnamed_net228 C?-1 C?-2 ) ( unnamed_net227 C?-1 C?-2 ) ( unnamed_net226 C?-1 C?-2 ) ( unnamed_net225 C?-1 C?-2 ) ( unnamed_net224 C?-1 C?-2 ) ( unnamed_net223 C?-1 C?-2 ) ( unnamed_net222 C?-1 C?-2 ) ( unnamed_net221 C?-1 C?-2 ) ( unnamed_net220 C?-1 C?-2 ) ( unnamed_net219 C?-1 C?-2 ) ( unnamed_net218 C?-1 C?-2 ) ( unnamed_net217 C?-1 C?-2 ) ( unnamed_net216 C?-1 C?-2 ) ( unnamed_net215 C?-1 C?-2 ) ( unnamed_net214 C?-1 C?-2 ) ( unnamed_net213 C?-1 C?-2 ) ( unnamed_net212 C?-1 C?-2 ) ( unnamed_net211 C?-1 C?-2 ) ( unnamed_net210 C?-1 C?-2 ) ( unnamed_net209 C?-1 C?-2 ) ( unnamed_net208 C?-1 C?-2 ) ( unnamed_net207 C?-1 C?-2 ) ( unnamed_net206 C?-1 C?-2 ) ( unnamed_net205 C?-1 C?-2 ) ( unnamed_net204 C?-1 C?-2 ) ( unnamed_net203 C?-1 C?-2 ) ( unnamed_net202 C?-1 C?-2 ) ( unnamed_net201 C?-1 C?-2 ) ( unnamed_net200 C?-1 C?-2 ) ( unnamed_net199 C?-1 C?-2 ) ( unnamed_net198 C?-1 C?-2 ) ( unnamed_net197 C?-1 C?-2 ) ( unnamed_net196 C?-1 C?-2 ) ( unnamed_net195 C?-1 C?-2 ) ( unnamed_net194 C?-1 C?-2 ) ( unnamed_net193 C?-1 C?-2 ) ( unnamed_net192 C?-1 C?-2 ) ( unnamed_net191 C?-1 C?-2 ) ( unnamed_net190 C?-1 C?-2 ) ( unnamed_net189 C?-1 C?-2 ) ( unnamed_net188 C?-1 C?-2 ) ( unnamed_net187 C?-1 C?-2 ) ( unnamed_net186 C?-1 C?-2 ) ( unnamed_net185 C?-1 ) ( unnamed_net184 C?-1 C?-2 ) ( unnamed_net183 C?-1 C?-2 ) ( unnamed_net182 C?-1 C?-2 ) ( unnamed_net181 C?-1 C?-2 ) ( unnamed_net180 C?-1 C?-2 ) ( unnamed_net179 C?-1 C?-2 ) ( unnamed_net178 C?-1 C?-2 ) ( unnamed_net177 C?-1 C?-2 ) ( unnamed_net176 C?-1 ) ( unnamed_net175 C?-1 C?-2 ) ( unnamed_net174 C?-1 C?-2 ) ( unnamed_net173 C?-1 C?-2 ) ( unnamed_net172 C?-1 C?-2 ) ( unnamed_net171 C?-1 C?-2 ) ( unnamed_net170 C?-1 C?-2 ) ( unnamed_net169 C?-1 C?-2 ) ( unnamed_net168 C?-1 C?-2 ) ( unnamed_net167 C?-1 C?-2 ) ( unnamed_net166 C?-1 C?-2 ) ( unnamed_net165 C?-1 C?-2 ) ( unnamed_net164 C?-1 C?-2 ) ( unnamed_net163 C?-1 C?-2 ) ( unnamed_net162 C?-1 C?-2 ) ( unnamed_net161 C?-1 C?-2 ) ( unnamed_net160 C?-1 C?-2 ) ( unnamed_net159 C?-1 C?-2 ) ( unnamed_net158 C?-1 C?-2 ) ( unnamed_net157 C?-1 C?-2 ) ( unnamed_net156 C?-1 C?-2 ) ( unnamed_net155 C?-1 C?-2 ) ( unnamed_net154 C?-1 C?-2 ) ( unnamed_net153 C?-1 C?-2 ) ( unnamed_net152 C?-1 C?-2 ) ( unnamed_net151 C?-1 ) ( unnamed_net150 C?-1 C?-2 ) ( unnamed_net149 C?-1 C?-2 ) ( unnamed_net148 C?-1 C?-2 ) ( unnamed_net147 C?-1 C?-2 ) ( unnamed_net146 C?-1 C?-2 ) ( unnamed_net145 C?-1 C?-2 ) ( unnamed_net144 C?-1 C?-2 ) ( unnamed_net143 C?-1 C?-2 ) ( unnamed_net142 C?-1 ) ( unnamed_net141 C?-1 C?-2 ) ( unnamed_net140 C?-1 C?-2 ) ( unnamed_net139 C?-1 C?-2 ) ( unnamed_net138 C?-1 C?-2 ) ( unnamed_net137 C?-1 C?-2 ) ( unnamed_net136 C?-1 C?-2 ) ( unnamed_net135 C?-1 C?-2 ) ( unnamed_net134 C?-1 C?-2 ) ( unnamed_net133 C?-1 C?-2 ) ( unnamed_net132 C?-1 C?-2 ) ( unnamed_net131 C?-1 C?-2 ) ( unnamed_net130 C?-1 C?-2 ) ( unnamed_net129 C?-1 C?-2 ) ( unnamed_net128 C?-1 C?-2 ) ( unnamed_net127 C?-1 C?-2 ) ( unnamed_net126 C?-1 C?-2 ) ( unnamed_net125 C?-1 C?-2 ) ( unnamed_net124 C?-1 C?-2 ) ( unnamed_net123 C?-1 C?-2 ) ( unnamed_net122 C?-1 C?-2 ) ( unnamed_net121 C?-1 C?-2 ) ( unnamed_net120 C?-1 C?-2 ) ( unnamed_net119 C?-1 C?-2 ) ( unnamed_net118 C?-1 C?-2 ) ( unnamed_net117 C?-1 C?-2 ) ( unnamed_net116 C?-1 C?-2 ) ( unnamed_net115 C?-1 C?-2 ) ( unnamed_net114 C?-1 C?-2 ) ( unnamed_net113 C?-1 C?-2 ) ( unnamed_net112 C?-1 C?-2 ) ( unnamed_net111 C?-1 C?-2 ) ( unnamed_net110 C?-1 C?-2 ) ( unnamed_net109 C?-1 C?-2 ) ( unnamed_net108 C?-1 C?-2 ) ( unnamed_net107 C?-1 C?-2 ) ( unnamed_net106 C?-1 C?-2 ) ( unnamed_net105 C?-1 C?-2 ) ( unnamed_net104 C?-1 C?-2 ) ( unnamed_net103 C?-1 C?-2 ) ( unnamed_net102 C?-1 C?-2 ) ( unnamed_net101 C?-1 C?-2 ) ( unnamed_net100 C?-1 C?-2 ) ( unnamed_net99 C?-1 C?-2 ) ( unnamed_net98 C?-1 C?-2 ) ( unnamed_net97 C?-1 C?-2 ) ( unnamed_net96 C?-1 ) ( unnamed_net95 C?-1 C?-2 ) ( unnamed_net94 C?-1 C?-2 ) ( unnamed_net93 C?-1 C?-2 ) ( unnamed_net92 C?-1 C?-2 ) ( unnamed_net91 C?-1 ) ( unnamed_net90 C?-1 C?-2 ) ( unnamed_net89 C?-1 C?-2 ) ( unnamed_net88 C?-1 C?-2 ) ( unnamed_net87 C?-1 C?-2 ) ( unnamed_net86 C?-1 C?-2 ) ( unnamed_net85 C?-1 C?-2 ) ( unnamed_net84 C?-1 C?-2 ) ( unnamed_net83 C?-1 C?-2 ) ( unnamed_net82 C?-1 C?-2 ) ( unnamed_net81 C?-1 C?-2 ) ( unnamed_net80 C?-1 C?-2 ) ( unnamed_net79 C?-1 C?-2 ) ( unnamed_net78 C?-1 ) ( unnamed_net77 C?-1 C?-2 ) ( unnamed_net76 C?-1 C?-2 ) ( unnamed_net75 C?-1 C?-2 ) ( unnamed_net74 C?-1 C?-2 ) ( unnamed_net73 C?-1 ) ( unnamed_net72 C?-1 C?-2 ) ( unnamed_net71 C?-1 C?-2 ) ( unnamed_net70 C?-1 C?-2 ) ( unnamed_net69 C?-1 C?-2 ) ( unnamed_net68 C?-1 C?-2 ) ( unnamed_net67 C?-1 C?-2 ) ( unnamed_net66 C?-1 C?-2 ) ( unnamed_net65 C?-1 C?-2 ) ( unnamed_net64 C?-1 C?-2 ) ( unnamed_net63 C?-1 C?-2 ) ( unnamed_net62 C?-1 C?-2 ) ( unnamed_net61 C?-1 C?-2 ) ( unnamed_net60 C?-1 C?-2 ) ( unnamed_net59 C?-1 C?-2 ) ( unnamed_net58 C?-1 C?-2 ) ( unnamed_net57 C?-1 C?-2 ) ( unnamed_net56 C?-1 C?-2 ) ( unnamed_net55 C?-1 C?-2 ) ( unnamed_net54 C?-1 C?-2 ) ( unnamed_net53 C?-1 C?-2 ) ( unnamed_net52 C?-1 C?-2 ) ( unnamed_net51 C?-1 C?-2 ) ( unnamed_net50 C?-1 C?-2 ) ( unnamed_net49 C?-1 ) ( unnamed_net48 C?-1 C?-2 ) ( unnamed_net47 C?-1 C?-2 ) ( unnamed_net46 C?-1 C?-2 ) ( unnamed_net45 C?-1 C?-2 ) ( unnamed_net44 C?-1 C?-2 ) ( unnamed_net43 C?-1 C?-2 ) ( unnamed_net42 C?-1 C?-2 ) ( unnamed_net41 C?-1 C?-2 ) ( unnamed_net40 C?-1 ) ( unnamed_net39 C?-1 C?-2 ) ( unnamed_net38 C?-1 C?-2 ) ( unnamed_net37 C?-1 C?-2 ) ( unnamed_net36 C?-1 C?-2 ) ( unnamed_net35 C?-1 C?-2 ) ( unnamed_net34 C?-1 C?-2 ) ( unnamed_net33 C?-1 C?-2 ) ( unnamed_net32 C?-1 C?-2 ) ( unnamed_net31 C?-1 C?-2 ) ( unnamed_net30 C?-1 C?-2 ) ( unnamed_net29 C?-1 C?-2 ) ( unnamed_net28 C?-1 C?-2 ) ( unnamed_net27 C?-1 C?-2 ) ( unnamed_net26 C?-1 ) ( unnamed_net25 C?-1 C?-2 ) ( unnamed_net24 C?-1 C?-2 ) ( unnamed_net23 C?-1 C?-2 ) ( unnamed_net22 C?-1 C?-2 ) ( unnamed_net21 C?-1 ) ( unnamed_net20 C?-1 C?-2 ) ( unnamed_net19 C?-1 C?-2 ) ( unnamed_net18 C?-1 C?-2 ) ( unnamed_net17 C?-1 C?-2 ) ( unnamed_net16 C?-1 C?-2 ) ( unnamed_net15 C?-1 C?-2 ) ( unnamed_net14 C?-1 C?-2 ) ( unnamed_net13 C?-1 ) ( unnamed_net12 C?-1 C?-2 ) ( unnamed_net11 C?-1 C?-2 ) ( unnamed_net10 C?-1 C?-2 ) ( unnamed_net9 C?-1 C?-2 ) ( unnamed_net8 C?-1 C?-2 ) ( unnamed_net7 C?-1 ) ( unnamed_net6 C?-1 C?-2 ) ( unnamed_net5 C?-1 C?-2 ) ( unnamed_net4 C?-1 C?-2 ) ( unnamed_net3 C?-1 ) ( unnamed_net2 C?-1 C?-2 ) ( unnamed_net1 C?-1 ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/tango/JD_Sort.retcode0000664000175000017500000000000212050461155022060 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/tango/cascade-output.net0000664000175000017500000000071212050461155022646 00000000000000[ AMP2 none cascade-amp ] [ T1 none cascade-transformer ] [ MX1 none cascade-mixer ] [ FL1 none cascade-filter ] [ DEF1 none cascade-defaults ] [ AMP1 none cascade-amp ] [ SOURCE none cascade-source ] [ DEFAULTS PATTERN cascade-defaults-top ] ( unnamed_net6 AMP2-1 T1-2 ) ( unnamed_net5 T1-1 MX1-2 ) ( unnamed_net4 MX1-1 FL1-2 ) ( unnamed_net3 FL1-1 DEF1-2 ) ( unnamed_net2 DEF1-1 AMP1-2 ) ( unnamed_net1 AMP1-1 SOURCE-1 ) ( GND DEFAULTS-1 ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/tango/multiequal-output.net0000664000175000017500000000022012050461155023437 00000000000000[ V1 none VOLTAGE_SOURCE DC 1V ] [ R1 PATTERN RESISTOR 20 ] [ A1 PATTERN options abotol=1e-11 ] ( GND V1-2 R1-1 ) ( unnamed_net1 V1-1 R1-2 ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/tango/JD_nomunge-output.net0000664000175000017500000000102412050461155023305 00000000000000[ A1 PATTERN model ] [ Cm PATTERN CAPACITOR 20p ] [ Cp PATTERN CAPACITOR 20p ] [ Rlp PATTERN RESISTOR 1meg ] [ Rlm PATTERN RESISTOR 500k ] [ Vdd none VOLTAGE_SOURCE DC 3.3V ] [ V1 none vpulse pulse 3.3 0 1u 10p 10p 1.25u 2.5u ] [ Rt PATTERN RESISTOR 1k ] [ Rb PATTERN RESISTOR 5.6k ] [ M1 PATTERN PMOS_TRANSISTOR ] [ X1 PATTERN LVD ] ( Vdd1 Rlp-2 M1-B M1-S Vdd-1 X1-6 ) ( GND Cm-2 Cp-2 Rlm-2 Vdd-2 V1-2 Rb-1 X1-7 X1-2 ) ( LVH Rb-2 M1-D M1-G X1-3 ) ( i V1-1 X1-1 ) ( p Cp-1 Rt-1 Rlp-1 X1-5 ) ( m Cm-1 Rlm-1 Rt-2 X1-4 ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/tango/stack-torture.retcode0000664000175000017500000000000212063576065023376 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/tango/powersupply.retcode0000664000175000017500000000000212050461155023165 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/tango/JD_Sort_nomunge-output.net0000664000175000017500000000102412050461155024314 00000000000000[ A1 PATTERN model ] [ Cm PATTERN CAPACITOR 20p ] [ Cp PATTERN CAPACITOR 20p ] [ Rlp PATTERN RESISTOR 1meg ] [ Rlm PATTERN RESISTOR 500k ] [ Vdd none VOLTAGE_SOURCE DC 3.3V ] [ V1 none vpulse pulse 3.3 0 1u 10p 10p 1.25u 2.5u ] [ Rt PATTERN RESISTOR 1k ] [ Rb PATTERN RESISTOR 5.6k ] [ M1 PATTERN PMOS_TRANSISTOR ] [ X1 PATTERN LVD ] ( Vdd1 Rlp-2 M1-B M1-S Vdd-1 X1-6 ) ( GND Cm-2 Cp-2 Rlm-2 Vdd-2 V1-2 Rb-1 X1-7 X1-2 ) ( LVH Rb-2 M1-D M1-G X1-3 ) ( i V1-1 X1-1 ) ( p Cp-1 Rt-1 Rlp-1 X1-5 ) ( m Cm-1 Rlm-1 Rt-2 X1-4 ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/tango/TwoStageAmp_Sort.retcode0000664000175000017500000000000212050461155023756 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/tango/netattrib.retcode0000664000175000017500000000000212050461155022550 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/tango/JD_nomunge.retcode0000664000175000017500000000000212050461155022601 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/tango/JD_Include-output.net0000664000175000017500000000102412050461155023220 00000000000000[ A1 PATTERN model ] [ Cm PATTERN CAPACITOR 20p ] [ Cp PATTERN CAPACITOR 20p ] [ Rlp PATTERN RESISTOR 1meg ] [ Rlm PATTERN RESISTOR 500k ] [ Vdd none VOLTAGE_SOURCE DC 3.3V ] [ V1 none vpulse pulse 3.3 0 1u 10p 10p 1.25u 2.5u ] [ Rt PATTERN RESISTOR 1k ] [ Rb PATTERN RESISTOR 5.6k ] [ M1 PATTERN PMOS_TRANSISTOR ] [ X1 PATTERN LVD ] ( Vdd1 Rlp-2 M1-B M1-S Vdd-1 X1-6 ) ( GND Cm-2 Cp-2 Rlm-2 Vdd-2 V1-2 Rb-1 X1-7 X1-2 ) ( LVH Rb-2 M1-D M1-G X1-3 ) ( i V1-1 X1-1 ) ( p Cp-1 Rt-1 Rlp-1 X1-5 ) ( m Cm-1 Rlm-1 Rt-2 X1-4 ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/tango/JD_Sort-output.net0000664000175000017500000000102412050461155022564 00000000000000[ A1 PATTERN model ] [ Cm PATTERN CAPACITOR 20p ] [ Cp PATTERN CAPACITOR 20p ] [ Rlp PATTERN RESISTOR 1meg ] [ Rlm PATTERN RESISTOR 500k ] [ Vdd none VOLTAGE_SOURCE DC 3.3V ] [ V1 none vpulse pulse 3.3 0 1u 10p 10p 1.25u 2.5u ] [ Rt PATTERN RESISTOR 1k ] [ Rb PATTERN RESISTOR 5.6k ] [ M1 PATTERN PMOS_TRANSISTOR ] [ X1 PATTERN LVD ] ( Vdd1 Rlp-2 M1-B M1-S Vdd-1 X1-6 ) ( GND Cm-2 Cp-2 Rlm-2 Vdd-2 V1-2 Rb-1 X1-7 X1-2 ) ( LVH Rb-2 M1-D M1-G X1-3 ) ( i V1-1 X1-1 ) ( p Cp-1 Rt-1 Rlp-1 X1-5 ) ( m Cm-1 Rlm-1 Rt-2 X1-4 ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/tango/cascade.retcode0000664000175000017500000000000212050461155022137 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/tango/TwoStageAmp_Sort-output.net0000664000175000017500000000210312050461155024461 00000000000000[ C2 PATTERN CAPACITOR 2.2uF ] [ R4 PATTERN RESISTOR 2.8K ] [ R3 PATTERN RESISTOR 28K ] [ R8 PATTERN RESISTOR 1 ] [ CE2 PATTERN CAPACITOR 1pF ] [ RE2 PATTERN RESISTOR 100 ] [ RC1 PATTERN RESISTOR 3.3K ] [ Q2 PATTERN NPN_TRANSISTOR ] [ C1 PATTERN CAPACITOR 2.2uF ] [ A3 PATTERN directive .options TEMP=25 ] [ A2 PATTERN include ] [ A1 PATTERN model ] [ VCC none VOLTAGE_SOURCE DC 15V ] [ Vinput none vsin DC 1.6V AC 10MV SIN(0 1MV 1KHZ) ] [ CE1 PATTERN CAPACITOR 1pF ] [ Cout PATTERN CAPACITOR 2.2uF ] [ RL PATTERN RESISTOR 100K ] [ RC2 PATTERN RESISTOR 1K ] [ RE1 PATTERN RESISTOR 100 ] [ R2 PATTERN RESISTOR 2K ] [ R1 PATTERN RESISTOR 28K ] [ R5 PATTERN RESISTOR 10 ] [ Q1 PATTERN NPN_TRANSISTOR ] ( unnamed_net2 C2-1 R8-2 ) ( Vbase2 R3-1 C2-2 R4-2 Q2-2 ) ( Vem2 CE2-2 RE2-2 Q2-1 ) ( Vout Cout-2 RL-2 ) ( VColl2 Q2-3 Cout-1 RC2-1 ) ( GND R4-1 CE2-1 RE2-1 VCC-2 Vinput-2 CE1-1 RL-1 RE1-1 R2-1 ) ( Vcc R3-2 RC1-2 VCC-1 RC2-2 R1-2 ) ( Vin Vinput-1 R5-1 ) ( unnamed_net1 C1-1 R5-2 ) ( Vbase1 C1-2 R2-2 R1-1 Q1-2 ) ( Vem1 CE1-2 RE1-2 Q1-1 ) ( Vcoll1 R8-1 RC1-1 Q1-3 ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/tango/singlenet-output.net0000664000175000017500000000020612050461155023251 00000000000000[ U100 DIP14 7400 ] ( SING_N_2 U100-1 U100-3 ) ( GND U100-7 ) ( Vcc U100-14 ) ( SING_N U100-4 U100-5 U100-10 U100-8 U100-9 U100-6 ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/tango/TwoStageAmp_Include.retcode0000664000175000017500000000000212050461155024412 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/tango/SlottedOpamps-output.net0000664000175000017500000000046112050461155024062 00000000000000[ U1 PATTERN LM324 ] ( minusin_slot4_pin13_b U1-13 ) ( plusin_slot4_pin12_a U1-12 ) ( minusin_slot3_pin_b U1-9 ) ( plusin_slot3_pin10_a U1-10 ) ( minusin_slot2_pin6_b U1-6 ) ( plusin_slot2_pin5_a U1-5 ) ( samenet_output_c U1-14 U1-8 U1-7 U1-1 ) ( minusin_slot1_pin_b U1-2 ) ( plusin_slot1_pin3_a U1-3 ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/tango/TwoStageAmp_Include-output.net0000664000175000017500000000210312050461155025115 00000000000000[ C2 PATTERN CAPACITOR 2.2uF ] [ R4 PATTERN RESISTOR 2.8K ] [ R3 PATTERN RESISTOR 28K ] [ R8 PATTERN RESISTOR 1 ] [ CE2 PATTERN CAPACITOR 1pF ] [ RE2 PATTERN RESISTOR 100 ] [ RC1 PATTERN RESISTOR 3.3K ] [ Q2 PATTERN NPN_TRANSISTOR ] [ C1 PATTERN CAPACITOR 2.2uF ] [ A3 PATTERN directive .options TEMP=25 ] [ A2 PATTERN include ] [ A1 PATTERN model ] [ VCC none VOLTAGE_SOURCE DC 15V ] [ Vinput none vsin DC 1.6V AC 10MV SIN(0 1MV 1KHZ) ] [ CE1 PATTERN CAPACITOR 1pF ] [ Cout PATTERN CAPACITOR 2.2uF ] [ RL PATTERN RESISTOR 100K ] [ RC2 PATTERN RESISTOR 1K ] [ RE1 PATTERN RESISTOR 100 ] [ R2 PATTERN RESISTOR 2K ] [ R1 PATTERN RESISTOR 28K ] [ R5 PATTERN RESISTOR 10 ] [ Q1 PATTERN NPN_TRANSISTOR ] ( unnamed_net2 C2-1 R8-2 ) ( Vbase2 R3-1 C2-2 R4-2 Q2-2 ) ( Vem2 CE2-2 RE2-2 Q2-1 ) ( Vout Cout-2 RL-2 ) ( VColl2 Q2-3 Cout-1 RC2-1 ) ( GND R4-1 CE2-1 RE2-1 VCC-2 Vinput-2 CE1-1 RL-1 RE1-1 R2-1 ) ( Vcc R3-2 RC1-2 VCC-1 RC2-2 R1-2 ) ( Vin Vinput-1 R5-1 ) ( unnamed_net1 C1-1 R5-2 ) ( Vbase1 C1-2 R2-2 R1-1 Q1-2 ) ( Vem1 CE1-2 RE1-2 Q1-1 ) ( Vcoll1 R8-1 RC1-1 Q1-3 ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/tango/singlenet.retcode0000664000175000017500000000000212050461155022544 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/tango/JD_Include.retcode0000664000175000017500000000000212050461155022514 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/tango/powersupply-output.net0000664000175000017500000000122112050461155023670 00000000000000[ U2 PATTERN LM317 ] [ C4 PATTERN POLARIZED_CAPACITOR 1uf ] [ C3 PATTERN POLARIZED_CAPACITOR 22uF ] [ R1 PATTERN VARIABLE_RESISTOR 5k ] [ C2 PATTERN POLARIZED_CAPACITOR 0.1uF ] [ R2 PATTERN RESISTOR 220 ] [ C1 PATTERN POLARIZED_CAPACITOR 2200uF ] [ S1 PATTERN SPST ] [ CONN1 PATTERN MAINS_CONNECTOR ] [ T1 PATTERN transformer ] [ F1 PATTERN FUSE ] [ U1 PATTERN DIODE-BRIDGE ] ( ten U2-1 R1-2 C3-1 R2-1 ) ( eleven U2-2 C4-1 R2-2 ) ( GND CONN1-3 ) ( one S1-1 CONN1-1 ) ( five CONN1-2 T1-2 ) ( three T1-1 F1-2 ) ( two S1-2 F1-1 ) ( six T1-3 U1-4 ) ( seven T1-4 U1-3 ) ( nine C4-2 C3-2 R1-3 R1-1 C2-2 C1-2 U1-2 ) ( eight U2-3 C2-1 C1-1 U1-1 ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/tango/netattrib-output.net0000664000175000017500000000035312050461155023260 00000000000000[ F1 PATTERN FUSE ] [ U300 DIP14 7404 ] [ U200 DIP14 7404 ] [ U100 DIP14 7400 ] ( unnamed_net1 U300-2 ) ( netattrib U200-2 U100-5 ) ( GND U300-7 U200-7 U100-7 ) ( Vcc U300-14 U200-14 U100-14 ) ( one F1-1 U300-1 U200-1 U100-3 ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/tango/SlottedOpamps.retcode0000664000175000017500000000000212050461155023352 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/tango/JD.retcode0000664000175000017500000000000212050461155021051 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/tango/multiequal.retcode0000664000175000017500000000000212050461155022736 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/tango/JD_Sort_nomunge.retcode0000664000175000017500000000000212050461155023610 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/tango/TwoStageAmp-output.net0000664000175000017500000000210312050461155023452 00000000000000[ C2 PATTERN CAPACITOR 2.2uF ] [ R4 PATTERN RESISTOR 2.8K ] [ R3 PATTERN RESISTOR 28K ] [ R8 PATTERN RESISTOR 1 ] [ CE2 PATTERN CAPACITOR 1pF ] [ RE2 PATTERN RESISTOR 100 ] [ RC1 PATTERN RESISTOR 3.3K ] [ Q2 PATTERN NPN_TRANSISTOR ] [ C1 PATTERN CAPACITOR 2.2uF ] [ A3 PATTERN directive .options TEMP=25 ] [ A2 PATTERN include ] [ A1 PATTERN model ] [ VCC none VOLTAGE_SOURCE DC 15V ] [ Vinput none vsin DC 1.6V AC 10MV SIN(0 1MV 1KHZ) ] [ CE1 PATTERN CAPACITOR 1pF ] [ Cout PATTERN CAPACITOR 2.2uF ] [ RL PATTERN RESISTOR 100K ] [ RC2 PATTERN RESISTOR 1K ] [ RE1 PATTERN RESISTOR 100 ] [ R2 PATTERN RESISTOR 2K ] [ R1 PATTERN RESISTOR 28K ] [ R5 PATTERN RESISTOR 10 ] [ Q1 PATTERN NPN_TRANSISTOR ] ( unnamed_net2 C2-1 R8-2 ) ( Vbase2 R3-1 C2-2 R4-2 Q2-2 ) ( Vem2 CE2-2 RE2-2 Q2-1 ) ( Vout Cout-2 RL-2 ) ( VColl2 Q2-3 Cout-1 RC2-1 ) ( GND R4-1 CE2-1 RE2-1 VCC-2 Vinput-2 CE1-1 RL-1 RE1-1 R2-1 ) ( Vcc R3-2 RC1-2 VCC-1 RC2-2 R1-2 ) ( Vin Vinput-1 R5-1 ) ( unnamed_net1 C1-1 R5-2 ) ( Vbase1 C1-2 R2-2 R1-1 Q1-2 ) ( Vem1 CE1-2 RE1-2 Q1-1 ) ( Vcoll1 R8-1 RC1-1 Q1-3 ) geda-gaf-1.8.2/gnetlist/tests/common/outputs/tango/JD_Include_nomunge.retcode0000664000175000017500000000000212050461155024244 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/maxascii/0000775000175000017500000000000012220655757017777 500000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/maxascii/JD_Include_nomunge-output.net0000664000175000017500000000103712050461155025442 00000000000000*OrCAD *START *COMP A1 "unknown" *COMP Cm "unknown" *COMP Cp "unknown" *COMP Rlp "unknown" *COMP Rlm "unknown" *COMP Vdd "none" *COMP V1 "none" *COMP Rt "unknown" *COMP Rb "unknown" *COMP M1 "unknown" *COMP X1 "unknown" *NET "Vdd1" *NET "Vdd1" Rlp."2" M1."B" M1."S" Vdd."1" X1."6" *NET "GND" *NET "GND" Cm."2" Cp."2" Rlm."2" Vdd."2" V1."2" Rb."1" X1."7" X1."2" *NET "LVH" *NET "LVH" Rb."2" M1."D" M1."G" X1."3" *NET "i" *NET "i" V1."1" X1."1" *NET "p" *NET "p" Cp."1" Rt."1" Rlp."1" X1."5" *NET "m" *NET "m" Cm."1" Rlm."1" Rt."2" X1."4" *END geda-gaf-1.8.2/gnetlist/tests/common/outputs/maxascii/JD-output.net0000664000175000017500000000103712050461155022247 00000000000000*OrCAD *START *COMP A1 "unknown" *COMP Cm "unknown" *COMP Cp "unknown" *COMP Rlp "unknown" *COMP Rlm "unknown" *COMP Vdd "none" *COMP V1 "none" *COMP Rt "unknown" *COMP Rb "unknown" *COMP M1 "unknown" *COMP X1 "unknown" *NET "Vdd1" *NET "Vdd1" Rlp."2" M1."B" M1."S" Vdd."1" X1."6" *NET "GND" *NET "GND" Cm."2" Cp."2" Rlm."2" Vdd."2" V1."2" Rb."1" X1."7" X1."2" *NET "LVH" *NET "LVH" Rb."2" M1."D" M1."G" X1."3" *NET "i" *NET "i" V1."1" X1."1" *NET "p" *NET "p" Cp."1" Rt."1" Rlp."1" X1."5" *NET "m" *NET "m" Cm."1" Rlm."1" Rt."2" X1."4" *END geda-gaf-1.8.2/gnetlist/tests/common/outputs/maxascii/TwoStageAmp.retcode0000664000175000017500000000000212050461155023435 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/maxascii/stack-torture-output.net0000664000175000017500000016277512063576065024615 00000000000000*OrCAD *START *COMP C? "unknown" *NET "unnamed_net1025" *NET "unnamed_net1025" C?."2" *NET "unnamed_net1024" *NET "unnamed_net1024" C?."1" C?."2" *NET "unnamed_net1023" *NET "unnamed_net1023" C?."1" C?."2" *NET "unnamed_net1022" *NET "unnamed_net1022" C?."2" *NET "unnamed_net1021" *NET "unnamed_net1021" C?."1" C?."2" *NET "unnamed_net1020" *NET "unnamed_net1020" C?."2" *NET "unnamed_net1019" *NET "unnamed_net1019" C?."1" C?."2" *NET "unnamed_net1018" *NET "unnamed_net1018" C?."1" C?."2" *NET "unnamed_net1017" *NET "unnamed_net1017" C?."1" C?."2" *NET "unnamed_net1016" *NET "unnamed_net1016" C?."1" C?."2" *NET "unnamed_net1015" *NET "unnamed_net1015" C?."1" C?."2" *NET "unnamed_net1014" *NET "unnamed_net1014" C?."1" C?."2" *NET "unnamed_net1013" *NET "unnamed_net1013" C?."1" C?."2" *NET "unnamed_net1012" *NET "unnamed_net1012" C?."2" *NET "unnamed_net1011" *NET "unnamed_net1011" C?."1" C?."2" *NET "unnamed_net1010" *NET "unnamed_net1010" C?."1" C?."2" *NET "unnamed_net1009" *NET "unnamed_net1009" C?."2" *NET "unnamed_net1008" *NET "unnamed_net1008" C?."1" C?."2" *NET "unnamed_net1007" *NET "unnamed_net1007" C?."1" C?."2" *NET "unnamed_net1006" *NET "unnamed_net1006" C?."1" C?."2" *NET "unnamed_net1005" *NET "unnamed_net1005" C?."1" C?."2" *NET "unnamed_net1004" *NET "unnamed_net1004" C?."1" C?."2" *NET "unnamed_net1003" *NET "unnamed_net1003" C?."1" C?."2" *NET "unnamed_net1002" *NET "unnamed_net1002" C?."1" C?."2" *NET "unnamed_net1001" *NET "unnamed_net1001" C?."1" C?."2" *NET "unnamed_net1000" *NET "unnamed_net1000" C?."1" C?."2" *NET "unnamed_net999" *NET "unnamed_net999" C?."2" *NET "unnamed_net998" *NET "unnamed_net998" C?."1" C?."2" *NET "unnamed_net997" *NET "unnamed_net997" C?."1" C?."2" *NET "unnamed_net996" *NET "unnamed_net996" C?."1" C?."2" *NET "unnamed_net995" *NET "unnamed_net995" C?."1" C?."2" *NET "unnamed_net994" *NET "unnamed_net994" C?."1" C?."2" *NET "unnamed_net993" *NET "unnamed_net993" C?."1" C?."2" *NET "unnamed_net992" *NET "unnamed_net992" C?."2" *NET "unnamed_net991" *NET "unnamed_net991" C?."1" C?."2" *NET "unnamed_net990" *NET "unnamed_net990" C?."1" C?."2" *NET "unnamed_net989" *NET "unnamed_net989" C?."1" C?."2" *NET "unnamed_net988" *NET "unnamed_net988" C?."1" C?."2" *NET "unnamed_net987" *NET "unnamed_net987" C?."1" C?."2" *NET "unnamed_net986" *NET "unnamed_net986" C?."1" C?."2" *NET "unnamed_net985" *NET "unnamed_net985" C?."1" C?."2" *NET "unnamed_net984" *NET "unnamed_net984" C?."1" C?."2" *NET "unnamed_net983" *NET "unnamed_net983" C?."1" C?."2" *NET "unnamed_net982" *NET "unnamed_net982" C?."1" C?."2" *NET "unnamed_net981" *NET "unnamed_net981" C?."1" C?."2" *NET "unnamed_net980" *NET "unnamed_net980" C?."1" C?."2" *NET "unnamed_net979" *NET "unnamed_net979" C?."1" C?."2" *NET "unnamed_net978" *NET "unnamed_net978" C?."1" C?."2" *NET "unnamed_net977" *NET "unnamed_net977" C?."1" C?."2" *NET "unnamed_net976" *NET "unnamed_net976" C?."1" C?."2" *NET "unnamed_net975" *NET "unnamed_net975" C?."1" C?."2" *NET "unnamed_net974" *NET "unnamed_net974" C?."1" C?."2" *NET "unnamed_net973" *NET "unnamed_net973" C?."1" C?."2" *NET "unnamed_net972" *NET "unnamed_net972" C?."1" C?."2" *NET "unnamed_net971" *NET "unnamed_net971" C?."1" C?."2" *NET "unnamed_net970" *NET "unnamed_net970" C?."1" C?."2" *NET "unnamed_net969" *NET "unnamed_net969" C?."1" C?."2" *NET "unnamed_net968" *NET "unnamed_net968" C?."2" *NET "unnamed_net967" *NET "unnamed_net967" C?."1" C?."2" *NET "unnamed_net966" *NET "unnamed_net966" C?."1" C?."2" *NET "unnamed_net965" *NET "unnamed_net965" C?."2" *NET "unnamed_net964" *NET "unnamed_net964" C?."1" C?."2" *NET "unnamed_net963" *NET "unnamed_net963" C?."1" C?."2" *NET "unnamed_net962" *NET "unnamed_net962" C?."1" C?."2" *NET "unnamed_net961" *NET "unnamed_net961" C?."1" C?."2" *NET "unnamed_net960" *NET "unnamed_net960" C?."1" C?."2" *NET "unnamed_net959" *NET "unnamed_net959" C?."1" C?."2" *NET "unnamed_net958" *NET "unnamed_net958" C?."1" C?."2" *NET "unnamed_net957" *NET "unnamed_net957" C?."1" C?."2" *NET "unnamed_net956" *NET "unnamed_net956" C?."1" C?."2" *NET "unnamed_net955" *NET "unnamed_net955" C?."1" C?."2" *NET "unnamed_net954" *NET "unnamed_net954" C?."2" *NET "unnamed_net953" *NET "unnamed_net953" C?."1" C?."2" *NET "unnamed_net952" *NET "unnamed_net952" C?."1" C?."2" *NET "unnamed_net951" *NET "unnamed_net951" C?."2" *NET "unnamed_net950" *NET "unnamed_net950" C?."1" C?."2" *NET "unnamed_net949" *NET "unnamed_net949" C?."1" C?."2" *NET "unnamed_net948" *NET "unnamed_net948" C?."1" C?."2" *NET "unnamed_net947" *NET "unnamed_net947" C?."1" C?."2" *NET "unnamed_net946" *NET "unnamed_net946" C?."1" C?."2" *NET "unnamed_net945" *NET "unnamed_net945" C?."1" C?."2" *NET "unnamed_net944" *NET "unnamed_net944" C?."1" C?."2" *NET "unnamed_net943" *NET "unnamed_net943" C?."1" C?."2" *NET "unnamed_net942" *NET "unnamed_net942" C?."1" C?."2" *NET "unnamed_net941" *NET "unnamed_net941" C?."1" C?."2" *NET "unnamed_net940" *NET "unnamed_net940" C?."1" C?."2" *NET "unnamed_net939" *NET "unnamed_net939" C?."1" C?."2" *NET "unnamed_net938" *NET "unnamed_net938" C?."1" C?."2" *NET "unnamed_net937" *NET "unnamed_net937" C?."1" C?."2" *NET "unnamed_net936" *NET "unnamed_net936" C?."1" C?."2" *NET "unnamed_net935" *NET "unnamed_net935" C?."1" C?."2" *NET "unnamed_net934" *NET "unnamed_net934" C?."1" C?."2" *NET "unnamed_net933" *NET "unnamed_net933" C?."1" C?."2" *NET "unnamed_net932" *NET "unnamed_net932" C?."1" C?."2" *NET "unnamed_net931" *NET "unnamed_net931" C?."1" C?."2" *NET "unnamed_net930" *NET "unnamed_net930" C?."1" C?."2" *NET "unnamed_net929" *NET "unnamed_net929" C?."1" C?."2" *NET "unnamed_net928" *NET "unnamed_net928" C?."1" C?."2" *NET "unnamed_net927" *NET "unnamed_net927" C?."1" C?."2" *NET "unnamed_net926" *NET "unnamed_net926" C?."1" C?."2" *NET "unnamed_net925" *NET "unnamed_net925" C?."1" C?."2" *NET "unnamed_net924" *NET "unnamed_net924" C?."1" C?."2" *NET "unnamed_net923" *NET "unnamed_net923" C?."1" C?."2" *NET "unnamed_net922" *NET "unnamed_net922" C?."1" C?."2" *NET "unnamed_net921" *NET "unnamed_net921" C?."1" C?."2" *NET "unnamed_net920" *NET "unnamed_net920" C?."1" C?."2" *NET "unnamed_net919" *NET "unnamed_net919" C?."1" C?."2" *NET "unnamed_net918" *NET "unnamed_net918" C?."1" C?."2" *NET "unnamed_net917" *NET "unnamed_net917" C?."1" C?."2" *NET "unnamed_net916" *NET "unnamed_net916" C?."1" C?."2" *NET "unnamed_net915" *NET "unnamed_net915" C?."1" C?."2" *NET "unnamed_net914" *NET "unnamed_net914" C?."1" C?."2" *NET "unnamed_net913" *NET "unnamed_net913" C?."1" C?."2" *NET "unnamed_net912" *NET "unnamed_net912" C?."1" C?."2" *NET "unnamed_net911" *NET "unnamed_net911" C?."1" C?."2" *NET "unnamed_net910" *NET "unnamed_net910" C?."1" C?."2" *NET "unnamed_net909" *NET "unnamed_net909" C?."2" *NET "unnamed_net908" *NET "unnamed_net908" C?."1" C?."2" *NET "unnamed_net907" *NET "unnamed_net907" C?."1" C?."2" *NET "unnamed_net906" *NET "unnamed_net906" C?."1" C?."2" *NET "unnamed_net905" *NET "unnamed_net905" C?."1" C?."2" *NET "unnamed_net904" *NET "unnamed_net904" C?."1" C?."2" *NET "unnamed_net903" *NET "unnamed_net903" C?."1" C?."2" *NET "unnamed_net902" *NET "unnamed_net902" C?."2" *NET "unnamed_net901" *NET "unnamed_net901" C?."1" C?."2" *NET "unnamed_net900" *NET "unnamed_net900" C?."1" C?."2" *NET "unnamed_net899" *NET "unnamed_net899" C?."1" C?."2" *NET "unnamed_net898" *NET "unnamed_net898" C?."1" C?."2" *NET "unnamed_net897" *NET "unnamed_net897" C?."1" C?."2" *NET "unnamed_net896" *NET "unnamed_net896" C?."1" C?."2" *NET "unnamed_net895" *NET "unnamed_net895" C?."1" C?."2" *NET "unnamed_net894" *NET "unnamed_net894" C?."1" C?."2" *NET "unnamed_net893" *NET "unnamed_net893" C?."1" C?."2" *NET "unnamed_net892" *NET "unnamed_net892" C?."1" C?."2" *NET "unnamed_net891" *NET "unnamed_net891" C?."1" C?."2" *NET "unnamed_net890" *NET "unnamed_net890" C?."1" C?."2" *NET "unnamed_net889" *NET "unnamed_net889" C?."1" C?."2" *NET "unnamed_net888" *NET "unnamed_net888" C?."1" C?."2" *NET "unnamed_net887" *NET "unnamed_net887" C?."1" C?."2" *NET "unnamed_net886" *NET "unnamed_net886" C?."1" C?."2" *NET "unnamed_net885" *NET "unnamed_net885" C?."1" C?."2" *NET "unnamed_net884" *NET "unnamed_net884" C?."1" C?."2" *NET "unnamed_net883" *NET "unnamed_net883" C?."1" C?."2" *NET "unnamed_net882" *NET "unnamed_net882" C?."1" C?."2" *NET "unnamed_net881" *NET "unnamed_net881" C?."1" C?."2" *NET "unnamed_net880" *NET "unnamed_net880" C?."1" C?."2" *NET "unnamed_net879" *NET "unnamed_net879" C?."2" *NET "unnamed_net878" *NET "unnamed_net878" C?."1" C?."2" *NET "unnamed_net877" *NET "unnamed_net877" C?."1" C?."2" *NET "unnamed_net876" *NET "unnamed_net876" C?."1" C?."2" *NET "unnamed_net875" *NET "unnamed_net875" C?."1" C?."2" *NET "unnamed_net874" *NET "unnamed_net874" C?."1" C?."2" *NET "unnamed_net873" *NET "unnamed_net873" C?."1" C?."2" *NET "unnamed_net872" *NET "unnamed_net872" C?."2" *NET "unnamed_net871" *NET "unnamed_net871" C?."1" C?."2" *NET "unnamed_net870" *NET "unnamed_net870" C?."1" C?."2" *NET "unnamed_net869" *NET "unnamed_net869" C?."1" C?."2" *NET "unnamed_net868" *NET "unnamed_net868" C?."1" C?."2" *NET "unnamed_net867" *NET "unnamed_net867" C?."1" C?."2" *NET "unnamed_net866" *NET "unnamed_net866" C?."1" C?."2" *NET "unnamed_net865" *NET "unnamed_net865" C?."1" C?."2" *NET "unnamed_net864" *NET "unnamed_net864" C?."1" C?."2" *NET "unnamed_net863" *NET "unnamed_net863" C?."1" C?."2" *NET "unnamed_net862" *NET "unnamed_net862" C?."1" C?."2" *NET "unnamed_net861" *NET "unnamed_net861" C?."1" C?."2" *NET "unnamed_net860" *NET "unnamed_net860" C?."1" C?."2" *NET "unnamed_net859" *NET "unnamed_net859" C?."1" C?."2" *NET "unnamed_net858" *NET "unnamed_net858" C?."1" C?."2" *NET "unnamed_net857" *NET "unnamed_net857" C?."1" C?."2" *NET "unnamed_net856" *NET "unnamed_net856" C?."1" C?."2" *NET "unnamed_net855" *NET "unnamed_net855" C?."1" C?."2" *NET "unnamed_net854" *NET "unnamed_net854" C?."1" C?."2" *NET "unnamed_net853" *NET "unnamed_net853" C?."1" C?."2" *NET "unnamed_net852" *NET "unnamed_net852" C?."1" C?."2" *NET "unnamed_net851" *NET "unnamed_net851" C?."1" C?."2" *NET "unnamed_net850" *NET "unnamed_net850" C?."1" C?."2" *NET "unnamed_net849" *NET "unnamed_net849" C?."1" C?."2" *NET "unnamed_net848" *NET "unnamed_net848" C?."1" C?."2" *NET "unnamed_net847" *NET "unnamed_net847" C?."1" C?."2" *NET "unnamed_net846" *NET "unnamed_net846" C?."1" C?."2" *NET "unnamed_net845" *NET "unnamed_net845" C?."1" C?."2" *NET "unnamed_net844" *NET "unnamed_net844" C?."1" C?."2" *NET "unnamed_net843" *NET "unnamed_net843" C?."1" C?."2" *NET "unnamed_net842" *NET "unnamed_net842" C?."1" C?."2" *NET "unnamed_net841" *NET "unnamed_net841" C?."1" C?."2" *NET "unnamed_net840" *NET "unnamed_net840" C?."1" C?."2" *NET "unnamed_net839" *NET "unnamed_net839" C?."1" C?."2" *NET "unnamed_net838" *NET "unnamed_net838" C?."1" C?."2" *NET "unnamed_net837" *NET "unnamed_net837" C?."1" C?."2" *NET "unnamed_net836" *NET "unnamed_net836" C?."1" C?."2" *NET "unnamed_net835" *NET "unnamed_net835" C?."1" C?."2" *NET "unnamed_net834" *NET "unnamed_net834" C?."1" C?."2" *NET "unnamed_net833" *NET "unnamed_net833" C?."1" C?."2" *NET "unnamed_net832" *NET "unnamed_net832" C?."1" C?."2" *NET "unnamed_net831" *NET "unnamed_net831" C?."1" C?."2" *NET "unnamed_net830" *NET "unnamed_net830" C?."1" C?."2" *NET "unnamed_net829" *NET "unnamed_net829" C?."1" C?."2" *NET "unnamed_net828" *NET "unnamed_net828" C?."1" C?."2" *NET "unnamed_net827" *NET "unnamed_net827" C?."1" C?."2" *NET "unnamed_net826" *NET "unnamed_net826" C?."1" C?."2" *NET "unnamed_net825" *NET "unnamed_net825" C?."1" C?."2" *NET "unnamed_net824" *NET "unnamed_net824" C?."1" C?."2" *NET "unnamed_net823" *NET "unnamed_net823" C?."1" C?."2" *NET "unnamed_net822" *NET "unnamed_net822" C?."1" C?."2" *NET "unnamed_net821" *NET "unnamed_net821" C?."1" C?."2" *NET "unnamed_net820" *NET "unnamed_net820" C?."1" C?."2" *NET "unnamed_net819" *NET "unnamed_net819" C?."1" C?."2" *NET "unnamed_net818" *NET "unnamed_net818" C?."1" C?."2" *NET "unnamed_net817" *NET "unnamed_net817" C?."1" C?."2" *NET "unnamed_net816" *NET "unnamed_net816" C?."1" C?."2" *NET "unnamed_net815" *NET "unnamed_net815" C?."1" C?."2" *NET "unnamed_net814" *NET "unnamed_net814" C?."1" C?."2" *NET "unnamed_net813" *NET "unnamed_net813" C?."1" C?."2" *NET "unnamed_net812" *NET "unnamed_net812" C?."1" C?."2" *NET "unnamed_net811" *NET "unnamed_net811" C?."1" C?."2" *NET "unnamed_net810" *NET "unnamed_net810" C?."1" C?."2" *NET "unnamed_net809" *NET "unnamed_net809" C?."1" C?."2" *NET "unnamed_net808" *NET "unnamed_net808" C?."1" C?."2" *NET "unnamed_net807" *NET "unnamed_net807" C?."1" C?."2" *NET "unnamed_net806" *NET "unnamed_net806" C?."1" C?."2" *NET "unnamed_net805" *NET "unnamed_net805" C?."1" C?."2" *NET "unnamed_net804" *NET "unnamed_net804" C?."1" C?."2" *NET "unnamed_net803" *NET "unnamed_net803" C?."1" C?."2" *NET "unnamed_net802" *NET "unnamed_net802" C?."1" C?."2" *NET "unnamed_net801" *NET "unnamed_net801" C?."1" C?."2" *NET "unnamed_net800" *NET "unnamed_net800" C?."1" C?."2" *NET "unnamed_net799" *NET "unnamed_net799" C?."1" C?."2" *NET "unnamed_net798" *NET "unnamed_net798" C?."1" C?."2" *NET "unnamed_net797" *NET "unnamed_net797" C?."1" C?."2" *NET "unnamed_net796" *NET "unnamed_net796" C?."1" C?."2" *NET "unnamed_net795" *NET "unnamed_net795" C?."1" C?."2" *NET "unnamed_net794" *NET "unnamed_net794" C?."1" C?."2" *NET "unnamed_net793" *NET "unnamed_net793" C?."1" C?."2" *NET "unnamed_net792" *NET "unnamed_net792" C?."1" C?."2" *NET "unnamed_net791" *NET "unnamed_net791" C?."1" C?."2" *NET "unnamed_net790" *NET "unnamed_net790" C?."1" C?."2" *NET "unnamed_net789" *NET "unnamed_net789" C?."1" C?."2" *NET "unnamed_net788" *NET "unnamed_net788" C?."1" C?."2" *NET "unnamed_net787" *NET "unnamed_net787" C?."1" C?."2" *NET "unnamed_net786" *NET "unnamed_net786" C?."1" C?."2" *NET "unnamed_net785" *NET "unnamed_net785" C?."1" C?."2" *NET "unnamed_net784" *NET "unnamed_net784" C?."2" *NET "unnamed_net783" *NET "unnamed_net783" C?."1" C?."2" *NET "unnamed_net782" *NET "unnamed_net782" C?."1" C?."2" *NET "unnamed_net781" *NET "unnamed_net781" C?."2" *NET "unnamed_net780" *NET "unnamed_net780" C?."1" C?."2" *NET "unnamed_net779" *NET "unnamed_net779" C?."1" C?."2" *NET "unnamed_net778" *NET "unnamed_net778" C?."1" C?."2" *NET "unnamed_net777" *NET "unnamed_net777" C?."1" C?."2" *NET "unnamed_net776" *NET "unnamed_net776" C?."1" C?."2" *NET "unnamed_net775" *NET "unnamed_net775" C?."1" C?."2" *NET "unnamed_net774" *NET "unnamed_net774" C?."1" C?."2" *NET "unnamed_net773" *NET "unnamed_net773" C?."1" C?."2" *NET "unnamed_net772" *NET "unnamed_net772" C?."1" C?."2" *NET "unnamed_net771" *NET "unnamed_net771" C?."1" C?."2" *NET "unnamed_net770" *NET "unnamed_net770" C?."2" *NET "unnamed_net769" *NET "unnamed_net769" C?."1" C?."2" *NET "unnamed_net768" *NET "unnamed_net768" C?."1" C?."2" *NET "unnamed_net767" *NET "unnamed_net767" C?."2" *NET "unnamed_net766" *NET "unnamed_net766" C?."1" C?."2" *NET "unnamed_net765" *NET "unnamed_net765" C?."1" C?."2" *NET "unnamed_net764" *NET "unnamed_net764" C?."1" C?."2" *NET "unnamed_net763" *NET "unnamed_net763" C?."1" C?."2" *NET "unnamed_net762" *NET "unnamed_net762" C?."1" C?."2" *NET "unnamed_net761" *NET "unnamed_net761" C?."1" C?."2" *NET "unnamed_net760" *NET "unnamed_net760" C?."1" C?."2" *NET "unnamed_net759" *NET "unnamed_net759" C?."1" C?."2" *NET "unnamed_net758" *NET "unnamed_net758" C?."1" C?."2" *NET "unnamed_net757" *NET "unnamed_net757" C?."1" C?."2" *NET "unnamed_net756" *NET "unnamed_net756" C?."1" C?."2" *NET "unnamed_net755" *NET "unnamed_net755" C?."1" C?."2" *NET "unnamed_net754" *NET "unnamed_net754" C?."1" C?."2" *NET "unnamed_net753" *NET "unnamed_net753" C?."1" C?."2" *NET "unnamed_net752" *NET "unnamed_net752" C?."1" C?."2" *NET "unnamed_net751" *NET "unnamed_net751" C?."1" C?."2" *NET "unnamed_net750" *NET "unnamed_net750" C?."1" C?."2" *NET "unnamed_net749" *NET "unnamed_net749" C?."1" C?."2" *NET "unnamed_net748" *NET "unnamed_net748" C?."1" C?."2" *NET "unnamed_net747" *NET "unnamed_net747" C?."1" C?."2" *NET "unnamed_net746" *NET "unnamed_net746" C?."1" C?."2" *NET "unnamed_net745" *NET "unnamed_net745" C?."1" C?."2" *NET "unnamed_net744" *NET "unnamed_net744" C?."1" C?."2" *NET "unnamed_net743" *NET "unnamed_net743" C?."1" C?."2" *NET "unnamed_net742" *NET "unnamed_net742" C?."1" C?."2" *NET "unnamed_net741" *NET "unnamed_net741" C?."1" C?."2" *NET "unnamed_net740" *NET "unnamed_net740" C?."1" C?."2" *NET "unnamed_net739" *NET "unnamed_net739" C?."1" C?."2" *NET "unnamed_net738" *NET "unnamed_net738" C?."1" C?."2" *NET "unnamed_net737" *NET "unnamed_net737" C?."1" C?."2" *NET "unnamed_net736" *NET "unnamed_net736" C?."1" C?."2" *NET "unnamed_net735" *NET "unnamed_net735" C?."1" C?."2" *NET "unnamed_net734" *NET "unnamed_net734" C?."1" C?."2" *NET "unnamed_net733" *NET "unnamed_net733" C?."1" C?."2" *NET "unnamed_net732" *NET "unnamed_net732" C?."1" C?."2" *NET "unnamed_net731" *NET "unnamed_net731" C?."1" C?."2" *NET "unnamed_net730" *NET "unnamed_net730" C?."1" C?."2" *NET "unnamed_net729" *NET "unnamed_net729" C?."1" C?."2" *NET "unnamed_net728" *NET "unnamed_net728" C?."1" C?."2" *NET "unnamed_net727" *NET "unnamed_net727" C?."1" C?."2" *NET "unnamed_net726" *NET "unnamed_net726" C?."1" C?."2" *NET "unnamed_net725" *NET "unnamed_net725" C?."1" C?."2" *NET "unnamed_net724" *NET "unnamed_net724" C?."2" *NET "unnamed_net723" *NET "unnamed_net723" C?."1" C?."2" *NET "unnamed_net722" *NET "unnamed_net722" C?."1" C?."2" *NET "unnamed_net721" *NET "unnamed_net721" C?."2" *NET "unnamed_net720" *NET "unnamed_net720" C?."1" C?."2" *NET "unnamed_net719" *NET "unnamed_net719" C?."1" C?."2" *NET "unnamed_net718" *NET "unnamed_net718" C?."1" C?."2" *NET "unnamed_net717" *NET "unnamed_net717" C?."1" C?."2" *NET "unnamed_net716" *NET "unnamed_net716" C?."1" C?."2" *NET "unnamed_net715" *NET "unnamed_net715" C?."1" C?."2" *NET "unnamed_net714" *NET "unnamed_net714" C?."1" C?."2" *NET "unnamed_net713" *NET "unnamed_net713" C?."1" C?."2" *NET "unnamed_net712" *NET "unnamed_net712" C?."1" C?."2" *NET "unnamed_net711" *NET "unnamed_net711" C?."1" C?."2" *NET "unnamed_net710" *NET "unnamed_net710" C?."2" *NET "unnamed_net709" *NET "unnamed_net709" C?."1" C?."2" *NET "unnamed_net708" *NET "unnamed_net708" C?."1" C?."2" *NET "unnamed_net707" *NET "unnamed_net707" C?."2" *NET "unnamed_net706" *NET "unnamed_net706" C?."1" *NET "unnamed_net705" *NET "unnamed_net705" C?."1" C?."2" *NET "unnamed_net704" *NET "unnamed_net704" C?."1" C?."2" *NET "unnamed_net703" *NET "unnamed_net703" C?."1" C?."2" *NET "unnamed_net702" *NET "unnamed_net702" C?."1" C?."2" *NET "unnamed_net701" *NET "unnamed_net701" C?."1" C?."2" *NET "unnamed_net700" *NET "unnamed_net700" C?."1" C?."2" *NET "unnamed_net699" *NET "unnamed_net699" C?."1" C?."2" *NET "unnamed_net698" *NET "unnamed_net698" C?."1" C?."2" *NET "unnamed_net697" *NET "unnamed_net697" C?."1" *NET "unnamed_net696" *NET "unnamed_net696" C?."1" C?."2" *NET "unnamed_net695" *NET "unnamed_net695" C?."1" C?."2" *NET "unnamed_net694" *NET "unnamed_net694" C?."1" C?."2" *NET "unnamed_net693" *NET "unnamed_net693" C?."1" C?."2" *NET "unnamed_net692" *NET "unnamed_net692" C?."1" C?."2" *NET "unnamed_net691" *NET "unnamed_net691" C?."1" C?."2" *NET "unnamed_net690" *NET "unnamed_net690" C?."1" C?."2" *NET "unnamed_net689" *NET "unnamed_net689" C?."1" C?."2" *NET "unnamed_net688" *NET "unnamed_net688" C?."1" C?."2" *NET "unnamed_net687" *NET "unnamed_net687" C?."1" C?."2" *NET "unnamed_net686" *NET "unnamed_net686" C?."1" C?."2" *NET "unnamed_net685" *NET "unnamed_net685" C?."1" C?."2" *NET "unnamed_net684" *NET "unnamed_net684" C?."1" C?."2" *NET "unnamed_net683" *NET "unnamed_net683" C?."1" C?."2" *NET "unnamed_net682" *NET "unnamed_net682" C?."1" C?."2" *NET "unnamed_net681" *NET "unnamed_net681" C?."1" C?."2" *NET "unnamed_net680" *NET "unnamed_net680" C?."1" C?."2" *NET "unnamed_net679" *NET "unnamed_net679" C?."1" C?."2" *NET "unnamed_net678" *NET "unnamed_net678" C?."1" C?."2" *NET "unnamed_net677" *NET "unnamed_net677" C?."1" C?."2" *NET "unnamed_net676" *NET "unnamed_net676" C?."1" C?."2" *NET "unnamed_net675" *NET "unnamed_net675" C?."1" C?."2" *NET "unnamed_net674" *NET "unnamed_net674" C?."1" C?."2" *NET "unnamed_net673" *NET "unnamed_net673" C?."1" C?."2" *NET "unnamed_net672" *NET "unnamed_net672" C?."1" *NET "unnamed_net671" *NET "unnamed_net671" C?."1" C?."2" *NET "unnamed_net670" *NET "unnamed_net670" C?."1" C?."2" *NET "unnamed_net669" *NET "unnamed_net669" C?."1" C?."2" *NET "unnamed_net668" *NET "unnamed_net668" C?."1" C?."2" *NET "unnamed_net667" *NET "unnamed_net667" C?."1" C?."2" *NET "unnamed_net666" *NET "unnamed_net666" C?."1" C?."2" *NET "unnamed_net665" *NET "unnamed_net665" C?."1" C?."2" *NET "unnamed_net664" *NET "unnamed_net664" C?."1" C?."2" *NET "unnamed_net663" *NET "unnamed_net663" C?."1" *NET "unnamed_net662" *NET "unnamed_net662" C?."1" C?."2" *NET "unnamed_net661" *NET "unnamed_net661" C?."1" C?."2" *NET "unnamed_net660" *NET "unnamed_net660" C?."1" C?."2" *NET "unnamed_net659" *NET "unnamed_net659" C?."1" C?."2" *NET "unnamed_net658" *NET "unnamed_net658" C?."1" C?."2" *NET "unnamed_net657" *NET "unnamed_net657" C?."1" C?."2" *NET "unnamed_net656" *NET "unnamed_net656" C?."1" C?."2" *NET "unnamed_net655" *NET "unnamed_net655" C?."1" C?."2" *NET "unnamed_net654" *NET "unnamed_net654" C?."1" C?."2" *NET "unnamed_net653" *NET "unnamed_net653" C?."1" C?."2" *NET "unnamed_net652" *NET "unnamed_net652" C?."1" C?."2" *NET "unnamed_net651" *NET "unnamed_net651" C?."1" C?."2" *NET "unnamed_net650" *NET "unnamed_net650" C?."1" C?."2" *NET "unnamed_net649" *NET "unnamed_net649" C?."1" C?."2" *NET "unnamed_net648" *NET "unnamed_net648" C?."1" C?."2" *NET "unnamed_net647" *NET "unnamed_net647" C?."1" C?."2" *NET "unnamed_net646" *NET "unnamed_net646" C?."1" C?."2" *NET "unnamed_net645" *NET "unnamed_net645" C?."1" C?."2" *NET "unnamed_net644" *NET "unnamed_net644" C?."1" C?."2" *NET "unnamed_net643" *NET "unnamed_net643" C?."1" C?."2" *NET "unnamed_net642" *NET "unnamed_net642" C?."1" C?."2" *NET "unnamed_net641" *NET "unnamed_net641" C?."1" C?."2" *NET "unnamed_net640" *NET "unnamed_net640" C?."1" C?."2" *NET "unnamed_net639" *NET "unnamed_net639" C?."1" C?."2" *NET "unnamed_net638" *NET "unnamed_net638" C?."1" C?."2" *NET "unnamed_net637" *NET "unnamed_net637" C?."1" C?."2" *NET "unnamed_net636" *NET "unnamed_net636" C?."1" C?."2" *NET "unnamed_net635" *NET "unnamed_net635" C?."1" C?."2" *NET "unnamed_net634" *NET "unnamed_net634" C?."1" C?."2" *NET "unnamed_net633" *NET "unnamed_net633" C?."1" C?."2" *NET "unnamed_net632" *NET "unnamed_net632" C?."1" C?."2" *NET "unnamed_net631" *NET "unnamed_net631" C?."1" C?."2" *NET "unnamed_net630" *NET "unnamed_net630" C?."1" C?."2" *NET "unnamed_net629" *NET "unnamed_net629" C?."1" C?."2" *NET "unnamed_net628" *NET "unnamed_net628" C?."1" C?."2" *NET "unnamed_net627" *NET "unnamed_net627" C?."1" C?."2" *NET "unnamed_net626" *NET "unnamed_net626" C?."1" C?."2" *NET "unnamed_net625" *NET "unnamed_net625" C?."1" C?."2" *NET "unnamed_net624" *NET "unnamed_net624" C?."1" C?."2" *NET "unnamed_net623" *NET "unnamed_net623" C?."1" C?."2" *NET "unnamed_net622" *NET "unnamed_net622" C?."1" C?."2" *NET "unnamed_net621" *NET "unnamed_net621" C?."1" C?."2" *NET "unnamed_net620" *NET "unnamed_net620" C?."1" C?."2" *NET "unnamed_net619" *NET "unnamed_net619" C?."1" C?."2" *NET "unnamed_net618" *NET "unnamed_net618" C?."1" C?."2" *NET "unnamed_net617" *NET "unnamed_net617" C?."1" C?."2" *NET "unnamed_net616" *NET "unnamed_net616" C?."1" C?."2" *NET "unnamed_net615" *NET "unnamed_net615" C?."1" C?."2" *NET "unnamed_net614" *NET "unnamed_net614" C?."1" C?."2" *NET "unnamed_net613" *NET "unnamed_net613" C?."1" C?."2" *NET "unnamed_net612" *NET "unnamed_net612" C?."1" C?."2" *NET "unnamed_net611" *NET "unnamed_net611" C?."1" C?."2" *NET "unnamed_net610" *NET "unnamed_net610" C?."1" C?."2" *NET "unnamed_net609" *NET "unnamed_net609" C?."1" C?."2" *NET "unnamed_net608" *NET "unnamed_net608" C?."1" C?."2" *NET "unnamed_net607" *NET "unnamed_net607" C?."1" C?."2" *NET "unnamed_net606" *NET "unnamed_net606" C?."1" C?."2" *NET "unnamed_net605" *NET "unnamed_net605" C?."1" C?."2" *NET "unnamed_net604" *NET "unnamed_net604" C?."1" C?."2" *NET "unnamed_net603" *NET "unnamed_net603" C?."1" C?."2" *NET "unnamed_net602" *NET "unnamed_net602" C?."1" C?."2" *NET "unnamed_net601" *NET "unnamed_net601" C?."1" C?."2" *NET "unnamed_net600" *NET "unnamed_net600" C?."1" C?."2" *NET "unnamed_net599" *NET "unnamed_net599" C?."1" C?."2" *NET "unnamed_net598" *NET "unnamed_net598" C?."1" C?."2" *NET "unnamed_net597" *NET "unnamed_net597" C?."1" C?."2" *NET "unnamed_net596" *NET "unnamed_net596" C?."1" C?."2" *NET "unnamed_net595" *NET "unnamed_net595" C?."1" C?."2" *NET "unnamed_net594" *NET "unnamed_net594" C?."1" C?."2" *NET "unnamed_net593" *NET "unnamed_net593" C?."1" C?."2" *NET "unnamed_net592" *NET "unnamed_net592" C?."1" C?."2" *NET "unnamed_net591" *NET "unnamed_net591" C?."1" C?."2" *NET "unnamed_net590" *NET "unnamed_net590" C?."1" C?."2" *NET "unnamed_net589" *NET "unnamed_net589" C?."1" C?."2" *NET "unnamed_net588" *NET "unnamed_net588" C?."1" C?."2" *NET "unnamed_net587" *NET "unnamed_net587" C?."1" C?."2" *NET "unnamed_net586" *NET "unnamed_net586" C?."1" C?."2" *NET "unnamed_net585" *NET "unnamed_net585" C?."1" C?."2" *NET "unnamed_net584" *NET "unnamed_net584" C?."1" C?."2" *NET "unnamed_net583" *NET "unnamed_net583" C?."1" C?."2" *NET "unnamed_net582" *NET "unnamed_net582" C?."1" C?."2" *NET "unnamed_net581" *NET "unnamed_net581" C?."1" C?."2" *NET "unnamed_net580" *NET "unnamed_net580" C?."1" C?."2" *NET "unnamed_net579" *NET "unnamed_net579" C?."1" C?."2" *NET "unnamed_net578" *NET "unnamed_net578" C?."1" C?."2" *NET "unnamed_net577" *NET "unnamed_net577" C?."1" C?."2" *NET "unnamed_net576" *NET "unnamed_net576" C?."1" C?."2" *NET "unnamed_net575" *NET "unnamed_net575" C?."1" C?."2" *NET "unnamed_net574" *NET "unnamed_net574" C?."1" *NET "unnamed_net573" *NET "unnamed_net573" C?."1" C?."2" *NET "unnamed_net572" *NET "unnamed_net572" C?."1" C?."2" *NET "unnamed_net571" *NET "unnamed_net571" C?."1" C?."2" *NET "unnamed_net570" *NET "unnamed_net570" C?."1" C?."2" *NET "unnamed_net569" *NET "unnamed_net569" C?."1" C?."2" *NET "unnamed_net568" *NET "unnamed_net568" C?."1" C?."2" *NET "unnamed_net567" *NET "unnamed_net567" C?."1" C?."2" *NET "unnamed_net566" *NET "unnamed_net566" C?."1" C?."2" *NET "unnamed_net565" *NET "unnamed_net565" C?."1" *NET "unnamed_net564" *NET "unnamed_net564" C?."1" C?."2" *NET "unnamed_net563" *NET "unnamed_net563" C?."1" C?."2" *NET "unnamed_net562" *NET "unnamed_net562" C?."1" C?."2" *NET "unnamed_net561" *NET "unnamed_net561" C?."1" C?."2" *NET "unnamed_net560" *NET "unnamed_net560" C?."1" C?."2" *NET "unnamed_net559" *NET "unnamed_net559" C?."1" C?."2" *NET "unnamed_net558" *NET "unnamed_net558" C?."1" C?."2" *NET "unnamed_net557" *NET "unnamed_net557" C?."1" C?."2" *NET "unnamed_net556" *NET "unnamed_net556" C?."1" C?."2" *NET "unnamed_net555" *NET "unnamed_net555" C?."1" C?."2" *NET "unnamed_net554" *NET "unnamed_net554" C?."1" C?."2" *NET "unnamed_net553" *NET "unnamed_net553" C?."1" C?."2" *NET "unnamed_net552" *NET "unnamed_net552" C?."1" C?."2" *NET "unnamed_net551" *NET "unnamed_net551" C?."1" C?."2" *NET "unnamed_net550" *NET "unnamed_net550" C?."1" C?."2" *NET "unnamed_net549" *NET "unnamed_net549" C?."1" C?."2" *NET "unnamed_net548" *NET "unnamed_net548" C?."1" C?."2" *NET "unnamed_net547" *NET "unnamed_net547" C?."1" C?."2" *NET "unnamed_net546" *NET "unnamed_net546" C?."1" C?."2" *NET "unnamed_net545" *NET "unnamed_net545" C?."1" C?."2" *NET "unnamed_net544" *NET "unnamed_net544" C?."1" C?."2" *NET "unnamed_net543" *NET "unnamed_net543" C?."1" C?."2" *NET "unnamed_net542" *NET "unnamed_net542" C?."1" C?."2" *NET "unnamed_net541" *NET "unnamed_net541" C?."1" C?."2" *NET "unnamed_net540" *NET "unnamed_net540" C?."1" *NET "unnamed_net539" *NET "unnamed_net539" C?."1" C?."2" *NET "unnamed_net538" *NET "unnamed_net538" C?."1" C?."2" *NET "unnamed_net537" *NET "unnamed_net537" C?."1" C?."2" *NET "unnamed_net536" *NET "unnamed_net536" C?."1" C?."2" *NET "unnamed_net535" *NET "unnamed_net535" C?."1" C?."2" *NET "unnamed_net534" *NET "unnamed_net534" C?."1" C?."2" *NET "unnamed_net533" *NET "unnamed_net533" C?."1" C?."2" *NET "unnamed_net532" *NET "unnamed_net532" C?."1" C?."2" *NET "unnamed_net531" *NET "unnamed_net531" C?."1" *NET "unnamed_net530" *NET "unnamed_net530" C?."1" C?."2" *NET "unnamed_net529" *NET "unnamed_net529" C?."2" *NET "unnamed_net528" *NET "unnamed_net528" C?."1" C?."2" *NET "unnamed_net527" *NET "unnamed_net527" C?."1" C?."2" *NET "unnamed_net526" *NET "unnamed_net526" C?."1" C?."2" *NET "unnamed_net525" *NET "unnamed_net525" C?."1" C?."2" *NET "unnamed_net524" *NET "unnamed_net524" C?."1" C?."2" *NET "unnamed_net523" *NET "unnamed_net523" C?."1" C?."2" *NET "unnamed_net522" *NET "unnamed_net522" C?."2" *NET "unnamed_net521" *NET "unnamed_net521" C?."1" C?."2" *NET "unnamed_net520" *NET "unnamed_net520" C?."1" C?."2" *NET "unnamed_net519" *NET "unnamed_net519" C?."1" C?."2" *NET "unnamed_net518" *NET "unnamed_net518" C?."1" C?."2" *NET "unnamed_net517" *NET "unnamed_net517" C?."1" C?."2" *NET "unnamed_net516" *NET "unnamed_net516" C?."1" C?."2" *NET "unnamed_net515" *NET "unnamed_net515" C?."1" C?."2" *NET "unnamed_net514" *NET "unnamed_net514" C?."1" C?."2" *NET "unnamed_net513" *NET "unnamed_net513" C?."1" C?."2" *NET "unnamed_net512" *NET "unnamed_net512" C?."1" C?."2" *NET "unnamed_net511" *NET "unnamed_net511" C?."1" C?."2" *NET "unnamed_net510" *NET "unnamed_net510" C?."1" C?."2" *NET "unnamed_net509" *NET "unnamed_net509" C?."1" C?."2" *NET "unnamed_net508" *NET "unnamed_net508" C?."1" C?."2" *NET "unnamed_net507" *NET "unnamed_net507" C?."1" C?."2" *NET "unnamed_net506" *NET "unnamed_net506" C?."1" C?."2" *NET "unnamed_net505" *NET "unnamed_net505" C?."1" C?."2" *NET "unnamed_net504" *NET "unnamed_net504" C?."1" C?."2" *NET "unnamed_net503" *NET "unnamed_net503" C?."1" C?."2" *NET "unnamed_net502" *NET "unnamed_net502" C?."1" C?."2" *NET "unnamed_net501" *NET "unnamed_net501" C?."1" C?."2" *NET "unnamed_net500" *NET "unnamed_net500" C?."1" C?."2" *NET "unnamed_net499" *NET "unnamed_net499" C?."2" *NET "unnamed_net498" *NET "unnamed_net498" C?."1" C?."2" *NET "unnamed_net497" *NET "unnamed_net497" C?."1" C?."2" *NET "unnamed_net496" *NET "unnamed_net496" C?."1" C?."2" *NET "unnamed_net495" *NET "unnamed_net495" C?."1" C?."2" *NET "unnamed_net494" *NET "unnamed_net494" C?."1" C?."2" *NET "unnamed_net493" *NET "unnamed_net493" C?."1" C?."2" *NET "unnamed_net492" *NET "unnamed_net492" C?."2" *NET "unnamed_net491" *NET "unnamed_net491" C?."1" C?."2" *NET "unnamed_net490" *NET "unnamed_net490" C?."1" C?."2" *NET "unnamed_net489" *NET "unnamed_net489" C?."1" C?."2" *NET "unnamed_net488" *NET "unnamed_net488" C?."1" C?."2" *NET "unnamed_net487" *NET "unnamed_net487" C?."1" C?."2" *NET "unnamed_net486" *NET "unnamed_net486" C?."1" C?."2" *NET "unnamed_net485" *NET "unnamed_net485" C?."1" C?."2" *NET "unnamed_net484" *NET "unnamed_net484" C?."1" C?."2" *NET "unnamed_net483" *NET "unnamed_net483" C?."1" C?."2" *NET "unnamed_net482" *NET "unnamed_net482" C?."1" C?."2" *NET "unnamed_net481" *NET "unnamed_net481" C?."1" C?."2" *NET "unnamed_net480" *NET "unnamed_net480" C?."1" C?."2" *NET "unnamed_net479" *NET "unnamed_net479" C?."1" C?."2" *NET "unnamed_net478" *NET "unnamed_net478" C?."1" C?."2" *NET "unnamed_net477" *NET "unnamed_net477" C?."1" C?."2" *NET "unnamed_net476" *NET "unnamed_net476" C?."1" C?."2" *NET "unnamed_net475" *NET "unnamed_net475" C?."1" C?."2" *NET "unnamed_net474" *NET "unnamed_net474" C?."1" C?."2" *NET "unnamed_net473" *NET "unnamed_net473" C?."1" C?."2" *NET "unnamed_net472" *NET "unnamed_net472" C?."1" C?."2" *NET "unnamed_net471" *NET "unnamed_net471" C?."1" C?."2" *NET "unnamed_net470" *NET "unnamed_net470" C?."1" C?."2" *NET "unnamed_net469" *NET "unnamed_net469" C?."1" C?."2" *NET "unnamed_net468" *NET "unnamed_net468" C?."1" C?."2" *NET "unnamed_net467" *NET "unnamed_net467" C?."1" C?."2" *NET "unnamed_net466" *NET "unnamed_net466" C?."1" C?."2" *NET "unnamed_net465" *NET "unnamed_net465" C?."1" C?."2" *NET "unnamed_net464" *NET "unnamed_net464" C?."1" C?."2" *NET "unnamed_net463" *NET "unnamed_net463" C?."1" C?."2" *NET "unnamed_net462" *NET "unnamed_net462" C?."1" C?."2" *NET "unnamed_net461" *NET "unnamed_net461" C?."1" C?."2" *NET "unnamed_net460" *NET "unnamed_net460" C?."1" C?."2" *NET "unnamed_net459" *NET "unnamed_net459" C?."1" C?."2" *NET "unnamed_net458" *NET "unnamed_net458" C?."1" C?."2" *NET "unnamed_net457" *NET "unnamed_net457" C?."1" C?."2" *NET "unnamed_net456" *NET "unnamed_net456" C?."1" C?."2" *NET "unnamed_net455" *NET "unnamed_net455" C?."1" C?."2" *NET "unnamed_net454" *NET "unnamed_net454" C?."1" C?."2" *NET "unnamed_net453" *NET "unnamed_net453" C?."1" C?."2" *NET "unnamed_net452" *NET "unnamed_net452" C?."1" C?."2" *NET "unnamed_net451" *NET "unnamed_net451" C?."1" C?."2" *NET "unnamed_net450" *NET "unnamed_net450" C?."1" C?."2" *NET "unnamed_net449" *NET "unnamed_net449" C?."1" C?."2" *NET "unnamed_net448" *NET "unnamed_net448" C?."1" C?."2" *NET "unnamed_net447" *NET "unnamed_net447" C?."1" C?."2" *NET "unnamed_net446" *NET "unnamed_net446" C?."1" C?."2" *NET "unnamed_net445" *NET "unnamed_net445" C?."1" C?."2" *NET "unnamed_net444" *NET "unnamed_net444" C?."1" C?."2" *NET "unnamed_net443" *NET "unnamed_net443" C?."1" C?."2" *NET "unnamed_net442" *NET "unnamed_net442" C?."1" C?."2" *NET "unnamed_net441" *NET "unnamed_net441" C?."1" C?."2" *NET "unnamed_net440" *NET "unnamed_net440" C?."1" C?."2" *NET "unnamed_net439" *NET "unnamed_net439" C?."1" C?."2" *NET "unnamed_net438" *NET "unnamed_net438" C?."1" C?."2" *NET "unnamed_net437" *NET "unnamed_net437" C?."1" C?."2" *NET "unnamed_net436" *NET "unnamed_net436" C?."1" C?."2" *NET "unnamed_net435" *NET "unnamed_net435" C?."1" C?."2" *NET "unnamed_net434" *NET "unnamed_net434" C?."1" C?."2" *NET "unnamed_net433" *NET "unnamed_net433" C?."1" C?."2" *NET "unnamed_net432" *NET "unnamed_net432" C?."1" C?."2" *NET "unnamed_net431" *NET "unnamed_net431" C?."1" C?."2" *NET "unnamed_net430" *NET "unnamed_net430" C?."1" C?."2" *NET "unnamed_net429" *NET "unnamed_net429" C?."1" C?."2" *NET "unnamed_net428" *NET "unnamed_net428" C?."1" C?."2" *NET "unnamed_net427" *NET "unnamed_net427" C?."1" C?."2" *NET "unnamed_net426" *NET "unnamed_net426" C?."1" C?."2" *NET "unnamed_net425" *NET "unnamed_net425" C?."1" C?."2" *NET "unnamed_net424" *NET "unnamed_net424" C?."1" C?."2" *NET "unnamed_net423" *NET "unnamed_net423" C?."1" C?."2" *NET "unnamed_net422" *NET "unnamed_net422" C?."1" C?."2" *NET "unnamed_net421" *NET "unnamed_net421" C?."1" C?."2" *NET "unnamed_net420" *NET "unnamed_net420" C?."1" C?."2" *NET "unnamed_net419" *NET "unnamed_net419" C?."1" C?."2" *NET "unnamed_net418" *NET "unnamed_net418" C?."1" C?."2" *NET "unnamed_net417" *NET "unnamed_net417" C?."1" C?."2" *NET "unnamed_net416" *NET "unnamed_net416" C?."1" C?."2" *NET "unnamed_net415" *NET "unnamed_net415" C?."1" C?."2" *NET "unnamed_net414" *NET "unnamed_net414" C?."1" C?."2" *NET "unnamed_net413" *NET "unnamed_net413" C?."1" C?."2" *NET "unnamed_net412" *NET "unnamed_net412" C?."1" C?."2" *NET "unnamed_net411" *NET "unnamed_net411" C?."1" C?."2" *NET "unnamed_net410" *NET "unnamed_net410" C?."1" C?."2" *NET "unnamed_net409" *NET "unnamed_net409" C?."1" C?."2" *NET "unnamed_net408" *NET "unnamed_net408" C?."1" C?."2" *NET "unnamed_net407" *NET "unnamed_net407" C?."1" C?."2" *NET "unnamed_net406" *NET "unnamed_net406" C?."1" C?."2" *NET "unnamed_net405" *NET "unnamed_net405" C?."2" *NET "unnamed_net404" *NET "unnamed_net404" C?."1" C?."2" *NET "unnamed_net403" *NET "unnamed_net403" C?."1" C?."2" *NET "unnamed_net402" *NET "unnamed_net402" C?."1" C?."2" *NET "unnamed_net401" *NET "unnamed_net401" C?."1" C?."2" *NET "unnamed_net400" *NET "unnamed_net400" C?."1" C?."2" *NET "unnamed_net399" *NET "unnamed_net399" C?."1" C?."2" *NET "unnamed_net398" *NET "unnamed_net398" C?."2" *NET "unnamed_net397" *NET "unnamed_net397" C?."1" C?."2" *NET "unnamed_net396" *NET "unnamed_net396" C?."1" C?."2" *NET "unnamed_net395" *NET "unnamed_net395" C?."1" C?."2" *NET "unnamed_net394" *NET "unnamed_net394" C?."1" C?."2" *NET "unnamed_net393" *NET "unnamed_net393" C?."1" C?."2" *NET "unnamed_net392" *NET "unnamed_net392" C?."1" C?."2" *NET "unnamed_net391" *NET "unnamed_net391" C?."1" C?."2" *NET "unnamed_net390" *NET "unnamed_net390" C?."1" C?."2" *NET "unnamed_net389" *NET "unnamed_net389" C?."1" C?."2" *NET "unnamed_net388" *NET "unnamed_net388" C?."1" C?."2" *NET "unnamed_net387" *NET "unnamed_net387" C?."1" C?."2" *NET "unnamed_net386" *NET "unnamed_net386" C?."1" C?."2" *NET "unnamed_net385" *NET "unnamed_net385" C?."1" C?."2" *NET "unnamed_net384" *NET "unnamed_net384" C?."1" C?."2" *NET "unnamed_net383" *NET "unnamed_net383" C?."1" C?."2" *NET "unnamed_net382" *NET "unnamed_net382" C?."1" C?."2" *NET "unnamed_net381" *NET "unnamed_net381" C?."1" C?."2" *NET "unnamed_net380" *NET "unnamed_net380" C?."1" C?."2" *NET "unnamed_net379" *NET "unnamed_net379" C?."1" C?."2" *NET "unnamed_net378" *NET "unnamed_net378" C?."1" C?."2" *NET "unnamed_net377" *NET "unnamed_net377" C?."1" C?."2" *NET "unnamed_net376" *NET "unnamed_net376" C?."1" C?."2" *NET "unnamed_net375" *NET "unnamed_net375" C?."2" *NET "unnamed_net374" *NET "unnamed_net374" C?."1" C?."2" *NET "unnamed_net373" *NET "unnamed_net373" C?."1" C?."2" *NET "unnamed_net372" *NET "unnamed_net372" C?."1" C?."2" *NET "unnamed_net371" *NET "unnamed_net371" C?."1" C?."2" *NET "unnamed_net370" *NET "unnamed_net370" C?."1" C?."2" *NET "unnamed_net369" *NET "unnamed_net369" C?."1" C?."2" *NET "unnamed_net368" *NET "unnamed_net368" C?."2" *NET "unnamed_net367" *NET "unnamed_net367" C?."2" *NET "unnamed_net366" *NET "unnamed_net366" C?."1" C?."2" *NET "unnamed_net365" *NET "unnamed_net365" C?."1" C?."2" *NET "unnamed_net364" *NET "unnamed_net364" C?."1" *NET "unnamed_net363" *NET "unnamed_net363" C?."1" C?."2" *NET "unnamed_net362" *NET "unnamed_net362" C?."1" C?."2" *NET "unnamed_net361" *NET "unnamed_net361" C?."1" C?."2" *NET "unnamed_net360" *NET "unnamed_net360" C?."1" C?."2" *NET "unnamed_net359" *NET "unnamed_net359" C?."1" *NET "unnamed_net358" *NET "unnamed_net358" C?."1" C?."2" *NET "unnamed_net357" *NET "unnamed_net357" C?."1" C?."2" *NET "unnamed_net356" *NET "unnamed_net356" C?."1" C?."2" *NET "unnamed_net355" *NET "unnamed_net355" C?."1" C?."2" *NET "unnamed_net354" *NET "unnamed_net354" C?."1" C?."2" *NET "unnamed_net353" *NET "unnamed_net353" C?."1" C?."2" *NET "unnamed_net352" *NET "unnamed_net352" C?."1" C?."2" *NET "unnamed_net351" *NET "unnamed_net351" C?."1" C?."2" *NET "unnamed_net350" *NET "unnamed_net350" C?."1" C?."2" *NET "unnamed_net349" *NET "unnamed_net349" C?."1" C?."2" *NET "unnamed_net348" *NET "unnamed_net348" C?."1" C?."2" *NET "unnamed_net347" *NET "unnamed_net347" C?."1" C?."2" *NET "unnamed_net346" *NET "unnamed_net346" C?."1" *NET "unnamed_net345" *NET "unnamed_net345" C?."1" C?."2" *NET "unnamed_net344" *NET "unnamed_net344" C?."1" C?."2" *NET "unnamed_net343" *NET "unnamed_net343" C?."1" C?."2" *NET "unnamed_net342" *NET "unnamed_net342" C?."1" C?."2" *NET "unnamed_net341" *NET "unnamed_net341" C?."1" *NET "unnamed_net340" *NET "unnamed_net340" C?."1" C?."2" *NET "unnamed_net339" *NET "unnamed_net339" C?."1" C?."2" *NET "unnamed_net338" *NET "unnamed_net338" C?."1" C?."2" *NET "unnamed_net337" *NET "unnamed_net337" C?."1" C?."2" *NET "unnamed_net336" *NET "unnamed_net336" C?."1" C?."2" *NET "unnamed_net335" *NET "unnamed_net335" C?."1" C?."2" *NET "unnamed_net334" *NET "unnamed_net334" C?."1" C?."2" *NET "unnamed_net333" *NET "unnamed_net333" C?."1" C?."2" *NET "unnamed_net332" *NET "unnamed_net332" C?."1" C?."2" *NET "unnamed_net331" *NET "unnamed_net331" C?."1" C?."2" *NET "unnamed_net330" *NET "unnamed_net330" C?."1" C?."2" *NET "unnamed_net329" *NET "unnamed_net329" C?."1" C?."2" *NET "unnamed_net328" *NET "unnamed_net328" C?."1" C?."2" *NET "unnamed_net327" *NET "unnamed_net327" C?."1" C?."2" *NET "unnamed_net326" *NET "unnamed_net326" C?."1" C?."2" *NET "unnamed_net325" *NET "unnamed_net325" C?."1" C?."2" *NET "unnamed_net324" *NET "unnamed_net324" C?."1" C?."2" *NET "unnamed_net323" *NET "unnamed_net323" C?."1" C?."2" *NET "unnamed_net322" *NET "unnamed_net322" C?."1" C?."2" *NET "unnamed_net321" *NET "unnamed_net321" C?."1" C?."2" *NET "unnamed_net320" *NET "unnamed_net320" C?."1" C?."2" *NET "unnamed_net319" *NET "unnamed_net319" C?."1" C?."2" *NET "unnamed_net318" *NET "unnamed_net318" C?."1" C?."2" *NET "unnamed_net317" *NET "unnamed_net317" C?."1" C?."2" *NET "unnamed_net316" *NET "unnamed_net316" C?."1" C?."2" *NET "unnamed_net315" *NET "unnamed_net315" C?."1" C?."2" *NET "unnamed_net314" *NET "unnamed_net314" C?."1" C?."2" *NET "unnamed_net313" *NET "unnamed_net313" C?."1" C?."2" *NET "unnamed_net312" *NET "unnamed_net312" C?."1" C?."2" *NET "unnamed_net311" *NET "unnamed_net311" C?."1" C?."2" *NET "unnamed_net310" *NET "unnamed_net310" C?."1" C?."2" *NET "unnamed_net309" *NET "unnamed_net309" C?."1" C?."2" *NET "unnamed_net308" *NET "unnamed_net308" C?."1" C?."2" *NET "unnamed_net307" *NET "unnamed_net307" C?."1" C?."2" *NET "unnamed_net306" *NET "unnamed_net306" C?."1" C?."2" *NET "unnamed_net305" *NET "unnamed_net305" C?."1" C?."2" *NET "unnamed_net304" *NET "unnamed_net304" C?."1" C?."2" *NET "unnamed_net303" *NET "unnamed_net303" C?."1" C?."2" *NET "unnamed_net302" *NET "unnamed_net302" C?."1" C?."2" *NET "unnamed_net301" *NET "unnamed_net301" C?."1" C?."2" *NET "unnamed_net300" *NET "unnamed_net300" C?."1" C?."2" *NET "unnamed_net299" *NET "unnamed_net299" C?."1" C?."2" *NET "unnamed_net298" *NET "unnamed_net298" C?."1" C?."2" *NET "unnamed_net297" *NET "unnamed_net297" C?."1" C?."2" *NET "unnamed_net296" *NET "unnamed_net296" C?."1" *NET "unnamed_net295" *NET "unnamed_net295" C?."1" C?."2" *NET "unnamed_net294" *NET "unnamed_net294" C?."1" C?."2" *NET "unnamed_net293" *NET "unnamed_net293" C?."1" C?."2" *NET "unnamed_net292" *NET "unnamed_net292" C?."1" C?."2" *NET "unnamed_net291" *NET "unnamed_net291" C?."1" *NET "unnamed_net290" *NET "unnamed_net290" C?."1" C?."2" *NET "unnamed_net289" *NET "unnamed_net289" C?."1" C?."2" *NET "unnamed_net288" *NET "unnamed_net288" C?."1" C?."2" *NET "unnamed_net287" *NET "unnamed_net287" C?."1" C?."2" *NET "unnamed_net286" *NET "unnamed_net286" C?."1" C?."2" *NET "unnamed_net285" *NET "unnamed_net285" C?."1" C?."2" *NET "unnamed_net284" *NET "unnamed_net284" C?."1" C?."2" *NET "unnamed_net283" *NET "unnamed_net283" C?."1" C?."2" *NET "unnamed_net282" *NET "unnamed_net282" C?."1" C?."2" *NET "unnamed_net281" *NET "unnamed_net281" C?."1" C?."2" *NET "unnamed_net280" *NET "unnamed_net280" C?."1" C?."2" *NET "unnamed_net279" *NET "unnamed_net279" C?."1" C?."2" *NET "unnamed_net278" *NET "unnamed_net278" C?."1" *NET "unnamed_net277" *NET "unnamed_net277" C?."1" C?."2" *NET "unnamed_net276" *NET "unnamed_net276" C?."1" C?."2" *NET "unnamed_net275" *NET "unnamed_net275" C?."1" C?."2" *NET "unnamed_net274" *NET "unnamed_net274" C?."1" C?."2" *NET "unnamed_net273" *NET "unnamed_net273" C?."1" *NET "unnamed_net272" *NET "unnamed_net272" C?."1" C?."2" *NET "unnamed_net271" *NET "unnamed_net271" C?."1" C?."2" *NET "unnamed_net270" *NET "unnamed_net270" C?."1" C?."2" *NET "unnamed_net269" *NET "unnamed_net269" C?."1" C?."2" *NET "unnamed_net268" *NET "unnamed_net268" C?."1" C?."2" *NET "unnamed_net267" *NET "unnamed_net267" C?."1" C?."2" *NET "unnamed_net266" *NET "unnamed_net266" C?."1" C?."2" *NET "unnamed_net265" *NET "unnamed_net265" C?."1" C?."2" *NET "unnamed_net264" *NET "unnamed_net264" C?."1" C?."2" *NET "unnamed_net263" *NET "unnamed_net263" C?."1" C?."2" *NET "unnamed_net262" *NET "unnamed_net262" C?."1" C?."2" *NET "unnamed_net261" *NET "unnamed_net261" C?."1" C?."2" *NET "unnamed_net260" *NET "unnamed_net260" C?."1" C?."2" *NET "unnamed_net259" *NET "unnamed_net259" C?."1" C?."2" *NET "unnamed_net258" *NET "unnamed_net258" C?."1" C?."2" *NET "unnamed_net257" *NET "unnamed_net257" C?."1" C?."2" *NET "unnamed_net256" *NET "unnamed_net256" C?."1" C?."2" *NET "unnamed_net255" *NET "unnamed_net255" C?."1" C?."2" *NET "unnamed_net254" *NET "unnamed_net254" C?."1" C?."2" *NET "unnamed_net253" *NET "unnamed_net253" C?."1" C?."2" *NET "unnamed_net252" *NET "unnamed_net252" C?."1" C?."2" *NET "unnamed_net251" *NET "unnamed_net251" C?."1" C?."2" *NET "unnamed_net250" *NET "unnamed_net250" C?."1" C?."2" *NET "unnamed_net249" *NET "unnamed_net249" C?."1" C?."2" *NET "unnamed_net248" *NET "unnamed_net248" C?."1" C?."2" *NET "unnamed_net247" *NET "unnamed_net247" C?."1" C?."2" *NET "unnamed_net246" *NET "unnamed_net246" C?."1" C?."2" *NET "unnamed_net245" *NET "unnamed_net245" C?."1" C?."2" *NET "unnamed_net244" *NET "unnamed_net244" C?."1" C?."2" *NET "unnamed_net243" *NET "unnamed_net243" C?."1" C?."2" *NET "unnamed_net242" *NET "unnamed_net242" C?."1" C?."2" *NET "unnamed_net241" *NET "unnamed_net241" C?."1" C?."2" *NET "unnamed_net240" *NET "unnamed_net240" C?."1" C?."2" *NET "unnamed_net239" *NET "unnamed_net239" C?."1" C?."2" *NET "unnamed_net238" *NET "unnamed_net238" C?."1" C?."2" *NET "unnamed_net237" *NET "unnamed_net237" C?."1" C?."2" *NET "unnamed_net236" *NET "unnamed_net236" C?."1" C?."2" *NET "unnamed_net235" *NET "unnamed_net235" C?."1" C?."2" *NET "unnamed_net234" *NET "unnamed_net234" C?."1" C?."2" *NET "unnamed_net233" *NET "unnamed_net233" C?."1" C?."2" *NET "unnamed_net232" *NET "unnamed_net232" C?."1" C?."2" *NET "unnamed_net231" *NET "unnamed_net231" C?."1" C?."2" *NET "unnamed_net230" *NET "unnamed_net230" C?."1" C?."2" *NET "unnamed_net229" *NET "unnamed_net229" C?."1" C?."2" *NET "unnamed_net228" *NET "unnamed_net228" C?."1" C?."2" *NET "unnamed_net227" *NET "unnamed_net227" C?."1" C?."2" *NET "unnamed_net226" *NET "unnamed_net226" C?."1" C?."2" *NET "unnamed_net225" *NET "unnamed_net225" C?."1" C?."2" *NET "unnamed_net224" *NET "unnamed_net224" C?."1" C?."2" *NET "unnamed_net223" *NET "unnamed_net223" C?."1" C?."2" *NET "unnamed_net222" *NET "unnamed_net222" C?."1" C?."2" *NET "unnamed_net221" *NET "unnamed_net221" C?."1" C?."2" *NET "unnamed_net220" *NET "unnamed_net220" C?."1" C?."2" *NET "unnamed_net219" *NET "unnamed_net219" C?."1" C?."2" *NET "unnamed_net218" *NET "unnamed_net218" C?."1" C?."2" *NET "unnamed_net217" *NET "unnamed_net217" C?."1" C?."2" *NET "unnamed_net216" *NET "unnamed_net216" C?."1" C?."2" *NET "unnamed_net215" *NET "unnamed_net215" C?."1" C?."2" *NET "unnamed_net214" *NET "unnamed_net214" C?."1" C?."2" *NET "unnamed_net213" *NET "unnamed_net213" C?."1" C?."2" *NET "unnamed_net212" *NET "unnamed_net212" C?."1" C?."2" *NET "unnamed_net211" *NET "unnamed_net211" C?."1" C?."2" *NET "unnamed_net210" *NET "unnamed_net210" C?."1" C?."2" *NET "unnamed_net209" *NET "unnamed_net209" C?."1" C?."2" *NET "unnamed_net208" *NET "unnamed_net208" C?."1" C?."2" *NET "unnamed_net207" *NET "unnamed_net207" C?."1" C?."2" *NET "unnamed_net206" *NET "unnamed_net206" C?."1" C?."2" *NET "unnamed_net205" *NET "unnamed_net205" C?."1" C?."2" *NET "unnamed_net204" *NET "unnamed_net204" C?."1" C?."2" *NET "unnamed_net203" *NET "unnamed_net203" C?."1" C?."2" *NET "unnamed_net202" *NET "unnamed_net202" C?."1" C?."2" *NET "unnamed_net201" *NET "unnamed_net201" C?."1" C?."2" *NET "unnamed_net200" *NET "unnamed_net200" C?."1" C?."2" *NET "unnamed_net199" *NET "unnamed_net199" C?."1" C?."2" *NET "unnamed_net198" *NET "unnamed_net198" C?."1" C?."2" *NET "unnamed_net197" *NET "unnamed_net197" C?."1" C?."2" *NET "unnamed_net196" *NET "unnamed_net196" C?."1" C?."2" *NET "unnamed_net195" *NET "unnamed_net195" C?."1" C?."2" *NET "unnamed_net194" *NET "unnamed_net194" C?."1" C?."2" *NET "unnamed_net193" *NET "unnamed_net193" C?."1" C?."2" *NET "unnamed_net192" *NET "unnamed_net192" C?."1" C?."2" *NET "unnamed_net191" *NET "unnamed_net191" C?."1" C?."2" *NET "unnamed_net190" *NET "unnamed_net190" C?."1" C?."2" *NET "unnamed_net189" *NET "unnamed_net189" C?."1" C?."2" *NET "unnamed_net188" *NET "unnamed_net188" C?."1" C?."2" *NET "unnamed_net187" *NET "unnamed_net187" C?."1" C?."2" *NET "unnamed_net186" *NET "unnamed_net186" C?."1" C?."2" *NET "unnamed_net185" *NET "unnamed_net185" C?."1" *NET "unnamed_net184" *NET "unnamed_net184" C?."1" C?."2" *NET "unnamed_net183" *NET "unnamed_net183" C?."1" C?."2" *NET "unnamed_net182" *NET "unnamed_net182" C?."1" C?."2" *NET "unnamed_net181" *NET "unnamed_net181" C?."1" C?."2" *NET "unnamed_net180" *NET "unnamed_net180" C?."1" C?."2" *NET "unnamed_net179" *NET "unnamed_net179" C?."1" C?."2" *NET "unnamed_net178" *NET "unnamed_net178" C?."1" C?."2" *NET "unnamed_net177" *NET "unnamed_net177" C?."1" C?."2" *NET "unnamed_net176" *NET "unnamed_net176" C?."1" *NET "unnamed_net175" *NET "unnamed_net175" C?."1" C?."2" *NET "unnamed_net174" *NET "unnamed_net174" C?."1" C?."2" *NET "unnamed_net173" *NET "unnamed_net173" C?."1" C?."2" *NET "unnamed_net172" *NET "unnamed_net172" C?."1" C?."2" *NET "unnamed_net171" *NET "unnamed_net171" C?."1" C?."2" *NET "unnamed_net170" *NET "unnamed_net170" C?."1" C?."2" *NET "unnamed_net169" *NET "unnamed_net169" C?."1" C?."2" *NET "unnamed_net168" *NET "unnamed_net168" C?."1" C?."2" *NET "unnamed_net167" *NET "unnamed_net167" C?."1" C?."2" *NET "unnamed_net166" *NET "unnamed_net166" C?."1" C?."2" *NET "unnamed_net165" *NET "unnamed_net165" C?."1" C?."2" *NET "unnamed_net164" *NET "unnamed_net164" C?."1" C?."2" *NET "unnamed_net163" *NET "unnamed_net163" C?."1" C?."2" *NET "unnamed_net162" *NET "unnamed_net162" C?."1" C?."2" *NET "unnamed_net161" *NET "unnamed_net161" C?."1" C?."2" *NET "unnamed_net160" *NET "unnamed_net160" C?."1" C?."2" *NET "unnamed_net159" *NET "unnamed_net159" C?."1" C?."2" *NET "unnamed_net158" *NET "unnamed_net158" C?."1" C?."2" *NET "unnamed_net157" *NET "unnamed_net157" C?."1" C?."2" *NET "unnamed_net156" *NET "unnamed_net156" C?."1" C?."2" *NET "unnamed_net155" *NET "unnamed_net155" C?."1" C?."2" *NET "unnamed_net154" *NET "unnamed_net154" C?."1" C?."2" *NET "unnamed_net153" *NET "unnamed_net153" C?."1" C?."2" *NET "unnamed_net152" *NET "unnamed_net152" C?."1" C?."2" *NET "unnamed_net151" *NET "unnamed_net151" C?."1" *NET "unnamed_net150" *NET "unnamed_net150" C?."1" C?."2" *NET "unnamed_net149" *NET "unnamed_net149" C?."1" C?."2" *NET "unnamed_net148" *NET "unnamed_net148" C?."1" C?."2" *NET "unnamed_net147" *NET "unnamed_net147" C?."1" C?."2" *NET "unnamed_net146" *NET "unnamed_net146" C?."1" C?."2" *NET "unnamed_net145" *NET "unnamed_net145" C?."1" C?."2" *NET "unnamed_net144" *NET "unnamed_net144" C?."1" C?."2" *NET "unnamed_net143" *NET "unnamed_net143" C?."1" C?."2" *NET "unnamed_net142" *NET "unnamed_net142" C?."1" *NET "unnamed_net141" *NET "unnamed_net141" C?."1" C?."2" *NET "unnamed_net140" *NET "unnamed_net140" C?."1" C?."2" *NET "unnamed_net139" *NET "unnamed_net139" C?."1" C?."2" *NET "unnamed_net138" *NET "unnamed_net138" C?."1" C?."2" *NET "unnamed_net137" *NET "unnamed_net137" C?."1" C?."2" *NET "unnamed_net136" *NET "unnamed_net136" C?."1" C?."2" *NET "unnamed_net135" *NET "unnamed_net135" C?."1" C?."2" *NET "unnamed_net134" *NET "unnamed_net134" C?."1" C?."2" *NET "unnamed_net133" *NET "unnamed_net133" C?."1" C?."2" *NET "unnamed_net132" *NET "unnamed_net132" C?."1" C?."2" *NET "unnamed_net131" *NET "unnamed_net131" C?."1" C?."2" *NET "unnamed_net130" *NET "unnamed_net130" C?."1" C?."2" *NET "unnamed_net129" *NET "unnamed_net129" C?."1" C?."2" *NET "unnamed_net128" *NET "unnamed_net128" C?."1" C?."2" *NET "unnamed_net127" *NET "unnamed_net127" C?."1" C?."2" *NET "unnamed_net126" *NET "unnamed_net126" C?."1" C?."2" *NET "unnamed_net125" *NET "unnamed_net125" C?."1" C?."2" *NET "unnamed_net124" *NET "unnamed_net124" C?."1" C?."2" *NET "unnamed_net123" *NET "unnamed_net123" C?."1" C?."2" *NET "unnamed_net122" *NET "unnamed_net122" C?."1" C?."2" *NET "unnamed_net121" *NET "unnamed_net121" C?."1" C?."2" *NET "unnamed_net120" *NET "unnamed_net120" C?."1" C?."2" *NET "unnamed_net119" *NET "unnamed_net119" C?."1" C?."2" *NET "unnamed_net118" *NET "unnamed_net118" C?."1" C?."2" *NET "unnamed_net117" *NET "unnamed_net117" C?."1" C?."2" *NET "unnamed_net116" *NET "unnamed_net116" C?."1" C?."2" *NET "unnamed_net115" *NET "unnamed_net115" C?."1" C?."2" *NET "unnamed_net114" *NET "unnamed_net114" C?."1" C?."2" *NET "unnamed_net113" *NET "unnamed_net113" C?."1" C?."2" *NET "unnamed_net112" *NET "unnamed_net112" C?."1" C?."2" *NET "unnamed_net111" *NET "unnamed_net111" C?."1" C?."2" *NET "unnamed_net110" *NET "unnamed_net110" C?."1" C?."2" *NET "unnamed_net109" *NET "unnamed_net109" C?."1" C?."2" *NET "unnamed_net108" *NET "unnamed_net108" C?."1" C?."2" *NET "unnamed_net107" *NET "unnamed_net107" C?."1" C?."2" *NET "unnamed_net106" *NET "unnamed_net106" C?."1" C?."2" *NET "unnamed_net105" *NET "unnamed_net105" C?."1" C?."2" *NET "unnamed_net104" *NET "unnamed_net104" C?."1" C?."2" *NET "unnamed_net103" *NET "unnamed_net103" C?."1" C?."2" *NET "unnamed_net102" *NET "unnamed_net102" C?."1" C?."2" *NET "unnamed_net101" *NET "unnamed_net101" C?."1" C?."2" *NET "unnamed_net100" *NET "unnamed_net100" C?."1" C?."2" *NET "unnamed_net99" *NET "unnamed_net99" C?."1" C?."2" *NET "unnamed_net98" *NET "unnamed_net98" C?."1" C?."2" *NET "unnamed_net97" *NET "unnamed_net97" C?."1" C?."2" *NET "unnamed_net96" *NET "unnamed_net96" C?."1" *NET "unnamed_net95" *NET "unnamed_net95" C?."1" C?."2" *NET "unnamed_net94" *NET "unnamed_net94" C?."1" C?."2" *NET "unnamed_net93" *NET "unnamed_net93" C?."1" C?."2" *NET "unnamed_net92" *NET "unnamed_net92" C?."1" C?."2" *NET "unnamed_net91" *NET "unnamed_net91" C?."1" *NET "unnamed_net90" *NET "unnamed_net90" C?."1" C?."2" *NET "unnamed_net89" *NET "unnamed_net89" C?."1" C?."2" *NET "unnamed_net88" *NET "unnamed_net88" C?."1" C?."2" *NET "unnamed_net87" *NET "unnamed_net87" C?."1" C?."2" *NET "unnamed_net86" *NET "unnamed_net86" C?."1" C?."2" *NET "unnamed_net85" *NET "unnamed_net85" C?."1" C?."2" *NET "unnamed_net84" *NET "unnamed_net84" C?."1" C?."2" *NET "unnamed_net83" *NET "unnamed_net83" C?."1" C?."2" *NET "unnamed_net82" *NET "unnamed_net82" C?."1" C?."2" *NET "unnamed_net81" *NET "unnamed_net81" C?."1" C?."2" *NET "unnamed_net80" *NET "unnamed_net80" C?."1" C?."2" *NET "unnamed_net79" *NET "unnamed_net79" C?."1" C?."2" *NET "unnamed_net78" *NET "unnamed_net78" C?."1" *NET "unnamed_net77" *NET "unnamed_net77" C?."1" C?."2" *NET "unnamed_net76" *NET "unnamed_net76" C?."1" C?."2" *NET "unnamed_net75" *NET "unnamed_net75" C?."1" C?."2" *NET "unnamed_net74" *NET "unnamed_net74" C?."1" C?."2" *NET "unnamed_net73" *NET "unnamed_net73" C?."1" *NET "unnamed_net72" *NET "unnamed_net72" C?."1" C?."2" *NET "unnamed_net71" *NET "unnamed_net71" C?."1" C?."2" *NET "unnamed_net70" *NET "unnamed_net70" C?."1" C?."2" *NET "unnamed_net69" *NET "unnamed_net69" C?."1" C?."2" *NET "unnamed_net68" *NET "unnamed_net68" C?."1" C?."2" *NET "unnamed_net67" *NET "unnamed_net67" C?."1" C?."2" *NET "unnamed_net66" *NET "unnamed_net66" C?."1" C?."2" *NET "unnamed_net65" *NET "unnamed_net65" C?."1" C?."2" *NET "unnamed_net64" *NET "unnamed_net64" C?."1" C?."2" *NET "unnamed_net63" *NET "unnamed_net63" C?."1" C?."2" *NET "unnamed_net62" *NET "unnamed_net62" C?."1" C?."2" *NET "unnamed_net61" *NET "unnamed_net61" C?."1" C?."2" *NET "unnamed_net60" *NET "unnamed_net60" C?."1" C?."2" *NET "unnamed_net59" *NET "unnamed_net59" C?."1" C?."2" *NET "unnamed_net58" *NET "unnamed_net58" C?."1" C?."2" *NET "unnamed_net57" *NET "unnamed_net57" C?."1" C?."2" *NET "unnamed_net56" *NET "unnamed_net56" C?."1" C?."2" *NET "unnamed_net55" *NET "unnamed_net55" C?."1" C?."2" *NET "unnamed_net54" *NET "unnamed_net54" C?."1" C?."2" *NET "unnamed_net53" *NET "unnamed_net53" C?."1" C?."2" *NET "unnamed_net52" *NET "unnamed_net52" C?."1" C?."2" *NET "unnamed_net51" *NET "unnamed_net51" C?."1" C?."2" *NET "unnamed_net50" *NET "unnamed_net50" C?."1" C?."2" *NET "unnamed_net49" *NET "unnamed_net49" C?."1" *NET "unnamed_net48" *NET "unnamed_net48" C?."1" C?."2" *NET "unnamed_net47" *NET "unnamed_net47" C?."1" C?."2" *NET "unnamed_net46" *NET "unnamed_net46" C?."1" C?."2" *NET "unnamed_net45" *NET "unnamed_net45" C?."1" C?."2" *NET "unnamed_net44" *NET "unnamed_net44" C?."1" C?."2" *NET "unnamed_net43" *NET "unnamed_net43" C?."1" C?."2" *NET "unnamed_net42" *NET "unnamed_net42" C?."1" C?."2" *NET "unnamed_net41" *NET "unnamed_net41" C?."1" C?."2" *NET "unnamed_net40" *NET "unnamed_net40" C?."1" *NET "unnamed_net39" *NET "unnamed_net39" C?."1" C?."2" *NET "unnamed_net38" *NET "unnamed_net38" C?."1" C?."2" *NET "unnamed_net37" *NET "unnamed_net37" C?."1" C?."2" *NET "unnamed_net36" *NET "unnamed_net36" C?."1" C?."2" *NET "unnamed_net35" *NET "unnamed_net35" C?."1" C?."2" *NET "unnamed_net34" *NET "unnamed_net34" C?."1" C?."2" *NET "unnamed_net33" *NET "unnamed_net33" C?."1" C?."2" *NET "unnamed_net32" *NET "unnamed_net32" C?."1" C?."2" *NET "unnamed_net31" *NET "unnamed_net31" C?."1" C?."2" *NET "unnamed_net30" *NET "unnamed_net30" C?."1" C?."2" *NET "unnamed_net29" *NET "unnamed_net29" C?."1" C?."2" *NET "unnamed_net28" *NET "unnamed_net28" C?."1" C?."2" *NET "unnamed_net27" *NET "unnamed_net27" C?."1" C?."2" *NET "unnamed_net26" *NET "unnamed_net26" C?."1" *NET "unnamed_net25" *NET "unnamed_net25" C?."1" C?."2" *NET "unnamed_net24" *NET "unnamed_net24" C?."1" C?."2" *NET "unnamed_net23" *NET "unnamed_net23" C?."1" C?."2" *NET "unnamed_net22" *NET "unnamed_net22" C?."1" C?."2" *NET "unnamed_net21" *NET "unnamed_net21" C?."1" *NET "unnamed_net20" *NET "unnamed_net20" C?."1" C?."2" *NET "unnamed_net19" *NET "unnamed_net19" C?."1" C?."2" *NET "unnamed_net18" *NET "unnamed_net18" C?."1" C?."2" *NET "unnamed_net17" *NET "unnamed_net17" C?."1" C?."2" *NET "unnamed_net16" *NET "unnamed_net16" C?."1" C?."2" *NET "unnamed_net15" *NET "unnamed_net15" C?."1" C?."2" *NET "unnamed_net14" *NET "unnamed_net14" C?."1" C?."2" *NET "unnamed_net13" *NET "unnamed_net13" C?."1" *NET "unnamed_net12" *NET "unnamed_net12" C?."1" C?."2" *NET "unnamed_net11" *NET "unnamed_net11" C?."1" C?."2" *NET "unnamed_net10" *NET "unnamed_net10" C?."1" C?."2" *NET "unnamed_net9" *NET "unnamed_net9" C?."1" C?."2" *NET "unnamed_net8" *NET "unnamed_net8" C?."1" C?."2" *NET "unnamed_net7" *NET "unnamed_net7" C?."1" *NET "unnamed_net6" *NET "unnamed_net6" C?."1" C?."2" *NET "unnamed_net5" *NET "unnamed_net5" C?."1" C?."2" *NET "unnamed_net4" *NET "unnamed_net4" C?."1" C?."2" *NET "unnamed_net3" *NET "unnamed_net3" C?."1" *NET "unnamed_net2" *NET "unnamed_net2" C?."1" C?."2" *NET "unnamed_net1" *NET "unnamed_net1" C?."1" *END geda-gaf-1.8.2/gnetlist/tests/common/outputs/maxascii/JD_Sort.retcode0000664000175000017500000000000212050461155022546 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/maxascii/cascade-output.net0000664000175000017500000000104212050461155023331 00000000000000*OrCAD *START *COMP AMP2 "none" *COMP T1 "none" *COMP MX1 "none" *COMP FL1 "none" *COMP DEF1 "none" *COMP AMP1 "none" *COMP SOURCE "none" *COMP DEFAULTS "unknown" *NET "unnamed_net6" *NET "unnamed_net6" AMP2."1" T1."2" *NET "unnamed_net5" *NET "unnamed_net5" T1."1" MX1."2" *NET "unnamed_net4" *NET "unnamed_net4" MX1."1" FL1."2" *NET "unnamed_net3" *NET "unnamed_net3" FL1."1" DEF1."2" *NET "unnamed_net2" *NET "unnamed_net2" DEF1."1" AMP1."2" *NET "unnamed_net1" *NET "unnamed_net1" AMP1."1" SOURCE."1" *NET "GND" *NET "GND" DEFAULTS."1" *END geda-gaf-1.8.2/gnetlist/tests/common/outputs/maxascii/multiequal-output.net0000664000175000017500000000024412050461155024133 00000000000000*OrCAD *START *COMP V1 "none" *COMP R1 "unknown" *COMP A1 "unknown" *NET "GND" *NET "GND" V1."2" R1."1" *NET "unnamed_net1" *NET "unnamed_net1" V1."1" R1."2" *END geda-gaf-1.8.2/gnetlist/tests/common/outputs/maxascii/JD_nomunge-output.net0000664000175000017500000000103712050461155023777 00000000000000*OrCAD *START *COMP A1 "unknown" *COMP Cm "unknown" *COMP Cp "unknown" *COMP Rlp "unknown" *COMP Rlm "unknown" *COMP Vdd "none" *COMP V1 "none" *COMP Rt "unknown" *COMP Rb "unknown" *COMP M1 "unknown" *COMP X1 "unknown" *NET "Vdd1" *NET "Vdd1" Rlp."2" M1."B" M1."S" Vdd."1" X1."6" *NET "GND" *NET "GND" Cm."2" Cp."2" Rlm."2" Vdd."2" V1."2" Rb."1" X1."7" X1."2" *NET "LVH" *NET "LVH" Rb."2" M1."D" M1."G" X1."3" *NET "i" *NET "i" V1."1" X1."1" *NET "p" *NET "p" Cp."1" Rt."1" Rlp."1" X1."5" *NET "m" *NET "m" Cm."1" Rlm."1" Rt."2" X1."4" *END geda-gaf-1.8.2/gnetlist/tests/common/outputs/maxascii/stack-torture.retcode0000664000175000017500000000000212063576065024064 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/maxascii/powersupply.retcode0000664000175000017500000000000212050461155023653 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/maxascii/JD_Sort_nomunge-output.net0000664000175000017500000000103712050461155025006 00000000000000*OrCAD *START *COMP A1 "unknown" *COMP Cm "unknown" *COMP Cp "unknown" *COMP Rlp "unknown" *COMP Rlm "unknown" *COMP Vdd "none" *COMP V1 "none" *COMP Rt "unknown" *COMP Rb "unknown" *COMP M1 "unknown" *COMP X1 "unknown" *NET "Vdd1" *NET "Vdd1" Rlp."2" M1."B" M1."S" Vdd."1" X1."6" *NET "GND" *NET "GND" Cm."2" Cp."2" Rlm."2" Vdd."2" V1."2" Rb."1" X1."7" X1."2" *NET "LVH" *NET "LVH" Rb."2" M1."D" M1."G" X1."3" *NET "i" *NET "i" V1."1" X1."1" *NET "p" *NET "p" Cp."1" Rt."1" Rlp."1" X1."5" *NET "m" *NET "m" Cm."1" Rlm."1" Rt."2" X1."4" *END geda-gaf-1.8.2/gnetlist/tests/common/outputs/maxascii/TwoStageAmp_Sort.retcode0000664000175000017500000000000212050461155024444 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/maxascii/netattrib.retcode0000664000175000017500000000000212050461155023236 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/maxascii/JD_nomunge.retcode0000664000175000017500000000000212050461155023267 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/maxascii/JD_Include-output.net0000664000175000017500000000103712050461155023712 00000000000000*OrCAD *START *COMP A1 "unknown" *COMP Cm "unknown" *COMP Cp "unknown" *COMP Rlp "unknown" *COMP Rlm "unknown" *COMP Vdd "none" *COMP V1 "none" *COMP Rt "unknown" *COMP Rb "unknown" *COMP M1 "unknown" *COMP X1 "unknown" *NET "Vdd1" *NET "Vdd1" Rlp."2" M1."B" M1."S" Vdd."1" X1."6" *NET "GND" *NET "GND" Cm."2" Cp."2" Rlm."2" Vdd."2" V1."2" Rb."1" X1."7" X1."2" *NET "LVH" *NET "LVH" Rb."2" M1."D" M1."G" X1."3" *NET "i" *NET "i" V1."1" X1."1" *NET "p" *NET "p" Cp."1" Rt."1" Rlp."1" X1."5" *NET "m" *NET "m" Cm."1" Rlm."1" Rt."2" X1."4" *END geda-gaf-1.8.2/gnetlist/tests/common/outputs/maxascii/JD_Sort-output.net0000664000175000017500000000103712050461155023256 00000000000000*OrCAD *START *COMP A1 "unknown" *COMP Cm "unknown" *COMP Cp "unknown" *COMP Rlp "unknown" *COMP Rlm "unknown" *COMP Vdd "none" *COMP V1 "none" *COMP Rt "unknown" *COMP Rb "unknown" *COMP M1 "unknown" *COMP X1 "unknown" *NET "Vdd1" *NET "Vdd1" Rlp."2" M1."B" M1."S" Vdd."1" X1."6" *NET "GND" *NET "GND" Cm."2" Cp."2" Rlm."2" Vdd."2" V1."2" Rb."1" X1."7" X1."2" *NET "LVH" *NET "LVH" Rb."2" M1."D" M1."G" X1."3" *NET "i" *NET "i" V1."1" X1."1" *NET "p" *NET "p" Cp."1" Rt."1" Rlp."1" X1."5" *NET "m" *NET "m" Cm."1" Rlm."1" Rt."2" X1."4" *END geda-gaf-1.8.2/gnetlist/tests/common/outputs/maxascii/cascade.retcode0000664000175000017500000000000212050461155022625 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/maxascii/TwoStageAmp_Sort-output.net0000664000175000017500000000213212050461155025151 00000000000000*OrCAD *START *COMP C2 "unknown" *COMP R4 "unknown" *COMP R3 "unknown" *COMP R8 "unknown" *COMP CE2 "unknown" *COMP RE2 "unknown" *COMP RC1 "unknown" *COMP Q2 "unknown" *COMP C1 "unknown" *COMP A3 "unknown" *COMP A2 "unknown" *COMP A1 "unknown" *COMP VCC "none" *COMP Vinput "none" *COMP CE1 "unknown" *COMP Cout "unknown" *COMP RL "unknown" *COMP RC2 "unknown" *COMP RE1 "unknown" *COMP R2 "unknown" *COMP R1 "unknown" *COMP R5 "unknown" *COMP Q1 "unknown" *NET "unnamed_net2" *NET "unnamed_net2" C2."1" R8."2" *NET "Vbase2" *NET "Vbase2" R3."1" C2."2" R4."2" Q2."2" *NET "Vem2" *NET "Vem2" CE2."2" RE2."2" Q2."1" *NET "Vout" *NET "Vout" Cout."2" RL."2" *NET "VColl2" *NET "VColl2" Q2."3" Cout."1" RC2."1" *NET "GND" *NET "GND" R4."1" CE2."1" RE2."1" VCC."2" Vinput."2" CE1."1" RL."1" RE1."1" R2."1" *NET "Vcc" *NET "Vcc" R3."2" RC1."2" VCC."1" RC2."2" R1."2" *NET "Vin" *NET "Vin" Vinput."1" R5."1" *NET "unnamed_net1" *NET "unnamed_net1" C1."1" R5."2" *NET "Vbase1" *NET "Vbase1" C1."2" R2."2" R1."1" Q1."2" *NET "Vem1" *NET "Vem1" CE1."2" RE1."2" Q1."1" *NET "Vcoll1" *NET "Vcoll1" R8."1" RC1."1" Q1."3" *END geda-gaf-1.8.2/gnetlist/tests/common/outputs/maxascii/singlenet-output.net0000664000175000017500000000035312050461155023742 00000000000000*OrCAD *START *COMP U100 "DIP14" *NET "SING_N_2" *NET "SING_N_2" U100."1" U100."3" *NET "GND" *NET "GND" U100."7" *NET "Vcc" *NET "Vcc" U100."14" *NET "SING_N" *NET "SING_N" U100."4" U100."5" U100."10" U100."8" U100."9" U100."6" *END geda-gaf-1.8.2/gnetlist/tests/common/outputs/maxascii/TwoStageAmp_Include.retcode0000664000175000017500000000000212050461155025100 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/maxascii/SlottedOpamps-output.net0000664000175000017500000000115112050461155024545 00000000000000*OrCAD *START *COMP U1 "unknown" *NET "minusin_slot4_pin13_b" *NET "minusin_slot4_pin13_b" U1."13" *NET "plusin_slot4_pin12_a" *NET "plusin_slot4_pin12_a" U1."12" *NET "minusin_slot3_pin_b" *NET "minusin_slot3_pin_b" U1."9" *NET "plusin_slot3_pin10_a" *NET "plusin_slot3_pin10_a" U1."10" *NET "minusin_slot2_pin6_b" *NET "minusin_slot2_pin6_b" U1."6" *NET "plusin_slot2_pin5_a" *NET "plusin_slot2_pin5_a" U1."5" *NET "samenet_output_c" *NET "samenet_output_c" U1."14" U1."8" U1."7" U1."1" *NET "minusin_slot1_pin_b" *NET "minusin_slot1_pin_b" U1."2" *NET "plusin_slot1_pin3_a" *NET "plusin_slot1_pin3_a" U1."3" *END geda-gaf-1.8.2/gnetlist/tests/common/outputs/maxascii/TwoStageAmp_Include-output.net0000664000175000017500000000213212050461155025605 00000000000000*OrCAD *START *COMP C2 "unknown" *COMP R4 "unknown" *COMP R3 "unknown" *COMP R8 "unknown" *COMP CE2 "unknown" *COMP RE2 "unknown" *COMP RC1 "unknown" *COMP Q2 "unknown" *COMP C1 "unknown" *COMP A3 "unknown" *COMP A2 "unknown" *COMP A1 "unknown" *COMP VCC "none" *COMP Vinput "none" *COMP CE1 "unknown" *COMP Cout "unknown" *COMP RL "unknown" *COMP RC2 "unknown" *COMP RE1 "unknown" *COMP R2 "unknown" *COMP R1 "unknown" *COMP R5 "unknown" *COMP Q1 "unknown" *NET "unnamed_net2" *NET "unnamed_net2" C2."1" R8."2" *NET "Vbase2" *NET "Vbase2" R3."1" C2."2" R4."2" Q2."2" *NET "Vem2" *NET "Vem2" CE2."2" RE2."2" Q2."1" *NET "Vout" *NET "Vout" Cout."2" RL."2" *NET "VColl2" *NET "VColl2" Q2."3" Cout."1" RC2."1" *NET "GND" *NET "GND" R4."1" CE2."1" RE2."1" VCC."2" Vinput."2" CE1."1" RL."1" RE1."1" R2."1" *NET "Vcc" *NET "Vcc" R3."2" RC1."2" VCC."1" RC2."2" R1."2" *NET "Vin" *NET "Vin" Vinput."1" R5."1" *NET "unnamed_net1" *NET "unnamed_net1" C1."1" R5."2" *NET "Vbase1" *NET "Vbase1" C1."2" R2."2" R1."1" Q1."2" *NET "Vem1" *NET "Vem1" CE1."2" RE1."2" Q1."1" *NET "Vcoll1" *NET "Vcoll1" R8."1" RC1."1" Q1."3" *END geda-gaf-1.8.2/gnetlist/tests/common/outputs/maxascii/singlenet.retcode0000664000175000017500000000000212050461155023232 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/maxascii/JD_Include.retcode0000664000175000017500000000000212050461155023202 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/maxascii/powersupply-output.net0000664000175000017500000000134512050461155024365 00000000000000*OrCAD *START *COMP U2 "unknown" *COMP C4 "unknown" *COMP C3 "unknown" *COMP R1 "unknown" *COMP C2 "unknown" *COMP R2 "unknown" *COMP C1 "unknown" *COMP S1 "unknown" *COMP CONN1 "unknown" *COMP T1 "unknown" *COMP F1 "unknown" *COMP U1 "unknown" *NET "ten" *NET "ten" U2."1" R1."2" C3."1" R2."1" *NET "eleven" *NET "eleven" U2."2" C4."1" R2."2" *NET "GND" *NET "GND" CONN1."3" *NET "one" *NET "one" S1."1" CONN1."1" *NET "five" *NET "five" CONN1."2" T1."2" *NET "three" *NET "three" T1."1" F1."2" *NET "two" *NET "two" S1."2" F1."1" *NET "six" *NET "six" T1."3" U1."4" *NET "seven" *NET "seven" T1."4" U1."3" *NET "nine" *NET "nine" C4."2" C3."2" R1."3" R1."1" C2."2" C1."2" U1."2" *NET "eight" *NET "eight" U2."3" C2."1" C1."1" U1."1" *END geda-gaf-1.8.2/gnetlist/tests/common/outputs/maxascii/netattrib-output.net0000664000175000017500000000054212050461155023746 00000000000000*OrCAD *START *COMP F1 "unknown" *COMP U300 "DIP14" *COMP U200 "DIP14" *COMP U100 "DIP14" *NET "unnamed_net1" *NET "unnamed_net1" U300."2" *NET "netattrib" *NET "netattrib" U200."2" U100."5" *NET "GND" *NET "GND" U300."7" U200."7" U100."7" *NET "Vcc" *NET "Vcc" U300."14" U200."14" U100."14" *NET "one" *NET "one" F1."1" U300."1" U200."1" U100."3" *END geda-gaf-1.8.2/gnetlist/tests/common/outputs/maxascii/SlottedOpamps.retcode0000664000175000017500000000000212050461155024040 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/maxascii/JD.retcode0000664000175000017500000000000212050461155021537 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/maxascii/multiequal.retcode0000664000175000017500000000000212050461155023424 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/maxascii/JD_Sort_nomunge.retcode0000664000175000017500000000000212050461155024276 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/maxascii/TwoStageAmp-output.net0000664000175000017500000000213212050461155024142 00000000000000*OrCAD *START *COMP C2 "unknown" *COMP R4 "unknown" *COMP R3 "unknown" *COMP R8 "unknown" *COMP CE2 "unknown" *COMP RE2 "unknown" *COMP RC1 "unknown" *COMP Q2 "unknown" *COMP C1 "unknown" *COMP A3 "unknown" *COMP A2 "unknown" *COMP A1 "unknown" *COMP VCC "none" *COMP Vinput "none" *COMP CE1 "unknown" *COMP Cout "unknown" *COMP RL "unknown" *COMP RC2 "unknown" *COMP RE1 "unknown" *COMP R2 "unknown" *COMP R1 "unknown" *COMP R5 "unknown" *COMP Q1 "unknown" *NET "unnamed_net2" *NET "unnamed_net2" C2."1" R8."2" *NET "Vbase2" *NET "Vbase2" R3."1" C2."2" R4."2" Q2."2" *NET "Vem2" *NET "Vem2" CE2."2" RE2."2" Q2."1" *NET "Vout" *NET "Vout" Cout."2" RL."2" *NET "VColl2" *NET "VColl2" Q2."3" Cout."1" RC2."1" *NET "GND" *NET "GND" R4."1" CE2."1" RE2."1" VCC."2" Vinput."2" CE1."1" RL."1" RE1."1" R2."1" *NET "Vcc" *NET "Vcc" R3."2" RC1."2" VCC."1" RC2."2" R1."2" *NET "Vin" *NET "Vin" Vinput."1" R5."1" *NET "unnamed_net1" *NET "unnamed_net1" C1."1" R5."2" *NET "Vbase1" *NET "Vbase1" C1."2" R2."2" R1."1" Q1."2" *NET "Vem1" *NET "Vem1" CE1."2" RE1."2" Q1."1" *NET "Vcoll1" *NET "Vcoll1" R8."1" RC1."1" Q1."3" *END geda-gaf-1.8.2/gnetlist/tests/common/outputs/maxascii/JD_Include_nomunge.retcode0000664000175000017500000000000212050461155024732 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vhdl/0000775000175000017500000000000012220655760017130 500000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/vhdl/JD_Include_nomunge-output.net0000664000175000017500000000312212050461155024576 00000000000000-- Structural VHDL generated by gnetlist -- Context clause library IEEE; use IEEE.Std_Logic_1164.all; -- Entity declaration ENTITY not found IS END not found; -- Secondary unit ARCHITECTURE netlist OF not found IS COMPONENT LVD END COMPONENT ; COMPONENT PMOS_TRANSISTOR END COMPONENT ; COMPONENT RESISTOR END COMPONENT ; COMPONENT vpulse END COMPONENT ; COMPONENT VOLTAGE_SOURCE END COMPONENT ; COMPONENT CAPACITOR END COMPONENT ; COMPONENT model END COMPONENT ; SIGNAL Vdd1 : Std_Logic; SIGNAL GND : Std_Logic; SIGNAL LVH : Std_Logic; SIGNAL i : Std_Logic; SIGNAL p : Std_Logic; SIGNAL m : Std_Logic; BEGIN -- Architecture statement part A1 : model ; Cm : CAPACITOR PORT MAP ( 1 => m, 2 => GND); Cp : CAPACITOR PORT MAP ( 1 => p, 2 => GND); Rlp : RESISTOR PORT MAP ( 2 => Vdd1, 1 => p); Rlm : RESISTOR PORT MAP ( 2 => GND, 1 => m); Vdd : VOLTAGE_SOURCE PORT MAP ( 1 => Vdd1, 2 => GND); V1 : vpulse PORT MAP ( 1 => i, 2 => GND); Rt : RESISTOR PORT MAP ( 2 => m, 1 => p); Rb : RESISTOR PORT MAP ( 2 => LVH, 1 => GND); M1 : PMOS_TRANSISTOR PORT MAP ( S => Vdd1, B => Vdd1, D => LVH, G => LVH); X1 : LVD PORT MAP ( 4 => m, 5 => p, 1 => i, 3 => LVH, 2 => GND, 6 => Vdd1, 7 => GND); -- Signal assignment part END netlist; geda-gaf-1.8.2/gnetlist/tests/common/outputs/vhdl/JD-output.net0000664000175000017500000000312212050461155021403 00000000000000-- Structural VHDL generated by gnetlist -- Context clause library IEEE; use IEEE.Std_Logic_1164.all; -- Entity declaration ENTITY not found IS END not found; -- Secondary unit ARCHITECTURE netlist OF not found IS COMPONENT LVD END COMPONENT ; COMPONENT PMOS_TRANSISTOR END COMPONENT ; COMPONENT RESISTOR END COMPONENT ; COMPONENT vpulse END COMPONENT ; COMPONENT VOLTAGE_SOURCE END COMPONENT ; COMPONENT CAPACITOR END COMPONENT ; COMPONENT model END COMPONENT ; SIGNAL Vdd1 : Std_Logic; SIGNAL GND : Std_Logic; SIGNAL LVH : Std_Logic; SIGNAL i : Std_Logic; SIGNAL p : Std_Logic; SIGNAL m : Std_Logic; BEGIN -- Architecture statement part A1 : model ; Cm : CAPACITOR PORT MAP ( 1 => m, 2 => GND); Cp : CAPACITOR PORT MAP ( 1 => p, 2 => GND); Rlp : RESISTOR PORT MAP ( 2 => Vdd1, 1 => p); Rlm : RESISTOR PORT MAP ( 2 => GND, 1 => m); Vdd : VOLTAGE_SOURCE PORT MAP ( 1 => Vdd1, 2 => GND); V1 : vpulse PORT MAP ( 1 => i, 2 => GND); Rt : RESISTOR PORT MAP ( 2 => m, 1 => p); Rb : RESISTOR PORT MAP ( 2 => LVH, 1 => GND); M1 : PMOS_TRANSISTOR PORT MAP ( S => Vdd1, B => Vdd1, D => LVH, G => LVH); X1 : LVD PORT MAP ( 4 => m, 5 => p, 1 => i, 3 => LVH, 2 => GND, 6 => Vdd1, 7 => GND); -- Signal assignment part END netlist; geda-gaf-1.8.2/gnetlist/tests/common/outputs/vhdl/TwoStageAmp.retcode0000664000175000017500000000000212050461155022574 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vhdl/stack-torture-output.net0000664000175000017500000030224712063576065023742 00000000000000-- Structural VHDL generated by gnetlist -- Context clause library IEEE; use IEEE.Std_Logic_1164.all; -- Entity declaration ENTITY not found IS END not found; -- Secondary unit ARCHITECTURE netlist OF not found IS COMPONENT CAPACITOR END COMPONENT ; SIGNAL unnamed_net1025 : Std_Logic; SIGNAL unnamed_net1024 : Std_Logic; SIGNAL unnamed_net1023 : Std_Logic; SIGNAL unnamed_net1022 : Std_Logic; SIGNAL unnamed_net1021 : Std_Logic; SIGNAL unnamed_net1020 : Std_Logic; SIGNAL unnamed_net1019 : Std_Logic; SIGNAL unnamed_net1018 : Std_Logic; SIGNAL unnamed_net1017 : Std_Logic; SIGNAL unnamed_net1016 : Std_Logic; SIGNAL unnamed_net1015 : Std_Logic; SIGNAL unnamed_net1014 : Std_Logic; SIGNAL unnamed_net1013 : Std_Logic; SIGNAL unnamed_net1012 : Std_Logic; SIGNAL unnamed_net1011 : Std_Logic; SIGNAL unnamed_net1010 : Std_Logic; SIGNAL unnamed_net1009 : Std_Logic; SIGNAL unnamed_net1008 : Std_Logic; SIGNAL unnamed_net1007 : Std_Logic; SIGNAL unnamed_net1006 : Std_Logic; SIGNAL unnamed_net1005 : Std_Logic; SIGNAL unnamed_net1004 : Std_Logic; SIGNAL unnamed_net1003 : Std_Logic; SIGNAL unnamed_net1002 : Std_Logic; SIGNAL unnamed_net1001 : Std_Logic; SIGNAL unnamed_net1000 : Std_Logic; SIGNAL unnamed_net999 : Std_Logic; SIGNAL unnamed_net998 : Std_Logic; SIGNAL unnamed_net997 : Std_Logic; SIGNAL unnamed_net996 : Std_Logic; SIGNAL unnamed_net995 : Std_Logic; SIGNAL unnamed_net994 : Std_Logic; SIGNAL unnamed_net993 : Std_Logic; SIGNAL unnamed_net992 : Std_Logic; SIGNAL unnamed_net991 : Std_Logic; SIGNAL unnamed_net990 : Std_Logic; SIGNAL unnamed_net989 : Std_Logic; SIGNAL unnamed_net988 : Std_Logic; SIGNAL unnamed_net987 : Std_Logic; SIGNAL unnamed_net986 : Std_Logic; SIGNAL unnamed_net985 : Std_Logic; SIGNAL unnamed_net984 : Std_Logic; SIGNAL unnamed_net983 : Std_Logic; SIGNAL unnamed_net982 : Std_Logic; SIGNAL unnamed_net981 : Std_Logic; SIGNAL unnamed_net980 : Std_Logic; SIGNAL unnamed_net979 : Std_Logic; SIGNAL unnamed_net978 : Std_Logic; SIGNAL unnamed_net977 : Std_Logic; SIGNAL unnamed_net976 : Std_Logic; SIGNAL unnamed_net975 : Std_Logic; SIGNAL unnamed_net974 : Std_Logic; SIGNAL unnamed_net973 : Std_Logic; SIGNAL unnamed_net972 : Std_Logic; SIGNAL unnamed_net971 : Std_Logic; SIGNAL unnamed_net970 : Std_Logic; SIGNAL unnamed_net969 : Std_Logic; SIGNAL unnamed_net968 : Std_Logic; SIGNAL unnamed_net967 : Std_Logic; SIGNAL unnamed_net966 : Std_Logic; SIGNAL unnamed_net965 : Std_Logic; SIGNAL unnamed_net964 : Std_Logic; SIGNAL unnamed_net963 : Std_Logic; SIGNAL unnamed_net962 : Std_Logic; SIGNAL unnamed_net961 : Std_Logic; SIGNAL unnamed_net960 : Std_Logic; SIGNAL unnamed_net959 : Std_Logic; SIGNAL unnamed_net958 : Std_Logic; SIGNAL unnamed_net957 : Std_Logic; SIGNAL unnamed_net956 : Std_Logic; SIGNAL unnamed_net955 : Std_Logic; SIGNAL unnamed_net954 : Std_Logic; SIGNAL unnamed_net953 : Std_Logic; SIGNAL unnamed_net952 : Std_Logic; SIGNAL unnamed_net951 : Std_Logic; SIGNAL unnamed_net950 : Std_Logic; SIGNAL unnamed_net949 : Std_Logic; SIGNAL unnamed_net948 : Std_Logic; SIGNAL unnamed_net947 : Std_Logic; SIGNAL unnamed_net946 : Std_Logic; SIGNAL unnamed_net945 : Std_Logic; SIGNAL unnamed_net944 : Std_Logic; SIGNAL unnamed_net943 : Std_Logic; SIGNAL unnamed_net942 : Std_Logic; SIGNAL unnamed_net941 : Std_Logic; SIGNAL unnamed_net940 : Std_Logic; SIGNAL unnamed_net939 : Std_Logic; SIGNAL unnamed_net938 : Std_Logic; SIGNAL unnamed_net937 : Std_Logic; SIGNAL unnamed_net936 : Std_Logic; SIGNAL unnamed_net935 : Std_Logic; SIGNAL unnamed_net934 : Std_Logic; SIGNAL unnamed_net933 : Std_Logic; SIGNAL unnamed_net932 : Std_Logic; SIGNAL unnamed_net931 : Std_Logic; SIGNAL unnamed_net930 : Std_Logic; SIGNAL unnamed_net929 : Std_Logic; SIGNAL unnamed_net928 : Std_Logic; SIGNAL unnamed_net927 : Std_Logic; SIGNAL unnamed_net926 : Std_Logic; SIGNAL unnamed_net925 : Std_Logic; SIGNAL unnamed_net924 : Std_Logic; SIGNAL unnamed_net923 : Std_Logic; SIGNAL unnamed_net922 : Std_Logic; SIGNAL unnamed_net921 : Std_Logic; SIGNAL unnamed_net920 : Std_Logic; SIGNAL unnamed_net919 : Std_Logic; SIGNAL unnamed_net918 : Std_Logic; SIGNAL unnamed_net917 : Std_Logic; SIGNAL unnamed_net916 : Std_Logic; SIGNAL unnamed_net915 : Std_Logic; SIGNAL unnamed_net914 : Std_Logic; SIGNAL unnamed_net913 : Std_Logic; SIGNAL unnamed_net912 : Std_Logic; SIGNAL unnamed_net911 : Std_Logic; SIGNAL unnamed_net910 : Std_Logic; SIGNAL unnamed_net909 : Std_Logic; SIGNAL unnamed_net908 : Std_Logic; SIGNAL unnamed_net907 : Std_Logic; SIGNAL unnamed_net906 : Std_Logic; SIGNAL unnamed_net905 : Std_Logic; SIGNAL unnamed_net904 : Std_Logic; SIGNAL unnamed_net903 : Std_Logic; SIGNAL unnamed_net902 : Std_Logic; SIGNAL unnamed_net901 : Std_Logic; SIGNAL unnamed_net900 : Std_Logic; SIGNAL unnamed_net899 : Std_Logic; SIGNAL unnamed_net898 : Std_Logic; SIGNAL unnamed_net897 : Std_Logic; SIGNAL unnamed_net896 : Std_Logic; SIGNAL unnamed_net895 : Std_Logic; SIGNAL unnamed_net894 : Std_Logic; SIGNAL unnamed_net893 : Std_Logic; SIGNAL unnamed_net892 : Std_Logic; SIGNAL unnamed_net891 : Std_Logic; SIGNAL unnamed_net890 : Std_Logic; SIGNAL unnamed_net889 : Std_Logic; SIGNAL unnamed_net888 : Std_Logic; SIGNAL unnamed_net887 : Std_Logic; SIGNAL unnamed_net886 : Std_Logic; SIGNAL unnamed_net885 : Std_Logic; SIGNAL unnamed_net884 : Std_Logic; SIGNAL unnamed_net883 : Std_Logic; SIGNAL unnamed_net882 : Std_Logic; SIGNAL unnamed_net881 : Std_Logic; SIGNAL unnamed_net880 : Std_Logic; SIGNAL unnamed_net879 : Std_Logic; SIGNAL unnamed_net878 : Std_Logic; SIGNAL unnamed_net877 : Std_Logic; SIGNAL unnamed_net876 : Std_Logic; SIGNAL unnamed_net875 : Std_Logic; SIGNAL unnamed_net874 : Std_Logic; SIGNAL unnamed_net873 : Std_Logic; SIGNAL unnamed_net872 : Std_Logic; SIGNAL unnamed_net871 : Std_Logic; SIGNAL unnamed_net870 : Std_Logic; SIGNAL unnamed_net869 : Std_Logic; SIGNAL unnamed_net868 : Std_Logic; SIGNAL unnamed_net867 : Std_Logic; SIGNAL unnamed_net866 : Std_Logic; SIGNAL unnamed_net865 : Std_Logic; SIGNAL unnamed_net864 : Std_Logic; SIGNAL unnamed_net863 : Std_Logic; SIGNAL unnamed_net862 : Std_Logic; SIGNAL unnamed_net861 : Std_Logic; SIGNAL unnamed_net860 : Std_Logic; SIGNAL unnamed_net859 : Std_Logic; SIGNAL unnamed_net858 : Std_Logic; SIGNAL unnamed_net857 : Std_Logic; SIGNAL unnamed_net856 : Std_Logic; SIGNAL unnamed_net855 : Std_Logic; SIGNAL unnamed_net854 : Std_Logic; SIGNAL unnamed_net853 : Std_Logic; SIGNAL unnamed_net852 : Std_Logic; SIGNAL unnamed_net851 : Std_Logic; SIGNAL unnamed_net850 : Std_Logic; SIGNAL unnamed_net849 : Std_Logic; SIGNAL unnamed_net848 : Std_Logic; SIGNAL unnamed_net847 : Std_Logic; SIGNAL unnamed_net846 : Std_Logic; SIGNAL unnamed_net845 : Std_Logic; SIGNAL unnamed_net844 : Std_Logic; SIGNAL unnamed_net843 : Std_Logic; SIGNAL unnamed_net842 : Std_Logic; SIGNAL unnamed_net841 : Std_Logic; SIGNAL unnamed_net840 : Std_Logic; SIGNAL unnamed_net839 : Std_Logic; SIGNAL unnamed_net838 : Std_Logic; SIGNAL unnamed_net837 : Std_Logic; SIGNAL unnamed_net836 : Std_Logic; SIGNAL unnamed_net835 : Std_Logic; SIGNAL unnamed_net834 : Std_Logic; SIGNAL unnamed_net833 : Std_Logic; SIGNAL unnamed_net832 : Std_Logic; SIGNAL unnamed_net831 : Std_Logic; SIGNAL unnamed_net830 : Std_Logic; SIGNAL unnamed_net829 : Std_Logic; SIGNAL unnamed_net828 : Std_Logic; SIGNAL unnamed_net827 : Std_Logic; SIGNAL unnamed_net826 : Std_Logic; SIGNAL unnamed_net825 : Std_Logic; SIGNAL unnamed_net824 : Std_Logic; SIGNAL unnamed_net823 : Std_Logic; SIGNAL unnamed_net822 : Std_Logic; SIGNAL unnamed_net821 : Std_Logic; SIGNAL unnamed_net820 : Std_Logic; SIGNAL unnamed_net819 : Std_Logic; SIGNAL unnamed_net818 : Std_Logic; SIGNAL unnamed_net817 : Std_Logic; SIGNAL unnamed_net816 : Std_Logic; SIGNAL unnamed_net815 : Std_Logic; SIGNAL unnamed_net814 : Std_Logic; SIGNAL unnamed_net813 : Std_Logic; SIGNAL unnamed_net812 : Std_Logic; SIGNAL unnamed_net811 : Std_Logic; SIGNAL unnamed_net810 : Std_Logic; SIGNAL unnamed_net809 : Std_Logic; SIGNAL unnamed_net808 : Std_Logic; SIGNAL unnamed_net807 : Std_Logic; SIGNAL unnamed_net806 : Std_Logic; SIGNAL unnamed_net805 : Std_Logic; SIGNAL unnamed_net804 : Std_Logic; SIGNAL unnamed_net803 : Std_Logic; SIGNAL unnamed_net802 : Std_Logic; SIGNAL unnamed_net801 : Std_Logic; SIGNAL unnamed_net800 : Std_Logic; SIGNAL unnamed_net799 : Std_Logic; SIGNAL unnamed_net798 : Std_Logic; SIGNAL unnamed_net797 : Std_Logic; SIGNAL unnamed_net796 : Std_Logic; SIGNAL unnamed_net795 : Std_Logic; SIGNAL unnamed_net794 : Std_Logic; SIGNAL unnamed_net793 : Std_Logic; SIGNAL unnamed_net792 : Std_Logic; SIGNAL unnamed_net791 : Std_Logic; SIGNAL unnamed_net790 : Std_Logic; SIGNAL unnamed_net789 : Std_Logic; SIGNAL unnamed_net788 : Std_Logic; SIGNAL unnamed_net787 : Std_Logic; SIGNAL unnamed_net786 : Std_Logic; SIGNAL unnamed_net785 : Std_Logic; SIGNAL unnamed_net784 : Std_Logic; SIGNAL unnamed_net783 : Std_Logic; SIGNAL unnamed_net782 : Std_Logic; SIGNAL unnamed_net781 : Std_Logic; SIGNAL unnamed_net780 : Std_Logic; SIGNAL unnamed_net779 : Std_Logic; SIGNAL unnamed_net778 : Std_Logic; SIGNAL unnamed_net777 : Std_Logic; SIGNAL unnamed_net776 : Std_Logic; SIGNAL unnamed_net775 : Std_Logic; SIGNAL unnamed_net774 : Std_Logic; SIGNAL unnamed_net773 : Std_Logic; SIGNAL unnamed_net772 : Std_Logic; SIGNAL unnamed_net771 : Std_Logic; SIGNAL unnamed_net770 : Std_Logic; SIGNAL unnamed_net769 : Std_Logic; SIGNAL unnamed_net768 : Std_Logic; SIGNAL unnamed_net767 : Std_Logic; SIGNAL unnamed_net766 : Std_Logic; SIGNAL unnamed_net765 : Std_Logic; SIGNAL unnamed_net764 : Std_Logic; SIGNAL unnamed_net763 : Std_Logic; SIGNAL unnamed_net762 : Std_Logic; SIGNAL unnamed_net761 : Std_Logic; SIGNAL unnamed_net760 : Std_Logic; SIGNAL unnamed_net759 : Std_Logic; SIGNAL unnamed_net758 : Std_Logic; SIGNAL unnamed_net757 : Std_Logic; SIGNAL unnamed_net756 : Std_Logic; SIGNAL unnamed_net755 : Std_Logic; SIGNAL unnamed_net754 : Std_Logic; SIGNAL unnamed_net753 : Std_Logic; SIGNAL unnamed_net752 : Std_Logic; SIGNAL unnamed_net751 : Std_Logic; SIGNAL unnamed_net750 : Std_Logic; SIGNAL unnamed_net749 : Std_Logic; SIGNAL unnamed_net748 : Std_Logic; SIGNAL unnamed_net747 : Std_Logic; SIGNAL unnamed_net746 : Std_Logic; SIGNAL unnamed_net745 : Std_Logic; SIGNAL unnamed_net744 : Std_Logic; SIGNAL unnamed_net743 : Std_Logic; SIGNAL unnamed_net742 : Std_Logic; SIGNAL unnamed_net741 : Std_Logic; SIGNAL unnamed_net740 : Std_Logic; SIGNAL unnamed_net739 : Std_Logic; SIGNAL unnamed_net738 : Std_Logic; SIGNAL unnamed_net737 : Std_Logic; SIGNAL unnamed_net736 : Std_Logic; SIGNAL unnamed_net735 : Std_Logic; SIGNAL unnamed_net734 : Std_Logic; SIGNAL unnamed_net733 : Std_Logic; SIGNAL unnamed_net732 : Std_Logic; SIGNAL unnamed_net731 : Std_Logic; SIGNAL unnamed_net730 : Std_Logic; SIGNAL unnamed_net729 : Std_Logic; SIGNAL unnamed_net728 : Std_Logic; SIGNAL unnamed_net727 : Std_Logic; SIGNAL unnamed_net726 : Std_Logic; SIGNAL unnamed_net725 : Std_Logic; SIGNAL unnamed_net724 : Std_Logic; SIGNAL unnamed_net723 : Std_Logic; SIGNAL unnamed_net722 : Std_Logic; SIGNAL unnamed_net721 : Std_Logic; SIGNAL unnamed_net720 : Std_Logic; SIGNAL unnamed_net719 : Std_Logic; SIGNAL unnamed_net718 : Std_Logic; SIGNAL unnamed_net717 : Std_Logic; SIGNAL unnamed_net716 : Std_Logic; SIGNAL unnamed_net715 : Std_Logic; SIGNAL unnamed_net714 : Std_Logic; SIGNAL unnamed_net713 : Std_Logic; SIGNAL unnamed_net712 : Std_Logic; SIGNAL unnamed_net711 : Std_Logic; SIGNAL unnamed_net710 : Std_Logic; SIGNAL unnamed_net709 : Std_Logic; SIGNAL unnamed_net708 : Std_Logic; SIGNAL unnamed_net707 : Std_Logic; SIGNAL unnamed_net706 : Std_Logic; SIGNAL unnamed_net705 : Std_Logic; SIGNAL unnamed_net704 : Std_Logic; SIGNAL unnamed_net703 : Std_Logic; SIGNAL unnamed_net702 : Std_Logic; SIGNAL unnamed_net701 : Std_Logic; SIGNAL unnamed_net700 : Std_Logic; SIGNAL unnamed_net699 : Std_Logic; SIGNAL unnamed_net698 : Std_Logic; SIGNAL unnamed_net697 : Std_Logic; SIGNAL unnamed_net696 : Std_Logic; SIGNAL unnamed_net695 : Std_Logic; SIGNAL unnamed_net694 : Std_Logic; SIGNAL unnamed_net693 : Std_Logic; SIGNAL unnamed_net692 : Std_Logic; SIGNAL unnamed_net691 : Std_Logic; SIGNAL unnamed_net690 : Std_Logic; SIGNAL unnamed_net689 : Std_Logic; SIGNAL unnamed_net688 : Std_Logic; SIGNAL unnamed_net687 : Std_Logic; SIGNAL unnamed_net686 : Std_Logic; SIGNAL unnamed_net685 : Std_Logic; SIGNAL unnamed_net684 : Std_Logic; SIGNAL unnamed_net683 : Std_Logic; SIGNAL unnamed_net682 : Std_Logic; SIGNAL unnamed_net681 : Std_Logic; SIGNAL unnamed_net680 : Std_Logic; SIGNAL unnamed_net679 : Std_Logic; SIGNAL unnamed_net678 : Std_Logic; SIGNAL unnamed_net677 : Std_Logic; SIGNAL unnamed_net676 : Std_Logic; SIGNAL unnamed_net675 : Std_Logic; SIGNAL unnamed_net674 : Std_Logic; SIGNAL unnamed_net673 : Std_Logic; SIGNAL unnamed_net672 : Std_Logic; SIGNAL unnamed_net671 : Std_Logic; SIGNAL unnamed_net670 : Std_Logic; SIGNAL unnamed_net669 : Std_Logic; SIGNAL unnamed_net668 : Std_Logic; SIGNAL unnamed_net667 : Std_Logic; SIGNAL unnamed_net666 : Std_Logic; SIGNAL unnamed_net665 : Std_Logic; SIGNAL unnamed_net664 : Std_Logic; SIGNAL unnamed_net663 : Std_Logic; SIGNAL unnamed_net662 : Std_Logic; SIGNAL unnamed_net661 : Std_Logic; SIGNAL unnamed_net660 : Std_Logic; SIGNAL unnamed_net659 : Std_Logic; SIGNAL unnamed_net658 : Std_Logic; SIGNAL unnamed_net657 : Std_Logic; SIGNAL unnamed_net656 : Std_Logic; SIGNAL unnamed_net655 : Std_Logic; SIGNAL unnamed_net654 : Std_Logic; SIGNAL unnamed_net653 : Std_Logic; SIGNAL unnamed_net652 : Std_Logic; SIGNAL unnamed_net651 : Std_Logic; SIGNAL unnamed_net650 : Std_Logic; SIGNAL unnamed_net649 : Std_Logic; SIGNAL unnamed_net648 : Std_Logic; SIGNAL unnamed_net647 : Std_Logic; SIGNAL unnamed_net646 : Std_Logic; SIGNAL unnamed_net645 : Std_Logic; SIGNAL unnamed_net644 : Std_Logic; SIGNAL unnamed_net643 : Std_Logic; SIGNAL unnamed_net642 : Std_Logic; SIGNAL unnamed_net641 : Std_Logic; SIGNAL unnamed_net640 : Std_Logic; SIGNAL unnamed_net639 : Std_Logic; SIGNAL unnamed_net638 : Std_Logic; SIGNAL unnamed_net637 : Std_Logic; SIGNAL unnamed_net636 : Std_Logic; SIGNAL unnamed_net635 : Std_Logic; SIGNAL unnamed_net634 : Std_Logic; SIGNAL unnamed_net633 : Std_Logic; SIGNAL unnamed_net632 : Std_Logic; SIGNAL unnamed_net631 : Std_Logic; SIGNAL unnamed_net630 : Std_Logic; SIGNAL unnamed_net629 : Std_Logic; SIGNAL unnamed_net628 : Std_Logic; SIGNAL unnamed_net627 : Std_Logic; SIGNAL unnamed_net626 : Std_Logic; SIGNAL unnamed_net625 : Std_Logic; SIGNAL unnamed_net624 : Std_Logic; SIGNAL unnamed_net623 : Std_Logic; SIGNAL unnamed_net622 : Std_Logic; SIGNAL unnamed_net621 : Std_Logic; SIGNAL unnamed_net620 : Std_Logic; SIGNAL unnamed_net619 : Std_Logic; SIGNAL unnamed_net618 : Std_Logic; SIGNAL unnamed_net617 : Std_Logic; SIGNAL unnamed_net616 : Std_Logic; SIGNAL unnamed_net615 : Std_Logic; SIGNAL unnamed_net614 : Std_Logic; SIGNAL unnamed_net613 : Std_Logic; SIGNAL unnamed_net612 : Std_Logic; SIGNAL unnamed_net611 : Std_Logic; SIGNAL unnamed_net610 : Std_Logic; SIGNAL unnamed_net609 : Std_Logic; SIGNAL unnamed_net608 : Std_Logic; SIGNAL unnamed_net607 : Std_Logic; SIGNAL unnamed_net606 : Std_Logic; SIGNAL unnamed_net605 : Std_Logic; SIGNAL unnamed_net604 : Std_Logic; SIGNAL unnamed_net603 : Std_Logic; SIGNAL unnamed_net602 : Std_Logic; SIGNAL unnamed_net601 : Std_Logic; SIGNAL unnamed_net600 : Std_Logic; SIGNAL unnamed_net599 : Std_Logic; SIGNAL unnamed_net598 : Std_Logic; SIGNAL unnamed_net597 : Std_Logic; SIGNAL unnamed_net596 : Std_Logic; SIGNAL unnamed_net595 : Std_Logic; SIGNAL unnamed_net594 : Std_Logic; SIGNAL unnamed_net593 : Std_Logic; SIGNAL unnamed_net592 : Std_Logic; SIGNAL unnamed_net591 : Std_Logic; SIGNAL unnamed_net590 : Std_Logic; SIGNAL unnamed_net589 : Std_Logic; SIGNAL unnamed_net588 : Std_Logic; SIGNAL unnamed_net587 : Std_Logic; SIGNAL unnamed_net586 : Std_Logic; SIGNAL unnamed_net585 : Std_Logic; SIGNAL unnamed_net584 : Std_Logic; SIGNAL unnamed_net583 : Std_Logic; SIGNAL unnamed_net582 : Std_Logic; SIGNAL unnamed_net581 : Std_Logic; SIGNAL unnamed_net580 : Std_Logic; SIGNAL unnamed_net579 : Std_Logic; SIGNAL unnamed_net578 : Std_Logic; SIGNAL unnamed_net577 : Std_Logic; SIGNAL unnamed_net576 : Std_Logic; SIGNAL unnamed_net575 : Std_Logic; SIGNAL unnamed_net574 : Std_Logic; SIGNAL unnamed_net573 : Std_Logic; SIGNAL unnamed_net572 : Std_Logic; SIGNAL unnamed_net571 : Std_Logic; SIGNAL unnamed_net570 : Std_Logic; SIGNAL unnamed_net569 : Std_Logic; SIGNAL unnamed_net568 : Std_Logic; SIGNAL unnamed_net567 : Std_Logic; SIGNAL unnamed_net566 : Std_Logic; SIGNAL unnamed_net565 : Std_Logic; SIGNAL unnamed_net564 : Std_Logic; SIGNAL unnamed_net563 : Std_Logic; SIGNAL unnamed_net562 : Std_Logic; SIGNAL unnamed_net561 : Std_Logic; SIGNAL unnamed_net560 : Std_Logic; SIGNAL unnamed_net559 : Std_Logic; SIGNAL unnamed_net558 : Std_Logic; SIGNAL unnamed_net557 : Std_Logic; SIGNAL unnamed_net556 : Std_Logic; SIGNAL unnamed_net555 : Std_Logic; SIGNAL unnamed_net554 : Std_Logic; SIGNAL unnamed_net553 : Std_Logic; SIGNAL unnamed_net552 : Std_Logic; SIGNAL unnamed_net551 : Std_Logic; SIGNAL unnamed_net550 : Std_Logic; SIGNAL unnamed_net549 : Std_Logic; SIGNAL unnamed_net548 : Std_Logic; SIGNAL unnamed_net547 : Std_Logic; SIGNAL unnamed_net546 : Std_Logic; SIGNAL unnamed_net545 : Std_Logic; SIGNAL unnamed_net544 : Std_Logic; SIGNAL unnamed_net543 : Std_Logic; SIGNAL unnamed_net542 : Std_Logic; SIGNAL unnamed_net541 : Std_Logic; SIGNAL unnamed_net540 : Std_Logic; SIGNAL unnamed_net539 : Std_Logic; SIGNAL unnamed_net538 : Std_Logic; SIGNAL unnamed_net537 : Std_Logic; SIGNAL unnamed_net536 : Std_Logic; SIGNAL unnamed_net535 : Std_Logic; SIGNAL unnamed_net534 : Std_Logic; SIGNAL unnamed_net533 : Std_Logic; SIGNAL unnamed_net532 : Std_Logic; SIGNAL unnamed_net531 : Std_Logic; SIGNAL unnamed_net530 : Std_Logic; SIGNAL unnamed_net529 : Std_Logic; SIGNAL unnamed_net528 : Std_Logic; SIGNAL unnamed_net527 : Std_Logic; SIGNAL unnamed_net526 : Std_Logic; SIGNAL unnamed_net525 : Std_Logic; SIGNAL unnamed_net524 : Std_Logic; SIGNAL unnamed_net523 : Std_Logic; SIGNAL unnamed_net522 : Std_Logic; SIGNAL unnamed_net521 : Std_Logic; SIGNAL unnamed_net520 : Std_Logic; SIGNAL unnamed_net519 : Std_Logic; SIGNAL unnamed_net518 : Std_Logic; SIGNAL unnamed_net517 : Std_Logic; SIGNAL unnamed_net516 : Std_Logic; SIGNAL unnamed_net515 : Std_Logic; SIGNAL unnamed_net514 : Std_Logic; SIGNAL unnamed_net513 : Std_Logic; SIGNAL unnamed_net512 : Std_Logic; SIGNAL unnamed_net511 : Std_Logic; SIGNAL unnamed_net510 : Std_Logic; SIGNAL unnamed_net509 : Std_Logic; SIGNAL unnamed_net508 : Std_Logic; SIGNAL unnamed_net507 : Std_Logic; SIGNAL unnamed_net506 : Std_Logic; SIGNAL unnamed_net505 : Std_Logic; SIGNAL unnamed_net504 : Std_Logic; SIGNAL unnamed_net503 : Std_Logic; SIGNAL unnamed_net502 : Std_Logic; SIGNAL unnamed_net501 : Std_Logic; SIGNAL unnamed_net500 : Std_Logic; SIGNAL unnamed_net499 : Std_Logic; SIGNAL unnamed_net498 : Std_Logic; SIGNAL unnamed_net497 : Std_Logic; SIGNAL unnamed_net496 : Std_Logic; SIGNAL unnamed_net495 : Std_Logic; SIGNAL unnamed_net494 : Std_Logic; SIGNAL unnamed_net493 : Std_Logic; SIGNAL unnamed_net492 : Std_Logic; SIGNAL unnamed_net491 : Std_Logic; SIGNAL unnamed_net490 : Std_Logic; SIGNAL unnamed_net489 : Std_Logic; SIGNAL unnamed_net488 : Std_Logic; SIGNAL unnamed_net487 : Std_Logic; SIGNAL unnamed_net486 : Std_Logic; SIGNAL unnamed_net485 : Std_Logic; SIGNAL unnamed_net484 : Std_Logic; SIGNAL unnamed_net483 : Std_Logic; SIGNAL unnamed_net482 : Std_Logic; SIGNAL unnamed_net481 : Std_Logic; SIGNAL unnamed_net480 : Std_Logic; SIGNAL unnamed_net479 : Std_Logic; SIGNAL unnamed_net478 : Std_Logic; SIGNAL unnamed_net477 : Std_Logic; SIGNAL unnamed_net476 : Std_Logic; SIGNAL unnamed_net475 : Std_Logic; SIGNAL unnamed_net474 : Std_Logic; SIGNAL unnamed_net473 : Std_Logic; SIGNAL unnamed_net472 : Std_Logic; SIGNAL unnamed_net471 : Std_Logic; SIGNAL unnamed_net470 : Std_Logic; SIGNAL unnamed_net469 : Std_Logic; SIGNAL unnamed_net468 : Std_Logic; SIGNAL unnamed_net467 : Std_Logic; SIGNAL unnamed_net466 : Std_Logic; SIGNAL unnamed_net465 : Std_Logic; SIGNAL unnamed_net464 : Std_Logic; SIGNAL unnamed_net463 : Std_Logic; SIGNAL unnamed_net462 : Std_Logic; SIGNAL unnamed_net461 : Std_Logic; SIGNAL unnamed_net460 : Std_Logic; SIGNAL unnamed_net459 : Std_Logic; SIGNAL unnamed_net458 : Std_Logic; SIGNAL unnamed_net457 : Std_Logic; SIGNAL unnamed_net456 : Std_Logic; SIGNAL unnamed_net455 : Std_Logic; SIGNAL unnamed_net454 : Std_Logic; SIGNAL unnamed_net453 : Std_Logic; SIGNAL unnamed_net452 : Std_Logic; SIGNAL unnamed_net451 : Std_Logic; SIGNAL unnamed_net450 : Std_Logic; SIGNAL unnamed_net449 : Std_Logic; SIGNAL unnamed_net448 : Std_Logic; SIGNAL unnamed_net447 : Std_Logic; SIGNAL unnamed_net446 : Std_Logic; SIGNAL unnamed_net445 : Std_Logic; SIGNAL unnamed_net444 : Std_Logic; SIGNAL unnamed_net443 : Std_Logic; SIGNAL unnamed_net442 : Std_Logic; SIGNAL unnamed_net441 : Std_Logic; SIGNAL unnamed_net440 : Std_Logic; SIGNAL unnamed_net439 : Std_Logic; SIGNAL unnamed_net438 : Std_Logic; SIGNAL unnamed_net437 : Std_Logic; SIGNAL unnamed_net436 : Std_Logic; SIGNAL unnamed_net435 : Std_Logic; SIGNAL unnamed_net434 : Std_Logic; SIGNAL unnamed_net433 : Std_Logic; SIGNAL unnamed_net432 : Std_Logic; SIGNAL unnamed_net431 : Std_Logic; SIGNAL unnamed_net430 : Std_Logic; SIGNAL unnamed_net429 : Std_Logic; SIGNAL unnamed_net428 : Std_Logic; SIGNAL unnamed_net427 : Std_Logic; SIGNAL unnamed_net426 : Std_Logic; SIGNAL unnamed_net425 : Std_Logic; SIGNAL unnamed_net424 : Std_Logic; SIGNAL unnamed_net423 : Std_Logic; SIGNAL unnamed_net422 : Std_Logic; SIGNAL unnamed_net421 : Std_Logic; SIGNAL unnamed_net420 : Std_Logic; SIGNAL unnamed_net419 : Std_Logic; SIGNAL unnamed_net418 : Std_Logic; SIGNAL unnamed_net417 : Std_Logic; SIGNAL unnamed_net416 : Std_Logic; SIGNAL unnamed_net415 : Std_Logic; SIGNAL unnamed_net414 : Std_Logic; SIGNAL unnamed_net413 : Std_Logic; SIGNAL unnamed_net412 : Std_Logic; SIGNAL unnamed_net411 : Std_Logic; SIGNAL unnamed_net410 : Std_Logic; SIGNAL unnamed_net409 : Std_Logic; SIGNAL unnamed_net408 : Std_Logic; SIGNAL unnamed_net407 : Std_Logic; SIGNAL unnamed_net406 : Std_Logic; SIGNAL unnamed_net405 : Std_Logic; SIGNAL unnamed_net404 : Std_Logic; SIGNAL unnamed_net403 : Std_Logic; SIGNAL unnamed_net402 : Std_Logic; SIGNAL unnamed_net401 : Std_Logic; SIGNAL unnamed_net400 : Std_Logic; SIGNAL unnamed_net399 : Std_Logic; SIGNAL unnamed_net398 : Std_Logic; SIGNAL unnamed_net397 : Std_Logic; SIGNAL unnamed_net396 : Std_Logic; SIGNAL unnamed_net395 : Std_Logic; SIGNAL unnamed_net394 : Std_Logic; SIGNAL unnamed_net393 : Std_Logic; SIGNAL unnamed_net392 : Std_Logic; SIGNAL unnamed_net391 : Std_Logic; SIGNAL unnamed_net390 : Std_Logic; SIGNAL unnamed_net389 : Std_Logic; SIGNAL unnamed_net388 : Std_Logic; SIGNAL unnamed_net387 : Std_Logic; SIGNAL unnamed_net386 : Std_Logic; SIGNAL unnamed_net385 : Std_Logic; SIGNAL unnamed_net384 : Std_Logic; SIGNAL unnamed_net383 : Std_Logic; SIGNAL unnamed_net382 : Std_Logic; SIGNAL unnamed_net381 : Std_Logic; SIGNAL unnamed_net380 : Std_Logic; SIGNAL unnamed_net379 : Std_Logic; SIGNAL unnamed_net378 : Std_Logic; SIGNAL unnamed_net377 : Std_Logic; SIGNAL unnamed_net376 : Std_Logic; SIGNAL unnamed_net375 : Std_Logic; SIGNAL unnamed_net374 : Std_Logic; SIGNAL unnamed_net373 : Std_Logic; SIGNAL unnamed_net372 : Std_Logic; SIGNAL unnamed_net371 : Std_Logic; SIGNAL unnamed_net370 : Std_Logic; SIGNAL unnamed_net369 : Std_Logic; SIGNAL unnamed_net368 : Std_Logic; SIGNAL unnamed_net367 : Std_Logic; SIGNAL unnamed_net366 : Std_Logic; SIGNAL unnamed_net365 : Std_Logic; SIGNAL unnamed_net364 : Std_Logic; SIGNAL unnamed_net363 : Std_Logic; SIGNAL unnamed_net362 : Std_Logic; SIGNAL unnamed_net361 : Std_Logic; SIGNAL unnamed_net360 : Std_Logic; SIGNAL unnamed_net359 : Std_Logic; SIGNAL unnamed_net358 : Std_Logic; SIGNAL unnamed_net357 : Std_Logic; SIGNAL unnamed_net356 : Std_Logic; SIGNAL unnamed_net355 : Std_Logic; SIGNAL unnamed_net354 : Std_Logic; SIGNAL unnamed_net353 : Std_Logic; SIGNAL unnamed_net352 : Std_Logic; SIGNAL unnamed_net351 : Std_Logic; SIGNAL unnamed_net350 : Std_Logic; SIGNAL unnamed_net349 : Std_Logic; SIGNAL unnamed_net348 : Std_Logic; SIGNAL unnamed_net347 : Std_Logic; SIGNAL unnamed_net346 : Std_Logic; SIGNAL unnamed_net345 : Std_Logic; SIGNAL unnamed_net344 : Std_Logic; SIGNAL unnamed_net343 : Std_Logic; SIGNAL unnamed_net342 : Std_Logic; SIGNAL unnamed_net341 : Std_Logic; SIGNAL unnamed_net340 : Std_Logic; SIGNAL unnamed_net339 : Std_Logic; SIGNAL unnamed_net338 : Std_Logic; SIGNAL unnamed_net337 : Std_Logic; SIGNAL unnamed_net336 : Std_Logic; SIGNAL unnamed_net335 : Std_Logic; SIGNAL unnamed_net334 : Std_Logic; SIGNAL unnamed_net333 : Std_Logic; SIGNAL unnamed_net332 : Std_Logic; SIGNAL unnamed_net331 : Std_Logic; SIGNAL unnamed_net330 : Std_Logic; SIGNAL unnamed_net329 : Std_Logic; SIGNAL unnamed_net328 : Std_Logic; SIGNAL unnamed_net327 : Std_Logic; SIGNAL unnamed_net326 : Std_Logic; SIGNAL unnamed_net325 : Std_Logic; SIGNAL unnamed_net324 : Std_Logic; SIGNAL unnamed_net323 : Std_Logic; SIGNAL unnamed_net322 : Std_Logic; SIGNAL unnamed_net321 : Std_Logic; SIGNAL unnamed_net320 : Std_Logic; SIGNAL unnamed_net319 : Std_Logic; SIGNAL unnamed_net318 : Std_Logic; SIGNAL unnamed_net317 : Std_Logic; SIGNAL unnamed_net316 : Std_Logic; SIGNAL unnamed_net315 : Std_Logic; SIGNAL unnamed_net314 : Std_Logic; SIGNAL unnamed_net313 : Std_Logic; SIGNAL unnamed_net312 : Std_Logic; SIGNAL unnamed_net311 : Std_Logic; SIGNAL unnamed_net310 : Std_Logic; SIGNAL unnamed_net309 : Std_Logic; SIGNAL unnamed_net308 : Std_Logic; SIGNAL unnamed_net307 : Std_Logic; SIGNAL unnamed_net306 : Std_Logic; SIGNAL unnamed_net305 : Std_Logic; SIGNAL unnamed_net304 : Std_Logic; SIGNAL unnamed_net303 : Std_Logic; SIGNAL unnamed_net302 : Std_Logic; SIGNAL unnamed_net301 : Std_Logic; SIGNAL unnamed_net300 : Std_Logic; SIGNAL unnamed_net299 : Std_Logic; SIGNAL unnamed_net298 : Std_Logic; SIGNAL unnamed_net297 : Std_Logic; SIGNAL unnamed_net296 : Std_Logic; SIGNAL unnamed_net295 : Std_Logic; SIGNAL unnamed_net294 : Std_Logic; SIGNAL unnamed_net293 : Std_Logic; SIGNAL unnamed_net292 : Std_Logic; SIGNAL unnamed_net291 : Std_Logic; SIGNAL unnamed_net290 : Std_Logic; SIGNAL unnamed_net289 : Std_Logic; SIGNAL unnamed_net288 : Std_Logic; SIGNAL unnamed_net287 : Std_Logic; SIGNAL unnamed_net286 : Std_Logic; SIGNAL unnamed_net285 : Std_Logic; SIGNAL unnamed_net284 : Std_Logic; SIGNAL unnamed_net283 : Std_Logic; SIGNAL unnamed_net282 : Std_Logic; SIGNAL unnamed_net281 : Std_Logic; SIGNAL unnamed_net280 : Std_Logic; SIGNAL unnamed_net279 : Std_Logic; SIGNAL unnamed_net278 : Std_Logic; SIGNAL unnamed_net277 : Std_Logic; SIGNAL unnamed_net276 : Std_Logic; SIGNAL unnamed_net275 : Std_Logic; SIGNAL unnamed_net274 : Std_Logic; SIGNAL unnamed_net273 : Std_Logic; SIGNAL unnamed_net272 : Std_Logic; SIGNAL unnamed_net271 : Std_Logic; SIGNAL unnamed_net270 : Std_Logic; SIGNAL unnamed_net269 : Std_Logic; SIGNAL unnamed_net268 : Std_Logic; SIGNAL unnamed_net267 : Std_Logic; SIGNAL unnamed_net266 : Std_Logic; SIGNAL unnamed_net265 : Std_Logic; SIGNAL unnamed_net264 : Std_Logic; SIGNAL unnamed_net263 : Std_Logic; SIGNAL unnamed_net262 : Std_Logic; SIGNAL unnamed_net261 : Std_Logic; SIGNAL unnamed_net260 : Std_Logic; SIGNAL unnamed_net259 : Std_Logic; SIGNAL unnamed_net258 : Std_Logic; SIGNAL unnamed_net257 : Std_Logic; SIGNAL unnamed_net256 : Std_Logic; SIGNAL unnamed_net255 : Std_Logic; SIGNAL unnamed_net254 : Std_Logic; SIGNAL unnamed_net253 : Std_Logic; SIGNAL unnamed_net252 : Std_Logic; SIGNAL unnamed_net251 : Std_Logic; SIGNAL unnamed_net250 : Std_Logic; SIGNAL unnamed_net249 : Std_Logic; SIGNAL unnamed_net248 : Std_Logic; SIGNAL unnamed_net247 : Std_Logic; SIGNAL unnamed_net246 : Std_Logic; SIGNAL unnamed_net245 : Std_Logic; SIGNAL unnamed_net244 : Std_Logic; SIGNAL unnamed_net243 : Std_Logic; SIGNAL unnamed_net242 : Std_Logic; SIGNAL unnamed_net241 : Std_Logic; SIGNAL unnamed_net240 : Std_Logic; SIGNAL unnamed_net239 : Std_Logic; SIGNAL unnamed_net238 : Std_Logic; SIGNAL unnamed_net237 : Std_Logic; SIGNAL unnamed_net236 : Std_Logic; SIGNAL unnamed_net235 : Std_Logic; SIGNAL unnamed_net234 : Std_Logic; SIGNAL unnamed_net233 : Std_Logic; SIGNAL unnamed_net232 : Std_Logic; SIGNAL unnamed_net231 : Std_Logic; SIGNAL unnamed_net230 : Std_Logic; SIGNAL unnamed_net229 : Std_Logic; SIGNAL unnamed_net228 : Std_Logic; SIGNAL unnamed_net227 : Std_Logic; SIGNAL unnamed_net226 : Std_Logic; SIGNAL unnamed_net225 : Std_Logic; SIGNAL unnamed_net224 : Std_Logic; SIGNAL unnamed_net223 : Std_Logic; SIGNAL unnamed_net222 : Std_Logic; SIGNAL unnamed_net221 : Std_Logic; SIGNAL unnamed_net220 : Std_Logic; SIGNAL unnamed_net219 : Std_Logic; SIGNAL unnamed_net218 : Std_Logic; SIGNAL unnamed_net217 : Std_Logic; SIGNAL unnamed_net216 : Std_Logic; SIGNAL unnamed_net215 : Std_Logic; SIGNAL unnamed_net214 : Std_Logic; SIGNAL unnamed_net213 : Std_Logic; SIGNAL unnamed_net212 : Std_Logic; SIGNAL unnamed_net211 : Std_Logic; SIGNAL unnamed_net210 : Std_Logic; SIGNAL unnamed_net209 : Std_Logic; SIGNAL unnamed_net208 : Std_Logic; SIGNAL unnamed_net207 : Std_Logic; SIGNAL unnamed_net206 : Std_Logic; SIGNAL unnamed_net205 : Std_Logic; SIGNAL unnamed_net204 : Std_Logic; SIGNAL unnamed_net203 : Std_Logic; SIGNAL unnamed_net202 : Std_Logic; SIGNAL unnamed_net201 : Std_Logic; SIGNAL unnamed_net200 : Std_Logic; SIGNAL unnamed_net199 : Std_Logic; SIGNAL unnamed_net198 : Std_Logic; SIGNAL unnamed_net197 : Std_Logic; SIGNAL unnamed_net196 : Std_Logic; SIGNAL unnamed_net195 : Std_Logic; SIGNAL unnamed_net194 : Std_Logic; SIGNAL unnamed_net193 : Std_Logic; SIGNAL unnamed_net192 : Std_Logic; SIGNAL unnamed_net191 : Std_Logic; SIGNAL unnamed_net190 : Std_Logic; SIGNAL unnamed_net189 : Std_Logic; SIGNAL unnamed_net188 : Std_Logic; SIGNAL unnamed_net187 : Std_Logic; SIGNAL unnamed_net186 : Std_Logic; SIGNAL unnamed_net185 : Std_Logic; SIGNAL unnamed_net184 : Std_Logic; SIGNAL unnamed_net183 : Std_Logic; SIGNAL unnamed_net182 : Std_Logic; SIGNAL unnamed_net181 : Std_Logic; SIGNAL unnamed_net180 : Std_Logic; SIGNAL unnamed_net179 : Std_Logic; SIGNAL unnamed_net178 : Std_Logic; SIGNAL unnamed_net177 : Std_Logic; SIGNAL unnamed_net176 : Std_Logic; SIGNAL unnamed_net175 : Std_Logic; SIGNAL unnamed_net174 : Std_Logic; SIGNAL unnamed_net173 : Std_Logic; SIGNAL unnamed_net172 : Std_Logic; SIGNAL unnamed_net171 : Std_Logic; SIGNAL unnamed_net170 : Std_Logic; SIGNAL unnamed_net169 : Std_Logic; SIGNAL unnamed_net168 : Std_Logic; SIGNAL unnamed_net167 : Std_Logic; SIGNAL unnamed_net166 : Std_Logic; SIGNAL unnamed_net165 : Std_Logic; SIGNAL unnamed_net164 : Std_Logic; SIGNAL unnamed_net163 : Std_Logic; SIGNAL unnamed_net162 : Std_Logic; SIGNAL unnamed_net161 : Std_Logic; SIGNAL unnamed_net160 : Std_Logic; SIGNAL unnamed_net159 : Std_Logic; SIGNAL unnamed_net158 : Std_Logic; SIGNAL unnamed_net157 : Std_Logic; SIGNAL unnamed_net156 : Std_Logic; SIGNAL unnamed_net155 : Std_Logic; SIGNAL unnamed_net154 : Std_Logic; SIGNAL unnamed_net153 : Std_Logic; SIGNAL unnamed_net152 : Std_Logic; SIGNAL unnamed_net151 : Std_Logic; SIGNAL unnamed_net150 : Std_Logic; SIGNAL unnamed_net149 : Std_Logic; SIGNAL unnamed_net148 : Std_Logic; SIGNAL unnamed_net147 : Std_Logic; SIGNAL unnamed_net146 : Std_Logic; SIGNAL unnamed_net145 : Std_Logic; SIGNAL unnamed_net144 : Std_Logic; SIGNAL unnamed_net143 : Std_Logic; SIGNAL unnamed_net142 : Std_Logic; SIGNAL unnamed_net141 : Std_Logic; SIGNAL unnamed_net140 : Std_Logic; SIGNAL unnamed_net139 : Std_Logic; SIGNAL unnamed_net138 : Std_Logic; SIGNAL unnamed_net137 : Std_Logic; SIGNAL unnamed_net136 : Std_Logic; SIGNAL unnamed_net135 : Std_Logic; SIGNAL unnamed_net134 : Std_Logic; SIGNAL unnamed_net133 : Std_Logic; SIGNAL unnamed_net132 : Std_Logic; SIGNAL unnamed_net131 : Std_Logic; SIGNAL unnamed_net130 : Std_Logic; SIGNAL unnamed_net129 : Std_Logic; SIGNAL unnamed_net128 : Std_Logic; SIGNAL unnamed_net127 : Std_Logic; SIGNAL unnamed_net126 : Std_Logic; SIGNAL unnamed_net125 : Std_Logic; SIGNAL unnamed_net124 : Std_Logic; SIGNAL unnamed_net123 : Std_Logic; SIGNAL unnamed_net122 : Std_Logic; SIGNAL unnamed_net121 : Std_Logic; SIGNAL unnamed_net120 : Std_Logic; SIGNAL unnamed_net119 : Std_Logic; SIGNAL unnamed_net118 : Std_Logic; SIGNAL unnamed_net117 : Std_Logic; SIGNAL unnamed_net116 : Std_Logic; SIGNAL unnamed_net115 : Std_Logic; SIGNAL unnamed_net114 : Std_Logic; SIGNAL unnamed_net113 : Std_Logic; SIGNAL unnamed_net112 : Std_Logic; SIGNAL unnamed_net111 : Std_Logic; SIGNAL unnamed_net110 : Std_Logic; SIGNAL unnamed_net109 : Std_Logic; SIGNAL unnamed_net108 : Std_Logic; SIGNAL unnamed_net107 : Std_Logic; SIGNAL unnamed_net106 : Std_Logic; SIGNAL unnamed_net105 : Std_Logic; SIGNAL unnamed_net104 : Std_Logic; SIGNAL unnamed_net103 : Std_Logic; SIGNAL unnamed_net102 : Std_Logic; SIGNAL unnamed_net101 : Std_Logic; SIGNAL unnamed_net100 : Std_Logic; SIGNAL unnamed_net99 : Std_Logic; SIGNAL unnamed_net98 : Std_Logic; SIGNAL unnamed_net97 : Std_Logic; SIGNAL unnamed_net96 : Std_Logic; SIGNAL unnamed_net95 : Std_Logic; SIGNAL unnamed_net94 : Std_Logic; SIGNAL unnamed_net93 : Std_Logic; SIGNAL unnamed_net92 : Std_Logic; SIGNAL unnamed_net91 : Std_Logic; SIGNAL unnamed_net90 : Std_Logic; SIGNAL unnamed_net89 : Std_Logic; SIGNAL unnamed_net88 : Std_Logic; SIGNAL unnamed_net87 : Std_Logic; SIGNAL unnamed_net86 : Std_Logic; SIGNAL unnamed_net85 : Std_Logic; SIGNAL unnamed_net84 : Std_Logic; SIGNAL unnamed_net83 : Std_Logic; SIGNAL unnamed_net82 : Std_Logic; SIGNAL unnamed_net81 : Std_Logic; SIGNAL unnamed_net80 : Std_Logic; SIGNAL unnamed_net79 : Std_Logic; SIGNAL unnamed_net78 : Std_Logic; SIGNAL unnamed_net77 : Std_Logic; SIGNAL unnamed_net76 : Std_Logic; SIGNAL unnamed_net75 : Std_Logic; SIGNAL unnamed_net74 : Std_Logic; SIGNAL unnamed_net73 : Std_Logic; SIGNAL unnamed_net72 : Std_Logic; SIGNAL unnamed_net71 : Std_Logic; SIGNAL unnamed_net70 : Std_Logic; SIGNAL unnamed_net69 : Std_Logic; SIGNAL unnamed_net68 : Std_Logic; SIGNAL unnamed_net67 : Std_Logic; SIGNAL unnamed_net66 : Std_Logic; SIGNAL unnamed_net65 : Std_Logic; SIGNAL unnamed_net64 : Std_Logic; SIGNAL unnamed_net63 : Std_Logic; SIGNAL unnamed_net62 : Std_Logic; SIGNAL unnamed_net61 : Std_Logic; SIGNAL unnamed_net60 : Std_Logic; SIGNAL unnamed_net59 : Std_Logic; SIGNAL unnamed_net58 : Std_Logic; SIGNAL unnamed_net57 : Std_Logic; SIGNAL unnamed_net56 : Std_Logic; SIGNAL unnamed_net55 : Std_Logic; SIGNAL unnamed_net54 : Std_Logic; SIGNAL unnamed_net53 : Std_Logic; SIGNAL unnamed_net52 : Std_Logic; SIGNAL unnamed_net51 : Std_Logic; SIGNAL unnamed_net50 : Std_Logic; SIGNAL unnamed_net49 : Std_Logic; SIGNAL unnamed_net48 : Std_Logic; SIGNAL unnamed_net47 : Std_Logic; SIGNAL unnamed_net46 : Std_Logic; SIGNAL unnamed_net45 : Std_Logic; SIGNAL unnamed_net44 : Std_Logic; SIGNAL unnamed_net43 : Std_Logic; SIGNAL unnamed_net42 : Std_Logic; SIGNAL unnamed_net41 : Std_Logic; SIGNAL unnamed_net40 : Std_Logic; SIGNAL unnamed_net39 : Std_Logic; SIGNAL unnamed_net38 : Std_Logic; SIGNAL unnamed_net37 : Std_Logic; SIGNAL unnamed_net36 : Std_Logic; SIGNAL unnamed_net35 : Std_Logic; SIGNAL unnamed_net34 : Std_Logic; SIGNAL unnamed_net33 : Std_Logic; SIGNAL unnamed_net32 : Std_Logic; SIGNAL unnamed_net31 : Std_Logic; SIGNAL unnamed_net30 : Std_Logic; SIGNAL unnamed_net29 : Std_Logic; SIGNAL unnamed_net28 : Std_Logic; SIGNAL unnamed_net27 : Std_Logic; SIGNAL unnamed_net26 : Std_Logic; SIGNAL unnamed_net25 : Std_Logic; SIGNAL unnamed_net24 : Std_Logic; SIGNAL unnamed_net23 : Std_Logic; SIGNAL unnamed_net22 : Std_Logic; SIGNAL unnamed_net21 : Std_Logic; SIGNAL unnamed_net20 : Std_Logic; SIGNAL unnamed_net19 : Std_Logic; SIGNAL unnamed_net18 : Std_Logic; SIGNAL unnamed_net17 : Std_Logic; SIGNAL unnamed_net16 : Std_Logic; SIGNAL unnamed_net15 : Std_Logic; SIGNAL unnamed_net14 : Std_Logic; SIGNAL unnamed_net13 : Std_Logic; SIGNAL unnamed_net12 : Std_Logic; SIGNAL unnamed_net11 : Std_Logic; SIGNAL unnamed_net10 : Std_Logic; SIGNAL unnamed_net9 : Std_Logic; SIGNAL unnamed_net8 : Std_Logic; SIGNAL unnamed_net7 : Std_Logic; SIGNAL unnamed_net6 : Std_Logic; SIGNAL unnamed_net5 : Std_Logic; SIGNAL unnamed_net4 : Std_Logic; SIGNAL unnamed_net3 : Std_Logic; SIGNAL unnamed_net2 : Std_Logic; SIGNAL unnamed_net1 : Std_Logic; BEGIN -- Architecture statement part C? : CAPACITOR PORT MAP ( 1 => unnamed_net1, 2 => unnamed_net2, 1 => unnamed_net3, 2 => unnamed_net4, 1 => unnamed_net1, 2 => unnamed_net5, 1 => unnamed_net2, 2 => unnamed_net6, 1 => unnamed_net7, 2 => unnamed_net8, 1 => unnamed_net5, 2 => unnamed_net9, 1 => unnamed_net7, 2 => unnamed_net10, 1 => unnamed_net8, 2 => unnamed_net11, 1 => unnamed_net3, 2 => unnamed_net12, 1 => unnamed_net13, 2 => unnamed_net14, 1 => unnamed_net4, 2 => unnamed_net15, 1 => unnamed_net12, 2 => unnamed_net16, 1 => unnamed_net6, 2 => unnamed_net17, 1 => unnamed_net15, 2 => unnamed_net18, 1 => unnamed_net9, 2 => unnamed_net19, 1 => unnamed_net17, 2 => unnamed_net20, 1 => unnamed_net21, 2 => unnamed_net22, 1 => unnamed_net10, 2 => unnamed_net23, 1 => unnamed_net21, 2 => unnamed_net24, 1 => unnamed_net22, 2 => unnamed_net25, 1 => unnamed_net26, 2 => unnamed_net27, 1 => unnamed_net24, 2 => unnamed_net28, 1 => unnamed_net26, 2 => unnamed_net29, 1 => unnamed_net27, 2 => unnamed_net30, 1 => unnamed_net11, 2 => unnamed_net31, 1 => unnamed_net19, 2 => unnamed_net32, 1 => unnamed_net23, 2 => unnamed_net33, 1 => unnamed_net31, 2 => unnamed_net34, 1 => unnamed_net25, 2 => unnamed_net35, 1 => unnamed_net33, 2 => unnamed_net36, 1 => unnamed_net28, 2 => unnamed_net37, 1 => unnamed_net35, 2 => unnamed_net38, 1 => unnamed_net13, 2 => unnamed_net39, 1 => unnamed_net40, 2 => unnamed_net41, 1 => unnamed_net14, 2 => unnamed_net42, 1 => unnamed_net39, 2 => unnamed_net43, 1 => unnamed_net16, 2 => unnamed_net44, 1 => unnamed_net42, 2 => unnamed_net45, 1 => unnamed_net18, 2 => unnamed_net46, 1 => unnamed_net44, 2 => unnamed_net47, 1 => unnamed_net40, 2 => unnamed_net48, 1 => unnamed_net49, 2 => unnamed_net50, 1 => unnamed_net41, 2 => unnamed_net51, 1 => unnamed_net48, 2 => unnamed_net52, 1 => unnamed_net43, 2 => unnamed_net53, 1 => unnamed_net51, 2 => unnamed_net54, 1 => unnamed_net45, 2 => unnamed_net55, 1 => unnamed_net53, 2 => unnamed_net56, 1 => unnamed_net20, 2 => unnamed_net57, 1 => unnamed_net46, 2 => unnamed_net58, 1 => unnamed_net32, 2 => unnamed_net59, 1 => unnamed_net57, 2 => unnamed_net60, 1 => unnamed_net34, 2 => unnamed_net61, 1 => unnamed_net59, 2 => unnamed_net62, 1 => unnamed_net36, 2 => unnamed_net63, 1 => unnamed_net61, 2 => unnamed_net64, 1 => unnamed_net47, 2 => unnamed_net65, 1 => unnamed_net55, 2 => unnamed_net66, 1 => unnamed_net58, 2 => unnamed_net67, 1 => unnamed_net65, 2 => unnamed_net68, 1 => unnamed_net60, 2 => unnamed_net69, 1 => unnamed_net67, 2 => unnamed_net70, 1 => unnamed_net62, 2 => unnamed_net71, 1 => unnamed_net69, 2 => unnamed_net72, 1 => unnamed_net73, 2 => unnamed_net74, 1 => unnamed_net29, 2 => unnamed_net75, 1 => unnamed_net73, 2 => unnamed_net76, 1 => unnamed_net74, 2 => unnamed_net77, 1 => unnamed_net78, 2 => unnamed_net79, 1 => unnamed_net76, 2 => unnamed_net80, 1 => unnamed_net78, 2 => unnamed_net81, 1 => unnamed_net79, 2 => unnamed_net82, 1 => unnamed_net30, 2 => unnamed_net83, 1 => unnamed_net37, 2 => unnamed_net84, 1 => unnamed_net75, 2 => unnamed_net85, 1 => unnamed_net83, 2 => unnamed_net86, 1 => unnamed_net77, 2 => unnamed_net87, 1 => unnamed_net85, 2 => unnamed_net88, 1 => unnamed_net80, 2 => unnamed_net89, 1 => unnamed_net87, 2 => unnamed_net90, 1 => unnamed_net91, 2 => unnamed_net92, 1 => unnamed_net81, 2 => unnamed_net93, 1 => unnamed_net91, 2 => unnamed_net94, 1 => unnamed_net92, 2 => unnamed_net95, 1 => unnamed_net96, 2 => unnamed_net97, 1 => unnamed_net94, 2 => unnamed_net98, 1 => unnamed_net96, 2 => unnamed_net99, 1 => unnamed_net97, 2 => unnamed_net100, 1 => unnamed_net82, 2 => unnamed_net101, 1 => unnamed_net89, 2 => unnamed_net102, 1 => unnamed_net93, 2 => unnamed_net103, 1 => unnamed_net101, 2 => unnamed_net104, 1 => unnamed_net95, 2 => unnamed_net105, 1 => unnamed_net103, 2 => unnamed_net106, 1 => unnamed_net98, 2 => unnamed_net107, 1 => unnamed_net105, 2 => unnamed_net108, 1 => unnamed_net38, 2 => unnamed_net109, 1 => unnamed_net63, 2 => unnamed_net110, 1 => unnamed_net84, 2 => unnamed_net111, 1 => unnamed_net109, 2 => unnamed_net112, 1 => unnamed_net86, 2 => unnamed_net113, 1 => unnamed_net111, 2 => unnamed_net114, 1 => unnamed_net88, 2 => unnamed_net115, 1 => unnamed_net113, 2 => unnamed_net116, 1 => unnamed_net64, 2 => unnamed_net117, 1 => unnamed_net71, 2 => unnamed_net118, 1 => unnamed_net110, 2 => unnamed_net119, 1 => unnamed_net117, 2 => unnamed_net120, 1 => unnamed_net112, 2 => unnamed_net121, 1 => unnamed_net119, 2 => unnamed_net122, 1 => unnamed_net114, 2 => unnamed_net123, 1 => unnamed_net121, 2 => unnamed_net124, 1 => unnamed_net90, 2 => unnamed_net125, 1 => unnamed_net115, 2 => unnamed_net126, 1 => unnamed_net102, 2 => unnamed_net127, 1 => unnamed_net125, 2 => unnamed_net128, 1 => unnamed_net104, 2 => unnamed_net129, 1 => unnamed_net127, 2 => unnamed_net130, 1 => unnamed_net106, 2 => unnamed_net131, 1 => unnamed_net129, 2 => unnamed_net132, 1 => unnamed_net116, 2 => unnamed_net133, 1 => unnamed_net123, 2 => unnamed_net134, 1 => unnamed_net126, 2 => unnamed_net135, 1 => unnamed_net133, 2 => unnamed_net136, 1 => unnamed_net128, 2 => unnamed_net137, 1 => unnamed_net135, 2 => unnamed_net138, 1 => unnamed_net130, 2 => unnamed_net139, 1 => unnamed_net137, 2 => unnamed_net140, 1 => unnamed_net49, 2 => unnamed_net141, 1 => unnamed_net142, 2 => unnamed_net143, 1 => unnamed_net50, 2 => unnamed_net144, 1 => unnamed_net141, 2 => unnamed_net145, 1 => unnamed_net52, 2 => unnamed_net146, 1 => unnamed_net144, 2 => unnamed_net147, 1 => unnamed_net54, 2 => unnamed_net148, 1 => unnamed_net146, 2 => unnamed_net149, 1 => unnamed_net142, 2 => unnamed_net150, 1 => unnamed_net151, 2 => unnamed_net152, 1 => unnamed_net143, 2 => unnamed_net153, 1 => unnamed_net150, 2 => unnamed_net154, 1 => unnamed_net145, 2 => unnamed_net155, 1 => unnamed_net153, 2 => unnamed_net156, 1 => unnamed_net147, 2 => unnamed_net157, 1 => unnamed_net155, 2 => unnamed_net158, 1 => unnamed_net56, 2 => unnamed_net159, 1 => unnamed_net148, 2 => unnamed_net160, 1 => unnamed_net66, 2 => unnamed_net161, 1 => unnamed_net159, 2 => unnamed_net162, 1 => unnamed_net68, 2 => unnamed_net163, 1 => unnamed_net161, 2 => unnamed_net164, 1 => unnamed_net70, 2 => unnamed_net165, 1 => unnamed_net163, 2 => unnamed_net166, 1 => unnamed_net149, 2 => unnamed_net167, 1 => unnamed_net157, 2 => unnamed_net168, 1 => unnamed_net160, 2 => unnamed_net169, 1 => unnamed_net167, 2 => unnamed_net170, 1 => unnamed_net162, 2 => unnamed_net171, 1 => unnamed_net169, 2 => unnamed_net172, 1 => unnamed_net164, 2 => unnamed_net173, 1 => unnamed_net171, 2 => unnamed_net174, 1 => unnamed_net151, 2 => unnamed_net175, 1 => unnamed_net176, 2 => unnamed_net177, 1 => unnamed_net152, 2 => unnamed_net178, 1 => unnamed_net175, 2 => unnamed_net179, 1 => unnamed_net154, 2 => unnamed_net180, 1 => unnamed_net178, 2 => unnamed_net181, 1 => unnamed_net156, 2 => unnamed_net182, 1 => unnamed_net180, 2 => unnamed_net183, 1 => unnamed_net176, 2 => unnamed_net184, 1 => unnamed_net185, 2 => unnamed_net186, 1 => unnamed_net177, 2 => unnamed_net187, 1 => unnamed_net184, 2 => unnamed_net188, 1 => unnamed_net179, 2 => unnamed_net189, 1 => unnamed_net187, 2 => unnamed_net190, 1 => unnamed_net181, 2 => unnamed_net191, 1 => unnamed_net189, 2 => unnamed_net192, 1 => unnamed_net158, 2 => unnamed_net193, 1 => unnamed_net182, 2 => unnamed_net194, 1 => unnamed_net168, 2 => unnamed_net195, 1 => unnamed_net193, 2 => unnamed_net196, 1 => unnamed_net170, 2 => unnamed_net197, 1 => unnamed_net195, 2 => unnamed_net198, 1 => unnamed_net172, 2 => unnamed_net199, 1 => unnamed_net197, 2 => unnamed_net200, 1 => unnamed_net183, 2 => unnamed_net201, 1 => unnamed_net191, 2 => unnamed_net202, 1 => unnamed_net194, 2 => unnamed_net203, 1 => unnamed_net201, 2 => unnamed_net204, 1 => unnamed_net196, 2 => unnamed_net205, 1 => unnamed_net203, 2 => unnamed_net206, 1 => unnamed_net198, 2 => unnamed_net207, 1 => unnamed_net205, 2 => unnamed_net208, 1 => unnamed_net72, 2 => unnamed_net209, 1 => unnamed_net165, 2 => unnamed_net210, 1 => unnamed_net118, 2 => unnamed_net211, 1 => unnamed_net209, 2 => unnamed_net212, 1 => unnamed_net120, 2 => unnamed_net213, 1 => unnamed_net211, 2 => unnamed_net214, 1 => unnamed_net122, 2 => unnamed_net215, 1 => unnamed_net213, 2 => unnamed_net216, 1 => unnamed_net166, 2 => unnamed_net217, 1 => unnamed_net173, 2 => unnamed_net218, 1 => unnamed_net210, 2 => unnamed_net219, 1 => unnamed_net217, 2 => unnamed_net220, 1 => unnamed_net212, 2 => unnamed_net221, 1 => unnamed_net219, 2 => unnamed_net222, 1 => unnamed_net214, 2 => unnamed_net223, 1 => unnamed_net221, 2 => unnamed_net224, 1 => unnamed_net124, 2 => unnamed_net225, 1 => unnamed_net215, 2 => unnamed_net226, 1 => unnamed_net134, 2 => unnamed_net227, 1 => unnamed_net225, 2 => unnamed_net228, 1 => unnamed_net136, 2 => unnamed_net229, 1 => unnamed_net227, 2 => unnamed_net230, 1 => unnamed_net138, 2 => unnamed_net231, 1 => unnamed_net229, 2 => unnamed_net232, 1 => unnamed_net216, 2 => unnamed_net233, 1 => unnamed_net223, 2 => unnamed_net234, 1 => unnamed_net226, 2 => unnamed_net235, 1 => unnamed_net233, 2 => unnamed_net236, 1 => unnamed_net228, 2 => unnamed_net237, 1 => unnamed_net235, 2 => unnamed_net238, 1 => unnamed_net230, 2 => unnamed_net239, 1 => unnamed_net237, 2 => unnamed_net240, 1 => unnamed_net174, 2 => unnamed_net241, 1 => unnamed_net199, 2 => unnamed_net242, 1 => unnamed_net218, 2 => unnamed_net243, 1 => unnamed_net241, 2 => unnamed_net244, 1 => unnamed_net220, 2 => unnamed_net245, 1 => unnamed_net243, 2 => unnamed_net246, 1 => unnamed_net222, 2 => unnamed_net247, 1 => unnamed_net245, 2 => unnamed_net248, 1 => unnamed_net200, 2 => unnamed_net249, 1 => unnamed_net207, 2 => unnamed_net250, 1 => unnamed_net242, 2 => unnamed_net251, 1 => unnamed_net249, 2 => unnamed_net252, 1 => unnamed_net244, 2 => unnamed_net253, 1 => unnamed_net251, 2 => unnamed_net254, 1 => unnamed_net246, 2 => unnamed_net255, 1 => unnamed_net253, 2 => unnamed_net256, 1 => unnamed_net224, 2 => unnamed_net257, 1 => unnamed_net247, 2 => unnamed_net258, 1 => unnamed_net234, 2 => unnamed_net259, 1 => unnamed_net257, 2 => unnamed_net260, 1 => unnamed_net236, 2 => unnamed_net261, 1 => unnamed_net259, 2 => unnamed_net262, 1 => unnamed_net238, 2 => unnamed_net263, 1 => unnamed_net261, 2 => unnamed_net264, 1 => unnamed_net248, 2 => unnamed_net265, 1 => unnamed_net255, 2 => unnamed_net266, 1 => unnamed_net258, 2 => unnamed_net267, 1 => unnamed_net265, 2 => unnamed_net268, 1 => unnamed_net260, 2 => unnamed_net269, 1 => unnamed_net267, 2 => unnamed_net270, 1 => unnamed_net262, 2 => unnamed_net271, 1 => unnamed_net269, 2 => unnamed_net272, 1 => unnamed_net273, 2 => unnamed_net274, 1 => unnamed_net99, 2 => unnamed_net275, 1 => unnamed_net273, 2 => unnamed_net276, 1 => unnamed_net274, 2 => unnamed_net277, 1 => unnamed_net278, 2 => unnamed_net279, 1 => unnamed_net276, 2 => unnamed_net280, 1 => unnamed_net278, 2 => unnamed_net281, 1 => unnamed_net279, 2 => unnamed_net282, 1 => unnamed_net100, 2 => unnamed_net283, 1 => unnamed_net107, 2 => unnamed_net284, 1 => unnamed_net275, 2 => unnamed_net285, 1 => unnamed_net283, 2 => unnamed_net286, 1 => unnamed_net277, 2 => unnamed_net287, 1 => unnamed_net285, 2 => unnamed_net288, 1 => unnamed_net280, 2 => unnamed_net289, 1 => unnamed_net287, 2 => unnamed_net290, 1 => unnamed_net291, 2 => unnamed_net292, 1 => unnamed_net281, 2 => unnamed_net293, 1 => unnamed_net291, 2 => unnamed_net294, 1 => unnamed_net292, 2 => unnamed_net295, 1 => unnamed_net296, 2 => unnamed_net297, 1 => unnamed_net294, 2 => unnamed_net298, 1 => unnamed_net296, 2 => unnamed_net299, 1 => unnamed_net297, 2 => unnamed_net300, 1 => unnamed_net282, 2 => unnamed_net301, 1 => unnamed_net289, 2 => unnamed_net302, 1 => unnamed_net293, 2 => unnamed_net303, 1 => unnamed_net301, 2 => unnamed_net304, 1 => unnamed_net295, 2 => unnamed_net305, 1 => unnamed_net303, 2 => unnamed_net306, 1 => unnamed_net298, 2 => unnamed_net307, 1 => unnamed_net305, 2 => unnamed_net308, 1 => unnamed_net108, 2 => unnamed_net309, 1 => unnamed_net131, 2 => unnamed_net310, 1 => unnamed_net284, 2 => unnamed_net311, 1 => unnamed_net309, 2 => unnamed_net312, 1 => unnamed_net286, 2 => unnamed_net313, 1 => unnamed_net311, 2 => unnamed_net314, 1 => unnamed_net288, 2 => unnamed_net315, 1 => unnamed_net313, 2 => unnamed_net316, 1 => unnamed_net132, 2 => unnamed_net317, 1 => unnamed_net139, 2 => unnamed_net318, 1 => unnamed_net310, 2 => unnamed_net319, 1 => unnamed_net317, 2 => unnamed_net320, 1 => unnamed_net312, 2 => unnamed_net321, 1 => unnamed_net319, 2 => unnamed_net322, 1 => unnamed_net314, 2 => unnamed_net323, 1 => unnamed_net321, 2 => unnamed_net324, 1 => unnamed_net290, 2 => unnamed_net325, 1 => unnamed_net315, 2 => unnamed_net326, 1 => unnamed_net302, 2 => unnamed_net327, 1 => unnamed_net325, 2 => unnamed_net328, 1 => unnamed_net304, 2 => unnamed_net329, 1 => unnamed_net327, 2 => unnamed_net330, 1 => unnamed_net306, 2 => unnamed_net331, 1 => unnamed_net329, 2 => unnamed_net332, 1 => unnamed_net316, 2 => unnamed_net333, 1 => unnamed_net323, 2 => unnamed_net334, 1 => unnamed_net326, 2 => unnamed_net335, 1 => unnamed_net333, 2 => unnamed_net336, 1 => unnamed_net328, 2 => unnamed_net337, 1 => unnamed_net335, 2 => unnamed_net338, 1 => unnamed_net330, 2 => unnamed_net339, 1 => unnamed_net337, 2 => unnamed_net340, 1 => unnamed_net341, 2 => unnamed_net342, 1 => unnamed_net299, 2 => unnamed_net343, 1 => unnamed_net341, 2 => unnamed_net344, 1 => unnamed_net342, 2 => unnamed_net345, 1 => unnamed_net346, 2 => unnamed_net347, 1 => unnamed_net344, 2 => unnamed_net348, 1 => unnamed_net346, 2 => unnamed_net349, 1 => unnamed_net347, 2 => unnamed_net350, 1 => unnamed_net300, 2 => unnamed_net351, 1 => unnamed_net307, 2 => unnamed_net352, 1 => unnamed_net343, 2 => unnamed_net353, 1 => unnamed_net351, 2 => unnamed_net354, 1 => unnamed_net345, 2 => unnamed_net355, 1 => unnamed_net353, 2 => unnamed_net356, 1 => unnamed_net348, 2 => unnamed_net357, 1 => unnamed_net355, 2 => unnamed_net358, 1 => unnamed_net359, 2 => unnamed_net360, 1 => unnamed_net349, 2 => unnamed_net361, 1 => unnamed_net359, 2 => unnamed_net362, 1 => unnamed_net360, 2 => unnamed_net363, 1 => unnamed_net364, 2 => unnamed_net365, 1 => unnamed_net362, 2 => unnamed_net366, 1 => unnamed_net364, 2 => unnamed_net367, 1 => unnamed_net365, 2 => unnamed_net368, 1 => unnamed_net350, 2 => unnamed_net369, 1 => unnamed_net357, 2 => unnamed_net370, 1 => unnamed_net361, 2 => unnamed_net371, 1 => unnamed_net369, 2 => unnamed_net372, 1 => unnamed_net363, 2 => unnamed_net373, 1 => unnamed_net371, 2 => unnamed_net374, 1 => unnamed_net366, 2 => unnamed_net368, 1 => unnamed_net373, 2 => unnamed_net375, 1 => unnamed_net308, 2 => unnamed_net376, 1 => unnamed_net331, 2 => unnamed_net377, 1 => unnamed_net352, 2 => unnamed_net378, 1 => unnamed_net376, 2 => unnamed_net379, 1 => unnamed_net354, 2 => unnamed_net380, 1 => unnamed_net378, 2 => unnamed_net381, 1 => unnamed_net356, 2 => unnamed_net382, 1 => unnamed_net380, 2 => unnamed_net383, 1 => unnamed_net332, 2 => unnamed_net384, 1 => unnamed_net339, 2 => unnamed_net385, 1 => unnamed_net377, 2 => unnamed_net386, 1 => unnamed_net384, 2 => unnamed_net387, 1 => unnamed_net379, 2 => unnamed_net388, 1 => unnamed_net386, 2 => unnamed_net389, 1 => unnamed_net381, 2 => unnamed_net390, 1 => unnamed_net388, 2 => unnamed_net391, 1 => unnamed_net358, 2 => unnamed_net392, 1 => unnamed_net382, 2 => unnamed_net393, 1 => unnamed_net370, 2 => unnamed_net394, 1 => unnamed_net392, 2 => unnamed_net395, 1 => unnamed_net372, 2 => unnamed_net396, 1 => unnamed_net394, 2 => unnamed_net397, 1 => unnamed_net374, 2 => unnamed_net375, 1 => unnamed_net396, 2 => unnamed_net398, 1 => unnamed_net383, 2 => unnamed_net399, 1 => unnamed_net390, 2 => unnamed_net400, 1 => unnamed_net393, 2 => unnamed_net401, 1 => unnamed_net399, 2 => unnamed_net402, 1 => unnamed_net395, 2 => unnamed_net403, 1 => unnamed_net401, 2 => unnamed_net404, 1 => unnamed_net397, 2 => unnamed_net398, 1 => unnamed_net403, 2 => unnamed_net405, 1 => unnamed_net140, 2 => unnamed_net406, 1 => unnamed_net231, 2 => unnamed_net407, 1 => unnamed_net318, 2 => unnamed_net408, 1 => unnamed_net406, 2 => unnamed_net409, 1 => unnamed_net320, 2 => unnamed_net410, 1 => unnamed_net408, 2 => unnamed_net411, 1 => unnamed_net322, 2 => unnamed_net412, 1 => unnamed_net410, 2 => unnamed_net413, 1 => unnamed_net232, 2 => unnamed_net414, 1 => unnamed_net239, 2 => unnamed_net415, 1 => unnamed_net407, 2 => unnamed_net416, 1 => unnamed_net414, 2 => unnamed_net417, 1 => unnamed_net409, 2 => unnamed_net418, 1 => unnamed_net416, 2 => unnamed_net419, 1 => unnamed_net411, 2 => unnamed_net420, 1 => unnamed_net418, 2 => unnamed_net421, 1 => unnamed_net324, 2 => unnamed_net422, 1 => unnamed_net412, 2 => unnamed_net423, 1 => unnamed_net334, 2 => unnamed_net424, 1 => unnamed_net422, 2 => unnamed_net425, 1 => unnamed_net336, 2 => unnamed_net426, 1 => unnamed_net424, 2 => unnamed_net427, 1 => unnamed_net338, 2 => unnamed_net428, 1 => unnamed_net426, 2 => unnamed_net429, 1 => unnamed_net413, 2 => unnamed_net430, 1 => unnamed_net420, 2 => unnamed_net431, 1 => unnamed_net423, 2 => unnamed_net432, 1 => unnamed_net430, 2 => unnamed_net433, 1 => unnamed_net425, 2 => unnamed_net434, 1 => unnamed_net432, 2 => unnamed_net435, 1 => unnamed_net427, 2 => unnamed_net436, 1 => unnamed_net434, 2 => unnamed_net437, 1 => unnamed_net240, 2 => unnamed_net438, 1 => unnamed_net263, 2 => unnamed_net439, 1 => unnamed_net415, 2 => unnamed_net440, 1 => unnamed_net438, 2 => unnamed_net441, 1 => unnamed_net417, 2 => unnamed_net442, 1 => unnamed_net440, 2 => unnamed_net443, 1 => unnamed_net419, 2 => unnamed_net444, 1 => unnamed_net442, 2 => unnamed_net445, 1 => unnamed_net264, 2 => unnamed_net446, 1 => unnamed_net271, 2 => unnamed_net447, 1 => unnamed_net439, 2 => unnamed_net448, 1 => unnamed_net446, 2 => unnamed_net449, 1 => unnamed_net441, 2 => unnamed_net450, 1 => unnamed_net448, 2 => unnamed_net451, 1 => unnamed_net443, 2 => unnamed_net452, 1 => unnamed_net450, 2 => unnamed_net453, 1 => unnamed_net421, 2 => unnamed_net454, 1 => unnamed_net444, 2 => unnamed_net455, 1 => unnamed_net431, 2 => unnamed_net456, 1 => unnamed_net454, 2 => unnamed_net457, 1 => unnamed_net433, 2 => unnamed_net458, 1 => unnamed_net456, 2 => unnamed_net459, 1 => unnamed_net435, 2 => unnamed_net460, 1 => unnamed_net458, 2 => unnamed_net461, 1 => unnamed_net445, 2 => unnamed_net462, 1 => unnamed_net452, 2 => unnamed_net463, 1 => unnamed_net455, 2 => unnamed_net464, 1 => unnamed_net462, 2 => unnamed_net465, 1 => unnamed_net457, 2 => unnamed_net466, 1 => unnamed_net464, 2 => unnamed_net467, 1 => unnamed_net459, 2 => unnamed_net468, 1 => unnamed_net466, 2 => unnamed_net469, 1 => unnamed_net340, 2 => unnamed_net470, 1 => unnamed_net428, 2 => unnamed_net471, 1 => unnamed_net385, 2 => unnamed_net472, 1 => unnamed_net470, 2 => unnamed_net473, 1 => unnamed_net387, 2 => unnamed_net474, 1 => unnamed_net472, 2 => unnamed_net475, 1 => unnamed_net389, 2 => unnamed_net476, 1 => unnamed_net474, 2 => unnamed_net477, 1 => unnamed_net429, 2 => unnamed_net478, 1 => unnamed_net436, 2 => unnamed_net479, 1 => unnamed_net471, 2 => unnamed_net480, 1 => unnamed_net478, 2 => unnamed_net481, 1 => unnamed_net473, 2 => unnamed_net482, 1 => unnamed_net480, 2 => unnamed_net483, 1 => unnamed_net475, 2 => unnamed_net484, 1 => unnamed_net482, 2 => unnamed_net485, 1 => unnamed_net391, 2 => unnamed_net486, 1 => unnamed_net476, 2 => unnamed_net487, 1 => unnamed_net400, 2 => unnamed_net488, 1 => unnamed_net486, 2 => unnamed_net489, 1 => unnamed_net402, 2 => unnamed_net490, 1 => unnamed_net488, 2 => unnamed_net491, 1 => unnamed_net404, 2 => unnamed_net405, 1 => unnamed_net490, 2 => unnamed_net492, 1 => unnamed_net477, 2 => unnamed_net493, 1 => unnamed_net484, 2 => unnamed_net494, 1 => unnamed_net487, 2 => unnamed_net495, 1 => unnamed_net493, 2 => unnamed_net496, 1 => unnamed_net489, 2 => unnamed_net497, 1 => unnamed_net495, 2 => unnamed_net498, 1 => unnamed_net491, 2 => unnamed_net492, 1 => unnamed_net497, 2 => unnamed_net499, 1 => unnamed_net437, 2 => unnamed_net500, 1 => unnamed_net460, 2 => unnamed_net501, 1 => unnamed_net479, 2 => unnamed_net502, 1 => unnamed_net500, 2 => unnamed_net503, 1 => unnamed_net481, 2 => unnamed_net504, 1 => unnamed_net502, 2 => unnamed_net505, 1 => unnamed_net483, 2 => unnamed_net506, 1 => unnamed_net504, 2 => unnamed_net507, 1 => unnamed_net461, 2 => unnamed_net508, 1 => unnamed_net468, 2 => unnamed_net509, 1 => unnamed_net501, 2 => unnamed_net510, 1 => unnamed_net508, 2 => unnamed_net511, 1 => unnamed_net503, 2 => unnamed_net512, 1 => unnamed_net510, 2 => unnamed_net513, 1 => unnamed_net505, 2 => unnamed_net514, 1 => unnamed_net512, 2 => unnamed_net515, 1 => unnamed_net485, 2 => unnamed_net516, 1 => unnamed_net506, 2 => unnamed_net517, 1 => unnamed_net494, 2 => unnamed_net518, 1 => unnamed_net516, 2 => unnamed_net519, 1 => unnamed_net496, 2 => unnamed_net520, 1 => unnamed_net518, 2 => unnamed_net521, 1 => unnamed_net498, 2 => unnamed_net499, 1 => unnamed_net520, 2 => unnamed_net522, 1 => unnamed_net507, 2 => unnamed_net523, 1 => unnamed_net514, 2 => unnamed_net524, 1 => unnamed_net517, 2 => unnamed_net525, 1 => unnamed_net523, 2 => unnamed_net526, 1 => unnamed_net519, 2 => unnamed_net527, 1 => unnamed_net525, 2 => unnamed_net528, 1 => unnamed_net521, 2 => unnamed_net522, 1 => unnamed_net527, 2 => unnamed_net529, 1 => unnamed_net185, 2 => unnamed_net530, 1 => unnamed_net531, 2 => unnamed_net532, 1 => unnamed_net186, 2 => unnamed_net533, 1 => unnamed_net530, 2 => unnamed_net534, 1 => unnamed_net188, 2 => unnamed_net535, 1 => unnamed_net533, 2 => unnamed_net536, 1 => unnamed_net190, 2 => unnamed_net537, 1 => unnamed_net535, 2 => unnamed_net538, 1 => unnamed_net531, 2 => unnamed_net539, 1 => unnamed_net540, 2 => unnamed_net541, 1 => unnamed_net532, 2 => unnamed_net542, 1 => unnamed_net539, 2 => unnamed_net543, 1 => unnamed_net534, 2 => unnamed_net544, 1 => unnamed_net542, 2 => unnamed_net545, 1 => unnamed_net536, 2 => unnamed_net546, 1 => unnamed_net544, 2 => unnamed_net547, 1 => unnamed_net192, 2 => unnamed_net548, 1 => unnamed_net537, 2 => unnamed_net549, 1 => unnamed_net202, 2 => unnamed_net550, 1 => unnamed_net548, 2 => unnamed_net551, 1 => unnamed_net204, 2 => unnamed_net552, 1 => unnamed_net550, 2 => unnamed_net553, 1 => unnamed_net206, 2 => unnamed_net554, 1 => unnamed_net552, 2 => unnamed_net555, 1 => unnamed_net538, 2 => unnamed_net556, 1 => unnamed_net546, 2 => unnamed_net557, 1 => unnamed_net549, 2 => unnamed_net558, 1 => unnamed_net556, 2 => unnamed_net559, 1 => unnamed_net551, 2 => unnamed_net560, 1 => unnamed_net558, 2 => unnamed_net561, 1 => unnamed_net553, 2 => unnamed_net562, 1 => unnamed_net560, 2 => unnamed_net563, 1 => unnamed_net540, 2 => unnamed_net564, 1 => unnamed_net565, 2 => unnamed_net566, 1 => unnamed_net541, 2 => unnamed_net567, 1 => unnamed_net564, 2 => unnamed_net568, 1 => unnamed_net543, 2 => unnamed_net569, 1 => unnamed_net567, 2 => unnamed_net570, 1 => unnamed_net545, 2 => unnamed_net571, 1 => unnamed_net569, 2 => unnamed_net572, 1 => unnamed_net565, 2 => unnamed_net573, 1 => unnamed_net574, 2 => unnamed_net575, 1 => unnamed_net566, 2 => unnamed_net576, 1 => unnamed_net573, 2 => unnamed_net577, 1 => unnamed_net568, 2 => unnamed_net578, 1 => unnamed_net576, 2 => unnamed_net579, 1 => unnamed_net570, 2 => unnamed_net580, 1 => unnamed_net578, 2 => unnamed_net581, 1 => unnamed_net547, 2 => unnamed_net582, 1 => unnamed_net571, 2 => unnamed_net583, 1 => unnamed_net557, 2 => unnamed_net584, 1 => unnamed_net582, 2 => unnamed_net585, 1 => unnamed_net559, 2 => unnamed_net586, 1 => unnamed_net584, 2 => unnamed_net587, 1 => unnamed_net561, 2 => unnamed_net588, 1 => unnamed_net586, 2 => unnamed_net589, 1 => unnamed_net572, 2 => unnamed_net590, 1 => unnamed_net580, 2 => unnamed_net591, 1 => unnamed_net583, 2 => unnamed_net592, 1 => unnamed_net590, 2 => unnamed_net593, 1 => unnamed_net585, 2 => unnamed_net594, 1 => unnamed_net592, 2 => unnamed_net595, 1 => unnamed_net587, 2 => unnamed_net596, 1 => unnamed_net594, 2 => unnamed_net597, 1 => unnamed_net208, 2 => unnamed_net598, 1 => unnamed_net554, 2 => unnamed_net599, 1 => unnamed_net250, 2 => unnamed_net600, 1 => unnamed_net598, 2 => unnamed_net601, 1 => unnamed_net252, 2 => unnamed_net602, 1 => unnamed_net600, 2 => unnamed_net603, 1 => unnamed_net254, 2 => unnamed_net604, 1 => unnamed_net602, 2 => unnamed_net605, 1 => unnamed_net555, 2 => unnamed_net606, 1 => unnamed_net562, 2 => unnamed_net607, 1 => unnamed_net599, 2 => unnamed_net608, 1 => unnamed_net606, 2 => unnamed_net609, 1 => unnamed_net601, 2 => unnamed_net610, 1 => unnamed_net608, 2 => unnamed_net611, 1 => unnamed_net603, 2 => unnamed_net612, 1 => unnamed_net610, 2 => unnamed_net613, 1 => unnamed_net256, 2 => unnamed_net614, 1 => unnamed_net604, 2 => unnamed_net615, 1 => unnamed_net266, 2 => unnamed_net616, 1 => unnamed_net614, 2 => unnamed_net617, 1 => unnamed_net268, 2 => unnamed_net618, 1 => unnamed_net616, 2 => unnamed_net619, 1 => unnamed_net270, 2 => unnamed_net620, 1 => unnamed_net618, 2 => unnamed_net621, 1 => unnamed_net605, 2 => unnamed_net622, 1 => unnamed_net612, 2 => unnamed_net623, 1 => unnamed_net615, 2 => unnamed_net624, 1 => unnamed_net622, 2 => unnamed_net625, 1 => unnamed_net617, 2 => unnamed_net626, 1 => unnamed_net624, 2 => unnamed_net627, 1 => unnamed_net619, 2 => unnamed_net628, 1 => unnamed_net626, 2 => unnamed_net629, 1 => unnamed_net563, 2 => unnamed_net630, 1 => unnamed_net588, 2 => unnamed_net631, 1 => unnamed_net607, 2 => unnamed_net632, 1 => unnamed_net630, 2 => unnamed_net633, 1 => unnamed_net609, 2 => unnamed_net634, 1 => unnamed_net632, 2 => unnamed_net635, 1 => unnamed_net611, 2 => unnamed_net636, 1 => unnamed_net634, 2 => unnamed_net637, 1 => unnamed_net589, 2 => unnamed_net638, 1 => unnamed_net596, 2 => unnamed_net639, 1 => unnamed_net631, 2 => unnamed_net640, 1 => unnamed_net638, 2 => unnamed_net641, 1 => unnamed_net633, 2 => unnamed_net642, 1 => unnamed_net640, 2 => unnamed_net643, 1 => unnamed_net635, 2 => unnamed_net644, 1 => unnamed_net642, 2 => unnamed_net645, 1 => unnamed_net613, 2 => unnamed_net646, 1 => unnamed_net636, 2 => unnamed_net647, 1 => unnamed_net623, 2 => unnamed_net648, 1 => unnamed_net646, 2 => unnamed_net649, 1 => unnamed_net625, 2 => unnamed_net650, 1 => unnamed_net648, 2 => unnamed_net651, 1 => unnamed_net627, 2 => unnamed_net652, 1 => unnamed_net650, 2 => unnamed_net653, 1 => unnamed_net637, 2 => unnamed_net654, 1 => unnamed_net644, 2 => unnamed_net655, 1 => unnamed_net647, 2 => unnamed_net656, 1 => unnamed_net654, 2 => unnamed_net657, 1 => unnamed_net649, 2 => unnamed_net658, 1 => unnamed_net656, 2 => unnamed_net659, 1 => unnamed_net651, 2 => unnamed_net660, 1 => unnamed_net658, 2 => unnamed_net661, 1 => unnamed_net574, 2 => unnamed_net662, 1 => unnamed_net663, 2 => unnamed_net664, 1 => unnamed_net575, 2 => unnamed_net665, 1 => unnamed_net662, 2 => unnamed_net666, 1 => unnamed_net577, 2 => unnamed_net667, 1 => unnamed_net665, 2 => unnamed_net668, 1 => unnamed_net579, 2 => unnamed_net669, 1 => unnamed_net667, 2 => unnamed_net670, 1 => unnamed_net663, 2 => unnamed_net671, 1 => unnamed_net672, 2 => unnamed_net673, 1 => unnamed_net664, 2 => unnamed_net674, 1 => unnamed_net671, 2 => unnamed_net675, 1 => unnamed_net666, 2 => unnamed_net676, 1 => unnamed_net674, 2 => unnamed_net677, 1 => unnamed_net668, 2 => unnamed_net678, 1 => unnamed_net676, 2 => unnamed_net679, 1 => unnamed_net581, 2 => unnamed_net680, 1 => unnamed_net669, 2 => unnamed_net681, 1 => unnamed_net591, 2 => unnamed_net682, 1 => unnamed_net680, 2 => unnamed_net683, 1 => unnamed_net593, 2 => unnamed_net684, 1 => unnamed_net682, 2 => unnamed_net685, 1 => unnamed_net595, 2 => unnamed_net686, 1 => unnamed_net684, 2 => unnamed_net687, 1 => unnamed_net670, 2 => unnamed_net688, 1 => unnamed_net678, 2 => unnamed_net689, 1 => unnamed_net681, 2 => unnamed_net690, 1 => unnamed_net688, 2 => unnamed_net691, 1 => unnamed_net683, 2 => unnamed_net692, 1 => unnamed_net690, 2 => unnamed_net693, 1 => unnamed_net685, 2 => unnamed_net694, 1 => unnamed_net692, 2 => unnamed_net695, 1 => unnamed_net672, 2 => unnamed_net696, 1 => unnamed_net697, 2 => unnamed_net698, 1 => unnamed_net673, 2 => unnamed_net699, 1 => unnamed_net696, 2 => unnamed_net700, 1 => unnamed_net675, 2 => unnamed_net701, 1 => unnamed_net699, 2 => unnamed_net702, 1 => unnamed_net677, 2 => unnamed_net703, 1 => unnamed_net701, 2 => unnamed_net704, 1 => unnamed_net697, 2 => unnamed_net705, 1 => unnamed_net706, 2 => unnamed_net707, 1 => unnamed_net698, 2 => unnamed_net708, 1 => unnamed_net705, 2 => unnamed_net707, 1 => unnamed_net700, 2 => unnamed_net709, 1 => unnamed_net708, 2 => unnamed_net710, 1 => unnamed_net702, 2 => unnamed_net711, 1 => unnamed_net709, 2 => unnamed_net710, 1 => unnamed_net679, 2 => unnamed_net712, 1 => unnamed_net703, 2 => unnamed_net713, 1 => unnamed_net689, 2 => unnamed_net714, 1 => unnamed_net712, 2 => unnamed_net715, 1 => unnamed_net691, 2 => unnamed_net716, 1 => unnamed_net714, 2 => unnamed_net717, 1 => unnamed_net693, 2 => unnamed_net718, 1 => unnamed_net716, 2 => unnamed_net719, 1 => unnamed_net704, 2 => unnamed_net720, 1 => unnamed_net711, 2 => unnamed_net721, 1 => unnamed_net713, 2 => unnamed_net722, 1 => unnamed_net720, 2 => unnamed_net721, 1 => unnamed_net715, 2 => unnamed_net723, 1 => unnamed_net722, 2 => unnamed_net724, 1 => unnamed_net717, 2 => unnamed_net725, 1 => unnamed_net723, 2 => unnamed_net724, 1 => unnamed_net597, 2 => unnamed_net726, 1 => unnamed_net686, 2 => unnamed_net727, 1 => unnamed_net639, 2 => unnamed_net728, 1 => unnamed_net726, 2 => unnamed_net729, 1 => unnamed_net641, 2 => unnamed_net730, 1 => unnamed_net728, 2 => unnamed_net731, 1 => unnamed_net643, 2 => unnamed_net732, 1 => unnamed_net730, 2 => unnamed_net733, 1 => unnamed_net687, 2 => unnamed_net734, 1 => unnamed_net694, 2 => unnamed_net735, 1 => unnamed_net727, 2 => unnamed_net736, 1 => unnamed_net734, 2 => unnamed_net737, 1 => unnamed_net729, 2 => unnamed_net738, 1 => unnamed_net736, 2 => unnamed_net739, 1 => unnamed_net731, 2 => unnamed_net740, 1 => unnamed_net738, 2 => unnamed_net741, 1 => unnamed_net645, 2 => unnamed_net742, 1 => unnamed_net732, 2 => unnamed_net743, 1 => unnamed_net655, 2 => unnamed_net744, 1 => unnamed_net742, 2 => unnamed_net745, 1 => unnamed_net657, 2 => unnamed_net746, 1 => unnamed_net744, 2 => unnamed_net747, 1 => unnamed_net659, 2 => unnamed_net748, 1 => unnamed_net746, 2 => unnamed_net749, 1 => unnamed_net733, 2 => unnamed_net750, 1 => unnamed_net740, 2 => unnamed_net751, 1 => unnamed_net743, 2 => unnamed_net752, 1 => unnamed_net750, 2 => unnamed_net753, 1 => unnamed_net745, 2 => unnamed_net754, 1 => unnamed_net752, 2 => unnamed_net755, 1 => unnamed_net747, 2 => unnamed_net756, 1 => unnamed_net754, 2 => unnamed_net757, 1 => unnamed_net695, 2 => unnamed_net758, 1 => unnamed_net718, 2 => unnamed_net759, 1 => unnamed_net735, 2 => unnamed_net760, 1 => unnamed_net758, 2 => unnamed_net761, 1 => unnamed_net737, 2 => unnamed_net762, 1 => unnamed_net760, 2 => unnamed_net763, 1 => unnamed_net739, 2 => unnamed_net764, 1 => unnamed_net762, 2 => unnamed_net765, 1 => unnamed_net719, 2 => unnamed_net766, 1 => unnamed_net725, 2 => unnamed_net767, 1 => unnamed_net759, 2 => unnamed_net768, 1 => unnamed_net766, 2 => unnamed_net767, 1 => unnamed_net761, 2 => unnamed_net769, 1 => unnamed_net768, 2 => unnamed_net770, 1 => unnamed_net763, 2 => unnamed_net771, 1 => unnamed_net769, 2 => unnamed_net770, 1 => unnamed_net741, 2 => unnamed_net772, 1 => unnamed_net764, 2 => unnamed_net773, 1 => unnamed_net751, 2 => unnamed_net774, 1 => unnamed_net772, 2 => unnamed_net775, 1 => unnamed_net753, 2 => unnamed_net776, 1 => unnamed_net774, 2 => unnamed_net777, 1 => unnamed_net755, 2 => unnamed_net778, 1 => unnamed_net776, 2 => unnamed_net779, 1 => unnamed_net765, 2 => unnamed_net780, 1 => unnamed_net771, 2 => unnamed_net781, 1 => unnamed_net773, 2 => unnamed_net782, 1 => unnamed_net780, 2 => unnamed_net781, 1 => unnamed_net775, 2 => unnamed_net783, 1 => unnamed_net782, 2 => unnamed_net784, 1 => unnamed_net777, 2 => unnamed_net785, 1 => unnamed_net783, 2 => unnamed_net784, 1 => unnamed_net272, 2 => unnamed_net786, 1 => unnamed_net620, 2 => unnamed_net787, 1 => unnamed_net447, 2 => unnamed_net788, 1 => unnamed_net786, 2 => unnamed_net789, 1 => unnamed_net449, 2 => unnamed_net790, 1 => unnamed_net788, 2 => unnamed_net791, 1 => unnamed_net451, 2 => unnamed_net792, 1 => unnamed_net790, 2 => unnamed_net793, 1 => unnamed_net621, 2 => unnamed_net794, 1 => unnamed_net628, 2 => unnamed_net795, 1 => unnamed_net787, 2 => unnamed_net796, 1 => unnamed_net794, 2 => unnamed_net797, 1 => unnamed_net789, 2 => unnamed_net798, 1 => unnamed_net796, 2 => unnamed_net799, 1 => unnamed_net791, 2 => unnamed_net800, 1 => unnamed_net798, 2 => unnamed_net801, 1 => unnamed_net453, 2 => unnamed_net802, 1 => unnamed_net792, 2 => unnamed_net803, 1 => unnamed_net463, 2 => unnamed_net804, 1 => unnamed_net802, 2 => unnamed_net805, 1 => unnamed_net465, 2 => unnamed_net806, 1 => unnamed_net804, 2 => unnamed_net807, 1 => unnamed_net467, 2 => unnamed_net808, 1 => unnamed_net806, 2 => unnamed_net809, 1 => unnamed_net793, 2 => unnamed_net810, 1 => unnamed_net800, 2 => unnamed_net811, 1 => unnamed_net803, 2 => unnamed_net812, 1 => unnamed_net810, 2 => unnamed_net813, 1 => unnamed_net805, 2 => unnamed_net814, 1 => unnamed_net812, 2 => unnamed_net815, 1 => unnamed_net807, 2 => unnamed_net816, 1 => unnamed_net814, 2 => unnamed_net817, 1 => unnamed_net629, 2 => unnamed_net818, 1 => unnamed_net652, 2 => unnamed_net819, 1 => unnamed_net795, 2 => unnamed_net820, 1 => unnamed_net818, 2 => unnamed_net821, 1 => unnamed_net797, 2 => unnamed_net822, 1 => unnamed_net820, 2 => unnamed_net823, 1 => unnamed_net799, 2 => unnamed_net824, 1 => unnamed_net822, 2 => unnamed_net825, 1 => unnamed_net653, 2 => unnamed_net826, 1 => unnamed_net660, 2 => unnamed_net827, 1 => unnamed_net819, 2 => unnamed_net828, 1 => unnamed_net826, 2 => unnamed_net829, 1 => unnamed_net821, 2 => unnamed_net830, 1 => unnamed_net828, 2 => unnamed_net831, 1 => unnamed_net823, 2 => unnamed_net832, 1 => unnamed_net830, 2 => unnamed_net833, 1 => unnamed_net801, 2 => unnamed_net834, 1 => unnamed_net824, 2 => unnamed_net835, 1 => unnamed_net811, 2 => unnamed_net836, 1 => unnamed_net834, 2 => unnamed_net837, 1 => unnamed_net813, 2 => unnamed_net838, 1 => unnamed_net836, 2 => unnamed_net839, 1 => unnamed_net815, 2 => unnamed_net840, 1 => unnamed_net838, 2 => unnamed_net841, 1 => unnamed_net825, 2 => unnamed_net842, 1 => unnamed_net832, 2 => unnamed_net843, 1 => unnamed_net835, 2 => unnamed_net844, 1 => unnamed_net842, 2 => unnamed_net845, 1 => unnamed_net837, 2 => unnamed_net846, 1 => unnamed_net844, 2 => unnamed_net847, 1 => unnamed_net839, 2 => unnamed_net848, 1 => unnamed_net846, 2 => unnamed_net849, 1 => unnamed_net469, 2 => unnamed_net850, 1 => unnamed_net808, 2 => unnamed_net851, 1 => unnamed_net509, 2 => unnamed_net852, 1 => unnamed_net850, 2 => unnamed_net853, 1 => unnamed_net511, 2 => unnamed_net854, 1 => unnamed_net852, 2 => unnamed_net855, 1 => unnamed_net513, 2 => unnamed_net856, 1 => unnamed_net854, 2 => unnamed_net857, 1 => unnamed_net809, 2 => unnamed_net858, 1 => unnamed_net816, 2 => unnamed_net859, 1 => unnamed_net851, 2 => unnamed_net860, 1 => unnamed_net858, 2 => unnamed_net861, 1 => unnamed_net853, 2 => unnamed_net862, 1 => unnamed_net860, 2 => unnamed_net863, 1 => unnamed_net855, 2 => unnamed_net864, 1 => unnamed_net862, 2 => unnamed_net865, 1 => unnamed_net515, 2 => unnamed_net866, 1 => unnamed_net856, 2 => unnamed_net867, 1 => unnamed_net524, 2 => unnamed_net868, 1 => unnamed_net866, 2 => unnamed_net869, 1 => unnamed_net526, 2 => unnamed_net870, 1 => unnamed_net868, 2 => unnamed_net871, 1 => unnamed_net528, 2 => unnamed_net529, 1 => unnamed_net870, 2 => unnamed_net872, 1 => unnamed_net857, 2 => unnamed_net873, 1 => unnamed_net864, 2 => unnamed_net874, 1 => unnamed_net867, 2 => unnamed_net875, 1 => unnamed_net873, 2 => unnamed_net876, 1 => unnamed_net869, 2 => unnamed_net877, 1 => unnamed_net875, 2 => unnamed_net878, 1 => unnamed_net871, 2 => unnamed_net872, 1 => unnamed_net877, 2 => unnamed_net879, 1 => unnamed_net817, 2 => unnamed_net880, 1 => unnamed_net840, 2 => unnamed_net881, 1 => unnamed_net859, 2 => unnamed_net882, 1 => unnamed_net880, 2 => unnamed_net883, 1 => unnamed_net861, 2 => unnamed_net884, 1 => unnamed_net882, 2 => unnamed_net885, 1 => unnamed_net863, 2 => unnamed_net886, 1 => unnamed_net884, 2 => unnamed_net887, 1 => unnamed_net841, 2 => unnamed_net888, 1 => unnamed_net848, 2 => unnamed_net889, 1 => unnamed_net881, 2 => unnamed_net890, 1 => unnamed_net888, 2 => unnamed_net891, 1 => unnamed_net883, 2 => unnamed_net892, 1 => unnamed_net890, 2 => unnamed_net893, 1 => unnamed_net885, 2 => unnamed_net894, 1 => unnamed_net892, 2 => unnamed_net895, 1 => unnamed_net865, 2 => unnamed_net896, 1 => unnamed_net886, 2 => unnamed_net897, 1 => unnamed_net874, 2 => unnamed_net898, 1 => unnamed_net896, 2 => unnamed_net899, 1 => unnamed_net876, 2 => unnamed_net900, 1 => unnamed_net898, 2 => unnamed_net901, 1 => unnamed_net878, 2 => unnamed_net879, 1 => unnamed_net900, 2 => unnamed_net902, 1 => unnamed_net887, 2 => unnamed_net903, 1 => unnamed_net894, 2 => unnamed_net904, 1 => unnamed_net897, 2 => unnamed_net905, 1 => unnamed_net903, 2 => unnamed_net906, 1 => unnamed_net899, 2 => unnamed_net907, 1 => unnamed_net905, 2 => unnamed_net908, 1 => unnamed_net901, 2 => unnamed_net902, 1 => unnamed_net907, 2 => unnamed_net909, 1 => unnamed_net661, 2 => unnamed_net910, 1 => unnamed_net748, 2 => unnamed_net911, 1 => unnamed_net827, 2 => unnamed_net912, 1 => unnamed_net910, 2 => unnamed_net913, 1 => unnamed_net829, 2 => unnamed_net914, 1 => unnamed_net912, 2 => unnamed_net915, 1 => unnamed_net831, 2 => unnamed_net916, 1 => unnamed_net914, 2 => unnamed_net917, 1 => unnamed_net749, 2 => unnamed_net918, 1 => unnamed_net756, 2 => unnamed_net919, 1 => unnamed_net911, 2 => unnamed_net920, 1 => unnamed_net918, 2 => unnamed_net921, 1 => unnamed_net913, 2 => unnamed_net922, 1 => unnamed_net920, 2 => unnamed_net923, 1 => unnamed_net915, 2 => unnamed_net924, 1 => unnamed_net922, 2 => unnamed_net925, 1 => unnamed_net833, 2 => unnamed_net926, 1 => unnamed_net916, 2 => unnamed_net927, 1 => unnamed_net843, 2 => unnamed_net928, 1 => unnamed_net926, 2 => unnamed_net929, 1 => unnamed_net845, 2 => unnamed_net930, 1 => unnamed_net928, 2 => unnamed_net931, 1 => unnamed_net847, 2 => unnamed_net932, 1 => unnamed_net930, 2 => unnamed_net933, 1 => unnamed_net917, 2 => unnamed_net934, 1 => unnamed_net924, 2 => unnamed_net935, 1 => unnamed_net927, 2 => unnamed_net936, 1 => unnamed_net934, 2 => unnamed_net937, 1 => unnamed_net929, 2 => unnamed_net938, 1 => unnamed_net936, 2 => unnamed_net939, 1 => unnamed_net931, 2 => unnamed_net940, 1 => unnamed_net938, 2 => unnamed_net941, 1 => unnamed_net757, 2 => unnamed_net942, 1 => unnamed_net778, 2 => unnamed_net943, 1 => unnamed_net919, 2 => unnamed_net944, 1 => unnamed_net942, 2 => unnamed_net945, 1 => unnamed_net921, 2 => unnamed_net946, 1 => unnamed_net944, 2 => unnamed_net947, 1 => unnamed_net923, 2 => unnamed_net948, 1 => unnamed_net946, 2 => unnamed_net949, 1 => unnamed_net779, 2 => unnamed_net950, 1 => unnamed_net785, 2 => unnamed_net951, 1 => unnamed_net943, 2 => unnamed_net952, 1 => unnamed_net950, 2 => unnamed_net951, 1 => unnamed_net945, 2 => unnamed_net953, 1 => unnamed_net952, 2 => unnamed_net954, 1 => unnamed_net947, 2 => unnamed_net955, 1 => unnamed_net953, 2 => unnamed_net954, 1 => unnamed_net925, 2 => unnamed_net956, 1 => unnamed_net948, 2 => unnamed_net957, 1 => unnamed_net935, 2 => unnamed_net958, 1 => unnamed_net956, 2 => unnamed_net959, 1 => unnamed_net937, 2 => unnamed_net960, 1 => unnamed_net958, 2 => unnamed_net961, 1 => unnamed_net939, 2 => unnamed_net962, 1 => unnamed_net960, 2 => unnamed_net963, 1 => unnamed_net949, 2 => unnamed_net964, 1 => unnamed_net955, 2 => unnamed_net965, 1 => unnamed_net957, 2 => unnamed_net966, 1 => unnamed_net964, 2 => unnamed_net965, 1 => unnamed_net959, 2 => unnamed_net967, 1 => unnamed_net966, 2 => unnamed_net968, 1 => unnamed_net961, 2 => unnamed_net969, 1 => unnamed_net967, 2 => unnamed_net968, 1 => unnamed_net849, 2 => unnamed_net970, 1 => unnamed_net932, 2 => unnamed_net971, 1 => unnamed_net889, 2 => unnamed_net972, 1 => unnamed_net970, 2 => unnamed_net973, 1 => unnamed_net891, 2 => unnamed_net974, 1 => unnamed_net972, 2 => unnamed_net975, 1 => unnamed_net893, 2 => unnamed_net976, 1 => unnamed_net974, 2 => unnamed_net977, 1 => unnamed_net933, 2 => unnamed_net978, 1 => unnamed_net940, 2 => unnamed_net979, 1 => unnamed_net971, 2 => unnamed_net980, 1 => unnamed_net978, 2 => unnamed_net981, 1 => unnamed_net973, 2 => unnamed_net982, 1 => unnamed_net980, 2 => unnamed_net983, 1 => unnamed_net975, 2 => unnamed_net984, 1 => unnamed_net982, 2 => unnamed_net985, 1 => unnamed_net895, 2 => unnamed_net986, 1 => unnamed_net976, 2 => unnamed_net987, 1 => unnamed_net904, 2 => unnamed_net988, 1 => unnamed_net986, 2 => unnamed_net989, 1 => unnamed_net906, 2 => unnamed_net990, 1 => unnamed_net988, 2 => unnamed_net991, 1 => unnamed_net908, 2 => unnamed_net909, 1 => unnamed_net990, 2 => unnamed_net992, 1 => unnamed_net977, 2 => unnamed_net993, 1 => unnamed_net984, 2 => unnamed_net994, 1 => unnamed_net987, 2 => unnamed_net995, 1 => unnamed_net993, 2 => unnamed_net996, 1 => unnamed_net989, 2 => unnamed_net997, 1 => unnamed_net995, 2 => unnamed_net998, 1 => unnamed_net991, 2 => unnamed_net992, 1 => unnamed_net997, 2 => unnamed_net999, 1 => unnamed_net941, 2 => unnamed_net1000, 1 => unnamed_net962, 2 => unnamed_net1001, 1 => unnamed_net979, 2 => unnamed_net1002, 1 => unnamed_net1000, 2 => unnamed_net1003, 1 => unnamed_net981, 2 => unnamed_net1004, 1 => unnamed_net1002, 2 => unnamed_net1005, 1 => unnamed_net983, 2 => unnamed_net1006, 1 => unnamed_net1004, 2 => unnamed_net1007, 1 => unnamed_net963, 2 => unnamed_net1008, 1 => unnamed_net969, 2 => unnamed_net1009, 1 => unnamed_net1001, 2 => unnamed_net1010, 1 => unnamed_net1008, 2 => unnamed_net1009, 1 => unnamed_net1003, 2 => unnamed_net1011, 1 => unnamed_net1010, 2 => unnamed_net1012, 1 => unnamed_net1005, 2 => unnamed_net1013, 1 => unnamed_net1011, 2 => unnamed_net1012, 1 => unnamed_net985, 2 => unnamed_net1014, 1 => unnamed_net1006, 2 => unnamed_net1015, 1 => unnamed_net994, 2 => unnamed_net1016, 1 => unnamed_net1014, 2 => unnamed_net1017, 1 => unnamed_net996, 2 => unnamed_net1018, 1 => unnamed_net1016, 2 => unnamed_net1019, 1 => unnamed_net998, 2 => unnamed_net999, 1 => unnamed_net1018, 2 => unnamed_net1020, 1 => unnamed_net1007, 2 => unnamed_net1021, 1 => unnamed_net1013, 2 => unnamed_net1022, 1 => unnamed_net1015, 2 => unnamed_net1023, 1 => unnamed_net1021, 2 => unnamed_net1022, 1 => unnamed_net1017, 2 => unnamed_net1024, 1 => unnamed_net1023, 2 => unnamed_net1025, 1 => unnamed_net1019, 2 => unnamed_net1020, 1 => unnamed_net1024, 2 => unnamed_net1025); -- Signal assignment part END netlist; geda-gaf-1.8.2/gnetlist/tests/common/outputs/vhdl/JD_Sort.retcode0000664000175000017500000000000212050461155021705 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vhdl/cascade-output.net0000664000175000017500000000311712050461155022475 00000000000000-- Structural VHDL generated by gnetlist -- Context clause library IEEE; use IEEE.Std_Logic_1164.all; -- Entity declaration ENTITY not found IS END not found; -- Secondary unit ARCHITECTURE netlist OF not found IS COMPONENT cascade-defaults-top END COMPONENT ; COMPONENT cascade-source END COMPONENT ; COMPONENT cascade-amp END COMPONENT ; COMPONENT cascade-defaults END COMPONENT ; COMPONENT cascade-filter END COMPONENT ; COMPONENT cascade-mixer END COMPONENT ; COMPONENT cascade-transformer END COMPONENT ; SIGNAL unnamed_net6 : Std_Logic; SIGNAL unnamed_net5 : Std_Logic; SIGNAL unnamed_net4 : Std_Logic; SIGNAL unnamed_net3 : Std_Logic; SIGNAL unnamed_net2 : Std_Logic; SIGNAL unnamed_net1 : Std_Logic; SIGNAL GND : Std_Logic; BEGIN -- Architecture statement part AMP2 : cascade-amp PORT MAP ( 1 => unnamed_net6, 2 => OPEN); T1 : cascade-transformer PORT MAP ( 1 => unnamed_net5, 2 => unnamed_net6); MX1 : cascade-mixer PORT MAP ( 1 => unnamed_net4, 2 => unnamed_net5); FL1 : cascade-filter PORT MAP ( 1 => unnamed_net3, 2 => unnamed_net4); DEF1 : cascade-defaults PORT MAP ( 1 => unnamed_net2, 2 => unnamed_net3); AMP1 : cascade-amp PORT MAP ( 1 => unnamed_net1, 2 => unnamed_net2); SOURCE : cascade-source PORT MAP ( 1 => unnamed_net1); DEFAULTS : cascade-defaults-top PORT MAP ( 1 => GND); -- Signal assignment part END netlist; geda-gaf-1.8.2/gnetlist/tests/common/outputs/vhdl/multiequal-output.net0000664000175000017500000000125112050461155023271 00000000000000-- Structural VHDL generated by gnetlist -- Context clause library IEEE; use IEEE.Std_Logic_1164.all; -- Entity declaration ENTITY not found IS END not found; -- Secondary unit ARCHITECTURE netlist OF not found IS COMPONENT options END COMPONENT ; COMPONENT RESISTOR END COMPONENT ; COMPONENT VOLTAGE_SOURCE END COMPONENT ; SIGNAL GND : Std_Logic; SIGNAL unnamed_net1 : Std_Logic; BEGIN -- Architecture statement part V1 : VOLTAGE_SOURCE PORT MAP ( 1 => unnamed_net1, 2 => GND); R1 : RESISTOR PORT MAP ( 2 => unnamed_net1, 1 => GND); A1 : options ; -- Signal assignment part END netlist; geda-gaf-1.8.2/gnetlist/tests/common/outputs/vhdl/JD_nomunge-output.net0000664000175000017500000000312212050461155023133 00000000000000-- Structural VHDL generated by gnetlist -- Context clause library IEEE; use IEEE.Std_Logic_1164.all; -- Entity declaration ENTITY not found IS END not found; -- Secondary unit ARCHITECTURE netlist OF not found IS COMPONENT LVD END COMPONENT ; COMPONENT PMOS_TRANSISTOR END COMPONENT ; COMPONENT RESISTOR END COMPONENT ; COMPONENT vpulse END COMPONENT ; COMPONENT VOLTAGE_SOURCE END COMPONENT ; COMPONENT CAPACITOR END COMPONENT ; COMPONENT model END COMPONENT ; SIGNAL Vdd1 : Std_Logic; SIGNAL GND : Std_Logic; SIGNAL LVH : Std_Logic; SIGNAL i : Std_Logic; SIGNAL p : Std_Logic; SIGNAL m : Std_Logic; BEGIN -- Architecture statement part A1 : model ; Cm : CAPACITOR PORT MAP ( 1 => m, 2 => GND); Cp : CAPACITOR PORT MAP ( 1 => p, 2 => GND); Rlp : RESISTOR PORT MAP ( 2 => Vdd1, 1 => p); Rlm : RESISTOR PORT MAP ( 2 => GND, 1 => m); Vdd : VOLTAGE_SOURCE PORT MAP ( 1 => Vdd1, 2 => GND); V1 : vpulse PORT MAP ( 1 => i, 2 => GND); Rt : RESISTOR PORT MAP ( 2 => m, 1 => p); Rb : RESISTOR PORT MAP ( 2 => LVH, 1 => GND); M1 : PMOS_TRANSISTOR PORT MAP ( S => Vdd1, B => Vdd1, D => LVH, G => LVH); X1 : LVD PORT MAP ( 4 => m, 5 => p, 1 => i, 3 => LVH, 2 => GND, 6 => Vdd1, 7 => GND); -- Signal assignment part END netlist; geda-gaf-1.8.2/gnetlist/tests/common/outputs/vhdl/stack-torture.retcode0000664000175000017500000000000212063576065023223 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vhdl/powersupply.retcode0000664000175000017500000000000212050461155023012 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vhdl/JD_Sort_nomunge-output.net0000664000175000017500000000312212050461155024142 00000000000000-- Structural VHDL generated by gnetlist -- Context clause library IEEE; use IEEE.Std_Logic_1164.all; -- Entity declaration ENTITY not found IS END not found; -- Secondary unit ARCHITECTURE netlist OF not found IS COMPONENT LVD END COMPONENT ; COMPONENT PMOS_TRANSISTOR END COMPONENT ; COMPONENT RESISTOR END COMPONENT ; COMPONENT vpulse END COMPONENT ; COMPONENT VOLTAGE_SOURCE END COMPONENT ; COMPONENT CAPACITOR END COMPONENT ; COMPONENT model END COMPONENT ; SIGNAL Vdd1 : Std_Logic; SIGNAL GND : Std_Logic; SIGNAL LVH : Std_Logic; SIGNAL i : Std_Logic; SIGNAL p : Std_Logic; SIGNAL m : Std_Logic; BEGIN -- Architecture statement part A1 : model ; Cm : CAPACITOR PORT MAP ( 1 => m, 2 => GND); Cp : CAPACITOR PORT MAP ( 1 => p, 2 => GND); Rlp : RESISTOR PORT MAP ( 2 => Vdd1, 1 => p); Rlm : RESISTOR PORT MAP ( 2 => GND, 1 => m); Vdd : VOLTAGE_SOURCE PORT MAP ( 1 => Vdd1, 2 => GND); V1 : vpulse PORT MAP ( 1 => i, 2 => GND); Rt : RESISTOR PORT MAP ( 2 => m, 1 => p); Rb : RESISTOR PORT MAP ( 2 => LVH, 1 => GND); M1 : PMOS_TRANSISTOR PORT MAP ( S => Vdd1, B => Vdd1, D => LVH, G => LVH); X1 : LVD PORT MAP ( 4 => m, 5 => p, 1 => i, 3 => LVH, 2 => GND, 6 => Vdd1, 7 => GND); -- Signal assignment part END netlist; geda-gaf-1.8.2/gnetlist/tests/common/outputs/vhdl/TwoStageAmp_Sort.retcode0000664000175000017500000000000212050461155023603 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vhdl/netattrib.retcode0000664000175000017500000000000212050461155022375 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vhdl/JD_nomunge.retcode0000664000175000017500000000000212050461155022426 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vhdl/JD_Include-output.net0000664000175000017500000000312212050461155023046 00000000000000-- Structural VHDL generated by gnetlist -- Context clause library IEEE; use IEEE.Std_Logic_1164.all; -- Entity declaration ENTITY not found IS END not found; -- Secondary unit ARCHITECTURE netlist OF not found IS COMPONENT LVD END COMPONENT ; COMPONENT PMOS_TRANSISTOR END COMPONENT ; COMPONENT RESISTOR END COMPONENT ; COMPONENT vpulse END COMPONENT ; COMPONENT VOLTAGE_SOURCE END COMPONENT ; COMPONENT CAPACITOR END COMPONENT ; COMPONENT model END COMPONENT ; SIGNAL Vdd1 : Std_Logic; SIGNAL GND : Std_Logic; SIGNAL LVH : Std_Logic; SIGNAL i : Std_Logic; SIGNAL p : Std_Logic; SIGNAL m : Std_Logic; BEGIN -- Architecture statement part A1 : model ; Cm : CAPACITOR PORT MAP ( 1 => m, 2 => GND); Cp : CAPACITOR PORT MAP ( 1 => p, 2 => GND); Rlp : RESISTOR PORT MAP ( 2 => Vdd1, 1 => p); Rlm : RESISTOR PORT MAP ( 2 => GND, 1 => m); Vdd : VOLTAGE_SOURCE PORT MAP ( 1 => Vdd1, 2 => GND); V1 : vpulse PORT MAP ( 1 => i, 2 => GND); Rt : RESISTOR PORT MAP ( 2 => m, 1 => p); Rb : RESISTOR PORT MAP ( 2 => LVH, 1 => GND); M1 : PMOS_TRANSISTOR PORT MAP ( S => Vdd1, B => Vdd1, D => LVH, G => LVH); X1 : LVD PORT MAP ( 4 => m, 5 => p, 1 => i, 3 => LVH, 2 => GND, 6 => Vdd1, 7 => GND); -- Signal assignment part END netlist; geda-gaf-1.8.2/gnetlist/tests/common/outputs/vhdl/JD_Sort-output.net0000664000175000017500000000312212050461155022412 00000000000000-- Structural VHDL generated by gnetlist -- Context clause library IEEE; use IEEE.Std_Logic_1164.all; -- Entity declaration ENTITY not found IS END not found; -- Secondary unit ARCHITECTURE netlist OF not found IS COMPONENT LVD END COMPONENT ; COMPONENT PMOS_TRANSISTOR END COMPONENT ; COMPONENT RESISTOR END COMPONENT ; COMPONENT vpulse END COMPONENT ; COMPONENT VOLTAGE_SOURCE END COMPONENT ; COMPONENT CAPACITOR END COMPONENT ; COMPONENT model END COMPONENT ; SIGNAL Vdd1 : Std_Logic; SIGNAL GND : Std_Logic; SIGNAL LVH : Std_Logic; SIGNAL i : Std_Logic; SIGNAL p : Std_Logic; SIGNAL m : Std_Logic; BEGIN -- Architecture statement part A1 : model ; Cm : CAPACITOR PORT MAP ( 1 => m, 2 => GND); Cp : CAPACITOR PORT MAP ( 1 => p, 2 => GND); Rlp : RESISTOR PORT MAP ( 2 => Vdd1, 1 => p); Rlm : RESISTOR PORT MAP ( 2 => GND, 1 => m); Vdd : VOLTAGE_SOURCE PORT MAP ( 1 => Vdd1, 2 => GND); V1 : vpulse PORT MAP ( 1 => i, 2 => GND); Rt : RESISTOR PORT MAP ( 2 => m, 1 => p); Rb : RESISTOR PORT MAP ( 2 => LVH, 1 => GND); M1 : PMOS_TRANSISTOR PORT MAP ( S => Vdd1, B => Vdd1, D => LVH, G => LVH); X1 : LVD PORT MAP ( 4 => m, 5 => p, 1 => i, 3 => LVH, 2 => GND, 6 => Vdd1, 7 => GND); -- Signal assignment part END netlist; geda-gaf-1.8.2/gnetlist/tests/common/outputs/vhdl/cascade.retcode0000664000175000017500000000000212050461155021764 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vhdl/TwoStageAmp_Sort-output.net0000664000175000017500000000513612050461155024317 00000000000000-- Structural VHDL generated by gnetlist -- Context clause library IEEE; use IEEE.Std_Logic_1164.all; -- Entity declaration ENTITY not found IS END not found; -- Secondary unit ARCHITECTURE netlist OF not found IS COMPONENT NPN_TRANSISTOR END COMPONENT ; COMPONENT RESISTOR END COMPONENT ; COMPONENT CAPACITOR END COMPONENT ; COMPONENT vsin END COMPONENT ; COMPONENT VOLTAGE_SOURCE END COMPONENT ; COMPONENT model END COMPONENT ; COMPONENT include END COMPONENT ; COMPONENT directive END COMPONENT ; SIGNAL unnamed_net2 : Std_Logic; SIGNAL Vbase2 : Std_Logic; SIGNAL Vem2 : Std_Logic; SIGNAL Vout : Std_Logic; SIGNAL VColl2 : Std_Logic; SIGNAL GND : Std_Logic; SIGNAL Vcc : Std_Logic; SIGNAL Vin : Std_Logic; SIGNAL unnamed_net1 : Std_Logic; SIGNAL Vbase1 : Std_Logic; SIGNAL Vem1 : Std_Logic; SIGNAL Vcoll1 : Std_Logic; BEGIN -- Architecture statement part C2 : CAPACITOR PORT MAP ( 1 => unnamed_net2, 2 => Vbase2); R4 : RESISTOR PORT MAP ( 2 => Vbase2, 1 => GND); R3 : RESISTOR PORT MAP ( 2 => Vcc, 1 => Vbase2); R8 : RESISTOR PORT MAP ( 2 => unnamed_net2, 1 => Vcoll1); CE2 : CAPACITOR PORT MAP ( 1 => GND, 2 => Vem2); RE2 : RESISTOR PORT MAP ( 2 => Vem2, 1 => GND); RC1 : RESISTOR PORT MAP ( 2 => Vcc, 1 => Vcoll1); Q2 : NPN_TRANSISTOR PORT MAP ( 3 => VColl2, 1 => Vem2, 2 => Vbase2); C1 : CAPACITOR PORT MAP ( 1 => unnamed_net1, 2 => Vbase1); A3 : directive ; A2 : include ; A1 : model ; VCC : VOLTAGE_SOURCE PORT MAP ( 1 => Vcc, 2 => GND); Vinput : vsin PORT MAP ( 1 => Vin, 2 => GND); CE1 : CAPACITOR PORT MAP ( 1 => GND, 2 => Vem1); Cout : CAPACITOR PORT MAP ( 1 => VColl2, 2 => Vout); RL : RESISTOR PORT MAP ( 2 => Vout, 1 => GND); RC2 : RESISTOR PORT MAP ( 2 => Vcc, 1 => VColl2); RE1 : RESISTOR PORT MAP ( 2 => Vem1, 1 => GND); R2 : RESISTOR PORT MAP ( 2 => Vbase1, 1 => GND); R1 : RESISTOR PORT MAP ( 2 => Vcc, 1 => Vbase1); R5 : RESISTOR PORT MAP ( 2 => unnamed_net1, 1 => Vin); Q1 : NPN_TRANSISTOR PORT MAP ( 3 => Vcoll1, 1 => Vem1, 2 => Vbase1); -- Signal assignment part END netlist; geda-gaf-1.8.2/gnetlist/tests/common/outputs/vhdl/singlenet-output.net0000664000175000017500000000142512050461155023102 00000000000000-- Structural VHDL generated by gnetlist -- Context clause library IEEE; use IEEE.Std_Logic_1164.all; -- Entity declaration ENTITY not found IS END not found; -- Secondary unit ARCHITECTURE netlist OF not found IS COMPONENT 7400 END COMPONENT ; SIGNAL SING_N_2 : Std_Logic; SIGNAL GND : Std_Logic; SIGNAL Vcc : Std_Logic; SIGNAL SING_N : Std_Logic; BEGIN -- Architecture statement part U100 : 7400 PORT MAP ( 6 => SING_N, 5 => SING_N, 4 => SING_N, 14 => Vcc, 7 => GND, 3 => SING_N_2, 2 => OPEN, 1 => SING_N_2, 14 => Vcc, 7 => GND, 8 => SING_N, 10 => SING_N, 9 => SING_N, 14 => Vcc, 7 => GND); -- Signal assignment part END netlist; geda-gaf-1.8.2/gnetlist/tests/common/outputs/vhdl/TwoStageAmp_Include.retcode0000664000175000017500000000000212050461155024237 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vhdl/SlottedOpamps-output.net0000664000175000017500000000222112050461155023703 00000000000000-- Structural VHDL generated by gnetlist -- Context clause library IEEE; use IEEE.Std_Logic_1164.all; -- Entity declaration ENTITY not found IS END not found; -- Secondary unit ARCHITECTURE netlist OF not found IS COMPONENT LM324 END COMPONENT ; SIGNAL minusin_slot4_pin13_b : Std_Logic; SIGNAL plusin_slot4_pin12_a : Std_Logic; SIGNAL minusin_slot3_pin_b : Std_Logic; SIGNAL plusin_slot3_pin10_a : Std_Logic; SIGNAL minusin_slot2_pin6_b : Std_Logic; SIGNAL plusin_slot2_pin5_a : Std_Logic; SIGNAL samenet_output_c : Std_Logic; SIGNAL minusin_slot1_pin_b : Std_Logic; SIGNAL plusin_slot1_pin3_a : Std_Logic; BEGIN -- Architecture statement part U1 : LM324 PORT MAP ( 3 => plusin_slot1_pin3_a, 2 => minusin_slot1_pin_b, 1 => samenet_output_c, 5 => plusin_slot2_pin5_a, 6 => minusin_slot2_pin6_b, 7 => samenet_output_c, 10 => plusin_slot3_pin10_a, 9 => minusin_slot3_pin_b, 8 => samenet_output_c, 12 => plusin_slot4_pin12_a, 13 => minusin_slot4_pin13_b, 14 => samenet_output_c); -- Signal assignment part END netlist; geda-gaf-1.8.2/gnetlist/tests/common/outputs/vhdl/TwoStageAmp_Include-output.net0000664000175000017500000000513612050461155024753 00000000000000-- Structural VHDL generated by gnetlist -- Context clause library IEEE; use IEEE.Std_Logic_1164.all; -- Entity declaration ENTITY not found IS END not found; -- Secondary unit ARCHITECTURE netlist OF not found IS COMPONENT NPN_TRANSISTOR END COMPONENT ; COMPONENT RESISTOR END COMPONENT ; COMPONENT CAPACITOR END COMPONENT ; COMPONENT vsin END COMPONENT ; COMPONENT VOLTAGE_SOURCE END COMPONENT ; COMPONENT model END COMPONENT ; COMPONENT include END COMPONENT ; COMPONENT directive END COMPONENT ; SIGNAL unnamed_net2 : Std_Logic; SIGNAL Vbase2 : Std_Logic; SIGNAL Vem2 : Std_Logic; SIGNAL Vout : Std_Logic; SIGNAL VColl2 : Std_Logic; SIGNAL GND : Std_Logic; SIGNAL Vcc : Std_Logic; SIGNAL Vin : Std_Logic; SIGNAL unnamed_net1 : Std_Logic; SIGNAL Vbase1 : Std_Logic; SIGNAL Vem1 : Std_Logic; SIGNAL Vcoll1 : Std_Logic; BEGIN -- Architecture statement part C2 : CAPACITOR PORT MAP ( 1 => unnamed_net2, 2 => Vbase2); R4 : RESISTOR PORT MAP ( 2 => Vbase2, 1 => GND); R3 : RESISTOR PORT MAP ( 2 => Vcc, 1 => Vbase2); R8 : RESISTOR PORT MAP ( 2 => unnamed_net2, 1 => Vcoll1); CE2 : CAPACITOR PORT MAP ( 1 => GND, 2 => Vem2); RE2 : RESISTOR PORT MAP ( 2 => Vem2, 1 => GND); RC1 : RESISTOR PORT MAP ( 2 => Vcc, 1 => Vcoll1); Q2 : NPN_TRANSISTOR PORT MAP ( 3 => VColl2, 1 => Vem2, 2 => Vbase2); C1 : CAPACITOR PORT MAP ( 1 => unnamed_net1, 2 => Vbase1); A3 : directive ; A2 : include ; A1 : model ; VCC : VOLTAGE_SOURCE PORT MAP ( 1 => Vcc, 2 => GND); Vinput : vsin PORT MAP ( 1 => Vin, 2 => GND); CE1 : CAPACITOR PORT MAP ( 1 => GND, 2 => Vem1); Cout : CAPACITOR PORT MAP ( 1 => VColl2, 2 => Vout); RL : RESISTOR PORT MAP ( 2 => Vout, 1 => GND); RC2 : RESISTOR PORT MAP ( 2 => Vcc, 1 => VColl2); RE1 : RESISTOR PORT MAP ( 2 => Vem1, 1 => GND); R2 : RESISTOR PORT MAP ( 2 => Vbase1, 1 => GND); R1 : RESISTOR PORT MAP ( 2 => Vcc, 1 => Vbase1); R5 : RESISTOR PORT MAP ( 2 => unnamed_net1, 1 => Vin); Q1 : NPN_TRANSISTOR PORT MAP ( 3 => Vcoll1, 1 => Vem1, 2 => Vbase1); -- Signal assignment part END netlist; geda-gaf-1.8.2/gnetlist/tests/common/outputs/vhdl/singlenet.retcode0000664000175000017500000000000212050461155022371 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vhdl/JD_Include.retcode0000664000175000017500000000000212050461155022341 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vhdl/powersupply-output.net0000664000175000017500000000406612050461155023527 00000000000000-- Structural VHDL generated by gnetlist -- Context clause library IEEE; use IEEE.Std_Logic_1164.all; -- Entity declaration ENTITY not found IS END not found; -- Secondary unit ARCHITECTURE netlist OF not found IS COMPONENT DIODE-BRIDGE END COMPONENT ; COMPONENT FUSE END COMPONENT ; COMPONENT transformer END COMPONENT ; COMPONENT MAINS_CONNECTOR END COMPONENT ; COMPONENT SPST END COMPONENT ; COMPONENT POLARIZED_CAPACITOR END COMPONENT ; COMPONENT RESISTOR END COMPONENT ; COMPONENT VARIABLE_RESISTOR END COMPONENT ; COMPONENT LM317 END COMPONENT ; SIGNAL ten : Std_Logic; SIGNAL eleven : Std_Logic; SIGNAL GND : Std_Logic; SIGNAL one : Std_Logic; SIGNAL five : Std_Logic; SIGNAL three : Std_Logic; SIGNAL two : Std_Logic; SIGNAL six : Std_Logic; SIGNAL seven : Std_Logic; SIGNAL nine : Std_Logic; SIGNAL eight : Std_Logic; BEGIN -- Architecture statement part U2 : LM317 PORT MAP ( 2 => eleven, 3 => eight, 1 => ten); C4 : POLARIZED_CAPACITOR PORT MAP ( 1 => eleven, 2 => nine); C3 : POLARIZED_CAPACITOR PORT MAP ( 1 => ten, 2 => nine); R1 : VARIABLE_RESISTOR PORT MAP ( 3 => nine, 2 => ten, 1 => nine); C2 : POLARIZED_CAPACITOR PORT MAP ( 1 => eight, 2 => nine); R2 : RESISTOR PORT MAP ( 2 => eleven, 1 => ten); C1 : POLARIZED_CAPACITOR PORT MAP ( 1 => eight, 2 => nine); S1 : SPST PORT MAP ( 2 => two, 1 => one); CONN1 : MAINS_CONNECTOR PORT MAP ( 1 => one, 2 => five, 3 => GND); T1 : transformer PORT MAP ( 2 => five, 1 => three, 4 => seven, 3 => six); F1 : FUSE PORT MAP ( 1 => two, 2 => three); U1 : DIODE-BRIDGE PORT MAP ( 1 => eight, 2 => nine, 3 => seven, 4 => six); -- Signal assignment part END netlist; geda-gaf-1.8.2/gnetlist/tests/common/outputs/vhdl/netattrib-output.net0000664000175000017500000000176512050461155023115 00000000000000-- Structural VHDL generated by gnetlist -- Context clause library IEEE; use IEEE.Std_Logic_1164.all; -- Entity declaration ENTITY not found IS END not found; -- Secondary unit ARCHITECTURE netlist OF not found IS COMPONENT 7400 END COMPONENT ; COMPONENT 7404 END COMPONENT ; COMPONENT FUSE END COMPONENT ; SIGNAL unnamed_net1 : Std_Logic; SIGNAL netattrib : Std_Logic; SIGNAL GND : Std_Logic; SIGNAL Vcc : Std_Logic; SIGNAL one : Std_Logic; BEGIN -- Architecture statement part F1 : FUSE PORT MAP ( 1 => one, 2 => OPEN); U300 : 7404 PORT MAP ( 1 => one, 2 => unnamed_net1, 7 => GND, 14 => Vcc); U200 : 7404 PORT MAP ( 1 => one, 2 => netattrib, 7 => GND, 14 => Vcc); U100 : 7400 PORT MAP ( 3 => one, 2 => OPEN, 1 => OPEN, 14 => Vcc, 7 => GND, 5 => netattrib); -- Signal assignment part END netlist; geda-gaf-1.8.2/gnetlist/tests/common/outputs/vhdl/SlottedOpamps.retcode0000664000175000017500000000000212050461155023177 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vhdl/JD.retcode0000664000175000017500000000000212050461155020676 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vhdl/multiequal.retcode0000664000175000017500000000000212050461155022563 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vhdl/JD_Sort_nomunge.retcode0000664000175000017500000000000212050461155023435 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vhdl/TwoStageAmp-output.net0000664000175000017500000000513612050461155023310 00000000000000-- Structural VHDL generated by gnetlist -- Context clause library IEEE; use IEEE.Std_Logic_1164.all; -- Entity declaration ENTITY not found IS END not found; -- Secondary unit ARCHITECTURE netlist OF not found IS COMPONENT NPN_TRANSISTOR END COMPONENT ; COMPONENT RESISTOR END COMPONENT ; COMPONENT CAPACITOR END COMPONENT ; COMPONENT vsin END COMPONENT ; COMPONENT VOLTAGE_SOURCE END COMPONENT ; COMPONENT model END COMPONENT ; COMPONENT include END COMPONENT ; COMPONENT directive END COMPONENT ; SIGNAL unnamed_net2 : Std_Logic; SIGNAL Vbase2 : Std_Logic; SIGNAL Vem2 : Std_Logic; SIGNAL Vout : Std_Logic; SIGNAL VColl2 : Std_Logic; SIGNAL GND : Std_Logic; SIGNAL Vcc : Std_Logic; SIGNAL Vin : Std_Logic; SIGNAL unnamed_net1 : Std_Logic; SIGNAL Vbase1 : Std_Logic; SIGNAL Vem1 : Std_Logic; SIGNAL Vcoll1 : Std_Logic; BEGIN -- Architecture statement part C2 : CAPACITOR PORT MAP ( 1 => unnamed_net2, 2 => Vbase2); R4 : RESISTOR PORT MAP ( 2 => Vbase2, 1 => GND); R3 : RESISTOR PORT MAP ( 2 => Vcc, 1 => Vbase2); R8 : RESISTOR PORT MAP ( 2 => unnamed_net2, 1 => Vcoll1); CE2 : CAPACITOR PORT MAP ( 1 => GND, 2 => Vem2); RE2 : RESISTOR PORT MAP ( 2 => Vem2, 1 => GND); RC1 : RESISTOR PORT MAP ( 2 => Vcc, 1 => Vcoll1); Q2 : NPN_TRANSISTOR PORT MAP ( 3 => VColl2, 1 => Vem2, 2 => Vbase2); C1 : CAPACITOR PORT MAP ( 1 => unnamed_net1, 2 => Vbase1); A3 : directive ; A2 : include ; A1 : model ; VCC : VOLTAGE_SOURCE PORT MAP ( 1 => Vcc, 2 => GND); Vinput : vsin PORT MAP ( 1 => Vin, 2 => GND); CE1 : CAPACITOR PORT MAP ( 1 => GND, 2 => Vem1); Cout : CAPACITOR PORT MAP ( 1 => VColl2, 2 => Vout); RL : RESISTOR PORT MAP ( 2 => Vout, 1 => GND); RC2 : RESISTOR PORT MAP ( 2 => Vcc, 1 => VColl2); RE1 : RESISTOR PORT MAP ( 2 => Vem1, 1 => GND); R2 : RESISTOR PORT MAP ( 2 => Vbase1, 1 => GND); R1 : RESISTOR PORT MAP ( 2 => Vcc, 1 => Vbase1); R5 : RESISTOR PORT MAP ( 2 => unnamed_net1, 1 => Vin); Q1 : NPN_TRANSISTOR PORT MAP ( 3 => Vcoll1, 1 => Vem1, 2 => Vbase1); -- Signal assignment part END netlist; geda-gaf-1.8.2/gnetlist/tests/common/outputs/vhdl/JD_Include_nomunge.retcode0000664000175000017500000000000212050461155024071 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vams/0000775000175000017500000000000012220655760017141 500000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/vams/JD_Include_nomunge-output.net0000664000175000017500000000321012050461155024605 00000000000000-- Structural VAMS generated by gnetlist -- Secondary unit ARCHITECTURE default_architecture OF default_entity IS unknown Vdd1 : unknown; unknown GND : unknown; unknown LVH : unknown; unknown i : unknown; unknown p : unknown; unknown m : unknown; BEGIN -- Architecture statement part A1 : ENTITY model GENERIC MAP ( file => ./models/openIP_5.cir, model-name => unknown_LVD, device => model) ; Cm : ENTITY CAPACITOR GENERIC MAP ( device => CAPACITOR, value => 20p, symversion => 0.1) PORT MAP ( 1 => m, 2 => GND); Cp : ENTITY CAPACITOR GENERIC MAP ( value => 20p, symversion => 0.1) PORT MAP ( 1 => p, 2 => GND); Rlp : ENTITY RESISTOR GENERIC MAP ( value => 1meg) PORT MAP ( 2 => Vdd1, 1 => p); Rlm : ENTITY RESISTOR GENERIC MAP ( value => 500k) PORT MAP ( 2 => GND, 1 => m); Vdd : ENTITY VOLTAGE_SOURCE GENERIC MAP ( value => DC 3.3V) PORT MAP ( 1 => Vdd1, 2 => GND); V1 : ENTITY vpulse GENERIC MAP ( value => pulse 3.3 0 1u 10p 10p 1.25u 2.5u) PORT MAP ( 1 => i, 2 => GND); Rt : ENTITY RESISTOR GENERIC MAP ( value => 1k) PORT MAP ( 2 => m, 1 => p); Rb : ENTITY RESISTOR GENERIC MAP ( device => RESISTOR, value => 5.6k) PORT MAP ( 2 => LVH, 1 => GND); M1 : ENTITY PMOS_TRANSISTOR GENERIC MAP ( m => 36, l => 3u, w => 3u, model-name => pch) PORT MAP ( S => Vdd1, B => Vdd1, D => LVH, G => LVH); X1 : ENTITY LVD GENERIC MAP ( model-name => unknown_LVD) PORT MAP ( 4 => m, 5 => p, 1 => i, 3 => LVH, 2 => GND, 6 => Vdd1, 7 => GND); END ARCHITECTURE default_architecture; geda-gaf-1.8.2/gnetlist/tests/common/outputs/vams/JD-output.net0000664000175000017500000000321012050461155021412 00000000000000-- Structural VAMS generated by gnetlist -- Secondary unit ARCHITECTURE default_architecture OF default_entity IS unknown Vdd1 : unknown; unknown GND : unknown; unknown LVH : unknown; unknown i : unknown; unknown p : unknown; unknown m : unknown; BEGIN -- Architecture statement part A1 : ENTITY model GENERIC MAP ( file => ./models/openIP_5.cir, model-name => unknown_LVD, device => model) ; Cm : ENTITY CAPACITOR GENERIC MAP ( device => CAPACITOR, value => 20p, symversion => 0.1) PORT MAP ( 1 => m, 2 => GND); Cp : ENTITY CAPACITOR GENERIC MAP ( value => 20p, symversion => 0.1) PORT MAP ( 1 => p, 2 => GND); Rlp : ENTITY RESISTOR GENERIC MAP ( value => 1meg) PORT MAP ( 2 => Vdd1, 1 => p); Rlm : ENTITY RESISTOR GENERIC MAP ( value => 500k) PORT MAP ( 2 => GND, 1 => m); Vdd : ENTITY VOLTAGE_SOURCE GENERIC MAP ( value => DC 3.3V) PORT MAP ( 1 => Vdd1, 2 => GND); V1 : ENTITY vpulse GENERIC MAP ( value => pulse 3.3 0 1u 10p 10p 1.25u 2.5u) PORT MAP ( 1 => i, 2 => GND); Rt : ENTITY RESISTOR GENERIC MAP ( value => 1k) PORT MAP ( 2 => m, 1 => p); Rb : ENTITY RESISTOR GENERIC MAP ( device => RESISTOR, value => 5.6k) PORT MAP ( 2 => LVH, 1 => GND); M1 : ENTITY PMOS_TRANSISTOR GENERIC MAP ( m => 36, l => 3u, w => 3u, model-name => pch) PORT MAP ( S => Vdd1, B => Vdd1, D => LVH, G => LVH); X1 : ENTITY LVD GENERIC MAP ( model-name => unknown_LVD) PORT MAP ( 4 => m, 5 => p, 1 => i, 3 => LVH, 2 => GND, 6 => Vdd1, 7 => GND); END ARCHITECTURE default_architecture; geda-gaf-1.8.2/gnetlist/tests/common/outputs/vams/TwoStageAmp.retcode0000664000175000017500000000000212050461155022605 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vams/stack-torture-output.net0000664000175000017500000025212012063576065023745 00000000000000-- Structural VAMS generated by gnetlist -- Secondary unit ARCHITECTURE default_architecture OF default_entity IS unknown unnamed_net1025 : unknown; unknown unnamed_net1024 : unknown; unknown unnamed_net1023 : unknown; unknown unnamed_net1022 : unknown; unknown unnamed_net1021 : unknown; unknown unnamed_net1020 : unknown; unknown unnamed_net1019 : unknown; unknown unnamed_net1018 : unknown; unknown unnamed_net1017 : unknown; unknown unnamed_net1016 : unknown; unknown unnamed_net1015 : unknown; unknown unnamed_net1014 : unknown; unknown unnamed_net1013 : unknown; unknown unnamed_net1012 : unknown; unknown unnamed_net1011 : unknown; unknown unnamed_net1010 : unknown; unknown unnamed_net1009 : unknown; unknown unnamed_net1008 : unknown; unknown unnamed_net1007 : unknown; unknown unnamed_net1006 : unknown; unknown unnamed_net1005 : unknown; unknown unnamed_net1004 : unknown; unknown unnamed_net1003 : unknown; unknown unnamed_net1002 : unknown; unknown unnamed_net1001 : unknown; unknown unnamed_net1000 : unknown; unknown unnamed_net999 : unknown; unknown unnamed_net998 : unknown; unknown unnamed_net997 : unknown; unknown unnamed_net996 : unknown; unknown unnamed_net995 : unknown; unknown unnamed_net994 : unknown; unknown unnamed_net993 : unknown; unknown unnamed_net992 : unknown; unknown unnamed_net991 : unknown; unknown unnamed_net990 : unknown; unknown unnamed_net989 : unknown; unknown unnamed_net988 : unknown; unknown unnamed_net987 : unknown; unknown unnamed_net986 : unknown; unknown unnamed_net985 : unknown; unknown unnamed_net984 : unknown; unknown unnamed_net983 : unknown; unknown unnamed_net982 : unknown; unknown unnamed_net981 : unknown; unknown unnamed_net980 : unknown; unknown unnamed_net979 : unknown; unknown unnamed_net978 : unknown; unknown unnamed_net977 : unknown; unknown unnamed_net976 : unknown; unknown unnamed_net975 : unknown; unknown unnamed_net974 : unknown; unknown unnamed_net973 : unknown; unknown unnamed_net972 : unknown; unknown unnamed_net971 : unknown; unknown unnamed_net970 : unknown; unknown unnamed_net969 : unknown; unknown unnamed_net968 : unknown; unknown unnamed_net967 : unknown; unknown unnamed_net966 : unknown; unknown unnamed_net965 : unknown; unknown unnamed_net964 : unknown; unknown unnamed_net963 : unknown; unknown unnamed_net962 : unknown; unknown unnamed_net961 : unknown; unknown unnamed_net960 : unknown; unknown unnamed_net959 : unknown; unknown unnamed_net958 : unknown; unknown unnamed_net957 : unknown; unknown unnamed_net956 : unknown; unknown unnamed_net955 : unknown; unknown unnamed_net954 : unknown; unknown unnamed_net953 : unknown; unknown unnamed_net952 : unknown; unknown unnamed_net951 : unknown; unknown unnamed_net950 : unknown; unknown unnamed_net949 : unknown; unknown unnamed_net948 : unknown; unknown unnamed_net947 : unknown; unknown unnamed_net946 : unknown; unknown unnamed_net945 : unknown; unknown unnamed_net944 : unknown; unknown unnamed_net943 : unknown; unknown unnamed_net942 : unknown; unknown unnamed_net941 : unknown; unknown unnamed_net940 : unknown; unknown unnamed_net939 : unknown; unknown unnamed_net938 : unknown; unknown unnamed_net937 : unknown; unknown unnamed_net936 : unknown; unknown unnamed_net935 : unknown; unknown unnamed_net934 : unknown; unknown unnamed_net933 : unknown; unknown unnamed_net932 : unknown; unknown unnamed_net931 : unknown; unknown unnamed_net930 : unknown; unknown unnamed_net929 : unknown; unknown unnamed_net928 : unknown; unknown unnamed_net927 : unknown; unknown unnamed_net926 : unknown; unknown unnamed_net925 : unknown; unknown unnamed_net924 : unknown; unknown unnamed_net923 : unknown; unknown unnamed_net922 : unknown; unknown unnamed_net921 : unknown; unknown unnamed_net920 : unknown; unknown unnamed_net919 : unknown; unknown unnamed_net918 : unknown; unknown unnamed_net917 : unknown; unknown unnamed_net916 : unknown; unknown unnamed_net915 : unknown; unknown unnamed_net914 : unknown; unknown unnamed_net913 : unknown; unknown unnamed_net912 : unknown; unknown unnamed_net911 : unknown; unknown unnamed_net910 : unknown; unknown unnamed_net909 : unknown; unknown unnamed_net908 : unknown; unknown unnamed_net907 : unknown; unknown unnamed_net906 : unknown; unknown unnamed_net905 : unknown; unknown unnamed_net904 : unknown; unknown unnamed_net903 : unknown; unknown unnamed_net902 : unknown; unknown unnamed_net901 : unknown; unknown unnamed_net900 : unknown; unknown unnamed_net899 : unknown; unknown unnamed_net898 : unknown; unknown unnamed_net897 : unknown; unknown unnamed_net896 : unknown; unknown unnamed_net895 : unknown; unknown unnamed_net894 : unknown; unknown unnamed_net893 : unknown; unknown unnamed_net892 : unknown; unknown unnamed_net891 : unknown; unknown unnamed_net890 : unknown; unknown unnamed_net889 : unknown; unknown unnamed_net888 : unknown; unknown unnamed_net887 : unknown; unknown unnamed_net886 : unknown; unknown unnamed_net885 : unknown; unknown unnamed_net884 : unknown; unknown unnamed_net883 : unknown; unknown unnamed_net882 : unknown; unknown unnamed_net881 : unknown; unknown unnamed_net880 : unknown; unknown unnamed_net879 : unknown; unknown unnamed_net878 : unknown; unknown unnamed_net877 : unknown; unknown unnamed_net876 : unknown; unknown unnamed_net875 : unknown; unknown unnamed_net874 : unknown; unknown unnamed_net873 : unknown; unknown unnamed_net872 : unknown; unknown unnamed_net871 : unknown; unknown unnamed_net870 : unknown; unknown unnamed_net869 : unknown; unknown unnamed_net868 : unknown; unknown unnamed_net867 : unknown; unknown unnamed_net866 : unknown; unknown unnamed_net865 : unknown; unknown unnamed_net864 : unknown; unknown unnamed_net863 : unknown; unknown unnamed_net862 : unknown; unknown unnamed_net861 : unknown; unknown unnamed_net860 : unknown; unknown unnamed_net859 : unknown; unknown unnamed_net858 : unknown; unknown unnamed_net857 : unknown; unknown unnamed_net856 : unknown; unknown unnamed_net855 : unknown; unknown unnamed_net854 : unknown; unknown unnamed_net853 : unknown; unknown unnamed_net852 : unknown; unknown unnamed_net851 : unknown; unknown unnamed_net850 : unknown; unknown unnamed_net849 : unknown; unknown unnamed_net848 : unknown; unknown unnamed_net847 : unknown; unknown unnamed_net846 : unknown; unknown unnamed_net845 : unknown; unknown unnamed_net844 : unknown; unknown unnamed_net843 : unknown; unknown unnamed_net842 : unknown; unknown unnamed_net841 : unknown; unknown unnamed_net840 : unknown; unknown unnamed_net839 : unknown; unknown unnamed_net838 : unknown; unknown unnamed_net837 : unknown; unknown unnamed_net836 : unknown; unknown unnamed_net835 : unknown; unknown unnamed_net834 : unknown; unknown unnamed_net833 : unknown; unknown unnamed_net832 : unknown; unknown unnamed_net831 : unknown; unknown unnamed_net830 : unknown; unknown unnamed_net829 : unknown; unknown unnamed_net828 : unknown; unknown unnamed_net827 : unknown; unknown unnamed_net826 : unknown; unknown unnamed_net825 : unknown; unknown unnamed_net824 : unknown; unknown unnamed_net823 : unknown; unknown unnamed_net822 : unknown; unknown unnamed_net821 : unknown; unknown unnamed_net820 : unknown; unknown unnamed_net819 : unknown; unknown unnamed_net818 : unknown; unknown unnamed_net817 : unknown; unknown unnamed_net816 : unknown; unknown unnamed_net815 : unknown; unknown unnamed_net814 : unknown; unknown unnamed_net813 : unknown; unknown unnamed_net812 : unknown; unknown unnamed_net811 : unknown; unknown unnamed_net810 : unknown; unknown unnamed_net809 : unknown; unknown unnamed_net808 : unknown; unknown unnamed_net807 : unknown; unknown unnamed_net806 : unknown; unknown unnamed_net805 : unknown; unknown unnamed_net804 : unknown; unknown unnamed_net803 : unknown; unknown unnamed_net802 : unknown; unknown unnamed_net801 : unknown; unknown unnamed_net800 : unknown; unknown unnamed_net799 : unknown; unknown unnamed_net798 : unknown; unknown unnamed_net797 : unknown; unknown unnamed_net796 : unknown; unknown unnamed_net795 : unknown; unknown unnamed_net794 : unknown; unknown unnamed_net793 : unknown; unknown unnamed_net792 : unknown; unknown unnamed_net791 : unknown; unknown unnamed_net790 : unknown; unknown unnamed_net789 : unknown; unknown unnamed_net788 : unknown; unknown unnamed_net787 : unknown; unknown unnamed_net786 : unknown; unknown unnamed_net785 : unknown; unknown unnamed_net784 : unknown; unknown unnamed_net783 : unknown; unknown unnamed_net782 : unknown; unknown unnamed_net781 : unknown; unknown unnamed_net780 : unknown; unknown unnamed_net779 : unknown; unknown unnamed_net778 : unknown; unknown unnamed_net777 : unknown; unknown unnamed_net776 : unknown; unknown unnamed_net775 : unknown; unknown unnamed_net774 : unknown; unknown unnamed_net773 : unknown; unknown unnamed_net772 : unknown; unknown unnamed_net771 : unknown; unknown unnamed_net770 : unknown; unknown unnamed_net769 : unknown; unknown unnamed_net768 : unknown; unknown unnamed_net767 : unknown; unknown unnamed_net766 : unknown; unknown unnamed_net765 : unknown; unknown unnamed_net764 : unknown; unknown unnamed_net763 : unknown; unknown unnamed_net762 : unknown; unknown unnamed_net761 : unknown; unknown unnamed_net760 : unknown; unknown unnamed_net759 : unknown; unknown unnamed_net758 : unknown; unknown unnamed_net757 : unknown; unknown unnamed_net756 : unknown; unknown unnamed_net755 : unknown; unknown unnamed_net754 : unknown; unknown unnamed_net753 : unknown; unknown unnamed_net752 : unknown; unknown unnamed_net751 : unknown; unknown unnamed_net750 : unknown; unknown unnamed_net749 : unknown; unknown unnamed_net748 : unknown; unknown unnamed_net747 : unknown; unknown unnamed_net746 : unknown; unknown unnamed_net745 : unknown; unknown unnamed_net744 : unknown; unknown unnamed_net743 : unknown; unknown unnamed_net742 : unknown; unknown unnamed_net741 : unknown; unknown unnamed_net740 : unknown; unknown unnamed_net739 : unknown; unknown unnamed_net738 : unknown; unknown unnamed_net737 : unknown; unknown unnamed_net736 : unknown; unknown unnamed_net735 : unknown; unknown unnamed_net734 : unknown; unknown unnamed_net733 : unknown; unknown unnamed_net732 : unknown; unknown unnamed_net731 : unknown; unknown unnamed_net730 : unknown; unknown unnamed_net729 : unknown; unknown unnamed_net728 : unknown; unknown unnamed_net727 : unknown; unknown unnamed_net726 : unknown; unknown unnamed_net725 : unknown; unknown unnamed_net724 : unknown; unknown unnamed_net723 : unknown; unknown unnamed_net722 : unknown; unknown unnamed_net721 : unknown; unknown unnamed_net720 : unknown; unknown unnamed_net719 : unknown; unknown unnamed_net718 : unknown; unknown unnamed_net717 : unknown; unknown unnamed_net716 : unknown; unknown unnamed_net715 : unknown; unknown unnamed_net714 : unknown; unknown unnamed_net713 : unknown; unknown unnamed_net712 : unknown; unknown unnamed_net711 : unknown; unknown unnamed_net710 : unknown; unknown unnamed_net709 : unknown; unknown unnamed_net708 : unknown; unknown unnamed_net707 : unknown; unknown unnamed_net706 : unknown; unknown unnamed_net705 : unknown; unknown unnamed_net704 : unknown; unknown unnamed_net703 : unknown; unknown unnamed_net702 : unknown; unknown unnamed_net701 : unknown; unknown unnamed_net700 : unknown; unknown unnamed_net699 : unknown; unknown unnamed_net698 : unknown; unknown unnamed_net697 : unknown; unknown unnamed_net696 : unknown; unknown unnamed_net695 : unknown; unknown unnamed_net694 : unknown; unknown unnamed_net693 : unknown; unknown unnamed_net692 : unknown; unknown unnamed_net691 : unknown; unknown unnamed_net690 : unknown; unknown unnamed_net689 : unknown; unknown unnamed_net688 : unknown; unknown unnamed_net687 : unknown; unknown unnamed_net686 : unknown; unknown unnamed_net685 : unknown; unknown unnamed_net684 : unknown; unknown unnamed_net683 : unknown; unknown unnamed_net682 : unknown; unknown unnamed_net681 : unknown; unknown unnamed_net680 : unknown; unknown unnamed_net679 : unknown; unknown unnamed_net678 : unknown; unknown unnamed_net677 : unknown; unknown unnamed_net676 : unknown; unknown unnamed_net675 : unknown; unknown unnamed_net674 : unknown; unknown unnamed_net673 : unknown; unknown unnamed_net672 : unknown; unknown unnamed_net671 : unknown; unknown unnamed_net670 : unknown; unknown unnamed_net669 : unknown; unknown unnamed_net668 : unknown; unknown unnamed_net667 : unknown; unknown unnamed_net666 : unknown; unknown unnamed_net665 : unknown; unknown unnamed_net664 : unknown; unknown unnamed_net663 : unknown; unknown unnamed_net662 : unknown; unknown unnamed_net661 : unknown; unknown unnamed_net660 : unknown; unknown unnamed_net659 : unknown; unknown unnamed_net658 : unknown; unknown unnamed_net657 : unknown; unknown unnamed_net656 : unknown; unknown unnamed_net655 : unknown; unknown unnamed_net654 : unknown; unknown unnamed_net653 : unknown; unknown unnamed_net652 : unknown; unknown unnamed_net651 : unknown; unknown unnamed_net650 : unknown; unknown unnamed_net649 : unknown; unknown unnamed_net648 : unknown; unknown unnamed_net647 : unknown; unknown unnamed_net646 : unknown; unknown unnamed_net645 : unknown; unknown unnamed_net644 : unknown; unknown unnamed_net643 : unknown; unknown unnamed_net642 : unknown; unknown unnamed_net641 : unknown; unknown unnamed_net640 : unknown; unknown unnamed_net639 : unknown; unknown unnamed_net638 : unknown; unknown unnamed_net637 : unknown; unknown unnamed_net636 : unknown; unknown unnamed_net635 : unknown; unknown unnamed_net634 : unknown; unknown unnamed_net633 : unknown; unknown unnamed_net632 : unknown; unknown unnamed_net631 : unknown; unknown unnamed_net630 : unknown; unknown unnamed_net629 : unknown; unknown unnamed_net628 : unknown; unknown unnamed_net627 : unknown; unknown unnamed_net626 : unknown; unknown unnamed_net625 : unknown; unknown unnamed_net624 : unknown; unknown unnamed_net623 : unknown; unknown unnamed_net622 : unknown; unknown unnamed_net621 : unknown; unknown unnamed_net620 : unknown; unknown unnamed_net619 : unknown; unknown unnamed_net618 : unknown; unknown unnamed_net617 : unknown; unknown unnamed_net616 : unknown; unknown unnamed_net615 : unknown; unknown unnamed_net614 : unknown; unknown unnamed_net613 : unknown; unknown unnamed_net612 : unknown; unknown unnamed_net611 : unknown; unknown unnamed_net610 : unknown; unknown unnamed_net609 : unknown; unknown unnamed_net608 : unknown; unknown unnamed_net607 : unknown; unknown unnamed_net606 : unknown; unknown unnamed_net605 : unknown; unknown unnamed_net604 : unknown; unknown unnamed_net603 : unknown; unknown unnamed_net602 : unknown; unknown unnamed_net601 : unknown; unknown unnamed_net600 : unknown; unknown unnamed_net599 : unknown; unknown unnamed_net598 : unknown; unknown unnamed_net597 : unknown; unknown unnamed_net596 : unknown; unknown unnamed_net595 : unknown; unknown unnamed_net594 : unknown; unknown unnamed_net593 : unknown; unknown unnamed_net592 : unknown; unknown unnamed_net591 : unknown; unknown unnamed_net590 : unknown; unknown unnamed_net589 : unknown; unknown unnamed_net588 : unknown; unknown unnamed_net587 : unknown; unknown unnamed_net586 : unknown; unknown unnamed_net585 : unknown; unknown unnamed_net584 : unknown; unknown unnamed_net583 : unknown; unknown unnamed_net582 : unknown; unknown unnamed_net581 : unknown; unknown unnamed_net580 : unknown; unknown unnamed_net579 : unknown; unknown unnamed_net578 : unknown; unknown unnamed_net577 : unknown; unknown unnamed_net576 : unknown; unknown unnamed_net575 : unknown; unknown unnamed_net574 : unknown; unknown unnamed_net573 : unknown; unknown unnamed_net572 : unknown; unknown unnamed_net571 : unknown; unknown unnamed_net570 : unknown; unknown unnamed_net569 : unknown; unknown unnamed_net568 : unknown; unknown unnamed_net567 : unknown; unknown unnamed_net566 : unknown; unknown unnamed_net565 : unknown; unknown unnamed_net564 : unknown; unknown unnamed_net563 : unknown; unknown unnamed_net562 : unknown; unknown unnamed_net561 : unknown; unknown unnamed_net560 : unknown; unknown unnamed_net559 : unknown; unknown unnamed_net558 : unknown; unknown unnamed_net557 : unknown; unknown unnamed_net556 : unknown; unknown unnamed_net555 : unknown; unknown unnamed_net554 : unknown; unknown unnamed_net553 : unknown; unknown unnamed_net552 : unknown; unknown unnamed_net551 : unknown; unknown unnamed_net550 : unknown; unknown unnamed_net549 : unknown; unknown unnamed_net548 : unknown; unknown unnamed_net547 : unknown; unknown unnamed_net546 : unknown; unknown unnamed_net545 : unknown; unknown unnamed_net544 : unknown; unknown unnamed_net543 : unknown; unknown unnamed_net542 : unknown; unknown unnamed_net541 : unknown; unknown unnamed_net540 : unknown; unknown unnamed_net539 : unknown; unknown unnamed_net538 : unknown; unknown unnamed_net537 : unknown; unknown unnamed_net536 : unknown; unknown unnamed_net535 : unknown; unknown unnamed_net534 : unknown; unknown unnamed_net533 : unknown; unknown unnamed_net532 : unknown; unknown unnamed_net531 : unknown; unknown unnamed_net530 : unknown; unknown unnamed_net529 : unknown; unknown unnamed_net528 : unknown; unknown unnamed_net527 : unknown; unknown unnamed_net526 : unknown; unknown unnamed_net525 : unknown; unknown unnamed_net524 : unknown; unknown unnamed_net523 : unknown; unknown unnamed_net522 : unknown; unknown unnamed_net521 : unknown; unknown unnamed_net520 : unknown; unknown unnamed_net519 : unknown; unknown unnamed_net518 : unknown; unknown unnamed_net517 : unknown; unknown unnamed_net516 : unknown; unknown unnamed_net515 : unknown; unknown unnamed_net514 : unknown; unknown unnamed_net513 : unknown; unknown unnamed_net512 : unknown; unknown unnamed_net511 : unknown; unknown unnamed_net510 : unknown; unknown unnamed_net509 : unknown; unknown unnamed_net508 : unknown; unknown unnamed_net507 : unknown; unknown unnamed_net506 : unknown; unknown unnamed_net505 : unknown; unknown unnamed_net504 : unknown; unknown unnamed_net503 : unknown; unknown unnamed_net502 : unknown; unknown unnamed_net501 : unknown; unknown unnamed_net500 : unknown; unknown unnamed_net499 : unknown; unknown unnamed_net498 : unknown; unknown unnamed_net497 : unknown; unknown unnamed_net496 : unknown; unknown unnamed_net495 : unknown; unknown unnamed_net494 : unknown; unknown unnamed_net493 : unknown; unknown unnamed_net492 : unknown; unknown unnamed_net491 : unknown; unknown unnamed_net490 : unknown; unknown unnamed_net489 : unknown; unknown unnamed_net488 : unknown; unknown unnamed_net487 : unknown; unknown unnamed_net486 : unknown; unknown unnamed_net485 : unknown; unknown unnamed_net484 : unknown; unknown unnamed_net483 : unknown; unknown unnamed_net482 : unknown; unknown unnamed_net481 : unknown; unknown unnamed_net480 : unknown; unknown unnamed_net479 : unknown; unknown unnamed_net478 : unknown; unknown unnamed_net477 : unknown; unknown unnamed_net476 : unknown; unknown unnamed_net475 : unknown; unknown unnamed_net474 : unknown; unknown unnamed_net473 : unknown; unknown unnamed_net472 : unknown; unknown unnamed_net471 : unknown; unknown unnamed_net470 : unknown; unknown unnamed_net469 : unknown; unknown unnamed_net468 : unknown; unknown unnamed_net467 : unknown; unknown unnamed_net466 : unknown; unknown unnamed_net465 : unknown; unknown unnamed_net464 : unknown; unknown unnamed_net463 : unknown; unknown unnamed_net462 : unknown; unknown unnamed_net461 : unknown; unknown unnamed_net460 : unknown; unknown unnamed_net459 : unknown; unknown unnamed_net458 : unknown; unknown unnamed_net457 : unknown; unknown unnamed_net456 : unknown; unknown unnamed_net455 : unknown; unknown unnamed_net454 : unknown; unknown unnamed_net453 : unknown; unknown unnamed_net452 : unknown; unknown unnamed_net451 : unknown; unknown unnamed_net450 : unknown; unknown unnamed_net449 : unknown; unknown unnamed_net448 : unknown; unknown unnamed_net447 : unknown; unknown unnamed_net446 : unknown; unknown unnamed_net445 : unknown; unknown unnamed_net444 : unknown; unknown unnamed_net443 : unknown; unknown unnamed_net442 : unknown; unknown unnamed_net441 : unknown; unknown unnamed_net440 : unknown; unknown unnamed_net439 : unknown; unknown unnamed_net438 : unknown; unknown unnamed_net437 : unknown; unknown unnamed_net436 : unknown; unknown unnamed_net435 : unknown; unknown unnamed_net434 : unknown; unknown unnamed_net433 : unknown; unknown unnamed_net432 : unknown; unknown unnamed_net431 : unknown; unknown unnamed_net430 : unknown; unknown unnamed_net429 : unknown; unknown unnamed_net428 : unknown; unknown unnamed_net427 : unknown; unknown unnamed_net426 : unknown; unknown unnamed_net425 : unknown; unknown unnamed_net424 : unknown; unknown unnamed_net423 : unknown; unknown unnamed_net422 : unknown; unknown unnamed_net421 : unknown; unknown unnamed_net420 : unknown; unknown unnamed_net419 : unknown; unknown unnamed_net418 : unknown; unknown unnamed_net417 : unknown; unknown unnamed_net416 : unknown; unknown unnamed_net415 : unknown; unknown unnamed_net414 : unknown; unknown unnamed_net413 : unknown; unknown unnamed_net412 : unknown; unknown unnamed_net411 : unknown; unknown unnamed_net410 : unknown; unknown unnamed_net409 : unknown; unknown unnamed_net408 : unknown; unknown unnamed_net407 : unknown; unknown unnamed_net406 : unknown; unknown unnamed_net405 : unknown; unknown unnamed_net404 : unknown; unknown unnamed_net403 : unknown; unknown unnamed_net402 : unknown; unknown unnamed_net401 : unknown; unknown unnamed_net400 : unknown; unknown unnamed_net399 : unknown; unknown unnamed_net398 : unknown; unknown unnamed_net397 : unknown; unknown unnamed_net396 : unknown; unknown unnamed_net395 : unknown; unknown unnamed_net394 : unknown; unknown unnamed_net393 : unknown; unknown unnamed_net392 : unknown; unknown unnamed_net391 : unknown; unknown unnamed_net390 : unknown; unknown unnamed_net389 : unknown; unknown unnamed_net388 : unknown; unknown unnamed_net387 : unknown; unknown unnamed_net386 : unknown; unknown unnamed_net385 : unknown; unknown unnamed_net384 : unknown; unknown unnamed_net383 : unknown; unknown unnamed_net382 : unknown; unknown unnamed_net381 : unknown; unknown unnamed_net380 : unknown; unknown unnamed_net379 : unknown; unknown unnamed_net378 : unknown; unknown unnamed_net377 : unknown; unknown unnamed_net376 : unknown; unknown unnamed_net375 : unknown; unknown unnamed_net374 : unknown; unknown unnamed_net373 : unknown; unknown unnamed_net372 : unknown; unknown unnamed_net371 : unknown; unknown unnamed_net370 : unknown; unknown unnamed_net369 : unknown; unknown unnamed_net368 : unknown; unknown unnamed_net367 : unknown; unknown unnamed_net366 : unknown; unknown unnamed_net365 : unknown; unknown unnamed_net364 : unknown; unknown unnamed_net363 : unknown; unknown unnamed_net362 : unknown; unknown unnamed_net361 : unknown; unknown unnamed_net360 : unknown; unknown unnamed_net359 : unknown; unknown unnamed_net358 : unknown; unknown unnamed_net357 : unknown; unknown unnamed_net356 : unknown; unknown unnamed_net355 : unknown; unknown unnamed_net354 : unknown; unknown unnamed_net353 : unknown; unknown unnamed_net352 : unknown; unknown unnamed_net351 : unknown; unknown unnamed_net350 : unknown; unknown unnamed_net349 : unknown; unknown unnamed_net348 : unknown; unknown unnamed_net347 : unknown; unknown unnamed_net346 : unknown; unknown unnamed_net345 : unknown; unknown unnamed_net344 : unknown; unknown unnamed_net343 : unknown; unknown unnamed_net342 : unknown; unknown unnamed_net341 : unknown; unknown unnamed_net340 : unknown; unknown unnamed_net339 : unknown; unknown unnamed_net338 : unknown; unknown unnamed_net337 : unknown; unknown unnamed_net336 : unknown; unknown unnamed_net335 : unknown; unknown unnamed_net334 : unknown; unknown unnamed_net333 : unknown; unknown unnamed_net332 : unknown; unknown unnamed_net331 : unknown; unknown unnamed_net330 : unknown; unknown unnamed_net329 : unknown; unknown unnamed_net328 : unknown; unknown unnamed_net327 : unknown; unknown unnamed_net326 : unknown; unknown unnamed_net325 : unknown; unknown unnamed_net324 : unknown; unknown unnamed_net323 : unknown; unknown unnamed_net322 : unknown; unknown unnamed_net321 : unknown; unknown unnamed_net320 : unknown; unknown unnamed_net319 : unknown; unknown unnamed_net318 : unknown; unknown unnamed_net317 : unknown; unknown unnamed_net316 : unknown; unknown unnamed_net315 : unknown; unknown unnamed_net314 : unknown; unknown unnamed_net313 : unknown; unknown unnamed_net312 : unknown; unknown unnamed_net311 : unknown; unknown unnamed_net310 : unknown; unknown unnamed_net309 : unknown; unknown unnamed_net308 : unknown; unknown unnamed_net307 : unknown; unknown unnamed_net306 : unknown; unknown unnamed_net305 : unknown; unknown unnamed_net304 : unknown; unknown unnamed_net303 : unknown; unknown unnamed_net302 : unknown; unknown unnamed_net301 : unknown; unknown unnamed_net300 : unknown; unknown unnamed_net299 : unknown; unknown unnamed_net298 : unknown; unknown unnamed_net297 : unknown; unknown unnamed_net296 : unknown; unknown unnamed_net295 : unknown; unknown unnamed_net294 : unknown; unknown unnamed_net293 : unknown; unknown unnamed_net292 : unknown; unknown unnamed_net291 : unknown; unknown unnamed_net290 : unknown; unknown unnamed_net289 : unknown; unknown unnamed_net288 : unknown; unknown unnamed_net287 : unknown; unknown unnamed_net286 : unknown; unknown unnamed_net285 : unknown; unknown unnamed_net284 : unknown; unknown unnamed_net283 : unknown; unknown unnamed_net282 : unknown; unknown unnamed_net281 : unknown; unknown unnamed_net280 : unknown; unknown unnamed_net279 : unknown; unknown unnamed_net278 : unknown; unknown unnamed_net277 : unknown; unknown unnamed_net276 : unknown; unknown unnamed_net275 : unknown; unknown unnamed_net274 : unknown; unknown unnamed_net273 : unknown; unknown unnamed_net272 : unknown; unknown unnamed_net271 : unknown; unknown unnamed_net270 : unknown; unknown unnamed_net269 : unknown; unknown unnamed_net268 : unknown; unknown unnamed_net267 : unknown; unknown unnamed_net266 : unknown; unknown unnamed_net265 : unknown; unknown unnamed_net264 : unknown; unknown unnamed_net263 : unknown; unknown unnamed_net262 : unknown; unknown unnamed_net261 : unknown; unknown unnamed_net260 : unknown; unknown unnamed_net259 : unknown; unknown unnamed_net258 : unknown; unknown unnamed_net257 : unknown; unknown unnamed_net256 : unknown; unknown unnamed_net255 : unknown; unknown unnamed_net254 : unknown; unknown unnamed_net253 : unknown; unknown unnamed_net252 : unknown; unknown unnamed_net251 : unknown; unknown unnamed_net250 : unknown; unknown unnamed_net249 : unknown; unknown unnamed_net248 : unknown; unknown unnamed_net247 : unknown; unknown unnamed_net246 : unknown; unknown unnamed_net245 : unknown; unknown unnamed_net244 : unknown; unknown unnamed_net243 : unknown; unknown unnamed_net242 : unknown; unknown unnamed_net241 : unknown; unknown unnamed_net240 : unknown; unknown unnamed_net239 : unknown; unknown unnamed_net238 : unknown; unknown unnamed_net237 : unknown; unknown unnamed_net236 : unknown; unknown unnamed_net235 : unknown; unknown unnamed_net234 : unknown; unknown unnamed_net233 : unknown; unknown unnamed_net232 : unknown; unknown unnamed_net231 : unknown; unknown unnamed_net230 : unknown; unknown unnamed_net229 : unknown; unknown unnamed_net228 : unknown; unknown unnamed_net227 : unknown; unknown unnamed_net226 : unknown; unknown unnamed_net225 : unknown; unknown unnamed_net224 : unknown; unknown unnamed_net223 : unknown; unknown unnamed_net222 : unknown; unknown unnamed_net221 : unknown; unknown unnamed_net220 : unknown; unknown unnamed_net219 : unknown; unknown unnamed_net218 : unknown; unknown unnamed_net217 : unknown; unknown unnamed_net216 : unknown; unknown unnamed_net215 : unknown; unknown unnamed_net214 : unknown; unknown unnamed_net213 : unknown; unknown unnamed_net212 : unknown; unknown unnamed_net211 : unknown; unknown unnamed_net210 : unknown; unknown unnamed_net209 : unknown; unknown unnamed_net208 : unknown; unknown unnamed_net207 : unknown; unknown unnamed_net206 : unknown; unknown unnamed_net205 : unknown; unknown unnamed_net204 : unknown; unknown unnamed_net203 : unknown; unknown unnamed_net202 : unknown; unknown unnamed_net201 : unknown; unknown unnamed_net200 : unknown; unknown unnamed_net199 : unknown; unknown unnamed_net198 : unknown; unknown unnamed_net197 : unknown; unknown unnamed_net196 : unknown; unknown unnamed_net195 : unknown; unknown unnamed_net194 : unknown; unknown unnamed_net193 : unknown; unknown unnamed_net192 : unknown; unknown unnamed_net191 : unknown; unknown unnamed_net190 : unknown; unknown unnamed_net189 : unknown; unknown unnamed_net188 : unknown; unknown unnamed_net187 : unknown; unknown unnamed_net186 : unknown; unknown unnamed_net185 : unknown; unknown unnamed_net184 : unknown; unknown unnamed_net183 : unknown; unknown unnamed_net182 : unknown; unknown unnamed_net181 : unknown; unknown unnamed_net180 : unknown; unknown unnamed_net179 : unknown; unknown unnamed_net178 : unknown; unknown unnamed_net177 : unknown; unknown unnamed_net176 : unknown; unknown unnamed_net175 : unknown; unknown unnamed_net174 : unknown; unknown unnamed_net173 : unknown; unknown unnamed_net172 : unknown; unknown unnamed_net171 : unknown; unknown unnamed_net170 : unknown; unknown unnamed_net169 : unknown; unknown unnamed_net168 : unknown; unknown unnamed_net167 : unknown; unknown unnamed_net166 : unknown; unknown unnamed_net165 : unknown; unknown unnamed_net164 : unknown; unknown unnamed_net163 : unknown; unknown unnamed_net162 : unknown; unknown unnamed_net161 : unknown; unknown unnamed_net160 : unknown; unknown unnamed_net159 : unknown; unknown unnamed_net158 : unknown; unknown unnamed_net157 : unknown; unknown unnamed_net156 : unknown; unknown unnamed_net155 : unknown; unknown unnamed_net154 : unknown; unknown unnamed_net153 : unknown; unknown unnamed_net152 : unknown; unknown unnamed_net151 : unknown; unknown unnamed_net150 : unknown; unknown unnamed_net149 : unknown; unknown unnamed_net148 : unknown; unknown unnamed_net147 : unknown; unknown unnamed_net146 : unknown; unknown unnamed_net145 : unknown; unknown unnamed_net144 : unknown; unknown unnamed_net143 : unknown; unknown unnamed_net142 : unknown; unknown unnamed_net141 : unknown; unknown unnamed_net140 : unknown; unknown unnamed_net139 : unknown; unknown unnamed_net138 : unknown; unknown unnamed_net137 : unknown; unknown unnamed_net136 : unknown; unknown unnamed_net135 : unknown; unknown unnamed_net134 : unknown; unknown unnamed_net133 : unknown; unknown unnamed_net132 : unknown; unknown unnamed_net131 : unknown; unknown unnamed_net130 : unknown; unknown unnamed_net129 : unknown; unknown unnamed_net128 : unknown; unknown unnamed_net127 : unknown; unknown unnamed_net126 : unknown; unknown unnamed_net125 : unknown; unknown unnamed_net124 : unknown; unknown unnamed_net123 : unknown; unknown unnamed_net122 : unknown; unknown unnamed_net121 : unknown; unknown unnamed_net120 : unknown; unknown unnamed_net119 : unknown; unknown unnamed_net118 : unknown; unknown unnamed_net117 : unknown; unknown unnamed_net116 : unknown; unknown unnamed_net115 : unknown; unknown unnamed_net114 : unknown; unknown unnamed_net113 : unknown; unknown unnamed_net112 : unknown; unknown unnamed_net111 : unknown; unknown unnamed_net110 : unknown; unknown unnamed_net109 : unknown; unknown unnamed_net108 : unknown; unknown unnamed_net107 : unknown; unknown unnamed_net106 : unknown; unknown unnamed_net105 : unknown; unknown unnamed_net104 : unknown; unknown unnamed_net103 : unknown; unknown unnamed_net102 : unknown; unknown unnamed_net101 : unknown; unknown unnamed_net100 : unknown; unknown unnamed_net99 : unknown; unknown unnamed_net98 : unknown; unknown unnamed_net97 : unknown; unknown unnamed_net96 : unknown; unknown unnamed_net95 : unknown; unknown unnamed_net94 : unknown; unknown unnamed_net93 : unknown; unknown unnamed_net92 : unknown; unknown unnamed_net91 : unknown; unknown unnamed_net90 : unknown; unknown unnamed_net89 : unknown; unknown unnamed_net88 : unknown; unknown unnamed_net87 : unknown; unknown unnamed_net86 : unknown; unknown unnamed_net85 : unknown; unknown unnamed_net84 : unknown; unknown unnamed_net83 : unknown; unknown unnamed_net82 : unknown; unknown unnamed_net81 : unknown; unknown unnamed_net80 : unknown; unknown unnamed_net79 : unknown; unknown unnamed_net78 : unknown; unknown unnamed_net77 : unknown; unknown unnamed_net76 : unknown; unknown unnamed_net75 : unknown; unknown unnamed_net74 : unknown; unknown unnamed_net73 : unknown; unknown unnamed_net72 : unknown; unknown unnamed_net71 : unknown; unknown unnamed_net70 : unknown; unknown unnamed_net69 : unknown; unknown unnamed_net68 : unknown; unknown unnamed_net67 : unknown; unknown unnamed_net66 : unknown; unknown unnamed_net65 : unknown; unknown unnamed_net64 : unknown; unknown unnamed_net63 : unknown; unknown unnamed_net62 : unknown; unknown unnamed_net61 : unknown; unknown unnamed_net60 : unknown; unknown unnamed_net59 : unknown; unknown unnamed_net58 : unknown; unknown unnamed_net57 : unknown; unknown unnamed_net56 : unknown; unknown unnamed_net55 : unknown; unknown unnamed_net54 : unknown; unknown unnamed_net53 : unknown; unknown unnamed_net52 : unknown; unknown unnamed_net51 : unknown; unknown unnamed_net50 : unknown; unknown unnamed_net49 : unknown; unknown unnamed_net48 : unknown; unknown unnamed_net47 : unknown; unknown unnamed_net46 : unknown; unknown unnamed_net45 : unknown; unknown unnamed_net44 : unknown; unknown unnamed_net43 : unknown; unknown unnamed_net42 : unknown; unknown unnamed_net41 : unknown; unknown unnamed_net40 : unknown; unknown unnamed_net39 : unknown; unknown unnamed_net38 : unknown; unknown unnamed_net37 : unknown; unknown unnamed_net36 : unknown; unknown unnamed_net35 : unknown; unknown unnamed_net34 : unknown; unknown unnamed_net33 : unknown; unknown unnamed_net32 : unknown; unknown unnamed_net31 : unknown; unknown unnamed_net30 : unknown; unknown unnamed_net29 : unknown; unknown unnamed_net28 : unknown; unknown unnamed_net27 : unknown; unknown unnamed_net26 : unknown; unknown unnamed_net25 : unknown; unknown unnamed_net24 : unknown; unknown unnamed_net23 : unknown; unknown unnamed_net22 : unknown; unknown unnamed_net21 : unknown; unknown unnamed_net20 : unknown; unknown unnamed_net19 : unknown; unknown unnamed_net18 : unknown; unknown unnamed_net17 : unknown; unknown unnamed_net16 : unknown; unknown unnamed_net15 : unknown; unknown unnamed_net14 : unknown; unknown unnamed_net13 : unknown; unknown unnamed_net12 : unknown; unknown unnamed_net11 : unknown; unknown unnamed_net10 : unknown; unknown unnamed_net9 : unknown; unknown unnamed_net8 : unknown; unknown unnamed_net7 : unknown; unknown unnamed_net6 : unknown; unknown unnamed_net5 : unknown; unknown unnamed_net4 : unknown; unknown unnamed_net3 : unknown; unknown unnamed_net2 : unknown; unknown unnamed_net1 : unknown; BEGIN -- Architecture statement part C? : ENTITY CAPACITOR GENERIC MAP ( symversion => 0.1, device => CAPACITOR) PORT MAP ( 1 => unnamed_net1, 2 => unnamed_net2, 1 => unnamed_net3, 2 => unnamed_net4, 1 => unnamed_net1, 2 => unnamed_net5, 1 => unnamed_net2, 2 => unnamed_net6, 1 => unnamed_net7, 2 => unnamed_net8, 1 => unnamed_net5, 2 => unnamed_net9, 1 => unnamed_net7, 2 => unnamed_net10, 1 => unnamed_net8, 2 => unnamed_net11, 1 => unnamed_net3, 2 => unnamed_net12, 1 => unnamed_net13, 2 => unnamed_net14, 1 => unnamed_net4, 2 => unnamed_net15, 1 => unnamed_net12, 2 => unnamed_net16, 1 => unnamed_net6, 2 => unnamed_net17, 1 => unnamed_net15, 2 => unnamed_net18, 1 => unnamed_net9, 2 => unnamed_net19, 1 => unnamed_net17, 2 => unnamed_net20, 1 => unnamed_net21, 2 => unnamed_net22, 1 => unnamed_net10, 2 => unnamed_net23, 1 => unnamed_net21, 2 => unnamed_net24, 1 => unnamed_net22, 2 => unnamed_net25, 1 => unnamed_net26, 2 => unnamed_net27, 1 => unnamed_net24, 2 => unnamed_net28, 1 => unnamed_net26, 2 => unnamed_net29, 1 => unnamed_net27, 2 => unnamed_net30, 1 => unnamed_net11, 2 => unnamed_net31, 1 => unnamed_net19, 2 => unnamed_net32, 1 => unnamed_net23, 2 => unnamed_net33, 1 => unnamed_net31, 2 => unnamed_net34, 1 => unnamed_net25, 2 => unnamed_net35, 1 => unnamed_net33, 2 => unnamed_net36, 1 => unnamed_net28, 2 => unnamed_net37, 1 => unnamed_net35, 2 => unnamed_net38, 1 => unnamed_net13, 2 => unnamed_net39, 1 => unnamed_net40, 2 => unnamed_net41, 1 => unnamed_net14, 2 => unnamed_net42, 1 => unnamed_net39, 2 => unnamed_net43, 1 => unnamed_net16, 2 => unnamed_net44, 1 => unnamed_net42, 2 => unnamed_net45, 1 => unnamed_net18, 2 => unnamed_net46, 1 => unnamed_net44, 2 => unnamed_net47, 1 => unnamed_net40, 2 => unnamed_net48, 1 => unnamed_net49, 2 => unnamed_net50, 1 => unnamed_net41, 2 => unnamed_net51, 1 => unnamed_net48, 2 => unnamed_net52, 1 => unnamed_net43, 2 => unnamed_net53, 1 => unnamed_net51, 2 => unnamed_net54, 1 => unnamed_net45, 2 => unnamed_net55, 1 => unnamed_net53, 2 => unnamed_net56, 1 => unnamed_net20, 2 => unnamed_net57, 1 => unnamed_net46, 2 => unnamed_net58, 1 => unnamed_net32, 2 => unnamed_net59, 1 => unnamed_net57, 2 => unnamed_net60, 1 => unnamed_net34, 2 => unnamed_net61, 1 => unnamed_net59, 2 => unnamed_net62, 1 => unnamed_net36, 2 => unnamed_net63, 1 => unnamed_net61, 2 => unnamed_net64, 1 => unnamed_net47, 2 => unnamed_net65, 1 => unnamed_net55, 2 => unnamed_net66, 1 => unnamed_net58, 2 => unnamed_net67, 1 => unnamed_net65, 2 => unnamed_net68, 1 => unnamed_net60, 2 => unnamed_net69, 1 => unnamed_net67, 2 => unnamed_net70, 1 => unnamed_net62, 2 => unnamed_net71, 1 => unnamed_net69, 2 => unnamed_net72, 1 => unnamed_net73, 2 => unnamed_net74, 1 => unnamed_net29, 2 => unnamed_net75, 1 => unnamed_net73, 2 => unnamed_net76, 1 => unnamed_net74, 2 => unnamed_net77, 1 => unnamed_net78, 2 => unnamed_net79, 1 => unnamed_net76, 2 => unnamed_net80, 1 => unnamed_net78, 2 => unnamed_net81, 1 => unnamed_net79, 2 => unnamed_net82, 1 => unnamed_net30, 2 => unnamed_net83, 1 => unnamed_net37, 2 => unnamed_net84, 1 => unnamed_net75, 2 => unnamed_net85, 1 => unnamed_net83, 2 => unnamed_net86, 1 => unnamed_net77, 2 => unnamed_net87, 1 => unnamed_net85, 2 => unnamed_net88, 1 => unnamed_net80, 2 => unnamed_net89, 1 => unnamed_net87, 2 => unnamed_net90, 1 => unnamed_net91, 2 => unnamed_net92, 1 => unnamed_net81, 2 => unnamed_net93, 1 => unnamed_net91, 2 => unnamed_net94, 1 => unnamed_net92, 2 => unnamed_net95, 1 => unnamed_net96, 2 => unnamed_net97, 1 => unnamed_net94, 2 => unnamed_net98, 1 => unnamed_net96, 2 => unnamed_net99, 1 => unnamed_net97, 2 => unnamed_net100, 1 => unnamed_net82, 2 => unnamed_net101, 1 => unnamed_net89, 2 => unnamed_net102, 1 => unnamed_net93, 2 => unnamed_net103, 1 => unnamed_net101, 2 => unnamed_net104, 1 => unnamed_net95, 2 => unnamed_net105, 1 => unnamed_net103, 2 => unnamed_net106, 1 => unnamed_net98, 2 => unnamed_net107, 1 => unnamed_net105, 2 => unnamed_net108, 1 => unnamed_net38, 2 => unnamed_net109, 1 => unnamed_net63, 2 => unnamed_net110, 1 => unnamed_net84, 2 => unnamed_net111, 1 => unnamed_net109, 2 => unnamed_net112, 1 => unnamed_net86, 2 => unnamed_net113, 1 => unnamed_net111, 2 => unnamed_net114, 1 => unnamed_net88, 2 => unnamed_net115, 1 => unnamed_net113, 2 => unnamed_net116, 1 => unnamed_net64, 2 => unnamed_net117, 1 => unnamed_net71, 2 => unnamed_net118, 1 => unnamed_net110, 2 => unnamed_net119, 1 => unnamed_net117, 2 => unnamed_net120, 1 => unnamed_net112, 2 => unnamed_net121, 1 => unnamed_net119, 2 => unnamed_net122, 1 => unnamed_net114, 2 => unnamed_net123, 1 => unnamed_net121, 2 => unnamed_net124, 1 => unnamed_net90, 2 => unnamed_net125, 1 => unnamed_net115, 2 => unnamed_net126, 1 => unnamed_net102, 2 => unnamed_net127, 1 => unnamed_net125, 2 => unnamed_net128, 1 => unnamed_net104, 2 => unnamed_net129, 1 => unnamed_net127, 2 => unnamed_net130, 1 => unnamed_net106, 2 => unnamed_net131, 1 => unnamed_net129, 2 => unnamed_net132, 1 => unnamed_net116, 2 => unnamed_net133, 1 => unnamed_net123, 2 => unnamed_net134, 1 => unnamed_net126, 2 => unnamed_net135, 1 => unnamed_net133, 2 => unnamed_net136, 1 => unnamed_net128, 2 => unnamed_net137, 1 => unnamed_net135, 2 => unnamed_net138, 1 => unnamed_net130, 2 => unnamed_net139, 1 => unnamed_net137, 2 => unnamed_net140, 1 => unnamed_net49, 2 => unnamed_net141, 1 => unnamed_net142, 2 => unnamed_net143, 1 => unnamed_net50, 2 => unnamed_net144, 1 => unnamed_net141, 2 => unnamed_net145, 1 => unnamed_net52, 2 => unnamed_net146, 1 => unnamed_net144, 2 => unnamed_net147, 1 => unnamed_net54, 2 => unnamed_net148, 1 => unnamed_net146, 2 => unnamed_net149, 1 => unnamed_net142, 2 => unnamed_net150, 1 => unnamed_net151, 2 => unnamed_net152, 1 => unnamed_net143, 2 => unnamed_net153, 1 => unnamed_net150, 2 => unnamed_net154, 1 => unnamed_net145, 2 => unnamed_net155, 1 => unnamed_net153, 2 => unnamed_net156, 1 => unnamed_net147, 2 => unnamed_net157, 1 => unnamed_net155, 2 => unnamed_net158, 1 => unnamed_net56, 2 => unnamed_net159, 1 => unnamed_net148, 2 => unnamed_net160, 1 => unnamed_net66, 2 => unnamed_net161, 1 => unnamed_net159, 2 => unnamed_net162, 1 => unnamed_net68, 2 => unnamed_net163, 1 => unnamed_net161, 2 => unnamed_net164, 1 => unnamed_net70, 2 => unnamed_net165, 1 => unnamed_net163, 2 => unnamed_net166, 1 => unnamed_net149, 2 => unnamed_net167, 1 => unnamed_net157, 2 => unnamed_net168, 1 => unnamed_net160, 2 => unnamed_net169, 1 => unnamed_net167, 2 => unnamed_net170, 1 => unnamed_net162, 2 => unnamed_net171, 1 => unnamed_net169, 2 => unnamed_net172, 1 => unnamed_net164, 2 => unnamed_net173, 1 => unnamed_net171, 2 => unnamed_net174, 1 => unnamed_net151, 2 => unnamed_net175, 1 => unnamed_net176, 2 => unnamed_net177, 1 => unnamed_net152, 2 => unnamed_net178, 1 => unnamed_net175, 2 => unnamed_net179, 1 => unnamed_net154, 2 => unnamed_net180, 1 => unnamed_net178, 2 => unnamed_net181, 1 => unnamed_net156, 2 => unnamed_net182, 1 => unnamed_net180, 2 => unnamed_net183, 1 => unnamed_net176, 2 => unnamed_net184, 1 => unnamed_net185, 2 => unnamed_net186, 1 => unnamed_net177, 2 => unnamed_net187, 1 => unnamed_net184, 2 => unnamed_net188, 1 => unnamed_net179, 2 => unnamed_net189, 1 => unnamed_net187, 2 => unnamed_net190, 1 => unnamed_net181, 2 => unnamed_net191, 1 => unnamed_net189, 2 => unnamed_net192, 1 => unnamed_net158, 2 => unnamed_net193, 1 => unnamed_net182, 2 => unnamed_net194, 1 => unnamed_net168, 2 => unnamed_net195, 1 => unnamed_net193, 2 => unnamed_net196, 1 => unnamed_net170, 2 => unnamed_net197, 1 => unnamed_net195, 2 => unnamed_net198, 1 => unnamed_net172, 2 => unnamed_net199, 1 => unnamed_net197, 2 => unnamed_net200, 1 => unnamed_net183, 2 => unnamed_net201, 1 => unnamed_net191, 2 => unnamed_net202, 1 => unnamed_net194, 2 => unnamed_net203, 1 => unnamed_net201, 2 => unnamed_net204, 1 => unnamed_net196, 2 => unnamed_net205, 1 => unnamed_net203, 2 => unnamed_net206, 1 => unnamed_net198, 2 => unnamed_net207, 1 => unnamed_net205, 2 => unnamed_net208, 1 => unnamed_net72, 2 => unnamed_net209, 1 => unnamed_net165, 2 => unnamed_net210, 1 => unnamed_net118, 2 => unnamed_net211, 1 => unnamed_net209, 2 => unnamed_net212, 1 => unnamed_net120, 2 => unnamed_net213, 1 => unnamed_net211, 2 => unnamed_net214, 1 => unnamed_net122, 2 => unnamed_net215, 1 => unnamed_net213, 2 => unnamed_net216, 1 => unnamed_net166, 2 => unnamed_net217, 1 => unnamed_net173, 2 => unnamed_net218, 1 => unnamed_net210, 2 => unnamed_net219, 1 => unnamed_net217, 2 => unnamed_net220, 1 => unnamed_net212, 2 => unnamed_net221, 1 => unnamed_net219, 2 => unnamed_net222, 1 => unnamed_net214, 2 => unnamed_net223, 1 => unnamed_net221, 2 => unnamed_net224, 1 => unnamed_net124, 2 => unnamed_net225, 1 => unnamed_net215, 2 => unnamed_net226, 1 => unnamed_net134, 2 => unnamed_net227, 1 => unnamed_net225, 2 => unnamed_net228, 1 => unnamed_net136, 2 => unnamed_net229, 1 => unnamed_net227, 2 => unnamed_net230, 1 => unnamed_net138, 2 => unnamed_net231, 1 => unnamed_net229, 2 => unnamed_net232, 1 => unnamed_net216, 2 => unnamed_net233, 1 => unnamed_net223, 2 => unnamed_net234, 1 => unnamed_net226, 2 => unnamed_net235, 1 => unnamed_net233, 2 => unnamed_net236, 1 => unnamed_net228, 2 => unnamed_net237, 1 => unnamed_net235, 2 => unnamed_net238, 1 => unnamed_net230, 2 => unnamed_net239, 1 => unnamed_net237, 2 => unnamed_net240, 1 => unnamed_net174, 2 => unnamed_net241, 1 => unnamed_net199, 2 => unnamed_net242, 1 => unnamed_net218, 2 => unnamed_net243, 1 => unnamed_net241, 2 => unnamed_net244, 1 => unnamed_net220, 2 => unnamed_net245, 1 => unnamed_net243, 2 => unnamed_net246, 1 => unnamed_net222, 2 => unnamed_net247, 1 => unnamed_net245, 2 => unnamed_net248, 1 => unnamed_net200, 2 => unnamed_net249, 1 => unnamed_net207, 2 => unnamed_net250, 1 => unnamed_net242, 2 => unnamed_net251, 1 => unnamed_net249, 2 => unnamed_net252, 1 => unnamed_net244, 2 => unnamed_net253, 1 => unnamed_net251, 2 => unnamed_net254, 1 => unnamed_net246, 2 => unnamed_net255, 1 => unnamed_net253, 2 => unnamed_net256, 1 => unnamed_net224, 2 => unnamed_net257, 1 => unnamed_net247, 2 => unnamed_net258, 1 => unnamed_net234, 2 => unnamed_net259, 1 => unnamed_net257, 2 => unnamed_net260, 1 => unnamed_net236, 2 => unnamed_net261, 1 => unnamed_net259, 2 => unnamed_net262, 1 => unnamed_net238, 2 => unnamed_net263, 1 => unnamed_net261, 2 => unnamed_net264, 1 => unnamed_net248, 2 => unnamed_net265, 1 => unnamed_net255, 2 => unnamed_net266, 1 => unnamed_net258, 2 => unnamed_net267, 1 => unnamed_net265, 2 => unnamed_net268, 1 => unnamed_net260, 2 => unnamed_net269, 1 => unnamed_net267, 2 => unnamed_net270, 1 => unnamed_net262, 2 => unnamed_net271, 1 => unnamed_net269, 2 => unnamed_net272, 1 => unnamed_net273, 2 => unnamed_net274, 1 => unnamed_net99, 2 => unnamed_net275, 1 => unnamed_net273, 2 => unnamed_net276, 1 => unnamed_net274, 2 => unnamed_net277, 1 => unnamed_net278, 2 => unnamed_net279, 1 => unnamed_net276, 2 => unnamed_net280, 1 => unnamed_net278, 2 => unnamed_net281, 1 => unnamed_net279, 2 => unnamed_net282, 1 => unnamed_net100, 2 => unnamed_net283, 1 => unnamed_net107, 2 => unnamed_net284, 1 => unnamed_net275, 2 => unnamed_net285, 1 => unnamed_net283, 2 => unnamed_net286, 1 => unnamed_net277, 2 => unnamed_net287, 1 => unnamed_net285, 2 => unnamed_net288, 1 => unnamed_net280, 2 => unnamed_net289, 1 => unnamed_net287, 2 => unnamed_net290, 1 => unnamed_net291, 2 => unnamed_net292, 1 => unnamed_net281, 2 => unnamed_net293, 1 => unnamed_net291, 2 => unnamed_net294, 1 => unnamed_net292, 2 => unnamed_net295, 1 => unnamed_net296, 2 => unnamed_net297, 1 => unnamed_net294, 2 => unnamed_net298, 1 => unnamed_net296, 2 => unnamed_net299, 1 => unnamed_net297, 2 => unnamed_net300, 1 => unnamed_net282, 2 => unnamed_net301, 1 => unnamed_net289, 2 => unnamed_net302, 1 => unnamed_net293, 2 => unnamed_net303, 1 => unnamed_net301, 2 => unnamed_net304, 1 => unnamed_net295, 2 => unnamed_net305, 1 => unnamed_net303, 2 => unnamed_net306, 1 => unnamed_net298, 2 => unnamed_net307, 1 => unnamed_net305, 2 => unnamed_net308, 1 => unnamed_net108, 2 => unnamed_net309, 1 => unnamed_net131, 2 => unnamed_net310, 1 => unnamed_net284, 2 => unnamed_net311, 1 => unnamed_net309, 2 => unnamed_net312, 1 => unnamed_net286, 2 => unnamed_net313, 1 => unnamed_net311, 2 => unnamed_net314, 1 => unnamed_net288, 2 => unnamed_net315, 1 => unnamed_net313, 2 => unnamed_net316, 1 => unnamed_net132, 2 => unnamed_net317, 1 => unnamed_net139, 2 => unnamed_net318, 1 => unnamed_net310, 2 => unnamed_net319, 1 => unnamed_net317, 2 => unnamed_net320, 1 => unnamed_net312, 2 => unnamed_net321, 1 => unnamed_net319, 2 => unnamed_net322, 1 => unnamed_net314, 2 => unnamed_net323, 1 => unnamed_net321, 2 => unnamed_net324, 1 => unnamed_net290, 2 => unnamed_net325, 1 => unnamed_net315, 2 => unnamed_net326, 1 => unnamed_net302, 2 => unnamed_net327, 1 => unnamed_net325, 2 => unnamed_net328, 1 => unnamed_net304, 2 => unnamed_net329, 1 => unnamed_net327, 2 => unnamed_net330, 1 => unnamed_net306, 2 => unnamed_net331, 1 => unnamed_net329, 2 => unnamed_net332, 1 => unnamed_net316, 2 => unnamed_net333, 1 => unnamed_net323, 2 => unnamed_net334, 1 => unnamed_net326, 2 => unnamed_net335, 1 => unnamed_net333, 2 => unnamed_net336, 1 => unnamed_net328, 2 => unnamed_net337, 1 => unnamed_net335, 2 => unnamed_net338, 1 => unnamed_net330, 2 => unnamed_net339, 1 => unnamed_net337, 2 => unnamed_net340, 1 => unnamed_net341, 2 => unnamed_net342, 1 => unnamed_net299, 2 => unnamed_net343, 1 => unnamed_net341, 2 => unnamed_net344, 1 => unnamed_net342, 2 => unnamed_net345, 1 => unnamed_net346, 2 => unnamed_net347, 1 => unnamed_net344, 2 => unnamed_net348, 1 => unnamed_net346, 2 => unnamed_net349, 1 => unnamed_net347, 2 => unnamed_net350, 1 => unnamed_net300, 2 => unnamed_net351, 1 => unnamed_net307, 2 => unnamed_net352, 1 => unnamed_net343, 2 => unnamed_net353, 1 => unnamed_net351, 2 => unnamed_net354, 1 => unnamed_net345, 2 => unnamed_net355, 1 => unnamed_net353, 2 => unnamed_net356, 1 => unnamed_net348, 2 => unnamed_net357, 1 => unnamed_net355, 2 => unnamed_net358, 1 => unnamed_net359, 2 => unnamed_net360, 1 => unnamed_net349, 2 => unnamed_net361, 1 => unnamed_net359, 2 => unnamed_net362, 1 => unnamed_net360, 2 => unnamed_net363, 1 => unnamed_net364, 2 => unnamed_net365, 1 => unnamed_net362, 2 => unnamed_net366, 1 => unnamed_net364, 2 => unnamed_net367, 1 => unnamed_net365, 2 => unnamed_net368, 1 => unnamed_net350, 2 => unnamed_net369, 1 => unnamed_net357, 2 => unnamed_net370, 1 => unnamed_net361, 2 => unnamed_net371, 1 => unnamed_net369, 2 => unnamed_net372, 1 => unnamed_net363, 2 => unnamed_net373, 1 => unnamed_net371, 2 => unnamed_net374, 1 => unnamed_net366, 2 => unnamed_net368, 1 => unnamed_net373, 2 => unnamed_net375, 1 => unnamed_net308, 2 => unnamed_net376, 1 => unnamed_net331, 2 => unnamed_net377, 1 => unnamed_net352, 2 => unnamed_net378, 1 => unnamed_net376, 2 => unnamed_net379, 1 => unnamed_net354, 2 => unnamed_net380, 1 => unnamed_net378, 2 => unnamed_net381, 1 => unnamed_net356, 2 => unnamed_net382, 1 => unnamed_net380, 2 => unnamed_net383, 1 => unnamed_net332, 2 => unnamed_net384, 1 => unnamed_net339, 2 => unnamed_net385, 1 => unnamed_net377, 2 => unnamed_net386, 1 => unnamed_net384, 2 => unnamed_net387, 1 => unnamed_net379, 2 => unnamed_net388, 1 => unnamed_net386, 2 => unnamed_net389, 1 => unnamed_net381, 2 => unnamed_net390, 1 => unnamed_net388, 2 => unnamed_net391, 1 => unnamed_net358, 2 => unnamed_net392, 1 => unnamed_net382, 2 => unnamed_net393, 1 => unnamed_net370, 2 => unnamed_net394, 1 => unnamed_net392, 2 => unnamed_net395, 1 => unnamed_net372, 2 => unnamed_net396, 1 => unnamed_net394, 2 => unnamed_net397, 1 => unnamed_net374, 2 => unnamed_net375, 1 => unnamed_net396, 2 => unnamed_net398, 1 => unnamed_net383, 2 => unnamed_net399, 1 => unnamed_net390, 2 => unnamed_net400, 1 => unnamed_net393, 2 => unnamed_net401, 1 => unnamed_net399, 2 => unnamed_net402, 1 => unnamed_net395, 2 => unnamed_net403, 1 => unnamed_net401, 2 => unnamed_net404, 1 => unnamed_net397, 2 => unnamed_net398, 1 => unnamed_net403, 2 => unnamed_net405, 1 => unnamed_net140, 2 => unnamed_net406, 1 => unnamed_net231, 2 => unnamed_net407, 1 => unnamed_net318, 2 => unnamed_net408, 1 => unnamed_net406, 2 => unnamed_net409, 1 => unnamed_net320, 2 => unnamed_net410, 1 => unnamed_net408, 2 => unnamed_net411, 1 => unnamed_net322, 2 => unnamed_net412, 1 => unnamed_net410, 2 => unnamed_net413, 1 => unnamed_net232, 2 => unnamed_net414, 1 => unnamed_net239, 2 => unnamed_net415, 1 => unnamed_net407, 2 => unnamed_net416, 1 => unnamed_net414, 2 => unnamed_net417, 1 => unnamed_net409, 2 => unnamed_net418, 1 => unnamed_net416, 2 => unnamed_net419, 1 => unnamed_net411, 2 => unnamed_net420, 1 => unnamed_net418, 2 => unnamed_net421, 1 => unnamed_net324, 2 => unnamed_net422, 1 => unnamed_net412, 2 => unnamed_net423, 1 => unnamed_net334, 2 => unnamed_net424, 1 => unnamed_net422, 2 => unnamed_net425, 1 => unnamed_net336, 2 => unnamed_net426, 1 => unnamed_net424, 2 => unnamed_net427, 1 => unnamed_net338, 2 => unnamed_net428, 1 => unnamed_net426, 2 => unnamed_net429, 1 => unnamed_net413, 2 => unnamed_net430, 1 => unnamed_net420, 2 => unnamed_net431, 1 => unnamed_net423, 2 => unnamed_net432, 1 => unnamed_net430, 2 => unnamed_net433, 1 => unnamed_net425, 2 => unnamed_net434, 1 => unnamed_net432, 2 => unnamed_net435, 1 => unnamed_net427, 2 => unnamed_net436, 1 => unnamed_net434, 2 => unnamed_net437, 1 => unnamed_net240, 2 => unnamed_net438, 1 => unnamed_net263, 2 => unnamed_net439, 1 => unnamed_net415, 2 => unnamed_net440, 1 => unnamed_net438, 2 => unnamed_net441, 1 => unnamed_net417, 2 => unnamed_net442, 1 => unnamed_net440, 2 => unnamed_net443, 1 => unnamed_net419, 2 => unnamed_net444, 1 => unnamed_net442, 2 => unnamed_net445, 1 => unnamed_net264, 2 => unnamed_net446, 1 => unnamed_net271, 2 => unnamed_net447, 1 => unnamed_net439, 2 => unnamed_net448, 1 => unnamed_net446, 2 => unnamed_net449, 1 => unnamed_net441, 2 => unnamed_net450, 1 => unnamed_net448, 2 => unnamed_net451, 1 => unnamed_net443, 2 => unnamed_net452, 1 => unnamed_net450, 2 => unnamed_net453, 1 => unnamed_net421, 2 => unnamed_net454, 1 => unnamed_net444, 2 => unnamed_net455, 1 => unnamed_net431, 2 => unnamed_net456, 1 => unnamed_net454, 2 => unnamed_net457, 1 => unnamed_net433, 2 => unnamed_net458, 1 => unnamed_net456, 2 => unnamed_net459, 1 => unnamed_net435, 2 => unnamed_net460, 1 => unnamed_net458, 2 => unnamed_net461, 1 => unnamed_net445, 2 => unnamed_net462, 1 => unnamed_net452, 2 => unnamed_net463, 1 => unnamed_net455, 2 => unnamed_net464, 1 => unnamed_net462, 2 => unnamed_net465, 1 => unnamed_net457, 2 => unnamed_net466, 1 => unnamed_net464, 2 => unnamed_net467, 1 => unnamed_net459, 2 => unnamed_net468, 1 => unnamed_net466, 2 => unnamed_net469, 1 => unnamed_net340, 2 => unnamed_net470, 1 => unnamed_net428, 2 => unnamed_net471, 1 => unnamed_net385, 2 => unnamed_net472, 1 => unnamed_net470, 2 => unnamed_net473, 1 => unnamed_net387, 2 => unnamed_net474, 1 => unnamed_net472, 2 => unnamed_net475, 1 => unnamed_net389, 2 => unnamed_net476, 1 => unnamed_net474, 2 => unnamed_net477, 1 => unnamed_net429, 2 => unnamed_net478, 1 => unnamed_net436, 2 => unnamed_net479, 1 => unnamed_net471, 2 => unnamed_net480, 1 => unnamed_net478, 2 => unnamed_net481, 1 => unnamed_net473, 2 => unnamed_net482, 1 => unnamed_net480, 2 => unnamed_net483, 1 => unnamed_net475, 2 => unnamed_net484, 1 => unnamed_net482, 2 => unnamed_net485, 1 => unnamed_net391, 2 => unnamed_net486, 1 => unnamed_net476, 2 => unnamed_net487, 1 => unnamed_net400, 2 => unnamed_net488, 1 => unnamed_net486, 2 => unnamed_net489, 1 => unnamed_net402, 2 => unnamed_net490, 1 => unnamed_net488, 2 => unnamed_net491, 1 => unnamed_net404, 2 => unnamed_net405, 1 => unnamed_net490, 2 => unnamed_net492, 1 => unnamed_net477, 2 => unnamed_net493, 1 => unnamed_net484, 2 => unnamed_net494, 1 => unnamed_net487, 2 => unnamed_net495, 1 => unnamed_net493, 2 => unnamed_net496, 1 => unnamed_net489, 2 => unnamed_net497, 1 => unnamed_net495, 2 => unnamed_net498, 1 => unnamed_net491, 2 => unnamed_net492, 1 => unnamed_net497, 2 => unnamed_net499, 1 => unnamed_net437, 2 => unnamed_net500, 1 => unnamed_net460, 2 => unnamed_net501, 1 => unnamed_net479, 2 => unnamed_net502, 1 => unnamed_net500, 2 => unnamed_net503, 1 => unnamed_net481, 2 => unnamed_net504, 1 => unnamed_net502, 2 => unnamed_net505, 1 => unnamed_net483, 2 => unnamed_net506, 1 => unnamed_net504, 2 => unnamed_net507, 1 => unnamed_net461, 2 => unnamed_net508, 1 => unnamed_net468, 2 => unnamed_net509, 1 => unnamed_net501, 2 => unnamed_net510, 1 => unnamed_net508, 2 => unnamed_net511, 1 => unnamed_net503, 2 => unnamed_net512, 1 => unnamed_net510, 2 => unnamed_net513, 1 => unnamed_net505, 2 => unnamed_net514, 1 => unnamed_net512, 2 => unnamed_net515, 1 => unnamed_net485, 2 => unnamed_net516, 1 => unnamed_net506, 2 => unnamed_net517, 1 => unnamed_net494, 2 => unnamed_net518, 1 => unnamed_net516, 2 => unnamed_net519, 1 => unnamed_net496, 2 => unnamed_net520, 1 => unnamed_net518, 2 => unnamed_net521, 1 => unnamed_net498, 2 => unnamed_net499, 1 => unnamed_net520, 2 => unnamed_net522, 1 => unnamed_net507, 2 => unnamed_net523, 1 => unnamed_net514, 2 => unnamed_net524, 1 => unnamed_net517, 2 => unnamed_net525, 1 => unnamed_net523, 2 => unnamed_net526, 1 => unnamed_net519, 2 => unnamed_net527, 1 => unnamed_net525, 2 => unnamed_net528, 1 => unnamed_net521, 2 => unnamed_net522, 1 => unnamed_net527, 2 => unnamed_net529, 1 => unnamed_net185, 2 => unnamed_net530, 1 => unnamed_net531, 2 => unnamed_net532, 1 => unnamed_net186, 2 => unnamed_net533, 1 => unnamed_net530, 2 => unnamed_net534, 1 => unnamed_net188, 2 => unnamed_net535, 1 => unnamed_net533, 2 => unnamed_net536, 1 => unnamed_net190, 2 => unnamed_net537, 1 => unnamed_net535, 2 => unnamed_net538, 1 => unnamed_net531, 2 => unnamed_net539, 1 => unnamed_net540, 2 => unnamed_net541, 1 => unnamed_net532, 2 => unnamed_net542, 1 => unnamed_net539, 2 => unnamed_net543, 1 => unnamed_net534, 2 => unnamed_net544, 1 => unnamed_net542, 2 => unnamed_net545, 1 => unnamed_net536, 2 => unnamed_net546, 1 => unnamed_net544, 2 => unnamed_net547, 1 => unnamed_net192, 2 => unnamed_net548, 1 => unnamed_net537, 2 => unnamed_net549, 1 => unnamed_net202, 2 => unnamed_net550, 1 => unnamed_net548, 2 => unnamed_net551, 1 => unnamed_net204, 2 => unnamed_net552, 1 => unnamed_net550, 2 => unnamed_net553, 1 => unnamed_net206, 2 => unnamed_net554, 1 => unnamed_net552, 2 => unnamed_net555, 1 => unnamed_net538, 2 => unnamed_net556, 1 => unnamed_net546, 2 => unnamed_net557, 1 => unnamed_net549, 2 => unnamed_net558, 1 => unnamed_net556, 2 => unnamed_net559, 1 => unnamed_net551, 2 => unnamed_net560, 1 => unnamed_net558, 2 => unnamed_net561, 1 => unnamed_net553, 2 => unnamed_net562, 1 => unnamed_net560, 2 => unnamed_net563, 1 => unnamed_net540, 2 => unnamed_net564, 1 => unnamed_net565, 2 => unnamed_net566, 1 => unnamed_net541, 2 => unnamed_net567, 1 => unnamed_net564, 2 => unnamed_net568, 1 => unnamed_net543, 2 => unnamed_net569, 1 => unnamed_net567, 2 => unnamed_net570, 1 => unnamed_net545, 2 => unnamed_net571, 1 => unnamed_net569, 2 => unnamed_net572, 1 => unnamed_net565, 2 => unnamed_net573, 1 => unnamed_net574, 2 => unnamed_net575, 1 => unnamed_net566, 2 => unnamed_net576, 1 => unnamed_net573, 2 => unnamed_net577, 1 => unnamed_net568, 2 => unnamed_net578, 1 => unnamed_net576, 2 => unnamed_net579, 1 => unnamed_net570, 2 => unnamed_net580, 1 => unnamed_net578, 2 => unnamed_net581, 1 => unnamed_net547, 2 => unnamed_net582, 1 => unnamed_net571, 2 => unnamed_net583, 1 => unnamed_net557, 2 => unnamed_net584, 1 => unnamed_net582, 2 => unnamed_net585, 1 => unnamed_net559, 2 => unnamed_net586, 1 => unnamed_net584, 2 => unnamed_net587, 1 => unnamed_net561, 2 => unnamed_net588, 1 => unnamed_net586, 2 => unnamed_net589, 1 => unnamed_net572, 2 => unnamed_net590, 1 => unnamed_net580, 2 => unnamed_net591, 1 => unnamed_net583, 2 => unnamed_net592, 1 => unnamed_net590, 2 => unnamed_net593, 1 => unnamed_net585, 2 => unnamed_net594, 1 => unnamed_net592, 2 => unnamed_net595, 1 => unnamed_net587, 2 => unnamed_net596, 1 => unnamed_net594, 2 => unnamed_net597, 1 => unnamed_net208, 2 => unnamed_net598, 1 => unnamed_net554, 2 => unnamed_net599, 1 => unnamed_net250, 2 => unnamed_net600, 1 => unnamed_net598, 2 => unnamed_net601, 1 => unnamed_net252, 2 => unnamed_net602, 1 => unnamed_net600, 2 => unnamed_net603, 1 => unnamed_net254, 2 => unnamed_net604, 1 => unnamed_net602, 2 => unnamed_net605, 1 => unnamed_net555, 2 => unnamed_net606, 1 => unnamed_net562, 2 => unnamed_net607, 1 => unnamed_net599, 2 => unnamed_net608, 1 => unnamed_net606, 2 => unnamed_net609, 1 => unnamed_net601, 2 => unnamed_net610, 1 => unnamed_net608, 2 => unnamed_net611, 1 => unnamed_net603, 2 => unnamed_net612, 1 => unnamed_net610, 2 => unnamed_net613, 1 => unnamed_net256, 2 => unnamed_net614, 1 => unnamed_net604, 2 => unnamed_net615, 1 => unnamed_net266, 2 => unnamed_net616, 1 => unnamed_net614, 2 => unnamed_net617, 1 => unnamed_net268, 2 => unnamed_net618, 1 => unnamed_net616, 2 => unnamed_net619, 1 => unnamed_net270, 2 => unnamed_net620, 1 => unnamed_net618, 2 => unnamed_net621, 1 => unnamed_net605, 2 => unnamed_net622, 1 => unnamed_net612, 2 => unnamed_net623, 1 => unnamed_net615, 2 => unnamed_net624, 1 => unnamed_net622, 2 => unnamed_net625, 1 => unnamed_net617, 2 => unnamed_net626, 1 => unnamed_net624, 2 => unnamed_net627, 1 => unnamed_net619, 2 => unnamed_net628, 1 => unnamed_net626, 2 => unnamed_net629, 1 => unnamed_net563, 2 => unnamed_net630, 1 => unnamed_net588, 2 => unnamed_net631, 1 => unnamed_net607, 2 => unnamed_net632, 1 => unnamed_net630, 2 => unnamed_net633, 1 => unnamed_net609, 2 => unnamed_net634, 1 => unnamed_net632, 2 => unnamed_net635, 1 => unnamed_net611, 2 => unnamed_net636, 1 => unnamed_net634, 2 => unnamed_net637, 1 => unnamed_net589, 2 => unnamed_net638, 1 => unnamed_net596, 2 => unnamed_net639, 1 => unnamed_net631, 2 => unnamed_net640, 1 => unnamed_net638, 2 => unnamed_net641, 1 => unnamed_net633, 2 => unnamed_net642, 1 => unnamed_net640, 2 => unnamed_net643, 1 => unnamed_net635, 2 => unnamed_net644, 1 => unnamed_net642, 2 => unnamed_net645, 1 => unnamed_net613, 2 => unnamed_net646, 1 => unnamed_net636, 2 => unnamed_net647, 1 => unnamed_net623, 2 => unnamed_net648, 1 => unnamed_net646, 2 => unnamed_net649, 1 => unnamed_net625, 2 => unnamed_net650, 1 => unnamed_net648, 2 => unnamed_net651, 1 => unnamed_net627, 2 => unnamed_net652, 1 => unnamed_net650, 2 => unnamed_net653, 1 => unnamed_net637, 2 => unnamed_net654, 1 => unnamed_net644, 2 => unnamed_net655, 1 => unnamed_net647, 2 => unnamed_net656, 1 => unnamed_net654, 2 => unnamed_net657, 1 => unnamed_net649, 2 => unnamed_net658, 1 => unnamed_net656, 2 => unnamed_net659, 1 => unnamed_net651, 2 => unnamed_net660, 1 => unnamed_net658, 2 => unnamed_net661, 1 => unnamed_net574, 2 => unnamed_net662, 1 => unnamed_net663, 2 => unnamed_net664, 1 => unnamed_net575, 2 => unnamed_net665, 1 => unnamed_net662, 2 => unnamed_net666, 1 => unnamed_net577, 2 => unnamed_net667, 1 => unnamed_net665, 2 => unnamed_net668, 1 => unnamed_net579, 2 => unnamed_net669, 1 => unnamed_net667, 2 => unnamed_net670, 1 => unnamed_net663, 2 => unnamed_net671, 1 => unnamed_net672, 2 => unnamed_net673, 1 => unnamed_net664, 2 => unnamed_net674, 1 => unnamed_net671, 2 => unnamed_net675, 1 => unnamed_net666, 2 => unnamed_net676, 1 => unnamed_net674, 2 => unnamed_net677, 1 => unnamed_net668, 2 => unnamed_net678, 1 => unnamed_net676, 2 => unnamed_net679, 1 => unnamed_net581, 2 => unnamed_net680, 1 => unnamed_net669, 2 => unnamed_net681, 1 => unnamed_net591, 2 => unnamed_net682, 1 => unnamed_net680, 2 => unnamed_net683, 1 => unnamed_net593, 2 => unnamed_net684, 1 => unnamed_net682, 2 => unnamed_net685, 1 => unnamed_net595, 2 => unnamed_net686, 1 => unnamed_net684, 2 => unnamed_net687, 1 => unnamed_net670, 2 => unnamed_net688, 1 => unnamed_net678, 2 => unnamed_net689, 1 => unnamed_net681, 2 => unnamed_net690, 1 => unnamed_net688, 2 => unnamed_net691, 1 => unnamed_net683, 2 => unnamed_net692, 1 => unnamed_net690, 2 => unnamed_net693, 1 => unnamed_net685, 2 => unnamed_net694, 1 => unnamed_net692, 2 => unnamed_net695, 1 => unnamed_net672, 2 => unnamed_net696, 1 => unnamed_net697, 2 => unnamed_net698, 1 => unnamed_net673, 2 => unnamed_net699, 1 => unnamed_net696, 2 => unnamed_net700, 1 => unnamed_net675, 2 => unnamed_net701, 1 => unnamed_net699, 2 => unnamed_net702, 1 => unnamed_net677, 2 => unnamed_net703, 1 => unnamed_net701, 2 => unnamed_net704, 1 => unnamed_net697, 2 => unnamed_net705, 1 => unnamed_net706, 2 => unnamed_net707, 1 => unnamed_net698, 2 => unnamed_net708, 1 => unnamed_net705, 2 => unnamed_net707, 1 => unnamed_net700, 2 => unnamed_net709, 1 => unnamed_net708, 2 => unnamed_net710, 1 => unnamed_net702, 2 => unnamed_net711, 1 => unnamed_net709, 2 => unnamed_net710, 1 => unnamed_net679, 2 => unnamed_net712, 1 => unnamed_net703, 2 => unnamed_net713, 1 => unnamed_net689, 2 => unnamed_net714, 1 => unnamed_net712, 2 => unnamed_net715, 1 => unnamed_net691, 2 => unnamed_net716, 1 => unnamed_net714, 2 => unnamed_net717, 1 => unnamed_net693, 2 => unnamed_net718, 1 => unnamed_net716, 2 => unnamed_net719, 1 => unnamed_net704, 2 => unnamed_net720, 1 => unnamed_net711, 2 => unnamed_net721, 1 => unnamed_net713, 2 => unnamed_net722, 1 => unnamed_net720, 2 => unnamed_net721, 1 => unnamed_net715, 2 => unnamed_net723, 1 => unnamed_net722, 2 => unnamed_net724, 1 => unnamed_net717, 2 => unnamed_net725, 1 => unnamed_net723, 2 => unnamed_net724, 1 => unnamed_net597, 2 => unnamed_net726, 1 => unnamed_net686, 2 => unnamed_net727, 1 => unnamed_net639, 2 => unnamed_net728, 1 => unnamed_net726, 2 => unnamed_net729, 1 => unnamed_net641, 2 => unnamed_net730, 1 => unnamed_net728, 2 => unnamed_net731, 1 => unnamed_net643, 2 => unnamed_net732, 1 => unnamed_net730, 2 => unnamed_net733, 1 => unnamed_net687, 2 => unnamed_net734, 1 => unnamed_net694, 2 => unnamed_net735, 1 => unnamed_net727, 2 => unnamed_net736, 1 => unnamed_net734, 2 => unnamed_net737, 1 => unnamed_net729, 2 => unnamed_net738, 1 => unnamed_net736, 2 => unnamed_net739, 1 => unnamed_net731, 2 => unnamed_net740, 1 => unnamed_net738, 2 => unnamed_net741, 1 => unnamed_net645, 2 => unnamed_net742, 1 => unnamed_net732, 2 => unnamed_net743, 1 => unnamed_net655, 2 => unnamed_net744, 1 => unnamed_net742, 2 => unnamed_net745, 1 => unnamed_net657, 2 => unnamed_net746, 1 => unnamed_net744, 2 => unnamed_net747, 1 => unnamed_net659, 2 => unnamed_net748, 1 => unnamed_net746, 2 => unnamed_net749, 1 => unnamed_net733, 2 => unnamed_net750, 1 => unnamed_net740, 2 => unnamed_net751, 1 => unnamed_net743, 2 => unnamed_net752, 1 => unnamed_net750, 2 => unnamed_net753, 1 => unnamed_net745, 2 => unnamed_net754, 1 => unnamed_net752, 2 => unnamed_net755, 1 => unnamed_net747, 2 => unnamed_net756, 1 => unnamed_net754, 2 => unnamed_net757, 1 => unnamed_net695, 2 => unnamed_net758, 1 => unnamed_net718, 2 => unnamed_net759, 1 => unnamed_net735, 2 => unnamed_net760, 1 => unnamed_net758, 2 => unnamed_net761, 1 => unnamed_net737, 2 => unnamed_net762, 1 => unnamed_net760, 2 => unnamed_net763, 1 => unnamed_net739, 2 => unnamed_net764, 1 => unnamed_net762, 2 => unnamed_net765, 1 => unnamed_net719, 2 => unnamed_net766, 1 => unnamed_net725, 2 => unnamed_net767, 1 => unnamed_net759, 2 => unnamed_net768, 1 => unnamed_net766, 2 => unnamed_net767, 1 => unnamed_net761, 2 => unnamed_net769, 1 => unnamed_net768, 2 => unnamed_net770, 1 => unnamed_net763, 2 => unnamed_net771, 1 => unnamed_net769, 2 => unnamed_net770, 1 => unnamed_net741, 2 => unnamed_net772, 1 => unnamed_net764, 2 => unnamed_net773, 1 => unnamed_net751, 2 => unnamed_net774, 1 => unnamed_net772, 2 => unnamed_net775, 1 => unnamed_net753, 2 => unnamed_net776, 1 => unnamed_net774, 2 => unnamed_net777, 1 => unnamed_net755, 2 => unnamed_net778, 1 => unnamed_net776, 2 => unnamed_net779, 1 => unnamed_net765, 2 => unnamed_net780, 1 => unnamed_net771, 2 => unnamed_net781, 1 => unnamed_net773, 2 => unnamed_net782, 1 => unnamed_net780, 2 => unnamed_net781, 1 => unnamed_net775, 2 => unnamed_net783, 1 => unnamed_net782, 2 => unnamed_net784, 1 => unnamed_net777, 2 => unnamed_net785, 1 => unnamed_net783, 2 => unnamed_net784, 1 => unnamed_net272, 2 => unnamed_net786, 1 => unnamed_net620, 2 => unnamed_net787, 1 => unnamed_net447, 2 => unnamed_net788, 1 => unnamed_net786, 2 => unnamed_net789, 1 => unnamed_net449, 2 => unnamed_net790, 1 => unnamed_net788, 2 => unnamed_net791, 1 => unnamed_net451, 2 => unnamed_net792, 1 => unnamed_net790, 2 => unnamed_net793, 1 => unnamed_net621, 2 => unnamed_net794, 1 => unnamed_net628, 2 => unnamed_net795, 1 => unnamed_net787, 2 => unnamed_net796, 1 => unnamed_net794, 2 => unnamed_net797, 1 => unnamed_net789, 2 => unnamed_net798, 1 => unnamed_net796, 2 => unnamed_net799, 1 => unnamed_net791, 2 => unnamed_net800, 1 => unnamed_net798, 2 => unnamed_net801, 1 => unnamed_net453, 2 => unnamed_net802, 1 => unnamed_net792, 2 => unnamed_net803, 1 => unnamed_net463, 2 => unnamed_net804, 1 => unnamed_net802, 2 => unnamed_net805, 1 => unnamed_net465, 2 => unnamed_net806, 1 => unnamed_net804, 2 => unnamed_net807, 1 => unnamed_net467, 2 => unnamed_net808, 1 => unnamed_net806, 2 => unnamed_net809, 1 => unnamed_net793, 2 => unnamed_net810, 1 => unnamed_net800, 2 => unnamed_net811, 1 => unnamed_net803, 2 => unnamed_net812, 1 => unnamed_net810, 2 => unnamed_net813, 1 => unnamed_net805, 2 => unnamed_net814, 1 => unnamed_net812, 2 => unnamed_net815, 1 => unnamed_net807, 2 => unnamed_net816, 1 => unnamed_net814, 2 => unnamed_net817, 1 => unnamed_net629, 2 => unnamed_net818, 1 => unnamed_net652, 2 => unnamed_net819, 1 => unnamed_net795, 2 => unnamed_net820, 1 => unnamed_net818, 2 => unnamed_net821, 1 => unnamed_net797, 2 => unnamed_net822, 1 => unnamed_net820, 2 => unnamed_net823, 1 => unnamed_net799, 2 => unnamed_net824, 1 => unnamed_net822, 2 => unnamed_net825, 1 => unnamed_net653, 2 => unnamed_net826, 1 => unnamed_net660, 2 => unnamed_net827, 1 => unnamed_net819, 2 => unnamed_net828, 1 => unnamed_net826, 2 => unnamed_net829, 1 => unnamed_net821, 2 => unnamed_net830, 1 => unnamed_net828, 2 => unnamed_net831, 1 => unnamed_net823, 2 => unnamed_net832, 1 => unnamed_net830, 2 => unnamed_net833, 1 => unnamed_net801, 2 => unnamed_net834, 1 => unnamed_net824, 2 => unnamed_net835, 1 => unnamed_net811, 2 => unnamed_net836, 1 => unnamed_net834, 2 => unnamed_net837, 1 => unnamed_net813, 2 => unnamed_net838, 1 => unnamed_net836, 2 => unnamed_net839, 1 => unnamed_net815, 2 => unnamed_net840, 1 => unnamed_net838, 2 => unnamed_net841, 1 => unnamed_net825, 2 => unnamed_net842, 1 => unnamed_net832, 2 => unnamed_net843, 1 => unnamed_net835, 2 => unnamed_net844, 1 => unnamed_net842, 2 => unnamed_net845, 1 => unnamed_net837, 2 => unnamed_net846, 1 => unnamed_net844, 2 => unnamed_net847, 1 => unnamed_net839, 2 => unnamed_net848, 1 => unnamed_net846, 2 => unnamed_net849, 1 => unnamed_net469, 2 => unnamed_net850, 1 => unnamed_net808, 2 => unnamed_net851, 1 => unnamed_net509, 2 => unnamed_net852, 1 => unnamed_net850, 2 => unnamed_net853, 1 => unnamed_net511, 2 => unnamed_net854, 1 => unnamed_net852, 2 => unnamed_net855, 1 => unnamed_net513, 2 => unnamed_net856, 1 => unnamed_net854, 2 => unnamed_net857, 1 => unnamed_net809, 2 => unnamed_net858, 1 => unnamed_net816, 2 => unnamed_net859, 1 => unnamed_net851, 2 => unnamed_net860, 1 => unnamed_net858, 2 => unnamed_net861, 1 => unnamed_net853, 2 => unnamed_net862, 1 => unnamed_net860, 2 => unnamed_net863, 1 => unnamed_net855, 2 => unnamed_net864, 1 => unnamed_net862, 2 => unnamed_net865, 1 => unnamed_net515, 2 => unnamed_net866, 1 => unnamed_net856, 2 => unnamed_net867, 1 => unnamed_net524, 2 => unnamed_net868, 1 => unnamed_net866, 2 => unnamed_net869, 1 => unnamed_net526, 2 => unnamed_net870, 1 => unnamed_net868, 2 => unnamed_net871, 1 => unnamed_net528, 2 => unnamed_net529, 1 => unnamed_net870, 2 => unnamed_net872, 1 => unnamed_net857, 2 => unnamed_net873, 1 => unnamed_net864, 2 => unnamed_net874, 1 => unnamed_net867, 2 => unnamed_net875, 1 => unnamed_net873, 2 => unnamed_net876, 1 => unnamed_net869, 2 => unnamed_net877, 1 => unnamed_net875, 2 => unnamed_net878, 1 => unnamed_net871, 2 => unnamed_net872, 1 => unnamed_net877, 2 => unnamed_net879, 1 => unnamed_net817, 2 => unnamed_net880, 1 => unnamed_net840, 2 => unnamed_net881, 1 => unnamed_net859, 2 => unnamed_net882, 1 => unnamed_net880, 2 => unnamed_net883, 1 => unnamed_net861, 2 => unnamed_net884, 1 => unnamed_net882, 2 => unnamed_net885, 1 => unnamed_net863, 2 => unnamed_net886, 1 => unnamed_net884, 2 => unnamed_net887, 1 => unnamed_net841, 2 => unnamed_net888, 1 => unnamed_net848, 2 => unnamed_net889, 1 => unnamed_net881, 2 => unnamed_net890, 1 => unnamed_net888, 2 => unnamed_net891, 1 => unnamed_net883, 2 => unnamed_net892, 1 => unnamed_net890, 2 => unnamed_net893, 1 => unnamed_net885, 2 => unnamed_net894, 1 => unnamed_net892, 2 => unnamed_net895, 1 => unnamed_net865, 2 => unnamed_net896, 1 => unnamed_net886, 2 => unnamed_net897, 1 => unnamed_net874, 2 => unnamed_net898, 1 => unnamed_net896, 2 => unnamed_net899, 1 => unnamed_net876, 2 => unnamed_net900, 1 => unnamed_net898, 2 => unnamed_net901, 1 => unnamed_net878, 2 => unnamed_net879, 1 => unnamed_net900, 2 => unnamed_net902, 1 => unnamed_net887, 2 => unnamed_net903, 1 => unnamed_net894, 2 => unnamed_net904, 1 => unnamed_net897, 2 => unnamed_net905, 1 => unnamed_net903, 2 => unnamed_net906, 1 => unnamed_net899, 2 => unnamed_net907, 1 => unnamed_net905, 2 => unnamed_net908, 1 => unnamed_net901, 2 => unnamed_net902, 1 => unnamed_net907, 2 => unnamed_net909, 1 => unnamed_net661, 2 => unnamed_net910, 1 => unnamed_net748, 2 => unnamed_net911, 1 => unnamed_net827, 2 => unnamed_net912, 1 => unnamed_net910, 2 => unnamed_net913, 1 => unnamed_net829, 2 => unnamed_net914, 1 => unnamed_net912, 2 => unnamed_net915, 1 => unnamed_net831, 2 => unnamed_net916, 1 => unnamed_net914, 2 => unnamed_net917, 1 => unnamed_net749, 2 => unnamed_net918, 1 => unnamed_net756, 2 => unnamed_net919, 1 => unnamed_net911, 2 => unnamed_net920, 1 => unnamed_net918, 2 => unnamed_net921, 1 => unnamed_net913, 2 => unnamed_net922, 1 => unnamed_net920, 2 => unnamed_net923, 1 => unnamed_net915, 2 => unnamed_net924, 1 => unnamed_net922, 2 => unnamed_net925, 1 => unnamed_net833, 2 => unnamed_net926, 1 => unnamed_net916, 2 => unnamed_net927, 1 => unnamed_net843, 2 => unnamed_net928, 1 => unnamed_net926, 2 => unnamed_net929, 1 => unnamed_net845, 2 => unnamed_net930, 1 => unnamed_net928, 2 => unnamed_net931, 1 => unnamed_net847, 2 => unnamed_net932, 1 => unnamed_net930, 2 => unnamed_net933, 1 => unnamed_net917, 2 => unnamed_net934, 1 => unnamed_net924, 2 => unnamed_net935, 1 => unnamed_net927, 2 => unnamed_net936, 1 => unnamed_net934, 2 => unnamed_net937, 1 => unnamed_net929, 2 => unnamed_net938, 1 => unnamed_net936, 2 => unnamed_net939, 1 => unnamed_net931, 2 => unnamed_net940, 1 => unnamed_net938, 2 => unnamed_net941, 1 => unnamed_net757, 2 => unnamed_net942, 1 => unnamed_net778, 2 => unnamed_net943, 1 => unnamed_net919, 2 => unnamed_net944, 1 => unnamed_net942, 2 => unnamed_net945, 1 => unnamed_net921, 2 => unnamed_net946, 1 => unnamed_net944, 2 => unnamed_net947, 1 => unnamed_net923, 2 => unnamed_net948, 1 => unnamed_net946, 2 => unnamed_net949, 1 => unnamed_net779, 2 => unnamed_net950, 1 => unnamed_net785, 2 => unnamed_net951, 1 => unnamed_net943, 2 => unnamed_net952, 1 => unnamed_net950, 2 => unnamed_net951, 1 => unnamed_net945, 2 => unnamed_net953, 1 => unnamed_net952, 2 => unnamed_net954, 1 => unnamed_net947, 2 => unnamed_net955, 1 => unnamed_net953, 2 => unnamed_net954, 1 => unnamed_net925, 2 => unnamed_net956, 1 => unnamed_net948, 2 => unnamed_net957, 1 => unnamed_net935, 2 => unnamed_net958, 1 => unnamed_net956, 2 => unnamed_net959, 1 => unnamed_net937, 2 => unnamed_net960, 1 => unnamed_net958, 2 => unnamed_net961, 1 => unnamed_net939, 2 => unnamed_net962, 1 => unnamed_net960, 2 => unnamed_net963, 1 => unnamed_net949, 2 => unnamed_net964, 1 => unnamed_net955, 2 => unnamed_net965, 1 => unnamed_net957, 2 => unnamed_net966, 1 => unnamed_net964, 2 => unnamed_net965, 1 => unnamed_net959, 2 => unnamed_net967, 1 => unnamed_net966, 2 => unnamed_net968, 1 => unnamed_net961, 2 => unnamed_net969, 1 => unnamed_net967, 2 => unnamed_net968, 1 => unnamed_net849, 2 => unnamed_net970, 1 => unnamed_net932, 2 => unnamed_net971, 1 => unnamed_net889, 2 => unnamed_net972, 1 => unnamed_net970, 2 => unnamed_net973, 1 => unnamed_net891, 2 => unnamed_net974, 1 => unnamed_net972, 2 => unnamed_net975, 1 => unnamed_net893, 2 => unnamed_net976, 1 => unnamed_net974, 2 => unnamed_net977, 1 => unnamed_net933, 2 => unnamed_net978, 1 => unnamed_net940, 2 => unnamed_net979, 1 => unnamed_net971, 2 => unnamed_net980, 1 => unnamed_net978, 2 => unnamed_net981, 1 => unnamed_net973, 2 => unnamed_net982, 1 => unnamed_net980, 2 => unnamed_net983, 1 => unnamed_net975, 2 => unnamed_net984, 1 => unnamed_net982, 2 => unnamed_net985, 1 => unnamed_net895, 2 => unnamed_net986, 1 => unnamed_net976, 2 => unnamed_net987, 1 => unnamed_net904, 2 => unnamed_net988, 1 => unnamed_net986, 2 => unnamed_net989, 1 => unnamed_net906, 2 => unnamed_net990, 1 => unnamed_net988, 2 => unnamed_net991, 1 => unnamed_net908, 2 => unnamed_net909, 1 => unnamed_net990, 2 => unnamed_net992, 1 => unnamed_net977, 2 => unnamed_net993, 1 => unnamed_net984, 2 => unnamed_net994, 1 => unnamed_net987, 2 => unnamed_net995, 1 => unnamed_net993, 2 => unnamed_net996, 1 => unnamed_net989, 2 => unnamed_net997, 1 => unnamed_net995, 2 => unnamed_net998, 1 => unnamed_net991, 2 => unnamed_net992, 1 => unnamed_net997, 2 => unnamed_net999, 1 => unnamed_net941, 2 => unnamed_net1000, 1 => unnamed_net962, 2 => unnamed_net1001, 1 => unnamed_net979, 2 => unnamed_net1002, 1 => unnamed_net1000, 2 => unnamed_net1003, 1 => unnamed_net981, 2 => unnamed_net1004, 1 => unnamed_net1002, 2 => unnamed_net1005, 1 => unnamed_net983, 2 => unnamed_net1006, 1 => unnamed_net1004, 2 => unnamed_net1007, 1 => unnamed_net963, 2 => unnamed_net1008, 1 => unnamed_net969, 2 => unnamed_net1009, 1 => unnamed_net1001, 2 => unnamed_net1010, 1 => unnamed_net1008, 2 => unnamed_net1009, 1 => unnamed_net1003, 2 => unnamed_net1011, 1 => unnamed_net1010, 2 => unnamed_net1012, 1 => unnamed_net1005, 2 => unnamed_net1013, 1 => unnamed_net1011, 2 => unnamed_net1012, 1 => unnamed_net985, 2 => unnamed_net1014, 1 => unnamed_net1006, 2 => unnamed_net1015, 1 => unnamed_net994, 2 => unnamed_net1016, 1 => unnamed_net1014, 2 => unnamed_net1017, 1 => unnamed_net996, 2 => unnamed_net1018, 1 => unnamed_net1016, 2 => unnamed_net1019, 1 => unnamed_net998, 2 => unnamed_net999, 1 => unnamed_net1018, 2 => unnamed_net1020, 1 => unnamed_net1007, 2 => unnamed_net1021, 1 => unnamed_net1013, 2 => unnamed_net1022, 1 => unnamed_net1015, 2 => unnamed_net1023, 1 => unnamed_net1021, 2 => unnamed_net1022, 1 => unnamed_net1017, 2 => unnamed_net1024, 1 => unnamed_net1023, 2 => unnamed_net1025, 1 => unnamed_net1019, 2 => unnamed_net1020, 1 => unnamed_net1024, 2 => unnamed_net1025); END ARCHITECTURE default_architecture; geda-gaf-1.8.2/gnetlist/tests/common/outputs/vams/JD_Sort.retcode0000664000175000017500000000000212050461155021716 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vams/cascade-output.net0000664000175000017500000000361512050461155022511 00000000000000-- Structural VAMS generated by gnetlist -- Secondary unit ARCHITECTURE default_architecture OF default_entity IS unknown unnamed_net6 : unknown; unknown unnamed_net5 : unknown; unknown unnamed_net4 : unknown; unknown unnamed_net3 : unknown; unknown unnamed_net2 : unknown; unknown unnamed_net1 : unknown; unknown GND : unknown; BEGIN -- Architecture statement part AMP2 : ENTITY cascade-amp GENERIC MAP ( IIP3 => 12, NF => 12, G => 10, footprint => none, device => cascade-amp) PORT MAP ( 1 => unnamed_net6, 2 => OPEN); T1 : ENTITY cascade-transformer GENERIC MAP ( ROUT => 50, RIN => 50, NF => 0, G => 0, footprint => none, device => cascade-transformer) PORT MAP ( 1 => unnamed_net5, 2 => unnamed_net6); MX1 : ENTITY cascade-mixer GENERIC MAP ( IIP3 => 5, NF => 15, G => 12, device => cascade-mixer, footprint => none) PORT MAP ( 1 => unnamed_net4, 2 => unnamed_net5); FL1 : ENTITY cascade-filter GENERIC MAP ( NF => 5.5, G => -5.5, device => cascade-filter, footprint => none) PORT MAP ( 1 => unnamed_net3, 2 => unnamed_net4); DEF1 : ENTITY cascade-defaults GENERIC MAP ( footprint => none, RHO => 0.2, ROUT => 50, RIN => 50, device => cascade-defaults) PORT MAP ( 1 => unnamed_net2, 2 => unnamed_net3); AMP1 : ENTITY cascade-amp GENERIC MAP ( IIP3 => -2, NF => 5, G => 12, footprint => none, device => cascade-amp) PORT MAP ( 1 => unnamed_net1, 2 => unnamed_net2); SOURCE : ENTITY cascade-source GENERIC MAP ( BW => 1, CN => 70, C => 0, footprint => none, device => cascade-source) PORT MAP ( 1 => unnamed_net1); DEFAULTS : ENTITY cascade-defaults-top GENERIC MAP ( RHO => 0, ROUT => 50, RIN => 50, device => cascade-defaults-top) PORT MAP ( 1 => GND); END ARCHITECTURE default_architecture; geda-gaf-1.8.2/gnetlist/tests/common/outputs/vams/multiequal-output.net0000664000175000017500000000102212050461155023276 00000000000000-- Structural VAMS generated by gnetlist -- Secondary unit ARCHITECTURE default_architecture OF default_entity IS unknown GND : unknown; unknown unnamed_net1 : unknown; BEGIN -- Architecture statement part V1 : ENTITY VOLTAGE_SOURCE GENERIC MAP ( value => DC 1V) PORT MAP ( 1 => unnamed_net1, 2 => GND); R1 : ENTITY RESISTOR GENERIC MAP ( value => 20) PORT MAP ( 2 => unnamed_net1, 1 => GND); A1 : ENTITY options GENERIC MAP ( value => abotol=1e-11) ; END ARCHITECTURE default_architecture; geda-gaf-1.8.2/gnetlist/tests/common/outputs/vams/JD_nomunge-output.net0000664000175000017500000000321012050461155023142 00000000000000-- Structural VAMS generated by gnetlist -- Secondary unit ARCHITECTURE default_architecture OF default_entity IS unknown Vdd1 : unknown; unknown GND : unknown; unknown LVH : unknown; unknown i : unknown; unknown p : unknown; unknown m : unknown; BEGIN -- Architecture statement part A1 : ENTITY model GENERIC MAP ( file => ./models/openIP_5.cir, model-name => unknown_LVD, device => model) ; Cm : ENTITY CAPACITOR GENERIC MAP ( device => CAPACITOR, value => 20p, symversion => 0.1) PORT MAP ( 1 => m, 2 => GND); Cp : ENTITY CAPACITOR GENERIC MAP ( value => 20p, symversion => 0.1) PORT MAP ( 1 => p, 2 => GND); Rlp : ENTITY RESISTOR GENERIC MAP ( value => 1meg) PORT MAP ( 2 => Vdd1, 1 => p); Rlm : ENTITY RESISTOR GENERIC MAP ( value => 500k) PORT MAP ( 2 => GND, 1 => m); Vdd : ENTITY VOLTAGE_SOURCE GENERIC MAP ( value => DC 3.3V) PORT MAP ( 1 => Vdd1, 2 => GND); V1 : ENTITY vpulse GENERIC MAP ( value => pulse 3.3 0 1u 10p 10p 1.25u 2.5u) PORT MAP ( 1 => i, 2 => GND); Rt : ENTITY RESISTOR GENERIC MAP ( value => 1k) PORT MAP ( 2 => m, 1 => p); Rb : ENTITY RESISTOR GENERIC MAP ( device => RESISTOR, value => 5.6k) PORT MAP ( 2 => LVH, 1 => GND); M1 : ENTITY PMOS_TRANSISTOR GENERIC MAP ( m => 36, l => 3u, w => 3u, model-name => pch) PORT MAP ( S => Vdd1, B => Vdd1, D => LVH, G => LVH); X1 : ENTITY LVD GENERIC MAP ( model-name => unknown_LVD) PORT MAP ( 4 => m, 5 => p, 1 => i, 3 => LVH, 2 => GND, 6 => Vdd1, 7 => GND); END ARCHITECTURE default_architecture; geda-gaf-1.8.2/gnetlist/tests/common/outputs/vams/stack-torture.retcode0000664000175000017500000000000212063576065023234 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vams/powersupply.retcode0000664000175000017500000000000212050461155023023 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vams/JD_Sort_nomunge-output.net0000664000175000017500000000321012050461155024151 00000000000000-- Structural VAMS generated by gnetlist -- Secondary unit ARCHITECTURE default_architecture OF default_entity IS unknown Vdd1 : unknown; unknown GND : unknown; unknown LVH : unknown; unknown i : unknown; unknown p : unknown; unknown m : unknown; BEGIN -- Architecture statement part A1 : ENTITY model GENERIC MAP ( file => ./models/openIP_5.cir, model-name => unknown_LVD, device => model) ; Cm : ENTITY CAPACITOR GENERIC MAP ( device => CAPACITOR, value => 20p, symversion => 0.1) PORT MAP ( 1 => m, 2 => GND); Cp : ENTITY CAPACITOR GENERIC MAP ( value => 20p, symversion => 0.1) PORT MAP ( 1 => p, 2 => GND); Rlp : ENTITY RESISTOR GENERIC MAP ( value => 1meg) PORT MAP ( 2 => Vdd1, 1 => p); Rlm : ENTITY RESISTOR GENERIC MAP ( value => 500k) PORT MAP ( 2 => GND, 1 => m); Vdd : ENTITY VOLTAGE_SOURCE GENERIC MAP ( value => DC 3.3V) PORT MAP ( 1 => Vdd1, 2 => GND); V1 : ENTITY vpulse GENERIC MAP ( value => pulse 3.3 0 1u 10p 10p 1.25u 2.5u) PORT MAP ( 1 => i, 2 => GND); Rt : ENTITY RESISTOR GENERIC MAP ( value => 1k) PORT MAP ( 2 => m, 1 => p); Rb : ENTITY RESISTOR GENERIC MAP ( device => RESISTOR, value => 5.6k) PORT MAP ( 2 => LVH, 1 => GND); M1 : ENTITY PMOS_TRANSISTOR GENERIC MAP ( m => 36, l => 3u, w => 3u, model-name => pch) PORT MAP ( S => Vdd1, B => Vdd1, D => LVH, G => LVH); X1 : ENTITY LVD GENERIC MAP ( model-name => unknown_LVD) PORT MAP ( 4 => m, 5 => p, 1 => i, 3 => LVH, 2 => GND, 6 => Vdd1, 7 => GND); END ARCHITECTURE default_architecture; geda-gaf-1.8.2/gnetlist/tests/common/outputs/vams/TwoStageAmp_Sort.retcode0000664000175000017500000000000212050461155023614 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vams/netattrib.retcode0000664000175000017500000000000212050461155022406 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vams/JD_nomunge.retcode0000664000175000017500000000000212050461155022437 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vams/JD_Include-output.net0000664000175000017500000000321012050461155023055 00000000000000-- Structural VAMS generated by gnetlist -- Secondary unit ARCHITECTURE default_architecture OF default_entity IS unknown Vdd1 : unknown; unknown GND : unknown; unknown LVH : unknown; unknown i : unknown; unknown p : unknown; unknown m : unknown; BEGIN -- Architecture statement part A1 : ENTITY model GENERIC MAP ( file => ./models/openIP_5.cir, model-name => unknown_LVD, device => model) ; Cm : ENTITY CAPACITOR GENERIC MAP ( device => CAPACITOR, value => 20p, symversion => 0.1) PORT MAP ( 1 => m, 2 => GND); Cp : ENTITY CAPACITOR GENERIC MAP ( value => 20p, symversion => 0.1) PORT MAP ( 1 => p, 2 => GND); Rlp : ENTITY RESISTOR GENERIC MAP ( value => 1meg) PORT MAP ( 2 => Vdd1, 1 => p); Rlm : ENTITY RESISTOR GENERIC MAP ( value => 500k) PORT MAP ( 2 => GND, 1 => m); Vdd : ENTITY VOLTAGE_SOURCE GENERIC MAP ( value => DC 3.3V) PORT MAP ( 1 => Vdd1, 2 => GND); V1 : ENTITY vpulse GENERIC MAP ( value => pulse 3.3 0 1u 10p 10p 1.25u 2.5u) PORT MAP ( 1 => i, 2 => GND); Rt : ENTITY RESISTOR GENERIC MAP ( value => 1k) PORT MAP ( 2 => m, 1 => p); Rb : ENTITY RESISTOR GENERIC MAP ( device => RESISTOR, value => 5.6k) PORT MAP ( 2 => LVH, 1 => GND); M1 : ENTITY PMOS_TRANSISTOR GENERIC MAP ( m => 36, l => 3u, w => 3u, model-name => pch) PORT MAP ( S => Vdd1, B => Vdd1, D => LVH, G => LVH); X1 : ENTITY LVD GENERIC MAP ( model-name => unknown_LVD) PORT MAP ( 4 => m, 5 => p, 1 => i, 3 => LVH, 2 => GND, 6 => Vdd1, 7 => GND); END ARCHITECTURE default_architecture; geda-gaf-1.8.2/gnetlist/tests/common/outputs/vams/JD_Sort-output.net0000664000175000017500000000321012050461155022421 00000000000000-- Structural VAMS generated by gnetlist -- Secondary unit ARCHITECTURE default_architecture OF default_entity IS unknown Vdd1 : unknown; unknown GND : unknown; unknown LVH : unknown; unknown i : unknown; unknown p : unknown; unknown m : unknown; BEGIN -- Architecture statement part A1 : ENTITY model GENERIC MAP ( file => ./models/openIP_5.cir, model-name => unknown_LVD, device => model) ; Cm : ENTITY CAPACITOR GENERIC MAP ( device => CAPACITOR, value => 20p, symversion => 0.1) PORT MAP ( 1 => m, 2 => GND); Cp : ENTITY CAPACITOR GENERIC MAP ( value => 20p, symversion => 0.1) PORT MAP ( 1 => p, 2 => GND); Rlp : ENTITY RESISTOR GENERIC MAP ( value => 1meg) PORT MAP ( 2 => Vdd1, 1 => p); Rlm : ENTITY RESISTOR GENERIC MAP ( value => 500k) PORT MAP ( 2 => GND, 1 => m); Vdd : ENTITY VOLTAGE_SOURCE GENERIC MAP ( value => DC 3.3V) PORT MAP ( 1 => Vdd1, 2 => GND); V1 : ENTITY vpulse GENERIC MAP ( value => pulse 3.3 0 1u 10p 10p 1.25u 2.5u) PORT MAP ( 1 => i, 2 => GND); Rt : ENTITY RESISTOR GENERIC MAP ( value => 1k) PORT MAP ( 2 => m, 1 => p); Rb : ENTITY RESISTOR GENERIC MAP ( device => RESISTOR, value => 5.6k) PORT MAP ( 2 => LVH, 1 => GND); M1 : ENTITY PMOS_TRANSISTOR GENERIC MAP ( m => 36, l => 3u, w => 3u, model-name => pch) PORT MAP ( S => Vdd1, B => Vdd1, D => LVH, G => LVH); X1 : ENTITY LVD GENERIC MAP ( model-name => unknown_LVD) PORT MAP ( 4 => m, 5 => p, 1 => i, 3 => LVH, 2 => GND, 6 => Vdd1, 7 => GND); END ARCHITECTURE default_architecture; geda-gaf-1.8.2/gnetlist/tests/common/outputs/vams/cascade.retcode0000664000175000017500000000000212050461155021775 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vams/TwoStageAmp_Sort-output.net0000664000175000017500000000674612050461155024340 00000000000000-- Structural VAMS generated by gnetlist -- Secondary unit ARCHITECTURE default_architecture OF default_entity IS unknown unnamed_net2 : unknown; unknown Vbase2 : unknown; unknown Vem2 : unknown; unknown Vout : unknown; unknown VColl2 : unknown; unknown GND : unknown; unknown Vcc : unknown; unknown Vin : unknown; unknown unnamed_net1 : unknown; unknown Vbase1 : unknown; unknown Vem1 : unknown; unknown Vcoll1 : unknown; BEGIN -- Architecture statement part C2 : ENTITY CAPACITOR GENERIC MAP ( symversion => 0.1, device => CAPACITOR, value => 2.2uF) PORT MAP ( 1 => unnamed_net2, 2 => Vbase2); R4 : ENTITY RESISTOR GENERIC MAP ( device => RESISTOR, value => 2.8K) PORT MAP ( 2 => Vbase2, 1 => GND); R3 : ENTITY RESISTOR GENERIC MAP ( device => RESISTOR, value => 28K) PORT MAP ( 2 => Vcc, 1 => Vbase2); R8 : ENTITY RESISTOR GENERIC MAP ( device => RESISTOR, value => 1) PORT MAP ( 2 => unnamed_net2, 1 => Vcoll1); CE2 : ENTITY CAPACITOR GENERIC MAP ( symversion => 0.1, device => CAPACITOR, value => 1pF) PORT MAP ( 1 => GND, 2 => Vem2); RE2 : ENTITY RESISTOR GENERIC MAP ( device => RESISTOR, value => 100) PORT MAP ( 2 => Vem2, 1 => GND); RC1 : ENTITY RESISTOR GENERIC MAP ( device => RESISTOR, value => 3.3K) PORT MAP ( 2 => Vcc, 1 => Vcoll1); Q2 : ENTITY NPN_TRANSISTOR GENERIC MAP ( device => NPN_TRANSISTOR, model-name => 2N3904) PORT MAP ( 3 => VColl2, 1 => Vem2, 2 => Vbase2); C1 : ENTITY CAPACITOR GENERIC MAP ( symversion => 0.1, device => CAPACITOR, value => 2.2uF) PORT MAP ( 1 => unnamed_net1, 2 => Vbase1); A3 : ENTITY directive GENERIC MAP ( device => directive, value => .options TEMP=25) ; A2 : ENTITY include GENERIC MAP ( device => include, file => Simulation.cmd) ; A1 : ENTITY model GENERIC MAP ( device => model, file => ./models/2N3904.mod, model-name => 2N3904) ; VCC : ENTITY VOLTAGE_SOURCE GENERIC MAP ( footprint => none, device => VOLTAGE_SOURCE, value => DC 15V) PORT MAP ( 1 => Vcc, 2 => GND); Vinput : ENTITY vsin GENERIC MAP ( footprint => none, device => vsin, value => DC 1.6V AC 10MV SIN(0 1MV 1KHZ)) PORT MAP ( 1 => Vin, 2 => GND); CE1 : ENTITY CAPACITOR GENERIC MAP ( symversion => 0.1, device => CAPACITOR, value => 1pF) PORT MAP ( 1 => GND, 2 => Vem1); Cout : ENTITY CAPACITOR GENERIC MAP ( symversion => 0.1, device => CAPACITOR, value => 2.2uF) PORT MAP ( 1 => VColl2, 2 => Vout); RL : ENTITY RESISTOR GENERIC MAP ( device => RESISTOR, value => 100K) PORT MAP ( 2 => Vout, 1 => GND); RC2 : ENTITY RESISTOR GENERIC MAP ( device => RESISTOR, value => 1K) PORT MAP ( 2 => Vcc, 1 => VColl2); RE1 : ENTITY RESISTOR GENERIC MAP ( device => RESISTOR, value => 100) PORT MAP ( 2 => Vem1, 1 => GND); R2 : ENTITY RESISTOR GENERIC MAP ( device => RESISTOR, value => 2K) PORT MAP ( 2 => Vbase1, 1 => GND); R1 : ENTITY RESISTOR GENERIC MAP ( device => RESISTOR, value => 28K) PORT MAP ( 2 => Vcc, 1 => Vbase1); R5 : ENTITY RESISTOR GENERIC MAP ( device => RESISTOR, value => 10) PORT MAP ( 2 => unnamed_net1, 1 => Vin); Q1 : ENTITY NPN_TRANSISTOR GENERIC MAP ( device => NPN_TRANSISTOR, model-name => 2N3904) PORT MAP ( 3 => Vcoll1, 1 => Vem1, 2 => Vbase1); END ARCHITECTURE default_architecture; geda-gaf-1.8.2/gnetlist/tests/common/outputs/vams/singlenet-output.net0000664000175000017500000000112112050461155023104 00000000000000-- Structural VAMS generated by gnetlist -- Secondary unit ARCHITECTURE default_architecture OF default_entity IS unknown SING_N_2 : unknown; unknown GND : unknown; unknown Vcc : unknown; unknown SING_N : unknown; BEGIN -- Architecture statement part U100 : ENTITY 7400 GENERIC MAP ( slot => 2) PORT MAP ( 6 => SING_N, 5 => SING_N, 4 => SING_N, 14 => Vcc, 7 => GND, 3 => SING_N_2, 2 => OPEN, 1 => SING_N_2, 14 => Vcc, 7 => GND, 8 => SING_N, 10 => SING_N, 9 => SING_N, 14 => Vcc, 7 => GND); END ARCHITECTURE default_architecture; geda-gaf-1.8.2/gnetlist/tests/common/outputs/vams/TwoStageAmp_Include.retcode0000664000175000017500000000000212050461155024250 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vams/SlottedOpamps-output.net0000664000175000017500000000174612050461155023727 00000000000000-- Structural VAMS generated by gnetlist -- Secondary unit ARCHITECTURE default_architecture OF default_entity IS unknown minusin_slot4_pin13_b : unknown; unknown plusin_slot4_pin12_a : unknown; unknown minusin_slot3_pin_b : unknown; unknown plusin_slot3_pin10_a : unknown; unknown minusin_slot2_pin6_b : unknown; unknown plusin_slot2_pin5_a : unknown; unknown samenet_output_c : unknown; unknown minusin_slot1_pin_b : unknown; unknown plusin_slot1_pin3_a : unknown; BEGIN -- Architecture statement part U1 : ENTITY LM324 GENERIC MAP ( slot => 1, device => LM324) PORT MAP ( 3 => plusin_slot1_pin3_a, 2 => minusin_slot1_pin_b, 1 => samenet_output_c, 5 => plusin_slot2_pin5_a, 6 => minusin_slot2_pin6_b, 7 => samenet_output_c, 10 => plusin_slot3_pin10_a, 9 => minusin_slot3_pin_b, 8 => samenet_output_c, 12 => plusin_slot4_pin12_a, 13 => minusin_slot4_pin13_b, 14 => samenet_output_c); END ARCHITECTURE default_architecture; geda-gaf-1.8.2/gnetlist/tests/common/outputs/vams/TwoStageAmp_Include-output.net0000664000175000017500000000674612050461155024774 00000000000000-- Structural VAMS generated by gnetlist -- Secondary unit ARCHITECTURE default_architecture OF default_entity IS unknown unnamed_net2 : unknown; unknown Vbase2 : unknown; unknown Vem2 : unknown; unknown Vout : unknown; unknown VColl2 : unknown; unknown GND : unknown; unknown Vcc : unknown; unknown Vin : unknown; unknown unnamed_net1 : unknown; unknown Vbase1 : unknown; unknown Vem1 : unknown; unknown Vcoll1 : unknown; BEGIN -- Architecture statement part C2 : ENTITY CAPACITOR GENERIC MAP ( symversion => 0.1, device => CAPACITOR, value => 2.2uF) PORT MAP ( 1 => unnamed_net2, 2 => Vbase2); R4 : ENTITY RESISTOR GENERIC MAP ( device => RESISTOR, value => 2.8K) PORT MAP ( 2 => Vbase2, 1 => GND); R3 : ENTITY RESISTOR GENERIC MAP ( device => RESISTOR, value => 28K) PORT MAP ( 2 => Vcc, 1 => Vbase2); R8 : ENTITY RESISTOR GENERIC MAP ( device => RESISTOR, value => 1) PORT MAP ( 2 => unnamed_net2, 1 => Vcoll1); CE2 : ENTITY CAPACITOR GENERIC MAP ( symversion => 0.1, device => CAPACITOR, value => 1pF) PORT MAP ( 1 => GND, 2 => Vem2); RE2 : ENTITY RESISTOR GENERIC MAP ( device => RESISTOR, value => 100) PORT MAP ( 2 => Vem2, 1 => GND); RC1 : ENTITY RESISTOR GENERIC MAP ( device => RESISTOR, value => 3.3K) PORT MAP ( 2 => Vcc, 1 => Vcoll1); Q2 : ENTITY NPN_TRANSISTOR GENERIC MAP ( device => NPN_TRANSISTOR, model-name => 2N3904) PORT MAP ( 3 => VColl2, 1 => Vem2, 2 => Vbase2); C1 : ENTITY CAPACITOR GENERIC MAP ( symversion => 0.1, device => CAPACITOR, value => 2.2uF) PORT MAP ( 1 => unnamed_net1, 2 => Vbase1); A3 : ENTITY directive GENERIC MAP ( device => directive, value => .options TEMP=25) ; A2 : ENTITY include GENERIC MAP ( device => include, file => Simulation.cmd) ; A1 : ENTITY model GENERIC MAP ( device => model, file => ./models/2N3904.mod, model-name => 2N3904) ; VCC : ENTITY VOLTAGE_SOURCE GENERIC MAP ( footprint => none, device => VOLTAGE_SOURCE, value => DC 15V) PORT MAP ( 1 => Vcc, 2 => GND); Vinput : ENTITY vsin GENERIC MAP ( footprint => none, device => vsin, value => DC 1.6V AC 10MV SIN(0 1MV 1KHZ)) PORT MAP ( 1 => Vin, 2 => GND); CE1 : ENTITY CAPACITOR GENERIC MAP ( symversion => 0.1, device => CAPACITOR, value => 1pF) PORT MAP ( 1 => GND, 2 => Vem1); Cout : ENTITY CAPACITOR GENERIC MAP ( symversion => 0.1, device => CAPACITOR, value => 2.2uF) PORT MAP ( 1 => VColl2, 2 => Vout); RL : ENTITY RESISTOR GENERIC MAP ( device => RESISTOR, value => 100K) PORT MAP ( 2 => Vout, 1 => GND); RC2 : ENTITY RESISTOR GENERIC MAP ( device => RESISTOR, value => 1K) PORT MAP ( 2 => Vcc, 1 => VColl2); RE1 : ENTITY RESISTOR GENERIC MAP ( device => RESISTOR, value => 100) PORT MAP ( 2 => Vem1, 1 => GND); R2 : ENTITY RESISTOR GENERIC MAP ( device => RESISTOR, value => 2K) PORT MAP ( 2 => Vbase1, 1 => GND); R1 : ENTITY RESISTOR GENERIC MAP ( device => RESISTOR, value => 28K) PORT MAP ( 2 => Vcc, 1 => Vbase1); R5 : ENTITY RESISTOR GENERIC MAP ( device => RESISTOR, value => 10) PORT MAP ( 2 => unnamed_net1, 1 => Vin); Q1 : ENTITY NPN_TRANSISTOR GENERIC MAP ( device => NPN_TRANSISTOR, model-name => 2N3904) PORT MAP ( 3 => Vcoll1, 1 => Vem1, 2 => Vbase1); END ARCHITECTURE default_architecture; geda-gaf-1.8.2/gnetlist/tests/common/outputs/vams/singlenet.retcode0000664000175000017500000000000212050461155022402 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vams/JD_Include.retcode0000664000175000017500000000000212050461155022352 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vams/powersupply-output.net0000664000175000017500000000310112050461155023525 00000000000000-- Structural VAMS generated by gnetlist -- Secondary unit ARCHITECTURE default_architecture OF default_entity IS unknown ten : unknown; unknown eleven : unknown; unknown GND : unknown; unknown one : unknown; unknown five : unknown; unknown three : unknown; unknown two : unknown; unknown six : unknown; unknown seven : unknown; unknown nine : unknown; unknown eight : unknown; BEGIN -- Architecture statement part U2 : ENTITY LM317 PORT MAP ( 2 => eleven, 3 => eight, 1 => ten); C4 : ENTITY POLARIZED_CAPACITOR GENERIC MAP ( value => 1uf) PORT MAP ( 1 => eleven, 2 => nine); C3 : ENTITY POLARIZED_CAPACITOR GENERIC MAP ( value => 22uF) PORT MAP ( 1 => ten, 2 => nine); R1 : ENTITY VARIABLE_RESISTOR GENERIC MAP ( value => 5k) PORT MAP ( 3 => nine, 2 => ten, 1 => nine); C2 : ENTITY POLARIZED_CAPACITOR GENERIC MAP ( value => 0.1uF) PORT MAP ( 1 => eight, 2 => nine); R2 : ENTITY RESISTOR GENERIC MAP ( value => 220) PORT MAP ( 2 => eleven, 1 => ten); C1 : ENTITY POLARIZED_CAPACITOR GENERIC MAP ( value => 2200uF) PORT MAP ( 1 => eight, 2 => nine); S1 : ENTITY SPST PORT MAP ( 2 => two, 1 => one); CONN1 : ENTITY MAINS_CONNECTOR PORT MAP ( 1 => one, 2 => five, 3 => GND); T1 : ENTITY transformer PORT MAP ( 2 => five, 1 => three, 4 => seven, 3 => six); F1 : ENTITY FUSE PORT MAP ( 1 => two, 2 => three); U1 : ENTITY DIODE-BRIDGE PORT MAP ( 1 => eight, 2 => nine, 3 => seven, 4 => six); END ARCHITECTURE default_architecture; geda-gaf-1.8.2/gnetlist/tests/common/outputs/vams/netattrib-output.net0000664000175000017500000000134312050461155023116 00000000000000-- Structural VAMS generated by gnetlist -- Secondary unit ARCHITECTURE default_architecture OF default_entity IS unknown unnamed_net1 : unknown; unknown netattrib : unknown; unknown GND : unknown; unknown Vcc : unknown; unknown one : unknown; BEGIN -- Architecture statement part F1 : ENTITY FUSE PORT MAP ( 1 => one, 2 => OPEN); U300 : ENTITY 7404 PORT MAP ( 1 => one, 2 => unnamed_net1, 7 => GND, 14 => Vcc); U200 : ENTITY 7404 PORT MAP ( 1 => one, 2 => netattrib, 7 => GND, 14 => Vcc); U100 : ENTITY 7400 GENERIC MAP ( net => netattrib:5) PORT MAP ( 3 => one, 2 => OPEN, 1 => OPEN, 14 => Vcc, 7 => GND, 5 => netattrib); END ARCHITECTURE default_architecture; geda-gaf-1.8.2/gnetlist/tests/common/outputs/vams/SlottedOpamps.retcode0000664000175000017500000000000212050461155023210 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vams/JD.retcode0000664000175000017500000000000212050461155020707 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vams/multiequal.retcode0000664000175000017500000000000212050461155022574 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vams/JD_Sort_nomunge.retcode0000664000175000017500000000000212050461155023446 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/vams/TwoStageAmp-output.net0000664000175000017500000000674612050461155023331 00000000000000-- Structural VAMS generated by gnetlist -- Secondary unit ARCHITECTURE default_architecture OF default_entity IS unknown unnamed_net2 : unknown; unknown Vbase2 : unknown; unknown Vem2 : unknown; unknown Vout : unknown; unknown VColl2 : unknown; unknown GND : unknown; unknown Vcc : unknown; unknown Vin : unknown; unknown unnamed_net1 : unknown; unknown Vbase1 : unknown; unknown Vem1 : unknown; unknown Vcoll1 : unknown; BEGIN -- Architecture statement part C2 : ENTITY CAPACITOR GENERIC MAP ( symversion => 0.1, device => CAPACITOR, value => 2.2uF) PORT MAP ( 1 => unnamed_net2, 2 => Vbase2); R4 : ENTITY RESISTOR GENERIC MAP ( device => RESISTOR, value => 2.8K) PORT MAP ( 2 => Vbase2, 1 => GND); R3 : ENTITY RESISTOR GENERIC MAP ( device => RESISTOR, value => 28K) PORT MAP ( 2 => Vcc, 1 => Vbase2); R8 : ENTITY RESISTOR GENERIC MAP ( device => RESISTOR, value => 1) PORT MAP ( 2 => unnamed_net2, 1 => Vcoll1); CE2 : ENTITY CAPACITOR GENERIC MAP ( symversion => 0.1, device => CAPACITOR, value => 1pF) PORT MAP ( 1 => GND, 2 => Vem2); RE2 : ENTITY RESISTOR GENERIC MAP ( device => RESISTOR, value => 100) PORT MAP ( 2 => Vem2, 1 => GND); RC1 : ENTITY RESISTOR GENERIC MAP ( device => RESISTOR, value => 3.3K) PORT MAP ( 2 => Vcc, 1 => Vcoll1); Q2 : ENTITY NPN_TRANSISTOR GENERIC MAP ( device => NPN_TRANSISTOR, model-name => 2N3904) PORT MAP ( 3 => VColl2, 1 => Vem2, 2 => Vbase2); C1 : ENTITY CAPACITOR GENERIC MAP ( symversion => 0.1, device => CAPACITOR, value => 2.2uF) PORT MAP ( 1 => unnamed_net1, 2 => Vbase1); A3 : ENTITY directive GENERIC MAP ( device => directive, value => .options TEMP=25) ; A2 : ENTITY include GENERIC MAP ( device => include, file => Simulation.cmd) ; A1 : ENTITY model GENERIC MAP ( device => model, file => ./models/2N3904.mod, model-name => 2N3904) ; VCC : ENTITY VOLTAGE_SOURCE GENERIC MAP ( footprint => none, device => VOLTAGE_SOURCE, value => DC 15V) PORT MAP ( 1 => Vcc, 2 => GND); Vinput : ENTITY vsin GENERIC MAP ( footprint => none, device => vsin, value => DC 1.6V AC 10MV SIN(0 1MV 1KHZ)) PORT MAP ( 1 => Vin, 2 => GND); CE1 : ENTITY CAPACITOR GENERIC MAP ( symversion => 0.1, device => CAPACITOR, value => 1pF) PORT MAP ( 1 => GND, 2 => Vem1); Cout : ENTITY CAPACITOR GENERIC MAP ( symversion => 0.1, device => CAPACITOR, value => 2.2uF) PORT MAP ( 1 => VColl2, 2 => Vout); RL : ENTITY RESISTOR GENERIC MAP ( device => RESISTOR, value => 100K) PORT MAP ( 2 => Vout, 1 => GND); RC2 : ENTITY RESISTOR GENERIC MAP ( device => RESISTOR, value => 1K) PORT MAP ( 2 => Vcc, 1 => VColl2); RE1 : ENTITY RESISTOR GENERIC MAP ( device => RESISTOR, value => 100) PORT MAP ( 2 => Vem1, 1 => GND); R2 : ENTITY RESISTOR GENERIC MAP ( device => RESISTOR, value => 2K) PORT MAP ( 2 => Vbase1, 1 => GND); R1 : ENTITY RESISTOR GENERIC MAP ( device => RESISTOR, value => 28K) PORT MAP ( 2 => Vcc, 1 => Vbase1); R5 : ENTITY RESISTOR GENERIC MAP ( device => RESISTOR, value => 10) PORT MAP ( 2 => unnamed_net1, 1 => Vin); Q1 : ENTITY NPN_TRANSISTOR GENERIC MAP ( device => NPN_TRANSISTOR, model-name => 2N3904) PORT MAP ( 3 => Vcoll1, 1 => Vem1, 2 => Vbase1); END ARCHITECTURE default_architecture; geda-gaf-1.8.2/gnetlist/tests/common/outputs/vams/JD_Include_nomunge.retcode0000664000175000017500000000000212050461155024102 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/liquidpcb/0000775000175000017500000000000012220655757020155 500000000000000geda-gaf-1.8.2/gnetlist/tests/common/outputs/liquidpcb/JD_Include_nomunge-output.net0000664000175000017500000000227112050461155025621 00000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/liquidpcb/JD-output.net0000664000175000017500000000227112050461155022426 00000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/liquidpcb/TwoStageAmp.retcode0000664000175000017500000000000212050461155023613 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/liquidpcb/stack-torture-output.net0000664000175000017500000033154112063576065024760 00000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/liquidpcb/JD_Sort.retcode0000664000175000017500000000000212050461155022724 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/liquidpcb/cascade-output.net0000664000175000017500000000145212050461155023514 00000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/liquidpcb/multiequal-output.net0000664000175000017500000000042512050461155024312 00000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/liquidpcb/JD_nomunge-output.net0000664000175000017500000000227112050461155024156 00000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/liquidpcb/stack-torture.retcode0000664000175000017500000000000212063576065024242 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/liquidpcb/powersupply.retcode0000664000175000017500000000000212050461155024031 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/liquidpcb/JD_Sort_nomunge-output.net0000664000175000017500000000227112050461155025165 00000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/liquidpcb/TwoStageAmp_Sort.retcode0000664000175000017500000000000212050461155024622 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/liquidpcb/netattrib.retcode0000664000175000017500000000000212050461155023414 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/liquidpcb/JD_nomunge.retcode0000664000175000017500000000000212050461155023445 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/liquidpcb/JD_Include-output.net0000664000175000017500000000227112050461155024071 00000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/liquidpcb/JD_Sort-output.net0000664000175000017500000000227112050461155023435 00000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/liquidpcb/cascade.retcode0000664000175000017500000000000212050461155023003 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/liquidpcb/TwoStageAmp_Sort-output.net0000664000175000017500000000366712050461155025345 00000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/liquidpcb/singlenet-output.net0000664000175000017500000000107212050461155024117 00000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/liquidpcb/TwoStageAmp_Include.retcode0000664000175000017500000000000212050461155025256 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/liquidpcb/SlottedOpamps-output.net0000664000175000017500000000160612050461155024730 00000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/liquidpcb/TwoStageAmp_Include-output.net0000664000175000017500000000366712050461155026001 00000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/liquidpcb/singlenet.retcode0000664000175000017500000000000212050461155023410 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/liquidpcb/JD_Include.retcode0000664000175000017500000000000212050461155023360 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/liquidpcb/powersupply-output.net0000664000175000017500000000275012050461155024544 00000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/liquidpcb/netattrib-output.net0000664000175000017500000000131612050461155024124 00000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/liquidpcb/SlottedOpamps.retcode0000664000175000017500000000000212050461155024216 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/liquidpcb/JD.retcode0000664000175000017500000000000212050461155021715 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/liquidpcb/multiequal.retcode0000664000175000017500000000000212050461155023602 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/liquidpcb/JD_Sort_nomunge.retcode0000664000175000017500000000000212050461155024454 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/liquidpcb/TwoStageAmp-output.net0000664000175000017500000000366712050461155024336 00000000000000 geda-gaf-1.8.2/gnetlist/tests/common/outputs/liquidpcb/JD_Include_nomunge.retcode0000664000175000017500000000000212050461155025110 000000000000000 geda-gaf-1.8.2/gnetlist/tests/common/run_backend_tests.sh0000775000175000017500000001575012063576065020441 00000000000000#!/bin/sh # # This script runs the tests called out for in test.list # regen=no usage() { cat << EOF $0 -- Testsuite program for various backends Usage $0 [-h | --help] $0 [-d | --debug] [-r | --regen] [test1 [test2 [....]]] Options -h | --help Prints this help message and exits. -r | --regen Regenerates the reference files. If you use this option, YOU MUST HAND VERIFY THE RESULTS BEFORE COMMITTING to the repository. Description $0 reads a file, tests.list, describing tests to run on . If no specific test is specified on the $0 command line, then all tests are run. Examples $0 spice-sdb $0 --regen new_test spice-sdb EOF } debug=no while test -n "$1" do case "$1" in -d|--debug) debug=yes shift ;; -h|--help) usage exit 0 ;; -r|--regen) # regenerate the 'golden' output files. Use this with caution. # In particular, all differences should be noted and understood. regen=yes shift ;; -*) echo "unknown option: $1" usage exit 1 ;; *) break ;; esac done if [ -f $1 ]; then usage exit 1 fi backend=$1 shift echo "********USING BACKEND ${backend}*********" # make sure we have the right paths when running this from inside the # source tree and also from outside the source tree. here=`pwd` srcdir=${srcdir:-$here} srcdir=`cd $srcdir && pwd` builddir="${here}" GNETLIST="${builddir}/../../src/gnetlist" GEDADATA="${srcdir}/../.." # HACKHACKHACK GEDADATARC="${builddir}/../../lib" SCMDIR="${builddir}/../../scheme" GEDASCMDIR="${srcdir}/../../../libgeda/scheme" GEDABUILTSCMDIR="${builddir}/../../../libgeda/scheme" SYMDIR="${srcdir}/../../../symbols" export GEDADATA export GEDADATARC export SCMDIR export GEDASCMDIR export GEDABUILTSCMDIR export SYMDIR rundir=${here}/run GOLDEN_DIR=${srcdir}/outputs/${backend} INPUT_DIR=${srcdir}/inputs TESTLIST=${srcdir}/tests.list ALWAYSCOPYLIST=${srcdir}/always-copy.list if test ! -f $TESTLIST ; then echo "ERROR: ($0) Test list $TESTLIST does not exist" exit 1 fi # fail/pass/total counts fail=0 pass=0 skip=0 tot=0 # here's where we look at the test.list file and extract the names of all # the tests we want to run. if test -z "$1" ; then all_tests=`awk 'BEGIN{FS="|"} /^#/{next} /^[ \t]*$/{next} {print $1}' $TESTLIST | sed 's; ;;g'` else all_tests=$* fi echo All tests = $all_tests # here's where we look at always-copy.list file and extract the names of all # the extra files we want to copy for every test always_copy=`cat $ALWAYSCOPYLIST | sed '/^#/d'` cat << EOF Starting tests in $here srcdir: $srcdir INPUT_DIR: ${INPUT_DIR} GOLDEN_DIR: ${GOLDEN_DIR} GNETLIST: ${GNETLIST} GEDADATA: ${GEDATADA} GEDADATARC: ${GEDATADARC} SCMDIR: ${SCMDIR} GEDASCMDIR: ${GEDASCMDIR} GEDABUILTSCMDIR: ${GEDABUILTSCMDIR} SYMDIR: ${SYMDIR} all_tests: ${all_tests} EOF # Now run through all tests in test.list, prepare the $rundir, # then run the tests. for t in $all_tests ; do # strip any leading garbage t=`echo $t | sed 's;^\*;;g'` # figure out what files we need to copy for this test and what # arguments to feed gnetlist schematics=`grep "^[ \t]*${t}[ \t]*|" $TESTLIST | awk 'BEGIN{FS="|"} {print $2}'` auxfiles=`grep "^[ \t]*${t}[ \t]*|" $TESTLIST | awk 'BEGIN{FS="|"} {print $3}'` args=`grep "^[ \t]*${t}[ \t]*|" $TESTLIST | awk 'BEGIN{FS="|"} {print $4}'` condition=`grep "^[ \t]*${t}[ \t]*|" $TESTLIST | awk 'BEGIN{FS="|"} {print $5}' | sed 's; ;;g'` refcode=${GOLDEN_DIR}/${t}.retcode if test -f $refcode; then code=`grep -v "^#" $refcode | sed 's; ;;g;'` else code=0 fi if test "X$code" = "X" ; then code=0 fi echo "Schematics to copy = $schematics" echo "Args to copy = $args" echo "Always copying = $always_copy" echo "Expected return code = \"$code\"" if test "X$condition" != "X" ; then eval "ctest=\`echo \$$condition\`" if test X$ctest = "Xyes" ; then echo "Running test because $condition = yes" else echo "Skipping test because $condition = $ctest" continue fi fi tot=`expr $tot + 1` # create temporary run directory and required subdirs if test ! -d $rundir ; then mkdir -p $rundir mkdir -p $rundir/sym mkdir -p $rundir/models fi # Create the files needed # Note that we need to include not only the .sch files, # but also the contents of the sym and model directories. if test ! -z "$schematics" ; then echo "Copying over schematics to run dir" for f in $schematics ; do echo "cp ${INPUT_DIR}/${f} ${rundir}/${f}" cp ${INPUT_DIR}/${f} ${rundir}/${f} chmod 644 ${rundir}/${f} done fi if test ! -z "$auxfiles" ; then echo "Copying over aux files to run dir" for f in $auxfiles ; do echo "cp ${INPUT_DIR}/${f} ${rundir}/${f}" cp ${INPUT_DIR}/${f} ${rundir}/${f} chmod 644 ${rundir}/${f} done fi if test ! -z "$always_copy" ; then echo "Copying over always copied files to run dir" for f in $always_copy ; do echo "cp ${INPUT_DIR}/${f} ${rundir}/${f}" cp ${INPUT_DIR}/${f} ${rundir}/${f} chmod 644 ${rundir}/${f} done fi # run gnetlist -g $backend echo "${GNETLIST} -g $backend $args $schematics" cd ${rundir} && ${GNETLIST} -g $backend $args $schematics rc=$? # OK, now check results of run. good=0 bad=0 soso=0 ref=${GOLDEN_DIR}/${t}-output.net out=${rundir}/output.net # Hack to help with vams backend if [ -f ${rundir}/default_entity_arc.net ]; then mv ${rundir}/default_entity_arc.net $out fi if test "X$regen" = "Xyes" ; then # Copy output on top of golden output, accounting for the case # that no output file was generated. if test -f ${out} ; then cp ${out} ${ref} else rm ${ref} fi echo "$rc" > $refcode echo "Regenerated ${ref}" good=1 elif test $rc -ne $code ; then echo "FAILED: gnetlist -g $backend returned $rc which did not match the expected $code" bad=1 elif test -f ${ref} ; then sed '/gnetlist -g/d' ${ref} > ${out}.tmp1 sed '/gnetlist -g/d' ${out} > ${out}.tmp2 if diff -w ${out}.tmp1 ${out}.tmp2 >/dev/null ; then echo "PASS" good=1 # If neither output nor golden file exists, then succeed elif test ! -f ${out} -a ! -f ${ref} ; then echo "PASS" good=1 else echo "FAILED: See diff -w ${ref} ${out}" bad=1 fi elif test ! -f $out ; then # No output file, but this is expected since there was no reference file good=1 else echo "No reference file. Skipping" soso=1 fi pass=`expr $pass + $good` fail=`expr $fail + $bad` skip=`expr $skip + $soso` cd $here # Delete the run directory in prep for the next test test "$debug" = "no" && rm -fr ${rundir} done echo "Passed $pass, failed $fail, skipped $skip out of $tot tests." rc=0 if test $pass -ne $tot ; then rc=`expr $tot - $pass` fi exit $rc geda-gaf-1.8.2/gnetlist/tests/common/tests.list0000664000175000017500000000311012063576065016427 00000000000000# Format: # # test_name | input schematics | aux files (gafrc, symbols, etc) | \ # extra flags to pass to gnetlist -g spice-sdb | \ # variable which must be set for the test to run # # ----------------------------------------- # Simple netlisting tests # ----------------------------------------- # Some test schematics copied from the toplevel tests dir cascade | cascade.sch | | | multiequal | multiequal.sch | | | netattrib | netattrib.sch | | | powersupply | powersupply.sch | | | singlenet | singlenet.sch | | | # The two stage amp TwoStageAmp | TwoStageAmp.sch | Simulation.cmd gafrc models/2N3904.mod sym/transistor.sym | | TwoStageAmp_Include | TwoStageAmp.sch | Simulation.cmd gafrc models/2N3904.mod sym/transistor.sym | -O include_mode TwoStageAmp_Sort | TwoStageAmp.sch | Simulation.cmd gafrc models/2N3904.mod sym/transistor.sym | -O sort_mode # John Doty's test circuit # First test mangling JD | LVDfoo.sch | gafrc models/openIP_5.cir sym/LVD.sym | | JD_Include | LVDfoo.sch | gafrc models/openIP_5.cir sym/LVD.sym | -O include_mode JD_Sort | LVDfoo.sch | gafrc models/openIP_5.cir sym/LVD.sym | -O sort_mode # Now test non-munged version. JD_nomunge | LVDfoo.sch | gafrc models/openIP_5.cir sym/LVD.sym | -O nomunge_mode JD_Include_nomunge | LVDfoo.sch | gafrc models/openIP_5.cir sym/LVD.sym | -O include_mode -O nomunge_mode JD_Sort_nomunge | LVDfoo.sch | gafrc models/openIP_5.cir sym/LVD.sym | -O sort_mode -O nomunge_mode # Tests for slotted parts SlottedOpamps | SlottedOpamps.sch | gafrc sym/LM324_slotted-1.sym | | # Stack torture test stack-torture | stack-torture.sch | | | geda-gaf-1.8.2/gnetlist/tests/common/Makefile.in0000664000175000017500000004266312220655723016447 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = gnetlist/tests/common DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ input_files = \ inputs/gafrc \ inputs/LVDfoo.sch \ inputs/Simulation.cmd \ inputs/TwoStageAmp.sch \ inputs/SlottedOpamps.sch \ inputs/cascade.sch \ inputs/multiequal.sch \ inputs/netattrib.sch \ inputs/powersupply.sch \ inputs/singlenet.sch \ inputs/stack-torture.sch \ inputs/attribs \ \ inputs/models/2N3904.mod \ inputs/models/openIP_5.cir \ \ inputs/sym/LVD.sym \ inputs/sym/transistor.sym \ inputs/sym/LM324_slotted-1.sym AM_TESTS_ENVIRONMENT = PERL=${PERL} EXTRA_DIST = run_backend_tests.sh run_tests.sh tests.list backends.list \ always-copy.list $(input_files) MOSTLYCLEANFILES = core *.log FILE *.ps *~ CLEANFILES = core *.log FILE *.ps *~ DISTCLEANFILES = core *.log FILE *.ps *~ MAINTAINERCLEANFILES = core *.log FILE *.ps *~ Makefile.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gnetlist/tests/common/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu gnetlist/tests/common/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" distdir="$(distdir)" \ dist-hook check-am: all-am $(MAKE) $(AM_MAKEFLAGS) check-local check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: check-am install-am install-strip .PHONY: all all-am check check-am check-local clean clean-generic \ clean-libtool cscopelist-am ctags-am dist-hook distclean \ distclean-generic distclean-libtool distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am check-local: $(AM_TESTS_ENVIRONMENT) srcdir=$(srcdir) $(SHELL) $(srcdir)/run_tests.sh dist-hook: tests.list backends.list @tests=`cat $(srcdir)/tests.list | sed -e "s:#.*$$::" | sed -e "s:|.*$$::"`; \ backends=`cat $(srcdir)/backends.list`; \ $(MKDIR_P) $(distdir)/outputs || exit $$?; \ for backend in $$backends; do \ dir=outputs/$$backend; \ $(MKDIR_P) $(distdir)/$$dir; \ for test in $$tests; do \ cp -p $(srcdir)/$$dir/$$test.retcode $(distdir)/$$dir \ || exit $$?; \ if test -f $(srcdir)/$$dir/$$test-output.net ; then \ cp -p $(srcdir)/$$dir/$$test-output.net $(distdir)/$$dir \ || exit $$?; \ fi; \ done; \ done; # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/gnetlist/tests/common/always-copy.list0000664000175000017500000000001612050461155017524 00000000000000attribs gafrc geda-gaf-1.8.2/gnetlist/tests/common/inputs/0000775000175000017500000000000012220655756015777 500000000000000geda-gaf-1.8.2/gnetlist/tests/common/inputs/LVDfoo.sch0000664000175000017500000000614212050461155017537 00000000000000v 20070216 1 C 8700 85500 1 0 0 LVD.sym { T 9700 84500 5 10 1 1 0 0 1 refdes=X1 T 9600 84300 5 10 1 1 0 0 1 model-name=unknown_LVD } C 9300 86500 1 0 0 asic-pmos-1.sym { T 10100 87300 5 10 1 1 0 0 1 refdes=M1 T 10100 87100 5 8 1 1 0 0 1 model-name=pch T 10100 86800 5 8 1 0 0 0 1 w=3u T 10100 86600 5 8 1 0 0 0 1 l=3u T 10700 86700 5 10 1 0 0 0 1 m=36 } N 9300 85500 9300 87000 4 N 9300 86500 11300 86500 4 { T 11400 86500 5 10 1 1 0 0 1 netname=LVH } N 10000 87000 10000 87500 4 N 9900 87500 9900 88200 4 { T 10100 88200 5 10 1 1 0 0 1 netname=Vdd1 } C 8400 86900 1 0 0 resistor-1.sym { T 8600 87200 5 10 1 1 0 0 1 refdes=Rb T 8700 86700 5 10 1 1 0 0 1 value=5.6k T 8400 86900 5 10 1 1 0 0 1 device=RESISTOR } C 7900 86500 1 0 0 gnd-1.sym C 10800 84900 1 0 0 resistor-1.sym { T 11000 85200 5 10 1 1 0 0 1 refdes=Rt T 11500 85200 5 10 1 1 0 0 1 value=1k } N 9500 85500 9500 86300 4 N 9900 84800 12600 84800 4 { T 12700 84800 5 10 1 1 0 0 1 netname=m } N 9900 85200 9900 85600 4 N 9900 85600 12600 85600 4 { T 12700 85600 5 10 1 1 0 0 1 netname=p } N 11700 85000 11700 84800 4 C 6800 83300 1 0 0 vpulse-1.sym { T 7500 83950 5 10 1 1 0 0 1 refdes=V1 T 7500 83750 5 10 1 1 0 0 1 value=pulse 3.3 0 1u 10p 10p 1.25u 2.5u } C 7000 82700 1 0 0 gnd-1.sym N 8700 85000 7100 85000 4 { T 7700 85100 5 10 1 1 0 0 1 netname=i } N 7100 85000 7100 84500 4 C 13200 84800 1 0 0 vdc-1.sym { T 13900 85450 5 10 1 1 0 0 1 refdes=Vdd T 13900 85250 5 10 1 1 0 0 1 value=DC 3.3V } C 13400 84200 1 0 0 gnd-1.sym N 9900 87500 13500 87500 4 N 13500 87500 13500 86000 4 N 9500 86300 13500 86300 4 C 10800 83900 1 0 0 resistor-1.sym { T 11000 84200 5 10 1 1 0 0 1 refdes=Rlm T 11500 84200 5 10 1 1 0 0 1 value=500k } C 11600 83300 1 0 0 gnd-1.sym N 10800 84000 10800 84800 4 C 11100 85800 1 0 0 resistor-1.sym { T 11300 86100 5 10 1 1 0 0 1 refdes=Rlp T 11800 86100 5 10 1 1 0 0 1 value=1meg } N 12000 85900 13200 85900 4 N 13200 85900 13200 86100 4 N 13200 86100 13500 86100 4 N 11100 85900 11100 85600 4 C 9200 84000 1 0 0 gnd-1.sym C 9400 84000 1 0 0 gnd-1.sym N 10800 85000 10800 85600 4 C 12700 83400 1 0 0 capacitor-1.sym { T 12900 83900 5 10 1 1 0 0 1 refdes=Cp T 12900 84300 5 10 0 0 0 0 1 symversion=0.1 T 12700 83400 5 10 1 1 0 0 1 value=20p } C 12700 82600 1 0 0 capacitor-1.sym { T 12900 83100 5 10 1 1 0 0 1 refdes=Cm T 12900 83500 5 10 0 0 0 0 1 symversion=0.1 T 12700 82600 5 10 1 1 0 0 1 value=20p T 12700 82600 5 10 1 1 0 0 1 device=CAPACITOR } C 14000 83100 1 0 0 gnd-1.sym C 14000 82300 1 0 0 gnd-1.sym N 12700 83600 12300 83600 4 N 12300 83600 12300 85600 4 N 12700 82800 12100 82800 4 C 5200 80400 0 0 0 title-bordered-A.sym N 8400 87000 8000 87000 4 N 8000 87000 8000 86800 4 N 9500 84300 9500 84500 4 N 9300 84500 9300 84300 4 N 12100 82800 12100 84800 4 N 13500 84500 13500 84800 4 N 7100 83300 7100 83000 4 N 11700 84000 11700 83600 4 N 13600 83600 14100 83600 4 N 14100 83600 14100 83400 4 N 13600 82800 14100 82800 4 N 14100 82800 14100 82600 4 C 5800 87400 1 0 0 spice-model-1.sym { T 5900 88100 5 10 0 1 0 0 1 device=model T 5900 88000 5 10 1 1 0 0 1 refdes=A1 T 7100 87700 5 10 1 1 0 0 1 model-name=unknown_LVD T 6300 87500 5 10 1 1 0 0 1 file=./models/openIP_5.cir } geda-gaf-1.8.2/gnetlist/tests/common/inputs/multiequal.sch0000664000175000017500000000127112050461155020566 00000000000000v 20031019 1 C 26600 47100 1 0 0 spice-options-1.sym { T 26700 47500 5 10 1 1 0 0 1 refdes=A1 T 26600 47200 5 10 1 1 0 0 1 value=abotol=1e-11 } C 28800 45800 1 90 0 resistor-1.sym { T 28900 46200 5 10 1 1 0 0 1 refdes=R1 T 28800 45800 5 10 1 1 0 0 1 value=20 } N 26700 47000 28700 47000 4 N 26700 47000 26700 46800 4 N 28700 47000 28700 46700 4 N 28700 45500 26700 45500 4 N 28700 45500 28700 45800 4 N 26700 45500 26700 45600 4 C 26400 45600 1 0 0 vdc-1.sym { T 27100 46250 5 10 1 1 0 0 1 refdes=V1 T 27100 46050 5 10 1 1 0 0 1 value=DC 1V } T 26600 48200 9 10 1 0 0 0 4 This test makes sure that attributes in the form: name=name1=value1 work and get tested. C 27600 45200 1 0 0 gnd-1.sym geda-gaf-1.8.2/gnetlist/tests/common/inputs/TwoStageAmp.sch0000664000175000017500000001416212063576065020615 00000000000000v 20070216 1 C 31900 49200 1 0 0 transistor.sym { T 32800 49700 5 10 1 1 0 0 1 refdes=Q1 T 32800 49900 5 10 1 1 0 0 1 model-name=2N3904 T 32800 49900 5 10 0 0 0 0 1 device=NPN_TRANSISTOR } C 28100 49600 1 0 0 resistor-1.sym { T 28300 49900 5 10 1 1 0 0 1 refdes=R5 T 28400 49400 5 10 1 1 0 0 1 value=10 T 28400 50000 5 10 0 0 0 0 1 device=RESISTOR } C 31100 49900 1 90 0 resistor-1.sym { T 31400 50700 5 10 1 1 180 0 1 refdes=R1 T 31200 50200 5 10 1 1 0 0 1 value=28K T 31400 50300 5 10 0 0 0 0 1 device=RESISTOR } C 31600 48200 1 90 0 resistor-1.sym { T 31900 48900 5 10 1 1 180 0 1 refdes=R2 T 31600 48200 5 10 1 1 0 0 1 value=2K T 31900 48600 5 10 0 0 0 0 1 device=RESISTOR } C 32600 47900 1 90 0 resistor-1.sym { T 33000 48600 5 10 1 1 180 0 1 refdes=RE1 T 32600 47900 5 10 1 1 0 0 1 value=100 T 32900 48300 5 10 0 0 0 0 1 device=RESISTOR } C 38000 54600 1 90 0 resistor-1.sym { T 38400 55300 5 10 1 1 180 0 1 refdes=RC2 T 38000 54600 5 10 1 1 0 0 1 value=1K T 38300 55000 5 10 0 0 0 0 1 device=RESISTOR } C 40800 52200 1 90 0 resistor-1.sym { T 41100 53100 5 10 1 1 180 0 1 refdes=RL T 40800 52200 5 10 1 1 0 0 1 value=100K T 41100 52600 5 10 0 0 0 0 1 device=RESISTOR } N 32500 49200 32500 48800 4 C 39300 53900 1 0 0 capacitor-1.sym { T 39500 54400 5 10 1 1 0 0 1 refdes=Cout T 39500 53700 5 10 1 1 0 0 1 value=2.2uF T 39500 54600 5 10 0 0 0 0 1 device=CAPACITOR T 39500 54800 5 10 0 0 0 0 1 symversion=0.1 } C 33700 47900 1 90 0 capacitor-1.sym { T 34100 48600 5 10 1 1 180 0 1 refdes=CE1 T 33700 47900 5 10 1 1 0 0 1 value=1pF T 33900 48600 5 10 0 0 0 0 1 device=CAPACITOR T 33900 48800 5 10 0 0 0 0 1 symversion=0.1 } N 33500 48800 33500 49100 4 N 39300 54100 37900 54100 4 { T 38000 53800 5 10 1 1 0 0 1 netname=VColl2 } N 40700 54100 40700 53100 4 C 31400 47400 1 0 0 gnd-1.sym C 32400 47400 1 0 0 gnd-1.sym C 33400 47400 1 0 0 gnd-1.sym C 40600 51200 1 0 0 gnd-1.sym C 27200 48300 1 0 0 vsin-1.sym { T 27900 48950 5 10 1 1 0 0 1 refdes=Vinput T 26800 48150 5 10 1 1 0 0 1 value=DC 1.6V AC 10MV SIN(0 1MV 1KHZ) T 27900 49150 5 10 0 0 0 0 1 device=vsin T 27900 49350 5 10 0 0 0 0 1 footprint=none } C 40700 48700 1 0 0 vdc-1.sym { T 41400 49350 5 10 1 1 0 0 1 refdes=VCC T 41400 49150 5 10 1 1 0 0 1 value=DC 15V T 41400 49550 5 10 0 0 0 0 1 device=VOLTAGE_SOURCE T 41400 49750 5 10 0 0 0 0 1 footprint=none } C 40800 50100 1 0 0 vcc-1.sym C 37700 55700 1 0 0 vcc-1.sym N 37900 55700 37900 55500 4 N 41000 50100 41000 49900 4 C 40900 48200 1 0 0 gnd-1.sym C 27400 47600 1 0 0 gnd-1.sym N 27500 48300 27500 47900 4 N 27500 49700 27500 49500 4 N 31500 48200 31500 47700 4 N 32500 47900 32500 47700 4 N 33500 47900 33500 47700 4 N 40700 52200 40700 51500 4 N 41000 48700 41000 48500 4 N 40200 54100 41300 54100 4 { T 41500 54100 5 10 1 1 0 0 1 netname=Vout } C 26000 46000 0 0 0 title-B.sym C 26500 55500 1 0 0 spice-model-1.sym { T 26600 56100 5 10 1 1 0 0 1 refdes=A1 T 27800 55800 5 10 1 1 0 0 1 model-name=2N3904 T 27000 55600 5 10 1 1 0 0 1 file=./models/2N3904.mod T 26600 56200 5 10 0 1 0 0 1 device=model } C 26500 54600 1 0 0 spice-include-1.sym { T 26600 55000 5 10 1 1 0 0 1 refdes=A2 T 27000 54700 5 10 1 1 0 0 1 file=Simulation.cmd T 26600 54900 5 10 0 1 0 0 1 device=include } C 26500 53700 1 0 0 spice-directive-1.sym { T 26600 54100 5 10 1 1 0 0 1 refdes=A3 T 26600 53800 5 10 1 1 0 0 1 value=.options TEMP=25 T 26600 54000 5 10 0 1 0 0 1 device=directive T 26600 53800 5 10 1 1 0 0 1 file=unknown } N 27000 49700 28100 49700 4 { T 26700 49700 5 10 1 1 0 0 1 netname=Vin } N 31000 49900 31000 49700 4 N 31500 49100 31500 49700 4 C 29400 49500 1 0 0 capacitor-1.sym { T 29600 50000 5 10 1 1 0 0 1 refdes=C1 T 29500 49300 5 10 1 1 0 0 1 value=2.2uF T 29600 50200 5 10 0 0 0 0 1 device=CAPACITOR T 29600 50400 5 10 0 0 0 0 1 symversion=0.1 } N 29000 49700 29400 49700 4 C 37300 52600 1 0 0 transistor.sym { T 38200 53100 5 10 1 1 0 0 1 refdes=Q2 T 38200 52700 5 10 1 1 0 0 1 model-name=2N3904 T 38200 53300 5 10 0 0 0 0 1 device=NPN_TRANSISTOR } C 37800 48900 1 0 0 gnd-1.sym N 37900 53600 37900 54600 4 C 30800 51000 1 0 0 vcc-1.sym N 31000 50800 31000 51000 4 T 36100 46800 9 20 1 0 0 0 1 Two stage amplifier SPICE playpen T 40000 46100 9 10 1 0 0 0 1 Stuart Brorson -- sdb@cloud9.net C 32600 53500 1 90 0 resistor-1.sym { T 32900 54400 5 10 1 1 180 0 1 refdes=RC1 T 32600 53500 5 10 1 1 0 0 1 value=3.3K T 32900 53900 5 10 0 0 0 0 1 device=RESISTOR } C 38000 49500 1 90 0 resistor-1.sym { T 38500 50300 5 10 1 1 180 0 1 refdes=RE2 T 38000 49500 5 10 1 1 0 0 1 value=100 T 38300 49900 5 10 0 0 0 0 1 device=RESISTOR } N 37900 49200 37900 49500 4 N 37900 50400 37900 52600 4 N 32500 50200 32500 53500 4 C 32300 54800 1 0 0 vcc-1.sym N 32500 54400 32500 54800 4 N 30300 49700 31900 49700 4 { T 30700 49500 5 10 1 1 0 0 1 netname=Vbase1 } C 39200 49500 1 90 0 capacitor-1.sym { T 39600 50200 5 10 1 1 180 0 1 refdes=CE2 T 39200 49500 5 10 1 1 0 0 1 value=1pF T 39400 50200 5 10 0 0 0 0 1 device=CAPACITOR T 39400 50400 5 10 0 0 0 0 1 symversion=0.1 } C 38900 48900 1 0 0 gnd-1.sym N 39000 49500 39000 49200 4 N 39000 50400 39000 51000 4 N 39000 51000 37900 51000 4 { T 38000 51100 5 10 1 1 0 0 1 netname=Vem2 } N 32500 49100 33500 49100 4 { T 32700 49200 5 10 1 1 0 0 1 netname=Vem1 } C 33300 53000 1 0 0 resistor-1.sym { T 33500 53300 5 10 1 1 0 0 1 refdes=R8 T 33500 52700 5 10 1 1 0 0 1 value=1 T 33600 53400 5 10 0 0 0 0 1 device=RESISTOR } N 35900 53100 37300 53100 4 { T 36800 52900 5 10 1 1 0 0 1 netname=Vbase2 } N 32500 53100 33300 53100 4 { T 32600 52900 5 10 1 1 0 0 1 netname=Vcoll1 } C 36700 54700 1 90 0 resistor-1.sym { T 37000 55500 5 10 1 1 180 0 1 refdes=R3 T 36800 55000 5 10 1 1 0 0 1 value=28K T 37000 55100 5 10 0 0 0 0 1 device=RESISTOR } C 36400 51600 1 90 0 resistor-1.sym { T 36700 52300 5 10 1 1 180 0 1 refdes=R4 T 36400 51600 5 10 1 1 0 0 1 value=2.8K T 36700 52000 5 10 0 0 0 0 1 device=RESISTOR } C 36200 50800 1 0 0 gnd-1.sym N 36300 51600 36300 51100 4 N 36300 52500 36300 53100 4 C 36400 55800 1 0 0 vcc-1.sym N 36600 55600 36600 55800 4 C 35000 52900 1 0 0 capacitor-1.sym { T 35200 53400 5 10 1 1 0 0 1 refdes=C2 T 35100 52700 5 10 1 1 0 0 1 value=2.2uF T 35200 53600 5 10 0 0 0 0 1 device=CAPACITOR T 35200 53800 5 10 0 0 0 0 1 symversion=0.1 } N 35000 53100 34200 53100 4 N 36600 53100 36600 54700 4 geda-gaf-1.8.2/gnetlist/tests/common/inputs/attribs0000664000175000017500000000002412050461155017273 00000000000000refdes value device geda-gaf-1.8.2/gnetlist/tests/common/inputs/gafrc0000664000175000017500000000130512063576065016723 00000000000000;; We want to point at the scheme code that hasn't been installed yet so that ;; 'make check' during development can work correctly. (scheme-directory "${SCMDIR}") (scheme-directory "${GEDASCMDIR}") (scheme-directory "${GEDABUILTSCMDIR}") ;; We want to use the symbols that haven't been installed yet (map (lambda (x) (component-library (string-join (list "${SYMDIR}/" x) ""))) '("io" "74" "analog" "power" "misc" "diode" "linear" "connector" "switch" "asic" "spice" "cascade" "titleblock")) (component-library "./sym") ;; Rather than checking what m4 and pcb's m4 files do with ;; the output we produce, just see what output gnetlist produces. (define gsch2pcb:pcb-m4-command-line "cat - >>") geda-gaf-1.8.2/gnetlist/tests/common/inputs/SlottedOpamps.sch0000664000175000017500000000332212050461155021201 00000000000000v 20070216 1 C 40000 40000 0 0 0 title-B.sym C 46500 48100 1 0 0 LM324_slotted-1.sym { T 47325 48250 5 8 0 0 0 0 1 device=LM324 T 46700 49000 5 10 1 1 0 0 1 refdes=U1 T 46500 48100 5 10 1 0 0 0 1 slot=1 } C 46500 46000 1 0 0 LM324_slotted-1.sym { T 47325 46150 5 8 0 0 0 0 1 device=LM324 T 46700 46900 5 10 1 1 0 0 1 refdes=U1 T 46500 46000 5 10 1 0 0 0 1 slot=2 } C 46500 44200 1 0 0 LM324_slotted-1.sym { T 47325 44350 5 8 0 0 0 0 1 device=LM324 T 46700 45100 5 10 1 1 0 0 1 refdes=U1 T 46500 44200 5 10 1 0 0 0 1 slot=3 } C 46500 42100 1 0 0 LM324_slotted-1.sym { T 47325 42250 5 8 0 0 0 0 1 device=LM324 T 46700 43000 5 10 1 1 0 0 1 refdes=U1 T 46500 42100 5 10 1 0 0 0 1 slot=4 } N 46600 48700 45400 48700 4 { T 44000 48800 5 10 1 0 0 0 1 netname=plusin_slot1_pin3_a } N 46500 46600 45300 46600 4 { T 43900 46700 5 10 1 0 0 0 1 netname=plusin_slot2_pin5_a } N 46500 44800 45300 44800 4 { T 43900 44900 5 10 1 0 0 0 1 netname=plusin_slot3_pin10_a } N 46500 42700 45300 42700 4 { T 43900 42800 5 10 1 0 0 0 1 netname=plusin_slot4_pin12_a } N 46500 48300 45300 48300 4 { T 43900 48400 5 10 1 0 0 0 1 netname=minusin_slot1_pin_b } N 46500 46200 45300 46200 4 { T 43900 46300 5 10 1 0 0 0 1 netname=minusin_slot2_pin6_b } N 46500 44400 45300 44400 4 { T 43900 44500 5 10 1 0 0 0 1 netname=minusin_slot3_pin_b } N 46500 42300 45300 42300 4 { T 43900 42400 5 10 1 0 0 0 1 netname=minusin_slot4_pin13_b } N 47500 48500 48900 48500 4 { T 47500 48600 5 10 1 0 0 0 1 netname=samenet_output_c } N 47500 46400 48900 46400 4 { T 47500 46500 5 10 1 0 0 0 1 netname=samenet_output_c } N 47500 44600 48900 44600 4 { T 47500 44700 5 10 1 0 0 0 1 netname=samenet_output_c } N 47500 42500 48900 42500 4 { T 47500 42600 5 10 1 0 0 0 1 netname=samenet_output_c } geda-gaf-1.8.2/gnetlist/tests/common/inputs/singlenet.sch0000664000175000017500000000233312050461155020374 00000000000000v 20071229 1 C 17400 25700 1 0 0 7400-1.sym { T 17700 26700 5 10 1 1 0 0 1 refdes=U100 T 17400 25700 5 10 0 0 0 0 1 slot=2 } N 18700 26200 21300 26200 4 N 21300 26200 21300 24400 4 N 21300 24400 22600 24400 4 N 22600 24000 20300 24000 4 N 20300 24000 20300 26200 4 N 21300 25300 24100 25300 4 { T 22700 25400 5 10 1 1 0 0 1 netname=SING_N } N 24100 25300 24100 24200 4 N 24100 24200 23900 24200 4 N 17400 26000 17000 26000 4 N 17000 26000 17000 25300 4 N 17000 25300 18800 25300 4 N 18800 25300 18800 26200 4 N 17400 26400 17200 26400 4 N 17200 26400 17200 27200 4 N 17200 27200 19800 27200 4 N 19800 27200 19800 26200 4 T 17900 35200 3 30 1 0 0 0 1 Test schematic for gnetlist T 17100 27600 3 20 1 0 0 0 1 There is really only *one* net in this circuit N 19000 33100 21800 33100 4 { T 20400 33200 5 10 1 1 0 0 1 netname=SING_N_2 } N 21800 33100 21800 32000 4 N 21800 32000 21600 32000 4 N 19000 33100 19000 32200 4 N 19000 32200 20300 32200 4 T 17200 30200 3 20 1 0 0 0 1 This is a single net with one unconnected pin C 20300 31500 1 0 0 7400-1.sym { T 20600 32500 5 10 1 1 0 0 1 refdes=U100 T 20300 31500 5 10 0 0 0 0 1 slot=1 } C 22600 23700 1 0 0 7400-1.sym { T 22900 24700 5 10 1 1 0 0 1 refdes=U100 T 22600 23700 5 10 0 0 0 0 1 slot=3 } geda-gaf-1.8.2/gnetlist/tests/common/inputs/netattrib.sch0000664000175000017500000000132212050461155020375 00000000000000v 20030901 C 38100 60100 1 0 0 7400-1.sym { T 38400 61000 5 10 1 1 0 0 refdes=U100 T 39000 60200 5 10 1 1 0 0 net=netattrib:5 } C 41000 58800 1 0 0 7404-1.sym { T 41300 59700 5 10 1 1 0 0 refdes=U200 } N 40000 59300 41000 59300 4 { T 40100 59400 5 10 1 1 0 0 netname=two } N 40000 59300 40000 61300 4 N 40000 61300 41200 61300 4 { T 40200 61400 5 10 1 1 0 0 netname=one } C 41200 60800 1 0 0 7404-1.sym { T 41500 61700 5 10 1 1 0 0 refdes=U300 } N 39400 60600 40000 60600 4 N 42100 59300 43300 59300 4 { T 42500 59400 5 10 1 1 0 0 netname=netattrib } N 42300 61300 43000 61300 4 N 38400 58600 39100 58600 4 { T 38500 58700 5 10 1 1 0 0 netname=two } C 39100 58600 1 0 0 fuse-1.sym { T 39300 58800 5 10 1 1 0 0 refdes=F1 } geda-gaf-1.8.2/gnetlist/tests/common/inputs/powersupply.sch0000664000175000017500000000555412050461155021025 00000000000000v 20030901 C 60900 56700 1 0 0 diode-bridge-1.sym { T 61800 57675 5 10 1 1 0 0 refdes=U1 } N 60900 57700 60400 57700 4 N 61900 56700 61900 56500 4 N 61900 56500 59700 56500 4 { T 59900 56500 5 6 1 1 0 0 netname=seven } N 61900 58900 59700 58900 4 { T 59800 58900 5 6 1 1 0 0 netname=six } N 61900 58900 61900 58700 4 N 59700 56500 59700 57200 4 N 59700 58200 59700 58900 4 C 57000 58200 1 0 0 fuse-1.sym { T 57200 58400 5 10 1 1 0 0 refdes=F1 } N 58200 58200 57900 58200 4 { T 57900 58100 5 6 1 1 0 0 netname=three } C 58200 57100 1 0 0 transformer-1.sym { T 58500 58400 5 10 1 1 0 0 refdes=T1 } C 53800 57200 1 0 0 mains-plug-2.sym { T 54200 58300 5 10 1 1 0 0 refdes=CONN1 } N 55200 58200 55200 58000 4 N 58200 57200 55200 57200 4 { T 56300 57200 5 6 1 1 0 0 netname=five } N 55200 57200 55200 57400 4 N 55200 57700 55500 57700 4 { T 55300 57700 5 6 1 1 0 0 netname=four } N 55500 57700 55500 57600 4 C 55400 57300 1 0 0 gnd-1.sym C 55800 58200 1 0 0 switch-spst-1.sym { T 56100 58500 5 10 1 1 0 0 refdes=S1 } N 55800 58200 55200 58200 4 { T 55300 58100 5 6 1 1 0 0 netname=one } N 56600 58200 57000 58200 4 { T 56600 58100 5 6 1 1 0 0 netname=two } C 63300 58900 1 270 0 capacitor-2.sym { T 63800 58500 5 10 1 1 0 0 refdes=C1 T 63800 58300 5 10 1 1 0 0 value=2200uF } C 68400 58100 1 90 0 resistor-1.sym { T 68500 58600 5 10 1 1 0 0 refdes=R2 T 68500 58300 5 10 1 1 0 0 value=220 } N 60400 57700 60400 59200 4 N 62900 57700 63500 57700 4 { T 63000 57700 5 6 1 1 0 0 netname=nine } N 63500 58900 63500 59200 4 C 64800 58200 1 270 0 capacitor-2.sym { T 65300 57800 5 10 1 1 0 0 refdes=C2 T 65300 57600 5 10 1 1 0 0 value=0.1uF } N 65000 58200 65000 59200 4 N 63500 56400 63500 58000 4 N 65000 56400 65000 57300 4 C 66800 56600 1 90 0 resistor-variable-1.sym { T 66900 57200 5 10 1 1 0 0 refdes=R1 T 66900 57000 5 10 1 1 0 0 value=5k } N 66700 56600 66700 56400 4 N 66200 57100 65800 57100 4 N 65800 57100 65800 56400 4 C 68100 57500 1 270 0 capacitor-2.sym { T 68600 57100 5 10 1 1 0 0 refdes=C3 T 68600 56800 5 10 1 1 0 0 value=22uF } N 68300 58100 68300 57500 4 N 68300 56600 68300 56400 4 N 66700 57800 68300 57800 4 { T 67000 57800 5 6 1 1 0 0 netname=ten } N 60400 59200 65700 59200 4 { T 60500 59200 5 6 1 1 0 0 netname=eight } N 66700 57500 66700 58400 4 N 68300 59000 68300 59200 4 C 69300 58200 1 270 0 capacitor-2.sym { T 69800 57800 5 10 1 1 0 0 refdes=C4 T 69800 57500 5 10 1 1 0 0 value=1uf } N 69500 58200 69500 59200 4 N 69500 56400 69500 57300 4 N 63500 56400 70800 56400 4 N 67700 59200 70800 59200 4 { T 68500 59200 5 6 1 1 0 0 netname=eleven } T 70900 59200 9 10 1 0 0 0 + T 70900 56400 9 10 1 0 0 0 - T 70400 59400 9 10 1 0 0 0 +1.5 to 22Vdc T 69700 57300 9 10 1 0 0 0 50V T 63800 58100 9 10 1 0 0 0 35V C 51800 49900 0 0 0 title-C.sym T 66900 50800 9 10 1 0 0 0 This is not a real circuit. It is only used for testing purposes. C 65700 58400 1 0 0 lm317-1.sym { T 67400 59800 5 10 1 1 0 6 refdes=U2 } geda-gaf-1.8.2/gnetlist/tests/common/inputs/models/0000775000175000017500000000000012220655756017262 500000000000000geda-gaf-1.8.2/gnetlist/tests/common/inputs/models/openIP_5.cir0000664000175000017500000000003512050461155021302 00000000000000* .model unknown_LVD (stuff) geda-gaf-1.8.2/gnetlist/tests/common/inputs/models/2N3904.mod0000664000175000017500000000017112050461155020466 00000000000000.model 2N3904 NPN(Stuff + More stuff + Yet more stuff + Final line of stuff) geda-gaf-1.8.2/gnetlist/tests/common/inputs/Simulation.cmd0000664000175000017500000000010712050461155020513 00000000000000.OP .AC DEC 20 1Hz 100MegHz * .DC Vinput 0 5 .01 * .DC Vinput 1 2 .01 geda-gaf-1.8.2/gnetlist/tests/common/inputs/cascade.sch0000664000175000017500000000465012050461155017773 00000000000000v 20070526 1 C 40000 40000 0 0 0 title-B.sym C 41300 48800 1 0 0 cascade-defaults-2.sym { T 43100 52200 5 10 0 1 0 0 1 device=cascade-defaults-top T 41400 48900 5 10 1 1 0 0 1 refdes=DEFAULTS T 41500 49500 5 10 1 0 0 0 1 RIN=50 T 42900 49500 5 10 1 0 0 0 1 ROUT=50 T 44500 49500 5 10 1 0 0 0 1 RHO=0 } C 40800 46000 1 0 0 cascade-source-1.sym { T 39600 45900 5 10 0 0 0 0 1 device=cascade-source T 40900 47300 5 10 1 1 0 0 1 refdes=SOURCE T 40100 46200 5 10 0 1 0 0 1 footprint=none T 40900 46400 5 10 1 0 0 0 1 C=0 T 40900 46200 5 10 1 0 0 0 1 CN=70 T 40900 46000 5 10 1 0 0 0 1 BW=1 } C 42500 46100 1 0 0 cascade-amp-1.sym { T 42425 46650 5 8 0 0 0 0 1 device=cascade-amp T 42700 47500 5 10 1 1 0 0 1 refdes=AMP1 T 42100 46400 5 10 0 1 0 0 1 footprint=none T 42800 46500 5 10 1 0 0 0 1 G=12 T 42800 46300 5 10 1 0 0 0 1 NF=5 T 42800 46100 5 10 1 0 0 0 1 IIP3=-2 } C 44000 46600 1 0 0 cascade-defaults-1.sym { T 44525 47550 5 8 0 0 0 0 1 device=cascade-defaults T 44200 47700 5 10 1 1 0 0 1 refdes=DEF1 T 44300 47200 5 10 1 0 0 1 1 RIN=50 T 44300 47000 5 10 1 0 0 1 1 ROUT=50 T 44300 46800 5 10 1 0 0 1 1 RHO=0.2 T 44000 46600 5 10 0 1 0 0 1 footprint=none } C 46500 46200 1 0 0 cascade-filter-1.sym { T 46700 47700 5 10 0 0 0 0 1 footprint=none T 44700 44850 5 10 0 1 0 0 1 device=cascade-filter T 46800 47500 5 10 1 1 0 0 1 refdes=FL1 T 46900 46400 5 10 1 0 0 0 1 G=-5.5 T 46900 46200 5 10 1 0 0 0 1 NF=5.5 } C 48500 45800 1 0 0 cascade-mixer-1.sym { T 49000 47400 5 10 0 0 0 0 1 footprint=none T 47300 45650 5 10 0 1 0 0 1 device=cascade-mixer T 48800 47600 5 10 1 1 0 0 1 refdes=MX1 T 49000 46200 5 10 1 0 0 0 1 G=12 T 49000 46000 5 10 1 0 0 0 1 NF=15 T 49000 45800 5 10 1 0 0 0 1 IIP3=5 } C 50500 45100 1 0 0 cascade-transformer-1.sym { T 50800 47150 5 10 1 1 0 0 1 refdes=T1 T 49200 45550 5 10 0 0 0 0 1 device=cascade-transformer T 50200 46300 5 10 0 1 0 0 1 footprint=none T 51100 45700 5 10 1 0 0 0 1 G=0 T 51100 45500 5 10 1 0 0 0 1 NF=0 T 51100 45300 5 10 1 0 0 0 1 RIN=50 T 51100 45100 5 10 1 0 0 0 1 ROUT=50 } C 52900 46100 1 0 0 cascade-amp-1.sym { T 52825 46650 5 8 0 0 0 0 1 device=cascade-amp T 53100 47500 5 10 1 1 0 0 1 refdes=AMP2 T 52500 46400 5 10 0 1 0 0 1 footprint=none T 53200 46500 5 10 1 0 0 0 1 G=10 T 53200 46300 5 10 1 0 0 0 1 NF=12 T 53200 46100 5 10 1 0 0 0 1 IIP3=12 } N 52900 47000 52000 47000 4 N 50500 47000 49900 47000 4 N 48500 47000 47800 47000 4 N 46500 47000 45600 47000 4 N 44000 47000 43500 47000 4 N 42500 47000 41500 47000 4 geda-gaf-1.8.2/gnetlist/tests/common/inputs/stack-torture.sch0000664000175000017500000062076112063576065021241 00000000000000v 20090328 2 C 41000 60300 1 0 0 capacitor-1.sym { T 41200 61000 5 10 0 0 0 0 1 device=CAPACITOR T 41200 60800 5 10 1 1 0 0 1 refdes=C? T 41200 61200 5 10 0 0 0 0 1 symversion=0.1 } C 41000 59300 1 0 0 capacitor-1.sym { T 41200 60000 5 10 0 0 0 0 1 device=CAPACITOR T 41200 59800 5 10 1 1 0 0 1 refdes=C? T 41200 60200 5 10 0 0 0 0 1 symversion=0.1 } C 42500 60300 1 0 0 capacitor-1.sym { T 42700 61000 5 10 0 0 0 0 1 device=CAPACITOR T 42700 60800 5 10 1 1 0 0 1 refdes=C? T 42700 61200 5 10 0 0 0 0 1 symversion=0.1 } C 42500 59300 1 0 0 capacitor-1.sym { T 42700 60000 5 10 0 0 0 0 1 device=CAPACITOR T 42700 59800 5 10 1 1 0 0 1 refdes=C? T 42700 60200 5 10 0 0 0 0 1 symversion=0.1 } N 41900 59500 42500 58500 4 N 41900 60500 42500 59500 4 N 44000 59500 43400 60500 4 N 43400 59500 44000 58500 4 C 44000 60300 1 0 0 capacitor-1.sym { T 44200 61000 5 10 0 0 0 0 1 device=CAPACITOR T 44200 60800 5 10 1 1 0 0 1 refdes=C? T 44200 61200 5 10 0 0 0 0 1 symversion=0.1 } C 44000 59300 1 0 0 capacitor-1.sym { T 44200 60000 5 10 0 0 0 0 1 device=CAPACITOR T 44200 59800 5 10 1 1 0 0 1 refdes=C? T 44200 60200 5 10 0 0 0 0 1 symversion=0.1 } C 45500 60300 1 0 0 capacitor-1.sym { T 45700 61000 5 10 0 0 0 0 1 device=CAPACITOR T 45700 60800 5 10 1 1 0 0 1 refdes=C? T 45700 61200 5 10 0 0 0 0 1 symversion=0.1 } C 45500 59300 1 0 0 capacitor-1.sym { T 45700 60000 5 10 0 0 0 0 1 device=CAPACITOR T 45700 59800 5 10 1 1 0 0 1 refdes=C? T 45700 60200 5 10 0 0 0 0 1 symversion=0.1 } N 44900 59500 45500 58500 4 N 44900 60500 45500 59500 4 N 47000 59500 46400 60500 4 N 46400 59500 47000 58500 4 C 41000 58300 1 0 0 capacitor-1.sym { T 41200 59000 5 10 0 0 0 0 1 device=CAPACITOR T 41200 58800 5 10 1 1 0 0 1 refdes=C? T 41200 59200 5 10 0 0 0 0 1 symversion=0.1 } C 41000 57300 1 0 0 capacitor-1.sym { T 41200 58000 5 10 0 0 0 0 1 device=CAPACITOR T 41200 57800 5 10 1 1 0 0 1 refdes=C? T 41200 58200 5 10 0 0 0 0 1 symversion=0.1 } C 42500 58300 1 0 0 capacitor-1.sym { T 42700 59000 5 10 0 0 0 0 1 device=CAPACITOR T 42700 58800 5 10 1 1 0 0 1 refdes=C? T 42700 59200 5 10 0 0 0 0 1 symversion=0.1 } C 42500 57300 1 0 0 capacitor-1.sym { T 42700 58000 5 10 0 0 0 0 1 device=CAPACITOR T 42700 57800 5 10 1 1 0 0 1 refdes=C? T 42700 58200 5 10 0 0 0 0 1 symversion=0.1 } N 41900 57500 42500 56500 4 N 41900 58500 42500 57500 4 N 44000 57500 43400 58500 4 N 43400 57500 44000 56500 4 C 44000 58300 1 0 0 capacitor-1.sym { T 44200 59000 5 10 0 0 0 0 1 device=CAPACITOR T 44200 58800 5 10 1 1 0 0 1 refdes=C? T 44200 59200 5 10 0 0 0 0 1 symversion=0.1 } C 44000 57300 1 0 0 capacitor-1.sym { T 44200 58000 5 10 0 0 0 0 1 device=CAPACITOR T 44200 57800 5 10 1 1 0 0 1 refdes=C? T 44200 58200 5 10 0 0 0 0 1 symversion=0.1 } C 45500 58300 1 0 0 capacitor-1.sym { T 45700 59000 5 10 0 0 0 0 1 device=CAPACITOR T 45700 58800 5 10 1 1 0 0 1 refdes=C? T 45700 59200 5 10 0 0 0 0 1 symversion=0.1 } C 45500 57300 1 0 0 capacitor-1.sym { T 45700 58000 5 10 0 0 0 0 1 device=CAPACITOR T 45700 57800 5 10 1 1 0 0 1 refdes=C? T 45700 58200 5 10 0 0 0 0 1 symversion=0.1 } N 44900 57500 45500 56500 4 N 44900 58500 45500 57500 4 N 47000 57500 46400 58500 4 N 46400 57500 47000 56500 4 C 47000 60300 1 0 0 capacitor-1.sym { T 47200 61000 5 10 0 0 0 0 1 device=CAPACITOR T 47200 60800 5 10 1 1 0 0 1 refdes=C? T 47200 61200 5 10 0 0 0 0 1 symversion=0.1 } C 47000 59300 1 0 0 capacitor-1.sym { T 47200 60000 5 10 0 0 0 0 1 device=CAPACITOR T 47200 59800 5 10 1 1 0 0 1 refdes=C? T 47200 60200 5 10 0 0 0 0 1 symversion=0.1 } C 48500 60300 1 0 0 capacitor-1.sym { T 48700 61000 5 10 0 0 0 0 1 device=CAPACITOR T 48700 60800 5 10 1 1 0 0 1 refdes=C? T 48700 61200 5 10 0 0 0 0 1 symversion=0.1 } C 48500 59300 1 0 0 capacitor-1.sym { T 48700 60000 5 10 0 0 0 0 1 device=CAPACITOR T 48700 59800 5 10 1 1 0 0 1 refdes=C? T 48700 60200 5 10 0 0 0 0 1 symversion=0.1 } N 47900 59500 48500 58500 4 N 47900 60500 48500 59500 4 N 50000 59500 49400 60500 4 N 49400 59500 50000 58500 4 C 50000 60300 1 0 0 capacitor-1.sym { T 50200 61000 5 10 0 0 0 0 1 device=CAPACITOR T 50200 60800 5 10 1 1 0 0 1 refdes=C? T 50200 61200 5 10 0 0 0 0 1 symversion=0.1 } C 50000 59300 1 0 0 capacitor-1.sym { T 50200 60000 5 10 0 0 0 0 1 device=CAPACITOR T 50200 59800 5 10 1 1 0 0 1 refdes=C? T 50200 60200 5 10 0 0 0 0 1 symversion=0.1 } C 51500 60300 1 0 0 capacitor-1.sym { T 51700 61000 5 10 0 0 0 0 1 device=CAPACITOR T 51700 60800 5 10 1 1 0 0 1 refdes=C? T 51700 61200 5 10 0 0 0 0 1 symversion=0.1 } C 51500 59300 1 0 0 capacitor-1.sym { T 51700 60000 5 10 0 0 0 0 1 device=CAPACITOR T 51700 59800 5 10 1 1 0 0 1 refdes=C? T 51700 60200 5 10 0 0 0 0 1 symversion=0.1 } N 50900 59500 51500 58500 4 N 50900 60500 51500 59500 4 N 53000 59500 52400 60500 4 N 52400 59500 53000 58500 4 C 47000 58300 1 0 0 capacitor-1.sym { T 47200 59000 5 10 0 0 0 0 1 device=CAPACITOR T 47200 58800 5 10 1 1 0 0 1 refdes=C? T 47200 59200 5 10 0 0 0 0 1 symversion=0.1 } C 47000 57300 1 0 0 capacitor-1.sym { T 47200 58000 5 10 0 0 0 0 1 device=CAPACITOR T 47200 57800 5 10 1 1 0 0 1 refdes=C? T 47200 58200 5 10 0 0 0 0 1 symversion=0.1 } C 48500 58300 1 0 0 capacitor-1.sym { T 48700 59000 5 10 0 0 0 0 1 device=CAPACITOR T 48700 58800 5 10 1 1 0 0 1 refdes=C? T 48700 59200 5 10 0 0 0 0 1 symversion=0.1 } C 48500 57300 1 0 0 capacitor-1.sym { T 48700 58000 5 10 0 0 0 0 1 device=CAPACITOR T 48700 57800 5 10 1 1 0 0 1 refdes=C? T 48700 58200 5 10 0 0 0 0 1 symversion=0.1 } N 47900 57500 48500 56500 4 N 47900 58500 48500 57500 4 N 50000 57500 49400 58500 4 N 49400 57500 50000 56500 4 C 50000 58300 1 0 0 capacitor-1.sym { T 50200 59000 5 10 0 0 0 0 1 device=CAPACITOR T 50200 58800 5 10 1 1 0 0 1 refdes=C? T 50200 59200 5 10 0 0 0 0 1 symversion=0.1 } C 50000 57300 1 0 0 capacitor-1.sym { T 50200 58000 5 10 0 0 0 0 1 device=CAPACITOR T 50200 57800 5 10 1 1 0 0 1 refdes=C? T 50200 58200 5 10 0 0 0 0 1 symversion=0.1 } C 51500 58300 1 0 0 capacitor-1.sym { T 51700 59000 5 10 0 0 0 0 1 device=CAPACITOR T 51700 58800 5 10 1 1 0 0 1 refdes=C? T 51700 59200 5 10 0 0 0 0 1 symversion=0.1 } C 51500 57300 1 0 0 capacitor-1.sym { T 51700 58000 5 10 0 0 0 0 1 device=CAPACITOR T 51700 57800 5 10 1 1 0 0 1 refdes=C? T 51700 58200 5 10 0 0 0 0 1 symversion=0.1 } N 50900 57500 51500 56500 4 N 50900 58500 51500 57500 4 N 53000 57500 52400 58500 4 N 52400 57500 53000 56500 4 C 41000 56300 1 0 0 capacitor-1.sym { T 41200 57000 5 10 0 0 0 0 1 device=CAPACITOR T 41200 56800 5 10 1 1 0 0 1 refdes=C? T 41200 57200 5 10 0 0 0 0 1 symversion=0.1 } C 41000 55300 1 0 0 capacitor-1.sym { T 41200 56000 5 10 0 0 0 0 1 device=CAPACITOR T 41200 55800 5 10 1 1 0 0 1 refdes=C? T 41200 56200 5 10 0 0 0 0 1 symversion=0.1 } C 42500 56300 1 0 0 capacitor-1.sym { T 42700 57000 5 10 0 0 0 0 1 device=CAPACITOR T 42700 56800 5 10 1 1 0 0 1 refdes=C? T 42700 57200 5 10 0 0 0 0 1 symversion=0.1 } C 42500 55300 1 0 0 capacitor-1.sym { T 42700 56000 5 10 0 0 0 0 1 device=CAPACITOR T 42700 55800 5 10 1 1 0 0 1 refdes=C? T 42700 56200 5 10 0 0 0 0 1 symversion=0.1 } N 41900 55500 42500 54500 4 N 41900 56500 42500 55500 4 N 44000 55500 43400 56500 4 N 43400 55500 44000 54500 4 C 44000 56300 1 0 0 capacitor-1.sym { T 44200 57000 5 10 0 0 0 0 1 device=CAPACITOR T 44200 56800 5 10 1 1 0 0 1 refdes=C? T 44200 57200 5 10 0 0 0 0 1 symversion=0.1 } C 44000 55300 1 0 0 capacitor-1.sym { T 44200 56000 5 10 0 0 0 0 1 device=CAPACITOR T 44200 55800 5 10 1 1 0 0 1 refdes=C? T 44200 56200 5 10 0 0 0 0 1 symversion=0.1 } C 45500 56300 1 0 0 capacitor-1.sym { T 45700 57000 5 10 0 0 0 0 1 device=CAPACITOR T 45700 56800 5 10 1 1 0 0 1 refdes=C? T 45700 57200 5 10 0 0 0 0 1 symversion=0.1 } C 45500 55300 1 0 0 capacitor-1.sym { T 45700 56000 5 10 0 0 0 0 1 device=CAPACITOR T 45700 55800 5 10 1 1 0 0 1 refdes=C? T 45700 56200 5 10 0 0 0 0 1 symversion=0.1 } N 44900 55500 45500 54500 4 N 44900 56500 45500 55500 4 N 47000 55500 46400 56500 4 N 46400 55500 47000 54500 4 C 41000 54300 1 0 0 capacitor-1.sym { T 41200 55000 5 10 0 0 0 0 1 device=CAPACITOR T 41200 54800 5 10 1 1 0 0 1 refdes=C? T 41200 55200 5 10 0 0 0 0 1 symversion=0.1 } C 41000 53300 1 0 0 capacitor-1.sym { T 41200 54000 5 10 0 0 0 0 1 device=CAPACITOR T 41200 53800 5 10 1 1 0 0 1 refdes=C? T 41200 54200 5 10 0 0 0 0 1 symversion=0.1 } C 42500 54300 1 0 0 capacitor-1.sym { T 42700 55000 5 10 0 0 0 0 1 device=CAPACITOR T 42700 54800 5 10 1 1 0 0 1 refdes=C? T 42700 55200 5 10 0 0 0 0 1 symversion=0.1 } C 42500 53300 1 0 0 capacitor-1.sym { T 42700 54000 5 10 0 0 0 0 1 device=CAPACITOR T 42700 53800 5 10 1 1 0 0 1 refdes=C? T 42700 54200 5 10 0 0 0 0 1 symversion=0.1 } N 41900 53500 42500 52500 4 N 41900 54500 42500 53500 4 N 44000 53500 43400 54500 4 N 43400 53500 44000 52500 4 C 44000 54300 1 0 0 capacitor-1.sym { T 44200 55000 5 10 0 0 0 0 1 device=CAPACITOR T 44200 54800 5 10 1 1 0 0 1 refdes=C? T 44200 55200 5 10 0 0 0 0 1 symversion=0.1 } C 44000 53300 1 0 0 capacitor-1.sym { T 44200 54000 5 10 0 0 0 0 1 device=CAPACITOR T 44200 53800 5 10 1 1 0 0 1 refdes=C? T 44200 54200 5 10 0 0 0 0 1 symversion=0.1 } C 45500 54300 1 0 0 capacitor-1.sym { T 45700 55000 5 10 0 0 0 0 1 device=CAPACITOR T 45700 54800 5 10 1 1 0 0 1 refdes=C? T 45700 55200 5 10 0 0 0 0 1 symversion=0.1 } C 45500 53300 1 0 0 capacitor-1.sym { T 45700 54000 5 10 0 0 0 0 1 device=CAPACITOR T 45700 53800 5 10 1 1 0 0 1 refdes=C? T 45700 54200 5 10 0 0 0 0 1 symversion=0.1 } N 44900 53500 45500 52500 4 N 44900 54500 45500 53500 4 N 47000 53500 46400 54500 4 N 46400 53500 47000 52500 4 C 47000 56300 1 0 0 capacitor-1.sym { T 47200 57000 5 10 0 0 0 0 1 device=CAPACITOR T 47200 56800 5 10 1 1 0 0 1 refdes=C? T 47200 57200 5 10 0 0 0 0 1 symversion=0.1 } C 47000 55300 1 0 0 capacitor-1.sym { T 47200 56000 5 10 0 0 0 0 1 device=CAPACITOR T 47200 55800 5 10 1 1 0 0 1 refdes=C? T 47200 56200 5 10 0 0 0 0 1 symversion=0.1 } C 48500 56300 1 0 0 capacitor-1.sym { T 48700 57000 5 10 0 0 0 0 1 device=CAPACITOR T 48700 56800 5 10 1 1 0 0 1 refdes=C? T 48700 57200 5 10 0 0 0 0 1 symversion=0.1 } C 48500 55300 1 0 0 capacitor-1.sym { T 48700 56000 5 10 0 0 0 0 1 device=CAPACITOR T 48700 55800 5 10 1 1 0 0 1 refdes=C? T 48700 56200 5 10 0 0 0 0 1 symversion=0.1 } N 47900 55500 48500 54500 4 N 47900 56500 48500 55500 4 N 50000 55500 49400 56500 4 N 49400 55500 50000 54500 4 C 50000 56300 1 0 0 capacitor-1.sym { T 50200 57000 5 10 0 0 0 0 1 device=CAPACITOR T 50200 56800 5 10 1 1 0 0 1 refdes=C? T 50200 57200 5 10 0 0 0 0 1 symversion=0.1 } C 50000 55300 1 0 0 capacitor-1.sym { T 50200 56000 5 10 0 0 0 0 1 device=CAPACITOR T 50200 55800 5 10 1 1 0 0 1 refdes=C? T 50200 56200 5 10 0 0 0 0 1 symversion=0.1 } C 51500 56300 1 0 0 capacitor-1.sym { T 51700 57000 5 10 0 0 0 0 1 device=CAPACITOR T 51700 56800 5 10 1 1 0 0 1 refdes=C? T 51700 57200 5 10 0 0 0 0 1 symversion=0.1 } C 51500 55300 1 0 0 capacitor-1.sym { T 51700 56000 5 10 0 0 0 0 1 device=CAPACITOR T 51700 55800 5 10 1 1 0 0 1 refdes=C? T 51700 56200 5 10 0 0 0 0 1 symversion=0.1 } N 50900 55500 51500 54500 4 N 50900 56500 51500 55500 4 N 53000 55500 52400 56500 4 N 52400 55500 53000 54500 4 C 47000 54300 1 0 0 capacitor-1.sym { T 47200 55000 5 10 0 0 0 0 1 device=CAPACITOR T 47200 54800 5 10 1 1 0 0 1 refdes=C? T 47200 55200 5 10 0 0 0 0 1 symversion=0.1 } C 47000 53300 1 0 0 capacitor-1.sym { T 47200 54000 5 10 0 0 0 0 1 device=CAPACITOR T 47200 53800 5 10 1 1 0 0 1 refdes=C? T 47200 54200 5 10 0 0 0 0 1 symversion=0.1 } C 48500 54300 1 0 0 capacitor-1.sym { T 48700 55000 5 10 0 0 0 0 1 device=CAPACITOR T 48700 54800 5 10 1 1 0 0 1 refdes=C? T 48700 55200 5 10 0 0 0 0 1 symversion=0.1 } C 48500 53300 1 0 0 capacitor-1.sym { T 48700 54000 5 10 0 0 0 0 1 device=CAPACITOR T 48700 53800 5 10 1 1 0 0 1 refdes=C? T 48700 54200 5 10 0 0 0 0 1 symversion=0.1 } N 47900 53500 48500 52500 4 N 47900 54500 48500 53500 4 N 50000 53500 49400 54500 4 N 49400 53500 50000 52500 4 C 50000 54300 1 0 0 capacitor-1.sym { T 50200 55000 5 10 0 0 0 0 1 device=CAPACITOR T 50200 54800 5 10 1 1 0 0 1 refdes=C? T 50200 55200 5 10 0 0 0 0 1 symversion=0.1 } C 50000 53300 1 0 0 capacitor-1.sym { T 50200 54000 5 10 0 0 0 0 1 device=CAPACITOR T 50200 53800 5 10 1 1 0 0 1 refdes=C? T 50200 54200 5 10 0 0 0 0 1 symversion=0.1 } C 51500 54300 1 0 0 capacitor-1.sym { T 51700 55000 5 10 0 0 0 0 1 device=CAPACITOR T 51700 54800 5 10 1 1 0 0 1 refdes=C? T 51700 55200 5 10 0 0 0 0 1 symversion=0.1 } C 51500 53300 1 0 0 capacitor-1.sym { T 51700 54000 5 10 0 0 0 0 1 device=CAPACITOR T 51700 53800 5 10 1 1 0 0 1 refdes=C? T 51700 54200 5 10 0 0 0 0 1 symversion=0.1 } N 50900 53500 51500 52500 4 N 50900 54500 51500 53500 4 N 53000 53500 52400 54500 4 N 52400 53500 53000 52500 4 C 53000 60300 1 0 0 capacitor-1.sym { T 53200 61000 5 10 0 0 0 0 1 device=CAPACITOR T 53200 60800 5 10 1 1 0 0 1 refdes=C? T 53200 61200 5 10 0 0 0 0 1 symversion=0.1 } C 53000 59300 1 0 0 capacitor-1.sym { T 53200 60000 5 10 0 0 0 0 1 device=CAPACITOR T 53200 59800 5 10 1 1 0 0 1 refdes=C? T 53200 60200 5 10 0 0 0 0 1 symversion=0.1 } C 54500 60300 1 0 0 capacitor-1.sym { T 54700 61000 5 10 0 0 0 0 1 device=CAPACITOR T 54700 60800 5 10 1 1 0 0 1 refdes=C? T 54700 61200 5 10 0 0 0 0 1 symversion=0.1 } C 54500 59300 1 0 0 capacitor-1.sym { T 54700 60000 5 10 0 0 0 0 1 device=CAPACITOR T 54700 59800 5 10 1 1 0 0 1 refdes=C? T 54700 60200 5 10 0 0 0 0 1 symversion=0.1 } N 53900 59500 54500 58500 4 N 53900 60500 54500 59500 4 N 56000 59500 55400 60500 4 N 55400 59500 56000 58500 4 C 56000 60300 1 0 0 capacitor-1.sym { T 56200 61000 5 10 0 0 0 0 1 device=CAPACITOR T 56200 60800 5 10 1 1 0 0 1 refdes=C? T 56200 61200 5 10 0 0 0 0 1 symversion=0.1 } C 56000 59300 1 0 0 capacitor-1.sym { T 56200 60000 5 10 0 0 0 0 1 device=CAPACITOR T 56200 59800 5 10 1 1 0 0 1 refdes=C? T 56200 60200 5 10 0 0 0 0 1 symversion=0.1 } C 57500 60300 1 0 0 capacitor-1.sym { T 57700 61000 5 10 0 0 0 0 1 device=CAPACITOR T 57700 60800 5 10 1 1 0 0 1 refdes=C? T 57700 61200 5 10 0 0 0 0 1 symversion=0.1 } C 57500 59300 1 0 0 capacitor-1.sym { T 57700 60000 5 10 0 0 0 0 1 device=CAPACITOR T 57700 59800 5 10 1 1 0 0 1 refdes=C? T 57700 60200 5 10 0 0 0 0 1 symversion=0.1 } N 56900 59500 57500 58500 4 N 56900 60500 57500 59500 4 N 59000 59500 58400 60500 4 N 58400 59500 59000 58500 4 C 53000 58300 1 0 0 capacitor-1.sym { T 53200 59000 5 10 0 0 0 0 1 device=CAPACITOR T 53200 58800 5 10 1 1 0 0 1 refdes=C? T 53200 59200 5 10 0 0 0 0 1 symversion=0.1 } C 53000 57300 1 0 0 capacitor-1.sym { T 53200 58000 5 10 0 0 0 0 1 device=CAPACITOR T 53200 57800 5 10 1 1 0 0 1 refdes=C? T 53200 58200 5 10 0 0 0 0 1 symversion=0.1 } C 54500 58300 1 0 0 capacitor-1.sym { T 54700 59000 5 10 0 0 0 0 1 device=CAPACITOR T 54700 58800 5 10 1 1 0 0 1 refdes=C? T 54700 59200 5 10 0 0 0 0 1 symversion=0.1 } C 54500 57300 1 0 0 capacitor-1.sym { T 54700 58000 5 10 0 0 0 0 1 device=CAPACITOR T 54700 57800 5 10 1 1 0 0 1 refdes=C? T 54700 58200 5 10 0 0 0 0 1 symversion=0.1 } N 53900 57500 54500 56500 4 N 53900 58500 54500 57500 4 N 56000 57500 55400 58500 4 N 55400 57500 56000 56500 4 C 56000 58300 1 0 0 capacitor-1.sym { T 56200 59000 5 10 0 0 0 0 1 device=CAPACITOR T 56200 58800 5 10 1 1 0 0 1 refdes=C? T 56200 59200 5 10 0 0 0 0 1 symversion=0.1 } C 56000 57300 1 0 0 capacitor-1.sym { T 56200 58000 5 10 0 0 0 0 1 device=CAPACITOR T 56200 57800 5 10 1 1 0 0 1 refdes=C? T 56200 58200 5 10 0 0 0 0 1 symversion=0.1 } C 57500 58300 1 0 0 capacitor-1.sym { T 57700 59000 5 10 0 0 0 0 1 device=CAPACITOR T 57700 58800 5 10 1 1 0 0 1 refdes=C? T 57700 59200 5 10 0 0 0 0 1 symversion=0.1 } C 57500 57300 1 0 0 capacitor-1.sym { T 57700 58000 5 10 0 0 0 0 1 device=CAPACITOR T 57700 57800 5 10 1 1 0 0 1 refdes=C? T 57700 58200 5 10 0 0 0 0 1 symversion=0.1 } N 56900 57500 57500 56500 4 N 56900 58500 57500 57500 4 N 59000 57500 58400 58500 4 N 58400 57500 59000 56500 4 C 59000 60300 1 0 0 capacitor-1.sym { T 59200 61000 5 10 0 0 0 0 1 device=CAPACITOR T 59200 60800 5 10 1 1 0 0 1 refdes=C? T 59200 61200 5 10 0 0 0 0 1 symversion=0.1 } C 59000 59300 1 0 0 capacitor-1.sym { T 59200 60000 5 10 0 0 0 0 1 device=CAPACITOR T 59200 59800 5 10 1 1 0 0 1 refdes=C? T 59200 60200 5 10 0 0 0 0 1 symversion=0.1 } C 60500 60300 1 0 0 capacitor-1.sym { T 60700 61000 5 10 0 0 0 0 1 device=CAPACITOR T 60700 60800 5 10 1 1 0 0 1 refdes=C? T 60700 61200 5 10 0 0 0 0 1 symversion=0.1 } C 60500 59300 1 0 0 capacitor-1.sym { T 60700 60000 5 10 0 0 0 0 1 device=CAPACITOR T 60700 59800 5 10 1 1 0 0 1 refdes=C? T 60700 60200 5 10 0 0 0 0 1 symversion=0.1 } N 59900 59500 60500 58500 4 N 59900 60500 60500 59500 4 N 62000 59500 61400 60500 4 N 61400 59500 62000 58500 4 C 62000 60300 1 0 0 capacitor-1.sym { T 62200 61000 5 10 0 0 0 0 1 device=CAPACITOR T 62200 60800 5 10 1 1 0 0 1 refdes=C? T 62200 61200 5 10 0 0 0 0 1 symversion=0.1 } C 62000 59300 1 0 0 capacitor-1.sym { T 62200 60000 5 10 0 0 0 0 1 device=CAPACITOR T 62200 59800 5 10 1 1 0 0 1 refdes=C? T 62200 60200 5 10 0 0 0 0 1 symversion=0.1 } C 63500 60300 1 0 0 capacitor-1.sym { T 63700 61000 5 10 0 0 0 0 1 device=CAPACITOR T 63700 60800 5 10 1 1 0 0 1 refdes=C? T 63700 61200 5 10 0 0 0 0 1 symversion=0.1 } C 63500 59300 1 0 0 capacitor-1.sym { T 63700 60000 5 10 0 0 0 0 1 device=CAPACITOR T 63700 59800 5 10 1 1 0 0 1 refdes=C? T 63700 60200 5 10 0 0 0 0 1 symversion=0.1 } N 62900 59500 63500 58500 4 N 62900 60500 63500 59500 4 N 65000 59500 64400 60500 4 N 64400 59500 65000 58500 4 C 59000 58300 1 0 0 capacitor-1.sym { T 59200 59000 5 10 0 0 0 0 1 device=CAPACITOR T 59200 58800 5 10 1 1 0 0 1 refdes=C? T 59200 59200 5 10 0 0 0 0 1 symversion=0.1 } C 59000 57300 1 0 0 capacitor-1.sym { T 59200 58000 5 10 0 0 0 0 1 device=CAPACITOR T 59200 57800 5 10 1 1 0 0 1 refdes=C? T 59200 58200 5 10 0 0 0 0 1 symversion=0.1 } C 60500 58300 1 0 0 capacitor-1.sym { T 60700 59000 5 10 0 0 0 0 1 device=CAPACITOR T 60700 58800 5 10 1 1 0 0 1 refdes=C? T 60700 59200 5 10 0 0 0 0 1 symversion=0.1 } C 60500 57300 1 0 0 capacitor-1.sym { T 60700 58000 5 10 0 0 0 0 1 device=CAPACITOR T 60700 57800 5 10 1 1 0 0 1 refdes=C? T 60700 58200 5 10 0 0 0 0 1 symversion=0.1 } N 59900 57500 60500 56500 4 N 59900 58500 60500 57500 4 N 62000 57500 61400 58500 4 N 61400 57500 62000 56500 4 C 62000 58300 1 0 0 capacitor-1.sym { T 62200 59000 5 10 0 0 0 0 1 device=CAPACITOR T 62200 58800 5 10 1 1 0 0 1 refdes=C? T 62200 59200 5 10 0 0 0 0 1 symversion=0.1 } C 62000 57300 1 0 0 capacitor-1.sym { T 62200 58000 5 10 0 0 0 0 1 device=CAPACITOR T 62200 57800 5 10 1 1 0 0 1 refdes=C? T 62200 58200 5 10 0 0 0 0 1 symversion=0.1 } C 63500 58300 1 0 0 capacitor-1.sym { T 63700 59000 5 10 0 0 0 0 1 device=CAPACITOR T 63700 58800 5 10 1 1 0 0 1 refdes=C? T 63700 59200 5 10 0 0 0 0 1 symversion=0.1 } C 63500 57300 1 0 0 capacitor-1.sym { T 63700 58000 5 10 0 0 0 0 1 device=CAPACITOR T 63700 57800 5 10 1 1 0 0 1 refdes=C? T 63700 58200 5 10 0 0 0 0 1 symversion=0.1 } N 62900 57500 63500 56500 4 N 62900 58500 63500 57500 4 N 65000 57500 64400 58500 4 N 64400 57500 65000 56500 4 C 53000 56300 1 0 0 capacitor-1.sym { T 53200 57000 5 10 0 0 0 0 1 device=CAPACITOR T 53200 56800 5 10 1 1 0 0 1 refdes=C? T 53200 57200 5 10 0 0 0 0 1 symversion=0.1 } C 53000 55300 1 0 0 capacitor-1.sym { T 53200 56000 5 10 0 0 0 0 1 device=CAPACITOR T 53200 55800 5 10 1 1 0 0 1 refdes=C? T 53200 56200 5 10 0 0 0 0 1 symversion=0.1 } C 54500 56300 1 0 0 capacitor-1.sym { T 54700 57000 5 10 0 0 0 0 1 device=CAPACITOR T 54700 56800 5 10 1 1 0 0 1 refdes=C? T 54700 57200 5 10 0 0 0 0 1 symversion=0.1 } C 54500 55300 1 0 0 capacitor-1.sym { T 54700 56000 5 10 0 0 0 0 1 device=CAPACITOR T 54700 55800 5 10 1 1 0 0 1 refdes=C? T 54700 56200 5 10 0 0 0 0 1 symversion=0.1 } N 53900 55500 54500 54500 4 N 53900 56500 54500 55500 4 N 56000 55500 55400 56500 4 N 55400 55500 56000 54500 4 C 56000 56300 1 0 0 capacitor-1.sym { T 56200 57000 5 10 0 0 0 0 1 device=CAPACITOR T 56200 56800 5 10 1 1 0 0 1 refdes=C? T 56200 57200 5 10 0 0 0 0 1 symversion=0.1 } C 56000 55300 1 0 0 capacitor-1.sym { T 56200 56000 5 10 0 0 0 0 1 device=CAPACITOR T 56200 55800 5 10 1 1 0 0 1 refdes=C? T 56200 56200 5 10 0 0 0 0 1 symversion=0.1 } C 57500 56300 1 0 0 capacitor-1.sym { T 57700 57000 5 10 0 0 0 0 1 device=CAPACITOR T 57700 56800 5 10 1 1 0 0 1 refdes=C? T 57700 57200 5 10 0 0 0 0 1 symversion=0.1 } C 57500 55300 1 0 0 capacitor-1.sym { T 57700 56000 5 10 0 0 0 0 1 device=CAPACITOR T 57700 55800 5 10 1 1 0 0 1 refdes=C? T 57700 56200 5 10 0 0 0 0 1 symversion=0.1 } N 56900 55500 57500 54500 4 N 56900 56500 57500 55500 4 N 59000 55500 58400 56500 4 N 58400 55500 59000 54500 4 C 53000 54300 1 0 0 capacitor-1.sym { T 53200 55000 5 10 0 0 0 0 1 device=CAPACITOR T 53200 54800 5 10 1 1 0 0 1 refdes=C? T 53200 55200 5 10 0 0 0 0 1 symversion=0.1 } C 53000 53300 1 0 0 capacitor-1.sym { T 53200 54000 5 10 0 0 0 0 1 device=CAPACITOR T 53200 53800 5 10 1 1 0 0 1 refdes=C? T 53200 54200 5 10 0 0 0 0 1 symversion=0.1 } C 54500 54300 1 0 0 capacitor-1.sym { T 54700 55000 5 10 0 0 0 0 1 device=CAPACITOR T 54700 54800 5 10 1 1 0 0 1 refdes=C? T 54700 55200 5 10 0 0 0 0 1 symversion=0.1 } C 54500 53300 1 0 0 capacitor-1.sym { T 54700 54000 5 10 0 0 0 0 1 device=CAPACITOR T 54700 53800 5 10 1 1 0 0 1 refdes=C? T 54700 54200 5 10 0 0 0 0 1 symversion=0.1 } N 53900 53500 54500 52500 4 N 53900 54500 54500 53500 4 N 56000 53500 55400 54500 4 N 55400 53500 56000 52500 4 C 56000 54300 1 0 0 capacitor-1.sym { T 56200 55000 5 10 0 0 0 0 1 device=CAPACITOR T 56200 54800 5 10 1 1 0 0 1 refdes=C? T 56200 55200 5 10 0 0 0 0 1 symversion=0.1 } C 56000 53300 1 0 0 capacitor-1.sym { T 56200 54000 5 10 0 0 0 0 1 device=CAPACITOR T 56200 53800 5 10 1 1 0 0 1 refdes=C? T 56200 54200 5 10 0 0 0 0 1 symversion=0.1 } C 57500 54300 1 0 0 capacitor-1.sym { T 57700 55000 5 10 0 0 0 0 1 device=CAPACITOR T 57700 54800 5 10 1 1 0 0 1 refdes=C? T 57700 55200 5 10 0 0 0 0 1 symversion=0.1 } C 57500 53300 1 0 0 capacitor-1.sym { T 57700 54000 5 10 0 0 0 0 1 device=CAPACITOR T 57700 53800 5 10 1 1 0 0 1 refdes=C? T 57700 54200 5 10 0 0 0 0 1 symversion=0.1 } N 56900 53500 57500 52500 4 N 56900 54500 57500 53500 4 N 59000 53500 58400 54500 4 N 58400 53500 59000 52500 4 C 59000 56300 1 0 0 capacitor-1.sym { T 59200 57000 5 10 0 0 0 0 1 device=CAPACITOR T 59200 56800 5 10 1 1 0 0 1 refdes=C? T 59200 57200 5 10 0 0 0 0 1 symversion=0.1 } C 59000 55300 1 0 0 capacitor-1.sym { T 59200 56000 5 10 0 0 0 0 1 device=CAPACITOR T 59200 55800 5 10 1 1 0 0 1 refdes=C? T 59200 56200 5 10 0 0 0 0 1 symversion=0.1 } C 60500 56300 1 0 0 capacitor-1.sym { T 60700 57000 5 10 0 0 0 0 1 device=CAPACITOR T 60700 56800 5 10 1 1 0 0 1 refdes=C? T 60700 57200 5 10 0 0 0 0 1 symversion=0.1 } C 60500 55300 1 0 0 capacitor-1.sym { T 60700 56000 5 10 0 0 0 0 1 device=CAPACITOR T 60700 55800 5 10 1 1 0 0 1 refdes=C? T 60700 56200 5 10 0 0 0 0 1 symversion=0.1 } N 59900 55500 60500 54500 4 N 59900 56500 60500 55500 4 N 62000 55500 61400 56500 4 N 61400 55500 62000 54500 4 C 62000 56300 1 0 0 capacitor-1.sym { T 62200 57000 5 10 0 0 0 0 1 device=CAPACITOR T 62200 56800 5 10 1 1 0 0 1 refdes=C? T 62200 57200 5 10 0 0 0 0 1 symversion=0.1 } C 62000 55300 1 0 0 capacitor-1.sym { T 62200 56000 5 10 0 0 0 0 1 device=CAPACITOR T 62200 55800 5 10 1 1 0 0 1 refdes=C? T 62200 56200 5 10 0 0 0 0 1 symversion=0.1 } C 63500 56300 1 0 0 capacitor-1.sym { T 63700 57000 5 10 0 0 0 0 1 device=CAPACITOR T 63700 56800 5 10 1 1 0 0 1 refdes=C? T 63700 57200 5 10 0 0 0 0 1 symversion=0.1 } C 63500 55300 1 0 0 capacitor-1.sym { T 63700 56000 5 10 0 0 0 0 1 device=CAPACITOR T 63700 55800 5 10 1 1 0 0 1 refdes=C? T 63700 56200 5 10 0 0 0 0 1 symversion=0.1 } N 62900 55500 63500 54500 4 N 62900 56500 63500 55500 4 N 65000 55500 64400 56500 4 N 64400 55500 65000 54500 4 C 59000 54300 1 0 0 capacitor-1.sym { T 59200 55000 5 10 0 0 0 0 1 device=CAPACITOR T 59200 54800 5 10 1 1 0 0 1 refdes=C? T 59200 55200 5 10 0 0 0 0 1 symversion=0.1 } C 59000 53300 1 0 0 capacitor-1.sym { T 59200 54000 5 10 0 0 0 0 1 device=CAPACITOR T 59200 53800 5 10 1 1 0 0 1 refdes=C? T 59200 54200 5 10 0 0 0 0 1 symversion=0.1 } C 60500 54300 1 0 0 capacitor-1.sym { T 60700 55000 5 10 0 0 0 0 1 device=CAPACITOR T 60700 54800 5 10 1 1 0 0 1 refdes=C? T 60700 55200 5 10 0 0 0 0 1 symversion=0.1 } C 60500 53300 1 0 0 capacitor-1.sym { T 60700 54000 5 10 0 0 0 0 1 device=CAPACITOR T 60700 53800 5 10 1 1 0 0 1 refdes=C? T 60700 54200 5 10 0 0 0 0 1 symversion=0.1 } N 59900 53500 60500 52500 4 N 59900 54500 60500 53500 4 N 62000 53500 61400 54500 4 N 61400 53500 62000 52500 4 C 62000 54300 1 0 0 capacitor-1.sym { T 62200 55000 5 10 0 0 0 0 1 device=CAPACITOR T 62200 54800 5 10 1 1 0 0 1 refdes=C? T 62200 55200 5 10 0 0 0 0 1 symversion=0.1 } C 62000 53300 1 0 0 capacitor-1.sym { T 62200 54000 5 10 0 0 0 0 1 device=CAPACITOR T 62200 53800 5 10 1 1 0 0 1 refdes=C? T 62200 54200 5 10 0 0 0 0 1 symversion=0.1 } C 63500 54300 1 0 0 capacitor-1.sym { T 63700 55000 5 10 0 0 0 0 1 device=CAPACITOR T 63700 54800 5 10 1 1 0 0 1 refdes=C? T 63700 55200 5 10 0 0 0 0 1 symversion=0.1 } C 63500 53300 1 0 0 capacitor-1.sym { T 63700 54000 5 10 0 0 0 0 1 device=CAPACITOR T 63700 53800 5 10 1 1 0 0 1 refdes=C? T 63700 54200 5 10 0 0 0 0 1 symversion=0.1 } N 62900 53500 63500 52500 4 N 62900 54500 63500 53500 4 N 65000 53500 64400 54500 4 N 64400 53500 65000 52500 4 C 41000 52300 1 0 0 capacitor-1.sym { T 41200 53000 5 10 0 0 0 0 1 device=CAPACITOR T 41200 52800 5 10 1 1 0 0 1 refdes=C? T 41200 53200 5 10 0 0 0 0 1 symversion=0.1 } C 41000 51300 1 0 0 capacitor-1.sym { T 41200 52000 5 10 0 0 0 0 1 device=CAPACITOR T 41200 51800 5 10 1 1 0 0 1 refdes=C? T 41200 52200 5 10 0 0 0 0 1 symversion=0.1 } C 42500 52300 1 0 0 capacitor-1.sym { T 42700 53000 5 10 0 0 0 0 1 device=CAPACITOR T 42700 52800 5 10 1 1 0 0 1 refdes=C? T 42700 53200 5 10 0 0 0 0 1 symversion=0.1 } C 42500 51300 1 0 0 capacitor-1.sym { T 42700 52000 5 10 0 0 0 0 1 device=CAPACITOR T 42700 51800 5 10 1 1 0 0 1 refdes=C? T 42700 52200 5 10 0 0 0 0 1 symversion=0.1 } N 41900 51500 42500 50500 4 N 41900 52500 42500 51500 4 N 44000 51500 43400 52500 4 N 43400 51500 44000 50500 4 C 44000 52300 1 0 0 capacitor-1.sym { T 44200 53000 5 10 0 0 0 0 1 device=CAPACITOR T 44200 52800 5 10 1 1 0 0 1 refdes=C? T 44200 53200 5 10 0 0 0 0 1 symversion=0.1 } C 44000 51300 1 0 0 capacitor-1.sym { T 44200 52000 5 10 0 0 0 0 1 device=CAPACITOR T 44200 51800 5 10 1 1 0 0 1 refdes=C? T 44200 52200 5 10 0 0 0 0 1 symversion=0.1 } C 45500 52300 1 0 0 capacitor-1.sym { T 45700 53000 5 10 0 0 0 0 1 device=CAPACITOR T 45700 52800 5 10 1 1 0 0 1 refdes=C? T 45700 53200 5 10 0 0 0 0 1 symversion=0.1 } C 45500 51300 1 0 0 capacitor-1.sym { T 45700 52000 5 10 0 0 0 0 1 device=CAPACITOR T 45700 51800 5 10 1 1 0 0 1 refdes=C? T 45700 52200 5 10 0 0 0 0 1 symversion=0.1 } N 44900 51500 45500 50500 4 N 44900 52500 45500 51500 4 N 47000 51500 46400 52500 4 N 46400 51500 47000 50500 4 C 41000 50300 1 0 0 capacitor-1.sym { T 41200 51000 5 10 0 0 0 0 1 device=CAPACITOR T 41200 50800 5 10 1 1 0 0 1 refdes=C? T 41200 51200 5 10 0 0 0 0 1 symversion=0.1 } C 41000 49300 1 0 0 capacitor-1.sym { T 41200 50000 5 10 0 0 0 0 1 device=CAPACITOR T 41200 49800 5 10 1 1 0 0 1 refdes=C? T 41200 50200 5 10 0 0 0 0 1 symversion=0.1 } C 42500 50300 1 0 0 capacitor-1.sym { T 42700 51000 5 10 0 0 0 0 1 device=CAPACITOR T 42700 50800 5 10 1 1 0 0 1 refdes=C? T 42700 51200 5 10 0 0 0 0 1 symversion=0.1 } C 42500 49300 1 0 0 capacitor-1.sym { T 42700 50000 5 10 0 0 0 0 1 device=CAPACITOR T 42700 49800 5 10 1 1 0 0 1 refdes=C? T 42700 50200 5 10 0 0 0 0 1 symversion=0.1 } N 41900 49500 42500 48500 4 N 41900 50500 42500 49500 4 N 44000 49500 43400 50500 4 N 43400 49500 44000 48500 4 C 44000 50300 1 0 0 capacitor-1.sym { T 44200 51000 5 10 0 0 0 0 1 device=CAPACITOR T 44200 50800 5 10 1 1 0 0 1 refdes=C? T 44200 51200 5 10 0 0 0 0 1 symversion=0.1 } C 44000 49300 1 0 0 capacitor-1.sym { T 44200 50000 5 10 0 0 0 0 1 device=CAPACITOR T 44200 49800 5 10 1 1 0 0 1 refdes=C? T 44200 50200 5 10 0 0 0 0 1 symversion=0.1 } C 45500 50300 1 0 0 capacitor-1.sym { T 45700 51000 5 10 0 0 0 0 1 device=CAPACITOR T 45700 50800 5 10 1 1 0 0 1 refdes=C? T 45700 51200 5 10 0 0 0 0 1 symversion=0.1 } C 45500 49300 1 0 0 capacitor-1.sym { T 45700 50000 5 10 0 0 0 0 1 device=CAPACITOR T 45700 49800 5 10 1 1 0 0 1 refdes=C? T 45700 50200 5 10 0 0 0 0 1 symversion=0.1 } N 44900 49500 45500 48500 4 N 44900 50500 45500 49500 4 N 47000 49500 46400 50500 4 N 46400 49500 47000 48500 4 C 47000 52300 1 0 0 capacitor-1.sym { T 47200 53000 5 10 0 0 0 0 1 device=CAPACITOR T 47200 52800 5 10 1 1 0 0 1 refdes=C? T 47200 53200 5 10 0 0 0 0 1 symversion=0.1 } C 47000 51300 1 0 0 capacitor-1.sym { T 47200 52000 5 10 0 0 0 0 1 device=CAPACITOR T 47200 51800 5 10 1 1 0 0 1 refdes=C? T 47200 52200 5 10 0 0 0 0 1 symversion=0.1 } C 48500 52300 1 0 0 capacitor-1.sym { T 48700 53000 5 10 0 0 0 0 1 device=CAPACITOR T 48700 52800 5 10 1 1 0 0 1 refdes=C? T 48700 53200 5 10 0 0 0 0 1 symversion=0.1 } C 48500 51300 1 0 0 capacitor-1.sym { T 48700 52000 5 10 0 0 0 0 1 device=CAPACITOR T 48700 51800 5 10 1 1 0 0 1 refdes=C? T 48700 52200 5 10 0 0 0 0 1 symversion=0.1 } N 47900 51500 48500 50500 4 N 47900 52500 48500 51500 4 N 50000 51500 49400 52500 4 N 49400 51500 50000 50500 4 C 50000 52300 1 0 0 capacitor-1.sym { T 50200 53000 5 10 0 0 0 0 1 device=CAPACITOR T 50200 52800 5 10 1 1 0 0 1 refdes=C? T 50200 53200 5 10 0 0 0 0 1 symversion=0.1 } C 50000 51300 1 0 0 capacitor-1.sym { T 50200 52000 5 10 0 0 0 0 1 device=CAPACITOR T 50200 51800 5 10 1 1 0 0 1 refdes=C? T 50200 52200 5 10 0 0 0 0 1 symversion=0.1 } C 51500 52300 1 0 0 capacitor-1.sym { T 51700 53000 5 10 0 0 0 0 1 device=CAPACITOR T 51700 52800 5 10 1 1 0 0 1 refdes=C? T 51700 53200 5 10 0 0 0 0 1 symversion=0.1 } C 51500 51300 1 0 0 capacitor-1.sym { T 51700 52000 5 10 0 0 0 0 1 device=CAPACITOR T 51700 51800 5 10 1 1 0 0 1 refdes=C? T 51700 52200 5 10 0 0 0 0 1 symversion=0.1 } N 50900 51500 51500 50500 4 N 50900 52500 51500 51500 4 N 53000 51500 52400 52500 4 N 52400 51500 53000 50500 4 C 47000 50300 1 0 0 capacitor-1.sym { T 47200 51000 5 10 0 0 0 0 1 device=CAPACITOR T 47200 50800 5 10 1 1 0 0 1 refdes=C? T 47200 51200 5 10 0 0 0 0 1 symversion=0.1 } C 47000 49300 1 0 0 capacitor-1.sym { T 47200 50000 5 10 0 0 0 0 1 device=CAPACITOR T 47200 49800 5 10 1 1 0 0 1 refdes=C? T 47200 50200 5 10 0 0 0 0 1 symversion=0.1 } C 48500 50300 1 0 0 capacitor-1.sym { T 48700 51000 5 10 0 0 0 0 1 device=CAPACITOR T 48700 50800 5 10 1 1 0 0 1 refdes=C? T 48700 51200 5 10 0 0 0 0 1 symversion=0.1 } C 48500 49300 1 0 0 capacitor-1.sym { T 48700 50000 5 10 0 0 0 0 1 device=CAPACITOR T 48700 49800 5 10 1 1 0 0 1 refdes=C? T 48700 50200 5 10 0 0 0 0 1 symversion=0.1 } N 47900 49500 48500 48500 4 N 47900 50500 48500 49500 4 N 50000 49500 49400 50500 4 N 49400 49500 50000 48500 4 C 50000 50300 1 0 0 capacitor-1.sym { T 50200 51000 5 10 0 0 0 0 1 device=CAPACITOR T 50200 50800 5 10 1 1 0 0 1 refdes=C? T 50200 51200 5 10 0 0 0 0 1 symversion=0.1 } C 50000 49300 1 0 0 capacitor-1.sym { T 50200 50000 5 10 0 0 0 0 1 device=CAPACITOR T 50200 49800 5 10 1 1 0 0 1 refdes=C? T 50200 50200 5 10 0 0 0 0 1 symversion=0.1 } C 51500 50300 1 0 0 capacitor-1.sym { T 51700 51000 5 10 0 0 0 0 1 device=CAPACITOR T 51700 50800 5 10 1 1 0 0 1 refdes=C? T 51700 51200 5 10 0 0 0 0 1 symversion=0.1 } C 51500 49300 1 0 0 capacitor-1.sym { T 51700 50000 5 10 0 0 0 0 1 device=CAPACITOR T 51700 49800 5 10 1 1 0 0 1 refdes=C? T 51700 50200 5 10 0 0 0 0 1 symversion=0.1 } N 50900 49500 51500 48500 4 N 50900 50500 51500 49500 4 N 53000 49500 52400 50500 4 N 52400 49500 53000 48500 4 C 41000 48300 1 0 0 capacitor-1.sym { T 41200 49000 5 10 0 0 0 0 1 device=CAPACITOR T 41200 48800 5 10 1 1 0 0 1 refdes=C? T 41200 49200 5 10 0 0 0 0 1 symversion=0.1 } C 41000 47300 1 0 0 capacitor-1.sym { T 41200 48000 5 10 0 0 0 0 1 device=CAPACITOR T 41200 47800 5 10 1 1 0 0 1 refdes=C? T 41200 48200 5 10 0 0 0 0 1 symversion=0.1 } C 42500 48300 1 0 0 capacitor-1.sym { T 42700 49000 5 10 0 0 0 0 1 device=CAPACITOR T 42700 48800 5 10 1 1 0 0 1 refdes=C? T 42700 49200 5 10 0 0 0 0 1 symversion=0.1 } C 42500 47300 1 0 0 capacitor-1.sym { T 42700 48000 5 10 0 0 0 0 1 device=CAPACITOR T 42700 47800 5 10 1 1 0 0 1 refdes=C? T 42700 48200 5 10 0 0 0 0 1 symversion=0.1 } N 41900 47500 42500 46500 4 N 41900 48500 42500 47500 4 N 44000 47500 43400 48500 4 N 43400 47500 44000 46500 4 C 44000 48300 1 0 0 capacitor-1.sym { T 44200 49000 5 10 0 0 0 0 1 device=CAPACITOR T 44200 48800 5 10 1 1 0 0 1 refdes=C? T 44200 49200 5 10 0 0 0 0 1 symversion=0.1 } C 44000 47300 1 0 0 capacitor-1.sym { T 44200 48000 5 10 0 0 0 0 1 device=CAPACITOR T 44200 47800 5 10 1 1 0 0 1 refdes=C? T 44200 48200 5 10 0 0 0 0 1 symversion=0.1 } C 45500 48300 1 0 0 capacitor-1.sym { T 45700 49000 5 10 0 0 0 0 1 device=CAPACITOR T 45700 48800 5 10 1 1 0 0 1 refdes=C? T 45700 49200 5 10 0 0 0 0 1 symversion=0.1 } C 45500 47300 1 0 0 capacitor-1.sym { T 45700 48000 5 10 0 0 0 0 1 device=CAPACITOR T 45700 47800 5 10 1 1 0 0 1 refdes=C? T 45700 48200 5 10 0 0 0 0 1 symversion=0.1 } N 44900 47500 45500 46500 4 N 44900 48500 45500 47500 4 N 47000 47500 46400 48500 4 N 46400 47500 47000 46500 4 C 41000 46300 1 0 0 capacitor-1.sym { T 41200 47000 5 10 0 0 0 0 1 device=CAPACITOR T 41200 46800 5 10 1 1 0 0 1 refdes=C? T 41200 47200 5 10 0 0 0 0 1 symversion=0.1 } C 41000 45300 1 0 0 capacitor-1.sym { T 41200 46000 5 10 0 0 0 0 1 device=CAPACITOR T 41200 45800 5 10 1 1 0 0 1 refdes=C? T 41200 46200 5 10 0 0 0 0 1 symversion=0.1 } C 42500 46300 1 0 0 capacitor-1.sym { T 42700 47000 5 10 0 0 0 0 1 device=CAPACITOR T 42700 46800 5 10 1 1 0 0 1 refdes=C? T 42700 47200 5 10 0 0 0 0 1 symversion=0.1 } C 42500 45300 1 0 0 capacitor-1.sym { T 42700 46000 5 10 0 0 0 0 1 device=CAPACITOR T 42700 45800 5 10 1 1 0 0 1 refdes=C? T 42700 46200 5 10 0 0 0 0 1 symversion=0.1 } N 41900 45500 42500 44500 4 N 41900 46500 42500 45500 4 N 44000 45500 43400 46500 4 N 43400 45500 44000 44500 4 C 44000 46300 1 0 0 capacitor-1.sym { T 44200 47000 5 10 0 0 0 0 1 device=CAPACITOR T 44200 46800 5 10 1 1 0 0 1 refdes=C? T 44200 47200 5 10 0 0 0 0 1 symversion=0.1 } C 44000 45300 1 0 0 capacitor-1.sym { T 44200 46000 5 10 0 0 0 0 1 device=CAPACITOR T 44200 45800 5 10 1 1 0 0 1 refdes=C? T 44200 46200 5 10 0 0 0 0 1 symversion=0.1 } C 45500 46300 1 0 0 capacitor-1.sym { T 45700 47000 5 10 0 0 0 0 1 device=CAPACITOR T 45700 46800 5 10 1 1 0 0 1 refdes=C? T 45700 47200 5 10 0 0 0 0 1 symversion=0.1 } C 45500 45300 1 0 0 capacitor-1.sym { T 45700 46000 5 10 0 0 0 0 1 device=CAPACITOR T 45700 45800 5 10 1 1 0 0 1 refdes=C? T 45700 46200 5 10 0 0 0 0 1 symversion=0.1 } N 44900 45500 45500 44500 4 N 44900 46500 45500 45500 4 N 47000 45500 46400 46500 4 N 46400 45500 47000 44500 4 C 47000 48300 1 0 0 capacitor-1.sym { T 47200 49000 5 10 0 0 0 0 1 device=CAPACITOR T 47200 48800 5 10 1 1 0 0 1 refdes=C? T 47200 49200 5 10 0 0 0 0 1 symversion=0.1 } C 47000 47300 1 0 0 capacitor-1.sym { T 47200 48000 5 10 0 0 0 0 1 device=CAPACITOR T 47200 47800 5 10 1 1 0 0 1 refdes=C? T 47200 48200 5 10 0 0 0 0 1 symversion=0.1 } C 48500 48300 1 0 0 capacitor-1.sym { T 48700 49000 5 10 0 0 0 0 1 device=CAPACITOR T 48700 48800 5 10 1 1 0 0 1 refdes=C? T 48700 49200 5 10 0 0 0 0 1 symversion=0.1 } C 48500 47300 1 0 0 capacitor-1.sym { T 48700 48000 5 10 0 0 0 0 1 device=CAPACITOR T 48700 47800 5 10 1 1 0 0 1 refdes=C? T 48700 48200 5 10 0 0 0 0 1 symversion=0.1 } N 47900 47500 48500 46500 4 N 47900 48500 48500 47500 4 N 50000 47500 49400 48500 4 N 49400 47500 50000 46500 4 C 50000 48300 1 0 0 capacitor-1.sym { T 50200 49000 5 10 0 0 0 0 1 device=CAPACITOR T 50200 48800 5 10 1 1 0 0 1 refdes=C? T 50200 49200 5 10 0 0 0 0 1 symversion=0.1 } C 50000 47300 1 0 0 capacitor-1.sym { T 50200 48000 5 10 0 0 0 0 1 device=CAPACITOR T 50200 47800 5 10 1 1 0 0 1 refdes=C? T 50200 48200 5 10 0 0 0 0 1 symversion=0.1 } C 51500 48300 1 0 0 capacitor-1.sym { T 51700 49000 5 10 0 0 0 0 1 device=CAPACITOR T 51700 48800 5 10 1 1 0 0 1 refdes=C? T 51700 49200 5 10 0 0 0 0 1 symversion=0.1 } C 51500 47300 1 0 0 capacitor-1.sym { T 51700 48000 5 10 0 0 0 0 1 device=CAPACITOR T 51700 47800 5 10 1 1 0 0 1 refdes=C? T 51700 48200 5 10 0 0 0 0 1 symversion=0.1 } N 50900 47500 51500 46500 4 N 50900 48500 51500 47500 4 N 53000 47500 52400 48500 4 N 52400 47500 53000 46500 4 C 47000 46300 1 0 0 capacitor-1.sym { T 47200 47000 5 10 0 0 0 0 1 device=CAPACITOR T 47200 46800 5 10 1 1 0 0 1 refdes=C? T 47200 47200 5 10 0 0 0 0 1 symversion=0.1 } C 47000 45300 1 0 0 capacitor-1.sym { T 47200 46000 5 10 0 0 0 0 1 device=CAPACITOR T 47200 45800 5 10 1 1 0 0 1 refdes=C? T 47200 46200 5 10 0 0 0 0 1 symversion=0.1 } C 48500 46300 1 0 0 capacitor-1.sym { T 48700 47000 5 10 0 0 0 0 1 device=CAPACITOR T 48700 46800 5 10 1 1 0 0 1 refdes=C? T 48700 47200 5 10 0 0 0 0 1 symversion=0.1 } C 48500 45300 1 0 0 capacitor-1.sym { T 48700 46000 5 10 0 0 0 0 1 device=CAPACITOR T 48700 45800 5 10 1 1 0 0 1 refdes=C? T 48700 46200 5 10 0 0 0 0 1 symversion=0.1 } N 47900 45500 48500 44500 4 N 47900 46500 48500 45500 4 N 50000 45500 49400 46500 4 N 49400 45500 50000 44500 4 C 50000 46300 1 0 0 capacitor-1.sym { T 50200 47000 5 10 0 0 0 0 1 device=CAPACITOR T 50200 46800 5 10 1 1 0 0 1 refdes=C? T 50200 47200 5 10 0 0 0 0 1 symversion=0.1 } C 50000 45300 1 0 0 capacitor-1.sym { T 50200 46000 5 10 0 0 0 0 1 device=CAPACITOR T 50200 45800 5 10 1 1 0 0 1 refdes=C? T 50200 46200 5 10 0 0 0 0 1 symversion=0.1 } C 51500 46300 1 0 0 capacitor-1.sym { T 51700 47000 5 10 0 0 0 0 1 device=CAPACITOR T 51700 46800 5 10 1 1 0 0 1 refdes=C? T 51700 47200 5 10 0 0 0 0 1 symversion=0.1 } C 51500 45300 1 0 0 capacitor-1.sym { T 51700 46000 5 10 0 0 0 0 1 device=CAPACITOR T 51700 45800 5 10 1 1 0 0 1 refdes=C? T 51700 46200 5 10 0 0 0 0 1 symversion=0.1 } N 50900 45500 51500 44500 4 N 50900 46500 51500 45500 4 N 53000 45500 52400 46500 4 N 52400 45500 53000 44500 4 C 53000 52300 1 0 0 capacitor-1.sym { T 53200 53000 5 10 0 0 0 0 1 device=CAPACITOR T 53200 52800 5 10 1 1 0 0 1 refdes=C? T 53200 53200 5 10 0 0 0 0 1 symversion=0.1 } C 53000 51300 1 0 0 capacitor-1.sym { T 53200 52000 5 10 0 0 0 0 1 device=CAPACITOR T 53200 51800 5 10 1 1 0 0 1 refdes=C? T 53200 52200 5 10 0 0 0 0 1 symversion=0.1 } C 54500 52300 1 0 0 capacitor-1.sym { T 54700 53000 5 10 0 0 0 0 1 device=CAPACITOR T 54700 52800 5 10 1 1 0 0 1 refdes=C? T 54700 53200 5 10 0 0 0 0 1 symversion=0.1 } C 54500 51300 1 0 0 capacitor-1.sym { T 54700 52000 5 10 0 0 0 0 1 device=CAPACITOR T 54700 51800 5 10 1 1 0 0 1 refdes=C? T 54700 52200 5 10 0 0 0 0 1 symversion=0.1 } N 53900 51500 54500 50500 4 N 53900 52500 54500 51500 4 N 56000 51500 55400 52500 4 N 55400 51500 56000 50500 4 C 56000 52300 1 0 0 capacitor-1.sym { T 56200 53000 5 10 0 0 0 0 1 device=CAPACITOR T 56200 52800 5 10 1 1 0 0 1 refdes=C? T 56200 53200 5 10 0 0 0 0 1 symversion=0.1 } C 56000 51300 1 0 0 capacitor-1.sym { T 56200 52000 5 10 0 0 0 0 1 device=CAPACITOR T 56200 51800 5 10 1 1 0 0 1 refdes=C? T 56200 52200 5 10 0 0 0 0 1 symversion=0.1 } C 57500 52300 1 0 0 capacitor-1.sym { T 57700 53000 5 10 0 0 0 0 1 device=CAPACITOR T 57700 52800 5 10 1 1 0 0 1 refdes=C? T 57700 53200 5 10 0 0 0 0 1 symversion=0.1 } C 57500 51300 1 0 0 capacitor-1.sym { T 57700 52000 5 10 0 0 0 0 1 device=CAPACITOR T 57700 51800 5 10 1 1 0 0 1 refdes=C? T 57700 52200 5 10 0 0 0 0 1 symversion=0.1 } N 56900 51500 57500 50500 4 N 56900 52500 57500 51500 4 N 59000 51500 58400 52500 4 N 58400 51500 59000 50500 4 C 53000 50300 1 0 0 capacitor-1.sym { T 53200 51000 5 10 0 0 0 0 1 device=CAPACITOR T 53200 50800 5 10 1 1 0 0 1 refdes=C? T 53200 51200 5 10 0 0 0 0 1 symversion=0.1 } C 53000 49300 1 0 0 capacitor-1.sym { T 53200 50000 5 10 0 0 0 0 1 device=CAPACITOR T 53200 49800 5 10 1 1 0 0 1 refdes=C? T 53200 50200 5 10 0 0 0 0 1 symversion=0.1 } C 54500 50300 1 0 0 capacitor-1.sym { T 54700 51000 5 10 0 0 0 0 1 device=CAPACITOR T 54700 50800 5 10 1 1 0 0 1 refdes=C? T 54700 51200 5 10 0 0 0 0 1 symversion=0.1 } C 54500 49300 1 0 0 capacitor-1.sym { T 54700 50000 5 10 0 0 0 0 1 device=CAPACITOR T 54700 49800 5 10 1 1 0 0 1 refdes=C? T 54700 50200 5 10 0 0 0 0 1 symversion=0.1 } N 53900 49500 54500 48500 4 N 53900 50500 54500 49500 4 N 56000 49500 55400 50500 4 N 55400 49500 56000 48500 4 C 56000 50300 1 0 0 capacitor-1.sym { T 56200 51000 5 10 0 0 0 0 1 device=CAPACITOR T 56200 50800 5 10 1 1 0 0 1 refdes=C? T 56200 51200 5 10 0 0 0 0 1 symversion=0.1 } C 56000 49300 1 0 0 capacitor-1.sym { T 56200 50000 5 10 0 0 0 0 1 device=CAPACITOR T 56200 49800 5 10 1 1 0 0 1 refdes=C? T 56200 50200 5 10 0 0 0 0 1 symversion=0.1 } C 57500 50300 1 0 0 capacitor-1.sym { T 57700 51000 5 10 0 0 0 0 1 device=CAPACITOR T 57700 50800 5 10 1 1 0 0 1 refdes=C? T 57700 51200 5 10 0 0 0 0 1 symversion=0.1 } C 57500 49300 1 0 0 capacitor-1.sym { T 57700 50000 5 10 0 0 0 0 1 device=CAPACITOR T 57700 49800 5 10 1 1 0 0 1 refdes=C? T 57700 50200 5 10 0 0 0 0 1 symversion=0.1 } N 56900 49500 57500 48500 4 N 56900 50500 57500 49500 4 N 59000 49500 58400 50500 4 N 58400 49500 59000 48500 4 C 59000 52300 1 0 0 capacitor-1.sym { T 59200 53000 5 10 0 0 0 0 1 device=CAPACITOR T 59200 52800 5 10 1 1 0 0 1 refdes=C? T 59200 53200 5 10 0 0 0 0 1 symversion=0.1 } C 59000 51300 1 0 0 capacitor-1.sym { T 59200 52000 5 10 0 0 0 0 1 device=CAPACITOR T 59200 51800 5 10 1 1 0 0 1 refdes=C? T 59200 52200 5 10 0 0 0 0 1 symversion=0.1 } C 60500 52300 1 0 0 capacitor-1.sym { T 60700 53000 5 10 0 0 0 0 1 device=CAPACITOR T 60700 52800 5 10 1 1 0 0 1 refdes=C? T 60700 53200 5 10 0 0 0 0 1 symversion=0.1 } C 60500 51300 1 0 0 capacitor-1.sym { T 60700 52000 5 10 0 0 0 0 1 device=CAPACITOR T 60700 51800 5 10 1 1 0 0 1 refdes=C? T 60700 52200 5 10 0 0 0 0 1 symversion=0.1 } N 59900 51500 60500 50500 4 N 59900 52500 60500 51500 4 N 62000 51500 61400 52500 4 N 61400 51500 62000 50500 4 C 62000 52300 1 0 0 capacitor-1.sym { T 62200 53000 5 10 0 0 0 0 1 device=CAPACITOR T 62200 52800 5 10 1 1 0 0 1 refdes=C? T 62200 53200 5 10 0 0 0 0 1 symversion=0.1 } C 62000 51300 1 0 0 capacitor-1.sym { T 62200 52000 5 10 0 0 0 0 1 device=CAPACITOR T 62200 51800 5 10 1 1 0 0 1 refdes=C? T 62200 52200 5 10 0 0 0 0 1 symversion=0.1 } C 63500 52300 1 0 0 capacitor-1.sym { T 63700 53000 5 10 0 0 0 0 1 device=CAPACITOR T 63700 52800 5 10 1 1 0 0 1 refdes=C? T 63700 53200 5 10 0 0 0 0 1 symversion=0.1 } C 63500 51300 1 0 0 capacitor-1.sym { T 63700 52000 5 10 0 0 0 0 1 device=CAPACITOR T 63700 51800 5 10 1 1 0 0 1 refdes=C? T 63700 52200 5 10 0 0 0 0 1 symversion=0.1 } N 62900 51500 63500 50500 4 N 62900 52500 63500 51500 4 N 65000 51500 64400 52500 4 N 64400 51500 65000 50500 4 C 59000 50300 1 0 0 capacitor-1.sym { T 59200 51000 5 10 0 0 0 0 1 device=CAPACITOR T 59200 50800 5 10 1 1 0 0 1 refdes=C? T 59200 51200 5 10 0 0 0 0 1 symversion=0.1 } C 59000 49300 1 0 0 capacitor-1.sym { T 59200 50000 5 10 0 0 0 0 1 device=CAPACITOR T 59200 49800 5 10 1 1 0 0 1 refdes=C? T 59200 50200 5 10 0 0 0 0 1 symversion=0.1 } C 60500 50300 1 0 0 capacitor-1.sym { T 60700 51000 5 10 0 0 0 0 1 device=CAPACITOR T 60700 50800 5 10 1 1 0 0 1 refdes=C? T 60700 51200 5 10 0 0 0 0 1 symversion=0.1 } C 60500 49300 1 0 0 capacitor-1.sym { T 60700 50000 5 10 0 0 0 0 1 device=CAPACITOR T 60700 49800 5 10 1 1 0 0 1 refdes=C? T 60700 50200 5 10 0 0 0 0 1 symversion=0.1 } N 59900 49500 60500 48500 4 N 59900 50500 60500 49500 4 N 62000 49500 61400 50500 4 N 61400 49500 62000 48500 4 C 62000 50300 1 0 0 capacitor-1.sym { T 62200 51000 5 10 0 0 0 0 1 device=CAPACITOR T 62200 50800 5 10 1 1 0 0 1 refdes=C? T 62200 51200 5 10 0 0 0 0 1 symversion=0.1 } C 62000 49300 1 0 0 capacitor-1.sym { T 62200 50000 5 10 0 0 0 0 1 device=CAPACITOR T 62200 49800 5 10 1 1 0 0 1 refdes=C? T 62200 50200 5 10 0 0 0 0 1 symversion=0.1 } C 63500 50300 1 0 0 capacitor-1.sym { T 63700 51000 5 10 0 0 0 0 1 device=CAPACITOR T 63700 50800 5 10 1 1 0 0 1 refdes=C? T 63700 51200 5 10 0 0 0 0 1 symversion=0.1 } C 63500 49300 1 0 0 capacitor-1.sym { T 63700 50000 5 10 0 0 0 0 1 device=CAPACITOR T 63700 49800 5 10 1 1 0 0 1 refdes=C? T 63700 50200 5 10 0 0 0 0 1 symversion=0.1 } N 62900 49500 63500 48500 4 N 62900 50500 63500 49500 4 N 65000 49500 64400 50500 4 N 64400 49500 65000 48500 4 C 53000 48300 1 0 0 capacitor-1.sym { T 53200 49000 5 10 0 0 0 0 1 device=CAPACITOR T 53200 48800 5 10 1 1 0 0 1 refdes=C? T 53200 49200 5 10 0 0 0 0 1 symversion=0.1 } C 53000 47300 1 0 0 capacitor-1.sym { T 53200 48000 5 10 0 0 0 0 1 device=CAPACITOR T 53200 47800 5 10 1 1 0 0 1 refdes=C? T 53200 48200 5 10 0 0 0 0 1 symversion=0.1 } C 54500 48300 1 0 0 capacitor-1.sym { T 54700 49000 5 10 0 0 0 0 1 device=CAPACITOR T 54700 48800 5 10 1 1 0 0 1 refdes=C? T 54700 49200 5 10 0 0 0 0 1 symversion=0.1 } C 54500 47300 1 0 0 capacitor-1.sym { T 54700 48000 5 10 0 0 0 0 1 device=CAPACITOR T 54700 47800 5 10 1 1 0 0 1 refdes=C? T 54700 48200 5 10 0 0 0 0 1 symversion=0.1 } N 53900 47500 54500 46500 4 N 53900 48500 54500 47500 4 N 56000 47500 55400 48500 4 N 55400 47500 56000 46500 4 C 56000 48300 1 0 0 capacitor-1.sym { T 56200 49000 5 10 0 0 0 0 1 device=CAPACITOR T 56200 48800 5 10 1 1 0 0 1 refdes=C? T 56200 49200 5 10 0 0 0 0 1 symversion=0.1 } C 56000 47300 1 0 0 capacitor-1.sym { T 56200 48000 5 10 0 0 0 0 1 device=CAPACITOR T 56200 47800 5 10 1 1 0 0 1 refdes=C? T 56200 48200 5 10 0 0 0 0 1 symversion=0.1 } C 57500 48300 1 0 0 capacitor-1.sym { T 57700 49000 5 10 0 0 0 0 1 device=CAPACITOR T 57700 48800 5 10 1 1 0 0 1 refdes=C? T 57700 49200 5 10 0 0 0 0 1 symversion=0.1 } C 57500 47300 1 0 0 capacitor-1.sym { T 57700 48000 5 10 0 0 0 0 1 device=CAPACITOR T 57700 47800 5 10 1 1 0 0 1 refdes=C? T 57700 48200 5 10 0 0 0 0 1 symversion=0.1 } N 56900 47500 57500 46500 4 N 56900 48500 57500 47500 4 N 59000 47500 58400 48500 4 N 58400 47500 59000 46500 4 C 53000 46300 1 0 0 capacitor-1.sym { T 53200 47000 5 10 0 0 0 0 1 device=CAPACITOR T 53200 46800 5 10 1 1 0 0 1 refdes=C? T 53200 47200 5 10 0 0 0 0 1 symversion=0.1 } C 53000 45300 1 0 0 capacitor-1.sym { T 53200 46000 5 10 0 0 0 0 1 device=CAPACITOR T 53200 45800 5 10 1 1 0 0 1 refdes=C? T 53200 46200 5 10 0 0 0 0 1 symversion=0.1 } C 54500 46300 1 0 0 capacitor-1.sym { T 54700 47000 5 10 0 0 0 0 1 device=CAPACITOR T 54700 46800 5 10 1 1 0 0 1 refdes=C? T 54700 47200 5 10 0 0 0 0 1 symversion=0.1 } C 54500 45300 1 0 0 capacitor-1.sym { T 54700 46000 5 10 0 0 0 0 1 device=CAPACITOR T 54700 45800 5 10 1 1 0 0 1 refdes=C? T 54700 46200 5 10 0 0 0 0 1 symversion=0.1 } N 53900 45500 54500 44500 4 N 53900 46500 54500 45500 4 N 56000 45500 55400 46500 4 N 55400 45500 56000 44500 4 C 56000 46300 1 0 0 capacitor-1.sym { T 56200 47000 5 10 0 0 0 0 1 device=CAPACITOR T 56200 46800 5 10 1 1 0 0 1 refdes=C? T 56200 47200 5 10 0 0 0 0 1 symversion=0.1 } C 56000 45300 1 0 0 capacitor-1.sym { T 56200 46000 5 10 0 0 0 0 1 device=CAPACITOR T 56200 45800 5 10 1 1 0 0 1 refdes=C? T 56200 46200 5 10 0 0 0 0 1 symversion=0.1 } C 57500 46300 1 0 0 capacitor-1.sym { T 57700 47000 5 10 0 0 0 0 1 device=CAPACITOR T 57700 46800 5 10 1 1 0 0 1 refdes=C? T 57700 47200 5 10 0 0 0 0 1 symversion=0.1 } C 57500 45300 1 0 0 capacitor-1.sym { T 57700 46000 5 10 0 0 0 0 1 device=CAPACITOR T 57700 45800 5 10 1 1 0 0 1 refdes=C? T 57700 46200 5 10 0 0 0 0 1 symversion=0.1 } N 56900 45500 57500 44500 4 N 56900 46500 57500 45500 4 N 59000 45500 58400 46500 4 N 58400 45500 59000 44500 4 C 59000 48300 1 0 0 capacitor-1.sym { T 59200 49000 5 10 0 0 0 0 1 device=CAPACITOR T 59200 48800 5 10 1 1 0 0 1 refdes=C? T 59200 49200 5 10 0 0 0 0 1 symversion=0.1 } C 59000 47300 1 0 0 capacitor-1.sym { T 59200 48000 5 10 0 0 0 0 1 device=CAPACITOR T 59200 47800 5 10 1 1 0 0 1 refdes=C? T 59200 48200 5 10 0 0 0 0 1 symversion=0.1 } C 60500 48300 1 0 0 capacitor-1.sym { T 60700 49000 5 10 0 0 0 0 1 device=CAPACITOR T 60700 48800 5 10 1 1 0 0 1 refdes=C? T 60700 49200 5 10 0 0 0 0 1 symversion=0.1 } C 60500 47300 1 0 0 capacitor-1.sym { T 60700 48000 5 10 0 0 0 0 1 device=CAPACITOR T 60700 47800 5 10 1 1 0 0 1 refdes=C? T 60700 48200 5 10 0 0 0 0 1 symversion=0.1 } N 59900 47500 60500 46500 4 N 59900 48500 60500 47500 4 N 62000 47500 61400 48500 4 N 61400 47500 62000 46500 4 C 62000 48300 1 0 0 capacitor-1.sym { T 62200 49000 5 10 0 0 0 0 1 device=CAPACITOR T 62200 48800 5 10 1 1 0 0 1 refdes=C? T 62200 49200 5 10 0 0 0 0 1 symversion=0.1 } C 62000 47300 1 0 0 capacitor-1.sym { T 62200 48000 5 10 0 0 0 0 1 device=CAPACITOR T 62200 47800 5 10 1 1 0 0 1 refdes=C? T 62200 48200 5 10 0 0 0 0 1 symversion=0.1 } C 63500 48300 1 0 0 capacitor-1.sym { T 63700 49000 5 10 0 0 0 0 1 device=CAPACITOR T 63700 48800 5 10 1 1 0 0 1 refdes=C? T 63700 49200 5 10 0 0 0 0 1 symversion=0.1 } C 63500 47300 1 0 0 capacitor-1.sym { T 63700 48000 5 10 0 0 0 0 1 device=CAPACITOR T 63700 47800 5 10 1 1 0 0 1 refdes=C? T 63700 48200 5 10 0 0 0 0 1 symversion=0.1 } N 62900 47500 63500 46500 4 N 62900 48500 63500 47500 4 N 65000 47500 64400 48500 4 N 64400 47500 65000 46500 4 C 59000 46300 1 0 0 capacitor-1.sym { T 59200 47000 5 10 0 0 0 0 1 device=CAPACITOR T 59200 46800 5 10 1 1 0 0 1 refdes=C? T 59200 47200 5 10 0 0 0 0 1 symversion=0.1 } C 59000 45300 1 0 0 capacitor-1.sym { T 59200 46000 5 10 0 0 0 0 1 device=CAPACITOR T 59200 45800 5 10 1 1 0 0 1 refdes=C? T 59200 46200 5 10 0 0 0 0 1 symversion=0.1 } C 60500 46300 1 0 0 capacitor-1.sym { T 60700 47000 5 10 0 0 0 0 1 device=CAPACITOR T 60700 46800 5 10 1 1 0 0 1 refdes=C? T 60700 47200 5 10 0 0 0 0 1 symversion=0.1 } C 60500 45300 1 0 0 capacitor-1.sym { T 60700 46000 5 10 0 0 0 0 1 device=CAPACITOR T 60700 45800 5 10 1 1 0 0 1 refdes=C? T 60700 46200 5 10 0 0 0 0 1 symversion=0.1 } N 59900 45500 60500 44500 4 N 59900 46500 60500 45500 4 N 62000 45500 61400 46500 4 N 61400 45500 62000 44500 4 C 62000 46300 1 0 0 capacitor-1.sym { T 62200 47000 5 10 0 0 0 0 1 device=CAPACITOR T 62200 46800 5 10 1 1 0 0 1 refdes=C? T 62200 47200 5 10 0 0 0 0 1 symversion=0.1 } C 62000 45300 1 0 0 capacitor-1.sym { T 62200 46000 5 10 0 0 0 0 1 device=CAPACITOR T 62200 45800 5 10 1 1 0 0 1 refdes=C? T 62200 46200 5 10 0 0 0 0 1 symversion=0.1 } C 63500 46300 1 0 0 capacitor-1.sym { T 63700 47000 5 10 0 0 0 0 1 device=CAPACITOR T 63700 46800 5 10 1 1 0 0 1 refdes=C? T 63700 47200 5 10 0 0 0 0 1 symversion=0.1 } C 63500 45300 1 0 0 capacitor-1.sym { T 63700 46000 5 10 0 0 0 0 1 device=CAPACITOR T 63700 45800 5 10 1 1 0 0 1 refdes=C? T 63700 46200 5 10 0 0 0 0 1 symversion=0.1 } N 62900 45500 63500 44500 4 N 62900 46500 63500 45500 4 N 65000 45500 64400 46500 4 N 64400 45500 65000 44500 4 C 65000 60300 1 0 0 capacitor-1.sym { T 65200 61000 5 10 0 0 0 0 1 device=CAPACITOR T 65200 60800 5 10 1 1 0 0 1 refdes=C? T 65200 61200 5 10 0 0 0 0 1 symversion=0.1 } C 65000 59300 1 0 0 capacitor-1.sym { T 65200 60000 5 10 0 0 0 0 1 device=CAPACITOR T 65200 59800 5 10 1 1 0 0 1 refdes=C? T 65200 60200 5 10 0 0 0 0 1 symversion=0.1 } C 66500 60300 1 0 0 capacitor-1.sym { T 66700 61000 5 10 0 0 0 0 1 device=CAPACITOR T 66700 60800 5 10 1 1 0 0 1 refdes=C? T 66700 61200 5 10 0 0 0 0 1 symversion=0.1 } C 66500 59300 1 0 0 capacitor-1.sym { T 66700 60000 5 10 0 0 0 0 1 device=CAPACITOR T 66700 59800 5 10 1 1 0 0 1 refdes=C? T 66700 60200 5 10 0 0 0 0 1 symversion=0.1 } N 65900 59500 66500 58500 4 N 65900 60500 66500 59500 4 N 68000 59500 67400 60500 4 N 67400 59500 68000 58500 4 C 68000 60300 1 0 0 capacitor-1.sym { T 68200 61000 5 10 0 0 0 0 1 device=CAPACITOR T 68200 60800 5 10 1 1 0 0 1 refdes=C? T 68200 61200 5 10 0 0 0 0 1 symversion=0.1 } C 68000 59300 1 0 0 capacitor-1.sym { T 68200 60000 5 10 0 0 0 0 1 device=CAPACITOR T 68200 59800 5 10 1 1 0 0 1 refdes=C? T 68200 60200 5 10 0 0 0 0 1 symversion=0.1 } C 69500 60300 1 0 0 capacitor-1.sym { T 69700 61000 5 10 0 0 0 0 1 device=CAPACITOR T 69700 60800 5 10 1 1 0 0 1 refdes=C? T 69700 61200 5 10 0 0 0 0 1 symversion=0.1 } C 69500 59300 1 0 0 capacitor-1.sym { T 69700 60000 5 10 0 0 0 0 1 device=CAPACITOR T 69700 59800 5 10 1 1 0 0 1 refdes=C? T 69700 60200 5 10 0 0 0 0 1 symversion=0.1 } N 68900 59500 69500 58500 4 N 68900 60500 69500 59500 4 N 71000 59500 70400 60500 4 N 70400 59500 71000 58500 4 C 65000 58300 1 0 0 capacitor-1.sym { T 65200 59000 5 10 0 0 0 0 1 device=CAPACITOR T 65200 58800 5 10 1 1 0 0 1 refdes=C? T 65200 59200 5 10 0 0 0 0 1 symversion=0.1 } C 65000 57300 1 0 0 capacitor-1.sym { T 65200 58000 5 10 0 0 0 0 1 device=CAPACITOR T 65200 57800 5 10 1 1 0 0 1 refdes=C? T 65200 58200 5 10 0 0 0 0 1 symversion=0.1 } C 66500 58300 1 0 0 capacitor-1.sym { T 66700 59000 5 10 0 0 0 0 1 device=CAPACITOR T 66700 58800 5 10 1 1 0 0 1 refdes=C? T 66700 59200 5 10 0 0 0 0 1 symversion=0.1 } C 66500 57300 1 0 0 capacitor-1.sym { T 66700 58000 5 10 0 0 0 0 1 device=CAPACITOR T 66700 57800 5 10 1 1 0 0 1 refdes=C? T 66700 58200 5 10 0 0 0 0 1 symversion=0.1 } N 65900 57500 66500 56500 4 N 65900 58500 66500 57500 4 N 68000 57500 67400 58500 4 N 67400 57500 68000 56500 4 C 68000 58300 1 0 0 capacitor-1.sym { T 68200 59000 5 10 0 0 0 0 1 device=CAPACITOR T 68200 58800 5 10 1 1 0 0 1 refdes=C? T 68200 59200 5 10 0 0 0 0 1 symversion=0.1 } C 68000 57300 1 0 0 capacitor-1.sym { T 68200 58000 5 10 0 0 0 0 1 device=CAPACITOR T 68200 57800 5 10 1 1 0 0 1 refdes=C? T 68200 58200 5 10 0 0 0 0 1 symversion=0.1 } C 69500 58300 1 0 0 capacitor-1.sym { T 69700 59000 5 10 0 0 0 0 1 device=CAPACITOR T 69700 58800 5 10 1 1 0 0 1 refdes=C? T 69700 59200 5 10 0 0 0 0 1 symversion=0.1 } C 69500 57300 1 0 0 capacitor-1.sym { T 69700 58000 5 10 0 0 0 0 1 device=CAPACITOR T 69700 57800 5 10 1 1 0 0 1 refdes=C? T 69700 58200 5 10 0 0 0 0 1 symversion=0.1 } N 68900 57500 69500 56500 4 N 68900 58500 69500 57500 4 N 71000 57500 70400 58500 4 N 70400 57500 71000 56500 4 C 71000 60300 1 0 0 capacitor-1.sym { T 71200 61000 5 10 0 0 0 0 1 device=CAPACITOR T 71200 60800 5 10 1 1 0 0 1 refdes=C? T 71200 61200 5 10 0 0 0 0 1 symversion=0.1 } C 71000 59300 1 0 0 capacitor-1.sym { T 71200 60000 5 10 0 0 0 0 1 device=CAPACITOR T 71200 59800 5 10 1 1 0 0 1 refdes=C? T 71200 60200 5 10 0 0 0 0 1 symversion=0.1 } C 72500 60300 1 0 0 capacitor-1.sym { T 72700 61000 5 10 0 0 0 0 1 device=CAPACITOR T 72700 60800 5 10 1 1 0 0 1 refdes=C? T 72700 61200 5 10 0 0 0 0 1 symversion=0.1 } C 72500 59300 1 0 0 capacitor-1.sym { T 72700 60000 5 10 0 0 0 0 1 device=CAPACITOR T 72700 59800 5 10 1 1 0 0 1 refdes=C? T 72700 60200 5 10 0 0 0 0 1 symversion=0.1 } N 71900 59500 72500 58500 4 N 71900 60500 72500 59500 4 N 74000 59500 73400 60500 4 N 73400 59500 74000 58500 4 C 74000 60300 1 0 0 capacitor-1.sym { T 74200 61000 5 10 0 0 0 0 1 device=CAPACITOR T 74200 60800 5 10 1 1 0 0 1 refdes=C? T 74200 61200 5 10 0 0 0 0 1 symversion=0.1 } C 74000 59300 1 0 0 capacitor-1.sym { T 74200 60000 5 10 0 0 0 0 1 device=CAPACITOR T 74200 59800 5 10 1 1 0 0 1 refdes=C? T 74200 60200 5 10 0 0 0 0 1 symversion=0.1 } C 75500 60300 1 0 0 capacitor-1.sym { T 75700 61000 5 10 0 0 0 0 1 device=CAPACITOR T 75700 60800 5 10 1 1 0 0 1 refdes=C? T 75700 61200 5 10 0 0 0 0 1 symversion=0.1 } C 75500 59300 1 0 0 capacitor-1.sym { T 75700 60000 5 10 0 0 0 0 1 device=CAPACITOR T 75700 59800 5 10 1 1 0 0 1 refdes=C? T 75700 60200 5 10 0 0 0 0 1 symversion=0.1 } N 74900 59500 75500 58500 4 N 74900 60500 75500 59500 4 N 77000 59500 76400 60500 4 N 76400 59500 77000 58500 4 C 71000 58300 1 0 0 capacitor-1.sym { T 71200 59000 5 10 0 0 0 0 1 device=CAPACITOR T 71200 58800 5 10 1 1 0 0 1 refdes=C? T 71200 59200 5 10 0 0 0 0 1 symversion=0.1 } C 71000 57300 1 0 0 capacitor-1.sym { T 71200 58000 5 10 0 0 0 0 1 device=CAPACITOR T 71200 57800 5 10 1 1 0 0 1 refdes=C? T 71200 58200 5 10 0 0 0 0 1 symversion=0.1 } C 72500 58300 1 0 0 capacitor-1.sym { T 72700 59000 5 10 0 0 0 0 1 device=CAPACITOR T 72700 58800 5 10 1 1 0 0 1 refdes=C? T 72700 59200 5 10 0 0 0 0 1 symversion=0.1 } C 72500 57300 1 0 0 capacitor-1.sym { T 72700 58000 5 10 0 0 0 0 1 device=CAPACITOR T 72700 57800 5 10 1 1 0 0 1 refdes=C? T 72700 58200 5 10 0 0 0 0 1 symversion=0.1 } N 71900 57500 72500 56500 4 N 71900 58500 72500 57500 4 N 74000 57500 73400 58500 4 N 73400 57500 74000 56500 4 C 74000 58300 1 0 0 capacitor-1.sym { T 74200 59000 5 10 0 0 0 0 1 device=CAPACITOR T 74200 58800 5 10 1 1 0 0 1 refdes=C? T 74200 59200 5 10 0 0 0 0 1 symversion=0.1 } C 74000 57300 1 0 0 capacitor-1.sym { T 74200 58000 5 10 0 0 0 0 1 device=CAPACITOR T 74200 57800 5 10 1 1 0 0 1 refdes=C? T 74200 58200 5 10 0 0 0 0 1 symversion=0.1 } C 75500 58300 1 0 0 capacitor-1.sym { T 75700 59000 5 10 0 0 0 0 1 device=CAPACITOR T 75700 58800 5 10 1 1 0 0 1 refdes=C? T 75700 59200 5 10 0 0 0 0 1 symversion=0.1 } C 75500 57300 1 0 0 capacitor-1.sym { T 75700 58000 5 10 0 0 0 0 1 device=CAPACITOR T 75700 57800 5 10 1 1 0 0 1 refdes=C? T 75700 58200 5 10 0 0 0 0 1 symversion=0.1 } N 74900 57500 75500 56500 4 N 74900 58500 75500 57500 4 N 77000 57500 76400 58500 4 N 76400 57500 77000 56500 4 C 65000 56300 1 0 0 capacitor-1.sym { T 65200 57000 5 10 0 0 0 0 1 device=CAPACITOR T 65200 56800 5 10 1 1 0 0 1 refdes=C? T 65200 57200 5 10 0 0 0 0 1 symversion=0.1 } C 65000 55300 1 0 0 capacitor-1.sym { T 65200 56000 5 10 0 0 0 0 1 device=CAPACITOR T 65200 55800 5 10 1 1 0 0 1 refdes=C? T 65200 56200 5 10 0 0 0 0 1 symversion=0.1 } C 66500 56300 1 0 0 capacitor-1.sym { T 66700 57000 5 10 0 0 0 0 1 device=CAPACITOR T 66700 56800 5 10 1 1 0 0 1 refdes=C? T 66700 57200 5 10 0 0 0 0 1 symversion=0.1 } C 66500 55300 1 0 0 capacitor-1.sym { T 66700 56000 5 10 0 0 0 0 1 device=CAPACITOR T 66700 55800 5 10 1 1 0 0 1 refdes=C? T 66700 56200 5 10 0 0 0 0 1 symversion=0.1 } N 65900 55500 66500 54500 4 N 65900 56500 66500 55500 4 N 68000 55500 67400 56500 4 N 67400 55500 68000 54500 4 C 68000 56300 1 0 0 capacitor-1.sym { T 68200 57000 5 10 0 0 0 0 1 device=CAPACITOR T 68200 56800 5 10 1 1 0 0 1 refdes=C? T 68200 57200 5 10 0 0 0 0 1 symversion=0.1 } C 68000 55300 1 0 0 capacitor-1.sym { T 68200 56000 5 10 0 0 0 0 1 device=CAPACITOR T 68200 55800 5 10 1 1 0 0 1 refdes=C? T 68200 56200 5 10 0 0 0 0 1 symversion=0.1 } C 69500 56300 1 0 0 capacitor-1.sym { T 69700 57000 5 10 0 0 0 0 1 device=CAPACITOR T 69700 56800 5 10 1 1 0 0 1 refdes=C? T 69700 57200 5 10 0 0 0 0 1 symversion=0.1 } C 69500 55300 1 0 0 capacitor-1.sym { T 69700 56000 5 10 0 0 0 0 1 device=CAPACITOR T 69700 55800 5 10 1 1 0 0 1 refdes=C? T 69700 56200 5 10 0 0 0 0 1 symversion=0.1 } N 68900 55500 69500 54500 4 N 68900 56500 69500 55500 4 N 71000 55500 70400 56500 4 N 70400 55500 71000 54500 4 C 65000 54300 1 0 0 capacitor-1.sym { T 65200 55000 5 10 0 0 0 0 1 device=CAPACITOR T 65200 54800 5 10 1 1 0 0 1 refdes=C? T 65200 55200 5 10 0 0 0 0 1 symversion=0.1 } C 65000 53300 1 0 0 capacitor-1.sym { T 65200 54000 5 10 0 0 0 0 1 device=CAPACITOR T 65200 53800 5 10 1 1 0 0 1 refdes=C? T 65200 54200 5 10 0 0 0 0 1 symversion=0.1 } C 66500 54300 1 0 0 capacitor-1.sym { T 66700 55000 5 10 0 0 0 0 1 device=CAPACITOR T 66700 54800 5 10 1 1 0 0 1 refdes=C? T 66700 55200 5 10 0 0 0 0 1 symversion=0.1 } C 66500 53300 1 0 0 capacitor-1.sym { T 66700 54000 5 10 0 0 0 0 1 device=CAPACITOR T 66700 53800 5 10 1 1 0 0 1 refdes=C? T 66700 54200 5 10 0 0 0 0 1 symversion=0.1 } N 65900 53500 66500 52500 4 N 65900 54500 66500 53500 4 N 68000 53500 67400 54500 4 N 67400 53500 68000 52500 4 C 68000 54300 1 0 0 capacitor-1.sym { T 68200 55000 5 10 0 0 0 0 1 device=CAPACITOR T 68200 54800 5 10 1 1 0 0 1 refdes=C? T 68200 55200 5 10 0 0 0 0 1 symversion=0.1 } C 68000 53300 1 0 0 capacitor-1.sym { T 68200 54000 5 10 0 0 0 0 1 device=CAPACITOR T 68200 53800 5 10 1 1 0 0 1 refdes=C? T 68200 54200 5 10 0 0 0 0 1 symversion=0.1 } C 69500 54300 1 0 0 capacitor-1.sym { T 69700 55000 5 10 0 0 0 0 1 device=CAPACITOR T 69700 54800 5 10 1 1 0 0 1 refdes=C? T 69700 55200 5 10 0 0 0 0 1 symversion=0.1 } C 69500 53300 1 0 0 capacitor-1.sym { T 69700 54000 5 10 0 0 0 0 1 device=CAPACITOR T 69700 53800 5 10 1 1 0 0 1 refdes=C? T 69700 54200 5 10 0 0 0 0 1 symversion=0.1 } N 68900 53500 69500 52500 4 N 68900 54500 69500 53500 4 N 71000 53500 70400 54500 4 N 70400 53500 71000 52500 4 C 71000 56300 1 0 0 capacitor-1.sym { T 71200 57000 5 10 0 0 0 0 1 device=CAPACITOR T 71200 56800 5 10 1 1 0 0 1 refdes=C? T 71200 57200 5 10 0 0 0 0 1 symversion=0.1 } C 71000 55300 1 0 0 capacitor-1.sym { T 71200 56000 5 10 0 0 0 0 1 device=CAPACITOR T 71200 55800 5 10 1 1 0 0 1 refdes=C? T 71200 56200 5 10 0 0 0 0 1 symversion=0.1 } C 72500 56300 1 0 0 capacitor-1.sym { T 72700 57000 5 10 0 0 0 0 1 device=CAPACITOR T 72700 56800 5 10 1 1 0 0 1 refdes=C? T 72700 57200 5 10 0 0 0 0 1 symversion=0.1 } C 72500 55300 1 0 0 capacitor-1.sym { T 72700 56000 5 10 0 0 0 0 1 device=CAPACITOR T 72700 55800 5 10 1 1 0 0 1 refdes=C? T 72700 56200 5 10 0 0 0 0 1 symversion=0.1 } N 71900 55500 72500 54500 4 N 71900 56500 72500 55500 4 N 74000 55500 73400 56500 4 N 73400 55500 74000 54500 4 C 74000 56300 1 0 0 capacitor-1.sym { T 74200 57000 5 10 0 0 0 0 1 device=CAPACITOR T 74200 56800 5 10 1 1 0 0 1 refdes=C? T 74200 57200 5 10 0 0 0 0 1 symversion=0.1 } C 74000 55300 1 0 0 capacitor-1.sym { T 74200 56000 5 10 0 0 0 0 1 device=CAPACITOR T 74200 55800 5 10 1 1 0 0 1 refdes=C? T 74200 56200 5 10 0 0 0 0 1 symversion=0.1 } C 75500 56300 1 0 0 capacitor-1.sym { T 75700 57000 5 10 0 0 0 0 1 device=CAPACITOR T 75700 56800 5 10 1 1 0 0 1 refdes=C? T 75700 57200 5 10 0 0 0 0 1 symversion=0.1 } C 75500 55300 1 0 0 capacitor-1.sym { T 75700 56000 5 10 0 0 0 0 1 device=CAPACITOR T 75700 55800 5 10 1 1 0 0 1 refdes=C? T 75700 56200 5 10 0 0 0 0 1 symversion=0.1 } N 74900 55500 75500 54500 4 N 74900 56500 75500 55500 4 N 77000 55500 76400 56500 4 N 76400 55500 77000 54500 4 C 71000 54300 1 0 0 capacitor-1.sym { T 71200 55000 5 10 0 0 0 0 1 device=CAPACITOR T 71200 54800 5 10 1 1 0 0 1 refdes=C? T 71200 55200 5 10 0 0 0 0 1 symversion=0.1 } C 71000 53300 1 0 0 capacitor-1.sym { T 71200 54000 5 10 0 0 0 0 1 device=CAPACITOR T 71200 53800 5 10 1 1 0 0 1 refdes=C? T 71200 54200 5 10 0 0 0 0 1 symversion=0.1 } C 72500 54300 1 0 0 capacitor-1.sym { T 72700 55000 5 10 0 0 0 0 1 device=CAPACITOR T 72700 54800 5 10 1 1 0 0 1 refdes=C? T 72700 55200 5 10 0 0 0 0 1 symversion=0.1 } C 72500 53300 1 0 0 capacitor-1.sym { T 72700 54000 5 10 0 0 0 0 1 device=CAPACITOR T 72700 53800 5 10 1 1 0 0 1 refdes=C? T 72700 54200 5 10 0 0 0 0 1 symversion=0.1 } N 71900 53500 72500 52500 4 N 71900 54500 72500 53500 4 N 74000 53500 73400 54500 4 N 73400 53500 74000 52500 4 C 74000 54300 1 0 0 capacitor-1.sym { T 74200 55000 5 10 0 0 0 0 1 device=CAPACITOR T 74200 54800 5 10 1 1 0 0 1 refdes=C? T 74200 55200 5 10 0 0 0 0 1 symversion=0.1 } C 74000 53300 1 0 0 capacitor-1.sym { T 74200 54000 5 10 0 0 0 0 1 device=CAPACITOR T 74200 53800 5 10 1 1 0 0 1 refdes=C? T 74200 54200 5 10 0 0 0 0 1 symversion=0.1 } C 75500 54300 1 0 0 capacitor-1.sym { T 75700 55000 5 10 0 0 0 0 1 device=CAPACITOR T 75700 54800 5 10 1 1 0 0 1 refdes=C? T 75700 55200 5 10 0 0 0 0 1 symversion=0.1 } C 75500 53300 1 0 0 capacitor-1.sym { T 75700 54000 5 10 0 0 0 0 1 device=CAPACITOR T 75700 53800 5 10 1 1 0 0 1 refdes=C? T 75700 54200 5 10 0 0 0 0 1 symversion=0.1 } N 74900 53500 75500 52500 4 N 74900 54500 75500 53500 4 N 77000 53500 76400 54500 4 N 76400 53500 77000 52500 4 C 77000 60300 1 0 0 capacitor-1.sym { T 77200 61000 5 10 0 0 0 0 1 device=CAPACITOR T 77200 60800 5 10 1 1 0 0 1 refdes=C? T 77200 61200 5 10 0 0 0 0 1 symversion=0.1 } C 77000 59300 1 0 0 capacitor-1.sym { T 77200 60000 5 10 0 0 0 0 1 device=CAPACITOR T 77200 59800 5 10 1 1 0 0 1 refdes=C? T 77200 60200 5 10 0 0 0 0 1 symversion=0.1 } C 78500 60300 1 0 0 capacitor-1.sym { T 78700 61000 5 10 0 0 0 0 1 device=CAPACITOR T 78700 60800 5 10 1 1 0 0 1 refdes=C? T 78700 61200 5 10 0 0 0 0 1 symversion=0.1 } C 78500 59300 1 0 0 capacitor-1.sym { T 78700 60000 5 10 0 0 0 0 1 device=CAPACITOR T 78700 59800 5 10 1 1 0 0 1 refdes=C? T 78700 60200 5 10 0 0 0 0 1 symversion=0.1 } N 77900 59500 78500 58500 4 N 77900 60500 78500 59500 4 N 80000 59500 79400 60500 4 N 79400 59500 80000 58500 4 C 80000 60300 1 0 0 capacitor-1.sym { T 80200 61000 5 10 0 0 0 0 1 device=CAPACITOR T 80200 60800 5 10 1 1 0 0 1 refdes=C? T 80200 61200 5 10 0 0 0 0 1 symversion=0.1 } C 80000 59300 1 0 0 capacitor-1.sym { T 80200 60000 5 10 0 0 0 0 1 device=CAPACITOR T 80200 59800 5 10 1 1 0 0 1 refdes=C? T 80200 60200 5 10 0 0 0 0 1 symversion=0.1 } C 81500 60300 1 0 0 capacitor-1.sym { T 81700 61000 5 10 0 0 0 0 1 device=CAPACITOR T 81700 60800 5 10 1 1 0 0 1 refdes=C? T 81700 61200 5 10 0 0 0 0 1 symversion=0.1 } C 81500 59300 1 0 0 capacitor-1.sym { T 81700 60000 5 10 0 0 0 0 1 device=CAPACITOR T 81700 59800 5 10 1 1 0 0 1 refdes=C? T 81700 60200 5 10 0 0 0 0 1 symversion=0.1 } N 80900 59500 81500 58500 4 N 80900 60500 81500 59500 4 N 83000 59500 82400 60500 4 N 82400 59500 83000 58500 4 C 77000 58300 1 0 0 capacitor-1.sym { T 77200 59000 5 10 0 0 0 0 1 device=CAPACITOR T 77200 58800 5 10 1 1 0 0 1 refdes=C? T 77200 59200 5 10 0 0 0 0 1 symversion=0.1 } C 77000 57300 1 0 0 capacitor-1.sym { T 77200 58000 5 10 0 0 0 0 1 device=CAPACITOR T 77200 57800 5 10 1 1 0 0 1 refdes=C? T 77200 58200 5 10 0 0 0 0 1 symversion=0.1 } C 78500 58300 1 0 0 capacitor-1.sym { T 78700 59000 5 10 0 0 0 0 1 device=CAPACITOR T 78700 58800 5 10 1 1 0 0 1 refdes=C? T 78700 59200 5 10 0 0 0 0 1 symversion=0.1 } C 78500 57300 1 0 0 capacitor-1.sym { T 78700 58000 5 10 0 0 0 0 1 device=CAPACITOR T 78700 57800 5 10 1 1 0 0 1 refdes=C? T 78700 58200 5 10 0 0 0 0 1 symversion=0.1 } N 77900 57500 78500 56500 4 N 77900 58500 78500 57500 4 N 80000 57500 79400 58500 4 N 79400 57500 80000 56500 4 C 80000 58300 1 0 0 capacitor-1.sym { T 80200 59000 5 10 0 0 0 0 1 device=CAPACITOR T 80200 58800 5 10 1 1 0 0 1 refdes=C? T 80200 59200 5 10 0 0 0 0 1 symversion=0.1 } C 80000 57300 1 0 0 capacitor-1.sym { T 80200 58000 5 10 0 0 0 0 1 device=CAPACITOR T 80200 57800 5 10 1 1 0 0 1 refdes=C? T 80200 58200 5 10 0 0 0 0 1 symversion=0.1 } C 81500 58300 1 0 0 capacitor-1.sym { T 81700 59000 5 10 0 0 0 0 1 device=CAPACITOR T 81700 58800 5 10 1 1 0 0 1 refdes=C? T 81700 59200 5 10 0 0 0 0 1 symversion=0.1 } C 81500 57300 1 0 0 capacitor-1.sym { T 81700 58000 5 10 0 0 0 0 1 device=CAPACITOR T 81700 57800 5 10 1 1 0 0 1 refdes=C? T 81700 58200 5 10 0 0 0 0 1 symversion=0.1 } N 80900 57500 81500 56500 4 N 80900 58500 81500 57500 4 N 83000 57500 82400 58500 4 N 82400 57500 83000 56500 4 C 83000 60300 1 0 0 capacitor-1.sym { T 83200 61000 5 10 0 0 0 0 1 device=CAPACITOR T 83200 60800 5 10 1 1 0 0 1 refdes=C? T 83200 61200 5 10 0 0 0 0 1 symversion=0.1 } C 83000 59300 1 0 0 capacitor-1.sym { T 83200 60000 5 10 0 0 0 0 1 device=CAPACITOR T 83200 59800 5 10 1 1 0 0 1 refdes=C? T 83200 60200 5 10 0 0 0 0 1 symversion=0.1 } C 84500 60300 1 0 0 capacitor-1.sym { T 84700 61000 5 10 0 0 0 0 1 device=CAPACITOR T 84700 60800 5 10 1 1 0 0 1 refdes=C? T 84700 61200 5 10 0 0 0 0 1 symversion=0.1 } C 84500 59300 1 0 0 capacitor-1.sym { T 84700 60000 5 10 0 0 0 0 1 device=CAPACITOR T 84700 59800 5 10 1 1 0 0 1 refdes=C? T 84700 60200 5 10 0 0 0 0 1 symversion=0.1 } N 83900 59500 84500 58500 4 N 83900 60500 84500 59500 4 N 86000 59500 85400 60500 4 N 85400 59500 86000 58500 4 C 86000 60300 1 0 0 capacitor-1.sym { T 86200 61000 5 10 0 0 0 0 1 device=CAPACITOR T 86200 60800 5 10 1 1 0 0 1 refdes=C? T 86200 61200 5 10 0 0 0 0 1 symversion=0.1 } C 86000 59300 1 0 0 capacitor-1.sym { T 86200 60000 5 10 0 0 0 0 1 device=CAPACITOR T 86200 59800 5 10 1 1 0 0 1 refdes=C? T 86200 60200 5 10 0 0 0 0 1 symversion=0.1 } C 87500 60300 1 0 0 capacitor-1.sym { T 87700 61000 5 10 0 0 0 0 1 device=CAPACITOR T 87700 60800 5 10 1 1 0 0 1 refdes=C? T 87700 61200 5 10 0 0 0 0 1 symversion=0.1 } C 87500 59300 1 0 0 capacitor-1.sym { T 87700 60000 5 10 0 0 0 0 1 device=CAPACITOR T 87700 59800 5 10 1 1 0 0 1 refdes=C? T 87700 60200 5 10 0 0 0 0 1 symversion=0.1 } N 86900 59500 87500 58500 4 N 86900 60500 87500 59500 4 N 89000 59500 88400 60500 4 N 88400 59500 89000 58500 4 C 83000 58300 1 0 0 capacitor-1.sym { T 83200 59000 5 10 0 0 0 0 1 device=CAPACITOR T 83200 58800 5 10 1 1 0 0 1 refdes=C? T 83200 59200 5 10 0 0 0 0 1 symversion=0.1 } C 83000 57300 1 0 0 capacitor-1.sym { T 83200 58000 5 10 0 0 0 0 1 device=CAPACITOR T 83200 57800 5 10 1 1 0 0 1 refdes=C? T 83200 58200 5 10 0 0 0 0 1 symversion=0.1 } C 84500 58300 1 0 0 capacitor-1.sym { T 84700 59000 5 10 0 0 0 0 1 device=CAPACITOR T 84700 58800 5 10 1 1 0 0 1 refdes=C? T 84700 59200 5 10 0 0 0 0 1 symversion=0.1 } C 84500 57300 1 0 0 capacitor-1.sym { T 84700 58000 5 10 0 0 0 0 1 device=CAPACITOR T 84700 57800 5 10 1 1 0 0 1 refdes=C? T 84700 58200 5 10 0 0 0 0 1 symversion=0.1 } N 83900 57500 84500 56500 4 N 83900 58500 84500 57500 4 N 86000 57500 85400 58500 4 N 85400 57500 86000 56500 4 C 86000 58300 1 0 0 capacitor-1.sym { T 86200 59000 5 10 0 0 0 0 1 device=CAPACITOR T 86200 58800 5 10 1 1 0 0 1 refdes=C? T 86200 59200 5 10 0 0 0 0 1 symversion=0.1 } C 86000 57300 1 0 0 capacitor-1.sym { T 86200 58000 5 10 0 0 0 0 1 device=CAPACITOR T 86200 57800 5 10 1 1 0 0 1 refdes=C? T 86200 58200 5 10 0 0 0 0 1 symversion=0.1 } C 87500 58300 1 0 0 capacitor-1.sym { T 87700 59000 5 10 0 0 0 0 1 device=CAPACITOR T 87700 58800 5 10 1 1 0 0 1 refdes=C? T 87700 59200 5 10 0 0 0 0 1 symversion=0.1 } C 87500 57300 1 0 0 capacitor-1.sym { T 87700 58000 5 10 0 0 0 0 1 device=CAPACITOR T 87700 57800 5 10 1 1 0 0 1 refdes=C? T 87700 58200 5 10 0 0 0 0 1 symversion=0.1 } N 86900 57500 87500 56500 4 N 86900 58500 87500 57500 4 N 89000 57500 88400 58500 4 N 88400 57500 89000 56500 4 C 77000 56300 1 0 0 capacitor-1.sym { T 77200 57000 5 10 0 0 0 0 1 device=CAPACITOR T 77200 56800 5 10 1 1 0 0 1 refdes=C? T 77200 57200 5 10 0 0 0 0 1 symversion=0.1 } C 77000 55300 1 0 0 capacitor-1.sym { T 77200 56000 5 10 0 0 0 0 1 device=CAPACITOR T 77200 55800 5 10 1 1 0 0 1 refdes=C? T 77200 56200 5 10 0 0 0 0 1 symversion=0.1 } C 78500 56300 1 0 0 capacitor-1.sym { T 78700 57000 5 10 0 0 0 0 1 device=CAPACITOR T 78700 56800 5 10 1 1 0 0 1 refdes=C? T 78700 57200 5 10 0 0 0 0 1 symversion=0.1 } C 78500 55300 1 0 0 capacitor-1.sym { T 78700 56000 5 10 0 0 0 0 1 device=CAPACITOR T 78700 55800 5 10 1 1 0 0 1 refdes=C? T 78700 56200 5 10 0 0 0 0 1 symversion=0.1 } N 77900 55500 78500 54500 4 N 77900 56500 78500 55500 4 N 80000 55500 79400 56500 4 N 79400 55500 80000 54500 4 C 80000 56300 1 0 0 capacitor-1.sym { T 80200 57000 5 10 0 0 0 0 1 device=CAPACITOR T 80200 56800 5 10 1 1 0 0 1 refdes=C? T 80200 57200 5 10 0 0 0 0 1 symversion=0.1 } C 80000 55300 1 0 0 capacitor-1.sym { T 80200 56000 5 10 0 0 0 0 1 device=CAPACITOR T 80200 55800 5 10 1 1 0 0 1 refdes=C? T 80200 56200 5 10 0 0 0 0 1 symversion=0.1 } C 81500 56300 1 0 0 capacitor-1.sym { T 81700 57000 5 10 0 0 0 0 1 device=CAPACITOR T 81700 56800 5 10 1 1 0 0 1 refdes=C? T 81700 57200 5 10 0 0 0 0 1 symversion=0.1 } C 81500 55300 1 0 0 capacitor-1.sym { T 81700 56000 5 10 0 0 0 0 1 device=CAPACITOR T 81700 55800 5 10 1 1 0 0 1 refdes=C? T 81700 56200 5 10 0 0 0 0 1 symversion=0.1 } N 80900 55500 81500 54500 4 N 80900 56500 81500 55500 4 N 83000 55500 82400 56500 4 N 82400 55500 83000 54500 4 C 77000 54300 1 0 0 capacitor-1.sym { T 77200 55000 5 10 0 0 0 0 1 device=CAPACITOR T 77200 54800 5 10 1 1 0 0 1 refdes=C? T 77200 55200 5 10 0 0 0 0 1 symversion=0.1 } C 77000 53300 1 0 0 capacitor-1.sym { T 77200 54000 5 10 0 0 0 0 1 device=CAPACITOR T 77200 53800 5 10 1 1 0 0 1 refdes=C? T 77200 54200 5 10 0 0 0 0 1 symversion=0.1 } C 78500 54300 1 0 0 capacitor-1.sym { T 78700 55000 5 10 0 0 0 0 1 device=CAPACITOR T 78700 54800 5 10 1 1 0 0 1 refdes=C? T 78700 55200 5 10 0 0 0 0 1 symversion=0.1 } C 78500 53300 1 0 0 capacitor-1.sym { T 78700 54000 5 10 0 0 0 0 1 device=CAPACITOR T 78700 53800 5 10 1 1 0 0 1 refdes=C? T 78700 54200 5 10 0 0 0 0 1 symversion=0.1 } N 77900 53500 78500 52500 4 N 77900 54500 78500 53500 4 N 80000 53500 79400 54500 4 N 79400 53500 80000 52500 4 C 80000 54300 1 0 0 capacitor-1.sym { T 80200 55000 5 10 0 0 0 0 1 device=CAPACITOR T 80200 54800 5 10 1 1 0 0 1 refdes=C? T 80200 55200 5 10 0 0 0 0 1 symversion=0.1 } C 80000 53300 1 0 0 capacitor-1.sym { T 80200 54000 5 10 0 0 0 0 1 device=CAPACITOR T 80200 53800 5 10 1 1 0 0 1 refdes=C? T 80200 54200 5 10 0 0 0 0 1 symversion=0.1 } C 81500 54300 1 0 0 capacitor-1.sym { T 81700 55000 5 10 0 0 0 0 1 device=CAPACITOR T 81700 54800 5 10 1 1 0 0 1 refdes=C? T 81700 55200 5 10 0 0 0 0 1 symversion=0.1 } C 81500 53300 1 0 0 capacitor-1.sym { T 81700 54000 5 10 0 0 0 0 1 device=CAPACITOR T 81700 53800 5 10 1 1 0 0 1 refdes=C? T 81700 54200 5 10 0 0 0 0 1 symversion=0.1 } N 80900 53500 81500 52500 4 N 80900 54500 81500 53500 4 N 83000 53500 82400 54500 4 N 82400 53500 83000 52500 4 C 83000 56300 1 0 0 capacitor-1.sym { T 83200 57000 5 10 0 0 0 0 1 device=CAPACITOR T 83200 56800 5 10 1 1 0 0 1 refdes=C? T 83200 57200 5 10 0 0 0 0 1 symversion=0.1 } C 83000 55300 1 0 0 capacitor-1.sym { T 83200 56000 5 10 0 0 0 0 1 device=CAPACITOR T 83200 55800 5 10 1 1 0 0 1 refdes=C? T 83200 56200 5 10 0 0 0 0 1 symversion=0.1 } C 84500 56300 1 0 0 capacitor-1.sym { T 84700 57000 5 10 0 0 0 0 1 device=CAPACITOR T 84700 56800 5 10 1 1 0 0 1 refdes=C? T 84700 57200 5 10 0 0 0 0 1 symversion=0.1 } C 84500 55300 1 0 0 capacitor-1.sym { T 84700 56000 5 10 0 0 0 0 1 device=CAPACITOR T 84700 55800 5 10 1 1 0 0 1 refdes=C? T 84700 56200 5 10 0 0 0 0 1 symversion=0.1 } N 83900 55500 84500 54500 4 N 83900 56500 84500 55500 4 N 86000 55500 85400 56500 4 N 85400 55500 86000 54500 4 C 86000 56300 1 0 0 capacitor-1.sym { T 86200 57000 5 10 0 0 0 0 1 device=CAPACITOR T 86200 56800 5 10 1 1 0 0 1 refdes=C? T 86200 57200 5 10 0 0 0 0 1 symversion=0.1 } C 86000 55300 1 0 0 capacitor-1.sym { T 86200 56000 5 10 0 0 0 0 1 device=CAPACITOR T 86200 55800 5 10 1 1 0 0 1 refdes=C? T 86200 56200 5 10 0 0 0 0 1 symversion=0.1 } C 87500 56300 1 0 0 capacitor-1.sym { T 87700 57000 5 10 0 0 0 0 1 device=CAPACITOR T 87700 56800 5 10 1 1 0 0 1 refdes=C? T 87700 57200 5 10 0 0 0 0 1 symversion=0.1 } C 87500 55300 1 0 0 capacitor-1.sym { T 87700 56000 5 10 0 0 0 0 1 device=CAPACITOR T 87700 55800 5 10 1 1 0 0 1 refdes=C? T 87700 56200 5 10 0 0 0 0 1 symversion=0.1 } N 86900 55500 87500 54500 4 N 86900 56500 87500 55500 4 N 89000 55500 88400 56500 4 N 88400 55500 89000 54500 4 C 83000 54300 1 0 0 capacitor-1.sym { T 83200 55000 5 10 0 0 0 0 1 device=CAPACITOR T 83200 54800 5 10 1 1 0 0 1 refdes=C? T 83200 55200 5 10 0 0 0 0 1 symversion=0.1 } C 83000 53300 1 0 0 capacitor-1.sym { T 83200 54000 5 10 0 0 0 0 1 device=CAPACITOR T 83200 53800 5 10 1 1 0 0 1 refdes=C? T 83200 54200 5 10 0 0 0 0 1 symversion=0.1 } C 84500 54300 1 0 0 capacitor-1.sym { T 84700 55000 5 10 0 0 0 0 1 device=CAPACITOR T 84700 54800 5 10 1 1 0 0 1 refdes=C? T 84700 55200 5 10 0 0 0 0 1 symversion=0.1 } C 84500 53300 1 0 0 capacitor-1.sym { T 84700 54000 5 10 0 0 0 0 1 device=CAPACITOR T 84700 53800 5 10 1 1 0 0 1 refdes=C? T 84700 54200 5 10 0 0 0 0 1 symversion=0.1 } N 83900 53500 84500 52500 4 N 83900 54500 84500 53500 4 N 86000 53500 85400 54500 4 N 85400 53500 86000 52500 4 C 86000 54300 1 0 0 capacitor-1.sym { T 86200 55000 5 10 0 0 0 0 1 device=CAPACITOR T 86200 54800 5 10 1 1 0 0 1 refdes=C? T 86200 55200 5 10 0 0 0 0 1 symversion=0.1 } C 86000 53300 1 0 0 capacitor-1.sym { T 86200 54000 5 10 0 0 0 0 1 device=CAPACITOR T 86200 53800 5 10 1 1 0 0 1 refdes=C? T 86200 54200 5 10 0 0 0 0 1 symversion=0.1 } C 87500 54300 1 0 0 capacitor-1.sym { T 87700 55000 5 10 0 0 0 0 1 device=CAPACITOR T 87700 54800 5 10 1 1 0 0 1 refdes=C? T 87700 55200 5 10 0 0 0 0 1 symversion=0.1 } C 87500 53300 1 0 0 capacitor-1.sym { T 87700 54000 5 10 0 0 0 0 1 device=CAPACITOR T 87700 53800 5 10 1 1 0 0 1 refdes=C? T 87700 54200 5 10 0 0 0 0 1 symversion=0.1 } N 86900 53500 87500 52500 4 N 86900 54500 87500 53500 4 N 89000 53500 88400 54500 4 N 88400 53500 89000 52500 4 C 65000 52300 1 0 0 capacitor-1.sym { T 65200 53000 5 10 0 0 0 0 1 device=CAPACITOR T 65200 52800 5 10 1 1 0 0 1 refdes=C? T 65200 53200 5 10 0 0 0 0 1 symversion=0.1 } C 65000 51300 1 0 0 capacitor-1.sym { T 65200 52000 5 10 0 0 0 0 1 device=CAPACITOR T 65200 51800 5 10 1 1 0 0 1 refdes=C? T 65200 52200 5 10 0 0 0 0 1 symversion=0.1 } C 66500 52300 1 0 0 capacitor-1.sym { T 66700 53000 5 10 0 0 0 0 1 device=CAPACITOR T 66700 52800 5 10 1 1 0 0 1 refdes=C? T 66700 53200 5 10 0 0 0 0 1 symversion=0.1 } C 66500 51300 1 0 0 capacitor-1.sym { T 66700 52000 5 10 0 0 0 0 1 device=CAPACITOR T 66700 51800 5 10 1 1 0 0 1 refdes=C? T 66700 52200 5 10 0 0 0 0 1 symversion=0.1 } N 65900 51500 66500 50500 4 N 65900 52500 66500 51500 4 N 68000 51500 67400 52500 4 N 67400 51500 68000 50500 4 C 68000 52300 1 0 0 capacitor-1.sym { T 68200 53000 5 10 0 0 0 0 1 device=CAPACITOR T 68200 52800 5 10 1 1 0 0 1 refdes=C? T 68200 53200 5 10 0 0 0 0 1 symversion=0.1 } C 68000 51300 1 0 0 capacitor-1.sym { T 68200 52000 5 10 0 0 0 0 1 device=CAPACITOR T 68200 51800 5 10 1 1 0 0 1 refdes=C? T 68200 52200 5 10 0 0 0 0 1 symversion=0.1 } C 69500 52300 1 0 0 capacitor-1.sym { T 69700 53000 5 10 0 0 0 0 1 device=CAPACITOR T 69700 52800 5 10 1 1 0 0 1 refdes=C? T 69700 53200 5 10 0 0 0 0 1 symversion=0.1 } C 69500 51300 1 0 0 capacitor-1.sym { T 69700 52000 5 10 0 0 0 0 1 device=CAPACITOR T 69700 51800 5 10 1 1 0 0 1 refdes=C? T 69700 52200 5 10 0 0 0 0 1 symversion=0.1 } N 68900 51500 69500 50500 4 N 68900 52500 69500 51500 4 N 71000 51500 70400 52500 4 N 70400 51500 71000 50500 4 C 65000 50300 1 0 0 capacitor-1.sym { T 65200 51000 5 10 0 0 0 0 1 device=CAPACITOR T 65200 50800 5 10 1 1 0 0 1 refdes=C? T 65200 51200 5 10 0 0 0 0 1 symversion=0.1 } C 65000 49300 1 0 0 capacitor-1.sym { T 65200 50000 5 10 0 0 0 0 1 device=CAPACITOR T 65200 49800 5 10 1 1 0 0 1 refdes=C? T 65200 50200 5 10 0 0 0 0 1 symversion=0.1 } C 66500 50300 1 0 0 capacitor-1.sym { T 66700 51000 5 10 0 0 0 0 1 device=CAPACITOR T 66700 50800 5 10 1 1 0 0 1 refdes=C? T 66700 51200 5 10 0 0 0 0 1 symversion=0.1 } C 66500 49300 1 0 0 capacitor-1.sym { T 66700 50000 5 10 0 0 0 0 1 device=CAPACITOR T 66700 49800 5 10 1 1 0 0 1 refdes=C? T 66700 50200 5 10 0 0 0 0 1 symversion=0.1 } N 65900 49500 66500 48500 4 N 65900 50500 66500 49500 4 N 68000 49500 67400 50500 4 N 67400 49500 68000 48500 4 C 68000 50300 1 0 0 capacitor-1.sym { T 68200 51000 5 10 0 0 0 0 1 device=CAPACITOR T 68200 50800 5 10 1 1 0 0 1 refdes=C? T 68200 51200 5 10 0 0 0 0 1 symversion=0.1 } C 68000 49300 1 0 0 capacitor-1.sym { T 68200 50000 5 10 0 0 0 0 1 device=CAPACITOR T 68200 49800 5 10 1 1 0 0 1 refdes=C? T 68200 50200 5 10 0 0 0 0 1 symversion=0.1 } C 69500 50300 1 0 0 capacitor-1.sym { T 69700 51000 5 10 0 0 0 0 1 device=CAPACITOR T 69700 50800 5 10 1 1 0 0 1 refdes=C? T 69700 51200 5 10 0 0 0 0 1 symversion=0.1 } C 69500 49300 1 0 0 capacitor-1.sym { T 69700 50000 5 10 0 0 0 0 1 device=CAPACITOR T 69700 49800 5 10 1 1 0 0 1 refdes=C? T 69700 50200 5 10 0 0 0 0 1 symversion=0.1 } N 68900 49500 69500 48500 4 N 68900 50500 69500 49500 4 N 71000 49500 70400 50500 4 N 70400 49500 71000 48500 4 C 71000 52300 1 0 0 capacitor-1.sym { T 71200 53000 5 10 0 0 0 0 1 device=CAPACITOR T 71200 52800 5 10 1 1 0 0 1 refdes=C? T 71200 53200 5 10 0 0 0 0 1 symversion=0.1 } C 71000 51300 1 0 0 capacitor-1.sym { T 71200 52000 5 10 0 0 0 0 1 device=CAPACITOR T 71200 51800 5 10 1 1 0 0 1 refdes=C? T 71200 52200 5 10 0 0 0 0 1 symversion=0.1 } C 72500 52300 1 0 0 capacitor-1.sym { T 72700 53000 5 10 0 0 0 0 1 device=CAPACITOR T 72700 52800 5 10 1 1 0 0 1 refdes=C? T 72700 53200 5 10 0 0 0 0 1 symversion=0.1 } C 72500 51300 1 0 0 capacitor-1.sym { T 72700 52000 5 10 0 0 0 0 1 device=CAPACITOR T 72700 51800 5 10 1 1 0 0 1 refdes=C? T 72700 52200 5 10 0 0 0 0 1 symversion=0.1 } N 71900 51500 72500 50500 4 N 71900 52500 72500 51500 4 N 74000 51500 73400 52500 4 N 73400 51500 74000 50500 4 C 74000 52300 1 0 0 capacitor-1.sym { T 74200 53000 5 10 0 0 0 0 1 device=CAPACITOR T 74200 52800 5 10 1 1 0 0 1 refdes=C? T 74200 53200 5 10 0 0 0 0 1 symversion=0.1 } C 74000 51300 1 0 0 capacitor-1.sym { T 74200 52000 5 10 0 0 0 0 1 device=CAPACITOR T 74200 51800 5 10 1 1 0 0 1 refdes=C? T 74200 52200 5 10 0 0 0 0 1 symversion=0.1 } C 75500 52300 1 0 0 capacitor-1.sym { T 75700 53000 5 10 0 0 0 0 1 device=CAPACITOR T 75700 52800 5 10 1 1 0 0 1 refdes=C? T 75700 53200 5 10 0 0 0 0 1 symversion=0.1 } C 75500 51300 1 0 0 capacitor-1.sym { T 75700 52000 5 10 0 0 0 0 1 device=CAPACITOR T 75700 51800 5 10 1 1 0 0 1 refdes=C? T 75700 52200 5 10 0 0 0 0 1 symversion=0.1 } N 74900 51500 75500 50500 4 N 74900 52500 75500 51500 4 N 77000 51500 76400 52500 4 N 76400 51500 77000 50500 4 C 71000 50300 1 0 0 capacitor-1.sym { T 71200 51000 5 10 0 0 0 0 1 device=CAPACITOR T 71200 50800 5 10 1 1 0 0 1 refdes=C? T 71200 51200 5 10 0 0 0 0 1 symversion=0.1 } C 71000 49300 1 0 0 capacitor-1.sym { T 71200 50000 5 10 0 0 0 0 1 device=CAPACITOR T 71200 49800 5 10 1 1 0 0 1 refdes=C? T 71200 50200 5 10 0 0 0 0 1 symversion=0.1 } C 72500 50300 1 0 0 capacitor-1.sym { T 72700 51000 5 10 0 0 0 0 1 device=CAPACITOR T 72700 50800 5 10 1 1 0 0 1 refdes=C? T 72700 51200 5 10 0 0 0 0 1 symversion=0.1 } C 72500 49300 1 0 0 capacitor-1.sym { T 72700 50000 5 10 0 0 0 0 1 device=CAPACITOR T 72700 49800 5 10 1 1 0 0 1 refdes=C? T 72700 50200 5 10 0 0 0 0 1 symversion=0.1 } N 71900 49500 72500 48500 4 N 71900 50500 72500 49500 4 N 74000 49500 73400 50500 4 N 73400 49500 74000 48500 4 C 74000 50300 1 0 0 capacitor-1.sym { T 74200 51000 5 10 0 0 0 0 1 device=CAPACITOR T 74200 50800 5 10 1 1 0 0 1 refdes=C? T 74200 51200 5 10 0 0 0 0 1 symversion=0.1 } C 74000 49300 1 0 0 capacitor-1.sym { T 74200 50000 5 10 0 0 0 0 1 device=CAPACITOR T 74200 49800 5 10 1 1 0 0 1 refdes=C? T 74200 50200 5 10 0 0 0 0 1 symversion=0.1 } C 75500 50300 1 0 0 capacitor-1.sym { T 75700 51000 5 10 0 0 0 0 1 device=CAPACITOR T 75700 50800 5 10 1 1 0 0 1 refdes=C? T 75700 51200 5 10 0 0 0 0 1 symversion=0.1 } C 75500 49300 1 0 0 capacitor-1.sym { T 75700 50000 5 10 0 0 0 0 1 device=CAPACITOR T 75700 49800 5 10 1 1 0 0 1 refdes=C? T 75700 50200 5 10 0 0 0 0 1 symversion=0.1 } N 74900 49500 75500 48500 4 N 74900 50500 75500 49500 4 N 77000 49500 76400 50500 4 N 76400 49500 77000 48500 4 C 65000 48300 1 0 0 capacitor-1.sym { T 65200 49000 5 10 0 0 0 0 1 device=CAPACITOR T 65200 48800 5 10 1 1 0 0 1 refdes=C? T 65200 49200 5 10 0 0 0 0 1 symversion=0.1 } C 65000 47300 1 0 0 capacitor-1.sym { T 65200 48000 5 10 0 0 0 0 1 device=CAPACITOR T 65200 47800 5 10 1 1 0 0 1 refdes=C? T 65200 48200 5 10 0 0 0 0 1 symversion=0.1 } C 66500 48300 1 0 0 capacitor-1.sym { T 66700 49000 5 10 0 0 0 0 1 device=CAPACITOR T 66700 48800 5 10 1 1 0 0 1 refdes=C? T 66700 49200 5 10 0 0 0 0 1 symversion=0.1 } C 66500 47300 1 0 0 capacitor-1.sym { T 66700 48000 5 10 0 0 0 0 1 device=CAPACITOR T 66700 47800 5 10 1 1 0 0 1 refdes=C? T 66700 48200 5 10 0 0 0 0 1 symversion=0.1 } N 65900 47500 66500 46500 4 N 65900 48500 66500 47500 4 N 68000 47500 67400 48500 4 N 67400 47500 68000 46500 4 C 68000 48300 1 0 0 capacitor-1.sym { T 68200 49000 5 10 0 0 0 0 1 device=CAPACITOR T 68200 48800 5 10 1 1 0 0 1 refdes=C? T 68200 49200 5 10 0 0 0 0 1 symversion=0.1 } C 68000 47300 1 0 0 capacitor-1.sym { T 68200 48000 5 10 0 0 0 0 1 device=CAPACITOR T 68200 47800 5 10 1 1 0 0 1 refdes=C? T 68200 48200 5 10 0 0 0 0 1 symversion=0.1 } C 69500 48300 1 0 0 capacitor-1.sym { T 69700 49000 5 10 0 0 0 0 1 device=CAPACITOR T 69700 48800 5 10 1 1 0 0 1 refdes=C? T 69700 49200 5 10 0 0 0 0 1 symversion=0.1 } C 69500 47300 1 0 0 capacitor-1.sym { T 69700 48000 5 10 0 0 0 0 1 device=CAPACITOR T 69700 47800 5 10 1 1 0 0 1 refdes=C? T 69700 48200 5 10 0 0 0 0 1 symversion=0.1 } N 68900 47500 69500 46500 4 N 68900 48500 69500 47500 4 N 71000 47500 70400 48500 4 N 70400 47500 71000 46500 4 C 65000 46300 1 0 0 capacitor-1.sym { T 65200 47000 5 10 0 0 0 0 1 device=CAPACITOR T 65200 46800 5 10 1 1 0 0 1 refdes=C? T 65200 47200 5 10 0 0 0 0 1 symversion=0.1 } C 65000 45300 1 0 0 capacitor-1.sym { T 65200 46000 5 10 0 0 0 0 1 device=CAPACITOR T 65200 45800 5 10 1 1 0 0 1 refdes=C? T 65200 46200 5 10 0 0 0 0 1 symversion=0.1 } C 66500 46300 1 0 0 capacitor-1.sym { T 66700 47000 5 10 0 0 0 0 1 device=CAPACITOR T 66700 46800 5 10 1 1 0 0 1 refdes=C? T 66700 47200 5 10 0 0 0 0 1 symversion=0.1 } C 66500 45300 1 0 0 capacitor-1.sym { T 66700 46000 5 10 0 0 0 0 1 device=CAPACITOR T 66700 45800 5 10 1 1 0 0 1 refdes=C? T 66700 46200 5 10 0 0 0 0 1 symversion=0.1 } N 65900 45500 66500 44500 4 N 65900 46500 66500 45500 4 N 68000 45500 67400 46500 4 N 67400 45500 68000 44500 4 C 68000 46300 1 0 0 capacitor-1.sym { T 68200 47000 5 10 0 0 0 0 1 device=CAPACITOR T 68200 46800 5 10 1 1 0 0 1 refdes=C? T 68200 47200 5 10 0 0 0 0 1 symversion=0.1 } C 68000 45300 1 0 0 capacitor-1.sym { T 68200 46000 5 10 0 0 0 0 1 device=CAPACITOR T 68200 45800 5 10 1 1 0 0 1 refdes=C? T 68200 46200 5 10 0 0 0 0 1 symversion=0.1 } C 69500 46300 1 0 0 capacitor-1.sym { T 69700 47000 5 10 0 0 0 0 1 device=CAPACITOR T 69700 46800 5 10 1 1 0 0 1 refdes=C? T 69700 47200 5 10 0 0 0 0 1 symversion=0.1 } C 69500 45300 1 0 0 capacitor-1.sym { T 69700 46000 5 10 0 0 0 0 1 device=CAPACITOR T 69700 45800 5 10 1 1 0 0 1 refdes=C? T 69700 46200 5 10 0 0 0 0 1 symversion=0.1 } N 68900 45500 69500 44500 4 N 68900 46500 69500 45500 4 N 71000 45500 70400 46500 4 N 70400 45500 71000 44500 4 C 71000 48300 1 0 0 capacitor-1.sym { T 71200 49000 5 10 0 0 0 0 1 device=CAPACITOR T 71200 48800 5 10 1 1 0 0 1 refdes=C? T 71200 49200 5 10 0 0 0 0 1 symversion=0.1 } C 71000 47300 1 0 0 capacitor-1.sym { T 71200 48000 5 10 0 0 0 0 1 device=CAPACITOR T 71200 47800 5 10 1 1 0 0 1 refdes=C? T 71200 48200 5 10 0 0 0 0 1 symversion=0.1 } C 72500 48300 1 0 0 capacitor-1.sym { T 72700 49000 5 10 0 0 0 0 1 device=CAPACITOR T 72700 48800 5 10 1 1 0 0 1 refdes=C? T 72700 49200 5 10 0 0 0 0 1 symversion=0.1 } C 72500 47300 1 0 0 capacitor-1.sym { T 72700 48000 5 10 0 0 0 0 1 device=CAPACITOR T 72700 47800 5 10 1 1 0 0 1 refdes=C? T 72700 48200 5 10 0 0 0 0 1 symversion=0.1 } N 71900 47500 72500 46500 4 N 71900 48500 72500 47500 4 N 74000 47500 73400 48500 4 N 73400 47500 74000 46500 4 C 74000 48300 1 0 0 capacitor-1.sym { T 74200 49000 5 10 0 0 0 0 1 device=CAPACITOR T 74200 48800 5 10 1 1 0 0 1 refdes=C? T 74200 49200 5 10 0 0 0 0 1 symversion=0.1 } C 74000 47300 1 0 0 capacitor-1.sym { T 74200 48000 5 10 0 0 0 0 1 device=CAPACITOR T 74200 47800 5 10 1 1 0 0 1 refdes=C? T 74200 48200 5 10 0 0 0 0 1 symversion=0.1 } C 75500 48300 1 0 0 capacitor-1.sym { T 75700 49000 5 10 0 0 0 0 1 device=CAPACITOR T 75700 48800 5 10 1 1 0 0 1 refdes=C? T 75700 49200 5 10 0 0 0 0 1 symversion=0.1 } C 75500 47300 1 0 0 capacitor-1.sym { T 75700 48000 5 10 0 0 0 0 1 device=CAPACITOR T 75700 47800 5 10 1 1 0 0 1 refdes=C? T 75700 48200 5 10 0 0 0 0 1 symversion=0.1 } N 74900 47500 75500 46500 4 N 74900 48500 75500 47500 4 N 77000 47500 76400 48500 4 N 76400 47500 77000 46500 4 C 71000 46300 1 0 0 capacitor-1.sym { T 71200 47000 5 10 0 0 0 0 1 device=CAPACITOR T 71200 46800 5 10 1 1 0 0 1 refdes=C? T 71200 47200 5 10 0 0 0 0 1 symversion=0.1 } C 71000 45300 1 0 0 capacitor-1.sym { T 71200 46000 5 10 0 0 0 0 1 device=CAPACITOR T 71200 45800 5 10 1 1 0 0 1 refdes=C? T 71200 46200 5 10 0 0 0 0 1 symversion=0.1 } C 72500 46300 1 0 0 capacitor-1.sym { T 72700 47000 5 10 0 0 0 0 1 device=CAPACITOR T 72700 46800 5 10 1 1 0 0 1 refdes=C? T 72700 47200 5 10 0 0 0 0 1 symversion=0.1 } C 72500 45300 1 0 0 capacitor-1.sym { T 72700 46000 5 10 0 0 0 0 1 device=CAPACITOR T 72700 45800 5 10 1 1 0 0 1 refdes=C? T 72700 46200 5 10 0 0 0 0 1 symversion=0.1 } N 71900 45500 72500 44500 4 N 71900 46500 72500 45500 4 N 74000 45500 73400 46500 4 N 73400 45500 74000 44500 4 C 74000 46300 1 0 0 capacitor-1.sym { T 74200 47000 5 10 0 0 0 0 1 device=CAPACITOR T 74200 46800 5 10 1 1 0 0 1 refdes=C? T 74200 47200 5 10 0 0 0 0 1 symversion=0.1 } C 74000 45300 1 0 0 capacitor-1.sym { T 74200 46000 5 10 0 0 0 0 1 device=CAPACITOR T 74200 45800 5 10 1 1 0 0 1 refdes=C? T 74200 46200 5 10 0 0 0 0 1 symversion=0.1 } C 75500 46300 1 0 0 capacitor-1.sym { T 75700 47000 5 10 0 0 0 0 1 device=CAPACITOR T 75700 46800 5 10 1 1 0 0 1 refdes=C? T 75700 47200 5 10 0 0 0 0 1 symversion=0.1 } C 75500 45300 1 0 0 capacitor-1.sym { T 75700 46000 5 10 0 0 0 0 1 device=CAPACITOR T 75700 45800 5 10 1 1 0 0 1 refdes=C? T 75700 46200 5 10 0 0 0 0 1 symversion=0.1 } N 74900 45500 75500 44500 4 N 74900 46500 75500 45500 4 N 77000 45500 76400 46500 4 N 76400 45500 77000 44500 4 C 77000 52300 1 0 0 capacitor-1.sym { T 77200 53000 5 10 0 0 0 0 1 device=CAPACITOR T 77200 52800 5 10 1 1 0 0 1 refdes=C? T 77200 53200 5 10 0 0 0 0 1 symversion=0.1 } C 77000 51300 1 0 0 capacitor-1.sym { T 77200 52000 5 10 0 0 0 0 1 device=CAPACITOR T 77200 51800 5 10 1 1 0 0 1 refdes=C? T 77200 52200 5 10 0 0 0 0 1 symversion=0.1 } C 78500 52300 1 0 0 capacitor-1.sym { T 78700 53000 5 10 0 0 0 0 1 device=CAPACITOR T 78700 52800 5 10 1 1 0 0 1 refdes=C? T 78700 53200 5 10 0 0 0 0 1 symversion=0.1 } C 78500 51300 1 0 0 capacitor-1.sym { T 78700 52000 5 10 0 0 0 0 1 device=CAPACITOR T 78700 51800 5 10 1 1 0 0 1 refdes=C? T 78700 52200 5 10 0 0 0 0 1 symversion=0.1 } N 77900 51500 78500 50500 4 N 77900 52500 78500 51500 4 N 80000 51500 79400 52500 4 N 79400 51500 80000 50500 4 C 80000 52300 1 0 0 capacitor-1.sym { T 80200 53000 5 10 0 0 0 0 1 device=CAPACITOR T 80200 52800 5 10 1 1 0 0 1 refdes=C? T 80200 53200 5 10 0 0 0 0 1 symversion=0.1 } C 80000 51300 1 0 0 capacitor-1.sym { T 80200 52000 5 10 0 0 0 0 1 device=CAPACITOR T 80200 51800 5 10 1 1 0 0 1 refdes=C? T 80200 52200 5 10 0 0 0 0 1 symversion=0.1 } C 81500 52300 1 0 0 capacitor-1.sym { T 81700 53000 5 10 0 0 0 0 1 device=CAPACITOR T 81700 52800 5 10 1 1 0 0 1 refdes=C? T 81700 53200 5 10 0 0 0 0 1 symversion=0.1 } C 81500 51300 1 0 0 capacitor-1.sym { T 81700 52000 5 10 0 0 0 0 1 device=CAPACITOR T 81700 51800 5 10 1 1 0 0 1 refdes=C? T 81700 52200 5 10 0 0 0 0 1 symversion=0.1 } N 80900 51500 81500 50500 4 N 80900 52500 81500 51500 4 N 83000 51500 82400 52500 4 N 82400 51500 83000 50500 4 C 77000 50300 1 0 0 capacitor-1.sym { T 77200 51000 5 10 0 0 0 0 1 device=CAPACITOR T 77200 50800 5 10 1 1 0 0 1 refdes=C? T 77200 51200 5 10 0 0 0 0 1 symversion=0.1 } C 77000 49300 1 0 0 capacitor-1.sym { T 77200 50000 5 10 0 0 0 0 1 device=CAPACITOR T 77200 49800 5 10 1 1 0 0 1 refdes=C? T 77200 50200 5 10 0 0 0 0 1 symversion=0.1 } C 78500 50300 1 0 0 capacitor-1.sym { T 78700 51000 5 10 0 0 0 0 1 device=CAPACITOR T 78700 50800 5 10 1 1 0 0 1 refdes=C? T 78700 51200 5 10 0 0 0 0 1 symversion=0.1 } C 78500 49300 1 0 0 capacitor-1.sym { T 78700 50000 5 10 0 0 0 0 1 device=CAPACITOR T 78700 49800 5 10 1 1 0 0 1 refdes=C? T 78700 50200 5 10 0 0 0 0 1 symversion=0.1 } N 77900 49500 78500 48500 4 N 77900 50500 78500 49500 4 N 80000 49500 79400 50500 4 N 79400 49500 80000 48500 4 C 80000 50300 1 0 0 capacitor-1.sym { T 80200 51000 5 10 0 0 0 0 1 device=CAPACITOR T 80200 50800 5 10 1 1 0 0 1 refdes=C? T 80200 51200 5 10 0 0 0 0 1 symversion=0.1 } C 80000 49300 1 0 0 capacitor-1.sym { T 80200 50000 5 10 0 0 0 0 1 device=CAPACITOR T 80200 49800 5 10 1 1 0 0 1 refdes=C? T 80200 50200 5 10 0 0 0 0 1 symversion=0.1 } C 81500 50300 1 0 0 capacitor-1.sym { T 81700 51000 5 10 0 0 0 0 1 device=CAPACITOR T 81700 50800 5 10 1 1 0 0 1 refdes=C? T 81700 51200 5 10 0 0 0 0 1 symversion=0.1 } C 81500 49300 1 0 0 capacitor-1.sym { T 81700 50000 5 10 0 0 0 0 1 device=CAPACITOR T 81700 49800 5 10 1 1 0 0 1 refdes=C? T 81700 50200 5 10 0 0 0 0 1 symversion=0.1 } N 80900 49500 81500 48500 4 N 80900 50500 81500 49500 4 N 83000 49500 82400 50500 4 N 82400 49500 83000 48500 4 C 83000 52300 1 0 0 capacitor-1.sym { T 83200 53000 5 10 0 0 0 0 1 device=CAPACITOR T 83200 52800 5 10 1 1 0 0 1 refdes=C? T 83200 53200 5 10 0 0 0 0 1 symversion=0.1 } C 83000 51300 1 0 0 capacitor-1.sym { T 83200 52000 5 10 0 0 0 0 1 device=CAPACITOR T 83200 51800 5 10 1 1 0 0 1 refdes=C? T 83200 52200 5 10 0 0 0 0 1 symversion=0.1 } C 84500 52300 1 0 0 capacitor-1.sym { T 84700 53000 5 10 0 0 0 0 1 device=CAPACITOR T 84700 52800 5 10 1 1 0 0 1 refdes=C? T 84700 53200 5 10 0 0 0 0 1 symversion=0.1 } C 84500 51300 1 0 0 capacitor-1.sym { T 84700 52000 5 10 0 0 0 0 1 device=CAPACITOR T 84700 51800 5 10 1 1 0 0 1 refdes=C? T 84700 52200 5 10 0 0 0 0 1 symversion=0.1 } N 83900 51500 84500 50500 4 N 83900 52500 84500 51500 4 N 86000 51500 85400 52500 4 N 85400 51500 86000 50500 4 C 86000 52300 1 0 0 capacitor-1.sym { T 86200 53000 5 10 0 0 0 0 1 device=CAPACITOR T 86200 52800 5 10 1 1 0 0 1 refdes=C? T 86200 53200 5 10 0 0 0 0 1 symversion=0.1 } C 86000 51300 1 0 0 capacitor-1.sym { T 86200 52000 5 10 0 0 0 0 1 device=CAPACITOR T 86200 51800 5 10 1 1 0 0 1 refdes=C? T 86200 52200 5 10 0 0 0 0 1 symversion=0.1 } C 87500 52300 1 0 0 capacitor-1.sym { T 87700 53000 5 10 0 0 0 0 1 device=CAPACITOR T 87700 52800 5 10 1 1 0 0 1 refdes=C? T 87700 53200 5 10 0 0 0 0 1 symversion=0.1 } C 87500 51300 1 0 0 capacitor-1.sym { T 87700 52000 5 10 0 0 0 0 1 device=CAPACITOR T 87700 51800 5 10 1 1 0 0 1 refdes=C? T 87700 52200 5 10 0 0 0 0 1 symversion=0.1 } N 86900 51500 87500 50500 4 N 86900 52500 87500 51500 4 N 89000 51500 88400 52500 4 N 88400 51500 89000 50500 4 C 83000 50300 1 0 0 capacitor-1.sym { T 83200 51000 5 10 0 0 0 0 1 device=CAPACITOR T 83200 50800 5 10 1 1 0 0 1 refdes=C? T 83200 51200 5 10 0 0 0 0 1 symversion=0.1 } C 83000 49300 1 0 0 capacitor-1.sym { T 83200 50000 5 10 0 0 0 0 1 device=CAPACITOR T 83200 49800 5 10 1 1 0 0 1 refdes=C? T 83200 50200 5 10 0 0 0 0 1 symversion=0.1 } C 84500 50300 1 0 0 capacitor-1.sym { T 84700 51000 5 10 0 0 0 0 1 device=CAPACITOR T 84700 50800 5 10 1 1 0 0 1 refdes=C? T 84700 51200 5 10 0 0 0 0 1 symversion=0.1 } C 84500 49300 1 0 0 capacitor-1.sym { T 84700 50000 5 10 0 0 0 0 1 device=CAPACITOR T 84700 49800 5 10 1 1 0 0 1 refdes=C? T 84700 50200 5 10 0 0 0 0 1 symversion=0.1 } N 83900 49500 84500 48500 4 N 83900 50500 84500 49500 4 N 86000 49500 85400 50500 4 N 85400 49500 86000 48500 4 C 86000 50300 1 0 0 capacitor-1.sym { T 86200 51000 5 10 0 0 0 0 1 device=CAPACITOR T 86200 50800 5 10 1 1 0 0 1 refdes=C? T 86200 51200 5 10 0 0 0 0 1 symversion=0.1 } C 86000 49300 1 0 0 capacitor-1.sym { T 86200 50000 5 10 0 0 0 0 1 device=CAPACITOR T 86200 49800 5 10 1 1 0 0 1 refdes=C? T 86200 50200 5 10 0 0 0 0 1 symversion=0.1 } C 87500 50300 1 0 0 capacitor-1.sym { T 87700 51000 5 10 0 0 0 0 1 device=CAPACITOR T 87700 50800 5 10 1 1 0 0 1 refdes=C? T 87700 51200 5 10 0 0 0 0 1 symversion=0.1 } C 87500 49300 1 0 0 capacitor-1.sym { T 87700 50000 5 10 0 0 0 0 1 device=CAPACITOR T 87700 49800 5 10 1 1 0 0 1 refdes=C? T 87700 50200 5 10 0 0 0 0 1 symversion=0.1 } N 86900 49500 87500 48500 4 N 86900 50500 87500 49500 4 N 89000 49500 88400 50500 4 N 88400 49500 89000 48500 4 C 77000 48300 1 0 0 capacitor-1.sym { T 77200 49000 5 10 0 0 0 0 1 device=CAPACITOR T 77200 48800 5 10 1 1 0 0 1 refdes=C? T 77200 49200 5 10 0 0 0 0 1 symversion=0.1 } C 77000 47300 1 0 0 capacitor-1.sym { T 77200 48000 5 10 0 0 0 0 1 device=CAPACITOR T 77200 47800 5 10 1 1 0 0 1 refdes=C? T 77200 48200 5 10 0 0 0 0 1 symversion=0.1 } C 78500 48300 1 0 0 capacitor-1.sym { T 78700 49000 5 10 0 0 0 0 1 device=CAPACITOR T 78700 48800 5 10 1 1 0 0 1 refdes=C? T 78700 49200 5 10 0 0 0 0 1 symversion=0.1 } C 78500 47300 1 0 0 capacitor-1.sym { T 78700 48000 5 10 0 0 0 0 1 device=CAPACITOR T 78700 47800 5 10 1 1 0 0 1 refdes=C? T 78700 48200 5 10 0 0 0 0 1 symversion=0.1 } N 77900 47500 78500 46500 4 N 77900 48500 78500 47500 4 N 80000 47500 79400 48500 4 N 79400 47500 80000 46500 4 C 80000 48300 1 0 0 capacitor-1.sym { T 80200 49000 5 10 0 0 0 0 1 device=CAPACITOR T 80200 48800 5 10 1 1 0 0 1 refdes=C? T 80200 49200 5 10 0 0 0 0 1 symversion=0.1 } C 80000 47300 1 0 0 capacitor-1.sym { T 80200 48000 5 10 0 0 0 0 1 device=CAPACITOR T 80200 47800 5 10 1 1 0 0 1 refdes=C? T 80200 48200 5 10 0 0 0 0 1 symversion=0.1 } C 81500 48300 1 0 0 capacitor-1.sym { T 81700 49000 5 10 0 0 0 0 1 device=CAPACITOR T 81700 48800 5 10 1 1 0 0 1 refdes=C? T 81700 49200 5 10 0 0 0 0 1 symversion=0.1 } C 81500 47300 1 0 0 capacitor-1.sym { T 81700 48000 5 10 0 0 0 0 1 device=CAPACITOR T 81700 47800 5 10 1 1 0 0 1 refdes=C? T 81700 48200 5 10 0 0 0 0 1 symversion=0.1 } N 80900 47500 81500 46500 4 N 80900 48500 81500 47500 4 N 83000 47500 82400 48500 4 N 82400 47500 83000 46500 4 C 77000 46300 1 0 0 capacitor-1.sym { T 77200 47000 5 10 0 0 0 0 1 device=CAPACITOR T 77200 46800 5 10 1 1 0 0 1 refdes=C? T 77200 47200 5 10 0 0 0 0 1 symversion=0.1 } C 77000 45300 1 0 0 capacitor-1.sym { T 77200 46000 5 10 0 0 0 0 1 device=CAPACITOR T 77200 45800 5 10 1 1 0 0 1 refdes=C? T 77200 46200 5 10 0 0 0 0 1 symversion=0.1 } C 78500 46300 1 0 0 capacitor-1.sym { T 78700 47000 5 10 0 0 0 0 1 device=CAPACITOR T 78700 46800 5 10 1 1 0 0 1 refdes=C? T 78700 47200 5 10 0 0 0 0 1 symversion=0.1 } C 78500 45300 1 0 0 capacitor-1.sym { T 78700 46000 5 10 0 0 0 0 1 device=CAPACITOR T 78700 45800 5 10 1 1 0 0 1 refdes=C? T 78700 46200 5 10 0 0 0 0 1 symversion=0.1 } N 77900 45500 78500 44500 4 N 77900 46500 78500 45500 4 N 80000 45500 79400 46500 4 N 79400 45500 80000 44500 4 C 80000 46300 1 0 0 capacitor-1.sym { T 80200 47000 5 10 0 0 0 0 1 device=CAPACITOR T 80200 46800 5 10 1 1 0 0 1 refdes=C? T 80200 47200 5 10 0 0 0 0 1 symversion=0.1 } C 80000 45300 1 0 0 capacitor-1.sym { T 80200 46000 5 10 0 0 0 0 1 device=CAPACITOR T 80200 45800 5 10 1 1 0 0 1 refdes=C? T 80200 46200 5 10 0 0 0 0 1 symversion=0.1 } C 81500 46300 1 0 0 capacitor-1.sym { T 81700 47000 5 10 0 0 0 0 1 device=CAPACITOR T 81700 46800 5 10 1 1 0 0 1 refdes=C? T 81700 47200 5 10 0 0 0 0 1 symversion=0.1 } C 81500 45300 1 0 0 capacitor-1.sym { T 81700 46000 5 10 0 0 0 0 1 device=CAPACITOR T 81700 45800 5 10 1 1 0 0 1 refdes=C? T 81700 46200 5 10 0 0 0 0 1 symversion=0.1 } N 80900 45500 81500 44500 4 N 80900 46500 81500 45500 4 N 83000 45500 82400 46500 4 N 82400 45500 83000 44500 4 C 83000 48300 1 0 0 capacitor-1.sym { T 83200 49000 5 10 0 0 0 0 1 device=CAPACITOR T 83200 48800 5 10 1 1 0 0 1 refdes=C? T 83200 49200 5 10 0 0 0 0 1 symversion=0.1 } C 83000 47300 1 0 0 capacitor-1.sym { T 83200 48000 5 10 0 0 0 0 1 device=CAPACITOR T 83200 47800 5 10 1 1 0 0 1 refdes=C? T 83200 48200 5 10 0 0 0 0 1 symversion=0.1 } C 84500 48300 1 0 0 capacitor-1.sym { T 84700 49000 5 10 0 0 0 0 1 device=CAPACITOR T 84700 48800 5 10 1 1 0 0 1 refdes=C? T 84700 49200 5 10 0 0 0 0 1 symversion=0.1 } C 84500 47300 1 0 0 capacitor-1.sym { T 84700 48000 5 10 0 0 0 0 1 device=CAPACITOR T 84700 47800 5 10 1 1 0 0 1 refdes=C? T 84700 48200 5 10 0 0 0 0 1 symversion=0.1 } N 83900 47500 84500 46500 4 N 83900 48500 84500 47500 4 N 86000 47500 85400 48500 4 N 85400 47500 86000 46500 4 C 86000 48300 1 0 0 capacitor-1.sym { T 86200 49000 5 10 0 0 0 0 1 device=CAPACITOR T 86200 48800 5 10 1 1 0 0 1 refdes=C? T 86200 49200 5 10 0 0 0 0 1 symversion=0.1 } C 86000 47300 1 0 0 capacitor-1.sym { T 86200 48000 5 10 0 0 0 0 1 device=CAPACITOR T 86200 47800 5 10 1 1 0 0 1 refdes=C? T 86200 48200 5 10 0 0 0 0 1 symversion=0.1 } C 87500 48300 1 0 0 capacitor-1.sym { T 87700 49000 5 10 0 0 0 0 1 device=CAPACITOR T 87700 48800 5 10 1 1 0 0 1 refdes=C? T 87700 49200 5 10 0 0 0 0 1 symversion=0.1 } C 87500 47300 1 0 0 capacitor-1.sym { T 87700 48000 5 10 0 0 0 0 1 device=CAPACITOR T 87700 47800 5 10 1 1 0 0 1 refdes=C? T 87700 48200 5 10 0 0 0 0 1 symversion=0.1 } N 86900 47500 87500 46500 4 N 86900 48500 87500 47500 4 N 89000 47500 88400 48500 4 N 88400 47500 89000 46500 4 C 83000 46300 1 0 0 capacitor-1.sym { T 83200 47000 5 10 0 0 0 0 1 device=CAPACITOR T 83200 46800 5 10 1 1 0 0 1 refdes=C? T 83200 47200 5 10 0 0 0 0 1 symversion=0.1 } C 83000 45300 1 0 0 capacitor-1.sym { T 83200 46000 5 10 0 0 0 0 1 device=CAPACITOR T 83200 45800 5 10 1 1 0 0 1 refdes=C? T 83200 46200 5 10 0 0 0 0 1 symversion=0.1 } C 84500 46300 1 0 0 capacitor-1.sym { T 84700 47000 5 10 0 0 0 0 1 device=CAPACITOR T 84700 46800 5 10 1 1 0 0 1 refdes=C? T 84700 47200 5 10 0 0 0 0 1 symversion=0.1 } C 84500 45300 1 0 0 capacitor-1.sym { T 84700 46000 5 10 0 0 0 0 1 device=CAPACITOR T 84700 45800 5 10 1 1 0 0 1 refdes=C? T 84700 46200 5 10 0 0 0 0 1 symversion=0.1 } N 83900 45500 84500 44500 4 N 83900 46500 84500 45500 4 N 86000 45500 85400 46500 4 N 85400 45500 86000 44500 4 C 86000 46300 1 0 0 capacitor-1.sym { T 86200 47000 5 10 0 0 0 0 1 device=CAPACITOR T 86200 46800 5 10 1 1 0 0 1 refdes=C? T 86200 47200 5 10 0 0 0 0 1 symversion=0.1 } C 86000 45300 1 0 0 capacitor-1.sym { T 86200 46000 5 10 0 0 0 0 1 device=CAPACITOR T 86200 45800 5 10 1 1 0 0 1 refdes=C? T 86200 46200 5 10 0 0 0 0 1 symversion=0.1 } C 87500 46300 1 0 0 capacitor-1.sym { T 87700 47000 5 10 0 0 0 0 1 device=CAPACITOR T 87700 46800 5 10 1 1 0 0 1 refdes=C? T 87700 47200 5 10 0 0 0 0 1 symversion=0.1 } C 87500 45300 1 0 0 capacitor-1.sym { T 87700 46000 5 10 0 0 0 0 1 device=CAPACITOR T 87700 45800 5 10 1 1 0 0 1 refdes=C? T 87700 46200 5 10 0 0 0 0 1 symversion=0.1 } N 86900 45500 87500 44500 4 N 86900 46500 87500 45500 4 N 89000 45500 88400 46500 4 N 88400 45500 89000 44500 4 C 41000 44300 1 0 0 capacitor-1.sym { T 41200 45000 5 10 0 0 0 0 1 device=CAPACITOR T 41200 44800 5 10 1 1 0 0 1 refdes=C? T 41200 45200 5 10 0 0 0 0 1 symversion=0.1 } C 41000 43300 1 0 0 capacitor-1.sym { T 41200 44000 5 10 0 0 0 0 1 device=CAPACITOR T 41200 43800 5 10 1 1 0 0 1 refdes=C? T 41200 44200 5 10 0 0 0 0 1 symversion=0.1 } C 42500 44300 1 0 0 capacitor-1.sym { T 42700 45000 5 10 0 0 0 0 1 device=CAPACITOR T 42700 44800 5 10 1 1 0 0 1 refdes=C? T 42700 45200 5 10 0 0 0 0 1 symversion=0.1 } C 42500 43300 1 0 0 capacitor-1.sym { T 42700 44000 5 10 0 0 0 0 1 device=CAPACITOR T 42700 43800 5 10 1 1 0 0 1 refdes=C? T 42700 44200 5 10 0 0 0 0 1 symversion=0.1 } N 41900 43500 42500 42500 4 N 41900 44500 42500 43500 4 N 44000 43500 43400 44500 4 N 43400 43500 44000 42500 4 C 44000 44300 1 0 0 capacitor-1.sym { T 44200 45000 5 10 0 0 0 0 1 device=CAPACITOR T 44200 44800 5 10 1 1 0 0 1 refdes=C? T 44200 45200 5 10 0 0 0 0 1 symversion=0.1 } C 44000 43300 1 0 0 capacitor-1.sym { T 44200 44000 5 10 0 0 0 0 1 device=CAPACITOR T 44200 43800 5 10 1 1 0 0 1 refdes=C? T 44200 44200 5 10 0 0 0 0 1 symversion=0.1 } C 45500 44300 1 0 0 capacitor-1.sym { T 45700 45000 5 10 0 0 0 0 1 device=CAPACITOR T 45700 44800 5 10 1 1 0 0 1 refdes=C? T 45700 45200 5 10 0 0 0 0 1 symversion=0.1 } C 45500 43300 1 0 0 capacitor-1.sym { T 45700 44000 5 10 0 0 0 0 1 device=CAPACITOR T 45700 43800 5 10 1 1 0 0 1 refdes=C? T 45700 44200 5 10 0 0 0 0 1 symversion=0.1 } N 44900 43500 45500 42500 4 N 44900 44500 45500 43500 4 N 47000 43500 46400 44500 4 N 46400 43500 47000 42500 4 C 41000 42300 1 0 0 capacitor-1.sym { T 41200 43000 5 10 0 0 0 0 1 device=CAPACITOR T 41200 42800 5 10 1 1 0 0 1 refdes=C? T 41200 43200 5 10 0 0 0 0 1 symversion=0.1 } C 41000 41300 1 0 0 capacitor-1.sym { T 41200 42000 5 10 0 0 0 0 1 device=CAPACITOR T 41200 41800 5 10 1 1 0 0 1 refdes=C? T 41200 42200 5 10 0 0 0 0 1 symversion=0.1 } C 42500 42300 1 0 0 capacitor-1.sym { T 42700 43000 5 10 0 0 0 0 1 device=CAPACITOR T 42700 42800 5 10 1 1 0 0 1 refdes=C? T 42700 43200 5 10 0 0 0 0 1 symversion=0.1 } C 42500 41300 1 0 0 capacitor-1.sym { T 42700 42000 5 10 0 0 0 0 1 device=CAPACITOR T 42700 41800 5 10 1 1 0 0 1 refdes=C? T 42700 42200 5 10 0 0 0 0 1 symversion=0.1 } N 41900 41500 42500 40500 4 N 41900 42500 42500 41500 4 N 44000 41500 43400 42500 4 N 43400 41500 44000 40500 4 C 44000 42300 1 0 0 capacitor-1.sym { T 44200 43000 5 10 0 0 0 0 1 device=CAPACITOR T 44200 42800 5 10 1 1 0 0 1 refdes=C? T 44200 43200 5 10 0 0 0 0 1 symversion=0.1 } C 44000 41300 1 0 0 capacitor-1.sym { T 44200 42000 5 10 0 0 0 0 1 device=CAPACITOR T 44200 41800 5 10 1 1 0 0 1 refdes=C? T 44200 42200 5 10 0 0 0 0 1 symversion=0.1 } C 45500 42300 1 0 0 capacitor-1.sym { T 45700 43000 5 10 0 0 0 0 1 device=CAPACITOR T 45700 42800 5 10 1 1 0 0 1 refdes=C? T 45700 43200 5 10 0 0 0 0 1 symversion=0.1 } C 45500 41300 1 0 0 capacitor-1.sym { T 45700 42000 5 10 0 0 0 0 1 device=CAPACITOR T 45700 41800 5 10 1 1 0 0 1 refdes=C? T 45700 42200 5 10 0 0 0 0 1 symversion=0.1 } N 44900 41500 45500 40500 4 N 44900 42500 45500 41500 4 N 47000 41500 46400 42500 4 N 46400 41500 47000 40500 4 C 47000 44300 1 0 0 capacitor-1.sym { T 47200 45000 5 10 0 0 0 0 1 device=CAPACITOR T 47200 44800 5 10 1 1 0 0 1 refdes=C? T 47200 45200 5 10 0 0 0 0 1 symversion=0.1 } C 47000 43300 1 0 0 capacitor-1.sym { T 47200 44000 5 10 0 0 0 0 1 device=CAPACITOR T 47200 43800 5 10 1 1 0 0 1 refdes=C? T 47200 44200 5 10 0 0 0 0 1 symversion=0.1 } C 48500 44300 1 0 0 capacitor-1.sym { T 48700 45000 5 10 0 0 0 0 1 device=CAPACITOR T 48700 44800 5 10 1 1 0 0 1 refdes=C? T 48700 45200 5 10 0 0 0 0 1 symversion=0.1 } C 48500 43300 1 0 0 capacitor-1.sym { T 48700 44000 5 10 0 0 0 0 1 device=CAPACITOR T 48700 43800 5 10 1 1 0 0 1 refdes=C? T 48700 44200 5 10 0 0 0 0 1 symversion=0.1 } N 47900 43500 48500 42500 4 N 47900 44500 48500 43500 4 N 50000 43500 49400 44500 4 N 49400 43500 50000 42500 4 C 50000 44300 1 0 0 capacitor-1.sym { T 50200 45000 5 10 0 0 0 0 1 device=CAPACITOR T 50200 44800 5 10 1 1 0 0 1 refdes=C? T 50200 45200 5 10 0 0 0 0 1 symversion=0.1 } C 50000 43300 1 0 0 capacitor-1.sym { T 50200 44000 5 10 0 0 0 0 1 device=CAPACITOR T 50200 43800 5 10 1 1 0 0 1 refdes=C? T 50200 44200 5 10 0 0 0 0 1 symversion=0.1 } C 51500 44300 1 0 0 capacitor-1.sym { T 51700 45000 5 10 0 0 0 0 1 device=CAPACITOR T 51700 44800 5 10 1 1 0 0 1 refdes=C? T 51700 45200 5 10 0 0 0 0 1 symversion=0.1 } C 51500 43300 1 0 0 capacitor-1.sym { T 51700 44000 5 10 0 0 0 0 1 device=CAPACITOR T 51700 43800 5 10 1 1 0 0 1 refdes=C? T 51700 44200 5 10 0 0 0 0 1 symversion=0.1 } N 50900 43500 51500 42500 4 N 50900 44500 51500 43500 4 N 53000 43500 52400 44500 4 N 52400 43500 53000 42500 4 C 47000 42300 1 0 0 capacitor-1.sym { T 47200 43000 5 10 0 0 0 0 1 device=CAPACITOR T 47200 42800 5 10 1 1 0 0 1 refdes=C? T 47200 43200 5 10 0 0 0 0 1 symversion=0.1 } C 47000 41300 1 0 0 capacitor-1.sym { T 47200 42000 5 10 0 0 0 0 1 device=CAPACITOR T 47200 41800 5 10 1 1 0 0 1 refdes=C? T 47200 42200 5 10 0 0 0 0 1 symversion=0.1 } C 48500 42300 1 0 0 capacitor-1.sym { T 48700 43000 5 10 0 0 0 0 1 device=CAPACITOR T 48700 42800 5 10 1 1 0 0 1 refdes=C? T 48700 43200 5 10 0 0 0 0 1 symversion=0.1 } C 48500 41300 1 0 0 capacitor-1.sym { T 48700 42000 5 10 0 0 0 0 1 device=CAPACITOR T 48700 41800 5 10 1 1 0 0 1 refdes=C? T 48700 42200 5 10 0 0 0 0 1 symversion=0.1 } N 47900 41500 48500 40500 4 N 47900 42500 48500 41500 4 N 50000 41500 49400 42500 4 N 49400 41500 50000 40500 4 C 50000 42300 1 0 0 capacitor-1.sym { T 50200 43000 5 10 0 0 0 0 1 device=CAPACITOR T 50200 42800 5 10 1 1 0 0 1 refdes=C? T 50200 43200 5 10 0 0 0 0 1 symversion=0.1 } C 50000 41300 1 0 0 capacitor-1.sym { T 50200 42000 5 10 0 0 0 0 1 device=CAPACITOR T 50200 41800 5 10 1 1 0 0 1 refdes=C? T 50200 42200 5 10 0 0 0 0 1 symversion=0.1 } C 51500 42300 1 0 0 capacitor-1.sym { T 51700 43000 5 10 0 0 0 0 1 device=CAPACITOR T 51700 42800 5 10 1 1 0 0 1 refdes=C? T 51700 43200 5 10 0 0 0 0 1 symversion=0.1 } C 51500 41300 1 0 0 capacitor-1.sym { T 51700 42000 5 10 0 0 0 0 1 device=CAPACITOR T 51700 41800 5 10 1 1 0 0 1 refdes=C? T 51700 42200 5 10 0 0 0 0 1 symversion=0.1 } N 50900 41500 51500 40500 4 N 50900 42500 51500 41500 4 N 53000 41500 52400 42500 4 N 52400 41500 53000 40500 4 C 41000 40300 1 0 0 capacitor-1.sym { T 41200 41000 5 10 0 0 0 0 1 device=CAPACITOR T 41200 40800 5 10 1 1 0 0 1 refdes=C? T 41200 41200 5 10 0 0 0 0 1 symversion=0.1 } C 41000 39300 1 0 0 capacitor-1.sym { T 41200 40000 5 10 0 0 0 0 1 device=CAPACITOR T 41200 39800 5 10 1 1 0 0 1 refdes=C? T 41200 40200 5 10 0 0 0 0 1 symversion=0.1 } C 42500 40300 1 0 0 capacitor-1.sym { T 42700 41000 5 10 0 0 0 0 1 device=CAPACITOR T 42700 40800 5 10 1 1 0 0 1 refdes=C? T 42700 41200 5 10 0 0 0 0 1 symversion=0.1 } C 42500 39300 1 0 0 capacitor-1.sym { T 42700 40000 5 10 0 0 0 0 1 device=CAPACITOR T 42700 39800 5 10 1 1 0 0 1 refdes=C? T 42700 40200 5 10 0 0 0 0 1 symversion=0.1 } N 41900 39500 42500 38500 4 N 41900 40500 42500 39500 4 N 44000 39500 43400 40500 4 N 43400 39500 44000 38500 4 C 44000 40300 1 0 0 capacitor-1.sym { T 44200 41000 5 10 0 0 0 0 1 device=CAPACITOR T 44200 40800 5 10 1 1 0 0 1 refdes=C? T 44200 41200 5 10 0 0 0 0 1 symversion=0.1 } C 44000 39300 1 0 0 capacitor-1.sym { T 44200 40000 5 10 0 0 0 0 1 device=CAPACITOR T 44200 39800 5 10 1 1 0 0 1 refdes=C? T 44200 40200 5 10 0 0 0 0 1 symversion=0.1 } C 45500 40300 1 0 0 capacitor-1.sym { T 45700 41000 5 10 0 0 0 0 1 device=CAPACITOR T 45700 40800 5 10 1 1 0 0 1 refdes=C? T 45700 41200 5 10 0 0 0 0 1 symversion=0.1 } C 45500 39300 1 0 0 capacitor-1.sym { T 45700 40000 5 10 0 0 0 0 1 device=CAPACITOR T 45700 39800 5 10 1 1 0 0 1 refdes=C? T 45700 40200 5 10 0 0 0 0 1 symversion=0.1 } N 44900 39500 45500 38500 4 N 44900 40500 45500 39500 4 N 47000 39500 46400 40500 4 N 46400 39500 47000 38500 4 C 41000 38300 1 0 0 capacitor-1.sym { T 41200 39000 5 10 0 0 0 0 1 device=CAPACITOR T 41200 38800 5 10 1 1 0 0 1 refdes=C? T 41200 39200 5 10 0 0 0 0 1 symversion=0.1 } C 41000 37300 1 0 0 capacitor-1.sym { T 41200 38000 5 10 0 0 0 0 1 device=CAPACITOR T 41200 37800 5 10 1 1 0 0 1 refdes=C? T 41200 38200 5 10 0 0 0 0 1 symversion=0.1 } C 42500 38300 1 0 0 capacitor-1.sym { T 42700 39000 5 10 0 0 0 0 1 device=CAPACITOR T 42700 38800 5 10 1 1 0 0 1 refdes=C? T 42700 39200 5 10 0 0 0 0 1 symversion=0.1 } C 42500 37300 1 0 0 capacitor-1.sym { T 42700 38000 5 10 0 0 0 0 1 device=CAPACITOR T 42700 37800 5 10 1 1 0 0 1 refdes=C? T 42700 38200 5 10 0 0 0 0 1 symversion=0.1 } N 41900 37500 42500 36500 4 N 41900 38500 42500 37500 4 N 44000 37500 43400 38500 4 N 43400 37500 44000 36500 4 C 44000 38300 1 0 0 capacitor-1.sym { T 44200 39000 5 10 0 0 0 0 1 device=CAPACITOR T 44200 38800 5 10 1 1 0 0 1 refdes=C? T 44200 39200 5 10 0 0 0 0 1 symversion=0.1 } C 44000 37300 1 0 0 capacitor-1.sym { T 44200 38000 5 10 0 0 0 0 1 device=CAPACITOR T 44200 37800 5 10 1 1 0 0 1 refdes=C? T 44200 38200 5 10 0 0 0 0 1 symversion=0.1 } C 45500 38300 1 0 0 capacitor-1.sym { T 45700 39000 5 10 0 0 0 0 1 device=CAPACITOR T 45700 38800 5 10 1 1 0 0 1 refdes=C? T 45700 39200 5 10 0 0 0 0 1 symversion=0.1 } C 45500 37300 1 0 0 capacitor-1.sym { T 45700 38000 5 10 0 0 0 0 1 device=CAPACITOR T 45700 37800 5 10 1 1 0 0 1 refdes=C? T 45700 38200 5 10 0 0 0 0 1 symversion=0.1 } N 44900 37500 45500 36500 4 N 44900 38500 45500 37500 4 N 47000 37500 46400 38500 4 N 46400 37500 47000 36500 4 C 47000 40300 1 0 0 capacitor-1.sym { T 47200 41000 5 10 0 0 0 0 1 device=CAPACITOR T 47200 40800 5 10 1 1 0 0 1 refdes=C? T 47200 41200 5 10 0 0 0 0 1 symversion=0.1 } C 47000 39300 1 0 0 capacitor-1.sym { T 47200 40000 5 10 0 0 0 0 1 device=CAPACITOR T 47200 39800 5 10 1 1 0 0 1 refdes=C? T 47200 40200 5 10 0 0 0 0 1 symversion=0.1 } C 48500 40300 1 0 0 capacitor-1.sym { T 48700 41000 5 10 0 0 0 0 1 device=CAPACITOR T 48700 40800 5 10 1 1 0 0 1 refdes=C? T 48700 41200 5 10 0 0 0 0 1 symversion=0.1 } C 48500 39300 1 0 0 capacitor-1.sym { T 48700 40000 5 10 0 0 0 0 1 device=CAPACITOR T 48700 39800 5 10 1 1 0 0 1 refdes=C? T 48700 40200 5 10 0 0 0 0 1 symversion=0.1 } N 47900 39500 48500 38500 4 N 47900 40500 48500 39500 4 N 50000 39500 49400 40500 4 N 49400 39500 50000 38500 4 C 50000 40300 1 0 0 capacitor-1.sym { T 50200 41000 5 10 0 0 0 0 1 device=CAPACITOR T 50200 40800 5 10 1 1 0 0 1 refdes=C? T 50200 41200 5 10 0 0 0 0 1 symversion=0.1 } C 50000 39300 1 0 0 capacitor-1.sym { T 50200 40000 5 10 0 0 0 0 1 device=CAPACITOR T 50200 39800 5 10 1 1 0 0 1 refdes=C? T 50200 40200 5 10 0 0 0 0 1 symversion=0.1 } C 51500 40300 1 0 0 capacitor-1.sym { T 51700 41000 5 10 0 0 0 0 1 device=CAPACITOR T 51700 40800 5 10 1 1 0 0 1 refdes=C? T 51700 41200 5 10 0 0 0 0 1 symversion=0.1 } C 51500 39300 1 0 0 capacitor-1.sym { T 51700 40000 5 10 0 0 0 0 1 device=CAPACITOR T 51700 39800 5 10 1 1 0 0 1 refdes=C? T 51700 40200 5 10 0 0 0 0 1 symversion=0.1 } N 50900 39500 51500 38500 4 N 50900 40500 51500 39500 4 N 53000 39500 52400 40500 4 N 52400 39500 53000 38500 4 C 47000 38300 1 0 0 capacitor-1.sym { T 47200 39000 5 10 0 0 0 0 1 device=CAPACITOR T 47200 38800 5 10 1 1 0 0 1 refdes=C? T 47200 39200 5 10 0 0 0 0 1 symversion=0.1 } C 47000 37300 1 0 0 capacitor-1.sym { T 47200 38000 5 10 0 0 0 0 1 device=CAPACITOR T 47200 37800 5 10 1 1 0 0 1 refdes=C? T 47200 38200 5 10 0 0 0 0 1 symversion=0.1 } C 48500 38300 1 0 0 capacitor-1.sym { T 48700 39000 5 10 0 0 0 0 1 device=CAPACITOR T 48700 38800 5 10 1 1 0 0 1 refdes=C? T 48700 39200 5 10 0 0 0 0 1 symversion=0.1 } C 48500 37300 1 0 0 capacitor-1.sym { T 48700 38000 5 10 0 0 0 0 1 device=CAPACITOR T 48700 37800 5 10 1 1 0 0 1 refdes=C? T 48700 38200 5 10 0 0 0 0 1 symversion=0.1 } N 47900 37500 48500 36500 4 N 47900 38500 48500 37500 4 N 50000 37500 49400 38500 4 N 49400 37500 50000 36500 4 C 50000 38300 1 0 0 capacitor-1.sym { T 50200 39000 5 10 0 0 0 0 1 device=CAPACITOR T 50200 38800 5 10 1 1 0 0 1 refdes=C? T 50200 39200 5 10 0 0 0 0 1 symversion=0.1 } C 50000 37300 1 0 0 capacitor-1.sym { T 50200 38000 5 10 0 0 0 0 1 device=CAPACITOR T 50200 37800 5 10 1 1 0 0 1 refdes=C? T 50200 38200 5 10 0 0 0 0 1 symversion=0.1 } C 51500 38300 1 0 0 capacitor-1.sym { T 51700 39000 5 10 0 0 0 0 1 device=CAPACITOR T 51700 38800 5 10 1 1 0 0 1 refdes=C? T 51700 39200 5 10 0 0 0 0 1 symversion=0.1 } C 51500 37300 1 0 0 capacitor-1.sym { T 51700 38000 5 10 0 0 0 0 1 device=CAPACITOR T 51700 37800 5 10 1 1 0 0 1 refdes=C? T 51700 38200 5 10 0 0 0 0 1 symversion=0.1 } N 50900 37500 51500 36500 4 N 50900 38500 51500 37500 4 N 53000 37500 52400 38500 4 N 52400 37500 53000 36500 4 C 53000 44300 1 0 0 capacitor-1.sym { T 53200 45000 5 10 0 0 0 0 1 device=CAPACITOR T 53200 44800 5 10 1 1 0 0 1 refdes=C? T 53200 45200 5 10 0 0 0 0 1 symversion=0.1 } C 53000 43300 1 0 0 capacitor-1.sym { T 53200 44000 5 10 0 0 0 0 1 device=CAPACITOR T 53200 43800 5 10 1 1 0 0 1 refdes=C? T 53200 44200 5 10 0 0 0 0 1 symversion=0.1 } C 54500 44300 1 0 0 capacitor-1.sym { T 54700 45000 5 10 0 0 0 0 1 device=CAPACITOR T 54700 44800 5 10 1 1 0 0 1 refdes=C? T 54700 45200 5 10 0 0 0 0 1 symversion=0.1 } C 54500 43300 1 0 0 capacitor-1.sym { T 54700 44000 5 10 0 0 0 0 1 device=CAPACITOR T 54700 43800 5 10 1 1 0 0 1 refdes=C? T 54700 44200 5 10 0 0 0 0 1 symversion=0.1 } N 53900 43500 54500 42500 4 N 53900 44500 54500 43500 4 N 56000 43500 55400 44500 4 N 55400 43500 56000 42500 4 C 56000 44300 1 0 0 capacitor-1.sym { T 56200 45000 5 10 0 0 0 0 1 device=CAPACITOR T 56200 44800 5 10 1 1 0 0 1 refdes=C? T 56200 45200 5 10 0 0 0 0 1 symversion=0.1 } C 56000 43300 1 0 0 capacitor-1.sym { T 56200 44000 5 10 0 0 0 0 1 device=CAPACITOR T 56200 43800 5 10 1 1 0 0 1 refdes=C? T 56200 44200 5 10 0 0 0 0 1 symversion=0.1 } C 57500 44300 1 0 0 capacitor-1.sym { T 57700 45000 5 10 0 0 0 0 1 device=CAPACITOR T 57700 44800 5 10 1 1 0 0 1 refdes=C? T 57700 45200 5 10 0 0 0 0 1 symversion=0.1 } C 57500 43300 1 0 0 capacitor-1.sym { T 57700 44000 5 10 0 0 0 0 1 device=CAPACITOR T 57700 43800 5 10 1 1 0 0 1 refdes=C? T 57700 44200 5 10 0 0 0 0 1 symversion=0.1 } N 56900 43500 57500 42500 4 N 56900 44500 57500 43500 4 N 59000 43500 58400 44500 4 N 58400 43500 59000 42500 4 C 53000 42300 1 0 0 capacitor-1.sym { T 53200 43000 5 10 0 0 0 0 1 device=CAPACITOR T 53200 42800 5 10 1 1 0 0 1 refdes=C? T 53200 43200 5 10 0 0 0 0 1 symversion=0.1 } C 53000 41300 1 0 0 capacitor-1.sym { T 53200 42000 5 10 0 0 0 0 1 device=CAPACITOR T 53200 41800 5 10 1 1 0 0 1 refdes=C? T 53200 42200 5 10 0 0 0 0 1 symversion=0.1 } C 54500 42300 1 0 0 capacitor-1.sym { T 54700 43000 5 10 0 0 0 0 1 device=CAPACITOR T 54700 42800 5 10 1 1 0 0 1 refdes=C? T 54700 43200 5 10 0 0 0 0 1 symversion=0.1 } C 54500 41300 1 0 0 capacitor-1.sym { T 54700 42000 5 10 0 0 0 0 1 device=CAPACITOR T 54700 41800 5 10 1 1 0 0 1 refdes=C? T 54700 42200 5 10 0 0 0 0 1 symversion=0.1 } N 53900 41500 54500 40500 4 N 53900 42500 54500 41500 4 N 56000 41500 55400 42500 4 N 55400 41500 56000 40500 4 C 56000 42300 1 0 0 capacitor-1.sym { T 56200 43000 5 10 0 0 0 0 1 device=CAPACITOR T 56200 42800 5 10 1 1 0 0 1 refdes=C? T 56200 43200 5 10 0 0 0 0 1 symversion=0.1 } C 56000 41300 1 0 0 capacitor-1.sym { T 56200 42000 5 10 0 0 0 0 1 device=CAPACITOR T 56200 41800 5 10 1 1 0 0 1 refdes=C? T 56200 42200 5 10 0 0 0 0 1 symversion=0.1 } C 57500 42300 1 0 0 capacitor-1.sym { T 57700 43000 5 10 0 0 0 0 1 device=CAPACITOR T 57700 42800 5 10 1 1 0 0 1 refdes=C? T 57700 43200 5 10 0 0 0 0 1 symversion=0.1 } C 57500 41300 1 0 0 capacitor-1.sym { T 57700 42000 5 10 0 0 0 0 1 device=CAPACITOR T 57700 41800 5 10 1 1 0 0 1 refdes=C? T 57700 42200 5 10 0 0 0 0 1 symversion=0.1 } N 56900 41500 57500 40500 4 N 56900 42500 57500 41500 4 N 59000 41500 58400 42500 4 N 58400 41500 59000 40500 4 C 59000 44300 1 0 0 capacitor-1.sym { T 59200 45000 5 10 0 0 0 0 1 device=CAPACITOR T 59200 44800 5 10 1 1 0 0 1 refdes=C? T 59200 45200 5 10 0 0 0 0 1 symversion=0.1 } C 59000 43300 1 0 0 capacitor-1.sym { T 59200 44000 5 10 0 0 0 0 1 device=CAPACITOR T 59200 43800 5 10 1 1 0 0 1 refdes=C? T 59200 44200 5 10 0 0 0 0 1 symversion=0.1 } C 60500 44300 1 0 0 capacitor-1.sym { T 60700 45000 5 10 0 0 0 0 1 device=CAPACITOR T 60700 44800 5 10 1 1 0 0 1 refdes=C? T 60700 45200 5 10 0 0 0 0 1 symversion=0.1 } C 60500 43300 1 0 0 capacitor-1.sym { T 60700 44000 5 10 0 0 0 0 1 device=CAPACITOR T 60700 43800 5 10 1 1 0 0 1 refdes=C? T 60700 44200 5 10 0 0 0 0 1 symversion=0.1 } N 59900 43500 60500 42500 4 N 59900 44500 60500 43500 4 N 62000 43500 61400 44500 4 N 61400 43500 62000 42500 4 C 62000 44300 1 0 0 capacitor-1.sym { T 62200 45000 5 10 0 0 0 0 1 device=CAPACITOR T 62200 44800 5 10 1 1 0 0 1 refdes=C? T 62200 45200 5 10 0 0 0 0 1 symversion=0.1 } C 62000 43300 1 0 0 capacitor-1.sym { T 62200 44000 5 10 0 0 0 0 1 device=CAPACITOR T 62200 43800 5 10 1 1 0 0 1 refdes=C? T 62200 44200 5 10 0 0 0 0 1 symversion=0.1 } C 63500 44300 1 0 0 capacitor-1.sym { T 63700 45000 5 10 0 0 0 0 1 device=CAPACITOR T 63700 44800 5 10 1 1 0 0 1 refdes=C? T 63700 45200 5 10 0 0 0 0 1 symversion=0.1 } C 63500 43300 1 0 0 capacitor-1.sym { T 63700 44000 5 10 0 0 0 0 1 device=CAPACITOR T 63700 43800 5 10 1 1 0 0 1 refdes=C? T 63700 44200 5 10 0 0 0 0 1 symversion=0.1 } N 62900 43500 63500 42500 4 N 62900 44500 63500 43500 4 N 65000 43500 64400 44500 4 N 64400 43500 65000 42500 4 C 59000 42300 1 0 0 capacitor-1.sym { T 59200 43000 5 10 0 0 0 0 1 device=CAPACITOR T 59200 42800 5 10 1 1 0 0 1 refdes=C? T 59200 43200 5 10 0 0 0 0 1 symversion=0.1 } C 59000 41300 1 0 0 capacitor-1.sym { T 59200 42000 5 10 0 0 0 0 1 device=CAPACITOR T 59200 41800 5 10 1 1 0 0 1 refdes=C? T 59200 42200 5 10 0 0 0 0 1 symversion=0.1 } C 60500 42300 1 0 0 capacitor-1.sym { T 60700 43000 5 10 0 0 0 0 1 device=CAPACITOR T 60700 42800 5 10 1 1 0 0 1 refdes=C? T 60700 43200 5 10 0 0 0 0 1 symversion=0.1 } C 60500 41300 1 0 0 capacitor-1.sym { T 60700 42000 5 10 0 0 0 0 1 device=CAPACITOR T 60700 41800 5 10 1 1 0 0 1 refdes=C? T 60700 42200 5 10 0 0 0 0 1 symversion=0.1 } N 59900 41500 60500 40500 4 N 59900 42500 60500 41500 4 N 62000 41500 61400 42500 4 N 61400 41500 62000 40500 4 C 62000 42300 1 0 0 capacitor-1.sym { T 62200 43000 5 10 0 0 0 0 1 device=CAPACITOR T 62200 42800 5 10 1 1 0 0 1 refdes=C? T 62200 43200 5 10 0 0 0 0 1 symversion=0.1 } C 62000 41300 1 0 0 capacitor-1.sym { T 62200 42000 5 10 0 0 0 0 1 device=CAPACITOR T 62200 41800 5 10 1 1 0 0 1 refdes=C? T 62200 42200 5 10 0 0 0 0 1 symversion=0.1 } C 63500 42300 1 0 0 capacitor-1.sym { T 63700 43000 5 10 0 0 0 0 1 device=CAPACITOR T 63700 42800 5 10 1 1 0 0 1 refdes=C? T 63700 43200 5 10 0 0 0 0 1 symversion=0.1 } C 63500 41300 1 0 0 capacitor-1.sym { T 63700 42000 5 10 0 0 0 0 1 device=CAPACITOR T 63700 41800 5 10 1 1 0 0 1 refdes=C? T 63700 42200 5 10 0 0 0 0 1 symversion=0.1 } N 62900 41500 63500 40500 4 N 62900 42500 63500 41500 4 N 65000 41500 64400 42500 4 N 64400 41500 65000 40500 4 C 53000 40300 1 0 0 capacitor-1.sym { T 53200 41000 5 10 0 0 0 0 1 device=CAPACITOR T 53200 40800 5 10 1 1 0 0 1 refdes=C? T 53200 41200 5 10 0 0 0 0 1 symversion=0.1 } C 53000 39300 1 0 0 capacitor-1.sym { T 53200 40000 5 10 0 0 0 0 1 device=CAPACITOR T 53200 39800 5 10 1 1 0 0 1 refdes=C? T 53200 40200 5 10 0 0 0 0 1 symversion=0.1 } C 54500 40300 1 0 0 capacitor-1.sym { T 54700 41000 5 10 0 0 0 0 1 device=CAPACITOR T 54700 40800 5 10 1 1 0 0 1 refdes=C? T 54700 41200 5 10 0 0 0 0 1 symversion=0.1 } C 54500 39300 1 0 0 capacitor-1.sym { T 54700 40000 5 10 0 0 0 0 1 device=CAPACITOR T 54700 39800 5 10 1 1 0 0 1 refdes=C? T 54700 40200 5 10 0 0 0 0 1 symversion=0.1 } N 53900 39500 54500 38500 4 N 53900 40500 54500 39500 4 N 56000 39500 55400 40500 4 N 55400 39500 56000 38500 4 C 56000 40300 1 0 0 capacitor-1.sym { T 56200 41000 5 10 0 0 0 0 1 device=CAPACITOR T 56200 40800 5 10 1 1 0 0 1 refdes=C? T 56200 41200 5 10 0 0 0 0 1 symversion=0.1 } C 56000 39300 1 0 0 capacitor-1.sym { T 56200 40000 5 10 0 0 0 0 1 device=CAPACITOR T 56200 39800 5 10 1 1 0 0 1 refdes=C? T 56200 40200 5 10 0 0 0 0 1 symversion=0.1 } C 57500 40300 1 0 0 capacitor-1.sym { T 57700 41000 5 10 0 0 0 0 1 device=CAPACITOR T 57700 40800 5 10 1 1 0 0 1 refdes=C? T 57700 41200 5 10 0 0 0 0 1 symversion=0.1 } C 57500 39300 1 0 0 capacitor-1.sym { T 57700 40000 5 10 0 0 0 0 1 device=CAPACITOR T 57700 39800 5 10 1 1 0 0 1 refdes=C? T 57700 40200 5 10 0 0 0 0 1 symversion=0.1 } N 56900 39500 57500 38500 4 N 56900 40500 57500 39500 4 N 59000 39500 58400 40500 4 N 58400 39500 59000 38500 4 C 53000 38300 1 0 0 capacitor-1.sym { T 53200 39000 5 10 0 0 0 0 1 device=CAPACITOR T 53200 38800 5 10 1 1 0 0 1 refdes=C? T 53200 39200 5 10 0 0 0 0 1 symversion=0.1 } C 53000 37300 1 0 0 capacitor-1.sym { T 53200 38000 5 10 0 0 0 0 1 device=CAPACITOR T 53200 37800 5 10 1 1 0 0 1 refdes=C? T 53200 38200 5 10 0 0 0 0 1 symversion=0.1 } C 54500 38300 1 0 0 capacitor-1.sym { T 54700 39000 5 10 0 0 0 0 1 device=CAPACITOR T 54700 38800 5 10 1 1 0 0 1 refdes=C? T 54700 39200 5 10 0 0 0 0 1 symversion=0.1 } C 54500 37300 1 0 0 capacitor-1.sym { T 54700 38000 5 10 0 0 0 0 1 device=CAPACITOR T 54700 37800 5 10 1 1 0 0 1 refdes=C? T 54700 38200 5 10 0 0 0 0 1 symversion=0.1 } N 53900 37500 54500 36500 4 N 53900 38500 54500 37500 4 N 56000 37500 55400 38500 4 N 55400 37500 56000 36500 4 C 56000 38300 1 0 0 capacitor-1.sym { T 56200 39000 5 10 0 0 0 0 1 device=CAPACITOR T 56200 38800 5 10 1 1 0 0 1 refdes=C? T 56200 39200 5 10 0 0 0 0 1 symversion=0.1 } C 56000 37300 1 0 0 capacitor-1.sym { T 56200 38000 5 10 0 0 0 0 1 device=CAPACITOR T 56200 37800 5 10 1 1 0 0 1 refdes=C? T 56200 38200 5 10 0 0 0 0 1 symversion=0.1 } C 57500 38300 1 0 0 capacitor-1.sym { T 57700 39000 5 10 0 0 0 0 1 device=CAPACITOR T 57700 38800 5 10 1 1 0 0 1 refdes=C? T 57700 39200 5 10 0 0 0 0 1 symversion=0.1 } C 57500 37300 1 0 0 capacitor-1.sym { T 57700 38000 5 10 0 0 0 0 1 device=CAPACITOR T 57700 37800 5 10 1 1 0 0 1 refdes=C? T 57700 38200 5 10 0 0 0 0 1 symversion=0.1 } N 56900 37500 57500 36500 4 N 56900 38500 57500 37500 4 N 59000 37500 58400 38500 4 N 58400 37500 59000 36500 4 C 59000 40300 1 0 0 capacitor-1.sym { T 59200 41000 5 10 0 0 0 0 1 device=CAPACITOR T 59200 40800 5 10 1 1 0 0 1 refdes=C? T 59200 41200 5 10 0 0 0 0 1 symversion=0.1 } C 59000 39300 1 0 0 capacitor-1.sym { T 59200 40000 5 10 0 0 0 0 1 device=CAPACITOR T 59200 39800 5 10 1 1 0 0 1 refdes=C? T 59200 40200 5 10 0 0 0 0 1 symversion=0.1 } C 60500 40300 1 0 0 capacitor-1.sym { T 60700 41000 5 10 0 0 0 0 1 device=CAPACITOR T 60700 40800 5 10 1 1 0 0 1 refdes=C? T 60700 41200 5 10 0 0 0 0 1 symversion=0.1 } C 60500 39300 1 0 0 capacitor-1.sym { T 60700 40000 5 10 0 0 0 0 1 device=CAPACITOR T 60700 39800 5 10 1 1 0 0 1 refdes=C? T 60700 40200 5 10 0 0 0 0 1 symversion=0.1 } N 59900 39500 60500 38500 4 N 59900 40500 60500 39500 4 N 62000 39500 61400 40500 4 N 61400 39500 62000 38500 4 C 62000 40300 1 0 0 capacitor-1.sym { T 62200 41000 5 10 0 0 0 0 1 device=CAPACITOR T 62200 40800 5 10 1 1 0 0 1 refdes=C? T 62200 41200 5 10 0 0 0 0 1 symversion=0.1 } C 62000 39300 1 0 0 capacitor-1.sym { T 62200 40000 5 10 0 0 0 0 1 device=CAPACITOR T 62200 39800 5 10 1 1 0 0 1 refdes=C? T 62200 40200 5 10 0 0 0 0 1 symversion=0.1 } C 63500 40300 1 0 0 capacitor-1.sym { T 63700 41000 5 10 0 0 0 0 1 device=CAPACITOR T 63700 40800 5 10 1 1 0 0 1 refdes=C? T 63700 41200 5 10 0 0 0 0 1 symversion=0.1 } C 63500 39300 1 0 0 capacitor-1.sym { T 63700 40000 5 10 0 0 0 0 1 device=CAPACITOR T 63700 39800 5 10 1 1 0 0 1 refdes=C? T 63700 40200 5 10 0 0 0 0 1 symversion=0.1 } N 62900 39500 63500 38500 4 N 62900 40500 63500 39500 4 N 65000 39500 64400 40500 4 N 64400 39500 65000 38500 4 C 59000 38300 1 0 0 capacitor-1.sym { T 59200 39000 5 10 0 0 0 0 1 device=CAPACITOR T 59200 38800 5 10 1 1 0 0 1 refdes=C? T 59200 39200 5 10 0 0 0 0 1 symversion=0.1 } C 59000 37300 1 0 0 capacitor-1.sym { T 59200 38000 5 10 0 0 0 0 1 device=CAPACITOR T 59200 37800 5 10 1 1 0 0 1 refdes=C? T 59200 38200 5 10 0 0 0 0 1 symversion=0.1 } C 60500 38300 1 0 0 capacitor-1.sym { T 60700 39000 5 10 0 0 0 0 1 device=CAPACITOR T 60700 38800 5 10 1 1 0 0 1 refdes=C? T 60700 39200 5 10 0 0 0 0 1 symversion=0.1 } C 60500 37300 1 0 0 capacitor-1.sym { T 60700 38000 5 10 0 0 0 0 1 device=CAPACITOR T 60700 37800 5 10 1 1 0 0 1 refdes=C? T 60700 38200 5 10 0 0 0 0 1 symversion=0.1 } N 59900 37500 60500 36500 4 N 59900 38500 60500 37500 4 N 62000 37500 61400 38500 4 N 61400 37500 62000 36500 4 C 62000 38300 1 0 0 capacitor-1.sym { T 62200 39000 5 10 0 0 0 0 1 device=CAPACITOR T 62200 38800 5 10 1 1 0 0 1 refdes=C? T 62200 39200 5 10 0 0 0 0 1 symversion=0.1 } C 62000 37300 1 0 0 capacitor-1.sym { T 62200 38000 5 10 0 0 0 0 1 device=CAPACITOR T 62200 37800 5 10 1 1 0 0 1 refdes=C? T 62200 38200 5 10 0 0 0 0 1 symversion=0.1 } C 63500 38300 1 0 0 capacitor-1.sym { T 63700 39000 5 10 0 0 0 0 1 device=CAPACITOR T 63700 38800 5 10 1 1 0 0 1 refdes=C? T 63700 39200 5 10 0 0 0 0 1 symversion=0.1 } C 63500 37300 1 0 0 capacitor-1.sym { T 63700 38000 5 10 0 0 0 0 1 device=CAPACITOR T 63700 37800 5 10 1 1 0 0 1 refdes=C? T 63700 38200 5 10 0 0 0 0 1 symversion=0.1 } N 62900 37500 63500 36500 4 N 62900 38500 63500 37500 4 N 65000 37500 64400 38500 4 N 64400 37500 65000 36500 4 C 41000 36300 1 0 0 capacitor-1.sym { T 41200 37000 5 10 0 0 0 0 1 device=CAPACITOR T 41200 36800 5 10 1 1 0 0 1 refdes=C? T 41200 37200 5 10 0 0 0 0 1 symversion=0.1 } C 41000 35300 1 0 0 capacitor-1.sym { T 41200 36000 5 10 0 0 0 0 1 device=CAPACITOR T 41200 35800 5 10 1 1 0 0 1 refdes=C? T 41200 36200 5 10 0 0 0 0 1 symversion=0.1 } C 42500 36300 1 0 0 capacitor-1.sym { T 42700 37000 5 10 0 0 0 0 1 device=CAPACITOR T 42700 36800 5 10 1 1 0 0 1 refdes=C? T 42700 37200 5 10 0 0 0 0 1 symversion=0.1 } C 42500 35300 1 0 0 capacitor-1.sym { T 42700 36000 5 10 0 0 0 0 1 device=CAPACITOR T 42700 35800 5 10 1 1 0 0 1 refdes=C? T 42700 36200 5 10 0 0 0 0 1 symversion=0.1 } N 41900 35500 42500 34500 4 N 41900 36500 42500 35500 4 N 44000 35500 43400 36500 4 N 43400 35500 44000 34500 4 C 44000 36300 1 0 0 capacitor-1.sym { T 44200 37000 5 10 0 0 0 0 1 device=CAPACITOR T 44200 36800 5 10 1 1 0 0 1 refdes=C? T 44200 37200 5 10 0 0 0 0 1 symversion=0.1 } C 44000 35300 1 0 0 capacitor-1.sym { T 44200 36000 5 10 0 0 0 0 1 device=CAPACITOR T 44200 35800 5 10 1 1 0 0 1 refdes=C? T 44200 36200 5 10 0 0 0 0 1 symversion=0.1 } C 45500 36300 1 0 0 capacitor-1.sym { T 45700 37000 5 10 0 0 0 0 1 device=CAPACITOR T 45700 36800 5 10 1 1 0 0 1 refdes=C? T 45700 37200 5 10 0 0 0 0 1 symversion=0.1 } C 45500 35300 1 0 0 capacitor-1.sym { T 45700 36000 5 10 0 0 0 0 1 device=CAPACITOR T 45700 35800 5 10 1 1 0 0 1 refdes=C? T 45700 36200 5 10 0 0 0 0 1 symversion=0.1 } N 44900 35500 45500 34500 4 N 44900 36500 45500 35500 4 N 47000 35500 46400 36500 4 N 46400 35500 47000 34500 4 C 41000 34300 1 0 0 capacitor-1.sym { T 41200 35000 5 10 0 0 0 0 1 device=CAPACITOR T 41200 34800 5 10 1 1 0 0 1 refdes=C? T 41200 35200 5 10 0 0 0 0 1 symversion=0.1 } C 41000 33300 1 0 0 capacitor-1.sym { T 41200 34000 5 10 0 0 0 0 1 device=CAPACITOR T 41200 33800 5 10 1 1 0 0 1 refdes=C? T 41200 34200 5 10 0 0 0 0 1 symversion=0.1 } C 42500 34300 1 0 0 capacitor-1.sym { T 42700 35000 5 10 0 0 0 0 1 device=CAPACITOR T 42700 34800 5 10 1 1 0 0 1 refdes=C? T 42700 35200 5 10 0 0 0 0 1 symversion=0.1 } C 42500 33300 1 0 0 capacitor-1.sym { T 42700 34000 5 10 0 0 0 0 1 device=CAPACITOR T 42700 33800 5 10 1 1 0 0 1 refdes=C? T 42700 34200 5 10 0 0 0 0 1 symversion=0.1 } N 41900 33500 42500 32500 4 N 41900 34500 42500 33500 4 N 44000 33500 43400 34500 4 N 43400 33500 44000 32500 4 C 44000 34300 1 0 0 capacitor-1.sym { T 44200 35000 5 10 0 0 0 0 1 device=CAPACITOR T 44200 34800 5 10 1 1 0 0 1 refdes=C? T 44200 35200 5 10 0 0 0 0 1 symversion=0.1 } C 44000 33300 1 0 0 capacitor-1.sym { T 44200 34000 5 10 0 0 0 0 1 device=CAPACITOR T 44200 33800 5 10 1 1 0 0 1 refdes=C? T 44200 34200 5 10 0 0 0 0 1 symversion=0.1 } C 45500 34300 1 0 0 capacitor-1.sym { T 45700 35000 5 10 0 0 0 0 1 device=CAPACITOR T 45700 34800 5 10 1 1 0 0 1 refdes=C? T 45700 35200 5 10 0 0 0 0 1 symversion=0.1 } C 45500 33300 1 0 0 capacitor-1.sym { T 45700 34000 5 10 0 0 0 0 1 device=CAPACITOR T 45700 33800 5 10 1 1 0 0 1 refdes=C? T 45700 34200 5 10 0 0 0 0 1 symversion=0.1 } N 44900 33500 45500 32500 4 N 44900 34500 45500 33500 4 N 47000 33500 46400 34500 4 N 46400 33500 47000 32500 4 C 47000 36300 1 0 0 capacitor-1.sym { T 47200 37000 5 10 0 0 0 0 1 device=CAPACITOR T 47200 36800 5 10 1 1 0 0 1 refdes=C? T 47200 37200 5 10 0 0 0 0 1 symversion=0.1 } C 47000 35300 1 0 0 capacitor-1.sym { T 47200 36000 5 10 0 0 0 0 1 device=CAPACITOR T 47200 35800 5 10 1 1 0 0 1 refdes=C? T 47200 36200 5 10 0 0 0 0 1 symversion=0.1 } C 48500 36300 1 0 0 capacitor-1.sym { T 48700 37000 5 10 0 0 0 0 1 device=CAPACITOR T 48700 36800 5 10 1 1 0 0 1 refdes=C? T 48700 37200 5 10 0 0 0 0 1 symversion=0.1 } C 48500 35300 1 0 0 capacitor-1.sym { T 48700 36000 5 10 0 0 0 0 1 device=CAPACITOR T 48700 35800 5 10 1 1 0 0 1 refdes=C? T 48700 36200 5 10 0 0 0 0 1 symversion=0.1 } N 47900 35500 48500 34500 4 N 47900 36500 48500 35500 4 N 50000 35500 49400 36500 4 N 49400 35500 50000 34500 4 C 50000 36300 1 0 0 capacitor-1.sym { T 50200 37000 5 10 0 0 0 0 1 device=CAPACITOR T 50200 36800 5 10 1 1 0 0 1 refdes=C? T 50200 37200 5 10 0 0 0 0 1 symversion=0.1 } C 50000 35300 1 0 0 capacitor-1.sym { T 50200 36000 5 10 0 0 0 0 1 device=CAPACITOR T 50200 35800 5 10 1 1 0 0 1 refdes=C? T 50200 36200 5 10 0 0 0 0 1 symversion=0.1 } C 51500 36300 1 0 0 capacitor-1.sym { T 51700 37000 5 10 0 0 0 0 1 device=CAPACITOR T 51700 36800 5 10 1 1 0 0 1 refdes=C? T 51700 37200 5 10 0 0 0 0 1 symversion=0.1 } C 51500 35300 1 0 0 capacitor-1.sym { T 51700 36000 5 10 0 0 0 0 1 device=CAPACITOR T 51700 35800 5 10 1 1 0 0 1 refdes=C? T 51700 36200 5 10 0 0 0 0 1 symversion=0.1 } N 50900 35500 51500 34500 4 N 50900 36500 51500 35500 4 N 53000 35500 52400 36500 4 N 52400 35500 53000 34500 4 C 47000 34300 1 0 0 capacitor-1.sym { T 47200 35000 5 10 0 0 0 0 1 device=CAPACITOR T 47200 34800 5 10 1 1 0 0 1 refdes=C? T 47200 35200 5 10 0 0 0 0 1 symversion=0.1 } C 47000 33300 1 0 0 capacitor-1.sym { T 47200 34000 5 10 0 0 0 0 1 device=CAPACITOR T 47200 33800 5 10 1 1 0 0 1 refdes=C? T 47200 34200 5 10 0 0 0 0 1 symversion=0.1 } C 48500 34300 1 0 0 capacitor-1.sym { T 48700 35000 5 10 0 0 0 0 1 device=CAPACITOR T 48700 34800 5 10 1 1 0 0 1 refdes=C? T 48700 35200 5 10 0 0 0 0 1 symversion=0.1 } C 48500 33300 1 0 0 capacitor-1.sym { T 48700 34000 5 10 0 0 0 0 1 device=CAPACITOR T 48700 33800 5 10 1 1 0 0 1 refdes=C? T 48700 34200 5 10 0 0 0 0 1 symversion=0.1 } N 47900 33500 48500 32500 4 N 47900 34500 48500 33500 4 N 50000 33500 49400 34500 4 N 49400 33500 50000 32500 4 C 50000 34300 1 0 0 capacitor-1.sym { T 50200 35000 5 10 0 0 0 0 1 device=CAPACITOR T 50200 34800 5 10 1 1 0 0 1 refdes=C? T 50200 35200 5 10 0 0 0 0 1 symversion=0.1 } C 50000 33300 1 0 0 capacitor-1.sym { T 50200 34000 5 10 0 0 0 0 1 device=CAPACITOR T 50200 33800 5 10 1 1 0 0 1 refdes=C? T 50200 34200 5 10 0 0 0 0 1 symversion=0.1 } C 51500 34300 1 0 0 capacitor-1.sym { T 51700 35000 5 10 0 0 0 0 1 device=CAPACITOR T 51700 34800 5 10 1 1 0 0 1 refdes=C? T 51700 35200 5 10 0 0 0 0 1 symversion=0.1 } C 51500 33300 1 0 0 capacitor-1.sym { T 51700 34000 5 10 0 0 0 0 1 device=CAPACITOR T 51700 33800 5 10 1 1 0 0 1 refdes=C? T 51700 34200 5 10 0 0 0 0 1 symversion=0.1 } N 50900 33500 51500 32500 4 N 50900 34500 51500 33500 4 N 53000 33500 52400 34500 4 N 52400 33500 53000 32500 4 C 41000 32300 1 0 0 capacitor-1.sym { T 41200 33000 5 10 0 0 0 0 1 device=CAPACITOR T 41200 32800 5 10 1 1 0 0 1 refdes=C? T 41200 33200 5 10 0 0 0 0 1 symversion=0.1 } C 41000 31300 1 0 0 capacitor-1.sym { T 41200 32000 5 10 0 0 0 0 1 device=CAPACITOR T 41200 31800 5 10 1 1 0 0 1 refdes=C? T 41200 32200 5 10 0 0 0 0 1 symversion=0.1 } C 42500 32300 1 0 0 capacitor-1.sym { T 42700 33000 5 10 0 0 0 0 1 device=CAPACITOR T 42700 32800 5 10 1 1 0 0 1 refdes=C? T 42700 33200 5 10 0 0 0 0 1 symversion=0.1 } C 42500 31300 1 0 0 capacitor-1.sym { T 42700 32000 5 10 0 0 0 0 1 device=CAPACITOR T 42700 31800 5 10 1 1 0 0 1 refdes=C? T 42700 32200 5 10 0 0 0 0 1 symversion=0.1 } N 41900 31500 42500 30500 4 N 41900 32500 42500 31500 4 N 44000 31500 43400 32500 4 N 43400 31500 44000 30500 4 C 44000 32300 1 0 0 capacitor-1.sym { T 44200 33000 5 10 0 0 0 0 1 device=CAPACITOR T 44200 32800 5 10 1 1 0 0 1 refdes=C? T 44200 33200 5 10 0 0 0 0 1 symversion=0.1 } C 44000 31300 1 0 0 capacitor-1.sym { T 44200 32000 5 10 0 0 0 0 1 device=CAPACITOR T 44200 31800 5 10 1 1 0 0 1 refdes=C? T 44200 32200 5 10 0 0 0 0 1 symversion=0.1 } C 45500 32300 1 0 0 capacitor-1.sym { T 45700 33000 5 10 0 0 0 0 1 device=CAPACITOR T 45700 32800 5 10 1 1 0 0 1 refdes=C? T 45700 33200 5 10 0 0 0 0 1 symversion=0.1 } C 45500 31300 1 0 0 capacitor-1.sym { T 45700 32000 5 10 0 0 0 0 1 device=CAPACITOR T 45700 31800 5 10 1 1 0 0 1 refdes=C? T 45700 32200 5 10 0 0 0 0 1 symversion=0.1 } N 44900 31500 45500 30500 4 N 44900 32500 45500 31500 4 N 47000 31500 46400 32500 4 N 46400 31500 47000 30500 4 C 41000 30300 1 0 0 capacitor-1.sym { T 41200 31000 5 10 0 0 0 0 1 device=CAPACITOR T 41200 30800 5 10 1 1 0 0 1 refdes=C? T 41200 31200 5 10 0 0 0 0 1 symversion=0.1 } C 41000 29300 1 0 0 capacitor-1.sym { T 41200 30000 5 10 0 0 0 0 1 device=CAPACITOR T 41200 29800 5 10 1 1 0 0 1 refdes=C? T 41200 30200 5 10 0 0 0 0 1 symversion=0.1 } C 42500 30300 1 0 0 capacitor-1.sym { T 42700 31000 5 10 0 0 0 0 1 device=CAPACITOR T 42700 30800 5 10 1 1 0 0 1 refdes=C? T 42700 31200 5 10 0 0 0 0 1 symversion=0.1 } C 42500 29300 1 0 0 capacitor-1.sym { T 42700 30000 5 10 0 0 0 0 1 device=CAPACITOR T 42700 29800 5 10 1 1 0 0 1 refdes=C? T 42700 30200 5 10 0 0 0 0 1 symversion=0.1 } N 41900 29500 42500 28500 4 N 41900 30500 42500 29500 4 N 44000 29500 43400 30500 4 N 43400 29500 44000 28500 4 C 44000 30300 1 0 0 capacitor-1.sym { T 44200 31000 5 10 0 0 0 0 1 device=CAPACITOR T 44200 30800 5 10 1 1 0 0 1 refdes=C? T 44200 31200 5 10 0 0 0 0 1 symversion=0.1 } C 44000 29300 1 0 0 capacitor-1.sym { T 44200 30000 5 10 0 0 0 0 1 device=CAPACITOR T 44200 29800 5 10 1 1 0 0 1 refdes=C? T 44200 30200 5 10 0 0 0 0 1 symversion=0.1 } C 45500 30300 1 0 0 capacitor-1.sym { T 45700 31000 5 10 0 0 0 0 1 device=CAPACITOR T 45700 30800 5 10 1 1 0 0 1 refdes=C? T 45700 31200 5 10 0 0 0 0 1 symversion=0.1 } C 45500 29300 1 0 0 capacitor-1.sym { T 45700 30000 5 10 0 0 0 0 1 device=CAPACITOR T 45700 29800 5 10 1 1 0 0 1 refdes=C? T 45700 30200 5 10 0 0 0 0 1 symversion=0.1 } N 44900 29500 45500 28500 4 N 44900 30500 45500 29500 4 N 47000 29500 46400 30500 4 N 46400 29500 47000 28500 4 C 47000 32300 1 0 0 capacitor-1.sym { T 47200 33000 5 10 0 0 0 0 1 device=CAPACITOR T 47200 32800 5 10 1 1 0 0 1 refdes=C? T 47200 33200 5 10 0 0 0 0 1 symversion=0.1 } C 47000 31300 1 0 0 capacitor-1.sym { T 47200 32000 5 10 0 0 0 0 1 device=CAPACITOR T 47200 31800 5 10 1 1 0 0 1 refdes=C? T 47200 32200 5 10 0 0 0 0 1 symversion=0.1 } C 48500 32300 1 0 0 capacitor-1.sym { T 48700 33000 5 10 0 0 0 0 1 device=CAPACITOR T 48700 32800 5 10 1 1 0 0 1 refdes=C? T 48700 33200 5 10 0 0 0 0 1 symversion=0.1 } C 48500 31300 1 0 0 capacitor-1.sym { T 48700 32000 5 10 0 0 0 0 1 device=CAPACITOR T 48700 31800 5 10 1 1 0 0 1 refdes=C? T 48700 32200 5 10 0 0 0 0 1 symversion=0.1 } N 47900 31500 48500 30500 4 N 47900 32500 48500 31500 4 N 50000 31500 49400 32500 4 N 49400 31500 50000 30500 4 C 50000 32300 1 0 0 capacitor-1.sym { T 50200 33000 5 10 0 0 0 0 1 device=CAPACITOR T 50200 32800 5 10 1 1 0 0 1 refdes=C? T 50200 33200 5 10 0 0 0 0 1 symversion=0.1 } C 50000 31300 1 0 0 capacitor-1.sym { T 50200 32000 5 10 0 0 0 0 1 device=CAPACITOR T 50200 31800 5 10 1 1 0 0 1 refdes=C? T 50200 32200 5 10 0 0 0 0 1 symversion=0.1 } C 51500 32300 1 0 0 capacitor-1.sym { T 51700 33000 5 10 0 0 0 0 1 device=CAPACITOR T 51700 32800 5 10 1 1 0 0 1 refdes=C? T 51700 33200 5 10 0 0 0 0 1 symversion=0.1 } C 51500 31300 1 0 0 capacitor-1.sym { T 51700 32000 5 10 0 0 0 0 1 device=CAPACITOR T 51700 31800 5 10 1 1 0 0 1 refdes=C? T 51700 32200 5 10 0 0 0 0 1 symversion=0.1 } N 50900 31500 51500 30500 4 N 50900 32500 51500 31500 4 N 53000 31500 52400 32500 4 N 52400 31500 53000 30500 4 C 47000 30300 1 0 0 capacitor-1.sym { T 47200 31000 5 10 0 0 0 0 1 device=CAPACITOR T 47200 30800 5 10 1 1 0 0 1 refdes=C? T 47200 31200 5 10 0 0 0 0 1 symversion=0.1 } C 47000 29300 1 0 0 capacitor-1.sym { T 47200 30000 5 10 0 0 0 0 1 device=CAPACITOR T 47200 29800 5 10 1 1 0 0 1 refdes=C? T 47200 30200 5 10 0 0 0 0 1 symversion=0.1 } C 48500 30300 1 0 0 capacitor-1.sym { T 48700 31000 5 10 0 0 0 0 1 device=CAPACITOR T 48700 30800 5 10 1 1 0 0 1 refdes=C? T 48700 31200 5 10 0 0 0 0 1 symversion=0.1 } C 48500 29300 1 0 0 capacitor-1.sym { T 48700 30000 5 10 0 0 0 0 1 device=CAPACITOR T 48700 29800 5 10 1 1 0 0 1 refdes=C? T 48700 30200 5 10 0 0 0 0 1 symversion=0.1 } N 47900 29500 48500 28500 4 N 47900 30500 48500 29500 4 N 50000 29500 49400 30500 4 N 49400 29500 50000 28500 4 C 50000 30300 1 0 0 capacitor-1.sym { T 50200 31000 5 10 0 0 0 0 1 device=CAPACITOR T 50200 30800 5 10 1 1 0 0 1 refdes=C? T 50200 31200 5 10 0 0 0 0 1 symversion=0.1 } C 50000 29300 1 0 0 capacitor-1.sym { T 50200 30000 5 10 0 0 0 0 1 device=CAPACITOR T 50200 29800 5 10 1 1 0 0 1 refdes=C? T 50200 30200 5 10 0 0 0 0 1 symversion=0.1 } C 51500 30300 1 0 0 capacitor-1.sym { T 51700 31000 5 10 0 0 0 0 1 device=CAPACITOR T 51700 30800 5 10 1 1 0 0 1 refdes=C? T 51700 31200 5 10 0 0 0 0 1 symversion=0.1 } C 51500 29300 1 0 0 capacitor-1.sym { T 51700 30000 5 10 0 0 0 0 1 device=CAPACITOR T 51700 29800 5 10 1 1 0 0 1 refdes=C? T 51700 30200 5 10 0 0 0 0 1 symversion=0.1 } N 50900 29500 51500 28500 4 N 50900 30500 51500 29500 4 N 53000 29500 52400 30500 4 N 52400 29500 53000 28500 4 C 53000 36300 1 0 0 capacitor-1.sym { T 53200 37000 5 10 0 0 0 0 1 device=CAPACITOR T 53200 36800 5 10 1 1 0 0 1 refdes=C? T 53200 37200 5 10 0 0 0 0 1 symversion=0.1 } C 53000 35300 1 0 0 capacitor-1.sym { T 53200 36000 5 10 0 0 0 0 1 device=CAPACITOR T 53200 35800 5 10 1 1 0 0 1 refdes=C? T 53200 36200 5 10 0 0 0 0 1 symversion=0.1 } C 54500 36300 1 0 0 capacitor-1.sym { T 54700 37000 5 10 0 0 0 0 1 device=CAPACITOR T 54700 36800 5 10 1 1 0 0 1 refdes=C? T 54700 37200 5 10 0 0 0 0 1 symversion=0.1 } C 54500 35300 1 0 0 capacitor-1.sym { T 54700 36000 5 10 0 0 0 0 1 device=CAPACITOR T 54700 35800 5 10 1 1 0 0 1 refdes=C? T 54700 36200 5 10 0 0 0 0 1 symversion=0.1 } N 53900 35500 54500 34500 4 N 53900 36500 54500 35500 4 N 56000 35500 55400 36500 4 N 55400 35500 56000 34500 4 C 56000 36300 1 0 0 capacitor-1.sym { T 56200 37000 5 10 0 0 0 0 1 device=CAPACITOR T 56200 36800 5 10 1 1 0 0 1 refdes=C? T 56200 37200 5 10 0 0 0 0 1 symversion=0.1 } C 56000 35300 1 0 0 capacitor-1.sym { T 56200 36000 5 10 0 0 0 0 1 device=CAPACITOR T 56200 35800 5 10 1 1 0 0 1 refdes=C? T 56200 36200 5 10 0 0 0 0 1 symversion=0.1 } C 57500 36300 1 0 0 capacitor-1.sym { T 57700 37000 5 10 0 0 0 0 1 device=CAPACITOR T 57700 36800 5 10 1 1 0 0 1 refdes=C? T 57700 37200 5 10 0 0 0 0 1 symversion=0.1 } C 57500 35300 1 0 0 capacitor-1.sym { T 57700 36000 5 10 0 0 0 0 1 device=CAPACITOR T 57700 35800 5 10 1 1 0 0 1 refdes=C? T 57700 36200 5 10 0 0 0 0 1 symversion=0.1 } N 56900 35500 57500 34500 4 N 56900 36500 57500 35500 4 N 59000 35500 58400 36500 4 N 58400 35500 59000 34500 4 C 53000 34300 1 0 0 capacitor-1.sym { T 53200 35000 5 10 0 0 0 0 1 device=CAPACITOR T 53200 34800 5 10 1 1 0 0 1 refdes=C? T 53200 35200 5 10 0 0 0 0 1 symversion=0.1 } C 53000 33300 1 0 0 capacitor-1.sym { T 53200 34000 5 10 0 0 0 0 1 device=CAPACITOR T 53200 33800 5 10 1 1 0 0 1 refdes=C? T 53200 34200 5 10 0 0 0 0 1 symversion=0.1 } C 54500 34300 1 0 0 capacitor-1.sym { T 54700 35000 5 10 0 0 0 0 1 device=CAPACITOR T 54700 34800 5 10 1 1 0 0 1 refdes=C? T 54700 35200 5 10 0 0 0 0 1 symversion=0.1 } C 54500 33300 1 0 0 capacitor-1.sym { T 54700 34000 5 10 0 0 0 0 1 device=CAPACITOR T 54700 33800 5 10 1 1 0 0 1 refdes=C? T 54700 34200 5 10 0 0 0 0 1 symversion=0.1 } N 53900 33500 54500 32500 4 N 53900 34500 54500 33500 4 N 56000 33500 55400 34500 4 N 55400 33500 56000 32500 4 C 56000 34300 1 0 0 capacitor-1.sym { T 56200 35000 5 10 0 0 0 0 1 device=CAPACITOR T 56200 34800 5 10 1 1 0 0 1 refdes=C? T 56200 35200 5 10 0 0 0 0 1 symversion=0.1 } C 56000 33300 1 0 0 capacitor-1.sym { T 56200 34000 5 10 0 0 0 0 1 device=CAPACITOR T 56200 33800 5 10 1 1 0 0 1 refdes=C? T 56200 34200 5 10 0 0 0 0 1 symversion=0.1 } C 57500 34300 1 0 0 capacitor-1.sym { T 57700 35000 5 10 0 0 0 0 1 device=CAPACITOR T 57700 34800 5 10 1 1 0 0 1 refdes=C? T 57700 35200 5 10 0 0 0 0 1 symversion=0.1 } C 57500 33300 1 0 0 capacitor-1.sym { T 57700 34000 5 10 0 0 0 0 1 device=CAPACITOR T 57700 33800 5 10 1 1 0 0 1 refdes=C? T 57700 34200 5 10 0 0 0 0 1 symversion=0.1 } N 56900 33500 57500 32500 4 N 56900 34500 57500 33500 4 N 59000 33500 58400 34500 4 N 58400 33500 59000 32500 4 C 59000 36300 1 0 0 capacitor-1.sym { T 59200 37000 5 10 0 0 0 0 1 device=CAPACITOR T 59200 36800 5 10 1 1 0 0 1 refdes=C? T 59200 37200 5 10 0 0 0 0 1 symversion=0.1 } C 59000 35300 1 0 0 capacitor-1.sym { T 59200 36000 5 10 0 0 0 0 1 device=CAPACITOR T 59200 35800 5 10 1 1 0 0 1 refdes=C? T 59200 36200 5 10 0 0 0 0 1 symversion=0.1 } C 60500 36300 1 0 0 capacitor-1.sym { T 60700 37000 5 10 0 0 0 0 1 device=CAPACITOR T 60700 36800 5 10 1 1 0 0 1 refdes=C? T 60700 37200 5 10 0 0 0 0 1 symversion=0.1 } C 60500 35300 1 0 0 capacitor-1.sym { T 60700 36000 5 10 0 0 0 0 1 device=CAPACITOR T 60700 35800 5 10 1 1 0 0 1 refdes=C? T 60700 36200 5 10 0 0 0 0 1 symversion=0.1 } N 59900 35500 60500 34500 4 N 59900 36500 60500 35500 4 N 62000 35500 61400 36500 4 N 61400 35500 62000 34500 4 C 62000 36300 1 0 0 capacitor-1.sym { T 62200 37000 5 10 0 0 0 0 1 device=CAPACITOR T 62200 36800 5 10 1 1 0 0 1 refdes=C? T 62200 37200 5 10 0 0 0 0 1 symversion=0.1 } C 62000 35300 1 0 0 capacitor-1.sym { T 62200 36000 5 10 0 0 0 0 1 device=CAPACITOR T 62200 35800 5 10 1 1 0 0 1 refdes=C? T 62200 36200 5 10 0 0 0 0 1 symversion=0.1 } C 63500 36300 1 0 0 capacitor-1.sym { T 63700 37000 5 10 0 0 0 0 1 device=CAPACITOR T 63700 36800 5 10 1 1 0 0 1 refdes=C? T 63700 37200 5 10 0 0 0 0 1 symversion=0.1 } C 63500 35300 1 0 0 capacitor-1.sym { T 63700 36000 5 10 0 0 0 0 1 device=CAPACITOR T 63700 35800 5 10 1 1 0 0 1 refdes=C? T 63700 36200 5 10 0 0 0 0 1 symversion=0.1 } N 62900 35500 63500 34500 4 N 62900 36500 63500 35500 4 N 65000 35500 64400 36500 4 N 64400 35500 65000 34500 4 C 59000 34300 1 0 0 capacitor-1.sym { T 59200 35000 5 10 0 0 0 0 1 device=CAPACITOR T 59200 34800 5 10 1 1 0 0 1 refdes=C? T 59200 35200 5 10 0 0 0 0 1 symversion=0.1 } C 59000 33300 1 0 0 capacitor-1.sym { T 59200 34000 5 10 0 0 0 0 1 device=CAPACITOR T 59200 33800 5 10 1 1 0 0 1 refdes=C? T 59200 34200 5 10 0 0 0 0 1 symversion=0.1 } C 60500 34300 1 0 0 capacitor-1.sym { T 60700 35000 5 10 0 0 0 0 1 device=CAPACITOR T 60700 34800 5 10 1 1 0 0 1 refdes=C? T 60700 35200 5 10 0 0 0 0 1 symversion=0.1 } C 60500 33300 1 0 0 capacitor-1.sym { T 60700 34000 5 10 0 0 0 0 1 device=CAPACITOR T 60700 33800 5 10 1 1 0 0 1 refdes=C? T 60700 34200 5 10 0 0 0 0 1 symversion=0.1 } N 59900 33500 60500 32500 4 N 59900 34500 60500 33500 4 N 62000 33500 61400 34500 4 N 61400 33500 62000 32500 4 C 62000 34300 1 0 0 capacitor-1.sym { T 62200 35000 5 10 0 0 0 0 1 device=CAPACITOR T 62200 34800 5 10 1 1 0 0 1 refdes=C? T 62200 35200 5 10 0 0 0 0 1 symversion=0.1 } C 62000 33300 1 0 0 capacitor-1.sym { T 62200 34000 5 10 0 0 0 0 1 device=CAPACITOR T 62200 33800 5 10 1 1 0 0 1 refdes=C? T 62200 34200 5 10 0 0 0 0 1 symversion=0.1 } C 63500 34300 1 0 0 capacitor-1.sym { T 63700 35000 5 10 0 0 0 0 1 device=CAPACITOR T 63700 34800 5 10 1 1 0 0 1 refdes=C? T 63700 35200 5 10 0 0 0 0 1 symversion=0.1 } C 63500 33300 1 0 0 capacitor-1.sym { T 63700 34000 5 10 0 0 0 0 1 device=CAPACITOR T 63700 33800 5 10 1 1 0 0 1 refdes=C? T 63700 34200 5 10 0 0 0 0 1 symversion=0.1 } N 62900 33500 63500 32500 4 N 62900 34500 63500 33500 4 N 65000 33500 64400 34500 4 N 64400 33500 65000 32500 4 C 53000 32300 1 0 0 capacitor-1.sym { T 53200 33000 5 10 0 0 0 0 1 device=CAPACITOR T 53200 32800 5 10 1 1 0 0 1 refdes=C? T 53200 33200 5 10 0 0 0 0 1 symversion=0.1 } C 53000 31300 1 0 0 capacitor-1.sym { T 53200 32000 5 10 0 0 0 0 1 device=CAPACITOR T 53200 31800 5 10 1 1 0 0 1 refdes=C? T 53200 32200 5 10 0 0 0 0 1 symversion=0.1 } C 54500 32300 1 0 0 capacitor-1.sym { T 54700 33000 5 10 0 0 0 0 1 device=CAPACITOR T 54700 32800 5 10 1 1 0 0 1 refdes=C? T 54700 33200 5 10 0 0 0 0 1 symversion=0.1 } C 54500 31300 1 0 0 capacitor-1.sym { T 54700 32000 5 10 0 0 0 0 1 device=CAPACITOR T 54700 31800 5 10 1 1 0 0 1 refdes=C? T 54700 32200 5 10 0 0 0 0 1 symversion=0.1 } N 53900 31500 54500 30500 4 N 53900 32500 54500 31500 4 N 56000 31500 55400 32500 4 N 55400 31500 56000 30500 4 C 56000 32300 1 0 0 capacitor-1.sym { T 56200 33000 5 10 0 0 0 0 1 device=CAPACITOR T 56200 32800 5 10 1 1 0 0 1 refdes=C? T 56200 33200 5 10 0 0 0 0 1 symversion=0.1 } C 56000 31300 1 0 0 capacitor-1.sym { T 56200 32000 5 10 0 0 0 0 1 device=CAPACITOR T 56200 31800 5 10 1 1 0 0 1 refdes=C? T 56200 32200 5 10 0 0 0 0 1 symversion=0.1 } C 57500 32300 1 0 0 capacitor-1.sym { T 57700 33000 5 10 0 0 0 0 1 device=CAPACITOR T 57700 32800 5 10 1 1 0 0 1 refdes=C? T 57700 33200 5 10 0 0 0 0 1 symversion=0.1 } C 57500 31300 1 0 0 capacitor-1.sym { T 57700 32000 5 10 0 0 0 0 1 device=CAPACITOR T 57700 31800 5 10 1 1 0 0 1 refdes=C? T 57700 32200 5 10 0 0 0 0 1 symversion=0.1 } N 56900 31500 57500 30500 4 N 56900 32500 57500 31500 4 N 59000 31500 58400 32500 4 N 58400 31500 59000 30500 4 C 53000 30300 1 0 0 capacitor-1.sym { T 53200 31000 5 10 0 0 0 0 1 device=CAPACITOR T 53200 30800 5 10 1 1 0 0 1 refdes=C? T 53200 31200 5 10 0 0 0 0 1 symversion=0.1 } C 53000 29300 1 0 0 capacitor-1.sym { T 53200 30000 5 10 0 0 0 0 1 device=CAPACITOR T 53200 29800 5 10 1 1 0 0 1 refdes=C? T 53200 30200 5 10 0 0 0 0 1 symversion=0.1 } C 54500 30300 1 0 0 capacitor-1.sym { T 54700 31000 5 10 0 0 0 0 1 device=CAPACITOR T 54700 30800 5 10 1 1 0 0 1 refdes=C? T 54700 31200 5 10 0 0 0 0 1 symversion=0.1 } C 54500 29300 1 0 0 capacitor-1.sym { T 54700 30000 5 10 0 0 0 0 1 device=CAPACITOR T 54700 29800 5 10 1 1 0 0 1 refdes=C? T 54700 30200 5 10 0 0 0 0 1 symversion=0.1 } N 53900 29500 54500 28500 4 N 53900 30500 54500 29500 4 N 56000 29500 55400 30500 4 N 55400 29500 56000 28500 4 C 56000 30300 1 0 0 capacitor-1.sym { T 56200 31000 5 10 0 0 0 0 1 device=CAPACITOR T 56200 30800 5 10 1 1 0 0 1 refdes=C? T 56200 31200 5 10 0 0 0 0 1 symversion=0.1 } C 56000 29300 1 0 0 capacitor-1.sym { T 56200 30000 5 10 0 0 0 0 1 device=CAPACITOR T 56200 29800 5 10 1 1 0 0 1 refdes=C? T 56200 30200 5 10 0 0 0 0 1 symversion=0.1 } C 57500 30300 1 0 0 capacitor-1.sym { T 57700 31000 5 10 0 0 0 0 1 device=CAPACITOR T 57700 30800 5 10 1 1 0 0 1 refdes=C? T 57700 31200 5 10 0 0 0 0 1 symversion=0.1 } C 57500 29300 1 0 0 capacitor-1.sym { T 57700 30000 5 10 0 0 0 0 1 device=CAPACITOR T 57700 29800 5 10 1 1 0 0 1 refdes=C? T 57700 30200 5 10 0 0 0 0 1 symversion=0.1 } N 56900 29500 57500 28500 4 N 56900 30500 57500 29500 4 N 59000 29500 58400 30500 4 N 58400 29500 59000 28500 4 C 59000 32300 1 0 0 capacitor-1.sym { T 59200 33000 5 10 0 0 0 0 1 device=CAPACITOR T 59200 32800 5 10 1 1 0 0 1 refdes=C? T 59200 33200 5 10 0 0 0 0 1 symversion=0.1 } C 59000 31300 1 0 0 capacitor-1.sym { T 59200 32000 5 10 0 0 0 0 1 device=CAPACITOR T 59200 31800 5 10 1 1 0 0 1 refdes=C? T 59200 32200 5 10 0 0 0 0 1 symversion=0.1 } C 60500 32300 1 0 0 capacitor-1.sym { T 60700 33000 5 10 0 0 0 0 1 device=CAPACITOR T 60700 32800 5 10 1 1 0 0 1 refdes=C? T 60700 33200 5 10 0 0 0 0 1 symversion=0.1 } C 60500 31300 1 0 0 capacitor-1.sym { T 60700 32000 5 10 0 0 0 0 1 device=CAPACITOR T 60700 31800 5 10 1 1 0 0 1 refdes=C? T 60700 32200 5 10 0 0 0 0 1 symversion=0.1 } N 59900 31500 60500 30500 4 N 59900 32500 60500 31500 4 N 62000 31500 61400 32500 4 N 61400 31500 62000 30500 4 C 62000 32300 1 0 0 capacitor-1.sym { T 62200 33000 5 10 0 0 0 0 1 device=CAPACITOR T 62200 32800 5 10 1 1 0 0 1 refdes=C? T 62200 33200 5 10 0 0 0 0 1 symversion=0.1 } C 62000 31300 1 0 0 capacitor-1.sym { T 62200 32000 5 10 0 0 0 0 1 device=CAPACITOR T 62200 31800 5 10 1 1 0 0 1 refdes=C? T 62200 32200 5 10 0 0 0 0 1 symversion=0.1 } C 63500 32300 1 0 0 capacitor-1.sym { T 63700 33000 5 10 0 0 0 0 1 device=CAPACITOR T 63700 32800 5 10 1 1 0 0 1 refdes=C? T 63700 33200 5 10 0 0 0 0 1 symversion=0.1 } C 63500 31300 1 0 0 capacitor-1.sym { T 63700 32000 5 10 0 0 0 0 1 device=CAPACITOR T 63700 31800 5 10 1 1 0 0 1 refdes=C? T 63700 32200 5 10 0 0 0 0 1 symversion=0.1 } N 62900 31500 63500 30500 4 N 62900 32500 63500 31500 4 N 65000 31500 64400 32500 4 N 64400 31500 65000 30500 4 C 59000 30300 1 0 0 capacitor-1.sym { T 59200 31000 5 10 0 0 0 0 1 device=CAPACITOR T 59200 30800 5 10 1 1 0 0 1 refdes=C? T 59200 31200 5 10 0 0 0 0 1 symversion=0.1 } C 59000 29300 1 0 0 capacitor-1.sym { T 59200 30000 5 10 0 0 0 0 1 device=CAPACITOR T 59200 29800 5 10 1 1 0 0 1 refdes=C? T 59200 30200 5 10 0 0 0 0 1 symversion=0.1 } C 60500 30300 1 0 0 capacitor-1.sym { T 60700 31000 5 10 0 0 0 0 1 device=CAPACITOR T 60700 30800 5 10 1 1 0 0 1 refdes=C? T 60700 31200 5 10 0 0 0 0 1 symversion=0.1 } C 60500 29300 1 0 0 capacitor-1.sym { T 60700 30000 5 10 0 0 0 0 1 device=CAPACITOR T 60700 29800 5 10 1 1 0 0 1 refdes=C? T 60700 30200 5 10 0 0 0 0 1 symversion=0.1 } N 59900 29500 60500 28500 4 N 59900 30500 60500 29500 4 N 62000 29500 61400 30500 4 N 61400 29500 62000 28500 4 C 62000 30300 1 0 0 capacitor-1.sym { T 62200 31000 5 10 0 0 0 0 1 device=CAPACITOR T 62200 30800 5 10 1 1 0 0 1 refdes=C? T 62200 31200 5 10 0 0 0 0 1 symversion=0.1 } C 62000 29300 1 0 0 capacitor-1.sym { T 62200 30000 5 10 0 0 0 0 1 device=CAPACITOR T 62200 29800 5 10 1 1 0 0 1 refdes=C? T 62200 30200 5 10 0 0 0 0 1 symversion=0.1 } C 63500 30300 1 0 0 capacitor-1.sym { T 63700 31000 5 10 0 0 0 0 1 device=CAPACITOR T 63700 30800 5 10 1 1 0 0 1 refdes=C? T 63700 31200 5 10 0 0 0 0 1 symversion=0.1 } C 63500 29300 1 0 0 capacitor-1.sym { T 63700 30000 5 10 0 0 0 0 1 device=CAPACITOR T 63700 29800 5 10 1 1 0 0 1 refdes=C? T 63700 30200 5 10 0 0 0 0 1 symversion=0.1 } N 62900 29500 63500 28500 4 N 62900 30500 63500 29500 4 N 65000 29500 64400 30500 4 N 64400 29500 65000 28500 4 C 65000 44300 1 0 0 capacitor-1.sym { T 65200 45000 5 10 0 0 0 0 1 device=CAPACITOR T 65200 44800 5 10 1 1 0 0 1 refdes=C? T 65200 45200 5 10 0 0 0 0 1 symversion=0.1 } C 65000 43300 1 0 0 capacitor-1.sym { T 65200 44000 5 10 0 0 0 0 1 device=CAPACITOR T 65200 43800 5 10 1 1 0 0 1 refdes=C? T 65200 44200 5 10 0 0 0 0 1 symversion=0.1 } C 66500 44300 1 0 0 capacitor-1.sym { T 66700 45000 5 10 0 0 0 0 1 device=CAPACITOR T 66700 44800 5 10 1 1 0 0 1 refdes=C? T 66700 45200 5 10 0 0 0 0 1 symversion=0.1 } C 66500 43300 1 0 0 capacitor-1.sym { T 66700 44000 5 10 0 0 0 0 1 device=CAPACITOR T 66700 43800 5 10 1 1 0 0 1 refdes=C? T 66700 44200 5 10 0 0 0 0 1 symversion=0.1 } N 65900 43500 66500 42500 4 N 65900 44500 66500 43500 4 N 68000 43500 67400 44500 4 N 67400 43500 68000 42500 4 C 68000 44300 1 0 0 capacitor-1.sym { T 68200 45000 5 10 0 0 0 0 1 device=CAPACITOR T 68200 44800 5 10 1 1 0 0 1 refdes=C? T 68200 45200 5 10 0 0 0 0 1 symversion=0.1 } C 68000 43300 1 0 0 capacitor-1.sym { T 68200 44000 5 10 0 0 0 0 1 device=CAPACITOR T 68200 43800 5 10 1 1 0 0 1 refdes=C? T 68200 44200 5 10 0 0 0 0 1 symversion=0.1 } C 69500 44300 1 0 0 capacitor-1.sym { T 69700 45000 5 10 0 0 0 0 1 device=CAPACITOR T 69700 44800 5 10 1 1 0 0 1 refdes=C? T 69700 45200 5 10 0 0 0 0 1 symversion=0.1 } C 69500 43300 1 0 0 capacitor-1.sym { T 69700 44000 5 10 0 0 0 0 1 device=CAPACITOR T 69700 43800 5 10 1 1 0 0 1 refdes=C? T 69700 44200 5 10 0 0 0 0 1 symversion=0.1 } N 68900 43500 69500 42500 4 N 68900 44500 69500 43500 4 N 71000 43500 70400 44500 4 N 70400 43500 71000 42500 4 C 65000 42300 1 0 0 capacitor-1.sym { T 65200 43000 5 10 0 0 0 0 1 device=CAPACITOR T 65200 42800 5 10 1 1 0 0 1 refdes=C? T 65200 43200 5 10 0 0 0 0 1 symversion=0.1 } C 65000 41300 1 0 0 capacitor-1.sym { T 65200 42000 5 10 0 0 0 0 1 device=CAPACITOR T 65200 41800 5 10 1 1 0 0 1 refdes=C? T 65200 42200 5 10 0 0 0 0 1 symversion=0.1 } C 66500 42300 1 0 0 capacitor-1.sym { T 66700 43000 5 10 0 0 0 0 1 device=CAPACITOR T 66700 42800 5 10 1 1 0 0 1 refdes=C? T 66700 43200 5 10 0 0 0 0 1 symversion=0.1 } C 66500 41300 1 0 0 capacitor-1.sym { T 66700 42000 5 10 0 0 0 0 1 device=CAPACITOR T 66700 41800 5 10 1 1 0 0 1 refdes=C? T 66700 42200 5 10 0 0 0 0 1 symversion=0.1 } N 65900 41500 66500 40500 4 N 65900 42500 66500 41500 4 N 68000 41500 67400 42500 4 N 67400 41500 68000 40500 4 C 68000 42300 1 0 0 capacitor-1.sym { T 68200 43000 5 10 0 0 0 0 1 device=CAPACITOR T 68200 42800 5 10 1 1 0 0 1 refdes=C? T 68200 43200 5 10 0 0 0 0 1 symversion=0.1 } C 68000 41300 1 0 0 capacitor-1.sym { T 68200 42000 5 10 0 0 0 0 1 device=CAPACITOR T 68200 41800 5 10 1 1 0 0 1 refdes=C? T 68200 42200 5 10 0 0 0 0 1 symversion=0.1 } C 69500 42300 1 0 0 capacitor-1.sym { T 69700 43000 5 10 0 0 0 0 1 device=CAPACITOR T 69700 42800 5 10 1 1 0 0 1 refdes=C? T 69700 43200 5 10 0 0 0 0 1 symversion=0.1 } C 69500 41300 1 0 0 capacitor-1.sym { T 69700 42000 5 10 0 0 0 0 1 device=CAPACITOR T 69700 41800 5 10 1 1 0 0 1 refdes=C? T 69700 42200 5 10 0 0 0 0 1 symversion=0.1 } N 68900 41500 69500 40500 4 N 68900 42500 69500 41500 4 N 71000 41500 70400 42500 4 N 70400 41500 71000 40500 4 C 71000 44300 1 0 0 capacitor-1.sym { T 71200 45000 5 10 0 0 0 0 1 device=CAPACITOR T 71200 44800 5 10 1 1 0 0 1 refdes=C? T 71200 45200 5 10 0 0 0 0 1 symversion=0.1 } C 71000 43300 1 0 0 capacitor-1.sym { T 71200 44000 5 10 0 0 0 0 1 device=CAPACITOR T 71200 43800 5 10 1 1 0 0 1 refdes=C? T 71200 44200 5 10 0 0 0 0 1 symversion=0.1 } C 72500 44300 1 0 0 capacitor-1.sym { T 72700 45000 5 10 0 0 0 0 1 device=CAPACITOR T 72700 44800 5 10 1 1 0 0 1 refdes=C? T 72700 45200 5 10 0 0 0 0 1 symversion=0.1 } C 72500 43300 1 0 0 capacitor-1.sym { T 72700 44000 5 10 0 0 0 0 1 device=CAPACITOR T 72700 43800 5 10 1 1 0 0 1 refdes=C? T 72700 44200 5 10 0 0 0 0 1 symversion=0.1 } N 71900 43500 72500 42500 4 N 71900 44500 72500 43500 4 N 74000 43500 73400 44500 4 N 73400 43500 74000 42500 4 C 74000 44300 1 0 0 capacitor-1.sym { T 74200 45000 5 10 0 0 0 0 1 device=CAPACITOR T 74200 44800 5 10 1 1 0 0 1 refdes=C? T 74200 45200 5 10 0 0 0 0 1 symversion=0.1 } C 74000 43300 1 0 0 capacitor-1.sym { T 74200 44000 5 10 0 0 0 0 1 device=CAPACITOR T 74200 43800 5 10 1 1 0 0 1 refdes=C? T 74200 44200 5 10 0 0 0 0 1 symversion=0.1 } C 75500 44300 1 0 0 capacitor-1.sym { T 75700 45000 5 10 0 0 0 0 1 device=CAPACITOR T 75700 44800 5 10 1 1 0 0 1 refdes=C? T 75700 45200 5 10 0 0 0 0 1 symversion=0.1 } C 75500 43300 1 0 0 capacitor-1.sym { T 75700 44000 5 10 0 0 0 0 1 device=CAPACITOR T 75700 43800 5 10 1 1 0 0 1 refdes=C? T 75700 44200 5 10 0 0 0 0 1 symversion=0.1 } N 74900 43500 75500 42500 4 N 74900 44500 75500 43500 4 N 77000 43500 76400 44500 4 N 76400 43500 77000 42500 4 C 71000 42300 1 0 0 capacitor-1.sym { T 71200 43000 5 10 0 0 0 0 1 device=CAPACITOR T 71200 42800 5 10 1 1 0 0 1 refdes=C? T 71200 43200 5 10 0 0 0 0 1 symversion=0.1 } C 71000 41300 1 0 0 capacitor-1.sym { T 71200 42000 5 10 0 0 0 0 1 device=CAPACITOR T 71200 41800 5 10 1 1 0 0 1 refdes=C? T 71200 42200 5 10 0 0 0 0 1 symversion=0.1 } C 72500 42300 1 0 0 capacitor-1.sym { T 72700 43000 5 10 0 0 0 0 1 device=CAPACITOR T 72700 42800 5 10 1 1 0 0 1 refdes=C? T 72700 43200 5 10 0 0 0 0 1 symversion=0.1 } C 72500 41300 1 0 0 capacitor-1.sym { T 72700 42000 5 10 0 0 0 0 1 device=CAPACITOR T 72700 41800 5 10 1 1 0 0 1 refdes=C? T 72700 42200 5 10 0 0 0 0 1 symversion=0.1 } N 71900 41500 72500 40500 4 N 71900 42500 72500 41500 4 N 74000 41500 73400 42500 4 N 73400 41500 74000 40500 4 C 74000 42300 1 0 0 capacitor-1.sym { T 74200 43000 5 10 0 0 0 0 1 device=CAPACITOR T 74200 42800 5 10 1 1 0 0 1 refdes=C? T 74200 43200 5 10 0 0 0 0 1 symversion=0.1 } C 74000 41300 1 0 0 capacitor-1.sym { T 74200 42000 5 10 0 0 0 0 1 device=CAPACITOR T 74200 41800 5 10 1 1 0 0 1 refdes=C? T 74200 42200 5 10 0 0 0 0 1 symversion=0.1 } C 75500 42300 1 0 0 capacitor-1.sym { T 75700 43000 5 10 0 0 0 0 1 device=CAPACITOR T 75700 42800 5 10 1 1 0 0 1 refdes=C? T 75700 43200 5 10 0 0 0 0 1 symversion=0.1 } C 75500 41300 1 0 0 capacitor-1.sym { T 75700 42000 5 10 0 0 0 0 1 device=CAPACITOR T 75700 41800 5 10 1 1 0 0 1 refdes=C? T 75700 42200 5 10 0 0 0 0 1 symversion=0.1 } N 74900 41500 75500 40500 4 N 74900 42500 75500 41500 4 N 77000 41500 76400 42500 4 N 76400 41500 77000 40500 4 C 65000 40300 1 0 0 capacitor-1.sym { T 65200 41000 5 10 0 0 0 0 1 device=CAPACITOR T 65200 40800 5 10 1 1 0 0 1 refdes=C? T 65200 41200 5 10 0 0 0 0 1 symversion=0.1 } C 65000 39300 1 0 0 capacitor-1.sym { T 65200 40000 5 10 0 0 0 0 1 device=CAPACITOR T 65200 39800 5 10 1 1 0 0 1 refdes=C? T 65200 40200 5 10 0 0 0 0 1 symversion=0.1 } C 66500 40300 1 0 0 capacitor-1.sym { T 66700 41000 5 10 0 0 0 0 1 device=CAPACITOR T 66700 40800 5 10 1 1 0 0 1 refdes=C? T 66700 41200 5 10 0 0 0 0 1 symversion=0.1 } C 66500 39300 1 0 0 capacitor-1.sym { T 66700 40000 5 10 0 0 0 0 1 device=CAPACITOR T 66700 39800 5 10 1 1 0 0 1 refdes=C? T 66700 40200 5 10 0 0 0 0 1 symversion=0.1 } N 65900 39500 66500 38500 4 N 65900 40500 66500 39500 4 N 68000 39500 67400 40500 4 N 67400 39500 68000 38500 4 C 68000 40300 1 0 0 capacitor-1.sym { T 68200 41000 5 10 0 0 0 0 1 device=CAPACITOR T 68200 40800 5 10 1 1 0 0 1 refdes=C? T 68200 41200 5 10 0 0 0 0 1 symversion=0.1 } C 68000 39300 1 0 0 capacitor-1.sym { T 68200 40000 5 10 0 0 0 0 1 device=CAPACITOR T 68200 39800 5 10 1 1 0 0 1 refdes=C? T 68200 40200 5 10 0 0 0 0 1 symversion=0.1 } C 69500 40300 1 0 0 capacitor-1.sym { T 69700 41000 5 10 0 0 0 0 1 device=CAPACITOR T 69700 40800 5 10 1 1 0 0 1 refdes=C? T 69700 41200 5 10 0 0 0 0 1 symversion=0.1 } C 69500 39300 1 0 0 capacitor-1.sym { T 69700 40000 5 10 0 0 0 0 1 device=CAPACITOR T 69700 39800 5 10 1 1 0 0 1 refdes=C? T 69700 40200 5 10 0 0 0 0 1 symversion=0.1 } N 68900 39500 69500 38500 4 N 68900 40500 69500 39500 4 N 71000 39500 70400 40500 4 N 70400 39500 71000 38500 4 C 65000 38300 1 0 0 capacitor-1.sym { T 65200 39000 5 10 0 0 0 0 1 device=CAPACITOR T 65200 38800 5 10 1 1 0 0 1 refdes=C? T 65200 39200 5 10 0 0 0 0 1 symversion=0.1 } C 65000 37300 1 0 0 capacitor-1.sym { T 65200 38000 5 10 0 0 0 0 1 device=CAPACITOR T 65200 37800 5 10 1 1 0 0 1 refdes=C? T 65200 38200 5 10 0 0 0 0 1 symversion=0.1 } C 66500 38300 1 0 0 capacitor-1.sym { T 66700 39000 5 10 0 0 0 0 1 device=CAPACITOR T 66700 38800 5 10 1 1 0 0 1 refdes=C? T 66700 39200 5 10 0 0 0 0 1 symversion=0.1 } C 66500 37300 1 0 0 capacitor-1.sym { T 66700 38000 5 10 0 0 0 0 1 device=CAPACITOR T 66700 37800 5 10 1 1 0 0 1 refdes=C? T 66700 38200 5 10 0 0 0 0 1 symversion=0.1 } N 65900 37500 66500 36500 4 N 65900 38500 66500 37500 4 N 68000 37500 67400 38500 4 N 67400 37500 68000 36500 4 C 68000 38300 1 0 0 capacitor-1.sym { T 68200 39000 5 10 0 0 0 0 1 device=CAPACITOR T 68200 38800 5 10 1 1 0 0 1 refdes=C? T 68200 39200 5 10 0 0 0 0 1 symversion=0.1 } C 68000 37300 1 0 0 capacitor-1.sym { T 68200 38000 5 10 0 0 0 0 1 device=CAPACITOR T 68200 37800 5 10 1 1 0 0 1 refdes=C? T 68200 38200 5 10 0 0 0 0 1 symversion=0.1 } C 69500 38300 1 0 0 capacitor-1.sym { T 69700 39000 5 10 0 0 0 0 1 device=CAPACITOR T 69700 38800 5 10 1 1 0 0 1 refdes=C? T 69700 39200 5 10 0 0 0 0 1 symversion=0.1 } C 69500 37300 1 0 0 capacitor-1.sym { T 69700 38000 5 10 0 0 0 0 1 device=CAPACITOR T 69700 37800 5 10 1 1 0 0 1 refdes=C? T 69700 38200 5 10 0 0 0 0 1 symversion=0.1 } N 68900 37500 69500 36500 4 N 68900 38500 69500 37500 4 N 71000 37500 70400 38500 4 N 70400 37500 71000 36500 4 C 71000 40300 1 0 0 capacitor-1.sym { T 71200 41000 5 10 0 0 0 0 1 device=CAPACITOR T 71200 40800 5 10 1 1 0 0 1 refdes=C? T 71200 41200 5 10 0 0 0 0 1 symversion=0.1 } C 71000 39300 1 0 0 capacitor-1.sym { T 71200 40000 5 10 0 0 0 0 1 device=CAPACITOR T 71200 39800 5 10 1 1 0 0 1 refdes=C? T 71200 40200 5 10 0 0 0 0 1 symversion=0.1 } C 72500 40300 1 0 0 capacitor-1.sym { T 72700 41000 5 10 0 0 0 0 1 device=CAPACITOR T 72700 40800 5 10 1 1 0 0 1 refdes=C? T 72700 41200 5 10 0 0 0 0 1 symversion=0.1 } C 72500 39300 1 0 0 capacitor-1.sym { T 72700 40000 5 10 0 0 0 0 1 device=CAPACITOR T 72700 39800 5 10 1 1 0 0 1 refdes=C? T 72700 40200 5 10 0 0 0 0 1 symversion=0.1 } N 71900 39500 72500 38500 4 N 71900 40500 72500 39500 4 N 74000 39500 73400 40500 4 N 73400 39500 74000 38500 4 C 74000 40300 1 0 0 capacitor-1.sym { T 74200 41000 5 10 0 0 0 0 1 device=CAPACITOR T 74200 40800 5 10 1 1 0 0 1 refdes=C? T 74200 41200 5 10 0 0 0 0 1 symversion=0.1 } C 74000 39300 1 0 0 capacitor-1.sym { T 74200 40000 5 10 0 0 0 0 1 device=CAPACITOR T 74200 39800 5 10 1 1 0 0 1 refdes=C? T 74200 40200 5 10 0 0 0 0 1 symversion=0.1 } C 75500 40300 1 0 0 capacitor-1.sym { T 75700 41000 5 10 0 0 0 0 1 device=CAPACITOR T 75700 40800 5 10 1 1 0 0 1 refdes=C? T 75700 41200 5 10 0 0 0 0 1 symversion=0.1 } C 75500 39300 1 0 0 capacitor-1.sym { T 75700 40000 5 10 0 0 0 0 1 device=CAPACITOR T 75700 39800 5 10 1 1 0 0 1 refdes=C? T 75700 40200 5 10 0 0 0 0 1 symversion=0.1 } N 74900 39500 75500 38500 4 N 74900 40500 75500 39500 4 N 77000 39500 76400 40500 4 N 76400 39500 77000 38500 4 C 71000 38300 1 0 0 capacitor-1.sym { T 71200 39000 5 10 0 0 0 0 1 device=CAPACITOR T 71200 38800 5 10 1 1 0 0 1 refdes=C? T 71200 39200 5 10 0 0 0 0 1 symversion=0.1 } C 71000 37300 1 0 0 capacitor-1.sym { T 71200 38000 5 10 0 0 0 0 1 device=CAPACITOR T 71200 37800 5 10 1 1 0 0 1 refdes=C? T 71200 38200 5 10 0 0 0 0 1 symversion=0.1 } C 72500 38300 1 0 0 capacitor-1.sym { T 72700 39000 5 10 0 0 0 0 1 device=CAPACITOR T 72700 38800 5 10 1 1 0 0 1 refdes=C? T 72700 39200 5 10 0 0 0 0 1 symversion=0.1 } C 72500 37300 1 0 0 capacitor-1.sym { T 72700 38000 5 10 0 0 0 0 1 device=CAPACITOR T 72700 37800 5 10 1 1 0 0 1 refdes=C? T 72700 38200 5 10 0 0 0 0 1 symversion=0.1 } N 71900 37500 72500 36500 4 N 71900 38500 72500 37500 4 N 74000 37500 73400 38500 4 N 73400 37500 74000 36500 4 C 74000 38300 1 0 0 capacitor-1.sym { T 74200 39000 5 10 0 0 0 0 1 device=CAPACITOR T 74200 38800 5 10 1 1 0 0 1 refdes=C? T 74200 39200 5 10 0 0 0 0 1 symversion=0.1 } C 74000 37300 1 0 0 capacitor-1.sym { T 74200 38000 5 10 0 0 0 0 1 device=CAPACITOR T 74200 37800 5 10 1 1 0 0 1 refdes=C? T 74200 38200 5 10 0 0 0 0 1 symversion=0.1 } C 75500 38300 1 0 0 capacitor-1.sym { T 75700 39000 5 10 0 0 0 0 1 device=CAPACITOR T 75700 38800 5 10 1 1 0 0 1 refdes=C? T 75700 39200 5 10 0 0 0 0 1 symversion=0.1 } C 75500 37300 1 0 0 capacitor-1.sym { T 75700 38000 5 10 0 0 0 0 1 device=CAPACITOR T 75700 37800 5 10 1 1 0 0 1 refdes=C? T 75700 38200 5 10 0 0 0 0 1 symversion=0.1 } N 74900 37500 75500 36500 4 N 74900 38500 75500 37500 4 N 77000 37500 76400 38500 4 N 76400 37500 77000 36500 4 C 77000 44300 1 0 0 capacitor-1.sym { T 77200 45000 5 10 0 0 0 0 1 device=CAPACITOR T 77200 44800 5 10 1 1 0 0 1 refdes=C? T 77200 45200 5 10 0 0 0 0 1 symversion=0.1 } C 77000 43300 1 0 0 capacitor-1.sym { T 77200 44000 5 10 0 0 0 0 1 device=CAPACITOR T 77200 43800 5 10 1 1 0 0 1 refdes=C? T 77200 44200 5 10 0 0 0 0 1 symversion=0.1 } C 78500 44300 1 0 0 capacitor-1.sym { T 78700 45000 5 10 0 0 0 0 1 device=CAPACITOR T 78700 44800 5 10 1 1 0 0 1 refdes=C? T 78700 45200 5 10 0 0 0 0 1 symversion=0.1 } C 78500 43300 1 0 0 capacitor-1.sym { T 78700 44000 5 10 0 0 0 0 1 device=CAPACITOR T 78700 43800 5 10 1 1 0 0 1 refdes=C? T 78700 44200 5 10 0 0 0 0 1 symversion=0.1 } N 77900 43500 78500 42500 4 N 77900 44500 78500 43500 4 N 80000 43500 79400 44500 4 N 79400 43500 80000 42500 4 C 80000 44300 1 0 0 capacitor-1.sym { T 80200 45000 5 10 0 0 0 0 1 device=CAPACITOR T 80200 44800 5 10 1 1 0 0 1 refdes=C? T 80200 45200 5 10 0 0 0 0 1 symversion=0.1 } C 80000 43300 1 0 0 capacitor-1.sym { T 80200 44000 5 10 0 0 0 0 1 device=CAPACITOR T 80200 43800 5 10 1 1 0 0 1 refdes=C? T 80200 44200 5 10 0 0 0 0 1 symversion=0.1 } C 81500 44300 1 0 0 capacitor-1.sym { T 81700 45000 5 10 0 0 0 0 1 device=CAPACITOR T 81700 44800 5 10 1 1 0 0 1 refdes=C? T 81700 45200 5 10 0 0 0 0 1 symversion=0.1 } C 81500 43300 1 0 0 capacitor-1.sym { T 81700 44000 5 10 0 0 0 0 1 device=CAPACITOR T 81700 43800 5 10 1 1 0 0 1 refdes=C? T 81700 44200 5 10 0 0 0 0 1 symversion=0.1 } N 80900 43500 81500 42500 4 N 80900 44500 81500 43500 4 N 83000 43500 82400 44500 4 N 82400 43500 83000 42500 4 C 77000 42300 1 0 0 capacitor-1.sym { T 77200 43000 5 10 0 0 0 0 1 device=CAPACITOR T 77200 42800 5 10 1 1 0 0 1 refdes=C? T 77200 43200 5 10 0 0 0 0 1 symversion=0.1 } C 77000 41300 1 0 0 capacitor-1.sym { T 77200 42000 5 10 0 0 0 0 1 device=CAPACITOR T 77200 41800 5 10 1 1 0 0 1 refdes=C? T 77200 42200 5 10 0 0 0 0 1 symversion=0.1 } C 78500 42300 1 0 0 capacitor-1.sym { T 78700 43000 5 10 0 0 0 0 1 device=CAPACITOR T 78700 42800 5 10 1 1 0 0 1 refdes=C? T 78700 43200 5 10 0 0 0 0 1 symversion=0.1 } C 78500 41300 1 0 0 capacitor-1.sym { T 78700 42000 5 10 0 0 0 0 1 device=CAPACITOR T 78700 41800 5 10 1 1 0 0 1 refdes=C? T 78700 42200 5 10 0 0 0 0 1 symversion=0.1 } N 77900 41500 78500 40500 4 N 77900 42500 78500 41500 4 N 80000 41500 79400 42500 4 N 79400 41500 80000 40500 4 C 80000 42300 1 0 0 capacitor-1.sym { T 80200 43000 5 10 0 0 0 0 1 device=CAPACITOR T 80200 42800 5 10 1 1 0 0 1 refdes=C? T 80200 43200 5 10 0 0 0 0 1 symversion=0.1 } C 80000 41300 1 0 0 capacitor-1.sym { T 80200 42000 5 10 0 0 0 0 1 device=CAPACITOR T 80200 41800 5 10 1 1 0 0 1 refdes=C? T 80200 42200 5 10 0 0 0 0 1 symversion=0.1 } C 81500 42300 1 0 0 capacitor-1.sym { T 81700 43000 5 10 0 0 0 0 1 device=CAPACITOR T 81700 42800 5 10 1 1 0 0 1 refdes=C? T 81700 43200 5 10 0 0 0 0 1 symversion=0.1 } C 81500 41300 1 0 0 capacitor-1.sym { T 81700 42000 5 10 0 0 0 0 1 device=CAPACITOR T 81700 41800 5 10 1 1 0 0 1 refdes=C? T 81700 42200 5 10 0 0 0 0 1 symversion=0.1 } N 80900 41500 81500 40500 4 N 80900 42500 81500 41500 4 N 83000 41500 82400 42500 4 N 82400 41500 83000 40500 4 C 83000 44300 1 0 0 capacitor-1.sym { T 83200 45000 5 10 0 0 0 0 1 device=CAPACITOR T 83200 44800 5 10 1 1 0 0 1 refdes=C? T 83200 45200 5 10 0 0 0 0 1 symversion=0.1 } C 83000 43300 1 0 0 capacitor-1.sym { T 83200 44000 5 10 0 0 0 0 1 device=CAPACITOR T 83200 43800 5 10 1 1 0 0 1 refdes=C? T 83200 44200 5 10 0 0 0 0 1 symversion=0.1 } C 84500 44300 1 0 0 capacitor-1.sym { T 84700 45000 5 10 0 0 0 0 1 device=CAPACITOR T 84700 44800 5 10 1 1 0 0 1 refdes=C? T 84700 45200 5 10 0 0 0 0 1 symversion=0.1 } C 84500 43300 1 0 0 capacitor-1.sym { T 84700 44000 5 10 0 0 0 0 1 device=CAPACITOR T 84700 43800 5 10 1 1 0 0 1 refdes=C? T 84700 44200 5 10 0 0 0 0 1 symversion=0.1 } N 83900 43500 84500 42500 4 N 83900 44500 84500 43500 4 N 86000 43500 85400 44500 4 N 85400 43500 86000 42500 4 C 86000 44300 1 0 0 capacitor-1.sym { T 86200 45000 5 10 0 0 0 0 1 device=CAPACITOR T 86200 44800 5 10 1 1 0 0 1 refdes=C? T 86200 45200 5 10 0 0 0 0 1 symversion=0.1 } C 86000 43300 1 0 0 capacitor-1.sym { T 86200 44000 5 10 0 0 0 0 1 device=CAPACITOR T 86200 43800 5 10 1 1 0 0 1 refdes=C? T 86200 44200 5 10 0 0 0 0 1 symversion=0.1 } C 87500 44300 1 0 0 capacitor-1.sym { T 87700 45000 5 10 0 0 0 0 1 device=CAPACITOR T 87700 44800 5 10 1 1 0 0 1 refdes=C? T 87700 45200 5 10 0 0 0 0 1 symversion=0.1 } C 87500 43300 1 0 0 capacitor-1.sym { T 87700 44000 5 10 0 0 0 0 1 device=CAPACITOR T 87700 43800 5 10 1 1 0 0 1 refdes=C? T 87700 44200 5 10 0 0 0 0 1 symversion=0.1 } N 86900 43500 87500 42500 4 N 86900 44500 87500 43500 4 N 89000 43500 88400 44500 4 N 88400 43500 89000 42500 4 C 83000 42300 1 0 0 capacitor-1.sym { T 83200 43000 5 10 0 0 0 0 1 device=CAPACITOR T 83200 42800 5 10 1 1 0 0 1 refdes=C? T 83200 43200 5 10 0 0 0 0 1 symversion=0.1 } C 83000 41300 1 0 0 capacitor-1.sym { T 83200 42000 5 10 0 0 0 0 1 device=CAPACITOR T 83200 41800 5 10 1 1 0 0 1 refdes=C? T 83200 42200 5 10 0 0 0 0 1 symversion=0.1 } C 84500 42300 1 0 0 capacitor-1.sym { T 84700 43000 5 10 0 0 0 0 1 device=CAPACITOR T 84700 42800 5 10 1 1 0 0 1 refdes=C? T 84700 43200 5 10 0 0 0 0 1 symversion=0.1 } C 84500 41300 1 0 0 capacitor-1.sym { T 84700 42000 5 10 0 0 0 0 1 device=CAPACITOR T 84700 41800 5 10 1 1 0 0 1 refdes=C? T 84700 42200 5 10 0 0 0 0 1 symversion=0.1 } N 83900 41500 84500 40500 4 N 83900 42500 84500 41500 4 N 86000 41500 85400 42500 4 N 85400 41500 86000 40500 4 C 86000 42300 1 0 0 capacitor-1.sym { T 86200 43000 5 10 0 0 0 0 1 device=CAPACITOR T 86200 42800 5 10 1 1 0 0 1 refdes=C? T 86200 43200 5 10 0 0 0 0 1 symversion=0.1 } C 86000 41300 1 0 0 capacitor-1.sym { T 86200 42000 5 10 0 0 0 0 1 device=CAPACITOR T 86200 41800 5 10 1 1 0 0 1 refdes=C? T 86200 42200 5 10 0 0 0 0 1 symversion=0.1 } C 87500 42300 1 0 0 capacitor-1.sym { T 87700 43000 5 10 0 0 0 0 1 device=CAPACITOR T 87700 42800 5 10 1 1 0 0 1 refdes=C? T 87700 43200 5 10 0 0 0 0 1 symversion=0.1 } C 87500 41300 1 0 0 capacitor-1.sym { T 87700 42000 5 10 0 0 0 0 1 device=CAPACITOR T 87700 41800 5 10 1 1 0 0 1 refdes=C? T 87700 42200 5 10 0 0 0 0 1 symversion=0.1 } N 86900 41500 87500 40500 4 N 86900 42500 87500 41500 4 N 89000 41500 88400 42500 4 N 88400 41500 89000 40500 4 C 77000 40300 1 0 0 capacitor-1.sym { T 77200 41000 5 10 0 0 0 0 1 device=CAPACITOR T 77200 40800 5 10 1 1 0 0 1 refdes=C? T 77200 41200 5 10 0 0 0 0 1 symversion=0.1 } C 77000 39300 1 0 0 capacitor-1.sym { T 77200 40000 5 10 0 0 0 0 1 device=CAPACITOR T 77200 39800 5 10 1 1 0 0 1 refdes=C? T 77200 40200 5 10 0 0 0 0 1 symversion=0.1 } C 78500 40300 1 0 0 capacitor-1.sym { T 78700 41000 5 10 0 0 0 0 1 device=CAPACITOR T 78700 40800 5 10 1 1 0 0 1 refdes=C? T 78700 41200 5 10 0 0 0 0 1 symversion=0.1 } C 78500 39300 1 0 0 capacitor-1.sym { T 78700 40000 5 10 0 0 0 0 1 device=CAPACITOR T 78700 39800 5 10 1 1 0 0 1 refdes=C? T 78700 40200 5 10 0 0 0 0 1 symversion=0.1 } N 77900 39500 78500 38500 4 N 77900 40500 78500 39500 4 N 80000 39500 79400 40500 4 N 79400 39500 80000 38500 4 C 80000 40300 1 0 0 capacitor-1.sym { T 80200 41000 5 10 0 0 0 0 1 device=CAPACITOR T 80200 40800 5 10 1 1 0 0 1 refdes=C? T 80200 41200 5 10 0 0 0 0 1 symversion=0.1 } C 80000 39300 1 0 0 capacitor-1.sym { T 80200 40000 5 10 0 0 0 0 1 device=CAPACITOR T 80200 39800 5 10 1 1 0 0 1 refdes=C? T 80200 40200 5 10 0 0 0 0 1 symversion=0.1 } C 81500 40300 1 0 0 capacitor-1.sym { T 81700 41000 5 10 0 0 0 0 1 device=CAPACITOR T 81700 40800 5 10 1 1 0 0 1 refdes=C? T 81700 41200 5 10 0 0 0 0 1 symversion=0.1 } C 81500 39300 1 0 0 capacitor-1.sym { T 81700 40000 5 10 0 0 0 0 1 device=CAPACITOR T 81700 39800 5 10 1 1 0 0 1 refdes=C? T 81700 40200 5 10 0 0 0 0 1 symversion=0.1 } N 80900 39500 81500 38500 4 N 80900 40500 81500 39500 4 N 83000 39500 82400 40500 4 N 82400 39500 83000 38500 4 C 77000 38300 1 0 0 capacitor-1.sym { T 77200 39000 5 10 0 0 0 0 1 device=CAPACITOR T 77200 38800 5 10 1 1 0 0 1 refdes=C? T 77200 39200 5 10 0 0 0 0 1 symversion=0.1 } C 77000 37300 1 0 0 capacitor-1.sym { T 77200 38000 5 10 0 0 0 0 1 device=CAPACITOR T 77200 37800 5 10 1 1 0 0 1 refdes=C? T 77200 38200 5 10 0 0 0 0 1 symversion=0.1 } C 78500 38300 1 0 0 capacitor-1.sym { T 78700 39000 5 10 0 0 0 0 1 device=CAPACITOR T 78700 38800 5 10 1 1 0 0 1 refdes=C? T 78700 39200 5 10 0 0 0 0 1 symversion=0.1 } C 78500 37300 1 0 0 capacitor-1.sym { T 78700 38000 5 10 0 0 0 0 1 device=CAPACITOR T 78700 37800 5 10 1 1 0 0 1 refdes=C? T 78700 38200 5 10 0 0 0 0 1 symversion=0.1 } N 77900 37500 78500 36500 4 N 77900 38500 78500 37500 4 N 80000 37500 79400 38500 4 N 79400 37500 80000 36500 4 C 80000 38300 1 0 0 capacitor-1.sym { T 80200 39000 5 10 0 0 0 0 1 device=CAPACITOR T 80200 38800 5 10 1 1 0 0 1 refdes=C? T 80200 39200 5 10 0 0 0 0 1 symversion=0.1 } C 80000 37300 1 0 0 capacitor-1.sym { T 80200 38000 5 10 0 0 0 0 1 device=CAPACITOR T 80200 37800 5 10 1 1 0 0 1 refdes=C? T 80200 38200 5 10 0 0 0 0 1 symversion=0.1 } C 81500 38300 1 0 0 capacitor-1.sym { T 81700 39000 5 10 0 0 0 0 1 device=CAPACITOR T 81700 38800 5 10 1 1 0 0 1 refdes=C? T 81700 39200 5 10 0 0 0 0 1 symversion=0.1 } C 81500 37300 1 0 0 capacitor-1.sym { T 81700 38000 5 10 0 0 0 0 1 device=CAPACITOR T 81700 37800 5 10 1 1 0 0 1 refdes=C? T 81700 38200 5 10 0 0 0 0 1 symversion=0.1 } N 80900 37500 81500 36500 4 N 80900 38500 81500 37500 4 N 83000 37500 82400 38500 4 N 82400 37500 83000 36500 4 C 83000 40300 1 0 0 capacitor-1.sym { T 83200 41000 5 10 0 0 0 0 1 device=CAPACITOR T 83200 40800 5 10 1 1 0 0 1 refdes=C? T 83200 41200 5 10 0 0 0 0 1 symversion=0.1 } C 83000 39300 1 0 0 capacitor-1.sym { T 83200 40000 5 10 0 0 0 0 1 device=CAPACITOR T 83200 39800 5 10 1 1 0 0 1 refdes=C? T 83200 40200 5 10 0 0 0 0 1 symversion=0.1 } C 84500 40300 1 0 0 capacitor-1.sym { T 84700 41000 5 10 0 0 0 0 1 device=CAPACITOR T 84700 40800 5 10 1 1 0 0 1 refdes=C? T 84700 41200 5 10 0 0 0 0 1 symversion=0.1 } C 84500 39300 1 0 0 capacitor-1.sym { T 84700 40000 5 10 0 0 0 0 1 device=CAPACITOR T 84700 39800 5 10 1 1 0 0 1 refdes=C? T 84700 40200 5 10 0 0 0 0 1 symversion=0.1 } N 83900 39500 84500 38500 4 N 83900 40500 84500 39500 4 N 86000 39500 85400 40500 4 N 85400 39500 86000 38500 4 C 86000 40300 1 0 0 capacitor-1.sym { T 86200 41000 5 10 0 0 0 0 1 device=CAPACITOR T 86200 40800 5 10 1 1 0 0 1 refdes=C? T 86200 41200 5 10 0 0 0 0 1 symversion=0.1 } C 86000 39300 1 0 0 capacitor-1.sym { T 86200 40000 5 10 0 0 0 0 1 device=CAPACITOR T 86200 39800 5 10 1 1 0 0 1 refdes=C? T 86200 40200 5 10 0 0 0 0 1 symversion=0.1 } C 87500 40300 1 0 0 capacitor-1.sym { T 87700 41000 5 10 0 0 0 0 1 device=CAPACITOR T 87700 40800 5 10 1 1 0 0 1 refdes=C? T 87700 41200 5 10 0 0 0 0 1 symversion=0.1 } C 87500 39300 1 0 0 capacitor-1.sym { T 87700 40000 5 10 0 0 0 0 1 device=CAPACITOR T 87700 39800 5 10 1 1 0 0 1 refdes=C? T 87700 40200 5 10 0 0 0 0 1 symversion=0.1 } N 86900 39500 87500 38500 4 N 86900 40500 87500 39500 4 N 89000 39500 88400 40500 4 N 88400 39500 89000 38500 4 C 83000 38300 1 0 0 capacitor-1.sym { T 83200 39000 5 10 0 0 0 0 1 device=CAPACITOR T 83200 38800 5 10 1 1 0 0 1 refdes=C? T 83200 39200 5 10 0 0 0 0 1 symversion=0.1 } C 83000 37300 1 0 0 capacitor-1.sym { T 83200 38000 5 10 0 0 0 0 1 device=CAPACITOR T 83200 37800 5 10 1 1 0 0 1 refdes=C? T 83200 38200 5 10 0 0 0 0 1 symversion=0.1 } C 84500 38300 1 0 0 capacitor-1.sym { T 84700 39000 5 10 0 0 0 0 1 device=CAPACITOR T 84700 38800 5 10 1 1 0 0 1 refdes=C? T 84700 39200 5 10 0 0 0 0 1 symversion=0.1 } C 84500 37300 1 0 0 capacitor-1.sym { T 84700 38000 5 10 0 0 0 0 1 device=CAPACITOR T 84700 37800 5 10 1 1 0 0 1 refdes=C? T 84700 38200 5 10 0 0 0 0 1 symversion=0.1 } N 83900 37500 84500 36500 4 N 83900 38500 84500 37500 4 N 86000 37500 85400 38500 4 N 85400 37500 86000 36500 4 C 86000 38300 1 0 0 capacitor-1.sym { T 86200 39000 5 10 0 0 0 0 1 device=CAPACITOR T 86200 38800 5 10 1 1 0 0 1 refdes=C? T 86200 39200 5 10 0 0 0 0 1 symversion=0.1 } C 86000 37300 1 0 0 capacitor-1.sym { T 86200 38000 5 10 0 0 0 0 1 device=CAPACITOR T 86200 37800 5 10 1 1 0 0 1 refdes=C? T 86200 38200 5 10 0 0 0 0 1 symversion=0.1 } C 87500 38300 1 0 0 capacitor-1.sym { T 87700 39000 5 10 0 0 0 0 1 device=CAPACITOR T 87700 38800 5 10 1 1 0 0 1 refdes=C? T 87700 39200 5 10 0 0 0 0 1 symversion=0.1 } C 87500 37300 1 0 0 capacitor-1.sym { T 87700 38000 5 10 0 0 0 0 1 device=CAPACITOR T 87700 37800 5 10 1 1 0 0 1 refdes=C? T 87700 38200 5 10 0 0 0 0 1 symversion=0.1 } N 86900 37500 87500 36500 4 N 86900 38500 87500 37500 4 N 89000 37500 88400 38500 4 N 88400 37500 89000 36500 4 C 65000 36300 1 0 0 capacitor-1.sym { T 65200 37000 5 10 0 0 0 0 1 device=CAPACITOR T 65200 36800 5 10 1 1 0 0 1 refdes=C? T 65200 37200 5 10 0 0 0 0 1 symversion=0.1 } C 65000 35300 1 0 0 capacitor-1.sym { T 65200 36000 5 10 0 0 0 0 1 device=CAPACITOR T 65200 35800 5 10 1 1 0 0 1 refdes=C? T 65200 36200 5 10 0 0 0 0 1 symversion=0.1 } C 66500 36300 1 0 0 capacitor-1.sym { T 66700 37000 5 10 0 0 0 0 1 device=CAPACITOR T 66700 36800 5 10 1 1 0 0 1 refdes=C? T 66700 37200 5 10 0 0 0 0 1 symversion=0.1 } C 66500 35300 1 0 0 capacitor-1.sym { T 66700 36000 5 10 0 0 0 0 1 device=CAPACITOR T 66700 35800 5 10 1 1 0 0 1 refdes=C? T 66700 36200 5 10 0 0 0 0 1 symversion=0.1 } N 65900 35500 66500 34500 4 N 65900 36500 66500 35500 4 N 68000 35500 67400 36500 4 N 67400 35500 68000 34500 4 C 68000 36300 1 0 0 capacitor-1.sym { T 68200 37000 5 10 0 0 0 0 1 device=CAPACITOR T 68200 36800 5 10 1 1 0 0 1 refdes=C? T 68200 37200 5 10 0 0 0 0 1 symversion=0.1 } C 68000 35300 1 0 0 capacitor-1.sym { T 68200 36000 5 10 0 0 0 0 1 device=CAPACITOR T 68200 35800 5 10 1 1 0 0 1 refdes=C? T 68200 36200 5 10 0 0 0 0 1 symversion=0.1 } C 69500 36300 1 0 0 capacitor-1.sym { T 69700 37000 5 10 0 0 0 0 1 device=CAPACITOR T 69700 36800 5 10 1 1 0 0 1 refdes=C? T 69700 37200 5 10 0 0 0 0 1 symversion=0.1 } C 69500 35300 1 0 0 capacitor-1.sym { T 69700 36000 5 10 0 0 0 0 1 device=CAPACITOR T 69700 35800 5 10 1 1 0 0 1 refdes=C? T 69700 36200 5 10 0 0 0 0 1 symversion=0.1 } N 68900 35500 69500 34500 4 N 68900 36500 69500 35500 4 N 71000 35500 70400 36500 4 N 70400 35500 71000 34500 4 C 65000 34300 1 0 0 capacitor-1.sym { T 65200 35000 5 10 0 0 0 0 1 device=CAPACITOR T 65200 34800 5 10 1 1 0 0 1 refdes=C? T 65200 35200 5 10 0 0 0 0 1 symversion=0.1 } C 65000 33300 1 0 0 capacitor-1.sym { T 65200 34000 5 10 0 0 0 0 1 device=CAPACITOR T 65200 33800 5 10 1 1 0 0 1 refdes=C? T 65200 34200 5 10 0 0 0 0 1 symversion=0.1 } C 66500 34300 1 0 0 capacitor-1.sym { T 66700 35000 5 10 0 0 0 0 1 device=CAPACITOR T 66700 34800 5 10 1 1 0 0 1 refdes=C? T 66700 35200 5 10 0 0 0 0 1 symversion=0.1 } C 66500 33300 1 0 0 capacitor-1.sym { T 66700 34000 5 10 0 0 0 0 1 device=CAPACITOR T 66700 33800 5 10 1 1 0 0 1 refdes=C? T 66700 34200 5 10 0 0 0 0 1 symversion=0.1 } N 65900 33500 66500 32500 4 N 65900 34500 66500 33500 4 N 68000 33500 67400 34500 4 N 67400 33500 68000 32500 4 C 68000 34300 1 0 0 capacitor-1.sym { T 68200 35000 5 10 0 0 0 0 1 device=CAPACITOR T 68200 34800 5 10 1 1 0 0 1 refdes=C? T 68200 35200 5 10 0 0 0 0 1 symversion=0.1 } C 68000 33300 1 0 0 capacitor-1.sym { T 68200 34000 5 10 0 0 0 0 1 device=CAPACITOR T 68200 33800 5 10 1 1 0 0 1 refdes=C? T 68200 34200 5 10 0 0 0 0 1 symversion=0.1 } C 69500 34300 1 0 0 capacitor-1.sym { T 69700 35000 5 10 0 0 0 0 1 device=CAPACITOR T 69700 34800 5 10 1 1 0 0 1 refdes=C? T 69700 35200 5 10 0 0 0 0 1 symversion=0.1 } C 69500 33300 1 0 0 capacitor-1.sym { T 69700 34000 5 10 0 0 0 0 1 device=CAPACITOR T 69700 33800 5 10 1 1 0 0 1 refdes=C? T 69700 34200 5 10 0 0 0 0 1 symversion=0.1 } N 68900 33500 69500 32500 4 N 68900 34500 69500 33500 4 N 71000 33500 70400 34500 4 N 70400 33500 71000 32500 4 C 71000 36300 1 0 0 capacitor-1.sym { T 71200 37000 5 10 0 0 0 0 1 device=CAPACITOR T 71200 36800 5 10 1 1 0 0 1 refdes=C? T 71200 37200 5 10 0 0 0 0 1 symversion=0.1 } C 71000 35300 1 0 0 capacitor-1.sym { T 71200 36000 5 10 0 0 0 0 1 device=CAPACITOR T 71200 35800 5 10 1 1 0 0 1 refdes=C? T 71200 36200 5 10 0 0 0 0 1 symversion=0.1 } C 72500 36300 1 0 0 capacitor-1.sym { T 72700 37000 5 10 0 0 0 0 1 device=CAPACITOR T 72700 36800 5 10 1 1 0 0 1 refdes=C? T 72700 37200 5 10 0 0 0 0 1 symversion=0.1 } C 72500 35300 1 0 0 capacitor-1.sym { T 72700 36000 5 10 0 0 0 0 1 device=CAPACITOR T 72700 35800 5 10 1 1 0 0 1 refdes=C? T 72700 36200 5 10 0 0 0 0 1 symversion=0.1 } N 71900 35500 72500 34500 4 N 71900 36500 72500 35500 4 N 74000 35500 73400 36500 4 N 73400 35500 74000 34500 4 C 74000 36300 1 0 0 capacitor-1.sym { T 74200 37000 5 10 0 0 0 0 1 device=CAPACITOR T 74200 36800 5 10 1 1 0 0 1 refdes=C? T 74200 37200 5 10 0 0 0 0 1 symversion=0.1 } C 74000 35300 1 0 0 capacitor-1.sym { T 74200 36000 5 10 0 0 0 0 1 device=CAPACITOR T 74200 35800 5 10 1 1 0 0 1 refdes=C? T 74200 36200 5 10 0 0 0 0 1 symversion=0.1 } C 75500 36300 1 0 0 capacitor-1.sym { T 75700 37000 5 10 0 0 0 0 1 device=CAPACITOR T 75700 36800 5 10 1 1 0 0 1 refdes=C? T 75700 37200 5 10 0 0 0 0 1 symversion=0.1 } C 75500 35300 1 0 0 capacitor-1.sym { T 75700 36000 5 10 0 0 0 0 1 device=CAPACITOR T 75700 35800 5 10 1 1 0 0 1 refdes=C? T 75700 36200 5 10 0 0 0 0 1 symversion=0.1 } N 74900 35500 75500 34500 4 N 74900 36500 75500 35500 4 N 77000 35500 76400 36500 4 N 76400 35500 77000 34500 4 C 71000 34300 1 0 0 capacitor-1.sym { T 71200 35000 5 10 0 0 0 0 1 device=CAPACITOR T 71200 34800 5 10 1 1 0 0 1 refdes=C? T 71200 35200 5 10 0 0 0 0 1 symversion=0.1 } C 71000 33300 1 0 0 capacitor-1.sym { T 71200 34000 5 10 0 0 0 0 1 device=CAPACITOR T 71200 33800 5 10 1 1 0 0 1 refdes=C? T 71200 34200 5 10 0 0 0 0 1 symversion=0.1 } C 72500 34300 1 0 0 capacitor-1.sym { T 72700 35000 5 10 0 0 0 0 1 device=CAPACITOR T 72700 34800 5 10 1 1 0 0 1 refdes=C? T 72700 35200 5 10 0 0 0 0 1 symversion=0.1 } C 72500 33300 1 0 0 capacitor-1.sym { T 72700 34000 5 10 0 0 0 0 1 device=CAPACITOR T 72700 33800 5 10 1 1 0 0 1 refdes=C? T 72700 34200 5 10 0 0 0 0 1 symversion=0.1 } N 71900 33500 72500 32500 4 N 71900 34500 72500 33500 4 N 74000 33500 73400 34500 4 N 73400 33500 74000 32500 4 C 74000 34300 1 0 0 capacitor-1.sym { T 74200 35000 5 10 0 0 0 0 1 device=CAPACITOR T 74200 34800 5 10 1 1 0 0 1 refdes=C? T 74200 35200 5 10 0 0 0 0 1 symversion=0.1 } C 74000 33300 1 0 0 capacitor-1.sym { T 74200 34000 5 10 0 0 0 0 1 device=CAPACITOR T 74200 33800 5 10 1 1 0 0 1 refdes=C? T 74200 34200 5 10 0 0 0 0 1 symversion=0.1 } C 75500 34300 1 0 0 capacitor-1.sym { T 75700 35000 5 10 0 0 0 0 1 device=CAPACITOR T 75700 34800 5 10 1 1 0 0 1 refdes=C? T 75700 35200 5 10 0 0 0 0 1 symversion=0.1 } C 75500 33300 1 0 0 capacitor-1.sym { T 75700 34000 5 10 0 0 0 0 1 device=CAPACITOR T 75700 33800 5 10 1 1 0 0 1 refdes=C? T 75700 34200 5 10 0 0 0 0 1 symversion=0.1 } N 74900 33500 75500 32500 4 N 74900 34500 75500 33500 4 N 77000 33500 76400 34500 4 N 76400 33500 77000 32500 4 C 65000 32300 1 0 0 capacitor-1.sym { T 65200 33000 5 10 0 0 0 0 1 device=CAPACITOR T 65200 32800 5 10 1 1 0 0 1 refdes=C? T 65200 33200 5 10 0 0 0 0 1 symversion=0.1 } C 65000 31300 1 0 0 capacitor-1.sym { T 65200 32000 5 10 0 0 0 0 1 device=CAPACITOR T 65200 31800 5 10 1 1 0 0 1 refdes=C? T 65200 32200 5 10 0 0 0 0 1 symversion=0.1 } C 66500 32300 1 0 0 capacitor-1.sym { T 66700 33000 5 10 0 0 0 0 1 device=CAPACITOR T 66700 32800 5 10 1 1 0 0 1 refdes=C? T 66700 33200 5 10 0 0 0 0 1 symversion=0.1 } C 66500 31300 1 0 0 capacitor-1.sym { T 66700 32000 5 10 0 0 0 0 1 device=CAPACITOR T 66700 31800 5 10 1 1 0 0 1 refdes=C? T 66700 32200 5 10 0 0 0 0 1 symversion=0.1 } N 65900 31500 66500 30500 4 N 65900 32500 66500 31500 4 N 68000 31500 67400 32500 4 N 67400 31500 68000 30500 4 C 68000 32300 1 0 0 capacitor-1.sym { T 68200 33000 5 10 0 0 0 0 1 device=CAPACITOR T 68200 32800 5 10 1 1 0 0 1 refdes=C? T 68200 33200 5 10 0 0 0 0 1 symversion=0.1 } C 68000 31300 1 0 0 capacitor-1.sym { T 68200 32000 5 10 0 0 0 0 1 device=CAPACITOR T 68200 31800 5 10 1 1 0 0 1 refdes=C? T 68200 32200 5 10 0 0 0 0 1 symversion=0.1 } C 69500 32300 1 0 0 capacitor-1.sym { T 69700 33000 5 10 0 0 0 0 1 device=CAPACITOR T 69700 32800 5 10 1 1 0 0 1 refdes=C? T 69700 33200 5 10 0 0 0 0 1 symversion=0.1 } C 69500 31300 1 0 0 capacitor-1.sym { T 69700 32000 5 10 0 0 0 0 1 device=CAPACITOR T 69700 31800 5 10 1 1 0 0 1 refdes=C? T 69700 32200 5 10 0 0 0 0 1 symversion=0.1 } N 68900 31500 69500 30500 4 N 68900 32500 69500 31500 4 N 71000 31500 70400 32500 4 N 70400 31500 71000 30500 4 C 65000 30300 1 0 0 capacitor-1.sym { T 65200 31000 5 10 0 0 0 0 1 device=CAPACITOR T 65200 30800 5 10 1 1 0 0 1 refdes=C? T 65200 31200 5 10 0 0 0 0 1 symversion=0.1 } C 65000 29300 1 0 0 capacitor-1.sym { T 65200 30000 5 10 0 0 0 0 1 device=CAPACITOR T 65200 29800 5 10 1 1 0 0 1 refdes=C? T 65200 30200 5 10 0 0 0 0 1 symversion=0.1 } C 66500 30300 1 0 0 capacitor-1.sym { T 66700 31000 5 10 0 0 0 0 1 device=CAPACITOR T 66700 30800 5 10 1 1 0 0 1 refdes=C? T 66700 31200 5 10 0 0 0 0 1 symversion=0.1 } C 66500 29300 1 0 0 capacitor-1.sym { T 66700 30000 5 10 0 0 0 0 1 device=CAPACITOR T 66700 29800 5 10 1 1 0 0 1 refdes=C? T 66700 30200 5 10 0 0 0 0 1 symversion=0.1 } N 65900 29500 66500 28500 4 N 65900 30500 66500 29500 4 N 68000 29500 67400 30500 4 N 67400 29500 68000 28500 4 C 68000 30300 1 0 0 capacitor-1.sym { T 68200 31000 5 10 0 0 0 0 1 device=CAPACITOR T 68200 30800 5 10 1 1 0 0 1 refdes=C? T 68200 31200 5 10 0 0 0 0 1 symversion=0.1 } C 68000 29300 1 0 0 capacitor-1.sym { T 68200 30000 5 10 0 0 0 0 1 device=CAPACITOR T 68200 29800 5 10 1 1 0 0 1 refdes=C? T 68200 30200 5 10 0 0 0 0 1 symversion=0.1 } C 69500 30300 1 0 0 capacitor-1.sym { T 69700 31000 5 10 0 0 0 0 1 device=CAPACITOR T 69700 30800 5 10 1 1 0 0 1 refdes=C? T 69700 31200 5 10 0 0 0 0 1 symversion=0.1 } C 69500 29300 1 0 0 capacitor-1.sym { T 69700 30000 5 10 0 0 0 0 1 device=CAPACITOR T 69700 29800 5 10 1 1 0 0 1 refdes=C? T 69700 30200 5 10 0 0 0 0 1 symversion=0.1 } N 68900 29500 69500 28500 4 N 68900 30500 69500 29500 4 N 71000 29500 70400 30500 4 N 70400 29500 71000 28500 4 C 71000 32300 1 0 0 capacitor-1.sym { T 71200 33000 5 10 0 0 0 0 1 device=CAPACITOR T 71200 32800 5 10 1 1 0 0 1 refdes=C? T 71200 33200 5 10 0 0 0 0 1 symversion=0.1 } C 71000 31300 1 0 0 capacitor-1.sym { T 71200 32000 5 10 0 0 0 0 1 device=CAPACITOR T 71200 31800 5 10 1 1 0 0 1 refdes=C? T 71200 32200 5 10 0 0 0 0 1 symversion=0.1 } C 72500 32300 1 0 0 capacitor-1.sym { T 72700 33000 5 10 0 0 0 0 1 device=CAPACITOR T 72700 32800 5 10 1 1 0 0 1 refdes=C? T 72700 33200 5 10 0 0 0 0 1 symversion=0.1 } C 72500 31300 1 0 0 capacitor-1.sym { T 72700 32000 5 10 0 0 0 0 1 device=CAPACITOR T 72700 31800 5 10 1 1 0 0 1 refdes=C? T 72700 32200 5 10 0 0 0 0 1 symversion=0.1 } N 71900 31500 72500 30500 4 N 71900 32500 72500 31500 4 N 74000 31500 73400 32500 4 N 73400 31500 74000 30500 4 C 74000 32300 1 0 0 capacitor-1.sym { T 74200 33000 5 10 0 0 0 0 1 device=CAPACITOR T 74200 32800 5 10 1 1 0 0 1 refdes=C? T 74200 33200 5 10 0 0 0 0 1 symversion=0.1 } C 74000 31300 1 0 0 capacitor-1.sym { T 74200 32000 5 10 0 0 0 0 1 device=CAPACITOR T 74200 31800 5 10 1 1 0 0 1 refdes=C? T 74200 32200 5 10 0 0 0 0 1 symversion=0.1 } C 75500 32300 1 0 0 capacitor-1.sym { T 75700 33000 5 10 0 0 0 0 1 device=CAPACITOR T 75700 32800 5 10 1 1 0 0 1 refdes=C? T 75700 33200 5 10 0 0 0 0 1 symversion=0.1 } C 75500 31300 1 0 0 capacitor-1.sym { T 75700 32000 5 10 0 0 0 0 1 device=CAPACITOR T 75700 31800 5 10 1 1 0 0 1 refdes=C? T 75700 32200 5 10 0 0 0 0 1 symversion=0.1 } N 74900 31500 75500 30500 4 N 74900 32500 75500 31500 4 N 77000 31500 76400 32500 4 N 76400 31500 77000 30500 4 C 71000 30300 1 0 0 capacitor-1.sym { T 71200 31000 5 10 0 0 0 0 1 device=CAPACITOR T 71200 30800 5 10 1 1 0 0 1 refdes=C? T 71200 31200 5 10 0 0 0 0 1 symversion=0.1 } C 71000 29300 1 0 0 capacitor-1.sym { T 71200 30000 5 10 0 0 0 0 1 device=CAPACITOR T 71200 29800 5 10 1 1 0 0 1 refdes=C? T 71200 30200 5 10 0 0 0 0 1 symversion=0.1 } C 72500 30300 1 0 0 capacitor-1.sym { T 72700 31000 5 10 0 0 0 0 1 device=CAPACITOR T 72700 30800 5 10 1 1 0 0 1 refdes=C? T 72700 31200 5 10 0 0 0 0 1 symversion=0.1 } C 72500 29300 1 0 0 capacitor-1.sym { T 72700 30000 5 10 0 0 0 0 1 device=CAPACITOR T 72700 29800 5 10 1 1 0 0 1 refdes=C? T 72700 30200 5 10 0 0 0 0 1 symversion=0.1 } N 71900 29500 72500 28500 4 N 71900 30500 72500 29500 4 N 74000 29500 73400 30500 4 N 73400 29500 74000 28500 4 C 74000 30300 1 0 0 capacitor-1.sym { T 74200 31000 5 10 0 0 0 0 1 device=CAPACITOR T 74200 30800 5 10 1 1 0 0 1 refdes=C? T 74200 31200 5 10 0 0 0 0 1 symversion=0.1 } C 74000 29300 1 0 0 capacitor-1.sym { T 74200 30000 5 10 0 0 0 0 1 device=CAPACITOR T 74200 29800 5 10 1 1 0 0 1 refdes=C? T 74200 30200 5 10 0 0 0 0 1 symversion=0.1 } C 75500 30300 1 0 0 capacitor-1.sym { T 75700 31000 5 10 0 0 0 0 1 device=CAPACITOR T 75700 30800 5 10 1 1 0 0 1 refdes=C? T 75700 31200 5 10 0 0 0 0 1 symversion=0.1 } C 75500 29300 1 0 0 capacitor-1.sym { T 75700 30000 5 10 0 0 0 0 1 device=CAPACITOR T 75700 29800 5 10 1 1 0 0 1 refdes=C? T 75700 30200 5 10 0 0 0 0 1 symversion=0.1 } N 74900 29500 75500 28500 4 N 74900 30500 75500 29500 4 N 77000 29500 76400 30500 4 N 76400 29500 77000 28500 4 C 77000 36300 1 0 0 capacitor-1.sym { T 77200 37000 5 10 0 0 0 0 1 device=CAPACITOR T 77200 36800 5 10 1 1 0 0 1 refdes=C? T 77200 37200 5 10 0 0 0 0 1 symversion=0.1 } C 77000 35300 1 0 0 capacitor-1.sym { T 77200 36000 5 10 0 0 0 0 1 device=CAPACITOR T 77200 35800 5 10 1 1 0 0 1 refdes=C? T 77200 36200 5 10 0 0 0 0 1 symversion=0.1 } C 78500 36300 1 0 0 capacitor-1.sym { T 78700 37000 5 10 0 0 0 0 1 device=CAPACITOR T 78700 36800 5 10 1 1 0 0 1 refdes=C? T 78700 37200 5 10 0 0 0 0 1 symversion=0.1 } C 78500 35300 1 0 0 capacitor-1.sym { T 78700 36000 5 10 0 0 0 0 1 device=CAPACITOR T 78700 35800 5 10 1 1 0 0 1 refdes=C? T 78700 36200 5 10 0 0 0 0 1 symversion=0.1 } N 77900 35500 78500 34500 4 N 77900 36500 78500 35500 4 N 80000 35500 79400 36500 4 N 79400 35500 80000 34500 4 C 80000 36300 1 0 0 capacitor-1.sym { T 80200 37000 5 10 0 0 0 0 1 device=CAPACITOR T 80200 36800 5 10 1 1 0 0 1 refdes=C? T 80200 37200 5 10 0 0 0 0 1 symversion=0.1 } C 80000 35300 1 0 0 capacitor-1.sym { T 80200 36000 5 10 0 0 0 0 1 device=CAPACITOR T 80200 35800 5 10 1 1 0 0 1 refdes=C? T 80200 36200 5 10 0 0 0 0 1 symversion=0.1 } C 81500 36300 1 0 0 capacitor-1.sym { T 81700 37000 5 10 0 0 0 0 1 device=CAPACITOR T 81700 36800 5 10 1 1 0 0 1 refdes=C? T 81700 37200 5 10 0 0 0 0 1 symversion=0.1 } C 81500 35300 1 0 0 capacitor-1.sym { T 81700 36000 5 10 0 0 0 0 1 device=CAPACITOR T 81700 35800 5 10 1 1 0 0 1 refdes=C? T 81700 36200 5 10 0 0 0 0 1 symversion=0.1 } N 80900 35500 81500 34500 4 N 80900 36500 81500 35500 4 N 83000 35500 82400 36500 4 N 82400 35500 83000 34500 4 C 77000 34300 1 0 0 capacitor-1.sym { T 77200 35000 5 10 0 0 0 0 1 device=CAPACITOR T 77200 34800 5 10 1 1 0 0 1 refdes=C? T 77200 35200 5 10 0 0 0 0 1 symversion=0.1 } C 77000 33300 1 0 0 capacitor-1.sym { T 77200 34000 5 10 0 0 0 0 1 device=CAPACITOR T 77200 33800 5 10 1 1 0 0 1 refdes=C? T 77200 34200 5 10 0 0 0 0 1 symversion=0.1 } C 78500 34300 1 0 0 capacitor-1.sym { T 78700 35000 5 10 0 0 0 0 1 device=CAPACITOR T 78700 34800 5 10 1 1 0 0 1 refdes=C? T 78700 35200 5 10 0 0 0 0 1 symversion=0.1 } C 78500 33300 1 0 0 capacitor-1.sym { T 78700 34000 5 10 0 0 0 0 1 device=CAPACITOR T 78700 33800 5 10 1 1 0 0 1 refdes=C? T 78700 34200 5 10 0 0 0 0 1 symversion=0.1 } N 77900 33500 78500 32500 4 N 77900 34500 78500 33500 4 N 80000 33500 79400 34500 4 N 79400 33500 80000 32500 4 C 80000 34300 1 0 0 capacitor-1.sym { T 80200 35000 5 10 0 0 0 0 1 device=CAPACITOR T 80200 34800 5 10 1 1 0 0 1 refdes=C? T 80200 35200 5 10 0 0 0 0 1 symversion=0.1 } C 80000 33300 1 0 0 capacitor-1.sym { T 80200 34000 5 10 0 0 0 0 1 device=CAPACITOR T 80200 33800 5 10 1 1 0 0 1 refdes=C? T 80200 34200 5 10 0 0 0 0 1 symversion=0.1 } C 81500 34300 1 0 0 capacitor-1.sym { T 81700 35000 5 10 0 0 0 0 1 device=CAPACITOR T 81700 34800 5 10 1 1 0 0 1 refdes=C? T 81700 35200 5 10 0 0 0 0 1 symversion=0.1 } C 81500 33300 1 0 0 capacitor-1.sym { T 81700 34000 5 10 0 0 0 0 1 device=CAPACITOR T 81700 33800 5 10 1 1 0 0 1 refdes=C? T 81700 34200 5 10 0 0 0 0 1 symversion=0.1 } N 80900 33500 81500 32500 4 N 80900 34500 81500 33500 4 N 83000 33500 82400 34500 4 N 82400 33500 83000 32500 4 C 83000 36300 1 0 0 capacitor-1.sym { T 83200 37000 5 10 0 0 0 0 1 device=CAPACITOR T 83200 36800 5 10 1 1 0 0 1 refdes=C? T 83200 37200 5 10 0 0 0 0 1 symversion=0.1 } C 83000 35300 1 0 0 capacitor-1.sym { T 83200 36000 5 10 0 0 0 0 1 device=CAPACITOR T 83200 35800 5 10 1 1 0 0 1 refdes=C? T 83200 36200 5 10 0 0 0 0 1 symversion=0.1 } C 84500 36300 1 0 0 capacitor-1.sym { T 84700 37000 5 10 0 0 0 0 1 device=CAPACITOR T 84700 36800 5 10 1 1 0 0 1 refdes=C? T 84700 37200 5 10 0 0 0 0 1 symversion=0.1 } C 84500 35300 1 0 0 capacitor-1.sym { T 84700 36000 5 10 0 0 0 0 1 device=CAPACITOR T 84700 35800 5 10 1 1 0 0 1 refdes=C? T 84700 36200 5 10 0 0 0 0 1 symversion=0.1 } N 83900 35500 84500 34500 4 N 83900 36500 84500 35500 4 N 86000 35500 85400 36500 4 N 85400 35500 86000 34500 4 C 86000 36300 1 0 0 capacitor-1.sym { T 86200 37000 5 10 0 0 0 0 1 device=CAPACITOR T 86200 36800 5 10 1 1 0 0 1 refdes=C? T 86200 37200 5 10 0 0 0 0 1 symversion=0.1 } C 86000 35300 1 0 0 capacitor-1.sym { T 86200 36000 5 10 0 0 0 0 1 device=CAPACITOR T 86200 35800 5 10 1 1 0 0 1 refdes=C? T 86200 36200 5 10 0 0 0 0 1 symversion=0.1 } C 87500 36300 1 0 0 capacitor-1.sym { T 87700 37000 5 10 0 0 0 0 1 device=CAPACITOR T 87700 36800 5 10 1 1 0 0 1 refdes=C? T 87700 37200 5 10 0 0 0 0 1 symversion=0.1 } C 87500 35300 1 0 0 capacitor-1.sym { T 87700 36000 5 10 0 0 0 0 1 device=CAPACITOR T 87700 35800 5 10 1 1 0 0 1 refdes=C? T 87700 36200 5 10 0 0 0 0 1 symversion=0.1 } N 86900 35500 87500 34500 4 N 86900 36500 87500 35500 4 N 89000 35500 88400 36500 4 N 88400 35500 89000 34500 4 C 83000 34300 1 0 0 capacitor-1.sym { T 83200 35000 5 10 0 0 0 0 1 device=CAPACITOR T 83200 34800 5 10 1 1 0 0 1 refdes=C? T 83200 35200 5 10 0 0 0 0 1 symversion=0.1 } C 83000 33300 1 0 0 capacitor-1.sym { T 83200 34000 5 10 0 0 0 0 1 device=CAPACITOR T 83200 33800 5 10 1 1 0 0 1 refdes=C? T 83200 34200 5 10 0 0 0 0 1 symversion=0.1 } C 84500 34300 1 0 0 capacitor-1.sym { T 84700 35000 5 10 0 0 0 0 1 device=CAPACITOR T 84700 34800 5 10 1 1 0 0 1 refdes=C? T 84700 35200 5 10 0 0 0 0 1 symversion=0.1 } C 84500 33300 1 0 0 capacitor-1.sym { T 84700 34000 5 10 0 0 0 0 1 device=CAPACITOR T 84700 33800 5 10 1 1 0 0 1 refdes=C? T 84700 34200 5 10 0 0 0 0 1 symversion=0.1 } N 83900 33500 84500 32500 4 N 83900 34500 84500 33500 4 N 86000 33500 85400 34500 4 N 85400 33500 86000 32500 4 C 86000 34300 1 0 0 capacitor-1.sym { T 86200 35000 5 10 0 0 0 0 1 device=CAPACITOR T 86200 34800 5 10 1 1 0 0 1 refdes=C? T 86200 35200 5 10 0 0 0 0 1 symversion=0.1 } C 86000 33300 1 0 0 capacitor-1.sym { T 86200 34000 5 10 0 0 0 0 1 device=CAPACITOR T 86200 33800 5 10 1 1 0 0 1 refdes=C? T 86200 34200 5 10 0 0 0 0 1 symversion=0.1 } C 87500 34300 1 0 0 capacitor-1.sym { T 87700 35000 5 10 0 0 0 0 1 device=CAPACITOR T 87700 34800 5 10 1 1 0 0 1 refdes=C? T 87700 35200 5 10 0 0 0 0 1 symversion=0.1 } C 87500 33300 1 0 0 capacitor-1.sym { T 87700 34000 5 10 0 0 0 0 1 device=CAPACITOR T 87700 33800 5 10 1 1 0 0 1 refdes=C? T 87700 34200 5 10 0 0 0 0 1 symversion=0.1 } N 86900 33500 87500 32500 4 N 86900 34500 87500 33500 4 N 89000 33500 88400 34500 4 N 88400 33500 89000 32500 4 C 77000 32300 1 0 0 capacitor-1.sym { T 77200 33000 5 10 0 0 0 0 1 device=CAPACITOR T 77200 32800 5 10 1 1 0 0 1 refdes=C? T 77200 33200 5 10 0 0 0 0 1 symversion=0.1 } C 77000 31300 1 0 0 capacitor-1.sym { T 77200 32000 5 10 0 0 0 0 1 device=CAPACITOR T 77200 31800 5 10 1 1 0 0 1 refdes=C? T 77200 32200 5 10 0 0 0 0 1 symversion=0.1 } C 78500 32300 1 0 0 capacitor-1.sym { T 78700 33000 5 10 0 0 0 0 1 device=CAPACITOR T 78700 32800 5 10 1 1 0 0 1 refdes=C? T 78700 33200 5 10 0 0 0 0 1 symversion=0.1 } C 78500 31300 1 0 0 capacitor-1.sym { T 78700 32000 5 10 0 0 0 0 1 device=CAPACITOR T 78700 31800 5 10 1 1 0 0 1 refdes=C? T 78700 32200 5 10 0 0 0 0 1 symversion=0.1 } N 77900 31500 78500 30500 4 N 77900 32500 78500 31500 4 N 80000 31500 79400 32500 4 N 79400 31500 80000 30500 4 C 80000 32300 1 0 0 capacitor-1.sym { T 80200 33000 5 10 0 0 0 0 1 device=CAPACITOR T 80200 32800 5 10 1 1 0 0 1 refdes=C? T 80200 33200 5 10 0 0 0 0 1 symversion=0.1 } C 80000 31300 1 0 0 capacitor-1.sym { T 80200 32000 5 10 0 0 0 0 1 device=CAPACITOR T 80200 31800 5 10 1 1 0 0 1 refdes=C? T 80200 32200 5 10 0 0 0 0 1 symversion=0.1 } C 81500 32300 1 0 0 capacitor-1.sym { T 81700 33000 5 10 0 0 0 0 1 device=CAPACITOR T 81700 32800 5 10 1 1 0 0 1 refdes=C? T 81700 33200 5 10 0 0 0 0 1 symversion=0.1 } C 81500 31300 1 0 0 capacitor-1.sym { T 81700 32000 5 10 0 0 0 0 1 device=CAPACITOR T 81700 31800 5 10 1 1 0 0 1 refdes=C? T 81700 32200 5 10 0 0 0 0 1 symversion=0.1 } N 80900 31500 81500 30500 4 N 80900 32500 81500 31500 4 N 83000 31500 82400 32500 4 N 82400 31500 83000 30500 4 C 77000 30300 1 0 0 capacitor-1.sym { T 77200 31000 5 10 0 0 0 0 1 device=CAPACITOR T 77200 30800 5 10 1 1 0 0 1 refdes=C? T 77200 31200 5 10 0 0 0 0 1 symversion=0.1 } C 77000 29300 1 0 0 capacitor-1.sym { T 77200 30000 5 10 0 0 0 0 1 device=CAPACITOR T 77200 29800 5 10 1 1 0 0 1 refdes=C? T 77200 30200 5 10 0 0 0 0 1 symversion=0.1 } C 78500 30300 1 0 0 capacitor-1.sym { T 78700 31000 5 10 0 0 0 0 1 device=CAPACITOR T 78700 30800 5 10 1 1 0 0 1 refdes=C? T 78700 31200 5 10 0 0 0 0 1 symversion=0.1 } C 78500 29300 1 0 0 capacitor-1.sym { T 78700 30000 5 10 0 0 0 0 1 device=CAPACITOR T 78700 29800 5 10 1 1 0 0 1 refdes=C? T 78700 30200 5 10 0 0 0 0 1 symversion=0.1 } N 77900 29500 78500 28500 4 N 77900 30500 78500 29500 4 N 80000 29500 79400 30500 4 N 79400 29500 80000 28500 4 C 80000 30300 1 0 0 capacitor-1.sym { T 80200 31000 5 10 0 0 0 0 1 device=CAPACITOR T 80200 30800 5 10 1 1 0 0 1 refdes=C? T 80200 31200 5 10 0 0 0 0 1 symversion=0.1 } C 80000 29300 1 0 0 capacitor-1.sym { T 80200 30000 5 10 0 0 0 0 1 device=CAPACITOR T 80200 29800 5 10 1 1 0 0 1 refdes=C? T 80200 30200 5 10 0 0 0 0 1 symversion=0.1 } C 81500 30300 1 0 0 capacitor-1.sym { T 81700 31000 5 10 0 0 0 0 1 device=CAPACITOR T 81700 30800 5 10 1 1 0 0 1 refdes=C? T 81700 31200 5 10 0 0 0 0 1 symversion=0.1 } C 81500 29300 1 0 0 capacitor-1.sym { T 81700 30000 5 10 0 0 0 0 1 device=CAPACITOR T 81700 29800 5 10 1 1 0 0 1 refdes=C? T 81700 30200 5 10 0 0 0 0 1 symversion=0.1 } N 80900 29500 81500 28500 4 N 80900 30500 81500 29500 4 N 83000 29500 82400 30500 4 N 82400 29500 83000 28500 4 C 83000 32300 1 0 0 capacitor-1.sym { T 83200 33000 5 10 0 0 0 0 1 device=CAPACITOR T 83200 32800 5 10 1 1 0 0 1 refdes=C? T 83200 33200 5 10 0 0 0 0 1 symversion=0.1 } C 83000 31300 1 0 0 capacitor-1.sym { T 83200 32000 5 10 0 0 0 0 1 device=CAPACITOR T 83200 31800 5 10 1 1 0 0 1 refdes=C? T 83200 32200 5 10 0 0 0 0 1 symversion=0.1 } C 84500 32300 1 0 0 capacitor-1.sym { T 84700 33000 5 10 0 0 0 0 1 device=CAPACITOR T 84700 32800 5 10 1 1 0 0 1 refdes=C? T 84700 33200 5 10 0 0 0 0 1 symversion=0.1 } C 84500 31300 1 0 0 capacitor-1.sym { T 84700 32000 5 10 0 0 0 0 1 device=CAPACITOR T 84700 31800 5 10 1 1 0 0 1 refdes=C? T 84700 32200 5 10 0 0 0 0 1 symversion=0.1 } N 83900 31500 84500 30500 4 N 83900 32500 84500 31500 4 N 86000 31500 85400 32500 4 N 85400 31500 86000 30500 4 C 86000 32300 1 0 0 capacitor-1.sym { T 86200 33000 5 10 0 0 0 0 1 device=CAPACITOR T 86200 32800 5 10 1 1 0 0 1 refdes=C? T 86200 33200 5 10 0 0 0 0 1 symversion=0.1 } C 86000 31300 1 0 0 capacitor-1.sym { T 86200 32000 5 10 0 0 0 0 1 device=CAPACITOR T 86200 31800 5 10 1 1 0 0 1 refdes=C? T 86200 32200 5 10 0 0 0 0 1 symversion=0.1 } C 87500 32300 1 0 0 capacitor-1.sym { T 87700 33000 5 10 0 0 0 0 1 device=CAPACITOR T 87700 32800 5 10 1 1 0 0 1 refdes=C? T 87700 33200 5 10 0 0 0 0 1 symversion=0.1 } C 87500 31300 1 0 0 capacitor-1.sym { T 87700 32000 5 10 0 0 0 0 1 device=CAPACITOR T 87700 31800 5 10 1 1 0 0 1 refdes=C? T 87700 32200 5 10 0 0 0 0 1 symversion=0.1 } N 86900 31500 87500 30500 4 N 86900 32500 87500 31500 4 N 89000 31500 88400 32500 4 N 88400 31500 89000 30500 4 C 83000 30300 1 0 0 capacitor-1.sym { T 83200 31000 5 10 0 0 0 0 1 device=CAPACITOR T 83200 30800 5 10 1 1 0 0 1 refdes=C? T 83200 31200 5 10 0 0 0 0 1 symversion=0.1 } C 83000 29300 1 0 0 capacitor-1.sym { T 83200 30000 5 10 0 0 0 0 1 device=CAPACITOR T 83200 29800 5 10 1 1 0 0 1 refdes=C? T 83200 30200 5 10 0 0 0 0 1 symversion=0.1 } C 84500 30300 1 0 0 capacitor-1.sym { T 84700 31000 5 10 0 0 0 0 1 device=CAPACITOR T 84700 30800 5 10 1 1 0 0 1 refdes=C? T 84700 31200 5 10 0 0 0 0 1 symversion=0.1 } C 84500 29300 1 0 0 capacitor-1.sym { T 84700 30000 5 10 0 0 0 0 1 device=CAPACITOR T 84700 29800 5 10 1 1 0 0 1 refdes=C? T 84700 30200 5 10 0 0 0 0 1 symversion=0.1 } N 83900 29500 84500 28500 4 N 83900 30500 84500 29500 4 N 86000 29500 85400 30500 4 N 85400 29500 86000 28500 4 C 86000 30300 1 0 0 capacitor-1.sym { T 86200 31000 5 10 0 0 0 0 1 device=CAPACITOR T 86200 30800 5 10 1 1 0 0 1 refdes=C? T 86200 31200 5 10 0 0 0 0 1 symversion=0.1 } C 86000 29300 1 0 0 capacitor-1.sym { T 86200 30000 5 10 0 0 0 0 1 device=CAPACITOR T 86200 29800 5 10 1 1 0 0 1 refdes=C? T 86200 30200 5 10 0 0 0 0 1 symversion=0.1 } C 87500 30300 1 0 0 capacitor-1.sym { T 87700 31000 5 10 0 0 0 0 1 device=CAPACITOR T 87700 30800 5 10 1 1 0 0 1 refdes=C? T 87700 31200 5 10 0 0 0 0 1 symversion=0.1 } C 87500 29300 1 0 0 capacitor-1.sym { T 87700 30000 5 10 0 0 0 0 1 device=CAPACITOR T 87700 29800 5 10 1 1 0 0 1 refdes=C? T 87700 30200 5 10 0 0 0 0 1 symversion=0.1 } N 86900 29500 87500 28500 4 N 86900 30500 87500 29500 4 N 89000 29500 88400 30500 4 N 88400 29500 89000 28500 4 N 42500 28500 44000 28500 4 N 45500 28500 47000 28500 4 N 48500 28500 50000 28500 4 N 51500 28500 53000 28500 4 N 60500 28500 62000 28500 4 N 63500 28500 65000 28500 4 N 57500 28500 59000 28500 4 N 54500 28500 56000 28500 4 N 72500 28500 74000 28500 4 N 75500 28500 77000 28500 4 N 69500 28500 71000 28500 4 N 66500 28500 68000 28500 4 N 84500 28500 86000 28500 4 N 87500 28500 89000 28500 4 N 81500 28500 83000 28500 4 N 78500 28500 80000 28500 4 N 40400 61500 41000 60500 4 N 41900 61500 42500 60500 4 N 43400 61500 44000 60500 4 N 44900 61500 45500 60500 4 N 46400 61500 47000 60500 4 N 47900 61500 48500 60500 4 N 49400 61500 50000 60500 4 N 50900 61500 51500 60500 4 N 52400 61500 53000 60500 4 N 53900 61500 54500 60500 4 N 55400 61500 56000 60500 4 N 56900 61500 57500 60500 4 N 58400 61500 59000 60500 4 N 59900 61500 60500 60500 4 N 61400 61500 62000 60500 4 N 62900 61500 63500 60500 4 N 64400 61500 65000 60500 4 N 65900 61500 66500 60500 4 N 67400 61500 68000 60500 4 N 68900 61500 69500 60500 4 N 70400 61500 71000 60500 4 N 71900 61500 72500 60500 4 N 73400 61500 74000 60500 4 N 74900 61500 75500 60500 4 N 76400 61500 77000 60500 4 N 77900 61500 78500 60500 4 N 79400 61500 80000 60500 4 N 80900 61500 81500 60500 4 N 82400 61500 83000 60500 4 N 83900 61500 84500 60500 4 N 85400 61500 86000 60500 4 N 86900 61500 87500 60500 4 N 41000 59500 40400 60500 4 N 40400 59500 41000 58500 4 N 41000 57500 40400 58500 4 N 40400 57500 41000 56500 4 N 41000 55500 40400 56500 4 N 40400 55500 41000 54500 4 N 41000 53500 40400 54500 4 N 40400 53500 41000 52500 4 N 41000 51500 40400 52500 4 N 40400 51500 41000 50500 4 N 41000 49500 40400 50500 4 N 40400 49500 41000 48500 4 N 41000 47500 40400 48500 4 N 40400 47500 41000 46500 4 N 41000 45500 40400 46500 4 N 40400 45500 41000 44500 4 N 41000 43500 40400 44500 4 N 40400 43500 41000 42500 4 N 41000 41500 40400 42500 4 N 40400 41500 41000 40500 4 N 41000 39500 40400 40500 4 N 40400 39500 41000 38500 4 N 41000 37500 40400 38500 4 N 40400 37500 41000 36500 4 N 41000 35500 40400 36500 4 N 40400 35500 41000 34500 4 N 41000 33500 40400 34500 4 N 40400 33500 41000 32500 4 N 41000 31500 40400 32500 4 N 40400 31500 41000 30500 4 N 41000 29500 40400 30500 4 N 40400 60500 40400 59500 4 N 40400 58500 40400 57500 4 N 40400 56500 40400 55500 4 N 40400 54500 40400 53500 4 N 40400 52500 40400 51500 4 N 40400 50500 40400 49500 4 N 40400 48500 40400 47500 4 N 40400 46500 40400 45500 4 N 40400 44500 40400 43500 4 N 40400 42500 40400 41500 4 N 40400 40500 40400 39500 4 N 40400 38500 40400 37500 4 N 40400 36500 40400 35500 4 N 40400 34500 40400 33500 4 N 40400 32500 40400 31500 4 N 40400 30500 40400 29500 4 N 40400 61500 41900 61500 4 N 43400 61500 44900 61500 4 N 46400 61500 47900 61500 4 N 49400 61500 50900 61500 4 N 58400 61500 59900 61500 4 N 61400 61500 62900 61500 4 N 55400 61500 56900 61500 4 N 52400 61500 53900 61500 4 N 70400 61500 71900 61500 4 N 73400 61500 74900 61500 4 N 67400 61500 68900 61500 4 N 64400 61500 65900 61500 4 N 82400 61500 83900 61500 4 N 85400 61500 86900 61500 4 N 79400 61500 80900 61500 4 N 76400 61500 77900 61500 4 N 89000 60500 89000 59500 4 N 89000 58500 89000 57500 4 N 89000 56500 89000 55500 4 N 89000 54500 89000 53500 4 N 89000 52500 89000 51500 4 N 89000 50500 89000 49500 4 N 89000 48500 89000 47500 4 N 89000 46500 89000 45500 4 N 89000 44500 89000 43500 4 N 89000 42500 89000 41500 4 N 89000 40500 89000 39500 4 N 89000 38500 89000 37500 4 N 89000 36500 89000 35500 4 N 89000 34500 89000 33500 4 N 89000 32500 89000 31500 4 N 89000 30500 89000 29500 4 geda-gaf-1.8.2/gnetlist/tests/common/inputs/sym/0000775000175000017500000000000012220655756016607 500000000000000geda-gaf-1.8.2/gnetlist/tests/common/inputs/sym/transistor.sym0000664000175000017500000000126612050461155021463 00000000000000v 20031011 1 P 600 1000 600 800 1 0 0 { T 500 850 5 6 1 1 0 0 1 pinnumber=3 T 500 850 5 6 0 0 0 0 1 pinseq=1 } P 600 200 600 0 1 0 1 { T 500 50 5 6 1 1 0 0 1 pinnumber=1 T 500 50 5 6 0 0 0 0 1 pinseq=3 } V 500 501 316 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 900 700 5 10 0 0 0 0 1 device=NPN_TRANSISTOR L 600 200 400 400 3 0 0 0 -1 -1 L 600 800 400 600 3 0 0 0 -1 -1 L 400 700 400 300 3 0 0 0 -1 -1 P 0 500 184 500 1 0 0 { T 100 550 5 6 1 1 0 0 1 pinnumber=2 T 100 550 5 6 0 0 0 0 1 pinseq=2 } L 400 500 184 500 3 0 0 0 -1 -1 L 600 200 564 272 3 0 0 0 -1 -1 L 600 200 528 236 3 0 0 0 -1 -1 L 528 236 564 272 3 0 0 0 -1 -1 T 900 500 8 10 1 1 0 0 1 refdes=Q? T 900 300 9 10 1 0 0 0 1 Generic_Transistor geda-gaf-1.8.2/gnetlist/tests/common/inputs/sym/LM324_slotted-1.sym0000664000175000017500000000201012050461155021674 00000000000000v 20031231 1 L 200 0 200 800 3 0 0 0 -1 -1 L 200 800 800 400 3 0 0 0 -1 -1 L 800 400 200 0 3 0 0 0 -1 -1 T 825 150 5 8 0 0 0 0 1 device=LM324 T 700 1200 5 10 0 0 0 0 1 numslots=4 T 675 1050 5 10 0 0 0 0 1 slotdef=1:1,2,3 T 675 900 5 10 0 0 0 0 1 slotdef=2:7,6,5 T 675 750 5 10 0 0 0 0 1 slotdef=3:8,9,10 T 675 600 5 10 0 0 0 0 1 slotdef=4:14,13,12 T 1225 450 5 10 0 0 0 0 1 slot=1 P 200 600 0 600 1 0 1 { T 50 625 5 8 1 1 0 0 1 pinnumber=3 T 50 625 5 8 0 0 0 0 1 pinseq=3 } P 200 200 0 200 1 0 1 { T 50 225 5 8 1 1 0 0 1 pinnumber=2 T 50 225 5 8 0 0 0 0 1 pinseq=2 } P 800 400 1000 400 1 0 1 { T 875 425 5 8 1 1 0 0 1 pinnumber=1 T 875 425 5 8 0 0 0 0 1 pinseq=1 } #P 500 200 500 0 1 0 1 #{ #T 525 50 5 8 1 1 0 0 1 #pinnumber=11 #T 525 50 5 8 0 0 0 0 1 #pinseq=11 #} #P 500 600 500 800 1 0 1 #{ #T 525 650 5 8 1 1 0 0 1 #pinnumber=4 #T 525 650 5 8 0 0 0 0 1 #pinseq=4 #} L 250 600 350 600 3 0 0 0 -1 -1 L 300 650 300 550 3 0 0 0 -1 -1 L 250 200 350 200 3 0 0 0 -1 -1 T 225 350 9 8 1 0 0 0 1 LM324 T 200 900 8 10 1 1 0 0 1 refdes=U? geda-gaf-1.8.2/gnetlist/tests/common/inputs/sym/LVD.sym0000664000175000017500000000267712050461155017707 00000000000000v 20070216 1 L 200 0 200 -1000 3 0 0 0 -1 -1 T 500 -500 8 10 0 1 0 4 1 device=LVD L 200 -1000 1200 -500 3 0 0 0 -1 -1 L 1200 -500 200 0 3 0 0 0 -1 -1 V 900 -700 49 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1200 -700 950 -700 1 0 0 { T 1200 -700 5 10 0 0 0 0 1 pinnumber=4 T 1200 -700 5 10 0 0 0 0 1 pinseq=4 T 1200 -700 5 10 0 0 0 0 1 pintype=out T 1200 -700 5 10 0 0 0 0 1 pinlabel=Y0 } P 1200 -300 800 -300 1 0 0 { T 1200 -300 5 10 0 0 0 0 1 pinnumber=5 T 1200 -300 5 10 0 0 0 0 1 pinseq=5 T 1200 -300 5 10 0 0 0 0 1 pintype=out T 1200 -300 5 10 0 0 0 0 1 pinlabel=Y1 } P 0 -500 200 -500 1 0 0 { T 0 -500 5 10 0 0 0 0 1 pinnumber=1 T 0 -500 5 10 0 0 0 0 1 pinseq=1 T 0 -500 5 10 0 0 0 0 1 pintype=in T 0 -500 5 10 0 0 0 0 1 pinlabel=D } P 600 0 600 -200 1 0 0 { T 600 0 5 10 0 0 0 0 1 pinnumber=3 T 600 0 5 10 0 0 0 0 1 pinseq=3 T 600 0 5 10 0 0 0 0 1 pintype=in T 600 -200 5 6 1 1 0 8 1 pinlabel=VH } P 600 -1000 600 -800 1 0 0 { T 600 -1000 5 10 0 0 0 0 1 pinnumber=2 T 600 -1000 5 10 0 0 0 0 1 pinseq=2 T 600 -1000 5 10 0 0 0 0 1 pintype=pwr T 600 -800 5 6 1 1 0 6 1 pinlabel=DGND } T 200 0 8 10 0 1 0 0 1 refdes=X? P 800 0 800 -300 1 0 0 { T 600 -300 5 10 0 0 0 0 1 pinnumber=6 T 600 -300 5 10 0 0 0 0 1 pinseq=6 T 600 -300 5 10 0 0 0 0 1 pintype=pwr T 600 -300 5 10 0 0 0 0 1 pinlabel=Vdd1 } P 800 -1000 800 -700 1 0 0 { T 600 -700 5 10 0 0 0 0 1 pinnumber=7 T 600 -700 5 10 0 0 0 0 1 pinseq=7 T 600 -700 5 10 0 0 0 0 1 pintype=pwr T 600 -700 5 10 0 0 0 0 1 pinlabel=Vss } geda-gaf-1.8.2/gnetlist/tests/common/run_tests.sh0000775000175000017500000000433312063576065016765 00000000000000#!/bin/sh # # This script runs run_backend_tests.sh on each backend listed in backends.list # regen=no usage() { cat << EOF $0 -- Testsuite program for various backends Usage $0 [-h | --help] Options -h | --help Prints this help message and exits. -r | --regen Regenerates the reference files. If you use this option, YOU MUST HAND VERIFY THE RESULTS BEFORE COMMITTING to the repository. Description $0 reads a file, backends.list, describing backends to run tests on. For each backend, run_backend_tests.sh is run with that backend name as a parameter. Examples $0 $0 --regen EOF } while test -n "$1" do case "$1" in -h|--help) usage exit 0 ;; -r|--regen) # regenerate the 'golden' output files. Use this with caution. # In particular, all differences should be noted and understood. regen=yes shift ;; -*) echo "unknown option: $1" usage exit 1 ;; *) break ;; esac done # make sure we have the right paths when running this from inside the # source tree and also from outside the source tree. here=`pwd` srcdir=${srcdir:-$here} srcdir=`cd $srcdir && pwd` BACKENDSLIST=${srcdir}/backends.list if test ! -f $BACKENDSLIST ; then echo "ERROR: ($0) Test list $BACKENDSLIST does not exist" exit 1 fi # fail/pass/total counts fail=0 pass=0 tot=0 all_tests=`cat $BACKENDSLIST | sed /^#/d` echo All backends = $all_tests # Now run through all backends in backends.list, calling run_backend_tests.sh for backend in $all_tests ; do tot=`expr $tot + 1` if test "X$regen" = "Xyes" ; then echo "Regenerating test results on backend \"$backend\"" $srcdir/run_backend_tests.sh --regen $backend 2> $backend.stderr.log > $backend.stdout.log rc=$? else echo "Running tests on backend \"$backend\"" $srcdir/run_backend_tests.sh $backend 2> $backend.stderr.log > $backend.stdout.log rc=$? fi if test $rc -ne 0 ; then echo "FAILED: run_backend_tests.sh returned $rc failures" fail=`expr $fail + 1` continue fi pass=`expr $pass + 1` done echo "Passed $pass, failed $fail, out of $tot tests." rc=0 if test $pass -ne $tot ; then rc=`expr $tot - $pass` fi exit $rc geda-gaf-1.8.2/gnetlist/tests/stack_1.geda0000664000175000017500000000224112050461155015240 00000000000000START header gEDA's netlist format Created specifically for testing of gnetlist END header START components U210 device=74541 U211 device=74191 U212 device=74191 U109 device=AM9128 END components START renamed-nets END renamed-nets START nets SP_BUS_L : U210 1 unnamed_net1 : U211 13, U212 4 BUS_SP_L : U211 11, U212 11 CLK_SP_L : U211 14, U212 14 SPUP_L : U211 5, U212 5 Vcc : U210 20, U211 16, U212 16, U109 24 SEL_DS_L : U210 19, U211 4, U109 18 STACK_BUS_L : U109 20 BUS_STACK_L : U109 21 DS_ADDRS4_H : U210 5, U212 3, U109 4 DS_ADDRS5_H : U210 4, U212 2, U109 3 DS_ADDRS6_H : U210 3, U212 6, U109 2 DS_ADDRS7_H : U210 2, U212 7, U109 1 GND : U210 10, U211 8, U212 8, U109 12, U109 19, U109 22, U109 23 DS_ADDRS3_H : U210 6, U211 7, U109 5 DS_ADDRS2_H : U210 7, U211 6, U109 6 DS_ADDRS0_H : U210 9, U211 3, U109 8 DS_ADDRS1_H : U210 8, U211 2, U109 7 DATA0_H : U210 11, U211 15, U109 9 DATA1_H : U210 12, U211 1, U109 10 DATA2_H : U210 13, U211 10, U109 11 DATA3_H : U210 14, U211 9, U109 13 DATA4_H : U210 15, U212 15, U109 14 DATA5_H : U210 16, U212 1, U109 15 DATA6_H : U210 17, U212 10, U109 16 DATA7_H : U210 18, U212 9, U109 17 END nets geda-gaf-1.8.2/gnetlist/tests/singlenet.sch0000664000175000017500000000231212050461155015557 00000000000000v 20030901 C 17400 25700 1 0 0 7400-1.sym { T 17700 26700 5 10 1 1 0 0 refdes=U100 T 17400 25700 5 10 0 0 0 0 slot=2 } N 18700 26200 21300 26200 4 N 21300 26200 21300 24400 4 N 21300 24400 22600 24400 4 N 22600 24000 20300 24000 4 N 20300 24000 20300 26200 4 N 21300 25300 24100 25300 4 { T 22700 25400 5 10 1 1 0 0 netname=SINGLE_NET } N 24100 25300 24100 24200 4 N 24100 24200 23900 24200 4 N 17400 26000 17000 26000 4 N 17000 26000 17000 25300 4 N 17000 25300 18800 25300 4 N 18800 25300 18800 26200 4 N 17400 26400 17200 26400 4 N 17200 26400 17200 27200 4 N 17200 27200 19800 27200 4 N 19800 27200 19800 26200 4 T 17900 35200 3 30 1 0 0 0 Test schematic for gnetlist T 17100 27600 3 20 1 0 0 0 There is really only *one* net in this circuit N 19000 33100 21800 33100 4 { T 20400 33200 5 10 1 1 0 0 netname=SINGLE_NET2 } N 21800 33100 21800 32000 4 N 21800 32000 21600 32000 4 N 19000 33100 19000 32200 4 N 19000 32200 20300 32200 4 T 17200 30200 3 20 1 0 0 0 This is a single net with one unconnected pin C 20300 31500 1 0 0 7400-1.sym { T 20600 32500 5 10 1 1 0 0 refdes=U100 T 20300 31500 5 10 0 0 0 0 slot=1 } C 22600 23700 1 0 0 7400-1.sym { T 22900 24700 5 10 1 1 0 0 refdes=U100 T 22600 23700 5 10 0 0 0 0 slot=3 } geda-gaf-1.8.2/gnetlist/tests/hierarchy2/0000775000175000017500000000000012220655756015225 500000000000000geda-gaf-1.8.2/gnetlist/tests/hierarchy2/top.sch0000664000175000017500000000127112050461155016434 00000000000000v 20070818 1 C 40000 40000 0 0 0 title-B.sym C 44100 45900 1 0 0 under.sym { T 44400 47100 5 10 1 1 0 0 1 device=symbol T 44400 47300 5 10 1 1 0 0 1 source=under.sch T 44400 47500 5 10 1 1 0 0 1 refdes=U100 } N 46200 46400 47100 46400 4 N 47100 46400 47100 44700 4 N 47100 44700 43400 44700 4 { T 43500 44800 5 10 1 1 0 0 1 netname=one } N 43400 44700 43400 46400 4 N 43400 46400 44100 46400 4 C 48900 45900 1 0 0 under.sym { T 49200 47100 5 10 1 1 0 0 1 device=symbol T 49200 47300 5 10 1 1 0 0 1 refdes=U102 } N 51000 46400 51900 46400 4 N 51900 46400 51900 44700 4 N 51900 44700 48200 44700 4 { T 48300 44800 5 10 1 1 0 0 1 netname=two } N 48200 44700 48200 46400 4 N 48200 46400 48900 46400 4 geda-gaf-1.8.2/gnetlist/tests/hierarchy2/gnetlistrc.hierarchy20000664000175000017500000000144512050461155021276 00000000000000;; We want to point at the scheme code that hasn't been installed yet so that ;; 'make check' during development can work correctly. (scheme-directory "${SCMDIR}") ;; We want to use the symbols that haven't been installed yet (map (lambda (x) (component-library (string-join (list "${SYMDIR}/" x) ""))) '("io" "74" "titleblock")) (source-library "${TESTDIR}") (component-library "${TESTDIR}") ;(net-naming-priority "label") ;(hierarchy-traversal "disabled") ;(hierarchy-uref-mangle "disabled") ;(hierarchy-netname-mangle "disabled") ;(hierarchy-netattrib-mangle "disabled") ;(hierarchy-netname-separator ".") ;(hierarchy-uref-separator ".") ;(hierarchy-netattrib-separator ".") ;(hierarchy-netname-order "prepend") ;(hierarchy-uref-order "prepend") ;(hierarchy-netattrib-order "prepend") geda-gaf-1.8.2/gnetlist/tests/hierarchy2/Makefile.am0000664000175000017500000000212712063576065017203 00000000000000## Process this file with automake to produce Makefile.in EXTRA_DIST = gnetlistrc.hierarchy2 hierarchy2.geda top.sch under.sch under.sym # Temporarily disabled make check, since this is interfering with # make distcheck check_SCRIPTS = tests BUILDDIR=$(top_builddir)/gnetlist/tests/hierarchy2 SRCDIR=$(srcdir) GNETLIST=$(top_builddir)/gnetlist/src/gnetlist tests: rm -f $(BUILDDIR)/new_* cp -f $(SRCDIR)/gnetlistrc.hierarchy2 $(BUILDDIR)/gnetlistrc ( TESTDIR=$(SRCDIR) \ GEDADATARC=$(top_builddir)/gnetlist/lib \ SCMDIR=${top_builddir}/gnetlist/scheme \ SYMDIR=${top_srcdir}/symbols \ $(GNETLIST) \ -L $(top_srcdir)/libgeda/scheme \ -L $(top_builddir)/libgeda/scheme \ -o $(BUILDDIR)/new_hierarchy2.geda -g geda \ $(SRCDIR)/top.sch ) diff $(SRCDIR)/hierarchy2.geda $(BUILDDIR)/new_hierarchy2.geda; rm -f $(BUILDDIR)/gnetlistrc MOSTLYCLEANFILES = new_* core *.log FILE *.ps *~ gnetlistrc CLEANFILES = new_* core *.log FILE *.ps *~ gnetlistrc DISTCLEANFILES = *.log core FILE *~ gnetlistrc MAINTAINERCLEANFILES = new_* core *.log FILE *.ps *~ Makefile.in gnetlistrc geda-gaf-1.8.2/gnetlist/tests/hierarchy2/Makefile.in0000664000175000017500000004170212220655723017210 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = gnetlist/tests/hierarchy2 DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = gnetlistrc.hierarchy2 hierarchy2.geda top.sch under.sch under.sym # Temporarily disabled make check, since this is interfering with # make distcheck check_SCRIPTS = tests BUILDDIR = $(top_builddir)/gnetlist/tests/hierarchy2 SRCDIR = $(srcdir) GNETLIST = $(top_builddir)/gnetlist/src/gnetlist MOSTLYCLEANFILES = new_* core *.log FILE *.ps *~ gnetlistrc CLEANFILES = new_* core *.log FILE *.ps *~ gnetlistrc DISTCLEANFILES = *.log core FILE *~ gnetlistrc MAINTAINERCLEANFILES = new_* core *.log FILE *.ps *~ Makefile.in gnetlistrc all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gnetlist/tests/hierarchy2/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu gnetlist/tests/hierarchy2/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) $(check_SCRIPTS) check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: check-am install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags-am uninstall uninstall-am tests: rm -f $(BUILDDIR)/new_* cp -f $(SRCDIR)/gnetlistrc.hierarchy2 $(BUILDDIR)/gnetlistrc ( TESTDIR=$(SRCDIR) \ GEDADATARC=$(top_builddir)/gnetlist/lib \ SCMDIR=${top_builddir}/gnetlist/scheme \ SYMDIR=${top_srcdir}/symbols \ $(GNETLIST) \ -L $(top_srcdir)/libgeda/scheme \ -L $(top_builddir)/libgeda/scheme \ -o $(BUILDDIR)/new_hierarchy2.geda -g geda \ $(SRCDIR)/top.sch ) diff $(SRCDIR)/hierarchy2.geda $(BUILDDIR)/new_hierarchy2.geda; rm -f $(BUILDDIR)/gnetlistrc # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/gnetlist/tests/hierarchy2/hierarchy2.geda0000664000175000017500000000100512050461155020010 00000000000000START header gEDA's netlist format Created specifically for testing of gnetlist END header START components U102/Uunder device=7400 U100/Uunder device=7400 END components START renamed-nets U102/unnamed_net3 -> two U102/unnamed_net4 -> two U100/unnamed_net1 -> one U100/unnamed_net2 -> one END renamed-nets START nets U102/GND : U102/Uunder 7 U102/Vcc : U102/Uunder 14 two : U102/Uunder 1, U102/Uunder 3 U100/GND : U100/Uunder 7 U100/Vcc : U100/Uunder 14 one : U100/Uunder 1, U100/Uunder 3 END nets geda-gaf-1.8.2/gnetlist/tests/hierarchy2/under.sch0000664000175000017500000000122412050461155016745 00000000000000v 20070818 1 C 40000 40000 0 0 0 title-B.sym C 46700 46800 1 0 0 7400-1.sym { T 47200 47700 5 10 0 0 0 0 1 device=7400 T 47000 47700 5 10 1 1 0 0 1 refdes=Uunder T 47200 49050 5 10 0 0 0 0 1 footprint=DIP14 } N 45900 47500 46700 47500 4 C 48600 47200 1 0 0 out-1.sym { T 48600 47500 5 10 0 0 0 0 1 device=OUTPUT T 48600 47500 5 10 1 1 0 0 1 refdes=out } C 45300 47400 1 0 0 in-1.sym { T 45300 47700 5 10 0 0 0 0 1 device=INPUT T 45300 47700 5 10 1 1 0 0 1 refdes=in } N 48000 47300 48600 47300 4 C 51100 45800 1 0 0 under.sym { T 51400 47000 5 10 1 1 0 0 1 device=symbol T 51400 47200 5 10 1 1 0 0 1 source=under.sch T 51100 45800 5 10 1 0 0 0 1 graphical=1 } geda-gaf-1.8.2/gnetlist/tests/hierarchy2/under.sym0000664000175000017500000000100012050461155016770 00000000000000v 20070818 1 B 300 0 1500 1100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 500 300 500 1 0 0 { T -1000 500 5 10 0 0 180 0 1 pintype=unknown T 355 495 5 10 1 1 0 0 1 pinlabel=in T 205 545 5 10 1 1 0 6 1 pinnumber=1 T -1000 500 5 10 0 0 180 0 1 pinseq=0 } P 2100 500 1800 500 1 0 0 { T 3100 500 5 10 0 0 0 0 1 pintype=unknown T 1745 495 5 10 1 1 0 6 1 pinlabel=out T 1895 545 5 10 1 1 0 0 1 pinnumber=2 T 3100 500 5 10 0 0 0 0 1 pinseq=0 } T 300 1200 8 10 1 1 0 0 1 device=symbol T 300 1400 8 10 1 1 0 0 1 source=under.sch geda-gaf-1.8.2/gnetlist/tests/netattrib.sch0000664000175000017500000000132212050461155015563 00000000000000v 20030901 C 38100 60100 1 0 0 7400-1.sym { T 38400 61000 5 10 1 1 0 0 refdes=U100 T 39000 60200 5 10 1 1 0 0 net=netattrib:5 } C 41000 58800 1 0 0 7404-1.sym { T 41300 59700 5 10 1 1 0 0 refdes=U200 } N 40000 59300 41000 59300 4 { T 40100 59400 5 10 1 1 0 0 netname=two } N 40000 59300 40000 61300 4 N 40000 61300 41200 61300 4 { T 40200 61400 5 10 1 1 0 0 netname=one } C 41200 60800 1 0 0 7404-1.sym { T 41500 61700 5 10 1 1 0 0 refdes=U300 } N 39400 60600 40000 60600 4 N 42100 59300 43300 59300 4 { T 42500 59400 5 10 1 1 0 0 netname=netattrib } N 42300 61300 43000 61300 4 N 38400 58600 39100 58600 4 { T 38500 58700 5 10 1 1 0 0 netname=two } C 39100 58600 1 0 0 fuse-1.sym { T 39300 58800 5 10 1 1 0 0 refdes=F1 } geda-gaf-1.8.2/gnetlist/tests/amp.spice-sdb0000664000175000017500000000144312050461155015444 00000000000000* gnetlist -o new_amp.spice-sdb -g spice-sdb /home/ahvezda/gEDA/alesch/amp.sch ********************************************************* * Spice file generated by gnetlist * * spice-sdb version 2.10.2007 by SDB -- * * provides advanced spice netlisting capability. * * Documentation at http://www.brorson.com/gEDA/SPICE/ * ********************************************************* *============== Begin SPICE netlist of main design ============ RE2 8 0 3.6K R4 6 0 30K Q2 7 6 8 QM RE1 5 0 3.6K R3 10 6 120K Q1 4 3 5 QM RS 12 2 150 R2 3 0 50K R1 10 3 200K C3 7 9 10 uF RF 2 11 25K C2 4 6 10 uF VX 1 12 DC 0V C1 2 3 10 uF CE1 5 0 15 uF VCC 10 0 DC 15V CF 11 8 10 uF RC2 10 7 6.8K VIN 1 0 AC 1MV RC1 10 4 12K RL 9 0 10K .end geda-gaf-1.8.2/gnetlist/tests/netattrib.geda0000664000175000017500000000064212050461155015712 00000000000000START header gEDA's netlist format Created specifically for testing of gnetlist END header START components F1 device=FUSE U300 device=7404 U200 device=7404 U100 device=7400 END components START renamed-nets two -> one END renamed-nets START nets unnamed_net1 : U300 2 netattrib : U200 2, U100 5 GND : U300 7, U200 7, U100 7 Vcc : U300 14, U200 14, U100 14 one : F1 1, U300 1, U200 1, U100 3 END nets geda-gaf-1.8.2/gnetlist/tests/powersupply.geda0000664000175000017500000000137212050461155016330 00000000000000START header gEDA's netlist format Created specifically for testing of gnetlist END header START components U2 device=LM317 C4 device=POLARIZED_CAPACITOR C3 device=POLARIZED_CAPACITOR R1 device=VARIABLE_RESISTOR C2 device=POLARIZED_CAPACITOR R2 device=RESISTOR C1 device=POLARIZED_CAPACITOR S1 device=SPST CONN1 device=MAINS_CONNECTOR T1 device=transformer F1 device=FUSE U1 device=DIODE-BRIDGE END components START renamed-nets four -> GND END renamed-nets START nets ten : U2 1, R1 2, C3 1, R2 1 eleven : U2 2, C4 1, R2 2 GND : CONN1 3 one : S1 1, CONN1 1 five : CONN1 2, T1 2 three : T1 1, F1 2 two : S1 2, F1 1 six : T1 3, U1 4 seven : T1 4, U1 3 nine : C4 2, C3 2, R1 3, R1 1, C2 2, C1 2, U1 2 eight : U2 3, C2 1, C1 1, U1 1 END nets geda-gaf-1.8.2/gnetlist/tests/singlenet.protelII0000664000175000017500000000145112063576065016547 00000000000000PROTEL NETLIST 2.0 [ DESIGNATOR U100 FOOTPRINT DIP14 PARTTYPE 7400 DESCRIPTION 7400 Part Field 1 * Part Field 2 * Part Field 3 * Part Field 4 * Part Field 5 * Part Field 6 * Part Field 7 * Part Field 8 * Part Field 9 * Part Field 10 * Part Field 11 * Part Field 12 * Part Field 13 * Part Field 14 * Part Field 15 * Part Field 16 * LIBRARYFIELD1 LIBRARYFIELD2 LIBRARYFIELD3 LIBRARYFIELD4 LIBRARYFIELD5 LIBRARYFIELD6 LIBRARYFIELD7 LIBRARYFIELD8 ] ( SINGLE_NET2 U100-1 7400-1 PASSIVE U100-3 7400-3 PASSIVE ) ( GND U100-7 7400-7 PASSIVE ) ( Vcc U100-14 7400-14 PASSIVE ) ( SINGLE_NET U100-4 7400-4 PASSIVE U100-5 7400-5 PASSIVE U100-10 7400-10 PASSIVE U100-8 7400-8 PASSIVE U100-9 7400-9 PASSIVE U100-6 7400-6 PASSIVE ) geda-gaf-1.8.2/gnetlist/tests/powersupply.sch0000664000175000017500000000555412050461155016213 00000000000000v 20030901 C 60900 56700 1 0 0 diode-bridge-1.sym { T 61800 57675 5 10 1 1 0 0 refdes=U1 } N 60900 57700 60400 57700 4 N 61900 56700 61900 56500 4 N 61900 56500 59700 56500 4 { T 59900 56500 5 6 1 1 0 0 netname=seven } N 61900 58900 59700 58900 4 { T 59800 58900 5 6 1 1 0 0 netname=six } N 61900 58900 61900 58700 4 N 59700 56500 59700 57200 4 N 59700 58200 59700 58900 4 C 57000 58200 1 0 0 fuse-1.sym { T 57200 58400 5 10 1 1 0 0 refdes=F1 } N 58200 58200 57900 58200 4 { T 57900 58100 5 6 1 1 0 0 netname=three } C 58200 57100 1 0 0 transformer-1.sym { T 58500 58400 5 10 1 1 0 0 refdes=T1 } C 53800 57200 1 0 0 mains-plug-2.sym { T 54200 58300 5 10 1 1 0 0 refdes=CONN1 } N 55200 58200 55200 58000 4 N 58200 57200 55200 57200 4 { T 56300 57200 5 6 1 1 0 0 netname=five } N 55200 57200 55200 57400 4 N 55200 57700 55500 57700 4 { T 55300 57700 5 6 1 1 0 0 netname=four } N 55500 57700 55500 57600 4 C 55400 57300 1 0 0 gnd-1.sym C 55800 58200 1 0 0 switch-spst-1.sym { T 56100 58500 5 10 1 1 0 0 refdes=S1 } N 55800 58200 55200 58200 4 { T 55300 58100 5 6 1 1 0 0 netname=one } N 56600 58200 57000 58200 4 { T 56600 58100 5 6 1 1 0 0 netname=two } C 63300 58900 1 270 0 capacitor-2.sym { T 63800 58500 5 10 1 1 0 0 refdes=C1 T 63800 58300 5 10 1 1 0 0 value=2200uF } C 68400 58100 1 90 0 resistor-1.sym { T 68500 58600 5 10 1 1 0 0 refdes=R2 T 68500 58300 5 10 1 1 0 0 value=220 } N 60400 57700 60400 59200 4 N 62900 57700 63500 57700 4 { T 63000 57700 5 6 1 1 0 0 netname=nine } N 63500 58900 63500 59200 4 C 64800 58200 1 270 0 capacitor-2.sym { T 65300 57800 5 10 1 1 0 0 refdes=C2 T 65300 57600 5 10 1 1 0 0 value=0.1uF } N 65000 58200 65000 59200 4 N 63500 56400 63500 58000 4 N 65000 56400 65000 57300 4 C 66800 56600 1 90 0 resistor-variable-1.sym { T 66900 57200 5 10 1 1 0 0 refdes=R1 T 66900 57000 5 10 1 1 0 0 value=5k } N 66700 56600 66700 56400 4 N 66200 57100 65800 57100 4 N 65800 57100 65800 56400 4 C 68100 57500 1 270 0 capacitor-2.sym { T 68600 57100 5 10 1 1 0 0 refdes=C3 T 68600 56800 5 10 1 1 0 0 value=22uF } N 68300 58100 68300 57500 4 N 68300 56600 68300 56400 4 N 66700 57800 68300 57800 4 { T 67000 57800 5 6 1 1 0 0 netname=ten } N 60400 59200 65700 59200 4 { T 60500 59200 5 6 1 1 0 0 netname=eight } N 66700 57500 66700 58400 4 N 68300 59000 68300 59200 4 C 69300 58200 1 270 0 capacitor-2.sym { T 69800 57800 5 10 1 1 0 0 refdes=C4 T 69800 57500 5 10 1 1 0 0 value=1uf } N 69500 58200 69500 59200 4 N 69500 56400 69500 57300 4 N 63500 56400 70800 56400 4 N 67700 59200 70800 59200 4 { T 68500 59200 5 6 1 1 0 0 netname=eleven } T 70900 59200 9 10 1 0 0 0 + T 70900 56400 9 10 1 0 0 0 - T 70400 59400 9 10 1 0 0 0 +1.5 to 22Vdc T 69700 57300 9 10 1 0 0 0 50V T 63800 58100 9 10 1 0 0 0 35V C 51800 49900 0 0 0 title-C.sym T 66900 50800 9 10 1 0 0 0 This is not a real circuit. It is only used for testing purposes. C 65700 58400 1 0 0 lm317-1.sym { T 67400 59800 5 10 1 1 0 6 refdes=U2 } geda-gaf-1.8.2/gnetlist/tests/drc2/0000775000175000017500000000000012220655756014017 500000000000000geda-gaf-1.8.2/gnetlist/tests/drc2/slot-not-defined.drc20000664000175000017500000000105512063576065017667 00000000000000Checking non-numbered parts... Checking duplicated references... ERROR: Duplicated reference R1. Checking NoConnection nets for connections... Checking nets with only one connection... Checking pins without the 'pintype' attribute... Checking type of pins connected to a net... Checking unconnected pins... Checking slots... ERROR: Multislotted reference R1 has no slot attribute defined. Checking duplicated slots... ERROR: duplicated slot 1 of uref R1 Checking unused slots... WARNING: Unused slot 2 of uref R1 Found 1 warnings. Found 3 errors. geda-gaf-1.8.2/gnetlist/tests/drc2/pin-without-pintype-attrib.drc20000664000175000017500000000070212063576065021752 00000000000000Checking non-numbered parts... Checking duplicated references... Checking NoConnection nets for connections... Checking nets with only one connection... Checking pins without the 'pintype' attribute... NOTE: Found pins without the 'pintype' attribute: R1:2 Checking type of pins connected to a net... Checking unconnected pins... Checking slots... Checking duplicated slots... Checking unused slots... No warnings found. No errors found. geda-gaf-1.8.2/gnetlist/tests/drc2/net-with-only-one-connection.sch0000664000175000017500000000072012050461155022054 00000000000000v 20061020 1 C 40000 40000 0 0 0 title-B.sym C 47400 46000 1 90 0 resistor-2.sym { T 47050 46400 5 10 0 0 90 0 1 device=RESISTOR T 47100 46200 5 10 1 1 90 0 1 refdes=R2 } C 47600 46900 1 0 0 resistor-2.sym { T 48000 47250 5 10 0 0 0 0 1 device=RESISTOR T 47800 47200 5 10 1 1 0 0 1 refdes=R1 } N 47300 47000 47600 47000 4 N 48500 47000 48700 47000 4 N 48700 47000 48700 47500 4 N 48700 47500 47300 47500 4 N 47300 46900 47300 47500 4 C 47200 45700 1 0 0 gnd-1.sym geda-gaf-1.8.2/gnetlist/tests/drc2/numslots-is-not-an-integer.drc20000664000175000017500000000071212063576065021635 00000000000000Checking non-numbered parts... Checking duplicated references... Checking NoConnection nets for connections... Checking nets with only one connection... Checking pins without the 'pintype' attribute... Checking type of pins connected to a net... Checking unconnected pins... Checking slots... ERROR: Reference R1: Incorrect value of numslots attribute (fa). Checking duplicated slots... Checking unused slots... No warnings found. Found 1 errors. geda-gaf-1.8.2/gnetlist/tests/drc2/numslots-not-defined.sch0000664000175000017500000000143512050461155020504 00000000000000v 20061020 1 C 40000 40000 0 0 0 title-B.sym C 47300 46800 1 90 0 resistor-2.sym { T 47000 47000 5 10 1 1 90 0 1 refdes=R1 T 46950 47200 5 10 0 0 90 0 1 device=RESISTOR T 47300 46800 5 10 1 0 0 0 1 slot=1 } C 47300 45700 1 90 0 resistor-2.sym { T 46950 46100 5 10 0 0 90 0 1 device=RESISTOR T 47000 45900 5 10 1 1 90 0 1 refdes=R1 T 47300 45700 5 10 1 0 0 0 1 slot=2 } C 47100 45400 1 0 0 gnd-1.sym C 47000 47700 1 0 0 vcc-1.sym N 47200 46600 47200 46800 4 C 48400 46800 1 90 0 resistor-2.sym { T 48100 47000 5 10 1 1 90 0 1 refdes=R2 T 48050 47200 5 10 0 0 90 0 1 device=RESISTOR } C 48400 45700 1 90 0 resistor-2.sym { T 48050 46100 5 10 0 0 90 0 1 device=RESISTOR T 48100 45900 5 10 1 1 90 0 1 refdes=R3 } C 48200 45400 1 0 0 gnd-1.sym C 48100 47700 1 0 0 vcc-1.sym N 48300 46600 48300 46800 4 geda-gaf-1.8.2/gnetlist/tests/drc2/Makefile.am0000664000175000017500000000634512063576065016003 00000000000000## Process this file with automake to produce Makefile.in EXTRA_DIST = duplicated-refdes.sch duplicated-refdes.drc2 \ duplicated_slot.sch duplicated_slot.drc2 \ gnd-with-nc-directive.sch gnd-with-nc-directive.drc2 \ gnd-without-nc-directive.sch gnd-without-nc-directive.drc2 \ gnetlistrc.drc2 \ net-not-driven.sch net-not-driven.drc2 \ net-not-driven-with-dont-check-if-driven-directive.sch \ net-not-driven-with-dont-check-if-driven-directive.drc2 \ net-not-driven-with-nc-directive.sch \ net-not-driven-with-nc-directive.drc2 \ net-with-only-one-connection.sch \ net-with-only-one-connection.drc2 \ numslots-is-not-an-integer.sch \ numslots-is-not-an-integer.drc2 \ numslots-not-defined.sch \ numslots-not-defined.drc2 \ output-connected-to-output.sch \ output-connected-to-output.drc2 \ pin-without-pintype-attrib.sch \ pin-without-pintype-attrib.drc2 \ refdes-not-numbered.sch \ refdes-not-numbered.drc2 \ slot-is-not-an-integer.sch \ slot-is-not-an-integer.drc2 \ slot-not-defined.sch \ slot-not-defined.drc2 \ slot_out_of_range.sch \ slot_out_of_range.drc2 \ connected-noconnects.sch \ connected-noconnects.drc2 \ unconnected-pin.sch \ unconnected-pin.drc2 \ unconnected-pin-with-drc-directive.sch \ unconnected-pin-with-drc-directive.drc2 \ unused-slot.sch \ unused-slot.drc2 # Temporarily disabled make check, since this is interfering with # make distcheck check_SCRIPTS = tests BUILDDIR=$(builddir) SRCDIR=$(srcdir) GNETLIST=$(builddir)/../../src/gnetlist gnet_srcdir=$(top_srcdir)/gnetlist gnet_builddir=$(top_builddir)/gnetlist .PHONY : tests tests: # cleanup rm -f $(BUILDDIR)/new_* rm -f $(BUILDDIR)/failed.log # make the tests cp $(srcdir)/gnetlistrc.drc2 $(builddir)/gnetlistrc failed=0; \ for file in $(SRCDIR)/*.sch; do \ file_basename=`basename $$file .sch`; \ echo Checking test in $(SRCDIR)/$$file_basename.sch; \ ( TESTDIR=$(SRCDIR) \ GEDADATARC=$(top_builddir)/gnetlist/lib \ SCMDIR=${top_builddir}/gnetlist/scheme \ SYMDIR=${top_srcdir}/symbols \ $(GNETLIST) -L$(top_srcdir)/libgeda/scheme \ -L$(top_builddir)/libgeda/scheme \ -g drc2 \ -o $(BUILDDIR)/new_$$file_basename.drc2 \ $$file ); \ diff $(SRCDIR)/$$file_basename.drc2 \ $(BUILDDIR)/new_$$file_basename.drc2; \ if [ $$? -ne 0 ]; then \ echo "# Test in $(SRCDIR)/$$file_basename.sch FAILED!!" | tee -a $(BUILDDIR)/failed.log ; \ echo "diff $(SRCDIR)/$$file_basename.drc2 $(BUILDDIR)/new_$$file_basename.drc2" >> $(BUILDDIR)/failed.log ; \ failed=`expr $$failed + 1`; \ else \ echo "Test in $(SRCDIR)/$$file_basename.sch PASSED."; \ fi; \ done ; \ if test $$failed -ne 0 ; then \ echo "FAILED $$failed test(s)" ; \ cat $(BUILDDIR)/failed.log ; \ exit 1 ; \ fi rm -f $(BUILDDIR)/gnetlistrc MOSTLYCLEANFILES = new_* core *.log FILE *.ps *~ gnetlistrc CLEANFILES = new_* core *.log FILE *.ps *~ gnetlistrc DISTCLEANFILES = *.log core FILE *~ gnetlistrc MAINTAINERCLEANFILES = new_* core *.log FILE *.ps *~ Makefile.in gnetlistrc geda-gaf-1.8.2/gnetlist/tests/drc2/duplicated-refdes.sch0000664000175000017500000000067112050461155020013 00000000000000v 20061020 1 C 40000 40000 0 0 0 title-B.sym C 48500 45300 1 90 0 resistor-2.sym { T 48150 45700 5 10 0 0 90 0 1 device=RESISTOR T 48200 45500 5 10 1 1 90 0 1 refdes=R1 } C 49200 45300 1 90 0 resistor-2.sym { T 48850 45700 5 10 0 0 90 0 1 device=RESISTOR T 48900 45500 5 10 1 1 90 0 1 refdes=R1 } C 48300 45000 1 0 0 gnd-1.sym C 49000 45000 1 0 0 gnd-1.sym N 48400 46200 48400 46400 4 N 48400 46400 49100 46400 4 N 49100 46400 49100 46200 4 geda-gaf-1.8.2/gnetlist/tests/drc2/gnd-without-nc-directive.drc20000664000175000017500000000067712063576065021350 00000000000000Checking non-numbered parts... Checking duplicated references... Checking NoConnection nets for connections... Checking nets with only one connection... ERROR: Net 'GND' is connected to only one pin: R2:1 . Checking pins without the 'pintype' attribute... Checking type of pins connected to a net... Checking unconnected pins... Checking slots... Checking duplicated slots... Checking unused slots... No warnings found. Found 1 errors. geda-gaf-1.8.2/gnetlist/tests/drc2/unconnected-pin.sch0000664000175000017500000000112512050461155017513 00000000000000v 20061020 1 C 40000 40000 0 0 0 title-B.sym C 48500 45300 1 90 0 resistor-2.sym { T 48150 45700 5 10 0 0 90 0 1 device=RESISTOR T 48200 45500 5 10 1 1 90 0 1 refdes=R1 } C 49200 45300 1 90 0 resistor-2.sym { T 48850 45700 5 10 0 0 90 0 1 device=RESISTOR T 48900 45500 5 10 1 1 90 0 1 refdes=R2 } C 48300 45000 1 0 0 gnd-1.sym C 49000 45000 1 0 0 gnd-1.sym N 48400 46200 48400 46400 4 N 48400 46400 49100 46400 4 N 49100 46400 49100 46200 4 C 49800 45300 1 90 0 resistor-2.sym { T 49450 45700 5 10 0 0 90 0 1 device=RESISTOR T 49500 45500 5 10 1 1 90 0 1 refdes=R3 } C 49600 45000 1 0 0 gnd-1.sym geda-gaf-1.8.2/gnetlist/tests/drc2/slot_out_of_range.sch0000664000175000017500000000363112050461155020136 00000000000000v 20061020 1 C 40000 40000 0 0 0 title-B.sym C 44700 46800 1 0 0 7400-1.sym { T 45200 47700 5 10 0 0 0 0 1 device=7400 T 45000 47700 5 10 1 1 0 0 1 refdes=U1 T 45200 49050 5 10 0 0 0 0 1 footprint=DIP14 } C 46200 46600 1 0 0 7400-1.sym { T 46700 47500 5 10 0 0 0 0 1 device=7400 T 46500 47500 5 10 1 1 0 0 1 refdes=U1 T 46700 48850 5 10 0 0 0 0 1 footprint=DIP14 T 46200 46600 5 10 0 0 0 0 1 slot=5 } N 46000 47300 46200 47300 4 N 46200 46900 45900 46900 4 N 45900 46900 45900 46600 4 N 45900 46600 44500 46600 4 N 44500 46600 44500 47100 4 N 47500 47100 47800 47100 4 N 44200 47500 44700 47500 4 N 44200 47100 44700 47100 4 C 47800 46400 1 0 0 7400-1.sym { T 48300 47300 5 10 0 0 0 0 1 device=7400 T 48100 47300 5 10 1 1 0 0 1 refdes=U1 T 48300 48650 5 10 0 0 0 0 1 footprint=DIP14 T 47800 46400 5 10 0 0 0 0 1 slot=2 } C 49300 46200 1 0 0 7400-1.sym { T 49800 47100 5 10 0 0 0 0 1 device=7400 T 49600 47100 5 10 1 1 0 0 1 refdes=U1 T 49800 48450 5 10 0 0 0 0 1 footprint=DIP14 T 49300 46200 5 10 0 0 0 0 1 slot=3 } N 49100 46900 49300 46900 4 N 49300 46500 49000 46500 4 N 47600 45900 50600 45900 4 N 50600 46700 50900 46700 4 C 50900 46000 1 0 0 7400-1.sym { T 51400 46900 5 10 0 0 0 0 1 device=7400 T 51200 46900 5 10 1 1 0 0 1 refdes=U1 T 51400 48250 5 10 0 0 0 0 1 footprint=DIP14 T 50900 46000 5 10 0 0 0 0 1 slot=4 } N 50900 46300 50600 46300 4 N 50600 46300 50600 45900 4 N 49000 45900 49000 46500 4 N 47600 46700 47800 46700 4 N 47600 45900 47600 47100 4 N 52200 46500 52500 46500 4 N 52500 46500 52500 45600 4 N 52500 45600 44200 45600 4 C 44300 47700 1 90 0 resistor-2.sym { T 43950 48100 5 10 0 0 90 0 1 device=RESISTOR T 44000 47900 5 10 1 1 90 0 1 refdes=R1 } N 44200 45600 44200 47700 4 C 43700 46500 1 90 0 resistor-2.sym { T 43350 46900 5 10 0 0 90 0 1 device=RESISTOR T 43400 46700 5 10 1 1 90 0 1 refdes=R2 } N 43600 47400 43600 47500 4 N 43600 47500 44200 47500 4 C 43500 46200 1 0 0 gnd-1.sym C 44000 48600 1 0 0 vcc-1.sym geda-gaf-1.8.2/gnetlist/tests/drc2/slot_out_of_range.drc20000664000175000017500000000066512063576065020232 00000000000000Checking non-numbered parts... Checking duplicated references... Checking NoConnection nets for connections... Checking nets with only one connection... Checking pins without the 'pintype' attribute... Checking type of pins connected to a net... Checking unconnected pins... Checking slots... ERROR: Reference U1: Slot out of range (5). Checking duplicated slots... Checking unused slots... No warnings found. Found 1 errors. geda-gaf-1.8.2/gnetlist/tests/drc2/output-connected-to-output.sch0000664000175000017500000000324512050461155021705 00000000000000v 20061020 1 C 40000 40000 0 0 0 title-B.sym C 46200 46600 1 0 0 7400-1.sym { T 46700 47500 5 10 0 0 0 0 1 device=7400 T 46500 47500 5 10 1 1 0 0 1 refdes=U1 T 46700 48850 5 10 0 0 0 0 1 footprint=DIP14 T 46200 46600 5 10 0 0 0 0 1 slot=1 } N 45800 47300 46200 47300 4 N 45800 46900 46200 46900 4 N 47500 47100 47800 47100 4 C 47800 46400 1 0 0 7400-1.sym { T 48300 47300 5 10 0 0 0 0 1 device=7400 T 48100 47300 5 10 1 1 0 0 1 refdes=U1 T 48300 48650 5 10 0 0 0 0 1 footprint=DIP14 T 47800 46400 5 10 0 0 0 0 1 slot=2 } C 49300 46200 1 0 0 7400-1.sym { T 49800 47100 5 10 0 0 0 0 1 device=7400 T 49600 47100 5 10 1 1 0 0 1 refdes=U1 T 49800 48450 5 10 0 0 0 0 1 footprint=DIP14 T 49300 46200 5 10 0 0 0 0 1 slot=3 } N 49100 46900 49300 46900 4 N 49300 46500 49200 46500 4 N 50600 46700 50900 46700 4 C 50900 46000 1 0 0 7400-1.sym { T 51400 46900 5 10 0 0 0 0 1 device=7400 T 51200 46900 5 10 1 1 0 0 1 refdes=U1 T 51400 48250 5 10 0 0 0 0 1 footprint=DIP14 T 50900 46000 5 10 0 0 0 0 1 slot=4 } N 50900 46300 50600 46300 4 N 50600 46300 50600 45900 4 N 47600 46700 47800 46700 4 N 52200 46500 52500 46500 4 N 52500 46500 52500 45600 4 N 52500 45600 45800 45600 4 N 45800 45600 45800 47300 4 N 49200 45900 50600 45900 4 N 47600 46700 47600 47100 4 C 45400 47600 1 90 0 resistor-2.sym { T 45050 48000 5 10 0 0 90 0 1 device=RESISTOR T 45100 47800 5 10 1 1 90 0 1 refdes=R1 } C 45400 46500 1 90 0 resistor-2.sym { T 45050 46900 5 10 0 0 90 0 1 device=RESISTOR T 45100 46700 5 10 1 1 90 0 1 refdes=R2 } C 45200 46200 1 0 0 gnd-1.sym C 45100 48500 1 0 0 vcc-1.sym N 45300 47400 45300 47600 4 N 49200 45900 49200 46900 4 N 49200 46900 49200 47400 4 N 49200 47400 50700 47400 4 N 50700 47400 50700 46700 4 geda-gaf-1.8.2/gnetlist/tests/drc2/net-not-driven.drc20000664000175000017500000000066012063576065017366 00000000000000Checking non-numbered parts... Checking duplicated references... Checking NoConnection nets for connections... Checking nets with only one connection... Checking pins without the 'pintype' attribute... Checking type of pins connected to a net... ERROR: Net unnamed_net5 is not driven. Checking unconnected pins... Checking slots... Checking duplicated slots... Checking unused slots... No warnings found. Found 1 errors. geda-gaf-1.8.2/gnetlist/tests/drc2/net-not-driven-with-nc-directive.drc20000664000175000017500000000075212063576065022713 00000000000000Checking non-numbered parts... Checking duplicated references... Checking NoConnection nets for connections... ERROR: Net 'undriven_net' has connections, but has the NoConnection DRC directive: U1:13 U1:10 . Checking nets with only one connection... Checking pins without the 'pintype' attribute... Checking type of pins connected to a net... Checking unconnected pins... Checking slots... Checking duplicated slots... Checking unused slots... No warnings found. Found 1 errors. geda-gaf-1.8.2/gnetlist/tests/drc2/unconnected-pin-with-drc-directive.drc20000664000175000017500000000061312063576065023277 00000000000000Checking non-numbered parts... Checking duplicated references... Checking NoConnection nets for connections... Checking nets with only one connection... Checking pins without the 'pintype' attribute... Checking type of pins connected to a net... Checking unconnected pins... Checking slots... Checking duplicated slots... Checking unused slots... No warnings found. No errors found. geda-gaf-1.8.2/gnetlist/tests/drc2/unused-slot.sch0000664000175000017500000000243512050461155016711 00000000000000v 20061020 1 C 40000 40000 0 0 0 title-B.sym C 45800 45800 1 0 0 7400-1.sym { T 46300 46700 5 10 0 0 0 0 1 device=7400 T 46100 46700 5 10 1 1 0 0 1 refdes=U1 T 46300 48050 5 10 0 0 0 0 1 footprint=DIP14 T 45800 45800 5 10 0 0 0 0 1 slot=1 } N 45400 46500 45800 46500 4 N 45400 46100 45800 46100 4 N 47100 46300 47400 46300 4 C 47400 45600 1 0 0 7400-1.sym { T 47900 46500 5 10 0 0 0 0 1 device=7400 T 47700 46500 5 10 1 1 0 0 1 refdes=U1 T 47900 47850 5 10 0 0 0 0 1 footprint=DIP14 T 47400 45600 5 10 0 0 0 0 1 slot=2 } C 48900 45400 1 0 0 7400-1.sym { T 49400 46300 5 10 0 0 0 0 1 device=7400 T 49200 46300 5 10 1 1 0 0 1 refdes=U1 T 49400 47650 5 10 0 0 0 0 1 footprint=DIP14 T 48900 45400 5 10 0 0 0 0 1 slot=3 } N 48700 46100 48900 46100 4 N 48900 45700 48800 45700 4 N 50200 45900 50500 45900 4 N 47200 45900 47400 45900 4 N 50500 45900 50500 44800 4 N 50500 44800 45400 44800 4 N 45400 44800 45400 46500 4 N 47200 45900 47200 46300 4 C 45000 46800 1 90 0 resistor-2.sym { T 44650 47200 5 10 0 0 90 0 1 device=RESISTOR T 44700 47000 5 10 1 1 90 0 1 refdes=R1 } C 45000 45700 1 90 0 resistor-2.sym { T 44650 46100 5 10 0 0 90 0 1 device=RESISTOR T 44700 45900 5 10 1 1 90 0 1 refdes=R2 } C 44800 45400 1 0 0 gnd-1.sym C 44700 47700 1 0 0 vcc-1.sym N 44900 46600 44900 46800 4 N 48800 45700 48800 46100 4 geda-gaf-1.8.2/gnetlist/tests/drc2/gnd-without-nc-directive.sch0000664000175000017500000000075412050461155021254 00000000000000v 20061020 1 C 40000 40000 0 0 0 title-B.sym C 47400 46000 1 90 0 resistor-2.sym { T 47050 46400 5 10 0 0 90 0 1 device=RESISTOR T 47100 46200 5 10 1 1 90 0 1 refdes=R2 } C 47600 46900 1 0 0 resistor-2.sym { T 48000 47250 5 10 0 0 0 0 1 device=RESISTOR T 47800 47200 5 10 1 1 0 0 1 refdes=R1 } C 47200 45500 1 0 0 gnd-1.sym N 47600 47000 47300 47000 4 N 47300 45800 47300 46000 4 N 48500 47000 48700 47000 4 N 48700 47000 48700 47400 4 N 48700 47400 47300 47400 4 N 47300 46900 47300 47400 4 geda-gaf-1.8.2/gnetlist/tests/drc2/slot-not-defined.sch0000664000175000017500000000144512050461155017602 00000000000000v 20061020 1 C 40000 40000 0 0 0 title-B.sym C 47300 46800 1 90 0 resistor-2.sym { T 47000 47000 5 10 1 1 90 0 1 refdes=R1 T 46950 47200 5 10 0 0 90 0 1 device=RESISTOR T 47300 46700 5 10 1 0 0 0 1 numslots=2 } C 47300 45700 1 90 0 resistor-2.sym { T 46950 46100 5 10 0 0 90 0 1 device=RESISTOR T 47000 45900 5 10 1 1 90 0 1 refdes=R1 T 47300 45600 5 10 1 0 0 0 1 numslots=2 } C 47100 45400 1 0 0 gnd-1.sym C 47000 47700 1 0 0 vcc-1.sym N 47200 46600 47200 46800 4 C 49100 46800 1 90 0 resistor-2.sym { T 48800 47000 5 10 1 1 90 0 1 refdes=R2 T 48750 47200 5 10 0 0 90 0 1 device=RESISTOR } C 49100 45700 1 90 0 resistor-2.sym { T 48750 46100 5 10 0 0 90 0 1 device=RESISTOR T 48800 45900 5 10 1 1 90 0 1 refdes=R3 } C 48900 45400 1 0 0 gnd-1.sym C 48800 47700 1 0 0 vcc-1.sym N 49000 46600 49000 46800 4 geda-gaf-1.8.2/gnetlist/tests/drc2/net-with-only-one-connection.drc20000664000175000017500000000067712063576065022157 00000000000000Checking non-numbered parts... Checking duplicated references... Checking NoConnection nets for connections... Checking nets with only one connection... ERROR: Net 'GND' is connected to only one pin: R2:1 . Checking pins without the 'pintype' attribute... Checking type of pins connected to a net... Checking unconnected pins... Checking slots... Checking duplicated slots... Checking unused slots... No warnings found. Found 1 errors. geda-gaf-1.8.2/gnetlist/tests/drc2/refdes-not-numbered.sch0000664000175000017500000000067112050461155020274 00000000000000v 20061020 1 C 40000 40000 0 0 0 title-B.sym C 48500 45300 1 90 0 resistor-2.sym { T 48150 45700 5 10 0 0 90 0 1 device=RESISTOR T 48200 45500 5 10 1 1 90 0 1 refdes=R1 } C 49200 45300 1 90 0 resistor-2.sym { T 48850 45700 5 10 0 0 90 0 1 device=RESISTOR T 48900 45500 5 10 1 1 90 0 1 refdes=R? } C 48300 45000 1 0 0 gnd-1.sym C 49000 45000 1 0 0 gnd-1.sym N 48400 46200 48400 46400 4 N 48400 46400 49100 46400 4 N 49100 46400 49100 46200 4 geda-gaf-1.8.2/gnetlist/tests/drc2/Makefile.in0000664000175000017500000004610012220655723015777 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = gnetlist/tests/drc2 DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = duplicated-refdes.sch duplicated-refdes.drc2 \ duplicated_slot.sch duplicated_slot.drc2 \ gnd-with-nc-directive.sch gnd-with-nc-directive.drc2 \ gnd-without-nc-directive.sch gnd-without-nc-directive.drc2 \ gnetlistrc.drc2 \ net-not-driven.sch net-not-driven.drc2 \ net-not-driven-with-dont-check-if-driven-directive.sch \ net-not-driven-with-dont-check-if-driven-directive.drc2 \ net-not-driven-with-nc-directive.sch \ net-not-driven-with-nc-directive.drc2 \ net-with-only-one-connection.sch \ net-with-only-one-connection.drc2 \ numslots-is-not-an-integer.sch \ numslots-is-not-an-integer.drc2 \ numslots-not-defined.sch \ numslots-not-defined.drc2 \ output-connected-to-output.sch \ output-connected-to-output.drc2 \ pin-without-pintype-attrib.sch \ pin-without-pintype-attrib.drc2 \ refdes-not-numbered.sch \ refdes-not-numbered.drc2 \ slot-is-not-an-integer.sch \ slot-is-not-an-integer.drc2 \ slot-not-defined.sch \ slot-not-defined.drc2 \ slot_out_of_range.sch \ slot_out_of_range.drc2 \ connected-noconnects.sch \ connected-noconnects.drc2 \ unconnected-pin.sch \ unconnected-pin.drc2 \ unconnected-pin-with-drc-directive.sch \ unconnected-pin-with-drc-directive.drc2 \ unused-slot.sch \ unused-slot.drc2 # Temporarily disabled make check, since this is interfering with # make distcheck check_SCRIPTS = tests BUILDDIR = $(builddir) SRCDIR = $(srcdir) GNETLIST = $(builddir)/../../src/gnetlist gnet_srcdir = $(top_srcdir)/gnetlist gnet_builddir = $(top_builddir)/gnetlist MOSTLYCLEANFILES = new_* core *.log FILE *.ps *~ gnetlistrc CLEANFILES = new_* core *.log FILE *.ps *~ gnetlistrc DISTCLEANFILES = *.log core FILE *~ gnetlistrc MAINTAINERCLEANFILES = new_* core *.log FILE *.ps *~ Makefile.in gnetlistrc all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gnetlist/tests/drc2/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu gnetlist/tests/drc2/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) $(check_SCRIPTS) check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: check-am install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags-am uninstall uninstall-am .PHONY : tests tests: # cleanup rm -f $(BUILDDIR)/new_* rm -f $(BUILDDIR)/failed.log # make the tests cp $(srcdir)/gnetlistrc.drc2 $(builddir)/gnetlistrc failed=0; \ for file in $(SRCDIR)/*.sch; do \ file_basename=`basename $$file .sch`; \ echo Checking test in $(SRCDIR)/$$file_basename.sch; \ ( TESTDIR=$(SRCDIR) \ GEDADATARC=$(top_builddir)/gnetlist/lib \ SCMDIR=${top_builddir}/gnetlist/scheme \ SYMDIR=${top_srcdir}/symbols \ $(GNETLIST) -L$(top_srcdir)/libgeda/scheme \ -L$(top_builddir)/libgeda/scheme \ -g drc2 \ -o $(BUILDDIR)/new_$$file_basename.drc2 \ $$file ); \ diff $(SRCDIR)/$$file_basename.drc2 \ $(BUILDDIR)/new_$$file_basename.drc2; \ if [ $$? -ne 0 ]; then \ echo "# Test in $(SRCDIR)/$$file_basename.sch FAILED!!" | tee -a $(BUILDDIR)/failed.log ; \ echo "diff $(SRCDIR)/$$file_basename.drc2 $(BUILDDIR)/new_$$file_basename.drc2" >> $(BUILDDIR)/failed.log ; \ failed=`expr $$failed + 1`; \ else \ echo "Test in $(SRCDIR)/$$file_basename.sch PASSED."; \ fi; \ done ; \ if test $$failed -ne 0 ; then \ echo "FAILED $$failed test(s)" ; \ cat $(BUILDDIR)/failed.log ; \ exit 1 ; \ fi rm -f $(BUILDDIR)/gnetlistrc # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/gnetlist/tests/drc2/connected-noconnects.sch0000664000175000017500000000162412063576065020552 00000000000000v 20100214 2 C 40000 40000 0 0 0 title-B.sym C 48500 45300 1 90 0 resistor-2.sym { T 48150 45700 5 10 0 0 90 0 1 device=RESISTOR T 48200 45500 5 10 1 1 90 0 1 refdes=R1 } C 49200 45300 1 90 0 resistor-2.sym { T 48850 45700 5 10 0 0 90 0 1 device=RESISTOR T 48900 45500 5 10 1 1 90 0 1 refdes=R2 } C 48300 45000 1 0 0 gnd-1.sym C 49000 45000 1 0 0 gnd-1.sym N 48400 46200 48400 46400 4 N 48400 46400 49100 46400 4 { T 48400 46400 5 10 1 1 0 0 1 netname=bad_net } N 49100 46400 49100 46200 4 C 49800 45300 1 90 0 resistor-2.sym { T 49450 45700 5 10 0 0 90 0 1 device=RESISTOR T 49500 45500 5 10 1 1 90 0 1 refdes=R3 } C 49600 45000 1 0 0 gnd-1.sym C 48200 46400 1 0 0 nc-top-1.sym { T 48600 46900 5 10 0 0 0 0 1 value=NoConnection T 48600 47100 5 10 0 0 0 0 1 device=DRC_Directive } C 49500 46200 1 0 0 nc-top-1.sym { T 49900 46700 5 10 0 0 0 0 1 value=NoConnection T 49900 46900 5 10 0 0 0 0 1 device=DRC_Directive } geda-gaf-1.8.2/gnetlist/tests/drc2/duplicated_slot.drc20000664000175000017500000000071512063576065017675 00000000000000Checking non-numbered parts... Checking duplicated references... ERROR: Duplicated reference U1. Checking NoConnection nets for connections... Checking nets with only one connection... Checking pins without the 'pintype' attribute... Checking type of pins connected to a net... Checking unconnected pins... Checking slots... Checking duplicated slots... ERROR: duplicated slot 1 of uref U1 Checking unused slots... No warnings found. Found 2 errors. geda-gaf-1.8.2/gnetlist/tests/drc2/duplicated-refdes.drc20000664000175000017500000000110212063576065020071 00000000000000Checking non-numbered parts... Checking duplicated references... ERROR: Duplicated reference R1. Checking NoConnection nets for connections... Checking nets with only one connection... ERROR: Net 'GND' is connected to only one pin: R1:1 . ERROR: Net 'unnamed_net1' is connected to only one pin: R1:2 . Checking pins without the 'pintype' attribute... Checking type of pins connected to a net... Checking unconnected pins... Checking slots... Checking duplicated slots... ERROR: duplicated slot 1 of uref R1 Checking unused slots... No warnings found. Found 4 errors. geda-gaf-1.8.2/gnetlist/tests/drc2/numslots-not-defined.drc20000664000175000017500000000071712063576065020576 00000000000000Checking non-numbered parts... Checking duplicated references... Checking NoConnection nets for connections... Checking nets with only one connection... Checking pins without the 'pintype' attribute... Checking type of pins connected to a net... Checking unconnected pins... Checking slots... ERROR: Reference R1: Incorrect value of numslots attribute (unknown). Checking duplicated slots... Checking unused slots... No warnings found. Found 1 errors. geda-gaf-1.8.2/gnetlist/tests/drc2/output-connected-to-output.drc20000664000175000017500000000101312063576065021764 00000000000000Checking non-numbered parts... Checking duplicated references... Checking NoConnection nets for connections... Checking nets with only one connection... Checking pins without the 'pintype' attribute... Checking type of pins connected to a net... ERROR: Pin(s) with pintype 'output': U1:8 U1:6 are connected by net 'unnamed_net3' to pin(s) with pintype 'output': U1:8 U1:6 Checking unconnected pins... Checking slots... Checking duplicated slots... Checking unused slots... No warnings found. Found 1 errors. geda-gaf-1.8.2/gnetlist/tests/drc2/net-not-driven-with-dont-check-if-driven-directive.drc20000664000175000017500000000061312063576065026207 00000000000000Checking non-numbered parts... Checking duplicated references... Checking NoConnection nets for connections... Checking nets with only one connection... Checking pins without the 'pintype' attribute... Checking type of pins connected to a net... Checking unconnected pins... Checking slots... Checking duplicated slots... Checking unused slots... No warnings found. No errors found. geda-gaf-1.8.2/gnetlist/tests/drc2/net-not-driven.sch0000664000175000017500000000312112050461155017271 00000000000000v 20061020 1 C 40000 40000 0 0 0 title-B.sym C 46200 46600 1 0 0 7400-1.sym { T 46700 47500 5 10 0 0 0 0 1 device=7400 T 46500 47500 5 10 1 1 0 0 1 refdes=U1 T 46700 48850 5 10 0 0 0 0 1 footprint=DIP14 T 46200 46600 5 10 0 0 0 0 1 slot=1 } N 45800 47300 46200 47300 4 N 45800 46900 46200 46900 4 N 47500 47100 47800 47100 4 C 47800 46400 1 0 0 7400-1.sym { T 48300 47300 5 10 0 0 0 0 1 device=7400 T 48100 47300 5 10 1 1 0 0 1 refdes=U1 T 48300 48650 5 10 0 0 0 0 1 footprint=DIP14 T 47800 46400 5 10 0 0 0 0 1 slot=2 } C 49300 46200 1 0 0 7400-1.sym { T 49800 47100 5 10 0 0 0 0 1 device=7400 T 49600 47100 5 10 1 1 0 0 1 refdes=U1 T 49800 48450 5 10 0 0 0 0 1 footprint=DIP14 T 49300 46200 5 10 0 0 0 0 1 slot=3 } N 49100 46900 49300 46900 4 N 49300 46500 49000 46500 4 N 50600 46700 50900 46700 4 C 50900 46000 1 0 0 7400-1.sym { T 51400 46900 5 10 0 0 0 0 1 device=7400 T 51200 46900 5 10 1 1 0 0 1 refdes=U1 T 51400 48250 5 10 0 0 0 0 1 footprint=DIP14 T 50900 46000 5 10 0 0 0 0 1 slot=4 } N 50900 46300 50600 46300 4 N 50600 46300 50600 45900 4 N 49000 45900 49000 46500 4 N 47600 46700 47800 46700 4 N 52200 46500 52500 46500 4 N 52500 46500 52500 45600 4 N 52500 45600 45800 45600 4 N 45800 45600 45800 47300 4 N 49000 45900 50600 45900 4 N 47600 46700 47600 47100 4 C 45400 47600 1 90 0 resistor-2.sym { T 45050 48000 5 10 0 0 90 0 1 device=RESISTOR T 45100 47800 5 10 1 1 90 0 1 refdes=R1 } C 45400 46500 1 90 0 resistor-2.sym { T 45050 46900 5 10 0 0 90 0 1 device=RESISTOR T 45100 46700 5 10 1 1 90 0 1 refdes=R2 } C 45200 46200 1 0 0 gnd-1.sym C 45100 48500 1 0 0 vcc-1.sym N 45300 47400 45300 47600 4 geda-gaf-1.8.2/gnetlist/tests/drc2/unconnected-pin-with-drc-directive.sch0000664000175000017500000000125612050461155023213 00000000000000v 20061020 1 C 40000 40000 0 0 0 title-B.sym C 47400 46000 1 90 0 resistor-2.sym { T 47050 46400 5 10 0 0 90 0 1 device=RESISTOR T 47100 46200 5 10 1 1 90 0 1 refdes=R2 } C 47600 46900 1 0 0 resistor-2.sym { T 48000 47250 5 10 0 0 0 0 1 device=RESISTOR T 47800 47200 5 10 1 1 0 0 1 refdes=R1 } N 48500 47000 50100 47000 4 { T 48600 47000 5 10 1 1 0 0 1 netname=unconnected-net } C 47200 45700 1 0 0 gnd-1.sym C 49900 47100 1 0 0 nc-top-1.sym { T 50300 47600 5 10 0 0 0 0 1 value=NoConnection T 50300 47800 5 10 0 0 0 0 1 device=DRC_Directive } N 50100 47000 50100 47100 4 N 47300 46900 47300 47000 4 C 46600 46500 1 0 0 gnd-1.sym N 46700 46800 46700 47000 4 N 46700 47000 47600 47000 4 geda-gaf-1.8.2/gnetlist/tests/drc2/connected-noconnects.drc20000664000175000017500000000074312063576065020630 00000000000000Checking non-numbered parts... Checking duplicated references... Checking NoConnection nets for connections... ERROR: Net 'bad_net' has connections, but has the NoConnection DRC directive: R2:2 R1:2 . Checking nets with only one connection... Checking pins without the 'pintype' attribute... Checking type of pins connected to a net... Checking unconnected pins... Checking slots... Checking duplicated slots... Checking unused slots... No warnings found. Found 1 errors. geda-gaf-1.8.2/gnetlist/tests/drc2/gnetlistrc.drc20000664000175000017500000000055012050461155016656 00000000000000;; We want to point at the scheme code that hasn't been installed yet so that ;; 'make check' during development can work correctly. (scheme-directory "${SCMDIR}") ;; We want to use the symbols that haven't been installed yet (map (lambda (x) (component-library (string-join (list "${SYMDIR}/" x) ""))) '("io" "74" "analog" "power" "misc" "titleblock")) geda-gaf-1.8.2/gnetlist/tests/drc2/slot-is-not-an-integer.drc20000664000175000017500000000100612063576065020727 00000000000000Checking non-numbered parts... Checking duplicated references... ERROR: Duplicated reference R1. Checking NoConnection nets for connections... Checking nets with only one connection... Checking pins without the 'pintype' attribute... Checking type of pins connected to a net... Checking unconnected pins... Checking slots... ERROR: Reference R1: Incorrect value of slot attribute (fa). Checking duplicated slots... Checking unused slots... WARNING: Unused slot 1 of uref R1 Found 1 warnings. Found 2 errors. geda-gaf-1.8.2/gnetlist/tests/drc2/unconnected-pin.drc20000664000175000017500000000064512063576065017611 00000000000000Checking non-numbered parts... Checking duplicated references... Checking NoConnection nets for connections... Checking nets with only one connection... Checking pins without the 'pintype' attribute... Checking type of pins connected to a net... Checking unconnected pins... ERROR: Unconnected pin R3:2 Checking slots... Checking duplicated slots... Checking unused slots... No warnings found. Found 1 errors. geda-gaf-1.8.2/gnetlist/tests/drc2/pin-without-pintype-attrib.sch0000664000175000017500000000133512050461155021665 00000000000000v 20061020 1 C 40000 40000 0 0 0 title-B.sym C 47600 45800 1 0 0 EMBEDDEDresistor-2-without-pintype.sym [ P 48500 45900 48350 45900 1 0 0 { T 48400 45950 5 8 0 1 0 0 1 pinnumber=2 T 48400 45950 5 8 0 0 0 0 1 pinseq=2 T 48400 45950 5 8 0 1 0 0 1 pinlabel=2 } P 47600 45900 47752 45900 1 0 0 { T 47700 45950 5 8 0 1 0 0 1 pinnumber=1 T 47700 45950 5 8 0 0 0 0 1 pinseq=1 T 47700 45950 5 8 0 1 0 0 1 pinlabel=1 T 47700 45950 5 8 0 1 0 0 1 pintype=pas } B 47750 45800 600 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 ] { T 48000 46150 5 10 0 0 0 0 1 device=RESISTOR T 47800 46100 5 10 1 1 0 0 1 refdes=R1 } N 47600 45900 47400 45900 4 N 47400 45900 47400 45300 4 N 47400 45300 48700 45300 4 N 48700 45300 48700 45900 4 N 48700 45900 48500 45900 4 geda-gaf-1.8.2/gnetlist/tests/drc2/net-not-driven-with-nc-directive.sch0000664000175000017500000000341712063576065022637 00000000000000v 20100214 2 C 40000 40000 0 0 0 title-B.sym C 46200 46600 1 0 0 7400-1.sym { T 46700 47500 5 10 0 0 0 0 1 device=7400 T 46500 47500 5 10 1 1 0 0 1 refdes=U1 T 46700 48850 5 10 0 0 0 0 1 footprint=DIP14 T 46200 46600 5 10 0 0 0 0 1 slot=1 } N 45800 47300 46200 47300 4 N 45800 46900 46200 46900 4 N 47500 47100 47800 47100 4 C 47800 46400 1 0 0 7400-1.sym { T 48300 47300 5 10 0 0 0 0 1 device=7400 T 48100 47300 5 10 1 1 0 0 1 refdes=U1 T 48300 48650 5 10 0 0 0 0 1 footprint=DIP14 T 47800 46400 5 10 0 0 0 0 1 slot=2 } C 49300 46200 1 0 0 7400-1.sym { T 49800 47100 5 10 0 0 0 0 1 device=7400 T 49600 47100 5 10 1 1 0 0 1 refdes=U1 T 49800 48450 5 10 0 0 0 0 1 footprint=DIP14 T 49300 46200 5 10 0 0 0 0 1 slot=3 } N 49100 46900 49300 46900 4 N 49300 46500 49000 46500 4 N 50600 46700 50900 46700 4 C 50900 46000 1 0 0 7400-1.sym { T 51400 46900 5 10 0 0 0 0 1 device=7400 T 51200 46900 5 10 1 1 0 0 1 refdes=U1 T 51400 48250 5 10 0 0 0 0 1 footprint=DIP14 T 50900 46000 5 10 0 0 0 0 1 slot=4 } N 50900 46300 50600 46300 4 N 50600 46300 50600 45900 4 N 49000 45900 49000 46500 4 N 47600 46700 47800 46700 4 N 52200 46500 52500 46500 4 N 52500 46500 52500 45400 4 N 52500 45400 45800 45400 4 N 45800 45400 45800 47300 4 N 47600 46700 47600 47100 4 C 45400 47600 1 90 0 resistor-2.sym { T 45050 48000 5 10 0 0 90 0 1 device=RESISTOR T 45100 47800 5 10 1 1 90 0 1 refdes=R1 } C 45400 46500 1 90 0 resistor-2.sym { T 45050 46900 5 10 0 0 90 0 1 device=RESISTOR T 45100 46700 5 10 1 1 90 0 1 refdes=R2 } C 45200 46200 1 0 0 gnd-1.sym C 45100 48500 1 0 0 vcc-1.sym N 45300 47400 45300 47600 4 C 48200 45800 1 0 0 nc-left-1.sym { T 47700 45600 5 10 1 1 0 0 1 value=NoConnection T 48200 46600 5 10 0 0 0 0 1 device=DRC_Directive } N 48700 45900 50600 45900 4 { T 49300 45900 5 10 1 1 0 0 1 netname=undriven_net } geda-gaf-1.8.2/gnetlist/tests/drc2/gnd-with-nc-directive.drc20000664000175000017500000000061312063576065020606 00000000000000Checking non-numbered parts... Checking duplicated references... Checking NoConnection nets for connections... Checking nets with only one connection... Checking pins without the 'pintype' attribute... Checking type of pins connected to a net... Checking unconnected pins... Checking slots... Checking duplicated slots... Checking unused slots... No warnings found. No errors found. geda-gaf-1.8.2/gnetlist/tests/drc2/duplicated_slot.sch0000664000175000017500000000363112050461155017605 00000000000000v 20061020 1 C 40000 40000 0 0 0 title-B.sym C 44700 46800 1 0 0 7400-1.sym { T 45200 47700 5 10 0 0 0 0 1 device=7400 T 45000 47700 5 10 1 1 0 0 1 refdes=U1 T 45200 49050 5 10 0 0 0 0 1 footprint=DIP14 } C 46200 46600 1 0 0 7400-1.sym { T 46700 47500 5 10 0 0 0 0 1 device=7400 T 46500 47500 5 10 1 1 0 0 1 refdes=U1 T 46700 48850 5 10 0 0 0 0 1 footprint=DIP14 T 46200 46600 5 10 0 0 0 0 1 slot=1 } N 46000 47300 46200 47300 4 N 46200 46900 45900 46900 4 N 45900 46900 45900 46600 4 N 45900 46600 44500 46600 4 N 44500 46600 44500 47100 4 N 47500 47100 47800 47100 4 N 44200 47500 44700 47500 4 N 44200 47100 44700 47100 4 C 47800 46400 1 0 0 7400-1.sym { T 48300 47300 5 10 0 0 0 0 1 device=7400 T 48100 47300 5 10 1 1 0 0 1 refdes=U1 T 48300 48650 5 10 0 0 0 0 1 footprint=DIP14 T 47800 46400 5 10 0 0 0 0 1 slot=2 } C 49300 46200 1 0 0 7400-1.sym { T 49800 47100 5 10 0 0 0 0 1 device=7400 T 49600 47100 5 10 1 1 0 0 1 refdes=U1 T 49800 48450 5 10 0 0 0 0 1 footprint=DIP14 T 49300 46200 5 10 0 0 0 0 1 slot=3 } N 49100 46900 49300 46900 4 N 49300 46500 49000 46500 4 N 47600 45900 50600 45900 4 N 50600 46700 50900 46700 4 C 50900 46000 1 0 0 7400-1.sym { T 51400 46900 5 10 0 0 0 0 1 device=7400 T 51200 46900 5 10 1 1 0 0 1 refdes=U1 T 51400 48250 5 10 0 0 0 0 1 footprint=DIP14 T 50900 46000 5 10 0 0 0 0 1 slot=4 } N 50900 46300 50600 46300 4 N 50600 46300 50600 45900 4 N 49000 45900 49000 46500 4 N 47600 46700 47800 46700 4 N 47600 45900 47600 47100 4 N 52200 46500 52500 46500 4 N 52500 46500 52500 45600 4 N 52500 45600 44200 45600 4 C 44300 47700 1 90 0 resistor-2.sym { T 43950 48100 5 10 0 0 90 0 1 device=RESISTOR T 44000 47900 5 10 1 1 90 0 1 refdes=R1 } N 44200 45600 44200 47700 4 C 43700 46500 1 90 0 resistor-2.sym { T 43350 46900 5 10 0 0 90 0 1 device=RESISTOR T 43400 46700 5 10 1 1 90 0 1 refdes=R2 } N 43600 47400 43600 47500 4 N 43600 47500 44200 47500 4 C 43500 46200 1 0 0 gnd-1.sym C 44000 48600 1 0 0 vcc-1.sym geda-gaf-1.8.2/gnetlist/tests/drc2/gnd-with-nc-directive.sch0000664000175000017500000000122512050461155020516 00000000000000v 20061020 1 C 40000 40000 0 0 0 title-B.sym C 47400 46000 1 90 0 resistor-2.sym { T 47050 46400 5 10 0 0 90 0 1 device=RESISTOR T 47100 46200 5 10 1 1 90 0 1 refdes=R2 } C 47600 46900 1 0 0 resistor-2.sym { T 48000 47250 5 10 0 0 0 0 1 device=RESISTOR T 47800 47200 5 10 1 1 0 0 1 refdes=R1 } C 47200 45500 1 0 0 gnd-1.sym N 47600 47000 47300 47000 4 N 47300 45800 47300 46000 4 C 47600 46100 1 270 0 nc-top-1.sym { T 48100 45700 5 10 0 0 270 0 1 value=NoConnection T 48300 45700 5 10 0 0 270 0 1 device=DRC_Directive } N 47600 45900 47300 45900 4 N 48500 47000 48700 47000 4 N 48700 47000 48700 47400 4 N 48700 47400 47300 47400 4 N 47300 46900 47300 47400 4 geda-gaf-1.8.2/gnetlist/tests/drc2/refdes-not-numbered.drc20000664000175000017500000000065312063576065020364 00000000000000Checking non-numbered parts... ERROR: Reference not numbered: R? Checking duplicated references... Checking NoConnection nets for connections... Checking nets with only one connection... Checking pins without the 'pintype' attribute... Checking type of pins connected to a net... Checking unconnected pins... Checking slots... Checking duplicated slots... Checking unused slots... No warnings found. Found 1 errors. geda-gaf-1.8.2/gnetlist/tests/drc2/net-not-driven-with-dont-check-if-driven-directive.sch0000664000175000017500000000333612050461155026124 00000000000000v 20061020 1 C 40000 40000 0 0 0 title-B.sym C 46200 46600 1 0 0 7400-1.sym { T 46700 47500 5 10 0 0 0 0 1 device=7400 T 46500 47500 5 10 1 1 0 0 1 refdes=U1 T 46700 48850 5 10 0 0 0 0 1 footprint=DIP14 T 46200 46600 5 10 0 0 0 0 1 slot=1 } N 45800 47300 46200 47300 4 N 45800 46900 46200 46900 4 N 47500 47100 47800 47100 4 C 47800 46400 1 0 0 7400-1.sym { T 48300 47300 5 10 0 0 0 0 1 device=7400 T 48100 47300 5 10 1 1 0 0 1 refdes=U1 T 48300 48650 5 10 0 0 0 0 1 footprint=DIP14 T 47800 46400 5 10 0 0 0 0 1 slot=2 } C 49300 46200 1 0 0 7400-1.sym { T 49800 47100 5 10 0 0 0 0 1 device=7400 T 49600 47100 5 10 1 1 0 0 1 refdes=U1 T 49800 48450 5 10 0 0 0 0 1 footprint=DIP14 T 49300 46200 5 10 0 0 0 0 1 slot=3 } N 49100 46900 49300 46900 4 N 49300 46500 49000 46500 4 N 50600 46700 50900 46700 4 C 50900 46000 1 0 0 7400-1.sym { T 51400 46900 5 10 0 0 0 0 1 device=7400 T 51200 46900 5 10 1 1 0 0 1 refdes=U1 T 51400 48250 5 10 0 0 0 0 1 footprint=DIP14 T 50900 46000 5 10 0 0 0 0 1 slot=4 } N 50900 46300 50600 46300 4 N 50600 46300 50600 45900 4 N 49000 45900 49000 46500 4 N 47600 46700 47800 46700 4 N 52200 46500 52500 46500 4 N 52500 46500 52500 45000 4 N 52500 45000 45800 45000 4 N 45800 45000 45800 47300 4 N 47600 46700 47600 47100 4 C 45400 47600 1 90 0 resistor-2.sym { T 45050 48000 5 10 0 0 90 0 1 device=RESISTOR T 45100 47800 5 10 1 1 90 0 1 refdes=R1 } C 45400 46500 1 90 0 resistor-2.sym { T 45050 46900 5 10 0 0 90 0 1 device=RESISTOR T 45100 46700 5 10 1 1 90 0 1 refdes=R2 } C 45200 46200 1 0 0 gnd-1.sym C 45100 48500 1 0 0 vcc-1.sym N 45300 47400 45300 47600 4 C 48200 45800 1 0 0 nc-left-1.sym { T 47600 45600 5 10 1 1 0 0 1 value=DontCheckIfDriven T 48200 46600 5 10 0 0 0 0 1 device=DRC_Directive } N 48700 45900 50600 45900 4 geda-gaf-1.8.2/gnetlist/tests/drc2/numslots-is-not-an-integer.sch0000664000175000017500000000155712050461155021555 00000000000000v 20061020 1 C 40000 40000 0 0 0 title-B.sym C 47300 46800 1 90 0 resistor-2.sym { T 47000 47000 5 10 1 1 90 0 1 refdes=R1 T 46950 47200 5 10 0 0 90 0 1 device=RESISTOR T 47400 47300 5 10 1 0 0 0 1 slot=1 T 47400 47100 5 10 1 0 0 0 1 numslots=fa } C 47300 45700 1 90 0 resistor-2.sym { T 46950 46100 5 10 0 0 90 0 1 device=RESISTOR T 47000 45900 5 10 1 1 90 0 1 refdes=R1 T 47400 46200 5 10 1 0 0 0 1 slot=2 T 47400 46000 5 10 1 0 0 0 1 numslots=fa } C 47100 45400 1 0 0 gnd-1.sym C 47000 47700 1 0 0 vcc-1.sym N 47200 46600 47200 46800 4 C 49100 46800 1 90 0 resistor-2.sym { T 48800 47000 5 10 1 1 90 0 1 refdes=R2 T 48750 47200 5 10 0 0 90 0 1 device=RESISTOR } C 49100 45700 1 90 0 resistor-2.sym { T 48750 46100 5 10 0 0 90 0 1 device=RESISTOR T 48800 45900 5 10 1 1 90 0 1 refdes=R3 } C 48900 45400 1 0 0 gnd-1.sym C 48800 47700 1 0 0 vcc-1.sym N 49000 46600 49000 46800 4 geda-gaf-1.8.2/gnetlist/tests/drc2/unused-slot.drc20000664000175000017500000000065312063576065017001 00000000000000Checking non-numbered parts... Checking duplicated references... Checking NoConnection nets for connections... Checking nets with only one connection... Checking pins without the 'pintype' attribute... Checking type of pins connected to a net... Checking unconnected pins... Checking slots... Checking duplicated slots... Checking unused slots... WARNING: Unused slot 4 of uref U1 Found 1 warnings. No errors found. geda-gaf-1.8.2/gnetlist/tests/drc2/slot-is-not-an-integer.sch0000664000175000017500000000155612050461155020651 00000000000000v 20061020 1 C 40000 40000 0 0 0 title-B.sym C 47300 46800 1 90 0 resistor-2.sym { T 47000 47000 5 10 1 1 90 0 1 refdes=R1 T 46950 47200 5 10 0 0 90 0 1 device=RESISTOR T 47400 47300 5 10 1 0 0 0 1 slot=fa T 47400 47100 5 10 1 0 0 0 1 numslots=1 } C 47300 45700 1 90 0 resistor-2.sym { T 46950 46100 5 10 0 0 90 0 1 device=RESISTOR T 47000 45900 5 10 1 1 90 0 1 refdes=R1 T 47400 46200 5 10 1 0 0 0 1 slot=2 T 47400 46000 5 10 1 0 0 0 1 numslots=1 } C 47100 45400 1 0 0 gnd-1.sym C 47000 47700 1 0 0 vcc-1.sym N 47200 46600 47200 46800 4 C 49100 46800 1 90 0 resistor-2.sym { T 48800 47000 5 10 1 1 90 0 1 refdes=R2 T 48750 47200 5 10 0 0 90 0 1 device=RESISTOR } C 49100 45700 1 90 0 resistor-2.sym { T 48750 46100 5 10 0 0 90 0 1 device=RESISTOR T 48800 45900 5 10 1 1 90 0 1 refdes=R3 } C 48900 45400 1 0 0 gnd-1.sym C 48800 47700 1 0 0 vcc-1.sym N 49000 46600 49000 46800 4 geda-gaf-1.8.2/gnetlist/tests/singlenet.pads0000664000175000017500000000033212050461155015731 00000000000000!PADS-POWERPCB-V3.0-MILS! *PART* U100 DIP14 *NET* *SIGNAL* SINGLE_NET2 U100.1 U100.3 *SIGNAL* GND U100.7 *SIGNAL* VCC U100.14 *SIGNAL* SINGLE_NET U100.4 U100.5 U100.10 U100.8 U100.9 U100.6 *END* geda-gaf-1.8.2/gnetlist/tests/hierarchy/0000775000175000017500000000000012220655756015143 500000000000000geda-gaf-1.8.2/gnetlist/tests/hierarchy/bottom.sym0000664000175000017500000000063112050461155017106 00000000000000v 20031019 1 B 300 200 1000 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 300 1100 8 10 1 1 0 0 1 refdes=U? P 1300 600 1600 600 1 0 1 { T 1400 700 5 10 1 1 0 0 1 pinnumber=2 T 1400 700 5 10 0 0 0 0 1 pinseq=2 T 1100 600 5 10 1 1 0 0 1 pinlabel=B } P 0 600 300 600 1 0 0 { T 100 700 5 10 1 1 0 0 1 pinnumber=1 T 100 700 5 10 0 0 0 0 1 pinseq=1 T 400 600 5 10 1 1 0 0 1 pinlabel=A } T 300 0 9 10 1 1 0 0 1 device=bottom geda-gaf-1.8.2/gnetlist/tests/hierarchy/top.sch0000664000175000017500000000137112050461155016353 00000000000000v 20031019 1 C 39700 49000 1 0 0 middle.sym { T 40100 50100 5 10 1 1 0 0 1 refdes=Utop T 40700 50200 5 10 1 1 0 0 1 source=middle.sch } N 39700 49600 38700 49600 4 { T 38700 50000 5 10 1 1 0 0 1 netname=U1_2_to_B } N 41500 49600 43200 49600 4 { T 41800 50000 5 10 1 1 0 0 1 netname=U2_1_to_E } C 37600 49100 1 0 0 7404-1.sym { T 37900 50000 5 10 1 1 0 0 1 refdes=U1 } C 43200 49100 1 0 0 7404-1.sym { T 43500 50000 5 10 1 1 0 0 1 refdes=U2 } C 39700 51100 1 0 0 middle.sym { T 40100 52200 5 10 1 1 0 0 1 refdes=Uunder T 40700 52300 5 10 1 1 0 0 1 source=middle.sch } N 41500 51700 42400 51700 4 N 42400 51700 42400 49600 4 N 39700 51700 38900 51700 4 N 38900 51700 38900 49600 4 N 44300 49600 45900 49600 4 { T 44700 49700 5 10 1 1 0 0 1 netname=same_for_all } geda-gaf-1.8.2/gnetlist/tests/hierarchy/gschemrc0000664000175000017500000000010512050461155016562 00000000000000(source-library ".") (component-library ".") ;;(undo-type "memory") geda-gaf-1.8.2/gnetlist/tests/hierarchy/Makefile.am0000664000175000017500000000225612063576065017124 00000000000000## Process this file with automake to produce Makefile.in EXTRA_DIST = 1217.geda bottom.sch bottom.sym gnetlistrc.hierarchy gschemrc \ gschlasrc hierarchy.geda middle.sch middle.sym rock.sch rock.sym \ top.sch # Temporarily disabled make check, since this is interfering with # make distcheck check_SCRIPTS = tests BUILDDIR=$(top_builddir)/gnetlist/tests/hierarchy SRCDIR=$(srcdir) GNETLIST=$(top_builddir)/gnetlist/src/gnetlist tests: rm -f $(BUILDDIR)/new_* cp -f $(SRCDIR)/gnetlistrc.hierarchy $(BUILDDIR)/gnetlistrc ( TESTDIR=$(SRCDIR) \ GEDADATARC=$(top_builddir)/gnetlist/lib \ SCMDIR=${top_builddir}/gnetlist/scheme \ SYMDIR=$(top_srcdir)/symbols \ $(GNETLIST) \ -L $(top_srcdir)/libgeda/scheme \ -L $(top_builddir)/libgeda/scheme \ -o $(BUILDDIR)/new_hierarchy.geda \ -g geda $(SRCDIR)/top.sch ) diff $(SRCDIR)/hierarchy.geda $(BUILDDIR)/new_hierarchy.geda; rm -f $(BUILDDIR)/gnetlistrc MOSTLYCLEANFILES = new_* core *.log FILE *.ps *~ gnetlistrc CLEANFILES = new_* core *.log FILE *.ps *~ gnetlistrc DISTCLEANFILES = *.log core FILE *~ gnetlistrc MAINTAINERCLEANFILES = new_* core *.log FILE *.ps *~ Makefile.in gnetlistrc geda-gaf-1.8.2/gnetlist/tests/hierarchy/1217.geda0000664000175000017500000000223012050461155016261 00000000000000START header gEDA's netlist format Created specifically for testing of gnetlist END header START components Uunder/Umiddle/Urock/Qrock device=PNP_TRANSISTOR U2 device=7404 U1 device=7404 Utop/Umiddle/Urock/Qrock device=PNP_TRANSISTOR END components START renamed-nets Uunder/Umiddle/Urock/unnamed_net4 -> U1_2_to_B Uunder/Umiddle/Urock/unnamed_net3 -> U2_1_to_E Uunder/Umiddle/rockA -> U1_2_to_B Uunder/Umiddle/rockB -> U2_1_to_E Uunder/middleA -> U1_2_to_B Uunder/middleB -> U2_1_to_E Utop/Umiddle/Urock/unnamed_net2 -> U1_2_to_B Utop/Umiddle/Urock/unnamed_net1 -> U2_1_to_E Utop/Umiddle/rockA -> U1_2_to_B Utop/Umiddle/rockB -> U2_1_to_E Utop/middleA -> U1_2_to_B Utop/middleB -> U2_1_to_E END renamed-nets START nets Uunder/Umiddle/Urock/BUGA : Uunder/Umiddle/Urock/Qrock D Uunder/Umiddle/Urock/-12V : Uunder/Umiddle/Urock/Qrock C same_for_all : U2 2 Vcc : U2 14, U1 14 GND : U2 7, U1 7 Utop/Umiddle/Urock/BUGA : Utop/Umiddle/Urock/Qrock D Utop/Umiddle/Urock/-12V : Utop/Umiddle/Urock/Qrock C U1_2_to_B : Uunder/Umiddle/Urock/Qrock B, Utop/Umiddle/Urock/Qrock B, U1 2 U2_1_to_E : Uunder/Umiddle/Urock/Qrock E, Utop/Umiddle/Urock/Qrock E, U2 1 END nets geda-gaf-1.8.2/gnetlist/tests/hierarchy/Makefile.in0000664000175000017500000004202612220655723017126 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = gnetlist/tests/hierarchy DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = 1217.geda bottom.sch bottom.sym gnetlistrc.hierarchy gschemrc \ gschlasrc hierarchy.geda middle.sch middle.sym rock.sch rock.sym \ top.sch # Temporarily disabled make check, since this is interfering with # make distcheck check_SCRIPTS = tests BUILDDIR = $(top_builddir)/gnetlist/tests/hierarchy SRCDIR = $(srcdir) GNETLIST = $(top_builddir)/gnetlist/src/gnetlist MOSTLYCLEANFILES = new_* core *.log FILE *.ps *~ gnetlistrc CLEANFILES = new_* core *.log FILE *.ps *~ gnetlistrc DISTCLEANFILES = *.log core FILE *~ gnetlistrc MAINTAINERCLEANFILES = new_* core *.log FILE *.ps *~ Makefile.in gnetlistrc all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gnetlist/tests/hierarchy/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu gnetlist/tests/hierarchy/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) $(check_SCRIPTS) check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: check-am install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags-am uninstall uninstall-am tests: rm -f $(BUILDDIR)/new_* cp -f $(SRCDIR)/gnetlistrc.hierarchy $(BUILDDIR)/gnetlistrc ( TESTDIR=$(SRCDIR) \ GEDADATARC=$(top_builddir)/gnetlist/lib \ SCMDIR=${top_builddir}/gnetlist/scheme \ SYMDIR=$(top_srcdir)/symbols \ $(GNETLIST) \ -L $(top_srcdir)/libgeda/scheme \ -L $(top_builddir)/libgeda/scheme \ -o $(BUILDDIR)/new_hierarchy.geda \ -g geda $(SRCDIR)/top.sch ) diff $(SRCDIR)/hierarchy.geda $(BUILDDIR)/new_hierarchy.geda; rm -f $(BUILDDIR)/gnetlistrc # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/gnetlist/tests/hierarchy/middle.sym0000664000175000017500000000102112050461155017032 00000000000000v 20031019 1 P 1400 600 1800 600 1 0 1 { T 1600 700 5 10 1 1 0 0 1 pinnumber=2 T 1600 700 5 10 0 0 0 0 1 pinseq=2 T 1200 700 5 10 1 1 0 0 1 pinlabel=B } P 0 600 400 600 1 0 0 { T 100 700 5 10 1 1 0 0 1 pinnumber=1 T 100 700 5 10 0 0 0 0 1 pinseq=1 T 500 700 5 10 1 1 0 0 1 pinlabel=A } T 400 1100 8 10 1 1 0 0 1 refdes=U? T 400 0 9 10 1 1 0 0 1 device=middle T 1400 1700 9 10 0 0 0 0 1 numslots=2 T 1400 1500 9 10 0 0 0 0 1 slotdef=1:1,2 T 1400 1300 9 10 0 0 0 0 1 slotdef=2:3,4 B 400 200 1000 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 geda-gaf-1.8.2/gnetlist/tests/hierarchy/rock.sym0000664000175000017500000000101712050461155016537 00000000000000v 20031019 1 B 400 200 1000 800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 1400 600 1800 600 1 0 1 { T 1600 700 5 10 1 1 0 0 1 pinnumber=2 T 1600 700 5 10 0 0 0 0 1 pinseq=2 T 1200 700 5 10 1 1 0 0 1 pinlabel=B } P 0 600 400 600 1 0 0 { T 100 700 5 10 1 1 0 0 1 pinnumber=1 T 100 700 5 10 0 0 0 0 1 pinseq=1 T 500 700 5 10 1 1 0 0 1 pinlabel=A } T 400 1100 8 10 1 1 0 0 1 refdes=U? T 400 0 9 10 1 1 0 0 1 device=rock T 1400 1700 9 10 0 0 0 0 1 numslots=2 T 1400 1500 9 10 0 0 0 0 1 slotdef=1:1,2 T 1400 1300 9 10 0 0 0 0 1 slotdef=2:3,4 geda-gaf-1.8.2/gnetlist/tests/hierarchy/gschlasrc0000664000175000017500000000005512050461155016744 00000000000000(source-library ".") (component-library ".") geda-gaf-1.8.2/gnetlist/tests/hierarchy/rock.sch0000664000175000017500000000061012050461155016502 00000000000000v 20031019 1 C 19800 37700 1 0 0 pnp-3.sym { T 20700 38200 5 10 1 1 0 0 1 refdes=Qrock T 20700 38600 5 10 1 1 0 0 1 net=BUGA:D } N 19800 38200 18600 38200 4 N 20400 37700 22100 37700 4 C 18000 38100 1 0 0 in-1.sym { T 18000 38400 5 10 1 1 0 0 1 refdes=A } C 22100 37600 1 0 0 out-1.sym { T 22100 37900 5 10 1 1 0 0 1 refdes=B } C 20200 38900 1 0 0 12V-minus-1.sym N 20400 38900 20400 38700 4 geda-gaf-1.8.2/gnetlist/tests/hierarchy/middle.sch0000664000175000017500000000063212050461155017006 00000000000000v 20031019 1 N 6700 4500 5900 4500 4 { T 5900 4700 5 10 1 1 0 0 1 netname=middleA } N 8300 4500 9600 4500 4 { T 8900 4700 5 10 1 1 0 0 1 netname=middleB } C 5300 4400 1 0 0 in-1.sym { T 5300 4700 5 10 1 1 0 0 1 refdes=A } C 9600 4400 1 0 0 out-1.sym { T 9900 4700 5 10 1 1 0 0 1 refdes=B } C 6700 3900 1 0 0 bottom.sym { T 7000 5000 5 10 1 1 0 0 1 refdes=Umiddle T 7500 5300 5 10 1 1 0 0 1 source=bottom.sch } geda-gaf-1.8.2/gnetlist/tests/hierarchy/hierarchy.geda0000664000175000017500000000223012050461155017645 00000000000000START header gEDA's netlist format Created specifically for testing of gnetlist END header START components Uunder/Umiddle/Urock/Qrock device=PNP_TRANSISTOR U2 device=7404 U1 device=7404 Utop/Umiddle/Urock/Qrock device=PNP_TRANSISTOR END components START renamed-nets Uunder/Umiddle/Urock/unnamed_net4 -> U1_2_to_B Uunder/Umiddle/Urock/unnamed_net3 -> U2_1_to_E Uunder/Umiddle/rockA -> U1_2_to_B Uunder/Umiddle/rockB -> U2_1_to_E Uunder/middleA -> U1_2_to_B Uunder/middleB -> U2_1_to_E Utop/Umiddle/Urock/unnamed_net2 -> U1_2_to_B Utop/Umiddle/Urock/unnamed_net1 -> U2_1_to_E Utop/Umiddle/rockA -> U1_2_to_B Utop/Umiddle/rockB -> U2_1_to_E Utop/middleA -> U1_2_to_B Utop/middleB -> U2_1_to_E END renamed-nets START nets Uunder/Umiddle/Urock/BUGA : Uunder/Umiddle/Urock/Qrock D Uunder/Umiddle/Urock/-12V : Uunder/Umiddle/Urock/Qrock C same_for_all : U2 2 Vcc : U2 14, U1 14 GND : U2 7, U1 7 Utop/Umiddle/Urock/BUGA : Utop/Umiddle/Urock/Qrock D Utop/Umiddle/Urock/-12V : Utop/Umiddle/Urock/Qrock C U1_2_to_B : Uunder/Umiddle/Urock/Qrock B, Utop/Umiddle/Urock/Qrock B, U1 2 U2_1_to_E : Uunder/Umiddle/Urock/Qrock E, Utop/Umiddle/Urock/Qrock E, U2 1 END nets geda-gaf-1.8.2/gnetlist/tests/hierarchy/gnetlistrc.hierarchy0000664000175000017500000000145112050461155021127 00000000000000;; We want to point at the scheme code that hasn't been installed yet so that ;; 'make check' during development can work correctly. (scheme-directory "${SCMDIR}") ;; We want to use the symbols that haven't been installed yet (map (lambda (x) (component-library (string-join (list "${SYMDIR}/" x) ""))) '("io" "74" "analog" "power")) (source-library "${TESTDIR}") (component-library "${TESTDIR}") ;(net-naming-priority "label") ;(hierarchy-traversal "disabled") ;(hierarchy-uref-mangle "disabled") ;(hierarchy-netname-mangle "disabled") ;(hierarchy-netattrib-mangle "disabled") ;(hierarchy-netname-separator ".") ;(hierarchy-uref-separator ".") ;(hierarchy-netattrib-separator ".") ;(hierarchy-netname-order "prepend") ;(hierarchy-uref-order "prepend") ;(hierarchy-netattrib-order "prepend") geda-gaf-1.8.2/gnetlist/tests/hierarchy/bottom.sch0000664000175000017500000000076512050461155017063 00000000000000v 20031019 1 N 19900 41000 18700 41000 4 { T 18900 41100 5 10 1 1 0 0 1 netname=rockA } N 21700 41000 25400 41000 4 { T 24200 41100 5 10 1 1 0 0 1 netname=rockB } C 18000 38800 1 0 0 in-1.sym { T 18000 39100 5 10 1 1 0 0 1 refdes=A } C 25400 40900 1 0 0 out-1.sym { T 25400 41200 5 10 1 1 0 0 1 refdes=B } N 18600 38900 18900 38900 4 { T 18700 39200 5 10 1 1 0 0 1 netname=rockA } C 19900 40400 1 0 0 rock.sym { T 20300 41500 5 10 1 1 0 0 1 refdes=Urock T 20400 41800 5 10 1 1 0 0 1 source=rock.sch } geda-gaf-1.8.2/gnetlist/tests/amp.spice0000664000175000017500000000046412050461155014700 00000000000000* Spice netlister for gnetlist RE2 8 0 3.6K R4 6 0 30K Q2 7 6 8 QM RE1 5 0 3.6K R3 10 6 120K Q1 4 3 5 QM RS 12 2 150 R2 3 0 50K R1 10 3 200K C3 7 9 10 uF RF 2 11 25K C2 4 6 10 uF VX 1 12 DC 0V C1 2 3 10 uF CE1 5 0 15 uF VCC 10 0 DC 15V CF 11 8 10 uF RC2 10 7 6.8K VIN 1 0 AC 1MV RC1 10 4 12K RL 9 0 10K .END geda-gaf-1.8.2/gnetlist/tests/gnetlistrc.vhdl0000664000175000017500000000031512050461155016126 00000000000000; ; This file is really a gnetlistrc file. ; It is renamed to gnetlistrc before any vhdl backend test is run. ; ; The path is hardcoded for now. ; (component-library "${HOME}/geda/share/gEDA/sym/vhdl") geda-gaf-1.8.2/gnetlist/tests/darlington.spice-sdb0000664000175000017500000000112112050461155017021 00000000000000* gnetlist -o new_darlington.spice-sdb -g spice-sdb /home/ahvezda/gEDA/alesch/darlington.sch ********************************************************* * Spice file generated by gnetlist * * spice-sdb version 2.10.2007 by SDB -- * * provides advanced spice netlisting capability. * * Documentation at http://www.brorson.com/gEDA/SPICE/ * ********************************************************* *============== Begin SPICE netlist of main design ============ Q2 2 3 4 QM Q1 2 1 3 QM RE 4 0 4.7K Vcc 2 0 DC 12V Vin 1 0 DC 5V RB 2 1 47K .end geda-gaf-1.8.2/gnetlist/tests/singlenet.liquidpcb0000664000175000017500000000110112050461155016751 00000000000000 geda-gaf-1.8.2/gnetlist/tests/multiequal.spice-sdb0000664000175000017500000000104612050461155017050 00000000000000* ../src/gnetlist -o ../tests/new_multiequal.spice-sdb -g spice-sdb ./multiequal.sch ********************************************************* * Spice file generated by gnetlist * * spice-sdb version 4.28.2007 by SDB -- * * provides advanced spice netlisting capability. * * Documentation at http://www.brorson.com/gEDA/SPICE/ * ********************************************************* *============== Begin SPICE netlist of main design ============ V1 1 0 DC 1V R1 0 1 20 .OPTIONS abotol=1e-11 .end geda-gaf-1.8.2/gnetlist/tests/cascade.sch0000664000175000017500000000465012050461155015161 00000000000000v 20070526 1 C 40000 40000 0 0 0 title-B.sym C 41300 48800 1 0 0 cascade-defaults-2.sym { T 43100 52200 5 10 0 1 0 0 1 device=cascade-defaults-top T 41400 48900 5 10 1 1 0 0 1 refdes=DEFAULTS T 41500 49500 5 10 1 0 0 0 1 RIN=50 T 42900 49500 5 10 1 0 0 0 1 ROUT=50 T 44500 49500 5 10 1 0 0 0 1 RHO=0 } C 40800 46000 1 0 0 cascade-source-1.sym { T 39600 45900 5 10 0 0 0 0 1 device=cascade-source T 40900 47300 5 10 1 1 0 0 1 refdes=SOURCE T 40100 46200 5 10 0 1 0 0 1 footprint=none T 40900 46400 5 10 1 0 0 0 1 C=0 T 40900 46200 5 10 1 0 0 0 1 CN=70 T 40900 46000 5 10 1 0 0 0 1 BW=1 } C 42500 46100 1 0 0 cascade-amp-1.sym { T 42425 46650 5 8 0 0 0 0 1 device=cascade-amp T 42700 47500 5 10 1 1 0 0 1 refdes=AMP1 T 42100 46400 5 10 0 1 0 0 1 footprint=none T 42800 46500 5 10 1 0 0 0 1 G=12 T 42800 46300 5 10 1 0 0 0 1 NF=5 T 42800 46100 5 10 1 0 0 0 1 IIP3=-2 } C 44000 46600 1 0 0 cascade-defaults-1.sym { T 44525 47550 5 8 0 0 0 0 1 device=cascade-defaults T 44200 47700 5 10 1 1 0 0 1 refdes=DEF1 T 44300 47200 5 10 1 0 0 1 1 RIN=50 T 44300 47000 5 10 1 0 0 1 1 ROUT=50 T 44300 46800 5 10 1 0 0 1 1 RHO=0.2 T 44000 46600 5 10 0 1 0 0 1 footprint=none } C 46500 46200 1 0 0 cascade-filter-1.sym { T 46700 47700 5 10 0 0 0 0 1 footprint=none T 44700 44850 5 10 0 1 0 0 1 device=cascade-filter T 46800 47500 5 10 1 1 0 0 1 refdes=FL1 T 46900 46400 5 10 1 0 0 0 1 G=-5.5 T 46900 46200 5 10 1 0 0 0 1 NF=5.5 } C 48500 45800 1 0 0 cascade-mixer-1.sym { T 49000 47400 5 10 0 0 0 0 1 footprint=none T 47300 45650 5 10 0 1 0 0 1 device=cascade-mixer T 48800 47600 5 10 1 1 0 0 1 refdes=MX1 T 49000 46200 5 10 1 0 0 0 1 G=12 T 49000 46000 5 10 1 0 0 0 1 NF=15 T 49000 45800 5 10 1 0 0 0 1 IIP3=5 } C 50500 45100 1 0 0 cascade-transformer-1.sym { T 50800 47150 5 10 1 1 0 0 1 refdes=T1 T 49200 45550 5 10 0 0 0 0 1 device=cascade-transformer T 50200 46300 5 10 0 1 0 0 1 footprint=none T 51100 45700 5 10 1 0 0 0 1 G=0 T 51100 45500 5 10 1 0 0 0 1 NF=0 T 51100 45300 5 10 1 0 0 0 1 RIN=50 T 51100 45100 5 10 1 0 0 0 1 ROUT=50 } C 52900 46100 1 0 0 cascade-amp-1.sym { T 52825 46650 5 8 0 0 0 0 1 device=cascade-amp T 53100 47500 5 10 1 1 0 0 1 refdes=AMP2 T 52500 46400 5 10 0 1 0 0 1 footprint=none T 53200 46500 5 10 1 0 0 0 1 G=10 T 53200 46300 5 10 1 0 0 0 1 NF=12 T 53200 46100 5 10 1 0 0 0 1 IIP3=12 } N 52900 47000 52000 47000 4 N 50500 47000 49900 47000 4 N 48500 47000 47800 47000 4 N 46500 47000 45600 47000 4 N 44000 47000 43500 47000 4 N 42500 47000 41500 47000 4 geda-gaf-1.8.2/gnetlist/tests/test.ana0000664000175000017500000000034312050461155014532 00000000000000ANALYZE SSS; INFREQ 100.0 1.0E6 LOG 501; SET V1 AC 1.0 0.0; PRINT VDB(OUT) VP(OUT); END; ANALYZE TRAN; TIME 0+ 500 1 SET V1 PULSE 0 5 10e-6 5e-6 5e-6 100e-6 500e-6; PRINT V(OUT); END; geda-gaf-1.8.2/gnetlist/scripts/0000775000175000017500000000000012220655756013512 500000000000000geda-gaf-1.8.2/gnetlist/scripts/bom_xref.sh.in0000664000175000017500000000037312204177070016165 00000000000000#!/bin/sh # ha ha if [ -z "$1" ] ; then echo "usage $0 geda-bom # output on stdout" exit -1 fi cat $1 | sort -k1,1 |\ @AWK@ '!/device/{printf("%-5s %-20s %-20s %-20s\n", toupper($1), toupper($2), toupper($3), toupper($4));} /device/{}' geda-gaf-1.8.2/gnetlist/scripts/Makefile.am0000664000175000017500000000045712204177070015462 00000000000000 EXTRA_DIST = bompp.sh.in annotate.sh.in unannotate.sh bom_xref.sh.in \ sch2eaglepos.sh MOSTLYCLEANFILES = *.log *~ CLEANFILES = *.log *~ DISTCLEANFILES = *.log core FILE *~ bompp.sh annotate.sh bom_xref.sh MAINTAINERCLEANFILES = *.log *~ Makefile.in bompp.sh annotate.sh \ bom_xref.sh geda-gaf-1.8.2/gnetlist/scripts/unannotate.sh0000775000175000017500000000036312204177070016135 00000000000000#!/bin/sh if [ -z $1 ]; then echo "No sch file indicated" echo "usage:" echo "annotate file" echo " file is generated by gschem" exit 1 fi cat $1 | sed "/refdes=\([A-Za-z][A-Za-z]*\)[0-9][0-9]*/s//refdes=\1?/g" > $1.tmp #mv $1.tmp $1 geda-gaf-1.8.2/gnetlist/scripts/sch2eaglepos.sh0000775000175000017500000000260212204177070016336 00000000000000#!/bin/sh # By Braddock Gaskill (braddock@braddock.com), August 2004. This # software is hereby declared to be in the public domain by Braddock # Gaskill, the author. FNAME="$1" if [ -z "$FNAME" ]; then cat << EOF $0 This script will read a gschem schematic and attempt to extract the relative positions of the components in the schematic, and generate corresponding MOVE instructions for Eagle. You will likely have to adjust XOFFSET, YOFFSET, XSCAL, and YSCALE at the top of the script to obtain usable positions. By Braddock Gaskill (braddock@braddock.com), August 2004 EOF exit -1 fi XOFFSET=40000 YOFFSET=33000 #XSCALE=10000 #YSCALE=10000 XSCALE=9000 YSCALE=9000 tmpdir=/tmp/$$ mkdir -m 0700 -p $tmpdir rc=$? if test $rc -ne 0 ; then cat << EOF $0: ERROR -- Failed to create $tmpdir with 0700 permissions. mkdir returned $rc. Make sure that $tmpdir does not already exist and that you have permissions to create it. EOF exit 1 fi tmpf=${tmpdir}/tmpf grep -B1 refdes= "$FNAME" |sed 's/=/ /' | cut -d" " -f2,3 |grep -v '^--' >${tmpf} while read; do # the directory on the client to backup X=`echo $REPLY | cut -d' ' -f1` Y=`echo $REPLY | cut -d' ' -f2` read; PART="$REPLY" X=`echo "scale=5; ($X - $XOFFSET) / $XSCALE" |bc` Y=`echo "scale=5; ($Y - $YOFFSET) / $YSCALE" |bc` echo "MOVE '$PART' ($X $Y);" done < $tmpf rm -fr "${tmpdir}" geda-gaf-1.8.2/gnetlist/scripts/Makefile.in0000664000175000017500000004115712220655723015501 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = gnetlist/scripts DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(srcdir)/annotate.sh.in $(srcdir)/bom_xref.sh.in \ $(srcdir)/bompp.sh.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = annotate.sh bom_xref.sh bompp.sh CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = bompp.sh.in annotate.sh.in unannotate.sh bom_xref.sh.in \ sch2eaglepos.sh MOSTLYCLEANFILES = *.log *~ CLEANFILES = *.log *~ DISTCLEANFILES = *.log core FILE *~ bompp.sh annotate.sh bom_xref.sh MAINTAINERCLEANFILES = *.log *~ Makefile.in bompp.sh annotate.sh \ bom_xref.sh all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gnetlist/scripts/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu gnetlist/scripts/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): annotate.sh: $(top_builddir)/config.status $(srcdir)/annotate.sh.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ bom_xref.sh: $(top_builddir)/config.status $(srcdir)/bom_xref.sh.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ bompp.sh: $(top_builddir)/config.status $(srcdir)/bompp.sh.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags-am uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/gnetlist/scripts/annotate.sh.in0000664000175000017500000000556612204177070016206 00000000000000#!/bin/sh # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, # MA 02111-1301, USA #------------------------------------------------------------------ #--------------------------------JM Routoure----------------------- #---------------------------------28/02/2000----------------------- #------------------------------------------------------------------ if [ -z "$1" ]; then echo "No sch file indicated" echo "usage:" echo "annotate file" echo " file is generated by gschem" exit 1 fi # create a secure temp directory tmpd=${TMP:-/tmp}/annotate.$$ mkdir -m 0700 ${tmpd} rc=$? if test $rc -ne 0 ; then cat << EOF $0: ERROR -- failed to securily create ${tmpd} Check to make sure that the directory does not already exist and that you have sufficient permissions to create it. mkdir returned $rc. EOF exit 1 fi # Determine the different refdes=? list=`@AWK@ '/^refdes=[A-Z]+\?/ { A=$1; gsub(/refdes=/,"",A) gsub(/\?/,"",A) print A}' $1 | sort | @AWK@ 'BEGIN {if (NR==1) {A=$1} }{if (A !=$1) print ; A=$1}' - ` if [ -z "$list" ]; then echo "No new devices found!" exit 0 fi # make a copy of the current schematics cp $1 $1.sauv # Replace the ? by a number sc=${tmpd}/sc.awk for f in $list; do # creation du script gawk 1 echo "BEGIN {R=0}" >${sc} echo "/^refdes=$f[0-9]+/ {B=\$1" >>${sc} echo "gsub(/refdes=[A-Z]+/,\"\",B)" >>${sc} echo "if (B>R) {R=B}" >>${sc} echo "}" >>${sc} echo "END {printf(\"%d\",R)}" >>${sc} # execution des scripts IMAX=`@AWK@ -f ${sc} $1` echo "Numbering of $f will start at $IMAX" # creation du script gawk 2 echo "BEGIN {R=MAX} ">${sc} echo "{if (match(\$1,/^refdes=$f\?/)!=0) {" >>${sc} echo "R=R+1" >>${sc} echo "sub(/\?/,R,\$1)" >>${sc} echo "print \$1 } " >>${sc} echo "else {print \$0}}">>${sc} #echo "OK=1" >>${sc} #echo "LL=NR}" >>${sc} #echo "{" >>${sc} #echo "if ((OK==1)&&(NR==LL+1)) {print \$1\" \"\$2\" \"\$3\" \"\$4\" \"\$5\" \"1\" \"\$7\" \"\$8 }" >>${sc} #echo "if (NR==LL+2) {OK=0} " >>${sc} #echo "if (OK==0) {print \$0} " >>${sc} #echo "}" >>${sc} #execute the second script cat $1 | @AWK@ -v MAX=$IMAX -f ${sc} - > $1.tmp mv $1.tmp $1 done # clean ! rm -fr ${tmpd} geda-gaf-1.8.2/gnetlist/scripts/bompp.sh.in0000664000175000017500000000223512204177070015500 00000000000000#!/bin/sh # ha ha if [ -z "$1" ] ; then echo "usage $0 geda-bom # output on stdout" exit -1 fi cat $1 | @AWK@ '{print toupper($2)" "toupper($3)" "toupper($4)" "toupper($1)}'\ | sort +0 | @AWK@ '\ BEGIN {\ f1="";f2="";f3="";\ format1="%3d %-19s %-10s %-10s ";\ format4="%-46s";\ format2="%s, ";\ format3="%s\n";\ format5="%s,\n";\ urefsperline=5;\ printf(format1 format3, 0, "Device", "Value", "Footprint", "Urefs");\ }\ /^DEVICE/{}\ !/^DEVICE/{\ if($1==f1 && $2==f2 && $3==f3) {\ array[ct++]=$4;\ } else {\ if(f1!="" && f2!="" && f3!="") { \ printf(format1, ct, f1, f2, f3);\ for(i=0; ihtml html_man_files = $(dist_man_MANS:%.1=%.html) SUFFIXES = .1 .html docsmandir=$(docdir)/man docsman_DATA=$(html_man_files) if ENABLE_GROFF_HTML .1.html: rm -rf $@.tmp && \ LC_NUMERIC=C $(GROFF) -man -T html $< >$@.tmp && \ mv -f $@.tmp $@ else .1.html: @echo "No working groff available: cannot create $@" @! : endif doxygen: gnetlist.dox @echo 'Creating doxygen documentation for gnetlist...' if ENABLE_DOXYGEN $(DOXYGEN) gnetlist.dox else @echo 'configure was not run with the --enable-doxygen switch.' @echo 'The documentation cannot be built from the sources.' endif MOSTLYCLEANFILES = *.log *~ CLEANFILES = *.log *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log *~ Makefile.in $(html_man_files) distclean-local: -rm -rf html latex maintainer-clean-local: -rm -rf html latex geda-gaf-1.8.2/gnetlist/docs/gnetlist-main.txt0000664000175000017500000000043512050461155016176 00000000000000/*! \mainpage gnetlist - The GPL Electronic Design Automation netlister for the schematic capture tool. \image html logo.png \section geda-intro gEDA Introduction \htmlinclude what-is-geda.html \section gattrib-intro gnetlist Introduction \htmlinclude what-is-gnetlist.html */ geda-gaf-1.8.2/gnetlist/docs/what-is-geda.html0000664000175000017500000000155412050461155016025 00000000000000 What is gEDA?

    The gEDA project is working on producing a full GPL'd suite of Electronic Design Automation tools. These tools are used for electrical circuit design, schematic capture, simulation, prototyping, and production. Currently, the gEDA project offers a mature suite of free software applications for electronics design, including schematic capture, attribute management, bill of materials (BOM) generation, netlisting into over 20 netlist formats, analog and digital simulation, and printed circuit board (PCB) layout.

    The gEDA project was started because of the lack of free EDA tools for UNIX. The tools are being developed mainly on GNU/Linux machines, but considerable effort is being made to make sure that gEDA runs on other UNIX variants. For a complete list of freely available tools please be sure to visit Open Collector. geda-gaf-1.8.2/gnetlist/docs/README.eagle0000664000175000017500000000165112050461155014617 00000000000000Basic information about the Eagle PCB backend and sch2eaglepos.sh gnet-eagle.scm The script uses the component's package, footprint, value, and (if no value) device attributes, as well as the netlist, to generate an Eagle script that will add and connect all components. It also introduces a "lib" attribute, which specifies the Eagle library where the footprint can be found...if a "lib" attribute is not set for a component, then the library defaults to "smd-ipc" (the default Eagle surface mount library). sch2eaglepos.sh I am also including a simple shell script that I wrote which has saved me hours by extracting the relative locations of the parts from a gschem schematic, and generating an Eagle script to place the components in the same relative locations on the layout. By default all packages are piled on top of each other, and with a large design it takes a long time to sort out which cap bypasses which IC, etc. geda-gaf-1.8.2/gnetlist/docs/Makefile.in0000664000175000017500000007112312220655722014735 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = gnetlist/docs DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(dist_man_MANS) $(dist_docsreadme_DATA) ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } man1dir = $(mandir)/man1 am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(docsreadmedir)" \ "$(DESTDIR)$(docsmandir)" NROFF = nroff MANS = $(dist_man_MANS) DATA = $(dist_docsreadme_DATA) $(docsman_DATA) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = vams EXTRA_DIST = $(html_man_files) logo.png \ gnetlist-main.txt what-is-geda.html what-is-gnetlist.html \ gnetlist.dox docsreadmedir = $(docdir)/readmes dist_docsreadme_DATA = \ README.bom README.pcb README.switcap README.verilog \ README.vhdl README.sysc README.eagle dist_man_MANS = gnetlist.1 noinst_MANS = mk_verilog_syms.1 # Rules for converting man->html html_man_files = $(dist_man_MANS:%.1=%.html) SUFFIXES = .1 .html docsmandir = $(docdir)/man docsman_DATA = $(html_man_files) MOSTLYCLEANFILES = *.log *~ CLEANFILES = *.log *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log *~ Makefile.in $(html_man_files) all: all-recursive .SUFFIXES: .SUFFIXES: .1 .html $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gnetlist/docs/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu gnetlist/docs/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-man1: $(dist_man_MANS) @$(NORMAL_INSTALL) @list1=''; \ list2='$(dist_man_MANS)'; \ test -n "$(man1dir)" \ && test -n "`echo $$list1$$list2`" \ || exit 0; \ echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ { for i in $$list1; do echo "$$i"; done; \ if test -n "$$list2"; then \ for i in $$list2; do echo "$$i"; done \ | sed -n '/\.1[a-z]*$$/p'; \ fi; \ } | while read p; do \ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; echo "$$p"; \ done | \ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ sed 'N;N;s,\n, ,g' | { \ list=; while read file base inst; do \ if test "$$base" = "$$inst"; then list="$$list $$file"; else \ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ fi; \ done; \ for i in $$list; do echo "$$i"; done | $(am__base_list) | \ while read files; do \ test -z "$$files" || { \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ done; } uninstall-man1: @$(NORMAL_UNINSTALL) @list=''; test -n "$(man1dir)" || exit 0; \ files=`{ for i in $$list; do echo "$$i"; done; \ l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \ sed -n '/\.1[a-z]*$$/p'; \ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) install-dist_docsreadmeDATA: $(dist_docsreadme_DATA) @$(NORMAL_INSTALL) @list='$(dist_docsreadme_DATA)'; test -n "$(docsreadmedir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(docsreadmedir)'"; \ $(MKDIR_P) "$(DESTDIR)$(docsreadmedir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docsreadmedir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(docsreadmedir)" || exit $$?; \ done uninstall-dist_docsreadmeDATA: @$(NORMAL_UNINSTALL) @list='$(dist_docsreadme_DATA)'; test -n "$(docsreadmedir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(docsreadmedir)'; $(am__uninstall_files_from_dir) install-docsmanDATA: $(docsman_DATA) @$(NORMAL_INSTALL) @list='$(docsman_DATA)'; test -n "$(docsmandir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(docsmandir)'"; \ $(MKDIR_P) "$(DESTDIR)$(docsmandir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docsmandir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(docsmandir)" || exit $$?; \ done uninstall-docsmanDATA: @$(NORMAL_UNINSTALL) @list='$(docsman_DATA)'; test -n "$(docsmandir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(docsmandir)'; $(am__uninstall_files_from_dir) # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile $(MANS) $(DATA) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(docsreadmedir)" "$(DESTDIR)$(docsmandir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-local \ distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dist_docsreadmeDATA install-docsmanDATA \ install-man install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-man1 install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic \ maintainer-clean-local mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-dist_docsreadmeDATA uninstall-docsmanDATA \ uninstall-man uninstall-man: uninstall-man1 .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic clean-libtool cscopelist-am ctags \ ctags-am distclean distclean-generic distclean-libtool \ distclean-local distclean-tags distdir dvi dvi-am html html-am \ info info-am install install-am install-data install-data-am \ install-dist_docsreadmeDATA install-docsmanDATA install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-man1 install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs installdirs-am maintainer-clean \ maintainer-clean-generic maintainer-clean-local mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am \ uninstall-dist_docsreadmeDATA uninstall-docsmanDATA \ uninstall-man uninstall-man1 @ENABLE_GROFF_HTML_TRUE@.1.html: @ENABLE_GROFF_HTML_TRUE@ rm -rf $@.tmp && \ @ENABLE_GROFF_HTML_TRUE@ LC_NUMERIC=C $(GROFF) -man -T html $< >$@.tmp && \ @ENABLE_GROFF_HTML_TRUE@ mv -f $@.tmp $@ @ENABLE_GROFF_HTML_FALSE@.1.html: @ENABLE_GROFF_HTML_FALSE@ @echo "No working groff available: cannot create $@" @ENABLE_GROFF_HTML_FALSE@ @! : doxygen: gnetlist.dox @echo 'Creating doxygen documentation for gnetlist...' @ENABLE_DOXYGEN_TRUE@ $(DOXYGEN) gnetlist.dox @ENABLE_DOXYGEN_FALSE@ @echo 'configure was not run with the --enable-doxygen switch.' @ENABLE_DOXYGEN_FALSE@ @echo 'The documentation cannot be built from the sources.' distclean-local: -rm -rf html latex maintainer-clean-local: -rm -rf html latex # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/gnetlist/docs/README.switcap0000664000175000017500000001124312050461155015212 00000000000000----------------------------------------------------------------- I. What is this? ----------------------------------------------------------------- This archive contains a set of symbols and a netlister backend for the gEDA to drive SWITCAP simulations. gEDA is the GNU EDA project and includes a schematic capture tool and a highly flexible netlister. The SWITCAP program is a switched capacitor circuit simulator. ----------------------------------------------------------------- II. Overview ----------------------------------------------------------------- The basic steps involved with using gEDA as the frontend for SWITCAP simulations are: - configure the gEDA symbol search path - set the gEDA netlister backend search path - create schematics of the circuit - create an analysis file - extract the netlist - run the SWITCAP simulation ----------------------------------------------------------------- III. Initial Setup ----------------------------------------------------------------- 1) Set your symbol search path for gschem and gnetlist by adding the following line to the 'gschemrc' and 'gnetlistrc' files in your project directory. (component-library "/path/to/sym/switcap") If those files do not exist, then create them. You will need to replace /path/to/sym/switcap with the directory name where you have installed the .sym files. 2) Set the search path for scheme files for gnetlist by adding the following line to your 'gnetlistrc' file. (scheme-directory "/path/to/scheme") You will need to replace /path/to/scheme with the path to where you have installed the gnet-switcap.scm file. 3) ----------------------------------------------------------------- IV. Creating Schematics ----------------------------------------------------------------- -------------------- A. Required Symbols -------------------- This section assumes you are familiar with using gschem to create and edit schematics. SWITCAP netlisting is only supported for the components contained in the SWITCAP symbol library as well as the ground symbol found in the 'power' library which comes with gEDA. All allowed SWITCAP elements except for subcircuits are supported. You _must_ include the following elements on your schematic: - one instance of the switcap-timing symbol. This symbol will set the master clock period for your simulations. - one or more instances of the switcap-clock symbol. This symbol defines a clock with a particular phase and period. The reference designator of the clock symbol is used by the switches to set what phase they switch on. - one or more instances of the switcap-analysis symbol. This symbol defines an analysis by specifying a file to include in the SWITCAP netlist. -------------------- B. Optional Symbols -------------------- You can also optionally add the following SWITCAP special symbols to your schematic: - zero or one instance of the switcap-title symbol. This will add a TITLE: line to the SWITCAP netlist and will appear in the output file. - zero or one instance of the switcap-options symbol. By editing the OPTIONS attribute on this symbol you can set the various options which can be passed to SWITCAP. -------------------- C. Net Names -------------------- When creating schematics to drive SWITCAP, you should name all nets that you wish to plot. To avoid possible conflicts with unnamed nets, you should avoid using purely numerical names for nets because all unnamed nets will be assigned (somewhat randomly) numbers. SWITCAP limits the length of node names to 7 characters. -------------------- D. Switches -------------------- When placing switches on your schematic, you will need to define which clock they are controlled with. This is done by setting the clock attribute on the switch to the reference designator of the clock which should control it. ----------------------------------------------------------------- V. Extracting the SWITCAP Netlist ----------------------------------------------------------------- To extract the SWITCAP netlist, run gnetlist -g switcap -o test.scn file1.sch [file2.sch ...] For the example file contained in this archive, you can run: gnetlist -g switcap -o example.scn ckt.sch clocks.sch analysis.sch The netlist will be left in example.scn. ----------------------------------------------------------------- VI. Running SWITCAP ----------------------------------------------------------------- I typically use something like: printf "example.scn\nexample.out" | sw so I can use command history to rerun SWITCAP without having to manually type the file names each time. Refer to the SWITCAP manual for more details. geda-gaf-1.8.2/gnetlist/docs/README.verilog0000664000175000017500000003711212050461155015212 00000000000000Verilog netlister readme. THIS IS FREE SOFTWARE, see the included file COPYING for more info. Latest README: This is the fifth release of the Verilog netlister for gEDA. New in this release: 1) Escaped Verilog identifiers. To facilitate board level simulations, the Verilog netlister now outputs `escaped' Verilog identifiers for any net, port or instance name that does not appear to be a valid Verilog identifier. In this way, chips with numbered pins can be netlisted and models constructed to run digital simulations of complete circuits. Mike Jarabek ----- OLDER README.verilog's ----- This is the fourth release of the Verilog netlister for gEDA. New in this release: 1) Multiple width wires. How to use: (mostly taken from a previous readme... ) Here's how to proceed to make a schematic that can be netlisted to verilog. 1) Create your modules by the standard method, keep in mind that you must supply a `pin#' attribute for each port you want to create in the generated verilog. gmk_sym is useful for this. 2) Place each of your newly created modules on the schematic. You may also place primitives from the `verilog' symbol library. Be sure to give a _unique_ `uref' to every symbol you place on the schematic, unless two symbols are actually different parts of the same module, and the pins listed on each symbol do not have any names in common. Otherwise they will not get netlisted. 3) Connect nets between the modules you want. Remember, if you want legible Verilog later, don't forget to name all your nets by attaching `label' attributes to them. For Multiple bit wires just use standard Verilog notation. The netlister will figure out which bit ordering you want. Be sure to have at least one net labeled with the complete range expression, otherwise the netlister will guess at whether you wanted net[15:0] or net[0:15] in your declarations. Any inconsistent ranges will be reported as a warning. Strings that appear to be invalid Verilog identifiers will be printed with a warning, but otherwise ignored. (If you get a warning for a valid Verilog identifier, please post a bug report!) 4) Insert IPAD's, OPAD's, and IOPAD's for all the nets you want to be visible in the module declaration statement. It is especially important to make sure that the nets you hook up to the pads are named, as the net names could change from run to run, that's a bad thing. (I/O pads would be a good place to put the aformentionned full range expressions. Range expressions on I/O pads are ignored when outputting the module declaration, but they are used in figuring out the final bit ranges.) Every pad must have a unique uref, otherwise the netlister will get confused. 5) Add an unattached attribute `module_name=Your_Module' somewhere on the schematic, near the title block is good. This will name the generated Verilog module `Your_Module'. 6) Save your design. 7) Run the schematic through the netlister: gnetlist -g verilog -o output.v schematic.sch 7a) Check the output for correctness, _especially_ if you got any warnings. (There should be no warnings.) 8) Feed the netlist to your favorite simulator/synthesis tool. Mike Jarabek This is the third release of the Verilog netlister for geda. Fixed in this release: 1) Netlister no longer barfs if there are no Input/Output/InOut ports on the module. 2) Module instantiation code much improved/cleaned up, mostly due to g_netlist.c patch. New in this release: 1) A whole wack-load of symbols, I created a C program that generates n-input versions of and, nand, or, nor, xor, and xnor symbols 2) Modules instantiated with positional port connections. Just add the attribute `VERILOG_PORTS=POSITIONAL' to your symbol file as an unattached attribute, or attach it to the symbol on the schematic. 3) Added bufif?, notif?, not and buf symbols. 4) Added example of positional port module instantiation to the example schematic 5) Added 7447 example schematic Coming: 1) Module instantiation parameters. (probably by an attribute) Included in this tar-ball are three patch files against the 19990705 version of gEDA. Apply g_netlist.c.diff and g_register.c.diff to the files in gnetlist/src/ and gnetlist.scm.diff to gnetlist.scm in the gnetlist/scheme directory. You may have to regenerate prototype.h, or manually patch it. Replace the symbols in the sym/verilog directory with the symbols in this distribution. (I have modified all of the symbols to use the new unattached attribute convention for device et al.) (if you have applied the patch I sent to the mailing list that fixes netlisting a module with no ports, you may have trouble applying the gnetlist.scm.diff patch.) Don't forget to do a `make all install' after applying the patches. Once again, to netlist the example schematics to verilog type: (Assuming gnetlist has been patched and is properly installed.) gnetlist -g verilog -o test.v examples/sch/test.sch or gnetlist -g verilog -o 7447.v examples/sch/7447.sch (This README was from 19990629) Verilog netlister readme. THIS IS FREE SOFTWARE, see the included file COPYING for more info. This is the second release of the Verilog netlister for geda. Fixed in this release: 1) The last comma in the argument list to instantiations and module definitions is now suppressed 2) Better handling of `special' components has been added New in this release: 1) Continuous assignments to 1'b0 and 1'b1 can now be generated by connecting the `high' or `low' symbol to a net. Mike Jarabek mjarabek@playground.net -- This the verilog netlister for gEDA. Included in the tarball are several diff files against the 19990327 gEDA distribution. All of the patches apply to the gnetlist subirectory. You should be able to apply them with `patch -p1'. The netlister has its limitations: (most of these will eventually get fixed, I hope..) 1) Components connected by reference, (i.e. by having named net stubs attached to pins, but not conected by a continuous line) create duplicate entries in the wire declaration section of the verilog code. 2) Multiple width wires don't work. (Busses will help this) 3) There is no way to force a signal to 1,0,z,x (yet). 4) Some scheme code needs to be improved. (Mainly the classification code, it inserts `()' elements into the output lists. (I should know how to fix this in a day or two.. too bad I never got a scheme course before..)) 5) I don't know if this will work on multiple page schematics. 6) The top level module is outputted with the same name every time, I don't currently think there is a way to get at the name of the top level schematic. The netlister does some neat things: 1) It outputs a verilog module with proper port declarations, outputs are declared as outputs, inputs are declared as inputs, and bidirectional signals are declared as inouts. 2) All nets that are found on the design are declared as wires. (This is to allow for net attributes later to declare wand's and such) 3) Any components placed on the schematic that are given uref attributes create a verilog instantiation for the name of the module as stored in the `device' attribute, the instatiated name is given as the `uref' attribute. 4) All connections into and out of instantiated modules are made by name, and not by order, because I can't be sure that the order will be right coming off the schematic. (anyway, that's better for the long run.) 5) A comment is inserted at the top of the module to say that the file was automatically generated. Here's how to proceed to make a schematic that can be netlisted to verilog. 1) Create your modules by the standard method, keep in mind that you must supply a `pin#' attribute for each port you want to create in the generated verilog. gmk_sym is useful for this (with the patch to allow ascii pin names). 2) Place each of your newly created modules on the schematic 3) Connect nets between the modules you want. Remember, if you want legible verilog later, don't forget to name all your nets by attaching `label' attributes to them. 4) Insert IPAD's, OPAD's, and IOPAD's for all the nets you want to be visible in the module declaration statement. It is especially important to make sure that the nets you hook up to the pads are named, as the net names could change from run to run, that's a bad thing. 5) Save your design. 6) Run the schematic through the netlister: gnetlist -g verilog -o output.v schematic.sch 6a) Edit the output file to have the right module name, and to remove any duplicate wires. There is an example schematic in the schematic directory, and a copy of the verilog netlist generated. The mechanics: The I/O ports for the module are detected by enumerating all of the nets attached to any symbol bearing the device name of `IPAD', `OPAD', or `IOPAD'. If you name one of your blocks with that name, don't be surprised if you find `extra' ports in the module declaration. The wires are declared by walking through the list of nets returned by the function that I patched into gnetlist. This is the source of the duplicate wire declarations. This should probably get fixed when `net_is_duplicate' gets set for connections made by reference. Module instantiations are created by enumerating the pins found on a symbol and connecting the nets found to the pins. If your block has spelling errors, then the module instantiation won't work. You will have to manually trace back to find the error. Mike Jarabek ------------ Below is the previous version README ------------------- Verilog netlister readme. THIS IS FREE SOFTWARE, see the included file COPYING for more info. This the verilog netlister for gEDA. Included in the tarball are several diff files against the 19990327 gEDA distribution. All of the patches apply to the gnetlist subirectory. You should be able to apply them with `patch -p1'. [ editor's note, if you are reading this file in a gEDA dist, then all the required patching and integration is already done ] The netlister has its limitations: (most of these will eventually get fixed, I hope..) 1) Components connected by reference, (i.e. by having named net stubs attached to pins, but not conected by a continuous line) create duplicate entries in the wire declaration section of the verilog code. 2) Multiple width wires don't work. (Busses will help this) 3) There is no way to force a signal to 1,0,z,x (yet). 4) Some scheme code needs to be improved. (Mainly the classification code, it inserts `()' elements into the output lists. (I should know how to fix this in a day or two.. too bad I never got a scheme course before..)) 5) I don't know if this will work on multiple page schematics. 6) The top level module is outputted with the same name every time, I don't currently think there is a way to get at the name of the top level schematic. The netlister does some neat things: 1) It outputs a verilog module with proper port declarations, outputs are declared as outputs, inputs are declared as inputs, and bidirectional signals are declared as inouts. 2) All nets that are found on the design are declared as wires. (This is to allow for net attributes later to declare wand's and such) 3) Any components placed on the schematic that are given uref attributes create a verilog instantiation for the name of the module as stored in the `device' attribute, the instatiated name is given as the `uref' attribute. 4) All connections into and out of instantiated modules are made by name, and not by order, because I can't be sure that the order will be right coming off the schematic. (anyway, that's better for the long run.) 5) A comment is inserted at the top of the module to say that the file was automatically generated. Here's how to proceed to make a schematic that can be netlisted to verilog. 1) Create your modules by the standard method, keep in mind that you must supply a `pin#' attribute for each port you want to create in the generated verilog. gmk_sym is useful for this (with the patch to allow ascii pin names). 2) Place each of your newly created modules on the schematic 3) Connect nets between the modules you want. Remember, if you want legible verilog later, don't forget to name all your nets by attaching `label' attributes to them. 4) Insert IPAD's, OPAD's, and IOPAD's for all the nets you want to be visible in the module declaration statement. It is especially important to make sure that the nets you hook up to the pads are named, as the net names could change from run to run, that's a bad thing. 5) Save your design. 6) Run the schematic through the netlister: gnetlist -g verilog -o output.v schematic.sch 6a) Edit the output file to have the right module name, and to remove any duplicate wires. There is an example schematic in the schematic directory, and a copy of the verilog netlist generated. The mechanics: The I/O ports for the module are detected by enumerating all of the nets attached to any symbol bearing the device name of `IPAD', `OPAD', or `IOPAD'. If you name one of your blocks with that name, don't be surprised if you find `extra' ports in the module declaration. The wires are declared by walking through the list of nets returned by the function that I patched into gnetlist. This is the source of the duplicate wire declarations. This should probably get fixed when `net_is_duplicate' gets set for connections made by reference. Module instantiations are created by enumerating the pins found on a symbol and connecting the nets found to the pins. If your block has spelling errors, then the module instantiation won't work. You will have to manually trace back to find the error. Mike Jarabek geda-gaf-1.8.2/gnetlist/docs/gnetlist.10000664000175000017500000001444412220655706014610 00000000000000.TH gnetlist 1 "September 25th, 2013" "gEDA Project" 1.8.2.20130925 .SH NAME gnetlist - gEDA/gaf Netlist Extraction and Generation .SH SYNOPSIS .B gnetlist [\fIOPTION\fR ...] [\fB-g\fR \fIBACKEND\fR] [\fI--\fR] \fIFILE\fR ... .SH DESCRIPTION .PP \fBgnetlist\fR is a netlist extraction and generation tool, and is part of the gEDA (GPL Electronic Design Automation) toolset. It takes one or electronic schematics as input, and outputs a netlist. A netlist is a machine-interpretable description of the way that components in an electronic circuit are connected together, and is commonly used as the input to a PCB layout program such as \fBpcb\fR(1) or to a simulator such as \fBgnucap\fR(1). A normal \fBgnetlist\fR run is carried out in two steps. First, the \fBgnetlist\fR frontend loads the specified human-readable schematic \fIFILE\fRs, and compiles them to an in-memory netlist description. Next, a `backend' is used to export the connection and component data to one of many supported netlist formats. \fBgnetlist\fR is extensible, using the Scheme programming language. .SH GENERAL OPTIONS .TP 8 \fB-q\fR Quiet mode. Turns off all warnings/notes/messages. .TP 8 \fB-v\fR, \fB--verbose\fR Verbose mode. Output all diagnostic information. .TP 8 \fB-L\fR \fIDIRECTORY\fR Prepend \fIDIRECTORY\fR to the list of directories to be searched for Scheme files. .TP 8 \fB-g\fR \fIBACKEND\fR Specify the netlist backend to be used. .TP 8 \fB-O\fR \fISTRING\fR Pass an option string to the backend. .TP 8 \fB--list-backends\fR Print a list of available netlist backends. .TP 8 \fB-o\fR \fIFILE\fR Specify the filename for the generated netlist. By default, output is directed to `output.net'. .TP 8 \fB-l\fR \fIFILE\fR Specify a Scheme file to be loaded before the backend is loaded or executed. This option can be specified multiple times. .TP 8 \fB-m\fR \fIFILE\fR Specify a Scheme file to be loaded between loading the backend and executing it. This option can be specified multiple times. .TP 8 \fB-c\fR \fIEXPR\fR Specify a Scheme expression to be executed during \fBgnetlist\fR startup. This option can be specified multiple times. .TP 8 \fB-i\fR After the schematic files have been loaded and compiled, and after all Scheme files have been loaded, but before running the backend, enter a Scheme read-eval-print loop. .TP 8 \fB-h\fR, \fB--help\fR Print a help message. .TP 8 \fB-V\fR, \fB--version\fR Print \fBgnetlist\fR version information. .TP 8 \fB--\fR Treat all remaining arguments as schematic filenames. Use this if you have a schematic filename which begins with `-'. .SH BACKENDS .PP Currently, \fBgnetlist\fR includes the following backends: .TP 8 \fBallegro\fR Allegro netlist format. .TP 8 \fBbae\fR Bartels Autoengineer netlist format. .TP 8 \fBbom\fR, \fBbom2\fR Bill of materials generation. .TP 8 \fBcalay\fR Calay netlist format. .TP 8 \fBcascade\fR RF Cascade netlist format .TP 8 \fBdrc\fR, \fBdrc2\fR Design rule checkers (\fBdrc2\fR is recommended). .TP 8 \fBeagle\fR Eagle netlist format. .TP 8 \fBewnet\fR Netlist format for National Instruments ULTIboard layout tool. .TP 8 \fBfuturenet2\fR Futurenet2 netlist format. .TP 8 \fBgeda\fR Native gEDA netlist format (mainly used for testing and diagnostics). .TP 8 \fBgossip\fR Gossip netlist format. .TP 8 \fBgsch2pcb\fR Backend used for \fBpcb\fR(1) file layout generation by \fBgsch2pcb\fR(1). It is not recommended to use this backend directly. .TP 8 \fBliquidpcb\fR LiquidPCB netlist format. .TP 8 \fBmathematica\fR Netlister for analytical circuit solving using Mathematica. .TP 8 \fBmaxascii\fR MAXASCII netlist format. .TP 8 \fBosmond\fR Osmond netlist format. .TP 8 \fBpads\fR PADS netlist format. .TP 8 \fBpartslist1\fR, \fBpartslist2\fR, \fBpartslist3\fR Bill of materials generation backends (alternatives to \fBbom\fR and \fBbom2\fR). .TP 8 \fBPCB\fR \fBpcb\fR(1) netlist format. .TP 8 \fBpcbpins\fR Generates a \fBpcb\fR(1) action file for forward annotating pin/pad names from schematic to layout. .TP 8 \fBprotelII\fR Protel II netlist format. .TP 8 \fBredac\fR RACAL-REDAC netlist format. .TP 8 \fBspice\fR, \fBspice-sdb\fR SPICE-compatible netlist format (\fBspice-sdb\fR is recommended). Suitable for use with \fBgnucap\fR(1). .TP 8 \fBswitcap\fR SWITCAP switched capacitor simulator netlist format. .TP 8 \fBsystemc\fR Structural SystemC code generation. .TP 8 \fBtango\fR Tango netlist format. .TP 8 \fBvams\fR VHDL-AMS code generation. .TP 8 \fBverilog\fR Verilog code generation. .TP 8 \fBvhdl\fR VHDL code generation. .TP 8 \fBvipec\fR ViPEC Network Analyser netlist format. .SH EXAMPLES .PP These examples assume that you have a `stack_1.sch' in the current directory. .PP \fBgnetlist\fR requires that at least one schematic to be specified on the command line: .nf ./gnetlist stack_1.sch .ad b .PP This is not very useful since it does not direct \fBgnetlist\fR to do anything. .PP Specify a backend name with `\-g' to get \fBgnetlist\fR to output a netlist: .nf ./gnetlist \-g geda stack_1.sch .ad b .PP The netlist output will be written to a file called `output.net' in the current working directory. .PP You can specify the output filename by using the `\-o' option: .nf ./gnetlist \-g geda stack_1.sch \-o /tmp/stack.netlist .ad b .PP Output will now be directed to `/tmp/stack.netlist'. .PP You could run (for example) the `spice-sdb' backend against the schematic if you specified `\-g spice-sdb', or you could generate a bill of materials for the schematic using `\-g partslist1'. .PP To obtain a Scheme prompt to run Scheme expressions directly, you can use the `\-i' option. .nf ./gnetlist \-i stack_1.sch .ad b .PP \fBgnetlist\fR will load `stack_1.sh', and then enter an interactive Scheme read-eval-print loop. .SH ENVIRONMENT .TP 8 .B GEDADATA specifies the search directory for Scheme and rc files. The default is `${prefix}/share/gEDA'. .TP 8 .B GEDADATARC specifies the search directory for rc files. The default is `$GEDADATA'. .SH AUTHORS See the `AUTHORS' file included with this program. .SH COPYRIGHT .nf Copyright \(co 1999-2011 gEDA Contributors. License GPLv2+: GNU GPL version 2 or later. Please see the `COPYING' file included with this program for full details. .PP This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. .SH SEE ALSO \fBgschem\fR(1), \fBgsymcheck\fR(1), \fBpcb\fR(1), \fBgnucap\fR(1) geda-gaf-1.8.2/gnetlist/docs/what-is-gnetlist.html0000664000175000017500000000023112050461155016745 00000000000000 What is gnetlist?

    gnetlist is the netlister for the gEDA suite. gnetlist's sole purpose is to generate netlists from schematics. geda-gaf-1.8.2/gnetlist/docs/README.pcb0000664000175000017500000001123412050461155014304 00000000000000------------------------------------------------------------------ JM Routoure. routoure@greyc.ismra.fr 17/01/2000 I would like to thank Stefan Petersen for debuging the scheme program. ------------------------------------------------------------------- This document describes how to install (section I) and use (section II) the gschem2pcb package. Section III describes some of the footprints available in pcb The purpose of this package is to interface gschem with pcb. It uses a scheme program and a script. Section I : Installation. 1. Untar the gschem2pcb.tar. You must obtain 3 files gschem2pcb.sh, GNET-PCBboard.scm and the README file. 2. Move gschem2pcb.sh in a directory which is in your PATH (/usr/local/bin for instance ). Be sure that gschem2pcb.sh can be executed (chmod 755 gschem2pcb.sh) 3. Move GNET-PCBboard.scm in the share directory of your gEDA distribution. Normally, it should be /usr/local/share/gEDA/scheme. 4. Modify the common.m4 file of the pcb program (should be found in /usr/X11R6/lib/X11/pcb/m4/) like this : the include keywords at the end of the file must be replace by include(/usr/X11R6/lib/X11/pcb/m4/connector.inc) include(/usr/X11R6/lib/X11/pcb/m4/dil.inc) include(/usr/X11R6/lib/X11/pcb/m4/misc.inc) include(/usr/X11R6/lib/X11/pcb/m4/plcc.inc) include(/usr/X11R6/lib/X11/pcb/m4/to.inc) include(/usr/X11R6/lib/X11/pcb/m4/qfp.inc) 5. Edit the ~/.gEDA/gschemrc file and be sure that the following line exists : (attribute-name "footprint") 6. Be sure that grep, sed and gawk are installed. That's all.. Section II : using gschem2pcb. 1. With gschem, create a schematic. All the device you want to have in pcb must have a Uref attribute. The footprint that you want to use in pcb are indicated by the footprint attribute (see section III for the description of the footprint in pcb) Be careful that the attributes Uref, name, value and device must not contain space char. -------------------------------------------------------- 2. Save your work (ultralownoise.sch for instance -ambitious design!) and type in a shell gschem2pcb.sh ultralownoise.sch. note : the gschem file must end by .sch Error messages will appear if some space characters are found in the attributes Uref, name, value and device and if the name of the footprint was not found. Warning, pcb files are created even if errors occur! - if ultralownoise.pcb does not exist, it will be created. A netlist file ultralownoise.net will also be created. In pcb, load the pcb (load layout). All the footprints will appears at the top-left corner of the windows. Load the netlist (load netlist file) and type the key "w". Place the footprints and type "o" to optimize the rastnet. See the pcb documentation for details. - if ultralownoise.pcb exists, a ultralownoise.new.pcb file should be created. It should contain only the new device that have been added in the schematic since the last save of the ultralownoise.pcb file. Use "load layout data to paste buffer" to include the new footprints in the pcb file. The nestlist file is also updated so read it again. Section III. Description of the name of the footprint in pcb. pcb uses macro to define the footprints. For DIL packages, for instance, 2 arguments are used to indicate the number of pins and the width in mil of the footprint. In gschem the footprint attribute of a 300 mil width and 8 pins DIL is: DIL 8 300. Warning, for that attribute, you have to included the space char! In the following. I describe the footprint attribute that are to be used in gschem for the footprint avalaible in pcb. N stands for the number of pins, W the width in mil, L the length in mil and D the diameter in mil CONNECTOR ROWS COLS # single connector DIN41_651LAY N # DIN 41.651 laying DIN41_651STAND N # DIN 41.651 standing SUBD_LAY_BASE N # SUB-D connector laying SUBD_MALE_LAY_BASE N # SUB-D connector male laying SUBD_FEMALE_LAY_BASE N # SUB-D connector female laying DIL N W # dual-inline standard D N # dual inline with W=244 DW N # dual inline with W=419 SD N # SD (ZIP) MULTIWATT15 # 15 pins multiwatt footprint R025 # standard 1/4W resistor !now attributes SIL N # SIL CSIL # SIL package with a common pin QFP132 # QFP132 flat pack LED D # standing LED DIODE_LAY L # laying diode AXIAL_LAY L # standard axial footprint CRYSTAL W # crystal package OSC # a can oscillator ISA8 # 8 bit ISA Slot card OVEN_OSC # ovenized-oscillator package RADIAL_CAN W # a radial capcitor package PLCC N # pllc PLCC N add # pllc with additionnal border add QFP N add # qfp with additionnal border add No additional parameters for the to footprints TO3_90 TO3_45 TO5 TO92 TO126 TO126LAY-WIDE TO126STAND-WIDE TO220 TO220LAY-WIDE TO220STAND TO220STAND-WIDE geda-gaf-1.8.2/gnetlist/docs/README.bom0000664000175000017500000000137612050461155014323 00000000000000 README for BOM - Bill Of Materials generater for gnetlist. -------------------------------------------------------------------------- I (Matt) put together a quick bill of materials generator for gnetlist. It takes a configuration file which tells it what attributes you want netlisted (i.e. vendor, part number). This is a sample config file: device label name Just call it with gnetlist -g bom -o test.bom test.sch The config file must be called "attribs" and be in the pwd, because there is no way to pass arguments to the netlister (at least that I could find). Eventually I'd like to integrate this with some sort of a database for production purposes. Let me know if you are interested in helping or have any ideas. Matt matt@ettus.com geda-gaf-1.8.2/gnetlist/docs/gnetlist.dox0000664000175000017500000014300112050461155015224 00000000000000# Doxyfile 1.4.6 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project # # All text after a hash (#) is considered a comment and will be ignored # The format is: # TAG = value [value, ...] # For lists items can also be appended using: # TAG += value [value, ...] # Values that contain spaces should be placed between quotes (" ") #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- # The PROJECT_NAME tag is a single word (or a sequence of words surrounded # by quotes) that should identify the project. PROJECT_NAME = gnetlist # The PROJECT_NUMBER tag can be used to enter a project or revision number. # This could be handy for archiving the generated documentation or # if some version control system is used. PROJECT_NUMBER = # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. # If a relative path is entered, it will be relative to the location # where doxygen was started. If left blank the current directory will be used. OUTPUT_DIRECTORY = # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create # 4096 sub-directories (in 2 levels) under the output directory of each output # format and will distribute the generated files over these directories. # Enabling this option can be useful when feeding doxygen a huge amount of # source files, where putting all generated files in the same directory would # otherwise cause performance problems for the file system. CREATE_SUBDIRS = NO # The OUTPUT_LANGUAGE tag is used to specify the language in which all # documentation generated by doxygen is written. Doxygen will use this # information to generate all constant output in the proper language. # The default language is English, other supported languages are: # Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, # Dutch, Finnish, French, German, Greek, Hungarian, Italian, Japanese, # Japanese-en (Japanese with English messages), Korean, Korean-en, Norwegian, # Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish, # Swedish, and Ukrainian. OUTPUT_LANGUAGE = English # This tag can be used to specify the encoding used in the generated output. # The encoding is not always determined by the language that is chosen, # but also whether or not the output is meant for Windows or non-Windows users. # In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES # forces the Windows encoding (this is the default for the Windows binary), # whereas setting the tag to NO uses a Unix-style encoding (the default for # all platforms other than Windows). USE_WINDOWS_ENCODING = YES # If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will # include brief member descriptions after the members that are listed in # the file and class documentation (similar to JavaDoc). # Set to NO to disable this. BRIEF_MEMBER_DESC = YES # If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend # the brief description of a member or function before the detailed description. # Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the # brief descriptions will be completely suppressed. REPEAT_BRIEF = NO # This tag implements a quasi-intelligent brief description abbreviator # that is used to form the text in various listings. Each string # in this list, if found as the leading text of the brief description, will be # stripped from the text and the result after processing the whole list, is # used as the annotated text. Otherwise, the brief description is used as-is. # If left blank, the following values are used ("$name" is automatically # replaced with the name of the entity): "The $name class" "The $name widget" # "The $name file" "is" "provides" "specifies" "contains" # "represents" "a" "an" "the" ABBREVIATE_BRIEF = # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then # Doxygen will generate a detailed section even if there is only a brief # description. ALWAYS_DETAILED_SEC = YES # If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all # inherited members of a class in the documentation of that class as if those # members were ordinary class members. Constructors, destructors and assignment # operators of the base classes will not be shown. INLINE_INHERITED_MEMB = NO # If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full # path before files name in the file list and in the header files. If set # to NO the shortest path that makes the file name unique will be used. FULL_PATH_NAMES = NO # If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag # can be used to strip a user-defined part of the path. Stripping is # only done if one of the specified strings matches the left-hand part of # the path. The tag can be used to show relative paths in the file list. # If left blank the directory from which doxygen is run is used as the # path to strip. STRIP_FROM_PATH = # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of # the path mentioned in the documentation of a class, which tells # the reader which header file to include in order to use a class. # If left blank only the name of the header file containing the class # definition is used. Otherwise one should specify the include paths that # are normally passed to the compiler using the -I flag. STRIP_FROM_INC_PATH = # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter # (but less readable) file names. This can be useful is your file systems # doesn't support long names like on DOS, Mac, or CD-ROM. SHORT_NAMES = NO # If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen # will interpret the first line (until the first dot) of a JavaDoc-style # comment as the brief description. If set to NO, the JavaDoc # comments will behave just like the Qt-style comments (thus requiring an # explicit @brief command for a brief description. JAVADOC_AUTOBRIEF = NO # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen # treat a multi-line C++ special comment block (i.e. a block of //! or /// # comments) as a brief description. This used to be the default behaviour. # The new default is to treat a multi-line C++ comment block as a detailed # description. Set this tag to YES if you prefer the old behaviour instead. MULTILINE_CPP_IS_BRIEF = NO # If the DETAILS_AT_TOP tag is set to YES then Doxygen # will output the detailed description near the top, like JavaDoc. # If set to NO, the detailed description appears after the member # documentation. DETAILS_AT_TOP = NO # If the INHERIT_DOCS tag is set to YES (the default) then an undocumented # member inherits the documentation from any documented member that it # re-implements. INHERIT_DOCS = YES # If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce # a new page for each member. If set to NO, the documentation of a member will # be part of the file/class/namespace that contains it. SEPARATE_MEMBER_PAGES = NO # The TAB_SIZE tag can be used to set the number of spaces in a tab. # Doxygen uses this value to replace tabs by spaces in code fragments. TAB_SIZE = 4 # This tag can be used to specify a number of aliases that acts # as commands in the documentation. An alias has the form "name=value". # For example adding "sideeffect=\par Side Effects:\n" will allow you to # put the command \sideeffect (or @sideeffect) in the documentation, which # will result in a user-defined paragraph with heading "Side Effects:". # You can put \n's in the value part of an alias to insert newlines. ALIASES = # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C # sources only. Doxygen will then generate output that is more tailored for C. # For instance, some of the names that are used will be different. The list # of all members will be omitted, etc. OPTIMIZE_OUTPUT_FOR_C = YES # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java # sources only. Doxygen will then generate output that is more tailored for Java. # For instance, namespaces will be presented as packages, qualified scopes # will look different, etc. OPTIMIZE_OUTPUT_JAVA = NO # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want to # include (a tag file for) the STL sources as input, then you should # set this tag to YES in order to let doxygen match functions declarations and # definitions whose arguments contain STL classes (e.g. func(std::string); v.s. # func(std::string) {}). This also make the inheritance and collaboration # diagrams that involve STL classes more complete and accurate. BUILTIN_STL_SUPPORT = NO # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC # tag is set to YES, then doxygen will reuse the documentation of the first # member in the group (if any) for the other members of the group. By default # all members of a group must be documented explicitly. DISTRIBUTE_GROUP_DOC = NO # Set the SUBGROUPING tag to YES (the default) to allow class member groups of # the same type (for instance a group of public functions) to be put as a # subgroup of that type (e.g. under the Public Functions section). Set it to # NO to prevent subgrouping. Alternatively, this can be done per class using # the \nosubgrouping command. SUBGROUPING = YES #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in # documentation are documented, even if no documentation was available. # Private class members and static file members will be hidden unless # the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES EXTRACT_ALL = YES # If the EXTRACT_PRIVATE tag is set to YES all private members of a class # will be included in the documentation. EXTRACT_PRIVATE = YES # If the EXTRACT_STATIC tag is set to YES all static members of a file # will be included in the documentation. EXTRACT_STATIC = YES # If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) # defined locally in source files will be included in the documentation. # If set to NO only classes defined in header files are included. EXTRACT_LOCAL_CLASSES = YES # This flag is only useful for Objective-C code. When set to YES local # methods, which are defined in the implementation section but not in # the interface are included in the documentation. # If set to NO (the default) only methods in the interface are included. EXTRACT_LOCAL_METHODS = YES # If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all # undocumented members of documented classes, files or namespaces. # If set to NO (the default) these members will be included in the # various overviews, but no documentation section is generated. # This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_MEMBERS = NO # If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all # undocumented classes that are normally visible in the class hierarchy. # If set to NO (the default) these classes will be included in the various # overviews. This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_CLASSES = NO # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all # friend (class|struct|union) declarations. # If set to NO (the default) these declarations will be included in the # documentation. HIDE_FRIEND_COMPOUNDS = NO # If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any # documentation blocks found inside the body of a function. # If set to NO (the default) these blocks will be appended to the # function's detailed documentation block. HIDE_IN_BODY_DOCS = NO # The INTERNAL_DOCS tag determines if documentation # that is typed after a \internal command is included. If the tag is set # to NO (the default) then the documentation will be excluded. # Set it to YES to include the internal documentation. INTERNAL_DOCS = NO # If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate # file names in lower-case letters. If set to YES upper-case letters are also # allowed. This is useful if you have classes or files whose names only differ # in case and if your file system supports case sensitive file names. Windows # and Mac users are advised to set this option to NO. CASE_SENSE_NAMES = YES # If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen # will show members with their full class and namespace scopes in the # documentation. If set to YES the scope will be hidden. HIDE_SCOPE_NAMES = NO # If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen # will put a list of the files that are included by a file in the documentation # of that file. SHOW_INCLUDE_FILES = YES # If the INLINE_INFO tag is set to YES (the default) then a tag [inline] # is inserted in the documentation for inline members. INLINE_INFO = YES # If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen # will sort the (detailed) documentation of file and class members # alphabetically by member name. If set to NO the members will appear in # declaration order. SORT_MEMBER_DOCS = NO # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the # brief documentation of file, namespace and class members alphabetically # by member name. If set to NO (the default) the members will appear in # declaration order. SORT_BRIEF_DOCS = NO # If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be # sorted by fully-qualified names, including namespaces. If set to # NO (the default), the class list will be sorted only by class name, # not including the namespace part. # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. # Note: This option applies only to the class list, not to the # alphabetical list. SORT_BY_SCOPE_NAME = NO # The GENERATE_TODOLIST tag can be used to enable (YES) or # disable (NO) the todo list. This list is created by putting \todo # commands in the documentation. GENERATE_TODOLIST = YES # The GENERATE_TESTLIST tag can be used to enable (YES) or # disable (NO) the test list. This list is created by putting \test # commands in the documentation. GENERATE_TESTLIST = YES # The GENERATE_BUGLIST tag can be used to enable (YES) or # disable (NO) the bug list. This list is created by putting \bug # commands in the documentation. GENERATE_BUGLIST = YES # The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or # disable (NO) the deprecated list. This list is created by putting # \deprecated commands in the documentation. GENERATE_DEPRECATEDLIST= YES # The ENABLED_SECTIONS tag can be used to enable conditional # documentation sections, marked by \if sectionname ... \endif. ENABLED_SECTIONS = # The MAX_INITIALIZER_LINES tag determines the maximum number of lines # the initial value of a variable or define consists of for it to appear in # the documentation. If the initializer consists of more lines than specified # here it will be hidden. Use a value of 0 to hide initializers completely. # The appearance of the initializer of individual variables and defines in the # documentation can be controlled using \showinitializer or \hideinitializer # command in the documentation regardless of this setting. MAX_INITIALIZER_LINES = 30 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated # at the bottom of the documentation of classes and structs. If set to YES the # list will mention the files that were used to generate the documentation. SHOW_USED_FILES = YES # If the sources in your project are distributed over multiple directories # then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy # in the documentation. The default is NO. SHOW_DIRECTORIES = YES # The FILE_VERSION_FILTER tag can be used to specify a program or script that # doxygen should invoke to get the current version for each file (typically from the # version control system). Doxygen will invoke the program by executing (via # popen()) the command , where is the value of # the FILE_VERSION_FILTER tag, and is the name of an input file # provided by doxygen. Whatever the program writes to standard output # is used as the file version. See the manual for examples. FILE_VERSION_FILTER = #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- # The QUIET tag can be used to turn on/off the messages that are generated # by doxygen. Possible values are YES and NO. If left blank NO is used. QUIET = NO # The WARNINGS tag can be used to turn on/off the warning messages that are # generated by doxygen. Possible values are YES and NO. If left blank # NO is used. WARNINGS = YES # If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings # for undocumented members. If EXTRACT_ALL is set to YES then this flag will # automatically be disabled. WARN_IF_UNDOCUMENTED = YES # If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for # potential errors in the documentation, such as not documenting some # parameters in a documented function, or documenting parameters that # don't exist or using markup commands wrongly. WARN_IF_DOC_ERROR = YES # This WARN_NO_PARAMDOC option can be abled to get warnings for # functions that are documented, but have no documentation for their parameters # or return value. If set to NO (the default) doxygen will only warn about # wrong or incomplete parameter documentation, but not about the absence of # documentation. WARN_NO_PARAMDOC = NO # The WARN_FORMAT tag determines the format of the warning messages that # doxygen can produce. The string should contain the $file, $line, and $text # tags, which will be replaced by the file and line number from which the # warning originated and the warning text. Optionally the format may contain # $version, which will be replaced by the version of the file (if it could # be obtained via FILE_VERSION_FILTER) WARN_FORMAT = "$file:$line: $text" # The WARN_LOGFILE tag can be used to specify a file to which warning # and error messages should be written. If left blank the output is written # to stderr. WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- # The INPUT tag can be used to specify the files and/or directories that contain # documented source files. You may enter file names like "myfile.cpp" or # directories like "/usr/src/myproject". Separate the files or directories # with spaces. INPUT = ../src ../include ../utils ../docs/gnetlist-main.txt # If the value of the INPUT tag contains directories, you can use the # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank the following patterns are tested: # *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx # *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py FILE_PATTERNS = *.c *.h # The RECURSIVE tag can be used to turn specify whether or not subdirectories # should be searched for input files as well. Possible values are YES and NO. # If left blank NO is used. RECURSIVE = YES # The EXCLUDE tag can be used to specify files and/or directories that should # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. EXCLUDE = # The EXCLUDE_SYMLINKS tag can be used select whether or not files or # directories that are symbolic links (a Unix filesystem feature) are excluded # from the input. EXCLUDE_SYMLINKS = NO # If the value of the INPUT tag contains directories, you can use the # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude # certain files from those directories. Note that the wildcards are matched # against the file with absolute path, so to exclude all test directories # for example use the pattern */test/* EXCLUDE_PATTERNS = # The EXAMPLE_PATH tag can be used to specify one or more files or # directories that contain example code fragments that are included (see # the \include command). EXAMPLE_PATH = ../docs # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank all files are included. EXAMPLE_PATTERNS = # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be # searched for input files to be used with the \include or \dontinclude # commands irrespective of the value of the RECURSIVE tag. # Possible values are YES and NO. If left blank NO is used. EXAMPLE_RECURSIVE = NO # The IMAGE_PATH tag can be used to specify one or more files or # directories that contain image that are included in the documentation (see # the \image command). IMAGE_PATH = ../docs # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program # by executing (via popen()) the command , where # is the value of the INPUT_FILTER tag, and is the name of an # input file. Doxygen will then use the output that the filter program writes # to standard output. If FILTER_PATTERNS is specified, this tag will be # ignored. INPUT_FILTER = # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern # basis. Doxygen will compare the file name with each pattern and apply the # filter if there is a match. The filters are a list of the form: # pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further # info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER # is applied to all files. FILTER_PATTERNS = # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using # INPUT_FILTER) will be used to filter the input files when producing source # files to browse (i.e. when SOURCE_BROWSER is set to YES). FILTER_SOURCE_FILES = NO #--------------------------------------------------------------------------- # configuration options related to source browsing #--------------------------------------------------------------------------- # If the SOURCE_BROWSER tag is set to YES then a list of source files will # be generated. Documented entities will be cross-referenced with these sources. # Note: To get rid of all source code in the generated output, make sure also # VERBATIM_HEADERS is set to NO. SOURCE_BROWSER = YES # Setting the INLINE_SOURCES tag to YES will include the body # of functions and classes directly in the documentation. INLINE_SOURCES = NO # Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct # doxygen to hide any special comment blocks from generated source code # fragments. Normal C and C++ comments will always remain visible. STRIP_CODE_COMMENTS = YES # If the REFERENCED_BY_RELATION tag is set to YES (the default) # then for each documented function all documented # functions referencing it will be listed. REFERENCED_BY_RELATION = NO # If the REFERENCES_RELATION tag is set to YES (the default) # then for each documented function all documented entities # called/used by that function will be listed. REFERENCES_RELATION = NO # If the USE_HTAGS tag is set to YES then the references to source code # will point to the HTML generated by the htags(1) tool instead of doxygen # built-in source browser. The htags tool is part of GNU's global source # tagging system (see http://www.gnu.org/software/global/global.html). You # will need version 4.8.6 or higher. USE_HTAGS = NO # If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen # will generate a verbatim copy of the header file for each class for # which an include is specified. Set to NO to disable this. VERBATIM_HEADERS = YES #--------------------------------------------------------------------------- # configuration options related to the alphabetical class index #--------------------------------------------------------------------------- # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index # of all compounds will be generated. Enable this if the project # contains a lot of classes, structs, unions or interfaces. ALPHABETICAL_INDEX = YES # If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then # the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns # in which this list will be split (can be a number in the range [1..20]) COLS_IN_ALPHA_INDEX = 5 # In case all classes in a project start with a common prefix, all # classes will be put under the same header in the alphabetical index. # The IGNORE_PREFIX tag can be used to specify one or more prefixes that # should be ignored while generating the index headers. IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- # If the GENERATE_HTML tag is set to YES (the default) Doxygen will # generate HTML output. GENERATE_HTML = YES # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `html' will be used as the default path. HTML_OUTPUT = html # The HTML_FILE_EXTENSION tag can be used to specify the file extension for # each generated HTML page (for example: .htm,.php,.asp). If it is left blank # doxygen will generate files with .html extension. HTML_FILE_EXTENSION = .html # The HTML_HEADER tag can be used to specify a personal HTML header for # each generated HTML page. If it is left blank doxygen will generate a # standard header. HTML_HEADER = # The HTML_FOOTER tag can be used to specify a personal HTML footer for # each generated HTML page. If it is left blank doxygen will generate a # standard footer. HTML_FOOTER = # The HTML_STYLESHEET tag can be used to specify a user-defined cascading # style sheet that is used by each HTML page. It can be used to # fine-tune the look of the HTML output. If the tag is left blank doxygen # will generate a default style sheet. Note that doxygen will try to copy # the style sheet file to the HTML output directory, so don't put your own # stylesheet in the HTML output directory as well, or it will be erased! HTML_STYLESHEET = # If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, # files or namespaces will be aligned in HTML using tables. If set to # NO a bullet list will be used. HTML_ALIGN_MEMBERS = YES # If the GENERATE_HTMLHELP tag is set to YES, additional index files # will be generated that can be used as input for tools like the # Microsoft HTML help workshop to generate a compressed HTML help file (.chm) # of the generated HTML documentation. GENERATE_HTMLHELP = NO # If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can # be used to specify the file name of the resulting .chm file. You # can add a path in front of the file if the result should not be # written to the html output directory. CHM_FILE = # If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can # be used to specify the location (absolute path including file name) of # the HTML help compiler (hhc.exe). If non-empty doxygen will try to run # the HTML help compiler on the generated index.hhp. HHC_LOCATION = # If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag # controls if a separate .chi index file is generated (YES) or that # it should be included in the master .chm file (NO). GENERATE_CHI = NO # If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag # controls whether a binary table of contents is generated (YES) or a # normal table of contents (NO) in the .chm file. BINARY_TOC = NO # The TOC_EXPAND flag can be set to YES to add extra items for group members # to the contents of the HTML help documentation and to the tree view. TOC_EXPAND = NO # The DISABLE_INDEX tag can be used to turn on/off the condensed index at # top of each HTML page. The value NO (the default) enables the index and # the value YES disables it. DISABLE_INDEX = NO # This tag can be used to set the number of enum values (range [1..20]) # that doxygen will group on one line in the generated HTML documentation. ENUM_VALUES_PER_LINE = 4 # If the GENERATE_TREEVIEW tag is set to YES, a side panel will be # generated containing a tree-like index structure (just like the one that # is generated for HTML Help). For this to work a browser that supports # JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, # Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are # probably better off using the HTML help feature. GENERATE_TREEVIEW = YES # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be # used to set the initial width (in pixels) of the frame in which the tree # is shown. TREEVIEW_WIDTH = 250 #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will # generate Latex output. GENERATE_LATEX = YES # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `latex' will be used as the default path. LATEX_OUTPUT = latex # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be # invoked. If left blank `latex' will be used as the default command name. LATEX_CMD_NAME = latex # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to # generate index for LaTeX. If left blank `makeindex' will be used as the # default command name. MAKEINDEX_CMD_NAME = makeindex # If the COMPACT_LATEX tag is set to YES Doxygen generates more compact # LaTeX documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_LATEX = NO # The PAPER_TYPE tag can be used to set the paper type that is used # by the printer. Possible values are: a4, a4wide, letter, legal and # executive. If left blank a4wide will be used. PAPER_TYPE = a4wide # The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX # packages that should be included in the LaTeX output. EXTRA_PACKAGES = # The LATEX_HEADER tag can be used to specify a personal LaTeX header for # the generated latex document. The header should contain everything until # the first chapter. If it is left blank doxygen will generate a # standard header. Notice: only use this tag if you know what you are doing! LATEX_HEADER = # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated # is prepared for conversion to pdf (using ps2pdf). The pdf file will # contain links (just like the HTML output) instead of page references # This makes the output suitable for online browsing using a pdf viewer. PDF_HYPERLINKS = YES # If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of # plain latex in the generated Makefile. Set this option to YES to get a # higher quality PDF documentation. USE_PDFLATEX = YES # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. # command to the generated LaTeX files. This will instruct LaTeX to keep # running if errors occur, instead of asking the user for help. # This option is also used when generating formulas in HTML. LATEX_BATCHMODE = NO # If LATEX_HIDE_INDICES is set to YES then doxygen will not # include the index chapters (such as File Index, Compound Index, etc.) # in the output. LATEX_HIDE_INDICES = NO #--------------------------------------------------------------------------- # configuration options related to the RTF output #--------------------------------------------------------------------------- # If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output # The RTF output is optimized for Word 97 and may not look very pretty with # other RTF readers or editors. GENERATE_RTF = NO # The RTF_OUTPUT tag is used to specify where the RTF docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `rtf' will be used as the default path. RTF_OUTPUT = rtf # If the COMPACT_RTF tag is set to YES Doxygen generates more compact # RTF documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_RTF = NO # If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated # will contain hyperlink fields. The RTF file will # contain links (just like the HTML output) instead of page references. # This makes the output suitable for online browsing using WORD or other # programs which support those fields. # Note: wordpad (write) and others do not support links. RTF_HYPERLINKS = NO # Load stylesheet definitions from file. Syntax is similar to doxygen's # config file, i.e. a series of assignments. You only have to provide # replacements, missing definitions are set to their default value. RTF_STYLESHEET_FILE = # Set optional variables used in the generation of an rtf document. # Syntax is similar to doxygen's config file. RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- # If the GENERATE_MAN tag is set to YES (the default) Doxygen will # generate man pages GENERATE_MAN = NO # The MAN_OUTPUT tag is used to specify where the man pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `man' will be used as the default path. MAN_OUTPUT = man # The MAN_EXTENSION tag determines the extension that is added to # the generated man pages (default is the subroutine's section .3) MAN_EXTENSION = .3 # If the MAN_LINKS tag is set to YES and Doxygen generates man output, # then it will generate one additional man file for each entity # documented in the real man page(s). These additional files # only source the real man page, but without them the man command # would be unable to find the correct page. The default is NO. MAN_LINKS = NO #--------------------------------------------------------------------------- # configuration options related to the XML output #--------------------------------------------------------------------------- # If the GENERATE_XML tag is set to YES Doxygen will # generate an XML file that captures the structure of # the code including all documentation. GENERATE_XML = NO # The XML_OUTPUT tag is used to specify where the XML pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `xml' will be used as the default path. XML_OUTPUT = xml # The XML_SCHEMA tag can be used to specify an XML schema, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_SCHEMA = # The XML_DTD tag can be used to specify an XML DTD, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_DTD = # If the XML_PROGRAMLISTING tag is set to YES Doxygen will # dump the program listings (including syntax highlighting # and cross-referencing information) to the XML output. Note that # enabling this will significantly increase the size of the XML output. XML_PROGRAMLISTING = YES #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- # If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will # generate an AutoGen Definitions (see autogen.sf.net) file # that captures the structure of the code including all # documentation. Note that this feature is still experimental # and incomplete at the moment. GENERATE_AUTOGEN_DEF = NO #--------------------------------------------------------------------------- # configuration options related to the Perl module output #--------------------------------------------------------------------------- # If the GENERATE_PERLMOD tag is set to YES Doxygen will # generate a Perl module file that captures the structure of # the code including all documentation. Note that this # feature is still experimental and incomplete at the # moment. GENERATE_PERLMOD = NO # If the PERLMOD_LATEX tag is set to YES Doxygen will generate # the necessary Makefile rules, Perl scripts and LaTeX code to be able # to generate PDF and DVI output from the Perl module output. PERLMOD_LATEX = NO # If the PERLMOD_PRETTY tag is set to YES the Perl module output will be # nicely formatted so it can be parsed by a human reader. This is useful # if you want to understand what is going on. On the other hand, if this # tag is set to NO the size of the Perl module output will be much smaller # and Perl will parse it just the same. PERLMOD_PRETTY = YES # The names of the make variables in the generated doxyrules.make file # are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. # This is useful so different doxyrules.make files included by the same # Makefile don't overwrite each other's variables. PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the preprocessor #--------------------------------------------------------------------------- # If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will # evaluate all C-preprocessor directives found in the sources and include # files. ENABLE_PREPROCESSING = YES # If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro # names in the source code. If set to NO (the default) only conditional # compilation will be performed. Macro expansion can be done in a controlled # way by setting EXPAND_ONLY_PREDEF to YES. MACRO_EXPANSION = YES # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES # then the macro expansion is limited to the macros specified with the # PREDEFINED and EXPAND_AS_DEFINED tags. EXPAND_ONLY_PREDEF = NO # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files # in the INCLUDE_PATH (see below) will be search if a #include is found. SEARCH_INCLUDES = YES # The INCLUDE_PATH tag can be used to specify one or more directories that # contain include files that are not input files but should be processed by # the preprocessor. INCLUDE_PATH = /usr/include # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard # patterns (like *.h and *.hpp) to filter out the header-files in the # directories. If left blank, the patterns specified with FILE_PATTERNS will # be used. INCLUDE_FILE_PATTERNS = # The PREDEFINED tag can be used to specify one or more macro names that # are defined before the preprocessor is started (similar to the -D option of # gcc). The argument of the tag is a list of macros of the form: name # or name=definition (no spaces). If the definition and the = are # omitted =1 is assumed. To prevent a macro definition from being # undefined via #undef or recursively expanded use the := operator # instead of the = operator. PREDEFINED = # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then # this tag can be used to specify a list of macro names that should be expanded. # The macro definition that is found in the sources will be used. # Use the PREDEFINED tag if you want to use a different macro definition. EXPAND_AS_DEFINED = # If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then # doxygen's preprocessor will remove all function-like macros that are alone # on a line, have an all uppercase name, and do not end with a semicolon. Such # function macros are typically used for boiler-plate code, and will confuse # the parser if not removed. SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- # Configuration::additions related to external references #--------------------------------------------------------------------------- # The TAGFILES option can be used to specify one or more tagfiles. # Optionally an initial location of the external documentation # can be added for each tagfile. The format of a tag file without # this location is as follows: # TAGFILES = file1 file2 ... # Adding location for the tag files is done as follows: # TAGFILES = file1=loc1 "file2 = loc2" ... # where "loc1" and "loc2" can be relative or absolute paths or # URLs. If a location is present for each tag, the installdox tool # does not have to be run to correct the links. # Note that each tag file must have a unique name # (where the name does NOT include the path) # If a tag file is not located in the directory in which doxygen # is run, you must also specify the path to the tagfile here. TAGFILES = # When a file name is specified after GENERATE_TAGFILE, doxygen will create # a tag file that is based on the input files it reads. GENERATE_TAGFILE = # If the ALLEXTERNALS tag is set to YES all external classes will be listed # in the class index. If set to NO only the inherited external classes # will be listed. ALLEXTERNALS = NO # If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed # in the modules index. If set to NO, only the current project's groups will # be listed. EXTERNAL_GROUPS = YES # The PERL_PATH should be the absolute path and name of the perl script # interpreter (i.e. the result of `which perl'). PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- # Configuration options related to the dot tool #--------------------------------------------------------------------------- # If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will # generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base # or super classes. Setting the tag to NO turns the diagrams off. Note that # this option is superseded by the HAVE_DOT option below. This is only a # fallback. It is recommended to install and use dot, since it yields more # powerful graphs. CLASS_DIAGRAMS = YES # If set to YES, the inheritance and collaboration graphs will hide # inheritance and usage relations if the target is undocumented # or is not a class. HIDE_UNDOC_RELATIONS = YES # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is # available from the path. This tool is part of Graphviz, a graph visualization # toolkit from AT&T and Lucent Bell Labs. The other options in this section # have no effect if this option is set to NO (the default) HAVE_DOT = YES # If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect inheritance relations. Setting this tag to YES will force the # the CLASS_DIAGRAMS tag to NO. CLASS_GRAPH = YES # If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect implementation dependencies (inheritance, containment, and # class references variables) of the class with other documented classes. COLLABORATION_GRAPH = YES # If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen # will generate a graph for groups, showing the direct groups dependencies GROUP_GRAPHS = YES # If the UML_LOOK tag is set to YES doxygen will generate inheritance and # collaboration diagrams in a style similar to the OMG's Unified Modeling # Language. UML_LOOK = YES # If set to YES, the inheritance and collaboration graphs will show the # relations between templates and their instances. TEMPLATE_RELATIONS = NO # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT # tags are set to YES then doxygen will generate a graph for each documented # file showing the direct and indirect include dependencies of the file with # other documented files. INCLUDE_GRAPH = YES # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and # HAVE_DOT tags are set to YES then doxygen will generate a graph for each # documented header file showing the documented files that directly or # indirectly include this file. INCLUDED_BY_GRAPH = YES # If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will # generate a call dependency graph for every global function or class method. # Note that enabling this option will significantly increase the time of a run. # So in most cases it will be better to enable call graphs for selected # functions only using the \callgraph command. CALL_GRAPH = YES # If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen # will graphical hierarchy of all classes instead of a textual one. GRAPHICAL_HIERARCHY = YES # If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES # then doxygen will show the dependencies a directory has on other directories # in a graphical way. The dependency relations are determined by the #include # relations between the files in the directories. DIRECTORY_GRAPH = YES # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images # generated by dot. Possible values are png, jpg, or gif # If left blank png will be used. DOT_IMAGE_FORMAT = png # The tag DOT_PATH can be used to specify the path where the dot tool can be # found. If left blank, it is assumed the dot tool can be found in the path. DOT_PATH = # The DOTFILE_DIRS tag can be used to specify one or more directories that # contain dot files that are included in the documentation (see the # \dotfile command). DOTFILE_DIRS = # The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width # (in pixels) of the graphs generated by dot. If a graph becomes larger than # this value, doxygen will try to truncate the graph, so that it fits within # the specified constraint. Beware that most browsers cannot cope with very # large images. MAX_DOT_GRAPH_WIDTH = 1024 # The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height # (in pixels) of the graphs generated by dot. If a graph becomes larger than # this value, doxygen will try to truncate the graph, so that it fits within # the specified constraint. Beware that most browsers cannot cope with very # large images. MAX_DOT_GRAPH_HEIGHT = 1024 # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the # graphs generated by dot. A depth value of 3 means that only nodes reachable # from the root by following a path via at most 3 edges will be shown. Nodes # that lay further from the root node will be omitted. Note that setting this # option to 1 or 2 may greatly reduce the computation time needed for large # code bases. Also note that a graph may be further truncated if the graph's # image dimensions are not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH # and MAX_DOT_GRAPH_HEIGHT). If 0 is used for the depth value (the default), # the graph is not depth-constrained. MAX_DOT_GRAPH_DEPTH = 0 # Set the DOT_TRANSPARENT tag to YES to generate images with a transparent # background. This is disabled by default, which results in a white background. # Warning: Depending on the platform used, enabling this option may lead to # badly anti-aliased labels on the edges of a graph (i.e. they become hard to # read). DOT_TRANSPARENT = YES # Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output # files in one run (i.e. multiple -o and -T options on the command line). This # makes dot run faster, but since only newer versions of dot (>1.8.10) # support this, this feature is disabled by default. DOT_MULTI_TARGETS = NO # If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will # generate a legend page explaining the meaning of the various boxes and # arrows in the dot generated graphs. GENERATE_LEGEND = YES # If the DOT_CLEANUP tag is set to YES (the default) Doxygen will # remove the intermediate dot files that are used to generate # the various graphs. DOT_CLEANUP = YES #--------------------------------------------------------------------------- # Configuration::additions related to the search engine #--------------------------------------------------------------------------- # The SEARCHENGINE tag specifies whether or not a search engine should be # used. If set to NO the values of all tags below this one will be ignored. SEARCHENGINE = YES geda-gaf-1.8.2/gnetlist/docs/gnetlist.html0000664000175000017500000003716312220655760015417 00000000000000 gnetlist

    gnetlist

    NAME
    SYNOPSIS
    DESCRIPTION
    GENERAL OPTIONS
    BACKENDS
    EXAMPLES
    ENVIRONMENT
    AUTHORS
    COPYRIGHT
    SEE ALSO

    NAME

    gnetlist - gEDA/gaf Netlist Extraction and Generation

    SYNOPSIS

    gnetlist [OPTION ...] [-g BACKEND] [--] FILE ...

    DESCRIPTION

    gnetlist is a netlist extraction and generation tool, and is part of the gEDA (GPL Electronic Design Automation) toolset. It takes one or electronic schematics as input, and outputs a netlist. A netlist is a machine-interpretable description of the way that components in an electronic circuit are connected together, and is commonly used as the input to a PCB layout program such as pcb(1) or to a simulator such as gnucap(1).

    A normal gnetlist run is carried out in two steps. First, the gnetlist frontend loads the specified human-readable schematic FILEs, and compiles them to an in-memory netlist description. Next, a ‘backend’ is used to export the connection and component data to one of many supported netlist formats.

    gnetlist is extensible, using the Scheme programming language.

    GENERAL OPTIONS

    -q

    Quiet mode. Turns off all warnings/notes/messages.

    -v, --verbose

    Verbose mode. Output all diagnostic information.

    -L DIRECTORY

    Prepend DIRECTORY to the list of directories to be searched for Scheme files.

    -g BACKEND

    Specify the netlist backend to be used.

    -O STRING

    Pass an option string to the backend.

    --list-backends

    Print a list of available netlist backends.

    -o FILE

    Specify the filename for the generated netlist. By default, output is directed to ‘output.net’.

    -l FILE

    Specify a Scheme file to be loaded before the backend is loaded or executed. This option can be specified multiple times.

    -m FILE

    Specify a Scheme file to be loaded between loading the backend and executing it. This option can be specified multiple times.

    -c EXPR

    Specify a Scheme expression to be executed during gnetlist startup. This option can be specified multiple times.

    -i

    After the schematic files have been loaded and compiled, and after all Scheme files have been loaded, but before running the backend, enter a Scheme read-eval-print loop.

    -h, --help

    Print a help message.

    -V, --version

    Print gnetlist version information.

    --

    Treat all remaining arguments as schematic filenames. Use this if you have a schematic filename which begins with ‘-’.

    BACKENDS

    Currently, gnetlist includes the following backends:

    allegro

    Allegro netlist format.

    bae

    Bartels Autoengineer netlist format.

    bom, bom2

    Bill of materials generation.

    calay

    Calay netlist format.

    cascade

    RF Cascade netlist format

    drc, drc2

    Design rule checkers (drc2 is recommended).

    eagle

    Eagle netlist format.

    ewnet

    Netlist format for National Instruments ULTIboard layout tool.

    futurenet2

    Futurenet2 netlist format.

    geda

    Native gEDA netlist format (mainly used for testing and diagnostics).

    gossip

    Gossip netlist format.

    gsch2pcb

    Backend used for pcb(1) file layout generation by gsch2pcb(1). It is not recommended to use this backend directly.

    liquidpcb

    LiquidPCB netlist format.

    mathematica

    Netlister for analytical circuit solving using Mathematica.

    maxascii

    MAXASCII netlist format.

    osmond

    Osmond netlist format.

    pads

    PADS netlist format.

    partslist1, partslist2, partslist3

    Bill of materials generation backends (alternatives to bom and bom2).

    PCB

    pcb(1) netlist format.

    pcbpins

    Generates a pcb(1) action file for forward annotating pin/pad names from schematic to layout.

    protelII

    Protel II netlist format.

    redac

    RACAL-REDAC netlist format.

    spice, spice-sdb

    SPICE-compatible netlist format (spice-sdb is recommended). Suitable for use with gnucap(1).

    switcap

    SWITCAP switched capacitor simulator netlist format.

    systemc

    Structural SystemC code generation.

    tango

    Tango netlist format.

    vams

    VHDL-AMS code generation.

    verilog

    Verilog code generation.

    vhdl

    VHDL code generation.

    vipec

    ViPEC Network Analyser netlist format.

    EXAMPLES

    These examples assume that you have a ‘stack_1.sch’ in the current directory.

    gnetlist requires that at least one schematic to be specified on the command line:

    ./gnetlist stack_1.sch

    This is not very useful since it does not direct gnetlist to do
    anything.

    Specify a backend name with ‘−g’ to get gnetlist to output a
    netlist:

    ./gnetlist −g geda stack_1.sch

    The netlist output will be written to a file called ‘output.net’
    in the current working directory.

    You can specify the output filename by using the ‘−o’ option:

    ./gnetlist −g geda stack_1.sch −o /tmp/stack.netlist

    Output will now be directed to ‘/tmp/stack.netlist’.

    You could run (for example) the ‘spice-sdb’ backend against the
    schematic if you specified ‘−g spice-sdb’, or you could generate a
    bill of materials for the schematic using ‘−g partslist1’.

    To obtain a Scheme prompt to run Scheme expressions directly, you can
    use the ‘−i’ option.

    ./gnetlist −i stack_1.sch

    gnetlist will load ‘stack_1.sh’, and then enter an interactive
    Scheme read-eval-print loop.

    ENVIRONMENT

    GEDADATA

    specifies the search directory for Scheme and rc files. The default is ‘${prefix}/share/gEDA’.

    GEDADATARC

    specifies the search directory for rc files. The default is ‘$GEDADATA’.

    AUTHORS

    See the ‘AUTHORS’ file included with this program.

    COPYRIGHT

    Copyright © 1999-2011 gEDA Contributors. License GPLv2+: GNU GPL
    version 2 or later. Please see the ‘COPYING’ file included with this
    program for full details.

    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.

    SEE ALSO

    gschem(1), gsymcheck(1), pcb(1), gnucap(1)


    geda-gaf-1.8.2/gnetlist/docs/logo.png0000664000175000017500000003677612050461155014351 00000000000000PNG  IHDRmSbKGD pHYs  ~tIME&.h IDATx}^}翏{0Iɮ&uu"u$]V.Q!G *h=Ζ.YnDnbZb#uoikL263f9ϝzsGz=9};;/                                            @]I4B+Ai폍*\"Ro &uj%=UbyRN";q꺨]E ! ߕ=D$+ vl\~U]Ie*^m[{i,]ӧm _C:{8eB, n"ǣb#(j/,j-<\L/>qU#/W䗷`(:m qm)?J(J RiuףMqxQHě+%2bx%ELP:₇T,R KOɳZ6;OSUʮ"H@M6]1{0)lIҖh' .0D!ۮ!?0NqD{'u`y;tqlyKxP4e\SVad mIsl|[*ZWG !-1"(lŅqUpʒ&.?[gWU>11"`m!?̒bQw1X,,ܛ| UЪJΥ*dqM/ƱmĀ8H#rL&u UY%m w+Ҷw٧VlĄ)/]\86%;UCp [|}^خ} ob}DEk 4 =|״pq$^Yc?&2EFڷ<׸.oyykUTyiY:"vlҊt^S孫]jEM~|*0Z.}( :\-.-0i7#Ir PWd(OV]3MzO/i˥6itWɵ&kst$MCڴ6WUFmG7{Y<Q{7mK*&L,rʡK/B-z/ U,^z7JB.2pX&.Xz?XN=@$BTQɚTdUqtmߒe lʣ6l)KkkƮ|x8YmL.oyٴW5lVB.m=&I۶oԔVo*N؄٦-ɮDH .,ÇfKC.E՜-! d%Ƚ`L\\&0ZK? "CU"eCէ!Y&Wa!o*7$LidqlbŎ 4ik~xeETyTp67]zW1/T2.ENʓL+jH  B8^́ `<x܆ۏ{)0Q |b0E.p"c):bpa+P$MVV\񦤉kڶ]%08YB"Of&]Q"UL5 M]QKk.ot:qg&EP%=_W O6̡dWm& U`ᦼ'`,/o8D>mݛc\7y'l*Pͬ^ 6My1)>|\ Qimil)FزaۦOb# LLL4Uv|Bm^pGEl,DGxϥh{2se{!uÛ`SɻVipQžk%^!T\ Y "DnSV[n;r5_]2qtv| 3kqc.0zZv^ ~~2`p(2+[E0bG.p64Eڋo`Y"$|u' Hؤd /c:Vs9E U`p/F ތ~a[Cæ#PőųaKcFd,L9y<"i!}yrxG0[cc?0 'U<ы;y?֏v |1LpobfL* "2Laqmy+N,H며GRfYu+.>eEIPS7GD"!LVgM!4,:߮^t$UKk",l|'A|*΢7Ǧ&!+Lēɋd+`d۪vhي [O*n/JlsSɺhE9$D!OV! qIz/DaWsm|St| M8$b*^"Ia/i~sm~=LbƔN7U}]LA UQ9B:Ʒe"V\Ui=><}q>"rB 4xY ݛ}7 ;0'CW'M! ɰd|Hg*]*"TB+{h!)[pr_\]Mc'KP{%Tu(I̞l?uUWx0*\]OzI^e 񿦥JhCUN%7G|Ӈk"AH? 匹y"))/k3rR1XILM$*DwCX"+r ?K~%Eǐe폑D¦XhYdd39ۢ&tk]5vCC)Q_/C8Ni4qOB!LzB; 0ҐA&ʥh-5tg޶W?h!Q~l#1CDŽA^ =xBCgqU^7wXWVa(02o 8=O)/NG ~@#YEι*{6&0\~BưGSǙD<$p,fM6M,{f ^-`j smy躛*5[;UNy4dz*Ƕ0B j` e|hźdȥA,o3-#ؾdV`LO ݋lFkЮg"@Ϳqoz,Z_ON'OǎPW6,N2hdKo]ɛoƶ)Ϧ庍d/[<8Nk'Zεζ6[Q90Xܲa#0Ljr%kFػؽ8z8s3_ Yi_;v/2a00.: 0H\Y;W'O8mߞOC_dϲi7tl1쩧ԙLL\ux6bB*0f]g@l[G\ !0>,;|$r$p>PD=ƍl)`t8sfX 0j5|)лop luZ&F'g;w^B#V`@^ҩ)`hH5-Z`7AEb`|-.&'^/.曙wVy)[eey 訷4Vұ Jgpؾx-`l EqY\޲,zdK~{UM`؜X1+Wbكl. m {o;{>,IQ9ۺRQ `xx/ _(^lݚ 9bLL`vb >;l?^g k_Ao7c`K7mjn'}N[PJ=$>LUrVLnX #[̓M'2RcWS=42߱Wu)+Q*֤aiSI֭IᇍyiSú >&''|Ka1{0r\V2>j) p .LMIG$n]{iB=AGk[O>:x׀;tBo˝wop$D,0ڹRFG#%oFnE}GHL! Vٳh<\Æ7agaCC߰aaxN,ﳙiڋX鬣媫om* dt?ݻa'OzqV&$_ C ^xl % LNK/ɍ:{z-Ki ?9~f}e _;FbnK~cNO>DxKXD孌߮dl m*QyY<7}}$Y_.tu‰E`JԡClN#G| 9wݥaO(2= d`&rw*"zq^{} m^S|'fӖMg#G 19q>}cc9siԨ&zE`vu^2Y֭H?Y,Oeq1 q_drraU3I?D 08Etĉ8$[`ӤANnлGjI۶l{w] ey{FsV3{R $ /|P$0 G|}l܁M[EZ0< 8UdǏc\_-gfХ$edHB űs'03ƀMԔFddK<~ۡ9RV^ymZhYŦO#G^ }7ر/TsjS^ªDXy>[MMةin`jhfor%O&#ǃ_20UI6eg? |-SbB =B|r)ߛo׬IoS5I{/ߧK#i t͂m5?8n@֡?`m )=65β${2f©w3&=ׇ>ǁOBhMPy1"0r;>੧7ѿy37l@M۶ }ŪU#i_=ElG,J.wyMDu###K{|책$'N x#2ra"Юt܋u 09]CC=M_ϨJ=BLlȪMM}o =ܵGl8ϡCCøI`T#8z*h̛|kٰ陧;L @LeVРm LO{vd uƙa{k!Ψ*i4˱~_޲ wc`,P28(8|PnF:MNb@o2\ebp}7. >+:: ^sy ۪ۓ &?qZUeӆwM6x{9ґ-X)WS`B7I"*vf*N"36&^z 7px3I`m>hy7[ە*0ʢbp\P^Ps_~ b_7!iQU* 4|x(ijưiᴚIɼ7>Ѓ_U'>>(zYh"$,$>So?>]b@6!ցlHȖ(afA>s[3P `F5 6]*ȃA˲ _`^WˀXR>m^rJ}jhjkdV`W* FEqUH9`}3np#,T^-˿nϓwIǍQ>8(qF$i4pn~,5_*.k4=}6P* T({1 .@HSB? 8=kFtZ2SϷUQYHXKdBpf}nM~0=mt]cؘ|߳ϲQ@YwDne4n+\F` e]5H fۨdSjǪU~恐ͱAC\}ц"pf~`z{lšn #Yd nɓ 7[_/Åz]=ͨY0^|ΆjȁEf9uعy i Q>]wu=3}ʒ˒ǎ?h&>ܕQ("?|j[y&KkqMА_Yt3A/ ]q#ח7gK0WBO=`vMӸOOl2T ziI04H`t't#q wr&<`S:^/ot@%'@]ul&&쾨sj~G8Ghb:J≡D<v- ٻW#L(;oQ9Էm~˾ Rup0<T3IWRAqcZĄdk_s74oe/CQ?vLS򗁓'[$j//]*Q $0LBcC OMʕY=܃=> <>$vl4~G8V5МTA`gIDATLkD<`Mo|zسǮddx5>i6Z;ӿo4X$YzT?w< 8{_}FFXu|I{<|tf2 x_R X=9ӪU3=lu׵ӝ:S l\aPyN{5 :PVei~RkWjo ><?1  WJdcrV!DjH3j8iG~cFkGӗ;jQA(k.@~<|-[ 6z|)Ȼg<\..FGxdDoe2=FGݛIg[׭(ܹͰYٳD 'ܘfsuOh=..G'NBrڢN|:z$a]WTcg]w҈jԹ9z!;.tޚ6q?oap7+_}Gds6/|K'ر?[>O&&n/u4cǟx!:'O^cn@@6e]pǏv8ZG?~eIRw|뿋+8g;?;5+ `[;¨q' 50X,p9X?`aW]`)ŭeQN m/M+n#fYJ8XM.Hq iGІYةSa6:i3 zƇ]lH)LZw)$Gݶ$idzvQX\h-Y< Xee/C#c9TMTj#BGeXYyN^&n\:?H`t'$B#ӫXR.0T" ;lU n?_,9o*ȱ67o&"* "l.@r';w*lナaTzW|nJeLX%)w[.c7 lظX~ax9Z2cH7 "& VY '"m֭s72v*>;;w. ׁ?C:lʆ:wI#-EGFHyTƝ O? ~)f!ٰ̓b^GaqiM1zPPNITmF5h `r̖-iZD#=u}k6tFQWy} |NFy0\٨[Rw"'Xg'$ճҷ'vJyB:!;}})Vua؆ʍq$pcNi_%q9<ҔUr,Rj3ڍ}e>K{e8fgGe_|a=ff(Ykc^Z>Ɠspٽ`M:edLV*MeΜ kְ+VΟ{폞;V~1cecxmEUq9Y&2"bU[3y0^.,p,~zp%*w"]s,0:яܷM񋿸O.Z +xKR>9?J. ]Sx&r %V|Soֲt!4O_{~rbTpYtmHT(?pB(X 땆 dߴ Mk6kEf?P"g}a> AW!Ii-UJ o nI:SVv1m4 6!n$mjuxxNaPKN&\/߃bF?': @q"|r%d;T@YTbL aeC.+]̈hG~f<2j*?S>W.H; h\6ŷ[ BB̻1 I`ЌD8jV~l;e =Kisiuh*W%N>#,};  KGK_Yo*b*<Uapk9_+ 6edkyEHuiv=f{ PlzIY\[K֯7}==_\ SS]Gbi&fy*Qvn̫ :9w Dmߞ- "׻ٝɓhKwwhgr%!H2PWycFsq[X:QysvrҕrSTF$"+2A֙7#Ob2]L>2\Nc;v>Z s5=ĚI``x9`&71:Qb t0G0Mgi4071;1f w/ YʕZQ[O=L^AO2~$Xf"|4BQ/:&iWLBUO2bہC[Q`R{;t3A of\ώ$4ZT]`ȣShnMo7qq08hn*Y=l}b8~t銛(*y/ʤEn9^Y`t݉>qs~i3W$kְ>IHF,hU3ٴ,l&3ѽ(y$o|z4dTV#m/a06:/ I6oA*/j~AQoDƏd_/iyu$b={qx3_Q*|#͛*z/R}L4}"6r-NK?>asZ<ʕ_kgG,3L`=x]WyP*{-&0ɛիo,(m)9ei&&}08$u6bdݺ;x.ؿ57p=0sɹ"2~pWFvzi e8biaqjuUKln[61 ,{y¦.PkI',YQǀ5k/} s2q0b[^pD!$%ry#.bm ˖jz<+,phm =-{"㲮 2ػgVBB)/17Yyf.c#vڸ}ME .p.w3A+Melb`}*+VS}ݹGyN+|u# ]`0MڼQzWtHe!y5m$~i %(]`(M Hb VU/Dy3|C}uo{BI`t{eWZC+ǘ/Y^$ç׵^*bᢰ.su$@.ld尉/ MjG.MZ}Zy3e?l)߅m %ϦffrvEGK=1y0Dt E*" :h> t.ĸLbICE-V$!пMIދ ~(ExHl%&b$m$GT$eKRb/M~Em"&5JPUh> ]Ӆm\YSH@HB;c܈qtl=@):̛h1[HM#(0J]7H7",TeBV_],M't8T$D b+g0]GAFy)d7֓ge+O:tbۦ,(R<.i} ^ W/C>gWOEU2n~ź-(0B:O\k} OoZi/ aC?K\EpocLjSNV{2zUؔ6</ok|aSl6.ie`J vQ/~CieK@xC|ē:/,s>zm!q]CY`ĀJd&۶vUaqM4>mV*EV^!_Ϸ~i]+q> B2W&t\*~S|`MD "CaS,i$4!$F'hLXE[H\iTdڧ]g&,j5ti Hm"m*uS&@U&.@0I6O$= _Ѷdzkk^ Q`DOCvDLkmqEhWIO#W#7"rTtv*Fv]⤉D _"<EM&K.vmIlT|u6bcmA\hrx̣Q'w~C[8` `g 訣 ,IzFllƶzҦms;KWB.KnڟW,lc˶▥6═ųT)p@bf2LVFY&:_Eq"{6x34TЄ,0\\ryh0Ӷ)k~`aNrVx\=6ݾ4"F2nώ+imȗDK]ċɾMeg]do|Mm|__t^]"V$4'/3n-n2G$P8WuIbZK5$)0X'uUn#d3ٓK1Yf?Og[Fۊڥܪ0RgB4"Fdm6U&i¦l.Eio"+&c>{L\SUry7髼6o.^UE7JFʠK#cS 4Aw-d 1W+bzkMi#w"j &c]қ<(*a6$=&O|؟ Y-.6x c TU_tN_FX VqJT\⾴[U68Mxi6ΎȰ)Ud3a6 Ym˭g dcuSd~ԯ 鑐 Nl؊F'DB σ1+M$FIE.@xDB# lue\j4y ՕŦ [Q"$\weBEimI#~\ⱉR/*,_˞UDMeBT(5(Nㅰˆ2nD\qʈ Qdlڳ ۵ _^M#SVUBd9M%`+΀jooְ t4|peoa)). 2.- Unnamed wires are eliminated. 3.- In/out ports have to be inserted manually in the sysc code. 4.- Duplicated include headers are not eliminated by the backend. 5.- The maximum number of object constructor parameters is 31 (attr1->attr31). LINKS: GPL Electronic Design Automation (geda-gnetlist): http://www.geda-project.org/ SystemC: http://www.systemc.org ACK: Based on gnet-verilog.scm by Mike Jarabek. EXAMPLE: Schematic: src1 alg1 snk1 ______________ _______________ _______________ | source | a | algorithm | b | sink | | OUT|__ _________ __|IN OUT|__ _____ __|IN | | | | | | | | infile.data| | | | outfile.data| |____________| |_____________| |_____________| Attributes: Schematic: module_name=test_sch2sysc Wires: netname=a netname=b Symbols: refdes=src1 attr1=infile.data refdes=alg1 refdes=snk1 attr1=outfile.data refdes=pina refdes=pinb SystemC: #include "systemc.h" #include "sink.h" #include "source.h" #include "algorithm.h" SC_MODULE (test_sch2sysc) { /* Port directions begin here */ /* Wires from the design */ sc_signal b; sc_signal a; /* Package instantiations */ sink snk1; source src1; algorithm alg1; SC_CTOR(test_sch2sysc): snk1("snk1","outfile.data"), src1("src1","infile.data"), alg1("alg1") { snk1.IN(b); src1.OUT(a); alg1.IN(a); alg1.OUT(b); } }; geda-gaf-1.8.2/gnetlist/docs/vams/0000775000175000017500000000000012220655760013714 500000000000000geda-gaf-1.8.2/gnetlist/docs/vams/Makefile.am0000664000175000017500000000051212050461155015660 00000000000000 EXTRA_DIST = content.txt syntax_architecture.txt syntax_entity.txt \ vams_mode.txt docsreadmedir = $(docdir)/readmes docsreadme_DATA = vams_mode.txt syntax_architecture.txt syntax_entity.txt MOSTLYCLEANFILES = *.log *~ CLEANFILES = *.log *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log *~ Makefile.in geda-gaf-1.8.2/gnetlist/docs/vams/syntax_entity.txt0000664000175000017500000000062312050461155017312 00000000000000LIBRARY {,}; USE {,}; ENTITY IS [GENERIC ( : REAL := {; : REAL := }); ] [PORT ( : [] {; : [] });] END ENTITY; geda-gaf-1.8.2/gnetlist/docs/vams/Makefile.in0000664000175000017500000004463512220655722015713 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = gnetlist/docs/vams DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/geda-assert.m4 $(top_srcdir)/m4/geda-awk.m4 \ $(top_srcdir)/m4/geda-data-dirs.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-libgeda.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/glibc2.m4 $(top_srcdir)/m4/glibc21.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intdiv0.m4 \ $(top_srcdir)/m4/intl.m4 $(top_srcdir)/m4/intmax.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longdouble.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/pcb-data-dirs.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(docsreadmedir)" DATA = $(docsreadme_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GEDADATADIR = @GEDADATADIR@ GEDARCDIR = @GEDARCDIR@ GENCAT = @GENCAT@ GETTEXT = @GETTEXT@ GIT = @GIT@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ KDEDATADIR = @KDEDATADIR@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBGEDA_GETTEXT_DOMAIN = @LIBGEDA_GETTEXT_DOMAIN@ LIBGEDA_SHLIB_VERSION = @LIBGEDA_SHLIB_VERSION@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ WOE32DLL = @WOE32DLL@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = content.txt syntax_architecture.txt syntax_entity.txt \ vams_mode.txt docsreadmedir = $(docdir)/readmes docsreadme_DATA = vams_mode.txt syntax_architecture.txt syntax_entity.txt MOSTLYCLEANFILES = *.log *~ CLEANFILES = *.log *~ DISTCLEANFILES = *.log core FILE *~ MAINTAINERCLEANFILES = *.log *~ Makefile.in all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gnetlist/docs/vams/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu gnetlist/docs/vams/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-docsreadmeDATA: $(docsreadme_DATA) @$(NORMAL_INSTALL) @list='$(docsreadme_DATA)'; test -n "$(docsreadmedir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(docsreadmedir)'"; \ $(MKDIR_P) "$(DESTDIR)$(docsreadmedir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docsreadmedir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(docsreadmedir)" || exit $$?; \ done uninstall-docsreadmeDATA: @$(NORMAL_UNINSTALL) @list='$(docsreadme_DATA)'; test -n "$(docsreadmedir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(docsreadmedir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(docsreadmedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-docsreadmeDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-docsreadmeDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am \ install-docsreadmeDATA install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am uninstall-docsreadmeDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geda-gaf-1.8.2/gnetlist/docs/vams/syntax_architecture.txt0000664000175000017500000000060012050461155020453 00000000000000ARCHITECTURE OF IS { : subnet-kind;} BEGIN {